From 54f24930180861cf649c0f05669e9e9dc1a7bb7d Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Tue, 28 Nov 2017 14:53:44 -0700 Subject: [PATCH 001/675] Added ReductionView to Kokkos ReaxFF --- src/KOKKOS/fix_qeq_reax_kokkos.cpp | 74 ++++++------- src/KOKKOS/fix_qeq_reax_kokkos.h | 3 + src/KOKKOS/pair_kokkos.h | 15 ++- src/KOKKOS/pair_reaxc_kokkos.cpp | 169 +++++++++++++++++++++++------ src/KOKKOS/pair_reaxc_kokkos.h | 11 ++ 5 files changed, 199 insertions(+), 73 deletions(-) diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index 5d2f6a0438..764b2f9191 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -254,12 +254,18 @@ void FixQEqReaxKokkos::pre_force(int vflag) k_t.template modify(); k_t.template sync(); + if (neighflag != FULL) + red_o = Kokkos::Experimental::create_reduction_view<> (k_o.d_view); // allocate duplicated memory + // 1st cg solve over b_s, s cg_solve1(); // 2nd cg solve over b_t, t cg_solve2(); + if (neighflag != FULL) + red_o = decltype(red_o)(); // free duplicated memory + // calculate_Q(); calculate_q(); @@ -494,13 +500,9 @@ void FixQEqReaxKokkos::cg_solve1() Kokkos::parallel_for(inum,sparse12_functor); if (neighflag != FULL) { Kokkos::parallel_for(Kokkos::RangePolicy(nlocal,nlocal+atom->nghost),*this); - if (neighflag == HALF) { - FixQEqReaxKokkosSparse13Functor sparse13_functor(this); - Kokkos::parallel_for(inum,sparse13_functor); - } else { - FixQEqReaxKokkosSparse13Functor sparse13_functor(this); - Kokkos::parallel_for(inum,sparse13_functor); - } + FixQEqReaxKokkosSparse13Functor sparse13_functor(this); + Kokkos::parallel_for(inum,sparse13_functor); + Kokkos::Experimental::contribute(k_o.d_view, red_o); } else { Kokkos::parallel_for(Kokkos::TeamPolicy (inum, teamsize), *this); } @@ -548,18 +550,14 @@ void FixQEqReaxKokkos::cg_solve1() Kokkos::parallel_for(inum,sparse22_functor); if (neighflag != FULL) { Kokkos::parallel_for(Kokkos::RangePolicy(nlocal,nlocal+atom->nghost),*this); - if (neighflag == HALF) { - FixQEqReaxKokkosSparse23Functor sparse23_functor(this); - Kokkos::parallel_for(inum,sparse23_functor); - } else { - FixQEqReaxKokkosSparse23Functor sparse23_functor(this); - Kokkos::parallel_for(inum,sparse23_functor); - } + red_o.reset_except(d_o); + FixQEqReaxKokkosSparse23Functor sparse23_functor(this); + Kokkos::parallel_for(inum,sparse23_functor); + Kokkos::Experimental::contribute(k_o.d_view, red_o); } else { Kokkos::parallel_for(Kokkos::TeamPolicy (inum, teamsize), *this); } - if (neighflag != FULL) { k_o.template modify(); k_o.template sync(); @@ -625,13 +623,10 @@ void FixQEqReaxKokkos::cg_solve2() Kokkos::parallel_for(inum,sparse32_functor); if (neighflag != FULL) { Kokkos::parallel_for(Kokkos::RangePolicy(nlocal,nlocal+atom->nghost),*this); - if (neighflag == HALF) { - FixQEqReaxKokkosSparse33Functor sparse33_functor(this); - Kokkos::parallel_for(inum,sparse33_functor); - } else { - FixQEqReaxKokkosSparse33Functor sparse33_functor(this); - Kokkos::parallel_for(inum,sparse33_functor); - } + red_o.reset_except(d_o); + FixQEqReaxKokkosSparse33Functor sparse33_functor(this); + Kokkos::parallel_for(inum,sparse33_functor); + Kokkos::Experimental::contribute(k_o.d_view, red_o); } else { Kokkos::parallel_for(Kokkos::TeamPolicy (inum, teamsize), *this); } @@ -679,13 +674,10 @@ void FixQEqReaxKokkos::cg_solve2() Kokkos::parallel_for(inum,sparse22_functor); if (neighflag != FULL) { Kokkos::parallel_for(Kokkos::RangePolicy(nlocal,nlocal+atom->nghost),*this); - if (neighflag == HALF) { - FixQEqReaxKokkosSparse23Functor sparse23_functor(this); - Kokkos::parallel_for(inum,sparse23_functor); - } else { - FixQEqReaxKokkosSparse23Functor sparse23_functor(this); - Kokkos::parallel_for(inum,sparse23_functor); - } + red_o.reset_except(d_o); + FixQEqReaxKokkosSparse23Functor sparse23_functor(this); + Kokkos::parallel_for(inum,sparse23_functor); + Kokkos::Experimental::contribute(k_o.d_view, red_o); } else { Kokkos::parallel_for(Kokkos::TeamPolicy (inum, teamsize), *this); } @@ -797,8 +789,8 @@ template KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse13_item(int ii) const { - // The q array is atomic for Half/Thread neighbor style - Kokkos::View::value> > a_o = d_o; + // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial + auto a_o = red_o.access(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -806,9 +798,9 @@ void FixQEqReaxKokkos::sparse13_item(int ii) const for(int jj = d_firstnbr[i]; jj < d_firstnbr[i] + d_numnbrs[i]; jj++) { const int j = d_jlist(jj); tmp += d_val(jj) * d_s[j]; - a_o[j] += d_val(jj) * d_s[i]; + a_o(j) += d_val(jj) * d_s[i]; } - a_o[i] += tmp; + a_o(i) += tmp; } } @@ -849,8 +841,8 @@ template KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse23_item(int ii) const { - // The q array is atomic for Half/Thread neighbor style - Kokkos::View::value> > a_o = d_o; + // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial + auto a_o = red_o.access(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -858,9 +850,9 @@ void FixQEqReaxKokkos::sparse23_item(int ii) const for(int jj = d_firstnbr[i]; jj < d_firstnbr[i] + d_numnbrs[i]; jj++) { const int j = d_jlist(jj); tmp += d_val(jj) * d_d[j]; - a_o[j] += d_val(jj) * d_d[i]; + a_o(j) += d_val(jj) * d_d[i]; } - a_o[i] += tmp; + a_o(i) += tmp; } } @@ -908,8 +900,8 @@ template KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse33_item(int ii) const { - // The q array is atomic for Half/Thread neighbor style - Kokkos::View::value> > a_o = d_o; + // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial + auto a_o = red_o.access(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -917,9 +909,9 @@ void FixQEqReaxKokkos::sparse33_item(int ii) const for(int jj = d_firstnbr[i]; jj < d_firstnbr[i] + d_numnbrs[i]; jj++) { const int j = d_jlist(jj); tmp += d_val(jj) * d_t[j]; - a_o[j] += d_val(jj) * d_t[i]; + a_o(j) += d_val(jj) * d_t[i]; } - a_o[i] += tmp; + a_o(i) += tmp; } } diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.h b/src/KOKKOS/fix_qeq_reax_kokkos.h index 9014e20b8e..dd7b4073c2 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.h +++ b/src/KOKKOS/fix_qeq_reax_kokkos.h @@ -22,6 +22,7 @@ FixStyle(qeq/reax/kk/host,FixQEqReaxKokkos) #ifndef LMP_FIX_QEQ_REAX_KOKKOS_H #define LMP_FIX_QEQ_REAX_KOKKOS_H +#include #include "fix_qeq_reax.h" #include "kokkos_type.h" #include "neigh_list.h" @@ -192,6 +193,8 @@ class FixQEqReaxKokkos : public FixQEqReax { HAT::t_ffloat_2d h_s_hist, h_t_hist; typename AT::t_ffloat_2d_randomread r_s_hist, r_t_hist; + Kokkos::Experimental::ReductionView red_o; + void init_shielding_k(); void init_hist(); void allocate_matrix(); diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index f0e357270c..c8e926a721 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -19,9 +19,10 @@ #define LMP_PAIR_KOKKOS_H #include "Kokkos_Macros.hpp" +#include "Kokkos_Vectorization.hpp" +#include "Kokkos_ReductionView.hpp" #include "pair.h" #include "neigh_list_kokkos.h" -#include "Kokkos_Vectorization.hpp" namespace LAMMPS_NS { @@ -58,6 +59,18 @@ struct AtomicF { enum {value = Kokkos::Atomic|Kokkos::Unmanaged}; }; +// Determine memory traits for force array +// Do atomic trait when running HALFTHREAD neighbor list style +template +struct AtomicDup { + enum {value = Kokkos::Experimental::ReductionNonAtomic}; +}; + +template<> +struct AtomicDup { + enum {value = Kokkos::Experimental::ReductionAtomic}; +}; + //Specialisation for Neighborlist types Half, HalfThread, Full template struct PairComputeFunctor { diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index d5f83f4537..79d9241ea4 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -711,6 +711,15 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) d_neighbors = k_list->d_neighbors; d_ilist = k_list->d_ilist; + // allocate duplicated memory + if (neighflag != FULL) { + dup_f = Kokkos::Experimental::create_reduction_view<>(f); + dup_eatom = Kokkos::Experimental::create_reduction_view<>(v_eatom); + dup_vatom = Kokkos::Experimental::create_reduction_view<>(v_vatom); + dup_dDeltap_self = Kokkos::Experimental::create_reduction_view<>(d_dDeltap_self); + dup_total_bo = Kokkos::Experimental::create_reduction_view<>(d_total_bo); + } + if (eflag_global) { for (int i = 0; i < 14; i++) pvector[i] = 0.0; @@ -802,7 +811,7 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) if (neighflag == HALF) Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); else if (neighflag == HALFTHREAD) - Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); else //(neighflag == FULL) Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); @@ -817,14 +826,32 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) if (resize_hb) maxhb++; resize = resize_bo || resize_hb; - if (resize) allocate_array(); + if (resize) { + allocate_array(); + if (neighflag != FULL) { + dup_dDeltap_self = Kokkos::Experimental::create_reduction_view<>(d_dDeltap_self); + dup_total_bo = Kokkos::Experimental::create_reduction_view<>(d_total_bo); + } + } } + // allocate duplicated memory + if (neighflag != FULL) { + dup_CdDelta = Kokkos::Experimental::create_reduction_view<>(d_CdDelta); + dup_Cdbo = Kokkos::Experimental::create_reduction_view<>(d_Cdbo); + dup_Cdbopi = Kokkos::Experimental::create_reduction_view<>(d_Cdbopi); + dup_Cdbopi2 = Kokkos::Experimental::create_reduction_view<>(d_Cdbopi2); + } + + // reduction over duplicated memory + if (neighflag != FULL) + Kokkos::Experimental::contribute(d_total_bo, dup_total_bo); // needed in BondOrder1 + // Bond order if (neighflag == HALF) { Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); } else if (neighflag == HALFTHREAD) { - Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); } Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); @@ -923,9 +950,29 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) pvector[7] = ev.ereax[8]; ev_all.evdwl += ev.ereax[8]; + // reduction over duplicated memory + if (neighflag != FULL) { + Kokkos::Experimental::contribute(d_dDeltap_self, dup_dDeltap_self); // needed in ComputeBond2 + Kokkos::Experimental::contribute(d_CdDelta, dup_CdDelta); // needed in ComputeBond2 + + Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in UpdateBond, but also used in UpdateBond + Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in UpdateBond, but also used in UpdateBond + Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in UpdateBond, but also used in UpdateBond + dup_Cdbo.reset_except(d_Cdbo); + dup_Cdbopi.reset_except(d_Cdbopi); + dup_Cdbopi2.reset_except(d_Cdbopi2); + } + // Bond force if (neighflag == HALF) { Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); + + // reduction over duplicated memory + if (neighflag != FULL) { + Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 + Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 + Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 + } if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); else @@ -934,6 +981,13 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) pvector[0] += ev.evdwl; } else { //if (neighflag == HALFTHREAD) { Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); + + // reduction over duplicated memory + if (neighflag != FULL) { + Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 + Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 + Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 + } if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); else @@ -942,6 +996,10 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) pvector[0] += ev.evdwl; } + // reduction over duplicated memory + if (neighflag != FULL) + Kokkos::Experimental::contribute(f, dup_f); + if (eflag_global) { eng_vdwl += ev_all.evdwl; eng_coul += ev_all.ecoul; @@ -958,11 +1016,15 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) if (vflag_fdotr) pair_virial_fdotr_compute(this); if (eflag_atom) { + if (neighflag != FULL) + Kokkos::Experimental::contribute(v_eatom, dup_eatom); k_eatom.template modify(); k_eatom.template sync(); } if (vflag_atom) { + if (neighflag != FULL) + Kokkos::Experimental::contribute(v_vatom, dup_vatom); k_vatom.template modify(); k_vatom.template sync(); } @@ -970,6 +1032,19 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) if (fixspecies_flag) FindBondSpecies(); + // free duplicated memory + if (neighflag != FULL) { + dup_f = decltype(f)(); + dup_dDeltap_self = decltype(d_dDeltap_self)(); + dup_total_bo = decltype(d_total_bo)(); + dup_CdDelta = decltype(d_CdDelta)(); + dup_Cdbo = decltype(d_Cdbo)(); + dup_Cdbopi = decltype(d_Cdbopi)(); + dup_Cdbopi2 = decltype(d_Cdbopi2)(); + dup_eatom = decltype(v_eatom)(); + dup_vatom = decltype(v_vatom)(); + } + copymode = 0; } @@ -1010,7 +1085,8 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeLJCoulomb, const int &ii, EV_FLOAT_REAX& ev) const { // The f array is atomic for Half/Thread neighbor style - Kokkos::View::value> > a_f = f; + //Kokkos::View::value> > a_f = f; + auto a_f = dup_f.access(); F_FLOAT powr_vdw, powgi_vdw, fn13, dfn13, exp1, exp2, etmp; F_FLOAT evdwl, fvdwl; @@ -1169,7 +1245,8 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeTabulatedLJCoulomb, const int &ii, EV_FLOAT_REAX& ev) const { // The f array is atomic for Half/Thread neighbor style - Kokkos::View::value> > a_f = f; + //Kokkos::View::value> > a_f = f; + auto a_f = dup_f.access(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -1548,8 +1625,10 @@ void PairReaxCKokkos::operator()(PairReaxBuildListsHalf, if (d_resize_bo() || d_resize_hb()) return; - Kokkos::View::value> > a_dDeltap_self = d_dDeltap_self; - Kokkos::View::value> > a_total_bo = d_total_bo; + //Kokkos::View::value> > a_dDeltap_self = d_dDeltap_self; + //Kokkos::View::value> > a_total_bo = d_total_bo; + auto a_dDeltap_self = dup_dDeltap_self.access(); + auto a_total_bo = dup_total_bo.access(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -2236,10 +2315,14 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeMulti2, const int &ii, EV_FLOAT_REAX& ev) const { - Kokkos::View::value> > a_CdDelta = d_CdDelta; - Kokkos::View::value> > a_Cdbo = d_Cdbo; - Kokkos::View::value> > a_Cdbopi = d_Cdbopi; - Kokkos::View::value> > a_Cdbopi2 = d_Cdbopi2; + //Kokkos::View::value> > a_CdDelta = d_CdDelta; + //Kokkos::View::value> > a_Cdbo = d_Cdbo; + //Kokkos::View::value> > a_Cdbopi = d_Cdbopi; + //Kokkos::View::value> > a_Cdbopi2 = d_Cdbopi2; + auto a_CdDelta = dup_CdDelta.access(); + auto a_Cdbo = dup_Cdbo.access(); + auto a_Cdbopi = dup_Cdbopi.access(); + auto a_Cdbopi2 = dup_Cdbopi2.access(); const int i = d_ilist[ii]; const int itype = type(i); @@ -2390,9 +2473,13 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeAngular, const int &ii, EV_FLOAT_REAX& ev) const { - Kokkos::View::value> > a_f = f; - Kokkos::View::value> > a_Cdbo = d_Cdbo; - Kokkos::View::value> > a_CdDelta = d_CdDelta; + //Kokkos::View::value> > a_f = f; + //Kokkos::View::value> > a_Cdbo = d_Cdbo; + //Kokkos::View::value> > a_CdDelta = d_CdDelta; + auto a_f = dup_f.access(); + auto a_Cdbo = dup_Cdbo.access(); + auto a_CdDelta = dup_CdDelta.access(); + const int i = d_ilist[ii]; const int itype = type(i); @@ -2699,9 +2786,12 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeTorsion, const int &ii, EV_FLOAT_REAX& ev) const { - Kokkos::View::value> > a_f = f; - Kokkos::View::value> > a_CdDelta = d_CdDelta; - Kokkos::View::value> > a_Cdbo = d_Cdbo; + //Kokkos::View::value> > a_f = f; + //Kokkos::View::value> > a_CdDelta = d_CdDelta; + //Kokkos::View::value> > a_Cdbo = d_Cdbo; + auto a_f = dup_f.access(); + auto a_CdDelta = dup_CdDelta.access(); + auto a_Cdbo = dup_Cdbo.access(); // in reaxc_torsion_angles: j = i, k = j, i = k; @@ -3071,7 +3161,8 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeHydrogen, const int &ii, EV_FLOAT_REAX& ev) const { - Kokkos::View::value> > a_f = f; + //Kokkos::View::value> > a_f = f; + auto a_f = dup_f.access(); int hblist[MAX_BONDS]; F_FLOAT theta, cos_theta, sin_xhz4, cos_xhz1, sin_theta2; @@ -3218,9 +3309,12 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxUpdateBond, const int &ii) const { - Kokkos::View::value> > a_Cdbo = d_Cdbo; - Kokkos::View::value> > a_Cdbopi = d_Cdbopi; - Kokkos::View::value> > a_Cdbopi2 = d_Cdbopi2; + //Kokkos::View::value> > a_Cdbo = d_Cdbo; + //Kokkos::View::value> > a_Cdbopi = d_Cdbopi; + //Kokkos::View::value> > a_Cdbopi2 = d_Cdbopi2; + auto a_Cdbo = dup_Cdbo.access(); + auto a_Cdbopi = dup_Cdbopi.access(); + auto a_Cdbopi2 = dup_Cdbopi2.access(); const int i = d_ilist[ii]; const tagint itag = tag(i); @@ -3267,8 +3361,10 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeBond1, const int &ii, EV_FLOAT_REAX& ev) const { - Kokkos::View::value> > a_f = f; - Kokkos::View::value> > a_CdDelta = d_CdDelta; + //Kokkos::View::value> > a_f = f; + //Kokkos::View::value> > a_CdDelta = d_CdDelta; + auto a_f = dup_f.access(); + auto a_CdDelta = dup_CdDelta.access(); F_FLOAT delij[3]; F_FLOAT p_be1, p_be2, De_s, De_p, De_pp, pow_BOs_be2, exp_be12, CEbo, ebond; @@ -3405,7 +3501,8 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeBond2, const int &ii, EV_FLOAT_REAX& ev) const { - Kokkos::View::value> > a_f = f; + //Kokkos::View::value> > a_f = f; + auto a_f = dup_f.access(); F_FLOAT delij[3], delik[3], deljk[3], tmpvec[3]; F_FLOAT dBOp_i[3], dBOp_k[3], dln_BOp_pi[3], dln_BOp_pi2[3]; @@ -3618,8 +3715,10 @@ void PairReaxCKokkos::ev_tally(EV_FLOAT_REAX &ev, const int &i, cons const int VFLAG = vflag_either; // The eatom and vatom arrays are atomic for Half/Thread neighbor style - Kokkos::View::value> > a_eatom = v_eatom; - Kokkos::View::value> > a_vatom = v_vatom; + //Kokkos::View::value> > a_eatom = v_eatom; + //Kokkos::View::value> > a_vatom = v_vatom; + auto a_eatom = dup_eatom.access(); + auto a_vatom = dup_vatom.access(); if (eflag_atom) { const E_FLOAT epairhalf = 0.5 * epair; @@ -3685,7 +3784,9 @@ void PairReaxCKokkos::e_tally(EV_FLOAT_REAX &ev, const int &i, const // The eatom array is atomic for Half/Thread neighbor style if (eflag_atom) { - Kokkos::View::value> > a_eatom = v_eatom; + //Kokkos::View::value> > a_eatom = v_eatom; + auto a_eatom = dup_eatom.access(); + const E_FLOAT epairhalf = 0.5 * epair; a_eatom[i] += epairhalf; a_eatom[j] += epairhalf; @@ -3701,7 +3802,8 @@ void PairReaxCKokkos::e_tally_single(EV_FLOAT_REAX &ev, const int &i const F_FLOAT &epair) const { // The eatom array is atomic for Half/Thread neighbor style - Kokkos::View::value> > a_eatom = v_eatom; + //Kokkos::View::value> > a_eatom = v_eatom; + auto a_eatom = dup_eatom.access(); a_eatom[i] += epair; } @@ -3734,7 +3836,9 @@ void PairReaxCKokkos::v_tally(EV_FLOAT_REAX &ev, const int &i, } if (vflag_atom) { - Kokkos::View::value> > a_vatom = v_vatom; + //Kokkos::View::value> > a_vatom = v_vatom; + auto a_vatom = dup_vatom.access(); + a_vatom(i,0) += v[0]; a_vatom(i,1) += v[1]; a_vatom(i,2) += v[2]; a_vatom(i,3) += v[3]; a_vatom(i,4) += v[4]; a_vatom(i,5) += v[5]; } @@ -3750,7 +3854,8 @@ void PairReaxCKokkos::v_tally3(EV_FLOAT_REAX &ev, const int &i, cons { // The eatom and vatom arrays are atomic for Half/Thread neighbor style - Kokkos::View::value> > a_vatom = v_vatom; + //Kokkos::View::value> > a_vatom = v_vatom; + auto a_vatom = dup_vatom.access(); F_FLOAT v[6]; @@ -3810,7 +3915,9 @@ void PairReaxCKokkos::v_tally4(EV_FLOAT_REAX &ev, const int &i, cons } if (vflag_atom) { - Kokkos::View::value> > a_vatom = v_vatom; + //Kokkos::View::value> > a_vatom = v_vatom; + auto a_vatom = dup_vatom.access(); + a_vatom(i,0) += 0.25 * v[0]; a_vatom(i,1) += 0.25 * v[1]; a_vatom(i,2) += 0.25 * v[2]; a_vatom(i,3) += 0.25 * v[3]; a_vatom(i,4) += 0.25 * v[4]; a_vatom(i,5) += 0.25 * v[5]; a_vatom(j,0) += 0.25 * v[0]; a_vatom(j,1) += 0.25 * v[1]; a_vatom(j,2) += 0.25 * v[2]; diff --git a/src/KOKKOS/pair_reaxc_kokkos.h b/src/KOKKOS/pair_reaxc_kokkos.h index 95fd7ced38..e25077f2cf 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.h +++ b/src/KOKKOS/pair_reaxc_kokkos.h @@ -24,6 +24,7 @@ PairStyle(reax/c/kk/host,PairReaxCKokkos) #define LMP_PAIR_REAXC_KOKKOS_H #include +#include #include "pair_kokkos.h" #include "pair_reaxc.h" #include "neigh_list_kokkos.h" @@ -411,6 +412,16 @@ class PairReaxCKokkos : public PairReaxC { typename AT::t_ffloat_2d_dl d_C1dbopi2, d_C2dbopi2, d_C3dbopi2, d_C4dbopi2; typename AT::t_ffloat_2d_dl d_Cdbo, d_Cdbopi, d_Cdbopi2, d_dDeltap_self; + Kokkos::Experimental::ReductionView dup_total_bo; + Kokkos::Experimental::ReductionView dup_CdDelta; + Kokkos::Experimental::ReductionView dup_eatom; + Kokkos::Experimental::ReductionView dup_f; + Kokkos::Experimental::ReductionView dup_vatom; + Kokkos::Experimental::ReductionView dup_dDeltap_self; + Kokkos::Experimental::ReductionView dup_Cdbo; + Kokkos::Experimental::ReductionView dup_Cdbopi; + Kokkos::Experimental::ReductionView dup_Cdbopi2; + typedef Kokkos::DualView tdual_ffloat_2d_n7; typedef typename tdual_ffloat_2d_n7::t_dev_const_randomread t_ffloat_2d_n7_randomread; typedef typename tdual_ffloat_2d_n7::t_host t_host_ffloat_2d_n7; -- GitLab From 41202c3627bb2ea5a4a8bf725b679484edc58ed5 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Tue, 28 Nov 2017 16:28:17 -0700 Subject: [PATCH 002/675] Turn atomics back on for some views in pair_reaxc_kokkos --- src/KOKKOS/pair_reaxc_kokkos.cpp | 80 ++++++++++++++++---------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index 79d9241ea4..8a1f1291e5 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -811,7 +811,7 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) if (neighflag == HALF) Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); else if (neighflag == HALFTHREAD) - Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); else //(neighflag == FULL) Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); @@ -838,9 +838,9 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) // allocate duplicated memory if (neighflag != FULL) { dup_CdDelta = Kokkos::Experimental::create_reduction_view<>(d_CdDelta); - dup_Cdbo = Kokkos::Experimental::create_reduction_view<>(d_Cdbo); - dup_Cdbopi = Kokkos::Experimental::create_reduction_view<>(d_Cdbopi); - dup_Cdbopi2 = Kokkos::Experimental::create_reduction_view<>(d_Cdbopi2); + //dup_Cdbo = Kokkos::Experimental::create_reduction_view<>(d_Cdbo); + //dup_Cdbopi = Kokkos::Experimental::create_reduction_view<>(d_Cdbopi); + //dup_Cdbopi2 = Kokkos::Experimental::create_reduction_view<>(d_Cdbopi2); } // reduction over duplicated memory @@ -851,7 +851,7 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) if (neighflag == HALF) { Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); } else if (neighflag == HALFTHREAD) { - Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); } Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); @@ -955,12 +955,12 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) Kokkos::Experimental::contribute(d_dDeltap_self, dup_dDeltap_self); // needed in ComputeBond2 Kokkos::Experimental::contribute(d_CdDelta, dup_CdDelta); // needed in ComputeBond2 - Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in UpdateBond, but also used in UpdateBond - Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in UpdateBond, but also used in UpdateBond - Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in UpdateBond, but also used in UpdateBond - dup_Cdbo.reset_except(d_Cdbo); - dup_Cdbopi.reset_except(d_Cdbopi); - dup_Cdbopi2.reset_except(d_Cdbopi2); + //Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in UpdateBond, but also used in UpdateBond + //Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in UpdateBond, but also used in UpdateBond + //Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in UpdateBond, but also used in UpdateBond + //dup_Cdbo.reset_except(d_Cdbo); + //dup_Cdbopi.reset_except(d_Cdbopi); + //dup_Cdbopi2.reset_except(d_Cdbopi2); } // Bond force @@ -968,11 +968,11 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); // reduction over duplicated memory - if (neighflag != FULL) { - Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 - Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 - Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 - } + //if (neighflag != FULL) { + // Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 + // Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 + // Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 + //} if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); else @@ -983,11 +983,11 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); // reduction over duplicated memory - if (neighflag != FULL) { - Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 - Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 - Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 - } + //if (neighflag != FULL) { + // Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 + // Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 + // Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 + //} if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); else @@ -1038,9 +1038,9 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) dup_dDeltap_self = decltype(d_dDeltap_self)(); dup_total_bo = decltype(d_total_bo)(); dup_CdDelta = decltype(d_CdDelta)(); - dup_Cdbo = decltype(d_Cdbo)(); - dup_Cdbopi = decltype(d_Cdbopi)(); - dup_Cdbopi2 = decltype(d_Cdbopi2)(); + //dup_Cdbo = decltype(d_Cdbo)(); + //dup_Cdbopi = decltype(d_Cdbopi)(); + //dup_Cdbopi2 = decltype(d_Cdbopi2)(); dup_eatom = decltype(v_eatom)(); dup_vatom = decltype(v_vatom)(); } @@ -2316,13 +2316,13 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeMulti2, const int &ii, EV_FLOAT_REAX& ev) const { //Kokkos::View::value> > a_CdDelta = d_CdDelta; - //Kokkos::View::value> > a_Cdbo = d_Cdbo; - //Kokkos::View::value> > a_Cdbopi = d_Cdbopi; - //Kokkos::View::value> > a_Cdbopi2 = d_Cdbopi2; + Kokkos::View::value> > a_Cdbo = d_Cdbo; + Kokkos::View::value> > a_Cdbopi = d_Cdbopi; + Kokkos::View::value> > a_Cdbopi2 = d_Cdbopi2; auto a_CdDelta = dup_CdDelta.access(); - auto a_Cdbo = dup_Cdbo.access(); - auto a_Cdbopi = dup_Cdbopi.access(); - auto a_Cdbopi2 = dup_Cdbopi2.access(); + //auto a_Cdbo = dup_Cdbo.access(); + //auto a_Cdbopi = dup_Cdbopi.access(); + //auto a_Cdbopi2 = dup_Cdbopi2.access(); const int i = d_ilist[ii]; const int itype = type(i); @@ -2474,10 +2474,10 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeAngular, const int &ii, EV_FLOAT_REAX& ev) const { //Kokkos::View::value> > a_f = f; - //Kokkos::View::value> > a_Cdbo = d_Cdbo; + Kokkos::View::value> > a_Cdbo = d_Cdbo; //Kokkos::View::value> > a_CdDelta = d_CdDelta; auto a_f = dup_f.access(); - auto a_Cdbo = dup_Cdbo.access(); + //auto a_Cdbo = dup_Cdbo.access(); auto a_CdDelta = dup_CdDelta.access(); @@ -2788,10 +2788,10 @@ void PairReaxCKokkos::operator()(PairReaxComputeTorsion::value> > a_f = f; //Kokkos::View::value> > a_CdDelta = d_CdDelta; - //Kokkos::View::value> > a_Cdbo = d_Cdbo; + Kokkos::View::value> > a_Cdbo = d_Cdbo; auto a_f = dup_f.access(); auto a_CdDelta = dup_CdDelta.access(); - auto a_Cdbo = dup_Cdbo.access(); + //auto a_Cdbo = dup_Cdbo.access(); // in reaxc_torsion_angles: j = i, k = j, i = k; @@ -3309,12 +3309,12 @@ template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxUpdateBond, const int &ii) const { - //Kokkos::View::value> > a_Cdbo = d_Cdbo; - //Kokkos::View::value> > a_Cdbopi = d_Cdbopi; - //Kokkos::View::value> > a_Cdbopi2 = d_Cdbopi2; - auto a_Cdbo = dup_Cdbo.access(); - auto a_Cdbopi = dup_Cdbopi.access(); - auto a_Cdbopi2 = dup_Cdbopi2.access(); + Kokkos::View::value> > a_Cdbo = d_Cdbo; + Kokkos::View::value> > a_Cdbopi = d_Cdbopi; + Kokkos::View::value> > a_Cdbopi2 = d_Cdbopi2; + //auto a_Cdbo = dup_Cdbo.access(); + //auto a_Cdbopi = dup_Cdbopi.access(); + //auto a_Cdbopi2 = dup_Cdbopi2.access(); const int i = d_ilist[ii]; const tagint itag = tag(i); -- GitLab From ee9ba99cde572c5146cfa8569cc3626219ff41dd Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 29 Nov 2017 11:11:20 -0700 Subject: [PATCH 003/675] Fix some bugs in pair_reaxc_kokkos --- src/KOKKOS/pair_reaxc_kokkos.cpp | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index 8a1f1291e5..6791690cf0 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -716,8 +716,6 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) dup_f = Kokkos::Experimental::create_reduction_view<>(f); dup_eatom = Kokkos::Experimental::create_reduction_view<>(v_eatom); dup_vatom = Kokkos::Experimental::create_reduction_view<>(v_vatom); - dup_dDeltap_self = Kokkos::Experimental::create_reduction_view<>(d_dDeltap_self); - dup_total_bo = Kokkos::Experimental::create_reduction_view<>(d_total_bo); } if (eflag_global) { @@ -789,6 +787,12 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) allocate_array(); } + // allocate duplicated memory + if (neighflag != FULL) { + dup_dDeltap_self = Kokkos::Experimental::create_reduction_view<>(d_dDeltap_self); + dup_total_bo = Kokkos::Experimental::create_reduction_view<>(d_total_bo); + } + // Neighbor lists for bond and hbond // try, resize if necessary @@ -811,7 +815,7 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) if (neighflag == HALF) Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); else if (neighflag == HALFTHREAD) - Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); else //(neighflag == FULL) Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); @@ -851,7 +855,7 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) if (neighflag == HALF) { Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); } else if (neighflag == HALFTHREAD) { - Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); + Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); } Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); Kokkos::parallel_for(Kokkos::RangePolicy(0,ignum),*this); @@ -1034,15 +1038,15 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) // free duplicated memory if (neighflag != FULL) { - dup_f = decltype(f)(); - dup_dDeltap_self = decltype(d_dDeltap_self)(); - dup_total_bo = decltype(d_total_bo)(); - dup_CdDelta = decltype(d_CdDelta)(); - //dup_Cdbo = decltype(d_Cdbo)(); - //dup_Cdbopi = decltype(d_Cdbopi)(); - //dup_Cdbopi2 = decltype(d_Cdbopi2)(); - dup_eatom = decltype(v_eatom)(); - dup_vatom = decltype(v_vatom)(); + dup_f = decltype(dup_f)(); + dup_dDeltap_self = decltype(dup_dDeltap_self)(); + dup_total_bo = decltype(dup_total_bo)(); + dup_CdDelta = decltype(dup_CdDelta)(); + //dup_Cdbo = decltype(dup_Cdbo)(); + //dup_Cdbopi = decltype(dup_Cdbopi)(); + //dup_Cdbopi2 = decltype(dup_Cdbopi2)(); + dup_eatom = decltype(dup_eatom)(); + dup_vatom = decltype(dup_vatom)(); } copymode = 0; -- GitLab From d2da1f5797faa0b752b7408822f361e565ea8d64 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 6 Dec 2017 09:41:29 -0700 Subject: [PATCH 004/675] Template out atomics for full neighbor list --- src/KOKKOS/fix_qeq_reax_kokkos.cpp | 6 ++-- src/KOKKOS/pair_reaxc_kokkos.cpp | 56 +++++++++++++++--------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index 764b2f9191..e5f1901c1b 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -790,7 +790,7 @@ KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse13_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto a_o = red_o.access(); + auto a_o = red_o.template access::value>(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -842,7 +842,7 @@ KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse23_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto a_o = red_o.access(); + auto a_o = red_o.template access::value>(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -901,7 +901,7 @@ KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse33_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto a_o = red_o.access(); + auto a_o = red_o.template access::value>(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index 27cf18b02e..07d17408ca 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -1090,7 +1090,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeLJCoulomb::value> > a_f = f; - auto a_f = dup_f.access(); + auto a_f = dup_f.template access::value>(); F_FLOAT powr_vdw, powgi_vdw, fn13, dfn13, exp1, exp2, etmp; F_FLOAT evdwl, fvdwl; @@ -1250,7 +1250,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeTabulatedLJCoulomb::value> > a_f = f; - auto a_f = dup_f.access(); + auto a_f = dup_f.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -1633,8 +1633,8 @@ void PairReaxCKokkos::operator()(PairReaxBuildListsHalf, //Kokkos::View::value> > a_dDeltap_self = d_dDeltap_self; //Kokkos::View::value> > a_total_bo = d_total_bo; - auto a_dDeltap_self = dup_dDeltap_self.access(); - auto a_total_bo = dup_total_bo.access(); + auto a_dDeltap_self = dup_dDeltap_self.template access::value>(); + auto a_total_bo = dup_total_bo.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -2329,10 +2329,10 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti2::value> > a_Cdbo = d_Cdbo; Kokkos::View::value> > a_Cdbopi = d_Cdbopi; Kokkos::View::value> > a_Cdbopi2 = d_Cdbopi2; - auto a_CdDelta = dup_CdDelta.access(); - //auto a_Cdbo = dup_Cdbo.access(); - //auto a_Cdbopi = dup_Cdbopi.access(); - //auto a_Cdbopi2 = dup_Cdbopi2.access(); + auto a_CdDelta = dup_CdDelta.template access::value>(); + //auto a_Cdbo = dup_Cdbo.template access::value>(); + //auto a_Cdbopi = dup_Cdbopi.template access::value>(); + //auto a_Cdbopi2 = dup_Cdbopi2.template access::value>(); const int i = d_ilist[ii]; const int itype = type(i); @@ -2486,9 +2486,9 @@ void PairReaxCKokkos::operator()(PairReaxComputeAngular::value> > a_f = f; Kokkos::View::value> > a_Cdbo = d_Cdbo; //Kokkos::View::value> > a_CdDelta = d_CdDelta; - auto a_f = dup_f.access(); - //auto a_Cdbo = dup_Cdbo.access(); - auto a_CdDelta = dup_CdDelta.access(); + auto a_f = dup_f.template access::value>(); + //auto a_Cdbo = dup_Cdbo.template access::value>(); + auto a_CdDelta = dup_CdDelta.template access::value>(); const int i = d_ilist[ii]; @@ -2799,9 +2799,9 @@ void PairReaxCKokkos::operator()(PairReaxComputeTorsion::value> > a_f = f; //Kokkos::View::value> > a_CdDelta = d_CdDelta; Kokkos::View::value> > a_Cdbo = d_Cdbo; - auto a_f = dup_f.access(); - auto a_CdDelta = dup_CdDelta.access(); - //auto a_Cdbo = dup_Cdbo.access(); + auto a_f = dup_f.template access::value>(); + auto a_CdDelta = dup_CdDelta.template access::value>(); + //auto a_Cdbo = dup_Cdbo.template access::value>(); // in reaxc_torsion_angles: j = i, k = j, i = k; @@ -3172,7 +3172,7 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeHydrogen, const int &ii, EV_FLOAT_REAX& ev) const { //Kokkos::View::value> > a_f = f; - auto a_f = dup_f.access(); + auto a_f = dup_f.template access::value>(); int hblist[MAX_BONDS]; F_FLOAT theta, cos_theta, sin_xhz4, cos_xhz1, sin_theta2; @@ -3322,9 +3322,9 @@ void PairReaxCKokkos::operator()(PairReaxUpdateBond, cons Kokkos::View::value> > a_Cdbo = d_Cdbo; Kokkos::View::value> > a_Cdbopi = d_Cdbopi; Kokkos::View::value> > a_Cdbopi2 = d_Cdbopi2; - //auto a_Cdbo = dup_Cdbo.access(); - //auto a_Cdbopi = dup_Cdbopi.access(); - //auto a_Cdbopi2 = dup_Cdbopi2.access(); + //auto a_Cdbo = dup_Cdbo.template access::value>(); + //auto a_Cdbopi = dup_Cdbopi.template access::value>(); + //auto a_Cdbopi2 = dup_Cdbopi2.template access::value>(); const int i = d_ilist[ii]; const tagint itag = tag(i); @@ -3373,8 +3373,8 @@ void PairReaxCKokkos::operator()(PairReaxComputeBond1::value> > a_f = f; //Kokkos::View::value> > a_CdDelta = d_CdDelta; - auto a_f = dup_f.access(); - auto a_CdDelta = dup_CdDelta.access(); + auto a_f = dup_f.template access::value>(); + auto a_CdDelta = dup_CdDelta.template access::value>(); F_FLOAT delij[3]; F_FLOAT p_be1, p_be2, De_s, De_p, De_pp, pow_BOs_be2, exp_be12, CEbo, ebond; @@ -3512,7 +3512,7 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeBond2, const int &ii, EV_FLOAT_REAX& ev) const { //Kokkos::View::value> > a_f = f; - auto a_f = dup_f.access(); + auto a_f = dup_f.template access::value>(); F_FLOAT delij[3], delik[3], deljk[3], tmpvec[3]; F_FLOAT dBOp_i[3], dBOp_k[3], dln_BOp_pi[3], dln_BOp_pi2[3]; @@ -3727,8 +3727,8 @@ void PairReaxCKokkos::ev_tally(EV_FLOAT_REAX &ev, const int &i, cons // The eatom and vatom arrays are atomic for Half/Thread neighbor style //Kokkos::View::value> > a_eatom = v_eatom; //Kokkos::View::value> > a_vatom = v_vatom; - auto a_eatom = dup_eatom.access(); - auto a_vatom = dup_vatom.access(); + auto a_eatom = dup_eatom.template access::value>(); + auto a_vatom = dup_vatom.template access::value>(); if (eflag_atom) { const E_FLOAT epairhalf = 0.5 * epair; @@ -3795,7 +3795,7 @@ void PairReaxCKokkos::e_tally(EV_FLOAT_REAX &ev, const int &i, const if (eflag_atom) { //Kokkos::View::value> > a_eatom = v_eatom; - auto a_eatom = dup_eatom.access(); + auto a_eatom = dup_eatom.template access::value>(); const E_FLOAT epairhalf = 0.5 * epair; a_eatom[i] += epairhalf; @@ -3813,7 +3813,7 @@ void PairReaxCKokkos::e_tally_single(EV_FLOAT_REAX &ev, const int &i { // The eatom array is atomic for Half/Thread neighbor style //Kokkos::View::value> > a_eatom = v_eatom; - auto a_eatom = dup_eatom.access(); + auto a_eatom = dup_eatom.template access::value>(); a_eatom[i] += epair; } @@ -3847,7 +3847,7 @@ void PairReaxCKokkos::v_tally(EV_FLOAT_REAX &ev, const int &i, if (vflag_atom) { //Kokkos::View::value> > a_vatom = v_vatom; - auto a_vatom = dup_vatom.access(); + auto a_vatom = dup_vatom.template access::value>(); a_vatom(i,0) += v[0]; a_vatom(i,1) += v[1]; a_vatom(i,2) += v[2]; a_vatom(i,3) += v[3]; a_vatom(i,4) += v[4]; a_vatom(i,5) += v[5]; @@ -3865,7 +3865,7 @@ void PairReaxCKokkos::v_tally3(EV_FLOAT_REAX &ev, const int &i, cons // The eatom and vatom arrays are atomic for Half/Thread neighbor style //Kokkos::View::value> > a_vatom = v_vatom; - auto a_vatom = dup_vatom.access(); + auto a_vatom = dup_vatom.template access::value>(); F_FLOAT v[6]; @@ -3926,7 +3926,7 @@ void PairReaxCKokkos::v_tally4(EV_FLOAT_REAX &ev, const int &i, cons if (vflag_atom) { //Kokkos::View::value> > a_vatom = v_vatom; - auto a_vatom = dup_vatom.access(); + auto a_vatom = dup_vatom.template access::value>(); a_vatom(i,0) += 0.25 * v[0]; a_vatom(i,1) += 0.25 * v[1]; a_vatom(i,2) += 0.25 * v[2]; a_vatom(i,3) += 0.25 * v[3]; a_vatom(i,4) += 0.25 * v[4]; a_vatom(i,5) += 0.25 * v[5]; -- GitLab From 8a9a7f4e504ef6b59536cba3e48297d29222ea14 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 6 Dec 2017 14:06:35 -0700 Subject: [PATCH 005/675] Fix issues --- src/KOKKOS/fix_qeq_reax_kokkos.cpp | 10 +-- src/KOKKOS/pair_kokkos.h | 4 +- src/KOKKOS/pair_reaxc_kokkos.cpp | 100 ++++++++++++----------------- 3 files changed, 48 insertions(+), 66 deletions(-) diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index e5f1901c1b..638837e265 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -255,7 +255,7 @@ void FixQEqReaxKokkos::pre_force(int vflag) k_t.template sync(); if (neighflag != FULL) - red_o = Kokkos::Experimental::create_reduction_view<> (k_o.d_view); // allocate duplicated memory + red_o = Kokkos::Experimental::create_reduction_view<> (d_o); // allocate duplicated memory // 1st cg solve over b_s, s cg_solve1(); @@ -502,7 +502,7 @@ void FixQEqReaxKokkos::cg_solve1() Kokkos::parallel_for(Kokkos::RangePolicy(nlocal,nlocal+atom->nghost),*this); FixQEqReaxKokkosSparse13Functor sparse13_functor(this); Kokkos::parallel_for(inum,sparse13_functor); - Kokkos::Experimental::contribute(k_o.d_view, red_o); + Kokkos::Experimental::contribute(d_o, red_o); } else { Kokkos::parallel_for(Kokkos::TeamPolicy (inum, teamsize), *this); } @@ -553,7 +553,7 @@ void FixQEqReaxKokkos::cg_solve1() red_o.reset_except(d_o); FixQEqReaxKokkosSparse23Functor sparse23_functor(this); Kokkos::parallel_for(inum,sparse23_functor); - Kokkos::Experimental::contribute(k_o.d_view, red_o); + Kokkos::Experimental::contribute(d_o, red_o); } else { Kokkos::parallel_for(Kokkos::TeamPolicy (inum, teamsize), *this); } @@ -626,7 +626,7 @@ void FixQEqReaxKokkos::cg_solve2() red_o.reset_except(d_o); FixQEqReaxKokkosSparse33Functor sparse33_functor(this); Kokkos::parallel_for(inum,sparse33_functor); - Kokkos::Experimental::contribute(k_o.d_view, red_o); + Kokkos::Experimental::contribute(d_o, red_o); } else { Kokkos::parallel_for(Kokkos::TeamPolicy (inum, teamsize), *this); } @@ -677,7 +677,7 @@ void FixQEqReaxKokkos::cg_solve2() red_o.reset_except(d_o); FixQEqReaxKokkosSparse23Functor sparse23_functor(this); Kokkos::parallel_for(inum,sparse23_functor); - Kokkos::Experimental::contribute(k_o.d_view, red_o); + Kokkos::Experimental::contribute(d_o, red_o); } else { Kokkos::parallel_for(Kokkos::TeamPolicy (inum, teamsize), *this); } diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index c8e926a721..04c56d0aa7 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -19,10 +19,10 @@ #define LMP_PAIR_KOKKOS_H #include "Kokkos_Macros.hpp" -#include "Kokkos_Vectorization.hpp" -#include "Kokkos_ReductionView.hpp" #include "pair.h" #include "neigh_list_kokkos.h" +#include "Kokkos_Vectorization.hpp" +#include "Kokkos_ReductionView.hpp" namespace LAMMPS_NS { diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index 07d17408ca..7a45c068be 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -712,11 +712,9 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) d_ilist = k_list->d_ilist; // allocate duplicated memory - if (neighflag != FULL) { - dup_f = Kokkos::Experimental::create_reduction_view<>(f); - dup_eatom = Kokkos::Experimental::create_reduction_view<>(v_eatom); - dup_vatom = Kokkos::Experimental::create_reduction_view<>(v_vatom); - } + dup_f = Kokkos::Experimental::create_reduction_view<>(f); + dup_eatom = Kokkos::Experimental::create_reduction_view<>(v_eatom); + dup_vatom = Kokkos::Experimental::create_reduction_view<>(v_vatom); if (eflag_global) { for (int i = 0; i < 14; i++) @@ -788,10 +786,8 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) } // allocate duplicated memory - if (neighflag != FULL) { - dup_dDeltap_self = Kokkos::Experimental::create_reduction_view<>(d_dDeltap_self); - dup_total_bo = Kokkos::Experimental::create_reduction_view<>(d_total_bo); - } + dup_dDeltap_self = Kokkos::Experimental::create_reduction_view<>(d_dDeltap_self); + dup_total_bo = Kokkos::Experimental::create_reduction_view<>(d_total_bo); // Neighbor lists for bond and hbond @@ -832,24 +828,19 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) resize = resize_bo || resize_hb; if (resize) { allocate_array(); - if (neighflag != FULL) { - dup_dDeltap_self = Kokkos::Experimental::create_reduction_view<>(d_dDeltap_self); - dup_total_bo = Kokkos::Experimental::create_reduction_view<>(d_total_bo); - } + dup_dDeltap_self = Kokkos::Experimental::create_reduction_view<>(d_dDeltap_self); + dup_total_bo = Kokkos::Experimental::create_reduction_view<>(d_total_bo); } } // allocate duplicated memory - if (neighflag != FULL) { - dup_CdDelta = Kokkos::Experimental::create_reduction_view<>(d_CdDelta); - //dup_Cdbo = Kokkos::Experimental::create_reduction_view<>(d_Cdbo); - //dup_Cdbopi = Kokkos::Experimental::create_reduction_view<>(d_Cdbopi); - //dup_Cdbopi2 = Kokkos::Experimental::create_reduction_view<>(d_Cdbopi2); - } + dup_CdDelta = Kokkos::Experimental::create_reduction_view<>(d_CdDelta); + //dup_Cdbo = Kokkos::Experimental::create_reduction_view<>(d_Cdbo); + //dup_Cdbopi = Kokkos::Experimental::create_reduction_view<>(d_Cdbopi); + //dup_Cdbopi2 = Kokkos::Experimental::create_reduction_view<>(d_Cdbopi2); // reduction over duplicated memory - if (neighflag != FULL) - Kokkos::Experimental::contribute(d_total_bo, dup_total_bo); // needed in BondOrder1 + Kokkos::Experimental::contribute(d_total_bo, dup_total_bo); // needed in BondOrder1 // Bond order if (neighflag == HALF) { @@ -955,28 +946,25 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) ev_all.evdwl += ev.ereax[8]; // reduction over duplicated memory - if (neighflag != FULL) { - Kokkos::Experimental::contribute(d_dDeltap_self, dup_dDeltap_self); // needed in ComputeBond2 - Kokkos::Experimental::contribute(d_CdDelta, dup_CdDelta); // needed in ComputeBond2 - - //Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in UpdateBond, but also used in UpdateBond - //Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in UpdateBond, but also used in UpdateBond - //Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in UpdateBond, but also used in UpdateBond - //dup_Cdbo.reset_except(d_Cdbo); - //dup_Cdbopi.reset_except(d_Cdbopi); - //dup_Cdbopi2.reset_except(d_Cdbopi2); - } + Kokkos::Experimental::contribute(d_dDeltap_self, dup_dDeltap_self); // needed in ComputeBond2 + Kokkos::Experimental::contribute(d_CdDelta, dup_CdDelta); // needed in ComputeBond2 + + //Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in UpdateBond, but also used in UpdateBond + //Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in UpdateBond, but also used in UpdateBond + //Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in UpdateBond, but also used in UpdateBond + //dup_Cdbo.reset_except(d_Cdbo); + //dup_Cdbopi.reset_except(d_Cdbopi); + //dup_Cdbopi2.reset_except(d_Cdbopi2); // Bond force if (neighflag == HALF) { Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); // reduction over duplicated memory - //if (neighflag != FULL) { - // Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 - // Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 - // Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 - //} + //Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 + //Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 + //Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 + if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); else @@ -987,11 +975,10 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); // reduction over duplicated memory - //if (neighflag != FULL) { - // Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 - // Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 - // Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 - //} + //Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 + //Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 + //Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 + if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); else @@ -1001,8 +988,7 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) } // reduction over duplicated memory - if (neighflag != FULL) - Kokkos::Experimental::contribute(f, dup_f); + Kokkos::Experimental::contribute(f, dup_f); if (eflag_global) { eng_vdwl += ev_all.evdwl; @@ -1020,15 +1006,13 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) if (vflag_fdotr) pair_virial_fdotr_compute(this); if (eflag_atom) { - if (neighflag != FULL) - Kokkos::Experimental::contribute(v_eatom, dup_eatom); + Kokkos::Experimental::contribute(v_eatom, dup_eatom); k_eatom.template modify(); k_eatom.template sync(); } if (vflag_atom) { - if (neighflag != FULL) - Kokkos::Experimental::contribute(v_vatom, dup_vatom); + Kokkos::Experimental::contribute(v_vatom, dup_vatom); k_vatom.template modify(); k_vatom.template sync(); } @@ -1037,17 +1021,15 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) FindBondSpecies(); // free duplicated memory - if (neighflag != FULL) { - dup_f = decltype(dup_f)(); - dup_dDeltap_self = decltype(dup_dDeltap_self)(); - dup_total_bo = decltype(dup_total_bo)(); - dup_CdDelta = decltype(dup_CdDelta)(); - //dup_Cdbo = decltype(dup_Cdbo)(); - //dup_Cdbopi = decltype(dup_Cdbopi)(); - //dup_Cdbopi2 = decltype(dup_Cdbopi2)(); - dup_eatom = decltype(dup_eatom)(); - dup_vatom = decltype(dup_vatom)(); - } + dup_f = decltype(dup_f)(); + dup_dDeltap_self = decltype(dup_dDeltap_self)(); + dup_total_bo = decltype(dup_total_bo)(); + dup_CdDelta = decltype(dup_CdDelta)(); + //dup_Cdbo = decltype(dup_Cdbo)(); + //dup_Cdbopi = decltype(dup_Cdbopi)(); + //dup_Cdbopi2 = decltype(dup_Cdbopi2)(); + dup_eatom = decltype(dup_eatom)(); + dup_vatom = decltype(dup_vatom)(); copymode = 0; } -- GitLab From a5790ef68f564b3b6fc3c120fd4e530213944ca1 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 11 Dec 2017 08:38:54 -0700 Subject: [PATCH 006/675] Rename to ScatterView --- src/KOKKOS/fix_qeq_reax_kokkos.cpp | 2 +- src/KOKKOS/fix_qeq_reax_kokkos.h | 4 ++-- src/KOKKOS/pair_kokkos.h | 6 +++--- src/KOKKOS/pair_reaxc_kokkos.cpp | 22 +++++++++++----------- src/KOKKOS/pair_reaxc_kokkos.h | 20 ++++++++++---------- 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index d8723339ad..aefc2ea130 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -255,7 +255,7 @@ void FixQEqReaxKokkos::pre_force(int vflag) k_t.template sync(); if (neighflag != FULL) - red_o = Kokkos::Experimental::create_reduction_view<> (d_o); // allocate duplicated memory + red_o = Kokkos::Experimental::create_scatter_view<> (d_o); // allocate duplicated memory // 1st cg solve over b_s, s cg_solve1(); diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.h b/src/KOKKOS/fix_qeq_reax_kokkos.h index dd7b4073c2..64f81b9141 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.h +++ b/src/KOKKOS/fix_qeq_reax_kokkos.h @@ -22,7 +22,7 @@ FixStyle(qeq/reax/kk/host,FixQEqReaxKokkos) #ifndef LMP_FIX_QEQ_REAX_KOKKOS_H #define LMP_FIX_QEQ_REAX_KOKKOS_H -#include +#include #include "fix_qeq_reax.h" #include "kokkos_type.h" #include "neigh_list.h" @@ -193,7 +193,7 @@ class FixQEqReaxKokkos : public FixQEqReax { HAT::t_ffloat_2d h_s_hist, h_t_hist; typename AT::t_ffloat_2d_randomread r_s_hist, r_t_hist; - Kokkos::Experimental::ReductionView red_o; + Kokkos::Experimental::ScatterView red_o; void init_shielding_k(); void init_hist(); diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index 3243af26e7..a409035dc6 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -23,7 +23,7 @@ #include "neighbor_kokkos.h" #include "neigh_list_kokkos.h" #include "Kokkos_Vectorization.hpp" -#include "Kokkos_ReductionView.hpp" +#include "Kokkos_ScatterView.hpp" namespace LAMMPS_NS { @@ -64,12 +64,12 @@ struct AtomicF { // Do atomic trait when running HALFTHREAD neighbor list style template struct AtomicDup { - enum {value = Kokkos::Experimental::ReductionNonAtomic}; + enum {value = Kokkos::Experimental::ScatterNonAtomic}; }; template<> struct AtomicDup { - enum {value = Kokkos::Experimental::ReductionAtomic}; + enum {value = Kokkos::Experimental::ScatterAtomic}; }; //Specialisation for Neighborlist types Half, HalfThread, Full diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index c3197e222f..3a3faefc24 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -713,9 +713,9 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) d_ilist = k_list->d_ilist; // allocate duplicated memory - dup_f = Kokkos::Experimental::create_reduction_view<>(f); - dup_eatom = Kokkos::Experimental::create_reduction_view<>(v_eatom); - dup_vatom = Kokkos::Experimental::create_reduction_view<>(v_vatom); + dup_f = Kokkos::Experimental::create_scatter_view<>(f); + dup_eatom = Kokkos::Experimental::create_scatter_view<>(v_eatom); + dup_vatom = Kokkos::Experimental::create_scatter_view<>(v_vatom); if (eflag_global) { for (int i = 0; i < 14; i++) @@ -787,8 +787,8 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) } // allocate duplicated memory - dup_dDeltap_self = Kokkos::Experimental::create_reduction_view<>(d_dDeltap_self); - dup_total_bo = Kokkos::Experimental::create_reduction_view<>(d_total_bo); + dup_dDeltap_self = Kokkos::Experimental::create_scatter_view<>(d_dDeltap_self); + dup_total_bo = Kokkos::Experimental::create_scatter_view<>(d_total_bo); // Neighbor lists for bond and hbond @@ -829,16 +829,16 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) resize = resize_bo || resize_hb; if (resize) { allocate_array(); - dup_dDeltap_self = Kokkos::Experimental::create_reduction_view<>(d_dDeltap_self); - dup_total_bo = Kokkos::Experimental::create_reduction_view<>(d_total_bo); + dup_dDeltap_self = Kokkos::Experimental::create_scatter_view<>(d_dDeltap_self); + dup_total_bo = Kokkos::Experimental::create_scatter_view<>(d_total_bo); } } // allocate duplicated memory - dup_CdDelta = Kokkos::Experimental::create_reduction_view<>(d_CdDelta); - //dup_Cdbo = Kokkos::Experimental::create_reduction_view<>(d_Cdbo); - //dup_Cdbopi = Kokkos::Experimental::create_reduction_view<>(d_Cdbopi); - //dup_Cdbopi2 = Kokkos::Experimental::create_reduction_view<>(d_Cdbopi2); + dup_CdDelta = Kokkos::Experimental::create_scatter_view<>(d_CdDelta); + //dup_Cdbo = Kokkos::Experimental::create_scatter_view<>(d_Cdbo); + //dup_Cdbopi = Kokkos::Experimental::create_scatter_view<>(d_Cdbopi); + //dup_Cdbopi2 = Kokkos::Experimental::create_scatter_view<>(d_Cdbopi2); // reduction over duplicated memory Kokkos::Experimental::contribute(d_total_bo, dup_total_bo); // needed in BondOrder1 diff --git a/src/KOKKOS/pair_reaxc_kokkos.h b/src/KOKKOS/pair_reaxc_kokkos.h index e25077f2cf..70aef2d608 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.h +++ b/src/KOKKOS/pair_reaxc_kokkos.h @@ -24,7 +24,7 @@ PairStyle(reax/c/kk/host,PairReaxCKokkos) #define LMP_PAIR_REAXC_KOKKOS_H #include -#include +#include #include "pair_kokkos.h" #include "pair_reaxc.h" #include "neigh_list_kokkos.h" @@ -412,15 +412,15 @@ class PairReaxCKokkos : public PairReaxC { typename AT::t_ffloat_2d_dl d_C1dbopi2, d_C2dbopi2, d_C3dbopi2, d_C4dbopi2; typename AT::t_ffloat_2d_dl d_Cdbo, d_Cdbopi, d_Cdbopi2, d_dDeltap_self; - Kokkos::Experimental::ReductionView dup_total_bo; - Kokkos::Experimental::ReductionView dup_CdDelta; - Kokkos::Experimental::ReductionView dup_eatom; - Kokkos::Experimental::ReductionView dup_f; - Kokkos::Experimental::ReductionView dup_vatom; - Kokkos::Experimental::ReductionView dup_dDeltap_self; - Kokkos::Experimental::ReductionView dup_Cdbo; - Kokkos::Experimental::ReductionView dup_Cdbopi; - Kokkos::Experimental::ReductionView dup_Cdbopi2; + Kokkos::Experimental::ScatterView dup_total_bo; + Kokkos::Experimental::ScatterView dup_CdDelta; + Kokkos::Experimental::ScatterView dup_eatom; + Kokkos::Experimental::ScatterView dup_f; + Kokkos::Experimental::ScatterView dup_vatom; + Kokkos::Experimental::ScatterView dup_dDeltap_self; + Kokkos::Experimental::ScatterView dup_Cdbo; + Kokkos::Experimental::ScatterView dup_Cdbopi; + Kokkos::Experimental::ScatterView dup_Cdbopi2; typedef Kokkos::DualView tdual_ffloat_2d_n7; typedef typename tdual_ffloat_2d_n7::t_dev_const_randomread t_ffloat_2d_n7_randomread; -- GitLab From 2b99a26b47781bd59bdff63a10f0be0e9d7ad0dc Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 18 Dec 2017 13:57:56 -0700 Subject: [PATCH 007/675] Fix issue in fix_qeq_reax_kokkos, can't call child function from base constructor --- src/KOKKOS/fix_qeq_reax_kokkos.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index b251c634b6..ca14159b55 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -64,6 +64,10 @@ FixQEqReaxKokkos(LAMMPS *lmp, int narg, char **arg) : nmax = nmax = m_cap = 0; allocated_flag = 0; nprev = 4; + + memory->destroy(s_hist); + memory->destroy(t_hist); + grow_arrays(atom->nmax); } /* ---------------------------------------------------------------------- */ -- GitLab From 5886cadeef893d114570e50cd33b51f9b7f82198 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 18 Dec 2017 14:09:39 -0700 Subject: [PATCH 008/675] Fix compiler warnings in atom_vec_hybrid_kokkos --- src/KOKKOS/atom_vec_hybrid_kokkos.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/KOKKOS/atom_vec_hybrid_kokkos.cpp b/src/KOKKOS/atom_vec_hybrid_kokkos.cpp index b5aadb18d6..67dce07b80 100644 --- a/src/KOKKOS/atom_vec_hybrid_kokkos.cpp +++ b/src/KOKKOS/atom_vec_hybrid_kokkos.cpp @@ -255,6 +255,7 @@ int AtomVecHybridKokkos::pack_comm_kokkos(const int &n, const DAT::tdual_int_2d const int &pbc_flag, const int pbc[]) { error->all(FLERR,"AtomVecHybridKokkos doesn't yet support threaded comm"); + return 0; } void AtomVecHybridKokkos::unpack_comm_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf) @@ -266,12 +267,14 @@ int AtomVecHybridKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &l const int &pbc_flag, const int pbc[]) { error->all(FLERR,"AtomVecHybridKokkos doesn't yet support threaded comm"); + return 0; } int AtomVecHybridKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, int pbc_flag, int *pbc, ExecutionSpace space) { error->all(FLERR,"AtomVecHybridKokkos doesn't yet support threaded comm"); + return 0; } void AtomVecHybridKokkos::unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, @@ -286,12 +289,14 @@ int AtomVecHybridKokkos::pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat X_FLOAT lo, X_FLOAT hi) { error->all(FLERR,"AtomVecHybridKokkos doesn't yet support threaded comm"); + return 0; } int AtomVecHybridKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, int nrecv, int nlocal, int dim, X_FLOAT lo, X_FLOAT hi, ExecutionSpace space) { error->all(FLERR,"AtomVecHybridKokkos doesn't yet support threaded comm"); + return 0; } /* ---------------------------------------------------------------------- */ -- GitLab From dbbfacc5985b1b8bb19c126bc9d997a7f92adc99 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 20 Dec 2017 16:13:28 -0700 Subject: [PATCH 009/675] Fix atomic issues --- src/KOKKOS/fix_qeq_reax_kokkos.cpp | 18 +++++----- src/KOKKOS/pair_kokkos.h | 6 ++-- src/KOKKOS/pair_reaxc_kokkos.cpp | 56 +++++++++++++++--------------- 3 files changed, 41 insertions(+), 39 deletions(-) diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index 0f578707a4..d7632fe793 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -777,7 +777,7 @@ KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse13_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto a_o = red_o.template access::value>(); + auto a_o = red_o.template access::value>(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -785,9 +785,9 @@ void FixQEqReaxKokkos::sparse13_item(int ii) const for(int jj = d_firstnbr[i]; jj < d_firstnbr[i] + d_numnbrs[i]; jj++) { const int j = d_jlist(jj); tmp += d_val(jj) * d_s[j]; - a_o(j) += d_val(jj) * d_s[i]; + a_o[j] += d_val(jj) * d_s[i]; } - a_o(i) += tmp; + a_o[i] += tmp; } } @@ -829,7 +829,7 @@ KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse23_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto a_o = red_o.template access::value>(); + auto a_o = red_o.template access::value>(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -837,9 +837,9 @@ void FixQEqReaxKokkos::sparse23_item(int ii) const for(int jj = d_firstnbr[i]; jj < d_firstnbr[i] + d_numnbrs[i]; jj++) { const int j = d_jlist(jj); tmp += d_val(jj) * d_d[j]; - a_o(j) += d_val(jj) * d_d[i]; + a_o[j] += d_val(jj) * d_d[i]; } - a_o(i) += tmp; + a_o[i] += tmp; } } @@ -888,7 +888,7 @@ KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse33_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto a_o = red_o.template access::value>(); + auto a_o = red_o.template access::value>(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -896,9 +896,9 @@ void FixQEqReaxKokkos::sparse33_item(int ii) const for(int jj = d_firstnbr[i]; jj < d_firstnbr[i] + d_numnbrs[i]; jj++) { const int j = d_jlist(jj); tmp += d_val(jj) * d_t[j]; - a_o(j) += d_val(jj) * d_t[i]; + a_o[j] += d_val(jj) * d_t[i]; } - a_o(i) += tmp; + a_o[i] += tmp; } } diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index a409035dc6..445583c455 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -62,15 +62,17 @@ struct AtomicF { // Determine memory traits for force array // Do atomic trait when running HALFTHREAD neighbor list style -template +template struct AtomicDup { enum {value = Kokkos::Experimental::ScatterNonAtomic}; }; +#ifdef KOKKOS_ENABLE_CUDA template<> -struct AtomicDup { +struct AtomicDup { enum {value = Kokkos::Experimental::ScatterAtomic}; }; +#endif //Specialisation for Neighborlist types Half, HalfThread, Full template diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index 3a3faefc24..1cbe8933e9 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -1073,7 +1073,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeLJCoulomb::value> > a_f = f; - auto a_f = dup_f.template access::value>(); + auto a_f = dup_f.template access::value>(); F_FLOAT powr_vdw, powgi_vdw, fn13, dfn13, exp1, exp2, etmp; F_FLOAT evdwl, fvdwl; @@ -1233,7 +1233,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeTabulatedLJCoulomb::value> > a_f = f; - auto a_f = dup_f.template access::value>(); + auto a_f = dup_f.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -1616,8 +1616,8 @@ void PairReaxCKokkos::operator()(PairReaxBuildListsHalf, //Kokkos::View::value> > a_dDeltap_self = d_dDeltap_self; //Kokkos::View::value> > a_total_bo = d_total_bo; - auto a_dDeltap_self = dup_dDeltap_self.template access::value>(); - auto a_total_bo = dup_total_bo.template access::value>(); + auto a_dDeltap_self = dup_dDeltap_self.template access::value>(); + auto a_total_bo = dup_total_bo.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -2312,10 +2312,10 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti2::value> > a_Cdbo = d_Cdbo; Kokkos::View::value> > a_Cdbopi = d_Cdbopi; Kokkos::View::value> > a_Cdbopi2 = d_Cdbopi2; - auto a_CdDelta = dup_CdDelta.template access::value>(); - //auto a_Cdbo = dup_Cdbo.template access::value>(); - //auto a_Cdbopi = dup_Cdbopi.template access::value>(); - //auto a_Cdbopi2 = dup_Cdbopi2.template access::value>(); + auto a_CdDelta = dup_CdDelta.template access::value>(); + //auto a_Cdbo = dup_Cdbo.template access::value>(); + //auto a_Cdbopi = dup_Cdbopi.template access::value>(); + //auto a_Cdbopi2 = dup_Cdbopi2.template access::value>(); const int i = d_ilist[ii]; const int itype = type(i); @@ -2469,9 +2469,9 @@ void PairReaxCKokkos::operator()(PairReaxComputeAngular::value> > a_f = f; Kokkos::View::value> > a_Cdbo = d_Cdbo; //Kokkos::View::value> > a_CdDelta = d_CdDelta; - auto a_f = dup_f.template access::value>(); - //auto a_Cdbo = dup_Cdbo.template access::value>(); - auto a_CdDelta = dup_CdDelta.template access::value>(); + auto a_f = dup_f.template access::value>(); + //auto a_Cdbo = dup_Cdbo.template access::value>(); + auto a_CdDelta = dup_CdDelta.template access::value>(); const int i = d_ilist[ii]; @@ -2782,9 +2782,9 @@ void PairReaxCKokkos::operator()(PairReaxComputeTorsion::value> > a_f = f; //Kokkos::View::value> > a_CdDelta = d_CdDelta; Kokkos::View::value> > a_Cdbo = d_Cdbo; - auto a_f = dup_f.template access::value>(); - auto a_CdDelta = dup_CdDelta.template access::value>(); - //auto a_Cdbo = dup_Cdbo.template access::value>(); + auto a_f = dup_f.template access::value>(); + auto a_CdDelta = dup_CdDelta.template access::value>(); + //auto a_Cdbo = dup_Cdbo.template access::value>(); // in reaxc_torsion_angles: j = i, k = j, i = k; @@ -3155,7 +3155,7 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeHydrogen, const int &ii, EV_FLOAT_REAX& ev) const { //Kokkos::View::value> > a_f = f; - auto a_f = dup_f.template access::value>(); + auto a_f = dup_f.template access::value>(); int hblist[MAX_BONDS]; F_FLOAT theta, cos_theta, sin_xhz4, cos_xhz1, sin_theta2; @@ -3305,9 +3305,9 @@ void PairReaxCKokkos::operator()(PairReaxUpdateBond, cons Kokkos::View::value> > a_Cdbo = d_Cdbo; Kokkos::View::value> > a_Cdbopi = d_Cdbopi; Kokkos::View::value> > a_Cdbopi2 = d_Cdbopi2; - //auto a_Cdbo = dup_Cdbo.template access::value>(); - //auto a_Cdbopi = dup_Cdbopi.template access::value>(); - //auto a_Cdbopi2 = dup_Cdbopi2.template access::value>(); + //auto a_Cdbo = dup_Cdbo.template access::value>(); + //auto a_Cdbopi = dup_Cdbopi.template access::value>(); + //auto a_Cdbopi2 = dup_Cdbopi2.template access::value>(); const int i = d_ilist[ii]; const tagint itag = tag(i); @@ -3356,8 +3356,8 @@ void PairReaxCKokkos::operator()(PairReaxComputeBond1::value> > a_f = f; //Kokkos::View::value> > a_CdDelta = d_CdDelta; - auto a_f = dup_f.template access::value>(); - auto a_CdDelta = dup_CdDelta.template access::value>(); + auto a_f = dup_f.template access::value>(); + auto a_CdDelta = dup_CdDelta.template access::value>(); F_FLOAT delij[3]; F_FLOAT p_be1, p_be2, De_s, De_p, De_pp, pow_BOs_be2, exp_be12, CEbo, ebond; @@ -3495,7 +3495,7 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeBond2, const int &ii, EV_FLOAT_REAX& ev) const { //Kokkos::View::value> > a_f = f; - auto a_f = dup_f.template access::value>(); + auto a_f = dup_f.template access::value>(); F_FLOAT delij[3], delik[3], deljk[3], tmpvec[3]; F_FLOAT dBOp_i[3], dBOp_k[3], dln_BOp_pi[3], dln_BOp_pi2[3]; @@ -3710,8 +3710,8 @@ void PairReaxCKokkos::ev_tally(EV_FLOAT_REAX &ev, const int &i, cons // The eatom and vatom arrays are atomic for Half/Thread neighbor style //Kokkos::View::value> > a_eatom = v_eatom; //Kokkos::View::value> > a_vatom = v_vatom; - auto a_eatom = dup_eatom.template access::value>(); - auto a_vatom = dup_vatom.template access::value>(); + auto a_eatom = dup_eatom.template access::value>(); + auto a_vatom = dup_vatom.template access::value>(); if (eflag_atom) { const E_FLOAT epairhalf = 0.5 * epair; @@ -3778,7 +3778,7 @@ void PairReaxCKokkos::e_tally(EV_FLOAT_REAX &ev, const int &i, const if (eflag_atom) { //Kokkos::View::value> > a_eatom = v_eatom; - auto a_eatom = dup_eatom.template access::value>(); + auto a_eatom = dup_eatom.template access::value>(); const E_FLOAT epairhalf = 0.5 * epair; a_eatom[i] += epairhalf; @@ -3796,7 +3796,7 @@ void PairReaxCKokkos::e_tally_single(EV_FLOAT_REAX &ev, const int &i { // The eatom array is atomic for Half/Thread neighbor style //Kokkos::View::value> > a_eatom = v_eatom; - auto a_eatom = dup_eatom.template access::value>(); + auto a_eatom = dup_eatom.template access::value>(); a_eatom[i] += epair; } @@ -3830,7 +3830,7 @@ void PairReaxCKokkos::v_tally(EV_FLOAT_REAX &ev, const int &i, if (vflag_atom) { //Kokkos::View::value> > a_vatom = v_vatom; - auto a_vatom = dup_vatom.template access::value>(); + auto a_vatom = dup_vatom.template access::value>(); a_vatom(i,0) += v[0]; a_vatom(i,1) += v[1]; a_vatom(i,2) += v[2]; a_vatom(i,3) += v[3]; a_vatom(i,4) += v[4]; a_vatom(i,5) += v[5]; @@ -3848,7 +3848,7 @@ void PairReaxCKokkos::v_tally3(EV_FLOAT_REAX &ev, const int &i, cons // The eatom and vatom arrays are atomic for Half/Thread neighbor style //Kokkos::View::value> > a_vatom = v_vatom; - auto a_vatom = dup_vatom.template access::value>(); + auto a_vatom = dup_vatom.template access::value>(); F_FLOAT v[6]; @@ -3909,7 +3909,7 @@ void PairReaxCKokkos::v_tally4(EV_FLOAT_REAX &ev, const int &i, cons if (vflag_atom) { //Kokkos::View::value> > a_vatom = v_vatom; - auto a_vatom = dup_vatom.template access::value>(); + auto a_vatom = dup_vatom.template access::value>(); a_vatom(i,0) += 0.25 * v[0]; a_vatom(i,1) += 0.25 * v[1]; a_vatom(i,2) += 0.25 * v[2]; a_vatom(i,3) += 0.25 * v[3]; a_vatom(i,4) += 0.25 * v[4]; a_vatom(i,5) += 0.25 * v[5]; -- GitLab From 81331e2a34fb79dbc15cf00f5e17c1d90821163b Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 21 Dec 2017 11:07:06 -0700 Subject: [PATCH 010/675] Better load balance fix_qeq_reax_kokkos for half neigh list --- src/KOKKOS/fix_qeq_reax_kokkos.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index d7632fe793..28838f27b6 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -398,19 +398,19 @@ void FixQEqReaxKokkos::compute_h_item(int ii, int &m_fill, const boo const X_FLOAT delz = x(j,2) - ztmp; if (neighflag != FULL) { + // skip half of the interactions const tagint jtag = tag(j); - flag = 0; - if (j < nlocal) flag = 1; - else if (itag < jtag) flag = 1; - else if (itag == jtag) { - if (delz > SMALL) flag = 1; - else if (fabs(delz) < SMALL) { - if (dely > SMALL) flag = 1; - else if (fabs(dely) < SMALL && delx > SMALL) - flag = 1; + if (j >= nlocal) { + if (itag > jtag) { + if ((itag+jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag+jtag) % 2 == 1) continue; + } else { + if (x(j,2) < ztmp) continue; + if (x(j,2) == ztmp && x(j,1) < ytmp) continue; + if (x(j,2) == ztmp && x(j,1) == ytmp && x(j,0) < xtmp) continue; } } - if (!flag) continue; } const F_FLOAT rsq = delx*delx + dely*dely + delz*delz; -- GitLab From dbc308f35233d1a88ae6dbeb6b3330280d29fc0c Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 1 Mar 2018 10:06:43 -0700 Subject: [PATCH 011/675] Add warning --- src/KOKKOS/kokkos.cpp | 6 ++++ src/KOKKOS/pair_kokkos.h | 47 +++++++++++++++++++++++++++++++- src/KOKKOS/pair_reaxc_kokkos.cpp | 39 ++++++++++++++------------ src/KOKKOS/pair_reaxc_kokkos.h | 18 ++++++------ 4 files changed, 83 insertions(+), 27 deletions(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 5a74223353..2f9fbdb28b 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -119,6 +119,12 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) Kokkos::Cuda::initialize(select_device); #else LMPHostType::initialize(num_threads,numa); + +#ifndef KOKKOS_HAVE_SERIAL + if (num_threads == 1) + error->warning(FLERR,"Using Kokkos Serial backend (i.e. Makefile.kokkos_mpi_only) performs better with 1 thread"); +#endif + #endif // default settings for package kokkos command diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index d9288cb7e8..4f10a4eb2f 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -61,7 +61,7 @@ struct AtomicF { }; // Determine memory traits for force array -// Do atomic trait when running HALFTHREAD neighbor list style +// Do atomic trait when running HALFTHREAD neighbor list style with CUDA template struct AtomicDup { enum {value = Kokkos::Experimental::ScatterNonAtomic}; @@ -74,6 +74,51 @@ struct AtomicDup { }; #endif +#ifdef LMP_KOKKOS_USE_ATOMICS + +#ifdef KOKKOS_ENABLE_OPENMP +template<> +struct AtomicDup { + enum {value = Kokkos::Experimental::ScatterAtomic}; +}; +#endif + +#ifdef KOKKOS_ENABLE_THREADS +template<> +struct AtomicDup { + enum {value = Kokkos::Experimental::ScatterAtomic}; +}; +#endif + +#endif + + +// Determine duplication traits for force array +// Use duplication when running threaded and not using atomics +template +struct DupF { + enum {value = Kokkos::Experimental::ScatterNonDuplicated}; +}; + +#ifndef LMP_KOKKOS_USE_ATOMICS + +#ifdef KOKKOS_ENABLE_OPENMP +template<> +struct DupF { + enum {value = Kokkos::Experimental::ScatterDuplicated}; +}; +#endif + +#ifdef KOKKOS_ENABLE_THREADS +template<> +struct DupF { + enum {value = Kokkos::Experimental::ScatterDuplicated}; +}; +#endif + +#endif + + //Specialisation for Neighborlist types Half, HalfThread, Full template struct PairComputeFunctor { diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index 1cbe8933e9..f34549bc8c 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -73,6 +73,14 @@ PairReaxCKokkos::PairReaxCKokkos(LAMMPS *lmp) : PairReaxC(lmp) k_error_flag = DAT::tdual_int_scalar("pair:error_flag"); k_nbuf_local = DAT::tdual_int_scalar("pair:nbuf_local"); + + static double t1 = 0.0; + static double t2 = 0.0; + static double t3 = 0.0; + static double t4 = 0.0; + static double t5 = 0.0; + static double t6 = 0.0; + static double t7 = 0.0; } /* ---------------------------------------------------------------------- */ @@ -674,6 +682,8 @@ void PairReaxCKokkos::LR_vdW_Coulomb( int i, int j, double r_ij, LR_ template void PairReaxCKokkos::compute(int eflag_in, int vflag_in) { + Kokkos::Timer timer; + copymode = 1; bocnt = hbcnt = 0; @@ -809,6 +819,7 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) // zero Kokkos::parallel_for(Kokkos::RangePolicy(0,nmax),*this); + if (neighflag == HALF) Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); else if (neighflag == HALFTHREAD) @@ -2309,13 +2320,7 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeMulti2, const int &ii, EV_FLOAT_REAX& ev) const { //Kokkos::View::value> > a_CdDelta = d_CdDelta; - Kokkos::View::value> > a_Cdbo = d_Cdbo; - Kokkos::View::value> > a_Cdbopi = d_Cdbopi; - Kokkos::View::value> > a_Cdbopi2 = d_Cdbopi2; auto a_CdDelta = dup_CdDelta.template access::value>(); - //auto a_Cdbo = dup_Cdbo.template access::value>(); - //auto a_Cdbopi = dup_Cdbopi.template access::value>(); - //auto a_Cdbopi2 = dup_Cdbopi2.template access::value>(); const int i = d_ilist[ii]; const int itype = type(i); @@ -2714,10 +2719,10 @@ void PairReaxCKokkos::operator()(PairReaxComputeAngular::operator()(PairReaxComputeAngular::operator()(PairReaxComputeTorsion::operator()(PairReaxUpdateBond, cons } if (flag) { - a_Cdbo(j,k_index) += Cdbo_i; - a_Cdbopi(j,k_index) += Cdbopi_i; - a_Cdbopi2(j,k_index) += Cdbopi2_i; + d_Cdbo(j,k_index) += Cdbo_i; + d_Cdbopi(j,k_index) += Cdbopi_i; + d_Cdbopi2(j,k_index) += Cdbopi2_i; } } } diff --git a/src/KOKKOS/pair_reaxc_kokkos.h b/src/KOKKOS/pair_reaxc_kokkos.h index 70aef2d608..f341da84c4 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.h +++ b/src/KOKKOS/pair_reaxc_kokkos.h @@ -412,15 +412,15 @@ class PairReaxCKokkos : public PairReaxC { typename AT::t_ffloat_2d_dl d_C1dbopi2, d_C2dbopi2, d_C3dbopi2, d_C4dbopi2; typename AT::t_ffloat_2d_dl d_Cdbo, d_Cdbopi, d_Cdbopi2, d_dDeltap_self; - Kokkos::Experimental::ScatterView dup_total_bo; - Kokkos::Experimental::ScatterView dup_CdDelta; - Kokkos::Experimental::ScatterView dup_eatom; - Kokkos::Experimental::ScatterView dup_f; - Kokkos::Experimental::ScatterView dup_vatom; - Kokkos::Experimental::ScatterView dup_dDeltap_self; - Kokkos::Experimental::ScatterView dup_Cdbo; - Kokkos::Experimental::ScatterView dup_Cdbopi; - Kokkos::Experimental::ScatterView dup_Cdbopi2; + Kokkos::Experimental::ScatterView::value> dup_total_bo; + Kokkos::Experimental::ScatterView::value> dup_CdDelta; + Kokkos::Experimental::ScatterView::value> dup_eatom; + Kokkos::Experimental::ScatterView::value> dup_f; + Kokkos::Experimental::ScatterView::value> dup_vatom; + Kokkos::Experimental::ScatterView::value> dup_dDeltap_self; + Kokkos::Experimental::ScatterView::value> dup_Cdbo; + Kokkos::Experimental::ScatterView::value> dup_Cdbopi; + Kokkos::Experimental::ScatterView::value> dup_Cdbopi2; typedef Kokkos::DualView tdual_ffloat_2d_n7; typedef typename tdual_ffloat_2d_n7::t_dev_const_randomread t_ffloat_2d_n7_randomread; -- GitLab From ed494b295fab613fbc83d49e8236105a337f574d Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 1 Mar 2018 11:52:39 -0700 Subject: [PATCH 012/675] WIP --- src/KOKKOS/fix_qeq_reax_kokkos.cpp | 2 +- src/KOKKOS/fix_qeq_reax_kokkos.h | 3 +- src/KOKKOS/kokkos_type.h | 74 ++++++++++++++++++++++++++++++ src/KOKKOS/neigh_list_kokkos.h | 2 +- src/KOKKOS/pair_kokkos.h | 70 ---------------------------- src/KOKKOS/pair_reaxc_kokkos.cpp | 22 ++++----- src/KOKKOS/pair_reaxc_kokkos.h | 1 - 7 files changed, 88 insertions(+), 86 deletions(-) diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index 28838f27b6..7fa7f7f05a 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -250,7 +250,7 @@ void FixQEqReaxKokkos::pre_force(int vflag) k_t.template sync(); if (neighflag != FULL) - red_o = Kokkos::Experimental::create_scatter_view<> (d_o); // allocate duplicated memory + red_o = Kokkos::Experimental::create_scatter_view::value> (d_o); // allocate duplicated memory // 1st cg solve over b_s, s cg_solve1(); diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.h b/src/KOKKOS/fix_qeq_reax_kokkos.h index 27be712ad8..9920325cf1 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.h +++ b/src/KOKKOS/fix_qeq_reax_kokkos.h @@ -22,7 +22,6 @@ FixStyle(qeq/reax/kk/host,FixQEqReaxKokkos) #ifndef LMP_FIX_QEQ_REAX_KOKKOS_H #define LMP_FIX_QEQ_REAX_KOKKOS_H -#include #include "fix_qeq_reax.h" #include "kokkos_type.h" #include "neigh_list.h" @@ -193,7 +192,7 @@ class FixQEqReaxKokkos : public FixQEqReax { HAT::t_ffloat_2d h_s_hist, h_t_hist; typename AT::t_ffloat_2d_randomread r_s_hist, r_t_hist; - Kokkos::Experimental::ScatterView red_o; + Kokkos::Experimental::ScatterView::value> red_o; void init_shielding_k(); void init_hist(); diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 6b6fc8610a..de0dab8eb1 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -20,6 +20,9 @@ #include #include #include +#include + +enum{FULL=1u,HALFTHREAD=2u,HALF=4u,N2=8u}; // same as in neigh_list_kokkos.h #if defined(KOKKOS_HAVE_CXX11) #undef ISFINITE @@ -205,6 +208,77 @@ struct ExecutionSpaceFromDevice { }; #endif + +// Determine memory traits for force array +// Do atomic trait when running HALFTHREAD neighbor list style +template +struct AtomicF { + enum {value = Kokkos::Unmanaged}; +}; + +template<> +struct AtomicF { + enum {value = Kokkos::Atomic|Kokkos::Unmanaged}; +}; + +// Determine memory traits for force array +// Do atomic trait when running HALFTHREAD neighbor list style with CUDA +template +struct AtomicDup { + enum {value = Kokkos::Experimental::ScatterNonAtomic}; +}; + +#ifdef KOKKOS_ENABLE_CUDA +template<> +struct AtomicDup { + enum {value = Kokkos::Experimental::ScatterAtomic}; +}; +#endif + +#ifdef LMP_KOKKOS_USE_ATOMICS + +#ifdef KOKKOS_ENABLE_OPENMP +template<> +struct AtomicDup { + enum {value = Kokkos::Experimental::ScatterAtomic}; +}; +#endif + +#ifdef KOKKOS_ENABLE_THREADS +template<> +struct AtomicDup { + enum {value = Kokkos::Experimental::ScatterAtomic}; +}; +#endif + +#endif + + +// Determine duplication traits for force array +// Use duplication when running threaded and not using atomics +template +struct DupF { + enum {value = Kokkos::Experimental::ScatterNonDuplicated}; +}; + +#ifndef LMP_KOKKOS_USE_ATOMICS + +#ifdef KOKKOS_ENABLE_OPENMP +template<> +struct DupF { + enum {value = Kokkos::Experimental::ScatterDuplicated}; +}; +#endif + +#ifdef KOKKOS_ENABLE_THREADS +template<> +struct DupF { + enum {value = Kokkos::Experimental::ScatterDuplicated}; +}; +#endif + +#endif + // define precision // handle global precision, force, energy, positions, kspace separately diff --git a/src/KOKKOS/neigh_list_kokkos.h b/src/KOKKOS/neigh_list_kokkos.h index 1c433f321c..993543157b 100644 --- a/src/KOKKOS/neigh_list_kokkos.h +++ b/src/KOKKOS/neigh_list_kokkos.h @@ -20,7 +20,7 @@ namespace LAMMPS_NS { -enum{FULL=1u,HALFTHREAD=2u,HALF=4u,N2=8u}; +enum{FULL=1u,HALFTHREAD=2u,HALF=4u,N2=8u}; // same as in kokkos_type.h class AtomNeighbors { diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index 4f10a4eb2f..be4eb574e2 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -48,76 +48,6 @@ struct DoCoul<1> { typedef CoulTag type; }; -// Determine memory traits for force array -// Do atomic trait when running HALFTHREAD neighbor list style -template -struct AtomicF { - enum {value = Kokkos::Unmanaged}; -}; - -template<> -struct AtomicF { - enum {value = Kokkos::Atomic|Kokkos::Unmanaged}; -}; - -// Determine memory traits for force array -// Do atomic trait when running HALFTHREAD neighbor list style with CUDA -template -struct AtomicDup { - enum {value = Kokkos::Experimental::ScatterNonAtomic}; -}; - -#ifdef KOKKOS_ENABLE_CUDA -template<> -struct AtomicDup { - enum {value = Kokkos::Experimental::ScatterAtomic}; -}; -#endif - -#ifdef LMP_KOKKOS_USE_ATOMICS - -#ifdef KOKKOS_ENABLE_OPENMP -template<> -struct AtomicDup { - enum {value = Kokkos::Experimental::ScatterAtomic}; -}; -#endif - -#ifdef KOKKOS_ENABLE_THREADS -template<> -struct AtomicDup { - enum {value = Kokkos::Experimental::ScatterAtomic}; -}; -#endif - -#endif - - -// Determine duplication traits for force array -// Use duplication when running threaded and not using atomics -template -struct DupF { - enum {value = Kokkos::Experimental::ScatterNonDuplicated}; -}; - -#ifndef LMP_KOKKOS_USE_ATOMICS - -#ifdef KOKKOS_ENABLE_OPENMP -template<> -struct DupF { - enum {value = Kokkos::Experimental::ScatterDuplicated}; -}; -#endif - -#ifdef KOKKOS_ENABLE_THREADS -template<> -struct DupF { - enum {value = Kokkos::Experimental::ScatterDuplicated}; -}; -#endif - -#endif - //Specialisation for Neighborlist types Half, HalfThread, Full template diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index f34549bc8c..55354f7c93 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -723,9 +723,9 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) d_ilist = k_list->d_ilist; // allocate duplicated memory - dup_f = Kokkos::Experimental::create_scatter_view<>(f); - dup_eatom = Kokkos::Experimental::create_scatter_view<>(v_eatom); - dup_vatom = Kokkos::Experimental::create_scatter_view<>(v_vatom); + dup_f = Kokkos::Experimental::create_scatter_view::value>(f); + dup_eatom = Kokkos::Experimental::create_scatter_view::value>(v_eatom); + dup_vatom = Kokkos::Experimental::create_scatter_view::value>(v_vatom); if (eflag_global) { for (int i = 0; i < 14; i++) @@ -797,8 +797,8 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) } // allocate duplicated memory - dup_dDeltap_self = Kokkos::Experimental::create_scatter_view<>(d_dDeltap_self); - dup_total_bo = Kokkos::Experimental::create_scatter_view<>(d_total_bo); + dup_dDeltap_self = Kokkos::Experimental::create_scatter_view::value>(d_dDeltap_self); + dup_total_bo = Kokkos::Experimental::create_scatter_view::value>(d_total_bo); // Neighbor lists for bond and hbond @@ -840,16 +840,16 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) resize = resize_bo || resize_hb; if (resize) { allocate_array(); - dup_dDeltap_self = Kokkos::Experimental::create_scatter_view<>(d_dDeltap_self); - dup_total_bo = Kokkos::Experimental::create_scatter_view<>(d_total_bo); + dup_dDeltap_self = Kokkos::Experimental::create_scatter_view::value>(d_dDeltap_self); + dup_total_bo = Kokkos::Experimental::create_scatter_view::value>(d_total_bo); } } // allocate duplicated memory - dup_CdDelta = Kokkos::Experimental::create_scatter_view<>(d_CdDelta); - //dup_Cdbo = Kokkos::Experimental::create_scatter_view<>(d_Cdbo); - //dup_Cdbopi = Kokkos::Experimental::create_scatter_view<>(d_Cdbopi); - //dup_Cdbopi2 = Kokkos::Experimental::create_scatter_view<>(d_Cdbopi2); + dup_CdDelta = Kokkos::Experimental::create_scatter_view::value>(d_CdDelta); + //dup_Cdbo = Kokkos::Experimental::create_scatter_view::value>(d_Cdbo); + //dup_Cdbopi = Kokkos::Experimental::create_scatter_view::value>(d_Cdbopi); + //dup_Cdbopi2 = Kokkos::Experimental::create_scatter_view::value>(d_Cdbopi2); // reduction over duplicated memory Kokkos::Experimental::contribute(d_total_bo, dup_total_bo); // needed in BondOrder1 diff --git a/src/KOKKOS/pair_reaxc_kokkos.h b/src/KOKKOS/pair_reaxc_kokkos.h index f341da84c4..23a5c79b24 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.h +++ b/src/KOKKOS/pair_reaxc_kokkos.h @@ -24,7 +24,6 @@ PairStyle(reax/c/kk/host,PairReaxCKokkos) #define LMP_PAIR_REAXC_KOKKOS_H #include -#include #include "pair_kokkos.h" #include "pair_reaxc.h" #include "neigh_list_kokkos.h" -- GitLab From 6dd8efd0b479ba3648798765fe1d8a294b3000e4 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 21 Mar 2018 17:20:45 -0600 Subject: [PATCH 013/675] Add if statements --- src/KOKKOS/fix_qeq_reax_kokkos.cpp | 46 +++++-- src/KOKKOS/fix_qeq_reax_kokkos.h | 4 +- src/KOKKOS/kokkos.h | 13 ++ src/KOKKOS/pair_kokkos.h | 29 +++- src/KOKKOS/pair_reaxc_kokkos.cpp | 212 ++++++++++++++++++----------- src/KOKKOS/pair_reaxc_kokkos.h | 35 +++-- 6 files changed, 230 insertions(+), 109 deletions(-) diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index 28838f27b6..be04d305cb 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -249,8 +249,12 @@ void FixQEqReaxKokkos::pre_force(int vflag) k_t.template modify(); k_t.template sync(); - if (neighflag != FULL) - red_o = Kokkos::Experimental::create_scatter_view<> (d_o); // allocate duplicated memory + need_dup = lmp->kokkos->need_dup(); + + if (need_dup) + dup_o = Kokkos::Experimental::create_scatter_view (d_o); // allocate duplicated memory + else + ndup_o = Kokkos::Experimental::create_scatter_view (d_o); // 1st cg solve over b_s, s cg_solve1(); @@ -258,8 +262,8 @@ void FixQEqReaxKokkos::pre_force(int vflag) // 2nd cg solve over b_t, t cg_solve2(); - if (neighflag != FULL) - red_o = decltype(red_o)(); // free duplicated memory + if (need_dup) + dup_o = decltype(dup_o)(); // free duplicated memory // calculate_Q(); calculate_q(); @@ -489,7 +493,9 @@ void FixQEqReaxKokkos::cg_solve1() Kokkos::parallel_for(Kokkos::RangePolicy(nlocal,nlocal+atom->nghost),*this); FixQEqReaxKokkosSparse13Functor sparse13_functor(this); Kokkos::parallel_for(inum,sparse13_functor); - Kokkos::Experimental::contribute(d_o, red_o); + if (need_dup) + if (need_dup) + Kokkos::Experimental::contribute(d_o, dup_o); } else { Kokkos::parallel_for(Kokkos::TeamPolicy (inum, teamsize), *this); } @@ -537,10 +543,13 @@ void FixQEqReaxKokkos::cg_solve1() Kokkos::parallel_for(inum,sparse22_functor); if (neighflag != FULL) { Kokkos::parallel_for(Kokkos::RangePolicy(nlocal,nlocal+atom->nghost),*this); - red_o.reset_except(d_o); + if (need_dup) + dup_o.reset_except(d_o); FixQEqReaxKokkosSparse23Functor sparse23_functor(this); Kokkos::parallel_for(inum,sparse23_functor); - Kokkos::Experimental::contribute(d_o, red_o); + if (need_dup) + if (need_dup) + Kokkos::Experimental::contribute(d_o, dup_o); } else { Kokkos::parallel_for(Kokkos::TeamPolicy (inum, teamsize), *this); } @@ -610,10 +619,13 @@ void FixQEqReaxKokkos::cg_solve2() Kokkos::parallel_for(inum,sparse32_functor); if (neighflag != FULL) { Kokkos::parallel_for(Kokkos::RangePolicy(nlocal,nlocal+atom->nghost),*this); - red_o.reset_except(d_o); + if (need_dup) + dup_o.reset_except(d_o); FixQEqReaxKokkosSparse33Functor sparse33_functor(this); Kokkos::parallel_for(inum,sparse33_functor); - Kokkos::Experimental::contribute(d_o, red_o); + if (need_dup) + if (need_dup) + Kokkos::Experimental::contribute(d_o, dup_o); } else { Kokkos::parallel_for(Kokkos::TeamPolicy (inum, teamsize), *this); } @@ -661,10 +673,13 @@ void FixQEqReaxKokkos::cg_solve2() Kokkos::parallel_for(inum,sparse22_functor); if (neighflag != FULL) { Kokkos::parallel_for(Kokkos::RangePolicy(nlocal,nlocal+atom->nghost),*this); - red_o.reset_except(d_o); + if (need_dup) + dup_o.reset_except(d_o); FixQEqReaxKokkosSparse23Functor sparse23_functor(this); Kokkos::parallel_for(inum,sparse23_functor); - Kokkos::Experimental::contribute(d_o, red_o); + if (need_dup) + if (need_dup) + Kokkos::Experimental::contribute(d_o, dup_o); } else { Kokkos::parallel_for(Kokkos::TeamPolicy (inum, teamsize), *this); } @@ -777,7 +792,8 @@ KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse13_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto a_o = red_o.template access::value>(); + auto v_o = ScatterViewHelper::value,decltype(dup_o),decltype(ndup_o)>::get(dup_o,ndup_o); + auto a_o = v_o.template access::value>(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -829,7 +845,8 @@ KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse23_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto a_o = red_o.template access::value>(); + auto v_o = ScatterViewHelper::value,decltype(dup_o),decltype(ndup_o)>::get(dup_o,ndup_o); + auto a_o = v_o.template access::value>(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { @@ -888,7 +905,8 @@ KOKKOS_INLINE_FUNCTION void FixQEqReaxKokkos::sparse33_item(int ii) const { // The q array is duplicated for OpenMP, atomic for CUDA, and neither for Serial - auto a_o = red_o.template access::value>(); + auto v_o = ScatterViewHelper::value,decltype(dup_o),decltype(ndup_o)>::get(dup_o,ndup_o); + auto a_o = v_o.template access::value>(); const int i = d_ilist[ii]; if (mask[i] & groupbit) { diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.h b/src/KOKKOS/fix_qeq_reax_kokkos.h index 27be712ad8..4caacdf8a8 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.h +++ b/src/KOKKOS/fix_qeq_reax_kokkos.h @@ -149,6 +149,7 @@ class FixQEqReaxKokkos : public FixQEqReax { private: int inum; int allocated_flag; + int need_dup; typedef Kokkos::DualView tdual_int_1d; Kokkos::DualView k_params; @@ -193,7 +194,8 @@ class FixQEqReaxKokkos : public FixQEqReax { HAT::t_ffloat_2d h_s_hist, h_t_hist; typename AT::t_ffloat_2d_randomread r_s_hist, r_t_hist; - Kokkos::Experimental::ScatterView red_o; + Kokkos::Experimental::ScatterView dup_o; + Kokkos::Experimental::ScatterView ndup_o; void init_shielding_k(); void init_hist(); diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index 7b7848f1f0..6ecb27eb32 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -16,6 +16,7 @@ #include "pointers.h" #include "kokkos_type.h" +#include "pair_kokkos.h" namespace LAMMPS_NS { @@ -39,6 +40,18 @@ class KokkosLMP : protected Pointers { ~KokkosLMP(); void accelerator(int, char **); int neigh_count(int); + + template + int need_dup() + { + int value = 0; + + if (neighflag == HALFTHREAD) + value = NeedDup::value; + + return value; + }; + private: static void my_signal_handler(int); }; diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index 4f10a4eb2f..1ec5dff0c8 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -95,8 +95,8 @@ struct AtomicDup { // Determine duplication traits for force array // Use duplication when running threaded and not using atomics -template -struct DupF { +template +struct NeedDup { enum {value = Kokkos::Experimental::ScatterNonDuplicated}; }; @@ -104,20 +104,41 @@ struct DupF { #ifdef KOKKOS_ENABLE_OPENMP template<> -struct DupF { +struct NeedDup { enum {value = Kokkos::Experimental::ScatterDuplicated}; }; #endif #ifdef KOKKOS_ENABLE_THREADS template<> -struct DupF { +struct NeedDup { enum {value = Kokkos::Experimental::ScatterDuplicated}; }; #endif #endif +template +class ScatterViewHelper {}; + +template +class ScatterViewHelper { +public: + KOKKOS_INLINE_FUNCTION + static T1 get(const T1 &dup, const T2 &nondup) { + return dup; + } +}; + +template +class ScatterViewHelper { +public: + KOKKOS_INLINE_FUNCTION + static T2 get(const T1 &dup, const T2 &nondup) { + return nondup; + } +}; + //Specialisation for Neighborlist types Half, HalfThread, Full template diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index f34549bc8c..842aeeea43 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -722,10 +722,18 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) d_neighbors = k_list->d_neighbors; d_ilist = k_list->d_ilist; + need_dup = lmp->kokkos->need_dup(); + // allocate duplicated memory - dup_f = Kokkos::Experimental::create_scatter_view<>(f); - dup_eatom = Kokkos::Experimental::create_scatter_view<>(v_eatom); - dup_vatom = Kokkos::Experimental::create_scatter_view<>(v_vatom); + if (need_dup) { + dup_f = Kokkos::Experimental::create_scatter_view(f); + dup_eatom = Kokkos::Experimental::create_scatter_view(d_eatom); + dup_vatom = Kokkos::Experimental::create_scatter_view(d_vatom); + } else { + ndup_f = Kokkos::Experimental::create_scatter_view(f); + ndup_eatom = Kokkos::Experimental::create_scatter_view(d_eatom); + ndup_vatom = Kokkos::Experimental::create_scatter_view(d_vatom); + } if (eflag_global) { for (int i = 0; i < 14; i++) @@ -797,9 +805,13 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) } // allocate duplicated memory - dup_dDeltap_self = Kokkos::Experimental::create_scatter_view<>(d_dDeltap_self); - dup_total_bo = Kokkos::Experimental::create_scatter_view<>(d_total_bo); - + if (need_dup) { + dup_dDeltap_self = Kokkos::Experimental::create_scatter_view(d_dDeltap_self); + dup_total_bo = Kokkos::Experimental::create_scatter_view(d_total_bo); + } else { + ndup_dDeltap_self = Kokkos::Experimental::create_scatter_view(d_dDeltap_self); + ndup_total_bo = Kokkos::Experimental::create_scatter_view(d_total_bo); + } // Neighbor lists for bond and hbond // try, resize if necessary @@ -840,19 +852,32 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) resize = resize_bo || resize_hb; if (resize) { allocate_array(); - dup_dDeltap_self = Kokkos::Experimental::create_scatter_view<>(d_dDeltap_self); - dup_total_bo = Kokkos::Experimental::create_scatter_view<>(d_total_bo); + if (need_dup) { + dup_dDeltap_self = Kokkos::Experimental::create_scatter_view(d_dDeltap_self); + dup_total_bo = Kokkos::Experimental::create_scatter_view(d_total_bo); + } else { + ndup_dDeltap_self = Kokkos::Experimental::create_scatter_view(d_dDeltap_self); + ndup_total_bo = Kokkos::Experimental::create_scatter_view(d_total_bo); + } } } // allocate duplicated memory - dup_CdDelta = Kokkos::Experimental::create_scatter_view<>(d_CdDelta); - //dup_Cdbo = Kokkos::Experimental::create_scatter_view<>(d_Cdbo); - //dup_Cdbopi = Kokkos::Experimental::create_scatter_view<>(d_Cdbopi); - //dup_Cdbopi2 = Kokkos::Experimental::create_scatter_view<>(d_Cdbopi2); + if (need_dup) { + dup_CdDelta = Kokkos::Experimental::create_scatter_view(d_CdDelta); + //dup_Cdbo = Kokkos::Experimental::create_scatter_view(d_Cdbo); + //dup_Cdbopi = Kokkos::Experimental::create_scatter_view(d_Cdbopi); + //dup_Cdbopi2 = Kokkos::Experimental::create_scatter_view(d_Cdbopi2); + } else { + ndup_CdDelta = Kokkos::Experimental::create_scatter_view(d_CdDelta); + //ndup_Cdbo = Kokkos::Experimental::create_scatter_view(d_Cdbo); + //ndup_Cdbopi = Kokkos::Experimental::create_scatter_view(d_Cdbopi); + //ndup_Cdbopi2 = Kokkos::Experimental::create_scatter_view(d_Cdbopi2); + } // reduction over duplicated memory - Kokkos::Experimental::contribute(d_total_bo, dup_total_bo); // needed in BondOrder1 + if (need_dup) + Kokkos::Experimental::contribute(d_total_bo, dup_total_bo); // needed in BondOrder1 // Bond order if (neighflag == HALF) { @@ -958,24 +983,28 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) ev_all.evdwl += ev.ereax[8]; // reduction over duplicated memory - Kokkos::Experimental::contribute(d_dDeltap_self, dup_dDeltap_self); // needed in ComputeBond2 - Kokkos::Experimental::contribute(d_CdDelta, dup_CdDelta); // needed in ComputeBond2 - - //Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in UpdateBond, but also used in UpdateBond - //Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in UpdateBond, but also used in UpdateBond - //Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in UpdateBond, but also used in UpdateBond - //dup_Cdbo.reset_except(d_Cdbo); - //dup_Cdbopi.reset_except(d_Cdbopi); - //dup_Cdbopi2.reset_except(d_Cdbopi2); + if (need_dup) { + Kokkos::Experimental::contribute(d_dDeltap_self, dup_dDeltap_self); // needed in ComputeBond2 + Kokkos::Experimental::contribute(d_CdDelta, dup_CdDelta); // needed in ComputeBond2 + + //Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in UpdateBond, but also used in UpdateBond + //Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in UpdateBond, but also used in UpdateBond + //Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in UpdateBond, but also used in UpdateBond + //dup_Cdbo.reset_except(d_Cdbo); + //dup_Cdbopi.reset_except(d_Cdbopi); + //dup_Cdbopi2.reset_except(d_Cdbopi2); + } // Bond force if (neighflag == HALF) { Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); // reduction over duplicated memory - //Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 - //Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 - //Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 + //if (need_dup) { + // Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 + // Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 + // Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 + //} if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); @@ -987,9 +1016,11 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) Kokkos::parallel_for(Kokkos::RangePolicy >(0,ignum),*this); // reduction over duplicated memory - //Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 - //Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 - //Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 + //if (need_dup) { + // Kokkos::Experimental::contribute(d_Cdbo, dup_Cdbo); // needed in ComputeBond2 + // Kokkos::Experimental::contribute(d_Cdbopi, dup_Cdbopi); // needed in ComputeBond2 + // Kokkos::Experimental::contribute(d_Cdbopi2, dup_Cdbopi2); // needed in ComputeBond2 + //} if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,ignum),*this,ev); @@ -1000,7 +1031,8 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) } // reduction over duplicated memory - Kokkos::Experimental::contribute(f, dup_f); + if (need_dup) + Kokkos::Experimental::contribute(f, dup_f); if (eflag_global) { eng_vdwl += ev_all.evdwl; @@ -1018,13 +1050,15 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) if (vflag_fdotr) pair_virial_fdotr_compute(this); if (eflag_atom) { - Kokkos::Experimental::contribute(v_eatom, dup_eatom); + if (need_dup) + Kokkos::Experimental::contribute(d_eatom, dup_eatom); k_eatom.template modify(); k_eatom.template sync(); } if (vflag_atom) { - Kokkos::Experimental::contribute(v_vatom, dup_vatom); + if (need_dup) + Kokkos::Experimental::contribute(d_vatom, dup_vatom); k_vatom.template modify(); k_vatom.template sync(); } @@ -1033,15 +1067,17 @@ void PairReaxCKokkos::compute(int eflag_in, int vflag_in) FindBondSpecies(); // free duplicated memory - dup_f = decltype(dup_f)(); - dup_dDeltap_self = decltype(dup_dDeltap_self)(); - dup_total_bo = decltype(dup_total_bo)(); - dup_CdDelta = decltype(dup_CdDelta)(); - //dup_Cdbo = decltype(dup_Cdbo)(); - //dup_Cdbopi = decltype(dup_Cdbopi)(); - //dup_Cdbopi2 = decltype(dup_Cdbopi2)(); - dup_eatom = decltype(dup_eatom)(); - dup_vatom = decltype(dup_vatom)(); + if (need_dup) { + dup_f = decltype(dup_f)(); + dup_dDeltap_self = decltype(dup_dDeltap_self)(); + dup_total_bo = decltype(dup_total_bo)(); + dup_CdDelta = decltype(dup_CdDelta)(); + //dup_Cdbo = decltype(dup_Cdbo)(); + //dup_Cdbopi = decltype(dup_Cdbopi)(); + //dup_Cdbopi2 = decltype(dup_Cdbopi2)(); + dup_eatom = decltype(dup_eatom)(); + dup_vatom = decltype(dup_vatom)(); + } copymode = 0; } @@ -1084,7 +1120,8 @@ void PairReaxCKokkos::operator()(PairReaxComputeLJCoulomb::value> > a_f = f; - auto a_f = dup_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); F_FLOAT powr_vdw, powgi_vdw, fn13, dfn13, exp1, exp2, etmp; F_FLOAT evdwl, fvdwl; @@ -1244,7 +1281,8 @@ void PairReaxCKokkos::operator()(PairReaxComputeTabulatedLJCoulomb::value> > a_f = f; - auto a_f = dup_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -1444,18 +1482,18 @@ void PairReaxCKokkos::operator()(PairReaxZero, const int &n) const { template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxZeroEAtom, const int &i) const { - v_eatom(i) = 0.0; + d_eatom(i) = 0.0; } template KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxZeroVAtom, const int &i) const { - v_vatom(i,0) = 0.0; - v_vatom(i,1) = 0.0; - v_vatom(i,2) = 0.0; - v_vatom(i,3) = 0.0; - v_vatom(i,4) = 0.0; - v_vatom(i,5) = 0.0; + d_vatom(i,0) = 0.0; + d_vatom(i,1) = 0.0; + d_vatom(i,2) = 0.0; + d_vatom(i,3) = 0.0; + d_vatom(i,4) = 0.0; + d_vatom(i,5) = 0.0; } /* ---------------------------------------------------------------------- */ @@ -1626,9 +1664,11 @@ void PairReaxCKokkos::operator()(PairReaxBuildListsHalf, return; //Kokkos::View::value> > a_dDeltap_self = d_dDeltap_self; + auto v_dDeltap_self = ScatterViewHelper::value,decltype(dup_dDeltap_self),decltype(ndup_dDeltap_self)>::get(dup_dDeltap_self,ndup_dDeltap_self); + auto a_dDeltap_self = v_dDeltap_self.template access::value>(); //Kokkos::View::value> > a_total_bo = d_total_bo; - auto a_dDeltap_self = dup_dDeltap_self.template access::value>(); - auto a_total_bo = dup_total_bo.template access::value>(); + auto v_total_bo = ScatterViewHelper::value,decltype(dup_total_bo),decltype(ndup_total_bo)>::get(dup_total_bo,ndup_total_bo); + auto a_total_bo = v_total_bo.template access::value>(); const int i = d_ilist[ii]; const X_FLOAT xtmp = x(i,0); @@ -2320,7 +2360,8 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeMulti2, const int &ii, EV_FLOAT_REAX& ev) const { //Kokkos::View::value> > a_CdDelta = d_CdDelta; - auto a_CdDelta = dup_CdDelta.template access::value>(); + auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); + auto a_CdDelta = v_CdDelta.template access::value>(); const int i = d_ilist[ii]; const int itype = type(i); @@ -2472,12 +2513,13 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeAngular, const int &ii, EV_FLOAT_REAX& ev) const { //Kokkos::View::value> > a_f = f; + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); Kokkos::View::value> > a_Cdbo = d_Cdbo; - //Kokkos::View::value> > a_CdDelta = d_CdDelta; - auto a_f = dup_f.template access::value>(); //auto a_Cdbo = dup_Cdbo.template access::value>(); - auto a_CdDelta = dup_CdDelta.template access::value>(); - + //Kokkos::View::value> > a_CdDelta = d_CdDelta; + auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); + auto a_CdDelta = v_CdDelta.template access::value>(); const int i = d_ilist[ii]; const int itype = type(i); @@ -2785,10 +2827,12 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeTorsion, const int &ii, EV_FLOAT_REAX& ev) const { //Kokkos::View::value> > a_f = f; + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); //Kokkos::View::value> > a_CdDelta = d_CdDelta; + auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); + auto a_CdDelta = v_CdDelta.template access::value>(); Kokkos::View::value> > a_Cdbo = d_Cdbo; - auto a_f = dup_f.template access::value>(); - auto a_CdDelta = dup_CdDelta.template access::value>(); //auto a_Cdbo = dup_Cdbo.template access::value>(); // in reaxc_torsion_angles: j = i, k = j, i = k; @@ -3160,7 +3204,8 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeHydrogen, const int &ii, EV_FLOAT_REAX& ev) const { //Kokkos::View::value> > a_f = f; - auto a_f = dup_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); int hblist[MAX_BONDS]; F_FLOAT theta, cos_theta, sin_xhz4, cos_xhz1, sin_theta2; @@ -3360,9 +3405,12 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeBond1, const int &ii, EV_FLOAT_REAX& ev) const { //Kokkos::View::value> > a_f = f; + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); //Kokkos::View::value> > a_CdDelta = d_CdDelta; - auto a_f = dup_f.template access::value>(); - auto a_CdDelta = dup_CdDelta.template access::value>(); + auto v_CdDelta = ScatterViewHelper::value,decltype(dup_CdDelta),decltype(ndup_CdDelta)>::get(dup_CdDelta,ndup_CdDelta); + auto a_CdDelta = v_CdDelta.template access::value>(); + F_FLOAT delij[3]; F_FLOAT p_be1, p_be2, De_s, De_p, De_pp, pow_BOs_be2, exp_be12, CEbo, ebond; @@ -3500,7 +3548,8 @@ KOKKOS_INLINE_FUNCTION void PairReaxCKokkos::operator()(PairReaxComputeBond2, const int &ii, EV_FLOAT_REAX& ev) const { //Kokkos::View::value> > a_f = f; - auto a_f = dup_f.template access::value>(); + auto v_f = ScatterViewHelper::value,decltype(dup_f),decltype(ndup_f)>::get(dup_f,ndup_f); + auto a_f = v_f.template access::value>(); F_FLOAT delij[3], delik[3], deljk[3], tmpvec[3]; F_FLOAT dBOp_i[3], dBOp_k[3], dln_BOp_pi[3], dln_BOp_pi2[3]; @@ -3713,10 +3762,12 @@ void PairReaxCKokkos::ev_tally(EV_FLOAT_REAX &ev, const int &i, cons const int VFLAG = vflag_either; // The eatom and vatom arrays are atomic for Half/Thread neighbor style - //Kokkos::View::value> > a_eatom = v_eatom; - //Kokkos::View::value> > a_vatom = v_vatom; - auto a_eatom = dup_eatom.template access::value>(); - auto a_vatom = dup_vatom.template access::value>(); + //Kokkos::View::value> > a_eatom = d_eatom; + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); + //Kokkos::View::value> > a_vatom = d_vatom; + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); if (eflag_atom) { const E_FLOAT epairhalf = 0.5 * epair; @@ -3782,8 +3833,9 @@ void PairReaxCKokkos::e_tally(EV_FLOAT_REAX &ev, const int &i, const // The eatom array is atomic for Half/Thread neighbor style if (eflag_atom) { - //Kokkos::View::value> > a_eatom = v_eatom; - auto a_eatom = dup_eatom.template access::value>(); + //Kokkos::View::value> > a_eatom = d_eatom; + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); const E_FLOAT epairhalf = 0.5 * epair; a_eatom[i] += epairhalf; @@ -3800,8 +3852,9 @@ void PairReaxCKokkos::e_tally_single(EV_FLOAT_REAX &ev, const int &i const F_FLOAT &epair) const { // The eatom array is atomic for Half/Thread neighbor style - //Kokkos::View::value> > a_eatom = v_eatom; - auto a_eatom = dup_eatom.template access::value>(); + //Kokkos::View::value> > a_eatom = d_eatom; + auto v_eatom = ScatterViewHelper::value,decltype(dup_eatom),decltype(ndup_eatom)>::get(dup_eatom,ndup_eatom); + auto a_eatom = v_eatom.template access::value>(); a_eatom[i] += epair; } @@ -3834,8 +3887,9 @@ void PairReaxCKokkos::v_tally(EV_FLOAT_REAX &ev, const int &i, } if (vflag_atom) { - //Kokkos::View::value> > a_vatom = v_vatom; - auto a_vatom = dup_vatom.template access::value>(); + //Kokkos::View::value> > a_vatom = d_vatom; + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); a_vatom(i,0) += v[0]; a_vatom(i,1) += v[1]; a_vatom(i,2) += v[2]; a_vatom(i,3) += v[3]; a_vatom(i,4) += v[4]; a_vatom(i,5) += v[5]; @@ -3852,8 +3906,9 @@ void PairReaxCKokkos::v_tally3(EV_FLOAT_REAX &ev, const int &i, cons { // The eatom and vatom arrays are atomic for Half/Thread neighbor style - //Kokkos::View::value> > a_vatom = v_vatom; - auto a_vatom = dup_vatom.template access::value>(); + //Kokkos::View::value> > a_vatom = d_vatom; + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); F_FLOAT v[6]; @@ -3913,8 +3968,9 @@ void PairReaxCKokkos::v_tally4(EV_FLOAT_REAX &ev, const int &i, cons } if (vflag_atom) { - //Kokkos::View::value> > a_vatom = v_vatom; - auto a_vatom = dup_vatom.template access::value>(); + //Kokkos::View::value> > a_vatom = d_vatom; + auto v_vatom = ScatterViewHelper::value,decltype(dup_vatom),decltype(ndup_vatom)>::get(dup_vatom,ndup_vatom); + auto a_vatom = v_vatom.template access::value>(); a_vatom(i,0) += 0.25 * v[0]; a_vatom(i,1) += 0.25 * v[1]; a_vatom(i,2) += 0.25 * v[2]; a_vatom(i,3) += 0.25 * v[3]; a_vatom(i,4) += 0.25 * v[4]; a_vatom(i,5) += 0.25 * v[5]; @@ -4012,13 +4068,13 @@ void PairReaxCKokkos::ev_setup(int eflag, int vflag) maxeatom = atom->nmax; memoryKK->destroy_kokkos(k_eatom,eatom); memoryKK->create_kokkos(k_eatom,eatom,maxeatom,"pair:eatom"); - v_eatom = k_eatom.view(); + d_eatom = k_eatom.view(); } if (vflag_atom && atom->nmax > maxvatom) { maxvatom = atom->nmax; memoryKK->destroy_kokkos(k_vatom,vatom); memoryKK->create_kokkos(k_vatom,vatom,maxvatom,6,"pair:vatom"); - v_vatom = k_vatom.view(); + d_vatom = k_vatom.view(); } // zero accumulators diff --git a/src/KOKKOS/pair_reaxc_kokkos.h b/src/KOKKOS/pair_reaxc_kokkos.h index f341da84c4..aefa63a03d 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.h +++ b/src/KOKKOS/pair_reaxc_kokkos.h @@ -391,11 +391,10 @@ class PairReaxCKokkos : public PairReaxC { typename AT::t_tagint_1d_randomread molecule; DAT::tdual_efloat_1d k_eatom; - typename AT::t_efloat_1d v_eatom; + typename AT::t_efloat_1d d_eatom; DAT::tdual_virial_array k_vatom; - typename ArrayTypes::t_virial_array d_vatom; - typename AT::t_virial_array v_vatom; + typename AT::t_virial_array d_vatom; HAT::t_virial_array h_vatom; DAT::tdual_float_1d k_tap; @@ -412,15 +411,27 @@ class PairReaxCKokkos : public PairReaxC { typename AT::t_ffloat_2d_dl d_C1dbopi2, d_C2dbopi2, d_C3dbopi2, d_C4dbopi2; typename AT::t_ffloat_2d_dl d_Cdbo, d_Cdbopi, d_Cdbopi2, d_dDeltap_self; - Kokkos::Experimental::ScatterView::value> dup_total_bo; - Kokkos::Experimental::ScatterView::value> dup_CdDelta; - Kokkos::Experimental::ScatterView::value> dup_eatom; - Kokkos::Experimental::ScatterView::value> dup_f; - Kokkos::Experimental::ScatterView::value> dup_vatom; - Kokkos::Experimental::ScatterView::value> dup_dDeltap_self; - Kokkos::Experimental::ScatterView::value> dup_Cdbo; - Kokkos::Experimental::ScatterView::value> dup_Cdbopi; - Kokkos::Experimental::ScatterView::value> dup_Cdbopi2; + Kokkos::Experimental::ScatterView dup_total_bo; + Kokkos::Experimental::ScatterView dup_CdDelta; + Kokkos::Experimental::ScatterView dup_eatom; + Kokkos::Experimental::ScatterView dup_f; + Kokkos::Experimental::ScatterView dup_vatom; + Kokkos::Experimental::ScatterView dup_dDeltap_self; + Kokkos::Experimental::ScatterView dup_Cdbo; + Kokkos::Experimental::ScatterView dup_Cdbopi; + Kokkos::Experimental::ScatterView dup_Cdbopi2; + + Kokkos::Experimental::ScatterView ndup_total_bo; + Kokkos::Experimental::ScatterView ndup_CdDelta; + Kokkos::Experimental::ScatterView ndup_eatom; + Kokkos::Experimental::ScatterView ndup_f; + Kokkos::Experimental::ScatterView ndup_vatom; + Kokkos::Experimental::ScatterView ndup_dDeltap_self; + Kokkos::Experimental::ScatterView ndup_Cdbo; + Kokkos::Experimental::ScatterView ndup_Cdbopi; + Kokkos::Experimental::ScatterView ndup_Cdbopi2; + + int need_dup; typedef Kokkos::DualView tdual_ffloat_2d_n7; typedef typename tdual_ffloat_2d_n7::t_dev_const_randomread t_ffloat_2d_n7_randomread; -- GitLab From 2dcee75ae4deb58117cddcc65adbd1091fd544c4 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 22 Mar 2018 10:01:50 -0600 Subject: [PATCH 014/675] Add data duplication to pair_kokkos.h --- src/KOKKOS/kokkos_type.h | 31 +++++- src/KOKKOS/pair_kokkos.h | 197 ++++++++++++++------------------------- 2 files changed, 99 insertions(+), 129 deletions(-) diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index de0dab8eb1..c870bac31c 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -221,6 +221,7 @@ struct AtomicF { enum {value = Kokkos::Atomic|Kokkos::Unmanaged}; }; + // Determine memory traits for force array // Do atomic trait when running HALFTHREAD neighbor list style with CUDA template @@ -256,8 +257,8 @@ struct AtomicDup { // Determine duplication traits for force array // Use duplication when running threaded and not using atomics -template -struct DupF { +template +struct NeedDup { enum {value = Kokkos::Experimental::ScatterNonDuplicated}; }; @@ -265,20 +266,42 @@ struct DupF { #ifdef KOKKOS_ENABLE_OPENMP template<> -struct DupF { +struct NeedDup { enum {value = Kokkos::Experimental::ScatterDuplicated}; }; #endif #ifdef KOKKOS_ENABLE_THREADS template<> -struct DupF { +struct NeedDup { enum {value = Kokkos::Experimental::ScatterDuplicated}; }; #endif #endif +template +class ScatterViewHelper {}; + +template +class ScatterViewHelper { +public: + KOKKOS_INLINE_FUNCTION + static T1 get(const T1 &dup, const T2 &nondup) { + return dup; + } +}; + +template +class ScatterViewHelper { +public: + KOKKOS_INLINE_FUNCTION + static T2 get(const T1 &dup, const T2 &nondup) { + return nondup; + } +}; + + // define precision // handle global precision, force, energy, positions, kspace separately diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index 1ec5dff0c8..ab616d2c07 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -48,125 +48,48 @@ struct DoCoul<1> { typedef CoulTag type; }; -// Determine memory traits for force array -// Do atomic trait when running HALFTHREAD neighbor list style -template -struct AtomicF { - enum {value = Kokkos::Unmanaged}; -}; - -template<> -struct AtomicF { - enum {value = Kokkos::Atomic|Kokkos::Unmanaged}; -}; - -// Determine memory traits for force array -// Do atomic trait when running HALFTHREAD neighbor list style with CUDA -template -struct AtomicDup { - enum {value = Kokkos::Experimental::ScatterNonAtomic}; -}; - -#ifdef KOKKOS_ENABLE_CUDA -template<> -struct AtomicDup { - enum {value = Kokkos::Experimental::ScatterAtomic}; -}; -#endif - -#ifdef LMP_KOKKOS_USE_ATOMICS - -#ifdef KOKKOS_ENABLE_OPENMP -template<> -struct AtomicDup { - enum {value = Kokkos::Experimental::ScatterAtomic}; -}; -#endif - -#ifdef KOKKOS_ENABLE_THREADS -template<> -struct AtomicDup { - enum {value = Kokkos::Experimental::ScatterAtomic}; -}; -#endif - -#endif - - -// Determine duplication traits for force array -// Use duplication when running threaded and not using atomics -template -struct NeedDup { - enum {value = Kokkos::Experimental::ScatterNonDuplicated}; -}; - -#ifndef LMP_KOKKOS_USE_ATOMICS - -#ifdef KOKKOS_ENABLE_OPENMP -template<> -struct NeedDup { - enum {value = Kokkos::Experimental::ScatterDuplicated}; -}; -#endif - -#ifdef KOKKOS_ENABLE_THREADS -template<> -struct NeedDup { - enum {value = Kokkos::Experimental::ScatterDuplicated}; -}; -#endif - -#endif - -template -class ScatterViewHelper {}; - -template -class ScatterViewHelper { -public: - KOKKOS_INLINE_FUNCTION - static T1 get(const T1 &dup, const T2 &nondup) { - return dup; - } -}; - -template -class ScatterViewHelper { -public: - KOKKOS_INLINE_FUNCTION - static T2 get(const T1 &dup, const T2 &nondup) { - return nondup; - } -}; - //Specialisation for Neighborlist types Half, HalfThread, Full template struct PairComputeFunctor { typedef typename PairStyle::device_type device_type ; + typedef ArrayTypes AT; // Reduction type, contains evdwl, ecoul and virial[6] typedef EV_FLOAT value_type; // The copy of the pair style PairStyle c; + typename AT::t_f_array f; + typename AT::t_efloat_1d d_eatom; + typename AT::t_virial_array d_vatom; // The force array is atomic for Half/Thread neighbor style - Kokkos::View::value> > f; + //Kokkos::View::value> > f; + Kokkos::Experimental::ScatterView::value > dup_f; // The eatom and vatom arrays are atomic for Half/Thread neighbor style - Kokkos::View::value> > eatom; - Kokkos::View::value> > vatom; + //Kokkos::View::value> > eatom; + Kokkos::Experimental::ScatterView::value > dup_eatom; + + //Kokkos::View::value> > vatom; + Kokkos::Experimental::ScatterView::value > dup_vatom; + + NeighListKokkos list; PairComputeFunctor(PairStyle* c_ptr, NeighListKokkos* list_ptr): - c(*c_ptr),f(c.f),eatom(c.d_eatom), - vatom(c.d_vatom),list(*list_ptr) {}; + c(*c_ptr),list(*list_ptr) { + // allocate duplicated memory + dup_f = Kokkos::Experimental::create_scatter_view::value >(c.f); + dup_eatom = Kokkos::Experimental::create_scatter_view::value >(c.d_eatom); + dup_vatom = Kokkos::Experimental::create_scatter_view::value >(c.d_vatom); + }; // Call cleanup_copy which sets allocations NULL which are destructed by the PairStyle ~PairComputeFunctor() {c.cleanup_copy();list.copymode = 1;}; @@ -175,12 +98,25 @@ struct PairComputeFunctor { return j >> SBBITS & 3; } + void contribute() { + Kokkos::Experimental::contribute(c.f, dup_f); + + if (c.eflag_atom) + Kokkos::Experimental::contribute(c.d_eatom, dup_eatom); + + if (c.vflag_atom) + Kokkos::Experimental::contribute(c.d_vatom, dup_vatom); + } + // Loop over neighbors of one atom without coulomb interaction // This function is called in parallel template KOKKOS_FUNCTION EV_FLOAT compute_item(const int& ii, const NeighListKokkos &list, const NoCoulTag&) const { + + auto a_f = dup_f.template access::value>(); + EV_FLOAT ev; const int i = list.d_ilist[ii]; const X_FLOAT xtmp = c.x(i,0); @@ -214,9 +150,9 @@ struct PairComputeFunctor { fztmp += delz*fpair; if ((NEIGHFLAG==HALF || NEIGHFLAG==HALFTHREAD) && (NEWTON_PAIR || j < c.nlocal)) { - f(j,0) -= delx*fpair; - f(j,1) -= dely*fpair; - f(j,2) -= delz*fpair; + a_f(j,0) -= delx*fpair; + a_f(j,1) -= dely*fpair; + a_f(j,2) -= delz*fpair; } if (EVFLAG) { @@ -232,9 +168,9 @@ struct PairComputeFunctor { } - f(i,0) += fxtmp; - f(i,1) += fytmp; - f(i,2) += fztmp; + a_f(i,0) += fxtmp; + a_f(i,1) += fytmp; + a_f(i,2) += fztmp; return ev; } @@ -245,6 +181,9 @@ struct PairComputeFunctor { KOKKOS_FUNCTION EV_FLOAT compute_item(const int& ii, const NeighListKokkos &list, const CoulTag& ) const { + + auto a_f = dup_f.template access::value>(); + EV_FLOAT ev; const int i = list.d_ilist[ii]; const X_FLOAT xtmp = c.x(i,0); @@ -285,9 +224,9 @@ struct PairComputeFunctor { fztmp += delz*fpair; if ((NEIGHFLAG==HALF || NEIGHFLAG==HALFTHREAD) && (NEWTON_PAIR || j < c.nlocal)) { - f(j,0) -= delx*fpair; - f(j,1) -= dely*fpair; - f(j,2) -= delz*fpair; + a_f(j,0) -= delx*fpair; + a_f(j,1) -= dely*fpair; + a_f(j,2) -= delz*fpair; } if (EVFLAG) { @@ -309,9 +248,9 @@ struct PairComputeFunctor { } } - f(i,0) += fxtmp; - f(i,1) += fytmp; - f(i,2) += fztmp; + a_f(i,0) += fxtmp; + a_f(i,1) += fytmp; + a_f(i,2) += fztmp; return ev; } @@ -321,6 +260,9 @@ struct PairComputeFunctor { const F_FLOAT &epair, const F_FLOAT &fpair, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const { + auto a_eatom = dup_eatom.template access::value>(); + auto a_vatom = dup_vatom.template access::value>(); + const int EFLAG = c.eflag; const int NEWTON_PAIR = c.newton_pair; const int VFLAG = c.vflag_either; @@ -328,8 +270,8 @@ struct PairComputeFunctor { if (EFLAG) { if (c.eflag_atom) { const E_FLOAT epairhalf = 0.5 * epair; - if (NEWTON_PAIR || i < c.nlocal) eatom[i] += epairhalf; - if ((NEWTON_PAIR || j < c.nlocal) && NEIGHFLAG != FULL) eatom[j] += epairhalf; + if (NEWTON_PAIR || i < c.nlocal) a_eatom[i] += epairhalf; + if ((NEWTON_PAIR || j < c.nlocal) && NEIGHFLAG != FULL) a_eatom[j] += epairhalf; } } @@ -380,20 +322,20 @@ struct PairComputeFunctor { if (c.vflag_atom) { if (NEWTON_PAIR || i < c.nlocal) { - vatom(i,0) += 0.5*v0; - vatom(i,1) += 0.5*v1; - vatom(i,2) += 0.5*v2; - vatom(i,3) += 0.5*v3; - vatom(i,4) += 0.5*v4; - vatom(i,5) += 0.5*v5; + a_vatom(i,0) += 0.5*v0; + a_vatom(i,1) += 0.5*v1; + a_vatom(i,2) += 0.5*v2; + a_vatom(i,3) += 0.5*v3; + a_vatom(i,4) += 0.5*v4; + a_vatom(i,5) += 0.5*v5; } if ((NEWTON_PAIR || j < c.nlocal) && NEIGHFLAG != FULL) { - vatom(j,0) += 0.5*v0; - vatom(j,1) += 0.5*v1; - vatom(j,2) += 0.5*v2; - vatom(j,3) += 0.5*v3; - vatom(j,4) += 0.5*v4; - vatom(j,5) += 0.5*v5; + a_vatom(j,0) += 0.5*v0; + a_vatom(j,1) += 0.5*v1; + a_vatom(j,2) += 0.5*v2; + a_vatom(j,3) += 0.5*v3; + a_vatom(j,4) += 0.5*v4; + a_vatom(j,5) += 0.5*v5; } } } @@ -432,6 +374,9 @@ struct PairComputeFunctor { return j >> SBBITS & 3; } + + void contribute() {} + template KOKKOS_FUNCTION EV_FLOAT compute_item(const int& ii, @@ -570,10 +515,12 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, typename Kokkos::Impl::enable PairComputeFunctor ff(fpair,list); if (fpair->eflag || fpair->vflag) Kokkos::parallel_reduce(list->inum,ff,ev); else Kokkos::parallel_for(list->inum,ff); + ff.contribute(); } else { PairComputeFunctor ff(fpair,list); if (fpair->eflag || fpair->vflag) Kokkos::parallel_reduce(list->inum,ff,ev); else Kokkos::parallel_for(list->inum,ff); + ff.contribute(); } return ev; } -- GitLab From 28b894a1d76ce7b4038d2a8bd0e4d00aa3cbb40e Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 22 Mar 2018 12:09:04 -0600 Subject: [PATCH 015/675] Remove unnecessary semicolon --- src/KOKKOS/kokkos.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index 6ecb27eb32..c955bec600 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -50,7 +50,7 @@ class KokkosLMP : protected Pointers { value = NeedDup::value; return value; - }; + } private: static void my_signal_handler(int); -- GitLab From 385e1e5adf38668ddb4077a42eec22ada11576b7 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 22 Mar 2018 12:28:21 -0600 Subject: [PATCH 016/675] Fix compile error with CUDA --- src/KOKKOS/kokkos_type.h | 2 +- src/KOKKOS/neigh_list_kokkos.h | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 21430455ba..665e53ac34 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -22,7 +22,7 @@ #include #include -enum{FULL=1u,HALFTHREAD=2u,HALF=4u,N2=8u}; // same as in neigh_list_kokkos.h +enum{FULL=1u,HALFTHREAD=2u,HALF=4u,N2=8u}; #if defined(KOKKOS_HAVE_CXX11) #undef ISFINITE diff --git a/src/KOKKOS/neigh_list_kokkos.h b/src/KOKKOS/neigh_list_kokkos.h index 993543157b..585422c54f 100644 --- a/src/KOKKOS/neigh_list_kokkos.h +++ b/src/KOKKOS/neigh_list_kokkos.h @@ -20,8 +20,6 @@ namespace LAMMPS_NS { -enum{FULL=1u,HALFTHREAD=2u,HALF=4u,N2=8u}; // same as in kokkos_type.h - class AtomNeighbors { public: -- GitLab From 52254fe155e7cd5e4678c0b729305ba12850c8b4 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 2 Apr 2018 12:10:30 -0600 Subject: [PATCH 017/675] Fix issue in fix_qeq_reax_kokkos --- src/KOKKOS/fix_qeq_reax_kokkos.cpp | 36 +++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/src/KOKKOS/fix_qeq_reax_kokkos.cpp b/src/KOKKOS/fix_qeq_reax_kokkos.cpp index 4d2ff8b1e5..b9fd49dd4e 100644 --- a/src/KOKKOS/fix_qeq_reax_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reax_kokkos.cpp @@ -487,8 +487,13 @@ void FixQEqReaxKokkos::cg_solve1() Kokkos::parallel_for(inum,sparse12_functor); if (neighflag != FULL) { Kokkos::parallel_for(Kokkos::RangePolicy(nlocal,nlocal+atom->nghost),*this); - FixQEqReaxKokkosSparse13Functor sparse13_functor(this); - Kokkos::parallel_for(inum,sparse13_functor); + if (neighflag == HALF) { + FixQEqReaxKokkosSparse13Functor sparse13_functor(this); + Kokkos::parallel_for(inum,sparse13_functor); + } else if (neighflag == HALFTHREAD) { + FixQEqReaxKokkosSparse13Functor sparse13_functor(this); + Kokkos::parallel_for(inum,sparse13_functor); + } if (need_dup) if (need_dup) Kokkos::Experimental::contribute(d_o, dup_o); @@ -541,8 +546,13 @@ void FixQEqReaxKokkos::cg_solve1() Kokkos::parallel_for(Kokkos::RangePolicy(nlocal,nlocal+atom->nghost),*this); if (need_dup) dup_o.reset_except(d_o); - FixQEqReaxKokkosSparse23Functor sparse23_functor(this); - Kokkos::parallel_for(inum,sparse23_functor); + if (neighflag == HALF) { + FixQEqReaxKokkosSparse23Functor sparse23_functor(this); + Kokkos::parallel_for(inum,sparse23_functor); + } else if (neighflag == HALFTHREAD) { + FixQEqReaxKokkosSparse23Functor sparse23_functor(this); + Kokkos::parallel_for(inum,sparse23_functor); + } if (need_dup) if (need_dup) Kokkos::Experimental::contribute(d_o, dup_o); @@ -616,8 +626,13 @@ void FixQEqReaxKokkos::cg_solve2() Kokkos::parallel_for(Kokkos::RangePolicy(nlocal,nlocal+atom->nghost),*this); if (need_dup) dup_o.reset_except(d_o); - FixQEqReaxKokkosSparse33Functor sparse33_functor(this); - Kokkos::parallel_for(inum,sparse33_functor); + if (neighflag == HALF) { + FixQEqReaxKokkosSparse33Functor sparse33_functor(this); + Kokkos::parallel_for(inum,sparse33_functor); + } else if (neighflag == HALFTHREAD) { + FixQEqReaxKokkosSparse33Functor sparse33_functor(this); + Kokkos::parallel_for(inum,sparse33_functor); + } if (need_dup) if (need_dup) Kokkos::Experimental::contribute(d_o, dup_o); @@ -670,8 +685,13 @@ void FixQEqReaxKokkos::cg_solve2() Kokkos::parallel_for(Kokkos::RangePolicy(nlocal,nlocal+atom->nghost),*this); if (need_dup) dup_o.reset_except(d_o); - FixQEqReaxKokkosSparse23Functor sparse23_functor(this); - Kokkos::parallel_for(inum,sparse23_functor); + if (neighflag == HALF) { + FixQEqReaxKokkosSparse23Functor sparse23_functor(this); + Kokkos::parallel_for(inum,sparse23_functor); + } else if (neighflag == HALFTHREAD) { + FixQEqReaxKokkosSparse23Functor sparse23_functor(this); + Kokkos::parallel_for(inum,sparse23_functor); + } if (need_dup) if (need_dup) Kokkos::Experimental::contribute(d_o, dup_o); -- GitLab From 9b0f8a0c5510b493cd912f726f26a494a61c815a Mon Sep 17 00:00:00 2001 From: julient31 Date: Fri, 12 May 2017 11:43:30 -0600 Subject: [PATCH 018/675] First commit for the SPIN package. Changes to come: -Exchange interaction computation to check (loop on neighbors), -Temperature/random fluctuations to correct (effects too strong), -Physical results to check, -Add final interactions (DMI, ME, Dipolar), -Compute spin temperature (Nurdin and Ma formslisms), -Work on MPI parallelization, -Ewald sums to implement (see with Stan's pakage), -See for prefered magnetic axis (Mitchell's idea), --- src/SPIN/atom_vec_spin.cpp | 934 +++++++++++++++++++++++++++++++++ src/SPIN/atom_vec_spin.h | 90 ++++ src/SPIN/compute_spin.cpp | 134 +++++ src/SPIN/compute_spin.h | 67 +++ src/SPIN/fix_force_spin.cpp | 229 ++++++++ src/SPIN/fix_force_spin.h | 86 +++ src/SPIN/fix_langevin_spin.cpp | 204 +++++++ src/SPIN/fix_langevin_spin.h | 106 ++++ src/SPIN/fix_nve_spin.cpp | 211 ++++++++ src/SPIN/fix_nve_spin.h | 76 +++ src/SPIN/pair_spin.cpp | 339 ++++++++++++ src/SPIN/pair_spin.h | 75 +++ src/atom.cpp | 12 +- src/atom.h | 7 + src/dump_custom.cpp | 147 +++++- src/dump_custom.h | 5 + src/set.cpp | 90 +++- src/verlet.cpp | 3 + 18 files changed, 2801 insertions(+), 14 deletions(-) create mode 100644 src/SPIN/atom_vec_spin.cpp create mode 100644 src/SPIN/atom_vec_spin.h create mode 100644 src/SPIN/compute_spin.cpp create mode 100644 src/SPIN/compute_spin.h create mode 100644 src/SPIN/fix_force_spin.cpp create mode 100644 src/SPIN/fix_force_spin.h create mode 100644 src/SPIN/fix_langevin_spin.cpp create mode 100644 src/SPIN/fix_langevin_spin.h create mode 100644 src/SPIN/fix_nve_spin.cpp create mode 100644 src/SPIN/fix_nve_spin.h create mode 100755 src/SPIN/pair_spin.cpp create mode 100755 src/SPIN/pair_spin.h diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp new file mode 100644 index 0000000000..6d12a7d4e3 --- /dev/null +++ b/src/SPIN/atom_vec_spin.cpp @@ -0,0 +1,934 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include "atom_vec_spin.h" +#include "atom.h" +#include "comm.h" +#include "domain.h" +#include "modify.h" +#include "fix.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) +{ + molecular = 0; + mass_type = 1; + + comm_x_only = 0; + comm_f_only = 1; + size_forward = 6; + size_reverse = 3; + size_border = 11; + size_velocity = 3; + size_data_atom = 9; + size_data_vel = 4; + xcol_data = 4; + + forceclearflag = 1; + atom->mumag_flag = atom->sp_flag = 1; + //atom->rmass_flag = 1; +} + + +/* ---------------------------------------------------------------------- + grow atom arrays + n = 0 grows arrays by a chunk + n > 0 allocates arrays to size n +------------------------------------------------------------------------- */ + +void AtomVecSpin::grow(int n) +{ + if (n == 0) grow_nmax(); + else nmax = n; + atom->nmax = nmax; + if (nmax < 0 || nmax > MAXSMALLINT) + error->one(FLERR,"Per-processor system is too big"); + + tag = memory->grow(atom->tag,nmax,"atom:tag"); + type = memory->grow(atom->type,nmax,"atom:type"); + mask = memory->grow(atom->mask,nmax,"atom:mask"); + image = memory->grow(atom->image,nmax,"atom:image"); + x = memory->grow(atom->x,nmax,3,"atom:x"); + v = memory->grow(atom->v,nmax,3,"atom:v"); + f = memory->grow(atom->f,nmax*comm->nthreads,3,"atom:f"); + //Allocating mag. quantities + mumag = memory->grow(atom->mumag,nmax,"atom:mumag"); + sp = memory->grow(atom->sp,nmax,4,"atom:sp"); + fm = memory->grow(atom->fm,nmax*comm->nthreads,3,"atom:fm"); + + if (atom->nextra_grow) + for (int iextra = 0; iextra < atom->nextra_grow; iextra++) + modify->fix[atom->extra_grow[iextra]]->grow_arrays(nmax); +} + +/* ---------------------------------------------------------------------- + reset local array ptrs +------------------------------------------------------------------------- */ + +void AtomVecSpin::grow_reset() +{ + tag = atom->tag; type = atom->type; + mask = atom->mask; image = atom->image; + x = atom->x; v = atom->v; f = atom->f; + mumag = atom->mumag; sp = atom->sp; fm = atom->fm; +} + + +/* ---------------------------------------------------------------------- + copy atom I info to atom J +------------------------------------------------------------------------- */ + +void AtomVecSpin::copy(int i, int j, int delflag) +{ + tag[j] = tag[i]; + type[j] = type[i]; + mask[j] = mask[i]; + image[j] = image[i]; + x[j][0] = x[i][0]; + x[j][1] = x[i][1]; + x[j][2] = x[i][2]; + v[j][0] = v[i][0]; + v[j][1] = v[i][1]; + v[j][2] = v[i][2]; + + mumag[j] = mumag[i]; + sp[j][0] = sp[i][0]; + sp[j][1] = sp[i][1]; + sp[j][2] = sp[i][2]; + sp[j][3] = sp[i][3]; + + if (atom->nextra_grow) + for (int iextra = 0; iextra < atom->nextra_grow; iextra++) + modify->fix[atom->extra_grow[iextra]]->copy_arrays(i,j,delflag); +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_comm(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,m; + double dx,dy,dz; + + m = 0; + if (pbc_flag == 0) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0]; + buf[m++] = x[j][1]; + buf[m++] = x[j][2]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + } + } else { + if (domain->triclinic == 0) { + dx = pbc[0]*domain->xprd; + dy = pbc[1]*domain->yprd; + dz = pbc[2]*domain->zprd; + } else { + dx = pbc[0]*domain->xprd + pbc[5]*domain->xy + pbc[4]*domain->xz; + dy = pbc[1]*domain->yprd + pbc[3]*domain->yz; + dz = pbc[2]*domain->zprd; + } + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + } + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_comm_vel(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,m; + double dx,dy,dz,dvx,dvy,dvz; + + m = 0; + if (pbc_flag == 0) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0]; + buf[m++] = x[j][1]; + buf[m++] = x[j][2]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } else { + if (domain->triclinic == 0) { + dx = pbc[0]*domain->xprd; + dy = pbc[1]*domain->yprd; + dz = pbc[2]*domain->zprd; + } else { + dx = pbc[0]*domain->xprd + pbc[5]*domain->xy + pbc[4]*domain->xz; + dy = pbc[1]*domain->yprd + pbc[3]*domain->yz; + dz = pbc[2]*domain->zprd; + } + if (!deform_vremap) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } else { + dvx = pbc[0]*h_rate[0] + pbc[5]*h_rate[5] + pbc[4]*h_rate[4]; + dvy = pbc[1]*h_rate[1] + pbc[3]*h_rate[3]; + dvz = pbc[2]*h_rate[2]; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + if (mask[i] & deform_groupbit) { + buf[m++] = v[j][0] + dvx; + buf[m++] = v[j][1] + dvy; + buf[m++] = v[j][2] + dvz; + } else { + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } + } + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_comm_hybrid(int n, int *list, double *buf) +{ + int i,j,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecSpin::unpack_comm(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + x[i][0] = buf[m++]; + x[i][1] = buf[m++]; + x[i][2] = buf[m++]; + sp[i][0] = buf[m++]; + sp[i][1] = buf[m++]; + sp[i][2] = buf[m++]; + } +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecSpin::unpack_comm_vel(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + x[i][0] = buf[m++]; + x[i][1] = buf[m++]; + x[i][2] = buf[m++]; + sp[i][0] = buf[m++]; + sp[i][1] = buf[m++]; + sp[i][2] = buf[m++]; + v[i][0] = buf[m++]; + v[i][1] = buf[m++]; + v[i][2] = buf[m++]; + } +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::unpack_comm_hybrid(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + sp[i][0] = buf[m++]; + sp[i][1] = buf[m++]; + sp[i][2] = buf[m++]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_reverse(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + buf[m++] = f[i][0]; + buf[m++] = f[i][1]; + buf[m++] = f[i][2]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecSpin::unpack_reverse(int n, int *list, double *buf) +{ + int i,j,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + f[j][0] += buf[m++]; + f[j][1] += buf[m++]; + f[j][2] += buf[m++]; + } +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_border(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,m; + double dx,dy,dz; + + m = 0; + if (pbc_flag == 0) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0]; + buf[m++] = x[j][1]; + buf[m++] = x[j][2]; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = mumag[j]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + } + } else { + if (domain->triclinic == 0) { + dx = pbc[0]*domain->xprd; + dy = pbc[1]*domain->yprd; + dz = pbc[2]*domain->zprd; + } else { + dx = pbc[0]; + dy = pbc[1]; + dz = pbc[2]; + } + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = mumag[j]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + } + } + + if (atom->nextra_border) + for (int iextra = 0; iextra < atom->nextra_border; iextra++) + m += modify->fix[atom->extra_border[iextra]]->pack_border(n,list,&buf[m]); + + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_border_vel(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,m; + double dx,dy,dz,dvx,dvy,dvz; + + m = 0; + if (pbc_flag == 0) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0]; + buf[m++] = x[j][1]; + buf[m++] = x[j][2]; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = mumag[j]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } else { + if (domain->triclinic == 0) { + dx = pbc[0]*domain->xprd; + dy = pbc[1]*domain->yprd; + dz = pbc[2]*domain->zprd; + } else { + dx = pbc[0]; + dy = pbc[1]; + dz = pbc[2]; + } + if (!deform_vremap) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = mumag[j]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } else { + dvx = pbc[0]*h_rate[0] + pbc[5]*h_rate[5] + pbc[4]*h_rate[4]; + dvy = pbc[1]*h_rate[1] + pbc[3]*h_rate[3]; + dvz = pbc[2]*h_rate[2]; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = mumag[j]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + if (mask[i] & deform_groupbit) { + buf[m++] = v[j][0] + dvx; + buf[m++] = v[j][1] + dvy; + buf[m++] = v[j][2] + dvz; + } else { + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } + } + } + + if (atom->nextra_border) + for (int iextra = 0; iextra < atom->nextra_border; iextra++) + m += modify->fix[atom->extra_border[iextra]]->pack_border(n,list,&buf[m]); + + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_border_hybrid(int n, int *list, double *buf) +{ + int i,j,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = mumag[j]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + } + + return m; +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecSpin::unpack_border(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + if (i == nmax) grow(0); + x[i][0] = buf[m++]; + x[i][1] = buf[m++]; + x[i][2] = buf[m++]; + tag[i] = (tagint) ubuf(buf[m++]).i; + type[i] = (int) ubuf(buf[m++]).i; + mask[i] = (int) ubuf(buf[m++]).i; + mumag[i] = buf[m++]; + sp[i][0] = buf[m++]; + sp[i][1] = buf[m++]; + sp[i][2] = buf[m++]; + sp[i][3] = buf[m++]; + } + + if (atom->nextra_border) + for (int iextra = 0; iextra < atom->nextra_border; iextra++) + m += modify->fix[atom->extra_border[iextra]]-> + unpack_border(n,first,&buf[m]); + +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecSpin::unpack_border_vel(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + if (i == nmax) grow(0); + x[i][0] = buf[m++]; + x[i][1] = buf[m++]; + x[i][2] = buf[m++]; + tag[i] = (tagint) ubuf(buf[m++]).i; + type[i] = (int) ubuf(buf[m++]).i; + mask[i] = (int) ubuf(buf[m++]).i; + mumag[i] = buf[m++]; + sp[i][0] = buf[m++]; + sp[i][1] = buf[m++]; + sp[i][2] = buf[m++]; + sp[i][3] = buf[m++]; + v[i][0] = buf[m++]; + v[i][1] = buf[m++]; + v[i][2] = buf[m++]; + } + + if (atom->nextra_border) + for (int iextra = 0; iextra < atom->nextra_border; iextra++) + m += modify->fix[atom->extra_border[iextra]]-> + unpack_border(n,first,&buf[m]); + +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::unpack_border_hybrid(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + mumag[i] = buf[m++]; + sp[i][0] = buf[m++]; + sp[i][1] = buf[m++]; + sp[i][2] = buf[m++]; + sp[i][3] = buf[m++]; + } + + return m; +} + +/* ---------------------------------------------------------------------- + pack all atom quantities for shipping to another proc + xyz must be 1st 3 values, so that comm::exchange can test on them +------------------------------------------------------------------------- */ + +int AtomVecSpin::pack_exchange(int i, double *buf) +{ + int m = 1; + buf[m++] = x[i][0]; + buf[m++] = x[i][1]; + buf[m++] = x[i][2]; + buf[m++] = v[i][0]; + buf[m++] = v[i][1]; + buf[m++] = v[i][2]; + buf[m++] = ubuf(tag[i]).d; + buf[m++] = ubuf(type[i]).d; + buf[m++] = ubuf(mask[i]).d; + buf[m++] = ubuf(image[i]).d; + + buf[m++] = mumag[i]; + buf[m++] = sp[i][0]; + buf[m++] = sp[i][1]; + buf[m++] = sp[i][2]; + buf[m++] = sp[i][3]; + + if (atom->nextra_grow) + for (int iextra = 0; iextra < atom->nextra_grow; iextra++) + m += modify->fix[atom->extra_grow[iextra]]->pack_exchange(i,&buf[m]); + + buf[0] = m; + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::unpack_exchange(double *buf) +{ + int nlocal = atom->nlocal; + if (nlocal == nmax) grow(0); + + int m = 1; + x[nlocal][0] = buf[m++]; + x[nlocal][1] = buf[m++]; + x[nlocal][2] = buf[m++]; + v[nlocal][0] = buf[m++]; + v[nlocal][1] = buf[m++]; + v[nlocal][2] = buf[m++]; + tag[nlocal] = (tagint) ubuf(buf[m++]).i; + type[nlocal] = (int) ubuf(buf[m++]).i; + mask[nlocal] = (int) ubuf(buf[m++]).i; + image[nlocal] = (imageint) ubuf(buf[m++]).i; + + mumag[nlocal] = buf[m++]; + sp[nlocal][0] = buf[m++]; + sp[nlocal][1] = buf[m++]; + sp[nlocal][2] = buf[m++]; + sp[nlocal][3] = buf[m++]; + + if (atom->nextra_grow) + for (int iextra = 0; iextra < atom->nextra_grow; iextra++) + m += modify->fix[atom->extra_grow[iextra]]-> + unpack_exchange(nlocal,&buf[m]); + + atom->nlocal++; + + return m; +} + +/* ---------------------------------------------------------------------- + size of restart data for all atoms owned by this proc + include extra data stored by fixes +------------------------------------------------------------------------- */ + +int AtomVecSpin::size_restart() +{ + int i; + + int nlocal = atom->nlocal; + int n = 16 * nlocal; + + if (atom->nextra_restart) + for (int iextra = 0; iextra < atom->nextra_restart; iextra++) + for (i = 0; i < nlocal; i++) + n += modify->fix[atom->extra_restart[iextra]]->size_restart(i); + + return n; +} + +/* ---------------------------------------------------------------------- + pack atom I's data for restart file including extra quantities + xyz must be 1st 3 values, so that read_restart can test on them + molecular types may be negative, but write as positive +------------------------------------------------------------------------- */ + +int AtomVecSpin::pack_restart(int i, double *buf) +{ + int m = 1; + + buf[m++] = x[i][0]; + buf[m++] = x[i][1]; + buf[m++] = x[i][2]; + buf[m++] = ubuf(tag[i]).d; + buf[m++] = ubuf(type[i]).d; + buf[m++] = ubuf(mask[i]).d; + buf[m++] = ubuf(image[i]).d; + buf[m++] = v[i][0]; + buf[m++] = v[i][1]; + buf[m++] = v[i][2]; + + buf[m++] = mumag[i]; + buf[m++] = sp[i][0]; + buf[m++] = sp[i][1]; + buf[m++] = sp[i][2]; + buf[m++] = sp[i][3]; + + if (atom->nextra_restart) + for (int iextra = 0; iextra < atom->nextra_restart; iextra++) + m += modify->fix[atom->extra_restart[iextra]]->pack_restart(i,&buf[m]); + + buf[0] = m; + return m; +} + +/* ---------------------------------------------------------------------- + unpack data for one atom from restart file including extra quantities +------------------------------------------------------------------------- */ + +int AtomVecSpin::unpack_restart(double *buf) +{ + int nlocal = atom->nlocal; + if (nlocal == nmax) { + grow(0); + if (atom->nextra_store) + memory->grow(atom->extra,nmax,atom->nextra_store,"atom:extra"); + } + + int m = 1; + x[nlocal][0] = buf[m++]; + x[nlocal][1] = buf[m++]; + x[nlocal][2] = buf[m++]; + tag[nlocal] = (tagint) ubuf(buf[m++]).i; + type[nlocal] = (int) ubuf(buf[m++]).i; + mask[nlocal] = (int) ubuf(buf[m++]).i; + image[nlocal] = (imageint) ubuf(buf[m++]).i; + v[nlocal][0] = buf[m++]; + v[nlocal][1] = buf[m++]; + v[nlocal][2] = buf[m++]; + + mumag[nlocal] = buf[m++]; + sp[nlocal][0] = buf[m++]; + sp[nlocal][1] = buf[m++]; + sp[nlocal][2] = buf[m++]; + sp[nlocal][3] = buf[m++]; + + double **extra = atom->extra; + if (atom->nextra_store) { + int size = static_cast (buf[0]) - m; + for (int i = 0; i < size; i++) extra[nlocal][i] = buf[m++]; + } + + atom->nlocal++; + return m; +} + +/* ---------------------------------------------------------------------- + create one atom of itype at coord + set other values to defaults +------------------------------------------------------------------------- */ + +void AtomVecSpin::create_atom(int itype, double *coord) +{ + + int nlocal = atom->nlocal; + if (nlocal == nmax) grow(0); + + tag[nlocal] = 0; + type[nlocal] = itype; + x[nlocal][0] = coord[0]; + x[nlocal][1] = coord[1]; + x[nlocal][2] = coord[2]; + mask[nlocal] = 1; + image[nlocal] = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; + v[nlocal][0] = 0.0; + v[nlocal][1] = 0.0; + v[nlocal][2] = 0.0; + + mumag[nlocal] = 0.0; + sp[nlocal][0] = 0.0; + sp[nlocal][1] = 0.0; + sp[nlocal][2] = 0.0; + sp[nlocal][3] = 0.0; + + atom->nlocal++; +} + +/* ---------------------------------------------------------------------- + unpack one line from Atoms section of data file + initialize other atom quantities +------------------------------------------------------------------------- */ + +void AtomVecSpin::data_atom(double *coord, imageint imagetmp, char **values) +{ + int nlocal = atom->nlocal; + if (nlocal == nmax) grow(0); + + tag[nlocal] = ATOTAGINT(values[0]); + type[nlocal] = atoi(values[1]); + if (type[nlocal] <= 0 || type[nlocal] > atom->ntypes) + error->one(FLERR,"Invalid atom type in Atoms section of data file"); + + mumag[nlocal] = atof(values[2]); + + x[nlocal][0] = coord[0]; + x[nlocal][1] = coord[1]; + x[nlocal][2] = coord[2]; + + sp[nlocal][0] = atof(values[6]); + sp[nlocal][1] = atof(values[7]); + sp[nlocal][2] = atof(values[8]); + sp[nlocal][3] = sqrt(sp[nlocal][0]*sp[nlocal][0] + + sp[nlocal][1]*sp[nlocal][1] + + sp[nlocal][2]*sp[nlocal][2]); + + image[nlocal] = imagetmp; + + mask[nlocal] = 1; + v[nlocal][0] = 0.0; + v[nlocal][1] = 0.0; + v[nlocal][2] = 0.0; + + atom->nlocal++; +} + +/* ---------------------------------------------------------------------- + unpack hybrid quantities from one line in Atoms section of data file + initialize other atom quantities for this sub-style +------------------------------------------------------------------------- */ + +int AtomVecSpin::data_atom_hybrid(int nlocal, char **values) +{ + mumag[nlocal] = atof(values[0]); + sp[nlocal][0] = atof(values[1]); + sp[nlocal][1] = atof(values[2]); + sp[nlocal][2] = atof(values[3]); + sp[nlocal][3] = sqrt(sp[nlocal][0]*sp[nlocal][0] + + sp[nlocal][1]*sp[nlocal][1] + + sp[nlocal][2]*sp[nlocal][2]); + + return 4; +} + +/* ---------------------------------------------------------------------- + pack atom info for data file including 3 image flags +------------------------------------------------------------------------- */ + +void AtomVecSpin::pack_data(double **buf) +{ + int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; i++) { + buf[i][0] = ubuf(tag[i]).d; + buf[i][1] = ubuf(type[i]).d; + buf[i][2] = mumag[i]; + buf[i][3] = x[i][0]; + buf[i][4] = x[i][1]; + buf[i][5] = x[i][2]; + buf[i][6] = sp[i][0]; + buf[i][7] = sp[i][1]; + buf[i][8] = sp[i][2]; + buf[i][9] = ubuf((image[i] & IMGMASK) - IMGMAX).d; + buf[i][10] = ubuf((image[i] >> IMGBITS & IMGMASK) - IMGMAX).d; + buf[i][11] = ubuf((image[i] >> IMG2BITS) - IMGMAX).d; + } +} + +/* ---------------------------------------------------------------------- + pack hybrid atom info for data file +------------------------------------------------------------------------- */ + +int AtomVecSpin::pack_data_hybrid(int i, double *buf) +{ + buf[0] = mumag[i]; + buf[1] = sp[i][0]; + buf[2] = sp[i][1]; + buf[3] = sp[i][2]; + + return 4; +} + +/* ---------------------------------------------------------------------- + write atom info to data file including 3 image flags +------------------------------------------------------------------------- */ + +void AtomVecSpin::write_data(FILE *fp, int n, double **buf) +{ + for (int i = 0; i < n; i++) + fprintf(fp,TAGINT_FORMAT \ + " %d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e " + "%-1.16e %d %d %d\n", + (tagint) ubuf(buf[i][0]).i,(int) ubuf(buf[i][1]).i, + buf[i][2],buf[i][3],buf[i][4], + buf[i][5],buf[i][6],buf[i][7],buf[i][8], + (int) ubuf(buf[i][9]).i,(int) ubuf(buf[i][10]).i, + (int) ubuf(buf[i][11]).i); +} + +/* ---------------------------------------------------------------------- + write hybrid atom info to data file +------------------------------------------------------------------------- */ + +int AtomVecSpin::write_data_hybrid(FILE *fp, double *buf) +{ + fprintf(fp," %-1.16e %-1.16e %-1.16e %-1.16e",buf[0],buf[1],buf[2],buf[3]); + return 4; +} + +/* ---------------------------------------------------------------------- + return # of bytes of allocated memory +------------------------------------------------------------------------- */ + +bigint AtomVecSpin::memory_usage() +{ + bigint bytes = 0; + + if (atom->memcheck("tag")) bytes += memory->usage(tag,nmax); + if (atom->memcheck("type")) bytes += memory->usage(type,nmax); + if (atom->memcheck("mask")) bytes += memory->usage(mask,nmax); + if (atom->memcheck("image")) bytes += memory->usage(image,nmax); + if (atom->memcheck("x")) bytes += memory->usage(x,nmax,3); + if (atom->memcheck("v")) bytes += memory->usage(v,nmax,3); + if (atom->memcheck("f")) bytes += memory->usage(f,nmax*comm->nthreads,3); + + if (atom->memcheck("fm")) bytes += memory->usage(fm,nmax*comm->nthreads,3); + if (atom->memcheck("mumag")) bytes += memory->usage(mumag,nmax); + if (atom->memcheck("sp")) bytes += memory->usage(sp,nmax,4); + + return bytes; +} + +//Test force clear in spin +void AtomVecSpin::force_clear(int n, size_t nbytes) +{ + memset(&atom->fm[0][0],0,3*nbytes); +} + + diff --git a/src/SPIN/atom_vec_spin.h b/src/SPIN/atom_vec_spin.h new file mode 100644 index 0000000000..f4b13926f0 --- /dev/null +++ b/src/SPIN/atom_vec_spin.h @@ -0,0 +1,90 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef ATOM_CLASS + +AtomStyle(spin,AtomVecSpin) + +#else + +#ifndef LMP_ATOM_VEC_SPIN_H +#define LMP_ATOM_VEC_SPIN_H + +#include "atom_vec.h" + +namespace LAMMPS_NS { + +class AtomVecSpin : public AtomVec { + public: + AtomVecSpin(class LAMMPS *); + void grow(int); + void grow_reset(); + void copy(int, int, int); + int pack_comm(int, int *, double *, int, int *); + int pack_comm_vel(int, int *, double *, int, int *); + int pack_comm_hybrid(int, int *, double *); + void unpack_comm(int, int, double *); + void unpack_comm_vel(int, int, double *); + int unpack_comm_hybrid(int, int, double *); + int pack_reverse(int, int, double *); + void unpack_reverse(int, int *, double *); + int pack_border(int, int *, double *, int, int *); + int pack_border_vel(int, int *, double *, int, int *); + int pack_border_hybrid(int, int *, double *); + void unpack_border(int, int, double *); + void unpack_border_vel(int, int, double *); + int unpack_border_hybrid(int, int, double *); + int pack_exchange(int, double *); + int unpack_exchange(double *); + int size_restart(); + int pack_restart(int, double *); + int unpack_restart(double *); + void create_atom(int, double *); + void data_atom(double *, imageint, char **); + int data_atom_hybrid(int, char **); + void pack_data(double **); + int pack_data_hybrid(int, double *); + void write_data(FILE *, int, double **); + int write_data_hybrid(FILE *, double *); + bigint memory_usage(); + + //Test force clear + void force_clear(int, size_t); + + + private: + tagint *tag; + int *type,*mask; + imageint *image; + double **x,**v,**f; //MD quantities: position, velocity and force + double *mumag,**sp, **fm; //Magnetic quantities: mu, spin direction, magnetic force + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Per-processor system is too big + +The number of owned atoms plus ghost atoms on a single +processor must fit in 32-bit integer. + +E: Invalid atom type in Atoms section of data file + +Atom types must range from 1 to specified # of types. + +*/ diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp new file mode 100644 index 0000000000..9ff12ac3dd --- /dev/null +++ b/src/SPIN/compute_spin.cpp @@ -0,0 +1,134 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include "compute_spin.h" +#include "atom.h" +#include "update.h" +#include "modify.h" +#include "domain.h" +#include "memory.h" +#include "error.h" +#include "math_special.h" + +using namespace LAMMPS_NS; +using namespace MathSpecial; + +/* ---------------------------------------------------------------------- */ + +ComputeSpin::ComputeSpin(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), mag(NULL) +{ + if ((narg != 3) && (narg != 4)) error->all(FLERR,"Illegal compute compute/spin command"); + + vector_flag = 1; + size_vector = 5; + extvector = 0; + + init(); + + allocate(); + +} + +/* ---------------------------------------------------------------------- */ + +ComputeSpin::~ComputeSpin() +{ + memory->destroy(mag); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeSpin::init() +{ +} + +/* ---------------------------------------------------------------------- */ + +void ComputeSpin::compute_vector() +{ + int i, index; + + invoked_vector = update->ntimestep; + + countsp = countsptot = 0.0; + mag[0] = mag[1] = mag[2] = mag[3] = 0.0; + magtot[0] = magtot[1] = magtot[2] = magtot[3] = 0.0; + magenergy = magenergytot = 0.0; + + double **x = atom->x; + int *mask = atom->mask; + int *type = atom->type; + imageint *image = atom->image; + double *mumag = atom->mumag; + double **sp = atom->sp; + double **fm = atom->fm; + + int nlocal = atom->nlocal; + + // compute total magnetization + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + if (atom->mumag_flag && atom->sp_flag) { + mag[0] += sp[i][0]; + mag[1] += sp[i][1]; + mag[2] += sp[i][2]; + countsp++; + } + } + else error->all(FLERR,"Compute spin/compute declared magnetic quantities (sp and mumag flags)"); + } + + MPI_Allreduce(mag,magtot,4,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&countsp,&countsptot,1,MPI_DOUBLE,MPI_SUM,world); + + double scale = 1.0/countsptot; + magtot[0] *= scale; + magtot[1] *= scale; + magtot[2] *= scale; + magtot[3] = sqrt(square(magtot[0])+square(magtot[1])+square(magtot[2])); + + // compute total magnetic energy + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + if (atom->mumag_flag && atom->sp_flag) { + magenergy += mumag[i]*sp[i][0]*fm[i][0]; + magenergy += mumag[i]*sp[i][1]*fm[i][1]; + magenergy += mumag[i]*sp[i][2]*fm[i][2]; + } + else error->all(FLERR,"Compute spin/compute declared magnetic quantities (sp and mumag flags)"); + } + } + + MPI_Allreduce(&magenergy,&magenergytot,1,MPI_DOUBLE,MPI_SUM,world); + + vector[0] = magtot[0]; + vector[1] = magtot[1]; + vector[2] = magtot[2]; + vector[3] = magtot[3]; + vector[4] = magenergytot; +} + +/* ---------------------------------------------------------------------- + free and reallocate arrays +------------------------------------------------------------------------- */ + +void ComputeSpin::allocate() +{ + memory->destroy(mag); + memory->create(mag,4,"compute/spin:mag"); + memory->create(magtot,5,"compute/spin:mag"); + vector = magtot; +} + diff --git a/src/SPIN/compute_spin.h b/src/SPIN/compute_spin.h new file mode 100644 index 0000000000..c4011d5ded --- /dev/null +++ b/src/SPIN/compute_spin.h @@ -0,0 +1,67 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS + +ComputeStyle(compute/spin,ComputeSpin) + +#else + +#ifndef LMP_COMPUTE_SPIN_H +#define LMP_COMPUTE_SPIN_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputeSpin : public Compute { + public: + ComputeSpin(class LAMMPS *, int, char **); + ~ComputeSpin(); + void init(); + void compute_vector(); + + private: + double *mag; + double *magtot; + double magenergy; + double magenergytot; + int countsp; + int countsptot; + int usecenter; + + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Chunk/atom compute does not exist for compute compute/spin + +Self-explanatory. + +E: Compute compute/spin does not use chunk/atom compute + +The style of the specified compute is not chunk/atom. + +*/ diff --git a/src/SPIN/fix_force_spin.cpp b/src/SPIN/fix_force_spin.cpp new file mode 100644 index 0000000000..0163b32eb9 --- /dev/null +++ b/src/SPIN/fix_force_spin.cpp @@ -0,0 +1,229 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "fix_force_spin.h" +#include "atom.h" +#include "update.h" +#include "domain.h" +#include "respa.h" +#include "modify.h" +#include "input.h" +#include "variable.h" +#include "math_const.h" +#include "error.h" +#include "force.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; + +enum{ZEEMAN,ANISOTROPY}; +enum{CONSTANT,EQUAL}; + +/* ---------------------------------------------------------------------- */ + +FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) +{ + + if (narg < 7) error->all(FLERR,"Illegal fix spin command"); + // 7 arguments for a force/spin fix command: + //(fix ID group force/spin magnitude (T or eV) style (zeeman or anisotropy) direction (3 cartesian coordinates) + + //Magnetic interactions only coded for cartesian coordinates + + dynamic_group_allow = 1; + scalar_flag = 1; + global_freq = 1; + extscalar = 1; + respa_level_support = 1; + ilevel_respa = 0; + + magstr = NULL; + magfieldstyle = CONSTANT; + + H_field = 0.0; + Hx = Hy = Hz = 0.0; + Ka = 0.0; + Kax = Kay = Kaz = 0.0; + + if (strcmp(arg[3],"zeeman") == 0) { + if (narg != 8) error->all(FLERR,"Illegal fix zeeman command"); + style = ZEEMAN; + H_field = force->numeric(FLERR,arg[4]); + Hx = force->numeric(FLERR,arg[5]); + Hy = force->numeric(FLERR,arg[6]); + Hz = force->numeric(FLERR,arg[7]); + magfieldstyle = CONSTANT; + } else if (strcmp(arg[3],"anisotropy") == 0) { + if (narg != 8) error->all(FLERR,"Illegal fix anisotropy command"); + style = ANISOTROPY; + Ka = force->numeric(FLERR,arg[4]); + Kax = force->numeric(FLERR,arg[5]); + Kay = force->numeric(FLERR,arg[6]); + Kaz = force->numeric(FLERR,arg[7]); + } else error->all(FLERR,"Illegal fix force/spin command"); + + //printf("test field in creator: H=%g, Hx=%g, Hy=%g, Hz=%g \n",H_field,Hx,Hy,Hz); + + degree2rad = MY_PI/180.0; + time_origin = update->ntimestep; + + eflag = 0; + emag = 0.0; +} + +/* ---------------------------------------------------------------------- */ + +FixForceSpin::~FixForceSpin() +{ + delete [] magstr; +} + +/* ---------------------------------------------------------------------- */ + +int FixForceSpin::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + mask |= THERMO_ENERGY; + mask |= POST_FORCE_RESPA; + return mask; +} + + +/* ---------------------------------------------------------------------- */ + +void FixForceSpin::init() +{ + double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) + double mub = 5.78901e-5; //in eV/T + double gyro = mub/hbar; //in rad.THz/T + + H_field *= gyro; //in rad.THz + Ka /= hbar; //in rad.THz + + if (strstr(update->integrate_style,"respa")) { + ilevel_respa = ((Respa *) update->integrate)->nlevels-1; + if (respa_level >= 0) ilevel_respa = MIN(respa_level,ilevel_respa); + } + + // check variables + if (magstr) { + magvar = input->variable->find(magstr); + if (magvar < 0) + error->all(FLERR,"Variable name for fix magnetic field does not exist"); + if (!input->variable->equalstyle(magvar)) + error->all(FLERR,"Variable for fix magnetic field is invalid style"); + } + + varflag = CONSTANT; + if (magfieldstyle != CONSTANT) varflag = EQUAL; + + // set magnetic field components once and for all + if (varflag == CONSTANT) set_magneticforce(); + +} + +/* ---------------------------------------------------------------------- */ + +void FixForceSpin::setup(int vflag) +{ + if (strstr(update->integrate_style,"verlet")) + post_force(vflag); + else { + ((Respa *) update->integrate)->copy_flevel_f(ilevel_respa); + post_force_respa(vflag,ilevel_respa,0); + ((Respa *) update->integrate)->copy_f_flevel(ilevel_respa); + } +} + +/* ---------------------------------------------------------------------- */ + +void FixForceSpin::post_force(int vflag) +{ + // update gravity due to variables + if (varflag != CONSTANT) { + modify->clearstep_compute(); + modify->addstep_compute(update->ntimestep + 1); + set_magneticforce(); //Update value of the mag. field if time-dependent + } + + double **x = atom->x; + double **sp = atom->sp; + double *mumag = atom->mumag; + double **fm = atom->fm; + int nlocal = atom->nlocal; + double scalar; + + eflag = 0; + emag = 0.0; + + if (style == ZEEMAN) { + for (int i = 0; i < nlocal; i++) { + fm[i][0] += mumag[i]*xmag; + fm[i][1] += mumag[i]*ymag; + fm[i][2] += mumag[i]*zmag; + // emag -= (sp[i][0]*xmag + sp[i][1]*ymag + sp[i][2]*zmag); + } + } + if (style == ANISOTROPY) { + for (int i = 0; i < nlocal; i++) { + scalar = Kax*sp[i][0] + Kay*sp[i][1] + Kaz*sp[i][2]; + fm[i][0] -= Ka*scalar*Kax; + fm[i][1] -= Ka*scalar*Kay; + fm[i][2] -= Ka*scalar*Kaz; + //emag -= (sp[i][0]*fm[i][0] + sp[i][1]*fm[i][1] + sp[i][2]*fm[i][2]); + } + } + //printf("test force. 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); + //printf("Field force compute, fm[0][2]=%g \n",fm[0][2]); +} + +/* ---------------------------------------------------------------------- */ + +void FixForceSpin::post_force_respa(int vflag, int ilevel, int iloop) +{ + if (ilevel == ilevel_respa) post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ +//No acceleration for magnetic EOM, only a "magnetic force" +//(keeping set_magneticforce in case of time--dependent mag. field implementation) + +void FixForceSpin::set_magneticforce() +{ + if (style == ZEEMAN) { + xmag = H_field*Hx; + ymag = H_field*Hy; + zmag = H_field*Hz; + } +} + + +/* ---------------------------------------------------------------------- + potential energy in magnetic field +------------------------------------------------------------------------- */ + +double FixForceSpin::compute_scalar() +{ + // only sum across procs one time + if (eflag == 0) { + MPI_Allreduce(&emag,&emag_all,1,MPI_DOUBLE,MPI_SUM,world); + eflag = 1; + } + return emag_all; +} diff --git a/src/SPIN/fix_force_spin.h b/src/SPIN/fix_force_spin.h new file mode 100644 index 0000000000..75805a7734 --- /dev/null +++ b/src/SPIN/fix_force_spin.h @@ -0,0 +1,86 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(force/spin,FixForceSpin) + +#else + +#ifndef LMP_FIX_FORCE_SPIN_H +#define LMP_FIX_FORCE_SPIN_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixForceSpin : public Fix { + friend class FixPour; + + public: + FixForceSpin(class LAMMPS *, int, char **); + ~FixForceSpin(); + int setmask(); + void init(); + void setup(int); + virtual void post_force(int); + virtual void post_force_respa(int, int, int); + double compute_scalar(); + + protected: + int style; + + double xmag, ymag, zmag; //Magnetic force + double degree2rad; + int ilevel_respa; + int time_origin; + int eflag; + double emag, emag_all; + + int varflag; + int magfieldstyle; + int magvar; + char *magstr; + + double H_field; //Zeeman field intensity and direction + double Hx, Hy, Hz; + + double Ka; //Magnetic anisotropy intensity and direction + double Kax, Kay, Kaz; + + void set_magneticforce(); + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Variable name for fix force/spin does not exist + +Self-explanatory. + +E: Variable for fix force/spin is invalid style + +Only equal-style variables can be used. + +*/ diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp new file mode 100644 index 0000000000..ee8f5c1c49 --- /dev/null +++ b/src/SPIN/fix_langevin_spin.cpp @@ -0,0 +1,204 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Carolyn Phillips (U Mich), reservoir energy tally + Aidan Thompson (SNL) GJF formulation +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "fix_langevin_spin.h" +#include "math_extra.h" +#include "atom.h" +#include "atom_vec_ellipsoid.h" +#include "force.h" +#include "update.h" +#include "modify.h" +#include "compute.h" +#include "domain.h" +#include "region.h" +#include "respa.h" +#include "comm.h" +#include "input.h" +#include "variable.h" +#include "random_mars.h" +#include "memory.h" +#include "error.h" +#include "group.h" +#include "math_const.h" +#include "random_park.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg), id_temp(NULL), random(NULL) +{ + if (narg != 7) error->all(FLERR,"Illegal fix langevin/spin command"); + + dynamic_group_allow = 1; + scalar_flag = 1; + global_freq = 1; + extscalar = 1; + nevery = 1; + + temp = force->numeric(FLERR,arg[3]); + alpha_t = force->numeric(FLERR,arg[4]); + alpha_l = force->numeric(FLERR,arg[5]); + seed = force->inumeric(FLERR,arg[6]); + + if (alpha_t < 0.0) error->all(FLERR,"Fix langevin/spin transverse damping must be >= 0.0"); + if (alpha_l < 0.0) error->all(FLERR,"Fix langevin/spin transverse damping must be >= 0.0"); + if (seed <= 0) error->all(FLERR,"Illegal fix langevin/spin seed must be > 0"); + + // initialize Marsaglia RNG with processor-unique seed + //random = new RanMars(lmp,seed + comm->me); + random = new RanPark(lmp,seed + comm->me); + +} + +/* ---------------------------------------------------------------------- */ + +FixLangevinSpin::~FixLangevinSpin() +{ + delete random; +} + +/* ---------------------------------------------------------------------- */ + +int FixLangevinSpin::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + mask |= POST_FORCE_RESPA; + mask |= END_OF_STEP; + mask |= THERMO_ENERGY; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixLangevinSpin::init() +{ + // warn if any fix comes after this one + int after = 0; + int flag_force = 0; + int flag_lang = 0; + for (int i = 0; i < modify->nfix; i++) { + if (strcmp("force/spin",modify->fix[i]->style)==0) flag_force = MAX(flag_force,i); + if (strcmp("langevin/spin",modify->fix[i]->style)==0) flag_lang = i; + } + if (flag_force >= flag_lang) error->all(FLERR,"Fix langevin/spin should come after all other spin fixes"); + + dts = update->dt; + Gil_factor = alpha_t/(1.0+(alpha_t)*(alpha_t)); + + double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) + double kb = force->boltz; + D = (MY_2PI*Gil_factor*kb*temp)/hbar/dts; + sigma = sqrt(D); +} + +/* ---------------------------------------------------------------------- */ + +void FixLangevinSpin::setup(int vflag) +{ + if (strstr(update->integrate_style,"verlet")) + post_force(vflag); + else { + ((Respa *) update->integrate)->copy_flevel_f(nlevels_respa-1); + post_force_respa(vflag,nlevels_respa-1,0); + ((Respa *) update->integrate)->copy_f_flevel(nlevels_respa-1); + } +} + +/* ---------------------------------------------------------------------- */ + +void FixLangevinSpin::post_force(int vflag) +{ + double **sp = atom->sp; + double **fm = atom->fm; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + double sx, sy, sz; + double fmx, fmy, fmz; + double cpx, cpy, cpz; + double rx, ry, rz; + + // apply transverse magnetic damping to spins + // add the damping to the effective field + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + sx = sp[i][0];//Getting Mag. and Mag. force components + sy = sp[i][1]; + sz = sp[i][2]; + + fmx = fm[i][0]; + fmy = fm[i][1]; + fmz = fm[i][2]; + + cpx = fmy*sz - fmz*sy;//Computing cross product + cpy = fmz*sx - fmx*sz; + cpz = fmx*sy - fmy*sx; + + fmx -= alpha_t*cpx;//Taking the damping value away + fmy -= alpha_t*cpy; + fmz -= alpha_t*cpz; + + fm[i][0] = fmx; + fm[i][1] = fmy; + fm[i][2] = fmz; + } + + //printf("test damping. 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); + //apply thermal effects + //add random field to fm + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + rx = sigma*random->gaussian();//Drawing random distributions + ry = sigma*random->gaussian(); + rz = sigma*random->gaussian(); + + //rx = sigma*(random->uniform() - 0.5); + //ry = sigma*(random->uniform() - 0.5); + //rz = sigma*(random->uniform() - 0.5); + + fm[i][0] += rx;//Adding random field + fm[i][1] += ry; + fm[i][2] += rz; + + fm[i][0] *= Gil_factor;//Multiplying by Gilbert's prefactor + fm[i][1] *= Gil_factor; + fm[i][2] *= Gil_factor; + + } + //printf("test rand var: %g, sigma=%g \n",(random->uniform()-0.5),sigma); + //printf("test rand var: %g, sigma=%g \n",random->gaussian(),sigma); + //printf("test random 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); + //printf("test dt: %g, sigma=%g \n",dts,random->gaussian(),sigma); +} + +/* ---------------------------------------------------------------------- */ + +void FixLangevinSpin::post_force_respa(int vflag, int ilevel, int iloop) +{ + if (ilevel == nlevels_respa-1) post_force(vflag); +} + diff --git a/src/SPIN/fix_langevin_spin.h b/src/SPIN/fix_langevin_spin.h new file mode 100644 index 0000000000..ffd94745e2 --- /dev/null +++ b/src/SPIN/fix_langevin_spin.h @@ -0,0 +1,106 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(langevin/spin,FixLangevinSpin) + +#else + +#ifndef LMP_FIX_LANGEVIN_SPIN_H +#define LMP_FIX_LANGEVIN_SPIN_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixLangevinSpin : public Fix { + public: + FixLangevinSpin(class LAMMPS *, int, char **); + virtual ~FixLangevinSpin(); + int setmask(); + void init(); + void setup(int); + virtual void post_force(int); + void post_force_respa(int, int, int); + + protected: + //First mag. quantities + int transv_damp_flag, long_damp_flag; //Flags for transverse or longitudinal mag. dampings + double alpha_t, alpha_l; //Transverse and long. damping value + double dts,temp,D,sigma;//timestep, temp, noise + double Gil_factor;//Gilbert's prefactor + + char *id_temp; + class Compute *temperature; + + int nlevels_respa; + //class RanMars *random; + class RanPark *random; + int seed; + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Fix langevin period must be > 0.0 + +The time window for temperature relaxation must be > 0 + +W: Energy tally does not account for 'zero yes' + +The energy removed by using the 'zero yes' flag is not accounted +for in the energy tally and thus energy conservation cannot be +monitored in this case. + + +E: Variable for fix langevin is invalid style + +It must be an equal-style variable. + + +E: Cannot zero Langevin force of 0 atoms + +The group has zero atoms, so you cannot request its force +be zeroed. + +E: Fix langevin variable returned negative temperature + +Self-explanatory. + +E: Could not find fix_modify temperature ID + +The compute ID for computing temperature does not exist. + +E: Fix_modify temperature ID does not compute temperature + +The compute ID assigned to the fix must compute temperature. + +W: Group for fix_modify temp != fix group + +The fix_modify command is specifying a temperature computation that +computes a temperature on a different group of atoms than the fix +itself operates on. This is probably not what you want to do. + +*/ diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp new file mode 100644 index 0000000000..4b9597e988 --- /dev/null +++ b/src/SPIN/fix_nve_spin.cpp @@ -0,0 +1,211 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include "fix_nve_spin.h" +//#include "fix_damping_spin.h" +#include "atom.h" +#include "atom_vec.h" +#include "update.h" +#include "respa.h" +#include "force.h" +#include "error.h" +#include "math_vector.h" +#include "math_extra.h" +#include "math_const.h" +#include "modify.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; +using namespace MathExtra; + +enum{NONE,SPIN}; + +/* ---------------------------------------------------------------------- */ + +FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : + FixNVE(lmp, narg, arg) +{ + + if (narg < 3) error->all(FLERR,"Illegal fix nve/spin command"); + + time_integrate = 1; + + extra = NONE; + + int iarg = 2; + if (strcmp(arg[iarg],"nve/spin") == 0) { + if (iarg+1 > narg) error->all(FLERR,"Illegal fix nve/spin command"); + extra = SPIN; + } + + // error checks + if (extra == SPIN && !atom->mumag_flag) + error->all(FLERR,"Fix nve/spin requires spin attribute mumag"); + +} + +/* ---------------------------------------------------------------------- */ + +void FixNVESpin::init() +{ + FixNVE::init(); + + dts = update->dt; + + /*int idamp; + for (idamp = 0; idamp < modify->nfix; idamp++) + if (strstr(modify->fix[idamp]->style,"damping/spin")) break; + if (idamp == modify->nfix) + error->all(FLERR,"Integration of spin systems requires use of fix damping (set damping to 0.0 for NVE)"); + + lockspindamping = (FixSpinDamping *) modify->fix[idamp]; + alpha_t = lockspindamping->get_damping(0); + */ +} + +/* ---------------------------------------------------------------------- */ + +void FixNVESpin::initial_integrate(int vflag) +{ + double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; + double cp[3],g[3]; + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + double *rmass = atom->rmass; + double *mass = atom->mass; + double **sp = atom->sp; + double **fm = atom->fm; + int nlocal = atom->nlocal; + if (igroup == atom->firstgroup) nlocal = atom->nfirst; + int *type = atom->type; + int *mask = atom->mask; + + // update half v all particles + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + if (rmass) dtfm = dtf / rmass[i]; + else dtfm = dtf / mass[type[i]]; + v[i][0] += dtfm * f[i][0]; + v[i][1] += dtfm * f[i][1]; + v[i][2] += dtfm * f[i][2]; + } + } + + // update half x for all particles + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + x[i][0] += 0.5 * dtv * v[i][0]; + x[i][1] += 0.5 * dtv * v[i][1]; + x[i][2] += 0.5 * dtv * v[i][2]; + } + } + + // update sp for all particles + if (extra == SPIN) { + // Advance spins + //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) + if (sp[i][3] > 0.0) { + + cp[0] = cp[1] = cp[2] = 0.0; + g[0] = g[1] = g[2] = 0.0; + fm2 = (fm[i][0]*fm[i][0])+(fm[i][1]*fm[i][1])+(fm[i][2]*fm[i][2]); + fmsq = sqrt(fm2); + energy = (sp[i][0]*fm[i][0])+(sp[i][1]*fm[i][1])+(sp[i][2]*fm[i][2]); + + cp[0] = fm[i][1]*sp[i][2]-fm[i][2]*sp[i][1]; + cp[1] = fm[i][2]*sp[i][0]-fm[i][0]*sp[i][2]; + cp[2] = fm[i][0]*sp[i][1]-fm[i][1]*sp[i][0]; + + //cp[0] = sp[i][1]*fm[i][2]-sp[i][2]*fm[i][1]; + //cp[1] = sp[i][2]*fm[i][0]-sp[i][0]*fm[i][2]; + //cp[2] = sp[i][0]*fm[i][1]-sp[i][1]*fm[i][0]; + + g[0] = sp[i][0]+cp[0]*dts; + g[1] = sp[i][1]+cp[1]*dts; + g[2] = sp[i][2]+cp[2]*dts; + + g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts*dts; + g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts*dts; + g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts*dts; + + g[0] /= (1+(fmsq*dts*0.5)*(fmsq*dts*0.5)); + g[1] /= (1+(fmsq*dts*0.5)*(fmsq*dts*0.5)); + g[2] /= (1+(fmsq*dts*0.5)*(fmsq*dts*0.5)); + + sp[i][0] = g[0]; + sp[i][1] = g[1]; + sp[i][2] = g[2]; + + //Renormalization (may not be necessary) + msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; + scale = 1.0/sqrt(msq); + sp[i][0] *= scale; + sp[i][1] *= scale; + sp[i][2] *= scale; + + // printf("test fix integ. 1;i=%d, fx=%g, fy=%g, fz=%g \n",i,fm[i][0],fm[i][1],fm[i][2]); + + //printf("test fix integ.; i=%d, sx=%g, sy=%g, sz=%g, norm=%g \n",i,sp[i][0],sp[i][1],sp[i][2],scale); + } + } + + //printf("test fix integ. 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); +} + + +/* ---------------------------------------------------------------------- */ + +void FixNVESpin::final_integrate() +{ + double dtfm,msq,scale,fm2,fmsq,energy; + double cp[3],g[3]; + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + double *rmass = atom->rmass; + double *mass = atom->mass; + int nlocal = atom->nlocal; + if (igroup == atom->firstgroup) nlocal = atom->nfirst; + int *type = atom->type; + int *mask = atom->mask; + + // update half x for all particles + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + x[i][0] += 0.5 * dtv * v[i][0]; + x[i][1] += 0.5 * dtv * v[i][1]; + x[i][2] += 0.5 * dtv * v[i][2]; + } + } + + // update half v for all particles + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + if (rmass) dtfm = dtf / rmass[i]; + else dtfm = dtf / mass[type[i]]; + v[i][0] += dtfm * f[i][0]; + v[i][1] += dtfm * f[i][1]; + v[i][2] += dtfm * f[i][2]; + } + } + +} diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h new file mode 100644 index 0000000000..55fffa7fb0 --- /dev/null +++ b/src/SPIN/fix_nve_spin.h @@ -0,0 +1,76 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(nve/spin,FixNVESpin) + +#else + +#ifndef LMP_FIX_NVE_SPIN_H +#define LMP_FIX_NVE_SPIN_H + +#include "fix_nve.h" + +namespace LAMMPS_NS { + +class FixNVESpin : public FixNVE { + friend class FixSpinDamping; + + public: + FixNVESpin(class LAMMPS *, int, char **); + virtual ~FixNVESpin() {} + void init(); + virtual void initial_integrate(int); + virtual void final_integrate(); + + protected: + int extra; + double dts; + double alpha_t; + + private: + class FixSpinDamping *lockspindamping; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Fix nve/sphere requires atom style sphere + +Self-explanatory. + +E: Fix nve/sphere update dipole requires atom attribute mu + +An atom style with this attribute is needed. + +E: Fix nve/sphere requires extended particles + +This fix can only be used for particles of a finite size. + +E: Fix nve/sphere dlm must be used with update dipole + +The DLM algorithm can only be used in conjunction with update dipole. + + +*/ diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp new file mode 100755 index 0000000000..975dcfc012 --- /dev/null +++ b/src/SPIN/pair_spin.cpp @@ -0,0 +1,339 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include "pair_spin.h" +#include "atom.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "comm.h" +#include "force.h" +#include "memory.h" +#include "math_const.h" +#include "error.h" +#include "update.h" +#include + +using namespace LAMMPS_NS; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +PairSpin::PairSpin(LAMMPS *lmp) : Pair(lmp) +{ + single_enable = 0; +} + +/* ---------------------------------------------------------------------- */ + +PairSpin::~PairSpin() +{ + if (allocated) { + memory->destroy(setflag); + memory->destroy(cut_spin_exchange); + memory->destroy(cut_spin_dipolar); + memory->destroy(J_1); + memory->destroy(J_2); + memory->destroy(J_2); + + memory->destroy(cutsq); + + } +} + +/* ---------------------------------------------------------------------- */ + +void PairSpin::compute(int eflag, int vflag) +{ + + double **x = atom->x; + double **fm = atom->fm; + double *mumag = atom->mumag; + double **sp = atom->sp; + int *type = atom->type; + + int i,j,ii,jj,inum,jnum,itype,jtype; + double xtmp,ytmp,ztmp,fmix,fmiy,fmiz,fmjx,fmjy,fmjz,omx,omy,omz; + double rsq,rd,delx,dely,delz; + int *ilist,*jlist,*numneigh,**firstneigh; + double cut, Jex, ra; + + double evdwl,ecoul; + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // Pair spin computations + // Loop over neighbors of my atoms + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + //Exchange interaction + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; //square or inter-atomic distance + rd = sqrt(rsq); //Inter-atomic distance + cut = cut_spin_exchange_global; + + if (rd <= cut) { + itype = type[i]; + jtype = type[j]; + fmix = fmiy = fmiz = 0.0; + fmjx = fmjy = fmjz = 0.0; + + ra = (rd/J_3[itype][jtype])*(rd/J_3[itype][jtype]); + Jex = 4.0*J_1[itype][jtype]*ra; + Jex *= (1.0-J_2[itype][jtype]*ra); + Jex *= exp(-ra); + Jex *= mumag[ii]*mumag[jj]; + + fmix = Jex*sp[j][0]; + fmiy = Jex*sp[j][1]; + fmiz = Jex*sp[j][2]; + + //fmjx = Jex*sp[i][0]; + //fmjy = Jex*sp[i][1]; + //fmjz = Jex*sp[i][2]; + } + + fm[i][0] += fmix; + fm[i][1] += fmiy; + fm[i][2] += fmiz; + + //fm[j][0] += fmjx; + //fm[j][1] += fmjy; + //fm[j][2] += fmjz; + } + } + //printf("vals exchange: Jx=%g, Jy=%g, Jz=%g \n",fm[0][0],fm[0][1],fm[0][2]); + //printf("test exchange. 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairSpin::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cut_spin_exchange,n+1,n+1,"pair:cut_spin_exchange"); + memory->create(cut_spin_dipolar,n+1,n+1,"pair:cut_spin_dipolar"); + memory->create(J_1,n+1,n+1,"pair:J_1"); + memory->create(J_2,n+1,n+1,"pair:J_2"); + memory->create(J_3,n+1,n+1,"pair:J_3"); + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairSpin::settings(int narg, char **arg) +{ + if (narg < 1 || narg > 2) + error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); + + if (strcmp(update->unit_style,"electron") == 0) + error->all(FLERR,"Cannot (yet) use 'electron' units with spins"); + + cut_spin_exchange_global = force->numeric(FLERR,arg[0]); + + if (narg == 1) cut_spin_dipolar_global = cut_spin_exchange_global; + else cut_spin_dipolar_global = force->numeric(FLERR,arg[1]); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i+1; j <= atom->ntypes; j++) + if (setflag[i][j]) { + cut_spin_exchange[i][j] = cut_spin_exchange_global; + cut_spin_dipolar[i][j] = cut_spin_dipolar_global; + } + } + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type spin pairs (only one for now) +------------------------------------------------------------------------- */ + +void PairSpin::coeff(int narg, char **arg) +{ + + if (narg != 5) + error->all(FLERR,"Incorrect number of args for pair spin coefficients"); + if (!allocated) allocate(); + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + double J1 = force->numeric(FLERR,arg[2]); + double J2 = force->numeric(FLERR,arg[3]); + double J3 = force->numeric(FLERR,arg[4]); + + double hbar = force->hplanck/MY_2PI; + J1 /= hbar; + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + J_1[i][j] = J1; + J_2[i][j] = J2; + J_3[i][j] = J3; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) error->all(FLERR,"Incorrect args for spinpair coefficients"); + + //Simple (Anti)Ferromagnetic exchange for now. + //Check if Jex [][] still works for Ferrimagnetic exchange + +} + + + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairSpin::init_style() +{ + if (!atom->sp_flag || !atom->mumag_flag) + error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); + + neighbor->request(this,instance_me); +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairSpin::init_one(int i, int j) +{ + + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + return cut_spin_exchange_global; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpin::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) { + fwrite(&J_1[i][j],sizeof(double),1,fp); + fwrite(&J_2[i][j],sizeof(double),1,fp); + fwrite(&J_3[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_exchange[i][j],sizeof(double),1,fp); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpin::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) { + if (me == 0) { + fread(&J_1[i][j],sizeof(double),1,fp); + fread(&J_2[i][j],sizeof(double),1,fp); + fread(&J_2[i][j],sizeof(double),1,fp); + fread(&cut_spin_exchange[i][j],sizeof(double),1,fp); + } + MPI_Bcast(&J_1[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&J_2[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&J_3[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_spin_exchange[i][j],1,MPI_DOUBLE,0,world); + } + } +} + + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpin::write_restart_settings(FILE *fp) +{ + fwrite(&cut_spin_exchange_global,sizeof(double),1,fp); + fwrite(&cut_spin_dipolar_global,sizeof(double),1,fp); + fwrite(&offset_flag,sizeof(int),1,fp); + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpin::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + fread(&cut_spin_exchange_global,sizeof(double),1,fp); + fread(&cut_spin_dipolar_global,sizeof(double),1,fp); + fread(&offset_flag,sizeof(int),1,fp); + fread(&mix_flag,sizeof(int),1,fp); + } + MPI_Bcast(&cut_spin_exchange_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_spin_dipolar_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&offset_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); +} diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h new file mode 100755 index 0000000000..abdc1978c1 --- /dev/null +++ b/src/SPIN/pair_spin.h @@ -0,0 +1,75 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(pair/spin,PairSpin) + +#else + +#ifndef LMP_PAIR_SPIN_H +#define LMP_PAIR_SPIN_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairSpin : public Pair { + public: + PairSpin(class LAMMPS *); + virtual ~PairSpin(); + virtual void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + void write_restart(FILE *); + void read_restart(FILE *); + void write_restart_settings(FILE *); + void read_restart_settings(FILE *); + + protected: + double cut_spin_exchange_global, cut_spin_dipolar_global; //Global cutting distance + double **cut_spin_exchange; //cutting distance for each exchange interaction + double **cut_spin_dipolar; //cutting distance for the dipolar interaction + + double **J_1, **J_2, **J_3; //coefficients for computing the exchange interaction Jij + //J1 is an energy (in eV), J2 is adim and J3 is a distance (in Ang) + + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Incorrect args in pair_style command + +Self-explanatory. + +E: Cannot (yet) use 'electron' units with spins + +This feature is not yet supported. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair spin requires atom attributes sp, mumag + +The atom style defined does not have these attributes. + +*/ diff --git a/src/atom.cpp b/src/atom.cpp index ae36a8884b..a847719e7e 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -98,6 +98,10 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) rho = drho = e = de = cv = NULL; vest = NULL; + // USER-SPIN + mumag = NULL; + sp = fm = NULL; + // USER-DPD uCond = uMech = uChem = uCG = uCGnew = NULL; @@ -167,6 +171,9 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) omega_flag = torque_flag = angmom_flag = 0; radius_flag = rmass_flag = 0; ellipsoid_flag = line_flag = tri_flag = body_flag = 0; + + //Magnetic flags + sp_flag = mumag_flag = 0; vfrac_flag = 0; spin_flag = eradius_flag = ervel_flag = erforce_flag = ervelforce_flag = 0; @@ -421,6 +428,9 @@ void Atom::create_avec(const char *style, int narg, char **arg, int trysuffix) radius_flag = rmass_flag = 0; ellipsoid_flag = line_flag = tri_flag = body_flag = 0; + //Magnetic flags + sp_flag = mumag_flag = 0; + vfrac_flag = 0; spin_flag = eradius_flag = ervel_flag = erforce_flag = ervelforce_flag = 0; cs_flag = csforce_flag = vforce_flag = etag_flag = 0; @@ -494,7 +504,7 @@ AtomVec *Atom::new_avec(const char *style, int trysuffix, int &sflag) AtomVecCreator avec_creator = (*avec_map)[style]; return avec_creator(lmp); } - + //printf("test entries function: %s, %d, %d \n ",style, trysuffix, &sflag); error->all(FLERR,"Unknown atom style"); return NULL; } diff --git a/src/atom.h b/src/atom.h index abfa6e5eb5..8e7f9811ac 100644 --- a/src/atom.h +++ b/src/atom.h @@ -61,6 +61,10 @@ class Atom : protected Pointers { double *radius,*rmass; int *ellipsoid,*line,*tri,*body; + // SPIN package + double *mumag, **sp; + double **fm; + // PERI package double *vfrac,*s0; @@ -146,6 +150,9 @@ class Atom : protected Pointers { int rho_flag,e_flag,cv_flag,vest_flag; int dpd_flag,edpd_flag,tdpd_flag; + //USER-SPIN package + int mumag_flag,sp_flag; + // USER-SMD package int smd_flag; diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 34ab218204..04ffc3b29b 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -41,6 +41,7 @@ enum{ID,MOL,PROC,PROCP1,TYPE,ELEMENT,MASS, IX,IY,IZ, VX,VY,VZ,FX,FY,FZ, Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER, + MUMAG,SPX,SPY,SPZ,SP, OMEGAX,OMEGAY,OMEGAZ,ANGMOMX,ANGMOMY,ANGMOMZ, TQX,TQY,TQZ, COMPUTE,FIX,VARIABLE,INAME,DNAME}; @@ -83,8 +84,8 @@ DumpCustom::DumpCustom(LAMMPS *lmp, int narg, char **arg) : pack_choice = new FnPtrPack[nfield]; vtype = new int[nfield]; - memory->create(field2index,nfield,"dump:field2index"); - memory->create(argindex,nfield,"dump:argindex"); + field2index = new int[nfield]; + argindex = new int[nfield]; buffer_allow = 1; buffer_flag = 1; @@ -201,8 +202,8 @@ DumpCustom::~DumpCustom() delete [] pack_choice; delete [] vtype; - memory->destroy(field2index); - memory->destroy(argindex); + delete [] field2index; + delete [] argindex; delete [] idregion; memory->destroy(thresh_array); @@ -245,15 +246,11 @@ DumpCustom::~DumpCustom() for (int i = 1; i <= ntypes; i++) delete [] typenames[i]; delete [] typenames; - if(vformat) { - for (int i = 0; i < size_one; i++) delete [] vformat[i]; - delete [] vformat; - } + for (int i = 0; i < size_one; i++) delete [] vformat[i]; + delete [] vformat; - if(format_column_user) { - for (int i = 0; i < size_one; i++) delete [] format_column_user[i]; - delete [] format_column_user; - } + for (int i = 0; i < size_one; i++) delete [] format_column_user[i]; + delete [] format_column_user; delete [] columns; } @@ -857,6 +854,36 @@ int DumpCustom::count() for (i = 0; i < nlocal; i++) dchoose[i] = 2.0*radius[i]; ptr = dchoose; nstride = 1; + } else if (thresh_array[ithresh] == MUMAG) {//Magnetic properties + if (!atom->mumag_flag) + error->all(FLERR, + "Threshold for an atom property that isn't allocated"); + ptr = atom->mumag; + nstride = 1; + } else if (thresh_array[ithresh] == SPX) { + if (!atom->sp_flag) + error->all(FLERR, + "Threshold for an atom property that isn't allocated"); + ptr = &atom->sp[0][0]; + nstride = 4; + } else if (thresh_array[ithresh] == SPY) { + if (!atom->sp_flag) + error->all(FLERR, + "Threshold for an atom property that isn't allocated"); + ptr = &atom->sp[0][1]; + nstride = 4; + } else if (thresh_array[ithresh] == SPZ) { + if (!atom->sp_flag) + error->all(FLERR, + "Threshold for an atom property that isn't allocated"); + ptr = &atom->sp[0][2]; + nstride = 4; + } else if (thresh_array[ithresh] == SP) { + if (!atom->sp_flag) + error->all(FLERR, + "Threshold for an atom property that isn't allocated"); + ptr = &atom->sp[0][3]; + nstride = 4; } else if (thresh_array[ithresh] == OMEGAX) { if (!atom->omega_flag) error->all(FLERR, @@ -1285,6 +1312,35 @@ int DumpCustom::parse_fields(int narg, char **arg) pack_choice[i] = &DumpCustom::pack_mu; vtype[i] = DOUBLE; + } else if (strcmp(arg[iarg],"mumag") == 0) {//Magnetic properties + if (!atom->mumag_flag) + error->all(FLERR,"Dumping an atom property that isn't allocated"); + pack_choice[i] = &DumpCustom::pack_mumag; + vtype[i] = DOUBLE; + } else if (strcmp(arg[iarg],"spx") == 0) { + strcpy(arg[iarg],"vx"); + if (!atom->sp_flag) + error->all(FLERR,"Dumping an atom property that isn't allocated"); + pack_choice[i] = &DumpCustom::pack_spx; + vtype[i] = DOUBLE; + } else if (strcmp(arg[iarg],"spy") == 0) { + strcpy(arg[iarg],"vy"); + if (!atom->sp_flag) + error->all(FLERR,"Dumping an atom property that isn't allocated"); + pack_choice[i] = &DumpCustom::pack_spy; + vtype[i] = DOUBLE; + } else if (strcmp(arg[iarg],"spz") == 0) { + strcpy(arg[iarg],"vz"); + if (!atom->sp_flag) + error->all(FLERR,"Dumping an atom property that isn't allocated"); + pack_choice[i] = &DumpCustom::pack_spz; + vtype[i] = DOUBLE; + } else if (strcmp(arg[iarg],"sp") == 0) { + if (!atom->sp_flag) + error->all(FLERR,"Dumping an atom property that isn't allocated"); + pack_choice[i] = &DumpCustom::pack_sp; + vtype[i] = DOUBLE; + } else if (strcmp(arg[iarg],"radius") == 0) { if (!atom->radius_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); @@ -1787,6 +1843,13 @@ int DumpCustom::modify_param(int narg, char **arg) else if (strcmp(arg[1],"muy") == 0) thresh_array[nthresh] = MUY; else if (strcmp(arg[1],"muz") == 0) thresh_array[nthresh] = MUZ; else if (strcmp(arg[1],"mu") == 0) thresh_array[nthresh] = MU; + + //Magnetic quantities + else if (strcmp(arg[1],"mumag") == 0) thresh_array[nthresh] = MUMAG; + else if (strcmp(arg[1],"spx") == 0) thresh_array[nthresh] = SPX; + else if (strcmp(arg[1],"spy") == 0) thresh_array[nthresh] = SPY; + else if (strcmp(arg[1],"spz") == 0) thresh_array[nthresh] = SPZ; + else if (strcmp(arg[1],"sp") == 0) thresh_array[nthresh] = SP; else if (strcmp(arg[1],"radius") == 0) thresh_array[nthresh] = RADIUS; else if (strcmp(arg[1],"diameter") == 0) thresh_array[nthresh] = DIAMETER; @@ -2701,6 +2764,66 @@ void DumpCustom::pack_mu(int n) } } +/* ---------------------------------------------------------------------- */ +//Magnetic quantities +void DumpCustom::pack_mumag(int n) +{ + double *mumag = atom->mumag; + + for (int i = 0; i < nchoose; i++) { + buf[n] = mumag[clist[i]]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_spx(int n) +{ + double **sp = atom->sp; + + for (int i = 0; i < nchoose; i++) { + buf[n] = sp[clist[i]][0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_spy(int n) +{ + double **sp = atom->sp; + + for (int i = 0; i < nchoose; i++) { + buf[n] = sp[clist[i]][1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_spz(int n) +{ + double **sp = atom->sp; + + for (int i = 0; i < nchoose; i++) { + buf[n] = sp[clist[i]][2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_sp(int n) +{ + double **sp = atom->sp; + + for (int i = 0; i < nchoose; i++) { + buf[n] = sp[clist[i]][3]; + n += size_one; + } +} + /* ---------------------------------------------------------------------- */ void DumpCustom::pack_radius(int n) diff --git a/src/dump_custom.h b/src/dump_custom.h index 1420d69b9b..c96148f275 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -178,6 +178,11 @@ class DumpCustom : public Dump { void pack_muy(int); void pack_muz(int); void pack_mu(int); + void pack_mumag(int); //Magnetic quantities + void pack_spx(int); + void pack_spy(int); + void pack_spz(int); + void pack_sp(int); void pack_radius(int); void pack_diameter(int); diff --git a/src/set.cpp b/src/set.cpp index 77cae4cb09..6758b74445 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -44,7 +44,7 @@ using namespace MathConst; enum{ATOM_SELECT,MOL_SELECT,TYPE_SELECT,GROUP_SELECT,REGION_SELECT}; enum{TYPE,TYPE_FRACTION,MOLECULE,X,Y,Z,CHARGE,MASS,SHAPE,LENGTH,TRI, - DIPOLE,DIPOLE_RANDOM,QUAT,QUAT_RANDOM,THETA,THETA_RANDOM,ANGMOM,OMEGA, + DIPOLE,DIPOLE_RANDOM,SPIN,SPIN_RANDOM,QUAT,QUAT_RANDOM,THETA,THETA_RANDOM,ANGMOM,OMEGA, DIAMETER,DENSITY,VOLUME,IMAGE,BOND,ANGLE,DIHEDRAL,IMPROPER, MESO_E,MESO_CV,MESO_RHO,EDPD_TEMP,EDPD_CV,CC,SMD_MASS_DENSITY, SMD_CONTACT_RADIUS,DPDTHETA,INAME,DNAME}; @@ -215,6 +215,34 @@ void Set::command(int narg, char **arg) setrandom(DIPOLE_RANDOM); iarg += 3; + } else if (strcmp(arg[iarg],"spin") == 0) { + if (iarg+4 > narg) error->all(FLERR,"Illegal set command"); + if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); + else dvalue = force->numeric(FLERR,arg[iarg+1]); + if (strstr(arg[iarg+2],"v_") == arg[iarg+2]) varparse(arg[iarg+2],2); + else xvalue = force->numeric(FLERR,arg[iarg+2]); + if (strstr(arg[iarg+3],"v_") == arg[iarg+3]) varparse(arg[iarg+3],3); + else yvalue = force->numeric(FLERR,arg[iarg+3]); + if (strstr(arg[iarg+4],"v_") == arg[iarg+4]) varparse(arg[iarg+4],4); + else zvalue = force->numeric(FLERR,arg[iarg+4]); + if (!atom->sp_flag) + error->all(FLERR,"Cannot set this attribute for this atom style"); + set(SPIN); + iarg += 5; + + } else if (strcmp(arg[iarg],"spin/random") == 0) { + if (iarg+3 > narg) error->all(FLERR,"Illegal set command"); + ivalue = force->inumeric(FLERR,arg[iarg+1]); + dvalue = force->numeric(FLERR,arg[iarg+2]); + if (!atom->sp_flag) + error->all(FLERR,"Cannot set this attribute for this atom style"); + if (ivalue <= 0) + error->all(FLERR,"Invalid random number seed in set command"); + if (dvalue <= 0.0) + error->all(FLERR,"Invalid dipole length in set command"); + setrandom(SPIN_RANDOM); + iarg += 3; + } else if (strcmp(arg[iarg],"quat") == 0) { if (iarg+5 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); @@ -821,6 +849,21 @@ void Set::set(int keyword) mu[i][2]*mu[i][2]); } + // set magnetic moments + + else if (keyword == SPIN) { + double **sp = atom->sp; + double *mumag = atom->mumag; + double sp_norm = sqrt(xvalue*xvalue+yvalue*yvalue+zvalue*zvalue); + sp[i][0] = xvalue/sp_norm; + sp[i][1] = yvalue/sp_norm; + sp[i][2] = zvalue/sp_norm; + sp[i][3] = sqrt(sp[i][0]*sp[i][0] + sp[i][1]*sp[i][1] + + sp[i][2]*sp[i][2]); //Should be 1 for atomic spins + mumag[i] = sp_norm; + } + + // set quaternion orientation of ellipsoid or tri or body particle // set quaternion orientation of ellipsoid or tri or body particle // enforce quat rotation vector in z dir for 2d systems @@ -981,6 +1024,51 @@ void Set::setrandom(int keyword) } } + + // set spin moments to random orientations in 3d or 2d + // spin length is fixed to unity + + } else if (keyword == SPIN_RANDOM) { + double **sp = atom->sp; + double *mumag = atom->mumag; + int nlocal = atom->nlocal; + + double sp_sq,scale; + + if (domain->dimension == 3) { + for (i = 0; i < nlocal; i++) + if (select[i]) { + random->reset(seed,x[i]); + sp[i][0] = random->uniform() - 0.5; + sp[i][1] = random->uniform() - 0.5; + sp[i][2] = random->uniform() - 0.5; + sp_sq = sp[i][0]*sp[i][0] + sp[i][1]*sp[i][1] + sp[i][2]*sp[i][2]; + scale = 1.0/sqrt(sp_sq); + sp[i][0] *= scale; + sp[i][1] *= scale; + sp[i][2] *= scale; + sp[i][3] = sqrt(sp_sq); + mumag[i] = dvalue; + count++; + } + + } else { + for (i = 0; i < nlocal; i++) + if (select[i]) { + random->reset(seed,x[i]); + sp[i][0] = random->uniform() - 0.5; + sp[i][1] = random->uniform() - 0.5; + sp[i][2] = 0.0; + sp_sq = sp[i][0]*sp[i][0] + sp[i][1]*sp[i][1]; + scale = 1.0/sqrt(sp_sq); + sp[i][0] *= scale; + sp[i][1] *= scale; + sp[i][3] = sqrt(sp_sq); + mumag[i] = dvalue; + count++; + } + } + // set quaternions to random orientations in 3d and 2d } else if (keyword == QUAT_RANDOM) { diff --git a/src/verlet.cpp b/src/verlet.cpp index 019f3f2f05..7bac6d7647 100644 --- a/src/verlet.cpp +++ b/src/verlet.cpp @@ -75,6 +75,7 @@ void Verlet::init() torqueflag = extraflag = 0; if (atom->torque_flag) torqueflag = 1; if (atom->avec->forceclearflag) extraflag = 1; + if (atom->mumag_flag) extraflag = 1; // orthogonal vs triclinic simulation box @@ -385,6 +386,8 @@ void Verlet::force_clear() if (nbytes) { memset(&atom->f[0][0],0,3*nbytes); + //test memset for fm + //memset(&atom->fm[0][0],0,3*nbytes); if (torqueflag) memset(&atom->torque[0][0],0,3*nbytes); if (extraflag) atom->avec->force_clear(0,nbytes); } -- GitLab From bf18d842734e550bfd5a395bad98627efcf0200b Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 15 May 2017 08:02:16 -0600 Subject: [PATCH 019/675] Same commit, with input (mag. cobalt) and vmd files --- in.cobalt | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++ vmd_nano.vmd | 79 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 174 insertions(+) create mode 100644 in.cobalt create mode 100644 vmd_nano.vmd diff --git a/in.cobalt b/in.cobalt new file mode 100644 index 0000000000..dcb70e4a62 --- /dev/null +++ b/in.cobalt @@ -0,0 +1,95 @@ +################### +#######Init######## +################### + +clear +#setting units. default: lj(unitless). Others: metal(Ang, picosecs, eV, ...), real(Ang, femtosecs, Kcal/mol, ...), ... +units metal + +#setting dimension of the system (N=2 or 3) +dimension 3 + +#setting boundary conditions. (p for periodic, f for fixed, ...) +boundary p p p +#boundary f f f + +#setting atom_style, defines what can of atoms to use in simulation (atomic, molecule, angle, dipole, ...) +atom_style spin +#atom_style hybrid sphere spin + + +########################### +#######Create atoms######## +########################### + +#Lattice constant of fcc Cobalt +lattice fcc 3.54 + +#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen +#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) +region box block 0.0 2.0 0.0 2.0 0.0 2.0 + +#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. +create_box 1 box + +#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... +#Entries: atom type, +create_atoms 1 box + +#Replicating NxNxN the entire set of atoms +#replicate 1 1 1 + + +####################### +#######Settings######## +####################### + +#Setting one or more properties of one or more atoms. +#Setting mass +mass 1 1.0 +#set group all mass 1.0 +#Setting spins orientation and moment +#set group all spin/random 11 1.7 +set group all spin 1.7 0.0 1.0 0.0 + +#Magnetic exchange interaction coefficient for bulk fcc Cobalt +pair_style pair/spin 4.0 +pair_coeff * * 0.0446928 0.003496 1.4885 +#pair_coeff * * 0.0 0.003496 1.4885 + +#Fix Langevin spins (merging damping and temperature) +#Defines a cutof distance for the neighbors. +#neighbor 0.5 bin +#Magnetic field fix +fix 1 all force/spin zeeman 50 0.0 0.0 1.0 +#fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.1 0.0 0.0 1.0 + +#Fix Langevin spins (merging damping and temperature) +fix 2 all langevin/spin 0.0 0.1 0.0 21 +#fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all nve/spin + +#compute total magnetization and magnetic energy +compute mag all compute/spin +fix outmag all ave/time 1 1 100 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] file mag.dat + +#Defining a computation that will be performed on a group of atoms. +#Entries: ID(user assigned), group-ID(group of atoms to peform the sim on), style(temp, pe, ...), args + +#Setting the timestep for the simulation +timestep 0.000005 + +################## +#######run######## +################## + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 100 dump_spin.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 10 + + diff --git a/vmd_nano.vmd b/vmd_nano.vmd new file mode 100644 index 0000000000..4ba4cb3841 --- /dev/null +++ b/vmd_nano.vmd @@ -0,0 +1,79 @@ +proc vmd_draw_arrow {mol start end} { + set middle [vecadd $start [vecscale 0.9 [vecsub $end $start]]] + graphics $mol cylinder $start $middle radius 0.05 + graphics $mol cone $middle $end radius 0.01 color 3 +} + +proc vmd_draw_vector {args} { + set usage {"draw vector {x1 y1 z1} {x2 y2 z2} [scale ] [resolution ] [radius ] [filled ]"} + # defaults + set scale 3.0 + set res 5 + set radius 0.1 + set filled yes + + if {[llength $args] < 3} { + error "wrong # args: should be $usage" + } + set mol [lindex $args 0] + set center [lindex $args 1] + set vector [lindex $args 2] + if {[llength $center] != 3 || [llength $vector] != 3} { + error "wrong type of args: should be $usage" + } + + foreach {flag value} [lrange $args 3 end] { + switch -glob $flag { + scale {set scale $value} + res* {set res $value} + rad* {set radius $value} + fill* {set filled $value} + default {error "unknown option '$flag': should be $usage" } + } + } + + set vechalf [vecscale [expr $scale * 0.5] $vector] + return [list \ + [graphics $mol color yellow]\ + [graphics $mol cylinder [vecsub $center $vechalf]\ + [vecadd $center [vecscale 0.7 $vechalf]] \ + radius $radius resolution $res filled $filled] \ + [graphics $mol color orange]\ + [graphics $mol cone [vecadd $center [vecscale 0.6 $vechalf]] \ + [vecadd $center $vechalf] radius [expr $radius * 2.5] \ + resolution $res]] +} + +proc vmd_draw_spin {args} { + global molid + graphics $molid delete all + set frame [molinfo $molid get frame] + set natoms [molinfo $molid get numatoms] + for {set i 0} {$i < $natoms} {incr i} { + set sel [atomselect top "index $i"] +# set sel [atomselect top "index 1200"] + set coords [lindex [$sel get {x y z}] $molid] + set velocities [lindex [$sel get {vx vy vz}] $molid] + draw vector $coords $velocities + set uvx [lindex [$sel get {vx}] $molid] + set uvy [lindex [$sel get {vy}] $molid] + set uvz [lindex [$sel get {vz}] $molid] + $sel set user [vecadd [vecadd [vecscale $uvy $uvy] [vecscale $uvz $uvz] ] [vecscale $uvx $uvx]] + $sel set user $uvy + #draw vector $coords {0.0 uvy 0.0} + } + #pbc box -color 3 +} + +proc enable_trace {} { + global vmd_frame + trace variable vmd_frame([molinfo top]) w vmd_draw_spin + } + +set molid [mol addfile {/ascldap/users/jtranch/Documents/Test_lammps_Spin3/src/dump_spin.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] +scale by 0.5 +animate style Loop +enable_trace + + + -- GitLab From 3168704858af6073b0c890c963711b67c8c9b1ed Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 16 May 2017 08:13:20 -0600 Subject: [PATCH 020/675] For paramagnetic simulation (no pair interaction declared), the "atom_modify" command has to be used (in order to initialize the bin). example: atom_modify sort 1000 4.0 (Freq. of sorting, Cutoff distance) In order to print the actual time with the total mag., the vector associated to the mag. compute was modified. It is now: [time, Mx, My, Mz, |M|, En_mag] Optimization of the spin_compute routine: energy and mag. have been gathered in a same loop. --- in.cobalt | 21 +++++++++++---------- src/SPIN/compute_spin.cpp | 37 ++++++++++++++----------------------- src/SPIN/fix_force_spin.cpp | 2 +- vmd_nano.vmd | 2 +- 4 files changed, 27 insertions(+), 35 deletions(-) diff --git a/in.cobalt b/in.cobalt index dcb70e4a62..72fcb30faf 100644 --- a/in.cobalt +++ b/in.cobalt @@ -10,13 +10,14 @@ units metal dimension 3 #setting boundary conditions. (p for periodic, f for fixed, ...) -boundary p p p +#boundary p p p #boundary f f f #setting atom_style, defines what can of atoms to use in simulation (atomic, molecule, angle, dipole, ...) atom_style spin #atom_style hybrid sphere spin +atom_modify sort 1000 4.0 ########################### #######Create atoms######## @@ -27,7 +28,7 @@ lattice fcc 3.54 #Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen #(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 2.0 0.0 2.0 0.0 2.0 +region box block 0.0 1.0 0.0 1.0 0.0 1.0 #Creating a simulation box based on the specified region. Entries: number of atom types and box ref. create_box 1 box @@ -50,18 +51,18 @@ mass 1 1.0 #set group all mass 1.0 #Setting spins orientation and moment #set group all spin/random 11 1.7 -set group all spin 1.7 0.0 1.0 0.0 +set group all spin 1.7 1.0 0.0 0.0 #Magnetic exchange interaction coefficient for bulk fcc Cobalt -pair_style pair/spin 4.0 -pair_coeff * * 0.0446928 0.003496 1.4885 +#pair_style pair/spin 4.0 +#pair_coeff * * 0.0446928 0.003496 1.4885 #pair_coeff * * 0.0 0.003496 1.4885 #Fix Langevin spins (merging damping and temperature) #Defines a cutof distance for the neighbors. #neighbor 0.5 bin #Magnetic field fix -fix 1 all force/spin zeeman 50 0.0 0.0 1.0 +fix 1 all force/spin zeeman 10 0.0 0.0 1.0 #fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.1 0.0 0.0 1.0 @@ -74,13 +75,13 @@ fix 3 all nve/spin #compute total magnetization and magnetic energy compute mag all compute/spin -fix outmag all ave/time 1 1 100 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] file mag.dat +fix outmag all ave/time 1 1 50 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] file mag.dat #Defining a computation that will be performed on a group of atoms. #Entries: ID(user assigned), group-ID(group of atoms to peform the sim on), style(temp, pe, ...), args #Setting the timestep for the simulation -timestep 0.000005 +timestep 0.00005 ################## #######run######## @@ -90,6 +91,6 @@ timestep 0.000005 dump 1 all custom 100 dump_spin.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 10 - +run 1000000 +#run 100 diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 9ff12ac3dd..a91515a024 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -32,7 +32,7 @@ ComputeSpin::ComputeSpin(LAMMPS *lmp, int narg, char **arg) : if ((narg != 3) && (narg != 4)) error->all(FLERR,"Illegal compute compute/spin command"); vector_flag = 1; - size_vector = 5; + size_vector = 6; extvector = 0; init(); @@ -61,7 +61,7 @@ void ComputeSpin::compute_vector() int i, index; invoked_vector = update->ntimestep; - + countsp = countsptot = 0.0; mag[0] = mag[1] = mag[2] = mag[3] = 0.0; magtot[0] = magtot[1] = magtot[2] = magtot[3] = 0.0; @@ -77,13 +77,16 @@ void ComputeSpin::compute_vector() int nlocal = atom->nlocal; - // compute total magnetization + // compute total magnetization and magnetic energy for (i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (atom->mumag_flag && atom->sp_flag) { mag[0] += sp[i][0]; mag[1] += sp[i][1]; mag[2] += sp[i][2]; + magenergy += mumag[i]*sp[i][0]*fm[i][0]; + magenergy += mumag[i]*sp[i][1]*fm[i][1]; + magenergy += mumag[i]*sp[i][2]*fm[i][2]; countsp++; } } @@ -91,6 +94,7 @@ void ComputeSpin::compute_vector() } MPI_Allreduce(mag,magtot,4,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&magenergy,&magenergytot,1,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&countsp,&countsptot,1,MPI_DOUBLE,MPI_SUM,world); double scale = 1.0/countsptot; @@ -99,25 +103,12 @@ void ComputeSpin::compute_vector() magtot[2] *= scale; magtot[3] = sqrt(square(magtot[0])+square(magtot[1])+square(magtot[2])); - // compute total magnetic energy - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - if (atom->mumag_flag && atom->sp_flag) { - magenergy += mumag[i]*sp[i][0]*fm[i][0]; - magenergy += mumag[i]*sp[i][1]*fm[i][1]; - magenergy += mumag[i]*sp[i][2]*fm[i][2]; - } - else error->all(FLERR,"Compute spin/compute declared magnetic quantities (sp and mumag flags)"); - } - } - - MPI_Allreduce(&magenergy,&magenergytot,1,MPI_DOUBLE,MPI_SUM,world); - - vector[0] = magtot[0]; - vector[1] = magtot[1]; - vector[2] = magtot[2]; - vector[3] = magtot[3]; - vector[4] = magenergytot; + vector[0] = invoked_vector*update->dt; + vector[1] = magtot[0]; + vector[2] = magtot[1]; + vector[3] = magtot[2]; + vector[4] = magtot[3]; + vector[5] = magenergytot; } /* ---------------------------------------------------------------------- @@ -129,6 +120,6 @@ void ComputeSpin::allocate() memory->destroy(mag); memory->create(mag,4,"compute/spin:mag"); memory->create(magtot,5,"compute/spin:mag"); - vector = magtot; + memory->create(vector,6,"compute/spin:vector"); } diff --git a/src/SPIN/fix_force_spin.cpp b/src/SPIN/fix_force_spin.cpp index 0163b32eb9..b33d0f019b 100644 --- a/src/SPIN/fix_force_spin.cpp +++ b/src/SPIN/fix_force_spin.cpp @@ -189,7 +189,7 @@ void FixForceSpin::post_force(int vflag) //emag -= (sp[i][0]*fm[i][0] + sp[i][1]*fm[i][1] + sp[i][2]*fm[i][2]); } } - //printf("test force. 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); + printf("test force. 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); //printf("Field force compute, fm[0][2]=%g \n",fm[0][2]); } diff --git a/vmd_nano.vmd b/vmd_nano.vmd index 4ba4cb3841..a8d7db503c 100644 --- a/vmd_nano.vmd +++ b/vmd_nano.vmd @@ -70,7 +70,7 @@ proc enable_trace {} { trace variable vmd_frame([molinfo top]) w vmd_draw_spin } -set molid [mol addfile {/ascldap/users/jtranch/Documents/Test_lammps_Spin3/src/dump_spin.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] +set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump_spin.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] scale by 0.5 animate style Loop enable_trace -- GitLab From af45d55b3ff4ac106d7ec84383bff21970d9d7df Mon Sep 17 00:00:00 2001 From: julient31 Date: Fri, 19 May 2017 13:24:40 -0600 Subject: [PATCH 021/675] Added: - For Paramag. simulations, the option "atom_modify" has to be set ex: atom_modify sort 1000 4.0 (Freq,Dist). - Actual time is now printed (c_mag[0] in compute_spin) - Value of Gilbert's damping corrected - Now even results for SD/Lammps comp. in purely paramg. or aniso. situations - Pack and unpack reverse needed corrections (f only was set, not fm) - Spin temperature is now computed (data c_mag[7] in spin_compute) To do: - Fcc with p p p bc is still not working - If Zeeman/Aniso force not defined, error => to be removed - Add DMI and ME (see if new file or add in the exchange file) --- in.cobalt | 32 +++++++------- src/SPIN/atom_vec_spin.cpp | 34 +++++++++++---- src/SPIN/compute_spin.cpp | 31 ++++++++++--- src/SPIN/compute_spin.h | 4 ++ src/SPIN/fix_force_spin.cpp | 22 +++++----- src/SPIN/fix_langevin_spin.cpp | 11 +++-- src/SPIN/fix_nve_spin.cpp | 17 +++----- src/SPIN/pair_spin.cpp | 79 ++++++++++++++++++++++++---------- src/set.cpp | 2 +- 9 files changed, 152 insertions(+), 80 deletions(-) diff --git a/in.cobalt b/in.cobalt index 72fcb30faf..06b5508fde 100644 --- a/in.cobalt +++ b/in.cobalt @@ -10,14 +10,13 @@ units metal dimension 3 #setting boundary conditions. (p for periodic, f for fixed, ...) -#boundary p p p +boundary p p p #boundary f f f #setting atom_style, defines what can of atoms to use in simulation (atomic, molecule, angle, dipole, ...) atom_style spin -#atom_style hybrid sphere spin - -atom_modify sort 1000 4.0 +#Define sort for paramagnetic simulations (if no pair interaction) +#atom_modify sort 1000 4.0 ########################### #######Create atoms######## @@ -25,10 +24,11 @@ atom_modify sort 1000 4.0 #Lattice constant of fcc Cobalt lattice fcc 3.54 +#lattice sc 3.54 #Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen #(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 1.0 0.0 1.0 0.0 1.0 +region box block 0.0 3.0 0.0 3.0 0.0 3.0 #Creating a simulation box based on the specified region. Entries: number of atom types and box ref. create_box 1 box @@ -50,21 +50,21 @@ create_atoms 1 box mass 1 1.0 #set group all mass 1.0 #Setting spins orientation and moment -#set group all spin/random 11 1.7 -set group all spin 1.7 1.0 0.0 0.0 +#set group all spin/random 11 1.72 +set group all spin 1.72 1.0 0.0 0.0 #Magnetic exchange interaction coefficient for bulk fcc Cobalt -#pair_style pair/spin 4.0 -#pair_coeff * * 0.0446928 0.003496 1.4885 +pair_style pair/spin 4.0 +pair_coeff * * 0.0446928 0.003496 1.4885 #pair_coeff * * 0.0 0.003496 1.4885 #Fix Langevin spins (merging damping and temperature) #Defines a cutof distance for the neighbors. #neighbor 0.5 bin #Magnetic field fix -fix 1 all force/spin zeeman 10 0.0 0.0 1.0 +fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 #fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.1 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) fix 2 all langevin/spin 0.0 0.1 0.0 21 @@ -75,22 +75,22 @@ fix 3 all nve/spin #compute total magnetization and magnetic energy compute mag all compute/spin -fix outmag all ave/time 1 1 50 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] file mag.dat +fix outmag all ave/time 1 1 50 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag.dat #Defining a computation that will be performed on a group of atoms. #Entries: ID(user assigned), group-ID(group of atoms to peform the sim on), style(temp, pe, ...), args #Setting the timestep for the simulation -timestep 0.00005 +timestep 0.000005 ################## #######run######## ################## #Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 100 dump_spin.lammpstrj type x y z spx spy spz +dump 1 all custom 50 dump_spin.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 1000000 -#run 100 +run 200000 +#run 2 diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 6d12a7d4e3..bda03f9b27 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -44,7 +44,6 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) forceclearflag = 1; atom->mumag_flag = atom->sp_flag = 1; - //atom->rmass_flag = 1; } @@ -138,6 +137,7 @@ int AtomVecSpin::pack_comm(int n, int *list, double *buf, buf[m++] = sp[j][0]; buf[m++] = sp[j][1]; buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; } } else { if (domain->triclinic == 0) { @@ -157,6 +157,7 @@ int AtomVecSpin::pack_comm(int n, int *list, double *buf, buf[m++] = sp[j][0]; buf[m++] = sp[j][1]; buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; } } return m; @@ -180,6 +181,7 @@ int AtomVecSpin::pack_comm_vel(int n, int *list, double *buf, buf[m++] = sp[j][0]; buf[m++] = sp[j][1]; buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; buf[m++] = v[j][0]; buf[m++] = v[j][1]; buf[m++] = v[j][2]; @@ -203,6 +205,7 @@ int AtomVecSpin::pack_comm_vel(int n, int *list, double *buf, buf[m++] = sp[j][0]; buf[m++] = sp[j][1]; buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; buf[m++] = v[j][0]; buf[m++] = v[j][1]; buf[m++] = v[j][2]; @@ -219,6 +222,7 @@ int AtomVecSpin::pack_comm_vel(int n, int *list, double *buf, buf[m++] = sp[j][0]; buf[m++] = sp[j][1]; buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; if (mask[i] & deform_groupbit) { buf[m++] = v[j][0] + dvx; buf[m++] = v[j][1] + dvy; @@ -246,6 +250,7 @@ int AtomVecSpin::pack_comm_hybrid(int n, int *list, double *buf) buf[m++] = sp[j][0]; buf[m++] = sp[j][1]; buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; } return m; } @@ -265,6 +270,7 @@ void AtomVecSpin::unpack_comm(int n, int first, double *buf) sp[i][0] = buf[m++]; sp[i][1] = buf[m++]; sp[i][2] = buf[m++]; + sp[i][3] = buf[m++]; } } @@ -283,6 +289,7 @@ void AtomVecSpin::unpack_comm_vel(int n, int first, double *buf) sp[i][0] = buf[m++]; sp[i][1] = buf[m++]; sp[i][2] = buf[m++]; + sp[i][3] = buf[m++]; v[i][0] = buf[m++]; v[i][1] = buf[m++]; v[i][2] = buf[m++]; @@ -301,6 +308,7 @@ int AtomVecSpin::unpack_comm_hybrid(int n, int first, double *buf) sp[i][0] = buf[m++]; sp[i][1] = buf[m++]; sp[i][2] = buf[m++]; + sp[i][3] = buf[m++]; } return m; } @@ -317,6 +325,9 @@ int AtomVecSpin::pack_reverse(int n, int first, double *buf) buf[m++] = f[i][0]; buf[m++] = f[i][1]; buf[m++] = f[i][2]; + buf[m++] = fm[i][0]; + buf[m++] = fm[i][1]; + buf[m++] = fm[i][2]; } return m; } @@ -333,6 +344,9 @@ void AtomVecSpin::unpack_reverse(int n, int *list, double *buf) f[j][0] += buf[m++]; f[j][1] += buf[m++]; f[j][2] += buf[m++]; + fm[j][0] += buf[m++]; + fm[j][1] += buf[m++]; + fm[j][2] += buf[m++]; } } @@ -855,9 +869,10 @@ void AtomVecSpin::pack_data(double **buf) buf[i][6] = sp[i][0]; buf[i][7] = sp[i][1]; buf[i][8] = sp[i][2]; - buf[i][9] = ubuf((image[i] & IMGMASK) - IMGMAX).d; - buf[i][10] = ubuf((image[i] >> IMGBITS & IMGMASK) - IMGMAX).d; - buf[i][11] = ubuf((image[i] >> IMG2BITS) - IMGMAX).d; + buf[i][9] = sp[i][3]; + buf[i][10] = ubuf((image[i] & IMGMASK) - IMGMAX).d; + buf[i][11] = ubuf((image[i] >> IMGBITS & IMGMASK) - IMGMAX).d; + buf[i][12] = ubuf((image[i] >> IMG2BITS) - IMGMAX).d; } } @@ -871,8 +886,9 @@ int AtomVecSpin::pack_data_hybrid(int i, double *buf) buf[1] = sp[i][0]; buf[2] = sp[i][1]; buf[3] = sp[i][2]; + buf[4] = sp[i][3]; - return 4; + return 5; } /* ---------------------------------------------------------------------- @@ -887,9 +903,9 @@ void AtomVecSpin::write_data(FILE *fp, int n, double **buf) "%-1.16e %d %d %d\n", (tagint) ubuf(buf[i][0]).i,(int) ubuf(buf[i][1]).i, buf[i][2],buf[i][3],buf[i][4], - buf[i][5],buf[i][6],buf[i][7],buf[i][8], - (int) ubuf(buf[i][9]).i,(int) ubuf(buf[i][10]).i, - (int) ubuf(buf[i][11]).i); + buf[i][5],buf[i][6],buf[i][7],buf[i][8],buf[i][9], + (int) ubuf(buf[i][10]).i,(int) ubuf(buf[i][11]).i, + (int) ubuf(buf[i][12]).i); } /* ---------------------------------------------------------------------- @@ -898,7 +914,7 @@ void AtomVecSpin::write_data(FILE *fp, int n, double **buf) int AtomVecSpin::write_data_hybrid(FILE *fp, double *buf) { - fprintf(fp," %-1.16e %-1.16e %-1.16e %-1.16e",buf[0],buf[1],buf[2],buf[3]); + fprintf(fp," %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e",buf[0],buf[1],buf[2],buf[3],buf[4]); return 4; } diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index a91515a024..9a0ba20496 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -20,9 +20,12 @@ #include "memory.h" #include "error.h" #include "math_special.h" +#include "math_const.h" +#include "force.h" using namespace LAMMPS_NS; using namespace MathSpecial; +using namespace MathConst; /* ---------------------------------------------------------------------- */ @@ -32,7 +35,7 @@ ComputeSpin::ComputeSpin(LAMMPS *lmp, int narg, char **arg) : if ((narg != 3) && (narg != 4)) error->all(FLERR,"Illegal compute compute/spin command"); vector_flag = 1; - size_vector = 6; + size_vector = 7; extvector = 0; init(); @@ -52,6 +55,8 @@ ComputeSpin::~ComputeSpin() void ComputeSpin::init() { + hbar = force->hplanck/MY_2PI; + kb = force->boltz; } /* ---------------------------------------------------------------------- */ @@ -59,13 +64,16 @@ void ComputeSpin::init() void ComputeSpin::compute_vector() { int i, index; - + invoked_vector = update->ntimestep; countsp = countsptot = 0.0; mag[0] = mag[1] = mag[2] = mag[3] = 0.0; magtot[0] = magtot[1] = magtot[2] = magtot[3] = 0.0; - magenergy = magenergytot = 0.0; + magenergy = magenergytot = 0.0; + tempnum = tempnumtot = 0.0; + tempdenom = tempdenomtot = 0.0; + spintemperature = 0.0; double **x = atom->x; int *mask = atom->mask; @@ -74,6 +82,7 @@ void ComputeSpin::compute_vector() double *mumag = atom->mumag; double **sp = atom->sp; double **fm = atom->fm; + double tx,ty,tz; int nlocal = atom->nlocal; @@ -86,7 +95,12 @@ void ComputeSpin::compute_vector() mag[2] += sp[i][2]; magenergy += mumag[i]*sp[i][0]*fm[i][0]; magenergy += mumag[i]*sp[i][1]*fm[i][1]; - magenergy += mumag[i]*sp[i][2]*fm[i][2]; + magenergy += mumag[i]*sp[i][2]*fm[i][2]; + tx = sp[i][1]*fm[i][2]-sp[i][2]*fm[i][1]; + ty = sp[i][2]*fm[i][0]-sp[i][0]*fm[i][2]; + tz = sp[i][0]*fm[i][1]-sp[i][1]*fm[i][0]; + tempnum += tx*tx+ty*ty+tz*tz; + tempdenom += sp[i][0]*sp[i][0]+sp[i][1]*sp[i][1]+sp[i][2]*sp[i][2]; countsp++; } } @@ -95,6 +109,8 @@ void ComputeSpin::compute_vector() MPI_Allreduce(mag,magtot,4,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&magenergy,&magenergytot,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&tempnum,&tempnumtot,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&tempdenom,&tempdenomtot,1,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&countsp,&countsptot,1,MPI_DOUBLE,MPI_SUM,world); double scale = 1.0/countsptot; @@ -102,13 +118,16 @@ void ComputeSpin::compute_vector() magtot[1] *= scale; magtot[2] *= scale; magtot[3] = sqrt(square(magtot[0])+square(magtot[1])+square(magtot[2])); + spintemperature = hbar*tempnumtot/2.0/kb/tempdenomtot; vector[0] = invoked_vector*update->dt; vector[1] = magtot[0]; vector[2] = magtot[1]; vector[3] = magtot[2]; vector[4] = magtot[3]; - vector[5] = magenergytot; + vector[5] = magenergytot; + vector[6] = spintemperature; + } /* ---------------------------------------------------------------------- @@ -120,6 +139,6 @@ void ComputeSpin::allocate() memory->destroy(mag); memory->create(mag,4,"compute/spin:mag"); memory->create(magtot,5,"compute/spin:mag"); - memory->create(vector,6,"compute/spin:vector"); + memory->create(vector,7,"compute/spin:vector"); } diff --git a/src/SPIN/compute_spin.h b/src/SPIN/compute_spin.h index c4011d5ded..a20b956b01 100644 --- a/src/SPIN/compute_spin.h +++ b/src/SPIN/compute_spin.h @@ -36,6 +36,10 @@ class ComputeSpin : public Compute { double *magtot; double magenergy; double magenergytot; + double tempnum,tempnumtot; + double tempdenom,tempdenomtot; + double spintemperature; + double kb,hbar; int countsp; int countsptot; int usecenter; diff --git a/src/SPIN/fix_force_spin.cpp b/src/SPIN/fix_force_spin.cpp index b33d0f019b..e5abe3a2ca 100644 --- a/src/SPIN/fix_force_spin.cpp +++ b/src/SPIN/fix_force_spin.cpp @@ -77,8 +77,6 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a Kaz = force->numeric(FLERR,arg[7]); } else error->all(FLERR,"Illegal fix force/spin command"); - //printf("test field in creator: H=%g, Hx=%g, Hy=%g, Hz=%g \n",H_field,Hx,Hy,Hz); - degree2rad = MY_PI/180.0; time_origin = update->ntimestep; @@ -122,13 +120,13 @@ void FixForceSpin::init() } // check variables - if (magstr) { + if (magstr) { magvar = input->variable->find(magstr); if (magvar < 0) error->all(FLERR,"Variable name for fix magnetic field does not exist"); if (!input->variable->equalstyle(magvar)) error->all(FLERR,"Variable for fix magnetic field is invalid style"); - } + } varflag = CONSTANT; if (magfieldstyle != CONSTANT) varflag = EQUAL; @@ -177,19 +175,17 @@ void FixForceSpin::post_force(int vflag) fm[i][0] += mumag[i]*xmag; fm[i][1] += mumag[i]*ymag; fm[i][2] += mumag[i]*zmag; - // emag -= (sp[i][0]*xmag + sp[i][1]*ymag + sp[i][2]*zmag); } } if (style == ANISOTROPY) { for (int i = 0; i < nlocal; i++) { scalar = Kax*sp[i][0] + Kay*sp[i][1] + Kaz*sp[i][2]; - fm[i][0] -= Ka*scalar*Kax; - fm[i][1] -= Ka*scalar*Kay; - fm[i][2] -= Ka*scalar*Kaz; - //emag -= (sp[i][0]*fm[i][0] + sp[i][1]*fm[i][1] + sp[i][2]*fm[i][2]); + fm[i][0] += scalar*xmag; + fm[i][1] += scalar*ymag; + fm[i][2] += scalar*zmag; } } - printf("test force. 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); + //printf("test force. 1;i=0, fx=%g, fy=%g, fz=%g, mumag=%g \n",fm[0][0],fm[0][1],fm[0][2],mumag[0]); //printf("Field force compute, fm[0][2]=%g \n",fm[0][2]); } @@ -211,6 +207,12 @@ void FixForceSpin::set_magneticforce() ymag = H_field*Hy; zmag = H_field*Hz; } + if (style == ANISOTROPY) { + xmag = 2.0*Ka*Kax; + ymag = 2.0*Ka*Kay; + zmag = 2.0*Ka*Kaz; + } + } diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index ee8f5c1c49..c22f224f59 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -107,7 +107,7 @@ void FixLangevinSpin::init() if (flag_force >= flag_lang) error->all(FLERR,"Fix langevin/spin should come after all other spin fixes"); dts = update->dt; - Gil_factor = alpha_t/(1.0+(alpha_t)*(alpha_t)); + Gil_factor = 1.0/(1.0+(alpha_t)*(alpha_t)); double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) double kb = force->boltz; @@ -166,8 +166,8 @@ void FixLangevinSpin::post_force(int vflag) fm[i][1] = fmy; fm[i][2] = fmz; } - - //printf("test damping. 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); + + //printf("test damping. 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); //apply thermal effects //add random field to fm for (int i = 0; i < nlocal; i++) @@ -183,12 +183,15 @@ void FixLangevinSpin::post_force(int vflag) fm[i][0] += rx;//Adding random field fm[i][1] += ry; fm[i][2] += rz; - + fm[i][0] *= Gil_factor;//Multiplying by Gilbert's prefactor fm[i][1] *= Gil_factor; fm[i][2] *= Gil_factor; } + + //printf("test langevin 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); + //printf("test rand var: %g, sigma=%g \n",(random->uniform()-0.5),sigma); //printf("test rand var: %g, sigma=%g \n",random->gaussian(),sigma); //printf("test random 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 4b9597e988..f156f76c8a 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -15,7 +15,6 @@ #include #include #include "fix_nve_spin.h" -//#include "fix_damping_spin.h" #include "atom.h" #include "atom_vec.h" #include "update.h" @@ -121,9 +120,7 @@ void FixNVESpin::initial_integrate(int vflag) // Advance spins //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) - if (sp[i][3] > 0.0) { - + if (mask[i] & groupbit) { cp[0] = cp[1] = cp[2] = 0.0; g[0] = g[1] = g[2] = 0.0; fm2 = (fm[i][0]*fm[i][0])+(fm[i][1]*fm[i][1])+(fm[i][2]*fm[i][2]); @@ -134,10 +131,6 @@ void FixNVESpin::initial_integrate(int vflag) cp[1] = fm[i][2]*sp[i][0]-fm[i][0]*sp[i][2]; cp[2] = fm[i][0]*sp[i][1]-fm[i][1]*sp[i][0]; - //cp[0] = sp[i][1]*fm[i][2]-sp[i][2]*fm[i][1]; - //cp[1] = sp[i][2]*fm[i][0]-sp[i][0]*fm[i][2]; - //cp[2] = sp[i][0]*fm[i][1]-sp[i][1]*fm[i][0]; - g[0] = sp[i][0]+cp[0]*dts; g[1] = sp[i][1]+cp[1]*dts; g[2] = sp[i][2]+cp[2]*dts; @@ -146,9 +139,9 @@ void FixNVESpin::initial_integrate(int vflag) g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts*dts; g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts*dts; - g[0] /= (1+(fmsq*dts*0.5)*(fmsq*dts*0.5)); - g[1] /= (1+(fmsq*dts*0.5)*(fmsq*dts*0.5)); - g[2] /= (1+(fmsq*dts*0.5)*(fmsq*dts*0.5)); + g[0] /= (1+0.25*fm2*dts*dts); + g[1] /= (1+0.25*fm2*dts*dts); + g[2] /= (1+0.25*fm2*dts*dts); sp[i][0] = g[0]; sp[i][1] = g[1]; @@ -161,7 +154,7 @@ void FixNVESpin::initial_integrate(int vflag) sp[i][1] *= scale; sp[i][2] *= scale; - // printf("test fix integ. 1;i=%d, fx=%g, fy=%g, fz=%g \n",i,fm[i][0],fm[i][1],fm[i][2]); + //printf("test fix integ. 1;i=%d, fx=%g, fy=%g, fz=%g \n",i,fm[i][0],fm[i][1],fm[i][2]); //printf("test fix integ.; i=%d, sx=%g, sy=%g, sz=%g, norm=%g \n",i,sp[i][0],sp[i][1],sp[i][2],scale); } diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index 975dcfc012..a2c75cbc90 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -41,14 +41,13 @@ PairSpin::~PairSpin() { if (allocated) { memory->destroy(setflag); + memory->destroy(cut_spin_exchange); memory->destroy(cut_spin_dipolar); memory->destroy(J_1); memory->destroy(J_2); memory->destroy(J_2); - memory->destroy(cutsq); - } } @@ -56,24 +55,25 @@ PairSpin::~PairSpin() void PairSpin::compute(int eflag, int vflag) { - - double **x = atom->x; - double **fm = atom->fm; - double *mumag = atom->mumag; - double **sp = atom->sp; - int *type = atom->type; - int i,j,ii,jj,inum,jnum,itype,jtype; + double evdwl,ecoul; double xtmp,ytmp,ztmp,fmix,fmiy,fmiz,fmjx,fmjy,fmjz,omx,omy,omz; + double cut, Jex, ra; double rsq,rd,delx,dely,delz; int *ilist,*jlist,*numneigh,**firstneigh; - double cut, Jex, ra; - - double evdwl,ecoul; + evdwl = ecoul = 0.0; if (eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = 0; + double **x = atom->x; + double **fm = atom->fm; + double *mumag = atom->mumag; + double **sp = atom->sp; + int *type = atom->type; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; @@ -81,6 +81,7 @@ void PairSpin::compute(int eflag, int vflag) // Pair spin computations // Loop over neighbors of my atoms + for (ii = 0; ii < inum; ii++) { i = ilist[ii]; xtmp = x[i][0]; @@ -88,10 +89,21 @@ void PairSpin::compute(int eflag, int vflag) ztmp = x[i][2]; jlist = firstneigh[i]; jnum = numneigh[i]; - + + //printf(":::::::Loop for atom numb. %d, jnum=%d ::::::: \n",i,jnum); + + //printf("Test print real atom: i=%d, sx=%g, sy=%g, sz=%g \n",i,sp[i][0],sp[i][1],sp[i][2]); + //printf("Test print real atom: i=%d, rx=%g, ry=%g, rz=%g \n",i,x[i][0],x[i][1],x[i][2]); + + int testcount=0; + //Exchange interaction for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; + j &= NEIGHMASK; + + fmix = fmiy = fmiz = 0.0; + fmjx = fmjy = fmjz = 0.0; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; @@ -103,8 +115,6 @@ void PairSpin::compute(int eflag, int vflag) if (rd <= cut) { itype = type[i]; jtype = type[j]; - fmix = fmiy = fmiz = 0.0; - fmjx = fmjy = fmjz = 0.0; ra = (rd/J_3[itype][jtype])*(rd/J_3[itype][jtype]); Jex = 4.0*J_1[itype][jtype]*ra; @@ -116,22 +126,47 @@ void PairSpin::compute(int eflag, int vflag) fmiy = Jex*sp[j][1]; fmiz = Jex*sp[j][2]; - //fmjx = Jex*sp[i][0]; - //fmjy = Jex*sp[i][1]; - //fmjz = Jex*sp[i][2]; + fmjx = Jex*sp[i][0]; + fmjy = Jex*sp[i][1]; + fmjz = Jex*sp[i][2]; + + + + //printf("Neighb pair: i=%d, j=%d \n",i,j); + //printf("Test print ghost/real neib atom: i=%d, j=%d, sx=%g, sy=%g, sz=%g \n",i,j,sp[j][0],sp[j][1],sp[j][2]); + //printf("Test g/r neib pair: i=%d, j=%d, rx=%g, ry=%g, rz=%g \n",i,j,x[j][0],x[j][1],x[j][2]); + //printf("Atom i: %d of type %d, Atom j: %d of type %d, \n",i,itype,j,jtype); + //printf("Exchange pair (%d,%d), Jij=%g, rij=%g \n",i,j,Jex,rd); + testcount++; } + + //printf("Test print ghost/real atom: j=%d, sx=%g, sy=%g, sz=%g \n",j,sp[j][0],sp[j][1],sp[j][2]); + //printf("Test print ghost/real atom: j=%d, rx=%g, ry=%g, rz=%g \n",j,x[j][0],x[j][1],x[j][2]); + fm[i][0] += fmix; fm[i][1] += fmiy; fm[i][2] += fmiz; - //fm[j][0] += fmjx; - //fm[j][1] += fmjy; - //fm[j][2] += fmjz; - } + if (newton_pair || j < nlocal) { + fm[j][0] += fmjx; + fm[j][1] += fmjy; + fm[j][2] += fmjz; + } + + //printf("Val fm %d: [%g,%g,%g] \n",i,fm[i][0],fm[i][1],fm[i][2]); + //printf("Val fm %d: [%g,%g,%g] \n",j,fm[j][0],fm[j][1],fm[j][2]); + + } + + + // printf("Test count %d \n",testcount); + } + //printf("New pair val: %d \n",newton_pair); //printf("vals exchange: Jx=%g, Jy=%g, Jz=%g \n",fm[0][0],fm[0][1],fm[0][2]); //printf("test exchange. 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); + //printf("::::::::::::::::::::::::: End loop ::::::::::::::::::::::::\n"); if (vflag_fdotr) virial_fdotr_compute(); } diff --git a/src/set.cpp b/src/set.cpp index 6758b74445..d4f0caf68e 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -860,7 +860,7 @@ void Set::set(int keyword) sp[i][2] = zvalue/sp_norm; sp[i][3] = sqrt(sp[i][0]*sp[i][0] + sp[i][1]*sp[i][1] + sp[i][2]*sp[i][2]); //Should be 1 for atomic spins - mumag[i] = sp_norm; + mumag[i] = dvalue; } // set quaternion orientation of ellipsoid or tri or body particle -- GitLab From d53def58538a1835c14428b13ea4a4064dd12456 Mon Sep 17 00:00:00 2001 From: julient31 Date: Fri, 26 May 2017 08:40:57 -0600 Subject: [PATCH 022/675] Field compute error apparently corrected. The issue was related to the reverse communication. To do: - Remove all checks/prints used to debug - Check all the flag set in the atom_vec_spin creator (very important for the reverse comm) - Code DMI/ME interactions - Start to work on parallel implementation of the integration --- in.cobalt | 23 +++-- src/SPIN/atom_vec_spin.cpp | 20 ++-- src/SPIN/compute_spin.cpp | 2 +- src/SPIN/fix_nve_spin.cpp | 197 +++++++++++++++++++++++++++++-------- src/SPIN/fix_nve_spin.h | 7 +- src/SPIN/pair_spin.cpp | 95 +++++++++++------- src/SPIN/pair_spin.h | 6 ++ 7 files changed, 253 insertions(+), 97 deletions(-) diff --git a/in.cobalt b/in.cobalt index 06b5508fde..1e58798c16 100644 --- a/in.cobalt +++ b/in.cobalt @@ -18,17 +18,20 @@ atom_style spin #Define sort for paramagnetic simulations (if no pair interaction) #atom_modify sort 1000 4.0 +atom_modify map array + ########################### #######Create atoms######## ########################### #Lattice constant of fcc Cobalt lattice fcc 3.54 -#lattice sc 3.54 +#lattice sc 2.50 +#lattice bcc 3.54 #Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen #(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 3.0 0.0 3.0 0.0 3.0 +region box block 0.0 2.0 0.0 2.0 0.0 2.0 #Creating a simulation box based on the specified region. Entries: number of atom types and box ref. create_box 1 box @@ -60,20 +63,24 @@ pair_coeff * * 0.0446928 0.003496 1.4885 #Fix Langevin spins (merging damping and temperature) #Defines a cutof distance for the neighbors. -#neighbor 0.5 bin +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 0.0 bin +neigh_modify every 1 check no delay 0 #Magnetic field fix -fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 +fix 1 all force/spin zeeman 10.0 0.0 0.0 1.0 #fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) -fix 2 all langevin/spin 0.0 0.1 0.0 21 +#fix 2 all langevin/spin 0.0 0.0 0.1 21 #fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix fix 3 all nve/spin #compute total magnetization and magnetic energy +#Ite Time Mx My Mz |M| Em Tm compute mag all compute/spin fix outmag all ave/time 1 1 50 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag.dat @@ -81,7 +88,7 @@ fix outmag all ave/time 1 1 50 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_ma #Entries: ID(user assigned), group-ID(group of atoms to peform the sim on), style(temp, pe, ...), args #Setting the timestep for the simulation -timestep 0.000005 +timestep 0.00005 ################## #######run######## @@ -91,6 +98,6 @@ timestep 0.000005 dump 1 all custom 50 dump_spin.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 200000 -#run 2 +run 30000 +#run 1 diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index bda03f9b27..3807ac0e56 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -30,15 +30,17 @@ using namespace LAMMPS_NS; AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) { molecular = 0; - mass_type = 1; - - comm_x_only = 0; - comm_f_only = 1; - size_forward = 6; - size_reverse = 3; + mass_type = 1; //check why + + //comm_x_only = 0; + comm_x_only = 1; + //comm_f_only = 1; + comm_f_only = 0; + size_forward = 7; + size_reverse = 6; size_border = 11; size_velocity = 3; - size_data_atom = 9; + size_data_atom = 9; //to check later size_data_vel = 4; xcol_data = 4; @@ -318,7 +320,6 @@ int AtomVecSpin::unpack_comm_hybrid(int n, int first, double *buf) int AtomVecSpin::pack_reverse(int n, int first, double *buf) { int i,m,last; - m = 0; last = first + n; for (i = first; i < last; i++) { @@ -337,7 +338,6 @@ int AtomVecSpin::pack_reverse(int n, int first, double *buf) void AtomVecSpin::unpack_reverse(int n, int *list, double *buf) { int i,j,m; - m = 0; for (i = 0; i < n; i++) { j = list[i]; @@ -941,9 +941,9 @@ bigint AtomVecSpin::memory_usage() return bytes; } -//Test force clear in spin void AtomVecSpin::force_clear(int n, size_t nbytes) { + memset(&atom->f[0][0],0,3*nbytes); memset(&atom->fm[0][0],0,3*nbytes); } diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 9a0ba20496..bd1b09fb44 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -125,7 +125,7 @@ void ComputeSpin::compute_vector() vector[2] = magtot[1]; vector[3] = magtot[2]; vector[4] = magtot[3]; - vector[5] = magenergytot; + vector[5] = -0.5*magenergytot*hbar; vector[6] = spintemperature; } diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index f156f76c8a..20aaf4afef 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -26,6 +26,9 @@ #include "math_const.h" #include "modify.h" +#include "pair.h" +#include "timer.h" + using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; @@ -105,7 +108,7 @@ void FixNVESpin::initial_integrate(int vflag) v[i][2] += dtfm * f[i][2]; } } - + // update half x for all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { @@ -115,55 +118,168 @@ void FixNVESpin::initial_integrate(int vflag) } } + + size_t nbytes; + nbytes = sizeof(double) * nlocal; + int eflag = 3; // update sp for all particles if (extra == SPIN) { // Advance spins //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 - for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) { - cp[0] = cp[1] = cp[2] = 0.0; - g[0] = g[1] = g[2] = 0.0; - fm2 = (fm[i][0]*fm[i][0])+(fm[i][1]*fm[i][1])+(fm[i][2]*fm[i][2]); - fmsq = sqrt(fm2); - energy = (sp[i][0]*fm[i][0])+(sp[i][1]*fm[i][1])+(sp[i][2]*fm[i][2]); + +#define CONC +#if defined CONC + for (int i = 0; i < nlocal; i++){ + AdvanceSingleSpin(i,dts,sp,fm); + } +#endif + +//#define SEQ +#if defined SEQ + //advance N-1 spins to half + for (int i = 0; i < nlocal-1; i++){ + //Recomp field + atom->avec->force_clear(0,nbytes); + timer->stamp(); + modify->pre_force(vflag); + timer->stamp(Timer::PAIR); + force->pair->compute(eflag,vflag); + timer->stamp(Timer::PAIR); + modify->pre_reverse(eflag,vflag); + timer->stamp(Timer::MODIFY); + comm->reverse_comm(); + timer->stamp(Timer::COMM); + modify->post_force(vflag); + + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + + //advance N spin + //Recomp field + atom->avec->force_clear(0,nbytes); + timer->stamp(); + modify->pre_force(vflag); + timer->stamp(Timer::PAIR); + force->pair->compute(eflag,vflag); + timer->stamp(Timer::PAIR); + modify->pre_reverse(eflag,vflag); + timer->stamp(Timer::MODIFY); + comm->reverse_comm(); + timer->stamp(Timer::COMM); + modify->post_force(vflag); + + AdvanceSingleSpin(nlocal-1,dts,sp,fm); + + + //advance N-1 spins to half + for (int i = nlocal-2; i >= 0; i--){ + //Recomp field + atom->avec->force_clear(0,nbytes); + timer->stamp(); + modify->pre_force(vflag); + timer->stamp(Timer::PAIR); + force->pair->compute(eflag,vflag); + timer->stamp(Timer::PAIR); + modify->pre_reverse(eflag,vflag); + timer->stamp(Timer::MODIFY); + comm->reverse_comm(); + timer->stamp(Timer::COMM); + modify->post_force(vflag); + + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + +#endif + + } + +#define FORCE_PRINT +#if defined FORCE_PRINT + FILE* file_force=NULL; + file_force=fopen("spin_force_Lammps.dat","a"); + fprintf(file_force,"---------------------------------- \n"); + for(int i=0;inlocal; + if (igroup == atom->firstgroup) nlocal = atom->nfirst; + int *type = atom->type; + int *mask = atom->mask; + + double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; + double cp[3],g[3]; + + cp[0] = cp[1] = cp[2] = 0.0; + g[0] = g[1] = g[2] = 0.0; + fm2 = (fm[i][0]*fm[i][0])+(fm[i][1]*fm[i][1])+(fm[i][2]*fm[i][2]); + fmsq = sqrt(fm2); + energy = (sp[i][0]*fm[i][0])+(sp[i][1]*fm[i][1])+(sp[i][2]*fm[i][2]); - cp[0] = fm[i][1]*sp[i][2]-fm[i][2]*sp[i][1]; - cp[1] = fm[i][2]*sp[i][0]-fm[i][0]*sp[i][2]; - cp[2] = fm[i][0]*sp[i][1]-fm[i][1]*sp[i][0]; - - g[0] = sp[i][0]+cp[0]*dts; - g[1] = sp[i][1]+cp[1]*dts; - g[2] = sp[i][2]+cp[2]*dts; + cp[0] = fm[i][1]*sp[i][2]-fm[i][2]*sp[i][1]; + cp[1] = fm[i][2]*sp[i][0]-fm[i][0]*sp[i][2]; + cp[2] = fm[i][0]*sp[i][1]-fm[i][1]*sp[i][0]; + +//#define ALG_MA //Ma algo +#if defined ALG_MA + double A[3]; + A[0]= A[1] = A[2] = 0.0; + double xi=fmsq*dts; + double zeta=0.0; // this is because omega contains already the transverse damping + double chi=energy/fmsq; + double expo=exp(2.0*zeta); + double K1=1.0+expo+chi*(1.0-expo); + double K=2.0*exp(zeta)/K1; + double Ktrigo=1.0+0.25*xi*xi; + double cosinus=(1.0-0.25*xi*xi)/Ktrigo; //cos(xi) + double sinus=xi/Ktrigo; //sin(xi) + A[0]=K*cosinus; + A[1]=K*sinus; + A[2]=(1.0-expo+chi*(1.0+expo-2.0*exp(zeta)*cosinus))/K1; + + g[0] = A[0]*sp[i][0]+A[1]*cp[0]/fmsq+A[2]*fm[i][0]/fmsq; + g[1] = A[0]*sp[i][1]+A[1]*cp[1]/fmsq+A[2]*fm[i][0]/fmsq; + g[2] = A[0]*sp[i][2]+A[1]*cp[2]/fmsq+A[2]*fm[i][0]/fmsq; +#endif + +#define ALG_OM //Omelyan algo +#if defined ALG_OM + g[0] = sp[i][0]+cp[0]*dts; + g[1] = sp[i][1]+cp[1]*dts; + g[2] = sp[i][2]+cp[2]*dts; - g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts*dts; - g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts*dts; - g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts*dts; + g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts*dts; + g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts*dts; + g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts*dts; - g[0] /= (1+0.25*fm2*dts*dts); - g[1] /= (1+0.25*fm2*dts*dts); - g[2] /= (1+0.25*fm2*dts*dts); + g[0] /= (1+0.25*fm2*dts*dts); + g[1] /= (1+0.25*fm2*dts*dts); + g[2] /= (1+0.25*fm2*dts*dts); +#endif - sp[i][0] = g[0]; - sp[i][1] = g[1]; - sp[i][2] = g[2]; + sp[i][0] = g[0]; + sp[i][1] = g[1]; + sp[i][2] = g[2]; - //Renormalization (may not be necessary) - msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; - scale = 1.0/sqrt(msq); - sp[i][0] *= scale; - sp[i][1] *= scale; - sp[i][2] *= scale; - - //printf("test fix integ. 1;i=%d, fx=%g, fy=%g, fz=%g \n",i,fm[i][0],fm[i][1],fm[i][2]); - - //printf("test fix integ.; i=%d, sx=%g, sy=%g, sz=%g, norm=%g \n",i,sp[i][0],sp[i][1],sp[i][2],scale); - } - } - - //printf("test fix integ. 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); + //Renormalization (may not be necessary) + msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; + scale = 1.0/sqrt(msq); + sp[i][0] *= scale; + sp[i][1] *= scale; + sp[i][2] *= scale; + } - /* ---------------------------------------------------------------------- */ void FixNVESpin::final_integrate() @@ -180,7 +296,7 @@ void FixNVESpin::final_integrate() if (igroup == atom->firstgroup) nlocal = atom->nfirst; int *type = atom->type; int *mask = atom->mask; - + // update half x for all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { @@ -200,5 +316,4 @@ void FixNVESpin::final_integrate() v[i][2] += dtfm * f[i][2]; } } - } diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index 55fffa7fb0..82e9822bf1 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -32,15 +32,16 @@ class FixNVESpin : public FixNVE { virtual ~FixNVESpin() {} void init(); virtual void initial_integrate(int); + void AdvanceSingleSpin(int, double, double **, double **); virtual void final_integrate(); protected: int extra; double dts; - double alpha_t; + //double alpha_t; - private: - class FixSpinDamping *lockspindamping; + //private: + //class FixSpinDamping *lockspindamping; }; } diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index a2c75cbc90..d684a7800d 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -78,9 +78,28 @@ void PairSpin::compute(int eflag, int vflag) ilist = list->ilist; numneigh = list->numneigh; firstneigh = list->firstneigh; - + + +//#define GHOST_TAG +tagint *tag = atom->tag; + +//#define GH_PR +#if defined GH_PR + FILE* file=NULL; + file=fopen("spin_ghosts_lammps.lammpstrj","w"); + + fprintf(file,"ITEM: TIMESTEP\n"); + fprintf(file,"0.0 \n"); + fprintf(file,"ITEM: NUMBER OF ATOMS\n"); + fprintf(file,"n \n"); + fprintf(file,"ITEM: BOX BOUNDS\n"); + for(int d=0; d<3; d++) fprintf(file,"%lf %lf\n",-10.0,10.0); + fprintf(file,"ITEM: ATOMS type x y z vx vy vz\n"); +#endif + + // Pair spin computations - // Loop over neighbors of my atoms + // Loop over neighbors of my itoms for (ii = 0; ii < inum; ii++) { i = ilist[ii]; @@ -90,13 +109,6 @@ void PairSpin::compute(int eflag, int vflag) jlist = firstneigh[i]; jnum = numneigh[i]; - //printf(":::::::Loop for atom numb. %d, jnum=%d ::::::: \n",i,jnum); - - //printf("Test print real atom: i=%d, sx=%g, sy=%g, sz=%g \n",i,sp[i][0],sp[i][1],sp[i][2]); - //printf("Test print real atom: i=%d, rx=%g, ry=%g, rz=%g \n",i,x[i][0],x[i][1],x[i][2]); - - int testcount=0; - //Exchange interaction for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; @@ -120,7 +132,6 @@ void PairSpin::compute(int eflag, int vflag) Jex = 4.0*J_1[itype][jtype]*ra; Jex *= (1.0-J_2[itype][jtype]*ra); Jex *= exp(-ra); - Jex *= mumag[ii]*mumag[jj]; fmix = Jex*sp[j][0]; fmiy = Jex*sp[j][1]; @@ -129,47 +140,63 @@ void PairSpin::compute(int eflag, int vflag) fmjx = Jex*sp[i][0]; fmjy = Jex*sp[i][1]; fmjz = Jex*sp[i][2]; +#if defined GH_PR + fprintf(file,"%d %lf %lf %lf %lf %lf %lf\n",j,x[j][0],x[j][1],x[j][2],sp[j][0],sp[j][1],sp[j][2]); +#endif - - - //printf("Neighb pair: i=%d, j=%d \n",i,j); - //printf("Test print ghost/real neib atom: i=%d, j=%d, sx=%g, sy=%g, sz=%g \n",i,j,sp[j][0],sp[j][1],sp[j][2]); - //printf("Test g/r neib pair: i=%d, j=%d, rx=%g, ry=%g, rz=%g \n",i,j,x[j][0],x[j][1],x[j][2]); - //printf("Atom i: %d of type %d, Atom j: %d of type %d, \n",i,itype,j,jtype); - //printf("Exchange pair (%d,%d), Jij=%g, rij=%g \n",i,j,Jex,rd); - testcount++; +#if defined GHOST_TAG + printf("Test print ghost/real neib atom: i=%d, j=%d, tag=%d, fx=%g, fy=%g, fz=%g \n",i,j,tag[j],fmjx,fmjy,fmjz); +#endif } - - - //printf("Test print ghost/real atom: j=%d, sx=%g, sy=%g, sz=%g \n",j,sp[j][0],sp[j][1],sp[j][2]); - //printf("Test print ghost/real atom: j=%d, rx=%g, ry=%g, rz=%g \n",j,x[j][0],x[j][1],x[j][2]); fm[i][0] += fmix; fm[i][1] += fmiy; fm[i][2] += fmiz; - - if (newton_pair || j < nlocal) { + +//#define INDEX +#if defined INDEX + int index = atom->map(tag[j]); + fm[index][0] += fmjx; + fm[index][1] += fmjy; + fm[index][2] += fmjz; +#else + if (newton_pair || j < nlocal) { fm[j][0] += fmjx; fm[j][1] += fmjy; fm[j][2] += fmjz; } +#endif - //printf("Val fm %d: [%g,%g,%g] \n",i,fm[i][0],fm[i][1],fm[i][2]); - //printf("Val fm %d: [%g,%g,%g] \n",j,fm[j][0],fm[j][1],fm[j][2]); + } + } - } +//Test print atoms + ghosts +#if defined GH_PR + if (file!=NULL) fclose(file); +#endif - // printf("Test count %d \n",testcount); - - } - //printf("New pair val: %d \n",newton_pair); - //printf("vals exchange: Jx=%g, Jy=%g, Jz=%g \n",fm[0][0],fm[0][1],fm[0][2]); - //printf("test exchange. 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); - //printf("::::::::::::::::::::::::: End loop ::::::::::::::::::::::::\n"); +// printf("::::::::::::::::::::::::: End loop ::::::::::::::::::::::::\n"); if (vflag_fdotr) virial_fdotr_compute(); + +//#define TAG_NALL +#if defined TAG_NALL +int nall = nlocal + atom->nghost; +for (i = 0; i < nall; i++) { + int num_neig = numneigh[i]; + int itag = tag[i]; + printf("atom %d has %d neighbs and tag numb %d \n",i,num_neig,itag); +} +#endif + + +#if defined TRANS_FORCE +transferfm(fm); +#endif + } + /* ---------------------------------------------------------------------- allocate all arrays ------------------------------------------------------------------------- */ diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h index abdc1978c1..fd5822c163 100755 --- a/src/SPIN/pair_spin.h +++ b/src/SPIN/pair_spin.h @@ -37,6 +37,12 @@ class PairSpin : public Pair { void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); + + //Test transf. force +//#define TRANS_FORCE +#if defined TRANS_FORCE + void transferfm(double **); +#endif protected: double cut_spin_exchange_global, cut_spin_dipolar_global; //Global cutting distance -- GitLab From 7cc59fbbbee6438e5924d8f6a5fa19d37ba236d4 Mon Sep 17 00:00:00 2001 From: julient31 Date: Fri, 26 May 2017 10:13:44 -0600 Subject: [PATCH 023/675] Same commit, beginning removing prints/checks and pushing --- in.cobalt | 2 +- src/SPIN/pair_spin.cpp | 66 +++--------------------------------------- 2 files changed, 5 insertions(+), 63 deletions(-) diff --git a/in.cobalt b/in.cobalt index 1e58798c16..0d2975d17e 100644 --- a/in.cobalt +++ b/in.cobalt @@ -98,6 +98,6 @@ timestep 0.00005 dump 1 all custom 50 dump_spin.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 30000 +run 300000 #run 1 diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index d684a7800d..b87c14b7b9 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -79,25 +79,6 @@ void PairSpin::compute(int eflag, int vflag) numneigh = list->numneigh; firstneigh = list->firstneigh; - -//#define GHOST_TAG -tagint *tag = atom->tag; - -//#define GH_PR -#if defined GH_PR - FILE* file=NULL; - file=fopen("spin_ghosts_lammps.lammpstrj","w"); - - fprintf(file,"ITEM: TIMESTEP\n"); - fprintf(file,"0.0 \n"); - fprintf(file,"ITEM: NUMBER OF ATOMS\n"); - fprintf(file,"n \n"); - fprintf(file,"ITEM: BOX BOUNDS\n"); - for(int d=0; d<3; d++) fprintf(file,"%lf %lf\n",-10.0,10.0); - fprintf(file,"ITEM: ATOMS type x y z vx vy vz\n"); -#endif - - // Pair spin computations // Loop over neighbors of my itoms @@ -140,60 +121,21 @@ tagint *tag = atom->tag; fmjx = Jex*sp[i][0]; fmjy = Jex*sp[i][1]; fmjz = Jex*sp[i][2]; -#if defined GH_PR - fprintf(file,"%d %lf %lf %lf %lf %lf %lf\n",j,x[j][0],x[j][1],x[j][2],sp[j][0],sp[j][1],sp[j][2]); -#endif - -#if defined GHOST_TAG - printf("Test print ghost/real neib atom: i=%d, j=%d, tag=%d, fx=%g, fy=%g, fz=%g \n",i,j,tag[j],fmjx,fmjy,fmjz); -#endif } fm[i][0] += fmix; fm[i][1] += fmiy; fm[i][2] += fmiz; -//#define INDEX -#if defined INDEX - int index = atom->map(tag[j]); - fm[index][0] += fmjx; - fm[index][1] += fmjy; - fm[index][2] += fmjz; -#else if (newton_pair || j < nlocal) { - fm[j][0] += fmjx; - fm[j][1] += fmjy; - fm[j][2] += fmjz; + fm[j][0] += fmjx; + fm[j][1] += fmjy; + fm[j][2] += fmjz; + } } -#endif - - } } -//Test print atoms + ghosts -#if defined GH_PR - if (file!=NULL) fclose(file); -#endif - - -// printf("::::::::::::::::::::::::: End loop ::::::::::::::::::::::::\n"); if (vflag_fdotr) virial_fdotr_compute(); - -//#define TAG_NALL -#if defined TAG_NALL -int nall = nlocal + atom->nghost; -for (i = 0; i < nall; i++) { - int num_neig = numneigh[i]; - int itag = tag[i]; - printf("atom %d has %d neighbs and tag numb %d \n",i,num_neig,itag); -} -#endif - - -#if defined TRANS_FORCE -transferfm(fm); -#endif - } -- GitLab From 4d375e72f0bfb5c51f2c809e5953a9c02292fbc9 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 5 Jun 2017 17:13:20 -0600 Subject: [PATCH 024/675] Changes: - DMI and ME interactions - Computation optimisations - lot of removed prints Next work: - Sequential algo implemetation - temperature simulations (check) - Work on parallelization --- in.cobalt | 61 ++++-- src/SPIN/compute_spin.cpp | 1 + src/SPIN/fix_force_spin.cpp | 6 - src/SPIN/fix_langevin_spin.cpp | 31 ++- src/SPIN/fix_nve_spin.cpp | 138 ++----------- src/SPIN/fix_nve_spin.h | 3 + src/SPIN/pair_spin.cpp | 368 +++++++++++++++++++++++++-------- src/SPIN/pair_spin.h | 38 ++-- 8 files changed, 393 insertions(+), 253 deletions(-) diff --git a/in.cobalt b/in.cobalt index 0d2975d17e..06f7aca33a 100644 --- a/in.cobalt +++ b/in.cobalt @@ -10,8 +10,8 @@ units metal dimension 3 #setting boundary conditions. (p for periodic, f for fixed, ...) -boundary p p p -#boundary f f f +#boundary p p p +boundary f f f #setting atom_style, defines what can of atoms to use in simulation (atomic, molecule, angle, dipole, ...) atom_style spin @@ -25,13 +25,25 @@ atom_modify map array ########################### #Lattice constant of fcc Cobalt -lattice fcc 3.54 -#lattice sc 2.50 -#lattice bcc 3.54 - +#lattice fcc 3.54 +lattice sc 2.50 + +#Test Kagome +#variable a equal sqrt(3.0) +#variable d equal 1.0/(2.0*sqrt(3.0)+1) +#variable p_1 equal $d*sqrt(3.0) +#variable p_2 equal $d*2.2*sqrt(3.0) + +#lattice custom 1.0 a1 2.0 0.0 0.0 & +# a2 1.0 $a 0.0 & +# a3 0.0 0.0 1.0 & +# basis ${p_1} ${p_2} 0.0 & +# basis ${p_2} ${p_2} 0.0 & +# basis 0.5 0.0 0.0 + #Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen #(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 2.0 0.0 2.0 0.0 2.0 +region box block 0.0 5.0 0.0 5.0 0.0 1.0 #Creating a simulation box based on the specified region. Entries: number of atom types and box ref. create_box 1 box @@ -53,13 +65,24 @@ create_atoms 1 box mass 1 1.0 #set group all mass 1.0 #Setting spins orientation and moment -#set group all spin/random 11 1.72 -set group all spin 1.72 1.0 0.0 0.0 +set group all spin/random 11 1.72 +#set group all spin 1.72 1.0 0.0 0.0 #Magnetic exchange interaction coefficient for bulk fcc Cobalt -pair_style pair/spin 4.0 -pair_coeff * * 0.0446928 0.003496 1.4885 +#pair_style pair/spin/exchange 4.0 +#type i and j | J1 | J2 | J3 +#pair_coeff * * 0.0446928 0.003496 1.4885 #pair_coeff * * 0.0 0.003496 1.4885 +#pair_style pair/spin/dmi 4.0 +# type i and j | DM (in eV) | Directions +#pair_coeff * * 0.001 0.0 0.0 1.0 +#pair_style hybrid/overlay pair/spin/exchange 4.0 pair/spin/dmi 4.0 +pair_style pair/spin 4.0 +#type i and j | interaction type | cutoff | J1 | J2 | J3 +pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff * * dmi 2.6 0.01 1.0 0.0 0.0 +#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 + #Fix Langevin spins (merging damping and temperature) #Defines a cutof distance for the neighbors. @@ -67,20 +90,22 @@ pair_coeff * * 0.0446928 0.003496 1.4885 #neigh_modify every 10 check yes delay 20 neighbor 0.0 bin neigh_modify every 1 check no delay 0 + #Magnetic field fix -fix 1 all force/spin zeeman 10.0 0.0 0.0 1.0 -#fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 +#Type | Intensity (T or eV) | Direction +fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) -#fix 2 all langevin/spin 0.0 0.0 0.1 21 +#Temp | Alpha_trans | Alpha_long | Seed +fix 2 all langevin/spin 0.0 0.1 0.0 21 #fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix fix 3 all nve/spin -#compute total magnetization and magnetic energy -#Ite Time Mx My Mz |M| Em Tm +#compute real time, total magnetization, magnetic energy, and spin temperature +#Iteration | Time | Mx | My | Mz | |M| | Em | Tm compute mag all compute/spin fix outmag all ave/time 1 1 50 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag.dat @@ -98,6 +123,6 @@ timestep 0.00005 dump 1 all custom 50 dump_spin.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 300000 -#run 1 +run 60000 +#run 10 diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index bd1b09fb44..370a2848a7 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -87,6 +87,7 @@ void ComputeSpin::compute_vector() int nlocal = atom->nlocal; // compute total magnetization and magnetic energy + // compute spin temperature; See Nurdin et al., Phys. Rev. E 61, 2000 for (i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (atom->mumag_flag && atom->sp_flag) { diff --git a/src/SPIN/fix_force_spin.cpp b/src/SPIN/fix_force_spin.cpp index e5abe3a2ca..df927858ae 100644 --- a/src/SPIN/fix_force_spin.cpp +++ b/src/SPIN/fix_force_spin.cpp @@ -185,8 +185,6 @@ void FixForceSpin::post_force(int vflag) fm[i][2] += scalar*zmag; } } - //printf("test force. 1;i=0, fx=%g, fy=%g, fz=%g, mumag=%g \n",fm[0][0],fm[0][1],fm[0][2],mumag[0]); - //printf("Field force compute, fm[0][2]=%g \n",fm[0][2]); } /* ---------------------------------------------------------------------- */ @@ -198,8 +196,6 @@ void FixForceSpin::post_force_respa(int vflag, int ilevel, int iloop) /* ---------------------------------------------------------------------- */ //No acceleration for magnetic EOM, only a "magnetic force" -//(keeping set_magneticforce in case of time--dependent mag. field implementation) - void FixForceSpin::set_magneticforce() { if (style == ZEEMAN) { @@ -212,10 +208,8 @@ void FixForceSpin::set_magneticforce() ymag = 2.0*Ka*Kay; zmag = 2.0*Ka*Kaz; } - } - /* ---------------------------------------------------------------------- potential energy in magnetic field ------------------------------------------------------------------------- */ diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index c22f224f59..f09d35c854 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -142,11 +142,10 @@ void FixLangevinSpin::post_force(int vflag) double cpx, cpy, cpz; double rx, ry, rz; - // apply transverse magnetic damping to spins - // add the damping to the effective field + // add the damping to the effective field of each spin for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - sx = sp[i][0];//Getting Mag. and Mag. force components + sx = sp[i][0]; sy = sp[i][1]; sz = sp[i][2]; @@ -164,22 +163,23 @@ void FixLangevinSpin::post_force(int vflag) fm[i][0] = fmx; fm[i][1] = fmy; - fm[i][2] = fmz; + fm[i][2] = fmz; } - //printf("test damping. 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); - //apply thermal effects - //add random field to fm + //apply thermal effects adding random fields to fm for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { + #define GAUSSIAN_R + #if defined GAUSSIAN_R rx = sigma*random->gaussian();//Drawing random distributions ry = sigma*random->gaussian(); rz = sigma*random->gaussian(); - - //rx = sigma*(random->uniform() - 0.5); - //ry = sigma*(random->uniform() - 0.5); - //rz = sigma*(random->uniform() - 0.5); - + #else + rx = sigma*(random->uniform() - 0.5); + ry = sigma*(random->uniform() - 0.5); + rz = sigma*(random->uniform() - 0.5); + #endif + fm[i][0] += rx;//Adding random field fm[i][1] += ry; fm[i][2] += rz; @@ -189,13 +189,6 @@ void FixLangevinSpin::post_force(int vflag) fm[i][2] *= Gil_factor; } - - //printf("test langevin 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); - - //printf("test rand var: %g, sigma=%g \n",(random->uniform()-0.5),sigma); - //printf("test rand var: %g, sigma=%g \n",random->gaussian(),sigma); - //printf("test random 1;i=0, fx=%g, fy=%g, fz=%g \n",fm[0][0],fm[0][1],fm[0][2]); - //printf("test dt: %g, sigma=%g \n",dts,random->gaussian(),sigma); } /* ---------------------------------------------------------------------- */ diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 20aaf4afef..9e0f3f934c 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -89,14 +89,22 @@ void FixNVESpin::initial_integrate(int vflag) double **x = atom->x; double **v = atom->v; double **f = atom->f; - double *rmass = atom->rmass; - double *mass = atom->mass; double **sp = atom->sp; double **fm = atom->fm; + double *rmass = atom->rmass; + double *mass = atom->mass; int nlocal = atom->nlocal; if (igroup == atom->firstgroup) nlocal = atom->nfirst; int *type = atom->type; int *mask = atom->mask; + + // Advance half spins all particles + //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 + if (extra == SPIN) { + for (int i = 0; i < nlocal; i++){ + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } // update half v all particles for (int i = 0; i < nlocal; i++) { @@ -109,7 +117,7 @@ void FixNVESpin::initial_integrate(int vflag) } } - // update half x for all particles + // update x for all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { x[i][0] += 0.5 * dtv * v[i][0]; @@ -118,82 +126,7 @@ void FixNVESpin::initial_integrate(int vflag) } } - - size_t nbytes; - nbytes = sizeof(double) * nlocal; - int eflag = 3; - // update sp for all particles - if (extra == SPIN) { - // Advance spins - //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 - -#define CONC -#if defined CONC - for (int i = 0; i < nlocal; i++){ - AdvanceSingleSpin(i,dts,sp,fm); - } -#endif - -//#define SEQ -#if defined SEQ - //advance N-1 spins to half - for (int i = 0; i < nlocal-1; i++){ - //Recomp field - atom->avec->force_clear(0,nbytes); - timer->stamp(); - modify->pre_force(vflag); - timer->stamp(Timer::PAIR); - force->pair->compute(eflag,vflag); - timer->stamp(Timer::PAIR); - modify->pre_reverse(eflag,vflag); - timer->stamp(Timer::MODIFY); - comm->reverse_comm(); - timer->stamp(Timer::COMM); - modify->post_force(vflag); - - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - - //advance N spin - //Recomp field - atom->avec->force_clear(0,nbytes); - timer->stamp(); - modify->pre_force(vflag); - timer->stamp(Timer::PAIR); - force->pair->compute(eflag,vflag); - timer->stamp(Timer::PAIR); - modify->pre_reverse(eflag,vflag); - timer->stamp(Timer::MODIFY); - comm->reverse_comm(); - timer->stamp(Timer::COMM); - modify->post_force(vflag); - - AdvanceSingleSpin(nlocal-1,dts,sp,fm); - - - //advance N-1 spins to half - for (int i = nlocal-2; i >= 0; i--){ - //Recomp field - atom->avec->force_clear(0,nbytes); - timer->stamp(); - modify->pre_force(vflag); - timer->stamp(Timer::PAIR); - force->pair->compute(eflag,vflag); - timer->stamp(Timer::PAIR); - modify->pre_reverse(eflag,vflag); - timer->stamp(Timer::MODIFY); - comm->reverse_comm(); - timer->stamp(Timer::COMM); - modify->post_force(vflag); - - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - -#endif - - } - -#define FORCE_PRINT +//#define FORCE_PRINT #if defined FORCE_PRINT FILE* file_force=NULL; file_force=fopen("spin_force_Lammps.dat","a"); @@ -206,8 +139,6 @@ void FixNVESpin::initial_integrate(int vflag) } - - /* ---------------------------------------------------------------------- */ void FixNVESpin::AdvanceSingleSpin(int i, double dts, double **sp, double **fm) @@ -230,30 +161,6 @@ void FixNVESpin::AdvanceSingleSpin(int i, double dts, double **sp, double **fm) cp[1] = fm[i][2]*sp[i][0]-fm[i][0]*sp[i][2]; cp[2] = fm[i][0]*sp[i][1]-fm[i][1]*sp[i][0]; -//#define ALG_MA //Ma algo -#if defined ALG_MA - double A[3]; - A[0]= A[1] = A[2] = 0.0; - double xi=fmsq*dts; - double zeta=0.0; // this is because omega contains already the transverse damping - double chi=energy/fmsq; - double expo=exp(2.0*zeta); - double K1=1.0+expo+chi*(1.0-expo); - double K=2.0*exp(zeta)/K1; - double Ktrigo=1.0+0.25*xi*xi; - double cosinus=(1.0-0.25*xi*xi)/Ktrigo; //cos(xi) - double sinus=xi/Ktrigo; //sin(xi) - A[0]=K*cosinus; - A[1]=K*sinus; - A[2]=(1.0-expo+chi*(1.0+expo-2.0*exp(zeta)*cosinus))/K1; - - g[0] = A[0]*sp[i][0]+A[1]*cp[0]/fmsq+A[2]*fm[i][0]/fmsq; - g[1] = A[0]*sp[i][1]+A[1]*cp[1]/fmsq+A[2]*fm[i][0]/fmsq; - g[2] = A[0]*sp[i][2]+A[1]*cp[2]/fmsq+A[2]*fm[i][0]/fmsq; -#endif - -#define ALG_OM //Omelyan algo -#if defined ALG_OM g[0] = sp[i][0]+cp[0]*dts; g[1] = sp[i][1]+cp[1]*dts; g[2] = sp[i][2]+cp[2]*dts; @@ -265,7 +172,6 @@ void FixNVESpin::AdvanceSingleSpin(int i, double dts, double **sp, double **fm) g[0] /= (1+0.25*fm2*dts*dts); g[1] /= (1+0.25*fm2*dts*dts); g[2] /= (1+0.25*fm2*dts*dts); -#endif sp[i][0] = g[0]; sp[i][1] = g[1]; @@ -277,7 +183,6 @@ void FixNVESpin::AdvanceSingleSpin(int i, double dts, double **sp, double **fm) sp[i][0] *= scale; sp[i][1] *= scale; sp[i][2] *= scale; - } /* ---------------------------------------------------------------------- */ @@ -290,6 +195,8 @@ void FixNVESpin::final_integrate() double **x = atom->x; double **v = atom->v; double **f = atom->f; + double **sp = atom->sp; + double **fm = atom->fm; double *rmass = atom->rmass; double *mass = atom->mass; int nlocal = atom->nlocal; @@ -297,15 +204,6 @@ void FixNVESpin::final_integrate() int *type = atom->type; int *mask = atom->mask; - // update half x for all particles - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - x[i][0] += 0.5 * dtv * v[i][0]; - x[i][1] += 0.5 * dtv * v[i][1]; - x[i][2] += 0.5 * dtv * v[i][2]; - } - } - // update half v for all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { @@ -316,4 +214,12 @@ void FixNVESpin::final_integrate() v[i][2] += dtfm * f[i][2]; } } + + // Advance half spins all particles + //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 + if (extra == SPIN) { + for (int i = 0; i < nlocal; i++){ + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } } diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index 82e9822bf1..31ef30de3e 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -35,6 +35,9 @@ class FixNVESpin : public FixNVE { void AdvanceSingleSpin(int, double, double **, double **); virtual void final_integrate(); +//Sorting atoms/spins routine +void SortSpins(); + protected: int extra; double dts; diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index b87c14b7b9..f09b4d05fd 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -33,6 +33,8 @@ using namespace MathConst; PairSpin::PairSpin(LAMMPS *lmp) : Pair(lmp) { single_enable = 0; + exch_flag = 0; + dmi_flag = 0; } /* ---------------------------------------------------------------------- */ @@ -43,10 +45,25 @@ PairSpin::~PairSpin() memory->destroy(setflag); memory->destroy(cut_spin_exchange); - memory->destroy(cut_spin_dipolar); memory->destroy(J_1); memory->destroy(J_2); - memory->destroy(J_2); + memory->destroy(J_2); + + memory->destroy(cut_spin_dmi); + memory->destroy(DM); + memory->destroy(v_dmx); + memory->destroy(v_dmy); + memory->destroy(v_dmz); + + memory->destroy(cut_spin_me); + memory->destroy(ME); + memory->destroy(v_mex); + memory->destroy(v_mey); + memory->destroy(v_mez); + + memory->destroy(fmi); + memory->destroy(fmj); + memory->destroy(cutsq); } } @@ -57,8 +74,9 @@ void PairSpin::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl,ecoul; - double xtmp,ytmp,ztmp,fmix,fmiy,fmiz,fmjx,fmjy,fmjz,omx,omy,omz; - double cut, Jex, ra; + double xtmp,ytmp,ztmp; + double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; + double cut_ex,cut_dmi,cut_me; double rsq,rd,delx,dely,delz; int *ilist,*jlist,*numneigh,**firstneigh; @@ -90,47 +108,52 @@ void PairSpin::compute(int eflag, int vflag) jlist = firstneigh[i]; jnum = numneigh[i]; - //Exchange interaction + //Loop on Neighbors for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; - fmix = fmiy = fmiz = 0.0; - fmjx = fmjy = fmjz = 0.0; + fmi[0] = fmi[1] = fmi[2] = 0.0; + fmj[0] = fmj[1] = fmj[2] = 0.0; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; //square or inter-atomic distance rd = sqrt(rsq); //Inter-atomic distance - cut = cut_spin_exchange_global; - - if (rd <= cut) { - itype = type[i]; - jtype = type[j]; - - ra = (rd/J_3[itype][jtype])*(rd/J_3[itype][jtype]); - Jex = 4.0*J_1[itype][jtype]*ra; - Jex *= (1.0-J_2[itype][jtype]*ra); - Jex *= exp(-ra); - - fmix = Jex*sp[j][0]; - fmiy = Jex*sp[j][1]; - fmiz = Jex*sp[j][2]; - - fmjx = Jex*sp[i][0]; - fmjy = Jex*sp[i][1]; - fmjz = Jex*sp[i][2]; - } - - fm[i][0] += fmix; - fm[i][1] += fmiy; - fm[i][2] += fmiz; + itype = type[i]; + jtype = type[j]; + + //Exchange interaction + if (exch_flag) { + cut_ex = cut_spin_exchange[itype][jtype]; + if (rd <= cut_ex) { + compute_exchange(i,j,rsq,fmi,fmj); + } + } + //DM interaction + if (dmi_flag){ + cut_dmi = cut_spin_dmi[itype][jtype]; + if (rd <= cut_dmi){ + compute_dmi(i,j,fmi,fmj); + } + } + //ME interaction + if (me_flag){ + cut_me = cut_spin_me[itype][jtype]; + if (rd <= cut_me){ + compute_me(i,j,fmi,fmj); + } + } + + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; + fm[i][2] += fmi[2]; if (newton_pair || j < nlocal) { - fm[j][0] += fmjx; - fm[j][1] += fmjy; - fm[j][2] += fmjz; + fm[j][0] += fmj[0]; + fm[j][1] += fmj[1]; + fm[j][2] += fmj[2]; } } } @@ -138,6 +161,95 @@ void PairSpin::compute(int eflag, int vflag) if (vflag_fdotr) virial_fdotr_compute(); } +/* ---------------------------------------------------------------------- */ +inline void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double *fmj) +{ + int *type = atom->type; + int itype, jtype; + double **sp = atom->sp; + double dmix,dmiy,dmiz; + double Jex, ra; + itype = type[i]; + jtype = type[j]; + + ra = rsq/J_3[itype][jtype]/J_3[itype][jtype]; + Jex = 4.0*J_1[itype][jtype]*ra; + Jex *= (1.0-J_2[itype][jtype]*ra); + Jex *= exp(-ra); + + fmi[0] += Jex*sp[j][0]; + fmi[1] += Jex*sp[j][1]; + fmi[2] += Jex*sp[j][2]; + + fmj[0] += Jex*sp[i][0]; + fmj[1] += Jex*sp[i][1]; + fmj[2] += Jex*sp[i][2]; + +} + +/* ---------------------------------------------------------------------- */ +inline void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj) +{ + + int *type = atom->type; + int itype, jtype; + double **sp = atom->sp; + double dmix,dmiy,dmiz; + itype = type[i]; + jtype = type[j]; + + dmix = DM[itype][jtype]*v_dmx[itype][jtype]; + dmiy = DM[itype][jtype]*v_dmy[itype][jtype]; + dmiz = DM[itype][jtype]*v_dmz[itype][jtype]; + + fmi[0] += sp[j][1]*dmiz-sp[j][2]*dmiy; + fmi[1] += sp[j][2]*dmix-sp[j][0]*dmiz; + fmi[2] += sp[j][0]*dmiy-sp[j][1]*dmix; + + fmj[0] -= sp[i][1]*dmiz-sp[i][2]*dmiy; + fmj[1] -= sp[i][2]*dmix-sp[i][0]*dmiz; + fmj[2] -= sp[i][0]*dmiy-sp[i][1]*dmix; +} + +/* ---------------------------------------------------------------------- */ +inline void PairSpin::compute_me(int i, int j, double *fmi, double *fmj) +{ + int *type = atom->type; + int itype, jtype; + itype = type[i]; + jtype = type[j]; + double **sp = atom->sp; + double **x = atom->x; + double meix,meiy,meiz; + double rx, ry, rz, inorm; + + rx = x[j][0] - x[i][0]; + ry = x[j][1] - x[i][1]; + rz = x[j][2] - x[i][2]; + inorm = 1.0/sqrt(rx*rx+ry*ry+rz*rz); + rx *= inorm; + ry *= inorm; + rz *= inorm; + + meix = v_mey[itype][jtype]*rz - v_mez[itype][jtype]*ry; + meiy = v_mez[itype][jtype]*rx - v_mex[itype][jtype]*rz; + meiz = v_mex[itype][jtype]*ry - v_mey[itype][jtype]*rx; + + meix *= ME[itype][jtype]; + meiy *= ME[itype][jtype]; + meiz *= ME[itype][jtype]; + + fmi[0] += sp[j][1]*meiz - sp[j][2]*meiy; + fmi[1] += sp[j][2]*meix - sp[j][0]*meiz; + fmi[2] += sp[j][0]*meiy - sp[j][1]*meix; + + fmj[0] -= sp[i][1]*meiz - sp[i][2]*meiy; + fmj[1] -= sp[i][2]*meix - sp[i][0]*meiz; + fmj[2] -= sp[i][0]*meiy - sp[i][1]*meix; + + // printf("test val fmi=%g, fmj=%g \n",fmi[2],fmj[2]); + +} /* ---------------------------------------------------------------------- allocate all arrays @@ -154,11 +266,25 @@ void PairSpin::allocate() setflag[i][j] = 0; memory->create(cut_spin_exchange,n+1,n+1,"pair:cut_spin_exchange"); - memory->create(cut_spin_dipolar,n+1,n+1,"pair:cut_spin_dipolar"); memory->create(J_1,n+1,n+1,"pair:J_1"); memory->create(J_2,n+1,n+1,"pair:J_2"); memory->create(J_3,n+1,n+1,"pair:J_3"); - + + memory->create(cut_spin_dmi,n+1,n+1,"pair:cut_spin_dmi"); + memory->create(DM,n+1,n+1,"pair:DM"); + memory->create(v_dmx,n+1,n+1,"pair:DM_vector_x"); + memory->create(v_dmy,n+1,n+1,"pair:DM_vector_y"); + memory->create(v_dmz,n+1,n+1,"pair:DM_vector_z"); + + memory->create(cut_spin_me,n+1,n+1,"pair:cut_spin_me"); + memory->create(ME,n+1,n+1,"pair:ME"); + memory->create(v_mex,n+1,n+1,"pair:ME_vector_x"); + memory->create(v_mey,n+1,n+1,"pair:ME_vector_y"); + memory->create(v_mez,n+1,n+1,"pair:ME_vector_z"); + + memory->create(fmi,3,"pair:fmi"); + memory->create(fmj,3,"pair:fmj"); + memory->create(cutsq,n+1,n+1,"pair:cutsq"); } @@ -172,14 +298,11 @@ void PairSpin::settings(int narg, char **arg) if (narg < 1 || narg > 2) error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); - if (strcmp(update->unit_style,"electron") == 0) - error->all(FLERR,"Cannot (yet) use 'electron' units with spins"); + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"Spin simulations require metal unit style"); - cut_spin_exchange_global = force->numeric(FLERR,arg[0]); + cut_spin_pair_global = force->numeric(FLERR,arg[0]); - if (narg == 1) cut_spin_dipolar_global = cut_spin_exchange_global; - else cut_spin_dipolar_global = force->numeric(FLERR,arg[1]); - // reset cutoffs that have been explicitly set if (allocated) { @@ -187,8 +310,8 @@ void PairSpin::settings(int narg, char **arg) for (i = 1; i <= atom->ntypes; i++) for (j = i+1; j <= atom->ntypes; j++) if (setflag[i][j]) { - cut_spin_exchange[i][j] = cut_spin_exchange_global; - cut_spin_dipolar[i][j] = cut_spin_dipolar_global; + cut_spin_exchange[i][j] = cut_spin_pair_global; + cut_spin_dmi[i][j] = cut_spin_pair_global; } } @@ -201,38 +324,108 @@ void PairSpin::settings(int narg, char **arg) void PairSpin::coeff(int narg, char **arg) { - if (narg != 5) - error->all(FLERR,"Incorrect number of args for pair spin coefficients"); - if (!allocated) allocate(); - - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + if (!allocated) allocate(); + + if (strcmp(arg[2],"exchange")==0){ + if (narg != 7) error->all(FLERR,"Incorrect args in pair_style command"); + exch_flag = 1; - double J1 = force->numeric(FLERR,arg[2]); - double J2 = force->numeric(FLERR,arg[3]); - double J3 = force->numeric(FLERR,arg[4]); + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + double rij = force->numeric(FLERR,arg[3]); + double J1 = force->numeric(FLERR,arg[4]); + double J2 = force->numeric(FLERR,arg[5]); + double J3 = force->numeric(FLERR,arg[6]); - double hbar = force->hplanck/MY_2PI; - J1 /= hbar; + double hbar = force->hplanck/MY_2PI; + J1 /= hbar; + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_exchange[i][j] = rij; + J_1[i][j] = J1; + J_2[i][j] = J2; + J_3[i][j] = J3; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); + } else if (strcmp(arg[2],"dmi")==0) { + if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); + dmi_flag = 1; + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + double rij = force->numeric(FLERR,arg[3]); + double dm = force->numeric(FLERR,arg[4]); + double dmx = force->numeric(FLERR,arg[5]); + double dmy = force->numeric(FLERR,arg[6]); + double dmz = force->numeric(FLERR,arg[7]); + + double inorm = 1.0/(dmx*dmx+dmy*dmy+dmz*dmz); + dmx *= inorm; + dmy *= inorm; + dmz *= inorm; + + double hbar = force->hplanck/MY_2PI; + dm /= hbar; - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - J_1[i][j] = J1; - J_2[i][j] = J2; - J_3[i][j] = J3; - setflag[i][j] = 1; - count++; + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_dmi[i][j] = rij; + DM[i][j] = dm; + v_dmx[i][j] = dmx; + v_dmy[i][j] = dmy; + v_dmz[i][j] = dmz; + setflag[i][j] = 1; + count++; + } } - } - if (count == 0) error->all(FLERR,"Incorrect args for spinpair coefficients"); + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); + } else if (strcmp(arg[2],"me")==0) { + if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); + me_flag = 1; + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + double rij = force->numeric(FLERR,arg[3]); + double me = force->numeric(FLERR,arg[4]); + double mex = force->numeric(FLERR,arg[5]); + double mey = force->numeric(FLERR,arg[6]); + double mez = force->numeric(FLERR,arg[7]); + + double inorm = 1.0/(mex*mex+mey*mey+mez*mez); + mex *= inorm; + mey *= inorm; + mez *= inorm; - //Simple (Anti)Ferromagnetic exchange for now. - //Check if Jex [][] still works for Ferrimagnetic exchange - -} + double hbar = force->hplanck/MY_2PI; + me /= hbar; + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_me[i][j] = rij; + DM[i][j] = me; + v_mex[i][j] = mex; + v_mey[i][j] = mey; + v_mez[i][j] = mez; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); + } else error->all(FLERR,"Incorrect args in pair_style command"); + //Check if Jex [][] still works for Ferrimagnetic exchange +} /* ---------------------------------------------------------------------- @@ -256,7 +449,7 @@ double PairSpin::init_one(int i, int j) if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - return cut_spin_exchange_global; + return cut_spin_pair_global; } /* ---------------------------------------------------------------------- @@ -272,10 +465,26 @@ void PairSpin::write_restart(FILE *fp) for (j = i; j <= atom->ntypes; j++) { fwrite(&setflag[i][j],sizeof(int),1,fp); if (setflag[i][j]) { - fwrite(&J_1[i][j],sizeof(double),1,fp); - fwrite(&J_2[i][j],sizeof(double),1,fp); - fwrite(&J_3[i][j],sizeof(double),1,fp); - fwrite(&cut_spin_exchange[i][j],sizeof(double),1,fp); + if (exch_flag){ + fwrite(&J_1[i][j],sizeof(double),1,fp); + fwrite(&J_2[i][j],sizeof(double),1,fp); + fwrite(&J_3[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_exchange[i][j],sizeof(double),1,fp); + } + if (dmi_flag) { + fwrite(&DM[i][j],sizeof(double),1,fp); + fwrite(&v_dmx[i][j],sizeof(double),1,fp); + fwrite(&v_dmy[i][j],sizeof(double),1,fp); + fwrite(&v_dmz[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_dmi[i][j],sizeof(double),1,fp); + } + if (me_flag) { + fwrite(&ME[i][j],sizeof(double),1,fp); + fwrite(&v_mex[i][j],sizeof(double),1,fp); + fwrite(&v_mey[i][j],sizeof(double),1,fp); + fwrite(&v_mez[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_me[i][j],sizeof(double),1,fp); + } } } } @@ -310,16 +519,15 @@ void PairSpin::read_restart(FILE *fp) } } } - + /* ---------------------------------------------------------------------- proc 0 writes to restart file ------------------------------------------------------------------------- */ void PairSpin::write_restart_settings(FILE *fp) { - fwrite(&cut_spin_exchange_global,sizeof(double),1,fp); - fwrite(&cut_spin_dipolar_global,sizeof(double),1,fp); + fwrite(&cut_spin_pair_global,sizeof(double),1,fp); fwrite(&offset_flag,sizeof(int),1,fp); fwrite(&mix_flag,sizeof(int),1,fp); } @@ -331,13 +539,11 @@ void PairSpin::write_restart_settings(FILE *fp) void PairSpin::read_restart_settings(FILE *fp) { if (comm->me == 0) { - fread(&cut_spin_exchange_global,sizeof(double),1,fp); - fread(&cut_spin_dipolar_global,sizeof(double),1,fp); + fread(&cut_spin_pair_global,sizeof(double),1,fp); fread(&offset_flag,sizeof(int),1,fp); fread(&mix_flag,sizeof(int),1,fp); } - MPI_Bcast(&cut_spin_exchange_global,1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut_spin_dipolar_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_spin_pair_global,1,MPI_DOUBLE,0,world); MPI_Bcast(&offset_flag,1,MPI_INT,0,world); MPI_Bcast(&mix_flag,1,MPI_INT,0,world); } diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h index fd5822c163..8b3e174de6 100755 --- a/src/SPIN/pair_spin.h +++ b/src/SPIN/pair_spin.h @@ -33,24 +33,36 @@ class PairSpin : public Pair { void coeff(int, char **); void init_style(); double init_one(int, int); + void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); - - //Test transf. force -//#define TRANS_FORCE -#if defined TRANS_FORCE - void transferfm(double **); -#endif + inline void compute_exchange(int, int, double, double *, double *); + inline void compute_dmi(int, int, double *, double *); + inline void compute_me(int, int, double *, double *); + protected: - double cut_spin_exchange_global, cut_spin_dipolar_global; //Global cutting distance - double **cut_spin_exchange; //cutting distance for each exchange interaction - double **cut_spin_dipolar; //cutting distance for the dipolar interaction + int exch_flag,dmi_flag,me_flag; + double cut_spin_pair_global; + double cut_spin_dipolar_global; - double **J_1, **J_2, **J_3; //coefficients for computing the exchange interaction Jij - //J1 is an energy (in eV), J2 is adim and J3 is a distance (in Ang) + double **cut_spin_exchange; //cutting distance exchange + double **cut_spin_dmi; //cutting distance dmi + double **cut_spin_me; //cutting distance me + + double **J_1, **J_2, **J_3; //exchange coeffs Jij + //J1 in eV, J2 adim and J3 in Ang + double **DM; + double **v_dmx, **v_dmy, **v_dmz;//DMI coeffs + //DM int. in eV, v direction + + double **ME; + double **v_mex, **v_mey, **v_mez;//ME coeffs + //ME in eV, v direction + + double *fmi, *fmj; //Temp var. in compute void allocate(); }; @@ -66,9 +78,9 @@ E: Incorrect args in pair_style command Self-explanatory. -E: Cannot (yet) use 'electron' units with spins +E: Spin simulations require metal unit style -This feature is not yet supported. +Self-explanatory. E: Incorrect args for pair coefficients -- GitLab From bf5b3f96e98406523a6a63d31ec7f4b13e8628e6 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 19 Jun 2017 10:40:36 -0600 Subject: [PATCH 025/675] Implemetation of SeqNei Algo 1 Still Seq and SeqNei versions Loop on Neigh in SeqNei not working yet --- in.cobalt | 76 ++++--- src/SPIN/atom_vec_spin.cpp | 1 + src/SPIN/fix_force_spin.cpp | 68 ++++-- src/SPIN/fix_force_spin.h | 8 +- src/SPIN/fix_langevin_spin.cpp | 32 +-- src/SPIN/fix_nve_spin.cpp | 369 +++++++++++++++++++++++++++++++-- src/SPIN/fix_nve_spin.h | 20 +- src/SPIN/pair_spin.cpp | 41 ++-- src/SPIN/pair_spin.h | 17 +- src/modify.cpp | 1 + 10 files changed, 514 insertions(+), 119 deletions(-) diff --git a/in.cobalt b/in.cobalt index 06f7aca33a..8a9de336a7 100644 --- a/in.cobalt +++ b/in.cobalt @@ -10,8 +10,8 @@ units metal dimension 3 #setting boundary conditions. (p for periodic, f for fixed, ...) -#boundary p p p -boundary f f f +boundary p p p +#boundary f f f #setting atom_style, defines what can of atoms to use in simulation (atomic, molecule, angle, dipole, ...) atom_style spin @@ -20,30 +20,35 @@ atom_style spin atom_modify map array +#newton off for pair spin in SEQNEI +#newton off off + ########################### #######Create atoms######## ########################### #Lattice constant of fcc Cobalt -#lattice fcc 3.54 -lattice sc 2.50 +lattice fcc 3.54 +#lattice sc 2.50 #Test Kagome -#variable a equal sqrt(3.0) -#variable d equal 1.0/(2.0*sqrt(3.0)+1) -#variable p_1 equal $d*sqrt(3.0) -#variable p_2 equal $d*2.2*sqrt(3.0) - -#lattice custom 1.0 a1 2.0 0.0 0.0 & -# a2 1.0 $a 0.0 & -# a3 0.0 0.0 1.0 & -# basis ${p_1} ${p_2} 0.0 & -# basis ${p_2} ${p_2} 0.0 & -# basis 0.5 0.0 0.0 +#variable a equal sqrt(3.0)/8.0 +#variable b equal 3.0*sqrt(3.0)/8.0 +#variable c equal sqrt(3.0)/4.0 + +#lattice custom 2.5 a1 1.0 0.0 0.0 & +# a2 0.0 1.0 0.0 & +# a3 0.0 0.0 1.0 & +# basis 0.0 $a 0.0 & +# basis 0.25 $a 0.0 & +# basis 0.375 0.0 0.0 & +# basis 0.25 $b 0.0 & +# basis 0.5 $b 0.0 & +# basis 0.625 $c 0.0 #Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen #(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 5.0 0.0 5.0 0.0 1.0 +region box block 0.0 2.0 0.0 2.0 0.0 2.0 #Creating a simulation box based on the specified region. Entries: number of atom types and box ref. create_box 1 box @@ -65,27 +70,18 @@ create_atoms 1 box mass 1 1.0 #set group all mass 1.0 #Setting spins orientation and moment -set group all spin/random 11 1.72 -#set group all spin 1.72 1.0 0.0 0.0 +#set group all spin/random 11 1.72 +set group all spin 1.72 1.0 0.0 0.0 #Magnetic exchange interaction coefficient for bulk fcc Cobalt -#pair_style pair/spin/exchange 4.0 -#type i and j | J1 | J2 | J3 -#pair_coeff * * 0.0446928 0.003496 1.4885 -#pair_coeff * * 0.0 0.003496 1.4885 -#pair_style pair/spin/dmi 4.0 -# type i and j | DM (in eV) | Directions -#pair_coeff * * 0.001 0.0 0.0 1.0 -#pair_style hybrid/overlay pair/spin/exchange 4.0 pair/spin/dmi 4.0 pair_style pair/spin 4.0 -#type i and j | interaction type | cutoff | J1 | J2 | J3 -pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 -pair_coeff * * dmi 2.6 0.01 1.0 0.0 0.0 +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) +#pair_coeff * * dmi 2.6 0.01 1.0 0.0 0.0 #pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 - -#Fix Langevin spins (merging damping and temperature) -#Defines a cutof distance for the neighbors. +#Define a skin distance, update neigh list every #neighbor 1.0 bin #neigh_modify every 10 check yes delay 20 neighbor 0.0 bin @@ -93,13 +89,15 @@ neigh_modify every 1 check no delay 0 #Magnetic field fix #Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 +fix 1 all force/spin zeeman 10.0 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 #Fix Langevin spins (merging damping and temperature) #Temp | Alpha_trans | Alpha_long | Seed -fix 2 all langevin/spin 0.0 0.1 0.0 21 -#fix 2 all langevin/spin 0.0 0.0 0.0 21 +#fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix fix 3 all nve/spin @@ -107,13 +105,13 @@ fix 3 all nve/spin #compute real time, total magnetization, magnetic energy, and spin temperature #Iteration | Time | Mx | My | Mz | |M| | Em | Tm compute mag all compute/spin -fix outmag all ave/time 1 1 50 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag.dat +fix outmag all ave/time 1 1 50 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_seqnei_test.dat #Defining a computation that will be performed on a group of atoms. #Entries: ID(user assigned), group-ID(group of atoms to peform the sim on), style(temp, pe, ...), args #Setting the timestep for the simulation -timestep 0.00005 +timestep 0.00001 ################## #######run######## @@ -123,6 +121,6 @@ timestep 0.00005 dump 1 all custom 50 dump_spin.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 60000 -#run 10 +#run 200000 +run 1 diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 3807ac0e56..d31f4691d1 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -46,6 +46,7 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) forceclearflag = 1; atom->mumag_flag = atom->sp_flag = 1; + } diff --git a/src/SPIN/fix_force_spin.cpp b/src/SPIN/fix_force_spin.cpp index df927858ae..27408456d6 100644 --- a/src/SPIN/fix_force_spin.cpp +++ b/src/SPIN/fix_force_spin.cpp @@ -26,6 +26,7 @@ #include "math_const.h" #include "error.h" #include "force.h" +#include "memory.h" using namespace LAMMPS_NS; using namespace FixConst; @@ -59,10 +60,13 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a Hx = Hy = Hz = 0.0; Ka = 0.0; Kax = Kay = Kaz = 0.0; - + + zeeman_flag = aniso_flag = 0; + if (strcmp(arg[3],"zeeman") == 0) { if (narg != 8) error->all(FLERR,"Illegal fix zeeman command"); style = ZEEMAN; + zeeman_flag = 1; H_field = force->numeric(FLERR,arg[4]); Hx = force->numeric(FLERR,arg[5]); Hy = force->numeric(FLERR,arg[6]); @@ -71,6 +75,7 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a } else if (strcmp(arg[3],"anisotropy") == 0) { if (narg != 8) error->all(FLERR,"Illegal fix anisotropy command"); style = ANISOTROPY; + aniso_flag = 1; Ka = force->numeric(FLERR,arg[4]); Kax = force->numeric(FLERR,arg[5]); Kay = force->numeric(FLERR,arg[6]); @@ -88,6 +93,8 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a FixForceSpin::~FixForceSpin() { + memory->destroy(spi); + memory->destroy(fmi); delete [] magstr; } @@ -133,7 +140,10 @@ void FixForceSpin::init() // set magnetic field components once and for all if (varflag == CONSTANT) set_magneticforce(); - + + memory->create(spi,3,"forcespin:spi"); + memory->create(fmi,3,"forcespin:fmi"); + } /* ---------------------------------------------------------------------- */ @@ -160,7 +170,7 @@ void FixForceSpin::post_force(int vflag) set_magneticforce(); //Update value of the mag. field if time-dependent } - double **x = atom->x; +// double **x = atom->x; double **sp = atom->sp; double *mumag = atom->mumag; double **fm = atom->fm; @@ -169,22 +179,42 @@ void FixForceSpin::post_force(int vflag) eflag = 0; emag = 0.0; - - if (style == ZEEMAN) { - for (int i = 0; i < nlocal; i++) { - fm[i][0] += mumag[i]*xmag; - fm[i][1] += mumag[i]*ymag; - fm[i][2] += mumag[i]*zmag; - } - } - if (style == ANISOTROPY) { - for (int i = 0; i < nlocal; i++) { - scalar = Kax*sp[i][0] + Kay*sp[i][1] + Kaz*sp[i][2]; - fm[i][0] += scalar*xmag; - fm[i][1] += scalar*ymag; - fm[i][2] += scalar*zmag; - } - } + + for (int i = 0; i < nlocal; i++) { + fmi[0] = fmi[1] = fmi[2] = 0.0; + //if (style == ZEEMAN) { + if (zeeman_flag) { + compute_zeeman(i,fmi); + } + //if (style == ANISOTROPY) { + if (aniso_flag) { + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + compute_anisotropy(i,spi,fmi); + } + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; + fm[i][2] += fmi[2]; + } +} + + +/* ---------------------------------------------------------------------- */ +void FixForceSpin::compute_zeeman(int i, double *fmi) +{ +double *mumag = atom->mumag; + fmi[0] += mumag[i]*xmag; + fmi[1] += mumag[i]*ymag; + fmi[2] += mumag[i]*zmag; +} + +void FixForceSpin::compute_anisotropy(int i, double * spi, double *fmi) +{ + double scalar = Kax*spi[0] + Kay*spi[1] + Kaz*spi[2]; + fmi[0] += scalar*xmag; + fmi[1] += scalar*ymag; + fmi[2] += scalar*zmag; } /* ---------------------------------------------------------------------- */ diff --git a/src/SPIN/fix_force_spin.h b/src/SPIN/fix_force_spin.h index 75805a7734..a422abad2c 100644 --- a/src/SPIN/fix_force_spin.h +++ b/src/SPIN/fix_force_spin.h @@ -37,6 +37,10 @@ class FixForceSpin : public Fix { virtual void post_force_respa(int, int, int); double compute_scalar(); + int zeeman_flag, aniso_flag; + void compute_zeeman(int, double *); + void compute_anisotropy(int, double *, double *); + protected: int style; @@ -58,8 +62,10 @@ class FixForceSpin : public Fix { double Ka; //Magnetic anisotropy intensity and direction double Kax, Kay, Kaz; + double *spi, *fmi; //Temp var. in compute + void set_magneticforce(); - + }; } diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index f09d35c854..ab76051f08 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -145,25 +145,25 @@ void FixLangevinSpin::post_force(int vflag) // add the damping to the effective field of each spin for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - sx = sp[i][0]; - sy = sp[i][1]; - sz = sp[i][2]; - - fmx = fm[i][0]; - fmy = fm[i][1]; - fmz = fm[i][2]; + sx = sp[i][0]; + sy = sp[i][1]; + sz = sp[i][2]; + + fmx = fm[i][0]; + fmy = fm[i][1]; + fmz = fm[i][2]; - cpx = fmy*sz - fmz*sy;//Computing cross product - cpy = fmz*sx - fmx*sz; - cpz = fmx*sy - fmy*sx; + cpx = fmy*sz - fmz*sy;//Computing cross product + cpy = fmz*sx - fmx*sz; + cpz = fmx*sy - fmy*sx; - fmx -= alpha_t*cpx;//Taking the damping value away - fmy -= alpha_t*cpy; - fmz -= alpha_t*cpz; + fmx -= alpha_t*cpx;//Taking the damping value away + fmy -= alpha_t*cpy; + fmz -= alpha_t*cpz; - fm[i][0] = fmx; - fm[i][1] = fmy; - fm[i][2] = fmz; + fm[i][0] = fmx; + fm[i][1] = fmy; + fm[i][2] = fmz; } //apply thermal effects adding random fields to fm diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 9e0f3f934c..d2b1ce328b 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -26,8 +26,15 @@ #include "math_const.h" #include "modify.h" +//Add headers (see delete later) #include "pair.h" #include "timer.h" +#include "integrate.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "pair_spin.h" +#include "memory.h" +#include "fix_force_spin.h" using namespace LAMMPS_NS; using namespace FixConst; @@ -57,7 +64,24 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : // error checks if (extra == SPIN && !atom->mumag_flag) error->all(FLERR,"Fix nve/spin requires spin attribute mumag"); - + +#if defined SEQNEI + lockpairspin = NULL; + lockforcespin = NULL; + exch_flag = dmi_flag = me_flag = 0; + zeeman_flag = aniso_flag = 0; +#endif +} + +/* ---------------------------------------------------------------------- */ +FixNVESpin::~FixNVESpin(){ +#if defined SEQNEI + //delete lockpairspin; + //delete lockforcespin; + memory->destroy(spi); + memory->destroy(fmi); + memory->destroy(fmj); +#endif } /* ---------------------------------------------------------------------- */ @@ -68,6 +92,26 @@ void FixNVESpin::init() dts = update->dt; + #if defined SEQNEI + lockpairspin = (PairSpin *) force->pair; + + memory->create(spi,3,"nves:spi"); + memory->create(fmi,3,"nves:fmi"); + memory->create(fmj,3,"nves:fmj"); + + int iforce; + for (iforce = 0; iforce < modify->nfix; iforce++) + if (strstr(modify->fix[iforce]->style,"force/spin")) break; + lockforcespin = (FixForceSpin *) modify->fix[iforce]; + + exch_flag = lockpairspin->exch_flag; + dmi_flag = lockpairspin->dmi_flag; + me_flag = lockpairspin->me_flag; + + zeeman_flag = lockforcespin->zeeman_flag; + aniso_flag = lockforcespin->aniso_flag; + #endif + /*int idamp; for (idamp = 0; idamp < modify->nfix; idamp++) if (strstr(modify->fix[idamp]->style,"damping/spin")) break; @@ -101,9 +145,18 @@ void FixNVESpin::initial_integrate(int vflag) // Advance half spins all particles //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 if (extra == SPIN) { - for (int i = 0; i < nlocal; i++){ - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } +#if defined SEQNEI + for (int i = 0; i < nlocal; i++){ + ComputeSpinInteractionsNei(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } +#endif +#if defined SEQ + for (int i = 0; i < nlocal; i++){ + AdvanceSingleSpin(i,0.5*dts,sp,fm); + ComputeSpinInteractions(); + } +#endif } // update half v all particles @@ -125,18 +178,293 @@ void FixNVESpin::initial_integrate(int vflag) x[i][2] += 0.5 * dtv * v[i][2]; } } +} + +#if defined SEQNEI +/* ---------------------------------------------------------------------- */ +void FixNVESpin::ComputeSpinInteractionsNei(int ii) +{ + int nflag,sortflag; + int nlocal = atom->nlocal; + + int n_post_integrate = modify->n_post_integrate; + int n_pre_exchange = modify->n_pre_exchange; + int n_pre_neighbor = modify->n_pre_neighbor; + int n_pre_force = modify->n_pre_force; + int n_pre_reverse = modify->n_pre_reverse; + int n_post_force = modify->n_post_force; + int n_end_of_step = modify->n_end_of_step; + + bigint ntimestep; + ntimestep = update->ntimestep; + + //Force compute quantities + int i,j,jj,inum,jnum,itype,jtype; + int *ilist,*jlist,*numneigh,**firstneigh; + double **x = atom->x; + double **sp = atom->sp; + double **fm = atom->fm; + int *type = atom->type; + int newton_pair = force->newton_pair; + + inum = lockpairspin->list->inum; + ilist = lockpairspin->list->ilist; + numneigh = lockpairspin->list->numneigh; + firstneigh = lockpairspin->list->firstneigh; + + double xtmp,ytmp,ztmp; + double rsq,rd,delx,dely,delz; + double cut_ex_2, cut_dmi_2, cut_me_2; + cut_ex_2 = cut_dmi_2 = cut_me_2 = 0.0; + + int eflag = 1; + int vflag = 0; + int pair_compute_flag = 1; + + if (atom->sortfreq > 0) sortflag = 1; + else sortflag = 0; + if (n_post_integrate) modify->post_integrate(); + timer->stamp(Timer::MODIFY); + + // regular communication vs neighbor list rebuild + nflag = neighbor->decide(); + if (nflag == 0) { + timer->stamp(); + comm->forward_comm(); + timer->stamp(Timer::COMM); + } else { + if (n_pre_exchange) { + timer->stamp(); + modify->pre_exchange(); + timer->stamp(Timer::MODIFY); + } + //if (triclinic) domain->x2lamda(atom->nlocal); + domain->pbc(); + if (domain->box_change) { + domain->reset_box(); + comm->setup(); + if (neighbor->style) neighbor->setup_bins(); + } + timer->stamp(); + comm->exchange(); + if (sortflag && ntimestep >= atom->nextsort) atom->sort(); + comm->borders(); + //if (triclinic) domain->lamda2x(atom->nlocal+atom->nghost); + timer->stamp(Timer::COMM); + if (n_pre_neighbor) { + modify->pre_neighbor(); + timer->stamp(Timer::MODIFY); + } + neighbor->build(); + timer->stamp(Timer::NEIGH); + } + + ///////Force computation for spin i///////////// + i = ilist[ii]; + //Clear atom i + fm[i][0] = fm[i][1] = fm[i][2] = 0.0; + + timer->stamp(); + + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + fmi[0] = fmi[1] = fmi[2] = 0.0; + fmj[0] = fmj[1] = fmj[2] = 0.0; + jlist = firstneigh[i]; + jnum = numneigh[i]; + +// printf("Test inum: %g \n",inum); +/* + //Pair interaction + for (int jj = 0; jj < inum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + itype = type[ii]; + jtype = type[j]; -//#define FORCE_PRINT -#if defined FORCE_PRINT - FILE* file_force=NULL; - file_force=fopen("spin_force_Lammps.dat","a"); - fprintf(file_force,"---------------------------------- \n"); - for(int i=0;icut_spin_exchange[itype][jtype])*(lockpairspin->cut_spin_exchange[itype][jtype]); + if (rsq <= cut_ex_2) { + lockpairspin->compute_exchange(i,j,rsq,fmi,fmj); + } + } + if (dmi_flag) { + cut_dmi_2 = (lockpairspin->cut_spin_dmi[itype][jtype])*(lockpairspin->cut_spin_dmi[itype][jtype]); + if (rsq <= cut_dmi_2) { + lockpairspin->compute_dmi(i,j,fmi,fmj); + } + } + if (me_flag) { + cut_me_2 = (lockpairspin->cut_spin_me[itype][jtype])*(lockpairspin->cut_spin_me[itype][jtype]); + if (rsq <= cut_me_2) { + lockpairspin->compute_me(i,j,fmi,fmj); + } + } + } +*/ + + //Pair interaction + int natom = nlocal + atom->nghost; + for (int k = 0; k < natom; k++) { + delx = xtmp - x[k][0]; + dely = ytmp - x[k][1]; + delz = ztmp - x[k][2]; + rsq = delx*delx + dely*dely + delz*delz; + itype = type[ii]; + jtype = type[k]; + + if (exch_flag) { + cut_ex_2 = (lockpairspin->cut_spin_exchange[itype][jtype])*(lockpairspin->cut_spin_exchange[itype][jtype]); + if (rsq <= cut_ex_2) { + lockpairspin->compute_exchange(i,k,rsq,fmi,fmj); + } + } + if (dmi_flag) { + cut_dmi_2 = (lockpairspin->cut_spin_dmi[itype][jtype])*(lockpairspin->cut_spin_dmi[itype][jtype]); + if (rsq <= cut_dmi_2) { + lockpairspin->compute_dmi(i,k,fmi,fmj); + } + } + if (me_flag) { + cut_me_2 = (lockpairspin->cut_spin_me[itype][jtype])*(lockpairspin->cut_spin_me[itype][jtype]); + if (rsq <= cut_me_2) { + lockpairspin->compute_me(i,k,fmi,fmj); + } + } + } + + + //post force + if (zeeman_flag) { + lockforcespin->compute_zeeman(i,fmi); + } + if (aniso_flag) { + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + lockforcespin->compute_anisotropy(i,spi,fmi); + } + + //Replace the force by its new value + fm[i][0] = fmi[0]; + fm[i][1] = fmi[1]; + fm[i][2] = fmi[2]; + +} #endif +/* ---------------------------------------------------------------------- */ +void FixNVESpin::ComputeSpinInteractions() +{ + int nflag,sortflag; + int nlocal = atom->nlocal; + + int n_post_integrate = modify->n_post_integrate; + int n_pre_exchange = modify->n_pre_exchange; + int n_pre_neighbor = modify->n_pre_neighbor; + int n_pre_force = modify->n_pre_force; + int n_pre_reverse = modify->n_pre_reverse; + int n_post_force = modify->n_post_force; + int n_end_of_step = modify->n_end_of_step; + + bigint ntimestep; + ntimestep = update->ntimestep; + + //int eflag = update->integrate->eflag; + //int vflag = update->integrate->vflag; + int eflag = 1; + int vflag = 0; + int pair_compute_flag = 1; + + if (atom->sortfreq > 0) sortflag = 1; + else sortflag = 0; + if (n_post_integrate) modify->post_integrate(); + timer->stamp(Timer::MODIFY); + + // regular communication vs neighbor list rebuild + nflag = neighbor->decide(); + if (nflag == 0) { + timer->stamp(); + comm->forward_comm(); + timer->stamp(Timer::COMM); + } else { + if (n_pre_exchange) { + timer->stamp(); + modify->pre_exchange(); + timer->stamp(Timer::MODIFY); + } + //if (triclinic) domain->x2lamda(atom->nlocal); + domain->pbc(); + if (domain->box_change) { + domain->reset_box(); + comm->setup(); + if (neighbor->style) neighbor->setup_bins(); + } + timer->stamp(); + comm->exchange(); + if (sortflag && ntimestep >= atom->nextsort) atom->sort(); + comm->borders(); + //if (triclinic) domain->lamda2x(atom->nlocal+atom->nghost); + timer->stamp(Timer::COMM); + if (n_pre_neighbor) { + modify->pre_neighbor(); + timer->stamp(Timer::MODIFY); + } + neighbor->build(); + timer->stamp(Timer::NEIGH); + } + + // force computations + // important for pair to come before bonded contributions + // since some bonded potentials tally pairwise energy/virial + // and Pair:ev_tally() needs to be called before any tallying + + size_t nbytes; + nbytes = sizeof(double) * nlocal; + if (force->newton) nbytes += sizeof(double) * atom->nghost; + + atom->avec->force_clear(0,nbytes); + + timer->stamp(); + + if (n_pre_force) { + modify->pre_force(vflag); + timer->stamp(Timer::MODIFY); + } + + if (pair_compute_flag) { + force->pair->compute(eflag,vflag); + timer->stamp(Timer::PAIR); + } + + /*if (kspace_compute_flag) { + force->kspace->compute(eflag,vflag); + timer->stamp(Timer::KSPACE); + }*/ + + if (n_pre_reverse) { + modify->pre_reverse(eflag,vflag); + timer->stamp(Timer::MODIFY); + } + + // reverse communication of forces + + if (force->newton) { + comm->reverse_comm(); + timer->stamp(Timer::COMM); + } + + // force modifications + + if (n_post_force) modify->post_force(vflag); + timer->stamp(Timer::MODIFY); + } /* ---------------------------------------------------------------------- */ @@ -218,8 +546,17 @@ void FixNVESpin::final_integrate() // Advance half spins all particles //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 if (extra == SPIN) { - for (int i = 0; i < nlocal; i++){ - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } +#if defined SEQNEI + for (int i = nlocal-1; i >= 0; i--){ + ComputeSpinInteractionsNei(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } +#endif +#if defined SEQ + for (int i = nlocal-1; i >= 0; i--){ + AdvanceSingleSpin(i,0.5*dts,sp,fm); + ComputeSpinInteractions(); + } +#endif } } diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index 31ef30de3e..8f516b2409 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -25,24 +25,34 @@ FixStyle(nve/spin,FixNVESpin) namespace LAMMPS_NS { class FixNVESpin : public FixNVE { - friend class FixSpinDamping; public: FixNVESpin(class LAMMPS *, int, char **); - virtual ~FixNVESpin() {} + virtual ~FixNVESpin(); void init(); virtual void initial_integrate(int); void AdvanceSingleSpin(int, double, double **, double **); virtual void final_integrate(); -//Sorting atoms/spins routine -void SortSpins(); +//#define SEQ +#define SEQNEI + void ComputeSpinInteractions(); + void ComputeSpinInteractionsNei(int); protected: int extra; double dts; //double alpha_t; - + +#if defined SEQNEI + private: + int exch_flag, dmi_flag, me_flag; + int zeeman_flag, aniso_flag; + class PairSpin *lockpairspin; + double *spi, *fmi, *fmj; //Temp var. for compute + class FixForceSpin *lockforcespin; +#endif + //private: //class FixSpinDamping *lockspindamping; }; diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index f09b4d05fd..cdd9ca8e0d 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -25,6 +25,9 @@ #include "update.h" #include +//Add. lib. for full neighb. list +#include "neigh_request.h" + using namespace LAMMPS_NS; using namespace MathConst; @@ -34,7 +37,9 @@ PairSpin::PairSpin(LAMMPS *lmp) : Pair(lmp) { single_enable = 0; exch_flag = 0; - dmi_flag = 0; + dmi_flag = 0; + me_flag = 0; + } /* ---------------------------------------------------------------------- */ @@ -76,7 +81,7 @@ void PairSpin::compute(int eflag, int vflag) double evdwl,ecoul; double xtmp,ytmp,ztmp; double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; - double cut_ex,cut_dmi,cut_me; + double cut_ex_2,cut_dmi_2,cut_me_2; double rsq,rd,delx,dely,delz; int *ilist,*jlist,*numneigh,**firstneigh; @@ -120,28 +125,27 @@ void PairSpin::compute(int eflag, int vflag) dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; //square or inter-atomic distance - rd = sqrt(rsq); //Inter-atomic distance itype = type[i]; jtype = type[j]; //Exchange interaction if (exch_flag) { - cut_ex = cut_spin_exchange[itype][jtype]; - if (rd <= cut_ex) { + cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; + if (rsq <= cut_ex_2) { compute_exchange(i,j,rsq,fmi,fmj); } } //DM interaction if (dmi_flag){ - cut_dmi = cut_spin_dmi[itype][jtype]; - if (rd <= cut_dmi){ + cut_dmi_2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; + if (rsq <= cut_dmi_2){ compute_dmi(i,j,fmi,fmj); } } //ME interaction if (me_flag){ - cut_me = cut_spin_me[itype][jtype]; - if (rd <= cut_me){ + cut_me_2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; + if (rsq <= cut_me_2){ compute_me(i,j,fmi,fmj); } } @@ -162,7 +166,7 @@ void PairSpin::compute(int eflag, int vflag) } /* ---------------------------------------------------------------------- */ -inline void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double *fmj) +void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double *fmj) { int *type = atom->type; int itype, jtype; @@ -184,13 +188,12 @@ inline void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, d fmj[0] += Jex*sp[i][0]; fmj[1] += Jex*sp[i][1]; fmj[2] += Jex*sp[i][2]; - + } /* ---------------------------------------------------------------------- */ -inline void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj) +void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj) { - int *type = atom->type; int itype, jtype; double **sp = atom->sp; @@ -212,7 +215,7 @@ inline void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj) } /* ---------------------------------------------------------------------- */ -inline void PairSpin::compute_me(int i, int j, double *fmi, double *fmj) +void PairSpin::compute_me(int i, int j, double *fmi, double *fmj) { int *type = atom->type; int itype, jtype; @@ -247,8 +250,6 @@ inline void PairSpin::compute_me(int i, int j, double *fmi, double *fmj) fmj[1] -= sp[i][2]*meix - sp[i][0]*meiz; fmj[2] -= sp[i][0]*meiy - sp[i][1]*meix; - // printf("test val fmi=%g, fmj=%g \n",fmi[2],fmj[2]); - } /* ---------------------------------------------------------------------- @@ -312,6 +313,7 @@ void PairSpin::settings(int narg, char **arg) if (setflag[i][j]) { cut_spin_exchange[i][j] = cut_spin_pair_global; cut_spin_dmi[i][j] = cut_spin_pair_global; + cut_spin_me[i][j] = cut_spin_pair_global; } } @@ -438,6 +440,13 @@ void PairSpin::init_style() error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); neighbor->request(this,instance_me); + +#define FULLNEI +#if defined FULLNEI + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; +#endif } /* ---------------------------------------------------------------------- diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h index 8b3e174de6..8df192b69f 100755 --- a/src/SPIN/pair_spin.h +++ b/src/SPIN/pair_spin.h @@ -39,19 +39,22 @@ class PairSpin : public Pair { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - inline void compute_exchange(int, int, double, double *, double *); - inline void compute_dmi(int, int, double *, double *); - inline void compute_me(int, int, double *, double *); + void compute_exchange(int, int, double, double *, double *); + void compute_dmi(int, int, double *, double *); + void compute_me(int, int, double *, double *); - protected: + //Test for seq. integ. + //protected: int exch_flag,dmi_flag,me_flag; double cut_spin_pair_global; double cut_spin_dipolar_global; double **cut_spin_exchange; //cutting distance exchange - double **cut_spin_dmi; //cutting distance dmi - double **cut_spin_me; //cutting distance me - + double **cut_spin_dmi; //cutting distance dmi + double **cut_spin_me; //cutting distance me + + //Test for seq. integ. + protected: double **J_1, **J_2, **J_3; //exchange coeffs Jij //J1 in eV, J2 adim and J3 in Ang double **DM; diff --git a/src/modify.cpp b/src/modify.cpp index 64970f2cf9..86cfdda8b6 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -1,4 +1,5 @@ /* ---------------------------------------------------------------------- +eoundary p f f LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov -- GitLab From b934621651840fac17a3d2f9c6cd969b56326722 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 19 Jun 2017 10:43:54 -0600 Subject: [PATCH 026/675] Implementation of SeqNei V1 (Real) Still both Seq and SeqNei versions In SeqNei, loop on Neighb not working yet --- src/atom_vec_spin.cpp | 951 ++++++++++++++++++++++++++++++++++++++ src/atom_vec_spin.h | 90 ++++ src/compute_spin.cpp | 145 ++++++ src/compute_spin.h | 71 +++ src/fix_force_spin.cpp | 255 ++++++++++ src/fix_force_spin.h | 92 ++++ src/fix_langevin_spin.cpp | 200 ++++++++ src/fix_langevin_spin.h | 106 +++++ src/fix_nve_spin.cpp | 562 ++++++++++++++++++++++ src/fix_nve_spin.h | 90 ++++ src/pair_spin.cpp | 558 ++++++++++++++++++++++ src/pair_spin.h | 96 ++++ 12 files changed, 3216 insertions(+) create mode 100644 src/atom_vec_spin.cpp create mode 100644 src/atom_vec_spin.h create mode 100644 src/compute_spin.cpp create mode 100644 src/compute_spin.h create mode 100644 src/fix_force_spin.cpp create mode 100644 src/fix_force_spin.h create mode 100644 src/fix_langevin_spin.cpp create mode 100644 src/fix_langevin_spin.h create mode 100644 src/fix_nve_spin.cpp create mode 100644 src/fix_nve_spin.h create mode 100755 src/pair_spin.cpp create mode 100755 src/pair_spin.h diff --git a/src/atom_vec_spin.cpp b/src/atom_vec_spin.cpp new file mode 100644 index 0000000000..d31f4691d1 --- /dev/null +++ b/src/atom_vec_spin.cpp @@ -0,0 +1,951 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include "atom_vec_spin.h" +#include "atom.h" +#include "comm.h" +#include "domain.h" +#include "modify.h" +#include "fix.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) +{ + molecular = 0; + mass_type = 1; //check why + + //comm_x_only = 0; + comm_x_only = 1; + //comm_f_only = 1; + comm_f_only = 0; + size_forward = 7; + size_reverse = 6; + size_border = 11; + size_velocity = 3; + size_data_atom = 9; //to check later + size_data_vel = 4; + xcol_data = 4; + + forceclearflag = 1; + atom->mumag_flag = atom->sp_flag = 1; + +} + + +/* ---------------------------------------------------------------------- + grow atom arrays + n = 0 grows arrays by a chunk + n > 0 allocates arrays to size n +------------------------------------------------------------------------- */ + +void AtomVecSpin::grow(int n) +{ + if (n == 0) grow_nmax(); + else nmax = n; + atom->nmax = nmax; + if (nmax < 0 || nmax > MAXSMALLINT) + error->one(FLERR,"Per-processor system is too big"); + + tag = memory->grow(atom->tag,nmax,"atom:tag"); + type = memory->grow(atom->type,nmax,"atom:type"); + mask = memory->grow(atom->mask,nmax,"atom:mask"); + image = memory->grow(atom->image,nmax,"atom:image"); + x = memory->grow(atom->x,nmax,3,"atom:x"); + v = memory->grow(atom->v,nmax,3,"atom:v"); + f = memory->grow(atom->f,nmax*comm->nthreads,3,"atom:f"); + //Allocating mag. quantities + mumag = memory->grow(atom->mumag,nmax,"atom:mumag"); + sp = memory->grow(atom->sp,nmax,4,"atom:sp"); + fm = memory->grow(atom->fm,nmax*comm->nthreads,3,"atom:fm"); + + if (atom->nextra_grow) + for (int iextra = 0; iextra < atom->nextra_grow; iextra++) + modify->fix[atom->extra_grow[iextra]]->grow_arrays(nmax); +} + +/* ---------------------------------------------------------------------- + reset local array ptrs +------------------------------------------------------------------------- */ + +void AtomVecSpin::grow_reset() +{ + tag = atom->tag; type = atom->type; + mask = atom->mask; image = atom->image; + x = atom->x; v = atom->v; f = atom->f; + mumag = atom->mumag; sp = atom->sp; fm = atom->fm; +} + + +/* ---------------------------------------------------------------------- + copy atom I info to atom J +------------------------------------------------------------------------- */ + +void AtomVecSpin::copy(int i, int j, int delflag) +{ + tag[j] = tag[i]; + type[j] = type[i]; + mask[j] = mask[i]; + image[j] = image[i]; + x[j][0] = x[i][0]; + x[j][1] = x[i][1]; + x[j][2] = x[i][2]; + v[j][0] = v[i][0]; + v[j][1] = v[i][1]; + v[j][2] = v[i][2]; + + mumag[j] = mumag[i]; + sp[j][0] = sp[i][0]; + sp[j][1] = sp[i][1]; + sp[j][2] = sp[i][2]; + sp[j][3] = sp[i][3]; + + if (atom->nextra_grow) + for (int iextra = 0; iextra < atom->nextra_grow; iextra++) + modify->fix[atom->extra_grow[iextra]]->copy_arrays(i,j,delflag); +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_comm(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,m; + double dx,dy,dz; + + m = 0; + if (pbc_flag == 0) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0]; + buf[m++] = x[j][1]; + buf[m++] = x[j][2]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + } + } else { + if (domain->triclinic == 0) { + dx = pbc[0]*domain->xprd; + dy = pbc[1]*domain->yprd; + dz = pbc[2]*domain->zprd; + } else { + dx = pbc[0]*domain->xprd + pbc[5]*domain->xy + pbc[4]*domain->xz; + dy = pbc[1]*domain->yprd + pbc[3]*domain->yz; + dz = pbc[2]*domain->zprd; + } + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + } + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_comm_vel(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,m; + double dx,dy,dz,dvx,dvy,dvz; + + m = 0; + if (pbc_flag == 0) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0]; + buf[m++] = x[j][1]; + buf[m++] = x[j][2]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } else { + if (domain->triclinic == 0) { + dx = pbc[0]*domain->xprd; + dy = pbc[1]*domain->yprd; + dz = pbc[2]*domain->zprd; + } else { + dx = pbc[0]*domain->xprd + pbc[5]*domain->xy + pbc[4]*domain->xz; + dy = pbc[1]*domain->yprd + pbc[3]*domain->yz; + dz = pbc[2]*domain->zprd; + } + if (!deform_vremap) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } else { + dvx = pbc[0]*h_rate[0] + pbc[5]*h_rate[5] + pbc[4]*h_rate[4]; + dvy = pbc[1]*h_rate[1] + pbc[3]*h_rate[3]; + dvz = pbc[2]*h_rate[2]; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + if (mask[i] & deform_groupbit) { + buf[m++] = v[j][0] + dvx; + buf[m++] = v[j][1] + dvy; + buf[m++] = v[j][2] + dvz; + } else { + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } + } + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_comm_hybrid(int n, int *list, double *buf) +{ + int i,j,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecSpin::unpack_comm(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + x[i][0] = buf[m++]; + x[i][1] = buf[m++]; + x[i][2] = buf[m++]; + sp[i][0] = buf[m++]; + sp[i][1] = buf[m++]; + sp[i][2] = buf[m++]; + sp[i][3] = buf[m++]; + } +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecSpin::unpack_comm_vel(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + x[i][0] = buf[m++]; + x[i][1] = buf[m++]; + x[i][2] = buf[m++]; + sp[i][0] = buf[m++]; + sp[i][1] = buf[m++]; + sp[i][2] = buf[m++]; + sp[i][3] = buf[m++]; + v[i][0] = buf[m++]; + v[i][1] = buf[m++]; + v[i][2] = buf[m++]; + } +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::unpack_comm_hybrid(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + sp[i][0] = buf[m++]; + sp[i][1] = buf[m++]; + sp[i][2] = buf[m++]; + sp[i][3] = buf[m++]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_reverse(int n, int first, double *buf) +{ + int i,m,last; + m = 0; + last = first + n; + for (i = first; i < last; i++) { + buf[m++] = f[i][0]; + buf[m++] = f[i][1]; + buf[m++] = f[i][2]; + buf[m++] = fm[i][0]; + buf[m++] = fm[i][1]; + buf[m++] = fm[i][2]; + } + return m; +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecSpin::unpack_reverse(int n, int *list, double *buf) +{ + int i,j,m; + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + f[j][0] += buf[m++]; + f[j][1] += buf[m++]; + f[j][2] += buf[m++]; + fm[j][0] += buf[m++]; + fm[j][1] += buf[m++]; + fm[j][2] += buf[m++]; + } +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_border(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,m; + double dx,dy,dz; + + m = 0; + if (pbc_flag == 0) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0]; + buf[m++] = x[j][1]; + buf[m++] = x[j][2]; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = mumag[j]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + } + } else { + if (domain->triclinic == 0) { + dx = pbc[0]*domain->xprd; + dy = pbc[1]*domain->yprd; + dz = pbc[2]*domain->zprd; + } else { + dx = pbc[0]; + dy = pbc[1]; + dz = pbc[2]; + } + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = mumag[j]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + } + } + + if (atom->nextra_border) + for (int iextra = 0; iextra < atom->nextra_border; iextra++) + m += modify->fix[atom->extra_border[iextra]]->pack_border(n,list,&buf[m]); + + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_border_vel(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,m; + double dx,dy,dz,dvx,dvy,dvz; + + m = 0; + if (pbc_flag == 0) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0]; + buf[m++] = x[j][1]; + buf[m++] = x[j][2]; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = mumag[j]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } else { + if (domain->triclinic == 0) { + dx = pbc[0]*domain->xprd; + dy = pbc[1]*domain->yprd; + dz = pbc[2]*domain->zprd; + } else { + dx = pbc[0]; + dy = pbc[1]; + dz = pbc[2]; + } + if (!deform_vremap) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = mumag[j]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } else { + dvx = pbc[0]*h_rate[0] + pbc[5]*h_rate[5] + pbc[4]*h_rate[4]; + dvy = pbc[1]*h_rate[1] + pbc[3]*h_rate[3]; + dvz = pbc[2]*h_rate[2]; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0] + dx; + buf[m++] = x[j][1] + dy; + buf[m++] = x[j][2] + dz; + buf[m++] = ubuf(tag[j]).d; + buf[m++] = ubuf(type[j]).d; + buf[m++] = ubuf(mask[j]).d; + buf[m++] = mumag[j]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + if (mask[i] & deform_groupbit) { + buf[m++] = v[j][0] + dvx; + buf[m++] = v[j][1] + dvy; + buf[m++] = v[j][2] + dvz; + } else { + buf[m++] = v[j][0]; + buf[m++] = v[j][1]; + buf[m++] = v[j][2]; + } + } + } + } + + if (atom->nextra_border) + for (int iextra = 0; iextra < atom->nextra_border; iextra++) + m += modify->fix[atom->extra_border[iextra]]->pack_border(n,list,&buf[m]); + + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::pack_border_hybrid(int n, int *list, double *buf) +{ + int i,j,m; + + m = 0; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = mumag[j]; + buf[m++] = sp[j][0]; + buf[m++] = sp[j][1]; + buf[m++] = sp[j][2]; + buf[m++] = sp[j][3]; + } + + return m; +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecSpin::unpack_border(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + if (i == nmax) grow(0); + x[i][0] = buf[m++]; + x[i][1] = buf[m++]; + x[i][2] = buf[m++]; + tag[i] = (tagint) ubuf(buf[m++]).i; + type[i] = (int) ubuf(buf[m++]).i; + mask[i] = (int) ubuf(buf[m++]).i; + mumag[i] = buf[m++]; + sp[i][0] = buf[m++]; + sp[i][1] = buf[m++]; + sp[i][2] = buf[m++]; + sp[i][3] = buf[m++]; + } + + if (atom->nextra_border) + for (int iextra = 0; iextra < atom->nextra_border; iextra++) + m += modify->fix[atom->extra_border[iextra]]-> + unpack_border(n,first,&buf[m]); + +} + +/* ---------------------------------------------------------------------- */ + +void AtomVecSpin::unpack_border_vel(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + if (i == nmax) grow(0); + x[i][0] = buf[m++]; + x[i][1] = buf[m++]; + x[i][2] = buf[m++]; + tag[i] = (tagint) ubuf(buf[m++]).i; + type[i] = (int) ubuf(buf[m++]).i; + mask[i] = (int) ubuf(buf[m++]).i; + mumag[i] = buf[m++]; + sp[i][0] = buf[m++]; + sp[i][1] = buf[m++]; + sp[i][2] = buf[m++]; + sp[i][3] = buf[m++]; + v[i][0] = buf[m++]; + v[i][1] = buf[m++]; + v[i][2] = buf[m++]; + } + + if (atom->nextra_border) + for (int iextra = 0; iextra < atom->nextra_border; iextra++) + m += modify->fix[atom->extra_border[iextra]]-> + unpack_border(n,first,&buf[m]); + +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::unpack_border_hybrid(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + for (i = first; i < last; i++) { + mumag[i] = buf[m++]; + sp[i][0] = buf[m++]; + sp[i][1] = buf[m++]; + sp[i][2] = buf[m++]; + sp[i][3] = buf[m++]; + } + + return m; +} + +/* ---------------------------------------------------------------------- + pack all atom quantities for shipping to another proc + xyz must be 1st 3 values, so that comm::exchange can test on them +------------------------------------------------------------------------- */ + +int AtomVecSpin::pack_exchange(int i, double *buf) +{ + int m = 1; + buf[m++] = x[i][0]; + buf[m++] = x[i][1]; + buf[m++] = x[i][2]; + buf[m++] = v[i][0]; + buf[m++] = v[i][1]; + buf[m++] = v[i][2]; + buf[m++] = ubuf(tag[i]).d; + buf[m++] = ubuf(type[i]).d; + buf[m++] = ubuf(mask[i]).d; + buf[m++] = ubuf(image[i]).d; + + buf[m++] = mumag[i]; + buf[m++] = sp[i][0]; + buf[m++] = sp[i][1]; + buf[m++] = sp[i][2]; + buf[m++] = sp[i][3]; + + if (atom->nextra_grow) + for (int iextra = 0; iextra < atom->nextra_grow; iextra++) + m += modify->fix[atom->extra_grow[iextra]]->pack_exchange(i,&buf[m]); + + buf[0] = m; + return m; +} + +/* ---------------------------------------------------------------------- */ + +int AtomVecSpin::unpack_exchange(double *buf) +{ + int nlocal = atom->nlocal; + if (nlocal == nmax) grow(0); + + int m = 1; + x[nlocal][0] = buf[m++]; + x[nlocal][1] = buf[m++]; + x[nlocal][2] = buf[m++]; + v[nlocal][0] = buf[m++]; + v[nlocal][1] = buf[m++]; + v[nlocal][2] = buf[m++]; + tag[nlocal] = (tagint) ubuf(buf[m++]).i; + type[nlocal] = (int) ubuf(buf[m++]).i; + mask[nlocal] = (int) ubuf(buf[m++]).i; + image[nlocal] = (imageint) ubuf(buf[m++]).i; + + mumag[nlocal] = buf[m++]; + sp[nlocal][0] = buf[m++]; + sp[nlocal][1] = buf[m++]; + sp[nlocal][2] = buf[m++]; + sp[nlocal][3] = buf[m++]; + + if (atom->nextra_grow) + for (int iextra = 0; iextra < atom->nextra_grow; iextra++) + m += modify->fix[atom->extra_grow[iextra]]-> + unpack_exchange(nlocal,&buf[m]); + + atom->nlocal++; + + return m; +} + +/* ---------------------------------------------------------------------- + size of restart data for all atoms owned by this proc + include extra data stored by fixes +------------------------------------------------------------------------- */ + +int AtomVecSpin::size_restart() +{ + int i; + + int nlocal = atom->nlocal; + int n = 16 * nlocal; + + if (atom->nextra_restart) + for (int iextra = 0; iextra < atom->nextra_restart; iextra++) + for (i = 0; i < nlocal; i++) + n += modify->fix[atom->extra_restart[iextra]]->size_restart(i); + + return n; +} + +/* ---------------------------------------------------------------------- + pack atom I's data for restart file including extra quantities + xyz must be 1st 3 values, so that read_restart can test on them + molecular types may be negative, but write as positive +------------------------------------------------------------------------- */ + +int AtomVecSpin::pack_restart(int i, double *buf) +{ + int m = 1; + + buf[m++] = x[i][0]; + buf[m++] = x[i][1]; + buf[m++] = x[i][2]; + buf[m++] = ubuf(tag[i]).d; + buf[m++] = ubuf(type[i]).d; + buf[m++] = ubuf(mask[i]).d; + buf[m++] = ubuf(image[i]).d; + buf[m++] = v[i][0]; + buf[m++] = v[i][1]; + buf[m++] = v[i][2]; + + buf[m++] = mumag[i]; + buf[m++] = sp[i][0]; + buf[m++] = sp[i][1]; + buf[m++] = sp[i][2]; + buf[m++] = sp[i][3]; + + if (atom->nextra_restart) + for (int iextra = 0; iextra < atom->nextra_restart; iextra++) + m += modify->fix[atom->extra_restart[iextra]]->pack_restart(i,&buf[m]); + + buf[0] = m; + return m; +} + +/* ---------------------------------------------------------------------- + unpack data for one atom from restart file including extra quantities +------------------------------------------------------------------------- */ + +int AtomVecSpin::unpack_restart(double *buf) +{ + int nlocal = atom->nlocal; + if (nlocal == nmax) { + grow(0); + if (atom->nextra_store) + memory->grow(atom->extra,nmax,atom->nextra_store,"atom:extra"); + } + + int m = 1; + x[nlocal][0] = buf[m++]; + x[nlocal][1] = buf[m++]; + x[nlocal][2] = buf[m++]; + tag[nlocal] = (tagint) ubuf(buf[m++]).i; + type[nlocal] = (int) ubuf(buf[m++]).i; + mask[nlocal] = (int) ubuf(buf[m++]).i; + image[nlocal] = (imageint) ubuf(buf[m++]).i; + v[nlocal][0] = buf[m++]; + v[nlocal][1] = buf[m++]; + v[nlocal][2] = buf[m++]; + + mumag[nlocal] = buf[m++]; + sp[nlocal][0] = buf[m++]; + sp[nlocal][1] = buf[m++]; + sp[nlocal][2] = buf[m++]; + sp[nlocal][3] = buf[m++]; + + double **extra = atom->extra; + if (atom->nextra_store) { + int size = static_cast (buf[0]) - m; + for (int i = 0; i < size; i++) extra[nlocal][i] = buf[m++]; + } + + atom->nlocal++; + return m; +} + +/* ---------------------------------------------------------------------- + create one atom of itype at coord + set other values to defaults +------------------------------------------------------------------------- */ + +void AtomVecSpin::create_atom(int itype, double *coord) +{ + + int nlocal = atom->nlocal; + if (nlocal == nmax) grow(0); + + tag[nlocal] = 0; + type[nlocal] = itype; + x[nlocal][0] = coord[0]; + x[nlocal][1] = coord[1]; + x[nlocal][2] = coord[2]; + mask[nlocal] = 1; + image[nlocal] = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; + v[nlocal][0] = 0.0; + v[nlocal][1] = 0.0; + v[nlocal][2] = 0.0; + + mumag[nlocal] = 0.0; + sp[nlocal][0] = 0.0; + sp[nlocal][1] = 0.0; + sp[nlocal][2] = 0.0; + sp[nlocal][3] = 0.0; + + atom->nlocal++; +} + +/* ---------------------------------------------------------------------- + unpack one line from Atoms section of data file + initialize other atom quantities +------------------------------------------------------------------------- */ + +void AtomVecSpin::data_atom(double *coord, imageint imagetmp, char **values) +{ + int nlocal = atom->nlocal; + if (nlocal == nmax) grow(0); + + tag[nlocal] = ATOTAGINT(values[0]); + type[nlocal] = atoi(values[1]); + if (type[nlocal] <= 0 || type[nlocal] > atom->ntypes) + error->one(FLERR,"Invalid atom type in Atoms section of data file"); + + mumag[nlocal] = atof(values[2]); + + x[nlocal][0] = coord[0]; + x[nlocal][1] = coord[1]; + x[nlocal][2] = coord[2]; + + sp[nlocal][0] = atof(values[6]); + sp[nlocal][1] = atof(values[7]); + sp[nlocal][2] = atof(values[8]); + sp[nlocal][3] = sqrt(sp[nlocal][0]*sp[nlocal][0] + + sp[nlocal][1]*sp[nlocal][1] + + sp[nlocal][2]*sp[nlocal][2]); + + image[nlocal] = imagetmp; + + mask[nlocal] = 1; + v[nlocal][0] = 0.0; + v[nlocal][1] = 0.0; + v[nlocal][2] = 0.0; + + atom->nlocal++; +} + +/* ---------------------------------------------------------------------- + unpack hybrid quantities from one line in Atoms section of data file + initialize other atom quantities for this sub-style +------------------------------------------------------------------------- */ + +int AtomVecSpin::data_atom_hybrid(int nlocal, char **values) +{ + mumag[nlocal] = atof(values[0]); + sp[nlocal][0] = atof(values[1]); + sp[nlocal][1] = atof(values[2]); + sp[nlocal][2] = atof(values[3]); + sp[nlocal][3] = sqrt(sp[nlocal][0]*sp[nlocal][0] + + sp[nlocal][1]*sp[nlocal][1] + + sp[nlocal][2]*sp[nlocal][2]); + + return 4; +} + +/* ---------------------------------------------------------------------- + pack atom info for data file including 3 image flags +------------------------------------------------------------------------- */ + +void AtomVecSpin::pack_data(double **buf) +{ + int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; i++) { + buf[i][0] = ubuf(tag[i]).d; + buf[i][1] = ubuf(type[i]).d; + buf[i][2] = mumag[i]; + buf[i][3] = x[i][0]; + buf[i][4] = x[i][1]; + buf[i][5] = x[i][2]; + buf[i][6] = sp[i][0]; + buf[i][7] = sp[i][1]; + buf[i][8] = sp[i][2]; + buf[i][9] = sp[i][3]; + buf[i][10] = ubuf((image[i] & IMGMASK) - IMGMAX).d; + buf[i][11] = ubuf((image[i] >> IMGBITS & IMGMASK) - IMGMAX).d; + buf[i][12] = ubuf((image[i] >> IMG2BITS) - IMGMAX).d; + } +} + +/* ---------------------------------------------------------------------- + pack hybrid atom info for data file +------------------------------------------------------------------------- */ + +int AtomVecSpin::pack_data_hybrid(int i, double *buf) +{ + buf[0] = mumag[i]; + buf[1] = sp[i][0]; + buf[2] = sp[i][1]; + buf[3] = sp[i][2]; + buf[4] = sp[i][3]; + + return 5; +} + +/* ---------------------------------------------------------------------- + write atom info to data file including 3 image flags +------------------------------------------------------------------------- */ + +void AtomVecSpin::write_data(FILE *fp, int n, double **buf) +{ + for (int i = 0; i < n; i++) + fprintf(fp,TAGINT_FORMAT \ + " %d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e " + "%-1.16e %d %d %d\n", + (tagint) ubuf(buf[i][0]).i,(int) ubuf(buf[i][1]).i, + buf[i][2],buf[i][3],buf[i][4], + buf[i][5],buf[i][6],buf[i][7],buf[i][8],buf[i][9], + (int) ubuf(buf[i][10]).i,(int) ubuf(buf[i][11]).i, + (int) ubuf(buf[i][12]).i); +} + +/* ---------------------------------------------------------------------- + write hybrid atom info to data file +------------------------------------------------------------------------- */ + +int AtomVecSpin::write_data_hybrid(FILE *fp, double *buf) +{ + fprintf(fp," %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e",buf[0],buf[1],buf[2],buf[3],buf[4]); + return 4; +} + +/* ---------------------------------------------------------------------- + return # of bytes of allocated memory +------------------------------------------------------------------------- */ + +bigint AtomVecSpin::memory_usage() +{ + bigint bytes = 0; + + if (atom->memcheck("tag")) bytes += memory->usage(tag,nmax); + if (atom->memcheck("type")) bytes += memory->usage(type,nmax); + if (atom->memcheck("mask")) bytes += memory->usage(mask,nmax); + if (atom->memcheck("image")) bytes += memory->usage(image,nmax); + if (atom->memcheck("x")) bytes += memory->usage(x,nmax,3); + if (atom->memcheck("v")) bytes += memory->usage(v,nmax,3); + if (atom->memcheck("f")) bytes += memory->usage(f,nmax*comm->nthreads,3); + + if (atom->memcheck("fm")) bytes += memory->usage(fm,nmax*comm->nthreads,3); + if (atom->memcheck("mumag")) bytes += memory->usage(mumag,nmax); + if (atom->memcheck("sp")) bytes += memory->usage(sp,nmax,4); + + return bytes; +} + +void AtomVecSpin::force_clear(int n, size_t nbytes) +{ + memset(&atom->f[0][0],0,3*nbytes); + memset(&atom->fm[0][0],0,3*nbytes); +} + + diff --git a/src/atom_vec_spin.h b/src/atom_vec_spin.h new file mode 100644 index 0000000000..f4b13926f0 --- /dev/null +++ b/src/atom_vec_spin.h @@ -0,0 +1,90 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef ATOM_CLASS + +AtomStyle(spin,AtomVecSpin) + +#else + +#ifndef LMP_ATOM_VEC_SPIN_H +#define LMP_ATOM_VEC_SPIN_H + +#include "atom_vec.h" + +namespace LAMMPS_NS { + +class AtomVecSpin : public AtomVec { + public: + AtomVecSpin(class LAMMPS *); + void grow(int); + void grow_reset(); + void copy(int, int, int); + int pack_comm(int, int *, double *, int, int *); + int pack_comm_vel(int, int *, double *, int, int *); + int pack_comm_hybrid(int, int *, double *); + void unpack_comm(int, int, double *); + void unpack_comm_vel(int, int, double *); + int unpack_comm_hybrid(int, int, double *); + int pack_reverse(int, int, double *); + void unpack_reverse(int, int *, double *); + int pack_border(int, int *, double *, int, int *); + int pack_border_vel(int, int *, double *, int, int *); + int pack_border_hybrid(int, int *, double *); + void unpack_border(int, int, double *); + void unpack_border_vel(int, int, double *); + int unpack_border_hybrid(int, int, double *); + int pack_exchange(int, double *); + int unpack_exchange(double *); + int size_restart(); + int pack_restart(int, double *); + int unpack_restart(double *); + void create_atom(int, double *); + void data_atom(double *, imageint, char **); + int data_atom_hybrid(int, char **); + void pack_data(double **); + int pack_data_hybrid(int, double *); + void write_data(FILE *, int, double **); + int write_data_hybrid(FILE *, double *); + bigint memory_usage(); + + //Test force clear + void force_clear(int, size_t); + + + private: + tagint *tag; + int *type,*mask; + imageint *image; + double **x,**v,**f; //MD quantities: position, velocity and force + double *mumag,**sp, **fm; //Magnetic quantities: mu, spin direction, magnetic force + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Per-processor system is too big + +The number of owned atoms plus ghost atoms on a single +processor must fit in 32-bit integer. + +E: Invalid atom type in Atoms section of data file + +Atom types must range from 1 to specified # of types. + +*/ diff --git a/src/compute_spin.cpp b/src/compute_spin.cpp new file mode 100644 index 0000000000..370a2848a7 --- /dev/null +++ b/src/compute_spin.cpp @@ -0,0 +1,145 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include "compute_spin.h" +#include "atom.h" +#include "update.h" +#include "modify.h" +#include "domain.h" +#include "memory.h" +#include "error.h" +#include "math_special.h" +#include "math_const.h" +#include "force.h" + +using namespace LAMMPS_NS; +using namespace MathSpecial; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +ComputeSpin::ComputeSpin(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), mag(NULL) +{ + if ((narg != 3) && (narg != 4)) error->all(FLERR,"Illegal compute compute/spin command"); + + vector_flag = 1; + size_vector = 7; + extvector = 0; + + init(); + + allocate(); + +} + +/* ---------------------------------------------------------------------- */ + +ComputeSpin::~ComputeSpin() +{ + memory->destroy(mag); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeSpin::init() +{ + hbar = force->hplanck/MY_2PI; + kb = force->boltz; +} + +/* ---------------------------------------------------------------------- */ + +void ComputeSpin::compute_vector() +{ + int i, index; + + invoked_vector = update->ntimestep; + + countsp = countsptot = 0.0; + mag[0] = mag[1] = mag[2] = mag[3] = 0.0; + magtot[0] = magtot[1] = magtot[2] = magtot[3] = 0.0; + magenergy = magenergytot = 0.0; + tempnum = tempnumtot = 0.0; + tempdenom = tempdenomtot = 0.0; + spintemperature = 0.0; + + double **x = atom->x; + int *mask = atom->mask; + int *type = atom->type; + imageint *image = atom->image; + double *mumag = atom->mumag; + double **sp = atom->sp; + double **fm = atom->fm; + double tx,ty,tz; + + int nlocal = atom->nlocal; + + // compute total magnetization and magnetic energy + // compute spin temperature; See Nurdin et al., Phys. Rev. E 61, 2000 + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + if (atom->mumag_flag && atom->sp_flag) { + mag[0] += sp[i][0]; + mag[1] += sp[i][1]; + mag[2] += sp[i][2]; + magenergy += mumag[i]*sp[i][0]*fm[i][0]; + magenergy += mumag[i]*sp[i][1]*fm[i][1]; + magenergy += mumag[i]*sp[i][2]*fm[i][2]; + tx = sp[i][1]*fm[i][2]-sp[i][2]*fm[i][1]; + ty = sp[i][2]*fm[i][0]-sp[i][0]*fm[i][2]; + tz = sp[i][0]*fm[i][1]-sp[i][1]*fm[i][0]; + tempnum += tx*tx+ty*ty+tz*tz; + tempdenom += sp[i][0]*sp[i][0]+sp[i][1]*sp[i][1]+sp[i][2]*sp[i][2]; + countsp++; + } + } + else error->all(FLERR,"Compute spin/compute declared magnetic quantities (sp and mumag flags)"); + } + + MPI_Allreduce(mag,magtot,4,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&magenergy,&magenergytot,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&tempnum,&tempnumtot,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&tempdenom,&tempdenomtot,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&countsp,&countsptot,1,MPI_DOUBLE,MPI_SUM,world); + + double scale = 1.0/countsptot; + magtot[0] *= scale; + magtot[1] *= scale; + magtot[2] *= scale; + magtot[3] = sqrt(square(magtot[0])+square(magtot[1])+square(magtot[2])); + spintemperature = hbar*tempnumtot/2.0/kb/tempdenomtot; + + vector[0] = invoked_vector*update->dt; + vector[1] = magtot[0]; + vector[2] = magtot[1]; + vector[3] = magtot[2]; + vector[4] = magtot[3]; + vector[5] = -0.5*magenergytot*hbar; + vector[6] = spintemperature; + +} + +/* ---------------------------------------------------------------------- + free and reallocate arrays +------------------------------------------------------------------------- */ + +void ComputeSpin::allocate() +{ + memory->destroy(mag); + memory->create(mag,4,"compute/spin:mag"); + memory->create(magtot,5,"compute/spin:mag"); + memory->create(vector,7,"compute/spin:vector"); +} + diff --git a/src/compute_spin.h b/src/compute_spin.h new file mode 100644 index 0000000000..a20b956b01 --- /dev/null +++ b/src/compute_spin.h @@ -0,0 +1,71 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS + +ComputeStyle(compute/spin,ComputeSpin) + +#else + +#ifndef LMP_COMPUTE_SPIN_H +#define LMP_COMPUTE_SPIN_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputeSpin : public Compute { + public: + ComputeSpin(class LAMMPS *, int, char **); + ~ComputeSpin(); + void init(); + void compute_vector(); + + private: + double *mag; + double *magtot; + double magenergy; + double magenergytot; + double tempnum,tempnumtot; + double tempdenom,tempdenomtot; + double spintemperature; + double kb,hbar; + int countsp; + int countsptot; + int usecenter; + + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Chunk/atom compute does not exist for compute compute/spin + +Self-explanatory. + +E: Compute compute/spin does not use chunk/atom compute + +The style of the specified compute is not chunk/atom. + +*/ diff --git a/src/fix_force_spin.cpp b/src/fix_force_spin.cpp new file mode 100644 index 0000000000..27408456d6 --- /dev/null +++ b/src/fix_force_spin.cpp @@ -0,0 +1,255 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "fix_force_spin.h" +#include "atom.h" +#include "update.h" +#include "domain.h" +#include "respa.h" +#include "modify.h" +#include "input.h" +#include "variable.h" +#include "math_const.h" +#include "error.h" +#include "force.h" +#include "memory.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; + +enum{ZEEMAN,ANISOTROPY}; +enum{CONSTANT,EQUAL}; + +/* ---------------------------------------------------------------------- */ + +FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) +{ + + if (narg < 7) error->all(FLERR,"Illegal fix spin command"); + // 7 arguments for a force/spin fix command: + //(fix ID group force/spin magnitude (T or eV) style (zeeman or anisotropy) direction (3 cartesian coordinates) + + //Magnetic interactions only coded for cartesian coordinates + + dynamic_group_allow = 1; + scalar_flag = 1; + global_freq = 1; + extscalar = 1; + respa_level_support = 1; + ilevel_respa = 0; + + magstr = NULL; + magfieldstyle = CONSTANT; + + H_field = 0.0; + Hx = Hy = Hz = 0.0; + Ka = 0.0; + Kax = Kay = Kaz = 0.0; + + zeeman_flag = aniso_flag = 0; + + if (strcmp(arg[3],"zeeman") == 0) { + if (narg != 8) error->all(FLERR,"Illegal fix zeeman command"); + style = ZEEMAN; + zeeman_flag = 1; + H_field = force->numeric(FLERR,arg[4]); + Hx = force->numeric(FLERR,arg[5]); + Hy = force->numeric(FLERR,arg[6]); + Hz = force->numeric(FLERR,arg[7]); + magfieldstyle = CONSTANT; + } else if (strcmp(arg[3],"anisotropy") == 0) { + if (narg != 8) error->all(FLERR,"Illegal fix anisotropy command"); + style = ANISOTROPY; + aniso_flag = 1; + Ka = force->numeric(FLERR,arg[4]); + Kax = force->numeric(FLERR,arg[5]); + Kay = force->numeric(FLERR,arg[6]); + Kaz = force->numeric(FLERR,arg[7]); + } else error->all(FLERR,"Illegal fix force/spin command"); + + degree2rad = MY_PI/180.0; + time_origin = update->ntimestep; + + eflag = 0; + emag = 0.0; +} + +/* ---------------------------------------------------------------------- */ + +FixForceSpin::~FixForceSpin() +{ + memory->destroy(spi); + memory->destroy(fmi); + delete [] magstr; +} + +/* ---------------------------------------------------------------------- */ + +int FixForceSpin::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + mask |= THERMO_ENERGY; + mask |= POST_FORCE_RESPA; + return mask; +} + + +/* ---------------------------------------------------------------------- */ + +void FixForceSpin::init() +{ + double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) + double mub = 5.78901e-5; //in eV/T + double gyro = mub/hbar; //in rad.THz/T + + H_field *= gyro; //in rad.THz + Ka /= hbar; //in rad.THz + + if (strstr(update->integrate_style,"respa")) { + ilevel_respa = ((Respa *) update->integrate)->nlevels-1; + if (respa_level >= 0) ilevel_respa = MIN(respa_level,ilevel_respa); + } + + // check variables + if (magstr) { + magvar = input->variable->find(magstr); + if (magvar < 0) + error->all(FLERR,"Variable name for fix magnetic field does not exist"); + if (!input->variable->equalstyle(magvar)) + error->all(FLERR,"Variable for fix magnetic field is invalid style"); + } + + varflag = CONSTANT; + if (magfieldstyle != CONSTANT) varflag = EQUAL; + + // set magnetic field components once and for all + if (varflag == CONSTANT) set_magneticforce(); + + memory->create(spi,3,"forcespin:spi"); + memory->create(fmi,3,"forcespin:fmi"); + +} + +/* ---------------------------------------------------------------------- */ + +void FixForceSpin::setup(int vflag) +{ + if (strstr(update->integrate_style,"verlet")) + post_force(vflag); + else { + ((Respa *) update->integrate)->copy_flevel_f(ilevel_respa); + post_force_respa(vflag,ilevel_respa,0); + ((Respa *) update->integrate)->copy_f_flevel(ilevel_respa); + } +} + +/* ---------------------------------------------------------------------- */ + +void FixForceSpin::post_force(int vflag) +{ + // update gravity due to variables + if (varflag != CONSTANT) { + modify->clearstep_compute(); + modify->addstep_compute(update->ntimestep + 1); + set_magneticforce(); //Update value of the mag. field if time-dependent + } + +// double **x = atom->x; + double **sp = atom->sp; + double *mumag = atom->mumag; + double **fm = atom->fm; + int nlocal = atom->nlocal; + double scalar; + + eflag = 0; + emag = 0.0; + + for (int i = 0; i < nlocal; i++) { + fmi[0] = fmi[1] = fmi[2] = 0.0; + //if (style == ZEEMAN) { + if (zeeman_flag) { + compute_zeeman(i,fmi); + } + //if (style == ANISOTROPY) { + if (aniso_flag) { + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + compute_anisotropy(i,spi,fmi); + } + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; + fm[i][2] += fmi[2]; + } +} + + +/* ---------------------------------------------------------------------- */ +void FixForceSpin::compute_zeeman(int i, double *fmi) +{ +double *mumag = atom->mumag; + fmi[0] += mumag[i]*xmag; + fmi[1] += mumag[i]*ymag; + fmi[2] += mumag[i]*zmag; +} + +void FixForceSpin::compute_anisotropy(int i, double * spi, double *fmi) +{ + double scalar = Kax*spi[0] + Kay*spi[1] + Kaz*spi[2]; + fmi[0] += scalar*xmag; + fmi[1] += scalar*ymag; + fmi[2] += scalar*zmag; +} + +/* ---------------------------------------------------------------------- */ + +void FixForceSpin::post_force_respa(int vflag, int ilevel, int iloop) +{ + if (ilevel == ilevel_respa) post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ +//No acceleration for magnetic EOM, only a "magnetic force" +void FixForceSpin::set_magneticforce() +{ + if (style == ZEEMAN) { + xmag = H_field*Hx; + ymag = H_field*Hy; + zmag = H_field*Hz; + } + if (style == ANISOTROPY) { + xmag = 2.0*Ka*Kax; + ymag = 2.0*Ka*Kay; + zmag = 2.0*Ka*Kaz; + } +} + +/* ---------------------------------------------------------------------- + potential energy in magnetic field +------------------------------------------------------------------------- */ + +double FixForceSpin::compute_scalar() +{ + // only sum across procs one time + if (eflag == 0) { + MPI_Allreduce(&emag,&emag_all,1,MPI_DOUBLE,MPI_SUM,world); + eflag = 1; + } + return emag_all; +} diff --git a/src/fix_force_spin.h b/src/fix_force_spin.h new file mode 100644 index 0000000000..a422abad2c --- /dev/null +++ b/src/fix_force_spin.h @@ -0,0 +1,92 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(force/spin,FixForceSpin) + +#else + +#ifndef LMP_FIX_FORCE_SPIN_H +#define LMP_FIX_FORCE_SPIN_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixForceSpin : public Fix { + friend class FixPour; + + public: + FixForceSpin(class LAMMPS *, int, char **); + ~FixForceSpin(); + int setmask(); + void init(); + void setup(int); + virtual void post_force(int); + virtual void post_force_respa(int, int, int); + double compute_scalar(); + + int zeeman_flag, aniso_flag; + void compute_zeeman(int, double *); + void compute_anisotropy(int, double *, double *); + + protected: + int style; + + double xmag, ymag, zmag; //Magnetic force + double degree2rad; + int ilevel_respa; + int time_origin; + int eflag; + double emag, emag_all; + + int varflag; + int magfieldstyle; + int magvar; + char *magstr; + + double H_field; //Zeeman field intensity and direction + double Hx, Hy, Hz; + + double Ka; //Magnetic anisotropy intensity and direction + double Kax, Kay, Kaz; + + double *spi, *fmi; //Temp var. in compute + + void set_magneticforce(); + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Variable name for fix force/spin does not exist + +Self-explanatory. + +E: Variable for fix force/spin is invalid style + +Only equal-style variables can be used. + +*/ diff --git a/src/fix_langevin_spin.cpp b/src/fix_langevin_spin.cpp new file mode 100644 index 0000000000..ab76051f08 --- /dev/null +++ b/src/fix_langevin_spin.cpp @@ -0,0 +1,200 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Carolyn Phillips (U Mich), reservoir energy tally + Aidan Thompson (SNL) GJF formulation +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "fix_langevin_spin.h" +#include "math_extra.h" +#include "atom.h" +#include "atom_vec_ellipsoid.h" +#include "force.h" +#include "update.h" +#include "modify.h" +#include "compute.h" +#include "domain.h" +#include "region.h" +#include "respa.h" +#include "comm.h" +#include "input.h" +#include "variable.h" +#include "random_mars.h" +#include "memory.h" +#include "error.h" +#include "group.h" +#include "math_const.h" +#include "random_park.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg), id_temp(NULL), random(NULL) +{ + if (narg != 7) error->all(FLERR,"Illegal fix langevin/spin command"); + + dynamic_group_allow = 1; + scalar_flag = 1; + global_freq = 1; + extscalar = 1; + nevery = 1; + + temp = force->numeric(FLERR,arg[3]); + alpha_t = force->numeric(FLERR,arg[4]); + alpha_l = force->numeric(FLERR,arg[5]); + seed = force->inumeric(FLERR,arg[6]); + + if (alpha_t < 0.0) error->all(FLERR,"Fix langevin/spin transverse damping must be >= 0.0"); + if (alpha_l < 0.0) error->all(FLERR,"Fix langevin/spin transverse damping must be >= 0.0"); + if (seed <= 0) error->all(FLERR,"Illegal fix langevin/spin seed must be > 0"); + + // initialize Marsaglia RNG with processor-unique seed + //random = new RanMars(lmp,seed + comm->me); + random = new RanPark(lmp,seed + comm->me); + +} + +/* ---------------------------------------------------------------------- */ + +FixLangevinSpin::~FixLangevinSpin() +{ + delete random; +} + +/* ---------------------------------------------------------------------- */ + +int FixLangevinSpin::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + mask |= POST_FORCE_RESPA; + mask |= END_OF_STEP; + mask |= THERMO_ENERGY; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixLangevinSpin::init() +{ + // warn if any fix comes after this one + int after = 0; + int flag_force = 0; + int flag_lang = 0; + for (int i = 0; i < modify->nfix; i++) { + if (strcmp("force/spin",modify->fix[i]->style)==0) flag_force = MAX(flag_force,i); + if (strcmp("langevin/spin",modify->fix[i]->style)==0) flag_lang = i; + } + if (flag_force >= flag_lang) error->all(FLERR,"Fix langevin/spin should come after all other spin fixes"); + + dts = update->dt; + Gil_factor = 1.0/(1.0+(alpha_t)*(alpha_t)); + + double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) + double kb = force->boltz; + D = (MY_2PI*Gil_factor*kb*temp)/hbar/dts; + sigma = sqrt(D); +} + +/* ---------------------------------------------------------------------- */ + +void FixLangevinSpin::setup(int vflag) +{ + if (strstr(update->integrate_style,"verlet")) + post_force(vflag); + else { + ((Respa *) update->integrate)->copy_flevel_f(nlevels_respa-1); + post_force_respa(vflag,nlevels_respa-1,0); + ((Respa *) update->integrate)->copy_f_flevel(nlevels_respa-1); + } +} + +/* ---------------------------------------------------------------------- */ + +void FixLangevinSpin::post_force(int vflag) +{ + double **sp = atom->sp; + double **fm = atom->fm; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + double sx, sy, sz; + double fmx, fmy, fmz; + double cpx, cpy, cpz; + double rx, ry, rz; + + // add the damping to the effective field of each spin + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + sx = sp[i][0]; + sy = sp[i][1]; + sz = sp[i][2]; + + fmx = fm[i][0]; + fmy = fm[i][1]; + fmz = fm[i][2]; + + cpx = fmy*sz - fmz*sy;//Computing cross product + cpy = fmz*sx - fmx*sz; + cpz = fmx*sy - fmy*sx; + + fmx -= alpha_t*cpx;//Taking the damping value away + fmy -= alpha_t*cpy; + fmz -= alpha_t*cpz; + + fm[i][0] = fmx; + fm[i][1] = fmy; + fm[i][2] = fmz; + } + + //apply thermal effects adding random fields to fm + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + #define GAUSSIAN_R + #if defined GAUSSIAN_R + rx = sigma*random->gaussian();//Drawing random distributions + ry = sigma*random->gaussian(); + rz = sigma*random->gaussian(); + #else + rx = sigma*(random->uniform() - 0.5); + ry = sigma*(random->uniform() - 0.5); + rz = sigma*(random->uniform() - 0.5); + #endif + + fm[i][0] += rx;//Adding random field + fm[i][1] += ry; + fm[i][2] += rz; + + fm[i][0] *= Gil_factor;//Multiplying by Gilbert's prefactor + fm[i][1] *= Gil_factor; + fm[i][2] *= Gil_factor; + + } +} + +/* ---------------------------------------------------------------------- */ + +void FixLangevinSpin::post_force_respa(int vflag, int ilevel, int iloop) +{ + if (ilevel == nlevels_respa-1) post_force(vflag); +} + diff --git a/src/fix_langevin_spin.h b/src/fix_langevin_spin.h new file mode 100644 index 0000000000..ffd94745e2 --- /dev/null +++ b/src/fix_langevin_spin.h @@ -0,0 +1,106 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(langevin/spin,FixLangevinSpin) + +#else + +#ifndef LMP_FIX_LANGEVIN_SPIN_H +#define LMP_FIX_LANGEVIN_SPIN_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixLangevinSpin : public Fix { + public: + FixLangevinSpin(class LAMMPS *, int, char **); + virtual ~FixLangevinSpin(); + int setmask(); + void init(); + void setup(int); + virtual void post_force(int); + void post_force_respa(int, int, int); + + protected: + //First mag. quantities + int transv_damp_flag, long_damp_flag; //Flags for transverse or longitudinal mag. dampings + double alpha_t, alpha_l; //Transverse and long. damping value + double dts,temp,D,sigma;//timestep, temp, noise + double Gil_factor;//Gilbert's prefactor + + char *id_temp; + class Compute *temperature; + + int nlevels_respa; + //class RanMars *random; + class RanPark *random; + int seed; + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Fix langevin period must be > 0.0 + +The time window for temperature relaxation must be > 0 + +W: Energy tally does not account for 'zero yes' + +The energy removed by using the 'zero yes' flag is not accounted +for in the energy tally and thus energy conservation cannot be +monitored in this case. + + +E: Variable for fix langevin is invalid style + +It must be an equal-style variable. + + +E: Cannot zero Langevin force of 0 atoms + +The group has zero atoms, so you cannot request its force +be zeroed. + +E: Fix langevin variable returned negative temperature + +Self-explanatory. + +E: Could not find fix_modify temperature ID + +The compute ID for computing temperature does not exist. + +E: Fix_modify temperature ID does not compute temperature + +The compute ID assigned to the fix must compute temperature. + +W: Group for fix_modify temp != fix group + +The fix_modify command is specifying a temperature computation that +computes a temperature on a different group of atoms than the fix +itself operates on. This is probably not what you want to do. + +*/ diff --git a/src/fix_nve_spin.cpp b/src/fix_nve_spin.cpp new file mode 100644 index 0000000000..d2b1ce328b --- /dev/null +++ b/src/fix_nve_spin.cpp @@ -0,0 +1,562 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include "fix_nve_spin.h" +#include "atom.h" +#include "atom_vec.h" +#include "update.h" +#include "respa.h" +#include "force.h" +#include "error.h" +#include "math_vector.h" +#include "math_extra.h" +#include "math_const.h" +#include "modify.h" + +//Add headers (see delete later) +#include "pair.h" +#include "timer.h" +#include "integrate.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "pair_spin.h" +#include "memory.h" +#include "fix_force_spin.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; +using namespace MathExtra; + +enum{NONE,SPIN}; + +/* ---------------------------------------------------------------------- */ + +FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : + FixNVE(lmp, narg, arg) +{ + + if (narg < 3) error->all(FLERR,"Illegal fix nve/spin command"); + + time_integrate = 1; + + extra = NONE; + + int iarg = 2; + if (strcmp(arg[iarg],"nve/spin") == 0) { + if (iarg+1 > narg) error->all(FLERR,"Illegal fix nve/spin command"); + extra = SPIN; + } + + // error checks + if (extra == SPIN && !atom->mumag_flag) + error->all(FLERR,"Fix nve/spin requires spin attribute mumag"); + +#if defined SEQNEI + lockpairspin = NULL; + lockforcespin = NULL; + exch_flag = dmi_flag = me_flag = 0; + zeeman_flag = aniso_flag = 0; +#endif +} + +/* ---------------------------------------------------------------------- */ +FixNVESpin::~FixNVESpin(){ +#if defined SEQNEI + //delete lockpairspin; + //delete lockforcespin; + memory->destroy(spi); + memory->destroy(fmi); + memory->destroy(fmj); +#endif +} + +/* ---------------------------------------------------------------------- */ + +void FixNVESpin::init() +{ + FixNVE::init(); + + dts = update->dt; + + #if defined SEQNEI + lockpairspin = (PairSpin *) force->pair; + + memory->create(spi,3,"nves:spi"); + memory->create(fmi,3,"nves:fmi"); + memory->create(fmj,3,"nves:fmj"); + + int iforce; + for (iforce = 0; iforce < modify->nfix; iforce++) + if (strstr(modify->fix[iforce]->style,"force/spin")) break; + lockforcespin = (FixForceSpin *) modify->fix[iforce]; + + exch_flag = lockpairspin->exch_flag; + dmi_flag = lockpairspin->dmi_flag; + me_flag = lockpairspin->me_flag; + + zeeman_flag = lockforcespin->zeeman_flag; + aniso_flag = lockforcespin->aniso_flag; + #endif + + /*int idamp; + for (idamp = 0; idamp < modify->nfix; idamp++) + if (strstr(modify->fix[idamp]->style,"damping/spin")) break; + if (idamp == modify->nfix) + error->all(FLERR,"Integration of spin systems requires use of fix damping (set damping to 0.0 for NVE)"); + + lockspindamping = (FixSpinDamping *) modify->fix[idamp]; + alpha_t = lockspindamping->get_damping(0); + */ +} + +/* ---------------------------------------------------------------------- */ + +void FixNVESpin::initial_integrate(int vflag) +{ + double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; + double cp[3],g[3]; + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + double **sp = atom->sp; + double **fm = atom->fm; + double *rmass = atom->rmass; + double *mass = atom->mass; + int nlocal = atom->nlocal; + if (igroup == atom->firstgroup) nlocal = atom->nfirst; + int *type = atom->type; + int *mask = atom->mask; + + // Advance half spins all particles + //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 + if (extra == SPIN) { +#if defined SEQNEI + for (int i = 0; i < nlocal; i++){ + ComputeSpinInteractionsNei(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } +#endif +#if defined SEQ + for (int i = 0; i < nlocal; i++){ + AdvanceSingleSpin(i,0.5*dts,sp,fm); + ComputeSpinInteractions(); + } +#endif + } + + // update half v all particles + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + if (rmass) dtfm = dtf / rmass[i]; + else dtfm = dtf / mass[type[i]]; + v[i][0] += dtfm * f[i][0]; + v[i][1] += dtfm * f[i][1]; + v[i][2] += dtfm * f[i][2]; + } + } + + // update x for all particles + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + x[i][0] += 0.5 * dtv * v[i][0]; + x[i][1] += 0.5 * dtv * v[i][1]; + x[i][2] += 0.5 * dtv * v[i][2]; + } + } +} + +#if defined SEQNEI +/* ---------------------------------------------------------------------- */ +void FixNVESpin::ComputeSpinInteractionsNei(int ii) +{ + int nflag,sortflag; + int nlocal = atom->nlocal; + + int n_post_integrate = modify->n_post_integrate; + int n_pre_exchange = modify->n_pre_exchange; + int n_pre_neighbor = modify->n_pre_neighbor; + int n_pre_force = modify->n_pre_force; + int n_pre_reverse = modify->n_pre_reverse; + int n_post_force = modify->n_post_force; + int n_end_of_step = modify->n_end_of_step; + + bigint ntimestep; + ntimestep = update->ntimestep; + + //Force compute quantities + int i,j,jj,inum,jnum,itype,jtype; + int *ilist,*jlist,*numneigh,**firstneigh; + double **x = atom->x; + double **sp = atom->sp; + double **fm = atom->fm; + int *type = atom->type; + int newton_pair = force->newton_pair; + + inum = lockpairspin->list->inum; + ilist = lockpairspin->list->ilist; + numneigh = lockpairspin->list->numneigh; + firstneigh = lockpairspin->list->firstneigh; + + double xtmp,ytmp,ztmp; + double rsq,rd,delx,dely,delz; + double cut_ex_2, cut_dmi_2, cut_me_2; + cut_ex_2 = cut_dmi_2 = cut_me_2 = 0.0; + + int eflag = 1; + int vflag = 0; + int pair_compute_flag = 1; + + if (atom->sortfreq > 0) sortflag = 1; + else sortflag = 0; + if (n_post_integrate) modify->post_integrate(); + timer->stamp(Timer::MODIFY); + + // regular communication vs neighbor list rebuild + nflag = neighbor->decide(); + if (nflag == 0) { + timer->stamp(); + comm->forward_comm(); + timer->stamp(Timer::COMM); + } else { + if (n_pre_exchange) { + timer->stamp(); + modify->pre_exchange(); + timer->stamp(Timer::MODIFY); + } + //if (triclinic) domain->x2lamda(atom->nlocal); + domain->pbc(); + if (domain->box_change) { + domain->reset_box(); + comm->setup(); + if (neighbor->style) neighbor->setup_bins(); + } + timer->stamp(); + comm->exchange(); + if (sortflag && ntimestep >= atom->nextsort) atom->sort(); + comm->borders(); + //if (triclinic) domain->lamda2x(atom->nlocal+atom->nghost); + timer->stamp(Timer::COMM); + if (n_pre_neighbor) { + modify->pre_neighbor(); + timer->stamp(Timer::MODIFY); + } + neighbor->build(); + timer->stamp(Timer::NEIGH); + } + + ///////Force computation for spin i///////////// + i = ilist[ii]; + //Clear atom i + fm[i][0] = fm[i][1] = fm[i][2] = 0.0; + + timer->stamp(); + + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + fmi[0] = fmi[1] = fmi[2] = 0.0; + fmj[0] = fmj[1] = fmj[2] = 0.0; + jlist = firstneigh[i]; + jnum = numneigh[i]; + +// printf("Test inum: %g \n",inum); +/* + //Pair interaction + for (int jj = 0; jj < inum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + itype = type[ii]; + jtype = type[j]; + + if (exch_flag) { + cut_ex_2 = (lockpairspin->cut_spin_exchange[itype][jtype])*(lockpairspin->cut_spin_exchange[itype][jtype]); + if (rsq <= cut_ex_2) { + lockpairspin->compute_exchange(i,j,rsq,fmi,fmj); + } + } + if (dmi_flag) { + cut_dmi_2 = (lockpairspin->cut_spin_dmi[itype][jtype])*(lockpairspin->cut_spin_dmi[itype][jtype]); + if (rsq <= cut_dmi_2) { + lockpairspin->compute_dmi(i,j,fmi,fmj); + } + } + if (me_flag) { + cut_me_2 = (lockpairspin->cut_spin_me[itype][jtype])*(lockpairspin->cut_spin_me[itype][jtype]); + if (rsq <= cut_me_2) { + lockpairspin->compute_me(i,j,fmi,fmj); + } + } + } +*/ + + //Pair interaction + int natom = nlocal + atom->nghost; + for (int k = 0; k < natom; k++) { + delx = xtmp - x[k][0]; + dely = ytmp - x[k][1]; + delz = ztmp - x[k][2]; + rsq = delx*delx + dely*dely + delz*delz; + itype = type[ii]; + jtype = type[k]; + + if (exch_flag) { + cut_ex_2 = (lockpairspin->cut_spin_exchange[itype][jtype])*(lockpairspin->cut_spin_exchange[itype][jtype]); + if (rsq <= cut_ex_2) { + lockpairspin->compute_exchange(i,k,rsq,fmi,fmj); + } + } + if (dmi_flag) { + cut_dmi_2 = (lockpairspin->cut_spin_dmi[itype][jtype])*(lockpairspin->cut_spin_dmi[itype][jtype]); + if (rsq <= cut_dmi_2) { + lockpairspin->compute_dmi(i,k,fmi,fmj); + } + } + if (me_flag) { + cut_me_2 = (lockpairspin->cut_spin_me[itype][jtype])*(lockpairspin->cut_spin_me[itype][jtype]); + if (rsq <= cut_me_2) { + lockpairspin->compute_me(i,k,fmi,fmj); + } + } + } + + + //post force + if (zeeman_flag) { + lockforcespin->compute_zeeman(i,fmi); + } + if (aniso_flag) { + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + lockforcespin->compute_anisotropy(i,spi,fmi); + } + + //Replace the force by its new value + fm[i][0] = fmi[0]; + fm[i][1] = fmi[1]; + fm[i][2] = fmi[2]; + +} +#endif + +/* ---------------------------------------------------------------------- */ +void FixNVESpin::ComputeSpinInteractions() +{ + int nflag,sortflag; + int nlocal = atom->nlocal; + + int n_post_integrate = modify->n_post_integrate; + int n_pre_exchange = modify->n_pre_exchange; + int n_pre_neighbor = modify->n_pre_neighbor; + int n_pre_force = modify->n_pre_force; + int n_pre_reverse = modify->n_pre_reverse; + int n_post_force = modify->n_post_force; + int n_end_of_step = modify->n_end_of_step; + + bigint ntimestep; + ntimestep = update->ntimestep; + + //int eflag = update->integrate->eflag; + //int vflag = update->integrate->vflag; + int eflag = 1; + int vflag = 0; + int pair_compute_flag = 1; + + if (atom->sortfreq > 0) sortflag = 1; + else sortflag = 0; + if (n_post_integrate) modify->post_integrate(); + timer->stamp(Timer::MODIFY); + + // regular communication vs neighbor list rebuild + nflag = neighbor->decide(); + if (nflag == 0) { + timer->stamp(); + comm->forward_comm(); + timer->stamp(Timer::COMM); + } else { + if (n_pre_exchange) { + timer->stamp(); + modify->pre_exchange(); + timer->stamp(Timer::MODIFY); + } + //if (triclinic) domain->x2lamda(atom->nlocal); + domain->pbc(); + if (domain->box_change) { + domain->reset_box(); + comm->setup(); + if (neighbor->style) neighbor->setup_bins(); + } + timer->stamp(); + comm->exchange(); + if (sortflag && ntimestep >= atom->nextsort) atom->sort(); + comm->borders(); + //if (triclinic) domain->lamda2x(atom->nlocal+atom->nghost); + timer->stamp(Timer::COMM); + if (n_pre_neighbor) { + modify->pre_neighbor(); + timer->stamp(Timer::MODIFY); + } + neighbor->build(); + timer->stamp(Timer::NEIGH); + } + + // force computations + // important for pair to come before bonded contributions + // since some bonded potentials tally pairwise energy/virial + // and Pair:ev_tally() needs to be called before any tallying + + size_t nbytes; + nbytes = sizeof(double) * nlocal; + if (force->newton) nbytes += sizeof(double) * atom->nghost; + + atom->avec->force_clear(0,nbytes); + + timer->stamp(); + + if (n_pre_force) { + modify->pre_force(vflag); + timer->stamp(Timer::MODIFY); + } + + if (pair_compute_flag) { + force->pair->compute(eflag,vflag); + timer->stamp(Timer::PAIR); + } + + /*if (kspace_compute_flag) { + force->kspace->compute(eflag,vflag); + timer->stamp(Timer::KSPACE); + }*/ + + if (n_pre_reverse) { + modify->pre_reverse(eflag,vflag); + timer->stamp(Timer::MODIFY); + } + + // reverse communication of forces + + if (force->newton) { + comm->reverse_comm(); + timer->stamp(Timer::COMM); + } + + // force modifications + + if (n_post_force) modify->post_force(vflag); + timer->stamp(Timer::MODIFY); + +} + +/* ---------------------------------------------------------------------- */ + +void FixNVESpin::AdvanceSingleSpin(int i, double dts, double **sp, double **fm) +{ + int nlocal = atom->nlocal; + if (igroup == atom->firstgroup) nlocal = atom->nfirst; + int *type = atom->type; + int *mask = atom->mask; + + double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; + double cp[3],g[3]; + + cp[0] = cp[1] = cp[2] = 0.0; + g[0] = g[1] = g[2] = 0.0; + fm2 = (fm[i][0]*fm[i][0])+(fm[i][1]*fm[i][1])+(fm[i][2]*fm[i][2]); + fmsq = sqrt(fm2); + energy = (sp[i][0]*fm[i][0])+(sp[i][1]*fm[i][1])+(sp[i][2]*fm[i][2]); + + cp[0] = fm[i][1]*sp[i][2]-fm[i][2]*sp[i][1]; + cp[1] = fm[i][2]*sp[i][0]-fm[i][0]*sp[i][2]; + cp[2] = fm[i][0]*sp[i][1]-fm[i][1]*sp[i][0]; + + g[0] = sp[i][0]+cp[0]*dts; + g[1] = sp[i][1]+cp[1]*dts; + g[2] = sp[i][2]+cp[2]*dts; + + g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts*dts; + g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts*dts; + g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts*dts; + + g[0] /= (1+0.25*fm2*dts*dts); + g[1] /= (1+0.25*fm2*dts*dts); + g[2] /= (1+0.25*fm2*dts*dts); + + sp[i][0] = g[0]; + sp[i][1] = g[1]; + sp[i][2] = g[2]; + + //Renormalization (may not be necessary) + msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; + scale = 1.0/sqrt(msq); + sp[i][0] *= scale; + sp[i][1] *= scale; + sp[i][2] *= scale; +} + +/* ---------------------------------------------------------------------- */ + +void FixNVESpin::final_integrate() +{ + double dtfm,msq,scale,fm2,fmsq,energy; + double cp[3],g[3]; + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + double **sp = atom->sp; + double **fm = atom->fm; + double *rmass = atom->rmass; + double *mass = atom->mass; + int nlocal = atom->nlocal; + if (igroup == atom->firstgroup) nlocal = atom->nfirst; + int *type = atom->type; + int *mask = atom->mask; + + // update half v for all particles + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + if (rmass) dtfm = dtf / rmass[i]; + else dtfm = dtf / mass[type[i]]; + v[i][0] += dtfm * f[i][0]; + v[i][1] += dtfm * f[i][1]; + v[i][2] += dtfm * f[i][2]; + } + } + + // Advance half spins all particles + //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 + if (extra == SPIN) { +#if defined SEQNEI + for (int i = nlocal-1; i >= 0; i--){ + ComputeSpinInteractionsNei(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } +#endif +#if defined SEQ + for (int i = nlocal-1; i >= 0; i--){ + AdvanceSingleSpin(i,0.5*dts,sp,fm); + ComputeSpinInteractions(); + } +#endif + } +} diff --git a/src/fix_nve_spin.h b/src/fix_nve_spin.h new file mode 100644 index 0000000000..8f516b2409 --- /dev/null +++ b/src/fix_nve_spin.h @@ -0,0 +1,90 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(nve/spin,FixNVESpin) + +#else + +#ifndef LMP_FIX_NVE_SPIN_H +#define LMP_FIX_NVE_SPIN_H + +#include "fix_nve.h" + +namespace LAMMPS_NS { + +class FixNVESpin : public FixNVE { + + public: + FixNVESpin(class LAMMPS *, int, char **); + virtual ~FixNVESpin(); + void init(); + virtual void initial_integrate(int); + void AdvanceSingleSpin(int, double, double **, double **); + virtual void final_integrate(); + +//#define SEQ +#define SEQNEI + void ComputeSpinInteractions(); + void ComputeSpinInteractionsNei(int); + + protected: + int extra; + double dts; + //double alpha_t; + +#if defined SEQNEI + private: + int exch_flag, dmi_flag, me_flag; + int zeeman_flag, aniso_flag; + class PairSpin *lockpairspin; + double *spi, *fmi, *fmj; //Temp var. for compute + class FixForceSpin *lockforcespin; +#endif + + //private: + //class FixSpinDamping *lockspindamping; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Fix nve/sphere requires atom style sphere + +Self-explanatory. + +E: Fix nve/sphere update dipole requires atom attribute mu + +An atom style with this attribute is needed. + +E: Fix nve/sphere requires extended particles + +This fix can only be used for particles of a finite size. + +E: Fix nve/sphere dlm must be used with update dipole + +The DLM algorithm can only be used in conjunction with update dipole. + + +*/ diff --git a/src/pair_spin.cpp b/src/pair_spin.cpp new file mode 100755 index 0000000000..cdd9ca8e0d --- /dev/null +++ b/src/pair_spin.cpp @@ -0,0 +1,558 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include "pair_spin.h" +#include "atom.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "comm.h" +#include "force.h" +#include "memory.h" +#include "math_const.h" +#include "error.h" +#include "update.h" +#include + +//Add. lib. for full neighb. list +#include "neigh_request.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +PairSpin::PairSpin(LAMMPS *lmp) : Pair(lmp) +{ + single_enable = 0; + exch_flag = 0; + dmi_flag = 0; + me_flag = 0; + +} + +/* ---------------------------------------------------------------------- */ + +PairSpin::~PairSpin() +{ + if (allocated) { + memory->destroy(setflag); + + memory->destroy(cut_spin_exchange); + memory->destroy(J_1); + memory->destroy(J_2); + memory->destroy(J_2); + + memory->destroy(cut_spin_dmi); + memory->destroy(DM); + memory->destroy(v_dmx); + memory->destroy(v_dmy); + memory->destroy(v_dmz); + + memory->destroy(cut_spin_me); + memory->destroy(ME); + memory->destroy(v_mex); + memory->destroy(v_mey); + memory->destroy(v_mez); + + memory->destroy(fmi); + memory->destroy(fmj); + + memory->destroy(cutsq); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairSpin::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double evdwl,ecoul; + double xtmp,ytmp,ztmp; + double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; + double cut_ex_2,cut_dmi_2,cut_me_2; + double rsq,rd,delx,dely,delz; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + double **x = atom->x; + double **fm = atom->fm; + double *mumag = atom->mumag; + double **sp = atom->sp; + int *type = atom->type; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // Pair spin computations + // Loop over neighbors of my itoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + //Loop on Neighbors + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + fmi[0] = fmi[1] = fmi[2] = 0.0; + fmj[0] = fmj[1] = fmj[2] = 0.0; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; //square or inter-atomic distance + itype = type[i]; + jtype = type[j]; + + //Exchange interaction + if (exch_flag) { + cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; + if (rsq <= cut_ex_2) { + compute_exchange(i,j,rsq,fmi,fmj); + } + } + //DM interaction + if (dmi_flag){ + cut_dmi_2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; + if (rsq <= cut_dmi_2){ + compute_dmi(i,j,fmi,fmj); + } + } + //ME interaction + if (me_flag){ + cut_me_2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; + if (rsq <= cut_me_2){ + compute_me(i,j,fmi,fmj); + } + } + + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; + fm[i][2] += fmi[2]; + + if (newton_pair || j < nlocal) { + fm[j][0] += fmj[0]; + fm[j][1] += fmj[1]; + fm[j][2] += fmj[2]; + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- */ +void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double *fmj) +{ + int *type = atom->type; + int itype, jtype; + double **sp = atom->sp; + double dmix,dmiy,dmiz; + double Jex, ra; + itype = type[i]; + jtype = type[j]; + + ra = rsq/J_3[itype][jtype]/J_3[itype][jtype]; + Jex = 4.0*J_1[itype][jtype]*ra; + Jex *= (1.0-J_2[itype][jtype]*ra); + Jex *= exp(-ra); + + fmi[0] += Jex*sp[j][0]; + fmi[1] += Jex*sp[j][1]; + fmi[2] += Jex*sp[j][2]; + + fmj[0] += Jex*sp[i][0]; + fmj[1] += Jex*sp[i][1]; + fmj[2] += Jex*sp[i][2]; + +} + +/* ---------------------------------------------------------------------- */ +void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj) +{ + int *type = atom->type; + int itype, jtype; + double **sp = atom->sp; + double dmix,dmiy,dmiz; + itype = type[i]; + jtype = type[j]; + + dmix = DM[itype][jtype]*v_dmx[itype][jtype]; + dmiy = DM[itype][jtype]*v_dmy[itype][jtype]; + dmiz = DM[itype][jtype]*v_dmz[itype][jtype]; + + fmi[0] += sp[j][1]*dmiz-sp[j][2]*dmiy; + fmi[1] += sp[j][2]*dmix-sp[j][0]*dmiz; + fmi[2] += sp[j][0]*dmiy-sp[j][1]*dmix; + + fmj[0] -= sp[i][1]*dmiz-sp[i][2]*dmiy; + fmj[1] -= sp[i][2]*dmix-sp[i][0]*dmiz; + fmj[2] -= sp[i][0]*dmiy-sp[i][1]*dmix; +} + +/* ---------------------------------------------------------------------- */ +void PairSpin::compute_me(int i, int j, double *fmi, double *fmj) +{ + int *type = atom->type; + int itype, jtype; + itype = type[i]; + jtype = type[j]; + double **sp = atom->sp; + double **x = atom->x; + double meix,meiy,meiz; + double rx, ry, rz, inorm; + + rx = x[j][0] - x[i][0]; + ry = x[j][1] - x[i][1]; + rz = x[j][2] - x[i][2]; + inorm = 1.0/sqrt(rx*rx+ry*ry+rz*rz); + rx *= inorm; + ry *= inorm; + rz *= inorm; + + meix = v_mey[itype][jtype]*rz - v_mez[itype][jtype]*ry; + meiy = v_mez[itype][jtype]*rx - v_mex[itype][jtype]*rz; + meiz = v_mex[itype][jtype]*ry - v_mey[itype][jtype]*rx; + + meix *= ME[itype][jtype]; + meiy *= ME[itype][jtype]; + meiz *= ME[itype][jtype]; + + fmi[0] += sp[j][1]*meiz - sp[j][2]*meiy; + fmi[1] += sp[j][2]*meix - sp[j][0]*meiz; + fmi[2] += sp[j][0]*meiy - sp[j][1]*meix; + + fmj[0] -= sp[i][1]*meiz - sp[i][2]*meiy; + fmj[1] -= sp[i][2]*meix - sp[i][0]*meiz; + fmj[2] -= sp[i][0]*meiy - sp[i][1]*meix; + +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairSpin::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cut_spin_exchange,n+1,n+1,"pair:cut_spin_exchange"); + memory->create(J_1,n+1,n+1,"pair:J_1"); + memory->create(J_2,n+1,n+1,"pair:J_2"); + memory->create(J_3,n+1,n+1,"pair:J_3"); + + memory->create(cut_spin_dmi,n+1,n+1,"pair:cut_spin_dmi"); + memory->create(DM,n+1,n+1,"pair:DM"); + memory->create(v_dmx,n+1,n+1,"pair:DM_vector_x"); + memory->create(v_dmy,n+1,n+1,"pair:DM_vector_y"); + memory->create(v_dmz,n+1,n+1,"pair:DM_vector_z"); + + memory->create(cut_spin_me,n+1,n+1,"pair:cut_spin_me"); + memory->create(ME,n+1,n+1,"pair:ME"); + memory->create(v_mex,n+1,n+1,"pair:ME_vector_x"); + memory->create(v_mey,n+1,n+1,"pair:ME_vector_y"); + memory->create(v_mez,n+1,n+1,"pair:ME_vector_z"); + + memory->create(fmi,3,"pair:fmi"); + memory->create(fmj,3,"pair:fmj"); + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairSpin::settings(int narg, char **arg) +{ + if (narg < 1 || narg > 2) + error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); + + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"Spin simulations require metal unit style"); + + cut_spin_pair_global = force->numeric(FLERR,arg[0]); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i+1; j <= atom->ntypes; j++) + if (setflag[i][j]) { + cut_spin_exchange[i][j] = cut_spin_pair_global; + cut_spin_dmi[i][j] = cut_spin_pair_global; + cut_spin_me[i][j] = cut_spin_pair_global; + } + } + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type spin pairs (only one for now) +------------------------------------------------------------------------- */ + +void PairSpin::coeff(int narg, char **arg) +{ + + if (!allocated) allocate(); + + if (strcmp(arg[2],"exchange")==0){ + if (narg != 7) error->all(FLERR,"Incorrect args in pair_style command"); + exch_flag = 1; + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + double rij = force->numeric(FLERR,arg[3]); + double J1 = force->numeric(FLERR,arg[4]); + double J2 = force->numeric(FLERR,arg[5]); + double J3 = force->numeric(FLERR,arg[6]); + + double hbar = force->hplanck/MY_2PI; + J1 /= hbar; + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_exchange[i][j] = rij; + J_1[i][j] = J1; + J_2[i][j] = J2; + J_3[i][j] = J3; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); + } else if (strcmp(arg[2],"dmi")==0) { + if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); + dmi_flag = 1; + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + double rij = force->numeric(FLERR,arg[3]); + double dm = force->numeric(FLERR,arg[4]); + double dmx = force->numeric(FLERR,arg[5]); + double dmy = force->numeric(FLERR,arg[6]); + double dmz = force->numeric(FLERR,arg[7]); + + double inorm = 1.0/(dmx*dmx+dmy*dmy+dmz*dmz); + dmx *= inorm; + dmy *= inorm; + dmz *= inorm; + + double hbar = force->hplanck/MY_2PI; + dm /= hbar; + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_dmi[i][j] = rij; + DM[i][j] = dm; + v_dmx[i][j] = dmx; + v_dmy[i][j] = dmy; + v_dmz[i][j] = dmz; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); + } else if (strcmp(arg[2],"me")==0) { + if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); + me_flag = 1; + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + double rij = force->numeric(FLERR,arg[3]); + double me = force->numeric(FLERR,arg[4]); + double mex = force->numeric(FLERR,arg[5]); + double mey = force->numeric(FLERR,arg[6]); + double mez = force->numeric(FLERR,arg[7]); + + double inorm = 1.0/(mex*mex+mey*mey+mez*mez); + mex *= inorm; + mey *= inorm; + mez *= inorm; + + double hbar = force->hplanck/MY_2PI; + me /= hbar; + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_me[i][j] = rij; + DM[i][j] = me; + v_mex[i][j] = mex; + v_mey[i][j] = mey; + v_mez[i][j] = mez; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); + } else error->all(FLERR,"Incorrect args in pair_style command"); + + //Check if Jex [][] still works for Ferrimagnetic exchange +} + + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairSpin::init_style() +{ + if (!atom->sp_flag || !atom->mumag_flag) + error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); + + neighbor->request(this,instance_me); + +#define FULLNEI +#if defined FULLNEI + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; +#endif +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairSpin::init_one(int i, int j) +{ + + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + return cut_spin_pair_global; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpin::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) { + if (exch_flag){ + fwrite(&J_1[i][j],sizeof(double),1,fp); + fwrite(&J_2[i][j],sizeof(double),1,fp); + fwrite(&J_3[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_exchange[i][j],sizeof(double),1,fp); + } + if (dmi_flag) { + fwrite(&DM[i][j],sizeof(double),1,fp); + fwrite(&v_dmx[i][j],sizeof(double),1,fp); + fwrite(&v_dmy[i][j],sizeof(double),1,fp); + fwrite(&v_dmz[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_dmi[i][j],sizeof(double),1,fp); + } + if (me_flag) { + fwrite(&ME[i][j],sizeof(double),1,fp); + fwrite(&v_mex[i][j],sizeof(double),1,fp); + fwrite(&v_mey[i][j],sizeof(double),1,fp); + fwrite(&v_mez[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_me[i][j],sizeof(double),1,fp); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpin::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) { + if (me == 0) { + fread(&J_1[i][j],sizeof(double),1,fp); + fread(&J_2[i][j],sizeof(double),1,fp); + fread(&J_2[i][j],sizeof(double),1,fp); + fread(&cut_spin_exchange[i][j],sizeof(double),1,fp); + } + MPI_Bcast(&J_1[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&J_2[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&J_3[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_spin_exchange[i][j],1,MPI_DOUBLE,0,world); + } + } +} + + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpin::write_restart_settings(FILE *fp) +{ + fwrite(&cut_spin_pair_global,sizeof(double),1,fp); + fwrite(&offset_flag,sizeof(int),1,fp); + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpin::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + fread(&cut_spin_pair_global,sizeof(double),1,fp); + fread(&offset_flag,sizeof(int),1,fp); + fread(&mix_flag,sizeof(int),1,fp); + } + MPI_Bcast(&cut_spin_pair_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&offset_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); +} diff --git a/src/pair_spin.h b/src/pair_spin.h new file mode 100755 index 0000000000..8df192b69f --- /dev/null +++ b/src/pair_spin.h @@ -0,0 +1,96 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(pair/spin,PairSpin) + +#else + +#ifndef LMP_PAIR_SPIN_H +#define LMP_PAIR_SPIN_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairSpin : public Pair { + public: + PairSpin(class LAMMPS *); + virtual ~PairSpin(); + virtual void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + + void write_restart(FILE *); + void read_restart(FILE *); + void write_restart_settings(FILE *); + void read_restart_settings(FILE *); + + void compute_exchange(int, int, double, double *, double *); + void compute_dmi(int, int, double *, double *); + void compute_me(int, int, double *, double *); + + //Test for seq. integ. + //protected: + int exch_flag,dmi_flag,me_flag; + double cut_spin_pair_global; + double cut_spin_dipolar_global; + + double **cut_spin_exchange; //cutting distance exchange + double **cut_spin_dmi; //cutting distance dmi + double **cut_spin_me; //cutting distance me + + //Test for seq. integ. + protected: + double **J_1, **J_2, **J_3; //exchange coeffs Jij + //J1 in eV, J2 adim and J3 in Ang + double **DM; + double **v_dmx, **v_dmy, **v_dmz;//DMI coeffs + //DM int. in eV, v direction + + double **ME; + double **v_mex, **v_mey, **v_mez;//ME coeffs + //ME in eV, v direction + + double *fmi, *fmj; //Temp var. in compute + + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Incorrect args in pair_style command + +Self-explanatory. + +E: Spin simulations require metal unit style + +Self-explanatory. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair spin requires atom attributes sp, mumag + +The atom style defined does not have these attributes. + +*/ -- GitLab From 8a56b8ad3a2772ef9d0b217e1e99862ba3798098 Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 29 Jun 2017 11:03:33 -0600 Subject: [PATCH 027/675] First version of the parallel algorithm Performed by sectoring (1, 2, 4, or 8 chuncks) each process. --- src/SPIN/atom_vec_spin.cpp | 7 +- src/SPIN/compute_spin.cpp | 3 +- src/SPIN/fix_force_spin.cpp | 8 +- src/SPIN/fix_langevin_spin.cpp | 128 ++++++--- src/SPIN/fix_langevin_spin.h | 6 +- src/SPIN/fix_nve_spin.cpp | 486 ++++++++++++++++----------------- src/SPIN/fix_nve_spin.h | 35 ++- src/SPIN/pair_spin.cpp | 88 +++--- src/SPIN/pair_spin.h | 12 +- 9 files changed, 401 insertions(+), 372 deletions(-) diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index d31f4691d1..61ead88129 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -32,10 +32,9 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) molecular = 0; mass_type = 1; //check why - //comm_x_only = 0; - comm_x_only = 1; - //comm_f_only = 1; - comm_f_only = 0; + comm_x_only = 0; + comm_f_only = 1; + size_forward = 7; size_reverse = 6; size_border = 11; diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 370a2848a7..9516bcde90 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -11,6 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#include #include #include "compute_spin.h" #include "atom.h" @@ -112,7 +113,7 @@ void ComputeSpin::compute_vector() MPI_Allreduce(&magenergy,&magenergytot,1,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&tempnum,&tempnumtot,1,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&tempdenom,&tempdenomtot,1,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&countsp,&countsptot,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&countsp,&countsptot,1,MPI_INT,MPI_SUM,world); double scale = 1.0/countsptot; magtot[0] *= scale; diff --git a/src/SPIN/fix_force_spin.cpp b/src/SPIN/fix_force_spin.cpp index 27408456d6..44948f8ea3 100644 --- a/src/SPIN/fix_force_spin.cpp +++ b/src/SPIN/fix_force_spin.cpp @@ -114,9 +114,9 @@ int FixForceSpin::setmask() void FixForceSpin::init() { - double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) - double mub = 5.78901e-5; //in eV/T - double gyro = mub/hbar; //in rad.THz/T + const double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) + const double mub = 5.78901e-5; //in eV/T + const double gyro = mub/hbar; //in rad.THz/T H_field *= gyro; //in rad.THz Ka /= hbar; //in rad.THz @@ -174,7 +174,7 @@ void FixForceSpin::post_force(int vflag) double **sp = atom->sp; double *mumag = atom->mumag; double **fm = atom->fm; - int nlocal = atom->nlocal; + const int nlocal = atom->nlocal; double scalar; eflag = 0; diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index ab76051f08..8079000d59 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -63,9 +63,29 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : alpha_l = force->numeric(FLERR,arg[5]); seed = force->inumeric(FLERR,arg[6]); - if (alpha_t < 0.0) error->all(FLERR,"Fix langevin/spin transverse damping must be >= 0.0"); - if (alpha_l < 0.0) error->all(FLERR,"Fix langevin/spin transverse damping must be >= 0.0"); - if (seed <= 0) error->all(FLERR,"Illegal fix langevin/spin seed must be > 0"); + if (alpha_t < 0.0) { + error->all(FLERR,"Illegal fix/langevin/spin command"); + } else if (alpha_t == 0.0) { + tdamp_flag = 0; + } else { + tdamp_flag = 1; + } + + if (alpha_l < 0.0) { + error->all(FLERR,"Illegal fix/langevin/spin command"); + } else if (alpha_l == 0.0) { + ldamp_flag = 0; + } else { + ldamp_flag = 1; + } + + if (temp < 0.0) { + error->all(FLERR,"Illegal fix/langevin/spin command"); + } else if (temp == 0.0) { + temp_flag = 0; + } else { + temp_flag = 1; + } // initialize Marsaglia RNG with processor-unique seed //random = new RanMars(lmp,seed + comm->me); @@ -77,6 +97,8 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : FixLangevinSpin::~FixLangevinSpin() { + memory->destroy(spi); + memory->destroy(fmi); delete random; } @@ -106,6 +128,9 @@ void FixLangevinSpin::init() } if (flag_force >= flag_lang) error->all(FLERR,"Fix langevin/spin should come after all other spin fixes"); + memory->create(spi,3,"pair:spi"); + memory->create(fmi,3,"pair:fmi"); + dts = update->dt; Gil_factor = 1.0/(1.0+(alpha_t)*(alpha_t)); @@ -135,7 +160,7 @@ void FixLangevinSpin::post_force(int vflag) double **sp = atom->sp; double **fm = atom->fm; int *mask = atom->mask; - int nlocal = atom->nlocal; + const int nlocal = atom->nlocal; double sx, sy, sz; double fmx, fmy, fmz; @@ -143,54 +168,69 @@ void FixLangevinSpin::post_force(int vflag) double rx, ry, rz; // add the damping to the effective field of each spin - for (int i = 0; i < nlocal; i++) + for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - sx = sp[i][0]; - sy = sp[i][1]; - sz = sp[i][2]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; - fmx = fm[i][0]; - fmy = fm[i][1]; - fmz = fm[i][2]; - - cpx = fmy*sz - fmz*sy;//Computing cross product - cpy = fmz*sx - fmx*sz; - cpz = fmx*sy - fmy*sx; + fmi[0] = fm[i][0]; + fmi[1] = fm[i][1]; + fmi[2] = fm[i][2]; + + if (tdamp_flag) { + add_tdamping(spi,fmi); + } + + if (temp_flag) { + add_temperature(fmi); + } - fmx -= alpha_t*cpx;//Taking the damping value away - fmy -= alpha_t*cpy; - fmz -= alpha_t*cpz; + fm[i][0] = fmi[0]; + fm[i][1] = fmi[1]; + fm[i][2] = fmi[2]; + } + } + +} + +/* ---------------------------------------------------------------------- */ +void FixLangevinSpin::add_tdamping(double *spi, double *fmi) +{ + double cpx = fmi[1]*spi[2] - fmi[2]*spi[1]; + double cpy = fmi[2]*spi[0] - fmi[0]*spi[2]; + double cpz = fmi[0]*spi[1] - fmi[1]*spi[0]; - fm[i][0] = fmx; - fm[i][1] = fmy; - fm[i][2] = fmz; - } + fmi[0] -= alpha_t*cpx;//Taking the damping value away + fmi[1] -= alpha_t*cpy; + fmi[2] -= alpha_t*cpz; +} - //apply thermal effects adding random fields to fm - for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) { - #define GAUSSIAN_R - #if defined GAUSSIAN_R - rx = sigma*random->gaussian();//Drawing random distributions - ry = sigma*random->gaussian(); - rz = sigma*random->gaussian(); - #else - rx = sigma*(random->uniform() - 0.5); - ry = sigma*(random->uniform() - 0.5); - rz = sigma*(random->uniform() - 0.5); - #endif - - fm[i][0] += rx;//Adding random field - fm[i][1] += ry; - fm[i][2] += rz; +/* ---------------------------------------------------------------------- */ +void FixLangevinSpin::add_temperature(double *fmi) +{ +//#define GAUSSIAN_R +#if defined GAUSSIAN_R + double rx = sigma*random->gaussian();//Drawing random dist + double ry = sigma*random->gaussian(); + double rz = sigma*random->gaussian(); +#else + double rx = sigma*(random->uniform() - 0.5); + double ry = sigma*(random->uniform() - 0.5); + double rz = sigma*(random->uniform() - 0.5); +#endif + + fmi[0] += rx;//Adding random field + fmi[1] += ry; + fmi[2] += rz; - fm[i][0] *= Gil_factor;//Multiplying by Gilbert's prefactor - fm[i][1] *= Gil_factor; - fm[i][2] *= Gil_factor; - - } + fmi[0] *= Gil_factor;//Multiplying by Gilbert's prefactor + fmi[1] *= Gil_factor; + fmi[2] *= Gil_factor; + } + /* ---------------------------------------------------------------------- */ void FixLangevinSpin::post_force_respa(int vflag, int ilevel, int iloop) diff --git a/src/SPIN/fix_langevin_spin.h b/src/SPIN/fix_langevin_spin.h index ffd94745e2..a6b9bc5df3 100644 --- a/src/SPIN/fix_langevin_spin.h +++ b/src/SPIN/fix_langevin_spin.h @@ -33,10 +33,12 @@ class FixLangevinSpin : public Fix { void setup(int); virtual void post_force(int); void post_force_respa(int, int, int); + void add_tdamping(double *, double *); + void add_temperature(double *); + int tdamp_flag, ldamp_flag, temp_flag; protected: - //First mag. quantities - int transv_damp_flag, long_damp_flag; //Flags for transverse or longitudinal mag. dampings + double *spi, *fmi; double alpha_t, alpha_l; //Transverse and long. damping value double dts,temp,D,sigma;//timestep, temp, noise double Gil_factor;//Gilbert's prefactor diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index d2b1ce328b..11ec1ccf11 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -27,14 +27,13 @@ #include "modify.h" //Add headers (see delete later) -#include "pair.h" -#include "timer.h" -#include "integrate.h" #include "neighbor.h" #include "neigh_list.h" +#include "pair.h" #include "pair_spin.h" #include "memory.h" #include "fix_force_spin.h" +#include "fix_langevin_spin.h" using namespace LAMMPS_NS; using namespace FixConst; @@ -65,23 +64,32 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : if (extra == SPIN && !atom->mumag_flag) error->all(FLERR,"Fix nve/spin requires spin attribute mumag"); -#if defined SEQNEI - lockpairspin = NULL; - lockforcespin = NULL; exch_flag = dmi_flag = me_flag = 0; zeeman_flag = aniso_flag = 0; -#endif + tdamp_flag = temp_flag = 0; + + lockpairspin = NULL; + lockforcespin = NULL; + locklangevinspin = NULL; } /* ---------------------------------------------------------------------- */ FixNVESpin::~FixNVESpin(){ -#if defined SEQNEI //delete lockpairspin; //delete lockforcespin; + memory->destroy(xi); +#if defined SECTORING + memory->destroy(sec); + memory->destroy(rsec); + memory->destroy(seci); +#endif +#if defined SECTOR_PRINT + fclose(file_sect); +#endif memory->destroy(spi); + memory->destroy(spj); memory->destroy(fmi); memory->destroy(fmj); -#endif } /* ---------------------------------------------------------------------- */ @@ -91,36 +99,56 @@ void FixNVESpin::init() FixNVE::init(); dts = update->dt; - - #if defined SEQNEI - lockpairspin = (PairSpin *) force->pair; - + memory->create(xi,3,"nves:xi"); +#if defined SECTORING + memory->create(sec,3,"nves:sec"); + memory->create(rsec,3,"nves:rsec"); + memory->create(seci,3,"nves:seci"); +#endif memory->create(spi,3,"nves:spi"); + memory->create(spj,3,"nves:spj"); memory->create(fmi,3,"nves:fmi"); memory->create(fmj,3,"nves:fmj"); + lockpairspin = (PairSpin *) force->pair; + int iforce; for (iforce = 0; iforce < modify->nfix; iforce++) if (strstr(modify->fix[iforce]->style,"force/spin")) break; lockforcespin = (FixForceSpin *) modify->fix[iforce]; + for (iforce = 0; iforce < modify->nfix; iforce++) + if (strstr(modify->fix[iforce]->style,"langevin/spin")) break; + locklangevinspin = (FixLangevinSpin *) modify->fix[iforce]; + exch_flag = lockpairspin->exch_flag; dmi_flag = lockpairspin->dmi_flag; me_flag = lockpairspin->me_flag; zeeman_flag = lockforcespin->zeeman_flag; aniso_flag = lockforcespin->aniso_flag; - #endif - - /*int idamp; - for (idamp = 0; idamp < modify->nfix; idamp++) - if (strstr(modify->fix[idamp]->style,"damping/spin")) break; - if (idamp == modify->nfix) - error->all(FLERR,"Integration of spin systems requires use of fix damping (set damping to 0.0 for NVE)"); - - lockspindamping = (FixSpinDamping *) modify->fix[idamp]; - alpha_t = lockspindamping->get_damping(0); - */ + + tdamp_flag = locklangevinspin->tdamp_flag; + temp_flag = locklangevinspin->temp_flag; + + +#if defined SECTORING + sectoring(); +#endif + +#if defined SECTOR_PRINT + file_sect=fopen("sectoring.lammpstrj", "w"); + fprintf(file_sect,"ITEM: TIMESTEP\n"); + fprintf(file_sect,"%g\n",0.0); + fprintf(file_sect,"ITEM: NUMBER OF ATOMS\n"); + //int natoms = atom->natoms; + int natoms = atom->nlocal; + fprintf(file_sect,"%d\n",natoms); + fprintf(file_sect,"ITEM: BOX BOUNDS\n"); + for(int d=0; d<3; d++) fprintf(file_sect,"%lf %lf\n",domain->boxlo[d],domain->boxhi[d]); + fprintf(file_sect,"ITEM: ATOMS type x y z vx vy vz\n"); +#endif + } /* ---------------------------------------------------------------------- */ @@ -142,22 +170,6 @@ void FixNVESpin::initial_integrate(int vflag) int *type = atom->type; int *mask = atom->mask; - // Advance half spins all particles - //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 - if (extra == SPIN) { -#if defined SEQNEI - for (int i = 0; i < nlocal; i++){ - ComputeSpinInteractionsNei(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } -#endif -#if defined SEQ - for (int i = 0; i < nlocal; i++){ - AdvanceSingleSpin(i,0.5*dts,sp,fm); - ComputeSpinInteractions(); - } -#endif - } // update half v all particles for (int i = 0; i < nlocal; i++) { @@ -170,6 +182,59 @@ void FixNVESpin::initial_integrate(int vflag) } } + // update half x for all particles + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + x[i][0] += 0.5 * dtv * v[i][0]; + x[i][1] += 0.5 * dtv * v[i][1]; + x[i][2] += 0.5 * dtv * v[i][2]; + } + } + +#if defined SECTORING + int nseci; + // Seq. update spins for all particles + if (extra == SPIN) { + for (int j = 0; j < nsectors; j++) { + comm->forward_comm(); + for (int i = 0; i < nlocal; i++) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeSpinInteractionsNeigh(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } + for (int j = nsectors-1; j >= 0; j--) { + comm->forward_comm(); + for (int i = nlocal-1; i >= 0; i--) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeSpinInteractionsNeigh(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } + } +#else + // Seq. update spins for all particles + if (extra == SPIN) { + for (int i = 0; i < nlocal; i++){ + ComputeSpinInteractionsNeigh(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + + for (int i = nlocal-1; i >= 0; i--){ + ComputeSpinInteractionsNeigh(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } +#endif + // update x for all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { @@ -177,26 +242,32 @@ void FixNVESpin::initial_integrate(int vflag) x[i][1] += 0.5 * dtv * v[i][1]; x[i][2] += 0.5 * dtv * v[i][2]; } - } + } + + +#if defined SECTOR_PRINT + int my_rank; + MPI_Comm_rank(world, &my_rank); + if (my_rank == 0) { + for (int j = 0; j < nsectors; j++) { + for (int i = 0; i < nlocal; i++) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + fprintf(file_sect,"%d %lf %lf %lf %lf %lf %lf\n",j,xi[0],xi[1],xi[2],0.0,0.0,1.0); + } + } + } +#endif + } -#if defined SEQNEI /* ---------------------------------------------------------------------- */ -void FixNVESpin::ComputeSpinInteractionsNei(int ii) +void FixNVESpin::ComputeSpinInteractionsNeigh(int ii) { - int nflag,sortflag; - int nlocal = atom->nlocal; - - int n_post_integrate = modify->n_post_integrate; - int n_pre_exchange = modify->n_pre_exchange; - int n_pre_neighbor = modify->n_pre_neighbor; - int n_pre_force = modify->n_pre_force; - int n_pre_reverse = modify->n_pre_reverse; - int n_post_force = modify->n_post_force; - int n_end_of_step = modify->n_end_of_step; - - bigint ntimestep; - ntimestep = update->ntimestep; + const int nlocal = atom->nlocal; //Force compute quantities int i,j,jj,inum,jnum,itype,jtype; @@ -205,7 +276,7 @@ void FixNVESpin::ComputeSpinInteractionsNei(int ii) double **sp = atom->sp; double **fm = atom->fm; int *type = atom->type; - int newton_pair = force->newton_pair; + const int newton_pair = force->newton_pair; inum = lockpairspin->list->inum; ilist = lockpairspin->list->ilist; @@ -221,69 +292,37 @@ void FixNVESpin::ComputeSpinInteractionsNei(int ii) int vflag = 0; int pair_compute_flag = 1; - if (atom->sortfreq > 0) sortflag = 1; - else sortflag = 0; - if (n_post_integrate) modify->post_integrate(); - timer->stamp(Timer::MODIFY); - - // regular communication vs neighbor list rebuild - nflag = neighbor->decide(); - if (nflag == 0) { - timer->stamp(); - comm->forward_comm(); - timer->stamp(Timer::COMM); - } else { - if (n_pre_exchange) { - timer->stamp(); - modify->pre_exchange(); - timer->stamp(Timer::MODIFY); - } - //if (triclinic) domain->x2lamda(atom->nlocal); - domain->pbc(); - if (domain->box_change) { - domain->reset_box(); - comm->setup(); - if (neighbor->style) neighbor->setup_bins(); - } - timer->stamp(); - comm->exchange(); - if (sortflag && ntimestep >= atom->nextsort) atom->sort(); - comm->borders(); - //if (triclinic) domain->lamda2x(atom->nlocal+atom->nghost); - timer->stamp(Timer::COMM); - if (n_pre_neighbor) { - modify->pre_neighbor(); - timer->stamp(Timer::MODIFY); - } - neighbor->build(); - timer->stamp(Timer::NEIGH); - } +// comm->forward_comm(); ///////Force computation for spin i///////////// i = ilist[ii]; + //Clear atom i fm[i][0] = fm[i][1] = fm[i][2] = 0.0; - - timer->stamp(); - - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; + + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; fmi[0] = fmi[1] = fmi[2] = 0.0; fmj[0] = fmj[1] = fmj[2] = 0.0; jlist = firstneigh[i]; jnum = numneigh[i]; -// printf("Test inum: %g \n",inum); -/* //Pair interaction - for (int jj = 0; jj < inum; jj++) { + for (int jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; itype = type[ii]; jtype = type[j]; @@ -291,191 +330,144 @@ void FixNVESpin::ComputeSpinInteractionsNei(int ii) if (exch_flag) { cut_ex_2 = (lockpairspin->cut_spin_exchange[itype][jtype])*(lockpairspin->cut_spin_exchange[itype][jtype]); if (rsq <= cut_ex_2) { - lockpairspin->compute_exchange(i,j,rsq,fmi,fmj); - } - } - if (dmi_flag) { - cut_dmi_2 = (lockpairspin->cut_spin_dmi[itype][jtype])*(lockpairspin->cut_spin_dmi[itype][jtype]); - if (rsq <= cut_dmi_2) { - lockpairspin->compute_dmi(i,j,fmi,fmj); + lockpairspin->compute_exchange(i,j,rsq,fmi,fmj,spi,spj); } } - if (me_flag) { - cut_me_2 = (lockpairspin->cut_spin_me[itype][jtype])*(lockpairspin->cut_spin_me[itype][jtype]); - if (rsq <= cut_me_2) { - lockpairspin->compute_me(i,j,fmi,fmj); - } - } - } -*/ - - //Pair interaction - int natom = nlocal + atom->nghost; - for (int k = 0; k < natom; k++) { - delx = xtmp - x[k][0]; - dely = ytmp - x[k][1]; - delz = ztmp - x[k][2]; - rsq = delx*delx + dely*dely + delz*delz; - itype = type[ii]; - jtype = type[k]; - if (exch_flag) { - cut_ex_2 = (lockpairspin->cut_spin_exchange[itype][jtype])*(lockpairspin->cut_spin_exchange[itype][jtype]); - if (rsq <= cut_ex_2) { - lockpairspin->compute_exchange(i,k,rsq,fmi,fmj); - } - } if (dmi_flag) { cut_dmi_2 = (lockpairspin->cut_spin_dmi[itype][jtype])*(lockpairspin->cut_spin_dmi[itype][jtype]); if (rsq <= cut_dmi_2) { - lockpairspin->compute_dmi(i,k,fmi,fmj); + lockpairspin->compute_dmi(i,j,fmi,fmj,spi,spj); } } + if (me_flag) { cut_me_2 = (lockpairspin->cut_spin_me[itype][jtype])*(lockpairspin->cut_spin_me[itype][jtype]); if (rsq <= cut_me_2) { - lockpairspin->compute_me(i,k,fmi,fmj); + lockpairspin->compute_me(i,j,fmi,fmj,spi,spj); } } } - //post force if (zeeman_flag) { lockforcespin->compute_zeeman(i,fmi); } + if (aniso_flag) { spi[0] = sp[i][0]; spi[1] = sp[i][1]; spi[2] = sp[i][2]; lockforcespin->compute_anisotropy(i,spi,fmi); } - + + if (tdamp_flag) { + locklangevinspin->add_tdamping(spi,fmi); + } + + if (temp_flag) { + locklangevinspin->add_temperature(fmi); + } + //Replace the force by its new value fm[i][0] = fmi[0]; fm[i][1] = fmi[1]; fm[i][2] = fmi[2]; } -#endif +#if defined SECTORING /* ---------------------------------------------------------------------- */ -void FixNVESpin::ComputeSpinInteractions() +void FixNVESpin::sectoring() { - int nflag,sortflag; - int nlocal = atom->nlocal; + double sublo[3],subhi[3]; + double* sublotmp = domain->sublo; + double* subhitmp = domain->subhi; + for (int dim = 0 ; dim<3 ; dim++) { + sublo[dim]=sublotmp[dim]; + subhi[dim]=subhitmp[dim]; + } - int n_post_integrate = modify->n_post_integrate; - int n_pre_exchange = modify->n_pre_exchange; - int n_pre_neighbor = modify->n_pre_neighbor; - int n_pre_force = modify->n_pre_force; - int n_pre_reverse = modify->n_pre_reverse; - int n_post_force = modify->n_post_force; - int n_end_of_step = modify->n_end_of_step; + const double rsx = subhi[0] - sublo[0]; + const double rsy = subhi[1] - sublo[1]; + const double rsz = subhi[2] - sublo[2]; - bigint ntimestep; - ntimestep = update->ntimestep; + const double rv = lockpairspin->cut_spin_pair_global; - //int eflag = update->integrate->eflag; - //int vflag = update->integrate->vflag; - int eflag = 1; - int vflag = 0; - int pair_compute_flag = 1; + double rax = rsx/rv; + double ray = rsy/rv; + double raz = rsz/rv; + + sec[0] = 1; + sec[1] = 1; + sec[2] = 1; + if (rax >= 2.0) sec[0] = 2; + if (ray >= 2.0) sec[1] = 2; + if (raz >= 2.0) sec[2] = 2; - if (atom->sortfreq > 0) sortflag = 1; - else sortflag = 0; - if (n_post_integrate) modify->post_integrate(); - timer->stamp(Timer::MODIFY); - - // regular communication vs neighbor list rebuild - nflag = neighbor->decide(); - if (nflag == 0) { - timer->stamp(); - comm->forward_comm(); - timer->stamp(Timer::COMM); - } else { - if (n_pre_exchange) { - timer->stamp(); - modify->pre_exchange(); - timer->stamp(Timer::MODIFY); - } - //if (triclinic) domain->x2lamda(atom->nlocal); - domain->pbc(); - if (domain->box_change) { - domain->reset_box(); - comm->setup(); - if (neighbor->style) neighbor->setup_bins(); - } - timer->stamp(); - comm->exchange(); - if (sortflag && ntimestep >= atom->nextsort) atom->sort(); - comm->borders(); - //if (triclinic) domain->lamda2x(atom->nlocal+atom->nghost); - timer->stamp(Timer::COMM); - if (n_pre_neighbor) { - modify->pre_neighbor(); - timer->stamp(Timer::MODIFY); - } - neighbor->build(); - timer->stamp(Timer::NEIGH); - } + nsectors = sec[0]*sec[1]*sec[2]; - // force computations - // important for pair to come before bonded contributions - // since some bonded potentials tally pairwise energy/virial - // and Pair:ev_tally() needs to be called before any tallying + rsec[0] = rsx; + rsec[1] = rsy; + rsec[2] = rsz; + if (sec[0] == 2) rsec[0] = rsx/2.0; + if (sec[1] == 2) rsec[1] = rsy/2.0; + if (sec[2] == 2) rsec[2] = rsz/2.0; - size_t nbytes; - nbytes = sizeof(double) * nlocal; - if (force->newton) nbytes += sizeof(double) * atom->nghost; + if (2.0 * rv >= rsx && sec[0] >= 2) + error->all(FLERR,"Illegal number of sectors"); - atom->avec->force_clear(0,nbytes); + if (2.0 * rv >= rsy && sec[1] >= 2) + error->all(FLERR,"Illegal number of sectors"); - timer->stamp(); + if (2.0 * rv >= rsz && sec[2] >= 2) + error->all(FLERR,"Illegal number of sectors"); - if (n_pre_force) { - modify->pre_force(vflag); - timer->stamp(Timer::MODIFY); - } +} - if (pair_compute_flag) { - force->pair->compute(eflag,vflag); - timer->stamp(Timer::PAIR); - } - - /*if (kspace_compute_flag) { - force->kspace->compute(eflag,vflag); - timer->stamp(Timer::KSPACE); - }*/ - - if (n_pre_reverse) { - modify->pre_reverse(eflag,vflag); - timer->stamp(Timer::MODIFY); +/* ---------------------------------------------------------------------- */ +int FixNVESpin::coords2sector(double *xi) +{ + int nseci; + double sublo[3]; + double* sublotmp = domain->sublo; + for (int dim = 0 ; dim<3 ; dim++) { + sublo[dim]=sublotmp[dim]; } - - // reverse communication of forces - - if (force->newton) { - comm->reverse_comm(); - timer->stamp(Timer::COMM); + + double rix = (xi[0] - sublo[0])/rsec[0]; + double riy = (xi[1] - sublo[1])/rsec[1]; + double riz = (xi[2] - sublo[2])/rsec[2]; + + seci[0] = (int)rix; + seci[1] = (int)riy; + seci[2] = (int)riz; + + if (nsectors == 1) { + nseci == 0; + } else if (nsectors == 2) { + nseci = seci[0] + seci[1] + seci[2]; + } else if (nsectors == 4) { + if (sec[1]*sec[2] == 4) { //plane normal to x + nseci = (seci[1] + 2*seci[2]); + } else if (sec[0]*sec[2] == 4) { //plane normal to y + nseci = (seci[0] + 2*seci[2]); + } else if (sec[0]*sec[1] == 4) { //plane normal to z + nseci = (seci[0] + 2*seci[1]); + } + } else if (nsectors == 8) { + nseci = (seci[0] + 2*seci[1] + 4*seci[2]); } - - // force modifications - - if (n_post_force) modify->post_force(vflag); - timer->stamp(Timer::MODIFY); + return nseci; } +#endif + /* ---------------------------------------------------------------------- */ void FixNVESpin::AdvanceSingleSpin(int i, double dts, double **sp, double **fm) { - int nlocal = atom->nlocal; - if (igroup == atom->firstgroup) nlocal = atom->nfirst; - int *type = atom->type; - int *mask = atom->mask; - double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; double cp[3],g[3]; @@ -523,8 +515,6 @@ void FixNVESpin::final_integrate() double **x = atom->x; double **v = atom->v; double **f = atom->f; - double **sp = atom->sp; - double **fm = atom->fm; double *rmass = atom->rmass; double *mass = atom->mass; int nlocal = atom->nlocal; @@ -543,20 +533,4 @@ void FixNVESpin::final_integrate() } } - // Advance half spins all particles - //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 - if (extra == SPIN) { -#if defined SEQNEI - for (int i = nlocal-1; i >= 0; i--){ - ComputeSpinInteractionsNei(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } -#endif -#if defined SEQ - for (int i = nlocal-1; i >= 0; i--){ - AdvanceSingleSpin(i,0.5*dts,sp,fm); - ComputeSpinInteractions(); - } -#endif - } } diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index 8f516b2409..d77ea4e37a 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -33,28 +33,41 @@ class FixNVESpin : public FixNVE { virtual void initial_integrate(int); void AdvanceSingleSpin(int, double, double **, double **); virtual void final_integrate(); - -//#define SEQ -#define SEQNEI void ComputeSpinInteractions(); - void ComputeSpinInteractionsNei(int); + void ComputeSpinInteractionsNeigh(int); + +#define SECTORING +#if defined SECTORING + void sectoring(); + int coords2sector(double *); +#endif protected: int extra; double dts; - //double alpha_t; - -#if defined SEQNEI - private: + int exch_flag, dmi_flag, me_flag; int zeeman_flag, aniso_flag; + int tdamp_flag, temp_flag; + class PairSpin *lockpairspin; - double *spi, *fmi, *fmj; //Temp var. for compute class FixForceSpin *lockforcespin; + class FixLangevinSpin *locklangevinspin; + + double *spi, *spj, *fmi, *fmj; //Temp var. for compute + double *xi; + +#if defined SECTORING + int nsectors; + int *sec; + int *seci; + double *rsec; #endif - //private: - //class FixSpinDamping *lockspindamping; +//#define SECTOR_PRINT +#if defined SECTOR_PRINT + FILE* file_sect=NULL; +#endif }; } diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index cdd9ca8e0d..f2c9cb8d36 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -66,6 +66,8 @@ PairSpin::~PairSpin() memory->destroy(v_mey); memory->destroy(v_mez); + memory->destroy(spi); + memory->destroy(spj); memory->destroy(fmi); memory->destroy(fmj); @@ -111,12 +113,18 @@ void PairSpin::compute(int eflag, int vflag) ytmp = x[i][1]; ztmp = x[i][2]; jlist = firstneigh[i]; - jnum = numneigh[i]; + jnum = numneigh[i]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; //Loop on Neighbors for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; fmi[0] = fmi[1] = fmi[2] = 0.0; fmj[0] = fmj[1] = fmj[2] = 0.0; @@ -132,21 +140,21 @@ void PairSpin::compute(int eflag, int vflag) if (exch_flag) { cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; if (rsq <= cut_ex_2) { - compute_exchange(i,j,rsq,fmi,fmj); + compute_exchange(i,j,rsq,fmi,fmj,spi,spj); } } //DM interaction if (dmi_flag){ cut_dmi_2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; if (rsq <= cut_dmi_2){ - compute_dmi(i,j,fmi,fmj); + compute_dmi(i,j,fmi,fmj,spi,spj); } } //ME interaction if (me_flag){ cut_me_2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; if (rsq <= cut_me_2){ - compute_me(i,j,fmi,fmj); + compute_me(i,j,fmi,fmj,spi,spj); } } @@ -166,11 +174,10 @@ void PairSpin::compute(int eflag, int vflag) } /* ---------------------------------------------------------------------- */ -void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double *fmj) +void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double *fmj, double *spi, double *spj) { int *type = atom->type; int itype, jtype; - double **sp = atom->sp; double dmix,dmiy,dmiz; double Jex, ra; itype = type[i]; @@ -181,22 +188,21 @@ void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double * Jex *= (1.0-J_2[itype][jtype]*ra); Jex *= exp(-ra); - fmi[0] += Jex*sp[j][0]; - fmi[1] += Jex*sp[j][1]; - fmi[2] += Jex*sp[j][2]; + fmi[0] += Jex*spj[0]; + fmi[1] += Jex*spj[1]; + fmi[2] += Jex*spj[2]; - fmj[0] += Jex*sp[i][0]; - fmj[1] += Jex*sp[i][1]; - fmj[2] += Jex*sp[i][2]; + fmj[0] += Jex*spi[0]; + fmj[1] += Jex*spi[1]; + fmj[2] += Jex*spi[2]; } /* ---------------------------------------------------------------------- */ -void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj) +void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj, double *spi, double *spj) { int *type = atom->type; int itype, jtype; - double **sp = atom->sp; double dmix,dmiy,dmiz; itype = type[i]; jtype = type[j]; @@ -205,17 +211,17 @@ void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj) dmiy = DM[itype][jtype]*v_dmy[itype][jtype]; dmiz = DM[itype][jtype]*v_dmz[itype][jtype]; - fmi[0] += sp[j][1]*dmiz-sp[j][2]*dmiy; - fmi[1] += sp[j][2]*dmix-sp[j][0]*dmiz; - fmi[2] += sp[j][0]*dmiy-sp[j][1]*dmix; + fmi[0] += spj[1]*dmiz-spj[2]*dmiy; + fmi[1] += spj[2]*dmix-spj[0]*dmiz; + fmi[2] += spj[0]*dmiy-spj[1]*dmix; - fmj[0] -= sp[i][1]*dmiz-sp[i][2]*dmiy; - fmj[1] -= sp[i][2]*dmix-sp[i][0]*dmiz; - fmj[2] -= sp[i][0]*dmiy-sp[i][1]*dmix; + fmj[0] -= spi[1]*dmiz-spi[2]*dmiy; + fmj[1] -= spi[2]*dmix-spi[0]*dmiz; + fmj[2] -= spi[0]*dmiy-spi[1]*dmix; } /* ---------------------------------------------------------------------- */ -void PairSpin::compute_me(int i, int j, double *fmi, double *fmj) +void PairSpin::compute_me(int i, int j, double *fmi, double *fmj, double *spi, double *spj) { int *type = atom->type; int itype, jtype; @@ -242,13 +248,13 @@ void PairSpin::compute_me(int i, int j, double *fmi, double *fmj) meiy *= ME[itype][jtype]; meiz *= ME[itype][jtype]; - fmi[0] += sp[j][1]*meiz - sp[j][2]*meiy; - fmi[1] += sp[j][2]*meix - sp[j][0]*meiz; - fmi[2] += sp[j][0]*meiy - sp[j][1]*meix; + fmi[0] += spj[1]*meiz - spj[2]*meiy; + fmi[1] += spj[2]*meix - spj[0]*meiz; + fmi[2] += spj[0]*meiy - spj[1]*meix; - fmj[0] -= sp[i][1]*meiz - sp[i][2]*meiy; - fmj[1] -= sp[i][2]*meix - sp[i][0]*meiz; - fmj[2] -= sp[i][0]*meiy - sp[i][1]*meix; + fmj[0] -= spi[1]*meiz - spi[2]*meiy; + fmj[1] -= spi[2]*meix - spi[0]*meiz; + fmj[2] -= spi[0]*meiy - spi[1]*meix; } @@ -283,6 +289,8 @@ void PairSpin::allocate() memory->create(v_mey,n+1,n+1,"pair:ME_vector_y"); memory->create(v_mez,n+1,n+1,"pair:ME_vector_z"); + memory->create(spi,3,"pair:spi"); + memory->create(spj,3,"pair:spj"); memory->create(fmi,3,"pair:fmi"); memory->create(fmj,3,"pair:fmj"); @@ -325,6 +333,7 @@ void PairSpin::settings(int narg, char **arg) void PairSpin::coeff(int narg, char **arg) { + const double hbar = force->hplanck/MY_2PI; if (!allocated) allocate(); @@ -336,14 +345,11 @@ void PairSpin::coeff(int narg, char **arg) force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - double rij = force->numeric(FLERR,arg[3]); - double J1 = force->numeric(FLERR,arg[4]); - double J2 = force->numeric(FLERR,arg[5]); - double J3 = force->numeric(FLERR,arg[6]); + const double rij = force->numeric(FLERR,arg[3]); + const double J1 = (force->numeric(FLERR,arg[4]))/hbar; + const double J2 = force->numeric(FLERR,arg[5]); + const double J3 = force->numeric(FLERR,arg[6]); - double hbar = force->hplanck/MY_2PI; - J1 /= hbar; - int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { @@ -363,8 +369,8 @@ void PairSpin::coeff(int narg, char **arg) force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - double rij = force->numeric(FLERR,arg[3]); - double dm = force->numeric(FLERR,arg[4]); + const double rij = force->numeric(FLERR,arg[3]); + const double dm = (force->numeric(FLERR,arg[4]))/hbar; double dmx = force->numeric(FLERR,arg[5]); double dmy = force->numeric(FLERR,arg[6]); double dmz = force->numeric(FLERR,arg[7]); @@ -374,9 +380,6 @@ void PairSpin::coeff(int narg, char **arg) dmy *= inorm; dmz *= inorm; - double hbar = force->hplanck/MY_2PI; - dm /= hbar; - int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { @@ -397,8 +400,8 @@ void PairSpin::coeff(int narg, char **arg) force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - double rij = force->numeric(FLERR,arg[3]); - double me = force->numeric(FLERR,arg[4]); + const double rij = force->numeric(FLERR,arg[3]); + const double me = (force->numeric(FLERR,arg[4]))/hbar; double mex = force->numeric(FLERR,arg[5]); double mey = force->numeric(FLERR,arg[6]); double mez = force->numeric(FLERR,arg[7]); @@ -408,9 +411,6 @@ void PairSpin::coeff(int narg, char **arg) mey *= inorm; mez *= inorm; - double hbar = force->hplanck/MY_2PI; - me /= hbar; - int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h index 8df192b69f..2c65c62264 100755 --- a/src/SPIN/pair_spin.h +++ b/src/SPIN/pair_spin.h @@ -39,9 +39,9 @@ class PairSpin : public Pair { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_exchange(int, int, double, double *, double *); - void compute_dmi(int, int, double *, double *); - void compute_me(int, int, double *, double *); + void compute_exchange(int, int, double, double *, double *,double *, double *); + void compute_dmi(int, int, double *, double *, double *, double *); + void compute_me(int, int, double *, double *, double *, double *); //Test for seq. integ. //protected: @@ -61,10 +61,10 @@ class PairSpin : public Pair { double **v_dmx, **v_dmy, **v_dmz;//DMI coeffs //DM int. in eV, v direction - double **ME; - double **v_mex, **v_mey, **v_mez;//ME coeffs - //ME in eV, v direction + double **ME; //ME in eV + double **v_mex, **v_mey, **v_mez;//ME direction + double *spi, *spj; double *fmi, *fmj; //Temp var. in compute void allocate(); -- GitLab From 2c5597ae4bce796e0d804199cf29018d89272ba9 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 17 Jul 2017 13:25:36 -0600 Subject: [PATCH 028/675] Commit with last changes (sectoring parallel implementation) --- in.cobalt | 19 +- src/SPIN/fix_nve_spin.cpp | 4 +- src/SPIN/fix_nve_spin.h | 2 +- src/atom_vec_spin.cpp | 7 +- src/compute_spin.cpp | 3 +- src/fix_force_spin.cpp | 8 +- src/fix_langevin_spin.cpp | 128 ++++++---- src/fix_langevin_spin.h | 6 +- src/fix_nve_spin.cpp | 484 ++++++++++++++++++-------------------- src/fix_nve_spin.h | 35 ++- src/pair_spin.cpp | 88 +++---- src/pair_spin.h | 12 +- 12 files changed, 415 insertions(+), 381 deletions(-) diff --git a/in.cobalt b/in.cobalt index 8a9de336a7..a6e4b8aab6 100644 --- a/in.cobalt +++ b/in.cobalt @@ -28,8 +28,8 @@ atom_modify map array ########################### #Lattice constant of fcc Cobalt -lattice fcc 3.54 -#lattice sc 2.50 +#lattice fcc 3.54 +lattice sc 2.50 #Test Kagome #variable a equal sqrt(3.0)/8.0 @@ -48,7 +48,7 @@ lattice fcc 3.54 #Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen #(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 2.0 0.0 2.0 0.0 2.0 +region box block 0.0 32.0 0.0 32.0 0.0 32.0 #Creating a simulation box based on the specified region. Entries: number of atom types and box ref. create_box 1 box @@ -78,7 +78,7 @@ pair_style pair/spin 4.0 #type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 #type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) -#pair_coeff * * dmi 2.6 0.01 1.0 0.0 0.0 +#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 #pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 #Define a skin distance, update neigh list every @@ -97,6 +97,7 @@ fix 1 all force/spin zeeman 10.0 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) #Temp | Alpha_trans | Alpha_long | Seed #fix 2 all langevin/spin 0.0 0.1 0.0 21 +#fix 2 all langevin/spin 1.0 0.1 0.0 21 fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix @@ -105,22 +106,22 @@ fix 3 all nve/spin #compute real time, total magnetization, magnetic energy, and spin temperature #Iteration | Time | Mx | My | Mz | |M| | Em | Tm compute mag all compute/spin -fix outmag all ave/time 1 1 50 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_seqnei_test.dat +fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g #Defining a computation that will be performed on a group of atoms. #Entries: ID(user assigned), group-ID(group of atoms to peform the sim on), style(temp, pe, ...), args #Setting the timestep for the simulation -timestep 0.00001 +timestep 0.0001 ################## #######run######## ################## #Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 50 dump_spin.lammpstrj type x y z spx spy spz +dump 1 all custom 50 dump_spin_T100.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -#run 200000 -run 1 +run 10 +#run 1 diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 11ec1ccf11..24718e9635 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -292,7 +292,9 @@ void FixNVESpin::ComputeSpinInteractionsNeigh(int ii) int vflag = 0; int pair_compute_flag = 1; -// comm->forward_comm(); +#if !defined(SECTORING) + comm->forward_comm(); +#endif ///////Force computation for spin i///////////// i = ilist[ii]; diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index d77ea4e37a..d621598a9d 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -36,7 +36,7 @@ class FixNVESpin : public FixNVE { void ComputeSpinInteractions(); void ComputeSpinInteractionsNeigh(int); -#define SECTORING +//#define SECTORING #if defined SECTORING void sectoring(); int coords2sector(double *); diff --git a/src/atom_vec_spin.cpp b/src/atom_vec_spin.cpp index d31f4691d1..61ead88129 100644 --- a/src/atom_vec_spin.cpp +++ b/src/atom_vec_spin.cpp @@ -32,10 +32,9 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) molecular = 0; mass_type = 1; //check why - //comm_x_only = 0; - comm_x_only = 1; - //comm_f_only = 1; - comm_f_only = 0; + comm_x_only = 0; + comm_f_only = 1; + size_forward = 7; size_reverse = 6; size_border = 11; diff --git a/src/compute_spin.cpp b/src/compute_spin.cpp index 370a2848a7..9516bcde90 100644 --- a/src/compute_spin.cpp +++ b/src/compute_spin.cpp @@ -11,6 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#include #include #include "compute_spin.h" #include "atom.h" @@ -112,7 +113,7 @@ void ComputeSpin::compute_vector() MPI_Allreduce(&magenergy,&magenergytot,1,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&tempnum,&tempnumtot,1,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&tempdenom,&tempdenomtot,1,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&countsp,&countsptot,1,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(&countsp,&countsptot,1,MPI_INT,MPI_SUM,world); double scale = 1.0/countsptot; magtot[0] *= scale; diff --git a/src/fix_force_spin.cpp b/src/fix_force_spin.cpp index 27408456d6..44948f8ea3 100644 --- a/src/fix_force_spin.cpp +++ b/src/fix_force_spin.cpp @@ -114,9 +114,9 @@ int FixForceSpin::setmask() void FixForceSpin::init() { - double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) - double mub = 5.78901e-5; //in eV/T - double gyro = mub/hbar; //in rad.THz/T + const double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) + const double mub = 5.78901e-5; //in eV/T + const double gyro = mub/hbar; //in rad.THz/T H_field *= gyro; //in rad.THz Ka /= hbar; //in rad.THz @@ -174,7 +174,7 @@ void FixForceSpin::post_force(int vflag) double **sp = atom->sp; double *mumag = atom->mumag; double **fm = atom->fm; - int nlocal = atom->nlocal; + const int nlocal = atom->nlocal; double scalar; eflag = 0; diff --git a/src/fix_langevin_spin.cpp b/src/fix_langevin_spin.cpp index ab76051f08..8079000d59 100644 --- a/src/fix_langevin_spin.cpp +++ b/src/fix_langevin_spin.cpp @@ -63,9 +63,29 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : alpha_l = force->numeric(FLERR,arg[5]); seed = force->inumeric(FLERR,arg[6]); - if (alpha_t < 0.0) error->all(FLERR,"Fix langevin/spin transverse damping must be >= 0.0"); - if (alpha_l < 0.0) error->all(FLERR,"Fix langevin/spin transverse damping must be >= 0.0"); - if (seed <= 0) error->all(FLERR,"Illegal fix langevin/spin seed must be > 0"); + if (alpha_t < 0.0) { + error->all(FLERR,"Illegal fix/langevin/spin command"); + } else if (alpha_t == 0.0) { + tdamp_flag = 0; + } else { + tdamp_flag = 1; + } + + if (alpha_l < 0.0) { + error->all(FLERR,"Illegal fix/langevin/spin command"); + } else if (alpha_l == 0.0) { + ldamp_flag = 0; + } else { + ldamp_flag = 1; + } + + if (temp < 0.0) { + error->all(FLERR,"Illegal fix/langevin/spin command"); + } else if (temp == 0.0) { + temp_flag = 0; + } else { + temp_flag = 1; + } // initialize Marsaglia RNG with processor-unique seed //random = new RanMars(lmp,seed + comm->me); @@ -77,6 +97,8 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : FixLangevinSpin::~FixLangevinSpin() { + memory->destroy(spi); + memory->destroy(fmi); delete random; } @@ -106,6 +128,9 @@ void FixLangevinSpin::init() } if (flag_force >= flag_lang) error->all(FLERR,"Fix langevin/spin should come after all other spin fixes"); + memory->create(spi,3,"pair:spi"); + memory->create(fmi,3,"pair:fmi"); + dts = update->dt; Gil_factor = 1.0/(1.0+(alpha_t)*(alpha_t)); @@ -135,7 +160,7 @@ void FixLangevinSpin::post_force(int vflag) double **sp = atom->sp; double **fm = atom->fm; int *mask = atom->mask; - int nlocal = atom->nlocal; + const int nlocal = atom->nlocal; double sx, sy, sz; double fmx, fmy, fmz; @@ -143,54 +168,69 @@ void FixLangevinSpin::post_force(int vflag) double rx, ry, rz; // add the damping to the effective field of each spin - for (int i = 0; i < nlocal; i++) + for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - sx = sp[i][0]; - sy = sp[i][1]; - sz = sp[i][2]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; - fmx = fm[i][0]; - fmy = fm[i][1]; - fmz = fm[i][2]; - - cpx = fmy*sz - fmz*sy;//Computing cross product - cpy = fmz*sx - fmx*sz; - cpz = fmx*sy - fmy*sx; + fmi[0] = fm[i][0]; + fmi[1] = fm[i][1]; + fmi[2] = fm[i][2]; + + if (tdamp_flag) { + add_tdamping(spi,fmi); + } + + if (temp_flag) { + add_temperature(fmi); + } - fmx -= alpha_t*cpx;//Taking the damping value away - fmy -= alpha_t*cpy; - fmz -= alpha_t*cpz; + fm[i][0] = fmi[0]; + fm[i][1] = fmi[1]; + fm[i][2] = fmi[2]; + } + } + +} + +/* ---------------------------------------------------------------------- */ +void FixLangevinSpin::add_tdamping(double *spi, double *fmi) +{ + double cpx = fmi[1]*spi[2] - fmi[2]*spi[1]; + double cpy = fmi[2]*spi[0] - fmi[0]*spi[2]; + double cpz = fmi[0]*spi[1] - fmi[1]*spi[0]; - fm[i][0] = fmx; - fm[i][1] = fmy; - fm[i][2] = fmz; - } + fmi[0] -= alpha_t*cpx;//Taking the damping value away + fmi[1] -= alpha_t*cpy; + fmi[2] -= alpha_t*cpz; +} - //apply thermal effects adding random fields to fm - for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) { - #define GAUSSIAN_R - #if defined GAUSSIAN_R - rx = sigma*random->gaussian();//Drawing random distributions - ry = sigma*random->gaussian(); - rz = sigma*random->gaussian(); - #else - rx = sigma*(random->uniform() - 0.5); - ry = sigma*(random->uniform() - 0.5); - rz = sigma*(random->uniform() - 0.5); - #endif - - fm[i][0] += rx;//Adding random field - fm[i][1] += ry; - fm[i][2] += rz; +/* ---------------------------------------------------------------------- */ +void FixLangevinSpin::add_temperature(double *fmi) +{ +//#define GAUSSIAN_R +#if defined GAUSSIAN_R + double rx = sigma*random->gaussian();//Drawing random dist + double ry = sigma*random->gaussian(); + double rz = sigma*random->gaussian(); +#else + double rx = sigma*(random->uniform() - 0.5); + double ry = sigma*(random->uniform() - 0.5); + double rz = sigma*(random->uniform() - 0.5); +#endif + + fmi[0] += rx;//Adding random field + fmi[1] += ry; + fmi[2] += rz; - fm[i][0] *= Gil_factor;//Multiplying by Gilbert's prefactor - fm[i][1] *= Gil_factor; - fm[i][2] *= Gil_factor; - - } + fmi[0] *= Gil_factor;//Multiplying by Gilbert's prefactor + fmi[1] *= Gil_factor; + fmi[2] *= Gil_factor; + } + /* ---------------------------------------------------------------------- */ void FixLangevinSpin::post_force_respa(int vflag, int ilevel, int iloop) diff --git a/src/fix_langevin_spin.h b/src/fix_langevin_spin.h index ffd94745e2..a6b9bc5df3 100644 --- a/src/fix_langevin_spin.h +++ b/src/fix_langevin_spin.h @@ -33,10 +33,12 @@ class FixLangevinSpin : public Fix { void setup(int); virtual void post_force(int); void post_force_respa(int, int, int); + void add_tdamping(double *, double *); + void add_temperature(double *); + int tdamp_flag, ldamp_flag, temp_flag; protected: - //First mag. quantities - int transv_damp_flag, long_damp_flag; //Flags for transverse or longitudinal mag. dampings + double *spi, *fmi; double alpha_t, alpha_l; //Transverse and long. damping value double dts,temp,D,sigma;//timestep, temp, noise double Gil_factor;//Gilbert's prefactor diff --git a/src/fix_nve_spin.cpp b/src/fix_nve_spin.cpp index d2b1ce328b..24718e9635 100644 --- a/src/fix_nve_spin.cpp +++ b/src/fix_nve_spin.cpp @@ -27,14 +27,13 @@ #include "modify.h" //Add headers (see delete later) -#include "pair.h" -#include "timer.h" -#include "integrate.h" #include "neighbor.h" #include "neigh_list.h" +#include "pair.h" #include "pair_spin.h" #include "memory.h" #include "fix_force_spin.h" +#include "fix_langevin_spin.h" using namespace LAMMPS_NS; using namespace FixConst; @@ -65,23 +64,32 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : if (extra == SPIN && !atom->mumag_flag) error->all(FLERR,"Fix nve/spin requires spin attribute mumag"); -#if defined SEQNEI - lockpairspin = NULL; - lockforcespin = NULL; exch_flag = dmi_flag = me_flag = 0; zeeman_flag = aniso_flag = 0; -#endif + tdamp_flag = temp_flag = 0; + + lockpairspin = NULL; + lockforcespin = NULL; + locklangevinspin = NULL; } /* ---------------------------------------------------------------------- */ FixNVESpin::~FixNVESpin(){ -#if defined SEQNEI //delete lockpairspin; //delete lockforcespin; + memory->destroy(xi); +#if defined SECTORING + memory->destroy(sec); + memory->destroy(rsec); + memory->destroy(seci); +#endif +#if defined SECTOR_PRINT + fclose(file_sect); +#endif memory->destroy(spi); + memory->destroy(spj); memory->destroy(fmi); memory->destroy(fmj); -#endif } /* ---------------------------------------------------------------------- */ @@ -91,36 +99,56 @@ void FixNVESpin::init() FixNVE::init(); dts = update->dt; - - #if defined SEQNEI - lockpairspin = (PairSpin *) force->pair; - + memory->create(xi,3,"nves:xi"); +#if defined SECTORING + memory->create(sec,3,"nves:sec"); + memory->create(rsec,3,"nves:rsec"); + memory->create(seci,3,"nves:seci"); +#endif memory->create(spi,3,"nves:spi"); + memory->create(spj,3,"nves:spj"); memory->create(fmi,3,"nves:fmi"); memory->create(fmj,3,"nves:fmj"); + lockpairspin = (PairSpin *) force->pair; + int iforce; for (iforce = 0; iforce < modify->nfix; iforce++) if (strstr(modify->fix[iforce]->style,"force/spin")) break; lockforcespin = (FixForceSpin *) modify->fix[iforce]; + for (iforce = 0; iforce < modify->nfix; iforce++) + if (strstr(modify->fix[iforce]->style,"langevin/spin")) break; + locklangevinspin = (FixLangevinSpin *) modify->fix[iforce]; + exch_flag = lockpairspin->exch_flag; dmi_flag = lockpairspin->dmi_flag; me_flag = lockpairspin->me_flag; zeeman_flag = lockforcespin->zeeman_flag; aniso_flag = lockforcespin->aniso_flag; - #endif - - /*int idamp; - for (idamp = 0; idamp < modify->nfix; idamp++) - if (strstr(modify->fix[idamp]->style,"damping/spin")) break; - if (idamp == modify->nfix) - error->all(FLERR,"Integration of spin systems requires use of fix damping (set damping to 0.0 for NVE)"); - - lockspindamping = (FixSpinDamping *) modify->fix[idamp]; - alpha_t = lockspindamping->get_damping(0); - */ + + tdamp_flag = locklangevinspin->tdamp_flag; + temp_flag = locklangevinspin->temp_flag; + + +#if defined SECTORING + sectoring(); +#endif + +#if defined SECTOR_PRINT + file_sect=fopen("sectoring.lammpstrj", "w"); + fprintf(file_sect,"ITEM: TIMESTEP\n"); + fprintf(file_sect,"%g\n",0.0); + fprintf(file_sect,"ITEM: NUMBER OF ATOMS\n"); + //int natoms = atom->natoms; + int natoms = atom->nlocal; + fprintf(file_sect,"%d\n",natoms); + fprintf(file_sect,"ITEM: BOX BOUNDS\n"); + for(int d=0; d<3; d++) fprintf(file_sect,"%lf %lf\n",domain->boxlo[d],domain->boxhi[d]); + fprintf(file_sect,"ITEM: ATOMS type x y z vx vy vz\n"); +#endif + } /* ---------------------------------------------------------------------- */ @@ -142,22 +170,6 @@ void FixNVESpin::initial_integrate(int vflag) int *type = atom->type; int *mask = atom->mask; - // Advance half spins all particles - //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 - if (extra == SPIN) { -#if defined SEQNEI - for (int i = 0; i < nlocal; i++){ - ComputeSpinInteractionsNei(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } -#endif -#if defined SEQ - for (int i = 0; i < nlocal; i++){ - AdvanceSingleSpin(i,0.5*dts,sp,fm); - ComputeSpinInteractions(); - } -#endif - } // update half v all particles for (int i = 0; i < nlocal; i++) { @@ -170,6 +182,59 @@ void FixNVESpin::initial_integrate(int vflag) } } + // update half x for all particles + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + x[i][0] += 0.5 * dtv * v[i][0]; + x[i][1] += 0.5 * dtv * v[i][1]; + x[i][2] += 0.5 * dtv * v[i][2]; + } + } + +#if defined SECTORING + int nseci; + // Seq. update spins for all particles + if (extra == SPIN) { + for (int j = 0; j < nsectors; j++) { + comm->forward_comm(); + for (int i = 0; i < nlocal; i++) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeSpinInteractionsNeigh(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } + for (int j = nsectors-1; j >= 0; j--) { + comm->forward_comm(); + for (int i = nlocal-1; i >= 0; i--) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeSpinInteractionsNeigh(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } + } +#else + // Seq. update spins for all particles + if (extra == SPIN) { + for (int i = 0; i < nlocal; i++){ + ComputeSpinInteractionsNeigh(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + + for (int i = nlocal-1; i >= 0; i--){ + ComputeSpinInteractionsNeigh(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } +#endif + // update x for all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { @@ -177,26 +242,32 @@ void FixNVESpin::initial_integrate(int vflag) x[i][1] += 0.5 * dtv * v[i][1]; x[i][2] += 0.5 * dtv * v[i][2]; } - } + } + + +#if defined SECTOR_PRINT + int my_rank; + MPI_Comm_rank(world, &my_rank); + if (my_rank == 0) { + for (int j = 0; j < nsectors; j++) { + for (int i = 0; i < nlocal; i++) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + fprintf(file_sect,"%d %lf %lf %lf %lf %lf %lf\n",j,xi[0],xi[1],xi[2],0.0,0.0,1.0); + } + } + } +#endif + } -#if defined SEQNEI /* ---------------------------------------------------------------------- */ -void FixNVESpin::ComputeSpinInteractionsNei(int ii) +void FixNVESpin::ComputeSpinInteractionsNeigh(int ii) { - int nflag,sortflag; - int nlocal = atom->nlocal; - - int n_post_integrate = modify->n_post_integrate; - int n_pre_exchange = modify->n_pre_exchange; - int n_pre_neighbor = modify->n_pre_neighbor; - int n_pre_force = modify->n_pre_force; - int n_pre_reverse = modify->n_pre_reverse; - int n_post_force = modify->n_post_force; - int n_end_of_step = modify->n_end_of_step; - - bigint ntimestep; - ntimestep = update->ntimestep; + const int nlocal = atom->nlocal; //Force compute quantities int i,j,jj,inum,jnum,itype,jtype; @@ -205,7 +276,7 @@ void FixNVESpin::ComputeSpinInteractionsNei(int ii) double **sp = atom->sp; double **fm = atom->fm; int *type = atom->type; - int newton_pair = force->newton_pair; + const int newton_pair = force->newton_pair; inum = lockpairspin->list->inum; ilist = lockpairspin->list->ilist; @@ -221,69 +292,39 @@ void FixNVESpin::ComputeSpinInteractionsNei(int ii) int vflag = 0; int pair_compute_flag = 1; - if (atom->sortfreq > 0) sortflag = 1; - else sortflag = 0; - if (n_post_integrate) modify->post_integrate(); - timer->stamp(Timer::MODIFY); - - // regular communication vs neighbor list rebuild - nflag = neighbor->decide(); - if (nflag == 0) { - timer->stamp(); +#if !defined(SECTORING) comm->forward_comm(); - timer->stamp(Timer::COMM); - } else { - if (n_pre_exchange) { - timer->stamp(); - modify->pre_exchange(); - timer->stamp(Timer::MODIFY); - } - //if (triclinic) domain->x2lamda(atom->nlocal); - domain->pbc(); - if (domain->box_change) { - domain->reset_box(); - comm->setup(); - if (neighbor->style) neighbor->setup_bins(); - } - timer->stamp(); - comm->exchange(); - if (sortflag && ntimestep >= atom->nextsort) atom->sort(); - comm->borders(); - //if (triclinic) domain->lamda2x(atom->nlocal+atom->nghost); - timer->stamp(Timer::COMM); - if (n_pre_neighbor) { - modify->pre_neighbor(); - timer->stamp(Timer::MODIFY); - } - neighbor->build(); - timer->stamp(Timer::NEIGH); - } +#endif ///////Force computation for spin i///////////// i = ilist[ii]; + //Clear atom i fm[i][0] = fm[i][1] = fm[i][2] = 0.0; - - timer->stamp(); - - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; + + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; fmi[0] = fmi[1] = fmi[2] = 0.0; fmj[0] = fmj[1] = fmj[2] = 0.0; jlist = firstneigh[i]; jnum = numneigh[i]; -// printf("Test inum: %g \n",inum); -/* //Pair interaction - for (int jj = 0; jj < inum; jj++) { + for (int jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; itype = type[ii]; jtype = type[j]; @@ -291,191 +332,144 @@ void FixNVESpin::ComputeSpinInteractionsNei(int ii) if (exch_flag) { cut_ex_2 = (lockpairspin->cut_spin_exchange[itype][jtype])*(lockpairspin->cut_spin_exchange[itype][jtype]); if (rsq <= cut_ex_2) { - lockpairspin->compute_exchange(i,j,rsq,fmi,fmj); + lockpairspin->compute_exchange(i,j,rsq,fmi,fmj,spi,spj); } } - if (dmi_flag) { - cut_dmi_2 = (lockpairspin->cut_spin_dmi[itype][jtype])*(lockpairspin->cut_spin_dmi[itype][jtype]); - if (rsq <= cut_dmi_2) { - lockpairspin->compute_dmi(i,j,fmi,fmj); - } - } - if (me_flag) { - cut_me_2 = (lockpairspin->cut_spin_me[itype][jtype])*(lockpairspin->cut_spin_me[itype][jtype]); - if (rsq <= cut_me_2) { - lockpairspin->compute_me(i,j,fmi,fmj); - } - } - } -*/ - - //Pair interaction - int natom = nlocal + atom->nghost; - for (int k = 0; k < natom; k++) { - delx = xtmp - x[k][0]; - dely = ytmp - x[k][1]; - delz = ztmp - x[k][2]; - rsq = delx*delx + dely*dely + delz*delz; - itype = type[ii]; - jtype = type[k]; - if (exch_flag) { - cut_ex_2 = (lockpairspin->cut_spin_exchange[itype][jtype])*(lockpairspin->cut_spin_exchange[itype][jtype]); - if (rsq <= cut_ex_2) { - lockpairspin->compute_exchange(i,k,rsq,fmi,fmj); - } - } if (dmi_flag) { cut_dmi_2 = (lockpairspin->cut_spin_dmi[itype][jtype])*(lockpairspin->cut_spin_dmi[itype][jtype]); if (rsq <= cut_dmi_2) { - lockpairspin->compute_dmi(i,k,fmi,fmj); + lockpairspin->compute_dmi(i,j,fmi,fmj,spi,spj); } } + if (me_flag) { cut_me_2 = (lockpairspin->cut_spin_me[itype][jtype])*(lockpairspin->cut_spin_me[itype][jtype]); if (rsq <= cut_me_2) { - lockpairspin->compute_me(i,k,fmi,fmj); + lockpairspin->compute_me(i,j,fmi,fmj,spi,spj); } } } - //post force if (zeeman_flag) { lockforcespin->compute_zeeman(i,fmi); } + if (aniso_flag) { spi[0] = sp[i][0]; spi[1] = sp[i][1]; spi[2] = sp[i][2]; lockforcespin->compute_anisotropy(i,spi,fmi); } - + + if (tdamp_flag) { + locklangevinspin->add_tdamping(spi,fmi); + } + + if (temp_flag) { + locklangevinspin->add_temperature(fmi); + } + //Replace the force by its new value fm[i][0] = fmi[0]; fm[i][1] = fmi[1]; fm[i][2] = fmi[2]; } -#endif +#if defined SECTORING /* ---------------------------------------------------------------------- */ -void FixNVESpin::ComputeSpinInteractions() +void FixNVESpin::sectoring() { - int nflag,sortflag; - int nlocal = atom->nlocal; + double sublo[3],subhi[3]; + double* sublotmp = domain->sublo; + double* subhitmp = domain->subhi; + for (int dim = 0 ; dim<3 ; dim++) { + sublo[dim]=sublotmp[dim]; + subhi[dim]=subhitmp[dim]; + } - int n_post_integrate = modify->n_post_integrate; - int n_pre_exchange = modify->n_pre_exchange; - int n_pre_neighbor = modify->n_pre_neighbor; - int n_pre_force = modify->n_pre_force; - int n_pre_reverse = modify->n_pre_reverse; - int n_post_force = modify->n_post_force; - int n_end_of_step = modify->n_end_of_step; + const double rsx = subhi[0] - sublo[0]; + const double rsy = subhi[1] - sublo[1]; + const double rsz = subhi[2] - sublo[2]; - bigint ntimestep; - ntimestep = update->ntimestep; + const double rv = lockpairspin->cut_spin_pair_global; - //int eflag = update->integrate->eflag; - //int vflag = update->integrate->vflag; - int eflag = 1; - int vflag = 0; - int pair_compute_flag = 1; + double rax = rsx/rv; + double ray = rsy/rv; + double raz = rsz/rv; + + sec[0] = 1; + sec[1] = 1; + sec[2] = 1; + if (rax >= 2.0) sec[0] = 2; + if (ray >= 2.0) sec[1] = 2; + if (raz >= 2.0) sec[2] = 2; - if (atom->sortfreq > 0) sortflag = 1; - else sortflag = 0; - if (n_post_integrate) modify->post_integrate(); - timer->stamp(Timer::MODIFY); + nsectors = sec[0]*sec[1]*sec[2]; - // regular communication vs neighbor list rebuild - nflag = neighbor->decide(); - if (nflag == 0) { - timer->stamp(); - comm->forward_comm(); - timer->stamp(Timer::COMM); - } else { - if (n_pre_exchange) { - timer->stamp(); - modify->pre_exchange(); - timer->stamp(Timer::MODIFY); - } - //if (triclinic) domain->x2lamda(atom->nlocal); - domain->pbc(); - if (domain->box_change) { - domain->reset_box(); - comm->setup(); - if (neighbor->style) neighbor->setup_bins(); - } - timer->stamp(); - comm->exchange(); - if (sortflag && ntimestep >= atom->nextsort) atom->sort(); - comm->borders(); - //if (triclinic) domain->lamda2x(atom->nlocal+atom->nghost); - timer->stamp(Timer::COMM); - if (n_pre_neighbor) { - modify->pre_neighbor(); - timer->stamp(Timer::MODIFY); - } - neighbor->build(); - timer->stamp(Timer::NEIGH); - } + rsec[0] = rsx; + rsec[1] = rsy; + rsec[2] = rsz; + if (sec[0] == 2) rsec[0] = rsx/2.0; + if (sec[1] == 2) rsec[1] = rsy/2.0; + if (sec[2] == 2) rsec[2] = rsz/2.0; - // force computations - // important for pair to come before bonded contributions - // since some bonded potentials tally pairwise energy/virial - // and Pair:ev_tally() needs to be called before any tallying + if (2.0 * rv >= rsx && sec[0] >= 2) + error->all(FLERR,"Illegal number of sectors"); - size_t nbytes; - nbytes = sizeof(double) * nlocal; - if (force->newton) nbytes += sizeof(double) * atom->nghost; + if (2.0 * rv >= rsy && sec[1] >= 2) + error->all(FLERR,"Illegal number of sectors"); - atom->avec->force_clear(0,nbytes); + if (2.0 * rv >= rsz && sec[2] >= 2) + error->all(FLERR,"Illegal number of sectors"); - timer->stamp(); +} - if (n_pre_force) { - modify->pre_force(vflag); - timer->stamp(Timer::MODIFY); +/* ---------------------------------------------------------------------- */ +int FixNVESpin::coords2sector(double *xi) +{ + int nseci; + double sublo[3]; + double* sublotmp = domain->sublo; + for (int dim = 0 ; dim<3 ; dim++) { + sublo[dim]=sublotmp[dim]; } - if (pair_compute_flag) { - force->pair->compute(eflag,vflag); - timer->stamp(Timer::PAIR); - } - - /*if (kspace_compute_flag) { - force->kspace->compute(eflag,vflag); - timer->stamp(Timer::KSPACE); - }*/ - - if (n_pre_reverse) { - modify->pre_reverse(eflag,vflag); - timer->stamp(Timer::MODIFY); - } - - // reverse communication of forces - - if (force->newton) { - comm->reverse_comm(); - timer->stamp(Timer::COMM); + double rix = (xi[0] - sublo[0])/rsec[0]; + double riy = (xi[1] - sublo[1])/rsec[1]; + double riz = (xi[2] - sublo[2])/rsec[2]; + + seci[0] = (int)rix; + seci[1] = (int)riy; + seci[2] = (int)riz; + + if (nsectors == 1) { + nseci == 0; + } else if (nsectors == 2) { + nseci = seci[0] + seci[1] + seci[2]; + } else if (nsectors == 4) { + if (sec[1]*sec[2] == 4) { //plane normal to x + nseci = (seci[1] + 2*seci[2]); + } else if (sec[0]*sec[2] == 4) { //plane normal to y + nseci = (seci[0] + 2*seci[2]); + } else if (sec[0]*sec[1] == 4) { //plane normal to z + nseci = (seci[0] + 2*seci[1]); + } + } else if (nsectors == 8) { + nseci = (seci[0] + 2*seci[1] + 4*seci[2]); } - - // force modifications - - if (n_post_force) modify->post_force(vflag); - timer->stamp(Timer::MODIFY); + return nseci; } +#endif + /* ---------------------------------------------------------------------- */ void FixNVESpin::AdvanceSingleSpin(int i, double dts, double **sp, double **fm) { - int nlocal = atom->nlocal; - if (igroup == atom->firstgroup) nlocal = atom->nfirst; - int *type = atom->type; - int *mask = atom->mask; - double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; double cp[3],g[3]; @@ -523,8 +517,6 @@ void FixNVESpin::final_integrate() double **x = atom->x; double **v = atom->v; double **f = atom->f; - double **sp = atom->sp; - double **fm = atom->fm; double *rmass = atom->rmass; double *mass = atom->mass; int nlocal = atom->nlocal; @@ -543,20 +535,4 @@ void FixNVESpin::final_integrate() } } - // Advance half spins all particles - //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 - if (extra == SPIN) { -#if defined SEQNEI - for (int i = nlocal-1; i >= 0; i--){ - ComputeSpinInteractionsNei(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } -#endif -#if defined SEQ - for (int i = nlocal-1; i >= 0; i--){ - AdvanceSingleSpin(i,0.5*dts,sp,fm); - ComputeSpinInteractions(); - } -#endif - } } diff --git a/src/fix_nve_spin.h b/src/fix_nve_spin.h index 8f516b2409..d621598a9d 100644 --- a/src/fix_nve_spin.h +++ b/src/fix_nve_spin.h @@ -33,28 +33,41 @@ class FixNVESpin : public FixNVE { virtual void initial_integrate(int); void AdvanceSingleSpin(int, double, double **, double **); virtual void final_integrate(); - -//#define SEQ -#define SEQNEI void ComputeSpinInteractions(); - void ComputeSpinInteractionsNei(int); + void ComputeSpinInteractionsNeigh(int); + +//#define SECTORING +#if defined SECTORING + void sectoring(); + int coords2sector(double *); +#endif protected: int extra; double dts; - //double alpha_t; - -#if defined SEQNEI - private: + int exch_flag, dmi_flag, me_flag; int zeeman_flag, aniso_flag; + int tdamp_flag, temp_flag; + class PairSpin *lockpairspin; - double *spi, *fmi, *fmj; //Temp var. for compute class FixForceSpin *lockforcespin; + class FixLangevinSpin *locklangevinspin; + + double *spi, *spj, *fmi, *fmj; //Temp var. for compute + double *xi; + +#if defined SECTORING + int nsectors; + int *sec; + int *seci; + double *rsec; #endif - //private: - //class FixSpinDamping *lockspindamping; +//#define SECTOR_PRINT +#if defined SECTOR_PRINT + FILE* file_sect=NULL; +#endif }; } diff --git a/src/pair_spin.cpp b/src/pair_spin.cpp index cdd9ca8e0d..f2c9cb8d36 100755 --- a/src/pair_spin.cpp +++ b/src/pair_spin.cpp @@ -66,6 +66,8 @@ PairSpin::~PairSpin() memory->destroy(v_mey); memory->destroy(v_mez); + memory->destroy(spi); + memory->destroy(spj); memory->destroy(fmi); memory->destroy(fmj); @@ -111,12 +113,18 @@ void PairSpin::compute(int eflag, int vflag) ytmp = x[i][1]; ztmp = x[i][2]; jlist = firstneigh[i]; - jnum = numneigh[i]; + jnum = numneigh[i]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; //Loop on Neighbors for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; fmi[0] = fmi[1] = fmi[2] = 0.0; fmj[0] = fmj[1] = fmj[2] = 0.0; @@ -132,21 +140,21 @@ void PairSpin::compute(int eflag, int vflag) if (exch_flag) { cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; if (rsq <= cut_ex_2) { - compute_exchange(i,j,rsq,fmi,fmj); + compute_exchange(i,j,rsq,fmi,fmj,spi,spj); } } //DM interaction if (dmi_flag){ cut_dmi_2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; if (rsq <= cut_dmi_2){ - compute_dmi(i,j,fmi,fmj); + compute_dmi(i,j,fmi,fmj,spi,spj); } } //ME interaction if (me_flag){ cut_me_2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; if (rsq <= cut_me_2){ - compute_me(i,j,fmi,fmj); + compute_me(i,j,fmi,fmj,spi,spj); } } @@ -166,11 +174,10 @@ void PairSpin::compute(int eflag, int vflag) } /* ---------------------------------------------------------------------- */ -void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double *fmj) +void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double *fmj, double *spi, double *spj) { int *type = atom->type; int itype, jtype; - double **sp = atom->sp; double dmix,dmiy,dmiz; double Jex, ra; itype = type[i]; @@ -181,22 +188,21 @@ void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double * Jex *= (1.0-J_2[itype][jtype]*ra); Jex *= exp(-ra); - fmi[0] += Jex*sp[j][0]; - fmi[1] += Jex*sp[j][1]; - fmi[2] += Jex*sp[j][2]; + fmi[0] += Jex*spj[0]; + fmi[1] += Jex*spj[1]; + fmi[2] += Jex*spj[2]; - fmj[0] += Jex*sp[i][0]; - fmj[1] += Jex*sp[i][1]; - fmj[2] += Jex*sp[i][2]; + fmj[0] += Jex*spi[0]; + fmj[1] += Jex*spi[1]; + fmj[2] += Jex*spi[2]; } /* ---------------------------------------------------------------------- */ -void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj) +void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj, double *spi, double *spj) { int *type = atom->type; int itype, jtype; - double **sp = atom->sp; double dmix,dmiy,dmiz; itype = type[i]; jtype = type[j]; @@ -205,17 +211,17 @@ void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj) dmiy = DM[itype][jtype]*v_dmy[itype][jtype]; dmiz = DM[itype][jtype]*v_dmz[itype][jtype]; - fmi[0] += sp[j][1]*dmiz-sp[j][2]*dmiy; - fmi[1] += sp[j][2]*dmix-sp[j][0]*dmiz; - fmi[2] += sp[j][0]*dmiy-sp[j][1]*dmix; + fmi[0] += spj[1]*dmiz-spj[2]*dmiy; + fmi[1] += spj[2]*dmix-spj[0]*dmiz; + fmi[2] += spj[0]*dmiy-spj[1]*dmix; - fmj[0] -= sp[i][1]*dmiz-sp[i][2]*dmiy; - fmj[1] -= sp[i][2]*dmix-sp[i][0]*dmiz; - fmj[2] -= sp[i][0]*dmiy-sp[i][1]*dmix; + fmj[0] -= spi[1]*dmiz-spi[2]*dmiy; + fmj[1] -= spi[2]*dmix-spi[0]*dmiz; + fmj[2] -= spi[0]*dmiy-spi[1]*dmix; } /* ---------------------------------------------------------------------- */ -void PairSpin::compute_me(int i, int j, double *fmi, double *fmj) +void PairSpin::compute_me(int i, int j, double *fmi, double *fmj, double *spi, double *spj) { int *type = atom->type; int itype, jtype; @@ -242,13 +248,13 @@ void PairSpin::compute_me(int i, int j, double *fmi, double *fmj) meiy *= ME[itype][jtype]; meiz *= ME[itype][jtype]; - fmi[0] += sp[j][1]*meiz - sp[j][2]*meiy; - fmi[1] += sp[j][2]*meix - sp[j][0]*meiz; - fmi[2] += sp[j][0]*meiy - sp[j][1]*meix; + fmi[0] += spj[1]*meiz - spj[2]*meiy; + fmi[1] += spj[2]*meix - spj[0]*meiz; + fmi[2] += spj[0]*meiy - spj[1]*meix; - fmj[0] -= sp[i][1]*meiz - sp[i][2]*meiy; - fmj[1] -= sp[i][2]*meix - sp[i][0]*meiz; - fmj[2] -= sp[i][0]*meiy - sp[i][1]*meix; + fmj[0] -= spi[1]*meiz - spi[2]*meiy; + fmj[1] -= spi[2]*meix - spi[0]*meiz; + fmj[2] -= spi[0]*meiy - spi[1]*meix; } @@ -283,6 +289,8 @@ void PairSpin::allocate() memory->create(v_mey,n+1,n+1,"pair:ME_vector_y"); memory->create(v_mez,n+1,n+1,"pair:ME_vector_z"); + memory->create(spi,3,"pair:spi"); + memory->create(spj,3,"pair:spj"); memory->create(fmi,3,"pair:fmi"); memory->create(fmj,3,"pair:fmj"); @@ -325,6 +333,7 @@ void PairSpin::settings(int narg, char **arg) void PairSpin::coeff(int narg, char **arg) { + const double hbar = force->hplanck/MY_2PI; if (!allocated) allocate(); @@ -336,14 +345,11 @@ void PairSpin::coeff(int narg, char **arg) force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - double rij = force->numeric(FLERR,arg[3]); - double J1 = force->numeric(FLERR,arg[4]); - double J2 = force->numeric(FLERR,arg[5]); - double J3 = force->numeric(FLERR,arg[6]); + const double rij = force->numeric(FLERR,arg[3]); + const double J1 = (force->numeric(FLERR,arg[4]))/hbar; + const double J2 = force->numeric(FLERR,arg[5]); + const double J3 = force->numeric(FLERR,arg[6]); - double hbar = force->hplanck/MY_2PI; - J1 /= hbar; - int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { @@ -363,8 +369,8 @@ void PairSpin::coeff(int narg, char **arg) force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - double rij = force->numeric(FLERR,arg[3]); - double dm = force->numeric(FLERR,arg[4]); + const double rij = force->numeric(FLERR,arg[3]); + const double dm = (force->numeric(FLERR,arg[4]))/hbar; double dmx = force->numeric(FLERR,arg[5]); double dmy = force->numeric(FLERR,arg[6]); double dmz = force->numeric(FLERR,arg[7]); @@ -374,9 +380,6 @@ void PairSpin::coeff(int narg, char **arg) dmy *= inorm; dmz *= inorm; - double hbar = force->hplanck/MY_2PI; - dm /= hbar; - int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { @@ -397,8 +400,8 @@ void PairSpin::coeff(int narg, char **arg) force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - double rij = force->numeric(FLERR,arg[3]); - double me = force->numeric(FLERR,arg[4]); + const double rij = force->numeric(FLERR,arg[3]); + const double me = (force->numeric(FLERR,arg[4]))/hbar; double mex = force->numeric(FLERR,arg[5]); double mey = force->numeric(FLERR,arg[6]); double mez = force->numeric(FLERR,arg[7]); @@ -408,9 +411,6 @@ void PairSpin::coeff(int narg, char **arg) mey *= inorm; mez *= inorm; - double hbar = force->hplanck/MY_2PI; - me /= hbar; - int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { diff --git a/src/pair_spin.h b/src/pair_spin.h index 8df192b69f..2c65c62264 100755 --- a/src/pair_spin.h +++ b/src/pair_spin.h @@ -39,9 +39,9 @@ class PairSpin : public Pair { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_exchange(int, int, double, double *, double *); - void compute_dmi(int, int, double *, double *); - void compute_me(int, int, double *, double *); + void compute_exchange(int, int, double, double *, double *,double *, double *); + void compute_dmi(int, int, double *, double *, double *, double *); + void compute_me(int, int, double *, double *, double *, double *); //Test for seq. integ. //protected: @@ -61,10 +61,10 @@ class PairSpin : public Pair { double **v_dmx, **v_dmy, **v_dmz;//DMI coeffs //DM int. in eV, v direction - double **ME; - double **v_mex, **v_mey, **v_mez;//ME coeffs - //ME in eV, v direction + double **ME; //ME in eV + double **v_mex, **v_mey, **v_mez;//ME direction + double *spi, *spj; double *fmi, *fmj; //Temp var. in compute void allocate(); -- GitLab From 8746ab547e72e06c403018596ab5fd7223f19ac4 Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 19 Jul 2017 13:27:19 -0600 Subject: [PATCH 029/675] Small modif and correc of the parallel implemetation --- in.cobalt | 2 +- src/SPIN/fix_nve_spin.cpp | 33 +- src/SPIN/fix_nve_spin.h | 2 +- src/atom_vec_spin.cpp | 950 -------------------------------------- src/atom_vec_spin.h | 90 ---- src/compute_spin.cpp | 146 ------ src/compute_spin.h | 71 --- src/fix_force_spin.cpp | 255 ---------- src/fix_force_spin.h | 92 ---- src/fix_langevin_spin.cpp | 240 ---------- src/fix_langevin_spin.h | 108 ----- src/fix_nve_spin.cpp | 538 --------------------- src/fix_nve_spin.h | 103 ----- src/pair_spin.cpp | 558 ---------------------- src/pair_spin.h | 96 ---- 15 files changed, 22 insertions(+), 3262 deletions(-) delete mode 100644 src/atom_vec_spin.cpp delete mode 100644 src/atom_vec_spin.h delete mode 100644 src/compute_spin.cpp delete mode 100644 src/compute_spin.h delete mode 100644 src/fix_force_spin.cpp delete mode 100644 src/fix_force_spin.h delete mode 100644 src/fix_langevin_spin.cpp delete mode 100644 src/fix_langevin_spin.h delete mode 100644 src/fix_nve_spin.cpp delete mode 100644 src/fix_nve_spin.h delete mode 100755 src/pair_spin.cpp delete mode 100755 src/pair_spin.h diff --git a/in.cobalt b/in.cobalt index a6e4b8aab6..acd9d12a78 100644 --- a/in.cobalt +++ b/in.cobalt @@ -48,7 +48,7 @@ lattice sc 2.50 #Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen #(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 32.0 0.0 32.0 0.0 32.0 +region box block 0.0 2.0 0.0 2.0 0.0 16.0 #Creating a simulation box based on the specified region. Entries: number of atom types and box ref. create_box 1 box diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 24718e9635..5e2a4e5af9 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -192,6 +192,9 @@ void FixNVESpin::initial_integrate(int vflag) } #if defined SECTORING + + printf("Nsectors: %d, Nlocal: %d \n",nsectors,nlocal); + int nseci; // Seq. update spins for all particles if (extra == SPIN) { @@ -202,8 +205,11 @@ void FixNVESpin::initial_integrate(int vflag) xi[1] = x[i][1]; xi[2] = x[i][2]; nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeSpinInteractionsNeigh(i); + if (j != nseci) continue; + + printf("sector number: %d, nseci: %d \n",j,nseci); + + ComputeSpinInteractionsNeigh(i); AdvanceSingleSpin(i,0.5*dts,sp,fm); } } @@ -220,6 +226,7 @@ void FixNVESpin::initial_integrate(int vflag) } } } + #else // Seq. update spins for all particles if (extra == SPIN) { @@ -249,16 +256,16 @@ void FixNVESpin::initial_integrate(int vflag) int my_rank; MPI_Comm_rank(world, &my_rank); if (my_rank == 0) { - for (int j = 0; j < nsectors; j++) { - for (int i = 0; i < nlocal; i++) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - fprintf(file_sect,"%d %lf %lf %lf %lf %lf %lf\n",j,xi[0],xi[1],xi[2],0.0,0.0,1.0); - } - } + for (int j = 0; j < nsectors; j++) { + for (int i = 0; i < nlocal; i++) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + fprintf(file_sect,"%d %lf %lf %lf %lf %lf %lf\n",j,xi[0],xi[1],xi[2],0.0,0.0,1.0); + } + } } #endif @@ -446,7 +453,7 @@ int FixNVESpin::coords2sector(double *xi) seci[2] = (int)riz; if (nsectors == 1) { - nseci == 0; + nseci = 0; } else if (nsectors == 2) { nseci = seci[0] + seci[1] + seci[2]; } else if (nsectors == 4) { diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index d621598a9d..d77ea4e37a 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -36,7 +36,7 @@ class FixNVESpin : public FixNVE { void ComputeSpinInteractions(); void ComputeSpinInteractionsNeigh(int); -//#define SECTORING +#define SECTORING #if defined SECTORING void sectoring(); int coords2sector(double *); diff --git a/src/atom_vec_spin.cpp b/src/atom_vec_spin.cpp deleted file mode 100644 index 61ead88129..0000000000 --- a/src/atom_vec_spin.cpp +++ /dev/null @@ -1,950 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include -#include -#include -#include "atom_vec_spin.h" -#include "atom.h" -#include "comm.h" -#include "domain.h" -#include "modify.h" -#include "fix.h" -#include "memory.h" -#include "error.h" - -using namespace LAMMPS_NS; - -/* ---------------------------------------------------------------------- */ - -AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) -{ - molecular = 0; - mass_type = 1; //check why - - comm_x_only = 0; - comm_f_only = 1; - - size_forward = 7; - size_reverse = 6; - size_border = 11; - size_velocity = 3; - size_data_atom = 9; //to check later - size_data_vel = 4; - xcol_data = 4; - - forceclearflag = 1; - atom->mumag_flag = atom->sp_flag = 1; - -} - - -/* ---------------------------------------------------------------------- - grow atom arrays - n = 0 grows arrays by a chunk - n > 0 allocates arrays to size n -------------------------------------------------------------------------- */ - -void AtomVecSpin::grow(int n) -{ - if (n == 0) grow_nmax(); - else nmax = n; - atom->nmax = nmax; - if (nmax < 0 || nmax > MAXSMALLINT) - error->one(FLERR,"Per-processor system is too big"); - - tag = memory->grow(atom->tag,nmax,"atom:tag"); - type = memory->grow(atom->type,nmax,"atom:type"); - mask = memory->grow(atom->mask,nmax,"atom:mask"); - image = memory->grow(atom->image,nmax,"atom:image"); - x = memory->grow(atom->x,nmax,3,"atom:x"); - v = memory->grow(atom->v,nmax,3,"atom:v"); - f = memory->grow(atom->f,nmax*comm->nthreads,3,"atom:f"); - //Allocating mag. quantities - mumag = memory->grow(atom->mumag,nmax,"atom:mumag"); - sp = memory->grow(atom->sp,nmax,4,"atom:sp"); - fm = memory->grow(atom->fm,nmax*comm->nthreads,3,"atom:fm"); - - if (atom->nextra_grow) - for (int iextra = 0; iextra < atom->nextra_grow; iextra++) - modify->fix[atom->extra_grow[iextra]]->grow_arrays(nmax); -} - -/* ---------------------------------------------------------------------- - reset local array ptrs -------------------------------------------------------------------------- */ - -void AtomVecSpin::grow_reset() -{ - tag = atom->tag; type = atom->type; - mask = atom->mask; image = atom->image; - x = atom->x; v = atom->v; f = atom->f; - mumag = atom->mumag; sp = atom->sp; fm = atom->fm; -} - - -/* ---------------------------------------------------------------------- - copy atom I info to atom J -------------------------------------------------------------------------- */ - -void AtomVecSpin::copy(int i, int j, int delflag) -{ - tag[j] = tag[i]; - type[j] = type[i]; - mask[j] = mask[i]; - image[j] = image[i]; - x[j][0] = x[i][0]; - x[j][1] = x[i][1]; - x[j][2] = x[i][2]; - v[j][0] = v[i][0]; - v[j][1] = v[i][1]; - v[j][2] = v[i][2]; - - mumag[j] = mumag[i]; - sp[j][0] = sp[i][0]; - sp[j][1] = sp[i][1]; - sp[j][2] = sp[i][2]; - sp[j][3] = sp[i][3]; - - if (atom->nextra_grow) - for (int iextra = 0; iextra < atom->nextra_grow; iextra++) - modify->fix[atom->extra_grow[iextra]]->copy_arrays(i,j,delflag); -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecSpin::pack_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) -{ - int i,j,m; - double dx,dy,dz; - - m = 0; - if (pbc_flag == 0) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0]; - buf[m++] = x[j][1]; - buf[m++] = x[j][2]; - buf[m++] = sp[j][0]; - buf[m++] = sp[j][1]; - buf[m++] = sp[j][2]; - buf[m++] = sp[j][3]; - } - } else { - if (domain->triclinic == 0) { - dx = pbc[0]*domain->xprd; - dy = pbc[1]*domain->yprd; - dz = pbc[2]*domain->zprd; - } else { - dx = pbc[0]*domain->xprd + pbc[5]*domain->xy + pbc[4]*domain->xz; - dy = pbc[1]*domain->yprd + pbc[3]*domain->yz; - dz = pbc[2]*domain->zprd; - } - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0] + dx; - buf[m++] = x[j][1] + dy; - buf[m++] = x[j][2] + dz; - buf[m++] = sp[j][0]; - buf[m++] = sp[j][1]; - buf[m++] = sp[j][2]; - buf[m++] = sp[j][3]; - } - } - return m; -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecSpin::pack_comm_vel(int n, int *list, double *buf, - int pbc_flag, int *pbc) -{ - int i,j,m; - double dx,dy,dz,dvx,dvy,dvz; - - m = 0; - if (pbc_flag == 0) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0]; - buf[m++] = x[j][1]; - buf[m++] = x[j][2]; - buf[m++] = sp[j][0]; - buf[m++] = sp[j][1]; - buf[m++] = sp[j][2]; - buf[m++] = sp[j][3]; - buf[m++] = v[j][0]; - buf[m++] = v[j][1]; - buf[m++] = v[j][2]; - } - } else { - if (domain->triclinic == 0) { - dx = pbc[0]*domain->xprd; - dy = pbc[1]*domain->yprd; - dz = pbc[2]*domain->zprd; - } else { - dx = pbc[0]*domain->xprd + pbc[5]*domain->xy + pbc[4]*domain->xz; - dy = pbc[1]*domain->yprd + pbc[3]*domain->yz; - dz = pbc[2]*domain->zprd; - } - if (!deform_vremap) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0] + dx; - buf[m++] = x[j][1] + dy; - buf[m++] = x[j][2] + dz; - buf[m++] = sp[j][0]; - buf[m++] = sp[j][1]; - buf[m++] = sp[j][2]; - buf[m++] = sp[j][3]; - buf[m++] = v[j][0]; - buf[m++] = v[j][1]; - buf[m++] = v[j][2]; - } - } else { - dvx = pbc[0]*h_rate[0] + pbc[5]*h_rate[5] + pbc[4]*h_rate[4]; - dvy = pbc[1]*h_rate[1] + pbc[3]*h_rate[3]; - dvz = pbc[2]*h_rate[2]; - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0] + dx; - buf[m++] = x[j][1] + dy; - buf[m++] = x[j][2] + dz; - buf[m++] = sp[j][0]; - buf[m++] = sp[j][1]; - buf[m++] = sp[j][2]; - buf[m++] = sp[j][3]; - if (mask[i] & deform_groupbit) { - buf[m++] = v[j][0] + dvx; - buf[m++] = v[j][1] + dvy; - buf[m++] = v[j][2] + dvz; - } else { - buf[m++] = v[j][0]; - buf[m++] = v[j][1]; - buf[m++] = v[j][2]; - } - } - } - } - return m; -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecSpin::pack_comm_hybrid(int n, int *list, double *buf) -{ - int i,j,m; - - m = 0; - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = sp[j][0]; - buf[m++] = sp[j][1]; - buf[m++] = sp[j][2]; - buf[m++] = sp[j][3]; - } - return m; -} - -/* ---------------------------------------------------------------------- */ - -void AtomVecSpin::unpack_comm(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - for (i = first; i < last; i++) { - x[i][0] = buf[m++]; - x[i][1] = buf[m++]; - x[i][2] = buf[m++]; - sp[i][0] = buf[m++]; - sp[i][1] = buf[m++]; - sp[i][2] = buf[m++]; - sp[i][3] = buf[m++]; - } -} - -/* ---------------------------------------------------------------------- */ - -void AtomVecSpin::unpack_comm_vel(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - for (i = first; i < last; i++) { - x[i][0] = buf[m++]; - x[i][1] = buf[m++]; - x[i][2] = buf[m++]; - sp[i][0] = buf[m++]; - sp[i][1] = buf[m++]; - sp[i][2] = buf[m++]; - sp[i][3] = buf[m++]; - v[i][0] = buf[m++]; - v[i][1] = buf[m++]; - v[i][2] = buf[m++]; - } -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecSpin::unpack_comm_hybrid(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - for (i = first; i < last; i++) { - sp[i][0] = buf[m++]; - sp[i][1] = buf[m++]; - sp[i][2] = buf[m++]; - sp[i][3] = buf[m++]; - } - return m; -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecSpin::pack_reverse(int n, int first, double *buf) -{ - int i,m,last; - m = 0; - last = first + n; - for (i = first; i < last; i++) { - buf[m++] = f[i][0]; - buf[m++] = f[i][1]; - buf[m++] = f[i][2]; - buf[m++] = fm[i][0]; - buf[m++] = fm[i][1]; - buf[m++] = fm[i][2]; - } - return m; -} - -/* ---------------------------------------------------------------------- */ - -void AtomVecSpin::unpack_reverse(int n, int *list, double *buf) -{ - int i,j,m; - m = 0; - for (i = 0; i < n; i++) { - j = list[i]; - f[j][0] += buf[m++]; - f[j][1] += buf[m++]; - f[j][2] += buf[m++]; - fm[j][0] += buf[m++]; - fm[j][1] += buf[m++]; - fm[j][2] += buf[m++]; - } -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecSpin::pack_border(int n, int *list, double *buf, - int pbc_flag, int *pbc) -{ - int i,j,m; - double dx,dy,dz; - - m = 0; - if (pbc_flag == 0) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0]; - buf[m++] = x[j][1]; - buf[m++] = x[j][2]; - buf[m++] = ubuf(tag[j]).d; - buf[m++] = ubuf(type[j]).d; - buf[m++] = ubuf(mask[j]).d; - buf[m++] = mumag[j]; - buf[m++] = sp[j][0]; - buf[m++] = sp[j][1]; - buf[m++] = sp[j][2]; - buf[m++] = sp[j][3]; - } - } else { - if (domain->triclinic == 0) { - dx = pbc[0]*domain->xprd; - dy = pbc[1]*domain->yprd; - dz = pbc[2]*domain->zprd; - } else { - dx = pbc[0]; - dy = pbc[1]; - dz = pbc[2]; - } - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0] + dx; - buf[m++] = x[j][1] + dy; - buf[m++] = x[j][2] + dz; - buf[m++] = ubuf(tag[j]).d; - buf[m++] = ubuf(type[j]).d; - buf[m++] = ubuf(mask[j]).d; - buf[m++] = mumag[j]; - buf[m++] = sp[j][0]; - buf[m++] = sp[j][1]; - buf[m++] = sp[j][2]; - buf[m++] = sp[j][3]; - } - } - - if (atom->nextra_border) - for (int iextra = 0; iextra < atom->nextra_border; iextra++) - m += modify->fix[atom->extra_border[iextra]]->pack_border(n,list,&buf[m]); - - return m; -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecSpin::pack_border_vel(int n, int *list, double *buf, - int pbc_flag, int *pbc) -{ - int i,j,m; - double dx,dy,dz,dvx,dvy,dvz; - - m = 0; - if (pbc_flag == 0) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0]; - buf[m++] = x[j][1]; - buf[m++] = x[j][2]; - buf[m++] = ubuf(tag[j]).d; - buf[m++] = ubuf(type[j]).d; - buf[m++] = ubuf(mask[j]).d; - buf[m++] = mumag[j]; - buf[m++] = sp[j][0]; - buf[m++] = sp[j][1]; - buf[m++] = sp[j][2]; - buf[m++] = sp[j][3]; - buf[m++] = v[j][0]; - buf[m++] = v[j][1]; - buf[m++] = v[j][2]; - } - } else { - if (domain->triclinic == 0) { - dx = pbc[0]*domain->xprd; - dy = pbc[1]*domain->yprd; - dz = pbc[2]*domain->zprd; - } else { - dx = pbc[0]; - dy = pbc[1]; - dz = pbc[2]; - } - if (!deform_vremap) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0] + dx; - buf[m++] = x[j][1] + dy; - buf[m++] = x[j][2] + dz; - buf[m++] = ubuf(tag[j]).d; - buf[m++] = ubuf(type[j]).d; - buf[m++] = ubuf(mask[j]).d; - buf[m++] = mumag[j]; - buf[m++] = sp[j][0]; - buf[m++] = sp[j][1]; - buf[m++] = sp[j][2]; - buf[m++] = sp[j][3]; - buf[m++] = v[j][0]; - buf[m++] = v[j][1]; - buf[m++] = v[j][2]; - } - } else { - dvx = pbc[0]*h_rate[0] + pbc[5]*h_rate[5] + pbc[4]*h_rate[4]; - dvy = pbc[1]*h_rate[1] + pbc[3]*h_rate[3]; - dvz = pbc[2]*h_rate[2]; - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = x[j][0] + dx; - buf[m++] = x[j][1] + dy; - buf[m++] = x[j][2] + dz; - buf[m++] = ubuf(tag[j]).d; - buf[m++] = ubuf(type[j]).d; - buf[m++] = ubuf(mask[j]).d; - buf[m++] = mumag[j]; - buf[m++] = sp[j][0]; - buf[m++] = sp[j][1]; - buf[m++] = sp[j][2]; - buf[m++] = sp[j][3]; - if (mask[i] & deform_groupbit) { - buf[m++] = v[j][0] + dvx; - buf[m++] = v[j][1] + dvy; - buf[m++] = v[j][2] + dvz; - } else { - buf[m++] = v[j][0]; - buf[m++] = v[j][1]; - buf[m++] = v[j][2]; - } - } - } - } - - if (atom->nextra_border) - for (int iextra = 0; iextra < atom->nextra_border; iextra++) - m += modify->fix[atom->extra_border[iextra]]->pack_border(n,list,&buf[m]); - - return m; -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecSpin::pack_border_hybrid(int n, int *list, double *buf) -{ - int i,j,m; - - m = 0; - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = mumag[j]; - buf[m++] = sp[j][0]; - buf[m++] = sp[j][1]; - buf[m++] = sp[j][2]; - buf[m++] = sp[j][3]; - } - - return m; -} - -/* ---------------------------------------------------------------------- */ - -void AtomVecSpin::unpack_border(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - for (i = first; i < last; i++) { - if (i == nmax) grow(0); - x[i][0] = buf[m++]; - x[i][1] = buf[m++]; - x[i][2] = buf[m++]; - tag[i] = (tagint) ubuf(buf[m++]).i; - type[i] = (int) ubuf(buf[m++]).i; - mask[i] = (int) ubuf(buf[m++]).i; - mumag[i] = buf[m++]; - sp[i][0] = buf[m++]; - sp[i][1] = buf[m++]; - sp[i][2] = buf[m++]; - sp[i][3] = buf[m++]; - } - - if (atom->nextra_border) - for (int iextra = 0; iextra < atom->nextra_border; iextra++) - m += modify->fix[atom->extra_border[iextra]]-> - unpack_border(n,first,&buf[m]); - -} - -/* ---------------------------------------------------------------------- */ - -void AtomVecSpin::unpack_border_vel(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - for (i = first; i < last; i++) { - if (i == nmax) grow(0); - x[i][0] = buf[m++]; - x[i][1] = buf[m++]; - x[i][2] = buf[m++]; - tag[i] = (tagint) ubuf(buf[m++]).i; - type[i] = (int) ubuf(buf[m++]).i; - mask[i] = (int) ubuf(buf[m++]).i; - mumag[i] = buf[m++]; - sp[i][0] = buf[m++]; - sp[i][1] = buf[m++]; - sp[i][2] = buf[m++]; - sp[i][3] = buf[m++]; - v[i][0] = buf[m++]; - v[i][1] = buf[m++]; - v[i][2] = buf[m++]; - } - - if (atom->nextra_border) - for (int iextra = 0; iextra < atom->nextra_border; iextra++) - m += modify->fix[atom->extra_border[iextra]]-> - unpack_border(n,first,&buf[m]); - -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecSpin::unpack_border_hybrid(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - for (i = first; i < last; i++) { - mumag[i] = buf[m++]; - sp[i][0] = buf[m++]; - sp[i][1] = buf[m++]; - sp[i][2] = buf[m++]; - sp[i][3] = buf[m++]; - } - - return m; -} - -/* ---------------------------------------------------------------------- - pack all atom quantities for shipping to another proc - xyz must be 1st 3 values, so that comm::exchange can test on them -------------------------------------------------------------------------- */ - -int AtomVecSpin::pack_exchange(int i, double *buf) -{ - int m = 1; - buf[m++] = x[i][0]; - buf[m++] = x[i][1]; - buf[m++] = x[i][2]; - buf[m++] = v[i][0]; - buf[m++] = v[i][1]; - buf[m++] = v[i][2]; - buf[m++] = ubuf(tag[i]).d; - buf[m++] = ubuf(type[i]).d; - buf[m++] = ubuf(mask[i]).d; - buf[m++] = ubuf(image[i]).d; - - buf[m++] = mumag[i]; - buf[m++] = sp[i][0]; - buf[m++] = sp[i][1]; - buf[m++] = sp[i][2]; - buf[m++] = sp[i][3]; - - if (atom->nextra_grow) - for (int iextra = 0; iextra < atom->nextra_grow; iextra++) - m += modify->fix[atom->extra_grow[iextra]]->pack_exchange(i,&buf[m]); - - buf[0] = m; - return m; -} - -/* ---------------------------------------------------------------------- */ - -int AtomVecSpin::unpack_exchange(double *buf) -{ - int nlocal = atom->nlocal; - if (nlocal == nmax) grow(0); - - int m = 1; - x[nlocal][0] = buf[m++]; - x[nlocal][1] = buf[m++]; - x[nlocal][2] = buf[m++]; - v[nlocal][0] = buf[m++]; - v[nlocal][1] = buf[m++]; - v[nlocal][2] = buf[m++]; - tag[nlocal] = (tagint) ubuf(buf[m++]).i; - type[nlocal] = (int) ubuf(buf[m++]).i; - mask[nlocal] = (int) ubuf(buf[m++]).i; - image[nlocal] = (imageint) ubuf(buf[m++]).i; - - mumag[nlocal] = buf[m++]; - sp[nlocal][0] = buf[m++]; - sp[nlocal][1] = buf[m++]; - sp[nlocal][2] = buf[m++]; - sp[nlocal][3] = buf[m++]; - - if (atom->nextra_grow) - for (int iextra = 0; iextra < atom->nextra_grow; iextra++) - m += modify->fix[atom->extra_grow[iextra]]-> - unpack_exchange(nlocal,&buf[m]); - - atom->nlocal++; - - return m; -} - -/* ---------------------------------------------------------------------- - size of restart data for all atoms owned by this proc - include extra data stored by fixes -------------------------------------------------------------------------- */ - -int AtomVecSpin::size_restart() -{ - int i; - - int nlocal = atom->nlocal; - int n = 16 * nlocal; - - if (atom->nextra_restart) - for (int iextra = 0; iextra < atom->nextra_restart; iextra++) - for (i = 0; i < nlocal; i++) - n += modify->fix[atom->extra_restart[iextra]]->size_restart(i); - - return n; -} - -/* ---------------------------------------------------------------------- - pack atom I's data for restart file including extra quantities - xyz must be 1st 3 values, so that read_restart can test on them - molecular types may be negative, but write as positive -------------------------------------------------------------------------- */ - -int AtomVecSpin::pack_restart(int i, double *buf) -{ - int m = 1; - - buf[m++] = x[i][0]; - buf[m++] = x[i][1]; - buf[m++] = x[i][2]; - buf[m++] = ubuf(tag[i]).d; - buf[m++] = ubuf(type[i]).d; - buf[m++] = ubuf(mask[i]).d; - buf[m++] = ubuf(image[i]).d; - buf[m++] = v[i][0]; - buf[m++] = v[i][1]; - buf[m++] = v[i][2]; - - buf[m++] = mumag[i]; - buf[m++] = sp[i][0]; - buf[m++] = sp[i][1]; - buf[m++] = sp[i][2]; - buf[m++] = sp[i][3]; - - if (atom->nextra_restart) - for (int iextra = 0; iextra < atom->nextra_restart; iextra++) - m += modify->fix[atom->extra_restart[iextra]]->pack_restart(i,&buf[m]); - - buf[0] = m; - return m; -} - -/* ---------------------------------------------------------------------- - unpack data for one atom from restart file including extra quantities -------------------------------------------------------------------------- */ - -int AtomVecSpin::unpack_restart(double *buf) -{ - int nlocal = atom->nlocal; - if (nlocal == nmax) { - grow(0); - if (atom->nextra_store) - memory->grow(atom->extra,nmax,atom->nextra_store,"atom:extra"); - } - - int m = 1; - x[nlocal][0] = buf[m++]; - x[nlocal][1] = buf[m++]; - x[nlocal][2] = buf[m++]; - tag[nlocal] = (tagint) ubuf(buf[m++]).i; - type[nlocal] = (int) ubuf(buf[m++]).i; - mask[nlocal] = (int) ubuf(buf[m++]).i; - image[nlocal] = (imageint) ubuf(buf[m++]).i; - v[nlocal][0] = buf[m++]; - v[nlocal][1] = buf[m++]; - v[nlocal][2] = buf[m++]; - - mumag[nlocal] = buf[m++]; - sp[nlocal][0] = buf[m++]; - sp[nlocal][1] = buf[m++]; - sp[nlocal][2] = buf[m++]; - sp[nlocal][3] = buf[m++]; - - double **extra = atom->extra; - if (atom->nextra_store) { - int size = static_cast (buf[0]) - m; - for (int i = 0; i < size; i++) extra[nlocal][i] = buf[m++]; - } - - atom->nlocal++; - return m; -} - -/* ---------------------------------------------------------------------- - create one atom of itype at coord - set other values to defaults -------------------------------------------------------------------------- */ - -void AtomVecSpin::create_atom(int itype, double *coord) -{ - - int nlocal = atom->nlocal; - if (nlocal == nmax) grow(0); - - tag[nlocal] = 0; - type[nlocal] = itype; - x[nlocal][0] = coord[0]; - x[nlocal][1] = coord[1]; - x[nlocal][2] = coord[2]; - mask[nlocal] = 1; - image[nlocal] = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX; - v[nlocal][0] = 0.0; - v[nlocal][1] = 0.0; - v[nlocal][2] = 0.0; - - mumag[nlocal] = 0.0; - sp[nlocal][0] = 0.0; - sp[nlocal][1] = 0.0; - sp[nlocal][2] = 0.0; - sp[nlocal][3] = 0.0; - - atom->nlocal++; -} - -/* ---------------------------------------------------------------------- - unpack one line from Atoms section of data file - initialize other atom quantities -------------------------------------------------------------------------- */ - -void AtomVecSpin::data_atom(double *coord, imageint imagetmp, char **values) -{ - int nlocal = atom->nlocal; - if (nlocal == nmax) grow(0); - - tag[nlocal] = ATOTAGINT(values[0]); - type[nlocal] = atoi(values[1]); - if (type[nlocal] <= 0 || type[nlocal] > atom->ntypes) - error->one(FLERR,"Invalid atom type in Atoms section of data file"); - - mumag[nlocal] = atof(values[2]); - - x[nlocal][0] = coord[0]; - x[nlocal][1] = coord[1]; - x[nlocal][2] = coord[2]; - - sp[nlocal][0] = atof(values[6]); - sp[nlocal][1] = atof(values[7]); - sp[nlocal][2] = atof(values[8]); - sp[nlocal][3] = sqrt(sp[nlocal][0]*sp[nlocal][0] + - sp[nlocal][1]*sp[nlocal][1] + - sp[nlocal][2]*sp[nlocal][2]); - - image[nlocal] = imagetmp; - - mask[nlocal] = 1; - v[nlocal][0] = 0.0; - v[nlocal][1] = 0.0; - v[nlocal][2] = 0.0; - - atom->nlocal++; -} - -/* ---------------------------------------------------------------------- - unpack hybrid quantities from one line in Atoms section of data file - initialize other atom quantities for this sub-style -------------------------------------------------------------------------- */ - -int AtomVecSpin::data_atom_hybrid(int nlocal, char **values) -{ - mumag[nlocal] = atof(values[0]); - sp[nlocal][0] = atof(values[1]); - sp[nlocal][1] = atof(values[2]); - sp[nlocal][2] = atof(values[3]); - sp[nlocal][3] = sqrt(sp[nlocal][0]*sp[nlocal][0] + - sp[nlocal][1]*sp[nlocal][1] + - sp[nlocal][2]*sp[nlocal][2]); - - return 4; -} - -/* ---------------------------------------------------------------------- - pack atom info for data file including 3 image flags -------------------------------------------------------------------------- */ - -void AtomVecSpin::pack_data(double **buf) -{ - int nlocal = atom->nlocal; - for (int i = 0; i < nlocal; i++) { - buf[i][0] = ubuf(tag[i]).d; - buf[i][1] = ubuf(type[i]).d; - buf[i][2] = mumag[i]; - buf[i][3] = x[i][0]; - buf[i][4] = x[i][1]; - buf[i][5] = x[i][2]; - buf[i][6] = sp[i][0]; - buf[i][7] = sp[i][1]; - buf[i][8] = sp[i][2]; - buf[i][9] = sp[i][3]; - buf[i][10] = ubuf((image[i] & IMGMASK) - IMGMAX).d; - buf[i][11] = ubuf((image[i] >> IMGBITS & IMGMASK) - IMGMAX).d; - buf[i][12] = ubuf((image[i] >> IMG2BITS) - IMGMAX).d; - } -} - -/* ---------------------------------------------------------------------- - pack hybrid atom info for data file -------------------------------------------------------------------------- */ - -int AtomVecSpin::pack_data_hybrid(int i, double *buf) -{ - buf[0] = mumag[i]; - buf[1] = sp[i][0]; - buf[2] = sp[i][1]; - buf[3] = sp[i][2]; - buf[4] = sp[i][3]; - - return 5; -} - -/* ---------------------------------------------------------------------- - write atom info to data file including 3 image flags -------------------------------------------------------------------------- */ - -void AtomVecSpin::write_data(FILE *fp, int n, double **buf) -{ - for (int i = 0; i < n; i++) - fprintf(fp,TAGINT_FORMAT \ - " %d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e " - "%-1.16e %d %d %d\n", - (tagint) ubuf(buf[i][0]).i,(int) ubuf(buf[i][1]).i, - buf[i][2],buf[i][3],buf[i][4], - buf[i][5],buf[i][6],buf[i][7],buf[i][8],buf[i][9], - (int) ubuf(buf[i][10]).i,(int) ubuf(buf[i][11]).i, - (int) ubuf(buf[i][12]).i); -} - -/* ---------------------------------------------------------------------- - write hybrid atom info to data file -------------------------------------------------------------------------- */ - -int AtomVecSpin::write_data_hybrid(FILE *fp, double *buf) -{ - fprintf(fp," %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e",buf[0],buf[1],buf[2],buf[3],buf[4]); - return 4; -} - -/* ---------------------------------------------------------------------- - return # of bytes of allocated memory -------------------------------------------------------------------------- */ - -bigint AtomVecSpin::memory_usage() -{ - bigint bytes = 0; - - if (atom->memcheck("tag")) bytes += memory->usage(tag,nmax); - if (atom->memcheck("type")) bytes += memory->usage(type,nmax); - if (atom->memcheck("mask")) bytes += memory->usage(mask,nmax); - if (atom->memcheck("image")) bytes += memory->usage(image,nmax); - if (atom->memcheck("x")) bytes += memory->usage(x,nmax,3); - if (atom->memcheck("v")) bytes += memory->usage(v,nmax,3); - if (atom->memcheck("f")) bytes += memory->usage(f,nmax*comm->nthreads,3); - - if (atom->memcheck("fm")) bytes += memory->usage(fm,nmax*comm->nthreads,3); - if (atom->memcheck("mumag")) bytes += memory->usage(mumag,nmax); - if (atom->memcheck("sp")) bytes += memory->usage(sp,nmax,4); - - return bytes; -} - -void AtomVecSpin::force_clear(int n, size_t nbytes) -{ - memset(&atom->f[0][0],0,3*nbytes); - memset(&atom->fm[0][0],0,3*nbytes); -} - - diff --git a/src/atom_vec_spin.h b/src/atom_vec_spin.h deleted file mode 100644 index f4b13926f0..0000000000 --- a/src/atom_vec_spin.h +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef ATOM_CLASS - -AtomStyle(spin,AtomVecSpin) - -#else - -#ifndef LMP_ATOM_VEC_SPIN_H -#define LMP_ATOM_VEC_SPIN_H - -#include "atom_vec.h" - -namespace LAMMPS_NS { - -class AtomVecSpin : public AtomVec { - public: - AtomVecSpin(class LAMMPS *); - void grow(int); - void grow_reset(); - void copy(int, int, int); - int pack_comm(int, int *, double *, int, int *); - int pack_comm_vel(int, int *, double *, int, int *); - int pack_comm_hybrid(int, int *, double *); - void unpack_comm(int, int, double *); - void unpack_comm_vel(int, int, double *); - int unpack_comm_hybrid(int, int, double *); - int pack_reverse(int, int, double *); - void unpack_reverse(int, int *, double *); - int pack_border(int, int *, double *, int, int *); - int pack_border_vel(int, int *, double *, int, int *); - int pack_border_hybrid(int, int *, double *); - void unpack_border(int, int, double *); - void unpack_border_vel(int, int, double *); - int unpack_border_hybrid(int, int, double *); - int pack_exchange(int, double *); - int unpack_exchange(double *); - int size_restart(); - int pack_restart(int, double *); - int unpack_restart(double *); - void create_atom(int, double *); - void data_atom(double *, imageint, char **); - int data_atom_hybrid(int, char **); - void pack_data(double **); - int pack_data_hybrid(int, double *); - void write_data(FILE *, int, double **); - int write_data_hybrid(FILE *, double *); - bigint memory_usage(); - - //Test force clear - void force_clear(int, size_t); - - - private: - tagint *tag; - int *type,*mask; - imageint *image; - double **x,**v,**f; //MD quantities: position, velocity and force - double *mumag,**sp, **fm; //Magnetic quantities: mu, spin direction, magnetic force - -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Per-processor system is too big - -The number of owned atoms plus ghost atoms on a single -processor must fit in 32-bit integer. - -E: Invalid atom type in Atoms section of data file - -Atom types must range from 1 to specified # of types. - -*/ diff --git a/src/compute_spin.cpp b/src/compute_spin.cpp deleted file mode 100644 index 9516bcde90..0000000000 --- a/src/compute_spin.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include -#include -#include "compute_spin.h" -#include "atom.h" -#include "update.h" -#include "modify.h" -#include "domain.h" -#include "memory.h" -#include "error.h" -#include "math_special.h" -#include "math_const.h" -#include "force.h" - -using namespace LAMMPS_NS; -using namespace MathSpecial; -using namespace MathConst; - -/* ---------------------------------------------------------------------- */ - -ComputeSpin::ComputeSpin(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), mag(NULL) -{ - if ((narg != 3) && (narg != 4)) error->all(FLERR,"Illegal compute compute/spin command"); - - vector_flag = 1; - size_vector = 7; - extvector = 0; - - init(); - - allocate(); - -} - -/* ---------------------------------------------------------------------- */ - -ComputeSpin::~ComputeSpin() -{ - memory->destroy(mag); -} - -/* ---------------------------------------------------------------------- */ - -void ComputeSpin::init() -{ - hbar = force->hplanck/MY_2PI; - kb = force->boltz; -} - -/* ---------------------------------------------------------------------- */ - -void ComputeSpin::compute_vector() -{ - int i, index; - - invoked_vector = update->ntimestep; - - countsp = countsptot = 0.0; - mag[0] = mag[1] = mag[2] = mag[3] = 0.0; - magtot[0] = magtot[1] = magtot[2] = magtot[3] = 0.0; - magenergy = magenergytot = 0.0; - tempnum = tempnumtot = 0.0; - tempdenom = tempdenomtot = 0.0; - spintemperature = 0.0; - - double **x = atom->x; - int *mask = atom->mask; - int *type = atom->type; - imageint *image = atom->image; - double *mumag = atom->mumag; - double **sp = atom->sp; - double **fm = atom->fm; - double tx,ty,tz; - - int nlocal = atom->nlocal; - - // compute total magnetization and magnetic energy - // compute spin temperature; See Nurdin et al., Phys. Rev. E 61, 2000 - for (i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - if (atom->mumag_flag && atom->sp_flag) { - mag[0] += sp[i][0]; - mag[1] += sp[i][1]; - mag[2] += sp[i][2]; - magenergy += mumag[i]*sp[i][0]*fm[i][0]; - magenergy += mumag[i]*sp[i][1]*fm[i][1]; - magenergy += mumag[i]*sp[i][2]*fm[i][2]; - tx = sp[i][1]*fm[i][2]-sp[i][2]*fm[i][1]; - ty = sp[i][2]*fm[i][0]-sp[i][0]*fm[i][2]; - tz = sp[i][0]*fm[i][1]-sp[i][1]*fm[i][0]; - tempnum += tx*tx+ty*ty+tz*tz; - tempdenom += sp[i][0]*sp[i][0]+sp[i][1]*sp[i][1]+sp[i][2]*sp[i][2]; - countsp++; - } - } - else error->all(FLERR,"Compute spin/compute declared magnetic quantities (sp and mumag flags)"); - } - - MPI_Allreduce(mag,magtot,4,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&magenergy,&magenergytot,1,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&tempnum,&tempnumtot,1,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&tempdenom,&tempdenomtot,1,MPI_DOUBLE,MPI_SUM,world); - MPI_Allreduce(&countsp,&countsptot,1,MPI_INT,MPI_SUM,world); - - double scale = 1.0/countsptot; - magtot[0] *= scale; - magtot[1] *= scale; - magtot[2] *= scale; - magtot[3] = sqrt(square(magtot[0])+square(magtot[1])+square(magtot[2])); - spintemperature = hbar*tempnumtot/2.0/kb/tempdenomtot; - - vector[0] = invoked_vector*update->dt; - vector[1] = magtot[0]; - vector[2] = magtot[1]; - vector[3] = magtot[2]; - vector[4] = magtot[3]; - vector[5] = -0.5*magenergytot*hbar; - vector[6] = spintemperature; - -} - -/* ---------------------------------------------------------------------- - free and reallocate arrays -------------------------------------------------------------------------- */ - -void ComputeSpin::allocate() -{ - memory->destroy(mag); - memory->create(mag,4,"compute/spin:mag"); - memory->create(magtot,5,"compute/spin:mag"); - memory->create(vector,7,"compute/spin:vector"); -} - diff --git a/src/compute_spin.h b/src/compute_spin.h deleted file mode 100644 index a20b956b01..0000000000 --- a/src/compute_spin.h +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef COMPUTE_CLASS - -ComputeStyle(compute/spin,ComputeSpin) - -#else - -#ifndef LMP_COMPUTE_SPIN_H -#define LMP_COMPUTE_SPIN_H - -#include "compute.h" - -namespace LAMMPS_NS { - -class ComputeSpin : public Compute { - public: - ComputeSpin(class LAMMPS *, int, char **); - ~ComputeSpin(); - void init(); - void compute_vector(); - - private: - double *mag; - double *magtot; - double magenergy; - double magenergytot; - double tempnum,tempnumtot; - double tempdenom,tempdenomtot; - double spintemperature; - double kb,hbar; - int countsp; - int countsptot; - int usecenter; - - void allocate(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Chunk/atom compute does not exist for compute compute/spin - -Self-explanatory. - -E: Compute compute/spin does not use chunk/atom compute - -The style of the specified compute is not chunk/atom. - -*/ diff --git a/src/fix_force_spin.cpp b/src/fix_force_spin.cpp deleted file mode 100644 index 44948f8ea3..0000000000 --- a/src/fix_force_spin.cpp +++ /dev/null @@ -1,255 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include -#include -#include -#include -#include "fix_force_spin.h" -#include "atom.h" -#include "update.h" -#include "domain.h" -#include "respa.h" -#include "modify.h" -#include "input.h" -#include "variable.h" -#include "math_const.h" -#include "error.h" -#include "force.h" -#include "memory.h" - -using namespace LAMMPS_NS; -using namespace FixConst; -using namespace MathConst; - -enum{ZEEMAN,ANISOTROPY}; -enum{CONSTANT,EQUAL}; - -/* ---------------------------------------------------------------------- */ - -FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) -{ - - if (narg < 7) error->all(FLERR,"Illegal fix spin command"); - // 7 arguments for a force/spin fix command: - //(fix ID group force/spin magnitude (T or eV) style (zeeman or anisotropy) direction (3 cartesian coordinates) - - //Magnetic interactions only coded for cartesian coordinates - - dynamic_group_allow = 1; - scalar_flag = 1; - global_freq = 1; - extscalar = 1; - respa_level_support = 1; - ilevel_respa = 0; - - magstr = NULL; - magfieldstyle = CONSTANT; - - H_field = 0.0; - Hx = Hy = Hz = 0.0; - Ka = 0.0; - Kax = Kay = Kaz = 0.0; - - zeeman_flag = aniso_flag = 0; - - if (strcmp(arg[3],"zeeman") == 0) { - if (narg != 8) error->all(FLERR,"Illegal fix zeeman command"); - style = ZEEMAN; - zeeman_flag = 1; - H_field = force->numeric(FLERR,arg[4]); - Hx = force->numeric(FLERR,arg[5]); - Hy = force->numeric(FLERR,arg[6]); - Hz = force->numeric(FLERR,arg[7]); - magfieldstyle = CONSTANT; - } else if (strcmp(arg[3],"anisotropy") == 0) { - if (narg != 8) error->all(FLERR,"Illegal fix anisotropy command"); - style = ANISOTROPY; - aniso_flag = 1; - Ka = force->numeric(FLERR,arg[4]); - Kax = force->numeric(FLERR,arg[5]); - Kay = force->numeric(FLERR,arg[6]); - Kaz = force->numeric(FLERR,arg[7]); - } else error->all(FLERR,"Illegal fix force/spin command"); - - degree2rad = MY_PI/180.0; - time_origin = update->ntimestep; - - eflag = 0; - emag = 0.0; -} - -/* ---------------------------------------------------------------------- */ - -FixForceSpin::~FixForceSpin() -{ - memory->destroy(spi); - memory->destroy(fmi); - delete [] magstr; -} - -/* ---------------------------------------------------------------------- */ - -int FixForceSpin::setmask() -{ - int mask = 0; - mask |= POST_FORCE; - mask |= THERMO_ENERGY; - mask |= POST_FORCE_RESPA; - return mask; -} - - -/* ---------------------------------------------------------------------- */ - -void FixForceSpin::init() -{ - const double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) - const double mub = 5.78901e-5; //in eV/T - const double gyro = mub/hbar; //in rad.THz/T - - H_field *= gyro; //in rad.THz - Ka /= hbar; //in rad.THz - - if (strstr(update->integrate_style,"respa")) { - ilevel_respa = ((Respa *) update->integrate)->nlevels-1; - if (respa_level >= 0) ilevel_respa = MIN(respa_level,ilevel_respa); - } - - // check variables - if (magstr) { - magvar = input->variable->find(magstr); - if (magvar < 0) - error->all(FLERR,"Variable name for fix magnetic field does not exist"); - if (!input->variable->equalstyle(magvar)) - error->all(FLERR,"Variable for fix magnetic field is invalid style"); - } - - varflag = CONSTANT; - if (magfieldstyle != CONSTANT) varflag = EQUAL; - - // set magnetic field components once and for all - if (varflag == CONSTANT) set_magneticforce(); - - memory->create(spi,3,"forcespin:spi"); - memory->create(fmi,3,"forcespin:fmi"); - -} - -/* ---------------------------------------------------------------------- */ - -void FixForceSpin::setup(int vflag) -{ - if (strstr(update->integrate_style,"verlet")) - post_force(vflag); - else { - ((Respa *) update->integrate)->copy_flevel_f(ilevel_respa); - post_force_respa(vflag,ilevel_respa,0); - ((Respa *) update->integrate)->copy_f_flevel(ilevel_respa); - } -} - -/* ---------------------------------------------------------------------- */ - -void FixForceSpin::post_force(int vflag) -{ - // update gravity due to variables - if (varflag != CONSTANT) { - modify->clearstep_compute(); - modify->addstep_compute(update->ntimestep + 1); - set_magneticforce(); //Update value of the mag. field if time-dependent - } - -// double **x = atom->x; - double **sp = atom->sp; - double *mumag = atom->mumag; - double **fm = atom->fm; - const int nlocal = atom->nlocal; - double scalar; - - eflag = 0; - emag = 0.0; - - for (int i = 0; i < nlocal; i++) { - fmi[0] = fmi[1] = fmi[2] = 0.0; - //if (style == ZEEMAN) { - if (zeeman_flag) { - compute_zeeman(i,fmi); - } - //if (style == ANISOTROPY) { - if (aniso_flag) { - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - compute_anisotropy(i,spi,fmi); - } - fm[i][0] += fmi[0]; - fm[i][1] += fmi[1]; - fm[i][2] += fmi[2]; - } -} - - -/* ---------------------------------------------------------------------- */ -void FixForceSpin::compute_zeeman(int i, double *fmi) -{ -double *mumag = atom->mumag; - fmi[0] += mumag[i]*xmag; - fmi[1] += mumag[i]*ymag; - fmi[2] += mumag[i]*zmag; -} - -void FixForceSpin::compute_anisotropy(int i, double * spi, double *fmi) -{ - double scalar = Kax*spi[0] + Kay*spi[1] + Kaz*spi[2]; - fmi[0] += scalar*xmag; - fmi[1] += scalar*ymag; - fmi[2] += scalar*zmag; -} - -/* ---------------------------------------------------------------------- */ - -void FixForceSpin::post_force_respa(int vflag, int ilevel, int iloop) -{ - if (ilevel == ilevel_respa) post_force(vflag); -} - -/* ---------------------------------------------------------------------- */ -//No acceleration for magnetic EOM, only a "magnetic force" -void FixForceSpin::set_magneticforce() -{ - if (style == ZEEMAN) { - xmag = H_field*Hx; - ymag = H_field*Hy; - zmag = H_field*Hz; - } - if (style == ANISOTROPY) { - xmag = 2.0*Ka*Kax; - ymag = 2.0*Ka*Kay; - zmag = 2.0*Ka*Kaz; - } -} - -/* ---------------------------------------------------------------------- - potential energy in magnetic field -------------------------------------------------------------------------- */ - -double FixForceSpin::compute_scalar() -{ - // only sum across procs one time - if (eflag == 0) { - MPI_Allreduce(&emag,&emag_all,1,MPI_DOUBLE,MPI_SUM,world); - eflag = 1; - } - return emag_all; -} diff --git a/src/fix_force_spin.h b/src/fix_force_spin.h deleted file mode 100644 index a422abad2c..0000000000 --- a/src/fix_force_spin.h +++ /dev/null @@ -1,92 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef FIX_CLASS - -FixStyle(force/spin,FixForceSpin) - -#else - -#ifndef LMP_FIX_FORCE_SPIN_H -#define LMP_FIX_FORCE_SPIN_H - -#include "fix.h" - -namespace LAMMPS_NS { - -class FixForceSpin : public Fix { - friend class FixPour; - - public: - FixForceSpin(class LAMMPS *, int, char **); - ~FixForceSpin(); - int setmask(); - void init(); - void setup(int); - virtual void post_force(int); - virtual void post_force_respa(int, int, int); - double compute_scalar(); - - int zeeman_flag, aniso_flag; - void compute_zeeman(int, double *); - void compute_anisotropy(int, double *, double *); - - protected: - int style; - - double xmag, ymag, zmag; //Magnetic force - double degree2rad; - int ilevel_respa; - int time_origin; - int eflag; - double emag, emag_all; - - int varflag; - int magfieldstyle; - int magvar; - char *magstr; - - double H_field; //Zeeman field intensity and direction - double Hx, Hy, Hz; - - double Ka; //Magnetic anisotropy intensity and direction - double Kax, Kay, Kaz; - - double *spi, *fmi; //Temp var. in compute - - void set_magneticforce(); - -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Variable name for fix force/spin does not exist - -Self-explanatory. - -E: Variable for fix force/spin is invalid style - -Only equal-style variables can be used. - -*/ diff --git a/src/fix_langevin_spin.cpp b/src/fix_langevin_spin.cpp deleted file mode 100644 index 8079000d59..0000000000 --- a/src/fix_langevin_spin.cpp +++ /dev/null @@ -1,240 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - Contributing authors: Carolyn Phillips (U Mich), reservoir energy tally - Aidan Thompson (SNL) GJF formulation -------------------------------------------------------------------------- */ - -#include -#include -#include -#include -#include "fix_langevin_spin.h" -#include "math_extra.h" -#include "atom.h" -#include "atom_vec_ellipsoid.h" -#include "force.h" -#include "update.h" -#include "modify.h" -#include "compute.h" -#include "domain.h" -#include "region.h" -#include "respa.h" -#include "comm.h" -#include "input.h" -#include "variable.h" -#include "random_mars.h" -#include "memory.h" -#include "error.h" -#include "group.h" -#include "math_const.h" -#include "random_park.h" - -using namespace LAMMPS_NS; -using namespace FixConst; -using namespace MathConst; - -/* ---------------------------------------------------------------------- */ - -FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), id_temp(NULL), random(NULL) -{ - if (narg != 7) error->all(FLERR,"Illegal fix langevin/spin command"); - - dynamic_group_allow = 1; - scalar_flag = 1; - global_freq = 1; - extscalar = 1; - nevery = 1; - - temp = force->numeric(FLERR,arg[3]); - alpha_t = force->numeric(FLERR,arg[4]); - alpha_l = force->numeric(FLERR,arg[5]); - seed = force->inumeric(FLERR,arg[6]); - - if (alpha_t < 0.0) { - error->all(FLERR,"Illegal fix/langevin/spin command"); - } else if (alpha_t == 0.0) { - tdamp_flag = 0; - } else { - tdamp_flag = 1; - } - - if (alpha_l < 0.0) { - error->all(FLERR,"Illegal fix/langevin/spin command"); - } else if (alpha_l == 0.0) { - ldamp_flag = 0; - } else { - ldamp_flag = 1; - } - - if (temp < 0.0) { - error->all(FLERR,"Illegal fix/langevin/spin command"); - } else if (temp == 0.0) { - temp_flag = 0; - } else { - temp_flag = 1; - } - - // initialize Marsaglia RNG with processor-unique seed - //random = new RanMars(lmp,seed + comm->me); - random = new RanPark(lmp,seed + comm->me); - -} - -/* ---------------------------------------------------------------------- */ - -FixLangevinSpin::~FixLangevinSpin() -{ - memory->destroy(spi); - memory->destroy(fmi); - delete random; -} - -/* ---------------------------------------------------------------------- */ - -int FixLangevinSpin::setmask() -{ - int mask = 0; - mask |= POST_FORCE; - mask |= POST_FORCE_RESPA; - mask |= END_OF_STEP; - mask |= THERMO_ENERGY; - return mask; -} - -/* ---------------------------------------------------------------------- */ - -void FixLangevinSpin::init() -{ - // warn if any fix comes after this one - int after = 0; - int flag_force = 0; - int flag_lang = 0; - for (int i = 0; i < modify->nfix; i++) { - if (strcmp("force/spin",modify->fix[i]->style)==0) flag_force = MAX(flag_force,i); - if (strcmp("langevin/spin",modify->fix[i]->style)==0) flag_lang = i; - } - if (flag_force >= flag_lang) error->all(FLERR,"Fix langevin/spin should come after all other spin fixes"); - - memory->create(spi,3,"pair:spi"); - memory->create(fmi,3,"pair:fmi"); - - dts = update->dt; - Gil_factor = 1.0/(1.0+(alpha_t)*(alpha_t)); - - double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) - double kb = force->boltz; - D = (MY_2PI*Gil_factor*kb*temp)/hbar/dts; - sigma = sqrt(D); -} - -/* ---------------------------------------------------------------------- */ - -void FixLangevinSpin::setup(int vflag) -{ - if (strstr(update->integrate_style,"verlet")) - post_force(vflag); - else { - ((Respa *) update->integrate)->copy_flevel_f(nlevels_respa-1); - post_force_respa(vflag,nlevels_respa-1,0); - ((Respa *) update->integrate)->copy_f_flevel(nlevels_respa-1); - } -} - -/* ---------------------------------------------------------------------- */ - -void FixLangevinSpin::post_force(int vflag) -{ - double **sp = atom->sp; - double **fm = atom->fm; - int *mask = atom->mask; - const int nlocal = atom->nlocal; - - double sx, sy, sz; - double fmx, fmy, fmz; - double cpx, cpy, cpz; - double rx, ry, rz; - - // add the damping to the effective field of each spin - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - fmi[0] = fm[i][0]; - fmi[1] = fm[i][1]; - fmi[2] = fm[i][2]; - - if (tdamp_flag) { - add_tdamping(spi,fmi); - } - - if (temp_flag) { - add_temperature(fmi); - } - - fm[i][0] = fmi[0]; - fm[i][1] = fmi[1]; - fm[i][2] = fmi[2]; - } - } - -} - -/* ---------------------------------------------------------------------- */ -void FixLangevinSpin::add_tdamping(double *spi, double *fmi) -{ - double cpx = fmi[1]*spi[2] - fmi[2]*spi[1]; - double cpy = fmi[2]*spi[0] - fmi[0]*spi[2]; - double cpz = fmi[0]*spi[1] - fmi[1]*spi[0]; - - fmi[0] -= alpha_t*cpx;//Taking the damping value away - fmi[1] -= alpha_t*cpy; - fmi[2] -= alpha_t*cpz; -} - -/* ---------------------------------------------------------------------- */ -void FixLangevinSpin::add_temperature(double *fmi) -{ -//#define GAUSSIAN_R -#if defined GAUSSIAN_R - double rx = sigma*random->gaussian();//Drawing random dist - double ry = sigma*random->gaussian(); - double rz = sigma*random->gaussian(); -#else - double rx = sigma*(random->uniform() - 0.5); - double ry = sigma*(random->uniform() - 0.5); - double rz = sigma*(random->uniform() - 0.5); -#endif - - fmi[0] += rx;//Adding random field - fmi[1] += ry; - fmi[2] += rz; - - fmi[0] *= Gil_factor;//Multiplying by Gilbert's prefactor - fmi[1] *= Gil_factor; - fmi[2] *= Gil_factor; - -} - - -/* ---------------------------------------------------------------------- */ - -void FixLangevinSpin::post_force_respa(int vflag, int ilevel, int iloop) -{ - if (ilevel == nlevels_respa-1) post_force(vflag); -} - diff --git a/src/fix_langevin_spin.h b/src/fix_langevin_spin.h deleted file mode 100644 index a6b9bc5df3..0000000000 --- a/src/fix_langevin_spin.h +++ /dev/null @@ -1,108 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef FIX_CLASS - -FixStyle(langevin/spin,FixLangevinSpin) - -#else - -#ifndef LMP_FIX_LANGEVIN_SPIN_H -#define LMP_FIX_LANGEVIN_SPIN_H - -#include "fix.h" - -namespace LAMMPS_NS { - -class FixLangevinSpin : public Fix { - public: - FixLangevinSpin(class LAMMPS *, int, char **); - virtual ~FixLangevinSpin(); - int setmask(); - void init(); - void setup(int); - virtual void post_force(int); - void post_force_respa(int, int, int); - void add_tdamping(double *, double *); - void add_temperature(double *); - int tdamp_flag, ldamp_flag, temp_flag; - - protected: - double *spi, *fmi; - double alpha_t, alpha_l; //Transverse and long. damping value - double dts,temp,D,sigma;//timestep, temp, noise - double Gil_factor;//Gilbert's prefactor - - char *id_temp; - class Compute *temperature; - - int nlevels_respa; - //class RanMars *random; - class RanPark *random; - int seed; - -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Fix langevin period must be > 0.0 - -The time window for temperature relaxation must be > 0 - -W: Energy tally does not account for 'zero yes' - -The energy removed by using the 'zero yes' flag is not accounted -for in the energy tally and thus energy conservation cannot be -monitored in this case. - - -E: Variable for fix langevin is invalid style - -It must be an equal-style variable. - - -E: Cannot zero Langevin force of 0 atoms - -The group has zero atoms, so you cannot request its force -be zeroed. - -E: Fix langevin variable returned negative temperature - -Self-explanatory. - -E: Could not find fix_modify temperature ID - -The compute ID for computing temperature does not exist. - -E: Fix_modify temperature ID does not compute temperature - -The compute ID assigned to the fix must compute temperature. - -W: Group for fix_modify temp != fix group - -The fix_modify command is specifying a temperature computation that -computes a temperature on a different group of atoms than the fix -itself operates on. This is probably not what you want to do. - -*/ diff --git a/src/fix_nve_spin.cpp b/src/fix_nve_spin.cpp deleted file mode 100644 index 24718e9635..0000000000 --- a/src/fix_nve_spin.cpp +++ /dev/null @@ -1,538 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include -#include -#include -#include "fix_nve_spin.h" -#include "atom.h" -#include "atom_vec.h" -#include "update.h" -#include "respa.h" -#include "force.h" -#include "error.h" -#include "math_vector.h" -#include "math_extra.h" -#include "math_const.h" -#include "modify.h" - -//Add headers (see delete later) -#include "neighbor.h" -#include "neigh_list.h" -#include "pair.h" -#include "pair_spin.h" -#include "memory.h" -#include "fix_force_spin.h" -#include "fix_langevin_spin.h" - -using namespace LAMMPS_NS; -using namespace FixConst; -using namespace MathConst; -using namespace MathExtra; - -enum{NONE,SPIN}; - -/* ---------------------------------------------------------------------- */ - -FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : - FixNVE(lmp, narg, arg) -{ - - if (narg < 3) error->all(FLERR,"Illegal fix nve/spin command"); - - time_integrate = 1; - - extra = NONE; - - int iarg = 2; - if (strcmp(arg[iarg],"nve/spin") == 0) { - if (iarg+1 > narg) error->all(FLERR,"Illegal fix nve/spin command"); - extra = SPIN; - } - - // error checks - if (extra == SPIN && !atom->mumag_flag) - error->all(FLERR,"Fix nve/spin requires spin attribute mumag"); - - exch_flag = dmi_flag = me_flag = 0; - zeeman_flag = aniso_flag = 0; - tdamp_flag = temp_flag = 0; - - lockpairspin = NULL; - lockforcespin = NULL; - locklangevinspin = NULL; -} - -/* ---------------------------------------------------------------------- */ -FixNVESpin::~FixNVESpin(){ - //delete lockpairspin; - //delete lockforcespin; - memory->destroy(xi); -#if defined SECTORING - memory->destroy(sec); - memory->destroy(rsec); - memory->destroy(seci); -#endif -#if defined SECTOR_PRINT - fclose(file_sect); -#endif - memory->destroy(spi); - memory->destroy(spj); - memory->destroy(fmi); - memory->destroy(fmj); -} - -/* ---------------------------------------------------------------------- */ - -void FixNVESpin::init() -{ - FixNVE::init(); - - dts = update->dt; - memory->create(xi,3,"nves:xi"); -#if defined SECTORING - memory->create(sec,3,"nves:sec"); - memory->create(rsec,3,"nves:rsec"); - memory->create(seci,3,"nves:seci"); -#endif - memory->create(spi,3,"nves:spi"); - memory->create(spj,3,"nves:spj"); - memory->create(fmi,3,"nves:fmi"); - memory->create(fmj,3,"nves:fmj"); - - lockpairspin = (PairSpin *) force->pair; - - int iforce; - for (iforce = 0; iforce < modify->nfix; iforce++) - if (strstr(modify->fix[iforce]->style,"force/spin")) break; - lockforcespin = (FixForceSpin *) modify->fix[iforce]; - - for (iforce = 0; iforce < modify->nfix; iforce++) - if (strstr(modify->fix[iforce]->style,"langevin/spin")) break; - locklangevinspin = (FixLangevinSpin *) modify->fix[iforce]; - - exch_flag = lockpairspin->exch_flag; - dmi_flag = lockpairspin->dmi_flag; - me_flag = lockpairspin->me_flag; - - zeeman_flag = lockforcespin->zeeman_flag; - aniso_flag = lockforcespin->aniso_flag; - - tdamp_flag = locklangevinspin->tdamp_flag; - temp_flag = locklangevinspin->temp_flag; - - -#if defined SECTORING - sectoring(); -#endif - -#if defined SECTOR_PRINT - file_sect=fopen("sectoring.lammpstrj", "w"); - fprintf(file_sect,"ITEM: TIMESTEP\n"); - fprintf(file_sect,"%g\n",0.0); - fprintf(file_sect,"ITEM: NUMBER OF ATOMS\n"); - //int natoms = atom->natoms; - int natoms = atom->nlocal; - fprintf(file_sect,"%d\n",natoms); - fprintf(file_sect,"ITEM: BOX BOUNDS\n"); - for(int d=0; d<3; d++) fprintf(file_sect,"%lf %lf\n",domain->boxlo[d],domain->boxhi[d]); - fprintf(file_sect,"ITEM: ATOMS type x y z vx vy vz\n"); -#endif - -} - -/* ---------------------------------------------------------------------- */ - -void FixNVESpin::initial_integrate(int vflag) -{ - double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; - double cp[3],g[3]; - - double **x = atom->x; - double **v = atom->v; - double **f = atom->f; - double **sp = atom->sp; - double **fm = atom->fm; - double *rmass = atom->rmass; - double *mass = atom->mass; - int nlocal = atom->nlocal; - if (igroup == atom->firstgroup) nlocal = atom->nfirst; - int *type = atom->type; - int *mask = atom->mask; - - - // update half v all particles - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - if (rmass) dtfm = dtf / rmass[i]; - else dtfm = dtf / mass[type[i]]; - v[i][0] += dtfm * f[i][0]; - v[i][1] += dtfm * f[i][1]; - v[i][2] += dtfm * f[i][2]; - } - } - - // update half x for all particles - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - x[i][0] += 0.5 * dtv * v[i][0]; - x[i][1] += 0.5 * dtv * v[i][1]; - x[i][2] += 0.5 * dtv * v[i][2]; - } - } - -#if defined SECTORING - int nseci; - // Seq. update spins for all particles - if (extra == SPIN) { - for (int j = 0; j < nsectors; j++) { - comm->forward_comm(); - for (int i = 0; i < nlocal; i++) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeSpinInteractionsNeigh(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - } - for (int j = nsectors-1; j >= 0; j--) { - comm->forward_comm(); - for (int i = nlocal-1; i >= 0; i--) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeSpinInteractionsNeigh(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - } - } -#else - // Seq. update spins for all particles - if (extra == SPIN) { - for (int i = 0; i < nlocal; i++){ - ComputeSpinInteractionsNeigh(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - - for (int i = nlocal-1; i >= 0; i--){ - ComputeSpinInteractionsNeigh(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - } -#endif - - // update x for all particles - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - x[i][0] += 0.5 * dtv * v[i][0]; - x[i][1] += 0.5 * dtv * v[i][1]; - x[i][2] += 0.5 * dtv * v[i][2]; - } - } - - -#if defined SECTOR_PRINT - int my_rank; - MPI_Comm_rank(world, &my_rank); - if (my_rank == 0) { - for (int j = 0; j < nsectors; j++) { - for (int i = 0; i < nlocal; i++) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - fprintf(file_sect,"%d %lf %lf %lf %lf %lf %lf\n",j,xi[0],xi[1],xi[2],0.0,0.0,1.0); - } - } - } -#endif - -} - -/* ---------------------------------------------------------------------- */ -void FixNVESpin::ComputeSpinInteractionsNeigh(int ii) -{ - const int nlocal = atom->nlocal; - - //Force compute quantities - int i,j,jj,inum,jnum,itype,jtype; - int *ilist,*jlist,*numneigh,**firstneigh; - double **x = atom->x; - double **sp = atom->sp; - double **fm = atom->fm; - int *type = atom->type; - const int newton_pair = force->newton_pair; - - inum = lockpairspin->list->inum; - ilist = lockpairspin->list->ilist; - numneigh = lockpairspin->list->numneigh; - firstneigh = lockpairspin->list->firstneigh; - - double xtmp,ytmp,ztmp; - double rsq,rd,delx,dely,delz; - double cut_ex_2, cut_dmi_2, cut_me_2; - cut_ex_2 = cut_dmi_2 = cut_me_2 = 0.0; - - int eflag = 1; - int vflag = 0; - int pair_compute_flag = 1; - -#if !defined(SECTORING) - comm->forward_comm(); -#endif - - ///////Force computation for spin i///////////// - i = ilist[ii]; - - //Clear atom i - fm[i][0] = fm[i][1] = fm[i][2] = 0.0; - - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - fmi[0] = fmi[1] = fmi[2] = 0.0; - fmj[0] = fmj[1] = fmj[2] = 0.0; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - //Pair interaction - for (int jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; - - delx = xi[0] - x[j][0]; - dely = xi[1] - x[j][1]; - delz = xi[2] - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - itype = type[ii]; - jtype = type[j]; - - if (exch_flag) { - cut_ex_2 = (lockpairspin->cut_spin_exchange[itype][jtype])*(lockpairspin->cut_spin_exchange[itype][jtype]); - if (rsq <= cut_ex_2) { - lockpairspin->compute_exchange(i,j,rsq,fmi,fmj,spi,spj); - } - } - - if (dmi_flag) { - cut_dmi_2 = (lockpairspin->cut_spin_dmi[itype][jtype])*(lockpairspin->cut_spin_dmi[itype][jtype]); - if (rsq <= cut_dmi_2) { - lockpairspin->compute_dmi(i,j,fmi,fmj,spi,spj); - } - } - - if (me_flag) { - cut_me_2 = (lockpairspin->cut_spin_me[itype][jtype])*(lockpairspin->cut_spin_me[itype][jtype]); - if (rsq <= cut_me_2) { - lockpairspin->compute_me(i,j,fmi,fmj,spi,spj); - } - } - } - - //post force - if (zeeman_flag) { - lockforcespin->compute_zeeman(i,fmi); - } - - if (aniso_flag) { - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - lockforcespin->compute_anisotropy(i,spi,fmi); - } - - if (tdamp_flag) { - locklangevinspin->add_tdamping(spi,fmi); - } - - if (temp_flag) { - locklangevinspin->add_temperature(fmi); - } - - //Replace the force by its new value - fm[i][0] = fmi[0]; - fm[i][1] = fmi[1]; - fm[i][2] = fmi[2]; - -} - -#if defined SECTORING -/* ---------------------------------------------------------------------- */ -void FixNVESpin::sectoring() -{ - double sublo[3],subhi[3]; - double* sublotmp = domain->sublo; - double* subhitmp = domain->subhi; - for (int dim = 0 ; dim<3 ; dim++) { - sublo[dim]=sublotmp[dim]; - subhi[dim]=subhitmp[dim]; - } - - const double rsx = subhi[0] - sublo[0]; - const double rsy = subhi[1] - sublo[1]; - const double rsz = subhi[2] - sublo[2]; - - const double rv = lockpairspin->cut_spin_pair_global; - - double rax = rsx/rv; - double ray = rsy/rv; - double raz = rsz/rv; - - sec[0] = 1; - sec[1] = 1; - sec[2] = 1; - if (rax >= 2.0) sec[0] = 2; - if (ray >= 2.0) sec[1] = 2; - if (raz >= 2.0) sec[2] = 2; - - nsectors = sec[0]*sec[1]*sec[2]; - - rsec[0] = rsx; - rsec[1] = rsy; - rsec[2] = rsz; - if (sec[0] == 2) rsec[0] = rsx/2.0; - if (sec[1] == 2) rsec[1] = rsy/2.0; - if (sec[2] == 2) rsec[2] = rsz/2.0; - - if (2.0 * rv >= rsx && sec[0] >= 2) - error->all(FLERR,"Illegal number of sectors"); - - if (2.0 * rv >= rsy && sec[1] >= 2) - error->all(FLERR,"Illegal number of sectors"); - - if (2.0 * rv >= rsz && sec[2] >= 2) - error->all(FLERR,"Illegal number of sectors"); - -} - -/* ---------------------------------------------------------------------- */ -int FixNVESpin::coords2sector(double *xi) -{ - int nseci; - double sublo[3]; - double* sublotmp = domain->sublo; - for (int dim = 0 ; dim<3 ; dim++) { - sublo[dim]=sublotmp[dim]; - } - - double rix = (xi[0] - sublo[0])/rsec[0]; - double riy = (xi[1] - sublo[1])/rsec[1]; - double riz = (xi[2] - sublo[2])/rsec[2]; - - seci[0] = (int)rix; - seci[1] = (int)riy; - seci[2] = (int)riz; - - if (nsectors == 1) { - nseci == 0; - } else if (nsectors == 2) { - nseci = seci[0] + seci[1] + seci[2]; - } else if (nsectors == 4) { - if (sec[1]*sec[2] == 4) { //plane normal to x - nseci = (seci[1] + 2*seci[2]); - } else if (sec[0]*sec[2] == 4) { //plane normal to y - nseci = (seci[0] + 2*seci[2]); - } else if (sec[0]*sec[1] == 4) { //plane normal to z - nseci = (seci[0] + 2*seci[1]); - } - } else if (nsectors == 8) { - nseci = (seci[0] + 2*seci[1] + 4*seci[2]); - } - - return nseci; -} - -#endif - -/* ---------------------------------------------------------------------- */ - -void FixNVESpin::AdvanceSingleSpin(int i, double dts, double **sp, double **fm) -{ - double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; - double cp[3],g[3]; - - cp[0] = cp[1] = cp[2] = 0.0; - g[0] = g[1] = g[2] = 0.0; - fm2 = (fm[i][0]*fm[i][0])+(fm[i][1]*fm[i][1])+(fm[i][2]*fm[i][2]); - fmsq = sqrt(fm2); - energy = (sp[i][0]*fm[i][0])+(sp[i][1]*fm[i][1])+(sp[i][2]*fm[i][2]); - - cp[0] = fm[i][1]*sp[i][2]-fm[i][2]*sp[i][1]; - cp[1] = fm[i][2]*sp[i][0]-fm[i][0]*sp[i][2]; - cp[2] = fm[i][0]*sp[i][1]-fm[i][1]*sp[i][0]; - - g[0] = sp[i][0]+cp[0]*dts; - g[1] = sp[i][1]+cp[1]*dts; - g[2] = sp[i][2]+cp[2]*dts; - - g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts*dts; - g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts*dts; - g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts*dts; - - g[0] /= (1+0.25*fm2*dts*dts); - g[1] /= (1+0.25*fm2*dts*dts); - g[2] /= (1+0.25*fm2*dts*dts); - - sp[i][0] = g[0]; - sp[i][1] = g[1]; - sp[i][2] = g[2]; - - //Renormalization (may not be necessary) - msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; - scale = 1.0/sqrt(msq); - sp[i][0] *= scale; - sp[i][1] *= scale; - sp[i][2] *= scale; -} - -/* ---------------------------------------------------------------------- */ - -void FixNVESpin::final_integrate() -{ - double dtfm,msq,scale,fm2,fmsq,energy; - double cp[3],g[3]; - - double **x = atom->x; - double **v = atom->v; - double **f = atom->f; - double *rmass = atom->rmass; - double *mass = atom->mass; - int nlocal = atom->nlocal; - if (igroup == atom->firstgroup) nlocal = atom->nfirst; - int *type = atom->type; - int *mask = atom->mask; - - // update half v for all particles - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - if (rmass) dtfm = dtf / rmass[i]; - else dtfm = dtf / mass[type[i]]; - v[i][0] += dtfm * f[i][0]; - v[i][1] += dtfm * f[i][1]; - v[i][2] += dtfm * f[i][2]; - } - } - -} diff --git a/src/fix_nve_spin.h b/src/fix_nve_spin.h deleted file mode 100644 index d621598a9d..0000000000 --- a/src/fix_nve_spin.h +++ /dev/null @@ -1,103 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef FIX_CLASS - -FixStyle(nve/spin,FixNVESpin) - -#else - -#ifndef LMP_FIX_NVE_SPIN_H -#define LMP_FIX_NVE_SPIN_H - -#include "fix_nve.h" - -namespace LAMMPS_NS { - -class FixNVESpin : public FixNVE { - - public: - FixNVESpin(class LAMMPS *, int, char **); - virtual ~FixNVESpin(); - void init(); - virtual void initial_integrate(int); - void AdvanceSingleSpin(int, double, double **, double **); - virtual void final_integrate(); - void ComputeSpinInteractions(); - void ComputeSpinInteractionsNeigh(int); - -//#define SECTORING -#if defined SECTORING - void sectoring(); - int coords2sector(double *); -#endif - - protected: - int extra; - double dts; - - int exch_flag, dmi_flag, me_flag; - int zeeman_flag, aniso_flag; - int tdamp_flag, temp_flag; - - class PairSpin *lockpairspin; - class FixForceSpin *lockforcespin; - class FixLangevinSpin *locklangevinspin; - - double *spi, *spj, *fmi, *fmj; //Temp var. for compute - double *xi; - -#if defined SECTORING - int nsectors; - int *sec; - int *seci; - double *rsec; -#endif - -//#define SECTOR_PRINT -#if defined SECTOR_PRINT - FILE* file_sect=NULL; -#endif -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Fix nve/sphere requires atom style sphere - -Self-explanatory. - -E: Fix nve/sphere update dipole requires atom attribute mu - -An atom style with this attribute is needed. - -E: Fix nve/sphere requires extended particles - -This fix can only be used for particles of a finite size. - -E: Fix nve/sphere dlm must be used with update dipole - -The DLM algorithm can only be used in conjunction with update dipole. - - -*/ diff --git a/src/pair_spin.cpp b/src/pair_spin.cpp deleted file mode 100755 index f2c9cb8d36..0000000000 --- a/src/pair_spin.cpp +++ /dev/null @@ -1,558 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#include -#include -#include "pair_spin.h" -#include "atom.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "comm.h" -#include "force.h" -#include "memory.h" -#include "math_const.h" -#include "error.h" -#include "update.h" -#include - -//Add. lib. for full neighb. list -#include "neigh_request.h" - -using namespace LAMMPS_NS; -using namespace MathConst; - -/* ---------------------------------------------------------------------- */ - -PairSpin::PairSpin(LAMMPS *lmp) : Pair(lmp) -{ - single_enable = 0; - exch_flag = 0; - dmi_flag = 0; - me_flag = 0; - -} - -/* ---------------------------------------------------------------------- */ - -PairSpin::~PairSpin() -{ - if (allocated) { - memory->destroy(setflag); - - memory->destroy(cut_spin_exchange); - memory->destroy(J_1); - memory->destroy(J_2); - memory->destroy(J_2); - - memory->destroy(cut_spin_dmi); - memory->destroy(DM); - memory->destroy(v_dmx); - memory->destroy(v_dmy); - memory->destroy(v_dmz); - - memory->destroy(cut_spin_me); - memory->destroy(ME); - memory->destroy(v_mex); - memory->destroy(v_mey); - memory->destroy(v_mez); - - memory->destroy(spi); - memory->destroy(spj); - memory->destroy(fmi); - memory->destroy(fmj); - - memory->destroy(cutsq); - } -} - -/* ---------------------------------------------------------------------- */ - -void PairSpin::compute(int eflag, int vflag) -{ - int i,j,ii,jj,inum,jnum,itype,jtype; - double evdwl,ecoul; - double xtmp,ytmp,ztmp; - double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; - double cut_ex_2,cut_dmi_2,cut_me_2; - double rsq,rd,delx,dely,delz; - int *ilist,*jlist,*numneigh,**firstneigh; - - evdwl = ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; - - double **x = atom->x; - double **fm = atom->fm; - double *mumag = atom->mumag; - double **sp = atom->sp; - int *type = atom->type; - int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; - - inum = list->inum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - - // Pair spin computations - // Loop over neighbors of my itoms - - for (ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - //Loop on Neighbors - for (jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; - - fmi[0] = fmi[1] = fmi[2] = 0.0; - fmj[0] = fmj[1] = fmj[2] = 0.0; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; //square or inter-atomic distance - itype = type[i]; - jtype = type[j]; - - //Exchange interaction - if (exch_flag) { - cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; - if (rsq <= cut_ex_2) { - compute_exchange(i,j,rsq,fmi,fmj,spi,spj); - } - } - //DM interaction - if (dmi_flag){ - cut_dmi_2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; - if (rsq <= cut_dmi_2){ - compute_dmi(i,j,fmi,fmj,spi,spj); - } - } - //ME interaction - if (me_flag){ - cut_me_2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; - if (rsq <= cut_me_2){ - compute_me(i,j,fmi,fmj,spi,spj); - } - } - - fm[i][0] += fmi[0]; - fm[i][1] += fmi[1]; - fm[i][2] += fmi[2]; - - if (newton_pair || j < nlocal) { - fm[j][0] += fmj[0]; - fm[j][1] += fmj[1]; - fm[j][2] += fmj[2]; - } - } - } - - if (vflag_fdotr) virial_fdotr_compute(); -} - -/* ---------------------------------------------------------------------- */ -void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double *fmj, double *spi, double *spj) -{ - int *type = atom->type; - int itype, jtype; - double dmix,dmiy,dmiz; - double Jex, ra; - itype = type[i]; - jtype = type[j]; - - ra = rsq/J_3[itype][jtype]/J_3[itype][jtype]; - Jex = 4.0*J_1[itype][jtype]*ra; - Jex *= (1.0-J_2[itype][jtype]*ra); - Jex *= exp(-ra); - - fmi[0] += Jex*spj[0]; - fmi[1] += Jex*spj[1]; - fmi[2] += Jex*spj[2]; - - fmj[0] += Jex*spi[0]; - fmj[1] += Jex*spi[1]; - fmj[2] += Jex*spi[2]; - -} - -/* ---------------------------------------------------------------------- */ -void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj, double *spi, double *spj) -{ - int *type = atom->type; - int itype, jtype; - double dmix,dmiy,dmiz; - itype = type[i]; - jtype = type[j]; - - dmix = DM[itype][jtype]*v_dmx[itype][jtype]; - dmiy = DM[itype][jtype]*v_dmy[itype][jtype]; - dmiz = DM[itype][jtype]*v_dmz[itype][jtype]; - - fmi[0] += spj[1]*dmiz-spj[2]*dmiy; - fmi[1] += spj[2]*dmix-spj[0]*dmiz; - fmi[2] += spj[0]*dmiy-spj[1]*dmix; - - fmj[0] -= spi[1]*dmiz-spi[2]*dmiy; - fmj[1] -= spi[2]*dmix-spi[0]*dmiz; - fmj[2] -= spi[0]*dmiy-spi[1]*dmix; -} - -/* ---------------------------------------------------------------------- */ -void PairSpin::compute_me(int i, int j, double *fmi, double *fmj, double *spi, double *spj) -{ - int *type = atom->type; - int itype, jtype; - itype = type[i]; - jtype = type[j]; - double **sp = atom->sp; - double **x = atom->x; - double meix,meiy,meiz; - double rx, ry, rz, inorm; - - rx = x[j][0] - x[i][0]; - ry = x[j][1] - x[i][1]; - rz = x[j][2] - x[i][2]; - inorm = 1.0/sqrt(rx*rx+ry*ry+rz*rz); - rx *= inorm; - ry *= inorm; - rz *= inorm; - - meix = v_mey[itype][jtype]*rz - v_mez[itype][jtype]*ry; - meiy = v_mez[itype][jtype]*rx - v_mex[itype][jtype]*rz; - meiz = v_mex[itype][jtype]*ry - v_mey[itype][jtype]*rx; - - meix *= ME[itype][jtype]; - meiy *= ME[itype][jtype]; - meiz *= ME[itype][jtype]; - - fmi[0] += spj[1]*meiz - spj[2]*meiy; - fmi[1] += spj[2]*meix - spj[0]*meiz; - fmi[2] += spj[0]*meiy - spj[1]*meix; - - fmj[0] -= spi[1]*meiz - spi[2]*meiy; - fmj[1] -= spi[2]*meix - spi[0]*meiz; - fmj[2] -= spi[0]*meiy - spi[1]*meix; - -} - -/* ---------------------------------------------------------------------- - allocate all arrays -------------------------------------------------------------------------- */ - -void PairSpin::allocate() -{ - allocated = 1; - int n = atom->ntypes; - - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; - - memory->create(cut_spin_exchange,n+1,n+1,"pair:cut_spin_exchange"); - memory->create(J_1,n+1,n+1,"pair:J_1"); - memory->create(J_2,n+1,n+1,"pair:J_2"); - memory->create(J_3,n+1,n+1,"pair:J_3"); - - memory->create(cut_spin_dmi,n+1,n+1,"pair:cut_spin_dmi"); - memory->create(DM,n+1,n+1,"pair:DM"); - memory->create(v_dmx,n+1,n+1,"pair:DM_vector_x"); - memory->create(v_dmy,n+1,n+1,"pair:DM_vector_y"); - memory->create(v_dmz,n+1,n+1,"pair:DM_vector_z"); - - memory->create(cut_spin_me,n+1,n+1,"pair:cut_spin_me"); - memory->create(ME,n+1,n+1,"pair:ME"); - memory->create(v_mex,n+1,n+1,"pair:ME_vector_x"); - memory->create(v_mey,n+1,n+1,"pair:ME_vector_y"); - memory->create(v_mez,n+1,n+1,"pair:ME_vector_z"); - - memory->create(spi,3,"pair:spi"); - memory->create(spj,3,"pair:spj"); - memory->create(fmi,3,"pair:fmi"); - memory->create(fmj,3,"pair:fmj"); - - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - -} - -/* ---------------------------------------------------------------------- - global settings -------------------------------------------------------------------------- */ - -void PairSpin::settings(int narg, char **arg) -{ - if (narg < 1 || narg > 2) - error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); - - if (strcmp(update->unit_style,"metal") != 0) - error->all(FLERR,"Spin simulations require metal unit style"); - - cut_spin_pair_global = force->numeric(FLERR,arg[0]); - - // reset cutoffs that have been explicitly set - - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i+1; j <= atom->ntypes; j++) - if (setflag[i][j]) { - cut_spin_exchange[i][j] = cut_spin_pair_global; - cut_spin_dmi[i][j] = cut_spin_pair_global; - cut_spin_me[i][j] = cut_spin_pair_global; - } - } - -} - -/* ---------------------------------------------------------------------- - set coeffs for one or more type spin pairs (only one for now) -------------------------------------------------------------------------- */ - -void PairSpin::coeff(int narg, char **arg) -{ - const double hbar = force->hplanck/MY_2PI; - - if (!allocated) allocate(); - - if (strcmp(arg[2],"exchange")==0){ - if (narg != 7) error->all(FLERR,"Incorrect args in pair_style command"); - exch_flag = 1; - - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double J1 = (force->numeric(FLERR,arg[4]))/hbar; - const double J2 = force->numeric(FLERR,arg[5]); - const double J3 = force->numeric(FLERR,arg[6]); - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_exchange[i][j] = rij; - J_1[i][j] = J1; - J_2[i][j] = J2; - J_3[i][j] = J3; - setflag[i][j] = 1; - count++; - } - } - if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); - } else if (strcmp(arg[2],"dmi")==0) { - if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); - dmi_flag = 1; - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double dm = (force->numeric(FLERR,arg[4]))/hbar; - double dmx = force->numeric(FLERR,arg[5]); - double dmy = force->numeric(FLERR,arg[6]); - double dmz = force->numeric(FLERR,arg[7]); - - double inorm = 1.0/(dmx*dmx+dmy*dmy+dmz*dmz); - dmx *= inorm; - dmy *= inorm; - dmz *= inorm; - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_dmi[i][j] = rij; - DM[i][j] = dm; - v_dmx[i][j] = dmx; - v_dmy[i][j] = dmy; - v_dmz[i][j] = dmz; - setflag[i][j] = 1; - count++; - } - } - if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); - } else if (strcmp(arg[2],"me")==0) { - if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); - me_flag = 1; - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double me = (force->numeric(FLERR,arg[4]))/hbar; - double mex = force->numeric(FLERR,arg[5]); - double mey = force->numeric(FLERR,arg[6]); - double mez = force->numeric(FLERR,arg[7]); - - double inorm = 1.0/(mex*mex+mey*mey+mez*mez); - mex *= inorm; - mey *= inorm; - mez *= inorm; - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_me[i][j] = rij; - DM[i][j] = me; - v_mex[i][j] = mex; - v_mey[i][j] = mey; - v_mez[i][j] = mez; - setflag[i][j] = 1; - count++; - } - } - if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); - } else error->all(FLERR,"Incorrect args in pair_style command"); - - //Check if Jex [][] still works for Ferrimagnetic exchange -} - - -/* ---------------------------------------------------------------------- - init specific to this pair style -------------------------------------------------------------------------- */ - -void PairSpin::init_style() -{ - if (!atom->sp_flag || !atom->mumag_flag) - error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); - - neighbor->request(this,instance_me); - -#define FULLNEI -#if defined FULLNEI - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; -#endif -} - -/* ---------------------------------------------------------------------- - init for one type pair i,j and corresponding j,i -------------------------------------------------------------------------- */ - -double PairSpin::init_one(int i, int j) -{ - - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - - return cut_spin_pair_global; -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairSpin::write_restart(FILE *fp) -{ - write_restart_settings(fp); - - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); - if (setflag[i][j]) { - if (exch_flag){ - fwrite(&J_1[i][j],sizeof(double),1,fp); - fwrite(&J_2[i][j],sizeof(double),1,fp); - fwrite(&J_3[i][j],sizeof(double),1,fp); - fwrite(&cut_spin_exchange[i][j],sizeof(double),1,fp); - } - if (dmi_flag) { - fwrite(&DM[i][j],sizeof(double),1,fp); - fwrite(&v_dmx[i][j],sizeof(double),1,fp); - fwrite(&v_dmy[i][j],sizeof(double),1,fp); - fwrite(&v_dmz[i][j],sizeof(double),1,fp); - fwrite(&cut_spin_dmi[i][j],sizeof(double),1,fp); - } - if (me_flag) { - fwrite(&ME[i][j],sizeof(double),1,fp); - fwrite(&v_mex[i][j],sizeof(double),1,fp); - fwrite(&v_mey[i][j],sizeof(double),1,fp); - fwrite(&v_mez[i][j],sizeof(double),1,fp); - fwrite(&cut_spin_me[i][j],sizeof(double),1,fp); - } - } - } -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairSpin::read_restart(FILE *fp) -{ - read_restart_settings(fp); - - allocate(); - - int i,j; - int me = comm->me; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) { - if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); - if (setflag[i][j]) { - if (me == 0) { - fread(&J_1[i][j],sizeof(double),1,fp); - fread(&J_2[i][j],sizeof(double),1,fp); - fread(&J_2[i][j],sizeof(double),1,fp); - fread(&cut_spin_exchange[i][j],sizeof(double),1,fp); - } - MPI_Bcast(&J_1[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&J_2[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&J_3[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut_spin_exchange[i][j],1,MPI_DOUBLE,0,world); - } - } -} - - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairSpin::write_restart_settings(FILE *fp) -{ - fwrite(&cut_spin_pair_global,sizeof(double),1,fp); - fwrite(&offset_flag,sizeof(int),1,fp); - fwrite(&mix_flag,sizeof(int),1,fp); -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairSpin::read_restart_settings(FILE *fp) -{ - if (comm->me == 0) { - fread(&cut_spin_pair_global,sizeof(double),1,fp); - fread(&offset_flag,sizeof(int),1,fp); - fread(&mix_flag,sizeof(int),1,fp); - } - MPI_Bcast(&cut_spin_pair_global,1,MPI_DOUBLE,0,world); - MPI_Bcast(&offset_flag,1,MPI_INT,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); -} diff --git a/src/pair_spin.h b/src/pair_spin.h deleted file mode 100755 index 2c65c62264..0000000000 --- a/src/pair_spin.h +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef PAIR_CLASS - -PairStyle(pair/spin,PairSpin) - -#else - -#ifndef LMP_PAIR_SPIN_H -#define LMP_PAIR_SPIN_H - -#include "pair.h" - -namespace LAMMPS_NS { - -class PairSpin : public Pair { - public: - PairSpin(class LAMMPS *); - virtual ~PairSpin(); - virtual void compute(int, int); - void settings(int, char **); - void coeff(int, char **); - void init_style(); - double init_one(int, int); - - void write_restart(FILE *); - void read_restart(FILE *); - void write_restart_settings(FILE *); - void read_restart_settings(FILE *); - - void compute_exchange(int, int, double, double *, double *,double *, double *); - void compute_dmi(int, int, double *, double *, double *, double *); - void compute_me(int, int, double *, double *, double *, double *); - - //Test for seq. integ. - //protected: - int exch_flag,dmi_flag,me_flag; - double cut_spin_pair_global; - double cut_spin_dipolar_global; - - double **cut_spin_exchange; //cutting distance exchange - double **cut_spin_dmi; //cutting distance dmi - double **cut_spin_me; //cutting distance me - - //Test for seq. integ. - protected: - double **J_1, **J_2, **J_3; //exchange coeffs Jij - //J1 in eV, J2 adim and J3 in Ang - double **DM; - double **v_dmx, **v_dmy, **v_dmz;//DMI coeffs - //DM int. in eV, v direction - - double **ME; //ME in eV - double **v_mex, **v_mey, **v_mez;//ME direction - - double *spi, *spj; - double *fmi, *fmj; //Temp var. in compute - - void allocate(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Incorrect args in pair_style command - -Self-explanatory. - -E: Spin simulations require metal unit style - -Self-explanatory. - -E: Incorrect args for pair coefficients - -Self-explanatory. Check the input script or data file. - -E: Pair spin requires atom attributes sp, mumag - -The atom style defined does not have these attributes. - -*/ -- GitLab From 7519dee502acaa01ca00aa0f7688362f4f2b4d54 Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 19 Jul 2017 13:41:45 -0600 Subject: [PATCH 030/675] Changes 2 (modif/corrects parallel) --- src/SPIN/fix_nve_spin.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 5e2a4e5af9..80f8cd16cd 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -192,9 +192,6 @@ void FixNVESpin::initial_integrate(int vflag) } #if defined SECTORING - - printf("Nsectors: %d, Nlocal: %d \n",nsectors,nlocal); - int nseci; // Seq. update spins for all particles if (extra == SPIN) { @@ -206,9 +203,6 @@ void FixNVESpin::initial_integrate(int vflag) xi[2] = x[i][2]; nseci = coords2sector(xi); if (j != nseci) continue; - - printf("sector number: %d, nseci: %d \n",j,nseci); - ComputeSpinInteractionsNeigh(i); AdvanceSingleSpin(i,0.5*dts,sp,fm); } -- GitLab From b88f7aac3207df5287fb4d5fa21092f42c7186e2 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 24 Jul 2017 15:13:42 -0600 Subject: [PATCH 031/675] Begining work on test for sectoring (works only if sectoring possible when mpi option is on) --- in.cobalt | 12 ++-- src/SPIN/fix_nve_spin.cpp | 145 ++++++++++++++++++++------------------ src/SPIN/fix_nve_spin.h | 14 ++-- 3 files changed, 86 insertions(+), 85 deletions(-) diff --git a/in.cobalt b/in.cobalt index acd9d12a78..3a76a19ccf 100644 --- a/in.cobalt +++ b/in.cobalt @@ -3,21 +3,23 @@ ################### clear -#setting units. default: lj(unitless). Others: metal(Ang, picosecs, eV, ...), real(Ang, femtosecs, Kcal/mol, ...), ... +#setting units to metal (Ang, picosecs, eV, ...): units metal -#setting dimension of the system (N=2 or 3) +#setting dimension of the system (N=2 or 3): dimension 3 #setting boundary conditions. (p for periodic, f for fixed, ...) boundary p p p #boundary f f f -#setting atom_style, defines what can of atoms to use in simulation (atomic, molecule, angle, dipole, ...) +#setting atom_style to spin: atom_style spin + #Define sort for paramagnetic simulations (if no pair interaction) #atom_modify sort 1000 4.0 +#why? atom_modify map array #newton off for pair spin in SEQNEI @@ -48,7 +50,7 @@ lattice sc 2.50 #Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen #(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 2.0 0.0 2.0 0.0 16.0 +region box block 0.0 8.0 0.0 8.0 0.0 16.0 #Creating a simulation box based on the specified region. Entries: number of atom types and box ref. create_box 1 box @@ -101,7 +103,7 @@ fix 1 all force/spin zeeman 10.0 0.0 0.0 1.0 fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix -fix 3 all nve/spin +fix 3 all nve/spin mpi #compute real time, total magnetization, magnetic energy, and spin temperature #Iteration | Time | Mx | My | Mz | |M| | Em | Tm diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 80f8cd16cd..1107a3e7dd 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -53,13 +53,18 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : time_integrate = 1; extra = NONE; + mpi_flag = NONE; int iarg = 2; if (strcmp(arg[iarg],"nve/spin") == 0) { - if (iarg+1 > narg) error->all(FLERR,"Illegal fix nve/spin command"); - extra = SPIN; - } - + extra = SPIN; + if (strcmp(arg[iarg+1],"serial") == 0){ + mpi_flag = 0; + } else if (strcmp(arg[iarg+1],"mpi") == 0) { + mpi_flag = 1; + } else error->all(FLERR,"Illegal fix nve/spin command"); + } else error->all(FLERR,"Illegal fix nve/spin command"); + // error checks if (extra == SPIN && !atom->mumag_flag) error->all(FLERR,"Fix nve/spin requires spin attribute mumag"); @@ -78,11 +83,11 @@ FixNVESpin::~FixNVESpin(){ //delete lockpairspin; //delete lockforcespin; memory->destroy(xi); -#if defined SECTORING + memory->destroy(sec); memory->destroy(rsec); memory->destroy(seci); -#endif + #if defined SECTOR_PRINT fclose(file_sect); #endif @@ -100,11 +105,10 @@ void FixNVESpin::init() dts = update->dt; memory->create(xi,3,"nves:xi"); -#if defined SECTORING memory->create(sec,3,"nves:sec"); memory->create(rsec,3,"nves:rsec"); memory->create(seci,3,"nves:seci"); -#endif + memory->create(spi,3,"nves:spi"); memory->create(spj,3,"nves:spj"); memory->create(fmi,3,"nves:fmi"); @@ -131,10 +135,9 @@ void FixNVESpin::init() tdamp_flag = locklangevinspin->tdamp_flag; temp_flag = locklangevinspin->temp_flag; - -#if defined SECTORING - sectoring(); -#endif + if (mpi_flag == 1) { + sectoring(); + } #if defined SECTOR_PRINT file_sect=fopen("sectoring.lammpstrj", "w"); @@ -191,50 +194,47 @@ void FixNVESpin::initial_integrate(int vflag) } } -#if defined SECTORING - int nseci; - // Seq. update spins for all particles + if (extra == SPIN) { - for (int j = 0; j < nsectors; j++) { - comm->forward_comm(); - for (int i = 0; i < nlocal; i++) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeSpinInteractionsNeigh(i); + if (mpi_flag == 1) { + int nseci; + // mpi seq. update spins for all particles + for (int j = 0; j < nsectors; j++) { + comm->forward_comm(); + for (int i = 0; i < nlocal; i++) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } + for (int j = nsectors-1; j >= 0; j--) { + comm->forward_comm(); + for (int i = nlocal-1; i >= 0; i--) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } + } else if (mpi_flag == 0) { + // serial seq. update spins for all particles + for (int i = 0; i < nlocal; i++){ + ComputeInteractionsSpin(i); AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - } - for (int j = nsectors-1; j >= 0; j--) { - comm->forward_comm(); - for (int i = nlocal-1; i >= 0; i--) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeSpinInteractionsNeigh(i); + } + for (int i = nlocal-1; i >= 0; i--){ + ComputeInteractionsSpin(i); AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - } - } - -#else - // Seq. update spins for all particles - if (extra == SPIN) { - for (int i = 0; i < nlocal; i++){ - ComputeSpinInteractionsNeigh(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - - for (int i = nlocal-1; i >= 0; i--){ - ComputeSpinInteractionsNeigh(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } + } + } else error->all(FLERR,"Illegal fix nve/spin command"); } -#endif // update x for all particles for (int i = 0; i < nlocal; i++) { @@ -242,7 +242,7 @@ void FixNVESpin::initial_integrate(int vflag) x[i][0] += 0.5 * dtv * v[i][0]; x[i][1] += 0.5 * dtv * v[i][1]; x[i][2] += 0.5 * dtv * v[i][2]; - } + } } @@ -266,11 +266,11 @@ void FixNVESpin::initial_integrate(int vflag) } /* ---------------------------------------------------------------------- */ -void FixNVESpin::ComputeSpinInteractionsNeigh(int ii) +void FixNVESpin::ComputeInteractionsSpin(int ii) { const int nlocal = atom->nlocal; - //Force compute quantities + // force compute quantities int i,j,jj,inum,jnum,itype,jtype; int *ilist,*jlist,*numneigh,**firstneigh; double **x = atom->x; @@ -293,14 +293,14 @@ void FixNVESpin::ComputeSpinInteractionsNeigh(int ii) int vflag = 0; int pair_compute_flag = 1; -#if !defined(SECTORING) - comm->forward_comm(); -#endif + if (mpi_flag == 0) { + comm->forward_comm(); + } - ///////Force computation for spin i///////////// + // force computation for spin i i = ilist[ii]; - //Clear atom i + // clear atom i fm[i][0] = fm[i][1] = fm[i][2] = 0.0; spi[0] = sp[i][0]; @@ -315,7 +315,7 @@ void FixNVESpin::ComputeSpinInteractionsNeigh(int ii) jlist = firstneigh[i]; jnum = numneigh[i]; - //Pair interaction + // pair interaction for (int jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; @@ -352,7 +352,7 @@ void FixNVESpin::ComputeSpinInteractionsNeigh(int ii) } } - //post force + // post force if (zeeman_flag) { lockforcespin->compute_zeeman(i,fmi); } @@ -372,14 +372,13 @@ void FixNVESpin::ComputeSpinInteractionsNeigh(int ii) locklangevinspin->add_temperature(fmi); } - //Replace the force by its new value + // replace the force by its new value fm[i][0] = fmi[0]; fm[i][1] = fmi[1]; fm[i][2] = fmi[2]; } -#if defined SECTORING /* ---------------------------------------------------------------------- */ void FixNVESpin::sectoring() { @@ -410,6 +409,9 @@ void FixNVESpin::sectoring() nsectors = sec[0]*sec[1]*sec[2]; + if (mpi_flag == 1 && nsectors != 8) + error->all(FLERR,"System too small for sectoring operation"); + rsec[0] = rsx; rsec[1] = rsy; rsec[2] = rsz; @@ -417,6 +419,7 @@ void FixNVESpin::sectoring() if (sec[1] == 2) rsec[1] = rsy/2.0; if (sec[2] == 2) rsec[2] = rsz/2.0; + /* if (2.0 * rv >= rsx && sec[0] >= 2) error->all(FLERR,"Illegal number of sectors"); @@ -425,6 +428,7 @@ void FixNVESpin::sectoring() if (2.0 * rv >= rsz && sec[2] >= 2) error->all(FLERR,"Illegal number of sectors"); +*/ } @@ -442,10 +446,11 @@ int FixNVESpin::coords2sector(double *xi) double riy = (xi[1] - sublo[1])/rsec[1]; double riz = (xi[2] - sublo[2])/rsec[2]; - seci[0] = (int)rix; - seci[1] = (int)riy; - seci[2] = (int)riz; + seci[0] = static_cast(rix); + seci[1] = static_cast(riy); + seci[2] = static_cast(riz); + /* if (nsectors == 1) { nseci = 0; } else if (nsectors == 2) { @@ -461,11 +466,12 @@ int FixNVESpin::coords2sector(double *xi) } else if (nsectors == 8) { nseci = (seci[0] + 2*seci[1] + 4*seci[2]); } + */ + nseci = (seci[0] + 2*seci[1] + 4*seci[2]); return nseci; } -#endif /* ---------------------------------------------------------------------- */ @@ -500,7 +506,7 @@ void FixNVESpin::AdvanceSingleSpin(int i, double dts, double **sp, double **fm) sp[i][1] = g[1]; sp[i][2] = g[2]; - //Renormalization (may not be necessary) + // renormalization (may not be necessary) msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; scale = 1.0/sqrt(msq); sp[i][0] *= scale; @@ -535,5 +541,4 @@ void FixNVESpin::final_integrate() v[i][2] += dtfm * f[i][2]; } } - } diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index d77ea4e37a..38a61bf428 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -34,16 +34,13 @@ class FixNVESpin : public FixNVE { void AdvanceSingleSpin(int, double, double **, double **); virtual void final_integrate(); void ComputeSpinInteractions(); - void ComputeSpinInteractionsNeigh(int); + void ComputeInteractionsSpin(int); -#define SECTORING -#if defined SECTORING void sectoring(); int coords2sector(double *); -#endif protected: - int extra; + int extra, mpi_flag; double dts; int exch_flag, dmi_flag, me_flag; @@ -54,15 +51,12 @@ class FixNVESpin : public FixNVE { class FixForceSpin *lockforcespin; class FixLangevinSpin *locklangevinspin; - double *spi, *spj, *fmi, *fmj; //Temp var. for compute + double *spi, *spj, *fmi, *fmj; //Temp var. double *xi; -#if defined SECTORING int nsectors; - int *sec; - int *seci; + int *sec, *seci; double *rsec; -#endif //#define SECTOR_PRINT #if defined SECTOR_PRINT -- GitLab From 98a22c2b55677a011d7e6b2239ba3421e3d42e3b Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 15 Aug 2017 09:53:24 -0600 Subject: [PATCH 032/675] Simple test in fix_nve_spin --- in.cobalt | 21 +++++++++------------ src/SPIN/fix_nve_spin.cpp | 2 +- vmd_nano.vmd | 2 +- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/in.cobalt b/in.cobalt index 3a76a19ccf..3780d9b0dc 100644 --- a/in.cobalt +++ b/in.cobalt @@ -30,8 +30,8 @@ atom_modify map array ########################### #Lattice constant of fcc Cobalt -#lattice fcc 3.54 -lattice sc 2.50 +lattice fcc 3.54 +#lattice sc 2.50 #Test Kagome #variable a equal sqrt(3.0)/8.0 @@ -50,7 +50,7 @@ lattice sc 2.50 #Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen #(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 8.0 0.0 8.0 0.0 16.0 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 #Creating a simulation box based on the specified region. Entries: number of atom types and box ref. create_box 1 box @@ -91,7 +91,7 @@ neigh_modify every 1 check no delay 0 #Magnetic field fix #Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 10.0 0.0 0.0 1.0 +fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 #fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 @@ -99,8 +99,8 @@ fix 1 all force/spin zeeman 10.0 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) #Temp | Alpha_trans | Alpha_long | Seed #fix 2 all langevin/spin 0.0 0.1 0.0 21 -#fix 2 all langevin/spin 1.0 0.1 0.0 21 -fix 2 all langevin/spin 0.0 0.0 0.0 21 +fix 2 all langevin/spin 1.0 0.1 0.0 21 +#fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix fix 3 all nve/spin mpi @@ -110,10 +110,7 @@ fix 3 all nve/spin mpi compute mag all compute/spin fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g -#Defining a computation that will be performed on a group of atoms. -#Entries: ID(user assigned), group-ID(group of atoms to peform the sim on), style(temp, pe, ...), args - -#Setting the timestep for the simulation +#Setting the timestep for the simulation (in ps) timestep 0.0001 ################## @@ -121,9 +118,9 @@ timestep 0.0001 ################## #Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 50 dump_spin_T100.lammpstrj type x y z spx spy spz +dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 10 +run 20 #run 1 diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 1107a3e7dd..32d6127591 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -48,7 +48,7 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : FixNVE(lmp, narg, arg) { - if (narg < 3) error->all(FLERR,"Illegal fix nve/spin command"); + if (narg != 4) error->all(FLERR,"Illegal fix nve/spin command"); time_integrate = 1; diff --git a/vmd_nano.vmd b/vmd_nano.vmd index a8d7db503c..6b4684840f 100644 --- a/vmd_nano.vmd +++ b/vmd_nano.vmd @@ -70,7 +70,7 @@ proc enable_trace {} { trace variable vmd_frame([molinfo top]) w vmd_draw_spin } -set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump_spin.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] +set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump_spin_BFO.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] scale by 0.5 animate style Loop enable_trace -- GitLab From 023b018ed282e07b239ad55d6c6781b50ce5368b Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 16 Aug 2017 09:31:24 -0600 Subject: [PATCH 033/675] First version of the tutorial for spin simulations --- doc/src/tutorials.txt | 1 + src/SPIN/fix_nve_spin.cpp | 19 +------------------ 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/doc/src/tutorials.txt b/doc/src/tutorials.txt index 338439ac8e..97e7883841 100644 --- a/doc/src/tutorials.txt +++ b/doc/src/tutorials.txt @@ -9,6 +9,7 @@ Tutorials :h1 tutorial_github tutorial_pylammps tutorial_bash_on_windows + tutorial_spin body manifolds diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 32d6127591..6b9d1a5b18 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -450,23 +450,6 @@ int FixNVESpin::coords2sector(double *xi) seci[1] = static_cast(riy); seci[2] = static_cast(riz); - /* - if (nsectors == 1) { - nseci = 0; - } else if (nsectors == 2) { - nseci = seci[0] + seci[1] + seci[2]; - } else if (nsectors == 4) { - if (sec[1]*sec[2] == 4) { //plane normal to x - nseci = (seci[1] + 2*seci[2]); - } else if (sec[0]*sec[2] == 4) { //plane normal to y - nseci = (seci[0] + 2*seci[2]); - } else if (sec[0]*sec[1] == 4) { //plane normal to z - nseci = (seci[0] + 2*seci[1]); - } - } else if (nsectors == 8) { - nseci = (seci[0] + 2*seci[1] + 4*seci[2]); - } - */ nseci = (seci[0] + 2*seci[1] + 4*seci[2]); return nseci; @@ -539,6 +522,6 @@ void FixNVESpin::final_integrate() v[i][0] += dtfm * f[i][0]; v[i][1] += dtfm * f[i][1]; v[i][2] += dtfm * f[i][2]; - } + } } } -- GitLab From 45ea7b3cc709c6e44543eb160c12c514f8a97589 Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 16 Aug 2017 09:32:35 -0600 Subject: [PATCH 034/675] First version of the spin tutorial (2) Examples (example/SPIN), for BFO and Co --- doc/src/tutorial_spin.txt | 255 ++++++++++++++++++++++++++++++++++++ examples/SPIN/in.BFO | 109 +++++++++++++++ examples/SPIN/in.cobalt_SD | 126 ++++++++++++++++++ examples/SPIN/in.cobalt_dev | 126 ++++++++++++++++++ examples/SPIN/vmd_nano.vmd | 79 +++++++++++ 5 files changed, 695 insertions(+) create mode 100644 doc/src/tutorial_spin.txt create mode 100644 examples/SPIN/in.BFO create mode 100644 examples/SPIN/in.cobalt_SD create mode 100644 examples/SPIN/in.cobalt_dev create mode 100644 examples/SPIN/vmd_nano.vmd diff --git a/doc/src/tutorial_spin.txt b/doc/src/tutorial_spin.txt new file mode 100644 index 0000000000..d81e82d448 --- /dev/null +++ b/doc/src/tutorial_spin.txt @@ -0,0 +1,255 @@ + + + +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Tutorial for the SPIN package in LAMMPS :h3 + +This tutorial explains how to use the spin dynamics in LAMMPS, +and to perform spin and spin--lattice simulations using the +SPIN package. As an illustration, input files are documented. +First of all, LAMMPS has to be compiled with the SPIN package +activated. Then, the data file and input scripts have to be +modified to include the magnetic spins and to handle them. + +:line + +[Overview of the spin and spin--lattice dynamics] + +At the atomic scale, magnetic materials can be seen as ensemble of +atoms, each one of them carying a magnetic moment, refered to as its +atomic spin. In ref "Antropov"_#Antropov, a formalism allowing to +simulate approximate classical spins, and to couple them to lattice +vibrations was introduced. Each of these spins is simulated via a +classical vector, associated to each magnetic atom, and whose +trajectory is defined by an equation of motion. +Lattice vibrations are simulated by the usual equations of MD. +A mechanical potential (EAM, Finnis-Siclair, or Dudarev-Derlet) ensure +the cohesion of the particles. The coupling between the magnetic and +lattice degrees of freedom is performed via the inter-atomic dependence +of the magnetic interactions. +:ole + + +:line + +[Preparation of the data file] + +For the mechanical potentials, the data file is similar to a standard LAMMPS +data file for {atom_style full}. The DPs and the {harmonic bonds} connecting +them to their DC should appear in the data file as normal atoms and bonds. + +For the magnetic interactions, no data file is necessary, every interaction +input will be define in the input file. :pre + + +:line + +[Basic input file] + +Up to know, spin simulations only accept the metal units. + +The atom style should be set to {spin}, so that you +can define atomic spin vectors. + + +The set group command defines the Lande factor (the norm) of +the magnetic vectors in a given group, and their initial +oriantation. The command is: + +set group A B C D E F :pre + +with A, B, C, D, E, and F the following input parameters: +A is set to all, or to the number of a specific and pre-defined +group of atoms, +B is set to {spin} or {spin/random}, depending on if the spins of +the group have to be initialized in a particulat direction, or randomly. + +If B is defined as {spin}, the C is the Lande factor for the spins of +the group, and [D,E,F] is the vector giving the direction for the +initialization. + +If B is defined as {spin/random}, C is a number giving the seed for the random +difinition of the directions, and D is the Lande factor of the spins +in this group. E and F are not defined. + +Examples: +set group all spin 1.72 1.0 0.0 0.0 +set group all spin/random 11 1.72 + +setting the initial direction of all spins, with a Lande factor of 1.72, +and either in the x direction, or randomly. :l + + +The pair style has to be set to {pair/spin}. The command is + +pair_style pair/spin A + +with A a global radius cutoff. + +The different pair interactions and their associated coefficients can then be +defined via the pair coeff command. + +pair_coeff A B C D E F G H + +where A and B are setting the pair concerned by this pair coeff command. +For example, A=1 and B=2 to set the pair coefficients between spins of +type 1 and spins of type 2. Use {*} for setting a pair coeffcient between +all pairs of spins. + +C defines the type of the interaction. It can be set to {exchange} for an +exchange interaction, {dmi} for a Dzyaloshinskii-Moriya (DM) interaction, or to +{me} for a magneto-electric (ME) interaction. + +If C is set to {exchange}, D is the radius cutoff (in Angtrom) associated +to the exchange interaction, and E, F and G are the three parameters of the +Bethe--Slater function (E in eV, F without dimension, and G in Angtrom). +H is not defined. + +If C is set to {dmi}, D is the radius cutoff (in Angtrom) associated to the DM +interaction, E is the intensity of the interaction in eV (which is also the +norm of the DM vector), and [F, G, H] are giving the direction of the DM +vector. + +If C is set to {me}, D is the radius cutoff (in Angtrom) associated to the ME +interaction, E is the intensity of the interaction in eV (which corresponds to +the intensity of the electric polarization), and [F, G, H] are giving the +direction of the polarization vector. + +Examples: +pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 + +are setting an exchange interaction between every type of spins, with a radius +cutoff of 4.0 Angtrom, and E=0.0446928 eV, F=0.003496, and G=1.4885 Angtrom as +coefficient for the associated Bethe--Slater function, and a DM interaction +with a radius cutoff of 2.6 Angtrom, an intensity of 0.001 eV and a DM vector +in the direction [0.0 0.0 1.0]. :l + + +A fix has to be set to {force/spin} to define local magnetic forces, like the Zeeman +interaction or an anisotropic interaction. The command is: + +fix A B C D E F G H + +with A the label of the associated fix, B defining to which group of spins the +force is applied to, C defined as {force/spin} for magnetic local fixes, and +D defining the type of this fix. D can be equal to {zeeman} for a Zeeman interaction, +or to {anisotropy} for an anisotropic interaction. + +If D is set to {zeeman}, then E gives the intensity of the applied magnetic field (in +Tesla), and [F, G, H] the direction of this field. + +If is set to {anisotropy}, hen E gives the intensity of the anisotropic field (in eV), +and [F, G, H] the direction of this anisotropy. + +Examples: +fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 +fix 2 all force/spin anisotropy 0.001 0.0 1.0 0.0 + +are setting two fixes, the first one, labelled 1, is applied to all spins and defines +a Zeeman interaction corresponding to a field of 1 Tesla in the z direction, whereas +the second fix, labelled 2, is also applied to all spins, and defines a uniaxial +anisotropy of intensity 0.001 eV, in the direction y. :l + + +To simulate the temperature effects, a fix has to be set to {langevin/spin}. The command +is + +fix A B C D E F G + +where A is the label of the associated fix, B defines to which spins the fix is applied, +and C is set equal to {langevin/spin}. Then, D defines the temperature of the random bath +(in K), E is the transverse magnetic damping (no dimension), F is a longitudinal magnetic +damping, and G the seed for the random variables. + +Note: the transverse damping is not implemented into LAMMPS yet. It is necessary for +micromagnetic simulations only. + +Examples: +fix 2 all langevin/spin 300.0 0.01 0.0 21 + +is setting a fix labelled as 2, which is connecting all spins to a random bath. The temperature +of this bath is set to 300 K, and the value of the transverse Gilbert damping is set to 0.01. +The seed is set to 21. + + +For LAMMPS to understand that the motion of spins has to be taken into account, one has to set +a fix to {nve/spin}. The command is: + +fix A B C D + +with A the label of this fix, B defining to which group of atoms this fix is applied to, C has +to be set to {nve/spin}, and D can be set to {serial} for a serial calculation, with one +processor only, or to {mpi} for a parallel calculation, with N processors. + +Example: +fix 3 all nve/spin mpi + +is setting a fix labelled 3, and applies it to all the particles. The calculation is running in +parallel as the option {mpi} is defined. + + +Two main outputs of the computed magnetic quntities can be performed. + +The first one is via a compute and a fix options. The compute command is defined as: + +compute A B C + +with A the label of this compute, B to which group of particles it is applied to, and finally, +the option {compute/spin} has to be set. +This compute is associated to a fix to define the output frequency and format. A typical command is: + +fix A B C D E F G H + +where A is the label of the fix, B the group of particles it is applied to, C defines the type of the +output fix, for example we chose to use {ave/time}, which can output every N timesteps, and perform +a time average over those steps. D, E, and F are the usual command of {ave/time}. G stands for the +magnetic quantities that are computed by {compute/spin}. Those quantities are: + +c_mag[1] Physical time (in ps) +c_mag[2] Magnetization along x (adim) +c_mag[3] Magnetization along y (adim) +c_mag[4] Magnetization along z (adim) +c_mag[5] Magnetization Norm (adim) +c_mag[6] Magnetic energy (in eV) +c_mag[7] Spin temperature (in K) + +And H stands for the output format, and is defined as in other . + +Example: +compute 1 all compute/spin +fix 3 all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] +file mag_output.dat format %20.16g + +is defining a compute of the magnetic quantities applied to all spins. The fix then outputs +every magnetic quantities every 10 time steps without performing any time average. These +quantities are stored in a file called mag_output.dat, with a special format (defined by %20.16g) + + +It is also possible to output the evolution of the spin configuration. This can be done with +the dump command. The only difference with a regular dump command is that the velocities +vi are replaced by the spin components spi. + +Example: +dump 1 all custom 100 dump_spin.lammpstrj type x y z spx spy spz + +is dumping every 100 timesteps the spin configuration in a file called dump_spin.lammpstrj. + + +:line + +:link(Antropov) +[(Antropov)] Antropov, Katsnelson, Harmon, Van Schilfgaarde, and Kusnezov, Phys Rev B, 54(2), 1019 (1996) + + diff --git a/examples/SPIN/in.BFO b/examples/SPIN/in.BFO new file mode 100644 index 0000000000..aee3454765 --- /dev/null +++ b/examples/SPIN/in.BFO @@ -0,0 +1,109 @@ +################### +#######Init######## +################### + +clear +#setting units to metal (Ang, picosecs, eV, ...): +units metal + +#setting dimension of the system (N=2 or 3): +dimension 3 + +#setting boundary conditions. (p for periodic, f for fixed, ...) +boundary p p f + +#setting atom_style to spin: +atom_style spin + +#Define sort for paramagnetic simulations (if no pair interaction) +#atom_modify sort 1000 4.0 + +#why? +atom_modify map array + +#newton off for pair spin in SEQNEI +#newton off off + +########################### +#######Create atoms######## +########################### + +#Lattice constant of sc Iron atoms of BFO +lattice sc 3.96 + +#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen +#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) +region box block 0.0 17.0 0.0 17.0 0.0 5.0 + +#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. +create_box 1 box + +#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... +#Entries: atom type, +create_atoms 1 box + +#Replicating NxNxN the entire set of atoms +#replicate 1 1 1 + + +####################### +#######Settings######## +####################### + +#Setting one or more properties of one or more atoms. +#Setting mass +mass 1 1.0 +#set group all mass 1.0 +#Setting spins orientation and moment +set group all spin/random 11 2.50 +#set group all spin 2.50 1.0 0.0 0.0 + +#Magnetic exchange interaction coefficient for bulk fcc Cobalt +pair_style pair/spin 5.7 +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +pair_coeff * * exchange 5.7 -0.01575 0.0 1.965 +#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) +#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 +#pair_coeff * * me 4.0 0.000109 1.0 1.0 1.0 +#Mex10 +pair_coeff * * me 4.0 0.00109 1.0 1.0 1.0 + +#Define a skin distance, update neigh list every +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 0.0 bin +neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +#fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 +fix 1 all force/spin anisotropy 0.0000035 0.0 0.0 1.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +#fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 2 all langevin/spin 0.0 0.1 0.0 21 +#fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all nve/spin mpi + +#compute real time, total magnetization, magnetic energy, and spin temperature +#Iteration | Time | Mx | My | Mz | |M| | Em | Tm +compute mag all compute/spin +fix outmag all ave/time 1 1 500 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_BFO.dat format %20.16g + +#Setting the timestep for the simulation (in ps) +timestep 0.0001 + +################## +#######run######## +################## + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 5000 dump_spin_BFO.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 30000 +#run 1 + diff --git a/examples/SPIN/in.cobalt_SD b/examples/SPIN/in.cobalt_SD new file mode 100644 index 0000000000..c51c35ff73 --- /dev/null +++ b/examples/SPIN/in.cobalt_SD @@ -0,0 +1,126 @@ +################### +#######Init######## +################### + +clear +#setting units to metal (Ang, picosecs, eV, ...): +units metal + +#setting dimension of the system (N=2 or 3): +dimension 3 + +#setting boundary conditions. (p for periodic, f for fixed, ...) +boundary p p p +#boundary f f f + +#setting atom_style to spin: +atom_style spin + +#Define sort for paramagnetic simulations (if no pair interaction) +#atom_modify sort 1000 4.0 + +#why? +atom_modify map array + +#newton off for pair spin in SEQNEI +#newton off off + +########################### +#######Create atoms######## +########################### + +#Lattice constant of fcc Cobalt +lattice fcc 3.54 +#lattice sc 2.50 + +#Test Kagome +#variable a equal sqrt(3.0)/8.0 +#variable b equal 3.0*sqrt(3.0)/8.0 +#variable c equal sqrt(3.0)/4.0 + +#lattice custom 2.5 a1 1.0 0.0 0.0 & +# a2 0.0 1.0 0.0 & +# a3 0.0 0.0 1.0 & +# basis 0.0 $a 0.0 & +# basis 0.25 $a 0.0 & +# basis 0.375 0.0 0.0 & +# basis 0.25 $b 0.0 & +# basis 0.5 $b 0.0 & +# basis 0.625 $c 0.0 + +#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen +#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) +region box block 0.0 5.0 0.0 5.0 0.0 5.0 + +#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. +create_box 1 box + +#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... +#Entries: atom type, +create_atoms 1 box + +#Replicating NxNxN the entire set of atoms +#replicate 1 1 1 + + +####################### +#######Settings######## +####################### + +#Setting one or more properties of one or more atoms. +#Setting mass +mass 1 1.0 +#set group all mass 1.0 +#Setting spins orientation and moment +#set group all spin/random 11 1.72 +set group all spin 1.72 1.0 0.0 0.0 + +#Magnetic exchange interaction coefficient for bulk fcc Cobalt +pair_style pair/spin 4.0 +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) +#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 +#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 + +#Define a skin distance, update neigh list every +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 0.0 bin +neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +#fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 2 all langevin/spin 1.0 0.1 0.0 21 +#fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all nve/spin mpi + +#compute real time, total magnetization, magnetic energy, and spin temperature +#Iteration | Time | Mx | My | Mz | |M| | Em | Tm +compute mag all compute/spin +fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g + +#Setting the timestep for the simulation (in ps) +timestep 0.0001 + +################## +#######run######## +################## + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 2000 +#run 1 + diff --git a/examples/SPIN/in.cobalt_dev b/examples/SPIN/in.cobalt_dev new file mode 100644 index 0000000000..c51c35ff73 --- /dev/null +++ b/examples/SPIN/in.cobalt_dev @@ -0,0 +1,126 @@ +################### +#######Init######## +################### + +clear +#setting units to metal (Ang, picosecs, eV, ...): +units metal + +#setting dimension of the system (N=2 or 3): +dimension 3 + +#setting boundary conditions. (p for periodic, f for fixed, ...) +boundary p p p +#boundary f f f + +#setting atom_style to spin: +atom_style spin + +#Define sort for paramagnetic simulations (if no pair interaction) +#atom_modify sort 1000 4.0 + +#why? +atom_modify map array + +#newton off for pair spin in SEQNEI +#newton off off + +########################### +#######Create atoms######## +########################### + +#Lattice constant of fcc Cobalt +lattice fcc 3.54 +#lattice sc 2.50 + +#Test Kagome +#variable a equal sqrt(3.0)/8.0 +#variable b equal 3.0*sqrt(3.0)/8.0 +#variable c equal sqrt(3.0)/4.0 + +#lattice custom 2.5 a1 1.0 0.0 0.0 & +# a2 0.0 1.0 0.0 & +# a3 0.0 0.0 1.0 & +# basis 0.0 $a 0.0 & +# basis 0.25 $a 0.0 & +# basis 0.375 0.0 0.0 & +# basis 0.25 $b 0.0 & +# basis 0.5 $b 0.0 & +# basis 0.625 $c 0.0 + +#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen +#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) +region box block 0.0 5.0 0.0 5.0 0.0 5.0 + +#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. +create_box 1 box + +#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... +#Entries: atom type, +create_atoms 1 box + +#Replicating NxNxN the entire set of atoms +#replicate 1 1 1 + + +####################### +#######Settings######## +####################### + +#Setting one or more properties of one or more atoms. +#Setting mass +mass 1 1.0 +#set group all mass 1.0 +#Setting spins orientation and moment +#set group all spin/random 11 1.72 +set group all spin 1.72 1.0 0.0 0.0 + +#Magnetic exchange interaction coefficient for bulk fcc Cobalt +pair_style pair/spin 4.0 +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) +#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 +#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 + +#Define a skin distance, update neigh list every +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 0.0 bin +neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +#fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 2 all langevin/spin 1.0 0.1 0.0 21 +#fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all nve/spin mpi + +#compute real time, total magnetization, magnetic energy, and spin temperature +#Iteration | Time | Mx | My | Mz | |M| | Em | Tm +compute mag all compute/spin +fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g + +#Setting the timestep for the simulation (in ps) +timestep 0.0001 + +################## +#######run######## +################## + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 2000 +#run 1 + diff --git a/examples/SPIN/vmd_nano.vmd b/examples/SPIN/vmd_nano.vmd new file mode 100644 index 0000000000..6c3238e8d6 --- /dev/null +++ b/examples/SPIN/vmd_nano.vmd @@ -0,0 +1,79 @@ +proc vmd_draw_arrow {mol start end} { + set middle [vecadd $start [vecscale 0.9 [vecsub $end $start]]] + graphics $mol cylinder $start $middle radius 0.05 + graphics $mol cone $middle $end radius 0.01 color 3 +} + +proc vmd_draw_vector {args} { + set usage {"draw vector {x1 y1 z1} {x2 y2 z2} [scale ] [resolution ] [radius ] [filled ]"} + # defaults + set scale 3.0 + set res 5 + set radius 0.1 + set filled yes + + if {[llength $args] < 3} { + error "wrong # args: should be $usage" + } + set mol [lindex $args 0] + set center [lindex $args 1] + set vector [lindex $args 2] + if {[llength $center] != 3 || [llength $vector] != 3} { + error "wrong type of args: should be $usage" + } + + foreach {flag value} [lrange $args 3 end] { + switch -glob $flag { + scale {set scale $value} + res* {set res $value} + rad* {set radius $value} + fill* {set filled $value} + default {error "unknown option '$flag': should be $usage" } + } + } + + set vechalf [vecscale [expr $scale * 0.5] $vector] + return [list \ + [graphics $mol color yellow]\ + [graphics $mol cylinder [vecsub $center $vechalf]\ + [vecadd $center [vecscale 0.7 $vechalf]] \ + radius $radius resolution $res filled $filled] \ + [graphics $mol color orange]\ + [graphics $mol cone [vecadd $center [vecscale 0.6 $vechalf]] \ + [vecadd $center $vechalf] radius [expr $radius * 2.5] \ + resolution $res]] +} + +proc vmd_draw_spin {args} { + global molid + graphics $molid delete all + set frame [molinfo $molid get frame] + set natoms [molinfo $molid get numatoms] + for {set i 0} {$i < $natoms} {incr i} { + set sel [atomselect top "index $i"] +# set sel [atomselect top "index 1200"] + set coords [lindex [$sel get {x y z}] $molid] + set velocities [lindex [$sel get {vx vy vz}] $molid] + draw vector $coords $velocities + set uvx [lindex [$sel get {vx}] $molid] + set uvy [lindex [$sel get {vy}] $molid] + set uvz [lindex [$sel get {vz}] $molid] + $sel set user [vecadd [vecadd [vecscale $uvy $uvy] [vecscale $uvz $uvz] ] [vecscale $uvx $uvx]] + $sel set user $uvy + #draw vector $coords {0.0 uvy 0.0} + } + #pbc box -color 3 +} + +proc enable_trace {} { + global vmd_frame + trace variable vmd_frame([molinfo top]) w vmd_draw_spin + } + +set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump_spin_T100.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] +scale by 0.5 +animate style Loop +enable_trace + + + -- GitLab From f5ff30df83a8c64048a56633f79a4b3408d239e9 Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 23 Aug 2017 11:22:31 -0600 Subject: [PATCH 035/675] Changes for coupling magnetomech: - hybrid_overlay friend with fix_nve_spin - modif of the allocation of pair classes in fix_nve_spin - modif input file for hybrid/overlay eam - spin/pair - new file for cobalt eam potentials --- Co_PurjaPun_2012.eam.alloy | 6006 ++++++++++++++++++++++++++++++++++++ examples/SPIN/in.kagome | 126 + in.co_magnetomech | 111 + in.cobalt | 19 - src/SPIN/fix_nve_spin.cpp | 61 +- src/SPIN/fix_nve_spin.h | 1 + src/SPIN/pair_spin.cpp | 7 +- src/pair_hybrid.h | 1 + vmd_nano.vmd | 2 +- 9 files changed, 6296 insertions(+), 38 deletions(-) create mode 100644 Co_PurjaPun_2012.eam.alloy create mode 100644 examples/SPIN/in.kagome create mode 100644 in.co_magnetomech diff --git a/Co_PurjaPun_2012.eam.alloy b/Co_PurjaPun_2012.eam.alloy new file mode 100644 index 0000000000..3af058baf7 --- /dev/null +++ b/Co_PurjaPun_2012.eam.alloy @@ -0,0 +1,6006 @@ +Cobalt EAM potential: G. P. Purja Pun and Y. Mishin, Phys. Rev. B xx, 004100 (2012) (in press) +Data below r = 1.5 A is extrapolated. F(Rho) data not extrapolated. +Created on Wed Sep 26 17:29:54 2012 +1 Co +10000 4.788742913000000e-04 10000 6.499539000000001e-04 6.499539000000000e+00 +27 5.893320000000000e+01 2.507000000000000e+00 hcp + -1.680303080000000e-02 -1.879913964471138e-02 -2.091739081044659e-02 -2.303564197615629e-02 -2.503175082079116e-02 + -2.681996612041136e-02 -2.846010103933253e-02 -3.003179469400266e-02 -3.154842562124295e-02 -3.300931506782415e-02 + -3.442381570000001e-02 -3.580233366714632e-02 -3.714945763166951e-02 -3.846832763111274e-02 -3.976210669053554e-02 + -4.103374908125148e-02 -4.228535107207521e-02 -4.351872320172212e-02 -4.473539109100971e-02 -4.593674531110434e-02 + -4.712392115246503e-02 -4.829795108118731e-02 -4.945971154662068e-02 -5.061001094949964e-02 -5.174954151284258e-02 + -5.287894548568519e-02 -5.399878139884967e-02 -5.510957102742049e-02 -5.621177284174523e-02 -5.730581735016625e-02 + -5.839208651773948e-02 -5.947094067448531e-02 -6.054270215356945e-02 -6.160767623453070e-02 -6.266613797925552e-02 + -6.371834880435967e-02 -6.476454576302854e-02 -6.580495483863194e-02 -6.683978209870683e-02 -6.786922452279202e-02 + -6.889346265426707e-02 -6.991266949659354e-02 -7.092700432972064e-02 -7.193662011890395e-02 -7.294165829413661e-02 + -7.394225494811188e-02 -7.493853635958479e-02 -7.593062425993033e-02 -7.691863200494162e-02 -7.790266905197404e-02 + -7.888283764021425e-02 -7.985923664258643e-02 -8.083195868513401e-02 -8.180109346997461e-02 -8.276672525040257e-02 + -8.372893572415932e-02 -8.468780181559693e-02 -8.564339820511864e-02 -8.659579537072190e-02 -8.754506181558984e-02 + -8.849126234605453e-02 -8.943446001410092e-02 -9.037471455117625e-02 -9.131208412841478e-02 -9.224662399623559e-02 + -9.317838801321032e-02 -9.410742739123597e-02 -9.503379209498646e-02 -9.595752974691800e-02 -9.687868684755546e-02 + -9.779730775191570e-02 -9.871343580120046e-02 -9.962711242685958e-02 -1.005383781439554e-01 -1.014472717117523e-01 + -1.023538310651938e-01 -1.032580925977369e-01 -1.041600919387366e-01 -1.050598632026273e-01 -1.059574398208095e-01 + -1.068528540074704e-01 -1.077461373458066e-01 -1.086373201122683e-01 -1.095264320028559e-01 -1.104135016985198e-01 + -1.112985573626335e-01 -1.121816261033156e-01 -1.130627345294291e-01 -1.139419083080692e-01 -1.148191726662944e-01 + -1.156945520127823e-01 -1.165680703406650e-01 -1.174397507992727e-01 -1.183096161572101e-01 -1.191776885039839e-01 + -1.200439895800373e-01 -1.209085404086571e-01 -1.217713616730546e-01 -1.226324734132936e-01 -1.234918953788508e-01 + -1.243496468000000e-01 -1.252057466264230e-01 -1.260602132046348e-01 -1.269130646065986e-01 -1.277643184092350e-01 + -1.286139919512837e-01 -1.294621021138015e-01 -1.303086655551642e-01 -1.311536985007052e-01 -1.319972169590798e-01 + -1.328392365052704e-01 -1.336797725161469e-01 -1.345188400098036e-01 -1.353564538215464e-01 -1.361926284143060e-01 + -1.370273780803152e-01 -1.378607168013910e-01 -1.386926583917836e-01 -1.395232163058920e-01 -1.403524038515728e-01 + -1.411802341103638e-01 -1.420067200256853e-01 -1.428318742148069e-01 -1.436557091565456e-01 -1.444782371020595e-01 + -1.452994701862315e-01 -1.461194203065015e-01 -1.469380992388567e-01 -1.477555185109162e-01 -1.485716895480879e-01 + -1.493866236153044e-01 -1.502003318703277e-01 -1.510128252027127e-01 -1.518241144121522e-01 -1.526342102070998e-01 + -1.534431232126203e-01 -1.542508638114616e-01 -1.550574422930448e-01 -1.558628688157988e-01 -1.566671534698807e-01 + -1.574703062033520e-01 -1.582723368973844e-01 -1.590732553076882e-01 -1.598730711132973e-01 -1.606717938120008e-01 + -1.614694328459875e-01 -1.622659976162905e-01 -1.630614974730487e-01 -1.638559416039789e-01 -1.646493391351259e-01 + -1.654416991082678e-01 -1.662330305252601e-01 -1.670233423125346e-01 -1.678126433512354e-01 -1.686009424167802e-01 + -1.693882482431861e-01 -1.701745695045948e-01 -1.709599148401449e-01 -1.717442928088396e-01 -1.725277119385885e-01 + -1.733101807130639e-01 -1.740917075837066e-01 -1.748723009172683e-01 -1.756519690655456e-01 -1.764307204052008e-01 + -1.772085632840185e-01 -1.779855059094047e-01 -1.787615564692287e-01 -1.795367232135896e-01 -1.803110143830451e-01 + -1.810844381177561e-01 -1.818570025406103e-01 -1.826287158057983e-01 -1.833995860626770e-01 -1.841696214099643e-01 + -1.849388299454831e-01 -1.857072198141128e-01 -1.864747991526175e-01 -1.872415760182443e-01 -1.880075584641173e-01 + -1.887727546063884e-01 -1.895371725773110e-01 -1.903008205105196e-01 -1.910637065418589e-01 -1.918258388146347e-01 + -1.925872254807121e-01 -1.933478747187342e-01 -1.941077947209150e-01 -1.948669937069724e-01 -1.956254799127480e-01 + -1.963832616110719e-01 -1.971403470967068e-01 -1.978967447151567e-01 -1.986524628291068e-01 -1.994075098192274e-01 + -2.001618941005484e-01 -2.009156242075518e-01 -2.016687086990372e-01 -2.024211561116226e-01 -2.031729750127928e-01 + -2.039241741156804e-01 -2.046747621691974e-01 -2.054247479197256e-01 -2.061741401521784e-01 -2.069229478081280e-01 + -2.076711798806499e-01 -2.084188454121736e-01 -2.091659534755806e-01 -2.099125132162076e-01 -2.106585338443872e-01 + -2.114040247579823e-01 -2.121489953974893e-01 -2.128934551864067e-01 -2.136374136027109e-01 -2.143808803592873e-01 + -2.151238652468154e-01 -2.158663781322411e-01 -2.166084289346303e-01 -2.173500277052638e-01 -2.180911845646947e-01 + -2.188319097783510e-01 -2.195722136949507e-01 -2.203121068514981e-01 -2.210515998518519e-01 -2.217907033790026e-01 + -2.225294282016381e-01 -2.232677853521022e-01 -2.240057859531163e-01 -2.247434412252567e-01 -2.254807624804862e-01 + -2.262177612984613e-01 -2.269544493586047e-01 -2.276908384717110e-01 -2.284269405581227e-01 -2.291627678450005e-01 + -2.298983326532392e-01 -2.306336473718499e-01 -2.313687245044682e-01 -2.321035769451089e-01 -2.328382177230701e-01 + -2.335726600184018e-01 -2.343069171312917e-01 -2.350410026917230e-01 -2.357749304696442e-01 -2.365087144650665e-01 + -2.372423688046511e-01 -2.379759078915950e-01 -2.387093462817347e-01 -2.394426988649284e-01 -2.401759806938325e-01 + -2.409092071382775e-01 -2.416423937275558e-01 -2.423755563116356e-01 -2.431087109081851e-01 -2.438418738849959e-01 + -2.445750618045980e-01 -2.453082916583512e-01 -2.460415806101058e-01 -2.467749460848467e-01 -2.475084057095742e-01 + -2.482419776582159e-01 -2.489756803241430e-01 -2.497095324315720e-01 -2.504435529132133e-01 -2.511777612049070e-01 + -2.519121769824342e-01 -2.526468203782122e-01 -2.533817117688987e-01 -2.541168720514789e-01 -2.548523223627430e-01 + -2.555880842783758e-01 -2.563241796571988e-01 -2.570606310516858e-01 -2.577974612919421e-01 -2.585346936249472e-01 + -2.592723515924181e-01 -2.600104594981498e-01 -2.607490419576605e-01 -2.614881240712832e-01 -2.622277312727207e-01 + -2.629678898443362e-01 -2.637086264051527e-01 -2.644499680721714e-01 -2.651919423187013e-01 -2.659345775453039e-01 + -2.666779025531186e-01 -2.674219468183432e-01 -2.681667401972407e-01 -2.689123133912765e-01 -2.696586975492495e-01 + -2.704059247640904e-01 -2.711540275538941e-01 -2.719030391932789e-01 -2.726529934197978e-01 -2.734039250662187e-01 + -2.741558694758598e-01 -2.749088629390239e-01 -2.756629422674556e-01 -2.764181454116789e-01 -2.771745108563868e-01 + -2.779320780841674e-01 -2.786908871694924e-01 -2.794509795564719e-01 -2.802123972949423e-01 -2.809751834880072e-01 + -2.817393818716988e-01 -2.825050376604960e-01 -2.832721967688652e-01 -2.840409064327807e-01 -2.848112145951165e-01 + -2.855831707048412e-01 -2.863568249759762e-01 -2.871322291766564e-01 -2.879094358829076e-01 -2.886884993482028e-01 + -2.894694746623641e-01 -2.902524185831628e-01 -2.910373887617654e-01 -2.918244447549689e-01 -2.926136470970381e-01 + -2.934050583264800e-01 -2.941987419693519e-01 -2.949947634976693e-01 -2.957931894604184e-01 -2.965940887685082e-01 + -2.973975314584912e-01 -2.982035897075678e-01 -2.990123368838905e-01 -2.998238489787670e-01 -3.006382032814213e-01 + -3.014554796495834e-01 -3.022757592753754e-01 -3.030991261199829e-01 -3.039256655881672e-01 -3.047554660899296e-01 + -3.055886175640754e-01 -3.064252130593845e-01 -3.072653472379187e-01 -3.081091181048918e-01 -3.089566254021406e-01 + -3.098079724748395e-01 -3.106632645082006e-01 -3.115226104442510e-01 -3.123861211846884e-01 -3.132539117130802e-01 + -3.141260990998875e-01 -3.150028046812773e-01 -3.158841520361693e-01 -3.167702694487885e-01 -3.176612875689104e-01 + -3.185573418032087e-01 -3.194585700942650e-01 -3.203651157713922e-01 -3.212771249044592e-01 -3.221947491388281e-01 + -3.231181430183639e-01 -3.240474671054514e-01 -3.249828850672117e-01 -3.259245669711927e-01 -3.268726862299913e-01 + -3.278274232359761e-01 -3.287889619469540e-01 -3.297574936027157e-01 -3.307332132733838e-01 -3.317163240684192e-01 + -3.327070332351553e-01 -3.337055565330767e-01 -3.347121141277095e-01 -3.357269352965953e-01 -3.367502540927247e-01 + -3.377823145588749e-01 -3.388233658450175e-01 -3.398736675401181e-01 -3.409334847493447e-01 -3.420030942036733e-01 + -3.430827786115977e-01 -3.441728329658748e-01 -3.452735586625544e-01 -3.463852704265985e-01 -3.475082899277179e-01 + -3.486429532857090e-01 -3.497896041380748e-01 -3.509486017430585e-01 -3.521203134619261e-01 -3.533051234472958e-01 + -3.545034246605078e-01 -3.557156285064298e-01 -3.569421559513399e-01 -3.581834477636310e-01 -3.594399550688090e-01 + -3.607121506187135e-01 -3.620005184199024e-01 -3.633055658714727e-01 -3.646278119965309e-01 -3.659677989216845e-01 + -3.673260803339768e-01 -3.687032330586966e-01 -3.700998457090232e-01 -3.715165309114429e-01 -3.729539131544640e-01 + -3.744126403613781e-01 -3.758933720658462e-01 -3.773967908082255e-01 -3.789235902651524e-01 -3.804744856516886e-01 + -3.820502023195389e-01 -3.836514846285581e-01 -3.852790856353807e-01 -3.869337741756033e-01 -3.886163256972291e-01 + -3.903275263189269e-01 -3.920681658458204e-01 -3.938390381581898e-01 -3.956409370872805e-01 -3.974746521930466e-01 + -3.993409682701225e-01 -4.012406553231547e-01 -4.031744727439548e-01 -4.051431522629808e-01 -4.071474082130475e-01 + -4.091879129977703e-01 -4.112653138348391e-01 -4.133801991274390e-01 -4.155331235094092e-01 -4.177245653517079e-01 + -4.199549603385881e-01 -4.222246496703586e-01 -4.245339230260172e-01 -4.268829584832519e-01 -4.292718744431503e-01 + -4.317006622016948e-01 -4.341692468068394e-01 -4.366774154195978e-01 -4.392248845800756e-01 -4.418112262316757e-01 + -4.444359401252420e-01 -4.470983818380713e-01 -4.497978365893122e-01 -4.525334523390530e-01 -4.553043120100788e-01 + -4.581093756350076e-01 -4.609475466791835e-01 -4.638176252290113e-01 -4.667183660407072e-01 -4.696484459287199e-01 + -4.726065094563343e-01 -4.755911501239359e-01 -4.786009429283761e-01 -4.816344399152602e-01 -4.846901882843556e-01 + -4.877667388033212e-01 -4.908626497957108e-01 -4.939765062407663e-01 -4.971069114027755e-01 -5.002525150305011e-01 + -5.034119937007041e-01 -5.065840848176727e-01 -5.097675587133593e-01 -5.129612566028576e-01 -5.161640565945169e-01 + -5.193749134865747e-01 -5.225928209640586e-01 -5.258168515692775e-01 -5.290461169135583e-01 -5.322798060270272e-01 + -5.355171460831645e-01 -5.387574394100244e-01 -5.420000245805213e-01 -5.452443099924439e-01 -5.484897376520451e-01 + -5.517358141745681e-01 -5.549820769247875e-01 -5.582281216566209e-01 -5.614735718423751e-01 -5.647181034387753e-01 + -5.679614169890416e-01 -5.712032588979591e-01 -5.744433972991336e-01 -5.776816413798681e-01 -5.809178193507762e-01 + -5.841517944620215e-01 -5.873834463985003e-01 -5.906126855444893e-01 -5.938394364748391e-01 -5.970636498273136e-01 + -6.002852884426439e-01 -6.035043379105128e-01 -6.067207941645156e-01 -6.099346717649501e-01 -6.131459940881434e-01 + -6.163548011478311e-01 -6.195611404873568e-01 -6.227650731310865e-01 -6.259666663617727e-01 -6.291659990146931e-01 + -6.323631552654742e-01 -6.355582290986170e-01 -6.387513188871106e-01 -6.419425307490256e-01 -6.451319745539882e-01 + -6.483197674327603e-01 -6.515060293214946e-01 -6.546908841167685e-01 -6.578744572836812e-01 -6.610568766009968e-01 + -6.642382709221243e-01 -6.674187710853904e-01 -6.705985088370179e-01 -6.737776175698923e-01 -6.769562312911304e-01 + -6.801344848181089e-01 -6.833125134999645e-01 -6.864904540026142e-01 -6.896684434132225e-01 -6.928466191871651e-01 + -6.960251190039876e-01 -6.992040810717012e-01 -7.023836437724149e-01 -7.055639456561626e-01 -7.087451254024176e-01 + -7.119273220404884e-01 -7.151106745784721e-01 -7.182953215897911e-01 -7.214814016245582e-01 -7.246690535743215e-01 + -7.278584163200112e-01 -7.310496283586513e-01 -7.342428280442573e-01 -7.374381535427195e-01 -7.406357429444993e-01 + -7.438357342264661e-01 -7.470382651689156e-01 -7.502434728794412e-01 -7.534514943101106e-01 -7.566624664635970e-01 + -7.598765262236051e-01 -7.630938099473661e-01 -7.663144537782537e-01 -7.695385935306881e-01 -7.727663648349232e-01 + -7.759979029135046e-01 -7.792333428394971e-01 -7.824728194957561e-01 -7.857164675195603e-01 -7.889644207560909e-01 + -7.922168128628783e-01 -7.954737775389469e-01 -7.987354483417761e-01 -8.020019582211745e-01 -8.052734399002169e-01 + -8.085500258027153e-01 -8.118318481538471e-01 -8.151190386835121e-01 -8.184117289678831e-01 -8.217100504635063e-01 + -8.250141343769457e-01 -8.283241110344656e-01 -8.316401105683494e-01 -8.349622632152548e-01 -8.382906990624389e-01 + -8.416255474951805e-01 -8.449669376504778e-01 -8.483149983741850e-01 -8.516698583310095e-01 -8.550316457522134e-01 + -8.584004886419279e-01 -8.617765145292081e-01 -8.651598508088844e-01 -8.685506248139727e-01 -8.719489622521989e-01 + -8.753549823919468e-01 -8.787687997490927e-01 -8.821905162688262e-01 -8.856202278084699e-01 -8.890580184445617e-01 + -8.925039663319011e-01 -8.959581377191167e-01 -8.994205926453692e-01 -9.028913782181163e-01 -9.063705352609543e-01 + -9.098580923937473e-01 -9.133540718558304e-01 -9.168584825681617e-01 -9.203713268261465e-01 -9.238925937413506e-01 + -9.274222656928153e-01 -9.309603113133150e-01 -9.345066924037853e-01 -9.380613571840678e-01 -9.416242468397124e-01 + -9.451952880001965e-01 -9.487744002152808e-01 -9.523614892719469e-01 -9.559564538973973e-01 -9.595591783425093e-01 + -9.631695396882074e-01 -9.667874008119273e-01 -9.704126174878044e-01 -9.740450312802591e-01 -9.776844767743714e-01 + -9.813307748475731e-01 -9.849837394560669e-01 -9.886431705787867e-01 -9.923088615430331e-01 -9.959805930468456e-01 + -9.996581394281877e-01 -1.003341262213973e+00 -1.007029716826452e+00 -1.010723247080268e+00 -1.014421591236032e+00 + -1.018124476945841e+00 -1.021831626529500e+00 -1.025542751586175e+00 -1.029257558992056e+00 -1.032975747452084e+00 + -1.036697011770175e+00 -1.040421039317395e+00 -1.044147513860548e+00 -1.047876112182243e+00 -1.051606508161453e+00 + -1.055338371046766e+00 -1.059071368055605e+00 -1.062805162911107e+00 -1.066539417837194e+00 -1.070273792555226e+00 + -1.074007946119602e+00 -1.077741537419413e+00 -1.081474225260823e+00 -1.085205668283577e+00 -1.088935525821090e+00 + -1.092663460147868e+00 -1.096389134999202e+00 -1.100112217012435e+00 -1.103832374788097e+00 -1.107549281877421e+00 + -1.111262614364874e+00 -1.114972053517157e+00 -1.118677283811066e+00 -1.122377997381517e+00 -1.126073890115035e+00 + -1.129764665246453e+00 -1.133450029987863e+00 -1.137129700112097e+00 -1.140803395884355e+00 -1.144470846978575e+00 + -1.148131787996958e+00 -1.151785963846005e+00 -1.155433124321719e+00 -1.159073028473816e+00 -1.162705440550504e+00 + -1.166330136340245e+00 -1.169946897198408e+00 -1.173555515207745e+00 -1.177155787675114e+00 -1.180747522076412e+00 + -1.184330531453910e+00 -1.187904640946331e+00 -1.191469681045491e+00 -1.195025491559137e+00 -1.198571917630371e+00 + -1.202108816427798e+00 -1.205636050425976e+00 -1.209153491297797e+00 -1.212661015717853e+00 -1.216158511169199e+00 + -1.219645870103956e+00 -1.223122994042052e+00 -1.226589789250444e+00 -1.230046171916402e+00 -1.233492062734542e+00 + -1.236927390508550e+00 -1.240352088211073e+00 -1.243766097381527e+00 -1.247169363751694e+00 -1.250561841256042e+00 + -1.253943487695246e+00 -1.257314268132119e+00 -1.260674151007197e+00 -1.264023111009775e+00 -1.267361126327042e+00 + -1.270688182889021e+00 -1.274004269717549e+00 -1.277309380458899e+00 -1.280603511471348e+00 -1.283886665336751e+00 + -1.287158847447705e+00 -1.290420068216200e+00 -1.293670340397085e+00 -1.296909681097245e+00 -1.300138109654688e+00 + -1.303355649979877e+00 -1.306562327924205e+00 -1.309758172530325e+00 -1.312943214678930e+00 -1.316117489411603e+00 + -1.319281033477409e+00 -1.322433886294459e+00 -1.325576088655014e+00 -1.328707684178879e+00 -1.331828717822939e+00 + -1.334939237064845e+00 -1.338039290534788e+00 -1.341128928952336e+00 -1.344208204044806e+00 -1.347277169481128e+00 + -1.350335879836220e+00 -1.353384391367341e+00 -1.356422761075585e+00 -1.359451047255056e+00 -1.362469308854003e+00 + -1.365477606144248e+00 -1.368475999956682e+00 -1.371464552034891e+00 -1.374443324607048e+00 -1.377412380926959e+00 + -1.380371784452904e+00 -1.383321598435415e+00 -1.386261886043311e+00 -1.389192710326296e+00 -1.392114134331963e+00 + -1.395026221218571e+00 -1.397929034013782e+00 -1.400822635112213e+00 -1.403707086730599e+00 -1.406582451007194e+00 + -1.409448790047375e+00 -1.412306165903488e+00 -1.415154640386279e+00 -1.417994274393129e+00 -1.420825128672226e+00 + -1.423647264288326e+00 -1.426460742270041e+00 -1.429265623184807e+00 -1.432061967292326e+00 -1.434849834082543e+00 + -1.437629282863016e+00 -1.440400372981510e+00 -1.443163163644870e+00 -1.445917713456040e+00 -1.448664080745027e+00 + -1.451402323353998e+00 -1.454132498983212e+00 -1.456854665253158e+00 -1.459568879518891e+00 -1.462275198153495e+00 + -1.464973677286479e+00 -1.467664373054985e+00 -1.470347341460922e+00 -1.473022637957602e+00 -1.475690317602213e+00 + -1.478350434416031e+00 -1.481003042251009e+00 -1.483648195317718e+00 -1.486285947650543e+00 -1.488916352220507e+00 + -1.491539461636770e+00 -1.494155328124374e+00 -1.496764003712290e+00 -1.499365540029296e+00 -1.501959988475343e+00 + -1.504547399935251e+00 -1.507127824972320e+00 -1.509701313378898e+00 -1.512267914702716e+00 -1.514827678283996e+00 + -1.517380653263305e+00 -1.519926888190102e+00 -1.522466431291609e+00 -1.524999330097196e+00 -1.527525631932397e+00 + -1.530045384005255e+00 -1.532558633226744e+00 -1.535065425437065e+00 -1.537565806237489e+00 -1.540059821344337e+00 + -1.542547516227056e+00 -1.545028935252552e+00 -1.547504122520188e+00 -1.549973122161691e+00 -1.552435978060152e+00 + -1.554892733071735e+00 -1.557343429814709e+00 -1.559788110982664e+00 -1.562226819032855e+00 -1.564659595401864e+00 + -1.567086481207361e+00 -1.569507517312065e+00 -1.571922744465970e+00 -1.574332203223133e+00 -1.576735933784567e+00 + -1.579133975135047e+00 -1.581526366095511e+00 -1.583913146047792e+00 -1.586294354132112e+00 -1.588670027961349e+00 + -1.591040204840321e+00 -1.593404922368944e+00 -1.595764217997401e+00 -1.598118128281829e+00 -1.600466689560657e+00 + -1.602809938195509e+00 -1.605147910317183e+00 -1.607480641109968e+00 -1.609808165462235e+00 -1.612130518025190e+00 + -1.614447733364541e+00 -1.616759845941160e+00 -1.619066889913862e+00 -1.621368898338053e+00 -1.623665904067572e+00 + -1.625957940253400e+00 -1.628245039905108e+00 -1.630527235169479e+00 -1.632804557955816e+00 -1.635077040086276e+00 + -1.637344713164072e+00 -1.639607608003776e+00 -1.641865755216986e+00 -1.644119185392045e+00 -1.646367929030376e+00 + -1.648612016308968e+00 -1.650851477080719e+00 -1.653086340226579e+00 -1.655316634503563e+00 -1.657542389144867e+00 + -1.659763633269537e+00 -1.661980395063818e+00 -1.664192702419508e+00 -1.666400582983419e+00 -1.668604064251645e+00 + -1.670803173362428e+00 -1.672997937236383e+00 -1.675188382281491e+00 -1.677374534802169e+00 -1.679556421201192e+00 + -1.681734067628149e+00 -1.683907499121518e+00 -1.686076740528519e+00 -1.688241817042459e+00 -1.690402753749855e+00 + -1.692559574964003e+00 -1.694712304797627e+00 -1.696860967334408e+00 -1.699005586454806e+00 -1.701146185255449e+00 + -1.703282786721620e+00 -1.705415414177082e+00 -1.707544090831449e+00 -1.709668839099297e+00 -1.711789681156861e+00 + -1.713906639022084e+00 -1.716019734585396e+00 -1.718128989385494e+00 -1.720234424849230e+00 -1.722336062307809e+00 + -1.724433922917529e+00 -1.726528027230686e+00 -1.728618395721282e+00 -1.730705049154116e+00 -1.732788008101886e+00 + -1.734867292078088e+00 -1.736942920442919e+00 -1.739014913002594e+00 -1.741083289547465e+00 -1.743148069358425e+00 + -1.745209271450225e+00 -1.747266914282488e+00 -1.749321016270471e+00 -1.751371596207075e+00 -1.753418672811714e+00 + -1.755462264132180e+00 -1.757502388000569e+00 -1.759539062057792e+00 -1.761572303881055e+00 -1.763602130983907e+00 + -1.765628560778196e+00 -1.767651610332621e+00 -1.769671296580689e+00 -1.771687636258316e+00 -1.773700645994041e+00 + -1.775710342184503e+00 -1.777716741146727e+00 -1.779719859111176e+00 -1.781719712181211e+00 -1.783716316038327e+00 + -1.785709686327057e+00 -1.787699838965949e+00 -1.789686789700248e+00 -1.791670553307960e+00 -1.793651144443631e+00 + -1.795628578235185e+00 -1.797602869852874e+00 -1.799574034162875e+00 -1.801542085839167e+00 -1.803507039091021e+00 + -1.805468908052258e+00 -1.807427707019619e+00 -1.809383450209764e+00 -1.811336151356113e+00 -1.813285824110837e+00 + -1.815232482284336e+00 -1.817176139592257e+00 -1.819116809213001e+00 -1.821054504262256e+00 -1.822989238142106e+00 + -1.824921024174149e+00 -1.826849875071642e+00 -1.828775803432498e+00 -1.830698822001605e+00 -1.832618943490715e+00 + -1.834536180332052e+00 -1.836450544855570e+00 -1.838362049261658e+00 -1.840270705693083e+00 -1.842176526191684e+00 + -1.844079522732226e+00 -1.845979707122125e+00 -1.847877091069540e+00 -1.849771686052976e+00 -1.851663503515020e+00 + -1.853552554984233e+00 -1.855438851906239e+00 -1.857322405308933e+00 -1.859203226114476e+00 -1.861081325239847e+00 + -1.862956713608023e+00 -1.864829402171162e+00 -1.866699401811557e+00 -1.868566723102871e+00 -1.870431376467943e+00 + -1.872293372034969e+00 -1.874152719980291e+00 -1.876009430967454e+00 -1.877863515541558e+00 -1.879714983286677e+00 + -1.881563843740828e+00 -1.883410107218835e+00 -1.885253783963326e+00 -1.887094883151373e+00 -1.888933413891583e+00 + -1.890769386084288e+00 -1.892602809677417e+00 -1.894433694017575e+00 -1.896262048252058e+00 -1.898087881332244e+00 + -1.899911202238771e+00 -1.901732020265218e+00 -1.903550344662578e+00 -1.905366184198560e+00 -1.907179547502340e+00 + -1.908990443132265e+00 -1.910798879695625e+00 -1.912604866066330e+00 -1.914408411061036e+00 -1.916209523000752e+00 + -1.918008210058423e+00 -1.919804480310377e+00 -1.921598341888620e+00 -1.923389803244497e+00 -1.925178872754823e+00 + -1.926965558178970e+00 -1.928749867237572e+00 -1.930531808113790e+00 -1.932311388923252e+00 -1.934088617048956e+00 + -1.935863499807747e+00 -1.937636044984464e+00 -1.939406260367225e+00 -1.941174153289245e+00 -1.942939731044444e+00 + -1.944703001224463e+00 -1.946463971324967e+00 -1.948222648160018e+00 -1.949979038559213e+00 -1.951733150095908e+00 + -1.953484990331042e+00 -1.955234566032130e+00 -1.956981883796339e+00 -1.958726950332857e+00 -1.960469772453529e+00 + -1.962210357268799e+00 -1.963948711773954e+00 -1.965684842205069e+00 -1.967418754747339e+00 -1.969150456141664e+00 + -1.970879953151972e+00 -1.972607252078582e+00 -1.974332359180596e+00 -1.976055281015821e+00 -1.977776024078765e+00 + -1.979494594312026e+00 -1.981210997612849e+00 -1.982925240248993e+00 -1.984637328483028e+00 -1.986347268186276e+00 + -1.988055065135925e+00 -1.989760725123873e+00 -1.991464254028801e+00 -1.993165658061782e+00 -1.994864943305917e+00 + -1.996562115000000e+00 -1.998257178352118e+00 -1.999950139291834e+00 -2.001641003786081e+00 -2.003329777229788e+00 + -2.005016464899233e+00 -2.006701072168050e+00 -2.008383604435580e+00 -2.010064067106614e+00 -2.011742465557514e+00 + -2.013418805045480e+00 -2.015093090790721e+00 -2.016765327984645e+00 -2.018435521788566e+00 -2.020103677272243e+00 + -2.021769799450648e+00 -2.023433893211152e+00 -2.025095963440481e+00 -2.026756015150358e+00 -2.028414053372033e+00 + -2.030070083089858e+00 -2.031724109167109e+00 -2.033376136029651e+00 -2.035026168111125e+00 -2.036674210313675e+00 + -2.038320267543339e+00 -2.039964344253219e+00 -2.041606444873179e+00 -2.043246574193053e+00 -2.044884736927830e+00 + -2.046520937133174e+00 -2.048155178894251e+00 -2.049787467073582e+00 -2.051417806490505e+00 -2.053046201014273e+00 + -2.054672654449746e+00 -2.056297171294283e+00 -2.057919756136151e+00 -2.059540413234731e+00 -2.061159146675282e+00 + -2.062775960175462e+00 -2.064390857518372e+00 -2.066003843116474e+00 -2.067614921377108e+00 -2.069224096057763e+00 + -2.070831370870978e+00 -2.072436749999330e+00 -2.074040237602111e+00 -2.075641837275425e+00 -2.077241552544816e+00 + -2.078839387216755e+00 -2.080435345153352e+00 -2.082029430158359e+00 -2.083621645967183e+00 -2.085211996100236e+00 + -2.086800484128769e+00 -2.088387114042385e+00 -2.089971889736969e+00 -2.091554814315162e+00 -2.093135890870968e+00 + -2.094715123257078e+00 -2.096292515329556e+00 -2.097868070199266e+00 -2.099441790929908e+00 -2.101013681141721e+00 + -2.102583744473837e+00 -2.104151984084442e+00 -2.105718403103298e+00 -2.107283005027429e+00 -2.108845793364375e+00 + -2.110406771296459e+00 -2.111965941910842e+00 -2.113523308239219e+00 -2.115078873308544e+00 -2.116632640182243e+00 + -2.118184611994434e+00 -2.119734792125529e+00 -2.121283183887100e+00 -2.122829790069075e+00 -2.124374613416041e+00 + -2.125917657012881e+00 -2.127458923984833e+00 -2.128998417278243e+00 -2.130536139767974e+00 -2.132072094221826e+00 + -2.133606283403289e+00 -2.135138710165668e+00 -2.136669377406417e+00 -2.138198288109766e+00 -2.139725445172409e+00 + -2.141250851054121e+00 -2.142774508270670e+00 -2.144296419998729e+00 -2.145816589318136e+00 -2.147335018260493e+00 + -2.148851708859426e+00 -2.150366664204882e+00 -2.151879887475646e+00 -2.153391381149525e+00 -2.154901147551277e+00 + -2.156409189094421e+00 -2.157915508301146e+00 -2.159420108039566e+00 -2.160922991060322e+00 -2.162424159298261e+00 + -2.163923614721020e+00 -2.165421360243191e+00 -2.166917398765767e+00 -2.168411732188371e+00 -2.169904362385663e+00 + -2.171395292133801e+00 -2.172884524283159e+00 -2.174372061079477e+00 -2.175857904621596e+00 -2.177342057025400e+00 + -2.178824520458782e+00 -2.180305297280612e+00 -2.181784389836284e+00 -2.183261800226323e+00 -2.184737530553230e+00 + -2.186211583172279e+00 -2.187683960396664e+00 -2.189154664118480e+00 -2.190623696232450e+00 -2.192091059064924e+00 + -2.193556754973807e+00 -2.195020786011611e+00 -2.196483154140098e+00 -2.197943861263397e+00 -2.199402909290797e+00 + -2.200860300209873e+00 -2.202316036078389e+00 -2.203770119156592e+00 -2.205222551620105e+00 -2.206673335103553e+00 + -2.208122471221687e+00 -2.209569962050753e+00 -2.211015809743800e+00 -2.212460016299604e+00 -2.213902583604158e+00 + -2.215343513246597e+00 -2.216782806815468e+00 -2.218220466193829e+00 -2.219656493330310e+00 -2.221090890141300e+00 + -2.222523658493742e+00 -2.223954800089009e+00 -2.225384316635711e+00 -2.226812210036953e+00 -2.228238482128524e+00 + -2.229663134282465e+00 -2.231086167933421e+00 -2.232507585230206e+00 -2.233927388263609e+00 -2.235345578178182e+00 + -2.236762156112363e+00 -2.238177124126393e+00 -2.239590484325721e+00 -2.241002238074839e+00 -2.242412386688506e+00 + -2.243820932023517e+00 -2.245227875877045e+00 -2.246633219265731e+00 -2.248036963296034e+00 -2.249439110214208e+00 + -2.250839662216949e+00 -2.252238620162919e+00 -2.253635984842608e+00 -2.255031758111861e+00 -2.256425941987018e+00 + -2.257818538061035e+00 -2.259209547728066e+00 -2.260598972010440e+00 -2.261986811976363e+00 -2.263373069249392e+00 + -2.264757745520950e+00 -2.266140842198597e+00 -2.267522360622610e+00 -2.268902302148032e+00 -2.270280668153553e+00 + -2.271657460097697e+00 -2.273032679375423e+00 -2.274406327047590e+00 -2.275778404191426e+00 -2.277148912283742e+00 + -2.278517852852843e+00 -2.279885227233438e+00 -2.281251036662961e+00 -2.282615282183361e+00 -2.283977964870765e+00 + -2.285339086133513e+00 -2.286698647429660e+00 -2.288056650083893e+00 -2.289413095312870e+00 -2.290767984034498e+00 + -2.292121317209354e+00 -2.293473096267451e+00 -2.294823322630535e+00 -2.296171997217860e+00 -2.297519120939147e+00 + -2.298864695168495e+00 -2.300208721271999e+00 -2.301551200119357e+00 -2.302892132586471e+00 -2.304231520070443e+00 + -2.305569363951571e+00 -2.306905665021753e+00 -2.308240424043668e+00 -2.309573642251534e+00 -2.310905320943594e+00 + -2.312235461202651e+00 -2.313564064009707e+00 -2.314891130153991e+00 -2.316216660462560e+00 -2.317540656105554e+00 + -2.318863118293744e+00 -2.320184048057342e+00 -2.321503446385586e+00 -2.322821314284393e+00 -2.324137652689092e+00 + -2.325452462235987e+00 -2.326765743634779e+00 -2.328077498187803e+00 -2.329387727168217e+00 -2.330696431139842e+00 + -2.332003610675342e+00 -2.333309267092103e+00 -2.334613401701304e+00 -2.335916015044585e+00 -2.337217107588464e+00 + -2.338516680268511e+00 -2.339814734134101e+00 -2.341111270220800e+00 -2.342406289434137e+00 -2.343699792173311e+00 + -2.344991778936741e+00 -2.346282251126043e+00 -2.347571210092017e+00 -2.348858656078995e+00 -2.350144589310363e+00 + -2.351429011032167e+00 -2.352711922533504e+00 -2.353993324252988e+00 -2.355273216536063e+00 -2.356551600205969e+00 + -2.357828476165661e+00 -2.359103845159169e+00 -2.360377707896761e+00 -2.361650065112589e+00 -2.362920917562625e+00 + -2.364190266066228e+00 -2.365458111389245e+00 -2.366724454020086e+00 -2.367989294422349e+00 -2.369252633237819e+00 + -2.370514471195048e+00 -2.371774809191487e+00 -2.373033648052395e+00 -2.374290988145372e+00 -2.375546829856004e+00 + -2.376801174099476e+00 -2.378054021758188e+00 -2.379305373053798e+00 -2.380555228228685e+00 -2.381803588268867e+00 + -2.383050454170042e+00 -2.384295826222999e+00 -2.385539704659158e+00 -2.386782090177350e+00 -2.388022983519428e+00 + -2.389262385131917e+00 -2.390500295440986e+00 -2.391736715086700e+00 -2.392971644747536e+00 -2.394205085041701e+00 + -2.395437036486230e+00 -2.396667499253712e+00 -2.397896473568759e+00 -2.399123960208524e+00 -2.400349959968320e+00 + -2.401574473163553e+00 -2.402797500049246e+00 -2.404019041118798e+00 -2.405239096931802e+00 -2.406457668074259e+00 + -2.407674755052769e+00 -2.408890358029935e+00 -2.410104477201394e+00 -2.411317113238899e+00 -2.412528266823138e+00 + -2.413737938194389e+00 -2.414946127524263e+00 -2.416152835150093e+00 -2.417358061488310e+00 -2.418561807106014e+00 + -2.419764072540869e+00 -2.420964858062149e+00 -2.422164163883997e+00 -2.423361990268478e+00 -2.424558337539998e+00 + -2.425753206224426e+00 -2.426946596778449e+00 -2.428138509180588e+00 -2.429328943436301e+00 -2.430517900136966e+00 + -2.431705379929064e+00 -2.432891383093559e+00 -2.434075909789072e+00 -2.435258960050367e+00 -2.436440534002261e+00 + -2.437620632253666e+00 -2.438799255363957e+00 -2.439976403210287e+00 -2.441152075652963e+00 -2.442326273167121e+00 + -2.443498996281469e+00 -2.444670245124171e+00 -2.445840019720089e+00 -2.447008320081434e+00 -2.448175146330043e+00 + -2.449340499038912e+00 -2.450504378726154e+00 -2.451666785239187e+00 -2.452827718349615e+00 -2.453987178196479e+00 + -2.455145165027037e+00 -2.456301679153984e+00 -2.457456720843679e+00 -2.458610290111703e+00 -2.459762386895362e+00 + -2.460913011069636e+00 -2.462062162618941e+00 -2.463209842027783e+00 -2.464356049701044e+00 -2.465500785225038e+00 + -2.466644048210323e+00 -2.467785839182998e+00 -2.468926158651886e+00 -2.470065006141172e+00 -2.471202381154697e+00 + -2.472338284099561e+00 -2.473472715451581e+00 -2.474605675058163e+00 -2.475737162666682e+00 -2.476867178252799e+00 + -2.477995721814551e+00 -2.479122793211214e+00 -2.480248392312651e+00 -2.481372519169843e+00 -2.482495173828069e+00 + -2.483616356128687e+00 -2.484736065895716e+00 -2.485854303087743e+00 -2.486971067738408e+00 -2.488086360047014e+00 + -2.489200180083995e+00 -2.490312527238630e+00 -2.491423400907520e+00 -2.492532801197714e+00 -2.493640728315912e+00 + -2.494747182157012e+00 -2.495852162518061e+00 -2.496955669116524e+00 -2.498057701682506e+00 -2.499158260076250e+00 + -2.500257344205291e+00 -2.501354954036191e+00 -2.502451089487258e+00 -2.503545750224782e+00 -2.504638935878569e+00 + -2.505730646184535e+00 -2.506820880947837e+00 -2.507909640144502e+00 -2.508996923692245e+00 -2.510082731104683e+00 + -2.511167061905791e+00 -2.512249916065080e+00 -2.513331293568936e+00 -2.514411194025691e+00 -2.515489616993924e+00 + -2.516566562211253e+00 -2.517642029416175e+00 -2.518716018171676e+00 -2.519788528087044e+00 -2.520859559132313e+00 + -2.521929111272669e+00 -2.522997184093166e+00 -2.524063777123772e+00 -2.525128890054233e+00 -2.526192522577199e+00 + -2.527254674237163e+00 -2.528315344566595e+00 -2.529374533198041e+00 -2.530432239809303e+00 -2.531488464159136e+00 + -2.532543206017777e+00 -2.533596465120445e+00 -2.534648241083385e+00 -2.535698533081969e+00 -2.536747340380982e+00 + -2.537794663043710e+00 -2.538840501172024e+00 -2.539884854223596e+00 -2.540927721482817e+00 -2.541969102185147e+00 + -2.543008995720672e+00 -2.544047402146914e+00 -2.545084321505733e+00 -2.546119753108897e+00 -2.547153696148885e+00 + -2.548186150071097e+00 -2.549217114438763e+00 -2.550246589033513e+00 -2.551274573561718e+00 -2.552301067210345e+00 + -2.553326069170913e+00 -2.554349579172571e+00 -2.555371597001575e+00 -2.556392122135012e+00 -2.557411153995589e+00 + -2.558428692097672e+00 -2.559444735964176e+00 -2.560459285060548e+00 -2.561472338773803e+00 -2.562483896234721e+00 + -2.563493956701396e+00 -2.564502520197407e+00 -2.565509586690590e+00 -2.566515155160310e+00 -2.567519224484451e+00 + -2.568521794123430e+00 -2.569522863722881e+00 -2.570522433086768e+00 -2.571520501879673e+00 -2.572517069050324e+00 + -2.573512133570669e+00 -2.574505695221420e+00 -2.575497753777856e+00 -2.576488308184784e+00 -2.577477357385580e+00 + -2.578464901148367e+00 -2.579450939304331e+00 -2.580435471112168e+00 -2.581418495678755e+00 -2.582400012076188e+00 + -2.583380019545771e+00 -2.584358518040427e+00 -2.585335507388502e+00 -2.586310986208430e+00 -2.587284953146766e+00 + -2.588257408172476e+00 -2.589228351266687e+00 -2.590197781136742e+00 -2.591165696464199e+00 -2.592132097101227e+00 + -2.593096982965479e+00 -2.594060353065933e+00 -2.595022206300420e+00 -2.595982542030859e+00 -2.596941359648237e+00 + -2.597898658195753e+00 -2.598854436786441e+00 -2.599808695160485e+00 -2.600761432999720e+00 -2.601712649125437e+00 + -2.602662342322502e+00 -2.603610512090611e+00 -2.604557157983472e+00 -2.605502279056006e+00 -2.606445874333086e+00 + -2.607387943218189e+00 -2.608328485131743e+00 -2.609267499183389e+00 -2.610204984445080e+00 -2.611140940148811e+00 + -2.612075365584592e+00 -2.613008260114454e+00 -2.613939623006402e+00 -2.614869453080320e+00 -2.615797749224179e+00 + -2.616724511046408e+00 -2.617649738126216e+00 -2.618573429205448e+00 -2.619495583026503e+00 -2.620416199171340e+00 + -2.621335277249019e+00 -2.622252816137456e+00 -2.623168814653865e+00 -2.624083272103795e+00 -2.624996187859330e+00 + -2.625907561070358e+00 -2.626817390806325e+00 -2.627725676037143e+00 -2.628632415761536e+00 -2.629537609193020e+00 + -2.630441255587996e+00 -2.631343354159609e+00 -2.632243904045731e+00 -2.633142904126422e+00 -2.634040353337229e+00 + -2.634936251093461e+00 -2.635830596765059e+00 -2.636723389060725e+00 -2.637614626713354e+00 -2.638504309213838e+00 + -2.639392436080191e+00 -2.640279006180904e+00 -2.641164018251881e+00 -2.642047471148195e+00 -2.642929363899640e+00 + -2.643809696115713e+00 -2.644688467316341e+00 -2.645565676083456e+00 -2.646441320932559e+00 -2.647315401051427e+00 + -2.648187915755844e+00 -2.649058864201336e+00 -2.649928245427330e+00 -2.650796058169106e+00 -2.651662301248424e+00 + -2.652526974137104e+00 -2.653390076247662e+00 -2.654251606105329e+00 -2.655111562238285e+00 -2.655969944073783e+00 + -2.656826751086593e+00 -2.657681982042466e+00 -2.658535635661370e+00 -2.659387711189145e+00 -2.660238207837736e+00 + -2.661087124157626e+00 -2.661934458755756e+00 -2.662780211126336e+00 -2.663624380741185e+00 -2.664466966095276e+00 + -2.665307965694397e+00 -2.666147379064445e+00 -2.666985205710447e+00 -2.667821444033845e+00 -2.668656092405469e+00 + -2.669489150177272e+00 -2.670320616801000e+00 -2.671150491146469e+00 -2.671978771965001e+00 -2.672805458115896e+00 + -2.673630548501148e+00 -2.674454042085555e+00 -2.675275937884819e+00 -2.676096235055446e+00 -2.676914932653945e+00 + -2.677732029196031e+00 -2.678547523253807e+00 -2.679361414165717e+00 -2.680173701269736e+00 -2.680984383135636e+00 + -2.681793458321363e+00 -2.682600926105787e+00 -2.683406785794135e+00 -2.684211036076172e+00 -2.685013675548027e+00 + -2.685814703046789e+00 -2.686614117528503e+00 -2.687411918184072e+00 -2.688208104155523e+00 -2.689002674154484e+00 + -2.689795626844247e+00 -2.690586961125131e+00 -2.691376675931391e+00 -2.692164770096012e+00 -2.692951242468673e+00 + -2.693736092067127e+00 -2.694519317933390e+00 -2.695300919038479e+00 -2.696080894259941e+00 -2.696859242172434e+00 + -2.697635961409562e+00 -2.698411051143577e+00 -2.699184510529523e+00 -2.699956338114957e+00 -2.700726532498006e+00 + -2.701495093086574e+00 -2.702262019208106e+00 -2.703027309058428e+00 -2.703790960874505e+00 -2.704552974189474e+00 + -2.705313348537555e+00 -2.706072082161119e+00 -2.706829173257158e+00 -2.707584621133000e+00 -2.708338425191227e+00 + -2.709090584105120e+00 -2.709841096442358e+00 -2.710589961077480e+00 -2.711337176962203e+00 -2.712082743050078e+00 + -2.712826658235913e+00 -2.713568921177743e+00 -2.714309530527581e+00 -2.715048485150131e+00 -2.715785783993005e+00 + -2.716521426122757e+00 -2.717255410569124e+00 -2.717987736095623e+00 -2.718718401385704e+00 -2.719447405068731e+00 + -2.720174745881186e+00 -2.720900423042079e+00 -2.721624435690877e+00 -2.722346782166338e+00 -2.723067460855530e+00 + -2.723786471139474e+00 -2.724503812410580e+00 -2.725219483112852e+00 -2.725933481634188e+00 -2.726645807086471e+00 + -2.727356458650697e+00 -2.728065435060333e+00 -2.728772734953498e+00 -2.729478357034439e+00 -2.730182300087997e+00 + -2.730884563155262e+00 -2.731585145263588e+00 -2.732284045129153e+00 -2.732981261442558e+00 -2.733676793103288e+00 + -2.734370639038562e+00 -2.735062798077667e+00 -2.735753269071118e+00 -2.736442051052291e+00 -2.737129142959769e+00 + -2.737814543170111e+00 -2.738498250131983e+00 -2.739180263144520e+00 -2.739860581563291e+00 -2.740539204119172e+00 + -2.741216129405992e+00 -2.741891356094071e+00 -2.742564882952538e+00 -2.743236709069217e+00 -2.743906833523784e+00 + -2.744575255044610e+00 -2.745241972311204e+00 -2.745906984158941e+00 -2.746570289467025e+00 -2.747231887134115e+00 + -2.747891776057501e+00 -2.748549955109537e+00 -2.749206423158993e+00 -2.749861179085207e+00 -2.750514221765824e+00 + -2.751165550061125e+00 -2.751815162841771e+00 -2.752463059037292e+00 -2.753109237554207e+00 -2.753753697148108e+00 + -2.754396436622574e+00 -2.755037455124055e+00 -2.755676751755156e+00 -2.756314325100252e+00 -2.756950173779785e+00 + -2.757584297076699e+00 -2.758216694281619e+00 -2.758847364053396e+00 -2.759476305000437e+00 -2.760103516161140e+00 + -2.760728996610216e+00 -2.761352745137616e+00 -2.761974760563591e+00 -2.762595042114344e+00 -2.763213589016364e+00 + -2.763830400091322e+00 -2.764445474113015e+00 -2.765058810068553e+00 -2.765670407011266e+00 -2.766280264046035e+00 + -2.766888380201558e+00 -2.767494754150214e+00 -2.768099384646222e+00 -2.768702271127474e+00 -2.769303413030783e+00 + -2.769902809104988e+00 -2.770500458053093e+00 -2.771096359082754e+00 -2.771690511445131e+00 -2.772282914060774e+00 + -2.772873565847032e+00 -2.773462466039048e+00 -2.774049613856528e+00 -2.774635008139637e+00 -2.775218647762881e+00 + -2.775800532117688e+00 -2.776380660598635e+00 -2.776959032095993e+00 -2.777535645483684e+00 -2.778110500074552e+00 + -2.778683595228330e+00 -2.779254930053368e+00 -2.779824503611819e+00 -2.780392315032438e+00 -2.780958363471580e+00 + -2.781522648129417e+00 -2.782085168237396e+00 -2.782645923108263e+00 -2.783204912027138e+00 -2.783762134087364e+00 + -2.784317588365996e+00 -2.784871274066723e+00 -2.785423190471204e+00 -2.785973337046338e+00 -2.786521713227682e+00 + -2.787068318140169e+00 -2.787613150927563e+00 -2.788156211119559e+00 -2.788697498201977e+00 -2.789237011099205e+00 + -2.789774748795882e+00 -2.790310711079109e+00 -2.790844897774500e+00 -2.791377308059270e+00 -2.791907941021321e+00 + -2.792436796039691e+00 -2.792963872575855e+00 -2.793489170129877e+00 -2.794012688183935e+00 -2.794534426110070e+00 + -2.795054383269529e+00 -2.795572559090522e+00 -2.796088953089790e+00 -2.796603565071232e+00 -2.797116394731634e+00 + -2.797627441052200e+00 -2.798136703104035e+00 -2.798644181033428e+00 -2.799149874997305e+00 -2.799653784119957e+00 + -2.800155907491874e+00 -2.800656245100958e+00 -2.801154796934787e+00 -2.801651562082218e+00 -2.802146539693571e+00 + -2.802639730063738e+00 -2.803131133478864e+00 -2.803620749045517e+00 -2.804108575856467e+00 -2.804594614128865e+00 + -2.805078864118387e+00 -2.805561325110418e+00 -2.806041996375143e+00 -2.806520878092229e+00 -2.806997970489045e+00 + -2.807473273074300e+00 -2.807946785293329e+00 -2.808418507056632e+00 -2.808888438355500e+00 -2.809356579039224e+00 + -2.809822928959404e+00 -2.810287488118900e+00 -2.810750256531227e+00 -2.811211234101264e+00 -2.811670420689050e+00 + -2.812127816083888e+00 -2.812583420143096e+00 -2.813037233066774e+00 -2.813489255065615e+00 -2.813939486049919e+00 + -2.814387925944586e+00 -2.814834575033324e+00 -2.815279433542374e+00 -2.815722501109326e+00 -2.816163777438837e+00 + -2.816603263092504e+00 -2.817040958671196e+00 -2.817476864075942e+00 -2.817910979131784e+00 -2.818343304059641e+00 + -2.818773839208482e+00 -2.819202585043600e+00 -2.819629541969078e+00 -2.820054710027820e+00 -2.820478089265513e+00 + -2.820899680100151e+00 -2.821319482977751e+00 -2.821737498084143e+00 -2.822153725615352e+00 -2.822568166068396e+00 + -2.822980820018520e+00 -2.823391688052908e+00 -2.823800770674544e+00 -2.824208068037681e+00 -2.824613580315654e+00 + -2.825017308106835e+00 -2.825419252121360e+00 -2.825819413091381e+00 -2.826217791658008e+00 -2.826614388076187e+00 + -2.827009202624378e+00 -2.827402236061253e+00 -2.827793489256864e+00 -2.828182963046578e+00 -2.828570658171722e+00 + -2.828956575032161e+00 -2.829340714052488e+00 -2.829723076097664e+00 -2.830103662132774e+00 -2.830482473083023e+00 + -2.830859509823491e+00 -2.831234773068641e+00 -2.831608263528317e+00 -2.831979982054516e+00 -2.832349929557777e+00 + -2.832718107040651e+00 -2.833084515526141e+00 -2.833449156027042e+00 -2.833812029550204e+00 -2.834173137088914e+00 + -2.834532479620883e+00 -2.834890058075082e+00 -2.835245873448821e+00 -2.835599927061508e+00 -2.835952220243667e+00 + -2.836302754048190e+00 -2.836651529530672e+00 -2.836998548035129e+00 -2.837343810883671e+00 -2.837687319022324e+00 + -2.838029073490917e+00 -2.838369076080591e+00 -2.838707328586376e+00 -2.839043832067564e+00 -2.839378587474163e+00 + -2.839711596054793e+00 -2.840042859259108e+00 -2.840372379042276e+00 -2.840700157280677e+00 -2.841026195030013e+00 + -2.841350493343512e+00 -2.841673054085180e+00 -2.841993879190829e+00 -2.842312970072699e+00 -2.842630328108386e+00 + -2.842945955060471e+00 -2.843259852775203e+00 -2.843572023048496e+00 -2.843882467617769e+00 -2.844191188036773e+00 + -2.844498185884593e+00 -2.844803463025301e+00 -2.845107021413000e+00 -2.845408863076932e+00 -2.845708990020076e+00 + -2.846007404065244e+00 -2.846304107050338e+00 -2.846599101053807e+00 -2.846892388135785e+00 -2.847183970042619e+00 + -2.847473848570861e+00 -2.847762026031680e+00 -2.848048504803730e+00 -2.848333287020989e+00 -2.848616374754612e+00 + -2.848897770069131e+00 -2.849177475073159e+00 -2.849455492058227e+00 -2.849731823327478e+00 -2.850006471047571e+00 + -2.850279437434387e+00 -2.850550725037162e+00 -2.850820336439234e+00 -2.851088274026996e+00 -2.851354540133094e+00 + -2.851619137072155e+00 -2.851882067200814e+00 -2.852143333061782e+00 -2.852402937208544e+00 -2.852660882051651e+00 + -2.852917170055367e+00 -2.853171804041764e+00 -2.853424786850297e+00 -2.853676121032120e+00 -2.853925809140160e+00 + -2.854173854022716e+00 -2.854420258509995e+00 -2.854665025064492e+00 -2.854908156206457e+00 -2.855149655054884e+00 + -2.855389524765914e+00 -2.855627768045515e+00 -2.855864387531145e+00 -2.856099386036384e+00 -2.856332766480263e+00 + -2.856564532027491e+00 -2.856794685864488e+00 -2.857023231018833e+00 -2.857250170456676e+00 -2.857475507057297e+00 + -2.857699243787178e+00 -2.857921384048440e+00 -2.858141931205942e+00 -2.858360888039817e+00 -2.858578257403886e+00 + -2.858794043031427e+00 -2.859008248642304e+00 -2.859220877023269e+00 -2.859431930941042e+00 -2.859641414015340e+00 + -2.859849329964776e+00 -2.860055682050569e+00 -2.860260473522559e+00 -2.860463708042447e+00 -2.860665389218646e+00 + -2.860865520034553e+00 -2.861064103583913e+00 -2.861261144026887e+00 -2.861456645505078e+00 -2.861650611019446e+00 + -2.861843043539793e+00 -2.862033947051935e+00 -2.862223325674870e+00 -2.862411183044306e+00 -2.862597522669464e+00 + -2.862782348036900e+00 -2.862965662765951e+00 -2.863147471029718e+00 -2.863327776966641e+00 -2.863506584022756e+00 + -2.863683895649960e+00 -2.863859716016013e+00 -2.864034049304372e+00 -2.864206899045429e+00 -2.864378268816853e+00 + -2.864548163038503e+00 -2.864716586175495e+00 -2.864883542031795e+00 -2.865049034317118e+00 -2.865213067025303e+00 + -2.865375644227383e+00 -2.865536770019026e+00 -2.865696448531390e+00 -2.865854684012960e+00 -2.866011480747103e+00 + -2.866166843039399e+00 -2.866320775137251e+00 -2.866473281033156e+00 -2.866624364792500e+00 -2.866774031027124e+00 + -2.866922284373643e+00 -2.867069129021301e+00 -2.867214569108258e+00 -2.867358609015685e+00 -2.867501253183005e+00 + -2.867642506039625e+00 -2.867782372075631e+00 -2.867920856033839e+00 -2.868057962606175e+00 -2.868193696028257e+00 + -2.868328060561013e+00 -2.868461061022879e+00 -2.868592702303233e+00 -2.868722989017701e+00 -2.868851925722842e+00 + -2.868979517012722e+00 -2.869105767524959e+00 -2.869230682033886e+00 -2.869354265317122e+00 -2.869476522028743e+00 + -2.869597456891174e+00 -2.869717075023798e+00 -2.869835381525858e+00 -2.869952381019048e+00 -2.870068078133983e+00 + -2.870182478014490e+00 -2.870295585788873e+00 -2.870407406010122e+00 -2.870517943287246e+00 -2.870627203028626e+00 + -2.870735190678368e+00 -2.870841911024103e+00 -2.870947368779615e+00 -2.871051569019769e+00 -2.871154516959833e+00 + -2.871256218015620e+00 -2.871356677487263e+00 -2.871455900011655e+00 -2.871553890297982e+00 -2.871650654007871e+00 + -2.871746196881877e+00 -2.871840524023838e+00 -2.871933640394619e+00 -2.872025551019907e+00 -2.872116261043417e+00 + -2.872205776016155e+00 -2.872294101539941e+00 -2.872381243012580e+00 -2.872467205758066e+00 -2.872551995009178e+00 + -2.872635615995248e+00 -2.872718074023048e+00 -2.872799374482606e+00 -2.872879523019508e+00 -2.872958525324841e+00 + -2.873036387016140e+00 -2.873113113575017e+00 -2.873188710012942e+00 -2.873263181462381e+00 -2.873336534009911e+00 + -2.873408773769060e+00 -2.873479906007045e+00 -2.873549935889074e+00 -2.873618869018622e+00 -2.873686711126628e+00 + -2.873753468015626e+00 -2.873819145455355e+00 -2.873883749012791e+00 -2.873947284262238e+00 -2.874009757010115e+00 + -2.874071173064448e+00 -2.874131538007598e+00 -2.874190857408149e+00 -2.874249137005235e+00 -2.874306382592947e+00 + -2.874362600014657e+00 -2.874417795154723e+00 -2.874471974012172e+00 -2.874525142492177e+00 -2.874577306009839e+00 + -2.874628470067637e+00 -2.874678641007656e+00 -2.874727825164796e+00 -2.874776028005620e+00 -2.874823254939239e+00 + -2.874869512013286e+00 -2.874914805384953e+00 -2.874959141011137e+00 -2.875002524843012e+00 -2.875044963009132e+00 + -2.875086461553842e+00 -2.875127026007268e+00 -2.875166661990855e+00 -2.875205376005544e+00 -2.875243174521211e+00 + -2.875280063003956e+00 -2.875316046953741e+00 -2.875351133009737e+00 -2.875385327829893e+00 -2.875418637008044e+00 + -2.875451066029114e+00 -2.875482621006486e+00 -2.875513308222273e+00 -2.875543134005058e+00 -2.875572104616458e+00 + -2.875600226003760e+00 -2.875627504088381e+00 -2.875653945002586e+00 -2.875679554924722e+00 -2.875704340006628e+00 + -2.875728306365356e+00 -2.875751460005359e+00 -2.875773807024162e+00 -2.875795354004213e+00 -2.875816107441742e+00 + -2.875836073003188e+00 -2.875855256356105e+00 -2.875873664002281e+00 -2.875891302525273e+00 -2.875908178001488e+00 + -2.875924296429527e+00 -2.875939664003940e+00 -2.875954287022889e+00 -2.875968172003060e+00 -2.875981325374513e+00 + -2.875993753002293e+00 -2.876005460745149e+00 -2.876016455001635e+00 -2.876026742281703e+00 -2.876036329001085e+00 + -2.876045221511428e+00 -2.876053426002279e+00 -2.876060948682664e+00 -2.876067796001651e+00 -2.876073974394489e+00 + -2.876079490001126e+00 -2.876084348997735e+00 -2.876088558000703e+00 -2.876092123620084e+00 -2.876095052000378e+00 + -2.876097349275196e+00 -2.876099022000147e+00 -2.876100076780735e+00 -2.876100520000039e+00 -2.876100357977497e+00 + -2.876099597000405e+00 -2.876098243435337e+00 -2.876096303998139e+00 -2.876093785401991e+00 -2.876090694000126e+00 + -2.876087036076098e+00 -2.876082817994697e+00 -2.876078046153286e+00 -2.876072726998279e+00 -2.876066867041051e+00 + -2.876060473003754e+00 -2.876053551562065e+00 -2.876046108994973e+00 -2.876038151582050e+00 -2.876029686001908e+00 + -2.876020718975022e+00 -2.876011256990315e+00 -2.876001306494705e+00 -2.875990873998654e+00 -2.875979966015766e+00 + -2.875968589008655e+00 -2.875956749461299e+00 -2.875944453994101e+00 -2.875931709272467e+00 -2.875918522005370e+00 + -2.875904898821941e+00 -2.875890845988358e+00 -2.875876369796106e+00 -2.875861477000839e+00 -2.875846174460938e+00 + -2.875830468981534e+00 -2.875814367182402e+00 -2.875797874995170e+00 -2.875780998493851e+00 -2.875763745010153e+00 + -2.875746121853747e+00 -2.875728134988475e+00 -2.875709790337169e+00 -2.875691095004476e+00 -2.875672056151185e+00 + -2.875652679980860e+00 -2.875632972639220e+00 -2.875612940997824e+00 -2.875592591983200e+00 -2.875571932015899e+00 + -2.875550967463832e+00 -2.875529704990307e+00 -2.875508151305197e+00 -2.875486313009207e+00 -2.875464196688727e+00 + -2.875441808982035e+00 -2.875419156538716e+00 -2.875396246001703e+00 -2.875373083982446e+00 -2.875349676973115e+00 + -2.875326031456047e+00 -2.875302153993497e+00 -2.875278051224424e+00 -2.875253730014671e+00 -2.875229197164465e+00 + -2.875204458984698e+00 -2.875179521740897e+00 -2.875154392006447e+00 -2.875129076470253e+00 -2.875103581975416e+00 + -2.875077915323747e+00 -2.875052082997684e+00 -2.875026091410789e+00 -2.874999947020509e+00 -2.874973656330889e+00 + -2.874947225988491e+00 -2.874920662667701e+00 -2.874893973011697e+00 -2.874867163623783e+00 -2.874840240978976e+00 + -2.874813211559227e+00 -2.874786082002508e+00 -2.874758858958694e+00 -2.874731548969249e+00 -2.874704158521300e+00 + -2.874676693993052e+00 -2.874649161850167e+00 -2.874621569017096e+00 -2.874593922351292e+00 -2.874566227983435e+00 + -2.874538491996276e+00 -2.874510721007613e+00 -2.874482921761722e+00 -2.874455100973768e+00 -2.874427265275985e+00 + -2.874399420998023e+00 -2.874371574431975e+00 -2.874343732022288e+00 -2.874315900299783e+00 -2.874288085988434e+00 + -2.874260295776052e+00 -2.874232536012641e+00 -2.874204812974258e+00 -2.874177132978955e+00 -2.874149502426689e+00 + -2.874121928003048e+00 -2.874094416390038e+00 -2.874066973969692e+00 -2.874039607056358e+00 -2.874012321993617e+00 + -2.873985125156578e+00 -2.873958023017241e+00 -2.873931022092817e+00 -2.873904128984454e+00 -2.873877350227203e+00 + -2.873850692007775e+00 -2.873824160475146e+00 -2.873797761975665e+00 -2.873771502947487e+00 -2.873745389998629e+00 + -2.873719429664607e+00 -2.873693628021065e+00 -2.873667991196405e+00 -2.873642525989910e+00 -2.873617239207638e+00 + -2.873592137011854e+00 -2.873567225478465e+00 -2.873542510981722e+00 -2.873517999984164e+00 -2.873493699003122e+00 + -2.873469614539558e+00 -2.873445752974173e+00 -2.873422120664412e+00 -2.873398723994974e+00 -2.873375569341346e+00 + -2.873352663014937e+00 -2.873330011368907e+00 -2.873307620987516e+00 -2.873285498440290e+00 -2.873263650006746e+00 + -2.873242081977908e+00 -2.873220800980854e+00 -2.873199813610778e+00 -2.873179125999297e+00 -2.873158744269642e+00 + -2.873138674975094e+00 -2.873118924733721e+00 -2.873099499992696e+00 -2.873080407078925e+00 -2.873061652009151e+00 + -2.873043240951156e+00 -2.873025180987050e+00 -2.873007479104932e+00 -2.872990141002529e+00 -2.872973172348110e+00 + -2.872956579982463e+00 -2.872940370832477e+00 -2.872924550996914e+00 -2.872909126514257e+00 -2.872894104009989e+00 + -2.872879490127201e+00 -2.872865290992410e+00 -2.872851512733995e+00 -2.872838162004323e+00 -2.872825245427317e+00 + -2.872812768989124e+00 -2.872800738661925e+00 -2.872789160999820e+00 -2.872778042642130e+00 -2.872767389987160e+00 + -2.872757209355336e+00 -2.872747506996586e+00 -2.872738289140315e+00 -2.872729562004331e+00 -2.872721331833777e+00 + -2.872713604994726e+00 -2.872706387896571e+00 -2.872699687001068e+00 -2.872693508692679e+00 -2.872687858994343e+00 + -2.872682743943764e+00 -2.872678169999229e+00 -2.872674143639194e+00 -2.872670671002211e+00 -2.872667758252759e+00 + -2.872665411998920e+00 -2.872663638727966e+00 -2.872662444000314e+00 -2.872661833458480e+00 -2.872661814000242e+00 + -2.872662392564575e+00 -2.872663574999996e+00 -2.872665367034357e+00 -2.872667775003300e+00 -2.872670805307676e+00 + -2.872674464001362e+00 -2.872678757122995e+00 -2.872683690997219e+00 -2.872689271947241e+00 -2.872695506004511e+00 + -2.872702399218003e+00 -2.872709957998547e+00 -2.872718188690384e+00 -2.872727097009549e+00 -2.872736688669513e+00 + -2.872746970001709e+00 -2.872757947412680e+00 -2.872769626991446e+00 -2.872782014787135e+00 -2.872795117006809e+00 + -2.872808939808297e+00 -2.872823488994544e+00 -2.872838770359238e+00 -2.872854790013944e+00 -2.872871554154958e+00 + -2.872889068999627e+00 -2.872907340687168e+00 -2.872926375023218e+00 -2.872946177789640e+00 -2.872966755006795e+00 + -2.872988112738970e+00 -2.873010256987659e+00 -2.873033193743455e+00 -2.873056929016149e+00 -2.873081468798353e+00 + -2.873106818994782e+00 -2.873132985471494e+00 -2.873159974027786e+00 -2.873187790508094e+00 -2.873216441004140e+00 + -2.873245931584463e+00 -2.873276267977569e+00 -2.873307455856915e+00 -2.873339501015828e+00 -2.873372409342765e+00 + -2.873406186986854e+00 -2.873440840030674e+00 -2.873476374029945e+00 -2.873512794459630e+00 -2.873550106998518e+00 + -2.873588317466817e+00 -2.873627432046586e+00 -2.873667456808100e+00 -2.873708397012657e+00 -2.873750257967860e+00 + -2.873793045975522e+00 -2.873836767295967e+00 -2.873881427029366e+00 -2.873927030237608e+00 -2.873973582989610e+00 + -2.874021091436191e+00 -2.874069561048740e+00 -2.874118997257345e+00 -2.874169406006314e+00 -2.874220793186470e+00 + -2.874273163960479e+00 -2.874326523535612e+00 -2.874380878025728e+00 -2.874436233504353e+00 -2.874492594977105e+00 + -2.874549967456173e+00 -2.874608357047944e+00 -2.874667769870749e+00 -2.874728210996486e+00 -2.874789685444839e+00 + -2.874852199073056e+00 -2.874915757808161e+00 -2.874980367018717e+00 -2.875046031956011e+00 -2.875112757960702e+00 + -2.875180550448241e+00 -2.875249415043884e+00 -2.875319357389408e+00 -2.875390382982873e+00 -2.875462497200150e+00 + -2.875535705072081e+00 -2.875610011724477e+00 -2.875685423008027e+00 -2.875761944747628e+00 -2.875839581940104e+00 + -2.875918339524430e+00 -2.875998223036253e+00 -2.876079238083328e+00 -2.876161389965175e+00 -2.876244683897332e+00 + -2.876329125067640e+00 -2.876414718675390e+00 -2.876501469993362e+00 -2.876589384334920e+00 -2.876678467102276e+00 + -2.876768723646439e+00 -2.876860159024752e+00 -2.876952778311590e+00 -2.877046586943105e+00 -2.877141590285005e+00 + -2.877237793059432e+00 -2.877335200055582e+00 -2.877433816974432e+00 -2.877533649470098e+00 -2.877634702097487e+00 + -2.877736979404358e+00 -2.877840487009089e+00 -2.877945230580227e+00 -2.878051214916385e+00 -2.878158444703550e+00 + -2.878266925047163e+00 -2.878376661120778e+00 -2.878487657950954e+00 -2.878599920558564e+00 -2.878713454088738e+00 + -2.878828263638601e+00 -2.878944353988982e+00 -2.879061729871082e+00 -2.879180396133895e+00 -2.879300357745253e+00 + -2.879421620030550e+00 -2.879544188234639e+00 -2.879668066922659e+00 -2.879793260582870e+00 -2.879919774075741e+00 + -2.880047612428619e+00 -2.880176780964157e+00 -2.880307284823274e+00 -2.880439128124635e+00 -2.880572315044195e+00 + -2.880706851009318e+00 -2.880842741491739e+00 -2.880979990889281e+00 -2.881118603470176e+00 -2.881258584058220e+00 + -2.881399937594580e+00 -2.881542668934350e+00 -2.881686782880171e+00 -2.881832284110943e+00 -2.881979177270132e+00 + -2.882127466983199e+00 -2.882277157822698e+00 -2.882428254167564e+00 -2.882580760515876e+00 -2.882734682035907e+00 + -2.882890023809088e+00 -2.883046789899305e+00 -2.883204984344022e+00 -2.883364612092550e+00 -2.883525678164890e+00 + -2.883688186951939e+00 -2.883852142755886e+00 -2.884017550153203e+00 -2.884184413751485e+00 -2.884352738008543e+00 + -2.884522527349429e+00 -2.884693786217942e+00 -2.884866519029743e+00 -2.885040730069195e+00 -2.885216423722596e+00 + -2.885393604915286e+00 -2.885572278454246e+00 -2.885752448133968e+00 -2.885934117732660e+00 -2.886117291975880e+00 + -2.886301975695701e+00 -2.886488173202934e+00 -2.886675888645447e+00 -2.886865126040629e+00 -2.887055889528861e+00 + -2.887248183873006e+00 -2.887442013779875e+00 -2.887637383109605e+00 -2.887834295673936e+00 -2.888032755937675e+00 + -2.888232768417303e+00 -2.888434337182880e+00 -2.888637466267979e+00 -2.888842160006608e+00 -2.889048422705334e+00 + -2.889256258260521e+00 -2.889465670586525e+00 -2.889676664079871e+00 -2.889889243164732e+00 -2.890103411893701e+00 + -2.890319174230825e+00 -2.890536534157536e+00 -2.890755495690120e+00 -2.890976062966901e+00 -2.891198240133124e+00 + -2.891422031239666e+00 -2.891647440271526e+00 -2.891874471044534e+00 -2.892103127449178e+00 -2.892333413843735e+00 + -2.892565334531329e+00 -2.892798893126666e+00 -2.893034093211137e+00 -2.893270938921286e+00 -2.893509434394119e+00 + -2.893749583213363e+00 -2.893991388990754e+00 -2.894234856003367e+00 -2.894479988544211e+00 -2.894726790304690e+00 + -2.894975264880993e+00 -2.895225416090045e+00 -2.895477247800793e+00 -2.895730763869547e+00 -2.895985968110420e+00 + -2.896242864181383e+00 -2.896501455784724e+00 -2.896761746956156e+00 -2.897023741664482e+00 -2.897287443277443e+00 + -2.897552855132549e+00 -2.897819981047455e+00 -2.898088824960355e+00 -2.898359390811481e+00 -2.898631682423090e+00 + -2.898905703143506e+00 -2.899181456336644e+00 -2.899458945902694e+00 -2.899738175745144e+00 -2.900019149244370e+00 + -2.900301869748365e+00 -2.900586340998689e+00 -2.900872566741790e+00 -2.901160550350105e+00 -2.901450295205248e+00 + -2.901741805099525e+00 -2.902035083835090e+00 -2.902330134842785e+00 -2.902626961482952e+00 -2.902925567205262e+00 + -2.903225955501619e+00 -2.903528129943548e+00 -2.903832094083243e+00 -2.904137851315957e+00 -2.904445404943298e+00 + -2.904754758049239e+00 -2.905065913908475e+00 -2.905378876776237e+00 -2.905693650730528e+00 -2.906010238159916e+00 + -2.906328641477237e+00 -2.906648864881840e+00 -2.906970912612057e+00 -2.907294787275635e+00 -2.907620491421319e+00 + -2.907948028992455e+00 -2.908277404008211e+00 -2.908608619396449e+00 -2.908941677961907e+00 -2.909276583108139e+00 + -2.909613338320582e+00 -2.909951946813384e+00 -2.910292411733319e+00 -2.910634736228945e+00 -2.910978923497479e+00 + -2.911324976928991e+00 -2.911672899876866e+00 -2.912022695354926e+00 -2.912374366346152e+00 -2.912727916049746e+00 + -2.913083347735332e+00 -2.913440664738005e+00 -2.913799870293631e+00 -2.914160967175702e+00 -2.914523958205600e+00 + -2.914888846858668e+00 -2.915255636613397e+00 -2.915624330306910e+00 -2.915994930711883e+00 -2.916367440984558e+00 + -2.916741864289805e+00 -2.917118203443422e+00 -2.917496461287171e+00 -2.917876641115726e+00 -2.918258746264796e+00 + -2.918642779781321e+00 -2.919028744569610e+00 -2.919416643252220e+00 -2.919806478556714e+00 -2.920198253912409e+00 + -2.920591972698769e+00 -2.920987637394092e+00 -2.921385250442034e+00 -2.921784815048848e+00 -2.922186334507697e+00 + -2.922589811696789e+00 -2.922995249368979e+00 -2.923402650190686e+00 -2.923812016928122e+00 -2.924223352833133e+00 + -2.924636661116357e+00 -2.925051944337972e+00 -2.925469204994078e+00 -2.925888445974902e+00 -2.926309670222330e+00 + -2.926732880490753e+00 -2.927158079512877e+00 -2.927585270122142e+00 -2.928014455203420e+00 -2.928445637746579e+00 + -2.928878820641719e+00 -2.929314006274898e+00 -2.929751197043434e+00 -2.930190395893735e+00 -2.930631605816839e+00 + -2.931074829433217e+00 -2.931520069294359e+00 -2.931967328046430e+00 -2.932416608452995e+00 -2.932867913652596e+00 + -2.933321246608101e+00 -2.933776609204709e+00 -2.934234003435805e+00 -2.934693432805196e+00 -2.935154900804807e+00 + -2.935618409368617e+00 -2.936083960365691e+00 -2.936551556963400e+00 -2.937021202354904e+00 -2.937492898538196e+00 + -2.937966647468766e+00 -2.938442452127255e+00 -2.938920315642269e+00 -2.939400240709141e+00 -2.939882229846171e+00 + -2.940366285296803e+00 -2.940852409365155e+00 -2.941340604872910e+00 -2.941830874578781e+00 -2.942323220472084e+00 + -2.942817644603974e+00 -2.943314150042391e+00 -2.943812739919231e+00 -2.944313416605433e+00 -2.944816182292809e+00 + -2.945321039217627e+00 -2.945827989752984e+00 -2.946337036774817e+00 -2.946848183049044e+00 -2.947361430398659e+00 + -2.947876780695535e+00 -2.948394236949976e+00 -2.948913802216184e+00 -2.949435478585527e+00 -2.949959268045502e+00 + -2.950485173130951e+00 -2.951013196489051e+00 -2.951543340668991e+00 -2.952075608036040e+00 -2.952610000317780e+00 + -2.953146519451356e+00 -2.953685168849877e+00 -2.954225951787981e+00 -2.954768869510503e+00 -2.955313923227115e+00 + -2.955861116036636e+00 -2.956410451196468e+00 -2.956961930709160e+00 -2.957515556348660e+00 -2.958071330229310e+00 + -2.958629254704319e+00 -2.959189332741965e+00 -2.959751567143614e+00 -2.960315959427935e+00 -2.960882511105170e+00 + -2.961451224934558e+00 -2.962022103774683e+00 -2.962595149632548e+00 -2.963170364371659e+00 -2.963747750133120e+00 + -2.964327309260061e+00 -2.964909044626116e+00 -2.965492958892178e+00 -2.966079053337689e+00 -2.966667329311879e+00 + -2.967257789824588e+00 -2.967850437973655e+00 -2.968445275548303e+00 -2.969042304161408e+00 -2.969641526029084e+00 + -2.970242943489398e+00 -2.970846558764995e+00 -2.971452374012471e+00 -2.972060391239641e+00 -2.972670612566008e+00 + -2.973283040706606e+00 -2.973897678221620e+00 -2.974514526456296e+00 -2.975133586785449e+00 -2.975754861917081e+00 + -2.976378354633252e+00 -2.977004066679083e+00 -2.977631999719257e+00 -2.978262156133669e+00 -2.978894538388579e+00 + -2.979529148580497e+00 -2.980165988659094e+00 -2.980805060356407e+00 -2.981446365534977e+00 -2.982089906796993e+00 + -2.982735686662750e+00 -2.983383706585328e+00 -2.984033968085205e+00 -2.984686474019655e+00 -2.985341227187940e+00 + -2.985998228820469e+00 -2.986657480057624e+00 -2.987318983248517e+00 -2.987982740990944e+00 -2.988648755668708e+00 + -2.989317029403636e+00 -2.989987563483614e+00 -2.990660359350691e+00 -2.991335419897486e+00 -2.992012747963469e+00 + -2.992692344724977e+00 -2.993374211287029e+00 -2.994058350132512e+00 -2.994744763907397e+00 -2.995433454532118e+00 + -2.996124423756546e+00 -2.996817673373822e+00 -2.997513205283444e+00 -2.998211021767050e+00 -2.998911125033880e+00 + -2.999613516621449e+00 -3.000318198120732e+00 -3.001025172008281e+00 -3.001734440748973e+00 -3.002446005875424e+00 + -3.003159868783688e+00 -3.003876031255844e+00 -3.004594495323234e+00 -3.005315263628241e+00 -3.006038338638268e+00 + -3.006763721509772e+00 -3.007491413411925e+00 -3.008221416875716e+00 -3.008953734497098e+00 -3.009688367770095e+00 + -3.010425318036306e+00 -3.011164587129571e+00 -3.011906177113799e+00 -3.012650090480955e+00 -3.013396329533748e+00 + -3.014144895389836e+00 -3.014895789237767e+00 -3.015649013734712e+00 -3.016404571515447e+00 -3.017162463656545e+00 + -3.017922691248400e+00 -3.018685256994897e+00 -3.019450163571901e+00 -3.020217411929727e+00 -3.020987002987051e+00 + -3.021758939261538e+00 -3.022533223477289e+00 -3.023309857585168e+00 -3.024088843221124e+00 -3.024870181534668e+00 + -3.025653873871900e+00 -3.026439922851719e+00 -3.027228331077071e+00 -3.028019099814318e+00 -3.028812230192102e+00 + -3.029607724124773e+00 -3.030405583764245e+00 -3.031205811426982e+00 -3.032008409239547e+00 -3.032813378404362e+00 + -3.033620720145768e+00 -3.034430436699938e+00 -3.035242530366928e+00 -3.036057002690514e+00 -3.036873855182042e+00 + -3.037693089979441e+00 -3.038514709166424e+00 -3.039338713983260e+00 -3.040165105664532e+00 -3.040993886265523e+00 + -3.041825058080565e+00 -3.042658623539453e+00 -3.043494584770202e+00 -3.044332942558215e+00 -3.045173697755793e+00 + -3.046016852825442e+00 -3.046862410359265e+00 -3.047710371857544e+00 -3.048560738605269e+00 -3.049413512118055e+00 + -3.050268694173960e+00 -3.051126287370169e+00 -3.051986294136892e+00 -3.052848715417321e+00 -3.053713552140092e+00 + -3.054580806662679e+00 -3.055450481419417e+00 -3.056322577723267e+00 -3.057197096839233e+00 -3.058074040961857e+00 + -3.058953412280709e+00 -3.059835212035924e+00 -3.060719441405425e+00 -3.061606102267731e+00 -3.062495196777212e+00 + -3.063386727491054e+00 -3.064280696619269e+00 -3.065177104580330e+00 -3.066075951959016e+00 -3.066977241796834e+00 + -3.067880977177860e+00 -3.068787158899685e+00 -3.069695787543252e+00 -3.070606865109353e+00 -3.071520393938529e+00 + -3.072436376310475e+00 -3.073354814200677e+00 -3.074275708428639e+00 -3.075199059975246e+00 -3.076124871622891e+00 + -3.077053146054635e+00 -3.077983883754724e+00 -3.078917085313194e+00 -3.079852753942089e+00 -3.080790892784741e+00 + -3.081731502087634e+00 -3.082674582011150e+00 -3.083620135268097e+00 -3.084568164866139e+00 -3.085518672439932e+00 + -3.086471659270948e+00 -3.087427126600947e+00 -3.088385075921834e+00 -3.089345509765843e+00 -3.090308430518810e+00 + -3.091273838940665e+00 -3.092241735746584e+00 -3.093212123098609e+00 -3.094185003484481e+00 -3.095160379247863e+00 + -3.096138252358965e+00 -3.097118623438258e+00 -3.098101493262150e+00 -3.099086864580523e+00 -3.100074740150514e+00 + -3.101065120784818e+00 -3.102058007230942e+00 -3.103053401920080e+00 -3.104051307417155e+00 -3.105051725138318e+00 + -3.106054656274756e+00 -3.107060102266563e+00 -3.108068064811119e+00 -3.109078546386035e+00 -3.110091549326776e+00 + -3.111107074619999e+00 -3.112125123273996e+00 -3.113145697732417e+00 -3.114168800386244e+00 -3.115194431980418e+00 + -3.116222593318652e+00 -3.117253287085768e+00 -3.118286516039464e+00 -3.119322281347848e+00 -3.120360583948459e+00 + -3.121401425446115e+00 -3.122444807777008e+00 -3.123490733535526e+00 -3.124539205035892e+00 -3.125590222813487e+00 + -3.126643787500575e+00 -3.127699901895779e+00 -3.128758568841378e+00 -3.129819789187914e+00 -3.130883563634097e+00 + -3.131949894263071e+00 -3.133018783446947e+00 -3.134090233329311e+00 -3.135164245759380e+00 -3.136240821637432e+00 + -3.137319962039862e+00 -3.138401669696502e+00 -3.139485947209752e+00 -3.140572795018887e+00 -3.141662213641400e+00 + -3.142754206070774e+00 -3.143848775370422e+00 -3.144945922407469e+00 -3.146045647810740e+00 -3.147147953452156e+00 + -3.148252841552866e+00 -3.149360314487843e+00 -3.150470374336312e+00 -3.151583021840677e+00 -3.152698257836541e+00 + -3.153816084869129e+00 -3.154936505573740e+00 -3.156059521236365e+00 -3.157185132934072e+00 -3.158313342257567e+00 + -3.159444151127381e+00 -3.160577562269707e+00 -3.161713578058511e+00 -3.162852198653188e+00 -3.163993424406347e+00 + -3.165137258658042e+00 -3.166283704751602e+00 -3.167432763056018e+00 -3.168584433853514e+00 -3.169738720053572e+00 + -3.170895624664928e+00 -3.172055148466089e+00 -3.173217292044841e+00 -3.174382057456326e+00 -3.175549447119023e+00 + -3.176719463437418e+00 -3.177892108465135e+00 -3.179067382866334e+00 -3.180245287430775e+00 -3.181425824840074e+00 + -3.182608997807819e+00 -3.183794807283624e+00 -3.184983254083125e+00 -3.186174340249998e+00 -3.187368068149750e+00 + -3.188564440207163e+00 -3.189763458501066e+00 -3.190965123667219e+00 -3.192169436468204e+00 -3.193376399616980e+00 + -3.194586015855556e+00 -3.195798286091764e+00 -3.197013211234878e+00 -3.198230794034108e+00 -3.199451037209393e+00 + -3.200673941523666e+00 -3.201899507599942e+00 -3.203127737458575e+00 -3.204358633517069e+00 -3.205592198384193e+00 + -3.206828434306502e+00 -3.208067341890413e+00 -3.209308921829809e+00 -3.210553176808560e+00 -3.211800109598040e+00 + -3.213049721329648e+00 -3.214302012941719e+00 -3.215556986240311e+00 -3.216814643392485e+00 -3.218074987141617e+00 + -3.219338019837523e+00 -3.220603741679474e+00 -3.221872153094758e+00 -3.223143257573258e+00 -3.224417058543514e+00 + -3.225693556126080e+00 -3.226972750453261e+00 -3.228254645012327e+00 -3.229539243310538e+00 -3.230826545580160e+00 + -3.232116551831102e+00 -3.233409264458852e+00 -3.234704686394765e+00 -3.236002820328103e+00 -3.237303668413965e+00 + -3.238607230912866e+00 -3.239913508296335e+00 -3.241222503774527e+00 -3.242534220589764e+00 -3.243848659374397e+00 + -3.245165820540432e+00 -3.246485706228452e+00 -3.247808319087641e+00 -3.249133662073000e+00 -3.250461737608715e+00 + -3.251792545689908e+00 -3.253126086515263e+00 -3.254462363526813e+00 -3.255801380232294e+00 -3.257143137158927e+00 + -3.258487634736825e+00 -3.259834875988172e+00 -3.261184864013611e+00 -3.262537599635538e+00 -3.263893083453904e+00 + -3.265251317457108e+00 -3.266612304094287e+00 -3.267976046269084e+00 -3.269342546452898e+00 -3.270711804933652e+00 + -3.272083822201368e+00 -3.273458601737915e+00 -3.274836147008249e+00 -3.276216458417835e+00 -3.277599536106921e+00 + -3.278985382214368e+00 -3.280373999474050e+00 -3.281765391001240e+00 -3.283159559381294e+00 -3.284556504698475e+00 + -3.285956227223949e+00 -3.287358730477579e+00 -3.288764018003004e+00 -3.290172090190266e+00 -3.291582947391597e+00 + -3.292996592961586e+00 -3.294413030263101e+00 -3.295832259689772e+00 -3.297254281509102e+00 -3.298679098453292e+00 + -3.300106713632883e+00 -3.301537129207062e+00 -3.302970346938195e+00 -3.304406367952729e+00 -3.305845193592728e+00 + -3.307286826698660e+00 -3.308731270022015e+00 -3.310178524459931e+00 -3.311628590794006e+00 -3.313081471198005e+00 + -3.314537168271639e+00 -3.315995684926260e+00 -3.317457023622331e+00 -3.318921184705128e+00 -3.320388168757214e+00 + -3.321857979425488e+00 -3.323330620242623e+00 -3.324806091220061e+00 -3.326284392457951e+00 -3.327765527932510e+00 + -3.329249501635255e+00 -3.330736313742837e+00 -3.332225964151081e+00 -3.333718455447356e+00 -3.335213790816533e+00 + -3.336711973141963e+00 -3.338213004741188e+00 -3.339716885970061e+00 -3.341223617428788e+00 -3.342733202656698e+00 + -3.344245645175923e+00 -3.345760945500658e+00 -3.347279103963591e+00 -3.348800123179309e+00 -3.350324006237700e+00 + -3.351850755847976e+00 -3.353380374190363e+00 -3.354912861709826e+00 -3.356448219173252e+00 -3.357986450370467e+00 + -3.359527558984502e+00 -3.361071545248283e+00 -3.362618409368982e+00 -3.364168154900880e+00 -3.365720785489059e+00 + -3.367276301794712e+00 -3.368834704260551e+00 -3.370395995439248e+00 -3.371960178388195e+00 -3.373527256073704e+00 + -3.375097230883950e+00 -3.376670102985606e+00 -3.378245872877927e+00 -3.379824544611959e+00 -3.381406122149057e+00 + -3.382990605539988e+00 -3.384577994855671e+00 -3.386168294158221e+00 -3.387761507524905e+00 -3.389357635102426e+00 + -3.390956676825633e+00 -3.392558635712520e+00 -3.394163515324364e+00 -3.395771318312439e+00 -3.397382046745834e+00 + -3.398995701274896e+00 -3.400612282828281e+00 -3.402231794866633e+00 -3.403854240867662e+00 -3.405479621845378e+00 + -3.407107938586081e+00 -3.408739193428916e+00 -3.410373389185216e+00 -3.412010529002203e+00 -3.413650615518111e+00 + -3.415293648999326e+00 -3.416939629995896e+00 -3.418588562564371e+00 -3.420240450691449e+00 -3.421895294577897e+00 + -3.423553094414080e+00 -3.425213854134680e+00 -3.426877577792018e+00 -3.428544266164663e+00 -3.430213919689846e+00 + -3.431886540713168e+00 -3.433562132145608e+00 -3.435240697251321e+00 -3.436922238808692e+00 -3.438606757299870e+00 + -3.440294253397158e+00 -3.441984730829699e+00 -3.443678193368453e+00 -3.445374641894819e+00 -3.447074077051543e+00 + -3.448776501416308e+00 -3.450481918039497e+00 -3.452190329927366e+00 -3.453901739641781e+00 -3.455616148011183e+00 + -3.457333556082980e+00 -3.459053967513855e+00 -3.460777385853499e+00 -3.462503811614361e+00 -3.464233245386620e+00 + -3.465965691108627e+00 -3.467701152771073e+00 -3.469439631225878e+00 -3.471181127031554e+00 -3.472925642711720e+00 + -3.474673181335264e+00 -3.476423746187027e+00 -3.478177340029919e+00 -3.479933963323171e+00 -3.481693616824597e+00 + -3.483456304790008e+00 -3.485222031388338e+00 -3.486990796943019e+00 -3.488762601570069e+00 -3.490537448401365e+00 + -3.492315341151373e+00 -3.494096282849095e+00 -3.495880275915030e+00 -3.497667321021135e+00 -3.499457419173128e+00 + -3.501250574460328e+00 -3.503046790838973e+00 -3.504846068649357e+00 -3.506648408298966e+00 -3.508453814079994e+00 + -3.510262290280344e+00 -3.512073837286068e+00 -3.513888455301771e+00 -3.515706147708129e+00 -3.517526918395819e+00 + -3.519350770119465e+00 -3.521177705073145e+00 -3.523007724344773e+00 -3.524840829328240e+00 -3.526677023747485e+00 + -3.528516311267811e+00 -3.530358692989965e+00 -3.532204169811781e+00 -3.534052744384031e+00 -3.535904419874647e+00 + -3.537759199767289e+00 -3.539617087002065e+00 -3.541478082029144e+00 -3.543342185630307e+00 -3.545209402403708e+00 + -3.547079736777425e+00 -3.548953188682862e+00 -3.550829758143615e+00 -3.552709450048714e+00 -3.554592269345012e+00 + -3.556478216345227e+00 -3.558367291032073e+00 -3.560259496702344e+00 -3.562154837300620e+00 -3.564053316048536e+00 + -3.565954935512961e+00 -3.567859696364639e+00 -3.569767599635964e+00 -3.571678649702049e+00 -3.573592850895430e+00 + -3.575510204035641e+00 -3.577430709619281e+00 -3.579354370364244e+00 -3.581281189700099e+00 -3.583211171681835e+00 + -3.585144319721653e+00 -3.587080634035166e+00 -3.589020115063184e+00 -3.590962767343901e+00 -3.592908595415016e+00 + -3.594857599714854e+00 -3.596809780701911e+00 -3.598765143014713e+00 -3.600723691343250e+00 -3.602685426403352e+00 + -3.604650348553174e+00 -3.606618460694309e+00 -3.608589766473437e+00 -3.610564269974137e+00 -3.612541974573128e+00 + -3.614522880382737e+00 -3.616506987803558e+00 -3.618494301653613e+00 -3.620484826823921e+00 -3.622478564080036e+00 + -3.624475513850586e+00 -3.626475679341938e+00 -3.628479064392689e+00 -3.630485672592619e+00 -3.632495506905407e+00 + -3.634508568039156e+00 -3.636524857004877e+00 -3.638544378280809e+00 -3.640567136287224e+00 -3.642593131745308e+00 + -3.644622365423449e+00 -3.646654841977913e+00 -3.648690566065893e+00 -3.650729538460438e+00 -3.652771759626902e+00 + -3.654817232683972e+00 -3.656865961450936e+00 -3.658917949896158e+00 -3.660973201344661e+00 -3.663031716399031e+00 + -3.665093495929850e+00 -3.667158544602091e+00 -3.669226867066577e+00 -3.671298464123134e+00 -3.673373336353373e+00 + -3.675451487317045e+00 -3.677532921173144e+00 -3.679617641499514e+00 -3.681705651197185e+00 -3.683796951041065e+00 + -3.685891542158701e+00 -3.687989429214330e+00 -3.690090616811484e+00 -3.692195105774196e+00 -3.694302896934788e+00 + -3.696413994938233e+00 -3.698528404463948e+00 -3.700646126516483e+00 -3.702767161822413e+00 -3.704891513671268e+00 + -3.707019186005269e+00 -3.709150182814482e+00 -3.711284507419287e+00 -3.713422160413482e+00 -3.715563142750310e+00 + -3.717707459547388e+00 -3.719855115839397e+00 -3.722006112164920e+00 -3.724160448777861e+00 -3.726318129289493e+00 + -3.728479158099316e+00 -3.730643539402395e+00 -3.732811276589775e+00 -3.734982370040845e+00 -3.737156820495128e+00 + -3.739334633144358e+00 -3.741515813112657e+00 -3.743700360801490e+00 -3.745888276640612e+00 -3.748079565895588e+00 + -3.750274233918474e+00 -3.752472281571475e+00 -3.754673709335501e+00 -3.756878520656135e+00 -3.759086719721971e+00 + -3.761298310728990e+00 -3.763513297133539e+00 -3.765731679426046e+00 -3.767953458457793e+00 -3.770178639489403e+00 + -3.772407227784000e+00 -3.774639224205367e+00 -3.776874629489326e+00 -3.779113448259203e+00 -3.781355685279774e+00 + -3.783601341994148e+00 -3.785850419525435e+00 -3.788102921038436e+00 -3.790358850378410e+00 -3.792618212070778e+00 + -3.794881010002580e+00 -3.797147244827153e+00 -3.799416917428862e+00 -3.801690032849888e+00 -3.803966596190487e+00 + -3.806246608625402e+00 -3.808530070983860e+00 -3.810816986638503e+00 -3.813107359693981e+00 -3.815401194639556e+00 + -3.817698495297397e+00 -3.819999262436677e+00 -3.822303497093916e+00 -3.824611204428034e+00 -3.826922389548483e+00 + -3.829237053244454e+00 -3.831555196353405e+00 -3.833876824226091e+00 -3.836201942201953e+00 -3.838530551061888e+00 + -3.840862651326505e+00 -3.843198247033778e+00 -3.845537342919513e+00 -3.847879942993476e+00 -3.850226050562932e+00 + -3.852575666851148e+00 -3.854928793361406e+00 -3.857285434801036e+00 -3.859645595950435e+00 -3.862009278678248e+00 + -3.864376484523473e+00 -3.866747216618300e+00 -3.869121478726629e+00 -3.871499275546047e+00 -3.873880611182955e+00 + -3.876265486445322e+00 -3.878653902389424e+00 -3.881045864363169e+00 -3.883441377687285e+00 -3.885840443282151e+00 + -3.888243062046155e+00 -3.890649239190073e+00 -3.893058980047241e+00 -3.895472286128841e+00 -3.897889158595383e+00 + -3.900309601026809e+00 -3.902733617656517e+00 -3.905161212912323e+00 -3.907592390603840e+00 -3.910027151873432e+00 + -3.912465498159137e+00 -3.914907434748928e+00 -3.917352966879188e+00 -3.919802095729995e+00 -3.922254822259626e+00 + -3.924711150595445e+00 -3.927171085542605e+00 -3.929634631448325e+00 -3.932101791843537e+00 -3.934572567451927e+00 + -3.937046959532740e+00 -3.939524974294695e+00 -3.942006617767883e+00 -3.944491890318428e+00 -3.946980792233828e+00 + -3.949473329151056e+00 -3.951969506957779e+00 -3.954469327195002e+00 -3.956972790971958e+00 -3.959479902017460e+00 + -3.961990664762499e+00 -3.964505083827194e+00 -3.967023163167552e+00 -3.969544903893966e+00 -3.972070307479498e+00 + -3.974599379693463e+00 -3.977132126179292e+00 -3.979668547780628e+00 -3.982208645099321e+00 -3.984752422569858e+00 + -3.987299885436030e+00 -3.989851038346246e+00 -3.992405885069993e+00 -3.994964426456437e+00 -3.997526663815754e+00 + -4.000092603222488e+00 -4.002662250581340e+00 -4.005235606353252e+00 -4.007812671084819e+00 -4.010393451108941e+00 + -4.012977952843547e+00 -4.015566177260363e+00 -4.018158124897606e+00 -4.020753800005660e+00 -4.023353207686703e+00 + -4.025956352737950e+00 -4.028563239140089e+00 -4.031173867912699e+00 -4.033788240453579e+00 -4.036406362634527e+00 + -4.039028240314873e+00 -4.041653874830120e+00 -4.044283267179555e+00 -4.046916421541453e+00 -4.049553342894448e+00 + -4.052194036239657e+00 -4.054838505774454e+00 -4.057486752458788e+00 -4.060138777601743e+00 -4.062794587146426e+00 + -4.065454187011838e+00 -4.068117578386588e+00 -4.070784762448621e+00 -4.073455745063631e+00 -4.076130532171974e+00 + -4.078809125324914e+00 -4.081491525652789e+00 -4.084177736991329e+00 -4.086867764089578e+00 -4.089561612644448e+00 + -4.092259287473573e+00 -4.094960788929582e+00 -4.097666117736884e+00 -4.100375280572002e+00 -4.103088284211306e+00 + -4.105805129878449e+00 -4.108525818267906e+00 -4.111250353510137e+00 -4.113978740671802e+00 -4.116710985128399e+00 + -4.119447091422845e+00 -4.122187060458915e+00 -4.124930893522407e+00 -4.127678597066370e+00 -4.130430177441071e+00 + -4.133185635418395e+00 -4.135944971791250e+00 -4.138708193015015e+00 -4.141475305696859e+00 -4.144246311388639e+00 + -4.147021211130915e+00 -4.149800008974389e+00 -4.152582709893380e+00 -4.155369319546537e+00 -4.158159842709882e+00 + -4.160954279944561e+00 -4.163752632239020e+00 -4.166554906505763e+00 -4.169361109687737e+00 -4.172171242925584e+00 + -4.174985306927709e+00 -4.177803306475812e+00 -4.180625247195196e+00 -4.183451134012302e+00 -4.186280970992621e+00 + -4.189114759456745e+00 -4.191952501240072e+00 -4.194794202982180e+00 -4.197639871116617e+00 -4.200489506448629e+00 + -4.203343109834506e+00 -4.206200687962978e+00 -4.209062247657938e+00 -4.211927790451525e+00 -4.214797317400862e+00 + -4.217670832954751e+00 -4.220548342457539e+00 -4.223429851444060e+00 -4.226315364591702e+00 -4.229204882957573e+00 + -4.232098408004153e+00 -4.234995946435681e+00 -4.237897504949240e+00 -4.240803084971501e+00 -4.243712687544032e+00 + -4.246626317438374e+00 -4.249543980343883e+00 -4.252465681891192e+00 -4.255391426705907e+00 -4.258321215452209e+00 + -4.261255049361277e+00 -4.264192935893713e+00 -4.267134882389568e+00 -4.270080889477248e+00 -4.273030957691918e+00 + -4.275985093907401e+00 -4.278943305249538e+00 -4.281905593513557e+00 -4.284871959946388e+00 -4.287842408932329e+00 + -4.290816945777364e+00 -4.293795576336856e+00 -4.296778305653331e+00 -4.299765134968560e+00 -4.302756065899131e+00 + -4.305751105361620e+00 -4.308750260118541e+00 -4.311753531016159e+00 -4.314760919008608e+00 -4.317772431397722e+00 + -4.320788075591533e+00 -4.323807853075197e+00 -4.326831764792573e+00 -4.329859815445223e+00 -4.332892010759197e+00 + -4.335928356800809e+00 -4.338968858700405e+00 -4.342013517504197e+00 -4.345062334602749e+00 -4.348115316848165e+00 + -4.351172471198577e+00 -4.354233799574710e+00 -4.357299303495111e+00 -4.360368987907023e+00 -4.363442858590077e+00 + -4.366520921224746e+00 -4.369603180592436e+00 -4.372689637977453e+00 -4.375780295145305e+00 -4.378875159283436e+00 + -4.381974237486932e+00 -4.385077531059527e+00 -4.388185041309383e+00 -4.391296775353732e+00 -4.394412740393244e+00 + -4.397532938153312e+00 -4.400657369887305e+00 -4.403786040435705e+00 -4.406918955633090e+00 -4.410056121703311e+00 + -4.413197543940346e+00 -4.416343223529426e+00 -4.419493162052248e+00 -4.422647366785128e+00 -4.425805845047289e+00 + -4.428968598634965e+00 -4.432135628892382e+00 -4.435306940878729e+00 -4.438482540596634e+00 -4.441662434107552e+00 + -4.444846626509031e+00 -4.448035118984182e+00 -4.451227913265940e+00 -4.454425017200977e+00 -4.457626438485681e+00 + -4.460832178101560e+00 -4.464042236947444e+00 -4.467256622306292e+00 -4.470475341701105e+00 -4.473698397230936e+00 + -4.476925790483307e+00 -4.480157526423565e+00 -4.483393610985775e+00 -4.486634050601043e+00 -4.489878850742320e+00 + -4.493128012552872e+00 -4.496381537630165e+00 -4.499639433718156e+00 -4.502901708553144e+00 -4.506168363694287e+00 + -4.509439400268067e+00 -4.512714823847340e+00 -4.515994641019672e+00 -4.519278857985080e+00 -4.522567479881829e+00 + -4.525860507988668e+00 -4.529157944122721e+00 -4.532459796114085e+00 -4.535766071688615e+00 -4.539076772142213e+00 + -4.542391898765175e+00 -4.545711459255270e+00 -4.549035461446213e+00 -4.552363907308053e+00 -4.555696798263391e+00 + -4.559034139408705e+00 -4.562375936904542e+00 -4.565722197493832e+00 -4.569072926948550e+00 -4.572428126574475e+00 + -4.575787798129616e+00 -4.579151949647104e+00 -4.582520589075836e+00 -4.585893717752653e+00 -4.589271336639746e+00 + -4.592653451812744e+00 -4.596040070428725e+00 -4.599431198857142e+00 -4.602826842289216e+00 -4.606227001990830e+00 + -4.609631679831751e+00 -4.613040884022596e+00 -4.616454622677202e+00 -4.619872897181441e+00 -4.623295708819967e+00 + -4.626723065200532e+00 -4.630154974192006e+00 -4.633591438384649e+00 -4.637032459790966e+00 -4.640478043391029e+00 + -4.643928195196958e+00 -4.647382922381489e+00 -4.650842231139545e+00 -4.654306122594169e+00 -4.657774598295235e+00 + -4.661247666571815e+00 -4.664725335805659e+00 -4.668207607810025e+00 -4.671694483876048e+00 -4.675185969774820e+00 + -4.678682072408495e+00 -4.682182798723523e+00 -4.685688154522786e+00 -4.689198140990583e+00 -4.692712759891060e+00 + -4.696232019926335e+00 -4.699755929666950e+00 -4.703284490219185e+00 -4.706817702626076e+00 -4.710355575141943e+00 + -4.713898116290367e+00 -4.717445328460708e+00 -4.720997213393779e+00 -4.724553776370427e+00 -4.728115023824750e+00 + -4.731680963263822e+00 -4.735251601139764e+00 -4.738826938611875e+00 -4.742406977241646e+00 -4.745991725492132e+00 + -4.749581191958943e+00 -4.753175378866366e+00 -4.756774287871428e+00 -4.760377924733439e+00 -4.763986296289299e+00 + -4.767599409584012e+00 -4.771217270615820e+00 -4.774839880987831e+00 -4.778467242836293e+00 -4.782099364825118e+00 + -4.785736255481164e+00 -4.789377916255392e+00 -4.793024348603915e+00 -4.796675561079348e+00 -4.800331562360717e+00 + -4.803992354536202e+00 -4.807657939173200e+00 -4.811328322346788e+00 -4.815003511262576e+00 -4.818683513140625e+00 + -4.822368334073276e+00 -4.826057975627521e+00 -4.829752439872078e+00 -4.833451735407881e+00 -4.837155870922971e+00 + -4.840864848921632e+00 -4.844578671297884e+00 -4.848297343688468e+00 -4.852020872870312e+00 -4.855749266438375e+00 + -4.859482530948563e+00 -4.863220667982479e+00 -4.866963679596293e+00 -4.870711574718753e+00 -4.874464362148352e+00 + -4.878222043289993e+00 -4.881984619584831e+00 -4.885752100012597e+00 -4.889524493673498e+00 -4.893301802611106e+00 + -4.897084028340568e+00 -4.900871177319985e+00 -4.904663257144151e+00 -4.908460275011687e+00 -4.912262236942902e+00 + -4.916069144641015e+00 -4.919881000415621e+00 -4.923697813318887e+00 -4.927519592402767e+00 -4.931346339975771e+00 + -4.935178057730553e+00 -4.939014751639765e+00 -4.942856428895341e+00 -4.946703097286389e+00 -4.950554763469543e+00 + -4.954411428974413e+00 -4.958273095882141e+00 -4.962139773607051e+00 -4.966011471374763e+00 -4.969888190322918e+00 + -4.973769931656962e+00 -4.977656704941523e+00 -4.981548519919207e+00 -4.985445378685372e+00 -4.989347282670139e+00 + -4.993254238289898e+00 -4.997166253181426e+00 -5.001083334876794e+00 -5.005005489750602e+00 -5.008932719652265e+00 + -5.012865027026571e+00 -5.016802421224969e+00 -5.020744911403345e+00 -5.024692499028711e+00 -5.028645185619313e+00 + -5.032602980587180e+00 -5.036565893470627e+00 -5.040533926419334e+00 -5.044507081015939e+00 -5.048485363963517e+00 + -5.052468783200935e+00 -5.056457346489804e+00 -5.060451060330298e+00 -5.064449926354071e+00 -5.068453946757710e+00 + -5.072463130865962e+00 -5.076477488052552e+00 -5.080497020758939e+00 -5.084521730904982e+00 -5.088551625256381e+00 + -5.092586711696772e+00 -5.096626997735727e+00 -5.100672489712744e+00 -5.104723189661156e+00 -5.108779100266077e+00 + -5.112840231125939e+00 -5.116906591587866e+00 -5.120978183080382e+00 -5.125055007124604e+00 -5.129137073530554e+00 + -5.133224392250169e+00 -5.137316965514153e+00 -5.141414794882011e+00 -5.145517886949661e+00 -5.149626249667421e+00 + -5.153739891366810e+00 -5.157858819095347e+00 -5.161983034383363e+00 -5.166112539324860e+00 -5.170247343785729e+00 + -5.174387457616170e+00 -5.178532882831751e+00 -5.182683620936045e+00 -5.186839679219287e+00 -5.191001066208124e+00 + -5.195167789588259e+00 -5.199339855740569e+00 -5.203517266667578e+00 -5.207700025095241e+00 -5.211888141021600e+00 + -5.216081624199723e+00 -5.220280476130696e+00 -5.224484698310884e+00 -5.228694300469721e+00 -5.232909292611727e+00 + -5.237129677608738e+00 -5.241355457600706e+00 -5.245586638932716e+00 -5.249823229255573e+00 -5.254065237237846e+00 + -5.258312670369801e+00 -5.262565530410686e+00 -5.266823819583928e+00 -5.271087547700648e+00 -5.275356724632263e+00 + -5.279631352903723e+00 -5.283911434448228e+00 -5.288196976178466e+00 -5.292487986327965e+00 -5.296784473434150e+00 + -5.301086444698075e+00 -5.305393901671405e+00 -5.309706846569482e+00 -5.314025289911748e+00 -5.318349242027271e+00 + -5.322678704179561e+00 -5.327013677718438e+00 -5.331354173404511e+00 -5.335700202105029e+00 -5.340051765703035e+00 + -5.344408865432155e+00 -5.348771508912536e+00 -5.353139705124518e+00 -5.357513462102698e+00 -5.361892786505948e+00 + -5.366277680435933e+00 -5.370668146715638e+00 -5.375064195610523e+00 -5.379465837274747e+00 -5.383873073974794e+00 + -5.388285907439377e+00 -5.392704345133761e+00 -5.397128395890300e+00 -5.401558068273167e+00 -5.405993369375257e+00 + -5.410434300672517e+00 -5.414880864443758e+00 -5.419333071796174e+00 -5.423790933634701e+00 -5.428254451226888e+00 + -5.432723625834648e+00 -5.437198468334746e+00 -5.441678989715544e+00 -5.446165191796978e+00 -5.450657075821366e+00 + -5.455154649888983e+00 -5.459657923508107e+00 -5.464166904961132e+00 -5.468681600997277e+00 -5.473202013458992e+00 + -5.477728145011161e+00 -5.482260006515158e+00 -5.486797608759512e+00 -5.491340954044872e+00 -5.495890044003880e+00 + -5.500444886085005e+00 -5.505005489175888e+00 -5.509571862105057e+00 -5.514144012303452e+00 -5.518721941670775e+00 + -5.523305652810777e+00 -5.527895156674663e+00 -5.532490463993778e+00 -5.537091576272570e+00 -5.541698495053784e+00 + -5.546311231260242e+00 -5.550929796018560e+00 -5.555554191890502e+00 -5.560184420697174e+00 -5.564820489861896e+00 + -5.569462408240030e+00 -5.574110184812914e+00 -5.578763827204064e+00 -5.583423337479740e+00 -5.588088718319627e+00 + -5.592759980414353e+00 -5.597437134453794e+00 -5.602120183113874e+00 -5.606809128447821e+00 -5.611503978032022e+00 + -5.616204740842362e+00 -5.620911425929568e+00 -5.625624040919794e+00 -5.630342587666039e+00 -5.635067068763208e+00 + -5.639797495546991e+00 -5.644533879170592e+00 -5.649276221316504e+00 -5.654024523642824e+00 -5.658778797180806e+00 + -5.663539053129186e+00 -5.668305293983524e+00 -5.673077521581335e+00 -5.677855743831122e+00 -5.682639970117403e+00 + -5.687430209657800e+00 -5.692226470164904e+00 -5.697028753498052e+00 -5.701837062188433e+00 -5.706651407307890e+00 + -5.711471800003379e+00 -5.716298243181697e+00 -5.721130739014699e+00 -5.725969294974640e+00 -5.730813920019088e+00 + -5.735664623746429e+00 -5.740521414337008e+00 -5.745384293658165e+00 -5.750253264219532e+00 -5.755128337412918e+00 + -5.760009524502356e+00 -5.764896827358567e+00 -5.769790247833362e+00 -5.774689797096235e+00 -5.779595486532854e+00 + -5.784507319075965e+00 -5.789425296924678e+00 -5.794349427796488e+00 -5.799279720850703e+00 -5.804216185495535e+00 + -5.809158829710795e+00 -5.814107655513784e+00 -5.819062665706917e+00 -5.824023872195552e+00 -5.828991286593848e+00 + -5.833964910248241e+00 -5.838944744496904e+00 -5.843930800912663e+00 -5.848923091405570e+00 -5.853921618999967e+00 + -5.858926385866531e+00 -5.863937399646989e+00 -5.868954669511408e+00 -5.873978205272220e+00 -5.879008015280387e+00 + -5.884044101398642e+00 -5.889086466127434e+00 -5.894135121006329e+00 -5.899190077679159e+00 -5.904251339167730e+00 + -5.909318907675908e+00 -5.914392790757818e+00 -5.919472997569684e+00 -5.924559538325873e+00 -5.929652421747786e+00 + -5.934751649526802e+00 -5.939857223994977e+00 -5.944969157077114e+00 -5.950087460588470e+00 -5.955212136313389e+00 + -5.960343186070434e+00 -5.965480621845905e+00 -5.970624455737114e+00 -5.975774690117698e+00 -5.980931326619691e+00 + -5.986094373632355e+00 -5.991263841186835e+00 -5.996439739124646e+00 -6.001622075628632e+00 -6.006810852436582e+00 + -6.012006072105073e+00 -6.017207746910874e+00 -6.022415889122929e+00 -6.027630501258702e+00 -6.032851585034692e+00 + -6.038079148714933e+00 -6.043313202169935e+00 -6.048553755148549e+00 -6.053800815867540e+00 -6.059054386536941e+00 + -6.064314470164098e+00 -6.069581078952353e+00 -6.074854224823474e+00 -6.080133909377011e+00 -6.085420134277816e+00 + -6.090712911774160e+00 -6.096012254273324e+00 -6.101318164235261e+00 -6.106630643404864e+00 -6.111949700614082e+00 + -6.117275346267099e+00 -6.122607589969956e+00 -6.127946439669295e+00 -6.133291897472249e+00 -6.138643966380033e+00 + -6.144002658809652e+00 -6.149367987035877e+00 -6.154739953348771e+00 -6.160118559324411e+00 -6.165503813667637e+00 + -6.170895726810269e+00 -6.176294308963303e+00 -6.181699568610070e+00 -6.187111507544039e+00 -6.192530128394146e+00 + -6.197955443821025e+00 -6.203387466288188e+00 -6.208826197438971e+00 -6.214271638855750e+00 -6.219723802697215e+00 + -6.225182701452046e+00 -6.230648338352550e+00 -6.236120715733020e+00 -6.241599841591995e+00 -6.247085725644578e+00 + -6.252578378807894e+00 -6.258077810320607e+00 -6.263584021505486e+00 -6.269097014385768e+00 -6.274616801702433e+00 + -6.280143396389799e+00 -6.285676801437800e+00 -6.291217018848358e+00 -6.296764056615736e+00 -6.302317924554712e+00 + -6.307878633769864e+00 -6.313446193664602e+00 -6.319020605547922e+00 -6.324601871487839e+00 -6.330190004682891e+00 + -6.335785018206249e+00 -6.341386913499118e+00 -6.346995691980793e+00 -6.352611366614864e+00 -6.358233950592316e+00 + -6.363863446469443e+00 -6.369499855900457e+00 -6.375143187565898e+00 -6.380793451939097e+00 -6.386450659638202e+00 + -6.392114819555641e+00 -6.397785933536126e+00 -6.403464004233896e+00 -6.409149044588990e+00 -6.414841067513965e+00 + -6.420540075525660e+00 -6.426246070301758e+00 -6.431959060559017e+00 -6.437679056917068e+00 -6.443406070567963e+00 + -6.449140110779302e+00 -6.454881178548420e+00 -6.460629275812415e+00 -6.466384416537711e+00 -6.472146614484319e+00 + -6.477915870557313e+00 -6.483692185657911e+00 -6.489475573526882e+00 -6.495266048141532e+00 -6.501063611585819e+00 + -6.506868264986595e+00 -6.512680017535606e+00 -6.518498880384615e+00 -6.524324864460620e+00 -6.530157978732819e+00 + -6.535998224564008e+00 -6.541845604255500e+00 -6.547700131469085e+00 -6.553561819849423e+00 -6.559430671612207e+00 + -6.565306688088189e+00 -6.571189878497283e+00 -6.577080253965905e+00 -6.582977825357318e+00 -6.588882601649868e+00 + -6.594794584545345e+00 -6.600713776640095e+00 -6.606640191385222e+00 -6.612573842086468e+00 -6.618514730613387e+00 + -6.624462858757332e+00 -6.630418239433046e+00 -6.636380885778538e+00 -6.642350800701542e+00 -6.648327986279747e+00 + -6.654312451500913e+00 -6.660304207148021e+00 -6.666303264274883e+00 -6.672309632144893e+00 -6.678323312588955e+00 + -6.684344308236361e+00 -6.690372632342481e+00 -6.696408298209058e+00 -6.702451308697293e+00 -6.708501665794167e+00 + -6.714559378430309e+00 -6.720624457416141e+00 -6.726696914137652e+00 -6.732776758078630e+00 -6.738863990538500e+00 + -6.744958613795213e+00 -6.751060642225177e+00 -6.757170089911689e+00 -6.763286957667176e+00 -6.769411246357500e+00 + -6.775542970333119e+00 -6.781682144164359e+00 -6.787828769816468e+00 -6.793982848306231e+00 -6.800144389461610e+00 + -6.806313405086916e+00 -6.812489906080716e+00 -6.818673901333698e+00 -6.824865392610781e+00 -6.831064382650163e+00 + -6.837270885208925e+00 -6.843484914029985e+00 -6.849706471780753e+00 -6.855935560196301e+00 -6.862172188357874e+00 + -6.868416367348060e+00 -6.874668108908677e+00 -6.880927422841348e+00 -6.887194310527692e+00 -6.893468774218006e+00 + -6.899750828057308e+00 -6.906040486046904e+00 -6.912337749718504e+00 -6.918642620544160e+00 -6.924955112226868e+00 + -6.931275238742860e+00 -6.937603002930438e+00 -6.943938406703657e+00 -6.950281459417487e+00 -6.956632172330878e+00 + -6.962990556877839e+00 -6.969356622516854e+00 -6.975730370629293e+00 -6.982111803620415e+00 -6.988500936068168e+00 + -6.994897782349220e+00 -7.001302343862422e+00 -7.007714621896787e+00 -7.014134630279748e+00 -7.020562383120512e+00 + -7.026997883116998e+00 -7.033441132058707e+00 -7.039892139512705e+00 -7.046350916975187e+00 -7.052817475881351e+00 + -7.059291825658977e+00 -7.065773967767182e+00 -7.072263904706783e+00 -7.078761651114045e+00 -7.085267221537997e+00 + -7.091780618043302e+00 -7.098301841735545e+00 -7.104830902368316e+00 -7.111367811800725e+00 -7.117912581665987e+00 + -7.124465221496127e+00 -7.131025732644298e+00 -7.137594117517873e+00 -7.144170390919956e+00 -7.150754567380619e+00 + -7.157346647942116e+00 -7.163946633668109e+00 -7.170554539195697e+00 -7.177170379365883e+00 -7.183794156261903e+00 + -7.190425870988396e+00 -7.197065533493338e+00 -7.203713155838439e+00 -7.210368749697043e+00 -7.217032324589560e+00 + -7.223703881813015e+00 -7.230383423705708e+00 -7.237070964994412e+00 -7.243766520390449e+00 -7.250470092154861e+00 + -7.257181681552523e+00 -7.263901298313877e+00 -7.270628954301988e+00 -7.277364661444877e+00 -7.284108429522252e+00 + -7.290860259655573e+00 -7.297620154032538e+00 -7.304388127764033e+00 -7.311164195737019e+00 -7.317948359019635e+00 + -7.324740618617562e+00 -7.331540989105481e+00 -7.338349485298712e+00 -7.345166109406192e+00 -7.351990862719772e+00 + -7.358823755469352e+00 -7.365664799915581e+00 -7.372514007504119e+00 -7.379371387574386e+00 -7.386236941855793e+00 + -7.393110673113762e+00 -7.399992595867711e+00 -7.406882724521767e+00 -7.413781061264927e+00 -7.420687607444220e+00 + -7.427602373253923e+00 -7.434525370953283e+00 -7.441456612214240e+00 -7.448396106579596e+00 -7.455343855662903e+00 + -7.462299862106879e+00 -7.469264140600134e+00 -7.476236705537742e+00 -7.483217558094771e+00 -7.490206699573982e+00 + -7.497204145008848e+00 -7.504209909607961e+00 -7.511223995549668e+00 -7.518246403916826e+00 -7.525277144440522e+00 + -7.532316229110418e+00 -7.539363670302306e+00 -7.546419478207750e+00 -7.553483653895294e+00 -7.560556199398457e+00 + -7.567637129733686e+00 -7.574726459966183e+00 -7.581824192373288e+00 -7.588930328179804e+00 -7.596044877188221e+00 + -7.603167851392376e+00 -7.610299262973792e+00 -7.617439121971403e+00 -7.624587429666054e+00 -7.631744188388593e+00 + -7.638909413427992e+00 -7.646083119762239e+00 -7.653265308167305e+00 -7.660455979470388e+00 -7.667655148905554e+00 + -7.674862831955687e+00 -7.682079030692125e+00 -7.689303746121935e+00 -7.696536988406601e+00 -7.703778769965018e+00 + -7.711029103091334e+00 -7.718287997777487e+00 -7.725555454931286e+00 -7.732831476489904e+00 -7.740116077592081e+00 + -7.747409273463959e+00 -7.754711066479733e+00 -7.762021457991705e+00 -7.769340458116517e+00 -7.776668079072852e+00 + -7.784004332723263e+00 -7.791349228774319e+00 -7.798702768664788e+00 -7.806064954991001e+00 -7.813435803247359e+00 + -7.820815328504128e+00 -7.828203531237023e+00 -7.835600412067597e+00 -7.843005986795347e+00 -7.850420271453628e+00 + -7.857843267833355e+00 -7.865274976500961e+00 -7.872715407367362e+00 -7.880164572827870e+00 -7.887622485870939e+00 + -7.895089157097287e+00 -7.902564586963549e+00 -7.910048776908389e+00 -7.917541742442640e+00 -7.925043499243823e+00 + -7.932554049584044e+00 -7.940073394568305e+00 -7.947601544038569e+00 -7.955138510136092e+00 -7.962684305462377e+00 + -7.970238940357911e+00 -7.977802415658878e+00 -7.985374733292938e+00 -7.992955909057959e+00 -8.000545958501995e+00 + -8.008144882303682e+00 -8.015752681155906e+00 -8.023369370677967e+00 -8.030994966700497e+00 -8.038629470973136e+00 + -8.046272884117311e+00 -8.053925216322545e+00 -8.061586480220186e+00 -8.069256688640843e+00 -8.076935852017314e+00 + -8.084623970991846e+00 -8.092321047230506e+00 -8.100027096285098e+00 -8.107742133772728e+00 -8.115466161685978e+00 + -8.123199180963685e+00 -8.130941201954130e+00 -8.138692237272345e+00 -8.146452299190864e+00 -8.154221397655556e+00 + -8.161999533648068e+00 -8.169786709369063e+00 -8.177582940859525e+00 -8.185388243772254e+00 -8.193202618367051e+00 + -8.201026064968486e+00 -8.208858599553158e+00 -8.216700238370747e+00 -8.224550983111227e+00 -8.232410834288519e+00 + -8.240279802271914e+00 -8.248157899820946e+00 -8.256045139400785e+00 -8.263941531127587e+00 -8.271847076015916e+00 + -8.279761776165609e+00 -8.287685647119202e+00 -8.295618704371698e+00 -8.303560949785306e+00 -8.311512384182917e+00 + -8.319473017862927e+00 -8.327442863513763e+00 -8.335421933908444e+00 -8.343410239406900e+00 -8.351407780632112e+00 + -8.359414559352070e+00 -8.367430591651793e+00 -8.375455893292965e+00 -8.383490464426892e+00 -8.391534305333888e+00 + -8.399587432420665e+00 -8.407649862295598e+00 -8.415721596247392e+00 -8.423802634359653e+00 -8.431892987215194e+00 + -8.439992667917126e+00 -8.448101689150496e+00 -8.456220061058572e+00 -8.464347784035521e+00 -8.472484859778373e+00 + -8.480631304944675e+00 -8.488787135775029e+00 -8.496952351881781e+00 -8.505126952972617e+00 -8.513310955764712e+00 + -8.521504377280520e+00 -8.529707218754108e+00 -8.537919480083488e+00 -8.546141171610756e+00 -8.554372306334406e+00 + -8.562612897434500e+00 -8.570862955488629e+00 -8.579122480482935e+00 -8.587391473585072e+00 -8.595669951280222e+00 + -8.603957930092136e+00 -8.612255411381385e+00 -8.620562395277888e+00 -8.628878892152137e+00 -8.637204914976417e+00 + -8.645540476889700e+00 -8.653885588365707e+00 -8.662240249050400e+00 -8.670604460002718e+00 -8.678978238761259e+00 + -8.687361602440037e+00 -8.695754549975142e+00 -8.704157080317993e+00 -8.712569210659231e+00 -8.720990958572770e+00 + -8.729422324926496e+00 -8.737863309144757e+00 -8.746313921583734e+00 -8.754774175423437e+00 -8.763244084207386e+00 + -8.771723658743657e+00 -8.780212898534927e+00 -8.788711804325507e+00 -8.797220393131562e+00 -8.805738681960509e+00 + -8.814266671512945e+00 -8.822804361262596e+00 -8.831351762082482e+00 -8.839908887544672e+00 -8.848475750618142e+00 + -8.857052361519681e+00 -8.865638720060298e+00 -8.874234827408518e+00 -8.882840700568694e+00 -8.891456356239988e+00 + -8.900081794065120e+00 -8.908717013654563e+00 -8.917362031546196e+00 -8.926016864607513e+00 -8.934681514097109e+00 + -8.943355979966887e+00 -8.952040272550780e+00 -8.960734404827180e+00 -8.969438389970174e+00 -8.978152238557112e+00 + -8.986875950582608e+00 -8.995609527224275e+00 -9.004352984974421e+00 -9.013106340348738e+00 -9.021869594641789e+00 + -9.030642747850949e+00 -9.039425810005964e+00 -9.048218793898496e+00 -9.057021713335553e+00 -9.065834579375275e+00 + -9.074657391064932e+00 -9.083490148798390e+00 -9.092332870366718e+00 -9.101185573233034e+00 -9.110048256151465e+00 + -9.118920917820537e+00 -9.127803575425368e+00 -9.136696246597257e+00 -9.145598932265708e+00 -9.154511631860180e+00 + -9.163434355511646e+00 -9.172367116215408e+00 -9.181309927722621e+00 -9.190262801063124e+00 -9.199225735625708e+00 + -9.208198731948572e+00 -9.217181806808554e+00 -9.226174977077383e+00 -9.235178243767663e+00 -9.244191606592038e+00 + -9.253215075922315e+00 -9.262248664894432e+00 -9.271292387041701e+00 -9.280346253080740e+00 -9.289410262064051e+00 + -9.298484414471314e+00 -9.307568728155069e+00 -9.316663220573421e+00 -9.325767890233902e+00 -9.334882735648362e+00 + -9.344007774296474e+00 -9.353143024056331e+00 -9.362288485431986e+00 -9.371444157433135e+00 -9.380610050466057e+00 + -9.389786177888119e+00 -9.398972553464475e+00 -9.408169188076664e+00 -9.417376080663951e+00 -9.426593231436920e+00 + -9.435820657633688e+00 -9.445058376575700e+00 -9.454306388890288e+00 -9.463564693828612e+00 -9.472833301831271e+00 + -9.482112226230582e+00 -9.491401480736307e+00 -9.500701076124317e+00 -9.510011011057383e+00 -9.519331285649606e+00 + -9.528661917933491e+00 -9.538002925632075e+00 -9.547354307312132e+00 -9.556716061430350e+00 -9.566088205159264e+00 + -9.575470756067922e+00 -9.584863714595665e+00 -9.594267079809105e+00 -9.603680862413734e+00 -9.613105076017005e+00 + -9.622539734195460e+00 -9.631984847535897e+00 -9.641440414697058e+00 -9.650906435763309e+00 -9.660382928449559e+00 + -9.669869910482992e+00 -9.679367382009378e+00 -9.688875341677877e+00 -9.698393799732578e+00 -9.707922769547205e+00 + -9.717462265419133e+00 -9.727012298576232e+00 -9.736572867044643e+00 -9.746143970285512e+00 -9.755725626701739e+00 + -9.765317854403191e+00 -9.774920651385886e+00 -9.784534015610914e+00 -9.794157965013451e+00 -9.803792517858509e+00 + -9.813437673756464e+00 -9.823093430886084e+00 -9.832759800354408e+00 -9.842436796281985e+00 -9.852124431915341e+00 + -9.861822717446652e+00 -9.871531651724764e+00 -9.881251235098006e+00 -9.890981485255914e+00 -9.900722419735771e+00 + -9.910474038124631e+00 -9.920236338721825e+00 -9.930009332625946e+00 -9.939793033953066e+00 -9.949587456089942e+00 + -9.959392609292857e+00 -9.969208492025555e+00 -9.979035104343238e+00 -9.988872464459540e+00 -9.998720590171930e+00 + -1.000857947945488e+01 -1.001844913033355e+01 -1.002832956085879e+01 -1.003822078906736e+01 -1.004812281291406e+01 + -1.005803562971182e+01 -1.006795925428782e+01 -1.007789370360111e+01 -1.008783898562387e+01 -1.009779510571246e+01 + -1.010776206774677e+01 -1.011773987740720e+01 -1.012772854905251e+01 -1.013772809631413e+01 -1.014773852123577e+01 + -1.015775982444731e+01 -1.016779201251112e+01 -1.017783509576905e+01 -1.018788909374848e+01 -1.019795402262726e+01 + -1.020802987599985e+01 -1.021811664796306e+01 -1.022821435720666e+01 -1.023832302389762e+01 -1.024844264951883e+01 + -1.025857323411911e+01 -1.026871479069502e+01 -1.027886733277511e+01 -1.028903086306819e+01 -1.029920538356622e+01 + -1.030939090421369e+01 -1.031958743714735e+01 -1.032979499532081e+01 -1.034001358910991e+01 -1.035024321776280e+01 + -1.036048388191000e+01 -1.037073559883907e+01 -1.038099838556339e+01 -1.039127224134250e+01 -1.040155716512729e+01 + -1.041185317238784e+01 -1.042216027887615e+01 -1.043247848495290e+01 -1.044280779013644e+01 -1.045314820596725e+01 + -1.046349974688984e+01 -1.047386242694284e+01 -1.048423625623699e+01 -1.049462122957744e+01 -1.050501734396915e+01 + -1.051542462052187e+01 -1.052584308069211e+01 -1.053627272321853e+01 -1.054671354447971e+01 -1.055716555413174e+01 + -1.056762876571201e+01 -1.057810319500591e+01 -1.058858885406686e+01 -1.059908573777257e+01 -1.060959384260205e+01 + -1.062011318861535e+01 -1.063064379594653e+01 -1.064118566144451e+01 -1.065173878128750e+01 -1.066230317225584e+01 + -1.067287885251234e+01 -1.068346582514766e+01 -1.069406409086973e+01 -1.070467365592747e+01 -1.071529452946521e+01 + -1.072592672666786e+01 -1.073657026057826e+01 -1.074722512963040e+01 -1.075789133336255e+01 -1.076856889033910e+01 + -1.077925781838790e+01 -1.078995811336476e+01 -1.080066977044343e+01 -1.081139280404170e+01 -1.082212723175914e+01 + -1.083287306467895e+01 -1.084363031023443e+01 -1.085439896777578e+01 -1.086517903841335e+01 -1.087597053838113e+01 + -1.088677348334085e+01 -1.089758787154147e+01 -1.090841370173705e+01 -1.091925099211483e+01 -1.093009976068779e+01 + -1.094096000533889e+01 -1.095183172286895e+01 -1.096271492588021e+01 -1.097360962990334e+01 -1.098451584638146e+01 + -1.099543358339704e+01 -1.100636283967740e+01 -1.101730361593110e+01 -1.102825593014644e+01 -1.103921979985815e+01 + -1.105019522350652e+01 -1.106118219809120e+01 -1.107218073394329e+01 -1.108319084475604e+01 -1.109421254433972e+01 + -1.110524584310812e+01 -1.111629073777213e+01 -1.112734722664297e+01 -1.113841532813614e+01 -1.114949506055284e+01 + -1.116058642163307e+01 -1.117168940919924e+01 -1.118280404196459e+01 -1.119393033845125e+01 -1.120506829552628e+01 + -1.121621790821428e+01 -1.122737918582522e+01 -1.123855214233318e+01 -1.124973679608346e+01 -1.126093316109601e+01 + -1.127214122971816e+01 -1.128336099568353e+01 -1.129459247994368e+01 -1.130583570391351e+01 -1.131709066364352e+01 + -1.132835735316995e+01 -1.133963578383626e+01 -1.135092597165251e+01 -1.136222793398803e+01 -1.137354168289046e+01 + -1.138486720776133e+01 -1.139620450077960e+01 -1.140755358788016e+01 -1.141891449467379e+01 -1.143028721171902e+01 + -1.144167172931863e+01 -1.145306807180483e+01 -1.146447626363145e+01 -1.147589629570943e+01 -1.148732815744427e+01 + -1.149877186576219e+01 -1.151022744176966e+01 -1.152169489577362e+01 -1.153317423307527e+01 -1.154466544975234e+01 + -1.155616854500299e+01 -1.156768353973055e+01 -1.157921045411968e+01 -1.159074928377541e+01 -1.160230002278200e+01 + -1.161386268372032e+01 -1.162543728297182e+01 -1.163702383362365e+01 -1.164862234413445e+01 -1.166023280774309e+01 + -1.167185522083641e+01 -1.168348960761297e+01 -1.169513599109641e+01 -1.170679436179895e+01 -1.171846471050954e+01 + -1.173014706163534e+01 -1.174184143967664e+01 -1.175354783588804e+01 -1.176526623959987e+01 -1.177699666569085e+01 + -1.178873913359907e+01 -1.180049365545172e+01 -1.181226023874721e+01 -1.182403887977966e+01 -1.183582957710202e+01 + -1.184763234950681e+01 -1.185944721571250e+01 -1.187127417390187e+01 -1.188311322026980e+01 -1.189496436359524e+01 + -1.190682761635663e+01 -1.191870299324639e+01 -1.193059050542573e+01 -1.194249014771712e+01 -1.195440191732676e+01 + -1.196632583733436e+01 -1.197826192918009e+01 -1.199021018187259e+01 -1.200217058481946e+01 -1.201414316145583e+01 + -1.202612793653577e+01 -1.203812490606177e+01 -1.205013406283600e+01 -1.206215541561094e+01 -1.207418897775090e+01 + -1.208623476511758e+01 -1.209829279023755e+01 -1.211036304979982e+01 -1.212244554104682e+01 -1.213454027927224e+01 + -1.214664728029985e+01 -1.215876654402256e+01 -1.217089806888390e+01 -1.218304186346073e+01 -1.219519793969503e+01 + -1.220736631285608e+01 -1.221954699446002e+01 -1.223173997768314e+01 -1.224394525782826e+01 -1.225616285704409e+01 + -1.226839279716718e+01 -1.228063507193962e+01 -1.229288967419984e+01 -1.230515662126608e+01 -1.231743593190913e+01 + -1.232972760623024e+01 -1.234203164189830e+01 -1.235434804552219e+01 -1.236667682754052e+01 -1.237901800477097e+01 + -1.239137159078778e+01 -1.240373757981251e+01 -1.241611596680448e+01 -1.242850676902663e+01 -1.244091000477032e+01 + -1.245332567413717e+01 -1.246575377485128e+01 -1.247819431331654e+01 -1.249064729993889e+01 -1.250311275245252e+01 + -1.251559068470151e+01 -1.252808108764087e+01 -1.254058395403090e+01 -1.255309930674196e+01 -1.256562716858205e+01 + -1.257816753199971e+01 -1.259072038911156e+01 -1.260328576106586e+01 -1.261586366917709e+01 -1.262845410639316e+01 + -1.264105706405277e+01 -1.265367255542431e+01 -1.266630059802175e+01 -1.267894120441173e+01 -1.269159438291520e+01 + -1.270426012981745e+01 -1.271693844300063e+01 -1.272962933876972e+01 -1.274233283335257e+01 -1.275504892424538e+01 + -1.276777760888006e+01 -1.278051890316245e+01 -1.279327282335948e+01 -1.280603936870822e+01 -1.281881853703964e+01 + -1.283161033759003e+01 -1.284441478278821e+01 -1.285723188642777e+01 -1.287006165845383e+01 -1.288290409205257e+01 + -1.289575918258311e+01 -1.290862695085492e+01 -1.292150741744502e+01 -1.293440057655018e+01 -1.294730642109768e+01 + -1.296022496531707e+01 -1.297315622664438e+01 -1.298610021403966e+01 -1.299905693252094e+01 -1.301202637981436e+01 + -1.302500855607946e+01 -1.303800347850134e+01 -1.305101116311717e+01 -1.306403160434687e+01 -1.307706479749205e+01 + -1.309011076299821e+01 -1.310316952145874e+01 -1.311624106891474e+01 -1.312932539865738e+01 -1.314242251753035e+01 + -1.315553243732881e+01 -1.316865517610136e+01 -1.318179074759510e+01 -1.319493914209791e+01 -1.320810035188408e+01 + -1.322127440063306e+01 -1.323446131182036e+01 -1.324766107670098e+01 -1.326087368408213e+01 -1.327409914520021e+01 + -1.328733747660298e+01 -1.330058869365459e+01 -1.331385280702646e+01 -1.332712980980294e+01 -1.334041969690924e+01 + -1.335372248822127e+01 -1.336703820316815e+01 -1.338036683444133e+01 -1.339370837465144e+01 -1.340706284282357e+01 + -1.342043025877972e+01 -1.343381061911550e+01 -1.344720391854233e+01 -1.346061016746156e+01 -1.347402937953320e+01 + -1.348746156576247e+01 -1.350090673400032e+01 -1.351436488213541e+01 -1.352783600940468e+01 -1.354132013040003e+01 + -1.355481725974633e+01 -1.356832739684519e+01 -1.358185053959114e+01 -1.359538669507347e+01 -1.360893587411229e+01 + -1.362249809325635e+01 -1.363607336498644e+01 -1.364966167978290e+01 -1.366326303005515e+01 -1.367687743792930e+01 + -1.369050492543861e+01 -1.370414548452841e+01 -1.371779910680898e+01 -1.373146581263829e+01 -1.374514562258463e+01 + -1.375883852931014e+01 -1.377254452369323e+01 -1.378626361738342e+01 -1.379999582664259e+01 -1.381374116541099e+01 + -1.382749964295472e+01 -1.384127125216480e+01 -1.385505598801133e+01 -1.386885387015567e+01 -1.388266491822051e+01 + -1.389648912698253e+01 -1.391032648926665e+01 -1.392417701493663e+01 -1.393804071810552e+01 -1.395191761284479e+01 + -1.396580770902492e+01 -1.397971099975399e+01 -1.399362747983656e+01 -1.400755716762526e+01 -1.402150008127576e+01 + -1.403545621460787e+01 -1.404942556175519e+01 -1.406340814244217e+01 -1.407740397661280e+01 -1.409141305949836e+01 + -1.410543538386059e+01 -1.411947095729565e+01 -1.413351979216372e+01 -1.414758190504674e+01 -1.416165730817942e+01 + -1.417574599218579e+01 -1.418984794931155e+01 -1.420396319989974e+01 -1.421809176459019e+01 -1.423223363711269e+01 + -1.424638880961032e+01 -1.426055729478944e+01 -1.427473910897708e+01 -1.428893426241975e+01 -1.430314276106135e+01 + -1.431736459971596e+01 -1.433159977568000e+01 -1.434584830730895e+01 -1.436011021230267e+01 -1.437438548467938e+01 + -1.438867411856965e+01 -1.440297613223502e+01 -1.441729154417122e+01 -1.443162034967981e+01 -1.444596254173529e+01 + -1.446031812719803e+01 -1.447468711827448e+01 -1.448906953466952e+01 -1.450346539077074e+01 -1.451787467219810e+01 + -1.453229736674074e+01 -1.454673349963205e+01 -1.456118309651608e+01 -1.457564614723534e+01 -1.459012263904241e+01 + -1.460461258463169e+01 -1.461911600163362e+01 -1.463363290198108e+01 -1.464816329304780e+01 -1.466270716966852e+01 + -1.467726452861927e+01 -1.469183538698022e+01 -1.470641976118071e+01 -1.472101764474266e+01 -1.473562903182180e+01 + -1.475025394201659e+01 -1.476489239431922e+01 -1.477954437985420e+01 -1.479420988900897e+01 -1.480888893709030e+01 + -1.482358154289730e+01 -1.483828771427918e+01 -1.485300745484606e+01 -1.486774076220148e+01 -1.488248763590571e+01 + -1.489724808935241e+01 -1.491202213620220e+01 -1.492680977735018e+01 -1.494161101188853e+01 -1.495642584446314e+01 + -1.497125428281713e+01 -1.498609634152866e+01 -1.500095203243959e+01 -1.501582134961145e+01 -1.503070428834008e+01 + -1.504560086663885e+01 -1.506051110171047e+01 -1.507543498479744e+01 -1.509037250787217e+01 -1.510532369178669e+01 + -1.512028855781273e+01 -1.513526710002122e+01 -1.515025931004586e+01 -1.516526519697226e+01 -1.518028477406786e+01 + -1.519531805387558e+01 -1.521036504514735e+01 -1.522542574219565e+01 -1.524050014105165e+01 -1.525558825906066e+01 + -1.527069011317451e+01 -1.528580569745696e+01 -1.530093500454836e+01 -1.531607804428359e+01 -1.533123483115148e+01 + -1.534640538106230e+01 -1.536158970459035e+01 -1.537678778954449e+01 -1.539199962605270e+01 -1.540722523628471e+01 + -1.542246464244602e+01 -1.543771783484346e+01 -1.545298480379291e+01 -1.546826557154514e+01 -1.548356016030771e+01 + -1.549886856018057e+01 -1.551419075889859e+01 -1.552952676684366e+01 -1.554487659991805e+01 -1.556024027345857e+01 + -1.557561779759322e+01 -1.559100916218038e+01 -1.560641435912106e+01 -1.562183340875659e+01 -1.563726633124305e+01 + -1.565271311755539e+01 -1.566817375858786e+01 -1.568364827409284e+01 -1.569913668435983e+01 -1.571463898296877e+01 + -1.573015516140282e+01 -1.574568522946743e+01 -1.576122920078429e+01 -1.577678708591764e+01 -1.579235889192325e+01 + -1.580794461488044e+01 -1.582354425266206e+01 -1.583915782129173e+01 -1.585478533595468e+01 -1.587042679033195e+01 + -1.588608217713541e+01 -1.590175150670428e+01 -1.591743479377280e+01 -1.593313205302798e+01 -1.594884329356461e+01 + -1.596456850215542e+01 -1.598030766876410e+01 -1.599606081844003e+01 -1.601182797567503e+01 -1.602760912764517e+01 + -1.604340426053651e+01 -1.605921339389068e+01 -1.607503654929621e+01 -1.609087372317365e+01 -1.610672490846679e+01 + -1.612259010938000e+01 -1.613846933535691e+01 -1.615436260553746e+01 -1.617026993400350e+01 -1.618619130490810e+01 + -1.620212670496088e+01 -1.621807616102629e+01 -1.623403970021593e+01 -1.625001731047507e+01 -1.626600897617460e+01 + -1.628201470655392e+01 -1.629803451699528e+01 -1.631406842258372e+01 -1.633011643368945e+01 -1.634617854212047e+01 + -1.636225474110459e+01 -1.637834504811086e+01 -1.639444948009596e+01 -1.641056802772599e+01 -1.642670068226715e+01 + -1.644284746367691e+01 -1.645900839255391e+01 -1.647518346337059e+01 -1.649137266740475e+01 -1.650757600928198e+01 + -1.652379349905581e+01 -1.654002515514406e+01 -1.655627099138395e+01 -1.657253099492616e+01 -1.658880515436409e+01 + -1.660509349074862e+01 -1.662139602569388e+01 -1.663771275060954e+01 -1.665404365442992e+01 -1.667038874639235e+01 + -1.668674804082613e+01 -1.670312155212567e+01 -1.671950928959044e+01 -1.673591124207530e+01 -1.675232740091000e+01 + -1.676875778776886e+01 -1.678520242381186e+01 -1.680166129779755e+01 -1.681813439803682e+01 -1.683462174345131e+01 + -1.685112335404732e+01 -1.686763922355921e+01 -1.688416934305047e+01 -1.690071371917313e+01 -1.691727236387981e+01 + -1.693384529473730e+01 -1.695043252373442e+01 -1.696703403493436e+01 -1.698364981519248e+01 -1.700027989045860e+01 + -1.701692428668450e+01 -1.703358299073511e+01 -1.705025598664567e+01 -1.706694328621936e+01 -1.708364490699094e+01 + -1.710036086165371e+01 -1.711709115711999e+01 -1.713383578201967e+01 -1.715059472804424e+01 -1.716736801741393e+01 + -1.718415567151382e+01 -1.720095767785962e+01 -1.721777402421613e+01 -1.723460473321376e+01 -1.725144982735173e+01 + -1.726830929373925e+01 -1.728518311723097e+01 -1.730207130905323e+01 -1.731897388644410e+01 -1.733589086431708e+01 + -1.735282225151622e+01 -1.736976803493245e+01 -1.738672820398455e+01 -1.740370278015603e+01 -1.742069178532102e+01 + -1.743769521085149e+01 -1.745471304524893e+01 -1.747174529603476e+01 -1.748879197614670e+01 -1.750585310116775e+01 + -1.752292868122209e+01 -1.754001870195336e+01 -1.755712315207324e+01 -1.757424205704595e+01 -1.759137544124289e+01 + -1.760852328791187e+01 -1.762568558032359e+01 -1.764286234296404e+01 -1.766005360135051e+01 -1.767725934391039e+01 + -1.769447955614261e+01 -1.771171424892207e+01 -1.772896343807829e+01 -1.774622713388326e+01 -1.776350534196338e+01 + -1.778079805492016e+01 -1.779810526797336e+01 -1.781542699984077e+01 -1.783276326793605e+01 -1.785011406095838e+01 + -1.786747936642481e+01 -1.788485919583838e+01 -1.790225356596892e+01 -1.791966249066770e+01 -1.793708597750879e+01 + -1.795452401187612e+01 -1.797197658287230e+01 -1.798944371666477e+01 -1.800692543788475e+01 -1.802442172795408e+01 + -1.804193256819016e+01 -1.805945798270200e+01 -1.807699799758296e+01 -1.809455260407236e+01 -1.811212178929598e+01 + -1.812970555877947e+01 -1.814730392419934e+01 -1.816491690343573e+01 -1.818254450889657e+01 -1.820018672489731e+01 + -1.821784353770839e+01 -1.823551496951270e+01 -1.825320104351004e+01 -1.827090175105552e+01 -1.828861707995103e+01 + -1.830634703563002e+01 -1.832409162961503e+01 -1.834185088015348e+01 -1.835962479982180e+01 -1.837741337178776e+01 + -1.839521658191638e+01 -1.841303445627024e+01 -1.843086702044687e+01 -1.844871425798603e+01 -1.846657615155986e+01 + -1.848445272242748e+01 -1.850234399331442e+01 -1.852024995422484e+01 -1.853817059263430e+01 -1.855610591862525e+01 + -1.857405594751762e+01 -1.859202069297440e+01 -1.861000016303027e+01 -1.862799434486363e+01 -1.864600322762024e+01 + -1.866402682917165e+01 -1.868206516860479e+01 -1.870011824114266e+01 -1.871818603889838e+01 -1.873626856540951e+01 + -1.875436582948875e+01 -1.877247784962497e+01 -1.879060463922456e+01 -1.880874618168810e+01 -1.882690246254704e+01 + -1.884507350586227e+01 -1.886325933574866e+01 -1.888145993800745e+01 -1.889967529731236e+01 -1.891790543214035e+01 + -1.893615036295555e+01 -1.895441008436764e+01 -1.897268458788422e+01 -1.899097387845919e+01 -1.900927796546465e+01 + -1.902759686249918e+01 -1.904593057916082e+01 -1.906427910481893e+01 -1.908264243109121e+01 -1.910102057881749e+01 + -1.911941356739387e+01 -1.913782138121961e+01 -1.915624400568942e+01 -1.917468146517671e+01 -1.919313378404767e+01 + -1.921160094766128e+01 -1.923008293912871e+01 -1.924857977157690e+01 -1.926709146357444e+01 -1.928561802544077e+01 + -1.930415946120927e+01 -1.932271575801813e+01 -1.934128690695999e+01 -1.935987293184044e+01 -1.937847385553680e+01 + -1.939708966450047e+01 -1.941572034241033e+01 -1.943436589828115e+01 -1.945302634705033e+01 -1.947170170200994e+01 + -1.949039197138318e+01 -1.950909714476303e+01 -1.952781721398065e+01 -1.954655219845012e+01 -1.956530211609402e+01 + -1.958406695128608e+01 -1.960284668959667e+01 -1.962164135493148e+01 -1.964045097168231e+01 -1.965927552785040e+01 + -1.967811500826448e+01 -1.969696942145404e+01 -1.971583878200212e+01 -1.973472310500559e+01 -1.975362239928199e+01 + -1.977253664801789e+01 -1.979146583743514e+01 -1.981040999152762e+01 -1.982936913462439e+01 -1.984834325462312e+01 + -1.986733233626431e+01 -1.988633638809098e+01 -1.990535542475069e+01 -1.992438946150660e+01 -1.994343850724086e+01 + -1.996250254469571e+01 -1.998158155988759e+01 -2.000067557806942e+01 -2.001978462401460e+01 -2.003890868134189e+01 + -2.005804773353269e+01 -2.007720180467363e+01 -2.009637091866160e+01 -2.011555505802958e+01 -2.013475420367532e+01 + -2.015396837131929e+01 -2.017319758216888e+01 -2.019244184455664e+01 -2.021170116029698e+01 -2.023097551800653e+01 + -2.025026491057744e+01 -2.026956936120177e+01 -2.028888889127859e+01 -2.030822348473533e+01 -2.032757312336421e+01 + -2.034693781788847e+01 -2.036631758558183e+01 -2.038571244098909e+01 -2.040512239225047e+01 -2.042454742461679e+01 + -2.044398752597867e+01 -2.046344271767523e+01 -2.048291302072143e+01 -2.050239842138679e+01 -2.052189890581644e+01 + -2.054141449440303e+01 -2.056094520839277e+01 -2.058049103819856e+01 -2.060005197091200e+01 -2.061962801117254e+01 + -2.063921916971323e+01 -2.065882546409381e+01 -2.067844690614864e+01 -2.069808347798381e+01 -2.071773516441981e+01 + -2.073740199086278e+01 -2.075708398272239e+01 -2.077678112483692e+01 -2.079649339928443e+01 -2.081622081767353e+01 + -2.083596339752241e+01 -2.085572115045732e+01 -2.087549408142252e+01 -2.089528217452614e+01 -2.091508541798258e+01 + -2.093490383726751e+01 -2.095473745703866e+01 -2.097458626142068e+01 -2.099445023367205e+01 -2.101432939411960e+01 + -2.103422376365449e+01 -2.105413332835716e+01 -2.107405807288499e+01 -2.109399801101360e+01 -2.111395316146354e+01 + -2.113392353361706e+01 -2.115390913036233e+01 -2.117390993794961e+01 -2.119392594678185e+01 -2.121395718051052e+01 + -2.123400366165125e+01 -2.125406537492771e+01 -2.127414230292253e+01 -2.129423445744600e+01 -2.131434185603574e+01 + -2.133446450991120e+01 -2.135460242400538e+01 -2.137475558442359e+01 -2.139492398094176e+01 -2.141510763684612e+01 + -2.143530657354728e+01 -2.145552077144329e+01 -2.147575021223202e+01 -2.149599492382317e+01 -2.151625493458459e+01 + -2.153653022850520e+01 -2.155682078515937e+01 -2.157712661084235e+01 -2.159744772002078e+01 -2.161778413312624e+01 + -2.163813586321833e+01 -2.165850288790379e+01 -2.167888518769065e+01 -2.169928279014487e+01 -2.171969572392566e+01 + -2.174012397500749e+01 -2.176056752455845e+01 -2.178102637720577e+01 -2.180150054539059e+01 -2.182199004935065e+01 + -2.184249490264348e+01 -2.186301508430896e+01 -2.188355057625899e+01 -2.190410140641098e+01 -2.192466760199104e+01 + -2.194524914145450e+01 -2.196584600311797e+01 -2.198645821351363e+01 -2.200708580045210e+01 -2.202772874864248e+01 + -2.204838703903658e+01 -2.206906068065864e+01 -2.208974968965916e+01 -2.211045408262128e+01 -2.213117386881762e+01 + -2.215190902784613e+01 -2.217265954271720e+01 -2.219342543976576e+01 -2.221420674565993e+01 -2.223500344507609e+01 + -2.225581551916326e+01 -2.227664297695268e+01 -2.229748583458740e+01 -2.231834410877561e+01 -2.233921780886325e+01 + -2.236010691418214e+01 -2.238101140757746e+01 -2.240193131596196e+01 -2.242286666626994e+01 -2.244381744145418e+01 + -2.246478362333585e+01 -2.248576523319086e+01 -2.250676229308250e+01 -2.252777478876882e+01 -2.254880270395783e+01 + -2.256984605046237e+01 -2.259090484578745e+01 -2.261197910210208e+01 -2.263306882483333e+01 -2.265417399777652e+01 + -2.267529460825966e+01 -2.269643067937303e+01 -2.271758223358744e+01 -2.273874925513337e+01 -2.275993172840441e+01 + -2.278112967668665e+01 -2.280234312326570e+01 -2.282357205253301e+01 -2.284481644618636e+01 -2.286607631404299e+01 + -2.288735167241803e+01 -2.290864253549898e+01 -2.292994891082159e+01 -2.295127078144212e+01 -2.297260813386354e+01 + -2.299396099285480e+01 -2.301532938287575e+01 -2.303671328888409e+01 -2.305811269234469e+01 -2.307952760025338e+01 + -2.310095802706863e+01 -2.312240399156859e+01 -2.314386550544134e+01 -2.316534254769484e+01 -2.318683510020089e+01 + -2.320834318896662e+01 -2.322986684000025e+01 -2.325140603517923e+01 -2.327296075598023e+01 -2.329453102640753e+01 + -2.331611687084991e+01 -2.333771827270656e+01 -2.335933521295700e+01 -2.338096770389138e+01 -2.340261576396985e+01 + -2.342427940502197e+01 -2.344595863230511e+01 -2.346765343141823e+01 -2.348936379112492e+01 -2.351108973250527e+01 + -2.353283127622654e+01 -2.355458840898814e+01 -2.357636111469370e+01 -2.359814940003157e+01 -2.361995327887107e+01 + -2.364177277102066e+01 -2.366360788867084e+01 -2.368545860760097e+01 -2.370732490730504e+01 -2.372920681854641e+01 + -2.375110437181196e+01 -2.377301754521346e+01 -2.379494631547129e+01 -2.381689070611525e+01 -2.383885074279985e+01 + -2.386082641286912e+01 -2.388281770027697e+01 -2.390482461372720e+01 -2.392684716763744e+01 -2.394888537453080e+01 + -2.397093924094647e+01 -2.399300875138237e+01 -2.401509389381072e+01 -2.403719469214220e+01 -2.405931116939521e+01 + -2.408144330908079e+01 -2.410359109227195e+01 -2.412575452979684e+01 -2.414793363861520e+01 -2.417012843045825e+01 + -2.419233891107258e+01 -2.421456506749473e+01 -2.423680688969797e+01 -2.425906439811232e+01 -2.428133761196757e+01 + -2.430362651523593e+01 -2.432593109247103e+01 -2.434825136580965e+01 -2.437058735754595e+01 -2.439293905302052e+01 + -2.441530643508021e+01 -2.443768951355032e+01 -2.446008830475372e+01 -2.448250282402539e+01 -2.450493307947941e+01 + -2.452737905133441e+01 -2.454984072340254e+01 -2.457231812176549e+01 -2.459481127247106e+01 -2.461732015916192e+01 + -2.463984476198997e+01 -2.466238508954903e+01 -2.468494115731883e+01 -2.470751297988127e+01 -2.473010056541401e+01 + -2.475270389737600e+01 -2.477532296279144e+01 -2.479795778766421e+01 -2.482060839605179e+01 -2.484327476524651e+01 + -2.486595687297807e+01 -2.488865474549064e+01 -2.491136841050829e+01 -2.493409785316058e+01 -2.495684305468689e+01 + -2.497960402336061e+01 -2.500238077436705e+01 -2.502517332350563e+01 -2.504798167938967e+01 -2.507080582127416e+01 + -2.509364573240812e+01 -2.511650144137505e+01 -2.513937297643642e+01 -2.516226031923135e+01 -2.518516344740990e+01 + -2.520808236928804e+01 -2.523101710100030e+01 -2.525396765928963e+01 -2.527693405405919e+01 -2.529991626724470e+01 + -2.532291428361040e+01 -2.534592812720204e+01 -2.536895782110043e+01 -2.539200334524508e+01 -2.541506468057373e+01 + -2.543814185515816e+01 -2.546123489657537e+01 -2.548434378328921e+01 -2.550746849096137e+01 -2.553060903315797e+01 + -2.555376543163097e+01 -2.557693770297151e+01 -2.560012585444837e+01 -2.562332986120158e+01 -2.564654970308929e+01 + -2.566978541097076e+01 -2.569303701597250e+01 -2.571630449928904e+01 -2.573958783754457e+01 -2.576288703901380e+01 + -2.578620212017663e+01 -2.580953309868325e+01 -2.583287998467666e+01 -2.585624275710073e+01 -2.587962139846310e+01 + -2.590301593672573e+01 -2.592642639921134e+01 -2.594985276523152e+01 -2.597329501305775e+01 -2.599675316481207e+01 + -2.602022724494944e+01 -2.604371724340627e+01 -2.606722314554395e+01 -2.609074495294231e+01 -2.611428267453130e+01 + -2.613783633242288e+01 -2.616140594232113e+01 -2.618499148111656e+01 -2.620859292804694e+01 -2.623221031055255e+01 + -2.625584365675950e+01 -2.627949294933480e+01 -2.630315816707157e+01 -2.632683931872623e+01 -2.635053642045652e+01 + -2.637424948806206e+01 -2.639797853015353e+01 -2.642172352694394e+01 -2.644548446269175e+01 -2.646926136623515e+01 + -2.649305426487780e+01 -2.651686313520573e+01 -2.654068795336410e+01 -2.656452874445229e+01 -2.658838553565089e+01 + -2.661225831351167e+01 -2.663614706041860e+01 -2.666005178271351e+01 -2.668397249386109e+01 -2.670790921185966e+01 + -2.673186194785124e+01 -2.675583068101895e+01 -2.677981539336416e+01 -2.680381611012034e+01 -2.682783285712106e+01 + -2.685186561936856e+01 -2.687591437786270e+01 -2.689997913842517e+01 -2.692405991477839e+01 -2.694815672742597e+01 + -2.697226958936361e+01 -2.699639847677425e+01 -2.702054336911223e+01 -2.704470429573021e+01 -2.706888128546201e+01 + -2.709307431516761e+01 -2.711728336172764e+01 -2.714150845407871e+01 -2.716574962162754e+01 -2.719000684360529e+01 + -2.721428009605862e+01 -2.723856939247152e+01 -2.726287475352885e+01 -2.728719619128178e+01 -2.731153370993099e+01 + -2.733588729090867e+01 -2.736025692081293e+01 -2.738464262967399e+01 -2.740904444482641e+01 -2.743346233939021e+01 + -2.745789628706843e+01 -2.748234631811058e+01 -2.750681246441337e+01 -2.753129470791622e+01 -2.755579302585287e+01 + -2.758030742659158e+01 -2.760483792680023e+01 -2.762938454521084e+01 -2.765394729250735e+01 -2.767852614511706e+01 + -2.770312108289846e+01 -2.772773213369129e+01 -2.775235932608502e+01 -2.777700264368704e+01 -2.780166206614083e+01 + -2.782633760221619e+01 -2.785102926812099e+01 -2.787573708068912e+01 -2.790046104903706e+01 -2.792520115078565e+01 + -2.794995736764946e+01 -2.797472972921345e+01 -2.799951826412358e+01 -2.802432294939970e+01 -2.804914376169005e+01 + -2.807398072778233e+01 -2.809883387567351e+01 -2.812370318805837e+01 -2.814858864438241e+01 -2.817349025639583e+01 + -2.819840804241009e+01 -2.822334201467696e+01 -2.824829217820057e+01 -2.827325851505399e+01 -2.829824101147483e+01 + -2.832323969328987e+01 -2.834825458594292e+01 -2.837328567375688e+01 -2.839833293713809e+01 -2.842339638194745e+01 + -2.844847602232610e+01 -2.847357188008160e+01 -2.849868396869187e+01 -2.852381226064981e+01 -2.854895673259501e+01 + -2.857411741873861e+01 -2.859929435285462e+01 -2.862448750939692e+01 -2.864969686163745e+01 -2.867492243744038e+01 + -2.870016426611871e+01 -2.872542232818885e+01 -2.875069660076976e+01 -2.877598709618692e+01 -2.880129383482867e+01 + -2.882661683412842e+01 -2.885195610246809e+01 -2.887731161497835e+01 -2.890268335136361e+01 -2.892807134287440e+01 + -2.895347562064698e+01 -2.897889616381469e+01 -2.900433294736006e+01 -2.902978598166526e+01 -2.905525528595928e+01 + -2.908074087945912e+01 -2.910624277257485e+01 -2.913176094050105e+01 -2.915729536236611e+01 -2.918284606824940e+01 + -2.920841308797334e+01 -2.923399639938179e+01 -2.925959597987842e+01 -2.928521185708459e+01 -2.931084405942344e+01 + -2.933649256830759e+01 -2.936215736109871e+01 -2.938783844596477e+01 -2.941353583979598e+01 -2.943924956356517e+01 + -2.946497963001566e+01 -2.949072601489006e+01 -2.951648869675137e+01 -2.954226770244480e+01 -2.956806305999476e+01 + -2.959387475386040e+01 -2.961970276467950e+01 -2.964554710136948e+01 -2.967140778023144e+01 -2.969728481882160e+01 + -2.972317822671904e+01 -2.974908798033929e+01 -2.977501406036931e+01 -2.980095649774566e+01 -2.982691532231985e+01 + -2.985289050935425e+01 -2.987888203414534e+01 -2.990488992671488e+01 -2.993091421806754e+01 -2.995695488841446e+01 + -2.998301191396682e+01 -3.000908530572931e+01 -3.003517508294127e+01 -3.006128126298706e+01 -3.008740385472813e+01 + -3.011354283478899e+01 -3.013969818396866e+01 -3.016586993200092e+01 -3.019205810852835e+01 -3.021826269389396e+01 + -3.024448366459688e+01 -3.027072103106001e+01 -3.029697481234801e+01 -3.032324502816885e+01 -3.034953168930138e+01 + -3.037583477016444e+01 -3.040215424919064e+01 -3.042849015722735e+01 -3.045484252487287e+01 -3.048121132931426e+01 + -3.050759654718701e+01 -3.053399820633122e+01 -3.056041633582694e+01 -3.058685091850949e+01 -3.061330193277164e+01 + -3.063976938548045e+01 -3.066625329189824e+01 -3.069275367239408e+01 -3.071927054017274e+01 -3.074580387467516e+01 + -3.077235365736276e+01 -3.079891991154272e+01 -3.082550266154129e+01 -3.085210189391538e+01 -3.087871759159065e+01 + -3.090534976073683e+01 -3.093199841535169e+01 -3.095866357750086e+01 -3.098534526117247e+01 -3.101204343997652e+01 + -3.103875809113482e+01 -3.106548924669440e+01 -3.109223693806243e+01 -3.111900113926174e+01 -3.114578182447812e+01 + -3.117257902593346e+01 -3.119939277712214e+01 -3.122622305859262e+01 -3.125306984560579e+01 -3.127993314521812e+01 + -3.130681297362548e+01 -3.133370935178603e+01 -3.136062229292185e+01 -3.138755177454848e+01 -3.141449777743489e+01 + -3.144146033107010e+01 -3.146843946420585e+01 -3.149543515392452e+01 -3.152244737446985e+01 -3.154947614039987e+01 + -3.157652147508332e+01 -3.160358339681746e+01 -3.163066191390917e+01 -3.165775699977537e+01 -3.168486863280270e+01 + -3.171199684614663e+01 -3.173914167265754e+01 -3.176630308919665e+01 -3.179348107134120e+01 -3.182067564552154e+01 + -3.184788683989369e+01 -3.187511463866380e+01 -3.190235902163426e+01 -3.192961999494226e+01 -3.195689757352222e+01 + -3.198419178116283e+01 -3.201150263346307e+01 -3.203883010440887e+01 -3.206617417058478e+01 -3.209353486058297e+01 + -3.212091220418486e+01 -3.214830618392138e+01 -3.217571677868305e+01 -3.220314400004898e+01 -3.223058786708538e+01 + -3.225804839611857e+01 -3.228552559489243e+01 -3.231301943956095e+01 -3.234052991162765e+01 -3.236805704558397e+01 + -3.239560087404328e+01 -3.242316136911894e+01 -3.245073850255218e+01 -3.247833230509534e+01 -3.250594280965240e+01 + -3.253356999872297e+01 -3.256121385028732e+01 -3.258887437465276e+01 -3.261655158960600e+01 -3.264424551052439e+01 + -3.267195614529539e+01 -3.269968347425627e+01 -3.272742748229857e+01 -3.275518820008119e+01 -3.278296565603427e+01 + -3.281075982390590e+01 -3.283857067801981e+01 -3.286639824968410e+01 -3.289424257141810e+01 -3.292210362360176e+01 + -3.294998138240963e+01 -3.297787585933321e+01 -3.300578707421773e+01 -3.303371504500630e+01 -3.306165978102434e+01 + -3.308962125902853e+01 -3.311759946003357e+01 -3.314559441465483e+01 -3.317360615365304e+01 -3.320163465877013e+01 + -3.322967990687330e+01 -3.325774190434956e+01 -3.328582066713852e+01 -3.331391621987054e+01 -3.334202857831301e+01 + -3.337015771409062e+01 -3.339830360273710e+01 -3.342646627956469e+01 -3.345464577921614e+01 -3.348284207387808e+01 + -3.351105513572078e+01 -3.353928499930519e+01 -3.356753169996216e+01 -3.359579521371194e+01 -3.362407551222610e+01 + -3.365237260909204e+01 -3.368068652715969e+01 -3.370901728441355e+01 -3.373736488954338e+01 -3.376572931892538e+01 + -3.379411055342771e+01 -3.382250862419983e+01 -3.385092356238306e+01 -3.387935534880526e+01 -3.390780395979943e+01 + -3.393626940403256e+01 -3.396475169950308e+01 -3.399325086920118e+01 -3.402176692682492e+01 -3.405029984391190e+01 + -3.407884959628061e+01 -3.410741621903333e+01 -3.413599974690003e+01 -3.416460015383780e+01 -3.419321741347679e+01 + -3.422185155891206e+01 -3.425050262370409e+01 -3.427917058381036e+01 -3.430785541111823e+01 -3.433655711883738e+01 + -3.436527572977491e+01 -3.439401126380553e+01 -3.442276373145798e+01 -3.445153310880944e+01 -3.448031937598221e+01 + -3.450912256373026e+01 -3.453794270224409e+01 -3.456677976882821e+01 -3.459563373771100e+01 -3.462450462370172e+01 + -3.465339245071625e+01 -3.468229723851619e+01 -3.471121899611902e+01 -3.474015769371995e+01 -3.476911330776019e+01 + -3.479808587848705e+01 -3.482707544447295e+01 -3.485608197378501e+01 -3.488510543365825e+01 -3.491414585850467e+01 + -3.494320328527482e+01 -3.497227769389696e+01 -3.500136905869145e+01 -3.503047738856913e+01 -3.505960270226024e+01 + -3.508874502318216e+01 -3.511790436512474e+01 -3.514708069868058e+01 -3.517627399907308e+01 -3.520548430324607e+01 + -3.523471164812467e+01 -3.526395600883895e+01 -3.529321735592740e+01 -3.532249570335686e+01 -3.535179107461137e+01 + -3.538110348781549e+01 -3.541043295179184e+01 -3.543977944351469e+01 -3.546914294470585e+01 -3.549852348792567e+01 + -3.552792110371767e+01 -3.555733576371960e+01 -3.558676744035331e+01 -3.561621616808287e+01 -3.564568198278825e+01 + -3.567516486397158e+01 -3.570466478590109e+01 -3.573418175828719e+01 -3.576371580017962e+01 -3.579326693254331e+01 + -3.582283516733191e+01 -3.585242047853867e+01 -3.588202284498269e+01 -3.591164230274704e+01 -3.594127888660625e+01 + -3.597093256883734e+01 -3.600060331833949e+01 -3.603029115299790e+01 -3.605999610029281e+01 -3.608971817709886e+01 + -3.611945738978410e+01 -3.614921371329605e+01 -3.617898712799953e+01 -3.620877766734910e+01 -3.623858536391516e+01 + -3.626841019364145e+01 -3.629825213180558e+01 -3.632811120764664e+01 -3.635798745148868e+01 -3.638788084403422e+01 + -3.641779136227628e+01 -3.644771901799147e+01 -3.647766383142195e+01 -3.650762582188893e+01 -3.653760499949427e+01 + -3.656760133838370e+01 -3.659761481766282e+01 -3.662764547223315e+01 -3.665769333671685e+01 -3.668775838882340e+01 + -3.671784060113342e+01 -3.674793998262476e+01 -3.677805655273779e+01 -3.680819033636626e+01 -3.683834134900049e+01 + -3.686850956306390e+01 -3.689869495454472e+01 -3.692889755675729e+01 -3.695911740229619e+01 -3.698935446355054e+01 + -3.701960871343802e+01 -3.704988018719579e+01 -3.708016892120266e+01 -3.711047489408478e+01 -3.714079807933708e+01 + -3.717113848768184e+01 -3.720149613882988e+01 -3.723187105121882e+01 -3.726226323497034e+01 -3.729267266821555e+01 + -3.732309933333587e+01 -3.735354326170426e+01 -3.738400448395760e+01 -3.741448297879693e+01 -3.744497872108128e+01 + -3.747549172223736e+01 -3.750602200310610e+01 -3.753656958561755e+01 -3.756713448177913e+01 -3.759771666281819e+01 + -3.762831610507856e+01 -3.765893284615005e+01 -3.768956692232328e+01 -3.772021830344675e+01 -3.775088695941269e+01 + -3.778157292673024e+01 -3.781227624306894e+01 -3.784299688412320e+01 -3.787373482086582e+01 -3.790449006735824e+01 + -3.793526264738479e+01 -3.796605258053289e+01 -3.799685987630166e+01 -3.802768450803411e+01 -3.805852645435349e+01 + -3.808938575116029e+01 -3.812026243387959e+01 -3.815115647875793e+01 -3.818206785737669e+01 -3.821299658183555e+01 + -3.824394267407146e+01 -3.827490615485264e+01 -3.830588703573063e+01 -3.833688529255877e+01 -3.836790090523419e+01 + -3.839893390552727e+01 -3.842998432385276e+01 -3.846105213333004e+01 -3.849213730842061e+01 -3.852323988624988e+01 + -3.855435990371658e+01 -3.858549733414936e+01 -3.861665214665468e+01 -3.864782435702053e+01 -3.867901399128823e+01 + -3.871022106983104e+01 -3.874144560188923e+01 -3.877268755783931e+01 -3.880394691415978e+01 -3.883522371060106e+01 + -3.886651798555487e+01 -3.889782970870629e+01 -3.892915884903668e+01 -3.896050544141922e+01 -3.899186952243698e+01 + -3.902325106962145e+01 -3.905465005558139e+01 -3.908606649228560e+01 -3.911750040150871e+01 -3.914895180488885e+01 + -3.918042071436301e+01 -3.921190710320024e+01 -3.924341094905042e+01 -3.927493228575462e+01 -3.930647114756201e+01 + -3.933802751416320e+01 -3.936960136044893e+01 -3.940119269666864e+01 -3.943280154239230e+01 -3.946442791911308e+01 + -3.949607183932866e+01 -3.952773327763106e+01 -3.955941221301939e+01 -3.959110868002649e+01 -3.962282271157864e+01 + -3.965455427864192e+01 -3.968630335291520e+01 -3.971806997098832e+01 -3.974985417066340e+01 -3.978165592970123e+01 + -3.981347522024374e+01 -3.984531205199855e+01 -3.987716644515135e+01 -3.990903842423468e+01 -3.994092800366619e+01 + -3.997283515305731e+01 -4.000475984705376e+01 -4.003670212524431e+01 -4.006866202678586e+01 -4.010063952416471e+01 + -4.013263458527370e+01 -4.016464722630246e+01 -4.019667747391531e+01 -4.022872534837892e+01 -4.026079085897078e+01 + -4.029287397740929e+01 -4.032497468131004e+01 -4.035709300943645e+01 -4.038922899883853e+01 -4.042138261856475e+01 + -4.045355383733334e+01 -4.048574269054266e+01 -4.051794921541258e+01 -4.055017338976896e+01 -4.058241518694505e+01 + -4.061467462169752e+01 -4.064695171778673e+01 -4.067924649356458e+01 -4.071155895737036e+01 -4.074388908290122e+01 + -4.077623684962312e+01 -4.080860229471885e+01 -4.084098545450960e+01 -4.087338630415373e+01 -4.090580481395003e+01 + -4.093824099592192e+01 -4.097069487270115e+01 -4.100316646762842e+01 -4.103565579436854e+01 -4.106816282717386e+01 + -4.110068754422534e+01 -4.113322997883087e+01 -4.116579016300655e+01 -4.119836806847471e+01 -4.123096366815907e+01 + -4.126357700008218e+01 -4.129620810254014e+01 -4.132885694982463e+01 -4.136152351139461e+01 -4.139420780138244e+01 + -4.142690984447184e+01 -4.145962966287846e+01 -4.149236726828771e+01 -4.152512263273182e+01 -4.155789573295193e+01 + -4.159068660417814e+01 -4.162349528189675e+01 -4.165632174413023e+01 -4.168916596438000e+01 -4.172202795552684e+01 + -4.175490773972726e+01 -4.178780533686147e+01 -4.182072075745918e+01 -4.185365397692470e+01 -4.188660497553830e+01 + -4.191957378820953e+01 -4.195256044830271e+01 -4.198556492837179e+01 -4.201858720098863e+01 -4.205162729960676e+01 + -4.208468525919077e+01 -4.211776105986812e+01 -4.215085467691669e+01 -4.218396612105321e+01 -4.221709541226407e+01 + -4.225024257217616e+01 -4.228340761361360e+01 -4.231659051254899e+01 -4.234979124870078e+01 -4.238300985362200e+01 + -4.241624635885866e+01 -4.244950074409413e+01 -4.248277298525672e+01 -4.251606309511715e+01 -4.254937109530931e+01 + -4.258269700607782e+01 -4.261604083828603e+01 -4.264940256666174e+01 -4.268278217100897e+01 -4.271617968757233e+01 + -4.274959515039267e+01 -4.278302852825576e+01 -4.281647979114838e+01 -4.284994897911630e+01 -4.288343613339240e+01 + -4.291694122989936e+01 -4.295046423857267e+01 -4.298400517070971e+01 -4.301756404788966e+01 -4.305114089145757e+01 + -4.308473571388112e+01 -4.311834849235274e+01 -4.315197920801049e+01 -4.318562789305037e+01 -4.321929457904871e+01 + -4.325297924404543e+01 -4.328668186207582e+01 -4.332040244469275e+01 -4.335414101381126e+01 -4.338789759527743e+01 + -4.342167220389723e+01 -4.345546480638487e+01 -4.348927537558045e+01 -4.352310395691921e+01 -4.355695059370569e+01 + -4.359081524812669e+01 -4.362469788222823e+01 -4.365859853861065e+01 -4.369251726260594e+01 -4.372645402991838e+01 + -4.376040880917880e+01 -4.379438161035186e+01 -4.382837245512241e+01 -4.386238137072252e+01 -4.389640837367813e+01 + -4.393045343214298e+01 -4.396451651875527e+01 -4.399859767246311e+01 -4.403269693263155e+01 -4.406681427398399e+01 + -4.410094966630350e+01 -4.413510312425358e+01 -4.416927467295284e+01 -4.420346433446015e+01 -4.423767212069691e+01 + -4.427189800609401e+01 -4.430614196966567e+01 -4.434040404624994e+01 -4.437468426893484e+01 -4.440898260798443e+01 + -4.444329903479183e+01 -4.447763358808973e+01 -4.451198630763288e+01 -4.454635716992501e+01 -4.458074614621454e+01 + -4.461515324997958e+01 -4.464957850449220e+01 -4.468402192997090e+01 -4.471848353715485e+01 -4.475296330191956e+01 + -4.478746120505344e+01 -4.482197728186011e+01 -4.485651156648301e+01 -4.489106403390974e+01 -4.492563465506775e+01 + -4.496022344379944e+01 -4.499483042484561e+01 -4.502945562362576e+01 -4.506409905435962e+01 -4.509876068578905e+01 + -4.513344049220396e+01 -4.516813851556444e+01 -4.520285479589762e+01 -4.523758929782897e+01 -4.527234198687941e+01 + -4.530711290755342e+01 -4.534190210524451e+01 -4.537670954991925e+01 -4.541153520580425e+01 -4.544637908959269e+01 + -4.548124122972980e+01 -4.551612164920255e+01 -4.555102035951307e+01 -4.558593733168242e+01 -4.562087254236648e+01 + -4.565582603124118e+01 -4.569079783605451e+01 -4.572578792382265e+01 -4.576079626235065e+01 -4.579582289333027e+01 + -4.583086785976433e+01 -4.586593113601344e+01 -4.590101269036680e+01 -4.593611253546989e+01 -4.597123069530716e+01 + -4.600636719486254e+01 -4.604152204856955e+01 -4.607669522766013e+01 -4.611188670797630e+01 -4.614709652700154e+01 + -4.618232472227299e+01 -4.621757126990104e+01 -4.625283614113306e+01 -4.628811934919114e+01 -4.632342091751210e+01 + -4.635874086841728e+01 -4.639407921460932e+01 -4.642943593143147e+01 -4.646481099859044e+01 -4.650020445060623e+01 + -4.653561632090474e+01 -4.657104658372261e+01 -4.660649521327068e+01 -4.664196224284595e+01 -4.667744770698098e+01 + -4.671295158606459e+01 -4.674847385553061e+01 -4.678401452513644e+01 -4.681957361522331e+01 -4.685515115414413e+01 + -4.689074715945064e+01 -4.692636159747788e+01 -4.696199443933372e+01 -4.699764572643400e+01 -4.703331550121288e+01 + -4.706900373987032e+01 -4.710471041222129e+01 -4.714043552877479e+01 -4.717617911151273e+01 -4.721194118761495e+01 + -4.724772177397794e+01 -4.728352084116666e+01 -4.731933836391387e+01 -4.735517437995513e+01 -4.739102892624472e+01 + -4.742690197360956e+01 -4.746279349304486e+01 -4.749870352234630e+01 -4.753463210070628e+01 -4.757057920610364e+01 + -4.760654481072343e+01 -4.764252892478859e+01 -4.767853156968457e+01 -4.771455277340900e+01 -4.775059255327958e+01 + -4.778665087728216e+01 -4.782272771801416e+01 -4.785882311585065e+01 -4.789493711157514e+01 -4.793106967982698e+01 + -4.796722079021173e+01 -4.800339045834357e+01 -4.803957871014897e+01 -4.807578556679541e+01 -4.811201103905631e+01 + -4.814825510088780e+01 -4.818451773166895e+01 -4.822079896928767e+01 -4.825709884980719e+01 -4.829341734348342e+01 + -4.832975442115909e+01 -4.836611012183125e+01 -4.840248448526336e+01 -4.843887748613056e+01 -4.847528909416636e+01 + -4.851171932442625e+01 -4.854816820273300e+01 -4.858463575265701e+01 -4.862112198691646e+01 -4.865762687707282e+01 + -4.869415040003414e+01 -4.873069259525141e+01 -4.876725350118260e+01 -4.880383308977095e+01 -4.884043132904604e+01 + -4.887704823789731e+01 -4.891368384608068e+01 -4.895033817595851e+01 -4.898701123776245e+01 -4.902370300059485e+01 + -4.906041344002308e+01 -4.909714259860375e+01 -4.913389051725400e+01 -4.917065716334413e+01 -4.920744250429804e+01 + -4.924424658130064e+01 -4.928106943700116e+01 -4.931791104614518e+01 -4.935477137752828e+01 -4.939165044404930e+01 + -4.942854827009338e+01 -4.946546488188807e+01 -4.950240029454247e+01 -4.953935447684974e+01 -4.957632740294361e+01 + -4.961331911463601e+01 -4.965032965315336e+01 -4.968735898970213e+01 -4.972440709120082e+01 -4.976147397743583e+01 + -4.979855967878247e+01 -4.983566421510402e+01 -4.987278759472007e+01 -4.990992979028766e+01 -4.994709078100569e+01 + -4.998427060790318e+01 -5.002146930959274e+01 -5.005868685319148e+01 -5.009592320640078e+01 -5.013317841075434e+01 + -5.017045250915469e+01 -5.020774547614742e+01 -5.024505728017924e+01 -5.028238793365752e+01 -5.031973746104961e+01 + -5.035710589110189e+01 -5.039449324090066e+01 -5.043189947661289e+01 -5.046932456973549e+01 -5.050676856400442e+01 + -5.054423150327239e+01 -5.058171335962052e+01 -5.061921409929316e+01 -5.065673373695915e+01 -5.069427229950105e+01 + -5.073182981423184e+01 -5.076940629607507e+01 -5.080700170996615e+01 -5.084461602753602e+01 -5.088224929718589e+01 + -5.091990156525010e+01 -5.095757279302548e+01 -5.099526294209112e+01 -5.103297206019221e+01 -5.107070019605169e+01 + -5.110844731613729e+01 -5.114621338143406e+01 -5.118399841325091e+01 -5.122180244526444e+01 -5.125962550029841e+01 + -5.129746758802490e+01 -5.133532867636215e+01 -5.137320874011100e+01 -5.141110782335645e+01 -5.144902596945006e+01 + -5.148696314952589e+01 -5.152491932947918e+01 -5.156289452646703e+01 -5.160088876945014e+01 -5.163890208334180e+01 + -5.167693448081514e+01 -5.171498592963017e+01 -5.175305640369855e+01 -5.179114594645165e+01 -5.182925460014935e+01 + -5.186738233284598e+01 -5.190552911234031e+01 -5.194369497961412e+01 -5.198187997663295e+01 -5.202008407611459e+01 + -5.205830724580739e+01 -5.209654950282933e+01 -5.213481087573764e+01 -5.217309138947744e+01 -5.221139105690054e+01 + -5.224970984609732e+01 -5.228804773087789e+01 -5.232640475269200e+01 -5.236478095346914e+01 -5.240317630941821e+01 + -5.244159079031952e+01 -5.248002440595931e+01 -5.251847717885386e+01 -5.255694914243367e+01 -5.259544031823210e+01 + -5.263395066927961e+01 -5.267248016335085e+01 -5.271102884570031e+01 -5.274959676081755e+01 -5.278818387265291e+01 + -5.282679014593192e+01 -5.286541562901994e+01 -5.290406037048660e+01 -5.294272433607927e+01 -5.298140748616263e+01 + -5.302010984239256e+01 -5.305883143892672e+01 -5.309757229863885e+01 -5.313633243133304e+01 -5.317511180581835e+01 + -5.321391039785607e+01 -5.325272825201081e+01 -5.329156541074357e+01 -5.333042183929739e+01 -5.336929750308754e+01 + -5.340819244543594e+01 -5.344710671111962e+01 -5.348604027282968e+01 -5.352499309722418e+01 -5.356396519891433e+01 + -5.360295660504364e+01 -5.364196734493171e+01 -5.368099743556814e+01 -5.372004684244607e+01 -5.375911553606044e+01 + -5.379820355840945e+01 -5.383731095277006e+01 -5.387643769603123e+01 -5.391558375867469e+01 -5.395474915194053e+01 + -5.399393389872404e+01 -5.403313802778240e+01 -5.407236155707715e+01 -5.411160445552515e+01 -5.415086669663323e+01 + -5.419014832131279e+01 -5.422944936941720e+01 -5.426876980916325e+01 -5.430810960961936e+01 -5.434746881489674e+01 + -5.438684746929877e+01 -5.442624554285502e+01 -5.446566300018413e+01 -5.450509985853421e+01 -5.454455614758906e+01 + -5.458403189414573e+01 -5.462352711279953e+01 -5.466304177222543e+01 -5.470257584656953e+01 -5.474212937778257e+01 + -5.478170240720980e+01 -5.482129490597043e+01 -5.486090684084346e+01 -5.490053823147309e+01 -5.494018910890276e+01 + -5.497985949690793e+01 -5.501954940653937e+01 -5.505925880521750e+01 -5.509898766755921e+01 -5.513873604059781e+01 + -5.517850396943321e+01 -5.521829141901578e+01 -5.525809835354192e+01 -5.529792481434151e+01 -5.533777084523449e+01 + -5.537763642286803e+01 -5.541752151714192e+01 -5.545742613813913e+01 -5.549735030880384e+01 -5.553729406334213e+01 + -5.557725742375872e+01 -5.561724035199087e+01 -5.565724281465346e+01 -5.569726485713910e+01 -5.573730652628086e+01 + -5.577736779589668e+01 -5.581744863307357e+01 -5.585754905099014e+01 -5.589766907536871e+01 -5.593780873601526e+01 + -5.597796805069111e+01 -5.601814698489535e+01 -5.605834550959182e+01 -5.609856366986563e+01 -5.613880151023810e+01 + -5.617905899885479e+01 -5.621933610311022e+01 -5.625963286377015e+01 -5.629994932270948e+01 -5.634028545286861e+01 + -5.638064122221132e+01 -5.642101664772899e+01 -5.646141175844968e+01 -5.650182658252075e+01 -5.654226113528433e+01 + -5.658271538174220e+01 -5.662318929319503e+01 -5.666368291647893e+01 -5.670419629786259e+01 -5.674472940580990e+01 + -5.678528220346420e+01 -5.682585471049146e+01 -5.686644695909487e+01 -5.690705897510426e+01 -5.694769077129006e+01 + -5.698834231455854e+01 -5.702901357847642e+01 -5.706970460911611e+01 -5.711041545084194e+01 -5.715114606868026e+01 + -5.719189642778805e+01 -5.723266657318249e+01 -5.727345655110785e+01 -5.731426633285666e+01 -5.735509588339112e+01 + -5.739594521730356e+01 -5.743681436264626e+01 -5.747770335168147e+01 -5.751861220364783e+01 -5.755954088147938e+01 + -5.760048935348805e+01 -5.764145766580183e+01 -5.768244586550730e+01 -5.772345392571002e+01 -5.776448181276131e+01 + -5.780552953997691e+01 -5.784659713354442e+01 -5.788768462417462e+01 -5.792879202998626e+01 -5.796991931420698e+01 + -5.801106644664837e+01 -5.805223347834903e+01 -5.809342045860209e+01 -5.813462734849197e+01 -5.817585410820936e+01 + -5.821710078257841e+01 -5.825836741928538e+01 -5.829965399283203e+01 -5.834096047087346e+01 -5.838228686686274e+01 + -5.842363320676851e+01 -5.846499952082397e+01 -5.850638582715609e+01 -5.854779209120221e+01 -5.858921828442874e+01 + -5.863066445510763e+01 -5.867213065032231e+01 -5.871361683559694e+01 -5.875512297138874e+01 -5.879664907944645e+01 + -5.883819519466417e+01 -5.887976134322624e+01 -5.892134753756825e+01 -5.896295374384051e+01 -5.900457993500612e+01 + -5.904622615756436e+01 -5.908789245663575e+01 -5.912957879828990e+01 -5.917128514850664e+01 -5.921301155195771e+01 + -5.925475805384439e+01 -5.929652462279476e+01 -5.933831122286624e+01 -5.938011787640643e+01 -5.942194461763230e+01 + -5.946379146994821e+01 -5.950565844408734e+01 -5.954754551091072e+01 -5.958945264733813e+01 -5.963137989439624e+01 + -5.967332729249499e+01 -5.971529481547052e+01 -5.975728243227523e+01 -5.979929015889982e+01 -5.984131802305070e+01 + -5.988336605225896e+01 -5.992543426246962e+01 -5.996752262345901e+01 -6.000963111046766e+01 -6.005175976676178e+01 + -6.009390863383608e+01 -6.013607767807394e+01 -6.017826686618813e+01 -6.022047624132026e+01 -6.026270584835797e+01 + -6.030495566274465e+01 -6.034722565381767e+01 -6.038951583593452e+01 -6.043182623512069e+01 -6.047415687905394e+01 + -6.051650778421003e+01 -6.055887892060463e+01 -6.060127026325783e+01 -6.064368185366749e+01 -6.068611373308907e+01 + -6.072856587533070e+01 -6.077103824887340e+01 -6.081353086833690e+01 -6.085604376132918e+01 -6.089857696127247e+01 + -6.094113048823596e+01 -6.098370430306234e+01 -6.102629837247437e+01 -6.106891274594116e+01 -6.111154747264118e+01 + -6.115420251784390e+01 -6.119687784580902e+01 -6.123957350066591e+01 -6.128228952841628e+01 -6.132502590268162e+01 + -6.136778259056138e+01 -6.141055960544676e+01 -6.145335697380811e+01 -6.149617472814099e+01 -6.153901288864162e+01 + -6.158187142028389e+01 -6.162475029314290e+01 -6.166764955292113e+01 -6.171056924466600e+01 -6.175350933517737e+01 + -6.179646979123154e+01 -6.183945065775757e+01 -6.188245198047678e+01 -6.192547373012725e+01 -6.196851587175868e+01 + -6.201157842265037e+01 -6.205466141333163e+01 -6.209776487510229e+01 -6.214088882566958e+01 -6.218403322759970e+01 + -6.222719804958889e+01 -6.227038333999444e+01 -6.231358914752139e+01 -6.235681544260558e+01 -6.240006218936849e+01 + -6.244332940494305e+01 -6.248661712010740e+01 -6.252992536720910e+01 -6.257325416420860e+01 -6.261660346994837e+01 + -6.265997325077347e+01 -6.270336356215701e+01 -6.274677445777788e+01 -6.279020589501037e+01 -6.283365783085999e+01 + -6.287713031716163e+01 -6.292062340781234e+01 -6.296413707012920e+01 -6.300767126475596e+01 -6.305122601222295e+01 + -6.309480134635203e+01 -6.313839729424505e+01 -6.318201386936521e+01 -6.322565103734121e+01 -6.326930877093868e+01 + -6.331298711930568e+01 -6.335668613058504e+01 -6.340040577251647e+01 -6.344414600718050e+01 -6.348790685442323e+01 + -6.353168834759008e+01 -6.357549051625812e+01 -6.361931337593239e+01 -6.366315688959789e+01 -6.370702102749119e+01 + -6.375090584137499e+01 -6.379481138078580e+01 -6.383873760482961e+01 -6.388268447297220e+01 -6.392665203654889e+01 + -6.397064034897519e+01 -6.401464938011861e+01 -6.405867909237229e+01 -6.410272950177993e+01 -6.414680063823367e+01 + -6.419089253336912e+01 -6.423500520539493e+01 -6.427913861706836e+01 -6.432329273774181e+01 -6.436746761859949e+01 + -6.441166331065573e+01 -6.445587978241413e+01 -6.450011699516882e+01 -6.454437496388719e+01 -6.458865371852110e+01 + -6.463295329528786e+01 -6.467727371608086e+01 -6.472161493923234e+01 -6.476597692945877e+01 -6.481035974057480e+01 + -6.485476342551981e+01 -6.489918794463497e+01 -6.494363325783405e+01 -6.498809941591921e+01 -6.503258647107099e+01 + -6.507709439009531e+01 -6.512162313341831e+01 -6.516617272132122e+01 -6.521074318787740e+01 -6.525533456247440e+01 + -6.529994686059398e+01 -6.534458004678092e+01 -6.538923409250538e+01 -6.543390904787570e+01 -6.547860496211884e+01 + -6.552332180229843e+01 -6.556805952953434e+01 -6.561281816333469e+01 -6.565759773746066e+01 -6.570239828429803e+01 + -6.574721982146080e+01 -6.579206230885156e+01 -6.583692571363754e+01 -6.588181008975629e+01 -6.592671548982709e+01 + -6.597164187442638e+01 -6.601658920334479e+01 -6.606155752527242e+01 -6.610654689090467e+01 -6.615155727005924e+01 + -6.619658862652422e+01 -6.624164098084657e+01 -6.628671436645676e+01 -6.633180881156068e+01 -6.637692433038681e+01 + -6.642206088647883e+01 -6.646721845110714e+01 -6.651239707713407e+01 -6.655759681603797e+01 -6.660281763216933e+01 + -6.664805948389387e+01 -6.669332239276561e+01 -6.673860639512726e+01 -6.678391152328841e+01 -6.682923779433044e+01 + -6.687458516845543e+01 -6.691995361277515e+01 -6.696534317891920e+01 -6.701075391795754e+01 -6.705618579420361e+01 + -6.710163877100581e+01 -6.714711289460833e+01 -6.719260821321966e+01 -6.723812470001026e+01 -6.728366232121398e+01 + -6.732922109035582e+01 -6.737480103488133e+01 -6.742040219062761e+01 -6.746602458035952e+01 -6.751166816616187e+01 + -6.755733291529161e+01 -6.760301887637438e+01 -6.764872609859751e+01 -6.769445455202660e+01 -6.774020420051386e+01 + -6.778597506217976e+01 -6.783176716876942e+01 -6.787758055225885e+01 -6.792341523092826e+01 -6.796927116804379e+01 + -6.801514833341810e+01 -6.806104677806347e+01 -6.810696655123587e+01 -6.815290761396663e+01 -6.819886992772128e+01 + -6.824485354392678e+01 -6.829085851532395e+01 -6.833688480994840e+01 -6.838293238885097e+01 -6.842900126984890e+01 + -6.847509148538957e+01 -6.852120306967514e+01 -6.856733604269469e+01 -6.861349036583006e+01 -6.865966600658993e+01 + -6.870586301559659e+01 -6.875208144399036e+01 -6.879832126187024e+01 -6.884458243234171e+01 -6.889086497157696e+01 + -6.893716890990422e+01 -6.898349428120915e+01 -6.902984110598732e+01 -6.907620934761650e+01 -6.912259897511596e+01 + -6.916901003718877e+01 -6.921544258172949e+01 -6.926189657371528e+01 -6.930837197817074e+01 -6.935486884322755e+01 + -6.940138721768092e+01 -6.944792706987337e+01 -6.949448836290087e+01 -6.954107111932564e+01 -6.958767537490402e+01 + -6.963430115870300e+01 -6.968094848498497e+01 -6.972761731548312e+01 -6.977430762020695e+01 -6.982101945480034e+01 + -6.986775287255249e+01 -6.991450783170005e+01 -6.996128429032680e+01 -7.000808230095708e+01 -7.005490191787665e+01 + -7.010174310797666e+01 -7.014860583121035e+01 -7.019549010717337e+01 -7.024239597049470e+01 -7.028932345629492e+01 + -7.033627258446040e+01 -7.038324331344937e+01 -7.043023560838913e+01 -7.047724952251053e+01 -7.052428510987777e+01 + -7.057134233978515e+01 -7.061842117397924e+01 -7.066552162878578e+01 -7.071264373512433e+01 -7.075978752771100e+01 + -7.080695302731498e+01 -7.085414019512091e+01 -7.090134899910394e+01 -7.094857949398551e+01 -7.099583173235354e+01 + -7.104310567151599e+01 -7.109040126922885e+01 -7.113771858031990e+01 -7.118505766125368e+01 -7.123241847797109e+01 + -7.127980098937178e+01 -7.132720521671429e+01 -7.137463119544236e+01 -7.142207895538176e+01 -7.146954851252747e+01 + -7.151703983316882e+01 -7.156455289009196e+01 -7.161208773177542e+01 -7.165964440570248e+01 -7.170722287968356e+01 + -7.175482311646741e+01 -7.180244513822917e+01 -7.185008898098621e+01 -7.189775467669884e+01 -7.194544224180910e+01 + -7.199315163474331e+01 -7.204088282234626e+01 -7.208863586315185e+01 -7.213641081375658e+01 -7.218420763131780e+01 + -7.223202627227879e+01 -7.227986678966526e+01 -7.232772923884254e+01 -7.237561358795277e+01 -7.242351979769759e+01 + -7.247144788623903e+01 -7.251939788668284e+01 -7.256736983444897e+01 -7.261536375015235e+01 -7.266337959287341e+01 + -7.271141732841731e+01 -7.275947701102203e+01 -7.280755869538000e+01 -7.285566234956853e+01 -7.290378793432680e+01 + -7.295193546765573e+01 -7.300010498266862e+01 -7.304829651566631e+01 -7.309651008753943e+01 -7.314474565435016e+01 + -7.319300317971540e+01 -7.324128272229925e+01 -7.328958433981238e+01 -7.333790799110540e+01 -7.338625363374130e+01 + -7.343462131899291e+01 -7.348301110053259e+01 -7.353142294792167e+01 -7.357985682361442e+01 -7.362831274574745e+01 + -7.367679074711965e+01 -7.372529086349638e+01 -7.377381311579366e+01 -7.382235746256312e+01 -7.387092386912651e+01 + -7.391951239025020e+01 -7.396812308115555e+01 -7.401675590943988e+01 -7.406541083531380e+01 -7.411408787706513e+01 + -7.416278706814910e+01 -7.421150844461324e+01 -7.426025202733783e+01 -7.430901777394124e+01 -7.435780564940528e+01 + -7.440661571142732e+01 -7.445544801616209e+01 -7.450430252087864e+01 -7.455317918285648e+01 -7.460207805830268e+01 + -7.465099920497126e+01 -7.469994258787753e+01 -7.474890816454140e+01 -7.479789595523943e+01 -7.484690599592756e+01 + -7.489593832252380e+01 -7.494499295533201e+01 -7.499406985223764e+01 -7.504316897827101e+01 -7.509229038945979e+01 + -7.514143414169166e+01 -7.519060019929748e+01 -7.523978851997632e+01 -7.528899912645726e+01 -7.533823205657275e+01 + -7.538748734353926e+01 -7.543676500532445e+01 -7.548606500351643e+01 -7.553538730703876e+01 -7.558473197053598e+01 + -7.563409904619321e+01 -7.568348849063742e+01 -7.573290026170078e+01 -7.578233441759443e+01 -7.583179101796470e+01 + -7.588127002782028e+01 -7.593077140392674e+01 -7.598029516471465e+01 -7.602984134475692e+01 -7.607940998153097e+01 + -7.612900109746634e+01 -7.617861465189691e+01 -7.622825061065345e+01 -7.627790902865043e+01 -7.632758996032740e+01 + -7.637729336914126e+01 -7.642701921265419e+01 -7.647676751583191e+01 -7.652653831849052e+01 -7.657633165244424e+01 + -7.662614753370475e+01 -7.667598592307560e+01 -7.672584678949215e+01 -7.677573018962489e+01 -7.682563617769370e+01 + -7.687556471038147e+01 -7.692551574474433e+01 -7.697548933686781e+01 -7.702548554509247e+01 -7.707550433774978e+01 + -7.712554567498073e+01 -7.717560957417300e+01 -7.722569606768573e+01 -7.727580519051753e+01 -7.732593696392289e+01 + -7.737609135154067e+01 -7.742626832278943e+01 -7.747646792782194e+01 -7.752669021677298e+01 -7.757693515897095e+01 + -7.762720271798948e+01 -7.767749291518889e+01 -7.772780578562232e+01 -7.777814136132783e+01 -7.782849965970544e+01 + -7.787888064261847e+01 -7.792928427988689e+01 -7.797971062869398e+01 -7.803015974345008e+01 -7.808063158011076e+01 + -7.813112609521906e+01 -7.818164334612277e+01 -7.823218339188995e+01 -7.828274619766600e+01 -7.833333172107952e+01 + -7.838393998361434e+01 -7.843457102192369e+01 -7.848522486948340e+01 -7.853590154498607e+01 -7.858660101116894e+01 + -7.863732323758104e+01 -7.868806827697425e+01 -7.873883618163512e+01 -7.878962691878654e+01 -7.884044044940295e+01 + -7.889127679452803e+01 -7.894213598992800e+01 -7.899301807018992e+01 -7.904392305456564e+01 -7.909485090214494e+01 + -7.914580158005610e+01 -7.919677514774288e+01 -7.924777166238927e+01 -7.929879107982515e+01 -7.934983335558289e+01 + -7.940089854535901e+01 -7.945198670709752e+01 -7.950309780756868e+01 -7.955423180605224e+01 -7.960538872303847e+01 + -7.965656859466247e+01 -7.970777145842827e+01 -7.975899733555858e+01 -7.981024618078136e+01 -7.986151795697417e+01 + -7.991281272610696e+01 -7.996413054847572e+01 -8.001547137858779e+01 -8.006683517069925e+01 -8.011822198384908e+01 + -8.016963187855384e+01 -8.022106481645797e+01 -8.027252075224854e+01 -8.032399971165485e+01 -8.037550173585385e+01 + -8.042702685677139e+01 -8.047857509055929e+01 -8.053014639952434e+01 -8.058174075328817e+01 -8.063335820457638e+01 + -8.068499880610621e+01 -8.073666252745771e+01 -8.078834933088126e+01 -8.084005923244513e+01 -8.089179226408041e+01 + -8.094354846735196e+01 -8.099532786819320e+01 -8.104713042037783e+01 -8.109895608507813e+01 -8.115080492521992e+01 + -8.120267700205356e+01 -8.125457226837462e+01 -8.130649067623317e+01 -8.135843228315183e+01 -8.141039715010918e+01 + -8.146238524643556e+01 -8.151439653208425e+01 -8.156643102114791e+01 -8.161848874447259e+01 -8.167056974577932e+01 + -8.172267405314662e+01 -8.177480161920819e+01 -8.182695240289546e+01 -8.187912646377457e+01 -8.193132386298609e+01 + -8.198354456733288e+01 -8.203578853472443e+01 -8.208805578183410e+01 -8.214034634197473e+01 -8.219266025625411e+01 + -8.224499755029157e+01 -8.229735817995817e+01 -8.234974210798764e+01 -8.240214939431286e+01 -8.245458009683706e+01 + -8.250703416814667e+01 -8.255951156203467e+01 -8.261201234243612e+01 -8.266453657428882e+01 -8.271708421639993e+01 + -8.276965521981012e+01 -8.282224961062391e+01 -8.287486743131451e+01 -8.292750871476633e+01 -8.298017347733835e+01 + -8.303286167887651e+01 -8.308557328775250e+01 -8.313830836295337e+01 -8.319106696215761e+01 -8.324384904719405e+01 + -8.329665457280116e+01 -8.334948356120523e+01 -8.340233605179664e+01 -8.345521208513452e+01 -8.350811168407860e+01 + -8.356103479952203e+01 -8.361398139085040e+01 -8.366695152338559e+01 -8.371994526125894e+01 -8.377296255790387e+01 + -8.382600336547402e+01 -8.387906774170159e+01 -8.393215574692768e+01 -8.398526734635097e+01 -8.403840249721476e+01 + -8.409156122008268e+01 -8.414474355213920e+01 -8.419794953373223e+01 -8.425117918830632e+01 -8.430443246852916e+01 + -8.435770933516140e+01 -8.441100985211256e+01 -8.446433408298962e+01 -8.451768198704093e+01 -8.457105351533237e+01 + -8.462444869055821e+01 -8.467786755329161e+01 -8.473131014399300e+01 -8.478477648534972e+01 -8.483826652906932e+01 + -8.489178023573824e+01 -8.494531767243778e+01 -8.499887890373510e+01 -8.505246387764603e+01 -8.510607254206460e+01 + -8.515970496094809e+01 -8.521336120130535e+01 -8.526704122628841e+01 -8.532074498941530e+01 -8.537447250952404e+01 + -8.542822382319736e+01 -8.548199897267675e+01 -8.553579798342942e+01 -8.558962080816578e+01 -8.564346740685433e+01 + -8.569733784125194e+01 -8.575123217367282e+01 -8.580515036687339e+01 -8.585909237532205e+01 -8.591305821989287e+01 + -8.596704793875205e+01 -8.602106157282915e+01 -8.607509914567974e+01 -8.612916060859980e+01 -8.618324592155754e+01 + -8.623735515146925e+01 -8.629148836331387e+01 -8.634564550737286e+01 -8.639982653295500e+01 -8.645403150017543e+01 + -8.650826047252751e+01 -8.656251341621210e+01 -8.661679028858919e+01 -8.667109110894766e+01 -8.672541591317201e+01 + -8.677976474159972e+01 -8.683413761829634e+01 -8.688853449778628e+01 -8.694295534179228e+01 -8.699740021037117e+01 + -8.705186916402354e+01 -8.710636216669133e+01 -8.716087917454270e+01 -8.721542020920894e+01 -8.726998530877070e+01 + -8.732457451164281e+01 -8.737918783967393e+01 -8.743382524811331e+01 -8.748848670054353e+01 -8.754317226047976e+01 + -8.759788198894785e+01 -8.765261583708421e+01 -8.770737375634857e+01 -8.776215580938322e+01 -8.781696206132678e+01 + -8.787179247612183e+01 -8.792664700860111e+01 -8.798152567835336e+01 -8.803642852212045e+01 -8.809135558050070e+01 + -8.814630687756171e+01 -8.820128236739042e+01 -8.825628201129771e+01 -8.831130586947003e+01 -8.836635400284558e+01 + -8.842142637649435e+01 -8.847652294770472e+01 -8.853164373850628e+01 -8.858678878695027e+01 -8.864195813043362e+01 + -8.869715178945941e+01 -8.875236971760948e+01 -8.880761187808301e+01 -8.886287833946902e+01 -8.891816916696094e+01 + -8.897348430677987e+01 -8.902882370531137e+01 -8.908418742857141e+01 -8.913957554536425e+01 -8.919498801601753e+01 + -8.925042479199006e+01 -8.930588589774098e+01 -8.936137137472512e+01 -8.941688125937962e+01 -8.947241557120560e+01 + -8.952797426697802e+01 -8.958355731201681e+01 -8.963916476854843e+01 -8.969479669732335e+01 -8.975045305628245e+01 + -8.980613379692392e+01 -8.986183894778455e+01 -8.991756855389235e+01 -8.997332264920152e+01 -9.002910125051302e+01 + -9.008490431708829e+01 -9.014073181666647e+01 -9.019658380843681e+01 -9.025246034941333e+01 -9.030836139645970e+01 + -9.036428690661128e+01 -9.042023693773967e+01 -9.047621154925669e+01 -9.053221070589892e+01 -9.058823436476921e+01 + -9.064428254711031e+01 -9.070035529106499e+01 -9.075645263823618e+01 -9.081257461289793e+01 -9.086872116654884e+01 + -9.092489225918972e+01 -9.098108795760594e+01 -9.103730832657459e+01 -9.109355331605536e+01 -9.114982287548730e+01 + -9.120611706704364e+01 -9.126243595579022e+01 -9.131877950563008e+01 -9.137514767186437e+01 -9.143154047654943e+01 + -9.148795795857168e+01 -9.154440015738282e+01 -9.160086709537343e+01 -9.165735872612346e+01 -9.171387501169491e+01 + -9.177041601688784e+01 -9.182698180564800e+01 -9.188357233576582e+01 -9.194018755741556e+01 -9.199682749646104e+01 + -9.205349219658670e+01 -9.211018169707003e+01 -9.216689601912306e+01 -9.222363511610273e+01 -9.228039895018067e+01 + -9.233718758664240e+01 -9.239400108840672e+01 -9.245083940581294e+01 -9.250770248979978e+01 -9.256459040628322e+01 + -9.262150322244982e+01 -9.267844089559186e+01 -9.273540337476760e+01 -9.279239068599267e+01 -9.284940287335907e+01 + -9.290643997630693e+01 -9.296350201607783e+01 -9.302058894577094e+01 -9.307770072730455e+01 -9.313483742601555e+01 + -9.319199910633068e+01 -9.324918572561810e+01 -9.330639723351504e+01 -9.336363365579297e+01 -9.342089503640302e+01 + -9.347818141588093e+01 -9.353549281584256e+01 -9.359282918563940e+01 -9.365019048477910e+01 -9.370757678565749e+01 + -9.376498815769901e+01 -9.382242454555492e+01 -9.387988589305337e+01 -9.393737226550313e+01 -9.399488373202897e+01 + -9.405242025553964e+01 -9.410998178945039e+01 -9.416756835541781e+01 -9.422517999301114e+01 -9.428281674520871e+01 + -9.434047863667399e+01 -9.439816561540189e+01 -9.445587763836596e+01 -9.451361477512259e+01 -9.457137709520302e+01 + -9.462916455545547e+01 -9.468697710379740e+01 -9.474481476510589e+01 -9.480267758244509e+01 -9.486056559466863e+01 + -9.491847882335075e+01 -9.497641722515867e+01 -9.503438076487508e+01 -9.509236950465109e+01 -9.515038350409563e+01 + -9.520842271528107e+01 -9.526648709103007e+01 -9.532457669470300e+01 -9.538269159175374e+01 -9.544083174547335e+01 + -9.549899710997526e+01 -9.555718770482461e+01 -9.561540356780063e+01 -9.567364474408794e+01 -9.573191126075703e+01 + -9.579020306501620e+01 -9.584852011272490e+01 -9.590686247420874e+01 -9.596523021978578e+01 -9.602362330527772e+01 + -9.608204167783254e+01 -9.614048536439948e+01 -9.619895441016116e+01 -9.625744885343293e+01 -9.631596871403326e+01 + -9.637451394466026e+01 -9.643308450797647e+01 -9.649168047362274e+01 -9.655030190767742e+01 -9.660894875499127e+01 + -9.666762096089710e+01 -9.672631859388268e+01 -9.678504172537357e+01 -9.684379031539257e+01 -9.690256431417546e+01 + -9.696136374421286e+01 -9.702018864639355e+01 -9.707903906294442e+01 -9.713791501832830e+01 -9.719681646461351e+01 + -9.725574336170810e+01 -9.731469577327378e+01 -9.737367376351882e+01 -9.743267729508464e+01 -9.749170632178308e+01 + -9.755076086367355e+01 -9.760984095895955e+01 -9.766894665217343e+01 -9.772807797034233e+01 -9.778723486414395e+01 + -9.784641729236439e+01 -9.790562532257231e+01 -9.796485902036660e+01 -9.802411833468516e+01 -9.808340321418262e+01 + -9.814271372304191e+01 -9.820204992860188e+01 -9.826141179529722e+01 -9.832079927766843e+01 -9.838021239358226e+01 + -9.843965117935535e+01 -9.849911568177785e+01 -9.855860593025675e+01 -9.861812187419362e+01 -9.867766347002308e+01 + -9.873723078231735e+01 -9.879682387670165e+01 -9.885644271487612e+01 -9.891608724974174e+01 -9.897575750292785e+01 + -9.903545351466867e+01 -9.909517533088989e+01 -9.915492297862031e+01 -9.921469640360959e+01 -9.927449556058966e+01 + -9.933432052149955e+01 -9.939417135686639e+01 -9.945404801436261e+01 -9.951395044077229e+01 -9.957387870218038e+01 + -9.963383286719130e+01 -9.969381289518709e+01 -9.975381873630593e+01 -9.981385041293248e+01 -9.987390796877466e+01 + -9.993399146058783e+01 -9.999410091983435e+01 -1.000542362637563e+02 -1.001143974249114e+02 -1.001745845113392e+02 + -1.002347976270743e+02 -1.002950366846517e+02 -1.003553015922550e+02 -1.004155924321621e+02 -1.004759093011103e+02 + -1.005362521795820e+02 -1.005966210292817e+02 -1.006570158530568e+02 -1.007174366671700e+02 -1.007778835004040e+02 + -1.008383563749385e+02 -1.008988552740233e+02 -1.009593801813489e+02 -1.010199311212978e+02 -1.010805081231472e+02 + -1.011411111950619e+02 -1.012017403376325e+02 -1.012623955422635e+02 -1.013230768099676e+02 -1.013837841893743e+02 + -1.014445177207514e+02 -1.015052773633014e+02 -1.015660630775449e+02 -1.016268749103392e+02 -1.016877129150088e+02 + -1.017485770844115e+02 -1.018094673966629e+02 -1.018703838313761e+02 -1.019313263923028e+02 -1.019922951782496e+02 + -1.020532902664119e+02 -1.021143115524854e+02 -1.021753589342455e+02 -1.022364324992857e+02 -1.022975323519374e+02 + -1.023586584736673e+02 -1.024198108268543e+02 -1.024809894203941e+02 -1.025421942728475e+02 -1.026034253949216e+02 + -1.026646827901934e+02 -1.027259664415750e+02 -1.027872763473731e+02 -1.028486125881369e+02 -1.029099752254547e+02 + -1.029713641628286e+02 -1.030327793161952e+02 -1.030942208093169e+02 -1.031556887637190e+02 -1.032171830841550e+02 + -1.032787036718354e+02 -1.033402506305696e+02 -1.034018240681317e+02 -1.034634239055545e+02 -1.035250500515010e+02 + -1.035867025518952e+02 -1.036483814821213e+02 -1.037100868981441e+02 -1.037718188237329e+02 -1.038335771732939e+02 + -1.038953618747522e+02 -1.039571730194689e+02 -1.040190107055651e+02 -1.040808748947658e+02 -1.041427655331822e+02 + -1.042046826408667e+02 -1.042666262524425e+02 -1.043285963868752e+02 -1.043905930564436e+02 -1.044526162623378e+02 + -1.045146660069125e+02 -1.045767423082721e+02 -1.046388451777543e+02 -1.047009745838822e+02 -1.047631305085241e+02 + -1.048253130297424e+02 -1.048875222165416e+02 -1.049497580055002e+02 -1.050120203310284e+02 -1.050743092512860e+02 + -1.051366248384456e+02 -1.051989670969791e+02 -1.052613360137520e+02 -1.053237315729033e+02 -1.053861537661844e+02 + -1.054486026185219e+02 -1.055110781583045e+02 -1.055735803945944e+02 -1.056361093274371e+02 -1.056986649401382e+02 + -1.057612472323176e+02 -1.058238562855892e+02 -1.058864921618116e+02 -1.059491547618286e+02 -1.060118440001799e+02 + -1.060745600072047e+02 -1.061373029070868e+02 -1.062000725835928e+02 -1.062628689188559e+02 -1.063256920288941e+02 + -1.063885420424685e+02 -1.064514189054312e+02 -1.065143225392365e+02 -1.065772529506575e+02 -1.066402101774261e+02 + -1.067031942957903e+02 -1.067662053568374e+02 -1.068292432724951e+02 -1.068923079625714e+02 -1.069553995175528e+02 + -1.070185180380394e+02 -1.070816634944072e+02 -1.071448358336418e+02 -1.072080350393896e+02 -1.072712611247882e+02 + -1.073345141842783e+02 -1.073977942922143e+02 -1.074611013613008e+02 -1.075244353055826e+02 -1.075877962061142e+02 + -1.076511841502191e+02 -1.077145990832866e+02 -1.077780409492339e+02 -1.078415098280245e+02 -1.079050057992970e+02 + -1.079685288053471e+02 -1.080320787786834e+02 -1.080956557500093e+02 -1.081592597729443e+02 -1.082228908945775e+02 + -1.082865491424036e+02 -1.083502344720692e+02 -1.084139468448718e+02 -1.084776863165616e+02 -1.085414529440200e+02 + -1.086052466942038e+02 -1.086690675238350e+02 -1.087329154386204e+02 -1.087967904674474e+02 -1.088606926829425e+02 + -1.089246221377382e+02 -1.089885787607543e+02 -1.090525624876805e+02 -1.091165734050004e+02 -1.091806115963225e+02 + -1.092446769829633e+02 -1.093087694909110e+02 -1.093728892271333e+02 -1.094370362953419e+02 -1.095012106052476e+02 + -1.095654120623545e+02 -1.096296407493415e+02 -1.096938967647426e+02 -1.097581800933404e+02 -1.098224906984946e+02 + -1.098868285716250e+02 -1.099511937236656e+02 -1.100155862155477e+02 -1.100800060933800e+02 -1.101444532939841e+02 + -1.102089277564002e+02 -1.102734295378303e+02 -1.103379587096266e+02 -1.104025152815812e+02 -1.104670992426730e+02 + -1.105317105601886e+02 -1.105963492199813e+02 -1.106610153038629e+02 -1.107257088820756e+02 -1.107904298826226e+02 + -1.108551782361634e+02 -1.109199540262203e+02 -1.109847573373186e+02 -1.110495881051325e+02 -1.111144462586115e+02 + -1.111793318486534e+02 -1.112442449476576e+02 -1.113091855920787e+02 -1.113741537899001e+02 -1.114391494711626e+02 + -1.115041725824562e+02 -1.115692232145109e+02 -1.116343014623147e+02 -1.116994072937479e+02 -1.117645406555522e+02 + -1.118297015370191e+02 -1.118948899532702e+02 -1.119601059801944e+02 -1.120253496750247e+02 -1.120906209596036e+02 + -1.121559197660155e+02 -1.122212462027017e+02 -1.122866003728487e+02 -1.123519821822644e+02 -1.124173915349786e+02 + -1.124828285252852e+02 -1.125482932599049e+02 -1.126137857050017e+02 -1.126793058037530e+02 -1.127448535479451e+02 + -1.128104289543148e+02 -1.128760320907921e+02 -1.129416630123176e+02 -1.130073216706816e+02 -1.130730080183262e+02 + -1.131387221134510e+02 -1.132044640167948e+02 -1.132702336934948e+02 -1.133360310978225e+02 -1.134018562361866e+02 + -1.134677091387784e+02 -1.135335898787815e+02 -1.135994985091588e+02 -1.136654349589990e+02 -1.137313991629182e+02 + -1.137973912015162e+02 -1.138634111582333e+02 -1.139294589818884e+02 -1.139955346168527e+02 -1.140616381243277e+02 + -1.141277695680233e+02 -1.141939289048548e+02 -1.142601160860919e+02 -1.143263311472162e+02 -1.143925741390390e+02 + -1.144588450894802e+02 -1.145251440101338e+02 -1.145914708701818e+02 -1.146578256494022e+02 -1.147242084123678e+02 + -1.147906192149256e+02 -1.148570579932248e+02 -1.149235246826633e+02 -1.149900193353325e+02 -1.150565420227369e+02 + -1.151230927773426e+02 -1.151896716067799e+02 -1.152562784583746e+02 -1.153229132947855e+02 -1.153895762003063e+02 + -1.154562672526404e+02 -1.155229863814943e+02 -1.155897335150450e+02 -1.156565087233475e+02 -1.157233120892246e+02 + -1.157901436046917e+02 -1.158570032371645e+02 -1.159238909464663e+02 -1.159908067231330e+02 -1.160577506881430e+02 + -1.161247229415995e+02 -1.161917233696630e+02 -1.162587518588770e+02 -1.163258085112608e+02 -1.163928934406831e+02 + -1.164600065929374e+02 -1.165271479034755e+02 -1.165943174344564e+02 -1.166615152526160e+02 -1.167287413162901e+02 + -1.167959955757904e+02 -1.168632780577301e+02 -1.169305888112216e+02 -1.169979278990717e+02 -1.170652953548001e+02 + -1.171326910810820e+02 -1.172001149975291e+02 -1.172675672223445e+02 -1.173350478778825e+02 -1.174025569045121e+02 + -1.174700942215011e+02 -1.175376598456954e+02 -1.176052538191002e+02 -1.176728761867799e+02 -1.177405269796691e+02 + -1.178082061691247e+02 -1.178759137299273e+02 -1.179436497101298e+02 -1.180114141509050e+02 -1.180792069926326e+02 + -1.181470281872303e+02 -1.182148778335583e+02 -1.182827560287664e+02 -1.183506627162192e+02 -1.184185978220269e+02 + -1.184865613570652e+02 -1.185545533602401e+02 -1.186225738978121e+02 -1.186906230193939e+02 -1.187587006806511e+02 + -1.188268068350639e+02 -1.188949415213182e+02 -1.189631047837780e+02 -1.190312966043158e+02 -1.190995169567162e+02 + -1.191677658449030e+02 -1.192360432941998e+02 -1.193043493853908e+02 -1.193726841751893e+02 -1.194410475685670e+02 + -1.195094394794060e+02 -1.195778600089746e+02 -1.196463092648311e+02 -1.197147871923100e+02 -1.197832937276135e+02 + -1.198518289326376e+02 -1.199203928745778e+02 -1.199889855161324e+02 -1.200576068078755e+02 -1.201262567563797e+02 + -1.201949353935382e+02 -1.202636427965272e+02 -1.203323790196208e+02 -1.204011439802014e+02 -1.204699376081542e+02 + -1.205387600202684e+02 -1.206076113241917e+02 -1.206764914041025e+02 -1.207454001431820e+02 -1.208143376440890e+02 + -1.208833040296615e+02 -1.209522992839752e+02 -1.210213233653680e+02 -1.210903762679893e+02 -1.211594580022500e+02 + -1.212285686077949e+02 -1.212977081155049e+02 -1.213668764919694e+02 -1.214360737100132e+02 -1.215052998316942e+02 + -1.215745549154533e+02 -1.216438389160294e+02 -1.217131517838345e+02 -1.217824935556734e+02 -1.218518642837182e+02 + -1.219212639952166e+02 -1.219906927020717e+02 -1.220601503797327e+02 -1.221296370078328e+02 -1.221991526191948e+02 + -1.222686972509000e+02 -1.223382709038720e+02 -1.224078735702578e+02 -1.224775052432531e+02 -1.225471659287695e+02 + -1.226168556825330e+02 -1.226865745477072e+02 -1.227563224673916e+02 -1.228260993926653e+02 -1.228959054065903e+02 + -1.229657405910973e+02 -1.230356048916106e+02 -1.231054982500379e+02 -1.231754207307278e+02 -1.232453724007864e+02 + -1.233153532159101e+02 -1.233853631242201e+02 -1.234554021549459e+02 -1.235254703591199e+02 -1.235955677938801e+02 + -1.236656944915691e+02 -1.237358503792446e+02 -1.238060353939673e+02 -1.238762496180971e+02 -1.239464931371069e+02 + -1.240167659036240e+02 -1.240870678602586e+02 -1.241573990423949e+02 -1.242277595040581e+02 -1.242981492810638e+02 + -1.243685683872523e+02 -1.244390167667736e+02 -1.245094943779347e+02 -1.245800013053605e+02 -1.246505376299316e+02 + -1.247211032912332e+02 -1.247916982296097e+02 -1.248623225297382e+02 -1.249329762770640e+02 -1.250036594157741e+02 + -1.250743718736609e+02 -1.251451136541969e+02 -1.252158847947410e+02 -1.252866853925174e+02 -1.253575155184925e+02 + -1.254283750787370e+02 -1.254992639825418e+02 -1.255701823169751e+02 -1.256411301759969e+02 -1.257121075033584e+02 + -1.257831142369608e+02 -1.258541504415142e+02 -1.259252161922362e+02 -1.259963114795672e+02 -1.260674362758903e+02 + -1.261385905661348e+02 -1.262097743537985e+02 -1.262809877041053e+02 -1.263522306696565e+02 -1.264235031908370e+02 + -1.264948052148923e+02 -1.265661368287249e+02 -1.266374981169807e+02 -1.267088890156212e+02 -1.267803094502130e+02 + -1.268517594534262e+02 -1.269232390831601e+02 -1.269947483911282e+02 -1.270662874069690e+02 -1.271378560782095e+02 + -1.272094543594662e+02 -1.272810823158284e+02 -1.273527400123002e+02 -1.274244274030747e+02 -1.274961444355319e+02 + -1.275678911406106e+02 -1.276396675704015e+02 -1.277114737780431e+02 -1.277833097950603e+02 -1.278551755654751e+02 + -1.279270710424012e+02 -1.279989963028243e+02 -1.280709514152536e+02 -1.281429362904217e+02 -1.282149508513121e+02 + -1.282869952276877e+02 -1.283590695463467e+02 -1.284311737154509e+02 -1.285033076302067e+02 -1.285754713526335e+02 + -1.286476649682441e+02 -1.287198884897120e+02 -1.287921419051992e+02 -1.288644251776617e+02 -1.289367382880697e+02 + -1.290090813146567e+02 -1.290814543319980e+02 -1.291538573027727e+02 -1.292262901737162e+02 -1.292987529396840e+02 + -1.293712456190937e+02 -1.294437682764910e+02 -1.295163209673579e+02 -1.295889036647941e+02 -1.296615163353197e+02 + -1.297341590015173e+02 -1.298068316903185e+02 -1.298795343899871e+02 -1.299522670904091e+02 -1.300250298266263e+02 + -1.300978226354063e+02 -1.301706455152632e+02 -1.302434984561237e+02 -1.303163814518184e+02 -1.303892945098205e+02 + -1.304622376882688e+02 -1.305352110313897e+02 -1.306082144770936e+02 -1.306812479731976e+02 -1.307543116134598e+02 + -1.308274054850011e+02 -1.309005295024521e+02 -1.309736835845235e+02 -1.310468678387340e+02 -1.311200823754845e+02 + -1.311933271278942e+02 -1.312666020134129e+02 -1.313399070640916e+02 -1.314132423401880e+02 -1.314866079001839e+02 + -1.315600037753056e+02 -1.316334298895329e+02 -1.317068861777292e+02 -1.317803727255405e+02 -1.318538896215189e+02 + -1.319274368150577e+02 -1.320010142454794e+02 -1.320746219509807e+02 -1.321482599879661e+02 -1.322219283867981e+02 + -1.322956271602158e+02 -1.323693562765047e+02 -1.324431157110688e+02 -1.325169055122373e+02 -1.325907257242561e+02 + -1.326645763021127e+02 -1.327384572099461e+02 -1.328123685377604e+02 -1.328863103680995e+02 -1.329602826278048e+02 + -1.330342852393407e+02 -1.331083182633673e+02 -1.331823817787306e+02 -1.332564757988239e+02 -1.333306003141445e+02 + -1.334047552890586e+02 -1.334789407033280e+02 -1.335531566244299e+02 -1.336274031130300e+02 -1.337016801148342e+02 + -1.337759875748336e+02 -1.338503255501201e+02 -1.339246941130952e+02 -1.339990932852997e+02 -1.340735230609586e+02 + -1.341479833758948e+02 -1.342224741891434e+02 -1.342969956109889e+02 -1.343715477431406e+02 -1.344461305017541e+02 + -1.345207438015131e+02 -1.345953877367626e+02 -1.346700624038786e+02 -1.347447677276981e+02 -1.348195036263442e+02 + -1.348942701626209e+02 -1.349690674171868e+02 -1.350438953974369e+02 -1.351187540921076e+02 -1.351936434885642e+02 + -1.352685635848754e+02 -1.353435144232942e+02 -1.354184960414874e+02 -1.354935084145923e+02 -1.355685515128237e+02 + -1.356436253492364e+02 -1.357187299541088e+02 -1.357938653837732e+02 -1.358690316768758e+02 -1.359442287752637e+02 + -1.360194566279880e+02 -1.360947153097144e+02 -1.361700048911278e+02 -1.362453253013760e+02 -1.363206764782614e+02 + -1.363960585357406e+02 -1.364714715821978e+02 -1.365469155275740e+02 -1.366223902703805e+02 -1.366978958618521e+02 + -1.367734323848502e+02 -1.368489998960226e+02 -1.369245984210613e+02 -1.370002278880492e+02 -1.370758882331093e+02 + -1.371515795221331e+02 -1.372273018270698e+02 -1.373030551143317e+02 -1.373788393429953e+02 -1.374546545483291e+02 + -1.375305007816427e+02 -1.376063780822184e+02 -1.376822864668756e+02 -1.377582258746108e+02 -1.378341962588316e+02 + -1.379101977084133e+02 -1.379862303093919e+02 -1.380622940009784e+02 -1.381383887192652e+02 -1.382145145346940e+02 + -1.382906715205862e+02 -1.383668596274320e+02 -1.384430787972570e+02 -1.385193290610606e+02 -1.385956104734610e+02 + -1.386719230945808e+02 -1.387482669582360e+02 -1.388246419875133e+02 -1.389010481148665e+02 -1.389774854209464e+02 + -1.390539539951986e+02 -1.391304538140523e+02 -1.392069848343242e+02 -1.392835470473980e+02 -1.393601404693719e+02 + -1.394367651806349e+02 -1.395134212422815e+02 -1.395901085739362e+02 -1.396668271002043e+02 -1.397435769070855e+02 + -1.398203580874878e+02 -1.398971706005607e+02 -1.399740143977720e+02 -1.400508895336226e+02 -1.401277960614956e+02 + -1.402047339272718e+02 -1.402817030764181e+02 -1.403587035602461e+02 -1.404357354502877e+02 -1.405127987931110e+02 + -1.405898936026113e+02 -1.406670197869564e+02 -1.407441772794584e+02 -1.408213662197336e+02 -1.408985867371466e+02 + -1.409758387137537e+02 -1.410531220224061e+02 -1.411304367464428e+02 -1.412077829961380e+02 -1.412851607790223e+02 + -1.413625700771281e+02 -1.414400108732392e+02 -1.415174831646232e+02 -1.415949870057306e+02 -1.416725224388105e+02 + -1.417500894001226e+02 -1.418276878351835e+02 -1.419053178325258e+02 -1.419829794809226e+02 -1.420606727270934e+02 + -1.421383975074728e+02 -1.422161538594082e+02 -1.422939418408956e+02 -1.423717614916131e+02 -1.424496128273150e+02 + -1.425274957863782e+02 -1.426054103213069e+02 -1.426833565184944e+02 -1.427613344645970e+02 -1.428393441134355e+02 + -1.429173854035838e+02 -1.429954583454632e+02 -1.430735629773860e+02 -1.431516993773805e+02 -1.432298676007922e+02 + -1.433080675725197e+02 -1.433862992191345e+02 -1.434645626043482e+02 -1.435428578032951e+02 -1.436211847996638e+02 + -1.436995435672099e+02 -1.437779341314036e+02 -1.438563565210897e+02 -1.439348107268960e+02 -1.440132967358192e+02 + -1.440918145585468e+02 -1.441703642214681e+02 -1.442489457900865e+02 -1.443275593072134e+02 -1.444062046857781e+02 + -1.444848818522611e+02 -1.445635909172288e+02 -1.446423319927847e+02 -1.447211050130976e+02 -1.447999098925679e+02 + -1.448787466444589e+02 -1.449576153140356e+02 -1.450365159757091e+02 -1.451154486823820e+02 -1.451944133717774e+02 + -1.452734099863848e+02 -1.453524386029381e+02 -1.454314992962476e+02 -1.455105919991844e+02 -1.455897166474813e+02 + -1.456688733302556e+02 -1.457480621396693e+02 -1.458272830266799e+02 -1.459065359271370e+02 -1.459858208576615e+02 + -1.460651378591126e+02 -1.461444869885314e+02 -1.462238682831965e+02 -1.463032816851561e+02 -1.463827271416525e+02 + -1.464622047159361e+02 -1.465417144784923e+02 -1.466212564127396e+02 -1.467008304928943e+02 -1.467804367434297e+02 + -1.468600751934606e+02 -1.469397458404120e+02 -1.470194486722770e+02 -1.470991836710121e+02 -1.471789508433917e+02 + -1.472587503015001e+02 -1.473385821300154e+02 -1.474184461986837e+02 -1.474983423870870e+02 -1.475782708290815e+02 + -1.476582316674545e+02 -1.477382248264445e+02 -1.478182502096616e+02 -1.478983078567520e+02 -1.479783978350921e+02 + -1.480585201869469e+02 -1.481386749269736e+02 -1.482188619845118e+02 -1.482990813088785e+02 -1.483793330146163e+02 + -1.484596172099193e+02 -1.485399338123612e+02 -1.486202827323657e+02 -1.487006640423751e+02 -1.487810778248495e+02 + -1.488615240403001e+02 -1.489420026412511e+02 -1.490225136702235e+02 -1.491030571832025e+02 -1.491836332000337e+02 + -1.492642417202360e+02 -1.493448826981615e+02 -1.494255561054278e+02 -1.495062620278810e+02 -1.495870005487025e+02 + -1.496677716261896e+02 -1.497485751994623e+02 -1.498294112558179e+02 -1.499102798158717e+02 -1.499911809853331e+02 + -1.500721148441144e+02 -1.501530812838450e+02 -1.502340802026938e+02 -1.503151117132690e+02 -1.503961759364751e+02 + -1.504772728119622e+02 -1.505584022645880e+02 -1.506395643412949e+02 -1.507207591024668e+02 -1.508019865401696e+02 + -1.508832466324269e+02 -1.509645393694111e+02 -1.510458647628492e+02 -1.511272228985386e+02 -1.512086138412552e+02 + -1.512900374976176e+02 -1.513714937855876e+02 -1.514529828266537e+02 -1.515345047392310e+02 -1.516160594259147e+02 + -1.516976467776822e+02 -1.517792668548592e+02 -1.518609197460578e+02 -1.519426054836894e+02 -1.520243240750476e+02 + -1.521060754831553e+02 -1.521878596792744e+02 -1.522696767118938e+02 -1.523515266305248e+02 -1.524334094115421e+02 + -1.525153250314230e+02 -1.525972735401888e+02 -1.526792549864990e+02 -1.527612693400200e+02 -1.528433165631959e+02 + -1.529253966685747e+02 -1.530075096900777e+02 -1.530896556970147e+02 -1.531718347321965e+02 -1.532540466970516e+02 + -1.533362915133235e+02 -1.534185693253995e+02 -1.535008802693854e+02 -1.535832242256197e+02 -1.536656010621809e+02 + -1.537480108538752e+02 -1.538304537113657e+02 -1.539129296820158e+02 -1.539954387715506e+02 -1.540779808824423e+02 + -1.541605559457948e+02 -1.542431641104905e+02 -1.543258055115917e+02 -1.544084800111010e+02 -1.544911874726015e+02 + -1.545739280390565e+02 -1.546567018609975e+02 -1.547395088398511e+02 -1.548223488576198e+02 -1.549052219677139e+02 + -1.549881282595875e+02 -1.550710677954614e+02 -1.551540406026988e+02 -1.552370465964632e+02 -1.553200857053796e+02 + -1.554031580241178e+02 -1.554862636500489e+02 -1.555694025253043e+02 -1.556525745801794e+02 -1.557357798528659e+02 + -1.558190184045264e+02 -1.559022902803117e+02 -1.559855954979769e+02 -1.560689339817060e+02 -1.561523056771075e+02 + -1.562357107090587e+02 -1.563191491909100e+02 -1.564026210106382e+02 -1.564861260558312e+02 -1.565696644378976e+02 + -1.566532362813955e+02 -1.567368415396626e+02 -1.568204801387562e+02 -1.569041520668287e+02 -1.569878573487146e+02 + -1.570715960938785e+02 -1.571553683828581e+02 -1.572391740958522e+02 -1.573230131265335e+02 -1.574068856228085e+02 + -1.574907917295132e+02 -1.575747313249683e+02 -1.576587042737324e+02 -1.577427106518309e+02 -1.578267505715277e+02 + -1.579108240785769e+02 -1.579949311783184e+02 -1.580790717809458e+02 -1.581632458187553e+02 -1.582474534075981e+02 + -1.583316946623155e+02 -1.584159695101536e+02 -1.585002778727259e+02 -1.585846198367120e+02 -1.586689954874005e+02 + -1.587534047394542e+02 -1.588378475061590e+02 -1.589223238659185e+02 -1.590068339195322e+02 -1.590913776922658e+02 + -1.591759551748261e+02 -1.592605662952183e+02 -1.593452110061037e+02 -1.594298894214712e+02 -1.595146016508511e+02 + -1.595993476246111e+02 -1.596841272537272e+02 -1.597689405507699e+02 -1.598537875632453e+02 -1.599386683768111e+02 + -1.600235830481832e+02 -1.601085314801616e+02 -1.601935135899282e+02 -1.602785295061083e+02 -1.603635793509372e+02 + -1.604486630096468e+02 -1.605337803660765e+02 -1.606189315354990e+02 -1.607041166452176e+02 -1.607893356392255e+02 + -1.608745884397152e+02 -1.609598750649831e+02 -1.610451955612870e+02 -1.611305499906227e+02 -1.612159383917271e+02 + -1.613013606945609e+02 -1.613868168398436e+02 -1.614723069201057e+02 -1.615578310304217e+02 -1.616433891242326e+02 + -1.617289811339727e+02 -1.618146070496823e+02 -1.619002668955830e+02 -1.619859607750138e+02 -1.620716887676450e+02 + -1.621574507793529e+02 -1.622432467219253e+02 -1.623290767045893e+02 -1.624149408340039e+02 -1.625008390091176e+02 + -1.625867711331680e+02 -1.626727373342588e+02 -1.627587377384768e+02 -1.628447722389764e+02 -1.629308407201184e+02 + -1.630169432640222e+02 -1.631030799800713e+02 -1.631892508889492e+02 -1.632754559784962e+02 -1.633616951938801e+02 + -1.634479685044198e+02 -1.635342760187116e+02 -1.636206178291233e+02 -1.637069938238325e+02 -1.637934038942077e+02 + -1.638798481485683e+02 -1.639663267112721e+02 -1.640528395538795e+02 -1.641393866180353e+02 -1.642259678785196e+02 + -1.643125833411851e+02 -1.643992331030405e+02 -1.644859172470150e+02 -1.645726357085657e+02 -1.646593884180614e+02 + -1.647461754329907e+02 -1.648329968179324e+02 -1.649198525387065e+02 -1.650067425502886e+02 -1.650936668630355e+02 + -1.651806255134507e+02 -1.652676185872448e+02 -1.653546461444497e+02 -1.654417080931755e+02 -1.655288043499995e+02 + -1.656159350172886e+02 -1.657031001994683e+02 -1.657902998234105e+02 -1.658775338117127e+02 -1.659648022474274e+02 + -1.660521052162188e+02 -1.661394426537408e+02 -1.662268144894047e+02 -1.663142207776613e+02 -1.664016615975541e+02 + -1.664891370014617e+02 -1.665766470055737e+02 -1.666641915079906e+02 -1.667517704334961e+02 -1.668393839316945e+02 + -1.669270321420214e+02 -1.670147149384157e+02 -1.671024321837371e+02 -1.671901839620226e+02 -1.672779703889409e+02 + -1.673657914855093e+02 -1.674536472385115e+02 -1.675415375924466e+02 -1.676294625158688e+02 -1.677174221158364e+02 + -1.678054164853866e+02 -1.678934455229663e+02 -1.679815091339810e+02 -1.680696074462591e+02 -1.681577405863894e+02 + -1.682459084535819e+02 -1.683341109324726e+02 -1.684223480767776e+02 -1.685106199767677e+02 -1.685989266998525e+02 + -1.686872682758898e+02 -1.687756446073924e+02 -1.688640556163956e+02 -1.689525014303699e+02 -1.690409821718389e+02 + -1.691294977381033e+02 -1.692180480141565e+02 -1.693066330609834e+02 -1.693952529706734e+02 -1.694839077837423e+02 + -1.695725975104607e+02 -1.696613220916933e+02 -1.697500814887782e+02 -1.698388758143547e+02 -1.699277051650943e+02 + -1.700165694224996e+02 -1.701054684738952e+02 -1.701944024450633e+02 -1.702833714670375e+02 -1.703723754534025e+02 + -1.704614143033400e+02 -1.705504880758685e+02 -1.706395968591658e+02 -1.707287406982126e+02 -1.708179196055015e+02 + -1.709071335067704e+02 -1.709963823462651e+02 -1.710856662290167e+02 -1.711749852543236e+02 -1.712643393377691e+02 + -1.713537283867857e+02 -1.714431524599174e+02 -1.715326116432521e+02 -1.716221059819435e+02 -1.717116354891412e+02 + -1.718012000909151e+02 -1.718907997312464e+02 -1.719804345128430e+02 -1.720701045346718e+02 -1.721598097220100e+02 + -1.722495499971131e+02 -1.723393254438396e+02 -1.724291361494486e+02 -1.725189820532021e+02 -1.726088630837053e+02 + -1.726987792749333e+02 -1.727887306891670e+02 -1.728787173965418e+02 -1.729687394350333e+02 -1.730587967061244e+02 + -1.731488891286860e+02 -1.732390168276344e+02 -1.733291799265234e+02 -1.734193783374131e+02 -1.735096119603506e+02 + -1.735998808588243e+02 -1.736901851222248e+02 -1.737805247801124e+02 -1.738708998286339e+02 -1.739613101901119e+02 + -1.740517558114003e+02 -1.741422368113012e+02 -1.742327533050288e+02 -1.743233052214973e+02 -1.744138924793676e+02 + -1.745045151425876e+02 -1.745951732822802e+02 -1.746858668529805e+02 -1.747765958032038e+02 -1.748673601739718e+02 + -1.749581600245709e+02 -1.750489953948396e+02 -1.751398663036498e+02 -1.752307727054541e+02 -1.753217145616989e+02 + -1.754126919262226e+02 -1.755037048571098e+02 -1.755947533370347e+02 -1.756858373371216e+02 -1.757769568577038e+02 + -1.758681119173357e+02 -1.759593025782490e+02 -1.760505288876894e+02 -1.761417907892832e+02 -1.762330882344909e+02 + -1.763244213097290e+02 -1.764157900964081e+02 -1.765071945209611e+02 -1.765986345094344e+02 -1.766901101413071e+02 + -1.767816215026837e+02 -1.768731685527375e+02 -1.769647512369523e+02 -1.770563695729838e+02 -1.771480236027573e+02 + -1.772397133931058e+02 -1.773314389867134e+02 -1.774232003047593e+02 -1.775149972814722e+02 -1.776068300247813e+02 + -1.776986986385443e+02 -1.777906030366335e+02 -1.778825431235826e+02 -1.779745189565556e+02 -1.780665306226855e+02 + -1.781585781763529e+02 -1.782506616334199e+02 -1.783427808884287e+02 -1.784349358629673e+02 -1.785271267081259e+02 + -1.786193535668995e+02 -1.787116163204012e+02 -1.788039148425030e+02 -1.788962492399977e+02 -1.789886196318098e+02 + -1.790810259524725e+02 -1.791734681201561e+02 -1.792659461719689e+02 -1.793584601742520e+02 -1.794510101913400e+02 + -1.795435962594126e+02 -1.796362183040394e+02 -1.797288762617232e+02 -1.798215702233099e+02 -1.799143002757676e+02 + -1.800070663362093e+02 -1.800998683262517e+02 -1.801927063553792e+02 -1.802855805315161e+02 -1.803784907684791e+02 + -1.804714369692463e+02 -1.805644191875481e+02 -1.806574375103104e+02 -1.807504920064915e+02 -1.808435827084130e+02 + -1.809367095198169e+02 -1.810298723599504e+02 -1.811230713386593e+02 -1.812163065647390e+02 -1.813095779521854e+02 + -1.814028854036152e+02 -1.814962289709267e+02 -1.815896087407728e+02 -1.816830247895420e+02 -1.817764771515762e+02 + -1.818699657032943e+02 -1.819634903439186e+02 -1.820570512218083e+02 -1.821506484855823e+02 -1.822442820357622e+02 + -1.823379517614509e+02 -1.824316577541746e+02 -1.825254001134493e+02 -1.826191787683301e+02 -1.827129936397535e+02 + -1.828068447866412e+02 -1.829007322929544e+02 -1.829946562048259e+02 -1.830886165373395e+02 -1.831826132192083e+02 + -1.832766461922778e+02 -1.833707155372913e+02 -1.834648213380734e+02 -1.835589635518759e+02 -1.836531421229175e+02 + -1.837473570698571e+02 -1.838416084358642e+02 -1.839358962877114e+02 -1.840302206684350e+02 -1.841245815025237e+02 + -1.842189787235884e+02 -1.843134124202761e+02 -1.844078826806361e+02 -1.845023894352911e+02 -1.845969326205561e+02 + -1.846915123529413e+02 -1.847861287393624e+02 -1.848807816681596e+02 -1.849754710227848e+02 -1.850701968857076e+02 + -1.851649593688754e+02 -1.852597585031284e+02 -1.853545942804591e+02 -1.854494666185751e+02 -1.855443754618861e+02 + -1.856393209358935e+02 -1.857343031604275e+02 -1.858293220515437e+02 -1.859243775087027e+02 -1.860194695687597e+02 + -1.861145983033516e+02 -1.862097637858479e+02 -1.863049660540466e+02 -1.864002050017272e+02 -1.864954805431744e+02 + -1.865907928187129e+02 -1.866861419596013e+02 -1.867815278347963e+02 -1.868769503164351e+02 -1.869724095516791e+02 + -1.870679056966096e+02 -1.871634386679672e+02 -1.872590083560524e+02 -1.873546147847470e+02 -1.874502580123688e+02 + -1.875459381013990e+02 -1.876416550903780e+02 -1.877374089179168e+02 -1.878331995340542e+02 -1.879290270344656e+02 + -1.880248915055781e+02 -1.881207928511883e+02 -1.882167309755823e+02 -1.883127059676341e+02 -1.884087179360091e+02 + -1.885047668839511e+02 -1.886008527852007e+02 -1.886969756009047e+02 -1.887931353152428e+02 -1.888893320171184e+02 + -1.889855657829229e+02 -1.890818365342772e+02 -1.891781441947396e+02 -1.892744888503877e+02 -1.893708705921393e+02 + -1.894672893677523e+02 -1.895637451161106e+02 -1.896602378837592e+02 -1.897567677352667e+02 -1.898533346996371e+02 + -1.899499387807097e+02 -1.900465799172331e+02 -1.901432580674921e+02 -1.902399733330072e+02 -1.903367258125687e+02 + -1.904335154508099e+02 -1.905303421711713e+02 -1.906272059664800e+02 -1.907241068668330e+02 -1.908210449820209e+02 + -1.909180203947948e+02 -1.910150330000556e+02 -1.911120827002041e+02 -1.912091696154924e+02 -1.913062938635582e+02 + -1.914034553337337e+02 -1.915006539182285e+02 -1.915978897490666e+02 -1.916951629619544e+02 -1.917924734675151e+02 + -1.918898211586861e+02 -1.919872060827436e+02 -1.920846283161583e+02 -1.921820878978424e+02 -1.922795848438701e+02 + -1.923771191165239e+02 -1.924746906889474e+02 -1.925722996315181e+02 -1.926699460069926e+02 -1.927676297504074e+02 + -1.928653507913461e+02 -1.929631091652971e+02 -1.930609049367203e+02 -1.931587381800568e+02 -1.932566089358633e+02 + -1.933545170991796e+02 -1.934524625825225e+02 -1.935504455138344e+02 -1.936484660231147e+02 -1.937465240331655e+02 + -1.938446194535055e+02 -1.939427523477156e+02 -1.940409227930324e+02 -1.941391307672549e+02 -1.942373762317632e+02 + -1.943356591817002e+02 -1.944339796386271e+02 -1.945323376960147e+02 -1.946307334225392e+02 -1.947291667157886e+02 + -1.948276374816129e+02 -1.949261458299981e+02 -1.950246918758956e+02 -1.951232755499811e+02 -1.952218967672293e+02 + -1.953205555640852e+02 -1.954192520091347e+02 -1.955179861780584e+02 -1.956167581109271e+02 -1.957155676982765e+02 + -1.958144148511486e+02 -1.959132997121442e+02 -1.960122224157670e+02 -1.961111828325720e+02 -1.962101808324193e+02 + -1.963092165463342e+02 -1.964082901163006e+02 -1.965074014669716e+02 -1.966065505047830e+02 -1.967057372806285e+02 + -1.968049618689787e+02 -1.969042242941536e+02 -1.970035245570506e+02 -1.971028626150270e+02 -1.972022384428475e+02 + -1.973016521284466e+02 -1.974011037520065e+02 -1.975005932495305e+02 -1.976001205455443e+02 -1.976996856628438e+02 + -1.977992886519515e+02 -1.978989295760255e+02 -1.979986084767589e+02 -1.980983252973461e+02 -1.981980799861144e+02 + -1.982978726104215e+02 -1.983977032396124e+02 -1.984975718319531e+02 -1.985974783450467e+02 -1.986974228449224e+02 + -1.987974053983538e+02 -1.988974259666649e+02 -1.989974844962869e+02 -1.990975809795281e+02 -1.991977154414513e+02 + -1.992978879922588e+02 -1.993980987169082e+02 -1.994983475142392e+02 -1.995986342853965e+02 -1.996989591268633e+02 + -1.997993221398394e+02 -1.998997232490551e+02 -2.000001623829878e+02 -2.001006396615730e+02 -2.002011551976202e+02 + -2.003017088839768e+02 -2.004023006006677e+02 -2.005029303963877e+02 -2.006035983645368e+02 -2.007043046086661e+02 + -2.008050491826254e+02 -2.009058319313084e+02 -2.010066527248718e+02 -2.011075117434797e+02 -2.012084091672780e+02 + -2.013093448663347e+02 -2.014103186854462e+02 -2.015113306783989e+02 -2.016123809487723e+02 -2.017134695903300e+02 + -2.018145966520298e+02 -2.019157620134241e+02 -2.020169655668574e+02 -2.021182074252480e+02 -2.022194877090834e+02 + -2.023208063485549e+02 -2.024221632682046e+02 -2.025235585602719e+02 -2.026249923196053e+02 -2.027264644837921e+02 + -2.028279749730532e+02 -2.029295237954015e+02 -2.030311109992572e+02 -2.031327367068774e+02 -2.032344010007734e+02 + -2.033361037306376e+02 -2.034378447601810e+02 -2.035396242420057e+02 -2.036414423389593e+02 -2.037432989659801e+02 + -2.038451940079258e+02 -2.039471274772405e+02 -2.040490994323931e+02 -2.041511099883670e+02 -2.042531592234435e+02 + -2.043552470125819e+02 -2.044573732391661e+02 -2.045595380236004e+02 -2.046617414909655e+02 -2.047639835480296e+02 + -2.048662640993485e+02 -2.049685832589404e+02 -2.050709411450770e+02 -2.051733376835843e+02 -2.052757727854042e+02 + -2.053782464943871e+02 -2.054807588829732e+02 -2.055833100050551e+02 -2.056858998827895e+02 -2.057885284299405e+02 + -2.058911955783421e+02 -2.059939014405005e+02 -2.060966461276917e+02 -2.061994295656012e+02 -2.063022516666823e+02 + -2.064051124760526e+02 -2.065080120661920e+02 -2.066109504863692e+02 -2.067139277576765e+02 -2.068169438117121e+02 + -2.069199985973326e+02 -2.070230922219201e+02 -2.071262247789163e+02 -2.072293961474789e+02 -2.073326062201854e+02 + -2.074358551575783e+02 -2.075391431180403e+02 -2.076424699833530e+02 -2.077458356179337e+02 -2.078492400933438e+02 + -2.079526835133251e+02 -2.080561659031989e+02 -2.081596872578975e+02 -2.082632475292167e+02 -2.083668466898186e+02 + -2.084704848389632e+02 -2.085741620623951e+02 -2.086778782651976e+02 -2.087816333480700e+02 -2.088854273748348e+02 + -2.089892604383302e+02 -2.090931325843364e+02 -2.091970438282278e+02 -2.093009941108145e+02 -2.094049833841979e+02 + -2.095090117202067e+02 -2.096130791905716e+02 -2.097171857469022e+02 -2.098213313423286e+02 -2.099255160561849e+02 + -2.100297399619016e+02 -2.101340029830976e+02 -2.102383050403986e+02 -2.103426461922712e+02 -2.104470265253758e+02 + -2.105514461013085e+02 -2.106559049410852e+02 -2.107604029284658e+02 -2.108649399745926e+02 -2.109695162373935e+02 + -2.110741318706494e+02 -2.111787867647689e+02 -2.112834807867834e+02 -2.113882139735869e+02 -2.114929864074473e+02 + -2.115977981822681e+02 -2.117026493533424e+02 -2.118075398098887e+02 -2.119124694556393e+02 -2.120174384184601e+02 + -2.121224468216736e+02 -2.122274945462991e+02 -2.123325814769304e+02 -2.124377077547605e+02 -2.125428735238108e+02 + -2.126480786828185e+02 -2.127533231155498e+02 -2.128586068911697e+02 -2.129639301084739e+02 -2.130692927993837e+02 + -2.131746949622090e+02 -2.132801365276879e+02 -2.133856174488912e+02 -2.134911378357916e+02 -2.135966977951921e+02 + -2.137022972643151e+02 -2.138079361581469e+02 -2.139136144723085e+02 -2.140193322420075e+02 -2.141250895801643e+02 + -2.142308865713384e+02 -2.143367231089345e+02 -2.144425990899214e+02 -2.145485146166798e+02 -2.146544697958461e+02 + -2.147604645456698e+02 -2.148664987887291e+02 -2.149725726533044e+02 -2.150786862586875e+02 -2.151848394825147e+02 + -2.152910321964648e+02 -2.153972644900385e+02 -2.155035364828845e+02 -2.156098481974242e+02 -2.157161996246267e+02 + -2.158225907268823e+02 -2.159290214790141e+02 -2.160354919341570e+02 -2.161420021424622e+02 -2.162485520638355e+02 + -2.163551416576007e+02 -2.164617709709994e+02 -2.165684400663080e+02 -2.166751489780245e+02 -2.167818977145845e+02 + -2.168886862079515e+02 -2.169955144082682e+02 -2.171023824148656e+02 -2.172092903208214e+02 -2.173162380450137e+02 + -2.174232255130703e+02 -2.175302528518165e+02 -2.176373201799158e+02 -2.177444273821862e+02 -2.178515743317612e+02 + -2.179587610888773e+02 -2.180659877532527e+02 -2.181732543954297e+02 -2.182805610486399e+02 -2.183879076260487e+02 + -2.184952940541088e+02 -2.186027204324891e+02 -2.187101868605661e+02 -2.188176932633304e+02 -2.189252395535715e+02 + -2.190328257696591e+02 -2.191404519835346e+02 -2.192481182758485e+02 -2.193558246894080e+02 -2.194635711069396e+02 + -2.195713574321837e+02 -2.196791838130171e+02 -2.197870503917547e+02 -2.198949570443306e+02 -2.200029036478261e+02 + -2.201108903502962e+02 -2.202189173008489e+02 -2.203269843818326e+02 -2.204350914576510e+02 -2.205432385876858e+02 + -2.206514258738742e+02 -2.207596533933995e+02 -2.208679211808499e+02 -2.209762291251867e+02 -2.210845771334710e+02 + -2.211929653307878e+02 -2.213013938407175e+02 -2.214098625627986e+02 -2.215183713969045e+02 -2.216269204682873e+02 + -2.217355099024502e+02 -2.218441396005216e+02 -2.219528094497077e+02 -2.220615195058979e+02 -2.221702698646027e+02 + -2.222790606111339e+02 -2.223878917838657e+02 -2.224967632436199e+02 -2.226056748766821e+02 -2.227146268487432e+02 + -2.228236193240230e+02 -2.229326521814535e+02 -2.230417252803019e+02 -2.231508386864637e+02 -2.232599925050409e+02 + -2.233691867913336e+02 -2.234784215614204e+02 -2.235876967242961e+02 -2.236970122086523e+02 -2.238063681290529e+02 + -2.239157646015454e+02 -2.240252015622403e+02 -2.241346789340316e+02 -2.242441967668838e+02 -2.243537551247286e+02 + -2.244633540002964e+02 -2.245729933685804e+02 -2.246826732048266e+02 -2.247923935126906e+02 -2.249021544092157e+02 + -2.250119559889259e+02 -2.251217981428817e+02 -2.252316807628839e+02 -2.253416039471573e+02 -2.254515678046834e+02 + -2.255615722810486e+02 -2.256716173029860e+02 -2.257817028852108e+02 -2.258918290784169e+02 -2.260019959892315e+02 + -2.261122036854213e+02 -2.262224520233766e+02 -2.263327408802082e+02 -2.264430704272837e+02 -2.265534408332552e+02 + -2.266638519616550e+02 -2.267743036660735e+02 -2.268847960654481e+02 -2.269953292962885e+02 -2.271059033000460e+02 + -2.272165179952407e+02 -2.273271734037251e+02 -2.274378695801794e+02 -2.275486066072624e+02 -2.276593845334010e+02 + -2.277702032421150e+02 -2.278810626343348e+02 -2.279919628455381e+02 -2.281029040172474e+02 -2.282138860806176e+02 + -2.283249089376286e+02 -2.284359725839265e+02 -2.285470770593814e+02 -2.286582224870930e+02 -2.287694089544078e+02 + -2.288806363224278e+02 -2.289919044640359e+02 -2.291032135254801e+02 -2.292145636582007e+02 -2.293259547610424e+02 + -2.294373867252146e+02 -2.295488596639802e+02 -2.296603736910369e+02 -2.297719286997702e+02 -2.298835245768747e+02 + -2.299951614025932e+02 -2.301068392919157e+02 -2.302185583052736e+02 -2.303303184582155e+02 -2.304421196413199e+02 + -2.305539617649887e+02 -2.306658449438852e+02 -2.307777692999738e+02 -2.308897347801602e+02 -2.310017413072381e+02 + -2.311137888826106e+02 -2.312258775426401e+02 -2.313380073849178e+02 -2.314501784790464e+02 -2.315623907214496e+02 + -2.316746440227619e+02 -2.317869385236417e+02 -2.318992743527083e+02 -2.320116513604021e+02 -2.321240694060221e+02 + -2.322365286624793e+02 -2.323490293043759e+02 -2.324615711994689e+02 -2.325741541998047e+02 -2.326867784014305e+02 + -2.327994439322068e+02 -2.329121508032486e+02 -2.330248989898164e+02 -2.331376884404961e+02 -2.332505191272475e+02 + -2.333633911421986e+02 -2.334763045743060e+02 -2.335892593796759e+02 -2.337022554911374e+02 -2.338152928812627e+02 + -2.339283715644559e+02 -2.340414916827054e+02 -2.341546533474617e+02 -2.342678564204413e+02 -2.343811007676228e+02 + -2.344943865217682e+02 -2.346077138212040e+02 -2.347210825597340e+02 -2.348344926295532e+02 -2.349479441609453e+02 + -2.350614372851493e+02 -2.351749718991416e+02 -2.352885478850955e+02 -2.354021653002366e+02 -2.355158242429473e+02 + -2.356295248011875e+02 -2.357432670145577e+02 -2.358570507396431e+02 -2.359708758587992e+02 -2.360847425404777e+02 + -2.361986509531367e+02 -2.363126009791645e+02 -2.364265924750662e+02 -2.365406254798825e+02 -2.366547000814751e+02 + -2.367688163804559e+02 -2.368829744348273e+02 -2.369971741194025e+02 -2.371114153287764e+02 -2.372256982198593e+02 + -2.373400229428812e+02 -2.374543893590377e+02 -2.375687973238754e+02 -2.376832469593778e+02 -2.377977384043928e+02 + -2.379122715987879e+02 -2.380268464580362e+02 -2.381414629990116e+02 -2.382561212769444e+02 -2.383708213990897e+02 + -2.384855634334210e+02 -2.386003472387607e+02 -2.387151726904082e+02 -2.388300399387221e+02 -2.389449491374237e+02 + -2.390599001786255e+02 -2.391748929369255e+02 -2.392899274784697e+02 -2.394050039061344e+02 -2.395201222781684e+02 + -2.396352826134916e+02 -2.397504848183333e+02 -2.398657288168898e+02 -2.399810147179146e+02 -2.400963426277219e+02 + -2.402117124583125e+02 -2.403271241258893e+02 -2.404425777577767e+02 -2.405580734795174e+02 -2.406736111984077e+02 + -2.407891907995794e+02 -2.409048122977546e+02 -2.410204757554728e+02 -2.411361812969551e+02 -2.412519290053517e+02 + -2.413677187378485e+02 -2.414835503650167e+02 -2.415994240369316e+02 -2.417153399089511e+02 -2.418312978780588e+02 + -2.419472978191357e+02 -2.420633397770240e+02 -2.421794238369657e+02 -2.422955500758429e+02 -2.424117185344053e+02 + -2.425279291172331e+02 -2.426441817421263e+02 -2.427604765159341e+02 -2.428768135466203e+02 -2.429931927575585e+02 + -2.431096140668555e+02 -2.432260775561414e+02 -2.433425833145866e+02 -2.434591312980004e+02 -2.435757214497087e+02 + -2.436923537964655e+02 -2.438090283895336e+02 -2.439257452947832e+02 -2.440425045463603e+02 -2.441593060369063e+02 + -2.442761496825792e+02 -2.443930356351059e+02 -2.445099640393889e+02 -2.446269347774639e+02 -2.447439477225602e+02 + -2.448610029755453e+02 -2.449781006544274e+02 -2.450952407181387e+02 -2.452124231032676e+02 -2.453296478161015e+02 + -2.454469148921256e+02 -2.455642244139170e+02 -2.456815764363974e+02 -2.457989708567751e+02 -2.459164075868465e+02 + -2.460338867544718e+02 -2.461514084874868e+02 -2.462689726975661e+02 -2.463865792818051e+02 -2.465042282951439e+02 + -2.466219198202147e+02 -2.467396538925739e+02 -2.468574305187124e+02 -2.469752496359336e+02 -2.470931112029433e+02 + -2.472110153332446e+02 -2.473289621270786e+02 -2.474469514768406e+02 -2.475649832814832e+02 -2.476830576740329e+02 + -2.478011747871381e+02 -2.479193345178656e+02 -2.480375367456449e+02 -2.481557815149384e+02 -2.482740689103307e+02 + -2.483923990118631e+02 -2.485107718618152e+02 -2.486291873559622e+02 -2.487476454083695e+02 -2.488661461527674e+02 + -2.489846897184250e+02 -2.491032759971039e+02 -2.492219048675295e+02 -2.493405763937896e+02 -2.494592906781626e+02 + -2.495780477903268e+02 -2.496968477531592e+02 -2.498156904349301e+02 -2.499345757349562e+02 -2.500535038313474e+02 + -2.501724748933778e+02 -2.502914887761886e+02 -2.504105453266259e+02 -2.505296446724864e+02 -2.506487869586733e+02 + -2.507679721175656e+02 -2.508872000588222e+02 -2.510064708137437e+02 -2.511257844438344e+02 -2.512451410097723e+02 + -2.513645405425343e+02 -2.514839829551193e+02 -2.516034681806881e+02 -2.517229963510282e+02 -2.518425675906852e+02 + -2.519621817966139e+02 -2.520818388494823e+02 -2.522015387924022e+02 -2.523212817096907e+02 -2.524410676880414e+02 + -2.525608967718439e+02 -2.526807688338955e+02 -2.528006837687293e+02 -2.529206417294141e+02 -2.530406428681973e+02 + -2.531606870755077e+02 -2.532807742357317e+02 -2.534009044709059e+02 -2.535210779031462e+02 -2.536412944172385e+02 + -2.537615538911017e+02 -2.538818564125164e+02 -2.540022021028112e+02 -2.541225910076441e+02 -2.542430231270507e+02 + -2.543634983542462e+02 -2.544840166121418e+02 -2.546045780492533e+02 -2.547251828099108e+02 -2.548458307960956e+02 + -2.549665218842466e+02 -2.550872560909815e+02 -2.552080334828205e+02 -2.553288541857174e+02 -2.554497182835964e+02 + -2.555706256328296e+02 -2.556915761009198e+02 -2.558125698274442e+02 -2.559336069560756e+02 -2.560546873747970e+02 + -2.561758109689862e+02 -2.562969778692906e+02 -2.564181882127723e+02 -2.565394419168841e+02 -2.566607388759341e+02 + -2.567820791112567e+02 -2.569034626862424e+02 -2.570248897054782e+02 -2.571463602359873e+02 -2.572678741533426e+02 + -2.573894313462550e+02 -2.575110319474426e+02 -2.576326760938784e+02 -2.577543636955484e+02 -2.578760946446893e+02 + -2.579978689895271e+02 -2.581196868133063e+02 -2.582415481833543e+02 -2.583634531275302e+02 -2.584854015317316e+02 + -2.586073933093156e+02 -2.587294286254374e+02 -2.588515076317444e+02 -2.589736301740566e+02 -2.590957960996737e+02 + -2.592180055676404e+02 -2.593402587446819e+02 -2.594625555165019e+02 -2.595848957490105e+02 -2.597072795099639e+02 + -2.598297069067293e+02 -2.599521780032740e+02 -2.600746928207452e+02 -2.601972512524080e+02 -2.603198532148209e+02 + -2.604424988455961e+02 -2.605651882765137e+02 -2.606879213949725e+02 -2.608106980758151e+02 -2.609335183880386e+02 + -2.610563824372016e+02 -2.611792902809524e+02 -2.613022419394243e+02 -2.614252373306019e+02 -2.615482763897488e+02 + -2.616713592233935e+02 -2.617944859260970e+02 -2.619176563732862e+02 -2.620408704583867e+02 -2.621641283659552e+02 + -2.622874302706103e+02 -2.624107760160917e+02 -2.625341654302978e+02 -2.626575986086381e+02 -2.627810756876698e+02 + -2.629045967010318e+02 -2.630281616427657e+02 -2.631517704514422e+02 -2.632754230861743e+02 -2.633991196437133e+02 + -2.635228602105341e+02 -2.636466446943674e+02 -2.637704729984163e+02 -2.638943451865159e+02 -2.640182613561179e+02 + -2.641422215785110e+02 -2.642662258795402e+02 -2.643902741294400e+02 -2.645143662245587e+02 -2.646385023213122e+02 + -2.647626825745115e+02 -2.648869068724856e+02 -2.650111750962730e+02 -2.651354873642347e+02 -2.652598438005879e+02 + -2.653842443156531e+02 -2.655086888035231e+02 -2.656331773072787e+02 -2.657577099091213e+02 -2.658822866987512e+02 + -2.660069077230897e+02 -2.661315728504449e+02 -2.662562819710931e+02 -2.663810352417937e+02 -2.665058328192844e+02 + -2.666306745937331e+02 -2.667555604333347e+02 -2.668804903849584e+02 -2.670054645383429e+02 -2.671304829760297e+02 + -2.672555457413816e+02 -2.673806527282453e+02 -2.675058038464400e+02 -2.676309992191929e+02 -2.677562389652032e+02 + -2.678815229716541e+02 -2.680068511277727e+02 -2.681322235624782e+02 -2.682576404136338e+02 -2.683831016151858e+02 + -2.685086070756685e+02 -2.686341568058856e+02 -2.687597508516357e+02 -2.688853892964312e+02 -2.690110721950252e+02 + -2.691367994494158e+02 -2.692625709807897e+02 -2.693883869398372e+02 -2.695142474621058e+02 -2.696401523930688e+02 + -2.697661015819900e+02 -2.698920951833660e+02 -2.700181333642693e+02 -2.701442160368443e+02 -2.702703430840482e+02 + -2.703965145270174e+02 -2.705227304331903e+02 -2.706489909170355e+02 -2.707752960482972e+02 -2.709016456707917e+02 + -2.710280396495872e+02 -2.711544781606855e+02 -2.712809613853167e+02 -2.714074892146895e+02 -2.715340615102555e+02 + -2.716606783044584e+02 -2.717873396730564e+02 -2.719140456940721e+02 -2.720407964136753e+02 -2.721675917483545e+02 + -2.722944316245073e+02 -2.724213161378437e+02 -2.725482453844213e+02 -2.726752192923742e+02 -2.728022377909456e+02 + -2.729293009817382e+02 -2.730564089616648e+02 -2.731835616365174e+02 -2.733107589046467e+02 -2.734380008257563e+02 + -2.735652874983575e+02 -2.736926190148396e+02 -2.738199954194386e+02 -2.739474165698984e+02 -2.740748823405867e+02 + -2.742023928588563e+02 -2.743299482670098e+02 -2.744575485141638e+02 -2.745851935229188e+02 -2.747128833029967e+02 + -2.748406178969678e+02 -2.749683973916734e+02 -2.750962218440648e+02 -2.752240911472609e+02 -2.753520052060601e+02 + -2.754799641358123e+02 -2.756079680559450e+02 -2.757360168916492e+02 -2.758641105650285e+02 -2.759922491800748e+02 + -2.761204328366440e+02 -2.762486614361617e+02 -2.763769348745897e+02 -2.765052532244616e+02 -2.766336165883748e+02 + -2.767620250126050e+02 -2.768904785041199e+02 -2.770189769689730e+02 -2.771475203398639e+02 -2.772761087569904e+02 + -2.774047423518460e+02 -2.775334210136085e+02 -2.776621446145333e+02 -2.777909132015001e+02 -2.779197268642361e+02 + -2.780485856892346e+02 -2.781774897218528e+02 -2.783064388461343e+02 -2.784354329669438e+02 -2.785644722337429e+02 + -2.786935567875348e+02 -2.788226864908934e+02 -2.789518612068105e+02 -2.790810810783757e+02 -2.792103462555617e+02 + -2.793396566357773e+02 -2.794690121008859e+02 -2.795984127231330e+02 -2.797278586088501e+02 -2.798573498103315e+02 + -2.799868863353985e+02 -2.801164680680156e+02 -2.802460949220819e+02 -2.803757670550874e+02 -2.805054846206144e+02 + -2.806352475130235e+02 -2.807650555997772e+02 -2.808949088999684e+02 -2.810248074853591e+02 -2.811547514867556e+02 + -2.812847409903677e+02 -2.814147758449749e+02 -2.815448559108459e+02 -2.816749813316353e+02 -2.818051522586102e+02 + -2.819353685901064e+02 -2.820656302199222e+02 -2.821959372766401e+02 -2.823262898869716e+02 -2.824566879353637e+02 + -2.825871312931868e+02 -2.827176200217700e+02 -2.828481542276227e+02 -2.829787340080183e+02 -2.831093594072626e+02 + -2.832400302670260e+02 -2.833707464559445e+02 -2.835015081531469e+02 -2.836323155420096e+02 -2.837631685124079e+02 + -2.838940669226656e+02 -2.840250107984012e+02 -2.841560002155769e+02 -2.842870352842360e+02 -2.844181160721325e+02 + -2.845492424437817e+02 -2.846804142799303e+02 -2.848116317294889e+02 -2.849428949404899e+02 -2.850742037892878e+02 + -2.852055581519247e+02 -2.853369581748677e+02 -2.854684040068092e+02 -2.855998955349205e+02 -2.857314326251873e+02 + -2.858630153203723e+02 -2.859946437114748e+02 -2.861263179056654e+02 -2.862580379663874e+02 -2.863898037660037e+02 + -2.865216151879669e+02 -2.866534723511688e+02 -2.867853753832939e+02 -2.869173242117615e+02 -2.870493187426322e+02 + -2.871813589967982e+02 -2.873134450373917e+02 -2.874455769816758e+02 -2.875777549027032e+02 -2.877099786425546e+02 + -2.878422480619707e+02 -2.879745633273037e+02 -2.881069246090204e+02 -2.882393317884377e+02 -2.883717847366556e+02 + -2.885042835730584e+02 -2.886368284288774e+02 -2.887694192344474e+02 -2.889020558953364e+02 -2.890347384189399e+02 + -2.891674668528066e+02 -2.893002413032724e+02 -2.894330618447220e+02 -2.895659283649483e+02 -2.896988407604515e+02 + -2.898317991491523e+02 -2.899648036558058e+02 -2.900978542110840e+02 -2.902309507220182e+02 -2.903640931951591e+02 + -2.904972816775983e+02 -2.906305162790740e+02 -2.907637970750559e+02 -2.908971239412933e+02 -2.910304967707643e+02 + -2.911639157250792e+02 -2.912973809535366e+02 -2.914308922875549e+02 -2.915644495654761e+02 -2.916980529712119e+02 + -2.918317026983915e+02 -2.919653986339440e+02 -2.920991406314096e+02 -2.922329287174719e+02 -2.923667629702973e+02 + -2.925006435008390e+02 -2.926345703772706e+02 -2.927685434638595e+02 -2.929025626397000e+02 -2.930366280470975e+02 + -2.931707398343328e+02 -2.933048979103752e+02 -2.934391021578708e+02 -2.935733525934834e+02 -2.937076492857184e+02 + -2.938419923764308e+02 -2.939763819565550e+02 -2.941108178399977e+02 -2.942452998623305e+02 -2.943798282228154e+02 + -2.945144031200941e+02 -2.946490243866398e+02 -2.947836918481424e+02 -2.949184056693277e+02 -2.950531660302706e+02 + -2.951879728334102e+02 -2.953228259514730e+02 -2.954577254159683e+02 -2.955926713017622e+02 -2.957276636983648e+02 + -2.958627026572042e+02 -2.959977880627373e+02 -2.961329198152110e+02 -2.962680980450039e+02 -2.964033228802077e+02 + -2.965385942096344e+02 -2.966739119278574e+02 -2.968092761917713e+02 -2.969446871501122e+02 -2.970801446566606e+02 + -2.972156485544735e+02 -2.973511989386669e+02 -2.974867959450954e+02 -2.976224396205114e+02 -2.977581299655766e+02 + -2.978938668856917e+02 -2.980296503111913e+02 -2.981654803674056e+02 -2.983013571739824e+02 -2.984372806328453e+02 + -2.985732506311156e+02 -2.987092672144286e+02 -2.988453304703744e+02 -2.989814404958496e+02 -2.991175973412398e+02 + -2.992538008615809e+02 -2.993900509369414e+02 -2.995263477428711e+02 -2.996626914493826e+02 -2.997990819088619e+02 + -2.999355189707111e+02 -3.000720027900217e+02 -3.002085335269560e+02 -3.003451110562723e+02 -3.004817352353309e+02 + -3.006184061373012e+02 -3.007551238767678e+02 -3.008918885181671e+02 -3.010287000846923e+02 -3.011655584847104e+02 + -3.013024636430795e+02 -3.014394156654455e+02 -3.015764146559894e+02 -3.017134605322491e+02 -3.018505532010304e+02 + -3.019876927128527e+02 -3.021248791518991e+02 -3.022621125932933e+02 -3.023993930706231e+02 -3.025367204603900e+02 + -3.026740946641424e+02 -3.028115158406990e+02 -3.029489841386069e+02 -3.030864994080570e+02 -3.032240615026816e+02 + -3.033616705882347e+02 -3.034993268395738e+02 -3.036370301558538e+02 -3.037747804087723e+02 -3.039125776359002e+02 + -3.040504219146317e+02 -3.041883133157825e+02 -3.043262518737324e+02 -3.044642374836954e+02 -3.046022700638564e+02 + -3.047403497634464e+02 -3.048784767248004e+02 -3.050166508316213e+02 -3.051548719471290e+02 -3.052931401112401e+02 + -3.054314554166776e+02 -3.055698179906950e+02 -3.057082279030724e+02 -3.058466849591645e+02 -3.059851889955948e+02 + -3.061237402384871e+02 -3.062623389075358e+02 -3.064009848072192e+02 -3.065396777363650e+02 -3.066784178864098e+02 + -3.068172054654241e+02 -3.069560403554044e+02 -3.070949224023651e+02 -3.072338516344630e+02 -3.073728281334552e+02 + -3.075118520133569e+02 -3.076509233435525e+02 -3.077900419826468e+02 -3.079292078053290e+02 -3.080684209614084e+02 + -3.082076816048298e+02 -3.083469896309615e+02 -3.084863449149456e+02 -3.086257475095906e+02 -3.087651975081579e+02 + -3.089046949880547e+02 -3.090442399817611e+02 -3.091838323579038e+02 -3.093234720151574e+02 -3.094631591362355e+02 + -3.096028938900603e+02 -3.097426761063483e+02 -3.098825056148365e+02 -3.100223825845469e+02 -3.101623071983122e+02 + -3.103022793549238e+02 -3.104422989228102e+02 -3.105823659329897e+02 -3.107224804626276e+02 -3.108626426108901e+02 + -3.110028524323948e+02 -3.111431097815640e+02 -3.112834145351391e+02 -3.114237668593314e+02 -3.115641669247677e+02 + -3.117046146302696e+02 -3.118451098470761e+02 -3.119856526079039e+02 -3.121262429897644e+02 -3.122668810853719e+02 + -3.124075669478935e+02 -3.125483004566077e+02 -3.126890815070839e+02 -3.128299102339429e+02 -3.129707867704560e+02 + -3.131117110054437e+02 -3.132526828292356e+02 -3.133937023826453e+02 -3.135347698019019e+02 -3.136758849544115e+02 + -3.138170476993112e+02 -3.139582581314797e+02 -3.140995163841689e+02 -3.142408225083815e+02 -3.143821765079714e+02 + -3.145235782804463e+02 -3.146650277504123e+02 -3.148065250572144e+02 -3.149480703283944e+02 -3.150896634295446e+02 + -3.152313042212708e+02 -3.153729928061792e+02 -3.155147293192109e+02 -3.156565137826469e+02 -3.157983461803634e+02 + -3.159402264552761e+02 -3.160821545730877e+02 -3.162241306316100e+02 -3.163661547129774e+02 -3.165082267045055e+02 + -3.166503465083330e+02 -3.167925142807053e+02 -3.169347301718565e+02 -3.170769940538677e+02 -3.172193057829434e+02 + -3.173616654299331e+02 -3.175040731106142e+02 -3.176465289058318e+02 -3.177890328440690e+02 -3.179315847792938e+02 + -3.180741845934695e+02 -3.182168324550577e+02 -3.183595285351408e+02 -3.185022727287870e+02 -3.186450649049847e+02 + -3.187879051044167e+02 -3.189307934072479e+02 -3.190737298798787e+02 -3.192167145562098e+02 -3.193597473539087e+02 + -3.195028282067584e+02 -3.196459572292360e+02 -3.197891345287240e+02 -3.199323600035334e+02 -3.200756335516368e+02 + -3.202189552787263e+02 -3.203623252990410e+02 -3.205057435532916e+02 -3.206492099607363e+02 -3.207927245283494e+02 + -3.209362873029775e+02 -3.210798984032395e+02 -3.212235579095965e+02 -3.213672656781062e+02 -3.215110215776564e+02 + -3.216548257528610e+02 -3.217986783602123e+02 -3.219425793279964e+02 -3.220865285490494e+02 -3.222305260026159e+02 + -3.223745717228416e+02 -3.225186658770672e+02 -3.226628085862362e+02 -3.228069996525048e+02 -3.229512388959131e+02 + -3.230955265268207e+02 -3.232398627556209e+02 -3.233842474025269e+02 -3.235286802821290e+02 -3.236731615767077e+02 + -3.238176914785998e+02 -3.239622698526831e+02 -3.241068965416273e+02 -3.242515716267282e+02 -3.243962952303619e+02 + -3.245410674006047e+02 -3.246858881442026e+02 -3.248307573768830e+02 -3.249756750377737e+02 -3.251206412506237e+02 + -3.252656561247559e+02 -3.254107195271718e+02 -3.255558313340717e+02 -3.257009917007768e+02 -3.258462007853361e+02 + -3.259914584775946e+02 -3.261367646471811e+02 -3.262821193510638e+02 -3.264275226864755e+02 -3.265729747243638e+02 + -3.267184754961565e+02 -3.268640249014856e+02 -3.270096228564299e+02 -3.271552694746495e+02 -3.273009648690628e+02 + -3.274467089520415e+02 -3.275925016223748e+02 -3.277383429250694e+02 -3.278842329472037e+02 -3.280301717979274e+02 + -3.281761595333842e+02 -3.283221959756238e+02 -3.284682809773962e+02 -3.286144147483458e+02 -3.287605974914733e+02 + -3.289068290263132e+02 -3.290531091681708e+02 -3.291994380988984e+02 -3.293458160115122e+02 -3.294922427771376e+02 + -3.296387182388717e+02 -3.297852424495862e+02 -3.299318155124273e+02 -3.300784375218649e+02 -3.302251085265343e+02 + -3.303718284004092e+02 -3.305185970357408e+02 -3.306654145725511e+02 -3.308122811494171e+02 -3.309591966513669e+02 + -3.311061609508276e+02 -3.312531741233722e+02 -3.314002362831168e+02 -3.315473474952068e+02 -3.316945077733321e+02 + -3.318417169743284e+02 -3.319889749946440e+02 -3.321362820460264e+02 -3.322836383216903e+02 -3.324310436254205e+02 + -3.325784977579187e+02 -3.327260008969810e+02 -3.328735532388732e+02 -3.330211546766479e+02 -3.331688050699581e+02 + -3.333165044480712e+02 -3.334642528918999e+02 -3.336120505193238e+02 -3.337598974031960e+02 -3.339077933992973e+02 + -3.340557383761620e+02 -3.342037324704123e+02 -3.343517758263186e+02 -3.344998683506588e+02 -3.346480099317598e+02 + -3.347962006216366e+02 -3.349444405123485e+02 -3.350927296924430e+02 -3.352410681997821e+02 -3.353894558729969e+02 + -3.355378925848257e+02 -3.356863785436656e+02 -3.358349139484366e+02 -3.359834986244929e+02 -3.361321323883865e+02 + -3.362808153950241e+02 -3.364295478191028e+02 -3.365783295761255e+02 -3.367271605486342e+02 -3.368760407465185e+02 + -3.370249702279324e+02 -3.371739491167402e+02 -3.373229774932894e+02 -3.374720551981496e+02 -3.376211820935624e+02 + -3.377703583682330e+02 -3.379195842066430e+02 -3.380688594499171e+02 -3.382181839217990e+02 -3.383675577198622e+02 + -3.385169809890102e+02 -3.386664537896355e+02 -3.388159761271593e+02 -3.389655478716282e+02 -3.391151689236262e+02 + -3.392648394412631e+02 -3.394145595795439e+02 -3.395643292235305e+02 -3.397141482525620e+02 -3.398640167930273e+02 + -3.400139349724158e+02 -3.401639026755699e+02 -3.403139197760493e+02 -3.404639863449279e+02 -3.406141024957107e+02 + -3.407642683141136e+02 -3.409144838324194e+02 -3.410647488969659e+02 -3.412150633828331e+02 -3.413654274660125e+02 + -3.415158413252182e+02 -3.416663048491409e+02 -3.418168178992377e+02 -3.419673805180489e+02 -3.421179927901010e+02 + -3.422686547867838e+02 -3.424193665441726e+02 -3.425701279702224e+02 -3.427209389917095e+02 -3.428717997388184e+02 + -3.430227103286458e+02 -3.431736706225328e+02 -3.433246804902436e+02 -3.434757400909901e+02 -3.436268495884827e+02 + -3.437780088749811e+02 -3.439292178162220e+02 -3.440804764432992e+02 -3.442317848369893e+02 -3.443831431114438e+02 + -3.445345513395477e+02 -3.446860093957458e+02 -3.448375171638715e+02 -3.449890747637513e+02 -3.451406823209921e+02 + -3.452923397483303e+02 -3.454440469383874e+02 -3.455958039161959e+02 -3.457476107544265e+02 -3.458994675838882e+02 + -3.460513744837874e+02 -3.462033312687789e+02 -3.463553377809081e+02 -3.465073942363314e+02 -3.466595008454457e+02 + -3.468116574214998e+02 -3.469638637732855e+02 -3.471161200889126e+02 -3.472684265676839e+02 -3.474207830743587e+02 + -3.475731894457752e+02 -3.477256457416318e+02 -3.478781520698926e+02 -3.480307085087305e+02 -3.481833150905516e+02 + -3.483359716944890e+02 -3.484886782275422e+02 -3.486414348614480e+02 -3.487942417546251e+02 -3.489470987474849e+02 + -3.491000056682386e+02 -3.492529626143035e+02 -3.494059697303613e+02 -3.495590270809477e+02 -3.497121346735108e+02 + -3.498652923672977e+02 -3.500185000578142e+02 -3.501717579338015e+02 -3.503250661735650e+02 -3.504784246204307e+02 + -3.506318331106053e+02 -3.507852917867942e+02 -3.509388008057230e+02 -3.510923600737020e+02 -3.512459694729739e+02 + -3.513996290399252e+02 -3.515533388531561e+02 -3.517070990059733e+02 -3.518609095547224e+02 -3.520147703931951e+02 + -3.521686814254426e+02 -3.523226427591028e+02 -3.524766545004363e+02 -3.526307165466042e+02 -3.527848288024159e+02 + -3.529389914123712e+02 -3.530932045168612e+02 -3.532474680001527e+02 -3.534017817301934e+02 -3.535561457657783e+02 + -3.537105602073667e+02 -3.538650251312291e+02 -3.540195405716707e+02 -3.541741064193253e+02 -3.543287225825957e+02 + -3.544833891846346e+02 -3.546381063473606e+02 -3.547928739730113e+02 -3.549476919508821e+02 -3.551025603381796e+02 + -3.552574792297605e+02 -3.554124487031720e+02 -3.555674687945711e+02 -3.557225393918643e+02 -3.558776604020463e+02 + -3.560328319567154e+02 -3.561880541805177e+02 -3.563433269456882e+02 -3.564986501330765e+02 -3.566540239103983e+02 + -3.568094484429710e+02 -3.569649235996524e+02 -3.571204492251743e+02 -3.572760253642205e+02 -3.574316521198430e+02 + -3.575873296286128e+02 -3.577430579645793e+02 -3.578988369181832e+02 -3.580546663122107e+02 -3.582105463824335e+02 + -3.583664773634632e+02 -3.585224590722860e+02 -3.586784912980774e+02 -3.588345741363943e+02 -3.589907077420278e+02 + -3.591468922003262e+02 -3.593031275347307e+02 -3.594594135904955e+02 -3.596157502414973e+02 -3.597721376542854e+02 + -3.599285759961583e+02 -3.600850651447366e+02 -3.602416049709182e+02 -3.603981956083848e+02 -3.605548371920680e+02 + -3.607115295991184e+02 -3.608682726958015e+02 -3.610250665626241e+02 -3.611819113190277e+02 -3.613388070259530e+02 + -3.614957536972620e+02 -3.616527512170044e+02 -3.618097994957786e+02 -3.619668986801910e+02 -3.621240489112448e+02 + -3.622812500715253e+02 -3.624385020268735e+02 -3.625958048345691e+02 -3.627531585959862e+02 -3.629105633974360e+02 + -3.630680192762735e+02 -3.632255260890885e+02 -3.633830837209757e+02 -3.635406923518125e+02 -3.636983521500620e+02 + -3.638560629437486e+02 -3.640138245654421e+02 -3.641716372063300e+02 -3.643295010634408e+02 -3.644874159985495e+02 + -3.646453818454157e+02 -3.648033986609884e+02 -3.649614665547653e+02 -3.651195856232492e+02 -3.652777559169987e+02 + -3.654359773157880e+02 -3.655942497193339e+02 -3.657525732779061e+02 -3.659109481367831e+02 -3.660693741707290e+02 + -3.662278512419212e+02 -3.663863794327037e+02 -3.665449588644519e+02 -3.667035895945005e+02 -3.668622716357800e+02 + -3.670210048876434e+02 -3.671797892763418e+02 -3.673386249492966e+02 -3.674975120447079e+02 -3.676564504427247e+02 + -3.678154400208724e+02 -3.679744809042344e+02 -3.681335732252156e+02 -3.682927168979475e+02 -3.684519118222935e+02 + -3.686111580593141e+02 -3.687704557033292e+02 -3.689298048205014e+02 -3.690892054329191e+02 -3.692486574145354e+02 + -3.694081606700869e+02 -3.695677153755793e+02 -3.697273216946131e+02 -3.698869794698993e+02 -3.700466885253786e+02 + -3.702064489307988e+02 -3.703662608017668e+02 -3.705261241915196e+02 -3.706860391012269e+02 -3.708460053861607e+02 + -3.710060229388483e+02 -3.711660919467376e+02 -3.713262125796104e+02 -3.714863846416646e+02 -3.716466079328989e+02 + -3.718068826020972e+02 -3.719672088201144e+02 -3.721275864973102e+02 -3.722880155098476e+02 -3.724484958575989e+02 + -3.726090275883345e+02 -3.727696108177087e+02 -3.729302456171431e+02 -3.730909318132427e+02 -3.732516692484294e+02 + -3.734124580732086e+02 -3.735732984485285e+02 -3.737341902690280e+02 -3.738951333966488e+02 -3.740561278288502e+02 + -3.742171736164895e+02 -3.743782708884933e+02 -3.745394197314636e+02 -3.747006199846337e+02 -3.748618715145197e+02 + -3.750231745441332e+02 -3.751845292967938e+02 -3.753459356405600e+02 -3.755073934398666e+02 -3.756689028999150e+02 + -3.758304642401999e+02 -3.759920773966298e+02 -3.761537422764503e+02 -3.763154589558405e+02 -3.764772275566993e+02 + -3.766390482148706e+02 -3.768009210261144e+02 -3.769628459119104e+02 -3.771248228066682e+02 -3.772868518707951e+02 + -3.774489332703654e+02 -3.776110669681248e+02 -3.777732529036114e+02 -3.779354911268638e+02 -3.780977817328078e+02 + -3.782601248854201e+02 -3.784225207068740e+02 -3.785849690830777e+02 -3.787474699201715e+02 -3.789100234414875e+02 + -3.790726298611719e+02 -3.792352890394379e+02 -3.793980008403989e+02 -3.795607654977005e+02 -3.797235832511840e+02 + -3.798864539959452e+02 -3.800493775732837e+02 -3.802123539540593e+02 -3.803753831256555e+02 -3.805384650119894e+02 + -3.807015994897982e+02 -3.808647863105625e+02 -3.810280252452890e+02 -3.811913162683451e+02 -3.813546593533040e+02 + -3.815180542672069e+02 -3.816815007606327e+02 -3.818449987248433e+02 -3.820085480876401e+02 -3.821721487823003e+02 + -3.823358007029311e+02 -3.824995035814819e+02 -3.826632571794644e+02 -3.828270615387958e+02 -3.829909166775790e+02 + -3.831548222382581e+02 -3.833187778788636e+02 -3.834827836954302e+02 -3.836468397830658e+02 -3.838109457951704e+02 + -3.839751013606573e+02 -3.841393064522010e+02 -3.843035610985582e+02 -3.844678652090594e+02 -3.846322186342679e+02 + -3.847966211091070e+02 -3.849610723938522e+02 -3.851255724658270e+02 -3.852901213276589e+02 -3.854547188661456e+02 + -3.856193651039130e+02 -3.857840607227301e+02 -3.859488064858506e+02 -3.861136028233281e+02 -3.862784501283425e+02 + -3.864433489797775e+02 -3.866083000045549e+02 -3.867733038360474e+02 -3.869383610689728e+02 -3.871034721369783e+02 + -3.872686374886131e+02 -3.874338577931016e+02 -3.875991337168530e+02 -3.877644656943423e+02 -3.879298541437876e+02 + -3.880952996503134e+02 -3.882608028487801e+02 -3.884263644060860e+02 -3.885919849359946e+02 -3.887576648076931e+02 + -3.889234044110585e+02 -3.890892044633024e+02 -3.892550656828005e+02 -3.894209884652491e+02 -3.895869732058733e+02 + -3.897530206206903e+02 -3.899191314265681e+02 -3.900853060229904e+02 -3.902515447813749e+02 -3.904178482782592e+02 + -3.905842171832736e+02 -3.907506523333024e+02 -3.909171542011455e+02 -3.910837216360146e+02 -3.912503530200719e+02 + -3.914170464908692e+02 -3.915838000867597e+02 -3.917506116939103e+02 -3.919174791997058e+02 -3.920844006485843e+02 + -3.922513741233318e+02 -3.924183977030698e+02 -3.925854694180132e+02 -3.927525871064144e+02 -3.929197486330507e+02 + -3.930869521607613e+02 -3.932541958513385e+02 -3.934214775643266e+02 -3.935887951493436e+02 -3.937561467185514e+02 + -3.939235303999417e+02 -3.940909441222876e+02 -3.942583857858931e+02 -3.944258533764072e+02 -3.945933449213566e+02 + -3.947608585304349e+02 -3.949283922804248e+02 -3.950959440342958e+02 -3.952635116636291e+02 -3.954310932882606e+02 + -3.955986870327357e+02 -3.957662907921835e+02 -3.959339024467546e+02 -3.961015200461023e+02 -3.962691416638499e+02 + 1.070000000000000e-01 1.069682658750319e-01 1.069365186252596e-01 1.069047582677665e-01 1.068729848196356e-01 + 1.068411982979503e-01 1.068093987197937e-01 1.067775861022493e-01 1.067457604624000e-01 1.067139218173294e-01 + 1.066820701841205e-01 1.066502055798566e-01 1.066183280216209e-01 1.065864375264968e-01 1.065545341115673e-01 + 1.065226177939159e-01 1.064906885906257e-01 1.064587465187799e-01 1.064267915954618e-01 1.063948238377547e-01 + 1.063628432627417e-01 1.063308498875062e-01 1.062988437291314e-01 1.062668248047005e-01 1.062347931312967e-01 + 1.062027487260033e-01 1.061706916059036e-01 1.061386217880807e-01 1.061065392896180e-01 1.060744441275985e-01 + 1.060423363191058e-01 1.060102158812228e-01 1.059780828310330e-01 1.059459371856195e-01 1.059137789620655e-01 + 1.058816081774544e-01 1.058494248488693e-01 1.058172289933936e-01 1.057850206281103e-01 1.057527997701029e-01 + 1.057205664364545e-01 1.056883206442483e-01 1.056560624105677e-01 1.056237917524958e-01 1.055915086871159e-01 + 1.055592132315112e-01 1.055269054027650e-01 1.054945852179606e-01 1.054622526941811e-01 1.054299078485097e-01 + 1.053975506980299e-01 1.053651812598247e-01 1.053327995509774e-01 1.053004055885713e-01 1.052679993896897e-01 + 1.052355809714157e-01 1.052031503508325e-01 1.051707075450236e-01 1.051382525710719e-01 1.051057854460610e-01 + 1.050733061870738e-01 1.050408148111938e-01 1.050083113355042e-01 1.049757957770881e-01 1.049432681530288e-01 + 1.049107284804097e-01 1.048781767763138e-01 1.048456130578245e-01 1.048130373420250e-01 1.047804496459986e-01 + 1.047478499868284e-01 1.047152383815977e-01 1.046826148473898e-01 1.046499794012880e-01 1.046173320603753e-01 + 1.045846728417352e-01 1.045520017624508e-01 1.045193188396054e-01 1.044866240902822e-01 1.044539175315645e-01 + 1.044211991805354e-01 1.043884690542783e-01 1.043557271698764e-01 1.043229735444130e-01 1.042902081949712e-01 + 1.042574311386343e-01 1.042246423924855e-01 1.041918419736082e-01 1.041590298990855e-01 1.041262061860007e-01 + 1.040933708514369e-01 1.040605239124776e-01 1.040276653862059e-01 1.039947952897050e-01 1.039619136400582e-01 + 1.039290204543487e-01 1.038961157496599e-01 1.038631995430748e-01 1.038302718516768e-01 1.037973326925491e-01 + 1.037643820827749e-01 1.037314200394375e-01 1.036984465796201e-01 1.036654617204061e-01 1.036324654788785e-01 + 1.035994578721206e-01 1.035664389172158e-01 1.035334086312472e-01 1.035003670312980e-01 1.034673141344516e-01 + 1.034342499577912e-01 1.034011745183999e-01 1.033680878333612e-01 1.033349899197580e-01 1.033018807946739e-01 + 1.032687604751918e-01 1.032356289783953e-01 1.032024863213673e-01 1.031693325211913e-01 1.031361675949504e-01 + 1.031029915597278e-01 1.030698044326069e-01 1.030366062306709e-01 1.030033969710030e-01 1.029701766706864e-01 + 1.029369453468044e-01 1.029037030164402e-01 1.028704496966771e-01 1.028371854045984e-01 1.028039101572872e-01 + 1.027706239718267e-01 1.027373268653004e-01 1.027040188547913e-01 1.026706999573827e-01 1.026373701901580e-01 + 1.026040295702002e-01 1.025706781145926e-01 1.025373158404186e-01 1.025039427647613e-01 1.024705589047040e-01 + 1.024371642773299e-01 1.024037588997223e-01 1.023703427889643e-01 1.023369159621393e-01 1.023034784363305e-01 + 1.022700302286212e-01 1.022365713560945e-01 1.022031018358337e-01 1.021696216849221e-01 1.021361309204428e-01 + 1.021026295594792e-01 1.020691176191145e-01 1.020355951164319e-01 1.020020620685147e-01 1.019685184924461e-01 + 1.019349644053093e-01 1.019013998241876e-01 1.018678247661643e-01 1.018342392483225e-01 1.018006432877456e-01 + 1.017670369015167e-01 1.017334201067191e-01 1.016997929204361e-01 1.016661553597508e-01 1.016325074417466e-01 + 1.015988491835066e-01 1.015651806021141e-01 1.015315017146524e-01 1.014978125382047e-01 1.014641130898543e-01 + 1.014304033866843e-01 1.013966834457780e-01 1.013629532842187e-01 1.013292129190896e-01 1.012954623674739e-01 + 1.012617016464549e-01 1.012279307731159e-01 1.011941497645400e-01 1.011603586378106e-01 1.011265574100107e-01 + 1.010927460982239e-01 1.010589247195331e-01 1.010250932910217e-01 1.009912518297729e-01 1.009574003528701e-01 + 1.009235388773963e-01 1.008896674204348e-01 1.008557859990690e-01 1.008218946303820e-01 1.007879933314571e-01 + 1.007540821193774e-01 1.007201610112264e-01 1.006862300240872e-01 1.006522891750429e-01 1.006183384811770e-01 + 1.005843779595726e-01 1.005504076273130e-01 1.005164275014813e-01 1.004824375991610e-01 1.004484379374351e-01 + 1.004144285333870e-01 1.003804094040999e-01 1.003463805666569e-01 1.003123420381414e-01 1.002782938356367e-01 + 1.002442359762259e-01 1.002101684769922e-01 1.001760913550190e-01 1.001420046273895e-01 1.001079083111869e-01 + 1.000738024234945e-01 1.000396869813954e-01 1.000055620019730e-01 9.997142750231042e-02 9.993728349949102e-02 + 9.990313001059796e-02 9.986896705271456e-02 9.983479464292398e-02 9.980061279830947e-02 9.976642153595434e-02 + 9.973222087294174e-02 9.969801082635499e-02 9.966379141327726e-02 9.962956265079187e-02 9.959532455598200e-02 + 9.956107714593093e-02 9.952682043772192e-02 9.949255444843813e-02 9.945827919516288e-02 9.942399469497937e-02 + 9.938970096497086e-02 9.935539802222057e-02 9.932108588381178e-02 9.928676456682770e-02 9.925243408835159e-02 + 9.921809446546671e-02 9.918374571525623e-02 9.914938785480347e-02 9.911502090119163e-02 9.908064487150398e-02 + 9.904625978282372e-02 9.901186565223413e-02 9.897746249681845e-02 9.894305033365988e-02 9.890862917984172e-02 + 9.887419905244718e-02 9.883975996855951e-02 9.880531194526194e-02 9.877085499963774e-02 9.873638914877009e-02 + 9.870191440974231e-02 9.866743079963761e-02 9.863293833553920e-02 9.859843703453038e-02 9.856392691369432e-02 + 9.852940799011436e-02 9.849488028087365e-02 9.846034380305550e-02 9.842579857374308e-02 9.839124461001970e-02 + 9.835668192896858e-02 9.832211054767293e-02 9.828753048321603e-02 9.825294175268109e-02 9.821834437315143e-02 + 9.818373836171017e-02 9.814912373544066e-02 9.811450051142606e-02 9.807986870674969e-02 9.804522833849474e-02 + 9.801057942374444e-02 9.797592197958208e-02 9.794125602309085e-02 9.790658157135405e-02 9.787189864145487e-02 + 9.783720725047659e-02 9.780250741550246e-02 9.776779915361565e-02 9.773308248189948e-02 9.769835741743713e-02 + 9.766362397731190e-02 9.762888217860698e-02 9.759413203840565e-02 9.755937357379113e-02 9.752460680184671e-02 + 9.748983173965557e-02 9.745504840430097e-02 9.742025681286617e-02 9.738545698243438e-02 9.735064893008888e-02 + 9.731583267291286e-02 9.728100822798963e-02 9.724617561240236e-02 9.721133484323437e-02 9.717648593756885e-02 + 9.714162891248904e-02 9.710676378507821e-02 9.707189057241956e-02 9.703700929159639e-02 9.700211995969188e-02 + 9.696722259378933e-02 9.693231721097194e-02 9.689740382832296e-02 9.686248246292567e-02 9.682755313186324e-02 + 9.679261585221899e-02 9.675767064107609e-02 9.672271751551782e-02 9.668775649262741e-02 9.665278758948814e-02 + 9.661781082318323e-02 9.658282621079586e-02 9.654783376940938e-02 9.651283351610694e-02 9.647782546797186e-02 + 9.644280964208730e-02 9.640778605553657e-02 9.637275472540287e-02 9.633771566876947e-02 9.630266890271960e-02 + 9.626761444433649e-02 9.623255231070338e-02 9.619748251890356e-02 9.616240508602021e-02 9.612732002913663e-02 + 9.609222736533599e-02 9.605712711170160e-02 9.602201928531666e-02 9.598690390326445e-02 9.595178098262819e-02 + 9.591665054049109e-02 9.588151259393644e-02 9.584636716004745e-02 9.581121425590743e-02 9.577605389859950e-02 + 9.574088610520702e-02 9.570571089281314e-02 9.567052827850117e-02 9.563533827935435e-02 9.560014091245586e-02 + 9.556493619488900e-02 9.552972414373699e-02 9.549450477608308e-02 9.545927810901049e-02 9.542404415960248e-02 + 9.538880294494230e-02 9.535355448211316e-02 9.531829878819836e-02 9.528303588028109e-02 9.524776577544461e-02 + 9.521248849077216e-02 9.517720404334697e-02 9.514191245025229e-02 9.510661372857139e-02 9.507130789538748e-02 + 9.503599496778380e-02 9.500067496284360e-02 9.496534789765015e-02 9.493001378928664e-02 9.489467265483635e-02 + 9.485932451138250e-02 9.482396937600834e-02 9.478860726579713e-02 9.475323819783207e-02 9.471786218919645e-02 + 9.468247925697347e-02 9.464708941824643e-02 9.461169269009850e-02 9.457628908961296e-02 9.454087863387305e-02 + 9.450546133996199e-02 9.447003722496307e-02 9.443460630595948e-02 9.439916860003450e-02 9.436372412427137e-02 + 9.432827289575330e-02 9.429281493156354e-02 9.425735024878537e-02 9.422187886450198e-02 9.418640079579664e-02 + 9.415091605975259e-02 9.411542467345307e-02 9.407992665398136e-02 9.404442201842063e-02 9.400891078385415e-02 + 9.397339296736518e-02 9.393786858603695e-02 9.390233765695270e-02 9.386680019719568e-02 9.383125622384911e-02 + 9.379570575399625e-02 9.376014880472036e-02 9.372458539310466e-02 9.368901553623238e-02 9.365343925118678e-02 + 9.361785655505112e-02 9.358226746490858e-02 9.354667199784246e-02 9.351107017093598e-02 9.347546200127239e-02 + 9.343984750593494e-02 9.340422670200685e-02 9.336859960657137e-02 9.333296623671174e-02 9.329732660951121e-02 + 9.326168074205300e-02 9.322602865142039e-02 9.319037035469660e-02 9.315470586896488e-02 9.311903521130845e-02 + 9.308335839881057e-02 9.304767544855448e-02 9.301198637762342e-02 9.297629120310064e-02 9.294058994206936e-02 + 9.290488261161287e-02 9.286916922881436e-02 9.283344981075708e-02 9.279772437452428e-02 9.276199293719922e-02 + 9.272625551586512e-02 9.269051212760523e-02 9.265476278950278e-02 9.261900751864104e-02 9.258324633210324e-02 + 9.254747924697261e-02 9.251170628033240e-02 9.247592744926583e-02 9.244014277085617e-02 9.240435226218666e-02 + 9.236855594034055e-02 9.233275382240104e-02 9.229694592545142e-02 9.226113226657491e-02 9.222531286285476e-02 + 9.218948773137420e-02 9.215365688921646e-02 9.211782035346482e-02 9.208197814120249e-02 9.204613026951274e-02 + 9.201027675547878e-02 9.197441761618388e-02 9.193855286871126e-02 9.190268253014419e-02 9.186680661756588e-02 + 9.183092514805957e-02 9.179503813870854e-02 9.175914560659600e-02 9.172324756880521e-02 9.168734404241941e-02 + 9.165143504452181e-02 9.161552059219569e-02 9.157960070252427e-02 9.154367539259080e-02 9.150774467947854e-02 + 9.147180858027071e-02 9.143586711205055e-02 9.139992029190132e-02 9.136396813690625e-02 9.132801066414858e-02 + 9.129204789071155e-02 9.125607983367841e-02 9.122010651013239e-02 9.118412793715676e-02 9.114814413183472e-02 + 9.111215511124955e-02 9.107616089248448e-02 9.104016149262276e-02 9.100415692874760e-02 9.096814721794225e-02 + 9.093213237728998e-02 9.089611242387401e-02 9.086008737477760e-02 9.082405724708396e-02 9.078802205787638e-02 + 9.075198182423806e-02 9.071593656325225e-02 9.067988629200220e-02 9.064383102757116e-02 9.060777078704237e-02 + 9.057170558749904e-02 9.053563544602444e-02 9.049956037970180e-02 9.046348040561442e-02 9.042739554084545e-02 + 9.039130580247817e-02 9.035521120759583e-02 9.031911177328168e-02 9.028300751661894e-02 9.024689845469086e-02 + 9.021078460458068e-02 9.017466598337168e-02 9.013854260814702e-02 9.010241449599002e-02 9.006628166398388e-02 + 9.003014412921184e-02 8.999400190875718e-02 8.995785501970310e-02 8.992170347913286e-02 8.988554730412972e-02 + 8.984938651177689e-02 8.981322111915761e-02 8.977705114335516e-02 8.974087660145275e-02 8.970469751053363e-02 + 8.966851388768103e-02 8.963232574997822e-02 8.959613311450842e-02 8.955993599835491e-02 8.952373441860086e-02 + 8.948752839232957e-02 8.945131793662427e-02 8.941510306856817e-02 8.937888380524456e-02 8.934266016373665e-02 + 8.930643216112769e-02 8.927019981450095e-02 8.923396314093963e-02 8.919772215752698e-02 8.916147688134625e-02 + 8.912522732948071e-02 8.908897351901354e-02 8.905271546702803e-02 8.901645319060740e-02 8.898018670683491e-02 + 8.894391603279379e-02 8.890764118556729e-02 8.887136218223864e-02 8.883507903989107e-02 8.879879177560786e-02 + 8.876250040647221e-02 8.872620494956741e-02 8.868990542197666e-02 8.865360184078323e-02 8.861729422307035e-02 + 8.858098258592126e-02 8.854466694641919e-02 8.850834732164740e-02 8.847202372868912e-02 8.843569618462761e-02 + 8.839936470654611e-02 8.836302931152785e-02 8.832669001665606e-02 8.829034683901400e-02 8.825399979568492e-02 + 8.821764890375206e-02 8.818129418029862e-02 8.814493564240788e-02 8.810857330716310e-02 8.807220719164749e-02 + 8.803583731294432e-02 8.799946368813677e-02 8.796308633430815e-02 8.792670526854167e-02 8.789032050792057e-02 + 8.785393206952812e-02 8.781753997044753e-02 8.778114422776205e-02 8.774474485855495e-02 8.770834187990943e-02 + 8.767193530890875e-02 8.763552516263615e-02 8.759911145817488e-02 8.756269421260816e-02 8.752627344301928e-02 + 8.748984916649143e-02 8.745342140010788e-02 8.741699016095185e-02 8.738055546610660e-02 8.734411733265539e-02 + 8.730767577768141e-02 8.727123081826793e-02 8.723478247149821e-02 8.719833075445547e-02 8.716187568422298e-02 + 8.712541727788393e-02 8.708895555252159e-02 8.705249052521923e-02 8.701602221306004e-02 8.697955063312730e-02 + 8.694307580250422e-02 8.690659773827408e-02 8.687011645752010e-02 8.683363197732555e-02 8.679714431477362e-02 + 8.676065348694757e-02 8.672415951093065e-02 8.668766240380611e-02 8.665116218265721e-02 8.661465886456714e-02 + 8.657815246661917e-02 8.654164300589655e-02 8.650513049948251e-02 8.646861496446030e-02 8.643209641791315e-02 + 8.639557487692430e-02 8.635905035857701e-02 8.632252287995451e-02 8.628599245814005e-02 8.624945911021686e-02 + 8.621292285326819e-02 8.617638370437727e-02 8.613984168062737e-02 8.610329679910171e-02 8.606674907688353e-02 + 8.603019853105608e-02 8.599364517870259e-02 8.595708903690633e-02 8.592053012275053e-02 8.588396845331842e-02 + 8.584740404569323e-02 8.581083691695822e-02 8.577426708419665e-02 8.573769456449173e-02 8.570111937492672e-02 + 8.566454153258486e-02 8.562796105454940e-02 8.559137795790356e-02 8.555479225973059e-02 8.551820397711374e-02 + 8.548161312713624e-02 8.544501972688134e-02 8.540842379343229e-02 8.537182534387232e-02 8.533522439528468e-02 + 8.529862096475260e-02 8.526201506935933e-02 8.522540672618811e-02 8.518879595232219e-02 8.515218276484479e-02 + 8.511556718083918e-02 8.507894921738858e-02 8.504232889157626e-02 8.500570622048544e-02 8.496908122119934e-02 + 8.493245391080124e-02 8.489582430637438e-02 8.485919242500198e-02 8.482255828376728e-02 8.478592189975355e-02 + 8.474928329004400e-02 8.471264247172190e-02 8.467599946187047e-02 8.463935427757298e-02 8.460270693591267e-02 + 8.456605745397273e-02 8.452940584883646e-02 8.449275213758706e-02 8.445609633730780e-02 8.441943846508193e-02 + 8.438277853799266e-02 8.434611657312326e-02 8.430945258755695e-02 8.427278659837699e-02 8.423611862266661e-02 + 8.419944867750905e-02 8.416277677998756e-02 8.412610294718537e-02 8.408942719618576e-02 8.405274954407191e-02 + 8.401607000792713e-02 8.397938860483460e-02 8.394270535187759e-02 8.390602026613936e-02 8.386933336470312e-02 + 8.383264466465212e-02 8.379595418306962e-02 8.375926193703884e-02 8.372256794364304e-02 8.368587221996546e-02 + 8.364917478308932e-02 8.361247565009787e-02 8.357577483807437e-02 8.353907236410206e-02 8.350236824526415e-02 + 8.346566249864391e-02 8.342895514132459e-02 8.339224619038943e-02 8.335553566292164e-02 8.331882357600448e-02 + 8.328210994672121e-02 8.324539479215504e-02 8.320867812938924e-02 8.317195997550704e-02 8.313524034759166e-02 + 8.309851926272641e-02 8.306179673799445e-02 8.302507279047908e-02 8.298834743726349e-02 8.295162069543097e-02 + 8.291489258206473e-02 8.287816311424805e-02 8.284143230906414e-02 8.280470018359624e-02 8.276796675492762e-02 + 8.273123204014149e-02 8.269449605632111e-02 8.265775882054972e-02 8.262102034991055e-02 8.258428066148686e-02 + 8.254753977236187e-02 8.251079769961885e-02 8.247405446034105e-02 8.243731007161166e-02 8.240056455051395e-02 + 8.236381791413117e-02 8.232707017954656e-02 8.229032136384334e-02 8.225357148410478e-02 8.221682055741411e-02 + 8.218006860085458e-02 8.214331563150944e-02 8.210656166646188e-02 8.206980672279519e-02 8.203305081759260e-02 + 8.199629396793737e-02 8.195953619091272e-02 8.192277750360188e-02 8.188601792308813e-02 8.184925746645468e-02 + 8.181249615078479e-02 8.177573399316168e-02 8.173897101066861e-02 8.170220722038883e-02 8.166544263940556e-02 + 8.162867728480205e-02 8.159191117366156e-02 8.155514432306732e-02 8.151837675010254e-02 8.148160847185050e-02 + 8.144483950539445e-02 8.140806986781760e-02 8.137129957620320e-02 8.133452864763450e-02 8.129775709919475e-02 + 8.126098494796720e-02 8.122421221103504e-02 8.118743890548155e-02 8.115066504838998e-02 8.111389065684355e-02 + 8.107711574792552e-02 8.104034033871912e-02 8.100356444630759e-02 8.096678808777417e-02 8.093001128020215e-02 + 8.089323404067471e-02 8.085645638627510e-02 8.081967833408658e-02 8.078289990119239e-02 8.074612110467576e-02 + 8.070934196161997e-02 8.067256248910820e-02 8.063578270422375e-02 8.059900262404983e-02 8.056222226566968e-02 + 8.052544164616657e-02 8.048866078262369e-02 8.045187969212433e-02 8.041509839175172e-02 8.037831689858911e-02 + 8.034153522971973e-02 8.030475340222681e-02 8.026797143319361e-02 8.023118933970336e-02 8.019440713883932e-02 + 8.015762484768471e-02 8.012084248332278e-02 8.008406006283678e-02 8.004727760330994e-02 8.001049512182555e-02 + 7.997371263546676e-02 7.993693016131688e-02 7.990014771645915e-02 7.986336531797676e-02 7.982658298295300e-02 + 7.978980072847111e-02 7.975301857161432e-02 7.971623652946590e-02 7.967945461910902e-02 7.964267285762699e-02 + 7.960589126210302e-02 7.956910984962039e-02 7.953232863726228e-02 7.949554764211197e-02 7.945876688125271e-02 + 7.942198637176773e-02 7.938520613074028e-02 7.934842617525358e-02 7.931164652239087e-02 7.927486718923542e-02 + 7.923808819287045e-02 7.920130955037924e-02 7.916453127884499e-02 7.912775339535094e-02 7.909097591698037e-02 + 7.905419886081648e-02 7.901742224394255e-02 7.898064608344180e-02 7.894387039639746e-02 7.890709519989279e-02 + 7.887032051101103e-02 7.883354634683543e-02 7.879677272444922e-02 7.875999966093565e-02 7.872322717337794e-02 + 7.868645527885937e-02 7.864968399446313e-02 7.861291333727252e-02 7.857614332437074e-02 7.853937397284104e-02 + 7.850260529976670e-02 7.846583732223091e-02 7.842907005731693e-02 7.839230352210801e-02 7.835553773368738e-02 + 7.831877270913830e-02 7.828200846554398e-02 7.824524501998768e-02 7.820848238955266e-02 7.817172059132216e-02 + 7.813495964237939e-02 7.809819955980761e-02 7.806144036069006e-02 7.802468206210998e-02 7.798792468115062e-02 + 7.795116823489523e-02 7.791441274042703e-02 7.787765821482928e-02 7.784090467518520e-02 7.780415213857807e-02 + 7.776740062209107e-02 7.773065014280750e-02 7.769390071781057e-02 7.765715236418354e-02 7.762040509900967e-02 + 7.758365893937215e-02 7.754691390235426e-02 7.751017000503922e-02 7.747342726451029e-02 7.743668569785070e-02 + 7.739994532214370e-02 7.736320615447252e-02 7.732646821192042e-02 7.728973151157063e-02 7.725299607050642e-02 + 7.721626190581099e-02 7.717952903456758e-02 7.714279747385946e-02 7.710606724076986e-02 7.706933835238206e-02 + 7.703261082577922e-02 7.699588467804465e-02 7.695915992626157e-02 7.692243658751323e-02 7.688571467888285e-02 + 7.684899421745368e-02 7.681227522030898e-02 7.677555770453198e-02 7.673884168720593e-02 7.670212718541405e-02 + 7.666541421623961e-02 7.662870279676583e-02 7.659199294407595e-02 7.655528467525324e-02 7.651857800738091e-02 + 7.648187295754222e-02 7.644516954282041e-02 7.640846778029871e-02 7.637176768706039e-02 7.633506928018867e-02 + 7.629837257676678e-02 7.626167759387799e-02 7.622498434860552e-02 7.618829285803264e-02 7.615160313924255e-02 + 7.611491520931853e-02 7.607822908534380e-02 7.604154478440163e-02 7.600486232357523e-02 7.596818171994783e-02 + 7.593150299060271e-02 7.589482615262309e-02 7.585815122309225e-02 7.582147821909338e-02 7.578480715770973e-02 + 7.574813805602458e-02 7.571147093112113e-02 7.567480580008265e-02 7.563814267999236e-02 7.560148158793352e-02 + 7.556482254098935e-02 7.552816555624312e-02 7.549151065077807e-02 7.545485784167741e-02 7.541820714602442e-02 + 7.538155858090231e-02 7.534491216339434e-02 7.530826791058375e-02 7.527162583955378e-02 7.523498596738766e-02 + 7.519834831116866e-02 7.516171288797999e-02 7.512507971490495e-02 7.508844880902671e-02 7.505182018742854e-02 + 7.501519386719367e-02 7.497856986540538e-02 7.494194819914687e-02 7.490532888550142e-02 7.486871194155223e-02 + 7.483209738438257e-02 7.479548523107570e-02 7.475887549871482e-02 7.472226820438319e-02 7.468566336516404e-02 + 7.464906099814063e-02 7.461246112039621e-02 7.457586374901400e-02 7.453926890107723e-02 7.450267659366919e-02 + 7.446608684387307e-02 7.442949966877216e-02 7.439291508544965e-02 7.435633311098883e-02 7.431975376247291e-02 + 7.428317705698513e-02 7.424660301160878e-02 7.421003164342704e-02 7.417346296952319e-02 7.413689700698045e-02 + 7.410033377288210e-02 7.406377328431132e-02 7.402721555835140e-02 7.399066061208556e-02 7.395410846259706e-02 + 7.391755912696915e-02 7.388101262228504e-02 7.384446896562798e-02 7.380792817408122e-02 7.377139026472800e-02 + 7.373485525465158e-02 7.369832316093516e-02 7.366179400066203e-02 7.362526779091538e-02 7.358874454877849e-02 + 7.355222429133459e-02 7.351570703566694e-02 7.347919279885876e-02 7.344268159799329e-02 7.340617345015378e-02 + 7.336966837242348e-02 7.333316638188561e-02 7.329666749562345e-02 7.326017173072021e-02 7.322367910425913e-02 + 7.318718963332346e-02 7.315070333499644e-02 7.311422022636133e-02 7.307774032450136e-02 7.304126364649975e-02 + 7.300479020943977e-02 7.296832003040465e-02 7.293185312647765e-02 7.289538951474199e-02 7.285892921228092e-02 + 7.282247223617767e-02 7.278601860351550e-02 7.274956833137766e-02 7.271312143684736e-02 7.267667793700786e-02 + 7.264023784894239e-02 7.260380118973422e-02 7.256736797646657e-02 7.253093822622268e-02 7.249451195608582e-02 + 7.245808918313920e-02 7.242166992446607e-02 7.238525419714967e-02 7.234884201827325e-02 7.231243340492007e-02 + 7.227602837417331e-02 7.223962694311627e-02 7.220322912883217e-02 7.216683494840427e-02 7.213044441891579e-02 + 7.209405755744998e-02 7.205767438109009e-02 7.202129490691934e-02 7.198491915202099e-02 7.194854713347830e-02 + 7.191217886837446e-02 7.187581437379276e-02 7.183945366681642e-02 7.180309676452867e-02 7.176674368401278e-02 + 7.173039444235199e-02 7.169404905662952e-02 7.165770754392863e-02 7.162136992133256e-02 7.158503620592453e-02 + 7.154870641478780e-02 7.151238056500563e-02 7.147605867366123e-02 7.143974075783785e-02 7.140342683461876e-02 + 7.136711692108716e-02 7.133081103432631e-02 7.129450919141947e-02 7.125821140944985e-02 7.122191770550071e-02 + 7.118562809665530e-02 7.114934259999683e-02 7.111306123260858e-02 7.107678401157377e-02 7.104051095397565e-02 + 7.100424207689746e-02 7.096797739742244e-02 7.093171693263382e-02 7.089546069961486e-02 7.085920871544882e-02 + 7.082296099721888e-02 7.078671756200834e-02 7.075047842690044e-02 7.071424360897838e-02 7.067801312532543e-02 + 7.064178699302483e-02 7.060556522915983e-02 7.056934785081363e-02 7.053313487506954e-02 7.049692631901075e-02 + 7.046072219972052e-02 7.042452253428211e-02 7.038832733977872e-02 7.035213663329361e-02 7.031595043191004e-02 + 7.027976875271123e-02 7.024359161278042e-02 7.020741902920087e-02 7.017125101905583e-02 7.013508759942851e-02 + 7.009892878740216e-02 7.006277460006004e-02 7.002662505448538e-02 6.999048016776144e-02 6.995433995697144e-02 + 6.991820443919861e-02 6.988207363152622e-02 6.984594755103750e-02 6.980982621481568e-02 6.977370963994402e-02 + 6.973759784350578e-02 6.970149084258416e-02 6.966538865426242e-02 6.962929129562380e-02 6.959319878375156e-02 + 6.955711113572893e-02 6.952102836863913e-02 6.948495049956542e-02 6.944887754559105e-02 6.941280952379927e-02 + 6.937674645127329e-02 6.934068834509637e-02 6.930463522235174e-02 6.926858710012268e-02 6.923254399549238e-02 + 6.919650592554411e-02 6.916047290736112e-02 6.912444495802665e-02 6.908842209462392e-02 6.905240433423616e-02 + 6.901639169394666e-02 6.898038419083864e-02 6.894438184199533e-02 6.890838466449999e-02 6.887239267543585e-02 + 6.883640589188617e-02 6.880042433093415e-02 6.876444800966307e-02 6.872847694515619e-02 6.869251115449670e-02 + 6.865655065476786e-02 6.862059546305292e-02 6.858464559643512e-02 6.854870107199770e-02 6.851276190682393e-02 + 6.847682811799699e-02 6.844089972260017e-02 6.840497673771671e-02 6.836905918042983e-02 6.833314706782279e-02 + 6.829724041697882e-02 6.826133924498116e-02 6.822544356891308e-02 6.818955340585779e-02 6.815366877289854e-02 + 6.811778968711857e-02 6.808191616560114e-02 6.804604822542948e-02 6.801018588368681e-02 6.797432915745642e-02 + 6.793847806382150e-02 6.790263261986533e-02 6.786679284267115e-02 6.783095874932217e-02 6.779513035690166e-02 + 6.775930768249286e-02 6.772349074317900e-02 6.768767955604332e-02 6.765187413816909e-02 6.761607450663952e-02 + 6.758028067853786e-02 6.754449267094738e-02 6.750871050095128e-02 6.747293418563281e-02 6.743716374207524e-02 + 6.740139918736179e-02 6.736564053857570e-02 6.732988781280023e-02 6.729414102711860e-02 6.725840019861405e-02 + 6.722266534436987e-02 6.718693648146923e-02 6.715121362699542e-02 6.711549679803168e-02 6.707978601166123e-02 + 6.704408128496732e-02 6.700838263503321e-02 6.697269007894212e-02 6.693700363377729e-02 6.690132331662198e-02 + 6.686564914455943e-02 6.682998113467287e-02 6.679431930404556e-02 6.675866366976070e-02 6.672301424890158e-02 + 6.668737105855144e-02 6.665173411579348e-02 6.661610343771096e-02 6.658047904138716e-02 6.654486094390526e-02 + 6.650924916234854e-02 6.647364371380024e-02 6.643804461534360e-02 6.640245188406185e-02 6.636686553703826e-02 + 6.633128559135604e-02 6.629571206409844e-02 6.626014497234871e-02 6.622458433319009e-02 6.618903016370581e-02 + 6.615348248097914e-02 6.611794130209329e-02 6.608240664413152e-02 6.604687852417708e-02 6.601135695931318e-02 + 6.597584196662311e-02 6.594033356319007e-02 6.590483176609731e-02 6.586933659242808e-02 6.583384805926563e-02 + 6.579836618369318e-02 6.576289098279399e-02 6.572742247365128e-02 6.569196067334833e-02 6.565650559896835e-02 + 6.562105726759460e-02 6.558561569631030e-02 6.555018090219872e-02 6.551475290234308e-02 6.547933171382664e-02 + 6.544391735373260e-02 6.540850983914427e-02 6.537310918714484e-02 6.533771541481756e-02 6.530232853924568e-02 + 6.526694857751246e-02 6.523157554670111e-02 6.519620946389489e-02 6.516085034617702e-02 6.512549821063078e-02 + 6.509015307433939e-02 6.505481495438609e-02 6.501948386785412e-02 6.498415983182672e-02 6.494884286338716e-02 + 6.491353297961865e-02 6.487823019760443e-02 6.484293453442776e-02 6.480764600717190e-02 6.477236463292005e-02 + 6.473709042875546e-02 6.470182341176141e-02 6.466656359902111e-02 6.463131100761778e-02 6.459606565463470e-02 + 6.456082755715510e-02 6.452559673226224e-02 6.449037319703932e-02 6.445515696856961e-02 6.441994806393636e-02 + 6.438474650022280e-02 6.434955229451217e-02 6.431436546388770e-02 6.427918602543267e-02 6.424401399623028e-02 + 6.420884939336380e-02 6.417369223391646e-02 6.413854253497149e-02 6.410340031361215e-02 6.406826558692170e-02 + 6.403313837198334e-02 6.399801868588033e-02 6.396290654569593e-02 6.392780196851335e-02 6.389270497141585e-02 + 6.385761557148667e-02 6.382253378580906e-02 6.378745963146625e-02 6.375239312554147e-02 6.371733428511799e-02 + 6.368228312727903e-02 6.364723966910786e-02 6.361220392768768e-02 6.357717592010177e-02 6.354215566343337e-02 + 6.350714317476568e-02 6.347213847118198e-02 6.343714156976551e-02 6.340215248759951e-02 6.336717124176720e-02 + 6.333219784935186e-02 6.329723232743668e-02 6.326227469310496e-02 6.322732496343991e-02 6.319238315552476e-02 + 6.315744928644278e-02 6.312252337327721e-02 6.308760543311126e-02 6.305269548302821e-02 6.301779354011129e-02 + 6.298289962144372e-02 6.294801374410877e-02 6.291313592518968e-02 6.287826618176968e-02 6.284340453093201e-02 + 6.280855098975993e-02 6.277370557533665e-02 6.273886830474544e-02 6.270403919506955e-02 6.266921826339220e-02 + 6.263440552679662e-02 6.259960100236607e-02 6.256480470718381e-02 6.253001665833306e-02 6.249523687289707e-02 + 6.246046536795907e-02 6.242570216060229e-02 6.239094726791002e-02 6.235620070696547e-02 6.232146249485187e-02 + 6.228673264865250e-02 6.225201118545055e-02 6.221729812232930e-02 6.218259347637199e-02 6.214789726466187e-02 + 6.211320950428215e-02 6.207853021231610e-02 6.204385940584693e-02 6.200919710195792e-02 6.197454331773228e-02 + 6.193989807025328e-02 6.190526137660414e-02 6.187063325386812e-02 6.183601371912845e-02 6.180140278946837e-02 + 6.176680048197113e-02 6.173220681371997e-02 6.169762180179813e-02 6.166304546328885e-02 6.162847781527538e-02 + 6.159391887484095e-02 6.155936865906880e-02 6.152482718504219e-02 6.149029446984435e-02 6.145577053055853e-02 + 6.142125538426796e-02 6.138674904805590e-02 6.135225153900557e-02 6.131776287420022e-02 6.128328307072310e-02 + 6.124881214565744e-02 6.121435011608650e-02 6.117989699909349e-02 6.114545281176169e-02 6.111101757117431e-02 + 6.107659129441460e-02 6.104217399856583e-02 6.100776570071121e-02 6.097336641793399e-02 6.093897616731742e-02 + 6.090459496594473e-02 6.087022283089916e-02 6.083585977926396e-02 6.080150582812238e-02 6.076716099455765e-02 + 6.073282529565302e-02 6.069849874849172e-02 6.066418137015700e-02 6.062987317773211e-02 6.059557418830027e-02 + 6.056128441894475e-02 6.052700388674876e-02 6.049273260879557e-02 6.045847060216841e-02 6.042421788395052e-02 + 6.038997447122514e-02 6.035574038107552e-02 6.032151563058490e-02 6.028730023683652e-02 6.025309421691362e-02 + 6.021889758789946e-02 6.018471036687725e-02 6.015053257093025e-02 6.011636421714171e-02 6.008220532259485e-02 + 6.004805590437293e-02 6.001391597955918e-02 5.997978556523686e-02 5.994566467848918e-02 5.991155333639943e-02 + 5.987745155605081e-02 5.984335935452657e-02 5.980927674890997e-02 5.977520375628423e-02 5.974114039373261e-02 + 5.970708667833834e-02 5.967304262718466e-02 5.963900825735483e-02 5.960498358593206e-02 5.957096862999962e-02 + 5.953696340664075e-02 5.950296793293869e-02 5.946898222597666e-02 5.943500630283793e-02 5.940104018060574e-02 + 5.936708387636331e-02 5.933313740719390e-02 5.929920079018074e-02 5.926527404240709e-02 5.923135718095618e-02 + 5.919745022291125e-02 5.916355318535554e-02 5.912966608537230e-02 5.909578894004478e-02 5.906192176645620e-02 + 5.902806458168981e-02 5.899421740282887e-02 5.896038024695659e-02 5.892655313115624e-02 5.889273607251104e-02 + 5.885892908810425e-02 5.882513219501910e-02 5.879134541033884e-02 5.875756875114671e-02 5.872380223452595e-02 + 5.869004587755981e-02 5.865629969733151e-02 5.862256371092430e-02 5.858883793542144e-02 5.855512238790617e-02 + 5.852141708546170e-02 5.848772204517131e-02 5.845403728411822e-02 5.842036281938568e-02 5.838669866805692e-02 + 5.835304484721521e-02 5.831940137394376e-02 5.828576826532585e-02 5.825214553844467e-02 5.821853321038349e-02 + 5.818493129822556e-02 5.815133981905412e-02 5.811775878995240e-02 5.808418822800365e-02 5.805062815029110e-02 + 5.801707857389801e-02 5.798353951590760e-02 5.795001099340315e-02 5.791649302346786e-02 5.788298562318499e-02 + 5.784948880963779e-02 5.781600259990949e-02 5.778252701108333e-02 5.774906206024256e-02 5.771560776447041e-02 + 5.768216414085015e-02 5.764873120646499e-02 5.761530897839819e-02 5.758189747373298e-02 5.754849670955262e-02 + 5.751510670294033e-02 5.748172747097936e-02 5.744835903075296e-02 5.741500139934437e-02 5.738165459383683e-02 + 5.734831863131357e-02 5.731499352885785e-02 5.728167930355290e-02 5.724837597248197e-02 5.721508355272830e-02 + 5.718180206137512e-02 5.714853151550570e-02 5.711527193220325e-02 5.708202332855103e-02 5.704878572163228e-02 + 5.701555912853024e-02 5.698234356632816e-02 5.694913905210926e-02 5.691594560295680e-02 5.688276323595402e-02 + 5.684959196818416e-02 5.681643181673045e-02 5.678328279867616e-02 5.675014493110452e-02 5.671701823109875e-02 + 5.668390271574211e-02 5.665079840211785e-02 5.661770530730920e-02 5.658462344839940e-02 5.655155284247171e-02 + 5.651849350660935e-02 5.648544545789557e-02 5.645240871341362e-02 5.641938329024674e-02 5.638636920547815e-02 + 5.635336647619112e-02 5.632037511946889e-02 5.628739515239468e-02 5.625442659205174e-02 5.622146945552333e-02 + 5.618852375989267e-02 5.615558952224302e-02 5.612266675965761e-02 5.608975548921968e-02 5.605685572801247e-02 + 5.602396749311925e-02 5.599109080162322e-02 5.595822567060765e-02 5.592537211715578e-02 5.589253015835084e-02 + 5.585969981127608e-02 5.582688109301474e-02 5.579407402065006e-02 5.576127861126528e-02 5.572849488194366e-02 + 5.569572284976842e-02 5.566296253182280e-02 5.563021394519008e-02 5.559747710695345e-02 5.556475203419618e-02 + 5.553203874400151e-02 5.549933725345269e-02 5.546664757963294e-02 5.543396973962551e-02 5.540130375051366e-02 + 5.536864962938060e-02 5.533600739330961e-02 5.530337705938389e-02 5.527075864468672e-02 5.523815216630132e-02 + 5.520555764131094e-02 5.517297508679882e-02 5.514040451984819e-02 5.510784595754230e-02 5.507529941696442e-02 + 5.504276491519774e-02 5.501024246932555e-02 5.497773209643106e-02 5.494523381359754e-02 5.491274763790820e-02 + 5.488027358644629e-02 5.484781167629507e-02 5.481536192453777e-02 5.478292434825763e-02 5.475049896453790e-02 + 5.471808579046181e-02 5.468568484311261e-02 5.465329613957354e-02 5.462091969692785e-02 5.458855553225877e-02 + 5.455620366264955e-02 5.452386410518342e-02 5.449153687694363e-02 5.445922199501343e-02 5.442691947647604e-02 + 5.439462933841474e-02 5.436235159791274e-02 5.433008627205328e-02 5.429783337791962e-02 5.426559293259499e-02 + 5.423336495316264e-02 5.420114945670580e-02 5.416894646030773e-02 5.413675598105167e-02 5.410457803602083e-02 + 5.407241264229849e-02 5.404025981696787e-02 5.400811957711223e-02 5.397599193981480e-02 5.394387692215881e-02 + 5.391177454122753e-02 5.387968481410418e-02 5.384760775787202e-02 5.381554338961427e-02 5.378349172641418e-02 + 5.375145278535501e-02 5.371942658351998e-02 5.368741313799234e-02 5.365541246585533e-02 5.362342458419220e-02 + 5.359144951008617e-02 5.355948726062051e-02 5.352753785287844e-02 5.349560130394321e-02 5.346367763089808e-02 + 5.343176685082626e-02 5.339986898081100e-02 5.336798403793557e-02 5.333611203928318e-02 5.330425300193709e-02 + 5.327240694298052e-02 5.324057387949673e-02 5.320875382856897e-02 5.317694680728046e-02 5.314515283271445e-02 + 5.311337192195419e-02 5.308160409208292e-02 5.304984936018387e-02 5.301810774334029e-02 5.298637925860694e-02 + 5.295466392210174e-02 5.292296174881576e-02 5.289127275367324e-02 5.285959695159842e-02 5.282793435751552e-02 + 5.279628498634878e-02 5.276464885302243e-02 5.273302597246069e-02 5.270141635958780e-02 5.266982002932800e-02 + 5.263823699660550e-02 5.260666727634453e-02 5.257511088346935e-02 5.254356783290417e-02 5.251203813957321e-02 + 5.248052181840073e-02 5.244901888431094e-02 5.241752935222807e-02 5.238605323707637e-02 5.235459055378005e-02 + 5.232314131726334e-02 5.229170554245050e-02 5.226028324426572e-02 5.222887443763326e-02 5.219747913747734e-02 + 5.216609735872220e-02 5.213472911629205e-02 5.210337442511115e-02 5.207203330010370e-02 5.204070575619395e-02 + 5.200939180830615e-02 5.197809147136448e-02 5.194680476029321e-02 5.191553169001656e-02 5.188427227545876e-02 + 5.185302653154403e-02 5.182179447319664e-02 5.179057611534077e-02 5.175937147290068e-02 5.172818056080060e-02 + 5.169700339396475e-02 5.166583998731737e-02 5.163469035578269e-02 5.160355451428494e-02 5.157243247774834e-02 + 5.154132426109714e-02 5.151022987925555e-02 5.147914934714782e-02 5.144808267969817e-02 5.141702989183084e-02 + 5.138599099847005e-02 5.135496601454004e-02 5.132395495496503e-02 5.129295783466926e-02 5.126197466857695e-02 + 5.123100547161235e-02 5.120005025869967e-02 5.116910904476317e-02 5.113818184472704e-02 5.110726867351554e-02 + 5.107636954605289e-02 5.104548447726333e-02 5.101461348207109e-02 5.098375657540039e-02 5.095291377217546e-02 + 5.092208508732055e-02 5.089127053575987e-02 5.086047013241765e-02 5.082968389221815e-02 5.079891183008556e-02 + 5.076815396094415e-02 5.073741029971812e-02 5.070668086133172e-02 5.067596566070917e-02 5.064526471277472e-02 + 5.061457803245257e-02 5.058390563466697e-02 5.055324753434216e-02 5.052260374640234e-02 5.049197428577178e-02 + 5.046135916737467e-02 5.043075840613528e-02 5.040017201697781e-02 5.036960001482652e-02 5.033904241460560e-02 + 5.030849923123931e-02 5.027797047965189e-02 5.024745617476754e-02 5.021695633151052e-02 5.018647096480505e-02 + 5.015600008957535e-02 5.012554372074565e-02 5.009510187324022e-02 5.006467456198324e-02 5.003426180189897e-02 + 5.000386360791163e-02 4.997347999494546e-02 4.994311097792468e-02 4.991275657177353e-02 4.988241679141623e-02 + 4.985209165177702e-02 4.982178116778014e-02 4.979148535434980e-02 4.976120422641023e-02 4.973093779888569e-02 + 4.970068608670038e-02 4.967044910477855e-02 4.964022686804442e-02 4.961001939142222e-02 4.957982668983620e-02 + 4.954964877821057e-02 4.951948567146956e-02 4.948933738453741e-02 4.945920393233836e-02 4.942908532979662e-02 + 4.939898159183643e-02 4.936889273338203e-02 4.933881876935763e-02 4.930875971468749e-02 4.927871558429582e-02 + 4.924868639310685e-02 4.921867215604481e-02 4.918867288803395e-02 4.915868860399848e-02 4.912871931886263e-02 + 4.909876504755066e-02 4.906882580498677e-02 4.903890160609520e-02 4.900899246580018e-02 4.897909839902595e-02 + 4.894921942069672e-02 4.891935554573676e-02 4.888950678907025e-02 4.885967316562146e-02 4.882985469031461e-02 + 4.880005137807392e-02 4.877026324382362e-02 4.874049030248797e-02 4.871073256899117e-02 4.868099005825745e-02 + 4.865126278521108e-02 4.862155076477624e-02 4.859185401187720e-02 4.856217254143816e-02 4.853250636838338e-02 + 4.850285550763707e-02 4.847321997412347e-02 4.844359978276680e-02 4.841399494849130e-02 4.838440548622121e-02 + 4.835483141088075e-02 4.832527273739414e-02 4.829572948068564e-02 4.826620165567946e-02 4.823668927729983e-02 + 4.820719236047098e-02 4.817771092011715e-02 4.814824497116257e-02 4.811879452853147e-02 4.808935960714807e-02 + 4.805994022193662e-02 4.803053638782134e-02 4.800114811972645e-02 4.797177543257621e-02 4.794241834129482e-02 + 4.791307686080653e-02 4.788375100603556e-02 4.785444079190614e-02 4.782514623334252e-02 4.779586734526891e-02 + 4.776660414260955e-02 4.773735664028868e-02 4.770812485323050e-02 4.767890879635927e-02 4.764970848459921e-02 + 4.762052393287456e-02 4.759135515610954e-02 4.756220216922838e-02 4.753306498715533e-02 4.750394362481459e-02 + 4.747483809713041e-02 4.744574841902701e-02 4.741667460542864e-02 4.738761667125952e-02 4.735857463144388e-02 + 4.732954850090595e-02 4.730053829456995e-02 4.727154402736015e-02 4.724256571420073e-02 4.721360337001596e-02 + 4.718465700973005e-02 4.715572664826723e-02 4.712681230055175e-02 4.709791398150782e-02 4.706903170605968e-02 + 4.704016548913156e-02 4.701131534564769e-02 4.698248129053231e-02 4.695366333870963e-02 4.692486150510391e-02 + 4.689607580463934e-02 4.686730625224018e-02 4.683855286283068e-02 4.680981565133503e-02 4.678109463267748e-02 + 4.675238982178226e-02 4.672370123357359e-02 4.669502888297572e-02 4.666637278491287e-02 4.663773295430927e-02 + 4.660910940608916e-02 4.658050215517676e-02 4.655191121649629e-02 4.652333660497202e-02 4.649477833552815e-02 + 4.646623642308891e-02 4.643771088257853e-02 4.640920172892127e-02 4.638070897704132e-02 4.635223264186294e-02 + 4.632377273831036e-02 4.629532928130779e-02 4.626690228577947e-02 4.623849176664965e-02 4.621009773884253e-02 + 4.618172021728237e-02 4.615335921689338e-02 4.612501475259979e-02 4.609668683932586e-02 4.606837549199577e-02 + 4.604008072553380e-02 4.601180255486416e-02 4.598354099491107e-02 4.595529606059879e-02 4.592706776685152e-02 + 4.589885612859351e-02 4.587066116074899e-02 4.584248287824218e-02 4.581432129599732e-02 4.578617642893863e-02 + 4.575804829199037e-02 4.572993690007673e-02 4.570184226812196e-02 4.567376441105030e-02 4.564570334378597e-02 + 4.561765908125320e-02 4.558963163837623e-02 4.556162103007928e-02 4.553362727128659e-02 4.550565037692238e-02 + 4.547769036191089e-02 4.544974724117636e-02 4.542182102964300e-02 4.539391174223504e-02 4.536601939387674e-02 + 4.533814399949231e-02 4.531028557400597e-02 4.528244413234197e-02 4.525461968942453e-02 4.522681226017790e-02 + 4.519902185952628e-02 4.517124850239393e-02 4.514349220370505e-02 4.511575297838390e-02 4.508803084135470e-02 + 4.506032580754168e-02 4.503263789186907e-02 4.500496710926111e-02 4.497731347464200e-02 4.494967700293602e-02 + 4.492205770906736e-02 4.489445560796028e-02 4.486687071453899e-02 4.483930304372771e-02 4.481175261045071e-02 + 4.478421942963219e-02 4.475670351619640e-02 4.472920488506756e-02 4.470172355116988e-02 4.467425952942764e-02 + 4.464681283476502e-02 4.461938348210628e-02 4.459197148637566e-02 4.456457686249737e-02 4.453719962539564e-02 + 4.450983978999472e-02 4.448249737121881e-02 4.445517238399217e-02 4.442786484323902e-02 4.440057476388359e-02 + 4.437330216085012e-02 4.434604704906282e-02 4.431880944344595e-02 4.429158935892372e-02 4.426438681042035e-02 + 4.423720181286010e-02 4.421003438116718e-02 4.418288453026584e-02 4.415575227508029e-02 4.412863763053477e-02 + 4.410154061155352e-02 4.407446123306075e-02 4.404739950998071e-02 4.402035545723762e-02 4.399332908975571e-02 + 4.396632042245923e-02 4.393932947027238e-02 4.391235624811941e-02 4.388540077092456e-02 4.385846305361203e-02 + 4.383154311110608e-02 4.380464095833093e-02 4.377775661021081e-02 4.375089008166996e-02 4.372404138763258e-02 + 4.369721054302294e-02 4.367039756276526e-02 4.364360246178376e-02 4.361682525500267e-02 4.359006595734623e-02 + 4.356332458373868e-02 4.353660114910423e-02 4.350989566836711e-02 4.348320815645158e-02 4.345653862828184e-02 + 4.342988709878214e-02 4.340325358287669e-02 4.337663809548974e-02 4.335004065154552e-02 4.332346126596825e-02 + 4.329689995368217e-02 4.327035672961151e-02 4.324383160868049e-02 4.321732460581335e-02 4.319083573593433e-02 + 4.316436501396765e-02 4.313791245483754e-02 4.311147807346823e-02 4.308506188478395e-02 4.305866390370894e-02 + 4.303228414516742e-02 4.300592262408363e-02 4.297957935538180e-02 4.295325435398616e-02 4.292694763482094e-02 + 4.290065921281035e-02 4.287438910287866e-02 4.284813731995007e-02 4.282190387894883e-02 4.279568879479917e-02 + 4.276949208242530e-02 4.274331375675147e-02 4.271715383270192e-02 4.269101232520085e-02 4.266488924917250e-02 + 4.263878461954113e-02 4.261269845123093e-02 4.258663075916616e-02 4.256058155827103e-02 4.253455086346980e-02 + 4.250853868968667e-02 4.248254505184589e-02 4.245656996487169e-02 4.243061344368828e-02 4.240467550321991e-02 + 4.237875615839081e-02 4.235285542412521e-02 4.232697331534734e-02 4.230110984698143e-02 4.227526503395169e-02 + 4.224943889118240e-02 4.222363143359775e-02 4.219784267612198e-02 4.217207263367933e-02 4.214632132119402e-02 + 4.212058875359029e-02 4.209487494579236e-02 4.206917991272448e-02 4.204350366931086e-02 4.201784623047573e-02 + 4.199220761114335e-02 4.196658782623791e-02 4.194098689068368e-02 4.191540481940486e-02 4.188984162732570e-02 + 4.186429732937041e-02 4.183877194046326e-02 4.181326547552844e-02 4.178777794949019e-02 4.176230937727277e-02 + 4.173685977380037e-02 4.171142915399725e-02 4.168601753278764e-02 4.166062492509574e-02 4.163525134584580e-02 + 4.160989680996207e-02 4.158456133236876e-02 4.155924492799010e-02 4.153394761175032e-02 4.150866939857367e-02 + 4.148341030338436e-02 4.145817034110662e-02 4.143294952666470e-02 4.140774787498282e-02 4.138256540098521e-02 + 4.135740211959609e-02 4.133225804573972e-02 4.130713319434030e-02 4.128202758032209e-02 4.125694121860929e-02 + 4.123187412412615e-02 4.120682631179690e-02 4.118179779654577e-02 4.115678859329698e-02 4.113179871697477e-02 + 4.110682818250337e-02 4.108187700480702e-02 4.105694519880994e-02 4.103203277943635e-02 4.100713976161051e-02 + 4.098226616025662e-02 4.095741199029894e-02 4.093257726666168e-02 4.090776200426908e-02 4.088296621804536e-02 + 4.085818992291476e-02 4.083343313380151e-02 4.080869586562985e-02 4.078397813332400e-02 4.075927995180818e-02 + 4.073460133600665e-02 4.070994230084361e-02 4.068530286124331e-02 4.066068303212998e-02 4.063608282842784e-02 + 4.061150226506113e-02 4.058694135695408e-02 4.056240011903092e-02 4.053787856621588e-02 4.051337671343318e-02 + 4.048889457560707e-02 4.046443216766178e-02 4.043998950452153e-02 4.041556660111054e-02 4.039116347235307e-02 + 4.036678013317334e-02 4.034241659849556e-02 4.031807288324400e-02 4.029374900234285e-02 4.026944497071637e-02 + 4.024516080328877e-02 4.022089651498431e-02 4.019665212072718e-02 4.017242763544165e-02 4.014822307405193e-02 + 4.012403845148225e-02 4.009987378265685e-02 4.007572908249996e-02 4.005160436593580e-02 4.002749964788860e-02 + 4.000341494328261e-02 3.997935026862905e-02 3.995530565020248e-02 3.993128111798760e-02 3.990727670197625e-02 + 3.988329243216027e-02 3.985932833853151e-02 3.983538445108181e-02 3.981146079980302e-02 3.978755741468697e-02 + 3.976367432572553e-02 3.973981156291052e-02 3.971596915623379e-02 3.969214713568721e-02 3.966834553126258e-02 + 3.964456437295178e-02 3.962080369074663e-02 3.959706351463900e-02 3.957334387462071e-02 3.954964480068362e-02 + 3.952596632281957e-02 3.950230847102040e-02 3.947867127527795e-02 3.945505476558409e-02 3.943145897193063e-02 + 3.940788392430945e-02 3.938432965271236e-02 3.936079618713123e-02 3.933728355755788e-02 3.931379179398419e-02 + 3.929032092640197e-02 3.926687098480308e-02 3.924344199917935e-02 3.922003399952266e-02 3.919664701582481e-02 + 3.917328107807769e-02 3.914993621627309e-02 3.912661246040292e-02 3.910330984045896e-02 3.908002838643308e-02 + 3.905676812831715e-02 3.903352909610298e-02 3.901031131978242e-02 3.898711482934733e-02 3.896393965478955e-02 + 3.894078582610091e-02 3.891765337327326e-02 3.889454232629846e-02 3.887145271516833e-02 3.884838456987474e-02 + 3.882533792040951e-02 3.880231279676451e-02 3.877930922893155e-02 3.875632724690252e-02 3.873336688066923e-02 + 3.871042816022353e-02 3.868751111555727e-02 3.866461577666229e-02 3.864174217353044e-02 3.861889033615356e-02 + 3.859606029452349e-02 3.857325207863209e-02 3.855046571847119e-02 3.852770124403264e-02 3.850495868530828e-02 + 3.848223807228996e-02 3.845953943496952e-02 3.843686280333881e-02 3.841420820738967e-02 3.839157567711395e-02 + 3.836896524250349e-02 3.834637693355013e-02 3.832381078024572e-02 3.830126681258209e-02 3.827874506055112e-02 + 3.825624555414461e-02 3.823376832335444e-02 3.821131339817244e-02 3.818888080859045e-02 3.816647058460032e-02 + 3.814408275619389e-02 3.812171735336303e-02 3.809937440609954e-02 3.807705394439530e-02 3.805475599824214e-02 + 3.803248059763190e-02 3.801022777255643e-02 3.798799755300758e-02 3.796578996897719e-02 3.794360505045710e-02 + 3.792144282743916e-02 3.789930332991522e-02 3.787718658787710e-02 3.785509263131667e-02 3.783302149022577e-02 + 3.781097319459624e-02 3.778894777441992e-02 3.776694525968866e-02 3.774496568039430e-02 3.772300906652870e-02 + 3.770107544808367e-02 3.767916485505110e-02 3.765727731742280e-02 3.763541286519063e-02 3.761357152834642e-02 + 3.759175333688204e-02 3.756995832078931e-02 3.754818651006007e-02 3.752643793468620e-02 3.750471262465951e-02 + 3.748301060997186e-02 3.746133192061509e-02 3.743967658658105e-02 3.741804463786157e-02 3.739643610444850e-02 + 3.737485101633371e-02 3.735328940350900e-02 3.733175129596625e-02 3.731023672369729e-02 3.728874571669397e-02 + 3.726727830494812e-02 3.724583451845160e-02 3.722441438719625e-02 3.720301794117391e-02 3.718164521037644e-02 + 3.716029622479566e-02 3.713897101442343e-02 3.711766960925159e-02 3.709639203927199e-02 3.707513833447647e-02 + 3.705390852485687e-02 3.703270264040504e-02 3.701152071111283e-02 3.699036276697207e-02 3.696922883797462e-02 + 3.694811895411231e-02 3.692703314537699e-02 3.690597144176051e-02 3.688493387325471e-02 3.686392046985143e-02 + 3.684293126154253e-02 3.682196627831984e-02 3.680102555017520e-02 3.678010910710046e-02 3.675921697908748e-02 + 3.673834919612807e-02 3.671750578821411e-02 3.669668678533742e-02 3.667589221748987e-02 3.665512211466327e-02 + 3.663437650684950e-02 3.661365542404037e-02 3.659295889622776e-02 3.657228695340348e-02 3.655163962555941e-02 + 3.653101694268735e-02 3.651041893477919e-02 3.648984563182674e-02 3.646929706382188e-02 3.644877326075641e-02 + 3.642827425262220e-02 3.640780006941109e-02 3.638735074111494e-02 3.636692629772557e-02 3.634652676923484e-02 + 3.632615218563458e-02 3.630580257691665e-02 3.628547797307289e-02 3.626517840409513e-02 3.624490389997524e-02 + 3.622465449070505e-02 3.620443020627639e-02 3.618423107668113e-02 3.616405713191111e-02 3.614390840195816e-02 + 3.612378491681414e-02 3.610368670647089e-02 3.608361380092025e-02 3.606356623015406e-02 3.604354402416417e-02 + 3.602354721294244e-02 3.600357582648069e-02 3.598362989477077e-02 3.596370944780453e-02 3.594381451557382e-02 + 3.592394512807047e-02 3.590410131528634e-02 3.588428310721326e-02 3.586449053384308e-02 3.584472362516764e-02 + 3.582498241117880e-02 3.580526692186839e-02 3.578557718722826e-02 3.576591323725024e-02 3.574627510192620e-02 + 3.572666281124797e-02 3.570707639520740e-02 3.568751588379632e-02 3.566798130700659e-02 3.564847269483005e-02 + 3.562899007725854e-02 3.560953348428391e-02 3.559010294589800e-02 3.557069849209266e-02 3.555132015285974e-02 + 3.553196795819106e-02 3.551264193807849e-02 3.549334212251386e-02 3.547406854148901e-02 3.545482122499580e-02 + 3.543560020302607e-02 3.541640550557167e-02 3.539723716262443e-02 3.537809520417620e-02 3.535897966021882e-02 + 3.533989056074414e-02 3.532082793574401e-02 3.530179181521027e-02 3.528278222913475e-02 3.526379920750932e-02 + 3.524484278032580e-02 3.522591297757607e-02 3.520700982925193e-02 3.518813336534525e-02 3.516928361584787e-02 + 3.515046061075164e-02 3.513166438004838e-02 3.511289495372998e-02 3.509415236178823e-02 3.507543663421501e-02 + 3.505674780100216e-02 3.503808589214152e-02 3.501945093762493e-02 3.500084296744425e-02 3.498226201159130e-02 + 3.496370810005795e-02 3.494518126283602e-02 3.492668152991737e-02 3.490820893129385e-02 3.488976349695729e-02 + 3.487134525689954e-02 3.485295424111245e-02 3.483459047958785e-02 3.481625400231760e-02 3.479794483929353e-02 + 3.477966302050750e-02 3.476140857595134e-02 3.474318153561690e-02 3.472498192949603e-02 3.470680978758058e-02 + 3.468866513986237e-02 3.467054801633326e-02 3.465245844698509e-02 3.463439646180971e-02 3.461636209079897e-02 + 3.459835536394470e-02 3.458037631123875e-02 3.456242496267296e-02 3.454450134823919e-02 3.452660549792927e-02 + 3.450873744173504e-02 3.449089720964835e-02 3.447308483166107e-02 3.445530033776500e-02 3.443754375795202e-02 + 3.441981512221395e-02 3.440211446054266e-02 3.438444180292995e-02 3.436679717936773e-02 3.434918061984778e-02 + 3.433159215436199e-02 3.431403181290218e-02 3.429649962546020e-02 3.427899562202789e-02 3.426151983259711e-02 + 3.424407228715969e-02 3.422665301570748e-02 3.420926204823232e-02 3.419189941472606e-02 3.417456514518054e-02 + 3.415725926958761e-02 3.413998181793911e-02 3.412273282022688e-02 3.410551230644278e-02 3.408832030657864e-02 + 3.407115685062630e-02 3.405402196857762e-02 3.403691569042444e-02 3.401983804615860e-02 3.400278906577194e-02 + 3.398576877925633e-02 3.396877721660357e-02 3.395181440780554e-02 3.393488038285408e-02 3.391797517174103e-02 + 3.390109880445821e-02 3.388425131099751e-02 3.386743272135074e-02 3.385064306550976e-02 3.383388237346641e-02 + 3.381715067521254e-02 3.380044800073998e-02 3.378377438004059e-02 3.376712984310620e-02 3.375051441992868e-02 + 3.373392814049984e-02 3.371737103481155e-02 3.370084313285564e-02 3.368434446462396e-02 3.366787506010836e-02 + 3.365143466564878e-02 3.363501887624541e-02 3.361862209777612e-02 3.360224500875989e-02 3.358588827878357e-02 + 3.356955147090725e-02 3.355323458431880e-02 3.353693766165054e-02 3.352066065506343e-02 3.350440352193865e-02 + 3.348816624199871e-02 3.347194881659273e-02 3.345575121630599e-02 3.343957340404732e-02 3.342341535303144e-02 + 3.340727704441876e-02 3.339115845430404e-02 3.337505954322636e-02 3.335898029706669e-02 3.334292070921326e-02 + 3.332688074834195e-02 3.331086037969291e-02 3.329485957414917e-02 3.327887831864652e-02 3.326291658484171e-02 + 3.324697433542376e-02 3.323105156623186e-02 3.321514826023114e-02 3.319926437839098e-02 3.318339989412266e-02 + 3.316755478754796e-02 3.315172903929034e-02 3.313592261295018e-02 3.312013548124740e-02 3.310436764153749e-02 + 3.308861906981869e-02 3.307288973180764e-02 3.305717959801665e-02 3.304148865245999e-02 3.302581687574703e-02 + 3.301016422142487e-02 3.299453067800234e-02 3.297891624809741e-02 3.296332088425066e-02 3.294774455685354e-02 + 3.293218725810471e-02 3.291664896225673e-02 3.290112963401578e-02 3.288562923879117e-02 3.287014777263271e-02 + 3.285468522369568e-02 3.283924155670871e-02 3.282381674440858e-02 3.280841076589561e-02 3.279302360243119e-02 + 3.277765521941309e-02 3.276230558706894e-02 3.274697470113698e-02 3.273166254219040e-02 3.271636907936865e-02 + 3.270109428250347e-02 3.268583813280482e-02 3.267060061307020e-02 3.265538168459424e-02 3.264018132671115e-02 + 3.262499953449712e-02 3.260983628233858e-02 3.259469153939318e-02 3.257956527754512e-02 3.256445748091834e-02 + 3.254936812698490e-02 3.253429718174427e-02 3.251924463148387e-02 3.250421046229880e-02 3.248919464552218e-02 + 3.247419715298105e-02 3.245921796288541e-02 3.244425706251369e-02 3.242931441545717e-02 3.241438998652282e-02 + 3.239948378141620e-02 3.238459577882156e-02 3.236972593925531e-02 3.235487424670715e-02 3.234004068301546e-02 + 3.232522522137563e-02 3.231042782696456e-02 3.229564848261764e-02 3.228088718700101e-02 3.226614390644563e-02 + 3.225141860917057e-02 3.223671128042128e-02 3.222202190260593e-02 3.220735044835789e-02 3.219269687989033e-02 + 3.217806118663362e-02 3.216344336205739e-02 3.214884337811092e-02 3.213426120193776e-02 3.211969680852602e-02 + 3.210515019435922e-02 3.209062132655478e-02 3.207611016186721e-02 3.206161670288540e-02 3.204714093648681e-02 + 3.203268282961075e-02 3.201824236239234e-02 3.200381951210604e-02 3.198941424912934e-02 3.197502654604618e-02 + 3.196065638811887e-02 3.194630377248257e-02 3.193196866763873e-02 3.191765104079724e-02 3.190335087680102e-02 + 3.188906815766901e-02 3.187480285784819e-02 3.186055494296534e-02 3.184632440204734e-02 3.183211122836238e-02 + 3.181791538780577e-02 3.180373685568510e-02 3.178957561657719e-02 3.177543165075891e-02 3.176130492904844e-02 + 3.174719542079285e-02 3.173310312097031e-02 3.171902801589959e-02 3.170497007535993e-02 3.169092927256592e-02 + 3.167690558660036e-02 3.166289900092451e-02 3.164890948767075e-02 3.163493702375719e-02 3.162098160094597e-02 + 3.160704320149037e-02 3.159312179836957e-02 3.157921735868882e-02 3.156532987076624e-02 3.155145932224658e-02 + 3.153760566663864e-02 3.152376889172848e-02 3.150994900180672e-02 3.149614595827410e-02 3.148235973399625e-02 + 3.146859031868535e-02 3.145483769408502e-02 3.144110182886523e-02 3.142738268687409e-02 3.141368026942635e-02 + 3.139999456778463e-02 3.138632554513814e-02 3.137267318073906e-02 3.135903745883740e-02 3.134541835839263e-02 + 3.133181584694165e-02 3.131822989974722e-02 3.130466051752389e-02 3.129110768114365e-02 3.127757136018487e-02 + 3.126405153214003e-02 3.125054818119363e-02 3.123706128835145e-02 3.122359081277034e-02 3.121013674152311e-02 + 3.119669908223311e-02 3.118327780512727e-02 3.116987287740892e-02 3.115648427590923e-02 3.114311198755302e-02 + 3.112975599208620e-02 3.111641625878769e-02 3.110309278026453e-02 3.108978554429882e-02 3.107649451605467e-02 + 3.106321967573116e-02 3.104996101093369e-02 3.103671850522385e-02 3.102349212552239e-02 3.101028184118182e-02 + 3.099708765215899e-02 3.098390954305432e-02 3.097074748653887e-02 3.095760146577434e-02 3.094447145973171e-02 + 3.093135744175442e-02 3.091825938652267e-02 3.090517727892404e-02 3.089211111199125e-02 3.087906086415095e-02 + 3.086602651045607e-02 3.085300802884278e-02 3.084000540267990e-02 3.082701861024971e-02 3.081404762072755e-02 + 3.080109242772720e-02 3.078815302348911e-02 3.077522937271052e-02 3.076232145526043e-02 3.074942925853004e-02 + 3.073655275969265e-02 3.072369193358731e-02 3.071084675893487e-02 3.069801722815575e-02 3.068520332655950e-02 + 3.067240502926292e-02 3.065962230727411e-02 3.064685514336771e-02 3.063410352936318e-02 3.062136743092317e-02 + 3.060864682743443e-02 3.059594172387181e-02 3.058325209340110e-02 3.057057790484611e-02 3.055791914232513e-02 + 3.054527578866520e-02 3.053264782274670e-02 3.052003521936738e-02 3.050743796632342e-02 3.049485605420712e-02 + 3.048228945948342e-02 3.046973815764381e-02 3.045720212753895e-02 3.044468135532321e-02 3.043217582076147e-02 + 3.041968549967531e-02 3.040721038082923e-02 3.039475044749309e-02 3.038230567464306e-02 3.036987604544383e-02 + 3.035746154526919e-02 3.034506215632694e-02 3.033267784558463e-02 3.032030859116679e-02 3.030795439680851e-02 + 3.029561524020229e-02 3.028329109283977e-02 3.027098194217670e-02 3.025868776986960e-02 3.024640855125834e-02 + 3.023414425922958e-02 3.022189488753165e-02 3.020966043396606e-02 3.019744085927903e-02 3.018523614254973e-02 + 3.017304628070488e-02 3.016087124712451e-02 3.014871101490015e-02 3.013656556629268e-02 3.012443489643160e-02 + 3.011231899192166e-02 3.010021782348693e-02 3.008813136953290e-02 3.007605961443153e-02 3.006400254477032e-02 + 3.005196013216448e-02 3.003993235442936e-02 3.002791921520012e-02 3.001592069144608e-02 3.000393675083135e-02 + 2.999196738372897e-02 2.998001257673401e-02 2.996807230790781e-02 2.995614654679549e-02 2.994423528130847e-02 + 2.993233851118915e-02 2.992045620999083e-02 2.990858835120550e-02 2.989673491731453e-02 2.988489589805536e-02 + 2.987307127537464e-02 2.986126102011340e-02 2.984946511909828e-02 2.983768356331996e-02 2.982591633787642e-02 + 2.981416341477938e-02 2.980242477098497e-02 2.979070040412034e-02 2.977899028736241e-02 2.976729439085326e-02 + 2.975561271768286e-02 2.974394525020974e-02 2.973229195799546e-02 2.972065283153817e-02 2.970902785474345e-02 + 2.969741700233630e-02 2.968582025251779e-02 2.967423759388233e-02 2.966266902120933e-02 2.965111450751603e-02 + 2.963957402972690e-02 2.962804757853395e-02 2.961653513685447e-02 2.960503668212408e-02 2.959355219023237e-02 + 2.958208165129883e-02 2.957062505724755e-02 2.955918238857859e-02 2.954775362079399e-02 2.953633873283637e-02 + 2.952493771681483e-02 2.951355054848872e-02 2.950217720053436e-02 2.949081767862442e-02 2.947947196700992e-02 + 2.946814003034778e-02 2.945682185755054e-02 2.944551743582863e-02 2.943422674341014e-02 2.942294975870480e-02 + 2.941168646812421e-02 2.940043686618776e-02 2.938920093147064e-02 2.937797864134186e-02 2.936676998172867e-02 + 2.935557493479196e-02 2.934439347979633e-02 2.933322559583284e-02 2.932207127373048e-02 2.931093050463312e-02 + 2.929980326285230e-02 2.928868953142686e-02 2.927758929945683e-02 2.926650254799867e-02 2.925542925398767e-02 + 2.924436939550082e-02 2.923332296415483e-02 2.922228995044700e-02 2.921127033783603e-02 2.920026410004271e-02 + 2.918927122033416e-02 2.917829169471517e-02 2.916732549176795e-02 2.915637258777840e-02 2.914543298801943e-02 + 2.913450667577263e-02 2.912359362430894e-02 2.911269381274288e-02 2.910180723305731e-02 2.909093387402745e-02 + 2.908007369930849e-02 2.906922669822638e-02 2.905839287303405e-02 2.904757219714476e-02 2.903676465199738e-02 + 2.902597022808873e-02 2.901518890157972e-02 2.900442065055892e-02 2.899366546087253e-02 2.898292332562971e-02 + 2.897219423070421e-02 2.896147815085827e-02 2.895077507160809e-02 2.894008498122344e-02 2.892940786384609e-02 + 2.891874369517828e-02 2.890809245634708e-02 2.889745414621765e-02 2.888682874769054e-02 2.887621623583590e-02 + 2.886561659425123e-02 2.885502981116054e-02 2.884445587294774e-02 2.883389475319686e-02 2.882334643970105e-02 + 2.881281093000496e-02 2.880228819979298e-02 2.879177822929067e-02 2.878128100842524e-02 2.877079651898801e-02 + 2.876032473884395e-02 2.874986564740009e-02 2.873941924390505e-02 2.872898552052601e-02 2.871856444638324e-02 + 2.870815600507148e-02 2.869776018641480e-02 2.868737697516582e-02 2.867700634591397e-02 2.866664827916806e-02 + 2.865630278319325e-02 2.864596983917359e-02 2.863564941328856e-02 2.862534149829953e-02 2.861504608429113e-02 + 2.860476315234840e-02 2.859449267740666e-02 2.858423464566411e-02 2.857398905422620e-02 2.856375588402207e-02 + 2.855353511594846e-02 2.854332673804624e-02 2.853313073796621e-02 2.852294709429606e-02 2.851277577543872e-02 + 2.850261678440491e-02 2.849247012219593e-02 2.848233575178603e-02 2.847221365657614e-02 2.846210383116990e-02 + 2.845200625935100e-02 2.844192091752946e-02 2.843184778466237e-02 2.842178686053369e-02 2.841173813547823e-02 + 2.840170158739025e-02 2.839167719418843e-02 2.838166494245600e-02 2.837166482484053e-02 2.836167681707307e-02 + 2.835170090137019e-02 2.834173707461769e-02 2.833178532393912e-02 2.832184563033358e-02 2.831191797277370e-02 + 2.830200233825938e-02 2.829209871310940e-02 2.828220707523810e-02 2.827232741579271e-02 2.826245972853687e-02 + 2.825260399229306e-02 2.824276019064247e-02 2.823292831178126e-02 2.822310834132040e-02 2.821330025651807e-02 + 2.820350403438503e-02 2.819371967866794e-02 2.818394718049788e-02 2.817418651237375e-02 2.816443766090156e-02 + 2.815470061416237e-02 2.814497535504664e-02 2.813526186206681e-02 2.812556012131105e-02 2.811587013236315e-02 + 2.810619188120791e-02 2.809652534562629e-02 2.808687050311100e-02 2.807722734684383e-02 2.806759586949595e-02 + 2.805797603975531e-02 2.804836784541272e-02 2.803877128655403e-02 2.802918634812817e-02 2.801961300908425e-02 + 2.801005124931340e-02 2.800050106254358e-02 2.799096243185147e-02 2.798143533065562e-02 2.797191976200169e-02 + 2.796241571829330e-02 2.795292316767612e-02 2.794344209750147e-02 2.793397250080147e-02 2.792451436474921e-02 + 2.791506766429417e-02 2.790563238187514e-02 2.789620852426368e-02 2.788679607109519e-02 2.787739499448651e-02 + 2.786800529276515e-02 2.785862695250820e-02 2.784925995023579e-02 2.783990426851568e-02 2.783055990112446e-02 + 2.782122684523413e-02 2.781190507602721e-02 2.780259457625915e-02 2.779329533996523e-02 2.778400734510273e-02 + 2.777473057425486e-02 2.776546502209671e-02 2.775621067523501e-02 2.774696751775778e-02 2.773773553529171e-02 + 2.772851471226555e-02 2.771930503638066e-02 2.771010650156085e-02 2.770091908311444e-02 2.769174275675288e-02 + 2.768257752750487e-02 2.767342338343482e-02 2.766428030170250e-02 2.765514827509389e-02 2.764602728937508e-02 + 2.763691732224667e-02 2.762781835629091e-02 2.761873038318760e-02 2.760965340016332e-02 2.760058738918467e-02 + 2.759153233095657e-02 2.758248821223181e-02 2.757345502668101e-02 2.756443275844788e-02 2.755542137569210e-02 + 2.754642087861812e-02 2.753743126859248e-02 2.752845251726651e-02 2.751948461051369e-02 2.751052754088128e-02 + 2.750158129051000e-02 2.749264584112846e-02 2.748372117908398e-02 2.747480730190011e-02 2.746590419839729e-02 + 2.745701184777745e-02 2.744813023052759e-02 2.743925933666562e-02 2.743039916197098e-02 2.742154968107790e-02 + 2.741271087850060e-02 2.740388275814067e-02 2.739506530469222e-02 2.738625849608251e-02 2.737746231424592e-02 + 2.736867675514432e-02 2.735990180809817e-02 2.735113743878892e-02 2.734238364845174e-02 2.733364044336462e-02 + 2.732490778587926e-02 2.731618566204183e-02 2.730747407386686e-02 2.729877300249025e-02 2.729008242908668e-02 + 2.728140234030172e-02 2.727273272900814e-02 2.726407358354408e-02 2.725542488697956e-02 2.724678662927163e-02 + 2.723815879907967e-02 2.722954137935252e-02 2.722093434732608e-02 2.721233769152850e-02 2.720375141931018e-02 + 2.719517551218435e-02 2.718660994644712e-02 2.717805471481514e-02 2.716950980584153e-02 2.716097520393317e-02 + 2.715245089289530e-02 2.714393686286031e-02 2.713543310581999e-02 2.712693960497614e-02 2.711845634782483e-02 + 2.710998332519429e-02 2.710152051958041e-02 2.709306791441093e-02 2.708462549834906e-02 2.707619326918369e-02 + 2.706777121480425e-02 2.705935930907671e-02 2.705095754483260e-02 2.704256591454058e-02 2.703418439795306e-02 + 2.702581298145425e-02 2.701745165546447e-02 2.700910041075726e-02 2.700075923746808e-02 2.699242812272907e-02 + 2.698410704764140e-02 2.697579599978723e-02 2.696749496984126e-02 2.695920394125775e-02 2.695092290187428e-02 + 2.694265184396634e-02 2.693439075649869e-02 2.692613962541774e-02 2.691789843589869e-02 2.690966718080280e-02 + 2.690144584430361e-02 2.689323440003169e-02 2.688503284907665e-02 2.687684119009101e-02 2.686865940030225e-02 + 2.686048746353486e-02 2.685232536881714e-02 2.684417310662326e-02 2.683603066151065e-02 2.682789801897943e-02 + 2.681977517552054e-02 2.681166212021913e-02 2.680355883616239e-02 2.679546530889016e-02 2.678738152752996e-02 + 2.677930748200765e-02 2.677124315479004e-02 2.676318853591112e-02 2.675514362231527e-02 2.674710839396962e-02 + 2.673908283555094e-02 2.673106694339361e-02 2.672306070150655e-02 2.671506409151823e-02 2.670707710108217e-02 + 2.669909972943648e-02 2.669113197027321e-02 2.668317379682501e-02 2.667522519875436e-02 2.666728617090520e-02 + 2.665935669311371e-02 2.665143675159882e-02 2.664352634032146e-02 2.663562545659268e-02 2.662773408361464e-02 + 2.661985219717407e-02 2.661197979572226e-02 2.660411687169956e-02 2.659626340488144e-02 2.658841937631547e-02 + 2.658058477937751e-02 2.657275961893512e-02 2.656494387358596e-02 2.655713752275513e-02 2.654934056348008e-02 + 2.654155298332925e-02 2.653377476657220e-02 2.652600590198415e-02 2.651824638075199e-02 2.651049619255404e-02 + 2.650275532091429e-02 2.649502375487615e-02 2.648730148802552e-02 2.647958851263073e-02 2.647188480891689e-02 + 2.646419035368700e-02 2.645650515131691e-02 2.644882919484906e-02 2.644116246069965e-02 2.643350494181170e-02 + 2.642585663084689e-02 2.641821751242615e-02 2.641058756892747e-02 2.640296679007395e-02 2.639535517653221e-02 + 2.638775271175803e-02 2.638015937698240e-02 2.637257516664822e-02 2.636500007332271e-02 2.635743408373907e-02 + 2.634987717633525e-02 2.634232934391862e-02 2.633479058525924e-02 2.632726088227431e-02 2.631974022390311e-02 + 2.631222860499385e-02 2.630472600717760e-02 2.629723241433261e-02 2.628974781674581e-02 2.628227220621198e-02 + 2.627480557677242e-02 2.626734792215179e-02 2.625989921852152e-02 2.625245945041883e-02 2.624502862403611e-02 + 2.623760671958282e-02 2.623019371536040e-02 2.622278961237779e-02 2.621539440295659e-02 2.620800807254220e-02 + 2.620063060674004e-02 2.619326199404739e-02 2.618590222410475e-02 2.617855128386046e-02 2.617120916522779e-02 + 2.616387586230346e-02 2.615655135861502e-02 2.614923564213544e-02 2.614192870720641e-02 2.613463054125929e-02 + 2.612734112755428e-02 2.612006044964381e-02 2.611278850871195e-02 2.610552530050819e-02 2.609827080222275e-02 + 2.609102500359168e-02 2.608378789925431e-02 2.607655947900249e-02 2.606933972466179e-02 2.606212861946312e-02 + 2.605492616097670e-02 2.604773234503024e-02 2.604054716124884e-02 2.603337058950191e-02 2.602620261873257e-02 + 2.601904324395194e-02 2.601189244598317e-02 2.600475021758196e-02 2.599761656283118e-02 2.599049145836681e-02 + 2.598337488632347e-02 2.597626684662969e-02 2.596916733159564e-02 2.596207632537513e-02 2.595499380688753e-02 + 2.594791977426907e-02 2.594085422650568e-02 2.593379714560815e-02 2.592674851872178e-02 2.591970833661526e-02 + 2.591267658830654e-02 2.590565326173340e-02 2.589863834578747e-02 2.589163183398775e-02 2.588463371701131e-02 + 2.587764398252935e-02 2.587066261956569e-02 2.586368961749470e-02 2.585672496539723e-02 2.584976865103265e-02 + 2.584282066471713e-02 2.583588100000093e-02 2.582894964599770e-02 2.582202659070586e-02 2.581511182332461e-02 + 2.580820533343631e-02 2.580130710958863e-02 2.579441713875388e-02 2.578753541579036e-02 2.578066193633965e-02 + 2.577379668579866e-02 2.576693964640701e-02 2.576009080523955e-02 2.575325016689414e-02 2.574641771694009e-02 + 2.573959342940173e-02 2.573277731100565e-02 2.572596935753856e-02 2.571916954588383e-02 2.571237786264848e-02 + 2.570559430241213e-02 2.569881886299849e-02 2.569205152414907e-02 2.568529227185872e-02 2.567854111122693e-02 + 2.567179802594942e-02 2.566506299732867e-02 2.565833602386073e-02 2.565161709921462e-02 2.564490620914589e-02 + 2.563820333139000e-02 2.563150846268354e-02 2.562482160754986e-02 2.561814274902439e-02 2.561147187258114e-02 + 2.560480896924013e-02 2.559815402833877e-02 2.559150703774291e-02 2.558486798572520e-02 2.557823686789989e-02 + 2.557161367849433e-02 2.556499840587265e-02 2.555839103232124e-02 2.555179154834854e-02 2.554519995829834e-02 + 2.553861624178350e-02 2.553204037844031e-02 2.552547237202886e-02 2.551891221538829e-02 2.551235989397021e-02 + 2.550581539575596e-02 2.549927871458803e-02 2.549274984258965e-02 2.548622875540724e-02 2.547971544999134e-02 + 2.547320993631275e-02 2.546671219025347e-02 2.546022219347805e-02 2.545373994243675e-02 2.544726542971977e-02 + 2.544079864501286e-02 2.543433957656028e-02 2.542788821576999e-02 2.542144455508066e-02 2.541500858637495e-02 + 2.540858030019949e-02 2.540215968413957e-02 2.539574672197945e-02 2.538934140646816e-02 2.538294373410821e-02 + 2.537655369660362e-02 2.537017128263758e-02 2.536379648098229e-02 2.535742928550868e-02 2.535106968465225e-02 + 2.534471766277936e-02 2.533837321084466e-02 2.533203632423742e-02 2.532570699881585e-02 2.531938521813243e-02 + 2.531307097096266e-02 2.530676425602581e-02 2.530046505932213e-02 2.529417336607690e-02 2.528788916915281e-02 + 2.528161246489754e-02 2.527534324609989e-02 2.526908149634068e-02 2.526282720495094e-02 2.525658036572961e-02 + 2.525034097275206e-02 2.524410901058027e-02 2.523788446449190e-02 2.523166734234336e-02 2.522545763237074e-02 + 2.521925530838600e-02 2.521306037097086e-02 2.520687281776321e-02 2.520069263496993e-02 2.519451980442291e-02 + 2.518835431925369e-02 2.518219618546694e-02 2.517604538654039e-02 2.516990190396150e-02 2.516376573127799e-02 + 2.515763686639562e-02 2.515151530112912e-02 2.514540101358030e-02 2.513929399756280e-02 2.513319425347670e-02 + 2.512710177240427e-02 2.512101654329324e-02 2.511493855506050e-02 2.510886779787783e-02 2.510280425830826e-02 + 2.509674792451250e-02 2.509069880343641e-02 2.508465688466923e-02 2.507862214067907e-02 2.507259457630134e-02 + 2.506657418922008e-02 2.506056095604422e-02 2.505455486579475e-02 2.504855591546334e-02 2.504256410459500e-02 + 2.503657941982099e-02 2.503060184642849e-02 2.502463137903613e-02 2.501866800626509e-02 2.501271171663477e-02 + 2.500676250820755e-02 2.500082037092928e-02 2.499488529135626e-02 2.498895726677344e-02 2.498303628979692e-02 + 2.497712234741346e-02 2.497121542814719e-02 2.496531552247531e-02 2.495942262282587e-02 2.495353672310340e-02 + 2.494765781766853e-02 2.494178589943900e-02 2.493592095223772e-02 2.493006296439117e-02 2.492421193524048e-02 + 2.491836784922406e-02 2.491253069345717e-02 2.490670047398909e-02 2.490087718065651e-02 2.489506079631419e-02 + 2.488925131370227e-02 2.488344872747560e-02 2.487765302865731e-02 2.487186419727612e-02 2.486608223223404e-02 + 2.486030714174834e-02 2.485453889875117e-02 2.484877749156952e-02 2.484302292908405e-02 2.483727519324232e-02 + 2.483153426549052e-02 2.482580013961989e-02 2.482007281919668e-02 2.481435229933991e-02 2.480863855780388e-02 + 2.480293158683973e-02 2.479723138421890e-02 2.479153794250162e-02 2.478585124573938e-02 2.478017128120043e-02 + 2.477449805440481e-02 2.476883155587847e-02 2.476317176818658e-02 2.475751868877601e-02 2.475187231076201e-02 + 2.474623262098153e-02 2.474059960704484e-02 2.473497326224523e-02 2.472935358498410e-02 2.472374056978996e-02 + 2.471813420423485e-02 2.471253447111526e-02 2.470694136984621e-02 2.470135489678424e-02 2.469577503399494e-02 + 2.469020177298829e-02 2.468463511029760e-02 2.467907504169421e-02 2.467352155791407e-02 2.466797464651026e-02 + 2.466243429488579e-02 2.465690049712254e-02 2.465137324948606e-02 2.464585254039273e-02 2.464033836402688e-02 + 2.463483071739735e-02 2.462932958374225e-02 2.462383495186045e-02 2.461834681928389e-02 2.461286517898853e-02 + 2.460739002108202e-02 2.460192133524253e-02 2.459645911917798e-02 2.459100336526309e-02 2.458555405446716e-02 + 2.458011118496141e-02 2.457467475465895e-02 2.456924474486533e-02 2.456382114921245e-02 2.455840396700115e-02 + 2.455299319041756e-02 2.454758880740113e-02 2.454219080674820e-02 2.453679918638537e-02 2.453141393576077e-02 + 2.452603503863916e-02 2.452066249180092e-02 2.451529629410615e-02 2.450993644073534e-02 2.450458291517292e-02 + 2.449923570627392e-02 2.449389481263279e-02 2.448856022075961e-02 2.448323192252920e-02 2.447790992354739e-02 + 2.447259420740984e-02 2.446728475663024e-02 2.446198157303190e-02 2.445668465268695e-02 2.445139398411770e-02 + 2.444610955000165e-02 2.444083134675017e-02 2.443555937646448e-02 2.443029362647454e-02 2.442503408583922e-02 + 2.441978074770511e-02 2.441453360513738e-02 2.440929264714783e-02 2.440405786136508e-02 2.439882924944217e-02 + 2.439360680824694e-02 2.438839052372590e-02 2.438318038826778e-02 2.437797639360750e-02 2.437277852674977e-02 + 2.436758678074824e-02 2.436240115296091e-02 2.435722164202054e-02 2.435204823529888e-02 2.434688091817521e-02 + 2.434171968740183e-02 2.433656453724402e-02 2.433141545805634e-02 2.432627243782077e-02 2.432113546933723e-02 + 2.431600455029639e-02 2.431087967900234e-02 2.430576084399959e-02 2.430064802749307e-02 2.429554123205279e-02 + 2.429044044976694e-02 2.428534565606734e-02 2.428025685952290e-02 2.427517406275088e-02 2.427009724038350e-02 + 2.426502638834353e-02 2.425996150697585e-02 2.425490258288459e-02 2.424984960255012e-02 2.424480255754471e-02 + 2.423976144931379e-02 2.423472627405213e-02 2.422969702193537e-02 2.422467367993699e-02 2.421965624107330e-02 + 2.421464470176334e-02 2.420963904926960e-02 2.420463927567678e-02 2.419964537946393e-02 2.419465735323985e-02 + 2.418967518800793e-02 2.418469887545246e-02 2.417972840901141e-02 2.417476377855392e-02 2.416980496962540e-02 + 2.416485198688481e-02 2.415990483049387e-02 2.415496347565664e-02 2.415002792020104e-02 2.414509816788697e-02 + 2.414017420064829e-02 2.413525600526027e-02 2.413034357711665e-02 2.412543691925479e-02 2.412053602209589e-02 + 2.411564086852338e-02 2.411075145960207e-02 2.410586778967854e-02 2.410098984367492e-02 2.409611761892932e-02 + 2.409125110932578e-02 2.408639030144091e-02 2.408153519631380e-02 2.407668578962185e-02 2.407184206146642e-02 + 2.406700400909483e-02 2.406217163125833e-02 2.405734491326586e-02 2.405252385052364e-02 2.404770844026444e-02 + 2.404289866819192e-02 2.403809452984102e-02 2.403329602484744e-02 2.402850314011094e-02 2.402371586479471e-02 + 2.401893419282938e-02 2.401415812045089e-02 2.400938764313821e-02 2.400462275334547e-02 2.399986343578922e-02 + 2.399510968520409e-02 2.399036150812855e-02 2.398561888480285e-02 2.398088180164008e-02 2.397615026865237e-02 + 2.397142427338870e-02 2.396670380040281e-02 2.396198885088599e-02 2.395727942113068e-02 2.395257549962209e-02 + 2.394787706723708e-02 2.394318412617158e-02 2.393849668455232e-02 2.393381472012022e-02 2.392913822141401e-02 + 2.392446719065216e-02 2.391980162598514e-02 2.391514151312970e-02 2.391048683154523e-02 2.390583758880722e-02 + 2.390119378770886e-02 2.389655541357522e-02 2.389192245255953e-02 2.388729489743550e-02 2.388267274893805e-02 + 2.387805599705324e-02 2.387344463051915e-02 2.386883864637205e-02 2.386423804212813e-02 2.385964281176755e-02 + 2.385505294183017e-02 2.385046842474073e-02 2.384588925674739e-02 2.384131543037479e-02 2.383674693675093e-02 + 2.383218376863605e-02 2.382762592698097e-02 2.382307340607612e-02 2.381852619200930e-02 2.381398427584630e-02 + 2.380944765139419e-02 2.380491631418275e-02 2.380039026147703e-02 2.379586948695320e-02 2.379135397827495e-02 + 2.378684372855616e-02 2.378233873403001e-02 2.377783899070361e-02 2.377334448688785e-02 2.376885521259772e-02 + 2.376437117173840e-02 2.375989235311110e-02 2.375541874056297e-02 2.375095033967465e-02 2.374648714507580e-02 + 2.374202914136664e-02 2.373757632537944e-02 2.373312869288914e-02 2.372868623536894e-02 2.372424894471153e-02 + 2.371981681484819e-02 2.371538984133524e-02 2.371096801501392e-02 2.370655132827953e-02 2.370213977833190e-02 + 2.369773335765337e-02 2.369333205880069e-02 2.368893587883010e-02 2.368454481046802e-02 2.368015884444250e-02 + 2.367577797334512e-02 2.367140218742613e-02 2.366703147963686e-02 2.366266585606776e-02 2.365830530976384e-02 + 2.365394982335759e-02 2.364959939168465e-02 2.364525401200215e-02 2.364091367903051e-02 2.363657837870221e-02 + 2.363224810602428e-02 2.362792286773459e-02 2.362360264929340e-02 2.361928743769403e-02 2.361497723470610e-02 + 2.361067203383207e-02 2.360637182449869e-02 2.360207659794005e-02 2.359778635431920e-02 2.359350109143980e-02 + 2.358922079027601e-02 2.358494544772182e-02 2.358067506765588e-02 2.357640963547734e-02 2.357214914179353e-02 + 2.356789358468287e-02 2.356364296127548e-02 2.355939726289868e-02 2.355515647729875e-02 2.355092060314220e-02 + 2.354668963726047e-02 2.354246356971432e-02 2.353824239065819e-02 2.353402609608870e-02 2.352981468856027e-02 + 2.352560815209497e-02 2.352140647526573e-02 2.351720967050562e-02 2.351301772305351e-02 2.350883061252196e-02 + 2.350464834642137e-02 2.350047092197861e-02 2.349629832802946e-02 2.349213055910952e-02 2.348796760574937e-02 + 2.348380945835795e-02 2.347965612326723e-02 2.347550759163322e-02 2.347136384068571e-02 2.346722487769892e-02 + 2.346309070523777e-02 2.345896130833473e-02 2.345483667635093e-02 2.345071680463291e-02 2.344660169327714e-02 + 2.344249133136094e-02 2.343838570884467e-02 2.343428482723373e-02 2.343018868068117e-02 2.342609726030811e-02 + 2.342201056195244e-02 2.341792857876926e-02 2.341385130156056e-02 2.340977872164902e-02 2.340571083589386e-02 + 2.340164764377465e-02 2.339758913684304e-02 2.339353530825718e-02 2.338948615385810e-02 2.338544166438565e-02 + 2.338140183238109e-02 2.337736665460082e-02 2.337333612670094e-02 2.336931024309368e-02 2.336528899670786e-02 + 2.336127237782067e-02 2.335726037932775e-02 2.335325300092871e-02 2.334925023614406e-02 2.334525207670920e-02 + 2.334125851951941e-02 2.333726955725296e-02 2.333328518197435e-02 2.332930539416707e-02 2.332533018620607e-02 + 2.332135954429912e-02 2.331739346348105e-02 2.331343194297124e-02 2.330947498175055e-02 2.330552256758802e-02 + 2.330157469245372e-02 2.329763135682490e-02 2.329369255310137e-02 2.328975827131819e-02 2.328582850377367e-02 + 2.328190324900185e-02 2.327798250467623e-02 2.327406626164597e-02 2.327015451465238e-02 2.326624725851670e-02 + 2.326234448228765e-02 2.325844618291867e-02 2.325455236057939e-02 2.325066300636415e-02 2.324677811186985e-02 + 2.324289767062798e-02 2.323902167622130e-02 2.323515012509116e-02 2.323128301561370e-02 2.322742034088871e-02 + 2.322356209250113e-02 2.321970826255392e-02 2.321585884544971e-02 2.321201383858435e-02 2.320817324137425e-02 + 2.320433704277431e-02 2.320050523099401e-02 2.319667780275936e-02 2.319285475700314e-02 2.318903609087885e-02 + 2.318522179577433e-02 2.318141186586264e-02 2.317760629632794e-02 2.317380507773795e-02 2.317000820301008e-02 + 2.316621566880872e-02 2.316242747510807e-02 2.315864361575457e-02 2.315486407850317e-02 2.315108885694486e-02 + 2.314731794816131e-02 2.314355135044316e-02 2.313978905662257e-02 2.313603105913640e-02 2.313227735329952e-02 + 2.312852793585061e-02 2.312478280157292e-02 2.312104194073204e-02 2.311730534704967e-02 2.311357301587891e-02 + 2.310984494137890e-02 2.310612112341407e-02 2.310240155989217e-02 2.309868623130452e-02 2.309497513592190e-02 + 2.309126828241582e-02 2.308756565023808e-02 2.308386723175103e-02 2.308017303542274e-02 2.307648304592169e-02 + 2.307279725617671e-02 2.306911567493640e-02 2.306543828441958e-02 2.306176507302976e-02 2.305809605235563e-02 + 2.305443121050249e-02 2.305077053229759e-02 2.304711401909808e-02 2.304346166830784e-02 2.303981347406350e-02 + 2.303616943085239e-02 2.303252953349069e-02 2.302889377643319e-02 2.302526215247478e-02 2.302163465435939e-02 + 2.301801127709388e-02 2.301439202296127e-02 2.301077688440331e-02 2.300716584594829e-02 2.300355891234385e-02 + 2.299995607931316e-02 2.299635732709070e-02 2.299276266087610e-02 2.298917208378683e-02 2.298558558107965e-02 + 2.298200314503575e-02 2.297842477288603e-02 2.297485046311076e-02 2.297128020911345e-02 2.296771400315858e-02 + 2.296415184168031e-02 2.296059371667762e-02 2.295703962066644e-02 2.295348955785851e-02 2.294994352217295e-02 + 2.294640149900077e-02 2.294286348264926e-02 2.293932947451599e-02 2.293579947717141e-02 2.293227347444131e-02 + 2.292875145668869e-02 2.292523342863249e-02 2.292171938675970e-02 2.291820932208030e-02 2.291470322329688e-02 + 2.291120108573121e-02 2.290770290936340e-02 2.290420869564250e-02 2.290071843254762e-02 2.289723210840996e-02 + 2.289374972996874e-02 2.289027128684278e-02 2.288679676284003e-02 2.288332616596880e-02 2.287985949623025e-02 + 2.287639674290211e-02 2.287293789614104e-02 2.286948295143698e-02 2.286603190794522e-02 2.286258475709644e-02 + 2.285914149325583e-02 2.285570211629635e-02 2.285226661817064e-02 2.284883499242224e-02 2.284540723897847e-02 + 2.284198334984975e-02 2.283856331588243e-02 2.283514713353579e-02 2.283173480111027e-02 2.282832631556901e-02 + 2.282492166909090e-02 2.282152085461623e-02 2.281812386736860e-02 2.281473070606539e-02 2.281134136558116e-02 + 2.280795583769253e-02 2.280457411713410e-02 2.280119619914733e-02 2.279782207936136e-02 2.279445175627783e-02 + 2.279108522557549e-02 2.278772247795469e-02 2.278436350274908e-02 2.278100829770330e-02 2.277765687156956e-02 + 2.277430921150676e-02 2.277096530368425e-02 2.276762515226868e-02 2.276428875675497e-02 2.276095610802096e-02 + 2.275762718728153e-02 2.275430199700514e-02 2.275098054723153e-02 2.274766282325953e-02 2.274434881806882e-02 + 2.274103853245654e-02 2.273773195657694e-02 2.273442908251650e-02 2.273112990748000e-02 2.272783443024632e-02 + 2.272454264587135e-02 2.272125454541999e-02 2.271797012768606e-02 2.271468938883630e-02 2.271141231743784e-02 + 2.270813891155475e-02 2.270486917113991e-02 2.270160309030139e-02 2.269834065991423e-02 2.269508187421201e-02 + 2.269182673791773e-02 2.268857524219826e-02 2.268532737305624e-02 2.268208313254210e-02 2.267884251722086e-02 + 2.267560551920548e-02 2.267237214108131e-02 2.266914237609957e-02 2.266591620883689e-02 2.266269364166427e-02 + 2.265947467384046e-02 2.265625929499294e-02 2.265304750285308e-02 2.264983929495161e-02 2.264663466331073e-02 + 2.264343359962570e-02 2.264023610100446e-02 2.263704217283995e-02 2.263385180078203e-02 2.263066497176033e-02 + 2.262748170200772e-02 2.262430198020481e-02 2.262112578516977e-02 2.261795313211606e-02 2.261478401664109e-02 + 2.261161841743119e-02 2.260845633522814e-02 2.260529777070043e-02 2.260214271924124e-02 2.259899117823321e-02 + 2.259584314154298e-02 2.259269859890657e-02 2.258955754741791e-02 2.258641998536936e-02 2.258328590829124e-02 + 2.258015531052365e-02 2.257702818646037e-02 2.257390453172050e-02 2.257078434461123e-02 2.256766762198980e-02 + 2.256455435398716e-02 2.256144453344060e-02 2.255833815784602e-02 2.255523523027356e-02 2.255213574452021e-02 + 2.254903968810603e-02 2.254594705829782e-02 2.254285785514665e-02 2.253977207653749e-02 2.253668970834607e-02 + 2.253361074658835e-02 2.253053520058667e-02 2.252746305460894e-02 2.252439429792020e-02 2.252132894054988e-02 + 2.251826697539277e-02 2.251520839162438e-02 2.251215318778324e-02 2.250910135797150e-02 2.250605289615611e-02 + 2.250300780314812e-02 2.249996607511807e-02 2.249692770517706e-02 2.249389268897849e-02 2.249086101912092e-02 + 2.248783268793952e-02 2.248480769791340e-02 2.248178604607573e-02 2.247876772289102e-02 2.247575272657626e-02 + 2.247274105420605e-02 2.246973269884927e-02 2.246672765673356e-02 2.246372592391256e-02 2.246072749418018e-02 + 2.245773236145919e-02 2.245474052366870e-02 2.245175198466864e-02 2.244876673416187e-02 2.244578475935081e-02 + 2.244280606154297e-02 2.243983064008646e-02 2.243685849064164e-02 2.243388960632717e-02 2.243092397966235e-02 + 2.242796160524575e-02 2.242500248562306e-02 2.242204661762487e-02 2.241909399183298e-02 2.241614460666303e-02 + 2.241319845819517e-02 2.241025553754803e-02 2.240731584245553e-02 2.240437937032112e-02 2.240144611432051e-02 + 2.239851607018801e-02 2.239558923444239e-02 2.239266560299412e-02 2.238974517661811e-02 2.238682795331298e-02 + 2.238391391839321e-02 2.238100306495051e-02 2.237809539304577e-02 2.237519090301935e-02 2.237228958954325e-02 + 2.236939144530989e-02 2.236649647337483e-02 2.236360466636645e-02 2.236071600836286e-02 2.235783050633204e-02 + 2.235494816009726e-02 2.235206895420678e-02 2.234919288912077e-02 2.234631996540050e-02 2.234345017408028e-02 + 2.234058350741709e-02 2.233771996217690e-02 2.233485954108143e-02 2.233200223848051e-02 2.232914804618978e-02 + 2.232629696222737e-02 2.232344898389008e-02 2.232060410657171e-02 2.231776232362639e-02 2.231492363175558e-02 + 2.231208802922137e-02 2.230925550831191e-02 2.230642606279709e-02 2.230359969032392e-02 2.230077639232617e-02 + 2.229795616382932e-02 2.229513899284023e-02 2.229232488215048e-02 2.228951382986107e-02 2.228670582046145e-02 + 2.228390085767177e-02 2.228109894426768e-02 2.227830006461064e-02 2.227550421765863e-02 2.227271140560883e-02 + 2.226992161633195e-02 2.226713484518715e-02 2.226435109357777e-02 2.226157036041665e-02 2.225879263594571e-02 + 2.225601790864145e-02 2.225324618600033e-02 2.225047746610503e-02 2.224771173578603e-02 2.224494899695189e-02 + 2.224218924606724e-02 2.223943246967720e-02 2.223667867147697e-02 2.223392785229840e-02 2.223117999944780e-02 + 2.222843510958861e-02 2.222569318138216e-02 2.222295420869658e-02 2.222021819230338e-02 2.221748513172378e-02 + 2.221475501403353e-02 2.221202783347761e-02 2.220930358964832e-02 2.220658227937696e-02 2.220386389978368e-02 + 2.220114844711944e-02 2.219843591216284e-02 2.219572629440826e-02 2.219301959936691e-02 2.219031581219321e-02 + 2.218761492468887e-02 2.218491694233576e-02 2.218222185562244e-02 2.217952965986671e-02 2.217684036403281e-02 + 2.217415395419634e-02 2.217147041795686e-02 2.216878976537657e-02 2.216611199005385e-02 2.216343708084910e-02 + 2.216076504044857e-02 2.215809586407636e-02 2.215542954392592e-02 2.215276608232491e-02 2.215010547339664e-02 + 2.214744770611955e-02 2.214479278225410e-02 2.214214070177000e-02 2.213949145934428e-02 2.213684504847090e-02 + 2.213420146383213e-02 2.213156070201421e-02 2.212892275987791e-02 2.212628763520102e-02 2.212365532631548e-02 + 2.212102582567219e-02 2.211839912707401e-02 2.211577523186081e-02 2.211315413883962e-02 2.211053584219323e-02 + 2.210792033053083e-02 2.210530760247808e-02 2.210269766011106e-02 2.210009049378774e-02 2.209748609987134e-02 + 2.209488448015577e-02 2.209228563063591e-02 2.208968954607055e-02 2.208709622107550e-02 2.208450564887732e-02 + 2.208191782589816e-02 2.207933275252874e-02 2.207675042560285e-02 2.207417084119970e-02 2.207159399606388e-02 + 2.206901988424427e-02 2.206644850045388e-02 2.206387984291528e-02 2.206131390816773e-02 2.205875069196218e-02 + 2.205619019101501e-02 2.205363240248722e-02 2.205107732226570e-02 2.204852494231603e-02 2.204597526222870e-02 + 2.204342828418220e-02 2.204088399409952e-02 2.203834238815479e-02 2.203580347352047e-02 2.203326724064265e-02 + 2.203073368487589e-02 2.202820281109562e-02 2.202567460568826e-02 2.202314905892956e-02 2.202062617713913e-02 + 2.201810595951965e-02 2.201558839960293e-02 2.201307348855861e-02 2.201056122699519e-02 2.200805161543166e-02 + 2.200554464185156e-02 2.200304030240887e-02 2.200053859846551e-02 2.199803952619762e-02 2.199554308107517e-02 + 2.199304925941878e-02 2.199055805969111e-02 2.198806947716193e-02 2.198558350490501e-02 2.198310014348315e-02 + 2.198061939050182e-02 2.197814123774413e-02 2.197566568143648e-02 2.197319271829654e-02 2.197072234409288e-02 + 2.196825456242376e-02 2.196578937054303e-02 2.196332674903257e-02 2.196086670076693e-02 2.195840923401799e-02 + 2.195595433798292e-02 2.195350200785295e-02 2.195105224287541e-02 2.194860503638501e-02 2.194616038337459e-02 + 2.194371828086876e-02 2.194127872478465e-02 2.193884171275727e-02 2.193640724439015e-02 2.193397531871202e-02 + 2.193154592984012e-02 2.192911906730429e-02 2.192669472874541e-02 2.192427291582612e-02 2.192185362988310e-02 + 2.191943685926103e-02 2.191702259589666e-02 2.191461084837004e-02 2.191220161094460e-02 2.190979487232746e-02 + 2.190739062981033e-02 2.190498888177591e-02 2.190258962778606e-02 2.190019287048831e-02 2.189779860038415e-02 + 2.189540680312951e-02 2.189301748590321e-02 2.189063064823816e-02 2.188824627921663e-02 2.188586438035036e-02 + 2.188348494945867e-02 2.188110797669410e-02 2.187873346273279e-02 2.187636140793982e-02 2.187399180563438e-02 + 2.187162464701073e-02 2.186925992764394e-02 2.186689765219864e-02 2.186453782016761e-02 2.186218042520733e-02 + 2.185982545624109e-02 2.185747291143151e-02 2.185512279286289e-02 2.185277509428750e-02 2.185042981497303e-02 + 2.184808695595145e-02 2.184574650317918e-02 2.184340845337333e-02 2.184107281435048e-02 2.183873957690715e-02 + 2.183640873122354e-02 2.183408027442373e-02 2.183175421068970e-02 2.182943053984947e-02 2.182710925220595e-02 + 2.182479034512406e-02 2.182247381639650e-02 2.182015965839264e-02 2.181784786935527e-02 2.181553844939510e-02 + 2.181323139439093e-02 2.181092669994856e-02 2.180862436262286e-02 2.180632438083940e-02 2.180402674952244e-02 + 2.180173146217098e-02 2.179943851892379e-02 2.179714791838810e-02 2.179485965603752e-02 2.179257372764807e-02 + 2.179029013045416e-02 2.178800886254997e-02 2.178572991731780e-02 2.178345329019238e-02 2.178117898198011e-02 + 2.177890698980304e-02 2.177663730909087e-02 2.177436993586566e-02 2.177210486810286e-02 2.176984210277431e-02 + 2.176758163245009e-02 2.176532345522340e-02 2.176306757137086e-02 2.176081397536724e-02 2.175856266623576e-02 + 2.175631364444715e-02 2.175406689861889e-02 2.175182242380624e-02 2.174958022311289e-02 2.174734029291431e-02 + 2.174510262809328e-02 2.174286722491656e-02 2.174063408336708e-02 2.173840320169586e-02 2.173617457340815e-02 + 2.173394819180500e-02 2.173172405255836e-02 2.172950215559655e-02 2.172728250040623e-02 2.172506508580887e-02 + 2.172284990969628e-02 2.172063696250313e-02 2.171842623537083e-02 2.171621773566752e-02 2.171401146093844e-02 + 2.171180740120238e-02 2.170960555830954e-02 2.170740592901658e-02 2.170520850408856e-02 2.170301328419004e-02 + 2.170082027006994e-02 2.169862945830807e-02 2.169644084240343e-02 2.169425441572978e-02 2.169207017401216e-02 + 2.168988812007480e-02 2.168770825534887e-02 2.168553057272023e-02 2.168335506533793e-02 2.168118172867985e-02 + 2.167901056214399e-02 2.167684156632982e-02 2.167467473989915e-02 2.167251007478243e-02 2.167034756604321e-02 + 2.166818721221639e-02 2.166602901099679e-02 2.166387295840019e-02 2.166171905012346e-02 2.165956728718834e-02 + 2.165741766632386e-02 2.165527017845730e-02 2.165312482355555e-02 2.165098160273919e-02 2.164884051303741e-02 + 2.164670154730472e-02 2.164456469954934e-02 2.164242996946321e-02 2.164029735885670e-02 2.163816686523918e-02 + 2.163603847533059e-02 2.163391219068715e-02 2.163178801684997e-02 2.162966593882407e-02 2.162754595404139e-02 + 2.162542806873079e-02 2.162331227177066e-02 2.162119856181649e-02 2.161908694674025e-02 2.161697741144211e-02 + 2.161486994763257e-02 2.161276456243416e-02 2.161066125301312e-02 2.160856001324272e-02 2.160646083892226e-02 + 2.160436373197112e-02 2.160226869104043e-02 2.160017570438035e-02 2.159808476849354e-02 2.159599588501710e-02 + 2.159390905460169e-02 2.159182427010056e-02 2.158974152429478e-02 2.158766082444429e-02 2.158558216760809e-02 + 2.158350554187339e-02 2.158143094233737e-02 2.157935837033232e-02 2.157728782941571e-02 2.157521931196140e-02 + 2.157315281164952e-02 2.157108832745493e-02 2.156902585566251e-02 2.156696539445298e-02 2.156490694526656e-02 + 2.156285049964247e-02 2.156079605212440e-02 2.155874360997529e-02 2.155669316474123e-02 2.155464470676604e-02 + 2.155259824484399e-02 2.155055377365348e-02 2.154851128035285e-02 2.154647076406023e-02 2.154443222886153e-02 + 2.154239567713112e-02 2.154036109691455e-02 2.153832848380287e-02 2.153629784162443e-02 2.153426916110383e-02 + 2.153224243839968e-02 2.153021767928900e-02 2.152819487735599e-02 2.152617402486068e-02 2.152415511969989e-02 + 2.152213816346627e-02 2.152012315489333e-02 2.151811008517867e-02 2.151609895106827e-02 2.151408975350627e-02 + 2.151208249405811e-02 2.151007716412923e-02 2.150807375412716e-02 2.150607227139823e-02 2.150407271389111e-02 + 2.150207507178008e-02 2.150007934512424e-02 2.149808553345600e-02 2.149609363244227e-02 2.149410363369511e-02 + 2.149211553597770e-02 2.149012934592863e-02 2.148814505588094e-02 2.148616265955859e-02 2.148418215959600e-02 + 2.148220354775919e-02 2.148022681859241e-02 2.147825198020547e-02 2.147627902590631e-02 2.147430794498996e-02 + 2.147233873858447e-02 2.147037140717467e-02 2.146840594879004e-02 2.146644235912430e-02 2.146448063553682e-02 + 2.146252077578778e-02 2.146056277288728e-02 2.145860662318243e-02 2.145665232726965e-02 2.145469988438242e-02 + 2.145274929256557e-02 2.145080054831608e-02 2.144885364454498e-02 2.144690857746641e-02 2.144496534942983e-02 + 2.144302395654175e-02 2.144108439499599e-02 2.143914666610025e-02 2.143721076355154e-02 2.143527668029283e-02 + 2.143334441800114e-02 2.143141397685691e-02 2.142948535268880e-02 2.142755853497146e-02 2.142563352602930e-02 + 2.142371033388222e-02 2.142178894500280e-02 2.141986935358769e-02 2.141795156402302e-02 2.141603556793572e-02 + 2.141412136230918e-02 2.141220895321441e-02 2.141029833297722e-02 2.140838949470163e-02 2.140648244009975e-02 + 2.140457716697424e-02 2.140267367166504e-02 2.140077195168551e-02 2.139887200433115e-02 2.139697382547902e-02 + 2.139507740888590e-02 2.139318275720074e-02 2.139128987343195e-02 2.138939874415982e-02 2.138750936775835e-02 + 2.138562175102568e-02 2.138373588641631e-02 2.138185176599392e-02 2.137996938652284e-02 2.137808875223814e-02 + 2.137620986251236e-02 2.137433270909064e-02 2.137245728978030e-02 2.137058360186242e-02 2.136871163953864e-02 + 2.136684140688612e-02 2.136497290390506e-02 2.136310611597474e-02 2.136124104345297e-02 2.135937769212130e-02 + 2.135751605860686e-02 2.135565613610374e-02 2.135379791822062e-02 2.135194140402438e-02 2.135008659417071e-02 + 2.134823348788390e-02 2.134638207760105e-02 2.134453236032835e-02 2.134268433814086e-02 2.134083800772077e-02 + 2.133899336411597e-02 2.133715040305821e-02 2.133530912424798e-02 2.133346952672500e-02 2.133163160670673e-02 + 2.132979536297411e-02 2.132796079152963e-02 2.132612788229375e-02 2.132429663915477e-02 2.132246706798375e-02 + 2.132063916037057e-02 2.131881290769116e-02 2.131698830582932e-02 2.131516535978050e-02 2.131334407028698e-02 + 2.131152443198118e-02 2.130970643552249e-02 2.130789007885127e-02 2.130607536669811e-02 2.130426229682303e-02 + 2.130245086421657e-02 2.130064106313053e-02 2.129883288837854e-02 2.129702633875496e-02 2.129522141788389e-02 + 2.129341812290223e-02 2.129161644909972e-02 2.128981639414264e-02 2.128801795585396e-02 2.128622113110773e-02 + 2.128442591509673e-02 2.128263230760480e-02 2.128084030772261e-02 2.127904990395241e-02 2.127726109953179e-02 + 2.127547390424031e-02 2.127368830171838e-02 2.127190428479188e-02 2.127012186038021e-02 2.126834102886177e-02 + 2.126656178481652e-02 2.126478411995624e-02 2.126300803603507e-02 2.126123353191450e-02 2.125946059821390e-02 + 2.125768923851055e-02 2.125591945439615e-02 2.125415123382016e-02 2.125238457915817e-02 2.125061949358618e-02 + 2.124885596288304e-02 2.124709398735697e-02 2.124533357303348e-02 2.124357470952245e-02 2.124181739435340e-02 + 2.124006163206048e-02 2.123830741948956e-02 2.123655475001017e-02 2.123480361731545e-02 2.123305402409987e-02 + 2.123130596739953e-02 2.122955943693203e-02 2.122781443910126e-02 2.122607097723360e-02 2.122432904130337e-02 + 2.122258862659696e-02 2.122084973282204e-02 2.121911236175234e-02 2.121737650789419e-02 2.121564216387619e-02 + 2.121390932803162e-02 2.121217800425756e-02 2.121044819455527e-02 2.120871988671843e-02 2.120699307684077e-02 + 2.120526776795157e-02 2.120354395552526e-02 2.120182163603621e-02 2.120010080901829e-02 2.119838147500087e-02 + 2.119666363123091e-02 2.119494727091758e-02 2.119323238927472e-02 2.119151898655034e-02 2.118980706773010e-02 + 2.118809662574528e-02 2.118638765303925e-02 2.118468015121633e-02 2.118297411864271e-02 2.118126955146517e-02 + 2.117956644637810e-02 2.117786480292237e-02 2.117616462067450e-02 2.117446589411339e-02 2.117276862084477e-02 + 2.117107280130004e-02 2.116937843379139e-02 2.116768551256503e-02 2.116599403067535e-02 2.116430399205533e-02 + 2.116261539753040e-02 2.116092824074994e-02 2.115924251858398e-02 2.115755822756320e-02 2.115587536308644e-02 + 2.115419393062315e-02 2.115251393109511e-02 2.115083534999197e-02 2.114915818684827e-02 2.114748244571777e-02 + 2.114580812117730e-02 2.114413521000233e-02 2.114246371011731e-02 2.114079361630021e-02 2.113912493113981e-02 + 2.113745765864524e-02 2.113579178347091e-02 2.113412730283017e-02 2.113246422731517e-02 2.113080255018658e-02 + 2.112914226466844e-02 2.112748336987266e-02 2.112582586239263e-02 2.112416973838773e-02 2.112251499585494e-02 + 2.112086163946853e-02 2.111920966923609e-02 2.111755907231158e-02 2.111590984741022e-02 2.111426199652882e-02 + 2.111261551330255e-02 2.111097039854193e-02 2.110932665501722e-02 2.110768427494188e-02 2.110604325159932e-02 + 2.110440358337455e-02 2.110276527755971e-02 2.110112832954347e-02 2.109949272542061e-02 2.109785847270291e-02 + 2.109622557382813e-02 2.109459401840321e-02 2.109296380279178e-02 2.109133492634166e-02 2.108970738897449e-02 + 2.108808119187406e-02 2.108645633261542e-02 2.108483280177793e-02 2.108321059649476e-02 2.108158971816587e-02 + 2.107997016818712e-02 2.107835194176262e-02 2.107673503228282e-02 2.107511943992769e-02 2.107350516482023e-02 + 2.107189220511111e-02 2.107028055587330e-02 2.106867021606288e-02 2.106706118735907e-02 2.106545346293816e-02 + 2.106384703796383e-02 2.106224191316689e-02 2.106063808955507e-02 2.105903556250238e-02 2.105743432153898e-02 + 2.105583437513380e-02 2.105423572746437e-02 2.105263836035830e-02 2.105104227142354e-02 2.104944746729932e-02 + 2.104785395134047e-02 2.104626171573087e-02 2.104467074966839e-02 2.104308105452007e-02 2.104149263222363e-02 + 2.103990548218236e-02 2.103831959968388e-02 2.103673498293864e-02 2.103515163200819e-02 2.103356953798411e-02 + 2.103198869775456e-02 2.103040911733209e-02 2.102883079574534e-02 2.102725372695269e-02 2.102567790273802e-02 + 2.102410332486244e-02 2.102252999507990e-02 2.102095790737760e-02 2.101938706174730e-02 2.101781745879964e-02 + 2.101624909192282e-02 2.101468195450770e-02 2.101311604447429e-02 2.101155137000445e-02 2.100998792857284e-02 + 2.100842571064132e-02 2.100686471849675e-02 2.100530495078897e-02 2.100374640001838e-02 2.100218906014547e-02 + 2.100063293273019e-02 2.099907802537045e-02 2.099752433031871e-02 2.099597184169578e-02 2.099442056340826e-02 + 2.099287048844137e-02 2.099132161182849e-02 2.098977394056553e-02 2.098822746767990e-02 2.098668218492037e-02 + 2.098513809937855e-02 2.098359520656010e-02 2.098205349870481e-02 2.098051298433238e-02 2.097897365788888e-02 + 2.097743550607582e-02 2.097589853771057e-02 2.097436275317134e-02 2.097282814179318e-02 2.097129470444368e-02 + 2.096976244194844e-02 2.096823135057212e-02 2.096670142502171e-02 2.096517266432222e-02 2.096364507294766e-02 + 2.096211864290872e-02 2.096059336882086e-02 2.095906925902597e-02 2.095754630598820e-02 2.095602449947026e-02 + 2.095450384463222e-02 2.095298434369944e-02 2.095146599313072e-02 2.094994878341327e-02 2.094843271500539e-02 + 2.094691779352117e-02 2.094540401073429e-02 2.094389136288097e-02 2.094237985194064e-02 2.094086947133280e-02 + 2.093936021927527e-02 2.093785210108921e-02 2.093634511142213e-02 2.093483924325246e-02 2.093333449385128e-02 + 2.093183086645815e-02 2.093032836253444e-02 2.092882697593887e-02 2.092732670311165e-02 2.092582754108962e-02 + 2.092432948474122e-02 2.092283253800634e-02 2.092133670446908e-02 2.091984196956714e-02 2.091834833166288e-02 + 2.091685579922333e-02 2.091536436905392e-02 2.091387403364116e-02 2.091238478662568e-02 2.091089663391256e-02 + 2.090940957508328e-02 2.090792359986955e-02 2.090643871032298e-02 2.090495490818039e-02 2.090347218811059e-02 + 2.090199054718417e-02 2.090050998308706e-02 2.089903049243704e-02 2.089755207414248e-02 2.089607472810411e-02 + 2.089459845325996e-02 2.089312324594328e-02 2.089164910255710e-02 2.089017602427597e-02 2.088870401009232e-02 + 2.088723305634642e-02 2.088576315893389e-02 2.088429431601771e-02 2.088282652696964e-02 2.088135978615913e-02 + 2.087989409321534e-02 2.087842945395569e-02 2.087696586275656e-02 2.087550331287119e-02 2.087404180207852e-02 + 2.087258132736208e-02 2.087112188861259e-02 2.086966349090147e-02 2.086820612891688e-02 2.086674979608584e-02 + 2.086529449590395e-02 2.086384022331517e-02 2.086238697045790e-02 2.086093474039187e-02 2.085948353444753e-02 + 2.085803335091995e-02 2.085658418796912e-02 2.085513604081134e-02 2.085368890289571e-02 2.085224277300881e-02 + 2.085079765267601e-02 2.084935354393509e-02 2.084791044341373e-02 2.084646834711395e-02 2.084502725286095e-02 + 2.084358715744794e-02 2.084214805848912e-02 2.084070995598070e-02 2.083927284909677e-02 2.083783673573611e-02 + 2.083640161226469e-02 2.083496747523998e-02 2.083353432223483e-02 2.083210215303235e-02 2.083067096927498e-02 + 2.082924077044086e-02 2.082781154460241e-02 2.082638329211299e-02 2.082495602309350e-02 2.082352972509603e-02 + 2.082210439277076e-02 2.082068003454410e-02 2.081925664261260e-02 2.081783421113447e-02 2.081641274508624e-02 + 2.081499224082686e-02 2.081357269450268e-02 2.081215410878219e-02 2.081073647873721e-02 2.080931979776872e-02 + 2.080790406592918e-02 2.080648928500749e-02 2.080507545608266e-02 2.080366257645188e-02 2.080225063919177e-02 + 2.080083963814898e-02 2.079942957984240e-02 2.079802046255642e-02 2.079661227641324e-02 2.079520502452446e-02 + 2.079379870732677e-02 2.079239331877295e-02 2.079098886066600e-02 2.078958533155146e-02 2.078818272238310e-02 + 2.078678103594075e-02 2.078538027480030e-02 2.078398043169412e-02 2.078258150517176e-02 2.078118349582184e-02 + 2.077978640032045e-02 2.077839021518007e-02 2.077699493798996e-02 2.077560056860569e-02 2.077420710626992e-02 + 2.077281454908150e-02 2.077142289397691e-02 2.077003213665487e-02 2.076864227381708e-02 2.076725331084939e-02 + 2.076586524753700e-02 2.076447807479244e-02 2.076309178893910e-02 2.076170639200464e-02 2.076032188924749e-02 + 2.075893827075576e-02 2.075755552867013e-02 2.075617367037054e-02 2.075479269394757e-02 2.075341259415677e-02 + 2.075203337133167e-02 2.075065502119062e-02 2.074927754004291e-02 2.074790093527532e-02 2.074652520196147e-02 + 2.074515032814618e-02 2.074377631824518e-02 2.074240317461906e-02 2.074103089389617e-02 2.073965947285912e-02 + 2.073828890806665e-02 2.073691919635770e-02 2.073555033844026e-02 2.073418233381763e-02 2.073281517823886e-02 + 2.073144886803073e-02 2.073008340377233e-02 2.072871879147831e-02 2.072735502222402e-02 2.072599208688765e-02 + 2.072462999392301e-02 2.072326873860233e-02 2.072190831224300e-02 2.072054872378210e-02 2.071918997148765e-02 + 2.071783204556565e-02 2.071647494755481e-02 2.071511867766477e-02 2.071376323196711e-02 2.071240860565183e-02 + 2.071105479791370e-02 2.070970181180314e-02 2.070834964331268e-02 2.070699828917085e-02 2.070564775075080e-02 + 2.070429802727900e-02 2.070294911380581e-02 2.070160100113699e-02 2.070025369244763e-02 2.069890719322030e-02 + 2.069756149841416e-02 2.069621660331007e-02 2.069487250616514e-02 2.069352920972353e-02 2.069218670843115e-02 + 2.069084499406914e-02 2.068950407478504e-02 2.068816395008570e-02 2.068682460979861e-02 2.068548605525363e-02 + 2.068414828647597e-02 2.068281129879088e-02 2.068147509294542e-02 2.068013966727868e-02 2.067880501481977e-02 + 2.067747113766845e-02 2.067613803889334e-02 2.067480571527677e-02 2.067347415977921e-02 2.067214336769299e-02 + 2.067081334319025e-02 2.066948408776949e-02 2.066815559807265e-02 2.066682786498898e-02 2.066550088830383e-02 + 2.066417467341183e-02 2.066284921698086e-02 2.066152451475288e-02 2.066020056372571e-02 2.065887736182303e-02 + 2.065755490839281e-02 2.065623320354572e-02 2.065491224367795e-02 2.065359202675738e-02 2.065227255436574e-02 + 2.065095382314874e-02 2.064963582941213e-02 2.064831857270797e-02 2.064700204957123e-02 2.064568625651786e-02 + 2.064437119414936e-02 2.064305686324694e-02 2.064174326345409e-02 2.064043039179931e-02 2.063911824280925e-02 + 2.063780681176866e-02 2.063649610237503e-02 2.063518611610314e-02 2.063387684909248e-02 2.063256829217405e-02 + 2.063126044539576e-02 2.062995331851188e-02 2.062864690334512e-02 2.062734119190086e-02 2.062603618600375e-02 + 2.062473188642144e-02 2.062342829221786e-02 2.062212540064643e-02 2.062082320714733e-02 2.061952170915304e-02 + 2.061822091004314e-02 2.061692080716460e-02 2.061562139605911e-02 2.061432267954307e-02 2.061302465323251e-02 + 2.061172730955065e-02 2.061043065371613e-02 2.060913468523504e-02 2.060783939685846e-02 2.060654478913799e-02 + 2.060525086119714e-02 2.060395760866959e-02 2.060266503271371e-02 2.060137313244415e-02 2.060008190215519e-02 + 2.059879134465455e-02 2.059750146004468e-02 2.059621223782829e-02 2.059492368052522e-02 2.059363579225837e-02 + 2.059234856405708e-02 2.059106199328788e-02 2.058977608130871e-02 2.058849082556723e-02 2.058720622498806e-02 + 2.058592227959311e-02 2.058463898696043e-02 2.058335634281647e-02 2.058207434376584e-02 2.058079299573017e-02 + 2.057951229614279e-02 2.057823223269817e-02 2.057695281356401e-02 2.057567404187197e-02 2.057439590387300e-02 + 2.057311839681732e-02 2.057184152455586e-02 2.057056529173392e-02 2.056928969078429e-02 2.056801471376779e-02 + 2.056674036634529e-02 2.056546664830153e-02 2.056419355486686e-02 2.056292108306100e-02 2.056164923170236e-02 + 2.056037800067255e-02 2.055910738924650e-02 2.055783739340399e-02 2.055656800859636e-02 2.055529924146672e-02 + 2.055403109005562e-02 2.055276354110791e-02 2.055149659755915e-02 2.055023026272679e-02 2.054896453244645e-02 + 2.054769940766287e-02 2.054643488681757e-02 2.054517096062926e-02 2.054390763218316e-02 2.054264490512525e-02 + 2.054138276915942e-02 2.054012122328143e-02 2.053886027085424e-02 2.053759990682471e-02 2.053634012878631e-02 + 2.053508093799464e-02 2.053382233647706e-02 2.053256431985532e-02 2.053130687980379e-02 2.053005001911220e-02 + 2.052879373804411e-02 2.052753803104820e-02 2.052628289842169e-02 2.052502834052905e-02 2.052377435424499e-02 + 2.052252093383405e-02 2.052126807833591e-02 2.052001579579881e-02 2.051876408076618e-02 2.051751292558091e-02 + 2.051626233431153e-02 2.051501230108543e-02 2.051376281904528e-02 2.051251389905356e-02 2.051126553806812e-02 + 2.051001772450580e-02 2.050877046477720e-02 2.050752375748313e-02 2.050627759308629e-02 2.050503197764233e-02 + 2.050378691120845e-02 2.050254238346269e-02 2.050129839647772e-02 2.050005495152270e-02 2.049881204279591e-02 + 2.049756967049427e-02 2.049632783497685e-02 2.049508653204386e-02 2.049384576061373e-02 2.049260552085964e-02 + 2.049136581124810e-02 2.049012662828215e-02 2.048888796855573e-02 2.048764983217528e-02 2.048641222055239e-02 + 2.048517513365279e-02 2.048393856449956e-02 2.048270250702790e-02 2.048146696002243e-02 2.048023193267689e-02 + 2.047899742444990e-02 2.047776342204647e-02 2.047652992557144e-02 2.047529693666283e-02 2.047406445284291e-02 + 2.047283247820367e-02 2.047160101124722e-02 2.047037003705319e-02 2.046913955996649e-02 2.046790958805229e-02 + 2.046668011290463e-02 2.046545112747173e-02 2.046422263048016e-02 2.046299462941648e-02 2.046176712182623e-02 + 2.046054009863872e-02 2.045931356011635e-02 2.045808750875261e-02 2.045686194483555e-02 2.045563685869128e-02 + 2.045441224888558e-02 2.045318812405373e-02 2.045196447539730e-02 2.045074129851060e-02 2.044951860203706e-02 + 2.044829637561388e-02 2.044707461146781e-02 2.044585332076453e-02 2.044463250090934e-02 2.044341214478788e-02 + 2.044219225389736e-02 2.044097282684260e-02 2.043975385980242e-02 2.043853534979080e-02 2.043731729516990e-02 + 2.043609969584751e-02 2.043488255365452e-02 2.043366586840525e-02 2.043244963622695e-02 2.043123384788510e-02 + 2.043001850356880e-02 2.042880361352058e-02 2.042758917125052e-02 2.042637516923373e-02 2.042516160738241e-02 + 2.042394848596822e-02 2.042273580364956e-02 2.042152355668345e-02 2.042031174421715e-02 2.041910036711696e-02 + 2.041788942589821e-02 2.041667891618270e-02 2.041546883283581e-02 2.041425917723074e-02 2.041304994671302e-02 + 2.041184113736942e-02 2.041063275507356e-02 2.040942479864618e-02 2.040821725911453e-02 2.040701013329647e-02 + 2.040580342336421e-02 2.040459713364973e-02 2.040339125626194e-02 2.040218578748979e-02 2.040098073437600e-02 + 2.039977609190064e-02 2.039857185194057e-02 2.039736801200263e-02 2.039616457948628e-02 2.039496155847034e-02 + 2.039375893548800e-02 2.039255670811317e-02 2.039135487906758e-02 2.039015344139171e-02 2.038895239754324e-02 + 2.038775175394349e-02 2.038655150008423e-02 2.038535163468296e-02 2.038415216492024e-02 2.038295307932101e-02 + 2.038175437156158e-02 2.038055604740632e-02 2.037935811014152e-02 2.037816055719221e-02 2.037696338008003e-02 + 2.037576657774965e-02 2.037457015197002e-02 2.037337410306159e-02 2.037217842811476e-02 2.037098312337542e-02 + 2.036978818702816e-02 2.036859361901312e-02 2.036739941883561e-02 2.036620558232109e-02 2.036501210897116e-02 + 2.036381899981477e-02 2.036262624936801e-02 2.036143385733716e-02 2.036024182706139e-02 2.035905014947786e-02 + 2.035785882153747e-02 2.035666784977269e-02 2.035547723079831e-02 2.035428696142468e-02 2.035309704319765e-02 + 2.035190747134853e-02 2.035071824110532e-02 2.034952935293085e-02 2.034834080749865e-02 2.034715260430401e-02 + 2.034596474052595e-02 2.034477721202228e-02 2.034359001578161e-02 2.034240315367684e-02 2.034121662664043e-02 + 2.034003043357028e-02 2.033884457132868e-02 2.033765903741480e-02 2.033647382949949e-02 2.033528894162872e-02 + 2.033410437471255e-02 2.033292013620119e-02 2.033173621775026e-02 2.033055261459435e-02 2.032936933387398e-02 + 2.032818637173341e-02 2.032700371995237e-02 2.032582137330103e-02 2.032463934032926e-02 2.032345762721536e-02 + 2.032227621977112e-02 2.032109511380310e-02 2.031991431266943e-02 2.031873381713771e-02 2.031755362367381e-02 + 2.031637372822898e-02 2.031519413522404e-02 2.031401484060572e-02 2.031283583475656e-02 2.031165712768451e-02 + 2.031047872082618e-02 2.030930060067025e-02 2.030812276414845e-02 2.030694521582938e-02 2.030576796297434e-02 + 2.030459099391277e-02 2.030341430130414e-02 2.030223789822972e-02 2.030106177803277e-02 2.029988592949474e-02 + 2.029871035725545e-02 2.029753506661443e-02 2.029636005659757e-02 2.029518531267896e-02 2.029401083596470e-02 + 2.029283663654064e-02 2.029166270589052e-02 2.029048903923464e-02 2.028931563858370e-02 2.028814250195392e-02 + 2.028696962711050e-02 2.028579701358946e-02 2.028462466440920e-02 2.028345257575578e-02 2.028228073462766e-02 + 2.028110914546667e-02 2.027993781542017e-02 2.027876674182124e-02 2.027759591671596e-02 2.027642533515473e-02 + 2.027525500323221e-02 2.027408491983729e-02 2.027291508043819e-02 2.027174548650143e-02 2.027057613494678e-02 + 2.026940701983228e-02 2.026823814087089e-02 2.026706949898955e-02 2.026590109425394e-02 2.026473292320746e-02 + 2.026356498366547e-02 2.026239727592488e-02 2.026122979922282e-02 2.026006255023894e-02 2.025889552388743e-02 + 2.025772872449768e-02 2.025656215399196e-02 2.025539580342713e-02 2.025422967119250e-02 2.025306375830951e-02 + 2.025189806183918e-02 2.025073258129647e-02 2.024956731656576e-02 2.024840226339874e-02 2.024723742127980e-02 + 2.024607279125879e-02 2.024490836776212e-02 2.024374415071052e-02 2.024258014353189e-02 2.024141633571028e-02 + 2.024025272656142e-02 2.023908932762591e-02 2.023792612793740e-02 2.023676312010299e-02 2.023560031179207e-02 + 2.023443769779265e-02 2.023327527310789e-02 2.023211304323675e-02 2.023095100708355e-02 2.022978916007167e-02 + 2.022862749919407e-02 2.022746602379288e-02 2.022630473371739e-02 2.022514362648272e-02 2.022398270121405e-02 + 2.022282195791762e-02 2.022166139402294e-02 2.022050100551405e-02 2.021934078921764e-02 2.021818074920451e-02 + 2.021702088593813e-02 2.021586119314628e-02 2.021470166428228e-02 2.021354230080554e-02 2.021238311308448e-02 + 2.021122409287018e-02 2.021006523025651e-02 2.020890652716039e-02 2.020774798484683e-02 2.020658960393083e-02 + 2.020543138529554e-02 2.020427332378045e-02 2.020311541298552e-02 2.020195765397637e-02 2.020080004744672e-02 + 2.019964259236717e-02 2.019848528642001e-02 2.019732812869024e-02 2.019617111926010e-02 2.019501425544548e-02 + 2.019385753379127e-02 2.019270095135025e-02 2.019154450793482e-02 2.019038820298517e-02 2.018923203417478e-02 + 2.018807600019563e-02 2.018692010151906e-02 2.018576433995726e-02 2.018460870891364e-02 2.018345320296787e-02 + 2.018229782843392e-02 2.018114258172615e-02 2.017998745649097e-02 2.017883245877245e-02 2.017767758620927e-02 + 2.017652283054322e-02 2.017536819223788e-02 2.017421367319040e-02 2.017305927292809e-02 2.017190498313902e-02 + 2.017075080461503e-02 2.016959674752286e-02 2.016844280049332e-02 2.016728895684716e-02 2.016613522539111e-02 + 2.016498159847723e-02 2.016382807033869e-02 2.016267465040216e-02 2.016152133310211e-02 2.016036811076429e-02 + 2.015921498985646e-02 2.015806197025070e-02 2.015690904702832e-02 2.015575621731957e-02 2.015460347791708e-02 + 2.015345082711757e-02 2.015229826996444e-02 2.015114580452791e-02 2.014999342256183e-02 2.014884112402139e-02 + 2.014768891079059e-02 2.014653678283008e-02 2.014538473229735e-02 2.014423275838842e-02 2.014308087159530e-02 + 2.014192906336537e-02 2.014077732405132e-02 2.013962565684693e-02 2.013847406112768e-02 2.013732253607323e-02 + 2.013617108558620e-02 2.013501970367529e-02 2.013386838304751e-02 2.013271713092954e-02 2.013156594450895e-02 + 2.013041481517404e-02 2.012926374836556e-02 2.012811274375330e-02 2.012696179396415e-02 2.012581089842930e-02 + 2.012466005832842e-02 2.012350927388322e-02 2.012235854139777e-02 2.012120785897021e-02 2.012005722808521e-02 + 2.011890664240422e-02 2.011775609861771e-02 2.011660560342765e-02 2.011545514995805e-02 2.011430473248947e-02 + 2.011315436328775e-02 2.011200403690588e-02 2.011085374071231e-02 2.010970347811273e-02 2.010855325123000e-02 + 2.010740305829795e-02 2.010625289543029e-02 2.010510276184403e-02 2.010395265874816e-02 2.010280258124321e-02 + 2.010165252783862e-02 2.010050250168409e-02 2.009935249835288e-02 2.009820251528310e-02 2.009705255512517e-02 + 2.009590261098061e-02 2.009475267797075e-02 2.009360276160796e-02 2.009245286068316e-02 2.009130297235736e-02 + 2.009015309860190e-02 2.008900323371492e-02 2.008785337125678e-02 2.008670351711407e-02 2.008555367122358e-02 + 2.008440382812401e-02 2.008325398588614e-02 2.008210414433437e-02 2.008095430334925e-02 2.007980445913736e-02 + 2.007865461009197e-02 2.007750475755383e-02 2.007635489836262e-02 2.007520502856765e-02 2.007405514609401e-02 + 2.007290525369839e-02 2.007175535352643e-02 2.007060544261636e-02 2.006945551378952e-02 2.006830556246986e-02 + 2.006715559358176e-02 2.006600560685722e-02 2.006485559907452e-02 2.006370557035152e-02 2.006255552017783e-02 + 2.006140544519211e-02 2.006025533608720e-02 2.005910519424486e-02 2.005795502866486e-02 2.005680483150780e-02 + 2.005565460068358e-02 2.005450434307724e-02 2.005335404752871e-02 2.005220370751987e-02 2.005105333078331e-02 + 2.004990291380246e-02 2.004875245256121e-02 2.004760195075808e-02 2.004645140541610e-02 2.004530081249103e-02 + 2.004415017386308e-02 2.004299948719255e-02 2.004184874893760e-02 2.004069796075558e-02 2.003954711861807e-02 + 2.003839621652469e-02 2.003724525928808e-02 2.003609424691447e-02 2.003494317431652e-02 2.003379204407136e-02 + 2.003264085311753e-02 2.003148959193977e-02 2.003033826577724e-02 2.002918687817827e-02 2.002803542325049e-02 + 2.002688389828578e-02 2.002573230084169e-02 2.002458062668545e-02 2.002342887779152e-02 2.002227705716231e-02 + 2.002112516254241e-02 2.001997318998642e-02 2.001882113644655e-02 2.001766900292078e-02 2.001651678857442e-02 + 2.001536448981540e-02 2.001421210083374e-02 2.001305962366636e-02 2.001190706486020e-02 2.001075441600587e-02 + 2.000960167234195e-02 2.000844883687991e-02 2.000729590520412e-02 2.000614287591466e-02 2.000498975435740e-02 + 2.000383653574291e-02 2.000268321490327e-02 2.000152979351511e-02 2.000037626872929e-02 1.999922263743778e-02 + 1.999806890154111e-02 1.999691505794393e-02 1.999576110265488e-02 1.999460703886217e-02 1.999345286480270e-02 + 1.999229857569377e-02 1.999114417297134e-02 1.998998965543275e-02 1.998883501902821e-02 1.998768026399775e-02 + 1.998652538946059e-02 1.998537039260291e-02 1.998421527483334e-02 1.998306003351848e-02 1.998190465988335e-02 + 1.998074915750420e-02 1.997959352937345e-02 1.997843776879367e-02 1.997728187765045e-02 1.997612585705249e-02 + 1.997496969649909e-02 1.997381339760593e-02 1.997265696528752e-02 1.997150039002939e-02 1.997034367059401e-02 + 1.996918681208352e-02 1.996802981226081e-02 1.996687266788810e-02 1.996571537594770e-02 1.996455793197006e-02 + 1.996340033608642e-02 1.996224259309599e-02 1.996108470119043e-02 1.995992665416334e-02 1.995876844505867e-02 + 1.995761008193637e-02 1.995645156786617e-02 1.995529288784624e-02 1.995413404457776e-02 1.995297504246996e-02 + 1.995181586885687e-02 1.995065652904149e-02 1.994949703248385e-02 1.994833736513130e-02 1.994717752162546e-02 + 1.994601750553184e-02 1.994485731663886e-02 1.994369695406686e-02 1.994253641736701e-02 1.994137570693218e-02 + 1.994021481716852e-02 1.993905373876526e-02 1.993789248152490e-02 1.993673104732284e-02 1.993556942048493e-02 + 1.993440760773439e-02 1.993324561433191e-02 1.993208342679873e-02 1.993092104568069e-02 1.992975847582151e-02 + 1.992859571315939e-02 1.992743275300710e-02 1.992626959353599e-02 1.992510623927749e-02 1.992394268911061e-02 + 1.992277893654564e-02 1.992161497535049e-02 1.992045080942924e-02 1.991928644769617e-02 1.991812187931771e-02 + 1.991695709651699e-02 1.991579210148713e-02 1.991462689658082e-02 1.991346148075462e-02 1.991229584907280e-02 + 1.991113000189043e-02 1.990996393932216e-02 1.990879765723607e-02 1.990763115454515e-02 1.990646443148474e-02 + 1.990529748687400e-02 1.990413031580006e-02 1.990296291532720e-02 1.990179529310021e-02 1.990062744303953e-02 + 1.989945935329500e-02 1.989829103342642e-02 1.989712248515872e-02 1.989595370004318e-02 1.989478467737964e-02 + 1.989361541884726e-02 1.989244592499573e-02 1.989127618925862e-02 1.989010620674421e-02 1.988893597834538e-02 + 1.988776550466197e-02 1.988659478703524e-02 1.988542382727661e-02 1.988425261506333e-02 1.988308114268849e-02 + 1.988190942098788e-02 1.988073745006194e-02 1.987956522359536e-02 1.987839274079954e-02 1.987722000000555e-02 + 1.987604699732070e-02 1.987487372670402e-02 1.987370019241589e-02 1.987252640362364e-02 1.987135234678179e-02 + 1.987017801708705e-02 1.986900342417090e-02 1.986782856130232e-02 1.986665342124566e-02 1.986547800516037e-02 + 1.986430231940191e-02 1.986312636323797e-02 1.986195012209680e-02 1.986077359858922e-02 1.985959679883774e-02 + 1.985841971608161e-02 1.985724235007767e-02 1.985606470192896e-02 1.985488676268764e-02 1.985370853173279e-02 + 1.985253001389235e-02 1.985135120589531e-02 1.985017210671596e-02 1.984899271721913e-02 1.984781303008921e-02 + 1.984663304141680e-02 1.984545275323681e-02 1.984427216416261e-02 1.984309127447186e-02 1.984191008724042e-02 + 1.984072859600846e-02 1.983954679442092e-02 1.983836468369445e-02 1.983718226650526e-02 1.983599954091759e-02 + 1.983481649574990e-02 1.983363313683907e-02 1.983244947316962e-02 1.983126549121019e-02 1.983008118452795e-02 + 1.982889655650101e-02 1.982771161407836e-02 1.982652635127155e-02 1.982534075477381e-02 1.982415483542671e-02 + 1.982296859699974e-02 1.982178202865004e-02 1.982059512679342e-02 1.981940789099672e-02 1.981822032140366e-02 + 1.981703241807743e-02 1.981584417989424e-02 1.981465560415464e-02 1.981346669171603e-02 1.981227744136961e-02 + 1.981108784415540e-02 1.980989790130036e-02 1.980870761757638e-02 1.980751698807925e-02 1.980632600934410e-02 + 1.980513468056937e-02 1.980394300171975e-02 1.980275097143216e-02 1.980155858653555e-02 1.980036584235624e-02 + 1.979917273943820e-02 1.979797928262491e-02 1.979678546489206e-02 1.979559128379798e-02 1.979439674657348e-02 + 1.979320184217468e-02 1.979200656369760e-02 1.979081092352834e-02 1.978961491694981e-02 1.978841853542797e-02 + 1.978722178317891e-02 1.978602465925507e-02 1.978482715855289e-02 1.978362927697639e-02 1.978243101628911e-02 + 1.978123238058121e-02 1.978003336668686e-02 1.977883396860304e-02 1.977763418131442e-02 1.977643400902304e-02 + 1.977523345232920e-02 1.977403250607500e-02 1.977283117205557e-02 1.977162944865208e-02 1.977042732702634e-02 + 1.976922480613855e-02 1.976802188997964e-02 1.976681858355301e-02 1.976561487769950e-02 1.976441076369096e-02 + 1.976320624890566e-02 1.976200133147697e-02 1.976079600616600e-02 1.975959027757971e-02 1.975838414138116e-02 + 1.975717758909272e-02 1.975597062600439e-02 1.975476325369590e-02 1.975355546738499e-02 1.975234726242962e-02 + 1.975113863825908e-02 1.974992959762522e-02 1.974872013640206e-02 1.974751025163228e-02 1.974629994489470e-02 + 1.974508921425132e-02 1.974387805573186e-02 1.974266646519683e-02 1.974145444319864e-02 1.974024199150465e-02 + 1.973902910920840e-02 1.973781579519036e-02 1.973660204598839e-02 1.973538785240977e-02 1.973417321684443e-02 + 1.973295814730416e-02 1.973174263781577e-02 1.973052668253849e-02 1.972931027913797e-02 1.972809342747564e-02 + 1.972687612827085e-02 1.972565838187941e-02 1.972444018482310e-02 1.972322153363352e-02 1.972200242687443e-02 + 1.972078286440720e-02 1.971956284541047e-02 1.971834236691286e-02 1.971712142485657e-02 1.971590001741145e-02 + 1.971467814826898e-02 1.971345581852119e-02 1.971223302479186e-02 1.971100975804211e-02 1.970978601823674e-02 + 1.970856181065497e-02 1.970733713228995e-02 1.970611197806177e-02 1.970488634450282e-02 1.970366023582840e-02 + 1.970243364879734e-02 1.970120657299705e-02 1.969997901837739e-02 1.969875098677333e-02 1.969752246217473e-02 + 1.969629345274012e-02 1.969506396226801e-02 1.969383397141272e-02 1.969260348756574e-02 1.969137252109090e-02 + 1.969014105730648e-02 1.968890909233832e-02 1.968767662961491e-02 1.968644366805134e-02 1.968521020635475e-02 + 1.968397624286150e-02 1.968274177331172e-02 1.968150679588088e-02 1.968027131148579e-02 1.967903532058098e-02 + 1.967779882218197e-02 1.967656181292412e-02 1.967532428489620e-02 1.967408623811289e-02 1.967284768294825e-02 + 1.967160860971293e-02 1.967036900987211e-02 1.966912889102269e-02 1.966788825153749e-02 1.966664708600774e-02 + 1.966540539310703e-02 1.966416317292449e-02 1.966292042476060e-02 1.966167714455673e-02 1.966043333167102e-02 + 1.965918898702837e-02 1.965794410650064e-02 1.965669868705162e-02 1.965545272765306e-02 1.965420622710374e-02 + 1.965295918609461e-02 1.965171160585919e-02 1.965046347855766e-02 1.964921480087875e-02 1.964796557872257e-02 + 1.964671580769246e-02 1.964546548231519e-02 1.964421460325605e-02 1.964296317129598e-02 1.964171118580111e-02 + 1.964045864365522e-02 1.963920554157133e-02 1.963795187629582e-02 1.963669764477085e-02 1.963544284945441e-02 + 1.963418749362842e-02 1.963293156932153e-02 1.963167507295046e-02 1.963041800662418e-02 1.962916036936736e-02 + 1.962790216073956e-02 1.962664338014056e-02 1.962538401760687e-02 1.962412407160046e-02 1.962286355381917e-02 + 1.962160245501161e-02 1.962034076606272e-02 1.961907849332115e-02 1.961781563715828e-02 1.961655219371613e-02 + 1.961528815879130e-02 1.961402353224150e-02 1.961275831461461e-02 1.961149250160691e-02 1.961022609250104e-02 + 1.960895908768241e-02 1.960769148013132e-02 1.960642326897369e-02 1.960515445887448e-02 1.960388504699325e-02 + 1.960261502901453e-02 1.960134440209794e-02 1.960007316755673e-02 1.959880132269796e-02 1.959752885956289e-02 + 1.959625578572781e-02 1.959498210471557e-02 1.959370780282661e-02 1.959243287776576e-02 1.959115733236078e-02 + 1.958988116575855e-02 1.958860437570835e-02 1.958732696070351e-02 1.958604892230215e-02 1.958477025538254e-02 + 1.958349095293616e-02 1.958221102005211e-02 1.958093045820349e-02 1.957964926225915e-02 1.957836742427244e-02 + 1.957708494595253e-02 1.957580183693370e-02 1.957451808573694e-02 1.957323368588814e-02 1.957194864588927e-02 + 1.957066295908808e-02 1.956937661864716e-02 1.956808962863577e-02 1.956680198857452e-02 1.956551369740821e-02 + 1.956422475810978e-02 1.956293516289206e-02 1.956164490198652e-02 1.956035397935251e-02 1.955906239928264e-02 + 1.955777016187055e-02 1.955647725858155e-02 1.955518368630142e-02 1.955388944730695e-02 1.955259453790914e-02 + 1.955129895574477e-02 1.955000270138056e-02 1.954870577278503e-02 1.954740816848287e-02 1.954610988870274e-02 + 1.954481093111385e-02 1.954351129226784e-02 1.954221096901902e-02 1.954090996078360e-02 1.953960826724446e-02 + 1.953830588603245e-02 1.953700281656794e-02 1.953569905855491e-02 1.953439460897686e-02 1.953308946443935e-02 + 1.953178362233442e-02 1.953047708245082e-02 1.952916984426731e-02 1.952786190592496e-02 1.952655326324738e-02 + 1.952524391408689e-02 1.952393385929222e-02 1.952262309949111e-02 1.952131163370209e-02 1.951999945844595e-02 + 1.951868656751035e-02 1.951737295829730e-02 1.951605863555755e-02 1.951474359789877e-02 1.951342784097203e-02 + 1.951211136184995e-02 1.951079415956861e-02 1.950947623396647e-02 1.950815758387342e-02 1.950683820574165e-02 + 1.950551809587482e-02 1.950419725560715e-02 1.950287568354725e-02 1.950155337574423e-02 1.950023033242808e-02 + 1.949890655251627e-02 1.949758203322258e-02 1.949625677745909e-02 1.949493078034667e-02 1.949360402739089e-02 + 1.949227653112452e-02 1.949094829757290e-02 1.948961930480046e-02 1.948828955781861e-02 1.948695906691206e-02 + 1.948562782150981e-02 1.948429581598615e-02 1.948296304982478e-02 1.948162952319633e-02 1.948029523591830e-02 + 1.947896018726217e-02 1.947762437581102e-02 1.947628779922486e-02 1.947495045397724e-02 1.947361233489661e-02 + 1.947227344348770e-02 1.947093378593678e-02 1.946959335022997e-02 1.946825212971076e-02 1.946691013283964e-02 + 1.946556736109183e-02 1.946422381089845e-02 1.946287947598024e-02 1.946153435147304e-02 1.946018843640089e-02 + 1.945884173551620e-02 1.945749424593349e-02 1.945614596164208e-02 1.945479688244431e-02 1.945344700980195e-02 + 1.945209634356683e-02 1.945074487666461e-02 1.944939260492236e-02 1.944803952905332e-02 1.944668565282712e-02 + 1.944533097303948e-02 1.944397548026850e-02 1.944261917903520e-02 1.944126207147254e-02 1.943990414971487e-02 + 1.943854540610747e-02 1.943718584222317e-02 1.943582547177293e-02 1.943446428245481e-02 1.943310226105812e-02 + 1.943173942068859e-02 1.943037575924362e-02 1.942901126749138e-02 1.942764594793762e-02 1.942627979717840e-02 + 1.942491280913776e-02 1.942354498868186e-02 1.942217633546996e-02 1.942080684436220e-02 1.941943651933332e-02 + 1.941806535493775e-02 1.941669333695301e-02 1.941532047644210e-02 1.941394677715704e-02 1.941257222315028e-02 + 1.941119681542690e-02 1.940982056035791e-02 1.940844345901757e-02 1.940706550055424e-02 1.940568667678698e-02 + 1.940430699663802e-02 1.940292645883611e-02 1.940154505765652e-02 1.940016279578962e-02 1.939877966977487e-02 + 1.939739567223053e-02 1.939601080219835e-02 1.939462506233509e-02 1.939323845462366e-02 1.939185096971125e-02 + 1.939046260516801e-02 1.938907336764642e-02 1.938768325184633e-02 1.938629225021856e-02 1.938490035911401e-02 + 1.938350758330235e-02 1.938211392651081e-02 1.938071938447496e-02 1.937932394922459e-02 1.937792761695239e-02 + 1.937653039473651e-02 1.937513227779157e-02 1.937373325789699e-02 1.937233333934693e-02 1.937093252080456e-02 + 1.936953079702195e-02 1.936812816928827e-02 1.936672463690015e-02 1.936532019607867e-02 1.936391484345597e-02 + 1.936250857586552e-02 1.936110139138094e-02 1.935969329410197e-02 1.935828428412852e-02 1.935687435366041e-02 + 1.935546349795341e-02 1.935405171682407e-02 1.935263901452006e-02 1.935122538845629e-02 1.934981083240821e-02 + 1.934839534117787e-02 1.934697891910190e-02 1.934556156924906e-02 1.934414327695751e-02 1.934272404361874e-02 + 1.934130387854031e-02 1.933988276959641e-02 1.933846071416343e-02 1.933703771882020e-02 1.933561377409585e-02 + 1.933418887831357e-02 1.933276303945045e-02 1.933133624375953e-02 1.932990848653697e-02 1.932847978247962e-02 + 1.932705012296452e-02 1.932561949662077e-02 1.932418790536504e-02 1.932275535526071e-02 1.932132184669807e-02 + 1.931988736608416e-02 1.931845191123332e-02 1.931701548648173e-02 1.931557809132799e-02 1.931413972218449e-02 + 1.931270037603072e-02 1.931126005688787e-02 1.930981875761609e-02 1.930837646527647e-02 1.930693319154590e-02 + 1.930548893938918e-02 1.930404369700001e-02 1.930259746628386e-02 1.930115024647330e-02 1.929970202824377e-02 + 1.929825281461415e-02 1.929680260792617e-02 1.929535140092010e-02 1.929389919235001e-02 1.929244598266550e-02 + 1.929099176842190e-02 1.928953654639375e-02 1.928808031414528e-02 1.928662307035359e-02 1.928516481711372e-02 + 1.928370555611205e-02 1.928224527966380e-02 1.928078398206115e-02 1.927932166173262e-02 1.927785831899656e-02 + 1.927639395364510e-02 1.927492856464996e-02 1.927346215243780e-02 1.927199471282116e-02 1.927052623652251e-02 + 1.926905672766994e-02 1.926758618873705e-02 1.926611461056382e-02 1.926464199150991e-02 1.926316833245443e-02 + 1.926169363057714e-02 1.926021788634381e-02 1.925874109903830e-02 1.925726325940621e-02 1.925578436860509e-02 + 1.925430443199749e-02 1.925282343948819e-02 1.925134138889128e-02 1.924985828498051e-02 1.924837411847957e-02 + 1.924688888599618e-02 1.924540259377309e-02 1.924391524090012e-02 1.924242682077230e-02 1.924093732460676e-02 + 1.923944675829762e-02 1.923795512510602e-02 1.923646241448938e-02 1.923496862521413e-02 1.923347375911634e-02 + 1.923197781292445e-02 1.923048078180134e-02 1.922898266296426e-02 1.922748346006174e-02 1.922598317069195e-02 + 1.922448178990142e-02 1.922297932164773e-02 1.922147575963824e-02 1.921997109174737e-02 1.921846532805457e-02 + 1.921695846861228e-02 1.921545049993734e-02 1.921394143207274e-02 1.921243126559395e-02 1.921091998083786e-02 + 1.920940758472120e-02 1.920789408374423e-02 1.920637946562360e-02 1.920486373146851e-02 1.920334688393281e-02 + 1.920182891329169e-02 1.920030981699324e-02 1.919878959725658e-02 1.919726825432456e-02 1.919574578635056e-02 + 1.919422218928470e-02 1.919269745661605e-02 1.919117158884151e-02 1.918964459045353e-02 1.918811645370936e-02 + 1.918658717454346e-02 1.918505675553962e-02 1.918352519296369e-02 1.918199248296462e-02 1.918045862469436e-02 + 1.917892361805418e-02 1.917738746182788e-02 1.917585015265352e-02 1.917431168820606e-02 1.917277206550804e-02 + 1.917123127946213e-02 1.916968933132487e-02 1.916814622316750e-02 1.916660194885779e-02 1.916505650873668e-02 + 1.916350990423480e-02 1.916196212155291e-02 1.916041316033273e-02 1.915886303062994e-02 1.915731172194125e-02 + 1.915575922930148e-02 1.915420555876758e-02 1.915265070860661e-02 1.915109467332810e-02 1.914953744666585e-02 + 1.914797902645569e-02 1.914641941412443e-02 1.914485861314037e-02 1.914329661713828e-02 1.914173341932142e-02 + 1.914016902223032e-02 1.913860342379879e-02 1.913703662029905e-02 1.913546861279183e-02 1.913389939805644e-02 + 1.913232897075573e-02 1.913075733118505e-02 1.912918447844714e-02 1.912761040908805e-02 1.912603511839811e-02 + 1.912445860715432e-02 1.912288088009771e-02 1.912130192853472e-02 1.911972174626816e-02 1.911814033569584e-02 + 1.911655769224527e-02 1.911497381452394e-02 1.911338870990516e-02 1.911180236957772e-02 1.911021478317005e-02 + 1.910862595492130e-02 1.910703588697045e-02 1.910544457683553e-02 1.910385201685182e-02 1.910225820527016e-02 + 1.910066314375077e-02 1.909906682830796e-02 1.909746925477876e-02 1.909587042200599e-02 1.909427033688354e-02 + 1.909266899402551e-02 1.909106637643193e-02 1.908946249114346e-02 1.908785734491775e-02 1.908625093213804e-02 + 1.908464324204344e-02 1.908303427175084e-02 1.908142403234494e-02 1.907981251534393e-02 1.907819971100440e-02 + 1.907658562789714e-02 1.907497026158614e-02 1.907335360333112e-02 1.907173565762024e-02 1.907011642370295e-02 + 1.906849589616872e-02 1.906687407274958e-02 1.906525095073851e-02 1.906362652703246e-02 1.906200080112851e-02 + 1.906037377260159e-02 1.905874543999789e-02 1.905711580005939e-02 1.905548484883143e-02 1.905385258297056e-02 + 1.905221900422594e-02 1.905058411108648e-02 1.904894789413228e-02 1.904731035325132e-02 1.904567149183364e-02 + 1.904403130952197e-02 1.904238980136186e-02 1.904074696113758e-02 1.903910278612417e-02 1.903745727544392e-02 + 1.903581042868199e-02 1.903416224385271e-02 1.903251272055347e-02 1.903086185871027e-02 1.902920965236104e-02 + 1.902755609551852e-02 1.902590118543579e-02 1.902424492713456e-02 1.902258731926820e-02 1.902092835050054e-02 + 1.901926802409253e-02 1.901760634215130e-02 1.901594329530476e-02 1.901427888303375e-02 1.901261310655987e-02 + 1.901094596056572e-02 1.900927744335199e-02 1.900760755425454e-02 1.900593628837979e-02 1.900426364429972e-02 + 1.900258962310978e-02 1.900091422355684e-02 1.899923743835855e-02 1.899755925950979e-02 1.899587969656637e-02 + 1.899419874741247e-02 1.899251639645128e-02 1.899083265299966e-02 1.898914752052511e-02 1.898746098477085e-02 + 1.898577304386013e-02 1.898408369969058e-02 1.898239295076986e-02 1.898070079269564e-02 1.897900722255288e-02 + 1.897731224261929e-02 1.897561584849886e-02 1.897391803334516e-02 1.897221879605241e-02 1.897051814026927e-02 + 1.896881606767167e-02 1.896711256470153e-02 1.896540762798833e-02 1.896370126437186e-02 1.896199347193909e-02 + 1.896028424413336e-02 1.895857357350164e-02 1.895686146124061e-02 1.895514791045918e-02 1.895343292131205e-02 + 1.895171648302300e-02 1.894999858923527e-02 1.894827924721451e-02 1.894655845419708e-02 1.894483620522033e-02 + 1.894311250187257e-02 1.894138733732357e-02 1.893966070463249e-02 1.893793261072514e-02 1.893620305335951e-02 + 1.893447202418282e-02 1.893273952309081e-02 1.893100555094376e-02 1.892927010627177e-02 1.892753318110494e-02 + 1.892579477108063e-02 1.892405487784487e-02 1.892231350329449e-02 1.892057064453369e-02 1.891882629307712e-02 + 1.891708044683251e-02 1.891533310610873e-02 1.891358427035544e-02 1.891183393696100e-02 1.891008210291091e-02 + 1.890832876617924e-02 1.890657392211156e-02 1.890481756749361e-02 1.890305970669826e-02 1.890130033664154e-02 + 1.889953944876527e-02 1.889777703845312e-02 1.889601310905792e-02 1.889424766560776e-02 1.889248069356991e-02 + 1.889071219005931e-02 1.888894216610460e-02 1.888717060771540e-02 1.888539750970531e-02 1.888362288621832e-02 + 1.888184672351093e-02 1.888006901097801e-02 1.887828976119468e-02 1.887650896887177e-02 1.887472662448569e-02 + 1.887294273026847e-02 1.887115728373587e-02 1.886937028132879e-02 1.886758172601296e-02 1.886579161241305e-02 + 1.886399993232671e-02 1.886220669095003e-02 1.886041188581822e-02 1.885861550746470e-02 1.885681755698847e-02 + 1.885501803485419e-02 1.885321693733238e-02 1.885141425906957e-02 1.884960999916156e-02 1.884780416185130e-02 + 1.884599674103886e-02 1.884418772927479e-02 1.884237712445391e-02 1.884056492700234e-02 1.883875113673901e-02 + 1.883693574995443e-02 1.883511876102816e-02 1.883330016667216e-02 1.883147997149076e-02 1.882965817385698e-02 + 1.882783476601560e-02 1.882600973926643e-02 1.882418309568715e-02 1.882235484340025e-02 1.882052497417560e-02 + 1.881869348031539e-02 1.881686035975185e-02 1.881502561164409e-02 1.881318923741505e-02 1.881135123913003e-02 + 1.880951160558249e-02 1.880767032900146e-02 1.880582741534564e-02 1.880398286136111e-02 1.880213666245483e-02 + 1.880028882149621e-02 1.879843933370182e-02 1.879658819228311e-02 1.879473539862031e-02 1.879288094991765e-02 + 1.879102484097325e-02 1.878916707209326e-02 1.878730764191372e-02 1.878544654683108e-02 1.878358378459472e-02 + 1.878171935183507e-02 1.877985324430765e-02 1.877798546179407e-02 1.877611600228067e-02 1.877424486050507e-02 + 1.877237203778229e-02 1.877049753324887e-02 1.876862133863330e-02 1.876674345293673e-02 1.876486387617420e-02 + 1.876298260257535e-02 1.876109963059111e-02 1.875921496034764e-02 1.875732858848502e-02 1.875544051216185e-02 + 1.875355072885378e-02 1.875165923449702e-02 1.874976602623304e-02 1.874787110336161e-02 1.874597446797304e-02 + 1.874407611425766e-02 1.874217603022874e-02 1.874027422146802e-02 1.873837068906284e-02 1.873646542198345e-02 + 1.873455842189881e-02 1.873264969164939e-02 1.873073922656172e-02 1.872882701964194e-02 1.872691306648714e-02 + 1.872499736923527e-02 1.872307992509612e-02 1.872116072949887e-02 1.871923978227258e-02 1.871731708186487e-02 + 1.871539262387551e-02 1.871346640021372e-02 1.871153841041527e-02 1.870960865979342e-02 1.870767714578883e-02 + 1.870574386089293e-02 1.870380879685916e-02 1.870187195798613e-02 1.869993334446320e-02 1.869799294696750e-02 + 1.869605076691687e-02 1.869410680376838e-02 1.869216104730458e-02 1.869021349836844e-02 1.868826416022470e-02 + 1.868631302853863e-02 1.868436009644664e-02 1.868240535897862e-02 1.868044881818047e-02 1.867849047172725e-02 + 1.867653031474529e-02 1.867456834731333e-02 1.867260456736053e-02 1.867063897034608e-02 1.866867155351236e-02 + 1.866670231459311e-02 1.866473125095620e-02 1.866275835809391e-02 1.866078363356833e-02 1.865880707775009e-02 + 1.865682868564128e-02 1.865484845476688e-02 1.865286638889887e-02 1.865088247751579e-02 1.864889671303901e-02 + 1.864690910747520e-02 1.864491965354244e-02 1.864292833855512e-02 1.864093516946379e-02 1.863894014384585e-02 + 1.863694325319922e-02 1.863494449952898e-02 1.863294388193027e-02 1.863094139526787e-02 1.862893703607748e-02 + 1.862693080034535e-02 1.862492268387857e-02 1.862291268732941e-02 1.862090081042848e-02 1.861888704957227e-02 + 1.861687140151818e-02 1.861485386231105e-02 1.861283442704270e-02 1.861081309610335e-02 1.860878986806025e-02 + 1.860676473338590e-02 1.860473769529663e-02 1.860270875778476e-02 1.860067790615180e-02 1.859864513789995e-02 + 1.859661045850656e-02 1.859457386260990e-02 1.859253534675110e-02 1.859049490946049e-02 1.858845254228221e-02 + 1.858640824383296e-02 1.858436201966219e-02 1.858231386031445e-02 1.858026376148910e-02 1.857821173011040e-02 + 1.857615775674864e-02 1.857410183289329e-02 1.857204396224591e-02 1.856998414158087e-02 1.856792236630606e-02 + 1.856585863699762e-02 1.856379295088432e-02 1.856172530348682e-02 1.855965569223371e-02 1.855758411493529e-02 + 1.855551056872843e-02 1.855343504862798e-02 1.855135755357239e-02 1.854927808391809e-02 1.854719662999937e-02 + 1.854511318947389e-02 1.854302776884543e-02 1.854094036342127e-02 1.853885096469986e-02 1.853675956540365e-02 + 1.853466616668727e-02 1.853257077183708e-02 1.853047338096206e-02 1.852837398473379e-02 1.852627257507170e-02 + 1.852416915520061e-02 1.852206372211816e-02 1.851995627104085e-02 1.851784680396669e-02 1.851573531468755e-02 + 1.851362179508880e-02 1.851150625260910e-02 1.850938868433302e-02 1.850726907790290e-02 1.850514743267316e-02 + 1.850302375022463e-02 1.850089802974987e-02 1.849877026321467e-02 1.849664044568886e-02 1.849450857919205e-02 + 1.849237466328984e-02 1.849023869225825e-02 1.848810065567833e-02 1.848596056072587e-02 1.848381841125062e-02 + 1.848167418759208e-02 1.847952788817062e-02 1.847737952020788e-02 1.847522908039946e-02 1.847307656165976e-02 + 1.847092195736722e-02 1.846876526733367e-02 1.846660649126623e-02 1.846444562782898e-02 1.846228267641075e-02 + 1.846011763022634e-02 1.845795047822359e-02 1.845578122357826e-02 1.845360986824314e-02 1.845143640646702e-02 + 1.844926083412144e-02 1.844708314829677e-02 1.844490334652741e-02 1.844272142526039e-02 1.844053738232335e-02 + 1.843835121884711e-02 1.843616292877729e-02 1.843397250473794e-02 1.843177994759022e-02 1.842958525561723e-02 + 1.842738842512387e-02 1.842518945510765e-02 1.842298833954339e-02 1.842078507029563e-02 1.841857965103055e-02 + 1.841637208298309e-02 1.841416236088061e-02 1.841195047731196e-02 1.840973642948215e-02 1.840752022011446e-02 + 1.840530184216091e-02 1.840308128892246e-02 1.840085856103635e-02 1.839863365911139e-02 1.839640658087383e-02 + 1.839417731924000e-02 1.839194587083986e-02 1.838971223370895e-02 1.838747640300020e-02 1.838523837692452e-02 + 1.838299815548432e-02 1.838075573582631e-02 1.837851111106092e-02 1.837626427462707e-02 1.837401523350234e-02 + 1.837176398539980e-02 1.836951051641877e-02 1.836725482529124e-02 1.836499691387402e-02 1.836273678151691e-02 + 1.836047442118306e-02 1.835820982858270e-02 1.835594300692513e-02 1.835367394977665e-02 1.835140264983480e-02 + 1.834912910825698e-02 1.834685332362546e-02 1.834457529066184e-02 1.834229500068380e-02 1.834001245612868e-02 + 1.833772766191195e-02 1.833544060380268e-02 1.833315127769170e-02 1.833085968975407e-02 1.832856583633842e-02 + 1.832626971106521e-02 1.832397130817964e-02 1.832167062581619e-02 1.831936766045366e-02 1.831706240632338e-02 + 1.831475486820015e-02 1.831244504576387e-02 1.831013292472488e-02 1.830781850356614e-02 1.830550178468002e-02 + 1.830318276421879e-02 1.830086143845657e-02 1.829853780375753e-02 1.829621185558813e-02 1.829388359300937e-02 + 1.829155301569956e-02 1.828922011662799e-02 1.828688489153528e-02 1.828454733892483e-02 1.828220745351499e-02 + 1.827986523367206e-02 1.827752068069898e-02 1.827517378500067e-02 1.827282454323407e-02 1.827047296291425e-02 + 1.826811903643735e-02 1.826576275326505e-02 1.826340410954280e-02 1.826104310998728e-02 1.825867975496676e-02 + 1.825631402943589e-02 1.825394593365713e-02 1.825157547349511e-02 1.824920264235266e-02 1.824682743095013e-02 + 1.824444983334214e-02 1.824206985531418e-02 1.823968749396920e-02 1.823730273947125e-02 1.823491559405069e-02 + 1.823252605635143e-02 1.823013411851380e-02 1.822773977727079e-02 1.822534302885856e-02 1.822294386817581e-02 + 1.822054229933361e-02 1.821813832218229e-02 1.821573192447362e-02 1.821332310276354e-02 1.821091185568656e-02 + 1.820849817689734e-02 1.820608206836350e-02 1.820366353310689e-02 1.820124256311412e-02 1.819881915016099e-02 + 1.819639328969794e-02 1.819396498477247e-02 1.819153423068764e-02 1.818910101812068e-02 1.818666535246774e-02 + 1.818422723286477e-02 1.818178664914423e-02 1.817934360000525e-02 1.817689808189780e-02 1.817445008627356e-02 + 1.817199961756547e-02 1.816954667558178e-02 1.816709124568389e-02 1.816463332917677e-02 1.816217292950077e-02 + 1.815971003769815e-02 1.815724465123547e-02 1.815477676809149e-02 1.815230637650250e-02 1.814983348051392e-02 + 1.814735808823705e-02 1.814488018072306e-02 1.814239975267995e-02 1.813991681262074e-02 1.813743135508509e-02 + 1.813494337086823e-02 1.813245285281114e-02 1.812995980445686e-02 1.812746422731492e-02 1.812496611573551e-02 + 1.812246546481565e-02 1.811996226848969e-02 1.811745651920204e-02 1.811494821957559e-02 1.811243737133842e-02 + 1.810992396481434e-02 1.810740799805441e-02 1.810488947142559e-02 1.810236837745802e-02 1.809984471224923e-02 + 1.809731847419077e-02 1.809478965788605e-02 1.809225826197647e-02 1.808972428730369e-02 1.808718772623545e-02 + 1.808464857219165e-02 1.808210682315950e-02 1.807956248210254e-02 1.807701554512131e-02 1.807446599893149e-02 + 1.807191384222250e-02 1.806935907649996e-02 1.806680169977935e-02 1.806424171112906e-02 1.806167910639137e-02 + 1.805911387430984e-02 1.805654601234490e-02 1.805397552118165e-02 1.805140239539148e-02 1.804882663464111e-02 + 1.804624823872755e-02 1.804366719439020e-02 1.804108350087335e-02 1.803849716547347e-02 1.803590817366155e-02 + 1.803331652090480e-02 1.803072221546651e-02 1.802812524400898e-02 1.802552559998909e-02 1.802292329257977e-02 + 1.802031831251088e-02 1.801771065083283e-02 1.801510031065072e-02 1.801248728509480e-02 1.800987156794499e-02 + 1.800725316456288e-02 1.800463207196059e-02 1.800200828229563e-02 1.799938179038418e-02 1.799675259135415e-02 + 1.799412068157979e-02 1.799148606152016e-02 1.798884872978088e-02 1.798620868169797e-02 1.798356590941466e-02 + 1.798092041139825e-02 1.797827219073602e-02 1.797562123473000e-02 1.797296753674024e-02 1.797031110360818e-02 + 1.796765193280976e-02 1.796499001786419e-02 1.796232535287627e-02 1.795965793501132e-02 1.795698776183851e-02 + 1.795431482887613e-02 1.795163913285315e-02 1.794896067070983e-02 1.794627943785036e-02 1.794359543174794e-02 + 1.794090865000600e-02 1.793821908548673e-02 1.793552673496832e-02 1.793283159877326e-02 1.793013367385930e-02 + 1.792743295577707e-02 1.792472944026945e-02 1.792202312682011e-02 1.791931400976357e-02 1.791660207728341e-02 + 1.791388733234035e-02 1.791116977642004e-02 1.790844939977351e-02 1.790572620127331e-02 1.790300018053203e-02 + 1.790027132960331e-02 1.789753964610457e-02 1.789480512776976e-02 1.789206776371137e-02 1.788932755546883e-02 + 1.788658450796398e-02 1.788383860557862e-02 1.788108984645815e-02 1.787833823870088e-02 1.787558376650758e-02 + 1.787282642238153e-02 1.787006621288861e-02 1.786730313584615e-02 1.786453718506033e-02 1.786176835331611e-02 + 1.785899663566110e-02 1.785622203220682e-02 1.785344454733639e-02 1.785066416506327e-02 1.784788087479271e-02 + 1.784509469481547e-02 1.784230561688990e-02 1.783951362363962e-02 1.783671871969004e-02 1.783392090351773e-02 + 1.783112016693977e-02 1.782831650359620e-02 1.782550991644932e-02 1.782270041052123e-02 1.781988796773664e-02 + 1.781707258188517e-02 1.781425426228424e-02 1.781143299909701e-02 1.780860878344276e-02 1.780578161636334e-02 + 1.780295150019453e-02 1.780011843142990e-02 1.779728239750767e-02 1.779444339320670e-02 1.779160141853593e-02 + 1.778875647528820e-02 1.778590855799184e-02 1.778305765851556e-02 1.778020377358821e-02 1.777734690358035e-02 + 1.777448704738365e-02 1.777162419310320e-02 1.776875833746895e-02 1.776588948369731e-02 1.776301762263940e-02 + 1.776014274927566e-02 1.775726486578331e-02 1.775438397030816e-02 1.775150005486545e-02 1.774861310790110e-02 + 1.774572313526677e-02 1.774283013776283e-02 1.773993409898065e-02 1.773703502220879e-02 1.773413291089222e-02 + 1.773122774923129e-02 1.772831953604024e-02 1.772540827370780e-02 1.772249394894422e-02 1.771957656009896e-02 + 1.771665611194296e-02 1.771373259698992e-02 1.771080600888477e-02 1.770787634473108e-02 1.770494360249459e-02 + 1.770200777818149e-02 1.769906886558849e-02 1.769612685929023e-02 1.769318175770428e-02 1.769023356261796e-02 + 1.768728226707501e-02 1.768432786370409e-02 1.768137035050212e-02 1.767840972761326e-02 1.767544598996190e-02 + 1.767247912224100e-02 1.766950912887429e-02 1.766653601772543e-02 1.766355977437013e-02 1.766058039164660e-02 + 1.765759786981226e-02 1.765461220736955e-02 1.765162339764906e-02 1.764863143247870e-02 1.764563631444012e-02 + 1.764263804044564e-02 1.763963660052613e-02 1.763663199590508e-02 1.763362422648862e-02 1.763061328532627e-02 + 1.762759916389677e-02 1.762458185742205e-02 1.762156136756127e-02 1.761853769290762e-02 1.761551082691653e-02 + 1.761248075761478e-02 1.760944748669641e-02 1.760641101894919e-02 1.760337134551661e-02 1.760032845807722e-02 + 1.759728235211478e-02 1.759423302856655e-02 1.759118048266074e-02 1.758812470690578e-02 1.758506570645847e-02 + 1.758200347417691e-02 1.757893799151254e-02 1.757586926700291e-02 1.757279730534286e-02 1.756972209521438e-02 + 1.756664362962799e-02 1.756356190543487e-02 1.756047692143249e-02 1.755738866974527e-02 1.755429714394244e-02 + 1.755120234663686e-02 1.754810427470094e-02 1.754500292288027e-02 1.754189829041229e-02 1.753879037098419e-02 + 1.753567915477636e-02 1.753256463576890e-02 1.752944681640228e-02 1.752632570156945e-02 1.752320127895599e-02 + 1.752007354011609e-02 1.751694248500407e-02 1.751380811099548e-02 1.751067041466748e-02 1.750752939229762e-02 + 1.750438503712632e-02 1.750123734468025e-02 1.749808631552286e-02 1.749493194526630e-02 1.749177422703599e-02 + 1.748861315463852e-02 1.748544872591071e-02 1.748228094036503e-02 1.747910979560325e-02 1.747593528635296e-02 + 1.747275740493088e-02 1.746957614261004e-02 1.746639150171011e-02 1.746320348827029e-02 1.746001208402579e-02 + 1.745681728232032e-02 1.745361909228664e-02 1.745041750587895e-02 1.744721251527593e-02 1.744400411995098e-02 + 1.744079231626219e-02 1.743757709612158e-02 1.743435844889677e-02 1.743113638300998e-02 1.742791090294012e-02 + 1.742468198827393e-02 1.742144963687445e-02 1.741821385208018e-02 1.741497462017237e-02 1.741173194001650e-02 + 1.740848581625378e-02 1.740523623716524e-02 1.740198319673262e-02 1.739872669626729e-02 1.739546673433575e-02 + 1.739220330474240e-02 1.738893639777237e-02 1.738566600801745e-02 1.738239213410604e-02 1.737911477739739e-02 + 1.737583393441487e-02 1.737254959973500e-02 1.736926176792087e-02 1.736597043319887e-02 1.736267559029083e-02 + 1.735937723525189e-02 1.735607536431420e-02 1.735276997535949e-02 1.734946106967137e-02 1.734614863942214e-02 + 1.734283267462293e-02 1.733951317984790e-02 1.733619014933173e-02 1.733286356952035e-02 1.732953344236944e-02 + 1.732619976822115e-02 1.732286254123125e-02 1.731952175476255e-02 1.731617740506982e-02 1.731282949118149e-02 + 1.730947800429541e-02 1.730612293897103e-02 1.730276429900506e-02 1.729940207772190e-02 1.729603626710180e-02 + 1.729266686687025e-02 1.728929387127552e-02 1.728591727431661e-02 1.728253707811547e-02 1.727915327486350e-02 + 1.727576585445017e-02 1.727237482415143e-02 1.726898017713387e-02 1.726558189725253e-02 1.726217999255776e-02 + 1.725877446141184e-02 1.725536528836806e-02 1.725195247427305e-02 1.724853602088567e-02 1.724511592318061e-02 + 1.724169217016580e-02 1.723826475637563e-02 1.723483368674653e-02 1.723139894995541e-02 1.722796053633534e-02 + 1.722451845482723e-02 1.722107270070567e-02 1.721762326419149e-02 1.721417014587169e-02 1.721071333868621e-02 + 1.720725283251134e-02 1.720378862838028e-02 1.720032072298445e-02 1.719684910908383e-02 1.719337378669194e-02 + 1.718989475327181e-02 1.718641200187306e-02 1.718292552719872e-02 1.717943532374793e-02 1.717594138625576e-02 + 1.717244371734551e-02 1.716894231509765e-02 1.716543716617480e-02 1.716192826455456e-02 1.715841561099909e-02 + 1.715489920993168e-02 1.715137904713604e-02 1.714785510917266e-02 1.714432741097788e-02 1.714079594608009e-02 + 1.713726069602739e-02 1.713372166332687e-02 1.713017885016558e-02 1.712663225240283e-02 1.712308185705881e-02 + 1.711952765873538e-02 1.711596966109396e-02 1.711240786053498e-02 1.710884225051524e-02 1.710527282476134e-02 + 1.710169958307061e-02 1.709812252022495e-02 1.709454162136748e-02 1.709095688985418e-02 1.708736832996113e-02 + 1.708377593024533e-02 1.708017968752960e-02 1.707657960032946e-02 1.707297565703870e-02 1.706936785401023e-02 + 1.706575619189593e-02 1.706214066346443e-02 1.705852126552140e-02 1.705489799818787e-02 1.705127085519305e-02 + 1.704763983091843e-02 1.704400492089210e-02 1.704036611449886e-02 1.703672340943711e-02 1.703307681394708e-02 + 1.702942631772786e-02 1.702577190966809e-02 1.702211358937508e-02 1.701845135582294e-02 1.701478520463906e-02 + 1.701111512687454e-02 1.700744111902223e-02 1.700376317991698e-02 1.700008130526762e-02 1.699639548886451e-02 + 1.699270572517141e-02 1.698901201362202e-02 1.698531434790372e-02 1.698161271901581e-02 1.697790713038581e-02 + 1.697419757947398e-02 1.697048405591379e-02 1.696676655885514e-02 1.696304508413142e-02 1.695931962055792e-02 + 1.695559016575875e-02 1.695185672007940e-02 1.694811928170539e-02 1.694437784303563e-02 1.694063239701608e-02 + 1.693688294268234e-02 1.693312947555357e-02 1.692937198914621e-02 1.692561047849961e-02 1.692184494218333e-02 + 1.691807537819241e-02 1.691430177590003e-02 1.691052413380094e-02 1.690674245501956e-02 1.690295672392027e-02 + 1.689916693403359e-02 1.689537309141036e-02 1.689157519031890e-02 1.688777322481082e-02 1.688396719247375e-02 + 1.688015708323470e-02 1.687634289028026e-02 1.687252461641300e-02 1.686870225976892e-02 1.686487581335405e-02 + 1.686104526641643e-02 1.685721061978611e-02 1.685337187596560e-02 1.684952902423863e-02 1.684568205626177e-02 + 1.684183096806695e-02 1.683797575916921e-02 1.683411642637722e-02 1.683025296370582e-02 1.682638536598722e-02 + 1.682251363071521e-02 1.681863775630957e-02 1.681475773295268e-02 1.681087355358095e-02 1.680698521822956e-02 + 1.680309272743823e-02 1.679919607564722e-02 1.679529524908240e-02 1.679139024683375e-02 1.678748107079098e-02 + 1.678356771499038e-02 1.677965016895157e-02 1.677572842703558e-02 1.677180249929987e-02 1.676787237703614e-02 + 1.676393804299063e-02 1.675999950051788e-02 1.675605674951069e-02 1.675210978219402e-02 1.674815858725950e-02 + 1.674420316518524e-02 1.674024352454331e-02 1.673627964747038e-02 1.673231152527195e-02 1.672833916857912e-02 + 1.672436256552257e-02 1.672038170373856e-02 1.671639658470834e-02 1.671240720840105e-02 1.670841357063555e-02 + 1.670441566220705e-02 1.670041347959014e-02 1.669640702110204e-02 1.669239628051189e-02 1.668838125191250e-02 + 1.668436193143650e-02 1.668033831890629e-02 1.667631040878886e-02 1.667227819212758e-02 1.666824166734860e-02 + 1.666420083129591e-02 1.666015567735254e-02 1.665610620005455e-02 1.665205239678242e-02 1.664799426695549e-02 + 1.664393180284348e-02 1.663986499713315e-02 1.663579384792829e-02 1.663171835503466e-02 1.662763851356003e-02 + 1.662355430939835e-02 1.661946574092143e-02 1.661537281150426e-02 1.661127551677910e-02 1.660717384720702e-02 + 1.660306779425839e-02 1.659895736095696e-02 1.659484254425630e-02 1.659072333444665e-02 1.658659972465595e-02 + 1.658247171530552e-02 1.657833931027815e-02 1.657420249617699e-02 1.657006126301349e-02 1.656591561144095e-02 + 1.656176553662080e-02 1.655761103381663e-02 1.655345210211223e-02 1.654928873901935e-02 1.654512093811135e-02 + 1.654094868807454e-02 1.653677198858015e-02 1.653259084096055e-02 1.652840523447503e-02 1.652421516561530e-02 + 1.652002063436291e-02 1.651582163151349e-02 1.651161815099949e-02 1.650741019156900e-02 1.650319775344297e-02 + 1.649898082810461e-02 1.649475940168675e-02 1.649053348141889e-02 1.648630306850305e-02 1.648206814836095e-02 + 1.647782871114676e-02 1.647358475732917e-02 1.646933629656457e-02 1.646508330893651e-02 1.646082578033714e-02 + 1.645656373337251e-02 1.645229715576629e-02 1.644802602626009e-02 1.644375035674409e-02 1.643947014097659e-02 + 1.643518536281393e-02 1.643089602671802e-02 1.642660213310334e-02 1.642230367492405e-02 1.641800064388943e-02 + 1.641369303446324e-02 1.640938084474308e-02 1.640506407467653e-02 1.640074271742540e-02 1.639641675907646e-02 + 1.639208620097271e-02 1.638775104513307e-02 1.638341128505268e-02 1.637906691499287e-02 1.637471792980197e-02 + 1.637036432400064e-02 1.636600609175647e-02 1.636164322915392e-02 1.635727573684415e-02 1.635290360792794e-02 + 1.634852683359730e-02 1.634414541697593e-02 1.633975935494602e-02 1.633536863669590e-02 1.633097325119221e-02 + 1.632657319870386e-02 1.632216848742881e-02 1.631775910539292e-02 1.631334504210032e-02 1.630892629731235e-02 + 1.630450287107613e-02 1.630007475715268e-02 1.629564194133085e-02 1.629120442381021e-02 1.628676220752001e-02 + 1.628231528645751e-02 1.627786365361661e-02 1.627340730437480e-02 1.626894623909321e-02 1.626448044809207e-02 + 1.626000991935131e-02 1.625553465710418e-02 1.625105466086324e-02 1.624656992364918e-02 1.624208044008659e-02 + 1.623758620493278e-02 1.623308721259990e-02 1.622858345750622e-02 1.622407493651434e-02 1.621956164908100e-02 + 1.621504359102545e-02 1.621052075671857e-02 1.620599314061202e-02 1.620146073758967e-02 1.619692354185834e-02 + 1.619238154678624e-02 1.618783475477294e-02 1.618328316706134e-02 1.617872676957040e-02 1.617416555535298e-02 + 1.616959952441603e-02 1.616502867670949e-02 1.616045300241566e-02 1.615587248863419e-02 1.615128714307292e-02 + 1.614669696726644e-02 1.614210195036420e-02 1.613750207990814e-02 1.613289735436475e-02 1.612828778261194e-02 + 1.612367334765880e-02 1.611905403879705e-02 1.611442986870223e-02 1.610980082722066e-02 1.610516690212456e-02 + 1.610052809916244e-02 1.609588441136000e-02 1.609123582829610e-02 1.608658235171540e-02 1.608192397521171e-02 + 1.607726068992654e-02 1.607259250083978e-02 1.606791940362701e-02 1.606324138657220e-02 1.605855844962495e-02 + 1.605387058768025e-02 1.604917779011535e-02 1.604448006054786e-02 1.603977739874237e-02 1.603506979420087e-02 + 1.603035723984084e-02 1.602563973257448e-02 1.602091727188371e-02 1.601618984720332e-02 1.601145745295015e-02 + 1.600672010067149e-02 1.600197777942985e-02 1.599723047266619e-02 1.599247818462375e-02 1.598772091449355e-02 + 1.598295865408641e-02 1.597819139147786e-02 1.597341912912636e-02 1.596864187530068e-02 1.596385961058315e-02 + 1.595907232771693e-02 1.595428003613896e-02 1.594948272828454e-02 1.594468039178993e-02 1.593987301780130e-02 + 1.593506061365002e-02 1.593024318102167e-02 1.592542070422077e-02 1.592059317798925e-02 1.591576060279083e-02 + 1.591092297799217e-02 1.590608029141302e-02 1.590123253274349e-02 1.589637971157846e-02 1.589152182656434e-02 + 1.588665886609507e-02 1.588179081847464e-02 1.587691768450550e-02 1.587203947045915e-02 1.586715616213467e-02 + 1.586226775168990e-02 1.585737424168921e-02 1.585247562649581e-02 1.584757190117160e-02 1.584266306445842e-02 + 1.583774911091078e-02 1.583283003450806e-02 1.582790583090947e-02 1.582297649499978e-02 1.581804202355953e-02 + 1.581310241701619e-02 1.580815766650671e-02 1.580320776320766e-02 1.579825271139450e-02 1.579329250537274e-02 + 1.578832713506978e-02 1.578335660262603e-02 1.577838090296324e-02 1.577340002574811e-02 1.576841397243399e-02 + 1.576342274326813e-02 1.575842633194578e-02 1.575342472205075e-02 1.574841791148685e-02 1.574340591569888e-02 + 1.573838872006093e-02 1.573336631006632e-02 1.572833869008299e-02 1.572330586230670e-02 1.571826781924578e-02 + 1.571322454052314e-02 1.570817603062760e-02 1.570312230059812e-02 1.569806333998715e-02 1.569299913693516e-02 + 1.568792968457186e-02 1.568285498663007e-02 1.567777503779379e-02 1.567268982728102e-02 1.566759935997030e-02 + 1.566250363482262e-02 1.565740264102256e-02 1.565229637077196e-02 1.564718482295817e-02 1.564206800099241e-02 + 1.563694589151567e-02 1.563181848599405e-02 1.562668579194260e-02 1.562154780177149e-02 1.561640450642917e-02 + 1.561125590888111e-02 1.560610200797837e-02 1.560094279515962e-02 1.559577825343192e-02 1.559060838842812e-02 + 1.558543321151646e-02 1.558025270088283e-02 1.557506685188879e-02 1.556987567405825e-02 1.556467915294808e-02 + 1.555947727806998e-02 1.555427005014520e-02 1.554905747326830e-02 1.554383954557267e-02 1.553861625685508e-02 + 1.553338760005679e-02 1.552815357203842e-02 1.552291417232042e-02 1.551766939022104e-02 1.551241921985975e-02 + 1.550716367246923e-02 1.550190274051892e-02 1.549663640983429e-02 1.549136467943576e-02 1.548608754911306e-02 + 1.548080501516420e-02 1.547551706650131e-02 1.547022370107663e-02 1.546492492363977e-02 1.545962073006300e-02 + 1.545431111106912e-02 1.544899605692932e-02 1.544367557060635e-02 1.543834964941066e-02 1.543301828099291e-02 + 1.542768146907574e-02 1.542233921474585e-02 1.541699150599057e-02 1.541163833967913e-02 1.540627971422265e-02 + 1.540091562222576e-02 1.539554606062004e-02 1.539017102808156e-02 1.538479052048013e-02 1.537940453376258e-02 + 1.537401306270197e-02 1.536861609811398e-02 1.536321364249661e-02 1.535780570199338e-02 1.535239225620149e-02 + 1.534697329939463e-02 1.534154884369051e-02 1.533611887960563e-02 1.533068339829330e-02 1.532524239983298e-02 + 1.531979587995433e-02 1.531434383110085e-02 1.530888624554550e-02 1.530342313142362e-02 1.529795449144603e-02 + 1.529248030485156e-02 1.528700056732233e-02 1.528151528324413e-02 1.527602445059826e-02 1.527052806021316e-02 + 1.526502610370102e-02 1.525951858764995e-02 1.525400550804322e-02 1.524848685322667e-02 1.524296262660809e-02 + 1.523743282528689e-02 1.523189743753784e-02 1.522635646012132e-02 1.522080989370855e-02 1.521525773883866e-02 + 1.520969998584297e-02 1.520413662809972e-02 1.519856766896251e-02 1.519299310438481e-02 1.518741292689401e-02 + 1.518182713051541e-02 1.517623571498702e-02 1.517063867977171e-02 1.516503601659771e-02 1.515942772580205e-02 + 1.515381380882217e-02 1.514819425008754e-02 1.514256904339338e-02 1.513693819284546e-02 1.513130169987854e-02 + 1.512565955837021e-02 1.512001175774349e-02 1.511435830052952e-02 1.510869918485496e-02 1.510303439909880e-02 + 1.509736393861015e-02 1.509168780464220e-02 1.508600600178219e-02 1.508031852355242e-02 1.507462535986425e-02 + 1.506892650464710e-02 1.506322195838325e-02 1.505751172137055e-02 1.505179578553525e-02 1.504607414992266e-02 + 1.504034681527993e-02 1.503461377008154e-02 1.502887501067205e-02 1.502313053999477e-02 1.501738035243006e-02 + 1.501162444030474e-02 1.500586279803602e-02 1.500009542963074e-02 1.499432233574762e-02 1.498854350912934e-02 + 1.498275894315130e-02 1.497696863387312e-02 1.497117258012378e-02 1.496537077480856e-02 1.495956321394884e-02 + 1.495374990400090e-02 1.494793083920974e-02 1.494210600904758e-02 1.493627541059610e-02 1.493043904648383e-02 + 1.492459691659297e-02 1.491874900408085e-02 1.491289530722370e-02 1.490703583623931e-02 1.490117058646935e-02 + 1.489529954725381e-02 1.488942270892006e-02 1.488354007804980e-02 1.487765165385858e-02 1.487175742273507e-02 + 1.486585738883519e-02 1.485995155398175e-02 1.485403990610964e-02 1.484812243988829e-02 1.484219915557141e-02 + 1.483627005584607e-02 1.483033513203473e-02 1.482439437542072e-02 1.481844779264578e-02 1.481249538141862e-02 + 1.480653713381494e-02 1.480057304868135e-02 1.479460312202780e-02 1.478862734716873e-02 1.478264572087699e-02 + 1.477665824308106e-02 1.477066491441443e-02 1.476466572742758e-02 1.475866067903805e-02 1.475264977269339e-02 + 1.474663299844858e-02 1.474061034872640e-02 1.473458182710518e-02 1.472854743115566e-02 1.472250715651883e-02 + 1.471646100132783e-02 1.471040896256117e-02 1.470435103749897e-02 1.469828722554372e-02 1.469221751827344e-02 + 1.468614190646898e-02 1.468006039547928e-02 1.467397298615093e-02 1.466787967378610e-02 1.466178045636883e-02 + 1.465567533041493e-02 1.464956428982840e-02 1.464344732703370e-02 1.463732444018100e-02 1.463119563426315e-02 + 1.462506090797482e-02 1.461892025637629e-02 1.461277367320199e-02 1.460662115516677e-02 1.460046270026797e-02 + 1.459429830605704e-02 1.458812796887011e-02 1.458195168595082e-02 1.457576945823491e-02 1.456958128559711e-02 + 1.456338716422361e-02 1.455718708308891e-02 1.455098103823577e-02 1.454476903226018e-02 1.453855106504101e-02 + 1.453232713525658e-02 1.452609724028033e-02 1.451986137384772e-02 1.451361953112174e-02 1.450737171027855e-02 + 1.450111790831084e-02 1.449485812287890e-02 1.448859235383744e-02 1.448232060352556e-02 1.447604287018101e-02 + 1.446975914267516e-02 1.446346941597466e-02 1.445717368938523e-02 1.445087196279080e-02 1.444456423724572e-02 + 1.443825051237331e-02 1.443193078136921e-02 1.442560503975330e-02 1.441927328581930e-02 1.441293551683267e-02 + 1.440659172970616e-02 1.440024192165075e-02 1.439388609177658e-02 1.438752424156573e-02 1.438115637277796e-02 + 1.437478247503487e-02 1.436840254149195e-02 1.436201657648160e-02 1.435562457263202e-02 1.434922652522855e-02 + 1.434282244486077e-02 1.433641232984850e-02 1.432999617114929e-02 1.432357396196595e-02 1.431714570255755e-02 + 1.431071139387867e-02 1.430427102559402e-02 1.429782460021014e-02 1.429137212732056e-02 1.428491359501307e-02 + 1.427844899676062e-02 1.427197833606156e-02 1.426550161130239e-02 1.425901881685885e-02 1.425252994564961e-02 + 1.424603499980085e-02 1.423953398385027e-02 1.423302689906778e-02 1.422651373475527e-02 1.421999448399202e-02 + 1.421346915585374e-02 1.420693774198730e-02 1.420040023237321e-02 1.419385663850131e-02 1.418730696003290e-02 + 1.418075118751426e-02 1.417418931634679e-02 1.416762135086922e-02 1.416104729584521e-02 1.415446713263836e-02 + 1.414788085973522e-02 1.414128849363525e-02 1.413469002361970e-02 1.412808544052846e-02 1.412147474772301e-02 + 1.411485794712882e-02 1.410823503604182e-02 1.410160600672222e-02 1.409497085818714e-02 1.408832959214252e-02 + 1.408168220875668e-02 1.407502870564407e-02 1.406836907961611e-02 1.406170332864153e-02 1.405503144837146e-02 + 1.404835343608425e-02 1.404166929852345e-02 1.403497903248639e-02 1.402828262916828e-02 1.402158009603205e-02 + 1.401487143048169e-02 1.400815661918214e-02 1.400143566703935e-02 1.399470857625501e-02 1.398797534046779e-02 + 1.398123596549795e-02 1.397449045134991e-02 1.396773878380821e-02 1.396098096640959e-02 1.395421700271061e-02 + 1.394744688102961e-02 1.394067060648909e-02 1.393388818692338e-02 1.392709961198955e-02 1.392030488001634e-02 + 1.391350399327543e-02 1.390669694254475e-02 1.389988372719557e-02 1.389306435287330e-02 1.388623881438261e-02 + 1.387940711188756e-02 1.387256925103053e-02 1.386572522405790e-02 1.385887502683316e-02 1.385201866296698e-02 + 1.384515612379329e-02 1.383828740611332e-02 1.383141252098464e-02 1.382453146615934e-02 1.381764423695148e-02 + 1.381075083621117e-02 1.380385125926009e-02 1.379694549932224e-02 1.379003355634722e-02 1.378311543405784e-02 + 1.377619113577579e-02 1.376926065784134e-02 1.376232399626086e-02 1.375538114862362e-02 1.374843211529037e-02 + 1.374147689626999e-02 1.373451549097131e-02 1.372754790081035e-02 1.372057412482435e-02 1.371359415880417e-02 + 1.370660800191563e-02 1.369961565562416e-02 1.369261712158748e-02 1.368561239160383e-02 1.367860146147292e-02 + 1.367158434223160e-02 1.366456103295884e-02 1.365753152816715e-02 1.365049582984413e-02 1.364345393626983e-02 + 1.363640584363454e-02 1.362935155197557e-02 1.362229106201978e-02 1.361522437421294e-02 1.360815148809621e-02 + 1.360107240365773e-02 1.359398712117658e-02 1.358689563898480e-02 1.357979795217255e-02 1.357269405533802e-02 + 1.356558396017600e-02 1.355846767355538e-02 1.355134518540141e-02 1.354421648973967e-02 1.353708158728038e-02 + 1.352994048497773e-02 1.352279317412557e-02 1.351563964921714e-02 1.350847993234027e-02 1.350131401794928e-02 + 1.349414188812881e-02 1.348696355361660e-02 1.347977901858603e-02 1.347258827670450e-02 1.346539132112732e-02 + 1.345818815687027e-02 1.345097879723517e-02 1.344376323611521e-02 1.343654146470481e-02 1.342931348024562e-02 + 1.342207929164266e-02 1.341483890125029e-02 1.340759229714105e-02 1.340033948592649e-02 1.339308047488992e-02 + 1.338581525615185e-02 1.337854383232506e-02 1.337126620737807e-02 1.336398237245951e-02 1.335669232490426e-02 + 1.334939606999042e-02 1.334209361886319e-02 1.333478496691931e-02 1.332747010093965e-02 1.332014902896288e-02 + 1.331282175723704e-02 1.330548828381385e-02 1.329814860211957e-02 1.329080271412866e-02 1.328345063097246e-02 + 1.327609234424045e-02 1.326872784914616e-02 1.326135715657202e-02 1.325398026514318e-02 1.324659716972378e-02 + 1.323920787031880e-02 1.323181236976987e-02 1.322441067219326e-02 1.321700278123619e-02 1.320958869473772e-02 + 1.320216840889533e-02 1.319474192647233e-02 1.318730924299288e-02 1.317987035320805e-02 1.317242527523754e-02 + 1.316497401404441e-02 1.315751655750498e-02 1.315005290457417e-02 1.314258305915991e-02 1.313510702533477e-02 + 1.312762479749873e-02 1.312013637454663e-02 1.311264176674524e-02 1.310514097528989e-02 1.309763399743803e-02 + 1.309012083240218e-02 1.308260148524151e-02 1.307507595779872e-02 1.306754423810231e-02 1.306000633130083e-02 + 1.305246225068735e-02 1.304491199415833e-02 1.303735555888092e-02 1.302979294561730e-02 1.302222416114251e-02 + 1.301464920127586e-02 1.300706805512286e-02 1.299948074007148e-02 1.299188726392925e-02 1.298428761376350e-02 + 1.297668178953030e-02 1.296906979917289e-02 1.296145165196894e-02 1.295382733572278e-02 1.294619684321666e-02 + 1.293856019418804e-02 1.293091739361701e-02 1.292326843600229e-02 1.291561331594024e-02 1.290795203962965e-02 + 1.290028461406370e-02 1.289261102589192e-02 1.288493127982097e-02 1.287724539399148e-02 1.286955336728896e-02 + 1.286185519483855e-02 1.285415087393522e-02 1.284644040779901e-02 1.283872379943217e-02 1.283100105007112e-02 + 1.282327216499671e-02 1.281553714651719e-02 1.280779599126801e-02 1.280004870582322e-02 1.279229529551004e-02 + 1.278453575462785e-02 1.277677008230648e-02 1.276899828322272e-02 1.276122036637128e-02 1.275343633303281e-02 + 1.274564618082443e-02 1.273784991358546e-02 1.273004753391990e-02 1.272223904101719e-02 1.271442442957637e-02 + 1.270660370794978e-02 1.269877689384363e-02 1.269094397773904e-02 1.268310495443295e-02 1.267525983383190e-02 + 1.266740862159357e-02 1.265955131610305e-02 1.265168790986125e-02 1.264381841321034e-02 1.263594283614933e-02 + 1.262806117310012e-02 1.262017342951705e-02 1.261227961209872e-02 1.260437971406514e-02 1.259647373729069e-02 + 1.258856168925583e-02 1.258064357239260e-02 1.257271939240096e-02 1.256478915520078e-02 1.255685285459754e-02 + 1.254891049173029e-02 1.254096207570647e-02 1.253300760376554e-02 1.252504707668881e-02 1.251708050378790e-02 + 1.250910789128773e-02 1.250112924190730e-02 1.249314455497329e-02 1.248515382942968e-02 1.247715706626537e-02 + 1.246915427066142e-02 1.246114545004359e-02 1.245313061093009e-02 1.244510975519442e-02 1.243708288271855e-02 + 1.242904999334644e-02 1.242101108960597e-02 1.241296617602342e-02 1.240491525784085e-02 1.239685833832253e-02 + 1.238879542265411e-02 1.238072651672425e-02 1.237265161832934e-02 1.236457072972670e-02 1.235648385971585e-02 + 1.234839100475330e-02 1.234029216644840e-02 1.233218735967670e-02 1.232407658450629e-02 1.231595983825897e-02 + 1.230783712734204e-02 1.229970846199802e-02 1.229157384500942e-02 1.228343326032102e-02 1.227528672233900e-02 + 1.226713425500730e-02 1.225897584359588e-02 1.225081148758153e-02 1.224264120133804e-02 1.223446498720786e-02 + 1.222628284514866e-02 1.221809477711035e-02 1.220990079161559e-02 1.220170089405064e-02 1.219349508434973e-02 + 1.218528336781141e-02 1.217706575082829e-02 1.216884223701085e-02 1.216061282093886e-02 1.215237750559525e-02 + 1.214413631491834e-02 1.213588924765066e-02 1.212763629639266e-02 1.211937747504947e-02 1.211111278696468e-02 + 1.210284222899338e-02 1.209456580676226e-02 1.208628352659129e-02 1.207799539529086e-02 1.206970142400196e-02 + 1.206140161359375e-02 1.205309595715539e-02 1.204478446558403e-02 1.203646714593309e-02 1.202814399601385e-02 + 1.201981502726849e-02 1.201148024892713e-02 1.200313965960066e-02 1.199479326438714e-02 1.198644106975963e-02 + 1.197808307814890e-02 1.196971928979660e-02 1.196134970757412e-02 1.195297434273665e-02 1.194459320579336e-02 + 1.193620630286995e-02 1.192781363156250e-02 1.191941519457288e-02 1.191101099930699e-02 1.190260104978759e-02 + 1.189418535108248e-02 1.188576391078268e-02 1.187733673904143e-02 1.186890383909906e-02 1.186046520717658e-02 + 1.185202085452967e-02 1.184357078721630e-02 1.183511499765447e-02 1.182665350164435e-02 1.181818631619212e-02 + 1.180971343948878e-02 1.180123487113532e-02 1.179275061618258e-02 1.178426068678883e-02 1.177576508273127e-02 + 1.176726380098327e-02 1.175875685721244e-02 1.175024426443667e-02 1.174172602804813e-02 1.173320214474543e-02 + 1.172467261918110e-02 1.171613746318596e-02 1.170759667473828e-02 1.169905025976067e-02 1.169049823639713e-02 + 1.168194060529573e-02 1.167337736787376e-02 1.166480853596695e-02 1.165623411322526e-02 1.164765410079015e-02 + 1.163906850325271e-02 1.163047732858534e-02 1.162188058835008e-02 1.161327829716097e-02 1.160467045202270e-02 + 1.159605704763531e-02 1.158743810702480e-02 1.157881363156412e-02 1.157018361041755e-02 1.156154807040710e-02 + 1.155290702254676e-02 1.154426045745637e-02 1.153560838867705e-02 1.152695082724772e-02 1.151828777265603e-02 + 1.150961922666123e-02 1.150094519786783e-02 1.149226570234640e-02 1.148358074611148e-02 1.147489033148848e-02 + 1.146619446355201e-02 1.145749315215113e-02 1.144878640491215e-02 1.144007421936342e-02 1.143135660500108e-02 + 1.142263357779597e-02 1.141390514531738e-02 1.140517131031360e-02 1.139643207471360e-02 1.138768744746770e-02 + 1.137893743736065e-02 1.137018205114591e-02 1.136142129485616e-02 1.135265517811921e-02 1.134388371322748e-02 + 1.133510690045416e-02 1.132632474439678e-02 1.131753726104511e-02 1.130874445081251e-02 1.129994631541456e-02 + 1.129114287234474e-02 1.128233413053084e-02 1.127352009524980e-02 1.126470077646612e-02 1.125587617975814e-02 + 1.124704630615814e-02 1.123821115477194e-02 1.122937074388692e-02 1.122052509984340e-02 1.121167421843202e-02 + 1.120281809651728e-02 1.119395674175946e-02 1.118509017235879e-02 1.117621839625571e-02 1.116734140890626e-02 + 1.115845922925729e-02 1.114957187162777e-02 1.114067933143962e-02 1.113178161769016e-02 1.112287874451852e-02 + 1.111397072153178e-02 1.110505754694771e-02 1.109613922373310e-02 1.108721577854856e-02 1.107828721826434e-02 + 1.106935353946150e-02 1.106041475521090e-02 1.105147087839408e-02 1.104252191603393e-02 1.103356786436798e-02 + 1.102460873384026e-02 1.101564454870664e-02 1.100667531791245e-02 1.099770104268406e-02 1.098872172333136e-02 + 1.097973737703280e-02 1.097074801492989e-02 1.096175363206450e-02 1.095275424291130e-02 1.094374986633713e-02 + 1.093474051123777e-02 1.092572618232803e-02 1.091670688531980e-02 1.090768263148204e-02 1.089865342255811e-02 + 1.088961926240844e-02 1.088058018050034e-02 1.087153618780464e-02 1.086248727940419e-02 1.085343346361914e-02 + 1.084437475261139e-02 1.083531115780061e-02 1.082624268419920e-02 1.081716934144050e-02 1.080809114559821e-02 + 1.079900810312026e-02 1.078992022093278e-02 1.078082751184906e-02 1.077172998533364e-02 1.076262764813011e-02 + 1.075352050586474e-02 1.074440857092024e-02 1.073529185762834e-02 1.072617037570664e-02 1.071704413251609e-02 + 1.070791313635956e-02 1.069877740113652e-02 1.068963693244828e-02 1.068049173224424e-02 1.067134181766250e-02 + 1.066218720670161e-02 1.065302791162099e-02 1.064386393117340e-02 1.063469527249458e-02 1.062552195483164e-02 + 1.061634397913101e-02 1.060716135205155e-02 1.059797409807024e-02 1.058878223029125e-02 1.057958575437316e-02 + 1.057038467384018e-02 1.056117900039964e-02 1.055196874533382e-02 1.054275390960051e-02 1.053353451406393e-02 + 1.052431058354873e-02 1.051508211263400e-02 1.050584910821505e-02 1.049661158906674e-02 1.048736956269110e-02 + 1.047812303544552e-02 1.046887201730896e-02 1.045961652742825e-02 1.045035657823219e-02 1.044109217270465e-02 + 1.043182332652317e-02 1.042255005238709e-02 1.041327235213399e-02 1.040399023555266e-02 1.039470371859749e-02 + 1.038541282005145e-02 1.037611754740451e-02 1.036681790639924e-02 1.035751391340543e-02 1.034820558036888e-02 + 1.033889291336949e-02 1.032957591435120e-02 1.032025460242317e-02 1.031092900384275e-02 1.030159911688449e-02 + 1.029226495054825e-02 1.028292652729243e-02 1.027358385071069e-02 1.026423692589549e-02 1.025488576741323e-02 + 1.024553039300053e-02 1.023617081698821e-02 1.022680704740226e-02 1.021743909457171e-02 1.020806697035185e-02 + 1.019869068658227e-02 1.018931025066223e-02 1.017992567348438e-02 1.017053697875713e-02 1.016114417776936e-02 + 1.015174727399650e-02 1.014234627700861e-02 1.013294120450803e-02 1.012353207457940e-02 1.011411888599992e-02 + 1.010470164920459e-02 1.009528038851809e-02 1.008585511657422e-02 1.007642584330934e-02 1.006699257991301e-02 + 1.005755533847607e-02 1.004811412861271e-02 1.003866895746225e-02 1.002921984502842e-02 1.001976681035788e-02 + 1.001030986009602e-02 1.000084900502786e-02 9.991384259025663e-03 9.981915635495017e-03 9.972443141719819e-03 + 9.962966786689603e-03 9.953486595586885e-03 9.944002583039199e-03 9.934514754395770e-03 9.925023122335749e-03 + 9.915527701693664e-03 9.906028505794947e-03 9.896525539473492e-03 9.887018817044350e-03 9.877508364713565e-03 + 9.867994191756903e-03 9.858476305769829e-03 9.848954721540815e-03 9.839429453723526e-03 9.829900512927632e-03 + 9.820367904529967e-03 9.810831649938153e-03 9.801291772225836e-03 9.791748277276684e-03 9.782201174956444e-03 + 9.772650480173910e-03 9.763096209214261e-03 9.753538370443265e-03 9.743976971083063e-03 9.734412038356991e-03 + 9.724843589152831e-03 9.715271627378256e-03 9.705696167153652e-03 9.696117225097080e-03 9.686534815487291e-03 + 9.676948943754414e-03 9.667359623576509e-03 9.657766883492007e-03 9.648170733986708e-03 9.638571181819185e-03 + 9.628968243024477e-03 9.619361933494769e-03 9.609752265452595e-03 9.600139245296816e-03 9.590522893495216e-03 + 9.580903234511828e-03 9.571280275331249e-03 9.561654026946651e-03 9.552024506017841e-03 9.542391727779683e-03 + 9.532755702177183e-03 9.523116437885958e-03 9.513473960404769e-03 9.503828289303256e-03 9.494179431678001e-03 + 9.484527400058637e-03 9.474872210511853e-03 9.465213879778082e-03 9.455552415295903e-03 9.445887829718797e-03 + 9.436220151655284e-03 9.426549394486200e-03 9.416875565725477e-03 9.407198681221749e-03 9.397518758018270e-03 + 9.387835810148322e-03 9.378149843813783e-03 9.368460878589471e-03 9.358768941430739e-03 9.349074041571485e-03 + 9.339376189353358e-03 9.329675400879622e-03 9.319971694171958e-03 9.310265081086165e-03 9.300555568605354e-03 + 9.290843182951191e-03 9.281127946492163e-03 9.271409865969660e-03 9.261688954922952e-03 9.251965230660204e-03 + 9.242238709904914e-03 9.232509401801155e-03 9.222777318787652e-03 9.213042489474691e-03 9.203304930168641e-03 + 9.193564649383718e-03 9.183821661973759e-03 9.174075985705271e-03 9.164327637046287e-03 9.154576623077591e-03 + 9.144822962285418e-03 9.135066683045857e-03 9.125307796249328e-03 9.115546312613307e-03 9.105782249286811e-03 + 9.096015624756502e-03 9.086246452281876e-03 9.076474739187750e-03 9.066700510968253e-03 9.056923792083085e-03 + 9.047144590189744e-03 9.037362919662660e-03 9.027578799121916e-03 9.017792245480461e-03 9.008003268928564e-03 + 8.998211881680073e-03 8.988418113610518e-03 8.978621982540696e-03 8.968823496265647e-03 8.959022672124209e-03 + 8.949219528590024e-03 8.939414081469170e-03 8.929606339864140e-03 8.919796321979990e-03 8.909984056877767e-03 + 8.900169557867096e-03 8.890352835957138e-03 8.880533907981049e-03 8.870712793191068e-03 8.860889506593549e-03 + 8.851064055633283e-03 8.841236465905915e-03 8.831406764712287e-03 8.821574959648875e-03 8.811741064546590e-03 + 8.801905099237244e-03 8.792067082696866e-03 8.782227026145442e-03 8.772384940188230e-03 8.762540855386065e-03 + 8.752694792574688e-03 8.742846759945761e-03 8.732996774006149e-03 8.723144854408183e-03 8.713291019755398e-03 + 8.703435278608567e-03 8.693577647775636e-03 8.683718159456632e-03 8.673856827661263e-03 8.663993662505663e-03 + 8.654128683145933e-03 8.644261909320558e-03 8.634393356690426e-03 8.624523033451901e-03 8.614650964506795e-03 + 8.604777179373340e-03 8.594901686657006e-03 8.585024500118565e-03 8.575145640490715e-03 8.565265126670765e-03 + 8.555382971806235e-03 8.545499187654319e-03 8.535613803632294e-03 8.525726842250045e-03 8.515838312646278e-03 + 8.505948232174527e-03 8.496056621077198e-03 8.486163497882877e-03 8.476268872748003e-03 8.466372762116349e-03 + 8.456475199094931e-03 8.446576199856061e-03 8.436675774300739e-03 8.426773941795081e-03 8.416870722731803e-03 + 8.406966134358667e-03 8.397060186389057e-03 8.387152901959176e-03 8.377244311160385e-03 8.367334425300299e-03 + 8.357423258296441e-03 8.347510830980188e-03 8.337597163605794e-03 8.327682270401855e-03 8.317766161869340e-03 + 8.307848867754637e-03 8.297930413816063e-03 8.288010810083676e-03 8.278090072673102e-03 8.268168221765407e-03 + 8.258245278027963e-03 8.248321253600945e-03 8.238396163758082e-03 8.228470040664376e-03 8.218542903042886e-03 + 8.208614761992156e-03 8.198685637447353e-03 8.188755549837494e-03 8.178824516773604e-03 8.168892549578916e-03 + 8.158959670459199e-03 8.149025910256038e-03 8.139091282816925e-03 8.129155801857130e-03 8.119219487437710e-03 + 8.109282361690508e-03 8.099344440765549e-03 8.089405733754036e-03 8.079466270417937e-03 8.069526079135253e-03 + 8.059585169010465e-03 8.049643556954327e-03 8.039701265060109e-03 8.029758314127560e-03 8.019814717074126e-03 + 8.009870488264625e-03 7.999925660293698e-03 7.989980254561855e-03 7.980034282561204e-03 7.970087763203990e-03 + 7.960140717914167e-03 7.950193166721423e-03 7.940245120231920e-03 7.930296599391260e-03 7.920347637831796e-03 + 7.910398250263278e-03 7.900448449763646e-03 7.890498257622273e-03 7.880547695356892e-03 7.870596780430528e-03 + 7.860645524802819e-03 7.850693955430419e-03 7.840742100859013e-03 7.830789973961963e-03 7.820837591210042e-03 + 7.810884973654219e-03 7.800932143705464e-03 7.790979115476222e-03 7.781025902060369e-03 7.771072537550891e-03 + 7.761119045304192e-03 7.751165435253132e-03 7.741211727248220e-03 7.731257943744334e-03 7.721304105116559e-03 + 7.711350222852130e-03 7.701396316987202e-03 7.691442422531397e-03 7.681488555826352e-03 7.671534729460651e-03 + 7.661580965493510e-03 7.651627286213397e-03 7.641673709645761e-03 7.631720246474624e-03 7.621766924002147e-03 + 7.611813774300424e-03 7.601860809420407e-03 7.591908045212342e-03 7.581955503946372e-03 7.572003208680656e-03 + 7.562051174726026e-03 7.552099414296815e-03 7.542147961065804e-03 7.532196840825635e-03 7.522246063843738e-03 + 7.512295650102864e-03 7.502345622322073e-03 7.492396000716249e-03 7.482446799189802e-03 7.472498037196947e-03 + 7.462549747897286e-03 7.452601950331629e-03 7.442654658211039e-03 7.432707892744488e-03 7.422761676416634e-03 + 7.412816028768508e-03 7.402870961455420e-03 7.392926500328647e-03 7.382982678429822e-03 7.373039508794957e-03 + 7.363097007225734e-03 7.353155196864952e-03 7.343214100532815e-03 7.333273734782904e-03 7.323334112197604e-03 + 7.313395265021593e-03 7.303457220900774e-03 7.293519991033275e-03 7.283583594600794e-03 7.273648054943689e-03 + 7.263713394446934e-03 7.253779626580373e-03 7.243846768480717e-03 7.233914855435080e-03 7.223983908518886e-03 + 7.214053940460562e-03 7.204124972417771e-03 7.194197027491048e-03 7.184270126394881e-03 7.174344280726286e-03 + 7.164419514784642e-03 7.154495863236941e-03 7.144573340914020e-03 7.134651962993328e-03 7.124731752265264e-03 + 7.114812732100897e-03 7.104894920638768e-03 7.094978330575343e-03 7.085062992246606e-03 7.075148934793896e-03 + 7.065236171017366e-03 7.055324719420953e-03 7.045414603125002e-03 7.035505845669364e-03 7.025598461448587e-03 + 7.015692466009597e-03 7.005787894887785e-03 6.995884771371198e-03 6.985983107977662e-03 6.976082925249031e-03 + 6.966184246523457e-03 6.956287093797063e-03 6.946391479271966e-03 6.936497425652844e-03 6.926604968509339e-03 + 6.916714124366364e-03 6.906824907731460e-03 6.896937340931554e-03 6.887051448149962e-03 6.877167248699087e-03 + 6.867284753979424e-03 6.857403994050719e-03 6.847525000658012e-03 6.837647785670592e-03 6.827772367409923e-03 + 6.817898770109592e-03 6.808027016717447e-03 6.798157122708669e-03 6.788289103240300e-03 6.778422992931511e-03 + 6.768558816798320e-03 6.758696587557012e-03 6.748836325648165e-03 6.738978054348659e-03 6.729121795949092e-03 + 6.719267563927435e-03 6.709415379633438e-03 6.699565278400954e-03 6.689717278120727e-03 6.679871393303892e-03 + 6.670027647355804e-03 6.660186063525513e-03 6.650346660981845e-03 6.640509452367944e-03 6.630674466396449e-03 + 6.620841735868644e-03 6.611011273308148e-03 6.601183096392477e-03 6.591357229649247e-03 6.581533696087914e-03 + 6.571712512145987e-03 6.561893692372858e-03 6.552077270290561e-03 6.542263272668194e-03 6.532451712617284e-03 + 6.522642609933696e-03 6.512835987879551e-03 6.503031869590782e-03 6.493230268870023e-03 6.483431205156500e-03 + 6.473634714105858e-03 6.463840816056773e-03 6.454049525191551e-03 6.444260863046832e-03 6.434474853362258e-03 + 6.424691517208967e-03 6.414910866799055e-03 6.405132928351729e-03 6.395357735592168e-03 6.385585303753894e-03 + 6.375815649717760e-03 6.366048796411005e-03 6.356284767471845e-03 6.346523580477974e-03 6.336765248927921e-03 + 6.327009805730009e-03 6.317257279178600e-03 6.307507681412946e-03 6.297761032647583e-03 6.288017356862164e-03 + 6.278276676438099e-03 6.268539005625230e-03 6.258804362658888e-03 6.249072783406197e-03 6.239344289504087e-03 + 6.229618894349891e-03 6.219896619699197e-03 6.210177489065160e-03 6.200461523673893e-03 6.190748736475173e-03 + 6.181039151999554e-03 6.171332804226705e-03 6.161629709556120e-03 6.151929884103313e-03 6.142233350147177e-03 + 6.132540131644584e-03 6.122850247356021e-03 6.113163710170625e-03 6.103480551213418e-03 6.093800800141988e-03 + 6.084124469547710e-03 6.074451578566364e-03 6.064782150905211e-03 6.055116209626953e-03 6.045453769994722e-03 + 6.035794848740185e-03 6.026139480474754e-03 6.016487688229946e-03 6.006839485237500e-03 5.997194892776407e-03 + 5.987553934341584e-03 5.977916631713333e-03 5.968282997802390e-03 5.958653055343909e-03 5.949026838944569e-03 + 5.939404365780911e-03 5.929785651209331e-03 5.920170717549854e-03 5.910559587858684e-03 5.900952281370824e-03 + 5.891348811852907e-03 5.881749208142844e-03 5.872153500225121e-03 5.862561701850070e-03 5.852973831530551e-03 + 5.843389912374926e-03 5.833809966833203e-03 5.824234011006907e-03 5.814662060999971e-03 5.805094150375409e-03 + 5.795530303292347e-03 5.785970532524381e-03 5.776414859211175e-03 5.766863306294991e-03 5.757315894674337e-03 + 5.747772638659374e-03 5.738233559732430e-03 5.728698691311226e-03 5.719168051719483e-03 5.709641656042984e-03 + 5.700119526414031e-03 5.690601685377130e-03 5.681088152168133e-03 5.671578940158426e-03 5.662074076665564e-03 + 5.652573592801510e-03 5.643077502877857e-03 5.633585823810169e-03 5.624098577633230e-03 5.614615788052954e-03 + 5.605137471831965e-03 5.595663642810052e-03 5.586194333773162e-03 5.576729570469775e-03 5.567269364923084e-03 + 5.557813736696195e-03 5.548362708847973e-03 5.538916303890826e-03 5.529474534822445e-03 5.520037420561356e-03 + 5.510604996543656e-03 5.501177281279281e-03 5.491754287530179e-03 5.482336037985177e-03 5.472922555453679e-03 + 5.463513859119052e-03 5.454109961206277e-03 5.444710887376439e-03 5.435316669896643e-03 5.425927322428118e-03 + 5.416542861379438e-03 5.407163309793553e-03 5.397788689388935e-03 5.388419016905312e-03 5.379054306533677e-03 + 5.369694588817857e-03 5.360339890208465e-03 5.350990223294556e-03 5.341645606645782e-03 5.332306062415535e-03 + 5.322971612709802e-03 5.313642271564683e-03 5.304318056285795e-03 5.294999000250198e-03 5.285685123732157e-03 + 5.276376439554206e-03 5.267072968338082e-03 5.257774732353860e-03 5.248481751732874e-03 5.239194038865901e-03 + 5.229911616755654e-03 5.220634516968343e-03 5.211362754853240e-03 5.202096346092698e-03 5.192835312362628e-03 + 5.183579674966123e-03 5.174329450821569e-03 5.165084652994387e-03 5.155845310548846e-03 5.146611450951191e-03 + 5.137383086378589e-03 5.128160234647254e-03 5.118942917508807e-03 5.109731156137037e-03 5.100524965000140e-03 + 5.091324360054826e-03 5.082129373049942e-03 5.072940025255639e-03 5.063756329149303e-03 5.054578304260502e-03 + 5.045405972366202e-03 5.036239353680495e-03 5.027078459118392e-03 5.017923310123222e-03 5.008773940483098e-03 + 4.999630364315774e-03 4.990492594829337e-03 4.981360654331298e-03 4.972234563790402e-03 4.963114339923834e-03 + 4.953999995020500e-03 4.944891556281875e-03 4.935789051765770e-03 4.926692493194353e-03 4.917601897109304e-03 + 4.908517284729773e-03 4.899438676825864e-03 4.890366088012707e-03 4.881299532722441e-03 4.872239041569468e-03 + 4.863184636415129e-03 4.854136328649667e-03 4.845094137498133e-03 4.836058083872883e-03 4.827028186746977e-03 + 4.818004458681770e-03 4.808986918914880e-03 4.799975597861264e-03 4.790970512088721e-03 4.781971675128856e-03 + 4.772979106768043e-03 4.763992827229902e-03 4.755012853632298e-03 4.746039197549013e-03 4.737071883993436e-03 + 4.728110941197518e-03 4.719156380399636e-03 4.710208217424537e-03 4.701266473663848e-03 4.692331168251817e-03 + 4.683402315353613e-03 4.674479928383867e-03 4.665564036556664e-03 4.656654662394768e-03 4.647751816371710e-03 + 4.638855516650367e-03 4.629965783672686e-03 4.621082635909843e-03 4.612206084994354e-03 4.603336148102954e-03 + 4.594472856159325e-03 4.585616225744373e-03 4.576766268345947e-03 4.567923003199363e-03 4.559086450091263e-03 + 4.550256626033265e-03 4.541433541986122e-03 4.532617220194613e-03 4.523807688535670e-03 4.515004959722835e-03 + 4.506209047920159e-03 4.497419972185719e-03 4.488637751873642e-03 4.479862401381760e-03 4.471093932025212e-03 + 4.462332371280023e-03 4.453577742726973e-03 4.444830056583276e-03 4.436089328917552e-03 4.427355578888171e-03 + 4.418628824988929e-03 4.409909078668640e-03 4.401196354933857e-03 4.392490684030716e-03 4.383792083151365e-03 + 4.375100562120779e-03 4.366416138313078e-03 4.357738831525952e-03 4.349068659591380e-03 4.340405630957790e-03 + 4.331749765364269e-03 4.323101091949651e-03 4.314459623208851e-03 4.305825371349630e-03 4.297198354190413e-03 + 4.288578590720092e-03 4.279966095343473e-03 4.271360877578565e-03 4.262762963097229e-03 4.254172376200769e-03 + 4.245589126222103e-03 4.237013227440267e-03 4.228444697962537e-03 4.219883556022182e-03 4.211329813254019e-03 + 4.202783482548908e-03 4.194244591796649e-03 4.185713159116739e-03 4.177189194188086e-03 4.168672712320958e-03 + 4.160163731860882e-03 4.151662270610665e-03 4.143168336754119e-03 4.134681947397693e-03 4.126203130809124e-03 + 4.117731899759874e-03 4.109268265260960e-03 4.100812244167818e-03 4.092363854125291e-03 4.083923109325604e-03 + 4.075490018959178e-03 4.067064605609816e-03 4.058646892914489e-03 4.050236890474988e-03 4.041834611549669e-03 + 4.033440073099425e-03 4.025053291802670e-03 4.016674279190388e-03 4.008303046950822e-03 3.999939621219669e-03 + 3.991584019864232e-03 3.983236251035503e-03 3.974896329846703e-03 3.966564273682151e-03 3.958240098637734e-03 + 3.949923812376889e-03 3.941615430268695e-03 3.933314980874398e-03 3.925022475755094e-03 3.916737923312982e-03 + 3.908461340476090e-03 3.900192744628528e-03 3.891932149238224e-03 3.883679560814138e-03 3.875435000263637e-03 + 3.867198492508630e-03 3.858970045729460e-03 3.850749670926077e-03 3.842537384120139e-03 3.834333202377867e-03 + 3.826137136626801e-03 3.817949195349815e-03 3.809769403427763e-03 3.801597779587331e-03 3.793434330750140e-03 + 3.785279069923421e-03 3.777132013373491e-03 3.768993177352847e-03 3.760862568898475e-03 3.752740200334732e-03 + 3.744626099044159e-03 3.736520277340854e-03 3.728422742215669e-03 3.720333508785603e-03 3.712252593018920e-03 + 3.704180008090329e-03 3.696115760631814e-03 3.688059868276574e-03 3.680012354362612e-03 3.671973228138760e-03 + 3.663942499526064e-03 3.655920182566113e-03 3.647906292785413e-03 3.639900840938008e-03 3.631903834337251e-03 + 3.623915295229000e-03 3.615935242250758e-03 3.607963681828620e-03 3.600000626081414e-03 3.592046089865790e-03 + 3.584100087061132e-03 3.576162625323692e-03 3.568233715505030e-03 3.560313381862740e-03 3.552401637255495e-03 + 3.544498488187401e-03 3.536603947761108e-03 3.528718030587010e-03 3.520840749407267e-03 3.512972109975055e-03 + 3.505112127471606e-03 3.497260824593953e-03 3.489418209893856e-03 3.481584291815555e-03 3.473759083632174e-03 + 3.465942599385497e-03 3.458134849136788e-03 3.450335838875430e-03 3.442545588595099e-03 3.434764116831954e-03 + 3.426991428902786e-03 3.419227535146918e-03 3.411472449427477e-03 3.403726185233638e-03 3.395988749408295e-03 + 3.388260149964055e-03 3.380540409506120e-03 3.372829541439428e-03 3.365127551327278e-03 3.357434450344299e-03 + 3.349750251864305e-03 3.342074968176267e-03 3.334408603200120e-03 3.326751169911567e-03 3.319102691777129e-03 + 3.311463175183513e-03 3.303832626198486e-03 3.296211059114474e-03 3.288598486024217e-03 3.280994915398627e-03 + 3.273400352769854e-03 3.265814815709593e-03 3.258238322074859e-03 3.250670876135365e-03 3.243112486983179e-03 + 3.235563167624456e-03 3.228022929479646e-03 3.220491779361285e-03 3.212969724272006e-03 3.205456783570964e-03 + 3.197952970426890e-03 3.190458290104943e-03 3.182972751519780e-03 3.175496366385864e-03 3.168029146873250e-03 + 3.160571096621216e-03 3.153122225636278e-03 3.145682555500280e-03 3.138252093348739e-03 3.130830843615626e-03 + 3.123418817816768e-03 3.116016027518625e-03 3.108622481356378e-03 3.101238183229207e-03 3.093863147897005e-03 + 3.086497392737253e-03 3.079140921752824e-03 3.071793741871484e-03 3.064455864252268e-03 3.057127299904285e-03 + 3.049808055146270e-03 3.042498134791386e-03 3.035197556645182e-03 3.027906333235584e-03 3.020624467536793e-03 + 3.013351968343262e-03 3.006088846580162e-03 2.998835112089031e-03 2.991590768047797e-03 2.984355822285627e-03 + 2.977130294631421e-03 2.969914192263928e-03 2.962707518230782e-03 2.955510282832787e-03 2.948322496039390e-03 + 2.941144165204636e-03 2.933975293458325e-03 2.926815893073326e-03 2.919665980487675e-03 2.912525559332239e-03 + 2.905394635071103e-03 2.898273217656210e-03 2.891161316595433e-03 2.884058936906487e-03 2.876966081111658e-03 + 2.869882766189157e-03 2.862809005041444e-03 2.855744798230348e-03 2.848690153100023e-03 2.841645079496137e-03 + 2.834609585256340e-03 2.827583673848185e-03 2.820567351490293e-03 2.813560634590312e-03 2.806563530531927e-03 + 2.799576041999259e-03 2.792598177467573e-03 2.785629945309582e-03 2.778671351607254e-03 2.771722398039775e-03 + 2.764783095014263e-03 2.757853459091809e-03 2.750933492568204e-03 2.744023198517816e-03 2.737122585640385e-03 + 2.730231662189404e-03 2.723350432970404e-03 2.716478899800820e-03 2.709617075896625e-03 2.702764973241287e-03 + 2.695922593060963e-03 2.689089940152226e-03 2.682267022316270e-03 2.675453847914084e-03 2.668650418902243e-03 + 2.661856738145520e-03 2.655072822033232e-03 2.648298678030288e-03 2.641534306206961e-03 2.634779712258937e-03 + 2.628034904058933e-03 2.621299888635041e-03 2.614574665771587e-03 2.607859242632423e-03 2.601153634957146e-03 + 2.594457844452072e-03 2.587771872555374e-03 2.581095727373358e-03 2.574429415266960e-03 2.567772939497474e-03 + 2.561126300777387e-03 2.554489510835181e-03 2.547862581281132e-03 2.541245510713479e-03 2.534638303078699e-03 + 2.528040966193904e-03 2.521453505493298e-03 2.514875922225054e-03 2.508308218200437e-03 2.501750407164573e-03 + 2.495202496081871e-03 2.488664484118587e-03 2.482136376281468e-03 2.475618178705269e-03 2.469109895957427e-03 + 2.462611527825166e-03 2.456123079328407e-03 2.449644563898542e-03 2.443175984269443e-03 2.436717340526153e-03 + 2.430268636964234e-03 2.423829879853036e-03 2.417401073311931e-03 2.410982215756923e-03 2.404573315098301e-03 + 2.398174382071132e-03 2.391785416912405e-03 2.385406421217447e-03 2.379037399546287e-03 2.372678357701878e-03 + 2.366329296305038e-03 2.359990214012962e-03 2.353661123666590e-03 2.347342032379030e-03 2.341032936953993e-03 + 2.334733840455562e-03 2.328444748068140e-03 2.322165663885325e-03 2.315896586946297e-03 2.309637519733881e-03 + 2.303388473653537e-03 2.297149451184649e-03 2.290920451297887e-03 2.284701476927273e-03 2.278492533074980e-03 + 2.272293622898508e-03 2.266104742447669e-03 2.259925897918875e-03 2.253757100645447e-03 2.247598348619136e-03 + 2.241449641489242e-03 2.235310983406359e-03 2.229182378556762e-03 2.223063827011661e-03 2.216955326220785e-03 + 2.210856885615230e-03 2.204768511855369e-03 2.198690202073136e-03 2.192621957162963e-03 2.186563780523993e-03 + 2.180515675851768e-03 2.174477640514074e-03 2.168449674335647e-03 2.162431789038673e-03 2.156423986093689e-03 + 2.150426261719325e-03 2.144438618887063e-03 2.138461061015507e-03 2.132493589319895e-03 2.126536199820428e-03 + 2.120588896234097e-03 2.114651688169617e-03 2.108724573757348e-03 2.102807551461262e-03 2.096900623831682e-03 + 2.091003792760502e-03 2.085117057433877e-03 2.079240415028002e-03 2.073373872799373e-03 2.067517436442142e-03 + 2.061671101563673e-03 2.055834867994772e-03 2.050008738194652e-03 2.044192713868095e-03 2.038386792128391e-03 + 2.032590971333173e-03 2.026805260662020e-03 2.021029661329869e-03 2.015264168518725e-03 2.009508783500123e-03 + 2.003763508166370e-03 1.998028342654997e-03 1.992303282805534e-03 1.986588330078225e-03 1.980883492165770e-03 + 1.975188767039759e-03 1.969504151730439e-03 1.963829647004430e-03 1.958165254218237e-03 1.952510971963634e-03 + 1.946866794889960e-03 1.941232728159857e-03 1.935608777640074e-03 1.929994938329363e-03 1.924391207914093e-03 + 1.918797587114099e-03 1.913214077256622e-03 1.907640674795718e-03 1.902077375557082e-03 1.896524186430478e-03 + 1.890981108949087e-03 1.885448138032121e-03 1.879925272541809e-03 1.874412513138102e-03 1.868909859971047e-03 + 1.863417306389931e-03 1.857934851379391e-03 1.852462503653811e-03 1.847000259754348e-03 1.841548114039762e-03 + 1.836106066817225e-03 1.830674118529854e-03 1.825252266916765e-03 1.819840505202892e-03 1.814438836319749e-03 + 1.809047265638602e-03 1.803665787133681e-03 1.798294397101445e-03 1.792933095135866e-03 1.787581880369786e-03 + 1.782240749155103e-03 1.776909697172910e-03 1.771588728179710e-03 1.766277842767543e-03 1.760977035675204e-03 + 1.755686304337379e-03 1.750405647484752e-03 1.745135063548007e-03 1.739874546386865e-03 1.734624093589025e-03 + 1.729383711586370e-03 1.724153396315838e-03 1.718933140719367e-03 1.713722944309894e-03 1.708522806163372e-03 + 1.703332722978997e-03 1.698152687791741e-03 1.692982700783420e-03 1.687822765464940e-03 1.682672875794938e-03 + 1.677533027054054e-03 1.672403217813849e-03 1.667283446525115e-03 1.662173708173832e-03 1.657073995739192e-03 + 1.651984312946546e-03 1.646904660364047e-03 1.641835029387390e-03 1.636775416468660e-03 1.631725820220986e-03 + 1.626686238226539e-03 1.621656663682810e-03 1.616637091835148e-03 1.611627526662728e-03 1.606627964700548e-03 + 1.601638398623349e-03 1.596658825754688e-03 1.591689243408400e-03 1.586729647378206e-03 1.581780030725023e-03 + 1.576840391697073e-03 1.571910732264727e-03 1.566991046477593e-03 1.562081328242421e-03 1.557181574037859e-03 + 1.552291781114454e-03 1.547411944138861e-03 1.542542055154552e-03 1.537682115822498e-03 1.532832126356767e-03 + 1.527992077470792e-03 1.523161963747274e-03 1.518341782422417e-03 1.513531530571088e-03 1.508731200913292e-03 + 1.503940786876937e-03 1.499160290964809e-03 1.494389709200610e-03 1.489629032745148e-03 1.484878257820629e-03 + 1.480137381279299e-03 1.475406398389162e-03 1.470685299850305e-03 1.465974082141071e-03 1.461272748080975e-03 + 1.456581290224651e-03 1.451899700275850e-03 1.447227974089072e-03 1.442566108566721e-03 1.437914097994959e-03 + 1.433271932504185e-03 1.428639611034298e-03 1.424017133356480e-03 1.419404490680891e-03 1.414801676491448e-03 + 1.410208686553135e-03 1.405625516589791e-03 1.401052158609908e-03 1.396488604511052e-03 1.391934855472548e-03 + 1.387390907364871e-03 1.382856750165021e-03 1.378332378783991e-03 1.373817788890047e-03 1.369312974750468e-03 + 1.364817927255285e-03 1.360332641059443e-03 1.355857116711623e-03 1.351391347026849e-03 1.346935323100728e-03 + 1.342489039284644e-03 1.338052491255308e-03 1.333625672740901e-03 1.329208572800934e-03 1.324801188462658e-03 + 1.320403519143769e-03 1.316015555822497e-03 1.311637290544184e-03 1.307268717472159e-03 1.302909831116118e-03 + 1.298560623326278e-03 1.294221085253892e-03 1.289891216124110e-03 1.285571011566486e-03 1.281260461060531e-03 + 1.276959557618139e-03 1.272668295740209e-03 1.268386669608614e-03 1.264114669618853e-03 1.259852288349743e-03 + 1.255599524419093e-03 1.251356371085625e-03 1.247122819189722e-03 1.242898861265979e-03 1.238684491359706e-03 + 1.234479702756933e-03 1.230284484841117e-03 1.226098832748256e-03 1.221922744434409e-03 1.217756210326720e-03 + 1.213599221362577e-03 1.209451770765583e-03 1.205313852635065e-03 1.201185458480448e-03 1.197066577985755e-03 + 1.192957208640432e-03 1.188857345511447e-03 1.184766976969275e-03 1.180686095693037e-03 1.176614695732404e-03 + 1.172552769621902e-03 1.168500307042727e-03 1.164457299537124e-03 1.160423745213695e-03 1.156399636114517e-03 + 1.152384961360659e-03 1.148379714206853e-03 1.144383887440774e-03 1.140397472403066e-03 1.136420458871837e-03 + 1.132452840804467e-03 1.128494614815977e-03 1.124545770440235e-03 1.120606297984056e-03 1.116676190709075e-03 + 1.112755440623707e-03 1.108844038267568e-03 1.104941973598277e-03 1.101049242215234e-03 1.097165838523137e-03 + 1.093291750933755e-03 1.089426970747485e-03 1.085571490835547e-03 1.081725303225761e-03 1.077888396808512e-03 + 1.074060761522748e-03 1.070242395009795e-03 1.066433289590875e-03 1.062633433332422e-03 1.058842817553080e-03 + 1.055061434373011e-03 1.051289275348505e-03 1.047526329409495e-03 1.043772588486000e-03 1.040028047931513e-03 + 1.036292698203525e-03 1.032566529042292e-03 1.028849531681517e-03 1.025141697676040e-03 1.021443017315572e-03 + 1.017753479165712e-03 1.014073077446178e-03 1.010401806565697e-03 1.006739654876394e-03 1.003086612170896e-03 + 9.994426698862881e-04 9.958078198244436e-04 9.921820510029489e-04 9.885653522799815e-04 9.849577193159157e-04 + 9.813591440739670e-04 9.777696142556011e-04 9.741891204675346e-04 9.706176542328248e-04 9.670552065524777e-04 + 9.635017651512704e-04 9.599573207794398e-04 9.564218691437683e-04 9.528953995809905e-04 9.493779002331982e-04 + 9.458693621672339e-04 9.423697766254766e-04 9.388791334439822e-04 9.353974200435674e-04 9.319246293443443e-04 + 9.284607555133966e-04 9.250057861419034e-04 9.215597102726345e-04 9.181225189615299e-04 9.146942031524666e-04 + 9.112747514066988e-04 9.078641516289516e-04 9.044623983719834e-04 9.010694834242857e-04 8.976853937790154e-04 + 8.943101192935385e-04 8.909436508104612e-04 8.875859786393426e-04 8.842370902316334e-04 8.808969751654204e-04 + 8.775656281905130e-04 8.742430385918343e-04 8.709291937982416e-04 8.676240840155020e-04 8.643276998573467e-04 + 8.610400308208924e-04 8.577610636611962e-04 8.544907899714905e-04 8.512292035626933e-04 8.479762917886125e-04 + 8.447320428739457e-04 8.414964471843920e-04 8.382694949325988e-04 8.350511744137459e-04 8.318414728923707e-04 + 8.286403836395943e-04 8.254478982373706e-04 8.222640032931049e-04 8.190886878204532e-04 8.159219419987107e-04 + 8.127637556794064e-04 8.096141160179775e-04 8.064730115089579e-04 8.033404360997527e-04 8.002163789609624e-04 + 7.971008268111541e-04 7.939937692507287e-04 7.908951962853333e-04 7.878050969946667e-04 7.847234577702081e-04 + 7.816502689905088e-04 7.785855239466778e-04 7.755292098590464e-04 7.724813142232633e-04 7.694418267842021e-04 + 7.664107372089749e-04 7.633880335334087e-04 7.603737023812342e-04 7.573677358642847e-04 7.543701253849379e-04 + 7.513808572285544e-04 7.483999196962093e-04 7.454273024026923e-04 7.424629947358947e-04 7.395069836664074e-04 + 7.365592567622367e-04 7.336198070174806e-04 7.306886236388442e-04 7.277656929130117e-04 7.248510036837761e-04 + 7.219445453636994e-04 7.190463067357669e-04 7.161562739946586e-04 7.132744364309508e-04 7.104007867132190e-04 + 7.075353120392018e-04 7.046779992824802e-04 7.018288375861283e-04 6.989878161882759e-04 6.961549229362052e-04 + 6.933301438820412e-04 6.905134700383686e-04 6.877048926511914e-04 6.849043978549774e-04 6.821119732944710e-04 + 6.793276080246700e-04 6.765512910034699e-04 6.737830090783149e-04 6.710227490756584e-04 6.682705030776122e-04 + 6.655262603091742e-04 6.627900067379164e-04 6.600617305924390e-04 6.573414207627890e-04 6.546290656955580e-04 + 6.519246513982958e-04 6.492281662548372e-04 6.465396024423735e-04 6.438589471596415e-04 6.411861867028291e-04 + 6.385213096762252e-04 6.358643049114898e-04 6.332151601148890e-04 6.305738609661260e-04 6.279403974635571e-04 + 6.253147606410383e-04 6.226969365620930e-04 6.200869123319087e-04 6.174846765257772e-04 6.148902176504979e-04 + 6.123035224628875e-04 6.097245772740803e-04 6.071533733723410e-04 6.045898999580564e-04 6.020341426510520e-04 + 5.994860891934145e-04 5.969457280748620e-04 5.944130474177512e-04 5.918880332091087e-04 5.893706730594447e-04 + 5.868609584534629e-04 5.843588766665737e-04 5.818644136544619e-04 5.793775576682911e-04 5.768982970317317e-04 + 5.744266191686133e-04 5.719625097277512e-04 5.695059578510202e-04 5.670569542308351e-04 5.646154849082753e-04 + 5.621815365284883e-04 5.597550972743215e-04 5.573361553519681e-04 5.549246974872960e-04 5.525207095632259e-04 + 5.501241820142805e-04 5.477351040267441e-04 5.453534610951853e-04 5.429792405131840e-04 5.406124304314462e-04 + 5.382530187447214e-04 5.359009913605971e-04 5.335563351904396e-04 5.312190411682156e-04 5.288890968140364e-04 + 5.265664878332606e-04 5.242512018091515e-04 5.219432267978740e-04 5.196425502978362e-04 5.173491576918976e-04 + 5.150630373381158e-04 5.127841797796618e-04 5.105125710953982e-04 5.082481974966798e-04 5.059910467933278e-04 + 5.037411069671739e-04 5.014983647643853e-04 4.992628057533249e-04 4.970344196034297e-04 4.948131954905409e-04 + 4.925991188614672e-04 4.903921766298550e-04 4.881923566574878e-04 4.859996466359864e-04 4.838140324815327e-04 + 4.816355005995136e-04 4.794640414647377e-04 4.772996426854546e-04 4.751422896755638e-04 4.729919697488023e-04 + 4.708486707166207e-04 4.687123799720691e-04 4.665830828962369e-04 4.644607671738101e-04 4.623454230212830e-04 + 4.602370366779194e-04 4.581355941018685e-04 4.560410828358216e-04 4.539534906171381e-04 4.518728041821612e-04 + 4.497990089033435e-04 4.477320938149108e-04 4.456720481170030e-04 4.436188572707195e-04 4.415725078895158e-04 + 4.395329875976124e-04 4.375002838422590e-04 4.354743826722610e-04 4.334552702201095e-04 4.314429363226086e-04 + 4.294373687059989e-04 4.274385527576286e-04 4.254464755700176e-04 4.234611247199864e-04 4.214824874479911e-04 + 4.195105492176435e-04 4.175452972239935e-04 4.155867214135851e-04 4.136348082067204e-04 4.116895433467350e-04 + 4.097509141339746e-04 4.078189081189173e-04 4.058935120995524e-04 4.039747114386321e-04 4.020624945699733e-04 + 4.001568506324645e-04 3.982577652062802e-04 3.963652246433777e-04 3.944792163840573e-04 3.925997278951708e-04 + 3.907267452820787e-04 3.888602542761684e-04 3.870002443827855e-04 3.851467035420477e-04 3.832996170232135e-04 + 3.814589716941001e-04 3.796247550166885e-04 3.777969542187427e-04 3.759755548771444e-04 3.741605437648361e-04 + 3.723519105456335e-04 3.705496418343326e-04 3.687537232626712e-04 3.669641420580878e-04 3.651808856652343e-04 + 3.634039408935104e-04 3.616332930379869e-04 3.598689301103073e-04 3.581108413327368e-04 3.563590123412032e-04 + 3.546134293224166e-04 3.528740796868620e-04 3.511409507353364e-04 3.494140287293094e-04 3.476932993968030e-04 + 3.459787517007610e-04 3.442703736842207e-04 3.425681507579447e-04 3.408720696736798e-04 3.391821178070990e-04 + 3.374982823340253e-04 3.358205489790399e-04 3.341489042294683e-04 3.324833375391577e-04 3.308238358267097e-04 + 3.291703846864138e-04 3.275229711235071e-04 3.258815824857735e-04 3.242462057388915e-04 3.226168264116891e-04 + 3.209934320343741e-04 3.193760116170641e-04 3.177645512713499e-04 3.161590371207419e-04 3.145594562690266e-04 + 3.129657961319975e-04 3.113780432227079e-04 3.097961831114660e-04 3.082202043645004e-04 3.066500952444524e-04 + 3.050858414009347e-04 3.035274294402161e-04 3.019748466354355e-04 3.004280802320956e-04 2.988871162192853e-04 + 2.973519409077311e-04 2.958225434173786e-04 2.942989109163873e-04 2.927810290941792e-04 2.912688849504159e-04 + 2.897624658129895e-04 2.882617587216531e-04 2.867667493909568e-04 2.852774250910157e-04 2.837937747837379e-04 + 2.823157848000407e-04 2.808434412718301e-04 2.793767313619733e-04 2.779156424588856e-04 2.764601612241833e-04 + 2.750102732798498e-04 2.735659669757869e-04 2.721272307826111e-04 2.706940504177620e-04 2.692664125118005e-04 + 2.678443044384447e-04 2.664277133531666e-04 2.650166254907073e-04 2.636110271946842e-04 2.622109073508727e-04 + 2.608162534146021e-04 2.594270512444905e-04 2.580432877716125e-04 2.566649503351083e-04 2.552920261463284e-04 + 2.539245011192165e-04 2.525623623480746e-04 2.512055988243127e-04 2.498541971146173e-04 2.485081433825346e-04 + 2.471674249383843e-04 2.458320291468696e-04 2.445019428356345e-04 2.431771519464020e-04 2.418576445147758e-04 + 2.405434090455539e-04 2.392344316436903e-04 2.379306989304936e-04 2.366321982706708e-04 2.353389171046539e-04 + 2.340508418959193e-04 2.327679588365217e-04 2.314902568213100e-04 2.302177235947735e-04 2.289503450019842e-04 + 2.276881081822984e-04 2.264310006278554e-04 2.251790095285085e-04 2.239321211178975e-04 2.226903224828012e-04 + 2.214536025966827e-04 2.202219483393713e-04 2.189953459440866e-04 2.177737827672056e-04 2.165572463172210e-04 + 2.153457236927424e-04 2.141392010208329e-04 2.129376661694288e-04 2.117411078009580e-04 2.105495123800498e-04 + 2.093628666254358e-04 2.081811579562958e-04 2.070043738711933e-04 2.058325011765904e-04 2.046655262979033e-04 + 2.035034378928387e-04 2.023462239716796e-04 2.011938707312936e-04 2.000463653117907e-04 1.989036953143001e-04 + 1.977658482429478e-04 1.966328105707422e-04 1.955045692837424e-04 1.943811134060168e-04 1.932624302421221e-04 + 1.921485062157297e-04 1.910393287336514e-04 1.899348854684124e-04 1.888351638115297e-04 1.877401500482506e-04 + 1.866498319949601e-04 1.855641985831636e-04 1.844832365124926e-04 1.834069326310023e-04 1.823352746298841e-04 + 1.812682501147551e-04 1.802058461455679e-04 1.791480493724017e-04 1.780948483852737e-04 1.770462314872484e-04 + 1.760021851824818e-04 1.749626967491274e-04 1.739277539439587e-04 1.728973444305181e-04 1.718714550470096e-04 + 1.708500728855944e-04 1.698331869571933e-04 1.688207849549946e-04 1.678128535713188e-04 1.668093803524777e-04 + 1.658103531111011e-04 1.648157594964937e-04 1.638255861976382e-04 1.628398210066413e-04 1.618584529166454e-04 + 1.608814690931768e-04 1.599088565742865e-04 1.589406031206167e-04 1.579766966509897e-04 1.570171246224424e-04 + 1.560618738321770e-04 1.551109328208930e-04 1.541642902068764e-04 1.532219328717612e-04 1.522838482661923e-04 + 1.513500243337891e-04 1.504204489591066e-04 1.494951093483970e-04 1.485739927662749e-04 1.476570882997282e-04 + 1.467443839796364e-04 1.458358667202351e-04 1.449315243896633e-04 1.440313449862068e-04 1.431353162531848e-04 + 1.422434254066872e-04 1.413556604013758e-04 1.404720102486319e-04 1.395924625558734e-04 1.387170046489957e-04 + 1.378456244430427e-04 1.369783100559194e-04 1.361150493062282e-04 1.352558293490397e-04 1.344006387024136e-04 + 1.335494662293593e-04 1.327022993333140e-04 1.318591256583063e-04 1.310199332689028e-04 1.301847103692820e-04 + 1.293534446013900e-04 1.285261234477974e-04 1.277027359881715e-04 1.268832706365997e-04 1.260677147052468e-04 + 1.252560562359565e-04 1.244482834803957e-04 1.236443845356053e-04 1.228443469528238e-04 1.220481588198588e-04 + 1.212558093699401e-04 1.204672865809282e-04 1.196825780471873e-04 1.189016720308052e-04 1.181245568536085e-04 + 1.173512205995857e-04 1.165816508484800e-04 1.158158362776897e-04 1.150537660210759e-04 1.142954277590100e-04 + 1.135408094568152e-04 1.127898995954114e-04 1.120426864956402e-04 1.112991581353023e-04 1.105593024093304e-04 + 1.098231085283700e-04 1.090905652465313e-04 1.083616601800625e-04 1.076363816399760e-04 1.069147182196831e-04 + 1.061966583782502e-04 1.054821899944032e-04 1.047713013150353e-04 1.040639818640637e-04 1.033602200082437e-04 + 1.026600035826387e-04 1.019633211976323e-04 1.012701615275282e-04 1.005805130149820e-04 9.989436355203399e-05 + 9.921170194739147e-05 9.853251765411631e-05 9.785679881782247e-05 9.718453366352614e-05 9.651571091087277e-05 + 9.585031930594751e-05 9.518834724915350e-05 9.452978284703146e-05 9.387461543789448e-05 9.322283420353250e-05 + 9.257442723618249e-05 9.192938310286574e-05 9.128769066247626e-05 9.064933872161225e-05 9.001431561187756e-05 + 8.938260983500139e-05 8.875421104519957e-05 8.812910809646098e-05 8.750728925694059e-05 8.688874335824857e-05 + 8.627345936363417e-05 8.566142611724158e-05 8.505263195150667e-05 8.444706587898619e-05 8.384471762172232e-05 + 8.324557578035348e-05 8.264962891132210e-05 8.205686604727953e-05 8.146727626544971e-05 8.088084838175318e-05 + 8.029757088191735e-05 7.971743327705584e-05 7.914042512047892e-05 7.856653495630607e-05 7.799575166346450e-05 + 7.742806441871695e-05 7.686346239245813e-05 7.630193435494130e-05 7.574346911053080e-05 7.518805653837606e-05 + 7.463568593117825e-05 7.408634594826592e-05 7.354002575090044e-05 7.299671464423979e-05 7.245640185167563e-05 + 7.191907614532941e-05 7.138472679150608e-05 7.085334380230530e-05 7.032491623916224e-05 6.979943301854977e-05 + 6.927688351841825e-05 6.875725716877753e-05 6.824054320182008e-05 6.772673050550591e-05 6.721580881996242e-05 + 6.670776807704407e-05 6.620259726868480e-05 6.570028562031883e-05 6.520082266140781e-05 6.470419793220322e-05 + 6.421040064958054e-05 6.371941996817583e-05 6.323124601185380e-05 6.274586851226631e-05 6.226327655003573e-05 + 6.178345963615301e-05 6.130640743984757e-05 6.083210957777482e-05 6.036055527561582e-05 5.989173409263222e-05 + 5.942563633391719e-05 5.896225154191688e-05 5.850156903007261e-05 5.804357852627766e-05 5.758826983099529e-05 + 5.713563260712647e-05 5.668565617514362e-05 5.623833053838233e-05 5.579364600051564e-05 5.535159201768813e-05 + 5.491215819134343e-05 5.447533442712218e-05 5.404111064124177e-05 5.360947650466450e-05 5.318042157160001e-05 + 5.275393622516995e-05 5.233001062811153e-05 5.190863431238880e-05 5.148979716458554e-05 5.107348923404401e-05 + 5.065970053025621e-05 5.024842074849432e-05 4.983963979263951e-05 4.943334827635427e-05 4.902953621108006e-05 + 4.862819332553702e-05 4.822930973793706e-05 4.783287562882953e-05 4.743888107972067e-05 4.704731588033618e-05 + 4.665817033540254e-05 4.627143510842172e-05 4.588710014690383e-05 4.550515545082771e-05 4.512559130332447e-05 + 4.474839802715817e-05 4.437356575264515e-05 4.400108444300858e-05 4.363094478314062e-05 4.326313737450849e-05 + 4.289765220307346e-05 4.253447954450777e-05 4.217360984935306e-05 4.181503354031293e-05 4.145874078526325e-05 + 4.110472186234567e-05 4.075296770939578e-05 4.040346881442376e-05 4.005621534517384e-05 3.971119780891244e-05 + 3.936840678851008e-05 3.902783280379881e-05 3.868946611492773e-05 3.835329736378580e-05 3.801931758461789e-05 + 3.768751721520911e-05 3.735788667634669e-05 3.703041665089796e-05 3.670509786268472e-05 3.638192090588934e-05 + 3.606087620758478e-05 3.574195476070656e-05 3.542514758568229e-05 3.511044516462031e-05 3.479783817623805e-05 + 3.448731747191980e-05 3.417887390941621e-05 3.387249813623169e-05 3.356818082938366e-05 3.326591326488256e-05 + 3.296568640239042e-05 3.266749086476883e-05 3.237131756688427e-05 3.207715751232477e-05 3.178500166911470e-05 + 3.149484077201404e-05 3.120666582870710e-05 3.092046825328168e-05 3.063623897047349e-05 3.035396883732847e-05 + 3.007364895961203e-05 2.979527048619034e-05 2.951882447255356e-05 2.924430180184470e-05 2.897169381596313e-05 + 2.870099196601076e-05 2.843218722351712e-05 2.816527069305565e-05 2.790023364581556e-05 2.763706736588794e-05 + 2.737576298520704e-05 2.711631161938774e-05 2.685870489191871e-05 2.660293422952212e-05 2.634899073350601e-05 + 2.609686574272242e-05 2.584655068622352e-05 2.559803697386157e-05 2.535131582907573e-05 2.510637865851451e-05 + 2.486321726016628e-05 2.462182305120829e-05 2.438218734168926e-05 2.414430166313400e-05 2.390815760058303e-05 + 2.367374667612129e-05 2.344106023464476e-05 2.321008999935892e-05 2.298082786356460e-05 2.275326527748312e-05 + 2.252739378233606e-05 2.230320509258137e-05 2.208069093512809e-05 2.185984291941186e-05 2.164065260635458e-05 + 2.142311199522572e-05 2.120721298028661e-05 2.099294714303281e-05 2.078030625998752e-05 2.056928220029127e-05 + 2.035986682231265e-05 2.015205183896797e-05 1.994582907956633e-05 1.974119073954575e-05 1.953812872162773e-05 + 1.933663479825456e-05 1.913670094979531e-05 1.893831919578259e-05 1.874148151575467e-05 1.854617976080873e-05 + 1.835240605058427e-05 1.816015268982217e-05 1.796941162992672e-05 1.778017486956627e-05 1.759243456762222e-05 + 1.740618289118282e-05 1.722141193137039e-05 1.703811372777776e-05 1.685628066375182e-05 1.667590509374455e-05 + 1.649697910104339e-05 1.631949489857415e-05 1.614344479286407e-05 1.596882111103627e-05 1.579561606259506e-05 + 1.562382191518076e-05 1.545343126338709e-05 1.528443649706141e-05 1.511682986511545e-05 1.495060379262073e-05 + 1.478575075387210e-05 1.462226320346460e-05 1.446013347627832e-05 1.429935410828208e-05 1.413991783947596e-05 + 1.398181711799591e-05 1.382504440087988e-05 1.366959229690567e-05 1.351545344207288e-05 1.336262041089977e-05 + 1.321108569966174e-05 1.306084210743495e-05 1.291188246012095e-05 1.276419932540445e-05 1.261778537439798e-05 + 1.247263337350260e-05 1.232873611168182e-05 1.218608628547451e-05 1.204467661277090e-05 1.190450010670460e-05 + 1.176554964839514e-05 1.162781797531038e-05 1.149129796332477e-05 1.135598253898601e-05 1.122186462622714e-05 + 1.108893706038782e-05 1.095719281332111e-05 1.082662505098182e-05 1.069722672643097e-05 1.056899077370047e-05 + 1.044191025341683e-05 1.031597825830204e-05 1.019118784797653e-05 1.006753201372614e-05 9.945003972957807e-06 + 9.823597003224701e-06 9.703304169766936e-06 9.584118614966616e-06 9.466033570975281e-06 9.349042284940899e-06 + 9.233137946012443e-06 9.118313747892748e-06 9.004563126071509e-06 8.891879438415634e-06 8.780255908737012e-06 + 8.669685879934477e-06 8.560162746518096e-06 8.451679906731882e-06 8.344230688978416e-06 8.237808513777729e-06 + 8.132406985376577e-06 8.028019552616531e-06 7.924639629701503e-06 7.822260741691212e-06 7.720876445763237e-06 + 7.620480284148957e-06 7.521065743540658e-06 7.422626477381218e-06 7.325156218634066e-06 7.228648532638821e-06 + 7.133097034958690e-06 7.038495423985100e-06 6.944837416133499e-06 6.852116691729515e-06 6.760326924607246e-06 + 6.669461983453847e-06 6.579515704432944e-06 6.490481806747385e-06 6.402354101863004e-06 6.315126452251840e-06 + 6.228792731669073e-06 6.143346764859859e-06 6.058782435540508e-06 5.975093791198315e-06 5.892274772590937e-06 + 5.810319279027480e-06 5.729221306547671e-06 5.648974882411472e-06 5.569574030477156e-06 5.491012732167998e-06 + 5.413285091010444e-06 5.336385298912571e-06 5.260307420244722e-06 5.185045547999291e-06 5.110593849728286e-06 + 5.036946516955677e-06 4.964097720721464e-06 4.892041619202182e-06 4.820772525961763e-06 4.750284753859853e-06 + 4.680572517390150e-06 4.611630102585562e-06 4.543451844884654e-06 4.476032095169469e-06 4.409365173309600e-06 + 4.343445435493855e-06 4.278267378107974e-06 4.213825432046252e-06 4.150113986510229e-06 4.087127510654963e-06 + 4.024860505544460e-06 3.963307478207591e-06 3.902462905546128e-06 3.842321351732513e-06 3.782877469285005e-06 + 3.724125818875267e-06 3.666060976275786e-06 3.608677584308628e-06 3.551970310325800e-06 3.495933813913828e-06 + 3.440562742860537e-06 3.385851865026623e-06 3.331795968547279e-06 3.278389763636986e-06 3.225628015585682e-06 + 3.173505536483180e-06 3.122017155106099e-06 3.071157684657154e-06 3.020921961442045e-06 2.971304937503200e-06 + 2.922301530764381e-06 2.873906622400171e-06 2.826115159163556e-06 2.778922119160790e-06 2.732322492500433e-06 + 2.686311250918327e-06 2.640883427466542e-06 2.596034137909800e-06 2.551758437600915e-06 2.508051388712647e-06 + 2.464908112415978e-06 2.422323753722291e-06 2.380293459852445e-06 2.338812372063220e-06 2.297875719562253e-06 + 2.257478763762930e-06 2.217616712073996e-06 2.178284811840686e-06 2.139478353112250e-06 2.101192645402220e-06 + 2.063422994293474e-06 2.026164721213360e-06 1.989413239181793e-06 1.953163950788084e-06 1.917412231009713e-06 + 1.882153506609316e-06 1.847383234461138e-06 1.813096887995954e-06 1.779289933937322e-06 1.745957881749227e-06 + 1.713096313387221e-06 1.680700776153704e-06 1.648766820412035e-06 1.617290047665242e-06 1.586266083282953e-06 + 1.555690561349229e-06 1.525559115412809e-06 1.495867444877275e-06 1.466611286844381e-06 1.437786342321971e-06 + 1.409388342689011e-06 1.381413059137875e-06 1.353856283643994e-06 1.326713811980504e-06 1.299981452903499e-06 + 1.273655087535907e-06 1.247730601634883e-06 1.222203862466376e-06 1.197070780161529e-06 1.172327293218336e-06 + 1.147969358200551e-06 1.123992934949297e-06 1.100394014305713e-06 1.077168647815731e-06 1.054312872343777e-06 + 1.031822727943270e-06 1.009694299029158e-06 9.879236928228051e-07 9.665070295488333e-07 9.454404356909418e-07 + 9.247200854784831e-07 9.043421911847067e-07 8.843029477247774e-07 8.645985728173436e-07 8.452253193362285e-07 + 8.261794626052351e-07 8.074572875932502e-07 7.890550921071068e-07 7.709692301619030e-07 7.531960701353248e-07 + 7.357319715620587e-07 7.185733287203112e-07 7.017165630618881e-07 6.851581162834306e-07 6.688944388625421e-07 + 6.529220052598067e-07 6.372373411274385e-07 6.218369717692920e-07 6.067174274527125e-07 5.918752755194360e-07 + 5.773071063798692e-07 5.630095271034721e-07 5.489791556312369e-07 5.352126455394792e-07 5.217066864180125e-07 + 5.084579644193884e-07 4.954631845887763e-07 4.827190834887087e-07 4.702224204045173e-07 4.579699684713550e-07 + 4.459585154334098e-07 4.341848919935187e-07 4.226459485782965e-07 4.113385363883691e-07 4.002595352312233e-07 + 3.894058504065020e-07 3.787744086301839e-07 3.683621500987016e-07 3.581660355932383e-07 3.481830676805770e-07 + 3.384102581524441e-07 3.288446273745833e-07 3.194832275224818e-07 3.103231330843525e-07 3.013614373207315e-07 + 2.925952486098954e-07 2.840217031010630e-07 2.756379695267500e-07 2.674412234106971e-07 2.594286576386206e-07 + 2.515974937029081e-07 2.439449754383926e-07 2.364683632309526e-07 2.291649345383248e-07 2.220320002407473e-07 + 2.150668931442167e-07 2.082669548865648e-07 2.016295514473211e-07 1.951520727682157e-07 1.888319311586693e-07 + 1.826665552837694e-07 1.766533931743509e-07 1.707899271779558e-07 1.650736547045015e-07 1.595020857916059e-07 + 1.540727581256184e-07 1.487832309302349e-07 1.436310837043274e-07 1.386139140291348e-07 1.337293426531939e-07 + 1.289750194034745e-07 1.243486077550924e-07 1.198477884856861e-07 1.154702687444825e-07 1.112137774078364e-07 + 1.070760615754017e-07 1.030548878714015e-07 9.914804983102429e-08 9.535336319532080e-08 9.166865877274502e-08 + 8.809178921148019e-08 8.462062987184363e-08 8.125307865123530e-08 7.798705169188094e-08 7.482048486743137e-08 + 7.175134265372113e-08 6.877760756933380e-08 6.589727849023001e-08 6.310837918621049e-08 6.040895419177239e-08 + 5.779706919084610e-08 5.527080986023133e-08 5.282828275733461e-08 5.046762055622123e-08 4.818697371034567e-08 + 4.598451068334482e-08 4.385842456607357e-08 4.180692971968811e-08 3.982825980405518e-08 3.792066966127786e-08 + 3.608243718277188e-08 3.431186206040581e-08 3.260726312426322e-08 3.096697968233847e-08 2.938937298745983e-08 + 2.787282684203093e-08 2.641574418968914e-08 2.501654849393015e-08 2.367368813134603e-08 2.238563078881267e-08 + 2.115086344400587e-08 1.996789606940446e-08 1.883525886916157e-08 1.775150390948272e-08 1.671520402936120e-08 + 1.572495208680648e-08 1.477936511938296e-08 1.387707990026544e-08 1.301675220490221e-08 1.219706138041649e-08 + 1.141670750179082e-08 1.067441065312196e-08 9.968913113355902e-09 9.298978133402818e-09 8.663390331238368e-09 + 8.060955677291694e-09 7.490500025975069e-09 6.950870854385858e-09 6.440937996309972e-09 5.959590797852082e-09 + 5.505739944416565e-09 5.078318901633865e-09 4.676280806472903e-09 4.298600029449081e-09 3.944272776496124e-09 + 3.612315204086912e-09 3.301765808464261e-09 3.011683971683484e-09 2.741149022073358e-09 2.489263438950313e-09 + 2.255150010734707e-09 2.037951439802415e-09 1.836833426869985e-09 1.650981924522248e-09 1.479603458288696e-09 + 1.321927088896133e-09 1.177201927023745e-09 1.044698361371603e-09 9.237089042804517e-10 8.135457713165132e-10 + 7.135428727606122e-10 6.230561233086797e-10 5.414610837010692e-10 4.681552957722881e-10 4.025579739718386e-10 + 3.441080911031397e-10 2.922668865200973e-10 2.465167169238545e-10 2.063598966733955e-10 1.713213823559041e-10 + 1.409467301732644e-10 1.148017117805301e-10 9.247489436372923e-11 7.357503403670199e-11 5.773147403071901e-11 + 4.459623415664643e-11 3.384125546419585e-11 2.515956035071991e-11 1.826656159304613e-11 1.289741553721677e-11 + 8.808852910154413e-12 5.779611749592996e-12 3.608107240050744e-12 2.114775563702074e-12 1.141629414770904e-12 + 5.504076981088132e-13 2.252028793998774e-13 7.135404618680312e-14 1.400208835054596e-14 2.858282411901289e-16 + 0.000000000000000e+00 3.280907692410757e+00 6.559093802140417e+00 9.834554467967374e+00 1.310728583537977e+01 + 1.637728405657552e+01 1.964454529046227e+01 2.290906570265743e+01 2.617084146548816e+01 2.942986875799139e+01 + 3.268614376591378e+01 3.593966268171175e+01 3.919042170455148e+01 4.243841704030890e+01 4.568364490156970e+01 + 4.892610150762930e+01 5.216578308449292e+01 5.540268586487547e+01 5.863680608820168e+01 6.186814000060598e+01 + 6.509668385493259e+01 6.832243391073550e+01 7.154538643427834e+01 7.476553769853463e+01 7.798288398318758e+01 + 8.119742157463018e+01 8.440914676596513e+01 8.761805585700493e+01 9.082414515427180e+01 9.402741097099775e+01 + 9.722784962712448e+01 1.004254574493035e+02 1.036202307708961e+02 1.068121659319733e+02 1.100012592793157e+02 + 1.131875071664140e+02 1.163709059534683e+02 1.195514520073887e+02 1.227291417017950e+02 1.259039714170167e+02 + 1.290759375400930e+02 1.322450364647731e+02 1.354112645915156e+02 1.385746183274891e+02 1.417350940865720e+02 + 1.448926882893522e+02 1.480473973631275e+02 1.511992177419055e+02 1.543481458664036e+02 1.574941781840487e+02 + 1.606373111489777e+02 1.637775412220371e+02 1.669148648707833e+02 1.700492785694823e+02 1.731807787991100e+02 + 1.763093620473519e+02 1.794350248086033e+02 1.825577635839695e+02 1.856775748812652e+02 1.887944552150149e+02 + 1.919084011064531e+02 1.950194090835239e+02 1.981274756808810e+02 2.012325974398883e+02 2.043347709086188e+02 + 2.074339926418558e+02 2.105302592010923e+02 2.136235671545306e+02 2.167139130770834e+02 2.198012935503726e+02 + 2.228857051627302e+02 2.259671445091978e+02 2.290456081915269e+02 2.321210928181784e+02 2.351935950043234e+02 + 2.382631113718425e+02 2.413296385493261e+02 2.443931731720744e+02 2.474537118820972e+02 2.505112513281143e+02 + 2.535657881655549e+02 2.566173190565586e+02 2.596658406699738e+02 2.627113496813596e+02 2.657538427729843e+02 + 2.687933166338259e+02 2.718297679595726e+02 2.748631934526219e+02 2.778935898220815e+02 2.809209537837683e+02 + 2.839452820602094e+02 2.869665713806416e+02 2.899848184810112e+02 2.930000201039745e+02 2.960121729988974e+02 + 2.990212739218558e+02 3.020273196356349e+02 3.050303069097302e+02 3.080302325203465e+02 3.110270932503987e+02 + 3.140208858895110e+02 3.170116072340180e+02 3.199992540869634e+02 3.229838232581013e+02 3.259653115638948e+02 + 3.289437158275174e+02 3.319190328788521e+02 3.348912595544916e+02 3.378603926977383e+02 3.408264291586049e+02 + 3.437893657938130e+02 3.467491994667945e+02 3.497059270476910e+02 3.526595454133537e+02 3.556100514473437e+02 + 3.585574420399318e+02 3.615017140880985e+02 3.644428644955341e+02 3.673808901726388e+02 3.703157880365222e+02 + 3.732475550110041e+02 3.761761880266134e+02 3.791016840205897e+02 3.820240399368814e+02 3.849432527261474e+02 + 3.878593193457557e+02 3.907722367597846e+02 3.936820019390219e+02 3.965886118609651e+02 3.994920635098217e+02 + 4.023923538765087e+02 4.052894799586530e+02 4.081834387605912e+02 4.110742272933696e+02 4.139618425747443e+02 + 4.168462816291812e+02 4.197275414878559e+02 4.226056191886540e+02 4.254805117761704e+02 4.283522163017099e+02 + 4.312207298232872e+02 4.340860494056267e+02 4.369481721201628e+02 4.398070950450389e+02 4.426628152651090e+02 + 4.455153298719365e+02 4.483646359637945e+02 4.512107306456656e+02 4.540536110292430e+02 4.568932742329288e+02 + 4.597297173818351e+02 4.625629376077841e+02 4.653929320493071e+02 4.682196978516460e+02 4.710432321667516e+02 + 4.738635321532851e+02 4.766805949766169e+02 4.794944178088276e+02 4.823049978287075e+02 4.851123322217564e+02 + 4.879164181801841e+02 4.907172529029099e+02 4.935148335955632e+02 4.963091574704831e+02 4.991002217467178e+02 + 5.018880236500261e+02 5.046725604128764e+02 5.074538292744463e+02 5.102318274806237e+02 5.130065522840063e+02 + 5.157780009439010e+02 5.185461707263250e+02 5.213110589040049e+02 5.240726627563774e+02 5.268309795695885e+02 + 5.295860066364945e+02 5.323377412566609e+02 5.350861807363634e+02 5.378313223885873e+02 5.405731635330272e+02 + 5.433117014960885e+02 5.460469336108854e+02 5.487788572172420e+02 5.515074696616928e+02 5.542327682974811e+02 + 5.569547504845609e+02 5.596734135895950e+02 5.623887549859570e+02 5.651007720537292e+02 5.678094621797045e+02 + 5.705148227573850e+02 5.732168511869830e+02 5.759155448754203e+02 5.786109012363282e+02 5.813029176900482e+02 + 5.839915916636313e+02 5.866769205908384e+02 5.893589019121401e+02 5.920375330747167e+02 5.947128115324583e+02 + 5.973847347459648e+02 6.000533001825459e+02 6.027185053162206e+02 6.053803476277183e+02 6.080388246044777e+02 + 6.106939337406476e+02 6.133456725370861e+02 6.159940385013617e+02 6.186390291477520e+02 6.212806419972447e+02 + 6.239188745775372e+02 6.265537244230364e+02 6.291851890748597e+02 6.318132660808333e+02 6.344379529954938e+02 + 6.370592473800871e+02 6.396771468025696e+02 6.422916488376064e+02 6.449027510665734e+02 6.475104510775553e+02 + 6.501147464653474e+02 6.527156348314542e+02 6.553131137840901e+02 6.579071809381794e+02 6.604978339153558e+02 + 6.630850703439634e+02 6.656688878590552e+02 6.682492841023947e+02 6.708262567224546e+02 6.733998033744177e+02 + 6.759699217201766e+02 6.785366094283333e+02 6.810998641742000e+02 6.836596836397980e+02 6.862160655138592e+02 + 6.887690074918247e+02 6.913185072758453e+02 6.938645625747821e+02 6.964071711042051e+02 6.989463305863949e+02 + 7.014820387503412e+02 7.040142933317441e+02 7.065430920730126e+02 7.090684327232666e+02 7.115903130383348e+02 + 7.141087307807558e+02 7.166236837197782e+02 7.191351696313601e+02 7.216431862981700e+02 7.241477315095852e+02 + 7.266488030616937e+02 7.291463987572921e+02 7.316405164058881e+02 7.341311538236981e+02 7.366183088336488e+02 + 7.391019792653765e+02 7.415821629552270e+02 7.440588577462564e+02 7.465320614882301e+02 7.490017720376235e+02 + 7.514679872576214e+02 7.539307050181191e+02 7.563899231957208e+02 7.588456396737411e+02 7.612978523422037e+02 + 7.637465590978424e+02 7.661917578441014e+02 7.686334464911333e+02 7.710716229558018e+02 7.735062851616793e+02 + 7.759374310390485e+02 7.783650585249019e+02 7.807891655629417e+02 7.832097501035795e+02 7.856268101039369e+02 + 7.880403435278453e+02 7.904503483458460e+02 7.928568225351897e+02 7.952597640798369e+02 7.976591709704585e+02 + 8.000550412044341e+02 8.024473727858536e+02 8.048361637255169e+02 8.072214120409334e+02 8.096031157563222e+02 + 8.119812729026120e+02 8.143558815174417e+02 8.167269396451593e+02 8.190944453368236e+02 8.214583966502021e+02 + 8.238187916497725e+02 8.261756284067224e+02 8.285289049989487e+02 8.308786195110586e+02 8.332247700343684e+02 + 8.355673546669050e+02 8.379063715134042e+02 8.402418186853124e+02 8.425736943007848e+02 8.449019964846872e+02 + 8.472267233685945e+02 8.495478730907921e+02 8.518654437962743e+02 8.541794336367457e+02 8.564898407706205e+02 + 8.587966633630226e+02 8.610998995857861e+02 8.633995476174539e+02 8.656956056432798e+02 8.679880718552264e+02 + 8.702769444519665e+02 8.725622216388828e+02 8.748439016280670e+02 8.771219826383219e+02 8.793964628951586e+02 + 8.816673406307990e+02 8.839346140841741e+02 8.861982815009252e+02 8.884583411334027e+02 8.907147912406675e+02 + 8.929676300884897e+02 8.952168559493493e+02 8.974624671024361e+02 8.997044618336495e+02 9.019428384355992e+02 + 9.041775952076036e+02 9.064087304556922e+02 9.086362424926032e+02 9.108601296377846e+02 9.130803902173951e+02 + 9.152970225643020e+02 9.175100250180832e+02 9.197193959250255e+02 9.219251336381268e+02 9.241272365170935e+02 + 9.263257029283417e+02 9.285205312449986e+02 9.307117198468995e+02 9.328992671205907e+02 9.350831714593277e+02 + 9.372634312630761e+02 9.394400449385104e+02 9.416130108990160e+02 9.437823275646871e+02 9.459479933623287e+02 + 9.481100067254541e+02 9.502683660942876e+02 9.524230699157629e+02 9.545741166435229e+02 9.567215047379214e+02 + 9.588652326660207e+02 9.610052989015940e+02 9.631417019251231e+02 9.652744402238004e+02 9.674035122915279e+02 + 9.695289166289172e+02 9.716506517432896e+02 9.737687161486764e+02 9.758831083658184e+02 9.779938269221661e+02 + 9.801008703518804e+02 9.822042371958310e+02 9.843039260015983e+02 9.863999353234714e+02 9.884922637224498e+02 + 9.905809097662435e+02 9.926658720292703e+02 9.947471490926598e+02 9.968247395442500e+02 9.988986419785891e+02 + 1.000968854996935e+03 1.003035377207256e+03 1.005098207224229e+03 1.007157343669241e+03 1.009212785170389e+03 + 1.011264530362480e+03 1.013312577887031e+03 1.015356926392268e+03 1.017397574533126e+03 1.019434520971252e+03 + 1.021467764375000e+03 1.023497303419437e+03 1.025523136786337e+03 1.027545263164185e+03 1.029563681248175e+03 + 1.031578389740212e+03 1.033589387348909e+03 1.035596672789591e+03 1.037600244784291e+03 1.039600102061752e+03 + 1.041596243357428e+03 1.043588667413480e+03 1.045577372978782e+03 1.047562358808916e+03 1.049543623666173e+03 + 1.051521166319557e+03 1.053494985544777e+03 1.055465080124256e+03 1.057431448847125e+03 1.059394090509224e+03 + 1.061353003913104e+03 1.063308187868025e+03 1.065259641189957e+03 1.067207362701581e+03 1.069151351232285e+03 + 1.071091605618170e+03 1.073028124702043e+03 1.074960907333424e+03 1.076889952368542e+03 1.078815258670335e+03 + 1.080736825108451e+03 1.082654650559248e+03 1.084568733905793e+03 1.086479074037864e+03 1.088385669851947e+03 + 1.090288520251241e+03 1.092187624145651e+03 1.094082980451794e+03 1.095974588092995e+03 1.097862445999292e+03 + 1.099746553107428e+03 1.101626908360861e+03 1.103503510709754e+03 1.105376359110983e+03 1.107245452528133e+03 + 1.109110789931497e+03 1.110972370298081e+03 1.112830192611597e+03 1.114684255862470e+03 1.116534559047833e+03 + 1.118381101171529e+03 1.120223881244111e+03 1.122062898282842e+03 1.123898151311694e+03 1.125729639361349e+03 + 1.127557361469200e+03 1.129381316679347e+03 1.131201504042604e+03 1.133017922616489e+03 1.134830571465235e+03 + 1.136639449659783e+03 1.138444556277782e+03 1.140245890403593e+03 1.142043451128286e+03 1.143837237549640e+03 + 1.145627248772146e+03 1.147413483907002e+03 1.149195942072117e+03 1.150974622392110e+03 1.152749523998310e+03 + 1.154520646028755e+03 1.156287987628192e+03 1.158051547948079e+03 1.159811326146585e+03 1.161567321388586e+03 + 1.163319532845669e+03 1.165067959696131e+03 1.166812601124979e+03 1.168553456323928e+03 1.170290524491405e+03 + 1.172023804832545e+03 1.173753296559195e+03 1.175478998889909e+03 1.177200911049953e+03 1.178919032271301e+03 + 1.180633361792637e+03 1.182343898859357e+03 1.184050642723563e+03 1.185753592644071e+03 1.187452747886402e+03 + 1.189148107722792e+03 1.190839671432183e+03 1.192527438300227e+03 1.194211407619287e+03 1.195891578688435e+03 + 1.197567950813455e+03 1.199240523306837e+03 1.200909295487783e+03 1.202574266682204e+03 1.204235436222721e+03 + 1.205892803448666e+03 1.207546367706079e+03 1.209196128347710e+03 1.210842084733019e+03 1.212484236228177e+03 + 1.214122582206062e+03 1.215757122046265e+03 1.217387855135084e+03 1.219014780865528e+03 1.220637898637316e+03 + 1.222257207856876e+03 1.223872707937346e+03 1.225484398298575e+03 1.227092278367119e+03 1.228696347576247e+03 + 1.230296605365935e+03 1.231893051182870e+03 1.233485684480449e+03 1.235074504718779e+03 1.236659511364675e+03 + 1.238240703891664e+03 1.239818081779981e+03 1.241391644516571e+03 1.242961391595090e+03 1.244527322515903e+03 + 1.246089436786084e+03 1.247647733919417e+03 1.249202213436398e+03 1.250752874864230e+03 1.252299717736826e+03 + 1.253842741594810e+03 1.255381945985516e+03 1.256917330462986e+03 1.258448894587972e+03 1.259976637927938e+03 + 1.261500560057056e+03 1.263020660556207e+03 1.264536939012984e+03 1.266049395021687e+03 1.267558028183329e+03 + 1.269062838105629e+03 1.270563824403019e+03 1.272060986696640e+03 1.273554324614341e+03 1.275043837790682e+03 + 1.276529525866934e+03 1.278011388491075e+03 1.279489425317796e+03 1.280963636008494e+03 1.282434020231280e+03 + 1.283900577660971e+03 1.285363307979095e+03 1.286822210873891e+03 1.288277286040307e+03 1.289728533179999e+03 + 1.291175952001336e+03 1.292619542219393e+03 1.294059303555960e+03 1.295495235739530e+03 1.296927338505312e+03 + 1.298355611595221e+03 1.299780054757883e+03 1.301200667748633e+03 1.302617450329516e+03 1.304030402269289e+03 + 1.305439523343415e+03 1.306844813334069e+03 1.308246272030136e+03 1.309643899227210e+03 1.311037694727594e+03 + 1.312427658340302e+03 1.313813789881058e+03 1.315196089172293e+03 1.316574556043153e+03 1.317949190329488e+03 + 1.319319991873862e+03 1.320686960525546e+03 1.322050096140523e+03 1.323409398581483e+03 1.324764867717829e+03 + 1.326116503425671e+03 1.327464305587830e+03 1.328808274093838e+03 1.330148408839934e+03 1.331484709729068e+03 + 1.332817176670901e+03 1.334145809581802e+03 1.335470608384850e+03 1.336791573009835e+03 1.338108703393256e+03 + 1.339421999478320e+03 1.340731461214948e+03 1.342037088559766e+03 1.343338881476113e+03 1.344636839934036e+03 + 1.345930963910293e+03 1.347221253388351e+03 1.348507708358388e+03 1.349790328817288e+03 1.351069114768650e+03 + 1.352344066222779e+03 1.353615183196692e+03 1.354882465714113e+03 1.356145913805479e+03 1.357405527507935e+03 + 1.358661306865335e+03 1.359913251928245e+03 1.361161362753938e+03 1.362405639406399e+03 1.363646081956323e+03 + 1.364882690481112e+03 1.366115465064880e+03 1.367344405798451e+03 1.368569512779358e+03 1.369790786111843e+03 + 1.371008225906858e+03 1.372221832282067e+03 1.373431605361840e+03 1.374637545277261e+03 1.375839652166119e+03 + 1.377037926172918e+03 1.378232367448867e+03 1.379422976151887e+03 1.380609752446609e+03 1.381792696504374e+03 + 1.382971808503231e+03 1.384147088627939e+03 1.385318537069970e+03 1.386486154027501e+03 1.387649939705423e+03 + 1.388809894315333e+03 1.389966018075540e+03 1.391118311211063e+03 1.392266773953630e+03 1.393411406541678e+03 + 1.394552209220356e+03 1.395689182241520e+03 1.396822325863737e+03 1.397951640352285e+03 1.399077125979150e+03 + 1.400198783023028e+03 1.401316611769325e+03 1.402430612510158e+03 1.403540785544351e+03 1.404647131177441e+03 + 1.405749649721672e+03 1.406848341496000e+03 1.407943206826088e+03 1.409034246044311e+03 1.410121459489754e+03 + 1.411204847508209e+03 1.412284410452182e+03 1.413360148680885e+03 1.414432062560241e+03 1.415500152462884e+03 + 1.416564418768155e+03 1.417624861862108e+03 1.418681482137504e+03 1.419734279993815e+03 1.420783255837224e+03 + 1.421828410080621e+03 1.422869743143608e+03 1.423907255452495e+03 1.424940947440303e+03 1.425970819546763e+03 + 1.426996872218314e+03 1.428019105908108e+03 1.429037521076003e+03 1.430052118188569e+03 1.431062897719085e+03 + 1.432069860147540e+03 1.433073005960632e+03 1.434072335651771e+03 1.435067849721075e+03 1.436059548675370e+03 + 1.437047433028196e+03 1.438031503299800e+03 1.439011760017138e+03 1.439988203713878e+03 1.440960834930396e+03 + 1.441929654213780e+03 1.442894662117825e+03 1.443855859203037e+03 1.444813246036631e+03 1.445766823192535e+03 + 1.446716591251382e+03 1.447662550800518e+03 1.448604702433997e+03 1.449543046752585e+03 1.450477584363755e+03 + 1.451408315881691e+03 1.452335241927287e+03 1.453258363128147e+03 1.454177680118583e+03 1.455093193539620e+03 + 1.456004904038989e+03 1.456912812271134e+03 1.457816918897206e+03 1.458717224585068e+03 1.459613730009291e+03 + 1.460506435851157e+03 1.461395342798658e+03 1.462280451546494e+03 1.463161762796076e+03 1.464039277255525e+03 + 1.464912995639670e+03 1.465782918670054e+03 1.466649047074924e+03 1.467511381589240e+03 1.468369922954673e+03 + 1.469224671919600e+03 1.470075629239112e+03 1.470922795675006e+03 1.471766171995790e+03 1.472605758976684e+03 + 1.473441557399614e+03 1.474273568053219e+03 1.475101791732846e+03 1.475926229240551e+03 1.476746881385102e+03 + 1.477563748981976e+03 1.478376832853358e+03 1.479186133828146e+03 1.479991652741944e+03 1.480793390437068e+03 + 1.481591347762545e+03 1.482385525574108e+03 1.483175924734204e+03 1.483962546111986e+03 1.484745390583318e+03 + 1.485524459030776e+03 1.486299752343644e+03 1.487071271417914e+03 1.487839017156289e+03 1.488602990468185e+03 + 1.489363192269722e+03 1.490119623483735e+03 1.490872285039765e+03 1.491621177874064e+03 1.492366302929595e+03 + 1.493107661156030e+03 1.493845253509749e+03 1.494579080953843e+03 1.495309144458115e+03 1.496035444999074e+03 + 1.496757983559942e+03 1.497476761130647e+03 1.498191778707831e+03 1.498903037294843e+03 1.499610537901742e+03 + 1.500314281545298e+03 1.501014269248990e+03 1.501710502043006e+03 1.502402980964245e+03 1.503091707056315e+03 + 1.503776681369534e+03 1.504457904960931e+03 1.505135378894241e+03 1.505809104239914e+03 1.506479082075105e+03 + 1.507145313483682e+03 1.507807799556220e+03 1.508466541390007e+03 1.509121540089038e+03 1.509772796764020e+03 + 1.510420312532367e+03 1.511064088518205e+03 1.511704125852369e+03 1.512340425672404e+03 1.512972989122564e+03 + 1.513601817353814e+03 1.514226911523828e+03 1.514848272796989e+03 1.515465902344391e+03 1.516079801343838e+03 + 1.516689970979842e+03 1.517296412443626e+03 1.517899126933124e+03 1.518498115652977e+03 1.519093379814537e+03 + 1.519684920635866e+03 1.520272739341736e+03 1.520856837163628e+03 1.521437215339733e+03 1.522013875114953e+03 + 1.522586817740897e+03 1.523156044475887e+03 1.523721556584951e+03 1.524283355339831e+03 1.524841442018975e+03 + 1.525395817907543e+03 1.525946484297405e+03 1.526493442487138e+03 1.527036693782033e+03 1.527576239494086e+03 + 1.528112080942007e+03 1.528644219451213e+03 1.529172656353831e+03 1.529697392988700e+03 1.530218430701367e+03 + 1.530735770844087e+03 1.531249414775829e+03 1.531759363862268e+03 1.532265619475790e+03 1.532768182995492e+03 + 1.533267055807180e+03 1.533762239303368e+03 1.534253734883281e+03 1.534741543952856e+03 1.535225667924735e+03 + 1.535706108218275e+03 1.536182866259539e+03 1.536655943481301e+03 1.537125341323045e+03 1.537591061230964e+03 + 1.538053104657961e+03 1.538511473063650e+03 1.538966167914353e+03 1.539417190683102e+03 1.539864542849641e+03 + 1.540308225900420e+03 1.540748241328602e+03 1.541184590634058e+03 1.541617275323370e+03 1.542046296909827e+03 + 1.542471656913432e+03 1.542893356860894e+03 1.543311398285634e+03 1.543725782727782e+03 1.544136511734178e+03 + 1.544543586858370e+03 1.544947009660620e+03 1.545346781707894e+03 1.545742904573873e+03 1.546135379838945e+03 + 1.546524209090207e+03 1.546909393921469e+03 1.547290935933248e+03 1.547668836732771e+03 1.548043097933976e+03 + 1.548413721157510e+03 1.548780708030729e+03 1.549144060187701e+03 1.549503779269201e+03 1.549859866922715e+03 + 1.550212324802440e+03 1.550561154569281e+03 1.550906357890854e+03 1.551247936441483e+03 1.551585891902203e+03 + 1.551920225960758e+03 1.552250940311604e+03 1.552578036655905e+03 1.552901516701533e+03 1.553221382163073e+03 + 1.553537634761818e+03 1.553850276225772e+03 1.554159308289647e+03 1.554464732694865e+03 1.554766551189559e+03 + 1.555064765528572e+03 1.555359377473454e+03 1.555650388792468e+03 1.555937801260586e+03 1.556221616659488e+03 + 1.556501836777564e+03 1.556778463409917e+03 1.557051498358356e+03 1.557320943431401e+03 1.557586800444283e+03 + 1.557849071218940e+03 1.558107757584023e+03 1.558362861374890e+03 1.558614384433611e+03 1.558862328608964e+03 + 1.559106695756438e+03 1.559347487738230e+03 1.559584706423249e+03 1.559818353687112e+03 1.560048431412147e+03 + 1.560274941487391e+03 1.560497885808591e+03 1.560717266278204e+03 1.560933084805396e+03 1.561145343306044e+03 + 1.561354043702732e+03 1.561559187924758e+03 1.561760777908126e+03 1.561958815595552e+03 1.562153302936461e+03 + 1.562344241886987e+03 1.562531634409975e+03 1.562715482474979e+03 1.562895788058264e+03 1.563072553142803e+03 + 1.563245779718279e+03 1.563415469781085e+03 1.563581625334326e+03 1.563744248387813e+03 1.563903340958068e+03 + 1.564058905068325e+03 1.564210942748526e+03 1.564359456035321e+03 1.564504446972073e+03 1.564645917608853e+03 + 1.564783870002442e+03 1.564918306216331e+03 1.565049228320720e+03 1.565176638392519e+03 1.565300538515349e+03 + 1.565420930779540e+03 1.565537817282130e+03 1.565651200126870e+03 1.565761081424219e+03 1.565867463291344e+03 + 1.565970347852125e+03 1.566069737237150e+03 1.566165633583717e+03 1.566258039035835e+03 1.566346955744220e+03 + 1.566432385866300e+03 1.566514331566212e+03 1.566592795014803e+03 1.566667778389629e+03 1.566739283874957e+03 + 1.566807313661764e+03 1.566871869947734e+03 1.566932954937263e+03 1.566990570841457e+03 1.567044719878131e+03 + 1.567095404271811e+03 1.567142626253729e+03 1.567186388061831e+03 1.567226691940771e+03 1.567263540141913e+03 + 1.567296934923331e+03 1.567326878549808e+03 1.567353373292836e+03 1.567376421430620e+03 1.567396025248071e+03 + 1.567412187036812e+03 1.567424909095176e+03 1.567434193728203e+03 1.567440043247646e+03 1.567442459971967e+03 + 1.567441446226336e+03 1.567437004342634e+03 1.567429136659453e+03 1.567417845522091e+03 1.567403133282561e+03 + 1.567385002299581e+03 1.567363454938582e+03 1.567338493571702e+03 1.567310120577791e+03 1.567278338342408e+03 + 1.567243149257822e+03 1.567204555723011e+03 1.567162560143663e+03 1.567117164932177e+03 1.567068372507660e+03 + 1.567016185295929e+03 1.566960605729512e+03 1.566901636247646e+03 1.566839279296277e+03 1.566773537328063e+03 + 1.566704412802369e+03 1.566631908185271e+03 1.566556025949555e+03 1.566476768574717e+03 1.566394138546961e+03 + 1.566308138359204e+03 1.566218770511069e+03 1.566126037508891e+03 1.566029941865714e+03 1.565930486101294e+03 + 1.565827672742092e+03 1.565721504321283e+03 1.565611983378751e+03 1.565499112461087e+03 1.565382894121595e+03 + 1.565263330920288e+03 1.565140425423888e+03 1.565014180205826e+03 1.564884597846246e+03 1.564751680931997e+03 + 1.564615432056643e+03 1.564475853820452e+03 1.564332948830408e+03 1.564186719700199e+03 1.564037169050227e+03 + 1.563884299507601e+03 1.563728113706142e+03 1.563568614286379e+03 1.563405803895550e+03 1.563239685187607e+03 + 1.563070260823207e+03 1.562897533469719e+03 1.562721505801220e+03 1.562542180498501e+03 1.562359560249057e+03 + 1.562173647747097e+03 1.561984445693539e+03 1.561791956796009e+03 1.561596183768845e+03 1.561397129333092e+03 + 1.561194796216507e+03 1.560989187153558e+03 1.560780304885418e+03 1.560568152159974e+03 1.560352731731822e+03 + 1.560134046362267e+03 1.559912098819323e+03 1.559686891877715e+03 1.559458428318879e+03 1.559226710930956e+03 + 1.558991742508803e+03 1.558753525853981e+03 1.558512063774766e+03 1.558267359086140e+03 1.558019414609795e+03 + 1.557768233174136e+03 1.557513817614273e+03 1.557256170772030e+03 1.556995295495938e+03 1.556731194641239e+03 + 1.556463871069885e+03 1.556193327650536e+03 1.555919567258564e+03 1.555642592776049e+03 1.555362407091783e+03 + 1.555079013101264e+03 1.554792413706704e+03 1.554502611817021e+03 1.554209610347846e+03 1.553913412221517e+03 + 1.553614020367084e+03 1.553311437720305e+03 1.553005667223649e+03 1.552696711826295e+03 1.552384574484129e+03 + 1.552069258159750e+03 1.551750765822466e+03 1.551429100448294e+03 1.551104265019960e+03 1.550776262526902e+03 + 1.550445095965265e+03 1.550110768337907e+03 1.549773282654394e+03 1.549432641931000e+03 1.549088849190713e+03 + 1.548741907463227e+03 1.548391819784946e+03 1.548038589198987e+03 1.547682218755173e+03 1.547322711510039e+03 + 1.546960070526829e+03 1.546594298875496e+03 1.546225399632705e+03 1.545853375881829e+03 1.545478230712950e+03 + 1.545099967222861e+03 1.544718588515066e+03 1.544334097699777e+03 1.543946497893915e+03 1.543555792221112e+03 + 1.543161983811711e+03 1.542765075802762e+03 1.542365071338026e+03 1.541961973567975e+03 1.541555785649789e+03 + 1.541146510747358e+03 1.540734152031283e+03 1.540318712678874e+03 1.539900195874149e+03 1.539478604807839e+03 + 1.539053942677383e+03 1.538626212686929e+03 1.538195418047336e+03 1.537761561976173e+03 1.537324647697717e+03 + 1.536884678442957e+03 1.536441657449592e+03 1.535995587962026e+03 1.535546473231378e+03 1.535094316515475e+03 + 1.534639121078853e+03 1.534180890192759e+03 1.533719627135150e+03 1.533255335190690e+03 1.532788017650757e+03 + 1.532317677813435e+03 1.531844318983518e+03 1.531367944472514e+03 1.530888557598635e+03 1.530406161686807e+03 + 1.529920760068664e+03 1.529432356082550e+03 1.528940953073517e+03 1.528446554393331e+03 1.527949163400464e+03 + 1.527448783460099e+03 1.526945417944129e+03 1.526439070231157e+03 1.525929743706494e+03 1.525417441762163e+03 + 1.524902167796895e+03 1.524383925216131e+03 1.523862717432025e+03 1.523338547863434e+03 1.522811419935932e+03 + 1.522281337081799e+03 1.521748302740024e+03 1.521212320356308e+03 1.520673393383061e+03 1.520131525279401e+03 + 1.519586719511159e+03 1.519038979550873e+03 1.518488308877793e+03 1.517934710977876e+03 1.517378189343791e+03 + 1.516818747474916e+03 1.516256388877339e+03 1.515691117063858e+03 1.515122935553979e+03 1.514551847873920e+03 + 1.513977857556607e+03 1.513400968141679e+03 1.512821183175479e+03 1.512238506211065e+03 1.511652940808203e+03 + 1.511064490533368e+03 1.510473158959745e+03 1.509878949667230e+03 1.509281866242427e+03 1.508681912278651e+03 + 1.508079091375926e+03 1.507473407140987e+03 1.506864863187277e+03 1.506253463134950e+03 1.505639210610869e+03 + 1.505022109248608e+03 1.504402162688449e+03 1.503779374577385e+03 1.503153748569118e+03 1.502525288324061e+03 + 1.501893997509335e+03 1.501259879798773e+03 1.500622938872914e+03 1.499983178419011e+03 1.499340602131025e+03 + 1.498695213709626e+03 1.498047016862194e+03 1.497396015302820e+03 1.496742212752304e+03 1.496085612938155e+03 + 1.495426219594593e+03 1.494764036462547e+03 1.494099067289655e+03 1.493431315830267e+03 1.492760785845442e+03 + 1.492087481102946e+03 1.491411405377259e+03 1.490732562449567e+03 1.490050956107769e+03 1.489366590146471e+03 + 1.488679468366991e+03 1.487989594577355e+03 1.487296972592300e+03 1.486601606233272e+03 1.485903499328426e+03 + 1.485202655712629e+03 1.484499079227457e+03 1.483792773721193e+03 1.483083743048834e+03 1.482371991072084e+03 + 1.481657521659358e+03 1.480940338685780e+03 1.480220446033183e+03 1.479497847590113e+03 1.478772547251821e+03 + 1.478044548920272e+03 1.477313856504138e+03 1.476580473918802e+03 1.475844405086357e+03 1.475105653935605e+03 + 1.474364224402058e+03 1.473620120427938e+03 1.472873345962177e+03 1.472123904960415e+03 1.471371801385004e+03 + 1.470617039205005e+03 1.469859622396187e+03 1.469099554941032e+03 1.468336840828730e+03 1.467571484055180e+03 + 1.466803488622991e+03 1.466032858541484e+03 1.465259597826687e+03 1.464483710501340e+03 1.463705200594890e+03 + 1.462924072143496e+03 1.462140329190026e+03 1.461353975784058e+03 1.460565015981880e+03 1.459773453846489e+03 + 1.458979293447591e+03 1.458182538861605e+03 1.457383194171656e+03 1.456581263467582e+03 1.455776750845927e+03 + 1.454969660409948e+03 1.454159996269611e+03 1.453347762541590e+03 1.452532963349272e+03 1.451715602822750e+03 + 1.450895685098830e+03 1.450073214321026e+03 1.449248194639563e+03 1.448420630211373e+03 1.447590525200101e+03 + 1.446757883776100e+03 1.445922710116434e+03 1.445085008404874e+03 1.444244782831905e+03 1.443402037594718e+03 + 1.442556776897215e+03 1.441709004950008e+03 1.440858725970420e+03 1.440005944182481e+03 1.439150663816933e+03 + 1.438292889111226e+03 1.437432624309523e+03 1.436569873662692e+03 1.435704641428314e+03 1.434836931870678e+03 + 1.433966749260786e+03 1.433094097876346e+03 1.432218982001777e+03 1.431341405928208e+03 1.430461373953479e+03 + 1.429578890382137e+03 1.428693959525441e+03 1.427806585701360e+03 1.426916773234569e+03 1.426024526456458e+03 + 1.425129849705122e+03 1.424232747325370e+03 1.423333223668719e+03 1.422431283093393e+03 1.421526929964331e+03 + 1.420620168653178e+03 1.419711003538289e+03 1.418799439004731e+03 1.417885479444278e+03 1.416969129255415e+03 + 1.416050392843337e+03 1.415129274619950e+03 1.414205779003866e+03 1.413279910420411e+03 1.412351673301618e+03 + 1.411421072086230e+03 1.410488111219700e+03 1.409552795154193e+03 1.408615128348581e+03 1.407675115268446e+03 + 1.406732760386080e+03 1.405788068180486e+03 1.404841043137375e+03 1.403891689749170e+03 1.402940012515001e+03 + 1.401986015940709e+03 1.401029704538846e+03 1.400071082828672e+03 1.399110155336157e+03 1.398146926593981e+03 + 1.397181401141535e+03 1.396213583524918e+03 1.395243478296938e+03 1.394271090017116e+03 1.393296423251680e+03 + 1.392319482573570e+03 1.391340272562432e+03 1.390358797804626e+03 1.389375062893219e+03 1.388389072427989e+03 + 1.387400831015423e+03 1.386410343268718e+03 1.385417613807782e+03 1.384422647259231e+03 1.383425448256391e+03 + 1.382426021439299e+03 1.381424371454700e+03 1.380420502956051e+03 1.379414420603515e+03 1.378406129063970e+03 + 1.377395633010999e+03 1.376382937124898e+03 1.375368046092671e+03 1.374350964608031e+03 1.373331697371403e+03 + 1.372310249089921e+03 1.371286624477428e+03 1.370260828254477e+03 1.369232865148331e+03 1.368202739892964e+03 + 1.367170457229056e+03 1.366136021904002e+03 1.365099438671902e+03 1.364060712293568e+03 1.363019847536522e+03 + 1.361976849174995e+03 1.360931721989928e+03 1.359884470768972e+03 1.358835100306487e+03 1.357783615403544e+03 + 1.356730020867921e+03 1.355674321514110e+03 1.354616522163310e+03 1.353556627643430e+03 1.352494642789090e+03 + 1.351430572441617e+03 1.350364421449050e+03 1.349296194666138e+03 1.348225896954338e+03 1.347153533181818e+03 + 1.346079108223457e+03 1.345002626960841e+03 1.343924094282267e+03 1.342843515082743e+03 1.341760894263984e+03 + 1.340676236734416e+03 1.339589547409177e+03 1.338500831210112e+03 1.337410093065776e+03 1.336317337911434e+03 + 1.335222570689062e+03 1.334125796347346e+03 1.333027019841677e+03 1.331926246134163e+03 1.330823480193616e+03 + 1.329718726995561e+03 1.328611991522230e+03 1.327503278762568e+03 1.326392593712228e+03 1.325279941373571e+03 + 1.324165326755672e+03 1.323048754874311e+03 1.321930230751983e+03 1.320809759417887e+03 1.319687345907936e+03 + 1.318562995264752e+03 1.317436712537665e+03 1.316308502782716e+03 1.315178371062656e+03 1.314046322446946e+03 + 1.312912362011755e+03 1.311776494839963e+03 1.310638726021160e+03 1.309499060651645e+03 1.308357503834428e+03 + 1.307214060679228e+03 1.306068736302473e+03 1.304921535827301e+03 1.303772464383560e+03 1.302621527107810e+03 + 1.301468729143317e+03 1.300314075640058e+03 1.299157571754721e+03 1.297999222650704e+03 1.296839033498112e+03 + 1.295677009473761e+03 1.294513155761180e+03 1.293347477550602e+03 1.292179980038974e+03 1.291010668429951e+03 + 1.289839547933899e+03 1.288666623767893e+03 1.287491901155716e+03 1.286315385327865e+03 1.285137081521542e+03 + 1.283956994980662e+03 1.282775130955849e+03 1.281591494704436e+03 1.280406091490466e+03 1.279218926584693e+03 + 1.278030005264579e+03 1.276839332814297e+03 1.275646914524728e+03 1.274452755693465e+03 1.273256861624810e+03 + 1.272059237629775e+03 1.270859889026079e+03 1.269658821138155e+03 1.268456039297144e+03 1.267251548840895e+03 + 1.266045355113969e+03 1.264837463467636e+03 1.263627879259876e+03 1.262416607855379e+03 1.261203654625543e+03 + 1.259989024948479e+03 1.258772724209004e+03 1.257554757798647e+03 1.256335131115646e+03 1.255113849564950e+03 + 1.253890918558217e+03 1.252666343513813e+03 1.251440129856817e+03 1.250212283019015e+03 1.248982808438904e+03 + 1.247751711561691e+03 1.246518997839292e+03 1.245284672730334e+03 1.244048741700151e+03 1.242811210220790e+03 + 1.241572083771006e+03 1.240331367836264e+03 1.239089067908740e+03 1.237845189487317e+03 1.236599738077590e+03 + 1.235352719191863e+03 1.234104138349150e+03 1.232854001075175e+03 1.231602312902370e+03 1.230349079369880e+03 + 1.229094306023557e+03 1.227837998415964e+03 1.226580162106373e+03 1.225320802660766e+03 1.224059925651835e+03 + 1.222797536658982e+03 1.221533641268318e+03 1.220268245072664e+03 1.219001353671552e+03 1.217732972671222e+03 + 1.216463107684624e+03 1.215191764331420e+03 1.213918948237977e+03 1.212644665037377e+03 1.211368920369408e+03 + 1.210091719880570e+03 1.208813069224072e+03 1.207532974059833e+03 1.206251440054480e+03 1.204968472881353e+03 + 1.203684078220499e+03 1.202398261758676e+03 1.201111029189351e+03 1.199822386212701e+03 1.198532338535615e+03 + 1.197240891871687e+03 1.195948051941225e+03 1.194653824471246e+03 1.193358215195474e+03 1.192061229854346e+03 + 1.190762874195007e+03 1.189463153971313e+03 1.188162074943828e+03 1.186859642879827e+03 1.185555863553295e+03 + 1.184250742744927e+03 1.182944286242125e+03 1.181636499839004e+03 1.180327389336388e+03 1.179016960541809e+03 + 1.177705219269511e+03 1.176392171340446e+03 1.175077822582277e+03 1.173762178829377e+03 1.172445245922827e+03 + 1.171127029710419e+03 1.169807536046655e+03 1.168486770792745e+03 1.167164739816612e+03 1.165841448992886e+03 + 1.164516904202907e+03 1.163191111334726e+03 1.161864076283103e+03 1.160535804949508e+03 1.159206303242120e+03 + 1.157875577075829e+03 1.156543632372233e+03 1.155210475059642e+03 1.153876111073074e+03 1.152540546354257e+03 + 1.151203786851631e+03 1.149865838520342e+03 1.148526707322247e+03 1.147186399225916e+03 1.145844920206624e+03 + 1.144502276246358e+03 1.143158473333815e+03 1.141813517464402e+03 1.140467414640234e+03 1.139120170870139e+03 + 1.137771792169650e+03 1.136422284561014e+03 1.135071654073185e+03 1.133719906741829e+03 1.132367048609320e+03 + 1.131013085724743e+03 1.129658024143891e+03 1.128301869929270e+03 1.126944629150092e+03 1.125586307882280e+03 + 1.124226912208469e+03 1.122866448218001e+03 1.121504922006928e+03 1.120142339678013e+03 1.118778707340729e+03 + 1.117414031111256e+03 1.116048317112488e+03 1.114681571474025e+03 1.113313800332179e+03 1.111945009829970e+03 + 1.110575206117129e+03 1.109204395350097e+03 1.107832583692024e+03 1.106459777312770e+03 1.105085982388904e+03 + 1.103711205103706e+03 1.102335451647166e+03 1.100958728215983e+03 1.099581041013564e+03 1.098202396250028e+03 + 1.096822800142205e+03 1.095442258913632e+03 1.094060778794555e+03 1.092678366021934e+03 1.091295026839436e+03 + 1.089910767497437e+03 1.088525594253023e+03 1.087139513369993e+03 1.085752531118851e+03 1.084364653776815e+03 + 1.082975887627809e+03 1.081586238962469e+03 1.080195714078142e+03 1.078804319278880e+03 1.077412060875450e+03 + 1.076018945185327e+03 1.074624978532693e+03 1.073230167248444e+03 1.071834517670182e+03 1.070438036142223e+03 + 1.069040729015589e+03 1.067642602648012e+03 1.066243663403937e+03 1.064843917654515e+03 1.063443371777609e+03 + 1.062042032157791e+03 1.060639905186343e+03 1.059236997261256e+03 1.057833314787232e+03 1.056428864175682e+03 + 1.055023651844726e+03 1.053617684219196e+03 1.052210967730631e+03 1.050803508817282e+03 1.049395313897890e+03 + 1.047986388534756e+03 1.046576737255851e+03 1.045166364529164e+03 1.043755274824231e+03 1.042343472612131e+03 + 1.040930962365484e+03 1.039517748558457e+03 1.038103835666756e+03 1.036689228167636e+03 1.035273930539893e+03 + 1.033857947263865e+03 1.032441282821436e+03 1.031023941696033e+03 1.029605928372625e+03 1.028187247337727e+03 + 1.026767903079397e+03 1.025347900087235e+03 1.023927242852386e+03 1.022505935867538e+03 1.021083983626923e+03 + 1.019661390626317e+03 1.018238161363038e+03 1.016814300335948e+03 1.015389812045455e+03 1.013964700993507e+03 + 1.012538971683598e+03 1.011112628620765e+03 1.009685676311588e+03 1.008258119264191e+03 1.006829961988242e+03 + 1.005401208994952e+03 1.003971864797076e+03 1.002541933908912e+03 1.001111420846301e+03 9.996803301266303e+02 + 9.982486662688275e+02 9.968164337933661e+02 9.953836372222621e+02 9.939502810790750e+02 9.925163698889086e+02 + 9.910819081784098e+02 9.896469004757686e+02 9.882113513107199e+02 9.867752652145410e+02 9.853386467200531e+02 + 9.839015003616214e+02 9.824638306751541e+02 9.810256421981031e+02 9.795869394694643e+02 9.781477270297768e+02 + 9.767080094211232e+02 9.752677911871300e+02 9.738270768729670e+02 9.723858710253478e+02 9.709441781925295e+02 + 9.695020029243127e+02 9.680593497720415e+02 9.666162232886040e+02 9.651726280284314e+02 9.637285685474986e+02 + 9.622840494033246e+02 9.608390751549712e+02 9.593936503630440e+02 9.579477795896925e+02 9.565014673986094e+02 + 9.550547183550314e+02 9.536075370257383e+02 9.521599279790540e+02 9.507118957848456e+02 9.492634450145238e+02 + 9.478145802410424e+02 9.463653060389005e+02 9.449156269841388e+02 9.434655476543426e+02 9.420150726286407e+02 + 9.405642064877048e+02 9.391129538137513e+02 9.376613191905399e+02 9.362093072033728e+02 9.347569224390970e+02 + 9.333041694861028e+02 9.318510529343232e+02 9.303975773752362e+02 9.289437474018629e+02 9.274895676087672e+02 + 9.260350425920570e+02 9.245801769493847e+02 9.231249752799448e+02 9.216694421844763e+02 9.202135822652619e+02 + 9.187574001261273e+02 9.173009003724419e+02 9.158440876111187e+02 9.143869664506148e+02 9.129295415009306e+02 + 9.114718173736089e+02 9.100137986817383e+02 9.085554900399494e+02 9.070968960644165e+02 9.056380213728581e+02 + 9.041788705845360e+02 9.027194483202552e+02 9.012597592023648e+02 8.997998078547574e+02 8.983395989028686e+02 + 8.968791369736786e+02 8.954184266957105e+02 8.939574726990309e+02 8.924962796152502e+02 8.910348520775226e+02 + 8.895731947205452e+02 8.881113121805595e+02 8.866492090953504e+02 8.851868901042455e+02 8.837243598481174e+02 + 8.822616229693809e+02 8.807986841119955e+02 8.793355479214636e+02 8.778722190448314e+02 8.764087021306887e+02 + 8.749450018291686e+02 8.734811227919481e+02 8.720170696722481e+02 8.705528471248323e+02 8.690884598060085e+02 + 8.676239123736278e+02 8.661592094870851e+02 8.646943558073189e+02 8.632293559968109e+02 8.617642147195870e+02 + 8.602989366412162e+02 8.588335264288111e+02 8.573679887510280e+02 8.559023282780669e+02 8.544365496816713e+02 + 8.529706576351281e+02 8.515046568132680e+02 8.500385518924651e+02 8.485723475506371e+02 8.471060484672456e+02 + 8.456396593232956e+02 8.441731848013352e+02 8.427066295854568e+02 8.412399983612960e+02 8.397732958160319e+02 + 8.383065266383875e+02 8.368396955186294e+02 8.353728071485672e+02 8.339058662215547e+02 8.324388774324890e+02 + 8.309718454778108e+02 8.295047750555044e+02 8.280376708650979e+02 8.265705376076626e+02 8.251033799858133e+02 + 8.236362027037090e+02 8.221690104670519e+02 8.207018079830875e+02 8.192345999606056e+02 8.177673911099388e+02 + 8.163001861429635e+02 8.148329897731001e+02 8.133658067153123e+02 8.118986416861073e+02 8.104314994035359e+02 + 8.089643845871925e+02 8.074973019582153e+02 8.060302562392853e+02 8.045632521546285e+02 8.030962944300132e+02 + 8.016293877927517e+02 8.001625369717000e+02 7.986957466972576e+02 7.972290217013673e+02 7.957623667175162e+02 + 7.942957864807344e+02 7.928292857275953e+02 7.913628691962167e+02 7.898965416262595e+02 7.884303077589279e+02 + 7.869641723369706e+02 7.854981401046790e+02 7.840322158078881e+02 7.825664041939773e+02 7.811007100118686e+02 + 7.796351380120283e+02 7.781696929464658e+02 7.767043795687346e+02 7.752392026339312e+02 7.737741668986956e+02 + 7.723092771212124e+02 7.708445380612087e+02 7.693799544799557e+02 7.679155311402681e+02 7.664512728065041e+02 + 7.649871842445651e+02 7.635232702218972e+02 7.620595355074889e+02 7.605959848718730e+02 7.591326230871256e+02 + 7.576694549268664e+02 7.562064851662584e+02 7.547437185820088e+02 7.532811599523681e+02 7.518188140571300e+02 + 7.503566856776325e+02 7.488947795967565e+02 7.474331005989271e+02 7.459716534701122e+02 7.445104429978242e+02 + 7.430494739711182e+02 7.415887511805935e+02 7.401282794183929e+02 7.386680634782024e+02 7.372081081552518e+02 + 7.357484182463149e+02 7.342889985497084e+02 7.328298538652926e+02 7.313709889944722e+02 7.299124087401947e+02 + 7.284541179069513e+02 7.269961213007771e+02 7.255384237292504e+02 7.240810300014931e+02 7.226239449281712e+02 + 7.211671733214938e+02 7.197107199952134e+02 7.182545897646269e+02 7.167987874465738e+02 7.153433178594373e+02 + 7.138881858231457e+02 7.124333961591685e+02 7.109789536905207e+02 7.095248632417597e+02 7.080711296389870e+02 + 7.066177577098478e+02 7.051647522835304e+02 7.037121181907675e+02 7.022598602638342e+02 7.008079833365500e+02 + 6.993564922442782e+02 6.979053918239249e+02 6.964546869139400e+02 6.950043823543177e+02 6.935544829865950e+02 + 6.921049936538523e+02 6.906559192007142e+02 6.892072644733491e+02 6.877590343194680e+02 6.863112335883264e+02 + 6.848638671307228e+02 6.834169397989994e+02 6.819704564470420e+02 6.805244219302806e+02 6.790788411056876e+02 + 6.776337188317796e+02 6.761890599686175e+02 6.747448693778041e+02 6.733011519224871e+02 6.718579124673579e+02 + 6.704151558786504e+02 6.689728870241429e+02 6.675311107731571e+02 6.660898319965579e+02 6.646490555667547e+02 + 6.632087863576994e+02 6.617690292448882e+02 6.603297891053608e+02 6.588910708177000e+02 6.574528792620325e+02 + 6.560152193200289e+02 6.545780958749028e+02 6.531415138114120e+02 6.517054780158572e+02 6.502699933760831e+02 + 6.488350647814780e+02 6.474006971229736e+02 6.459668952930450e+02 6.445336641857116e+02 6.431010086965356e+02 + 6.416689337226230e+02 6.402374441626239e+02 6.388065449167315e+02 6.373762408866819e+02 6.359465369757564e+02 + 6.345174380887786e+02 6.330889491321157e+02 6.316610750136796e+02 6.302338206429247e+02 6.288071909308491e+02 + 6.273811907899951e+02 6.259558251344477e+02 6.245310988798360e+02 6.231070169433332e+02 6.216835842436550e+02 + 6.202608057010611e+02 6.188386862373554e+02 6.174172307758844e+02 6.159964442415383e+02 6.145763315607522e+02 + 6.131568976615030e+02 6.117381474733122e+02 6.103200859272448e+02 6.089027179559087e+02 6.074860484934565e+02 + 6.060700824755835e+02 6.046548248395288e+02 6.032402805240755e+02 6.018264544695495e+02 6.004133516178208e+02 + 5.990009769123031e+02 5.975893352979532e+02 5.961784317212720e+02 5.947682711303036e+02 5.933588584746357e+02 + 5.919501987053994e+02 5.905422967752705e+02 5.891351576384668e+02 5.877287862507508e+02 5.863231875694282e+02 + 5.849183665533477e+02 5.835143281629030e+02 5.821110773600302e+02 5.807086191082091e+02 5.793069583724634e+02 + 5.779061001193606e+02 5.765060493170109e+02 5.751068109350690e+02 5.737083899447330e+02 5.723107913187440e+02 + 5.709140200313871e+02 5.695180810584912e+02 5.681229793774282e+02 5.667287199671144e+02 5.653353078080089e+02 + 5.639427478821145e+02 5.625510451729782e+02 5.611602046656897e+02 5.597702313468828e+02 5.583811302047351e+02 + 5.569929062289672e+02 5.556055644108436e+02 5.542191097431725e+02 5.528335472203050e+02 5.514488818381369e+02 + 5.500651185941068e+02 5.486822624871968e+02 5.473003185179330e+02 5.459192916883851e+02 5.445391870021655e+02 + 5.431600094644319e+02 5.417817640818839e+02 5.404044558627653e+02 5.390280898168637e+02 5.376526709555103e+02 + 5.362782042915790e+02 5.349046948394886e+02 5.335321476152006e+02 5.321605676362202e+02 5.307899599215965e+02 + 5.294203294919217e+02 5.280516813693320e+02 5.266840205775071e+02 5.253173521416702e+02 5.239516810885877e+02 + 5.225870124465707e+02 5.212233512454725e+02 5.198607025166908e+02 5.184990712931668e+02 5.171384626093851e+02 + 5.157788815013741e+02 5.144203330067055e+02 5.130628221644946e+02 5.117063540154008e+02 5.103509336016263e+02 + 5.089965659669175e+02 5.076432561565640e+02 5.062910092173990e+02 5.049398301977998e+02 5.035897241476866e+02 + 5.022406961185235e+02 5.008927511633182e+02 4.995458943366220e+02 4.982001306945292e+02 4.968554652946787e+02 + 4.955119031962524e+02 4.941694494599757e+02 4.928281091481178e+02 4.914878873244913e+02 4.901487890544524e+02 + 4.888108194049014e+02 4.874739834442815e+02 4.861382862425793e+02 4.848037328713260e+02 4.834703284035954e+02 + 4.821380779140055e+02 4.808069864787175e+02 4.794770591754360e+02 4.781483010834104e+02 4.768207172834317e+02 + 4.754943128578365e+02 4.741690928905032e+02 4.728450624668552e+02 4.715222266738587e+02 4.702005906000235e+02 + 4.688801593354034e+02 4.675609379715956e+02 4.662429316017405e+02 4.649261453205227e+02 4.636105842241698e+02 + 4.622962534104534e+02 4.609831579786886e+02 4.596713030297340e+02 4.583606936659914e+02 4.570513349914071e+02 + 4.557432321114703e+02 4.544363901332138e+02 4.531308141652141e+02 4.518265093175915e+02 4.505234807020092e+02 + 4.492217334316751e+02 4.479212726213398e+02 4.466221033872973e+02 4.453242308473862e+02 4.440276601209875e+02 + 4.427323963290266e+02 4.414384445939725e+02 4.401458100398370e+02 4.388544977921764e+02 4.375645129780900e+02 + 4.362758607262207e+02 4.349885461667554e+02 4.337025744314242e+02 4.324179506535007e+02 4.311346799678025e+02 + 4.298527675106906e+02 4.285722184200691e+02 4.272930378353866e+02 4.260152308976346e+02 4.247388027493482e+02 + 4.234637585346064e+02 4.221901033990317e+02 4.209178424897899e+02 4.196469809555908e+02 4.183775239466873e+02 + 4.171094766148764e+02 4.158428441134982e+02 4.145776315974367e+02 4.133138442231195e+02 4.120514871485177e+02 + 4.107905655331455e+02 4.095310845380616e+02 4.082730493258674e+02 4.070164650607085e+02 4.057613369082738e+02 + 4.045076700357962e+02 4.032554696120511e+02 4.020047408073589e+02 4.007554887935824e+02 3.995077187441286e+02 + 3.982614358339480e+02 3.970166452395346e+02 3.957733521389259e+02 3.945315617117033e+02 3.932912791389912e+02 + 3.920525096034583e+02 3.908152582893162e+02 3.895795303823206e+02 3.883453310697706e+02 3.871126655405087e+02 + 3.858815389849212e+02 3.846519565949380e+02 3.834239235640323e+02 3.821974450872211e+02 3.809725263610652e+02 + 3.797491725836686e+02 3.785273889546788e+02 3.773071806752873e+02 3.760885529482291e+02 3.748715109777822e+02 + 3.736560599697692e+02 3.724422051315553e+02 3.712299516720498e+02 3.700193048017055e+02 3.688102697325187e+02 + 3.676028516780295e+02 3.663970558533210e+02 3.651928874750207e+02 3.639903517612993e+02 3.627894539318706e+02 + 3.615901992079928e+02 3.603925928124674e+02 3.591966399696389e+02 3.580023459053963e+02 3.568097158471716e+02 + 3.556187550239405e+02 3.544294686662223e+02 3.532418620060801e+02 3.520559402771199e+02 3.508717087144923e+02 + 3.496891725548904e+02 3.485083370365518e+02 3.473292073992571e+02 3.461517888843309e+02 3.449760867346407e+02 + 3.438021061945983e+02 3.426298525101589e+02 3.414593309288210e+02 3.402905466996269e+02 3.391235050731623e+02 + 3.379582113015570e+02 3.367946706384836e+02 3.356328883391590e+02 3.344728696603431e+02 3.333146198603399e+02 + 3.321581441989965e+02 3.310034479377038e+02 3.298505363393963e+02 3.286994146685523e+02 3.275500881911931e+02 + 3.264025621748842e+02 3.252568418887342e+02 3.241129326033955e+02 3.229708395910641e+02 3.218305681254797e+02 + 3.206921234819250e+02 3.195555109372272e+02 3.184207357697562e+02 3.172878032594259e+02 3.161567186876940e+02 + 3.150274873375612e+02 3.139001144935722e+02 3.127746054418153e+02 3.116509654699221e+02 3.105291998670680e+02 + 3.094093139239718e+02 3.082913129328962e+02 3.071752021876472e+02 3.060609869835743e+02 3.049486726175709e+02 + 3.038382643880739e+02 3.027297675950632e+02 3.016231875400634e+02 3.005185295261418e+02 2.994157988579094e+02 + 2.983150008415209e+02 2.972161407846750e+02 2.961192239966130e+02 2.950242557881208e+02 2.939312414715272e+02 + 2.928401863607048e+02 2.917510957710699e+02 2.906639750195822e+02 2.895788294247451e+02 2.884956643066055e+02 + 2.874144849867538e+02 2.863352967883243e+02 2.852581050359946e+02 2.841829150559857e+02 2.831097321760628e+02 + 2.820385617255341e+02 2.809694090352515e+02 2.799022794376108e+02 2.788371782665511e+02 2.777741108575549e+02 + 2.767130825476488e+02 2.756540986754025e+02 2.745971645809293e+02 2.735422856058867e+02 2.724894670934750e+02 + 2.714387143884384e+02 2.703900328370648e+02 2.693434277871856e+02 2.682989045881756e+02 2.672564685909533e+02 + 2.662161251479810e+02 2.651778796132642e+02 2.641417373423522e+02 2.631077036923379e+02 2.620757840218578e+02 + 2.610459836910915e+02 2.600183080617631e+02 2.589927624971394e+02 2.579693523620314e+02 2.569480830227931e+02 + 2.559289598473227e+02 2.549119882050614e+02 2.538971734669946e+02 2.528845210056507e+02 2.518740361951020e+02 + 2.508657244109642e+02 2.498595910303967e+02 2.488556414321026e+02 2.478538809963281e+02 2.468543151048638e+02 + 2.458569491410431e+02 2.448617884897432e+02 2.438688385373852e+02 2.428781046719333e+02 2.418895922828956e+02 + 2.409033067613238e+02 2.399192534998131e+02 2.389374378925019e+02 2.379578653350729e+02 2.369805412247519e+02 + 2.360054709603084e+02 2.350326599420553e+02 2.340621135718494e+02 2.330938372530911e+02 2.321278363907239e+02 + 2.311641163912353e+02 2.302026826626565e+02 2.292435406145617e+02 2.282866956580692e+02 2.273321532058407e+02 + 2.263799186720815e+02 2.254299974725404e+02 2.244823950245099e+02 2.235371167468261e+02 2.225941680598685e+02 + 2.216535543855603e+02 2.207152811473682e+02 2.197793537703028e+02 2.188457776809178e+02 2.179145583073106e+02 + 2.169857010791227e+02 2.160592114275385e+02 2.151350947852860e+02 2.142133565866376e+02 2.132940022674083e+02 + 2.123770372649571e+02 2.114624670181867e+02 2.105502969675431e+02 2.096405325550162e+02 2.087331792241393e+02 + 2.078282424199890e+02 2.069257275891860e+02 2.060256401798943e+02 2.051279856418216e+02 2.042327694262190e+02 + 2.033399969858813e+02 2.024496737751469e+02 2.015618052498977e+02 2.006763968675590e+02 1.997934540871004e+02 + 1.989129823690343e+02 1.980349871754169e+02 1.971594739698481e+02 1.962864482174713e+02 1.954159153849736e+02 + 1.945478809405854e+02 1.936823503540812e+02 1.928193290967781e+02 1.919588226415381e+02 1.911008364627658e+02 + 1.902453760364096e+02 1.893924468399617e+02 1.885420543524577e+02 1.876942040544768e+02 1.868489014281417e+02 + 1.860061519571189e+02 1.851659611266184e+02 1.843283344233937e+02 1.834932773357418e+02 1.826607953535034e+02 + 1.818308939680629e+02 1.810035786723481e+02 1.801788549608304e+02 1.793567283295249e+02 1.785372042759901e+02 + 1.777202882993282e+02 1.769059859001850e+02 1.760943025807497e+02 1.752852438447554e+02 1.744788151974785e+02 + 1.736750221457390e+02 1.728738701979007e+02 1.720753648638706e+02 1.712795116550998e+02 1.704863160845825e+02 + 1.696957836668566e+02 1.689079199180039e+02 1.681227303556493e+02 1.673402204989617e+02 1.665603958686532e+02 + 1.657832619869799e+02 1.650088243777409e+02 1.642370885662795e+02 1.634680600794823e+02 1.627017444457793e+02 + 1.619381471951445e+02 1.611772738590951e+02 1.604191299706921e+02 1.596637210645399e+02 1.589110526767867e+02 + 1.581611303451241e+02 1.574139596087874e+02 1.566695460085554e+02 1.559278950867503e+02 1.551890123872385e+02 + 1.544529034554292e+02 1.537195738382757e+02 1.529890290842748e+02 1.522612747434666e+02 1.515363163674351e+02 + 1.508141595093076e+02 1.500948097237555e+02 1.493782725669932e+02 1.486645535967789e+02 1.479536583724143e+02 + 1.472455924547449e+02 1.465403614061596e+02 1.458379707905909e+02 1.451384261735148e+02 1.444417331219514e+02 + 1.437478972044633e+02 1.430569239911578e+02 1.423688190536853e+02 1.416835879652396e+02 1.410012363005585e+02 + 1.403217696359229e+02 1.396451935491577e+02 1.389715136196312e+02 1.383007354282553e+02 1.376328645574854e+02 + 1.369679065913208e+02 1.363058671153038e+02 1.356467517165207e+02 1.349905659836014e+02 1.343373155067194e+02 + 1.336870058775913e+02 1.330396426894780e+02 1.323952315371832e+02 1.317537780170550e+02 1.311152877269845e+02 + 1.304797662664065e+02 1.298472192362996e+02 1.292176522391855e+02 1.285910708791301e+02 1.279674807617425e+02 + 1.273468874941753e+02 1.267292966851250e+02 1.261147139448316e+02 1.255031448850783e+02 1.248945951191923e+02 + 1.242890702620443e+02 1.236865759300485e+02 1.230871177411627e+02 1.224907013148884e+02 1.218973322722703e+02 + 1.213070162358971e+02 1.207197588299010e+02 1.201355656799576e+02 1.195544424132864e+02 1.189763946586499e+02 + 1.184014280463548e+02 1.178295482082510e+02 1.172607607777323e+02 1.166950713897357e+02 1.161324856807421e+02 + 1.155730092887757e+02 1.150166478534045e+02 1.144634070157400e+02 1.139132924184372e+02 1.133663097056950e+02 + 1.128224645232555e+02 1.122817625184044e+02 1.117442093399712e+02 1.112098106383290e+02 1.106785720653942e+02 + 1.101504843345202e+02 1.096253193854976e+02 1.091027814759659e+02 1.085828903190926e+02 1.080656662057070e+02 + 1.075510744401853e+02 1.070391017583160e+02 1.065297369211215e+02 1.060229642403793e+02 1.055187689946627e+02 + 1.050171373101604e+02 1.045180558156006e+02 1.040215103049707e+02 1.035274865113781e+02 1.030359706887152e+02 + 1.025469492169604e+02 1.020604083357866e+02 1.015763340040288e+02 1.010947131078929e+02 1.006155327791835e+02 + 1.001387792631148e+02 9.966443911893010e+01 9.919249927205091e+01 9.872294669690289e+01 9.825576811144268e+01 + 9.779095024426459e+01 9.732848086108395e+01 9.686834738339628e+01 9.641053663288847e+01 9.595503591883143e+01 + 9.550183276437639e+01 9.505091470489599e+01 9.460226894357737e+01 9.415588307372171e+01 9.371174549820027e+01 + 9.326984390100915e+01 9.283016578095182e+01 9.239269910989660e+01 9.195743199867270e+01 9.152435246657959e+01 + 9.109344822825337e+01 9.066470776170968e+01 9.023811990175319e+01 8.981367265385576e+01 8.939135422700863e+01 + 8.897115319588202e+01 8.855305819940260e+01 8.813705766268812e+01 8.772313993524557e+01 8.731129428898021e+01 + 8.690150981214184e+01 8.649377498492467e+01 8.608807868460502e+01 8.568441000539183e+01 8.528275807208179e+01 + 8.488311171021131e+01 8.448546000255536e+01 8.408979283578468e+01 8.369609949978657e+01 8.330436902264381e+01 + 8.291459088961614e+01 8.252675470341519e+01 8.214085000107356e+01 8.175686603719873e+01 8.137479266933553e+01 + 8.099462018292702e+01 8.061633811896954e+01 8.023993612969721e+01 7.986540422509246e+01 7.949273245617202e+01 + 7.912191071864751e+01 7.875292880591886e+01 7.838577728963824e+01 7.802044667908689e+01 7.765692688210476e+01 + 7.729520814701189e+01 7.693528093921003e+01 7.657713574044320e+01 7.622076279877933e+01 7.586615250876412e+01 + 7.551329599462582e+01 7.516218394284439e+01 7.481280673973237e+01 7.446515517211270e+01 7.411922012543234e+01 + 7.377499243991551e+01 7.343246273248482e+01 7.309162206375170e+01 7.275246194060588e+01 7.241497325488510e+01 + 7.207914691168762e+01 7.174497413637995e+01 7.141244624067238e+01 7.108155440657860e+01 7.075228964021176e+01 + 7.042464364044737e+01 7.009860816502822e+01 6.977417437950896e+01 6.945133371117183e+01 6.913007780419414e+01 + 6.881039831641085e+01 6.849228672098478e+01 6.817573455985929e+01 6.786073404036127e+01 6.754727706019318e+01 + 6.723535518365489e+01 6.692496029976250e+01 6.661608442214438e+01 6.630871955818391e+01 6.600285747074972e+01 + 6.569849025826812e+01 6.539561050984807e+01 6.509421028016476e+01 6.479428156422156e+01 6.449581665898590e+01 + 6.419880794007263e+01 6.390324769379086e+01 6.360912802573969e+01 6.331644161216560e+01 6.302518126952705e+01 + 6.273533924838438e+01 6.244690800283556e+01 6.215988021335375e+01 6.187424856554645e+01 6.159000558852496e+01 + 6.130714382209544e+01 6.102565642873360e+01 6.074553634647369e+01 6.046677613965124e+01 6.018936867893675e+01 + 5.991330696615304e+01 5.963858400265185e+01 5.936519255461710e+01 5.909312563142009e+01 5.882237675846172e+01 + 5.855293899151076e+01 5.828480526925385e+01 5.801796883717194e+01 5.775242299813667e+01 5.748816098906929e+01 + 5.722517588172157e+01 5.696346118973321e+01 5.670301063052477e+01 5.644381744585571e+01 5.618587497447161e+01 + 5.592917675378749e+01 5.567371639288440e+01 5.541948735564524e+01 5.516648303666721e+01 5.491469740133566e+01 + 5.466412430128952e+01 5.441475721341882e+01 5.416658984866251e+01 5.391961604526729e+01 5.367382965707854e+01 + 5.342922435049869e+01 5.318579394824101e+01 5.294353276046760e+01 5.270243471566913e+01 5.246249358126801e+01 + 5.222370341980431e+01 5.198605834991378e+01 5.174955243603662e+01 5.151417956992881e+01 5.127993401538280e+01 + 5.104681029539683e+01 5.081480246751264e+01 5.058390465007635e+01 5.035411117607305e+01 5.012541641928832e+01 + 4.989781463692880e+01 4.967129999443014e+01 4.944586717469857e+01 4.922151081792142e+01 4.899822516393252e+01 + 4.877600466591702e+01 4.855484391176263e+01 4.833473749525371e+01 4.811567985888949e+01 4.789766553100244e+01 + 4.768068948486052e+01 4.746474643299185e+01 4.724983089968822e+01 4.703593761581940e+01 4.682306140175855e+01 + 4.661119706938157e+01 4.640033923440899e+01 4.619048280117971e+01 4.598162297433280e+01 4.577375454810339e+01 + 4.556687232031752e+01 4.536097129194708e+01 4.515604651624491e+01 4.495209295916556e+01 4.474910546848848e+01 + 4.454707932343867e+01 4.434600983627007e+01 4.414589194663536e+01 4.394672075425581e+01 4.374849149110094e+01 + 4.355119939554362e+01 4.335483958155968e+01 4.315940720272008e+01 4.296489783321342e+01 4.277130684141869e+01 + 4.257862938067940e+01 4.238686082011235e+01 4.219599659307687e+01 4.200603211268383e+01 4.181696265307154e+01 + 4.162878369849639e+01 4.144149102922540e+01 4.125508008000694e+01 4.106954625154178e+01 4.088488514080404e+01 + 4.070109237453877e+01 4.051816351991027e+01 4.033609404369983e+01 4.015487975529847e+01 3.997451654390139e+01 + 3.979499995457292e+01 3.961632565249730e+01 3.943848943565658e+01 3.926148710146721e+01 3.908531435163689e+01 + 3.890996689581685e+01 3.873544082272831e+01 3.856173207783515e+01 3.838883637414560e+01 3.821674961156019e+01 + 3.804546776546066e+01 3.787498680517137e+01 3.770530255859592e+01 3.753641100849845e+01 3.736830845518836e+01 + 3.720099088344971e+01 3.703445420945200e+01 3.686869456603723e+01 3.670370808841574e+01 3.653949085950763e+01 + 3.637603888796111e+01 3.621334844811717e+01 3.605141592615973e+01 3.589023740445852e+01 3.572980904042850e+01 + 3.557012712196481e+01 3.541118795282225e+01 3.525298774403768e+01 3.509552267323749e+01 3.493878928773343e+01 + 3.478278404343990e+01 3.462750313614663e+01 3.447294293878365e+01 3.431909990161546e+01 3.416597046087814e+01 + 3.401355094900445e+01 3.386183779648810e+01 3.371082772101448e+01 3.356051721064496e+01 3.341090265530899e+01 + 3.326198061398263e+01 3.311374767636361e+01 3.296620040125966e+01 3.281933525310492e+01 3.267314891432770e+01 + 3.252763821351709e+01 3.238279969616838e+01 3.223862995512887e+01 3.209512571750849e+01 3.195228370249094e+01 + 3.181010057023420e+01 3.166857295105629e+01 3.152769775432829e+01 3.138747186368265e+01 3.124789194582367e+01 + 3.110895478177638e+01 3.097065722333928e+01 3.083299612203396e+01 3.069596823521478e+01 3.055957038379009e+01 + 3.042379968490992e+01 3.028865305190764e+01 3.015412726448298e+01 3.002021927954454e+01 2.988692608783410e+01 + 2.975424465393443e+01 2.962217185358958e+01 2.949070472525562e+01 2.935984046863818e+01 2.922957605244617e+01 + 2.909990844798608e+01 2.897083474125067e+01 2.884235205411202e+01 2.871445744621140e+01 2.858714789194334e+01 + 2.846042066311678e+01 2.833427304434733e+01 2.820870204788112e+01 2.808370481822039e+01 2.795927858955916e+01 + 2.783542056310479e+01 2.771212788710439e+01 2.758939774558937e+01 2.746722754519704e+01 2.734561457842300e+01 + 2.722455602005491e+01 2.710404915757552e+01 2.698409131619408e+01 2.686467981339180e+01 2.674581188504884e+01 + 2.662748489299116e+01 2.650969637323688e+01 2.639244364869198e+01 2.627572402574995e+01 2.615953493480668e+01 + 2.604387380499337e+01 2.592873803144385e+01 2.581412497154068e+01 2.570003216993883e+01 2.558645721031992e+01 + 2.547339748309297e+01 2.536085044648649e+01 2.524881363723968e+01 2.513728460374055e+01 2.502626081142699e+01 + 2.491573971820056e+01 2.480571905896494e+01 2.469619646153339e+01 2.458716938319504e+01 2.447863542000312e+01 + 2.437059221927192e+01 2.426303741725681e+01 2.415596854366440e+01 2.404938323139217e+01 2.394327933047775e+01 + 2.383765447837906e+01 2.373250626120992e+01 2.362783239922733e+01 2.352363062421024e+01 2.341989863680159e+01 + 2.331663407933185e+01 2.321383475989216e+01 2.311149855755017e+01 2.300962316438995e+01 2.290820631357202e+01 + 2.280724581327735e+01 2.270673948178020e+01 2.260668508940155e+01 2.250708039173678e+01 2.240792334786956e+01 + 2.230921186720802e+01 2.221094371595302e+01 2.211311674173436e+01 2.201572884123411e+01 2.191877792312015e+01 + 2.182226182065280e+01 2.172617842216956e+01 2.163052579410284e+01 2.153530186271772e+01 2.144050449256298e+01 + 2.134613164544727e+01 2.125218130870039e+01 2.115865145244560e+01 2.106553997668644e+01 2.097284492087666e+01 + 2.088056441996010e+01 2.078869643251129e+01 2.069723893213309e+01 2.060618996606658e+01 2.051554761096601e+01 + 2.042530989859754e+01 2.033547481777502e+01 2.024604054022628e+01 2.015700522393599e+01 2.006836688994228e+01 + 1.998012363072147e+01 1.989227358045817e+01 1.980481486918973e+01 1.971774557717947e+01 1.963106382303616e+01 + 1.954476789103884e+01 1.945885594703988e+01 1.937332608222908e+01 1.928817649453870e+01 1.920340539662878e+01 + 1.911901098077130e+01 1.903499138773951e+01 1.895134486255558e+01 1.886806974988112e+01 1.878516424109755e+01 + 1.870262653275597e+01 1.862045489823334e+01 1.853864761644500e+01 1.845720293609644e+01 1.837611907561623e+01 + 1.829539441141390e+01 1.821502731690405e+01 1.813501600648008e+01 1.805535878852776e+01 1.797605402680784e+01 + 1.789710004813803e+01 1.781849513976010e+01 1.774023761822760e+01 1.766232596769640e+01 1.758475857461898e+01 + 1.750753373031707e+01 1.743064982368309e+01 1.735410526816905e+01 1.727789846424588e+01 1.720202775432962e+01 + 1.712649156263800e+01 1.705128842771503e+01 1.697641675133914e+01 1.690187492053174e+01 1.682766139576636e+01 + 1.675377465125957e+01 1.668021313537254e+01 1.660697525047803e+01 1.653405953620346e+01 1.646146456303875e+01 + 1.638918876353225e+01 1.631723061252691e+01 1.624558863577738e+01 1.617426136715184e+01 1.610324729276991e+01 + 1.603254489420701e+01 1.596215281065743e+01 1.589206962268447e+01 1.582229381597797e+01 1.575282394813798e+01 + 1.568365860435203e+01 1.561479636559848e+01 1.554623575841051e+01 1.547797536749664e+01 1.541001389568697e+01 + 1.534234992945672e+01 1.527498202635700e+01 1.520790881496337e+01 1.514112893627654e+01 1.507464101206718e+01 + 1.500844361854594e+01 1.494253544400039e+01 1.487691522461213e+01 1.481158156982783e+01 1.474653311471545e+01 + 1.468176854391490e+01 1.461728655322583e+01 1.455308580005108e+01 1.448916492494823e+01 1.442552270891503e+01 + 1.436215789907635e+01 1.429906914560298e+01 1.423625515786986e+01 1.417371467503432e+01 1.411144643634281e+01 + 1.404944913182382e+01 1.398772148936426e+01 1.392626235467004e+01 1.386507047757601e+01 1.380414456703780e+01 + 1.374348339923097e+01 1.368308576360786e+01 1.362295043539383e+01 1.356307614411792e+01 1.350346171009224e+01 + 1.344410601461897e+01 1.338500782259274e+01 1.332616591200318e+01 1.326757911048049e+01 1.320924625504148e+01 + 1.315116615215319e+01 1.309333758418828e+01 1.303575945915385e+01 1.297843067064863e+01 1.292135001185642e+01 + 1.286451632934388e+01 1.280792850075226e+01 1.275158540067995e+01 1.269548586414703e+01 1.263962874841400e+01 + 1.258401302186647e+01 1.252863758019894e+01 1.247350127006052e+01 1.241860299544399e+01 1.236394167532885e+01 + 1.230951622025856e+01 1.225532549825102e+01 1.220136844757296e+01 1.214764407513537e+01 1.209415128431592e+01 + 1.204088897936275e+01 1.198785611322907e+01 1.193505164847797e+01 1.188247452422181e+01 1.183012365035161e+01 + 1.177799804372636e+01 1.172609672645034e+01 1.167441862559045e+01 1.162296270435431e+01 1.157172795813644e+01 + 1.152071338824009e+01 1.146991795771504e+01 1.141934063624516e+01 1.136898050295155e+01 1.131883658051165e+01 + 1.126890783457083e+01 1.121919328583311e+01 1.116969196974251e+01 1.112040291453270e+01 1.107132511138846e+01 + 1.102245760367597e+01 1.097379950683186e+01 1.092534984778681e+01 1.087710764406476e+01 1.082907196010627e+01 + 1.078124186863284e+01 1.073361642501848e+01 1.068619465441603e+01 1.063897567074718e+01 1.059195860734133e+01 + 1.054514250814830e+01 1.049852644360809e+01 1.045210951602862e+01 1.040589083229813e+01 1.035986946911022e+01 + 1.031404450080543e+01 1.026841510170119e+01 1.022298040707346e+01 1.017773949095798e+01 1.013269147478631e+01 + 1.008783549702620e+01 1.004317069189082e+01 9.998696157456914e+00 9.954411030186206e+00 9.910314523784715e+00 + 9.866405774945729e+00 9.822683900561229e+00 9.779148062474189e+00 9.735797433007823e+00 9.692631171490490e+00 + 9.649648402951970e+00 9.606848328743531e+00 9.564230182014787e+00 9.521793107635142e+00 9.479536270440141e+00 + 9.437458869806633e+00 9.395560106559989e+00 9.353839157926716e+00 9.312295192835592e+00 9.270927467731591e+00 + 9.229735216231479e+00 9.188717610212938e+00 9.147873860369382e+00 9.107203196336844e+00 9.066704846764596e+00 + 9.026378005702853e+00 8.986221892357717e+00 8.946235805206038e+00 8.906418978693665e+00 8.866770619316361e+00 + 8.827289975974383e+00 8.787976307390357e+00 8.748828863538764e+00 8.709846863139358e+00 8.671029583554503e+00 + 8.632376341244221e+00 8.593886376949055e+00 8.555558939921891e+00 8.517393311170933e+00 8.479388776756116e+00 + 8.441544603229096e+00 8.403860042243403e+00 8.366334424744339e+00 8.328967072292842e+00 8.291757243124138e+00 + 8.254704227472720e+00 8.217807335382002e+00 8.181065876905594e+00 8.144479133106664e+00 8.108046399433587e+00 + 8.071767047639053e+00 8.035640397926882e+00 7.999665736506032e+00 7.963842390434660e+00 7.928169696145141e+00 + 7.892646983285742e+00 7.857273552651162e+00 7.822048750599857e+00 7.786971968025827e+00 7.752042529333232e+00 + 7.717259758863888e+00 7.682623011133142e+00 7.648131647347260e+00 7.613785013617140e+00 7.579582436948184e+00 + 7.545523312250220e+00 7.511607037617057e+00 7.477832951167176e+00 7.444200413093294e+00 7.410708803334905e+00 + 7.377357505498556e+00 7.344145878673218e+00 7.311073286547245e+00 7.278139163173499e+00 7.245342906306997e+00 + 7.212683876663248e+00 7.180161467446147e+00 7.147775082852699e+00 7.115524124234772e+00 7.083407965702390e+00 + 7.051426016132217e+00 7.019577732801474e+00 6.987862512275252e+00 6.956279745475502e+00 6.924828855941318e+00 + 6.893509269882150e+00 6.862320401692200e+00 6.831261647888545e+00 6.800332460884749e+00 6.769532305211046e+00 + 6.738860589806862e+00 6.708316738463165e+00 6.677900193977888e+00 6.647610403615440e+00 6.617446795946176e+00 + 6.587408797932629e+00 6.557495898186097e+00 6.527707560796614e+00 6.498043211862364e+00 6.468502306113241e+00 + 6.439084309299234e+00 6.409788685242900e+00 6.380614873655190e+00 6.351562339061567e+00 6.322630595895343e+00 + 6.293819108127046e+00 6.265127326375664e+00 6.236554729526047e+00 6.208100805116588e+00 6.179765032202197e+00 + 6.151546864740690e+00 6.123445807150094e+00 6.095461385258917e+00 6.067593067877628e+00 6.039840335121551e+00 + 6.012202688508743e+00 5.984679633169969e+00 5.957270656961056e+00 5.929975240292937e+00 5.902792923627279e+00 + 5.875723232013562e+00 5.848765648702115e+00 5.821919682493143e+00 5.795184854142510e+00 5.768560683026402e+00 + 5.742046666390822e+00 5.715642318587924e+00 5.689347205919744e+00 5.663160851223163e+00 5.637082758311135e+00 + 5.611112458697719e+00 5.585249491519008e+00 5.559493390584049e+00 5.533843667789125e+00 5.508299872311603e+00 + 5.482861578646651e+00 5.457528314665947e+00 5.432299611523626e+00 5.407175018586152e+00 5.382154093094761e+00 + 5.357236378022760e+00 5.332421403106363e+00 5.307708752059064e+00 5.283098003376689e+00 5.258588694187007e+00 + 5.234180379291222e+00 5.209872626694981e+00 5.185665008050016e+00 5.161557074183171e+00 5.137548383980142e+00 + 5.113638545797982e+00 5.089827134282968e+00 5.066113702430728e+00 5.042497830741953e+00 5.018979105007048e+00 + 4.995557105455633e+00 4.972231392615168e+00 4.949001558388967e+00 4.925867224885915e+00 4.902827967986653e+00 + 4.879883363679411e+00 4.857033008673309e+00 4.834276503129009e+00 4.811613436797770e+00 4.789043387081744e+00 + 4.766565977795326e+00 4.744180833573695e+00 4.721887536130310e+00 4.699685684376157e+00 4.677574891583497e+00 + 4.655554772271826e+00 4.633624922898647e+00 4.611784942911348e+00 4.590034481232405e+00 4.568373160121153e+00 + 4.546800575450856e+00 4.525316347519302e+00 4.503920103923871e+00 4.482611469298424e+00 4.461390048788094e+00 + 4.440255471271009e+00 4.419207398665950e+00 4.398245451269402e+00 4.377369245425554e+00 4.356578419383048e+00 + 4.335872613273037e+00 4.315251459075552e+00 4.294714576337845e+00 4.274261622204341e+00 4.253892261314030e+00 + 4.233606119889290e+00 4.213402835603544e+00 4.193282059746365e+00 4.173243445650493e+00 4.153286631923412e+00 + 4.133411255497697e+00 4.113616998652003e+00 4.093903524786619e+00 4.074270469191258e+00 4.054717490515994e+00 + 4.035244253601178e+00 4.015850419023907e+00 3.996535633568783e+00 3.977299560905666e+00 3.958141896495164e+00 + 3.939062301025637e+00 3.920060427447142e+00 3.901135950094528e+00 3.882288544897898e+00 3.863517881118590e+00 + 3.844823615448907e+00 3.826205437051391e+00 3.807663047653544e+00 3.789196110563124e+00 3.770804297342049e+00 + 3.752487294212357e+00 3.734244789018890e+00 3.716076457976182e+00 3.697981972490954e+00 3.679961043694115e+00 + 3.662013372248035e+00 3.644138631063968e+00 3.626336509775109e+00 3.608606705542072e+00 3.590948914412318e+00 + 3.573362819793663e+00 3.555848115085657e+00 3.538404523614169e+00 3.521031745026515e+00 3.503729467883798e+00 + 3.486497394134707e+00 3.469335231734055e+00 3.452242686325544e+00 3.435219448952052e+00 3.418265234650198e+00 + 3.401379774604279e+00 3.384562769850576e+00 3.367813923930398e+00 3.351132951883403e+00 3.334519571031865e+00 + 3.317973491801103e+00 3.301494419647167e+00 3.285082090084510e+00 3.268736234671993e+00 3.252456560777042e+00 + 3.236242786971220e+00 3.220094639575606e+00 3.204011846234647e+00 3.187994121490988e+00 3.172041185626448e+00 + 3.156152791161071e+00 3.140328668842820e+00 3.124568535295174e+00 3.108872124034968e+00 3.093239171871656e+00 + 3.077669412161458e+00 3.062162565910707e+00 3.046718374098970e+00 3.031336596904380e+00 3.016016966139392e+00 + 3.000759212810465e+00 2.985563079528153e+00 2.970428312130104e+00 2.955354650145179e+00 2.940341825152254e+00 + 2.925389598488303e+00 2.910497731503551e+00 2.895665957526404e+00 2.880894022713473e+00 2.866181682137055e+00 + 2.851528688498591e+00 2.836934785005289e+00 2.822399718118186e+00 2.807923264019232e+00 2.793505182293368e+00 + 2.779145216423770e+00 2.764843124903896e+00 2.750598669795774e+00 2.736411610868753e+00 2.722281698431688e+00 + 2.708208697067331e+00 2.694192390113966e+00 2.680232535961204e+00 2.666328890540199e+00 2.652481222662398e+00 + 2.638689303226956e+00 2.624952898002155e+00 2.611271764144950e+00 2.597645683492627e+00 2.584074442444535e+00 + 2.570557801667266e+00 2.557095530257868e+00 2.543687406599445e+00 2.530333209423413e+00 2.517032707379746e+00 + 2.503785668122807e+00 2.490591889861845e+00 2.477451158950901e+00 2.464363243138197e+00 2.451327922049569e+00 + 2.438344980862380e+00 2.425414204994132e+00 2.412535368413293e+00 2.399708255484590e+00 2.386932671907132e+00 + 2.374208401602455e+00 2.361535223009603e+00 2.348912926727443e+00 2.336341305706971e+00 2.323820149408004e+00 + 2.311349238873846e+00 2.298928374328811e+00 2.286557363678248e+00 2.274235992966902e+00 2.261964052364815e+00 + 2.249741340335214e+00 2.237567658215990e+00 2.225442798573621e+00 2.213366549457367e+00 2.201338726388740e+00 + 2.189359138707274e+00 2.177427577694549e+00 2.165543843493499e+00 2.153707741170415e+00 2.141919076444355e+00 + 2.130177647034976e+00 2.118483256831743e+00 2.106835728234196e+00 2.095234867960482e+00 2.083680476325080e+00 + 2.072172364176171e+00 2.060710343839133e+00 2.049294224696878e+00 2.037923808395575e+00 2.026598913260298e+00 + 2.015319367985618e+00 2.004084979196668e+00 1.992895556108562e+00 1.981750916950703e+00 1.970650881000152e+00 + 1.959595261684839e+00 1.948583868145923e+00 1.937616532016987e+00 1.926693081878526e+00 1.915813328267264e+00 + 1.904977090405082e+00 1.894184192977273e+00 1.883434460875044e+00 1.872727710477953e+00 1.862063762090873e+00 + 1.851442457083682e+00 1.840863622251705e+00 1.830327074965862e+00 1.819832643502570e+00 1.809380158797907e+00 + 1.798969449793061e+00 1.788600336572885e+00 1.778272652771865e+00 1.767986244795942e+00 1.757740938619203e+00 + 1.747536560606076e+00 1.737372946411540e+00 1.727249932639099e+00 1.717167351154095e+00 1.707125028541288e+00 + 1.697122811212298e+00 1.687160545804055e+00 1.677238060829077e+00 1.667355192130723e+00 1.657511781312863e+00 + 1.647707669880958e+00 1.637942692337234e+00 1.628216684763444e+00 1.618529503053863e+00 1.608880992276723e+00 + 1.599270986915247e+00 1.589699330823691e+00 1.580165870897195e+00 1.570670452975510e+00 1.561212914561866e+00 + 1.551793103249197e+00 1.542410880472349e+00 1.533066090216831e+00 1.523758574579748e+00 1.514488184288800e+00 + 1.505254771462676e+00 1.496058184704016e+00 1.486898266759950e+00 1.477774877044576e+00 1.468687878023066e+00 + 1.459637114930725e+00 1.450622438289068e+00 1.441643704572125e+00 1.432700770639202e+00 1.423793487269355e+00 + 1.414921704769478e+00 1.406085292220042e+00 1.397284110913275e+00 1.388518010515092e+00 1.379786849127615e+00 + 1.371090488107240e+00 1.362428788219066e+00 1.353801602746353e+00 1.345208792137069e+00 1.336650231141558e+00 + 1.328125779708811e+00 1.319635294146069e+00 1.311178639017341e+00 1.302755680403749e+00 1.294366281732825e+00 + 1.286010300246468e+00 1.277687607130681e+00 1.269398079017509e+00 1.261141576506052e+00 1.252917963373013e+00 + 1.244727109229262e+00 1.236568884548108e+00 1.228443154841189e+00 1.220349783647821e+00 1.212288651549746e+00 + 1.204259634287000e+00 1.196262595500517e+00 1.188297406122070e+00 1.180363940507803e+00 1.172462072687314e+00 + 1.164591670206239e+00 1.156752605274376e+00 1.148944764287503e+00 1.141168021685895e+00 1.133422246839356e+00 + 1.125707316556084e+00 1.118023109341937e+00 1.110369501923575e+00 1.102746365022667e+00 1.095153580538906e+00 + 1.087591037394418e+00 1.080058609806265e+00 1.072556173728377e+00 1.065083611042832e+00 1.057640804167975e+00 + 1.050227631677888e+00 1.042843969448370e+00 1.035489708218281e+00 1.028164736497249e+00 1.020868930712798e+00 + 1.013602173363602e+00 1.006364350528145e+00 9.991553480860069e-01 9.919750464549014e-01 9.848233287198007e-01 + 9.777000916381701e-01 9.706052224312447e-01 9.635386022157533e-01 9.565001191688937e-01 9.494896630661879e-01 + 9.425071223228538e-01 9.355523797940184e-01 9.286253271866921e-01 9.217258644183214e-01 9.148538781303724e-01 + 9.080092551050607e-01 9.011918879859632e-01 8.944016703005543e-01 8.876384924746002e-01 8.809022413584221e-01 + 8.741928168976413e-01 8.675101190938330e-01 8.608540359442419e-01 8.542244603473701e-01 8.476212889430066e-01 + 8.410444181391276e-01 8.344937399710189e-01 8.279691476350027e-01 8.214705470141707e-01 8.149978368018493e-01 + 8.085509088588196e-01 8.021296614287111e-01 7.957339944800463e-01 7.893638070383275e-01 7.830189931350516e-01 + 7.766994532966268e-01 7.704050967403675e-01 7.641358215802615e-01 7.578915247022724e-01 7.516721083807270e-01 + 7.454774759379389e-01 7.393075284143857e-01 7.331621629407183e-01 7.270412875750237e-01 7.209448123528730e-01 + 7.148726361079928e-01 7.088246610576617e-01 7.028007931997213e-01 6.968009387204053e-01 6.908250000358214e-01 + 6.848728793751606e-01 6.789444908271167e-01 6.730397435251165e-01 6.671585392499849e-01 6.613007849024644e-01 + 6.554663896318030e-01 6.496552624588109e-01 6.438673070778183e-01 6.381024319556428e-01 6.323605552121262e-01 + 6.266415850605696e-01 6.209454272475601e-01 6.152719929073242e-01 6.096211942955035e-01 6.039929419697414e-01 + 5.983871423673978e-01 5.928037109278776e-01 5.872425665727200e-01 5.817036179262789e-01 5.761867757580472e-01 + 5.706919545755328e-01 5.652190691753797e-01 5.597680312855905e-01 5.543387515608681e-01 5.489311514266204e-01 + 5.435451491959484e-01 5.381806555529779e-01 5.328375858091706e-01 5.275158573424954e-01 5.222153871968650e-01 + 5.169360885007255e-01 5.116778775087658e-01 5.064406794925096e-01 5.012244118255510e-01 4.960289886382637e-01 + 4.908543290552675e-01 4.857003532629381e-01 4.805669801867241e-01 4.754541247133137e-01 4.703617092625736e-01 + 4.652896609026711e-01 4.602378967146020e-01 4.552063350475851e-01 4.501948983226124e-01 4.452035092771810e-01 + 4.402320879227842e-01 4.352805523654864e-01 4.303488309750054e-01 4.254368504386150e-01 4.205445290166767e-01 + 4.156717895856258e-01 4.108185573527897e-01 4.059847567861119e-01 4.011703090912549e-01 3.963751374739253e-01 + 3.915991740467544e-01 3.868423443729578e-01 3.821045699452743e-01 3.773857771630841e-01 3.726858934536713e-01 + 3.680048452743795e-01 3.633425553945757e-01 3.586989523890614e-01 3.540739701811214e-01 3.494675340422360e-01 + 3.448795694018267e-01 3.403100055229290e-01 3.357587720701978e-01 3.312257966625470e-01 3.267110046986084e-01 + 3.222143302305144e-01 3.177357072575733e-01 3.132750617821559e-01 3.088323230437107e-01 3.044074228278458e-01 + 3.000002929514869e-01 2.956108619814004e-01 2.912390591663653e-01 2.868848226223222e-01 2.825480855369588e-01 + 2.782287763584979e-01 2.739268276304007e-01 2.696421732978619e-01 2.653747469077652e-01 2.611244782932083e-01 + 2.568913016367161e-01 2.526751570146955e-01 2.484759769388697e-01 2.442936932048949e-01 2.401282413902519e-01 + 2.359795575701045e-01 2.318475761710866e-01 2.277322290127450e-01 2.236334554284879e-01 2.195511960314929e-01 + 2.154853836729677e-01 2.114359536211432e-01 2.074028437636633e-01 2.033859920182897e-01 1.993853337119912e-01 + 1.954008040589642e-01 1.914323463143237e-01 1.874799002688242e-01 1.835434007181165e-01 1.796227861758036e-01 + 1.757179964922509e-01 1.718289711649378e-01 1.679556465242757e-01 1.640979620393169e-01 1.602558632656972e-01 + 1.564292893436780e-01 1.526181778855338e-01 1.488224700413446e-01 1.450421075715582e-01 1.412770310767497e-01 + 1.375271785489454e-01 1.337924939887067e-01 1.300729236356154e-01 1.263684067750867e-01 1.226788841702678e-01 + 1.190042991249222e-01 1.153445951805052e-01 1.116997137432381e-01 1.080695954417651e-01 1.044541881911586e-01 + 1.008534377603918e-01 9.726728475975084e-02 9.369567294988820e-02 9.013854752144720e-02 8.659585347215112e-02 + 8.306753302147955e-02 7.955353046975124e-02 7.605379621791922e-02 7.256827534889604e-02 6.909691079142652e-02 + 6.563964883225221e-02 6.219643640409570e-02 5.876721959493493e-02 5.535194193553600e-02 5.195055179453398e-02 + 4.856300050562060e-02 4.518923308325209e-02 4.182919528191363e-02 3.848283536820589e-02 3.515010193539807e-02 + 3.183094185890936e-02 2.852530077920949e-02 2.523313079087341e-02 2.195438300307553e-02 1.868900335629075e-02 + 1.543694036357313e-02 1.219814405293583e-02 8.972564385828061e-03 5.760148923624660e-03 2.560846417529306e-03 + -6.253884489496408e-04 -3.798605206001689e-03 -6.958856024607482e-03 -1.010619000899848e-02 -1.324065554473652e-02 + -1.636230159824732e-02 -1.947117958312726e-02 -2.256733711284757e-02 -2.565081832749929e-02 -2.872167302619957e-02 + -3.177995089902724e-02 -3.482569914268617e-02 -3.785896464500105e-02 -4.087979562235380e-02 -4.388824175488684e-02 + -4.688434717766576e-02 -4.986815604286890e-02 -5.283971753775529e-02 -5.579907881824794e-02 -5.874628546589089e-02 + -6.168138307363240e-02 -6.460441923558070e-02 -6.751544105442296e-02 -7.041449003639784e-02 -7.330161087707579e-02 + -7.617685125406765e-02 -7.904025608548425e-02 -8.189186951723537e-02 -8.473173608907363e-02 -8.755990257827875e-02 + -9.037641289395969e-02 -9.318130717201861e-02 -9.597463047763352e-02 -9.875642835115833e-02 -1.015267439140877e-01 + -1.042856199263307e-01 -1.070331001684683e-01 -1.097692300567918e-01 -1.124940502948268e-01 -1.152076007898061e-01 + -1.179099262631479e-01 -1.206010699593113e-01 -1.232810735016665e-01 -1.259499784255051e-01 -1.286078279418341e-01 + -1.312546653333709e-01 -1.338905286984875e-01 -1.365154583874092e-01 -1.391294979538990e-01 -1.417326885345280e-01 + -1.443250704192513e-01 -1.469066841433861e-01 -1.494775722507627e-01 -1.520377752494497e-01 -1.545873297590701e-01 + -1.571262765202916e-01 -1.596546572452540e-01 -1.621725113907878e-01 -1.646798779801165e-01 -1.671767967821347e-01 + -1.696633092874520e-01 -1.721394530811854e-01 -1.746052643091513e-01 -1.770607836101869e-01 -1.795060506428017e-01 + -1.819411034225526e-01 -1.843659798390828e-01 -1.867807191554161e-01 -1.891853611111403e-01 -1.915799407499077e-01 + -1.939644945120454e-01 -1.963390621459183e-01 -1.987036813730624e-01 -2.010583889984393e-01 -2.034032219467188e-01 + -2.057382189127211e-01 -2.080634172465200e-01 -2.103788504106409e-01 -2.126845552585028e-01 -2.149805700057577e-01 + -2.172669307458855e-01 -2.195436731393316e-01 -2.218108333786645e-01 -2.240684493062661e-01 -2.263165556286022e-01 + -2.285551851690127e-01 -2.307843748874083e-01 -2.330041611277884e-01 -2.352145785311434e-01 -2.374156618282909e-01 + -2.396074467707450e-01 -2.417899696732801e-01 -2.439632627554057e-01 -2.461273590292558e-01 -2.482822949571798e-01 + -2.504281050002428e-01 -2.525648226666662e-01 -2.546924818382261e-01 -2.568111176810049e-01 -2.589207645010757e-01 + -2.610214530059819e-01 -2.631132165202481e-01 -2.651960899948890e-01 -2.672701065219724e-01 -2.693352987894519e-01 + -2.713916998229662e-01 -2.734393439668777e-01 -2.754782632038173e-01 -2.775084874639143e-01 -2.795300503441993e-01 + -2.815429852855671e-01 -2.835473240274155e-01 -2.855430981234691e-01 -2.875303400246380e-01 -2.895090831627840e-01 + -2.914793573631382e-01 -2.934411924374482e-01 -2.953946213942734e-01 -2.973396760049649e-01 -2.992763870705049e-01 + -3.012047853752455e-01 -3.031249029054077e-01 -3.050367713048046e-01 -3.069404187491607e-01 -3.088358754333808e-01 + -3.107231733999588e-01 -3.126023429151826e-01 -3.144734138246973e-01 -3.163364162512183e-01 -3.181913814969073e-01 + -3.200383391593082e-01 -3.218773166629695e-01 -3.237083442965246e-01 -3.255314526206347e-01 -3.273466708133588e-01 + -3.291540279174764e-01 -3.309535535062730e-01 -3.327452779044484e-01 -3.345292286746930e-01 -3.363054329977739e-01 + -3.380739209920870e-01 -3.398347217688169e-01 -3.415878634526212e-01 -3.433333743100879e-01 -3.450712833788954e-01 + -3.468016195958206e-01 -3.485244091566739e-01 -3.502396793974815e-01 -3.519474593420066e-01 -3.536477770380763e-01 + -3.553406598299846e-01 -3.570261348354672e-01 -3.587042307855341e-01 -3.603749751839582e-01 -3.620383929731605e-01 + -3.636945116923384e-01 -3.653433594409278e-01 -3.669849628231984e-01 -3.686193482790397e-01 -3.702465427747400e-01 + -3.718665743211436e-01 -3.734794684043725e-01 -3.750852495624684e-01 -3.766839451194457e-01 -3.782755819189342e-01 + -3.798601858648072e-01 -3.814377826321034e-01 -3.830083986549013e-01 -3.845720606417443e-01 -3.861287926090124e-01 + -3.876786193539286e-01 -3.892215675502101e-01 -3.907576628594260e-01 -3.922869303026715e-01 -3.938093947284727e-01 + -3.953250822556230e-01 -3.968340182497304e-01 -3.983362256494206e-01 -3.998317293097848e-01 -4.013205549386248e-01 + -4.028027272117153e-01 -4.042782703087232e-01 -4.057472086115670e-01 -4.072095677082399e-01 -4.086653712889545e-01 + -4.101146418277140e-01 -4.115574040934622e-01 -4.129936826934361e-01 -4.144235014035024e-01 -4.158468836578273e-01 + -4.172638535617268e-01 -4.186744357650895e-01 -4.200786523524958e-01 -4.214765258006608e-01 -4.228680805923657e-01 + -4.242533401481378e-01 -4.256323273241845e-01 -4.270050650780072e-01 -4.283715771591216e-01 -4.297318868367957e-01 + -4.310860152683936e-01 -4.324339850671611e-01 -4.337758197699306e-01 -4.351115419219263e-01 -4.364411736856622e-01 + -4.377647373653272e-01 -4.390822563519974e-01 -4.403937525793140e-01 -4.416992465950099e-01 -4.429987609092939e-01 + -4.442923180804305e-01 -4.455799398898891e-01 -4.468616477876415e-01 -4.481374637930542e-01 -4.494074106490894e-01 + -4.506715085877422e-01 -4.519297779021105e-01 -4.531822412097039e-01 -4.544289201442401e-01 -4.556698355752103e-01 + -4.569050083194456e-01 -4.581344599890250e-01 -4.593582121055255e-01 -4.605762842891920e-01 -4.617886970897419e-01 + -4.629954719556403e-01 -4.641966295426422e-01 -4.653921902577345e-01 -4.665821746143150e-01 -4.677666038635413e-01 + -4.689454981292748e-01 -4.701188761476531e-01 -4.712867586709557e-01 -4.724491664926360e-01 -4.736061192593240e-01 + -4.747576368456714e-01 -4.759037394682022e-01 -4.770444475543998e-01 -4.781797800875144e-01 -4.793097558338887e-01 + -4.804343950164401e-01 -4.815537175042383e-01 -4.826677426390972e-01 -4.837764894228364e-01 -4.848799775883490e-01 + -4.859782270303963e-01 -4.870712557287352e-01 -4.881590823344398e-01 -4.892417265305033e-01 -4.903192072931410e-01 + -4.913915433426016e-01 -4.924587534540600e-01 -4.935208569593936e-01 -4.945778724869024e-01 -4.956298174121960e-01 + -4.966767104426105e-01 -4.977185705977166e-01 -4.987554161795947e-01 -4.997872652579317e-01 -5.008141361357437e-01 + -5.018360477540788e-01 -5.028530175622089e-01 -5.038650625463708e-01 -5.048722015765362e-01 -5.058744527800632e-01 + -5.068718334710337e-01 -5.078643614554021e-01 -5.088520548881869e-01 -5.098349318298798e-01 -5.108130088001350e-01 + -5.117863028619736e-01 -5.127548322161382e-01 -5.137186142245088e-01 -5.146776659499980e-01 -5.156320045833772e-01 + -5.165816478015819e-01 -5.175266128170244e-01 -5.184669156304091e-01 -5.194025733016244e-01 -5.203336032597101e-01 + -5.212600221732120e-01 -5.221818466804444e-01 -5.230990936596679e-01 -5.240117804553392e-01 -5.249199232262068e-01 + -5.258235374392936e-01 -5.267226400387954e-01 -5.276172478389746e-01 -5.285073771019844e-01 -5.293930438910602e-01 + -5.302742646986305e-01 -5.311510563423283e-01 -5.320234339437281e-01 -5.328914129379527e-01 -5.337550101355577e-01 + -5.346142414983102e-01 -5.354691226448078e-01 -5.363196694209366e-01 -5.371658979374595e-01 -5.380078240078261e-01 + -5.388454624615836e-01 -5.396788287704753e-01 -5.405079388378121e-01 -5.413328081929075e-01 -5.421534521210617e-01 + -5.429698859177164e-01 -5.437821254261226e-01 -5.445901856060492e-01 -5.453940806517681e-01 -5.461938261275164e-01 + -5.469894375147514e-01 -5.477809296410460e-01 -5.485683172596564e-01 -5.493516154047422e-01 -5.501308394233321e-01 + -5.509060035978606e-01 -5.516771220917993e-01 -5.524442098036262e-01 -5.532072816062331e-01 -5.539663521228516e-01 + -5.547214355736525e-01 -5.554725467511782e-01 -5.562197004144761e-01 -5.569629099559865e-01 -5.577021895124128e-01 + -5.584375539231472e-01 -5.591690174427206e-01 -5.598965939391384e-01 -5.606202972403660e-01 -5.613401421520022e-01 + -5.620561426054913e-01 -5.627683113219669e-01 -5.634766626491997e-01 -5.641812109417922e-01 -5.648819696019924e-01 + -5.655789522526887e-01 -5.662721727674018e-01 -5.669616451334641e-01 -5.676473824290281e-01 -5.683293976251365e-01 + -5.690077046537543e-01 -5.696823171027902e-01 -5.703532481968968e-01 -5.710205111045815e-01 -5.716841193018837e-01 + -5.723440862989044e-01 -5.730004247377283e-01 -5.736531475408438e-01 -5.743022680808630e-01 -5.749477994635019e-01 + -5.755897545119250e-01 -5.762281459317424e-01 -5.768629872133108e-01 -5.774942912813225e-01 -5.781220698864685e-01 + -5.787463360372200e-01 -5.793671029370097e-01 -5.799843829591812e-01 -5.805981885004621e-01 -5.812085322229668e-01 + -5.818154271777390e-01 -5.824188854500640e-01 -5.830189187855023e-01 -5.836155400127914e-01 -5.842087616519486e-01 + -5.847985957903102e-01 -5.853850545399070e-01 -5.859681502822114e-01 -5.865478954643482e-01 -5.871243015837295e-01 + -5.876973804424807e-01 -5.882671445115567e-01 -5.888336058093040e-01 -5.893967761301214e-01 -5.899566672475657e-01 + -5.905132912554449e-01 -5.910666600004119e-01 -5.916167846344484e-01 -5.921636769312483e-01 -5.927073488739303e-01 + -5.932478119884005e-01 -5.937850777230974e-01 -5.943191576345895e-01 -5.948500635775013e-01 -5.953778067525587e-01 + -5.959023980172641e-01 -5.964238491804477e-01 -5.969421717317064e-01 -5.974573766302176e-01 -5.979694750153504e-01 + -5.984784782975928e-01 -5.989843980133127e-01 -5.994872448737363e-01 -5.999870296226286e-01 -6.004837635008013e-01 + -6.009774575116591e-01 -6.014681225640990e-01 -6.019557696406324e-01 -6.024404098188824e-01 -6.029220539582525e-01 + -6.034007123251734e-01 -6.038763957092128e-01 -6.043491151546724e-01 -6.048188811990667e-01 -6.052857043294740e-01 + -6.057495951725935e-01 -6.062105647034982e-01 -6.066686232996821e-01 -6.071237808282512e-01 -6.075760480581535e-01 + -6.080254356249652e-01 -6.084719536597242e-01 -6.089156123708600e-01 -6.093564221655233e-01 -6.097943936088406e-01 + -6.102295366277345e-01 -6.106618611466814e-01 -6.110913776082281e-01 -6.115180960018122e-01 -6.119420262061138e-01 + -6.123631785057825e-01 -6.127815629923925e-01 -6.131971895415724e-01 -6.136100679122567e-01 -6.140202079254689e-01 + -6.144276194632986e-01 -6.148323123693087e-01 -6.152342964516117e-01 -6.156335814880438e-01 -6.160301772367670e-01 + -6.164240932773791e-01 -6.168153390131846e-01 -6.172039241057757e-01 -6.175898582479540e-01 -6.179731510100582e-01 + -6.183538118537011e-01 -6.187318502245757e-01 -6.191072755983122e-01 -6.194800972241303e-01 -6.198503243163954e-01 + -6.202179663089392e-01 -6.205830326036273e-01 -6.209455324825972e-01 -6.213054750121583e-01 -6.216628693834372e-01 + -6.220177248671027e-01 -6.223700505100402e-01 -6.227198553511943e-01 -6.230671484590707e-01 -6.234119388224310e-01 + -6.237542354039819e-01 -6.240940471906395e-01 -6.244313833278470e-01 -6.247662526956897e-01 -6.250986637315333e-01 + -6.254286253149073e-01 -6.257561464374979e-01 -6.260812358699522e-01 -6.264039022632663e-01 -6.267241542804416e-01 + -6.270420007239386e-01 -6.273574502418447e-01 -6.276705113436000e-01 -6.279811924920996e-01 -6.282895022600340e-01 + -6.285954492669960e-01 -6.288990419377586e-01 -6.292002887596219e-01 -6.294991982474318e-01 -6.297957785295903e-01 + -6.300900379535952e-01 -6.303819851813233e-01 -6.306716282540937e-01 -6.309589752809680e-01 -6.312440348023121e-01 + -6.315268150763020e-01 -6.318073241903770e-01 -6.320855701836068e-01 -6.323615610879741e-01 -6.326353050044859e-01 + -6.329068101802829e-01 -6.331760846635813e-01 -6.334431363818833e-01 -6.337079733473078e-01 -6.339706034520735e-01 + -6.342310345121693e-01 -6.344892744839461e-01 -6.347453312805855e-01 -6.349992127114430e-01 -6.352509264768633e-01 + -6.355004804526597e-01 -6.357478826585540e-01 -6.359931404400122e-01 -6.362362612918424e-01 -6.364772532644518e-01 + -6.367161239398067e-01 -6.369528807876881e-01 -6.371875315012039e-01 -6.374200836672138e-01 -6.376505447719858e-01 + -6.378789222449943e-01 -6.381052236017390e-01 -6.383294563385360e-01 -6.385516277126226e-01 -6.387717451483415e-01 + -6.389898161925324e-01 -6.392058481779943e-01 -6.394198483013303e-01 -6.396318237129481e-01 -6.398417817583982e-01 + -6.400497298004382e-01 -6.402556751053731e-01 -6.404596246811356e-01 -6.406615856182318e-01 -6.408615652398488e-01 + -6.410595705960431e-01 -6.412556087124355e-01 -6.414496867908267e-01 -6.416418117430738e-01 -6.418319904244396e-01 + -6.420202299552208e-01 -6.422065373268501e-01 -6.423909194238488e-01 -6.425733831564441e-01 -6.427539354568388e-01 + -6.429325832107947e-01 -6.431093330874931e-01 -6.432841919278923e-01 -6.434571667152847e-01 -6.436282640341581e-01 + -6.437974905134223e-01 -6.439648529819666e-01 -6.441303582355420e-01 -6.442940129046214e-01 -6.444558234243410e-01 + -6.446157964842297e-01 -6.447739387669796e-01 -6.449302567289288e-01 -6.450847570451982e-01 -6.452374463418470e-01 + -6.453883308317777e-01 -6.455374170518916e-01 -6.456847116523639e-01 -6.458302208459006e-01 -6.459739509825424e-01 + -6.461159085765001e-01 -6.462561000624228e-01 -6.463945317857885e-01 -6.465312099893501e-01 -6.466661407794220e-01 + -6.467993305071421e-01 -6.469307857586633e-01 -6.470605124176557e-01 -6.471885165505020e-01 -6.473148048129491e-01 + -6.474393831451855e-01 -6.475622574433044e-01 -6.476834341411803e-01 -6.478029193005811e-01 -6.479207188186653e-01 + -6.480368387749067e-01 -6.481512852365653e-01 -6.482640642356557e-01 -6.483751817763184e-01 -6.484846438333333e-01 + -6.485924563559199e-01 -6.486986252696630e-01 -6.488031563964390e-01 -6.489060555062011e-01 -6.490073285956434e-01 + -6.491069816182633e-01 -6.492050203757027e-01 -6.493014505946639e-01 -6.493962779796888e-01 -6.494895082497514e-01 + -6.495811472172135e-01 -6.496712006463234e-01 -6.497596741452655e-01 -6.498465734697708e-01 -6.499319043537729e-01 + -6.500156722751166e-01 -6.500978828758883e-01 -6.501785418212779e-01 -6.502576544563589e-01 -6.503352264336196e-01 + -6.504112635780723e-01 -6.504857712206107e-01 -6.505587548117625e-01 -6.506302199692129e-01 -6.507001719669850e-01 + -6.507686161481057e-01 -6.508355580770583e-01 -6.509010033515999e-01 -6.509649573333303e-01 -6.510274250599254e-01 + -6.510884119408136e-01 -6.511479234691252e-01 -6.512059649357221e-01 -6.512625414820176e-01 -6.513176583196066e-01 + -6.513713209657690e-01 -6.514235346566493e-01 -6.514743044494572e-01 -6.515236355351222e-01 -6.515715331668240e-01 + -6.516180025498758e-01 -6.516630486086969e-01 -6.517066764698182e-01 -6.517488914696901e-01 -6.517896986474616e-01 + -6.518291029696229e-01 -6.518671094474887e-01 -6.519037232298822e-01 -6.519389493677847e-01 -6.519727927034696e-01 + -6.520052582102593e-01 -6.520363509344871e-01 -6.520660759114448e-01 -6.520944379877177e-01 -6.521214419863292e-01 + -6.521470929034477e-01 -6.521713955379932e-01 -6.521943546611896e-01 -6.522159753870301e-01 -6.522362625000242e-01 + -6.522552205660485e-01 -6.522728545508729e-01 -6.522891692872490e-01 -6.523041693781095e-01 -6.523178594474156e-01 + -6.523302443147758e-01 -6.523413289626511e-01 -6.523511179648659e-01 -6.523596158248584e-01 -6.523668271884714e-01 + -6.523727568212391e-01 -6.523774093997819e-01 -6.523807893579161e-01 -6.523829012952149e-01 -6.523837498990516e-01 + -6.523833397960367e-01 -6.523816754611410e-01 -6.523787613199525e-01 -6.523746019358498e-01 -6.523692018302728e-01 + -6.523625654555820e-01 -6.523546972248629e-01 -6.523456017173497e-01 -6.523352835702680e-01 -6.523237468711672e-01 + -6.523109959032295e-01 -6.522970353197415e-01 -6.522818693382445e-01 -6.522655022842732e-01 -6.522479388337681e-01 + -6.522291831409690e-01 -6.522092393163972e-01 -6.521881118419591e-01 -6.521658050464721e-01 -6.521423231008568e-01 + -6.521176700882644e-01 -6.520918504277817e-01 -6.520648685798258e-01 -6.520367284462982e-01 -6.520074341903623e-01 + -6.519769901852531e-01 -6.519454004576026e-01 -6.519126690272374e-01 -6.518788000417296e-01 -6.518437978790763e-01 + -6.518076667685843e-01 -6.517704106505043e-01 -6.517320333460206e-01 -6.516925389358605e-01 -6.516519318553129e-01 + -6.516102158220000e-01 -6.515673946405215e-01 -6.515234728464969e-01 -6.514784543315630e-01 -6.514323427842886e-01 + -6.513851423523833e-01 -6.513368570527661e-01 -6.512874907235414e-01 -6.512370470939771e-01 -6.511855301990920e-01 + -6.511329442190841e-01 -6.510792928715797e-01 -6.510245798816351e-01 -6.509688091361985e-01 -6.509119847142907e-01 + -6.508541103488035e-01 -6.507951894034477e-01 -6.507352259931611e-01 -6.506742241942834e-01 -6.506121876059120e-01 + -6.505491199228429e-01 -6.504850249436106e-01 -6.504199065016956e-01 -6.503537680222150e-01 -6.502866130342899e-01 + -6.502184457971011e-01 -6.501492700279957e-01 -6.500790890906794e-01 -6.500079066129352e-01 -6.499357263329657e-01 + -6.498625519683058e-01 -6.497883869826074e-01 -6.497132350047277e-01 -6.496370998048885e-01 -6.495599847614121e-01 + -6.494818934475555e-01 -6.494028297363450e-01 -6.493227969968260e-01 -6.492417985197620e-01 -6.491598378013752e-01 + -6.490769185970405e-01 -6.489930446200032e-01 -6.489082192796405e-01 -6.488224457999440e-01 -6.487357275334984e-01 + -6.486480682838258e-01 -6.485594713376021e-01 -6.484699398068251e-01 -6.483794774339799e-01 -6.482880877536140e-01 + -6.481957740532812e-01 -6.481025397024727e-01 -6.480083880017639e-01 -6.479133221889776e-01 -6.478173456351086e-01 + -6.477204618036257e-01 -6.476226741599570e-01 -6.475239858039916e-01 -6.474243999826228e-01 -6.473239202990485e-01 + -6.472225498463482e-01 -6.471202916312221e-01 -6.470171489638400e-01 -6.469131252405815e-01 -6.468082238277443e-01 + -6.467024479420175e-01 -6.465958006550642e-01 -6.464882850509053e-01 -6.463799044773618e-01 -6.462706620382276e-01 + -6.461605607272912e-01 -6.460496040101232e-01 -6.459377950690467e-01 -6.458251367734501e-01 -6.457116323868038e-01 + -6.455972850655802e-01 -6.454820977029684e-01 -6.453660732942879e-01 -6.452492150754419e-01 -6.451315264887545e-01 + -6.450130102914885e-01 -6.448936692680686e-01 -6.447735068128447e-01 -6.446525260129213e-01 -6.445307296530088e-01 + -6.444081203587793e-01 -6.442847014715996e-01 -6.441604765089356e-01 -6.440354480546840e-01 -6.439096188724848e-01 + -6.437829920095609e-01 -6.436555704731397e-01 -6.435273570693492e-01 -6.433983545533010e-01 -6.432685663163126e-01 + -6.431379953365300e-01 -6.430066439769492e-01 -6.428745153347271e-01 -6.427416124750638e-01 -6.426079380140648e-01 + -6.424734947555180e-01 -6.423382856273998e-01 -6.422023135830728e-01 -6.420655814260000e-01 -6.419280919255173e-01 + -6.417898479598759e-01 -6.416508523135933e-01 -6.415111076305331e-01 -6.413706163966455e-01 -6.412293816393564e-01 + -6.410874066048897e-01 -6.409446936267265e-01 -6.408012453136449e-01 -6.406570646910840e-01 -6.405121544270317e-01 + -6.403665170374713e-01 -6.402201550644944e-01 -6.400730715072882e-01 -6.399252691822962e-01 -6.397767504407681e-01 + -6.396275180930010e-01 -6.394775749890055e-01 -6.393269236107165e-01 -6.391755662191552e-01 -6.390235053902433e-01 + -6.388707445708105e-01 -6.387172861694177e-01 -6.385631322023312e-01 -6.384082857966726e-01 -6.382527494896121e-01 + -6.380965253642142e-01 -6.379396162401521e-01 -6.377820248167250e-01 -6.376237535602883e-01 -6.374648052204416e-01 + -6.373051823107587e-01 -6.371448870124290e-01 -6.369839218821269e-01 -6.368222895078627e-01 -6.366599923302766e-01 + -6.364970329561520e-01 -6.363334139746031e-01 -6.361691377885151e-01 -6.360042067688202e-01 -6.358386233547334e-01 + -6.356723901317635e-01 -6.355055093799952e-01 -6.353379833438523e-01 -6.351698147827204e-01 -6.350010061497325e-01 + -6.348315596278746e-01 -6.346614776297652e-01 -6.344907627044540e-01 -6.343194173354602e-01 -6.341474433478579e-01 + -6.339748431233465e-01 -6.338016197812808e-01 -6.336277753787244e-01 -6.334533118997744e-01 -6.332782318265875e-01 + -6.331025376588558e-01 -6.329262316544187e-01 -6.327493157114107e-01 -6.325717923863455e-01 -6.323936643403999e-01 + -6.322149336030685e-01 -6.320356024195775e-01 -6.318556731749607e-01 -6.316751480498738e-01 -6.314940290711796e-01 + -6.313123183267710e-01 -6.311300184615836e-01 -6.309471319109403e-01 -6.307636607640942e-01 -6.305796070902886e-01 + -6.303949730482692e-01 -6.302097608691579e-01 -6.300239725606558e-01 -6.298376103756032e-01 -6.296506769748604e-01 + -6.294631743864889e-01 -6.292751044804592e-01 -6.290864694027335e-01 -6.288972714311484e-01 -6.287075127245377e-01 + -6.285171950849623e-01 -6.283263208775478e-01 -6.281348926187029e-01 -6.279429120773061e-01 -6.277503812180564e-01 + -6.275573022752827e-01 -6.273636774541002e-01 -6.271695087389834e-01 -6.269747979757735e-01 -6.267795473573458e-01 + -6.265837591630624e-01 -6.263874355834504e-01 -6.261905784094625e-01 -6.259931895045528e-01 -6.257952710369122e-01 + -6.255968250363517e-01 -6.253978534898084e-01 -6.251983584520242e-01 -6.249983420853732e-01 -6.247978064572296e-01 + -6.245967533125147e-01 -6.243951846742302e-01 -6.241931026018996e-01 -6.239905086686763e-01 -6.237874050561640e-01 + -6.235837942608177e-01 -6.233796778475696e-01 -6.231750576026635e-01 -6.229699356978790e-01 -6.227643140512986e-01 + -6.225581944126894e-01 -6.223515785171654e-01 -6.221444686516174e-01 -6.219368669106876e-01 -6.217287748516653e-01 + -6.215201944179222e-01 -6.213111276341791e-01 -6.211015763012264e-01 -6.208915420627059e-01 -6.206810267189914e-01 + -6.204700325606027e-01 -6.202585614407183e-01 -6.200466150025669e-01 -6.198341952555039e-01 -6.196213039807257e-01 + -6.194079427661365e-01 -6.191941133919308e-01 -6.189798178811384e-01 -6.187650583625046e-01 -6.185498365366234e-01 + -6.183341539791172e-01 -6.181180123373080e-01 -6.179014136693182e-01 -6.176843597571294e-01 -6.174668518753883e-01 + -6.172488922358068e-01 -6.170304830078728e-01 -6.168116255085183e-01 -6.165923213940302e-01 -6.163725725542526e-01 + -6.161523808379610e-01 -6.159317477445455e-01 -6.157106747923912e-01 -6.154891641891720e-01 -6.152672177134336e-01 + -6.150448367622374e-01 -6.148220230127394e-01 -6.145987783325538e-01 -6.143751045698781e-01 -6.141510029326600e-01 + -6.139264750393221e-01 -6.137015231470567e-01 -6.134761489851926e-01 -6.132503540152313e-01 -6.130241396532106e-01 + -6.127975076851865e-01 -6.125704598048077e-01 -6.123429972989166e-01 -6.121151221351967e-01 -6.118868363314907e-01 + -6.116581411278224e-01 -6.114290380220153e-01 -6.111995287783158e-01 -6.109696151823703e-01 -6.107392985450728e-01 + -6.105085801024925e-01 -6.102774622058419e-01 -6.100459465922933e-01 -6.098140342484372e-01 -6.095817267256873e-01 + -6.093490257933440e-01 -6.091159331809802e-01 -6.088824500709522e-01 -6.086485779905337e-01 -6.084143191489354e-01 + -6.081796748129595e-01 -6.079446461968719e-01 -6.077092351925356e-01 -6.074734432434898e-01 -6.072372716150822e-01 + -6.070007218360295e-01 -6.067637956065657e-01 -6.065264946232775e-01 -6.062888203126375e-01 -6.060507740692458e-01 + -6.058123573561740e-01 -6.055735718185850e-01 -6.053344188005130e-01 -6.050948994718379e-01 -6.048550157592759e-01 + -6.046147693250087e-01 -6.043741612917217e-01 -6.041331930896253e-01 -6.038918662688606e-01 -6.036501823335466e-01 + -6.034081424814672e-01 -6.031657481058161e-01 -6.029230011393863e-01 -6.026799028730719e-01 -6.024364544399844e-01 + -6.021926574869638e-01 -6.019485136055120e-01 -6.017040241022006e-01 -6.014591897708976e-01 -6.012140122415236e-01 + -6.009684936432825e-01 -6.007226351565053e-01 -6.004764378633045e-01 -6.002299030368295e-01 -5.999830322604393e-01 + -5.997358269112610e-01 -5.994882881008079e-01 -5.992404174674395e-01 -5.989922165630734e-01 -5.987436865327392e-01 + -5.984948286273432e-01 -5.982456442781595e-01 -5.979961350600861e-01 -5.977463018616249e-01 -5.974961457245347e-01 + -5.972456688462123e-01 -5.969948725706038e-01 -5.967437577688297e-01 -5.964923259025159e-01 -5.962405782771161e-01 + -5.959885160038786e-01 -5.957361402849749e-01 -5.954834525607696e-01 -5.952304544228757e-01 -5.949771471628894e-01 + -5.947235319540697e-01 -5.944696099654433e-01 -5.942153825546195e-01 -5.939608509107162e-01 -5.937060159741117e-01 + -5.934508794411635e-01 -5.931954428951332e-01 -5.929397071302310e-01 -5.926836734445704e-01 -5.924273432987167e-01 + -5.921707177793331e-01 -5.919137978828047e-01 -5.916565847753502e-01 -5.913990801532651e-01 -5.911412853604616e-01 + -5.908832013941032e-01 -5.906248293335863e-01 -5.903661704565201e-01 -5.901072261246485e-01 -5.898479972855557e-01 + -5.895884850905705e-01 -5.893286910470348e-01 -5.890686164387193e-01 -5.888082623596927e-01 -5.885476297953414e-01 + -5.882867200485414e-01 -5.880255342895034e-01 -5.877640732646211e-01 -5.875023385228563e-01 -5.872403317009627e-01 + -5.869780535979796e-01 -5.867155052441069e-01 -5.864526878805291e-01 -5.861896026754034e-01 -5.859262506932092e-01 + -5.856626329801135e-01 -5.853987507817091e-01 -5.851346053972879e-01 -5.848701980701103e-01 -5.846055297559873e-01 + -5.843406014627009e-01 -5.840754143260567e-01 -5.838099692919883e-01 -5.835442675863415e-01 -5.832783108438364e-01 + -5.830120998737411e-01 -5.827456354637697e-01 -5.824789190313094e-01 -5.822119517157962e-01 -5.819447343999242e-01 + -5.816772678604962e-01 -5.814095534384316e-01 -5.811415926659900e-01 -5.808733865100626e-01 -5.806049358083534e-01 + -5.803362414940428e-01 -5.800673049021045e-01 -5.797981269727348e-01 -5.795287083747186e-01 -5.792590507223763e-01 + -5.789891553127540e-01 -5.787190227795775e-01 -5.784486540773595e-01 -5.781780503537821e-01 -5.779072127885909e-01 + -5.776361421027820e-01 -5.773648392415993e-01 -5.770933058481036e-01 -5.768215427543451e-01 -5.765495506173008e-01 + -5.762773307782053e-01 -5.760048843724456e-01 -5.757322122309633e-01 -5.754593149355522e-01 -5.751861936930261e-01 + -5.749128500443350e-01 -5.746392847733658e-01 -5.743654986749642e-01 -5.740914927526973e-01 -5.738172681170074e-01 + -5.735428256834612e-01 -5.732681661997935e-01 -5.729932909950833e-01 -5.727182011898047e-01 -5.724428973589288e-01 + -5.721673806475209e-01 -5.718916522032619e-01 -5.716157126986885e-01 -5.713395629769044e-01 -5.710632040862346e-01 + -5.707866372440725e-01 -5.705098634203313e-01 -5.702328834166335e-01 -5.699556980810941e-01 -5.696783084118523e-01 + -5.694007154024264e-01 -5.691229196446771e-01 -5.688449222662509e-01 -5.685667247951188e-01 -5.682883277592247e-01 + -5.680097317796297e-01 -5.677309379467054e-01 -5.674519473718960e-01 -5.671727608332666e-01 -5.668933787438524e-01 + -5.666138024324125e-01 -5.663340332775648e-01 -5.660540719736767e-01 -5.657739191147048e-01 -5.654935755198692e-01 + -5.652130424887296e-01 -5.649323205844615e-01 -5.646514102596061e-01 -5.643703131320561e-01 -5.640890302500955e-01 + -5.638075621229782e-01 -5.635259096013298e-01 -5.632440735413435e-01 -5.629620547371306e-01 -5.626798540413637e-01 + -5.623974724401825e-01 -5.621149109968532e-01 -5.618321704141040e-01 -5.615492514232792e-01 -5.612661549867731e-01 + -5.609828820346520e-01 -5.606994332802816e-01 -5.604158091721365e-01 -5.601320109850756e-01 -5.598480400285579e-01 + -5.595638966628304e-01 -5.592795815381203e-01 -5.589950956088516e-01 -5.587104398719418e-01 -5.584256150214867e-01 + -5.581406216413944e-01 -5.578554608147975e-01 -5.575701335442586e-01 -5.572846406020895e-01 -5.569989825973618e-01 + -5.567131602740183e-01 -5.564271745453506e-01 -5.561410260628522e-01 -5.558547156725416e-01 -5.555682445647333e-01 + -5.552816133007876e-01 -5.549948224318785e-01 -5.547078730025937e-01 -5.544207659049382e-01 -5.541335017868810e-01 + -5.538460810525171e-01 -5.535585047530838e-01 -5.532707741030544e-01 -5.529828895161875e-01 -5.526948516856666e-01 + -5.524066615722431e-01 -5.521183198617187e-01 -5.518298271294942e-01 -5.515411840216864e-01 -5.512523916981388e-01 + -5.509634510475757e-01 -5.506743625070015e-01 -5.503851268106821e-01 -5.500957448096843e-01 -5.498062173123895e-01 + -5.495165448046009e-01 -5.492267279674086e-01 -5.489367680360671e-01 -5.486466657159732e-01 -5.483564214808752e-01 + -5.480660360175322e-01 -5.477755101695411e-01 -5.474848446983241e-01 -5.471940399297857e-01 -5.469030967097296e-01 + -5.466120162347039e-01 -5.463207992130580e-01 -5.460294461220425e-01 -5.457379574365921e-01 -5.454463341419615e-01 + -5.451545769787555e-01 -5.448626863052353e-01 -5.445706629798505e-01 -5.442785079610155e-01 -5.439862220351145e-01 + -5.436938056623958e-01 -5.434012594168094e-01 -5.431085842649811e-01 -5.428157805859503e-01 -5.425228488112607e-01 + -5.422297902211034e-01 -5.419366056396356e-01 -5.416432955189590e-01 -5.413498603513526e-01 -5.410563008101139e-01 + -5.407626176406882e-01 -5.404688113584152e-01 -5.401748827259091e-01 -5.398808327262222e-01 -5.395866619984641e-01 + -5.392923710452394e-01 -5.389979603718316e-01 -5.387034307479797e-01 -5.384087828255361e-01 -5.381140170098579e-01 + -5.378191341794292e-01 -5.375241352697128e-01 -5.372290208939874e-01 -5.369337913756430e-01 -5.366384472427702e-01 + -5.363429897090184e-01 -5.360474189692397e-01 -5.357517350808286e-01 -5.354559397287709e-01 -5.351600336380363e-01 + -5.348640167550405e-01 -5.345678898586708e-01 -5.342716537895550e-01 -5.339753091509816e-01 -5.336788560795809e-01 + -5.333822952812678e-01 -5.330856281219807e-01 -5.327888549366336e-01 -5.324919760228772e-01 -5.321949921530423e-01 + -5.318979038948367e-01 -5.316007117591099e-01 -5.313034163655616e-01 -5.310060185016283e-01 -5.307085188690476e-01 + -5.304109178113635e-01 -5.301132159560333e-01 -5.298154141057816e-01 -5.295175129068631e-01 -5.292195125739295e-01 + -5.289214133220888e-01 -5.286232164928936e-01 -5.283249229043371e-01 -5.280265326905970e-01 -5.277280463629660e-01 + -5.274294646406563e-01 -5.271307882435877e-01 -5.268320172699235e-01 -5.265331522204252e-01 -5.262341943956992e-01 + -5.259351442515741e-01 -5.256360020246456e-01 -5.253367683007200e-01 -5.250374438802079e-01 -5.247380293156688e-01 + -5.244385244793137e-01 -5.241389303158239e-01 -5.238392481089597e-01 -5.235394779437145e-01 -5.232396201567239e-01 + -5.229396754457293e-01 -5.226396444439171e-01 -5.223395275325885e-01 -5.220393250130385e-01 -5.217390378529512e-01 + -5.214386667612969e-01 -5.211382119631184e-01 -5.208376739941909e-01 -5.205370535049869e-01 -5.202363510969753e-01 + -5.199355670763710e-01 -5.196347019022574e-01 -5.193337564915598e-01 -5.190327313042545e-01 -5.187316266472318e-01 + -5.184304431068453e-01 -5.181291813913007e-01 -5.178278420262173e-01 -5.175264249304404e-01 -5.172249309061349e-01 + -5.169233612064826e-01 -5.166217158673360e-01 -5.163199951550123e-01 -5.160181998004911e-01 -5.157163303784532e-01 + -5.154143871836301e-01 -5.151123703899823e-01 -5.148102810445049e-01 -5.145081200022412e-01 -5.142058873966443e-01 + -5.139035834879907e-01 -5.136012088439446e-01 -5.132987643470369e-01 -5.129962500176725e-01 -5.126936660139045e-01 + -5.123910137907831e-01 -5.120882937169244e-01 -5.117855056864241e-01 -5.114826505830118e-01 -5.111797289351894e-01 + -5.108767409175631e-01 -5.105736869791608e-01 -5.102705678009448e-01 -5.099673841164564e-01 -5.096641361609235e-01 + -5.093608243087677e-01 -5.090574492425100e-01 -5.087540114820200e-01 -5.084505112619658e-01 -5.081469486274651e-01 + -5.078433245912960e-01 -5.075396400795943e-01 -5.072358951124865e-01 -5.069320899536702e-01 -5.066282251477461e-01 + -5.063243014155288e-01 -5.060203189866231e-01 -5.057162780382299e-01 -5.054121795257869e-01 -5.051080240346536e-01 + -5.048038117428125e-01 -5.044995428560932e-01 -5.041952179946867e-01 -5.038908379779851e-01 -5.035864027540428e-01 + -5.032819126747086e-01 -5.029773687584369e-01 -5.026727713803431e-01 -5.023681207203433e-01 -5.020634170773620e-01 + -5.017586611304518e-01 -5.014538534087800e-01 -5.011489939472488e-01 -5.008440834008399e-01 -5.005391225202214e-01 + -5.002341114848970e-01 -4.999290507534227e-01 -4.996239408965545e-01 -4.993187821357916e-01 -4.990135746184980e-01 + -4.987083187010172e-01 -4.984030154770353e-01 -4.980976654859903e-01 -4.977922686591017e-01 -4.974868253646026e-01 + -4.971813362150598e-01 -4.968758018164073e-01 -4.965702219796178e-01 -4.962645970518764e-01 -4.959589283986423e-01 + -4.956532161259331e-01 -4.953474601672504e-01 -4.950416611894621e-01 -4.947358197709370e-01 -4.944299362131679e-01 + -4.941240104625670e-01 -4.938180432013966e-01 -4.935120353360559e-01 -4.932059869696777e-01 -4.928998983832586e-01 + -4.925937700937396e-01 -4.922876025288242e-01 -4.919813957951697e-01 -4.916751499430368e-01 -4.913688660561277e-01 + -4.910625447982750e-01 -4.907561860728009e-01 -4.904497902858990e-01 -4.901433579647613e-01 -4.898368894758774e-01 + -4.895303847877975e-01 -4.892238442443610e-01 -4.889172690570770e-01 -4.886106594399146e-01 -4.883040152916479e-01 + -4.879973371198497e-01 -4.876906255185612e-01 -4.873838808516193e-01 -4.870771028969680e-01 -4.867702923235035e-01 + -4.864634502410182e-01 -4.861565765237592e-01 -4.858496713307078e-01 -4.855427352755911e-01 -4.852357685536697e-01 + -4.849287714451036e-01 -4.846217444589359e-01 -4.843146879997467e-01 -4.840076025123002e-01 -4.837004885060202e-01 + -4.833933461066379e-01 -4.830861755003688e-01 -4.827789772517898e-01 -4.824717516127337e-01 -4.821644988235214e-01 + -4.818572195031119e-01 -4.815499140763169e-01 -4.812425828318353e-01 -4.809352261296052e-01 -4.806278443199989e-01 + -4.803204376463540e-01 -4.800130060714603e-01 -4.797055501717924e-01 -4.793980709573083e-01 -4.790905684347367e-01 + -4.787830426340720e-01 -4.784754939887473e-01 -4.781679231200341e-01 -4.778603302286951e-01 -4.775527150015833e-01 + -4.772450784284375e-01 -4.769374213667171e-01 -4.766297434623847e-01 -4.763220450397429e-01 -4.760143266869929e-01 + -4.757065886153464e-01 -4.753988310011543e-01 -4.750910541528841e-01 -4.747832586964973e-01 -4.744754450010169e-01 + -4.741676132522562e-01 -4.738597638648681e-01 -4.735518971269201e-01 -4.732440131603057e-01 -4.729361121339242e-01 + -4.726281945136708e-01 -4.723202610280838e-01 -4.720123119889466e-01 -4.717043475548789e-01 -4.713963678930571e-01 + -4.710883732580126e-01 -4.707803639362851e-01 -4.704723402372425e-01 -4.701643027667922e-01 -4.698562520096238e-01 + -4.695481878708884e-01 -4.692401107063794e-01 -4.689320210638210e-01 -4.686239190614940e-01 -4.683158048406638e-01 + -4.680076787162389e-01 -4.676995413185929e-01 -4.673913930202820e-01 -4.670832339045677e-01 -4.667750641928977e-01 + -4.664668842720264e-01 -4.661586945788764e-01 -4.658504950199774e-01 -4.655422858974875e-01 -4.652340682220931e-01 + -4.649258420178881e-01 -4.646176071935555e-01 -4.643093642460228e-01 -4.640011135361189e-01 -4.636928552533583e-01 + -4.633845894780055e-01 -4.630763167063440e-01 -4.627680375263447e-01 -4.624597520114774e-01 -4.621514604268375e-01 + -4.618431632080228e-01 -4.615348605890552e-01 -4.612265525685530e-01 -4.609182391698630e-01 -4.606099213200685e-01 + -4.603015994943055e-01 -4.599932734377760e-01 -4.596849434943749e-01 -4.593766101319814e-01 -4.590682736286037e-01 + -4.587599339472412e-01 -4.584515913122191e-01 -4.581432465762054e-01 -4.578348999443045e-01 -4.575265513883392e-01 + -4.572182012155285e-01 -4.569098498253546e-01 -4.566014974456956e-01 -4.562931438038699e-01 -4.559847894939479e-01 + -4.556764355440957e-01 -4.553680818446301e-01 -4.550597283221777e-01 -4.547513752454754e-01 -4.544430231318768e-01 + -4.541346721146189e-01 -4.538263219879204e-01 -4.535179736207505e-01 -4.532096276207381e-01 -4.529012837320638e-01 + -4.525929421989657e-01 -4.522846033793929e-01 -4.519762674029318e-01 -4.516679344715044e-01 -4.513596049388520e-01 + -4.510512793496801e-01 -4.507429578901284e-01 -4.504346405869434e-01 -4.501263277269192e-01 -4.498180196893253e-01 + -4.495097167463535e-01 -4.492014186979058e-01 -4.488931259139300e-01 -4.485848392328776e-01 -4.482765586745183e-01 + -4.479682843350483e-01 -4.476600166157323e-01 -4.473517555800268e-01 -4.470435013321629e-01 -4.467352542154915e-01 + -4.464270145748750e-01 -4.461187827567155e-01 -4.458105590951706e-01 -4.455023436689998e-01 -4.451941365719282e-01 + -4.448859382022067e-01 -4.445777486373541e-01 -4.442695679571050e-01 -4.439613968717006e-01 -4.436532356916815e-01 + -4.433450843880059e-01 -4.430369431657580e-01 -4.427288122616561e-01 -4.424206918620519e-01 -4.421125820372482e-01 + -4.418044832064567e-01 -4.414963960811867e-01 -4.411883204960218e-01 -4.408802564087612e-01 -4.405722043668788e-01 + -4.402641646390490e-01 -4.399561373068210e-01 -4.396481224088197e-01 -4.393401203468038e-01 -4.390321316119934e-01 + -4.387241564347777e-01 -4.384161947343386e-01 -4.381082465266398e-01 -4.378003125430411e-01 -4.374923928277115e-01 + -4.371844871230922e-01 -4.368765963346815e-01 -4.365687207997857e-01 -4.362608601883623e-01 -4.359530147661063e-01 + -4.356451849773876e-01 -4.353373711547212e-01 -4.350295729831375e-01 -4.347217906709347e-01 -4.344140253247259e-01 + -4.341062767701542e-01 -4.337985447574569e-01 -4.334908298973194e-01 -4.331831324142745e-01 -4.328754522838512e-01 + -4.325677895304312e-01 -4.322601446380396e-01 -4.319525182069930e-01 -4.316449103351276e-01 -4.313373209430619e-01 + -4.310297500384340e-01 -4.307221981580691e-01 -4.304146654764764e-01 -4.301071518609876e-01 -4.297996578556980e-01 + -4.294921838432407e-01 -4.291847298181669e-01 -4.288772959356691e-01 -4.285698824691314e-01 -4.282624896947286e-01 + -4.279551173581843e-01 -4.276477655542056e-01 -4.273404353166645e-01 -4.270331268873108e-01 -4.267258400671970e-01 + -4.264185747737768e-01 -4.261113314513503e-01 -4.258041105111009e-01 -4.254969114260224e-01 -4.251897346526543e-01 + -4.248825811839114e-01 -4.245754507348872e-01 -4.242683433304872e-01 -4.239612594489042e-01 -4.236541990429175e-01 + -4.233471621233121e-01 -4.230401489624036e-01 -4.227331599159186e-01 -4.224261953202194e-01 -4.221192554076946e-01 + -4.218123401221037e-01 -4.215054495276057e-01 -4.211985840665567e-01 -4.208917437341202e-01 -4.205849285470991e-01 + -4.202781391077526e-01 -4.199713756820169e-01 -4.196646382796324e-01 -4.193579269625680e-01 -4.190512419898234e-01 + -4.187445835885104e-01 -4.184379514023820e-01 -4.181313458657921e-01 -4.178247679943504e-01 -4.175182174706034e-01 + -4.172116941638125e-01 -4.169051985589959e-01 -4.165987308801878e-01 -4.162922910262470e-01 -4.159858787333477e-01 + -4.156794948456864e-01 -4.153731400237493e-01 -4.150668138055245e-01 -4.147605162480433e-01 -4.144542477033889e-01 + -4.141480084083939e-01 -4.138417983331389e-01 -4.135356175072968e-01 -4.132294665425894e-01 -4.129233456523720e-01 + -4.126172547353913e-01 -4.123111939769975e-01 -4.120051637027982e-01 -4.116991641480549e-01 -4.113931948631621e-01 + -4.110872561089984e-01 -4.107813489720965e-01 -4.104754732505308e-01 -4.101696286974395e-01 -4.098638156566466e-01 + -4.095580344057681e-01 -4.092522850492459e-01 -4.089465675148873e-01 -4.086408821301867e-01 -4.083352292811099e-01 + -4.080296090087697e-01 -4.077240214925531e-01 -4.074184669621912e-01 -4.071129454474836e-01 -4.068074568206541e-01 + -4.065020011172992e-01 -4.061965792344674e-01 -4.058911914234347e-01 -4.055858372701102e-01 -4.052805169731385e-01 + -4.049752308691225e-01 -4.046699791746853e-01 -4.043647616984872e-01 -4.040595785275335e-01 -4.037544302850327e-01 + -4.034493171430220e-01 -4.031442391412985e-01 -4.028391964411297e-01 -4.025341890399178e-01 -4.022292169515432e-01 + -4.019242804318620e-01 -4.016193797575413e-01 -4.013145151618574e-01 -4.010096867767989e-01 -4.007048946739946e-01 + -4.004001389575452e-01 -4.000954199442892e-01 -3.997907376333255e-01 -3.994860918450180e-01 -3.991814831388100e-01 + -3.988769118682245e-01 -3.985723779299208e-01 -3.982678813725196e-01 -3.979634224118638e-01 -3.976590013430957e-01 + -3.973546179557737e-01 -3.970502723184750e-01 -3.967459652757308e-01 -3.964416967373386e-01 -3.961374664325438e-01 + -3.958332748416728e-01 -3.955291221412219e-01 -3.952250082276700e-01 -3.949209329883424e-01 -3.946168969005399e-01 + -3.943129006192436e-01 -3.940089438207542e-01 -3.937050264421336e-01 -3.934011488327164e-01 -3.930973111392007e-01 + -3.927935133510078e-01 -3.924897554398895e-01 -3.921860379028622e-01 -3.918823611410527e-01 -3.915787251272155e-01 + -3.912751296302741e-01 -3.909715747221262e-01 -3.906680610479274e-01 -3.903645884467465e-01 -3.900611567141484e-01 + -3.897577665105899e-01 -3.894544180732338e-01 -3.891511112918067e-01 -3.888478460867855e-01 -3.885446227676595e-01 + -3.882414417069796e-01 -3.879383024897914e-01 -3.876352053351357e-01 -3.873321510269954e-01 -3.870291394376005e-01 + -3.867261704550462e-01 -3.864232442776043e-01 -3.861203610538394e-01 -3.858175208256477e-01 -3.855147235659399e-01 + -3.852119696012977e-01 -3.849092593053318e-01 -3.846065928280623e-01 -3.843039700003283e-01 -3.840013907871894e-01 + -3.836988557264463e-01 -3.833963646642737e-01 -3.830939173673272e-01 -3.827915146861536e-01 -3.824891567344230e-01 + -3.821868431312930e-01 -3.818845742897094e-01 -3.815823505036508e-01 -3.812801717050347e-01 -3.809780375081945e-01 + -3.806759481537249e-01 -3.803739045452896e-01 -3.800719066553854e-01 -3.797699542729503e-01 -3.794680474344709e-01 + -3.791661864151066e-01 -3.788643713579414e-01 -3.785626020610045e-01 -3.782608787892401e-01 -3.779592019649877e-01 + -3.776575717504184e-01 -3.773559879986245e-01 -3.770544506277551e-01 -3.767529601718599e-01 -3.764515165488658e-01 + -3.761501194541416e-01 -3.758487697291592e-01 -3.755474675286999e-01 -3.752462123142175e-01 -3.749450044400430e-01 + -3.746438442933219e-01 -3.743427319385532e-01 -3.740416670860849e-01 -3.737406497610264e-01 -3.734396805632812e-01 + -3.731387597991040e-01 -3.728378873981389e-01 -3.725370629746288e-01 -3.722362869751284e-01 -3.719355598195744e-01 + -3.716348809475082e-01 -3.713342505611615e-01 -3.710336692885385e-01 -3.707331373206220e-01 -3.704326544188714e-01 + -3.701322203470578e-01 -3.698318357923215e-01 -3.695315007664240e-01 -3.692312147431765e-01 -3.689309784821330e-01 + -3.686307923312130e-01 -3.683306558583173e-01 -3.680305692832940e-01 -3.677305328772401e-01 -3.674305466155561e-01 + -3.671306102835627e-01 -3.668307239979260e-01 -3.665308885123383e-01 -3.662311039528895e-01 -3.659313700864294e-01 + -3.656316867340536e-01 -3.653320542170925e-01 -3.650324728818179e-01 -3.647329423252613e-01 -3.644334627823841e-01 + -3.641340348652060e-01 -3.638346584224414e-01 -3.635353333854674e-01 -3.632360599381753e-01 -3.629368383087880e-01 + -3.626376683911322e-01 -3.623385498640058e-01 -3.620394834143431e-01 -3.617404694429358e-01 -3.614415075289109e-01 + -3.611425978472304e-01 -3.608437406892576e-01 -3.605449360396625e-01 -3.602461837170217e-01 -3.599474837636126e-01 + -3.596488368123176e-01 -3.593502429497555e-01 -3.590517019950174e-01 -3.587532141258951e-01 -3.584547794364419e-01 + -3.581563978967544e-01 -3.578580694598877e-01 -3.575597943932133e-01 -3.572615731273898e-01 -3.569634054963255e-01 + -3.566652915450074e-01 -3.563672316398869e-01 -3.560692255181004e-01 -3.557712730433470e-01 -3.554733745722332e-01 + -3.551755304325120e-01 -3.548777407381354e-01 -3.545800053200450e-01 -3.542823243820459e-01 -3.539846981602633e-01 + -3.536871265064687e-01 -3.533896092936707e-01 -3.530921466577667e-01 -3.527947392696623e-01 -3.524973870763591e-01 + -3.522000896417020e-01 -3.519028473926252e-01 -3.516056606257513e-01 -3.513085292624320e-01 -3.510114529438408e-01 + -3.507144318797571e-01 -3.504174668509267e-01 -3.501205576763053e-01 -3.498237041407538e-01 -3.495269064579332e-01 + -3.492301648012658e-01 -3.489334792023763e-01 -3.486368495320163e-01 -3.483402759532310e-01 -3.480437587608516e-01 + -3.477472981563033e-01 -3.474508940116457e-01 -3.471545462266357e-01 -3.468582552838557e-01 -3.465620210594309e-01 + -3.462658431862374e-01 -3.459697223261950e-01 -3.456736587298253e-01 -3.453776521244075e-01 -3.450817025977070e-01 + -3.447858103250944e-01 -3.444899754033867e-01 -3.441941976114102e-01 -3.438984770490408e-01 -3.436028143288083e-01 + -3.433072093931014e-01 -3.430116620696204e-01 -3.427161725111446e-01 -3.424207408695913e-01 -3.421253671506906e-01 + -3.418300511322294e-01 -3.415347931565998e-01 -3.412395936962896e-01 -3.409444525560181e-01 -3.406493696743920e-01 + -3.403543451949735e-01 -3.400593792856730e-01 -3.397644718554241e-01 -3.394696227303268e-01 -3.391748324448361e-01 + -3.388801012525273e-01 -3.385854289098167e-01 -3.382908154719833e-01 -3.379962610967925e-01 -3.377017658856785e-01 + -3.374073296405456e-01 -3.371129523992028e-01 -3.368186347618567e-01 -3.365243767275647e-01 -3.362301780997549e-01 + -3.359360390044588e-01 -3.356419595939377e-01 -3.353479398983790e-01 -3.350539796822969e-01 -3.347600792157354e-01 + -3.344662390001809e-01 -3.341724588683134e-01 -3.338787387386647e-01 -3.335850787505256e-01 -3.332914790393797e-01 + -3.329979395469141e-01 -3.327044601082655e-01 -3.324110411740308e-01 -3.321176830325031e-01 -3.318243854727410e-01 + -3.315311485033696e-01 -3.312379722613320e-01 -3.309448568815591e-01 -3.306518021855764e-01 -3.303588081394571e-01 + -3.300658753265905e-01 -3.297730038003383e-01 -3.294801933460689e-01 -3.291874440822869e-01 -3.288947561448500e-01 + -3.286021295596533e-01 -3.283095641084477e-01 -3.280170600152969e-01 -3.277246178092963e-01 -3.274322373144385e-01 + -3.271399184133136e-01 -3.268476612759387e-01 -3.265554660369243e-01 -3.262633326374516e-01 -3.259712608638953e-01 + -3.256792511518811e-01 -3.253873038511834e-01 -3.250954187049387e-01 -3.248035957166725e-01 -3.245118350464998e-01 + -3.242201368055027e-01 -3.239285008232202e-01 -3.236369270127419e-01 -3.233454159517716e-01 -3.230539677655248e-01 + -3.227625822208953e-01 -3.224712593689608e-01 -3.221799993547627e-01 -3.218888022707884e-01 -3.215976678728723e-01 + -3.213065962862219e-01 -3.210155880538063e-01 -3.207246430922022e-01 -3.204337612603162e-01 -3.201429426545060e-01 + -3.198521874188910e-01 -3.195614955407240e-01 -3.192708667833873e-01 -3.189803015317205e-01 -3.186898001852494e-01 + -3.183993624745159e-01 -3.181089883645859e-01 -3.178186780215274e-01 -3.175284315788672e-01 -3.172382488912609e-01 + -3.169481298117736e-01 -3.166580748847834e-01 -3.163680842820584e-01 -3.160781577505636e-01 -3.157882953403168e-01 + -3.154984971942622e-01 -3.152087634033934e-01 -3.149190937439705e-01 -3.146294882798918e-01 -3.143399475483734e-01 + -3.140504715109739e-01 -3.137610600081304e-01 -3.134717131245625e-01 -3.131824310053718e-01 -3.128932136614712e-01 + -3.126040608259110e-01 -3.123149728003283e-01 -3.120259500284038e-01 -3.117369923103007e-01 -3.114480995811182e-01 + -3.111592719695180e-01 -3.108705096041851e-01 -3.105818123704323e-01 -3.102931800853200e-01 -3.100046132424714e-01 + -3.097161120700553e-01 -3.094276763275429e-01 -3.091393060498078e-01 -3.088510013669117e-01 -3.085627623567511e-01 + -3.082745888090075e-01 -3.079864807413559e-01 -3.076984387104112e-01 -3.074104627037881e-01 -3.071225525229602e-01 + -3.068347082674415e-01 -3.065469300647063e-01 -3.062592179233167e-01 -3.059715715883658e-01 -3.056839913222955e-01 + -3.053964776128304e-01 -3.051090302429263e-01 -3.048216491115613e-01 -3.045343343664140e-01 -3.042470861256498e-01 + -3.039599042912569e-01 -3.036727886539801e-01 -3.033857396783212e-01 -3.030987576532087e-01 -3.028118423290159e-01 + -3.025249936916685e-01 -3.022382118572411e-01 -3.019514969324824e-01 -3.016648487319269e-01 -3.013782672163520e-01 + -3.010917529380510e-01 -3.008053059332530e-01 -3.005189259718208e-01 -3.002326131255288e-01 -2.999463675243501e-01 + -2.996601892115071e-01 -2.993740779431134e-01 -2.990880338991673e-01 -2.988020575697556e-01 -2.985161488129333e-01 + -2.982303074956766e-01 -2.979445337070337e-01 -2.976588275957710e-01 -2.973731891105994e-01 -2.970876179949718e-01 + -2.968021146693378e-01 -2.965166794729635e-01 -2.962313121299224e-01 -2.959460126205053e-01 -2.956607810824475e-01 + -2.953756176130727e-01 -2.950905220348498e-01 -2.948054942542040e-01 -2.945205348259674e-01 -2.942356438398593e-01 + -2.939508210351428e-01 -2.936660664737455e-01 -2.933813802767271e-01 -2.930967624892026e-01 -2.928122128931882e-01 + -2.925277316158055e-01 -2.922433191494531e-01 -2.919589753765323e-01 -2.916747001400424e-01 -2.913904935350139e-01 + -2.911063557118664e-01 -2.908222866434848e-01 -2.905382860439090e-01 -2.902543542778646e-01 -2.899704917370004e-01 + -2.896866981425306e-01 -2.894029734511842e-01 -2.891193178139609e-01 -2.888357313345801e-01 -2.885522138545054e-01 + -2.882687652243500e-01 -2.879853859636904e-01 -2.877020762131379e-01 -2.874188357014512e-01 -2.871356645025479e-01 + -2.868525627422169e-01 -2.865695304469716e-01 -2.862865673963798e-01 -2.860036736642309e-01 -2.857208497673618e-01 + -2.854380956360413e-01 -2.851554110854154e-01 -2.848727961880673e-01 -2.845902510831507e-01 -2.843077757793696e-01 + -2.840253700094237e-01 -2.837430340397069e-01 -2.834607682748240e-01 -2.831785725328111e-01 -2.828964467316310e-01 + -2.826143909542473e-01 -2.823324053101364e-01 -2.820504896922502e-01 -2.817686439371250e-01 -2.814868685136343e-01 + -2.812051636152371e-01 -2.809235289745332e-01 -2.806419646055033e-01 -2.803604706362606e-01 -2.800790471610514e-01 + -2.797976939416736e-01 -2.795164109639519e-01 -2.792351987736799e-01 -2.789540573481899e-01 -2.786729864814172e-01 + -2.783919862645312e-01 -2.781110567914744e-01 -2.778301980476193e-01 -2.775494098202491e-01 -2.772686923282846e-01 + -2.769880459823117e-01 -2.767074706347814e-01 -2.764269661749121e-01 -2.761465326612197e-01 -2.758661702373058e-01 + -2.755858788282252e-01 -2.753056582075042e-01 -2.750255088041456e-01 -2.747454308713073e-01 -2.744654241403574e-01 + -2.741854886058927e-01 -2.739056243892176e-01 -2.736258315782464e-01 -2.733461099674180e-01 -2.730664595012521e-01 + -2.727868807168794e-01 -2.725073736368404e-01 -2.722279380246611e-01 -2.719485739535283e-01 -2.716692815376729e-01 + -2.713900607905190e-01 -2.711109114418696e-01 -2.708318336740216e-01 -2.705528279896257e-01 -2.702738942089605e-01 + -2.699950321750810e-01 -2.697162419812612e-01 -2.694375237750356e-01 -2.691588774953904e-01 -2.688803028674867e-01 + -2.686018002777490e-01 -2.683233700490228e-01 -2.680450119322323e-01 -2.677667258920440e-01 -2.674885120321642e-01 + -2.672103704327183e-01 -2.669323009240009e-01 -2.666543034142266e-01 -2.663763784024609e-01 -2.660985259744725e-01 + -2.658207458961011e-01 -2.655430381891060e-01 -2.652654029648259e-01 -2.649878402880381e-01 -2.647103499069445e-01 + -2.644329319184849e-01 -2.641555868035665e-01 -2.638783144422805e-01 -2.636011146840161e-01 -2.633239876271375e-01 + -2.630469333706403e-01 -2.627699518665801e-01 -2.624930428881614e-01 -2.622162067361601e-01 -2.619394437425979e-01 + -2.616627537197243e-01 -2.613861365959049e-01 -2.611095924398818e-01 -2.608331213683194e-01 -2.605567232565551e-01 + -2.602803979638560e-01 -2.600041459185203e-01 -2.597279672559259e-01 -2.594518617711524e-01 -2.591758294668244e-01 + -2.588998704444723e-01 -2.586239847880919e-01 -2.583481722507706e-01 -2.580724328621725e-01 -2.577967671126083e-01 + -2.575211749406902e-01 -2.572456561780725e-01 -2.569702108956164e-01 -2.566948391959332e-01 -2.564195410517088e-01 + -2.561443162003717e-01 -2.558691649278121e-01 -2.555940876367002e-01 -2.553190840839927e-01 -2.550441541814838e-01 + -2.547692980445108e-01 -2.544945157803290e-01 -2.542198072584164e-01 -2.539451722830000e-01 -2.536706112997469e-01 + -2.533961245035316e-01 -2.531217116489478e-01 -2.528473727232912e-01 -2.525731078267265e-01 -2.522989170513077e-01 + -2.520248001810547e-01 -2.517507572028029e-01 -2.514767886096237e-01 -2.512028943623831e-01 -2.509290742545349e-01 + -2.506553283625735e-01 -2.503816568034038e-01 -2.501080595782905e-01 -2.498345364108095e-01 -2.495610875124447e-01 + -2.492877133133172e-01 -2.490144136112123e-01 -2.487411882994743e-01 -2.484680374856057e-01 -2.481949612635986e-01 + -2.479219595287280e-01 -2.476490320734136e-01 -2.473761793087864e-01 -2.471034014703498e-01 -2.468306982957061e-01 + -2.465580697844871e-01 -2.462855160432138e-01 -2.460130371204629e-01 -2.457406328233614e-01 -2.454683031113906e-01 + -2.451960484794311e-01 -2.449238689415910e-01 -2.446517642712055e-01 -2.443797345227543e-01 -2.441077797933181e-01 + -2.438359000947776e-01 -2.435640951889690e-01 -2.432923652315951e-01 -2.430207106571287e-01 -2.427491313175689e-01 + -2.424776270783986e-01 -2.422061980074125e-01 -2.419348442072336e-01 -2.416635656192684e-01 -2.413923620306189e-01 + -2.411212337762792e-01 -2.408501811283544e-01 -2.405792038734625e-01 -2.403083019688687e-01 -2.400374754936993e-01 + -2.397667245256450e-01 -2.394960488977194e-01 -2.392254485194238e-01 -2.389549238762380e-01 -2.386844750244205e-01 + -2.384141017100180e-01 -2.381438039886236e-01 -2.378735819631148e-01 -2.376034356560101e-01 -2.373333648418426e-01 + -2.370633696160408e-01 -2.367934504134751e-01 -2.365236071336530e-01 -2.362538396334552e-01 -2.359841479713349e-01 + -2.357145322333765e-01 -2.354449923780104e-01 -2.351755281955192e-01 -2.349061399838227e-01 -2.346368280467886e-01 + -2.343675921502802e-01 -2.340984322401892e-01 -2.338293484224673e-01 -2.335603407944267e-01 -2.332914091991481e-01 + -2.330225534791031e-01 -2.327537740958542e-01 -2.324850711724544e-01 -2.322164444575208e-01 -2.319478939696494e-01 + -2.316794198107119e-01 -2.314110220364787e-01 -2.311427004172850e-01 -2.308744549913938e-01 -2.306062862221652e-01 + -2.303381940399467e-01 -2.300701782673901e-01 -2.298022389505013e-01 -2.295343762055658e-01 -2.292665900251787e-01 + -2.289988801367178e-01 -2.287312467963517e-01 -2.284636903804389e-01 -2.281962106639611e-01 -2.279288075702767e-01 + -2.276614812041137e-01 -2.273942316314865e-01 -2.271270587234099e-01 -2.268599623216859e-01 -2.265929428586625e-01 + -2.263260004971463e-01 -2.260591349680134e-01 -2.257923462859340e-01 -2.255256345570404e-01 -2.252589998316905e-01 + -2.249924418873443e-01 -2.247259607239798e-01 -2.244595568451081e-01 -2.241932301870257e-01 -2.239269805236896e-01 + -2.236608079513920e-01 -2.233947125724077e-01 -2.231286943677930e-01 -2.228627530899186e-01 -2.225968889349937e-01 + -2.223311022938890e-01 -2.220653929888047e-01 -2.217997609137618e-01 -2.215342061492806e-01 -2.212687287997047e-01 + -2.210033287645195e-01 -2.207380058226258e-01 -2.204727603658667e-01 -2.202075926188733e-01 -2.199425023254976e-01 + -2.196774894791217e-01 -2.194125541827232e-01 -2.191476964953657e-01 -2.188829162198361e-01 -2.186182133017065e-01 + -2.183535882155842e-01 -2.180890409721393e-01 -2.178245713492862e-01 -2.175601793915103e-01 -2.172958651996608e-01 + -2.170316287941991e-01 -2.167674699222372e-01 -2.165033887351043e-01 -2.162393856655618e-01 -2.159754605317784e-01 + -2.157116131976179e-01 -2.154478437626437e-01 -2.151841523053365e-01 -2.149205387568082e-01 -2.146570029331132e-01 + -2.143935451423346e-01 -2.141301656253313e-01 -2.138668641770334e-01 -2.136036407648879e-01 -2.133404954698548e-01 + -2.130774283590253e-01 -2.128144392711416e-01 -2.125515281171839e-01 -2.122886953403734e-01 -2.120259409959825e-01 + -2.117632648531722e-01 -2.115006669388265e-01 -2.112381473557379e-01 -2.109757061544524e-01 -2.107133431005909e-01 + -2.104510582708100e-01 -2.101888520817322e-01 -2.099267244352251e-01 -2.096646751892664e-01 -2.094027043922436e-01 + -2.091408121382980e-01 -2.088789983898283e-01 -2.086172629233026e-01 -2.083556060294393e-01 -2.080940280081475e-01 + -2.078325286261216e-01 -2.075711078316715e-01 -2.073097657230958e-01 -2.070485023681648e-01 -2.067873176254528e-01 + -2.065262113703670e-01 -2.062651840261599e-01 -2.060042356935543e-01 -2.057433661320316e-01 -2.054825753736384e-01 + -2.052218635119340e-01 -2.049612305777034e-01 -2.047006763593381e-01 -2.044402009029163e-01 -2.041798046444743e-01 + -2.039194875091236e-01 -2.036592493288050e-01 -2.033990901597007e-01 -2.031390101041152e-01 -2.028790091364410e-01 + -2.026190869860804e-01 -2.023592439213894e-01 -2.020994803209571e-01 -2.018397959336108e-01 -2.015801906636277e-01 + -2.013206646163115e-01 -2.010612178968381e-01 -2.008018503846473e-01 -2.005425618909167e-01 -2.002833527994660e-01 + -2.000242232866459e-01 -1.997651731545872e-01 -1.995062023757428e-01 -1.992473110134654e-01 -1.989884991329442e-01 + -1.987297665552775e-01 -1.984711132804359e-01 -1.982125397288479e-01 -1.979540458641874e-01 -1.976956315048893e-01 + -1.974372966986851e-01 -1.971790415364275e-01 -1.969208660181268e-01 -1.966627699138122e-01 -1.964047534115951e-01 + -1.961468168792641e-01 -1.958889601415059e-01 -1.956311830976701e-01 -1.953734858227050e-01 -1.951158683885618e-01 + -1.948583307060198e-01 -1.946008726082255e-01 -1.943434944554087e-01 -1.940861964418109e-01 -1.938289783248288e-01 + -1.935718400929853e-01 -1.933147818435645e-01 -1.930578036445209e-01 -1.928009053047615e-01 -1.925440867668252e-01 + -1.922873484836986e-01 -1.920306904586313e-01 -1.917741124759950e-01 -1.915176145882685e-01 -1.912611968971867e-01 + -1.910048594156118e-01 -1.907486018758652e-01 -1.904924244300230e-01 -1.902363275204000e-01 -1.899803109613821e-01 + -1.897243746214878e-01 -1.894685186111405e-01 -1.892127429944364e-01 -1.889570476814606e-01 -1.887014324762902e-01 + -1.884458977092228e-01 -1.881904436322386e-01 -1.879350700181010e-01 -1.876797768445363e-01 -1.874245641980662e-01 + -1.871694321106837e-01 -1.869143804464632e-01 -1.866594091449939e-01 -1.864045185802509e-01 -1.861497088150435e-01 + -1.858949796742653e-01 -1.856403311585743e-01 -1.853857633524328e-01 -1.851312763093270e-01 -1.848768697910832e-01 + -1.846225438828809e-01 -1.843682990131126e-01 -1.841141350478542e-01 -1.838600518410295e-01 -1.836060494900988e-01 + -1.833521280737523e-01 -1.830982875326949e-01 -1.828445276569093e-01 -1.825908487213151e-01 -1.823372510073639e-01 + -1.820837342990139e-01 -1.818302985608840e-01 -1.815769438919524e-01 -1.813236703339543e-01 -1.810704777470943e-01 + -1.808173660274447e-01 -1.805643355946649e-01 -1.803113865319381e-01 -1.800585185867421e-01 -1.798057318207557e-01 + -1.795530263298101e-01 -1.793004021140676e-01 -1.790478589821669e-01 -1.787953969871552e-01 -1.785430165333783e-01 + -1.782907175616041e-01 -1.780384999147782e-01 -1.777863636186671e-01 -1.775343087850783e-01 -1.772823354138563e-01 + -1.770304432439544e-01 -1.767786324996124e-01 -1.765269035206169e-01 -1.762752561209628e-01 -1.760236902365481e-01 + -1.757722059508868e-01 -1.755208033072168e-01 -1.752694821962465e-01 -1.750182424985018e-01 -1.747670845873172e-01 + -1.745160085943736e-01 -1.742650142826787e-01 -1.740141016708582e-01 -1.737632708599284e-01 -1.735125219002990e-01 + -1.732618545819516e-01 -1.730112688968157e-01 -1.727607652962038e-01 -1.725103437360838e-01 -1.722600040199003e-01 + -1.720097462053399e-01 -1.717595703957765e-01 -1.715094765937824e-01 -1.712594645505801e-01 -1.710095344617568e-01 + -1.707596867053610e-01 -1.705099210652020e-01 -1.702602374503936e-01 -1.700106359820640e-01 -1.697611167032507e-01 + -1.695116795170456e-01 -1.692623242857098e-01 -1.690130513415946e-01 -1.687638608735592e-01 -1.685147526839133e-01 + -1.682657267304136e-01 -1.680167830834059e-01 -1.677679218434041e-01 -1.675191428301483e-01 -1.672704459776749e-01 + -1.670218317162355e-01 -1.667733000505553e-01 -1.665248507843929e-01 -1.662764839848620e-01 -1.660281997331086e-01 + -1.657799980211539e-01 -1.655318786421316e-01 -1.652838417439954e-01 -1.650358877061586e-01 -1.647880163635810e-01 + -1.645402275978841e-01 -1.642925215033296e-01 -1.640448981629310e-01 -1.637973575048030e-01 -1.635498993322754e-01 + -1.633025239587731e-01 -1.630552316214122e-01 -1.628080220971913e-01 -1.625608953706327e-01 -1.623138515347123e-01 + -1.620668906280902e-01 -1.618200125176413e-01 -1.615732171440627e-01 -1.613265048790783e-01 -1.610798757703294e-01 + -1.608333296326273e-01 -1.605868664946396e-01 -1.603404864451659e-01 -1.600941895233320e-01 -1.598479755194739e-01 + -1.596018445089071e-01 -1.593557968710357e-01 -1.591098325274174e-01 -1.588639513462271e-01 -1.586181533501567e-01 + -1.583724386633118e-01 -1.581268072684121e-01 -1.578812589110151e-01 -1.576357938605635e-01 -1.573904124176000e-01 + -1.571451143885420e-01 -1.568998997115455e-01 -1.566547684551118e-01 -1.564097207009810e-01 -1.561647563377750e-01 + -1.559198752534892e-01 -1.556750777971572e-01 -1.554303640753041e-01 -1.551857339241298e-01 -1.549411873472499e-01 + -1.546967244117141e-01 -1.544523451583313e-01 -1.542080493972972e-01 -1.539638371771692e-01 -1.537197089019022e-01 + -1.534756644902717e-01 -1.532317037874507e-01 -1.529878268669247e-01 -1.527440338285302e-01 -1.525003246495042e-01 + -1.522566990917994e-01 -1.520131573865194e-01 -1.517696998607227e-01 -1.515263263105132e-01 -1.512830366842278e-01 + -1.510398310896279e-01 -1.507967095609423e-01 -1.505536719818633e-01 -1.503107182379510e-01 -1.500678487166025e-01 + -1.498250635429138e-01 -1.495823624607518e-01 -1.493397455183047e-01 -1.490972128240516e-01 -1.488547643939502e-01 + -1.486124000468938e-01 -1.483701197975273e-01 -1.481279240643807e-01 -1.478858128086334e-01 -1.476437858541442e-01 + -1.474018432575297e-01 -1.471599850901578e-01 -1.469182113447434e-01 -1.466765218581870e-01 -1.464349167991909e-01 + -1.461933964691583e-01 -1.459519607332137e-01 -1.457106095126376e-01 -1.454693428712828e-01 -1.452281609001614e-01 + -1.449870635167667e-01 -1.447460505411944e-01 -1.445051223204885e-01 -1.442642790465533e-01 -1.440235204958664e-01 + -1.437828466645076e-01 -1.435422576460715e-01 -1.433017535021517e-01 -1.430613340788666e-01 -1.428209993367665e-01 + -1.425807496580667e-01 -1.423405850452980e-01 -1.421005053276286e-01 -1.418605105748216e-01 -1.416206008760722e-01 + -1.413807762310167e-01 -1.411410364179444e-01 -1.409013815814383e-01 -1.406618121114770e-01 -1.404223278620860e-01 + -1.401829287142080e-01 -1.399436147388266e-01 -1.397043860171121e-01 -1.394652424999606e-01 -1.392261840277533e-01 + -1.389872108800275e-01 -1.387483232704581e-01 -1.385095210193419e-01 -1.382708041155041e-01 -1.380321726381191e-01 + -1.377936266235328e-01 -1.375551659356028e-01 -1.373167905196480e-01 -1.370785007699294e-01 -1.368402967462084e-01 + -1.366021782602805e-01 -1.363641453151502e-01 -1.361261980034910e-01 -1.358883363925467e-01 -1.356505602730137e-01 + -1.354128697173978e-01 -1.351752651019714e-01 -1.349377463365720e-01 -1.347003133096952e-01 -1.344629660943524e-01 + -1.342257047644556e-01 -1.339885292721434e-01 -1.337514394288152e-01 -1.335144355004790e-01 -1.332775177574095e-01 + -1.330406860095451e-01 -1.328039402156265e-01 -1.325672804621033e-01 -1.323307068237664e-01 -1.320942191803451e-01 + -1.318578174250235e-01 -1.316215019436967e-01 -1.313852728254415e-01 -1.311491298574344e-01 -1.309130730812647e-01 + -1.306771025967214e-01 -1.304412184433993e-01 -1.302054204167683e-01 -1.299697085633917e-01 -1.297340833011096e-01 + -1.294985445422908e-01 -1.292630921400970e-01 -1.290277262032818e-01 -1.287924468024440e-01 -1.285572538860320e-01 + -1.283221472565841e-01 -1.280871271607027e-01 -1.278521939245786e-01 -1.276173473594251e-01 -1.273825873815436e-01 + -1.271479140654554e-01 -1.269133275291332e-01 -1.266788276689478e-01 -1.264444143112885e-01 -1.262100878411512e-01 + -1.259758484249543e-01 -1.257416958580221e-01 -1.255076301118343e-01 -1.252736512740011e-01 -1.250397594556589e-01 + -1.248059544551782e-01 -1.245722362561283e-01 -1.243386053032582e-01 -1.241050615437150e-01 -1.238716047916152e-01 + -1.236382351439431e-01 -1.234049527007845e-01 -1.231717574487822e-01 -1.229386491649988e-01 -1.227056280466961e-01 + -1.224726944551588e-01 -1.222398481939305e-01 -1.220070891810755e-01 -1.217744175349468e-01 -1.215418333321439e-01 + -1.213093364896874e-01 -1.210769268543440e-01 -1.208446047468073e-01 -1.206123703546746e-01 -1.203802234985189e-01 + -1.201481641556592e-01 -1.199161924040098e-01 -1.196843083373426e-01 -1.194525118101599e-01 -1.192208027778711e-01 + -1.189891816158967e-01 -1.187576483334740e-01 -1.185262027772708e-01 -1.182948450325541e-01 -1.180635751718018e-01 + -1.178323931740712e-01 -1.176012988598141e-01 -1.173702923768903e-01 -1.171393740841554e-01 -1.169085438684581e-01 + -1.166778016318426e-01 -1.164471474323627e-01 -1.162165813372163e-01 -1.159861033094216e-01 -1.157557132288848e-01 + -1.155254113554128e-01 -1.152951978878259e-01 -1.150650726784410e-01 -1.148350356935617e-01 -1.146050869998271e-01 + -1.143752266983624e-01 -1.141454546633286e-01 -1.139157708150553e-01 -1.136861755297615e-01 -1.134566688685596e-01 + -1.132272506625232e-01 -1.129979209389772e-01 -1.127686797968139e-01 -1.125395272939830e-01 -1.123104632216639e-01 + -1.120814876598629e-01 -1.118526009932446e-01 -1.116238031362107e-01 -1.113950939743172e-01 -1.111664735714766e-01 + -1.109379420230661e-01 -1.107094992989161e-01 -1.104811452047023e-01 -1.102528800189790e-01 -1.100247040176238e-01 + -1.097966169898620e-01 -1.095686189066022e-01 -1.093407098806465e-01 -1.091128899944971e-01 -1.088851591239916e-01 + -1.086575171512236e-01 -1.084299644451029e-01 -1.082025011238454e-01 -1.079751270251657e-01 -1.077478421434466e-01 + -1.075206465724022e-01 -1.072935404061887e-01 -1.070665234272605e-01 -1.068395956686409e-01 -1.066127575621145e-01 + -1.063860090403522e-01 -1.061593499609373e-01 -1.059327804074918e-01 -1.057063004552603e-01 -1.054799100848440e-01 + -1.052536091459819e-01 -1.050273978363624e-01 -1.048012764247322e-01 -1.045752447992682e-01 -1.043493029044653e-01 + -1.041234507912105e-01 -1.038976885616201e-01 -1.036720161437409e-01 -1.034464334142674e-01 -1.032209407082870e-01 + -1.029955381585720e-01 -1.027702255852857e-01 -1.025450030256683e-01 -1.023198705766582e-01 -1.020948282803886e-01 + -1.018698759615270e-01 -1.016450136357437e-01 -1.014202417243671e-01 -1.011955602054591e-01 -1.009709689162001e-01 + -1.007464679013254e-01 -1.005220572777319e-01 -1.002977370772110e-01 -1.000735070732387e-01 -9.984936745539402e-02 + -9.962531858349888e-02 -9.940136027998529e-02 -9.917749246814733e-02 -9.895371525770333e-02 -9.873002873335845e-02 + -9.850643282337790e-02 -9.828292738770521e-02 -9.805951276903688e-02 -9.783618914357473e-02 -9.761295629040607e-02 + -9.738981424317925e-02 -9.716676311420755e-02 -9.694380293900719e-02 -9.672093359332221e-02 -9.649815506782670e-02 + -9.627546771326484e-02 -9.605287156919239e-02 -9.583036651098850e-02 -9.560795255252680e-02 -9.538562978098189e-02 + -9.516339824129488e-02 -9.494125774199282e-02 -9.471920843970391e-02 -9.449725071216948e-02 -9.427538438593883e-02 + -9.405360936874554e-02 -9.383192580278800e-02 -9.361033376064058e-02 -9.338883317577901e-02 -9.316742389906425e-02 + -9.294610622995669e-02 -9.272488039403920e-02 -9.250374621386263e-02 -9.228270367992475e-02 -9.206175287916113e-02 + -9.184089387273792e-02 -9.162012656935895e-02 -9.139945093572596e-02 -9.117886729658348e-02 -9.095837571294788e-02 + -9.073797605928635e-02 -9.051766837713708e-02 -9.029745274779008e-02 -9.007732920697027e-02 -8.985729759887780e-02 + -8.963735802530043e-02 -8.941751083887589e-02 -8.919775594907166e-02 -8.897809325953572e-02 -8.875852286193828e-02 + -8.853904483959285e-02 -8.831965916578795e-02 -8.810036569419880e-02 -8.788116467295366e-02 -8.766205635082600e-02 + -8.744304058057480e-02 -8.722411733824492e-02 -8.700528670561582e-02 -8.678654875532379e-02 -8.656790339361393e-02 + -8.634935054757228e-02 -8.613089058374623e-02 -8.591252359970507e-02 -8.569424942256174e-02 -8.547606809595372e-02 + -8.525797972327777e-02 -8.503998436304407e-02 -8.482208183975883e-02 -8.460427219735964e-02 -8.438655581333676e-02 + -8.416893266387415e-02 -8.395140264416648e-02 -8.373396580036768e-02 -8.351662221748458e-02 -8.329937190808817e-02 + -8.308221474187347e-02 -8.286515089972675e-02 -8.264818063381729e-02 -8.243130387381740e-02 -8.221452057360500e-02 + -8.199783077068876e-02 -8.178123458056528e-02 -8.156473193866548e-02 -8.134832272179610e-02 -8.113200727104515e-02 + -8.091578573554094e-02 -8.069965795549490e-02 -8.048362394306618e-02 -8.026768379237301e-02 -8.005183759034226e-02 + -7.983608519016389e-02 -7.962042660317335e-02 -7.940486220827629e-02 -7.918939199917317e-02 -7.897401585103307e-02 + -7.875873382193239e-02 -7.854354599947752e-02 -7.832845240531904e-02 -7.811345290511561e-02 -7.789854765910142e-02 + -7.768373695009409e-02 -7.746902070156129e-02 -7.725439886068521e-02 -7.703987147751143e-02 -7.682543865920169e-02 + -7.661110037032860e-02 -7.639685648697914e-02 -7.618270730319152e-02 -7.596865299784139e-02 -7.575469343456721e-02 + -7.554082861289950e-02 -7.532705861915691e-02 -7.511338355056779e-02 -7.489980327273796e-02 -7.468631776375068e-02 + -7.447292742489155e-02 -7.425963225373161e-02 -7.404643208981297e-02 -7.383332706618533e-02 -7.362031725942129e-02 + -7.340740264369265e-02 -7.319458312424655e-02 -7.298185885257603e-02 -7.276923011698885e-02 -7.255669681825400e-02 + -7.234425890125808e-02 -7.213191646645117e-02 -7.191966959969415e-02 -7.170751827394115e-02 -7.149546237742448e-02 + -7.128350216363183e-02 -7.107163782537941e-02 -7.085986923051370e-02 -7.064819639413342e-02 -7.043661941815849e-02 + -7.022513838389523e-02 -7.001375316964638e-02 -6.980246372359999e-02 -6.959127044971054e-02 -6.938017339783993e-02 + -6.916917238807876e-02 -6.895826751099868e-02 -6.874745887832359e-02 -6.853674652264935e-02 -6.832613029387129e-02 + -6.811561029537151e-02 -6.790518687416305e-02 -6.769485994872884e-02 -6.748462944761908e-02 -6.727449549181348e-02 + -6.706445814195625e-02 -6.685451736224034e-02 -6.664467305023641e-02 -6.643492546019260e-02 -6.622527482862205e-02 + -6.601572100856345e-02 -6.580626400049541e-02 -6.559690390732385e-02 -6.538764078471235e-02 -6.517847455920224e-02 + -6.496940519404462e-02 -6.476043303620643e-02 -6.455155816426872e-02 -6.434278041275177e-02 -6.413409988235154e-02 + -6.392551667227454e-02 -6.371703078482928e-02 -6.350864213121965e-02 -6.330035079826633e-02 -6.309215709125325e-02 + -6.288406097171770e-02 -6.267606236590158e-02 -6.246816137578116e-02 -6.226035810132791e-02 -6.205265253482506e-02 + -6.184504450634240e-02 -6.163753424009603e-02 -6.143012204113525e-02 -6.122280779495761e-02 -6.101559145710207e-02 + -6.080847310111580e-02 -6.060145284620669e-02 -6.039453063876327e-02 -6.018770637541451e-02 -5.998098039534337e-02 + -5.977435284136760e-02 -5.956782355675167e-02 -5.936139258218223e-02 -5.915506002510895e-02 -5.894882595975996e-02 + -5.874269025717062e-02 -5.853665294379332e-02 -5.833071438748900e-02 -5.812487459491447e-02 -5.791913345983549e-02 + -5.771349104248068e-02 -5.750794745476003e-02 -5.730250273990040e-02 -5.709715674449271e-02 -5.689190963313420e-02 + -5.668676170442684e-02 -5.648171287301057e-02 -5.627676311138611e-02 -5.607191251359627e-02 -5.586716116856662e-02 + -5.566250902085241e-02 -5.545795595276776e-02 -5.525350230977423e-02 -5.504914828197500e-02 -5.484489368806074e-02 + -5.464073856561743e-02 -5.443668303623681e-02 -5.423272717677420e-02 -5.402887087270093e-02 -5.382511411736842e-02 + -5.362145727556954e-02 -5.341790037997223e-02 -5.321444331788154e-02 -5.301108618236487e-02 -5.280782907094528e-02 + -5.260467200594416e-02 -5.240161485390568e-02 -5.219865776343095e-02 -5.199580105954085e-02 -5.179304465507040e-02 + -5.159038850941820e-02 -5.138783273765680e-02 -5.118537740030552e-02 -5.098302246878324e-02 -5.078076787428482e-02 + -5.057861387937131e-02 -5.037656068404879e-02 -5.017460818262723e-02 -4.997275637519877e-02 -4.977100534878579e-02 + -4.956935521374012e-02 -4.936780587637167e-02 -4.916635729330274e-02 -4.896500983679772e-02 -4.876376358063662e-02 + -4.856261839799727e-02 -4.836157437280066e-02 -4.816063160553166e-02 -4.795979012910388e-02 -4.775904981223175e-02 + -4.755841077230219e-02 -4.735787336181510e-02 -4.715743752596301e-02 -4.695710319390285e-02 -4.675687045398216e-02 + -4.655673941737810e-02 -4.635671009364274e-02 -4.615678236145827e-02 -4.595695644691457e-02 -4.575723258610617e-02 + -4.555761069075770e-02 -4.535809077212207e-02 -4.515867291944397e-02 -4.495935719937229e-02 -4.476014355843901e-02 + -4.456103197632578e-02 -4.436202279051898e-02 -4.416311608901573e-02 -4.396431172960501e-02 -4.376560979706327e-02 + -4.356701040970479e-02 -4.336851362154585e-02 -4.317011930970618e-02 -4.297182755295056e-02 -4.277363871130811e-02 + -4.257555275870079e-02 -4.237756961321195e-02 -4.217968936488893e-02 -4.198191211978222e-02 -4.178423789759614e-02 + -4.158666657665847e-02 -4.138919837391426e-02 -4.119183356383482e-02 -4.099457203865310e-02 -4.079741379048268e-02 + -4.060035892668235e-02 -4.040340754077800e-02 -4.020655958670875e-02 -4.000981499812348e-02 -3.981317410229721e-02 + -3.961663704352115e-02 -3.942020369405195e-02 -3.922387410519079e-02 -3.902764838570288e-02 -3.883152661169272e-02 + -3.863550868276464e-02 -3.843959464464100e-02 -3.824378485096525e-02 -3.804807931112070e-02 -3.785247793879744e-02 + -3.765698082240899e-02 -3.746158806803077e-02 -3.726629970906549e-02 -3.707111562537097e-02 -3.687603600301111e-02 + -3.668106114329449e-02 -3.648619095542227e-02 -3.629142541706046e-02 -3.609676463615045e-02 -3.590220871216067e-02 + -3.570775761915167e-02 -3.551341127587861e-02 -3.531916998478909e-02 -3.512503392646860e-02 -3.493100298239093e-02 + -3.473707719308593e-02 -3.454325666569649e-02 -3.434954148093054e-02 -3.415593156072503e-02 -3.396242692622412e-02 + -3.376902792182854e-02 -3.357573459185429e-02 -3.338254684613227e-02 -3.318946476737597e-02 -3.299648846264201e-02 + -3.280361798076661e-02 -3.261085320981364e-02 -3.241819429994710e-02 -3.222564156785773e-02 -3.203319495411584e-02 + -3.184085442350271e-02 -3.164862007407277e-02 -3.145649201602077e-02 -3.126447024597763e-02 -3.107255466700169e-02 + -3.088074555671056e-02 -3.068904313085425e-02 -3.049744727803826e-02 -3.030595802638682e-02 -3.011457548570120e-02 + -2.992329974875160e-02 -2.973213075050443e-02 -2.954106848293515e-02 -2.935011329195715e-02 -2.915926525661732e-02 + -2.896852427673346e-02 -2.877789042941862e-02 -2.858736382466336e-02 -2.839694452567641e-02 -2.820663243092813e-02 + -2.801642765839682e-02 -2.782633053619610e-02 -2.763634102981755e-02 -2.744645909471058e-02 -2.725668483048721e-02 + -2.706701834793413e-02 -2.687745966148872e-02 -2.668800867127078e-02 -2.649866562411629e-02 -2.630943076513501e-02 + -2.612030399888650e-02 -2.593128533989631e-02 -2.574237489560391e-02 -2.555357276907920e-02 -2.536487891525730e-02 + -2.517629330290238e-02 -2.498781626631630e-02 -2.479944791947400e-02 -2.461118815951395e-02 -2.442303705775731e-02 + -2.423499472682666e-02 -2.404706124098910e-02 -2.385923651050157e-02 -2.367152062237768e-02 -2.348391391197065e-02 + -2.329641637680258e-02 -2.310902796361102e-02 -2.292174876507744e-02 -2.273457889435020e-02 -2.254751838574287e-02 + -2.236056713942959e-02 -2.217372537079298e-02 -2.198699334983061e-02 -2.180037099746794e-02 -2.161385831877313e-02 + -2.142745542221016e-02 -2.124116241611923e-02 -2.105497927356034e-02 -2.086890594375282e-02 -2.068294274565517e-02 + -2.049708982965088e-02 -2.031134709508492e-02 -2.012571460207244e-02 -1.994019246558534e-02 -1.975478077426674e-02 + -1.956947944878238e-02 -1.938428854559868e-02 -1.919920840769478e-02 -1.901423906121075e-02 -1.882938044349050e-02 + -1.864463264867233e-02 -1.845999578941159e-02 -1.827546991282947e-02 -1.809105492490821e-02 -1.790675101318496e-02 + -1.772255847013706e-02 -1.753847723077995e-02 -1.735450728912205e-02 -1.717064875577919e-02 -1.698690174123156e-02 + -1.680326624034783e-02 -1.661974219495428e-02 -1.643632989539235e-02 -1.625302952284425e-02 -1.606984099009794e-02 + -1.588676434582367e-02 -1.570379970237604e-02 -1.552094715767664e-02 -1.533820665109939e-02 -1.515557821470722e-02 + -1.497306218983010e-02 -1.479065863118324e-02 -1.460836746737021e-02 -1.442618879376636e-02 -1.424412272699600e-02 + -1.406216932715821e-02 -1.388032850365394e-02 -1.369860041414062e-02 -1.351698537084881e-02 -1.333548332713773e-02 + -1.315409426742165e-02 -1.297281830737383e-02 -1.279165555870565e-02 -1.261060603011550e-02 -1.242966965324022e-02 + -1.224884670128487e-02 -1.206813738892206e-02 -1.188754163203305e-02 -1.170705946859269e-02 -1.152669101347058e-02 + -1.134643637569507e-02 -1.116629550991553e-02 -1.098626842139487e-02 -1.080635544822676e-02 -1.062655668128806e-02 + -1.044687204494093e-02 -1.026730162280993e-02 -1.008784553433474e-02 -9.908503858526582e-03 -9.729276511698201e-03 + -9.550163618928804e-03 -9.371165505355611e-03 -9.192282154920128e-03 -9.013513542246960e-03 -8.834859775588668e-03 + -8.656320970291077e-03 -8.477897155130903e-03 -8.299588259899083e-03 -8.121394531144674e-03 -7.943316209259341e-03 + -7.765353219198069e-03 -7.587505591333328e-03 -7.409773443860054e-03 -7.232156891183837e-03 -7.054655906230881e-03 + -6.877270474033493e-03 -6.700000921715352e-03 -6.522847372218281e-03 -6.345809748257097e-03 -6.168888131399519e-03 + -5.992082642122597e-03 -5.815393366379400e-03 -5.638820235869921e-03 -5.462363348533388e-03 -5.286023033805962e-03 + -5.109799304673499e-03 -4.933692127821829e-03 -4.757701606393674e-03 -4.581827861470766e-03 -4.406070940931505e-03 + -4.230430770274698e-03 -4.054907567997104e-03 -3.879501600335772e-03 -3.704212807069328e-03 -3.529041210474627e-03 + -3.353986930090703e-03 -3.179050081041732e-03 -3.004230655593028e-03 -2.829528626659512e-03 -2.654944304289923e-03 + -2.480477843039907e-03 -2.306129168890747e-03 -2.131898354626704e-03 -1.957785522367332e-03 -1.783790769612464e-03 + -1.609914041309663e-03 -1.436155409326836e-03 -1.262515208025358e-03 -1.088993476198761e-03 -9.155901719868249e-04 + -7.423054008843995e-04 -5.691392854771952e-04 -3.960918865957833e-04 -2.231631331613931e-04 -5.035321608514060e-05 + 1.223375771945329e-04 2.949092895407656e-04 4.673619084872533e-04 6.396953140537370e-04 8.119093865188150e-04 + 9.840041155727759e-04 1.155979539871523e-03 1.327835367602612e-03 1.499571413663267e-03 1.671187748049661e-03 + 1.842684305331169e-03 2.014060960896812e-03 2.185317608856639e-03 2.356454289147141e-03 2.527470954200780e-03 + 2.698367270832486e-03 2.869143169831049e-03 3.039798698561594e-03 3.210333755176400e-03 3.380748214685887e-03 + 3.551042001872539e-03 3.721215182132198e-03 3.891267592694254e-03 4.061198929412137e-03 4.231009214636464e-03 + 4.400698444839332e-03 4.570266499650065e-03 4.739713256426893e-03 4.909038688279234e-03 5.078242841339914e-03 + 5.247325443294046e-03 5.416286280121805e-03 5.585125417934797e-03 5.753842797319914e-03 5.922438289361948e-03 + 6.090911784292105e-03 6.259263304936011e-03 6.427492823105761e-03 6.595600012759487e-03 6.763584774419725e-03 + 6.931447157908777e-03 7.099187064683324e-03 7.266804368739545e-03 7.434298984071849e-03 7.601670964899477e-03 + 7.768920175905106e-03 7.936046303989365e-03 8.103049345026314e-03 8.269929303195386e-03 8.436686062480435e-03 + 8.603319496825714e-03 8.769829559891583e-03 8.936216298209541e-03 9.102479469308070e-03 9.268618835503980e-03 + 9.434634442417017e-03 9.600526244002849e-03 9.766294116521254e-03 9.931937936947469e-03 1.009745771049027e-02 + 1.026285342997890e-02 1.042812477681206e-02 1.059327162144324e-02 1.075829401681754e-02 1.092319186819127e-02 + 1.108796504594824e-02 1.125261345370748e-02 1.141713713772357e-02 1.158153598704318e-02 1.174580967555363e-02 + 1.190995817803677e-02 1.207398151021485e-02 1.223787955540131e-02 1.240165218070774e-02 1.256529932365555e-02 + 1.272882103806231e-02 1.289221710280211e-02 1.305548725320952e-02 1.321863152957668e-02 1.338164989105289e-02 + 1.354454220587777e-02 1.370730835288826e-02 1.386994832163190e-02 1.403246211588375e-02 1.419484943187744e-02 + 1.435711010999991e-02 1.451924419921884e-02 1.468125161270911e-02 1.484313222013652e-02 1.500488591571896e-02 + 1.516651273046586e-02 1.532801257754355e-02 1.548938513124086e-02 1.565063033579857e-02 1.581174821092933e-02 + 1.597273864701365e-02 1.613360150922888e-02 1.629433671764488e-02 1.645494432276120e-02 1.661542413184349e-02 + 1.677577586209575e-02 1.693599953321696e-02 1.709609511287956e-02 1.725606247097126e-02 1.741590148147653e-02 + 1.757561211738663e-02 1.773519439308624e-02 1.789464801957598e-02 1.805397280960725e-02 1.821316881163111e-02 + 1.837223594327105e-02 1.853117406905512e-02 1.868998307594014e-02 1.884866298214414e-02 1.900721372338833e-02 + 1.916563497459167e-02 1.932392665507269e-02 1.948208878919649e-02 1.964012126059438e-02 1.979802393750615e-02 + 1.995579673545799e-02 2.011343968946751e-02 2.027095263124555e-02 2.042833526879373e-02 2.058558759933038e-02 + 2.074270959919291e-02 2.089970114286997e-02 2.105656209513535e-02 2.121329241031374e-02 2.136989211400533e-02 + 2.152636093833320e-02 2.168269866776463e-02 2.183890534086288e-02 2.199498088647827e-02 2.215092516911965e-02 + 2.230673806408907e-02 2.246241957468516e-02 2.261796965793072e-02 2.277338799181243e-02 2.292867446749406e-02 + 2.308382911412376e-02 2.323885181888266e-02 2.339374244699652e-02 2.354850090287507e-02 2.370312721409915e-02 + 2.385762123470989e-02 2.401198266010886e-02 2.416621147301771e-02 2.432030765671687e-02 2.447427107682733e-02 + 2.462810160176357e-02 2.478179917471193e-02 2.493536381795363e-02 2.508879528739230e-02 2.524209334527653e-02 + 2.539525801488748e-02 2.554828923354157e-02 2.570118686847216e-02 2.585395079171064e-02 2.600658098606827e-02 + 2.615907742012537e-02 2.631143978762620e-02 2.646366795301069e-02 2.661576194257877e-02 2.676772164859378e-02 + 2.691954693391293e-02 2.707123769272043e-02 2.722279394328245e-02 2.737421556407061e-02 2.752550224474631e-02 + 2.767665393933695e-02 2.782767063812680e-02 2.797855221700411e-02 2.812929853552858e-02 2.827990951702357e-02 + 2.843038519104858e-02 2.858072533585580e-02 2.873092969062032e-02 2.888099827101270e-02 2.903093101911967e-02 + 2.918072779556083e-02 2.933038847140823e-02 2.947991301658642e-02 2.962930141213865e-02 2.977855336278226e-02 + 2.992766870509821e-02 3.007664746318324e-02 3.022548953626840e-02 3.037419478553557e-02 3.052276309616091e-02 + 3.067119447416764e-02 3.081948881896879e-02 3.096764581778017e-02 3.111566540198458e-02 3.126354756710210e-02 + 3.141129218718559e-02 3.155889912410548e-02 3.170636829125183e-02 3.185369970791438e-02 3.200089317518744e-02 + 3.214794841776677e-02 3.229486543634106e-02 3.244164418203412e-02 3.258828451581320e-02 3.273478630264194e-02 + 3.288114949586567e-02 3.302737408530167e-02 3.317345979235018e-02 3.331940642975919e-02 3.346521401820098e-02 + 3.361088246101045e-02 3.375641161607764e-02 3.390180136352038e-02 3.404705169548587e-02 3.419216253016829e-02 + 3.433713355905806e-02 3.448196468652563e-02 3.462665590981111e-02 3.477120710939272e-02 3.491561814527116e-02 + 3.505988891618091e-02 3.520401943397326e-02 3.534800952666442e-02 3.549185891051008e-02 3.563556756111654e-02 + 3.577913543618631e-02 3.592256240340591e-02 3.606584831947614e-02 3.620899312153205e-02 3.635199681091714e-02 + 3.649485912620978e-02 3.663757985375464e-02 3.678015900636063e-02 3.692259649832257e-02 3.706489218607827e-02 + 3.720704593508108e-02 3.734905772908955e-02 3.749092751022131e-02 3.763265496742431e-02 3.777423997951684e-02 + 3.791568254953915e-02 3.805698256030369e-02 3.819813986869797e-02 3.833915436267914e-02 3.848002605018682e-02 + 3.862075477984065e-02 3.876134025391093e-02 3.890178243600422e-02 3.904208129158644e-02 3.918223668100989e-02 + 3.932224846044379e-02 3.946211655605483e-02 3.960184097189857e-02 3.974142146457355e-02 3.988085779819951e-02 + 4.002014997942075e-02 4.015929792921669e-02 4.029830150192959e-02 4.043716055991190e-02 4.057587507004282e-02 + 4.071444498657769e-02 4.085287001066611e-02 4.099114999824743e-02 4.112928495212512e-02 4.126727475679569e-02 + 4.140511926665246e-02 4.154281836167219e-02 4.168037204269245e-02 4.181778018003033e-02 4.195504246778908e-02 + 4.209215884913708e-02 4.222912929605258e-02 4.236595366776428e-02 4.250263182248033e-02 4.263916367566677e-02 + 4.277554922465009e-02 4.291178824859961e-02 4.304788049654025e-02 4.318382596138427e-02 4.331962457087349e-02 + 4.345527617981602e-02 4.359078064797250e-02 4.372613792550029e-02 4.386134797486977e-02 4.399641051415262e-02 + 4.413132537776133e-02 4.426609256403441e-02 4.440071196061698e-02 4.453518342174363e-02 4.466950682320869e-02 + 4.480368214879805e-02 4.493770928728694e-02 4.507158793990715e-02 4.520531802497359e-02 4.533889951667943e-02 + 4.547233228082954e-02 4.560561616979211e-02 4.573875108353129e-02 4.587173702317195e-02 4.600457379177124e-02 + 4.613726112101928e-02 4.626979898466685e-02 4.640218731770854e-02 4.653442597807410e-02 4.666651481740990e-02 + 4.679845378497393e-02 4.693024287357150e-02 4.706188178521280e-02 4.719337030512012e-02 4.732470843170088e-02 + 4.745589609974604e-02 4.758693317708736e-02 4.771781949014568e-02 4.784855500276729e-02 4.797913963655120e-02 + 4.810957311625792e-02 4.823985532440599e-02 4.836998622519359e-02 4.849996572088229e-02 4.862979364778694e-02 + 4.875946986129576e-02 4.888899438454671e-02 4.901836703838853e-02 4.914758752328308e-02 4.927665585368439e-02 + 4.940557196434897e-02 4.953433564666962e-02 4.966294680168561e-02 4.979140536998770e-02 4.991971127467005e-02 + 5.004786430086550e-02 5.017586426593462e-02 5.030371111424699e-02 5.043140473941395e-02 5.055894500969876e-02 + 5.068633180855401e-02 5.081356509387767e-02 5.094064477169723e-02 5.106757053524139e-02 5.119434226596677e-02 + 5.132095996453229e-02 5.144742351517578e-02 5.157373274644007e-02 5.169988750799723e-02 5.182588783131492e-02 + 5.195173357105356e-02 5.207742440366903e-02 5.220296027189056e-02 5.232834113948501e-02 5.245356688434039e-02 + 5.257863735375337e-02 5.270355244318054e-02 5.282831211610928e-02 5.295291615700908e-02 5.307736435753736e-02 + 5.320165668494783e-02 5.332579302368824e-02 5.344977322479061e-02 5.357359720391287e-02 5.369726488407797e-02 + 5.382077614890905e-02 5.394413077320572e-02 5.406732861255047e-02 5.419036960275756e-02 5.431325364836510e-02 + 5.443598061485443e-02 5.455855035736775e-02 5.468096283548277e-02 5.480321791614200e-02 5.492531533836561e-02 + 5.504725504027442e-02 5.516903696522249e-02 5.529066094250196e-02 5.541212681912044e-02 5.553343451105355e-02 + 5.565458402054679e-02 5.577557512714444e-02 5.589640757833542e-02 5.601708136214176e-02 5.613759637012277e-02 + 5.625795242697428e-02 5.637814944133901e-02 5.649818735356010e-02 5.661806606948155e-02 5.673778531909066e-02 + 5.685734496106067e-02 5.697674499811992e-02 5.709598525886500e-02 5.721506557962035e-02 5.733398588420521e-02 + 5.745274613557275e-02 5.757134619305772e-02 5.768978576165893e-02 5.780806477237931e-02 5.792618319490116e-02 + 5.804414085654030e-02 5.816193759992416e-02 5.827957333255503e-02 5.839704805764100e-02 5.851436157058919e-02 + 5.863151359019340e-02 5.874850407742044e-02 5.886533297606138e-02 5.898200016057164e-02 5.909850545490182e-02 + 5.921484876799358e-02 5.933103006596772e-02 5.944704910278828e-02 5.956290569090495e-02 5.967859979076014e-02 + 5.979413129454921e-02 5.990950006107775e-02 6.002470595625681e-02 6.013974894676900e-02 6.025462892974234e-02 + 6.036934559538653e-02 6.048389882575328e-02 6.059828859366181e-02 6.071251478747773e-02 6.082657726499330e-02 + 6.094047589468096e-02 6.105421060960093e-02 6.116778124880510e-02 6.128118760026364e-02 6.139442960439424e-02 + 6.150750715787331e-02 6.162042008748835e-02 6.173316829355946e-02 6.184575170612789e-02 6.195817023946892e-02 + 6.207042366308074e-02 6.218251178412997e-02 6.229443455021107e-02 6.240619187345142e-02 6.251778362644587e-02 + 6.262920965673664e-02 6.274046989094115e-02 6.285156423838029e-02 6.296249246083868e-02 6.307325441937692e-02 + 6.318385004239983e-02 6.329427920287174e-02 6.340454177652059e-02 6.351463766120390e-02 6.362456678994362e-02 + 6.373432899407734e-02 6.384392402667542e-02 6.395335181995393e-02 6.406261231361865e-02 6.417170537725830e-02 + 6.428063082883417e-02 6.438938856382127e-02 6.449797859582693e-02 6.460640069400744e-02 6.471465460887021e-02 + 6.482274028565467e-02 6.493065766530991e-02 6.503840663024645e-02 6.514598697176463e-02 6.525339863731919e-02 + 6.536064160053869e-02 6.546771556229376e-02 6.557462036169828e-02 6.568135597564134e-02 6.578792228094754e-02 + 6.589431913461476e-02 6.600054641494822e-02 6.610660407274732e-02 6.621249195669229e-02 6.631820979208959e-02 + 6.642375751800587e-02 6.652913508526218e-02 6.663434233390064e-02 6.673937912206085e-02 6.684424535139094e-02 + 6.694894096694531e-02 6.705346576057515e-02 6.715781952052316e-02 6.726200223606826e-02 6.736601378290344e-02 + 6.746985396850236e-02 6.757352270136854e-02 6.767701992273348e-02 6.778034554033589e-02 6.788349929667206e-02 + 6.798648102682574e-02 6.808929069330329e-02 6.819192820375723e-02 6.829439341428477e-02 6.839668615716293e-02 + 6.849880637697058e-02 6.860075397106770e-02 6.870252870886938e-02 6.880413046413429e-02 6.890555915577500e-02 + 6.900681468090485e-02 6.910789689150486e-02 6.920880565820778e-02 6.930954094436353e-02 6.941010257623929e-02 + 6.951049032497619e-02 6.961070411466443e-02 6.971074386483528e-02 6.981060945693285e-02 6.991030074013053e-02 + 7.000981760721879e-02 7.010915998226322e-02 7.020832768385020e-02 7.030732053981503e-02 7.040613843777971e-02 + 7.050478130476578e-02 7.060324902125202e-02 7.070154139632766e-02 7.079965841104072e-02 7.089759998592053e-02 + 7.099536579014293e-02 7.109295574922263e-02 7.119036986301433e-02 7.128760792254588e-02 7.138466979343019e-02 + 7.148155540894172e-02 7.157826467726322e-02 7.167479742578257e-02 7.177115345207208e-02 7.186733268619028e-02 + 7.196333504975572e-02 7.205916041090092e-02 7.215480858692887e-02 7.225027948023270e-02 7.234557308374470e-02 + 7.244068916926014e-02 7.253562753252076e-02 7.263038813284139e-02 7.272497087062332e-02 7.281937559790036e-02 + 7.291360215228662e-02 7.300765049821943e-02 7.310152057265214e-02 7.319521208383468e-02 7.328872490709243e-02 + 7.338205901635925e-02 7.347521425841259e-02 7.356819049091311e-02 7.366098761637971e-02 7.375360558736099e-02 + 7.384604424623381e-02 7.393830334347133e-02 7.403038279875497e-02 7.412228254437477e-02 7.421400245985316e-02 + 7.430554241104276e-02 7.439690229021774e-02 7.448808202204141e-02 7.457908141717452e-02 7.466990029970315e-02 + 7.476053861745356e-02 7.485099625058683e-02 7.494127304678436e-02 7.503136889191833e-02 7.512128371784581e-02 + 7.521101743547498e-02 7.530056981436373e-02 7.538994071268737e-02 7.547913007544443e-02 7.556813780083994e-02 + 7.565696374971752e-02 7.574560777501017e-02 7.583406981695588e-02 7.592234975180168e-02 7.601044736291800e-02 + 7.609836256769248e-02 7.618609528331391e-02 7.627364535037680e-02 7.636101265407126e-02 7.644819711937149e-02 + 7.653519868718589e-02 7.662201715447789e-02 7.670865230880411e-02 7.679510411035856e-02 7.688137246970578e-02 + 7.696745724207896e-02 7.705335828035317e-02 7.713907552614908e-02 7.722460893765626e-02 7.730995825366380e-02 + 7.739512330293280e-02 7.748010405365591e-02 7.756490042829636e-02 7.764951228919105e-02 7.773393946198498e-02 + 7.781818189157449e-02 7.790223948237281e-02 7.798611201876808e-02 7.806979939436651e-02 7.815330154059554e-02 + 7.823661834982702e-02 7.831974966729814e-02 7.840269536418043e-02 7.848545542109749e-02 7.856802968700778e-02 + 7.865041794492959e-02 7.873262009221961e-02 7.881463606524114e-02 7.889646578364969e-02 7.897810905385311e-02 + 7.905956578813299e-02 7.914083598393755e-02 7.922191938944982e-02 7.930281582198326e-02 7.938352526916173e-02 + 7.946404763288464e-02 7.954438277705837e-02 7.962453057021987e-02 7.970449093695484e-02 7.978426377009373e-02 + 7.986384886265184e-02 7.994324611178145e-02 8.002245546069972e-02 8.010147680163558e-02 8.018030998339011e-02 + 8.025895486859348e-02 8.033741142939121e-02 8.041567953647351e-02 8.049375898816008e-02 8.057164970191152e-02 + 8.064935159117341e-02 8.072686453538828e-02 8.080418841559016e-02 8.088132313650849e-02 8.095826861741187e-02 + 8.103502469212946e-02 8.111159121525567e-02 8.118796811657426e-02 8.126415526945288e-02 8.134015254787534e-02 + 8.141595988122388e-02 8.149157718184835e-02 8.156700432424771e-02 8.164224113093393e-02 8.171728750211138e-02 + 8.179214337283539e-02 8.186680860558979e-02 8.194128308109257e-02 8.201556671181809e-02 8.208965942384167e-02 + 8.216356107347705e-02 8.223727146913333e-02 8.231079055026533e-02 8.238411825286719e-02 8.245725445426123e-02 + 8.253019901019013e-02 8.260295182089074e-02 8.267551284923887e-02 8.274788192985057e-02 8.282005889192648e-02 + 8.289204367192234e-02 8.296383619751495e-02 8.303543635380874e-02 8.310684396376640e-02 8.317805898151856e-02 + 8.324908138250064e-02 8.331991092178788e-02 8.339054746670159e-02 8.346099098907200e-02 8.353124136246602e-02 + 8.360129848004999e-02 8.367116227251760e-02 8.374083263302687e-02 8.381030943134427e-02 8.387959252741883e-02 + 8.394868181167527e-02 8.401757720093640e-02 8.408627862550171e-02 8.415478594369409e-02 8.422309904154775e-02 + 8.429121790707177e-02 8.435914237533512e-02 8.442687225429805e-02 8.449440750560887e-02 8.456174803803686e-02 + 8.462889372267089e-02 8.469584447602406e-02 8.476260023136410e-02 8.482916090148240e-02 8.489552630009754e-02 + 8.496169630228255e-02 8.502767086164854e-02 8.509344988672647e-02 8.515903326018803e-02 8.522442086136313e-02 + 8.528961263471936e-02 8.535460848680074e-02 8.541940824041729e-02 8.548401181612168e-02 8.554841915131453e-02 + 8.561263012321893e-02 8.567664461211427e-02 8.574046253447680e-02 8.580408386832587e-02 8.586750845589863e-02 + 8.593073610333024e-02 8.599376680387132e-02 8.605660047760594e-02 8.611923696874126e-02 8.618167618396408e-02 + 8.624391807608472e-02 8.630596259724549e-02 8.636780954833972e-02 8.642945878839840e-02 8.649091029427977e-02 + 8.655216396695875e-02 8.661321970043215e-02 8.667407742210617e-02 8.673473702989365e-02 8.679519841504303e-02 + 8.685546148336530e-02 8.691552612855238e-02 8.697539224666265e-02 8.703505975750943e-02 8.709452857692032e-02 + 8.715379861893667e-02 8.721286980508075e-02 8.727174201224434e-02 8.733041510377958e-02 8.738888903629666e-02 + 8.744716372671989e-02 8.750523904187274e-02 8.756311491392924e-02 8.762079127795709e-02 8.767826803995526e-02 + 8.773554506310657e-02 8.779262223690780e-02 8.784949951260017e-02 8.790617682173207e-02 8.796265406226209e-02 + 8.801893109931651e-02 8.807500788687952e-02 8.813088437660771e-02 8.818656039674132e-02 8.824203585227545e-02 + 8.829731070095961e-02 8.835238486000704e-02 8.840725822106667e-02 8.846193068214857e-02 8.851640221803356e-02 + 8.857067273700293e-02 8.862474207580676e-02 8.867861014722141e-02 8.873227689758616e-02 8.878574227696898e-02 + 8.883900618220902e-02 8.889206851560667e-02 8.894492921167085e-02 8.899758815302622e-02 8.905004524008538e-02 + 8.910230044719054e-02 8.915435367300073e-02 8.920620479173334e-02 8.925785373448247e-02 8.930930045917142e-02 + 8.936054490961548e-02 8.941158695191696e-02 8.946242647641844e-02 8.951306341364354e-02 8.956349771969928e-02 + 8.961372931388180e-02 8.966375808278661e-02 8.971358396554302e-02 8.976320688963368e-02 8.981262675341668e-02 + 8.986184348935064e-02 8.991085703129179e-02 8.995966729258320e-02 9.000827417122792e-02 9.005667759770250e-02 + 9.010487756379584e-02 9.015287394264000e-02 9.020066659275561e-02 9.024825550203337e-02 9.029564061179933e-02 + 9.034282181894199e-02 9.038979902630290e-02 9.043657218570805e-02 9.048314126656666e-02 9.052950615463343e-02 + 9.057566675480395e-02 9.062162300961238e-02 9.066737484935303e-02 9.071292219781772e-02 9.075826498061153e-02 + 9.080340315127385e-02 9.084833664156222e-02 9.089306533771581e-02 9.093758915627431e-02 9.098190804149961e-02 + 9.102602195783284e-02 9.106993084471440e-02 9.111363462196023e-02 9.115713320054021e-02 9.120042650346059e-02 + 9.124351446434358e-02 9.128639702175202e-02 9.132907412994692e-02 9.137154573427010e-02 9.141381170435277e-02 + 9.145587198962597e-02 9.149772660800266e-02 9.153937542844172e-02 9.158081834977004e-02 9.162205535599281e-02 + 9.166308637778346e-02 9.170391133536025e-02 9.174453017072061e-02 9.178494285856946e-02 9.182514933661440e-02 + 9.186514945794547e-02 9.190494319482566e-02 9.194453054665523e-02 9.198391140758180e-02 9.202308569543158e-02 + 9.206205336702038e-02 9.210081441034919e-02 9.213936875086109e-02 9.217771627651770e-02 9.221585694962209e-02 + 9.225379072840771e-02 9.229151754885842e-02 9.232903734819613e-02 9.236635007909103e-02 9.240345570404732e-02 + 9.244035413434255e-02 9.247704529963750e-02 9.251352918345666e-02 9.254980573968512e-02 9.258587489795035e-02 + 9.262173657649034e-02 9.265739073985793e-02 9.269283735974691e-02 9.272807636276849e-02 9.276310769047050e-02 + 9.279793130272118e-02 9.283254716719631e-02 9.286695521394739e-02 9.290115536246511e-02 9.293514761281572e-02 + 9.296893192325742e-02 9.300250819824006e-02 9.303587638369953e-02 9.306903645092859e-02 9.310198837852499e-02 + 9.313473209662422e-02 9.316726755984403e-02 9.319959477466139e-02 9.323171364631608e-02 9.326362408592948e-02 + 9.329532610133226e-02 9.332681964339190e-02 9.335810464438972e-02 9.338918108249107e-02 9.342004893308628e-02 + 9.345070815580041e-02 9.348115868437977e-02 9.351140046962789e-02 9.354143348306601e-02 9.357125770365762e-02 + 9.360087308621738e-02 9.363027956518245e-02 9.365947710363894e-02 9.368846567300493e-02 9.371724524372237e-02 + 9.374581578300241e-02 9.377417725111503e-02 9.380232960142115e-02 9.383027280206080e-02 9.385800682788301e-02 + 9.388553164914089e-02 9.391284719773688e-02 9.393995342276806e-02 9.396685035781838e-02 9.399353796706621e-02 + 9.402001617537038e-02 9.404628495786660e-02 9.407234429781461e-02 9.409819417117830e-02 9.412383453169183e-02 + 9.414926534580341e-02 9.417448659641373e-02 9.419949825736050e-02 9.422430029380560e-02 9.424889267135104e-02 + 9.427327539998738e-02 9.429744844865905e-02 9.432141171534560e-02 9.434516522540957e-02 9.436870900006604e-02 + 9.439204294634228e-02 9.441516705436934e-02 9.443808133745002e-02 9.446078573953387e-02 9.448328023801857e-02 + 9.450556483411636e-02 9.452763950923013e-02 9.454950421611270e-02 9.457115890701832e-02 9.459260360830167e-02 + 9.461383832574666e-02 9.463486302352626e-02 9.465567765409444e-02 9.467628220109425e-02 9.469667668274938e-02 + 9.471686106967921e-02 9.473683533004949e-02 9.475659945563136e-02 9.477615343325803e-02 9.479549725292793e-02 + 9.481463091432241e-02 9.483355439545672e-02 9.485226766778346e-02 9.487077071788189e-02 9.488906353992572e-02 + 9.490714613644993e-02 9.492501852119042e-02 9.494268066964073e-02 9.496013253895599e-02 9.497737414244060e-02 + 9.499440547543551e-02 9.501122651272445e-02 9.502783728094538e-02 9.504423778187990e-02 9.506042797340242e-02 + 9.507640785191551e-02 9.509217742006319e-02 9.510773667189122e-02 9.512308563868060e-02 9.513822432123879e-02 + 9.515315264231193e-02 9.516787063845662e-02 9.518237836728226e-02 9.519667577724227e-02 9.521076284349063e-02 + 9.522463958294539e-02 9.523830604498588e-02 9.525176221483619e-02 9.526500804718509e-02 9.527804359769618e-02 + 9.529086886623650e-02 9.530348379689602e-02 9.531588845120076e-02 9.532808286166987e-02 9.534006699012688e-02 + 9.535184085361241e-02 9.536340447105748e-02 9.537475783364874e-02 9.538590095359538e-02 9.539683385237334e-02 + 9.540755654711666e-02 9.541806903829181e-02 9.542837132640679e-02 9.543846343230179e-02 9.544834536597921e-02 + 9.545801714100983e-02 9.546747880593646e-02 9.547673036184304e-02 9.548577178084619e-02 9.549460309483834e-02 + 9.550322434581640e-02 9.551163556335956e-02 9.551983673903520e-02 9.552782788036314e-02 9.553560902903191e-02 + 9.554318022933674e-02 9.555054148771730e-02 9.555769276632298e-02 9.556463412975340e-02 9.557136563747151e-02 + 9.557788725689133e-02 9.558419903459103e-02 9.559030102901959e-02 9.559619321427665e-02 9.560187562136102e-02 + 9.560734830883322e-02 9.561261127917654e-02 9.561766456108449e-02 9.562250820572099e-02 9.562714223416331e-02 + 9.563156666435306e-02 9.563578152405575e-02 9.563978686682097e-02 9.564358272631937e-02 9.564716910782914e-02 + 9.565054604965099e-02 9.565371359980702e-02 9.565667179877529e-02 9.565942066526258e-02 9.566196023293236e-02 + 9.566429057683135e-02 9.566641172752892e-02 9.566832368940979e-02 9.567002647518966e-02 9.567152016429874e-02 + 9.567280484915060e-02 9.567388053004788e-02 9.567474721294261e-02 9.567540493730267e-02 9.567585379392737e-02 + 9.567609383300600e-02 9.567612506298810e-02 9.567594754568214e-02 9.567556133790830e-02 9.567496647244744e-02 + 9.567416299512438e-02 9.567315095370396e-02 9.567193039196389e-02 9.567050136232016e-02 9.566886392120964e-02 + 9.566701812558283e-02 9.566496403827787e-02 9.566270170884209e-02 9.566023115264767e-02 9.565755243736668e-02 + 9.565466564791879e-02 9.565157080775241e-02 9.564826797386157e-02 9.564475723264595e-02 9.564103864027859e-02 + 9.563711223757489e-02 9.563297806735498e-02 9.562863621895812e-02 9.562408675116861e-02 9.561932968250994e-02 + 9.561436511583814e-02 9.560919313325968e-02 9.560381374743886e-02 9.559822704785555e-02 9.559243313048145e-02 + 9.558643203289170e-02 9.558022378864620e-02 9.557380846466877e-02 9.556718619530349e-02 9.556035703327785e-02 + 9.555332100122134e-02 9.554607821247386e-02 9.553862873475936e-02 9.553097259908433e-02 9.552310989218279e-02 + 9.551504070130773e-02 9.550676510186747e-02 9.549828317393894e-02 9.548959500356741e-02 9.548070067318166e-02 + 9.547160021295119e-02 9.546229369018946e-02 9.545278124506257e-02 9.544306292579091e-02 9.543313878273989e-02 + 9.542300894892854e-02 9.541267351639289e-02 9.540213254817664e-02 9.539138610562420e-02 9.538043425774057e-02 + 9.536927709152246e-02 9.535791472882026e-02 9.534634726779553e-02 9.533457478138217e-02 9.532259734256758e-02 + 9.531041503990305e-02 9.529802797105680e-02 9.528543620462085e-02 9.527263983869082e-02 9.525963900525855e-02 + 9.524643375927100e-02 9.523302417643500e-02 9.521941040061487e-02 9.520559252291068e-02 9.519157060486365e-02 + 9.517734471153570e-02 9.516291499670615e-02 9.514828160467456e-02 9.513344455080376e-02 9.511840393248631e-02 + 9.510315989360162e-02 9.508771251519674e-02 9.507206189457258e-02 9.505620814925633e-02 9.504015138530268e-02 + 9.502389169582724e-02 9.500742917228551e-02 9.499076394524120e-02 9.497389612890822e-02 9.495682580659018e-02 + 9.493955308203066e-02 9.492207807526097e-02 9.490440091330225e-02 9.488652168366014e-02 9.486844048723730e-02 + 9.485015747906970e-02 9.483167277063544e-02 9.481298644119306e-02 9.479409856622809e-02 9.477500930738031e-02 + 9.475571884085587e-02 9.473622721810367e-02 9.471653454723004e-02 9.469664098786204e-02 9.467654664635866e-02 + 9.465625162221861e-02 9.463575602621152e-02 9.461505999415500e-02 9.459416367044585e-02 9.457306719633034e-02 + 9.455177068421998e-02 9.453027423759350e-02 9.450857796468222e-02 9.448668199276268e-02 9.446458647203468e-02 + 9.444229157255099e-02 9.441979739649474e-02 9.439710403006842e-02 9.437421161454676e-02 9.435112031829759e-02 + 9.432783029179438e-02 9.430434160094567e-02 9.428065438538669e-02 9.425676883924589e-02 9.423268508508292e-02 + 9.420840322981890e-02 9.418392339716981e-02 9.415924578030670e-02 9.413437051700123e-02 9.410929767030043e-02 + 9.408402741009517e-02 9.405855992335012e-02 9.403289535840260e-02 9.400703383941893e-02 9.398097549341558e-02 + 9.395472046838550e-02 9.392826889502673e-02 9.390162091553057e-02 9.387477672023849e-02 9.384773645864139e-02 + 9.382050025947151e-02 9.379306828457251e-02 9.376544068778003e-02 9.373761760606118e-02 9.370959916011609e-02 + 9.368138552427184e-02 9.365297690930323e-02 9.362437342817573e-02 9.359557520850639e-02 9.356658243379877e-02 + 9.353739529945312e-02 9.350801394425273e-02 9.347843843855524e-02 9.344866901272440e-02 9.341870589097585e-02 + 9.338854915644307e-02 9.335819897637819e-02 9.332765555734250e-02 9.329691906420928e-02 9.326598960092489e-02 + 9.323486729288316e-02 9.320355242698486e-02 9.317204517635257e-02 9.314034562740874e-02 9.310845398153604e-02 + 9.307637042858882e-02 9.304409511565054e-02 9.301162817412864e-02 9.297896979469056e-02 9.294612022999450e-02 + 9.291307963943660e-02 9.287984815938743e-02 9.284642594887814e-02 9.281281319942865e-02 9.277901009754375e-02 + 9.274501679883909e-02 9.271083349621308e-02 9.267646039527271e-02 9.264189767811302e-02 9.260714551564306e-02 + 9.257220408228978e-02 9.253707357624473e-02 9.250175417101536e-02 9.246624602802385e-02 9.243054935165987e-02 + 9.239466434718238e-02 9.235859120974489e-02 9.232233012999355e-02 9.228588129454922e-02 9.224924488066757e-02 + 9.221242103323031e-02 9.217540995047416e-02 9.213821191347883e-02 9.210082709355732e-02 9.206325564930115e-02 + 9.202549780755387e-02 9.198755374602623e-02 9.194942363528436e-02 9.191110769995278e-02 9.187260614753277e-02 + 9.183391917841241e-02 9.179504701848260e-02 9.175598985687712e-02 9.171674785963810e-02 9.167732123351167e-02 + 9.163771019528422e-02 9.159791495855178e-02 9.155793572040530e-02 9.151777270193290e-02 9.147742614628342e-02 + 9.143689622063791e-02 9.139618310892414e-02 9.135528705455570e-02 9.131420824439858e-02 9.127294688450004e-02 + 9.123150325806001e-02 9.118987755991119e-02 9.114806996063474e-02 9.110608069642255e-02 9.106390998608170e-02 + 9.102155802996120e-02 9.097902503011562e-02 9.093631123402490e-02 9.089341690732793e-02 9.085034224655422e-02 + 9.080708743846595e-02 9.076365269164367e-02 9.072003828369785e-02 9.067624443485320e-02 9.063227129485288e-02 + 9.058811915193726e-02 9.054378827004000e-02 9.049927881221763e-02 9.045459103770109e-02 9.040972520178260e-02 + 9.036468147234690e-02 9.031946007844127e-02 9.027406127956829e-02 9.022848531585773e-02 9.018273243214560e-02 + 9.013680287341128e-02 9.009069686920407e-02 9.004441462623869e-02 8.999795635152021e-02 8.995132231203949e-02 + 8.990451276610797e-02 8.985752795281814e-02 8.981036812557305e-02 8.976303351703613e-02 8.971552434037033e-02 + 8.966784087291869e-02 8.961998334831080e-02 8.957195192338249e-02 8.952374693198487e-02 8.947536869631613e-02 + 8.942681737354224e-02 8.937809319632291e-02 8.932919644498671e-02 8.928012738635183e-02 8.923088623240803e-02 + 8.918147319450437e-02 8.913188858291199e-02 8.908213269254797e-02 8.903220577223506e-02 8.898210800726358e-02 + 8.893183965769864e-02 8.888140104180198e-02 8.883079233855783e-02 8.878001380541380e-02 8.872906581842580e-02 + 8.867794859494142e-02 8.862666233412557e-02 8.857520730323154e-02 8.852358381153494e-02 8.847179212845252e-02 + 8.841983243253916e-02 8.836770502123131e-02 8.831541022882371e-02 8.826294830990469e-02 8.821031949641793e-02 + 8.815752403748606e-02 8.810456224863354e-02 8.805143437639511e-02 8.799814063336710e-02 8.794468134879541e-02 + 8.789105684257616e-02 8.783726738270531e-02 8.778331316928159e-02 8.772919447874153e-02 8.767491167446911e-02 + 8.762046495069514e-02 8.756585454037039e-02 8.751108081839833e-02 8.745614408581825e-02 8.740104459021790e-02 + 8.734578256007368e-02 8.729035830815834e-02 8.723477214343743e-02 8.717902426868683e-02 8.712311501918556e-02 + 8.706704476846663e-02 8.701081371877695e-02 8.695442211628683e-02 8.689787027644420e-02 8.684115853767592e-02 + 8.678428714435096e-02 8.672725629439892e-02 8.667006642064547e-02 8.661271785522098e-02 8.655521075244504e-02 + 8.649754543067346e-02 8.643972223965939e-02 8.638174147222141e-02 8.632360334916610e-02 8.626530814542391e-02 + 8.620685627786050e-02 8.614824804295058e-02 8.608948367410735e-02 8.603056343813603e-02 8.597148768708160e-02 + 8.591225676580187e-02 8.585287085352321e-02 8.579333027004854e-02 8.573363543090719e-02 8.567378659419787e-02 + 8.561378404241062e-02 8.555362810687137e-02 8.549331906471129e-02 8.543285719635127e-02 8.537224281446841e-02 + 8.531147627953188e-02 8.525055791649624e-02 8.518948798167383e-02 8.512826679756995e-02 8.506689470133286e-02 + 8.500537199311337e-02 8.494369892596923e-02 8.488187579804041e-02 8.481990305210670e-02 8.475778099074194e-02 + 8.469550984763315e-02 8.463308996695838e-02 8.457052168539449e-02 8.450780530789033e-02 8.444494110975011e-02 + 8.438192942971584e-02 8.431877065438623e-02 8.425546507059704e-02 8.419201297696736e-02 8.412841471805475e-02 + 8.406467061549007e-02 8.400078097306259e-02 8.393674609180030e-02 8.387256634619757e-02 8.380824209666674e-02 + 8.374377362095807e-02 8.367916122870038e-02 8.361440526888680e-02 8.354950611900661e-02 8.348446403538942e-02 + 8.341927927704872e-02 8.335395233905314e-02 8.328848356223681e-02 8.322287316371958e-02 8.315712149574238e-02 + 8.309122893699929e-02 8.302519583647612e-02 8.295902243510637e-02 8.289270907781640e-02 8.282625623697057e-02 + 8.275966417678003e-02 8.269293318851907e-02 8.262606370095599e-02 8.255905601211083e-02 8.249191039312886e-02 + 8.242462718945633e-02 8.235720681988298e-02 8.228964967784431e-02 8.222195602541869e-02 8.215412621284769e-02 + 8.208616062445039e-02 8.201805954142698e-02 8.194982329150195e-02 8.188145225476894e-02 8.181294680713293e-02 + 8.174430731452863e-02 8.167553412282050e-02 8.160662752890076e-02 8.153758789030935e-02 8.146841562526554e-02 + 8.139911098330359e-02 8.132967428676124e-02 8.126010603531450e-02 8.119040656216225e-02 8.112057615694021e-02 + 8.105061517994502e-02 8.098052402265073e-02 8.091030303880128e-02 8.083995248093376e-02 8.076947276447492e-02 + 8.069886435754116e-02 8.062812754457355e-02 8.055726265736828e-02 8.048627008799529e-02 8.041515020636995e-02 + 8.034390332540668e-02 8.027252974489747e-02 8.020102993492553e-02 8.012940431195667e-02 8.005765317555476e-02 + 7.998577686939379e-02 7.991377577220368e-02 7.984165027334414e-02 7.976940065907111e-02 7.969702727793032e-02 + 7.962453065567111e-02 7.955191112254574e-02 7.947916895239987e-02 7.940630455590227e-02 7.933331833212637e-02 + 7.926021063894960e-02 7.918698178217287e-02 7.911363216326053e-02 7.904016223823181e-02 7.896657235187955e-02 + 7.889286283938438e-02 7.881903406306398e-02 7.874508643443230e-02 7.867102031060058e-02 7.859683599526633e-02 + 7.852253395767629e-02 7.844811463098400e-02 7.837357831424305e-02 7.829892537205134e-02 7.822415619643758e-02 + 7.814927116484589e-02 7.807427062910767e-02 7.799915496813195e-02 7.792392464520610e-02 7.784858004657273e-02 + 7.777312150359181e-02 7.769754936428309e-02 7.762186403791040e-02 7.754606594385612e-02 7.747015537442642e-02 + 7.739413273994507e-02 7.731799855521804e-02 7.724175314852555e-02 7.716539684747571e-02 7.708893004657069e-02 + 7.701235315053030e-02 7.693566653742440e-02 7.685887055661017e-02 7.678196565918903e-02 7.670495227727288e-02 + 7.662783073280909e-02 7.655060142689749e-02 7.647326478202995e-02 7.639582115595660e-02 7.631827089499127e-02 + 7.624061438211467e-02 7.616285210329320e-02 7.608498447266238e-02 7.600701183814436e-02 7.592893457493513e-02 + 7.585075308733022e-02 7.577246778116596e-02 7.569407897223836e-02 7.561558707997214e-02 7.553699264667676e-02 + 7.545829602219666e-02 7.537949752159374e-02 7.530059752746436e-02 7.522159652110559e-02 7.514249491290788e-02 + 7.506329293711217e-02 7.498399108869409e-02 7.490458989985715e-02 7.482508965268882e-02 7.474549074308040e-02 + 7.466579363230305e-02 7.458599868473173e-02 7.450610623924510e-02 7.442611667561436e-02 7.434603053570255e-02 + 7.426584824442337e-02 7.418557009969678e-02 7.410519651333995e-02 7.402472793153594e-02 7.394416477978479e-02 + 7.386350736456949e-02 7.378275607823381e-02 7.370191147772952e-02 7.362097394239986e-02 7.353994380500382e-02 + 7.345882147239775e-02 7.337760740248925e-02 7.329630201371148e-02 7.321490559729334e-02 7.313341861868546e-02 + 7.305184160923943e-02 7.297017492620234e-02 7.288841893034562e-02 7.280657402242413e-02 7.272464064227188e-02 + 7.264261917439505e-02 7.256050997585588e-02 7.247831356170273e-02 7.239603038649280e-02 7.231366079163171e-02 + 7.223120520116612e-02 7.214866404160214e-02 7.206603769517569e-02 7.198332653777370e-02 7.190053098792457e-02 + 7.181765153838118e-02 7.173468863077177e-02 7.165164265282598e-02 7.156851395212357e-02 7.148530298289761e-02 + 7.140201021117390e-02 7.131863593482980e-02 7.123518058493326e-02 7.115164469180060e-02 7.106802866653637e-02 + 7.098433289103630e-02 7.090055775733806e-02 7.081670370962735e-02 7.073277114629017e-02 7.064876042084919e-02 + 7.056467204467058e-02 7.048050649359339e-02 7.039626411522021e-02 7.031194531783586e-02 7.022755055007633e-02 + 7.014308026270048e-02 7.005853477507426e-02 6.997391445865883e-02 6.988921994223606e-02 6.980445161374127e-02 + 6.971960976161336e-02 6.963469490630880e-02 6.954970749457975e-02 6.946464787470261e-02 6.937951638488904e-02 + 6.929431352344900e-02 6.920903988440608e-02 6.912369577614699e-02 6.903828154824053e-02 6.895279768813133e-02 + 6.886724462309453e-02 6.878162274040467e-02 6.869593242264821e-02 6.861017418575431e-02 6.852434851303352e-02 + 6.843845573229547e-02 6.835249626715924e-02 6.826647058722328e-02 6.818037912112360e-02 6.809422221022603e-02 + 6.800800023353686e-02 6.792171381432285e-02 6.783536337902803e-02 6.774894920974223e-02 6.766247176656806e-02 + 6.757593152448671e-02 6.748932891036163e-02 6.740266425451470e-02 6.731593799992638e-02 6.722915072040272e-02 + 6.714230278026269e-02 6.705539454984789e-02 6.696842651283096e-02 6.688139909018249e-02 6.679431266253504e-02 + 6.670716761081900e-02 6.661996446504156e-02 6.653270374249923e-02 6.644538575792285e-02 6.635801090742725e-02 + 6.627057965598744e-02 6.618309245387675e-02 6.609554968705872e-02 6.600795173819872e-02 6.592029914958422e-02 + 6.583259238307172e-02 6.574483179767340e-02 6.565701780669353e-02 6.556915085921187e-02 6.548123140723705e-02 + 6.539325979064996e-02 6.530523643565112e-02 6.521716192687264e-02 6.512903665438342e-02 6.504086097557776e-02 + 6.495263535156262e-02 6.486436022769713e-02 6.477603601048113e-02 6.468766306269763e-02 6.459924187637454e-02 + 6.451077298036002e-02 6.442225675573160e-02 6.433369358016772e-02 6.424508387319842e-02 6.415642813133042e-02 + 6.406772674084167e-02 6.397898002556264e-02 6.389018858464109e-02 6.380135290132970e-02 6.371247325592760e-02 + 6.362355010153516e-02 6.353458392277617e-02 6.344557514446422e-02 6.335652411846264e-02 6.326743126079815e-02 + 6.317829713990436e-02 6.308912216326193e-02 6.299990668862973e-02 6.291065117630994e-02 6.282135608306753e-02 + 6.273202182393535e-02 6.264264873955985e-02 6.255323731562341e-02 6.246378810230178e-02 6.237430143094801e-02 + 6.228477769978175e-02 6.219521740601344e-02 6.210562097707054e-02 6.201598879095212e-02 6.192632121693314e-02 + 6.183661876812600e-02 6.174688193928092e-02 6.165711112558074e-02 6.156730673780070e-02 6.147746920022401e-02 + 6.138759893800432e-02 6.129769633241683e-02 6.120776180293847e-02 6.111779589683188e-02 6.102779903735479e-02 + 6.093777158500626e-02 6.084771398591046e-02 6.075762667844817e-02 6.066751007308262e-02 6.057736455111417e-02 + 6.048719057054321e-02 6.039698864588414e-02 6.030675917961215e-02 6.021650256672047e-02 6.012621923377075e-02 + 6.003590961818356e-02 5.994557411659043e-02 5.985521308639186e-02 5.976482706463886e-02 5.967441656528669e-02 + 5.958398192281734e-02 5.949352353003544e-02 5.940304183449088e-02 5.931253730252380e-02 5.922201027916447e-02 + 5.913146112197507e-02 5.904089044032181e-02 5.895029868043596e-02 5.885968615096351e-02 5.876905326755812e-02 + 5.867840050492581e-02 5.858772833116550e-02 5.849703703991720e-02 5.840632705235495e-02 5.831559896255584e-02 + 5.822485314806121e-02 5.813408997000494e-02 5.804330987759122e-02 5.795251328764216e-02 5.786170059865808e-02 + 5.777087221384987e-02 5.768002859772193e-02 5.758917021647553e-02 5.749829746896256e-02 5.740741077575853e-02 + 5.731651056875526e-02 5.722559725171274e-02 5.713467118430270e-02 5.704373274635539e-02 5.695278249332581e-02 + 5.686182088614487e-02 5.677084826809927e-02 5.667986504336005e-02 5.658887165217444e-02 5.649786853613976e-02 + 5.640685602792318e-02 5.631583453941855e-02 5.622480462822738e-02 5.613376666437993e-02 5.604272100502515e-02 + 5.595166813210956e-02 5.586060845174765e-02 5.576954232437998e-02 5.567847012652845e-02 5.558739236715193e-02 + 5.549630955542323e-02 5.540522197136583e-02 5.531413002536285e-02 5.522303422299683e-02 5.513193492275553e-02 + 5.504083247717721e-02 5.494972729209355e-02 5.485861988753332e-02 5.476751071228679e-02 5.467640010379995e-02 + 5.458528846418693e-02 5.449417622493567e-02 5.440306381105370e-02 5.431195155656662e-02 5.422083985771245e-02 + 5.412972927459819e-02 5.403862019627870e-02 5.394751295390937e-02 5.385640797531270e-02 5.376530569364821e-02 + 5.367420650537214e-02 5.358311072889269e-02 5.349201882499156e-02 5.340093132499041e-02 5.330984856991542e-02 + 5.321877091980749e-02 5.312769879767464e-02 5.303663263591166e-02 5.294557280318667e-02 5.285451962473617e-02 + 5.276347361952855e-02 5.267243525955664e-02 5.258140485845194e-02 5.249038280640431e-02 5.239936952998326e-02 + 5.230836544276557e-02 5.221737088032564e-02 5.212638621732711e-02 5.203541199430900e-02 5.194444860919033e-02 + 5.185349638284296e-02 5.176255572471577e-02 5.167162705674897e-02 5.158071077330502e-02 5.148980718747074e-02 + 5.139891673261619e-02 5.130803993485430e-02 5.121717713356427e-02 5.112632867301793e-02 5.103549496777923e-02 + 5.094467643725986e-02 5.085387344650644e-02 5.076308630673339e-02 5.067231551219451e-02 5.058156153920812e-02 + 5.049082469322039e-02 5.040010534612100e-02 5.030940391348503e-02 5.021872080090227e-02 5.012805633824483e-02 + 5.003741087422633e-02 4.994678493647212e-02 4.985617892926745e-02 4.976559315779018e-02 4.967502801470126e-02 + 4.958448390876292e-02 4.949396122643934e-02 4.940346027599988e-02 4.931298146262254e-02 4.922252530167843e-02 + 4.913209213539834e-02 4.904168229174269e-02 4.895129616994274e-02 4.886093417404704e-02 4.877059666413559e-02 + 4.868028394034647e-02 4.858999646754281e-02 4.849973472130898e-02 4.840949900241633e-02 4.831928966152828e-02 + 4.822910709871525e-02 4.813895171199074e-02 4.804882382564480e-02 4.795872376124456e-02 4.786865202942978e-02 + 4.777860903855367e-02 4.768859507592742e-02 4.759861051627762e-02 4.750865575639699e-02 4.741873117406014e-02 + 4.732883706721817e-02 4.723897381137243e-02 4.714914191200375e-02 4.705934171189571e-02 4.696957351961628e-02 + 4.687983771740974e-02 4.679013469431771e-02 4.670046480338604e-02 4.661082833156779e-02 4.652122571187634e-02 + 4.643165741520618e-02 4.634212373882778e-02 4.625262501422293e-02 4.616316162482947e-02 4.607373395212459e-02 + 4.598434231610999e-02 4.589498701904484e-02 4.580566854223844e-02 4.571638729424802e-02 4.562714355109129e-02 + 4.553793766452621e-02 4.544877001582995e-02 4.535964097502848e-02 4.527055082898004e-02 4.518149992236756e-02 + 4.509248874970542e-02 4.500351765014129e-02 4.491458690878355e-02 4.482569689376779e-02 4.473684797939540e-02 + 4.464804050747698e-02 4.455927474828068e-02 4.447055110499822e-02 4.438187004531898e-02 4.429323185876936e-02 + 4.420463685202721e-02 4.411608538888854e-02 4.402757783926076e-02 4.393911451733543e-02 4.385069570127949e-02 + 4.376232184208732e-02 4.367399334643604e-02 4.358571047769912e-02 4.349747356709084e-02 4.340928298020802e-02 + 4.332113907381294e-02 4.323304212320113e-02 4.314499244129432e-02 4.305699050668390e-02 4.296903665620930e-02 + 4.288113115167341e-02 4.279327434447749e-02 4.270546659199307e-02 4.261770822231841e-02 4.252999949469098e-02 + 4.244234077853745e-02 4.235473252680039e-02 4.226717502474875e-02 4.217966855846760e-02 4.209221347273914e-02 + 4.200481011967518e-02 4.191745880279663e-02 4.183015977695443e-02 4.174291346429643e-02 4.165572027077732e-02 + 4.156858044734360e-02 4.148149429654668e-02 4.139446216241891e-02 4.130748439363172e-02 4.122056125606220e-02 + 4.113369302794675e-02 4.104688016346336e-02 4.096012300095512e-02 4.087342178434451e-02 4.078677683583759e-02 + 4.070018849668031e-02 4.061365708919899e-02 4.052718285106741e-02 4.044076611819490e-02 4.035440733833207e-02 + 4.026810678092279e-02 4.018186470341873e-02 4.009568143909095e-02 4.000955732298062e-02 3.992349264534106e-02 + 3.983748763759326e-02 3.975154269055037e-02 3.966565820546299e-02 3.957983441649049e-02 3.949407160357907e-02 + 3.940837009289332e-02 3.932273021031552e-02 3.923715221270428e-02 3.915163635394041e-02 3.906618306202975e-02 + 3.898079266950179e-02 3.889546539672872e-02 3.881020154253283e-02 3.872500143016262e-02 3.863986536923758e-02 + 3.855479358615301e-02 3.846978637959592e-02 3.838484417257106e-02 3.829996723484980e-02 3.821515580420295e-02 + 3.813041018714970e-02 3.804573069687705e-02 3.796111761198420e-02 3.787657114752344e-02 3.779209165765486e-02 + 3.770767953120019e-02 3.762333499040284e-02 3.753905829251161e-02 3.745484974542636e-02 3.737070965331050e-02 + 3.728663825939783e-02 3.720263578933122e-02 3.711870264209954e-02 3.703483914671073e-02 3.695104550519348e-02 + 3.686732199057993e-02 3.678366890490292e-02 3.670008654113079e-02 3.661657511036890e-02 3.653313487804630e-02 + 3.644976625150438e-02 3.636646948823320e-02 3.628324479604935e-02 3.620009246605282e-02 3.611701279349350e-02 + 3.603400604041686e-02 3.595107239910939e-02 3.586821219020735e-02 3.578542579441001e-02 3.570271341631447e-02 + 3.562007528519529e-02 3.553751169069794e-02 3.545502291550906e-02 3.537260919186706e-02 3.529027072401183e-02 + 3.520800787214007e-02 3.512582095428173e-02 3.504371015751370e-02 3.496167573051010e-02 3.487971795476078e-02 + 3.479783710598274e-02 3.471603337811516e-02 3.463430699965583e-02 3.455265835796009e-02 3.447108770848941e-02 + 3.438959523450754e-02 3.430818119554624e-02 3.422684586511945e-02 3.414558949343227e-02 3.406441225419257e-02 + 3.398331443038755e-02 3.390229638782512e-02 3.382135832287533e-02 3.374050043789544e-02 3.365972299780525e-02 + 3.357902626321113e-02 3.349841045119794e-02 3.341787574130316e-02 3.333742246166845e-02 3.325705092272905e-02 + 3.317676129391954e-02 3.309655379649919e-02 3.301642868788483e-02 3.293638622159571e-02 3.285642658240021e-02 + 3.277654996949401e-02 3.269675673538998e-02 3.261704712715797e-02 3.253742130855802e-02 3.245787951722746e-02 + 3.237842200259459e-02 3.229904899349424e-02 3.221976065258773e-02 3.214055722659278e-02 3.206143905506719e-02 + 3.198240632628265e-02 3.190345921865954e-02 3.182459797365254e-02 3.174582282841434e-02 3.166713398447476e-02 + 3.158853160183031e-02 3.151001597036992e-02 3.143158738592136e-02 3.135324600516137e-02 3.127499202279022e-02 + 3.119682567104914e-02 3.111874718036912e-02 3.104075672462514e-02 3.096285447683152e-02 3.088504075536903e-02 + 3.080731579690068e-02 3.072967974437236e-02 3.065213281019982e-02 3.057467522135681e-02 3.049730718652442e-02 + 3.042002885157935e-02 3.034284042889533e-02 3.026574223701538e-02 3.018873445294931e-02 3.011181722724549e-02 + 3.003499077734359e-02 2.995825532248887e-02 2.988161104857855e-02 2.980505808548691e-02 2.972859668986686e-02 + 2.965222714891759e-02 2.957594959806504e-02 2.949976420500935e-02 2.942367118266701e-02 2.934767073798247e-02 + 2.927176302885600e-02 2.919594820074298e-02 2.912022654108078e-02 2.904459827654108e-02 2.896906352751058e-02 + 2.889362247668933e-02 2.881827533028623e-02 2.874302228403363e-02 2.866786346167200e-02 2.859279903706265e-02 + 2.851782931145582e-02 2.844295445253672e-02 2.836817458182308e-02 2.829348988995876e-02 2.821890057629359e-02 + 2.814440681221589e-02 2.807000870175516e-02 2.799570646465742e-02 2.792150037589211e-02 2.784739055623231e-02 + 2.777337714638600e-02 2.769946033688953e-02 2.762564030841585e-02 2.755191720229608e-02 2.747829114116882e-02 + 2.740476237631904e-02 2.733133112357609e-02 2.725799748998750e-02 2.718476162641247e-02 2.711162371095654e-02 + 2.703858392279279e-02 2.696564237390275e-02 2.689279920452167e-02 2.682005468428394e-02 2.674740897239565e-02 + 2.667486216835663e-02 2.660241443488607e-02 2.653006594727732e-02 2.645781686062815e-02 2.638566726160998e-02 + 2.631361733435826e-02 2.624166733570949e-02 2.616981737012440e-02 2.609806754771221e-02 2.602641803533937e-02 + 2.595486900051258e-02 2.588342056814261e-02 2.581207282360541e-02 2.574082599292273e-02 2.566968028470076e-02 + 2.559863577456860e-02 2.552769259041796e-02 2.545685089381796e-02 2.538611083889939e-02 2.531547252137675e-02 + 2.524493605061727e-02 2.517450166747065e-02 2.510416952086314e-02 2.503393968681819e-02 2.496381230163825e-02 + 2.489378751859868e-02 2.482386547683629e-02 2.475404624292582e-02 2.468432996264991e-02 2.461471687229032e-02 + 2.454520706873932e-02 2.447580063686782e-02 2.440649771598710e-02 2.433729844997764e-02 2.426820294893469e-02 + 2.419921127712116e-02 2.413032362216684e-02 2.406154017790910e-02 2.399286100816565e-02 2.392428621229386e-02 + 2.385581592554643e-02 2.378745028409909e-02 2.371918936700126e-02 2.365103325041379e-02 2.358298215018098e-02 + 2.351503620457756e-02 2.344719546326070e-02 2.337946004127276e-02 2.331183006962702e-02 2.324430566419196e-02 + 2.317688687789637e-02 2.310957382435168e-02 2.304236671579298e-02 2.297526563441205e-02 2.290827063843882e-02 + 2.284138184722980e-02 2.277459938171355e-02 2.270792333404544e-02 2.264135374860772e-02 2.257489077729924e-02 + 2.250853459738779e-02 2.244228525780410e-02 2.237614283279474e-02 2.231010743473913e-02 2.224417917668724e-02 + 2.217835812285958e-02 2.211264432248330e-02 2.204703795931322e-02 2.198153916317220e-02 2.191614796666107e-02 + 2.185086445220271e-02 2.178568872592581e-02 2.172062089111306e-02 2.165566098457172e-02 2.159080908357505e-02 + 2.152606537366001e-02 2.146142993110024e-02 2.139690279242156e-02 2.133248404619538e-02 2.126817379406035e-02 + 2.120397211607284e-02 2.113987903003668e-02 2.107589465469217e-02 2.101201915594272e-02 2.094825256288664e-02 + 2.088459492231405e-02 2.082104632696408e-02 2.075760686991806e-02 2.069427660166107e-02 2.063105554609518e-02 + 2.056794384972622e-02 2.050494162894281e-02 2.044204890243054e-02 2.037926573000831e-02 2.031659219454509e-02 + 2.025402837653619e-02 2.019157429898307e-02 2.012923000978476e-02 2.006699566765361e-02 2.000487133731908e-02 + 1.994285703240835e-02 1.988095281849638e-02 1.981915877663429e-02 1.975747497137283e-02 1.969590139839621e-02 + 1.963443814246610e-02 1.957308535571834e-02 1.951184305296579e-02 1.945071125524195e-02 1.938969003470093e-02 + 1.932877945979973e-02 1.926797956444602e-02 1.920729035294688e-02 1.914671194302782e-02 1.908624443873623e-02 + 1.902588783798898e-02 1.896564217312377e-02 1.890550750534374e-02 1.884548390173623e-02 1.878557136933607e-02 + 1.872576992282937e-02 1.866607969751645e-02 1.860650074902563e-02 1.854703306920867e-02 1.848767670108510e-02 + 1.842843170242723e-02 1.836929811895166e-02 1.831027593341436e-02 1.825136519709141e-02 1.819256603897189e-02 + 1.813387846842225e-02 1.807530248298604e-02 1.801683812530333e-02 1.795848544988909e-02 1.790024447932676e-02 + 1.784211518704799e-02 1.778409766075985e-02 1.772619199567190e-02 1.766839817113224e-02 1.761071619932593e-02 + 1.755314612276550e-02 1.749568797940397e-02 1.743834176385679e-02 1.738110747126647e-02 1.732398520795971e-02 + 1.726697501687009e-02 1.721007686976607e-02 1.715329079150987e-02 1.709661681774517e-02 1.704005496995066e-02 + 1.698360522175755e-02 1.692726759648597e-02 1.687104219632033e-02 1.681492902190890e-02 1.675892805218375e-02 + 1.670303930866012e-02 1.664726282100333e-02 1.659159859573434e-02 1.653604659349284e-02 1.648060687061485e-02 + 1.642527950537791e-02 1.637006446137386e-02 1.631496172845883e-02 1.625997133117372e-02 1.620509328829045e-02 + 1.615032758053278e-02 1.609567417924041e-02 1.604113316306734e-02 1.598670456411958e-02 1.593238833576510e-02 + 1.587818448257840e-02 1.582409302120838e-02 1.577011395254391e-02 1.571624723647299e-02 1.566249287063067e-02 + 1.560885093721684e-02 1.555532142372995e-02 1.550190428691725e-02 1.544859953345741e-02 1.539540716895692e-02 + 1.534232718045593e-02 1.528935952298772e-02 1.523650422043375e-02 1.518376132655854e-02 1.513113080051426e-02 + 1.507861261080395e-02 1.502620675643192e-02 1.497391324399307e-02 1.492173204313831e-02 1.486966309840608e-02 + 1.481770646058926e-02 1.476586215324725e-02 1.471413011485714e-02 1.466251032223325e-02 1.461100277337298e-02 + 1.455960746411957e-02 1.450832433725036e-02 1.445715335761371e-02 1.440609458945226e-02 1.435514801148310e-02 + 1.430431355790390e-02 1.425359121341204e-02 1.420298097105418e-02 1.415248280845771e-02 1.410209665546564e-02 + 1.405182250942155e-02 1.400166041623447e-02 1.395161031395394e-02 1.390167215017196e-02 1.385184591619880e-02 + 1.380213159317199e-02 1.375252913341631e-02 1.370303846818604e-02 1.365365962256361e-02 1.360439260851619e-02 + 1.355523734898775e-02 1.350619380184460e-02 1.345726194685572e-02 1.340844175819677e-02 1.335973317080697e-02 + 1.331113613029375e-02 1.326265067233158e-02 1.321427676765317e-02 1.316601433678336e-02 1.311786334248669e-02 + 1.306982375879771e-02 1.302189555021592e-02 1.297407863461756e-02 1.292637298076667e-02 1.287877861455418e-02 + 1.283129547339001e-02 1.278392348592105e-02 1.273666261347862e-02 1.268951282495219e-02 1.264247406704279e-02 + 1.259554625321822e-02 1.254872937642621e-02 1.250202343522368e-02 1.245542834900525e-02 1.240894405313941e-02 + 1.236257050462080e-02 1.231630767029411e-02 1.227015547343941e-02 1.222411383176151e-02 1.217818275998809e-02 + 1.213236222220244e-02 1.208665212384520e-02 1.204105241018576e-02 1.199556303854240e-02 1.195018395838791e-02 + 1.190491507365890e-02 1.185975632952753e-02 1.181470773836339e-02 1.176976922480089e-02 1.172494069835479e-02 + 1.168022211004454e-02 1.163561340968965e-02 1.159111452823667e-02 1.154672536811994e-02 1.150244589927961e-02 + 1.145827610670764e-02 1.141421589534856e-02 1.137026518661645e-02 1.132642392502224e-02 1.128269205281729e-02 + 1.123906948383837e-02 1.119555612518262e-02 1.115215196588227e-02 1.110885695891592e-02 1.106567099667937e-02 + 1.102259400831050e-02 1.097962593601935e-02 1.093676671505125e-02 1.089401623812122e-02 1.085137442757511e-02 + 1.080884127911701e-02 1.076641671182367e-02 1.072410061923310e-02 1.068189293399554e-02 1.063979359231152e-02 + 1.059780251428707e-02 1.055591958418482e-02 1.051414475108346e-02 1.047247799305691e-02 1.043091920126454e-02 + 1.038946827795377e-02 1.034812515386981e-02 1.030688975996647e-02 1.026576200007446e-02 1.022474176231751e-02 + 1.018382901647819e-02 1.014302370834395e-02 1.010232571551464e-02 1.006173495028295e-02 1.002125134058496e-02 + 9.980874808217161e-03 9.940605238090998e-03 9.900442533803457e-03 9.860386673211879e-03 9.820437566105797e-03 + 9.780595089730604e-03 9.740859166502601e-03 9.701229717604148e-03 9.661706648486619e-03 9.622289837555094e-03 + 9.582979211676392e-03 9.543774731762645e-03 9.504676285752028e-03 9.465683761437204e-03 9.426797070527869e-03 + 9.388016130061547e-03 9.349340837763126e-03 9.310771071700266e-03 9.272306774287777e-03 9.233947879847340e-03 + 9.195694263233465e-03 9.157545820041815e-03 9.119502462398593e-03 9.081564104605406e-03 9.043730620594144e-03 + 9.006001891771507e-03 8.968377884117109e-03 8.930858503326412e-03 8.893443610144467e-03 8.856133108771761e-03 + 8.818926910576046e-03 8.781824915337199e-03 8.744826984807866e-03 8.707933026764444e-03 8.671142997995955e-03 + 8.634456771198624e-03 8.597874217863410e-03 8.561395247729468e-03 8.525019762147885e-03 8.488747643810387e-03 + 8.452578758551675e-03 8.416513035074836e-03 8.380550402064440e-03 8.344690718755845e-03 8.308933866062409e-03 + 8.273279745485652e-03 8.237728259206089e-03 8.202279277607399e-03 8.166932668725525e-03 8.131688373197346e-03 + 8.096546291813443e-03 8.061506280849479e-03 8.026568229604077e-03 7.991732033790425e-03 7.956997581179438e-03 + 7.922364735477982e-03 7.887833385768220e-03 7.853403460644042e-03 7.819074838170454e-03 7.784847385209607e-03 + 7.750720988388416e-03 7.716695538073770e-03 7.682770912288046e-03 7.648946965667346e-03 7.615223607644973e-03 + 7.581600758648286e-03 7.548078272068747e-03 7.514656018308716e-03 7.481333888256649e-03 7.448111767084748e-03 + 7.414989518558892e-03 7.381967002509678e-03 7.349044141005179e-03 7.316220829119200e-03 7.283496916229069e-03 + 7.250872276568530e-03 7.218346796125786e-03 7.185920358959778e-03 7.153592811909379e-03 7.121364026156801e-03 + 7.089233934032213e-03 7.057202401526107e-03 7.025269274784423e-03 6.993434437254338e-03 6.961697770726437e-03 + 6.930059144137623e-03 6.898518406074085e-03 6.867075445461445e-03 6.835730169890301e-03 6.804482436531050e-03 + 6.773332103630715e-03 6.742279042830752e-03 6.711323134446215e-03 6.680464239400761e-03 6.649702204950062e-03 + 6.619036937093537e-03 6.588468325547939e-03 6.557996212108587e-03 6.527620458965777e-03 6.497340941897300e-03 + 6.467157538628341e-03 6.437070090473932e-03 6.407078453159759e-03 6.377182548096138e-03 6.347382238649846e-03 + 6.317677359750170e-03 6.288067782822399e-03 6.258553381641384e-03 6.229134019133821e-03 6.199809533909972e-03 + 6.170579803332374e-03 6.141444731866248e-03 6.112404164377095e-03 6.083457948651627e-03 6.054605954063168e-03 + 6.025848047899531e-03 5.997184082520315e-03 5.968613898555075e-03 5.940137388272029e-03 5.911754435973001e-03 + 5.883464876798197e-03 5.855268565478542e-03 5.827165369238958e-03 5.799155152943781e-03 5.771237757858197e-03 + 5.743413031370796e-03 5.715680873423079e-03 5.688041146137241e-03 5.660493683352233e-03 5.633038344713090e-03 + 5.605674994693767e-03 5.578403490874967e-03 5.551223666073857e-03 5.524135383482108e-03 5.497138538622371e-03 + 5.470232973711985e-03 5.443418527865922e-03 5.416695061766649e-03 5.390062436684385e-03 5.363520500801443e-03 + 5.337069085950208e-03 5.310708070645691e-03 5.284437334686721e-03 5.258256709167105e-03 5.232166039984466e-03 + 5.206165186351173e-03 5.180254006079314e-03 5.154432337116667e-03 5.128700017566677e-03 5.103056934758595e-03 + 5.077502948400768e-03 5.052037887552509e-03 5.026661602896529e-03 5.001373950974750e-03 4.976174783805283e-03 + 4.951063931174483e-03 4.926041244835856e-03 4.901106610871052e-03 4.876259869861805e-03 4.851500854152867e-03 + 4.826829416485723e-03 4.802245411238555e-03 4.777748682676776e-03 4.753339057595283e-03 4.729016402174706e-03 + 4.704780591018902e-03 4.680631452386119e-03 4.656568824906738e-03 4.632592561043116e-03 4.608702512089780e-03 + 4.584898512841469e-03 4.561180394112987e-03 4.537548032865621e-03 4.514001286180084e-03 4.490539978046344e-03 + 4.467163952568486e-03 4.443873060291688e-03 4.420667147623122e-03 4.397546041481102e-03 4.374509584352294e-03 + 4.351557654555007e-03 4.328690090868674e-03 4.305906719484884e-03 4.283207387010587e-03 4.260591942258349e-03 + 4.238060226010617e-03 4.215612060889534e-03 4.193247302342208e-03 4.170965820265097e-03 4.148767441443334e-03 + 4.126651998168965e-03 4.104619336614093e-03 4.082669303050944e-03 4.060801730082235e-03 4.039016442831475e-03 + 4.017313308452854e-03 3.995692181792875e-03 3.974152883344686e-03 3.952695251163741e-03 3.931319130911208e-03 + 3.910024364917125e-03 3.888810777810686e-03 3.867678204037116e-03 3.846626514691173e-03 3.825655547709963e-03 + 3.804765124734014e-03 3.783955087456414e-03 3.763225279741349e-03 3.742575538839424e-03 3.722005684569956e-03 + 3.701515563829318e-03 3.681105042529648e-03 3.660773945892437e-03 3.640522100973796e-03 3.620349349516141e-03 + 3.600255533338096e-03 3.580240483202974e-03 3.560304020332013e-03 3.540446002992503e-03 3.520666284206718e-03 + 3.500964682823155e-03 3.481341031384374e-03 3.461795171007476e-03 3.442326941040924e-03 3.422936165061433e-03 + 3.403622671201535e-03 3.384386323473485e-03 3.365226959961049e-03 3.346144399498565e-03 3.327138478378434e-03 + 3.308209036536853e-03 3.289355909461925e-03 3.270578915351533e-03 3.251877893639187e-03 3.233252706195778e-03 + 3.214703178029928e-03 3.196229132118811e-03 3.177830406368320e-03 3.159506839403438e-03 3.141258260810600e-03 + 3.123084488811596e-03 3.104985374197366e-03 3.086960768611876e-03 3.069010490077185e-03 3.051134366997480e-03 + 3.033332237019262e-03 3.015603936903380e-03 2.997949290147841e-03 2.980368120588831e-03 2.962860285290425e-03 + 2.945425622240710e-03 2.928063948810786e-03 2.910775098113858e-03 2.893558906982335e-03 2.876415208617919e-03 + 2.859343821344898e-03 2.842344578930633e-03 2.825417338731532e-03 2.808561926446875e-03 2.791778162629514e-03 + 2.775065882662152e-03 2.758424922052246e-03 2.741855109318431e-03 2.725356262118107e-03 2.708928224810950e-03 + 2.692570847204586e-03 2.676283947708203e-03 2.660067352018658e-03 2.643920895408666e-03 2.627844412630983e-03 + 2.611837727127577e-03 2.595900659591014e-03 2.580033062057212e-03 2.564234773200918e-03 2.548505609580814e-03 + 2.532845401329118e-03 2.517253983314282e-03 2.501731188088862e-03 2.486276834298587e-03 2.470890751027053e-03 + 2.455572791828030e-03 2.440322784214469e-03 2.425140547489158e-03 2.410025914370114e-03 2.394978718743150e-03 + 2.379998789312335e-03 2.365085943631231e-03 2.350240020749269e-03 2.335460868942443e-03 2.320748308349550e-03 + 2.306102163022297e-03 2.291522266200105e-03 2.277008450857895e-03 2.262560541519312e-03 2.248178358404482e-03 + 2.233861748393963e-03 2.219610550590767e-03 2.205424582540762e-03 2.191303672653564e-03 2.177247654150935e-03 + 2.163256358437406e-03 2.149329606085116e-03 2.135467224025938e-03 2.121669062135428e-03 2.107934949596006e-03 + 2.094264705479671e-03 2.080658161247730e-03 2.067115150052171e-03 2.053635501035216e-03 2.040219032033609e-03 + 2.026865578574763e-03 2.013574988607888e-03 2.000347084189316e-03 1.987181688126059e-03 1.974078632294973e-03 + 1.961037750159034e-03 1.948058867783843e-03 1.935141804192390e-03 1.922286403096425e-03 1.909492504980594e-03 + 1.896759928265229e-03 1.884088500763132e-03 1.871478055631251e-03 1.858928424089599e-03 1.846439428400912e-03 + 1.834010894228015e-03 1.821642669213327e-03 1.809334584628213e-03 1.797086460037203e-03 1.784898126770644e-03 + 1.772769417737367e-03 1.760700162615002e-03 1.748690181778845e-03 1.736739308394668e-03 1.724847388831493e-03 + 1.713014248130287e-03 1.701239709792772e-03 1.689523605558227e-03 1.677865768960374e-03 1.666266027776910e-03 + 1.654724201747776e-03 1.643240132443950e-03 1.631813662093462e-03 1.620444610863358e-03 1.609132806416696e-03 + 1.597878082462674e-03 1.586680271167799e-03 1.575539197124769e-03 1.564454685806544e-03 1.553426583192850e-03 + 1.542454723186195e-03 1.531538926942232e-03 1.520679025889417e-03 1.509874853790604e-03 1.499126242122267e-03 + 1.488433013507451e-03 1.477795000037597e-03 1.467212048115432e-03 1.456683985464255e-03 1.446210636719452e-03 + 1.435791835117153e-03 1.425427414393694e-03 1.415117204211151e-03 1.404861027594662e-03 1.394658724273689e-03 + 1.384510137356095e-03 1.374415090575271e-03 1.364373412382042e-03 1.354384937246215e-03 1.344449499301808e-03 + 1.334566925970926e-03 1.324737043332181e-03 1.314959696939330e-03 1.305234723823342e-03 1.295561947265019e-03 + 1.285941199528206e-03 1.276372315963847e-03 1.266855130463658e-03 1.257389468322312e-03 1.247975161599065e-03 + 1.238612057815808e-03 1.229299987951490e-03 1.220038778115428e-03 1.210828263449681e-03 1.201668279419893e-03 + 1.192558658328712e-03 1.183499226491516e-03 1.174489822883548e-03 1.165530291825810e-03 1.156620461345326e-03 + 1.147760161971411e-03 1.138949229776032e-03 1.130187500878873e-03 1.121474806129454e-03 1.112810973708310e-03 + 1.104195848566657e-03 1.095629271185936e-03 1.087111069073448e-03 1.078641075658101e-03 1.070219127753748e-03 + 1.061845062287274e-03 1.053518708913237e-03 1.045239900848634e-03 1.037008485418972e-03 1.028824298155823e-03 + 1.020687168641753e-03 1.012596933141099e-03 1.004553429894111e-03 9.965564952721074e-04 9.886059579764911e-04 + 9.807016577383673e-04 9.728434421263681e-04 9.650311428619217e-04 9.572645925441391e-04 9.495436296868831e-04 + 9.418680934992058e-04 9.342378189983833e-04 9.266526374013966e-04 9.191123940951565e-04 9.116169327210938e-04 + 9.041660846048507e-04 8.967596865276394e-04 8.893975784458786e-04 8.820795994475233e-04 8.748055834052338e-04 + 8.675753662309574e-04 8.603887967412885e-04 8.532457145816050e-04 8.461459528881801e-04 8.390893515597134e-04 + 8.320757512954288e-04 8.251049910410551e-04 8.181769052102455e-04 8.112913354889369e-04 8.044481307476467e-04 + 7.976471276304203e-04 7.908881626723219e-04 7.841710779271092e-04 7.774957151422038e-04 7.708619131557394e-04 + 7.642695077220146e-04 7.577183458379644e-04 7.512082748417916e-04 7.447391309361296e-04 7.383107537219758e-04 + 7.319229861740803e-04 7.255756719189899e-04 7.192686493738265e-04 7.130017570250109e-04 7.067748463319056e-04 + 7.005877618919097e-04 6.944403408515077e-04 6.883324261093659e-04 6.822638623160529e-04 6.762344932684062e-04 + 6.702441573916524e-04 6.642926986443232e-04 6.583799694858947e-04 6.525058122102392e-04 6.466700672293728e-04 + 6.408725793807691e-04 6.351131947715911e-04 6.293917574305099e-04 6.237081070877600e-04 6.180620932909059e-04 + 6.124535677685099e-04 6.068823714677426e-04 6.013483481700967e-04 5.958513451670206e-04 5.903912096703989e-04 + 5.849677853780454e-04 5.795809154020751e-04 5.742304534677881e-04 5.689162489783443e-04 5.636381442526738e-04 + 5.583959863498279e-04 5.531896240506697e-04 5.480189055622431e-04 5.428836748799696e-04 5.377837797240800e-04 + 5.327190759830209e-04 5.276894110958636e-04 5.226946300477827e-04 5.177345825024617e-04 5.128091188465486e-04 + 5.079180879528710e-04 5.030613351067660e-04 4.982387130290541e-04 4.934500776624026e-04 4.886952758062522e-04 + 4.839741558713263e-04 4.792865695826084e-04 4.746323688630657e-04 4.700114029595036e-04 4.654235198613055e-04 + 4.608685766627245e-04 4.563464280591107e-04 4.518569219186994e-04 4.473999099762359e-04 4.429752457691277e-04 + 4.385827824909558e-04 4.342223700107388e-04 4.298938604566902e-04 4.255971135329090e-04 4.213319826090788e-04 + 4.170983180859963e-04 4.128959744299958e-04 4.087248069577171e-04 4.045846700338900e-04 4.004754147907325e-04 + 3.963968979642262e-04 3.923489801919561e-04 3.883315144592717e-04 3.843443544269981e-04 3.803873568608614e-04 + 3.764603788261386e-04 3.725632754784107e-04 3.686959004384349e-04 3.648581147870281e-04 3.610497787686854e-04 + 3.572707463878945e-04 3.535208745539621e-04 3.498000220657478e-04 3.461080477383748e-04 3.424448076363575e-04 + 3.388101589386426e-04 3.352039657815740e-04 3.316260877532703e-04 3.280763812137888e-04 3.245547060139738e-04 + 3.210609229167205e-04 3.175948921405597e-04 3.141564711604799e-04 3.107455215081982e-04 3.073619088757455e-04 + 3.040054927848886e-04 3.006761327105527e-04 2.973736909925681e-04 2.940980303881470e-04 2.908490123115160e-04 + 2.876264965105581e-04 2.844303488008553e-04 2.812604353029198e-04 2.781166164989417e-04 2.749987551423296e-04 + 2.719067158817455e-04 2.688403633742989e-04 2.657995602462465e-04 2.627841695326067e-04 2.597940603791381e-04 + 2.568290988582687e-04 2.538891477672460e-04 2.509740728301346e-04 2.480837407612393e-04 2.452180180501483e-04 + 2.423767689150773e-04 2.395598604007145e-04 2.367671637065971e-04 2.339985452156380e-04 2.312538707417314e-04 + 2.285330086975239e-04 2.258358279521211e-04 2.231621965330517e-04 2.205119809474630e-04 2.178850522930381e-04 + 2.152812827957872e-04 2.127005401044592e-04 2.101426932429596e-04 2.076076129630843e-04 2.050951703707553e-04 + 2.026052350574154e-04 2.001376764695323e-04 1.976923692963255e-04 1.952691863631026e-04 1.928679973631469e-04 + 1.904886744667185e-04 1.881310908124045e-04 1.857951194428946e-04 1.834806317739651e-04 1.811875010647571e-04 + 1.789156043640377e-04 1.766648152326652e-04 1.744350063601967e-04 1.722260526922104e-04 1.700378296945535e-04 + 1.678702123432160e-04 1.657230742438847e-04 1.635962925697728e-04 1.614897461072756e-04 1.594033097074569e-04 + 1.573368592094730e-04 1.552902721810668e-04 1.532634264532060e-04 1.512561988693490e-04 1.492684659352835e-04 + 1.473001083560244e-04 1.453510059716440e-04 1.434210358729406e-04 1.415100771164913e-04 1.396180097223186e-04 + 1.377447137267307e-04 1.358900680130841e-04 1.340539526362652e-04 1.322362510498252e-04 1.304368442346035e-04 + 1.286556121626104e-04 1.268924368411170e-04 1.251472007379926e-04 1.234197860690376e-04 1.217100740639766e-04 + 1.200179485071157e-04 1.183432949752447e-04 1.166859960758634e-04 1.150459349477667e-04 1.134229962637926e-04 + 1.118170649981152e-04 1.102280255615328e-04 1.086557620076939e-04 1.071001616642248e-04 1.055611117192228e-04 + 1.040384970703678e-04 1.025322040262462e-04 1.010421198490596e-04 9.956813202096472e-05 9.811012722455996e-05 + 9.666799283658755e-05 9.524161921027426e-05 9.383089505710078e-05 9.243570803818307e-05 9.105594759252440e-05 + 8.969150364397068e-05 8.834226604286881e-05 8.700812397260034e-05 8.568896841419017e-05 8.438469212608002e-05 + 8.309518568825200e-05 8.182033994906239e-05 8.056004718218619e-05 7.931419998170841e-05 7.808269064296404e-05 + 7.686541112857092e-05 7.566225594198306e-05 7.447311991364301e-05 7.329789600792314e-05 7.213647827366786e-05 + 7.098876170896106e-05 6.985464163907488e-05 6.873401282606521e-05 6.762677039259616e-05 6.653281205307769e-05 + 6.545203459530543e-05 6.438433381335806e-05 6.332960688869456e-05 6.228775159650499e-05 6.125866586213212e-05 + 6.024224709312662e-05 5.923839394811549e-05 5.824700680510711e-05 5.726798458845817e-05 5.630122626966778e-05 + 5.534663202079377e-05 5.440410243697520e-05 5.347353805513213e-05 5.255483915897720e-05 5.164790790372327e-05 + 5.075264706713765e-05 4.986895809670387e-05 4.899674321102013e-05 4.813590548272275e-05 4.728634834520723e-05 + 4.644797500988253e-05 4.562068892036128e-05 4.480439551815946e-05 4.399899988301035e-05 4.320440633696577e-05 + 4.242052030402665e-05 4.164724778526068e-05 4.088449502887978e-05 4.013216802138054e-05 3.939017361734100e-05 + 3.865842020891389e-05 3.793681530287127e-05 3.722526637683801e-05 3.652368195642655e-05 3.583197100166348e-05 + 3.515004257550265e-05 3.447780563338777e-05 3.381517049939420e-05 3.316204825033269e-05 3.251834908257212e-05 + 3.188398376275541e-05 3.125886384349450e-05 3.064290126992314e-05 3.003600797392098e-05 2.943809607683111e-05 + 2.884907925556903e-05 2.826887119646782e-05 2.769738505988399e-05 2.713453488302094e-05 2.658023526748751e-05 + 2.603440114263312e-05 2.549694738792051e-05 2.496778949423694e-05 2.444684425976710e-05 2.393402805764408e-05 + 2.342925723948219e-05 2.293244905822871e-05 2.244352120797989e-05 2.196239159983278e-05 2.148897818423003e-05 + 2.102319990982268e-05 2.056497650699234e-05 2.011422722229805e-05 1.967087173846936e-05 1.923483045310688e-05 + 1.880602417859793e-05 1.838437386840237e-05 1.796980069033951e-05 1.756222699777835e-05 1.716157539169325e-05 + 1.676776819323897e-05 1.638072842752046e-05 1.600037965967140e-05 1.562664583506045e-05 1.525945101785764e-05 + 1.489871974108943e-05 1.454437762041471e-05 1.419635018600421e-05 1.385456300630342e-05 1.351894241351905e-05 + 1.318941519258516e-05 1.286590843459537e-05 1.254834939298960e-05 1.223666606495489e-05 1.193078719950152e-05 + 1.163064137727749e-05 1.133615754527981e-05 1.104726530816775e-05 1.076389469662666e-05 1.048597599093073e-05 + 1.021343974753131e-05 9.946217419267380e-06 9.684240838620889e-06 9.427441790773100e-06 9.175752643853506e-06 + 8.929106280098344e-06 8.687435997194528e-06 8.450675338936148e-06 8.218758257424963e-06 7.991619584870982e-06 + 7.769194298227330e-06 7.551417507621627e-06 7.338224987041431e-06 7.129552955942858e-06 6.925337997222138e-06 + 6.725516977155444e-06 6.530027335862672e-06 6.338807194551445e-06 6.151794769434223e-06 5.968928615355085e-06 + 5.790147878391894e-06 5.615392155261267e-06 5.444601365246586e-06 5.277715758699128e-06 5.114676291438329e-06 + 4.955424365336747e-06 4.799901525655197e-06 4.648049820836300e-06 4.499811793985402e-06 4.355130438087899e-06 + 4.213949069835453e-06 4.076211399540344e-06 3.941861865039729e-06 3.810845196499976e-06 3.683106361660463e-06 + 3.558590910585118e-06 3.437244835818923e-06 3.319014541070219e-06 3.203846795533912e-06 3.091688852089737e-06 + 2.982488579295818e-06 2.876194109656037e-06 2.772753925582794e-06 2.672117063800105e-06 2.574233014808049e-06 + 2.479051643033932e-06 2.386523210361943e-06 2.296598552297165e-06 2.209228971591383e-06 2.124366069775506e-06 + 2.041961906232304e-06 1.961969019732135e-06 1.884340423438541e-06 1.809029507182080e-06 1.735990071613592e-06 + 1.665176534356502e-06 1.596543687803830e-06 1.530046658503296e-06 1.465641105678908e-06 1.403283128309336e-06 + 1.342929271825179e-06 1.284536503035511e-06 1.228062233226246e-06 1.173464436795038e-06 1.120701460082181e-06 + 1.069732028902882e-06 1.020515399241352e-06 9.730112822753146e-07 9.271798002921477e-07 8.829815278752155e-07 + 8.403775374680640e-07 7.993293716485992e-07 7.597989809176624e-07 7.217487560416926e-07 6.851415619710593e-07 + 6.499407524191172e-07 6.161100929136179e-07 5.836137918783888e-07 5.524166028233452e-07 5.224836968385216e-07 + 4.937806609639881e-07 4.662735849361845e-07 4.399289991547822e-07 4.147139110260500e-07 3.905957813609555e-07 + 3.675425084859321e-07 3.455225231396512e-07 3.245046871736890e-07 3.044582778536548e-07 2.853530928283095e-07 + 2.671593859185241e-07 2.498478511400059e-07 2.333896726605378e-07 2.177564985206194e-07 2.029204500538344e-07 + 1.888541210793108e-07 1.755305458522738e-07 1.629232393506973e-07 1.510062144201093e-07 1.397539174372155e-07 + 1.291412703741045e-07 1.191437050672961e-07 1.097370923617762e-07 1.008977778162274e-07 9.260259669902208e-08 + 8.482883141984319e-08 7.755426670738778e-08 7.075715683240311e-08 6.441620467100832e-08 5.851063608240125e-08 + 5.302013495440350e-08 4.792483459927075e-08 4.320538955913144e-08 3.884291294265582e-08 3.481898425658018e-08 + 3.111569527451850e-08 2.771559342817648e-08 2.460171067137196e-08 2.175758348333717e-08 1.916719757773861e-08 + 1.681503457183268e-08 1.468607978947252e-08 1.276576812429566e-08 1.104003874048358e-08 9.495328649625366e-09 + 8.118528715645258e-09 6.897042498203040e-09 5.818760232281117e-09 4.872032311209139e-09 4.045732447740840e-09 + 3.329210679517489e-09 2.712284881132093e-09 2.185301687016959e-09 1.739076161987666e-09 1.364901589086205e-09 + 1.054599065845252e-09 8.004535320102697e-10 5.952414597054672e-10 4.322622496028902e-10 3.052766304104823e-10 + 2.085502003918036e-10 1.368642901349301e-10 8.546164059834664e-11 5.010215808832263e-11 2.705311520847365e-11 + 1.304599438344934e-11 5.339090781311160e-12 1.692041320615927e-12 3.321208355096226e-13 6.781366937015517e-15 diff --git a/examples/SPIN/in.kagome b/examples/SPIN/in.kagome new file mode 100644 index 0000000000..c51c35ff73 --- /dev/null +++ b/examples/SPIN/in.kagome @@ -0,0 +1,126 @@ +################### +#######Init######## +################### + +clear +#setting units to metal (Ang, picosecs, eV, ...): +units metal + +#setting dimension of the system (N=2 or 3): +dimension 3 + +#setting boundary conditions. (p for periodic, f for fixed, ...) +boundary p p p +#boundary f f f + +#setting atom_style to spin: +atom_style spin + +#Define sort for paramagnetic simulations (if no pair interaction) +#atom_modify sort 1000 4.0 + +#why? +atom_modify map array + +#newton off for pair spin in SEQNEI +#newton off off + +########################### +#######Create atoms######## +########################### + +#Lattice constant of fcc Cobalt +lattice fcc 3.54 +#lattice sc 2.50 + +#Test Kagome +#variable a equal sqrt(3.0)/8.0 +#variable b equal 3.0*sqrt(3.0)/8.0 +#variable c equal sqrt(3.0)/4.0 + +#lattice custom 2.5 a1 1.0 0.0 0.0 & +# a2 0.0 1.0 0.0 & +# a3 0.0 0.0 1.0 & +# basis 0.0 $a 0.0 & +# basis 0.25 $a 0.0 & +# basis 0.375 0.0 0.0 & +# basis 0.25 $b 0.0 & +# basis 0.5 $b 0.0 & +# basis 0.625 $c 0.0 + +#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen +#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) +region box block 0.0 5.0 0.0 5.0 0.0 5.0 + +#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. +create_box 1 box + +#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... +#Entries: atom type, +create_atoms 1 box + +#Replicating NxNxN the entire set of atoms +#replicate 1 1 1 + + +####################### +#######Settings######## +####################### + +#Setting one or more properties of one or more atoms. +#Setting mass +mass 1 1.0 +#set group all mass 1.0 +#Setting spins orientation and moment +#set group all spin/random 11 1.72 +set group all spin 1.72 1.0 0.0 0.0 + +#Magnetic exchange interaction coefficient for bulk fcc Cobalt +pair_style pair/spin 4.0 +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) +#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 +#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 + +#Define a skin distance, update neigh list every +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 0.0 bin +neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +#fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 2 all langevin/spin 1.0 0.1 0.0 21 +#fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all nve/spin mpi + +#compute real time, total magnetization, magnetic energy, and spin temperature +#Iteration | Time | Mx | My | Mz | |M| | Em | Tm +compute mag all compute/spin +fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g + +#Setting the timestep for the simulation (in ps) +timestep 0.0001 + +################## +#######run######## +################## + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 2000 +#run 1 + diff --git a/in.co_magnetomech b/in.co_magnetomech new file mode 100644 index 0000000000..e1a3f11b14 --- /dev/null +++ b/in.co_magnetomech @@ -0,0 +1,111 @@ +################### +#######Init######## +################### + +clear +#setting units to metal (Ang, picosecs, eV, ...): +units metal + +#setting dimension of the system (N=2 or 3): +dimension 3 + +#setting boundary conditions. (p for periodic, f for fixed, ...) +boundary p p p +#boundary f f f + +#setting atom_style to spin: +atom_style spin + +#Define sort for paramagnetic simulations (if no pair interaction) +#atom_modify sort 1000 4.0 + +#why? +atom_modify map array + +#newton off for pair spin in SEQNEI +#newton off off + +########################### +#######Create atoms######## +########################### + +#Lattice constant of fcc Cobalt +lattice fcc 3.54 +#lattice sc 2.50 + +#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen +#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) +region box block 0.0 5.0 0.0 5.0 0.0 5.0 + +#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. +create_box 1 box + +#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... +#Entries: atom type, +create_atoms 1 box + +####################### +#######Settings######## +####################### + +#Setting one or more properties of one or more atoms. +#Setting mass +mass 1 1.0 +#set group all mass 1.0 +#Setting spins orientation and moment +#set group all spin/random 11 1.72 +set group all spin 1.72 1.0 0.0 0.0 + +#Magneto-mechanic interactions for bulk fcc Cobalt +pair_style hybrid/overlay eam/alloy pair/spin 4.0 +pair_coeff * * eam/alloy ../Co_PurjaPun_2012.eam.alloy Co + +#pair_style pair/spin 4.0 +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +pair_coeff * * pair/spin exchange 4.0 0.0446928 0.003496 1.4885 +#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) +#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 +#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 + + +#Define a skin distance, update neigh list every +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 0.0 bin +neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +fix 1 all force/spin zeeman 10.0 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +#fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 2 all langevin/spin 1.0 0.1 0.0 21 +#fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all nve/spin mpi + +#compute real time, total magnetization, magnetic energy, and spin temperature +#Iteration | Time | Mx | My | Mz | |M| | Em | Tm +compute mag all compute/spin +fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g + +#Setting the timestep for the simulation (in ps) +timestep 0.00001 + +################## +#######run######## +################## + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 100 dump_spin_MM.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 10000 +#run 1 + diff --git a/in.cobalt b/in.cobalt index 3780d9b0dc..ebc2017a5d 100644 --- a/in.cobalt +++ b/in.cobalt @@ -32,21 +32,6 @@ atom_modify map array #Lattice constant of fcc Cobalt lattice fcc 3.54 #lattice sc 2.50 - -#Test Kagome -#variable a equal sqrt(3.0)/8.0 -#variable b equal 3.0*sqrt(3.0)/8.0 -#variable c equal sqrt(3.0)/4.0 - -#lattice custom 2.5 a1 1.0 0.0 0.0 & -# a2 0.0 1.0 0.0 & -# a3 0.0 0.0 1.0 & -# basis 0.0 $a 0.0 & -# basis 0.25 $a 0.0 & -# basis 0.375 0.0 0.0 & -# basis 0.25 $b 0.0 & -# basis 0.5 $b 0.0 & -# basis 0.625 $c 0.0 #Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen #(for block, one has x0, xf, y0, yf, z0, zf, in distance units) @@ -59,10 +44,6 @@ create_box 1 box #Entries: atom type, create_atoms 1 box -#Replicating NxNxN the entire set of atoms -#replicate 1 1 1 - - ####################### #######Settings######## ####################### diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 6b9d1a5b18..19aefe661a 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -34,6 +34,7 @@ #include "memory.h" #include "fix_force_spin.h" #include "fix_langevin_spin.h" +#include "pair_hybrid.h" using namespace LAMMPS_NS; using namespace FixConst; @@ -114,7 +115,21 @@ void FixNVESpin::init() memory->create(fmi,3,"nves:fmi"); memory->create(fmj,3,"nves:fmj"); - lockpairspin = (PairSpin *) force->pair; + + if (strstr(force->pair_style,"pair/spin")) { + lockpairspin = (PairSpin *) force->pair; + } else if (strstr(force->pair_style,"hybrid/overlay")) { + PairHybrid *lockhybrid = (PairHybrid *) force->pair; + int nhybrid_styles = lockhybrid->nstyles; + int ipair; + for (ipair = 0; ipair < nhybrid_styles; ipair++) { + if (strstr(lockhybrid->keywords[ipair],"pair/spin")) { + lockpairspin = (PairSpin *) lockhybrid->styles[ipair]; + } + } + } else error->all(FLERR,"Illegal fix nve/spin command"); + + // check errors, and handle simple hybrid (not overlay) int iforce; for (iforce = 0; iforce < modify->nfix; iforce++) @@ -125,15 +140,29 @@ void FixNVESpin::init() if (strstr(modify->fix[iforce]->style,"langevin/spin")) break; locklangevinspin = (FixLangevinSpin *) modify->fix[iforce]; - exch_flag = lockpairspin->exch_flag; - dmi_flag = lockpairspin->dmi_flag; - me_flag = lockpairspin->me_flag; + if (lockpairspin->exch_flag == 1) { + exch_flag = lockpairspin->exch_flag; + } + if (lockpairspin->dmi_flag == 1) { + dmi_flag = lockpairspin->dmi_flag; + } + if (lockpairspin->me_flag == 1) { + me_flag = lockpairspin->me_flag; + } - zeeman_flag = lockforcespin->zeeman_flag; - aniso_flag = lockforcespin->aniso_flag; + if (lockforcespin->zeeman_flag == 1) { + zeeman_flag = lockforcespin->zeeman_flag; + } + if (lockforcespin->aniso_flag == 1) { + aniso_flag = lockforcespin->aniso_flag; + } - tdamp_flag = locklangevinspin->tdamp_flag; - temp_flag = locklangevinspin->temp_flag; + if (locklangevinspin->tdamp_flag == 1) { + tdamp_flag = locklangevinspin->tdamp_flag; + } + if (locklangevinspin->temp_flag == 1){ + temp_flag = locklangevinspin->temp_flag; + } if (mpi_flag == 1) { sectoring(); @@ -173,7 +202,6 @@ void FixNVESpin::initial_integrate(int vflag) int *type = atom->type; int *mask = atom->mask; - // update half v all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { @@ -193,7 +221,6 @@ void FixNVESpin::initial_integrate(int vflag) x[i][2] += 0.5 * dtv * v[i][2]; } } - if (extra == SPIN) { if (mpi_flag == 1) { @@ -236,7 +263,7 @@ void FixNVESpin::initial_integrate(int vflag) } else error->all(FLERR,"Illegal fix nve/spin command"); } - // update x for all particles + // update half x for all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { x[i][0] += 0.5 * dtv * v[i][0]; @@ -279,10 +306,13 @@ void FixNVESpin::ComputeInteractionsSpin(int ii) int *type = atom->type; const int newton_pair = force->newton_pair; - inum = lockpairspin->list->inum; - ilist = lockpairspin->list->ilist; - numneigh = lockpairspin->list->numneigh; - firstneigh = lockpairspin->list->firstneigh; + // add test here + if (exch_flag == 1 || dmi_flag == 1 || me_flag == 1 ) { + inum = lockpairspin->list->inum; + ilist = lockpairspin->list->ilist; + numneigh = lockpairspin->list->numneigh; + firstneigh = lockpairspin->list->firstneigh; + } double xtmp,ytmp,ztmp; double rsq,rd,delx,dely,delz; @@ -350,6 +380,7 @@ void FixNVESpin::ComputeInteractionsSpin(int ii) lockpairspin->compute_me(i,j,fmi,fmj,spi,spj); } } + } // post force diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index 38a61bf428..cb0d006e16 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -47,6 +47,7 @@ class FixNVESpin : public FixNVE { int zeeman_flag, aniso_flag; int tdamp_flag, temp_flag; + class PairHybrid *lockhybrid; class PairSpin *lockpairspin; class FixForceSpin *lockforcespin; class FixLangevinSpin *locklangevinspin; diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index f2c9cb8d36..0db1d353b3 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -39,7 +39,6 @@ PairSpin::PairSpin(LAMMPS *lmp) : Pair(lmp) exch_flag = 0; dmi_flag = 0; me_flag = 0; - } /* ---------------------------------------------------------------------- */ @@ -364,7 +363,8 @@ void PairSpin::coeff(int narg, char **arg) if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); } else if (strcmp(arg[2],"dmi")==0) { if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); - dmi_flag = 1; + dmi_flag = 1; + int ilo,ihi,jlo,jhi; force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); @@ -426,7 +426,8 @@ void PairSpin::coeff(int narg, char **arg) if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); } else error->all(FLERR,"Incorrect args in pair_style command"); - //Check if Jex [][] still works for Ferrimagnetic exchange + // check if Jex [][] still works for Ferrimagnetic exchange + } diff --git a/src/pair_hybrid.h b/src/pair_hybrid.h index 202847b028..17b6879957 100644 --- a/src/pair_hybrid.h +++ b/src/pair_hybrid.h @@ -31,6 +31,7 @@ class PairHybrid : public Pair { friend class FixOMP; friend class Force; friend class Respa; + friend class FixNVESpin; friend class Info; public: PairHybrid(class LAMMPS *); diff --git a/vmd_nano.vmd b/vmd_nano.vmd index 6b4684840f..f484cbe4ec 100644 --- a/vmd_nano.vmd +++ b/vmd_nano.vmd @@ -70,7 +70,7 @@ proc enable_trace {} { trace variable vmd_frame([molinfo top]) w vmd_draw_spin } -set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump_spin_BFO.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] +set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump_spin_MM.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] scale by 0.5 animate style Loop enable_trace -- GitLab From 3de0cf5ab449fc846594ddfeb949aee4766f6caf Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 23 Aug 2017 16:06:56 -0600 Subject: [PATCH 036/675] Commit Julien 2 08/23/17 - reorganized includes - start work on magneto-mechanic potential (adding function) - renamed fix_nve_spin into fix_integration_spin --- in.co_magnetomech | 10 +- src/SPIN/atom_vec_spin.cpp | 6 +- src/SPIN/compute_spin.cpp | 10 +- src/SPIN/fix_force_spin.cpp | 15 +-- ..._nve_spin.cpp => fix_integration_spin.cpp} | 113 +++++++----------- ...{fix_nve_spin.h => fix_integration_spin.h} | 16 +-- src/SPIN/fix_langevin_spin.cpp | 25 ++-- src/SPIN/pair_spin.cpp | 17 ++- src/pair_hybrid.h | 2 +- 9 files changed, 95 insertions(+), 119 deletions(-) rename src/SPIN/{fix_nve_spin.cpp => fix_integration_spin.cpp} (85%) rename src/SPIN/{fix_nve_spin.h => fix_integration_spin.h} (89%) diff --git a/in.co_magnetomech b/in.co_magnetomech index e1a3f11b14..da9e5366f1 100644 --- a/in.co_magnetomech +++ b/in.co_magnetomech @@ -84,11 +84,11 @@ fix 1 all force/spin zeeman 10.0 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) #Temp | Alpha_trans | Alpha_long | Seed #fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 1.0 0.1 0.0 21 -#fix 2 all langevin/spin 0.0 0.0 0.0 21 +#fix 2 all langevin/spin 1.0 0.1 0.0 21 +fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix -fix 3 all nve/spin mpi +fix 3 all integration/spin mpi #compute real time, total magnetization, magnetic energy, and spin temperature #Iteration | Time | Mx | My | Mz | |M| | Em | Tm @@ -96,7 +96,7 @@ compute mag all compute/spin fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g #Setting the timestep for the simulation (in ps) -timestep 0.00001 +timestep 0.0001 ################## #######run######## @@ -106,6 +106,6 @@ timestep 0.00001 dump 1 all custom 100 dump_spin_MM.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 10000 +run 100000 #run 1 diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 61ead88129..6018fc28f0 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -14,14 +14,14 @@ #include #include #include -#include "atom_vec_spin.h" #include "atom.h" +#include "atom_vec_spin.h" #include "comm.h" #include "domain.h" -#include "modify.h" +#include "error.h" #include "fix.h" #include "memory.h" -#include "error.h" +#include "modify.h" using namespace LAMMPS_NS; diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 9516bcde90..ed69a76229 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -13,16 +13,16 @@ #include #include -#include "compute_spin.h" #include "atom.h" -#include "update.h" -#include "modify.h" +#include "compute_spin.h" #include "domain.h" -#include "memory.h" #include "error.h" +#include "force.h" #include "math_special.h" #include "math_const.h" -#include "force.h" +#include "memory.h" +#include "modify.h" +#include "update.h" using namespace LAMMPS_NS; using namespace MathSpecial; diff --git a/src/SPIN/fix_force_spin.cpp b/src/SPIN/fix_force_spin.cpp index 44948f8ea3..daa34e9df6 100644 --- a/src/SPIN/fix_force_spin.cpp +++ b/src/SPIN/fix_force_spin.cpp @@ -15,18 +15,19 @@ #include #include #include -#include "fix_force_spin.h" + #include "atom.h" -#include "update.h" #include "domain.h" -#include "respa.h" -#include "modify.h" -#include "input.h" -#include "variable.h" -#include "math_const.h" #include "error.h" +#include "fix_force_spin.h" #include "force.h" +#include "input.h" +#include "math_const.h" #include "memory.h" +#include "modify.h" +#include "respa.h" +#include "update.h" +#include "variable.h" using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_integration_spin.cpp similarity index 85% rename from src/SPIN/fix_nve_spin.cpp rename to src/SPIN/fix_integration_spin.cpp index 19aefe661a..01e4dc902c 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -14,27 +14,26 @@ #include #include #include -#include "fix_nve_spin.h" + #include "atom.h" #include "atom_vec.h" -#include "update.h" -#include "respa.h" -#include "force.h" #include "error.h" +#include "fix_force_spin.h" +#include "fix_integration_spin.h" +#include "fix_langevin_spin.h" +#include "force.h" #include "math_vector.h" #include "math_extra.h" #include "math_const.h" +#include "memory.h" #include "modify.h" - -//Add headers (see delete later) #include "neighbor.h" #include "neigh_list.h" #include "pair.h" -#include "pair_spin.h" -#include "memory.h" -#include "fix_force_spin.h" -#include "fix_langevin_spin.h" #include "pair_hybrid.h" +#include "pair_spin.h" +#include "respa.h" +#include "update.h" using namespace LAMMPS_NS; using namespace FixConst; @@ -45,11 +44,11 @@ enum{NONE,SPIN}; /* ---------------------------------------------------------------------- */ -FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : +FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : FixNVE(lmp, narg, arg) { - if (narg != 4) error->all(FLERR,"Illegal fix nve/spin command"); + if (narg != 4) error->all(FLERR,"Illegal fix integration/spin command"); time_integrate = 1; @@ -57,18 +56,18 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : mpi_flag = NONE; int iarg = 2; - if (strcmp(arg[iarg],"nve/spin") == 0) { + if (strcmp(arg[iarg],"integration/spin") == 0) { extra = SPIN; if (strcmp(arg[iarg+1],"serial") == 0){ mpi_flag = 0; } else if (strcmp(arg[iarg+1],"mpi") == 0) { mpi_flag = 1; - } else error->all(FLERR,"Illegal fix nve/spin command"); - } else error->all(FLERR,"Illegal fix nve/spin command"); + } else error->all(FLERR,"Illegal fix integration/spin command"); + } else error->all(FLERR,"Illegal fix integration/spin command"); // error checks if (extra == SPIN && !atom->mumag_flag) - error->all(FLERR,"Fix nve/spin requires spin attribute mumag"); + error->all(FLERR,"Fix integration/spin requires spin attribute mumag"); exch_flag = dmi_flag = me_flag = 0; zeeman_flag = aniso_flag = 0; @@ -80,7 +79,7 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : } /* ---------------------------------------------------------------------- */ -FixNVESpin::~FixNVESpin(){ +FixIntegrationSpin::~FixIntegrationSpin(){ //delete lockpairspin; //delete lockforcespin; memory->destroy(xi); @@ -89,9 +88,6 @@ FixNVESpin::~FixNVESpin(){ memory->destroy(rsec); memory->destroy(seci); -#if defined SECTOR_PRINT - fclose(file_sect); -#endif memory->destroy(spi); memory->destroy(spj); memory->destroy(fmi); @@ -100,20 +96,20 @@ FixNVESpin::~FixNVESpin(){ /* ---------------------------------------------------------------------- */ -void FixNVESpin::init() +void FixIntegrationSpin::init() { FixNVE::init(); dts = update->dt; - memory->create(xi,3,"nves:xi"); - memory->create(sec,3,"nves:sec"); - memory->create(rsec,3,"nves:rsec"); - memory->create(seci,3,"nves:seci"); + memory->create(xi,3,"integrations:xi"); + memory->create(sec,3,"integrations:sec"); + memory->create(rsec,3,"integrations:rsec"); + memory->create(seci,3,"integrations:seci"); - memory->create(spi,3,"nves:spi"); - memory->create(spj,3,"nves:spj"); - memory->create(fmi,3,"nves:fmi"); - memory->create(fmj,3,"nves:fmj"); + memory->create(spi,3,"integrations:spi"); + memory->create(spj,3,"integrations:spj"); + memory->create(fmi,3,"integrations:fmi"); + memory->create(fmj,3,"integrations:fmj"); if (strstr(force->pair_style,"pair/spin")) { @@ -127,7 +123,7 @@ void FixNVESpin::init() lockpairspin = (PairSpin *) lockhybrid->styles[ipair]; } } - } else error->all(FLERR,"Illegal fix nve/spin command"); + } else error->all(FLERR,"Illegal fix integration/spin command"); // check errors, and handle simple hybrid (not overlay) @@ -168,24 +164,11 @@ void FixNVESpin::init() sectoring(); } -#if defined SECTOR_PRINT - file_sect=fopen("sectoring.lammpstrj", "w"); - fprintf(file_sect,"ITEM: TIMESTEP\n"); - fprintf(file_sect,"%g\n",0.0); - fprintf(file_sect,"ITEM: NUMBER OF ATOMS\n"); - //int natoms = atom->natoms; - int natoms = atom->nlocal; - fprintf(file_sect,"%d\n",natoms); - fprintf(file_sect,"ITEM: BOX BOUNDS\n"); - for(int d=0; d<3; d++) fprintf(file_sect,"%lf %lf\n",domain->boxlo[d],domain->boxhi[d]); - fprintf(file_sect,"ITEM: ATOMS type x y z vx vy vz\n"); -#endif - } /* ---------------------------------------------------------------------- */ -void FixNVESpin::initial_integrate(int vflag) +void FixIntegrationSpin::initial_integrate(int vflag) { double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; double cp[3],g[3]; @@ -260,7 +243,7 @@ void FixNVESpin::initial_integrate(int vflag) ComputeInteractionsSpin(i); AdvanceSingleSpin(i,0.5*dts,sp,fm); } - } else error->all(FLERR,"Illegal fix nve/spin command"); + } else error->all(FLERR,"Illegal fix integration/spin command"); } // update half x for all particles @@ -272,28 +255,24 @@ void FixNVESpin::initial_integrate(int vflag) } } +} + +/* ---------------------------------------------------------------------- */ +void FixIntegrationSpin::ComputeMMforce() +{ + const int nlocal = atom->nlocal; + int i,j,jj,inum,jnum,itype,jtype; + int *ilist,*jlist,*numneigh,**firstneigh; + double **x = atom->x; + double **f = atom->f; + double **sp = atom->sp; + const int newton_pair = force->newton_pair; -#if defined SECTOR_PRINT - int my_rank; - MPI_Comm_rank(world, &my_rank); - if (my_rank == 0) { - for (int j = 0; j < nsectors; j++) { - for (int i = 0; i < nlocal; i++) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - fprintf(file_sect,"%d %lf %lf %lf %lf %lf %lf\n",j,xi[0],xi[1],xi[2],0.0,0.0,1.0); - } - } - } -#endif } /* ---------------------------------------------------------------------- */ -void FixNVESpin::ComputeInteractionsSpin(int ii) +void FixIntegrationSpin::ComputeInteractionsSpin(int ii) { const int nlocal = atom->nlocal; @@ -403,7 +382,7 @@ void FixNVESpin::ComputeInteractionsSpin(int ii) locklangevinspin->add_temperature(fmi); } - // replace the force by its new value + // replace the magnetic force by its new value fm[i][0] = fmi[0]; fm[i][1] = fmi[1]; fm[i][2] = fmi[2]; @@ -411,7 +390,7 @@ void FixNVESpin::ComputeInteractionsSpin(int ii) } /* ---------------------------------------------------------------------- */ -void FixNVESpin::sectoring() +void FixIntegrationSpin::sectoring() { double sublo[3],subhi[3]; double* sublotmp = domain->sublo; @@ -464,7 +443,7 @@ void FixNVESpin::sectoring() } /* ---------------------------------------------------------------------- */ -int FixNVESpin::coords2sector(double *xi) +int FixIntegrationSpin::coords2sector(double *xi) { int nseci; double sublo[3]; @@ -489,7 +468,7 @@ int FixNVESpin::coords2sector(double *xi) /* ---------------------------------------------------------------------- */ -void FixNVESpin::AdvanceSingleSpin(int i, double dts, double **sp, double **fm) +void FixIntegrationSpin::AdvanceSingleSpin(int i, double dts, double **sp, double **fm) { double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; double cp[3],g[3]; @@ -530,7 +509,7 @@ void FixNVESpin::AdvanceSingleSpin(int i, double dts, double **sp, double **fm) /* ---------------------------------------------------------------------- */ -void FixNVESpin::final_integrate() +void FixIntegrationSpin::final_integrate() { double dtfm,msq,scale,fm2,fmsq,energy; double cp[3],g[3]; diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_integration_spin.h similarity index 89% rename from src/SPIN/fix_nve_spin.h rename to src/SPIN/fix_integration_spin.h index cb0d006e16..bc48e4bb59 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_integration_spin.h @@ -13,7 +13,7 @@ #ifdef FIX_CLASS -FixStyle(nve/spin,FixNVESpin) +FixStyle(integration/spin,FixIntegrationSpin) #else @@ -24,18 +24,18 @@ FixStyle(nve/spin,FixNVESpin) namespace LAMMPS_NS { -class FixNVESpin : public FixNVE { +class FixIntegrationSpin : public FixNVE { public: - FixNVESpin(class LAMMPS *, int, char **); - virtual ~FixNVESpin(); + FixIntegrationSpin(class LAMMPS *, int, char **); + virtual ~FixIntegrationSpin(); void init(); virtual void initial_integrate(int); void AdvanceSingleSpin(int, double, double **, double **); virtual void final_integrate(); - void ComputeSpinInteractions(); void ComputeInteractionsSpin(int); - + void ComputeMMforce(); + void sectoring(); int coords2sector(double *); @@ -59,10 +59,6 @@ class FixNVESpin : public FixNVE { int *sec, *seci; double *rsec; -//#define SECTOR_PRINT -#if defined SECTOR_PRINT - FILE* file_sect=NULL; -#endif }; } diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index 8079000d59..53caa7391e 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -20,26 +20,27 @@ #include #include #include -#include "fix_langevin_spin.h" -#include "math_extra.h" + #include "atom.h" #include "atom_vec_ellipsoid.h" -#include "force.h" -#include "update.h" -#include "modify.h" +#include "comm.h" #include "compute.h" #include "domain.h" -#include "region.h" -#include "respa.h" -#include "comm.h" -#include "input.h" -#include "variable.h" -#include "random_mars.h" -#include "memory.h" #include "error.h" +#include "fix_langevin_spin.h" +#include "force.h" #include "group.h" +#include "input.h" #include "math_const.h" +#include "math_extra.h" +#include "memory.h" +#include "modify.h" +#include "random_mars.h" #include "random_park.h" +#include "region.h" +#include "respa.h" +#include "update.h" +#include "variable.h" using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index 0db1d353b3..e34bd21817 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -13,20 +13,19 @@ #include #include -#include "pair_spin.h" +#include + #include "atom.h" -#include "neighbor.h" -#include "neigh_list.h" #include "comm.h" +#include "error.h" #include "force.h" -#include "memory.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" #include "math_const.h" -#include "error.h" +#include "memory.h" +#include "pair_spin.h" #include "update.h" -#include - -//Add. lib. for full neighb. list -#include "neigh_request.h" using namespace LAMMPS_NS; using namespace MathConst; diff --git a/src/pair_hybrid.h b/src/pair_hybrid.h index 17b6879957..8e3925d82d 100644 --- a/src/pair_hybrid.h +++ b/src/pair_hybrid.h @@ -31,7 +31,7 @@ class PairHybrid : public Pair { friend class FixOMP; friend class Force; friend class Respa; - friend class FixNVESpin; + friend class FixIntegrationSpin; friend class Info; public: PairHybrid(class LAMMPS *); -- GitLab From 87993368f9d56c3136f74489f7cc66e4f91b3124 Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 24 Aug 2017 12:53:05 -0600 Subject: [PATCH 037/675] Commit Julien 08/24/17 - in pair_spin, magneto-mech force for exchange - compute and added in integration_spin --- src/SPIN/fix_integration_spin.cpp | 58 +++++--------- src/SPIN/fix_integration_spin.h | 1 - src/SPIN/pair_spin.cpp | 123 +++++++++++++++++++++++++++++- src/SPIN/pair_spin.h | 24 +++--- 4 files changed, 153 insertions(+), 53 deletions(-) diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index 01e4dc902c..d05f8b39ba 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -136,33 +136,19 @@ void FixIntegrationSpin::init() if (strstr(modify->fix[iforce]->style,"langevin/spin")) break; locklangevinspin = (FixLangevinSpin *) modify->fix[iforce]; - if (lockpairspin->exch_flag == 1) { - exch_flag = lockpairspin->exch_flag; - } - if (lockpairspin->dmi_flag == 1) { - dmi_flag = lockpairspin->dmi_flag; - } - if (lockpairspin->me_flag == 1) { - me_flag = lockpairspin->me_flag; - } + // set flags for the different magnetic interactions + if (lockpairspin->exch_flag == 1) exch_flag = 1; + if (lockpairspin->dmi_flag == 1) dmi_flag = 1; + if (lockpairspin->me_flag == 1) me_flag = 1; - if (lockforcespin->zeeman_flag == 1) { - zeeman_flag = lockforcespin->zeeman_flag; - } - if (lockforcespin->aniso_flag == 1) { - aniso_flag = lockforcespin->aniso_flag; - } + if (lockforcespin->zeeman_flag == 1) zeeman_flag = 1; + if (lockforcespin->aniso_flag == 1) aniso_flag = 1; - if (locklangevinspin->tdamp_flag == 1) { - tdamp_flag = locklangevinspin->tdamp_flag; - } - if (locklangevinspin->temp_flag == 1){ - temp_flag = locklangevinspin->temp_flag; - } + if (locklangevinspin->tdamp_flag == 1) tdamp_flag = 1; + if (locklangevinspin->temp_flag == 1) temp_flag = 1; - if (mpi_flag == 1) { - sectoring(); - } + // perform the sectoring if mpi integration + if (mpi_flag == 1) sectoring(); } @@ -185,6 +171,11 @@ void FixIntegrationSpin::initial_integrate(int vflag) int *type = atom->type; int *mask = atom->mask; + // compute and add magneto-mech. force + if (exch_flag) { + lockpairspin->compute_magnetomech(0,vflag); + } + // update half v all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { @@ -257,20 +248,6 @@ void FixIntegrationSpin::initial_integrate(int vflag) } -/* ---------------------------------------------------------------------- */ -void FixIntegrationSpin::ComputeMMforce() -{ - const int nlocal = atom->nlocal; - int i,j,jj,inum,jnum,itype,jtype; - int *ilist,*jlist,*numneigh,**firstneigh; - double **x = atom->x; - double **f = atom->f; - double **sp = atom->sp; - const int newton_pair = force->newton_pair; - - -} - /* ---------------------------------------------------------------------- */ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) { @@ -524,6 +501,11 @@ void FixIntegrationSpin::final_integrate() int *type = atom->type; int *mask = atom->mask; + // compute and add exchange magneto-mech. force + if (exch_flag) { + lockpairspin->compute_magnetomech(0,0); + } + // update half v for all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { diff --git a/src/SPIN/fix_integration_spin.h b/src/SPIN/fix_integration_spin.h index bc48e4bb59..ff85dedc03 100644 --- a/src/SPIN/fix_integration_spin.h +++ b/src/SPIN/fix_integration_spin.h @@ -34,7 +34,6 @@ class FixIntegrationSpin : public FixNVE { void AdvanceSingleSpin(int, double, double **, double **); virtual void final_integrate(); void ComputeInteractionsSpin(int); - void ComputeMMforce(); void sectoring(); int coords2sector(double *); diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index e34bd21817..689e3f8844 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -66,6 +66,8 @@ PairSpin::~PairSpin() memory->destroy(spi); memory->destroy(spj); + memory->destroy(fi); + memory->destroy(fj); memory->destroy(fmi); memory->destroy(fmj); @@ -73,6 +75,92 @@ PairSpin::~PairSpin() } } + +/* ---------------------------------------------------------------------- */ + +void PairSpin::compute_magnetomech(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double evdwl,ecoul; + double xtmp,ytmp,ztmp; + double fix,fiy,fiz,fjx,fjy,fjz; + double cut_ex_2,cut_dmi_2,cut_me_2; + double rsq,rd,delx,dely,delz; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + double **x = atom->x; + double **f = atom->f; + double *mumag = atom->mumag; + double **sp = atom->sp; + int *type = atom->type; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // pair magneto-mechanics interactions + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + //Loop on Neighbors + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + fi[0] = fi[1] = fi[2] = 0.0; + fj[0] = fj[1] = fj[2] = 0.0; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; //square or inter-atomic distance + itype = type[i]; + jtype = type[j]; + + // mech. exchange interaction + if (exch_flag) { + cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; + if (rsq <= cut_ex_2) { + compute_exchange_mech(i,j,rsq,fi,fj,spi,spj); + } + } + + f[i][0] += fi[0]; + f[i][1] += fi[1]; + f[i][2] += fi[2]; + + // think about this sign, - or + ? + if (newton_pair || j < nlocal) { + f[j][0] += fj[0]; + f[j][1] += fj[1]; + f[j][2] += fj[2]; + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + /* ---------------------------------------------------------------------- */ void PairSpin::compute(int eflag, int vflag) @@ -102,8 +190,8 @@ void PairSpin::compute(int eflag, int vflag) numneigh = list->numneigh; firstneigh = list->firstneigh; - // Pair spin computations - // Loop over neighbors of my itoms + // pair spin computations + // loop over neighbors of my atoms for (ii = 0; ii < inum; ii++) { i = ilist[ii]; @@ -176,7 +264,7 @@ void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double * { int *type = atom->type; int itype, jtype; - double dmix,dmiy,dmiz; + //double dmix,dmiy,dmiz; double Jex, ra; itype = type[i]; jtype = type[j]; @@ -196,6 +284,33 @@ void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double * } +/* ---------------------------------------------------------------------- */ +void PairSpin::compute_exchange_mech(int i, int j, double rsq, double *fmi, double *fmj, double *spi, double *spj) +{ + int *type = atom->type; + int itype, jtype; + //double dmix,dmiy,dmiz; + double Jex_mech, ra, rr; + itype = type[i]; + jtype = type[j]; + + ra = rsq/J_3[itype][jtype]/J_3[itype][jtype]; + rr = sqrt(rsq)/J_3[itype][jtype]/J_3[itype][jtype]; + Jex_mech = 1.0-2.0*J_2[itype][jtype]*ra; + Jex_mech -= ra*(1.0-J_2[itype][jtype]*ra); + Jex_mech *= 8.0*J_1[itype][jtype]*rr*exp(-ra); + + + fi[0] += Jex_mech*spi[0]*spj[0]; + fi[1] += Jex_mech*spi[1]*spj[1]; + fi[2] += Jex_mech*spi[2]*spj[2]; + + fj[0] += Jex_mech*spi[0]*spj[0]; + fj[1] += Jex_mech*spi[1]*spj[1]; + fj[2] += Jex_mech*spi[2]*spj[2]; + +} + /* ---------------------------------------------------------------------- */ void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj, double *spi, double *spj) { @@ -289,6 +404,8 @@ void PairSpin::allocate() memory->create(spi,3,"pair:spi"); memory->create(spj,3,"pair:spj"); + memory->create(fi,3,"pair:fmi"); + memory->create(fj,3,"pair:fmj"); memory->create(fmi,3,"pair:fmi"); memory->create(fmj,3,"pair:fmj"); diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h index 2c65c62264..36469d5acf 100755 --- a/src/SPIN/pair_spin.h +++ b/src/SPIN/pair_spin.h @@ -29,6 +29,7 @@ class PairSpin : public Pair { PairSpin(class LAMMPS *); virtual ~PairSpin(); virtual void compute(int, int); + virtual void compute_magnetomech(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); @@ -40,6 +41,7 @@ class PairSpin : public Pair { void read_restart_settings(FILE *); void compute_exchange(int, int, double, double *, double *,double *, double *); + void compute_exchange_mech(int, int, double, double *, double *,double *, double *); void compute_dmi(int, int, double *, double *, double *, double *); void compute_me(int, int, double *, double *, double *, double *); @@ -49,23 +51,23 @@ class PairSpin : public Pair { double cut_spin_pair_global; double cut_spin_dipolar_global; - double **cut_spin_exchange; //cutting distance exchange - double **cut_spin_dmi; //cutting distance dmi - double **cut_spin_me; //cutting distance me + double **cut_spin_exchange; // cutoff distance exchange + double **cut_spin_dmi; // cutoff distance dmi + double **cut_spin_me; // cutoff distance me - //Test for seq. integ. protected: - double **J_1, **J_2, **J_3; //exchange coeffs Jij - //J1 in eV, J2 adim and J3 in Ang + double **J_1, **J_2, **J_3; // exchange coeffs Jij + // J1 in eV, J2 adim and J3 in Ang double **DM; - double **v_dmx, **v_dmy, **v_dmz;//DMI coeffs - //DM int. in eV, v direction + double **v_dmx, **v_dmy, **v_dmz;// DMI coeffs + // DM int. in eV, v direction - double **ME; //ME in eV - double **v_mex, **v_mey, **v_mez;//ME direction + double **ME; // ME in eV + double **v_mex, **v_mey, **v_mez;// ME direction double *spi, *spj; - double *fmi, *fmj; //Temp var. in compute + double *fi, *fj; // temp. mech. forces in compute + double *fmi, *fmj; // temp. mag. forces in compute void allocate(); }; -- GitLab From d144ab01641eeed41a21da286f036b8bd3865fe6 Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 6 Sep 2017 14:43:40 -0600 Subject: [PATCH 038/675] Commit Julien 09/06/17 - units of J1_mag and J1_mech - correct of pack and unpack in atom_vec_spin - add conditions in fix_integration_spin --- in.co_magnetomech | 17 ++- in.cobalt | 15 +-- src/SPIN/atom_vec_spin.cpp | 18 ++- src/SPIN/atom_vec_spin.h | 6 +- src/SPIN/compute_spin.cpp | 11 +- src/SPIN/fix_force_spin.cpp | 41 +++---- src/SPIN/fix_force_spin.h | 23 ++-- src/SPIN/fix_integration_spin.cpp | 183 +++++++++++++++++------------- src/SPIN/fix_integration_spin.h | 52 +++++---- src/SPIN/fix_langevin_spin.cpp | 28 +++-- src/SPIN/fix_langevin_spin.h | 12 +- src/SPIN/pair_spin.cpp | 136 ++++++++++++---------- src/SPIN/pair_spin.h | 21 ++-- 13 files changed, 321 insertions(+), 242 deletions(-) diff --git a/in.co_magnetomech b/in.co_magnetomech index da9e5366f1..40a6d37a2c 100644 --- a/in.co_magnetomech +++ b/in.co_magnetomech @@ -63,6 +63,7 @@ pair_coeff * * eam/alloy ../Co_PurjaPun_2012.eam.alloy Co #pair_style pair/spin 4.0 #type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) pair_coeff * * pair/spin exchange 4.0 0.0446928 0.003496 1.4885 +#pair_coeff * * pair/spin exchange 4.0 0.0 0.003496 1.4885 #type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) #pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 #pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 @@ -76,8 +77,8 @@ neigh_modify every 1 check no delay 0 #Magnetic field fix #Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 10.0 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 +fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.01 0.0 0.0 1.0 #fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 @@ -85,7 +86,7 @@ fix 1 all force/spin zeeman 10.0 0.0 0.0 1.0 #Temp | Alpha_trans | Alpha_long | Seed #fix 2 all langevin/spin 0.0 0.1 0.0 21 #fix 2 all langevin/spin 1.0 0.1 0.0 21 -fix 2 all langevin/spin 0.0 0.0 0.0 21 +fix 2 all langevin/spin 0.1 0.01 0.0 21 #Magnetic integration fix fix 3 all integration/spin mpi @@ -95,6 +96,14 @@ fix 3 all integration/spin mpi compute mag all compute/spin fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g +#compute mechanical energy +compute mech all pe +fix outmech all ave/time 1 1 10 c_mech file mech_Co_nodamp.dat format %20.16g + +#compute kinetic energy +compute kinetic all ke +fix outke all ave/time 1 1 10 c_kinetic file kinetic_Co_nodamp.dat format %20.16g + #Setting the timestep for the simulation (in ps) timestep 0.0001 @@ -106,6 +115,6 @@ timestep 0.0001 dump 1 all custom 100 dump_spin_MM.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 100000 +run 50000 #run 1 diff --git a/in.cobalt b/in.cobalt index ebc2017a5d..9fff327a51 100644 --- a/in.cobalt +++ b/in.cobalt @@ -59,7 +59,8 @@ set group all spin 1.72 1.0 0.0 0.0 #Magnetic exchange interaction coefficient for bulk fcc Cobalt pair_style pair/spin 4.0 #type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +#pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff * * exchange 4.0 0.0 0.003496 1.4885 #type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) #pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 #pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 @@ -72,19 +73,19 @@ neigh_modify every 1 check no delay 0 #Magnetic field fix #Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 +#fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 +fix 1 all force/spin anisotropy 0.00 0.0 0.0 1.0 #fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 #Fix Langevin spins (merging damping and temperature) #Temp | Alpha_trans | Alpha_long | Seed #fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 1.0 0.1 0.0 21 +fix 2 all langevin/spin 0.0 0.0 0.0 21 #fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix -fix 3 all nve/spin mpi +fix 3 all integration/spin mpi #compute real time, total magnetization, magnetic energy, and spin temperature #Iteration | Time | Mx | My | Mz | |M| | Em | Tm @@ -102,6 +103,6 @@ timestep 0.0001 dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 20 -#run 1 +#run 10000 +run 1 diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 6018fc28f0..ccdaa13829 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -9,6 +9,12 @@ the GNU General Public License. See the README file in the top-level LAMMPS directory. + +------------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) ------------------------------------------------------------------------- */ #include @@ -30,16 +36,16 @@ using namespace LAMMPS_NS; AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) { molecular = 0; - mass_type = 1; //check why + mass_type = 1; // check why comm_x_only = 0; - comm_f_only = 1; + comm_f_only = 0; size_forward = 7; size_reverse = 6; size_border = 11; size_velocity = 3; - size_data_atom = 9; //to check later + size_data_atom = 10; // to check later size_data_vel = 4; xcol_data = 4; @@ -67,10 +73,11 @@ void AtomVecSpin::grow(int n) type = memory->grow(atom->type,nmax,"atom:type"); mask = memory->grow(atom->mask,nmax,"atom:mask"); image = memory->grow(atom->image,nmax,"atom:image"); + // allocating mech. quantities x = memory->grow(atom->x,nmax,3,"atom:x"); v = memory->grow(atom->v,nmax,3,"atom:v"); f = memory->grow(atom->f,nmax*comm->nthreads,3,"atom:f"); - //Allocating mag. quantities + // allocating mag. quantities mumag = memory->grow(atom->mumag,nmax,"atom:mumag"); sp = memory->grow(atom->sp,nmax,4,"atom:sp"); fm = memory->grow(atom->fm,nmax*comm->nthreads,3,"atom:fm"); @@ -330,6 +337,7 @@ int AtomVecSpin::pack_reverse(int n, int first, double *buf) buf[m++] = fm[i][1]; buf[m++] = fm[i][2]; } + return m; } @@ -934,9 +942,9 @@ bigint AtomVecSpin::memory_usage() if (atom->memcheck("v")) bytes += memory->usage(v,nmax,3); if (atom->memcheck("f")) bytes += memory->usage(f,nmax*comm->nthreads,3); - if (atom->memcheck("fm")) bytes += memory->usage(fm,nmax*comm->nthreads,3); if (atom->memcheck("mumag")) bytes += memory->usage(mumag,nmax); if (atom->memcheck("sp")) bytes += memory->usage(sp,nmax,4); + if (atom->memcheck("fm")) bytes += memory->usage(fm,nmax*comm->nthreads,3); return bytes; } diff --git a/src/SPIN/atom_vec_spin.h b/src/SPIN/atom_vec_spin.h index f4b13926f0..aedc3efb3e 100644 --- a/src/SPIN/atom_vec_spin.h +++ b/src/SPIN/atom_vec_spin.h @@ -58,7 +58,7 @@ class AtomVecSpin : public AtomVec { int write_data_hybrid(FILE *, double *); bigint memory_usage(); - //Test force clear + // clear mag. and mech. forces void force_clear(int, size_t); @@ -66,8 +66,8 @@ class AtomVecSpin : public AtomVec { tagint *tag; int *type,*mask; imageint *image; - double **x,**v,**f; //MD quantities: position, velocity and force - double *mumag,**sp, **fm; //Magnetic quantities: mu, spin direction, magnetic force + double **x,**v,**f; // lattice quantities + double *mumag,**sp, **fm; // spin quantities }; diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index ed69a76229..140d6ce8ce 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -11,6 +11,11 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) +------------------------------------------------------------------------- */ + #include #include #include "atom.h" @@ -86,9 +91,9 @@ void ComputeSpin::compute_vector() double tx,ty,tz; int nlocal = atom->nlocal; - + // compute total magnetization and magnetic energy - // compute spin temperature; See Nurdin et al., Phys. Rev. E 61, 2000 + // compute spin temperature (Nurdin et al., Phys. Rev. E 61, 2000) for (i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (atom->mumag_flag && atom->sp_flag) { @@ -108,7 +113,7 @@ void ComputeSpin::compute_vector() } else error->all(FLERR,"Compute spin/compute declared magnetic quantities (sp and mumag flags)"); } - + MPI_Allreduce(mag,magtot,4,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&magenergy,&magenergytot,1,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&tempnum,&tempnumtot,1,MPI_DOUBLE,MPI_SUM,world); diff --git a/src/SPIN/fix_force_spin.cpp b/src/SPIN/fix_force_spin.cpp index daa34e9df6..9791d622a0 100644 --- a/src/SPIN/fix_force_spin.cpp +++ b/src/SPIN/fix_force_spin.cpp @@ -11,6 +11,11 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) +------------------------------------------------------------------------- */ + #include #include #include @@ -41,7 +46,7 @@ enum{CONSTANT,EQUAL}; FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - if (narg < 7) error->all(FLERR,"Illegal fix spin command"); + if (narg < 7) error->all(FLERR,"Illegal force/spin command"); // 7 arguments for a force/spin fix command: //(fix ID group force/spin magnitude (T or eV) style (zeeman or anisotropy) direction (3 cartesian coordinates) @@ -65,7 +70,7 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a zeeman_flag = aniso_flag = 0; if (strcmp(arg[3],"zeeman") == 0) { - if (narg != 8) error->all(FLERR,"Illegal fix zeeman command"); + if (narg != 8) error->all(FLERR,"Illegal force/spin command"); style = ZEEMAN; zeeman_flag = 1; H_field = force->numeric(FLERR,arg[4]); @@ -74,14 +79,14 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a Hz = force->numeric(FLERR,arg[7]); magfieldstyle = CONSTANT; } else if (strcmp(arg[3],"anisotropy") == 0) { - if (narg != 8) error->all(FLERR,"Illegal fix anisotropy command"); + if (narg != 8) error->all(FLERR,"Illegal force/spin command"); style = ANISOTROPY; aniso_flag = 1; Ka = force->numeric(FLERR,arg[4]); Kax = force->numeric(FLERR,arg[5]); Kay = force->numeric(FLERR,arg[6]); Kaz = force->numeric(FLERR,arg[7]); - } else error->all(FLERR,"Illegal fix force/spin command"); + } else error->all(FLERR,"Illegal force/spin command"); degree2rad = MY_PI/180.0; time_origin = update->ntimestep; @@ -115,12 +120,12 @@ int FixForceSpin::setmask() void FixForceSpin::init() { - const double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) - const double mub = 5.78901e-5; //in eV/T - const double gyro = mub/hbar; //in rad.THz/T + const double hbar = force->hplanck/MY_2PI; // eV/(rad.THz) + const double mub = 5.78901e-5; // in eV/T + const double gyro = mub/hbar; // in rad.THz/T - H_field *= gyro; //in rad.THz - Ka /= hbar; //in rad.THz + H_field *= gyro; // in rad.THz + Ka /= hbar; // in rad.THz if (strstr(update->integrate_style,"respa")) { ilevel_respa = ((Respa *) update->integrate)->nlevels-1; @@ -131,15 +136,15 @@ void FixForceSpin::init() if (magstr) { magvar = input->variable->find(magstr); if (magvar < 0) - error->all(FLERR,"Variable name for fix magnetic field does not exist"); + error->all(FLERR,"Illegal force/spin command"); if (!input->variable->equalstyle(magvar)) - error->all(FLERR,"Variable for fix magnetic field is invalid style"); + error->all(FLERR,"Illegal force/spin command"); } varflag = CONSTANT; if (magfieldstyle != CONSTANT) varflag = EQUAL; - // set magnetic field components once and for all + // set magnetic field components if (varflag == CONSTANT) set_magneticforce(); memory->create(spi,3,"forcespin:spi"); @@ -168,26 +173,23 @@ void FixForceSpin::post_force(int vflag) if (varflag != CONSTANT) { modify->clearstep_compute(); modify->addstep_compute(update->ntimestep + 1); - set_magneticforce(); //Update value of the mag. field if time-dependent + set_magneticforce(); // update mag. field if time-dep. } -// double **x = atom->x; double **sp = atom->sp; double *mumag = atom->mumag; double **fm = atom->fm; const int nlocal = atom->nlocal; double scalar; - + eflag = 0; emag = 0.0; for (int i = 0; i < nlocal; i++) { fmi[0] = fmi[1] = fmi[2] = 0.0; - //if (style == ZEEMAN) { if (zeeman_flag) { compute_zeeman(i,fmi); } - //if (style == ANISOTROPY) { if (aniso_flag) { spi[0] = sp[i][0]; spi[1] = sp[i][1]; @@ -197,7 +199,9 @@ void FixForceSpin::post_force(int vflag) fm[i][0] += fmi[0]; fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; - } + + } + } @@ -226,7 +230,6 @@ void FixForceSpin::post_force_respa(int vflag, int ilevel, int iloop) } /* ---------------------------------------------------------------------- */ -//No acceleration for magnetic EOM, only a "magnetic force" void FixForceSpin::set_magneticforce() { if (style == ZEEMAN) { diff --git a/src/SPIN/fix_force_spin.h b/src/SPIN/fix_force_spin.h index a422abad2c..a31e2f888c 100644 --- a/src/SPIN/fix_force_spin.h +++ b/src/SPIN/fix_force_spin.h @@ -42,9 +42,9 @@ class FixForceSpin : public Fix { void compute_anisotropy(int, double *, double *); protected: - int style; + int style; // style of the magnetic force - double xmag, ymag, zmag; //Magnetic force + double xmag, ymag, zmag; // temp. force variables double degree2rad; int ilevel_respa; int time_origin; @@ -56,13 +56,16 @@ class FixForceSpin : public Fix { int magvar; char *magstr; - double H_field; //Zeeman field intensity and direction + // zeeman field intensity and direction + double H_field; double Hx, Hy, Hz; - double Ka; //Magnetic anisotropy intensity and direction + // magnetic anisotropy intensity and direction + double Ka; double Kax, Kay, Kaz; - double *spi, *fmi; //Temp var. in compute + // temp. spin variables + double *spi, *fmi; void set_magneticforce(); @@ -75,18 +78,10 @@ class FixForceSpin : public Fix { /* ERROR/WARNING messages: -E: Illegal ... command +E: Illegal force/spin command Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a command-line option when running LAMMPS to see the offending line. -E: Variable name for fix force/spin does not exist - -Self-explanatory. - -E: Variable for fix force/spin is invalid style - -Only equal-style variables can be used. - */ diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index d05f8b39ba..b09aabac05 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -11,6 +11,11 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) +------------------------------------------------------------------------- */ + #include #include #include @@ -45,7 +50,7 @@ enum{NONE,SPIN}; /* ---------------------------------------------------------------------- */ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : - FixNVE(lmp, narg, arg) + Fix(lmp, narg, arg) { if (narg != 4) error->all(FLERR,"Illegal fix integration/spin command"); @@ -68,9 +73,11 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : // error checks if (extra == SPIN && !atom->mumag_flag) error->all(FLERR,"Fix integration/spin requires spin attribute mumag"); - + magpair_flag = 0; exch_flag = dmi_flag = me_flag = 0; + magforce_flag = 0; zeeman_flag = aniso_flag = 0; + maglangevin_flag = 0; tdamp_flag = temp_flag = 0; lockpairspin = NULL; @@ -96,11 +103,25 @@ FixIntegrationSpin::~FixIntegrationSpin(){ /* ---------------------------------------------------------------------- */ +int FixIntegrationSpin::setmask() +{ + int mask = 0; + mask |= INITIAL_INTEGRATE; + mask |= FINAL_INTEGRATE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + void FixIntegrationSpin::init() { - FixNVE::init(); + //FixNVE::init(); + // set timesteps + dtv = update->dt; + dtf = 0.5 * update->dt * force->ftm2v; dts = update->dt; + memory->create(xi,3,"integrations:xi"); memory->create(sec,3,"integrations:sec"); memory->create(rsec,3,"integrations:rsec"); @@ -113,6 +134,7 @@ void FixIntegrationSpin::init() if (strstr(force->pair_style,"pair/spin")) { + magpair_flag = 1; lockpairspin = (PairSpin *) force->pair; } else if (strstr(force->pair_style,"hybrid/overlay")) { PairHybrid *lockhybrid = (PairHybrid *) force->pair; @@ -120,35 +142,48 @@ void FixIntegrationSpin::init() int ipair; for (ipair = 0; ipair < nhybrid_styles; ipair++) { if (strstr(lockhybrid->keywords[ipair],"pair/spin")) { + magpair_flag = 1; lockpairspin = (PairSpin *) lockhybrid->styles[ipair]; } } } else error->all(FLERR,"Illegal fix integration/spin command"); - // check errors, and handle simple hybrid (not overlay) + // check errors, and handle simple hybrid (not overlay), and no pair/spin interaction int iforce; - for (iforce = 0; iforce < modify->nfix; iforce++) - if (strstr(modify->fix[iforce]->style,"force/spin")) break; - lockforcespin = (FixForceSpin *) modify->fix[iforce]; + for (iforce = 0; iforce < modify->nfix; iforce++) { + if (strstr(modify->fix[iforce]->style,"force/spin")) { + magforce_flag = 1; + lockforcespin = (FixForceSpin *) modify->fix[iforce]; + } + } - for (iforce = 0; iforce < modify->nfix; iforce++) - if (strstr(modify->fix[iforce]->style,"langevin/spin")) break; - locklangevinspin = (FixLangevinSpin *) modify->fix[iforce]; + for (iforce = 0; iforce < modify->nfix; iforce++) { + if (strstr(modify->fix[iforce]->style,"langevin/spin")) { + maglangevin_flag = 1; + locklangevinspin = (FixLangevinSpin *) modify->fix[iforce]; + } + } - // set flags for the different magnetic interactions - if (lockpairspin->exch_flag == 1) exch_flag = 1; - if (lockpairspin->dmi_flag == 1) dmi_flag = 1; - if (lockpairspin->me_flag == 1) me_flag = 1; + // set flags for the different magnetic interactionsi + if (magpair_flag) { + if (lockpairspin->exch_flag == 1) exch_flag = 1; + if (lockpairspin->dmi_flag == 1) dmi_flag = 1; + if (lockpairspin->me_flag == 1) me_flag = 1; + } - if (lockforcespin->zeeman_flag == 1) zeeman_flag = 1; - if (lockforcespin->aniso_flag == 1) aniso_flag = 1; + if (magforce_flag) { + if (lockforcespin->zeeman_flag == 1) zeeman_flag = 1; + if (lockforcespin->aniso_flag == 1) aniso_flag = 1; + } - if (locklangevinspin->tdamp_flag == 1) tdamp_flag = 1; - if (locklangevinspin->temp_flag == 1) temp_flag = 1; + if (maglangevin_flag) { + if (locklangevinspin->tdamp_flag == 1) tdamp_flag = 1; + if (locklangevinspin->temp_flag == 1) temp_flag = 1; + } // perform the sectoring if mpi integration - if (mpi_flag == 1) sectoring(); + if (mpi_flag) sectoring(); } @@ -171,11 +206,15 @@ void FixIntegrationSpin::initial_integrate(int vflag) int *type = atom->type; int *mask = atom->mask; + printf("before mechmag, spin 1: [%g,%g,%g] \n",f[1][0],f[1][1],f[1][2]); + // compute and add magneto-mech. force - if (exch_flag) { - lockpairspin->compute_magnetomech(0,vflag); + if (magpair_flag == 1) { + if (exch_flag) lockpairspin->compute_magnetomech(0,vflag); } + printf("after mechmag, spin 1: [%g,%g,%g] \n",f[1][0],f[1][1],f[1][2]); + // update half v all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { @@ -263,7 +302,7 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) const int newton_pair = force->newton_pair; // add test here - if (exch_flag == 1 || dmi_flag == 1 || me_flag == 1 ) { + if (magpair_flag) { inum = lockpairspin->list->inum; ilist = lockpairspin->list->ilist; numneigh = lockpairspin->list->numneigh; @@ -286,9 +325,6 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) // force computation for spin i i = ilist[ii]; - // clear atom i - fm[i][0] = fm[i][1] = fm[i][2] = 0.0; - spi[0] = sp[i][0]; spi[1] = sp[i][1]; spi[2] = sp[i][2]; @@ -316,50 +352,54 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) itype = type[ii]; jtype = type[j]; - if (exch_flag) { - cut_ex_2 = (lockpairspin->cut_spin_exchange[itype][jtype])*(lockpairspin->cut_spin_exchange[itype][jtype]); - if (rsq <= cut_ex_2) { - lockpairspin->compute_exchange(i,j,rsq,fmi,fmj,spi,spj); - } - } + if (magpair_flag) { // mag. pair inter. + double temp_cut; + if (exch_flag) { // exchange + temp_cut = lockpairspin->cut_spin_exchange[itype][jtype]; + cut_ex_2 = temp_cut*temp_cut; + if (rsq <= cut_ex_2) { + lockpairspin->compute_exchange(i,j,rsq,fmi,fmj,spi,spj); + } + } + if (dmi_flag) { // dmi + temp_cut = lockpairspin->cut_spin_dmi[itype][jtype]; + cut_dmi_2 = temp_cut*temp_cut; + if (rsq <= cut_dmi_2) { + lockpairspin->compute_dmi(i,j,fmi,fmj,spi,spj); + } + } + if (me_flag) { // me + temp_cut = lockpairspin->cut_spin_me[itype][jtype]; + cut_me_2 = temp_cut*temp_cut; + if (rsq <= cut_me_2) { + lockpairspin->compute_me(i,j,fmi,fmj,spi,spj); + } + } + } + } - if (dmi_flag) { - cut_dmi_2 = (lockpairspin->cut_spin_dmi[itype][jtype])*(lockpairspin->cut_spin_dmi[itype][jtype]); - if (rsq <= cut_dmi_2) { - lockpairspin->compute_dmi(i,j,fmi,fmj,spi,spj); - } + if (magforce_flag) { // mag. forces + if (zeeman_flag) { // zeeman + lockforcespin->compute_zeeman(i,fmi); } - - if (me_flag) { - cut_me_2 = (lockpairspin->cut_spin_me[itype][jtype])*(lockpairspin->cut_spin_me[itype][jtype]); - if (rsq <= cut_me_2) { - lockpairspin->compute_me(i,j,fmi,fmj,spi,spj); - } + if (aniso_flag) { // aniso + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + lockforcespin->compute_anisotropy(i,spi,fmi); } - - } - - // post force - if (zeeman_flag) { - lockforcespin->compute_zeeman(i,fmi); } - if (aniso_flag) { - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - lockforcespin->compute_anisotropy(i,spi,fmi); - } - - if (tdamp_flag) { - locklangevinspin->add_tdamping(spi,fmi); + if (maglangevin_flag) { // mag. langevin + if (tdamp_flag) { // trans. damping + locklangevinspin->add_tdamping(spi,fmi); + } + if (temp_flag) { // temp. + locklangevinspin->add_temperature(fmi); + } } - if (temp_flag) { - locklangevinspin->add_temperature(fmi); - } - - // replace the magnetic force by its new value + // replace the mag. force i by its new value fm[i][0] = fmi[0]; fm[i][1] = fmi[1]; fm[i][2] = fmi[2]; @@ -397,7 +437,7 @@ void FixIntegrationSpin::sectoring() nsectors = sec[0]*sec[1]*sec[2]; if (mpi_flag == 1 && nsectors != 8) - error->all(FLERR,"System too small for sectoring operation"); + error->all(FLERR,"Illegal sectoring operation"); rsec[0] = rsx; rsec[1] = rsy; @@ -406,17 +446,6 @@ void FixIntegrationSpin::sectoring() if (sec[1] == 2) rsec[1] = rsy/2.0; if (sec[2] == 2) rsec[2] = rsz/2.0; - /* - if (2.0 * rv >= rsx && sec[0] >= 2) - error->all(FLERR,"Illegal number of sectors"); - - if (2.0 * rv >= rsy && sec[1] >= 2) - error->all(FLERR,"Illegal number of sectors"); - - if (2.0 * rv >= rsz && sec[2] >= 2) - error->all(FLERR,"Illegal number of sectors"); -*/ - } /* ---------------------------------------------------------------------- */ @@ -501,9 +530,9 @@ void FixIntegrationSpin::final_integrate() int *type = atom->type; int *mask = atom->mask; - // compute and add exchange magneto-mech. force - if (exch_flag) { - lockpairspin->compute_magnetomech(0,0); + // compute and add magneto-mech. force + if (magpair_flag == 1) { + if (exch_flag) lockpairspin->compute_magnetomech(0,0); } // update half v for all particles diff --git a/src/SPIN/fix_integration_spin.h b/src/SPIN/fix_integration_spin.h index ff85dedc03..96f0035919 100644 --- a/src/SPIN/fix_integration_spin.h +++ b/src/SPIN/fix_integration_spin.h @@ -17,43 +17,57 @@ FixStyle(integration/spin,FixIntegrationSpin) #else -#ifndef LMP_FIX_NVE_SPIN_H -#define LMP_FIX_NVE_SPIN_H +#ifndef LMP_FIX_INTEGRATION_SPIN_H +#define LMP_FIX_INTEGRATION_SPIN_H -#include "fix_nve.h" +#include "fix.h" namespace LAMMPS_NS { -class FixIntegrationSpin : public FixNVE { +class FixIntegrationSpin : public Fix { public: FixIntegrationSpin(class LAMMPS *, int, char **); virtual ~FixIntegrationSpin(); + int setmask(); void init(); virtual void initial_integrate(int); - void AdvanceSingleSpin(int, double, double **, double **); virtual void final_integrate(); + + // compute and advance single spin void ComputeInteractionsSpin(int); + void AdvanceSingleSpin(int, double, double **, double **); - void sectoring(); + // sectoring operations + void sectoring(); int coords2sector(double *); protected: int extra, mpi_flag; - double dts; + + // vel., force, and spin timesteps + double dtv,dtf,dts; + // mag. interaction flags + int magpair_flag; int exch_flag, dmi_flag, me_flag; + int magforce_flag; int zeeman_flag, aniso_flag; + int maglangevin_flag; int tdamp_flag, temp_flag; + // pointers to mag. interaction classes class PairHybrid *lockhybrid; class PairSpin *lockpairspin; class FixForceSpin *lockforcespin; class FixLangevinSpin *locklangevinspin; - double *spi, *spj, *fmi, *fmj; //Temp var. + // temporary variables double *xi; + double *spi, *spj; + double *fmi, *fmj; + // sectoring variables int nsectors; int *sec, *seci; double *rsec; @@ -67,27 +81,19 @@ class FixIntegrationSpin : public FixNVE { /* ERROR/WARNING messages: -E: Illegal ... command +E: Illegal fix integration/spin command -Self-explanatory. Check the input script syntax and compare to the +Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a command-line option when running LAMMPS to see the offending line. -E: Fix nve/sphere requires atom style sphere - -Self-explanatory. +E: Fix integration/spin requires spin attribute mumag -E: Fix nve/sphere update dipole requires atom attribute mu +An atom/spin style with this attribute is needed. -An atom style with this attribute is needed. - -E: Fix nve/sphere requires extended particles - -This fix can only be used for particles of a finite size. - -E: Fix nve/sphere dlm must be used with update dipole - -The DLM algorithm can only be used in conjunction with update dipole. +E: Illegal sectoring operation +The number of processes does not match the size of the system. +See the documentation of the sectoring method. */ diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index 53caa7391e..4f59f8f4d7 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -12,8 +12,8 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing authors: Carolyn Phillips (U Mich), reservoir energy tally - Aidan Thompson (SNL) GJF formulation + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) ------------------------------------------------------------------------- */ #include @@ -51,7 +51,7 @@ using namespace MathConst; FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), id_temp(NULL), random(NULL) { - if (narg != 7) error->all(FLERR,"Illegal fix langevin/spin command"); + if (narg != 7) error->all(FLERR,"Illegal langevin/spin command"); dynamic_group_allow = 1; scalar_flag = 1; @@ -65,7 +65,7 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : seed = force->inumeric(FLERR,arg[6]); if (alpha_t < 0.0) { - error->all(FLERR,"Illegal fix/langevin/spin command"); + error->all(FLERR,"Illegal langevin/spin command"); } else if (alpha_t == 0.0) { tdamp_flag = 0; } else { @@ -73,7 +73,7 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : } if (alpha_l < 0.0) { - error->all(FLERR,"Illegal fix/langevin/spin command"); + error->all(FLERR,"Illegal langevin/spin command"); } else if (alpha_l == 0.0) { ldamp_flag = 0; } else { @@ -81,7 +81,7 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : } if (temp < 0.0) { - error->all(FLERR,"Illegal fix/langevin/spin command"); + error->all(FLERR,"Illegal langevin/spin command"); } else if (temp == 0.0) { temp_flag = 0; } else { @@ -201,8 +201,9 @@ void FixLangevinSpin::add_tdamping(double *spi, double *fmi) double cpx = fmi[1]*spi[2] - fmi[2]*spi[1]; double cpy = fmi[2]*spi[0] - fmi[0]*spi[2]; double cpz = fmi[0]*spi[1] - fmi[1]*spi[0]; - - fmi[0] -= alpha_t*cpx;//Taking the damping value away + + // taking away the transverse damping + fmi[0] -= alpha_t*cpx; fmi[1] -= alpha_t*cpy; fmi[2] -= alpha_t*cpz; } @@ -212,7 +213,8 @@ void FixLangevinSpin::add_temperature(double *fmi) { //#define GAUSSIAN_R #if defined GAUSSIAN_R - double rx = sigma*random->gaussian();//Drawing random dist + // drawing gausian random dist + double rx = sigma*random->gaussian(); double ry = sigma*random->gaussian(); double rz = sigma*random->gaussian(); #else @@ -221,11 +223,13 @@ void FixLangevinSpin::add_temperature(double *fmi) double rz = sigma*(random->uniform() - 0.5); #endif - fmi[0] += rx;//Adding random field + // adding the random field + fmi[0] += rx; fmi[1] += ry; fmi[2] += rz; - - fmi[0] *= Gil_factor;//Multiplying by Gilbert's prefactor + + // adding Gilbert's prefactor + fmi[0] *= Gil_factor; fmi[1] *= Gil_factor; fmi[2] *= Gil_factor; diff --git a/src/SPIN/fix_langevin_spin.h b/src/SPIN/fix_langevin_spin.h index a6b9bc5df3..2fe6c6fab5 100644 --- a/src/SPIN/fix_langevin_spin.h +++ b/src/SPIN/fix_langevin_spin.h @@ -33,15 +33,19 @@ class FixLangevinSpin : public Fix { void setup(int); virtual void post_force(int); void post_force_respa(int, int, int); + // add transverse damping and temperature void add_tdamping(double *, double *); void add_temperature(double *); + // associated flags int tdamp_flag, ldamp_flag, temp_flag; protected: double *spi, *fmi; - double alpha_t, alpha_l; //Transverse and long. damping value - double dts,temp,D,sigma;//timestep, temp, noise - double Gil_factor;//Gilbert's prefactor + // transverse and longitudinal damping coeff. + double alpha_t, alpha_l; + // timestep, temperature, noise intensity + double dts,temp,D,sigma; + double Gil_factor; char *id_temp; class Compute *temperature; @@ -60,7 +64,7 @@ class FixLangevinSpin : public Fix { /* ERROR/WARNING messages: -E: Illegal ... command +E: Illegal langevin/spin command Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index 689e3f8844..b62fd867de 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -11,6 +11,11 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) +------------------------------------------------------------------------- */ + #include #include #include @@ -48,9 +53,10 @@ PairSpin::~PairSpin() memory->destroy(setflag); memory->destroy(cut_spin_exchange); - memory->destroy(J_1); - memory->destroy(J_2); - memory->destroy(J_2); + memory->destroy(J1_mag); + memory->destroy(J1_mech); + memory->destroy(J2); + memory->destroy(J3); memory->destroy(cut_spin_dmi); memory->destroy(DM); @@ -70,6 +76,7 @@ PairSpin::~PairSpin() memory->destroy(fj); memory->destroy(fmi); memory->destroy(fmj); + memory->destroy(del); memory->destroy(cutsq); } @@ -85,7 +92,7 @@ void PairSpin::compute_magnetomech(int eflag, int vflag) double xtmp,ytmp,ztmp; double fix,fiy,fiz,fjx,fjy,fjz; double cut_ex_2,cut_dmi_2,cut_me_2; - double rsq,rd,delx,dely,delz; + double rsq,rd; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; @@ -119,21 +126,21 @@ void PairSpin::compute_magnetomech(int eflag, int vflag) spi[1] = sp[i][1]; spi[2] = sp[i][2]; - //Loop on Neighbors + // loop on neighbors for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; spj[0] = sp[j][0]; spj[1] = sp[j][1]; spj[2] = sp[j][2]; - fi[0] = fi[1] = fi[2] = 0.0; fj[0] = fj[1] = fj[2] = 0.0; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; //square or inter-atomic distance + del[0] = del[1] = del[2] = 0.0; + + del[0] = x[j][0] - xtmp; + del[1] = x[j][1] - ytmp; + del[2] = x[j][2] - ztmp; + rsq = del[0]*del[0] + del[1]*del[1] + del[2]*del[2]; //square or inter-atomic distance itype = type[i]; jtype = type[j]; @@ -141,7 +148,7 @@ void PairSpin::compute_magnetomech(int eflag, int vflag) if (exch_flag) { cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; if (rsq <= cut_ex_2) { - compute_exchange_mech(i,j,rsq,fi,fj,spi,spj); + compute_exchange_mech(i,j,rsq,del,fi,fj,spi,spj); } } @@ -204,7 +211,7 @@ void PairSpin::compute(int eflag, int vflag) spi[1] = sp[i][1]; spi[2] = sp[i][2]; - //Loop on Neighbors + // loop on neighbors for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; @@ -218,25 +225,27 @@ void PairSpin::compute(int eflag, int vflag) delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; //square or inter-atomic distance + // square or inter-atomic distance + rsq = delx*delx + dely*dely + delz*delz; + itype = type[i]; jtype = type[j]; - //Exchange interaction + // exchange interaction if (exch_flag) { cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; if (rsq <= cut_ex_2) { compute_exchange(i,j,rsq,fmi,fmj,spi,spj); } } - //DM interaction + // dm interaction if (dmi_flag){ cut_dmi_2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; if (rsq <= cut_dmi_2){ compute_dmi(i,j,fmi,fmj,spi,spj); } } - //ME interaction + // me interaction if (me_flag){ cut_me_2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; if (rsq <= cut_me_2){ @@ -249,12 +258,12 @@ void PairSpin::compute(int eflag, int vflag) fm[i][2] += fmi[2]; if (newton_pair || j < nlocal) { - fm[j][0] += fmj[0]; - fm[j][1] += fmj[1]; - fm[j][2] += fmj[2]; - } + fm[j][0] += fmj[0]; + fm[j][1] += fmj[1]; + fm[j][2] += fmj[2]; } - } + } + } if (vflag_fdotr) virial_fdotr_compute(); } @@ -264,14 +273,13 @@ void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double * { int *type = atom->type; int itype, jtype; - //double dmix,dmiy,dmiz; double Jex, ra; itype = type[i]; jtype = type[j]; - ra = rsq/J_3[itype][jtype]/J_3[itype][jtype]; - Jex = 4.0*J_1[itype][jtype]*ra; - Jex *= (1.0-J_2[itype][jtype]*ra); + ra = rsq/J3[itype][jtype]/J3[itype][jtype]; + Jex = 4.0*J1_mag[itype][jtype]*ra; + Jex *= (1.0-J2[itype][jtype]*ra); Jex *= exp(-ra); fmi[0] += Jex*spj[0]; @@ -285,29 +293,29 @@ void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double * } /* ---------------------------------------------------------------------- */ -void PairSpin::compute_exchange_mech(int i, int j, double rsq, double *fmi, double *fmj, double *spi, double *spj) +void PairSpin::compute_exchange_mech(int i, int j, double rsq, double *del, double *fi, double *fj, double *spi, double *spj) { int *type = atom->type; int itype, jtype; - //double dmix,dmiy,dmiz; - double Jex_mech, ra, rr; + double Jex, Jex_mech, ra, rr; itype = type[i]; jtype = type[j]; - - ra = rsq/J_3[itype][jtype]/J_3[itype][jtype]; - rr = sqrt(rsq)/J_3[itype][jtype]/J_3[itype][jtype]; - Jex_mech = 1.0-2.0*J_2[itype][jtype]*ra; - Jex_mech -= ra*(1.0-J_2[itype][jtype]*ra); - Jex_mech *= 8.0*J_1[itype][jtype]*rr*exp(-ra); + Jex = J1_mech[itype][jtype]; + + ra = rsq/J3[itype][jtype]/J3[itype][jtype]; + rr = sqrt(rsq)/J3[itype][jtype]/J3[itype][jtype]; + Jex_mech = 1.0-ra-J2[itype][jtype]*ra*(2.0-ra); + Jex_mech *= 8.0*Jex*rr*exp(-ra); + Jex_mech *= (spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]); - fi[0] += Jex_mech*spi[0]*spj[0]; - fi[1] += Jex_mech*spi[1]*spj[1]; - fi[2] += Jex_mech*spi[2]*spj[2]; + fi[0] += Jex_mech*del[0]; + fi[1] += Jex_mech*del[1]; + fi[2] += Jex_mech*del[2]; - fj[0] += Jex_mech*spi[0]*spj[0]; - fj[1] += Jex_mech*spi[1]*spj[1]; - fj[2] += Jex_mech*spi[2]*spj[2]; + fj[0] -= Jex_mech*del[0]; + fj[1] -= Jex_mech*del[1]; + fj[2] -= Jex_mech*del[2]; } @@ -386,9 +394,10 @@ void PairSpin::allocate() setflag[i][j] = 0; memory->create(cut_spin_exchange,n+1,n+1,"pair:cut_spin_exchange"); - memory->create(J_1,n+1,n+1,"pair:J_1"); - memory->create(J_2,n+1,n+1,"pair:J_2"); - memory->create(J_3,n+1,n+1,"pair:J_3"); + memory->create(J1_mag,n+1,n+1,"pair:J1_mag"); + memory->create(J1_mech,n+1,n+1,"pair:J1_mech"); + memory->create(J2,n+1,n+1,"pair:J2"); + memory->create(J3,n+1,n+1,"pair:J3"); memory->create(cut_spin_dmi,n+1,n+1,"pair:cut_spin_dmi"); memory->create(DM,n+1,n+1,"pair:DM"); @@ -404,10 +413,11 @@ void PairSpin::allocate() memory->create(spi,3,"pair:spi"); memory->create(spj,3,"pair:spj"); - memory->create(fi,3,"pair:fmi"); - memory->create(fj,3,"pair:fmj"); + memory->create(fi,3,"pair:fi"); + memory->create(fj,3,"pair:fj"); memory->create(fmi,3,"pair:fmi"); memory->create(fmj,3,"pair:fmj"); + memory->create(del,3,"pair:del"); memory->create(cutsq,n+1,n+1,"pair:cutsq"); @@ -461,17 +471,18 @@ void PairSpin::coeff(int narg, char **arg) force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); const double rij = force->numeric(FLERR,arg[3]); - const double J1 = (force->numeric(FLERR,arg[4]))/hbar; - const double J2 = force->numeric(FLERR,arg[5]); - const double J3 = force->numeric(FLERR,arg[6]); + const double j1 = (force->numeric(FLERR,arg[4])); + const double j2 = force->numeric(FLERR,arg[5]); + const double j3 = force->numeric(FLERR,arg[6]); int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { cut_spin_exchange[i][j] = rij; - J_1[i][j] = J1; - J_2[i][j] = J2; - J_3[i][j] = J3; + J1_mag[i][j] = j1/hbar; + J1_mech[i][j] = j1; + J2[i][j] = j2; + J3[i][j] = j3; setflag[i][j] = 1; count++; } @@ -592,9 +603,10 @@ void PairSpin::write_restart(FILE *fp) fwrite(&setflag[i][j],sizeof(int),1,fp); if (setflag[i][j]) { if (exch_flag){ - fwrite(&J_1[i][j],sizeof(double),1,fp); - fwrite(&J_2[i][j],sizeof(double),1,fp); - fwrite(&J_3[i][j],sizeof(double),1,fp); + fwrite(&J1_mag[i][j],sizeof(double),1,fp); + fwrite(&J1_mech[i][j],sizeof(double),1,fp); + fwrite(&J2[i][j],sizeof(double),1,fp); + fwrite(&J3[i][j],sizeof(double),1,fp); fwrite(&cut_spin_exchange[i][j],sizeof(double),1,fp); } if (dmi_flag) { @@ -633,14 +645,16 @@ void PairSpin::read_restart(FILE *fp) MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); if (setflag[i][j]) { if (me == 0) { - fread(&J_1[i][j],sizeof(double),1,fp); - fread(&J_2[i][j],sizeof(double),1,fp); - fread(&J_2[i][j],sizeof(double),1,fp); + fread(&J1_mag[i][j],sizeof(double),1,fp); + fread(&J1_mech[i][j],sizeof(double),1,fp); + fread(&J2[i][j],sizeof(double),1,fp); + fread(&J2[i][j],sizeof(double),1,fp); fread(&cut_spin_exchange[i][j],sizeof(double),1,fp); } - MPI_Bcast(&J_1[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&J_2[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&J_3[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&J1_mag[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&J1_mech[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&J2[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&J3[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&cut_spin_exchange[i][j],1,MPI_DOUBLE,0,world); } } diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h index 36469d5acf..7ef78f2767 100755 --- a/src/SPIN/pair_spin.h +++ b/src/SPIN/pair_spin.h @@ -41,7 +41,7 @@ class PairSpin : public Pair { void read_restart_settings(FILE *); void compute_exchange(int, int, double, double *, double *,double *, double *); - void compute_exchange_mech(int, int, double, double *, double *,double *, double *); + void compute_exchange_mech(int, int, double, double *, double *, double *,double *, double *); void compute_dmi(int, int, double *, double *, double *, double *); void compute_me(int, int, double *, double *, double *, double *); @@ -56,18 +56,19 @@ class PairSpin : public Pair { double **cut_spin_me; // cutoff distance me protected: - double **J_1, **J_2, **J_3; // exchange coeffs Jij - // J1 in eV, J2 adim and J3 in Ang - double **DM; - double **v_dmx, **v_dmy, **v_dmz;// DMI coeffs - // DM int. in eV, v direction + double **J1_mag, **J1_mech; // exchange coeffs Jij + double **J2, **J3; // J1 in eV, J2 adim, J3 in Ang - double **ME; // ME in eV - double **v_mex, **v_mey, **v_mez;// ME direction + double **DM; // dmi coeff in eV + double **v_dmx, **v_dmy, **v_dmz;// dmi direction - double *spi, *spj; + double **ME; // me coeff in eV + double **v_mex, **v_mey, **v_mez;// me direction + + double *spi, *spj; // temp. spin vals. in compute double *fi, *fj; // temp. mech. forces in compute double *fmi, *fmj; // temp. mag. forces in compute + double *del; // inter atomic distances void allocate(); }; @@ -79,7 +80,7 @@ class PairSpin : public Pair { /* ERROR/WARNING messages: -E: Incorrect args in pair_style command +E: Incorrect args in pair_spin command Self-explanatory. -- GitLab From 54832a8fe46e7d28bdf06a886ea29343dd5d4645 Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 14 Sep 2017 16:16:33 -0600 Subject: [PATCH 039/675] Commit Julien 09/14/17 - Changes and corrections in the computation of the energy - Issue with newton_pair in the compute of pair --- in.co_magnetomech | 18 ++-- src/SPIN/compute_spin.cpp | 8 +- src/SPIN/fix_force_spin.cpp | 12 ++- src/SPIN/fix_force_spin.h | 1 + src/SPIN/fix_integration_spin.cpp | 16 ++-- src/SPIN/pair_spin.cpp | 140 ++++++++++-------------------- src/SPIN/pair_spin.h | 10 +-- 7 files changed, 83 insertions(+), 122 deletions(-) diff --git a/in.co_magnetomech b/in.co_magnetomech index 40a6d37a2c..bbe9e3fb83 100644 --- a/in.co_magnetomech +++ b/in.co_magnetomech @@ -35,7 +35,7 @@ lattice fcc 3.54 #Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen #(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 5.0 0.0 5.0 0.0 5.0 +region box block 0.0 2.0 0.0 2.0 0.0 2.0 #Creating a simulation box based on the specified region. Entries: number of atom types and box ref. create_box 1 box @@ -53,8 +53,8 @@ create_atoms 1 box mass 1 1.0 #set group all mass 1.0 #Setting spins orientation and moment -#set group all spin/random 11 1.72 -set group all spin 1.72 1.0 0.0 0.0 +set group all spin/random 11 1.72 +#set group all spin 1.72 0.0 0.0 1.0 #Magneto-mechanic interactions for bulk fcc Cobalt pair_style hybrid/overlay eam/alloy pair/spin 4.0 @@ -77,7 +77,7 @@ neigh_modify every 1 check no delay 0 #Magnetic field fix #Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 +fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.01 0.0 0.0 1.0 #fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 @@ -86,10 +86,10 @@ fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 #Temp | Alpha_trans | Alpha_long | Seed #fix 2 all langevin/spin 0.0 0.1 0.0 21 #fix 2 all langevin/spin 1.0 0.1 0.0 21 -fix 2 all langevin/spin 0.1 0.01 0.0 21 +fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix -fix 3 all integration/spin mpi +fix 3 all integration/spin serial #compute real time, total magnetization, magnetic energy, and spin temperature #Iteration | Time | Mx | My | Mz | |M| | Em | Tm @@ -111,10 +111,12 @@ timestep 0.0001 #######run######## ################## +thermo 500 + #Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 100 dump_spin_MM.lammpstrj type x y z spx spy spz +dump 1 all custom 10 dump_spin_MM.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 50000 +run 100000 #run 1 diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 140d6ce8ce..d0187142ce 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -100,9 +100,9 @@ void ComputeSpin::compute_vector() mag[0] += sp[i][0]; mag[1] += sp[i][1]; mag[2] += sp[i][2]; - magenergy += mumag[i]*sp[i][0]*fm[i][0]; - magenergy += mumag[i]*sp[i][1]*fm[i][1]; - magenergy += mumag[i]*sp[i][2]*fm[i][2]; + magenergy += sp[i][0]*fm[i][0]; + magenergy += sp[i][1]*fm[i][1]; + magenergy += sp[i][2]*fm[i][2]; tx = sp[i][1]*fm[i][2]-sp[i][2]*fm[i][1]; ty = sp[i][2]*fm[i][0]-sp[i][0]*fm[i][2]; tz = sp[i][0]*fm[i][1]-sp[i][1]*fm[i][0]; @@ -113,7 +113,7 @@ void ComputeSpin::compute_vector() } else error->all(FLERR,"Compute spin/compute declared magnetic quantities (sp and mumag flags)"); } - + MPI_Allreduce(mag,magtot,4,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&magenergy,&magenergytot,1,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&tempnum,&tempnumtot,1,MPI_DOUBLE,MPI_SUM,world); diff --git a/src/SPIN/fix_force_spin.cpp b/src/SPIN/fix_force_spin.cpp index 9791d622a0..9b2012831f 100644 --- a/src/SPIN/fix_force_spin.cpp +++ b/src/SPIN/fix_force_spin.cpp @@ -50,7 +50,9 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a // 7 arguments for a force/spin fix command: //(fix ID group force/spin magnitude (T or eV) style (zeeman or anisotropy) direction (3 cartesian coordinates) - //Magnetic interactions only coded for cartesian coordinates + // magnetic interactions coded for cartesian coordinates + + hbar = force->hplanck/MY_2PI; dynamic_group_allow = 1; scalar_flag = 1; @@ -200,6 +202,9 @@ void FixForceSpin::post_force(int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; + emag -= mumag[i]*spi[0]*fmi[0]; + emag -= mumag[i]*spi[1]*fmi[1]; + emag -= mumag[i]*spi[2]*fmi[2]; } } @@ -214,6 +219,8 @@ double *mumag = atom->mumag; fmi[2] += mumag[i]*zmag; } +/* ---------------------------------------------------------------------- */ + void FixForceSpin::compute_anisotropy(int i, double * spi, double *fmi) { double scalar = Kax*spi[0] + Kay*spi[1] + Kaz*spi[2]; @@ -255,5 +262,8 @@ double FixForceSpin::compute_scalar() MPI_Allreduce(&emag,&emag_all,1,MPI_DOUBLE,MPI_SUM,world); eflag = 1; } + + emag *= hbar; + return emag_all; } diff --git a/src/SPIN/fix_force_spin.h b/src/SPIN/fix_force_spin.h index a31e2f888c..57d4126f86 100644 --- a/src/SPIN/fix_force_spin.h +++ b/src/SPIN/fix_force_spin.h @@ -46,6 +46,7 @@ class FixForceSpin : public Fix { double xmag, ymag, zmag; // temp. force variables double degree2rad; + double hbar; int ilevel_respa; int time_origin; int eflag; diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index b09aabac05..504f789c19 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -206,14 +206,14 @@ void FixIntegrationSpin::initial_integrate(int vflag) int *type = atom->type; int *mask = atom->mask; - printf("before mechmag, spin 1: [%g,%g,%g] \n",f[1][0],f[1][1],f[1][2]); +// printf("before mechmag, spin 1: [%g,%g,%g] \n",f[1][0],f[1][1],f[1][2]); // compute and add magneto-mech. force - if (magpair_flag == 1) { - if (exch_flag) lockpairspin->compute_magnetomech(0,vflag); - } +// if (magpair_flag == 1) { +// if (exch_flag) lockpairspin->compute_magnetomech(0,vflag); +// } - printf("after mechmag, spin 1: [%g,%g,%g] \n",f[1][0],f[1][1],f[1][2]); +// printf("after mechmag, spin 1: [%g,%g,%g] \n",f[1][0],f[1][1],f[1][2]); // update half v all particles for (int i = 0; i < nlocal; i++) { @@ -531,9 +531,9 @@ void FixIntegrationSpin::final_integrate() int *mask = atom->mask; // compute and add magneto-mech. force - if (magpair_flag == 1) { - if (exch_flag) lockpairspin->compute_magnetomech(0,0); - } +// if (magpair_flag == 1) { +// if (exch_flag) lockpairspin->compute_magnetomech(0,0); +// } // update half v for all particles for (int i = 0; i < nlocal; i++) { diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index b62fd867de..e4e8e2e15a 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -39,10 +39,15 @@ using namespace MathConst; PairSpin::PairSpin(LAMMPS *lmp) : Pair(lmp) { + hbar = force->hplanck/MY_2PI; + + newton_pair_spin = 0; // no newton pair for now single_enable = 0; exch_flag = 0; dmi_flag = 0; me_flag = 0; + + no_virial_fdotr_compute = 1; } /* ---------------------------------------------------------------------- */ @@ -82,109 +87,26 @@ PairSpin::~PairSpin() } } - /* ---------------------------------------------------------------------- */ -void PairSpin::compute_magnetomech(int eflag, int vflag) +void PairSpin::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl,ecoul; double xtmp,ytmp,ztmp; double fix,fiy,fiz,fjx,fjy,fjz; - double cut_ex_2,cut_dmi_2,cut_me_2; + double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; + double cut_ex_2,cut_dmi_2,cut_me_2,cut_spin_pair_global2; double rsq,rd; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; if (eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = 0; + cut_spin_pair_global2 = cut_spin_pair_global*cut_spin_pair_global; double **x = atom->x; double **f = atom->f; - double *mumag = atom->mumag; - double **sp = atom->sp; - int *type = atom->type; - int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; - - inum = list->inum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - - // pair magneto-mechanics interactions - // loop over neighbors of my atoms - - for (ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - // loop on neighbors - for (jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; - fi[0] = fi[1] = fi[2] = 0.0; - fj[0] = fj[1] = fj[2] = 0.0; - del[0] = del[1] = del[2] = 0.0; - - del[0] = x[j][0] - xtmp; - del[1] = x[j][1] - ytmp; - del[2] = x[j][2] - ztmp; - rsq = del[0]*del[0] + del[1]*del[1] + del[2]*del[2]; //square or inter-atomic distance - itype = type[i]; - jtype = type[j]; - - // mech. exchange interaction - if (exch_flag) { - cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; - if (rsq <= cut_ex_2) { - compute_exchange_mech(i,j,rsq,del,fi,fj,spi,spj); - } - } - - f[i][0] += fi[0]; - f[i][1] += fi[1]; - f[i][2] += fi[2]; - - // think about this sign, - or + ? - if (newton_pair || j < nlocal) { - f[j][0] += fj[0]; - f[j][1] += fj[1]; - f[j][2] += fj[2]; - } - } - } - - if (vflag_fdotr) virial_fdotr_compute(); -} - -/* ---------------------------------------------------------------------- */ - -void PairSpin::compute(int eflag, int vflag) -{ - int i,j,ii,jj,inum,jnum,itype,jtype; - double evdwl,ecoul; - double xtmp,ytmp,ztmp; - double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; - double cut_ex_2,cut_dmi_2,cut_me_2; - double rsq,rd,delx,dely,delz; - int *ilist,*jlist,*numneigh,**firstneigh; - - evdwl = ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; - - double **x = atom->x; double **fm = atom->fm; double *mumag = atom->mumag; double **sp = atom->sp; @@ -209,7 +131,7 @@ void PairSpin::compute(int eflag, int vflag) jnum = numneigh[i]; spi[0] = sp[i][0]; spi[1] = sp[i][1]; - spi[2] = sp[i][2]; + spi[2] = sp[i][2]; // loop on neighbors for (jj = 0; jj < jnum; jj++) { @@ -219,14 +141,18 @@ void PairSpin::compute(int eflag, int vflag) spj[1] = sp[j][1]; spj[2] = sp[j][2]; + fi[0] = fi[1] = fi[2] = 0.0; + fj[0] = fj[1] = fj[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; fmj[0] = fmj[1] = fmj[2] = 0.0; + del[0] = del[1] = del[2] = 0.0; - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - // square or inter-atomic distance - rsq = delx*delx + dely*dely + delz*delz; + del[0] = x[j][0] - xtmp; + del[1] = x[j][1] - ytmp; + del[2] = x[j][2] - ztmp; + + // square of inter-atomic distance + rsq = del[0]*del[0] + del[1]*del[1] + del[2]*del[2]; itype = type[i]; jtype = type[j]; @@ -236,6 +162,7 @@ void PairSpin::compute(int eflag, int vflag) cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; if (rsq <= cut_ex_2) { compute_exchange(i,j,rsq,fmi,fmj,spi,spj); + compute_exchange_mech(i,j,rsq,del,fi,fj,spi,spj); } } // dm interaction @@ -253,15 +180,35 @@ void PairSpin::compute(int eflag, int vflag) } } + f[i][0] += fi[0]; + f[i][1] += fi[1]; + f[i][2] += fi[2]; fm[i][0] += fmi[0]; fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; - if (newton_pair || j < nlocal) { + /* if (newton_pair || j < nlocal) {*/ + if (newton_pair_spin) { + f[j][0] += fj[0]; + f[j][1] += fj[1]; + f[j][2] += fj[2]; fm[j][0] += fmj[0]; fm[j][1] += fmj[1]; fm[j][2] += fmj[2]; } + + if (eflag) { + if (rsq <= cut_spin_pair_global2) { + evdwl -= mumag[i]*spi[0]*fmi[0]; + evdwl -= mumag[i]*spi[1]*fmi[1]; + evdwl -= mumag[i]*spi[2]*fmi[2]; + } + } + + evdwl *= hbar; + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, + evdwl,ecoul,fi[0],fi[1],fi[2],del[0],del[1],del[2]); } } @@ -289,7 +236,7 @@ void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double * fmj[0] += Jex*spi[0]; fmj[1] += Jex*spi[1]; fmj[2] += Jex*spi[2]; - + } /* ---------------------------------------------------------------------- */ @@ -639,7 +586,7 @@ void PairSpin::read_restart(FILE *fp) int i,j; int me = comm->me; - for (i = 1; i <= atom->ntypes; i++) + for (i = 1; i <= atom->ntypes; i++) { for (j = i; j <= atom->ntypes; j++) { if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); @@ -658,6 +605,7 @@ void PairSpin::read_restart(FILE *fp) MPI_Bcast(&cut_spin_exchange[i][j],1,MPI_DOUBLE,0,world); } } + } } diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h index 7ef78f2767..f73be7d466 100755 --- a/src/SPIN/pair_spin.h +++ b/src/SPIN/pair_spin.h @@ -29,7 +29,6 @@ class PairSpin : public Pair { PairSpin(class LAMMPS *); virtual ~PairSpin(); virtual void compute(int, int); - virtual void compute_magnetomech(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); @@ -45,9 +44,7 @@ class PairSpin : public Pair { void compute_dmi(int, int, double *, double *, double *, double *); void compute_me(int, int, double *, double *, double *, double *); - //Test for seq. integ. - //protected: - int exch_flag,dmi_flag,me_flag; + int exch_flag, dmi_flag, me_flag; double cut_spin_pair_global; double cut_spin_dipolar_global; @@ -55,7 +52,10 @@ class PairSpin : public Pair { double **cut_spin_dmi; // cutoff distance dmi double **cut_spin_me; // cutoff distance me - protected: + protected: + int newton_pair_spin; + double hbar; + double **J1_mag, **J1_mech; // exchange coeffs Jij double **J2, **J3; // J1 in eV, J2 adim, J3 in Ang -- GitLab From 72d9795d7f5770ebec94b1198cc97701acf4e60e Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 19 Oct 2017 09:33:09 -0600 Subject: [PATCH 040/675] Commit Julien 10/19/2017 - New files for the pair interactions - New files for the documentation - Spin orbit coupling via Neel approach --- doc/src/compute_spin.txt | 63 + doc/src/fix_force_spin.txt | 82 + doc/src/fix_integration_spin.txt | 65 + doc/src/fix_langevin_spin.txt | 91 + doc/src/pair_spin.txt | 90 + doc/utils/txt2html/txt2html | Bin 0 -> 68760 bytes in.co_magnetomech | 70 +- src/SPIN/compute_spin.cpp | 15 +- src/SPIN/fix_force_spin.cpp | 62 +- src/SPIN/fix_force_spin.h | 9 +- src/SPIN/fix_integration_spin.cpp | 465 +- src/SPIN/fix_integration_spin.h | 9 +- src/SPIN/fix_langevin_spin.cpp | 39 +- src/SPIN/fix_langevin_spin.h | 14 +- src/SPIN/pair_spin_exchange.cpp | 484 + src/SPIN/pair_spin_exchange.h | 89 + src/SPIN/pair_spin_me.cpp | 460 + src/SPIN/pair_spin_me.h | 87 + src/SPIN/pair_spin_soc_dmi.cpp | 444 + src/SPIN/pair_spin_soc_dmi.h | 87 + src/SPIN/pair_spin_soc_landau.cpp | 498 + src/SPIN/pair_spin_soc_landau.h | 89 + src/SPIN/pair_spin_soc_neel.cpp | 498 + src/SPIN/pair_spin_soc_neel.h | 89 + src/eflag | 19343 ++++++++++++++++++++++++++++ src/verlet.cpp | 1 + vmd_nano.vmd | 2 +- 27 files changed, 23059 insertions(+), 186 deletions(-) create mode 100644 doc/src/compute_spin.txt create mode 100644 doc/src/fix_force_spin.txt create mode 100644 doc/src/fix_integration_spin.txt create mode 100644 doc/src/fix_langevin_spin.txt create mode 100644 doc/src/pair_spin.txt create mode 100755 doc/utils/txt2html/txt2html create mode 100755 src/SPIN/pair_spin_exchange.cpp create mode 100755 src/SPIN/pair_spin_exchange.h create mode 100755 src/SPIN/pair_spin_me.cpp create mode 100755 src/SPIN/pair_spin_me.h create mode 100755 src/SPIN/pair_spin_soc_dmi.cpp create mode 100755 src/SPIN/pair_spin_soc_dmi.h create mode 100755 src/SPIN/pair_spin_soc_landau.cpp create mode 100755 src/SPIN/pair_spin_soc_landau.h create mode 100755 src/SPIN/pair_spin_soc_neel.cpp create mode 100755 src/SPIN/pair_spin_soc_neel.h create mode 100644 src/eflag diff --git a/doc/src/compute_spin.txt b/doc/src/compute_spin.txt new file mode 100644 index 0000000000..4cef1c0143 --- /dev/null +++ b/doc/src/compute_spin.txt @@ -0,0 +1,63 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +compute spin command :h3 + +[Syntax:] + +compute ID group-ID spin :pre + +ID, group-ID are documented in "compute"_compute.html command +spin = style name of this compute command + +[Examples:] + +compute out_mag all spin + +[Description:] + +Define a computation that calculates the magnetic quantities for a system +of atoms having spins. + +This compute calculates 6 magnetic quantities. +The three first ones are the x,y and z cooredinates of the total magnetization. +The fourth quantity is the norm of the total magnetization. +The fifth one is referred to as the spin temperature, according +to the work of "(Nurdin)"_#Nurdin1. + +The sixth quantity is the magnetic energy. + + +A simple way to output the results of the compute spin +calculation to a file is to use the "fix ave/time"_fix_ave_time.html +command, for example: + +compute mag all compute/spin +fix outmag all ave/time 1 1 50 c_mag[2] c_mag[3] c_mag[4] c_mag[7] file mag.dat + +[Output info:] + +The array values are "intensive". The array values will be in +metal units ("units"_units.html). + +[Restrictions:] + +The {spin} compute is part of the SPIN package. +This compute is only enabled if LAMMPS was built with this package. +See the "Making LAMMPS"_Section_start.html#start_3 section for more info. + +[Related commands:] none + + +[Default:] none + +:line + +:link(Nurdin1) +[(Nurdin)] Nurdin and Schotte Phys Rev E, 61(4), 3579 (2000) + diff --git a/doc/src/fix_force_spin.txt b/doc/src/fix_force_spin.txt new file mode 100644 index 0000000000..5f4c34ec26 --- /dev/null +++ b/doc/src/fix_force_spin.txt @@ -0,0 +1,82 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix force/spin command :h3 + +[Syntax:] + +fix ID group force/spin style args :pre + +ID, group are documented in "fix"_fix.html command :ulb,l +force/spin = style name of this fix command :l +style = {zeeman} or {aniso} :l + {zeeman} args = H x y z + H = intensity of the magnetic field (in Tesla) + x y z = vector direction of the field + {aniso} args = K x y z + K = intensity of the magnetic anisotropy (in eV) + x y z = vector direction of the anisotropy +:ule + +[Examples:] + +fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 +fix 1 all force/spin aniso 0.001 0.0 0.0 1.0 + + +[Description:] + +Impose a force torque to each magnetic spin in the group. + +Style {zeeman} is used for the simulation of the interaction +between the magnetic spins in the defined group and an external +magnetic field. + +Style {aniso} is used to simulate an easy axis or an easy plane +for the magnetic spins in the defined group. +If K>0, an easy axis is defined, and if K<0, an easy plane is +defined. + +In both cases, x y z impose is the vector direction for the force. +Only the direction of the vector is important; it's length is ignored. + +:line + + +[Restart, fix_modify, output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the gravitational potential energy of the system to the +system's potential energy as part of "thermodynamic +output"_thermo_style.html. + +The "fix_modify"_fix_modify.html {respa} option is supported by this +fix. This allows to set at which level of the "r-RESPA"_run_style.html +integrator the fix is adding its forces. Default is the outermost level. + +This fix computes a global scalar which can be accessed by various +"output commands"_Section_howto.html#howto_15. This scalar is the +gravitational potential energy of the particles in the defined field, +namely mass * (g dot x) for each particles, where x and mass are the +particles position and mass, and g is the gravitational field. The +scalar value calculated by this fix is "extensive". + +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + +[Restrictions:] none + +[Related commands:] + +"atom_style sphere"_atom_style.html, "fix addforce"_fix_addforce.html + +[Default:] none diff --git a/doc/src/fix_integration_spin.txt b/doc/src/fix_integration_spin.txt new file mode 100644 index 0000000000..15840cbfc0 --- /dev/null +++ b/doc/src/fix_integration_spin.txt @@ -0,0 +1,65 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix integration/spin command :h3 + +[Syntax:] + +fix ID group-ID integration/spin style :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +integration/spin = style name of this fix command :l +style = {serial} or {mpi} :l + {serial} value = factor + factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric scale factor as discussed below :pre + {mpi} +:ule + +[Examples:] + +fix 3 all integration/spin serial +fix 1 all integration/spin mpi + +[Description:] + +A Suzuki-Trotter decomposition is applied to the integration of the +spin-lattice system. + +:line + +The {style} value defines if a serial of a parallel +algorithm has to be used for the integration. + +The parallel algorithm uses a sectoring method as +described in . + +:line + +[Restrictions:] + +This fix style can only be used if LAMMPS was built with the +SPIN package. See the "Making LAMMPS"_Section_start.html#start_3 +section for more info on packages. + + +[Related commands:] + +"fix nve"_fix_nve.html, "pair spin"_pair_spin.html, +"compute spin"_compute_spin.html, "fix langevin spin"_fix_langevin_spin.html, + + +[Default:] none + +:line + +:link(Davidchack2) +[(Davidchack)] R.L Davidchack, T.E. Ouldridge, M.V. Tretyakov. J. Chem. Phys. 142, 144114 (2015). +:link(Miller2) +[(Miller)] T. F. Miller III, M. Eleftheriou, P. Pattnaik, A. Ndirango, G. J. Martyna, J. Chem. Phys., 116, 8649-8659 (2002). +:link(Dunweg3) +[(Dunweg)] B. Dunweg, W. Paul, Int. J. Mod. Phys. C, 2, 817-27 (1991). diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt new file mode 100644 index 0000000000..3b05467e06 --- /dev/null +++ b/doc/src/fix_langevin_spin.txt @@ -0,0 +1,91 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix langevin/spin command :h3 + +[Syntax:] + +fix ID group-ID langevin/spin T Tdamp Ldamp seed :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +langevin/spin = style name of this fix command :l +T = desired temperature of the bath (temperature units, K in metal units) :l +Tdamp = transverse magnetic damping parameter (adim) :l +Ldamp = longitudinal magnetic damping parameter (adim) :l +seed = random number seed to use for white noise (positive integer) :l +:ule + +[Examples:] + +fix 2 all langevin/spin 300.0 0.01 0.0 21 :pre + +[Description:] + +Apply a Langevin thermostat as described in "(Mayergoyz)"_#Mayergoyz1 +to the magnetic spins associated to the atoms. +Used with "fix integration spin"_fix_integration_spin.html, this +command performs Brownian dynamics (BD), apply a random torque +and a transverse dissipation to each spin: + +Rand torque = +Transverse dmping = +D is proportional to sqrt(Kb T m / (hbar dt damp)) :pre + + +Note: The random # {seed} must be a positive integer. A Marsaglia random +number generator is used. Each processor uses the input seed to +generate its own unique seed and its own stream of random numbers. +Thus the dynamics of the system will not be identical on two runs on +different numbers of processors. + +:line + +[Restart, fix_modify, output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. Because the state of the random number generator +is not saved in restart files, this means you cannot do "exact" +restarts with this fix, where the simulation continues on the same as +if no restart had taken place. However, in a statistical sense, a +restarted simulation should produce the same behavior. + +This fix is not invoked during "energy minimization"_minimize.html. + +[Restrictions:] + +The {langevin/spin} fix is part of the SPIN package. +These styles are only enabled if LAMMPS was built with this package. +See the "Making LAMMPS"_Section_start.html#start_3 section for more info. + +The numerical integration has to be performed with {fix/integration/spin} +when {langevin/spin} is enabled. + +[Related commands:] + +"fix integration spin"_fix_integration_spin.html, +"pair spin"_pair_spin.html + +[Default:] + +The option defaults are angmom = no, omega = no, scale = 1.0 for all +types, tally = no, zero = no, gjf = no. + +:line + +:link(Mayergoyz1) +Mayergoyz, Bertotti, and Serpico (2009). Elsevier (2009) + + + +:link(Schneider1) +[(Schneider)] Schneider and Stoll, Phys Rev B, 17, 1302 (1978). + +:link(Gronbech-Jensen) +[(Gronbech-Jensen)] Gronbech-Jensen and Farago, Mol Phys, 111, 983 +(2013); Gronbech-Jensen, Hayre, and Farago, Comp Phys Comm, +185, 524 (2014) diff --git a/doc/src/pair_spin.txt b/doc/src/pair_spin.txt new file mode 100644 index 0000000000..602eec8ec3 --- /dev/null +++ b/doc/src/pair_spin.txt @@ -0,0 +1,90 @@ + + + + +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style pair/spin/exchange command :h3 +pair_style pair/spin/dmi command :h3 +pair_style pair/spin/me command :h3 +pair_style pair/spin/soc command :h3 + + +[Syntax:] + +pair_style pair/spin/exchange cutoff +pair_style pair/spin/dmi cutoff +pair_style pair/spin/me cutoff +pair_style pair/spin/soc/neel cutoff :pre + +cutoff = global cutoff pair (distance units) :ulb,l + +:ule + +[Examples:] + +pair_style pair/spin/exchange 4.0 +pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff 1 2 exchange 4.0 0.0446928 0.003496 1.4885 :pre + +pair_style pair/spin/dmi 4.0 +pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 :pre + +pair_style pair/spin/soc/neel 4.0 +pair_coeff * * neel 4.0 -0.003330282 0.864159 2.13731 :pre + + +[Description:] + +Style {pair/spin} computes interactions between pairs of particles +that each have a spin. + + +The {pair/spin} style compute the short-range spin-spin interactions. + + +\begin\{equation\} +J_{i=0} = \sum_i \alpha +\end\{equation\} +$$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$ + + +:c,image(Eqs/pair_lj.jpg) + +The {lj/cut} and {lj/cut/coul/long} pair styles support the use of the +{inner}, {middle}, and {outer} keywords of the "run_style +respa"_run_style.html command, meaning the pairwise forces can be + +:line + +[Restrictions:] + +All the {pair/spin} styles are part of the SPIN package. +These styles are only enabled if LAMMPS was built with this package. +See the "Making LAMMPS"_Section_start.html#start_3 section for more info. + +[Related commands:] + +"eam" + +"pair_coeff"_pair_coeff.html + +[Default:] none + +:line + +:link(Beaujouan1) +[(Beaujouan)] Beaujouan, Thibaudeau, and Barreteau, Phys Rev B, 86(17), 174409 (2012) + +:link(Perera2) +[(Perera)] Perera, Eisenbach, Nicholson, Stocks, and Landau, Phys Rev B, 93(6), 060402 (2016) diff --git a/doc/utils/txt2html/txt2html b/doc/utils/txt2html/txt2html new file mode 100755 index 0000000000000000000000000000000000000000..023631eac1b472cdcaf4e8c4757c72c386446ecf GIT binary patch literal 68760 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 vector[1] = magtot[0]; vector[2] = magtot[1]; vector[3] = magtot[2]; vector[4] = magtot[3]; - vector[5] = -0.5*magenergytot*hbar; + vector[5] = magenergytot*hbar; vector[6] = spintemperature; } diff --git a/src/SPIN/fix_force_spin.cpp b/src/SPIN/fix_force_spin.cpp index 9b2012831f..b0e38989c9 100644 --- a/src/SPIN/fix_force_spin.cpp +++ b/src/SPIN/fix_force_spin.cpp @@ -65,10 +65,12 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a magfieldstyle = CONSTANT; H_field = 0.0; - Hx = Hy = Hz = 0.0; + nhx = nhy = nhz = 0.0; + hx = hy = hz = 0.0; Ka = 0.0; + nax = nay = naz = 0.0; Kax = Kay = Kaz = 0.0; - + zeeman_flag = aniso_flag = 0; if (strcmp(arg[3],"zeeman") == 0) { @@ -76,25 +78,25 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a style = ZEEMAN; zeeman_flag = 1; H_field = force->numeric(FLERR,arg[4]); - Hx = force->numeric(FLERR,arg[5]); - Hy = force->numeric(FLERR,arg[6]); - Hz = force->numeric(FLERR,arg[7]); + nhx = force->numeric(FLERR,arg[5]); + nhy = force->numeric(FLERR,arg[6]); + nhz = force->numeric(FLERR,arg[7]); magfieldstyle = CONSTANT; } else if (strcmp(arg[3],"anisotropy") == 0) { if (narg != 8) error->all(FLERR,"Illegal force/spin command"); style = ANISOTROPY; aniso_flag = 1; Ka = force->numeric(FLERR,arg[4]); - Kax = force->numeric(FLERR,arg[5]); - Kay = force->numeric(FLERR,arg[6]); - Kaz = force->numeric(FLERR,arg[7]); + nax = force->numeric(FLERR,arg[5]); + nay = force->numeric(FLERR,arg[6]); + naz = force->numeric(FLERR,arg[7]); } else error->all(FLERR,"Illegal force/spin command"); degree2rad = MY_PI/180.0; time_origin = update->ntimestep; eflag = 0; - emag = 0.0; + emag = 0.0; } /* ---------------------------------------------------------------------- */ @@ -191,22 +193,23 @@ void FixForceSpin::post_force(int vflag) fmi[0] = fmi[1] = fmi[2] = 0.0; if (zeeman_flag) { compute_zeeman(i,fmi); + emag -= sp[i][0] * fmi[0]; + emag -= sp[i][1] * fmi[1]; + emag -= sp[i][2] * fmi[2]; } if (aniso_flag) { spi[0] = sp[i][0]; spi[1] = sp[i][1]; spi[2] = sp[i][2]; compute_anisotropy(i,spi,fmi); + emag -= 0.5 * sp[i][0] * fmi[0]; + emag -= 0.5 * sp[i][1] * fmi[1]; + emag -= 0.5 * sp[i][2] * fmi[2]; } fm[i][0] += fmi[0]; fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; - - emag -= mumag[i]*spi[0]*fmi[0]; - emag -= mumag[i]*spi[1]*fmi[1]; - emag -= mumag[i]*spi[2]*fmi[2]; } - } @@ -214,19 +217,19 @@ void FixForceSpin::post_force(int vflag) void FixForceSpin::compute_zeeman(int i, double *fmi) { double *mumag = atom->mumag; - fmi[0] += mumag[i]*xmag; - fmi[1] += mumag[i]*ymag; - fmi[2] += mumag[i]*zmag; + fmi[0] += mumag[i]*hx; + fmi[1] += mumag[i]*hy; + fmi[2] += mumag[i]*hz; } /* ---------------------------------------------------------------------- */ void FixForceSpin::compute_anisotropy(int i, double * spi, double *fmi) { - double scalar = Kax*spi[0] + Kay*spi[1] + Kaz*spi[2]; - fmi[0] += scalar*xmag; - fmi[1] += scalar*ymag; - fmi[2] += scalar*zmag; + double scalar = nax*spi[0] + nay*spi[1] + naz*spi[2]; + fmi[0] += scalar*Kax; + fmi[1] += scalar*Kay; + fmi[2] += scalar*Kaz; } /* ---------------------------------------------------------------------- */ @@ -240,14 +243,14 @@ void FixForceSpin::post_force_respa(int vflag, int ilevel, int iloop) void FixForceSpin::set_magneticforce() { if (style == ZEEMAN) { - xmag = H_field*Hx; - ymag = H_field*Hy; - zmag = H_field*Hz; + hx = H_field*nhx; + hy = H_field*nhy; + hz = H_field*nhz; } if (style == ANISOTROPY) { - xmag = 2.0*Ka*Kax; - ymag = 2.0*Ka*Kay; - zmag = 2.0*Ka*Kaz; + Kax = 2.0*Ka*nax; + Kay = 2.0*Ka*nay; + Kaz = 2.0*Ka*naz; } } @@ -257,13 +260,14 @@ void FixForceSpin::set_magneticforce() double FixForceSpin::compute_scalar() { + double emag_all=0.0; // only sum across procs one time if (eflag == 0) { MPI_Allreduce(&emag,&emag_all,1,MPI_DOUBLE,MPI_SUM,world); eflag = 1; } - - emag *= hbar; + + emag_all *= hbar; return emag_all; } diff --git a/src/SPIN/fix_force_spin.h b/src/SPIN/fix_force_spin.h index 57d4126f86..7da3ece415 100644 --- a/src/SPIN/fix_force_spin.h +++ b/src/SPIN/fix_force_spin.h @@ -44,13 +44,12 @@ class FixForceSpin : public Fix { protected: int style; // style of the magnetic force - double xmag, ymag, zmag; // temp. force variables double degree2rad; double hbar; int ilevel_respa; int time_origin; int eflag; - double emag, emag_all; + double emag; int varflag; int magfieldstyle; @@ -59,11 +58,13 @@ class FixForceSpin : public Fix { // zeeman field intensity and direction double H_field; - double Hx, Hy, Hz; + double nhx, nhy, nhz; + double hx, hy, hz; // temp. force variables // magnetic anisotropy intensity and direction double Ka; - double Kax, Kay, Kaz; + double nax, nay, naz; + double Kax, Kay, Kaz; // temp. force variables // temp. spin variables double *spi, *fmi; diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index 504f789c19..5fee9c1554 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -37,6 +37,11 @@ #include "pair.h" #include "pair_hybrid.h" #include "pair_spin.h" +#include "pair_spin_exchange.h" +#include "pair_spin_me.h" +#include "pair_spin_soc_dmi.h" +#include "pair_spin_soc_neel.h" +#include "pair_spin_soc_landau.h" #include "respa.h" #include "update.h" @@ -74,13 +79,16 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : if (extra == SPIN && !atom->mumag_flag) error->all(FLERR,"Fix integration/spin requires spin attribute mumag"); magpair_flag = 0; - exch_flag = dmi_flag = me_flag = 0; + soc_flag = 0; + exch_flag = 0; magforce_flag = 0; zeeman_flag = aniso_flag = 0; maglangevin_flag = 0; tdamp_flag = temp_flag = 0; lockpairspin = NULL; + lockpairspinexchange = NULL; + lockpairspinsocneel = NULL; lockforcespin = NULL; locklangevinspin = NULL; } @@ -95,6 +103,7 @@ FixIntegrationSpin::~FixIntegrationSpin(){ memory->destroy(rsec); memory->destroy(seci); + memory->destroy(rij); memory->destroy(spi); memory->destroy(spj); memory->destroy(fmi); @@ -118,32 +127,39 @@ void FixIntegrationSpin::init() //FixNVE::init(); // set timesteps - dtv = update->dt; + dtv = 0.5 * update->dt; dtf = 0.5 * update->dt * force->ftm2v; - dts = update->dt; + dts = 0.5 * update->dt; memory->create(xi,3,"integrations:xi"); memory->create(sec,3,"integrations:sec"); memory->create(rsec,3,"integrations:rsec"); memory->create(seci,3,"integrations:seci"); + memory->create(rij,3,"integrations:xi"); memory->create(spi,3,"integrations:spi"); memory->create(spj,3,"integrations:spj"); memory->create(fmi,3,"integrations:fmi"); memory->create(fmj,3,"integrations:fmj"); - if (strstr(force->pair_style,"pair/spin")) { - magpair_flag = 1; - lockpairspin = (PairSpin *) force->pair; + if (strstr(force->pair_style,"pair/spin/exchange")) { + exch_flag = 1; + lockpairspinexchange = (PairSpinExchange *) force->pair; + } else if (strstr(force->pair_style,"pair/spin/soc")) { + soc_flag = 1; + lockpairspinsocneel = (PairSpinSocNeel *) force->pair; } else if (strstr(force->pair_style,"hybrid/overlay")) { PairHybrid *lockhybrid = (PairHybrid *) force->pair; int nhybrid_styles = lockhybrid->nstyles; int ipair; for (ipair = 0; ipair < nhybrid_styles; ipair++) { - if (strstr(lockhybrid->keywords[ipair],"pair/spin")) { - magpair_flag = 1; - lockpairspin = (PairSpin *) lockhybrid->styles[ipair]; + if (strstr(lockhybrid->keywords[ipair],"pair/spin/exchange")) { + exch_flag = 1; + lockpairspinexchange = (PairSpinExchange *) lockhybrid->styles[ipair]; + } else if (strstr(lockhybrid->keywords[ipair],"pair/spin/soc")) { + soc_flag = 1; + lockpairspinsocneel = (PairSpinSocNeel *) lockhybrid->styles[ipair]; } } } else error->all(FLERR,"Illegal fix integration/spin command"); @@ -165,12 +181,10 @@ void FixIntegrationSpin::init() } } - // set flags for the different magnetic interactionsi - if (magpair_flag) { - if (lockpairspin->exch_flag == 1) exch_flag = 1; - if (lockpairspin->dmi_flag == 1) dmi_flag = 1; - if (lockpairspin->me_flag == 1) me_flag = 1; - } + // set flags for the different magnetic interactions +// if (magpair_flag) { +// if (lockpairspinexchange->exch_flag == 1) exch_flag = 1; +// } if (magforce_flag) { if (lockforcespin->zeeman_flag == 1) zeeman_flag = 1; @@ -206,16 +220,130 @@ void FixIntegrationSpin::initial_integrate(int vflag) int *type = atom->type; int *mask = atom->mask; -// printf("before mechmag, spin 1: [%g,%g,%g] \n",f[1][0],f[1][1],f[1][2]); - // compute and add magneto-mech. force -// if (magpair_flag == 1) { -// if (exch_flag) lockpairspin->compute_magnetomech(0,vflag); -// } +#define VSRSV_TEST +#if defined VSRSV_TEST + + // update half v for all particles + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + if (rmass) dtfm = dtf / rmass[i]; + else dtfm = dtf / mass[type[i]]; + v[i][0] += dtfm * f[i][0]; + v[i][1] += dtfm * f[i][1]; + v[i][2] += dtfm * f[i][2]; + } + } + + // update s for all particles + if (extra == SPIN) { + if (mpi_flag == 1) { + int nseci; + // mpi seq. update + for (int j = 0; j < nsectors; j++) { + comm->forward_comm(); + for (int i = 0; i < nlocal; i++) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts,sp,fm); + } + } + for (int j = nsectors-1; j >= 0; j--) { + comm->forward_comm(); + for (int i = nlocal-1; i >= 0; i--) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts,sp,fm); + } + } + } else if (mpi_flag == 0) { + // serial seq. update + // advance quarter s for nlocal-1 + for (int i = 0; i < nlocal-1; i++){ + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + // advance half s for 1 + ComputeInteractionsSpin(nlocal-1); + AdvanceSingleSpin(nlocal-1,dts,sp,fm); + // advance quarter s for nlocal-1 + for (int i = nlocal-2; i >= 0; i--){ + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } else error->all(FLERR,"Illegal fix integration/spin command"); + } + + // update x for all particles + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + x[i][0] += 2.0 * dtv * v[i][0]; + x[i][1] += 2.0 * dtv * v[i][1]; + x[i][2] += 2.0 * dtv * v[i][2]; + } + } + + // update half s for all particles + if (extra == SPIN) { + if (mpi_flag == 1) { + int nseci; + // mpi seq. update + for (int j = 0; j < nsectors; j++) { + comm->forward_comm(); + for (int i = 0; i < nlocal; i++) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts,sp,fm); + } + } + for (int j = nsectors-1; j >= 0; j--) { + comm->forward_comm(); + for (int i = nlocal-1; i >= 0; i--) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts,sp,fm); + } + } + } else if (mpi_flag == 0) { + // serial seq. update + // advance quarter s for nlocal-2 particles + for (int i = nlocal-1; i >= 1; i--){ + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + // advance half s for 1 + ComputeInteractionsSpin(0); + AdvanceSingleSpin(0,dts,sp,fm); + // advance quarter s for nlocal-2 particles + for (int i = 1; i < nlocal; i++){ + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } else error->all(FLERR,"Illegal fix integration/spin command"); + } + +#endif -// printf("after mechmag, spin 1: [%g,%g,%g] \n",f[1][0],f[1][1],f[1][2]); - // update half v all particles +//#define VRSRV +#if defined VRSRV + // update half v for all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (rmass) dtfm = dtf / rmass[i]; @@ -229,16 +357,17 @@ void FixIntegrationSpin::initial_integrate(int vflag) // update half x for all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - x[i][0] += 0.5 * dtv * v[i][0]; - x[i][1] += 0.5 * dtv * v[i][1]; - x[i][2] += 0.5 * dtv * v[i][2]; + x[i][0] += dtv * v[i][0]; + x[i][1] += dtv * v[i][1]; + x[i][2] += dtv * v[i][2]; } } - + + // update s for all particles if (extra == SPIN) { if (mpi_flag == 1) { int nseci; - // mpi seq. update spins for all particles + // mpi seq. update for (int j = 0; j < nsectors; j++) { comm->forward_comm(); for (int i = 0; i < nlocal; i++) { @@ -248,7 +377,7 @@ void FixIntegrationSpin::initial_integrate(int vflag) nseci = coords2sector(xi); if (j != nseci) continue; ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); + AdvanceSingleSpin(i,dts,sp,fm); } } for (int j = nsectors-1; j >= 0; j--) { @@ -260,18 +389,18 @@ void FixIntegrationSpin::initial_integrate(int vflag) nseci = coords2sector(xi); if (j != nseci) continue; ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); + AdvanceSingleSpin(i,dts,sp,fm); } } } else if (mpi_flag == 0) { - // serial seq. update spins for all particles + // serial seq. update for (int i = 0; i < nlocal; i++){ ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); + AdvanceSingleSpin(i,dts,sp,fm); } for (int i = nlocal-1; i >= 0; i--){ ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); + AdvanceSingleSpin(i,dts,sp,fm); } } else error->all(FLERR,"Illegal fix integration/spin command"); } @@ -279,11 +408,75 @@ void FixIntegrationSpin::initial_integrate(int vflag) // update half x for all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - x[i][0] += 0.5 * dtv * v[i][0]; - x[i][1] += 0.5 * dtv * v[i][1]; - x[i][2] += 0.5 * dtv * v[i][2]; + x[i][0] += dtv * v[i][0]; + x[i][1] += dtv * v[i][1]; + x[i][2] += dtv * v[i][2]; } } +#endif + + +//#define RSVSR_TEST +#if defined RSVSR_TEST + + // update half x for all particles + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + x[i][0] += dtv * v[i][0]; + x[i][1] += dtv * v[i][1]; + x[i][2] += dtv * v[i][2]; + } + } + + // update half s for all particles + if (extra == SPIN) { + if (mpi_flag == 1) { + int nseci; + // mpi seq. update + for (int j = 0; j < nsectors; j++) { + comm->forward_comm(); + for (int i = 0; i < nlocal; i++) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts,sp,fm); + } + } + for (int j = nsectors-1; j >= 0; j--) { + comm->forward_comm(); + for (int i = nlocal-1; i >= 0; i--) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts,sp,fm); + } + } + } else if (mpi_flag == 0) { + // serial seq. update + // advance quarter s for nlocal-2 particles + for (int i = 0; i < nlocal-2; i++){ + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + // advance half s for nlocal-1 + ComputeInteractionsSpin(nlocal-1); + AdvanceSingleSpin(nlocal-1,dts,sp,fm); + // advance quarter s for nlocal-2 particles + for (int i = nlocal-2; i >= 0; i--){ + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } else error->all(FLERR,"Illegal fix integration/spin command"); + } + +#endif + } @@ -302,17 +495,17 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) const int newton_pair = force->newton_pair; // add test here - if (magpair_flag) { - inum = lockpairspin->list->inum; - ilist = lockpairspin->list->ilist; - numneigh = lockpairspin->list->numneigh; - firstneigh = lockpairspin->list->firstneigh; + if (exch_flag) { + inum = lockpairspinexchange->list->inum; + ilist = lockpairspinexchange->list->ilist; + numneigh = lockpairspinexchange->list->numneigh; + firstneigh = lockpairspinexchange->list->firstneigh; } - double xtmp,ytmp,ztmp; - double rsq,rd,delx,dely,delz; - double cut_ex_2, cut_dmi_2, cut_me_2; - cut_ex_2 = cut_dmi_2 = cut_me_2 = 0.0; + double rsq, rd; + double delx, dely, delz; + double temp_cut, cut_2, inorm; + temp_cut = cut_2 = inorm = 0.0; int eflag = 1; int vflag = 0; @@ -341,43 +534,43 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) for (int jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; + itype = type[ii]; + jtype = type[j]; + spj[0] = sp[j][0]; spj[1] = sp[j][1]; spj[2] = sp[j][2]; - delx = xi[0] - x[j][0]; - dely = xi[1] - x[j][1]; - delz = xi[2] - x[j][2]; + delx = x[j][0] - xi[0]; + dely = x[j][1] - xi[1]; + delz = x[j][2] - xi[2]; rsq = delx*delx + dely*dely + delz*delz; - itype = type[ii]; - jtype = type[j]; + inorm = 1.0/sqrt(rsq); - if (magpair_flag) { // mag. pair inter. - double temp_cut; - if (exch_flag) { // exchange - temp_cut = lockpairspin->cut_spin_exchange[itype][jtype]; - cut_ex_2 = temp_cut*temp_cut; - if (rsq <= cut_ex_2) { - lockpairspin->compute_exchange(i,j,rsq,fmi,fmj,spi,spj); - } - } - if (dmi_flag) { // dmi - temp_cut = lockpairspin->cut_spin_dmi[itype][jtype]; - cut_dmi_2 = temp_cut*temp_cut; - if (rsq <= cut_dmi_2) { - lockpairspin->compute_dmi(i,j,fmi,fmj,spi,spj); - } - } - if (me_flag) { // me - temp_cut = lockpairspin->cut_spin_me[itype][jtype]; - cut_me_2 = temp_cut*temp_cut; - if (rsq <= cut_me_2) { - lockpairspin->compute_me(i,j,fmi,fmj,spi,spj); - } + rij[0] = delx*inorm; + rij[1] = dely*inorm; + rij[2] = delz*inorm; + + temp_cut = 0.0; + + if (exch_flag) { // exchange + temp_cut = lockpairspinexchange->cut_spin_exchange[itype][jtype]; + cut_2 = temp_cut*temp_cut; + if (rsq <= cut_2) { + lockpairspinexchange->compute_exchange(i,j,rsq,fmi,fmj,spi,spj); + } + } + + if (soc_flag) { // soc + temp_cut = lockpairspinsocneel->cut_soc_neel[itype][jtype]; + cut_2 = temp_cut*temp_cut; + if (rsq <= cut_2) { + lockpairspinsocneel->compute_soc_neel(i,j,rsq,rij,fmi,fmj,spi,spj); } - } - } + } + } + if (magforce_flag) { // mag. forces if (zeeman_flag) { // zeeman lockforcespin->compute_zeeman(i,fmi); @@ -421,7 +614,7 @@ void FixIntegrationSpin::sectoring() const double rsy = subhi[1] - sublo[1]; const double rsz = subhi[2] - sublo[2]; - const double rv = lockpairspin->cut_spin_pair_global; + const double rv = lockpairspinexchange->cut_spin_exchange_global; double rax = rsx/rv; double ray = rsy/rv; @@ -474,9 +667,9 @@ int FixIntegrationSpin::coords2sector(double *xi) /* ---------------------------------------------------------------------- */ -void FixIntegrationSpin::AdvanceSingleSpin(int i, double dts, double **sp, double **fm) +void FixIntegrationSpin::AdvanceSingleSpin(int i, double dtl, double **sp, double **fm) { - double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; + double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy,dts2; double cp[3],g[3]; cp[0] = cp[1] = cp[2] = 0.0; @@ -484,22 +677,23 @@ void FixIntegrationSpin::AdvanceSingleSpin(int i, double dts, double **sp, doubl fm2 = (fm[i][0]*fm[i][0])+(fm[i][1]*fm[i][1])+(fm[i][2]*fm[i][2]); fmsq = sqrt(fm2); energy = (sp[i][0]*fm[i][0])+(sp[i][1]*fm[i][1])+(sp[i][2]*fm[i][2]); - + dts2 = dtl*dtl; + cp[0] = fm[i][1]*sp[i][2]-fm[i][2]*sp[i][1]; cp[1] = fm[i][2]*sp[i][0]-fm[i][0]*sp[i][2]; cp[2] = fm[i][0]*sp[i][1]-fm[i][1]*sp[i][0]; - g[0] = sp[i][0]+cp[0]*dts; - g[1] = sp[i][1]+cp[1]*dts; - g[2] = sp[i][2]+cp[2]*dts; + g[0] = sp[i][0]+cp[0]*dtl; + g[1] = sp[i][1]+cp[1]*dtl; + g[2] = sp[i][2]+cp[2]*dtl; - g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts*dts; - g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts*dts; - g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts*dts; + g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; + g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; + g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts2; - g[0] /= (1+0.25*fm2*dts*dts); - g[1] /= (1+0.25*fm2*dts*dts); - g[2] /= (1+0.25*fm2*dts*dts); + g[0] /= (1+0.25*fm2*dts2); + g[1] /= (1+0.25*fm2*dts2); + g[2] /= (1+0.25*fm2*dts2); sp[i][0] = g[0]; sp[i][1] = g[1]; @@ -523,6 +717,8 @@ void FixIntegrationSpin::final_integrate() double **x = atom->x; double **v = atom->v; double **f = atom->f; + double **sp = atom->sp; + double **fm = atom->fm; double *rmass = atom->rmass; double *mass = atom->mass; int nlocal = atom->nlocal; @@ -530,13 +726,11 @@ void FixIntegrationSpin::final_integrate() int *type = atom->type; int *mask = atom->mask; - // compute and add magneto-mech. force -// if (magpair_flag == 1) { -// if (exch_flag) lockpairspin->compute_magnetomech(0,0); -// } +#define VSRSV_TEST +#if defined VSRSV_TEST // update half v for all particles - for (int i = 0; i < nlocal; i++) { + for (int i = nlocal-1; i >= 0; i--) { if (mask[i] & groupbit) { if (rmass) dtfm = dtf / rmass[i]; else dtfm = dtf / mass[type[i]]; @@ -545,4 +739,93 @@ void FixIntegrationSpin::final_integrate() v[i][2] += dtfm * f[i][2]; } } + +#endif + +//#define VRSRV +#if defined VRSRV + // update half v for all particles + for (int i = nlocal-1; i >= 0; i--) { + if (mask[i] & groupbit) { + if (rmass) dtfm = dtf / rmass[i]; + else dtfm = dtf / mass[type[i]]; + v[i][0] += dtfm * f[i][0]; + v[i][1] += dtfm * f[i][1]; + v[i][2] += dtfm * f[i][2]; + } + } +#endif + +//#define RSVSR_TEST +#if defined RSVSR_TEST + + // update v for all particles + for (int i = nlocal-1; i >= 0; i--) { + if (mask[i] & groupbit) { + if (rmass) dtfm = dtf / rmass[i]; + else dtfm = dtf / mass[type[i]]; + v[i][0] += 2.0 * dtfm * f[i][0]; + v[i][1] += 2.0 * dtfm * f[i][1]; + v[i][2] += 2.0 * dtfm * f[i][2]; + } + } + + // update half s for all particles + if (extra == SPIN) { + if (mpi_flag == 1) { + int nseci; + // mpi seq. update + for (int j = 0; j < nsectors; j++) { + comm->forward_comm(); + for (int i = 0; i < nlocal; i++) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts,sp,fm); + } + } + for (int j = nsectors-1; j >= 0; j--) { + comm->forward_comm(); + for (int i = nlocal-1; i >= 0; i--) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts,sp,fm); + } + } + } else if (mpi_flag == 0) { + // serial seq. update + // advance quarter s for nlocal-2 particles + for (int i = nlocal-1; i >= 1; i--){ + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + // advance half s for nlocal-1 + ComputeInteractionsSpin(0); + AdvanceSingleSpin(0,dts,sp,fm); + // advance quarter s for nlocal-2 particles + for (int i = 1; i < nlocal-1; i++){ + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,0.5*dts,sp,fm); + } + } else error->all(FLERR,"Illegal fix integration/spin command"); + } + + // update half x for all particles + for (int i = nlocal-1; i >= 0; i--) { + if (mask[i] & groupbit) { + x[i][0] += dtv * v[i][0]; + x[i][1] += dtv * v[i][1]; + x[i][2] += dtv * v[i][2]; + } + } + +#endif + } diff --git a/src/SPIN/fix_integration_spin.h b/src/SPIN/fix_integration_spin.h index 96f0035919..6da740447d 100644 --- a/src/SPIN/fix_integration_spin.h +++ b/src/SPIN/fix_integration_spin.h @@ -50,20 +50,23 @@ class FixIntegrationSpin : public Fix { // mag. interaction flags int magpair_flag; - int exch_flag, dmi_flag, me_flag; + int soc_flag; + int exch_flag; int magforce_flag; int zeeman_flag, aniso_flag; int maglangevin_flag; int tdamp_flag, temp_flag; - // pointers to mag. interaction classes + // pointers to interaction classes class PairHybrid *lockhybrid; class PairSpin *lockpairspin; + class PairSpinExchange *lockpairspinexchange; + class PairSpinSocNeel *lockpairspinsocneel; class FixForceSpin *lockforcespin; class FixLangevinSpin *locklangevinspin; // temporary variables - double *xi; + double *xi, *rij; double *spi, *spj; double *fmi, *fmj; diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index 4f59f8f4d7..84b2581a3a 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -129,16 +129,17 @@ void FixLangevinSpin::init() } if (flag_force >= flag_lang) error->all(FLERR,"Fix langevin/spin should come after all other spin fixes"); - memory->create(spi,3,"pair:spi"); - memory->create(fmi,3,"pair:fmi"); + memory->create(spi,3,"langevin:spi"); + memory->create(fmi,3,"langevin:fmi"); + gil_factor = 1.0/(1.0+(alpha_t)*(alpha_t)); dts = update->dt; - Gil_factor = 1.0/(1.0+(alpha_t)*(alpha_t)); - double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) - double kb = force->boltz; - D = (MY_2PI*Gil_factor*kb*temp)/hbar/dts; - sigma = sqrt(D); + double hbar = force->hplanck/MY_2PI; // eV/(rad.THz) + double kb = force->boltz; // eV/K + D = (MY_2PI*alpha_t*gil_factor*kb*temp); + D /= (hbar*dts); + sigma = sqrt(2.0*D); } /* ---------------------------------------------------------------------- */ @@ -155,7 +156,7 @@ void FixLangevinSpin::setup(int vflag) } /* ---------------------------------------------------------------------- */ - +/* void FixLangevinSpin::post_force(int vflag) { double **sp = atom->sp; @@ -163,11 +164,6 @@ void FixLangevinSpin::post_force(int vflag) int *mask = atom->mask; const int nlocal = atom->nlocal; - double sx, sy, sz; - double fmx, fmy, fmz; - double cpx, cpy, cpz; - double rx, ry, rz; - // add the damping to the effective field of each spin for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { @@ -194,6 +190,7 @@ void FixLangevinSpin::post_force(int vflag) } } +*/ /* ---------------------------------------------------------------------- */ void FixLangevinSpin::add_tdamping(double *spi, double *fmi) @@ -213,25 +210,27 @@ void FixLangevinSpin::add_temperature(double *fmi) { //#define GAUSSIAN_R #if defined GAUSSIAN_R - // drawing gausian random dist + // drawing gaussian random dist double rx = sigma*random->gaussian(); double ry = sigma*random->gaussian(); double rz = sigma*random->gaussian(); #else - double rx = sigma*(random->uniform() - 0.5); - double ry = sigma*(random->uniform() - 0.5); - double rz = sigma*(random->uniform() - 0.5); + double rx = sigma*(-1.0+2.0*random->uniform()); + double ry = sigma*(-1.0+2.0*random->uniform()); + double rz = sigma*(-1.0+2.0*random->uniform()); #endif +// printf("test Gaussian vals: %g \n",rx); + // adding the random field fmi[0] += rx; fmi[1] += ry; fmi[2] += rz; // adding Gilbert's prefactor - fmi[0] *= Gil_factor; - fmi[1] *= Gil_factor; - fmi[2] *= Gil_factor; + fmi[0] *= gil_factor; + fmi[1] *= gil_factor; + fmi[2] *= gil_factor; } diff --git a/src/SPIN/fix_langevin_spin.h b/src/SPIN/fix_langevin_spin.h index 2fe6c6fab5..0afcdfbbae 100644 --- a/src/SPIN/fix_langevin_spin.h +++ b/src/SPIN/fix_langevin_spin.h @@ -31,7 +31,7 @@ class FixLangevinSpin : public Fix { int setmask(); void init(); void setup(int); - virtual void post_force(int); +// virtual void post_force(int); void post_force_respa(int, int, int); // add transverse damping and temperature void add_tdamping(double *, double *); @@ -41,11 +41,13 @@ class FixLangevinSpin : public Fix { protected: double *spi, *fmi; - // transverse and longitudinal damping coeff. - double alpha_t, alpha_l; - // timestep, temperature, noise intensity - double dts,temp,D,sigma; - double Gil_factor; + double alpha_t; // mag. transverse damping coeff. + double alpha_l; // mag. longitudinal damping coeff. + double dts; // timestep + double temp; // spin bath temperature + double D,sigma; // bath intensity var. + + double gil_factor; // Gilbert's prefactor char *id_temp; class Compute *temperature; diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp new file mode 100755 index 0000000000..1339c90d3d --- /dev/null +++ b/src/SPIN/pair_spin_exchange.cpp @@ -0,0 +1,484 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) +------------------------------------------------------------------------- */ + +#include +#include +#include + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "pair_hybrid.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "math_const.h" +#include "memory.h" +#include "pair_spin_exchange.h" +#include "update.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +PairSpinExchange::PairSpinExchange(LAMMPS *lmp) : Pair(lmp) +{ + hbar = force->hplanck/MY_2PI; + + newton_pair_spin = 0; // no newton pair for now + // newton_pair = 0; + + single_enable = 0; + exch_flag = 0; + exch_mech_flag = 0; + + no_virial_fdotr_compute = 1; +} + +/* ---------------------------------------------------------------------- */ + +PairSpinExchange::~PairSpinExchange() +{ + if (allocated) { + memory->destroy(setflag); + + memory->destroy(cut_spin_exchange); + memory->destroy(J1_mag); + memory->destroy(J1_mech); + memory->destroy(J2); + memory->destroy(J3); + + memory->destroy(spi); + memory->destroy(spj); + memory->destroy(fi); + memory->destroy(fj); + memory->destroy(fmi); + memory->destroy(fmj); + memory->destroy(rij); + + memory->destroy(cutsq); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairSpinExchange::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double evdwl,ecoul; + double xtmp,ytmp,ztmp; + double fix,fiy,fiz,fjx,fjy,fjz; + double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; + double cut_ex_2,cut_spin_exchange_global2; + double rsq,rd; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + cut_spin_exchange_global2 = cut_spin_exchange_global*cut_spin_exchange_global; + + double **x = atom->x; + double **f = atom->f; + double **fm = atom->fm; + double *mumag = atom->mumag; + double **sp = atom->sp; + int *type = atom->type; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // pair spin computations + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + // loop on neighbors + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + evdwl = 0.0; + + fi[0] = fi[1] = fi[2] = 0.0; + fj[0] = fj[1] = fj[2] = 0.0; + fmi[0] = fmi[1] = fmi[2] = 0.0; + fmj[0] = fmj[1] = fmj[2] = 0.0; + rij[0] = rij[1] = rij[2] = 0.0; + + rij[0] = x[j][0] - xtmp; + rij[1] = x[j][1] - ytmp; + rij[2] = x[j][2] - ztmp; + + // square of inter-atomic distance + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + double inorm = 1.0/sqrt(rsq); + rij[0] *= inorm; + rij[1] *= inorm; + rij[2] *= inorm; + + itype = type[i]; + jtype = type[j]; + + // exchange interaction + if (exch_flag) { + cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; + if (rsq <= cut_ex_2) { + compute_exchange(i,j,rsq,fmi,fmj,spi,spj); + compute_exchange_mech(i,j,rsq,rij,fi,fj,spi,spj); + } + } + + f[i][0] += fi[0]; + f[i][1] += fi[1]; + f[i][2] += fi[2]; + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; + fm[i][2] += fmi[2]; + +// if (newton_pair || j < nlocal) { + if (newton_pair_spin) { + f[j][0] += fj[0]; + f[j][1] += fj[1]; + f[j][2] += fj[2]; + fm[j][0] += fmj[0]; + fm[j][1] += fmj[1]; + fm[j][2] += fmj[2]; + } + + if (eflag) { + if (rsq <= cut_ex_2) { + evdwl -= spi[0]*fmi[0]; + evdwl -= spi[1]*fmi[1]; + evdwl -= spi[2]*fmi[2]; + evdwl *= hbar; + } else evdwl = 0.0; + } + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, + evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + } + } + + if (vflag_fdotr) virial_fdotr_compute(); + +} + +/* ---------------------------------------------------------------------- */ +void PairSpinExchange::compute_exchange(int i, int j, double rsq, double *fmi, double *fmj, double *spi, double *spj) +{ + int *type = atom->type; + int itype, jtype; + double Jex, ra; + itype = type[i]; + jtype = type[j]; + + ra = rsq/J3[itype][jtype]/J3[itype][jtype]; + Jex = 4.0*J1_mag[itype][jtype]*ra; + Jex *= (1.0-J2[itype][jtype]*ra); + Jex *= exp(-ra); + + fmi[0] += 0.5*Jex*spj[0]; + fmi[1] += 0.5*Jex*spj[1]; + fmi[2] += 0.5*Jex*spj[2]; + + fmj[0] += 0.5*Jex*spi[0]; + fmj[1] += 0.5*Jex*spi[1]; + fmj[2] += 0.5*Jex*spi[2]; + +} + +/* ---------------------------------------------------------------------- */ +void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double *rij, double *fi, double *fj, double *spi, double *spj) +{ + int *type = atom->type; + int itype, jtype; + double Jex, Jex_mech, ra, rr, iJ3; + itype = type[i]; + jtype = type[j]; + Jex = J1_mech[itype][jtype]; + iJ3 = 1.0/(J3[itype][jtype]*J3[itype][jtype]); + + ra = rsq*iJ3; + rr = sqrt(rsq)*iJ3; + + Jex_mech = 1.0-ra-J2[itype][jtype]*ra*(2.0-ra); + Jex_mech *= 8.0*Jex*rr*exp(-ra); + Jex_mech *= (spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]); + + fi[0] += Jex_mech*rij[0]; + fi[1] += Jex_mech*rij[1]; + fi[2] += Jex_mech*rij[2]; + + fj[0] -= Jex_mech*rij[0]; + fj[1] -= Jex_mech*rij[1]; + fj[2] -= Jex_mech*rij[2]; + +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairSpinExchange::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cut_spin_exchange,n+1,n+1,"pair:cut_spin_exchange"); + memory->create(J1_mag,n+1,n+1,"pair:J1_mag"); + memory->create(J1_mech,n+1,n+1,"pair:J1_mech"); + memory->create(J2,n+1,n+1,"pair:J2"); + memory->create(J3,n+1,n+1,"pair:J3"); + + memory->create(spi,3,"pair:spi"); + memory->create(spj,3,"pair:spj"); + memory->create(fi,3,"pair:fi"); + memory->create(fj,3,"pair:fj"); + memory->create(fmi,3,"pair:fmi"); + memory->create(fmj,3,"pair:fmj"); + memory->create(rij,3,"pair:rij"); + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairSpinExchange::settings(int narg, char **arg) +{ + if (narg < 1 || narg > 2) + error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); + + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"Spin simulations require metal unit style"); + + cut_spin_exchange_global = force->numeric(FLERR,arg[0]); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i+1; j <= atom->ntypes; j++) + if (setflag[i][j]) { + cut_spin_exchange[i][j] = cut_spin_exchange_global; + } + } + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type spin pairs (only one for now) +------------------------------------------------------------------------- */ + +void PairSpinExchange::coeff(int narg, char **arg) +{ + const double hbar = force->hplanck/MY_2PI; + + if (!allocated) allocate(); + + // set exch_mech_flag to 1 if magneto-mech simulation + if (strstr(force->pair_style,"pair/spin")) { + exch_mech_flag = 0; + } else if (strstr(force->pair_style,"hybrid/overlay")) { + exch_mech_flag = 1; + } else error->all(FLERR,"Incorrect args in pair_style command"); + + + if (strcmp(arg[2],"exchange")==0){ + if (narg != 7) error->all(FLERR,"Incorrect args in pair_style command"); + exch_flag = 1; + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + const double rij = force->numeric(FLERR,arg[3]); + const double j1 = (force->numeric(FLERR,arg[4])); + const double j2 = force->numeric(FLERR,arg[5]); + const double j3 = force->numeric(FLERR,arg[6]); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_exchange[i][j] = rij; + J1_mag[i][j] = j1/hbar; + if (exch_mech_flag) { + J1_mech[i][j] = j1; + } else { + J1_mech[i][j] = 0.0; + } + J2[i][j] = j2; + J3[i][j] = j3; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); + } else error->all(FLERR,"Incorrect args in pair_style command"); + +} + + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairSpinExchange::init_style() +{ + if (!atom->sp_flag || !atom->mumag_flag) + error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); + + neighbor->request(this,instance_me); + + // check this half/full request +#define FULLNEI +#if defined FULLNEI + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; +#endif + +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairSpinExchange::init_one(int i, int j) +{ + + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + return cut_spin_exchange_global; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpinExchange::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) { + if (exch_flag){ + fwrite(&J1_mag[i][j],sizeof(double),1,fp); + fwrite(&J1_mech[i][j],sizeof(double),1,fp); + fwrite(&J2[i][j],sizeof(double),1,fp); + fwrite(&J3[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_exchange[i][j],sizeof(double),1,fp); + } + } + } + } + +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpinExchange::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) { + if (me == 0) { + fread(&J1_mag[i][j],sizeof(double),1,fp); + fread(&J1_mech[i][j],sizeof(double),1,fp); + fread(&J2[i][j],sizeof(double),1,fp); + fread(&J2[i][j],sizeof(double),1,fp); + fread(&cut_spin_exchange[i][j],sizeof(double),1,fp); + } + MPI_Bcast(&J1_mag[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&J1_mech[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&J2[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&J3[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_spin_exchange[i][j],1,MPI_DOUBLE,0,world); + } + } + } +} + + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpinExchange::write_restart_settings(FILE *fp) +{ + fwrite(&cut_spin_exchange_global,sizeof(double),1,fp); + fwrite(&offset_flag,sizeof(int),1,fp); + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpinExchange::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + fread(&cut_spin_exchange_global,sizeof(double),1,fp); + fread(&offset_flag,sizeof(int),1,fp); + fread(&mix_flag,sizeof(int),1,fp); + } + MPI_Bcast(&cut_spin_exchange_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&offset_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); +} diff --git a/src/SPIN/pair_spin_exchange.h b/src/SPIN/pair_spin_exchange.h new file mode 100755 index 0000000000..14cdf7a959 --- /dev/null +++ b/src/SPIN/pair_spin_exchange.h @@ -0,0 +1,89 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(pair/spin/exchange,PairSpinExchange) + +#else + +#ifndef LMP_PAIR_SPIN_EXCHANGE_H +#define LMP_PAIR_SPIN_EXCHANGE_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairSpinExchange : public Pair { + public: + PairSpinExchange(class LAMMPS *); + virtual ~PairSpinExchange(); + virtual void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + + void write_restart(FILE *); + void read_restart(FILE *); + void write_restart_settings(FILE *); + void read_restart_settings(FILE *); + + void compute_exchange(int, int, double, double *, double *,double *, double *); + void compute_exchange_mech(int, int, double, double *, double *, double *,double *, double *); + + int exch_flag; // mag. exchange flag + int exch_mech_flag; // mech. exchange flags + + double cut_spin_exchange_global; // global exchange cutoff + double **cut_spin_exchange; // cutoff distance exchange + + protected: + int newton_pair_spin; + double hbar; + + double **J1_mag, **J1_mech; // exchange coeffs Jij + double **J2, **J3; // J1 in eV, J2 adim, J3 in Ang + + double *spi, *spj; // temp. spin vals. in compute + double *fi, *fj; // temp. mech. forces in compute + double *fmi, *fmj; // temp. mag. forces in compute + double *rij; // norm. inter atomic vectors + + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Incorrect args in pair_spin command + +Self-explanatory. + +E: Spin simulations require metal unit style + +Self-explanatory. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair spin requires atom attributes sp, mumag + +The atom style defined does not have these attributes. + +*/ diff --git a/src/SPIN/pair_spin_me.cpp b/src/SPIN/pair_spin_me.cpp new file mode 100755 index 0000000000..b48abe93e6 --- /dev/null +++ b/src/SPIN/pair_spin_me.cpp @@ -0,0 +1,460 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) +------------------------------------------------------------------------- */ + +#include +#include +#include + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "pair_hybrid.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "math_const.h" +#include "memory.h" +#include "pair_spin_me.h" +#include "update.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +PairSpinMe::PairSpinMe(LAMMPS *lmp) : Pair(lmp) +{ + hbar = force->hplanck/MY_2PI; + + newton_pair_spin = 0; // no newton pair for now + // newton_pair = 0; + + single_enable = 0; + me_flag = 0; + + no_virial_fdotr_compute = 1; +} + +/* ---------------------------------------------------------------------- */ + +PairSpinMe::~PairSpinMe() +{ + if (allocated) { + memory->destroy(setflag); + + memory->destroy(cut_spin_me); + memory->destroy(ME); + memory->destroy(v_mex); + memory->destroy(v_mey); + memory->destroy(v_mez); + + memory->destroy(spi); + memory->destroy(spj); + memory->destroy(fi); + memory->destroy(fj); + memory->destroy(fmi); + memory->destroy(fmj); + memory->destroy(rij); + + memory->destroy(cutsq); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairSpinMe::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double evdwl,ecoul; + double xi,yi,zi; + double fix,fiy,fiz,fjx,fjy,fjz; + double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; + double cut_me_2,cut_spin_me_global2; + double rsq,rd; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + cut_spin_me_global2 = cut_spin_me_global*cut_spin_me_global; + + double **x = atom->x; + double **f = atom->f; + double **fm = atom->fm; + double *mumag = atom->mumag; + double **sp = atom->sp; + int *type = atom->type; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // magneto-electric computation + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xi = x[i][0]; + yi = x[i][1]; + zi = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + // loop on neighbors + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + evdwl = 0.0; + + fi[0] = fi[1] = fi[2] = 0.0; + fj[0] = fj[1] = fj[2] = 0.0; + fmi[0] = fmi[1] = fmi[2] = 0.0; + fmj[0] = fmj[1] = fmj[2] = 0.0; + rij[0] = rij[1] = rij[2] = 0.0; + + rij[0] = x[j][0] - xi; + rij[1] = x[j][1] - yi; + rij[2] = x[j][2] - zi; + + // square of inter-atomic distance + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + double inorm = 1.0/sqrt(rsq); + rij[0] *= inorm; + rij[1] *= inorm; + rij[2] *= inorm; + + itype = type[i]; + jtype = type[j]; + + // me interaction + if (me_flag){ + cut_me_2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; + if (rsq <= cut_me_2){ + compute_me(i,j,fmi,fmj,spi,spj); + } + } + + f[i][0] += fi[0]; + f[i][1] += fi[1]; + f[i][2] += fi[2]; + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; + fm[i][2] += fmi[2]; + +// if (newton_pair || j < nlocal) { + if (newton_pair_spin) { + f[j][0] += fj[0]; + f[j][1] += fj[1]; + f[j][2] += fj[2]; + fm[j][0] += fmj[0]; + fm[j][1] += fmj[1]; + fm[j][2] += fmj[2]; + } + + if (eflag) { + if (rsq <= cut_me_2) { + evdwl -= spi[0]*fmi[0]; + evdwl -= spi[1]*fmi[1]; + evdwl -= spi[2]*fmi[2]; + evdwl *= hbar; + } else evdwl = 0.0; + } + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, + evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + } + } + + if (vflag_fdotr) virial_fdotr_compute(); + +} + + +/* ---------------------------------------------------------------------- */ +void PairSpinMe::compute_me(int i, int j, double *fmi, double *fmj, double *spi, double *spj) +{ + int *type = atom->type; + int itype, jtype; + itype = type[i]; + jtype = type[j]; + double **sp = atom->sp; + double **x = atom->x; + double meix,meiy,meiz; + double rx, ry, rz, inorm; + + rx = x[j][0] - x[i][0]; + ry = x[j][1] - x[i][1]; + rz = x[j][2] - x[i][2]; + inorm = 1.0/sqrt(rx*rx+ry*ry+rz*rz); + rx *= inorm; + ry *= inorm; + rz *= inorm; + + meix = v_mey[itype][jtype]*rz - v_mez[itype][jtype]*ry; + meiy = v_mez[itype][jtype]*rx - v_mex[itype][jtype]*rz; + meiz = v_mex[itype][jtype]*ry - v_mey[itype][jtype]*rx; + + meix *= ME[itype][jtype]; + meiy *= ME[itype][jtype]; + meiz *= ME[itype][jtype]; + + fmi[0] += spj[1]*meiz - spj[2]*meiy; + fmi[1] += spj[2]*meix - spj[0]*meiz; + fmi[2] += spj[0]*meiy - spj[1]*meix; + + fmj[0] -= spi[1]*meiz - spi[2]*meiy; + fmj[1] -= spi[2]*meix - spi[0]*meiz; + fmj[2] -= spi[0]*meiy - spi[1]*meix; + +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairSpinMe::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cut_spin_me,n+1,n+1,"pair:cut_spin_me"); + memory->create(ME,n+1,n+1,"pair:ME"); + memory->create(v_mex,n+1,n+1,"pair:ME_vector_x"); + memory->create(v_mey,n+1,n+1,"pair:ME_vector_y"); + memory->create(v_mez,n+1,n+1,"pair:ME_vector_z"); + + memory->create(spi,3,"pair:spi"); + memory->create(spj,3,"pair:spj"); + memory->create(fi,3,"pair:fi"); + memory->create(fj,3,"pair:fj"); + memory->create(fmi,3,"pair:fmi"); + memory->create(fmj,3,"pair:fmj"); + memory->create(rij,3,"pair:rij"); + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairSpinMe::settings(int narg, char **arg) +{ + if (narg < 1 || narg > 2) + error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); + + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"Spin simulations require metal unit style"); + + cut_spin_me_global = force->numeric(FLERR,arg[0]); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i+1; j <= atom->ntypes; j++) + if (setflag[i][j]) { + cut_spin_me[i][j] = cut_spin_me_global; + } + } + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type spin pairs (only one for now) +------------------------------------------------------------------------- */ + +void PairSpinMe::coeff(int narg, char **arg) +{ + const double hbar = force->hplanck/MY_2PI; + + if (!allocated) allocate(); + + if (strcmp(arg[2],"me")==0) { + if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); + me_flag = 1; + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + const double rij = force->numeric(FLERR,arg[3]); + const double me = (force->numeric(FLERR,arg[4]))/hbar; + double mex = force->numeric(FLERR,arg[5]); + double mey = force->numeric(FLERR,arg[6]); + double mez = force->numeric(FLERR,arg[7]); + + double inorm = 1.0/(mex*mex+mey*mey+mez*mez); + mex *= inorm; + mey *= inorm; + mez *= inorm; + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_me[i][j] = rij; + ME[i][j] = me; + v_mex[i][j] = mex; + v_mey[i][j] = mey; + v_mez[i][j] = mez; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); + } else error->all(FLERR,"Incorrect args in pair_style command"); + +} + + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairSpinMe::init_style() +{ + if (!atom->sp_flag || !atom->mumag_flag) + error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); + + neighbor->request(this,instance_me); + + // check this half/full request +#define FULLNEI +#if defined FULLNEI + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; +#endif + +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairSpinMe::init_one(int i, int j) +{ + + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + return cut_spin_me_global; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpinMe::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) { + if (me_flag) { + fwrite(&ME[i][j],sizeof(double),1,fp); + fwrite(&v_mex[i][j],sizeof(double),1,fp); + fwrite(&v_mey[i][j],sizeof(double),1,fp); + fwrite(&v_mez[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_me[i][j],sizeof(double),1,fp); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpinMe::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) { + if (me == 0) { + fread(&ME[i][j],sizeof(double),1,fp); + fread(&v_mex[i][j],sizeof(double),1,fp); + fread(&v_mey[i][j],sizeof(double),1,fp); + fread(&v_mez[i][j],sizeof(double),1,fp); + fread(&cut_spin_me[i][j],sizeof(double),1,fp); + } + MPI_Bcast(&ME[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&v_mex[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&v_mey[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&v_mez[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_spin_me[i][j],1,MPI_DOUBLE,0,world); + } + } + } +} + + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpinMe::write_restart_settings(FILE *fp) +{ + fwrite(&cut_spin_me_global,sizeof(double),1,fp); + fwrite(&offset_flag,sizeof(int),1,fp); + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpinMe::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + fread(&cut_spin_me_global,sizeof(double),1,fp); + fread(&offset_flag,sizeof(int),1,fp); + fread(&mix_flag,sizeof(int),1,fp); + } + MPI_Bcast(&cut_spin_me_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&offset_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); +} diff --git a/src/SPIN/pair_spin_me.h b/src/SPIN/pair_spin_me.h new file mode 100755 index 0000000000..fb216a61ea --- /dev/null +++ b/src/SPIN/pair_spin_me.h @@ -0,0 +1,87 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(pair/spin/me,PairSpinMe) + +#else + +#ifndef LMP_PAIR_SPIN_ME_H +#define LMP_PAIR_SPIN_ME_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairSpinMe : public Pair { + public: + PairSpinMe(class LAMMPS *); + virtual ~PairSpinMe(); + virtual void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + + void write_restart(FILE *); + void read_restart(FILE *); + void write_restart_settings(FILE *); + void read_restart_settings(FILE *); + + void compute_me(int, int, double *, double *, double *, double *); + + int me_flag; // me flag + + double cut_spin_me_global; // global me cutoff + double **cut_spin_me; // me cutoff distance + + protected: + int newton_pair_spin; + double hbar; + + double **ME; // me coeff in eV + double **v_mex, **v_mey, **v_mez;// me direction + + double *spi, *spj; // temp. spin vals. in compute + double *fi, *fj; // temp. mech. forces in compute + double *fmi, *fmj; // temp. mag. forces in compute + double *rij; // norm. inter atomic vectors + + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Incorrect args in pair_spin command + +Self-explanatory. + +E: Spin simulations require metal unit style + +Self-explanatory. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair spin requires atom attributes sp, mumag + +The atom style defined does not have these attributes. + +*/ diff --git a/src/SPIN/pair_spin_soc_dmi.cpp b/src/SPIN/pair_spin_soc_dmi.cpp new file mode 100755 index 0000000000..eb4f957c8e --- /dev/null +++ b/src/SPIN/pair_spin_soc_dmi.cpp @@ -0,0 +1,444 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) +------------------------------------------------------------------------- */ + +#include +#include +#include + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "pair_hybrid.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "math_const.h" +#include "memory.h" +#include "pair_spin_soc_dmi.h" +#include "update.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +PairSpinSocDmi::PairSpinSocDmi(LAMMPS *lmp) : Pair(lmp) +{ + hbar = force->hplanck/MY_2PI; + + newton_pair_spin = 0; // no newton pair for now + // newton_pair = 0; + + single_enable = 0; + dmi_flag = 0; + + no_virial_fdotr_compute = 1; +} + +/* ---------------------------------------------------------------------- */ + +PairSpinSocDmi::~PairSpinSocDmi() +{ + if (allocated) { + memory->destroy(setflag); + + memory->destroy(cut_spin_dmi); + memory->destroy(DM); + memory->destroy(v_dmx); + memory->destroy(v_dmy); + memory->destroy(v_dmz); + + memory->destroy(spi); + memory->destroy(spj); + memory->destroy(fi); + memory->destroy(fj); + memory->destroy(fmi); + memory->destroy(fmj); + memory->destroy(rij); + + memory->destroy(cutsq); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairSpinSocDmi::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double evdwl,ecoul; + double xi,yi,zi; + double fix,fiy,fiz,fjx,fjy,fjz; + double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; + double cut_dmi_2; + double rsq,rd; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + cut_dmi_2 = cut_spin_dmi_global*cut_spin_dmi_global; + + double **x = atom->x; + double **f = atom->f; + double **fm = atom->fm; + double *mumag = atom->mumag; + double **sp = atom->sp; + int *type = atom->type; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // dmi computation + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xi = x[i][0]; + yi = x[i][1]; + zi = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + // loop on neighbors + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + evdwl = 0.0; + + fi[0] = fi[1] = fi[2] = 0.0; + fj[0] = fj[1] = fj[2] = 0.0; + fmi[0] = fmi[1] = fmi[2] = 0.0; + fmj[0] = fmj[1] = fmj[2] = 0.0; + rij[0] = rij[1] = rij[2] = 0.0; + + rij[0] = x[j][0] - xi; + rij[1] = x[j][1] - yi; + rij[2] = x[j][2] - zi; + + // square of inter-atomic distance + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + double inorm = 1.0/sqrt(rsq); + rij[0] *= inorm; + rij[1] *= inorm; + rij[2] *= inorm; + + itype = type[i]; + jtype = type[j]; + + // dm interaction + if (dmi_flag){ + cut_dmi_2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; + if (rsq <= cut_dmi_2){ + compute_dmi(i,j,fmi,fmj,spi,spj); + } + } + + f[i][0] += fi[0]; + f[i][1] += fi[1]; + f[i][2] += fi[2]; + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; + fm[i][2] += fmi[2]; + +// if (newton_pair || j < nlocal) { + if (newton_pair_spin) { + f[j][0] += fj[0]; + f[j][1] += fj[1]; + f[j][2] += fj[2]; + fm[j][0] += fmj[0]; + fm[j][1] += fmj[1]; + fm[j][2] += fmj[2]; + } + + if (eflag) { + if (rsq <= cut_dmi_2) { + evdwl -= spi[0]*fmi[0]; + evdwl -= spi[1]*fmi[1]; + evdwl -= spi[2]*fmi[2]; + evdwl *= hbar; + } else evdwl = 0.0; + } + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, + evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + } + } + + if (vflag_fdotr) virial_fdotr_compute(); + +} + +/* ---------------------------------------------------------------------- */ +void PairSpinSocDmi::compute_dmi(int i, int j, double *fmi, double *fmj, double *spi, double *spj) +{ + int *type = atom->type; + int itype, jtype; + double dmix,dmiy,dmiz; + itype = type[i]; + jtype = type[j]; + + dmix = DM[itype][jtype]*v_dmx[itype][jtype]; + dmiy = DM[itype][jtype]*v_dmy[itype][jtype]; + dmiz = DM[itype][jtype]*v_dmz[itype][jtype]; + + fmi[0] += spj[1]*dmiz-spj[2]*dmiy; + fmi[1] += spj[2]*dmix-spj[0]*dmiz; + fmi[2] += spj[0]*dmiy-spj[1]*dmix; + + fmj[0] -= spi[1]*dmiz-spi[2]*dmiy; + fmj[1] -= spi[2]*dmix-spi[0]*dmiz; + fmj[2] -= spi[0]*dmiy-spi[1]*dmix; +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairSpinSocDmi::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cut_spin_dmi,n+1,n+1,"pair:cut_spin_dmi"); + memory->create(DM,n+1,n+1,"pair:DM"); + memory->create(v_dmx,n+1,n+1,"pair:DM_vector_x"); + memory->create(v_dmy,n+1,n+1,"pair:DM_vector_y"); + memory->create(v_dmz,n+1,n+1,"pair:DM_vector_z"); + + memory->create(spi,3,"pair:spi"); + memory->create(spj,3,"pair:spj"); + memory->create(fi,3,"pair:fi"); + memory->create(fj,3,"pair:fj"); + memory->create(fmi,3,"pair:fmi"); + memory->create(fmj,3,"pair:fmj"); + memory->create(rij,3,"pair:rij"); + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairSpinSocDmi::settings(int narg, char **arg) +{ + if (narg < 1 || narg > 2) + error->all(FLERR,"Incorrect number of args in pair/spin/dmi command"); + + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"Spin simulations require metal unit style"); + + cut_spin_dmi_global = force->numeric(FLERR,arg[0]); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i+1; j <= atom->ntypes; j++) + if (setflag[i][j]) { + cut_spin_dmi[i][j] = cut_spin_dmi_global; + } + } + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type spin pairs (only one for now) +------------------------------------------------------------------------- */ + +void PairSpinSocDmi::coeff(int narg, char **arg) +{ + const double hbar = force->hplanck/MY_2PI; + + if (!allocated) allocate(); + + if (strcmp(arg[2],"dmi")==0) { + if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); + dmi_flag = 1; + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + const double rij = force->numeric(FLERR,arg[3]); + const double dm = (force->numeric(FLERR,arg[4]))/hbar; + double dmx = force->numeric(FLERR,arg[5]); + double dmy = force->numeric(FLERR,arg[6]); + double dmz = force->numeric(FLERR,arg[7]); + + double inorm = 1.0/(dmx*dmx+dmy*dmy+dmz*dmz); + dmx *= inorm; + dmy *= inorm; + dmz *= inorm; + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_dmi[i][j] = rij; + DM[i][j] = dm; + v_dmx[i][j] = dmx; + v_dmy[i][j] = dmy; + v_dmz[i][j] = dmz; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); + } else error->all(FLERR,"Incorrect args in pair_style command"); + +} + + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairSpinSocDmi::init_style() +{ + if (!atom->sp_flag || !atom->mumag_flag) + error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); + + neighbor->request(this,instance_me); + + // check this half/full request +#define FULLNEI +#if defined FULLNEI + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; +#endif + +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairSpinSocDmi::init_one(int i, int j) +{ + + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + return cut_spin_dmi_global; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpinSocDmi::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) { + if (dmi_flag) { + fwrite(&DM[i][j],sizeof(double),1,fp); + fwrite(&v_dmx[i][j],sizeof(double),1,fp); + fwrite(&v_dmy[i][j],sizeof(double),1,fp); + fwrite(&v_dmz[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_dmi[i][j],sizeof(double),1,fp); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpinSocDmi::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) { + if (me == 0) { + fread(&DM[i][j],sizeof(double),1,fp); + fread(&v_dmx[i][j],sizeof(double),1,fp); + fread(&v_dmy[i][j],sizeof(double),1,fp); + fread(&v_dmz[i][j],sizeof(double),1,fp); + fread(&cut_spin_dmi[i][j],sizeof(double),1,fp); + } + MPI_Bcast(&DM[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&v_dmx[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&v_dmy[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&v_dmz[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_spin_dmi[i][j],1,MPI_DOUBLE,0,world); + } + } + } +} + + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpinSocDmi::write_restart_settings(FILE *fp) +{ + fwrite(&cut_spin_dmi_global,sizeof(double),1,fp); + fwrite(&offset_flag,sizeof(int),1,fp); + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpinSocDmi::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + fread(&cut_spin_dmi_global,sizeof(double),1,fp); + fread(&offset_flag,sizeof(int),1,fp); + fread(&mix_flag,sizeof(int),1,fp); + } + MPI_Bcast(&cut_spin_dmi_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&offset_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); +} diff --git a/src/SPIN/pair_spin_soc_dmi.h b/src/SPIN/pair_spin_soc_dmi.h new file mode 100755 index 0000000000..a28d1772d7 --- /dev/null +++ b/src/SPIN/pair_spin_soc_dmi.h @@ -0,0 +1,87 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(pair/spin/soc/dmi,PairSpinSocDmi) + +#else + +#ifndef LMP_PAIR_SPIN_SOC_DMI_H +#define LMP_PAIR_SPIN_SOC_DMI_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairSpinSocDmi : public Pair { + public: + PairSpinSocDmi(class LAMMPS *); + virtual ~PairSpinSocDmi(); + virtual void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + + void write_restart(FILE *); + void read_restart(FILE *); + void write_restart_settings(FILE *); + void read_restart_settings(FILE *); + + void compute_dmi(int, int, double *, double *, double *, double *); + + int dmi_flag; // dmi flag + + double cut_spin_dmi_global; // short range pair cutoff + double **cut_spin_dmi; // cutoff distance dmi + + protected: + int newton_pair_spin; + double hbar; + + double **DM; // dmi coeff in eV + double **v_dmx, **v_dmy, **v_dmz;// dmi direction + + double *spi, *spj; // temp. spin vals. in compute + double *fi, *fj; // temp. mech. forces in compute + double *fmi, *fmj; // temp. mag. forces in compute + double *rij; // norm. inter atomic vectors + + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Incorrect args in pair_spin command + +Self-explanatory. + +E: Spin simulations require metal unit style + +Self-explanatory. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair spin requires atom attributes sp, mumag + +The atom style defined does not have these attributes. + +*/ diff --git a/src/SPIN/pair_spin_soc_landau.cpp b/src/SPIN/pair_spin_soc_landau.cpp new file mode 100755 index 0000000000..13cd83868b --- /dev/null +++ b/src/SPIN/pair_spin_soc_landau.cpp @@ -0,0 +1,498 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) +------------------------------------------------------------------------- */ + +#include +#include +#include + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "pair_hybrid.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "math_const.h" +#include "memory.h" +#include "pair_spin_soc_landau.h" +#include "update.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +PairSpinSocLandau::PairSpinSocLandau(LAMMPS *lmp) : Pair(lmp) +{ + hbar = force->hplanck/MY_2PI; + + newton_pair_spin = 0; // no newton pair for now + // newton_pair = 0; + + single_enable = 0; + soc_neel_flag = 0; + + no_virial_fdotr_compute = 1; +} + +/* ---------------------------------------------------------------------- */ + +PairSpinSocLandau::~PairSpinSocLandau() +{ + if (allocated) { + memory->destroy(setflag); + + memory->destroy(cut_soc_neel); + memory->destroy(K1); + memory->destroy(K1_mech); + memory->destroy(K2); + memory->destroy(K3); + + memory->destroy(spi); + memory->destroy(spj); + memory->destroy(fi); + memory->destroy(fj); + memory->destroy(fmi); + memory->destroy(fmj); + memory->destroy(rij); + + memory->destroy(cutsq); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairSpinSocLandau::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double evdwl,ecoul; + double xi,yi,zi; + double fix,fiy,fiz,fjx,fjy,fjz; + double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; + double cut_soc_neel_2,cut_soc_global2; + double rsq,rd; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + cut_soc_global2 = cut_soc_global*cut_soc_global; + + double **x = atom->x; + double **f = atom->f; + double **fm = atom->fm; + double *mumag = atom->mumag; + double **sp = atom->sp; + int *type = atom->type; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // pair spin computations + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xi = x[i][0]; + yi = x[i][1]; + zi = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + // loop on neighbors + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + evdwl = 0.0; + + fi[0] = fi[1] = fi[2] = 0.0; + fj[0] = fj[1] = fj[2] = 0.0; + fmi[0] = fmi[1] = fmi[2] = 0.0; + fmj[0] = fmj[1] = fmj[2] = 0.0; + rij[0] = rij[1] = rij[2] = 0.0; + + rij[0] = x[j][0] - xi; + rij[1] = x[j][1] - yi; + rij[2] = x[j][2] - zi; + + // square of inter-atomic distance + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + double inorm = 1.0/sqrt(rsq); + rij[0] *= inorm; + rij[1] *= inorm; + rij[2] *= inorm; + + itype = type[i]; + jtype = type[j]; + + // compute mag. and mech. components of soc + cut_soc_neel_2 = cut_soc_neel[itype][jtype]*cut_soc_neel[itype][jtype]; + if (rsq <= cut_soc_neel_2) { + compute_soc_neel(i,j,rsq,rij,fmi,fmj,spi,spj); + compute_soc_mech_neel(i,j,rsq,rij,fi,fj,spi,spj); + } + + f[i][0] += fi[0]; + f[i][1] += fi[1]; + f[i][2] += fi[2]; + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; + fm[i][2] += fmi[2]; + +// if (newton_pair || j < nlocal) { + if (newton_pair_spin) { + f[j][0] += fj[0]; + f[j][1] += fj[1]; + f[j][2] += fj[2]; + fm[j][0] += fmj[0]; + fm[j][1] += fmj[1]; + fm[j][2] += fmj[2]; + } + + if (eflag) { + if (rsq <= cut_soc_neel_2) { + evdwl -= spi[0]*fmi[0]; + evdwl -= spi[1]*fmi[1]; + evdwl -= spi[2]*fmi[2]; + evdwl *= hbar; + } else evdwl = 0.0; + } + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, + evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + } + } + + if (vflag_fdotr) virial_fdotr_compute(); + +} + +/* ---------------------------------------------------------------------- */ +void PairSpinSocLandau::compute_soc_neel(int i, int j, double rsq, double *rij, double *fmi, double *fmj, double *spi, double *spj) +{ + int *type = atom->type; + int itype, jtype; + double Kij, Kij_3, ra, scalar; + itype = type[i]; + jtype = type[j]; + + ra = rsq/K3[itype][jtype]/K3[itype][jtype]; + Kij = 4.0*K1[itype][jtype]*ra; + Kij *= (1.0-K2[itype][jtype]*ra); + Kij *= exp(-ra); + + scalar = rij[0]*spj[0]+rij[1]*spj[1]+rij[2]*spj[2]; + Kij_3 = Kij/3.0; + + fmi[0] += Kij*scalar*rij[0]-Kij_3*spj[0]; + fmi[1] += Kij*scalar*rij[1]-Kij_3*spj[1]; + fmi[2] += Kij*scalar*rij[2]-Kij_3*spj[2]; + + fmj[0] -= Kij*scalar*rij[0]+Kij_3*spi[0]; + fmj[1] -= Kij*scalar*rij[1]+Kij_3*spi[1]; + fmj[2] -= Kij*scalar*rij[2]+Kij_3*spi[2]; + +} + +/* ---------------------------------------------------------------------- */ +void PairSpinSocLandau::compute_soc_mech_neel(int i, int j, double rsq, double *rij, double *fi, double *fj, double *spi, double *spj) +{ + int *type = atom->type; + int itype, jtype; + double scalar_si_sj, scalar_rij_si, scalar_rij_sj; + double K_mech, Kij, dKij, ra, rr, drij, iK3; + double t1, t2, t3; + itype = type[i]; + jtype = type[j]; + + scalar_si_sj = spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]; + scalar_rij_si = rij[0]*spi[0]+rij[1]*spi[1]+rij[2]*spi[2]; + scalar_rij_sj = rij[0]*spj[0]+rij[1]*spj[1]+rij[2]*spj[2]; + + K_mech = K1_mech[itype][jtype]; + iK3 = 1.0/(K3[itype][jtype]*K3[itype][jtype]); + + drij = sqrt(rsq); + ra = rsq*iK3; + rr = drij*iK3; + + Kij *= (1.0-K2[itype][jtype]*ra); + Kij *= 4.0*K_mech*ra*exp(-ra); + + dKij = 1.0-ra-K2[itype][jtype]*ra*(2.0-ra); + dKij *= 8.0*K_mech*rr*exp(-ra); + + t1 = (dKij-2.0*Kij/drij)*scalar_rij_si*scalar_rij_sj; + t1 -= scalar_si_sj*dKij/3.0; + t2 = scalar_rij_sj*Kij/drij; + t3 = scalar_rij_si*Kij/drij; + + fi[0] += t1*rij[0]+t2*spi[0]+t3*spj[0]; + fi[1] += t1*rij[1]+t2*spi[1]+t3*spj[1]; + fi[2] += t1*rij[2]+t2*spi[2]+t3*spj[2]; + + fj[0] -= t1*rij[0]-t2*spi[0]-t3*spj[0]; + fj[1] -= t1*rij[1]-t2*spi[1]-t3*spj[1]; + fj[2] -= t1*rij[2]-t2*spi[2]-t3*spj[2]; + +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairSpinSocLandau::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cut_soc_neel,n+1,n+1,"pair:cut_soc_neel"); + memory->create(K1,n+1,n+1,"pair:K1"); + memory->create(K1_mech,n+1,n+1,"pair:K1_mech"); + memory->create(K2,n+1,n+1,"pair:K2"); + memory->create(K3,n+1,n+1,"pair:K3"); + + memory->create(spi,3,"pair:spi"); + memory->create(spj,3,"pair:spj"); + memory->create(fi,3,"pair:fi"); + memory->create(fj,3,"pair:fj"); + memory->create(fmi,3,"pair:fmi"); + memory->create(fmj,3,"pair:fmj"); + memory->create(rij,3,"pair:rij"); + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairSpinSocLandau::settings(int narg, char **arg) +{ + if (narg < 1 || narg > 2) + error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); + + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"Spin simulations require metal unit style"); + + cut_soc_global = force->numeric(FLERR,arg[0]); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i+1; j <= atom->ntypes; j++) + if (setflag[i][j]) { + cut_soc_neel[i][j] = cut_soc_global; + } + } + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type spin pairs (only one for now) +------------------------------------------------------------------------- */ + +void PairSpinSocLandau::coeff(int narg, char **arg) +{ + const double hbar = force->hplanck/MY_2PI; + + if (!allocated) allocate(); + + // set mech_flag to 1 if magneto-mech simulation +//no longer correct: can be hybrid without magneto-mech + if (strstr(force->pair_style,"pair/spin")) { + mech_flag = 0; + } else if (strstr(force->pair_style,"hybrid/overlay")) { + mech_flag = 1; + } else error->all(FLERR,"Incorrect args in pair_style command"); + + + if (strcmp(arg[2],"neel")==0){ + if (narg != 7) error->all(FLERR,"Incorrect args in pair_style command"); + soc_neel_flag = 1; + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + const double rij = force->numeric(FLERR,arg[3]); + const double k1 = (force->numeric(FLERR,arg[4])); + const double k2 = force->numeric(FLERR,arg[5]); + const double k3 = force->numeric(FLERR,arg[6]); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_soc_neel[i][j] = rij; + K1[i][j] = k1/hbar; + if (mech_flag) { + K1_mech[i][j] = k1; + } else { + K1_mech[i][j] = 0.0; + } + K2[i][j] = k2; + K3[i][j] = k3; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); + } else error->all(FLERR,"Incorrect args in pair_style command"); + +} + + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairSpinSocLandau::init_style() +{ + if (!atom->sp_flag || !atom->mumag_flag) + error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); + + neighbor->request(this,instance_me); + + // check this half/full request +#define FULLNEI +#if defined FULLNEI + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; +#endif + +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairSpinSocLandau::init_one(int i, int j) +{ + + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + return cut_soc_global; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpinSocLandau::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) { + if (soc_neel_flag){ + fwrite(&K1[i][j],sizeof(double),1,fp); + fwrite(&K1_mech[i][j],sizeof(double),1,fp); + fwrite(&K2[i][j],sizeof(double),1,fp); + fwrite(&K3[i][j],sizeof(double),1,fp); + fwrite(&cut_soc_neel[i][j],sizeof(double),1,fp); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpinSocLandau::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) { + if (me == 0) { + fread(&K1[i][j],sizeof(double),1,fp); + fread(&K1_mech[i][j],sizeof(double),1,fp); + fread(&K2[i][j],sizeof(double),1,fp); + fread(&K2[i][j],sizeof(double),1,fp); + fread(&cut_soc_neel[i][j],sizeof(double),1,fp); + } + MPI_Bcast(&K1[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&K1_mech[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&K2[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&K3[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_soc_neel[i][j],1,MPI_DOUBLE,0,world); + } + } + } +} + + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpinSocLandau::write_restart_settings(FILE *fp) +{ + fwrite(&cut_soc_global,sizeof(double),1,fp); + fwrite(&offset_flag,sizeof(int),1,fp); + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpinSocLandau::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + fread(&cut_soc_global,sizeof(double),1,fp); + fread(&offset_flag,sizeof(int),1,fp); + fread(&mix_flag,sizeof(int),1,fp); + } + MPI_Bcast(&cut_soc_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&offset_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); +} diff --git a/src/SPIN/pair_spin_soc_landau.h b/src/SPIN/pair_spin_soc_landau.h new file mode 100755 index 0000000000..c23739c071 --- /dev/null +++ b/src/SPIN/pair_spin_soc_landau.h @@ -0,0 +1,89 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(pair/spin/soc/landau,PairSpinSocLandau) + +#else + +#ifndef LMP_PAIR_SPIN_SOC_LANDAU_H +#define LMP_PAIR_SPIN_SOC_LANDAU_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairSpinSocLandau : public Pair { + public: + PairSpinSocLandau(class LAMMPS *); + virtual ~PairSpinSocLandau(); + virtual void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + + void write_restart(FILE *); + void read_restart(FILE *); + void write_restart_settings(FILE *); + void read_restart_settings(FILE *); + + void compute_soc_neel(int, int, double, double *, double *, double *,double *, double *); + void compute_soc_mech_neel(int, int, double, double *, double *, double *,double *, double *); + + int soc_neel_flag; // soc neel flag + int mech_flag; // mech calc. flag + + double cut_soc_global; + double **cut_soc_neel; // cutoff distance exchange + + protected: + int newton_pair_spin; + double hbar; + + double **K1, **K1_mech; // exchange coeffs Kij + double **K2, **K3; // K1 in eV, K2 adim, K3 in Ang + + double *spi, *spj; // temp. spin vals. in compute + double *fi, *fj; // temp. mech. forces in compute + double *fmi, *fmj; // temp. mag. forces in compute + double *rij; // norm. inter atomic vectors + + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Incorrect args in pair_spin command + +Self-explanatory. + +E: Spin simulations require metal unit style + +Self-explanatory. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair spin requires atom attributes sp, mumag + +The atom style defined does not have these attributes. + +*/ diff --git a/src/SPIN/pair_spin_soc_neel.cpp b/src/SPIN/pair_spin_soc_neel.cpp new file mode 100755 index 0000000000..47f1c7282d --- /dev/null +++ b/src/SPIN/pair_spin_soc_neel.cpp @@ -0,0 +1,498 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) +------------------------------------------------------------------------- */ + +#include +#include +#include + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "pair_hybrid.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "math_const.h" +#include "memory.h" +#include "pair_spin_soc_neel.h" +#include "update.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +PairSpinSocNeel::PairSpinSocNeel(LAMMPS *lmp) : Pair(lmp) +{ + hbar = force->hplanck/MY_2PI; + + newton_pair_spin = 0; // no newton pair for now + // newton_pair = 0; + + single_enable = 0; + soc_neel_flag = 0; + + no_virial_fdotr_compute = 1; +} + +/* ---------------------------------------------------------------------- */ + +PairSpinSocNeel::~PairSpinSocNeel() +{ + if (allocated) { + memory->destroy(setflag); + + memory->destroy(cut_soc_neel); + memory->destroy(K1); + memory->destroy(K1_mech); + memory->destroy(K2); + memory->destroy(K3); + + memory->destroy(spi); + memory->destroy(spj); + memory->destroy(fi); + memory->destroy(fj); + memory->destroy(fmi); + memory->destroy(fmj); + memory->destroy(rij); + + memory->destroy(cutsq); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairSpinSocNeel::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double evdwl,ecoul; + double xi,yi,zi; + double fix,fiy,fiz,fjx,fjy,fjz; + double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; + double cut_soc_neel_2,cut_soc_global2; + double rsq,rd; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + cut_soc_global2 = cut_soc_global*cut_soc_global; + + double **x = atom->x; + double **f = atom->f; + double **fm = atom->fm; + double *mumag = atom->mumag; + double **sp = atom->sp; + int *type = atom->type; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // pair spin computations + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xi = x[i][0]; + yi = x[i][1]; + zi = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + // loop on neighbors + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + evdwl = 0.0; + + fi[0] = fi[1] = fi[2] = 0.0; + fj[0] = fj[1] = fj[2] = 0.0; + fmi[0] = fmi[1] = fmi[2] = 0.0; + fmj[0] = fmj[1] = fmj[2] = 0.0; + rij[0] = rij[1] = rij[2] = 0.0; + + rij[0] = x[j][0] - xi; + rij[1] = x[j][1] - yi; + rij[2] = x[j][2] - zi; + + // square of inter-atomic distance + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + double inorm = 1.0/sqrt(rsq); + rij[0] *= inorm; + rij[1] *= inorm; + rij[2] *= inorm; + + itype = type[i]; + jtype = type[j]; + + // compute mag. and mech. components of soc + cut_soc_neel_2 = cut_soc_neel[itype][jtype]*cut_soc_neel[itype][jtype]; + if (rsq <= cut_soc_neel_2) { + compute_soc_neel(i,j,rsq,rij,fmi,fmj,spi,spj); + compute_soc_mech_neel(i,j,rsq,rij,fi,fj,spi,spj); + } + + f[i][0] += fi[0]; + f[i][1] += fi[1]; + f[i][2] += fi[2]; + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; + fm[i][2] += fmi[2]; + +// if (newton_pair || j < nlocal) { + if (newton_pair_spin) { + f[j][0] += fj[0]; + f[j][1] += fj[1]; + f[j][2] += fj[2]; + fm[j][0] += fmj[0]; + fm[j][1] += fmj[1]; + fm[j][2] += fmj[2]; + } + + if (eflag) { + if (rsq <= cut_soc_neel_2) { + evdwl -= spi[0]*fmi[0]; + evdwl -= spi[1]*fmi[1]; + evdwl -= spi[2]*fmi[2]; + evdwl *= hbar; + } else evdwl = 0.0; + } + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, + evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + } + } + + if (vflag_fdotr) virial_fdotr_compute(); + +} + +/* ---------------------------------------------------------------------- */ +void PairSpinSocNeel::compute_soc_neel(int i, int j, double rsq, double *rij, double *fmi, double *fmj, double *spi, double *spj) +{ + int *type = atom->type; + int itype, jtype; + double Kij, Kij_3, ra, scalar; + itype = type[i]; + jtype = type[j]; + + ra = rsq/K3[itype][jtype]/K3[itype][jtype]; + Kij = 4.0*K1[itype][jtype]*ra; + Kij *= (1.0-K2[itype][jtype]*ra); + Kij *= exp(-ra); + + scalar = rij[0]*spj[0]+rij[1]*spj[1]+rij[2]*spj[2]; + Kij_3 = Kij/3.0; + + fmi[0] += Kij*scalar*rij[0]-Kij_3*spj[0]; + fmi[1] += Kij*scalar*rij[1]-Kij_3*spj[1]; + fmi[2] += Kij*scalar*rij[2]-Kij_3*spj[2]; + + fmj[0] -= Kij*scalar*rij[0]+Kij_3*spi[0]; + fmj[1] -= Kij*scalar*rij[1]+Kij_3*spi[1]; + fmj[2] -= Kij*scalar*rij[2]+Kij_3*spi[2]; + +} + +/* ---------------------------------------------------------------------- */ +void PairSpinSocNeel::compute_soc_mech_neel(int i, int j, double rsq, double *rij, double *fi, double *fj, double *spi, double *spj) +{ + int *type = atom->type; + int itype, jtype; + double scalar_si_sj, scalar_rij_si, scalar_rij_sj; + double K_mech, Kij, dKij, ra, rr, drij, iK3; + double t1, t2, t3; + itype = type[i]; + jtype = type[j]; + + scalar_si_sj = spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]; + scalar_rij_si = rij[0]*spi[0]+rij[1]*spi[1]+rij[2]*spi[2]; + scalar_rij_sj = rij[0]*spj[0]+rij[1]*spj[1]+rij[2]*spj[2]; + + K_mech = K1_mech[itype][jtype]; + iK3 = 1.0/(K3[itype][jtype]*K3[itype][jtype]); + + drij = sqrt(rsq); + ra = rsq*iK3; + rr = drij*iK3; + + Kij *= (1.0-K2[itype][jtype]*ra); + Kij *= 4.0*K_mech*ra*exp(-ra); + + dKij = 1.0-ra-K2[itype][jtype]*ra*(2.0-ra); + dKij *= 8.0*K_mech*rr*exp(-ra); + + t1 = (dKij-2.0*Kij/drij)*scalar_rij_si*scalar_rij_sj; + t1 -= scalar_si_sj*dKij/3.0; + t2 = scalar_rij_sj*Kij/drij; + t3 = scalar_rij_si*Kij/drij; + + fi[0] += t1*rij[0]+t2*spi[0]+t3*spj[0]; + fi[1] += t1*rij[1]+t2*spi[1]+t3*spj[1]; + fi[2] += t1*rij[2]+t2*spi[2]+t3*spj[2]; + + fj[0] -= t1*rij[0]-t2*spi[0]-t3*spj[0]; + fj[1] -= t1*rij[1]-t2*spi[1]-t3*spj[1]; + fj[2] -= t1*rij[2]-t2*spi[2]-t3*spj[2]; + +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairSpinSocNeel::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cut_soc_neel,n+1,n+1,"pair:cut_soc_neel"); + memory->create(K1,n+1,n+1,"pair:K1"); + memory->create(K1_mech,n+1,n+1,"pair:K1_mech"); + memory->create(K2,n+1,n+1,"pair:K2"); + memory->create(K3,n+1,n+1,"pair:K3"); + + memory->create(spi,3,"pair:spi"); + memory->create(spj,3,"pair:spj"); + memory->create(fi,3,"pair:fi"); + memory->create(fj,3,"pair:fj"); + memory->create(fmi,3,"pair:fmi"); + memory->create(fmj,3,"pair:fmj"); + memory->create(rij,3,"pair:rij"); + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairSpinSocNeel::settings(int narg, char **arg) +{ + if (narg < 1 || narg > 2) + error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); + + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"Spin simulations require metal unit style"); + + cut_soc_global = force->numeric(FLERR,arg[0]); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i+1; j <= atom->ntypes; j++) + if (setflag[i][j]) { + cut_soc_neel[i][j] = cut_soc_global; + } + } + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type spin pairs (only one for now) +------------------------------------------------------------------------- */ + +void PairSpinSocNeel::coeff(int narg, char **arg) +{ + const double hbar = force->hplanck/MY_2PI; + + if (!allocated) allocate(); + + // set mech_flag to 1 if magneto-mech simulation +//no longer correct: can be hybrid without magneto-mech + if (strstr(force->pair_style,"pair/spin")) { + mech_flag = 0; + } else if (strstr(force->pair_style,"hybrid/overlay")) { + mech_flag = 1; + } else error->all(FLERR,"Incorrect args in pair_style command"); + + + if (strcmp(arg[2],"neel")==0){ + if (narg != 7) error->all(FLERR,"Incorrect args in pair_style command"); + soc_neel_flag = 1; + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + const double rij = force->numeric(FLERR,arg[3]); + const double k1 = (force->numeric(FLERR,arg[4])); + const double k2 = force->numeric(FLERR,arg[5]); + const double k3 = force->numeric(FLERR,arg[6]); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_soc_neel[i][j] = rij; + K1[i][j] = k1/hbar; + if (mech_flag) { + K1_mech[i][j] = k1; + } else { + K1_mech[i][j] = 0.0; + } + K2[i][j] = k2; + K3[i][j] = k3; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); + } else error->all(FLERR,"Incorrect args in pair_style command"); + +} + + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairSpinSocNeel::init_style() +{ + if (!atom->sp_flag || !atom->mumag_flag) + error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); + + neighbor->request(this,instance_me); + + // check this half/full request +#define FULLNEI +#if defined FULLNEI + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; +#endif + +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairSpinSocNeel::init_one(int i, int j) +{ + + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + return cut_soc_global; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpinSocNeel::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) { + if (soc_neel_flag){ + fwrite(&K1[i][j],sizeof(double),1,fp); + fwrite(&K1_mech[i][j],sizeof(double),1,fp); + fwrite(&K2[i][j],sizeof(double),1,fp); + fwrite(&K3[i][j],sizeof(double),1,fp); + fwrite(&cut_soc_neel[i][j],sizeof(double),1,fp); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpinSocNeel::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) { + if (me == 0) { + fread(&K1[i][j],sizeof(double),1,fp); + fread(&K1_mech[i][j],sizeof(double),1,fp); + fread(&K2[i][j],sizeof(double),1,fp); + fread(&K2[i][j],sizeof(double),1,fp); + fread(&cut_soc_neel[i][j],sizeof(double),1,fp); + } + MPI_Bcast(&K1[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&K1_mech[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&K2[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&K3[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_soc_neel[i][j],1,MPI_DOUBLE,0,world); + } + } + } +} + + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpinSocNeel::write_restart_settings(FILE *fp) +{ + fwrite(&cut_soc_global,sizeof(double),1,fp); + fwrite(&offset_flag,sizeof(int),1,fp); + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpinSocNeel::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + fread(&cut_soc_global,sizeof(double),1,fp); + fread(&offset_flag,sizeof(int),1,fp); + fread(&mix_flag,sizeof(int),1,fp); + } + MPI_Bcast(&cut_soc_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&offset_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); +} diff --git a/src/SPIN/pair_spin_soc_neel.h b/src/SPIN/pair_spin_soc_neel.h new file mode 100755 index 0000000000..ce9c76eb49 --- /dev/null +++ b/src/SPIN/pair_spin_soc_neel.h @@ -0,0 +1,89 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(pair/spin/soc/neel,PairSpinSocNeel) + +#else + +#ifndef LMP_PAIR_SPIN_SOC_NEEL_H +#define LMP_PAIR_SPIN_SOC_NEEL_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairSpinSocNeel : public Pair { + public: + PairSpinSocNeel(class LAMMPS *); + virtual ~PairSpinSocNeel(); + virtual void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + + void write_restart(FILE *); + void read_restart(FILE *); + void write_restart_settings(FILE *); + void read_restart_settings(FILE *); + + void compute_soc_neel(int, int, double, double *, double *, double *,double *, double *); + void compute_soc_mech_neel(int, int, double, double *, double *, double *,double *, double *); + + int soc_neel_flag; // soc neel flag + int mech_flag; // mech calc. flag + + double cut_soc_global; + double **cut_soc_neel; // cutoff distance exchange + + protected: + int newton_pair_spin; + double hbar; + + double **K1, **K1_mech; // exchange coeffs Kij + double **K2, **K3; // K1 in eV, K2 adim, K3 in Ang + + double *spi, *spj; // temp. spin vals. in compute + double *fi, *fj; // temp. mech. forces in compute + double *fmi, *fmj; // temp. mag. forces in compute + double *rij; // norm. inter atomic vectors + + void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Incorrect args in pair_spin command + +Self-explanatory. + +E: Spin simulations require metal unit style + +Self-explanatory. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair spin requires atom attributes sp, mumag + +The atom style defined does not have these attributes. + +*/ diff --git a/src/eflag b/src/eflag new file mode 100644 index 0000000000..b4b06a2fef --- /dev/null +++ b/src/eflag @@ -0,0 +1,19343 @@ +angle.cpp:/* ---------------------------------------------------------------------- +angle.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +angle.cpp: http://lammps.sandia.gov, Sandia National Laboratories +angle.cpp:------------------------------------------------------------------------- */ +angle.cpp:/* ---------------------------------------------------------------------- */ +angle.cpp:/* ---------------------------------------------------------------------- */ +angle.cpp:/* ---------------------------------------------------------------------- +angle.cpp:------------------------------------------------------------------------- */ +angle.cpp:/* ---------------------------------------------------------------------- +angle.cpp:------------------------------------------------------------------------- */ +angle.cpp: eflag_atom = eflag / 2; +angle.cpp: vflag_atom = vflag / 4; +angle.cpp: // reallocate per-atom arrays if necessary +angle.cpp: // zero accumulators +angle.cpp:/* ---------------------------------------------------------------------- +angle.cpp:------------------------------------------------------------------------- */ +angle.cpp:/* ---------------------------------------------------------------------- */ +angle_hybrid.cpp:/* ---------------------------------------------------------------------- +angle_hybrid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +angle_hybrid.cpp: http://lammps.sandia.gov, Sandia National Laboratories +angle_hybrid.cpp:------------------------------------------------------------------------- */ +angle_hybrid.cpp:/* ---------------------------------------------------------------------- */ +angle_hybrid.cpp:/* ---------------------------------------------------------------------- */ +angle_hybrid.cpp:/* ---------------------------------------------------------------------- */ +angle_hybrid.cpp: // save ptrs to original anglelist +angle_hybrid.cpp: // if this is re-neighbor step, create sub-style anglelists +angle_hybrid.cpp: // nanglelist[] = length of each sub-style list +angle_hybrid.cpp: // realloc sub-style anglelist if necessary +angle_hybrid.cpp: // load sub-style anglelist with 4 values from original anglelist +angle_hybrid.cpp: // call each sub-style's compute function +angle_hybrid.cpp: // set neighbor->anglelist to sub-style anglelist before call +angle_hybrid.cpp: // accumulate sub-style global/peratom energy/virial in hybrid +angle_hybrid.cpp: // restore ptrs to original anglelist +angle_hybrid.cpp:/* ---------------------------------------------------------------------- */ +angle_hybrid.cpp:/* ---------------------------------------------------------------------- +angle_hybrid.cpp:------------------------------------------------------------------------- */ +angle_hybrid.cpp: // delete old lists, since cannot just change settings +angle_hybrid.cpp: // count sub-styles by skipping numeric args +angle_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric word +angle_hybrid.cpp: // need a better way to skip these exceptions +angle_hybrid.cpp: // allocate list of sub-styles +angle_hybrid.cpp: // allocate each sub-style and call its settings() with subset of args +angle_hybrid.cpp: // allocate uses suffix, but don't store suffix version in keywords, +angle_hybrid.cpp: // else syntax in coeff() will not match +angle_hybrid.cpp: // define subset of args for a sub-style by skipping numeric args +angle_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric +angle_hybrid.cpp: // need a better way to skip these exceptions +angle_hybrid.cpp:/* ---------------------------------------------------------------------- +angle_hybrid.cpp:---------------------------------------------------------------------- */ +angle_hybrid.cpp: // 2nd arg = angle sub-style name +angle_hybrid.cpp: // allow for "none" or "skip" as valid sub-style name +angle_hybrid.cpp: // move 1st arg to 2nd arg +angle_hybrid.cpp: // just copy ptrs, since arg[] points into original input line +angle_hybrid.cpp: // invoke sub-style coeff() starting with 1st arg +angle_hybrid.cpp: // set setflag and which type maps to which sub-style +angle_hybrid.cpp: // if sub-style is skip: auxiliary class2 setting in data file so ignore +angle_hybrid.cpp: // if sub-style is none: set hybrid setflag, wipe out map +angle_hybrid.cpp:/* ---------------------------------------------------------------------- +angle_hybrid.cpp:------------------------------------------------------------------------- */ +angle_hybrid.cpp:/* ---------------------------------------------------------------------- +angle_hybrid.cpp:------------------------------------------------------------------------- */ +angle_hybrid.cpp:/* ---------------------------------------------------------------------- +angle_hybrid.cpp:------------------------------------------------------------------------- */ +angle_hybrid.cpp:/* ---------------------------------------------------------------------- +angle_hybrid.cpp:------------------------------------------------------------------------- */ +angle_hybrid.cpp:/* ---------------------------------------------------------------------- */ +angle_hybrid.cpp:/* ---------------------------------------------------------------------- +angle_hybrid.cpp:------------------------------------------------------------------------- */ +angle_zero.cpp:/* ---------------------------------------------------------------------- +angle_zero.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +angle_zero.cpp: http://lammps.sandia.gov, Sandia National Laboratories +angle_zero.cpp:------------------------------------------------------------------------- */ +angle_zero.cpp:/* ---------------------------------------------------------------------- +angle_zero.cpp:------------------------------------------------------------------------- */ +angle_zero.cpp:/* ---------------------------------------------------------------------- */ +angle_zero.cpp:/* ---------------------------------------------------------------------- */ +angle_zero.cpp:/* ---------------------------------------------------------------------- */ +angle_zero.cpp:/* ---------------------------------------------------------------------- */ +angle_zero.cpp:/* ---------------------------------------------------------------------- */ +angle_zero.cpp:/* ---------------------------------------------------------------------- +angle_zero.cpp:------------------------------------------------------------------------- */ +angle_zero.cpp: // convert theta0 from degrees to radians +angle_zero.cpp: theta0[i] = theta0_one/180.0 * MY_PI; +angle_zero.cpp:/* ---------------------------------------------------------------------- */ +angle_zero.cpp:/* ---------------------------------------------------------------------- +angle_zero.cpp:------------------------------------------------------------------------- */ +angle_zero.cpp:/* ---------------------------------------------------------------------- +angle_zero.cpp:------------------------------------------------------------------------- */ +angle_zero.cpp:/* ---------------------------------------------------------------------- +angle_zero.cpp:------------------------------------------------------------------------- */ +angle_zero.cpp: fprintf(fp,"%d %g\n",i,theta0[i]/MY_PI*180.0); +angle_zero.cpp:/* ---------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files +atom.cpp:/* ---------------------------------------------------------------------- */ +atom.cpp: // initialize atom arrays +atom.cpp: // customize by adding new array +atom.cpp: // USER-SPIN +atom.cpp: // USER-DPD +atom.cpp: // USER-SMD +atom.cpp: // molecular info +atom.cpp: // user-defined molecules +atom.cpp: // custom atom arrays +atom.cpp: // initialize atom style and array existence flags +atom.cpp: // customize by adding new flag +atom.cpp: //Magnetic flags +atom.cpp: // USER-SMD +atom.cpp: // Peridynamic scale factor +atom.cpp: // ntype-length arrays +atom.cpp: // callback lists & extra restart info +atom.cpp: // default atom ID and mapping values +atom.cpp:/* ---------------------------------------------------------------------- */ +atom.cpp: // delete atom arrays +atom.cpp: // customize by adding new array +atom.cpp: // delete custom atom arrays +atom.cpp: // delete user-defined molecules +atom.cpp: // delete per-type arrays +atom.cpp: // delete extra arrays +atom.cpp: // delete mapping data structures +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: // unset atom style and array existence flags +atom.cpp: // may have been set by old avec +atom.cpp: // customize by adding new flag +atom.cpp: //Magnetic flags +atom.cpp: // create instance of AtomVec +atom.cpp: // use grow() to initialize atom-based arrays to length 1 +atom.cpp: // so that x[0][0] can always be referenced even if proc has no atoms +atom.cpp: if (sflag == 1) sprintf(estyle,"%s/%s",style,lmp->suffix); +atom.cpp: else sprintf(estyle,"%s/%s",style,lmp->suffix2); +atom.cpp: // if molecular system: +atom.cpp: // atom IDs must be defined +atom.cpp: // force atom map to be created +atom.cpp: // map style may be reset by map_init() and its call to map_style_set() +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); +atom.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix2); +atom.cpp: //printf("test entries function: %s, %d, %d \n ",style, trysuffix, &sflag); +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- */ +atom.cpp: // delete extra array since it doesn't persist past first run +atom.cpp: // check arrays that are atom type in length +atom.cpp: // setup of firstgroup +atom.cpp: // init AtomVec +atom.cpp:/* ---------------------------------------------------------------------- */ +atom.cpp: // setup bins for sorting +atom.cpp: // cannot do this in init() because uses neighbor cutoff +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: // maxtag_all = max tag for all atoms +atom.cpp: // DEBUG: useful for generating 64-bit IDs even for small systems +atom.cpp: // use only when LAMMPS is compiled with BIGBIG +atom.cpp: //maxtag_all += 1000000000000; +atom.cpp: // notag = # of atoms I own with no tag (tag = 0) +atom.cpp: // notag_sum = # of total atoms on procs <= me with no tag +atom.cpp: // itag = 1st new tag that my untagged atoms should use +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: // set bounds for my proc +atom.cpp: // if periodic and I am lo/hi proc, adjust bounds by EPSILON +atom.cpp: // insures all data atoms will be owned even with round-off +atom.cpp: // xptr = which word in line starts xyz coords +atom.cpp: // iptr = which word in line starts ix,iy,iz image flags +atom.cpp: // loop over lines of atom data +atom.cpp: // tokenize the line into values +atom.cpp: // extract xyz coords and image flags +atom.cpp: // remap atom into simulation box +atom.cpp: // if atom is in my sub-domain, unpack its values +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: // loop over lines of atom velocities +atom.cpp: // tokenize the line into values +atom.cpp: // if I own atom tag, unpack its values +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: // loop over lines of bonus atom data +atom.cpp: // tokenize the line into values +atom.cpp: // if I own atom tag, unpack its values +atom.cpp: // ok to call child's data_atom_bonus() method thru parent avec_bonus, +atom.cpp: // since data_bonus() was called with child ptr, and method is virtual +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: // loop over lines of body data +atom.cpp: // if I own atom tag, tokenize lines into ivalues/dvalues, call data_body() +atom.cpp: // else skip values +atom.cpp: nvalues = ninteger + ndouble; // number of values to skip +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp: init per-atom fix/compute/variable values for newly created atoms +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: // 1st molecule in set stores nset = # of mols, others store nset = 0 +atom.cpp: // ifile = count of molecules in set +atom.cpp: // index = argument index where next molecule starts, updated by constructor +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: rmass[ilocal] = 4.0*MY_PI/3.0 * +atom.cpp: body[ilocal] = 0; // as if a body read from data file +atom.cpp: // add bond topology info +atom.cpp: // for molecular atom styles, but not atom style template +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: // insure there is one extra atom location at end of arrays for swaps +atom.cpp: // loop over owned atoms +atom.cpp: // nfirst = index of first atom not in firstgroup +atom.cpp: // when find firstgroup atom out of place, swap it with atom nfirst +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp: don't have to worry about clearing/setting atom->map since done in comm +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: // set next timestep for sorting to take place +atom.cpp: nextsort = (update->ntimestep/sortfreq)*sortfreq + sortfreq; +atom.cpp: // re-setup sort bins if needed +atom.cpp: // reallocate per-atom vectors if needed +atom.cpp: // insure there is one extra atom location at end of arrays for swaps +atom.cpp: // bin atoms in reverse order so linked list will be in forward order +atom.cpp: // permute = desired permutation of atoms +atom.cpp: // permute[I] = J means Ith new atom will be Jth old atom +atom.cpp: // current = current permutation, just reuse next vector +atom.cpp: // current[I] = J means Ith current atom is Jth old atom +atom.cpp: // reorder local atom list, when done, current = permute +atom.cpp: // perform "in place" using copy() to extra atom location at end of list +atom.cpp: // inner while loop processes one cycle of the permutation +atom.cpp: // copy before inner-loop moves an atom to end of atom list +atom.cpp: // copy after inner-loop moves atom at end of list back into list +atom.cpp: // empty = location in atom list that is currently empty +atom.cpp: // sanity check that current = permute +atom.cpp: //int flag = 0; +atom.cpp: //for (i = 0; i < nlocal; i++) +atom.cpp: // if (current[i] != permute[i]) flag = 1; +atom.cpp: //int flagall; +atom.cpp: //MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,world); +atom.cpp: //if (flagall) error->all(FLERR,"Atom sort did not operate correctly"); +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: // binsize: +atom.cpp: // user setting if explicitly set +atom.cpp: // default = 1/2 of neighbor cutoff +atom.cpp: // check if neighbor cutoff = 0.0 +atom.cpp: double bininv = 1.0/binsize; +atom.cpp: // nbin xyz = local bins +atom.cpp: // bbox lo/hi = bounding box of my sub-domain +atom.cpp: bininvx = nbinx / (bboxhi[0]-bboxlo[0]); +atom.cpp: bininvy = nbiny / (bboxhi[1]-bboxlo[1]); +atom.cpp: bininvz = nbinz / (bboxhi[2]-bboxlo[2]); +atom.cpp: // reallocate per-bin memory if needed +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: // find the fix +atom.cpp: // if find NULL ptr: +atom.cpp: // it's this one, since it is being replaced and has just been deleted +atom.cpp: // at this point in re-creation +atom.cpp: // if don't find NULL ptr: +atom.cpp: // i is set to nfix = new one currently being added at end of list +atom.cpp: // add callback to lists, reallocating if necessary +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp: // compact the list of callbacks +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp: return index if found, and flag = 0/1 for int/double +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp: add a custom variable with name of type flag = 0/1 for int/double +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp: remove a custom variable of type flag = 0/1 for int/double at index +atom.cpp: ivector/dvector and iname/dname lists never shrink +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom.cpp:/* ---------------------------------------------------------------------- +atom.cpp:------------------------------------------------------------------------- */ +atom_map.cpp:/* ---------------------------------------------------------------------- +atom_map.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +atom_map.cpp: http://lammps.sandia.gov, Sandia National Laboratories +atom_map.cpp:------------------------------------------------------------------------- */ +atom_map.cpp:/* ---------------------------------------------------------------------- +atom_map.cpp:------------------------------------------------------------------------- */ +atom_map.cpp: // check for new map style if max atomID changed (check = 1 = default) +atom_map.cpp: // recreate = 1 if must delete old map and create new map +atom_map.cpp: // recreate = 0 if can re-use old map w/out realloc and just adjust settings +atom_map.cpp: // map_maxarray/map_nhash initially -1, to force recreate even when no atoms +atom_map.cpp: // if not recreating: +atom_map.cpp: // for array, initialize current map_tag_max values +atom_map.cpp: // for hash, set all buckets to empty, put all entries in free list +atom_map.cpp: // recreating: delete old map and create new one for array or hash +atom_map.cpp: // map_nhash = max # of atoms that can be hashed on this proc +atom_map.cpp: // set to max of ave atoms/proc or atoms I can store +atom_map.cpp: // multiply by 2, require at least 1000 +atom_map.cpp: // doubling means hash table will need to be re-init only rarely +atom_map.cpp: int nper = static_cast (natoms/comm->nprocs); +atom_map.cpp: // map_nbucket = prime just larger than map_nhash +atom_map.cpp: // next_prime() should be fast enough, +atom_map.cpp: // about 10% of odd integers are prime above 1M +atom_map.cpp: // set all buckets to empty +atom_map.cpp: // set hash to map_nhash in length +atom_map.cpp: // put all hash entries in free list and point them to each other +atom_map.cpp:/* ---------------------------------------------------------------------- +atom_map.cpp:------------------------------------------------------------------------- */ +atom_map.cpp: // search for key +atom_map.cpp: // if don't find it, done +atom_map.cpp: // delete the hash entry and add it to free list +atom_map.cpp: // special logic if entry is 1st in the bucket +atom_map.cpp:/* ---------------------------------------------------------------------- +atom_map.cpp:------------------------------------------------------------------------- */ +atom_map.cpp: // possible reallocation of sametag must come before loop over atoms +atom_map.cpp: // since loop sets sametag +atom_map.cpp: // if this proc has more atoms than hash table size, call map_init() +atom_map.cpp: // call with 0 since max atomID in system has not changed +atom_map.cpp: // possible reallocation of sametag must come after map_init(), +atom_map.cpp: // b/c map_init() may invoke map_delete(), whacking sametag +atom_map.cpp: // search for key +atom_map.cpp: // if found it, just overwrite local value with index +atom_map.cpp: // take one entry from free list +atom_map.cpp: // add the new global/local pair as entry at end of bucket list +atom_map.cpp: // special logic if this entry is 1st in bucket +atom_map.cpp:/* ---------------------------------------------------------------------- +atom_map.cpp:------------------------------------------------------------------------- */ +atom_map.cpp: // search for key +atom_map.cpp: // if found it, just overwrite local value with index +atom_map.cpp: // take one entry from free list +atom_map.cpp: // add the new global/local pair as entry at end of bucket list +atom_map.cpp: // special logic if this entry is 1st in bucket +atom_map.cpp:/* ---------------------------------------------------------------------- +atom_map.cpp:------------------------------------------------------------------------- */ +atom_map.cpp: // map_tag_max = max ID of any atom that will be in new map +atom_map.cpp: // map_tag_max = -1 if no atoms +atom_map.cpp: // set map_style for new map +atom_map.cpp: // if user-selected, use that setting +atom_map.cpp: // else if map_tag_max > 1M, use hash +atom_map.cpp: // else use array +atom_map.cpp: // recreate = 1 if must create new map b/c map_style changed +atom_map.cpp:/* ---------------------------------------------------------------------- +atom_map.cpp:------------------------------------------------------------------------- */ +atom_map.cpp:/* ---------------------------------------------------------------------- +atom_map.cpp:------------------------------------------------------------------------- */ +atom_map.cpp:/* ---------------------------------------------------------------------- +atom_map.cpp:------------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- +atom_vec_atomic.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +atom_vec_atomic.cpp: http://lammps.sandia.gov, Sandia National Laboratories +atom_vec_atomic.cpp:------------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- +atom_vec_atomic.cpp:------------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- +atom_vec_atomic.cpp:------------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- +atom_vec_atomic.cpp:------------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- +atom_vec_atomic.cpp:------------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- +atom_vec_atomic.cpp:------------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- +atom_vec_atomic.cpp:------------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- +atom_vec_atomic.cpp:------------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- +atom_vec_atomic.cpp:------------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- +atom_vec_atomic.cpp:------------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- +atom_vec_atomic.cpp:------------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- +atom_vec_atomic.cpp:------------------------------------------------------------------------- */ +atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- +atom_vec_atomic.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +atom_vec_body.cpp: http://lammps.sandia.gov, Sandia National Laboratories +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp: // size_forward and size_border set in settings(), via Body class +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp: // max size of forward/border comm +atom_vec_body.cpp: // 7,16 are packed in pack_comm/pack_border +atom_vec_body.cpp: // bptr values = max number of additional ivalues/dvalues from Body class +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp: // if deleting atom J via delflag and J has bonus data, then delete it +atom_vec_body.cpp: // if atom I has bonus data, reset I's bonus.ilocal to loc J +atom_vec_body.cpp: // do NOT do this if self-copy (I=J) since I's bonus data is already deleted +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp: // corresponding put() calls are in clear_bonus() +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp: // corresponding put() calls are in clear_bonus() +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp: // corresponding put() calls are in clear_bonus() +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp: else m += (bonus[j].ninteger+1)/2; +atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_body.cpp: // corresponding put() calls are in copy() +atom_vec_body.cpp: else m += (bonus[nlocal_bonus].ninteger+1)/2; +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp: else n += (bonus[body[i]].ninteger+1)/2; +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp: else m += (bonus[j].ninteger+1)/2; +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp: else m += (bonus[nlocal_bonus].ninteger+1)/2; +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp: body computes its size based on ivalues/dvalues and returns it +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* ---------------------------------------------------------------------- +atom_vec_body.cpp: debug method for sanity checking of own/bonus data pointers +atom_vec_body.cpp:------------------------------------------------------------------------- */ +atom_vec_body.cpp:/* +atom_vec_body.cpp:*/ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +atom_vec_charge.cpp: http://lammps.sandia.gov, Sandia National Laboratories +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec_charge.cpp:/* ---------------------------------------------------------------------- +atom_vec_charge.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +atom_vec.cpp: http://lammps.sandia.gov, Sandia National Laboratories +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp: nmax = nmax/DELTA * DELTA; +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp: nmax_bonus = nmax_bonus/DELTA_BONUS * DELTA_BONUS; +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp: do not count/pack bonds with bondtype = 0 +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp: do not count/pack angles with angletype = 0 +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec.cpp:/* ---------------------------------------------------------------------- +atom_vec.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +atom_vec_ellipsoid.cpp: http://lammps.sandia.gov, Sandia National Laboratories +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp: // if deleting atom J via delflag and J has bonus data, then delete it +atom_vec_ellipsoid.cpp: // if atom I has bonus data, reset I's bonus.ilocal to loc J +atom_vec_ellipsoid.cpp: // do NOT do this if self-copy (I=J) since I's bonus data is already deleted +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp: // reset ellipsoid mass +atom_vec_ellipsoid.cpp: // previously stored density in rmass +atom_vec_ellipsoid.cpp: rmass[m] *= 4.0*MY_PI/3.0 * shape[0]*shape[1]*shape[2]; +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp: buf[i][3] = rmass[i] / (4.0*MY_PI/3.0 * shape[0]*shape[1]*shape[2]); +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp: buf[1] = rmass[i] / (4.0*MY_PI/3.0 * shape[0]*shape[1]*shape[2]); +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- +atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +atom_vec_hybrid.cpp: http://lammps.sandia.gov, Sandia National Laboratories +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // build list of all known atom styles +atom_vec_hybrid.cpp: // allocate list of sub-styles as big as possibly needed if no extra args +atom_vec_hybrid.cpp: // allocate each sub-style +atom_vec_hybrid.cpp: // call process_args() with set of args that are not atom style names +atom_vec_hybrid.cpp: // use known_style() to determine which args these are +atom_vec_hybrid.cpp: // free allstyles created by build_styles() +atom_vec_hybrid.cpp: // hybrid settings are MAX or MIN of sub-style settings +atom_vec_hybrid.cpp: // hybrid sizes are minimal values plus extra values for each sub-style +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // sub-styles perform all reallocation +atom_vec_hybrid.cpp: // turn off nextra_grow so hybrid can do that once below +atom_vec_hybrid.cpp: // insure hybrid local ptrs and sub-style ptrs are up to date +atom_vec_hybrid.cpp: // for sub-styles, do this in case +atom_vec_hybrid.cpp: // multiple sub-style reallocs of same array occurred +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // pack sub-style contributions as contiguous chunks +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // pack sub-style contributions as contiguous chunks +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // unpack sub-style contributions as contiguous chunks +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // unpack sub-style contributions as contiguous chunks +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // pack sub-style contributions as contiguous chunks +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // unpack sub-style contributions as contiguous chunks +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // pack sub-style contributions as contiguous chunks +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // pack sub-style contributions as contiguous chunks +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // unpack sub-style contributions as contiguous chunks +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // unpack sub-style contributions as contiguous chunks +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // each sub-style parses sub-style specific values +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: // each sub-style parses sub-style specific values +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp: int index = multiindex/nstyles; +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- +atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +atom_vec_line.cpp: http://lammps.sandia.gov, Sandia National Laboratories +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp: // if deleting atom J via delflag and J has bonus data, then delete it +atom_vec_line.cpp: // if atom I has bonus data, reset I's bonus.ilocal to loc J +atom_vec_line.cpp: // do NOT do this if self-copy (I=J) since I's bonus data is already deleted +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp: // also set radius = half of length +atom_vec_line.cpp: // unless value = 0.0, then set diameter = 1.0 +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp: rmass[nlocal] = 4.0*MY_PI/3.0 * radius[nlocal]*radius[nlocal]*radius[nlocal]; +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp: rmass[nlocal] *= 4.0*MY_PI/3.0 * +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp: rmass[nlocal] *= 4.0*MY_PI/3.0 * +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp: if (dy >= 0.0) bonus[nlocal_bonus].theta = acos(dx/length); +atom_vec_line.cpp: else bonus[nlocal_bonus].theta = -acos(dx/length); +atom_vec_line.cpp: if (delta/length > EPSILON) +atom_vec_line.cpp: // reset line radius and mass +atom_vec_line.cpp: // rmass currently holds density +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp: buf[i][4] = rmass[i] / (4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i]); +atom_vec_line.cpp: else buf[i][4] = rmass[i]/bonus[line[i]].length; +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp: buf[2] = rmass[i] / (4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i]); +atom_vec_line.cpp: else buf[2] = rmass[i]/bonus[line[i]].length; +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* ---------------------------------------------------------------------- +atom_vec_line.cpp:------------------------------------------------------------------------- */ +atom_vec_line.cpp:/* +atom_vec_line.cpp: //if (comm->me == 1 && update->ntimestep == 873) +atom_vec_line.cpp: // printf("CCHK %s: %d %d: %d %d: %d %d\n", +atom_vec_line.cpp: // str,i,n,line[i],nlocal_bonus,bonus[line[i]].ilocal,iflag); +atom_vec_line.cpp:*/ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +atom_vec_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp: // set radvary if particle diameters are time-varying due to fix adapt +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp: rmass[nlocal] = 4.0*MY_PI/3.0 * radius[nlocal]*radius[nlocal]*radius[nlocal]; +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp: rmass[nlocal] = 4.0*MY_PI/3.0 * +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp: rmass[nlocal] = 4.0*MY_PI/3.0 * +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp: buf[i][3] = rmass[i] / (4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i]); +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp: else buf[1] = rmass[i] / (4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i]); +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- +atom_vec_sphere.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +atom_vec_spin.cpp: http://lammps.sandia.gov, Sandia National Laboratories +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp: mass_type = 1; //check why +atom_vec_spin.cpp: //comm_x_only = 0; +atom_vec_spin.cpp: //comm_f_only = 1; +atom_vec_spin.cpp: size_data_atom = 9; //to check later +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp: //Allocating mag. quantities +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_spin.cpp:/* ---------------------------------------------------------------------- +atom_vec_spin.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +atom_vec_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp: // if deleting atom J via delflag and J has bonus data, then delete it +atom_vec_tri.cpp: // if atom I has bonus data, reset I's bonus.ilocal to loc J +atom_vec_tri.cpp: // do NOT do this if self-copy (I=J) since I's bonus data is already deleted +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp: // also set radius = distance from center to corner-pt = len(c1) +atom_vec_tri.cpp: // unless size = 0.0, then set diameter = 1.0 +atom_vec_tri.cpp: c1[0] = -size/2.0; +atom_vec_tri.cpp: c1[1] = -sqrt(3.0)/2.0 * size / 3.0; +atom_vec_tri.cpp: c2[0] = size/2.0; +atom_vec_tri.cpp: c2[1] = -sqrt(3.0)/2.0 * size / 3.0; +atom_vec_tri.cpp: c3[1] = sqrt(3.0)/2.0 * size * 2.0/3.0; +atom_vec_tri.cpp: inertia[0] = sqrt(3.0)/96.0 * size*size*size*size; +atom_vec_tri.cpp: inertia[1] = sqrt(3.0)/96.0 * size*size*size*size; +atom_vec_tri.cpp: inertia[2] = sqrt(3.0)/48.0 * size*size*size*size; +atom_vec_tri.cpp: c1[0] = -size/2.0; +atom_vec_tri.cpp: c1[1] = -sqrt(3.0)/2.0 * size / 3.0; +atom_vec_tri.cpp: c2[0] = size/2.0; +atom_vec_tri.cpp: c2[1] = -sqrt(3.0)/2.0 * size / 3.0; +atom_vec_tri.cpp: c3[1] = sqrt(3.0)/2.0 * size * 2.0/3.0; +atom_vec_tri.cpp: inertia[0] = sqrt(3.0)/96.0 * size*size*size*size; +atom_vec_tri.cpp: inertia[1] = sqrt(3.0)/96.0 * size*size*size*size; +atom_vec_tri.cpp: inertia[2] = sqrt(3.0)/48.0 * size*size*size*size; +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp: rmass[nlocal] = 4.0*MY_PI/3.0 * radius[nlocal]*radius[nlocal]*radius[nlocal]; +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp: rmass[nlocal] *= 4.0*MY_PI/3.0 * +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp: rmass[nlocal] *= 4.0*MY_PI/3.0 * +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp: // check for duplicate points +atom_vec_tri.cpp: // size = length of one edge +atom_vec_tri.cpp: // centroid = 1/3 of sum of vertices +atom_vec_tri.cpp: centroid[0] = (c1[0]+c2[0]+c3[0]) / 3.0; +atom_vec_tri.cpp: centroid[1] = (c1[1]+c2[1]+c3[1]) / 3.0; +atom_vec_tri.cpp: centroid[2] = (c1[2]+c2[2]+c3[2]) / 3.0; +atom_vec_tri.cpp: if (delta/size > EPSILON) +atom_vec_tri.cpp: // reset tri radius and mass +atom_vec_tri.cpp: // rmass currently holds density +atom_vec_tri.cpp: // tri area = 0.5 len(U x V), where U,V are edge vectors from one vertex +atom_vec_tri.cpp: // inertia = inertia tensor of triangle as 6-vector in Voigt notation +atom_vec_tri.cpp: // diagonalize inertia tensor via Jacobi rotations +atom_vec_tri.cpp: // bonus[].inertia = 3 eigenvalues = principal moments of inertia +atom_vec_tri.cpp: // evectors and exzy_space = 3 evectors = principal axes of triangle +atom_vec_tri.cpp: // enforce 3 orthogonal vectors as a right-handed coordinate system +atom_vec_tri.cpp: // flip 3rd vector if needed +atom_vec_tri.cpp: // create initial quaternion +atom_vec_tri.cpp: // bonus c1,c2,c3 = displacement of c1,c2,c3 from centroid +atom_vec_tri.cpp: // in basis of principal axes +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp: buf[i][4] = rmass[i] / (4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i]); +atom_vec_tri.cpp: buf[i][4] = rmass[i]/area; +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp: buf[2] = rmass[i] / (4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i]); +atom_vec_tri.cpp: buf[2] = rmass[i]/area; +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +atom_vec_tri.cpp:/* ---------------------------------------------------------------------- +atom_vec_tri.cpp:------------------------------------------------------------------------- */ +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +balance.cpp: http://lammps.sandia.gov, Sandia National Laboratories +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp://#define BALANCE_DEBUG 1 +balance.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files +balance.cpp:/* ---------------------------------------------------------------------- */ +balance.cpp:/* ---------------------------------------------------------------------- */ +balance.cpp: // check nfix in case all fixes have already been deleted +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp: // parse required arguments +balance.cpp: // error checks +balance.cpp: // process remaining optional args +balance.cpp: // insure particles are in current box & update box via shrink-wrap +balance.cpp: // init entire system since comm->setup is done +balance.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc +balance.cpp: // must reset atom map after exchange() since it clears it +balance.cpp: // imbinit = initial imbalance +balance.cpp: // no load-balance if imbalance doesn't exceed threshold +balance.cpp: // unless switching from tiled to non tiled layout, then force rebalance +balance.cpp: // debug output of initial state +balance.cpp: // perform load-balance +balance.cpp: // style XYZ = explicit setting of cutting planes of logical 3d grid +balance.cpp: comm->xsplit[i] = i * 1.0/procgrid[0]; +balance.cpp: comm->ysplit[i] = i * 1.0/procgrid[1]; +balance.cpp: comm->zsplit[i] = i * 1.0/procgrid[2]; +balance.cpp: // style SHIFT = adjust cutting planes of logical 3d grid +balance.cpp: // style BISECTION = recursive coordinate bisectioning +balance.cpp: // reset proc sub-domains +balance.cpp: // for either brick or tiled comm style +balance.cpp: // move particles to new processors via irregular() +balance.cpp: // output of final result +balance.cpp: // check if any particles were lost +balance.cpp: // imbfinal = final imbalance +balance.cpp: // stats output +balance.cpp: fprintf(screen," initial/final max load/proc = %g %g\n", +balance.cpp: fprintf(screen," initial/final imbalance factor = %g %g\n", +balance.cpp: fprintf(logfile," initial/final max load/proc = %g %g\n", +balance.cpp: fprintf(logfile," initial/final imbalance factor = %g %g\n", +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp: // count max number of weight settings +balance.cpp: // output file +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp: return imbalance = max load per proc / ave load per proc +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp: if (maxcost > 0.0) imbalance = maxcost / (totalcost/nprocs); +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp: // NOTE: this logic is specific to orthogonal boxes, not triclinic +balance.cpp: // shrink-wrap simulation box around atoms for input to RCB +balance.cpp: // leads to better-shaped sub-boxes when atoms are far from box boundaries +balance.cpp: // invoke RCB +balance.cpp: // then invert() to create list of proc assignments for my atoms +balance.cpp: // NOTE: (3/2017) can remove undocumented "old" option at some point +balance.cpp: // ditto in rcb.cpp +balance.cpp: // reset RCB lo/hi bounding box to full simulation box as needed +balance.cpp: // store RCB cut, dim, lo/hi box in CommTiled +balance.cpp: // cut and lo/hi need to be in fractional form so can +balance.cpp: // OK if changes by epsilon from what RCB used since atoms +balance.cpp: // will subsequently migrate to new owning procs by exchange() anyway +balance.cpp: // ditto for atoms exactly on lo/hi RCB box boundaries due to ties +balance.cpp: if (idim >= 0) comm->rcbcutfrac = (rcb->cut - boxlo[idim]) / prd[idim]; +balance.cpp: mysplit[0][0] = (lo[0] - boxlo[0]) / prd[0]; +balance.cpp: else mysplit[0][1] = (hi[0] - boxlo[0]) / prd[0]; +balance.cpp: mysplit[1][0] = (lo[1] - boxlo[1]) / prd[1]; +balance.cpp: else mysplit[1][1] = (hi[1] - boxlo[1]) / prd[1]; +balance.cpp: mysplit[2][0] = (lo[2] - boxlo[2]) / prd[2]; +balance.cpp: else mysplit[2][1] = (hi[2] - boxlo[2]) / prd[2]; +balance.cpp: // return list of procs to send my atoms to +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp: // if current layout is TILED, set initial uniform splits in Comm +balance.cpp: // this gives starting point to subsequent shift balancing +balance.cpp: for (int i = 0; i < procgrid[0]; i++) xsplit[i] = i * 1.0/procgrid[0]; +balance.cpp: for (int i = 0; i < procgrid[1]; i++) ysplit[i] = i * 1.0/procgrid[1]; +balance.cpp: for (int i = 0; i < procgrid[2]; i++) zsplit[i] = i * 1.0/procgrid[2]; +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp: // no balancing if no atoms +balance.cpp: // set delta for 1d balancing = root of threshold +balance.cpp: // root = # of dimensions being balanced on +balance.cpp: double delta = pow(stopthresh,1.0/ndim) - 1.0; +balance.cpp: // all balancing done in lamda coords +balance.cpp: // loop over dimensions in balance string +balance.cpp: // split = ptr to xyz split in Comm +balance.cpp: // initial count and sum +balance.cpp: // target[i] = desired sum at split I +balance.cpp: for (i = 0; i < np; i++) target[i] = totalcost/np * i; +balance.cpp: // lo[i] = closest split <= split[i] with a sum <= target +balance.cpp: // hi[i] = closest split >= split[i] with a sum >= target +balance.cpp: // iterate until balanced +balance.cpp: // stop if no change in splits, b/c all targets are met exactly +balance.cpp: // stop if all split sums are within delta of targets +balance.cpp: // this is a 1d test of particle count per slice +balance.cpp: // assumption is that this is sufficient accuracy +balance.cpp: // for 3d imbalance factor to reach threshold +balance.cpp: if (fabs(1.0*(sum[i]-target[i]))/target[i] > delta) doneflag = 0; +balance.cpp: // eliminate final adjacent splits that are duplicates +balance.cpp: // can happen if particle distribution is narrow and Nitermax is small +balance.cpp: // set lo = midpt between splits +balance.cpp: // spread duplicates out evenly between bounding midpts with non-duplicates +balance.cpp: // i,j = lo/hi indices of set of duplicate splits +balance.cpp: // delta = new spacing between duplicates +balance.cpp: // bounding midpts = lo[i-1] and lo[j] +balance.cpp: delta = (lo[j] - lo[i-1]) / (j-i+2); +balance.cpp: // sanity check on bad duplicate or inverted splits +balance.cpp: // zero or negative width sub-domains will break Comm class +balance.cpp: // should never happen if recursive multisection algorithm is correct +balance.cpp: /* +balance.cpp: */ +balance.cpp: // stop at this point in bstr if imbalance factor < threshold +balance.cpp: // this is a true 3d test of particle count per processor +balance.cpp: // restore real coords +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp: lo/hi = split values that bound current split +balance.cpp: update lo/hi to reflect sums at current split values +balance.cpp: recursive bisectioning zooms in on each cut by halving lo/hi +balance.cpp: return 0 if no changes in any splits, b/c they are all perfect +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp: // reset lo/hi based on current sum and splits +balance.cpp: // insure lo is monotonically increasing, ties are OK +balance.cpp: // insure hi is monotonically decreasing, ties are OK +balance.cpp: // this effectively uses info from nearby splits +balance.cpp: // to possibly tighten bounds on lo/hi +balance.cpp: fraction = 1.0*(target[i]-losum[i]) / (hisum[i]-losum[i]); +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp: return imbalance factor = max load per proc / ave load per proc +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp: // one proc's particles may map to many partitions, so must Allreduce +balance.cpp: if (maxcost > 0.0) imbalance = maxcost / (totalcost/nprocs); +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp: // insure vec[lo] <= value < vec[hi] at every iteration +balance.cpp: // done when lo,hi are adjacent +balance.cpp: int index = (lo+hi)/2; +balance.cpp: index = (lo+hi)/2; +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp: // Allgather each proc's sub-box +balance.cpp: // could use Gather, but that requires MPI to alloc memory +balance.cpp: // proc 0 writes out nodal coords +balance.cpp: // some will be duplicates +balance.cpp: // write out one square/cube per processor for 2d/3d +balance.cpp:/* ---------------------------------------------------------------------- +balance.cpp:------------------------------------------------------------------------- */ +balance.cpp: fprintf(stderr," Imbalance factor: %g\n",1.0*max*np/target[np]); +body.cpp:/* ---------------------------------------------------------------------- +body.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +body.cpp: http://lammps.sandia.gov, Sandia National Laboratories +body.cpp:------------------------------------------------------------------------- */ +body.cpp:/* ---------------------------------------------------------------------- */ +body.cpp:/* ---------------------------------------------------------------------- */ +bond.cpp:/* ---------------------------------------------------------------------- +bond.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +bond.cpp: http://lammps.sandia.gov, Sandia National Laboratories +bond.cpp:------------------------------------------------------------------------- */ +bond.cpp:/* ----------------------------------------------------------------------- +bond.cpp:------------------------------------------------------------------------- */ +bond.cpp:/* ---------------------------------------------------------------------- */ +bond.cpp:/* ---------------------------------------------------------------------- +bond.cpp:------------------------------------------------------------------------- */ +bond.cpp:/* ---------------------------------------------------------------------- +bond.cpp:------------------------------------------------------------------------- */ +bond.cpp: eflag_atom = eflag / 2; +bond.cpp: vflag_atom = vflag / 4; +bond.cpp: // reallocate per-atom arrays if necessary +bond.cpp: // zero accumulators +bond.cpp:/* ---------------------------------------------------------------------- +bond.cpp:------------------------------------------------------------------------- */ +bond.cpp:/* ---------------------------------------------------------------------- +bond.cpp: write a table of bond potential energy/force vs distance to a file +bond.cpp:------------------------------------------------------------------------- */ +bond.cpp: // parse optional arguments +bond.cpp: error->all(FLERR,"Invalid rlo/rhi values in bond_write command"); +bond.cpp: // open file in append mode +bond.cpp: // print header in format used by bond_style table +bond.cpp: // initialize potentials before evaluating bond potential +bond.cpp: // insures all bond coeffs are set and force constants +bond.cpp: // also initialize neighbor so that neighbor requests are processed +bond.cpp: // NOTE: might be safest to just do lmp->init() +bond.cpp: // evaluate energy and force at each of N distances +bond.cpp: // note that Bond::single() takes r**2 and returns f/r. +bond.cpp: const double dr = (outer-inner) / static_cast(n-1); +bond.cpp:/* ---------------------------------------------------------------------- */ +bond.cpp:/* ----------------------------------------------------------------------- +bond.cpp:-------------------------------------------------------------------------- */ +bond_hybrid.cpp:/* ---------------------------------------------------------------------- +bond_hybrid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +bond_hybrid.cpp: http://lammps.sandia.gov, Sandia National Laboratories +bond_hybrid.cpp:------------------------------------------------------------------------- */ +bond_hybrid.cpp:/* ---------------------------------------------------------------------- */ +bond_hybrid.cpp:/* ---------------------------------------------------------------------- */ +bond_hybrid.cpp:/* ---------------------------------------------------------------------- */ +bond_hybrid.cpp: // save ptrs to original bondlist +bond_hybrid.cpp: // if this is re-neighbor step, create sub-style bondlists +bond_hybrid.cpp: // nbondlist[] = length of each sub-style list +bond_hybrid.cpp: // realloc sub-style bondlist if necessary +bond_hybrid.cpp: // load sub-style bondlist with 3 values from original bondlist +bond_hybrid.cpp: // call each sub-style's compute function +bond_hybrid.cpp: // set neighbor->bondlist to sub-style bondlist before call +bond_hybrid.cpp: // accumulate sub-style global/peratom energy/virial in hybrid +bond_hybrid.cpp: // restore ptrs to original bondlist +bond_hybrid.cpp:/* ---------------------------------------------------------------------- */ +bond_hybrid.cpp:/* ---------------------------------------------------------------------- +bond_hybrid.cpp:------------------------------------------------------------------------- */ +bond_hybrid.cpp: // delete old lists, since cannot just change settings +bond_hybrid.cpp: // count sub-styles by skipping numeric args +bond_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric word +bond_hybrid.cpp: // need a better way to skip these exceptions +bond_hybrid.cpp: // allocate list of sub-styles +bond_hybrid.cpp: // allocate each sub-style and call its settings() with subset of args +bond_hybrid.cpp: // allocate uses suffix, but don't store suffix version in keywords, +bond_hybrid.cpp: // else syntax in coeff() will not match +bond_hybrid.cpp: // define subset of args for a sub-style by skipping numeric args +bond_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric +bond_hybrid.cpp: // need a better way to skip these exceptions +bond_hybrid.cpp:/* ---------------------------------------------------------------------- +bond_hybrid.cpp:---------------------------------------------------------------------- */ +bond_hybrid.cpp: // 2nd arg = bond sub-style name +bond_hybrid.cpp: // allow for "none" as valid sub-style name +bond_hybrid.cpp: // move 1st arg to 2nd arg +bond_hybrid.cpp: // just copy ptrs, since arg[] points into original input line +bond_hybrid.cpp: // invoke sub-style coeff() starting with 1st arg +bond_hybrid.cpp: // set setflag and which type maps to which sub-style +bond_hybrid.cpp: // if sub-style is none: set hybrid setflag, wipe out map +bond_hybrid.cpp:/* ---------------------------------------------------------------------- */ +bond_hybrid.cpp:/* ---------------------------------------------------------------------- +bond_hybrid.cpp:------------------------------------------------------------------------- */ +bond_hybrid.cpp:/* ---------------------------------------------------------------------- +bond_hybrid.cpp:------------------------------------------------------------------------- */ +bond_hybrid.cpp:/* ---------------------------------------------------------------------- +bond_hybrid.cpp:------------------------------------------------------------------------- */ +bond_hybrid.cpp:/* ---------------------------------------------------------------------- */ +bond_hybrid.cpp:/* ---------------------------------------------------------------------- +bond_hybrid.cpp:------------------------------------------------------------------------- */ +bond_zero.cpp:/* ---------------------------------------------------------------------- +bond_zero.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +bond_zero.cpp: http://lammps.sandia.gov, Sandia National Laboratories +bond_zero.cpp:------------------------------------------------------------------------- */ +bond_zero.cpp:/* ---------------------------------------------------------------------- +bond_zero.cpp:------------------------------------------------------------------------- */ +bond_zero.cpp:/* ---------------------------------------------------------------------- */ +bond_zero.cpp:/* ---------------------------------------------------------------------- */ +bond_zero.cpp:/* ---------------------------------------------------------------------- */ +bond_zero.cpp:/* ---------------------------------------------------------------------- */ +bond_zero.cpp:/* ---------------------------------------------------------------------- */ +bond_zero.cpp:/* ---------------------------------------------------------------------- +bond_zero.cpp:------------------------------------------------------------------------- */ +bond_zero.cpp:/* ---------------------------------------------------------------------- +bond_zero.cpp:------------------------------------------------------------------------- */ +bond_zero.cpp:/* ---------------------------------------------------------------------- +bond_zero.cpp:------------------------------------------------------------------------- */ +bond_zero.cpp:/* ---------------------------------------------------------------------- +bond_zero.cpp:------------------------------------------------------------------------- */ +bond_zero.cpp:/* ---------------------------------------------------------------------- +bond_zero.cpp:------------------------------------------------------------------------- */ +bond_zero.cpp:/* ---------------------------------------------------------------------- */ +change_box.cpp:/* ---------------------------------------------------------------------- +change_box.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +change_box.cpp: http://lammps.sandia.gov, Sandia National Laboratories +change_box.cpp:------------------------------------------------------------------------- */ +change_box.cpp:/* ---------------------------------------------------------------------- */ +change_box.cpp:/* ---------------------------------------------------------------------- */ +change_box.cpp: // group +change_box.cpp: // parse operation arguments +change_box.cpp: // allocate ops to max possible length +change_box.cpp: // volume option does not increment nops +change_box.cpp: // read options from end of input line +change_box.cpp: // compute scale factors if FINAL,DELTA used since they have distance units +change_box.cpp: // perform sequence of operations +change_box.cpp: // first insure atoms are in current box & update box via shrink-wrap +change_box.cpp: // no exchange() since doesn't matter if atoms are assigned to correct procs +change_box.cpp: // save current box state so can remap atoms from it, if requested +change_box.cpp: "Cannot change box ortho/triclinic with dumps defined"); +change_box.cpp: "Cannot change box ortho/triclinic with " +change_box.cpp: "Cannot change box ortho/triclinic with dumps defined"); +change_box.cpp: "Cannot change box ortho/triclinic with " +change_box.cpp: // convert atoms to lamda coords, using last box state +change_box.cpp: // convert atoms back to box coords, using current box state +change_box.cpp: // save current box state +change_box.cpp: // clean up +change_box.cpp: // apply shrink-wrap boundary conditions +change_box.cpp: // move atoms back inside simulation box and to new processors +change_box.cpp: // use remap() instead of pbc() +change_box.cpp: // in case box moved a long distance relative to atoms +change_box.cpp: // use irregular() in case box moved a long distance relative to atoms +change_box.cpp: // check if any atoms were lost +change_box.cpp:/* ---------------------------------------------------------------------- +change_box.cpp:------------------------------------------------------------------------- */ +change_box.cpp:/* ---------------------------------------------------------------------- +change_box.cpp:------------------------------------------------------------------------- */ +change_box.cpp:/* ---------------------------------------------------------------------- +change_box.cpp: reset box lengths of dim1/2 to preserve old volume +change_box.cpp:------------------------------------------------------------------------- */ +change_box.cpp: // invoke set_initial_box() +change_box.cpp: // in case change by caller to dim3 was invalid or on shrink-wrapped dim +change_box.cpp: // calculate newvol using boxlo/hi since xyz prd are not yet reset +change_box.cpp: double scale = oldvol/newvol; +change_box.cpp: // change dim1 only +change_box.cpp: // change dim1 and dim2, keeping their relative aspect ratio constant +change_box.cpp: // both are scaled by sqrt(scale) +citeme.cpp:/* ---------------------------------------------------------------------- +citeme.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +citeme.cpp: http://lammps.sandia.gov, Sandia National Laboratories +citeme.cpp:------------------------------------------------------------------------- */ +citeme.cpp: "following references. See http://lammps.sandia.gov/cite.html\n" +citeme.cpp:/* ---------------------------------------------------------------------- */ +citeme.cpp:/* ---------------------------------------------------------------------- +citeme.cpp:------------------------------------------------------------------------- */ +citeme.cpp:/* ---------------------------------------------------------------------- +citeme.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +comm_brick.cpp: http://lammps.sandia.gov, Sandia National Laboratories +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp:enum{SINGLE,MULTI}; // same as in Comm +comm_brick.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files +comm_brick.cpp:/* ---------------------------------------------------------------------- */ +comm_brick.cpp:/* ---------------------------------------------------------------------- */ +comm_brick.cpp:/* ---------------------------------------------------------------------- */ +comm_brick.cpp://IMPORTANT: we *MUST* pass "*oldcomm" to the Comm initializer here, as +comm_brick.cpp:// the code below *requires* that the (implicit) copy constructor +comm_brick.cpp:// for Comm is run and thus creating a shallow copy of "oldcomm". +comm_brick.cpp:// The call to Comm::copy_arrays() then converts the shallow copy +comm_brick.cpp:// into a deep copy of the class with the new layout. +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // bufextra = max size of one exchanged atom +comm_brick.cpp: // = allowed overflow of sendbuf in exchange() +comm_brick.cpp: // atomvec, fix reset these 2 maxexchange values if needed +comm_brick.cpp: // only necessary if their size > BUFEXTRA +comm_brick.cpp:/* ---------------------------------------------------------------------- */ +comm_brick.cpp: // memory for multi-style communication +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // cutghost[] = max distance at which ghost atoms need to be acquired +comm_brick.cpp: // for orthogonal: +comm_brick.cpp: // cutghost is in box coords = neigh->cutghost in all 3 dims +comm_brick.cpp: // for triclinic: +comm_brick.cpp: // neigh->cutghost = distance between tilted planes in box coords +comm_brick.cpp: // cutghost is in lamda coords = distance between those planes +comm_brick.cpp: // for multi: +comm_brick.cpp: // cutghostmulti = same as cutghost, only for each atom type +comm_brick.cpp: // recvneed[idim][0/1] = # of procs away I recv atoms from, within cutghost +comm_brick.cpp: // 0 = from left, 1 = from right +comm_brick.cpp: // do not cross non-periodic boundaries, need[2] = 0 for 2d +comm_brick.cpp: // sendneed[idim][0/1] = # of procs away I send atoms to +comm_brick.cpp: // 0 = to left, 1 = to right +comm_brick.cpp: // set equal to recvneed[idim][1/0] of neighbor proc +comm_brick.cpp: // maxneed[idim] = max procs away any proc recvs atoms in either direction +comm_brick.cpp: // layout = UNIFORM = uniform sized sub-domains: +comm_brick.cpp: // maxneed is directly computable from sub-domain size +comm_brick.cpp: // limit to procgrid-1 for non-PBC +comm_brick.cpp: // recvneed = maxneed except for procs near non-PBC +comm_brick.cpp: // sendneed = recvneed of neighbor on each side +comm_brick.cpp: // layout = NONUNIFORM = non-uniform sized sub-domains: +comm_brick.cpp: // compute recvneed via updown() which accounts for non-PBC +comm_brick.cpp: // sendneed = recvneed of neighbor on each side +comm_brick.cpp: // maxneed via Allreduce() of recvneed +comm_brick.cpp: maxneed[0] = static_cast (cutghost[0] * procgrid[0] / prd[0]) + 1; +comm_brick.cpp: maxneed[1] = static_cast (cutghost[1] * procgrid[1] / prd[1]) + 1; +comm_brick.cpp: maxneed[2] = static_cast (cutghost[2] * procgrid[2] / prd[2]) + 1; +comm_brick.cpp: // allocate comm memory +comm_brick.cpp: // setup parameters for each exchange: +comm_brick.cpp: // sendproc = proc to send to at each swap +comm_brick.cpp: // recvproc = proc to recv from at each swap +comm_brick.cpp: // for mode SINGLE: +comm_brick.cpp: // slablo/slabhi = boundaries for slab of atoms to send at each swap +comm_brick.cpp: // use -BIG/midpt/BIG to insure all atoms included even if round-off occurs +comm_brick.cpp: // if round-off, atoms recvd across PBC can be < or > than subbox boundary +comm_brick.cpp: // note that borders() only loops over subset of atoms during each swap +comm_brick.cpp: // treat all as PBC here, non-PBC is handled in borders() via r/s need[][] +comm_brick.cpp: // for mode MULTI: +comm_brick.cpp: // multilo/multihi is same, with slablo/slabhi for each atom type +comm_brick.cpp: // pbc_flag: 0 = nothing across a boundary, 1 = something across a boundary +comm_brick.cpp: // pbc = -1/0/1 for PBC factor in each of 3/6 orthogonal/triclinic dirs +comm_brick.cpp: // for triclinic, slablo/hi and pbc_border will be used in lamda (0-1) coords +comm_brick.cpp: // 1st part of if statement is sending to the west/south/down +comm_brick.cpp: // 2nd part of if statement is sending to the east/north/up +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp: walk up/down the extent of nearby processors in dim and dir +comm_brick.cpp: dir = 0/1 = walk to left/right +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: frac = cutghost[dim]/prd; +comm_brick.cpp: frac = cutghost[dim]/prd; +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp: other per-atom attributes may also be sent via pack/unpack routines +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // exchange data with another proc +comm_brick.cpp: // if other proc is self, just copy +comm_brick.cpp: // if comm_x_only set, exchange or copy directly to x, don't unpack +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp: other per-atom attributes may also be sent via pack/unpack routines +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // exchange data with another proc +comm_brick.cpp: // if other proc is self, just copy +comm_brick.cpp: // if comm_f_only set, exchange or copy directly from f, don't pack +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // clear global->local map for owned and ghost atoms +comm_brick.cpp: // b/c atoms migrate to new procs in exchange() and +comm_brick.cpp: // new ghosts are created in borders() +comm_brick.cpp: // map_set() is done at end of borders() +comm_brick.cpp: // clear ghost count and any ghost bonus data internal to AtomVec +comm_brick.cpp: // insure send buf is large enough for single atom +comm_brick.cpp: // bufextra = max size of one atom = allowed overflow of sendbuf +comm_brick.cpp: // fixes can change per-atom size requirement on-the-fly +comm_brick.cpp: // subbox bounds for orthogonal or triclinic +comm_brick.cpp: // loop over dimensions +comm_brick.cpp: // fill buffer with atoms leaving my box, using < and >= +comm_brick.cpp: // when atom is deleted, fill it in with last atom +comm_brick.cpp: // send/recv atoms in both directions +comm_brick.cpp: // send size of message first so receiver can realloc buf_recv if needed +comm_brick.cpp: // if 1 proc in dimension, no send/recv +comm_brick.cpp: // set nrecv = 0 so buf_send atoms will be lost +comm_brick.cpp: // if 2 procs in dimension, single send/recv +comm_brick.cpp: // if more than 2 procs in dimension, send/recv to both neighbors +comm_brick.cpp: // check incoming atoms to see if they are in my box +comm_brick.cpp: // if so, add to my list +comm_brick.cpp: // box check is only for this dimension, +comm_brick.cpp: // atom may be passed to another proc in later dims +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // do swaps over all 3 dimensions +comm_brick.cpp: // find atoms within slab boundaries lo/hi using <= and >= +comm_brick.cpp: // check atoms between nfirst and nlast +comm_brick.cpp: // for first swaps in a dim, check owned and ghost +comm_brick.cpp: // for later swaps in a dim, only check newly arrived ghosts +comm_brick.cpp: // store sent atom indices in sendlist for use in future timesteps +comm_brick.cpp: // sendflag = 0 if I do not send on this swap +comm_brick.cpp: // sendneed test indicates receiver no longer requires data +comm_brick.cpp: // e.g. due to non-PBC or non-uniform sub-domains +comm_brick.cpp: if (ineed/2 >= sendneed[dim][ineed % 2]) sendflag = 0; +comm_brick.cpp: // find send atoms according to SINGLE vs MULTI +comm_brick.cpp: // all atoms eligible versus only atoms in bordergroup +comm_brick.cpp: // can only limit loop to bordergroup for first sends (ineed < 2) +comm_brick.cpp: // on these sends, break loop in two: owned (in group) and ghost +comm_brick.cpp: // pack up list of border atoms +comm_brick.cpp: // swap atoms with other proc +comm_brick.cpp: // no MPI calls except SendRecv if nsend/nrecv = 0 +comm_brick.cpp: // put incoming ghosts at end of my atom arrays +comm_brick.cpp: // if swapping with self, simply copy, no messages +comm_brick.cpp: // unpack buffer +comm_brick.cpp: // set all pointers & counters +comm_brick.cpp: // insure send/recv buffers are long enough for all forward & reverse comm +comm_brick.cpp: // reset global->local map +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // pack buffer +comm_brick.cpp: // exchange with another proc +comm_brick.cpp: // if self, set recv buffer to send buffer +comm_brick.cpp: // unpack buffer +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // pack buffer +comm_brick.cpp: // exchange with another proc +comm_brick.cpp: // if self, set recv buffer to send buffer +comm_brick.cpp: // unpack buffer +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp: size/nsize used only to set recv buffer limit +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // pack buffer +comm_brick.cpp: // exchange with another proc +comm_brick.cpp: // if self, set recv buffer to send buffer +comm_brick.cpp: // unpack buffer +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp: size/nsize used only to set recv buffer limit +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // pack buffer +comm_brick.cpp: // exchange with another proc +comm_brick.cpp: // if self, set recv buffer to send buffer +comm_brick.cpp: // unpack buffer +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp: handshake sizes before each Irecv/Send to insure buf_recv is big enough +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // pack buffer +comm_brick.cpp: // exchange with another proc +comm_brick.cpp: // if self, set recv buffer to send buffer +comm_brick.cpp: // unpack buffer +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // pack buffer +comm_brick.cpp: // exchange with another proc +comm_brick.cpp: // if self, set recv buffer to send buffer +comm_brick.cpp: // unpack buffer +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // pack buffer +comm_brick.cpp: // exchange with another proc +comm_brick.cpp: // if self, set recv buffer to send buffer +comm_brick.cpp: // unpack buffer +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // pack buffer +comm_brick.cpp: // exchange with another proc +comm_brick.cpp: // if self, set recv buffer to send buffer +comm_brick.cpp: // unpack buffer +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // pack buffer +comm_brick.cpp: // exchange with another proc +comm_brick.cpp: // if self, set recv buffer to send buffer +comm_brick.cpp: // unpack buffer +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // insure send/recv bufs are big enough for nsize +comm_brick.cpp: // based on smax/rmax from most recent borders() invocation +comm_brick.cpp: // pack buffer +comm_brick.cpp: // exchange with another proc +comm_brick.cpp: // if self, set recv buffer to send buffer +comm_brick.cpp: // unpack buffer +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: // loop over dimensions +comm_brick.cpp: // no exchange if only one proc in a dimension +comm_brick.cpp: // send/recv info in both directions using same buf_recv +comm_brick.cpp: // if 2 procs in dimension, single send/recv +comm_brick.cpp: // if more than 2 procs in dimension, send/recv to both neighbors +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp: if flag = 0, don't need to realloc with copy, just free/malloc +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp: free/malloc the size of the recv buffer as needed with BUFFACTOR +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp:/* ---------------------------------------------------------------------- +comm_brick.cpp:------------------------------------------------------------------------- */ +comm_brick.cpp: bytes += nprocs * sizeof(int); // grid2proc +comm.cpp:/* ---------------------------------------------------------------------- +comm.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +comm.cpp: http://lammps.sandia.gov, Sandia National Laboratories +comm.cpp:------------------------------------------------------------------------- */ +comm.cpp:#define BUFMIN 1000 // also in comm styles +comm.cpp:enum{SINGLE,MULTI}; // same as in Comm sub-styles +comm.cpp:enum{MULTIPLE}; // same as in ProcMap +comm.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files +comm.cpp:/* ---------------------------------------------------------------------- */ +comm.cpp: // use of OpenMP threads +comm.cpp: // query OpenMP for number of threads/process set by user at run-time +comm.cpp: // if the OMP_NUM_THREADS environment variable is not set, we default +comm.cpp: // to using 1 thread. This follows the principle of the least surprise, +comm.cpp: // while practically all OpenMP implementations violate it by using +comm.cpp: // as many threads as there are (virtual) CPU cores by default. +comm.cpp: // enforce consistent number of threads across all MPI tasks +comm.cpp:/* ---------------------------------------------------------------------- */ +comm.cpp:/* ---------------------------------------------------------------------- +comm.cpp: all public/protected vectors/arrays in parent Comm class must be copied +comm.cpp:------------------------------------------------------------------------- */ +comm.cpp:/* ---------------------------------------------------------------------- +comm.cpp:------------------------------------------------------------------------- */ +comm.cpp: // check warn if any proc's subbox is smaller than neigh skin +comm.cpp: // since may lead to lost atoms in exchange() +comm.cpp: // really should check every exchange() in case box size is shrinking +comm.cpp: // but seems overkill to do that (fix balance does perform this check) +comm.cpp: // comm_only = 1 if only x,f are exchanged in forward/reverse comm +comm.cpp: // comm_x_only = 0 if ghost_velocity since velocities are added +comm.cpp: // set per-atom sizes for forward/reverse/border comm +comm.cpp: // augment by velocity and fix quantities if needed +comm.cpp: // per-atom limits for communication +comm.cpp: // maxexchange = max # of datums in exchange comm, set in exchange() +comm.cpp: // maxforward = # of datums in largest forward comm +comm.cpp: // maxreverse = # of datums in largest reverse comm +comm.cpp: // query pair,fix,compute,dump for their requirements +comm.cpp: // pair style can force reverse comm even if newton off +comm.cpp:/* ---------------------------------------------------------------------- +comm.cpp:------------------------------------------------------------------------- */ +comm.cpp: // need to reset cutghostuser when switching comm mode +comm.cpp: // need to reset cutghostuser when switching comm mode +comm.cpp: "Use cutoff/multi keyword to set cutoff in multi mode"); +comm.cpp: } else if (strcmp(arg[iarg],"cutoff/multi") == 0) { +comm.cpp: "Cannot set cutoff/multi before simulation box is defined"); +comm.cpp:/* ---------------------------------------------------------------------- +comm.cpp:------------------------------------------------------------------------- */ +comm.cpp: else if (strcmp(arg[iarg+1],"cart/reorder") == 0) mapflag = CARTREORDER; +comm.cpp: // only receiver has otherflag dependency +comm.cpp: // error checks +comm.cpp:/* ---------------------------------------------------------------------- +comm.cpp:------------------------------------------------------------------------- */ +comm.cpp: // recv 3d proc grid of another partition if my 3d grid depends on it +comm.cpp: // create ProcMap class to create 3d grid and map procs to it +comm.cpp: // create 3d grid of processors +comm.cpp: // produces procgrid and coregrid (if relevant) +comm.cpp: // error check on procgrid +comm.cpp: // should not be necessary due to ProcMap +comm.cpp: // grid2proc[i][j][k] = proc that owns i,j,k location in 3d grid +comm.cpp: // map processor IDs to 3d processor grid +comm.cpp: // produces myloc, procneigh, grid2proc +comm.cpp: // print 3d grid info to screen and logfile +comm.cpp: // print 3d grid details to outfile +comm.cpp: // free ProcMap class +comm.cpp: // set xsplit,ysplit,zsplit for uniform spacings +comm.cpp: for (int i = 0; i < procgrid[0]; i++) xsplit[i] = i * 1.0/procgrid[0]; +comm.cpp: for (int i = 0; i < procgrid[1]; i++) ysplit[i] = i * 1.0/procgrid[1]; +comm.cpp: for (int i = 0; i < procgrid[2]; i++) zsplit[i] = i * 1.0/procgrid[2]; +comm.cpp: // set lamda box params after procs are assigned +comm.cpp: // only set once unless load-balancing occurs +comm.cpp: // send my 3d proc grid to another partition if requested +comm.cpp:/* ---------------------------------------------------------------------- +comm.cpp:------------------------------------------------------------------------- */ +comm.cpp: // initialize triclinic b/c coord2proc can be called before Comm::init() +comm.cpp: // via Irregular::migrate_atoms() +comm.cpp: igx = static_cast (procgrid[0] * (x[0]-boxlo[0]) / prd[0]); +comm.cpp: igy = static_cast (procgrid[1] * (x[1]-boxlo[1]) / prd[1]); +comm.cpp: igz = static_cast (procgrid[2] * (x[2]-boxlo[2]) / prd[2]); +comm.cpp: igx = binary((x[0]-boxlo[0])/prd[0],procgrid[0],xsplit); +comm.cpp: igy = binary((x[1]-boxlo[1])/prd[1],procgrid[1],ysplit); +comm.cpp: igz = binary((x[2]-boxlo[2])/prd[2],procgrid[2],zsplit); +comm.cpp:/* ---------------------------------------------------------------------- +comm.cpp:------------------------------------------------------------------------- */ +comm.cpp: // insure vec[lo] <= value < vec[hi] at every iteration +comm.cpp: // done when lo,hi are adjacent +comm.cpp: int index = (lo+hi)/2; +comm.cpp: index = (lo+hi)/2; +comm.cpp:/* ---------------------------------------------------------------------- +comm.cpp: callback() is invoked to allow caller to process/update each proc's inbuf +comm.cpp:------------------------------------------------------------------------- */ +comm.cpp: // no need to communicate without data +comm.cpp: if (self || loop < nprocs-1) callback(nbytes/nper,buf); +comm.cpp:/* ---------------------------------------------------------------------- +comm.cpp:------------------------------------------------------------------------- */ +comm.cpp:/* ---------------------------------------------------------------------- +comm.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +comm_tiled.cpp: http://lammps.sandia.gov, Sandia National Laboratories +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:enum{SINGLE,MULTI}; // same as in Comm +comm_tiled.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files +comm_tiled.cpp:/* ---------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- */ +comm_tiled.cpp://IMPORTANT: we *MUST* pass "*oldcomm" to the Comm initializer here, as +comm_tiled.cpp:// the code below *requires* that the (implicit) copy constructor +comm_tiled.cpp:// for Comm is run and thus creating a shallow copy of "oldcomm". +comm_tiled.cpp:// The call to Comm::copy_arrays() then converts the shallow copy +comm_tiled.cpp:// into a deep copy of the class with the new layout. +comm_tiled.cpp:/* ---------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp: // bufextra = max size of one exchanged atom +comm_tiled.cpp: // = allowed overflow of sendbuf in exchange() +comm_tiled.cpp: // atomvec, fix reset these 2 maxexchange values if needed +comm_tiled.cpp: // only necessary if their size > BUFEXTRA +comm_tiled.cpp:/* ---------------------------------------------------------------------- */ +comm_tiled.cpp: // temporary restrictions +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp: // domain properties used in setup method and methods it calls +comm_tiled.cpp: // set function pointers +comm_tiled.cpp: // if RCB decomp exists and just changed, gather needed global RCB info +comm_tiled.cpp: // set cutoff for comm forward and comm reverse +comm_tiled.cpp: // check that cutoff < any periodic box length +comm_tiled.cpp: // if cut = 0.0, set to epsilon to induce nearest neighbor comm +comm_tiled.cpp: // this is b/c sendproc is used below to infer touching exchange procs +comm_tiled.cpp: // exchange procs will be empty (leading to lost atoms) if sendproc = 0 +comm_tiled.cpp: // will reset sendproc/etc to 0 after exchange is setup, down below +comm_tiled.cpp: // setup forward/reverse communication +comm_tiled.cpp: // loop over 6 swap directions +comm_tiled.cpp: // determine which procs I will send to and receive from in each swap +comm_tiled.cpp: // done by intersecting ghost box with all proc sub-boxes it overlaps +comm_tiled.cpp: // sets nsendproc, nrecvproc, sendproc, recvproc +comm_tiled.cpp: // sets sendother, recvother, sendself, pbc_flag, pbc, sendbox +comm_tiled.cpp: // resets nprocmax +comm_tiled.cpp: // one = first ghost box in same periodic image +comm_tiled.cpp: // two = second ghost box wrapped across periodic boundary +comm_tiled.cpp: // either may not exist +comm_tiled.cpp: // noverlap = # of overlaps of box1/2 with procs via box_drop() +comm_tiled.cpp: // overlap = list of overlapping procs +comm_tiled.cpp: // if overlap with self, indexme = index of me in list +comm_tiled.cpp: // if self is in overlap list, move it to end of list +comm_tiled.cpp: // reallocate 2nd dimensions of all send/recv arrays, based on noverlap +comm_tiled.cpp: // # of sends of this swap = # of recvs of iswap +/- 1 +comm_tiled.cpp: // overlap how has list of noverlap procs +comm_tiled.cpp: // includes PBC effects +comm_tiled.cpp: // compute sendbox for each of my sends +comm_tiled.cpp: // obox = intersection of ghostbox with other proc's sub-domain +comm_tiled.cpp: // sbox = what I need to send to other proc +comm_tiled.cpp: // = sublo to MIN(sublo+cut,subhi) in idim, for idir = 0 +comm_tiled.cpp: // = MIN(subhi-cut,sublo) to subhi in idim, for idir = 1 +comm_tiled.cpp: // = obox in other 2 dims +comm_tiled.cpp: // if sbox touches other proc's sub-box boundaries in lower dims, +comm_tiled.cpp: // extend sbox in those lower dims to include ghost atoms +comm_tiled.cpp: // setup exchange communication = subset of forward/reverse comm procs +comm_tiled.cpp: // loop over dimensions +comm_tiled.cpp: // determine which procs I will exchange with in each dimension +comm_tiled.cpp: // subset of procs that touch my proc in forward/reverse comm +comm_tiled.cpp: // sets nexchproc & exchproc, resets nexchprocmax +comm_tiled.cpp: // overlap = list of procs that touch my sub-box in idim +comm_tiled.cpp: // proc can appear twice in list if touches in both directions +comm_tiled.cpp: // 2nd add-to-list checks to insure each proc appears exactly once +comm_tiled.cpp: // reallocate exchproc and exchnum if needed based on noverlap +comm_tiled.cpp: // reset sendproc/etc to 0 if cut is really 0.0 +comm_tiled.cpp: // reallocate MPI Requests and Statuses as needed +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp: other per-atom attributes may also be sent via pack/unpack routines +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp: // exchange data with another set of procs in each swap +comm_tiled.cpp: // post recvs from all procs except self +comm_tiled.cpp: // send data to all procs except self +comm_tiled.cpp: // copy data to self if sendself is set +comm_tiled.cpp: // wait on all procs except self and unpack received data +comm_tiled.cpp: // if comm_x_only set, exchange or copy directly to x, don't unpack +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp: other per-atom attributes may also be sent via pack/unpack routines +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp: // exchange data with another set of procs in each swap +comm_tiled.cpp: // post recvs from all procs except self +comm_tiled.cpp: // send data to all procs except self +comm_tiled.cpp: // copy data to self if sendself is set +comm_tiled.cpp: // wait on all procs except self and unpack received data +comm_tiled.cpp: // if comm_f_only set, exchange or copy directly from f, don't pack +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp: // clear global->local map for owned and ghost atoms +comm_tiled.cpp: // b/c atoms migrate to new procs in exchange() and +comm_tiled.cpp: // new ghosts are created in borders() +comm_tiled.cpp: // map_set() is done at end of borders() +comm_tiled.cpp: // clear ghost count and any ghost bonus data internal to AtomVec +comm_tiled.cpp: // insure send buf is large enough for single atom +comm_tiled.cpp: // bufextra = max size of one atom = allowed overflow of sendbuf +comm_tiled.cpp: // fixes can change per-atom size requirement on-the-fly +comm_tiled.cpp: // domain properties used in exchange method and methods it calls +comm_tiled.cpp: // subbox bounds for orthogonal or triclinic +comm_tiled.cpp: // loop over dimensions +comm_tiled.cpp: // fill buffer with atoms leaving my box, using < and >= +comm_tiled.cpp: // when atom is deleted, fill it in with last atom +comm_tiled.cpp: // send and recv atoms from neighbor procs that touch my sub-box in dim +comm_tiled.cpp: // no send/recv with self +comm_tiled.cpp: // send size of message first +comm_tiled.cpp: // receiver may receive multiple messages, realloc buf_recv if needed +comm_tiled.cpp: // check incoming atoms to see if I own it and they are in my box +comm_tiled.cpp: // if so, add to my list +comm_tiled.cpp: // box check is only for this dimension, +comm_tiled.cpp: // atom may be passed to another proc in later dims +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp: one list is created per swap/proc that will be made +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp: // send/recv max one = max # of atoms in single send/recv for any swap +comm_tiled.cpp: // send/recv max all = max # of atoms in all sends/recvs within any swap +comm_tiled.cpp: // loop over swaps in all dimensions +comm_tiled.cpp: // find atoms within sendboxes using >= and < +comm_tiled.cpp: // hi test with ">" is important b/c don't want to send an atom +comm_tiled.cpp: // in lower dim (on boundary) that a proc will recv again in higher dim +comm_tiled.cpp: // for x-dim swaps, check owned atoms +comm_tiled.cpp: // for yz-dim swaps, check owned and ghost atoms +comm_tiled.cpp: // store sent atom indices in sendlist for use in future timesteps +comm_tiled.cpp: // NOTE: assume SINGLE mode, add logic for MULTI mode later +comm_tiled.cpp: // send sendnum counts to procs who recv from me except self +comm_tiled.cpp: // copy data to self if sendself is set +comm_tiled.cpp: // setup other per swap/proc values from sendnum and recvnum +comm_tiled.cpp: // insure send/recv buffers are large enough for this border comm swap +comm_tiled.cpp: // swap atoms with other procs using pack_border(), unpack_border() +comm_tiled.cpp: // use Waitall() instead of Waitany() because calls to unpack_border() +comm_tiled.cpp: // must increment per-atom arrays in ascending order +comm_tiled.cpp: // increment ghost atoms +comm_tiled.cpp: // insure send/recv buffers are long enough for all forward & reverse comm +comm_tiled.cpp: // send buf is for one forward or reverse sends to one proc +comm_tiled.cpp: // recv buf is for all forward or reverse recvs in one swap +comm_tiled.cpp: // reset global->local map +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp: size/nsize used only to set recv buffer limit +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp: size/nsize used only to set recv buffer limit +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp: // insure send/recv bufs are big enough for nsize +comm_tiled.cpp: // based on smaxone/rmaxall from most recent borders() invocation +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp: determine overlap list of Noverlap procs the lo/hi box overlaps +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp: // NOTE: this is not triclinic compatible +comm_tiled.cpp: // NOTE: these error messages are internal sanity checks +comm_tiled.cpp: // should not occur, can be removed at some point +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp: determine overlap list of Noverlap procs the lo/hi box overlaps +comm_tiled.cpp: no need to split lo/hi box as recurse b/c OK if box extends outside RCB box +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp: // end recursion when partition is a single proc +comm_tiled.cpp: // add proc to overlap list +comm_tiled.cpp: // drop box on each side of cut it extends beyond +comm_tiled.cpp: // use > and < criteria so does not include a box it only touches +comm_tiled.cpp: // procmid = 1st processor in upper half of partition +comm_tiled.cpp: // = location in tree that stores this cut +comm_tiled.cpp: // dim = 0,1,2 dimension of cut +comm_tiled.cpp: // cut = position of cut +comm_tiled.cpp: int procmid = proclower + (procupper - proclower) / 2 + 1; +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp: return other box owned by proc as lo/hi corner pts +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp: return other box owned by proc as lo/hi corner pts +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp: // sending to left +comm_tiled.cpp: // only touches if proc hi = my lo, or if proc hi = boxhi and my lo = boxlo +comm_tiled.cpp: // sending to right +comm_tiled.cpp: // only touches if proc lo = my hi, or if proc lo = boxlo and my hi = boxhi +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp: // end recursion when partition is a single proc +comm_tiled.cpp: // return proc +comm_tiled.cpp: // drop point on side of cut it is on +comm_tiled.cpp: // use < criterion so point is not on high edge of proc sub-domain +comm_tiled.cpp: // procmid = 1st processor in upper half of partition +comm_tiled.cpp: // = location in tree that stores this cut +comm_tiled.cpp: // dim = 0,1,2 dimension of cut +comm_tiled.cpp: // cut = position of cut +comm_tiled.cpp: int procmid = proclower + (procupper - proclower) / 2 + 1; +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp: if flag = 0, don't need to realloc with copy, just free/malloc +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp: free/malloc the size of the recv buffer as needed with BUFFACTOR +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp: nexchproc = new int[n/2]; +comm_tiled.cpp: nexchprocmax = new int[n/2]; +comm_tiled.cpp: exchproc = new int*[n/2]; +comm_tiled.cpp: exchnum = new int*[n/2]; +comm_tiled.cpp: for (int i = 0; i < n/2; i++) { +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +comm_tiled.cpp: for (int i = 0; i < n/2; i++) { +comm_tiled.cpp:/* ---------------------------------------------------------------------- +comm_tiled.cpp:------------------------------------------------------------------------- */ +compute_angle.cpp:/* ---------------------------------------------------------------------- +compute_angle.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_angle.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_angle.cpp:------------------------------------------------------------------------- */ +compute_angle.cpp:/* ---------------------------------------------------------------------- */ +compute_angle.cpp: // check if bond style hybrid exists +compute_angle.cpp:/* ---------------------------------------------------------------------- */ +compute_angle.cpp:/* ---------------------------------------------------------------------- */ +compute_angle.cpp: // recheck angle style in case it has been changed +compute_angle.cpp:/* ---------------------------------------------------------------------- */ +compute_angle_local.cpp:/* ---------------------------------------------------------------------- +compute_angle_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_angle_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_angle_local.cpp:------------------------------------------------------------------------- */ +compute_angle_local.cpp:/* ---------------------------------------------------------------------- */ +compute_angle_local.cpp: if (narg < 4) error->all(FLERR,"Illegal compute angle/local command"); +compute_angle_local.cpp: error->all(FLERR,"Compute angle/local used when angles are not allowed"); +compute_angle_local.cpp: else error->all(FLERR,"Invalid keyword in compute angle/local command"); +compute_angle_local.cpp:/* ---------------------------------------------------------------------- */ +compute_angle_local.cpp:/* ---------------------------------------------------------------------- */ +compute_angle_local.cpp: error->all(FLERR,"No angle style is defined for compute angle/local"); +compute_angle_local.cpp: // do initial memory allocation so that memory_usage() is correct +compute_angle_local.cpp:/* ---------------------------------------------------------------------- */ +compute_angle_local.cpp: // count local entries and compute angle info +compute_angle_local.cpp:/* ---------------------------------------------------------------------- +compute_angle_local.cpp:------------------------------------------------------------------------- */ +compute_angle_local.cpp: // c = cosine of angle +compute_angle_local.cpp: c /= r1*r2; +compute_angle_local.cpp: tbuf[n] = 180.0*acos(c)/MY_PI; +compute_angle_local.cpp:/* ---------------------------------------------------------------------- */ +compute_angle_local.cpp: // grow vector_local or array_local +compute_angle_local.cpp: memory->create(vlocal,nmax,"angle/local:vector_local"); +compute_angle_local.cpp: memory->create(alocal,nmax,nvalues,"angle/local:array_local"); +compute_angle_local.cpp:/* ---------------------------------------------------------------------- +compute_angle_local.cpp:------------------------------------------------------------------------- */ +compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- +compute_angmom_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_angmom_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ +compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_angmom_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute angmom/chunk command"); +compute_angmom_chunk.cpp: // ID of compute chunk/atom +compute_angmom_chunk.cpp: // chunk-based data +compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_angmom_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " +compute_angmom_chunk.cpp: "compute angmom/chunk"); +compute_angmom_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) +compute_angmom_chunk.cpp: error->all(FLERR,"Compute angmom/chunk does not use chunk/atom compute"); +compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_angmom_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_angmom_chunk.cpp: // extract ichunk index vector from compute +compute_angmom_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_angmom_chunk.cpp: // zero local per-chunk values +compute_angmom_chunk.cpp: // compute COM for each chunk +compute_angmom_chunk.cpp: comall[i][0] /= masstotal[i]; +compute_angmom_chunk.cpp: comall[i][1] /= masstotal[i]; +compute_angmom_chunk.cpp: comall[i][2] /= masstotal[i]; +compute_angmom_chunk.cpp: // compute angmom for each chunk +compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- +compute_angmom_chunk.cpp: lock methods: called by fix ave/time +compute_angmom_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch +compute_angmom_chunk.cpp: by passing lock info along to compute chunk/atom +compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ +compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- +compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ +compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- +compute_angmom_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists +compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ +compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- +compute_angmom_chunk.cpp: calculate and return # of chunks = length of vector/array +compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ +compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- +compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ +compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- +compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ +compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- +compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ +compute_angmom_chunk.cpp: memory->create(massproc,maxchunk,"angmom/chunk:massproc"); +compute_angmom_chunk.cpp: memory->create(masstotal,maxchunk,"angmom/chunk:masstotal"); +compute_angmom_chunk.cpp: memory->create(com,maxchunk,3,"angmom/chunk:com"); +compute_angmom_chunk.cpp: memory->create(comall,maxchunk,3,"angmom/chunk:comall"); +compute_angmom_chunk.cpp: memory->create(angmom,maxchunk,3,"angmom/chunk:angmom"); +compute_angmom_chunk.cpp: memory->create(angmomall,maxchunk,3,"angmom/chunk:angmomall"); +compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- +compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ +compute_bond.cpp:/* ---------------------------------------------------------------------- +compute_bond.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_bond.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_bond.cpp:------------------------------------------------------------------------- */ +compute_bond.cpp:/* ---------------------------------------------------------------------- */ +compute_bond.cpp: // check if bond style hybrid exists +compute_bond.cpp:/* ---------------------------------------------------------------------- */ +compute_bond.cpp:/* ---------------------------------------------------------------------- */ +compute_bond.cpp: // recheck bond style in case it has been changed +compute_bond.cpp:/* ---------------------------------------------------------------------- */ +compute_bond_local.cpp:/* ---------------------------------------------------------------------- +compute_bond_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_bond_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_bond_local.cpp:------------------------------------------------------------------------- */ +compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ +compute_bond_local.cpp: if (narg < 4) error->all(FLERR,"Illegal compute bond/local command"); +compute_bond_local.cpp: error->all(FLERR,"Compute bond/local used when bonds are not allowed"); +compute_bond_local.cpp: else error->all(FLERR,"Invalid keyword in compute bond/local command"); +compute_bond_local.cpp: // set singleflag if need to call bond->single() +compute_bond_local.cpp: // set velflag if compute any quantities based on velocities +compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ +compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ +compute_bond_local.cpp: error->all(FLERR,"No bond style is defined for compute bond/local"); +compute_bond_local.cpp: // set ghostvelflag if need to acquire ghost atom velocities +compute_bond_local.cpp: // do initial memory allocation so that memory_usage() is correct +compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ +compute_bond_local.cpp: // count local entries and compute bond info +compute_bond_local.cpp:/* ---------------------------------------------------------------------- +compute_bond_local.cpp:------------------------------------------------------------------------- */ +compute_bond_local.cpp: // communicate ghost velocities if needed +compute_bond_local.cpp: // loop over all atoms and their bonds +compute_bond_local.cpp: invmasstotal = 1.0 / (masstotal); +compute_bond_local.cpp: // r12 = unit bond vector from atom1 to atom2 +compute_bond_local.cpp: // delr = vector from COM to each atom +compute_bond_local.cpp: // delv = velocity of each atom relative to COM +compute_bond_local.cpp: // vpar = component of delv parallel to bond vector +compute_bond_local.cpp: // vvib = relative velocity of 2 atoms along bond direction +compute_bond_local.cpp: // vvib < 0 for 2 atoms moving towards each other +compute_bond_local.cpp: // vvib > 0 for 2 atoms moving apart +compute_bond_local.cpp: // vrotsq = tangential speed squared of atom1 only +compute_bond_local.cpp: // omegasq = omega squared, and is the same for atom1 and atom2 +compute_bond_local.cpp: omegasq = vrotsq / MathExtra::lensq3(delr1); +compute_bond_local.cpp: // sanity check: engtotal = engtrans + engvib + engrot +compute_bond_local.cpp: //engtot = 0.5 * (mass1*MathExtra::lensq3(v[atom1]) + +compute_bond_local.cpp: // mass2*MathExtra::lensq3(v[atom2])); +compute_bond_local.cpp: //if (fabs(engtot-engtrans-engvib-engrot) > EPSILON) +compute_bond_local.cpp: // error->one(FLERR,"Sanity check on 3 energy components failed"); +compute_bond_local.cpp: // scale energies by units +compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ +compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ +compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ +compute_bond_local.cpp: // grow vector_local or array_local +compute_bond_local.cpp: memory->create(vlocal,nmax,"bond/local:vector_local"); +compute_bond_local.cpp: memory->create(alocal,nmax,nvalues,"bond/local:array_local"); +compute_bond_local.cpp:/* ---------------------------------------------------------------------- +compute_bond_local.cpp:------------------------------------------------------------------------- */ +compute_centro_atom.cpp:/* ---------------------------------------------------------------------- +compute_centro_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_centro_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_centro_atom.cpp:------------------------------------------------------------------------- */ +compute_centro_atom.cpp:/* ---------------------------------------------------------------------- +compute_centro_atom.cpp:------------------------------------------------------------------------- */ +compute_centro_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_centro_atom.cpp: if (narg < 4 || narg > 6) error->all(FLERR,"Illegal compute centro/atom command"); +compute_centro_atom.cpp: // default values +compute_centro_atom.cpp: // optional keywords +compute_centro_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute centro/atom command3"); +compute_centro_atom.cpp: else error->all(FLERR,"Illegal compute centro/atom command2"); +compute_centro_atom.cpp: } else error->all(FLERR,"Illegal compute centro/atom command1"); +compute_centro_atom.cpp: error->all(FLERR,"Illegal neighbor value for compute centro/atom command"); +compute_centro_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_centro_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_centro_atom.cpp: error->all(FLERR,"Compute centro/atom requires a pair style be defined"); +compute_centro_atom.cpp: if (strcmp(modify->compute[i]->style,"centro/atom") == 0) count++; +compute_centro_atom.cpp: error->warning(FLERR,"More than one compute centro/atom"); +compute_centro_atom.cpp: // need an occasional full neighbor list +compute_centro_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_centro_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_centro_atom.cpp: // grow centro array if necessary +compute_centro_atom.cpp: // grow array_atom array if axes_flag set +compute_centro_atom.cpp: memory->create(centro,nmax,"centro/atom:centro"); +compute_centro_atom.cpp: memory->create(centro,nmax,"centro/atom:centro"); +compute_centro_atom.cpp: memory->create(array_atom,nmax,size_peratom_cols,"centro/atom:array_atom"); +compute_centro_atom.cpp: // invoke full neighbor list (will copy or build if necessary) +compute_centro_atom.cpp: // npairs = number of unique pairs +compute_centro_atom.cpp: int nhalf = nnn/2; +compute_centro_atom.cpp: int npairs = nnn * (nnn-1) / 2; +compute_centro_atom.cpp: // compute centro-symmetry parameter for each atom in group +compute_centro_atom.cpp: // use full neighbor list +compute_centro_atom.cpp: // insure distsq and nearest arrays are long enough +compute_centro_atom.cpp: memory->create(distsq,maxneigh,"centro/atom:distsq"); +compute_centro_atom.cpp: memory->create(nearest,maxneigh,"centro/atom:nearest"); +compute_centro_atom.cpp: // loop over list of all neighbors within force cutoff +compute_centro_atom.cpp: // distsq[] = distance sq to each +compute_centro_atom.cpp: // nearest[] = atom indices of neighbors +compute_centro_atom.cpp: // check whether to include local crystal symmetry axes +compute_centro_atom.cpp: // if not nnn neighbors, centro = 0.0 +compute_centro_atom.cpp: // store nnn nearest neighs in 1st nnn locations of distsq and nearest +compute_centro_atom.cpp: // R = Ri + Rj for each of npairs i,j pairs among nnn neighbors +compute_centro_atom.cpp: // pairs = squared length of each R +compute_centro_atom.cpp: // calculate local crystal symmetry axes +compute_centro_atom.cpp: // rsq1, rsq2 are two smallest values of R^2 +compute_centro_atom.cpp: // R1, R2 are corresponding vectors Ri - Rj +compute_centro_atom.cpp: // R3 is normal to R1, R2 +compute_centro_atom.cpp: // store nnn nearest neighs in 1st nnn locations of distsq and nearest +compute_centro_atom.cpp: // store nhalf smallest pair distances in 1st nhalf locations of pairs +compute_centro_atom.cpp: // centrosymmetry = sum of nhalf smallest squared values +compute_centro_atom.cpp:/* ---------------------------------------------------------------------- +compute_centro_atom.cpp:------------------------------------------------------------------------- */ +compute_centro_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_centro_atom.cpp:/* ---------------------------------------------------------------------- +compute_centro_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_chunk_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp:// NOTE: allow for bin center to be variables for sphere/cylinder +compute_chunk_atom.cpp:enum{ONCE,NFREQ,EVERY}; // used in several files +compute_chunk_atom.cpp:// allocate space for static class variable +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_chunk_atom.cpp: if (narg < 4) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: // chunk style and its args +compute_chunk_atom.cpp: if (strcmp(arg[3],"bin/1d") == 0) { +compute_chunk_atom.cpp: } else if (strcmp(arg[3],"bin/2d") == 0) { +compute_chunk_atom.cpp: } else if (strcmp(arg[3],"bin/3d") == 0) { +compute_chunk_atom.cpp: } else if (strcmp(arg[3],"bin/sphere") == 0) { +compute_chunk_atom.cpp: if (iarg+6 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: } else if (strcmp(arg[3],"bin/cylinder") == 0) { +compute_chunk_atom.cpp: if (iarg+5 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: } else error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: // optional args +compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: error->all(FLERR,"Region ID for compute chunk/atom does not exist"); +compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: if (limit < 0) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: } else error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: // set nchunkflag and discard to default values if not explicitly set +compute_chunk_atom.cpp: // for binning style, also check in init() if simulation box is static, +compute_chunk_atom.cpp: // which sets nchunkflag = ONCE +compute_chunk_atom.cpp: // error checks +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom molecule for non-molecular system"); +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom without bins " +compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom sphere z origin must be 0.0 for 2d"); +compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom cylinder axis must be z for 2d"); +compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: error->all(FLERR,"Compute ID for compute chunk /atom does not exist"); +compute_chunk_atom.cpp: "Compute chunk/atom compute does not calculate " +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom compute does not " +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom compute does not " +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom compute array is " +compute_chunk_atom.cpp: error->all(FLERR,"Fix ID for compute chunk/atom does not exist"); +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom fix does not calculate " +compute_chunk_atom.cpp: "Compute chunk/atom fix does not calculate a per-atom vector"); +compute_chunk_atom.cpp: "Compute chunk/atom fix does not calculate a per-atom array"); +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom fix array is accessed out-of-range"); +compute_chunk_atom.cpp: error->all(FLERR,"Variable name for compute chunk/atom does not exist"); +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom variable is not " +compute_chunk_atom.cpp: // setup scaling +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom for triclinic boxes " +compute_chunk_atom.cpp: // apply scaling factors and cylinder dims orthogonal to axis +compute_chunk_atom.cpp: invdelta[idim] = 1.0/delta[idim]; +compute_chunk_atom.cpp: sradmin_user *= xscale; // radii are scaled by xscale +compute_chunk_atom.cpp: cradmin_user *= yscale; // radii are scaled by first non-axis dim +compute_chunk_atom.cpp: // initialize chunk vector and per-chunk info +compute_chunk_atom.cpp: // computeflag = 1 if this compute might invoke another compute +compute_chunk_atom.cpp: // during assign_chunk_ids() +compute_chunk_atom.cpp: // other initializations +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // check nfix in case all fixes have already been deleted +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // set and check validity of region +compute_chunk_atom.cpp: error->all(FLERR,"Region ID for compute chunk/atom does not exist"); +compute_chunk_atom.cpp: // set compute,fix,variable +compute_chunk_atom.cpp: error->all(FLERR,"Compute ID for compute chunk/atom does not exist"); +compute_chunk_atom.cpp: error->all(FLERR,"Fix ID for compute chunk/atom does not exist"); +compute_chunk_atom.cpp: error->all(FLERR,"Variable name for compute chunk/atom does not exist"); +compute_chunk_atom.cpp: // for style MOLECULE, check that no mol IDs exceed MAXSMALLINT +compute_chunk_atom.cpp: // don't worry about group or optional region +compute_chunk_atom.cpp: error->all(FLERR,"Molecule IDs too large for compute chunk/atom"); +compute_chunk_atom.cpp: // for binning, if nchunkflag not already set, set it to ONCE or EVERY +compute_chunk_atom.cpp: // depends on whether simulation box size is static or dynamic +compute_chunk_atom.cpp: // reset invoked_setup if this is not first run and box just became static +compute_chunk_atom.cpp: // require nchunkflag = ONCE if idsflag = ONCE +compute_chunk_atom.cpp: // b/c nchunk cannot change if chunk IDs are frozen +compute_chunk_atom.cpp: // can't check until now since nchunkflag may have been adjusted in init() +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom ids once but nchunk is not once"); +compute_chunk_atom.cpp: // create/destroy fix STORE for persistent chunk IDs as needed +compute_chunk_atom.cpp: // need to do this if idsflag = ONCE or locks will be used by other commands +compute_chunk_atom.cpp: // need to wait until init() so that fix command(s) are in place +compute_chunk_atom.cpp: // they increment lockcount if they lock this compute +compute_chunk_atom.cpp: // fixstore ID = compute-ID + COMPUTE_STORE, fix group = compute group +compute_chunk_atom.cpp: // fixstore initializes all values to 0.0 +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp: invoke setup_chunks and/or compute_ichunk if only done ONCE +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // grow floating point chunk vector if necessary +compute_chunk_atom.cpp: memory->create(chunk,nmax,"chunk/atom:chunk"); +compute_chunk_atom.cpp: // copy integer indices into floating-point chunk vector +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: "same compute chunk/atom command in incompatible ways"); +compute_chunk_atom.cpp: // set lock to last calling Fix, since it will be last to unlock() +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // skip if already done on this step +compute_chunk_atom.cpp: // if old IDs persist via storage in fixstore, then just retrieve them +compute_chunk_atom.cpp: // yes if idsflag = ONCE, and already done once +compute_chunk_atom.cpp: // or if idsflag = NFREQ and lock is in place and are on later timestep +compute_chunk_atom.cpp: // else proceed to recalculate per-atom chunk assignments +compute_chunk_atom.cpp: // assign chunk IDs to atoms +compute_chunk_atom.cpp: // will exclude atoms not in group or in optional region +compute_chunk_atom.cpp: // already invoked if this is same timestep as last setup_chunks() +compute_chunk_atom.cpp: // compress chunk IDs via hash of the original uncompressed IDs +compute_chunk_atom.cpp: // also apply discard rule except for binning styles which already did +compute_chunk_atom.cpp: // else if no compression apply discard rule by itself +compute_chunk_atom.cpp: // set ichunk = 0 for excluded atoms +compute_chunk_atom.cpp: // this should set any ichunk values which have not yet been set +compute_chunk_atom.cpp: // if newly calculated IDs need to persist, store them in fixstore +compute_chunk_atom.cpp: // yes if idsflag = ONCE or idsflag = NFREQ and lock is in place +compute_chunk_atom.cpp: // one-time check if which = MOLECULE and +compute_chunk_atom.cpp: // any chunks do not contain all atoms in the molecule +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // check if setup needs to be done +compute_chunk_atom.cpp: // no if lock is in place +compute_chunk_atom.cpp: // no if nchunkflag = ONCE, and already done once +compute_chunk_atom.cpp: // otherwise yes +compute_chunk_atom.cpp: // even if no, check if need to re-compute bin volumes +compute_chunk_atom.cpp: // so that fix ave/chunk can do proper density normalization +compute_chunk_atom.cpp: // assign chunk IDs to atoms +compute_chunk_atom.cpp: // will exclude atoms not in group or in optional region +compute_chunk_atom.cpp: // for binning styles, need to setup bins and their volume first +compute_chunk_atom.cpp: // else chunk_volume_scalar = entire box volume +compute_chunk_atom.cpp: // IDs are needed to scan for max ID and for compress() +compute_chunk_atom.cpp: // set nchunk for chunk styles other than binning +compute_chunk_atom.cpp: // for styles other than TYPE, scan for max ID +compute_chunk_atom.cpp: // apply limit setting as well as compression of chunks with no atoms +compute_chunk_atom.cpp: // if limit is set, there are 3 cases: +compute_chunk_atom.cpp: // no compression, limit specified before compression, or vice versa +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp: also set exclude vector to 0/1 for all atoms +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // grow integer chunk index vector if necessary +compute_chunk_atom.cpp: memory->create(ichunk,nmaxint,"chunk/atom:ichunk"); +compute_chunk_atom.cpp: memory->create(exclude,nmaxint,"chunk/atom:exclude"); +compute_chunk_atom.cpp: // update region if necessary +compute_chunk_atom.cpp: // exclude = 1 if atom is not assigned to a chunk +compute_chunk_atom.cpp: // exclude atoms not in group or not in optional region +compute_chunk_atom.cpp: // set ichunk to style value for included atoms +compute_chunk_atom.cpp: // binning styles apply discard rule, others do not yet +compute_chunk_atom.cpp: error->all(FLERR,"Fix used in compute chunk/atom not " +compute_chunk_atom.cpp: memory->create(varatom,maxvar,"chunk/atom:varatom"); +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // put my IDs into hash +compute_chunk_atom.cpp: // n = # of my populated IDs +compute_chunk_atom.cpp: // nall = n summed across all procs +compute_chunk_atom.cpp: // create my list of populated IDs +compute_chunk_atom.cpp: memory->create(list,n,"chunk/atom:list"); +compute_chunk_atom.cpp: // if nall < 1M, just allgather all ID lists on every proc +compute_chunk_atom.cpp: // else perform ring comm +compute_chunk_atom.cpp: // add IDs from all procs to my hash +compute_chunk_atom.cpp: // setup for allgatherv +compute_chunk_atom.cpp: memory->create(recvcounts,nprocs,"chunk/atom:recvcounts"); +compute_chunk_atom.cpp: memory->create(displs,nprocs,"chunk/atom:displs"); +compute_chunk_atom.cpp: memory->create(listall,nall,"chunk/atom:listall"); +compute_chunk_atom.cpp: // allgatherv acquires list of populated IDs from all procs +compute_chunk_atom.cpp: // add all unique IDs in listall to my hash +compute_chunk_atom.cpp: // clean up +compute_chunk_atom.cpp: // nchunk = length of hash containing populated IDs from all procs +compute_chunk_atom.cpp: // reset hash value of each original chunk ID to ordered index +compute_chunk_atom.cpp: // ordered index = new compressed chunk ID (1 to Nchunk) +compute_chunk_atom.cpp: // leverages fact that map stores keys in ascending order +compute_chunk_atom.cpp: // also allocate and set chunkID = list of original chunk IDs +compute_chunk_atom.cpp: // used by fix ave/chunk and compute property/chunk +compute_chunk_atom.cpp: memory->create(chunkID,nchunk,"chunk/atom:chunkID"); +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // lo = bin boundary immediately below boxlo or minvalue +compute_chunk_atom.cpp: // hi = bin boundary immediately above boxhi or maxvalue +compute_chunk_atom.cpp: // allocate and initialize arrays based on new bin count +compute_chunk_atom.cpp: if (lo > hi) error->all(FLERR,"Invalid bin bounds in compute chunk/atom"); +compute_chunk_atom.cpp: // allocate and set bin coordinates +compute_chunk_atom.cpp: memory->create(coord,nbins,ndim,"chunk/atom:coord"); +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // convert sorigin_user to sorigin +compute_chunk_atom.cpp: // sorigin,srad are always in box units, for orthogonal or triclinic domains +compute_chunk_atom.cpp: // lamda2x works for either orthogonal or triclinic +compute_chunk_atom.cpp: // if pbcflag set, sradmax must be < 1/2 box in any periodic dim +compute_chunk_atom.cpp: // treat orthogonal and triclinic the same +compute_chunk_atom.cpp: // check every time bins are created +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom bin/sphere radius " +compute_chunk_atom.cpp: sinvrad = nsbin / (sradmax-sradmin); +compute_chunk_atom.cpp: // allocate and set bin coordinates +compute_chunk_atom.cpp: // coord = midpt of radii for a spherical shell +compute_chunk_atom.cpp: memory->create(coord,nsbin,1,"chunk/atom:coord"); +compute_chunk_atom.cpp: rlo = sradmin + i * (sradmax-sradmin) / nsbin; +compute_chunk_atom.cpp: rhi = sradmin + (i+1) * (sradmax-sradmin) / nsbin; +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // setup bins along cylinder axis +compute_chunk_atom.cpp: // ncplane = # of axis bins +compute_chunk_atom.cpp: // convert corigin_user to corigin +compute_chunk_atom.cpp: // corigin is always in box units, for orthogonal or triclinic domains +compute_chunk_atom.cpp: // lamda2x works for either orthogonal or triclinic +compute_chunk_atom.cpp: // if pbcflag set, sradmax must be < 1/2 box in any periodic non-axis dim +compute_chunk_atom.cpp: // treat orthogonal and triclinic the same +compute_chunk_atom.cpp: // check every time bins are created +compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom bin/cylinder radius " +compute_chunk_atom.cpp: cinvrad = ncbin / (cradmax-cradmin); +compute_chunk_atom.cpp: // allocate and set radial bin coordinates +compute_chunk_atom.cpp: // radial coord = midpt of radii for a cylindrical shell +compute_chunk_atom.cpp: // axiscoord = saved bin coords along cylndrical axis +compute_chunk_atom.cpp: // radcoord = saved bin coords in radial direction +compute_chunk_atom.cpp: memory->create(coord,ncbin,1,"chunk/atom:coord"); +compute_chunk_atom.cpp: rlo = cradmin + i * (cradmax-cradmin) / ncbin; +compute_chunk_atom.cpp: rhi = cradmin + (i+1) * (cradmax-cradmin) / ncbin; +compute_chunk_atom.cpp: // create array of combined coords for all bins +compute_chunk_atom.cpp: memory->create(coord,ncbin*ncplane,2,"chunk/atom:coord"); +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: chunk_volume_scalar *= delta[m]/prd[dim[m]]; +compute_chunk_atom.cpp: memory->create(chunk_volume_vec,nchunk,"chunk/atom:chunk_volume_vec"); +compute_chunk_atom.cpp: rlo = sradmin + i * (sradmax-sradmin) / nsbin; +compute_chunk_atom.cpp: rhi = sradmin + (i+1) * (sradmax-sradmin) / nsbin; +compute_chunk_atom.cpp: vollo = 4.0/3.0 * MY_PI * rlo*rlo*rlo; +compute_chunk_atom.cpp: volhi = 4.0/3.0 * MY_PI * rhi*rhi*rhi; +compute_chunk_atom.cpp: memory->create(chunk_volume_vec,nchunk,"chunk/atom:chunk_volume_vec"); +compute_chunk_atom.cpp: // slabthick = delta of bins along cylinder axis +compute_chunk_atom.cpp: double slabthick = domain->prd[dim[0]] * delta[0]/prd[dim[0]]; +compute_chunk_atom.cpp: // area lo/hi of concentric circles in radial direction +compute_chunk_atom.cpp: iradbin = i / ncplane; +compute_chunk_atom.cpp: rlo = cradmin + iradbin * (cradmax-cradmin) / ncbin; +compute_chunk_atom.cpp: rhi = cradmin + (iradbin+1) * (cradmax-cradmin) / ncbin; +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // remap each atom's relevant coord back into box via PBC if necessary +compute_chunk_atom.cpp: // if scaleflag = REDUCED, box coords -> lamda coords +compute_chunk_atom.cpp: // apply discard rule +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // remap each atom's relevant coord back into box via PBC if necessary +compute_chunk_atom.cpp: // if scaleflag = REDUCED, box coords -> lamda coords +compute_chunk_atom.cpp: // apply discard rule +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // remap each atom's relevant coord back into box via PBC if necessary +compute_chunk_atom.cpp: // if scaleflag = REDUCED, box coords -> lamda coords +compute_chunk_atom.cpp: // apply discard rule +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // remap each atom's relevant coords back into box via PBC if necessary +compute_chunk_atom.cpp: // apply discard rule based on rmin and rmax +compute_chunk_atom.cpp: // if requested, apply PBC to distance from sphere center +compute_chunk_atom.cpp: // treat orthogonal and triclinic the same +compute_chunk_atom.cpp: // with dx,dy,dz = lengths independent of each other +compute_chunk_atom.cpp: // so do not use domain->minimum_image() which couples for triclinic +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: // first use atom2bin1d() to bin all atoms along cylinder axis +compute_chunk_atom.cpp: // now bin in radial direction +compute_chunk_atom.cpp: // kbin = bin along cylinder axis +compute_chunk_atom.cpp: // rbin = bin in radial direction +compute_chunk_atom.cpp: // remap each atom's relevant coords back into box via PBC if necessary +compute_chunk_atom.cpp: // apply discard rule based on rmin and rmax +compute_chunk_atom.cpp: // if requested, apply PBC to distance from cylinder axis +compute_chunk_atom.cpp: // treat orthogonal and triclinic the same +compute_chunk_atom.cpp: // with d1,d2 = lengths independent of each other +compute_chunk_atom.cpp: // combine axis and radial bin indices to set ichunk +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: if (narg < iarg+3) error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); +compute_chunk_atom.cpp: error->all(FLERR,"Cannot use compute chunk/atom bin z for 2d model"); +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- +compute_chunk_atom.cpp:------------------------------------------------------------------------- */ +compute_chunk_atom.cpp: double bytes = 2*MAX(nmaxint,0) * sizeof(int); // ichunk,exclude +compute_chunk_atom.cpp: bytes += nmax * sizeof(double); // chunk +compute_chunk_atom.cpp: bytes += ncoord*nchunk * sizeof(double); // coord +compute_chunk_atom.cpp: if (compress) bytes += nchunk * sizeof(int); // chunkID +compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- +compute_cluster_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_cluster_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_cluster_atom.cpp:------------------------------------------------------------------------- */ +compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_cluster_atom.cpp: if (narg != 4) error->all(FLERR,"Illegal compute cluster/atom command"); +compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_cluster_atom.cpp: error->all(FLERR,"Cannot use compute cluster/atom unless atoms have IDs"); +compute_cluster_atom.cpp: error->all(FLERR,"Compute cluster/atom requires a pair style be defined"); +compute_cluster_atom.cpp: "Compute cluster/atom cutoff is longer than pairwise cutoff"); +compute_cluster_atom.cpp: // need an occasional full neighbor list +compute_cluster_atom.cpp: // full required so that pair of atoms on 2 procs both set their clusterID +compute_cluster_atom.cpp: if (strcmp(modify->compute[i]->style,"cluster/atom") == 0) count++; +compute_cluster_atom.cpp: error->warning(FLERR,"More than one compute cluster/atom"); +compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_cluster_atom.cpp: // grow clusterID array if necessary +compute_cluster_atom.cpp: memory->create(clusterID,nmax,"cluster/atom:clusterID"); +compute_cluster_atom.cpp: // invoke full neighbor list (will copy or build if necessary) +compute_cluster_atom.cpp: // if group is dynamic, insure ghost atom masks are current +compute_cluster_atom.cpp: // every atom starts in its own cluster, with clusterID = atomID +compute_cluster_atom.cpp: // loop until no more changes on any proc: +compute_cluster_atom.cpp: // acquire clusterIDs of ghost atoms +compute_cluster_atom.cpp: // loop over my atoms, checking distance to neighbors +compute_cluster_atom.cpp: // if both atoms are in cluster, assign lowest clusterID to both +compute_cluster_atom.cpp: // iterate until no changes in my atoms +compute_cluster_atom.cpp: // then check if any proc made changes +compute_cluster_atom.cpp: // stop if all procs are done +compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- +compute_cluster_atom.cpp:------------------------------------------------------------------------- */ +compute_cna_atom.cpp:/* ---------------------------------------------------------------------- +compute_cna_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_cna_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_cna_atom.cpp:------------------------------------------------------------------------- */ +compute_cna_atom.cpp:/* ---------------------------------------------------------------------- +compute_cna_atom.cpp:------------------------------------------------------------------------- */ +compute_cna_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_cna_atom.cpp: if (narg != 4) error->all(FLERR,"Illegal compute cna/atom command"); +compute_cna_atom.cpp: if (cutoff < 0.0) error->all(FLERR,"Illegal compute cna/atom command"); +compute_cna_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_cna_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_cna_atom.cpp: error->all(FLERR,"Compute cna/atom requires a pair style be defined"); +compute_cna_atom.cpp: error->all(FLERR,"Compute cna/atom cutoff is longer than pairwise cutoff"); +compute_cna_atom.cpp: // cannot use neighbor->cutneighmax b/c neighbor has not yet been init +compute_cna_atom.cpp: error->warning(FLERR,"Compute cna/atom cutoff may be too large to find " +compute_cna_atom.cpp: if (strcmp(modify->compute[i]->style,"cna/atom") == 0) count++; +compute_cna_atom.cpp: error->warning(FLERR,"More than one compute cna/atom defined"); +compute_cna_atom.cpp: // need an occasional full neighbor list +compute_cna_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_cna_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_cna_atom.cpp: // grow arrays if necessary +compute_cna_atom.cpp: // invoke full neighbor list (will copy or build if necessary) +compute_cna_atom.cpp: // find the neigbours of each atom within cutoff using full neighbor list +compute_cna_atom.cpp: // nearest[] = atom indices of nearest neighbors, up to MAXNEAR +compute_cna_atom.cpp: // do this for all atoms, not just compute group +compute_cna_atom.cpp: // since CNA calculation requires neighbors of neighbors +compute_cna_atom.cpp: // warning message +compute_cna_atom.cpp: // compute CNA for each atom in group +compute_cna_atom.cpp: // only performed if # of nearest neighbors = 12 or 14 (fcc,hcp) +compute_cna_atom.cpp: // loop over near neighbors of I to build cna data structure +compute_cna_atom.cpp: // cna[k][NCOMMON] = # of common neighbors of I with each of its neighs +compute_cna_atom.cpp: // cna[k][NBONDS] = # of bonds between those common neighbors +compute_cna_atom.cpp: // cna[k][MAXBOND] = max # of bonds of any common neighbor +compute_cna_atom.cpp: // cna[k][MINBOND] = min # of bonds of any common neighbor +compute_cna_atom.cpp: // common = list of neighbors common to atom I and atom J +compute_cna_atom.cpp: // if J is an owned atom, use its near neighbor list to find them +compute_cna_atom.cpp: // if J is a ghost atom, use full neighbor list of I to find them +compute_cna_atom.cpp: // in latter case, must exclude J from I's neighbor list +compute_cna_atom.cpp: // calculate total # of bonds between common neighbor atoms +compute_cna_atom.cpp: // also max and min # of common atoms any common atom is bonded to +compute_cna_atom.cpp: // bond = pair of atoms within cutoff +compute_cna_atom.cpp: // detect CNA pattern of the atom +compute_cna_atom.cpp: // warning message +compute_cna_atom.cpp:/* ---------------------------------------------------------------------- +compute_cna_atom.cpp:------------------------------------------------------------------------- */ +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- +compute_com_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_com_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_com_chunk.cpp:------------------------------------------------------------------------- */ +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_com_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute com/chunk command"); +compute_com_chunk.cpp: // ID of compute chunk/atom +compute_com_chunk.cpp: // chunk-based data +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_com_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for compute com/chunk"); +compute_com_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) +compute_com_chunk.cpp: error->all(FLERR,"Compute com/chunk does not use chunk/atom compute"); +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_com_chunk.cpp: // one-time calculation of per-chunk mass +compute_com_chunk.cpp: // done in setup, so that ComputeChunkAtom::setup() is already called +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_com_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_com_chunk.cpp: // extract ichunk index vector from compute +compute_com_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_com_chunk.cpp: // zero local per-chunk values +compute_com_chunk.cpp: // compute COM for each chunk +compute_com_chunk.cpp: comall[i][0] /= masstotal[i]; +compute_com_chunk.cpp: comall[i][1] /= masstotal[i]; +compute_com_chunk.cpp: comall[i][2] /= masstotal[i]; +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- +compute_com_chunk.cpp: lock methods: called by fix ave/time +compute_com_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch +compute_com_chunk.cpp: by passing lock info along to compute chunk/atom +compute_com_chunk.cpp:------------------------------------------------------------------------- */ +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- +compute_com_chunk.cpp:------------------------------------------------------------------------- */ +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- +compute_com_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists +compute_com_chunk.cpp:------------------------------------------------------------------------- */ +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- +compute_com_chunk.cpp: calculate and return # of chunks = length of vector/array +compute_com_chunk.cpp:------------------------------------------------------------------------- */ +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- +compute_com_chunk.cpp:------------------------------------------------------------------------- */ +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- +compute_com_chunk.cpp:------------------------------------------------------------------------- */ +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- +compute_com_chunk.cpp:------------------------------------------------------------------------- */ +compute_com_chunk.cpp: memory->create(massproc,maxchunk,"com/chunk:massproc"); +compute_com_chunk.cpp: memory->create(masstotal,maxchunk,"com/chunk:masstotal"); +compute_com_chunk.cpp: memory->create(com,maxchunk,3,"com/chunk:com"); +compute_com_chunk.cpp: memory->create(comall,maxchunk,3,"com/chunk:comall"); +compute_com_chunk.cpp:/* ---------------------------------------------------------------------- +compute_com_chunk.cpp:------------------------------------------------------------------------- */ +compute_com.cpp:/* ---------------------------------------------------------------------- +compute_com.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_com.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_com.cpp:------------------------------------------------------------------------- */ +compute_com.cpp:/* ---------------------------------------------------------------------- */ +compute_com.cpp:/* ---------------------------------------------------------------------- */ +compute_com.cpp:/* ---------------------------------------------------------------------- */ +compute_com.cpp:/* ---------------------------------------------------------------------- */ +compute_contact_atom.cpp:/* ---------------------------------------------------------------------- +compute_contact_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_contact_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_contact_atom.cpp:------------------------------------------------------------------------- */ +compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_contact_atom.cpp: if (narg != 3) error->all(FLERR,"Illegal compute contact/atom command"); +compute_contact_atom.cpp: // error checks +compute_contact_atom.cpp: error->all(FLERR,"Compute contact/atom requires atom style sphere"); +compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_contact_atom.cpp: error->all(FLERR,"Compute contact/atom requires a pair style be defined"); +compute_contact_atom.cpp: if (strcmp(modify->compute[i]->style,"contact/atom") == 0) count++; +compute_contact_atom.cpp: error->warning(FLERR,"More than one compute contact/atom"); +compute_contact_atom.cpp: // need an occasional neighbor list +compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_contact_atom.cpp: // grow contact array if necessary +compute_contact_atom.cpp: memory->create(contact,nmax,"contact/atom:contact"); +compute_contact_atom.cpp: // invoke neighbor list (will copy or build if necessary) +compute_contact_atom.cpp: // compute number of contacts for each atom in group +compute_contact_atom.cpp: // contact if distance <= sum of radii +compute_contact_atom.cpp: // tally for both I and J +compute_contact_atom.cpp: // communicate ghost atom counts between neighbor procs if necessary +compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_contact_atom.cpp:/* ---------------------------------------------------------------------- +compute_contact_atom.cpp:------------------------------------------------------------------------- */ +compute_coord_atom.cpp:/* ---------------------------------------------------------------------- +compute_coord_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_coord_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_coord_atom.cpp:------------------------------------------------------------------------- */ +compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_coord_atom.cpp: if (narg < 5) error->all(FLERR,"Illegal compute coord/atom command"); +compute_coord_atom.cpp: error->all(FLERR,"Illegal compute coord/atom command"); +compute_coord_atom.cpp: if (narg != 6) error->all(FLERR,"Illegal compute coord/atom command"); +compute_coord_atom.cpp: error->all(FLERR,"Could not find compute coord/atom compute ID"); +compute_coord_atom.cpp: if (strcmp(modify->compute[iorientorder]->style,"orientorder/atom") != 0) +compute_coord_atom.cpp: error->all(FLERR,"Compute coord/atom compute ID is not orientorder/atom"); +compute_coord_atom.cpp: error->all(FLERR,"Compute coord/atom threshold not between -1 and 1"); +compute_coord_atom.cpp: } else error->all(FLERR,"Invalid cstyle in compute coord/atom"); +compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_coord_atom.cpp: // communicate real and imaginary 2*l+1 components of the normalized vector +compute_coord_atom.cpp: error->all(FLERR,"Compute coord/atom requires components " +compute_coord_atom.cpp: "option in compute orientorder/atom"); +compute_coord_atom.cpp: error->all(FLERR,"Compute coord/atom requires a pair style be defined"); +compute_coord_atom.cpp: "Compute coord/atom cutoff is longer than pairwise cutoff"); +compute_coord_atom.cpp: // need an occasional full neighbor list +compute_coord_atom.cpp: if (strcmp(modify->compute[i]->style,"coord/atom") == 0) count++; +compute_coord_atom.cpp: error->warning(FLERR,"More than one compute coord/atom"); +compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_coord_atom.cpp: // grow coordination array if necessary +compute_coord_atom.cpp: memory->create(cvec,nmax,"coord/atom:cvec"); +compute_coord_atom.cpp: memory->create(carray,nmax,ncol,"coord/atom:carray"); +compute_coord_atom.cpp: // invoke full neighbor list (will copy or build if necessary) +compute_coord_atom.cpp: // compute coordination number(s) for each atom in group +compute_coord_atom.cpp: // use full neighbor list to count atoms less than cutoff +compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_coord_atom.cpp:/* ---------------------------------------------------------------------- +compute_coord_atom.cpp:------------------------------------------------------------------------- */ +compute.cpp:/* ---------------------------------------------------------------------- +compute.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute.cpp:------------------------------------------------------------------------- */ +compute.cpp:// allocate space for static class instance variable and initialize it +compute.cpp:/* ---------------------------------------------------------------------- */ +compute.cpp: // compute ID, group, and style +compute.cpp: // ID must be all alphanumeric chars or underscores +compute.cpp: // set child class defaults +compute.cpp: // set modify defaults +compute.cpp: // setup list of timesteps +compute.cpp: // data masks +compute.cpp:/* ---------------------------------------------------------------------- */ +compute.cpp:/* ---------------------------------------------------------------------- */ +compute.cpp: // added more specific keywords in Mar17 +compute.cpp: // at some point, remove generic extra and dynamic +compute.cpp: strcmp(arg[iarg],"extra/dof") == 0) { +compute.cpp: strcmp(arg[iarg],"dynamic/dof") == 0) { +compute.cpp:/* ---------------------------------------------------------------------- +compute.cpp:------------------------------------------------------------------------- */ +compute.cpp:/* ---------------------------------------------------------------------- +compute.cpp:------------------------------------------------------------------------- */ +compute.cpp:/* ---------------------------------------------------------------------- */ +compute.cpp:/* ---------------------------------------------------------------------- +compute.cpp:------------------------------------------------------------------------- */ +compute.cpp: // i = location in list to insert ntimestep +compute.cpp: // extend list as needed +compute.cpp: // move remainder of list upward and insert ntimestep +compute.cpp:/* ---------------------------------------------------------------------- +compute.cpp: return 1/0 if ntimestep is or is not in list of calling timesteps +compute.cpp:------------------------------------------------------------------------- */ +compute.cpp:/* ---------------------------------------------------------------------- +compute.cpp:------------------------------------------------------------------------- */ +compute_dihedral.cpp:/* ---------------------------------------------------------------------- +compute_dihedral.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_dihedral.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_dihedral.cpp:------------------------------------------------------------------------- */ +compute_dihedral.cpp:/* ---------------------------------------------------------------------- */ +compute_dihedral.cpp: // check if dihedral style hybrid exists +compute_dihedral.cpp:/* ---------------------------------------------------------------------- */ +compute_dihedral.cpp:/* ---------------------------------------------------------------------- */ +compute_dihedral.cpp: // recheck dihedral style in case it has been changed +compute_dihedral.cpp:/* ---------------------------------------------------------------------- */ +compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- +compute_dihedral_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_dihedral_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_dihedral_local.cpp:------------------------------------------------------------------------- */ +compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- */ +compute_dihedral_local.cpp: if (narg < 4) error->all(FLERR,"Illegal compute dihedral/local command"); +compute_dihedral_local.cpp: "Compute dihedral/local used when dihedrals are not allowed"); +compute_dihedral_local.cpp: else error->all(FLERR,"Invalid keyword in compute dihedral/local command"); +compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- */ +compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- */ +compute_dihedral_local.cpp: error->all(FLERR,"No dihedral style is defined for compute dihedral/local"); +compute_dihedral_local.cpp: // do initial memory allocation so that memory_usage() is correct +compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- */ +compute_dihedral_local.cpp: // count local entries and compute dihedral info +compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- +compute_dihedral_local.cpp:------------------------------------------------------------------------- */ +compute_dihedral_local.cpp: // phi calculation from dihedral style harmonic +compute_dihedral_local.cpp: if (rasq > 0) ra2inv = 1.0/rasq; +compute_dihedral_local.cpp: if (rbsq > 0) rb2inv = 1.0/rbsq; +compute_dihedral_local.cpp: pbuf[n] = 180.0*atan2(s,c)/MY_PI; +compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- */ +compute_dihedral_local.cpp: // grow vector_local or array_local +compute_dihedral_local.cpp: memory->create(vlocal,nmax,"dihedral/local:vector_local"); +compute_dihedral_local.cpp: memory->create(alocal,nmax,nvalues,"dihedral/local:array_local"); +compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- +compute_dihedral_local.cpp:------------------------------------------------------------------------- */ +compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- +compute_dipole_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_dipole_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ +compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_dipole_chunk.cpp: error->all(FLERR,"Illegal compute dipole/chunk command"); +compute_dipole_chunk.cpp: // ID of compute chunk/atom +compute_dipole_chunk.cpp: else error->all(FLERR,"Illegal compute dipole/chunk command"); +compute_dipole_chunk.cpp: // chunk-based data +compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_dipole_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " +compute_dipole_chunk.cpp: "compute dipole/chunk"); +compute_dipole_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) +compute_dipole_chunk.cpp: error->all(FLERR,"Compute dipole/chunk does not use chunk/atom compute"); +compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_dipole_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_dipole_chunk.cpp: // extract ichunk index vector from compute +compute_dipole_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_dipole_chunk.cpp: // zero local per-chunk values +compute_dipole_chunk.cpp: // compute COM for each chunk +compute_dipole_chunk.cpp: } else massone = 1.0; // usecenter == GEOMCENTER +compute_dipole_chunk.cpp: comall[i][0] /= masstotal[i]; +compute_dipole_chunk.cpp: comall[i][1] /= masstotal[i]; +compute_dipole_chunk.cpp: comall[i][2] /= masstotal[i]; +compute_dipole_chunk.cpp: // compute dipole for each chunk +compute_dipole_chunk.cpp: // correct for position dependence with charged chunks +compute_dipole_chunk.cpp: // compute total dipole moment +compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- +compute_dipole_chunk.cpp: lock methods: called by fix ave/time +compute_dipole_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch +compute_dipole_chunk.cpp: by passing lock info along to compute chunk/atom +compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ +compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- +compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ +compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- +compute_dipole_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists +compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ +compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- +compute_dipole_chunk.cpp: calculate and return # of chunks = length of vector/array +compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ +compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- +compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ +compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- +compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ +compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- +compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ +compute_dipole_chunk.cpp: memory->create(massproc,maxchunk,"dipole/chunk:massproc"); +compute_dipole_chunk.cpp: memory->create(masstotal,maxchunk,"dipole/chunk:masstotal"); +compute_dipole_chunk.cpp: memory->create(chrgproc,maxchunk,"dipole/chunk:chrgproc"); +compute_dipole_chunk.cpp: memory->create(chrgtotal,maxchunk,"dipole/chunk:chrgtotal"); +compute_dipole_chunk.cpp: memory->create(com,maxchunk,3,"dipole/chunk:com"); +compute_dipole_chunk.cpp: memory->create(comall,maxchunk,3,"dipole/chunk:comall"); +compute_dipole_chunk.cpp: memory->create(dipole,maxchunk,4,"dipole/chunk:dipole"); +compute_dipole_chunk.cpp: memory->create(dipoleall,maxchunk,4,"dipole/chunk:dipoleall"); +compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- +compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ +compute_displace_atom.cpp:/* ---------------------------------------------------------------------- +compute_displace_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_displace_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_displace_atom.cpp:------------------------------------------------------------------------- */ +compute_displace_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_displace_atom.cpp: if (narg != 3) error->all(FLERR,"Illegal compute displace/atom command"); +compute_displace_atom.cpp: // create a new fix STORE style +compute_displace_atom.cpp: // id = compute-ID + COMPUTE_STORE, fix group = compute group +compute_displace_atom.cpp: // calculate xu,yu,zu for fix store array +compute_displace_atom.cpp: // skip if reset from restart file +compute_displace_atom.cpp: // per-atom displacement array +compute_displace_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_displace_atom.cpp: // check nfix in case all fixes have already been deleted +compute_displace_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_displace_atom.cpp: // set fix which stores original atom coords +compute_displace_atom.cpp: if (ifix < 0) error->all(FLERR,"Could not find compute displace/atom fix ID"); +compute_displace_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_displace_atom.cpp: // grow local displacement array if necessary +compute_displace_atom.cpp: memory->create(displace,nmax,4,"displace/atom:displace"); +compute_displace_atom.cpp: // dx,dy,dz = displacement of atom from original position +compute_displace_atom.cpp: // original unwrapped position is stored by fix +compute_displace_atom.cpp: // for triclinic, need to unwrap current atom coord via h matrix +compute_displace_atom.cpp:/* ---------------------------------------------------------------------- +compute_displace_atom.cpp:------------------------------------------------------------------------- */ +compute_displace_atom.cpp:/* ---------------------------------------------------------------------- +compute_displace_atom.cpp:------------------------------------------------------------------------- */ +compute_erotate_sphere_atom.cpp:/* ---------------------------------------------------------------------- +compute_erotate_sphere_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_erotate_sphere_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_erotate_sphere_atom.cpp:------------------------------------------------------------------------- */ +compute_erotate_sphere_atom.cpp:#define INERTIA 0.4 // moment of inertia prefactor for sphere +compute_erotate_sphere_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_erotate_sphere_atom.cpp: error->all(FLERR,"Illegal compute erotate/sphere//atom command"); +compute_erotate_sphere_atom.cpp: // error check +compute_erotate_sphere_atom.cpp: error->all(FLERR,"Compute erotate/sphere/atom requires atom style sphere"); +compute_erotate_sphere_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_erotate_sphere_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_erotate_sphere_atom.cpp: if (strcmp(modify->compute[i]->style,"erotate/sphere/atom") == 0) count++; +compute_erotate_sphere_atom.cpp: error->warning(FLERR,"More than one compute erotate/sphere/atom"); +compute_erotate_sphere_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_erotate_sphere_atom.cpp: // grow erot array if necessary +compute_erotate_sphere_atom.cpp: memory->create(erot,nmax,"erotate/sphere/atom:erot"); +compute_erotate_sphere_atom.cpp: // compute rotational kinetic energy for each atom in group +compute_erotate_sphere_atom.cpp: // point particles will have erot = 0.0, due to radius = 0.0 +compute_erotate_sphere_atom.cpp:/* ---------------------------------------------------------------------- +compute_erotate_sphere_atom.cpp:------------------------------------------------------------------------- */ +compute_erotate_sphere.cpp:/* ---------------------------------------------------------------------- +compute_erotate_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_erotate_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_erotate_sphere.cpp:------------------------------------------------------------------------- */ +compute_erotate_sphere.cpp:#define INERTIA 0.4 // moment of inertia prefactor for sphere +compute_erotate_sphere.cpp:/* ---------------------------------------------------------------------- */ +compute_erotate_sphere.cpp: if (narg != 3) error->all(FLERR,"Illegal compute erotate/sphere command"); +compute_erotate_sphere.cpp: // error check +compute_erotate_sphere.cpp: error->all(FLERR,"Compute erotate/sphere requires atom style sphere"); +compute_erotate_sphere.cpp:/* ---------------------------------------------------------------------- */ +compute_erotate_sphere.cpp:/* ---------------------------------------------------------------------- */ +compute_erotate_sphere.cpp: // sum rotational energy for each particle +compute_erotate_sphere.cpp: // point particles will not contribute, due to radius = 0.0 +compute_global_atom.cpp:/* ---------------------------------------------------------------------- +compute_global_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_global_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_global_atom.cpp:------------------------------------------------------------------------- */ +compute_global_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_global_atom.cpp: if (narg < 5) error->all(FLERR,"Illegal compute global/atom command"); +compute_global_atom.cpp: // process index arg +compute_global_atom.cpp: error->all(FLERR,"Illegal compute global/atom command"); +compute_global_atom.cpp: } else error->all(FLERR,"Illegal compute global/atom command"); +compute_global_atom.cpp: // expand args if any have wildcard character "*" +compute_global_atom.cpp: // parse values until one isn't recognized +compute_global_atom.cpp: error->all(FLERR,"Illegal compute global/atom command"); +compute_global_atom.cpp: } else error->all(FLERR,"Illegal compute global/atom command"); +compute_global_atom.cpp: // if wildcard expansion occurred, free earg memory from expand_args() +compute_global_atom.cpp: // setup and error check both index arg and values +compute_global_atom.cpp: error->all(FLERR,"Compute ID for compute global/atom does not exist"); +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom compute does not " +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom compute does not " +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom compute does not " +compute_global_atom.cpp: "Compute global/atom compute array is accessed out-of-range"); +compute_global_atom.cpp: error->all(FLERR,"Fix ID for compute global/atom does not exist"); +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom fix does not " +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom fix does not " +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom fix does not " +compute_global_atom.cpp: "Compute global/atom fix array is accessed out-of-range"); +compute_global_atom.cpp: error->all(FLERR,"Variable name for compute global/atom does not exist"); +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom variable is not " +compute_global_atom.cpp: error->all(FLERR,"Compute ID for compute global/atom does not exist"); +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom compute does not " +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom compute does not " +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom compute array is " +compute_global_atom.cpp: error->all(FLERR,"Fix ID for compute global/atom does not exist"); +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom fix does not " +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom fix does not " +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom fix array is " +compute_global_atom.cpp: error->all(FLERR,"Variable name for compute global/atom " +compute_global_atom.cpp: error->all(FLERR,"Compute global/atom variable is not " +compute_global_atom.cpp: // this compute produces either a peratom vector or array +compute_global_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_global_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_global_atom.cpp: // set indices of all computes,fixes,variables +compute_global_atom.cpp: error->all(FLERR,"Compute ID for compute global/atom does not exist"); +compute_global_atom.cpp: error->all(FLERR,"Fix ID for compute global/atom does not exist"); +compute_global_atom.cpp: error->all(FLERR,"Variable name for compute global/atom does not exist"); +compute_global_atom.cpp: error->all(FLERR,"Compute ID for compute global/atom does not exist"); +compute_global_atom.cpp: error->all(FLERR,"Fix ID for compute global/atom does not exist"); +compute_global_atom.cpp: error->all(FLERR,"Variable name for compute global/atom " +compute_global_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_global_atom.cpp: // grow indices and output vector or array if necessary +compute_global_atom.cpp: memory->create(indices,nmax,"global/atom:indices"); +compute_global_atom.cpp: memory->create(vector_atom,nmax,"global/atom:vector_atom"); +compute_global_atom.cpp: memory->create(array_atom,nmax,nvalues,"global/atom:array_atom"); +compute_global_atom.cpp: // setup current peratom indices +compute_global_atom.cpp: // integer indices are rounded down from double values +compute_global_atom.cpp: // indices are decremented from 1 to N -> 0 to N-1 +compute_global_atom.cpp: error->all(FLERR,"Fix used in compute global/atom not " +compute_global_atom.cpp: memory->create(varatom,nmax,"global/atom:varatom"); +compute_global_atom.cpp: // loop over values to fill output vector or array +compute_global_atom.cpp: // output = vector +compute_global_atom.cpp: error->all(FLERR,"Fix used in compute global/atom not " +compute_global_atom.cpp: memory->create(vecglobal,maxvector,"global/atom:vecglobal"); +compute_global_atom.cpp: // output = array +compute_global_atom.cpp: memory->create(vecglobal,maxvector,"global/atom:vecglobal"); +compute_global_atom.cpp: error->all(FLERR,"Fix used in compute global/atom not " +compute_global_atom.cpp: memory->create(vecglobal,maxvector,"global/atom:vecglobal"); +compute_global_atom.cpp:/* ---------------------------------------------------------------------- +compute_global_atom.cpp:------------------------------------------------------------------------- */ +compute_global_atom.cpp: bytes += nmax * sizeof(int); // indices +compute_global_atom.cpp: if (varatom) bytes += nmax * sizeof(double); // varatom +compute_global_atom.cpp: bytes += maxvector * sizeof(double); // vecglobal +compute_group_group.cpp:/* ---------------------------------------------------------------------- +compute_group_group.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_group_group.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_group_group.cpp:------------------------------------------------------------------------- */ +compute_group_group.cpp:/* ---------------------------------------------------------------------- +compute_group_group.cpp:------------------------------------------------------------------------- */ +compute_group_group.cpp:/* ---------------------------------------------------------------------- */ +compute_group_group.cpp: if (narg < 4) error->all(FLERR,"Illegal compute group/group command"); +compute_group_group.cpp: error->all(FLERR,"Compute group/group group ID does not exist"); +compute_group_group.cpp: error->all(FLERR,"Illegal compute group/group command"); +compute_group_group.cpp: else error->all(FLERR,"Illegal compute group/group command"); +compute_group_group.cpp: error->all(FLERR,"Illegal compute group/group command"); +compute_group_group.cpp: else error->all(FLERR,"Illegal compute group/group command"); +compute_group_group.cpp: error->all(FLERR,"Illegal compute group/group command"); +compute_group_group.cpp: else error->all(FLERR,"Illegal compute group/group command"); +compute_group_group.cpp: error->all(FLERR,"Illegal compute group/group command"); +compute_group_group.cpp: else error->all(FLERR,"Illegal compute group/group command"); +compute_group_group.cpp: error->all(FLERR,"Compute group/group molecule requires molecule IDs"); +compute_group_group.cpp: } else error->all(FLERR,"Illegal compute group/group command"); +compute_group_group.cpp:/* ---------------------------------------------------------------------- */ +compute_group_group.cpp:/* ---------------------------------------------------------------------- */ +compute_group_group.cpp: // if non-hybrid, then error if single_enable = 0 +compute_group_group.cpp: // if hybrid, let hybrid determine if sub-style sets single_enable = 0 +compute_group_group.cpp: error->all(FLERR,"No pair style defined for compute group/group"); +compute_group_group.cpp: error->all(FLERR,"Pair style does not support compute group/group"); +compute_group_group.cpp: // error if Kspace style does not compute group/group interactions +compute_group_group.cpp: error->all(FLERR,"No Kspace style defined for compute group/group"); +compute_group_group.cpp: error->all(FLERR,"Kspace style does not support compute group/group"); +compute_group_group.cpp: // compute Kspace correction terms +compute_group_group.cpp: sprintf(str,"Both groups in compute group/group have a net charge; " +compute_group_group.cpp: // recheck that group 2 has not been deleted +compute_group_group.cpp: error->all(FLERR,"Compute group/group group ID does not exist"); +compute_group_group.cpp: // need an occasional half neighbor list +compute_group_group.cpp:/* ---------------------------------------------------------------------- */ +compute_group_group.cpp:/* ---------------------------------------------------------------------- */ +compute_group_group.cpp:/* ---------------------------------------------------------------------- */ +compute_group_group.cpp:/* ---------------------------------------------------------------------- */ +compute_group_group.cpp: // invoke half neighbor list (will copy or build if necessary) +compute_group_group.cpp: // loop over neighbors of my atoms +compute_group_group.cpp: // skip if I,J are not in 2 groups +compute_group_group.cpp: // skip if atom I is not in either group +compute_group_group.cpp: // skip if atom J is not in either group +compute_group_group.cpp: // skip if atoms I,J are only in the same group +compute_group_group.cpp: // skip if molecule IDs of atoms I,J do not satisfy molflag setting +compute_group_group.cpp: // energy only computed once so tally full amount +compute_group_group.cpp: // force tally is jgroup acting on igroup +compute_group_group.cpp: // energy computed twice so tally half amount +compute_group_group.cpp: // only tally force if I own igroup atom +compute_group_group.cpp:/* ---------------------------------------------------------------------- */ +compute_group_group.cpp: // subtract extra A <--> A Kspace interaction so energy matches +compute_group_group.cpp: // real-space style of compute group-group +compute_group_group.cpp: // add extra Kspace term to energy +compute_group_group.cpp: // self energy correction term +compute_group_group.cpp: // k=0 boundary correction term +compute_group_group.cpp: // adjustment of z dimension for 2d slab Ewald +compute_group_group.cpp: // 3d Ewald just uses zprd since slab_volfactor = 1.0 +compute_group_group.cpp: scalar -= e_correction/volume; +compute_group_group.cpp:/* ---------------------------------------------------------------------- */ +compute_group_group.cpp: // total charge of groups A & B, needed for correction term +compute_group_group.cpp: // self-energy correction +compute_group_group.cpp: e_self = qscale * g_ewald*qsqsum_group/MY_PIS; +compute_group_group.cpp: // subtract extra AA terms +compute_group_group.cpp: // k=0 energy correction term (still need to divide by volume above) +compute_group_group.cpp: e_correction *= qscale * MY_PI2 / (g_ewald*g_ewald); +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- +compute_gyration_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_gyration_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_gyration_chunk.cpp: if (narg < 4) error->all(FLERR,"Illegal compute gyration/chunk command"); +compute_gyration_chunk.cpp: // ID of compute chunk/atom +compute_gyration_chunk.cpp: // optional args +compute_gyration_chunk.cpp: } else error->all(FLERR,"Illegal compute gyration/chunk command"); +compute_gyration_chunk.cpp: // chunk-based data +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_gyration_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " +compute_gyration_chunk.cpp: "compute gyration/chunk"); +compute_gyration_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) +compute_gyration_chunk.cpp: error->all(FLERR,"Compute gyration/chunk does not use chunk/atom compute"); +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_gyration_chunk.cpp: // compute Rg for each chunk +compute_gyration_chunk.cpp: rgall[i] = sqrt(rgall[i]/masstotal[i]); +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_gyration_chunk.cpp: rgtall[i][j] = rgtall[i][j]/masstotal[i]; +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- +compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ +compute_gyration_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_gyration_chunk.cpp: // extract ichunk index vector from compute +compute_gyration_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_gyration_chunk.cpp: // zero local per-chunk values +compute_gyration_chunk.cpp: // compute COM for each chunk +compute_gyration_chunk.cpp: comall[i][0] /= masstotal[i]; +compute_gyration_chunk.cpp: comall[i][1] /= masstotal[i]; +compute_gyration_chunk.cpp: comall[i][2] /= masstotal[i]; +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- +compute_gyration_chunk.cpp: lock methods: called by fix ave/time +compute_gyration_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch +compute_gyration_chunk.cpp: by passing lock info along to compute chunk/atom +compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- +compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- +compute_gyration_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists +compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- +compute_gyration_chunk.cpp: calculate and return # of chunks = length of vector/array +compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- +compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- +compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- +compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ +compute_gyration_chunk.cpp: memory->create(massproc,maxchunk,"gyration/chunk:massproc"); +compute_gyration_chunk.cpp: memory->create(masstotal,maxchunk,"gyration/chunk:masstotal"); +compute_gyration_chunk.cpp: memory->create(com,maxchunk,3,"gyration/chunk:com"); +compute_gyration_chunk.cpp: memory->create(comall,maxchunk,3,"gyration/chunk:comall"); +compute_gyration_chunk.cpp: memory->create(rgt,maxchunk,6,"gyration/chunk:rgt"); +compute_gyration_chunk.cpp: memory->create(rgtall,maxchunk,6,"gyration/chunk:rgtall"); +compute_gyration_chunk.cpp: memory->create(rg,maxchunk,"gyration/chunk:rg"); +compute_gyration_chunk.cpp: memory->create(rgall,maxchunk,"gyration/chunk:rgall"); +compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- +compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ +compute_gyration.cpp:/* ---------------------------------------------------------------------- +compute_gyration.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_gyration.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_gyration.cpp:------------------------------------------------------------------------- */ +compute_gyration.cpp:/* ---------------------------------------------------------------------- */ +compute_gyration.cpp:/* ---------------------------------------------------------------------- */ +compute_gyration.cpp:/* ---------------------------------------------------------------------- */ +compute_gyration.cpp:/* ---------------------------------------------------------------------- */ +compute_gyration.cpp:/* ---------------------------------------------------------------------- +compute_gyration.cpp:------------------------------------------------------------------------- */ +compute_gyration.cpp: vector[i] /= masstotal; +compute_heat_flux.cpp:/* ---------------------------------------------------------------------- +compute_heat_flux.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_heat_flux.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_heat_flux.cpp:------------------------------------------------------------------------- */ +compute_heat_flux.cpp:/* ---------------------------------------------------------------------- +compute_heat_flux.cpp:------------------------------------------------------------------------- */ +compute_heat_flux.cpp:/* ---------------------------------------------------------------------- */ +compute_heat_flux.cpp: if (narg != 6) error->all(FLERR,"Illegal compute heat/flux command"); +compute_heat_flux.cpp: // store ke/atom, pe/atom, stress/atom IDs used by heat flux computation +compute_heat_flux.cpp: // insure they are valid for these computations +compute_heat_flux.cpp: error->all(FLERR,"Could not find compute heat/flux compute ID"); +compute_heat_flux.cpp: if (strcmp(modify->compute[ike]->style,"ke/atom") != 0) +compute_heat_flux.cpp: error->all(FLERR,"Compute heat/flux compute ID does not compute ke/atom"); +compute_heat_flux.cpp: error->all(FLERR,"Compute heat/flux compute ID does not compute pe/atom"); +compute_heat_flux.cpp: "Compute heat/flux compute ID does not compute stress/atom"); +compute_heat_flux.cpp:/* ---------------------------------------------------------------------- */ +compute_heat_flux.cpp:/* ---------------------------------------------------------------------- */ +compute_heat_flux.cpp: // error checks +compute_heat_flux.cpp: error->all(FLERR,"Could not find compute heat/flux compute ID"); +compute_heat_flux.cpp:/* ---------------------------------------------------------------------- */ +compute_heat_flux.cpp: // invoke 3 computes if they haven't been already +compute_heat_flux.cpp: // heat flux vector = jc[3] + jv[3] +compute_heat_flux.cpp: // jc[3] = convective portion of heat flux = sum_i (ke_i + pe_i) v_i[3] +compute_heat_flux.cpp: // jv[3] = virial portion of heat flux = sum_i (stress_tensor_i . v_i[3]) +compute_heat_flux.cpp: // normalization by volume is not included +compute_heat_flux.cpp: // convert jv from stress*volume to energy units via nktv2p factor +compute_heat_flux.cpp: jv[0] /= nktv2p; +compute_heat_flux.cpp: jv[1] /= nktv2p; +compute_heat_flux.cpp: jv[2] /= nktv2p; +compute_heat_flux.cpp: // sum across all procs +compute_heat_flux.cpp: // 1st 3 terms are total heat flux +compute_heat_flux.cpp: // 2nd 3 terms are just conductive portion +compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- +compute_hexorder_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_hexorder_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_hexorder_atom.cpp:------------------------------------------------------------------------- */ +compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- +compute_hexorder_atom.cpp:------------------------------------------------------------------------- */ +compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_hexorder_atom.cpp: if (narg < 3 ) error->all(FLERR,"Illegal compute hexorder/atom command"); +compute_hexorder_atom.cpp: // process optional args +compute_hexorder_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute hexorder/atom command"); +compute_hexorder_atom.cpp: error->all(FLERR,"Illegal compute hexorder/atom command"); +compute_hexorder_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute hexorder/atom command"); +compute_hexorder_atom.cpp: error->all(FLERR,"Illegal compute hexorder/atom command"); +compute_hexorder_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute hexorder/atom command"); +compute_hexorder_atom.cpp: error->all(FLERR,"Illegal compute hexorder/atom command"); +compute_hexorder_atom.cpp: } else error->all(FLERR,"Illegal compute hexorder/atom command"); +compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_hexorder_atom.cpp: error->all(FLERR,"Compute hexorder/atom requires a pair style be defined"); +compute_hexorder_atom.cpp: "Compute hexorder/atom cutoff is longer than pairwise cutoff"); +compute_hexorder_atom.cpp: // need an occasional full neighbor list +compute_hexorder_atom.cpp: if (strcmp(modify->compute[i]->style,"hexorder/atom") == 0) count++; +compute_hexorder_atom.cpp: error->warning(FLERR,"More than one compute hexorder/atom"); +compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_hexorder_atom.cpp: // grow order parameter array if necessary +compute_hexorder_atom.cpp: memory->create(qnarray,nmax,ncol,"hexorder/atom:qnarray"); +compute_hexorder_atom.cpp: // invoke full neighbor list (will copy or build if necessary) +compute_hexorder_atom.cpp: // compute order parameter for each atom in group +compute_hexorder_atom.cpp: // use full neighbor list to count atoms less than cutoff +compute_hexorder_atom.cpp: // insure distsq and nearest arrays are long enough +compute_hexorder_atom.cpp: memory->create(distsq,maxneigh,"hexorder/atom:distsq"); +compute_hexorder_atom.cpp: memory->create(nearest,maxneigh,"hexorder/atom:nearest"); +compute_hexorder_atom.cpp: // loop over list of all neighbors within force cutoff +compute_hexorder_atom.cpp: // distsq[] = distance sq to each +compute_hexorder_atom.cpp: // nearest[] = atom indices of neighbors +compute_hexorder_atom.cpp: // if not nnn neighbors, order parameter = 0; +compute_hexorder_atom.cpp: // if nnn > 0, use only nearest nnn neighbors +compute_hexorder_atom.cpp: qn[0] = usum/nnn; +compute_hexorder_atom.cpp: qn[1] = vsum/nnn; +compute_hexorder_atom.cpp:// calculate order parameter using std::complex::pow function +compute_hexorder_atom.cpp: double rinv = 1.0/sqrt(delx*delx+dely*dely); +compute_hexorder_atom.cpp:// calculate order parameter using trig functions +compute_hexorder_atom.cpp:// this is usually slower, but can be used if not available +compute_hexorder_atom.cpp: if(dely > 0.0) ntheta = nnn * MY_PI / 2.0; +compute_hexorder_atom.cpp: else ntheta = nnn * 3.0 * MY_PI / 2.0; +compute_hexorder_atom.cpp: } else ntheta = nnn * atan(dely / delx); +compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- +compute_hexorder_atom.cpp:------------------------------------------------------------------------- */ +compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- +compute_hexorder_atom.cpp:------------------------------------------------------------------------- */ +compute_improper.cpp:/* ---------------------------------------------------------------------- +compute_improper.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_improper.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_improper.cpp:------------------------------------------------------------------------- */ +compute_improper.cpp:/* ---------------------------------------------------------------------- */ +compute_improper.cpp: // check if improper style hybrid exists +compute_improper.cpp:/* ---------------------------------------------------------------------- */ +compute_improper.cpp:/* ---------------------------------------------------------------------- */ +compute_improper.cpp: // recheck improper style in case it has been changed +compute_improper.cpp:/* ---------------------------------------------------------------------- */ +compute_improper_local.cpp:/* ---------------------------------------------------------------------- +compute_improper_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_improper_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_improper_local.cpp:------------------------------------------------------------------------- */ +compute_improper_local.cpp:/* ---------------------------------------------------------------------- */ +compute_improper_local.cpp: if (narg < 4) error->all(FLERR,"Illegal compute improper/local command"); +compute_improper_local.cpp: "Compute improper/local used when impropers are not allowed"); +compute_improper_local.cpp: else error->all(FLERR,"Invalid keyword in compute improper/local command"); +compute_improper_local.cpp:/* ---------------------------------------------------------------------- */ +compute_improper_local.cpp:/* ---------------------------------------------------------------------- */ +compute_improper_local.cpp: error->all(FLERR,"No improper style is defined for compute improper/local"); +compute_improper_local.cpp: // do initial memory allocation so that memory_usage() is correct +compute_improper_local.cpp:/* ---------------------------------------------------------------------- */ +compute_improper_local.cpp: // count local entries and compute improper info +compute_improper_local.cpp:/* ---------------------------------------------------------------------- +compute_improper_local.cpp:------------------------------------------------------------------------- */ +compute_improper_local.cpp: // chi calculation from improper style harmonic +compute_improper_local.cpp: ss1 = 1.0 / (vb1x*vb1x + vb1y*vb1y + vb1z*vb1z); +compute_improper_local.cpp: ss2 = 1.0 / (vb2x*vb2x + vb2y*vb2y + vb2z*vb2z); +compute_improper_local.cpp: ss3 = 1.0 / (vb3x*vb3x + vb3y*vb3y + vb3z*vb3z); +compute_improper_local.cpp: s1 = 1.0 / s1; +compute_improper_local.cpp: s2 = 1.0 / s2; +compute_improper_local.cpp: cbuf[n] = 180.0*acos(c)/MY_PI; +compute_improper_local.cpp:/* ---------------------------------------------------------------------- */ +compute_improper_local.cpp: // grow vector_local or array_local +compute_improper_local.cpp: memory->create(vlocal,nmax,"improper/local:vector_local"); +compute_improper_local.cpp: memory->create(alocal,nmax,nvalues,"improper/local:array_local"); +compute_improper_local.cpp:/* ---------------------------------------------------------------------- +compute_improper_local.cpp:------------------------------------------------------------------------- */ +compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- +compute_inertia_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_inertia_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ +compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_inertia_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute inertia/chunk command"); +compute_inertia_chunk.cpp: // ID of compute chunk/atom +compute_inertia_chunk.cpp: // chunk-based data +compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_inertia_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " +compute_inertia_chunk.cpp: "compute inertia/chunk"); +compute_inertia_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) +compute_inertia_chunk.cpp: error->all(FLERR,"Compute inertia/chunk does not use chunk/atom compute"); +compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_inertia_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_inertia_chunk.cpp: // extract ichunk index vector from compute +compute_inertia_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_inertia_chunk.cpp: // zero local per-chunk values +compute_inertia_chunk.cpp: // compute COM for each chunk +compute_inertia_chunk.cpp: comall[i][0] /= masstotal[i]; +compute_inertia_chunk.cpp: comall[i][1] /= masstotal[i]; +compute_inertia_chunk.cpp: comall[i][2] /= masstotal[i]; +compute_inertia_chunk.cpp: // compute inertia tensor for each chunk +compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- +compute_inertia_chunk.cpp: lock methods: called by fix ave/time +compute_inertia_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch +compute_inertia_chunk.cpp: by passing lock info along to compute chunk/atom +compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ +compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- +compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ +compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- +compute_inertia_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists +compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ +compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- +compute_inertia_chunk.cpp: calculate and return # of chunks = length of vector/array +compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ +compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- +compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ +compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- +compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ +compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- +compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ +compute_inertia_chunk.cpp: memory->create(massproc,maxchunk,"inertia/chunk:massproc"); +compute_inertia_chunk.cpp: memory->create(masstotal,maxchunk,"inertia/chunk:masstotal"); +compute_inertia_chunk.cpp: memory->create(com,maxchunk,3,"inertia/chunk:com"); +compute_inertia_chunk.cpp: memory->create(comall,maxchunk,3,"inertia/chunk:comall"); +compute_inertia_chunk.cpp: memory->create(inertia,maxchunk,6,"inertia/chunk:inertia"); +compute_inertia_chunk.cpp: memory->create(inertiaall,maxchunk,6,"inertia/chunk:inertiaall"); +compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- +compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ +compute_ke_atom.cpp:/* ---------------------------------------------------------------------- +compute_ke_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_ke_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_ke_atom.cpp:------------------------------------------------------------------------- */ +compute_ke_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_ke_atom.cpp: if (narg != 3) error->all(FLERR,"Illegal compute ke/atom command"); +compute_ke_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_ke_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_ke_atom.cpp: if (strcmp(modify->compute[i]->style,"ke/atom") == 0) count++; +compute_ke_atom.cpp: error->warning(FLERR,"More than one compute ke/atom"); +compute_ke_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_ke_atom.cpp: // grow ke array if necessary +compute_ke_atom.cpp: memory->create(ke,nmax,"ke/atom:ke"); +compute_ke_atom.cpp: // compute kinetic energy for each atom in group +compute_ke_atom.cpp:/* ---------------------------------------------------------------------- +compute_ke_atom.cpp:------------------------------------------------------------------------- */ +compute_ke.cpp:/* ---------------------------------------------------------------------- +compute_ke.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_ke.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_ke.cpp:------------------------------------------------------------------------- */ +compute_ke.cpp:/* ---------------------------------------------------------------------- */ +compute_ke.cpp:/* ---------------------------------------------------------------------- */ +compute_ke.cpp:/* ---------------------------------------------------------------------- */ +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- +compute_msd_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_msd_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_msd_chunk.cpp:------------------------------------------------------------------------- */ +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_msd_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute msd/chunk command"); +compute_msd_chunk.cpp: // ID of compute chunk/atom +compute_msd_chunk.cpp: // create a new fix STORE style for reference positions +compute_msd_chunk.cpp: // id = compute-ID + COMPUTE_STORE, fix group = compute group +compute_msd_chunk.cpp: // do not know size of array at this point, just allocate 1x3 array +compute_msd_chunk.cpp: // fix creation must be done now so that a restart run can +compute_msd_chunk.cpp: // potentially re-populate the fix array (and change it to correct size) +compute_msd_chunk.cpp: // otherwise size reset and init will be done in setup() +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_msd_chunk.cpp: // check nfix in case all fixes have already been deleted +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_msd_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for compute msd/chunk"); +compute_msd_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) +compute_msd_chunk.cpp: error->all(FLERR,"Compute msd/chunk does not use chunk/atom compute"); +compute_msd_chunk.cpp: // set fix which stores reference atom coords +compute_msd_chunk.cpp: // if firstflag, will be created in setup() +compute_msd_chunk.cpp: if (ifix < 0) error->all(FLERR,"Could not find compute msd/chunk fix ID"); +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- +compute_msd_chunk.cpp:------------------------------------------------------------------------- */ +compute_msd_chunk.cpp: // if fix->astore is already correct size, restart file set it up +compute_msd_chunk.cpp: // otherwise reset its size now and initialize to current COM +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_msd_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_msd_chunk.cpp: // extract ichunk index vector from compute +compute_msd_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_msd_chunk.cpp: // first time call, allocate per-chunk arrays +compute_msd_chunk.cpp: // thereafter, require nchunk remain the same +compute_msd_chunk.cpp: error->all(FLERR,"Compute msd/chunk nchunk is not static"); +compute_msd_chunk.cpp: // zero local per-chunk values +compute_msd_chunk.cpp: // compute current COM for each chunk +compute_msd_chunk.cpp: comall[i][0] /= masstotal[i]; +compute_msd_chunk.cpp: comall[i][1] /= masstotal[i]; +compute_msd_chunk.cpp: comall[i][2] /= masstotal[i]; +compute_msd_chunk.cpp: // MSD is difference between current and initial COM +compute_msd_chunk.cpp: // cominit is initilialized by setup() when firstflag is set +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- +compute_msd_chunk.cpp: lock methods: called by fix ave/time +compute_msd_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch +compute_msd_chunk.cpp: by passing lock info along to compute chunk/atom +compute_msd_chunk.cpp:------------------------------------------------------------------------- */ +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- +compute_msd_chunk.cpp:------------------------------------------------------------------------- */ +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- +compute_msd_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists +compute_msd_chunk.cpp:------------------------------------------------------------------------- */ +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- +compute_msd_chunk.cpp: calculate and return # of chunks = length of vector/array +compute_msd_chunk.cpp:------------------------------------------------------------------------- */ +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- +compute_msd_chunk.cpp:------------------------------------------------------------------------- */ +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- +compute_msd_chunk.cpp:------------------------------------------------------------------------- */ +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- +compute_msd_chunk.cpp:------------------------------------------------------------------------- */ +compute_msd_chunk.cpp: memory->create(massproc,nchunk,"msd/chunk:massproc"); +compute_msd_chunk.cpp: memory->create(masstotal,nchunk,"msd/chunk:masstotal"); +compute_msd_chunk.cpp: memory->create(com,nchunk,3,"msd/chunk:com"); +compute_msd_chunk.cpp: memory->create(comall,nchunk,3,"msd/chunk:comall"); +compute_msd_chunk.cpp: memory->create(msd,nchunk,4,"msd/chunk:msd"); +compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- +compute_msd_chunk.cpp:------------------------------------------------------------------------- */ +compute_msd.cpp:/* ---------------------------------------------------------------------- +compute_msd.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_msd.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_msd.cpp:------------------------------------------------------------------------- */ +compute_msd.cpp:/* ---------------------------------------------------------------------- */ +compute_msd.cpp: // optional args +compute_msd.cpp: // create a new fix STORE style for reference positions +compute_msd.cpp: // id = compute-ID + COMPUTE_STORE, fix group = compute group +compute_msd.cpp: // calculate xu,yu,zu for fix store array +compute_msd.cpp: // skip if reset from restart file +compute_msd.cpp: // adjust for COM if requested +compute_msd.cpp: // initialize counter for average positions if requested +compute_msd.cpp: // displacement vector +compute_msd.cpp:/* ---------------------------------------------------------------------- */ +compute_msd.cpp: // check nfix in case all fixes have already been deleted +compute_msd.cpp:/* ---------------------------------------------------------------------- */ +compute_msd.cpp: // set fix which stores reference atom coords +compute_msd.cpp: // nmsd = # of atoms in group +compute_msd.cpp:/* ---------------------------------------------------------------------- */ +compute_msd.cpp: // cm = current center of mass +compute_msd.cpp: // dx,dy,dz = displacement of atom from reference position +compute_msd.cpp: // reference unwrapped position is stored by fix +compute_msd.cpp: // relative to center of mass if comflag is set +compute_msd.cpp: // for triclinic, need to unwrap current atom coord via h matrix +compute_msd.cpp: // update number of averages if requested +compute_msd.cpp: navfac = 1.0/(naverage+1); +compute_msd.cpp: // use running average position for reference if requested +compute_msd.cpp: // use running average position for reference if requested +compute_msd.cpp: vector[0] /= nmsd; +compute_msd.cpp: vector[1] /= nmsd; +compute_msd.cpp: vector[2] /= nmsd; +compute_msd.cpp: vector[3] /= nmsd; +compute_msd.cpp:/* ---------------------------------------------------------------------- +compute_msd.cpp:------------------------------------------------------------------------- */ +compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- +compute_omega_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_omega_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_omega_chunk.cpp:------------------------------------------------------------------------- */ +compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_omega_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute omega/chunk command"); +compute_omega_chunk.cpp: // ID of compute chunk/atom +compute_omega_chunk.cpp: // chunk-based data +compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_omega_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " +compute_omega_chunk.cpp: "compute omega/chunk"); +compute_omega_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) +compute_omega_chunk.cpp: error->all(FLERR,"Compute omega/chunk does not use chunk/atom compute"); +compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_omega_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_omega_chunk.cpp: // extract ichunk index vector from compute +compute_omega_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_omega_chunk.cpp: // zero local per-chunk values +compute_omega_chunk.cpp: // compute COM for each chunk +compute_omega_chunk.cpp: comall[i][0] /= masstotal[i]; +compute_omega_chunk.cpp: comall[i][1] /= masstotal[i]; +compute_omega_chunk.cpp: comall[i][2] /= masstotal[i]; +compute_omega_chunk.cpp: // compute inertia tensor for each chunk +compute_omega_chunk.cpp: // compute angmom for each chunk +compute_omega_chunk.cpp: // compute omega for each chunk +compute_omega_chunk.cpp: // determinant = triple product of rows of inertia matrix +compute_omega_chunk.cpp: // non-singular I matrix +compute_omega_chunk.cpp: // use L = Iw, inverting I to solve for w +compute_omega_chunk.cpp: invdeterminant = 1.0/determinant; +compute_omega_chunk.cpp: // handle each (nearly) singular I matrix +compute_omega_chunk.cpp: // due to 2-atom chunk or linear molecule +compute_omega_chunk.cpp: // use jacobi() and angmom_to_omega() to calculate valid omega +compute_omega_chunk.cpp: "Insufficient Jacobi rotations for omega/chunk"); +compute_omega_chunk.cpp: // enforce 3 evectors as a right-handed coordinate system +compute_omega_chunk.cpp: // flip 3rd vector if needed +compute_omega_chunk.cpp: // if any principal moment < scaled EPSILON, set to 0.0 +compute_omega_chunk.cpp: // calculate omega using diagonalized inertia matrix +compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- +compute_omega_chunk.cpp: lock methods: called by fix ave/time +compute_omega_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch +compute_omega_chunk.cpp: by passing lock info along to compute chunk/atom +compute_omega_chunk.cpp:------------------------------------------------------------------------- */ +compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- +compute_omega_chunk.cpp:------------------------------------------------------------------------- */ +compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- +compute_omega_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists +compute_omega_chunk.cpp:------------------------------------------------------------------------- */ +compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- +compute_omega_chunk.cpp: calculate and return # of chunks = length of vector/array +compute_omega_chunk.cpp:------------------------------------------------------------------------- */ +compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- +compute_omega_chunk.cpp:------------------------------------------------------------------------- */ +compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- +compute_omega_chunk.cpp:------------------------------------------------------------------------- */ +compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- +compute_omega_chunk.cpp:------------------------------------------------------------------------- */ +compute_omega_chunk.cpp: memory->create(massproc,maxchunk,"omega/chunk:massproc"); +compute_omega_chunk.cpp: memory->create(masstotal,maxchunk,"omega/chunk:masstotal"); +compute_omega_chunk.cpp: memory->create(com,maxchunk,3,"omega/chunk:com"); +compute_omega_chunk.cpp: memory->create(comall,maxchunk,3,"omega/chunk:comall"); +compute_omega_chunk.cpp: memory->create(inertia,maxchunk,6,"omega/chunk:inertia"); +compute_omega_chunk.cpp: memory->create(inertiaall,maxchunk,6,"omega/chunk:inertiaall"); +compute_omega_chunk.cpp: memory->create(angmom,maxchunk,3,"omega/chunk:angmom"); +compute_omega_chunk.cpp: memory->create(angmomall,maxchunk,3,"omega/chunk:angmomall"); +compute_omega_chunk.cpp: memory->create(omega,maxchunk,3,"omega/chunk:omega"); +compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- +compute_omega_chunk.cpp:------------------------------------------------------------------------- */ +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- +compute_orientorder_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_orientorder_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- +compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_orientorder_atom.cpp: if (narg < 3 ) error->all(FLERR,"Illegal compute orientorder/atom command"); +compute_orientorder_atom.cpp: // set default values for optional args +compute_orientorder_atom.cpp: // specify which orders to request +compute_orientorder_atom.cpp: memory->create(qlist,nqlist,"orientorder/atom:qlist"); +compute_orientorder_atom.cpp: // process optional args +compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); +compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); +compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); +compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); +compute_orientorder_atom.cpp: memory->create(qlist,nqlist,"orientorder/atom:qlist"); +compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); +compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); +compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); +compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); +compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); +compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); +compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); +compute_orientorder_atom.cpp: } else error->all(FLERR,"Illegal compute orientorder/atom command"); +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_orientorder_atom.cpp: error->all(FLERR,"Compute orientorder/atom requires a " +compute_orientorder_atom.cpp: error->all(FLERR,"Compute orientorder/atom cutoff is " +compute_orientorder_atom.cpp: memory->create(qnm_r,qmax,2*qmax+1,"orientorder/atom:qnm_r"); +compute_orientorder_atom.cpp: memory->create(qnm_i,qmax,2*qmax+1,"orientorder/atom:qnm_i"); +compute_orientorder_atom.cpp: // need an occasional full neighbor list +compute_orientorder_atom.cpp: if (strcmp(modify->compute[i]->style,"orientorder/atom") == 0) count++; +compute_orientorder_atom.cpp: error->warning(FLERR,"More than one compute orientorder/atom"); +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_orientorder_atom.cpp: // grow order parameter array if necessary +compute_orientorder_atom.cpp: memory->create(qnarray,nmax,ncol,"orientorder/atom:qnarray"); +compute_orientorder_atom.cpp: // invoke full neighbor list (will copy or build if necessary) +compute_orientorder_atom.cpp: // compute order parameter for each atom in group +compute_orientorder_atom.cpp: // use full neighbor list to count atoms less than cutoff +compute_orientorder_atom.cpp: // insure distsq and nearest arrays are long enough +compute_orientorder_atom.cpp: memory->create(distsq,maxneigh,"orientorder/atom:distsq"); +compute_orientorder_atom.cpp: memory->create(rlist,maxneigh,3,"orientorder/atom:rlist"); +compute_orientorder_atom.cpp: memory->create(nearest,maxneigh,"orientorder/atom:nearest"); +compute_orientorder_atom.cpp: // loop over list of all neighbors within force cutoff +compute_orientorder_atom.cpp: // distsq[] = distance sq to each +compute_orientorder_atom.cpp: // rlist[] = distance vector to each +compute_orientorder_atom.cpp: // nearest[] = atom indices of neighbors +compute_orientorder_atom.cpp: // if not nnn neighbors, order parameter = 0; +compute_orientorder_atom.cpp: // if nnn > 0, use only nearest nnn neighbors +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- +compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- +compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ +compute_orientorder_atom.cpp:// Use no-op do while to create single statement +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- +compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ +compute_orientorder_atom.cpp: double costheta = r[2] / rmag; +compute_orientorder_atom.cpp: double rxymaginv = 1.0/rxymag; +compute_orientorder_atom.cpp: double fac = sqrt(MY_4PI) / ncount; +compute_orientorder_atom.cpp: // printf("Ylm^2 = %d %d %g\n",n,m, +compute_orientorder_atom.cpp: // qnm_r[iw][m]*qnm_r[iw][m] + qnm_i[iw][m]*qnm_i[iw][m]); +compute_orientorder_atom.cpp: qn[iw] = fac * sqrt(qm_sum / (2*n+1)); +compute_orientorder_atom.cpp: if (qlcompflag && iqlcomp == iw) normfac = 1.0/sqrt(qm_sum); +compute_orientorder_atom.cpp: // output of the complex vector +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- +compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- +compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ +compute_orientorder_atom.cpp: prefactor = sqrt(static_cast(2*l+1)/(MY_4PI*prefactor)) +compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- +compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ +compute_orientorder_atom.cpp: - static_cast(i+m-1)*pm2) / static_cast(i-m); +compute_pair.cpp:/* ---------------------------------------------------------------------- +compute_pair.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_pair.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_pair.cpp:------------------------------------------------------------------------- */ +compute_pair.cpp:/* ---------------------------------------------------------------------- */ +compute_pair.cpp: // check if pair style with and without suffix exists +compute_pair.cpp: strcat(pstyle,"/"); +compute_pair.cpp:/* ---------------------------------------------------------------------- */ +compute_pair.cpp:/* ---------------------------------------------------------------------- */ +compute_pair.cpp: // recheck for pair style in case it has been deleted +compute_pair.cpp:/* ---------------------------------------------------------------------- */ +compute_pair.cpp:/* ---------------------------------------------------------------------- */ +compute_pair_local.cpp:/* ---------------------------------------------------------------------- +compute_pair_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_pair_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_pair_local.cpp:------------------------------------------------------------------------- */ +compute_pair_local.cpp:/* ---------------------------------------------------------------------- */ +compute_pair_local.cpp: if (narg < 4) error->all(FLERR,"Illegal compute pair/local command"); +compute_pair_local.cpp: "Invalid keyword in compute pair/local command"); +compute_pair_local.cpp: // optional args +compute_pair_local.cpp: error->all(FLERR,"Illegal compute pair/local command"); +compute_pair_local.cpp: else error->all(FLERR,"Illegal compute pair/local command"); +compute_pair_local.cpp: } else error->all(FLERR,"Illegal compute pair/local command"); +compute_pair_local.cpp: // error check +compute_pair_local.cpp: error->all(FLERR,"Compute pair/local requires atom attribute radius"); +compute_pair_local.cpp: // set singleflag if need to call pair->single() +compute_pair_local.cpp:/* ---------------------------------------------------------------------- */ +compute_pair_local.cpp:/* ---------------------------------------------------------------------- */ +compute_pair_local.cpp: error->all(FLERR,"No pair style is defined for compute pair/local"); +compute_pair_local.cpp: error->all(FLERR,"Pair style does not support compute pair/local"); +compute_pair_local.cpp: " requested by compute pair/local"); +compute_pair_local.cpp: // need an occasional half neighbor list +compute_pair_local.cpp:/* ---------------------------------------------------------------------- */ +compute_pair_local.cpp:/* ---------------------------------------------------------------------- */ +compute_pair_local.cpp: // count local entries and compute pair info +compute_pair_local.cpp:/* ---------------------------------------------------------------------- +compute_pair_local.cpp:------------------------------------------------------------------------- */ +compute_pair_local.cpp: // invoke half neighbor list (will copy or build if necessary) +compute_pair_local.cpp: // loop over neighbors of my atoms +compute_pair_local.cpp: // skip if I or J are not in group +compute_pair_local.cpp: // for newton = 0 and J = ghost atom, +compute_pair_local.cpp: // need to insure I,J pair is only output by one proc +compute_pair_local.cpp: // use same itag,jtag logic as in Neighbor::neigh_half_nsq() +compute_pair_local.cpp: // for flag = 0, just count pair interactions within force cutoff +compute_pair_local.cpp: // for flag = 1, calculate requested output fields +compute_pair_local.cpp: // itag = jtag is possible for long cutoffs that include images of self +compute_pair_local.cpp:/* ---------------------------------------------------------------------- */ +compute_pair_local.cpp: // grow vector_local or array_local +compute_pair_local.cpp: memory->create(vlocal,nmax,"pair/local:vector_local"); +compute_pair_local.cpp: memory->create(alocal,nmax,nvalues,"pair/local:array_local"); +compute_pair_local.cpp:/* ---------------------------------------------------------------------- +compute_pair_local.cpp:------------------------------------------------------------------------- */ +compute_pe_atom.cpp:/* ---------------------------------------------------------------------- +compute_pe_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_pe_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_pe_atom.cpp:------------------------------------------------------------------------- */ +compute_pe_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_pe_atom.cpp: if (narg < 3) error->all(FLERR,"Illegal compute pe/atom command"); +compute_pe_atom.cpp: else error->all(FLERR,"Illegal compute pe/atom command"); +compute_pe_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_pe_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_pe_atom.cpp: // grow local energy array if necessary +compute_pe_atom.cpp: // needs to be atom->nmax in length +compute_pe_atom.cpp: memory->create(energy,nmax,"pe/atom:energy"); +compute_pe_atom.cpp: // npair includes ghosts if either newton flag is set +compute_pe_atom.cpp: // b/c some bonds/dihedrals call pair::ev_tally with pairwise info +compute_pe_atom.cpp: // nbond includes ghosts if newton_bond is set +compute_pe_atom.cpp: // ntotal includes ghosts if either newton flag is set +compute_pe_atom.cpp: // KSpace includes ghosts if tip4pflag is set +compute_pe_atom.cpp: // clear local energy array +compute_pe_atom.cpp: // add in per-atom contributions from each force +compute_pe_atom.cpp: // add in per-atom contributions from relevant fixes +compute_pe_atom.cpp: // always only for owned atoms, not ghost +compute_pe_atom.cpp: // communicate ghost energy between neighbor procs +compute_pe_atom.cpp: // zero energy of atoms not in group +compute_pe_atom.cpp: // only do this after comm since ghost contributions must be included +compute_pe_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_pe_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_pe_atom.cpp:/* ---------------------------------------------------------------------- +compute_pe_atom.cpp:------------------------------------------------------------------------- */ +compute_pe.cpp:/* ---------------------------------------------------------------------- +compute_pe.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_pe.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_pe.cpp:------------------------------------------------------------------------- */ +compute_pe.cpp:/* ---------------------------------------------------------------------- */ +compute_pe.cpp:/* ---------------------------------------------------------------------- */ +compute_pe.cpp: scalar += force->pair->etail / volume; +compute_pressure.cpp:/* ---------------------------------------------------------------------- +compute_pressure.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_pressure.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_pressure.cpp:------------------------------------------------------------------------- */ +compute_pressure.cpp:/* ---------------------------------------------------------------------- */ +compute_pressure.cpp: // store temperature ID used by pressure computation +compute_pressure.cpp: // insure it is valid for temperature computation +compute_pressure.cpp: // process optional args +compute_pressure.cpp: // error check +compute_pressure.cpp:/* ---------------------------------------------------------------------- */ +compute_pressure.cpp:/* ---------------------------------------------------------------------- */ +compute_pressure.cpp: // set temperature compute, must be done in init() +compute_pressure.cpp: // fixes could have changed or compute_modify could have changed it +compute_pressure.cpp: // detect contributions to virial +compute_pressure.cpp: // vptr points to all virial[6] contributions +compute_pressure.cpp: // flag Kspace contribution separately, since not summed across procs +compute_pressure.cpp:/* ---------------------------------------------------------------------- +compute_pressure.cpp:------------------------------------------------------------------------- */ +compute_pressure.cpp: // invoke temperature if it hasn't been already +compute_pressure.cpp: inv_volume = 1.0 / (domain->xprd * domain->yprd * domain->zprd); +compute_pressure.cpp: virial[0] + virial[1] + virial[2]) / 3.0 * inv_volume * nktv2p; +compute_pressure.cpp: scalar = (virial[0] + virial[1] + virial[2]) / 3.0 * inv_volume * nktv2p; +compute_pressure.cpp: inv_volume = 1.0 / (domain->xprd * domain->yprd); +compute_pressure.cpp: virial[0] + virial[1]) / 2.0 * inv_volume * nktv2p; +compute_pressure.cpp: scalar = (virial[0] + virial[1]) / 2.0 * inv_volume * nktv2p; +compute_pressure.cpp:/* ---------------------------------------------------------------------- +compute_pressure.cpp:------------------------------------------------------------------------- */ +compute_pressure.cpp: error->all(FLERR,"Must use 'kspace_modify pressure/scalar no' for " +compute_pressure.cpp: // invoke temperature if it hasn't been already +compute_pressure.cpp: inv_volume = 1.0 / (domain->xprd * domain->yprd * domain->zprd); +compute_pressure.cpp: inv_volume = 1.0 / (domain->xprd * domain->yprd); +compute_pressure.cpp:/* ---------------------------------------------------------------------- */ +compute_pressure.cpp: // sum contributions to virial from forces and fixes +compute_pressure.cpp: // sum virial across procs +compute_pressure.cpp: // KSpace virial contribution is already summed across procs +compute_pressure.cpp: // LJ long-range tail correction, only if pair contributions are included +compute_pressure.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- +compute_property_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_property_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_property_atom.cpp:------------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp: if (narg < 4) error->all(FLERR,"Illegal compute property/atom command"); +compute_property_atom.cpp: // parse input values +compute_property_atom.cpp: // customize a new keyword by adding to if statement +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_ellipsoid) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_ellipsoid) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_ellipsoid) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_line) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_line) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_line) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_line) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_line) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_line) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom integer " +compute_property_atom.cpp: error->all(FLERR,"Compute property/atom floating point " +compute_property_atom.cpp: // check if atom style recognizes keyword +compute_property_atom.cpp: error->all(FLERR,"Invalid keyword in compute property/atom command"); +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp: // grow vector or array if necessary +compute_property_atom.cpp: memory->create(vector_atom,nmax,"property/atom:vector"); +compute_property_atom.cpp: memory->create(array_atom,nmax,nvalues,"property/atom:array"); +compute_property_atom.cpp: // fill vector or array with per-atom values +compute_property_atom.cpp:/* ---------------------------------------------------------------------- +compute_property_atom.cpp:------------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- +compute_property_atom.cpp: one method for every keyword compute property/atom can output +compute_property_atom.cpp:------------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp: double invxprd = 1.0/domain->xprd; +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp: double invyprd = 1.0/domain->yprd; +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp: double invzprd = 1.0/domain->zprd; +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- +compute_property_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_property_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_property_chunk.cpp:------------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_property_chunk.cpp: if (narg < 5) error->all(FLERR,"Illegal compute property/chunk command"); +compute_property_chunk.cpp: // ID of compute chunk/atom +compute_property_chunk.cpp: // parse values +compute_property_chunk.cpp: error->all(FLERR,"Compute chunk/atom stores no IDs for " +compute_property_chunk.cpp: "compute property/chunk"); +compute_property_chunk.cpp: error->all(FLERR,"Compute chunk/atom stores no coord1 for " +compute_property_chunk.cpp: "compute property/chunk"); +compute_property_chunk.cpp: error->all(FLERR,"Compute chunk/atom stores no coord2 for " +compute_property_chunk.cpp: "compute property/chunk"); +compute_property_chunk.cpp: error->all(FLERR,"Compute chunk/atom stores no coord3 for " +compute_property_chunk.cpp: "compute property/chunk"); +compute_property_chunk.cpp: "Invalid keyword in compute property/chunk command"); +compute_property_chunk.cpp: // initialization +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_property_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " +compute_property_chunk.cpp: "compute property/chunk"); +compute_property_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) +compute_property_chunk.cpp: error->all(FLERR,"Compute property/chunk does not use chunk/atom compute"); +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_property_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_property_chunk.cpp: // if need count, extract ichunk index vector from compute +compute_property_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_property_chunk.cpp: // fill vector +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_property_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_property_chunk.cpp: // if need count, extract ichunk index vector from compute +compute_property_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_property_chunk.cpp: // fill array +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- +compute_property_chunk.cpp: lock methods: called by fix ave/time +compute_property_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch +compute_property_chunk.cpp: by passing lock info along to compute chunk/atom +compute_property_chunk.cpp:------------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- +compute_property_chunk.cpp:------------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- +compute_property_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists +compute_property_chunk.cpp:------------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- +compute_property_chunk.cpp: calculate and return # of chunks = length of vector/array +compute_property_chunk.cpp:------------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- +compute_property_chunk.cpp:------------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- +compute_property_chunk.cpp:------------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- +compute_property_chunk.cpp:------------------------------------------------------------------------- */ +compute_property_chunk.cpp: if (nvalues == 1) memory->create(vector,maxchunk,"property/chunk:vector"); +compute_property_chunk.cpp: else memory->create(array,maxchunk,nvalues,"property/chunk:array"); +compute_property_chunk.cpp: memory->create(count_one,maxchunk,"property/chunk:count_one"); +compute_property_chunk.cpp: memory->create(count_all,maxchunk,"property/chunk:count_all"); +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- +compute_property_chunk.cpp:------------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- +compute_property_chunk.cpp: one method for every keyword compute property/chunk can output +compute_property_chunk.cpp:------------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- +compute_property_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_property_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_property_local.cpp:------------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp: if (narg < 4) error->all(FLERR,"Illegal compute property/local command"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: "Compute property/local cannot use these inputs together"); +compute_property_local.cpp: // optional args +compute_property_local.cpp: error->all(FLERR,"Illegal compute property/local command"); +compute_property_local.cpp: else error->all(FLERR,"Illegal compute property/local command"); +compute_property_local.cpp: } else error->all(FLERR,"Illegal compute property/local command"); +compute_property_local.cpp: // error check +compute_property_local.cpp: error->all(FLERR,"Compute property/local does not (yet) work " +compute_property_local.cpp: "Compute property/local for property that isn't allocated"); +compute_property_local.cpp: "Compute property/local for property that isn't allocated"); +compute_property_local.cpp: "Compute property/local for property that isn't allocated"); +compute_property_local.cpp: "Compute property/local for property that isn't allocated"); +compute_property_local.cpp: error->all(FLERR,"Compute property/local requires atom attribute radius"); +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp: error->all(FLERR,"No pair style is defined for compute property/local"); +compute_property_local.cpp: error->all(FLERR,"Pair style does not support compute property/local"); +compute_property_local.cpp: // for NEIGH/PAIR need an occasional half neighbor list +compute_property_local.cpp: // do initial memory allocation so that memory_usage() is correct +compute_property_local.cpp: // cannot be done yet for NEIGH/PAIR, since neigh list does not exist +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp: // count local entries and generate list of indices +compute_property_local.cpp: // fill vector or array with local values +compute_property_local.cpp:/* ---------------------------------------------------------------------- +compute_property_local.cpp:------------------------------------------------------------------------- */ +compute_property_local.cpp: // invoke half neighbor list (will copy or build if necessary) +compute_property_local.cpp: // loop over neighbors of my atoms +compute_property_local.cpp: // skip if I or J are not in group +compute_property_local.cpp: // for newton = 0 and J = ghost atom, +compute_property_local.cpp: // need to insure I,J pair is only output by one proc +compute_property_local.cpp: // use same itag,jtag logic as in Neighbor::neigh_half_nsq() +compute_property_local.cpp: // itag = jtag is possible for long cutoffs that include images of self +compute_property_local.cpp:/* ---------------------------------------------------------------------- +compute_property_local.cpp:------------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- +compute_property_local.cpp:------------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- +compute_property_local.cpp:------------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- +compute_property_local.cpp:------------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp: // grow vector_local or array_local, also indices +compute_property_local.cpp: memory->create(vlocal,nmax,"property/local:vector_local"); +compute_property_local.cpp: memory->create(alocal,nmax,nvalues,"property/local:array_local"); +compute_property_local.cpp: memory->create(indices,nmax,2,"property/local:indices"); +compute_property_local.cpp:/* ---------------------------------------------------------------------- +compute_property_local.cpp:------------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- +compute_property_local.cpp: one method for every keyword compute property/local can output +compute_property_local.cpp:------------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_property_local.cpp:/* ---------------------------------------------------------------------- */ +compute_rdf.cpp:/* ---------------------------------------------------------------------- +compute_rdf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_rdf.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_rdf.cpp:------------------------------------------------------------------------- */ +compute_rdf.cpp:/* ---------------------------------------------------------------------- +compute_rdf.cpp:------------------------------------------------------------------------- */ +compute_rdf.cpp:/* ---------------------------------------------------------------------- */ +compute_rdf.cpp: // optional args +compute_rdf.cpp: // nargpair = # of pairwise args, starting at iarg = 4 +compute_rdf.cpp: // pairwise args +compute_rdf.cpp: else npairs = nargpair/2; +compute_rdf.cpp:/* ---------------------------------------------------------------------- */ +compute_rdf.cpp:/* ---------------------------------------------------------------------- */ +compute_rdf.cpp: double cutghost; // as computed by Neighbor and Comm +compute_rdf.cpp: delr = cutoff_user / nbin; +compute_rdf.cpp: } else delr = force->pair->cutforce / nbin; +compute_rdf.cpp: delrinv = 1.0/delr; +compute_rdf.cpp: // set 1st column of output array to bin coords +compute_rdf.cpp: // count atoms of each type that are also in group +compute_rdf.cpp: // icount = # of I atoms participating in I,J pairs for each histogram +compute_rdf.cpp: // jcount = # of J atoms participating in I,J pairs for each histogram +compute_rdf.cpp: // duplicates = # of atoms in both groups I and J for each histogram +compute_rdf.cpp: // need an occasional half neighbor list +compute_rdf.cpp: // if user specified, request a cutoff = cutoff_user + skin +compute_rdf.cpp: // skin is included b/c Neighbor uses this value similar +compute_rdf.cpp: // to its cutneighmax = force cutoff + skin +compute_rdf.cpp: // also, this NeighList may be used by this compute for multiple steps +compute_rdf.cpp: // (until next reneighbor), so it needs to contain atoms further +compute_rdf.cpp: // than cutoff_user apart, just like a normal neighbor list does +compute_rdf.cpp:/* ---------------------------------------------------------------------- */ +compute_rdf.cpp:/* ---------------------------------------------------------------------- */ +compute_rdf.cpp: // invoke half neighbor list (will copy or build if necessary) +compute_rdf.cpp: // zero the histogram counts +compute_rdf.cpp: // tally the RDF +compute_rdf.cpp: // both atom i and j must be in fix group +compute_rdf.cpp: // itype,jtype must have been specified by user +compute_rdf.cpp: // consider I,J as one interaction even if neighbor pair is stored on 2 procs +compute_rdf.cpp: // tally I,J pair each time I is central atom, and each time J is central +compute_rdf.cpp: // if both weighting factors are 0, skip this pair +compute_rdf.cpp: // could be 0 and still be in neigh list for long-range Coulombics +compute_rdf.cpp: // want consistency with non-charged pairs which wouldn't be in list +compute_rdf.cpp: // sum histograms across procs +compute_rdf.cpp: // convert counts to g(r) and coord(r) and copy into output array +compute_rdf.cpp: // vfrac = fraction of volume in shell m +compute_rdf.cpp: // npairs = number of pairs, corrected for duplicates +compute_rdf.cpp: // duplicates = pairs in which both atoms are the same +compute_rdf.cpp: constant = 4.0*MY_PI / (3.0*domain->xprd*domain->yprd*domain->zprd); +compute_rdf.cpp: - static_cast(duplicates[m])/icount[m] : 0.0; +compute_rdf.cpp: gr = histall[m][ibin] / (vfrac * normfac * icount[m]); +compute_rdf.cpp: constant = MY_PI / (domain->xprd*domain->yprd); +compute_rdf.cpp: - static_cast(duplicates[m])/icount[m] : 0.0; +compute_rdf.cpp: gr = histall[m][ibin] / (vfrac * normfac * icount[m]); +compute_reduce.cpp:/* ---------------------------------------------------------------------- +compute_reduce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_reduce.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_reduce.cpp:------------------------------------------------------------------------- */ +compute_reduce.cpp:enum{SUM,SUMSQ,MINN,MAXX,AVE,AVESQ}; // also in ReduceRegion +compute_reduce.cpp:/* ---------------------------------------------------------------------- */ +compute_reduce.cpp: } else if (strcmp(style,"reduce/region") == 0) { +compute_reduce.cpp: if (narg < 6) error->all(FLERR,"Illegal compute reduce/region command"); +compute_reduce.cpp: error->all(FLERR,"Region ID for compute reduce/region does not exist"); +compute_reduce.cpp: // expand args if any have wildcard character "*" +compute_reduce.cpp: // parse values until one isn't recognized +compute_reduce.cpp: // optional args +compute_reduce.cpp: // delete replace if not set +compute_reduce.cpp: // if wildcard expansion occurred, free earg memory from expand_args() +compute_reduce.cpp: // setup and error check +compute_reduce.cpp: // this compute produces either a scalar or vector +compute_reduce.cpp:/* ---------------------------------------------------------------------- */ +compute_reduce.cpp:/* ---------------------------------------------------------------------- */ +compute_reduce.cpp: // set indices of all computes,fixes,variables +compute_reduce.cpp: // set index and check validity of region +compute_reduce.cpp: error->all(FLERR,"Region ID for compute reduce/region does not exist"); +compute_reduce.cpp:/* ---------------------------------------------------------------------- */ +compute_reduce.cpp: if (n) scalar /= n; +compute_reduce.cpp:/* ---------------------------------------------------------------------- */ +compute_reduce.cpp: if (n) vector[m] /= n; +compute_reduce.cpp:/* ---------------------------------------------------------------------- +compute_reduce.cpp: sum/min/max/ave all values in vector +compute_reduce.cpp:------------------------------------------------------------------------- */ +compute_reduce.cpp: // invoke the appropriate attribute,compute,fix,variable +compute_reduce.cpp: // for flag = -1, compute scalar quantity by scanning over atom properties +compute_reduce.cpp: // only include atoms in group for atom properties and per-atom quantities +compute_reduce.cpp: // invoke compute if not previously invoked +compute_reduce.cpp: // access fix fields, check if fix frequency is a match +compute_reduce.cpp: // evaluate atom-style variable +compute_reduce.cpp:/* ---------------------------------------------------------------------- */ +compute_reduce.cpp:/* ---------------------------------------------------------------------- +compute_reduce.cpp: for MIN/MAX, also update index with winner +compute_reduce.cpp:------------------------------------------------------------------------- */ +compute_reduce.cpp:/* ---------------------------------------------------------------------- +compute_reduce.cpp:------------------------------------------------------------------------- */ +compute_reduce_region.cpp:/* ---------------------------------------------------------------------- +compute_reduce_region.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_reduce_region.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_reduce_region.cpp:------------------------------------------------------------------------- */ +compute_reduce_region.cpp:enum{SUM,SUMSQ,MINN,MAXX,AVE,AVESQ}; // also in ComputeReduce +compute_reduce_region.cpp:/* ---------------------------------------------------------------------- */ +compute_reduce_region.cpp:/* ---------------------------------------------------------------------- +compute_reduce_region.cpp: sum/min/max/ave all values in vector +compute_reduce_region.cpp:------------------------------------------------------------------------- */ +compute_reduce_region.cpp: // invoke the appropriate attribute,compute,fix,variable +compute_reduce_region.cpp: // compute scalar quantity by summing over atom scalars +compute_reduce_region.cpp: // only include atoms in group +compute_reduce_region.cpp: // invoke compute if not previously invoked +compute_reduce_region.cpp: // check if fix frequency is a match +compute_reduce_region.cpp: // evaluate atom-style variable +compute_reduce_region.cpp: memory->create(varatom,maxatom,"reduce/region:varatom"); +compute_reduce_region.cpp:/* ---------------------------------------------------------------------- */ +compute_slice.cpp:/* ---------------------------------------------------------------------- +compute_slice.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_slice.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_slice.cpp:------------------------------------------------------------------------- */ +compute_slice.cpp:/* ---------------------------------------------------------------------- */ +compute_slice.cpp: // parse remaining values until one isn't recognized +compute_slice.cpp: // setup and error check +compute_slice.cpp: // this compute produces either a vector or array +compute_slice.cpp: // for vector, set intensive/extensive to mirror input values +compute_slice.cpp: // for array, set intensive if all input values are intensive, else extensive +compute_slice.cpp: size_vector = (nstop-nstart) / nskip; +compute_slice.cpp: size_array_rows = (nstop-nstart) / nskip; +compute_slice.cpp: // variable is always intensive, does not change extarray +compute_slice.cpp:/* ---------------------------------------------------------------------- */ +compute_slice.cpp:/* ---------------------------------------------------------------------- */ +compute_slice.cpp: // set indices and check validity of all computes,fixes +compute_slice.cpp:/* ---------------------------------------------------------------------- */ +compute_slice.cpp:/* ---------------------------------------------------------------------- */ +compute_slice.cpp:/* ---------------------------------------------------------------------- +compute_slice.cpp:------------------------------------------------------------------------- */ +compute_slice.cpp: // invoke the appropriate compute if needed +compute_slice.cpp: // access fix fields, check if fix frequency is a match +compute_slice.cpp: // invoke vector-style variable +compute_spin.cpp:/* ---------------------------------------------------------------------- +compute_spin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_spin.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_spin.cpp:------------------------------------------------------------------------- */ +compute_spin.cpp:/* ---------------------------------------------------------------------- */ +compute_spin.cpp: if ((narg != 3) && (narg != 4)) error->all(FLERR,"Illegal compute compute/spin command"); +compute_spin.cpp:/* ---------------------------------------------------------------------- */ +compute_spin.cpp:/* ---------------------------------------------------------------------- */ +compute_spin.cpp: hbar = force->hplanck/MY_2PI; +compute_spin.cpp:/* ---------------------------------------------------------------------- */ +compute_spin.cpp: // compute total magnetization and magnetic energy +compute_spin.cpp: // compute spin temperature; See Nurdin et al., Phys. Rev. E 61, 2000 +compute_spin.cpp: else error->all(FLERR,"Compute spin/compute declared magnetic quantities (sp and mumag flags)"); +compute_spin.cpp: double scale = 1.0/countsptot; +compute_spin.cpp: spintemperature = hbar*tempnumtot/2.0/kb/tempdenomtot; +compute_spin.cpp:/* ---------------------------------------------------------------------- +compute_spin.cpp:------------------------------------------------------------------------- */ +compute_spin.cpp: memory->create(mag,4,"compute/spin:mag"); +compute_spin.cpp: memory->create(magtot,5,"compute/spin:mag"); +compute_spin.cpp: memory->create(vector,7,"compute/spin:vector"); +compute_stress_atom.cpp:/* ---------------------------------------------------------------------- +compute_stress_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_stress_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_stress_atom.cpp:------------------------------------------------------------------------- */ +compute_stress_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_stress_atom.cpp: if (narg < 4) error->all(FLERR,"Illegal compute stress/atom command"); +compute_stress_atom.cpp: // store temperature ID used by stress computation +compute_stress_atom.cpp: // insure it is valid for temperature computation +compute_stress_atom.cpp: error->all(FLERR,"Could not find compute stress/atom temperature ID"); +compute_stress_atom.cpp: "Compute stress/atom temperature ID does not " +compute_stress_atom.cpp: // process optional args +compute_stress_atom.cpp: } else error->all(FLERR,"Illegal compute stress/atom command"); +compute_stress_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_stress_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_stress_atom.cpp: // set temperature compute, must be done in init() +compute_stress_atom.cpp: // fixes could have changed or compute_modify could have changed it +compute_stress_atom.cpp: error->all(FLERR,"Could not find compute stress/atom temperature ID"); +compute_stress_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_stress_atom.cpp: // grow local stress array if necessary +compute_stress_atom.cpp: // needs to be atom->nmax in length +compute_stress_atom.cpp: memory->create(stress,nmax,6,"stress/atom:stress"); +compute_stress_atom.cpp: // npair includes ghosts if either newton flag is set +compute_stress_atom.cpp: // b/c some bonds/dihedrals call pair::ev_tally with pairwise info +compute_stress_atom.cpp: // nbond includes ghosts if newton_bond is set +compute_stress_atom.cpp: // ntotal includes ghosts if either newton flag is set +compute_stress_atom.cpp: // KSpace includes ghosts if tip4pflag is set +compute_stress_atom.cpp: // clear local stress array +compute_stress_atom.cpp: // add in per-atom contributions from each force +compute_stress_atom.cpp: // add in per-atom contributions from relevant fixes +compute_stress_atom.cpp: // skip if vatom = NULL +compute_stress_atom.cpp: // possible during setup phase if fix has not initialized its vatom yet +compute_stress_atom.cpp: // e.g. fix ave/spatial defined before fix shake, +compute_stress_atom.cpp: // and fix ave/spatial uses a per-atom stress from this compute as input +compute_stress_atom.cpp: // communicate ghost virials between neighbor procs +compute_stress_atom.cpp: // zero virial of atoms not in group +compute_stress_atom.cpp: // only do this after comm since ghost contributions must be included +compute_stress_atom.cpp: // include kinetic energy term for each atom in group +compute_stress_atom.cpp: // apply temperature bias is applicable +compute_stress_atom.cpp: // mvv2e converts mv^2 to energy +compute_stress_atom.cpp: // invoke temperature if it hasn't been already +compute_stress_atom.cpp: // this insures bias factor is pre-computed +compute_stress_atom.cpp: // convert to stress*volume units = -pressure*volume +compute_stress_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_stress_atom.cpp:/* ---------------------------------------------------------------------- */ +compute_stress_atom.cpp:/* ---------------------------------------------------------------------- +compute_stress_atom.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_temp_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_chunk.cpp: if (narg < 4) error->all(FLERR,"Illegal compute temp/chunk command"); +compute_temp_chunk.cpp: // ID of compute chunk/atom +compute_temp_chunk.cpp: // optional per-chunk values +compute_temp_chunk.cpp: // optional args +compute_temp_chunk.cpp: error->all(FLERR,"Illegal compute temp/chunk command"); +compute_temp_chunk.cpp: else error->all(FLERR,"Illegal compute temp/chunk command"); +compute_temp_chunk.cpp: error->all(FLERR,"Illegal compute temp/chunk command"); +compute_temp_chunk.cpp: error->all(FLERR,"Illegal compute temp/chunk command"); +compute_temp_chunk.cpp: error->all(FLERR,"Illegal compute temp/chunk command"); +compute_temp_chunk.cpp: } else error->all(FLERR,"Illegal compute temp/chunk command"); +compute_temp_chunk.cpp: // error check on bias compute +compute_temp_chunk.cpp: // this compute only calculates a bias, if comflag is set +compute_temp_chunk.cpp: // won't be two biases since comflag and biasflag cannot both be set +compute_temp_chunk.cpp: error->all(FLERR,"Cannot use both com and bias with compute temp/chunk"); +compute_temp_chunk.cpp: // vector data +compute_temp_chunk.cpp: // chunk-based data +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " +compute_temp_chunk.cpp: "compute temp/chunk"); +compute_temp_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) +compute_temp_chunk.cpp: error->all(FLERR,"Compute temp/chunk does not use chunk/atom compute"); +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_chunk.cpp: // calculate chunk assignments, +compute_temp_chunk.cpp: // since only atoms in chunks contribute to global temperature +compute_temp_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_temp_chunk.cpp: // extract ichunk index vector from compute +compute_temp_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_temp_chunk.cpp: // remove velocity bias +compute_temp_chunk.cpp: // calculate COM velocity for each chunk +compute_temp_chunk.cpp: // won't be invoked with bias also removed = 2 biases +compute_temp_chunk.cpp: // calculate global temperature, optionally removing COM velocity +compute_temp_chunk.cpp: // restore velocity bias +compute_temp_chunk.cpp: // final temperature +compute_temp_chunk.cpp: if (dof > 0.0) tfactor = force->mvv2e / (dof * force->boltz); +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_chunk.cpp: // calculate chunk assignments, +compute_temp_chunk.cpp: // since only atoms in chunks contribute to global temperature +compute_temp_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_temp_chunk.cpp: // extract ichunk index vector from compute +compute_temp_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_temp_chunk.cpp: // remove velocity bias +compute_temp_chunk.cpp: // calculate COM velocity for each chunk +compute_temp_chunk.cpp: // won't be invoked with bias also removed = 2 biases +compute_temp_chunk.cpp: // calculate KE tensor, optionally removing COM velocity +compute_temp_chunk.cpp: // restore velocity bias +compute_temp_chunk.cpp: // final KE +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_temp_chunk.cpp: // extract ichunk index vector from compute +compute_temp_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_temp_chunk.cpp: // remove velocity bias +compute_temp_chunk.cpp: // calculate COM velocity for each chunk whether comflag set or not +compute_temp_chunk.cpp: // needed by some values even if comflag not set +compute_temp_chunk.cpp: // important to do this after velocity bias is removed +compute_temp_chunk.cpp: // otherwise per-chunk values that use both v and vcm will be inconsistent +compute_temp_chunk.cpp: // compute each value +compute_temp_chunk.cpp: // restore velocity bias +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp: // avoid re-computing VCM more than once per step +compute_temp_chunk.cpp: vcmall[i][0] /= masstotal[i]; +compute_temp_chunk.cpp: vcmall[i][1] /= masstotal[i]; +compute_temp_chunk.cpp: vcmall[i][2] /= masstotal[i]; +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp: // zero local per-chunk values +compute_temp_chunk.cpp: // per-chunk temperature, option for removing COM velocity +compute_temp_chunk.cpp: // sum across procs +compute_temp_chunk.cpp: // normalize temperatures by per-chunk DOF +compute_temp_chunk.cpp: if (dof > 0.0) tfactor = mvv2e / (dof * boltz); +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp: // zero local per-chunk values +compute_temp_chunk.cpp: // per-chunk COM KE +compute_temp_chunk.cpp: // sum across procs +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp: // zero local per-chunk values +compute_temp_chunk.cpp: // per-chunk internal KE +compute_temp_chunk.cpp: // sum across procs +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp: lock methods: called by fix ave/time +compute_temp_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch +compute_temp_chunk.cpp: by passing lock info along to compute chunk/atom +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp: calculate and return # of chunks = length of vector/array +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_chunk.cpp: memory->create(sum,maxchunk,"temp/chunk:sum"); +compute_temp_chunk.cpp: memory->create(sumall,maxchunk,"temp/chunk:sumall"); +compute_temp_chunk.cpp: memory->create(count,maxchunk,"temp/chunk:count"); +compute_temp_chunk.cpp: memory->create(countall,maxchunk,"temp/chunk:countall"); +compute_temp_chunk.cpp: memory->create(array,maxchunk,nvalues,"temp/chunk:array"); +compute_temp_chunk.cpp: memory->create(massproc,maxchunk,"vcm/chunk:massproc"); +compute_temp_chunk.cpp: memory->create(masstotal,maxchunk,"vcm/chunk:masstotal"); +compute_temp_chunk.cpp: memory->create(vcm,maxchunk,3,"vcm/chunk:vcm"); +compute_temp_chunk.cpp: memory->create(vcmall,maxchunk,3,"vcm/chunk:vcmall"); +compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- +compute_temp_chunk.cpp:------------------------------------------------------------------------- */ +compute_temp_com.cpp:/* ---------------------------------------------------------------------- +compute_temp_com.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_temp_com.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_temp_com.cpp:------------------------------------------------------------------------- */ +compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_com.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); +compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_com.cpp:/* ---------------------------------------------------------------------- +compute_temp_com.cpp:------------------------------------------------------------------------- */ +compute_temp_com.cpp:/* ---------------------------------------------------------------------- +compute_temp_com.cpp:------------------------------------------------------------------------- */ +compute_temp_com.cpp:/* ---------------------------------------------------------------------- +compute_temp_com.cpp:------------------------------------------------------------------------- */ +compute_temp_com.cpp:/* ---------------------------------------------------------------------- +compute_temp_com.cpp:------------------------------------------------------------------------- */ +compute_temp.cpp:/* ---------------------------------------------------------------------- +compute_temp.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_temp.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_temp.cpp:------------------------------------------------------------------------- */ +compute_temp.cpp:/* ---------------------------------------------------------------------- */ +compute_temp.cpp:/* ---------------------------------------------------------------------- */ +compute_temp.cpp:/* ---------------------------------------------------------------------- */ +compute_temp.cpp:/* ---------------------------------------------------------------------- */ +compute_temp.cpp: if (dof > 0.0) tfactor = force->mvv2e / (dof * force->boltz); +compute_temp.cpp:/* ---------------------------------------------------------------------- */ +compute_temp.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- +compute_temp_deform.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_temp_deform.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_temp_deform.cpp:------------------------------------------------------------------------- */ +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- +compute_temp_deform.cpp:------------------------------------------------------------------------- */ +compute_temp_deform.cpp:enum{NO_REMAP,X_REMAP,V_REMAP}; // same as fix_deform.cpp +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_deform.cpp: if (narg != 3) error->all(FLERR,"Illegal compute temp/deform command"); +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_deform.cpp: // check fix deform remap settings +compute_temp_deform.cpp: error->warning(FLERR,"Using compute temp/deform with inconsistent " +compute_temp_deform.cpp: "Using compute temp/deform with no fix deform defined"); +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_deform.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_deform.cpp: // lamda = 0-1 triclinic lamda coords +compute_temp_deform.cpp: // vstream = streaming velocity = Hrate*lamda + Hratelo +compute_temp_deform.cpp: // vthermal = thermal velocity = v - vstream +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- +compute_temp_deform.cpp:------------------------------------------------------------------------- */ +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- +compute_temp_deform.cpp:------------------------------------------------------------------------- */ +compute_temp_deform.cpp: memory->create(vbiasall,maxbias,3,"temp/deform:vbiasall"); +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- +compute_temp_deform.cpp:------------------------------------------------------------------------- */ +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- +compute_temp_deform.cpp:------------------------------------------------------------------------- */ +compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- +compute_temp_partial.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_temp_partial.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_temp_partial.cpp:------------------------------------------------------------------------- */ +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_partial.cpp: if (narg != 6) error->all(FLERR,"Illegal compute temp/partial command"); +compute_temp_partial.cpp: error->all(FLERR,"Illegal compute temp/partial command"); +compute_temp_partial.cpp: error->all(FLERR,"Compute temp/partial cannot use vz for 2d systemx"); +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- +compute_temp_partial.cpp: DOF = nper/dim (dim*N - S), where dim = dimensionality = 2 or 3 +compute_temp_partial.cpp:------------------------------------------------------------------------- */ +compute_temp_partial.cpp: // distribute extra dofs evenly across active dimensions +compute_temp_partial.cpp: dof -= (1.0*nper/domain->dimension)*(fix_dof + extra_dof); +compute_temp_partial.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- +compute_temp_partial.cpp:------------------------------------------------------------------------- */ +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- +compute_temp_partial.cpp:------------------------------------------------------------------------- */ +compute_temp_partial.cpp: memory->create(vbiasall,maxbias,3,"temp/partial:vbiasall"); +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- +compute_temp_partial.cpp:------------------------------------------------------------------------- */ +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- +compute_temp_partial.cpp:------------------------------------------------------------------------- */ +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- +compute_temp_partial.cpp:------------------------------------------------------------------------- */ +compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- +compute_temp_profile.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_temp_profile.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_temp_profile.cpp:------------------------------------------------------------------------- */ +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_profile.cpp: if (narg < 7) error->all(FLERR,"Illegal compute temp/profile command"); +compute_temp_profile.cpp: error->all(FLERR,"Compute temp/profile cannot use vz for 2d systemx"); +compute_temp_profile.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/profile command"); +compute_temp_profile.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/profile command"); +compute_temp_profile.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/profile command"); +compute_temp_profile.cpp: error->all(FLERR,"Compute temp/profile cannot bin z for 2d systems"); +compute_temp_profile.cpp: if (iarg+3 > narg) error->all(FLERR,"Illegal compute temp/profile command"); +compute_temp_profile.cpp: if (iarg+3 > narg) error->all(FLERR,"Illegal compute temp/profile command"); +compute_temp_profile.cpp: error->all(FLERR,"Compute temp/profile cannot bin z for 2d systems"); +compute_temp_profile.cpp: if (iarg+3 > narg) error->all(FLERR,"Illegal compute temp/profile command"); +compute_temp_profile.cpp: error->all(FLERR,"Compute temp/profile cannot bin z for 2d systems"); +compute_temp_profile.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal compute temp/profile command"); +compute_temp_profile.cpp: error->all(FLERR,"Compute temp/profile cannot bin z for 2d systems"); +compute_temp_profile.cpp: } else error->all(FLERR,"Illegal compute temp/profile command"); +compute_temp_profile.cpp: // optional keywords +compute_temp_profile.cpp: error->all(FLERR,"Illegal compute temp/profile command"); +compute_temp_profile.cpp: else error->all(FLERR,"Illegal compute temp/profile command"); +compute_temp_profile.cpp: } else error->all(FLERR,"Illegal compute temp/profile command"); +compute_temp_profile.cpp: // setup +compute_temp_profile.cpp: if (nbins <= 0) error->all(FLERR,"Illegal compute temp/profile command"); +compute_temp_profile.cpp: memory->create(vbin,nbins,ncount,"temp/profile:vbin"); +compute_temp_profile.cpp: memory->create(binave,nbins,ncount,"temp/profile:binave"); +compute_temp_profile.cpp: memory->create(tbin,nbins,"temp/profile:tbin"); +compute_temp_profile.cpp: memory->create(tbinall,nbins,"temp/profile:tbinall"); +compute_temp_profile.cpp: memory->create(array,nbins,2,"temp/profile:array"); +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_profile.cpp: // ptrs to domain data +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_profile.cpp: // subtract additional d*Nbins DOF, as in Evans and Morriss paper +compute_temp_profile.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_profile.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- +compute_temp_profile.cpp:------------------------------------------------------------------------- */ +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- +compute_temp_profile.cpp:------------------------------------------------------------------------- */ +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- +compute_temp_profile.cpp:------------------------------------------------------------------------- */ +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- +compute_temp_profile.cpp:------------------------------------------------------------------------- */ +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- +compute_temp_profile.cpp:------------------------------------------------------------------------- */ +compute_temp_profile.cpp: // clear bins, including particle mass and count +compute_temp_profile.cpp: // sum each particle's mass-weighted velocity, mass, count to appropriate bin +compute_temp_profile.cpp: // sum bins across processors +compute_temp_profile.cpp: // compute ave COM velocity in each bin, checking for no particles +compute_temp_profile.cpp: binave[i][j] /= binave[i][nc2]; +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- +compute_temp_profile.cpp:------------------------------------------------------------------------- */ +compute_temp_profile.cpp: invdelta[0] = nbinx / prd[0]; +compute_temp_profile.cpp: invdelta[1] = nbiny / prd[1]; +compute_temp_profile.cpp: invdelta[2] = nbinz / prd[2]; +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- +compute_temp_profile.cpp:------------------------------------------------------------------------- */ +compute_temp_profile.cpp: // reallocate bin array if necessary +compute_temp_profile.cpp: memory->create(bin,maxatom,"temp/profile:bin"); +compute_temp_profile.cpp: // assign each atom to a bin, accounting for PBC +compute_temp_profile.cpp: // if triclinic, do this in lamda space +compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- +compute_temp_ramp.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_temp_ramp.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_temp_ramp.cpp:------------------------------------------------------------------------- */ +compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_ramp.cpp: // parse optional args +compute_temp_ramp.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/ramp command"); +compute_temp_ramp.cpp: else error->all(FLERR,"Illegal compute temp/ramp command"); +compute_temp_ramp.cpp: } else error->all(FLERR,"Illegal compute temp/ramp command"); +compute_temp_ramp.cpp: // setup scaling +compute_temp_ramp.cpp: // read standard args and apply scaling +compute_temp_ramp.cpp: else error->all(FLERR,"Illegal compute temp/ramp command"); +compute_temp_ramp.cpp: else error->all(FLERR,"Illegal compute temp/ramp command"); +compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_ramp.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); +compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_ramp.cpp: fraction = (x[i][coord_dim] - coord_lo) / (coord_hi - coord_lo); +compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_ramp.cpp: fraction = (x[i][coord_dim] - coord_lo) / (coord_hi - coord_lo); +compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- +compute_temp_ramp.cpp:------------------------------------------------------------------------- */ +compute_temp_ramp.cpp: double fraction = (atom->x[i][coord_dim] - coord_lo) / (coord_hi - coord_lo); +compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- +compute_temp_ramp.cpp:------------------------------------------------------------------------- */ +compute_temp_ramp.cpp: memory->create(vbiasall,maxbias,3,"temp/ramp:vbiasall"); +compute_temp_ramp.cpp: fraction = (atom->x[i][coord_dim] - coord_lo) / (coord_hi - coord_lo); +compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- +compute_temp_ramp.cpp:------------------------------------------------------------------------- */ +compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- +compute_temp_ramp.cpp:------------------------------------------------------------------------- */ +compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_region.cpp:/* ---------------------------------------------------------------------- +compute_temp_region.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_temp_region.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_temp_region.cpp:------------------------------------------------------------------------- */ +compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_region.cpp: if (narg != 4) error->all(FLERR,"Illegal compute temp/region command"); +compute_temp_region.cpp: error->all(FLERR,"Region ID for compute temp/region does not exist"); +compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_region.cpp: // set index and check validity of region +compute_temp_region.cpp: error->all(FLERR,"Region ID for compute temp/region does not exist"); +compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_region.cpp: if (dof > 0) scalar = force->mvv2e * tarray_all[1] / (dof * force->boltz); +compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_region.cpp:/* ---------------------------------------------------------------------- +compute_temp_region.cpp:------------------------------------------------------------------------- */ +compute_temp_region.cpp:/* ---------------------------------------------------------------------- +compute_temp_region.cpp:------------------------------------------------------------------------- */ +compute_temp_region.cpp: memory->create(vbiasall,maxbias,3,"temp/region:vbiasall"); +compute_temp_region.cpp:/* ---------------------------------------------------------------------- +compute_temp_region.cpp:------------------------------------------------------------------------- */ +compute_temp_region.cpp:/* ---------------------------------------------------------------------- +compute_temp_region.cpp:------------------------------------------------------------------------- */ +compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- +compute_temp_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_temp_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_temp_sphere.cpp:------------------------------------------------------------------------- */ +compute_temp_sphere.cpp:#define INERTIA 0.4 // moment of inertia prefactor for sphere +compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_sphere.cpp: if (narg < 3) error->all(FLERR,"Illegal compute temp/sphere command"); +compute_temp_sphere.cpp: error->all(FLERR,"Illegal compute temp/sphere command"); +compute_temp_sphere.cpp: error->all(FLERR,"Illegal compute temp/sphere command"); +compute_temp_sphere.cpp: else error->all(FLERR,"Illegal compute temp/sphere command"); +compute_temp_sphere.cpp: } else error->all(FLERR,"Illegal compute temp/sphere command"); +compute_temp_sphere.cpp: // when computing only the rotational temperature, +compute_temp_sphere.cpp: // do not remove DOFs for translation as set by default +compute_temp_sphere.cpp: // error checks +compute_temp_sphere.cpp: error->all(FLERR,"Compute temp/sphere requires atom style sphere"); +compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_sphere.cpp: if (strcmp(tbias->style,"temp/region") == 0) tempbias = 2; +compute_temp_sphere.cpp: // init and setup bias compute because +compute_temp_sphere.cpp: // this compute's setup()->dof_compute() may be called first +compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_sphere.cpp: // 6 or 3 dof for extended/point particles for 3d +compute_temp_sphere.cpp: // 3 or 2 dof for extended/point particles for 2d +compute_temp_sphere.cpp: // which dof are included also depends on mode +compute_temp_sphere.cpp: // assume full rotation of extended particles +compute_temp_sphere.cpp: // user should correct this via compute_modify if needed +compute_temp_sphere.cpp: // additional adjustments to dof +compute_temp_sphere.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); +compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_sphere.cpp: // point particles will not contribute rotation due to radius = 0 +compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ +compute_temp_sphere.cpp: // point particles will not contribute rotation due to radius = 0 +compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- +compute_temp_sphere.cpp:------------------------------------------------------------------------- */ +compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- +compute_temp_sphere.cpp:------------------------------------------------------------------------- */ +compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- +compute_torque_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_torque_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_torque_chunk.cpp:------------------------------------------------------------------------- */ +compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_torque_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute torque/chunk command"); +compute_torque_chunk.cpp: // ID of compute chunk/atom +compute_torque_chunk.cpp: // chunk-based data +compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_torque_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " +compute_torque_chunk.cpp: "compute torque/chunk"); +compute_torque_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) +compute_torque_chunk.cpp: error->all(FLERR,"Compute torque/chunk does not use chunk/atom compute"); +compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_torque_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_torque_chunk.cpp: // extract ichunk index vector from compute +compute_torque_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_torque_chunk.cpp: // zero local per-chunk values +compute_torque_chunk.cpp: // compute COM for each chunk +compute_torque_chunk.cpp: comall[i][0] /= masstotal[i]; +compute_torque_chunk.cpp: comall[i][1] /= masstotal[i]; +compute_torque_chunk.cpp: comall[i][2] /= masstotal[i]; +compute_torque_chunk.cpp: // compute torque on each chunk +compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- +compute_torque_chunk.cpp: lock methods: called by fix ave/time +compute_torque_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch +compute_torque_chunk.cpp: by passing lock info along to compute chunk/atom +compute_torque_chunk.cpp:------------------------------------------------------------------------- */ +compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- +compute_torque_chunk.cpp:------------------------------------------------------------------------- */ +compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- +compute_torque_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists +compute_torque_chunk.cpp:------------------------------------------------------------------------- */ +compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- +compute_torque_chunk.cpp: calculate and return # of chunks = length of vector/array +compute_torque_chunk.cpp:------------------------------------------------------------------------- */ +compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- +compute_torque_chunk.cpp:------------------------------------------------------------------------- */ +compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- +compute_torque_chunk.cpp:------------------------------------------------------------------------- */ +compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- +compute_torque_chunk.cpp:------------------------------------------------------------------------- */ +compute_torque_chunk.cpp: memory->create(massproc,maxchunk,"torque/chunk:massproc"); +compute_torque_chunk.cpp: memory->create(masstotal,maxchunk,"torque/chunk:masstotal"); +compute_torque_chunk.cpp: memory->create(com,maxchunk,3,"torque/chunk:com"); +compute_torque_chunk.cpp: memory->create(comall,maxchunk,3,"torque/chunk:comall"); +compute_torque_chunk.cpp: memory->create(torque,maxchunk,3,"torque/chunk:torque"); +compute_torque_chunk.cpp: memory->create(torqueall,maxchunk,3,"torque/chunk:torqueall"); +compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- +compute_torque_chunk.cpp:------------------------------------------------------------------------- */ +compute_vacf.cpp:/* ---------------------------------------------------------------------- +compute_vacf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_vacf.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_vacf.cpp:------------------------------------------------------------------------- */ +compute_vacf.cpp:/* ---------------------------------------------------------------------- */ +compute_vacf.cpp: // create a new fix STORE style +compute_vacf.cpp: // id = compute-ID + COMPUTE_STORE, fix group = compute group +compute_vacf.cpp: // store current velocities in fix store array +compute_vacf.cpp: // skip if reset from restart file +compute_vacf.cpp: // displacement vector +compute_vacf.cpp:/* ---------------------------------------------------------------------- */ +compute_vacf.cpp: // check nfix in case all fixes have already been deleted +compute_vacf.cpp:/* ---------------------------------------------------------------------- */ +compute_vacf.cpp: // set fix which stores original atom velocities +compute_vacf.cpp: // nvacf = # of atoms in group +compute_vacf.cpp:/* ---------------------------------------------------------------------- */ +compute_vacf.cpp: vector[0] /= nvacf; +compute_vacf.cpp: vector[1] /= nvacf; +compute_vacf.cpp: vector[2] /= nvacf; +compute_vacf.cpp: vector[3] /= nvacf; +compute_vacf.cpp:/* ---------------------------------------------------------------------- +compute_vacf.cpp:------------------------------------------------------------------------- */ +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- +compute_vcm_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +compute_vcm_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories +compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_vcm_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute vcm/chunk command"); +compute_vcm_chunk.cpp: // ID of compute chunk/atom +compute_vcm_chunk.cpp: // chunk-based data +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_vcm_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for compute vcm/chunk"); +compute_vcm_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) +compute_vcm_chunk.cpp: error->all(FLERR,"Compute vcm/chunk does not use chunk/atom compute"); +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_vcm_chunk.cpp: // one-time calculation of per-chunk mass +compute_vcm_chunk.cpp: // done in setup, so that ComputeChunkAtom::setup() is already called +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- */ +compute_vcm_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +compute_vcm_chunk.cpp: // extract ichunk index vector from compute +compute_vcm_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +compute_vcm_chunk.cpp: // zero local per-chunk values +compute_vcm_chunk.cpp: // compute VCM for each chunk +compute_vcm_chunk.cpp: vcmall[i][0] /= masstotal[i]; +compute_vcm_chunk.cpp: vcmall[i][1] /= masstotal[i]; +compute_vcm_chunk.cpp: vcmall[i][2] /= masstotal[i]; +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- +compute_vcm_chunk.cpp: lock methods: called by fix ave/time +compute_vcm_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch +compute_vcm_chunk.cpp: by passing lock info along to compute chunk/atom +compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- +compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- +compute_vcm_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists +compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- +compute_vcm_chunk.cpp: calculate and return # of chunks = length of vector/array +compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- +compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- +compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- +compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ +compute_vcm_chunk.cpp: memory->create(massproc,maxchunk,"vcm/chunk:massproc"); +compute_vcm_chunk.cpp: memory->create(masstotal,maxchunk,"vcm/chunk:masstotal"); +compute_vcm_chunk.cpp: memory->create(vcm,maxchunk,3,"vcm/chunk:vcm"); +compute_vcm_chunk.cpp: memory->create(vcmall,maxchunk,3,"vcm/chunk:vcmall"); +compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- +compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ +create_atoms.cpp:/* ---------------------------------------------------------------------- +create_atoms.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +create_atoms.cpp: http://lammps.sandia.gov, Sandia National Laboratories +create_atoms.cpp:------------------------------------------------------------------------- */ +create_atoms.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files +create_atoms.cpp:/* ---------------------------------------------------------------------- */ +create_atoms.cpp:/* ---------------------------------------------------------------------- */ +create_atoms.cpp: // parse arguments +create_atoms.cpp: // process optional keywords +create_atoms.cpp: // error checks +create_atoms.cpp: // error check and further setup for mode = MOLECULE +create_atoms.cpp: // create_atoms uses geoemetric center of molecule for insertion +create_atoms.cpp: // molecule random number generator, different for each proc +create_atoms.cpp: // error check and further setup for variable test +create_atoms.cpp: // demand non-none lattice be defined for BOX and REGION +create_atoms.cpp: // else setup scaling for SINGLE and RANDOM +create_atoms.cpp: // could use domain->lattice->lattice2box() to do conversion of +create_atoms.cpp: // lattice to box, but not consistent with other uses of units=lattice +create_atoms.cpp: // triclinic remapping occurs in add_single() +create_atoms.cpp: // set bounds for my proc in sublo[3] & subhi[3] +create_atoms.cpp: // if periodic and style = BOX or REGION, i.e. using lattice: +create_atoms.cpp: // should create exactly 1 atom when 2 images are both "on" the boundary +create_atoms.cpp: // either image may be slightly inside/outside true box due to round-off +create_atoms.cpp: // if I am lo proc, decrement lower bound by EPSILON +create_atoms.cpp: // this will insure lo image is created +create_atoms.cpp: // if I am hi proc, decrement upper bound by 2.0*EPSILON +create_atoms.cpp: // this will insure hi image is not created +create_atoms.cpp: // thus insertion box is EPSILON smaller than true box +create_atoms.cpp: // and is shifted away from true boundary +create_atoms.cpp: // which is where atoms are likely to be generated +create_atoms.cpp: // clear ghost count and any ghost bonus data internal to AtomVec +create_atoms.cpp: // same logic as beginning of Comm::exchange() +create_atoms.cpp: // do it now b/c creating atoms will overwrite ghost atoms +create_atoms.cpp: // add atoms/molecules in one of 3 ways +create_atoms.cpp: // init per-atom fix/compute/variable values for created atoms +create_atoms.cpp: // set new total # of atoms and error check +create_atoms.cpp: // add IDs for newly created atoms +create_atoms.cpp: // check that atom IDs are valid +create_atoms.cpp: // if global map exists, reset it +create_atoms.cpp: // invoke map_init() b/c atom count has grown +create_atoms.cpp: // for MOLECULE mode: +create_atoms.cpp: // molecule can mean just a mol ID or bonds/angles/etc or mol templates +create_atoms.cpp: // set molecule IDs for created atoms if atom->molecule_flag is set +create_atoms.cpp: // reset new molecule bond,angle,etc and special values if defined +create_atoms.cpp: // send atoms to new owning procs via irregular comm +create_atoms.cpp: // since not all atoms I created will be within my sub-domain +create_atoms.cpp: // perform special list build if needed +create_atoms.cpp: // molcreate = # of molecules I created +create_atoms.cpp: int molcreate = (atom->nlocal - nlocal_previous) / onemol->natoms; +create_atoms.cpp: // increment total bonds,angles,etc +create_atoms.cpp: // if atom style template +create_atoms.cpp: // maxmol = max molecule ID across all procs, for previous atoms +create_atoms.cpp: // moloffset = max molecule ID for all molecules owned by previous procs +create_atoms.cpp: // including molecules existing before this creation +create_atoms.cpp: // loop over molecules I created +create_atoms.cpp: // set their molecule ID +create_atoms.cpp: // reset their bond,angle,etc and special values +create_atoms.cpp: // perform irregular comm to migrate atoms to new owning procs +create_atoms.cpp: // clean up +create_atoms.cpp: // print status +create_atoms.cpp: // for MOLECULE mode: +create_atoms.cpp: // create special bond lists for molecular systems, +create_atoms.cpp: // but not for atom style template +create_atoms.cpp: // only if onemol added bonds but not special info +create_atoms.cpp:/* ---------------------------------------------------------------------- +create_atoms.cpp:------------------------------------------------------------------------- */ +create_atoms.cpp: // remap atom if requested +create_atoms.cpp: // if triclinic, convert to lamda coords (0-1) +create_atoms.cpp: // if atom/molecule is in my subbox, create it +create_atoms.cpp:/* ---------------------------------------------------------------------- +create_atoms.cpp:------------------------------------------------------------------------- */ +create_atoms.cpp: // random number generator, same for all procs +create_atoms.cpp: // bounding box for atom creation +create_atoms.cpp: // in real units, even if triclinic +create_atoms.cpp: // only limit bbox by region if its bboxflag is set (interior region) +create_atoms.cpp: // generate random positions for each new atom/molecule within bounding box +create_atoms.cpp: // iterate until atom is within region, variable, and triclinic simulation box +create_atoms.cpp: // if final atom position is in my subbox, create it +create_atoms.cpp: // if triclinic, coord is now in lamda units +create_atoms.cpp: // clean-up +create_atoms.cpp:/* ---------------------------------------------------------------------- +create_atoms.cpp:------------------------------------------------------------------------- */ +create_atoms.cpp: // convert 8 corners of my subdomain from box coords to lattice coords +create_atoms.cpp: // for orthogonal, use corner pts of my subbox +create_atoms.cpp: // for triclinic, use bounding box of my subbox +create_atoms.cpp: // xyz min to max = bounding box around the domain corners in lattice space +create_atoms.cpp: // ilo:ihi,jlo:jhi,klo:khi = loop bounds for lattice overlap of my subbox +create_atoms.cpp: // overlap = any part of a unit cell (face,edge,pt) in common with my subbox +create_atoms.cpp: // in lattice space, subbox is a tilted box +create_atoms.cpp: // but bbox of subbox is aligned with lattice axes +create_atoms.cpp: // so ilo:khi unit cells should completely tile bounding box +create_atoms.cpp: // decrement lo, increment hi to avoid round-off issues in lattice->bbox(), +create_atoms.cpp: // which can lead to missing atoms in rare cases +create_atoms.cpp: // extra decrement of lo if min < 0, since static_cast(-1.5) = -1 +create_atoms.cpp: // iterate on 3d periodic lattice of unit cells using loop bounds +create_atoms.cpp: // iterate on nbasis atoms in each unit cell +create_atoms.cpp: // convert lattice coords to box coords +create_atoms.cpp: // add atom or molecule (on each basis point) if it meets all criteria +create_atoms.cpp: // convert from lattice coords to box coords +create_atoms.cpp: // if a region was specified, test if atom is in it +create_atoms.cpp: // if variable test specified, eval variable +create_atoms.cpp: // test if atom/molecule position is in my subbox +create_atoms.cpp: // add the atom or entire molecule to my list of atoms +create_atoms.cpp:/* ---------------------------------------------------------------------- +create_atoms.cpp:------------------------------------------------------------------------- */ +create_atoms.cpp: // create atoms in molecule with atom ID = 0 and mol ID = 0 +create_atoms.cpp: // reset in caller after all molecules created by all procs +create_atoms.cpp: // pass add_molecule_atom an offset of 0 since don't know +create_atoms.cpp: // max tag of atoms in previous molecules at this point +create_atoms.cpp:/* ---------------------------------------------------------------------- +create_atoms.cpp:------------------------------------------------------------------------- */ +create_bonds.cpp:/* ---------------------------------------------------------------------- +create_bonds.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +create_bonds.cpp: http://lammps.sandia.gov, Sandia National Laboratories +create_bonds.cpp:------------------------------------------------------------------------- */ +create_bonds.cpp:/* ---------------------------------------------------------------------- */ +create_bonds.cpp:/* ---------------------------------------------------------------------- */ +create_bonds.cpp: // parse args +create_bonds.cpp: // store state before bond creation +create_bonds.cpp: // request a full neighbor list for use by this command +create_bonds.cpp: // init entire system since comm->borders and neighbor->build is done +create_bonds.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc +create_bonds.cpp: // error check on cutoff +create_bonds.cpp: // if no pair style, neighbor list will be empty +create_bonds.cpp: // require special_bonds 1-2 weights = 0.0 and KSpace = NULL +create_bonds.cpp: // so that already bonded atom pairs do not appear in neighbor list +create_bonds.cpp: // otherwise with newton_bond = 1, +create_bonds.cpp: // would be hard to check if I-J bond already existed +create_bonds.cpp: // note that with KSpace, pair with weight = 0 could still be in neigh list +create_bonds.cpp: // setup domain, communication and neighboring +create_bonds.cpp: // acquire ghosts and build standard neighbor lists +create_bonds.cpp: // build neighbor list this command needs based on earlier request +create_bonds.cpp: // loop over all neighs of each atom +create_bonds.cpp: // compute distance between two atoms consistently on both procs +create_bonds.cpp: // add bond if group and distance criteria are met +create_bonds.cpp: // check that bond list does not overflow +create_bonds.cpp: // only consider bond creation if I,J distance between 2 cutoffs +create_bonds.cpp: // compute rsq identically on both I,J loop iterations +create_bonds.cpp: // if I,J tags equal, do not bond atom to itself +create_bonds.cpp: // only consider bond creation if igroup and jgroup match I,J atoms +create_bonds.cpp: // create bond, check for overflow +create_bonds.cpp: // on I,J loop iterations, store with 1 or 2 atoms based on newton_bond +create_bonds.cpp: // recount bonds +create_bonds.cpp: if (!force->newton_bond) atom->nbonds /= 2; +create_bonds.cpp: // print new bond count +create_bonds.cpp: // re-trigger special list build +create_box.cpp:/* ---------------------------------------------------------------------- +create_box.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +create_box.cpp: http://lammps.sandia.gov, Sandia National Laboratories +create_box.cpp:------------------------------------------------------------------------- */ +create_box.cpp:/* ---------------------------------------------------------------------- */ +create_box.cpp:/* ---------------------------------------------------------------------- */ +create_box.cpp: // region check +create_box.cpp: // if region not prism: +create_box.cpp: // setup orthogonal domain +create_box.cpp: // set simulation domain from region extent +create_box.cpp: // if region is prism: +create_box.cpp: // seutp triclinic domain +create_box.cpp: // set simulation domain params from prism params +create_box.cpp: // if molecular, zero out topology info +create_box.cpp: // set atom and topology type quantities +create_box.cpp: // process optional args that can overwrite default settings +create_box.cpp: if (strcmp(arg[iarg],"bond/types") == 0) { +create_box.cpp: } else if (strcmp(arg[iarg],"angle/types") == 0) { +create_box.cpp: } else if (strcmp(arg[iarg],"dihedral/types") == 0) { +create_box.cpp: } else if (strcmp(arg[iarg],"improper/types") == 0) { +create_box.cpp: } else if (strcmp(arg[iarg],"extra/bond/per/atom") == 0) { +create_box.cpp: } else if (strcmp(arg[iarg],"extra/angle/per/atom") == 0) { +create_box.cpp: } else if (strcmp(arg[iarg],"extra/dihedral/per/atom") == 0) { +create_box.cpp: } else if (strcmp(arg[iarg],"extra/improper/per/atom") == 0) { +create_box.cpp: } else if (strcmp(arg[iarg],"extra/special/per/atom") == 0) { +create_box.cpp: // problem setup using info from header +create_box.cpp: // deallocate/grow insures any extra settings are used for topology arrays +create_box.cpp: // necessary in case no create_atoms is performed +delete_atoms.cpp:/* ---------------------------------------------------------------------- +delete_atoms.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +delete_atoms.cpp: http://lammps.sandia.gov, Sandia National Laboratories +delete_atoms.cpp:------------------------------------------------------------------------- */ +delete_atoms.cpp:// allocate space for static class variable +delete_atoms.cpp:/* ---------------------------------------------------------------------- */ +delete_atoms.cpp:/* ---------------------------------------------------------------------- */ +delete_atoms.cpp: // store state before delete +delete_atoms.cpp: // flag atoms for deletion +delete_atoms.cpp: // if allflag = 1, just reset atom->nlocal +delete_atoms.cpp: // else delete atoms one by one +delete_atoms.cpp: // optionally delete additional bonds or atoms in molecules +delete_atoms.cpp: // delete local atoms flagged in dlist +delete_atoms.cpp: // reset nlocal +delete_atoms.cpp: // if non-molecular system and compress flag set, +delete_atoms.cpp: // reset atom tags to be contiguous +delete_atoms.cpp: // set all atom IDs to 0, call tag_extend() +delete_atoms.cpp: // reset atom->natoms and also topology counts +delete_atoms.cpp: // reset atom->map if it exists +delete_atoms.cpp: // set nghost to 0 so old ghosts of deleted atoms won't be mapped +delete_atoms.cpp: // print before and after atom and topology counts +delete_atoms.cpp:/* ---------------------------------------------------------------------- +delete_atoms.cpp:------------------------------------------------------------------------- */ +delete_atoms.cpp: // check for special case of group = all +delete_atoms.cpp: // allocate and initialize deletion list +delete_atoms.cpp:/* ---------------------------------------------------------------------- +delete_atoms.cpp:------------------------------------------------------------------------- */ +delete_atoms.cpp: // allocate and initialize deletion list +delete_atoms.cpp:/* ---------------------------------------------------------------------- +delete_atoms.cpp:------------------------------------------------------------------------- */ +delete_atoms.cpp: // read args +delete_atoms.cpp: // request a full neighbor list for use by this command +delete_atoms.cpp: // init entire system since comm->borders and neighbor->build is done +delete_atoms.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc +delete_atoms.cpp: // error check on cutoff +delete_atoms.cpp: // if no pair style, neighbor list will be empty +delete_atoms.cpp: // setup domain, communication and neighboring +delete_atoms.cpp: // acquire ghosts and build standard neighbor lists +delete_atoms.cpp: // build neighbor list this command needs based on earlier request +delete_atoms.cpp: // allocate and initialize deletion list +delete_atoms.cpp: // must be after exchange potentially changes nlocal +delete_atoms.cpp: // double loop over owned atoms and their full neighbor list +delete_atoms.cpp: // at end of loop, there are no more overlaps +delete_atoms.cpp: // only ever delete owned atom I in I loop iteration, never J even if owned +delete_atoms.cpp: // if both weighting factors are 0, skip this pair +delete_atoms.cpp: // could be 0 and still be in neigh list for long-range Coulombics +delete_atoms.cpp: // want consistency with non-charged pairs which wouldn't be in list +delete_atoms.cpp: // only consider deletion if I,J distance < cutoff +delete_atoms.cpp: // compute rsq identically on both I,J loop iterations +delete_atoms.cpp: // ignoring possibility that I,J tags are equal +delete_atoms.cpp: // only consider deletion if I,J are in groups 1,2 respectively +delete_atoms.cpp: // true whether J is owned or ghost atom +delete_atoms.cpp: // J is owned atom: +delete_atoms.cpp: // delete atom I if atom J has not already been deleted +delete_atoms.cpp: // J is ghost atom: +delete_atoms.cpp: // delete atom I if J,I is not a candidate deletion pair +delete_atoms.cpp: // due to being in groups 1,2 respectively +delete_atoms.cpp: // if they are candidate pair, then either: +delete_atoms.cpp: // another proc owns J and could delete J +delete_atoms.cpp: // J is a ghost of another of my owned atoms, and I could delete J +delete_atoms.cpp: // test on tags of I,J insures that only I or J is deleted +delete_atoms.cpp:/* ---------------------------------------------------------------------- +delete_atoms.cpp:------------------------------------------------------------------------- */ +delete_atoms.cpp: // allocate and initialize deletion list +delete_atoms.cpp:/* ---------------------------------------------------------------------- +delete_atoms.cpp:------------------------------------------------------------------------- */ +delete_atoms.cpp: // hash = for atom IDs being deleted by one processor +delete_atoms.cpp: // list of these IDs is sent around ring +delete_atoms.cpp: // at each stage of ring pass, hash is re-populated with received IDs +delete_atoms.cpp: // list = set of unique molecule IDs from which I deleted atoms +delete_atoms.cpp: // pass list to all other procs via comm->ring() +delete_atoms.cpp:/* ---------------------------------------------------------------------- +delete_atoms.cpp:------------------------------------------------------------------------- */ +delete_atoms.cpp: // hash = unique molecule IDs from which I deleted atoms +delete_atoms.cpp: // list = set of unique molecule IDs from which I deleted atoms +delete_atoms.cpp: // pass list to all other procs via comm->ring() +delete_atoms.cpp:/* ---------------------------------------------------------------------- +delete_atoms.cpp:------------------------------------------------------------------------- */ +delete_atoms.cpp: if (!force->newton_bond) atom->nbonds /= 2; +delete_atoms.cpp: if (!force->newton_bond) atom->nangles /= 3; +delete_atoms.cpp: if (!force->newton_bond) atom->ndihedrals /= 4; +delete_atoms.cpp: if (!force->newton_bond) atom->nimpropers /= 4; +delete_atoms.cpp:/* ---------------------------------------------------------------------- +delete_atoms.cpp:------------------------------------------------------------------------- */ +delete_atoms.cpp: // cbuf = list of N deleted atom IDs from other proc, put them in hash +delete_atoms.cpp: // loop over my atoms and their bond topology lists +delete_atoms.cpp: // if any atom in an interaction matches atom ID in hash, delete interaction +delete_atoms.cpp:/* ---------------------------------------------------------------------- +delete_atoms.cpp:------------------------------------------------------------------------- */ +delete_atoms.cpp: // cbuf = list of N molecule IDs from other proc, put them in hash +delete_atoms.cpp: // loop over my atoms, if matches molecule ID in hash, delete that atom +delete_atoms.cpp:/* ---------------------------------------------------------------------- +delete_atoms.cpp:------------------------------------------------------------------------- */ +delete_bonds.cpp:/* ---------------------------------------------------------------------- +delete_bonds.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +delete_bonds.cpp: http://lammps.sandia.gov, Sandia National Laboratories +delete_bonds.cpp:------------------------------------------------------------------------- */ +delete_bonds.cpp:/* ---------------------------------------------------------------------- */ +delete_bonds.cpp:/* ---------------------------------------------------------------------- */ +delete_bonds.cpp: // init entire system since comm->borders is done +delete_bonds.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc +delete_bonds.cpp: // identify group +delete_bonds.cpp: // set style and which = type value +delete_bonds.cpp: // setup list of types (atom,bond,etc) to consider +delete_bonds.cpp: // use force->bounds(FLERR,) to allow setting of range of types +delete_bonds.cpp: // range can be 0 to ntypes inclusive +delete_bonds.cpp: // grab optional keywords +delete_bonds.cpp: // border swap to insure type and mask is current for off-proc atoms +delete_bonds.cpp: // enforce PBC before in case atoms are outside box +delete_bonds.cpp: // set topology interactions either off or on +delete_bonds.cpp: // criteria for an interaction to potentially be changed (set flag = 1) +delete_bonds.cpp: // all atoms or any atom in interaction must be in group, based on any_flag +delete_bonds.cpp: // for style = MULTI, all bond/angle/dihedral/improper, no other criteria +delete_bonds.cpp: // for style = ATOM, same as MULTI, plus at least one atom is specified type +delete_bonds.cpp: // for style = BOND/ANGLE/DIHEDRAL/IMPROPER, interaction is specified type +delete_bonds.cpp: // for style = STATS only compute stats, flag is always 0 +delete_bonds.cpp: // if flag = 1 +delete_bonds.cpp: // set interaction type negative if undo_flag = 0 +delete_bonds.cpp: // set interaction type positive if undo_flag = 1 +delete_bonds.cpp: // induce turn off of angles, dihedral, impropers due to turned off bonds +delete_bonds.cpp: // induce turn off of dihedrals due to turned off angles +delete_bonds.cpp: // all atoms or any atom in interaction must be in group, based on any_flag +delete_bonds.cpp: // circulate list of turned off bonds around ring of procs +delete_bonds.cpp: // circulate list of turned off angles around ring of procs +delete_bonds.cpp: // remove interactions if requested +delete_bonds.cpp: // all atoms or any atom in interaction must be in group, based on any_flag +delete_bonds.cpp: // if interactions were removed, recompute global counts +delete_bonds.cpp: if (force->newton_bond == 0) atom->nbonds /= 2; +delete_bonds.cpp: if (force->newton_bond == 0) atom->nangles /= 3; +delete_bonds.cpp: if (force->newton_bond == 0) atom->ndihedrals /= 4; +delete_bonds.cpp: if (force->newton_bond == 0) atom->nimpropers /= 4; +delete_bonds.cpp: // compute and print stats +delete_bonds.cpp: bond_on /= 2; +delete_bonds.cpp: bond_off /= 2; +delete_bonds.cpp: angle_on /= 3; +delete_bonds.cpp: angle_off /= 3; +delete_bonds.cpp: dihedral_on /= 4; +delete_bonds.cpp: dihedral_off /= 4; +delete_bonds.cpp: improper_on /= 4; +delete_bonds.cpp: improper_off /= 4; +delete_bonds.cpp: // re-compute special list if requested +dihedral.cpp:/* ---------------------------------------------------------------------- +dihedral.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +dihedral.cpp: http://lammps.sandia.gov, Sandia National Laboratories +dihedral.cpp:------------------------------------------------------------------------- */ +dihedral.cpp:/* ---------------------------------------------------------------------- +dihedral.cpp:------------------------------------------------------------------------- */ +dihedral.cpp:/* ---------------------------------------------------------------------- */ +dihedral.cpp:/* ---------------------------------------------------------------------- +dihedral.cpp:------------------------------------------------------------------------- */ +dihedral.cpp:/* ---------------------------------------------------------------------- +dihedral.cpp:------------------------------------------------------------------------- */ +dihedral.cpp: eflag_atom = eflag / 2; +dihedral.cpp: vflag_atom = vflag / 4; +dihedral.cpp: // reallocate per-atom arrays if necessary +dihedral.cpp: // zero accumulators +dihedral.cpp:/* ---------------------------------------------------------------------- +dihedral.cpp:------------------------------------------------------------------------- */ +dihedral.cpp:/* ---------------------------------------------------------------------- */ +dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- +dihedral_hybrid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +dihedral_hybrid.cpp: http://lammps.sandia.gov, Sandia National Laboratories +dihedral_hybrid.cpp:------------------------------------------------------------------------- */ +dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- */ +dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- */ +dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- */ +dihedral_hybrid.cpp: // save ptrs to original dihedrallist +dihedral_hybrid.cpp: // if this is re-neighbor step, create sub-style dihedrallists +dihedral_hybrid.cpp: // ndihedrallist[] = length of each sub-style list +dihedral_hybrid.cpp: // realloc sub-style dihedrallist if necessary +dihedral_hybrid.cpp: // load sub-style dihedrallist with 5 values from original dihedrallist +dihedral_hybrid.cpp: // call each sub-style's compute function +dihedral_hybrid.cpp: // set neighbor->dihedrallist to sub-style dihedrallist before call +dihedral_hybrid.cpp: // accumulate sub-style global/peratom energy/virial in hybrid +dihedral_hybrid.cpp: // restore ptrs to original dihedrallist +dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- */ +dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- +dihedral_hybrid.cpp:------------------------------------------------------------------------- */ +dihedral_hybrid.cpp: // delete old lists, since cannot just change settings +dihedral_hybrid.cpp: // count sub-styles by skipping numeric args +dihedral_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric word +dihedral_hybrid.cpp: // need a better way to skip these exceptions +dihedral_hybrid.cpp: // allocate list of sub-styles +dihedral_hybrid.cpp: // allocate each sub-style and call its settings() with subset of args +dihedral_hybrid.cpp: // allocate uses suffix, but don't store suffix version in keywords, +dihedral_hybrid.cpp: // else syntax in coeff() will not match +dihedral_hybrid.cpp: // define subset of args for a sub-style by skipping numeric args +dihedral_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric +dihedral_hybrid.cpp: // need a better way to skip these exceptions +dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- +dihedral_hybrid.cpp:---------------------------------------------------------------------- */ +dihedral_hybrid.cpp: // 2nd arg = dihedral sub-style name +dihedral_hybrid.cpp: // allow for "none" or "skip" as valid sub-style name +dihedral_hybrid.cpp: // move 1st arg to 2nd arg +dihedral_hybrid.cpp: // just copy ptrs, since arg[] points into original input line +dihedral_hybrid.cpp: // invoke sub-style coeff() starting with 1st arg +dihedral_hybrid.cpp: // set setflag and which type maps to which sub-style +dihedral_hybrid.cpp: // if sub-style is skip: auxiliary class2 setting in data file so ignore +dihedral_hybrid.cpp: // if sub-style is none and not skip: set hybrid setflag, wipe out map +dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- */ +dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- +dihedral_hybrid.cpp:------------------------------------------------------------------------- */ +dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- +dihedral_hybrid.cpp:------------------------------------------------------------------------- */ +dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- +dihedral_hybrid.cpp:------------------------------------------------------------------------- */ +dihedral_zero.cpp:/* ---------------------------------------------------------------------- +dihedral_zero.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +dihedral_zero.cpp: http://lammps.sandia.gov, Sandia National Laboratories +dihedral_zero.cpp:------------------------------------------------------------------------- */ +dihedral_zero.cpp:/* ---------------------------------------------------------------------- +dihedral_zero.cpp:------------------------------------------------------------------------- */ +dihedral_zero.cpp:/* ---------------------------------------------------------------------- */ +dihedral_zero.cpp:/* ---------------------------------------------------------------------- */ +dihedral_zero.cpp:/* ---------------------------------------------------------------------- */ +dihedral_zero.cpp:/* ---------------------------------------------------------------------- */ +dihedral_zero.cpp:/* ---------------------------------------------------------------------- */ +dihedral_zero.cpp:/* ---------------------------------------------------------------------- +dihedral_zero.cpp:------------------------------------------------------------------------- */ +dihedral_zero.cpp:/* ---------------------------------------------------------------------- +dihedral_zero.cpp:------------------------------------------------------------------------- */ +dihedral_zero.cpp:/* ---------------------------------------------------------------------- +dihedral_zero.cpp:------------------------------------------------------------------------- */ +dihedral_zero.cpp:/* ---------------------------------------------------------------------- +dihedral_zero.cpp:------------------------------------------------------------------------- */ +displace_atoms.cpp:/* ---------------------------------------------------------------------- +displace_atoms.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +displace_atoms.cpp: http://lammps.sandia.gov, Sandia National Laboratories +displace_atoms.cpp:------------------------------------------------------------------------- */ +displace_atoms.cpp:/* ---------------------------------------------------------------------- */ +displace_atoms.cpp:/* ---------------------------------------------------------------------- */ +displace_atoms.cpp:/* ---------------------------------------------------------------------- */ +displace_atoms.cpp: // group and style +displace_atoms.cpp: // set option defaults +displace_atoms.cpp: // read options from end of input line +displace_atoms.cpp: // setup scaling +displace_atoms.cpp: // move atoms by 3-vector or specified variable(s) +displace_atoms.cpp: // move atoms in ramped fashion +displace_atoms.cpp: fraction = (x[i][coord_dim] - coord_lo) / (coord_hi - coord_lo); +displace_atoms.cpp: // move atoms randomly +displace_atoms.cpp: // makes atom result independent of what proc owns it via random->reset() +displace_atoms.cpp: // rotate atoms by right-hand rule by theta around R +displace_atoms.cpp: // P = point = vector = point of rotation +displace_atoms.cpp: // R = vector = axis of rotation +displace_atoms.cpp: // R0 = runit = unit vector for R +displace_atoms.cpp: // D = X - P = vector from P to X +displace_atoms.cpp: // C = (D dot R0) R0 = projection of atom coord onto R line +displace_atoms.cpp: // A = D - C = vector from R line to X +displace_atoms.cpp: // B = R0 cross A = vector perp to A in plane of rotation +displace_atoms.cpp: // A,B define plane of circular rotation around R line +displace_atoms.cpp: // X = P + C + A cos(theta) + B sin(theta) +displace_atoms.cpp: runit[0] = axis[0]/len; +displace_atoms.cpp: runit[1] = axis[1]/len; +displace_atoms.cpp: runit[2] = axis[2]/len; +displace_atoms.cpp: double angle = MY_PI*theta/180.0; +displace_atoms.cpp: // flags for additional orientation info stored by some atom styles +displace_atoms.cpp: // AtomVec pointers to retrieve per-atom storage of extra quantities +displace_atoms.cpp: // theta for lines +displace_atoms.cpp: // quats for ellipsoids, tris, and bodies +displace_atoms.cpp: // move atoms back inside simulation box and to new processors +displace_atoms.cpp: // use remap() instead of pbc() in case atoms moved a long distance +displace_atoms.cpp: // use irregular() in case atoms moved a long distance +displace_atoms.cpp: // check if any atoms were lost +displace_atoms.cpp:/* ---------------------------------------------------------------------- +displace_atoms.cpp:------------------------------------------------------------------------- */ +displace_atoms.cpp:/* ---------------------------------------------------------------------- +displace_atoms.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +domain.cpp: http://lammps.sandia.gov, Sandia National Laboratories +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:enum{NO_REMAP,X_REMAP,V_REMAP}; // same as fix_deform.cpp +domain.cpp:enum{IGNORE,WARN,ERROR}; // same as thermo.cpp +domain.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- */ +domain.cpp: // set box_change flags if box size/shape/sub-domains ever change +domain.cpp: // due to shrink-wrapping or fixes that change box size/shape/sub-domains +domain.cpp: // check for fix deform +domain.cpp: // region inits +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp: assumes boxlo/hi and triclinic tilts are already set +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp: // error checks for orthogonal and triclinic domains +domain.cpp: // error check or warning on triclinic tilt factors +domain.cpp: if ((fabs(xy/(boxhi[0]-boxlo[0])) > 0.5 && xperiodic) || +domain.cpp: (fabs(xz/(boxhi[0]-boxlo[0])) > 0.5 && xperiodic) || +domain.cpp: (fabs(yz/(boxhi[1]-boxlo[1])) > 0.5 && yperiodic)) { +domain.cpp: // set small based on box size and SMALL +domain.cpp: // this works for any unit system +domain.cpp: // if expandflag, adjust box lo/hi for shrink-wrapped dims +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp: assumes boxlo/hi and triclinic tilts are already set +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp: h_inv[0] = 1.0/h[0]; +domain.cpp: h_inv[1] = 1.0/h[1]; +domain.cpp: h_inv[2] = 1.0/h[2]; +domain.cpp: h_inv[3] = -h[3] / (h[1]*h[2]); +domain.cpp: h_inv[4] = (h[3]*h[5] - h[1]*h[4]) / (h[0]*h[1]*h[2]); +domain.cpp: h_inv[5] = -h[5] / (h[0]*h[1]); +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp: if shrink-wrapped, determine atom extent and reset boxlo/hi +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp: // perform shrink-wrapping +domain.cpp: // compute extent of atoms on this proc +domain.cpp: // for triclinic, this is done in lamda space +domain.cpp: // compute extent across all procs +domain.cpp: // flip sign of MIN to do it in one Allreduce MAX +domain.cpp: // for triclinic, convert back to box coords before changing box +domain.cpp: // in shrink-wrapped dims, set box by atom extent +domain.cpp: // if minimum set, enforce min box size settings +domain.cpp: // for triclinic, convert lamda extent to box coords, then set box lo/hi +domain.cpp: // decided NOT to do the next comment - don't want to sneakily change tilt +domain.cpp: // for triclinic, adjust tilt factors if 2nd dim is shrink-wrapped, +domain.cpp: // so that displacement in 1st dim stays the same +domain.cpp: //xy *= (boxhi[1]-boxlo[1]) / yprd; +domain.cpp: //xz *= (boxhi[2]-boxlo[2]) / xprd; +domain.cpp: //yz *= (boxhi[2]-boxlo[2]) / yprd; +domain.cpp: // reset box whether shrink-wrapping or not +domain.cpp: // if shrink-wrapped & kspace is defined (i.e. using MSM), call setup() +domain.cpp: // also call init() (to test for compatibility) ? +domain.cpp: //force->kspace->init(); +domain.cpp: // if shrink-wrapped & triclinic, re-convert to lamda coords for new box +domain.cpp: // re-invoke pbc() b/c x2lamda result can be outside [0,1] due to roundoff +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp: increment/decrement in wrap-around fashion +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp: // verify owned atoms have valid numerical coords +domain.cpp: // may not if computed pairwise force between 2 atoms at same location +domain.cpp: coord = &x[0][0]; // note: x is always initialized to at least one element. +domain.cpp: // setup for PBC checks +domain.cpp: // apply PBC to each owned atom +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp: // only need to check if system is molecular and some dimension is periodic +domain.cpp: // if running verlet/split, don't check on KSpace partition since +domain.cpp: // it has no ghost atoms and thus bond partners won't exist +domain.cpp: if (strncmp(update->integrate_style,"verlet/split",12) == 0 && +domain.cpp: // communicate unwrapped position of owned atoms to ghost atoms +domain.cpp: // compute unwrapped extent of each bond +domain.cpp: // flag if any bond component is longer than 1/2 of periodic box length +domain.cpp: // flag if any bond component is longer than non-periodic box length +domain.cpp: // which means image flags in that dimension were different +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp: // only need to check if system is molecular and some dimension is periodic +domain.cpp: // if running verlet/split, don't check on KSpace partition since +domain.cpp: // it has no ghost atoms and thus bond partners won't exist +domain.cpp: if (strncmp(update->integrate_style,"verlet/split",12) == 0 && +domain.cpp: // maxbondall = longest current bond length +domain.cpp: // if periodic box dim is tiny (less than 2 * bond-length), +domain.cpp: // minimum_image() itself may compute bad bond lengths +domain.cpp: // in this case, image_check() should warn, +domain.cpp: // assuming 2 atoms have consistent image flags +domain.cpp: // maxdelta = furthest apart 2 atoms in a bonded interaction can be +domain.cpp: // include BONDSTRETCH factor to account for dynamics +domain.cpp: // warn if maxdelta > than half any periodic box length +domain.cpp: // since atoms in the interaction could rotate into that dimension +domain.cpp: "Bond/angle/dihedral extent > half of periodic box length"); +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp: use 1/2 of box size as test +domain.cpp: for triclinic, also add/subtract tilt factors in other dims as needed +domain.cpp: b/c while could iterate forever +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp: use 1/2 of box size as test +domain.cpp: for triclinic, also add/subtract tilt factors in other dims as needed +domain.cpp: b/c while could iterate forever +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp: use 1/2 of box size as test +domain.cpp: for triclinic, also add/subtract tilt factors in other dims as needed +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp: for triclinic, add/subtract tilt factors in other dims as needed +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp: increment/decrement in wrap-around fashion +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp: // iterative form +domain.cpp: // if (xperiodic) { +domain.cpp: // while (coordnew[0]-coordold[0] > half[0]) coordnew[0] -= period[0]; +domain.cpp: // while (coordold[0]-coordnew[0] > half[0]) coordnew[0] += period[0]; +domain.cpp: // } +domain.cpp: n = static_cast ((coordnew[0]-coordold[0])/period[0]); +domain.cpp: n = static_cast ((coordold[0]-coordnew[0])/period[0]); +domain.cpp: n = static_cast ((coordnew[1]-coordold[1])/period[1]); +domain.cpp: n = static_cast ((coordold[1]-coordnew[1])/period[1]); +domain.cpp: n = static_cast ((coordnew[2]-coordold[2])/period[2]); +domain.cpp: n = static_cast ((coordold[2]-coordnew[2])/period[2]); +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp: C' = C + pB + nA (C shifted by B and/or A) +domain.cpp: so that x_unwrap for each atom is same before/after +domain.cpp: this is b/c the xy flip dramatically changes which tiled image of +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp: // box and subbox bounds for orthogonal vs triclinic +domain.cpp: // check if atom did not return 1 only b/c it was +domain.cpp: // outside a shrink-wrapped boundary +domain.cpp: // newcoord = coords pushed back to be on shrink-wrapped boundary +domain.cpp: // newcoord is a copy, so caller's x[] is not affected +domain.cpp: // re-test for newcoord inside my sub-domain +domain.cpp: // use <= test for upper-boundary since may have just put atom at boxhi +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp: // extend Region list if necessary +domain.cpp: // create the Region +domain.cpp: sprintf(estyle,"%s/%s",arg[1],lmp->suffix); +domain.cpp: sprintf(estyle,"%s/%s",arg[1],lmp->suffix2); +domain.cpp: // initialize any region variables via init() +domain.cpp: // in case region is used between runs, e.g. to print a variable +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp: convert 8 lamda corner pts of lo/hi box to box coords +domain.cpp: return bboxlo/hi = bounding box around 8 corner pts in box coords +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp:------------------------------------------------------------------------- */ +domain.cpp:/* ---------------------------------------------------------------------- +domain.cpp: compute 8 corner pts of any triclinic box with lo/hi in lamda coords +domain.cpp:------------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- +dump_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +dump_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +dump_atom.cpp:------------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp: // format = copy of default or user-specified line format +dump_atom.cpp: // default depends on image flags +dump_atom.cpp: // setup boundary string +dump_atom.cpp: // setup column string +dump_atom.cpp: // setup function ptrs +dump_atom.cpp: // open single file, one time only +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp: double invxprd = 1.0/domain->xprd; +dump_atom.cpp: double invyprd = 1.0/domain->yprd; +dump_atom.cpp: double invzprd = 1.0/domain->zprd; +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp: double invxprd = 1.0/domain->xprd; +dump_atom.cpp: double invyprd = 1.0/domain->yprd; +dump_atom.cpp: double invzprd = 1.0/domain->zprd; +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- +dump_atom.cpp:------------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_atom.cpp:/* ---------------------------------------------------------------------- */ +dump_cfg.cpp:/* ---------------------------------------------------------------------- +dump_cfg.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +dump_cfg.cpp: http://lammps.sandia.gov, Sandia National Laboratories +dump_cfg.cpp:------------------------------------------------------------------------- */ +dump_cfg.cpp:/* ---------------------------------------------------------------------- +dump_cfg.cpp:------------------------------------------------------------------------- */ +dump_cfg.cpp:enum{INT,DOUBLE,STRING,BIGINT}; // same as in DumpCustom +dump_cfg.cpp:/* ---------------------------------------------------------------------- */ +dump_cfg.cpp: // use earg instead of original arg since it includes expanded wildcards +dump_cfg.cpp: // earg was created by parent DumpCustom +dump_cfg.cpp: // setup auxiliary property name strings +dump_cfg.cpp: // convert 'X_ID[m]' (X=c,f,v) to 'X_ID_m' +dump_cfg.cpp:/* ---------------------------------------------------------------------- */ +dump_cfg.cpp:/* ---------------------------------------------------------------------- */ +dump_cfg.cpp: // setup function ptrs +dump_cfg.cpp:/* ---------------------------------------------------------------------- */ +dump_cfg.cpp: // set scale factor used by AtomEye for CFG viz +dump_cfg.cpp: // default = 1.0 +dump_cfg.cpp: // for peridynamics, set to pre-computed PD scale factor +dump_cfg.cpp: // so PD particles mimic C atoms +dump_cfg.cpp: // for unwrapped coords, set to UNWRAPEXPAND (10.0) +dump_cfg.cpp: // so molecules are not split across periodic box boundaries +dump_cfg.cpp:/* ---------------------------------------------------------------------- +dump_cfg.cpp:------------------------------------------------------------------------- */ +dump_cfg.cpp: unwrap_coord = (mybuf[m] - 0.5)/UNWRAPEXPAND + 0.5; +dump_cfg.cpp:/* ---------------------------------------------------------------------- */ +dump_cfg.cpp:/* ---------------------------------------------------------------------- */ +dump_cfg.cpp:/* ---------------------------------------------------------------------- */ +dump_cfg.cpp: unwrap_coord = (mybuf[m] - 0.5)/UNWRAPEXPAND + 0.5; +dump.cpp:/* ---------------------------------------------------------------------- +dump.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +dump.cpp: http://lammps.sandia.gov, Sandia National Laboratories +dump.cpp:------------------------------------------------------------------------- */ +dump.cpp:// allocate space for static class variable +dump.cpp:/* ---------------------------------------------------------------------- */ +dump.cpp: // parse filename for special syntax +dump.cpp: // if contains '%', write one file per proc and replace % with proc-ID +dump.cpp: // if contains '*', write one file per timestep and replace * with timestep +dump.cpp: // check file suffixes +dump.cpp: // if ends in .bin = binary file +dump.cpp: // else if ends in .gz = gzipped text file +dump.cpp: // else ASCII text file +dump.cpp:/* ---------------------------------------------------------------------- */ +dump.cpp: // format_column_user is deallocated by child classes that use it +dump.cpp: // XTC style sets fp to NULL since it closes file in its destructor +dump.cpp:/* ---------------------------------------------------------------------- */ +dump.cpp: // set reorderflag = 1 if can simply reorder local atoms rather than sort +dump.cpp: // criteria: sorting by ID, atom IDs are consecutive from 1 to Natoms +dump.cpp: // min/max IDs of group match size of group +dump.cpp: // compute ntotal_reorder, nme_reorder, idlo/idhi to test against later +dump.cpp: idlo = static_cast (range*me/nprocs + minall); +dump.cpp: tagint idhi = static_cast (range*(me+1)/nprocs + minall); +dump.cpp: tagint lom1 = static_cast ((idlo-1-minall)/range * nprocs); +dump.cpp: tagint lo = static_cast ((idlo-minall)/range * nprocs); +dump.cpp: tagint him1 = static_cast ((idhi-1-minall)/range * nprocs); +dump.cpp: tagint hi = static_cast ((idhi-minall)/range * nprocs); +dump.cpp: // preallocation for PBC copies if requested +dump.cpp:/* ---------------------------------------------------------------------- */ +dump.cpp:/* ---------------------------------------------------------------------- */ +dump.cpp: // if file per timestep, open new file +dump.cpp: // simulation box bounds +dump.cpp: // nme = # of dump lines this proc contributes to dump +dump.cpp: // ntotal = total # of dump lines in snapshot +dump.cpp: // nmax = max # of dump lines on any proc +dump.cpp: // write timestep header +dump.cpp: // for multiproc, +dump.cpp: // nheader = # of lines in this file via Allreduce on clustercomm +dump.cpp: // insure buf is sized for packing and communicating +dump.cpp: // use nmax to insure filewriter proc can receive info from others +dump.cpp: // limit nmax*size_one to int since used as arg in MPI calls +dump.cpp: // insure ids buffer is sized for sorting +dump.cpp: // apply PBC on copy of x,v,image if requested +dump.cpp: // pack my data into buf +dump.cpp: // if sorting on IDs also request ID list from pack() +dump.cpp: // sort buf as needed +dump.cpp: // if buffering, convert doubles into strings +dump.cpp: // insure sbuf is sized for communicating +dump.cpp: // cannot buffer if output is to binary file +dump.cpp: // filewriter = 1 = this proc writes to file +dump.cpp: // ping each proc in my cluster, receive its data, write data to file +dump.cpp: // else wait for ping from fileproc, send my data to fileproc +dump.cpp: // comm and output buf of doubles +dump.cpp: nlines /= size_one; +dump.cpp: // comm and output sbuf = one big string of formatted values per proc +dump.cpp: // restore original x,v,image unaltered by PBC +dump.cpp: // if file per timestep, close file if I am filewriter +dump.cpp:/* ---------------------------------------------------------------------- +dump.cpp:------------------------------------------------------------------------- */ +dump.cpp: // single file, already opened, so just return +dump.cpp: // if one file per timestep, replace '*' with current timestep +dump.cpp: // each proc with filewriter = 1 opens a file +dump.cpp: // delete string with timestep replaced +dump.cpp:/* ---------------------------------------------------------------------- +dump.cpp:------------------------------------------------------------------------- */ +dump.cpp: // if single proc, swap ptrs to buf,ids <-> bufsort,idsort +dump.cpp: // if multiple procs, exchange datums between procs via irregular +dump.cpp: // grow proclist if necessary +dump.cpp: // proclist[i] = which proc Ith datum will be sent to +dump.cpp: // use 0.5 instead of EPSILON since atom IDs are integers +dump.cpp: // if use EPSILON, it can be lost if 64-bit maxall-minall is too big +dump.cpp: // then iproc == nprocs for largest ID, causing irregular to crash +dump.cpp: iproc = static_cast ((ids[i]-minall)/range * nprocs); +dump.cpp: // proc assignment is inverted if sortorder = DESCEND +dump.cpp: iproc = static_cast ((value-minall)/range * nprocs); +dump.cpp: // create comm plan, grow recv bufs if necessary, +dump.cpp: // exchange datums, destroy plan +dump.cpp: // if sorting on atom IDs, exchange IDs also +dump.cpp: // if reorder flag is set & total/per-proc counts match pre-computed values, +dump.cpp: // then create index directly from idsort +dump.cpp: // else quicksort of index using IDs or buf column as comparator +dump.cpp: // reset buf size and maxbuf to largest of any post-sort nme values +dump.cpp: // this insures proc 0 can receive everyone's info +dump.cpp: // copy data from bufsort to buf using index +dump.cpp:/* ---------------------------------------------------------------------- +dump.cpp:------------------------------------------------------------------------- */ +dump.cpp:/* ---------------------------------------------------------------------- +dump.cpp:------------------------------------------------------------------------- */ +dump.cpp:/* ---------------------------------------------------------------------- +dump.cpp:------------------------------------------------------------------------- */ +dump.cpp:/* ---------------------------------------------------------------------- +dump.cpp:------------------------------------------------------------------------- */ +dump.cpp: multiproc = nprocs/nper; +dump.cpp: fileproc = me/nper * nper; +dump.cpp: int icluster = fileproc/nper; +dump.cpp: // pass format none to child classes which may use it +dump.cpp: // not an error if they don't +dump.cpp: } else { // pass other format options to child classes +dump.cpp: int icluster = static_cast ((bigint) me * nfile/nprocs); +dump.cpp: fileproc = static_cast ((bigint) icluster * nprocs/nfile); +dump.cpp: int fcluster = static_cast ((bigint) fileproc * nfile/nprocs); +dump.cpp: static_cast ((bigint) (icluster+1) * nprocs/nfile); +dump.cpp: fcluster = static_cast ((bigint) fileprocnext * nfile/nprocs); +dump.cpp:/* ---------------------------------------------------------------------- +dump.cpp:------------------------------------------------------------------------- */ +dump.cpp:/* ---------------------------------------------------------------------- +dump.cpp:------------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- +dump_custom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +dump_custom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +dump_custom.cpp:------------------------------------------------------------------------- */ +dump_custom.cpp:// customize by adding keyword +dump_custom.cpp:// also customize compute_atom_property.cpp +dump_custom.cpp:enum{INT,DOUBLE,STRING,BIGINT}; // same as in DumpCFG +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp: // expand args if any have wildcard character "*" +dump_custom.cpp: // ok to include trailing optional args, +dump_custom.cpp: // so long as they do not have "*" between square brackets +dump_custom.cpp: // nfield may be shrunk below if extra optional args exist +dump_custom.cpp: // allocate field vectors +dump_custom.cpp: // computes, fixes, variables which the dump accesses +dump_custom.cpp: // process attributes +dump_custom.cpp: // ioptional = start of additional optional args in expanded args +dump_custom.cpp: // noptional = # of optional args +dump_custom.cpp: // reset nfield to subtract off optional args +dump_custom.cpp: // reset ioptional to what it would be in original arg list +dump_custom.cpp: // only dump image and dump movie styles process optional args, +dump_custom.cpp: // they do not use expanded earg list +dump_custom.cpp: // atom selection arrays +dump_custom.cpp: // default element name for all types = C +dump_custom.cpp: // setup format strings +dump_custom.cpp: // setup column string +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp: // if wildcard expansion occurred, free earg memory from expand_args() +dump_custom.cpp: // could not do in constructor, b/c some derived classes process earg +dump_custom.cpp: // check nfix in case all fixes have already been deleted +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp: // format = copy of default or user-specified line format +dump_custom.cpp: // tokenize the format string and add space at end of each format element +dump_custom.cpp: // if user-specified int/float format exists, use it instead +dump_custom.cpp: // if user-specified column format exists, use it instead +dump_custom.cpp: // lo priority = line, medium priority = int/float, hi priority = column +dump_custom.cpp: // setup boundary string +dump_custom.cpp: // setup function ptrs +dump_custom.cpp: // find current ptr for each compute,fix,variable +dump_custom.cpp: // check that fix frequency is acceptable +dump_custom.cpp: // set index and check validity of region +dump_custom.cpp: // open single file, one time only +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp: // grow choose and variable vbuf arrays if needed +dump_custom.cpp: // invoke Computes for per-atom quantities +dump_custom.cpp: // only if within a run or minimize +dump_custom.cpp: // else require that computes are current +dump_custom.cpp: // this prevents a compute from being invoked by the WriteDump class +dump_custom.cpp: // evaluate atom-style Variables for per-atom quantities +dump_custom.cpp: // choose all local atoms for output +dump_custom.cpp: // un-choose if not in group +dump_custom.cpp: // un-choose if not in region +dump_custom.cpp: // un-choose if any threshold criterion isn't met +dump_custom.cpp: // customize by adding to if statement +dump_custom.cpp: double invxprd = 1.0/domain->xprd; +dump_custom.cpp: double invyprd = 1.0/domain->yprd; +dump_custom.cpp: double invzprd = 1.0/domain->zprd; +dump_custom.cpp: double invxprd = 1.0/domain->xprd; +dump_custom.cpp: double invyprd = 1.0/domain->yprd; +dump_custom.cpp: double invzprd = 1.0/domain->zprd; +dump_custom.cpp: } else if (thresh_array[ithresh] == MUMAG) {//Magnetic properties +dump_custom.cpp: // unselect atoms that don't meet threshold criterion +dump_custom.cpp: // compare to single value or values stored in threshfix +dump_custom.cpp: // copy ptr attribute into thresh_fix if this is first comparison +dump_custom.cpp: // update values stored in threshfix +dump_custom.cpp: // compress choose flags into clist +dump_custom.cpp: // nchoose = # of selected atoms +dump_custom.cpp: // clist[i] = local index of each selected atom +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- +dump_custom.cpp:------------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp: // customize by adding to if statement +dump_custom.cpp: } else if (strcmp(arg[iarg],"mumag") == 0) {//Magnetic properties +dump_custom.cpp: // compute value = c_ID +dump_custom.cpp: // if no trailing [], then arg is set to 0, else arg is int between [] +dump_custom.cpp: // fix value = f_ID +dump_custom.cpp: // if no trailing [], then arg is set to 0, else arg is between [] +dump_custom.cpp: // variable value = v_name +dump_custom.cpp: // custom per-atom floating point value = d_ID +dump_custom.cpp: // custom per-atom integer value = i_ID +dump_custom.cpp:/* ---------------------------------------------------------------------- +dump_custom.cpp:------------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- +dump_custom.cpp:------------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- +dump_custom.cpp:------------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- +dump_custom.cpp:------------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp: // just clear format_column_user allocated by this dump child class +dump_custom.cpp: // replace "d" in format_int_user with bigint format specifier +dump_custom.cpp: // use of &str[1] removes leading '%' from BIGINT_FORMAT string +dump_custom.cpp: // grow threshold arrays +dump_custom.cpp: // set attribute type of threshold +dump_custom.cpp: // customize by adding to if statement +dump_custom.cpp: //Magnetic quantities +dump_custom.cpp: // compute value = c_ID +dump_custom.cpp: // if no trailing [], then arg is set to 0, else arg is between [] +dump_custom.cpp: // must grow field2index and argindex arrays, since access is beyond nfield +dump_custom.cpp: // fix value = f_ID +dump_custom.cpp: // if no trailing [], then arg is set to 0, else arg is between [] +dump_custom.cpp: // must grow field2index and argindex arrays, since access is beyond nfield +dump_custom.cpp: // variable value = v_ID +dump_custom.cpp: // must grow field2index and argindex arrays, since access is beyond nfield +dump_custom.cpp: // custom per atom floating point value = d_ID +dump_custom.cpp: // must grow field2index and argindex arrays, since access is beyond nfield +dump_custom.cpp: // custom per atom integer value = i_ID +dump_custom.cpp: // must grow field2index and argindex arrays, since access is beyond nfield +dump_custom.cpp: // set operation type of threshold +dump_custom.cpp: // set threshold value as number or special LAST keyword +dump_custom.cpp: // create FixStore to hold LAST values, should work with restart +dump_custom.cpp: // id = dump-ID + nthreshlast + DUMP_STORE, fix group = dump group +dump_custom.cpp:/* ---------------------------------------------------------------------- +dump_custom.cpp:------------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- +dump_custom.cpp:------------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp: if (flag_custom[index] == 0) { // integer +dump_custom.cpp: } else if (flag_custom[index] == 1) { // double +dump_custom.cpp:/* ---------------------------------------------------------------------- +dump_custom.cpp:------------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp: double invxprd = 1.0/domain->xprd; +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp: double invyprd = 1.0/domain->yprd; +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp: double invzprd = 1.0/domain->zprd; +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp: double invxprd = 1.0/domain->xprd; +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp: double invyprd = 1.0/domain->yprd; +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp: double invzprd = 1.0/domain->zprd; +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp://Magnetic quantities +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_custom.cpp:/* ---------------------------------------------------------------------- */ +dump_dcd.cpp:/* ---------------------------------------------------------------------- +dump_dcd.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +dump_dcd.cpp: http://lammps.sandia.gov, Sandia National Laboratories +dump_dcd.cpp:------------------------------------------------------------------------- */ +dump_dcd.cpp:/* ---------------------------------------------------------------------- +dump_dcd.cpp:------------------------------------------------------------------------- */ +dump_dcd.cpp:// necessary to set SEEK params b/c MPI-2 messes with these settings +dump_dcd.cpp:/* ---------------------------------------------------------------------- */ +dump_dcd.cpp:/* ---------------------------------------------------------------------- */ +dump_dcd.cpp: // allocate global array for atom coords +dump_dcd.cpp: if (n > static_cast(MAXSMALLINT/3/sizeof(float))) +dump_dcd.cpp:/* ---------------------------------------------------------------------- */ +dump_dcd.cpp:/* ---------------------------------------------------------------------- */ +dump_dcd.cpp: // check that dump frequency has not changed and is not a variable +dump_dcd.cpp:/* ---------------------------------------------------------------------- */ +dump_dcd.cpp:/* ---------------------------------------------------------------------- */ +dump_dcd.cpp: // first time, write header for entire file +dump_dcd.cpp: // dim[] = size and angle cosines of orthogonal or triclinic box +dump_dcd.cpp: // dim[0] = a = length of unit cell vector along x-axis +dump_dcd.cpp: // dim[1] = gamma = cosine of angle between a and b +dump_dcd.cpp: // dim[2] = b = length of unit cell vector in xy-plane +dump_dcd.cpp: // dim[3] = beta = cosine of angle between a and c +dump_dcd.cpp: // dim[4] = alpha = cosine of angle between b and c +dump_dcd.cpp: // dim[5] = c = length of final unit cell vector +dump_dcd.cpp: // 48 = 6 doubles +dump_dcd.cpp: dim[4] = (h[5]*h[4] + h[1]*h[3]) / blen/clen; // alpha +dump_dcd.cpp: dim[3] = (h[0]*h[4]) / alen/clen; // beta +dump_dcd.cpp: dim[1] = (h[0]*h[5]) / alen/blen; // gamma +dump_dcd.cpp:/* ---------------------------------------------------------------------- */ +dump_dcd.cpp:/* ---------------------------------------------------------------------- */ +dump_dcd.cpp: // copy buf atom coords into 3 global arrays +dump_dcd.cpp: // if last chunk of atoms in this snapshot, write global arrays to file +dump_dcd.cpp:/* ---------------------------------------------------------------------- */ +dump_dcd.cpp:/* ---------------------------------------------------------------------- +dump_dcd.cpp:------------------------------------------------------------------------- */ +dump_dcd.cpp:/* ---------------------------------------------------------------------- */ +dump_dcd.cpp: // write coords +dump_dcd.cpp: // update NFILE and NSTEP fields in DCD header +dump_dcd.cpp:/* ---------------------------------------------------------------------- */ +dump_dcd.cpp: fwrite_int32(fp,0); // NFILE = # of snapshots in file +dump_dcd.cpp: fwrite_int32(fp,ntimestep); // START = timestep of first snapshot +dump_dcd.cpp: fwrite_int32(fp,nevery_save); // SKIP = interval between snapshots +dump_dcd.cpp: fwrite_int32(fp,ntimestep); // NSTEP = timestep of last snapshot +dump_dcd.cpp: fwrite_int32(fp,0); // NAMD writes NSTEP or ISTART +dump_dcd.cpp: fwrite_int32(fp,24); // pretend to be Charmm version 24 +dump_dcd.cpp: fwrite_int32(fp,natoms); // number of atoms in each snapshot +dump_image.cpp:/* ---------------------------------------------------------------------- +dump_image.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +dump_image.cpp: http://lammps.sandia.gov, Sandia National Laboratories +dump_image.cpp:------------------------------------------------------------------------- */ +dump_image.cpp:enum{SPHERE,LINE,TRI}; // also in some Body and Fix child classes +dump_image.cpp:/* ---------------------------------------------------------------------- */ +dump_image.cpp: // force binary flag on to avoid corrupted output on Windows +dump_image.cpp: // set filetype based on filename suffix +dump_image.cpp: // atom color,diameter settings +dump_image.cpp: // create Image class with single colormap for atoms +dump_image.cpp: // change defaults for 2d +dump_image.cpp: // set defaults for optional args +dump_image.cpp: // parse optional args +dump_image.cpp: theta *= MY_PI/180.0; +dump_image.cpp: phi *= MY_PI/180.0; +dump_image.cpp: // error checks and setup for lineflag, triflag, bodyflag, fixflag +dump_image.cpp: // allocate image buffer now that image size is known +dump_image.cpp: // communication neede for bonds colored by atoms +dump_image.cpp: // additional defaults for dump_modify options +dump_image.cpp: // viewflag = DYNAMIC if any view parameter is dynamic +dump_image.cpp: // local data +dump_image.cpp:/* ---------------------------------------------------------------------- */ +dump_image.cpp:/* ---------------------------------------------------------------------- */ +dump_image.cpp: // check variables +dump_image.cpp: // set up type -> element mapping +dump_image.cpp:/* ---------------------------------------------------------------------- */ +dump_image.cpp: // open new file +dump_image.cpp: // reset box center and view parameters if dynamic +dump_image.cpp: // nme = # of atoms this proc will contribute to dump +dump_image.cpp: // pack buf with color & diameter +dump_image.cpp: // set minmax color range if using dynamic atom color map +dump_image.cpp: if (flag) error->all(FLERR,"Invalid color map min/max values"); +dump_image.cpp: // create image on each proc, then merge them +dump_image.cpp: // write image file +dump_image.cpp:/* ---------------------------------------------------------------------- +dump_image.cpp:------------------------------------------------------------------------- */ +dump_image.cpp:/* ---------------------------------------------------------------------- +dump_image.cpp:------------------------------------------------------------------------- */ +dump_image.cpp:/* ---------------------------------------------------------------------- +dump_image.cpp:------------------------------------------------------------------------- */ +dump_image.cpp: // view direction theta and phi +dump_image.cpp: theta *= MY_PI/180.0; +dump_image.cpp: phi *= MY_PI/180.0; +dump_image.cpp: // up vector +dump_image.cpp: // zoom and perspective +dump_image.cpp: // remainder of view setup is internal to Image class +dump_image.cpp:/* ---------------------------------------------------------------------- +dump_image.cpp:------------------------------------------------------------------------- */ +dump_image.cpp: // render my atoms +dump_image.cpp: // do not draw if line,tri,body keywords enabled and atom is one of those +dump_image.cpp: // render atoms that are lines +dump_image.cpp: // render atoms that are triangles +dump_image.cpp: // tstyle = 1 for tri only, 2 for edges only, 3 for both +dump_image.cpp: // render atoms that are bodies +dump_image.cpp: // render bonds for my atoms +dump_image.cpp: // both atoms in bond must be selected for bond to be rendered +dump_image.cpp: // if newton_bond is off, only render bond once +dump_image.cpp: // render bond in 2 pieces if crosses periodic boundary +dump_image.cpp: // if bond is deleted (type = 0), do not render +dump_image.cpp: // if bond is turned off (type < 0), still render +dump_image.cpp: // communicate choose flag for ghost atoms to know if they are selected +dump_image.cpp: // if bcolor/bdiam = ATOM, setup bufcopy to comm atom color/diam attributes +dump_image.cpp: // draw cylinder in 2 pieces if bcolor = ATOM +dump_image.cpp: // or bond crosses periodic boundary +dump_image.cpp: // render objects provided by a fix +dump_image.cpp: // no fix draws spheres yet +dump_image.cpp: // render outline of my sub-box, orthogonal or triclinic +dump_image.cpp: // render outline of simulation box, orthogonal or triclinic +dump_image.cpp: // render XYZ axes in red/green/blue +dump_image.cpp: // offset by 10% of box size and scale by axeslen +dump_image.cpp:/* ---------------------------------------------------------------------- */ +dump_image.cpp:/* ---------------------------------------------------------------------- */ +dump_image.cpp:/* ---------------------------------------------------------------------- */ +dump_image.cpp: // ptrs = list of ncount colornames separated by '/' +dump_image.cpp: while ((nextptr = strchr(ptr,'/'))) { +dump_image.cpp: ptrs[ncount++] = strtok(arg[2],"/"); +dump_image.cpp: while ((ptrs[ncount++] = strtok(NULL,"/"))); +dump_image.cpp: // assign each of ncount colors in round-robin fashion to types +dump_image.cpp: // ptrs = list of ncount colornames separated by '/' +dump_image.cpp: while ((nextptr = strchr(ptr,'/'))) { +dump_image.cpp: ptrs[ncount++] = strtok(arg[2],"/"); +dump_image.cpp: while ((ptrs[ncount++] = strtok(NULL,"/"))); +dump_image.cpp: // assign each of ncount colors in round-robin fashion to types +dump_local.cpp:/* ---------------------------------------------------------------------- +dump_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +dump_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories +dump_local.cpp:------------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- */ +dump_local.cpp: // expand args if any have wildcard character "*" +dump_local.cpp: // allocate field vectors +dump_local.cpp: // computes & fixes which the dump accesses +dump_local.cpp: // process attributes +dump_local.cpp: // setup format strings +dump_local.cpp: // setup column string +dump_local.cpp: // setup default label string +dump_local.cpp: // if wildcard expansion occurred, free earg memory from exapnd_args() +dump_local.cpp:/* ---------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- */ +dump_local.cpp: // format = copy of default or user-specified line format +dump_local.cpp: // tokenize the format string and add space at end of each format element +dump_local.cpp: // if user-specified int/float format exists, use it instead +dump_local.cpp: // if user-specified column format exists, use it instead +dump_local.cpp: // lo priority = line, medium priority = int/float, hi priority = column +dump_local.cpp: // setup boundary string +dump_local.cpp: // setup function ptrs +dump_local.cpp: // find current ptr for each compute,fix,variable +dump_local.cpp: // check that fix frequency is acceptable +dump_local.cpp: // open single file, one time only +dump_local.cpp:/* ---------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- */ +dump_local.cpp: // invoke Computes for local quantities +dump_local.cpp: // only if within a run or minimize +dump_local.cpp: // else require that computes are current +dump_local.cpp: // this prevents a compute from being invoked by the WriteDump class +dump_local.cpp: // nmine = # of local values I contribute +dump_local.cpp: // must be consistent for all input fields +dump_local.cpp:/* ---------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- +dump_local.cpp:------------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- */ +dump_local.cpp: // customize by adding to if statement +dump_local.cpp: // compute value = c_ID +dump_local.cpp: // if no trailing [], then arg is set to 0, else arg is int between [] +dump_local.cpp: // fix value = f_ID +dump_local.cpp: // if no trailing [], then arg is set to 0, else arg is between [] +dump_local.cpp:/* ---------------------------------------------------------------------- +dump_local.cpp:------------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- +dump_local.cpp:------------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- +dump_local.cpp:------------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- +dump_local.cpp:------------------------------------------------------------------------- */ +dump_local.cpp:/* ---------------------------------------------------------------------- */ +dump_movie.cpp:/* ---------------------------------------------------------------------- +dump_movie.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +dump_movie.cpp: http://lammps.sandia.gov, Sandia National Laboratories +dump_movie.cpp:------------------------------------------------------------------------- */ +dump_movie.cpp:/* ---------------------------------------------------------------------- +dump_movie.cpp:------------------------------------------------------------------------- */ +dump_movie.cpp:/* ---------------------------------------------------------------------- */ +dump_movie.cpp:/* ---------------------------------------------------------------------- */ +dump_movie.cpp:/* ---------------------------------------------------------------------- */ +dump_movie.cpp: // initialize image style circumventing multifile check +dump_movie.cpp:/* ---------------------------------------------------------------------- */ +dump_xyz.cpp:/* ---------------------------------------------------------------------- +dump_xyz.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +dump_xyz.cpp: http://lammps.sandia.gov, Sandia National Laboratories +dump_xyz.cpp:------------------------------------------------------------------------- */ +dump_xyz.cpp:/* ---------------------------------------------------------------------- */ +dump_xyz.cpp:/* ---------------------------------------------------------------------- */ +dump_xyz.cpp:/* ---------------------------------------------------------------------- */ +dump_xyz.cpp: // format = copy of default or user-specified line format +dump_xyz.cpp: // initialize typenames array to be backward compatible by default +dump_xyz.cpp: // a 32-bit int can be maximally 10 digits plus sign +dump_xyz.cpp: // setup function ptr +dump_xyz.cpp: // open single file, one time only +dump_xyz.cpp:/* ---------------------------------------------------------------------- */ +dump_xyz.cpp:/* ---------------------------------------------------------------------- */ +dump_xyz.cpp:/* ---------------------------------------------------------------------- */ +dump_xyz.cpp:/* ---------------------------------------------------------------------- +dump_xyz.cpp:------------------------------------------------------------------------- */ +dump_xyz.cpp:/* ---------------------------------------------------------------------- */ +dump_xyz.cpp:/* ---------------------------------------------------------------------- */ +dump_xyz.cpp:/* ---------------------------------------------------------------------- */ +error.cpp:/* ---------------------------------------------------------------------- +error.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +error.cpp: http://lammps.sandia.gov, Sandia National Laboratories +error.cpp:------------------------------------------------------------------------- */ +error.cpp:/* ---------------------------------------------------------------------- */ +error.cpp:/* ---------------------------------------------------------------------- +error.cpp:------------------------------------------------------------------------- */ +error.cpp:/* ---------------------------------------------------------------------- +error.cpp:------------------------------------------------------------------------- */ +error.cpp:/* ---------------------------------------------------------------------- +error.cpp:------------------------------------------------------------------------- */ +error.cpp:/* ---------------------------------------------------------------------- +error.cpp:------------------------------------------------------------------------- */ +error.cpp:/* ---------------------------------------------------------------------- +error.cpp:------------------------------------------------------------------------- */ +error.cpp:/* ---------------------------------------------------------------------- +error.cpp:------------------------------------------------------------------------- */ +error.cpp:/* ---------------------------------------------------------------------- +error.cpp:------------------------------------------------------------------------- */ +error.cpp:/* ---------------------------------------------------------------------- +error.cpp:------------------------------------------------------------------------- */ +error.cpp:/* ---------------------------------------------------------------------- +error.cpp:------------------------------------------------------------------------- */ +error.cpp:/* ---------------------------------------------------------------------- +error.cpp:------------------------------------------------------------------------- */ +error.cpp:/* ---------------------------------------------------------------------- +error.cpp:------------------------------------------------------------------------- */ +finish.cpp:/* ---------------------------------------------------------------------- +finish.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +finish.cpp: http://lammps.sandia.gov, Sandia National Laboratories +finish.cpp:------------------------------------------------------------------------- */ +finish.cpp:// local function prototypes, code at end of file +finish.cpp:/* ---------------------------------------------------------------------- */ +finish.cpp:/* ---------------------------------------------------------------------- */ +finish.cpp: // recompute natoms in case atoms have been lost +finish.cpp: // choose flavors of statistical output +finish.cpp: // flag determines caller +finish.cpp: // flag = 0 = just loop summary +finish.cpp: // flag = 1 = dynamics or minimization +finish.cpp: // flag = 2 = PRD +finish.cpp: // flag = 3 = TAD +finish.cpp: // flag = 4 = HYPER +finish.cpp: // turn off neighflag for Kspace partition of verlet/split integrator +finish.cpp: strncmp(update->integrate_style,"verlet/split",12) == 0 && +finish.cpp: // loop stats +finish.cpp: // overall loop time +finish.cpp: time_loop = tmp/nprocs; +finish.cpp: cpu_loop = tmp/nprocs; +finish.cpp: if (time_loop > 0.0) cpu_loop = cpu_loop/time_loop*100.0; +finish.cpp: // Gromacs/NAMD-style performance metric for suitable unit settings +finish.cpp: double t_step = ((double) time_loop) / ((double) update->nsteps); +finish.cpp: double step_t = 1.0/t_step; +finish.cpp: double tau_day = 24.0*3600.0 / t_step * update->dt / one_fs; +finish.cpp: const char perf[] = "Performance: %.3f tau/day, %.3f timesteps/s\n"; +finish.cpp: double hrs_ns = t_step / update->dt * 1000000.0 * one_fs / 3600.0; +finish.cpp: double ns_day = 24.0*3600.0 / t_step * update->dt / one_fs/1000000.0; +finish.cpp: "Performance: %.3f ns/day, %.3f hours/ns, %.3f timesteps/s\n"; +finish.cpp: // CPU use on MPI tasks and OpenMP threads +finish.cpp: // avoid division by zero for very short runs +finish.cpp: // get "Other" wall time for later use +finish.cpp: // minimization stats +finish.cpp: // PRD stats +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time = tmp/nprocs; +finish.cpp: if (me == 0) { // XXXX: replica comm, replica output +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: // TAD stats +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: // HYPER stats +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time = tmp/nprocs; +finish.cpp: time,time/time_loop*100.0); +finish.cpp: time,time/time_loop*100.0); +finish.cpp: // further timing breakdowns +finish.cpp: time = tmp/nprocs; +finish.cpp: if (screen) fprintf(screen,fmt,time,time/time_loop*100.0); +finish.cpp: if (logfile) fprintf(logfile,fmt,time,time/time_loop*100.0); +finish.cpp: "\nThread timing breakdown (MPI rank %d):\nTotal threaded time %.4g / %.1f%%\n"; +finish.cpp: // print thread breakdown only with full timer detail +finish.cpp: thr_total /= (double) nthreads; +finish.cpp: fprintf(screen,thr_hdr_fmt,me,thr_total,thr_total/time_loop*100.0); +finish.cpp: fprintf(logfile,thr_hdr_fmt,me,thr_total,thr_total/time_loop*100.0); +finish.cpp: "since GPU/CPU overlap is enabled\n" +finish.cpp: // FFT timing statistics +finish.cpp: // time3d,time1d = total time during run for 3d and 1d FFTs +finish.cpp: // loop on timing() until nsample FFTs require at least 1.0 CPU sec +finish.cpp: // time_kspace may be 0.0 if another partition is doing Kspace +finish.cpp: time3d = nsteps * time3d / nsample; +finish.cpp: time3d = tmp/nprocs; +finish.cpp: time1d = nsteps * time1d / nsample; +finish.cpp: time1d = tmp/nprocs; +finish.cpp: time_kspace = tmp/nprocs; +finish.cpp: if (time_kspace) fraction = time3d/time_kspace*100.0; +finish.cpp: flop3 = nfft*nflops/1.0e9/(time3d/nsteps); +finish.cpp: flop1 = nfft*nflops/1.0e9/(time1d/nsteps); +finish.cpp: // find a non-skip neighbor list containing half pairwise interactions +finish.cpp: // count neighbors in that list for stats purposes +finish.cpp: // allow it to be Kokkos neigh list as well +finish.cpp: // find a non-skip neighbor list containing full pairwise interactions +finish.cpp: // count neighbors in that list for stats purposes +finish.cpp: // allow it to be Kokkos neigh list as well +finish.cpp: fprintf(screen,"Ave neighs/atom = %g\n",nall/atom->natoms); +finish.cpp: fprintf(screen,"Ave special neighs/atom = %g\n", +finish.cpp: nspec_all/atom->natoms); +finish.cpp: fprintf(logfile,"Ave neighs/atom = %g\n",nall/atom->natoms); +finish.cpp: fprintf(logfile,"Ave special neighs/atom = %g\n", +finish.cpp: nspec_all/atom->natoms); +finish.cpp:/* ---------------------------------------------------------------------- */ +finish.cpp: ave = tmp/ntotal; +finish.cpp: else m = static_cast ((data[i]-min)/del * nhisto); +finish.cpp:/* ---------------------------------------------------------------------- */ +finish.cpp: if (time/time_loop < 0.001) // insufficient timer resolution! +finish.cpp: time_cpu = time_cpu / time; +finish.cpp: time = tmp/nprocs; +finish.cpp: time_sq = tmp/nprocs; +finish.cpp: time_cpu = tmp/nprocs*100.0; +finish.cpp: // % variance from the average as measure of load imbalance +finish.cpp: if ((time > 0.001) && ((time_sq/time - time) > 1.0e-10)) +finish.cpp: time_sq = sqrt(time_sq/time - time)*100.0; +finish.cpp: tmp = time/time_loop*100.0; +finish.cpp: time_loop = 100.0/time_loop; +finish.cpp:/* ---------------------------------------------------------------------- */ +finish.cpp: time_avg /= nthreads; +finish.cpp: time_std /= nthreads; +finish.cpp: time_total /= nthreads; +finish.cpp: if ((time_avg > 0.001) && ((time_std/time_avg -time_avg) > 1.0e-10)) +finish.cpp: time_std = sqrt(time_std/time_avg - time_avg)*100.0; +finish.cpp: time_avg/time_total*100.0); +finish.cpp: time_avg/time_total*100.0); +fix_adapt.cpp:/* ---------------------------------------------------------------------- +fix_adapt.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_adapt.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_adapt.cpp:------------------------------------------------------------------------- */ +fix_adapt.cpp:/* ---------------------------------------------------------------------- */ +fix_adapt.cpp: // count # of adaptations +fix_adapt.cpp: // parse keywords +fix_adapt.cpp: // optional keywords +fix_adapt.cpp: // allocate pair style arrays +fix_adapt.cpp: // allocate bond style arrays: +fix_adapt.cpp:/* ---------------------------------------------------------------------- */ +fix_adapt.cpp: // check nfix in case all fixes have already been deleted +fix_adapt.cpp:/* ---------------------------------------------------------------------- */ +fix_adapt.cpp:/* ---------------------------------------------------------------------- +fix_adapt.cpp:------------------------------------------------------------------------- */ +fix_adapt.cpp: // new id = fix-ID + FIX_STORE_ATTRIBUTE +fix_adapt.cpp: // new fix group = group for this fix +fix_adapt.cpp:/* ---------------------------------------------------------------------- */ +fix_adapt.cpp: // allow a dynamic group only if ATOM attribute not used +fix_adapt.cpp: // setup and error checks +fix_adapt.cpp: // if ad->pstyle has trailing sub-style annotation ":N", +fix_adapt.cpp: // strip it for pstyle arg to pair_match() and set nsub = N +fix_adapt.cpp: // this should work for appended suffixes as well +fix_adapt.cpp: strcat(psuffix,"/"); +fix_adapt.cpp: // for pair styles only parameters that are 2-d arrays in atom types or +fix_adapt.cpp: // scalars are supported +fix_adapt.cpp: // if pair hybrid, test that ilo,ihi,jlo,jhi are valid for sub-style +fix_adapt.cpp: strcmp(force->pair_style,"hybrid/overlay") == 0) { +fix_adapt.cpp: strcat(bsuffix,"/"); +fix_adapt.cpp: // for bond styles, use a vector +fix_adapt.cpp: // make copy of original pair/bond array values +fix_adapt.cpp: // fixes that store initial per-atom values +fix_adapt.cpp:/* ---------------------------------------------------------------------- */ +fix_adapt.cpp:/* ---------------------------------------------------------------------- */ +fix_adapt.cpp:/* ---------------------------------------------------------------------- */ +fix_adapt.cpp:/* ---------------------------------------------------------------------- */ +fix_adapt.cpp:/* ---------------------------------------------------------------------- */ +fix_adapt.cpp:/* ---------------------------------------------------------------------- +fix_adapt.cpp:------------------------------------------------------------------------- */ +fix_adapt.cpp: // variable evaluation may invoke computes so wrap with clear/add +fix_adapt.cpp: // set global scalar or type pair array values +fix_adapt.cpp: // set bond type array values: +fix_adapt.cpp: // set kspace scale factor +fix_adapt.cpp: // set per atom values, also make changes for ghost atoms +fix_adapt.cpp: // reset radius from diameter +fix_adapt.cpp: // also scale rmass to new value +fix_adapt.cpp: density = rmass[i] / (4.0*MY_PI/3.0 * +fix_adapt.cpp: rmass[i] = 4.0*MY_PI/3.0 * +fix_adapt.cpp: // re-initialize pair styles if any PAIR settings were changed +fix_adapt.cpp: // ditto for bond styles if any BOND setitings were changes +fix_adapt.cpp: // this resets other coeffs that may depend on changed values, +fix_adapt.cpp: // and also offset and tail corrections +fix_adapt.cpp: // reset KSpace charges if charges have changed +fix_adapt.cpp:/* ---------------------------------------------------------------------- +fix_adapt.cpp:------------------------------------------------------------------------- */ +fix_adapt.cpp: density = rmass[i] / (4.0*MY_PI/3.0 * +fix_adapt.cpp: rmass[i] = 4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i] * density; +fix_adapt.cpp:/* ---------------------------------------------------------------------- +fix_adapt.cpp:------------------------------------------------------------------------- */ +fix_addforce.cpp:/* ---------------------------------------------------------------------- +fix_addforce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_addforce.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_addforce.cpp:------------------------------------------------------------------------- */ +fix_addforce.cpp:/* ---------------------------------------------------------------------- */ +fix_addforce.cpp: // optional args +fix_addforce.cpp:/* ---------------------------------------------------------------------- */ +fix_addforce.cpp:/* ---------------------------------------------------------------------- */ +fix_addforce.cpp:/* ---------------------------------------------------------------------- */ +fix_addforce.cpp: // check variables +fix_addforce.cpp: // set index and check validity of region +fix_addforce.cpp:/* ---------------------------------------------------------------------- */ +fix_addforce.cpp:/* ---------------------------------------------------------------------- */ +fix_addforce.cpp:/* ---------------------------------------------------------------------- */ +fix_addforce.cpp: // update region if necessary +fix_addforce.cpp: // reallocate sforce array if necessary +fix_addforce.cpp: // foriginal[0] = "potential energy" for added force +fix_addforce.cpp: // foriginal[123] = force on atoms before extra force added +fix_addforce.cpp: // constant force +fix_addforce.cpp: // potential energy = - x dot f in unwrapped coords +fix_addforce.cpp: // variable force, wrap with clear/add +fix_addforce.cpp: // potential energy = evar if defined, else 0.0 +fix_addforce.cpp: // wrap with clear/add +fix_addforce.cpp:/* ---------------------------------------------------------------------- */ +fix_addforce.cpp:/* ---------------------------------------------------------------------- */ +fix_addforce.cpp:/* ---------------------------------------------------------------------- +fix_addforce.cpp:------------------------------------------------------------------------- */ +fix_addforce.cpp: // only sum across procs one time +fix_addforce.cpp:/* ---------------------------------------------------------------------- +fix_addforce.cpp:------------------------------------------------------------------------- */ +fix_addforce.cpp: // only sum across procs one time +fix_addforce.cpp:/* ---------------------------------------------------------------------- +fix_addforce.cpp:------------------------------------------------------------------------- */ +fix_ave_atom.cpp:/* ---------------------------------------------------------------------- +fix_ave_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_ave_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_ave_atom.cpp:------------------------------------------------------------------------- */ +fix_ave_atom.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_atom.cpp: if (narg < 7) error->all(FLERR,"Illegal fix ave/atom command"); +fix_ave_atom.cpp: // expand args if any have wildcard character "*" +fix_ave_atom.cpp: // this can reset nvalues +fix_ave_atom.cpp: // parse values +fix_ave_atom.cpp: error->all(FLERR,"Illegal fix ave/atom command"); +fix_ave_atom.cpp: } else error->all(FLERR,"Illegal fix ave/atom command"); +fix_ave_atom.cpp: // if wildcard expansion occurred, free earg memory from exapnd_args() +fix_ave_atom.cpp: // setup and error check +fix_ave_atom.cpp: // for fix inputs, check that fix frequency is acceptable +fix_ave_atom.cpp: error->all(FLERR,"Illegal fix ave/atom command"); +fix_ave_atom.cpp: error->all(FLERR,"Illegal fix ave/atom command"); +fix_ave_atom.cpp: error->all(FLERR,"Compute ID for fix ave/atom does not exist"); +fix_ave_atom.cpp: "Fix ave/atom compute does not calculate per-atom values"); +fix_ave_atom.cpp: error->all(FLERR,"Fix ave/atom compute does not " +fix_ave_atom.cpp: error->all(FLERR,"Fix ave/atom compute does not " +fix_ave_atom.cpp: error->all(FLERR,"Fix ave/atom compute array is accessed out-of-range"); +fix_ave_atom.cpp: error->all(FLERR,"Fix ID for fix ave/atom does not exist"); +fix_ave_atom.cpp: error->all(FLERR,"Fix ave/atom fix does not calculate per-atom values"); +fix_ave_atom.cpp: "Fix ave/atom fix does not calculate a per-atom vector"); +fix_ave_atom.cpp: "Fix ave/atom fix does not calculate a per-atom array"); +fix_ave_atom.cpp: error->all(FLERR,"Fix ave/atom fix array is accessed out-of-range"); +fix_ave_atom.cpp: "Fix for fix ave/atom not computed at compatible time"); +fix_ave_atom.cpp: error->all(FLERR,"Variable name for fix ave/atom does not exist"); +fix_ave_atom.cpp: error->all(FLERR,"Fix ave/atom variable is not atom-style variable"); +fix_ave_atom.cpp: // this fix produces either a per-atom vector or array +fix_ave_atom.cpp: // perform initial allocation of atom-based array +fix_ave_atom.cpp: // register with Atom class +fix_ave_atom.cpp: // zero the array since dump may access it on timestep 0 +fix_ave_atom.cpp: // zero the array since a variable may access it before first run +fix_ave_atom.cpp: // nvalid = next step on which end_of_step does something +fix_ave_atom.cpp: // add nvalid to all computes that store invocation times +fix_ave_atom.cpp: // since don't know a priori which are invoked by this fix +fix_ave_atom.cpp: // once in end_of_step() can set timestep for ones actually invoked +fix_ave_atom.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_atom.cpp: // unregister callback to this fix from Atom class +fix_ave_atom.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_atom.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_atom.cpp: // set indices and check validity of all computes,fixes,variables +fix_ave_atom.cpp: error->all(FLERR,"Compute ID for fix ave/atom does not exist"); +fix_ave_atom.cpp: error->all(FLERR,"Fix ID for fix ave/atom does not exist"); +fix_ave_atom.cpp: error->all(FLERR,"Variable name for fix ave/atom does not exist"); +fix_ave_atom.cpp: // need to reset nvalid if nvalid < ntimestep b/c minimize was performed +fix_ave_atom.cpp:/* ---------------------------------------------------------------------- +fix_ave_atom.cpp:------------------------------------------------------------------------- */ +fix_ave_atom.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_atom.cpp: // skip if not step which requires doing something +fix_ave_atom.cpp: // error check if timestep was reset in an invalid manner +fix_ave_atom.cpp: error->all(FLERR,"Invalid timestep reset for fix ave/atom"); +fix_ave_atom.cpp: // zero if first step +fix_ave_atom.cpp: // accumulate results of attributes,computes,fixes,variables to local copy +fix_ave_atom.cpp: // compute/fix/variable may invoke computes so wrap with clear/add +fix_ave_atom.cpp: // invoke compute if not previously invoked +fix_ave_atom.cpp: // access fix fields, guaranteed to be ready +fix_ave_atom.cpp: // evaluate atom-style variable +fix_ave_atom.cpp: // final argument = 1 sums result to array +fix_ave_atom.cpp: // done if irepeat < nrepeat +fix_ave_atom.cpp: // else reset irepeat and nvalid +fix_ave_atom.cpp: // average the final result for the Nfreq timestep +fix_ave_atom.cpp: array[i][m] /= repeat; +fix_ave_atom.cpp:/* ---------------------------------------------------------------------- +fix_ave_atom.cpp:------------------------------------------------------------------------- */ +fix_ave_atom.cpp:/* ---------------------------------------------------------------------- +fix_ave_atom.cpp:------------------------------------------------------------------------- */ +fix_ave_atom.cpp: memory->grow(array,nmax,nvalues,"fix_ave/atom:array"); +fix_ave_atom.cpp:/* ---------------------------------------------------------------------- +fix_ave_atom.cpp:------------------------------------------------------------------------- */ +fix_ave_atom.cpp:/* ---------------------------------------------------------------------- +fix_ave_atom.cpp:------------------------------------------------------------------------- */ +fix_ave_atom.cpp:/* ---------------------------------------------------------------------- +fix_ave_atom.cpp:------------------------------------------------------------------------- */ +fix_ave_atom.cpp:/* ---------------------------------------------------------------------- +fix_ave_atom.cpp:------------------------------------------------------------------------- */ +fix_ave_atom.cpp: bigint nvalid = (update->ntimestep/peratom_freq)*peratom_freq + peratom_freq; +fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- +fix_ave_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_ave_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_ave_chunk.cpp:------------------------------------------------------------------------- */ +fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_chunk.cpp: if (narg < 7) error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: // expand args if any have wildcard character "*" +fix_ave_chunk.cpp: // parse values until one isn't recognized +fix_ave_chunk.cpp: } else if (strcmp(arg[iarg],"density/number") == 0) { +fix_ave_chunk.cpp: } else if (strcmp(arg[iarg],"density/mass") == 0) { +fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: if (nvalues == 0) error->all(FLERR,"No values in fix ave/chunk command"); +fix_ave_chunk.cpp: // optional args +fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: } else error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: else error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: if (iarg+3 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: if (nwindow <= 0) error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: sprintf(str,"Cannot open fix ave/chunk file %s",arg[iarg+1]); +fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: } else error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: // setup and error check +fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); +fix_ave_chunk.cpp: error->all(FLERR,"Compute ID for fix ave/chunk does not exist"); +fix_ave_chunk.cpp: error->all(FLERR,"Fix ave/chunk compute does not " +fix_ave_chunk.cpp: error->all(FLERR,"Fix ave/chunk compute does not " +fix_ave_chunk.cpp: error->all(FLERR,"Fix ave/chunk compute does not " +fix_ave_chunk.cpp: "Fix ave/chunk compute vector is accessed out-of-range"); +fix_ave_chunk.cpp: error->all(FLERR,"Fix ID for fix ave/chunk does not exist"); +fix_ave_chunk.cpp: "Fix ave/chunk fix does not calculate per-atom values"); +fix_ave_chunk.cpp: "Fix ave/chunk fix does not calculate a per-atom vector"); +fix_ave_chunk.cpp: "Fix ave/chunk fix does not calculate a per-atom array"); +fix_ave_chunk.cpp: error->all(FLERR,"Fix ave/chunk fix vector is accessed out-of-range"); +fix_ave_chunk.cpp: error->all(FLERR,"Variable name for fix ave/chunk does not exist"); +fix_ave_chunk.cpp: error->all(FLERR,"Fix ave/chunk variable is not atom-style variable"); +fix_ave_chunk.cpp: // increment lock counter in compute chunk/atom +fix_ave_chunk.cpp: // only if nrepeat > 1 or ave = RUNNING/WINDOW, +fix_ave_chunk.cpp: // so that locking spans multiple timesteps +fix_ave_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for fix ave/chunk"); +fix_ave_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) +fix_ave_chunk.cpp: error->all(FLERR,"Fix ave/chunk does not use chunk/atom compute"); +fix_ave_chunk.cpp: // print file comment lines +fix_ave_chunk.cpp: // if wildcard expansion occurred, free earg memory from expand_args() +fix_ave_chunk.cpp: // wait to do this until after file comment lines are printed +fix_ave_chunk.cpp: // this fix produces a global array +fix_ave_chunk.cpp: // size_array_rows is variable and set by allocate() +fix_ave_chunk.cpp: // initializations +fix_ave_chunk.cpp: // nvalid = next step on which end_of_step does something +fix_ave_chunk.cpp: // add nvalid to all computes that store invocation times +fix_ave_chunk.cpp: // since don't know a priori which are invoked by this fix +fix_ave_chunk.cpp: // once in end_of_step() can set timestep for ones actually invoked +fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_chunk.cpp: // decrement lock counter in compute chunk/atom, it if still exists +fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_chunk.cpp: // set indices and check validity of all computes,fixes,variables +fix_ave_chunk.cpp: // check that fix frequency is acceptable +fix_ave_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for fix ave/chunk"); +fix_ave_chunk.cpp: error->all(FLERR,"Compute ID for fix ave/chunk does not exist"); +fix_ave_chunk.cpp: error->all(FLERR,"Fix ID for fix ave/chunk does not exist"); +fix_ave_chunk.cpp: "Fix for fix ave/chunk not computed at compatible time"); +fix_ave_chunk.cpp: error->all(FLERR,"Variable name for fix ave/chunk does not exist"); +fix_ave_chunk.cpp: // need to reset nvalid if nvalid < ntimestep b/c minimize was performed +fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- +fix_ave_chunk.cpp: do not call setup_chunks(), even though fix ave/spatial called setup_bins() +fix_ave_chunk.cpp: b/c could cause nchunk to change if Nfreq epoch crosses 2 runs +fix_ave_chunk.cpp:------------------------------------------------------------------------- */ +fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_chunk.cpp: // skip if not step which requires doing something +fix_ave_chunk.cpp: // error check if timestep was reset in an invalid manner +fix_ave_chunk.cpp: error->all(FLERR,"Invalid timestep reset for fix ave/chunk"); +fix_ave_chunk.cpp: // first sample within single Nfreq epoch +fix_ave_chunk.cpp: // zero out arrays that accumulate over many samples, but not across epochs +fix_ave_chunk.cpp: // invoke setup_chunks() to determine current nchunk +fix_ave_chunk.cpp: // re-allocate per-chunk arrays if needed +fix_ave_chunk.cpp: // invoke lock() in two cases: +fix_ave_chunk.cpp: // if nrepeat > 1: so nchunk cannot change until Nfreq epoch is over, +fix_ave_chunk.cpp: // will be unlocked on last repeat of this Nfreq +fix_ave_chunk.cpp: // if ave = RUNNING/WINDOW and not yet locked: +fix_ave_chunk.cpp: // set forever, will be unlocked in fix destructor +fix_ave_chunk.cpp: // wrap setup_chunks in clearstep/addstep b/c it may invoke computes +fix_ave_chunk.cpp: // both nevery and nfreq are future steps, +fix_ave_chunk.cpp: // since call below to cchunk->ichunk() +fix_ave_chunk.cpp: // does not re-invoke internal cchunk compute on this same step +fix_ave_chunk.cpp: // if any DENSITY requested, invoke setup_chunks() on each sampling step +fix_ave_chunk.cpp: // nchunk will not change but bin volumes might, e.g. for NPT simulation +fix_ave_chunk.cpp: // zero out arrays for one sample +fix_ave_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs +fix_ave_chunk.cpp: // extract ichunk index vector from compute +fix_ave_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms +fix_ave_chunk.cpp: // wrap compute_ichunk in clearstep/addstep b/c it may invoke computes +fix_ave_chunk.cpp: // perform the computation for one sample +fix_ave_chunk.cpp: // count # of atoms in each bin +fix_ave_chunk.cpp: // accumulate results of attributes,computes,fixes,variables to local copy +fix_ave_chunk.cpp: // sum within each chunk, only include atoms in fix group +fix_ave_chunk.cpp: // compute/fix/variable may invoke computes so wrap with clear/add +fix_ave_chunk.cpp: // V,F adds velocities,forces to values +fix_ave_chunk.cpp: // DENSITY_NUMBER adds 1 to values +fix_ave_chunk.cpp: // DENSITY_MASS or MASS adds mass to values +fix_ave_chunk.cpp: // TEMPERATURE adds KE to values +fix_ave_chunk.cpp: // subtract and restore velocity bias if requested +fix_ave_chunk.cpp: // COMPUTE adds its scalar or vector component to values +fix_ave_chunk.cpp: // invoke compute if not previously invoked +fix_ave_chunk.cpp: // FIX adds its scalar or vector component to values +fix_ave_chunk.cpp: // access fix fields, guaranteed to be ready +fix_ave_chunk.cpp: // VARIABLE adds its per-atom quantities to values +fix_ave_chunk.cpp: // evaluate atom-style variable +fix_ave_chunk.cpp: memory->create(varatom,maxvar,"ave/chunk:varatom"); +fix_ave_chunk.cpp: // process the current sample +fix_ave_chunk.cpp: // if normflag = ALL, accumulate values,count separately to many +fix_ave_chunk.cpp: // if normflag = SAMPLE, one = value/count, accumulate one to many +fix_ave_chunk.cpp: // count is MPI summed here, value is MPI summed below across samples +fix_ave_chunk.cpp: // exception is TEMPERATURE: normalize by DOF +fix_ave_chunk.cpp: // exception is DENSITY_NUMBER: +fix_ave_chunk.cpp: // normalize by bin volume, not by atom count +fix_ave_chunk.cpp: // exception is DENSITY_MASS: +fix_ave_chunk.cpp: // scale by mv2d, normalize by bin volume, not by atom count +fix_ave_chunk.cpp: // exception is scaleflag = NOSCALE (norm = NONE): +fix_ave_chunk.cpp: // no normalize by atom count +fix_ave_chunk.cpp: // check last so other options can take precedence +fix_ave_chunk.cpp: values_many[m][j] += mvv2e*values_one[m][j] / +fix_ave_chunk.cpp: if (volflag == SCALAR) values_one[m][j] /= chunk_volume_scalar; +fix_ave_chunk.cpp: else values_one[m][j] /= chunk_volume_vec[m]; +fix_ave_chunk.cpp: if (volflag == SCALAR) values_one[m][j] /= chunk_volume_scalar; +fix_ave_chunk.cpp: else values_one[m][j] /= chunk_volume_vec[m]; +fix_ave_chunk.cpp: values_many[m][j] += values_one[m][j]/count_many[m]; +fix_ave_chunk.cpp: // done if irepeat < nrepeat +fix_ave_chunk.cpp: // else reset irepeat and nvalid +fix_ave_chunk.cpp: // unlock compute chunk/atom at end of Nfreq epoch +fix_ave_chunk.cpp: // do not unlock if ave = RUNNING or WINDOW +fix_ave_chunk.cpp: // time average across samples +fix_ave_chunk.cpp: // if normflag = ALL, final is total value / total count +fix_ave_chunk.cpp: // exception is TEMPERATURE: normalize by DOF for total count +fix_ave_chunk.cpp: // exception is DENSITY_NUMBER: +fix_ave_chunk.cpp: // normalize by final bin_volume and repeat, not by total count +fix_ave_chunk.cpp: // exception is DENSITY_MASS: +fix_ave_chunk.cpp: // scale by mv2d, normalize by bin volume and repeat, not by total count +fix_ave_chunk.cpp: // exception is scaleflag == NOSCALE: +fix_ave_chunk.cpp: // normalize by repeat, not by total count +fix_ave_chunk.cpp: // check last so other options can take precedence +fix_ave_chunk.cpp: // if normflag = SAMPLE, final is sum of ave / repeat +fix_ave_chunk.cpp: values_sum[m][j] *= mvv2e / ((cdof + adof*count_sum[m]) * boltz); +fix_ave_chunk.cpp: if (volflag == SCALAR) values_sum[m][j] /= chunk_volume_scalar; +fix_ave_chunk.cpp: else values_sum[m][j] /= chunk_volume_vec[m]; +fix_ave_chunk.cpp: values_sum[m][j] /= repeat; +fix_ave_chunk.cpp: if (volflag == SCALAR) values_sum[m][j] /= chunk_volume_scalar; +fix_ave_chunk.cpp: else values_sum[m][j] /= chunk_volume_vec[m]; +fix_ave_chunk.cpp: values_sum[m][j] *= mv2d/repeat; +fix_ave_chunk.cpp: values_sum[m][j] /= repeat; +fix_ave_chunk.cpp: values_sum[m][j] /= count_sum[m]; +fix_ave_chunk.cpp: count_sum[m] /= repeat; +fix_ave_chunk.cpp: for (j = 0; j < nvalues; j++) values_sum[m][j] /= repeat; +fix_ave_chunk.cpp: count_sum[m] /= repeat; +fix_ave_chunk.cpp: // if ave = ONE, only single Nfreq timestep value is needed +fix_ave_chunk.cpp: // if ave = RUNNING, combine with all previous Nfreq timestep values +fix_ave_chunk.cpp: // if ave = WINDOW, comine with nwindow most recent Nfreq timestep values +fix_ave_chunk.cpp: // output result to file +fix_ave_chunk.cpp: fprintf(fp," %d %g",m+1,count_total[m]/normcount); +fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); +fix_ave_chunk.cpp: count_total[m]/normcount); +fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); +fix_ave_chunk.cpp: count_total[m]/normcount); +fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); +fix_ave_chunk.cpp: coord[m][0],coord[m][1],coord[m][2],count_total[m]/normcount); +fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); +fix_ave_chunk.cpp: fprintf(fp," %d %d %g",m+1,chunkID[m],count_total[m]/normcount); +fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); +fix_ave_chunk.cpp: count_total[m]/normcount); +fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); +fix_ave_chunk.cpp: count_total[m]/normcount); +fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); +fix_ave_chunk.cpp: coord[j-1][1],coord[j-1][2],count_total[m]/normcount); +fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); +fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- +fix_ave_chunk.cpp:------------------------------------------------------------------------- */ +fix_ave_chunk.cpp: // reallocate chunk arrays if needed +fix_ave_chunk.cpp: memory->grow(count_one,nchunk,"ave/chunk:count_one"); +fix_ave_chunk.cpp: memory->grow(count_many,nchunk,"ave/chunk:count_many"); +fix_ave_chunk.cpp: memory->grow(count_sum,nchunk,"ave/chunk:count_sum"); +fix_ave_chunk.cpp: memory->grow(count_total,nchunk,"ave/chunk:count_total"); +fix_ave_chunk.cpp: memory->grow(values_one,nchunk,nvalues,"ave/chunk:values_one"); +fix_ave_chunk.cpp: memory->grow(values_many,nchunk,nvalues,"ave/chunk:values_many"); +fix_ave_chunk.cpp: memory->grow(values_sum,nchunk,nvalues,"ave/chunk:values_sum"); +fix_ave_chunk.cpp: memory->grow(values_total,nchunk,nvalues,"ave/chunk:values_total"); +fix_ave_chunk.cpp: // only allocate count and values list for ave = WINDOW +fix_ave_chunk.cpp: memory->create(count_list,nwindow,nchunk,"ave/chunk:count_list"); +fix_ave_chunk.cpp: "ave/chunk:values_list"); +fix_ave_chunk.cpp: // reinitialize regrown count/values total since they accumulate +fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- +fix_ave_chunk.cpp:------------------------------------------------------------------------- */ +fix_ave_chunk.cpp: if (j < 0) return count_total[i]/normcount; +fix_ave_chunk.cpp: return values_total[i][j]/normcount; +fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- +fix_ave_chunk.cpp:------------------------------------------------------------------------- */ +fix_ave_chunk.cpp: bigint nvalid = (update->ntimestep/nfreq)*nfreq + nfreq; +fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- +fix_ave_chunk.cpp:------------------------------------------------------------------------- */ +fix_ave_chunk.cpp: double bytes = maxvar * sizeof(double); // varatom +fix_ave_chunk.cpp: bytes += 4*maxchunk * sizeof(double); // count one,many,sum,total +fix_ave_chunk.cpp: bytes += nvalues*maxchunk * sizeof(double); // values one,many,sum,total +fix_ave_chunk.cpp: bytes += nwindow*maxchunk * sizeof(double); // count_list +fix_ave_chunk.cpp: bytes += nwindow*maxchunk*nvalues * sizeof(double); // values_list +fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- +fix_ave_correlate.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_ave_correlate.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_ave_correlate.cpp:------------------------------------------------------------------------- */ +fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- +fix_ave_correlate.cpp:------------------------------------------------------------------------- */ +fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_correlate.cpp: if (narg < 7) error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: // expand args if any have wildcard character "*" +fix_ave_correlate.cpp: // parse values until one isn't recognized +fix_ave_correlate.cpp: error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: // optional args +fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: else if (strcmp(arg[iarg+1],"auto/upper") == 0) type = AUTOUPPER; +fix_ave_correlate.cpp: else if (strcmp(arg[iarg+1],"auto/lower") == 0) type = AUTOLOWER; +fix_ave_correlate.cpp: else error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: else error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: sprintf(str,"Cannot open fix ave/correlate file %s",arg[iarg+1]); +fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: } else error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: // setup and error check +fix_ave_correlate.cpp: // for fix inputs, check that fix frequency is acceptable +fix_ave_correlate.cpp: error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: error->all(FLERR,"Illegal fix ave/correlate command"); +fix_ave_correlate.cpp: error->all(FLERR,"Compute ID for fix ave/correlate does not exist"); +fix_ave_correlate.cpp: "Fix ave/correlate compute does not calculate a scalar"); +fix_ave_correlate.cpp: "Fix ave/correlate compute does not calculate a vector"); +fix_ave_correlate.cpp: error->all(FLERR,"Fix ave/correlate compute vector " +fix_ave_correlate.cpp: error->all(FLERR,"Fix ID for fix ave/correlate does not exist"); +fix_ave_correlate.cpp: error->all(FLERR,"Fix ave/correlate fix does not calculate a scalar"); +fix_ave_correlate.cpp: error->all(FLERR,"Fix ave/correlate fix does not calculate a vector"); +fix_ave_correlate.cpp: "Fix ave/correlate fix vector is accessed out-of-range"); +fix_ave_correlate.cpp: error->all(FLERR,"Fix for fix ave/correlate " +fix_ave_correlate.cpp: error->all(FLERR,"Variable name for fix ave/correlate does not exist"); +fix_ave_correlate.cpp: "Fix ave/correlate variable is not equal-style variable"); +fix_ave_correlate.cpp: "Fix ave/correlate variable is not vector-style variable"); +fix_ave_correlate.cpp: // npair = # of correlation pairs to calculate +fix_ave_correlate.cpp: if (type == UPPER || type == LOWER) npair = nvalues*(nvalues-1)/2; +fix_ave_correlate.cpp: if (type == AUTOUPPER || type == AUTOLOWER) npair = nvalues*(nvalues+1)/2; +fix_ave_correlate.cpp: // print file comment lines +fix_ave_correlate.cpp: // if wildcard expansion occurred, free earg memory from expand_args() +fix_ave_correlate.cpp: // wait to do this until after file comment lines are printed +fix_ave_correlate.cpp: // allocate and initialize memory for averaging +fix_ave_correlate.cpp: // set count and corr to zero since they accumulate +fix_ave_correlate.cpp: // also set save versions to zero in case accessed via compute_array() +fix_ave_correlate.cpp: memory->create(values,nrepeat,nvalues,"ave/correlate:values"); +fix_ave_correlate.cpp: memory->create(count,nrepeat,"ave/correlate:count"); +fix_ave_correlate.cpp: memory->create(save_count,nrepeat,"ave/correlate:save_count"); +fix_ave_correlate.cpp: memory->create(corr,nrepeat,npair,"ave/correlate:corr"); +fix_ave_correlate.cpp: memory->create(save_corr,nrepeat,npair,"ave/correlate:save_corr"); +fix_ave_correlate.cpp: // this fix produces a global array +fix_ave_correlate.cpp: // nvalid = next step on which end_of_step does something +fix_ave_correlate.cpp: // add nvalid to all computes that store invocation times +fix_ave_correlate.cpp: // since don't know a priori which are invoked by this fix +fix_ave_correlate.cpp: // once in end_of_step() can set timestep for ones actually invoked +fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_correlate.cpp: // set current indices for all computes,fixes,variables +fix_ave_correlate.cpp: error->all(FLERR,"Compute ID for fix ave/correlate does not exist"); +fix_ave_correlate.cpp: error->all(FLERR,"Fix ID for fix ave/correlate does not exist"); +fix_ave_correlate.cpp: error->all(FLERR,"Variable name for fix ave/correlate does not exist"); +fix_ave_correlate.cpp: // need to reset nvalid if nvalid < ntimestep b/c minimize was performed +fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- +fix_ave_correlate.cpp:------------------------------------------------------------------------- */ +fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_correlate.cpp: // skip if not step which requires doing something +fix_ave_correlate.cpp: // error check if timestep was reset in an invalid manner +fix_ave_correlate.cpp: error->all(FLERR,"Invalid timestep reset for fix ave/correlate"); +fix_ave_correlate.cpp: // accumulate results of computes,fixes,variables to origin +fix_ave_correlate.cpp: // compute/fix/variable may invoke computes so wrap with clear/add +fix_ave_correlate.cpp: // lastindex = index in values ring of latest time sample +fix_ave_correlate.cpp: // invoke compute if not previously invoked +fix_ave_correlate.cpp: // access fix fields, guaranteed to be ready +fix_ave_correlate.cpp: // evaluate equal-style or vector-style variable +fix_ave_correlate.cpp: // fistindex = index in values ring of earliest time sample +fix_ave_correlate.cpp: // nsample = number of time samples in values ring +fix_ave_correlate.cpp: // calculate all Cij() enabled by latest values +fix_ave_correlate.cpp: // save results in save_count and save_corr +fix_ave_correlate.cpp: save_corr[i][j] = prefactor*corr[i][j]/count[i]; +fix_ave_correlate.cpp: // output result to file +fix_ave_correlate.cpp: fprintf(fp," %g",prefactor*corr[i][j]/count[i]); +fix_ave_correlate.cpp: // zero accumulation if requested +fix_ave_correlate.cpp: // recalculate Cij(0) +fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- +fix_ave_correlate.cpp:------------------------------------------------------------------------- */ +fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- +fix_ave_correlate.cpp:------------------------------------------------------------------------- */ +fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- +fix_ave_correlate.cpp:------------------------------------------------------------------------- */ +fix_ave_correlate.cpp: if (nvalid % nevery) nvalid = (nvalid/nevery)*nevery + nevery; +fix_aveforce.cpp:/* ---------------------------------------------------------------------- +fix_aveforce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_aveforce.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_aveforce.cpp:------------------------------------------------------------------------- */ +fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ +fix_aveforce.cpp: // optional args +fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ +fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ +fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ +fix_aveforce.cpp: // check variables +fix_aveforce.cpp: // set index and check validity of region +fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ +fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ +fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ +fix_aveforce.cpp: // update region if necessary +fix_aveforce.cpp: // sum forces on participating atoms +fix_aveforce.cpp: // average the force on participating atoms +fix_aveforce.cpp: // add in requested amount, computed via variable evaluation if necessary +fix_aveforce.cpp: // wrap variable evaluation with clear/add +fix_aveforce.cpp: fave[0] = foriginal_all[0]/ncount + xvalue; +fix_aveforce.cpp: fave[1] = foriginal_all[1]/ncount + yvalue; +fix_aveforce.cpp: fave[2] = foriginal_all[2]/ncount + zvalue; +fix_aveforce.cpp: // set force of all participating atoms to same value +fix_aveforce.cpp: // only for active dimensions +fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ +fix_aveforce.cpp: // ave + extra force on selected RESPA level +fix_aveforce.cpp: // just ave on all other levels +fix_aveforce.cpp: fave[0] = foriginal_all[0]/ncount; +fix_aveforce.cpp: fave[1] = foriginal_all[1]/ncount; +fix_aveforce.cpp: fave[2] = foriginal_all[2]/ncount; +fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ +fix_aveforce.cpp:/* ---------------------------------------------------------------------- +fix_aveforce.cpp:------------------------------------------------------------------------- */ +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_ave_histo.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_ave_histo.cpp:------------------------------------------------------------------------- */ +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_histo.cpp: if (narg < 10) error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: // scan values to count them +fix_ave_histo.cpp: // then read options so know mode = SCALAR/VECTOR before re-reading values +fix_ave_histo.cpp: if (nvalues == 0) error->all(FLERR,"No values in fix ave/histo command"); +fix_ave_histo.cpp: // expand args if any have wildcard character "*" +fix_ave_histo.cpp: // this can reset nvalues +fix_ave_histo.cpp: // parse values +fix_ave_histo.cpp: error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: // if wildcard expansion occurred, free earg memory from expand_args() +fix_ave_histo.cpp: // setup and error check +fix_ave_histo.cpp: // kind = inputs are all global, or all per-atom, or all local +fix_ave_histo.cpp: // for fix inputs, check that fix frequency is acceptable +fix_ave_histo.cpp: error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: if (lo >= hi) error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: if (nbins <= 0) error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: if (c_id < 0) error->all(FLERR,"Fix ave/histo input is invalid compute"); +fix_ave_histo.cpp: else error->all(FLERR,"Fix ave/histo input is invalid compute"); +fix_ave_histo.cpp: if (f_id < 0) error->all(FLERR,"Fix ave/histo input is invalid fix"); +fix_ave_histo.cpp: else error->all(FLERR,"Fix ave/histo input is invalid fix"); +fix_ave_histo.cpp: if (ivariable < 0) error->all(FLERR,"Fix ave/histo input is invalid variable"); +fix_ave_histo.cpp: else error->all(FLERR,"Fix ave/histo input is invalid variable"); +fix_ave_histo.cpp: "Fix ave/histo inputs are not all global, peratom, or local"); +fix_ave_histo.cpp: "Fix ave/histo cannot input per-atom values in scalar mode"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo cannot input local values in scalar mode"); +fix_ave_histo.cpp: error->all(FLERR,"Compute ID for fix ave/histo does not exist"); +fix_ave_histo.cpp: "Fix ave/histo compute does not calculate a global scalar"); +fix_ave_histo.cpp: "Fix ave/histo compute does not calculate a global vector"); +fix_ave_histo.cpp: "Fix ave/histo compute vector is accessed out-of-range"); +fix_ave_histo.cpp: error->all(FLERR,"Compute ID for fix ave/histo does not exist"); +fix_ave_histo.cpp: "Fix ave/histo compute does not calculate a global vector"); +fix_ave_histo.cpp: "Fix ave/histo compute does not calculate a global array"); +fix_ave_histo.cpp: "Fix ave/histo compute array is accessed out-of-range"); +fix_ave_histo.cpp: error->all(FLERR,"Compute ID for fix ave/histo does not exist"); +fix_ave_histo.cpp: "Fix ave/histo compute does not calculate per-atom values"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo compute does not " +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo compute does not " +fix_ave_histo.cpp: "Fix ave/histo compute array is accessed out-of-range"); +fix_ave_histo.cpp: error->all(FLERR,"Compute ID for fix ave/histo does not exist"); +fix_ave_histo.cpp: "Fix ave/histo compute does not calculate local values"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo compute does not " +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo compute does not " +fix_ave_histo.cpp: "Fix ave/histo compute array is accessed out-of-range"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ID for fix ave/histo does not exist"); +fix_ave_histo.cpp: "Fix ave/histo fix does not calculate a global scalar"); +fix_ave_histo.cpp: "Fix ave/histo fix does not calculate a global vector"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix vector is accessed out-of-range"); +fix_ave_histo.cpp: "Fix for fix ave/histo not computed at compatible time"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ID for fix ave/histo does not exist"); +fix_ave_histo.cpp: "Fix ave/histo fix does not calculate a global vector"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix does not calculate a global array"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix array is accessed out-of-range"); +fix_ave_histo.cpp: "Fix for fix ave/histo not computed at compatible time"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ID for fix ave/histo does not exist"); +fix_ave_histo.cpp: "Fix ave/histo fix does not calculate per-atom values"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix does not " +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix does not " +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix array is accessed out-of-range"); +fix_ave_histo.cpp: "Fix for fix ave/histo not computed at compatible time"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ID for fix ave/histo does not exist"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix does not calculate local values"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix does not " +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix does not " +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix array is accessed out-of-range"); +fix_ave_histo.cpp: "Fix for fix ave/histo not computed at compatible time"); +fix_ave_histo.cpp: error->all(FLERR,"Variable name for fix ave/histo does not exist"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo variable is not equal-style variable"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo variable is not vector-style variable"); +fix_ave_histo.cpp: error->all(FLERR,"Variable name for fix ave/histo does not exist"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo variable is not vector-style variable"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo variable cannot be indexed"); +fix_ave_histo.cpp: error->all(FLERR,"Variable name for fix ave/histo does not exist"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo variable is not atom-style variable"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo variable cannot be indexed"); +fix_ave_histo.cpp: // print file comment lines +fix_ave_histo.cpp: else fprintf(fp,"# Bin Coord Count Count/Total\n"); +fix_ave_histo.cpp: // allocate and initialize memory for averaging +fix_ave_histo.cpp: memory->create(stats_list,nwindow,4,"ave/histo:stats_list"); +fix_ave_histo.cpp: memory->create(bin_list,nwindow,nbins,"ave/histo:bin_list"); +fix_ave_histo.cpp: // initializations +fix_ave_histo.cpp: // set coord to bin centers +fix_ave_histo.cpp: binsize = (hi-lo)/(nbins-2); +fix_ave_histo.cpp: bininv = 1.0/binsize; +fix_ave_histo.cpp: binsize = (hi-lo)/nbins; +fix_ave_histo.cpp: bininv = 1.0/binsize; +fix_ave_histo.cpp: // nvalid = next step on which end_of_step does something +fix_ave_histo.cpp: // add nvalid to all computes that store invocation times +fix_ave_histo.cpp: // since don't know a priori which are invoked by this fix +fix_ave_histo.cpp: // once in end_of_step() can set timestep for ones actually invoked +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_histo.cpp: // set current indices for all computes,fixes,variables +fix_ave_histo.cpp: error->all(FLERR,"Compute ID for fix ave/histo does not exist"); +fix_ave_histo.cpp: error->all(FLERR,"Fix ID for fix ave/histo does not exist"); +fix_ave_histo.cpp: error->all(FLERR,"Variable name for fix ave/histo does not exist"); +fix_ave_histo.cpp: // need to reset nvalid if nvalid < ntimestep b/c minimize was performed +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo.cpp:------------------------------------------------------------------------- */ +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_histo.cpp: // skip if not step which requires doing something +fix_ave_histo.cpp: // error check if timestep was reset in an invalid manner +fix_ave_histo.cpp: error->all(FLERR,"Invalid timestep reset for fix ave/histo"); +fix_ave_histo.cpp: // zero if first step +fix_ave_histo.cpp: // accumulate results of computes,fixes,variables to local copy +fix_ave_histo.cpp: // compute/fix/variable may invoke computes so wrap with clear/add +fix_ave_histo.cpp: // atom attributes +fix_ave_histo.cpp: // invoke compute if not previously invoked +fix_ave_histo.cpp: // access fix fields, guaranteed to be ready +fix_ave_histo.cpp: // evaluate equal-style or vector-style or atom-style variable +fix_ave_histo.cpp: memory->create(vector,maxatom,"ave/histo:vector"); +fix_ave_histo.cpp: // done if irepeat < nrepeat +fix_ave_histo.cpp: // else reset irepeat and nvalid +fix_ave_histo.cpp: // merge histogram stats across procs if necessary +fix_ave_histo.cpp: // if ave = ONE, only single Nfreq timestep value is needed +fix_ave_histo.cpp: // if ave = RUNNING, combine with all previous Nfreq timestep values +fix_ave_histo.cpp: // if ave = WINDOW, combine with nwindow most recent Nfreq timestep values +fix_ave_histo.cpp: // output result to file +fix_ave_histo.cpp: i+1,coord[i],bin_total[i],bin_total[i]/stats_total[0]); +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo.cpp:------------------------------------------------------------------------- */ +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo.cpp:------------------------------------------------------------------------- */ +fix_ave_histo.cpp: else if (stats_total[0] != 0.0) return bin_total[i]/stats_total[0]; +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo.cpp:------------------------------------------------------------------------- */ +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo.cpp:------------------------------------------------------------------------- */ +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo.cpp:------------------------------------------------------------------------- */ +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo.cpp:------------------------------------------------------------------------- */ +fix_ave_histo.cpp: // option defaults +fix_ave_histo.cpp: // optional args +fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: sprintf(str,"Cannot open fix ave/histo file %s",arg[iarg+1]); +fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: else error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: if (iarg+3 > narg) error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: if (nwindow <= 0) error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: else error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: else error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp: } else error->all(FLERR,"Illegal fix ave/histo command"); +fix_ave_histo.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo.cpp:------------------------------------------------------------------------- */ +fix_ave_histo.cpp: bigint nvalid = (update->ntimestep/nfreq)*nfreq + nfreq; +fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo_weight.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_ave_histo_weight.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_ave_histo_weight.cpp:------------------------------------------------------------------------- */ +fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo_weight.cpp:------------------------------------------------------------------------- */ +fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_histo_weight.cpp: // nvalues = 2 required for histo/weight +fix_ave_histo_weight.cpp: if (nvalues != 2) error->all(FLERR,"Illegal fix ave/histo/weight command"); +fix_ave_histo_weight.cpp: // check that length of 2 values is the same +fix_ave_histo_weight.cpp: error->all(FLERR,"Fix ave/histo/weight value and weight vector " +fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_histo_weight.cpp: // skip if not step which requires doing something +fix_ave_histo_weight.cpp: // error check if timestep was reset in an invalid manner +fix_ave_histo_weight.cpp: error->all(FLERR,"Invalid timestep reset for fix ave/histo"); +fix_ave_histo_weight.cpp: // zero if first step +fix_ave_histo_weight.cpp: // first calculate weight factors, then bin single value +fix_ave_histo_weight.cpp: // accumulate results of computes,fixes,variables to local copy +fix_ave_histo_weight.cpp: // compute/fix/variable may invoke computes so wrap with clear/add +fix_ave_histo_weight.cpp: // calculate weight factors which are 2nd value (i = 1) +fix_ave_histo_weight.cpp: // atom attributes +fix_ave_histo_weight.cpp: // invoke compute if not previously invoked +fix_ave_histo_weight.cpp: // access fix fields, guaranteed to be ready +fix_ave_histo_weight.cpp: error->all(FLERR,"Fix ave/histo/weight option not yet supported"); +fix_ave_histo_weight.cpp: // NOTE: need to allocate local storage +fix_ave_histo_weight.cpp: // evaluate equal-style variable +fix_ave_histo_weight.cpp: memory->create(vector,maxatom,"ave/histo/weight:vector"); +fix_ave_histo_weight.cpp: // bin values using weights, values are 1st value (i = 0) +fix_ave_histo_weight.cpp: // atom attributes +fix_ave_histo_weight.cpp: // invoke compute if not previously invoked +fix_ave_histo_weight.cpp: // access fix fields, guaranteed to be ready +fix_ave_histo_weight.cpp: // evaluate equal-style variable +fix_ave_histo_weight.cpp: memory->create(vector,maxatom,"ave/histo/weight:vector"); +fix_ave_histo_weight.cpp: // code beyond this point is identical to FixAveHisto +fix_ave_histo_weight.cpp: // done if irepeat < nrepeat +fix_ave_histo_weight.cpp: // else reset irepeat and nvalid +fix_ave_histo_weight.cpp: // merge histogram stats across procs if necessary +fix_ave_histo_weight.cpp: // if ave = ONE, only single Nfreq timestep value is needed +fix_ave_histo_weight.cpp: // if ave = RUNNING, combine with all previous Nfreq timestep values +fix_ave_histo_weight.cpp: // if ave = WINDOW, combine with nwindow most recent Nfreq timestep values +fix_ave_histo_weight.cpp: // output result to file +fix_ave_histo_weight.cpp: i+1,coord[i],bin_total[i],bin_total[i]/stats_total[0]); +fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo_weight.cpp:------------------------------------------------------------------------- */ +fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo_weight.cpp:------------------------------------------------------------------------- */ +fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- +fix_ave_histo_weight.cpp:------------------------------------------------------------------------- */ +fix_ave_time.cpp:/* ---------------------------------------------------------------------- +fix_ave_time.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_ave_time.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_ave_time.cpp:------------------------------------------------------------------------- */ +fix_ave_time.cpp:/* ---------------------------------------------------------------------- +fix_ave_time.cpp:------------------------------------------------------------------------- */ +fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_time.cpp: if (narg < 7) error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: // scan values to count them +fix_ave_time.cpp: // then read options so know mode = SCALAR/VECTOR before re-reading values +fix_ave_time.cpp: if (nvalues == 0) error->all(FLERR,"No values in fix ave/time command"); +fix_ave_time.cpp: // expand args if any have wildcard character "*" +fix_ave_time.cpp: // this can reset nvalues +fix_ave_time.cpp: // parse values +fix_ave_time.cpp: error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: // set off columns now that nvalues is finalized +fix_ave_time.cpp: error->all(FLERR,"Invalid fix ave/time off column"); +fix_ave_time.cpp: // setup and error check +fix_ave_time.cpp: // for fix inputs, check that fix frequency is acceptable +fix_ave_time.cpp: // set variable_length if any compute is variable length +fix_ave_time.cpp: error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: error->all(FLERR,"Compute ID for fix ave/time does not exist"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time compute does not calculate a scalar"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time compute does not calculate a vector"); +fix_ave_time.cpp: "Fix ave/time compute vector is accessed out-of-range"); +fix_ave_time.cpp: error->all(FLERR,"Compute ID for fix ave/time does not exist"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time compute does not calculate a vector"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time compute does not calculate an array"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time compute array is accessed out-of-range"); +fix_ave_time.cpp: error->all(FLERR,"Fix ID for fix ave/time does not exist"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix does not calculate a scalar"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix does not calculate a vector"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix vector cannot be variable length"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix vector is accessed out-of-range"); +fix_ave_time.cpp: "Fix for fix ave/time not computed at compatible time"); +fix_ave_time.cpp: error->all(FLERR,"Fix ID for fix ave/time does not exist"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix does not calculate a vector"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix does not calculate an array"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix array cannot be variable length"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix array is accessed out-of-range"); +fix_ave_time.cpp: "Fix for fix ave/time not computed at compatible time"); +fix_ave_time.cpp: error->all(FLERR,"Variable name for fix ave/time does not exist"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time variable is not equal-style variable"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time variable is not vector-style variable"); +fix_ave_time.cpp: error->all(FLERR,"Variable name for fix ave/time does not exist"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time variable is not vector-style variable"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time mode vector variable cannot be indexed"); +fix_ave_time.cpp: // all_variable_length = 1 if all values are variable length +fix_ave_time.cpp: // any_variable_length = 1 if any values are variable length +fix_ave_time.cpp: // if VECTOR mode, check that all columns are same length +fix_ave_time.cpp: // nrows = # of rows in output array +fix_ave_time.cpp: // if all columns are variable length, just set nrows = 1 for now +fix_ave_time.cpp: memory->create(column,nrows,"ave/time:column"); +fix_ave_time.cpp: // enable locking of row count by this fix for computes of variable length +fix_ave_time.cpp: // only if nrepeat > 1 or ave = RUNNING/WINDOW, +fix_ave_time.cpp: // so that locking spans multiple timesteps +fix_ave_time.cpp: // print file comment lines +fix_ave_time.cpp: // for mode = VECTOR, cannot use arg to print +fix_ave_time.cpp: // since array args may have been expanded to multiple vectors +fix_ave_time.cpp: // if wildcard expansion occurred, free earg memory from expand_args() +fix_ave_time.cpp: // wait to do this until after file comment lines are printed +fix_ave_time.cpp: // allocate memory for averaging +fix_ave_time.cpp: memory->create(vector_list,nwindow,nvalues,"ave/time:vector_list"); +fix_ave_time.cpp: // this fix produces either a global scalar or vector or array +fix_ave_time.cpp: // SCALAR mode produces either a scalar or vector +fix_ave_time.cpp: // VECTOR mode produces either a vector or array +fix_ave_time.cpp: // intensive/extensive flags set by compute,fix,variable that produces value +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time cannot set output array " +fix_ave_time.cpp: "intensive/extensive from these inputs"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time cannot set output array " +fix_ave_time.cpp: "intensive/extensive from these inputs"); +fix_ave_time.cpp: // initializations +fix_ave_time.cpp: // set vector_total to zero since it accumulates +fix_ave_time.cpp: // array_total already zeroed in allocate_arrays +fix_ave_time.cpp: // nvalid = next step on which end_of_step does something +fix_ave_time.cpp: // add nvalid to all computes that store invocation times +fix_ave_time.cpp: // since don't know a priori which are invoked by this fix +fix_ave_time.cpp: // once in end_of_step() can set timestep for ones actually invoked +fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_time.cpp: // decrement lock counter in compute chunk/atom, it if still exists +fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_time.cpp: // set current indices for all computes,fixes,variables +fix_ave_time.cpp: error->all(FLERR,"Compute ID for fix ave/time does not exist"); +fix_ave_time.cpp: error->all(FLERR,"Fix ID for fix ave/time does not exist"); +fix_ave_time.cpp: error->all(FLERR,"Variable name for fix ave/time does not exist"); +fix_ave_time.cpp: // need to reset nvalid if nvalid < ntimestep b/c minimize was performed +fix_ave_time.cpp:/* ---------------------------------------------------------------------- +fix_ave_time.cpp:------------------------------------------------------------------------- */ +fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_time.cpp: // skip if not step which requires doing something +fix_ave_time.cpp: // error check if timestep was reset in an invalid manner +fix_ave_time.cpp: error->all(FLERR,"Invalid timestep reset for fix ave/time"); +fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_time.cpp: // zero if first sample within single Nfreq epoch +fix_ave_time.cpp: // if any input is variable length, initialize current length +fix_ave_time.cpp: // check for exceeding length is done below +fix_ave_time.cpp: // accumulate results of computes,fixes,variables to local copy +fix_ave_time.cpp: // compute/fix/variable may invoke computes so wrap with clear/add +fix_ave_time.cpp: // invoke compute if not previously invoked +fix_ave_time.cpp: // insure no out-of-range access to variable-length compute vector +fix_ave_time.cpp: // access fix fields, guaranteed to be ready +fix_ave_time.cpp: // evaluate equal-style or vector-style variable +fix_ave_time.cpp: // insure no out-of-range access to vector-style variable +fix_ave_time.cpp: // add value to vector or just set directly if offcol is set +fix_ave_time.cpp: // done if irepeat < nrepeat +fix_ave_time.cpp: // else reset irepeat and nvalid +fix_ave_time.cpp: // average the final result for the Nfreq timestep +fix_ave_time.cpp: if (offcol[i] == 0) vector[i] /= repeat; +fix_ave_time.cpp: // if ave = ONE, only single Nfreq timestep value is needed +fix_ave_time.cpp: // if ave = RUNNING, combine with all previous Nfreq timestep values +fix_ave_time.cpp: // if ave = WINDOW, combine with nwindow most recent Nfreq timestep values +fix_ave_time.cpp: // insure any columns with offcol set are effectively set to last value +fix_ave_time.cpp: // output result to file +fix_ave_time.cpp: for (i = 0; i < nvalues; i++) fprintf(fp,format,vector_total[i]/norm); +fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ +fix_ave_time.cpp: // first sample within single Nfreq epoch +fix_ave_time.cpp: // zero out arrays that accumulate over many samples, but not across epochs +fix_ave_time.cpp: // invoke setup_chunks() to determine current nchunk +fix_ave_time.cpp: // re-allocate per-chunk arrays if needed +fix_ave_time.cpp: // invoke lock() in two cases: +fix_ave_time.cpp: // if nrepeat > 1: so nchunk cannot change until Nfreq epoch is over, +fix_ave_time.cpp: // will be unlocked on last repeat of this Nfreq +fix_ave_time.cpp: // if ave = RUNNING/WINDOW and not yet locked: +fix_ave_time.cpp: // set forever, will be unlocked in fix destructor +fix_ave_time.cpp: // wrap setup_chunks in clearstep/addstep b/c it may invoke computes +fix_ave_time.cpp: // both nevery and nfreq are future steps, +fix_ave_time.cpp: // since call below to cchunk->ichunk() +fix_ave_time.cpp: // does not re-invoke internal cchunk compute on this same step +fix_ave_time.cpp: memory->create(column,nrows,"ave/time:column"); +fix_ave_time.cpp: // accumulate results of computes,fixes,variables to local copy +fix_ave_time.cpp: // compute/fix/variable may invoke computes so wrap with clear/add +fix_ave_time.cpp: // invoke compute if not previously invoked +fix_ave_time.cpp: // access fix fields, guaranteed to be ready +fix_ave_time.cpp: // evaluate vector-style variable +fix_ave_time.cpp: // insure nvec = nrows, else error +fix_ave_time.cpp: // could be different on this timestep than when column_length(1) set nrows +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time vector-style variable changed length"); +fix_ave_time.cpp: // add columns of values to array or just set directly if offcol is set +fix_ave_time.cpp: // done if irepeat < nrepeat +fix_ave_time.cpp: // else reset irepeat and nvalid +fix_ave_time.cpp: // unlock any variable length computes at end of Nfreq epoch +fix_ave_time.cpp: // do not unlock if ave = RUNNING or WINDOW +fix_ave_time.cpp: // average the final result for the Nfreq timestep +fix_ave_time.cpp: if (offcol[j] == 0) array[i][j] /= repeat; +fix_ave_time.cpp: // if ave = ONE, only single Nfreq timestep value is needed +fix_ave_time.cpp: // if ave = RUNNING, combine with all previous Nfreq timestep values +fix_ave_time.cpp: // if ave = WINDOW, combine with nwindow most recent Nfreq timestep values +fix_ave_time.cpp: // insure any columns with offcol set are effectively set to last value +fix_ave_time.cpp: // output result to file +fix_ave_time.cpp: for (j = 0; j < nvalues; j++) fprintf(fp,format,array_total[i][j]/norm); +fix_ave_time.cpp:/* ---------------------------------------------------------------------- +fix_ave_time.cpp:------------------------------------------------------------------------- */ +fix_ave_time.cpp: // determine nrows for static values +fix_ave_time.cpp: // variables are always varlen = 1, so dynamic +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time columns are inconsistent lengths"); +fix_ave_time.cpp: // determine new nrows for dynamic values +fix_ave_time.cpp: // either all must be the same +fix_ave_time.cpp: // or must match other static values +fix_ave_time.cpp: // don't need to check if not MODE = VECTOR, just invoke lock_length() +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time columns are inconsistent lengths"); +fix_ave_time.cpp: error->all(FLERR,"Fix ave/time columns are inconsistent lengths"); +fix_ave_time.cpp:/* ---------------------------------------------------------------------- +fix_ave_time.cpp:------------------------------------------------------------------------- */ +fix_ave_time.cpp: if (norm) return vector_total[0]/norm; +fix_ave_time.cpp:/* ---------------------------------------------------------------------- +fix_ave_time.cpp:------------------------------------------------------------------------- */ +fix_ave_time.cpp: if (mode == SCALAR) return vector_total[i]/norm; +fix_ave_time.cpp: if (mode == VECTOR) return array_total[i][0]/norm; +fix_ave_time.cpp:/* ---------------------------------------------------------------------- +fix_ave_time.cpp:------------------------------------------------------------------------- */ +fix_ave_time.cpp: if (norm) return array_total[i][j]/norm; +fix_ave_time.cpp:/* ---------------------------------------------------------------------- +fix_ave_time.cpp:------------------------------------------------------------------------- */ +fix_ave_time.cpp: // option defaults +fix_ave_time.cpp: // optional args +fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: sprintf(str,"Cannot open fix ave/time file %s",arg[iarg+1]); +fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: else error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: if (iarg+3 > narg) error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: if (nwindow <= 0) error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: else error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: memory->grow(offlist,noff+1,"ave/time:offlist"); +fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/spatial command"); +fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/spatial command"); +fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/spatial command"); +fix_ave_time.cpp: } else error->all(FLERR,"Illegal fix ave/time command"); +fix_ave_time.cpp:/* ---------------------------------------------------------------------- +fix_ave_time.cpp:------------------------------------------------------------------------- */ +fix_ave_time.cpp: memory->create(array,nrows,nvalues,"ave/time:array"); +fix_ave_time.cpp: memory->create(array_total,nrows,nvalues,"ave/time:array_total"); +fix_ave_time.cpp: memory->create(array_list,nwindow,nrows,nvalues,"ave/time:array_list"); +fix_ave_time.cpp: // reinitialize regrown array_total since it accumulates +fix_ave_time.cpp:/* ---------------------------------------------------------------------- +fix_ave_time.cpp:------------------------------------------------------------------------- */ +fix_ave_time.cpp: bigint nvalid = (update->ntimestep/nfreq)*nfreq + nfreq; +fix_balance.cpp:/* ---------------------------------------------------------------------- +fix_balance.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_balance.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_balance.cpp:------------------------------------------------------------------------- */ +fix_balance.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files +fix_balance.cpp:/* ---------------------------------------------------------------------- */ +fix_balance.cpp: // parse required arguments +fix_balance.cpp: // error checks +fix_balance.cpp: // create instance of Balance class +fix_balance.cpp: // if SHIFT, initialize it with params +fix_balance.cpp: // process remaining optional args via Balance +fix_balance.cpp: // create instance of Irregular class +fix_balance.cpp: // only force reneighboring if nevery > 0 +fix_balance.cpp: // compute initial outputs +fix_balance.cpp:/* ---------------------------------------------------------------------- */ +fix_balance.cpp:/* ---------------------------------------------------------------------- */ +fix_balance.cpp:/* ---------------------------------------------------------------------- */ +fix_balance.cpp:/* ---------------------------------------------------------------------- */ +fix_balance.cpp:/* ---------------------------------------------------------------------- */ +fix_balance.cpp: // compute final imbalance factor if setup_pre_exchange() invoked balancer +fix_balance.cpp: // this is called at end of run setup, before output +fix_balance.cpp:/* ---------------------------------------------------------------------- */ +fix_balance.cpp: // do not allow rebalancing twice on same timestep +fix_balance.cpp: // even if wanted to, can mess up elapsed time in ImbalanceTime +fix_balance.cpp: // insure atoms are in current box & update box via shrink-wrap +fix_balance.cpp: // has to be be done before rebalance() invokes Irregular::migrate_atoms() +fix_balance.cpp: // since it requires atoms be inside simulation box +fix_balance.cpp: // even though pbc() will be done again in Verlet::run() +fix_balance.cpp: // no exchange() since doesn't matter if atoms are assigned to correct procs +fix_balance.cpp: // perform a rebalance if threshold exceeded +fix_balance.cpp: // next timestep to rebalance +fix_balance.cpp: if (nevery) next_reneighbor = (update->ntimestep/nevery)*nevery + nevery; +fix_balance.cpp:/* ---------------------------------------------------------------------- +fix_balance.cpp:------------------------------------------------------------------------- */ +fix_balance.cpp: // return if not a rebalance timestep +fix_balance.cpp: // do not allow rebalancing twice on same timestep +fix_balance.cpp: // even if wanted to, can mess up elapsed time in ImbalanceTime +fix_balance.cpp: // insure atoms are in current box & update box via shrink-wrap +fix_balance.cpp: // no exchange() since doesn't matter if atoms are assigned to correct procs +fix_balance.cpp: // perform a rebalance if threshold exceeded +fix_balance.cpp: // if weight variable is used, wrap weight setting in clear/add compute +fix_balance.cpp: // next timestep to rebalance +fix_balance.cpp: if (nevery) next_reneighbor = (update->ntimestep/nevery)*nevery + nevery; +fix_balance.cpp:/* ---------------------------------------------------------------------- +fix_balance.cpp:------------------------------------------------------------------------- */ +fix_balance.cpp:/* ---------------------------------------------------------------------- +fix_balance.cpp:------------------------------------------------------------------------- */ +fix_balance.cpp: // invoke balancer and reset comm->uniform flag +fix_balance.cpp: // output of new decomposition +fix_balance.cpp: // reset proc sub-domains +fix_balance.cpp: // check and warn if any proc's subbox is smaller than neigh skin +fix_balance.cpp: // since may lead to lost atoms in exchange() +fix_balance.cpp: // move atoms to new processors via irregular() +fix_balance.cpp: // only needed if migrate_check() says an atom moves to far +fix_balance.cpp: // else allow caller's comm->exchange() to do it +fix_balance.cpp: // invoke KSpace setup_grid() to adjust to new proc sub-domains +fix_balance.cpp: // pending triggers pre_neighbor() to compute final imbalance factor +fix_balance.cpp: // can only be done after atoms migrate in comm->exchange() +fix_balance.cpp:/* ---------------------------------------------------------------------- +fix_balance.cpp:------------------------------------------------------------------------- */ +fix_balance.cpp:/* ---------------------------------------------------------------------- +fix_balance.cpp:------------------------------------------------------------------------- */ +fix_balance.cpp:/* ---------------------------------------------------------------------- +fix_balance.cpp:------------------------------------------------------------------------- */ +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_box_relax.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_box_relax.cpp:------------------------------------------------------------------------- */ +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:------------------------------------------------------------------------- */ +fix_box_relax.cpp:#define MAX_LIFO_DEPTH 2 // 3 box0 arrays in *.h dimensioned to this +fix_box_relax.cpp:/* ---------------------------------------------------------------------- */ +fix_box_relax.cpp: if (narg < 5) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: // default values +fix_box_relax.cpp: // turn on tilt factor scaling, whenever applicable +fix_box_relax.cpp: // set fixed-point to default = center of cell +fix_box_relax.cpp: // process keywords +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command for a 2d simulation"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command for a 2d simulation"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command for a 2d simulation"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: else error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: else error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (nreset_h0 < 0) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: else error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: else error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: else error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: } else error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: // error checks +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command for a 2d simulation"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command for a 2d simulation"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command pressure settings"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command pressure settings"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command pressure settings"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command pressure settings"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command pressure settings"); +fix_box_relax.cpp: // require periodicity in tensile dimension +fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax on a non-periodic dimension"); +fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax on a non-periodic dimension"); +fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax on a non-periodic dimension"); +fix_box_relax.cpp: // require periodicity in 2nd dim of off-diagonal tilt component +fix_box_relax.cpp: "Cannot use fix box/relax on a 2nd non-periodic dimension"); +fix_box_relax.cpp: "Cannot use fix box/relax on a 2nd non-periodic dimension"); +fix_box_relax.cpp: "Cannot use fix box/relax on a 2nd non-periodic dimension"); +fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax " +fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax " +fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax " +fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax with " +fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax with " +fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax with " +fix_box_relax.cpp: error->all(FLERR,"Can not specify Pxy/Pxz/Pyz in " +fix_box_relax.cpp: "fix box/relax with non-triclinic box"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax pressure settings"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax pressure settings"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax pressure settings"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax pressure settings"); +fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax pressure settings"); +fix_box_relax.cpp: if (vmax <= 0.0) error->all(FLERR,"Illegal fix box/relax command"); +fix_box_relax.cpp: // pstyle = TRICLINIC if any off-diagonal term is controlled -> 6 dof +fix_box_relax.cpp: // else pstyle = ISO if XYZ coupling or XY coupling in 2d -> 1 dof +fix_box_relax.cpp: // else pstyle = ANISO -> 3 dof +fix_box_relax.cpp: // create a new compute temp style +fix_box_relax.cpp: // id = fix-ID + temp +fix_box_relax.cpp: // compute group = all since pressure is always global (group all) +fix_box_relax.cpp: // and thus its KE/temperature contribution should use group all +fix_box_relax.cpp: // create a new compute pressure style (virial only) +fix_box_relax.cpp: // id = fix-ID + press, compute group = all +fix_box_relax.cpp: // pass id_temp as 4th arg to pressure constructor +fix_box_relax.cpp:/* ---------------------------------------------------------------------- */ +fix_box_relax.cpp: // delete temperature and pressure if fix created them +fix_box_relax.cpp:/* ---------------------------------------------------------------------- */ +fix_box_relax.cpp:/* ---------------------------------------------------------------------- */ +fix_box_relax.cpp: // set temperature and pressure ptrs +fix_box_relax.cpp: error->all(FLERR,"Temperature ID for fix box/relax does not exist"); +fix_box_relax.cpp: error->all(FLERR,"Pressure ID for fix box/relax does not exist"); +fix_box_relax.cpp: pv2e = 1.0 / force->nktv2p; +fix_box_relax.cpp: // detect if any rigid fixes exist so rigid bodies move when box is remapped +fix_box_relax.cpp: // rfix[] = indices to each fix rigid +fix_box_relax.cpp: // initial box dimensions +fix_box_relax.cpp: // hydrostatic target pressure and deviatoric target stress +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:------------------------------------------------------------------------- */ +fix_box_relax.cpp: // trigger virial computation on every iteration of minimizer +fix_box_relax.cpp: // compute energy, forces for each extra degree of freedom +fix_box_relax.cpp: // returned eng = PV must be in units of energy +fix_box_relax.cpp: // returned fextra must likewise be in units of energy +fix_box_relax.cpp: scale = domain->xprd/xprdinit; +fix_box_relax.cpp: if (p_flag[0]) scalex = domain->xprd/xprdinit; +fix_box_relax.cpp: if (p_flag[1]) scaley = domain->yprd/yprdinit; +fix_box_relax.cpp: if (p_flag[2]) scalez = domain->zprd/zprdinit; +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:------------------------------------------------------------------------- */ +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:------------------------------------------------------------------------- */ +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:------------------------------------------------------------------------- */ +fix_box_relax.cpp: error->all(FLERR,"Attempt to push beyond stack limit in fix box/relax"); +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:------------------------------------------------------------------------- */ +fix_box_relax.cpp: error->all(FLERR,"Attempt to pop empty stack in fix box/relax"); +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:------------------------------------------------------------------------- */ +fix_box_relax.cpp: // if nreset_h0 > 0, reset reference box +fix_box_relax.cpp: // every nreset_h0 timesteps +fix_box_relax.cpp: // only needed for deviatoric external stress +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:------------------------------------------------------------------------- */ +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:------------------------------------------------------------------------- */ +fix_box_relax.cpp: if (pstyle == ISO) alpha = vmax/fabs(hextra[0]); +fix_box_relax.cpp: if (p_flag[0]) alpha = MIN(alpha,vmax/fabs(hextra[0])); +fix_box_relax.cpp: if (p_flag[1]) alpha = MIN(alpha,vmax/fabs(hextra[1])); +fix_box_relax.cpp: if (p_flag[2]) alpha = MIN(alpha,vmax/fabs(hextra[2])); +fix_box_relax.cpp: if (p_flag[3]) alpha = MIN(alpha,vmax/fabs(hextra[3])); +fix_box_relax.cpp: if (p_flag[4]) alpha = MIN(alpha,vmax/fabs(hextra[4])); +fix_box_relax.cpp: if (p_flag[5]) alpha = MIN(alpha,vmax/fabs(hextra[5])); +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:------------------------------------------------------------------------- */ +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp: dilate the box and owned/ghost atoms around center of box +fix_box_relax.cpp:------------------------------------------------------------------------- */ +fix_box_relax.cpp: // rescale simulation box from linesearch starting point +fix_box_relax.cpp: // scale atom coords for all atoms or only for fix group atoms +fix_box_relax.cpp: // convert pertinent atoms and rigid bodies to lamda coords +fix_box_relax.cpp: // reset global and local box to new size/shape +fix_box_relax.cpp: domain->boxlo[i] = currentBoxLo0 + (currentBoxLo0 - fixedpoint[i])/domain->h[i]*ds[i]*h0[i]; +fix_box_relax.cpp: domain->boxhi[i] = currentBoxHi0 + (currentBoxHi0 - fixedpoint[i])/domain->h[i]*ds[i]*h0[i]; +fix_box_relax.cpp: error->all(FLERR,"Fix box/relax generated negative box length"); +fix_box_relax.cpp: // scale tilt factors with cell, if set +fix_box_relax.cpp: if (scaleyz) domain->yz = (domain->boxhi[2] - domain->boxlo[2])*h0[3]/h0[2]; +fix_box_relax.cpp: if (scalexz) domain->xz = (domain->boxhi[2] - domain->boxlo[2])*h0[4]/h0[2]; +fix_box_relax.cpp: if (scalexy) domain->xy = (domain->boxhi[1] - domain->boxlo[1])*h0[5]/h0[1]; +fix_box_relax.cpp: // convert pertinent atoms and rigid bodies back to box coords +fix_box_relax.cpp:/* ---------------------------------------------------------------------- */ +fix_box_relax.cpp: double ave = 1.0/3.0 * (tensor[0] + tensor[1] + tensor[2]); +fix_box_relax.cpp: // switch order from xy-xz-yz to Voigt +fix_box_relax.cpp:/* ---------------------------------------------------------------------- */ +fix_box_relax.cpp: // reset id_temp of pressure to new temperature ID +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:-----------------------------------------------------------------------*/ +fix_box_relax.cpp: // reset reference box dimensions +fix_box_relax.cpp: // compute target deviatoric stress tensor pdevmod +fix_box_relax.cpp: // Modify to account for off-diagonal terms +fix_box_relax.cpp: // These equations come from the stationarity relation: +fix_box_relax.cpp: // Pdev,sys = Pdev,targ*hinv^t*hdiag +fix_box_relax.cpp: // where: +fix_box_relax.cpp: // Pdev,sys is the system deviatoric stress tensor, +fix_box_relax.cpp: // Pdev,targ = pdeviatoric, effective target deviatoric stress +fix_box_relax.cpp: // hinv^t is the transpose of the inverse h tensor +fix_box_relax.cpp: // hdiag is the diagonal part of the h tensor +fix_box_relax.cpp: // compute symmetric sigma tensor +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:-----------------------------------------------------------------------*/ +fix_box_relax.cpp: // compute strain energy = 0.5*Tr(sigma*h*h^t) in energy units +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:-----------------------------------------------------------------------*/ +fix_box_relax.cpp: // [ 0 5 4 ] [ 0 5 4 ] [ 0 5 4 ] +fix_box_relax.cpp: // [ 5 1 3 ] = [ - 1 3 ] [ 5 1 3 ] +fix_box_relax.cpp: // [ 4 3 2 ] [ - - 2 ] [ 4 3 2 ] +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp:-----------------------------------------------------------------------*/ +fix_box_relax.cpp: if (pflagsum) p_hydro /= pflagsum; +fix_box_relax.cpp:/* ---------------------------------------------------------------------- +fix_box_relax.cpp: ---------------------------------------------------------------------- */ +fix_controller.cpp:/* ---------------------------------------------------------------------- +fix_controller.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_controller.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_controller.cpp:------------------------------------------------------------------------- */ +fix_controller.cpp:/* ---------------------------------------------------------------------- */ +fix_controller.cpp: // process variable arg +fix_controller.cpp: // setpoint arg +fix_controller.cpp: // control variable arg +fix_controller.cpp: // error check +fix_controller.cpp:/* ---------------------------------------------------------------------- */ +fix_controller.cpp:/* ---------------------------------------------------------------------- */ +fix_controller.cpp:/* ---------------------------------------------------------------------- */ +fix_controller.cpp: // set sampling time +fix_controller.cpp:/* ---------------------------------------------------------------------- */ +fix_controller.cpp: // current value of pv = invocation of compute,fix,variable +fix_controller.cpp: // compute/fix/variable may invoke computes so wrap with clear/add +fix_controller.cpp: // invoke compute if not previously invoked +fix_controller.cpp: // access fix field, guaranteed to be ready +fix_controller.cpp: // evaluate equal-style variable +fix_controller.cpp: // new control var = f(old value, current process var, setpoint) +fix_controller.cpp: // cv = cvold -kp*err -ki*sumerr -kd*deltaerr +fix_controller.cpp: // note: this deviates from standard notation, which is +fix_controller.cpp: // cv = kp*err +ki*sumerr +kd*deltaerr +fix_controller.cpp: // the difference is in the sign and the time integral +fix_controller.cpp: // 3 terms of PID equation +fix_controller.cpp: // reset control variable +fix_controller.cpp:/* ---------------------------------------------------------------------- */ +fix_controller.cpp:/* ---------------------------------------------------------------------- +fix_controller.cpp:------------------------------------------------------------------------- */ +fix.cpp:/* ---------------------------------------------------------------------- +fix.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix.cpp:------------------------------------------------------------------------- */ +fix.cpp:// allocate space for static class instance variable and initialize it +fix.cpp:/* ---------------------------------------------------------------------- */ +fix.cpp: // fix ID, group, and style +fix.cpp: // ID must be all alphanumeric chars or underscores +fix.cpp: // reasonable defaults +fix.cpp: // however, each fix that uses these values should explicitly set them +fix.cpp: // per-atom virial +fix.cpp: // set vflag_atom = 0 b/c some fixes grow vatom in grow_arrays() +fix.cpp: // which may occur outside of timestepping +fix.cpp: // KOKKOS per-fix data masks +fix.cpp:/* ---------------------------------------------------------------------- */ +fix.cpp:/* ---------------------------------------------------------------------- +fix.cpp:------------------------------------------------------------------------- */ +fix.cpp: if (strcmp(arg[iarg],"dynamic/dof") == 0) { +fix.cpp:/* ---------------------------------------------------------------------- +fix.cpp:------------------------------------------------------------------------- */ +fix.cpp: eflag_atom = eflag / 2; +fix.cpp: vflag_atom = vflag / 4; +fix.cpp: // reallocate per-atom arrays if necessary +fix.cpp: // zero accumulators +fix.cpp: // no global energy variable to zero (unlike pair,bond,angle,etc) +fix.cpp: // fixes tally it individually via fix_modify energy yes and compute_scalar() +fix.cpp:/* ---------------------------------------------------------------------- +fix.cpp:------------------------------------------------------------------------- */ +fix.cpp: vflag_atom = vflag / 4; +fix.cpp: // reallocate per-atom array if necessary +fix.cpp: // zero accumulators +fix.cpp:/* ---------------------------------------------------------------------- +fix.cpp: tally per-atom energy and global/per-atom virial into accumulators +fix.cpp: increment per-atom energy of each atom in list by 1/total fraction +fix.cpp: this method can be used when fix computes energy/forces in post_force() +fix.cpp:------------------------------------------------------------------------- */ +fix.cpp: double fraction = eng/total; +fix.cpp:/* ---------------------------------------------------------------------- +fix.cpp: increment global virial by n/total fraction +fix.cpp: increment per-atom virial of each atom in list by 1/total fraction +fix.cpp:------------------------------------------------------------------------- */ +fix.cpp: double fraction = n/total; +fix.cpp: double fraction = 1.0/total; +fix_deform.cpp:/* ---------------------------------------------------------------------- +fix_deform.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_deform.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_deform.cpp:------------------------------------------------------------------------- */ +fix_deform.cpp:/* ---------------------------------------------------------------------- +fix_deform.cpp:------------------------------------------------------------------------- */ +fix_deform.cpp:// same as domain.cpp, fix_nvt_sllod.cpp, compute_temp_deform.cpp +fix_deform.cpp:/* ---------------------------------------------------------------------- */ +fix_deform.cpp: // set defaults +fix_deform.cpp: // parse arguments +fix_deform.cpp: // read options from end of input line +fix_deform.cpp: // no x remap effectively moves atoms within box, so set restart_pbc +fix_deform.cpp: // setup dimflags used by other classes to check for volume-change conflicts +fix_deform.cpp: // no tensile deformation on shrink-wrapped dims +fix_deform.cpp: // b/c shrink wrap will change box-length +fix_deform.cpp: // no tilt deformation on shrink-wrapped 2nd dim +fix_deform.cpp: // b/c shrink wrap will change tilt factor in domain::reset_box() +fix_deform.cpp: // apply scaling to FINAL,DELTA,VEL,WIGGLE since they have dist/vel units +fix_deform.cpp: // for 3,4,5: scaling is in 1st dimension, e.g. x for xz +fix_deform.cpp: // for VOLUME, setup links to other dims +fix_deform.cpp: // fixed, dynamic1, dynamic2 +fix_deform.cpp: // set varflag +fix_deform.cpp: // set initial values at time fix deform is issued +fix_deform.cpp: // reneighboring only forced if flips can occur due to shape changes +fix_deform.cpp:/* ---------------------------------------------------------------------- */ +fix_deform.cpp: // reset domain's h_rate = 0.0, since this fix may have made it non-zero +fix_deform.cpp:/* ---------------------------------------------------------------------- */ +fix_deform.cpp:/* ---------------------------------------------------------------------- */ +fix_deform.cpp: // error if more than one fix deform +fix_deform.cpp: // domain, fix nvt/sllod, compute temp/deform only work on single h_rate +fix_deform.cpp: // Kspace setting +fix_deform.cpp: // elapsed time for entire simulation, including multiple runs if defined +fix_deform.cpp: // check variables for VARIABLE style +fix_deform.cpp: // set start/stop values for box size and shape +fix_deform.cpp: // if single run, start is current values +fix_deform.cpp: // if multiple runs enabled via run start/stop settings, +fix_deform.cpp: // start is value when fix deform was issued +fix_deform.cpp: // if VARIABLE or NONE, no need to set +fix_deform.cpp: 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); +fix_deform.cpp: 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); +fix_deform.cpp: set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); +fix_deform.cpp: // compute min/max for WIGGLE = extrema tilt factor will ever reach +fix_deform.cpp: set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); +fix_deform.cpp: set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); +fix_deform.cpp: set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); +fix_deform.cpp: set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); +fix_deform.cpp: // if using tilt TRATE, then initial tilt must be non-zero +fix_deform.cpp: // if yz changes and will cause box flip, then xy cannot be changing +fix_deform.cpp: // yz = [3], xy = [5] +fix_deform.cpp: // this is b/c the flips would induce continuous changes in xz +fix_deform.cpp: // in order to keep the edge vectors of the flipped shape matrix +fix_deform.cpp: // an integer combination of the edge vectors of the unflipped shape matrix +fix_deform.cpp: // VARIABLE for yz is error, since no way to calculate if box flip occurs +fix_deform.cpp: // WIGGLE lo/hi flip test is on min/max oscillation limit, not tilt_stop +fix_deform.cpp: // only trigger actual errors if flipflag is set +fix_deform.cpp: if (lo/(set[1].hi_start-set[1].lo_start) < -0.5 || +fix_deform.cpp: hi/(set[1].hi_start-set[1].lo_start) > 0.5) flag = 1; +fix_deform.cpp: if (lo/(set[1].hi_stop-set[1].lo_stop) < -0.5 || +fix_deform.cpp: hi/(set[1].hi_stop-set[1].lo_stop) > 0.5) flag = 1; +fix_deform.cpp: // set domain->h_rate values for use by domain and other fixes/computes +fix_deform.cpp: // initialize all rates to 0.0 +fix_deform.cpp: // cannot set here for TRATE,VOLUME,WIGGLE,VARIABLE since not constant +fix_deform.cpp: dlo_dt = (set[i].lo_stop - set[i].lo_start) / delt; +fix_deform.cpp: dhi_dt = (set[i].hi_stop - set[i].hi_start) / delt; +fix_deform.cpp: h_rate[i] = (set[i].tilt_stop - set[i].tilt_start) / delt; +fix_deform.cpp: // detect if any rigid fixes exist so rigid bodies can be rescaled +fix_deform.cpp: // rfix[] = indices to each fix rigid +fix_deform.cpp:/* ---------------------------------------------------------------------- +fix_deform.cpp:------------------------------------------------------------------------- */ +fix_deform.cpp:/* ---------------------------------------------------------------------- */ +fix_deform.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +fix_deform.cpp: // wrap variable evaluations with clear/add +fix_deform.cpp: // set new box size +fix_deform.cpp: // for NONE, target is current box size +fix_deform.cpp: // for TRATE, set target directly based on current time, also set h_rate +fix_deform.cpp: // for WIGGLE, set target directly based on current time, also set h_rate +fix_deform.cpp: // for VARIABLE, set target directly via variable eval, also set h_rate +fix_deform.cpp: // for others except VOLUME, target is linear value between start and stop +fix_deform.cpp: 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); +fix_deform.cpp: 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); +fix_deform.cpp: h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * +fix_deform.cpp: cos(TWOPI*delt/set[i].tperiod); +fix_deform.cpp: // set new box size for VOLUME dims that are linked to other dims +fix_deform.cpp: // NOTE: still need to set h_rate for these dims +fix_deform.cpp: 0.5*(set[i].vol_start / +fix_deform.cpp: set[set[i].dynamic1].lo_target) / +fix_deform.cpp: 0.5*(set[i].vol_start / +fix_deform.cpp: set[set[i].dynamic1].lo_target) / +fix_deform.cpp: 0.5*(set[i].vol_start / +fix_deform.cpp: set[set[i].dynamic1].lo_target) / +fix_deform.cpp: 0.5*(set[i].vol_start / +fix_deform.cpp: set[set[i].dynamic1].lo_target) / +fix_deform.cpp: 0.5*sqrt(set[i].vol_start / +fix_deform.cpp: set[set[i].dynamic1].lo_target) / +fix_deform.cpp: 0.5*sqrt(set[i].vol_start / +fix_deform.cpp: set[set[i].dynamic1].lo_target) / +fix_deform.cpp: // for triclinic, set new box shape +fix_deform.cpp: // for NONE, target is current tilt +fix_deform.cpp: // for TRATE, set target directly based on current time. also set h_rate +fix_deform.cpp: // for WIGGLE, set target directly based on current time. also set h_rate +fix_deform.cpp: // for VARIABLE, set target directly via variable eval. also set h_rate +fix_deform.cpp: // for other styles, target is linear value between start and stop values +fix_deform.cpp: set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); +fix_deform.cpp: h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * +fix_deform.cpp: cos(TWOPI*delt/set[i].tperiod); +fix_deform.cpp: // tilt_target can be large positive or large negative value +fix_deform.cpp: // add/subtract box lengths until tilt_target is closest to current value +fix_deform.cpp: double current = h[i]/h[idenom]; +fix_deform.cpp: while (set[i].tilt_target/denom - current > 0.0) +fix_deform.cpp: while (set[i].tilt_target/denom - current < 0.0) +fix_deform.cpp: if (fabs(set[i].tilt_target/denom - 1.0 - current) < +fix_deform.cpp: fabs(set[i].tilt_target/denom - current)) +fix_deform.cpp: // if any tilt ratios exceed 0.5, set flip = 1 and compute new tilt values +fix_deform.cpp: // do not flip in x or y if non-periodic (can tilt but not flip) +fix_deform.cpp: // this is b/c the box length would be changed (dramatically) by flip +fix_deform.cpp: // if yz tilt exceeded, adjust C vector by one B vector +fix_deform.cpp: // if xz tilt exceeded, adjust C vector by one A vector +fix_deform.cpp: // if xy tilt exceeded, adjust B vector by one A vector +fix_deform.cpp: // check yz first since it may change xz, then xz check comes after +fix_deform.cpp: // flip is performed on next timestep, before reneighboring in pre-exchange() +fix_deform.cpp: double xprdinv = 1.0 / xprd; +fix_deform.cpp: double yprdinv = 1.0 / yprd; +fix_deform.cpp: // convert atoms and rigid bodies to lamda coords +fix_deform.cpp: // reset global and local box to new size/shape +fix_deform.cpp: // only if deform fix is controlling the dimension +fix_deform.cpp: // convert atoms and rigid bodies back to box coords +fix_deform.cpp: // redo KSpace coeffs since box has changed +fix_deform.cpp:/* ---------------------------------------------------------------------- */ +fix_deform.cpp:/* ---------------------------------------------------------------------- +fix_deform.cpp:------------------------------------------------------------------------- */ +fix_deprecated.cpp:/* ---------------------------------------------------------------------- +fix_deprecated.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_deprecated.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_deprecated.cpp:------------------------------------------------------------------------- */ +fix_deprecated.cpp:/* ---------------------------------------------------------------------- */ +fix_deprecated.cpp: if (strncmp(style,"ave/spatial",11) == 0) { +fix_deprecated.cpp: "NOTE: The fix styles 'ave/spatial' and 'ave/spatial/sphere' have been replaced\n" +fix_deprecated.cpp: "by the more general fix ave/chunk and compute chunk/atom commands.\n" +fix_deprecated.cpp: "All ave/spatial and ave/spatial/sphere functionality is available in these\n" +fix_deprecated.cpp: "new commands. These ave/spatial keywords & options are part of fix ave/chunk:\n" +fix_deprecated.cpp: "These ave/spatial keywords & options for binning are part of compute chunk/atom:\n" +fix_drag.cpp:/* ---------------------------------------------------------------------- +fix_drag.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_drag.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_drag.cpp:------------------------------------------------------------------------- */ +fix_drag.cpp:/* ---------------------------------------------------------------------- */ +fix_drag.cpp:/* ---------------------------------------------------------------------- */ +fix_drag.cpp:/* ---------------------------------------------------------------------- */ +fix_drag.cpp:/* ---------------------------------------------------------------------- */ +fix_drag.cpp:/* ---------------------------------------------------------------------- */ +fix_drag.cpp: // apply drag force to atoms in group of magnitude f_mag +fix_drag.cpp: // apply in direction (r-r0) if atom is further than delta away +fix_drag.cpp: prefactor = f_mag/r; +fix_drag.cpp:/* ---------------------------------------------------------------------- */ +fix_drag.cpp:/* ---------------------------------------------------------------------- +fix_drag.cpp:------------------------------------------------------------------------- */ +fix_drag.cpp: // only sum across procs one time +fix_dt_reset.cpp:/* ---------------------------------------------------------------------- +fix_dt_reset.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_dt_reset.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_dt_reset.cpp:------------------------------------------------------------------------- */ +fix_dt_reset.cpp:/* ---------------------------------------------------------------------- */ +fix_dt_reset.cpp: if (narg < 7) error->all(FLERR,"Illegal fix dt/reset command"); +fix_dt_reset.cpp: // set time_depend, else elapsed time accumulation can be messed up +fix_dt_reset.cpp: if (nevery <= 0) error->all(FLERR,"Illegal fix dt/reset command"); +fix_dt_reset.cpp: if (minbound && tmin < 0.0) error->all(FLERR,"Illegal fix dt/reset command"); +fix_dt_reset.cpp: if (maxbound && tmax < 0.0) error->all(FLERR,"Illegal fix dt/reset command"); +fix_dt_reset.cpp: error->all(FLERR,"Illegal fix dt/reset command"); +fix_dt_reset.cpp: if (xmax <= 0.0) error->all(FLERR,"Illegal fix dt/reset command"); +fix_dt_reset.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix dt/reset command"); +fix_dt_reset.cpp: else error->all(FLERR,"Illegal fix dt/reset command"); +fix_dt_reset.cpp: } else error->all(FLERR,"Illegal fix dt/reset command"); +fix_dt_reset.cpp: // setup scaling, based on xlattice parameter +fix_dt_reset.cpp: // initializations +fix_dt_reset.cpp:/* ---------------------------------------------------------------------- */ +fix_dt_reset.cpp:/* ---------------------------------------------------------------------- */ +fix_dt_reset.cpp: // set rRESPA flag +fix_dt_reset.cpp: // check for DCD or XTC dumps +fix_dt_reset.cpp: "Dump dcd/xtc timestamp may be wrong with fix dt/reset"); +fix_dt_reset.cpp:/* ---------------------------------------------------------------------- */ +fix_dt_reset.cpp:/* ---------------------------------------------------------------------- */ +fix_dt_reset.cpp: // compute vmax and amax of any atom in group +fix_dt_reset.cpp: if (rmass) massinv = 1.0/rmass[i]; +fix_dt_reset.cpp: else massinv = 1.0/mass[type[i]]; +fix_dt_reset.cpp: if (vsq > 0.0) dtv = xmax/sqrt(vsq); +fix_dt_reset.cpp: if (fsq > 0.0) dtf = sqrt(2.0*xmax/(ftm2v*sqrt(fsq)*massinv)); +fix_dt_reset.cpp: if (delr > xmax) dt *= xmax/delr; +fix_dt_reset.cpp: // if timestep didn't change, just return +fix_dt_reset.cpp: // else reset update->dt and other classes that depend on it +fix_dt_reset.cpp: // rRESPA, pair style, fixes +fix_dt_reset.cpp:/* ---------------------------------------------------------------------- */ +fix_enforce2d.cpp:/* ---------------------------------------------------------------------- +fix_enforce2d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_enforce2d.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_enforce2d.cpp:------------------------------------------------------------------------- */ +fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ +fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ +fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ +fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ +fix_enforce2d.cpp: // list of fixes with enforce2d methods +fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ +fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ +fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ +fix_enforce2d.cpp: // for systems with omega/angmom/torque, zero x and y components +fix_enforce2d.cpp: // invoke other fixes that enforce 2d +fix_enforce2d.cpp: // fix rigid variants +fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ +fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- +fix_external.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_external.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_external.cpp:------------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- */ +fix_external.cpp: if (strcmp(arg[3],"pf/callback") == 0) { +fix_external.cpp: } else if (strcmp(arg[3],"pf/array") == 0) { +fix_external.cpp: // perform initial allocation of atom-based array +fix_external.cpp: // register with Atom class +fix_external.cpp:/* ---------------------------------------------------------------------- */ +fix_external.cpp: // unregister callbacks to this fix from Atom class +fix_external.cpp:/* ---------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- */ +fix_external.cpp:/* --------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- +fix_external.cpp:------------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- */ +fix_external.cpp: // invoke the callback in driver program +fix_external.cpp: // it will fill fexternal with forces +fix_external.cpp: // add forces from fexternal to atoms in group +fix_external.cpp:/* ---------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- +fix_external.cpp:------------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- +fix_external.cpp:------------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- +fix_external.cpp:------------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- +fix_external.cpp:------------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- +fix_external.cpp:------------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- +fix_external.cpp:------------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- +fix_external.cpp:------------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- +fix_external.cpp:------------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- +fix_external.cpp:------------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- +fix_external.cpp:------------------------------------------------------------------------- */ +fix_external.cpp:/* ---------------------------------------------------------------------- +fix_external.cpp:------------------------------------------------------------------------- */ +fix_force_spin.cpp:/* ---------------------------------------------------------------------- +fix_force_spin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_force_spin.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_force_spin.cpp:------------------------------------------------------------------------- */ +fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_force_spin.cpp: // 7 arguments for a force/spin fix command: +fix_force_spin.cpp: //(fix ID group force/spin magnitude (T or eV) style (zeeman or anisotropy) direction (3 cartesian coordinates) +fix_force_spin.cpp: //Magnetic interactions only coded for cartesian coordinates +fix_force_spin.cpp: } else error->all(FLERR,"Illegal fix force/spin command"); +fix_force_spin.cpp: degree2rad = MY_PI/180.0; +fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_force_spin.cpp: double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) +fix_force_spin.cpp: double mub = 5.78901e-5; //in eV/T +fix_force_spin.cpp: double gyro = mub/hbar; //in rad.THz/T +fix_force_spin.cpp: H_field *= gyro; //in rad.THz +fix_force_spin.cpp: Ka /= hbar; //in rad.THz +fix_force_spin.cpp: // check variables +fix_force_spin.cpp: // set magnetic field components once and for all +fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_force_spin.cpp: // update gravity due to variables +fix_force_spin.cpp: set_magneticforce(); //Update value of the mag. field if time-dependent +fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_force_spin.cpp://No acceleration for magnetic EOM, only a "magnetic force" +fix_force_spin.cpp:/* ---------------------------------------------------------------------- +fix_force_spin.cpp:------------------------------------------------------------------------- */ +fix_force_spin.cpp: // only sum across procs one time +fix_gravity.cpp:/* ---------------------------------------------------------------------- +fix_gravity.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_gravity.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_gravity.cpp:------------------------------------------------------------------------- */ +fix_gravity.cpp:/* ---------------------------------------------------------------------- */ +fix_gravity.cpp: degree2rad = MY_PI/180.0; +fix_gravity.cpp:/* ---------------------------------------------------------------------- */ +fix_gravity.cpp:/* ---------------------------------------------------------------------- */ +fix_gravity.cpp:/* ---------------------------------------------------------------------- */ +fix_gravity.cpp: // check variables +fix_gravity.cpp: // set gravity components once and for all +fix_gravity.cpp:/* ---------------------------------------------------------------------- */ +fix_gravity.cpp:/* ---------------------------------------------------------------------- */ +fix_gravity.cpp: // update gravity due to variables +fix_gravity.cpp:/* ---------------------------------------------------------------------- */ +fix_gravity.cpp:/* ---------------------------------------------------------------------- */ +fix_gravity.cpp: xgrav = xdir/length; +fix_gravity.cpp: ygrav = ydir/length; +fix_gravity.cpp: zgrav = zdir/length; +fix_gravity.cpp: xgrav = xdir/length; +fix_gravity.cpp: ygrav = ydir/length; +fix_gravity.cpp:/* ---------------------------------------------------------------------- +fix_gravity.cpp:------------------------------------------------------------------------- */ +fix_gravity.cpp: // only sum across procs one time +fix_group.cpp:/* ---------------------------------------------------------------------- +fix_group.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_group.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_group.cpp:------------------------------------------------------------------------- */ +fix_group.cpp:/* ---------------------------------------------------------------------- */ +fix_group.cpp: // dgroupbit = bitmask of dynamic group +fix_group.cpp: // group ID is last part of fix ID +fix_group.cpp: // process optional args +fix_group.cpp:/* ---------------------------------------------------------------------- */ +fix_group.cpp:/* ---------------------------------------------------------------------- */ +fix_group.cpp:/* ---------------------------------------------------------------------- */ +fix_group.cpp: // parent group cannot be dynamic +fix_group.cpp: // else order of FixGroup fixes would matter +fix_group.cpp: // set current indices for region and variable +fix_group.cpp: // warn if any FixGroup is not at tail end of all post_integrate fixes +fix_group.cpp:/* ---------------------------------------------------------------------- +fix_group.cpp:------------------------------------------------------------------------- */ +fix_group.cpp:/* ---------------------------------------------------------------------- */ +fix_group.cpp: // only assign atoms to group on steps that are multiples of nevery +fix_group.cpp:/* ---------------------------------------------------------------------- */ +fix_group.cpp:/* ---------------------------------------------------------------------- */ +fix_group.cpp: // invoke atom-style variable if defined +fix_group.cpp: memory->create(var,nlocal,"fix/group:varvalue"); +fix_group.cpp: // update region in case it has a variable dependence or is dynamic +fix_group.cpp: // set mask for each atom +fix_group.cpp: // only in group if in parent group, in region, variable is non-zero +fix_group.cpp: // if compute, fix, etc needs updated masks of ghost atoms, +fix_group.cpp: // it must do forward_comm() to update them +fix_halt.cpp:/* ---------------------------------------------------------------------- +fix_halt.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_halt.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_halt.cpp:------------------------------------------------------------------------- */ +fix_halt.cpp:/* ---------------------------------------------------------------------- */ +fix_halt.cpp: // comparison args +fix_halt.cpp: // parse optional args +fix_halt.cpp: // add nfirst to all computes that store invocation times +fix_halt.cpp: // since don't know a priori which are invoked via variables by this fix +fix_halt.cpp: // once in end_of_step() can set timestep for ones actually invoked +fix_halt.cpp: const bigint nfirst = (update->ntimestep/nevery)*nevery + nevery; +fix_halt.cpp:/* ---------------------------------------------------------------------- */ +fix_halt.cpp:/* ---------------------------------------------------------------------- */ +fix_halt.cpp:/* ---------------------------------------------------------------------- */ +fix_halt.cpp: // set ivar from current variable list +fix_halt.cpp: // settings used by TLIMIT +fix_halt.cpp: nextstep = (update->ntimestep/nevery)*nevery + nevery; +fix_halt.cpp:/* ---------------------------------------------------------------------- */ +fix_halt.cpp: // variable evaluation may invoke computes so wrap with clear/add +fix_halt.cpp: // check if halt is triggered, else just return +fix_halt.cpp: // hard halt -> exit LAMMPS +fix_halt.cpp: // soft/continue halt -> trigger timer to break from run loop +fix_halt.cpp: // print message with ID of fix halt in case multiple instances +fix_halt.cpp:/* ---------------------------------------------------------------------- +fix_halt.cpp:------------------------------------------------------------------------- */ +fix_halt.cpp: // continue halt -> subsequent runs are allowed +fix_halt.cpp:/* ---------------------------------------------------------------------- +fix_halt.cpp:------------------------------------------------------------------------- */ +fix_halt.cpp:/* ---------------------------------------------------------------------- +fix_halt.cpp: first project to 1/2 the run time, thereafter to end of run +fix_halt.cpp:------------------------------------------------------------------------- */ +fix_halt.cpp: static_cast (tratio*value/cpu * elapsed); +fix_halt.cpp: nextstep = (final/nevery)*nevery + nevery; +fix_heat.cpp:/* ---------------------------------------------------------------------- +fix_heat.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_heat.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_heat.cpp:------------------------------------------------------------------------- */ +fix_heat.cpp:/* ---------------------------------------------------------------------- +fix_heat.cpp:------------------------------------------------------------------------- */ +fix_heat.cpp:/* ---------------------------------------------------------------------- */ +fix_heat.cpp: // optional args +fix_heat.cpp:/* ---------------------------------------------------------------------- */ +fix_heat.cpp:/* ---------------------------------------------------------------------- */ +fix_heat.cpp:/* ---------------------------------------------------------------------- */ +fix_heat.cpp: // set index and check validity of region +fix_heat.cpp: // check variable +fix_heat.cpp: // cannot have 0 atoms in group +fix_heat.cpp:/* ---------------------------------------------------------------------- */ +fix_heat.cpp: // reallocate per-atom arrays if necessary +fix_heat.cpp: // evaluate variable +fix_heat.cpp: // vcm = center-of-mass velocity of scaled atoms +fix_heat.cpp: // add heat via scale factor on velocities for CONSTANT and EQUAL cases +fix_heat.cpp: // scale = velocity scale factor to accomplish eflux change in energy +fix_heat.cpp: // vsub = velocity subtracted from each atom to preserve momentum +fix_heat.cpp: // overall KE cannot go negative +fix_heat.cpp: (ke + heat - 0.5*vcmsq*masstotal)/(ke - 0.5*vcmsq*masstotal); +fix_heat.cpp: // add heat via per-atom scale factor on velocities for ATOM case +fix_heat.cpp: // vscale = velocity scale factor to accomplish eflux change in energy +fix_heat.cpp: // vsub = velocity subtracted from each atom to preserve momentum +fix_heat.cpp: // KE of an atom cannot go negative +fix_heat.cpp: (ke + heat - 0.5*vcmsq*masstotal)/(ke - 0.5*vcmsq*masstotal); +fix_heat.cpp: vsub[0] /= masstotal; +fix_heat.cpp: vsub[1] /= masstotal; +fix_heat.cpp: vsub[2] /= masstotal; +fix_heat.cpp: (ke + heat - 0.5*vcmsq*masstotal)/(ke - 0.5*vcmsq*masstotal); +fix_heat.cpp: vsub[0] /= masstotal; +fix_heat.cpp: vsub[1] /= masstotal; +fix_heat.cpp: vsub[2] /= masstotal; +fix_heat.cpp:/* ---------------------------------------------------------------------- */ +fix_heat.cpp: else average_scale = scale_sum_all/static_cast(ncount_all); +fix_heat.cpp:/* ---------------------------------------------------------------------- +fix_heat.cpp:------------------------------------------------------------------------- */ +fix_indent.cpp:/* ---------------------------------------------------------------------- +fix_indent.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_indent.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_indent.cpp:------------------------------------------------------------------------- */ +fix_indent.cpp:/* ---------------------------------------------------------------------- +fix_indent.cpp:------------------------------------------------------------------------- */ +fix_indent.cpp:/* ---------------------------------------------------------------------- */ +fix_indent.cpp: k3 = k/3.0; +fix_indent.cpp: // read options from end of input line +fix_indent.cpp: // setup scaling +fix_indent.cpp: // apply scaling factors to geometry +fix_indent.cpp:/* ---------------------------------------------------------------------- */ +fix_indent.cpp:/* ---------------------------------------------------------------------- */ +fix_indent.cpp:/* ---------------------------------------------------------------------- */ +fix_indent.cpp:/* ---------------------------------------------------------------------- */ +fix_indent.cpp:/* ---------------------------------------------------------------------- */ +fix_indent.cpp:/* ---------------------------------------------------------------------- */ +fix_indent.cpp: // indenter values, 0 = energy, 1-3 = force components +fix_indent.cpp: // wrap variable evaluations with clear/add +fix_indent.cpp: // spherical indenter +fix_indent.cpp: // ctr = current indenter center +fix_indent.cpp: // remap into periodic box +fix_indent.cpp: fx = delx*fmag/r; +fix_indent.cpp: fy = dely*fmag/r; +fix_indent.cpp: fz = delz*fmag/r; +fix_indent.cpp: // cylindrical indenter +fix_indent.cpp: // ctr = current indenter axis +fix_indent.cpp: // remap into periodic box +fix_indent.cpp: // 3rd coord is just near box for remap(), since isn't used +fix_indent.cpp: fx = delx*fmag/r; +fix_indent.cpp: fy = dely*fmag/r; +fix_indent.cpp: fz = delz*fmag/r; +fix_indent.cpp: // planar indenter +fix_indent.cpp: // plane = current plane position +fix_indent.cpp:/* ---------------------------------------------------------------------- */ +fix_indent.cpp:/* ---------------------------------------------------------------------- */ +fix_indent.cpp:/* ---------------------------------------------------------------------- +fix_indent.cpp:------------------------------------------------------------------------- */ +fix_indent.cpp: // only sum across procs one time +fix_indent.cpp:/* ---------------------------------------------------------------------- +fix_indent.cpp:------------------------------------------------------------------------- */ +fix_indent.cpp: // only sum across procs one time +fix_indent.cpp:/* ---------------------------------------------------------------------- +fix_indent.cpp:------------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- +fix_langevin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_langevin.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_langevin.cpp:------------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- +fix_langevin.cpp:------------------------------------------------------------------------- */ +fix_langevin.cpp:#define SINERTIA 0.4 // moment of inertia prefactor for sphere +fix_langevin.cpp:#define EINERTIA 0.2 // moment of inertia prefactor for ellipsoid +fix_langevin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin.cpp: // initialize Marsaglia RNG with processor-unique seed +fix_langevin.cpp: // allocate per-type arrays for force prefactors +fix_langevin.cpp: // optional args +fix_langevin.cpp: // set temperature = NULL, user can override via fix_modify if wants bias +fix_langevin.cpp: // flangevin is unallocated until first call to setup() +fix_langevin.cpp: // compute_scalar checks for this and returns 0.0 +fix_langevin.cpp: // if flangevin_allocated is not set +fix_langevin.cpp: // setup atom-based array for franprev +fix_langevin.cpp: // register with Atom class +fix_langevin.cpp: // no need to set peratom_flag, b/c data is for internal use only +fix_langevin.cpp: // initialize franprev to zero +fix_langevin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin.cpp: // check variable +fix_langevin.cpp: // if oflag or ascale set, check that all group particles are finite-size +fix_langevin.cpp: // set force prefactors +fix_langevin.cpp: gfactor1[i] = -atom->mass[i] / t_period / force->ftm2v; +fix_langevin.cpp: sqrt(24.0*force->boltz/t_period/update->dt/force->mvv2e) / +fix_langevin.cpp: gfactor1[i] *= 1.0/ratio[i]; +fix_langevin.cpp: gfactor2[i] *= 1.0/sqrt(ratio[i]); +fix_langevin.cpp: if (gjfflag) gjffac = 1.0/(1.0+update->dt/2.0/t_period); +fix_langevin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin.cpp: // enumerate all 2^6 possibilities for template parameters +fix_langevin.cpp: // this avoids testing them inside inner loop: +fix_langevin.cpp: // TSTYLEATOM, GJF, TALLY, BIAS, RMASS, ZERO +fix_langevin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- +fix_langevin.cpp:------------------------------------------------------------------------- */ +fix_langevin.cpp: // apply damping and thermostat to atoms in group +fix_langevin.cpp: // for Tp_TSTYLEATOM: +fix_langevin.cpp: // use per-atom per-coord target temperature +fix_langevin.cpp: // for Tp_GJF: +fix_langevin.cpp: // use Gronbech-Jensen/Farago algorithm +fix_langevin.cpp: // else use regular algorithm +fix_langevin.cpp: // for Tp_TALLY: +fix_langevin.cpp: // store drag plus random forces in flangevin[nlocal][3] +fix_langevin.cpp: // for Tp_BIAS: +fix_langevin.cpp: // calculate temperature since some computes require temp +fix_langevin.cpp: // computed on current nlocal atoms to remove bias +fix_langevin.cpp: // test v = 0 since some computes mask non-participating atoms via v = 0 +fix_langevin.cpp: // and added force has extra term not multiplied by v = 0 +fix_langevin.cpp: // for Tp_RMASS: +fix_langevin.cpp: // use per-atom masses +fix_langevin.cpp: // else use per-type masses +fix_langevin.cpp: // for Tp_ZERO: +fix_langevin.cpp: // sum random force over all atoms in group +fix_langevin.cpp: // subtract sum/count from each atom in group +fix_langevin.cpp: // reallocate flangevin if necessary +fix_langevin.cpp: gamma1 = -rmass[i] / t_period / ftm2v; +fix_langevin.cpp: gamma2 = sqrt(rmass[i]) * sqrt(24.0*boltz/t_period/dt/mvv2e) / ftm2v; +fix_langevin.cpp: gamma1 *= 1.0/ratio[type[i]]; +fix_langevin.cpp: gamma2 *= 1.0/sqrt(ratio[type[i]]) * tsqrt; +fix_langevin.cpp: // set total force to zero +fix_langevin.cpp: fsumall[0] /= count; +fix_langevin.cpp: fsumall[1] /= count; +fix_langevin.cpp: fsumall[2] /= count; +fix_langevin.cpp: // thermostat omega and angmom +fix_langevin.cpp:/* ---------------------------------------------------------------------- +fix_langevin.cpp:------------------------------------------------------------------------- */ +fix_langevin.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +fix_langevin.cpp: // if variable temp, evaluate variable, wrap with clear/add +fix_langevin.cpp: // reallocate tforce array if necessary +fix_langevin.cpp:/* ---------------------------------------------------------------------- +fix_langevin.cpp:------------------------------------------------------------------------- */ +fix_langevin.cpp: // rescale gamma1/gamma2 by 10/3 & sqrt(10/3) for spherical particles +fix_langevin.cpp: // does not affect rotational thermosatting +fix_langevin.cpp: // gives correct rotational diffusivity behavior +fix_langevin.cpp: double tendivthree = 10.0/3.0; +fix_langevin.cpp: gamma1 = -tendivthree*inertiaone / t_period / ftm2v; +fix_langevin.cpp: gamma2 = sqrt(inertiaone) * sqrt(80.0*boltz/t_period/dt/mvv2e) / ftm2v; +fix_langevin.cpp: gamma1 *= 1.0/ratio[type[i]]; +fix_langevin.cpp: gamma2 *= 1.0/sqrt(ratio[type[i]]) * tsqrt; +fix_langevin.cpp:/* ---------------------------------------------------------------------- +fix_langevin.cpp:------------------------------------------------------------------------- */ +fix_langevin.cpp: // rescale gamma1/gamma2 by ascale for aspherical particles +fix_langevin.cpp: // does not affect rotational thermosatting +fix_langevin.cpp: // gives correct rotational diffusivity behavior if (nearly) spherical +fix_langevin.cpp: // any value will be incorrect for rotational diffusivity if aspherical +fix_langevin.cpp: gamma1 = -ascale / t_period / ftm2v; +fix_langevin.cpp: gamma2 = sqrt(ascale*24.0*boltz/t_period/dt/mvv2e) / ftm2v; +fix_langevin.cpp: gamma1 *= 1.0/ratio[type[i]]; +fix_langevin.cpp: gamma2 *= 1.0/sqrt(ratio[type[i]]) * tsqrt; +fix_langevin.cpp:/* ---------------------------------------------------------------------- +fix_langevin.cpp:------------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin.cpp: sqrt(24.0*force->boltz/t_period/update->dt/force->mvv2e) / +fix_langevin.cpp: gfactor2[i] *= 1.0/sqrt(ratio[i]); +fix_langevin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin.cpp: // capture the very first energy transfer to thermal reservoir +fix_langevin.cpp: // convert midstep energy back to previous fullstep energy +fix_langevin.cpp:/* ---------------------------------------------------------------------- +fix_langevin.cpp:------------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- +fix_langevin.cpp:------------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- +fix_langevin.cpp:------------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- +fix_langevin.cpp:------------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- +fix_langevin.cpp:------------------------------------------------------------------------- */ +fix_langevin.cpp:/* ---------------------------------------------------------------------- +fix_langevin.cpp:------------------------------------------------------------------------- */ +fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- +fix_langevin_spin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_langevin_spin.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_langevin_spin.cpp:------------------------------------------------------------------------- */ +fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- +fix_langevin_spin.cpp:------------------------------------------------------------------------- */ +fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin_spin.cpp: if (narg != 7) error->all(FLERR,"Illegal fix langevin/spin command"); +fix_langevin_spin.cpp: if (alpha_t < 0.0) error->all(FLERR,"Fix langevin/spin transverse damping must be >= 0.0"); +fix_langevin_spin.cpp: if (alpha_l < 0.0) error->all(FLERR,"Fix langevin/spin transverse damping must be >= 0.0"); +fix_langevin_spin.cpp: if (seed <= 0) error->all(FLERR,"Illegal fix langevin/spin seed must be > 0"); +fix_langevin_spin.cpp: // initialize Marsaglia RNG with processor-unique seed +fix_langevin_spin.cpp: //random = new RanMars(lmp,seed + comm->me); +fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin_spin.cpp: // warn if any fix comes after this one +fix_langevin_spin.cpp: if (strcmp("force/spin",modify->fix[i]->style)==0) flag_force = MAX(flag_force,i); +fix_langevin_spin.cpp: if (strcmp("langevin/spin",modify->fix[i]->style)==0) flag_lang = i; +fix_langevin_spin.cpp: if (flag_force >= flag_lang) error->all(FLERR,"Fix langevin/spin should come after all other spin fixes"); +fix_langevin_spin.cpp: Gil_factor = 1.0/(1.0+(alpha_t)*(alpha_t)); +fix_langevin_spin.cpp: double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) +fix_langevin_spin.cpp: D = (MY_2PI*Gil_factor*kb*temp)/hbar/dts; +fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_langevin_spin.cpp: // add the damping to the effective field of each spin +fix_langevin_spin.cpp: cpx = fmy*sz - fmz*sy;//Computing cross product +fix_langevin_spin.cpp: fmx -= alpha_t*cpx;//Taking the damping value away +fix_langevin_spin.cpp: //apply thermal effects adding random fields to fm +fix_langevin_spin.cpp: rx = sigma*random->gaussian();//Drawing random distributions +fix_langevin_spin.cpp: fm[i][0] += rx;//Adding random field +fix_langevin_spin.cpp: fm[i][0] *= Gil_factor;//Multiplying by Gilbert's prefactor +fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_lineforce.cpp:/* ---------------------------------------------------------------------- +fix_lineforce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_lineforce.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_lineforce.cpp:------------------------------------------------------------------------- */ +fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ +fix_lineforce.cpp: xdir /= len; +fix_lineforce.cpp: ydir /= len; +fix_lineforce.cpp: zdir /= len; +fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ +fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ +fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ +fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ +fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ +fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ +fix_minimize.cpp:/* ---------------------------------------------------------------------- +fix_minimize.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_minimize.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_minimize.cpp:------------------------------------------------------------------------- */ +fix_minimize.cpp:/* ---------------------------------------------------------------------- */ +fix_minimize.cpp: // register callback to this fix from Atom class +fix_minimize.cpp: // don't perform initial allocation here, must wait until add_vector() +fix_minimize.cpp:/* ---------------------------------------------------------------------- */ +fix_minimize.cpp: // unregister callbacks to this fix from Atom class +fix_minimize.cpp: // delete locally stored data +fix_minimize.cpp:/* ---------------------------------------------------------------------- */ +fix_minimize.cpp:/* ---------------------------------------------------------------------- +fix_minimize.cpp: allocate/initialize memory for a new vector with N elements per atom +fix_minimize.cpp:------------------------------------------------------------------------- */ +fix_minimize.cpp:/* ---------------------------------------------------------------------- +fix_minimize.cpp:------------------------------------------------------------------------- */ +fix_minimize.cpp:/* ---------------------------------------------------------------------- +fix_minimize.cpp:------------------------------------------------------------------------- */ +fix_minimize.cpp:/* ---------------------------------------------------------------------- +fix_minimize.cpp:------------------------------------------------------------------------- */ +fix_minimize.cpp:/* ---------------------------------------------------------------------- +fix_minimize.cpp:------------------------------------------------------------------------- */ +fix_minimize.cpp:/* ---------------------------------------------------------------------- +fix_minimize.cpp:------------------------------------------------------------------------- */ +fix_minimize.cpp:/* ---------------------------------------------------------------------- +fix_minimize.cpp:------------------------------------------------------------------------- */ +fix_minimize.cpp:/* ---------------------------------------------------------------------- +fix_minimize.cpp:------------------------------------------------------------------------- */ +fix_minimize.cpp:/* ---------------------------------------------------------------------- +fix_minimize.cpp:------------------------------------------------------------------------- */ +fix_minimize.cpp:/* ---------------------------------------------------------------------- +fix_minimize.cpp:------------------------------------------------------------------------- */ +fix_momentum.cpp:/* ---------------------------------------------------------------------- +fix_momentum.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_momentum.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_momentum.cpp:------------------------------------------------------------------------- */ +fix_momentum.cpp:/* ---------------------------------------------------------------------- +fix_momentum.cpp:------------------------------------------------------------------------- */ +fix_momentum.cpp:/* ---------------------------------------------------------------------- */ +fix_momentum.cpp:/* ---------------------------------------------------------------------- */ +fix_momentum.cpp:/* ---------------------------------------------------------------------- */ +fix_momentum.cpp:/* ---------------------------------------------------------------------- */ +fix_momentum.cpp: // do nothing is group is empty, i.e. mass is zero; +fix_momentum.cpp: // compute kinetic energy before momentum removal, if needed +fix_momentum.cpp: // adjust velocities by vcm to zero linear momentum +fix_momentum.cpp: // only adjust a component if flag is set +fix_momentum.cpp: // adjust velocities to zero omega +fix_momentum.cpp: // vnew_i = v_i - w x r_i +fix_momentum.cpp: // must use unwrapped coords to compute r_i correctly +fix_momentum.cpp: // compute kinetic energy after momentum removal, if needed +fix_momentum.cpp: if (ekin_new != 0.0) factor = sqrt(ekin_old/ekin_new); +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_move.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp:#define INERTIA 0.2 // moment of inertia prefactor for ellipsoid +fix_move.cpp:/* ---------------------------------------------------------------------- */ +fix_move.cpp: // parse args +fix_move.cpp: // optional args +fix_move.cpp: // error checks and warnings +fix_move.cpp: // setup scaling and apply scaling factors to velocity & amplitude +fix_move.cpp: // set omega_rotate from period +fix_move.cpp: if (mstyle == WIGGLE || mstyle == ROTATE) omega_rotate = MY_2PI / period; +fix_move.cpp: // runit = unit vector along rotation axis +fix_move.cpp: runit[0] = axis[0]/len; +fix_move.cpp: runit[1] = axis[1]/len; +fix_move.cpp: runit[2] = axis[2]/len; +fix_move.cpp: // set flags for extra attributes particles may store +fix_move.cpp: // relevant extra attributes = omega, angmom, theta, quat +fix_move.cpp: // perform initial allocation of atom-based array +fix_move.cpp: // register with Atom class +fix_move.cpp: // AtomVec pointers to retrieve per-atom storage of extra quantities +fix_move.cpp: // xoriginal = initial unwrapped positions of atoms +fix_move.cpp: // toriginal = initial theta of lines +fix_move.cpp: // qoriginal = initial quat of extended particles +fix_move.cpp: // nrestart = size of per-atom restart data +fix_move.cpp: // nrestart = 1 + xorig + torig + qorig +fix_move.cpp: // time origin for movement = current timestep +fix_move.cpp:/* ---------------------------------------------------------------------- */ +fix_move.cpp: // unregister callbacks to this fix from Atom class +fix_move.cpp: // delete locally stored arrays +fix_move.cpp:/* ---------------------------------------------------------------------- */ +fix_move.cpp:/* ---------------------------------------------------------------------- */ +fix_move.cpp: // set indices and style of all variables +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp: // for linear: X = X0 + V*dt +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp: // for wiggle: X = X0 + A sin(w*dt) +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp: // for rotate by right-hand rule around omega: +fix_move.cpp: // P = point = vector = point of rotation +fix_move.cpp: // R = vector = axis of rotation +fix_move.cpp: // w = omega of rotation (from period) +fix_move.cpp: // X0 = xoriginal = initial coord of atom +fix_move.cpp: // R0 = runit = unit vector for R +fix_move.cpp: // D = X0 - P = vector from P to X0 +fix_move.cpp: // C = (D dot R0) R0 = projection of atom coord onto R line +fix_move.cpp: // A = D - C = vector from R line to X0 +fix_move.cpp: // B = R0 cross A = vector perp to A in plane of rotation +fix_move.cpp: // A,B define plane of circular rotation around R line +fix_move.cpp: // X = P + C + A cos(w*dt) + B sin(w*dt) +fix_move.cpp: // V = w R0 cross (A cos(w*dt) + B sin(w*dt)) +fix_move.cpp: // set any extra attributes affected by rotation +fix_move.cpp: // omega for spheres, lines, tris +fix_move.cpp: // angmom for ellipsoids, tris, and bodies +fix_move.cpp: // theta for lines +fix_move.cpp: // quats for ellipsoids, tris, and bodies +fix_move.cpp: // for variable: compute x,v from variables +fix_move.cpp: // NOTE: also allow for changes to extra attributes? +fix_move.cpp: // omega, angmom, theta, quat +fix_move.cpp: // only necessary if prescribed motion involves rotation +fix_move.cpp: // reallocate displace and velocity arrays as necessary +fix_move.cpp: // pre-compute variable values, wrap with clear/add +fix_move.cpp: // update x,v +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp: dtfm = dtf / rmass[i]; +fix_move.cpp: dtfm = dtf / mass[type[i]]; +fix_move.cpp:/* ---------------------------------------------------------------------- */ +fix_move.cpp: // outermost level - update v and x +fix_move.cpp: // all other levels - nothing +fix_move.cpp:/* ---------------------------------------------------------------------- */ +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp: // particle not in group +fix_move.cpp: // current time still equal fix creation time +fix_move.cpp: // backup particle to time_origin +fix_move.cpp: // set theta and quat extra attributes affected by rotation +fix_move.cpp: // theta for lines +fix_move.cpp: toriginal[i] = theta - 0.0; // NOTE: edit this line +fix_move.cpp: // quats for ellipsoids, tris, and bodies +fix_move.cpp: // qoriginal = f(quat,-delta); // NOTE: edit this line +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp: // skip to Nth set of extra values +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp:/* ---------------------------------------------------------------------- +fix_move.cpp:------------------------------------------------------------------------- */ +fix_move.cpp:/* ---------------------------------------------------------------------- */ +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_nh.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp: ---------------------------------------------------------------------- */ +fix_nh.cpp: if (narg < 4) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: // default values +fix_nh.cpp: // turn on tilt factor scaling, whenever applicable +fix_nh.cpp: // set fixed-point to default = center of cell +fix_nh.cpp: // used by FixNVTSllod to preserve non-default value +fix_nh.cpp: // process keywords +fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: "Target temperature for fix nvt/npt/nph cannot be 0.0"); +fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); +fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); +fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); +fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: else error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (drag < 0.0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: error->all(FLERR,"Fix nvt/npt/nph dilate group ID does not exist"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: // used by FixNVTSllod to preserve non-default value +fix_nh.cpp: if (mtchain < 1) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (mpchain < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: else error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (nc_tchain < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (nc_pchain < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (nreset_h0 < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: else error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: else error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: else error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: else error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: else if (strcmp(arg[iarg+1],"dipole/dlm") == 0) { +fix_nh.cpp: } else error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: // disc keyword is also parsed in fix/nh/sphere +fix_nh.cpp: } else error->all(FLERR,"Illegal fix nvt/npt/nph command"); +fix_nh.cpp: // error checks +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command pressure settings"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command pressure settings"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command pressure settings"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command pressure settings"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command pressure settings"); +fix_nh.cpp: // require periodicity in tensile dimension +fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph on a non-periodic dimension"); +fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph on a non-periodic dimension"); +fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph on a non-periodic dimension"); +fix_nh.cpp: // require periodicity in 2nd dim of off-diagonal tilt component +fix_nh.cpp: "Cannot use fix nvt/npt/nph on a 2nd non-periodic dimension"); +fix_nh.cpp: "Cannot use fix nvt/npt/nph on a 2nd non-periodic dimension"); +fix_nh.cpp: "Cannot use fix nvt/npt/nph on a 2nd non-periodic dimension"); +fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph " +fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph " +fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph " +fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph with " +fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph with " +fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph with " +fix_nh.cpp: error->all(FLERR,"Can not specify Pxy/Pxz/Pyz in " +fix_nh.cpp: "fix nvt/npt/nph with non-triclinic box"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph pressure settings"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph pressure settings"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph pressure settings"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph pressure settings"); +fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph pressure settings"); +fix_nh.cpp: error->all(FLERR,"Fix nvt/npt/nph damping parameters must be > 0.0"); +fix_nh.cpp: // set pstat_flag and box change and restart_pbc variables +fix_nh.cpp: // pstyle = TRICLINIC if any off-diagonal term is controlled -> 6 dof +fix_nh.cpp: // else pstyle = ISO if XYZ coupling or XY coupling in 2d -> 1 dof +fix_nh.cpp: // else pstyle = ANISO -> 3 dof +fix_nh.cpp: // pre_exchange only required if flips can occur due to shape changes +fix_nh.cpp: // convert input periods to frequencies +fix_nh.cpp: if (tstat_flag) t_freq = 1.0 / t_period; +fix_nh.cpp: if (p_flag[0]) p_freq[0] = 1.0 / p_period[0]; +fix_nh.cpp: if (p_flag[1]) p_freq[1] = 1.0 / p_period[1]; +fix_nh.cpp: if (p_flag[2]) p_freq[2] = 1.0 / p_period[2]; +fix_nh.cpp: if (p_flag[3]) p_freq[3] = 1.0 / p_period[3]; +fix_nh.cpp: if (p_flag[4]) p_freq[4] = 1.0 / p_period[4]; +fix_nh.cpp: if (p_flag[5]) p_freq[5] = 1.0 / p_period[5]; +fix_nh.cpp: // Nose/Hoover temp and pressure init +fix_nh.cpp: // add one extra dummy thermostat, set to zero +fix_nh.cpp: // add one extra dummy thermostat, set to zero +fix_nh.cpp: // initialize vol0,t0 to zero to signal uninitialized +fix_nh.cpp: // values then assigned in init(), if necessary +fix_nh.cpp:/* ---------------------------------------------------------------------- */ +fix_nh.cpp: // delete temperature and pressure if fix created them +fix_nh.cpp:/* ---------------------------------------------------------------------- */ +fix_nh.cpp:/* ---------------------------------------------------------------------- */ +fix_nh.cpp: // recheck that dilate group has not been deleted +fix_nh.cpp: error->all(FLERR,"Fix nvt/npt/nph dilate group ID does not exist"); +fix_nh.cpp: // ensure no conflict with fix deform +fix_nh.cpp: // set temperature and pressure ptrs +fix_nh.cpp: error->all(FLERR,"Temperature ID for fix nvt/npt does not exist"); +fix_nh.cpp: error->all(FLERR,"Pressure ID for fix npt/nph does not exist"); +fix_nh.cpp: // set timesteps and frequencies +fix_nh.cpp: pdrag_factor = 1.0 - (update->dt * p_freq_max * drag / nc_pchain); +fix_nh.cpp: tdrag_factor = 1.0 - (update->dt * t_freq * drag / nc_tchain); +fix_nh.cpp: // tally the number of dimensions that are barostatted +fix_nh.cpp: // set initial volume and reference cell, if not already done +fix_nh.cpp: // detect if any rigid fixes exist so rigid bodies move when box is remapped +fix_nh.cpp: // rfix[] = indices to each fix rigid +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp: // tdof needed by compute_temp_target() +fix_nh.cpp: // t_target is needed by NVT and NPT in compute_scalar() +fix_nh.cpp: // If no thermostat or using fix nphug, +fix_nh.cpp: // t_target must be defined by other means. +fix_nh.cpp: // t0 = reference temperature for masses +fix_nh.cpp: // cannot be done in init() b/c temperature cannot be called there +fix_nh.cpp: // is b/c Modify::init() inits computes after fixes due to dof dependence +fix_nh.cpp: // guesstimate a unit-dependent t0 if actual T = 0.0 +fix_nh.cpp: // if it was read in from a restart file, leave it be +fix_nh.cpp: // masses and initial forces on thermostat variables +fix_nh.cpp: eta_mass[0] = tdof * boltz * t_target / (t_freq*t_freq); +fix_nh.cpp: eta_mass[ich] = boltz * t_target / (t_freq*t_freq); +fix_nh.cpp: boltz * t_target) / eta_mass[ich]; +fix_nh.cpp: // masses and initial forces on barostat variables +fix_nh.cpp: omega_mass[i] = nkt/(p_freq[i]*p_freq[i]); +fix_nh.cpp: if (p_flag[i]) omega_mass[i] = nkt/(p_freq[i]*p_freq[i]); +fix_nh.cpp: // masses and initial forces on barostat thermostat variables +fix_nh.cpp: etap_mass[0] = boltz * t_target / (p_freq_max*p_freq_max); +fix_nh.cpp: etap_mass[ich] = boltz * t_target / (p_freq_max*p_freq_max); +fix_nh.cpp: boltz * t_target) / etap_mass[ich]; +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp: // update eta_press_dot +fix_nh.cpp: // update eta_dot +fix_nh.cpp: // need to recompute pressure to account for change in KE +fix_nh.cpp: // t_current is up-to-date, but compute_temperature is not +fix_nh.cpp: // compute appropriately coupled elements of mvv_current +fix_nh.cpp: // remap simulation box by 1/2 step +fix_nh.cpp: // remap simulation box by 1/2 step +fix_nh.cpp: // redo KSpace coeffs since volume has changed +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp: // re-compute temp before nh_v_press() +fix_nh.cpp: // only needed for temperature computes with BIAS on reneighboring steps: +fix_nh.cpp: // b/c some biases store per-atom values (e.g. temp/profile) +fix_nh.cpp: // per-atom values are invalid if reneigh/comm occurred +fix_nh.cpp: // since temp->compute() in initial_integrate() +fix_nh.cpp: // compute new T,P after velocities rescaled by nh_v_press() +fix_nh.cpp: // compute appropriately coupled elements of mvv_current +fix_nh.cpp: // update eta_dot +fix_nh.cpp: // update eta_press_dot +fix_nh.cpp:/* ---------------------------------------------------------------------- */ +fix_nh.cpp: // set timesteps by level +fix_nh.cpp: // outermost level - update eta_dot and omega_dot, apply to v +fix_nh.cpp: // all other levels - NVE update of v +fix_nh.cpp: // x,v updates only performed for atoms in group +fix_nh.cpp: // update eta_press_dot +fix_nh.cpp: // update eta_dot +fix_nh.cpp: // recompute pressure to account for change in KE +fix_nh.cpp: // t_current is up-to-date, but compute_temperature is not +fix_nh.cpp: // compute appropriately coupled elements of mvv_current +fix_nh.cpp: // innermost level - also update x only for atoms in group +fix_nh.cpp: // if barostat, perform 1/2 step remap before and after +fix_nh.cpp: // if barostat, redo KSpace coeffs at outermost level, +fix_nh.cpp: // since volume has changed +fix_nh.cpp:/* ---------------------------------------------------------------------- */ +fix_nh.cpp: // set timesteps by level +fix_nh.cpp: // outermost level - update eta_dot and omega_dot, apply via final_integrate +fix_nh.cpp: // all other levels - NVE update of v +fix_nh.cpp:/* ---------------------------------------------------------------------- */ +fix_nh.cpp: double ave = 1.0/3.0 * (tensor[0] + tensor[1] + tensor[2]); +fix_nh.cpp: // switch order from xy-xz-yz to Voigt +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp: // omega is not used, except for book-keeping +fix_nh.cpp: // convert pertinent atoms and rigid bodies to lamda coords +fix_nh.cpp: // reset global and local box to new size/shape +fix_nh.cpp: // this operation corresponds to applying the +fix_nh.cpp: // translate and scale operations +fix_nh.cpp: // corresponding to the solution of the following ODE: +fix_nh.cpp: // +fix_nh.cpp: // h_dot = omega_dot * h +fix_nh.cpp: // +fix_nh.cpp: // where h_dot, omega_dot and h are all upper-triangular +fix_nh.cpp: // 3x3 tensors. In Voigt notation, the elements of the +fix_nh.cpp: // RHS product tensor are: +fix_nh.cpp: // h_dot = [0*0, 1*1, 2*2, 1*3+3*2, 0*4+5*3+4*2, 0*5+5*1] +fix_nh.cpp: // +fix_nh.cpp: // Ordering of operations preserves time symmetry. +fix_nh.cpp: double dto2 = dto/2.0; +fix_nh.cpp: double dto4 = dto/4.0; +fix_nh.cpp: double dto8 = dto/8.0; +fix_nh.cpp: // off-diagonal components, first half +fix_nh.cpp: // scale diagonal components +fix_nh.cpp: // scale tilt factors with cell, if set +fix_nh.cpp: // off-diagonal components, second half +fix_nh.cpp: // tilt factor to cell length ratio can not exceed TILTMAX in one step +fix_nh.cpp: error->all(FLERR,"Fix npt/nph has tilted box too far in one step - " +fix_nh.cpp: // convert pertinent atoms and rigid bodies back to box coords +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp:/* ---------------------------------------------------------------------- */ +fix_nh.cpp: // reset id_temp of pressure to new temperature ID +fix_nh.cpp:/* ---------------------------------------------------------------------- */ +fix_nh.cpp: // thermostat chain energy is equivalent to Eq. (2) in +fix_nh.cpp: // Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117 +fix_nh.cpp: // Sum(0.5*p_eta_k^2/Q_k,k=1,M) + L*k*T*eta_1 + Sum(k*T*eta_k,k=2,M), +fix_nh.cpp: // where L = tdof +fix_nh.cpp: // M = mtchain +fix_nh.cpp: // p_eta_k = Q_k*eta_dot[k-1] +fix_nh.cpp: // Q_1 = L*k*T/t_freq^2 +fix_nh.cpp: // Q_k = k*T/t_freq^2, k > 1 +fix_nh.cpp: // barostat energy is equivalent to Eq. (8) in +fix_nh.cpp: // Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117 +fix_nh.cpp: // Sum(0.5*p_omega^2/W + P*V), +fix_nh.cpp: // where N = natoms +fix_nh.cpp: // p_omega = W*omega_dot +fix_nh.cpp: // W = N*k*T/p_freq^2 +fix_nh.cpp: // sum is over barostatted dimensions +fix_nh.cpp: p_hydro*(volume-vol0) / (pdim*nktv2p); +fix_nh.cpp: // extra contributions from thermostat chain for barostat +fix_nh.cpp: // extra contribution from strain energy +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp: return p_hydro*(volume-vol0) / nktv2p; +fix_nh.cpp: return p_hydro*(volume-vol0) / (pdim*nktv2p); +fix_nh.cpp: return p_hydro*(volume-vol0) / (pdim*nktv2p); +fix_nh.cpp:/* ---------------------------------------------------------------------- */ +fix_nh.cpp:/* ---------------------------------------------------------------------- */ +fix_nh.cpp: // If using respa, then remap is performed in innermost level +fix_nh.cpp: pdrag_factor = 1.0 - (update->dt * p_freq_max * drag / nc_pchain); +fix_nh.cpp: tdrag_factor = 1.0 - (update->dt * t_freq * drag / nc_tchain); +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp: // Update masses, to preserve initial freq, if flag set +fix_nh.cpp: eta_mass[0] = tdof * boltz * t_target / (t_freq*t_freq); +fix_nh.cpp: eta_mass[ich] = boltz * t_target / (t_freq*t_freq); +fix_nh.cpp: eta_dotdot[0] = (kecurrent - ke_target)/eta_mass[0]; +fix_nh.cpp: double ncfac = 1.0/nc_tchain; +fix_nh.cpp: // rescale temperature due to velocity scaling +fix_nh.cpp: // should not be necessary to explicitly recompute the temperature +fix_nh.cpp: eta_dotdot[0] = (kecurrent - ke_target)/eta_mass[0]; +fix_nh.cpp: - boltz * t_target)/eta_mass[ich]; +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp: // Update masses, to preserve initial freq, if flag set +fix_nh.cpp: omega_mass[i] = nkt/(p_freq[i]*p_freq[i]); +fix_nh.cpp: if (p_flag[i]) omega_mass[i] = nkt/(p_freq[i]*p_freq[i]); +fix_nh.cpp: etap_mass[0] = boltz * t_target / (p_freq_max*p_freq_max); +fix_nh.cpp: etap_mass[ich] = boltz * t_target / (p_freq_max*p_freq_max); +fix_nh.cpp: boltz * t_target) / etap_mass[ich]; +fix_nh.cpp: etap_dotdot[0] = (kecurrent - lkt_press)/etap_mass[0]; +fix_nh.cpp: double ncfac = 1.0/nc_pchain; +fix_nh.cpp: etap_dotdot[0] = (kecurrent - lkt_press)/etap_mass[0]; +fix_nh.cpp: (etap_mass[ich-1]*etap_dot[ich-1]*etap_dot[ich-1] - boltz*t_target) / +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:-----------------------------------------------------------------------*/ +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:-----------------------------------------------------------------------*/ +fix_nh.cpp: dtfm = dtf / rmass[i]; +fix_nh.cpp: dtfm = dtf / mass[type[i]]; +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:-----------------------------------------------------------------------*/ +fix_nh.cpp: // x update by full step only for atoms in group +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:-----------------------------------------------------------------------*/ +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:-----------------------------------------------------------------------*/ +fix_nh.cpp: // if nreset_h0 > 0, reset vol0 and h0_inv +fix_nh.cpp: // every nreset_h0 timesteps +fix_nh.cpp: // generate upper-triangular half of +fix_nh.cpp: // sigma = vol0*h0inv*(p_target-p_hydro)*h0inv^t +fix_nh.cpp: // units of sigma are are PV/L^2 e.g. atm.A +fix_nh.cpp: // +fix_nh.cpp: // [ 0 5 4 ] [ 0 5 4 ] [ 0 5 4 ] [ 0 - - ] +fix_nh.cpp: // [ 5 1 3 ] = [ - 1 3 ] [ 5 1 3 ] [ 5 1 - ] +fix_nh.cpp: // [ 4 3 2 ] [ - - 2 ] [ 4 3 2 ] [ 4 3 2 ] +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:-----------------------------------------------------------------------*/ +fix_nh.cpp: // compute strain energy = 0.5*Tr(sigma*h*h^t) in energy units +fix_nh.cpp: double energy = 0.5*(d0+d1+d2)/nktv2p; +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:-----------------------------------------------------------------------*/ +fix_nh.cpp: // generate upper-triangular part of h*sigma*h^t +fix_nh.cpp: // units of fdev are are PV, e.g. atm*A^3 +fix_nh.cpp: // [ 0 5 4 ] [ 0 5 4 ] [ 0 5 4 ] [ 0 - - ] +fix_nh.cpp: // [ 5 1 3 ] = [ - 1 3 ] [ 5 1 3 ] [ 5 1 - ] +fix_nh.cpp: // [ 4 3 2 ] [ - - 2 ] [ 4 3 2 ] [ 4 3 2 ] +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:-----------------------------------------------------------------------*/ +fix_nh.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:-----------------------------------------------------------------------*/ +fix_nh.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +fix_nh.cpp: if (pdim > 0) p_hydro /= pdim; +fix_nh.cpp: // if deviatoric, recompute sigma each time p_target changes +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:-----------------------------------------------------------------------*/ +fix_nh.cpp: mtk_term1 /= pdim * atom->natoms; +fix_nh.cpp: mtk_term1 /= pdim * atom->natoms; +fix_nh.cpp: f_omega = (p_current[i]-p_hydro)*volume / +fix_nh.cpp: (omega_mass[i] * nktv2p) + mtk_term1 / omega_mass[i]; +fix_nh.cpp: if (deviatoric_flag) f_omega -= fdev[i]/(omega_mass[i] * nktv2p); +fix_nh.cpp: if (pdim > 0) mtk_term2 /= pdim * atom->natoms; +fix_nh.cpp: f_omega = p_current[i]*volume/(omega_mass[i] * nktv2p); +fix_nh.cpp: f_omega -= fdev[i]/(omega_mass[i] * nktv2p); +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp: this is b/c the box length would be changed (dramatically) by flip +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh.cpp: // flip is only triggered when tilt exceeds 0.5 by DELTAFLIP +fix_nh.cpp: // this avoids immediate re-flipping due to tilt oscillations +fix_nh.cpp:/* ---------------------------------------------------------------------- +fix_nh.cpp:------------------------------------------------------------------------- */ +fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- +fix_nh_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_nh_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_nh_sphere.cpp:------------------------------------------------------------------------- */ +fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- +fix_nh_sphere.cpp:------------------------------------------------------------------------- */ +fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- */ +fix_nh_sphere.cpp: error->all(FLERR,"Fix nvt/nph/npt sphere requires atom style sphere"); +fix_nh_sphere.cpp: // inertia = moment of inertia prefactor for sphere or disc +fix_nh_sphere.cpp: "Fix nvt/nph/npt sphere disc option requires 2d simulation"); +fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- */ +fix_nh_sphere.cpp: // check that all particles are finite-size +fix_nh_sphere.cpp: // no point particles allowed +fix_nh_sphere.cpp: error->one(FLERR,"Fix nvt/npt/nph/sphere require extended particles"); +fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- +fix_nh_sphere.cpp:-----------------------------------------------------------------------*/ +fix_nh_sphere.cpp: // standard nve_v velocity update +fix_nh_sphere.cpp: // set timestep here since dt may have changed or come via rRESPA +fix_nh_sphere.cpp: double dtfrotate = dtf / inertia; +fix_nh_sphere.cpp: // update omega for all particles +fix_nh_sphere.cpp: // d_omega/dt = torque / inertia +fix_nh_sphere.cpp: // 4 cases depending on radius vs shape and rmass vs mass +fix_nh_sphere.cpp: dtirotate = dtfrotate / (radius[i]*radius[i]*rmass[i]); +fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- +fix_nh_sphere.cpp:-----------------------------------------------------------------------*/ +fix_nh_sphere.cpp: // standard nve_x position update +fix_nh_sphere.cpp: // update mu for dipoles +fix_nh_sphere.cpp: // d_mu/dt = omega cross mu +fix_nh_sphere.cpp: // renormalize mu to dipole length +fix_nh_sphere.cpp: scale = mu[i][3]/sqrt(msq); +fix_nh_sphere.cpp: // Integrate orientation following Dullweber-Leimkuhler-Maclachlan scheme +fix_nh_sphere.cpp: // Construct Q from dipole: +fix_nh_sphere.cpp: // Q is the rotation matrix from space frame to body frame +fix_nh_sphere.cpp: // i.e. v_b = Q.v_s +fix_nh_sphere.cpp: // Define mu to lie along the z axis in the body frame +fix_nh_sphere.cpp: // We take the unit dipole to avoid getting a scaling matrix +fix_nh_sphere.cpp: inv_len_mu = 1.0/mu[i][3]; +fix_nh_sphere.cpp: // v = a x [0 0 1] - cross product of mu in space and body frames +fix_nh_sphere.cpp: // s = |v| +fix_nh_sphere.cpp: // c = a.[0 0 1] = a[2] +fix_nh_sphere.cpp: // vx = [ 0 -v[2] v[1] +fix_nh_sphere.cpp: // v[2] 0 -v[0] +fix_nh_sphere.cpp: // -v[1] v[0] 0 ] +fix_nh_sphere.cpp: // then +fix_nh_sphere.cpp: // Q = I + vx + vx^2 * (1-c)/s^2 +fix_nh_sphere.cpp: if (s2 != 0.0){ // i.e. the vectors are not parallel +fix_nh_sphere.cpp: scale = (1.0 - a[2])/s2; +fix_nh_sphere.cpp: } else { // if parallel then we just have I or -I +fix_nh_sphere.cpp: Q[0][0] = 1.0/a[2]; Q[0][1] = 0.0; Q[0][2] = 0.0; +fix_nh_sphere.cpp: Q[1][0] = 0.0; Q[1][1] = 1.0/a[2]; Q[1][2] = 0.0; +fix_nh_sphere.cpp: Q[2][0] = 0.0; Q[2][1] = 0.0; Q[2][2] = 1.0/a[2]; +fix_nh_sphere.cpp: // Local copy of this particle's angular velocity (in space frame) +fix_nh_sphere.cpp: // Transform omega into body frame: w_temp= Q.w +fix_nh_sphere.cpp: // Construct rotation R1 +fix_nh_sphere.cpp: BuildRxMatrix(R, dtf/force->ftm2v*w_temp[0]); +fix_nh_sphere.cpp: // Apply R1 to w: w = R.w_temp +fix_nh_sphere.cpp: // Apply R1 to Q: Q_temp = R^T.Q +fix_nh_sphere.cpp: // Construct rotation R2 +fix_nh_sphere.cpp: BuildRyMatrix(R, dtf/force->ftm2v*w[1]); +fix_nh_sphere.cpp: // Apply R2 to w: w_temp = R.w +fix_nh_sphere.cpp: // Apply R2 to Q: Q = R^T.Q_temp +fix_nh_sphere.cpp: // Construct rotation R3 +fix_nh_sphere.cpp: BuildRzMatrix(R, 2.0*dtf/force->ftm2v*w_temp[2]); +fix_nh_sphere.cpp: // Apply R3 to w: w = R.w_temp +fix_nh_sphere.cpp: // Apply R3 to Q: Q_temp = R^T.Q +fix_nh_sphere.cpp: // Construct rotation R4 +fix_nh_sphere.cpp: BuildRyMatrix(R, dtf/force->ftm2v*w[1]); +fix_nh_sphere.cpp: // Apply R4 to w: w_temp = R.w +fix_nh_sphere.cpp: // Apply R4 to Q: Q = R^T.Q_temp +fix_nh_sphere.cpp: // Construct rotation R5 +fix_nh_sphere.cpp: BuildRxMatrix(R, dtf/force->ftm2v*w_temp[0]); +fix_nh_sphere.cpp: // Apply R5 to w: w = R.w_temp +fix_nh_sphere.cpp: // Apply R5 to Q: Q_temp = R^T.Q +fix_nh_sphere.cpp: // Transform w back into space frame w_temp = Q^T.w +fix_nh_sphere.cpp: // Set dipole according to updated Q: mu = Q^T.[0 0 1] * |mu| +fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- +fix_nh_sphere.cpp:-----------------------------------------------------------------------*/ +fix_nh_sphere.cpp: // standard nh_v_temp scaling +fix_nph.cpp:/* ---------------------------------------------------------------------- +fix_nph.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_nph.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_nph.cpp:------------------------------------------------------------------------- */ +fix_nph.cpp:/* ---------------------------------------------------------------------- */ +fix_nph.cpp: // create a new compute temp style +fix_nph.cpp: // id = fix-ID + temp +fix_nph.cpp: // compute group = all since pressure is always global (group all) +fix_nph.cpp: // and thus its KE/temperature contribution should use group all +fix_nph.cpp: // create a new compute pressure style +fix_nph.cpp: // id = fix-ID + press, compute group = all +fix_nph.cpp: // pass id_temp as 4th arg to pressure constructor +fix_nph_sphere.cpp:/* ---------------------------------------------------------------------- +fix_nph_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_nph_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_nph_sphere.cpp:------------------------------------------------------------------------- */ +fix_nph_sphere.cpp:/* ---------------------------------------------------------------------- */ +fix_nph_sphere.cpp: error->all(FLERR,"Temperature control can not be used with fix nph/sphere"); +fix_nph_sphere.cpp: error->all(FLERR,"Pressure control must be used with fix nph/sphere"); +fix_nph_sphere.cpp: // create a new compute temp style +fix_nph_sphere.cpp: // id = fix-ID + temp +fix_nph_sphere.cpp: // compute group = all since pressure is always global (group all) +fix_nph_sphere.cpp: // and thus its KE/temperature contribution should use group all +fix_nph_sphere.cpp: newarg[2] = (char *) "temp/sphere"; +fix_nph_sphere.cpp: // create a new compute pressure style +fix_nph_sphere.cpp: // id = fix-ID + press, compute group = all +fix_nph_sphere.cpp: // pass id_temp as 4th arg to pressure constructor +fix_npt.cpp:/* ---------------------------------------------------------------------- +fix_npt.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_npt.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_npt.cpp:------------------------------------------------------------------------- */ +fix_npt.cpp:/* ---------------------------------------------------------------------- */ +fix_npt.cpp: // create a new compute temp style +fix_npt.cpp: // id = fix-ID + temp +fix_npt.cpp: // compute group = all since pressure is always global (group all) +fix_npt.cpp: // and thus its KE/temperature contribution should use group all +fix_npt.cpp: // create a new compute pressure style +fix_npt.cpp: // id = fix-ID + press, compute group = all +fix_npt.cpp: // pass id_temp as 4th arg to pressure constructor +fix_npt_sphere.cpp:/* ---------------------------------------------------------------------- +fix_npt_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_npt_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_npt_sphere.cpp:------------------------------------------------------------------------- */ +fix_npt_sphere.cpp:/* ---------------------------------------------------------------------- */ +fix_npt_sphere.cpp: error->all(FLERR,"Temperature control must be used with fix npt/sphere"); +fix_npt_sphere.cpp: error->all(FLERR,"Pressure control must be used with fix npt/sphere"); +fix_npt_sphere.cpp: // create a new compute temp style +fix_npt_sphere.cpp: // id = fix-ID + temp +fix_npt_sphere.cpp: // compute group = all since pressure is always global (group all) +fix_npt_sphere.cpp: // and thus its KE/temperature contribution should use group all +fix_npt_sphere.cpp: newarg[2] = (char *) "temp/sphere"; +fix_npt_sphere.cpp: // create a new compute pressure style +fix_npt_sphere.cpp: // id = fix-ID + press, compute group = all +fix_npt_sphere.cpp: // pass id_temp as 4th arg to pressure constructor +fix_nve.cpp:/* ---------------------------------------------------------------------- +fix_nve.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_nve.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_nve.cpp:------------------------------------------------------------------------- */ +fix_nve.cpp:/* ---------------------------------------------------------------------- */ +fix_nve.cpp: if (strcmp(style,"nve/sphere") != 0 && narg < 3) +fix_nve.cpp:/* ---------------------------------------------------------------------- */ +fix_nve.cpp:/* ---------------------------------------------------------------------- */ +fix_nve.cpp:/* ---------------------------------------------------------------------- +fix_nve.cpp:------------------------------------------------------------------------- */ +fix_nve.cpp: // update v and x of atoms in group +fix_nve.cpp: dtfm = dtf / rmass[i]; +fix_nve.cpp: dtfm = dtf / mass[type[i]]; +fix_nve.cpp:/* ---------------------------------------------------------------------- */ +fix_nve.cpp: // update v of atoms in group +fix_nve.cpp: dtfm = dtf / rmass[i]; +fix_nve.cpp: dtfm = dtf / mass[type[i]]; +fix_nve.cpp:/* ---------------------------------------------------------------------- */ +fix_nve.cpp: // innermost level - NVE update of v and x +fix_nve.cpp: // all other levels - NVE update of v +fix_nve.cpp:/* ---------------------------------------------------------------------- */ +fix_nve.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_limit.cpp:/* ---------------------------------------------------------------------- +fix_nve_limit.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_nve_limit.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_nve_limit.cpp:------------------------------------------------------------------------- */ +fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_limit.cpp: if (narg != 4) error->all(FLERR,"Illegal fix nve/limit command"); +fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_limit.cpp: vlimitsq = (xlimit/dtv) * (xlimit/dtv); +fix_nve_limit.cpp: // warn if using fix shake, which will lead to invalid constraint forces +fix_nve_limit.cpp: error->warning(FLERR,"Should not use fix nve/limit with fix shake or fix rattle"); +fix_nve_limit.cpp:/* ---------------------------------------------------------------------- +fix_nve_limit.cpp:------------------------------------------------------------------------- */ +fix_nve_limit.cpp: dtfm = dtf / rmass[i]; +fix_nve_limit.cpp: scale = sqrt(vlimitsq/vsq); +fix_nve_limit.cpp: dtfm = dtf / mass[type[i]]; +fix_nve_limit.cpp: scale = sqrt(vlimitsq/vsq); +fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_limit.cpp: dtfm = dtf / rmass[i]; +fix_nve_limit.cpp: scale = sqrt(vlimitsq/vsq); +fix_nve_limit.cpp: dtfm = dtf / mass[type[i]]; +fix_nve_limit.cpp: scale = sqrt(vlimitsq/vsq); +fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_limit.cpp: vlimitsq = (xlimit/dtv) * (xlimit/dtv); +fix_nve_limit.cpp:/* ---------------------------------------------------------------------- +fix_nve_limit.cpp:------------------------------------------------------------------------- */ +fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- +fix_nve_noforce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_nve_noforce.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_nve_noforce.cpp:------------------------------------------------------------------------- */ +fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_noforce.cpp: if (narg != 3) error->all(FLERR,"Illegal fix nve/noforce command"); +fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_noforce.cpp: if (flag) return; // only used by NPT,NPH +fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_sphere.cpp:/* ---------------------------------------------------------------------- +fix_nve_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_nve_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_nve_sphere.cpp:------------------------------------------------------------------------- */ +fix_nve_sphere.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_sphere.cpp: if (narg < 3) error->all(FLERR,"Illegal fix nve/sphere command"); +fix_nve_sphere.cpp: // process extra keywords +fix_nve_sphere.cpp: // inertia = moment of inertia prefactor for sphere or disc +fix_nve_sphere.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nve/sphere command"); +fix_nve_sphere.cpp: else if (strcmp(arg[iarg+1],"dipole/dlm") == 0) { +fix_nve_sphere.cpp: } else error->all(FLERR,"Illegal fix nve/sphere command"); +fix_nve_sphere.cpp: error->all(FLERR,"Fix nve/sphere disc requires 2d simulation"); +fix_nve_sphere.cpp: else error->all(FLERR,"Illegal fix nve/sphere command"); +fix_nve_sphere.cpp: // error checks +fix_nve_sphere.cpp: error->all(FLERR,"Fix nve/sphere requires atom style sphere"); +fix_nve_sphere.cpp: error->all(FLERR,"Fix nve/sphere update dipole requires atom attribute mu"); +fix_nve_sphere.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_sphere.cpp: // check that all particles are finite-size spheres +fix_nve_sphere.cpp: // no point particles allowed +fix_nve_sphere.cpp: error->one(FLERR,"Fix nve/sphere requires extended particles"); +fix_nve_sphere.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_sphere.cpp: // set timestep here since dt may have changed or come via rRESPA +fix_nve_sphere.cpp: double dtfrotate = dtf / inertia; +fix_nve_sphere.cpp: // update v,x,omega for all particles +fix_nve_sphere.cpp: // d_omega/dt = torque / inertia +fix_nve_sphere.cpp: dtfm = dtf / rmass[i]; +fix_nve_sphere.cpp: dtirotate = dtfrotate / (radius[i]*radius[i]*rmass[i]); +fix_nve_sphere.cpp: // update mu for dipoles +fix_nve_sphere.cpp: // d_mu/dt = omega cross mu +fix_nve_sphere.cpp: // renormalize mu to dipole length +fix_nve_sphere.cpp: scale = mu[i][3]/sqrt(msq); +fix_nve_sphere.cpp: // integrate orientation following Dullweber-Leimkuhler-Maclachlan scheme +fix_nve_sphere.cpp: // Construct Q from dipole: +fix_nve_sphere.cpp: // Q is the rotation matrix from space frame to body frame +fix_nve_sphere.cpp: // i.e. v_b = Q.v_s +fix_nve_sphere.cpp: // define mu to lie along the z axis in the body frame +fix_nve_sphere.cpp: // take the unit dipole to avoid getting a scaling matrix +fix_nve_sphere.cpp: inv_len_mu = 1.0/mu[i][3]; +fix_nve_sphere.cpp: // v = a x [0 0 1] - cross product of mu in space and body frames +fix_nve_sphere.cpp: // s = |v| +fix_nve_sphere.cpp: // c = a.[0 0 1] = a[2] +fix_nve_sphere.cpp: // vx = [ 0 -v[2] v[1] +fix_nve_sphere.cpp: // v[2] 0 -v[0] +fix_nve_sphere.cpp: // -v[1] v[0] 0 ] +fix_nve_sphere.cpp: // then +fix_nve_sphere.cpp: // Q = I + vx + vx^2 * (1-c)/s^2 +fix_nve_sphere.cpp: if (s2 != 0.0){ // i.e. the vectors are not parallel +fix_nve_sphere.cpp: scale = (1.0 - a[2])/s2; +fix_nve_sphere.cpp: } else { // if parallel then we just have I or -I +fix_nve_sphere.cpp: Q[0][0] = 1.0/a[2]; Q[0][1] = 0.0; Q[0][2] = 0.0; +fix_nve_sphere.cpp: Q[1][0] = 0.0; Q[1][1] = 1.0/a[2]; Q[1][2] = 0.0; +fix_nve_sphere.cpp: Q[2][0] = 0.0; Q[2][1] = 0.0; Q[2][2] = 1.0/a[2]; +fix_nve_sphere.cpp: // Local copy of this particle's angular velocity (in space frame) +fix_nve_sphere.cpp: // Transform omega into body frame: w_temp= Q.w +fix_nve_sphere.cpp: // Construct rotation R1 +fix_nve_sphere.cpp: BuildRxMatrix(R, dtf/force->ftm2v*w_temp[0]); +fix_nve_sphere.cpp: // Apply R1 to w: w = R.w_temp +fix_nve_sphere.cpp: // Apply R1 to Q: Q_temp = R^T.Q +fix_nve_sphere.cpp: // Construct rotation R2 +fix_nve_sphere.cpp: BuildRyMatrix(R, dtf/force->ftm2v*w[1]); +fix_nve_sphere.cpp: // Apply R2 to w: w_temp = R.w +fix_nve_sphere.cpp: // Apply R2 to Q: Q = R^T.Q_temp +fix_nve_sphere.cpp: // Construct rotation R3 +fix_nve_sphere.cpp: BuildRzMatrix(R, 2.0*dtf/force->ftm2v*w_temp[2]); +fix_nve_sphere.cpp: // Apply R3 to w: w = R.w_temp +fix_nve_sphere.cpp: // Apply R3 to Q: Q_temp = R^T.Q +fix_nve_sphere.cpp: // Construct rotation R4 +fix_nve_sphere.cpp: BuildRyMatrix(R, dtf/force->ftm2v*w[1]); +fix_nve_sphere.cpp: // Apply R4 to w: w_temp = R.w +fix_nve_sphere.cpp: // Apply R4 to Q: Q = R^T.Q_temp +fix_nve_sphere.cpp: // Construct rotation R5 +fix_nve_sphere.cpp: BuildRxMatrix(R, dtf/force->ftm2v*w_temp[0]); +fix_nve_sphere.cpp: // Apply R5 to w: w = R.w_temp +fix_nve_sphere.cpp: // Apply R5 to Q: Q_temp = R^T.Q +fix_nve_sphere.cpp: // Transform w back into space frame w_temp = Q^T.w +fix_nve_sphere.cpp: // Set dipole according to updated Q: mu = Q^T.[0 0 1] * |mu| +fix_nve_sphere.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_sphere.cpp: // set timestep here since dt may have changed or come via rRESPA +fix_nve_sphere.cpp: double dtfrotate = dtf / inertia; +fix_nve_sphere.cpp: // update v,omega for all particles +fix_nve_sphere.cpp: // d_omega/dt = torque / inertia +fix_nve_sphere.cpp: dtfm = dtf / rmass[i]; +fix_nve_sphere.cpp: dtirotate = dtfrotate / (radius[i]*radius[i]*rmass[i]); +fix_nve_spin.cpp:/* ---------------------------------------------------------------------- +fix_nve_spin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_nve_spin.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_nve_spin.cpp:------------------------------------------------------------------------- */ +fix_nve_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_spin.cpp: if (narg < 3) error->all(FLERR,"Illegal fix nve/spin command"); +fix_nve_spin.cpp: if (strcmp(arg[iarg],"nve/spin") == 0) { +fix_nve_spin.cpp: if (iarg+1 > narg) error->all(FLERR,"Illegal fix nve/spin command"); +fix_nve_spin.cpp: // error checks +fix_nve_spin.cpp: error->all(FLERR,"Fix nve/spin requires spin attribute mumag"); +fix_nve_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_spin.cpp: /*int idamp; +fix_nve_spin.cpp: if (strstr(modify->fix[idamp]->style,"damping/spin")) break; +fix_nve_spin.cpp: */ +fix_nve_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_spin.cpp: // Advance half spins all particles +fix_nve_spin.cpp: //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 +fix_nve_spin.cpp: // update half v all particles +fix_nve_spin.cpp: if (rmass) dtfm = dtf / rmass[i]; +fix_nve_spin.cpp: else dtfm = dtf / mass[type[i]]; +fix_nve_spin.cpp: // update x for all particles +fix_nve_spin.cpp://#define FORCE_PRINT +fix_nve_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_spin.cpp: // regular communication vs neighbor list rebuild +fix_nve_spin.cpp: // force computations +fix_nve_spin.cpp: // important for pair to come before bonded contributions +fix_nve_spin.cpp: // since some bonded potentials tally pairwise energy/virial +fix_nve_spin.cpp: // and Pair:ev_tally() needs to be called before any tallying +fix_nve_spin.cpp: // reverse communication of forces +fix_nve_spin.cpp: // force modifications +fix_nve_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_spin.cpp: g[0] /= (1+0.25*fm2*dts*dts); +fix_nve_spin.cpp: g[1] /= (1+0.25*fm2*dts*dts); +fix_nve_spin.cpp: g[2] /= (1+0.25*fm2*dts*dts); +fix_nve_spin.cpp: //Renormalization (may not be necessary) +fix_nve_spin.cpp: scale = 1.0/sqrt(msq); +fix_nve_spin.cpp:/* ---------------------------------------------------------------------- */ +fix_nve_spin.cpp: // update half v for all particles +fix_nve_spin.cpp: if (rmass) dtfm = dtf / rmass[i]; +fix_nve_spin.cpp: else dtfm = dtf / mass[type[i]]; +fix_nve_spin.cpp: // Advance half spins all particles +fix_nve_spin.cpp: //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 +fix_nvt.cpp:/* ---------------------------------------------------------------------- +fix_nvt.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_nvt.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_nvt.cpp:------------------------------------------------------------------------- */ +fix_nvt.cpp:/* ---------------------------------------------------------------------- */ +fix_nvt.cpp: // create a new compute temp style +fix_nvt.cpp: // id = fix-ID + temp +fix_nvt_sllod.cpp:/* ---------------------------------------------------------------------- +fix_nvt_sllod.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_nvt_sllod.cpp: www.cs.sandia.gov/~sjplimp/lammps.html +fix_nvt_sllod.cpp:------------------------------------------------------------------------- */ +fix_nvt_sllod.cpp:/* ---------------------------------------------------------------------- +fix_nvt_sllod.cpp:------------------------------------------------------------------------- */ +fix_nvt_sllod.cpp:enum{NO_REMAP,X_REMAP,V_REMAP}; // same as fix_deform.cpp +fix_nvt_sllod.cpp:/* ---------------------------------------------------------------------- */ +fix_nvt_sllod.cpp: error->all(FLERR,"Temperature control must be used with fix nvt/sllod"); +fix_nvt_sllod.cpp: error->all(FLERR,"Pressure control can not be used with fix nvt/sllod"); +fix_nvt_sllod.cpp: // default values +fix_nvt_sllod.cpp: // create a new compute temp style +fix_nvt_sllod.cpp: // id = fix-ID + temp +fix_nvt_sllod.cpp: newarg[2] = (char *) "temp/deform"; +fix_nvt_sllod.cpp:/* ---------------------------------------------------------------------- */ +fix_nvt_sllod.cpp: error->all(FLERR,"Temperature for fix nvt/sllod does not have a bias"); +fix_nvt_sllod.cpp: if (strcmp(temperature->style,"temp/deform") != 0) nondeformbias = 1; +fix_nvt_sllod.cpp: // check fix deform remap settings +fix_nvt_sllod.cpp: error->all(FLERR,"Using fix nvt/sllod with inconsistent fix deform " +fix_nvt_sllod.cpp: error->all(FLERR,"Using fix nvt/sllod with no fix deform defined"); +fix_nvt_sllod.cpp:/* ---------------------------------------------------------------------- +fix_nvt_sllod.cpp:-----------------------------------------------------------------------*/ +fix_nvt_sllod.cpp: // remove and restore bias = streaming velocity = Hrate*lamda + Hratelo +fix_nvt_sllod.cpp: // thermostat thermal velocity only +fix_nvt_sllod.cpp: // vdelu = SLLOD correction = Hrate*Hinv*vthermal +fix_nvt_sllod.cpp: // for non temp/deform BIAS: +fix_nvt_sllod.cpp: // calculate temperature since some computes require temp +fix_nvt_sllod.cpp: // computed on current nlocal atoms to remove bias +fix_nvt_sphere.cpp:/* ---------------------------------------------------------------------- +fix_nvt_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_nvt_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_nvt_sphere.cpp:------------------------------------------------------------------------- */ +fix_nvt_sphere.cpp:/* ---------------------------------------------------------------------- */ +fix_nvt_sphere.cpp: error->all(FLERR,"Temperature control must be used with fix nvt/sphere"); +fix_nvt_sphere.cpp: error->all(FLERR,"Pressure control can not be used with fix nvt/sphere"); +fix_nvt_sphere.cpp: // create a new compute temp style +fix_nvt_sphere.cpp: // id = fix-ID + temp +fix_nvt_sphere.cpp: newarg[2] = (char *) "temp/sphere"; +fix_planeforce.cpp:/* ---------------------------------------------------------------------- +fix_planeforce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_planeforce.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_planeforce.cpp:------------------------------------------------------------------------- */ +fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ +fix_planeforce.cpp: xdir /= len; +fix_planeforce.cpp: ydir /= len; +fix_planeforce.cpp: zdir /= len; +fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ +fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ +fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ +fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ +fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ +fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ +fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- +fix_press_berendsen.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_press_berendsen.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_press_berendsen.cpp:------------------------------------------------------------------------- */ +fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_press_berendsen.cpp: if (narg < 5) error->all(FLERR,"Illegal fix press/berendsen command"); +fix_press_berendsen.cpp: // Berendsen barostat applied every step +fix_press_berendsen.cpp: // default values +fix_press_berendsen.cpp: // process keywords +fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); +fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); +fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); +fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); +fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); +fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen for a 2d simulation"); +fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); +fix_press_berendsen.cpp: else error->all(FLERR,"Illegal fix press/berendsen command"); +fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); +fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); +fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); +fix_press_berendsen.cpp: else error->all(FLERR,"Illegal fix press/berendsen command"); +fix_press_berendsen.cpp: } else error->all(FLERR,"Illegal fix press/berendsen command"); +fix_press_berendsen.cpp: // error checks +fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen for a 2d simulation"); +fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen for a 2d simulation"); +fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); +fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); +fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); +fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); +fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); +fix_press_berendsen.cpp: "Cannot use fix press/berendsen on a non-periodic dimension"); +fix_press_berendsen.cpp: "Cannot use fix press/berendsen on a non-periodic dimension"); +fix_press_berendsen.cpp: "Cannot use fix press/berendsen on a non-periodic dimension"); +fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); +fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); +fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); +fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); +fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); +fix_press_berendsen.cpp: error->all(FLERR,"Fix press/berendsen damping parameters must be > 0.0"); +fix_press_berendsen.cpp: // pstyle = ISO if XYZ coupling or XY coupling in 2d -> 1 dof +fix_press_berendsen.cpp: // else pstyle = ANISO -> 3 dof +fix_press_berendsen.cpp: // create a new compute temp style +fix_press_berendsen.cpp: // id = fix-ID + temp +fix_press_berendsen.cpp: // compute group = all since pressure is always global (group all) +fix_press_berendsen.cpp: // and thus its KE/temperature contribution should use group all +fix_press_berendsen.cpp: // create a new compute pressure style +fix_press_berendsen.cpp: // id = fix-ID + press, compute group = all +fix_press_berendsen.cpp: // pass id_temp as 4th arg to pressure constructor +fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_press_berendsen.cpp: // delete temperature and pressure if fix created them +fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_press_berendsen.cpp: error->all(FLERR,"Cannot use fix press/berendsen with triclinic box"); +fix_press_berendsen.cpp: // insure no conflict with fix deform +fix_press_berendsen.cpp: error->all(FLERR,"Cannot use fix press/berendsen and " +fix_press_berendsen.cpp: // set temperature and pressure ptrs +fix_press_berendsen.cpp: error->all(FLERR,"Temperature ID for fix press/berendsen does not exist"); +fix_press_berendsen.cpp: error->all(FLERR,"Pressure ID for fix press/berendsen does not exist"); +fix_press_berendsen.cpp: // Kspace setting +fix_press_berendsen.cpp: // detect if any rigid fixes exist so rigid bodies move when box is remapped +fix_press_berendsen.cpp: // rfix[] = indices to each fix rigid +fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- +fix_press_berendsen.cpp:------------------------------------------------------------------------- */ +fix_press_berendsen.cpp: // trigger virial computation on next timestep +fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_press_berendsen.cpp: // compute new T,P +fix_press_berendsen.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +fix_press_berendsen.cpp: pow(1.0 - update->dt/p_period[i] * +fix_press_berendsen.cpp: (p_target[i]-p_current[i])/bulkmodulus,1.0/3.0); +fix_press_berendsen.cpp: // remap simulation box and atoms +fix_press_berendsen.cpp: // redo KSpace coeffs since volume has changed +fix_press_berendsen.cpp: // trigger virial computation on next timestep +fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_press_berendsen.cpp: double ave = 1.0/3.0 * (tensor[0] + tensor[1] + tensor[2]); +fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- +fix_press_berendsen.cpp:------------------------------------------------------------------------- */ +fix_press_berendsen.cpp: // convert pertinent atoms and rigid bodies to lamda coords +fix_press_berendsen.cpp: // reset global and local box to new size/shape +fix_press_berendsen.cpp: // convert pertinent atoms and rigid bodies back to box coords +fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_press_berendsen.cpp: // reset id_temp of pressure to new temperature ID +fix_press_berendsen.cpp: error->all(FLERR,"Pressure ID for fix press/berendsen does not exist"); +fix_print.cpp:/* ---------------------------------------------------------------------- +fix_print.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_print.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_print.cpp:------------------------------------------------------------------------- */ +fix_print.cpp:/* ---------------------------------------------------------------------- */ +fix_print.cpp: copy = (char *) memory->smalloc(n*sizeof(char),"fix/print:copy"); +fix_print.cpp: work = (char *) memory->smalloc(n*sizeof(char),"fix/print:work"); +fix_print.cpp: // parse optional args +fix_print.cpp: // print file comment line +fix_print.cpp: // add nfirst to all computes that store invocation times +fix_print.cpp: // since don't know a priori which are invoked via variables by this fix +fix_print.cpp: // once in end_of_step() can set timestep for ones actually invoked +fix_print.cpp: const bigint nfirst = (update->ntimestep/nevery)*nevery + nevery; +fix_print.cpp:/* ---------------------------------------------------------------------- */ +fix_print.cpp:/* ---------------------------------------------------------------------- */ +fix_print.cpp:/* ---------------------------------------------------------------------- */ +fix_print.cpp: // make a copy of string to work on +fix_print.cpp: // substitute for $ variables (no printing) +fix_print.cpp: // append a newline and print final copy +fix_print.cpp: // variable evaluation may invoke computes so wrap with clear/add +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_property_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- */ +fix_property_atom.cpp: if (narg < 4) error->all(FLERR,"Illegal fix property/atom command"); +fix_property_atom.cpp: error->all(FLERR,"Fix property/atom mol when atom_style " +fix_property_atom.cpp: error->all(FLERR,"Fix property/atom cannot specify mol twice"); +fix_property_atom.cpp: error->all(FLERR,"Fix property/atom q when atom_style " +fix_property_atom.cpp: error->all(FLERR,"Fix property/atom cannot specify q twice"); +fix_property_atom.cpp: error->all(FLERR,"Fix property/atom rmass when atom_style " +fix_property_atom.cpp: error->all(FLERR,"Fix property/atom cannot specify rmass twice"); +fix_property_atom.cpp: error->all(FLERR,"Fix property/atom vector name already exists"); +fix_property_atom.cpp: error->all(FLERR,"Fix property/atom vector name already exists"); +fix_property_atom.cpp: // optional args +fix_property_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix property/atom command"); +fix_property_atom.cpp: else error->all(FLERR,"Illegal fix property/atom command"); +fix_property_atom.cpp: } else error->all(FLERR,"Illegal fix property/atom command"); +fix_property_atom.cpp: // warn if mol or charge keyword used without ghost yes +fix_property_atom.cpp: error->warning(FLERR,"Fix property/atom mol or charge or rmass " +fix_property_atom.cpp: "w/out ghost communication"); +fix_property_atom.cpp: // store current atom style +fix_property_atom.cpp: // perform initial allocation of atom-based array +fix_property_atom.cpp: // register with Atom class +fix_property_atom.cpp:/* ---------------------------------------------------------------------- */ +fix_property_atom.cpp: // unregister callbacks to this fix from Atom class +fix_property_atom.cpp: // deallocate per-atom vectors in Atom class +fix_property_atom.cpp: // set ptrs to NULL, so they no longer exist for Atom class +fix_property_atom.cpp:/* ---------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- */ +fix_property_atom.cpp: // error if atom style has changed since fix was defined +fix_property_atom.cpp: // don't allow this b/c user could change to style that defines molecule,q +fix_property_atom.cpp: error->all(FLERR,"Atom style was redefined after using fix property/atom"); +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp: // loop over lines of atom info +fix_property_atom.cpp: // tokenize the line into values +fix_property_atom.cpp: // if I own atom tag, unpack its values +fix_property_atom.cpp: // assign words in line to per-atom vectors +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp: // 1st column = atom tag +fix_property_atom.cpp: // rest of columns = per-atom values +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp: // skip to Nth set of extra values +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_property_atom.cpp:/* ---------------------------------------------------------------------- +fix_property_atom.cpp:------------------------------------------------------------------------- */ +fix_read_restart.cpp:/* ---------------------------------------------------------------------- +fix_read_restart.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_read_restart.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_read_restart.cpp:------------------------------------------------------------------------- */ +fix_read_restart.cpp:/* ---------------------------------------------------------------------- */ +fix_read_restart.cpp: // perform initial allocation of atom-based array +fix_read_restart.cpp: // register with Atom class +fix_read_restart.cpp: // extra = copy of atom->extra +fix_read_restart.cpp:/* ---------------------------------------------------------------------- */ +fix_read_restart.cpp: // unregister callback to this fix from Atom class +fix_read_restart.cpp: // delete locally stored arrays +fix_read_restart.cpp:/* ---------------------------------------------------------------------- */ +fix_read_restart.cpp:/* ---------------------------------------------------------------------- +fix_read_restart.cpp:------------------------------------------------------------------------- */ +fix_read_restart.cpp:/* ---------------------------------------------------------------------- +fix_read_restart.cpp:------------------------------------------------------------------------- */ +fix_read_restart.cpp:/* ---------------------------------------------------------------------- +fix_read_restart.cpp:------------------------------------------------------------------------- */ +fix_read_restart.cpp:/* ---------------------------------------------------------------------- +fix_read_restart.cpp:------------------------------------------------------------------------- */ +fix_read_restart.cpp:/* ---------------------------------------------------------------------- +fix_read_restart.cpp:------------------------------------------------------------------------- */ +fix_recenter.cpp:/* ---------------------------------------------------------------------- +fix_recenter.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_recenter.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_recenter.cpp:------------------------------------------------------------------------- */ +fix_recenter.cpp:/* ---------------------------------------------------------------------- +fix_recenter.cpp:------------------------------------------------------------------------- */ +fix_recenter.cpp:/* ---------------------------------------------------------------------- */ +fix_recenter.cpp: // optional args +fix_recenter.cpp: // scale xcom,ycom,zcom +fix_recenter.cpp: // cannot have 0 atoms in group +fix_recenter.cpp:/* ---------------------------------------------------------------------- */ +fix_recenter.cpp:/* ---------------------------------------------------------------------- */ +fix_recenter.cpp: // warn if any integrate fix comes after this one +fix_recenter.cpp: // if any components of requested COM were INIT, store initial COM +fix_recenter.cpp:/* ---------------------------------------------------------------------- */ +fix_recenter.cpp: // target COM +fix_recenter.cpp: // bounding box around domain works for both orthogonal and triclinic +fix_recenter.cpp: // current COM +fix_recenter.cpp: // shift coords by difference between actual COM and requested COM +fix_recenter.cpp:/* ---------------------------------------------------------------------- */ +fix_recenter.cpp: // outermost level - operate recenter +fix_recenter.cpp: // all other levels - nothing +fix_recenter.cpp:/* ---------------------------------------------------------------------- */ +fix_recenter.cpp:/* ---------------------------------------------------------------------- */ +fix_respa.cpp:/* ---------------------------------------------------------------------- +fix_respa.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_respa.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_respa.cpp:------------------------------------------------------------------------- */ +fix_respa.cpp:/* ---------------------------------------------------------------------- */ +fix_respa.cpp: // nlevels = # of rRESPA levels +fix_respa.cpp: // optional arguments +fix_respa.cpp: // perform initial allocation of atom-based arrays +fix_respa.cpp: // register with Atom class +fix_respa.cpp:/* ---------------------------------------------------------------------- */ +fix_respa.cpp: // unregister callbacks to this fix from Atom class +fix_respa.cpp: // delete locally stored arrays +fix_respa.cpp:/* ---------------------------------------------------------------------- */ +fix_respa.cpp:/* ---------------------------------------------------------------------- +fix_respa.cpp:------------------------------------------------------------------------- */ +fix_respa.cpp:/* ---------------------------------------------------------------------- +fix_respa.cpp:------------------------------------------------------------------------- */ +fix_respa.cpp:/* ---------------------------------------------------------------------- +fix_respa.cpp:------------------------------------------------------------------------- */ +fix_respa.cpp:/* ---------------------------------------------------------------------- +fix_respa.cpp:------------------------------------------------------------------------- */ +fix_respa.cpp:/* ---------------------------------------------------------------------- +fix_respa.cpp:------------------------------------------------------------------------- */ +fix_restrain.cpp:/* ---------------------------------------------------------------------- +fix_restrain.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_restrain.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_restrain.cpp:------------------------------------------------------------------------- */ +fix_restrain.cpp:/* ---------------------------------------------------------------------- +fix_restrain.cpp:------------------------------------------------------------------------- */ +fix_restrain.cpp:/* ---------------------------------------------------------------------- */ +fix_restrain.cpp: // parse args +fix_restrain.cpp: target[nrestrain] *= MY_PI / 180.0; +fix_restrain.cpp: target[nrestrain] *= MY_PI / 180.0; +fix_restrain.cpp: // require atom map to lookup atom IDs +fix_restrain.cpp:/* ---------------------------------------------------------------------- */ +fix_restrain.cpp:/* ---------------------------------------------------------------------- */ +fix_restrain.cpp:/* ---------------------------------------------------------------------- */ +fix_restrain.cpp:/* ---------------------------------------------------------------------- */ +fix_restrain.cpp:/* ---------------------------------------------------------------------- */ +fix_restrain.cpp:/* ---------------------------------------------------------------------- */ +fix_restrain.cpp:/* ---------------------------------------------------------------------- */ +fix_restrain.cpp:/* ---------------------------------------------------------------------- */ +fix_restrain.cpp:/* ---------------------------------------------------------------------- +fix_restrain.cpp:---------------------------------------------------------------------- */ +fix_restrain.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +fix_restrain.cpp: // newton_bond on: only processor owning i2 computes restraint +fix_restrain.cpp: // newton_bond off: only processors owning either of i1,i2 computes restraint +fix_restrain.cpp: // force & energy +fix_restrain.cpp: if (r > 0.0) fbond = -2.0*rk/r; +fix_restrain.cpp: // apply force to each of 2 atoms +fix_restrain.cpp:/* ---------------------------------------------------------------------- +fix_restrain.cpp:---------------------------------------------------------------------- */ +fix_restrain.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +fix_restrain.cpp: // newton_bond on: only processor owning i2 computes restraint +fix_restrain.cpp: // newton_bond off: only processors owning any of i1-i3 computes restraint +fix_restrain.cpp: // 1st bond +fix_restrain.cpp: // 2nd bond +fix_restrain.cpp: // angle (cos and sin) +fix_restrain.cpp: c /= r1*r2; +fix_restrain.cpp: s = 1.0/s; +fix_restrain.cpp: // force & energy +fix_restrain.cpp: a11 = a*c / rsq1; +fix_restrain.cpp: a12 = -a / (r1*r2); +fix_restrain.cpp: a22 = a*c / rsq2; +fix_restrain.cpp: // apply force to each of 3 atoms +fix_restrain.cpp:/* ---------------------------------------------------------------------- +fix_restrain.cpp:---------------------------------------------------------------------- */ +fix_restrain.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +fix_restrain.cpp: // newton_bond on: only processor owning i2 computes restraint +fix_restrain.cpp: // newton_bond off: only processors owning any of i1-i4 computes restraint +fix_restrain.cpp: // 1st bond +fix_restrain.cpp: // 2nd bond +fix_restrain.cpp: // 3rd bond +fix_restrain.cpp: if (rg > 0) rginv = 1.0/rg; +fix_restrain.cpp: if (rasq > 0) ra2inv = 1.0/rasq; +fix_restrain.cpp: if (rbsq > 0) rb2inv = 1.0/rbsq; +fix_restrain.cpp: // error check +fix_restrain.cpp: mult = 1; // multiplicity +fix_restrain.cpp: // apply force to each of 4 atoms +fix_restrain.cpp:/* ---------------------------------------------------------------------- +fix_restrain.cpp:------------------------------------------------------------------------- */ +fix_setforce.cpp:/* ---------------------------------------------------------------------- +fix_setforce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_setforce.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_setforce.cpp:------------------------------------------------------------------------- */ +fix_setforce.cpp:/* ---------------------------------------------------------------------- */ +fix_setforce.cpp: // optional args +fix_setforce.cpp:/* ---------------------------------------------------------------------- */ +fix_setforce.cpp:/* ---------------------------------------------------------------------- */ +fix_setforce.cpp:/* ---------------------------------------------------------------------- */ +fix_setforce.cpp: // check variables +fix_setforce.cpp: // set index and check validity of region +fix_setforce.cpp: // cannot use non-zero forces for a minimization since no energy is integrated +fix_setforce.cpp: // use fix addforce instead +fix_setforce.cpp:/* ---------------------------------------------------------------------- */ +fix_setforce.cpp:/* ---------------------------------------------------------------------- */ +fix_setforce.cpp:/* ---------------------------------------------------------------------- */ +fix_setforce.cpp: // update region if necessary +fix_setforce.cpp: // reallocate sforce array if necessary +fix_setforce.cpp: // variable force, wrap with clear/add +fix_setforce.cpp:/* ---------------------------------------------------------------------- */ +fix_setforce.cpp: // set force to desired value on requested level, 0.0 on other levels +fix_setforce.cpp:/* ---------------------------------------------------------------------- */ +fix_setforce.cpp:/* ---------------------------------------------------------------------- +fix_setforce.cpp:------------------------------------------------------------------------- */ +fix_setforce.cpp: // only sum across procs one time +fix_setforce.cpp:/* ---------------------------------------------------------------------- +fix_setforce.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_shear_history.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- */ +fix_shear_history.cpp: if (newton_pair) comm_reverse = 1; // just for single npartner value +fix_shear_history.cpp: // variable-size history communicated via +fix_shear_history.cpp: // reverse_comm_fix_variable() +fix_shear_history.cpp: // perform initial allocation of atom-based arrays +fix_shear_history.cpp: // register with atom class +fix_shear_history.cpp: // initialize npartner to 0 so neighbor list creation is OK the 1st time +fix_shear_history.cpp:/* ---------------------------------------------------------------------- */ +fix_shear_history.cpp: // unregister this fix so atom class doesn't invoke it any more +fix_shear_history.cpp: // delete locally stored arrays +fix_shear_history.cpp: // to better detect use-after-delete errors +fix_shear_history.cpp:/* ---------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp: create pages if first time or if neighbor pgsize/oneatom has changed +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp: b/c there is no guarantee of a current neigh list (even on continued run) +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp: onesided version for sphere contact with line/tri particles +fix_shear_history.cpp: neighbor list has I = sphere, J = line/tri +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp: // NOTE: all operations until very end are with nlocal_neigh <= current nlocal +fix_shear_history.cpp: // b/c previous neigh list was built with nlocal_neigh +fix_shear_history.cpp: // nlocal can be larger if other fixes added atoms at this pre_exchange() +fix_shear_history.cpp: // zero npartner for owned atoms +fix_shear_history.cpp: // clear 2 page data structures +fix_shear_history.cpp: // 1st loop over neighbor list, I = sphere, J = tri +fix_shear_history.cpp: // only calculate npartner for owned spheres +fix_shear_history.cpp: // get page chunks to store atom IDs and shear history for owned atoms +fix_shear_history.cpp: // 2nd loop over neighbor list, I = sphere, J = tri +fix_shear_history.cpp: // store atom IDs and shear history for owned spheres +fix_shear_history.cpp: // re-zero npartner to use as counter +fix_shear_history.cpp: // set maxtouch = max # of partners of any owned atom +fix_shear_history.cpp: // bump up comm->maxexchange_fix if necessary +fix_shear_history.cpp: // zero npartner values from previous nlocal_neigh to current nlocal +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp: newton on version, for sphere/sphere contacts +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp: // NOTE: all operations until very end are with +fix_shear_history.cpp: // nlocal_neigh <= current nlocal and nall_neigh +fix_shear_history.cpp: // b/c previous neigh list was built with nlocal_neigh,nghost_neigh +fix_shear_history.cpp: // nlocal can be larger if other fixes added atoms at this pre_exchange() +fix_shear_history.cpp: // zero npartner for owned+ghost atoms +fix_shear_history.cpp: // clear 2 page data structures +fix_shear_history.cpp: // 1st loop over neighbor list +fix_shear_history.cpp: // calculate npartner for owned+ghost atoms +fix_shear_history.cpp: // perform reverse comm to augment owned npartner counts with ghost counts +fix_shear_history.cpp: // get page chunks to store atom IDs and shear history for owned+ghost atoms +fix_shear_history.cpp: // 2nd loop over neighbor list +fix_shear_history.cpp: // store atom IDs and shear history for owned+ghost atoms +fix_shear_history.cpp: // re-zero npartner to use as counter +fix_shear_history.cpp: // perform reverse comm to augment +fix_shear_history.cpp: // owned atom partner/shearpartner with ghost info +fix_shear_history.cpp: // use variable variant b/c size of packed data can be arbitrarily large +fix_shear_history.cpp: // if many touching neighbors for large particle +fix_shear_history.cpp: // set maxtouch = max # of partners of any owned atom +fix_shear_history.cpp: // bump up comm->maxexchange_fix if necessary +fix_shear_history.cpp: // zero npartner values from previous nlocal_neigh to current nlocal +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp: newton off version, for sphere/sphere contacts +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp: // NOTE: all operations until very end are with nlocal_neigh <= current nlocal +fix_shear_history.cpp: // b/c previous neigh list was built with nlocal_neigh +fix_shear_history.cpp: // nlocal can be larger if other fixes added atoms at this pre_exchange() +fix_shear_history.cpp: // zero npartner for owned atoms +fix_shear_history.cpp: // clear 2 page data structures +fix_shear_history.cpp: // 1st loop over neighbor list +fix_shear_history.cpp: // calculate npartner for owned atoms +fix_shear_history.cpp: // get page chunks to store atom IDs and shear history for owned atoms +fix_shear_history.cpp: // 2nd loop over neighbor list +fix_shear_history.cpp: // store atom IDs and shear history for owned atoms +fix_shear_history.cpp: // re-zero npartner to use as counter +fix_shear_history.cpp: // set maxtouch = max # of partners of any owned atom +fix_shear_history.cpp: // bump up comm->maxexchange_fix if necessary +fix_shear_history.cpp: // zero npartner values from previous nlocal_neigh to current nlocal +fix_shear_history.cpp:/* ---------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp: // just copy pointers for partner and shearpartner +fix_shear_history.cpp: // b/c can't overwrite chunk allocation inside ipage,dpage +fix_shear_history.cpp: // incoming atoms in unpack_exchange just grab new chunks +fix_shear_history.cpp: // so are orphaning chunks for migrating atoms +fix_shear_history.cpp: // OK, b/c will reset ipage,dpage on next reneighboring +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp: // NOTE: how do I know comm buf is big enough if extreme # of touching neighs +fix_shear_history.cpp: // Comm::BUFEXTRA may need to be increased +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp: // allocate new chunks from ipage,dpage for incoming values +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp: // ipage = NULL if being called from granular pair style init() +fix_shear_history.cpp: // skip to Nth set of extra values +fix_shear_history.cpp: // allocate new chunks from ipage,dpage for incoming values +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_shear_history.cpp: // maxtouch_all = max # of touching partners across all procs +fix_shear_history.cpp:/* ---------------------------------------------------------------------- +fix_shear_history.cpp:------------------------------------------------------------------------- */ +fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- +fix_spring_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_spring_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_spring_chunk.cpp:------------------------------------------------------------------------- */ +fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_chunk.cpp: if (narg != 6) error->all(FLERR,"Illegal fix spring/chunk command"); +fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_chunk.cpp: // decrement lock counter in compute chunk/atom, it if still exists +fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_chunk.cpp: // current indices for idchunk and idcom +fix_spring_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for fix spring/chunk"); +fix_spring_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) +fix_spring_chunk.cpp: error->all(FLERR,"Fix spring/chunk does not use chunk/atom compute"); +fix_spring_chunk.cpp: error->all(FLERR,"Com/chunk compute does not exist for fix spring/chunk"); +fix_spring_chunk.cpp: if (strcmp(ccom->style,"com/chunk") != 0) +fix_spring_chunk.cpp: error->all(FLERR,"Fix spring/chunk does not use com/chunk compute"); +fix_spring_chunk.cpp: // check that idchunk is consistent with ccom->idchunk +fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_chunk.cpp: // check if first time cchunk will be queried via ccom +fix_spring_chunk.cpp: // if so, lock idchunk for as long as this fix is in place +fix_spring_chunk.cpp: // will be unlocked in destructor +fix_spring_chunk.cpp: // necessary b/c this fix stores original COM +fix_spring_chunk.cpp: // calculate current centers of mass for each chunk +fix_spring_chunk.cpp: // extract pointers from idchunk and idcom +fix_spring_chunk.cpp: // check if first time cchunk was queried via ccom +fix_spring_chunk.cpp: // if so, allocate com0,fcom and store initial COM +fix_spring_chunk.cpp: memory->create(com0,nchunk,3,"spring/chunk:com0"); +fix_spring_chunk.cpp: memory->create(fcom,nchunk,3,"spring/chunk:fcom"); +fix_spring_chunk.cpp: // calculate fcom = force on each COM, divided by masstotal +fix_spring_chunk.cpp: fcom[m][0] = k_spring*dx/r / masstotal[m]; +fix_spring_chunk.cpp: fcom[m][1] = k_spring*dy/r / masstotal[m]; +fix_spring_chunk.cpp: fcom[m][2] = k_spring*dz/r / masstotal[m]; +fix_spring_chunk.cpp: // apply restoring force to atoms in each chunk +fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- +fix_spring_chunk.cpp:------------------------------------------------------------------------- */ +fix_spring.cpp:/* ---------------------------------------------------------------------- +fix_spring.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_spring.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_spring.cpp:------------------------------------------------------------------------- */ +fix_spring.cpp:/* ---------------------------------------------------------------------- +fix_spring.cpp:------------------------------------------------------------------------- */ +fix_spring.cpp:/* ---------------------------------------------------------------------- */ +fix_spring.cpp:/* ---------------------------------------------------------------------- */ +fix_spring.cpp:/* ---------------------------------------------------------------------- */ +fix_spring.cpp:/* ---------------------------------------------------------------------- */ +fix_spring.cpp: // recheck that group 2 has not been deleted +fix_spring.cpp:/* ---------------------------------------------------------------------- */ +fix_spring.cpp:/* ---------------------------------------------------------------------- */ +fix_spring.cpp:/* ---------------------------------------------------------------------- */ +fix_spring.cpp:/* ---------------------------------------------------------------------- */ +fix_spring.cpp: // fx,fy,fz = components of k * (r-r0) / masstotal +fix_spring.cpp: fx = k_spring*dx*dr/r; +fix_spring.cpp: fy = k_spring*dy*dr/r; +fix_spring.cpp: fz = k_spring*dz*dr/r; +fix_spring.cpp: fx /= masstotal; +fix_spring.cpp: fy /= masstotal; +fix_spring.cpp: fz /= masstotal; +fix_spring.cpp: // apply restoring force to atoms in group +fix_spring.cpp:/* ---------------------------------------------------------------------- */ +fix_spring.cpp: // fx,fy,fz = components of k * (r-r0) / masstotal +fix_spring.cpp: // fx2,fy2,fz2 = components of k * (r-r0) / masstotal2 +fix_spring.cpp: fx = k_spring*dx*dr/r; +fix_spring.cpp: fy = k_spring*dy*dr/r; +fix_spring.cpp: fz = k_spring*dz*dr/r; +fix_spring.cpp: fx2 = fx/masstotal2; +fix_spring.cpp: fy2 = fy/masstotal2; +fix_spring.cpp: fz2 = fz/masstotal2; +fix_spring.cpp: fx /= masstotal; +fix_spring.cpp: fy /= masstotal; +fix_spring.cpp: fz /= masstotal; +fix_spring.cpp: // apply restoring force to atoms in group +fix_spring.cpp: // f = -k*(r-r0)*mass/masstotal +fix_spring.cpp:/* ---------------------------------------------------------------------- */ +fix_spring.cpp:/* ---------------------------------------------------------------------- */ +fix_spring.cpp:/* ---------------------------------------------------------------------- +fix_spring.cpp:------------------------------------------------------------------------- */ +fix_spring.cpp:/* ---------------------------------------------------------------------- +fix_spring.cpp:------------------------------------------------------------------------- */ +fix_spring_rg.cpp:/* ---------------------------------------------------------------------- +fix_spring_rg.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_spring_rg.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_spring_rg.cpp:------------------------------------------------------------------------- */ +fix_spring_rg.cpp:/* ---------------------------------------------------------------------- +fix_spring_rg.cpp:------------------------------------------------------------------------- */ +fix_spring_rg.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_rg.cpp: if (narg != 5) error->all(FLERR,"Illegal fix spring/rg command"); +fix_spring_rg.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_rg.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_rg.cpp: // if rg0 was specified as NULL, compute current Rg +fix_spring_rg.cpp: // only occurs on 1st run +fix_spring_rg.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_rg.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_rg.cpp: // compute current Rg and center-of-mass +fix_spring_rg.cpp: // apply restoring force to atoms in group +fix_spring_rg.cpp: // f = -k*(r-r0)*mass/masstotal +fix_spring_rg.cpp: term1 = 2.0 * k * (1.0 - rg0/rg); +fix_spring_rg.cpp: if (rmass) massfrac = rmass[i]/masstotal; +fix_spring_rg.cpp: else massfrac = mass[type[i]]/masstotal; +fix_spring_rg.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- +fix_spring_self.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_spring_self.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_spring_self.cpp:------------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- +fix_spring_self.cpp:------------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_self.cpp: error->all(FLERR,"Illegal fix spring/self command"); +fix_spring_self.cpp: if (k <= 0.0) error->all(FLERR,"Illegal fix spring/self command"); +fix_spring_self.cpp: } else error->all(FLERR,"Illegal fix spring/self command"); +fix_spring_self.cpp: // perform initial allocation of atom-based array +fix_spring_self.cpp: // register with Atom class +fix_spring_self.cpp: // xoriginal = initial unwrapped positions of atoms +fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_self.cpp: // unregister callbacks to this fix from Atom class +fix_spring_self.cpp: // delete locally stored array +fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- +fix_spring_self.cpp:------------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- +fix_spring_self.cpp:------------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- +fix_spring_self.cpp:------------------------------------------------------------------------- */ +fix_spring_self.cpp: memory->grow(xoriginal,nmax,3,"fix_spring/self:xoriginal"); +fix_spring_self.cpp:/* ---------------------------------------------------------------------- +fix_spring_self.cpp:------------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- +fix_spring_self.cpp:------------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- +fix_spring_self.cpp:------------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- +fix_spring_self.cpp:------------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- +fix_spring_self.cpp:------------------------------------------------------------------------- */ +fix_spring_self.cpp: // skip to Nth set of extra values +fix_spring_self.cpp:/* ---------------------------------------------------------------------- +fix_spring_self.cpp:------------------------------------------------------------------------- */ +fix_spring_self.cpp:/* ---------------------------------------------------------------------- +fix_spring_self.cpp:------------------------------------------------------------------------- */ +fix_store.cpp:/* ---------------------------------------------------------------------- +fix_store.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_store.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_store.cpp:------------------------------------------------------------------------- */ +fix_store.cpp:/* ---------------------------------------------------------------------- */ +fix_store.cpp: // 4th arg determines GLOBAL vs PERATOM values +fix_store.cpp: // syntax: id group style global nrow ncol +fix_store.cpp: // Nrow by Ncol array of global values +fix_store.cpp: // Ncol = 1 is vector, Ncol > 1 is array +fix_store.cpp: // syntax: id group style peratom 0/1 nvalues +fix_store.cpp: // 0/1 flag = not-store or store peratom values in restart file +fix_store.cpp: // nvalues = # of peratom values, N = 1 is vector, N > 1 is array +fix_store.cpp: // GLOBAL values are always written to restart file +fix_store.cpp: // PERATOM restart_peratom is set by caller +fix_store.cpp: // allocate vector or array and restart buffer rbuf +fix_store.cpp: // for PERATOM, register with Atom class +fix_store.cpp: if (vecflag) memory->create(vstore,nrow,"fix/store:vstore"); +fix_store.cpp: else memory->create(astore,nrow,ncol,"fix/store:astore"); +fix_store.cpp: memory->create(rbuf,nrow*ncol+2,"fix/store:rbuf"); +fix_store.cpp: // zero the storage +fix_store.cpp: // PERATOM may be comm->exchanged before filled by caller +fix_store.cpp:/* ---------------------------------------------------------------------- */ +fix_store.cpp: // unregister callbacks to this fix from Atom class +fix_store.cpp:/* ---------------------------------------------------------------------- */ +fix_store.cpp:/* ---------------------------------------------------------------------- +fix_store.cpp: reset size of global vector/array +fix_store.cpp:------------------------------------------------------------------------- */ +fix_store.cpp: if (vecflag) memory->create(vstore,nrow,"fix/store:vstore"); +fix_store.cpp: else memory->create(astore,nrow,ncol,"fix/store:astore"); +fix_store.cpp: memory->create(rbuf,nrow*ncol+2,"fix/store:rbuf"); +fix_store.cpp:/* ---------------------------------------------------------------------- +fix_store.cpp:------------------------------------------------------------------------- */ +fix_store.cpp: // fill rbuf with size and vec/array values +fix_store.cpp:/* ---------------------------------------------------------------------- +fix_store.cpp:------------------------------------------------------------------------- */ +fix_store.cpp: // first 2 values in buf are vec/array sizes +fix_store.cpp: // if size of vec/array has changed, +fix_store.cpp: // means the restart file is setting size of vec or array and doing init +fix_store.cpp: // because caller did not know size at time this fix was instantiated +fix_store.cpp: // reallocate vstore or astore accordingly +fix_store.cpp: if (vecflag) memory->create(vstore,nrow,"fix/store:vstore"); +fix_store.cpp: else memory->create(astore,nrow,ncol,"fix/store:astore"); +fix_store.cpp: memory->create(rbuf,nrow*ncol+2,"fix/store:rbuf"); +fix_store.cpp:/* ---------------------------------------------------------------------- +fix_store.cpp:------------------------------------------------------------------------- */ +fix_store.cpp:/* ---------------------------------------------------------------------- +fix_store.cpp:------------------------------------------------------------------------- */ +fix_store.cpp:/* ---------------------------------------------------------------------- +fix_store.cpp:------------------------------------------------------------------------- */ +fix_store.cpp:/* ---------------------------------------------------------------------- +fix_store.cpp:------------------------------------------------------------------------- */ +fix_store.cpp:/* ---------------------------------------------------------------------- +fix_store.cpp:------------------------------------------------------------------------- */ +fix_store.cpp:/* ---------------------------------------------------------------------- +fix_store.cpp:------------------------------------------------------------------------- */ +fix_store.cpp: // skip to Nth set of extra values +fix_store.cpp:/* ---------------------------------------------------------------------- +fix_store.cpp:------------------------------------------------------------------------- */ +fix_store.cpp:/* ---------------------------------------------------------------------- +fix_store.cpp:------------------------------------------------------------------------- */ +fix_store.cpp:/* ---------------------------------------------------------------------- +fix_store.cpp:------------------------------------------------------------------------- */ +fix_store_force.cpp:/* ---------------------------------------------------------------------- +fix_store_force.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_store_force.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_store_force.cpp:------------------------------------------------------------------------- */ +fix_store_force.cpp:/* ---------------------------------------------------------------------- */ +fix_store_force.cpp: if (narg < 3) error->all(FLERR,"Illegal fix store/coord command"); +fix_store_force.cpp: memory->create(foriginal,nmax,3,"store/force:foriginal"); +fix_store_force.cpp: // zero the array since dump may access it on timestep 0 +fix_store_force.cpp: // zero the array since a variable may access it before first run +fix_store_force.cpp:/* ---------------------------------------------------------------------- */ +fix_store_force.cpp:/* ---------------------------------------------------------------------- */ +fix_store_force.cpp:/* ---------------------------------------------------------------------- */ +fix_store_force.cpp:/* ---------------------------------------------------------------------- */ +fix_store_force.cpp:/* ---------------------------------------------------------------------- */ +fix_store_force.cpp:/* ---------------------------------------------------------------------- */ +fix_store_force.cpp: memory->create(foriginal,nmax,3,"store/force:foriginal"); +fix_store_force.cpp:/* ---------------------------------------------------------------------- */ +fix_store_force.cpp:/* ---------------------------------------------------------------------- */ +fix_store_force.cpp:/* ---------------------------------------------------------------------- +fix_store_force.cpp:------------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- +fix_store_state.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_store_state.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_store_state.cpp:------------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp: if (narg < 5) error->all(FLERR,"Illegal fix store/state command"); +fix_store_state.cpp: if (nevery < 0) error->all(FLERR,"Illegal fix store/state command"); +fix_store_state.cpp: // parse values until one isn't recognized +fix_store_state.cpp: // customize a new keyword by adding to if statement +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); +fix_store_state.cpp: error->all(FLERR,"Illegal fix store/state command"); +fix_store_state.cpp: // optional args +fix_store_state.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix store/state command"); +fix_store_state.cpp: else error->all(FLERR,"Illegal fix store/state command"); +fix_store_state.cpp: } else error->all(FLERR,"Illegal fix store/state command"); +fix_store_state.cpp: // error check +fix_store_state.cpp: error->all(FLERR,"Compute ID for fix store/state does not exist"); +fix_store_state.cpp: error->all(FLERR,"Fix store/state compute " +fix_store_state.cpp: error->all(FLERR,"Fix store/state compute does not " +fix_store_state.cpp: "Fix store/state compute does not " +fix_store_state.cpp: "Fix store/state compute array is accessed out-of-range"); +fix_store_state.cpp: "Custom integer vector for fix store/state does not exist"); +fix_store_state.cpp: "Custom floating point vector for fix store/state does not exist"); +fix_store_state.cpp: "Fix ID for fix store/state does not exist"); +fix_store_state.cpp: "Fix store/state fix does not calculate per-atom values"); +fix_store_state.cpp: "Fix store/state fix does not calculate a per-atom vector"); +fix_store_state.cpp: "Fix store/state fix does not calculate a per-atom array"); +fix_store_state.cpp: "Fix store/state fix array is accessed out-of-range"); +fix_store_state.cpp: "Fix for fix store/state not computed at compatible time"); +fix_store_state.cpp: error->all(FLERR,"Variable name for fix store/state does not exist"); +fix_store_state.cpp: error->all(FLERR,"Fix store/state variable is not atom-style variable"); +fix_store_state.cpp: // this fix produces either a per-atom vector or array +fix_store_state.cpp: // perform initial allocation of atom-based array +fix_store_state.cpp: // register with Atom class +fix_store_state.cpp: // zero the array since dump may access it on timestep 0 +fix_store_state.cpp: // zero the array since a variable may access it before first run +fix_store_state.cpp: // store current values for keywords but not for compute, fix, variable +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp: // unregister callbacks to this fix from Atom class +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp: // set indices and check validity of all computes,fixes,variables +fix_store_state.cpp: // no error check if end_of_step() will not be called +fix_store_state.cpp: error->all(FLERR,"Compute ID for fix store/state does not exist"); +fix_store_state.cpp: "Custom integer vector for fix store/state does not exist"); +fix_store_state.cpp: "Custom floating point vector for fix store/state does not exist"); +fix_store_state.cpp: error->all(FLERR,"Fix ID for fix store/state does not exist"); +fix_store_state.cpp: error->all(FLERR,"Variable name for fix store/state does not exist"); +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp: // if first invocation, store current values for compute, fix, variable +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp: // compute com if comflag set +fix_store_state.cpp: // if any compute/fix/variable and nevery, wrap with clear/add +fix_store_state.cpp: // fill vector or array with per-atom values +fix_store_state.cpp: // invoke compute if not previously invoked +fix_store_state.cpp: // access fix fields, guaranteed to be ready +fix_store_state.cpp: // access custom atom property fields +fix_store_state.cpp: // evaluate atom-style variable +fix_store_state.cpp: // if any compute/fix/variable and nevery, wrap with clear/add +fix_store_state.cpp: const bigint nextstep = (update->ntimestep/nevery)*nevery + nevery; +fix_store_state.cpp:/* ---------------------------------------------------------------------- +fix_store_state.cpp:------------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- +fix_store_state.cpp:------------------------------------------------------------------------- */ +fix_store_state.cpp: memory->grow(values,nmax,nvalues,"store/state:values"); +fix_store_state.cpp:/* ---------------------------------------------------------------------- +fix_store_state.cpp:------------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- +fix_store_state.cpp:------------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- +fix_store_state.cpp:------------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- +fix_store_state.cpp:------------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- +fix_store_state.cpp:------------------------------------------------------------------------- */ +fix_store_state.cpp: // skip to Nth set of extra values +fix_store_state.cpp:/* ---------------------------------------------------------------------- +fix_store_state.cpp:------------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- +fix_store_state.cpp:------------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- +fix_store_state.cpp: one method for every keyword fix store/state can archive +fix_store_state.cpp:------------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp: double invxprd = 1.0/domain->xprd; +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp: double invyprd = 1.0/domain->yprd; +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp: double invzprd = 1.0/domain->zprd; +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp: double invxprd = 1.0/domain->xprd; +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp: double invyprd = 1.0/domain->yprd; +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp: double invzprd = 1.0/domain->zprd; +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_store_state.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- +fix_temp_berendsen.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_temp_berendsen.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_temp_berendsen.cpp:------------------------------------------------------------------------- */ +fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_berendsen.cpp: if (narg != 6) error->all(FLERR,"Illegal fix temp/berendsen command"); +fix_temp_berendsen.cpp: // Berendsen thermostat should be applied every step +fix_temp_berendsen.cpp: // error checks +fix_temp_berendsen.cpp: error->all(FLERR,"Fix temp/berendsen period must be > 0.0"); +fix_temp_berendsen.cpp: // create a new compute temp style +fix_temp_berendsen.cpp: // id = fix-ID + temp, compute group = fix group +fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_berendsen.cpp: // delete temperature if fix created it +fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_berendsen.cpp: // check variable +fix_temp_berendsen.cpp: error->all(FLERR,"Variable name for fix temp/berendsen does not exist"); +fix_temp_berendsen.cpp: else error->all(FLERR,"Variable for fix temp/berendsen is invalid style"); +fix_temp_berendsen.cpp: error->all(FLERR,"Temperature ID for fix temp/berendsen does not exist"); +fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_berendsen.cpp: // there is nothing to do, if there are no degrees of freedom +fix_temp_berendsen.cpp: "Computed temperature for fix temp/berendsen cannot be 0.0"); +fix_temp_berendsen.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +fix_temp_berendsen.cpp: // set current t_target +fix_temp_berendsen.cpp: // if variable temp, evaluate variable, wrap with clear/add +fix_temp_berendsen.cpp: "Fix temp/berendsen variable returned negative temperature"); +fix_temp_berendsen.cpp: // rescale velocities by lamda +fix_temp_berendsen.cpp: // for BIAS: +fix_temp_berendsen.cpp: // temperature is current, so do not need to re-compute +fix_temp_berendsen.cpp: // OK to not test returned v = 0, since lamda is multiplied by v +fix_temp_berendsen.cpp: double lamda = sqrt(1.0 + update->dt/t_period*(t_target/t_current - 1.0)); +fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- +fix_temp_berendsen.cpp:------------------------------------------------------------------------- */ +fix_temp_csld.cpp:/* ---------------------------------------------------------------------- +fix_temp_csld.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_temp_csld.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_temp_csld.cpp:------------------------------------------------------------------------- */ +fix_temp_csld.cpp:/* ---------------------------------------------------------------------- +fix_temp_csld.cpp:------------------------------------------------------------------------- */ +fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csld.cpp: if (narg != 7) error->all(FLERR,"Illegal fix temp/csld command"); +fix_temp_csld.cpp: // CSLD thermostat should be applied every step +fix_temp_csld.cpp: // error checks +fix_temp_csld.cpp: if (t_period <= 0.0) error->all(FLERR,"Illegal fix temp/csld command"); +fix_temp_csld.cpp: if (seed <= 0) error->all(FLERR,"Illegal fix temp/csld command"); +fix_temp_csld.cpp: // create a new compute temp style +fix_temp_csld.cpp: // id = fix-ID + temp, compute group = fix group +fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csld.cpp: // delete temperature if fix created it +fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csld.cpp: // we cannot handle constraints via rattle or shake correctly. +fix_temp_csld.cpp: error->all(FLERR,"Fix temp/csld is not compatible with fix rattle or fix shake"); +fix_temp_csld.cpp: // check variable +fix_temp_csld.cpp: error->all(FLERR,"Variable name for fix temp/csld does not exist"); +fix_temp_csld.cpp: else error->all(FLERR,"Variable for fix temp/csld is invalid style"); +fix_temp_csld.cpp: error->all(FLERR,"Temperature ID for fix temp/csld does not exist"); +fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csld.cpp: // set current t_target +fix_temp_csld.cpp: // if variable temp, evaluate variable, wrap with clear/add +fix_temp_csld.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +fix_temp_csld.cpp: "Fix temp/csld variable returned negative temperature"); +fix_temp_csld.cpp: // there is nothing to do, if there are no degrees of freedom +fix_temp_csld.cpp: // adjust holding space, if needed and copy existing velocities +fix_temp_csld.cpp: // The CSLD thermostat is a linear combination of old and new velocities, +fix_temp_csld.cpp: // where the new ones are randomly chosen from a gaussian distribution. +fix_temp_csld.cpp: // see Bussi and Parrinello, Phys. Rev. E (2007). +fix_temp_csld.cpp: const double factor = 1.0/sqrt(m); +fix_temp_csld.cpp: // mixing factors +fix_temp_csld.cpp: const double c1 = exp(-update->dt/t_period); +fix_temp_csld.cpp: const double c2 = sqrt((1.0-c1*c1)*t_target/temperature->compute_scalar()); +fix_temp_csld.cpp: // tally the kinetic energy transferred between heat bath and system +fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csld.cpp:/* ---------------------------------------------------------------------- +fix_temp_csld.cpp:------------------------------------------------------------------------- */ +fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- +fix_temp_csvr.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_temp_csvr.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_temp_csvr.cpp:------------------------------------------------------------------------- */ +fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- +fix_temp_csvr.cpp:------------------------------------------------------------------------- */ +fix_temp_csvr.cpp: // make certain, that -log() doesn't overflow. +fix_temp_csvr.cpp: y=v2/v1; +fix_temp_csvr.cpp: if (am*log(x/am)-s*y < -700 || v1<0.00001) { +fix_temp_csvr.cpp: e=(1.0+y*y)*exp(am*log(x/am)-s*y); +fix_temp_csvr.cpp:/* ------------------------------------------------------------------- +fix_temp_csvr.cpp:---------------------------------------------------------------------- */ +fix_temp_csvr.cpp: return 2.0 * gamdev(nn / 2); +fix_temp_csvr.cpp: return 2.0 * gamdev((nn-1) / 2) + rr*rr; +fix_temp_csvr.cpp:/* ------------------------------------------------------------------- +fix_temp_csvr.cpp:---------------------------------------------------------------------- */ +fix_temp_csvr.cpp: const double c1 = exp(-update->dt/t_period); +fix_temp_csvr.cpp: const double c2 = (1.0-c1)*ekin_new/ekin_old/tdof; +fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csvr.cpp: if (narg != 7) error->all(FLERR,"Illegal fix temp/csvr command"); +fix_temp_csvr.cpp: // CSVR thermostat should be applied every step +fix_temp_csvr.cpp: // error checks +fix_temp_csvr.cpp: if (t_period <= 0.0) error->all(FLERR,"Illegal fix temp/csvr command"); +fix_temp_csvr.cpp: if (seed <= 0) error->all(FLERR,"Illegal fix temp/csvr command"); +fix_temp_csvr.cpp: // create a new compute temp style +fix_temp_csvr.cpp: // id = fix-ID + temp, compute group = fix group +fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csvr.cpp: // delete temperature if fix created it +fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csvr.cpp: // check variable +fix_temp_csvr.cpp: error->all(FLERR,"Variable name for fix temp/csvr does not exist"); +fix_temp_csvr.cpp: else error->all(FLERR,"Variable for fix temp/csvr is invalid style"); +fix_temp_csvr.cpp: error->all(FLERR,"Temperature ID for fix temp/csvr does not exist"); +fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csvr.cpp: // set current t_target +fix_temp_csvr.cpp: // if variable temp, evaluate variable, wrap with clear/add +fix_temp_csvr.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +fix_temp_csvr.cpp: "Fix temp/csvr variable returned negative temperature"); +fix_temp_csvr.cpp: // there is nothing to do, if there are no degrees of freedom +fix_temp_csvr.cpp: // compute velocity scaling factor on root node and broadcast +fix_temp_csvr.cpp: // tally the kinetic energy transferred between heat bath and system +fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- +fix_temp_csvr.cpp:------------------------------------------------------------------------- */ +fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- +fix_temp_rescale.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_temp_rescale.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_temp_rescale.cpp:------------------------------------------------------------------------- */ +fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_rescale.cpp: if (narg < 8) error->all(FLERR,"Illegal fix temp/rescale command"); +fix_temp_rescale.cpp: if (nevery <= 0) error->all(FLERR,"Illegal fix temp/rescale command"); +fix_temp_rescale.cpp: // create a new compute temp +fix_temp_rescale.cpp: // id = fix-ID + temp, compute group = fix group +fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_rescale.cpp: // delete temperature if fix created it +fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_rescale.cpp: // check variable +fix_temp_rescale.cpp: error->all(FLERR,"Variable name for fix temp/rescale does not exist"); +fix_temp_rescale.cpp: else error->all(FLERR,"Variable for fix temp/rescale is invalid style"); +fix_temp_rescale.cpp: error->all(FLERR,"Temperature ID for fix temp/rescale does not exist"); +fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_rescale.cpp: // there is nothing to do, if there are no degrees of freedom +fix_temp_rescale.cpp: // protect against division by zero +fix_temp_rescale.cpp: error->all(FLERR,"Computed temperature for fix temp/rescale cannot be 0.0"); +fix_temp_rescale.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +fix_temp_rescale.cpp: // set current t_target +fix_temp_rescale.cpp: // if variable temp, evaluate variable, wrap with clear/add +fix_temp_rescale.cpp: "Fix temp/rescale variable returned negative temperature"); +fix_temp_rescale.cpp: // rescale velocity of appropriate atoms if outside window +fix_temp_rescale.cpp: // for BIAS: +fix_temp_rescale.cpp: // temperature is current, so do not need to re-compute +fix_temp_rescale.cpp: // OK to not test returned v = 0, since factor is multiplied by v +fix_temp_rescale.cpp: double factor = sqrt(t_target/t_current); +fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ +fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- +fix_temp_rescale.cpp:------------------------------------------------------------------------- */ +fix_tmd.cpp:/* ---------------------------------------------------------------------- +fix_tmd.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_tmd.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_tmd.cpp:------------------------------------------------------------------------- */ +fix_tmd.cpp:/* ---------------------------------------------------------------------- +fix_tmd.cpp:------------------------------------------------------------------------- */ +fix_tmd.cpp:/* ---------------------------------------------------------------------- */ +fix_tmd.cpp: // perform initial allocation of atom-based arrays +fix_tmd.cpp: // register with Atom class +fix_tmd.cpp: // make sure an atom map exists before reading in target coordinates +fix_tmd.cpp: // read from arg[4] and store coordinates of final target in xf +fix_tmd.cpp: // open arg[6] statistics file and write header +fix_tmd.cpp: // rho_start = initial rho +fix_tmd.cpp: // xold = initial x or 0.0 if not in group +fix_tmd.cpp: rho_start = sqrt(rho_start_total/masstotal); +fix_tmd.cpp:/* ---------------------------------------------------------------------- */ +fix_tmd.cpp: // unregister callbacks to this fix from Atom class +fix_tmd.cpp: // delete locally stored arrays +fix_tmd.cpp:/* ---------------------------------------------------------------------- */ +fix_tmd.cpp:/* ---------------------------------------------------------------------- */ +fix_tmd.cpp: // check that no integrator fix comes after a TMD fix +fix_tmd.cpp: // timesteps +fix_tmd.cpp:/* ---------------------------------------------------------------------- */ +fix_tmd.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +fix_tmd.cpp: // compute the Lagrange multiplier +fix_tmd.cpp: a = abetotal[0]/masstotal; +fix_tmd.cpp: b = 2.0*abetotal[1]/masstotal; +fix_tmd.cpp: e = abetotal[2]/masstotal; +fix_tmd.cpp: if (b >= 0) gamma_max = (-b - sqrt(d))/(2*a); +fix_tmd.cpp: else gamma_max = (-b + sqrt(d))/(2*a); +fix_tmd.cpp: gamma_back = c/(a*gamma_max); +fix_tmd.cpp: if (b >= 0) gamma_max = (-b - sqrt(d))/(2*a); +fix_tmd.cpp: else gamma_max = (-b + sqrt(d))/(2*a); +fix_tmd.cpp: gamma_forward = c/(a*gamma_max); +fix_tmd.cpp: // stat write of mean constraint force based on previous time step constraint +fix_tmd.cpp: (-frtotal - kttotal/dtv/dtf)*(rho_target - rho_old)/rho_old; +fix_tmd.cpp: lambda = gamma_back*rho_old*masstotal/dtv/dtf; +fix_tmd.cpp: // apply the constraint and save constrained positions for next step +fix_tmd.cpp: dtfm = dtf / mass[type[i]]; +fix_tmd.cpp: v[i][0] += gamma_forward*dxold/dtv; +fix_tmd.cpp: f[i][0] += gamma_forward*dxold/dtv/dtfm; +fix_tmd.cpp: v[i][1] += gamma_forward*dyold/dtv; +fix_tmd.cpp: f[i][1] += gamma_forward*dyold/dtv/dtfm; +fix_tmd.cpp: v[i][2] += gamma_forward*dzold/dtv; +fix_tmd.cpp: f[i][2] += gamma_forward*dzold/dtv/dtfm; +fix_tmd.cpp:/* ---------------------------------------------------------------------- */ +fix_tmd.cpp: if (flag) return; // only used by NPT,NPH +fix_tmd.cpp:/* ---------------------------------------------------------------------- +fix_tmd.cpp:------------------------------------------------------------------------- */ +fix_tmd.cpp:/* ---------------------------------------------------------------------- +fix_tmd.cpp:------------------------------------------------------------------------- */ +fix_tmd.cpp:/* ---------------------------------------------------------------------- +fix_tmd.cpp:------------------------------------------------------------------------- */ +fix_tmd.cpp:/* ---------------------------------------------------------------------- +fix_tmd.cpp:------------------------------------------------------------------------- */ +fix_tmd.cpp:/* ---------------------------------------------------------------------- +fix_tmd.cpp:------------------------------------------------------------------------- */ +fix_tmd.cpp:/* ---------------------------------------------------------------------- +fix_tmd.cpp:------------------------------------------------------------------------- */ +fix_tmd.cpp: MPI_Bcast(&eof,sizeof(char *)/sizeof(char),MPI_CHAR,0,world); +fix_tmd.cpp: // clean up +fix_tmd.cpp: // check that all atoms in group were listed in target file +fix_tmd.cpp: // set xf = 0.0 for atoms not in group +fix_tmd.cpp:/* ---------------------------------------------------------------------- +fix_tmd.cpp:------------------------------------------------------------------------- */ +fix_tmd.cpp:/* ---------------------------------------------------------------------- */ +fix_vector.cpp:/* ---------------------------------------------------------------------- +fix_vector.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_vector.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_vector.cpp:------------------------------------------------------------------------- */ +fix_vector.cpp:/* ---------------------------------------------------------------------- */ +fix_vector.cpp: // setup and error check +fix_vector.cpp: // for fix inputs, check that fix frequency is acceptable +fix_vector.cpp: // this fix produces either a global vector or array +fix_vector.cpp: // intensive/extensive flags set by compute,fix,variable that produces value +fix_vector.cpp: "intensive/extensive from these inputs"); +fix_vector.cpp: // ncount = current size of vector or array +fix_vector.cpp: // nextstep = next step on which end_of_step does something +fix_vector.cpp: // add nextstep to all computes that store invocation times +fix_vector.cpp: // since don't know a priori which are invoked by this fix +fix_vector.cpp: // once in end_of_step() can set timestep for ones actually invoked +fix_vector.cpp: nextstep = (update->ntimestep/nevery)*nevery; +fix_vector.cpp: // initialstep = first step the vector/array will store values for +fix_vector.cpp:/* ---------------------------------------------------------------------- */ +fix_vector.cpp:/* ---------------------------------------------------------------------- */ +fix_vector.cpp:/* ---------------------------------------------------------------------- */ +fix_vector.cpp: // set current indices for all computes,fixes,variables +fix_vector.cpp: // reallocate vector or array for accumulated size at end of run +fix_vector.cpp: // use endstep to allow for subsequent runs with "pre no" +fix_vector.cpp: // nsize = # of entries from initialstep to finalstep +fix_vector.cpp: bigint finalstep = update->endstep/nevery * nevery; +fix_vector.cpp: ncountmax = (finalstep-initialstep)/nevery + 1; +fix_vector.cpp:/* ---------------------------------------------------------------------- +fix_vector.cpp:------------------------------------------------------------------------- */ +fix_vector.cpp:/* ---------------------------------------------------------------------- */ +fix_vector.cpp: // skip if not step which requires doing something +fix_vector.cpp: // accumulate results of computes,fixes,variables to local copy +fix_vector.cpp: // compute/fix/variable may invoke computes so wrap with clear/add +fix_vector.cpp: // invoke compute if not previously invoked +fix_vector.cpp: // access fix fields, guaranteed to be ready +fix_vector.cpp: // evaluate equal-style or vector-style variable +fix_vector.cpp: // trigger computes on next needed step +fix_vector.cpp: // update size of vector or array +fix_vector.cpp:/* ---------------------------------------------------------------------- +fix_vector.cpp:------------------------------------------------------------------------- */ +fix_vector.cpp:/* ---------------------------------------------------------------------- +fix_vector.cpp:------------------------------------------------------------------------- */ +fix_viscous.cpp:/* ---------------------------------------------------------------------- +fix_viscous.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_viscous.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_viscous.cpp:------------------------------------------------------------------------- */ +fix_viscous.cpp:/* ---------------------------------------------------------------------- */ +fix_viscous.cpp: // optional args +fix_viscous.cpp:/* ---------------------------------------------------------------------- */ +fix_viscous.cpp:/* ---------------------------------------------------------------------- */ +fix_viscous.cpp:/* ---------------------------------------------------------------------- */ +fix_viscous.cpp:/* ---------------------------------------------------------------------- */ +fix_viscous.cpp:/* ---------------------------------------------------------------------- */ +fix_viscous.cpp:/* ---------------------------------------------------------------------- */ +fix_viscous.cpp: // apply drag force to atoms in group +fix_viscous.cpp: // direction is opposed to velocity vector +fix_viscous.cpp: // magnitude depends on atom type +fix_viscous.cpp:/* ---------------------------------------------------------------------- */ +fix_viscous.cpp:/* ---------------------------------------------------------------------- */ +fix_wall.cpp:/* ---------------------------------------------------------------------- +fix_wall.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_wall.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_wall.cpp:------------------------------------------------------------------------- */ +fix_wall.cpp:/* ---------------------------------------------------------------------- */ +fix_wall.cpp: // parse args +fix_wall.cpp: int dim = wallwhich[nwall] / 2; +fix_wall.cpp: // error checks +fix_wall.cpp: error->all(FLERR,"Cannot use fix wall zlo/zhi for a 2d simulation"); +fix_wall.cpp: // scale factors for wall position for CONSTANT and VARIABLE walls +fix_wall.cpp: // set xflag if any wall positions are variable +fix_wall.cpp: // set varflag if any wall positions or parameters are variable +fix_wall.cpp: // set wstyle to VARIABLE if either epsilon or sigma is a variable +fix_wall.cpp:/* ---------------------------------------------------------------------- */ +fix_wall.cpp:/* ---------------------------------------------------------------------- */ +fix_wall.cpp: // FLD implicit needs to invoke wall forces before pair style +fix_wall.cpp:/* ---------------------------------------------------------------------- */ +fix_wall.cpp: // setup coefficients +fix_wall.cpp:/* ---------------------------------------------------------------------- */ +fix_wall.cpp:/* ---------------------------------------------------------------------- */ +fix_wall.cpp:/* ---------------------------------------------------------------------- +fix_wall.cpp:------------------------------------------------------------------------- */ +fix_wall.cpp:/* ---------------------------------------------------------------------- */ +fix_wall.cpp: // coord = current position of wall +fix_wall.cpp: // evaluate variables if necessary, wrap with clear/add +fix_wall.cpp: // for epsilon/sigma variables need to re-invoke precompute() +fix_wall.cpp:/* ---------------------------------------------------------------------- */ +fix_wall.cpp:/* ---------------------------------------------------------------------- */ +fix_wall.cpp:/* ---------------------------------------------------------------------- +fix_wall.cpp:------------------------------------------------------------------------- */ +fix_wall.cpp: // only sum across procs one time +fix_wall.cpp:/* ---------------------------------------------------------------------- +fix_wall.cpp:------------------------------------------------------------------------- */ +fix_wall.cpp: // only sum across procs one time +fix_wall_harmonic.cpp:/* ---------------------------------------------------------------------- +fix_wall_harmonic.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_wall_harmonic.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_wall_harmonic.cpp:------------------------------------------------------------------------- */ +fix_wall_harmonic.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_harmonic.cpp:/* ---------------------------------------------------------------------- +fix_wall_harmonic.cpp:------------------------------------------------------------------------- */ +fix_wall_harmonic.cpp: int dim = which / 2; +fix_wall_lj1043.cpp:/* ---------------------------------------------------------------------- +fix_wall_lj1043.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_wall_lj1043.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_wall_lj1043.cpp:------------------------------------------------------------------------- */ +fix_wall_lj1043.cpp:/* ---------------------------------------------------------------------- +fix_wall_lj1043.cpp:------------------------------------------------------------------------- */ +fix_wall_lj1043.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_lj1043.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_lj1043.cpp: coeff1[m] = MY_2PI * 2.0/5.0 * epsilon[m] * pow(sigma[m],10.0); +fix_wall_lj1043.cpp: coeff3[m] = MY_2PI * pow(2.0,1/2.0) / 3 * epsilon[m] * pow(sigma[m],3.0); +fix_wall_lj1043.cpp: coeff4[m] = 0.61 / pow(2.0,1/2.0) * sigma[m]; +fix_wall_lj1043.cpp: double rinv = 1.0/cutoff[m]; +fix_wall_lj1043.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_lj1043.cpp: int dim = which / 2; +fix_wall_lj1043.cpp: rinv = 1.0/delta; +fix_wall_lj126.cpp:/* ---------------------------------------------------------------------- +fix_wall_lj126.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_wall_lj126.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_wall_lj126.cpp:------------------------------------------------------------------------- */ +fix_wall_lj126.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_lj126.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_lj126.cpp: double r2inv = 1.0/(cutoff[m]*cutoff[m]); +fix_wall_lj126.cpp:/* ---------------------------------------------------------------------- +fix_wall_lj126.cpp:------------------------------------------------------------------------- */ +fix_wall_lj126.cpp: int dim = which / 2; +fix_wall_lj126.cpp: rinv = 1.0/delta; +fix_wall_lj93.cpp:/* ---------------------------------------------------------------------- +fix_wall_lj93.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_wall_lj93.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_wall_lj93.cpp:------------------------------------------------------------------------- */ +fix_wall_lj93.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_lj93.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_lj93.cpp: coeff1[m] = 6.0/5.0 * epsilon[m] * pow(sigma[m],9.0); +fix_wall_lj93.cpp: coeff3[m] = 2.0/15.0 * epsilon[m] * pow(sigma[m],9.0); +fix_wall_lj93.cpp: double rinv = 1.0/cutoff[m]; +fix_wall_lj93.cpp:/* ---------------------------------------------------------------------- +fix_wall_lj93.cpp:------------------------------------------------------------------------- */ +fix_wall_lj93.cpp: int dim = which / 2; +fix_wall_lj93.cpp: rinv = 1.0/delta; +fix_wall_reflect.cpp:/* ---------------------------------------------------------------------- +fix_wall_reflect.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_wall_reflect.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_wall_reflect.cpp:------------------------------------------------------------------------- */ +fix_wall_reflect.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_reflect.cpp: if (narg < 4) error->all(FLERR,"Illegal fix wall/reflect command"); +fix_wall_reflect.cpp: // parse args +fix_wall_reflect.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix wall/reflect command"); +fix_wall_reflect.cpp: error->all(FLERR,"Wall defined twice in fix wall/reflect command"); +fix_wall_reflect.cpp: int dim = wallwhich[nwall] / 2; +fix_wall_reflect.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal wall/reflect command"); +fix_wall_reflect.cpp: else error->all(FLERR,"Illegal fix wall/reflect command"); +fix_wall_reflect.cpp: } else error->all(FLERR,"Illegal fix wall/reflect command"); +fix_wall_reflect.cpp: // error check +fix_wall_reflect.cpp: error->all(FLERR,"Cannot use fix wall/reflect in periodic dimension"); +fix_wall_reflect.cpp: error->all(FLERR,"Cannot use fix wall/reflect in periodic dimension"); +fix_wall_reflect.cpp: error->all(FLERR,"Cannot use fix wall/reflect in periodic dimension"); +fix_wall_reflect.cpp: "Cannot use fix wall/reflect zlo/zhi for a 2d simulation"); +fix_wall_reflect.cpp: // scale factors for CONSTANT and VARIABLE walls +fix_wall_reflect.cpp: // set varflag if any wall positions are variable +fix_wall_reflect.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_reflect.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_reflect.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_reflect.cpp: error->all(FLERR,"Variable name for fix wall/reflect does not exist"); +fix_wall_reflect.cpp: error->all(FLERR,"Variable for fix wall/reflect is invalid style"); +fix_wall_reflect.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_reflect.cpp: // coord = current position of wall +fix_wall_reflect.cpp: // evaluate variable if necessary, wrap with clear/add +fix_wall_reflect.cpp: dim = wallwhich[m] / 2; +fix_wall_region.cpp:/* ---------------------------------------------------------------------- +fix_wall_region.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +fix_wall_region.cpp: http://lammps.sandia.gov, Sandia National Laboratories +fix_wall_region.cpp:------------------------------------------------------------------------- */ +fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_region.cpp: if (narg != 8) error->all(FLERR,"Illegal fix wall/region command"); +fix_wall_region.cpp: // parse args +fix_wall_region.cpp: error->all(FLERR,"Region ID for fix wall/region does not exist"); +fix_wall_region.cpp: else error->all(FLERR,"Illegal fix wall/region command"); +fix_wall_region.cpp: if (cutoff <= 0.0) error->all(FLERR,"Fix wall/region cutoff <= 0.0"); +fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_region.cpp: // set index and check validity of region +fix_wall_region.cpp: error->all(FLERR,"Region ID for fix wall/region does not exist"); +fix_wall_region.cpp: // error checks for style COLLOID +fix_wall_region.cpp: // insure all particles in group are extended particles +fix_wall_region.cpp: error->all(FLERR,"Fix wall/region colloid requires atom style sphere"); +fix_wall_region.cpp: error->all(FLERR,"Fix wall/region colloid requires extended particles"); +fix_wall_region.cpp: // setup coefficients for each style +fix_wall_region.cpp: coeff1 = 6.0/5.0 * epsilon * pow(sigma,9.0); +fix_wall_region.cpp: coeff3 = 2.0/15.0 * epsilon * pow(sigma,9.0); +fix_wall_region.cpp: double rinv = 1.0/cutoff; +fix_wall_region.cpp: double r2inv = 1.0/(cutoff*cutoff); +fix_wall_region.cpp: coeff1 = -4.0/315.0 * epsilon * pow(sigma,6.0); +fix_wall_region.cpp: coeff2 = -2.0/3.0 * epsilon; +fix_wall_region.cpp: coeff3 = epsilon * pow(sigma,6.0)/7560.0; +fix_wall_region.cpp: coeff4 = epsilon/6.0; +fix_wall_region.cpp: double rinv = 1.0/cutoff; +fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_region.cpp: // region->match() insures particle is in region or on surface, else error +fix_wall_region.cpp: // if returned contact dist r = 0, is on surface, also an error +fix_wall_region.cpp: // in COLLOID case, r <= radius is an error +fix_wall_region.cpp: // initilize ewall after region->prematch(), +fix_wall_region.cpp: // so a dynamic region can access last timestep values +fix_wall_region.cpp: } else rinv = 1.0/region->contact[m].r; +fix_wall_region.cpp: "used in fix wall/region"); +fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ +fix_wall_region.cpp:/* ---------------------------------------------------------------------- +fix_wall_region.cpp:------------------------------------------------------------------------- */ +fix_wall_region.cpp: // only sum across procs one time +fix_wall_region.cpp:/* ---------------------------------------------------------------------- +fix_wall_region.cpp:------------------------------------------------------------------------- */ +fix_wall_region.cpp: // only sum across procs one time +fix_wall_region.cpp:/* ---------------------------------------------------------------------- +fix_wall_region.cpp: LJ 9/3 interaction for particle with wall +fix_wall_region.cpp:------------------------------------------------------------------------- */ +fix_wall_region.cpp: double rinv = 1.0/r; +fix_wall_region.cpp:/* ---------------------------------------------------------------------- +fix_wall_region.cpp: LJ 12/6 interaction for particle with wall +fix_wall_region.cpp:------------------------------------------------------------------------- */ +fix_wall_region.cpp: double rinv = 1.0/r; +fix_wall_region.cpp:/* ---------------------------------------------------------------------- +fix_wall_region.cpp:------------------------------------------------------------------------- */ +fix_wall_region.cpp: double rinv = 1.0/delta2; +fix_wall_region.cpp: double rinv2 = 1.0/r2; +fix_wall_region.cpp: double rinv3 = 1.0/r3; +fix_wall_region.cpp:/* ---------------------------------------------------------------------- +fix_wall_region.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +force.cpp: http://lammps.sandia.gov, Sandia National Laboratories +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- */ +force.cpp: // fill pair map with pair styles listed in style_pair.h +force.cpp:/* ---------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- */ +force.cpp: qqrd2e = qqr2e/dielectric; +force.cpp: if (kspace) kspace->init(); // kspace must come before pair +force.cpp: if (pair) pair->init(); // so g_ewald is defined +force.cpp:/* ---------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp: if trysuffix = 1, try first with suffix1/2 appended +force.cpp: return sflag = 0 for no suffix added, 1 or 2 for suffix1/2 added +force.cpp:------------------------------------------------------------------------- */ +force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); +force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix2); +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp: else if (strstr(pair_style,"hybrid/overlay")) { +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); +force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix2); +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); +force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); +force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix2); +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); +force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix2); +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp: sprintf(estyle,"%s/%s",arg[0],lmp->suffix); +force.cpp: sprintf(estyle,"%s/%s",arg[0],lmp->suffix2); +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp: if sflag = 1/2, append suffix or suffix2 to style +force.cpp:------------------------------------------------------------------------- */ +force.cpp: if (sflag == 1) sprintf(estyle,"%s/%s",style,lmp->suffix); +force.cpp: else sprintf(estyle,"%s/%s",style,lmp->suffix2); +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp: // defaults, but do not reset special_extra +force.cpp: special_coul[3] = 5.0/6.0; +force.cpp: } else if (strcmp(arg[iarg],"lj/coul") == 0) { +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp: // attempt to open file directly +force.cpp: // if successful, return ptr +force.cpp: // try the environment variable directory +force.cpp: newpath[len1] = '/'; +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp: // skip over the disk drive part of windows pathnames +force.cpp: if ((*path == '\\') || (*path == '/')) pot = path + 1; +force.cpp: if (*path == '/') pot = path + 1; +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +force.cpp:/* ---------------------------------------------------------------------- +force.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +group.cpp: http://lammps.sandia.gov, Sandia National Laboratories +group.cpp:------------------------------------------------------------------------- */ +group.cpp:// allocate space for static class variable +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: // create "all" group +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: // delete the group if not being used elsewhere +group.cpp: // clear mask of each atom assigned to this group +group.cpp: // clear the group +group.cpp: // find group in existing list +group.cpp: // add a new group if igroup = -1 +group.cpp: // style = region +group.cpp: // add to group if atom is in region +group.cpp: // style = type, molecule, id +group.cpp: // add to group if atom matches type/molecule/id or condition +group.cpp: // args = logical condition +group.cpp: // add to group if meets condition +group.cpp: // args = list of values +group.cpp: // add to group if attribute matches value or sequence +group.cpp: // style = variable +group.cpp: // add to group if atom-atyle variable is non-zero +group.cpp: // aflag = evaluation of per-atom variable +group.cpp: // add to group if per-atom variable evaluated to non-zero +group.cpp: // style = include +group.cpp: // style = subtract +group.cpp: // add to group if in 1st group in list +group.cpp: // remove atoms if they are in any of the other groups +group.cpp: // AND with inverse mask removes the atom from group +group.cpp: // style = union +group.cpp: // add to group if in any other group in list +group.cpp: // style = intersect +group.cpp: // add to group if in all groups in list +group.cpp: // style = dynamic +group.cpp: // create a new FixGroup to dynamically determine atoms in group +group.cpp: // if group is already dynamic, delete existing FixGroup +group.cpp: // style = static +group.cpp: // remove dynamic FixGroup if necessary +group.cpp: // not a valid group style +group.cpp: // print stats for changed group +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: // find group in existing list +group.cpp: // add a new group if igroup = -1 +group.cpp: // add atoms to group whose flags are set +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: // hash = unique molecule IDs of atoms already in group +group.cpp: // list = set of unique molecule IDs for atoms to add +group.cpp: // pass list to all other procs via comm->ring() +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: // use count to not change restart format with deleted groups +group.cpp: // remove this on next major release +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: // delete existing group names +group.cpp: // atom masks will be overwritten by reading of restart file +group.cpp: // use count to not change restart format with deleted groups +group.cpp: // remove this on next major release +group.cpp:// ---------------------------------------------------------------------- +group.cpp:// computations on a group of atoms +group.cpp:// ---------------------------------------------------------------------- +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: // compute extent across all procs +group.cpp: // flip sign of MIN to do it in one Allreduce MAX +group.cpp: // set box by extent in shrink-wrapped dims +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: // compute extent across all procs +group.cpp: // flip sign of MIN to do it in one Allreduce MAX +group.cpp: // set box by extent in shrink-wrapped dims +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: cm[0] /= masstotal; +group.cpp: cm[1] /= masstotal; +group.cpp: cm[2] /= masstotal; +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: cm[0] /= masstotal; +group.cpp: cm[1] /= masstotal; +group.cpp: cm[2] /= masstotal; +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: cm[0] /= masstotal; +group.cpp: cm[1] /= masstotal; +group.cpp: cm[2] /= masstotal; +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: cm[0] /= masstotal; +group.cpp: cm[1] /= masstotal; +group.cpp: cm[2] /= masstotal; +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: if (masstotal > 0.0) return sqrt(rg_all/masstotal); +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: if (masstotal > 0.0) return sqrt(rg_all/masstotal); +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp:/* ---------------------------------------------------------------------- +group.cpp:------------------------------------------------------------------------- */ +group.cpp: // determinant = triple product of rows of inertia matrix +group.cpp: // non-singular I matrix +group.cpp: // use L = Iw, inverting I to solve for w +group.cpp: // this should give exact zeroing of angular momentum by velocity command +group.cpp: inverse[i][j] /= determinant; +group.cpp: // handle (nearly) singular I matrix +group.cpp: // typically due to 2-atom group or linear molecule +group.cpp: // use jacobi() and angmom_to_omega() to calculate valid omega +group.cpp: // less exact answer than matrix inversion, due to iterative Jacobi method +group.cpp: // enforce 3 evectors as a right-handed coordinate system +group.cpp: // flip 3rd vector if needed +group.cpp: // if any principal moment < scaled EPSILON, set to 0.0 +group.cpp: // calculate omega using diagonalized inertia matrix +image.cpp:/* ---------------------------------------------------------------------- +image.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +image.cpp: http://lammps.sandia.gov, Sandia National Laboratories +image.cpp:------------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- */ +image.cpp: // defaults for 3d viz +image.cpp: theta = 60.0 * MY_PI/180.0; +image.cpp: phi = 30.0 * MY_PI/180.0; +image.cpp: // colors +image.cpp: // define nmap colormaps, all with default settings +image.cpp: // static parameters +image.cpp: FOV = MY_PI/6.0; // 30 degrees +image.cpp: keyLightPhi = -MY_PI4; // -45 degrees +image.cpp: keyLightTheta = MY_PI/6.0; // 30 degrees +image.cpp: fillLightPhi = MY_PI/6.0; // 30 degrees +image.cpp: backLightPhi = MY_PI; // 180 degrees +image.cpp: backLightTheta = MY_PI/12.0; // 15 degrees +image.cpp:/* ---------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp: // camDir points at the camera, view direction = -camDir +image.cpp: // normalize up vector +image.cpp: // adjust camDir by epsilon if camDir and up are parallel +image.cpp: // do this by tweaking view direction, not up direction +image.cpp: // try to insure continuous images as changing view passes thru up +image.cpp: // sufficient to handle common cases where theta = 0 or 180 is degenerate? +image.cpp: // camUp = camDir x (Up x camDir) +image.cpp: // zdist = camera distance = function of zoom & bounding box +image.cpp: // camPos = camera position = function of camDir and zdist +image.cpp: zdist /= tan(FOV); +image.cpp: zdist /= zoom; +image.cpp: // light directions in terms of -camDir = z +image.cpp: // adjust shinyness of the reflection +image.cpp: // adjust strength of the SSAO +image.cpp: SSAOJitter = MY_PI / 12; +image.cpp: // param for rasterizing spheres +image.cpp: tanPerPixel = -(maxdel / (double) height); +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp: nhalf /= 2; +image.cpp: nhalf /= 2; +image.cpp: // extra SSAO enhancement +image.cpp: // bcast full image to all procs +image.cpp: // each works on subset of pixels +image.cpp: // gather result back to proc 0 +image.cpp: int pixelPart = height/nprocs * width*3; +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp: draw XYZ axes in red/green/blue +image.cpp:------------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp: -tanPerPixel / zoom; +image.cpp: double pixelRadiusFull = radius / pixelWidth; +image.cpp: double xf = xmap / pixelWidth; +image.cpp: double yf = ymap / pixelWidth; +image.cpp: // shift 0,0 to screen center (vs lower left) +image.cpp: xc += width / 2; +image.cpp: yc += height / 2; +image.cpp: // outside the sphere in the projected image +image.cpp: surface[0] /= radius; +image.cpp: surface[1] /= radius; +image.cpp: surface[2] /= radius; +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp: -tanPerPixel / zoom; +image.cpp: double pixelHalfWidthFull = halfWidth / pixelWidth; +image.cpp: double xf = xmap / pixelWidth; +image.cpp: double yf = ymap / pixelWidth; +image.cpp: // shift 0,0 to screen center (vs lower left) +image.cpp: xc += width / 2; +image.cpp: yc += height / 2; +image.cpp: // iterate through each of the 6 axis-oriented planes of the box +image.cpp: // only render up to 3 which are facing the camera +image.cpp: // these checks short circuit a dot product, testing for > 0 +image.cpp: if (camDir[dim] > 0) { // positive faces camera +image.cpp: t = (radius - surface[dim]) / camDir[dim]; +image.cpp: } else if (camDir[dim] < 0) { // negative faces camera +image.cpp: t = -(radius + surface[dim]) / camDir[dim]; +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp: if (sflag/2) draw_sphere(y,surfaceColor,diameter); +image.cpp: MathExtra::scale3(1.0/len,zaxis); +image.cpp: -tanPerPixel / zoom; +image.cpp: double xf = xmap / pixelWidth; +image.cpp: double yf = ymap / pixelWidth; +image.cpp: // shift 0,0 to screen center (vs lower left) +image.cpp: xc += width / 2; +image.cpp: yc += height / 2; +image.cpp: double pixelHalfWidthFull = (rasterWidth * 0.5) / pixelWidth; +image.cpp: double pixelHalfHeightFull = (rasterHeight * 0.5) / pixelWidth; +image.cpp: double t = (-b + partial) / (2*a); +image.cpp: double t2 = (-b - partial) / (2*a); +image.cpp: // convert surface into the surface normal +image.cpp: normal[0] = surface[0] / radius; +image.cpp: normal[1] = surface[1] / radius; +image.cpp: // in camera space +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp: MathExtra::scale3 (1.0 / d1len, d1); +image.cpp: MathExtra::scale3 (1.0 / d2len, d2); +image.cpp: invndotd = 1.0 / MathExtra::dot3(normal, camDir); +image.cpp: // invalid triangle (parallel) +image.cpp: -tanPerPixel / zoom; +image.cpp: double xf = xmap / pixelWidth; +image.cpp: double yf = ymap / pixelWidth; +image.cpp: // shift 0,0 to screen center (vs lower left) +image.cpp: xc += width / 2; +image.cpp: yc += height / 2; +image.cpp: double pixelLeftFull = rasterLeft / pixelWidth; +image.cpp: double pixelRightFull = rasterRight / pixelWidth; +image.cpp: double pixelDownFull = rasterDown / pixelWidth; +image.cpp: double pixelUpFull = rasterUp / pixelWidth; +image.cpp: // test inside the triangle +image.cpp:/* ---------------------------------------------------------------------- */ +image.cpp: // store only the tangent relative to the camera normal (0,0,-1) +image.cpp:/* ---------------------------------------------------------------------- */ +image.cpp: // used for rasterizing the spheres +image.cpp: double delTheta = 2.0*MY_PI / SSAOSamples; +image.cpp: // typical neighborhood value for shading +image.cpp: -tanPerPixel / zoom; +image.cpp: int pixelRadius = (int) trunc (SSAORadius / pixelWidth + 0.5); +image.cpp: int hPart = height / nprocs; +image.cpp: // multiply by z cross surface tangent +image.cpp: // so that dot (aka cos) works here +image.cpp: // Bresenham's line algorithm to march over depthBuffer +image.cpp: delta = fabs(hy / hx); +image.cpp: delta = fabs(hx / hy); +image.cpp: // initialize with one step +image.cpp: // because the center point doesn't need testing +image.cpp: // cdepth - depthBuffer B/C we want it in the negative z direction +image.cpp: double h = atan ((cdepth - minPeak) / peakLen); +image.cpp: ao /= (double)SSAOSamples; +image.cpp:/* ---------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp: return static/dynamic status of color map index +image.cpp:------------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp: set min/max bounds of dynamic color map index +image.cpp:------------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp: {240/255.0, 248/255.0, 255/255.0}, +image.cpp: {250/255.0, 235/255.0, 215/255.0}, +image.cpp: {0/255.0, 255/255.0, 255/255.0}, +image.cpp: {127/255.0, 255/255.0, 212/255.0}, +image.cpp: {240/255.0, 255/255.0, 255/255.0}, +image.cpp: {245/255.0, 245/255.0, 220/255.0}, +image.cpp: {255/255.0, 228/255.0, 196/255.0}, +image.cpp: {0/255.0, 0/255.0, 0/255.0}, +image.cpp: {255/255.0, 255/255.0, 205/255.0}, +image.cpp: {0/255.0, 0/255.0, 255/255.0}, +image.cpp: {138/255.0, 43/255.0, 226/255.0}, +image.cpp: {165/255.0, 42/255.0, 42/255.0}, +image.cpp: {222/255.0, 184/255.0, 135/255.0}, +image.cpp: {95/255.0, 158/255.0, 160/255.0}, +image.cpp: {127/255.0, 255/255.0, 0/255.0}, +image.cpp: {210/255.0, 105/255.0, 30/255.0}, +image.cpp: {255/255.0, 127/255.0, 80/255.0}, +image.cpp: {100/255.0, 149/255.0, 237/255.0}, +image.cpp: {255/255.0, 248/255.0, 220/255.0}, +image.cpp: {220/255.0, 20/255.0, 60/255.0}, +image.cpp: {0/255.0, 255/255.0, 255/255.0}, +image.cpp: {0/255.0, 0/255.0, 139/255.0}, +image.cpp: {0/255.0, 139/255.0, 139/255.0}, +image.cpp: {184/255.0, 134/255.0, 11/255.0}, +image.cpp: {169/255.0, 169/255.0, 169/255.0}, +image.cpp: {0/255.0, 100/255.0, 0/255.0}, +image.cpp: {189/255.0, 183/255.0, 107/255.0}, +image.cpp: {139/255.0, 0/255.0, 139/255.0}, +image.cpp: {85/255.0, 107/255.0, 47/255.0}, +image.cpp: {255/255.0, 140/255.0, 0/255.0}, +image.cpp: {153/255.0, 50/255.0, 204/255.0}, +image.cpp: {139/255.0, 0/255.0, 0/255.0}, +image.cpp: {233/255.0, 150/255.0, 122/255.0}, +image.cpp: {143/255.0, 188/255.0, 143/255.0}, +image.cpp: {72/255.0, 61/255.0, 139/255.0}, +image.cpp: {47/255.0, 79/255.0, 79/255.0}, +image.cpp: {0/255.0, 206/255.0, 209/255.0}, +image.cpp: {148/255.0, 0/255.0, 211/255.0}, +image.cpp: {255/255.0, 20/255.0, 147/255.0}, +image.cpp: {0/255.0, 191/255.0, 255/255.0}, +image.cpp: {105/255.0, 105/255.0, 105/255.0}, +image.cpp: {30/255.0, 144/255.0, 255/255.0}, +image.cpp: {178/255.0, 34/255.0, 34/255.0}, +image.cpp: {255/255.0, 250/255.0, 240/255.0}, +image.cpp: {34/255.0, 139/255.0, 34/255.0}, +image.cpp: {255/255.0, 0/255.0, 255/255.0}, +image.cpp: {220/255.0, 220/255.0, 220/255.0}, +image.cpp: {248/255.0, 248/255.0, 255/255.0}, +image.cpp: {255/255.0, 215/255.0, 0/255.0}, +image.cpp: {218/255.0, 165/255.0, 32/255.0}, +image.cpp: {128/255.0, 128/255.0, 128/255.0}, +image.cpp: {0/255.0, 128/255.0, 0/255.0}, +image.cpp: {173/255.0, 255/255.0, 47/255.0}, +image.cpp: {240/255.0, 255/255.0, 240/255.0}, +image.cpp: {255/255.0, 105/255.0, 180/255.0}, +image.cpp: {205/255.0, 92/255.0, 92/255.0}, +image.cpp: {75/255.0, 0/255.0, 130/255.0}, +image.cpp: {255/255.0, 240/255.0, 240/255.0}, +image.cpp: {240/255.0, 230/255.0, 140/255.0}, +image.cpp: {230/255.0, 230/255.0, 250/255.0}, +image.cpp: {255/255.0, 240/255.0, 245/255.0}, +image.cpp: {124/255.0, 252/255.0, 0/255.0}, +image.cpp: {255/255.0, 250/255.0, 205/255.0}, +image.cpp: {173/255.0, 216/255.0, 230/255.0}, +image.cpp: {240/255.0, 128/255.0, 128/255.0}, +image.cpp: {224/255.0, 255/255.0, 255/255.0}, +image.cpp: {250/255.0, 250/255.0, 210/255.0}, +image.cpp: {144/255.0, 238/255.0, 144/255.0}, +image.cpp: {211/255.0, 211/255.0, 211/255.0}, +image.cpp: {255/255.0, 182/255.0, 193/255.0}, +image.cpp: {255/255.0, 160/255.0, 122/255.0}, +image.cpp: {32/255.0, 178/255.0, 170/255.0}, +image.cpp: {135/255.0, 206/255.0, 250/255.0}, +image.cpp: {119/255.0, 136/255.0, 153/255.0}, +image.cpp: {176/255.0, 196/255.0, 222/255.0}, +image.cpp: {255/255.0, 255/255.0, 224/255.0}, +image.cpp: {0/255.0, 255/255.0, 0/255.0}, +image.cpp: {50/255.0, 205/255.0, 50/255.0}, +image.cpp: {250/255.0, 240/255.0, 230/255.0}, +image.cpp: {255/255.0, 0/255.0, 255/255.0}, +image.cpp: {128/255.0, 0/255.0, 0/255.0}, +image.cpp: {102/255.0, 205/255.0, 170/255.0}, +image.cpp: {0/255.0, 0/255.0, 205/255.0}, +image.cpp: {186/255.0, 85/255.0, 211/255.0}, +image.cpp: {147/255.0, 112/255.0, 219/255.0}, +image.cpp: {60/255.0, 179/255.0, 113/255.0}, +image.cpp: {123/255.0, 104/255.0, 238/255.0}, +image.cpp: {0/255.0, 250/255.0, 154/255.0}, +image.cpp: {72/255.0, 209/255.0, 204/255.0}, +image.cpp: {199/255.0, 21/255.0, 133/255.0}, +image.cpp: {25/255.0, 25/255.0, 112/255.0}, +image.cpp: {245/255.0, 255/255.0, 250/255.0}, +image.cpp: {255/255.0, 228/255.0, 225/255.0}, +image.cpp: {255/255.0, 228/255.0, 181/255.0}, +image.cpp: {255/255.0, 222/255.0, 173/255.0}, +image.cpp: {0/255.0, 0/255.0, 128/255.0}, +image.cpp: {253/255.0, 245/255.0, 230/255.0}, +image.cpp: {128/255.0, 128/255.0, 0/255.0}, +image.cpp: {107/255.0, 142/255.0, 35/255.0}, +image.cpp: {255/255.0, 165/255.0, 0/255.0}, +image.cpp: {255/255.0, 69/255.0, 0/255.0}, +image.cpp: {218/255.0, 112/255.0, 214/255.0}, +image.cpp: {238/255.0, 232/255.0, 170/255.0}, +image.cpp: {152/255.0, 251/255.0, 152/255.0}, +image.cpp: {175/255.0, 238/255.0, 238/255.0}, +image.cpp: {219/255.0, 112/255.0, 147/255.0}, +image.cpp: {255/255.0, 239/255.0, 213/255.0}, +image.cpp: {255/255.0, 239/255.0, 213/255.0}, +image.cpp: {205/255.0, 133/255.0, 63/255.0}, +image.cpp: {255/255.0, 192/255.0, 203/255.0}, +image.cpp: {221/255.0, 160/255.0, 221/255.0}, +image.cpp: {176/255.0, 224/255.0, 230/255.0}, +image.cpp: {128/255.0, 0/255.0, 128/255.0}, +image.cpp: {255/255.0, 0/255.0, 0/255.0}, +image.cpp: {188/255.0, 143/255.0, 143/255.0}, +image.cpp: {65/255.0, 105/255.0, 225/255.0}, +image.cpp: {139/255.0, 69/255.0, 19/255.0}, +image.cpp: {250/255.0, 128/255.0, 114/255.0}, +image.cpp: {244/255.0, 164/255.0, 96/255.0}, +image.cpp: {46/255.0, 139/255.0, 87/255.0}, +image.cpp: {255/255.0, 245/255.0, 238/255.0}, +image.cpp: {160/255.0, 82/255.0, 45/255.0}, +image.cpp: {192/255.0, 192/255.0, 192/255.0}, +image.cpp: {135/255.0, 206/255.0, 235/255.0}, +image.cpp: {106/255.0, 90/255.0, 205/255.0}, +image.cpp: {112/255.0, 128/255.0, 144/255.0}, +image.cpp: {255/255.0, 250/255.0, 250/255.0}, +image.cpp: {0/255.0, 255/255.0, 127/255.0}, +image.cpp: {70/255.0, 130/255.0, 180/255.0}, +image.cpp: {210/255.0, 180/255.0, 140/255.0}, +image.cpp: {0/255.0, 128/255.0, 128/255.0}, +image.cpp: {216/255.0, 191/255.0, 216/255.0}, +image.cpp: {253/255.0, 99/255.0, 71/255.0}, +image.cpp: {64/255.0, 224/255.0, 208/255.0}, +image.cpp: {238/255.0, 130/255.0, 238/255.0}, +image.cpp: {245/255.0, 222/255.0, 179/255.0}, +image.cpp: {255/255.0, 255/255.0, 255/255.0}, +image.cpp: {245/255.0, 245/255.0, 245/255.0}, +image.cpp: {255/255.0, 255/255.0, 0/255.0}, +image.cpp: {154/255.0, 205/255.0, 50/255.0} +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp:// ---------------------------------------------------------------------- +image.cpp:// ---------------------------------------------------------------------- +image.cpp:// ColorMap class +image.cpp:// ---------------------------------------------------------------------- +image.cpp:// ---------------------------------------------------------------------- +image.cpp: // default color map +image.cpp:/* ---------------------------------------------------------------------- */ +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp: mbinsizeinv = 1.0/mbinsize; +image.cpp: // NOTE: this is unfinished code, not sure how useful it is +image.cpp: // idea is to allow a list of colors to be specified with a single arg +image.cpp: // problem is that sequential colors in ALL are not very different +image.cpp: // e.g. ALL or USER or ALL5:10 or USER1:10:2 +image.cpp: // current code is just 1st nentry values of ALL or USER +image.cpp: // need to comment out error check in DumpImage::modify_param() +image.cpp: // for amap check on (narg < n) to get it to work +image.cpp: // need to add extra logic here to check not accessing undefined colors +image.cpp: // one-time call to minmax if color map is static +image.cpp:/* ---------------------------------------------------------------------- +image.cpp: set explicit values for all min/max settings in color map +image.cpp: from min/max dynamic values +image.cpp: set lo/hi current and lvalue/hvalue entries that are MIN/MAX VALUE +image.cpp: called only once if mlo/mhi != MIN/MAX VALUE, else called repeatedly +image.cpp:------------------------------------------------------------------------- */ +image.cpp: // error in ABSOLUTE mode if new lo/hi current cause +image.cpp: // first/last entry to become lo > hi with adjacent entry +image.cpp: // OK if new lo/hi current cause an entry to have lo > hi, +image.cpp: // since last entry will always be a match +image.cpp:/* ---------------------------------------------------------------------- +image.cpp:------------------------------------------------------------------------- */ +image.cpp: double lo;//,hi; +image.cpp: else value = (value-locurrent) / (hicurrent-locurrent); +image.cpp: //hi = 1.0; +image.cpp: //hi = hicurrent; +image.cpp: double fraction = (value-mentry[i].svalue) / +imbalance.cpp:/* -*- c++ -*- ---------------------------------------------------------- +imbalance.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +imbalance.cpp: http://lammps.sandia.gov, Sandia National Laboratories +imbalance.cpp:------------------------------------------------------------------------- */ +imbalance.cpp:/* ---------------------------------------------------------------------- */ +imbalance_group.cpp:/* ---------------------------------------------------------------------- +imbalance_group.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +imbalance_group.cpp: http://lammps.sandia.gov, Sandia National Laboratories +imbalance_group.cpp:------------------------------------------------------------------------- */ +imbalance_group.cpp:/* -------------------------------------------------------------------- */ +imbalance_group.cpp:/* -------------------------------------------------------------------- */ +imbalance_group.cpp:/* -------------------------------------------------------------------- */ +imbalance_group.cpp:/* -------------------------------------------------------------------- */ +imbalance_group.cpp:/* -------------------------------------------------------------------- */ +imbalance_neigh.cpp:/* ---------------------------------------------------------------------- +imbalance_neigh.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +imbalance_neigh.cpp: http://lammps.sandia.gov, Sandia National Laboratories +imbalance_neigh.cpp:------------------------------------------------------------------------- */ +imbalance_neigh.cpp:/* -------------------------------------------------------------------- */ +imbalance_neigh.cpp:/* -------------------------------------------------------------------- */ +imbalance_neigh.cpp:/* -------------------------------------------------------------------- */ +imbalance_neigh.cpp: // find suitable neighbor list +imbalance_neigh.cpp: // can only use certain conventional neighbor lists +imbalance_neigh.cpp: // NOTE: why not full list, if half does not exist? +imbalance_neigh.cpp: error->warning(FLERR,"Balance weight neigh skipped b/c no list found"); +imbalance_neigh.cpp: // neighsum = total neigh count for atoms on this proc +imbalance_neigh.cpp: // localwt = weight assigned to each owned atom +imbalance_neigh.cpp: if (nlocal) localwt = 1.0*neighsum/nlocal; +imbalance_neigh.cpp: // apply factor if specified != 1.0 +imbalance_neigh.cpp: // wtlo,wthi = lo/hi values excluding 0.0 due to no atoms on this proc +imbalance_neigh.cpp: // lo value does not change +imbalance_neigh.cpp: // newhi = new hi value to give hi/lo ratio factor times larger/smaller +imbalance_neigh.cpp: // expand/contract all localwt values from lo->hi to lo->newhi +imbalance_neigh.cpp: localwt = wtlo + ((localwt-wtlo)/(wthi-wtlo)) * (newhi-wtlo); +imbalance_neigh.cpp:/* -------------------------------------------------------------------- */ +imbalance_store.cpp:/* ---------------------------------------------------------------------- +imbalance_store.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +imbalance_store.cpp: http://lammps.sandia.gov, Sandia National Laboratories +imbalance_store.cpp:------------------------------------------------------------------------- */ +imbalance_store.cpp:/* -------------------------------------------------------------------- */ +imbalance_store.cpp:/* -------------------------------------------------------------------- */ +imbalance_store.cpp:/* -------------------------------------------------------------------- */ +imbalance_store.cpp:/* -------------------------------------------------------------------- */ +imbalance_store.cpp: // property does not exist +imbalance_store.cpp:/* -------------------------------------------------------------------- */ +imbalance_time.cpp:/* ---------------------------------------------------------------------- +imbalance_time.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +imbalance_time.cpp: http://lammps.sandia.gov, Sandia National Laboratories +imbalance_time.cpp:------------------------------------------------------------------------- */ +imbalance_time.cpp:/* -------------------------------------------------------------------- */ +imbalance_time.cpp:/* -------------------------------------------------------------------- */ +imbalance_time.cpp:/* ---------------------------------------------------------------------- +imbalance_time.cpp:------------------------------------------------------------------------- */ +imbalance_time.cpp: // flag = 1 if called from FixBalance at start of run +imbalance_time.cpp: // init Timer, so accumulated time not carried over from previous run +imbalance_time.cpp: // should NOT init Timer if called from Balance, it uses time from last run +imbalance_time.cpp:/* -------------------------------------------------------------------- */ +imbalance_time.cpp: // cost = CPU time for relevant timers since last invocation +imbalance_time.cpp: // localwt = weight assigned to each owned atom +imbalance_time.cpp: // just return if no time yet tallied +imbalance_time.cpp: if (nlocal) localwt = cost/nlocal; +imbalance_time.cpp: // apply factor if specified != 1.0 +imbalance_time.cpp: // wtlo,wthi = lo/hi values excluding 0.0 due to no atoms on this proc +imbalance_time.cpp: // lo value does not change +imbalance_time.cpp: // newhi = new hi value to give hi/lo ratio factor times larger/smaller +imbalance_time.cpp: // expand/contract all localwt values from lo->hi to lo->newhi +imbalance_time.cpp: localwt = wtlo + ((localwt-wtlo)/(wthi-wtlo)) * (newhi-wtlo); +imbalance_time.cpp: // record time up to this point +imbalance_time.cpp:/* -------------------------------------------------------------------- */ +imbalance_var.cpp:/* ---------------------------------------------------------------------- +imbalance_var.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +imbalance_var.cpp: http://lammps.sandia.gov, Sandia National Laboratories +imbalance_var.cpp:------------------------------------------------------------------------- */ +imbalance_var.cpp:// DEBUG +imbalance_var.cpp:/* -------------------------------------------------------------------- */ +imbalance_var.cpp:/* -------------------------------------------------------------------- */ +imbalance_var.cpp:/* -------------------------------------------------------------------- */ +imbalance_var.cpp:/* -------------------------------------------------------------------- */ +imbalance_var.cpp:/* -------------------------------------------------------------------- */ +imbalance_var.cpp:/* -------------------------------------------------------------------- */ +improper.cpp:/* ---------------------------------------------------------------------- +improper.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +improper.cpp: http://lammps.sandia.gov, Sandia National Laboratories +improper.cpp:------------------------------------------------------------------------- */ +improper.cpp:/* ---------------------------------------------------------------------- */ +improper.cpp:/* ---------------------------------------------------------------------- */ +improper.cpp:/* ---------------------------------------------------------------------- +improper.cpp:------------------------------------------------------------------------- */ +improper.cpp:/* ---------------------------------------------------------------------- +improper.cpp:------------------------------------------------------------------------- */ +improper.cpp: eflag_atom = eflag / 2; +improper.cpp: vflag_atom = vflag / 4; +improper.cpp: // reallocate per-atom arrays if necessary +improper.cpp: // zero accumulators +improper.cpp:/* ---------------------------------------------------------------------- +improper.cpp:------------------------------------------------------------------------- */ +improper.cpp:/* ---------------------------------------------------------------------- */ +improper_hybrid.cpp:/* ---------------------------------------------------------------------- +improper_hybrid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +improper_hybrid.cpp: http://lammps.sandia.gov, Sandia National Laboratories +improper_hybrid.cpp:------------------------------------------------------------------------- */ +improper_hybrid.cpp:/* ---------------------------------------------------------------------- */ +improper_hybrid.cpp:/* ---------------------------------------------------------------------- */ +improper_hybrid.cpp:/* ---------------------------------------------------------------------- */ +improper_hybrid.cpp: // save ptrs to original improperlist +improper_hybrid.cpp: // if this is re-neighbor step, create sub-style improperlists +improper_hybrid.cpp: // nimproperlist[] = length of each sub-style list +improper_hybrid.cpp: // realloc sub-style improperlist if necessary +improper_hybrid.cpp: // load sub-style improperlist with 5 values from original improperlist +improper_hybrid.cpp: // call each sub-style's compute function +improper_hybrid.cpp: // set neighbor->improperlist to sub-style improperlist before call +improper_hybrid.cpp: // accumulate sub-style global/peratom energy/virial in hybrid +improper_hybrid.cpp: // restore ptrs to original improperlist +improper_hybrid.cpp:/* ---------------------------------------------------------------------- */ +improper_hybrid.cpp:/* ---------------------------------------------------------------------- */ +improper_hybrid.cpp:/* ---------------------------------------------------------------------- +improper_hybrid.cpp:------------------------------------------------------------------------- */ +improper_hybrid.cpp: // delete old lists, since cannot just change settings +improper_hybrid.cpp: // count sub-styles by skipping numeric args +improper_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric word +improper_hybrid.cpp: // need a better way to skip these exceptions +improper_hybrid.cpp: // allocate list of sub-styles +improper_hybrid.cpp: // allocate each sub-style and call its settings() with subset of args +improper_hybrid.cpp: // allocate uses suffix, but don't store suffix version in keywords, +improper_hybrid.cpp: // else syntax in coeff() will not match +improper_hybrid.cpp: // define subset of args for a sub-style by skipping numeric args +improper_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric +improper_hybrid.cpp: // need a better way to skip these exceptions +improper_hybrid.cpp:/* ---------------------------------------------------------------------- +improper_hybrid.cpp:---------------------------------------------------------------------- */ +improper_hybrid.cpp: // 2nd arg = improper sub-style name +improper_hybrid.cpp: // allow for "none" as valid sub-style name +improper_hybrid.cpp: // move 1st arg to 2nd arg +improper_hybrid.cpp: // just copy ptrs, since arg[] points into original input line +improper_hybrid.cpp: // invoke sub-style coeff() starting with 1st arg +improper_hybrid.cpp: // set setflag and which type maps to which sub-style +improper_hybrid.cpp: // if sub-style is none: set hybrid setflag, wipe out map +improper_hybrid.cpp:/* ---------------------------------------------------------------------- +improper_hybrid.cpp:------------------------------------------------------------------------- */ +improper_hybrid.cpp:/* ---------------------------------------------------------------------- +improper_hybrid.cpp:------------------------------------------------------------------------- */ +improper_hybrid.cpp:/* ---------------------------------------------------------------------- +improper_hybrid.cpp:------------------------------------------------------------------------- */ +improper_zero.cpp:/* ---------------------------------------------------------------------- +improper_zero.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +improper_zero.cpp: http://lammps.sandia.gov, Sandia National Laboratories +improper_zero.cpp:------------------------------------------------------------------------- */ +improper_zero.cpp:/* ---------------------------------------------------------------------- +improper_zero.cpp:------------------------------------------------------------------------- */ +improper_zero.cpp:/* ---------------------------------------------------------------------- */ +improper_zero.cpp:/* ---------------------------------------------------------------------- */ +improper_zero.cpp:/* ---------------------------------------------------------------------- */ +improper_zero.cpp:/* ---------------------------------------------------------------------- */ +improper_zero.cpp:/* ---------------------------------------------------------------------- */ +improper_zero.cpp:/* ---------------------------------------------------------------------- +improper_zero.cpp:------------------------------------------------------------------------- */ +improper_zero.cpp:/* ---------------------------------------------------------------------- +improper_zero.cpp:------------------------------------------------------------------------- */ +improper_zero.cpp:/* ---------------------------------------------------------------------- +improper_zero.cpp:------------------------------------------------------------------------- */ +improper_zero.cpp:/* ---------------------------------------------------------------------- +improper_zero.cpp:------------------------------------------------------------------------- */ +info.cpp:/* ---------------------------------------------------------------------- +info.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +info.cpp: http://lammps.sandia.gov, Sandia National Laboratories +info.cpp:------------------------------------------------------------------------- */ +info.cpp:/* ---------------------------------------------------------------------- +info.cpp:------------------------------------------------------------------------- */ +info.cpp:#include +info.cpp:#include +info.cpp:#include +info.cpp:// same as in variable.cpp +info.cpp:/* ---------------------------------------------------------------------- */ +info.cpp: // parse arguments +info.cpp: fprintf(out,"\nLAMMPS version: %s / %s\n", +info.cpp: double mbytes = bytes/1024.0/1024.0; +info.cpp: (double)pmc.PrivateUsage/1048576.0); +info.cpp: (double)pmc.PeakWorkingSetSize/1048576.0); +info.cpp: (double)mi.uordblks/1048576.0+(double)mi.hblkhd/1048576.0); +info.cpp: (double)ru.ru_maxrss/1024.0); +info.cpp: // from MSD docs. +info.cpp:#else /* POSIX */ +info.cpp:#endif /* ! _WIN32 */ +info.cpp: cpuclock = (cpuclock - cpus) / 60.0; +info.cpp: cpuh = (cpuclock - cpum) / 60.0; +info.cpp: wallclock = (wallclock - walls) / 60.0; +info.cpp: wallh = (wallclock - wallm) / 60.0; +info.cpp: // close output file pointer if opened locally thus forcing a hard sync. +info.cpp:/* ---------------------------------------------------------------------- */ +info.cpp:// the is_active() function returns true if the selected style or name +info.cpp:// in the selected category is currently in use. +info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix); +info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix2); +info.cpp:/* ---------------------------------------------------------------------- */ +info.cpp:// the is_available() function returns true if the selected style +info.cpp:// or name in the selected category is available for use (but need +info.cpp:// not be currently active). +info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix); +info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix2); +info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix); +info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix2); +info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix); +info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix2); +info.cpp:/* ---------------------------------------------------------------------- */ +info.cpp:// the is_defined() function returns true if a particular ID of the +info.cpp:// selected category (e.g. fix ID, group ID, region ID etc.) has been +info.cpp:// defined and thus can be accessed. It does *NOT* check whether a +info.cpp:// particular ID has a particular style. +info.cpp: // skip "secret" styles +info.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- +input.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +input.cpp: http://lammps.sandia.gov, Sandia National Laboratories +input.cpp:------------------------------------------------------------------------- */ +input.cpp:#include "sys/stat.h" +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp: // fill map with commands listed in style_command.h +input.cpp: // process command-line args +input.cpp: // check for args "-var" and "-echo" +input.cpp: // caller has already checked that sufficient arguments exist +input.cpp: char **tmp = arg; // trick echo() into using argv instead of arg +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp: // don't free command and arg strings +input.cpp: // they just point to other allocated memory +input.cpp:/* ---------------------------------------------------------------------- +input.cpp:------------------------------------------------------------------------- */ +input.cpp: // read a line from input script +input.cpp: // n = length of line including str terminator, 0 if end of file +input.cpp: // if line ends in continuation char '&', concatenate next line +input.cpp: // end of file reached, so break +input.cpp: // n == 0 if nothing read, else n = line with str terminator +input.cpp: // continue if last char read was not a newline +input.cpp: // could happen if line is very long +input.cpp: // continue reading if final printable char is & char +input.cpp: // or if odd number of triple quotes +input.cpp: // else break with n = line with str terminator +input.cpp: // bcast the line +input.cpp: // if n = 0, end-of-file +input.cpp: // error if label_active is set, since label wasn't encountered +input.cpp: // if original input file, code is done +input.cpp: // else go back to previous input file +input.cpp: // echo the command unless scanning for label +input.cpp: // parse the line +input.cpp: // if no command, skip to next line in input script +input.cpp: // if scanning for label, skip command unless it's a label command +input.cpp: // execute the command +input.cpp:/* ---------------------------------------------------------------------- +input.cpp:------------------------------------------------------------------------- */ +input.cpp: // error if another nested file still open, should not be possible +input.cpp: // open new filename and set infile, infiles[0], nfile +input.cpp: // call to file() will close filename and decrement nfile +input.cpp:/* ---------------------------------------------------------------------- +input.cpp:------------------------------------------------------------------------- */ +input.cpp: // echo the command unless scanning for label +input.cpp: // parse the line +input.cpp: // if no command, just return NULL +input.cpp: // if scanning for label, skip command unless it's a label command +input.cpp: // execute the command and return its name +input.cpp:/* ---------------------------------------------------------------------- +input.cpp: treat text between single/double/triple quotes as one arg via nextword() +input.cpp:------------------------------------------------------------------------- */ +input.cpp: // duplicate line into copy string to break into words +input.cpp: // strip any # comment by replacing it with 0 +input.cpp: // do not strip from a # inside single/double/triple quotes +input.cpp: // quoteflag = 1,2,3 when encounter first single/double,triple quote +input.cpp: // quoteflag = 0 when encounter matching single/double,triple quote +input.cpp: // perform $ variable substitution (print changes) +input.cpp: // except if searching for a label since earlier variable may not be defined +input.cpp: // command = 1st arg in copy string +input.cpp: // point arg[] at each subsequent arg in copy string +input.cpp: // nextword() inserts string terminators into copy string to delimit args +input.cpp: // nextword() treats text between single/double/triple quotes as one arg +input.cpp:/* ---------------------------------------------------------------------- +input.cpp: treat text between single/double/triple quotes as one arg +input.cpp:------------------------------------------------------------------------- */ +input.cpp: // start = first non-whitespace char +input.cpp: // if start is single/double/triple quote: +input.cpp: // start = first char beyond quote +input.cpp: // stop = first char of matching quote +input.cpp: // next = first char beyond matching quote +input.cpp: // next must be NULL or whitespace +input.cpp: // if start is not single/double/triple quote: +input.cpp: // stop = first whitespace char after start +input.cpp: // next = char after stop, or stop itself if stop is NULL +input.cpp: // set stop to NULL to terminate word +input.cpp:/* ---------------------------------------------------------------------- +input.cpp: reallocate str/str2 to hold expanded version if necessary & reset max/max2 +input.cpp:------------------------------------------------------------------------- */ +input.cpp: // use str2 as scratch space to expand str, then copy back to str +input.cpp: // reallocate str and str2 as necessary +input.cpp: // do not replace $ inside single/double/triple quotes +input.cpp: // var = pts at variable name, ended by NULL +input.cpp: // if $ is followed by '{', trailing '}' becomes NULL +input.cpp: // else $x becomes x followed by NULL +input.cpp: // beyond = points to text following variable +input.cpp: // variable substitution +input.cpp: // value = ptr to expanded variable +input.cpp: // variable name between curly braces, e.g. ${a} +input.cpp: // immediate variable between parenthesis, e.g. $(1/2) +input.cpp: // single character variable name, e.g. $a +input.cpp: // check if storage in str2 needs to be expanded +input.cpp: // re-initialize ptr and ptr2 to the point beyond the variable. +input.cpp: // output substitution progress if requested +input.cpp: // quoteflag = 1,2,3 when encounter first single/double,triple quote +input.cpp: // quoteflag = 0 when encounter matching single/double,triple quote +input.cpp: // copy 2 extra triple quote chars into str2 +input.cpp: // copy current character into str2 +input.cpp: // set length of input str to length of work str2 +input.cpp: // copy work string back to input str +input.cpp:/* ---------------------------------------------------------------------- +input.cpp: return new expanded # of values, and copy them w/out "*" into earg +input.cpp:------------------------------------------------------------------------- */ +input.cpp: // maxarg should always end up equal to newarg, so caller can free earg +input.cpp: // check for global vector/array, peratom array, local array +input.cpp: // check for global vector/array, peratom array, local array +input.cpp: n = strlen(arg[iarg]) + 16; // 16 = space for large inserted integer +input.cpp: //printf("NEWARG %d\n",newarg); +input.cpp: //for (int i = 0; i < newarg; i++) +input.cpp: // printf(" arg %d: %s\n",i,earg[i]); +input.cpp:/* ---------------------------------------------------------------------- +input.cpp:------------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- +input.cpp:------------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- +input.cpp:------------------------------------------------------------------------- */ +input.cpp: // return if command was listed above +input.cpp: // invoke commands added via style_command.h +input.cpp: // unrecognized command +input.cpp:/* ---------------------------------------------------------------------- +input.cpp:------------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp: // substitute for variables in Boolean expression for "if" +input.cpp: // in case expression was enclosed in quotes +input.cpp: // must substitute on copy of arg else will step on subsequent args +input.cpp: // evaluate Boolean expression for "if" +input.cpp: // bound "then" commands +input.cpp: // execute "then" commands +input.cpp: // make copies of all arg string commands +input.cpp: // required because re-parsing a command via one() will wipe out args +input.cpp: // done if no "elif" or "else" +input.cpp: // check "elif" or "else" until find commands to execute +input.cpp: // substitute for variables and evaluate Boolean expression for "elif" +input.cpp: // must substitute on copy of arg else will step on subsequent args +input.cpp: // bound and execute "elif" or "else" commands +input.cpp: // execute the list of commands +input.cpp: // clean up +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp: // do not allow include inside an if command +input.cpp: // NOTE: this check will fail if a 2nd if command was inside the if command +input.cpp: // and came before the include +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp: // copy original line to copy, since will use strtok() on it +input.cpp: // ptr = start of 4th word +input.cpp: // execute the remaining command line on requested partitions +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp: // copy 1st arg back into line (copy is being used) +input.cpp: // check maxline since arg[0] could have been exanded by variables +input.cpp: // substitute for $ variables (no printing) and print arg +input.cpp: // parse optional args +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp: if (narg == 0) error->done(0); // 1 would be fully backwards compatible +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp: // use work string to concat args back into one string separated by spaces +input.cpp: // invoke string in shell via system() +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- +input.cpp:------------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp: // must reset default extra_dof of all computes +input.cpp: // since some were created before dimension command is encountered +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp: // same checks for packages existing as in LAMMPS::post_create() +input.cpp: // since can be invoked here by package command in input script +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- +input.cpp:------------------------------------------------------------------------- */ +input.cpp: sprintf(estyle,"%s/%s",arg[0],lmp->suffix); +input.cpp: sprintf(estyle,"%s/%s",arg[0],lmp->suffix2); +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp: // store 1-3,1-4 and dihedral/extra flag values before change +input.cpp: // change in 1-2 coeffs will not change the special list +input.cpp: // if simulation box defined and saved values changed, redo special list +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +input.cpp:/* ---------------------------------------------------------------------- */ +integrate.cpp:/* ---------------------------------------------------------------------- +integrate.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +integrate.cpp: http://lammps.sandia.gov, Sandia National Laboratories +integrate.cpp:------------------------------------------------------------------------- */ +integrate.cpp:/* ---------------------------------------------------------------------- */ +integrate.cpp:/* ---------------------------------------------------------------------- */ +integrate.cpp:/* ---------------------------------------------------------------------- */ +integrate.cpp: // allow pair and Kspace compute() to be turned off via modify flags +integrate.cpp: // should add checks: +integrate.cpp: // for any acceleration package that has its own integrate/minimize +integrate.cpp: // in case input script has reset the run or minimize style explicitly +integrate.cpp: // e.g. invalid to have kokkos pair style with non-kokkos verlet +integrate.cpp: // but OK to have kokkos verlet with non kokkos pair style (just warn) +integrate.cpp: // making these checks would require all the pair, fix, etc styles have +integrate.cpp: // kokkos, intel flags +integrate.cpp:/* ---------------------------------------------------------------------- +integrate.cpp:------------------------------------------------------------------------- */ +integrate.cpp:/* ---------------------------------------------------------------------- +integrate.cpp: eflag/vflag based on computes that need info on this ntimestep +integrate.cpp:------------------------------------------------------------------------- */ +irregular.cpp:/* ---------------------------------------------------------------------- +irregular.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +irregular.cpp: http://lammps.sandia.gov, Sandia National Laboratories +irregular.cpp:------------------------------------------------------------------------- */ +irregular.cpp:// allocate space for static class variable +irregular.cpp:// prototype for non-class function +irregular.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files +irregular.cpp:/* ---------------------------------------------------------------------- */ +irregular.cpp: // migrate work vectors +irregular.cpp: // send buffers +irregular.cpp: // universal work vectors +irregular.cpp: // initialize buffers for migrate atoms, not used for datum comm +irregular.cpp: // these can persist for multiple irregular operations +irregular.cpp:/* ---------------------------------------------------------------------- */ +irregular.cpp:/* ---------------------------------------------------------------------- +irregular.cpp:------------------------------------------------------------------------- */ +irregular.cpp: // clear global->local map since atoms move to new procs +irregular.cpp: // clear old ghosts so map_set() at end will operate only on local atoms +irregular.cpp: // exchange() doesn't need to clear ghosts b/c borders() +irregular.cpp: // is called right after and it clears ghosts and calls map_set() +irregular.cpp: // subbox bounds for orthogonal or triclinic box +irregular.cpp: // if Comm will be called to assign new atom coords to procs, +irregular.cpp: // may need to setup RCB info +irregular.cpp: // loop over atoms, flag any that are not in my sub-box +irregular.cpp: // fill buffer with atoms leaving my box, using < and >= +irregular.cpp: // assign which proc it belongs to via Comm::coord2proc() +irregular.cpp: // if coord2proc() returns me, due to round-off +irregular.cpp: // in triclinic x2lamda(), then keep atom and don't send +irregular.cpp: // when atom is deleted, fill it in with last atom +irregular.cpp: // create irregular communication plan, perform comm, destroy plan +irregular.cpp: // returned nrecv = size of buffer needed for incoming atoms +irregular.cpp: // add received atoms to my list +irregular.cpp: // reset global->local map +irregular.cpp:/* ---------------------------------------------------------------------- +irregular.cpp:------------------------------------------------------------------------- */ +irregular.cpp: // migrate required if comm layout is tiled +irregular.cpp: // cannot use myloc[] logic below +irregular.cpp: // subbox bounds for orthogonal or triclinic box +irregular.cpp: // loop over atoms, check for any that are not in my sub-box +irregular.cpp: // assign which proc it belongs to via Comm::coord2proc() +irregular.cpp: // if logical igx,igy,igz of newproc > one away from myloc, set flag = 1 +irregular.cpp: // this check needs to observe PBC +irregular.cpp: // cannot check via comm->procneigh since it ignores PBC +irregular.cpp:/* ---------------------------------------------------------------------- +irregular.cpp:------------------------------------------------------------------------- */ +irregular.cpp: // setup for collective comm +irregular.cpp: // work1 = 1 for procs I send a message to, not including self +irregular.cpp: // work2 = 1 for all procs, used for ReduceScatter +irregular.cpp: // nrecv_proc = # of procs I receive messages from, not including self +irregular.cpp: // options for performing ReduceScatter operation +irregular.cpp: // some are more efficient on some machines at big sizes +irregular.cpp: // allocate receive arrays +irregular.cpp: // nsend_proc = # of messages I send +irregular.cpp: // allocate send arrays +irregular.cpp: // list still stores size of message for procs I send to +irregular.cpp: // proc_send = procs I send to +irregular.cpp: // length_send = # of doubles I send to each proc +irregular.cpp: // to balance pattern of send messages: +irregular.cpp: // each proc begins with iproc > me, continues until iproc = me +irregular.cpp: // reset list to store which send message each proc corresponds to +irregular.cpp: // num_send = # of atoms I send to each proc +irregular.cpp: // work2 = offsets into index_send for each proc I send to +irregular.cpp: // index_send = list of which atoms to send to each proc +irregular.cpp: // 1st N1 values are atom indices for 1st proc, +irregular.cpp: // next N2 values are atom indices for 2nd proc, etc +irregular.cpp: // offset_send = where each atom starts in send buffer +irregular.cpp: // tell receivers how much data I send +irregular.cpp: // sendmax_proc = # of doubles I send in largest single message +irregular.cpp: MPI_Request tmpReq; // Use non-blocking send to avoid possible deadlock +irregular.cpp: MPI_Request_free(&tmpReq); // the MPI_Barrier below marks completion +irregular.cpp: // receive incoming messages +irregular.cpp: // proc_recv = procs I recv from +irregular.cpp: // length_recv = # of doubles each proc sends me +irregular.cpp: // nrecvsize = total size of atom data I recv +irregular.cpp: // sort proc_recv and length_recv by proc ID if requested +irregular.cpp: // useful for debugging to insure reproducible ordering of received atoms +irregular.cpp: // invoke by adding final arg = 1 to create_atom() call in migrate_atoms() +irregular.cpp: // barrier to insure all MPI_ANY_SOURCE messages are received +irregular.cpp: // else another proc could proceed to exchange_atom() and send to me +irregular.cpp: // return size of atom data I will receive +irregular.cpp:/* ---------------------------------------------------------------------- +irregular.cpp:------------------------------------------------------------------------- */ +irregular.cpp:/* ---------------------------------------------------------------------- +irregular.cpp:------------------------------------------------------------------------- */ +irregular.cpp: // post all receives +irregular.cpp: // reallocate buf for largest send if necessary +irregular.cpp: // send each message +irregular.cpp: // pack buf with list of atoms +irregular.cpp: // m = index of atom in sendbuf +irregular.cpp: // wait on all incoming messages +irregular.cpp:/* ---------------------------------------------------------------------- +irregular.cpp:------------------------------------------------------------------------- */ +irregular.cpp:/* ---------------------------------------------------------------------- +irregular.cpp:------------------------------------------------------------------------- */ +irregular.cpp: // setup for collective comm +irregular.cpp: // work1 = 1 for procs I send a message to, not including self +irregular.cpp: // work2 = 1 for all procs, used for ReduceScatter +irregular.cpp: // nrecv_proc = # of procs I receive messages from, not including self +irregular.cpp: // options for performing ReduceScatter operation +irregular.cpp: // some are more efficient on some machines at big sizes +irregular.cpp: // allocate receive arrays +irregular.cpp: // work1 = # of datums I send to each proc, including self +irregular.cpp: // nsend_proc = # of procs I send messages to, not including self +irregular.cpp: // allocate send and self arrays +irregular.cpp: // proc_send = procs I send to +irregular.cpp: // num_send = # of datums I send to each proc +irregular.cpp: // num_self = # of datums I copy to self +irregular.cpp: // to balance pattern of send messages: +irregular.cpp: // each proc begins with iproc > me, continues until iproc = me +irregular.cpp: // reset work1 to store which send message each proc corresponds to +irregular.cpp: // work2 = offsets into index_send for each proc I send to +irregular.cpp: // m = ptr into index_self +irregular.cpp: // index_send = list of which datums to send to each proc +irregular.cpp: // 1st N1 values are datum indices for 1st proc, +irregular.cpp: // next N2 values are datum indices for 2nd proc, etc +irregular.cpp: // index_self = list of which datums to copy to self +irregular.cpp: // tell receivers how much data I send +irregular.cpp: // sendmax_proc = largest # of datums I send in a single message +irregular.cpp: MPI_Request tmpReq; // Use non-blocking send to avoid possible deadlock +irregular.cpp: MPI_Request_free(&tmpReq); // the MPI_Barrier below marks completion +irregular.cpp: // receive incoming messages +irregular.cpp: // proc_recv = procs I recv from +irregular.cpp: // num_recv = total size of message each proc sends me +irregular.cpp: // nrecvdatum = total size of data I recv +irregular.cpp: // sort proc_recv and num_recv by proc ID if requested +irregular.cpp: // useful for debugging to insure reproducible ordering of received datums +irregular.cpp: // barrier to insure all MPI_ANY_SOURCE messages are received +irregular.cpp: // else another proc could proceed to exchange_data() and send to me +irregular.cpp: // return # of datums I will receive +irregular.cpp:/* ---------------------------------------------------------------------- +irregular.cpp:------------------------------------------------------------------------- */ +irregular.cpp: // post all receives, starting after self copies +irregular.cpp: // reallocate buf for largest send if necessary +irregular.cpp: // send each message +irregular.cpp: // pack buf with list of datums +irregular.cpp: // m = index of datum in sendbuf +irregular.cpp: // copy datums to self, put at beginning of recvbuf +irregular.cpp: // wait on all incoming messages +irregular.cpp:/* ---------------------------------------------------------------------- +irregular.cpp:------------------------------------------------------------------------- */ +irregular.cpp:/* ---------------------------------------------------------------------- +irregular.cpp: if flag = 0, don't need to realloc with copy, just free/malloc +irregular.cpp:------------------------------------------------------------------------- */ +irregular.cpp:/* ---------------------------------------------------------------------- +irregular.cpp: free/malloc the size of the recv buffer as needed with BUFFACTOR +irregular.cpp:------------------------------------------------------------------------- */ +irregular.cpp:/* ---------------------------------------------------------------------- +irregular.cpp:------------------------------------------------------------------------- */ +irregular.cpp: bytes += maxsend*sizeof(double); // buf_send +irregular.cpp: bytes += maxrecv*sizeof(double); // buf_recv +irregular.cpp: bytes += maxdbuf*sizeof(double); // dbuf +irregular.cpp: bytes += maxbuf; // buf +irregular.cpp: bytes += 2*maxlocal*sizeof(int); // mproclist,msizes +irregular.cpp: bytes += 2*nprocs*sizeof(int); // work1,work2 +kspace.cpp:/* ---------------------------------------------------------------------- +kspace.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +kspace.cpp: http://lammps.sandia.gov, Sandia National Laboratories +kspace.cpp:------------------------------------------------------------------------- */ +kspace.cpp:/* ---------------------------------------------------------------------- */ +kspace.cpp: // default to using MPI collectives for FFT/remap only on IBM BlueGene +kspace.cpp: (force->qelectron * force->qelectron) / +kspace.cpp: gcons[2][0] = 15.0 / 8.0; +kspace.cpp: gcons[2][1] = -5.0 / 4.0; +kspace.cpp: gcons[2][2] = 3.0 / 8.0; +kspace.cpp: gcons[3][0] = 35.0 / 16.0; +kspace.cpp: gcons[3][1] = -35.0 / 16.0; +kspace.cpp: gcons[3][2] = 21.0 / 16.0; +kspace.cpp: gcons[3][3] = -5.0 / 16.0; +kspace.cpp: gcons[4][0] = 315.0 / 128.0; +kspace.cpp: gcons[4][1] = -105.0 / 32.0; +kspace.cpp: gcons[4][2] = 189.0 / 64.0; +kspace.cpp: gcons[4][3] = -45.0 / 32.0; +kspace.cpp: gcons[4][4] = 35.0 / 128.0; +kspace.cpp: gcons[5][0] = 693.0 / 256.0; +kspace.cpp: gcons[5][1] = -1155.0 / 256.0; +kspace.cpp: gcons[5][2] = 693.0 / 128.0; +kspace.cpp: gcons[5][3] = -495.0 / 128.0; +kspace.cpp: gcons[5][4] = 385.0 / 256.0; +kspace.cpp: gcons[5][5] = -63.0 / 256.0; +kspace.cpp: gcons[6][0] = 3003.0 / 1024.0; +kspace.cpp: gcons[6][1] = -3003.0 / 512.0; +kspace.cpp: gcons[6][2] = 9009.0 / 1024.0; +kspace.cpp: gcons[6][3] = -2145.0 / 256.0; +kspace.cpp: gcons[6][4] = 5005.0 / 1024.0; +kspace.cpp: gcons[6][5] = -819.0 / 512.0; +kspace.cpp: gcons[6][6] = 231.0 / 1024.0; +kspace.cpp: dgcons[2][0] = -5.0 / 2.0; +kspace.cpp: dgcons[2][1] = 3.0 / 2.0; +kspace.cpp: dgcons[3][0] = -35.0 / 8.0; +kspace.cpp: dgcons[3][1] = 21.0 / 4.0; +kspace.cpp: dgcons[3][2] = -15.0 / 8.0; +kspace.cpp: dgcons[4][0] = -105.0 / 16.0; +kspace.cpp: dgcons[4][1] = 189.0 / 16.0; +kspace.cpp: dgcons[4][2] = -135.0 / 16.0; +kspace.cpp: dgcons[4][3] = 35.0 / 16.0; +kspace.cpp: dgcons[5][0] = -1155.0 / 128.0; +kspace.cpp: dgcons[5][1] = 693.0 / 32.0; +kspace.cpp: dgcons[5][2] = -1485.0 / 64.0; +kspace.cpp: dgcons[5][3] = 385.0 / 32.0; +kspace.cpp: dgcons[5][4] = -315.0 / 128.0; +kspace.cpp: dgcons[6][0] = -3003.0 / 256.0; +kspace.cpp: dgcons[6][1] = 9009.0 / 256.0; +kspace.cpp: dgcons[6][2] = -6435.0 / 128.0; +kspace.cpp: dgcons[6][3] = 5005.0 / 128.0; +kspace.cpp: dgcons[6][4] = -4095.0 / 256.0; +kspace.cpp: dgcons[6][5] = 693.0 / 256.0; +kspace.cpp:/* ---------------------------------------------------------------------- */ +kspace.cpp:/* ---------------------------------------------------------------------- */ +kspace.cpp:/* ---------------------------------------------------------------------- */ +kspace.cpp:/* ---------------------------------------------------------------------- +kspace.cpp:------------------------------------------------------------------------- */ +kspace.cpp:/* ---------------------------------------------------------------------- +kspace.cpp:------------------------------------------------------------------------- */ +kspace.cpp: eflag_atom = eflag / 2; +kspace.cpp: vflag_atom = vflag / 4; +kspace.cpp: // reallocate per-atom arrays if necessary +kspace.cpp: // zero accumulators +kspace.cpp:/* ---------------------------------------------------------------------- +kspace.cpp: compute qsum,qsqsum,q2 and give error/warning if not charge neutral +kspace.cpp:------------------------------------------------------------------------- */ +kspace.cpp: // not yet sure of the correction needed for non-neutral systems +kspace.cpp: // so issue warning or error +kspace.cpp:/* ---------------------------------------------------------------------- +kspace.cpp:------------------------------------------------------------------------- */ +kspace.cpp:/* ---------------------------------------------------------------------- +kspace.cpp:------------------------------------------------------------------------- */ +kspace.cpp:/* ---------------------------------------------------------------------- +kspace.cpp:------------------------------------------------------------------------- */ +kspace.cpp:/* ---------------------------------------------------------------------- +kspace.cpp:------------------------------------------------------------------------- */ +kspace.cpp:/* ---------------------------------------------------------------------- +kspace.cpp: see http://www.loria.fr/~shornus/ellipsoid-bbox.html and +kspace.cpp: http://yiningkarlli.blogspot.com/2013/02/ +kspace.cpp:------------------------------------------------------------------------- */ +kspace.cpp: xy*xy*yz*yz)/(lx*ly*lz); +kspace.cpp: b[1] = r*sqrt(lz*lz + yz*yz)/(ly*lz); +kspace.cpp: b[2] = r/lz; +kspace.cpp:/* ---------------------------------------------------------------------- +kspace.cpp:------------------------------------------------------------------------- */ +kspace.cpp: } else if (strcmp(arg[iarg],"mesh/disp") == 0) { +kspace.cpp: } else if (strcmp(arg[iarg],"order/disp") == 0) { +kspace.cpp: } else if (strcmp(arg[iarg],"gewald/disp") == 0) { +kspace.cpp: } else if (strcmp(arg[iarg],"cutoff/adjust") == 0) { +kspace.cpp: } else if (strcmp(arg[iarg],"kmax/ewald") == 0) { +kspace.cpp: error->all(FLERR,"Bad kspace_modify kmax/ewald parameter"); +kspace.cpp: } else if (strcmp(arg[iarg],"mix/disp") == 0) { +kspace.cpp: } else if (strcmp(arg[iarg],"force/disp/real") == 0) { +kspace.cpp: } else if (strcmp(arg[iarg],"force/disp/kspace") == 0) { +kspace.cpp: } else if (strcmp(arg[iarg],"pressure/scalar") == 0) { +kspace.cpp: } else if (strcmp(arg[iarg],"disp/auto") == 0) { +kspace.cpp:/* ---------------------------------------------------------------------- */ +lammps.cpp:/* ---------------------------------------------------------------------- +lammps.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +lammps.cpp: http://lammps.sandia.gov, Sandia National Laboratories +lammps.cpp:------------------------------------------------------------------------- */ +lammps.cpp:/* ---------------------------------------------------------------------- +lammps.cpp:------------------------------------------------------------------------- */ +lammps.cpp: // parse input switches +lammps.cpp: // delimit any extra args for the Kokkos instantiation +lammps.cpp: // delimit args for package command invocation +lammps.cpp: // any package arg with leading "-" will be followed by numeric digit +lammps.cpp: // hybrid option to set fall-back for suffix2 +lammps.cpp: // check for restart remap flag +lammps.cpp: // delimit any extra args for the write_data command +lammps.cpp: // if no partition command-line switch, universe is one world with all procs +lammps.cpp: // sum of procs in all worlds must equal total # of procs +lammps.cpp: // universe cannot use stdin for input file +lammps.cpp: // if no partition command-line switch, cannot use -pscreen option +lammps.cpp: // if no partition command-line switch, cannot use -plog option +lammps.cpp: // set universe screen and logfile +lammps.cpp: // make universe and single world the same, since no partition switch +lammps.cpp: // world inherits settings from universe +lammps.cpp: // set world screen, logfile, communicator, infile +lammps.cpp: // open input script if from file +lammps.cpp: // universe is one or more worlds, as setup by partition switch +lammps.cpp: // split universe communicator into separate world communicators +lammps.cpp: // set world screen, logfile, communicator, infile +lammps.cpp: // open input script +lammps.cpp: // screen and logfile messages for universe and world +lammps.cpp: // check consistency of datatype settings in lmptype.h +lammps.cpp: // create Kokkos class if KOKKOS installed, unless explicitly switched off +lammps.cpp: // instantiation creates dummy Kokkos class if KOKKOS is not installed +lammps.cpp: // add args between kkfirst and kklast to Kokkos instantiation +lammps.cpp: // allocate CiteMe class if enabled +lammps.cpp: // allocate input class now that MPI is fully setup +lammps.cpp: // copy package cmdline arguments +lammps.cpp: // allocate top-level classes +lammps.cpp: // if helpflag set, print help and quit with "success" status +lammps.cpp: // if restartflag set, invoke 2 commands and quit +lammps.cpp: // add args between wdfirst and wdlast to write_data command +lammps.cpp: // also add "noinit" to prevent write_data from doing system init +lammps.cpp:/* ---------------------------------------------------------------------- +lammps.cpp:------------------------------------------------------------------------- */ +lammps.cpp: totalclock = (totalclock - seconds) / 60.0; +lammps.cpp: int hours = (totalclock - minutes) / 60.0; +lammps.cpp:/* ---------------------------------------------------------------------- +lammps.cpp:------------------------------------------------------------------------- */ +lammps.cpp: force = NULL; // Domain->Lattice checks if Force exists +lammps.cpp: // Comm class must be created before Atom class +lammps.cpp: // so that nthreads is defined when create_avec invokes grow() +lammps.cpp: atom->create_avec("atomic/kk",0,NULL,1); +lammps.cpp: force = new Force(this); // must be after group, to create temperature +lammps.cpp: output = new Output(this); // must be after group, so "all" exists +lammps.cpp: // must be after modify so can create Computes +lammps.cpp: update = new Update(this); // must be after output, force, neighbor +lammps.cpp:/* ---------------------------------------------------------------------- +lammps.cpp:------------------------------------------------------------------------- */ +lammps.cpp: // default package command triggered by "-k on" +lammps.cpp: // suffix will always be set if suffix_enable = 1 +lammps.cpp: // check that KOKKOS package classes were instantiated +lammps.cpp: // check that GPU, INTEL, USER-OMP fixes were compiled with LAMMPS +lammps.cpp: // invoke any command-line package commands +lammps.cpp:/* ---------------------------------------------------------------------- +lammps.cpp:------------------------------------------------------------------------- */ +lammps.cpp: force->init(); // pair must come after update due to minimizer +lammps.cpp: atom->init(); // atom must come after force and domain +lammps.cpp: // atom deletes extra array +lammps.cpp: // used by fix shear_history::unpack_restart() +lammps.cpp: // when force->pair->gran_history creates fix +lammps.cpp: // atom_vec init uses deform_vremap +lammps.cpp: modify->init(); // modify must come after update, force, atom, domain +lammps.cpp: neighbor->init(); // neighbor must come after force, modify +lammps.cpp: comm->init(); // comm must come after force, modify, neighbor, atom +lammps.cpp: output->init(); // output must come after domain, force, modify +lammps.cpp:/* ---------------------------------------------------------------------- +lammps.cpp:------------------------------------------------------------------------- */ +lammps.cpp: delete modify; // modify must come after output, force, update +lammps.cpp: // since they delete fixes +lammps.cpp: delete domain; // domain must come after modify +lammps.cpp: // since fix destructors access domain +lammps.cpp: delete atom; // atom must come after modify, neighbor +lammps.cpp: // since fixes delete callbacks in atom +lammps.cpp:/* ---------------------------------------------------------------------- +lammps.cpp:------------------------------------------------------------------------- */ +lammps.cpp: // if output is "stdout", use a pipe to a pager for paged output. +lammps.cpp: // this will avoid the most important help text to rush past the +lammps.cpp: // user. scrollback buffers are often not large enough. this is most +lammps.cpp: // beneficial to windows users, who are not used to command line. +lammps.cpp: // reset to original state, if pipe command failed +lammps.cpp: // general help message about command line and flags +lammps.cpp: "\nLarge-scale Atomic/Molecular Massively Parallel Simulator - " +lammps.cpp: "-echo none/screen/log/both : echoing of input script (-e)\n" +lammps.cpp: "-kokkos on/off ... : turn KOKKOS mode on or off (-k)\n" +lammps.cpp: "-log none/filename : where to send log output (-l)\n" +lammps.cpp: "-screen none/filename : where to send screen output (-sc)\n" +lammps.cpp: "-suffix gpu/intel/opt/omp : style suffix to apply (-sf)\n" +lammps.cpp: // close pipe to pager, if active +lammps.cpp:/* ---------------------------------------------------------------------- +lammps.cpp:------------------------------------------------------------------------- */ +lattice.cpp:/* ---------------------------------------------------------------------- +lattice.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +lattice.cpp: http://lammps.sandia.gov, Sandia National Laboratories +lattice.cpp:------------------------------------------------------------------------- */ +lattice.cpp:/* ---------------------------------------------------------------------- */ +lattice.cpp: // parse style arg +lattice.cpp: // Domain creates a default lattice of style "none" +lattice.cpp: // before Force class is instantiated, just use atof() in that case +lattice.cpp: // check that lattice matches dimension +lattice.cpp: // style CUSTOM can be either 2d or 3d +lattice.cpp: // scale = conversion factor between lattice and box units +lattice.cpp: // set basis atoms for each style +lattice.cpp: // x,y,z = fractional coords within unit cell +lattice.cpp: // style CUSTOM will be defined by optional args +lattice.cpp: add_basis(0.5,5.0/6.0,0.5); +lattice.cpp: add_basis(0.0,1.0/3.0,0.5); +lattice.cpp: // set defaults for optional args +lattice.cpp: a3[2] = sqrt(8.0/3.0); +lattice.cpp: // process optional args +lattice.cpp: // check settings for errors +lattice.cpp: // reset scale for LJ units (input scale is rho*) +lattice.cpp: // scale = (Nbasis/(Vprimitive * rho*)) ^ (1/dim) +lattice.cpp: scale = pow(nbasis/volume/scale,1.0/dimension); +lattice.cpp: // initialize lattice <-> box transformation matrices +lattice.cpp: // convert 8 corners of primitive unit cell from lattice coords to box coords +lattice.cpp: // min to max = bounding box around the pts in box space +lattice.cpp: // xlattice,ylattice,zlattice = extent of bbox in box space +lattice.cpp: // set xlattice,ylattice,zlattice to 0.0 initially +lattice.cpp: // since bbox uses them to shift origin (irrelevant for this computation) +lattice.cpp: // print lattice spacings +lattice.cpp:/* ---------------------------------------------------------------------- */ +lattice.cpp:/* ---------------------------------------------------------------------- +lattice.cpp:------------------------------------------------------------------------- */ +lattice.cpp:/* ---------------------------------------------------------------------- +lattice.cpp:------------------------------------------------------------------------- */ +lattice.cpp:/* ---------------------------------------------------------------------- +lattice.cpp:------------------------------------------------------------------------- */ +lattice.cpp:/* ---------------------------------------------------------------------- +lattice.cpp:------------------------------------------------------------------------- */ +lattice.cpp: // primitive = 3x3 matrix with primitive vectors as columns +lattice.cpp: // priminv = inverse of primitive +lattice.cpp: primitive[1][2]*primitive[2][1]) / determinant; +lattice.cpp: primitive[1][0]*primitive[2][2]) / determinant; +lattice.cpp: primitive[1][1]*primitive[2][0]) / determinant; +lattice.cpp: primitive[0][1]*primitive[2][2]) / determinant; +lattice.cpp: primitive[0][2]*primitive[2][0]) / determinant; +lattice.cpp: primitive[0][0]*primitive[2][1]) / determinant; +lattice.cpp: primitive[0][2]*primitive[1][1]) / determinant; +lattice.cpp: primitive[0][0]*primitive[1][2]) / determinant; +lattice.cpp: primitive[0][1]*primitive[1][0]) / determinant; +lattice.cpp: // rotaterow = 3x3 matrix with normalized orient vectors as rows +lattice.cpp: rotaterow[0][0] = orientx[0] / length; +lattice.cpp: rotaterow[0][1] = orientx[1] / length; +lattice.cpp: rotaterow[0][2] = orientx[2] / length; +lattice.cpp: rotaterow[1][0] = orienty[0] / length; +lattice.cpp: rotaterow[1][1] = orienty[1] / length; +lattice.cpp: rotaterow[1][2] = orienty[2] / length; +lattice.cpp: rotaterow[2][0] = orientz[0] / length; +lattice.cpp: rotaterow[2][1] = orientz[1] / length; +lattice.cpp: rotaterow[2][2] = orientz[2] / length; +lattice.cpp: // rotatecol = 3x3 matrix with normalized orient vectors as columns +lattice.cpp:/* ---------------------------------------------------------------------- +lattice.cpp:------------------------------------------------------------------------- */ +lattice.cpp:/* ---------------------------------------------------------------------- +lattice.cpp: transformation: xyz_latt = P_inv * 1/scale * Rotate_col * (xyz_box - offset) +lattice.cpp:------------------------------------------------------------------------- */ +lattice.cpp: x1 /= scale; +lattice.cpp: y1 /= scale; +lattice.cpp: z1 /= scale; +lattice.cpp:/* ---------------------------------------------------------------------- +lattice.cpp:------------------------------------------------------------------------- */ +lattice.cpp:/* ---------------------------------------------------------------------- +lattice.cpp:------------------------------------------------------------------------- */ +lattice.cpp:/* ---------------------------------------------------------------------- +lattice.cpp:------------------------------------------------------------------------- */ +lattice.cpp:/* ---------------------------------------------------------------------- +lattice.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +library.cpp: http://lammps.sandia.gov, Sandia National Laboratories +library.cpp:------------------------------------------------------------------------- */ +library.cpp:// C or Fortran style library interface to LAMMPS +library.cpp:// customize by adding new LAMMPS-specific functions +library.cpp:// ---------------------------------------------------------------------- +library.cpp:// utility macros +library.cpp:// ---------------------------------------------------------------------- +library.cpp:/* ---------------------------------------------------------------------- +library.cpp: // code paths which might throw exception +library.cpp:------------------------------------------------------------------------- */ +library.cpp:// ---------------------------------------------------------------------- +library.cpp:// helper functions, not in library API +library.cpp:// ---------------------------------------------------------------------- +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:// ---------------------------------------------------------------------- +library.cpp:// library API functions to create/destroy an instance of LAMMPS +library.cpp:// and communicate commands to it +library.cpp:// ---------------------------------------------------------------------- +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp: char *str = (char *) lmp->memory->smalloc(n,"lib/commands/list:str"); +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp: // make copy of str so can strtok() it +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:// ---------------------------------------------------------------------- +library.cpp:// library API functions to extract info from LAMMPS or set info in LAMMPS +library.cpp:// ---------------------------------------------------------------------- +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp: // update->atime can be referenced as a pointer +library.cpp: // thermo "timer" data cannot be, since it is computed on request +library.cpp: // lammps_get_thermo() can access all thermo keywords by value +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp: returns a NULL if id is not recognized or style/type not supported +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp: returns a NULL if id is not recognized or style/type not supported +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp: // error if tags are not defined or not consecutive +library.cpp: // copy = Natom length vector of per-atom values +library.cpp: // use atom ID to insert each atom's values into copy +library.cpp: // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID +library.cpp: lmp->memory->create(copy,count*natoms,"lib/gather:copy"); +library.cpp: lmp->memory->create(copy,count*natoms,"lib/gather:copy"); +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp: // error if tags are not defined or not consecutive or no atom map +library.cpp: // copy = Natom length vector of per-atom values +library.cpp: // use atom ID to insert each atom's values into copy +library.cpp: // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp: // error if box does not exist or tags not defined +library.cpp: // loop over N atoms of entire system +library.cpp: // if this proc owns it based on coords, invoke create_atom() +library.cpp: // optionally set atom tags and velocities +library.cpp: // need to reset atom->natoms inside LAMMPS +library.cpp: // init per-atom fix/compute/variable values for created atoms +library.cpp: // if global map exists, reset it +library.cpp: // invoke map_init() b/c atom count has grown +library.cpp: // warn if new natoms is not correct +library.cpp:// ---------------------------------------------------------------------- +library.cpp:// library API functions for error handling +library.cpp:// ---------------------------------------------------------------------- +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +library.cpp:/* ---------------------------------------------------------------------- +library.cpp:------------------------------------------------------------------------- */ +main.cpp:/* ---------------------------------------------------------------------- +main.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +main.cpp: http://lammps.sandia.gov, Sandia National Laboratories +main.cpp:------------------------------------------------------------------------- */ +main.cpp:/* ---------------------------------------------------------------------- +main.cpp:------------------------------------------------------------------------- */ +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +math_extra.cpp: http://lammps.sandia.gov, Sandia National Laboratories +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp: // create augmented matrix for pivoting +math_extra.cpp: double m = aug[j][i]/aug[i][i]; +math_extra.cpp: // back substitution +math_extra.cpp: ans[2] = aug[2][3]/aug[2][2]; +math_extra.cpp: ans[i] = (aug[i][3]-sumax) / aug[i][i]; +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp: if (iter < 4) tresh = 0.2*sm/(3*3); +math_extra.cpp: if (fabs(h)+g == fabs(h)) t = (matrix[i][j])/h; +math_extra.cpp: theta = 0.5*h/(matrix[i][j]); +math_extra.cpp: t = 1.0/(fabs(theta)+sqrt(1.0+theta*theta)); +math_extra.cpp: c = 1.0/sqrt(1.0+t*t); +math_extra.cpp: tau = s/(1.0+c); +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp: also returns updated omega at 1/2 step +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp: // full update from dq/dt = 1/2 w q +math_extra.cpp: // 1st half update from dq/dt = 1/2 w q +math_extra.cpp: // re-compute omega at 1/2 step from m at 1/2 step and q at 1/2 step +math_extra.cpp: // recompute wq +math_extra.cpp: // 2nd half update from dq/dt = 1/2 w q +math_extra.cpp: // corrected Richardson update +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp: // apply permuation operator on p and q, get kp and kq +math_extra.cpp: // obtain phi, cosines and sines +math_extra.cpp: else phi /= 4.0 * inertia[k-1]; +math_extra.cpp: // advance p and q +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp: wbody = Mbody / Idiag +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp: else wbody[0] = (m[0]*ex[0] + m[1]*ex[1] + m[2]*ex[2]) / idiag[0]; +math_extra.cpp: else wbody[1] = (m[0]*ey[0] + m[1]*ey[1] + m[2]*ey[2]) / idiag[1]; +math_extra.cpp: else wbody[2] = (m[0]*ez[0] + m[1]*ez[1] + m[2]*ez[2]) / idiag[2]; +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp: else wbody[0] /= moments[0]; +math_extra.cpp: else wbody[1] /= moments[1]; +math_extra.cpp: else wbody[2] /= moments[2]; +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp: // squares of quaternion components +math_extra.cpp: // some component must be greater than 1/4 since they sum to 1 +math_extra.cpp: // compute other components from it +math_extra.cpp: q[1] = (ey[2] - ez[1]) / (4.0*q[0]); +math_extra.cpp: q[2] = (ez[0] - ex[2]) / (4.0*q[0]); +math_extra.cpp: q[3] = (ex[1] - ey[0]) / (4.0*q[0]); +math_extra.cpp: q[0] = (ey[2] - ez[1]) / (4.0*q[1]); +math_extra.cpp: q[2] = (ey[0] + ex[1]) / (4.0*q[1]); +math_extra.cpp: q[3] = (ex[2] + ez[0]) / (4.0*q[1]); +math_extra.cpp: q[0] = (ez[0] - ex[2]) / (4.0*q[2]); +math_extra.cpp: q[1] = (ey[0] + ex[1]) / (4.0*q[2]); +math_extra.cpp: q[3] = (ez[1] + ey[2]) / (4.0*q[2]); +math_extra.cpp: q[0] = (ex[1] - ey[0]) / (4.0*q[3]); +math_extra.cpp: q[1] = (ez[0] + ex[2]) / (4.0*q[3]); +math_extra.cpp: q[2] = (ez[1] + ey[2]) / (4.0*q[3]); +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp: idiag[1] = 1.0/12.0 * mass * length*length; +math_extra.cpp: idiag[2] = 1.0/12.0 * mass * length*length; +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp: from http://en.wikipedia.org/wiki/Inertia_tensor_of_triangle +math_extra.cpp: inertia tensor = a/24 (v0^2 + v1^2 + v2^2 + (v0+v1+v2)^2) I - a Vt S V +math_extra.cpp: S = 1/24 [2 1 1] +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp: double inv24 = mass/24.0; +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp:------------------------------------------------------------------------- */ +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp: ------------------------------------------------------------------------- */ +math_extra.cpp: const double cosAngle = (1.0 - angleSq * 0.25) / (1.0 + angleSq * 0.25); +math_extra.cpp: const double sinAngle = angle / (1.0 + angleSq * 0.25); +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp: ------------------------------------------------------------------------- */ +math_extra.cpp: const double cosAngle = (1.0 - angleSq * 0.25) / (1.0 + angleSq * 0.25); +math_extra.cpp: const double sinAngle = angle / (1.0 + angleSq * 0.25); +math_extra.cpp:/* ---------------------------------------------------------------------- +math_extra.cpp: ------------------------------------------------------------------------- */ +math_extra.cpp: const double cosAngle = (1.0 - angleSq * 0.25) / (1.0 + angleSq * 0.25); +math_extra.cpp: const double sinAngle = angle / (1.0 + angleSq * 0.25); +math_extra.cpp:/* ---------------------------------------------------------------------- */ +math_special.cpp:/* Library libcerf: +math_special.cpp: * distribute, sublicense, and/or sell copies of the Software, and to +math_special.cpp: * http://apps.jcns.fz-juelich.de/libcerf +math_special.cpp: * ../CHANGELOG +math_special.cpp: */ +math_special.cpp:/******************************************************************************/ +math_special.cpp:/* Lookup-table for Chebyshev polynomials for smaller |x| */ +math_special.cpp:/******************************************************************************/ +math_special.cpp: // Steven G. Johnson, October 2012. +math_special.cpp: // Given y100=100*y, where y = 4/(4+x) for x >= 0, compute erfc(x). +math_special.cpp: // Uses a look-up table of 100 different Chebyshev polynomials +math_special.cpp: // for y intervals [0,0.01], [0.01,0.02], ...., [0.99,1], generated +math_special.cpp: // with the help of Maple and a little shell script. This allows +math_special.cpp: // the Chebyshev polynomials to be of significantly lower degree (about 1/4) +math_special.cpp: // compared to fitting the whole [0,1] interval with a single polynomial. +math_special.cpp: /* we only get here if y = 1, i.e. |x| < 4*eps, in which case +math_special.cpp: * erfcx is within 1e-15 of 1.. */ +math_special.cpp:} /* erfcx_y100 */ +math_special.cpp:/* optimizer friendly implementation of exp2(x). +math_special.cpp: */ +math_special.cpp:/* IEEE 754 double precision floating point data manipulation */ +math_special.cpp:/* 1.00000000000000000000e0, */ +math_special.cpp: x = 1.0 + 2.0*(px/(qx-px)); +memory.cpp:/* ---------------------------------------------------------------------- +memory.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +memory.cpp: http://lammps.sandia.gov, Sandia National Laboratories +memory.cpp:------------------------------------------------------------------------- */ +memory.cpp:#include "tbb/scalable_allocator.h" +memory.cpp:/* ---------------------------------------------------------------------- */ +memory.cpp:/* ---------------------------------------------------------------------- +memory.cpp:------------------------------------------------------------------------- */ +memory.cpp:/* ---------------------------------------------------------------------- +memory.cpp:------------------------------------------------------------------------- */ +memory.cpp:/* ---------------------------------------------------------------------- +memory.cpp:------------------------------------------------------------------------- */ +memory.cpp:/* ---------------------------------------------------------------------- +memory.cpp: erroneous usage of templated create/grow functions +memory.cpp:------------------------------------------------------------------------- */ +memory.cpp: sprintf(str,"Cannot create/grow a vector/array of pointers for %s",name); +min_cg.cpp:/* ---------------------------------------------------------------------- +min_cg.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +min_cg.cpp: http://lammps.sandia.gov, Sandia National Laboratories +min_cg.cpp:------------------------------------------------------------------------- */ +min_cg.cpp:// EPS_ENERGY = minimum normalization for energy tolerance +min_cg.cpp:/* ---------------------------------------------------------------------- */ +min_cg.cpp:/* ---------------------------------------------------------------------- +min_cg.cpp:------------------------------------------------------------------------- */ +min_cg.cpp: // nlimit = max # of CG iterations before restarting +min_cg.cpp: // set to ndoftotal unless too big +min_cg.cpp: // initialize working vectors +min_cg.cpp: // line minimization along direction h from current atom->x +min_cg.cpp: // function evaluation criterion +min_cg.cpp: // energy tolerance criterion +min_cg.cpp: // force tolerance criterion +min_cg.cpp: // update new search direction h from new f = -Grad(x) and old g +min_cg.cpp: // this is Polak-Ribieri formulation +min_cg.cpp: // beta = dotall[0]/gg would be Fletcher-Reeves +min_cg.cpp: // reinitialize CG every ndof iterations by setting beta = 0.0 +min_cg.cpp: beta = MAX(0.0,(dotall[0] - dotall[1])/gg); +min_cg.cpp: // reinitialize CG if new search direction h is not downhill +min_cg.cpp: // output for thermo, dump, restart files +min.cpp:/* ---------------------------------------------------------------------- +min.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +min.cpp: http://lammps.sandia.gov, Sandia National Laboratories +min.cpp:------------------------------------------------------------------------- */ +min.cpp:/* ---------------------------------------------------------------------- +min.cpp: JR Shewchuk, http://www-2.cs.cmu.edu/~jrs/jrspapers.html#cg +min.cpp:------------------------------------------------------------------------- */ +min.cpp:/* ---------------------------------------------------------------------- */ +min.cpp:/* ---------------------------------------------------------------------- */ +min.cpp:/* ---------------------------------------------------------------------- */ +min.cpp: // create fix needed for storing atom-based quantities +min.cpp: // will delete it at end of run +min.cpp: // clear out extra global and per-atom dof +min.cpp: // will receive requests for new per-atom dof during pair init() +min.cpp: // can then add vectors to fix_minimize in setup() +min.cpp: // virial_style: +min.cpp: // 1 if computed explicitly by pair->compute via sum over pair interactions +min.cpp: // 2 if computed implicitly by pair->virial_compute via sum over ghost atoms +min.cpp: // setup lists of computes for global and per-atom PE and pressure +min.cpp: // detect if fix omp is present for clearing force arrays +min.cpp: // set flags for arrays to clear in force_clear() +min.cpp: // allow pair and Kspace compute() to be turned off via modify flags +min.cpp: // orthogonal vs triclinic simulation box +min.cpp: // reset reneighboring criteria if necessary +min.cpp:/* ---------------------------------------------------------------------- +min.cpp:------------------------------------------------------------------------- */ +min.cpp: // setup extra global dof due to fixes +min.cpp: // cannot be done in init() b/c update init() is before modify init() +min.cpp: // compute for potential energy +min.cpp: // style-specific setup does two tasks +min.cpp: // setup extra global dof vectors +min.cpp: // setup extra per-atom dof vectors due to requests from Pair classes +min.cpp: // cannot be done in init() b/c update init() is before modify/pair init() +min.cpp: // ndoftotal = total dof for entire minimization problem +min.cpp: // dof for atoms, extra per-atom, extra global +min.cpp: // setup domain, communication and neighboring +min.cpp: // acquire ghosts +min.cpp: // build neighbor lists +min.cpp: // remove these restriction eventually +min.cpp: "Cannot use a damped dynamics min style with fix box/relax"); +min.cpp: error->all(FLERR, "Cannot use hftn min style with fix box/relax"); +min.cpp: // atoms may have migrated in comm->exchange() +min.cpp: // compute all forces +min.cpp: // update per-atom minimization variables stored by pair styles +min.cpp: // stats for initial thermo output +min.cpp: if (output->thermo->normflag) ecurrent /= atom->natoms; +min.cpp:/* ---------------------------------------------------------------------- +min.cpp:------------------------------------------------------------------------- */ +min.cpp: // setup domain, communication and neighboring +min.cpp: // acquire ghosts +min.cpp: // build neighbor lists +min.cpp: // atoms may have migrated in comm->exchange() +min.cpp: // compute all forces +min.cpp: // update per-atom minimization variables stored by pair styles +min.cpp: // stats for Finish to print +min.cpp: if (output->thermo->normflag) ecurrent /= atom->natoms; +min.cpp:/* ---------------------------------------------------------------------- +min.cpp:------------------------------------------------------------------------- */ +min.cpp: // minimizer iterations +min.cpp: // if early exit from iterate loop: +min.cpp: // set update->nsteps to niter for Finish stats to print +min.cpp: // set output->next values to this timestep +min.cpp: // call energy_force() to insure vflag is set when forces computed +min.cpp: // output->write does final output for thermo, dump, restart files +min.cpp: // add ntimestep to all computes that store invocation times +min.cpp: // since are hardwiring call to thermo/dumps and computes may not be ready +min.cpp:/* ---------------------------------------------------------------------- */ +min.cpp: // stats for Finish to print +min.cpp: // reset reneighboring criteria +min.cpp: // delete fix at end of run, so its atom arrays won't persist +min.cpp:/* ---------------------------------------------------------------------- +min.cpp:------------------------------------------------------------------------- */ +min.cpp: // check for reneighboring +min.cpp: // always communicate since minimizer moved atoms +min.cpp: // update per-atom minimization variables stored by pair styles +min.cpp: // fixes that affect minimization +min.cpp: // compute potential energy of system +min.cpp: // normalize if thermo PE does +min.cpp: if (output->thermo->normflag) energy /= atom->natoms; +min.cpp: // if reneighbored, atoms migrated +min.cpp: // if resetflag = 1, update x0 of atoms crossing PBC +min.cpp: // reset vectors used by lo-level minimizer +min.cpp:/* ---------------------------------------------------------------------- +min.cpp:------------------------------------------------------------------------- */ +min.cpp: // clear global force array +min.cpp: // if either newton flag is set, also include ghosts +min.cpp:/* ---------------------------------------------------------------------- +min.cpp:------------------------------------------------------------------------- */ +min.cpp:/* ---------------------------------------------------------------------- */ +min.cpp:/* ---------------------------------------------------------------------- +min.cpp:------------------------------------------------------------------------- */ +min.cpp:/* ---------------------------------------------------------------------- +min.cpp: eflag/vflag based on computes that need info on this ntimestep +min.cpp:------------------------------------------------------------------------- */ +min.cpp:/* ---------------------------------------------------------------------- +min.cpp:------------------------------------------------------------------------- */ +min.cpp:/* ---------------------------------------------------------------------- +min.cpp:------------------------------------------------------------------------- */ +min.cpp:/* ---------------------------------------------------------------------- +min.cpp:------------------------------------------------------------------------- */ +min_fire.cpp:/* ---------------------------------------------------------------------- +min_fire.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +min_fire.cpp: http://lammps.sandia.gov, Sandia National Laboratories +min_fire.cpp:------------------------------------------------------------------------- */ +min_fire.cpp:// EPS_ENERGY = minimum normalization for energy tolerance +min_fire.cpp:/* ---------------------------------------------------------------------- */ +min_fire.cpp:/* ---------------------------------------------------------------------- */ +min_fire.cpp:/* ---------------------------------------------------------------------- */ +min_fire.cpp:/* ---------------------------------------------------------------------- +min_fire.cpp:------------------------------------------------------------------------- */ +min_fire.cpp: // atomic dof +min_fire.cpp:/* ---------------------------------------------------------------------- */ +min_fire.cpp: // vdotfall = v dot f +min_fire.cpp: // sum vdotf over replicas, if necessary +min_fire.cpp: // this communicator would be invalid for multiprocess replicas +min_fire.cpp: // if (v dot f) > 0: +min_fire.cpp: // v = (1-alpha) v + alpha |v| Fhat +min_fire.cpp: // |v| = length of v, Fhat = unit f +min_fire.cpp: // if more than DELAYSTEP since v dot f was negative: +min_fire.cpp: // increase timestep and decrease alpha +min_fire.cpp: // sum vdotv over replicas, if necessary +min_fire.cpp: // this communicator would be invalid for multiprocess replicas +min_fire.cpp: // sum fdotf over replicas, if necessary +min_fire.cpp: // this communicator would be invalid for multiprocess replicas +min_fire.cpp: else scale2 = alpha * sqrt(vdotvall/fdotfall); +min_fire.cpp: // else (v dot f) <= 0: +min_fire.cpp: // decrease timestep, reset alpha, set v = 0 +min_fire.cpp: // limit timestep so no particle moves further than dmax +min_fire.cpp: if (dtvone*vmax > dmax) dtvone = dmax/vmax; +min_fire.cpp: // min dtv over replicas, if necessary +min_fire.cpp: // this communicator would be invalid for multiprocess replicas +min_fire.cpp: // Euler integration step +min_fire.cpp: dtfm = dtf / rmass[i]; +min_fire.cpp: dtfm = dtf / mass[type[i]]; +min_fire.cpp: // energy tolerance criterion +min_fire.cpp: // only check after DELAYSTEP elapsed since velocties reset to 0 +min_fire.cpp: // sync across replicas if running multi-replica minimization +min_fire.cpp: // force tolerance criterion +min_fire.cpp: // sync across replicas if running multi-replica minimization +min_fire.cpp: // output for thermo, dump, restart files +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +min_hftn.cpp: http://lammps.sandia.gov, Sandia National Laboratories +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp://---- CONSTANTS MAP TO stopstrings DECLARED IN Min.run (min.cpp). +min_hftn.cpp:static const int STOP_MAX_ITER = Min::MAXITER; //-- MAX ITERATIONS EXCEEDED +min_hftn.cpp:static const int STOP_MAX_FORCE_EVALS = Min::MAXEVAL; //-- MAX FORCE EVALUATIONS EXCEEDED +min_hftn.cpp:static const int STOP_ENERGY_TOL = Min::ETOL; //-- STEP DID NOT CHANGE ENERGY +min_hftn.cpp:static const int STOP_FORCE_TOL = Min::FTOL; //-- CONVERGED TO DESIRED FORCE TOL +min_hftn.cpp:static const int STOP_TR_TOO_SMALL = Min::TRSMALL; //-- TRUST REGION TOO SMALL +min_hftn.cpp:static const int STOP_ERROR = Min::INTERROR; //-- INTERNAL ERROR +min_hftn.cpp://---- WHEN TESTING ENERGY_TOL, THE ENERGY MAGNITUDE MUST BE AT LEAST THIS BIG. +min_hftn.cpp://---- MACHINE PRECISION IS SOMETIMES DEFINED BY THE C RUNTIME. +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp: //---- ALLOCATE MEMORY FOR ATOMIC DEGREES OF FREEDOM. +min_hftn.cpp: //---- ALLOCATE MEMORY FOR EXTRA GLOBAL DEGREES OF FREEDOM. +min_hftn.cpp: //---- THE FIX MODULE TAKES CARE OF THE FIRST VECTOR, X0 (XK). +min_hftn.cpp: //---- ALLOCATE MEMORY FOR EXTRA PER-ATOM DEGREES OF FREEDOM. +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp: After an energy/force calculation, atoms may migrate from one processor +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp: //---- ATOMIC DEGREES OF FREEDOM. +min_hftn.cpp: //---- EXTRA PER-ATOM DEGREES OF FREEDOM. +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp: //---- TURN THIS ON TO GENERATE AN OPTIMIZATION PROGRESS FILE. +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp: //---- DEFINE OUTPUTS PRINTED BY "Finish". +min_hftn.cpp: //---- SAVE ATOM POSITIONS BEFORE AN ITERATION. +min_hftn.cpp: //---- FIND THE NUMBER OF UNKNOWNS. +min_hftn.cpp: //---- INITIALIZE THE TRUST RADIUS BASED ON THE GRADIENT. +min_hftn.cpp: //---- TRUST RADIUS MUST KEEP STEPS FROM LETTING ATOMS MOVE SO FAR THEY +min_hftn.cpp: //---- VIOLATE PHYSICS OR JUMP BEYOND A PARALLEL PROCESSING DOMAIN. +min_hftn.cpp: //---- LINE SEARCH METHODS DO THIS BY RESTRICTING THE LARGEST CHANGE +min_hftn.cpp: //---- OF ANY ATOM'S COMPONENT TO dmax. AN EXACT CHECK IS MADE LATER, +min_hftn.cpp: //---- BUT THIS GUIDES DETERMINATION OF A MAX TRUST RADIUS. +min_hftn.cpp: //---- CALL THE INNER LOOP TO GET THE NEXT TRUST REGION STEP. +min_hftn.cpp: double dCgForce2StopTol = MIN ((dCurrentForce2 / 2.0), 0.1 / (niter+1)); +min_hftn.cpp: //---- THERE WAS AN ERROR. RESTORE TO LAST ACCEPTED STEP. +min_hftn.cpp: //---- STOP IF THE CURRENT POSITION WAS FOUND TO BE ALREADY GOOD ENOUGH. +min_hftn.cpp: //---- IN THIS CASE THE ENERGY AND FORCES ARE ALREADY COMPUTED. +min_hftn.cpp: //---- COMPUTE THE DIRECTIONAL DERIVATIVE H(x_k) p. +min_hftn.cpp: //---- COMPUTE p^T grad(x_k) AND SAVE IT FOR PRED. +min_hftn.cpp: //---- MOVE TO THE NEW POINT AND EVALUATE ENERGY AND FORCES. +min_hftn.cpp: //---- THIS IS THE PLACE WHERE energy_force IS ALLOWED TO RESET. +min_hftn.cpp: //---- STOP IF THE FORCE TOLERANCE IS MET. +min_hftn.cpp: //---- (IMPLICITLY ACCEPT THE LAST STEP TO THE NEW POINT.) +min_hftn.cpp: //---- STOP IF THE ACTUAL ENERGY REDUCTION IS TINY. +min_hftn.cpp: //---- (IMPLICITLY ACCEPT THE LAST STEP TO THE NEW POINT.) +min_hftn.cpp: //---- COMPUTE THE PREDICTED REDUCTION - p^T grad - 0.5 p^T Hp +min_hftn.cpp: //---- ACCEPT OR REJECT THE STEP PROPOSED BY THE INNER CG LOOP. +min_hftn.cpp: //---- WHEN NEAR A SOLUTION, THE FORCE NORM IS PROBABLY MORE ACCURATE, +min_hftn.cpp: //---- SO DON'T ACCEPT A STEP THAT REDUCES ENERGY SOME TINY AMOUNT +min_hftn.cpp: //---- WHILE INCREASING THE FORCE NORM. +min_hftn.cpp: //---- THE STEP IS ACCEPTED. +min_hftn.cpp: //---- UPDATE THE TRUST REGION BASED ON AGREEMENT BETWEEN +min_hftn.cpp: //---- THE ACTUAL REDUCTION AND THE PREDICTED MODEL REDUCTION. +min_hftn.cpp: //---- DMAX VIOLATIONS TRUNCATE THE CG STEP WITHOUT COMPARISONS; +min_hftn.cpp: //---- BETTER TO ADJUST THE TRUST REGION SO DMAX STOPS HAPPENING. +min_hftn.cpp: //---- THE STEP IS REJECTED. +min_hftn.cpp: //---- RESTORE THE LAST X_K POSITION. +min_hftn.cpp: //---- UPDATE THE TRUST REGION. +min_hftn.cpp: //---- EXPERIMENTS INDICATE NEGATIVE CURVATURE CAN TAKE A BAD +min_hftn.cpp: //---- STEP A LONG WAY, SO BE MORE AGGRESSIVE IN THIS CASE. +min_hftn.cpp: //---- ALSO, IF NEAR A SOLUTION AND DONE WITH NEWTON STEPS, +min_hftn.cpp: //---- THEN REDUCE TO SOMETHING NEAR THE LAST GOOD NEWTON STEP. +min_hftn.cpp: //---- STOP IF THE TRUST RADIUS IS TOO SMALL TO CONTINUE. +min_hftn.cpp: //---- OUTPUT FOR thermo, dump, restart FILES. +min_hftn.cpp: //---- IF THE LAST STEP WAS REJECTED, THEN REEVALUATE ENERGY AND +min_hftn.cpp: //---- FORCES AT THE OLD POINT SO THE OUTPUT DOES NOT DISPLAY +min_hftn.cpp: //---- THE INCREASED ENERGY OF THE REJECTED STEP. +min_hftn.cpp: //---- RETURN IF NUMBER OF EVALUATIONS EXCEEDED. +min_hftn.cpp: } //-- END for LOOP OVER niter +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp: @param[in] nMaxEvals - total energy/force evaluations allowed +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp: //---- SET p_0 = 0. +min_hftn.cpp: //---- OBTAIN THE ENERGY AND FORCES AT THE INPUT POSITION. +min_hftn.cpp: //---- RETURN IMMEDIATELY IF THE FORCE TOLERANCE IS ALREADY MET. +min_hftn.cpp: //---- THE STEP TYPE INFORMS THE CALLER THAT ENERGY AND FORCES HAVE +min_hftn.cpp: //---- BEEN EVALUATED. +min_hftn.cpp: //---- r_0 = -grad (FIRST SEARCH DIRECTION IS STEEPEST DESCENT) +min_hftn.cpp: //---- d_0 = r_0 +min_hftn.cpp: //---- REMEMBER THAT FORCES = -GRADIENT. +min_hftn.cpp: //---- LIMIT THE NUMBER OF INNER CG ITERATIONS. +min_hftn.cpp: //---- BASE IT ON THE NUMBER OF UNKNOWNS, OR MAXIMUM EVALUATIONS ASSUMING +min_hftn.cpp: //---- FORWARD DIFFERENCES ARE USED. +min_hftn.cpp: //---- NOTE THAT SETTING MAX=1 GIVES STEEPEST DESCENT. +min_hftn.cpp: int nLimit1 = _nNumUnknowns / 5; +min_hftn.cpp: int nLimit2 = (nMaxEvals - neval) / 2; +min_hftn.cpp: //---- FURTHER LIMIT ITERATIONS IF NEAR MACHINE ROUNDOFF. +min_hftn.cpp: //---- THE METHOD CAN WASTE A LOT EVALUATIONS WITH LITTLE PAYOFF PROSPECT. +min_hftn.cpp: nMaxInnerIters = MIN (nMaxInnerIters, _nNumUnknowns / 20); +min_hftn.cpp: //---- MAIN CG LOOP. +min_hftn.cpp: //---- COMPUTE HESSIAN-VECTOR PRODUCT: H(x_k) d_i. +min_hftn.cpp: //---- CALCULATE d_i^T H d_i AND d_i^T d_i. +min_hftn.cpp: //---- HANDLE NEGATIVE CURVATURE. +min_hftn.cpp: //---- PROJECT BOTH DIRECTIONS TO THE TRUST RADIUS AND DECIDE +min_hftn.cpp: //---- WHICH MAKES A BETTER PREDICTED REDUCTION. +min_hftn.cpp: //---- p_i^T H(x_k) d_i AND grad_i^T d_i. +min_hftn.cpp: //---- MOVE TO X_K AND COMPUTE ENERGY AND FORCES. +min_hftn.cpp: //---- MOVE THE POINT. +min_hftn.cpp: //---- COMPUTE THE OPTIMAL STEP LENGTH BASED ON THE QUADRATIC CG MODEL. +min_hftn.cpp: double dAlpha = dRR / dDHD; +min_hftn.cpp: //---- MIGHT WANT TO ENABLE THIS TO DEBUG INTERNAL CG STEPS. +min_hftn.cpp: //fprintf (_fpPrint, " alpha = %11.8f neval=%4d\n", dAlpha, neval); +min_hftn.cpp: //---- p_i+1 = p_i + alpha_i d_i +min_hftn.cpp: //---- (SAVE THE CURRENT p_i IN CASE THE STEP HAS TO BE SHORTENED.) +min_hftn.cpp: //---- COMPUTE VECTOR PRODUCTS p_i+1^T p_i+1 AND p_i^T d_i. +min_hftn.cpp: //---- IF STEP LENGTH IS TOO LARGE, THEN REDUCE IT AND RETURN. +min_hftn.cpp: //---- r_i+1 = r_i - alpha * H d_i +min_hftn.cpp: //---- IF RESIDUAL IS SMALL ENOUGH, THEN RETURN THE CURRENT STEP. +min_hftn.cpp: //---- beta = r_i+1^T r_i+1 / r_i^T r_i +min_hftn.cpp: //---- d_i+1 = r_i+1 + beta d_i +min_hftn.cpp: double dBeta = dRnewDotRnew / dRR; +min_hftn.cpp: //---- CONTINUE THE LOOP. +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp: //---- ASSUME THAT FORCES HAVE BEEN EVALUATED AT DESIRED ATOM POSITIONS. +min_hftn.cpp: //---- REMEMBER THAT FORCES = -GRADIENT. +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp: //---- STEP LENGTH IS NOT TOO LONG. +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp: dAlpha = MIN (dAlpha, dmax / dPInf); +min_hftn.cpp: dAlpha = MIN (dAlpha, extra_max[m] / dPInf); +min_hftn.cpp: //---- IF THE MAXIMUM DISTANCE THAT THE GLOBAL BOX CONSTRAINT WILL +min_hftn.cpp: //---- ALLOW IS SMALLER THAN THE PROPOSED DISTANCE, THEN THE STEP +min_hftn.cpp: //---- IS TOO LONG. PROPOSED DISTANCE IS ESTIMATED BY |P|_INF. +min_hftn.cpp: //---- STEP LENGTH IS NOT TOO LONG. +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp: //---- SOLVE A QUADRATIC EQUATION FOR TAU. +min_hftn.cpp: //---- THE COEFFICIENTS ARE SUCH THAT THERE ARE ALWAYS TWO REAL ROOTS, +min_hftn.cpp: //---- ONE POSITIVE AND ONE NEGATIVE. +min_hftn.cpp: //---- CHECK FOR ERRONEOUS DATA. +min_hftn.cpp: dDiscr = MAX (0.0, dDiscr); //-- SHOULD NEVER BE NEGATIVE +min_hftn.cpp: double dRootPos = (-dPD + dDiscr) / dDD; +min_hftn.cpp: double dRootNeg = (-dPD - dDiscr) / dDD; +min_hftn.cpp: //---- EVALUATE THE CG OBJECTIVE FUNCTION FOR EACH ROOT. +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp: //---- COMPUTE THE MAGNITUDE OF THE DIRECTION VECTOR: |p|_2. +min_hftn.cpp: //---- IF THE STEP IS TOO SMALL, RETURN ZERO FOR THE DERIVATIVE. +min_hftn.cpp: //---- FORWARD DIFFERENCES ARE LESS ACCURATE THAN CENTRAL DIFFERENCES, +min_hftn.cpp: //---- BUT REQUIRE ONLY 2 ENERGY+FORCE EVALUATIONS VERSUS 3 EVALUATIONS. +min_hftn.cpp: //---- STORAGE REQUIREMENTS ARE THE SAME. +min_hftn.cpp: //---- EQUATION IS FROM THE OLD LAMMPS VERSION, SAND98-8201. +min_hftn.cpp: double dEps = 2.0 * sqrt (1000.0 * MACHINE_EPS) / dDirNorm2; +min_hftn.cpp: //---- SAVE A COPY OF x. +min_hftn.cpp: //---- EVALUATE FORCES AT x + eps*p. +min_hftn.cpp: //---- STORE THE FORCE IN DIF2. +min_hftn.cpp: //---- MOVE BACK TO x AND EVALUATE FORCES. +min_hftn.cpp: //---- COMPUTE THE DIFFERENCE VECTOR: [grad(x + eps*p) - grad(x)] / eps. +min_hftn.cpp: //---- REMEMBER THAT FORCES = -GRADIENT. +min_hftn.cpp: _daAVectors[nIxResult][i] = (fvec[i] - _daAVectors[VEC_DIF2][i]) / dEps; +min_hftn.cpp: iAtom[i] = (fextra_atom[m][i] - d2Atom[i]) / dEps; +min_hftn.cpp: = (fextra[i] - _daExtraGlobal[VEC_DIF2][i]) / dEps; +min_hftn.cpp: else { //-- bUseForwardDiffs == false +min_hftn.cpp: //---- EQUATION IS FROM THE OLD LAMMPS VERSION, SAND98-8201. +min_hftn.cpp: double dEps = pow (3000.0 * MACHINE_EPS, 0.33333333) / dDirNorm2; +min_hftn.cpp: //---- SAVE A COPY OF x. +min_hftn.cpp: //---- EVALUATE FORCES AT x + eps*p. +min_hftn.cpp: //---- STORE THE FORCE IN DIF2. +min_hftn.cpp: //---- EVALUATE FORCES AT x - eps*p. +min_hftn.cpp: //---- COMPUTE THE DIFFERENCE VECTOR: +min_hftn.cpp: //---- [grad(x + eps*p) - grad(x - eps*p)] / 2*eps. +min_hftn.cpp: //---- REMEMBER THAT FORCES = -GRADIENT. +min_hftn.cpp: iGlobal[i] = (fextra[i] - d2Global[i]) / (2.0 + dEps); +min_hftn.cpp: (fvec[i] - _daAVectors[VEC_DIF2][i]) / (2.0 * dEps); +min_hftn.cpp: iAtom[i] = (fatom[i] - d2Atom[i]) / (2.0 + dEps); +min_hftn.cpp: //---- EVALUATE FORCES AT x. +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +min_hftn.cpp:/* ---------------------------------------------------------------------- +min_hftn.cpp:------------------------------------------------------------------------- */ +minimize.cpp:/* ---------------------------------------------------------------------- +minimize.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +minimize.cpp: http://lammps.sandia.gov, Sandia National Laboratories +minimize.cpp:------------------------------------------------------------------------- */ +minimize.cpp:/* ---------------------------------------------------------------------- */ +minimize.cpp:/* ---------------------------------------------------------------------- */ +minimize.cpp: // ignore minimize command, if walltime limit was already reached +min_linesearch.cpp:/* ---------------------------------------------------------------------- +min_linesearch.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +min_linesearch.cpp: http://lammps.sandia.gov, Sandia National Laboratories +min_linesearch.cpp:------------------------------------------------------------------------- */ +min_linesearch.cpp:/* ---------------------------------------------------------------------- +min_linesearch.cpp: JR Shewchuk, http://www-2.cs.cmu.edu/~jrs/jrspapers.html#cg +min_linesearch.cpp:------------------------------------------------------------------------- */ +min_linesearch.cpp:// ALPHA_MAX = max alpha allowed to avoid long backtracks +min_linesearch.cpp:// ALPHA_REDUCE = reduction ratio, should be in range [0.5,1) +min_linesearch.cpp:// BACKTRACK_SLOPE, should be in range (0,0.5] +min_linesearch.cpp:// QUADRATIC_TOL = tolerance on alpha0, should be in range [0.1,1) +min_linesearch.cpp:// EMACH = machine accuracy limit of energy changes (1.0e-8) +min_linesearch.cpp:// EPS_QUAD = tolerance for quadratic projection +min_linesearch.cpp://#define EMACH 1.0e-8 +min_linesearch.cpp:/* ---------------------------------------------------------------------- */ +min_linesearch.cpp:/* ---------------------------------------------------------------------- */ +min_linesearch.cpp:/* ---------------------------------------------------------------------- */ +min_linesearch.cpp:/* ---------------------------------------------------------------------- */ +min_linesearch.cpp: // memory for x0,g,h for atomic dof +min_linesearch.cpp: // memory for g,h for extra global dof, fix stores x0 +min_linesearch.cpp: // memory for x0,g,h for extra per-atom dof +min_linesearch.cpp:/* ---------------------------------------------------------------------- +min_linesearch.cpp:------------------------------------------------------------------------- */ +min_linesearch.cpp: // atomic dof +min_linesearch.cpp: // extra per-atom dof +min_linesearch.cpp:/* ---------------------------------------------------------------------- +min_linesearch.cpp: update neval counter of eng/force function evaluations +min_linesearch.cpp:------------------------------------------------------------------------- */ +min_linesearch.cpp:/* ---------------------------------------------------------------------- +min_linesearch.cpp:------------------------------------------------------------------------- */ +min_linesearch.cpp: // fdothall = projection of search dir along downhill gradient +min_linesearch.cpp: // if search direction is not downhill, exit with error +min_linesearch.cpp: if (output->thermo->normflag) fdothall /= atom->natoms; +min_linesearch.cpp: // set alpha so no dof is changed by more than max allowed amount +min_linesearch.cpp: // for atom coords, max amount = dmax +min_linesearch.cpp: // for extra per-atom dof, max amount = extra_max[] +min_linesearch.cpp: // for extra global dof, max amount is set by fix +min_linesearch.cpp: // also insure alpha <= ALPHA_MAX +min_linesearch.cpp: // else will have to backtrack from huge value when forces are tiny +min_linesearch.cpp: // if all search dir components are already 0.0, exit with error +min_linesearch.cpp: alpha = MIN(ALPHA_MAX,dmax/hmaxall); +min_linesearch.cpp: alpha = MIN(alpha,extra_max[m]/hmax); +min_linesearch.cpp: // store box and values of all dof at start of linesearch +min_linesearch.cpp: // // important diagnostic: test the gradient against energy +min_linesearch.cpp: // double etmp; +min_linesearch.cpp: // double alphatmp = alpha*1.0e-4; +min_linesearch.cpp: // etmp = alpha_step(alphatmp,1); +min_linesearch.cpp: // printf("alpha = %g dele = %g dele_force = %g err = %g\n", +min_linesearch.cpp: // alphatmp,etmp-eoriginal,-alphatmp*fdothall, +min_linesearch.cpp: // etmp-eoriginal+alphatmp*fdothall); +min_linesearch.cpp: // alpha_step(0.0,1); +min_linesearch.cpp: // backtrack with alpha until energy decrease is sufficient +min_linesearch.cpp: // if energy change is better than ideal, exit with success +min_linesearch.cpp: // reduce alpha +min_linesearch.cpp: // backtracked too much +min_linesearch.cpp: // reset to starting point +min_linesearch.cpp: // if de is positive, exit with error +min_linesearch.cpp: // if de is negative, exit with ETOL +min_linesearch.cpp:/* ---------------------------------------------------------------------- +min_linesearch.cpp: // linemin: quadratic line search (adapted from Dennis and Schnabel) +min_linesearch.cpp: // The objective function is approximated by a quadratic +min_linesearch.cpp: // function in alpha, for sufficiently small alpha. +min_linesearch.cpp: // This idea is the same as that used in the well-known secant +min_linesearch.cpp: // method. However, since the change in the objective function +min_linesearch.cpp: // (difference of two finite numbers) is not known as accurately +min_linesearch.cpp: // as the gradient (which is close to zero), all the expressions +min_linesearch.cpp: // are written in terms of gradients. In this way, we can converge +min_linesearch.cpp: // the LAMMPS forces much closer to zero. +min_linesearch.cpp: // +min_linesearch.cpp: // We know E,Eprev,fh,fhprev. The Taylor series about alpha_prev +min_linesearch.cpp: // truncated at the quadratic term is: +min_linesearch.cpp: // +min_linesearch.cpp: // E = Eprev - del_alpha*fhprev + (1/2)del_alpha^2*Hprev +min_linesearch.cpp: // +min_linesearch.cpp: // and +min_linesearch.cpp: // +min_linesearch.cpp: // fh = fhprev - del_alpha*Hprev +min_linesearch.cpp: // +min_linesearch.cpp: // where del_alpha = alpha-alpha_prev +min_linesearch.cpp: // +min_linesearch.cpp: // We solve these two equations for Hprev and E=Esolve, giving: +min_linesearch.cpp: // +min_linesearch.cpp: // Esolve = Eprev - del_alpha*(f+fprev)/2 +min_linesearch.cpp: // +min_linesearch.cpp: // We define relerr to be: +min_linesearch.cpp: // +min_linesearch.cpp: // relerr = |(Esolve-E)/Eprev| +min_linesearch.cpp: // = |1.0 - (0.5*del_alpha*(f+fprev)+E)/Eprev| +min_linesearch.cpp: // +min_linesearch.cpp: // If this is accurate to within a reasonable tolerance, then +min_linesearch.cpp: // we go ahead and use a secant step to fh = 0: +min_linesearch.cpp: // +min_linesearch.cpp: // alpha0 = alpha - (alpha-alphaprev)*fh/delfh; +min_linesearch.cpp: // +min_linesearch.cpp:------------------------------------------------------------------------- */ +min_linesearch.cpp: // fdothall = projection of search dir along downhill gradient +min_linesearch.cpp: // if search direction is not downhill, exit with error +min_linesearch.cpp: if (output->thermo->normflag) fdothall /= atom->natoms; +min_linesearch.cpp: // set alphamax so no dof is changed by more than max allowed amount +min_linesearch.cpp: // for atom coords, max amount = dmax +min_linesearch.cpp: // for extra per-atom dof, max amount = extra_max[] +min_linesearch.cpp: // for extra global dof, max amount is set by fix +min_linesearch.cpp: // also insure alphamax <= ALPHA_MAX +min_linesearch.cpp: // else will have to backtrack from huge value when forces are tiny +min_linesearch.cpp: // if all search dir components are already 0.0, exit with error +min_linesearch.cpp: alphamax = MIN(ALPHA_MAX,dmax/hmaxall); +min_linesearch.cpp: alphamax = MIN(alphamax,extra_max[m]/hmax); +min_linesearch.cpp: // store box and values of all dof at start of linesearch +min_linesearch.cpp: // backtrack with alpha until energy decrease is sufficient +min_linesearch.cpp: // or until get to small energy change, then perform quadratic projection +min_linesearch.cpp: // // important diagnostic: test the gradient against energy +min_linesearch.cpp: // double etmp; +min_linesearch.cpp: // double alphatmp = alphamax*1.0e-4; +min_linesearch.cpp: // etmp = alpha_step(alphatmp,1); +min_linesearch.cpp: // printf("alpha = %g dele = %g dele_force = %g err = %g\n", +min_linesearch.cpp: // alphatmp,etmp-eoriginal,-alphatmp*fdothall, +min_linesearch.cpp: // etmp-eoriginal+alphatmp*fdothall); +min_linesearch.cpp: // alpha_step(0.0,1); +min_linesearch.cpp: // compute new fh, alpha, delfh +min_linesearch.cpp: ff /= atom->natoms; +min_linesearch.cpp: fh /= atom->natoms; +min_linesearch.cpp: // if fh or delfh is epsilon, reset to starting point, exit with error +min_linesearch.cpp: // Check if ready for quadratic projection, equivalent to secant method +min_linesearch.cpp: // alpha0 = projected alpha +min_linesearch.cpp: relerr = fabs(1.0-(0.5*(alpha-alphaprev)*(fh+fhprev)+ecurrent)/engprev); +min_linesearch.cpp: alpha0 = alpha - (alpha-alphaprev)*fh/delfh; +min_linesearch.cpp: // if backtracking energy change is better than ideal, exit with success +min_linesearch.cpp: // save previous state +min_linesearch.cpp: // reduce alpha +min_linesearch.cpp: // backtracked all the way to 0.0 +min_linesearch.cpp: // reset to starting point, exit with error +min_linesearch.cpp:/* ---------------------------------------------------------------------- +min_linesearch.cpp: // also account for nextra atom & global +min_linesearch.cpp: alpha_max <= dmax/hmaxall +min_linesearch.cpp: // try decreasing the energy to 1/10 of initial +min_linesearch.cpp: alpha_init = 0.1*fabs(eoriginal)/fhCurr; +min_linesearch.cpp: // initial alpha is smaller than alpha_max +min_linesearch.cpp: // we have done enough in the search space +min_linesearch.cpp: // ZERO_ENERGY = 1e-12, is max allowed energy increase +min_linesearch.cpp: // GRAD_TOL = 0.1 +min_linesearch.cpp: if ( (not backtrack) && (fabs(fhCurr/fh0) <= GRAD_TOL) ): +min_linesearch.cpp: // forces sufficiently reduced without energy increase +min_linesearch.cpp: // projected force changed sign but didn't become small enough +min_linesearch.cpp: // forces along search direction changed sign +min_linesearch.cpp: // force didn't change sign but only energy increased, +min_linesearch.cpp: // we overshot a minimum which is very close to a +min_linesearch.cpp: // maximum (or there is an inflection point) +min_linesearch.cpp: // New alpha_del should be much smaller +min_linesearch.cpp: // ALPHA_FACT = 0.1 +min_linesearch.cpp: // Check to see if new 'alpha_del' isn't too small +min_linesearch.cpp: // continue the loop with a new alpha_del +min_linesearch.cpp: ---------------------------------------------------------------------- */ +min_linesearch.cpp: // projection of: force on itself, current force on search direction, +min_linesearch.cpp: // previous force on search direction, initial force on search direction +min_linesearch.cpp: // current energy, previous energy +min_linesearch.cpp: // hardcoded constants +min_linesearch.cpp: // factor by which alpha is reduced when backtracking +min_linesearch.cpp: // maximum amount by which we'll permit energy increase +min_linesearch.cpp: // fraction to which we want to reduce the directional derivative +min_linesearch.cpp: // largest alpha increment which will trigger a failed_linesearch +min_linesearch.cpp: // fdothall = projection of search dir along downhill gradient +min_linesearch.cpp: // if search direction is not downhill, exit with error +min_linesearch.cpp: if (output->thermo->normflag) fdothall /= atom->natoms; +min_linesearch.cpp: // set alpha so no dof is changed by more than max allowed amount +min_linesearch.cpp: // for atom coords, max amount = dmax +min_linesearch.cpp: // for extra per-atom dof, max amount = extra_max[] +min_linesearch.cpp: // for extra global dof, max amount is set by fix +min_linesearch.cpp: // also insure alpha <= ALPHA_MAX else will have +min_linesearch.cpp: // to backtrack from huge value when forces are tiny +min_linesearch.cpp: // if all search dir components are already 0.0, exit with error +min_linesearch.cpp: alpha_max = dmax/hmaxall; +min_linesearch.cpp: alpha_max = MIN(alpha_max,extra_max[m]/hmax); +min_linesearch.cpp: // store box and values of all dof at start of linesearch +min_linesearch.cpp: // initialize important variables before main linesearch loop +min_linesearch.cpp: // stores energy difference due to the current move +min_linesearch.cpp: // choosing the initial alpha that we'll use +min_linesearch.cpp: // rough estimate that'll decrease energy to 1/10 +min_linesearch.cpp: alpha_init = 0.1*fabs(eoriginal)/fdothall; +min_linesearch.cpp: // initialize aplha to 0.0 +min_linesearch.cpp: // compute increment to alpha, ensure that we +min_linesearch.cpp: // don't take the largest allowed alpha +min_linesearch.cpp: // first alpha that will actually apply +min_linesearch.cpp: // main linesearch loop +min_linesearch.cpp: // apply the increment to alpha, but first +min_linesearch.cpp: // check whether we are still in allowed search space +min_linesearch.cpp: // undo the increment +min_linesearch.cpp: // exit linesearch with success: have done +min_linesearch.cpp: // enough in allowed search space +min_linesearch.cpp: // move the system +min_linesearch.cpp: // '1' updates coordinates of atoms which cross PBC +min_linesearch.cpp: // compute the new directional derivative and also f_dot_f +min_linesearch.cpp: // energy change +min_linesearch.cpp: // if the function value increases measurably, +min_linesearch.cpp: // then we have to reduce alpha +min_linesearch.cpp: // check if the directional derivative has sufficiently decreased +min_linesearch.cpp: // NOTE: the fabs is essential here +min_linesearch.cpp: if ((!backtrack) && (fabs(fhCurr/fhoriginal) <= GRAD_TOL)) { +min_linesearch.cpp: // we are done +min_linesearch.cpp: // check if the directional derivative changed sign +min_linesearch.cpp: // but it's not small: we overshot the minima -- BACKTRACK +min_linesearch.cpp: // backtrack by undoing step and choosing a new alpha +min_linesearch.cpp: // move back +min_linesearch.cpp: // choose new alpha +min_linesearch.cpp: // if the force changed sign, linearize force and +min_linesearch.cpp: // solve for new alpha_del +min_linesearch.cpp: alpha_del *= fhPrev/(fhPrev - fhCurr); +min_linesearch.cpp: // force didn't change sign but only energy increased, +min_linesearch.cpp: // we overshot a minimum which is very close to a maxima +min_linesearch.cpp: // (or there is an inflection point) +min_linesearch.cpp: // new alpha_del should be much smaller +min_linesearch.cpp: // since we moved back ... +min_linesearch.cpp: // if new move is too small then we have failed; +min_linesearch.cpp: // exit with 'failed_linesearch' +min_linesearch.cpp: // undo all line minization moves +min_linesearch.cpp: // get a new alpha by linearizing force and start over +min_linesearch.cpp: // avoids problems near an energy inflection point +min_linesearch.cpp: boostFactor = fhCurr/(fhPrev - fhCurr); +min_linesearch.cpp: // don't want to boost too much +min_linesearch.cpp:/* ---------------------------------------------------------------------- */ +min_linesearch.cpp: // reset to starting point +min_linesearch.cpp: // step forward along h +min_linesearch.cpp: // compute and return new energy +min_linesearch.cpp:/* ---------------------------------------------------------------------- */ +min_linesearch.cpp:// compute projection of force on: itself and the search direction +min_linesearch.cpp: // compute new fh, alpha, delfh +min_linesearch.cpp: ff /= atom->natoms; +min_linesearch.cpp: fh /= atom->natoms; +min_quickmin.cpp:/* ---------------------------------------------------------------------- +min_quickmin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +min_quickmin.cpp: http://lammps.sandia.gov, Sandia National Laboratories +min_quickmin.cpp:------------------------------------------------------------------------- */ +min_quickmin.cpp:// EPS_ENERGY = minimum normalization for energy tolerance +min_quickmin.cpp:/* ---------------------------------------------------------------------- */ +min_quickmin.cpp:/* ---------------------------------------------------------------------- */ +min_quickmin.cpp:/* ---------------------------------------------------------------------- */ +min_quickmin.cpp:/* ---------------------------------------------------------------------- +min_quickmin.cpp:------------------------------------------------------------------------- */ +min_quickmin.cpp: // atomic dof +min_quickmin.cpp:/* ---------------------------------------------------------------------- +min_quickmin.cpp:------------------------------------------------------------------------- */ +min_quickmin.cpp: // zero velocity if anti-parallel to force +min_quickmin.cpp: // else project velocity in direction of force +min_quickmin.cpp: // sum vdotf over replicas, if necessary +min_quickmin.cpp: // this communicator would be invalid for multiprocess replicas +min_quickmin.cpp: // sum fdotf over replicas, if necessary +min_quickmin.cpp: // this communicator would be invalid for multiprocess replicas +min_quickmin.cpp: else scale = vdotfall/fdotfall; +min_quickmin.cpp: // limit timestep so no particle moves further than dmax +min_quickmin.cpp: if (dtvone*vmax > dmax) dtvone = dmax/vmax; +min_quickmin.cpp: // min dtv over replicas, if necessary +min_quickmin.cpp: // this communicator would be invalid for multiprocess replicas +min_quickmin.cpp: // Euler integration step +min_quickmin.cpp: dtfm = dtf / rmass[i]; +min_quickmin.cpp: dtfm = dtf / mass[type[i]]; +min_quickmin.cpp: // energy tolerance criterion +min_quickmin.cpp: // only check after DELAYSTEP elapsed since velocties reset to 0 +min_quickmin.cpp: // sync across replicas if running multi-replica minimization +min_quickmin.cpp: // force tolerance criterion +min_quickmin.cpp: // sync across replicas if running multi-replica minimization +min_quickmin.cpp: // output for thermo, dump, restart files +min_sd.cpp:/* ---------------------------------------------------------------------- +min_sd.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +min_sd.cpp: http://lammps.sandia.gov, Sandia National Laboratories +min_sd.cpp:------------------------------------------------------------------------- */ +min_sd.cpp:// EPS_ENERGY = minimum normalization for energy tolerance +min_sd.cpp:/* ---------------------------------------------------------------------- */ +min_sd.cpp:/* ---------------------------------------------------------------------- +min_sd.cpp:------------------------------------------------------------------------- */ +min_sd.cpp: // initialize working vectors +min_sd.cpp: // line minimization along h from current position x +min_sd.cpp: // h = downhill gradient direction +min_sd.cpp: // function evaluation criterion +min_sd.cpp: // energy tolerance criterion +min_sd.cpp: // force tolerance criterion +min_sd.cpp: // set new search direction h to f = -Grad(x) +min_sd.cpp: // output for thermo, dump, restart files +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +modify.cpp: http://lammps.sandia.gov, Sandia National Laboratories +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:#define NEXCEPT 7 // change when add to exceptions in add_fix() +modify.cpp:/* ---------------------------------------------------------------------- */ +modify.cpp: // fill map with fixes listed in style_fix.h +modify.cpp: // fill map with computes listed in style_compute.h +modify.cpp:/* ---------------------------------------------------------------------- */ +modify.cpp: // delete all fixes +modify.cpp: // do it via delete_fix() so callbacks in Atom are also updated correctly +modify.cpp: // delete all computes +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp: // delete storage of restart info since it is not valid after 1st run +modify.cpp: // create lists of fixes to call at each stage of run +modify.cpp: // init each fix +modify.cpp: // not sure if now needs to come before compute init +modify.cpp: // used to b/c temperature computes called fix->dof() in their init, +modify.cpp: // and fix rigid required its own init before its dof() could be called, +modify.cpp: // but computes now do their DOF in setup() +modify.cpp: // set global flag if any fix has its restart_pbc flag set +modify.cpp: // create list of computes that store invocation times +modify.cpp: // init each compute +modify.cpp: // set invoked_scalar,vector,etc to -1 to force new run to re-compute them +modify.cpp: // add initial timestep to all computes that store invocation times +modify.cpp: // since any of them may be invoked by initial thermo +modify.cpp: // do not clear out invocation times stored within a compute, +modify.cpp: // b/c some may be holdovers from previous run, like for ave fixes +modify.cpp: // error if any fix or compute is using a dynamic group when not allowed +modify.cpp: // warn if any particle is time integrated more than once +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp: // compute setup needs to come before fix setup +modify.cpp: // b/c NH fixes need DOF of temperature computes +modify.cpp: // fix group setup() is special case since populates a dynamic group +modify.cpp: // needs to be done before temperature compute setup +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp: called by compute pe/atom +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp: minimizer energy/force evaluation, only for relevant fixes +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp: // cannot define fix before box exists unless style is in exception list +modify.cpp: // don't like this way of checking for exceptions by adding fixes to list, +modify.cpp: // but can't think of better way +modify.cpp: // too late if instantiate fix, then check flag set in fix constructor, +modify.cpp: // since some fixes access domain settings in their constructor +modify.cpp: // MUST change NEXCEPT above when add new fix to this list +modify.cpp: {"GPU","OMP","INTEL","property/atom","cmap","cmap3","rx"}; +modify.cpp: // check group ID +modify.cpp: // if fix ID exists: +modify.cpp: // set newflag = 0 so create new fix in same location in fix list +modify.cpp: // error if new style does not match old style +modify.cpp: // since can't replace it (all when-to-invoke ptrs would be invalid) +modify.cpp: // warn if new group != old group +modify.cpp: // delete old fix, but do not call update_callback(), +modify.cpp: // since will replace this fix and thus other fix locs will not change +modify.cpp: // set ptr to NULL in case new fix scans list of fixes, +modify.cpp: // e.g. scan will occur in add_callback() if called by new fix +modify.cpp: // if fix ID does not exist: +modify.cpp: // set newflag = 1 so create new fix +modify.cpp: // extend fix and fmask lists as necessary +modify.cpp: sprintf(estyle,"%s/%s",arg[2],lmp->suffix); +modify.cpp: sprintf(estyle,"%s/%s",arg[2],lmp->suffix2); +modify.cpp: // create the Fix +modify.cpp: // try first with suffix appended +modify.cpp: sprintf(estyle,"%s/%s",arg[2],lmp->suffix); +modify.cpp: sprintf(estyle,"%s/%s",arg[2],lmp->suffix2); +modify.cpp: // check if Fix is in restart_global list +modify.cpp: // if yes, pass state info to the Fix so it can reset itself +modify.cpp: // check if Fix is in restart_peratom list +modify.cpp: // if yes, loop over atoms so they can extract info from atom->extra array +modify.cpp: // increment nfix (if new) +modify.cpp: // set fix mask values +modify.cpp: // post_constructor() allows new fix to create other fixes +modify.cpp: // nfix increment comes first so that recursive call to add_fix within +modify.cpp: // post_constructor() will see updated nfix +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp: // lookup Fix ID +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp: // move other Fixes and fmask down in list one slot +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp: // error check +modify.cpp: // extend Compute list if necessary +modify.cpp: // create the Compute +modify.cpp: // try first with suffix appended +modify.cpp: sprintf(estyle,"%s/%s",arg[2],lmp->suffix); +modify.cpp: sprintf(estyle,"%s/%s",arg[2],lmp->suffix2); +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp: // lookup Compute ID +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp: // move other Computes down in list one slot +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp: // nfix_restart_global = # of restart entries with global state info +modify.cpp: // allocate space for each entry +modify.cpp: // read each entry and Bcast to all procs +modify.cpp: // each entry has id string, style string, chunk of state data +modify.cpp: // nfix_restart_peratom = # of restart entries with peratom info +modify.cpp: // allocate space for each entry +modify.cpp: // read each entry and Bcast to all procs +modify.cpp: // each entry has id string, style string, maxsize of one atom's data +modify.cpp: // set index = which set of extra data this fix represents +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +modify.cpp:/* ---------------------------------------------------------------------- +modify.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +molecule.cpp: http://lammps.sandia.gov, Sandia National Laboratories +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:#define SINERTIA 0.4 // moment of inertia prefactor for sphere +molecule.cpp:/* ---------------------------------------------------------------------- */ +molecule.cpp: // parse args until reach unknown arg (next file) +molecule.cpp: // last molecule if have scanned all args +molecule.cpp: // initialize all fields to empty +molecule.cpp: // scan file for sizes of all fields and allocate them +molecule.cpp: // read file again to populate all fields +molecule.cpp: // stats +molecule.cpp:/* ---------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp: center[0] /= natoms; +molecule.cpp: center[1] /= natoms; +molecule.cpp: center[2] /= natoms; +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp: com[0] /= masstotal; +molecule.cpp: com[1] /= masstotal; +molecule.cpp: com[2] /= masstotal; +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp: // diagonalize inertia tensor for each body via Jacobi rotations +molecule.cpp: // inertia = 3 eigenvalues = principal moments of inertia +molecule.cpp: // evectors and exzy = 3 evectors = principal axes of rigid body +molecule.cpp: // if any principal moment < scaled EPSILON, set to 0.0 +molecule.cpp: // enforce 3 evectors as a right-handed coordinate system +molecule.cpp: // flip 3rd vector if needed +molecule.cpp: // create quaternion +molecule.cpp: // compute displacements in body frame defined by quat +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp: // skip 1st line of file +molecule.cpp: // read header lines +molecule.cpp: // skip blank lines or lines that start with "#" +molecule.cpp: // stop when read an unrecognized line +molecule.cpp: // trim anything from '#' onward +molecule.cpp: // if line is blank, continue +molecule.cpp: // search line for header keywords and set corresponding variable +molecule.cpp: // error checks +molecule.cpp: // count = vector for tallying bonds,angles,etc per atom +molecule.cpp: // grab keyword and skip next line +molecule.cpp: // loop over sections of molecule file +molecule.cpp: // clean up +molecule.cpp: // error check +molecule.cpp: // auto-generate special bonds if needed and not in file +molecule.cpp: // set maxspecial on first pass, so allocate() has a size +molecule.cpp: // body particle must have natom = 1 +molecule.cpp: // set radius by having body class compute its own radius +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp: if flag = 0, just count bonds/atom +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp: // bond_per_atom = max of count vector +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp: if flag = 0, just count angles/atom +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp: // angle_per_atom = max of count vector +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp: if flag = 0, just count dihedrals/atom +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp: // dihedral_per_atom = max of count vector +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp: if flag = 0, just count impropers/atom +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp: // improper_per_atom = max of count vector +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp: // 1-2 neighbors +molecule.cpp: // 1-3 neighbors with no duplicates +molecule.cpp: // 1-4 neighbors with no duplicates +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp: pflag = 0/1 for integer/double params +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp: // check per-atom attributes of molecule +molecule.cpp: // warn if not a match +molecule.cpp: // for all atom styles, check nbondtype,etc +molecule.cpp: // for molecular atom styles, check bond_per_atom,etc + maxspecial +molecule.cpp: // do not check for atom style template, since nothing stored per atom +molecule.cpp: error->all(FLERR,"Molecule topology/atom exceeds system topology/atom"); +molecule.cpp: // warn if molecule topology defined but no special settings +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp: // always allocate num_bond,num_angle,etc and special+nspecial +molecule.cpp: // even if not in molecule file, initialize to 0 +molecule.cpp: // this is so methods that use these arrays don't have to check they exist +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp: // read upto non-blank line plus 1 following line +molecule.cpp: // eof is set to 1 if any read hits end-of-file +molecule.cpp: // if eof, set keyword empty and return +molecule.cpp: // bcast keyword line to all procs +molecule.cpp: // copy non-whitespace portion of line into keyword +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* ---------------------------------------------------------------------- +molecule.cpp:------------------------------------------------------------------------- */ +molecule.cpp:/* +molecule.cpp:*/ +nbin.cpp:/* ---------------------------------------------------------------------- +nbin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nbin.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nbin.cpp:------------------------------------------------------------------------- */ +nbin.cpp:/* ---------------------------------------------------------------------- */ +nbin.cpp: // geometry settings +nbin.cpp:/* ---------------------------------------------------------------------- */ +nbin.cpp:/* ---------------------------------------------------------------------- */ +nbin.cpp:/* ---------------------------------------------------------------------- +nbin.cpp:------------------------------------------------------------------------- */ +nbin.cpp: // overwrite Neighbor cutoff with custom value set by requestor +nbin.cpp: // only works for style = BIN (checked by Neighbor class) +nbin.cpp:/* ---------------------------------------------------------------------- +nbin.cpp:------------------------------------------------------------------------- */ +nbin.cpp: // binhead = per-bin vector, mbins in length +nbin.cpp: // add 1 bin for USER-INTEL package +nbin.cpp: // bins = per-atom vector +nbin.cpp:/* ---------------------------------------------------------------------- +nbin.cpp: take special care to insure ghosts are in correct bins even w/ roundoff +nbin.cpp:------------------------------------------------------------------------- */ +nbin.cpp:/* ---------------------------------------------------------------------- */ +nbin_standard.cpp:/* ---------------------------------------------------------------------- +nbin_standard.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nbin_standard.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nbin_standard.cpp:------------------------------------------------------------------------- */ +nbin_standard.cpp:enum{NSQ,BIN,MULTI}; // also in Neighbor +nbin_standard.cpp:/* ---------------------------------------------------------------------- */ +nbin_standard.cpp:/* ---------------------------------------------------------------------- +nbin_standard.cpp: binsize = 1/2 of cutoff is roughly optimal +nbin_standard.cpp:------------------------------------------------------------------------- */ +nbin_standard.cpp: // bbox = size of bbox of entire domain +nbin_standard.cpp: // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost +nbin_standard.cpp: // for triclinic: +nbin_standard.cpp: // bbox bounds all 8 corners of tilted box +nbin_standard.cpp: // subdomain is in lamda coords +nbin_standard.cpp: // include dimension-dependent extension via comm->cutghost +nbin_standard.cpp: // domain->bbox() converts lamda extent to box coords and computes bbox +nbin_standard.cpp: // optimal bin size is roughly 1/2 the cutoff +nbin_standard.cpp: // for BIN style, binsize = 1/2 of max neighbor cutoff +nbin_standard.cpp: // for MULTI style, binsize = 1/2 of min neighbor cutoff +nbin_standard.cpp: // special case of all cutoffs = 0.0, binsize = box size +nbin_standard.cpp: double binsizeinv = 1.0/binsize_optimal; +nbin_standard.cpp: // test for too many global bins in any dimension due to huge global domain +nbin_standard.cpp: // create actual bins +nbin_standard.cpp: // always have one bin even if cutoff > bbox +nbin_standard.cpp: // for 2d, nbinz = 1 +nbin_standard.cpp: // compute actual bin size for nbins to fit into box exactly +nbin_standard.cpp: // error if actual bin size << cutoff, since will create a zillion bins +nbin_standard.cpp: // this happens when nbin = 1 and box size << cutoff +nbin_standard.cpp: // typically due to non-periodic, flat system in a particular dim +nbin_standard.cpp: // in that extreme case, should use NSQ not BIN neighbor style +nbin_standard.cpp: binsizex = bbox[0]/nbinx; +nbin_standard.cpp: binsizey = bbox[1]/nbiny; +nbin_standard.cpp: binsizez = bbox[2]/nbinz; +nbin_standard.cpp: bininvx = 1.0 / binsizex; +nbin_standard.cpp: bininvy = 1.0 / binsizey; +nbin_standard.cpp: bininvz = 1.0 / binsizez; +nbin_standard.cpp: // mbinlo/hi = lowest and highest global bins my ghost atoms could be in +nbin_standard.cpp: // coord = lowest and highest values of coords for my ghost atoms +nbin_standard.cpp: // static_cast(-1.5) = -1, so subract additional -1 +nbin_standard.cpp: // add in SMALL for round-off safety +nbin_standard.cpp: // extend bins by 1 to insure stencil extent is included +nbin_standard.cpp: // for 2d, only 1 bin in z +nbin_standard.cpp:/* ---------------------------------------------------------------------- +nbin_standard.cpp:------------------------------------------------------------------------- */ +nbin_standard.cpp: // bin in reverse order so linked list will be in forward order +nbin_standard.cpp: // also puts ghost atoms at end of list, which is necessary +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +neighbor.cpp: http://lammps.sandia.gov, Sandia National Laboratories +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp:enum{NSQ,BIN,MULTI}; // also in NBin, NeighList, NStencil +neighbor.cpp://#define NEIGH_LIST_DEBUG 1 +neighbor.cpp:/* ---------------------------------------------------------------------- */ +neighbor.cpp: // pairwise neighbor lists and associated data structs +neighbor.cpp: // topology lists +neighbor.cpp: // coords at last neighboring +neighbor.cpp: // pair exclusion list info +neighbor.cpp: // Kokkos setting +neighbor.cpp:/* ---------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- */ +neighbor.cpp: // error check +neighbor.cpp: // ------------------------------------------------------------------ +neighbor.cpp: // settings +neighbor.cpp: // bbox lo/hi ptrs = bounding box of entire domain, stored by Domain +neighbor.cpp: // set neighbor cutoffs (force cutoff + skin) +neighbor.cpp: // trigger determines when atoms migrate and neighbor lists are rebuilt +neighbor.cpp: // needs to be non-zero for migration distance check +neighbor.cpp: // even if pair = NULL and no neighbor lists are used +neighbor.cpp: // cutneigh = force cutoff + skin if cutforce > 0, else cutneigh = 0 +neighbor.cpp: // cutneighghost = pair cutghost if it requests it, else same as cutneigh +neighbor.cpp: // rRESPA cutoffs +neighbor.cpp: // fixchecklist = other classes that can induce reneighboring in decide() +neighbor.cpp: // set special_flag for 1-2, 1-3, 1-4 neighbors +neighbor.cpp: // flag[0] is not used, flag[1] = 1-2, flag[2] = 1-3, flag[3] = 1-4 +neighbor.cpp: // flag = 0 if both LJ/Coulomb special values are 0.0 +neighbor.cpp: // flag = 1 if both LJ/Coulomb special values are 1.0 +neighbor.cpp: // flag = 2 otherwise or if KSpace solver is enabled +neighbor.cpp: // pairwise portion of KSpace solver uses all 1-2,1-3,1-4 neighbors +neighbor.cpp: // or selected Coulomb-approixmation pair styles require it +neighbor.cpp: if (force->kspace || force->pair_match("coul/wolf",0) || +neighbor.cpp: force->pair_match("coul/dsf",0) || force->pair_match("thole",0)) +neighbor.cpp: // maxwt = max multiplicative factor on atom indices stored in neigh list +neighbor.cpp: // ------------------------------------------------------------------ +neighbor.cpp: // xhold array +neighbor.cpp: // free if not needed for this run +neighbor.cpp: // first time allocation +neighbor.cpp: // ------------------------------------------------------------------ +neighbor.cpp: // exclusion lists +neighbor.cpp: // depend on type, group, molecule settings from neigh_modify +neighbor.cpp: // warn if exclusions used with KSpace solver +neighbor.cpp: // ------------------------------------------------------------------ +neighbor.cpp: // create pairwise lists +neighbor.cpp: // one-time call to init_styles() to scan style files and setup +neighbor.cpp: // init_pair() creates auxiliary classes: NBin, NStencil, NPair +neighbor.cpp: // invoke copy_neighbor_info() in Bin,Stencil,Pair classes +neighbor.cpp: // copied once per run in case any cutoff, exclusion, special info changed +neighbor.cpp: // can now delete requests so next run can make new ones +neighbor.cpp: // print_pairwise_info() made use of requests +neighbor.cpp: // set of NeighLists now stores all needed info +neighbor.cpp: // ------------------------------------------------------------------ +neighbor.cpp: // create topology lists +neighbor.cpp: // instantiated topo styles can change from run to run +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp: cannot do this in constructor, b/c too early to instantiate classes +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // extract info from NBin classes listed in style_nbin.h +neighbor.cpp: // extract info from NStencil classes listed in style_nstencil.h +neighbor.cpp: // extract info from NPair classes listed in style_npair.h +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // test if pairwise lists need to be re-created +neighbor.cpp: // no need to re-create if: +neighbor.cpp: // neigh style, triclinic, pgsize, oneatom have not changed +neighbor.cpp: // current requests = old requests +neighbor.cpp: // so just return: +neighbor.cpp: // delete requests so next run can make new ones +neighbor.cpp: // current set of NeighLists already stores all needed info +neighbor.cpp: // requests are compared via identical() before: +neighbor.cpp: // any requests are morphed using logic below +neighbor.cpp: // any requests are added below, e.g. as parents of pair hybrid skip lists +neighbor.cpp: // copy them via requests_new2old() BEFORE any changes made to requests +neighbor.cpp: // necessary b/c morphs can change requestor settings (see comment below) +neighbor.cpp: // delete old lists since creating new ones +neighbor.cpp: // morph requests in various ways +neighbor.cpp: // purpose is to avoid duplicate or inefficient builds +neighbor.cpp: // may add new requests if a needed request to derive from does not exist +neighbor.cpp: // methods: +neighbor.cpp: // (1) other = point history and rRESPA lists at their partner lists +neighbor.cpp: // (2) skip = create any new non-skip lists needed by pair hybrid skip lists +neighbor.cpp: // (3) granular = adjust parent and skip lists for granular onesided usage +neighbor.cpp: // (4) h/f = pair up any matching half/full lists +neighbor.cpp: // (5) copy = convert as many lists as possible to copy lists +neighbor.cpp: // order of morph methods matters: +neighbor.cpp: // (1) before (2), b/c (2) needs to know history partner pairings +neighbor.cpp: // (2) after (1), b/c (2) may also need to create new history lists +neighbor.cpp: // (3) after (2), b/c it adjusts lists created by (2) +neighbor.cpp: // (4) after (2) and (3), +neighbor.cpp: // b/c (2) may create new full lists, (3) may change them +neighbor.cpp: // (5) last, after all lists are finalized, so all possible copies found +neighbor.cpp: morph_granular(); // this method can change flags set by requestor +neighbor.cpp: // create new lists, one per request including added requests +neighbor.cpp: // wait to allocate initial pages until copy lists are detected +neighbor.cpp: // NOTE: can I allocate now, instead of down below? +neighbor.cpp: // allocate new lists +neighbor.cpp: // pass list ptr back to requestor (except for Command class) +neighbor.cpp: // only for original requests, not ones added by Neighbor class +neighbor.cpp: // invoke post_constructor() for all lists +neighbor.cpp: // copies info from requests to lists, sets ptrs to related lists +neighbor.cpp: // assign Bin,Stencil,Pair style to each list +neighbor.cpp: // instantiate unique Bin,Stencil classes in neigh_bin & neigh_stencil vecs +neighbor.cpp: // unique = only one of its style, or request unique flag set (custom cutoff) +neighbor.cpp: // instantiate one Pair class per list in neigh_pair vec +neighbor.cpp: // allocate initial pages for each list, except if copy flag set +neighbor.cpp: // allocate dnum vector of zeroes if set +neighbor.cpp: // first-time allocation of per-atom data for lists that are built and store +neighbor.cpp: // lists that are not built: granhistory, respa inner/middle (no neigh_pair) +neighbor.cpp: // lists that do not store: copy +neighbor.cpp: // use atom->nmax for both grow() args +neighbor.cpp: // i.e. grow first time to expanded size to avoid future reallocs +neighbor.cpp: // also Kokkos list initialization +neighbor.cpp: // plist = indices of perpetual NPair classes +neighbor.cpp: // perpetual = non-occasional, re-built at every reneighboring +neighbor.cpp: // slist = indices of perpetual NStencil classes +neighbor.cpp: // perpetual = used by any perpetual NPair class +neighbor.cpp: // reorder plist vector if necessary +neighbor.cpp: // relevant for lists that are derived from a parent list: +neighbor.cpp: // half-full,copy,skip +neighbor.cpp: // the child index must appear in plist after the parent index +neighbor.cpp: // swap two indices within plist when dependency is mis-ordered +neighbor.cpp: // start double loop check again whenever a swap is made +neighbor.cpp: // done when entire double loop test results in no swaps +neighbor.cpp: int tmp = plist[i]; // swap I,J indices +neighbor.cpp: // debug output +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // if history, point this list and partner list at each other +neighbor.cpp: // if respaouter, point all associated rRESPA lists at each other +neighbor.cpp: // if cut flag set by requestor, set unique flag +neighbor.cpp: // this forces Pair,Stencil,Bin styles to be instantiated separately +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // only processing skip lists +neighbor.cpp: // these lists are created other ways, no need for skipping +neighbor.cpp: // halffull list and its full parent may both skip, +neighbor.cpp: // but are checked to insure matching skip info +neighbor.cpp: // check all other lists +neighbor.cpp: // can only skip from a perpetual non-skip list +neighbor.cpp: // both lists must be half, or both full +neighbor.cpp: // both lists must be newton on, or both newton off +neighbor.cpp: // IJ newton = 1 for newton on, 2 for newton off +neighbor.cpp: // these flags must be same, +neighbor.cpp: // else 2 lists do not store same pairs +neighbor.cpp: // or their data structures are different +neighbor.cpp: // this includes custom cutoff set by requestor +neighbor.cpp: // no need to check respaouter b/c it stores same pairs +neighbor.cpp: // no need to check dnum b/c only set for history +neighbor.cpp: // NOTE: need check for 2 Kokkos flags? +neighbor.cpp: // 2 lists are a match +neighbor.cpp: // if matching list exists, point to it +neighbor.cpp: // else create a new identical list except non-skip +neighbor.cpp: // for new list, set neigh = 1, skip = 0, no skip vec/array, +neighbor.cpp: // copy unique flag (since copy_request() will not do it) +neighbor.cpp: // note: parents of skip lists do not have associated history list +neighbor.cpp: // b/c child skip lists store their own history info +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp: adjust newton/oneside parent settings if children require onesided skipping +neighbor.cpp: this is needed because line/gran and tri/gran pair styles +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // only examine NeighRequests added by morph_skip() +neighbor.cpp: // only those with size attribute for granular systems +neighbor.cpp: // check children of this list +neighbor.cpp: // only consider JRQ pair, size lists that skip from Irq list +neighbor.cpp: // onesided = -1 if no children +neighbor.cpp: // onesided = 0/1 = child granonesided value if same for all children +neighbor.cpp: // onesided = 2 if children have different granonesided values +neighbor.cpp: // if onesided = 2, parent has children with both granonesided = 0/1 +neighbor.cpp: // force parent newton off (newton = 2) to enable onesided skip by child +neighbor.cpp: // set parent granonesided = 0, so it stores all neighs in usual manner +neighbor.cpp: // set off2on = 1 for all children, since they expect newton on lists +neighbor.cpp: // this is b/c granonesided only set by line/gran and tri/gran which +neighbor.cpp: // both require system newton on +neighbor.cpp: // only consider JRQ pair, size lists that skip from Irq list +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // only processing half lists +neighbor.cpp: // Kokkos doesn't yet support half from full +neighbor.cpp: // these lists are created other ways, no need for halffull +neighbor.cpp: // do want to process skip lists +neighbor.cpp: // check all other lists +neighbor.cpp: // can only derive from a perpetual full list +neighbor.cpp: // newton setting of derived list does not matter +neighbor.cpp: // these flags must be same, +neighbor.cpp: // else 2 lists do not store same pairs +neighbor.cpp: // or their data structures are different +neighbor.cpp: // this includes custom cutoff set by requestor +neighbor.cpp: // no need to check respaouter b/c it stores same pairs +neighbor.cpp: // no need to check dnum b/c only set for history +neighbor.cpp: // skip flag must be same +neighbor.cpp: // if both are skip lists, skip info must match +neighbor.cpp: // 2 lists are a match +neighbor.cpp: // if matching list exists, point to it +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // this list is already a copy list due to another morph method +neighbor.cpp: // these lists are created other ways, no need to copy +neighbor.cpp: // skip lists are eligible to become a copy list +neighbor.cpp: // check all other lists +neighbor.cpp: // other list is already copied from this one +neighbor.cpp: // other list (jrq) to copy from must be perpetual +neighbor.cpp: // list that becomes a copy list (irq) can be perpetual or occasional +neighbor.cpp: // if both lists are perpetual, require j < i +neighbor.cpp: // to prevent circular dependence with 3 or more copies of a list +neighbor.cpp: // both lists must be half, or both full +neighbor.cpp: // both lists must be newton on, or both newton off +neighbor.cpp: // IJ newton = 1 for newton on, 2 for newton off +neighbor.cpp: // ok for non-ghost list to copy from ghost list, but not vice versa +neighbor.cpp: // these flags must be same, +neighbor.cpp: // else 2 lists do not store same pairs +neighbor.cpp: // or their data structures are different +neighbor.cpp: // this includes custom cutoff set by requestor +neighbor.cpp: // no need to check respaouter b/c it stores same pairs +neighbor.cpp: // no need to check omp b/c it stores same pairs +neighbor.cpp: // no need to check dnum b/c only set for history +neighbor.cpp: // NOTE: need check for 2 Kokkos flags? +neighbor.cpp: // skip flag must be same +neighbor.cpp: // if both are skip lists, skip info must match +neighbor.cpp: // 2 lists are a match +neighbor.cpp: // turn list I into a copy of list J +neighbor.cpp: // do not copy a list from another copy list, but from its parent list +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // set flags that determine which topology neighbor classes to use +neighbor.cpp: // these settings could change from run to run, depending on fixes defined +neighbor.cpp: // bonds,etc can only be broken for atom->molecular = 1, not 2 +neighbor.cpp: // SHAKE sets bonds and angles negative +neighbor.cpp: // gcmc sets all bonds, angles, etc negative +neighbor.cpp: // bond_quartic sets bonds to 0 +neighbor.cpp: // delete_bonds sets all interactions negative +neighbor.cpp: // sync on/off settings across all procs +neighbor.cpp: // instantiate NTopo classes +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: fprintf(out," max neighbors/atom: %d, page size: %d\n", +neighbor.cpp: ceil(bbox[0]/binsize), ceil(bbox[1]/binsize), +neighbor.cpp: ceil(bbox[2]/binsize)); +neighbor.cpp: "perpetual/occasional/extra = %d %d %d\n", +neighbor.cpp: // order these to get single output of most relevant +neighbor.cpp: fprintf(out,", half/full from (%d)",rq->halffulllist+1); +neighbor.cpp: // list of neigh list attributes +neighbor.cpp: /* +neighbor.cpp: */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // no binning needed +neighbor.cpp: // use request settings to match exactly one NBin class mask +neighbor.cpp: // checks are bitwise using NeighConst bit masks +neighbor.cpp: // require match of these request flags and mask bits +neighbor.cpp: // (!A != !B) is effectively a logical xor +neighbor.cpp: // error return if matched none +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // no stencil creation needed +neighbor.cpp: // convert newton request to newtflag = on or off +neighbor.cpp: //printf("STENCIL RQ FLAGS: hff %d %d n %d g %d s %d newtflag %d\n", +neighbor.cpp: // rq->half,rq->full,rq->newton,rq->ghost,rq->ssa, +neighbor.cpp: // newtflag); +neighbor.cpp: // use request and system settings to match exactly one NStencil class mask +neighbor.cpp: // checks are bitwise using NeighConst bit masks +neighbor.cpp: //printf("III %d: half %d full %d newton %d newtoff %d ghost %d ssa %d\n", +neighbor.cpp: // i,mask & NS_HALF,mask & NS_FULL,mask & NS_NEWTON, +neighbor.cpp: // mask & NS_NEWTOFF,mask & NS_GHOST,mask & NS_SSA); +neighbor.cpp: // exactly one of half or full is set and must match +neighbor.cpp: // newtflag is on or off and must match +neighbor.cpp: // require match of these request flags and mask bits +neighbor.cpp: // (!A != !B) is effectively a logical xor +neighbor.cpp: // neighbor style is BIN or MULTI and must match +neighbor.cpp: // dimension is 2 or 3 and must match +neighbor.cpp: // domain triclinic flag is on or off and must match +neighbor.cpp: // error return if matched none +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // no neighbor list build performed +neighbor.cpp: // error check for includegroup with ghost neighbor request +neighbor.cpp: // convert newton request to newtflag = on or off +neighbor.cpp: //printf("PAIR RQ FLAGS: hf %d %d n %d g %d sz %d gos %d r %d b %d o %d i %d " +neighbor.cpp: // "kk %d %d ss %d dn %d sk %d cp %d hf %d oo %d\n", +neighbor.cpp: // rq->half,rq->full,rq->newton,rq->ghost,rq->size, +neighbor.cpp: // rq->granonesided,rq->respaouter,rq->bond,rq->omp,rq->intel, +neighbor.cpp: // rq->kokkos_host,rq->kokkos_device,rq->ssa,rq->dnum, +neighbor.cpp: // rq->skip,rq->copy,rq->halffull,rq->off2on); +neighbor.cpp: // use request and system settings to match exactly one NPair class mask +neighbor.cpp: // checks are bitwise using NeighConst bit masks +neighbor.cpp: //printf(" PAIR NAMES i %d %d name %s mask %d\n",i,nrequest, +neighbor.cpp: // pairnames[i],pairmasks[i]); +neighbor.cpp: // if copy request, no further checks needed, just return or continue +neighbor.cpp: // Kokkos device/host flags must also match in order to copy +neighbor.cpp: // exactly one of half or full is set and must match +neighbor.cpp: // newtflag is on or off and must match +neighbor.cpp: // if molecular on, do not match ATOMONLY (b/c a MOLONLY Npair exists) +neighbor.cpp: // if molecular off, do not match MOLONLY (b/c an ATOMONLY Npair exists) +neighbor.cpp: // require match of these request flags and mask bits +neighbor.cpp: // (!A != !B) is effectively a logical xor +neighbor.cpp: // neighbor style is one of NSQ,BIN,MULTI and must match +neighbor.cpp: // domain triclinic flag is on or off and must match +neighbor.cpp: // error return if matched none +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp: called before run and every reneighbor if box size/shape changes +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // invoke setup_bins() for all NBin +neighbor.cpp: // actual binning is performed in build() +neighbor.cpp: // invoke create_setup() and create() for all perpetual NStencil +neighbor.cpp: // same ops performed for occasional lists in build_one() +neighbor.cpp:/* ---------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp: new trigger = 1/2 of reduced skin distance +neighbor.cpp: for orthogonal box, only need 2 lo/hi corners +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // check that using special bond flags will not overflow neigh lists +neighbor.cpp: // store current atom positions and box size if needed +neighbor.cpp: // bin atoms for all NBin instances +neighbor.cpp: // not just NBin associated with perpetual lists +neighbor.cpp: // b/c cannot wait to bin occasional lists in build_one() call +neighbor.cpp: // if bin then, atoms may have moved outside of proc domain & bin extent, +neighbor.cpp: // leading to errors or even a crash +neighbor.cpp: // build pairwise lists for all perpetual NPair/NeighList +neighbor.cpp: // grow() with nlocal/nall args so that only realloc if have to +neighbor.cpp: // build topology lists for bonds/angles/etc +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp: copy their list info back to Neighbor for access by bond/angle/etc classes +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: // check if list structure is initialized +neighbor.cpp: // build_one() should never be invoked on a perpetual list +neighbor.cpp: // no need to build if already built since last re-neighbor +neighbor.cpp: // preflag is set by fix bond/create and fix bond/swap +neighbor.cpp: // b/c they invoke build_one() on same step neigh list is re-built, +neighbor.cpp: // but before re-build, so need to use ">" instead of ">=" +neighbor.cpp: // if this is copy list and parent is occasional list, +neighbor.cpp: // or this is halffull and parent is occasional list, +neighbor.cpp: // insure parent is current +neighbor.cpp: // create stencil if hasn't been created since last setup_bins() call +neighbor.cpp: // build the list +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp: } else if (strcmp(arg[iarg+1],"molecule/inter") == 0 || +neighbor.cpp: strcmp(arg[iarg+1],"molecule/intra") == 0) { +neighbor.cpp: if (strcmp(arg[iarg+1],"molecule/intra") == 0) +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neighbor.cpp:/* ---------------------------------------------------------------------- +neighbor.cpp:------------------------------------------------------------------------- */ +neigh_list.cpp:/* ---------------------------------------------------------------------- +neigh_list.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +neigh_list.cpp: http://lammps.sandia.gov, Sandia National Laboratories +neigh_list.cpp:------------------------------------------------------------------------- */ +neigh_list.cpp:enum{NSQ,BIN,MULTI}; // also in Neighbor +neigh_list.cpp:/* ---------------------------------------------------------------------- */ +neigh_list.cpp: // initializations +neigh_list.cpp: // defaults, but may be reset by post_constructor() +neigh_list.cpp: // ptrs +neigh_list.cpp: // Kokkos package +neigh_list.cpp: // USER-DPD package +neigh_list.cpp:/* ---------------------------------------------------------------------- */ +neigh_list.cpp:/* ---------------------------------------------------------------------- +neigh_list.cpp: cannot do this in constructor b/c not all NeighLists are allocated yet +neigh_list.cpp: respaouter -> set listinner/listmiddle for other rRESPA lists +neigh_list.cpp:------------------------------------------------------------------------- */ +neigh_list.cpp: // copy request settings used by list itself +neigh_list.cpp:/* ---------------------------------------------------------------------- */ +neigh_list.cpp:/* ---------------------------------------------------------------------- +neigh_list.cpp: grow per-atom data to allow for nlocal/nall atoms +neigh_list.cpp:------------------------------------------------------------------------- */ +neigh_list.cpp: // trigger grow() in children before possible return +neigh_list.cpp: // skip if data structs are already big enough +neigh_list.cpp:/* ---------------------------------------------------------------------- +neigh_list.cpp:------------------------------------------------------------------------- */ +neigh_list.cpp: printf("Neighbor list/request %d:\n",index); +neigh_list.cpp: printf(" %d = half/full\n",rq->halffull); +neigh_list.cpp: printf(" %d = history/partner\n",rq->history_partner); +neigh_list.cpp:/* ---------------------------------------------------------------------- +neigh_list.cpp:------------------------------------------------------------------------- */ +neigh_request.cpp:/* ---------------------------------------------------------------------- +neigh_request.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +neigh_request.cpp: http://lammps.sandia.gov, Sandia National Laboratories +neigh_request.cpp:------------------------------------------------------------------------- */ +neigh_request.cpp:/* ---------------------------------------------------------------------- */ +neigh_request.cpp: // default ID = 0 +neigh_request.cpp: // class user of list: default is pair request +neigh_request.cpp: // only one is set to 1 +neigh_request.cpp: // kind of list: default is half neighbor list +neigh_request.cpp: // only one is set to 1 +neigh_request.cpp: // attribute flags, mutiple can be set to 1 +neigh_request.cpp: // default is every reneighboring, not occasional +neigh_request.cpp: // default is use newton_pair setting in force +neigh_request.cpp: // default is no neighbors of ghosts +neigh_request.cpp: // default is use cutoffs, not size of particles +neigh_request.cpp: // default is no additional neighbor history info +neigh_request.cpp: // default is no one-sided sphere/surface interactions (when size = 1) +neigh_request.cpp: // default is neighbors of atoms, not bonds +neigh_request.cpp: // default is no multilevel rRESPA neighbors +neigh_request.cpp: // default is no OpenMP multi-threaded neighbor list build +neigh_request.cpp: // default is no Intel-specific neighbor list build +neigh_request.cpp: // default is no Kokkos neighbor list build +neigh_request.cpp: // default is no Shardlow Splitting Algorithm (SSA) neighbor list build +neigh_request.cpp: // default is no storage of auxiliary floating point values +neigh_request.cpp: // skip info, default is no skipping +neigh_request.cpp: // only set when command = 1; +neigh_request.cpp: // info set by Neighbor class when morphing original requests +neigh_request.cpp: // internal settings +neigh_request.cpp:/* ---------------------------------------------------------------------- */ +neigh_request.cpp:/* ---------------------------------------------------------------------- +neigh_request.cpp:------------------------------------------------------------------------- */ +neigh_request.cpp: // check for match of requestor_instance and instance counter +neigh_request.cpp: // prevents an old fix from being unfix/refix in same memory location +neigh_request.cpp: // stored in requestor, and thus appearing old, when really new +neigh_request.cpp: // only needed for classes with persistent neigh lists: Pair, Fix, Compute +neigh_request.cpp: // only compare settings made by requestors +neigh_request.cpp: // not settings made later by Neighbor class +neigh_request.cpp:/* ---------------------------------------------------------------------- +neigh_request.cpp:------------------------------------------------------------------------- */ +neigh_request.cpp:/* ---------------------------------------------------------------------- +neigh_request.cpp: skipflag = 1 to copy skip vector/array +neigh_request.cpp:------------------------------------------------------------------------- */ +npair_copy.cpp:/* ---------------------------------------------------------------------- +npair_copy.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_copy.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_copy.cpp:------------------------------------------------------------------------- */ +npair_copy.cpp:/* ---------------------------------------------------------------------- */ +npair_copy.cpp:/* ---------------------------------------------------------------------- +npair_copy.cpp:------------------------------------------------------------------------- */ +npair.cpp:/* ---------------------------------------------------------------------- +npair.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair.cpp:------------------------------------------------------------------------- */ +npair.cpp:/* ---------------------------------------------------------------------- */ +npair.cpp:/* ---------------------------------------------------------------------- */ +npair.cpp:/* ---------------------------------------------------------------------- */ +npair.cpp:/* ---------------------------------------------------------------------- +npair.cpp:------------------------------------------------------------------------- */ +npair.cpp: // general params +npair.cpp: // exclusion info +npair.cpp: // special info +npair.cpp: // overwrite per-type Neighbor cutoffs with custom value set by requestor +npair.cpp: // only works for style = BIN (checked by Neighbor class) +npair.cpp:/* ---------------------------------------------------------------------- +npair.cpp:------------------------------------------------------------------------- */ +npair.cpp:/* ---------------------------------------------------------------------- +npair.cpp:------------------------------------------------------------------------- */ +npair.cpp:/* ---------------------------------------------------------------------- +npair.cpp:------------------------------------------------------------------------- */ +npair.cpp: // set here, since build_setup() always called before build() +npair.cpp:/* ---------------------------------------------------------------------- +npair.cpp:------------------------------------------------------------------------- */ +npair.cpp: // intra-chain: exclude i-j pair if in same molecule +npair.cpp: // inter-chain: exclude i-j pair if in different molecules +npair.cpp:/* ---------------------------------------------------------------------- +npair.cpp: take special care to insure ghosts are in correct bins even w/ roundoff +npair.cpp:------------------------------------------------------------------------- */ +npair.cpp:/* ---------------------------------------------------------------------- +npair.cpp:------------------------------------------------------------------------- */ +npair_full_bin_atomonly.cpp:/* ---------------------------------------------------------------------- +npair_full_bin_atomonly.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_full_bin_atomonly.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_full_bin_atomonly.cpp:------------------------------------------------------------------------- */ +npair_full_bin_atomonly.cpp:/* ---------------------------------------------------------------------- */ +npair_full_bin_atomonly.cpp:/* ---------------------------------------------------------------------- +npair_full_bin_atomonly.cpp:------------------------------------------------------------------------- */ +npair_full_bin_atomonly.cpp: // loop over all atoms in surrounding bins in stencil including self +npair_full_bin_atomonly.cpp: // skip i = j +npair_full_bin.cpp:/* ---------------------------------------------------------------------- +npair_full_bin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_full_bin.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_full_bin.cpp:------------------------------------------------------------------------- */ +npair_full_bin.cpp:/* ---------------------------------------------------------------------- */ +npair_full_bin.cpp:/* ---------------------------------------------------------------------- +npair_full_bin.cpp:------------------------------------------------------------------------- */ +npair_full_bin.cpp: // loop over all atoms in surrounding bins in stencil including self +npair_full_bin.cpp: // skip i = j +npair_full_bin_ghost.cpp:/* ---------------------------------------------------------------------- +npair_full_bin_ghost.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_full_bin_ghost.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_full_bin_ghost.cpp:------------------------------------------------------------------------- */ +npair_full_bin_ghost.cpp:/* ---------------------------------------------------------------------- */ +npair_full_bin_ghost.cpp:/* ---------------------------------------------------------------------- +npair_full_bin_ghost.cpp:------------------------------------------------------------------------- */ +npair_full_bin_ghost.cpp: // loop over owned & ghost atoms, storing neighbors +npair_full_bin_ghost.cpp: // loop over all atoms in surrounding bins in stencil including self +npair_full_bin_ghost.cpp: // when i is a ghost atom, must check if stencil bin is out of bounds +npair_full_bin_ghost.cpp: // skip i = j +npair_full_bin_ghost.cpp: // no molecular test when i = ghost atom +npair_full_multi.cpp:/* ---------------------------------------------------------------------- +npair_full_multi.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_full_multi.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_full_multi.cpp:------------------------------------------------------------------------- */ +npair_full_multi.cpp:/* ---------------------------------------------------------------------- */ +npair_full_multi.cpp:/* ---------------------------------------------------------------------- +npair_full_multi.cpp:------------------------------------------------------------------------- */ +npair_full_multi.cpp: // loop over all atoms in other bins in stencil, including self +npair_full_multi.cpp: // skip if i,j neighbor cutoff is less than bin distance +npair_full_multi.cpp: // skip i = j +npair_full_nsq.cpp:/* ---------------------------------------------------------------------- +npair_full_nsq.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_full_nsq.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_full_nsq.cpp:------------------------------------------------------------------------- */ +npair_full_nsq.cpp:/* ---------------------------------------------------------------------- */ +npair_full_nsq.cpp:/* ---------------------------------------------------------------------- +npair_full_nsq.cpp:------------------------------------------------------------------------- */ +npair_full_nsq.cpp: // loop over all atoms, owned and ghost +npair_full_nsq.cpp: // skip i = j +npair_full_nsq_ghost.cpp:/* ---------------------------------------------------------------------- +npair_full_nsq_ghost.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_full_nsq_ghost.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_full_nsq_ghost.cpp:------------------------------------------------------------------------- */ +npair_full_nsq_ghost.cpp:/* ---------------------------------------------------------------------- */ +npair_full_nsq_ghost.cpp:/* ---------------------------------------------------------------------- +npair_full_nsq_ghost.cpp:------------------------------------------------------------------------- */ +npair_full_nsq_ghost.cpp: // loop over owned & ghost atoms, storing neighbors +npair_full_nsq_ghost.cpp: // loop over all atoms, owned and ghost +npair_full_nsq_ghost.cpp: // skip i = j +npair_full_nsq_ghost.cpp: // no molecular test when i = ghost atom +npair_half_bin_atomonly_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_bin_atomonly_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_bin_atomonly_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_bin_atomonly_newton.cpp:------------------------------------------------------------------------- */ +npair_half_bin_atomonly_newton.cpp:/* ---------------------------------------------------------------------- */ +npair_half_bin_atomonly_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_bin_atomonly_newton.cpp:------------------------------------------------------------------------- */ +npair_half_bin_atomonly_newton.cpp: // loop over rest of atoms in i's bin, ghosts are at end of linked list +npair_half_bin_atomonly_newton.cpp: // if j is owned atom, store it, since j is beyond i in linked list +npair_half_bin_atomonly_newton.cpp: // if j is ghost, only store if j coords are "above and to the right" of i +npair_half_bin_atomonly_newton.cpp: // loop over all atoms in other bins in stencil, store every pair +npair_half_bin_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_bin_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_bin_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_bin_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_bin_newtoff.cpp:/* ---------------------------------------------------------------------- */ +npair_half_bin_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_bin_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_bin_newtoff.cpp: // loop over all atoms in other bins in stencil including self +npair_half_bin_newtoff.cpp: // only store pair if i < j +npair_half_bin_newtoff.cpp: // stores own/own pairs only once +npair_half_bin_newtoff.cpp: // stores own/ghost pairs on both procs +npair_half_bin_newtoff.cpp: // OLD: if (which >= 0) neighptr[n++] = j ^ (which << SBBITS); +npair_half_bin_newtoff_ghost.cpp:/* ---------------------------------------------------------------------- +npair_half_bin_newtoff_ghost.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_bin_newtoff_ghost.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_bin_newtoff_ghost.cpp:------------------------------------------------------------------------- */ +npair_half_bin_newtoff_ghost.cpp:/* ---------------------------------------------------------------------- */ +npair_half_bin_newtoff_ghost.cpp:/* ---------------------------------------------------------------------- +npair_half_bin_newtoff_ghost.cpp:------------------------------------------------------------------------- */ +npair_half_bin_newtoff_ghost.cpp: // loop over all atoms in other bins in stencil including self +npair_half_bin_newtoff_ghost.cpp: // when i is a ghost atom, must check if stencil bin is out of bounds +npair_half_bin_newtoff_ghost.cpp: // only store pair if i < j +npair_half_bin_newtoff_ghost.cpp: // stores own/own pairs only once +npair_half_bin_newtoff_ghost.cpp: // stores own/ghost pairs with owned atom only, on both procs +npair_half_bin_newtoff_ghost.cpp: // stores ghost/ghost pairs only once +npair_half_bin_newtoff_ghost.cpp: // no molecular test when i = ghost atom +npair_half_bin_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_bin_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_bin_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_bin_newton.cpp:------------------------------------------------------------------------- */ +npair_half_bin_newton.cpp:/* ---------------------------------------------------------------------- */ +npair_half_bin_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_bin_newton.cpp:------------------------------------------------------------------------- */ +npair_half_bin_newton.cpp: // loop over rest of atoms in i's bin, ghosts are at end of linked list +npair_half_bin_newton.cpp: // if j is owned atom, store it, since j is beyond i in linked list +npair_half_bin_newton.cpp: // if j is ghost, only store if j coords are "above and to the right" of i +npair_half_bin_newton.cpp: // OLD: if (which >= 0) neighptr[n++] = j ^ (which << SBBITS); +npair_half_bin_newton.cpp: // loop over all atoms in other bins in stencil, store every pair +npair_half_bin_newton.cpp: // OLD: if (which >= 0) neighptr[n++] = j ^ (which << SBBITS); +npair_half_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- +npair_half_bin_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_bin_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_bin_newton_tri.cpp:------------------------------------------------------------------------- */ +npair_half_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- */ +npair_half_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- +npair_half_bin_newton_tri.cpp:------------------------------------------------------------------------- */ +npair_half_bin_newton_tri.cpp: // loop over all atoms in bins in stencil +npair_half_bin_newton_tri.cpp: // pairs for atoms j "below" i are excluded +npair_half_bin_newton_tri.cpp: // below = lower z or (equal z and lower y) or (equal zy and lower x) +npair_half_bin_newton_tri.cpp: // (equal zyx and j <= i) +npair_half_bin_newton_tri.cpp: // latter excludes self-self interaction but allows superposed atoms +npair_halffull_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_halffull_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_halffull_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_halffull_newtoff.cpp:------------------------------------------------------------------------- */ +npair_halffull_newtoff.cpp:/* ---------------------------------------------------------------------- */ +npair_halffull_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_halffull_newtoff.cpp:------------------------------------------------------------------------- */ +npair_halffull_newtoff.cpp: // loop over atoms in full list +npair_halffull_newtoff.cpp: // loop over parent full list +npair_halffull_newton.cpp:/* ---------------------------------------------------------------------- +npair_halffull_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_halffull_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_halffull_newton.cpp:------------------------------------------------------------------------- */ +npair_halffull_newton.cpp:/* ---------------------------------------------------------------------- */ +npair_halffull_newton.cpp:/* ---------------------------------------------------------------------- +npair_halffull_newton.cpp:------------------------------------------------------------------------- */ +npair_halffull_newton.cpp: // loop over parent full list +npair_halffull_newton.cpp: // loop over full neighbor list +npair_half_multi_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_multi_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_multi_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_multi_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_multi_newtoff.cpp:/* ---------------------------------------------------------------------- */ +npair_half_multi_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_multi_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_multi_newtoff.cpp: // loop over all atoms in other bins in stencil including self +npair_half_multi_newtoff.cpp: // only store pair if i < j +npair_half_multi_newtoff.cpp: // skip if i,j neighbor cutoff is less than bin distance +npair_half_multi_newtoff.cpp: // stores own/own pairs only once +npair_half_multi_newtoff.cpp: // stores own/ghost pairs on both procs +npair_half_multi_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_multi_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_multi_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_multi_newton.cpp:------------------------------------------------------------------------- */ +npair_half_multi_newton.cpp:/* ---------------------------------------------------------------------- */ +npair_half_multi_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_multi_newton.cpp:------------------------------------------------------------------------- */ +npair_half_multi_newton.cpp: // loop over rest of atoms in i's bin, ghosts are at end of linked list +npair_half_multi_newton.cpp: // if j is owned atom, store it, since j is beyond i in linked list +npair_half_multi_newton.cpp: // if j is ghost, only store if j coords are "above and to the right" of i +npair_half_multi_newton.cpp: // loop over all atoms in other bins in stencil, store every pair +npair_half_multi_newton.cpp: // skip if i,j neighbor cutoff is less than bin distance +npair_half_multi_newton_tri.cpp:/* ---------------------------------------------------------------------- +npair_half_multi_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_multi_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_multi_newton_tri.cpp:------------------------------------------------------------------------- */ +npair_half_multi_newton_tri.cpp:/* ---------------------------------------------------------------------- */ +npair_half_multi_newton_tri.cpp:/* ---------------------------------------------------------------------- +npair_half_multi_newton_tri.cpp:------------------------------------------------------------------------- */ +npair_half_multi_newton_tri.cpp: // loop over all atoms in bins, including self, in stencil +npair_half_multi_newton_tri.cpp: // skip if i,j neighbor cutoff is less than bin distance +npair_half_multi_newton_tri.cpp: // bins below self are excluded from stencil +npair_half_multi_newton_tri.cpp: // pairs for atoms j "below" i are excluded +npair_half_multi_newton_tri.cpp: // below = lower z or (equal z and lower y) or (equal zy and lower x) +npair_half_multi_newton_tri.cpp: // (equal zyx and j <= i) +npair_half_multi_newton_tri.cpp: // latter excludes self-self interaction but allows superposed atoms +npair_half_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_nsq_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_nsq_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_nsq_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- */ +npair_half_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_nsq_newtoff.cpp: N^2 / 2 search for neighbor pairs with partial Newton's 3rd law +npair_half_nsq_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_nsq_newtoff.cpp: // loop over remaining atoms, owned and ghost +npair_half_nsq_newtoff.cpp: // only store pair if i < j +npair_half_nsq_newtoff_ghost.cpp:/* ---------------------------------------------------------------------- +npair_half_nsq_newtoff_ghost.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_nsq_newtoff_ghost.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_nsq_newtoff_ghost.cpp:------------------------------------------------------------------------- */ +npair_half_nsq_newtoff_ghost.cpp:/* ---------------------------------------------------------------------- */ +npair_half_nsq_newtoff_ghost.cpp:/* ---------------------------------------------------------------------- +npair_half_nsq_newtoff_ghost.cpp: N^2 / 2 search for neighbor pairs with partial Newton's 3rd law +npair_half_nsq_newtoff_ghost.cpp:------------------------------------------------------------------------- */ +npair_half_nsq_newtoff_ghost.cpp: // loop over owned & ghost atoms, storing neighbors +npair_half_nsq_newtoff_ghost.cpp: // loop over remaining atoms, owned and ghost +npair_half_nsq_newtoff_ghost.cpp: // only store pair if i < j +npair_half_nsq_newtoff_ghost.cpp: // stores own/own pairs only once +npair_half_nsq_newtoff_ghost.cpp: // stores own/ghost pairs with owned atom only, on both procs +npair_half_nsq_newtoff_ghost.cpp: // stores ghost/ghost pairs only once +npair_half_nsq_newtoff_ghost.cpp: // no molecular test when i = ghost atom +npair_half_nsq_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_nsq_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_nsq_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_nsq_newton.cpp:------------------------------------------------------------------------- */ +npair_half_nsq_newton.cpp:/* ---------------------------------------------------------------------- */ +npair_half_nsq_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_nsq_newton.cpp: N^2 / 2 search for neighbor pairs with full Newton's 3rd law +npair_half_nsq_newton.cpp:------------------------------------------------------------------------- */ +npair_half_nsq_newton.cpp: // loop over remaining atoms, owned and ghost +npair_half_nsq_newton.cpp: // itag = jtag is possible for long cutoffs that include images of self +npair_half_respa_bin_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_respa_bin_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_respa_bin_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_respa_bin_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_respa_bin_newtoff.cpp:/* ---------------------------------------------------------------------- */ +npair_half_respa_bin_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_respa_bin_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_respa_bin_newtoff.cpp: // loop over all atoms in surrounding bins in stencil including self +npair_half_respa_bin_newtoff.cpp: // only store pair if i < j +npair_half_respa_bin_newtoff.cpp: // stores own/own pairs only once +npair_half_respa_bin_newtoff.cpp: // stores own/ghost pairs on both procs +npair_half_respa_bin_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_respa_bin_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_respa_bin_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_respa_bin_newton.cpp:------------------------------------------------------------------------- */ +npair_half_respa_bin_newton.cpp:/* ---------------------------------------------------------------------- */ +npair_half_respa_bin_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_respa_bin_newton.cpp:------------------------------------------------------------------------- */ +npair_half_respa_bin_newton.cpp: // loop over rest of atoms in i's bin, ghosts are at end of linked list +npair_half_respa_bin_newton.cpp: // if j is owned atom, store it, since j is beyond i in linked list +npair_half_respa_bin_newton.cpp: // if j is ghost, only store if j coords are "above and to the right" of i +npair_half_respa_bin_newton.cpp: // loop over all atoms in other bins in stencil, store every pair +npair_half_respa_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- +npair_half_respa_bin_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_respa_bin_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_respa_bin_newton_tri.cpp:------------------------------------------------------------------------- */ +npair_half_respa_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- */ +npair_half_respa_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- +npair_half_respa_bin_newton_tri.cpp:------------------------------------------------------------------------- */ +npair_half_respa_bin_newton_tri.cpp: // loop over all atoms in bins in stencil +npair_half_respa_bin_newton_tri.cpp: // pairs for atoms j "below" i are excluded +npair_half_respa_bin_newton_tri.cpp: // below = lower z or (equal z and lower y) or (equal zy and lower x) +npair_half_respa_bin_newton_tri.cpp: // (equal zyx and j <= i) +npair_half_respa_bin_newton_tri.cpp: // latter excludes self-self interaction but allows superposed atoms +npair_half_respa_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_respa_nsq_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_respa_nsq_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_respa_nsq_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_respa_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- */ +npair_half_respa_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_respa_nsq_newtoff.cpp: N^2 / 2 search for neighbor pairs with partial Newton's 3rd law +npair_half_respa_nsq_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_respa_nsq_newtoff.cpp: // loop over remaining atoms, owned and ghost +npair_half_respa_nsq_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_respa_nsq_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_respa_nsq_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_respa_nsq_newton.cpp:------------------------------------------------------------------------- */ +npair_half_respa_nsq_newton.cpp:/* ---------------------------------------------------------------------- */ +npair_half_respa_nsq_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_respa_nsq_newton.cpp: N^2 / 2 search for neighbor pairs with full Newton's 3rd law +npair_half_respa_nsq_newton.cpp:------------------------------------------------------------------------- */ +npair_half_respa_nsq_newton.cpp: // loop over remaining atoms, owned and ghost +npair_half_size_bin_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_size_bin_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_size_bin_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_size_bin_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_size_bin_newtoff.cpp:/* ---------------------------------------------------------------------- */ +npair_half_size_bin_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_size_bin_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_size_bin_newtoff.cpp: // loop over all atoms in surrounding bins in stencil including self +npair_half_size_bin_newtoff.cpp: // only store pair if i < j +npair_half_size_bin_newtoff.cpp: // stores own/own pairs only once +npair_half_size_bin_newtoff.cpp: // stores own/ghost pairs on both procs +npair_half_size_bin_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_size_bin_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_size_bin_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_size_bin_newton.cpp:------------------------------------------------------------------------- */ +npair_half_size_bin_newton.cpp:/* ---------------------------------------------------------------------- */ +npair_half_size_bin_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_size_bin_newton.cpp:------------------------------------------------------------------------- */ +npair_half_size_bin_newton.cpp: // loop over rest of atoms in i's bin, ghosts are at end of linked list +npair_half_size_bin_newton.cpp: // if j is owned atom, store it, since j is beyond i in linked list +npair_half_size_bin_newton.cpp: // if j is ghost, only store if j coords are "above and to the right" of i +npair_half_size_bin_newton.cpp: // loop over all atoms in other bins in stencil, store every pair +npair_half_size_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- +npair_half_size_bin_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_size_bin_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_size_bin_newton_tri.cpp:------------------------------------------------------------------------- */ +npair_half_size_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- */ +npair_half_size_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- +npair_half_size_bin_newton_tri.cpp:------------------------------------------------------------------------- */ +npair_half_size_bin_newton_tri.cpp: // loop over all atoms in bins in stencil +npair_half_size_bin_newton_tri.cpp: // pairs for atoms j "below" i are excluded +npair_half_size_bin_newton_tri.cpp: // below = lower z or (equal z and lower y) or (equal zy and lower x) +npair_half_size_bin_newton_tri.cpp: // (equal zyx and j <= i) +npair_half_size_bin_newton_tri.cpp: // latter excludes self-self interaction but allows superposed atoms +npair_half_size_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_size_nsq_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_size_nsq_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_size_nsq_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_size_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- */ +npair_half_size_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- +npair_half_size_nsq_newtoff.cpp: N^2 / 2 search for neighbor pairs with partial Newton's 3rd law +npair_half_size_nsq_newtoff.cpp:------------------------------------------------------------------------- */ +npair_half_size_nsq_newtoff.cpp: // loop over remaining atoms, owned and ghost +npair_half_size_nsq_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_size_nsq_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_half_size_nsq_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_half_size_nsq_newton.cpp:------------------------------------------------------------------------- */ +npair_half_size_nsq_newton.cpp:/* ---------------------------------------------------------------------- */ +npair_half_size_nsq_newton.cpp:/* ---------------------------------------------------------------------- +npair_half_size_nsq_newton.cpp: N^2 / 2 search for neighbor pairs with full Newton's 3rd law +npair_half_size_nsq_newton.cpp:------------------------------------------------------------------------- */ +npair_half_size_nsq_newton.cpp: // loop over remaining atoms, owned and ghost +npair_skip.cpp:/* ---------------------------------------------------------------------- +npair_skip.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_skip.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_skip.cpp:------------------------------------------------------------------------- */ +npair_skip.cpp:/* ---------------------------------------------------------------------- */ +npair_skip.cpp:/* ---------------------------------------------------------------------- +npair_skip.cpp:------------------------------------------------------------------------- */ +npair_skip.cpp: // loop over atoms in other list +npair_skip.cpp: // skip I atom entirely if iskip is set for type[I] +npair_skip.cpp: // skip I,J pair if ijskip is set for type[I],type[J] +npair_skip.cpp: // loop over parent non-skip list +npair_skip_respa.cpp:/* ---------------------------------------------------------------------- +npair_skip_respa.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_skip_respa.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_skip_respa.cpp:------------------------------------------------------------------------- */ +npair_skip_respa.cpp:/* ---------------------------------------------------------------------- */ +npair_skip_respa.cpp:/* ---------------------------------------------------------------------- +npair_skip_respa.cpp: this is for respa lists, copy the inner/middle values from parent +npair_skip_respa.cpp:------------------------------------------------------------------------- */ +npair_skip_respa.cpp: // loop over atoms in other list +npair_skip_respa.cpp: // skip I atom entirely if iskip is set for type[I] +npair_skip_respa.cpp: // skip I,J pair if ijskip is set for type[I],type[J] +npair_skip_respa.cpp: // loop over parent outer rRESPA list +npair_skip_respa.cpp: // loop over parent inner rRESPA list +npair_skip_respa.cpp: // loop over parent middle rRESPA list +npair_skip_size.cpp:/* ---------------------------------------------------------------------- +npair_skip_size.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_skip_size.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_skip_size.cpp:------------------------------------------------------------------------- */ +npair_skip_size.cpp:/* ---------------------------------------------------------------------- */ +npair_skip_size.cpp:/* ---------------------------------------------------------------------- +npair_skip_size.cpp: if list requests it, preserve shear history via fix shear/history +npair_skip_size.cpp:------------------------------------------------------------------------- */ +npair_skip_size.cpp: // loop over atoms in other list +npair_skip_size.cpp: // skip I atom entirely if iskip is set for type[I] +npair_skip_size.cpp: // skip I,J pair if ijskip is set for type[I],type[J] +npair_skip_size.cpp: // loop over parent non-skip size list and optionally its history info +npair_skip_size.cpp: // no numeric test for current touch +npair_skip_size.cpp: // just use FSH partner list to infer it +npair_skip_size.cpp: // would require distance calculation for spheres +npair_skip_size.cpp: // more complex calculation for surfs +npair_skip_size_off2on.cpp:/* ---------------------------------------------------------------------- +npair_skip_size_off2on.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_skip_size_off2on.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_skip_size_off2on.cpp:------------------------------------------------------------------------- */ +npair_skip_size_off2on.cpp:/* ---------------------------------------------------------------------- */ +npair_skip_size_off2on.cpp:/* ---------------------------------------------------------------------- +npair_skip_size_off2on.cpp: if list requests it, preserve shear history via fix shear/history +npair_skip_size_off2on.cpp:------------------------------------------------------------------------- */ +npair_skip_size_off2on.cpp: // loop over atoms in other list +npair_skip_size_off2on.cpp: // skip I atom entirely if iskip is set for type[I] +npair_skip_size_off2on.cpp: // skip I,J pair if ijskip is set for type[I],type[J] +npair_skip_size_off2on.cpp: // loop over parent non-skip size list and optionally its history info +npair_skip_size_off2on.cpp: // only keep I,J when J = ghost if Itag < Jtag +npair_skip_size_off2on.cpp: // no numeric test for current touch +npair_skip_size_off2on.cpp: // just use FSH partner list to infer it +npair_skip_size_off2on.cpp: // would require distance calculation for spheres +npair_skip_size_off2on.cpp: // more complex calculation for surfs +npair_skip_size_off2on_oneside.cpp:/* ---------------------------------------------------------------------- +npair_skip_size_off2on_oneside.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +npair_skip_size_off2on_oneside.cpp: http://lammps.sandia.gov, Sandia National Laboratories +npair_skip_size_off2on_oneside.cpp:------------------------------------------------------------------------- */ +npair_skip_size_off2on_oneside.cpp:/* ---------------------------------------------------------------------- */ +npair_skip_size_off2on_oneside.cpp:/* ---------------------------------------------------------------------- +npair_skip_size_off2on_oneside.cpp: if list requests it, preserve shear history via fix shear/history +npair_skip_size_off2on_oneside.cpp:------------------------------------------------------------------------- */ +npair_skip_size_off2on_oneside.cpp: // two loops over parent list required, one to count, one to store +npair_skip_size_off2on_oneside.cpp: // because onesided constraint means pair I,J may be stored with I or J +npair_skip_size_off2on_oneside.cpp: // so don't know in advance how much space to alloc for each atom's neighs +npair_skip_size_off2on_oneside.cpp: // first loop over atoms in other list to count neighbors +npair_skip_size_off2on_oneside.cpp: // skip I atom entirely if iskip is set for type[I] +npair_skip_size_off2on_oneside.cpp: // skip I,J pair if ijskip is set for type[I],type[J] +npair_skip_size_off2on_oneside.cpp: // loop over parent non-skip size list +npair_skip_size_off2on_oneside.cpp: // flip I,J if necessary to satisfy onesided constraint +npair_skip_size_off2on_oneside.cpp: // do not keep if I is now ghost +npair_skip_size_off2on_oneside.cpp: // allocate all per-atom neigh list chunks, including history +npair_skip_size_off2on_oneside.cpp: // second loop over atoms in other list to store neighbors +npair_skip_size_off2on_oneside.cpp: // skip I atom entirely if iskip is set for type[I] +npair_skip_size_off2on_oneside.cpp: // skip I,J pair if ijskip is set for type[I],type[J] +npair_skip_size_off2on_oneside.cpp: // loop over parent non-skip size list and optionally its history info +npair_skip_size_off2on_oneside.cpp: // flip I,J if necessary to satisfy onesided constraint +npair_skip_size_off2on_oneside.cpp: // do not keep if I is now ghost +npair_skip_size_off2on_oneside.cpp: // store j in neigh list, not joriginal, like other neigh methods +npair_skip_size_off2on_oneside.cpp: // OK, b/c there is no special list flagging for surfs +npair_skip_size_off2on_oneside.cpp: // no numeric test for current touch +npair_skip_size_off2on_oneside.cpp: // just use FSH partner list to infer it +npair_skip_size_off2on_oneside.cpp: // would require complex calculation for surfs +npair_skip_size_off2on_oneside.cpp: // only add atom I to ilist if it has neighbors +npair_skip_size_off2on_oneside.cpp: // fix shear/history allows for this in pre_exchange_onesided() +nstencil.cpp:/* ---------------------------------------------------------------------- +nstencil.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil.cpp:------------------------------------------------------------------------- */ +nstencil.cpp:enum{NSQ,BIN,MULTI}; // also in Neighbor +nstencil.cpp:/* ---------------------------------------------------------------------- +nstencil.cpp: invoked each time simulation box size/shape changes +nstencil.cpp: regardless of newton on/off or triclinic +nstencil.cpp: stencil follows same rules for half/full, newton on/off, triclinic +nstencil.cpp:------------------------------------------------------------------------- */ +nstencil.cpp:/* ---------------------------------------------------------------------- */ +nstencil.cpp:/* ---------------------------------------------------------------------- */ +nstencil.cpp:/* ---------------------------------------------------------------------- +nstencil.cpp:------------------------------------------------------------------------- */ +nstencil.cpp: // overwrite Neighbor cutoff with custom value set by requestor +nstencil.cpp: // only works for style = BIN (checked by Neighbor class) +nstencil.cpp:/* ---------------------------------------------------------------------- +nstencil.cpp:------------------------------------------------------------------------- */ +nstencil.cpp:/* ---------------------------------------------------------------------- +nstencil.cpp:------------------------------------------------------------------------- */ +nstencil.cpp: // sx,sy,sz = max range of stencil in each dim +nstencil.cpp: // smax = max possible size of entire 3d stencil +nstencil.cpp: // stencil will be empty if cutneighmax = 0.0 +nstencil.cpp: // reallocate stencil structs if necessary +nstencil.cpp: // for BIN and MULTI styles +nstencil.cpp:/* ---------------------------------------------------------------------- +nstencil.cpp:------------------------------------------------------------------------- */ +nstencil.cpp:/* ---------------------------------------------------------------------- */ +nstencil_full_bin_2d.cpp:/* ---------------------------------------------------------------------- +nstencil_full_bin_2d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_full_bin_2d.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_full_bin_2d.cpp:------------------------------------------------------------------------- */ +nstencil_full_bin_2d.cpp:/* ---------------------------------------------------------------------- */ +nstencil_full_bin_2d.cpp:/* ---------------------------------------------------------------------- +nstencil_full_bin_2d.cpp:------------------------------------------------------------------------- */ +nstencil_full_bin_3d.cpp:/* ---------------------------------------------------------------------- +nstencil_full_bin_3d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_full_bin_3d.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_full_bin_3d.cpp:------------------------------------------------------------------------- */ +nstencil_full_bin_3d.cpp:/* ---------------------------------------------------------------------- */ +nstencil_full_bin_3d.cpp:/* ---------------------------------------------------------------------- +nstencil_full_bin_3d.cpp:------------------------------------------------------------------------- */ +nstencil_full_ghost_bin_2d.cpp:/* ---------------------------------------------------------------------- +nstencil_full_ghost_bin_2d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_full_ghost_bin_2d.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_full_ghost_bin_2d.cpp:------------------------------------------------------------------------- */ +nstencil_full_ghost_bin_2d.cpp:/* ---------------------------------------------------------------------- */ +nstencil_full_ghost_bin_2d.cpp:/* ---------------------------------------------------------------------- +nstencil_full_ghost_bin_2d.cpp:------------------------------------------------------------------------- */ +nstencil_full_ghost_bin_3d.cpp:/* ---------------------------------------------------------------------- +nstencil_full_ghost_bin_3d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_full_ghost_bin_3d.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_full_ghost_bin_3d.cpp:------------------------------------------------------------------------- */ +nstencil_full_ghost_bin_3d.cpp:/* ---------------------------------------------------------------------- */ +nstencil_full_ghost_bin_3d.cpp:/* ---------------------------------------------------------------------- +nstencil_full_ghost_bin_3d.cpp:------------------------------------------------------------------------- */ +nstencil_full_multi_2d.cpp:/* ---------------------------------------------------------------------- +nstencil_full_multi_2d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_full_multi_2d.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_full_multi_2d.cpp:------------------------------------------------------------------------- */ +nstencil_full_multi_2d.cpp:/* ---------------------------------------------------------------------- */ +nstencil_full_multi_2d.cpp:/* ---------------------------------------------------------------------- +nstencil_full_multi_2d.cpp:------------------------------------------------------------------------- */ +nstencil_full_multi_3d.cpp:/* ---------------------------------------------------------------------- +nstencil_full_multi_3d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_full_multi_3d.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_full_multi_3d.cpp:------------------------------------------------------------------------- */ +nstencil_full_multi_3d.cpp:/* ---------------------------------------------------------------------- */ +nstencil_full_multi_3d.cpp:/* ---------------------------------------------------------------------- +nstencil_full_multi_3d.cpp:------------------------------------------------------------------------- */ +nstencil_half_bin_2d_newtoff.cpp:/* ---------------------------------------------------------------------- +nstencil_half_bin_2d_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_bin_2d_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_bin_2d_newtoff.cpp:------------------------------------------------------------------------- */ +nstencil_half_bin_2d_newtoff.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_bin_2d_newtoff.cpp:/* ---------------------------------------------------------------------- +nstencil_half_bin_2d_newtoff.cpp:------------------------------------------------------------------------- */ +nstencil_half_bin_2d_newton.cpp:/* ---------------------------------------------------------------------- +nstencil_half_bin_2d_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_bin_2d_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_bin_2d_newton.cpp:------------------------------------------------------------------------- */ +nstencil_half_bin_2d_newton.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_bin_2d_newton.cpp:/* ---------------------------------------------------------------------- +nstencil_half_bin_2d_newton.cpp:------------------------------------------------------------------------- */ +nstencil_half_bin_2d_newton_tri.cpp:/* ---------------------------------------------------------------------- +nstencil_half_bin_2d_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_bin_2d_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_bin_2d_newton_tri.cpp:------------------------------------------------------------------------- */ +nstencil_half_bin_2d_newton_tri.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_bin_2d_newton_tri.cpp:/* ---------------------------------------------------------------------- +nstencil_half_bin_2d_newton_tri.cpp:------------------------------------------------------------------------- */ +nstencil_half_bin_3d_newtoff.cpp:/* ---------------------------------------------------------------------- +nstencil_half_bin_3d_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_bin_3d_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_bin_3d_newtoff.cpp:------------------------------------------------------------------------- */ +nstencil_half_bin_3d_newtoff.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_bin_3d_newtoff.cpp:/* ---------------------------------------------------------------------- +nstencil_half_bin_3d_newtoff.cpp:------------------------------------------------------------------------- */ +nstencil_half_bin_3d_newton.cpp:/* ---------------------------------------------------------------------- +nstencil_half_bin_3d_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_bin_3d_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_bin_3d_newton.cpp:------------------------------------------------------------------------- */ +nstencil_half_bin_3d_newton.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_bin_3d_newton.cpp:/* ---------------------------------------------------------------------- +nstencil_half_bin_3d_newton.cpp:------------------------------------------------------------------------- */ +nstencil_half_bin_3d_newton_tri.cpp:/* ---------------------------------------------------------------------- +nstencil_half_bin_3d_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_bin_3d_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_bin_3d_newton_tri.cpp:------------------------------------------------------------------------- */ +nstencil_half_bin_3d_newton_tri.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_bin_3d_newton_tri.cpp:/* ---------------------------------------------------------------------- +nstencil_half_bin_3d_newton_tri.cpp:------------------------------------------------------------------------- */ +nstencil_half_ghost_bin_2d_newtoff.cpp:/* ---------------------------------------------------------------------- +nstencil_half_ghost_bin_2d_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_ghost_bin_2d_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_ghost_bin_2d_newtoff.cpp:------------------------------------------------------------------------- */ +nstencil_half_ghost_bin_2d_newtoff.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_ghost_bin_2d_newtoff.cpp:/* ---------------------------------------------------------------------- +nstencil_half_ghost_bin_2d_newtoff.cpp:------------------------------------------------------------------------- */ +nstencil_half_ghost_bin_3d_newtoff.cpp:/* ---------------------------------------------------------------------- +nstencil_half_ghost_bin_3d_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_ghost_bin_3d_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_ghost_bin_3d_newtoff.cpp:------------------------------------------------------------------------- */ +nstencil_half_ghost_bin_3d_newtoff.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_ghost_bin_3d_newtoff.cpp:/* ---------------------------------------------------------------------- +nstencil_half_ghost_bin_3d_newtoff.cpp:------------------------------------------------------------------------- */ +nstencil_half_multi_2d_newtoff.cpp:/* ---------------------------------------------------------------------- +nstencil_half_multi_2d_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_multi_2d_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_multi_2d_newtoff.cpp:------------------------------------------------------------------------- */ +nstencil_half_multi_2d_newtoff.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_multi_2d_newtoff.cpp:/* ---------------------------------------------------------------------- +nstencil_half_multi_2d_newtoff.cpp:------------------------------------------------------------------------- */ +nstencil_half_multi_2d_newton.cpp:/* ---------------------------------------------------------------------- +nstencil_half_multi_2d_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_multi_2d_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_multi_2d_newton.cpp:------------------------------------------------------------------------- */ +nstencil_half_multi_2d_newton.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_multi_2d_newton.cpp:/* ---------------------------------------------------------------------- +nstencil_half_multi_2d_newton.cpp:------------------------------------------------------------------------- */ +nstencil_half_multi_2d_newton_tri.cpp:/* ---------------------------------------------------------------------- +nstencil_half_multi_2d_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_multi_2d_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_multi_2d_newton_tri.cpp:------------------------------------------------------------------------- */ +nstencil_half_multi_2d_newton_tri.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_multi_2d_newton_tri.cpp:/* ---------------------------------------------------------------------- +nstencil_half_multi_2d_newton_tri.cpp:------------------------------------------------------------------------- */ +nstencil_half_multi_3d_newtoff.cpp:/* ---------------------------------------------------------------------- +nstencil_half_multi_3d_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_multi_3d_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_multi_3d_newtoff.cpp:------------------------------------------------------------------------- */ +nstencil_half_multi_3d_newtoff.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_multi_3d_newtoff.cpp:/* ---------------------------------------------------------------------- +nstencil_half_multi_3d_newtoff.cpp:------------------------------------------------------------------------- */ +nstencil_half_multi_3d_newton.cpp:/* ---------------------------------------------------------------------- +nstencil_half_multi_3d_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_multi_3d_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_multi_3d_newton.cpp:------------------------------------------------------------------------- */ +nstencil_half_multi_3d_newton.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_multi_3d_newton.cpp:/* ---------------------------------------------------------------------- +nstencil_half_multi_3d_newton.cpp:------------------------------------------------------------------------- */ +nstencil_half_multi_3d_newton_tri.cpp:/* ---------------------------------------------------------------------- +nstencil_half_multi_3d_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +nstencil_half_multi_3d_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories +nstencil_half_multi_3d_newton_tri.cpp:------------------------------------------------------------------------- */ +nstencil_half_multi_3d_newton_tri.cpp:/* ---------------------------------------------------------------------- */ +nstencil_half_multi_3d_newton_tri.cpp:/* ---------------------------------------------------------------------- +nstencil_half_multi_3d_newton_tri.cpp:------------------------------------------------------------------------- */ +ntopo_angle_all.cpp:/* ---------------------------------------------------------------------- +ntopo_angle_all.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +ntopo_angle_all.cpp: http://lammps.sandia.gov, Sandia National Laboratories +ntopo_angle_all.cpp:------------------------------------------------------------------------- */ +ntopo_angle_all.cpp:/* ---------------------------------------------------------------------- */ +ntopo_angle_all.cpp:/* ---------------------------------------------------------------------- */ +ntopo_angle_partial.cpp:/* ---------------------------------------------------------------------- +ntopo_angle_partial.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +ntopo_angle_partial.cpp: http://lammps.sandia.gov, Sandia National Laboratories +ntopo_angle_partial.cpp:------------------------------------------------------------------------- */ +ntopo_angle_partial.cpp:/* ---------------------------------------------------------------------- */ +ntopo_angle_partial.cpp:/* ---------------------------------------------------------------------- */ +ntopo_angle_template.cpp:/* ---------------------------------------------------------------------- +ntopo_angle_template.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +ntopo_angle_template.cpp: http://lammps.sandia.gov, Sandia National Laboratories +ntopo_angle_template.cpp:------------------------------------------------------------------------- */ +ntopo_angle_template.cpp:/* ---------------------------------------------------------------------- */ +ntopo_angle_template.cpp:/* ---------------------------------------------------------------------- */ +ntopo_bond_all.cpp:/* ---------------------------------------------------------------------- +ntopo_bond_all.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +ntopo_bond_all.cpp: http://lammps.sandia.gov, Sandia National Laboratories +ntopo_bond_all.cpp:------------------------------------------------------------------------- */ +ntopo_bond_all.cpp:/* ---------------------------------------------------------------------- */ +ntopo_bond_all.cpp:/* ---------------------------------------------------------------------- */ +ntopo_bond_partial.cpp:/* ---------------------------------------------------------------------- +ntopo_bond_partial.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +ntopo_bond_partial.cpp: http://lammps.sandia.gov, Sandia National Laboratories +ntopo_bond_partial.cpp:------------------------------------------------------------------------- */ +ntopo_bond_partial.cpp:/* ---------------------------------------------------------------------- */ +ntopo_bond_partial.cpp:/* ---------------------------------------------------------------------- */ +ntopo_bond_template.cpp:/* ---------------------------------------------------------------------- +ntopo_bond_template.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +ntopo_bond_template.cpp: http://lammps.sandia.gov, Sandia National Laboratories +ntopo_bond_template.cpp:------------------------------------------------------------------------- */ +ntopo_bond_template.cpp:/* ---------------------------------------------------------------------- */ +ntopo_bond_template.cpp:/* ---------------------------------------------------------------------- */ +ntopo.cpp:/* ---------------------------------------------------------------------- +ntopo.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +ntopo.cpp: http://lammps.sandia.gov, Sandia National Laboratories +ntopo.cpp:------------------------------------------------------------------------- */ +ntopo.cpp:/* ---------------------------------------------------------------------- */ +ntopo.cpp:/* ---------------------------------------------------------------------- */ +ntopo.cpp:/* ---------------------------------------------------------------------- */ +ntopo.cpp: else maxbond = static_cast (LB_FACTOR * atom->nbonds / nprocs); +ntopo.cpp:/* ---------------------------------------------------------------------- */ +ntopo.cpp: else maxangle = static_cast (LB_FACTOR * atom->nangles / nprocs); +ntopo.cpp:/* ---------------------------------------------------------------------- */ +ntopo.cpp: else maxdihedral = static_cast (LB_FACTOR * atom->ndihedrals / nprocs); +ntopo.cpp:/* ---------------------------------------------------------------------- */ +ntopo.cpp: else maximproper = static_cast (LB_FACTOR * atom->nimpropers / nprocs); +ntopo.cpp:/* ---------------------------------------------------------------------- */ +ntopo.cpp:/* ---------------------------------------------------------------------- */ +ntopo.cpp: // check all 3 distances +ntopo.cpp: // in case angle potential computes any of them +ntopo.cpp:/* ---------------------------------------------------------------------- */ +ntopo.cpp: // check all 6 distances +ntopo.cpp: // in case dihedral/improper potential computes any of them +ntopo.cpp: error->all(FLERR,"Dihedral/improper extent > half of periodic box length"); +ntopo.cpp:/* ---------------------------------------------------------------------- */ +ntopo_dihedral_all.cpp:/* ---------------------------------------------------------------------- +ntopo_dihedral_all.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +ntopo_dihedral_all.cpp: http://lammps.sandia.gov, Sandia National Laboratories +ntopo_dihedral_all.cpp:------------------------------------------------------------------------- */ +ntopo_dihedral_all.cpp:/* ---------------------------------------------------------------------- */ +ntopo_dihedral_all.cpp:/* ---------------------------------------------------------------------- */ +ntopo_dihedral_partial.cpp:/* ---------------------------------------------------------------------- +ntopo_dihedral_partial.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +ntopo_dihedral_partial.cpp: http://lammps.sandia.gov, Sandia National Laboratories +ntopo_dihedral_partial.cpp:------------------------------------------------------------------------- */ +ntopo_dihedral_partial.cpp:/* ---------------------------------------------------------------------- */ +ntopo_dihedral_partial.cpp:/* ---------------------------------------------------------------------- */ +ntopo_dihedral_template.cpp:/* ---------------------------------------------------------------------- +ntopo_dihedral_template.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +ntopo_dihedral_template.cpp: http://lammps.sandia.gov, Sandia National Laboratories +ntopo_dihedral_template.cpp:------------------------------------------------------------------------- */ +ntopo_dihedral_template.cpp:/* ---------------------------------------------------------------------- */ +ntopo_dihedral_template.cpp:/* ---------------------------------------------------------------------- */ +ntopo_improper_all.cpp:/* ---------------------------------------------------------------------- +ntopo_improper_all.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +ntopo_improper_all.cpp: http://lammps.sandia.gov, Sandia National Laboratories +ntopo_improper_all.cpp:------------------------------------------------------------------------- */ +ntopo_improper_all.cpp:/* ---------------------------------------------------------------------- */ +ntopo_improper_all.cpp:/* ---------------------------------------------------------------------- */ +ntopo_improper_partial.cpp:/* ---------------------------------------------------------------------- +ntopo_improper_partial.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +ntopo_improper_partial.cpp: http://lammps.sandia.gov, Sandia National Laboratories +ntopo_improper_partial.cpp:------------------------------------------------------------------------- */ +ntopo_improper_partial.cpp:/* ---------------------------------------------------------------------- */ +ntopo_improper_partial.cpp:/* ---------------------------------------------------------------------- */ +ntopo_improper_template.cpp:/* ---------------------------------------------------------------------- +ntopo_improper_template.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Templatel Simulator +ntopo_improper_template.cpp: http://lammps.sandia.gov, Sandia National Laboratories +ntopo_improper_template.cpp:------------------------------------------------------------------------- */ +ntopo_improper_template.cpp:/* ---------------------------------------------------------------------- */ +ntopo_improper_template.cpp:/* ---------------------------------------------------------------------- */ +output.cpp:/* ---------------------------------------------------------------------- +output.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +output.cpp: http://lammps.sandia.gov, Sandia National Laboratories +output.cpp:------------------------------------------------------------------------- */ +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp: // create default computes for temp,pressure,pe +output.cpp: // create default Thermo class +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp:/* ---------------------------------------------------------------------- */ +output.cpp:/* ---------------------------------------------------------------------- +output.cpp: perform output for setup of run/min +output.cpp: memflag = 0/1 for printing out memory usage +output.cpp:------------------------------------------------------------------------- */ +output.cpp: // perform dump at start of run only if: +output.cpp: // current timestep is multiple of every and last dump not >= this step +output.cpp: // this is first run after dump created and firstflag is set +output.cpp: // note that variable freq will not write unless triggered by firstflag +output.cpp: // set next_dump to multiple of every or variable value +output.cpp: // set next_dump_any to smallest next_dump +output.cpp: // wrap dumps that invoke computes and variable eval with clear/add +output.cpp: // if dump not written now, use addstep_compute_all() since don't know +output.cpp: // what computes the dump write would invoke +output.cpp: // if no dumps, set next_dump_any to last+1 so will not influence next +output.cpp: (ntimestep/every_dump[idump])*every_dump[idump] + every_dump[idump]; +output.cpp: // do not write restart files at start of run +output.cpp: // set next_restart values to multiple of every or variable value +output.cpp: // wrap variable eval with clear/add +output.cpp: // if no restarts, set next_restart to last+1 so will not influence next +output.cpp: (ntimestep/restart_every_single)*restart_every_single + +output.cpp: (ntimestep/restart_every_double)*restart_every_double + +output.cpp: // print memory usage unless being called between multiple runs +output.cpp: // set next_thermo to multiple of every or variable eval if var defined +output.cpp: // insure thermo output on last step of run +output.cpp: // thermo may invoke computes so wrap with clear/add +output.cpp: next_thermo = (ntimestep/thermo_every)*thermo_every + thermo_every; +output.cpp: // next = next timestep any output will be done +output.cpp:/* ---------------------------------------------------------------------- +output.cpp: do dump/restart before thermo so thermo CPU time will include them +output.cpp:------------------------------------------------------------------------- */ +output.cpp: // next_dump does not force output on last step of run +output.cpp: // wrap dumps that invoke computes or eval of variable with clear/add +output.cpp: // next_restart does not force output on last step of run +output.cpp: // for toggle = 0, replace "*" with current timestep in restart filename +output.cpp: // eval of variable may invoke computes so wrap with clear/add +output.cpp: // insure next_thermo forces output on last step of run +output.cpp: // thermo may invoke computes so wrap with clear/add +output.cpp: // next = next timestep any output will be done +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp: next_dump[idump] = (ntimestep/every_dump[idump])*every_dump[idump]; +output.cpp: // ivar_dump may not be initialized +output.cpp: (ntimestep/restart_every_single)*restart_every_single; +output.cpp: (ntimestep/restart_every_double)*restart_every_double; +output.cpp: next_thermo = (ntimestep/thermo_every)*thermo_every; +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp: // error checks +output.cpp: // extend Dump list if necessary +output.cpp: // initialize per-dump data to suitable default values +output.cpp: // create the Dump +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp: // find which dump it is +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp: // find which dump it is and delete it +output.cpp: // move other dumps down in list one slot +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp: // don't allow this so that dipole style can safely allocate inertia vector +output.cpp: // warn if previous thermo had been modified via thermo_modify command +output.cpp: // set thermo = NULL in case new Thermo throws an error +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp: // check for multiproc output and an MPI-IO filename +output.cpp: // if 2 filenames, must be consistent +output.cpp: // setup output style and process optional args +output.cpp:/* ---------------------------------------------------------------------- +output.cpp:------------------------------------------------------------------------- */ +output.cpp: double mbytes = bytes/1024.0/1024.0; +output.cpp: mbavg /= comm->nprocs; +output.cpp: fprintf(screen,"Per MPI rank memory allocation (min/avg/max) = " +output.cpp: fprintf(logfile,"Per MPI rank memory allocation (min/avg/max) = " +pair_beck.cpp:/* ---------------------------------------------------------------------- +pair_beck.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_beck.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_beck.cpp:------------------------------------------------------------------------- */ +pair_beck.cpp:/* ---------------------------------------------------------------------- +pair_beck.cpp:------------------------------------------------------------------------- */ +pair_beck.cpp:/* ---------------------------------------------------------------------- */ +pair_beck.cpp:/* ---------------------------------------------------------------------- */ +pair_beck.cpp:/* ---------------------------------------------------------------------- */ +pair_beck.cpp: // loop over neighbors of my atoms +pair_beck.cpp: rinv = 1.0/r; +pair_beck.cpp: term1inv = 1.0/term1; +pair_beck.cpp:/* ---------------------------------------------------------------------- +pair_beck.cpp:------------------------------------------------------------------------- */ +pair_beck.cpp:/* ---------------------------------------------------------------------- +pair_beck.cpp:------------------------------------------------------------------------- */ +pair_beck.cpp: // reset cutoffs that have been explicitly set +pair_beck.cpp:/* ---------------------------------------------------------------------- +pair_beck.cpp:------------------------------------------------------------------------- */ +pair_beck.cpp:/* ---------------------------------------------------------------------- +pair_beck.cpp:------------------------------------------------------------------------- */ +pair_beck.cpp:/* ---------------------------------------------------------------------- +pair_beck.cpp:------------------------------------------------------------------------- */ +pair_beck.cpp:/* ---------------------------------------------------------------------- +pair_beck.cpp:------------------------------------------------------------------------- */ +pair_beck.cpp:/* ---------------------------------------------------------------------- +pair_beck.cpp:------------------------------------------------------------------------- */ +pair_beck.cpp:/* ---------------------------------------------------------------------- +pair_beck.cpp:------------------------------------------------------------------------- */ +pair_beck.cpp:/* ---------------------------------------------------------------------- */ +pair_beck.cpp: rinv = 1.0/r; +pair_beck.cpp: term1inv = 1.0/term1; +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_born_coul_dsf.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp: // loop over neighbors of my atoms +pair_born_coul_dsf.cpp: // self coulombic energy +pair_born_coul_dsf.cpp: double e_self = -(e_shift/2.0 + alpha/MY_PIS) * qtmp*qtmp*qqrd2e; +pair_born_coul_dsf.cpp: r2inv = 1.0/rsq; +pair_born_coul_dsf.cpp: prefactor = qqrd2e*qtmp*q[j]/r; +pair_born_coul_dsf.cpp: forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS * erfcd + +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp: error->all(FLERR,"Pair style born/coul/dsf requires atom attribute q"); +pair_born_coul_dsf.cpp: f_shift = -(erfcc/cut_coulsq + 2.0/MY_PIS*alpha*erfcd/cut_coul); +pair_born_coul_dsf.cpp: e_shift = erfcc/cut_coul - f_shift*cut_coul; +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp: rhoinv[i][j] = 1.0/rho[i][j]; +pair_born_coul_dsf.cpp: born1[i][j] = a[i][j]/rho[i][j]; +pair_born_coul_dsf.cpp: offset[i][j] = a[i][j]*rexp - c[i][j]/pow(cut_lj[i][j],6.0) +pair_born_coul_dsf.cpp: + d[i][j]/pow(cut_lj[i][j],8.0); +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_dsf.cpp: r2inv = 1.0/rsq; +pair_born_coul_dsf.cpp: prefactor = factor_coul * force->qqrd2e * atom->q[i]*atom->q[j]/r; +pair_born_coul_dsf.cpp: forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS*erfcd + +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_born_coul_wolf.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp: // self and shifted coulombic energy +pair_born_coul_wolf.cpp: e_shift = erfc(alf*cut_coul)/cut_coul; +pair_born_coul_wolf.cpp: f_shift = -(e_shift+ 2.0*alf/MY_PIS * exp(-alf*alf*cut_coul*cut_coul)) / +pair_born_coul_wolf.cpp: // loop over neighbors of my atoms +pair_born_coul_wolf.cpp: e_self = -(e_shift/2.0 + alf/MY_PIS) * qisq*qqrd2e; +pair_born_coul_wolf.cpp: r2inv = 1.0/rsq; +pair_born_coul_wolf.cpp: prefactor = qqrd2e*qtmp*q[j]/r; +pair_born_coul_wolf.cpp: dvdrr = (erfcc/rsq + 2.0*alf/MY_PIS * erfcd/r) + f_shift; +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp: error->all(FLERR,"Pair style born/coul/wolf requires atom attribute q"); +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp: rhoinv[i][j] = 1.0/rho[i][j]; +pair_born_coul_wolf.cpp: born1[i][j] = a[i][j]/rho[i][j]; +pair_born_coul_wolf.cpp: offset[i][j] = a[i][j]*rexp - c[i][j]/pow(cut_lj[i][j],6.0) +pair_born_coul_wolf.cpp: + d[i][j]/pow(cut_lj[i][j],8.0); +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_born_coul_wolf.cpp: r2inv = 1.0/rsq; +pair_born_coul_wolf.cpp: e_shift = erfc(alf*cut_coul) / cut_coul; +pair_born_coul_wolf.cpp: f_shift = -(e_shift+2*alf/MY_PIS * exp(-alf*alf*cut_coul*cut_coul)) / +pair_born_coul_wolf.cpp: prefactor = force->qqrd2e * atom->q[i]*atom->q[j]/r; +pair_born_coul_wolf.cpp: dvdrr = (erfcc/rsq + 2.0*alf/MY_PIS * erfcd/r) + f_shift; +pair_born.cpp:/* ---------------------------------------------------------------------- +pair_born.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_born.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_born.cpp:------------------------------------------------------------------------- */ +pair_born.cpp:/* ---------------------------------------------------------------------- +pair_born.cpp:------------------------------------------------------------------------- */ +pair_born.cpp:/* ---------------------------------------------------------------------- */ +pair_born.cpp:/* ---------------------------------------------------------------------- */ +pair_born.cpp:/* ---------------------------------------------------------------------- */ +pair_born.cpp: // loop over neighbors of my atoms +pair_born.cpp: r2inv = 1.0/rsq; +pair_born.cpp:/* ---------------------------------------------------------------------- +pair_born.cpp:------------------------------------------------------------------------- */ +pair_born.cpp:/* ---------------------------------------------------------------------- +pair_born.cpp:------------------------------------------------------------------------- */ +pair_born.cpp: // reset cutoffs that have been explicitly set +pair_born.cpp:/* ---------------------------------------------------------------------- +pair_born.cpp:------------------------------------------------------------------------- */ +pair_born.cpp:/* ---------------------------------------------------------------------- +pair_born.cpp:------------------------------------------------------------------------- */ +pair_born.cpp: rhoinv[i][j] = 1.0/rho[i][j]; +pair_born.cpp: born1[i][j] = a[i][j]/rho[i][j]; +pair_born.cpp: offset[i][j] = a[i][j]*rexp - c[i][j]/pow(cut[i][j],6.0) + +pair_born.cpp: d[i][j]/pow(cut[i][j],8.0); +pair_born.cpp: // compute I,J contribution to long-range tail correction +pair_born.cpp: // count total # of atoms of type I and J via Allreduce +pair_born.cpp: (a[i][j]*exp((sigma[i][j]-rc)/rho1)*rho1* +pair_born.cpp: c[i][j]/(3.0*rc3) + d[i][j]/(5.0*rc5)); +pair_born.cpp: ptail_ij = (-1/3.0)*2.0*MY_PI*all[0]*all[1] * +pair_born.cpp: (-a[i][j]*exp((sigma[i][j]-rc)/rho1) * +pair_born.cpp: 2.0*c[i][j]/rc3 - 8.0*d[i][j]/(5.0*rc5)); +pair_born.cpp:/* ---------------------------------------------------------------------- +pair_born.cpp:------------------------------------------------------------------------- */ +pair_born.cpp:/* ---------------------------------------------------------------------- +pair_born.cpp:------------------------------------------------------------------------- */ +pair_born.cpp:/* ---------------------------------------------------------------------- +pair_born.cpp:------------------------------------------------------------------------- */ +pair_born.cpp:/* ---------------------------------------------------------------------- +pair_born.cpp:------------------------------------------------------------------------- */ +pair_born.cpp:/* ---------------------------------------------------------------------- +pair_born.cpp:------------------------------------------------------------------------- */ +pair_born.cpp:/* ---------------------------------------------------------------------- +pair_born.cpp:------------------------------------------------------------------------- */ +pair_born.cpp:/* ---------------------------------------------------------------------- */ +pair_born.cpp: r2inv = 1.0/rsq; +pair_born.cpp:/* ---------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_buck_coul_cut.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_buck_coul_cut.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp: // loop over neighbors of my atoms +pair_buck_coul_cut.cpp: r2inv = 1.0/rsq; +pair_buck_coul_cut.cpp: forcecoul = qqrd2e * qtmp*q[j]/r; +pair_buck_coul_cut.cpp: ecoul = factor_coul * qqrd2e * qtmp*q[j]/r; +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp: // reset cutoffs that have been explicitly set +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp: error->all(FLERR,"Pair style buck/coul/cut requires atom attribute q"); +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp: rhoinv[i][j] = 1.0/rho[i][j]; +pair_buck_coul_cut.cpp: buck1[i][j] = a[i][j]/rho[i][j]; +pair_buck_coul_cut.cpp: double rexp = exp(-cut_lj[i][j]/rho[i][j]); +pair_buck_coul_cut.cpp: offset[i][j] = a[i][j]*rexp - c[i][j]/pow(cut_lj[i][j],6.0); +pair_buck_coul_cut.cpp: // compute I,J contribution to long-range tail correction +pair_buck_coul_cut.cpp: // count total # of atoms of type I and J via Allreduce +pair_buck_coul_cut.cpp: (a[i][j]*exp(-rc/rho1)*rho1*(rc2 + 2.0*rho1*rc + 2.0*rho2) - +pair_buck_coul_cut.cpp: c[i][j]/(3.0*rc3)); +pair_buck_coul_cut.cpp: ptail_ij = (-1/3.0)*2.0*MY_PI*all[0]*all[1]* +pair_buck_coul_cut.cpp: (-a[i][j]*exp(-rc/rho1)* +pair_buck_coul_cut.cpp: (rc3 + 3.0*rho1*rc2 + 6.0*rho2*rc + 6.0*rho3) + 2.0*c[i][j]/rc3); +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_buck_coul_cut.cpp: r2inv = 1.0/rsq; +pair_buck.cpp:/* ---------------------------------------------------------------------- +pair_buck.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_buck.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_buck.cpp:------------------------------------------------------------------------- */ +pair_buck.cpp:/* ---------------------------------------------------------------------- */ +pair_buck.cpp:/* ---------------------------------------------------------------------- */ +pair_buck.cpp:/* ---------------------------------------------------------------------- */ +pair_buck.cpp: // loop over neighbors of my atoms +pair_buck.cpp: r2inv = 1.0/rsq; +pair_buck.cpp:/* ---------------------------------------------------------------------- +pair_buck.cpp:------------------------------------------------------------------------- */ +pair_buck.cpp:/* ---------------------------------------------------------------------- +pair_buck.cpp:------------------------------------------------------------------------- */ +pair_buck.cpp: // reset cutoffs that have been explicitly set +pair_buck.cpp:/* ---------------------------------------------------------------------- +pair_buck.cpp:------------------------------------------------------------------------- */ +pair_buck.cpp:/* ---------------------------------------------------------------------- +pair_buck.cpp:------------------------------------------------------------------------- */ +pair_buck.cpp: rhoinv[i][j] = 1.0/rho[i][j]; +pair_buck.cpp: buck1[i][j] = a[i][j]/rho[i][j]; +pair_buck.cpp: double rexp = exp(-cut[i][j]/rho[i][j]); +pair_buck.cpp: offset[i][j] = a[i][j]*rexp - c[i][j]/pow(cut[i][j],6.0); +pair_buck.cpp: // compute I,J contribution to long-range tail correction +pair_buck.cpp: // count total # of atoms of type I and J via Allreduce +pair_buck.cpp: (a[i][j]*exp(-rc/rho1)*rho1*(rc2 + 2.0*rho1*rc + 2.0*rho2) - +pair_buck.cpp: c[i][j]/(3.0*rc3)); +pair_buck.cpp: ptail_ij = (-1/3.0)*2.0*MY_PI*all[0]*all[1]* +pair_buck.cpp: (-a[i][j]*exp(-rc/rho1)* +pair_buck.cpp: (rc3 + 3.0*rho1*rc2 + 6.0*rho2*rc + 6.0*rho3) + 2.0*c[i][j]/rc3); +pair_buck.cpp:/* ---------------------------------------------------------------------- +pair_buck.cpp:------------------------------------------------------------------------- */ +pair_buck.cpp:/* ---------------------------------------------------------------------- +pair_buck.cpp:------------------------------------------------------------------------- */ +pair_buck.cpp:/* ---------------------------------------------------------------------- +pair_buck.cpp:------------------------------------------------------------------------- */ +pair_buck.cpp:/* ---------------------------------------------------------------------- +pair_buck.cpp:------------------------------------------------------------------------- */ +pair_buck.cpp:/* ---------------------------------------------------------------------- +pair_buck.cpp:------------------------------------------------------------------------- */ +pair_buck.cpp:/* ---------------------------------------------------------------------- +pair_buck.cpp:------------------------------------------------------------------------- */ +pair_buck.cpp:/* ---------------------------------------------------------------------- */ +pair_buck.cpp: r2inv = 1.0/rsq; +pair_buck.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_coul_cut.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_coul_cut.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_cut.cpp: // loop over neighbors of my atoms +pair_coul_cut.cpp: r2inv = 1.0/rsq; +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_coul_cut.cpp: // reset cutoffs that have been explicitly set +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_coul_cut.cpp: error->all(FLERR,"Pair style coul/cut requires atom attribute q"); +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_cut.cpp: r2inv = 1.0/rsq; +pair_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_debye.cpp:/* ---------------------------------------------------------------------- +pair_coul_debye.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_coul_debye.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_coul_debye.cpp:------------------------------------------------------------------------- */ +pair_coul_debye.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_debye.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_debye.cpp: // loop over neighbors of my atoms +pair_coul_debye.cpp: r2inv = 1.0/rsq; +pair_coul_debye.cpp: rinv = 1.0/r; +pair_coul_debye.cpp:/* ---------------------------------------------------------------------- +pair_coul_debye.cpp:------------------------------------------------------------------------- */ +pair_coul_debye.cpp: // reset cutoffs that have been explicitly set +pair_coul_debye.cpp:/* ---------------------------------------------------------------------- +pair_coul_debye.cpp:------------------------------------------------------------------------- */ +pair_coul_debye.cpp:/* ---------------------------------------------------------------------- +pair_coul_debye.cpp:------------------------------------------------------------------------- */ +pair_coul_debye.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_debye.cpp: r2inv = 1.0/rsq; +pair_coul_debye.cpp: rinv = 1.0/r; +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_coul_dsf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_coul_dsf.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_dsf.cpp: // loop over neighbors of my atoms +pair_coul_dsf.cpp: double e_self = -(e_shift/2.0 + alpha/MY_PIS) * qtmp*qtmp*qqrd2e; +pair_coul_dsf.cpp: r2inv = 1.0/rsq; +pair_coul_dsf.cpp: prefactor = qqrd2e*qtmp*q[j]/r; +pair_coul_dsf.cpp: t = 1.0 / (1.0 + EWALD_P*alpha*r); +pair_coul_dsf.cpp: forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS * erfcd + +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_coul_dsf.cpp: error->all(FLERR,"Pair style coul/dsf requires atom attribute q"); +pair_coul_dsf.cpp: f_shift = -(erfcc/cut_coulsq + 2.0/MY_PIS*alpha*erfcd/cut_coul); +pair_coul_dsf.cpp: e_shift = erfcc/cut_coul - f_shift*cut_coul; +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_dsf.cpp: r2inv = 1.0/rsq; +pair_coul_dsf.cpp: prefactor = factor_coul * force->qqrd2e * atom->q[i]*atom->q[j]/r; +pair_coul_dsf.cpp: t = 1.0 / (1.0 + EWALD_P*alpha*r); +pair_coul_dsf.cpp: forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS*erfcd + +pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- +pair_coul_streitz.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_coul_streitz.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_coul_streitz.cpp:------------------------------------------------------------------------- */ +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- +pair_coul_streitz.cpp:------------------------------------------------------------------------- */ +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- +pair_coul_streitz.cpp:------------------------------------------------------------------------- */ +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- +pair_coul_streitz.cpp:------------------------------------------------------------------------- */ +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- +pair_coul_streitz.cpp:------------------------------------------------------------------------- */ +pair_coul_streitz.cpp: // insure I,J args are * * +pair_coul_streitz.cpp: // read args that map atom types to elements in potential file +pair_coul_streitz.cpp: // map[i] = which element the Ith atom type is, -1 if NULL +pair_coul_streitz.cpp: // nelements = # of unique elements +pair_coul_streitz.cpp: // elements = list of element names +pair_coul_streitz.cpp: // read potential file and initialize potential parameters +pair_coul_streitz.cpp: // clear setflag since coeff() called once with I,J = * * +pair_coul_streitz.cpp: // set setflag i,j for type pairs where both are mapped to elements +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- +pair_coul_streitz.cpp:------------------------------------------------------------------------- */ +pair_coul_streitz.cpp: error->all(FLERR,"Pair style coul/streitz requires atom attribute q"); +pair_coul_streitz.cpp: // insure use of KSpace long-range solver when ewald specified, set g_ewald +pair_coul_streitz.cpp: // ptr to QEQ fix +pair_coul_streitz.cpp: //for (i = 0; i < modify->nfix; i++) +pair_coul_streitz.cpp: // if (strcmp(modify->fix[i]->style,"qeq") == 0) break; +pair_coul_streitz.cpp: //if (i < modify->nfix) fixqeq = (FixQEQ *) modify->fix[i]; +pair_coul_streitz.cpp: //else fixqeq = NULL; +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- +pair_coul_streitz.cpp:------------------------------------------------------------------------- */ +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_streitz.cpp: // open file on proc 0 +pair_coul_streitz.cpp: sprintf(str,"Cannot open coul/streitz potential file %s",file); +pair_coul_streitz.cpp: // read each line out of file, skipping blank lines or leading '#' +pair_coul_streitz.cpp: // store line of params if all 3 element tags are in element list +pair_coul_streitz.cpp: // strip comment, skip line if blank +pair_coul_streitz.cpp: // concatenate additional lines until have params_per_line words +pair_coul_streitz.cpp: error->all(FLERR,"Incorrect format in coul/streitz potential file"); +pair_coul_streitz.cpp: // words = ptrs to all words in line +pair_coul_streitz.cpp: // ielement = 1st args +pair_coul_streitz.cpp: // load up parameter settings and error check their values +pair_coul_streitz.cpp: // parameter sanity check +pair_coul_streitz.cpp: error->all(FLERR,"Illegal coul/streitz parameter"); +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_streitz.cpp: // set elem2param +pair_coul_streitz.cpp: // Wolf sum self energy +pair_coul_streitz.cpp: woself = 0.50*erfc(ar)/r + a/MY_PIS; // kc constant not yet multiplied +pair_coul_streitz.cpp: dwoself = -(erfc(ar)/r/r + 2.0*a/MY_PIS*exp(-ar*ar)/r); +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_streitz.cpp: // Wolf sum +pair_coul_streitz.cpp: // self energy: ionization + wolf sum +pair_coul_streitz.cpp: // two-body interaction +pair_coul_streitz.cpp: // Streitz-Mintmire Coulomb integrals +pair_coul_streitz.cpp: // Wolf Sum +pair_coul_streitz.cpp: // Forces +pair_coul_streitz.cpp: fpair = -forcecoul / r; +pair_coul_streitz.cpp: // Ewald Sum +pair_coul_streitz.cpp: // self ionizition energy, only on i atom +pair_coul_streitz.cpp: // two-body interaction +pair_coul_streitz.cpp: // Streitz-Mintmire Coulomb integrals +pair_coul_streitz.cpp: // Ewald: real-space +pair_coul_streitz.cpp: // Forces +pair_coul_streitz.cpp: fpair = -forcecoul / r; +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_streitz.cpp: double rinv = 1.0/r; +pair_coul_streitz.cpp: double sm1 = 11.0/8.0; +pair_coul_streitz.cpp: double sm2 = 3.00/4.0; +pair_coul_streitz.cpp: double sm3 = 1.00/6.0; +pair_coul_streitz.cpp: double rcinv = 1.0/rc; +pair_coul_streitz.cpp: (2.0 + 7.0/6.0*zei*rc + 1.0/3.0*zei2*rc*rc)); +pair_coul_streitz.cpp: (2.0 + 7.0/6.0*zei*r + 1.0/3.0*zei2*r*r)) - fshift; +pair_coul_streitz.cpp: e1 = zei*zej4/((zei+zej)*(zei+zej)*(zei-zej)*(zei-zej)); +pair_coul_streitz.cpp: e2 = zej*zei4/((zei+zej)*(zei+zej)*(zej-zei)*(zej-zei)); +pair_coul_streitz.cpp: e3 = (3.0*zei2*zej4-zej6) / +pair_coul_streitz.cpp: e4 = (3.0*zej2*zei4-zei6) / +pair_coul_streitz.cpp: eshift = -exp2zirsh*(e1+e3/rc) - exp2zjrsh*(e2+e4/rc); +pair_coul_streitz.cpp: fshift = (exp2zirsh*(2.0*zei*(e1+e3/rc) + e3*rcinv2) +pair_coul_streitz.cpp: + exp2zjrsh*(2.0*zej*(e2+e4/rc) + e4*rcinv2)); +pair_coul_streitz.cpp: ci_fifj = -exp2zir*(e1+e3/r) - exp2zjr*(e2+e4/r) +pair_coul_streitz.cpp: dci_fifj = (exp2zir*(2.0*zei*(e1+e3/r) + e3*rinv2) + +pair_coul_streitz.cpp: exp2zjr*(2.0*zej*(e2+e4/r) + e4*rinv2)) - fshift; +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_streitz.cpp: etmp1 = erfcr/r - erfcrc/rc; +pair_coul_streitz.cpp: ftmp1 = -erfcr/r/r - 2.0*a/MY_PIS*derfcr/r - dwoself; +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_streitz.cpp: double rinv = 1.0/r; +pair_coul_streitz.cpp: double sm1 = 11.0/8.0; +pair_coul_streitz.cpp: double sm2 = 3.00/4.0; +pair_coul_streitz.cpp: double sm3 = 1.00/6.0; +pair_coul_streitz.cpp: zei2*(2.0 + 7.0/6.0*zei*r + 1.0/3.0*zei2*r*r)); +pair_coul_streitz.cpp: e1 = zei*zej4/((zei+zej)*(zei+zej)*(zei-zej)*(zei-zej)); +pair_coul_streitz.cpp: e2 = zej*zei4/((zei+zej)*(zei+zej)*(zej-zei)*(zej-zei)); +pair_coul_streitz.cpp: e3 = (3.0*zei2*zej4-zej6) / +pair_coul_streitz.cpp: e4 = (3.0*zej2*zei4-zei6) / +pair_coul_streitz.cpp: ci_fifj = -exp2zir*(e1+e3/r) - exp2zjr*(e2+e4/r); +pair_coul_streitz.cpp: dci_fifj = (exp2zir*(2.0*zei*(e1+e3/r) + e3*rinv2) +pair_coul_streitz.cpp: + exp2zjr*(2.0*zej*(e2+e4/r) + e4*rinv2)); +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_streitz.cpp: etmp4 = qqrd2e * 0.50*qi*qj/r; +pair_coul_streitz.cpp: ftmp4 = etmp4 * (erfcr + 2.0/MY_PIS*a*r*derfcr); +pair_coul_streitz.cpp: ftmp = ftmp3 - ftmp4/r; +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- +pair_coul_streitz.cpp:------------------------------------------------------------------------- */ +pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_coul_wolf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_coul_wolf.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_wolf.cpp: single_enable = 0; // NOTE: single() method below is not yet correct +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- */ +pair_coul_wolf.cpp: // self and shifted coulombic energy +pair_coul_wolf.cpp: e_shift = erfc(alf*cut_coul)/cut_coul; +pair_coul_wolf.cpp: f_shift = -(e_shift+ 2.0*alf/MY_PIS * exp(-alf*alf*cut_coul*cut_coul)) / +pair_coul_wolf.cpp: // loop over neighbors of my atoms +pair_coul_wolf.cpp: e_self = -(e_shift/2.0 + alf/MY_PIS) * qisq*qqrd2e; +pair_coul_wolf.cpp: prefactor = qqrd2e*qtmp*q[j]/r; +pair_coul_wolf.cpp: dvdrr = (erfcc/rsq + 2.0*alf/MY_PIS * erfcd/r) + f_shift; +pair_coul_wolf.cpp: fpair = forcecoul / rsq; +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_coul_wolf.cpp: error->all(FLERR,"Pair coul/wolf requires atom attribute q"); +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- +pair_coul_wolf.cpp:------------------------------------------------------------------------- */ +pair_coul_wolf.cpp: e_shift = erfc(alf*cut_coul) / cut_coul; +pair_coul_wolf.cpp: f_shift = -(e_shift+ 2.0*alf/MY_PIS * exp(-alf*alf*cut_coul*cut_coul)) / +pair_coul_wolf.cpp: prefactor = force->qqrd2e * atom->q[i]*atom->q[j]/r; +pair_coul_wolf.cpp: dvdrr = (erfcc/rsq + 2.0*alf/MY_PIS * erfcd/r) + f_shift; +pair_coul_wolf.cpp: fforce = forcecoul / rsq; +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:// allocate space for static class instance variable and initialize it +pair.cpp:/* ---------------------------------------------------------------------- */ +pair.cpp: // pair_modify settingsx +pair.cpp: // KOKKOS per-fix data masks +pair.cpp:/* ---------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp: } else if (strcmp(arg[iarg],"table/disp") == 0) { +pair.cpp: } else if (strcmp(arg[iarg],"tabinner/disp") == 0) { +pair.cpp:/* ---------------------------------------------------------------------- */ +pair.cpp: // for manybody potentials +pair.cpp: // check if bonded exclusions could invalidate the neighbor list +pair.cpp: "bonds/angles/dihedrals and special_bond exclusions"); +pair.cpp: // I,I coeffs must be set +pair.cpp: // init_one() will check if I,J is set explicitly or inferred by mixing +pair.cpp: // style-specific initialization +pair.cpp: // call init_one() for each I,J +pair.cpp: // set cutsq for each I,J, used to neighbor +pair.cpp: // cutforce = max of all I,J cutoffs +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp: // generalize this error message if reinit() is used by more than fix adapt +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp: // linear lookup tables of length N = 2^ncoultablebits +pair.cpp: // stored value = value at lower edge of bin +pair.cpp: // d values = delta from lower edge to upper edge of bin +pair.cpp: egamma = 1.0 - (r/cut_coul)*force->kspace->gamma(r/cut_coul); +pair.cpp: fgamma = 1.0 + (rsq_lookup.f/cut_coulsq)* +pair.cpp: force->kspace->dgamma(r/cut_coul); +pair.cpp: ctable[i] = qqrd2e/r; +pair.cpp: ftable[i] = qqrd2e/r * fgamma; +pair.cpp: etable[i] = qqrd2e/r * egamma; +pair.cpp: ftable[i] = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2); +pair.cpp: etable[i] = qqrd2e/r * derfc; +pair.cpp: ptable[i] = qqrd2e/r; +pair.cpp: ftable[i] = qqrd2e/r * (fgamma - 1.0); +pair.cpp: etable[i] = qqrd2e/r * egamma; +pair.cpp: vtable[i] = qqrd2e/r * fgamma; +pair.cpp: ftable[i] = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2 - 1.0); +pair.cpp: etable[i] = qqrd2e/r * derfc; +pair.cpp: vtable[i] = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2); +pair.cpp: rsw = (r - cut_respa[2])/(cut_respa[3] - cut_respa[2]); +pair.cpp: ftable[i] += qqrd2e/r * rsw*rsw*(3.0 - 2.0*rsw); +pair.cpp: ctable[i] = qqrd2e/r * rsw*rsw*(3.0 - 2.0*rsw); +pair.cpp: if (msmflag) ftable[i] = qqrd2e/r * fgamma; +pair.cpp: else ftable[i] = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2); +pair.cpp: ctable[i] = qqrd2e/r; +pair.cpp: drtable[i] = 1.0/(rtable[i+1] - rtable[i]); +pair.cpp: // get the delta values for the last table entries +pair.cpp: // tables are connected periodically between 0 and ntablem1 +pair.cpp: drtable[ntablem1] = 1.0/(rtable[0] - rtable[ntablem1]); +pair.cpp: // get the correct delta values at itablemax +pair.cpp: // smallest r is in bin itablemin +pair.cpp: // largest r is in bin itablemax, which is itablemin-1, +pair.cpp: // or ntablem1 if itablemin=0 +pair.cpp: // deltas at itablemax only needed if corresponding rsq < cut*cut +pair.cpp: // if so, compute deltas between rsq and cut*cut +pair.cpp: egamma = 1.0 - (r/cut_coul)*force->kspace->gamma(r/cut_coul); +pair.cpp: fgamma = 1.0 + (rsq_lookup.f/cut_coulsq)* +pair.cpp: force->kspace->dgamma(r/cut_coul); +pair.cpp: c_tmp = qqrd2e/r; +pair.cpp: f_tmp = qqrd2e/r * fgamma; +pair.cpp: e_tmp = qqrd2e/r * egamma; +pair.cpp: f_tmp = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2); +pair.cpp: e_tmp = qqrd2e/r * derfc; +pair.cpp: p_tmp = qqrd2e/r; +pair.cpp: f_tmp = qqrd2e/r * (fgamma - 1.0); +pair.cpp: e_tmp = qqrd2e/r * egamma; +pair.cpp: v_tmp = qqrd2e/r * fgamma; +pair.cpp: f_tmp = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2 - 1.0); +pair.cpp: e_tmp = qqrd2e/r * derfc; +pair.cpp: v_tmp = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2); +pair.cpp: rsw = (r - cut_respa[2])/(cut_respa[3] - cut_respa[2]); +pair.cpp: f_tmp += qqrd2e/r * rsw*rsw*(3.0 - 2.0*rsw); +pair.cpp: c_tmp = qqrd2e/r * rsw*rsw*(3.0 - 2.0*rsw); +pair.cpp: if (msmflag) f_tmp = qqrd2e/r * fgamma; +pair.cpp: else f_tmp = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2); +pair.cpp: c_tmp = qqrd2e/r; +pair.cpp: drtable[itablemax] = 1.0/(rsq_lookup.f - rtable[itablemax]); +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp: ------------------------------------------------------------------------- */ +pair.cpp: // linear lookup tables of length N = 2^ndisptablebits +pair.cpp: // stored value = value at lower edge of bin +pair.cpp: // d values = delta from lower edge to upper edge of bin +pair.cpp: register double x2 = g2*rsq, a2 = 1.0/x2; +pair.cpp: drdisptable[i] = 1.0/(rdisptable[i+1] - rdisptable[i]); +pair.cpp: // get the delta values for the last table entries +pair.cpp: // tables are connected periodically between 0 and ntablem1 +pair.cpp: drdisptable[ntablem1] = 1.0/(rdisptable[0] - rdisptable[ntablem1]); +pair.cpp: // get the correct delta values at itablemax +pair.cpp: // smallest r is in bin itablemin +pair.cpp: // largest r is in bin itablemax, which is itablemin-1, +pair.cpp: // or ntablem1 if itablemin=0 +pair.cpp: // deltas at itablemax only needed if corresponding rsq < cut*cut +pair.cpp: // if so, compute deltas between rsq and cut*cut +pair.cpp: register double x2 = g2*rsq, a2 = 1.0/x2; +pair.cpp: drdisptable[itablemax] = 1.0/(rsq_lookup.f - rdisptable[itablemax]); +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp: ------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp: pow(sig1,3.0) * pow(sig2,3.0) / (pow(sig1,6.0) + pow(sig2,6.0))); +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp: return pow((0.5 * (pow(sig1,6.0) + pow(sig2,6.0))),1.0/6.0); +pair.cpp:/* ---------------------------------------------------------------------- */ +pair.cpp:/* ------------------------------------------------------------------- +pair.cpp:---------------------------------------------------------------------- */ +pair.cpp:/* ------------------------------------------------------------------- +pair.cpp:---------------------------------------------------------------------- */ +pair.cpp: // compact the list of active computes +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp: eflag_atom = eflag / 2; +pair.cpp: vflag_atom = vflag / 4; +pair.cpp: // reallocate per-atom arrays if necessary +pair.cpp: // zero accumulators +pair.cpp: // use force->newton instead of newton_pair +pair.cpp: // b/c some bonds/dihedrals call pair::ev_tally with pairwise info +pair.cpp: // if vflag_global = 2 and pair::compute() calls virial_fdotr_compute() +pair.cpp: // compute global virial via (F dot r) instead of via pairwise summation +pair.cpp: // unset other flags as appropriate +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp: ------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp: ------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp: ------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp: called by REAX/C potential, newton_pair is always on +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp: // sum over force on all particles including ghosts +pair.cpp: // neighbor includegroup flag is set +pair.cpp: // sum over force on initial nfirst particles and ghosts +pair.cpp: // prevent multiple calls to update the virial +pair.cpp: // when a hybrid pair style uses both a gpu and non-gpu pair style +pair.cpp: // or when respa is used with gpu pair styles +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp: write a table of pair potential energy/force vs distance to a file +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp: // parse arguments +pair.cpp: // open file in append mode +pair.cpp: // print header in format used by pair_style table +pair.cpp: // initialize potentials before evaluating pair potential +pair.cpp: // insures all pair coeffs are set and force constants +pair.cpp: // also initialize neighbor so that neighbor requests are processed +pair.cpp: // NOTE: might be safest to just do lmp->init() +pair.cpp: // if pair style = any of EAM, swap in dummy fp vector +pair.cpp: // if atom style defines charge, swap in dummy q vec +pair.cpp: // evaluate energy and force at each of N distances +pair.cpp: r = inner + (outer-inner) * i/(n-1); +pair.cpp: rsq = inner*inner + (outer*outer - inner*inner) * i/(n-1); +pair.cpp: // restore original vecs that were swapped in for +pair.cpp:/* ---------------------------------------------------------------------- +pair.cpp:------------------------------------------------------------------------- */ +pair.cpp: error->all(FLERR,"Bitmapped lookup tables require int/float be same size"); +pair.cpp: double required_range = outer*outer / pow(double(2),(double)nlowermin); +pair.cpp:/* ---------------------------------------------------------------------- */ +pair_dpd.cpp:/* ---------------------------------------------------------------------- +pair_dpd.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_dpd.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_dpd.cpp:------------------------------------------------------------------------- */ +pair_dpd.cpp:/* ---------------------------------------------------------------------- +pair_dpd.cpp:------------------------------------------------------------------------- */ +pair_dpd.cpp:/* ---------------------------------------------------------------------- */ +pair_dpd.cpp:/* ---------------------------------------------------------------------- */ +pair_dpd.cpp:/* ---------------------------------------------------------------------- */ +pair_dpd.cpp: double dtinvsqrt = 1.0/sqrt(update->dt); +pair_dpd.cpp: // loop over neighbors of my atoms +pair_dpd.cpp: if (r < EPSILON) continue; // r can be 0.0 in DPD systems +pair_dpd.cpp: rinv = 1.0/r; +pair_dpd.cpp: wd = 1.0 - r/cut[itype][jtype]; +pair_dpd.cpp: // conservative force = a0 * wd +pair_dpd.cpp: // drag force = -gamma * wd^2 * (delx dot delv) / r +pair_dpd.cpp: // random force = sigma * wd * rnd * dtinvsqrt; +pair_dpd.cpp: // unshifted eng of conservative term: +pair_dpd.cpp: // evdwl = -a0[itype][jtype]*r * (1.0-0.5*r/cut[itype][jtype]); +pair_dpd.cpp: // eng shifted to 0.0 at cutoff +pair_dpd.cpp:/* ---------------------------------------------------------------------- +pair_dpd.cpp:------------------------------------------------------------------------- */ +pair_dpd.cpp:/* ---------------------------------------------------------------------- +pair_dpd.cpp:------------------------------------------------------------------------- */ +pair_dpd.cpp: // initialize Marsaglia RNG with processor-unique seed +pair_dpd.cpp: // reset cutoffs that have been explicitly set +pair_dpd.cpp:/* ---------------------------------------------------------------------- +pair_dpd.cpp:------------------------------------------------------------------------- */ +pair_dpd.cpp:/* ---------------------------------------------------------------------- +pair_dpd.cpp:------------------------------------------------------------------------- */ +pair_dpd.cpp: // if newton off, forces between atoms ij will be double computed +pair_dpd.cpp: // using different random numbers +pair_dpd.cpp:/* ---------------------------------------------------------------------- +pair_dpd.cpp:------------------------------------------------------------------------- */ +pair_dpd.cpp:/* ---------------------------------------------------------------------- +pair_dpd.cpp:------------------------------------------------------------------------- */ +pair_dpd.cpp:/* ---------------------------------------------------------------------- +pair_dpd.cpp:------------------------------------------------------------------------- */ +pair_dpd.cpp:/* ---------------------------------------------------------------------- +pair_dpd.cpp:------------------------------------------------------------------------- */ +pair_dpd.cpp:/* ---------------------------------------------------------------------- +pair_dpd.cpp:------------------------------------------------------------------------- */ +pair_dpd.cpp: // initialize Marsaglia RNG with processor-unique seed +pair_dpd.cpp: // same seed that pair_style command initially specified +pair_dpd.cpp:/* ---------------------------------------------------------------------- +pair_dpd.cpp:------------------------------------------------------------------------- */ +pair_dpd.cpp:/* ---------------------------------------------------------------------- +pair_dpd.cpp:------------------------------------------------------------------------- */ +pair_dpd.cpp:/* ---------------------------------------------------------------------- */ +pair_dpd.cpp: rinv = 1.0/r; +pair_dpd.cpp: wd = 1.0 - r/cut[itype][jtype]; +pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- +pair_dpd_tstat.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_dpd_tstat.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ +pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- */ +pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- */ +pair_dpd_tstat.cpp: // adjust sigma if target T is changing +pair_dpd_tstat.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +pair_dpd_tstat.cpp: double dtinvsqrt = 1.0/sqrt(update->dt); +pair_dpd_tstat.cpp: // loop over neighbors of my atoms +pair_dpd_tstat.cpp: if (r < EPSILON) continue; // r can be 0.0 in DPD systems +pair_dpd_tstat.cpp: rinv = 1.0/r; +pair_dpd_tstat.cpp: wd = 1.0 - r/cut[itype][jtype]; +pair_dpd_tstat.cpp: // drag force = -gamma * wd^2 * (delx dot delv) / r +pair_dpd_tstat.cpp: // random force = sigma * wd * rnd * dtinvsqrt; +pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- +pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ +pair_dpd_tstat.cpp: // initialize Marsaglia RNG with processor-unique seed +pair_dpd_tstat.cpp: // reset cutoffs that have been explicitly set +pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- +pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ +pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- +pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ +pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- +pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ +pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- +pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ +pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- +pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ +pair_dpd_tstat.cpp: // initialize Marsaglia RNG with processor-unique seed +pair_dpd_tstat.cpp: // same seed that pair_style command initially specified +pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- +pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ +pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- +pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- +pair_gauss.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_gauss.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_gauss.cpp:------------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- +pair_gauss.cpp:------------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- */ +pair_gauss.cpp: // loop over neighbors of my atoms +pair_gauss.cpp: // define a Gaussian well to be occupied if +pair_gauss.cpp: // the site it interacts with is within the force maximum +pair_gauss.cpp: if (eflag_global && rsq < 0.5/b[itype][jtype]) occ++; +pair_gauss.cpp:/* ---------------------------------------------------------------------- +pair_gauss.cpp:------------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- +pair_gauss.cpp:------------------------------------------------------------------------- */ +pair_gauss.cpp: // reset cutoffs that have been explicitly set +pair_gauss.cpp:/* ---------------------------------------------------------------------- +pair_gauss.cpp:------------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- +pair_gauss.cpp:------------------------------------------------------------------------- */ +pair_gauss.cpp: double si = sqrt(0.5/fabs(b[i][i])); +pair_gauss.cpp: double sj = sqrt(0.5/fabs(b[j][j])); +pair_gauss.cpp: b[i][j] = 0.5 / (sij*sij); +pair_gauss.cpp: // Negative "a" values are useful for simulating repulsive particles. +pair_gauss.cpp: // If either of the particles is repulsive (a<0), then the +pair_gauss.cpp: // interaction between both is repulsive. +pair_gauss.cpp: // cutoff correction to energy +pair_gauss.cpp:/* ---------------------------------------------------------------------- +pair_gauss.cpp:------------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- +pair_gauss.cpp:------------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- +pair_gauss.cpp:------------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- +pair_gauss.cpp:------------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- +pair_gauss.cpp:------------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- +pair_gauss.cpp:------------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- */ +pair_gauss.cpp:/* ---------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_hybrid.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp: accumulate sub-style global/peratom energy/virial in hybrid +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp: // if no_virial_fdotr_compute is set and global component of +pair_hybrid.cpp: // incoming vflag = 2, then +pair_hybrid.cpp: // reset vflag as if global component were 1 +pair_hybrid.cpp: // necessary since one or more sub-styles cannot compute virial as F dot r +pair_hybrid.cpp: if (no_virial_fdotr_compute && vflag % 4 == 2) vflag = 1 + vflag/4 * 4; +pair_hybrid.cpp: // check if global component of incoming vflag = 2 +pair_hybrid.cpp: // if so, reset vflag passed to substyle as if it were 0 +pair_hybrid.cpp: // necessary so substyle will not invoke virial_fdotr_compute() +pair_hybrid.cpp: if (vflag % 4 == 2) vflag_substyle = vflag/4 * 4; +pair_hybrid.cpp: // check if we are running with r-RESPA using the hybrid keyword +pair_hybrid.cpp: // invoke compute() unless compute flag is turned off or +pair_hybrid.cpp: // outerflag is set and sub-style has a compute_outer() method +pair_hybrid.cpp: // jump to next sub-style if r-RESPA does not want global accumulated data +pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp: // delete old lists, since cannot just change settings +pair_hybrid.cpp: // allocate list of sub-styles as big as possibly needed if no extra args +pair_hybrid.cpp: // allocate each sub-style +pair_hybrid.cpp: // allocate uses suffix, but don't store suffix version in keywords, +pair_hybrid.cpp: // else syntax in coeff() will not match +pair_hybrid.cpp: // call settings() with set of args that are not pair style names +pair_hybrid.cpp: // use force->pair_map to determine which args these are +pair_hybrid.cpp: // multiple[i] = 1 to M if sub-style used multiple times, else 0 +pair_hybrid.cpp: // set pair flags from sub-style flags +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp: // set comm_forward, comm_reverse, comm_reverse_off to max of any sub-style +pair_hybrid.cpp: // single_enable = 1 if any sub-style is set +pair_hybrid.cpp: // respa_enable = 1 if any sub-style is set +pair_hybrid.cpp: // manybody_flag = 1 if any sub-style is set +pair_hybrid.cpp: // no_virial_fdotr_compute = 1 if any sub-style is set +pair_hybrid.cpp: // ghostneigh = 1 if any sub-style is set +pair_hybrid.cpp: // ewaldflag, pppmflag, msmflag, dipoleflag, dispersionflag, tip4pflag = 1 +pair_hybrid.cpp: // if any sub-style is set +pair_hybrid.cpp: // compute_flag = 1 if any sub-style is set +pair_hybrid.cpp: // single_extra = min of all sub-style single_extra +pair_hybrid.cpp: // allocate svector +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp: // 3rd arg = pair sub-style name +pair_hybrid.cpp: // 4th arg = pair sub-style index if name used multiple times +pair_hybrid.cpp: // allow for "none" as valid sub-style name +pair_hybrid.cpp: // move 1st/2nd args to 2nd/3rd args +pair_hybrid.cpp: // if multflag: move 1st/2nd args to 3rd/4th args +pair_hybrid.cpp: // just copy ptrs, since arg[] points into original input line +pair_hybrid.cpp: // invoke sub-style coeff() starting with 1st remaining arg +pair_hybrid.cpp: // if sub-style only allows one pair coeff call (with * * and type mapping) +pair_hybrid.cpp: // then unset setflag/map assigned to that style before setting it below +pair_hybrid.cpp: // in case pair coeff for this sub-style is being called for 2nd time +pair_hybrid.cpp: // set setflag and which type pairs map to which sub-style +pair_hybrid.cpp: // if sub-style is none: set hybrid setflag, wipe out map +pair_hybrid.cpp: // else: set hybrid setflag & map only if substyle setflag is set +pair_hybrid.cpp: // previous mappings are wiped out +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp: // error if a sub-style is not used +pair_hybrid.cpp: // check if special_lj/special_coul overrides are compatible +pair_hybrid.cpp: // each sub-style makes its neighbor list request(s) +pair_hybrid.cpp: // create skip lists inside each pair neigh request +pair_hybrid.cpp: // any kind of list can have its skip flag set in this loop +pair_hybrid.cpp: // istyle = associated sub-style for the request +pair_hybrid.cpp: // allocate iskip and ijskip +pair_hybrid.cpp: // initialize so as to skip all pair types +pair_hybrid.cpp: // set ijskip = 0 if type pair matches any entry in sub-style map +pair_hybrid.cpp: // set ijskip = 0 if mixing will assign type pair to this sub-style +pair_hybrid.cpp: // will occur if type pair is currently unassigned +pair_hybrid.cpp: // and both I,I and J,J are assigned to single sub-style +pair_hybrid.cpp: // and sub-style for both I,I and J,J match istyle +pair_hybrid.cpp: // set iskip = 1 only if all ijskip for itype are 1 +pair_hybrid.cpp: // if any skipping occurs +pair_hybrid.cpp: // set request->skip and copy iskip and ijskip into request +pair_hybrid.cpp: // else delete iskip and ijskip +pair_hybrid.cpp: // no skipping if pair style assigned to all type pairs +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp: // if I,J is not set explicitly: +pair_hybrid.cpp: // perform mixing only if I,I sub-style = J,J sub-style +pair_hybrid.cpp: // also require I,I and J,J are both assigned to single sub-style +pair_hybrid.cpp: // call init/mixing for all sub-styles of I,J +pair_hybrid.cpp: // set cutsq in sub-style just as Pair::init() does via call to init_one() +pair_hybrid.cpp: // set cutghost for I,J and J,I just as sub-style does +pair_hybrid.cpp: // sum tail corrections for I,J +pair_hybrid.cpp: // return max cutoff of all sub-styles assigned to I,J +pair_hybrid.cpp: // if no sub-styles assigned to I,J (pair_coeff none), cutmax = 0.0 returned +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp: // each sub-style writes its settings, but no coeff info +pair_hybrid.cpp: // write out per style special settings, if present +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp: // allocate list of sub-styles +pair_hybrid.cpp: // each sub-style is created via new_pair() +pair_hybrid.cpp: // each reads its settings, but no coeff info +pair_hybrid.cpp: // read back per style special settings, if present +pair_hybrid.cpp: // multiple[i] = 1 to M if sub-style used multiple times, else 0 +pair_hybrid.cpp: // set pair flags from sub-style flags +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp: // copy substyle extra values into hybrid's svector +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp: // if 1st keyword is pair, apply other keywords to one sub-style +pair_hybrid.cpp: // if 2nd keyword (after pair) is special: +pair_hybrid.cpp: // invoke modify_special() for the sub-style +pair_hybrid.cpp: // if 2nd keyword (after pair) is compute/tally: +pair_hybrid.cpp: // set flag to register USER-TALLY computes accordingly +pair_hybrid.cpp: if (iarg < narg && strcmp(arg[iarg],"compute/tally") == 0) { +pair_hybrid.cpp: error->all(FLERR,"Illegal pair_modify compute/tally command"); +pair_hybrid.cpp: } else error->all(FLERR,"Illegal pair_modify compute/tally command"); +pair_hybrid.cpp: // apply the remaining keywords to the base pair style itself and the +pair_hybrid.cpp: // sub-style except for "pair" and "special". +pair_hybrid.cpp: // the former is important for some keywords like "tail" or "compute" +pair_hybrid.cpp: // apply all keywords to pair hybrid itself and every sub-style +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp: if (strcmp(arg[0],"lj/coul") == 0) { +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid.cpp:/* ---------------------------------------------------------------------- +pair_hybrid.cpp:------------------------------------------------------------------------- */ +pair_hybrid_overlay.cpp:/* ---------------------------------------------------------------------- +pair_hybrid_overlay.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_hybrid_overlay.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_hybrid_overlay.cpp:------------------------------------------------------------------------- */ +pair_hybrid_overlay.cpp:/* ---------------------------------------------------------------------- */ +pair_hybrid_overlay.cpp:/* ---------------------------------------------------------------------- +pair_hybrid_overlay.cpp:------------------------------------------------------------------------- */ +pair_hybrid_overlay.cpp: // 3rd arg = pair sub-style name +pair_hybrid_overlay.cpp: // 4th arg = pair sub-style index if name used multiple times +pair_hybrid_overlay.cpp: // allow for "none" as valid sub-style name +pair_hybrid_overlay.cpp: // move 1st/2nd args to 2nd/3rd args +pair_hybrid_overlay.cpp: // if multflag: move 1st/2nd args to 3rd/4th args +pair_hybrid_overlay.cpp: // just copy ptrs, since arg[] points into original input line +pair_hybrid_overlay.cpp: // invoke sub-style coeff() starting with 1st remaining arg +pair_hybrid_overlay.cpp: // set setflag and which type pairs map to which sub-style +pair_hybrid_overlay.cpp: // if sub-style is none: set hybrid subflag, wipe out map +pair_hybrid_overlay.cpp: // else: set hybrid setflag & map only if substyle setflag is set +pair_hybrid_overlay.cpp: // if sub-style is new for type pair, add as multiple mapping +pair_hybrid_overlay.cpp: // if sub-style exists for type pair, don't add, just update coeffs +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_lj96_cut.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj96_cut.cpp: // loop over neighbors of my atoms +pair_lj96_cut.cpp: r2inv = 1.0/rsq; +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj96_cut.cpp: // loop over neighbors of my atoms +pair_lj96_cut.cpp: r2inv = 1.0/rsq; +pair_lj96_cut.cpp: rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj96_cut.cpp: // loop over neighbors of my atoms +pair_lj96_cut.cpp: r2inv = 1.0/rsq; +pair_lj96_cut.cpp: rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; +pair_lj96_cut.cpp: rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj96_cut.cpp: // loop over neighbors of my atoms +pair_lj96_cut.cpp: r2inv = 1.0/rsq; +pair_lj96_cut.cpp: rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; +pair_lj96_cut.cpp: r2inv = 1.0/rsq; +pair_lj96_cut.cpp: r2inv = 1.0/rsq; +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp: // reset cutoffs that have been explicitly set +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp: // request regular or rRESPA neighbor lists +pair_lj96_cut.cpp: // set rRESPA cutoffs +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp: double ratio = sigma[i][j] / cut[i][j]; +pair_lj96_cut.cpp: // check interior rRESPA cutoff +pair_lj96_cut.cpp: // compute I,J contribution to long-range tail correction +pair_lj96_cut.cpp: // count total # of atoms of type I and J via Allreduce +pair_lj96_cut.cpp: sig6 * (sig3 - 2.0*rc3) / (6.0*rc6); +pair_lj96_cut.cpp: sig6 * (3.0*sig3 - 4.0*rc3) / (6.0*rc6); +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj96_cut.cpp:------------------------------------------------------------------------- */ +pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj96_cut.cpp: r2inv = 1.0/rsq; +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- +pair_lj_cubic.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_lj_cubic.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_lj_cubic.cpp:------------------------------------------------------------------------- */ +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- +pair_lj_cubic.cpp:------------------------------------------------------------------------- */ +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cubic.cpp: // loop over neighbors of my atoms +pair_lj_cubic.cpp: r2inv = 1.0/rsq; +pair_lj_cubic.cpp: t = (r - cut_inner[itype][jtype])/rmin; +pair_lj_cubic.cpp: forcelj = epsilon[itype][jtype]*(-DPHIDS + A3*t*t/2.0)*r/rmin; +pair_lj_cubic.cpp: (PHIS + DPHIDS*t - A3*t*t*t/6.0); +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- +pair_lj_cubic.cpp:------------------------------------------------------------------------- */ +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- +pair_lj_cubic.cpp:------------------------------------------------------------------------- */ +pair_lj_cubic.cpp: // reset cutoffs that have been explicitly set +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- +pair_lj_cubic.cpp:------------------------------------------------------------------------- */ +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- +pair_lj_cubic.cpp:------------------------------------------------------------------------- */ +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- +pair_lj_cubic.cpp:------------------------------------------------------------------------- */ +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- +pair_lj_cubic.cpp:------------------------------------------------------------------------- */ +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- +pair_lj_cubic.cpp:------------------------------------------------------------------------- */ +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- +pair_lj_cubic.cpp:------------------------------------------------------------------------- */ +pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cubic.cpp: r2inv = 1.0/rsq; +pair_lj_cubic.cpp: t = (r - cut_inner[itype][jtype])/rmin; +pair_lj_cubic.cpp: forcelj = epsilon[itype][jtype]*(-DPHIDS + A3*t*t/2.0)*r/rmin; +pair_lj_cubic.cpp: (PHIS + DPHIDS*t - A3*t*t*t/6.0); +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_cut.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_lj_cut_coul_cut.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp: // loop over neighbors of my atoms +pair_lj_cut_coul_cut.cpp: r2inv = 1.0/rsq; +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp: // reset cutoffs that have been explicitly set +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp: error->all(FLERR,"Pair style lj/cut/coul/cut requires atom attribute q"); +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp: double ratio = sigma[i][j] / cut_lj[i][j]; +pair_lj_cut_coul_cut.cpp: // compute I,J contribution to long-range tail correction +pair_lj_cut_coul_cut.cpp: // count total # of atoms of type I and J via Allreduce +pair_lj_cut_coul_cut.cpp: sig6 * (sig6 - 3.0*rc6) / (9.0*rc9); +pair_lj_cut_coul_cut.cpp: sig6 * (2.0*sig6 - 3.0*rc6) / (9.0*rc9); +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut_coul_cut.cpp: r2inv = 1.0/rsq; +pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_debye.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_lj_cut_coul_debye.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_lj_cut_coul_debye.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut_coul_debye.cpp: // loop over neighbors of my atoms +pair_lj_cut_coul_debye.cpp: r2inv = 1.0/rsq; +pair_lj_cut_coul_debye.cpp: rinv = 1.0/r; +pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_debye.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_debye.cpp: // reset cutoffs that were previously set from data file +pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_debye.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_debye.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut_coul_debye.cpp: r2inv = 1.0/rsq; +pair_lj_cut_coul_debye.cpp: rinv = 1.0/r; +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_dsf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_lj_cut_coul_dsf.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp: // loop over neighbors of my atoms +pair_lj_cut_coul_dsf.cpp: double e_self = -(e_shift/2.0 + alpha/MY_PIS) * qtmp*qtmp*qqrd2e; +pair_lj_cut_coul_dsf.cpp: r2inv = 1.0/rsq; +pair_lj_cut_coul_dsf.cpp: prefactor = qqrd2e*qtmp*q[j]/r; +pair_lj_cut_coul_dsf.cpp: t = 1.0 / (1.0 + EWALD_P*alpha*r); +pair_lj_cut_coul_dsf.cpp: forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS * erfcd + +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp: // reset cutoffs that have been explicitly set +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp: error->all(FLERR,"Pair style lj/cut/coul/dsf requires atom attribute q"); +pair_lj_cut_coul_dsf.cpp: f_shift = -(erfcc/cut_coulsq + 2.0/MY_PIS*alpha*erfcd/cut_coul); +pair_lj_cut_coul_dsf.cpp: e_shift = erfcc/cut_coul - f_shift*cut_coul; +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp: double ratio = sigma[i][j] / cut_lj[i][j]; +pair_lj_cut_coul_dsf.cpp: // compute I,J contribution to long-range tail correction +pair_lj_cut_coul_dsf.cpp: // count total # of atoms of type I and J via Allreduce +pair_lj_cut_coul_dsf.cpp: sig6 * (sig6 - 3.0*rc6) / (9.0*rc9); +pair_lj_cut_coul_dsf.cpp: sig6 * (2.0*sig6 - 3.0*rc6) / (9.0*rc9); +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut_coul_dsf.cpp: r2inv = 1.0/rsq; +pair_lj_cut_coul_dsf.cpp: prefactor = factor_coul * force->qqrd2e * atom->q[i]*atom->q[j]/r; +pair_lj_cut_coul_dsf.cpp: forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS * erfcd + +pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_lj_cut.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut.cpp: // loop over neighbors of my atoms +pair_lj_cut.cpp: r2inv = 1.0/rsq; +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut.cpp: // loop over neighbors of my atoms +pair_lj_cut.cpp: r2inv = 1.0/rsq; +pair_lj_cut.cpp: rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut.cpp: // loop over neighbors of my atoms +pair_lj_cut.cpp: r2inv = 1.0/rsq; +pair_lj_cut.cpp: rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; +pair_lj_cut.cpp: rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut.cpp: // loop over neighbors of my atoms +pair_lj_cut.cpp: r2inv = 1.0/rsq; +pair_lj_cut.cpp: rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; +pair_lj_cut.cpp: r2inv = 1.0/rsq; +pair_lj_cut.cpp: r2inv = 1.0/rsq; +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp: // reset cutoffs that have been explicitly set +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp: // request regular or rRESPA neighbor lists +pair_lj_cut.cpp: // set rRESPA cutoffs +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp: double ratio = sigma[i][j] / cut[i][j]; +pair_lj_cut.cpp: // check interior rRESPA cutoff +pair_lj_cut.cpp: // compute I,J contribution to long-range tail correction +pair_lj_cut.cpp: // count total # of atoms of type I and J via Allreduce +pair_lj_cut.cpp: sig6 * (sig6 - 3.0*rc6) / (9.0*rc9); +pair_lj_cut.cpp: sig6 * (2.0*sig6 - 3.0*rc6) / (9.0*rc9); +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- +pair_lj_cut.cpp:------------------------------------------------------------------------- */ +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_cut.cpp: r2inv = 1.0/rsq; +pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- +pair_lj_expand.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_lj_expand.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_lj_expand.cpp:------------------------------------------------------------------------- */ +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_expand.cpp: // loop over neighbors of my atoms +pair_lj_expand.cpp: r2inv = 1.0/rshiftsq; +pair_lj_expand.cpp: fpair = factor_lj*forcelj/rshift/r; +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- +pair_lj_expand.cpp:------------------------------------------------------------------------- */ +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- +pair_lj_expand.cpp:------------------------------------------------------------------------- */ +pair_lj_expand.cpp: // reset cutoffs that have been explicitly set +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- +pair_lj_expand.cpp:------------------------------------------------------------------------- */ +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- +pair_lj_expand.cpp:------------------------------------------------------------------------- */ +pair_lj_expand.cpp: // always mix shift arithmetically +pair_lj_expand.cpp: double ratio = sigma[i][j] / cut[i][j]; +pair_lj_expand.cpp: // compute I,J contribution to long-range tail correction +pair_lj_expand.cpp: // count total # of atoms of type I and J via Allreduce +pair_lj_expand.cpp: ((1.0/9.0 + 2.0*shift1/(10.0*rc1) + shift2/(11.0*rc2))*sig6/rc9 - +pair_lj_expand.cpp: (1.0/3.0 + 2.0*shift1/(4.0*rc1) + shift2/(5.0*rc2))/rc3); +pair_lj_expand.cpp: ((1.0/9.0 + 3.0*shift1/(10.0*rc1) + +pair_lj_expand.cpp: 3.0*shift2/(11.0*rc2) + shift3/(12.0*rc3))*2.0*sig6/rc9 - +pair_lj_expand.cpp: (1.0/3.0 + 3.0*shift1/(4.0*rc1) + +pair_lj_expand.cpp: 3.0*shift2/(5.0*rc2) + shift3/(6.0*rc3))/rc3); +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- +pair_lj_expand.cpp:------------------------------------------------------------------------- */ +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- +pair_lj_expand.cpp:------------------------------------------------------------------------- */ +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- +pair_lj_expand.cpp:------------------------------------------------------------------------- */ +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- +pair_lj_expand.cpp:------------------------------------------------------------------------- */ +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- +pair_lj_expand.cpp:------------------------------------------------------------------------- */ +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- +pair_lj_expand.cpp:------------------------------------------------------------------------- */ +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_expand.cpp: r2inv = 1.0/rshiftsq; +pair_lj_expand.cpp: fforce = factor_lj*forcelj/rshift/r; +pair_lj_expand.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs_coul_gromacs.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_lj_gromacs_coul_gromacs.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp: // loop over neighbors of my atoms +pair_lj_gromacs_coul_gromacs.cpp: r2inv = 1.0/rsq; +pair_lj_gromacs_coul_gromacs.cpp: // skip if qi or qj = 0.0 since this potential may be used as +pair_lj_gromacs_coul_gromacs.cpp: // coarse-grain model with many uncharged atoms +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp: "Pair style lj/gromacs/coul/gromacs requires atom attribute q"); +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp: double r6inv = 1.0/pow(cut_lj,6.0); +pair_lj_gromacs_coul_gromacs.cpp: double r8inv = 1.0/pow(cut_lj,8.0); +pair_lj_gromacs_coul_gromacs.cpp: double t2inv = 1.0/(t*t); +pair_lj_gromacs_coul_gromacs.cpp: double t3inv = t2inv/t; +pair_lj_gromacs_coul_gromacs.cpp: double t3 = 1.0/t3inv; +pair_lj_gromacs_coul_gromacs.cpp: double c6 = r6inv - t3*(6.0*a6/3.0 + 6.0*b6*t/4.0); +pair_lj_gromacs_coul_gromacs.cpp: double c12 = r6inv*r6inv - t3*(12.0*a12/3.0 + 12.0*b12*t/4.0); +pair_lj_gromacs_coul_gromacs.cpp: ljsw3[i][j] = -lj3[i][j]*12.0*a12/3.0 + lj4[i][j]*6.0*a6/3.0; +pair_lj_gromacs_coul_gromacs.cpp: ljsw4[i][j] = -lj3[i][j]*12.0*b12/4.0 + lj4[i][j]*6.0*b6/4.0; +pair_lj_gromacs_coul_gromacs.cpp: double r3inv = 1.0/pow(cut_coul,3.0); +pair_lj_gromacs_coul_gromacs.cpp: t2inv = 1.0/(t*t); +pair_lj_gromacs_coul_gromacs.cpp: t3inv = t2inv/t; +pair_lj_gromacs_coul_gromacs.cpp: coulsw3 = -a1/3.0; +pair_lj_gromacs_coul_gromacs.cpp: coulsw4 = -b1/4.0; +pair_lj_gromacs_coul_gromacs.cpp: coulsw5 = 1.0/cut_coul - t*t*t*(a1/3.0 + b1*t/4.0); +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_gromacs_coul_gromacs.cpp: r2inv = 1.0/rsq; +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_lj_gromacs.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_gromacs.cpp: // loop over neighbors of my atoms +pair_lj_gromacs.cpp: r2inv = 1.0/rsq; +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs.cpp: // reset cutoffs that have been explicitly set +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs.cpp: double r6inv = 1.0/pow(cut[i][j],6.0); +pair_lj_gromacs.cpp: double r8inv = 1.0/pow(cut[i][j],8.0); +pair_lj_gromacs.cpp: double t2inv = 1.0/(t*t); +pair_lj_gromacs.cpp: double t3inv = t2inv/t; +pair_lj_gromacs.cpp: double t3 = 1.0/t3inv; +pair_lj_gromacs.cpp: double c6 = r6inv - t3*(6.0*a6/3.0 + 6.0*b6*t/4.0); +pair_lj_gromacs.cpp: double c12 = r6inv*r6inv - t3*(12.0*a12/3.0 + 12.0*b12*t/4.0); +pair_lj_gromacs.cpp: ljsw3[i][j] = -lj3[i][j]*12.0*a12/3.0 + lj4[i][j]*6.0*a6/3.0; +pair_lj_gromacs.cpp: ljsw4[i][j] = -lj3[i][j]*12.0*b12/4.0 + lj4[i][j]*6.0*b6/4.0; +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- +pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ +pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_gromacs.cpp: r2inv = 1.0/rsq; +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_lj_smooth.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_lj_smooth.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_smooth.cpp: // loop over neighbors of my atoms +pair_lj_smooth.cpp: r2inv = 1.0/rsq; +pair_lj_smooth.cpp: ljsw2[itype][jtype]*tsq/2.0 - ljsw3[itype][jtype]*tsq*t/3.0 - +pair_lj_smooth.cpp: ljsw4[itype][jtype]*tsq*tsq/4.0 - offset[itype][jtype]; +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth.cpp: // reset cutoffs that have been explicitly set +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth.cpp: double r6inv = 1.0/pow(cut_inner[i][j],6.0); +pair_lj_smooth.cpp: double ratio = sigma[i][j] / cut_inner[i][j]; +pair_lj_smooth.cpp: ljsw1[i][j] = r6inv*(lj1[i][j]*r6inv-lj2[i][j]) / cut_inner[i][j]; +pair_lj_smooth.cpp: ljsw2[i][j] = -r6inv * (13.0*lj1[i][j]*r6inv - 7.0*lj2[i][j]) / +pair_lj_smooth.cpp: ljsw3[i][j] = -(3.0/tsq) * (ljsw1[i][j] + 2.0/3.0*ljsw2[i][j]*t); +pair_lj_smooth.cpp: ljsw4[i][j] = -1.0/(3.0*tsq) * (ljsw2[i][j] + 2.0*ljsw3[i][j]*t); +pair_lj_smooth.cpp: offset[i][j] = ljsw0[i][j] - ljsw1[i][j]*t - ljsw2[i][j]*tsq/2.0 - +pair_lj_smooth.cpp: ljsw3[i][j]*tsq*t/3.0 - ljsw4[i][j]*tsq*tsq/4.0; +pair_lj_smooth.cpp: double ratio = sigma[i][j] / cut_inner[i][j]; +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_smooth.cpp: r2inv = 1.0/rsq; +pair_lj_smooth.cpp: ljsw2[itype][jtype]*tsq/2.0 - ljsw3[itype][jtype]*tsq*t/3.0 - +pair_lj_smooth.cpp: ljsw4[itype][jtype]*tsq*tsq/4.0 - offset[itype][jtype]; +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth_linear.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_lj_smooth_linear.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp: // loop over neighbors of my atoms +pair_lj_smooth_linear.cpp: r2inv = 1.0/rsq; +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp: // reset cutoffs that have been explicitly set +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp: double cutinv = 1.0/cut[i][j]; +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- +pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- */ +pair_lj_smooth_linear.cpp: r2inv = 1.0/rsq; +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- +pair_mie_cut.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_mie_cut.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_mie_cut.cpp:------------------------------------------------------------------------- */ +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- +pair_mie_cut.cpp:------------------------------------------------------------------------- */ +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_mie_cut.cpp: // loop over neighbors of my atoms +pair_mie_cut.cpp: r2inv = 1.0/rsq; +pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); +pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_mie_cut.cpp: // loop over neighbors of my atoms +pair_mie_cut.cpp: r2inv = 1.0/rsq; +pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); +pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); +pair_mie_cut.cpp: rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_mie_cut.cpp: // loop over neighbors of my atoms +pair_mie_cut.cpp: r2inv = 1.0/rsq; +pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); +pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); +pair_mie_cut.cpp: rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; +pair_mie_cut.cpp: rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_mie_cut.cpp: // loop over neighbors of my atoms +pair_mie_cut.cpp: r2inv = 1.0/rsq; +pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); +pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); +pair_mie_cut.cpp: rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; +pair_mie_cut.cpp: r2inv = 1.0/rsq; +pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); +pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); +pair_mie_cut.cpp: r2inv = 1.0/rsq; +pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); +pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- +pair_mie_cut.cpp:------------------------------------------------------------------------- */ +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- +pair_mie_cut.cpp:------------------------------------------------------------------------- */ +pair_mie_cut.cpp: // reset cutoffs that have been explicitly set +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- +pair_mie_cut.cpp:------------------------------------------------------------------------- */ +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- +pair_mie_cut.cpp:------------------------------------------------------------------------- */ +pair_mie_cut.cpp: // request regular or rRESPA neighbor lists +pair_mie_cut.cpp: // set rRESPA cutoffs +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- +pair_mie_cut.cpp:------------------------------------------------------------------------- */ +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- +pair_mie_cut.cpp:------------------------------------------------------------------------- */ +pair_mie_cut.cpp: Cmie[i][j] = (gamR[i][j]/(gamR[i][j]-gamA[i][j]) * +pair_mie_cut.cpp: pow((gamR[i][j]/gamA[i][j]), +pair_mie_cut.cpp: (gamA[i][j]/(gamR[i][j]-gamA[i][j])))); +pair_mie_cut.cpp: double ratio = sigma[i][j] / cut[i][j]; +pair_mie_cut.cpp: // check interior rRESPA cutoff +pair_mie_cut.cpp: // compute I,J contribution to long-range tail correction +pair_mie_cut.cpp: // count total # of atoms of type I and J via Allreduce +pair_mie_cut.cpp: (siggamR/((gamR[i][j]-3.0)*rcgamR)-siggamA/((gamA[i][j]-3.0)*rcgamA)); +pair_mie_cut.cpp: ptail_ij = Cmie[i][j]*2.0*MY_PI*all[0]*all[1]*epsilon[i][j]/3.0* +pair_mie_cut.cpp: ((gamR[i][j]/(gamR[i][j]-3.0))*siggamR/rcgamR- +pair_mie_cut.cpp: (gamA[i][j]/(gamA[i][j]-3.0))*siggamA/rcgamA); +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- +pair_mie_cut.cpp:------------------------------------------------------------------------- */ +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- +pair_mie_cut.cpp:------------------------------------------------------------------------- */ +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- +pair_mie_cut.cpp:------------------------------------------------------------------------- */ +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- +pair_mie_cut.cpp:------------------------------------------------------------------------- */ +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_mie_cut.cpp: r2inv = 1.0/rsq; +pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); +pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); +pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ +pair_morse.cpp:/* ---------------------------------------------------------------------- +pair_morse.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_morse.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_morse.cpp:------------------------------------------------------------------------- */ +pair_morse.cpp:/* ---------------------------------------------------------------------- */ +pair_morse.cpp:/* ---------------------------------------------------------------------- */ +pair_morse.cpp:/* ---------------------------------------------------------------------- */ +pair_morse.cpp: // loop over neighbors of my atoms +pair_morse.cpp: fpair = factor_lj * morse1[itype][jtype] * (dexp*dexp - dexp) / r; +pair_morse.cpp:/* ---------------------------------------------------------------------- +pair_morse.cpp:------------------------------------------------------------------------- */ +pair_morse.cpp:/* ---------------------------------------------------------------------- +pair_morse.cpp:------------------------------------------------------------------------- */ +pair_morse.cpp: // reset cutoffs that have been explicitly set +pair_morse.cpp:/* ---------------------------------------------------------------------- +pair_morse.cpp:------------------------------------------------------------------------- */ +pair_morse.cpp:/* ---------------------------------------------------------------------- +pair_morse.cpp:------------------------------------------------------------------------- */ +pair_morse.cpp:/* ---------------------------------------------------------------------- +pair_morse.cpp:------------------------------------------------------------------------- */ +pair_morse.cpp:/* ---------------------------------------------------------------------- +pair_morse.cpp:------------------------------------------------------------------------- */ +pair_morse.cpp:/* ---------------------------------------------------------------------- +pair_morse.cpp:------------------------------------------------------------------------- */ +pair_morse.cpp:/* ---------------------------------------------------------------------- +pair_morse.cpp:------------------------------------------------------------------------- */ +pair_morse.cpp:/* ---------------------------------------------------------------------- +pair_morse.cpp:------------------------------------------------------------------------- */ +pair_morse.cpp:/* ---------------------------------------------------------------------- +pair_morse.cpp:------------------------------------------------------------------------- */ +pair_morse.cpp:/* ---------------------------------------------------------------------- */ +pair_morse.cpp: fforce = factor_lj * morse1[itype][jtype] * (dexp*dexp - dexp) / r; +pair_morse.cpp:/* ---------------------------------------------------------------------- */ +pair_soft.cpp:/* ---------------------------------------------------------------------- +pair_soft.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_soft.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_soft.cpp:------------------------------------------------------------------------- */ +pair_soft.cpp:/* ---------------------------------------------------------------------- */ +pair_soft.cpp:/* ---------------------------------------------------------------------- */ +pair_soft.cpp:/* ---------------------------------------------------------------------- */ +pair_soft.cpp: // loop over neighbors of my atoms +pair_soft.cpp: arg = MY_PI*r/cut[itype][jtype]; +pair_soft.cpp: sin(arg) * MY_PI/cut[itype][jtype]/r; +pair_soft.cpp:/* ---------------------------------------------------------------------- +pair_soft.cpp:------------------------------------------------------------------------- */ +pair_soft.cpp:/* ---------------------------------------------------------------------- +pair_soft.cpp:------------------------------------------------------------------------- */ +pair_soft.cpp: // reset cutoffs that have been explicitly set +pair_soft.cpp:/* ---------------------------------------------------------------------- +pair_soft.cpp:------------------------------------------------------------------------- */ +pair_soft.cpp:/* ---------------------------------------------------------------------- +pair_soft.cpp:------------------------------------------------------------------------- */ +pair_soft.cpp: // always mix prefactors geometrically +pair_soft.cpp:/* ---------------------------------------------------------------------- +pair_soft.cpp:------------------------------------------------------------------------- */ +pair_soft.cpp:/* ---------------------------------------------------------------------- +pair_soft.cpp:------------------------------------------------------------------------- */ +pair_soft.cpp:/* ---------------------------------------------------------------------- +pair_soft.cpp:------------------------------------------------------------------------- */ +pair_soft.cpp:/* ---------------------------------------------------------------------- +pair_soft.cpp:------------------------------------------------------------------------- */ +pair_soft.cpp:/* ---------------------------------------------------------------------- +pair_soft.cpp:------------------------------------------------------------------------- */ +pair_soft.cpp:/* ---------------------------------------------------------------------- +pair_soft.cpp:------------------------------------------------------------------------- */ +pair_soft.cpp:/* ---------------------------------------------------------------------- */ +pair_soft.cpp: arg = MY_PI*r/cut[itype][jtype]; +pair_soft.cpp: sin(arg) * MY_PI/cut[itype][jtype]/r; +pair_soft.cpp:/* ---------------------------------------------------------------------- */ +pair_spin.cpp:/* ---------------------------------------------------------------------- +pair_spin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_spin.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_spin.cpp:------------------------------------------------------------------------- */ +pair_spin.cpp:/* ---------------------------------------------------------------------- */ +pair_spin.cpp:/* ---------------------------------------------------------------------- */ +pair_spin.cpp:/* ---------------------------------------------------------------------- */ +pair_spin.cpp: // Pair spin computations +pair_spin.cpp: // Loop over neighbors of my itoms +pair_spin.cpp: //Loop on Neighbors +pair_spin.cpp: rsq = delx*delx + dely*dely + delz*delz; //square or inter-atomic distance +pair_spin.cpp: rd = sqrt(rsq); //Inter-atomic distance +pair_spin.cpp: //Exchange interaction +pair_spin.cpp: //DM interaction +pair_spin.cpp: //ME interaction +pair_spin.cpp:/* ---------------------------------------------------------------------- */ +pair_spin.cpp: ra = rsq/J_3[itype][jtype]/J_3[itype][jtype]; +pair_spin.cpp:/* ---------------------------------------------------------------------- */ +pair_spin.cpp:/* ---------------------------------------------------------------------- */ +pair_spin.cpp: inorm = 1.0/sqrt(rx*rx+ry*ry+rz*rz); +pair_spin.cpp: // printf("test val fmi=%g, fmj=%g \n",fmi[2],fmj[2]); +pair_spin.cpp:/* ---------------------------------------------------------------------- +pair_spin.cpp:------------------------------------------------------------------------- */ +pair_spin.cpp:/* ---------------------------------------------------------------------- +pair_spin.cpp:------------------------------------------------------------------------- */ +pair_spin.cpp: error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); +pair_spin.cpp: // reset cutoffs that have been explicitly set +pair_spin.cpp:/* ---------------------------------------------------------------------- +pair_spin.cpp:------------------------------------------------------------------------- */ +pair_spin.cpp: double hbar = force->hplanck/MY_2PI; +pair_spin.cpp: J1 /= hbar; +pair_spin.cpp: double inorm = 1.0/(dmx*dmx+dmy*dmy+dmz*dmz); +pair_spin.cpp: double hbar = force->hplanck/MY_2PI; +pair_spin.cpp: dm /= hbar; +pair_spin.cpp: double inorm = 1.0/(mex*mex+mey*mey+mez*mez); +pair_spin.cpp: double hbar = force->hplanck/MY_2PI; +pair_spin.cpp: me /= hbar; +pair_spin.cpp: //Check if Jex [][] still works for Ferrimagnetic exchange +pair_spin.cpp:/* ---------------------------------------------------------------------- +pair_spin.cpp:------------------------------------------------------------------------- */ +pair_spin.cpp:/* ---------------------------------------------------------------------- +pair_spin.cpp:------------------------------------------------------------------------- */ +pair_spin.cpp:/* ---------------------------------------------------------------------- +pair_spin.cpp:------------------------------------------------------------------------- */ +pair_spin.cpp:/* ---------------------------------------------------------------------- +pair_spin.cpp:------------------------------------------------------------------------- */ +pair_spin.cpp:/* ---------------------------------------------------------------------- +pair_spin.cpp:------------------------------------------------------------------------- */ +pair_spin.cpp:/* ---------------------------------------------------------------------- +pair_spin.cpp:------------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_table.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- */ +pair_table.cpp: // loop over neighbors of my atoms +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp: // new settings +pair_table.cpp: // optional keywords +pair_table.cpp: // assert the tabulation is compatible with a specific long-range solver +pair_table.cpp: // delete old tables, since cannot just change settings +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp: // set table cutoff +pair_table.cpp: // error check on table parameters +pair_table.cpp: // insure cutoff is within table +pair_table.cpp: // for BITMAP tables, file values can be in non-ascending order +pair_table.cpp: // match = 1 if don't need to spline read-in tables +pair_table.cpp: // this is only the case if r values needed by final tables +pair_table.cpp: // exactly match r values read from file +pair_table.cpp: // for tabstyle SPLINE, always need to build spline tables +pair_table.cpp: // spline read-in values and compute r,e,f vectors within table +pair_table.cpp: // store ptr to table in tabindex +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp: // open file +pair_table.cpp: // loop until section found with matching keyword +pair_table.cpp: if (strspn(line," \t\n\r") == strlen(line)) continue; // blank line +pair_table.cpp: if (line[0] == '#') continue; // comment +pair_table.cpp: if (strcmp(word,keyword) == 0) break; // matching keyword +pair_table.cpp: fgets(line,MAXLINE,fp); // no match, skip section +pair_table.cpp: // read args on 2nd line of section +pair_table.cpp: // allocate table arrays for file values +pair_table.cpp: // setup bitmap parameters for table to read in +pair_table.cpp: // read r,e,f table values from file +pair_table.cpp: // if rflag set, compute r +pair_table.cpp: // if rflag not set, use r from file +pair_table.cpp: rnew = tb->rlo + (tb->rhi - tb->rlo)*i/(tb->ninput-1); +pair_table.cpp: (tb->rhi*tb->rhi - tb->rlo*tb->rlo)*i/(tb->ninput-1); +pair_table.cpp: if (tb->rflag && fabs(rnew-rfile)/rfile > EPSILONR) rerror++; +pair_table.cpp: // close file +pair_table.cpp: // warn if force != dE/dr at any point that is not an inflection point +pair_table.cpp: // check via secant approximation to dE/dr +pair_table.cpp: // skip two end points since do not have surrounding secants +pair_table.cpp: // inflection point is where curvature changes sign +pair_table.cpp: fleft = - (e-eprev) / (r-rprev); +pair_table.cpp: fright = - (enext-e) / (rnext-r); +pair_table.cpp: //printf("Values %d: %g %g %g\n",i,r,e,f); +pair_table.cpp: //printf(" secant %d %d %g: %g %g %g\n",i,ferror,r,fleft,fright,f); +pair_table.cpp: sprintf(str,"%d of %d force values in table are inconsistent with -dE/dr.\n" +pair_table.cpp: // warn if re-computed distance values differ from file values +pair_table.cpp: // warn if data was read incompletely, e.g. columns were missing +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp: tb->fplo = (tb->ffile[1] - tb->ffile[0]) / (tb->rfile[1] - tb->rfile[0]); +pair_table.cpp: tb->fphi = (tb->ffile[tb->ninput-1] - tb->ffile[tb->ninput-2]) / +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp: format of line: N value R/RSQ/BITMAP lo hi FPRIME fplo fphi +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp: // inner = inner table bound +pair_table.cpp: // cut = outer table bound +pair_table.cpp: // delta = table spacing in rsq for N-1 bins +pair_table.cpp: tb->delta = (tb->cut*tb->cut - tb->innersq) / tlm1; +pair_table.cpp: tb->invdelta = 1.0/tb->delta; +pair_table.cpp: // direct lookup tables +pair_table.cpp: // N-1 evenly spaced bins in rsq from inner to cut +pair_table.cpp: // e,f = value at midpt of bin +pair_table.cpp: // e,f are N-1 in length since store 1 value at bin midpt +pair_table.cpp: // f is converted to f/r when stored in f[i] +pair_table.cpp: // e,f are never a match to read-in values, always computed via spline interp +pair_table.cpp: tb->f[i] = splint(tb->rfile,tb->ffile,tb->f2file,tb->ninput,r)/r; +pair_table.cpp: // linear tables +pair_table.cpp: // N-1 evenly spaced bins in rsq from inner to cut +pair_table.cpp: // rsq,e,f = value at lower edge of bin +pair_table.cpp: // de,df values = delta from lower edge to upper edge of bin +pair_table.cpp: // rsq,e,f are N in length so de,df arrays can compute difference +pair_table.cpp: // f is converted to f/r when stored in f[i] +pair_table.cpp: // e,f can match read-in values, else compute via spline interp +pair_table.cpp: tb->f[i] = tb->ffile[i]/r; +pair_table.cpp: tb->f[i] = splint(tb->rfile,tb->ffile,tb->f2file,tb->ninput,r)/r; +pair_table.cpp: // cubic spline tables +pair_table.cpp: // N-1 evenly spaced bins in rsq from inner to cut +pair_table.cpp: // rsq,e,f = value at lower edge of bin +pair_table.cpp: // e2,f2 = spline coefficient for each bin +pair_table.cpp: // rsq,e,f,e2,f2 are N in length so have N-1 spline bins +pair_table.cpp: // f is converted to f/r after e is splined +pair_table.cpp: // e,f can match read-in values, else compute via spline interp +pair_table.cpp: tb->deltasq6 = tb->delta*tb->delta / 6.0; +pair_table.cpp: tb->f[i] = tb->ffile[i]/r; +pair_table.cpp: // ep0,epn = dh/dg at inner and at cut +pair_table.cpp: // h(r) = e(r) and g(r) = r^2 +pair_table.cpp: // dh/dg = (de/dr) / 2r = -f/2r +pair_table.cpp: double ep0 = - tb->f[0] / (2.0 * sqrt(tb->innersq)); +pair_table.cpp: double epn = - tb->f[tlm1] / (2.0 * tb->cut); +pair_table.cpp: // fp0,fpn = dh/dg at inner and at cut +pair_table.cpp: // h(r) = f(r)/r and g(r) = r^2 +pair_table.cpp: // dh/dg = (1/r df/dr - f/r^2) / 2r +pair_table.cpp: // dh/dg in secant approx = (f(r2)/r2 - f(r1)/r1) / (g(r2) - g(r1)) +pair_table.cpp: if (tb->fpflag) fp0 = (tb->fplo/sqrt(tb->innersq) - tb->f[0]/tb->innersq) / +pair_table.cpp: fp0 = (splint(tb->rfile,tb->ffile,tb->f2file,tb->ninput,sqrt(rsq2)) / +pair_table.cpp: sqrt(rsq2) - tb->f[0] / sqrt(rsq1)) / (secant_factor*tb->delta); +pair_table.cpp: (tb->fphi/tb->cut - tb->f[tlm1]/(tb->cut*tb->cut)) / (2.0 * tb->cut); +pair_table.cpp: fpn = (tb->f[tlm1] / sqrt(rsq2) - +pair_table.cpp: splint(tb->rfile,tb->ffile,tb->f2file,tb->ninput,sqrt(rsq1)) / +pair_table.cpp: sqrt(rsq1)) / (secant_factor*tb->delta); +pair_table.cpp: for (int i = 0; i < tablength; i++) tb->f[i] /= sqrt(tb->rsq[i]); +pair_table.cpp: // bitmapped linear tables +pair_table.cpp: // 2^N bins from inner to cut, spaced in bitmapped manner +pair_table.cpp: // f is converted to f/r when stored in f[i] +pair_table.cpp: // e,f can match read-in values, else compute via spline interp +pair_table.cpp: // linear lookup tables of length ntable = 2^n +pair_table.cpp: // stored value = value at lower edge of bin +pair_table.cpp: tb->f[i] = tb->ffile[i]/r; +pair_table.cpp: tb->f[i] = splint(tb->rfile,tb->ffile,tb->f2file,tb->ninput,r)/r; +pair_table.cpp: tb->drsq[i] = 1.0/(tb->rsq[i+1] - tb->rsq[i]); +pair_table.cpp: // get the delta values for the last table entries +pair_table.cpp: // tables are connected periodically between 0 and ntablem1 +pair_table.cpp: tb->drsq[ntablem1] = 1.0/(tb->rsq[0] - tb->rsq[ntablem1]); +pair_table.cpp: // get the correct delta values at itablemax +pair_table.cpp: // smallest r is in bin itablemin +pair_table.cpp: // largest r is in bin itablemax, which is itablemin-1, +pair_table.cpp: // or ntablem1 if itablemin=0 +pair_table.cpp: // deltas at itablemax only needed if corresponding rsq < cut*cut +pair_table.cpp: // if so, compute deltas between rsq and cut*cut +pair_table.cpp: // if tb->match, data at cut*cut is unavailable, so we'll take +pair_table.cpp: // deltas at itablemax-1 as a good approximation +pair_table.cpp: f_tmp = splint(tb->rfile,tb->ffile,tb->f2file,tb->ninput,r)/r; +pair_table.cpp: tb->drsq[itablemax] = 1.0/(rsq_lookup.f - tb->rsq[itablemax]); +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp: u[0] = (3.0/(x[1]-x[0])) * ((y[1]-y[0]) / (x[1]-x[0]) - yp1); +pair_table.cpp: sig = (x[i]-x[i-1]) / (x[i+1]-x[i-1]); +pair_table.cpp: y2[i] = (sig-1.0) / p; +pair_table.cpp: u[i] = (y[i+1]-y[i]) / (x[i+1]-x[i]) - (y[i]-y[i-1]) / (x[i]-x[i-1]); +pair_table.cpp: u[i] = (6.0*u[i] / (x[i+1]-x[i-1]) - sig*u[i-1]) / p; +pair_table.cpp: un = (3.0/(x[n-1]-x[n-2])) * (ypn - (y[n-1]-y[n-2]) / (x[n-1]-x[n-2])); +pair_table.cpp: y2[n-1] = (un-qn*u[n-2]) / (qn*y2[n-2] + 1.0); +pair_table.cpp:/* ---------------------------------------------------------------------- */ +pair_table.cpp: a = (xa[khi]-x) / h; +pair_table.cpp: b = (x-xa[klo]) / h; +pair_table.cpp: ((a*a*a-a)*y2a[klo] + (b*b*b-b)*y2a[khi]) * (h*h)/6.0; +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- */ +pair_table.cpp:/* ---------------------------------------------------------------------- +pair_table.cpp:------------------------------------------------------------------------- */ +pair_yukawa.cpp:/* ---------------------------------------------------------------------- +pair_yukawa.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_yukawa.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_yukawa.cpp:------------------------------------------------------------------------- */ +pair_yukawa.cpp:/* ---------------------------------------------------------------------- */ +pair_yukawa.cpp:/* ---------------------------------------------------------------------- */ +pair_yukawa.cpp:/* ---------------------------------------------------------------------- */ +pair_yukawa.cpp: // loop over neighbors of my atoms +pair_yukawa.cpp: r2inv = 1.0/rsq; +pair_yukawa.cpp: rinv = 1.0/r; +pair_yukawa.cpp:/* ---------------------------------------------------------------------- +pair_yukawa.cpp:------------------------------------------------------------------------- */ +pair_yukawa.cpp:/* ---------------------------------------------------------------------- +pair_yukawa.cpp:------------------------------------------------------------------------- */ +pair_yukawa.cpp: // reset cutoffs that have been explicitly set +pair_yukawa.cpp:/* ---------------------------------------------------------------------- +pair_yukawa.cpp:------------------------------------------------------------------------- */ +pair_yukawa.cpp:/* ---------------------------------------------------------------------- +pair_yukawa.cpp:------------------------------------------------------------------------- */ +pair_yukawa.cpp: offset[i][j] = a[i][j] * screening / cut[i][j]; +pair_yukawa.cpp:/* ---------------------------------------------------------------------- +pair_yukawa.cpp:------------------------------------------------------------------------- */ +pair_yukawa.cpp:/* ---------------------------------------------------------------------- +pair_yukawa.cpp:------------------------------------------------------------------------- */ +pair_yukawa.cpp:/* ---------------------------------------------------------------------- +pair_yukawa.cpp:------------------------------------------------------------------------- */ +pair_yukawa.cpp:/* ---------------------------------------------------------------------- +pair_yukawa.cpp:------------------------------------------------------------------------- */ +pair_yukawa.cpp:/* ---------------------------------------------------------------------- +pair_yukawa.cpp:------------------------------------------------------------------------- */ +pair_yukawa.cpp:/* ---------------------------------------------------------------------- +pair_yukawa.cpp:------------------------------------------------------------------------- */ +pair_yukawa.cpp:/* ---------------------------------------------------------------------- */ +pair_yukawa.cpp: r2inv = 1.0/rsq; +pair_yukawa.cpp: rinv = 1.0/r; +pair_zbl.cpp:/* ---------------------------------------------------------------------- +pair_zbl.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_zbl.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_zbl.cpp:------------------------------------------------------------------------- */ +pair_zbl.cpp:/* ---------------------------------------------------------------------- +pair_zbl.cpp:------------------------------------------------------------------------- */ +pair_zbl.cpp:// From J.F. Zeigler, J. P. Biersack and U. Littmark, +pair_zbl.cpp:// "The Stopping and Range of Ions in Matter" volume 1, Pergamon, 1985. +pair_zbl.cpp:/* ---------------------------------------------------------------------- */ +pair_zbl.cpp:/* ---------------------------------------------------------------------- */ +pair_zbl.cpp:/* ---------------------------------------------------------------------- */ +pair_zbl.cpp: // loop over neighbors of my atoms +pair_zbl.cpp: fpair *= -1.0/r; +pair_zbl.cpp:/* ---------------------------------------------------------------------- +pair_zbl.cpp:------------------------------------------------------------------------- */ +pair_zbl.cpp:/* ---------------------------------------------------------------------- +pair_zbl.cpp:------------------------------------------------------------------------- */ +pair_zbl.cpp:/* ---------------------------------------------------------------------- +pair_zbl.cpp:------------------------------------------------------------------------- */ +pair_zbl.cpp: // set flag for each i-j pair +pair_zbl.cpp: // set z-parameter only for i-i pairs +pair_zbl.cpp:/* ---------------------------------------------------------------------- +pair_zbl.cpp:------------------------------------------------------------------------- */ +pair_zbl.cpp:/* ---------------------------------------------------------------------- +pair_zbl.cpp:------------------------------------------------------------------------- */ +pair_zbl.cpp:/* ---------------------------------------------------------------------- */ +pair_zbl.cpp: fforce *= -1.0/r; +pair_zbl.cpp:/* ---------------------------------------------------------------------- +pair_zbl.cpp:------------------------------------------------------------------------- */ +pair_zbl.cpp: double rinv = 1.0/r; +pair_zbl.cpp:/* ---------------------------------------------------------------------- +pair_zbl.cpp:------------------------------------------------------------------------- */ +pair_zbl.cpp: double rinv = 1.0/r; +pair_zbl.cpp:/* ---------------------------------------------------------------------- +pair_zbl.cpp:------------------------------------------------------------------------- */ +pair_zbl.cpp: double rinv = 1.0/r; +pair_zbl.cpp:/* ---------------------------------------------------------------------- +pair_zbl.cpp:------------------------------------------------------------------------- */ +pair_zbl.cpp: double ainv = (pow(zi,pzbl) + pow(zj,pzbl))/(a0*force->angstrom); +pair_zbl.cpp: // e = t^3 (sw3 + sw4*t) + sw5 +pair_zbl.cpp: // = A/3*t^3 + B/4*t^4 + C +pair_zbl.cpp: // sw3 = A/3 +pair_zbl.cpp: // sw4 = B/4 +pair_zbl.cpp: // sw5 = C +pair_zbl.cpp: // dedr = t^2 (sw1 + sw2*t) +pair_zbl.cpp: // = A*t^2 + B*t^3 +pair_zbl.cpp: // sw1 = A +pair_zbl.cpp: // sw2 = B +pair_zbl.cpp: // de2dr2 = 2*A*t + 3*B*t^2 +pair_zbl.cpp: // Require that at t = tc: +pair_zbl.cpp: // e = -Fc +pair_zbl.cpp: // dedr = -Fc' +pair_zbl.cpp: // d2edr2 = -Fc'' +pair_zbl.cpp: // Hence: +pair_zbl.cpp: // A = (-3Fc' + tc*Fc'')/tc^2 +pair_zbl.cpp: // B = ( 2Fc' - tc*Fc'')/tc^3 +pair_zbl.cpp: // C = -Fc + tc/2*Fc' - tc^2/12*Fc'' +pair_zbl.cpp: double swa = (-3.0*fcp + tc*fcpp)/(tc*tc); +pair_zbl.cpp: double swb = ( 2.0*fcp - tc*fcpp)/(tc*tc*tc); +pair_zbl.cpp: double swc = -fc + (tc/2.0)*fcp - (tc*tc/12.0)*fcpp; +pair_zbl.cpp: sw3[i][j] = swa/3.0; +pair_zbl.cpp: sw4[i][j] = swb/4.0; +pair_zero.cpp:/* ---------------------------------------------------------------------- +pair_zero.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +pair_zero.cpp: http://lammps.sandia.gov, Sandia National Laboratories +pair_zero.cpp:------------------------------------------------------------------------- */ +pair_zero.cpp:/* ---------------------------------------------------------------------- +pair_zero.cpp:------------------------------------------------------------------------- */ +pair_zero.cpp:/* ---------------------------------------------------------------------- */ +pair_zero.cpp:/* ---------------------------------------------------------------------- */ +pair_zero.cpp:/* ---------------------------------------------------------------------- */ +pair_zero.cpp:/* ---------------------------------------------------------------------- +pair_zero.cpp:------------------------------------------------------------------------- */ +pair_zero.cpp:/* ---------------------------------------------------------------------- +pair_zero.cpp:------------------------------------------------------------------------- */ +pair_zero.cpp: // reset cutoffs that have been explicitly set +pair_zero.cpp:/* ---------------------------------------------------------------------- +pair_zero.cpp:------------------------------------------------------------------------- */ +pair_zero.cpp:/* ---------------------------------------------------------------------- +pair_zero.cpp:------------------------------------------------------------------------- */ +pair_zero.cpp:/* ---------------------------------------------------------------------- +pair_zero.cpp:------------------------------------------------------------------------- */ +pair_zero.cpp:/* ---------------------------------------------------------------------- +pair_zero.cpp:------------------------------------------------------------------------- */ +pair_zero.cpp:/* ---------------------------------------------------------------------- +pair_zero.cpp:------------------------------------------------------------------------- */ +pair_zero.cpp:/* ---------------------------------------------------------------------- +pair_zero.cpp:------------------------------------------------------------------------- */ +pair_zero.cpp:/* ---------------------------------------------------------------------- +pair_zero.cpp:------------------------------------------------------------------------- */ +pair_zero.cpp:/* ---------------------------------------------------------------------- +pair_zero.cpp:------------------------------------------------------------------------- */ +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +procmap.cpp: http://lammps.sandia.gov, Sandia National Laboratories +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp:enum{MULTIPLE}; // same as in Comm +procmap.cpp:/* ---------------------------------------------------------------------- */ +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp: // factors = list of all possible 3 factors of processor count +procmap.cpp: // constrain by 2d, user request, other partition +procmap.cpp: // user/other constraints make failure possible +procmap.cpp: // select best set of 3 factors based on surface area of proc sub-domains +procmap.cpp: // clean-up +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp: // nfactors = list of all possible 3 factors of node count +procmap.cpp: // constrain by 2d +procmap.cpp: int nnpossible = factor(nprocs/ncores,NULL); +procmap.cpp: nnpossible = factor(nprocs/ncores,nfactors); +procmap.cpp: // cfactors = list of all possible 3 factors of core count +procmap.cpp: // constrain by 2d +procmap.cpp: // factors = all combinations of nfactors and cfactors +procmap.cpp: // factors stores additional index pointing to corresponding cfactors +procmap.cpp: // constrain by user request, other partition +procmap.cpp: // user/other constraints make failure possible +procmap.cpp: // select best set of 3 factors based on surface area of proc sub-domains +procmap.cpp: // index points to corresponding core factorization +procmap.cpp: // clean-up +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp: // hardwire this for now +procmap.cpp: // get names of all nodes +procmap.cpp: // get number of procs per node +procmap.cpp: // NOTE: could do this without STL map +procmap.cpp: procs_per_numa = procs_per_node / numa_nodes; +procmap.cpp: // error if any of these conditions met +procmap.cpp: if (nprocs % procs_per_numa || // total procs not a multiple of node +procmap.cpp: user_procgrid[0] > 1 || // user specified grid > 1 in any dim +procmap.cpp: // user settings for the factorization per numa node +procmap.cpp: // currently not user settable +procmap.cpp: // if user specifies 1 for a proc grid dimension, +procmap.cpp: // also use 1 for the numa grid dimension +procmap.cpp: // initial factorization within NUMA node +procmap.cpp: // user_nodegrid = implied user constraints on nodes +procmap.cpp: user_nodegrid[0] = user_procgrid[0] / numagrid[0]; +procmap.cpp: user_nodegrid[1] = user_procgrid[1] / numagrid[1]; +procmap.cpp: user_nodegrid[2] = user_procgrid[2] / numagrid[2]; +procmap.cpp: // factorization for the grid of NUMA nodes +procmap.cpp: int node_count = nprocs / procs_per_numa; +procmap.cpp: // repeat NUMA node factorization using subdomain sizes +procmap.cpp: // refines the factorization if the user specified the node layout +procmap.cpp: // NOTE: this will not re-enforce user-procgrid constraint will it? +procmap.cpp: // assign a unique id to each node +procmap.cpp: // return the proc-level factorization +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp: // skip header = blank and comment lines +procmap.cpp: // cmap = map of procs to grid +procmap.cpp: // store for use in custom_map() +procmap.cpp: // error check on cmap values +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp: // setup NUMA params that numa_grid() sets up +procmap.cpp: node_id = me/ncores; +procmap.cpp: nodegrid[0] = procgrid[0] / coregrid[0]; +procmap.cpp: nodegrid[1] = procgrid[1] / coregrid[1]; +procmap.cpp: nodegrid[2] = procgrid[2] / coregrid[2]; +procmap.cpp: // now can use numa_map() to perform mapping +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp: // proc IDs of neighbors +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp: nodegrid[0] = procgrid[0] / coregrid[0]; +procmap.cpp: nodegrid[1] = procgrid[1] / coregrid[1]; +procmap.cpp: nodegrid[2] = procgrid[2] / coregrid[2]; +procmap.cpp: inode = i/coregrid[0]; +procmap.cpp: jnode = j/coregrid[1]; +procmap.cpp: knode = k/coregrid[2]; +procmap.cpp: // proc IDs of neighbors +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp: // setup a per node communicator and find rank within +procmap.cpp: // setup a per numa communicator and find rank within +procmap.cpp: int local_numa = node_rank / procs_per_numa; +procmap.cpp: // setup a communicator with the rank 0 procs from each numa node +procmap.cpp: // use the MPI Cartesian routines to map the nodes to the grid +procmap.cpp: // broadcast numa node location in grid to other procs in numa node +procmap.cpp: // compute my location within the node grid +procmap.cpp: int z_offset = numa_rank / (numagrid[0] * numagrid[1]); +procmap.cpp: int y_offset = (numa_rank % (numagrid[0] * numagrid[1]))/numagrid[0]; +procmap.cpp: // allgather of myloc into gridi to fill grid2proc +procmap.cpp: // proc IDs of neighbors +procmap.cpp: // clean-up +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp: // proc IDs of neighbors +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp: // find me in the grid +procmap.cpp: // polled comm of grid mapping info from each proc to proc 0 +procmap.cpp: // close output file +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp: nyz = n/i; +procmap.cpp: factors[m][2] = nyz/j; +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp: where Nx,Ny,Nz = node grid = procgrid/coregrid +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp: if ((other_procgrid[0]/other_coregrid[0]) % factors[i][0]) flag = 1; +procmap.cpp: if ((other_procgrid[1]/other_coregrid[1]) % factors[i][1]) flag = 1; +procmap.cpp: if ((other_procgrid[2]/other_coregrid[2]) % factors[i][2]) flag = 1; +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +procmap.cpp: // determine cross-sectional areas for orthogonal and triclinic boxes +procmap.cpp: // for triclinic, area = cross product of 2 edge vectors stored in h matrix +procmap.cpp: // area[3] = surface area 3 box faces divided by sx,sy,sz +procmap.cpp: // area[0] = xy, area[1] = xz, area[2] = yz +procmap.cpp: area[0] = domain->xprd * domain->yprd / (sx*sy); +procmap.cpp: area[1] = domain->xprd * domain->zprd / (sx*sz); +procmap.cpp: area[2] = domain->yprd * domain->zprd / (sy*sz); +procmap.cpp: area[0] = sqrt(c[0]*c[0] + c[1]*c[1] + c[2]*c[2]) / (sx*sy); +procmap.cpp: area[1] = sqrt(c[0]*c[0] + c[1]*c[1] + c[2]*c[2]) / (sx*sz); +procmap.cpp: area[2] = sqrt(c[0]*c[0] + c[1]*c[1] + c[2]*c[2]) / (sy*sz); +procmap.cpp: surf = area[0]/factors[m][0]/factors[m][1] + +procmap.cpp: area[1]/factors[m][0]/factors[m][2] + +procmap.cpp: area[2]/factors[m][1]/factors[m][2]; +procmap.cpp:/* ---------------------------------------------------------------------- +procmap.cpp:------------------------------------------------------------------------- */ +python.cpp:/* ---------------------------------------------------------------------- +python.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +python.cpp: http://lammps.sandia.gov, Sandia National Laboratories +python.cpp:------------------------------------------------------------------------- */ +python.cpp:/* ---------------------------------------------------------------------- */ +python.cpp: // implementation of Python interface is only loaded on demand +python.cpp: // and only if PYTHON package has been installed and compiled into binary +python.cpp:/* ---------------------------------------------------------------------- */ +python.cpp:/* ---------------------------------------------------------------------- */ +python.cpp:/* ---------------------------------------------------------------------- */ +python.cpp:/* ---------------------------------------------------------------------- */ +python.cpp:/* ---------------------------------------------------------------------- */ +python.cpp:/* ------------------------------------------------------------------ */ +python.cpp:/* ------------------------------------------------------------------ */ +python.cpp:/* ------------------------------------------------------------------ */ +python.cpp:/* ------------------------------------------------------------------ */ +random_mars.cpp:/* ---------------------------------------------------------------------- +random_mars.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +random_mars.cpp: http://lammps.sandia.gov, Sandia National Laboratories +random_mars.cpp:------------------------------------------------------------------------- */ +random_mars.cpp:// Marsaglia random number generator +random_mars.cpp:// see RANMAR in F James, Comp Phys Comm, 60, 329 (1990) +random_mars.cpp:/* ---------------------------------------------------------------------- */ +random_mars.cpp: ij = (seed-1)/30082; +random_mars.cpp: i = (ij/177) % 177 + 2; +random_mars.cpp: k = (kl/169) % 178 + 1; +random_mars.cpp: c = 362436.0 / 16777216.0; +random_mars.cpp: cd = 7654321.0 / 16777216.0; +random_mars.cpp: cm = 16777213.0 / 16777216.0; +random_mars.cpp:/* ---------------------------------------------------------------------- */ +random_mars.cpp:/* ---------------------------------------------------------------------- +random_mars.cpp:------------------------------------------------------------------------- */ +random_mars.cpp:/* ---------------------------------------------------------------------- +random_mars.cpp:------------------------------------------------------------------------- */ +random_mars.cpp: fac = sqrt(-2.0*log(rsq)/rsq); +random_park.cpp:/* ---------------------------------------------------------------------- +random_park.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +random_park.cpp: http://lammps.sandia.gov, Sandia National Laboratories +random_park.cpp:------------------------------------------------------------------------- */ +random_park.cpp:// Park/Miller RNG +random_park.cpp:#define AM (1.0/IM) +random_park.cpp:/* ---------------------------------------------------------------------- */ +random_park.cpp:/* ---------------------------------------------------------------------- +random_park.cpp:------------------------------------------------------------------------- */ +random_park.cpp: int k = seed/IQ; +random_park.cpp:/* ---------------------------------------------------------------------- +random_park.cpp:------------------------------------------------------------------------- */ +random_park.cpp: fac = sqrt(-2.0*log(rsq)/rsq); +random_park.cpp:/* ---------------------------------------------------------------------- */ +random_park.cpp:/* ---------------------------------------------------------------------- +random_park.cpp:------------------------------------------------------------------------- */ +random_park.cpp: // keep 31 bits of unsigned int as new seed +random_park.cpp: // do not allow seed = 0, since will cause hang in gaussian() +random_park.cpp: // warm up the RNG +random_park.cpp:/* ---------------------------------------------------------------------- */ +rcb.cpp:/* ---------------------------------------------------------------------- +rcb.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +rcb.cpp: http://lammps.sandia.gov, Sandia National Laboratories +rcb.cpp:------------------------------------------------------------------------- */ +rcb.cpp:// prototypes for non-class functions +rcb.cpp:// NOTE: if want to have reuse flag, need to sum Tree across procs +rcb.cpp:/* ---------------------------------------------------------------------- */ +rcb.cpp: // create MPI data and function types for box and median AllReduce ops +rcb.cpp:/* ---------------------------------------------------------------------- */ +rcb.cpp:/* ---------------------------------------------------------------------- +rcb.cpp: perform RCB balancing of N particles at coords X in bounding box LO/HI +rcb.cpp: defined by final lo/hi +rcb.cpp: // NOTE: worry about re-use of data structs for fix balance? +rcb.cpp:------------------------------------------------------------------------- */ +rcb.cpp: // create list of my Dots +rcb.cpp: // initial bounding box = simulation box +rcb.cpp: // includes periodic or shrink-wrapped boundaries +rcb.cpp: // initialize counters +rcb.cpp: // create communicator for use in recursion +rcb.cpp: // recurse until partition is a single proc = me +rcb.cpp: // proclower,procupper = lower,upper procs in partition +rcb.cpp: // procmid = 1st proc in upper half of partition +rcb.cpp: // if odd # of procs, lower partition gets extra one +rcb.cpp: procmid = proclower + (procupper - proclower) / 2 + 1; +rcb.cpp: // determine communication partner(s) +rcb.cpp: // readnumber = # of proc partners to read from +rcb.cpp: // wttot = summed weight of entire partition +rcb.cpp: // search tolerance = largest single weight (plus epsilon) +rcb.cpp: // targetlo = desired weight in lower half of partition +rcb.cpp: // targethi = desired weight in upper half of partition +rcb.cpp: targetlo = wttot * (procmid - proclower) / (procupper + 1 - proclower); +rcb.cpp: // attempt a cut in each dimension +rcb.cpp: // each cut produces 2 boxes, each with a reduced box length in that dim +rcb.cpp: // smaller = the smaller of the 2 reduced box lengths in that dimension +rcb.cpp: // choose to cut in dimension which produces largest smaller value +rcb.cpp: // this should induce final proc sub-boxes to be as cube-ish as possible +rcb.cpp: // dim_select = selected cut dimension +rcb.cpp: // valuehalf_select = valuehalf in that dimension +rcb.cpp: // dotmark_select = dot markings in that dimension +rcb.cpp: // create active list and mark array for dots +rcb.cpp: // initialize active list to all dots +rcb.cpp: // median iteration +rcb.cpp: // zoom in on bisector until correct # of dots in each half of partition +rcb.cpp: // as each iteration of median-loop begins, require: +rcb.cpp: // all non-active dots are marked with 0/1 in dotmark +rcb.cpp: // valuemin <= every active dot <= valuemax +rcb.cpp: // wtlo, wthi = total wt of non-active dots +rcb.cpp: // when leave median-loop, require only: +rcb.cpp: // valuehalf = correct cut position +rcb.cpp: // all dots <= valuehalf are marked with 0 in dotmark +rcb.cpp: // all dots >= valuehalf are marked with 1 in dotmark +rcb.cpp: // markactive = which side of cut is active = 0/1 +rcb.cpp: // indexlo,indexhi = indices of dot closest to median +rcb.cpp: // choose bisector value +rcb.cpp: // use old value on 1st iteration if old cut dimension is the same +rcb.cpp: // on 2nd option: could push valuehalf towards geometric center +rcb.cpp: // with "1.0-factor" to force overshoot +rcb.cpp: valuehalf = valuemin + (targetlo - wtlo) / +rcb.cpp: // initialize local median data structure +rcb.cpp: // mark all active dots on one side or other of bisector +rcb.cpp: // also set all fields in median data struct +rcb.cpp: // save indices of closest dots on either side +rcb.cpp: if (dots[i].x[dim] <= valuehalf) { // in lower part +rcb.cpp: if (dots[i].x[dim] > medme.valuelo) { // my closest dot +rcb.cpp: } else if (dots[i].x[dim] == medme.valuelo) { // tied for closest +rcb.cpp: else { // in upper part +rcb.cpp: if (dots[i].x[dim] < medme.valuehi) { // my closest dot +rcb.cpp: } else if (dots[i].x[dim] == medme.valuehi) { // tied for closest +rcb.cpp: // combine median data struct across current subset of procs +rcb.cpp: // test median guess for convergence +rcb.cpp: // move additional dots that are next to cut across it +rcb.cpp: if (wtlo + med.totallo < targetlo) { // lower half TOO SMALL +rcb.cpp: if (med.counthi == 1) { // only one dot to move +rcb.cpp: if (wtlo + med.wthi < targetlo) { // move it, keep iterating +rcb.cpp: else { // only move if beneficial +rcb.cpp: break; // all done +rcb.cpp: else { // multiple dots to move +rcb.cpp: if (wtlo + med.wthi >= targetlo) { // all done +rcb.cpp: } // wtok = most I can move +rcb.cpp: if (dots[i].x[dim] == med.valuehi) { // only move if better +rcb.cpp: if (breakflag) break; // done if moved enough +rcb.cpp: if (targetlo-wtlo <= tolerance) break; // close enough +rcb.cpp: valuemin = med.valuehi; // iterate again +rcb.cpp: else if (wthi + med.totalhi < targethi) { // upper half TOO SMALL +rcb.cpp: if (med.countlo == 1) { // only one dot to move +rcb.cpp: if (wthi + med.wtlo < targethi) { // move it, keep iterating +rcb.cpp: else { // only move if beneficial +rcb.cpp: break; // all done +rcb.cpp: else { // multiple dots to move +rcb.cpp: if (wthi + med.wtlo >= targethi) { // all done +rcb.cpp: } // wtok = most I can move +rcb.cpp: if (dots[i].x[dim] == med.valuelo) { // only move if better +rcb.cpp: if (breakflag) break; // done if moved enough +rcb.cpp: if (targethi-wthi <= tolerance) break; // close enough +rcb.cpp: valuemax = med.valuelo; // iterate again +rcb.cpp: else // Goldilocks result: both partitions just right +rcb.cpp: // shrink the active list +rcb.cpp: // cut produces 2 sub-boxes with reduced size in dim +rcb.cpp: // compare smaller of the 2 sizes to previous dims +rcb.cpp: // keep dim that has the largest smaller +rcb.cpp: // copy results for best dim cut into dim,valuehalf,dotmark +rcb.cpp: // found median +rcb.cpp: // store cut info only if I am procmid +rcb.cpp: // use cut to shrink my RCB bounding box +rcb.cpp: // outgoing = number of dots to ship to partner +rcb.cpp: // nkeep = number of dots that have never migrated +rcb.cpp: // alert partner how many dots I'll send, read how many I'll recv +rcb.cpp: // check if need to alloc more space +rcb.cpp: // malloc comm send buffer +rcb.cpp: // fill buffer with dots that are marked for sending +rcb.cpp: // pack down the unmarked ones +rcb.cpp: // post receives for dots +rcb.cpp: // handshake before sending dots to insure recvs have been posted +rcb.cpp: // send dots to partner +rcb.cpp: // wait until all dots are received +rcb.cpp: // cut partition in half, create new communicators of 1/2 size +rcb.cpp: // clean up +rcb.cpp: // set public variables with results of rebalance +rcb.cpp:/* ---------------------------------------------------------------------- +rcb.cpp: perform RCB balancing of N particles at coords X in bounding box LO/HI +rcb.cpp: defined by final lo/hi +rcb.cpp: // NOTE: worry about re-use of data structs for fix balance? +rcb.cpp:------------------------------------------------------------------------- */ +rcb.cpp: // create list of my Dots +rcb.cpp: // initial bounding box = simulation box +rcb.cpp: // includes periodic or shrink-wrapped boundaries +rcb.cpp: // initialize counters +rcb.cpp: // create communicator for use in recursion +rcb.cpp: // recurse until partition is a single proc = me +rcb.cpp: // proclower,procupper = lower,upper procs in partition +rcb.cpp: // procmid = 1st proc in upper half of partition +rcb.cpp: // if odd # of procs, lower partition gets extra one +rcb.cpp: procmid = proclower + (procupper - proclower) / 2 + 1; +rcb.cpp: // determine communication partner(s) +rcb.cpp: // readnumber = # of proc partners to read from +rcb.cpp: // wttot = summed weight of entire partition +rcb.cpp: // search tolerance = largest single weight (plus epsilon) +rcb.cpp: // targetlo = desired weight in lower half of partition +rcb.cpp: // targethi = desired weight in upper half of partition +rcb.cpp: targetlo = wttot * (procmid - proclower) / (procupper + 1 - proclower); +rcb.cpp: // dim = dimension to bisect on +rcb.cpp: // do not allow choice of z dimension for 2d system +rcb.cpp: // create active list and mark array for dots +rcb.cpp: // initialize active list to all dots +rcb.cpp: // median iteration +rcb.cpp: // zoom in on bisector until correct # of dots in each half of partition +rcb.cpp: // as each iteration of median-loop begins, require: +rcb.cpp: // all non-active dots are marked with 0/1 in dotmark +rcb.cpp: // valuemin <= every active dot <= valuemax +rcb.cpp: // wtlo, wthi = total wt of non-active dots +rcb.cpp: // when leave median-loop, require only: +rcb.cpp: // valuehalf = correct cut position +rcb.cpp: // all dots <= valuehalf are marked with 0 in dotmark +rcb.cpp: // all dots >= valuehalf are marked with 1 in dotmark +rcb.cpp: // markactive = which side of cut is active = 0/1 +rcb.cpp: // indexlo,indexhi = indices of dot closest to median +rcb.cpp: // choose bisector value +rcb.cpp: // use old value on 1st iteration if old cut dimension is the same +rcb.cpp: // on 2nd option: could push valuehalf towards geometric center +rcb.cpp: // with "1.0-factor" to force overshoot +rcb.cpp: valuehalf = valuemin + (targetlo - wtlo) / +rcb.cpp: // initialize local median data structure +rcb.cpp: // mark all active dots on one side or other of bisector +rcb.cpp: // also set all fields in median data struct +rcb.cpp: // save indices of closest dots on either side +rcb.cpp: if (dots[i].x[dim] <= valuehalf) { // in lower part +rcb.cpp: if (dots[i].x[dim] > medme.valuelo) { // my closest dot +rcb.cpp: } else if (dots[i].x[dim] == medme.valuelo) { // tied for closest +rcb.cpp: else { // in upper part +rcb.cpp: if (dots[i].x[dim] < medme.valuehi) { // my closest dot +rcb.cpp: } else if (dots[i].x[dim] == medme.valuehi) { // tied for closest +rcb.cpp: // combine median data struct across current subset of procs +rcb.cpp: // test median guess for convergence +rcb.cpp: // move additional dots that are next to cut across it +rcb.cpp: if (wtlo + med.totallo < targetlo) { // lower half TOO SMALL +rcb.cpp: if (med.counthi == 1) { // only one dot to move +rcb.cpp: if (wtlo + med.wthi < targetlo) { // move it, keep iterating +rcb.cpp: else { // only move if beneficial +rcb.cpp: break; // all done +rcb.cpp: else { // multiple dots to move +rcb.cpp: if (wtlo + med.wthi >= targetlo) { // all done +rcb.cpp: } // wtok = most I can move +rcb.cpp: if (dots[i].x[dim] == med.valuehi) { // only move if better +rcb.cpp: if (breakflag) break; // done if moved enough +rcb.cpp: if (targetlo-wtlo <= tolerance) break; // close enough +rcb.cpp: valuemin = med.valuehi; // iterate again +rcb.cpp: else if (wthi + med.totalhi < targethi) { // upper half TOO SMALL +rcb.cpp: if (med.countlo == 1) { // only one dot to move +rcb.cpp: if (wthi + med.wtlo < targethi) { // move it, keep iterating +rcb.cpp: else { // only move if beneficial +rcb.cpp: break; // all done +rcb.cpp: else { // multiple dots to move +rcb.cpp: if (wthi + med.wtlo >= targethi) { // all done +rcb.cpp: } // wtok = most I can move +rcb.cpp: if (dots[i].x[dim] == med.valuelo) { // only move if better +rcb.cpp: if (breakflag) break; // done if moved enough +rcb.cpp: if (targethi-wthi <= tolerance) break; // close enough +rcb.cpp: valuemax = med.valuelo; // iterate again +rcb.cpp: else // Goldilocks result: both partitions just right +rcb.cpp: // shrink the active list +rcb.cpp: // found median +rcb.cpp: // store cut info only if I am procmid +rcb.cpp: // use cut to shrink my RCB bounding box +rcb.cpp: // outgoing = number of dots to ship to partner +rcb.cpp: // nkeep = number of dots that have never migrated +rcb.cpp: // alert partner how many dots I'll send, read how many I'll recv +rcb.cpp: // check if need to alloc more space +rcb.cpp: // malloc comm send buffer +rcb.cpp: // fill buffer with dots that are marked for sending +rcb.cpp: // pack down the unmarked ones +rcb.cpp: // post receives for dots +rcb.cpp: // handshake before sending dots to insure recvs have been posted +rcb.cpp: // send dots to partner +rcb.cpp: // wait until all dots are received +rcb.cpp: // cut partition in half, create new communicators of 1/2 size +rcb.cpp: // clean up +rcb.cpp: // set public variables with results of rebalance +rcb.cpp:/* ---------------------------------------------------------------------- +rcb.cpp:------------------------------------------------------------------------- */ +rcb.cpp:/* ---------------------------------------------------------------------- +rcb.cpp:------------------------------------------------------------------------- */ +rcb.cpp:/* ---------------------------------------------------------------------- +rcb.cpp:------------------------------------------------------------------------- */ +rcb.cpp: // only create Irregular if not previously created +rcb.cpp: // allows Irregular to persist for multiple RCB calls by fix balance +rcb.cpp: // nsend = # of dots to request from other procs +rcb.cpp: // perform inversion via irregular comm +rcb.cpp: // nrecv = # of my dots to send to other procs +rcb.cpp: // set public variables from requests to send my dots +rcb.cpp: // clean-up +rcb.cpp:/* ---------------------------------------------------------------------- +rcb.cpp:------------------------------------------------------------------------- */ +rcb.cpp:// ----------------------------------------------------------------------- +rcb.cpp:// DEBUG methods +rcb.cpp:// ----------------------------------------------------------------------- +rcb.cpp:/* +rcb.cpp:// consistency checks on RCB results +rcb.cpp: // check that total # of dots remained the same +rcb.cpp: // check that result is load-balanced within log2(P)*max-wt +rcb.cpp: // i = smallest power-of-2 >= nprocs +rcb.cpp: // tolerance = largest-single-weight*log2(nprocs) +rcb.cpp: // check that final set of points is inside RCB box of each proc +rcb.cpp:// stats for RCB decomposition +rcb.cpp: // distribution info +rcb.cpp: wttot/nprocs,wtmax,wtmin); +rcb.cpp: // counter info +rcb.cpp: ave = ((double) sum)/nprocs; +rcb.cpp: ave = ((double) sum)/nprocs; +rcb.cpp: ave = ((double) sum)/nprocs; +rcb.cpp: ave = ((double) sum)/nprocs; +rcb.cpp: ave = ((double) sum)/nprocs; +rcb.cpp: ave = ((double) sum)/nprocs; +rcb.cpp: ave = ((double) sum)/nprocs; +rcb.cpp: // RCB boxes for each proc +rcb.cpp:*/ +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +read_data.cpp: http://lammps.sandia.gov, Sandia National Laboratories +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp:// lmptype.h must be first b/c this file uses MAXBIGINT and includes mpi.h +read_data.cpp:// due to OpenMPI bug which sets INT64_MAX via its mpi.h +read_data.cpp:// before lmptype.h can set flags to insure it is done correctly +read_data.cpp:#define DELTA 4 // must be 2 or larger +read_data.cpp:#define MAXBODY 32 // max # of lines in one body +read_data.cpp: // customize for new sections +read_data.cpp:#define NSECTIONS 25 // change when add to header::section_keywords +read_data.cpp:// pair style suffixes to ignore +read_data.cpp:// when matching Pair Coeffs comment to currently-defined pair style +read_data.cpp:const char *suffixes[] = {"/cuda","/gpu","/opt","/omp","/kk", +read_data.cpp: "/coul/cut","/coul/long","/coul/msm", +read_data.cpp: "/coul/dsf","/coul/debye","/coul/charmm", +read_data.cpp:/* ---------------------------------------------------------------------- */ +read_data.cpp: // customize for new sections +read_data.cpp: // pointers to atom styles that store extra info +read_data.cpp:/* ---------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- */ +read_data.cpp: // optional args +read_data.cpp: } else if (strcmp(arg[iarg],"extra/atom/types") == 0) { +read_data.cpp: } else if (strcmp(arg[iarg],"extra/bond/types") == 0) { +read_data.cpp: } else if (strcmp(arg[iarg],"extra/angle/types") == 0) { +read_data.cpp: } else if (strcmp(arg[iarg],"extra/dihedral/types") == 0) { +read_data.cpp: } else if (strcmp(arg[iarg],"extra/improper/types") == 0) { +read_data.cpp: // error checks +read_data.cpp: // first time system initialization +read_data.cpp: // compute atomID offset for addflag = MERGE +read_data.cpp: // set up pointer to hold original styles while we replace them with "zero" +read_data.cpp: // ----------------------------------------------------------------- +read_data.cpp: // perform 1-pass read if no molecular topology in file +read_data.cpp: // perform 2-pass read if molecular topology, +read_data.cpp: // first pass calculates max topology/atom +read_data.cpp: // flags for this data file +read_data.cpp: // values in this data file +read_data.cpp: // open file on proc 0 +read_data.cpp: // read header info +read_data.cpp: // problem setup using info from header +read_data.cpp: // only done once, if firstpass and first data file +read_data.cpp: // apply extra settings before grow(), even if no topology in file +read_data.cpp: // deallocate() insures new settings are used for topology arrays +read_data.cpp: // if per-atom topology is in file, another grow() is done below +read_data.cpp: else n = static_cast (LB_FACTOR * atom->natoms / comm->nprocs); +read_data.cpp: // change simulation box to be union of existing box and new box + shift +read_data.cpp: // only done if firstpass and not first data file +read_data.cpp: // NOTE: not sure what to do about tilt value in subsequent data files +read_data.cpp: //if (triclinic) { +read_data.cpp: // domain->xy = xy; domain->xz = xz; domain->yz = yz; +read_data.cpp: // } +read_data.cpp: // customize for new sections +read_data.cpp: // read rest of file in free format +read_data.cpp: // if special fix matches, it processes section +read_data.cpp: } else skip_lines(ntypes*(ntypes+1)/2); +read_data.cpp: // error if natoms > 0 yet no atoms were read +read_data.cpp: // close file +read_data.cpp: // done if this was 2nd pass +read_data.cpp: // at end of 1st pass, error check for required sections +read_data.cpp: // customize for new sections +read_data.cpp: // break out of loop if no molecular topology in file +read_data.cpp: // else make 2nd pass +read_data.cpp: // reallocate bond,angle,diehdral,improper arrays via grow() +read_data.cpp: // will use new bond,angle,dihedral,improper per-atom values from 1st pass +read_data.cpp: // will also observe extra settings even if bond/etc topology not in file +read_data.cpp: // leaves other atom arrays unchanged, since already nmax in length +read_data.cpp: // init per-atom fix/compute/variable values for created atoms +read_data.cpp: // assign atoms added by this data file to specified group +read_data.cpp: // create special bond lists for molecular systems +read_data.cpp: // for atom style template systems, count total bonds,angles,etc +read_data.cpp: atom->nbonds /= 2; +read_data.cpp: atom->nangles /= 3; +read_data.cpp: atom->ndihedrals /= 4; +read_data.cpp: atom->nimpropers /= 4; +read_data.cpp: // for atom style template systems +read_data.cpp: // insure nbondtypes,etc are still consistent with template molecules, +read_data.cpp: // in case data file re-defined them +read_data.cpp: // if adding atoms, migrate atoms to new processors +read_data.cpp: // use irregular() b/c box size could have changed dramaticaly +read_data.cpp: // resulting in procs now owning very different subboxes +read_data.cpp: // with their previously owned atoms now far outside the subbox +read_data.cpp: // shrink-wrap the box if necessary and move atoms to new procs +read_data.cpp: // if atoms are lost is b/c data file box was far from shrink-wrapped +read_data.cpp: // do not use irregular() comm, which would not lose atoms, +read_data.cpp: // b/c then user could specify data file box as far too big and empty +read_data.cpp: // do comm->init() but not comm->setup() b/c pair/neigh cutoffs not yet set +read_data.cpp: // need call to map_set() b/c comm->exchange clears atom map +read_data.cpp: // restore old styles, when reading with nocoeff flag given +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp: // customize for new sections +read_data.cpp: // skip 1st line of file +read_data.cpp: // read a line and bcast length +read_data.cpp: // if n = 0 then end-of-file so return with blank line +read_data.cpp: // trim anything from '#' onward +read_data.cpp: // if line is blank, continue +read_data.cpp: // allow special fixes first chance to match and process the line +read_data.cpp: // if fix matches, continue to next header line +read_data.cpp: // search line for header keyword and set corresponding variable +read_data.cpp: // customize for new header lines +read_data.cpp: // check for triangles before angles so "triangles" not matched as "angles" +read_data.cpp: // Atom class type settings are only set by first data file +read_data.cpp: // these settings only used by first data file +read_data.cpp: // local copy of box info +read_data.cpp: // so can treat differently for first vs subsequent data files +read_data.cpp: // error check on total system size +read_data.cpp: // check that exiting string is a valid section keyword +read_data.cpp: // error checks on header values +read_data.cpp: // must be consistent with atom style and other header values +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp: // check that all atoms were assigned correctly +read_data.cpp: // check that atom IDs are valid +read_data.cpp: // create global mapping of atoms +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp: // allocate count if firstpass +read_data.cpp: // read and process bonds +read_data.cpp: // if firstpass: tally max bond/atom and return +read_data.cpp: // if addflag = NONE, store max bond/atom with extra +read_data.cpp: // else just check actual max does not exceed existing max +read_data.cpp: if (screen) fprintf(screen," %d = max bonds/atom\n",maxall); +read_data.cpp: if (logfile) fprintf(logfile," %d = max bonds/atom\n",maxall); +read_data.cpp: // if 2nd pass: check that bonds were assigned correctly +read_data.cpp: if (screen) fprintf(screen," " BIGINT_FORMAT " bonds\n",sum/factor); +read_data.cpp: if (logfile) fprintf(logfile," " BIGINT_FORMAT " bonds\n",sum/factor); +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp: // allocate count if firstpass +read_data.cpp: // read and process angles +read_data.cpp: // if firstpass: tally max angle/atom and return +read_data.cpp: // if addflag = NONE, store max angle/atom with extra +read_data.cpp: // else just check actual max does not exceed existing max +read_data.cpp: if (screen) fprintf(screen," %d = max angles/atom\n",maxall); +read_data.cpp: if (logfile) fprintf(logfile," %d = max angles/atom\n",maxall); +read_data.cpp: // if 2nd pass: check that angles were assigned correctly +read_data.cpp: if (screen) fprintf(screen," " BIGINT_FORMAT " angles\n",sum/factor); +read_data.cpp: if (logfile) fprintf(logfile," " BIGINT_FORMAT " angles\n",sum/factor); +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp: // allocate count if firstpass +read_data.cpp: // read and process dihedrals +read_data.cpp: // if firstpass: tally max dihedral/atom and return +read_data.cpp: // if addflag = NONE, store max dihedral/atom with extra +read_data.cpp: // else just check actual max does not exceed existing max +read_data.cpp: if (screen) fprintf(screen," %d = max dihedrals/atom\n",maxall); +read_data.cpp: if (logfile) fprintf(logfile," %d = max dihedrals/atom\n",maxall); +read_data.cpp: // if 2nd pass: check that dihedrals were assigned correctly +read_data.cpp: if (screen) fprintf(screen," " BIGINT_FORMAT " dihedrals\n",sum/factor); +read_data.cpp: if (logfile) fprintf(logfile," " BIGINT_FORMAT " dihedrals\n",sum/factor); +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp: // allocate count if firstpass +read_data.cpp: // read and process impropers +read_data.cpp: // if firstpass: tally max improper/atom and return +read_data.cpp: // if addflag = NONE, store max improper/atom +read_data.cpp: // else just check it does not exceed existing max +read_data.cpp: if (screen) fprintf(screen," %d = max impropers/atom\n",maxall); +read_data.cpp: if (logfile) fprintf(logfile," %d = max impropers/atom\n",maxall); +read_data.cpp: // if 2nd pass: check that impropers were assigned correctly +read_data.cpp: if (screen) fprintf(screen," " BIGINT_FORMAT " impropers\n",sum/factor); +read_data.cpp: if (logfile) fprintf(logfile," " BIGINT_FORMAT " impropers\n",sum/factor); +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp: // nmax = max # of bodies to read in this chunk +read_data.cpp: // nchunk = actual # read +read_data.cpp: // read lines one at a time into buffer and count words +read_data.cpp: // count to ninteger and ndouble until have enough lines +read_data.cpp:/* ---------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- */ +read_data.cpp: int nsq = ntypes * (ntypes+1) / 2; +read_data.cpp:/* ---------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp: keyword is all text on line w/out leading & trailing white space +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp: // proc 0 reads upto non-blank line plus 1 following line +read_data.cpp: // eof is set to 1 if any read hits end-of-file +read_data.cpp: // if eof, set keyword empty and return +read_data.cpp: // bcast keyword line to all procs +read_data.cpp: // store optional "style" following comment char '#' after keyword +read_data.cpp: // copy non-whitespace portion of line into keyword +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp: if addstr != NULL, add addstr as extra arg for class2 angle/dihedral/improper +read_data.cpp: if noffset, add offset to first noffset args, which are atom/bond/etc types +read_data.cpp:------------------------------------------------------------------------- */ +read_data.cpp:/* ---------------------------------------------------------------------- +read_data.cpp:------------------------------------------------------------------------- */ +read_dump.cpp:/* ---------------------------------------------------------------------- +read_dump.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +read_dump.cpp: http://lammps.sandia.gov, Sandia National Laboratories +read_dump.cpp:------------------------------------------------------------------------- */ +read_dump.cpp:/* ---------------------------------------------------------------------- +read_dump.cpp:------------------------------------------------------------------------- */ +read_dump.cpp:// lmptype.h must be first b/c this file uses MAXBIGINT and includes mpi.h +read_dump.cpp:// due to OpenMPI bug which sets INT64_MAX via its mpi.h +read_dump.cpp:// before lmptype.h can set flags to insure it is done correctly +read_dump.cpp:// also in reader_native.cpp +read_dump.cpp:/* ---------------------------------------------------------------------- */ +read_dump.cpp:/* ---------------------------------------------------------------------- */ +read_dump.cpp:/* ---------------------------------------------------------------------- */ +read_dump.cpp: // find the snapshot and read/bcast/process header info +read_dump.cpp: // reset timestep to nstep +read_dump.cpp: // counters +read_dump.cpp: // read in the snapshot and reset system +read_dump.cpp: // print out stats +read_dump.cpp:/* ---------------------------------------------------------------------- */ +read_dump.cpp:/* ---------------------------------------------------------------------- */ +read_dump.cpp: // allocate snapshot field buffer +read_dump.cpp: // create reader class +read_dump.cpp: // match readerstyle to options in style_reader.h +read_dump.cpp: if (0) return; // dummy line to enable else-if macro expansion +read_dump.cpp: // unrecognized style +read_dump.cpp: // pass any arguments to reader +read_dump.cpp:/* ---------------------------------------------------------------------- +read_dump.cpp:------------------------------------------------------------------------- */ +read_dump.cpp: // exit file loop when dump timestep >= nrequest +read_dump.cpp: // or files exhausted +read_dump.cpp:/* ---------------------------------------------------------------------- +read_dump.cpp:------------------------------------------------------------------------- */ +read_dump.cpp: // exit file loop when dump timestep matches all criteria +read_dump.cpp: // or files exhausted +read_dump.cpp:/* ---------------------------------------------------------------------- +read_dump.cpp:------------------------------------------------------------------------- */ +read_dump.cpp: // local copy of snapshot box parameters +read_dump.cpp: // used in xfield,yfield,zfield when converting dump atom to absolute coords +read_dump.cpp: // done if not checking fields +read_dump.cpp: // error check on current vs new box and fields +read_dump.cpp: // triclinic_snap < 0 means no box info in file +read_dump.cpp: // error check on requested fields exisiting in dump file +read_dump.cpp: // all explicitly requested x,y,z must have consistent scaling & wrapping +read_dump.cpp: "Read_dump xyz fields do not have consistent scaling/wrapping"); +read_dump.cpp: // set scaled/wrapped based on xyz flags +read_dump.cpp: // scaled, triclinic coords require all 3 x,y,z fields, to perform unscaling +read_dump.cpp: // set yindex,zindex = column index of Y and Z fields in fields array +read_dump.cpp: // needed for unscaling to absolute coords in xfield(), yfield(), zfield() +read_dump.cpp:/* ---------------------------------------------------------------------- */ +read_dump.cpp: // initialize counters +read_dump.cpp: // if purgeflag set, delete all current atoms +read_dump.cpp: // to match existing atoms to dump atoms: +read_dump.cpp: // must build map if not a molecular system +read_dump.cpp: // uflag[i] = 1 for each owned atom appearing in dump +read_dump.cpp: // ucflag = similar flag for each chunk atom, used in process_atoms() +read_dump.cpp: // read, broadcast, and process atoms from snapshot in chunks +read_dump.cpp: // if addflag set, add tags to new atoms if possible +read_dump.cpp: // if trimflag set, delete atoms not replaced by snapshot atoms +read_dump.cpp: // can now delete uflag arrays +read_dump.cpp: // delete atom map if created it above +read_dump.cpp: // else reinitialize map for current atoms +read_dump.cpp: // do this before migrating atoms to new procs via Irregular +read_dump.cpp: // overwrite simulation box with dump snapshot box if requested +read_dump.cpp: // reallocate processors to box +read_dump.cpp: // move atoms back inside simulation box and to new processors +read_dump.cpp: // use remap() instead of pbc() in case atoms moved a long distance +read_dump.cpp: // adjust image flags of all atoms (old and new) based on current box +read_dump.cpp: // use irregular() in case atoms moved a long distance +read_dump.cpp: // check that atom IDs are valid +read_dump.cpp:/* ---------------------------------------------------------------------- +read_dump.cpp:------------------------------------------------------------------------- */ +read_dump.cpp: // per-field vectors, leave space for ID and TYPE +read_dump.cpp: // add id and type fields as needed +read_dump.cpp: // scan ahead to see if "add yes" keyword/value is used +read_dump.cpp: // requires extra "type" field from from dump file +read_dump.cpp: // parse fields +read_dump.cpp: // check for no fields +read_dump.cpp: // parse optional args +read_dump.cpp:/* ---------------------------------------------------------------------- +read_dump.cpp:------------------------------------------------------------------------- */ +read_dump.cpp:/* ---------------------------------------------------------------------- +read_dump.cpp: use round-robin method, b/c atom coords may not be inside simulation box +read_dump.cpp:------------------------------------------------------------------------- */ +read_dump.cpp: // check if new atom matches one I own +read_dump.cpp: // setting m = -1 forces new atom not to match +read_dump.cpp: // NOTE: atom ID in fields is stored as double, not as ubuf +read_dump.cpp: // so can only cast it to tagint, thus cannot be full 64-bit ID +read_dump.cpp: // current image flags +read_dump.cpp: // overwrite atom attributes with field info +read_dump.cpp: // start from field 1 since 0 = id, 1 will be skipped if type +read_dump.cpp: // replace image flag in case changed by ix,iy,iz fields or unwrapping +read_dump.cpp: // create any atoms in chunk that no processor owned +read_dump.cpp: // add atoms in round-robin sequence on processors +read_dump.cpp: // cannot do it geometrically b/c dump coords may not be in simulation box +read_dump.cpp: // each processor adds every Pth atom +read_dump.cpp: // create type and coord fields from dump file +read_dump.cpp: // coord = 0.0 unless corresponding dump file field was specified +read_dump.cpp: // create the atom on proc that owns it +read_dump.cpp: // reset v,image ptrs in case they are reallocated +read_dump.cpp: // set atom attributes from other dump file fields +read_dump.cpp: // replace image flag in case changed by ix,iy,iz fields +read_dump.cpp: // init per-atom fix/compute/variable values for created atoms +read_dump.cpp:/* ---------------------------------------------------------------------- +read_dump.cpp:------------------------------------------------------------------------- */ +read_dump.cpp:/* ---------------------------------------------------------------------- +read_dump.cpp:------------------------------------------------------------------------- */ +reader.cpp:/* ---------------------------------------------------------------------- +reader.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +reader.cpp: http://lammps.sandia.gov, Sandia National Laboratories +reader.cpp:------------------------------------------------------------------------- */ +reader.cpp:/* ---------------------------------------------------------------------- */ +reader.cpp:/* ---------------------------------------------------------------------- +reader.cpp:------------------------------------------------------------------------- */ +reader.cpp:/* ---------------------------------------------------------------------- +reader.cpp:------------------------------------------------------------------------- */ +reader_native.cpp:/* ---------------------------------------------------------------------- +reader_native.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +reader_native.cpp: http://lammps.sandia.gov, Sandia National Laboratories +reader_native.cpp:------------------------------------------------------------------------- */ +reader_native.cpp:#define MAXLINE 1024 // max line length in dump file +reader_native.cpp:// also in read_dump.cpp +reader_native.cpp:/* ---------------------------------------------------------------------- */ +reader_native.cpp:/* ---------------------------------------------------------------------- */ +reader_native.cpp:/* ---------------------------------------------------------------------- +reader_native.cpp:------------------------------------------------------------------------- */ +reader_native.cpp:/* ---------------------------------------------------------------------- +reader_native.cpp:------------------------------------------------------------------------- */ +reader_native.cpp: // invoke read_lines() in chunks no larger than MAXSMALLINT +reader_native.cpp:/* ---------------------------------------------------------------------- +reader_native.cpp: xyz flags = UNSET (not a requested field), SCALE/WRAP as in enum +reader_native.cpp:------------------------------------------------------------------------- */ +reader_native.cpp: // if no field info requested, just return +reader_native.cpp: // exatract column labels and match to requested fields +reader_native.cpp: // match each field with a column of per-atom data +reader_native.cpp: // if fieldlabel set, match with explicit column +reader_native.cpp: // else infer one or more column matches from fieldtype +reader_native.cpp: // xyz flag set by scaleflag + wrapflag (if fieldlabel set) or column label +reader_native.cpp: // set fieldflag = -1 if any unfound fields +reader_native.cpp: // create internal vector of word ptrs for future parsing of per-atom lines +reader_native.cpp:/* ---------------------------------------------------------------------- +reader_native.cpp:------------------------------------------------------------------------- */ +reader_native.cpp: // tokenize the line +reader_native.cpp: // convert selected fields to floats +reader_native.cpp:/* ---------------------------------------------------------------------- +reader_native.cpp:------------------------------------------------------------------------- */ +reader_native.cpp:/* ---------------------------------------------------------------------- +reader_native.cpp:------------------------------------------------------------------------- */ +reader_xyz.cpp:/* ---------------------------------------------------------------------- +reader_xyz.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +reader_xyz.cpp: http://lammps.sandia.gov, Sandia National Laboratories +reader_xyz.cpp:------------------------------------------------------------------------- */ +reader_xyz.cpp:/* ---------------------------------------------------------------------- +reader_xyz.cpp:------------------------------------------------------------------------- */ +reader_xyz.cpp:#define MAXLINE 1024 // max line length in dump file +reader_xyz.cpp:/* ---------------------------------------------------------------------- */ +reader_xyz.cpp:/* ---------------------------------------------------------------------- */ +reader_xyz.cpp:/* ---------------------------------------------------------------------- +reader_xyz.cpp:------------------------------------------------------------------------- */ +reader_xyz.cpp: // first line has to have the number of atoms +reader_xyz.cpp: // truncate the string to the first whitespace, +reader_xyz.cpp: // so force->bnumeric() does not hiccup +reader_xyz.cpp: // skip over comment/title line +reader_xyz.cpp: // fake time step numbers +reader_xyz.cpp: // count this frame +reader_xyz.cpp:/* ---------------------------------------------------------------------- +reader_xyz.cpp:------------------------------------------------------------------------- */ +reader_xyz.cpp: // invoke read_lines() in chunks no larger than MAXSMALLINT +reader_xyz.cpp:/* ---------------------------------------------------------------------- +reader_xyz.cpp:------------------------------------------------------------------------- */ +reader_xyz.cpp: // signal that we have no box info at all +reader_xyz.cpp: // if no field info requested, just return +reader_xyz.cpp: // for xyz we know nothing about the style of coordinates, +reader_xyz.cpp: // so caller has to set the proper flags +reader_xyz.cpp: // copy fieldtype list for supported fields +reader_xyz.cpp:/* ---------------------------------------------------------------------- +reader_xyz.cpp:------------------------------------------------------------------------- */ +reader_xyz.cpp: // XXX: we could insert an element2type translation here +reader_xyz.cpp: // XXX: for now we flag unrecognized types as type 0, +reader_xyz.cpp: // XXX: which should trigger an error, if LAMMPS uses it. +reader_xyz.cpp:/* ---------------------------------------------------------------------- +reader_xyz.cpp:------------------------------------------------------------------------- */ +read_restart.cpp:/* ---------------------------------------------------------------------- +read_restart.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +read_restart.cpp: http://lammps.sandia.gov, Sandia National Laboratories +read_restart.cpp:------------------------------------------------------------------------- */ +read_restart.cpp:// same as write_restart.cpp +read_restart.cpp:/* ---------------------------------------------------------------------- */ +read_restart.cpp:/* ---------------------------------------------------------------------- */ +read_restart.cpp: // check for remap option +read_restart.cpp: // if filename contains "*", search dir for latest restart file +read_restart.cpp: // check for multiproc files and an MPI-IO filename +read_restart.cpp: // open single restart file or base file for multiproc case +read_restart.cpp: // read magic string, endian flag, numeric version +read_restart.cpp: // read header info which creates simulation box +read_restart.cpp: // problem setup using info from header +read_restart.cpp: else n = static_cast (LB_FACTOR * atom->natoms / nprocs); +read_restart.cpp: // read groups, ntype-length arrays, force field, fix info from file +read_restart.cpp: // nextra = max # of extra quantities stored with each atom +read_restart.cpp: // read file layout info +read_restart.cpp: // close header file if in multiproc mode +read_restart.cpp: // read per-proc info +read_restart.cpp: // MPI-IO input from single file +read_restart.cpp: // input of single native file +read_restart.cpp: // nprocs_file = # of chunks in file +read_restart.cpp: // proc 0 reads a chunk and bcasts it to other procs +read_restart.cpp: // each proc unpacks the atoms, saving ones in it's sub-domain +read_restart.cpp: // if remapflag set, remap the atom to box before checking sub-domain +read_restart.cpp: // check for atom in sub-domain differs for orthogonal vs triclinic box +read_restart.cpp: // input of multiple native files with procs <= files +read_restart.cpp: // # of files = multiproc_file +read_restart.cpp: // each proc reads a subset of files, striding by nprocs +read_restart.cpp: // each proc keeps all atoms in all perproc chunks in its files +read_restart.cpp: // input of multiple native files with procs > files +read_restart.cpp: // # of files = multiproc_file +read_restart.cpp: // cluster procs based on # of files +read_restart.cpp: // 1st proc in each cluster reads per-proc chunks from file +read_restart.cpp: // sends chunks round-robin to other procs in its cluster +read_restart.cpp: // each proc keeps all atoms in its perproc chunks in file +read_restart.cpp: // nclusterprocs = # of procs in my cluster that read from one file +read_restart.cpp: // filewriter = 1 if this proc reads file, else 0 +read_restart.cpp: // fileproc = ID of proc in my cluster who reads from file +read_restart.cpp: // clustercomm = MPI communicator within my cluster of procs +read_restart.cpp: int icluster = static_cast ((bigint) me * nfile/nprocs); +read_restart.cpp: int fileproc = static_cast ((bigint) icluster * nprocs/nfile); +read_restart.cpp: int fcluster = static_cast ((bigint) fileproc * nfile/nprocs); +read_restart.cpp: static_cast ((bigint) (icluster+1) * nprocs/nfile); +read_restart.cpp: fcluster = static_cast ((bigint) fileprocnext * nfile/nprocs); +read_restart.cpp: // clean-up memory +read_restart.cpp: // for multiproc or MPI-IO files: +read_restart.cpp: // perform irregular comm to migrate atoms to correct procs +read_restart.cpp: // if remapflag set, remap all atoms I read back to box before migrating +read_restart.cpp: // create a temporary fix to hold and migrate extra atom info +read_restart.cpp: // necessary b/c irregular will migrate atoms +read_restart.cpp: // move atoms to new processors via irregular() +read_restart.cpp: // turn sorting on in migrate_atoms() to avoid non-reproducible restarts +read_restart.cpp: // in case read by different proc than wrote restart file +read_restart.cpp: // first do map_init() since irregular->migrate_atoms() will do map_clear() +read_restart.cpp: // put extra atom info held by fix back into atom->extra +read_restart.cpp: // destroy temporary fix +read_restart.cpp: // check that all atoms were assigned to procs +read_restart.cpp: // check that atom IDs are valid +read_restart.cpp: // create global mapping of atoms +read_restart.cpp: // create special bond lists for molecular systems +read_restart.cpp:/* ---------------------------------------------------------------------- +read_restart.cpp:------------------------------------------------------------------------- */ +read_restart.cpp: // separate infile into dir + filename +read_restart.cpp: if (strchr(infile,'/')) { +read_restart.cpp: ptr = strrchr(infile,'/'); +read_restart.cpp: *ptr = '/'; +read_restart.cpp: strcpy(dirname,"./"); +read_restart.cpp: // if filename contains "%" replace "%" with "base" +read_restart.cpp: // scan all files in directory, searching for files that match pattern +read_restart.cpp: // maxnum = largest int that matches "*" +read_restart.cpp: // create outfile with maxint substituted for "*" +read_restart.cpp: // use original infile, not pattern, since need to retain "%" in filename +read_restart.cpp: // clean up +read_restart.cpp:/* ---------------------------------------------------------------------- +read_restart.cpp:------------------------------------------------------------------------- */ +read_restart.cpp: // read flags and fields until flag = -1 +read_restart.cpp: // check restart file version, warn if different +read_restart.cpp: // check lmptype.h sizes, error if different +read_restart.cpp: // reset unit_style only if different +read_restart.cpp: // so that timestep,neighbor-skin are not changed +read_restart.cpp: // set dimension from restart file +read_restart.cpp: // read nprocs from restart file, warn if different +read_restart.cpp: // don't set procgrid, warn if different +read_restart.cpp: // don't set newton_pair, leave input script value unchanged +read_restart.cpp: // set newton_bond from restart file +read_restart.cpp: // warn if different and input script settings are not default +read_restart.cpp: // set boundary settings from restart file +read_restart.cpp: // warn if different and input script settings are not default +read_restart.cpp: // create new AtomVec class using any stored args +read_restart.cpp:/* ---------------------------------------------------------------------- */ +read_restart.cpp:/* ---------------------------------------------------------------------- */ +read_restart.cpp:/* ---------------------------------------------------------------------- */ +read_restart.cpp: // on rank 0 read in the chunk sizes that were written out +read_restart.cpp: // then consolidate them and compute offsets relative to the +read_restart.cpp: // end of the header info to fit the current partition size +read_restart.cpp: // if the number of ranks that did the writing is different +read_restart.cpp: int init_chunk_number = nprocs_file/nprocs; +read_restart.cpp: // scatter chunk sizes and offsets to all procs +read_restart.cpp: // if MPI-IO file, broadcast the end of the header offste +read_restart.cpp: // this allows all ranks to compute offset to their data +read_restart.cpp:// ---------------------------------------------------------------------- +read_restart.cpp:// ---------------------------------------------------------------------- +read_restart.cpp:// low-level fread methods +read_restart.cpp:// ---------------------------------------------------------------------- +read_restart.cpp:// ---------------------------------------------------------------------- +read_restart.cpp:/* ---------------------------------------------------------------------- +read_restart.cpp:------------------------------------------------------------------------- */ +read_restart.cpp:/* ---------------------------------------------------------------------- +read_restart.cpp:------------------------------------------------------------------------- */ +read_restart.cpp:/* ---------------------------------------------------------------------- +read_restart.cpp:------------------------------------------------------------------------- */ +read_restart.cpp:/* ---------------------------------------------------------------------- +read_restart.cpp:------------------------------------------------------------------------- */ +read_restart.cpp:/* ---------------------------------------------------------------------- +read_restart.cpp:------------------------------------------------------------------------- */ +read_restart.cpp:/* ---------------------------------------------------------------------- +read_restart.cpp:------------------------------------------------------------------------- */ +read_restart.cpp:/* ---------------------------------------------------------------------- +read_restart.cpp:------------------------------------------------------------------------- */ +read_restart.cpp:/* ---------------------------------------------------------------------- +read_restart.cpp:------------------------------------------------------------------------- */ +read_restart.cpp:/* ---------------------------------------------------------------------- +read_restart.cpp:------------------------------------------------------------------------- */ +region_block.cpp:/* ---------------------------------------------------------------------- +region_block.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +region_block.cpp: http://lammps.sandia.gov, Sandia National Laboratories +region_block.cpp:------------------------------------------------------------------------- */ +region_block.cpp:/* ---------------------------------------------------------------------- */ +region_block.cpp: // error check +region_block.cpp: // extent of block +region_block.cpp: // particle could be close to all 6 planes +region_block.cpp: // particle can only touch 3 planes +region_block.cpp: // open face data structs +region_block.cpp: // face[0] +region_block.cpp: // face[1] +region_block.cpp: // face[2] +region_block.cpp: // face[3] +region_block.cpp: // face[4] +region_block.cpp: // face[5] +region_block.cpp:/* ---------------------------------------------------------------------- */ +region_block.cpp:/* ---------------------------------------------------------------------- +region_block.cpp:------------------------------------------------------------------------- */ +region_block.cpp:/* ---------------------------------------------------------------------- +region_block.cpp: no contact if outside (possible if called from union/intersect) +region_block.cpp:------------------------------------------------------------------------- */ +region_block.cpp: // x is exterior to block +region_block.cpp: // x is interior to block or on its surface +region_block.cpp:/* ---------------------------------------------------------------------- +region_block.cpp: no contact if inside (possible if called from union/intersect) +region_block.cpp:------------------------------------------------------------------------- */ +region_block.cpp: // x is far enough from block that there is no contact +region_block.cpp: // x is interior to block +region_block.cpp: // x is exterior to block or on its surface +region_block.cpp: // xp,yp,zp = point on surface of block that x is closest to +region_block.cpp: // could be edge or corner pt of block +region_block.cpp: // do not add contact point if r >= cutoff +region_block.cpp:/*------------------------------------------------------------------------ +region_block.cpp:--------------------------------------------------------------------------*/ +region_block.cpp: // check if point projects inside of face +region_block.cpp: // check each edge +region_block.cpp:/*------------------------------------------------------------------------ +region_block.cpp:--------------------------------------------------------------------------*/ +region_cone.cpp:/* ---------------------------------------------------------------------- +region_cone.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +region_cone.cpp: http://lammps.sandia.gov, Sandia National Laboratories +region_cone.cpp:------------------------------------------------------------------------- */ +region_cone.cpp:/* ---------------------------------------------------------------------- +region_cone.cpp:------------------------------------------------------------------------- */ +region_cone.cpp:/* ---------------------------------------------------------------------- */ +region_cone.cpp: // check open face settings +region_cone.cpp: // error check +region_cone.cpp: // extent of cone +region_cone.cpp: // particle could be close to cone surface and 2 ends +region_cone.cpp: // particle can only touch surface and 1 end +region_cone.cpp:/* ---------------------------------------------------------------------- */ +region_cone.cpp:/* ---------------------------------------------------------------------- +region_cone.cpp:------------------------------------------------------------------------- */ +region_cone.cpp: currentradius = radiuslo + (x-lo)*(radiushi-radiuslo)/(hi-lo); +region_cone.cpp: currentradius = radiuslo + (y-lo)*(radiushi-radiuslo)/(hi-lo); +region_cone.cpp: currentradius = radiuslo + (z-lo)*(radiushi-radiuslo)/(hi-lo); +region_cone.cpp:/* ---------------------------------------------------------------------- +region_cone.cpp: no contact if outside (possible if called from union/intersect) +region_cone.cpp:------------------------------------------------------------------------- */ +region_cone.cpp: currentradius = radiuslo + (x[0]-lo)*(radiushi-radiuslo)/(hi-lo); +region_cone.cpp: // x is exterior to cone +region_cone.cpp: // x is interior to cone or on its surface +region_cone.cpp: // surflo = pt on outer circle of bottom end plane, same dir as x vs axis +region_cone.cpp: // surfhi = pt on outer circle of top end plane, same dir as x vs axis +region_cone.cpp: surflo[1] = c1 + del1*radiuslo/r; +region_cone.cpp: surflo[2] = c2 + del2*radiuslo/r; +region_cone.cpp: surfhi[1] = c1 + del1*radiushi/r; +region_cone.cpp: surfhi[2] = c2 + del2*radiushi/r; +region_cone.cpp: (radiushi-radiuslo)/(hi-lo)); +region_cone.cpp: (radiushi-radiuslo)/(hi-lo); +region_cone.cpp: // y is exterior to cone +region_cone.cpp: // y is interior to cone or on its surface +region_cone.cpp: // surflo = pt on outer circle of bottom end plane, same dir as y vs axis +region_cone.cpp: // surfhi = pt on outer circle of top end plane, same dir as y vs axis +region_cone.cpp: surflo[0] = c1 + del1*radiuslo/r; +region_cone.cpp: surflo[2] = c2 + del2*radiuslo/r; +region_cone.cpp: surfhi[0] = c1 + del1*radiushi/r; +region_cone.cpp: surfhi[2] = c2 + del2*radiushi/r; +region_cone.cpp: (radiushi-radiuslo)/(hi-lo)); +region_cone.cpp: currentradius = radiuslo + (x[2]-lo)*(radiushi-radiuslo)/(hi-lo); +region_cone.cpp: // z is exterior to cone +region_cone.cpp: // z is interior to cone or on its surface +region_cone.cpp: // surflo = pt on outer circle of bottom end plane, same dir as z vs axis +region_cone.cpp: // surfhi = pt on outer circle of top end plane, same dir as z vs axis +region_cone.cpp: surflo[0] = c1 + del1*radiuslo/r; +region_cone.cpp: surflo[1] = c2 + del2*radiuslo/r; +region_cone.cpp: surfhi[0] = c1 + del1*radiushi/r; +region_cone.cpp: surfhi[1] = c2 + del2*radiushi/r; +region_cone.cpp: (radiushi-radiuslo)/(hi-lo)); +region_cone.cpp:/* ---------------------------------------------------------------------- +region_cone.cpp: no contact if inside (possible if called from union/intersect) +region_cone.cpp:------------------------------------------------------------------------- */ +region_cone.cpp: currentradius = radiuslo + (x[0]-lo)*(radiushi-radiuslo)/(hi-lo); +region_cone.cpp: // radius of curvature, only used for granular walls +region_cone.cpp: // x is far enough from cone that there is no contact +region_cone.cpp: // x is interior to cone +region_cone.cpp: // x is exterior to cone or on its surface +region_cone.cpp: // corner1234 = 4 corner pts of half trapezoid = cone surf in plane of x +region_cone.cpp: // project x to 3 line segments in half trapezoid (4th is axis of cone) +region_cone.cpp: // nearest = point on surface of cone that x is closest to +region_cone.cpp: // could be edge of cone +region_cone.cpp: // do not add contact point if r >= cutoff +region_cone.cpp: corner1[1] = c1 + del1*radiuslo/r; +region_cone.cpp: corner1[2] = c2 + del2*radiuslo/r; +region_cone.cpp: corner2[1] = c1 + del1*radiushi/r; +region_cone.cpp: corner2[2] = c2 + del2*radiushi/r; +region_cone.cpp: crad = -2.0*(radiuslo + (nearest[0]-lo)*(radiushi-radiuslo)/(hi-lo)); +region_cone.cpp: currentradius = radiuslo + (x[1]-lo)*(radiushi-radiuslo)/(hi-lo); +region_cone.cpp: // radius of curvature, only used for granular walls +region_cone.cpp: // y is far enough from cone that there is no contact +region_cone.cpp: // y is interior to cone +region_cone.cpp: // y is exterior to cone or on its surface +region_cone.cpp: // corner1234 = 4 corner pts of half trapezoid = cone surf in plane of y +region_cone.cpp: // project x to 3 line segments in half trapezoid (4th is axis of cone) +region_cone.cpp: // nearest = point on surface of cone that y is closest to +region_cone.cpp: // could be edge of cone +region_cone.cpp: // do not add contact point if r >= cutoff +region_cone.cpp: corner1[0] = c1 + del1*radiuslo/r; +region_cone.cpp: corner1[2] = c2 + del2*radiuslo/r; +region_cone.cpp: corner2[0] = c1 + del1*radiushi/r; +region_cone.cpp: corner2[2] = c2 + del2*radiushi/r; +region_cone.cpp: crad = -2.0*(radiuslo + (nearest[1]-lo)*(radiushi-radiuslo)/(hi-lo)); +region_cone.cpp: currentradius = radiuslo + (x[2]-lo)*(radiushi-radiuslo)/(hi-lo); +region_cone.cpp: // radius of curvature, only used for granular walls +region_cone.cpp: // z is far enough from cone that there is no contact +region_cone.cpp: // z is interior to cone +region_cone.cpp: // z is exterior to cone or on its surface +region_cone.cpp: // corner1234 = 4 corner pts of half trapezoid = cone surf in plane of z +region_cone.cpp: // project x to 3 line segments in half trapezoid (4th is axis of cone) +region_cone.cpp: // nearest = point on surface of cone that z is closest to +region_cone.cpp: // could be edge of cone +region_cone.cpp: // do not add contact point if r >= cutoff +region_cone.cpp: corner1[0] = c1 + del1*radiuslo/r; +region_cone.cpp: corner1[1] = c2 + del2*radiuslo/r; +region_cone.cpp: corner2[0] = c1 + del1*radiushi/r; +region_cone.cpp: corner2[1] = c2 + del2*radiushi/r; +region_cone.cpp: crad = -2.0*(radiuslo + (nearest[2]-lo)*(radiushi-radiuslo)/(hi-lo)); +region_cone.cpp:/* ---------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +region.cpp: http://lammps.sandia.gov, Sandia National Laboratories +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp: return 1 if region is dynamic (moves/rotates) or has variable shape +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp: also insures variables are invoked by all procs even those w/out atoms +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp:------------------------------------------------------------------------- */ +region.cpp: // one of surface_int/ext() will return 0 +region.cpp: // so no need to worry about offset of contact indices +region.cpp:/* ---------------------------------------------------------------------- +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp: pre-compute dx,dy,dz and theta for a moving/rotating region +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp: sign of angle determines whether rotating forward/backward in time +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp:------------------------------------------------------------------------- */ +region.cpp: // option defaults +region.cpp: // additional checks on valid face index are done by region classes +region.cpp: // error check +region.cpp: // setup scaling +region.cpp: // runit = unit vector along rotation axis +region.cpp: runit[0] = axis[0]/len; +region.cpp: runit[1] = axis[1]/len; +region.cpp: runit[2] = axis[2]/len; +region.cpp:/* ---------------------------------------------------------------------- +region.cpp:------------------------------------------------------------------------- */ +region.cpp: double t = MathExtra::dot3(ca,ba) / MathExtra::dot3(ba,ba); +region.cpp:/* ---------------------------------------------------------------------- +region.cpp: necessary b/c motion variables are for displacement & theta +region.cpp: called by fix wall/gran/region every timestep +region.cpp:------------------------------------------------------------------------- */ +region.cpp: v[0] = (dx - prev[0])/update->dt; +region.cpp: v[1] = (dy - prev[1])/update->dt; +region.cpp: v[2] = (dz - prev[2])/update->dt; +region.cpp: double angvel = (theta-prev[3]) / update->dt; +region.cpp:/* ---------------------------------------------------------------------- +region.cpp: since contacts only store delx/y/z, need to pass particle coords +region.cpp: called by fix/wall/gran/region every contact every timestep +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp: used by restart of fix/wall/gran/region +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp: region writes its current style, id, number of sub-regions, position/angle +region.cpp: needed by fix/wall/gran/region to compute velocity by differencing scheme +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp: if they match current region, also read previous position/angle +region.cpp: needed by fix/wall/gran/region to compute velocity by differencing scheme +region.cpp:------------------------------------------------------------------------- */ +region.cpp:/* ---------------------------------------------------------------------- +region.cpp:------------------------------------------------------------------------- */ +region_cylinder.cpp:/* ---------------------------------------------------------------------- +region_cylinder.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +region_cylinder.cpp: http://lammps.sandia.gov, Sandia National Laboratories +region_cylinder.cpp:------------------------------------------------------------------------- */ +region_cylinder.cpp:/* ---------------------------------------------------------------------- */ +region_cylinder.cpp: // check open face settings +region_cylinder.cpp: // error check +region_cylinder.cpp: // extent of cylinder +region_cylinder.cpp: // for variable radius, uses initial radius +region_cylinder.cpp: // particle could be close to cylinder surface and 2 ends +region_cylinder.cpp: // particle can only touch surface and 1 end +region_cylinder.cpp:/* ---------------------------------------------------------------------- */ +region_cylinder.cpp:/* ---------------------------------------------------------------------- */ +region_cylinder.cpp:/* ---------------------------------------------------------------------- +region_cylinder.cpp:------------------------------------------------------------------------- */ +region_cylinder.cpp:/* ---------------------------------------------------------------------- +region_cylinder.cpp: no contact if outside (possible if called from union/intersect) +region_cylinder.cpp:------------------------------------------------------------------------- */ +region_cylinder.cpp: // x is exterior to cylinder +region_cylinder.cpp: // x is interior to cylinder or on its surface +region_cylinder.cpp: contact[n].dely = del1*(1.0-radius/r); +region_cylinder.cpp: contact[n].delz = del2*(1.0-radius/r); +region_cylinder.cpp: // y is exterior to cylinder +region_cylinder.cpp: // y is interior to cylinder or on its surface +region_cylinder.cpp: contact[n].delx = del1*(1.0-radius/r); +region_cylinder.cpp: contact[n].delz = del2*(1.0-radius/r); +region_cylinder.cpp: // z is exterior to cylinder +region_cylinder.cpp: // z is interior to cylinder or on its surface +region_cylinder.cpp: contact[n].delx = del1*(1.0-radius/r); +region_cylinder.cpp: contact[n].dely = del2*(1.0-radius/r); +region_cylinder.cpp:/* ---------------------------------------------------------------------- +region_cylinder.cpp: no contact if inside (possible if called from union/intersect) +region_cylinder.cpp:------------------------------------------------------------------------- */ +region_cylinder.cpp: // radius of curvature for granular +region_cylinder.cpp: // 0 for flat surfaces (infinite case), 2*radius for curved portion +region_cylinder.cpp: // x is far enough from cylinder that there is no contact +region_cylinder.cpp: // x is interior to cylinder +region_cylinder.cpp: // x is exterior to cylinder or on its surface +region_cylinder.cpp: // xp,yp,zp = point on surface of cylinder that x is closest to +region_cylinder.cpp: // could be edge of cylinder +region_cylinder.cpp: // do not add contact point if r >= cutoff +region_cylinder.cpp: yp = c1 + del1*radius/r; +region_cylinder.cpp: zp = c2 + del2*radius/r; +region_cylinder.cpp: // closest point on curved surface +region_cylinder.cpp: yp = c1 + del1*radius/r; +region_cylinder.cpp: zp = c2 + del2*radius/r; +region_cylinder.cpp: // closest point on bottom cap +region_cylinder.cpp: // closest point on top cap +region_cylinder.cpp: // y is far enough from cylinder that there is no contact +region_cylinder.cpp: // y is interior to cylinder +region_cylinder.cpp: // y is exterior to cylinder or on its surface +region_cylinder.cpp: // xp,yp,zp = point on surface of cylinder that x is closest to +region_cylinder.cpp: // could be edge of cylinder +region_cylinder.cpp: // do not add contact point if r >= cutoff +region_cylinder.cpp: xp = c1 + del1*radius/r; +region_cylinder.cpp: zp = c2 + del2*radius/r; +region_cylinder.cpp: // closest point on curved surface +region_cylinder.cpp: xp = c1 + del1*radius/r; +region_cylinder.cpp: zp = c2 + del2*radius/r; +region_cylinder.cpp: // closest point on bottom cap +region_cylinder.cpp: // closest point on top cap +region_cylinder.cpp: // z is far enough from cylinder that there is no contact +region_cylinder.cpp: // z is interior to cylinder +region_cylinder.cpp: // z is exterior to cylinder or on its surface +region_cylinder.cpp: // xp,yp,zp = point on surface of cylinder that x is closest to +region_cylinder.cpp: // could be edge of cylinder +region_cylinder.cpp: // do not add contact point if r >= cutoff +region_cylinder.cpp: xp = c1 + del1*radius/r; +region_cylinder.cpp: yp = c2 + del2*radius/r; +region_cylinder.cpp: // closest point on curved surface +region_cylinder.cpp: xp = c1 + del1*radius/r; +region_cylinder.cpp: yp = c2 + del2*radius/r; +region_cylinder.cpp: // closest point on bottom cap +region_cylinder.cpp: // closest point on top cap +region_cylinder.cpp:/* ---------------------------------------------------------------------- +region_cylinder.cpp:------------------------------------------------------------------------- */ +region_cylinder.cpp:/* ---------------------------------------------------------------------- +region_cylinder.cpp:------------------------------------------------------------------------- */ +region_cylinder.cpp:/* ---------------------------------------------------------------------- +region_cylinder.cpp: called once per timestep by fix/wall/gran/region. +region_cylinder.cpp:------------------------------------------------------------------------- */ +region_cylinder.cpp:/* ---------------------------------------------------------------------- +region_cylinder.cpp:------------------------------------------------------------------------- */ +region_cylinder.cpp: double delx, dely, delz; // Displacement of contact point in x,y,z +region_cylinder.cpp: dely = (xc[1] - xcenter[1])*(1 - rprev/radius); +region_cylinder.cpp: delz = (xc[2] - xcenter[2])*(1 - rprev/radius); +region_cylinder.cpp: delx = (xc[0] - xcenter[0])*(1 - rprev/radius); +region_cylinder.cpp: delz = (xc[2] - xcenter[2])*(1 - rprev/radius); +region_cylinder.cpp: delx = (xc[0] - xcenter[0])*(1 - rprev/radius); +region_cylinder.cpp: dely = (xc[1] - xcenter[1])*(1 - rprev/radius); +region_cylinder.cpp: vwall[0] += delx/update->dt; +region_cylinder.cpp: vwall[1] += dely/update->dt; +region_cylinder.cpp: vwall[2] += delz/update->dt; +region_cylinder.cpp: //printf ("R is %g, prev %g, velocity of wall at %g %g %g is %g %g %g\n",radius,rprev,xc[0],xc[1],xc[2],vwall[0],vwall[1],vwall[2]); +region_intersect.cpp:/* ---------------------------------------------------------------------- +region_intersect.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +region_intersect.cpp: http://lammps.sandia.gov, Sandia National Laboratories +region_intersect.cpp:------------------------------------------------------------------------- */ +region_intersect.cpp:/* ---------------------------------------------------------------------- */ +region_intersect.cpp: // build list of regions to intersect +region_intersect.cpp: // store sub-region IDs in idsub +region_intersect.cpp: // this region is variable shape or dynamic if any of sub-regions are +region_intersect.cpp: // extent of intersection of regions +region_intersect.cpp: // has bounding box if interior and any sub-region has bounding box +region_intersect.cpp: // possible contacts = sum of possible contacts in all sub-regions +region_intersect.cpp: // for near contacts and touching contacts +region_intersect.cpp:/* ---------------------------------------------------------------------- */ +region_intersect.cpp:/* ---------------------------------------------------------------------- */ +region_intersect.cpp: // re-build list of sub-regions in case other regions were deleted +region_intersect.cpp: // error if a sub-region was deleted +region_intersect.cpp: // init the sub-regions +region_intersect.cpp:/* ---------------------------------------------------------------------- +region_intersect.cpp:------------------------------------------------------------------------- */ +region_intersect.cpp:/* ---------------------------------------------------------------------- +region_intersect.cpp:------------------------------------------------------------------------- */ +region_intersect.cpp: // increment by cmax instead of tmax to insure +region_intersect.cpp: // possible wall IDs for sub-regions are non overlapping +region_intersect.cpp:/* ---------------------------------------------------------------------- +region_intersect.cpp: (1) flip interior/exterior flag of each sub-region +region_intersect.cpp: (4) flip interior/exterior flags back to original settings +region_intersect.cpp:------------------------------------------------------------------------- */ +region_intersect.cpp:/* ---------------------------------------------------------------------- +region_intersect.cpp:------------------------------------------------------------------------- */ +region_intersect.cpp:/* ---------------------------------------------------------------------- +region_intersect.cpp: move/rotate all sub-regions +region_intersect.cpp:------------------------------------------------------------------------- */ +region_intersect.cpp:/* ---------------------------------------------------------------------- +region_intersect.cpp: get translational/angular velocities of all subregions +region_intersect.cpp:------------------------------------------------------------------------- */ +region_intersect.cpp:/* ---------------------------------------------------------------------- +region_intersect.cpp: used by restart of fix/wall/gran/region +region_intersect.cpp:------------------------------------------------------------------------- */ +region_intersect.cpp:/* ---------------------------------------------------------------------- +region_intersect.cpp: region writes its current position/angle +region_intersect.cpp: needed by fix/wall/gran/region to compute velocity by differencing scheme +region_intersect.cpp:------------------------------------------------------------------------- */ +region_intersect.cpp:/* ---------------------------------------------------------------------- +region_intersect.cpp: region reads its previous position/angle +region_intersect.cpp: needed by fix/wall/gran/region to compute velocity by differencing scheme +region_intersect.cpp:------------------------------------------------------------------------- */ +region_intersect.cpp:/* ---------------------------------------------------------------------- +region_intersect.cpp:------------------------------------------------------------------------- */ +region_plane.cpp:/* ---------------------------------------------------------------------- +region_plane.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +region_plane.cpp: http://lammps.sandia.gov, Sandia National Laboratories +region_plane.cpp:------------------------------------------------------------------------- */ +region_plane.cpp:/* ---------------------------------------------------------------------- */ +region_plane.cpp: // enforce unit normal +region_plane.cpp: normal[0] /= sqrt(rsq); +region_plane.cpp: normal[1] /= sqrt(rsq); +region_plane.cpp: normal[2] /= sqrt(rsq); +region_plane.cpp: // plane has no bounding box +region_plane.cpp:/* ---------------------------------------------------------------------- */ +region_plane.cpp:/* ---------------------------------------------------------------------- +region_plane.cpp:------------------------------------------------------------------------- */ +region_plane.cpp:/* ---------------------------------------------------------------------- +region_plane.cpp: no contact if on other side (possible if called from union/intersect) +region_plane.cpp:------------------------------------------------------------------------- */ +region_plane.cpp:/* ---------------------------------------------------------------------- +region_plane.cpp: no contact if on other side (possible if called from union/intersect) +region_plane.cpp:------------------------------------------------------------------------- */ +region_prism.cpp:/* ---------------------------------------------------------------------- +region_prism.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +region_prism.cpp: http://lammps.sandia.gov, Sandia National Laboratories +region_prism.cpp:------------------------------------------------------------------------- */ +region_prism.cpp:/* ---------------------------------------------------------------------- +region_prism.cpp:------------------------------------------------------------------------- */ +region_prism.cpp:/* ---------------------------------------------------------------------- */ +region_prism.cpp: // error check +region_prism.cpp: // prism cannot be 0 thickness in any dim, else inverse blows up +region_prism.cpp: // non-zero tilt values cannot be used if either dim is INF on both ends +region_prism.cpp: // extent of prism +region_prism.cpp: // particle could be close to all 6 planes +region_prism.cpp: // particle can only touch 3 planes +region_prism.cpp: // h = transformation matrix from tilt coords (0-1) to box coords (xyz) +region_prism.cpp: // columns of h are edge vectors of tilted box +region_prism.cpp: // hinv = transformation matrix from box coords to tilt coords +region_prism.cpp: // both h and hinv are upper triangular +region_prism.cpp: // since 1st edge of prism is along x-axis +region_prism.cpp: // and bottom face of prism is in xy plane +region_prism.cpp: hinv[0][0] = 1.0/h[0][0]; +region_prism.cpp: hinv[0][1] = -h[0][1] / (h[0][0]*h[1][1]); +region_prism.cpp: hinv[0][2] = (h[0][1]*h[1][2] - h[0][2]*h[1][1]) / (h[0][0]*h[1][1]*h[2][2]); +region_prism.cpp: hinv[1][1] = 1.0/h[1][1]; +region_prism.cpp: hinv[1][2] = -h[1][2] / (h[1][1]*h[2][2]); +region_prism.cpp: hinv[2][2] = 1.0/h[2][2]; +region_prism.cpp: // corners = 8 corner points of prism +region_prism.cpp: // order = x varies fastest, then y, finally z +region_prism.cpp: // clo/chi = lo and hi corner pts of prism +region_prism.cpp: // face = 6 inward-facing unit normals to prism faces +region_prism.cpp: // order = xy plane, xz plane, yz plane +region_prism.cpp: // remap open face indices to be consistent +region_prism.cpp: // tri = 3 vertices (0-7) in each of 12 triangles on 6 faces +region_prism.cpp: // verts in each tri are ordered so that right-hand rule gives inward norm +region_prism.cpp: // order = xy plane, xz plane, yz plane +region_prism.cpp:/* ---------------------------------------------------------------------- */ +region_prism.cpp:/* ---------------------------------------------------------------------- +region_prism.cpp: abc = Hinv * (xyz - xyz/lo) +region_prism.cpp: xyz/lo = lower-left corner of prism +region_prism.cpp:------------------------------------------------------------------------- */ +region_prism.cpp:/* ---------------------------------------------------------------------- +region_prism.cpp: no contact if outside (possible if called from union/intersect) +region_prism.cpp:------------------------------------------------------------------------- */ +region_prism.cpp: // x is exterior to prism +region_prism.cpp: // x is interior to prism or on its surface +region_prism.cpp:/* ---------------------------------------------------------------------- +region_prism.cpp: no contact if inside (possible if called from union/intersect) +region_prism.cpp:------------------------------------------------------------------------- */ +region_prism.cpp: // x is far enough from prism that there is no contact +region_prism.cpp: // x is interior to prism +region_prism.cpp: // x is exterior to prism or on its surface +region_prism.cpp: // xp,yp,zp = point on surface of prism that x is closest to +region_prism.cpp: // could be edge or corner pt of prism +region_prism.cpp: // do not add contact point if r >= cutoff +region_prism.cpp:/* ---------------------------------------------------------------------- +region_prism.cpp:------------------------------------------------------------------------- */ +region_prism.cpp: // generate successive xnear points, one nearest to x is (xp,yp,zp) +region_prism.cpp: // loop over 6 faces and 2 triangles in each face +region_prism.cpp: // xproj = x projected to plane of triangle +region_prism.cpp: // if xproj is inside or on triangle boundary, that is xnear +region_prism.cpp: // else: loop over 3 edges of triangle +region_prism.cpp: // compute distance to edge line +region_prism.cpp: // xnear = nearest point on line to xproj, bounded by segment end pts +region_prism.cpp: iface = itri/2; +region_prism.cpp:/* ---------------------------------------------------------------------- +region_prism.cpp:------------------------------------------------------------------------- */ +region_prism.cpp:/* ---------------------------------------------------------------------- */ +region_sphere.cpp:/* ---------------------------------------------------------------------- +region_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +region_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories +region_sphere.cpp:------------------------------------------------------------------------- */ +region_sphere.cpp:/* ---------------------------------------------------------------------- */ +region_sphere.cpp: // error check +region_sphere.cpp: // extent of sphere +region_sphere.cpp: // for variable radius, uses initial radius +region_sphere.cpp:/* ---------------------------------------------------------------------- */ +region_sphere.cpp:/* ---------------------------------------------------------------------- */ +region_sphere.cpp:/* ---------------------------------------------------------------------- +region_sphere.cpp:------------------------------------------------------------------------- */ +region_sphere.cpp:/* ---------------------------------------------------------------------- +region_sphere.cpp: no contact if outside (possible if called from union/intersect) +region_sphere.cpp:------------------------------------------------------------------------- */ +region_sphere.cpp: contact[0].delx = delx*(1.0-radius/r); +region_sphere.cpp: contact[0].dely = dely*(1.0-radius/r); +region_sphere.cpp: contact[0].delz = delz*(1.0-radius/r); +region_sphere.cpp:/* ---------------------------------------------------------------------- +region_sphere.cpp: no contact if inside (possible if called from union/intersect) +region_sphere.cpp:------------------------------------------------------------------------- */ +region_sphere.cpp: contact[0].delx = delx*(1.0-radius/r); +region_sphere.cpp: contact[0].dely = dely*(1.0-radius/r); +region_sphere.cpp: contact[0].delz = delz*(1.0-radius/r); +region_sphere.cpp:/* ---------------------------------------------------------------------- +region_sphere.cpp:------------------------------------------------------------------------- */ +region_sphere.cpp:/* ---------------------------------------------------------------------- +region_sphere.cpp:------------------------------------------------------------------------- */ +region_sphere.cpp:/* ---------------------------------------------------------------------- +region_sphere.cpp: called once per timestep by fix/wall/gran/region. +region_sphere.cpp:------------------------------------------------------------------------- */ +region_sphere.cpp:/* ---------------------------------------------------------------------- +region_sphere.cpp:------------------------------------------------------------------------- */ +region_sphere.cpp: double delx, dely, delz; // Displacement of contact point in x,y,z +region_sphere.cpp: delx = (xc[0] - xcenter[0])*(1 - rprev/radius); +region_sphere.cpp: dely = (xc[1] - xcenter[1])*(1 - rprev/radius); +region_sphere.cpp: delz = (xc[2] - xcenter[2])*(1 - rprev/radius); +region_sphere.cpp: vwall[0] += delx/update->dt; +region_sphere.cpp: vwall[1] += dely/update->dt; +region_sphere.cpp: vwall[2] += delz/update->dt; +region_union.cpp:/* ---------------------------------------------------------------------- +region_union.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +region_union.cpp: http://lammps.sandia.gov, Sandia National Laboratories +region_union.cpp:------------------------------------------------------------------------- */ +region_union.cpp:/* ---------------------------------------------------------------------- */ +region_union.cpp: // build list of region indices to union +region_union.cpp: // store sub-region IDs in idsub +region_union.cpp: // this region is variable shape or dynamic if any of sub-regions are +region_union.cpp: // extent of union of regions +region_union.cpp: // has bounding box if interior and all sub-regions have bounding box +region_union.cpp: // possible contacts = sum of possible contacts in all sub-regions +region_union.cpp: // for near contacts and touching contacts +region_union.cpp:/* ---------------------------------------------------------------------- */ +region_union.cpp:/* ---------------------------------------------------------------------- */ +region_union.cpp: // re-build list of sub-regions in case other regions were deleted +region_union.cpp: // error if a sub-region was deleted +region_union.cpp: // init the sub-regions +region_union.cpp:/* ---------------------------------------------------------------------- +region_union.cpp:------------------------------------------------------------------------- */ +region_union.cpp:/* ---------------------------------------------------------------------- +region_union.cpp:------------------------------------------------------------------------- */ +region_union.cpp: // increment by cmax instead of tmax to insure +region_union.cpp: // possible wall IDs for sub-regions are non overlapping +region_union.cpp:/* ---------------------------------------------------------------------- +region_union.cpp: (1) flip interior/exterior flag of each sub-region +region_union.cpp: (4) flip interior/exterior flags back to original settings +region_union.cpp:------------------------------------------------------------------------- */ +region_union.cpp:/* ---------------------------------------------------------------------- +region_union.cpp:------------------------------------------------------------------------- */ +region_union.cpp:/* ---------------------------------------------------------------------- +region_union.cpp: move/rotate all sub-regions +region_union.cpp:------------------------------------------------------------------------- */ +region_union.cpp:/* ---------------------------------------------------------------------- +region_union.cpp: get translational/angular velocities of all subregions +region_union.cpp:------------------------------------------------------------------------- */ +region_union.cpp:/* ---------------------------------------------------------------------- +region_union.cpp: used by restart of fix/wall/gran/region +region_union.cpp:------------------------------------------------------------------------- */ +region_union.cpp:/* ---------------------------------------------------------------------- +region_union.cpp: region writes its current position/angle +region_union.cpp: needed by fix/wall/gran/region to compute velocity by differencing scheme +region_union.cpp:------------------------------------------------------------------------- */ +region_union.cpp:/* ---------------------------------------------------------------------- +region_union.cpp: region reads its previous position/angle +region_union.cpp: needed by fix/wall/gran/region to compute velocity by differencing scheme +region_union.cpp:------------------------------------------------------------------------- */ +region_union.cpp:/* ---------------------------------------------------------------------- +region_union.cpp:------------------------------------------------------------------------- */ +replicate.cpp:/* ---------------------------------------------------------------------- +replicate.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +replicate.cpp: http://lammps.sandia.gov, Sandia National Laboratories +replicate.cpp:------------------------------------------------------------------------- */ +replicate.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files +replicate.cpp:/* ---------------------------------------------------------------------- */ +replicate.cpp:/* ---------------------------------------------------------------------- */ +replicate.cpp: // nrep = total # of replications +replicate.cpp: // error and warning checks +replicate.cpp: // maxtag = largest atom tag across all existing atoms +replicate.cpp: // maxmol = largest molecule tag across all existing atoms +replicate.cpp: // unmap existing atoms via image flags +replicate.cpp: // communication buffer for all my atom's info +replicate.cpp: // max_size = largest buffer needed by any proc +replicate.cpp: // must do before new Atom class created, +replicate.cpp: // since size_restart() uses atom->nlocal +replicate.cpp: // old = original atom class +replicate.cpp: // atom = new replicated atom class +replicate.cpp: // also set atomKK for Kokkos version of Atom class +replicate.cpp: // check that new system will not be too large +replicate.cpp: // new tags cannot exceed MAXTAGINT +replicate.cpp: // new system sizes cannot exceed MAXBIGINT +replicate.cpp: // assign atom and topology counts in new class from old one +replicate.cpp: // store old simulation box +replicate.cpp: // setup new simulation box +replicate.cpp: // new problem setup using new box boundaries +replicate.cpp: else n = static_cast (LB_FACTOR * atom->natoms / nprocs); +replicate.cpp: // copy type arrays to new atom class +replicate.cpp: // set bounds for my proc +replicate.cpp: // if periodic and I am lo/hi proc, adjust bounds by EPSILON +replicate.cpp: // insures all replicated atoms will be owned even with round-off +replicate.cpp: // loop over all procs +replicate.cpp: // if this iteration of loop is me: +replicate.cpp: // pack my unmapped atom data into buf +replicate.cpp: // bcast it to all other procs +replicate.cpp: // performs 3d replicate loop with while loop over atoms in buf +replicate.cpp: // x = new replicated position, remapped into simulation box +replicate.cpp: // unpack atom into new atom class from buf if I own it +replicate.cpp: // adjust tag, mol #, coord, topology info as needed +replicate.cpp: // while loop over one proc's atom list +replicate.cpp: // free communication buffer and old atom class +replicate.cpp: // check that all atoms were assigned to procs +replicate.cpp: // check that atom IDs are valid +replicate.cpp: // create global mapping of atoms +replicate.cpp: // create special bond lists for molecular systems +rerun.cpp:/* ---------------------------------------------------------------------- +rerun.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +rerun.cpp: http://lammps.sandia.gov, Sandia National Laboratories +rerun.cpp:------------------------------------------------------------------------- */ +rerun.cpp:/* ---------------------------------------------------------------------- */ +rerun.cpp:/* ---------------------------------------------------------------------- */ +rerun.cpp: // list of dump files = args until a keyword +rerun.cpp: // parse optional args up until "dump" +rerun.cpp: // user MAXBIGINT -1 so Output can add 1 to it and still be a big int +rerun.cpp: // pass list of filenames to ReadDump +rerun.cpp: // along with post-"dump" args and post-"format" args +rerun.cpp: // perform the pseudo run +rerun.cpp: // invoke lmp->init() only once +rerun.cpp: // read all relevant snapshots +rerun.cpp: // use setup_minimal() since atoms are already owned by correct procs +rerun.cpp: // addstep_compute_all() insures energy/virial computed on every snapshot +rerun.cpp: // insure thermo output on last dump timestep +rerun.cpp: // set update->nsteps to ndump for Finish stats to print +rerun.cpp: // clean-up +respa.cpp:/* ---------------------------------------------------------------------- +respa.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +respa.cpp: http://lammps.sandia.gov, Sandia National Laboratories +respa.cpp:------------------------------------------------------------------------- */ +respa.cpp:/* ---------------------------------------------------------------------- +respa.cpp:------------------------------------------------------------------------- */ +respa.cpp:/* ---------------------------------------------------------------------- */ +respa.cpp: // set level at which each force is computed +respa.cpp: // argument settings override defaults +respa.cpp: // defaults for hybrid pair styles +respa.cpp: // the hybrid keyword requires a hybrid pair style +respa.cpp: // each hybrid sub-style needs to be assigned to a respa level +respa.cpp: // cannot specify both pair and inner/middle/outer +respa.cpp: error->all(FLERR,"Cannot set both respa pair and inner/middle/outer"); +respa.cpp: // if either inner and outer is specified, then both must be +respa.cpp: // middle cannot be set without inner/outer +respa.cpp: error->all(FLERR,"Cannot set respa middle without inner/outer"); +respa.cpp: // cannot combine hybrid with any of pair/inner/middle/outer +respa.cpp: "any of pair/inner/middle/outer"); +respa.cpp: // set defaults if user did not specify level +respa.cpp: // bond to innermost level +respa.cpp: // angle same as bond, dihedral same as angle, improper same as dihedral +respa.cpp: // pair to outermost level if no inner/middle/outer +respa.cpp: // inner/middle/outer have no defaults +respa.cpp: // kspace same as pair or outer +respa.cpp: // print respa levels +respa.cpp: // check that levels are in correct order +respa.cpp: // warn if any levels are devoid of forces +respa.cpp: // check cutoff consistency if inner/middle/outer are enabled +respa.cpp: // set outer pair of cutoffs to inner pair if middle is not enabled +respa.cpp: // ensure that pair->compute() is run properly +respa.cpp: // when the hybrid keyword is not used +respa.cpp: // allocate other needed arrays +respa.cpp:/* ---------------------------------------------------------------------- */ +respa.cpp:/* ---------------------------------------------------------------------- +respa.cpp:------------------------------------------------------------------------- */ +respa.cpp: // warn if no fixes +respa.cpp: // create fix needed for storing atom-based respa level forces +respa.cpp: // will delete it at end of run +respa.cpp: // if supported, we also store torques on a per-level basis +respa.cpp: // insure respa inner/middle/outer is using Pair class that supports it +respa.cpp: error->all(FLERR,"Pair style does not support rRESPA inner/middle/outer"); +respa.cpp: // virial_style = 1 (explicit) since never computed implicitly like Verlet +respa.cpp: // setup lists of computes for global and per-atom PE and pressure +respa.cpp: // detect if fix omp is present and will clear force arrays +respa.cpp: // set flags for arrays to clear in force_clear() +respa.cpp: // step[] = timestep for each level +respa.cpp: step[ilevel] = step[ilevel+1]/loop[ilevel]; +respa.cpp: // set newton flag for each level +respa.cpp: // orthogonal vs triclinic simulation box +respa.cpp:/* ---------------------------------------------------------------------- +respa.cpp:------------------------------------------------------------------------- */ +respa.cpp: // setup domain, communication and neighboring +respa.cpp: // acquire ghosts +respa.cpp: // build neighbor lists +respa.cpp: // compute all forces +respa.cpp:/* ---------------------------------------------------------------------- +respa.cpp:------------------------------------------------------------------------- */ +respa.cpp: // setup domain, communication and neighboring +respa.cpp: // acquire ghosts +respa.cpp: // build neighbor lists +respa.cpp: // compute all forces +respa.cpp:/* ---------------------------------------------------------------------- +respa.cpp:------------------------------------------------------------------------- */ +respa.cpp: // needed in case end_of_step() or output() use total force +respa.cpp:/* ---------------------------------------------------------------------- +respa.cpp:------------------------------------------------------------------------- */ +respa.cpp:/* ---------------------------------------------------------------------- */ +respa.cpp: step[ilevel] = step[ilevel+1]/loop[ilevel]; +respa.cpp:/* ---------------------------------------------------------------------- */ +respa.cpp: // at outermost level, check on rebuilding neighbor list +respa.cpp: // at innermost level, communicate +respa.cpp: // at middle levels, do nothing +respa.cpp: // rRESPA recursion thru all levels +respa.cpp: // this used to be before neigh list build, +respa.cpp: // which prevented per-atom energy/stress being tallied correctly +respa.cpp: // b/c atoms migrated to new procs between short/long force calls +respa.cpp: // now they migrate at very start of rRESPA timestep, before all forces +respa.cpp: // force computations +respa.cpp: // important that ordering is same as Verlet +respa.cpp: // so that any order dependencies are the same +respa.cpp: // when potentials are invoked at same level +respa.cpp:/* ---------------------------------------------------------------------- +respa.cpp:------------------------------------------------------------------------- */ +respa.cpp: // clear global force array +respa.cpp: // if either newton flag is set, also include ghosts +respa.cpp:/* ---------------------------------------------------------------------- +respa.cpp:------------------------------------------------------------------------- */ +respa.cpp:/* ---------------------------------------------------------------------- +respa.cpp:------------------------------------------------------------------------- */ +respa.cpp:/* ---------------------------------------------------------------------- +respa.cpp:------------------------------------------------------------------------- */ +respa.cpp:/*----------------------------------------------------------------------- +respa.cpp:------------------------------------------------------------------------- */ +run.cpp:/* ---------------------------------------------------------------------- +run.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +run.cpp: http://lammps.sandia.gov, Sandia National Laboratories +run.cpp:------------------------------------------------------------------------- */ +run.cpp:/* ---------------------------------------------------------------------- */ +run.cpp:/* ---------------------------------------------------------------------- */ +run.cpp: // ignore run command, if walltime limit was already reached +run.cpp: // parse optional args +run.cpp: // all remaining args are commands +run.cpp: // first,last = arg index of first/last commands +run.cpp: // set ncommands = 0 if single command and it is NULL +run.cpp: // set nsteps as integer, using upto value if specified +run.cpp: // error check +run.cpp: error->all(FLERR,"Invalid run command start/stop value"); +run.cpp: error->all(FLERR,"Invalid run command start/stop value"); +run.cpp: // if nevery, make copies of arg strings that are commands +run.cpp: // required because re-parsing commands via input->one() will wipe out args +run.cpp: // perform a single run +run.cpp: // use start/stop to set begin/end step +run.cpp: // if pre or 1st run, do System init/setup, +run.cpp: // else just init timer and setup output +run.cpp: // if post, do full Finish, else just print time +run.cpp: // perform multiple runs optionally interleaved with invocation command(s) +run.cpp: // use start/stop to set begin/end step +run.cpp: // if pre or 1st iteration of multiple runs, do System init/setup, +run.cpp: // else just init timer and setup output +run.cpp: // if post or last iteration, do full Finish, else just print time +run.cpp: // wrap command invocation with clearstep/addstep +run.cpp: // since a command may invoke computes via variables +set.cpp:/* ---------------------------------------------------------------------- +set.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +set.cpp: http://lammps.sandia.gov, Sandia National Laboratories +set.cpp:------------------------------------------------------------------------- */ +set.cpp:/* ---------------------------------------------------------------------- */ +set.cpp: // style and ID info +set.cpp: // loop over keyword/value pairs +set.cpp: // call appropriate routine to reset attributes +set.cpp: } else if (strcmp(arg[iarg],"type/fraction") == 0) { +set.cpp: } else if (strcmp(arg[iarg],"dipole/random") == 0) { +set.cpp: } else if (strcmp(arg[iarg],"spin/random") == 0) { +set.cpp: } else if (strcmp(arg[iarg],"quat/random") == 0) { +set.cpp: dvalue *= MY_PI/180.0; +set.cpp: } else if (strcmp(arg[iarg],"theta/random") == 0) { +set.cpp: (strcmp(arg[iarg],"density/disc") == 0)) { +set.cpp: if (strcmp(arg[iarg],"density/disc") == 0) { +set.cpp: error->all(FLERR,"Density/disc option requires 2d simulation"); +set.cpp: } else if (strcmp(arg[iarg],"meso/e") == 0) { +set.cpp: error->all(FLERR,"Cannot set meso/e for this atom style"); +set.cpp: } else if (strcmp(arg[iarg],"meso/cv") == 0) { +set.cpp: error->all(FLERR,"Cannot set meso/cv for this atom style"); +set.cpp: } else if (strcmp(arg[iarg],"meso/rho") == 0) { +set.cpp: error->all(FLERR,"Cannot set meso/rho for this atom style"); +set.cpp: } else if (strcmp(arg[iarg],"smd/mass/density") == 0) { +set.cpp: error->all(FLERR,"Cannot set smd/mass/density for this atom style"); +set.cpp: } else if (strcmp(arg[iarg],"smd/contact/radius") == 0) { +set.cpp: error->all(FLERR,"Cannot set smd/contact/radius " +set.cpp: } else if (strcmp(arg[iarg],"dpd/theta") == 0) { +set.cpp: error->all(FLERR,"Cannot set dpd/theta for this atom style"); +set.cpp: // statistics +set.cpp: // free local memory +set.cpp:/* ---------------------------------------------------------------------- +set.cpp:------------------------------------------------------------------------- */ +set.cpp:/* ---------------------------------------------------------------------- +set.cpp:------------------------------------------------------------------------- */ +set.cpp: // evaluate atom-style variable(s) if necessary +set.cpp: // loop over selected atoms +set.cpp: // overwrite dvalue, ivalue, xyzw value if variables defined +set.cpp: // else the input script scalar value remains in place +set.cpp: // set values in per-atom arrays +set.cpp: // error check here in case atom-style variables generated bogus value +set.cpp: // set mass from volume and supplied mass density +set.cpp: double tfactor = force->mvv2e / (domain->dimension * force->boltz); +set.cpp: // set shape of ellipsoidal particle +set.cpp: // set length of line particle +set.cpp: // set corners of tri particle +set.cpp: // set rmass via density +set.cpp: // if radius > 0.0, treat as sphere or disc +set.cpp: // if shape > 0.0, treat as ellipsoid (or ellipse, when uncomment below) +set.cpp: // if length > 0.0, treat as line +set.cpp: // if area > 0.0, treat as tri +set.cpp: // else set rmass to density directly +set.cpp: atom->rmass[i] = 4.0*MY_PI/3.0 * +set.cpp: // enable 2d ellipse (versus 3d ellipsoid) when time integration +set.cpp: // options (fix nve/asphere, fix nh/asphere) are also implemented +set.cpp: // if (discflag) +set.cpp: // atom->rmass[i] = MY_PI*shape[0]*shape[1] * dvalue; +set.cpp: // else +set.cpp: atom->rmass[i] = 4.0*MY_PI/3.0 * shape[0]*shape[1]*shape[2] * dvalue; +set.cpp: // set dipole moment +set.cpp: // set magnetic moments +set.cpp: sp[i][0] = xvalue/sp_norm; +set.cpp: sp[i][1] = yvalue/sp_norm; +set.cpp: sp[i][2] = zvalue/sp_norm; +set.cpp: sp[i][2]*sp[i][2]); //Should be 1 for atomic spins +set.cpp: // set quaternion orientation of ellipsoid or tri or body particle +set.cpp: // set quaternion orientation of ellipsoid or tri or body particle +set.cpp: // enforce quat rotation vector in z dir for 2d systems +set.cpp: double theta2 = MY_PI2 * wvalue/180.0; +set.cpp: // set theta of line particle +set.cpp: // set angmom or omega of particle +set.cpp: // reset any or all of 3 image flags +set.cpp: // set value for custom integer or double vector +set.cpp: // clear up per-atom memory if allocated +set.cpp:/* ---------------------------------------------------------------------- +set.cpp:------------------------------------------------------------------------- */ +set.cpp: // set fraction of atom types to newtype +set.cpp: // set dipole moments to random orientations in 3d or 2d +set.cpp: // dipole length is determined by dipole type array +set.cpp: scale = dvalue/sqrt(msq); +set.cpp: scale = dvalue/sqrt(msq); +set.cpp: // set spin moments to random orientations in 3d or 2d +set.cpp: // spin length is fixed to unity +set.cpp: scale = 1.0/sqrt(sp_sq); +set.cpp: scale = 1.0/sqrt(sp_sq); +set.cpp: // set quaternions to random orientations in 3d and 2d +set.cpp: // set theta to random orientation in 2d +set.cpp:/* ---------------------------------------------------------------------- */ +set.cpp: // error check +set.cpp: // border swap to acquire ghost atom info +set.cpp: // enforce PBC before in case atoms are outside box +set.cpp: // init entire system since comm->exchange is done +set.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc +set.cpp: // select both owned and ghost atoms +set.cpp: // for BOND, each of 2 atoms must be in group +set.cpp: // for ANGLE, each of 3 atoms must be in group +set.cpp: // for DIHEDRAL, each of 4 atoms must be in group +set.cpp: // for IMPROPER, each of 4 atoms must be in group +set.cpp:/* ---------------------------------------------------------------------- */ +special.cpp:/* ---------------------------------------------------------------------- +special.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +special.cpp: http://lammps.sandia.gov, Sandia National Laboratories +special.cpp:------------------------------------------------------------------------- */ +special.cpp:// allocate space for static class variable +special.cpp:/* ---------------------------------------------------------------------- */ +special.cpp:/* ---------------------------------------------------------------------- */ +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +special.cpp: // initialize nspecial counters to 0 +special.cpp: // ----------------------------------------------------- +special.cpp: // compute nspecial[i][0] = # of 1-2 neighbors of atom i +special.cpp: // ----------------------------------------------------- +special.cpp: // bond partners stored by atom itself +special.cpp: // if newton_bond off, then done +special.cpp: // else only counted 1/2 of all bonds, so count other half +special.cpp: // nbufmax = largest buffer needed to hold info from any proc +special.cpp: // info for each atom = global tag of 2nd atom in each bond +special.cpp: // fill buffer with global tags of bond partners of my atoms +special.cpp: // cycle buffer around ring of procs back to self +special.cpp: // when receive buffer, scan tags for atoms I own +special.cpp: // when find one, increment nspecial count for that atom +special.cpp: // ---------------------------------------------------- +special.cpp: // create onetwo[i] = list of 1-2 neighbors for atom i +special.cpp: // ---------------------------------------------------- +special.cpp: // count = accumulating counter +special.cpp: // add bond partners stored by atom to onetwo list +special.cpp: // if newton_bond off, then done +special.cpp: // else only stored 1/2 of all bonds, so store other half +special.cpp: // nbufmax = largest buffer needed to hold info from any proc +special.cpp: // info for each atom = 2 global tags in each bond +special.cpp: // fill buffer with global tags of both atoms in bond +special.cpp: // cycle buffer around ring of procs back to self +special.cpp: // when receive buffer, scan 2nd-atom tags for atoms I own +special.cpp: // when find one, add 1st-atom tag to onetwo list for 2nd atom +special.cpp: // ----------------------------------------------------- +special.cpp: // done if special_bond weights for 1-3, 1-4 are set to 1.0 +special.cpp: // ----------------------------------------------------- +special.cpp: // ----------------------------------------------------- +special.cpp: // compute nspecial[i][1] = # of 1-3 neighbors of atom i +special.cpp: // ----------------------------------------------------- +special.cpp: // nbufmax = largest buffer needed to hold info from any proc +special.cpp: // info for each atom = 2 scalars + list of 1-2 neighbors +special.cpp: // fill buffer with: +special.cpp: // (1) = counter for 1-3 neighbors, initialized to 0 +special.cpp: // (2) = # of 1-2 neighbors +special.cpp: // (3:N) = list of 1-2 neighbors +special.cpp: // cycle buffer around ring of procs back to self +special.cpp: // when receive buffer, scan list of 1-2 neighbors for atoms I own +special.cpp: // when find one, increment 1-3 count by # of 1-2 neighbors of my atom, +special.cpp: // subtracting one since my list will contain original atom +special.cpp: // extract count from buffer that has cycled back to me +special.cpp: // nspecial[i][1] = # of 1-3 neighbors of atom i +special.cpp: // ---------------------------------------------------- +special.cpp: // create onethree[i] = list of 1-3 neighbors for atom i +special.cpp: // ---------------------------------------------------- +special.cpp: // nbufmax = largest buffer needed to hold info from any proc +special.cpp: // info for each atom = 4 scalars + list of 1-2 neighs + list of 1-3 neighs +special.cpp: // fill buffer with: +special.cpp: // (1) = global tag of original atom +special.cpp: // (2) = # of 1-2 neighbors +special.cpp: // (3) = # of 1-3 neighbors +special.cpp: // (4) = counter for 1-3 neighbors, initialized to 0 +special.cpp: // (5:N) = list of 1-2 neighbors +special.cpp: // (N+1:2N) space for list of 1-3 neighbors +special.cpp: // cycle buffer around ring of procs back to self +special.cpp: // when receive buffer, scan list of 1-2 neighbors for atoms I own +special.cpp: // when find one, add its neighbors to 1-3 list +special.cpp: // increment the count in buf(i+4) +special.cpp: // exclude the atom whose tag = original +special.cpp: // this process may include duplicates but they will be culled later +special.cpp: // fill onethree with buffer values that have been returned to me +special.cpp: // sanity check: accumulated buf[i+3] count should equal +special.cpp: // nspecial[i][1] for each atom +special.cpp: // done if special_bond weights for 1-4 are set to 1.0 +special.cpp: // ----------------------------------------------------- +special.cpp: // compute nspecial[i][2] = # of 1-4 neighbors of atom i +special.cpp: // ----------------------------------------------------- +special.cpp: // nbufmax = largest buffer needed to hold info from any proc +special.cpp: // info for each atom = 2 scalars + list of 1-3 neighbors +special.cpp: // fill buffer with: +special.cpp: // (1) = counter for 1-4 neighbors, initialized to 0 +special.cpp: // (2) = # of 1-3 neighbors +special.cpp: // (3:N) = list of 1-3 neighbors +special.cpp: // cycle buffer around ring of procs back to self +special.cpp: // when receive buffer, scan list of 1-3 neighbors for atoms I own +special.cpp: // when find one, increment 1-4 count by # of 1-2 neighbors of my atom +special.cpp: // may include duplicates and original atom but they will be culled later +special.cpp: // extract count from buffer that has cycled back to me +special.cpp: // nspecial[i][2] = # of 1-4 neighbors of atom i +special.cpp: // ---------------------------------------------------- +special.cpp: // create onefour[i] = list of 1-4 neighbors for atom i +special.cpp: // ---------------------------------------------------- +special.cpp: // nbufmax = largest buffer needed to hold info from any proc +special.cpp: // info for each atom = 3 scalars + list of 1-3 neighs + list of 1-4 neighs +special.cpp: // fill buffer with: +special.cpp: // (1) = # of 1-3 neighbors +special.cpp: // (2) = # of 1-4 neighbors +special.cpp: // (3) = counter for 1-4 neighbors, initialized to 0 +special.cpp: // (4:N) = list of 1-3 neighbors +special.cpp: // (N+1:2N) space for list of 1-4 neighbors +special.cpp: // cycle buffer around ring of procs back to self +special.cpp: // when receive buffer, scan list of 1-3 neighbors for atoms I own +special.cpp: // when find one, add its neighbors to 1-4 list +special.cpp: // incrementing the count in buf(i+4) +special.cpp: // this process may include duplicates but they will be culled later +special.cpp: // fill onefour with buffer values that have been returned to me +special.cpp: // sanity check: accumulated buf[i+2] count should equal +special.cpp: // nspecial[i][2] for each atom +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +special.cpp: // clear map so it can be used as scratch space +special.cpp: // use map to cull duplicates +special.cpp: // exclude original atom explicitly +special.cpp: // adjust onetwo, onethree, onefour values to reflect removed duplicates +special.cpp: // must unset map for each atom +special.cpp: // re-create map +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +special.cpp: // ---------------------------------------------------- +special.cpp: // compute culled maxspecial = max # of special neighs of any atom +special.cpp: // ---------------------------------------------------- +special.cpp: // clear map so it can be used as scratch space +special.cpp: // unique = # of unique nspecial neighbors of one atom +special.cpp: // cull duplicates using map to check for them +special.cpp: // exclude original atom explicitly +special.cpp: // must unset map for each atom +special.cpp: // compute global maxspecial, must be at least 1 +special.cpp: // add in extra factor from special_bonds command +special.cpp: // allocate correct special array with same nmax, new maxspecial +special.cpp: // previously allocated one must be destroyed +special.cpp: // must make AtomVec class update its ptr to special +special.cpp: // ---------------------------------------------------- +special.cpp: // fill special array with 1-2, 1-3, 1-4 neighs for each atom +special.cpp: // ---------------------------------------------------- +special.cpp: // again use map to cull duplicates +special.cpp: // exclude original atom explicitly +special.cpp: // adjust nspecial[i] values to reflect removed duplicates +special.cpp: // nspecial[i][1] and nspecial[i][2] now become cumulative counters +special.cpp: // re-create map +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +special.cpp: // stats on old 1-3 neighbor counts +special.cpp: // if angles or dihedrals are defined, +special.cpp: // flag each 1-3 neigh if it appears in an angle or dihedral +special.cpp: // dflag = flag for 1-3 neighs of all owned atoms +special.cpp: // nbufmax = largest buffer needed to hold info from any proc +special.cpp: // info for each atom = list of 1,3 atoms in each angle stored by atom +special.cpp: // and list of 1,3 and 2,4 atoms in each dihedral stored by atom +special.cpp: // fill buffer with list of 1,3 atoms in each angle +special.cpp: // and with list of 1,3 and 2,4 atoms in each dihedral +special.cpp: // cycle buffer around ring of procs back to self +special.cpp: // when receive buffer, scan list of 1,3 atoms looking for atoms I own +special.cpp: // when find one, scan its 1-3 neigh list and mark I,J as in an angle +special.cpp: // delete 1-3 neighbors if they are not flagged in dflag +special.cpp: // clean up +special.cpp: // if no angles or dihedrals are defined, delete all 1-3 neighs +special.cpp: // stats on new 1-3 neighbor counts +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +special.cpp: // stats on old 1-4 neighbor counts +special.cpp: // if dihedrals are defined, flag each 1-4 neigh if it appears in a dihedral +special.cpp: // dflag = flag for 1-4 neighs of all owned atoms +special.cpp: // nbufmax = largest buffer needed to hold info from any proc +special.cpp: // info for each atom = list of 1,4 atoms in each dihedral stored by atom +special.cpp: // fill buffer with list of 1,4 atoms in each dihedral +special.cpp: // cycle buffer around ring of procs back to self +special.cpp: // when receive buffer, scan list of 1,4 atoms looking for atoms I own +special.cpp: // when find one, scan its 1-4 neigh list and mark I,J as in a dihedral +special.cpp: // delete 1-4 neighbors if they are not flagged in dflag +special.cpp: // clean up +special.cpp: // if no dihedrals are defined, delete all 1-4 neighs +special.cpp: // stats on new 1-4 neighbor counts +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +special.cpp:/* ---------------------------------------------------------------------- +special.cpp:------------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- +thermo.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +thermo.cpp: http://lammps.sandia.gov, Sandia National Laboratories +thermo.cpp:------------------------------------------------------------------------- */ +thermo.cpp:// lmptype.h must be first b/c this file uses MAXBIGINT and includes mpi.h +thermo.cpp:// due to OpenMPI bug which sets INT64_MAX via its mpi.h +thermo.cpp:// before lmptype.h can set flags to insure it is done correctly +thermo.cpp:// customize a new keyword by adding to this list: +thermo.cpp:// step, elapsed, elaplong, dt, time, cpu, tpcpu, spcpu, cpuremain, +thermo.cpp:// part, timeremain +thermo.cpp:// atoms, temp, press, pe, ke, etotal, enthalpy +thermo.cpp:// evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail +thermo.cpp:// vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz, +thermo.cpp:// xlat, ylat, zlat +thermo.cpp:// bonds, angles, dihedrals, impropers, +thermo.cpp:// pxx, pyy, pzz, pxy, pxz, pyz +thermo.cpp:// fmax, fnorm, nbuild, ndanger, +thermo.cpp:// cella, cellb, cellc, cellalpha, cellbeta, cellgamma +thermo.cpp:// customize a new thermo style by adding a DEFINE to this list +thermo.cpp:// also insure allocation of line string is correct in constructor +thermo.cpp:enum{IGNORE,WARN,ERROR}; // same as several files +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: // set thermo_modify defaults +thermo.cpp: // set style and corresponding lineflag +thermo.cpp: // custom style builds its own line of keywords, including wildcard expansion +thermo.cpp: // customize a new thermo style by adding to if statement +thermo.cpp: // allocate line string used for 3 tasks +thermo.cpp: // concat of custom style args +thermo.cpp: // one-time thermo output of header line +thermo.cpp: // each line of numeric thermo output +thermo.cpp: // 256 = extra for ONE or MULTI string or multi formatting +thermo.cpp: // 64 = max per-arg chars in header or numeric output +thermo.cpp: // expand args if any have wildcard character "*" +thermo.cpp: // if wildcard expansion occurred, free earg memory from exapnd_args() +thermo.cpp: // ptrs, flags, IDs for compute objects thermo may use or create +thermo.cpp: // count fields in line +thermo.cpp: // allocate per-field memory +thermo.cpp: // process line of keywords +thermo.cpp: // format strings +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: // format strings +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: // set normvalue to default setting unless user has specified it +thermo.cpp: // add Volume field if volume changes and not style = custom +thermo.cpp: // this check must come after domain init, so box_change is set +thermo.cpp: // set format string for each field +thermo.cpp: // include keyword if lineflag = MULTILINE +thermo.cpp: // add '/n' every 3 values if lineflag = MULTILINE +thermo.cpp: // add trailing '/n' to last value +thermo.cpp: // find current ptr for each Compute ID +thermo.cpp: // find current ptr for each Fix ID +thermo.cpp: // check that fix frequency is acceptable with thermo output frequency +thermo.cpp: // find current ptr for each Variable ID +thermo.cpp: // set ptrs to keyword-specific Compute objects +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: // check for lost atoms +thermo.cpp: // turn off normflag if natoms = 0 to avoid divide by 0 +thermo.cpp: // invoke Compute methods needed for thermo keywords +thermo.cpp: // if lineflag = MULTILINE, prepend step/cpu header line +thermo.cpp: // add each thermo value to line with its specific format +thermo.cpp: // print line to screen and logfile +thermo.cpp: // set to 1, so that subsequent invocations of CPU time will be non-zero +thermo.cpp: // e.g. via variables in print command +thermo.cpp:/* ---------------------------------------------------------------------- +thermo.cpp:------------------------------------------------------------------------- */ +thermo.cpp: // ntotal = current # of atoms +thermo.cpp: // if not checking or already warned, just return +thermo.cpp: // error message +thermo.cpp: // warning message +thermo.cpp: // reset total atom count +thermo.cpp:/* ---------------------------------------------------------------------- +thermo.cpp:------------------------------------------------------------------------- */ +thermo.cpp: // reset id_temp of pressure to new temperature ID +thermo.cpp: // either pressure currently being used by thermo or "thermo_press" +thermo.cpp: } else if (strcmp(arg[iarg],"lost/bond") == 0) { +thermo.cpp: // replace "d" in format_int_user with bigint format specifier +thermo.cpp: // use of &str[1] removes leading '%' from BIGINT_FORMAT string +thermo.cpp:/* ---------------------------------------------------------------------- +thermo.cpp:------------------------------------------------------------------------- */ +thermo.cpp: // n = specified fields + Volume field (added at run time) +thermo.cpp: // factor of 3 is max number of computes a single field can add +thermo.cpp:/* ---------------------------------------------------------------------- +thermo.cpp:------------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- +thermo.cpp:------------------------------------------------------------------------- */ +thermo.cpp: // customize a new keyword by adding to if statement +thermo.cpp: addfield("T/CPU",&Thermo::compute_tpcpu,FLOAT); +thermo.cpp: addfield("S/CPU",&Thermo::compute_spcpu,FLOAT); +thermo.cpp: // compute value = c_ID, fix value = f_ID, variable value = v_ID +thermo.cpp: // count trailing [] and store int arguments +thermo.cpp: // parse zero or one or two trailing brackets from ID +thermo.cpp: // argindex1,argindex2 = int inside each bracket pair, 0 if no bracket +thermo.cpp:/* ---------------------------------------------------------------------- +thermo.cpp:------------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- +thermo.cpp:------------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- +thermo.cpp:------------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- +thermo.cpp:------------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- +thermo.cpp:------------------------------------------------------------------------- */ +thermo.cpp: // turn off normflag if natoms = 0 to avoid divide by 0 +thermo.cpp: // normflag must be set for lo-level thermo routines that may be invoked +thermo.cpp: // invoke a lo-level thermo routine to compute the variable value +thermo.cpp: // if keyword requires a compute, error if thermo doesn't use the compute +thermo.cpp: // if inbetween runs and needed compute is not current, error +thermo.cpp: // if in middle of run and needed compute is not current, invoke it +thermo.cpp: // for keywords that use energy (evdwl, ebond, etc): +thermo.cpp: // check if energy was tallied on this timestep and set pe->invoked_flag +thermo.cpp: // this will trigger next timestep for energy tallying via addstep() +thermo.cpp: // this means keywords that use pe (pe, etotal, enthalpy) +thermo.cpp: // need to always invoke it even if invoked_flag is set, +thermo.cpp: // because evdwl/etc may have set invoked_flag w/out +thermo.cpp: // actually invoking pe->compute_scalar() +thermo.cpp: "thermo to use/init temp"); +thermo.cpp: "thermo to use/init press"); +thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); +thermo.cpp: "thermo to use/init temp"); +thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); +thermo.cpp: "thermo to use/init temp"); +thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); +thermo.cpp: "thermo to use/init temp"); +thermo.cpp: "thermo to use/init press"); +thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); +thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); +thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); +thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); +thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); +thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); +thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); +thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); +thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); +thermo.cpp: "thermo to use/init press"); +thermo.cpp: "thermo to use/init press"); +thermo.cpp: "thermo to use/init press"); +thermo.cpp: "thermo to use/init press"); +thermo.cpp: "thermo to use/init press"); +thermo.cpp: "thermo to use/init press"); +thermo.cpp:/* ---------------------------------------------------------------------- +thermo.cpp: compute/fix are normalized by atoms if returning extensive value +thermo.cpp:------------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: // check for out-of-range access if vector/array is variable length +thermo.cpp: if (normflag && compute->extscalar) dvalue /= natoms; +thermo.cpp: else if (compute->extvector == 1) dvalue /= natoms; +thermo.cpp: else if (compute->extlist[argindex1[ifield]-1]) dvalue /= natoms; +thermo.cpp: if (normflag && compute->extarray) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (normflag && fix->extscalar) dvalue /= natoms; +thermo.cpp: else if (fix->extvector == 1) dvalue /= natoms; +thermo.cpp: else if (fix->extlist[argindex1[ifield]-1]) dvalue /= natoms; +thermo.cpp: if (normflag && fix->extarray) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- +thermo.cpp: set ivalue/dvalue/bivalue if value is int/double/bigint +thermo.cpp:------------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (time_diff > 0.0 && cpu_diff > 0.0) dvalue = time_diff/cpu_diff; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (cpu_diff > 0.0) dvalue = step_diff/cpu_diff; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: (update->laststep - update->ntimestep) / +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (normflag) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (normflag) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (normflag) ke /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (normflag) vtmp /= natoms; +thermo.cpp: dvalue = etmp + ptmp*vtmp/(force->nktv2p); +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: dvalue += force->pair->etail / volume; +thermo.cpp: if (normflag) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (normflag) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: dvalue += force->pair->etail / volume; +thermo.cpp: if (normflag) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (normflag) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (normflag) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (normflag) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (normflag) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (normflag) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: if (normflag) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: dvalue = force->pair->etail / volume; +thermo.cpp: if (normflag) dvalue /= natoms; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: dvalue = force->mv2d * mass/dvalue; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: // Cos(alpha) = (xy.xz + ly.yz)/(b.c) +thermo.cpp: double cosalpha = (h[5]*h[4]+h[1]*h[3])/ +thermo.cpp: dvalue = acos(cosalpha)*180.0/MY_PI; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: // Cos(beta) = xz/c +thermo.cpp: double cosbeta = h[4]/sqrt(h[2]*h[2]+h[3]*h[3]+h[4]*h[4]); +thermo.cpp: dvalue = acos(cosbeta)*180.0/MY_PI; +thermo.cpp:/* ---------------------------------------------------------------------- */ +thermo.cpp: // Cos(gamma) = xy/b +thermo.cpp: double cosgamma = h[5]/sqrt(h[1]*h[1]+h[5]*h[5]); +thermo.cpp: dvalue = acos(cosgamma)*180.0/MY_PI; +timer.cpp:/* ---------------------------------------------------------------------- +timer.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +timer.cpp: http://lammps.sandia.gov, Sandia National Laboratories +timer.cpp:------------------------------------------------------------------------- */ +timer.cpp:#include +timer.cpp:#include +timer.cpp:// convert a timespec ([[HH:]MM:]SS) to seconds +timer.cpp:// the strings "off" and "unlimited" result in -1; +timer.cpp: // first handle allowed textual inputs +timer.cpp:// Return the CPU time for the current process in seconds very +timer.cpp:// much in the same way as MPI_Wtime() returns the wall time. +timer.cpp: // from MSD docs. +timer.cpp:#else /* ! _WIN32 */ +timer.cpp:#endif /* ! _WIN32 */ +timer.cpp:/* ---------------------------------------------------------------------- */ +timer.cpp:/* ---------------------------------------------------------------------- */ +timer.cpp:/* ---------------------------------------------------------------------- */ +timer.cpp:/* ---------------------------------------------------------------------- */ +timer.cpp:/* ---------------------------------------------------------------------- */ +timer.cpp:/* ---------------------------------------------------------------------- */ +timer.cpp:/* ---------------------------------------------------------------------- */ +timer.cpp:/* ---------------------------------------------------------------------- */ +timer.cpp:/* ---------------------------------------------------------------------- */ +timer.cpp:/* ---------------------------------------------------------------------- */ +timer.cpp: // format timeout setting +timer.cpp: // time since init_timeout() +timer.cpp: // remaining timeout in seconds +timer.cpp: // remaining 1/100ths of seconds +timer.cpp: // breaking s down into second/minutes/hours +timer.cpp: s = (s - seconds) / 60; +timer.cpp: const int hours = (s - minutes) / 60; +timer.cpp:/* ---------------------------------------------------------------------- */ +timer.cpp: // broadcast time to insure all ranks act the same. +timer.cpp:/* ---------------------------------------------------------------------- */ +timer.cpp:/* ---------------------------------------------------------------------- +timer.cpp:------------------------------------------------------------------------- */ +timer.cpp: // format timeout setting +universe.cpp:/* ---------------------------------------------------------------------- +universe.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +universe.cpp: http://lammps.sandia.gov, Sandia National Laboratories +universe.cpp:------------------------------------------------------------------------- */ +universe.cpp:/* ---------------------------------------------------------------------- +universe.cpp:------------------------------------------------------------------------- */ +universe.cpp:/* ---------------------------------------------------------------------- */ +universe.cpp:/* ---------------------------------------------------------------------- +universe.cpp:------------------------------------------------------------------------- */ +universe.cpp: if (i < (n-1)*nprocs/n) uni2orig[i] = i/(n-1) * n + (i % (n-1)); +universe.cpp: else uni2orig[i] = (i - (n-1)*nprocs/n) * n + n-1; +universe.cpp: // skip header = blank and comment lines +universe.cpp: // read nprocs lines +universe.cpp: // uni2orig = inverse mapping +universe.cpp: // bcast uni2org from proc 0 to all other universe procs +universe.cpp: // create new uworld communicator +universe.cpp:/* ---------------------------------------------------------------------- +universe.cpp:------------------------------------------------------------------------- */ +universe.cpp: // check for valid partition argument +universe.cpp: // str may not be empty and may only consist of digits or 'x' +universe.cpp: // 'x' may not be the first or last character +universe.cpp: // require minimum of 1 partition with 1 processor +universe.cpp:/* ---------------------------------------------------------------------- +universe.cpp:------------------------------------------------------------------------- */ +universe.cpp:// helper function to convert the LAMMPS date string to a version id +universe.cpp:// that can be used for both string and numerical comparisons +universe.cpp:// where newer versions are larger than older ones. +update.cpp:/* ---------------------------------------------------------------------- +update.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +update.cpp: http://lammps.sandia.gov, Sandia National Laboratories +update.cpp:------------------------------------------------------------------------- */ +update.cpp:/* ---------------------------------------------------------------------- */ +update.cpp:/* ---------------------------------------------------------------------- */ +update.cpp:/* ---------------------------------------------------------------------- */ +update.cpp: // init the appropriate integrate and/or minimize class +update.cpp: // if neither (e.g. from write_restart) then just return +update.cpp: // only set first_update if a run or minimize is being performed +update.cpp:/* ---------------------------------------------------------------------- */ +update.cpp: // physical constants from: +update.cpp: // http://physics.nist.gov/cuu/Constants/Table/allascii.txt +update.cpp: // using thermochemical calorie = 4.184 J +update.cpp: force->e_mass = 0.0; // not yet set +update.cpp: force->ftm2v = 1.0 / 48.88821291 / 48.88821291; +update.cpp: force->mv2d = 1.0 / 0.602214129; +update.cpp: force->e_mass = 1.0/1836.1527556560675; +update.cpp: force->ftm2v = 1.0 / 1.0364269e-4; +update.cpp: force->mv2d = 1.0 / 0.602214129; +update.cpp: force->e_mass = 0.0; // not yet set +update.cpp: force->e_mass = 0.0; // not yet set +update.cpp: force->e_mass = 0.0; // not yet set +update.cpp: force->e_mass = 0.0; // not yet set +update.cpp: force->e_mass = 0.0; // not yet set +update.cpp: force->e_mass = 0.0; // not yet set +update.cpp:/* ---------------------------------------------------------------------- */ +update.cpp: if (sflag == 1) sprintf(estyle,"%s/%s",arg[0],lmp->suffix); +update.cpp: else sprintf(estyle,"%s/%s",arg[0],lmp->suffix2); +update.cpp:/* ---------------------------------------------------------------------- +update.cpp:------------------------------------------------------------------------- */ +update.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); +update.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix2); +update.cpp:/* ---------------------------------------------------------------------- +update.cpp:------------------------------------------------------------------------- */ +update.cpp:/* ---------------------------------------------------------------------- */ +update.cpp:/* ---------------------------------------------------------------------- +update.cpp:------------------------------------------------------------------------- */ +update.cpp:/* ---------------------------------------------------------------------- +update.cpp:------------------------------------------------------------------------- */ +update.cpp:/* ---------------------------------------------------------------------- +update.cpp:------------------------------------------------------------------------- */ +update.cpp: // set atimestep to new timestep +update.cpp: // so future update_time() calls will be correct +update.cpp: // trigger reset of timestep for output +update.cpp: // do not allow any timestep-dependent fixes to be already defined +update.cpp: // reset eflag/vflag global so no commands will think eng/virial are current +update.cpp: // reset invoked flags of computes, +update.cpp: // so no commands will think they are current between runs +update.cpp: // clear timestep list of computes that store future invocation times +update.cpp: // Neighbor Bin/Stencil/Pair classes store timestamps that need to be cleared +update.cpp: // NOTE: 7Jun12, adding rerun command, don't think this is required +update.cpp: //for (int i = 0; i < domain->nregion; i++) +update.cpp: // if (domain->regions[i]->dynamic_check()) +update.cpp: // error->all(FLERR,"Cannot reset timestep with a dynamic region defined"); +update.cpp:/* ---------------------------------------------------------------------- +update.cpp:------------------------------------------------------------------------- */ +update.cpp:/* ---------------------------------------------------------------------- +update.cpp: memory usage of update and integrate/minimize +update.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +variable.cpp: http://lammps.sandia.gov, Sandia National Laboratories +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:#define VALUELENGTH 64 // also in python.cpp +variable.cpp:// customize by adding a function +variable.cpp:// if add before XOR: +variable.cpp:// also set precedence level in constructor and precedence length in *.h +variable.cpp:// customize by adding a special function +variable.cpp:/* ---------------------------------------------------------------------- */ +variable.cpp: // customize by assigning a precedence level +variable.cpp:/* ---------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // DELETE +variable.cpp: // doesn't matter if variable no longer exists +variable.cpp: // INDEX +variable.cpp: // num = listed args, which = 1st value, data = copied args +variable.cpp: // LOOP +variable.cpp: // 1 arg + pad: num = N, which = 1st value, data = single string +variable.cpp: // 2 args + pad: num = N2, which = N1, data = single string +variable.cpp: // WORLD +variable.cpp: // num = listed args, which = partition this proc is in, data = copied args +variable.cpp: // error check that num = # of worlds in universe +variable.cpp: // UNIVERSE and ULOOP +variable.cpp: // for UNIVERSE: num = listed args, data = copied args +variable.cpp: // for ULOOP: num = N, data = single string +variable.cpp: // which = partition this proc is in +variable.cpp: // universe proc 0 creates lock file +variable.cpp: // error check that all other universe/uloop variables are same length +variable.cpp: error->all(FLERR,"Universe/uloop variable count < # of partitions"); +variable.cpp: "All universe/uloop variables must have same # of values"); +variable.cpp: // STRING +variable.cpp: // replace pre-existing var if also style STRING (allows it to be reset) +variable.cpp: // num = 1, which = 1st value +variable.cpp: // data = 1 value, string to eval +variable.cpp: // GETENV +variable.cpp: // remove pre-existing var if also style GETENV (allows it to be reset) +variable.cpp: // num = 1, which = 1st value +variable.cpp: // data = 1 value, string to eval +variable.cpp: // SCALARFILE for strings or numbers +variable.cpp: // which = 1st value +variable.cpp: // data = 1 value, string to eval +variable.cpp: // ATOMFILE for numbers +variable.cpp: // which = 1st value +variable.cpp: // data = NULL +variable.cpp: // FORMAT +variable.cpp: // num = 3, which = 1st value +variable.cpp: // data = 3 values +variable.cpp: // 1st is name of variable to eval, 2nd is format string, +variable.cpp: // 3rd is filled on retrieval +variable.cpp: // EQUAL +variable.cpp: // replace pre-existing var if also style EQUAL (allows it to be reset) +variable.cpp: // num = 2, which = 1st value +variable.cpp: // data = 2 values, 1st is string to eval, 2nd is filled on retrieval +variable.cpp: // ATOM +variable.cpp: // replace pre-existing var if also style ATOM (allows it to be reset) +variable.cpp: // num = 1, which = 1st value +variable.cpp: // data = 1 value, string to eval +variable.cpp: // VECTOR +variable.cpp: // replace pre-existing var if also style VECTOR (allows it to be reset) +variable.cpp: // num = 1, which = 1st value +variable.cpp: // data = 1 value, string to eval +variable.cpp: // PYTHON +variable.cpp: // replace pre-existing var if also style PYTHON (allows it to be reset) +variable.cpp: // num = 2, which = 1st value +variable.cpp: // data = 2 values, 1st is Python func to invoke, 2nd is filled by invoke +variable.cpp: // INTERNAL +variable.cpp: // replace pre-existing var if also style INTERNAL (allows it to be reset) +variable.cpp: // num = 1, for string representation of dvalue, set by retrieve() +variable.cpp: // dvalue = numeric initialization from 2nd arg, reset by internal_set() +variable.cpp: // set name of variable, if not replacing one flagged with replaceflag +variable.cpp: // name must be all alphanumeric chars or underscores +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // check that variables exist and are all the same style +variable.cpp: // exception: UNIVERSE and ULOOP variables can be mixed in same next command +variable.cpp: // invalid styles: STRING, EQUAL, WORLD, ATOM, VECTOR, GETENV, +variable.cpp: // FORMAT, PYTHON, INTERNAL +variable.cpp: // if istyle = UNIVERSE or ULOOP, insure all such variables are incremented +variable.cpp: // increment all variables in list +variable.cpp: // if any variable is exhausted, set flag = 1 and remove var to allow re-use +variable.cpp: // wait until lock file can be created and owned by proc 0 of this world +variable.cpp: // rename() is not atomic in practice, but no known simple fix +variable.cpp: // means multiple procs can read/write file at the same time (bad!) +variable.cpp: // random delays help +variable.cpp: // delay for random fraction of 1 second before first rename() call +variable.cpp: // delay for random fraction of 1 second before subsequent tries +variable.cpp: // when successful, read next available index and Bcast it within my world +variable.cpp: //printf("READ %d %d\n",universe->me,nextindex); +variable.cpp: //printf("WRITE %d %d\n",universe->me,nextindex+1); +variable.cpp: // set all variables in list to nextindex +variable.cpp: // must increment all UNIVERSE and ULOOP variables here +variable.cpp: // error check above tested for this +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // if Python func returns a string longer than VALUELENGTH +variable.cpp: // then the Python class stores the result, query it via long_string() +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // (re)allocate space for results if necessary +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp: math operation = (),-x,x+y,x-y,x*y,x/y,x^y, +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // whitespace: just skip +variable.cpp: // ---------------- +variable.cpp: // parentheses: recursively evaluate contents of parens +variable.cpp: // ---------------- +variable.cpp: // evaluate contents and push on stack +variable.cpp: // ---------------- +variable.cpp: // number: push value onto stack +variable.cpp: // ---------------- +variable.cpp: // istop = end of number, including scientific notation +variable.cpp: // ---------------- +variable.cpp: // letter: c_ID, c_ID[], c_ID[][], f_ID, f_ID[], f_ID[][], +variable.cpp: // v_name, v_name[], exp(), xcm(,), x, x[], PI, vol +variable.cpp: // ---------------- +variable.cpp: // istop = end of word +variable.cpp: // word = all alphanumeric or underscore +variable.cpp: // ---------------- +variable.cpp: // compute +variable.cpp: // ---------------- +variable.cpp: // uppercase used to force access of +variable.cpp: // global vector vs global scalar, and global array vs global vector +variable.cpp: // parse zero or one or two trailing brackets +variable.cpp: // point i beyond last bracket +variable.cpp: // nbracket = # of bracket pairs +variable.cpp: // index1,index2 = int inside each bracket pair, possibly an atom ID +variable.cpp: // c_ID = scalar from global scalar, must be lowercase +variable.cpp: // c_ID[i] = scalar from global vector, must be lowercase +variable.cpp: // c_ID[i][j] = scalar from global array, must be lowercase +variable.cpp: // c_ID = vector from global vector, lowercase or uppercase +variable.cpp: // c_ID[i] = vector from global array, lowercase or uppercase +variable.cpp: // c_ID[i] = scalar from per-atom vector +variable.cpp: // c_ID[i][j] = scalar from per-atom array +variable.cpp: // c_ID = vector from per-atom vector +variable.cpp: // c_ID[i] = vector from per-atom array +variable.cpp: // ---------------- +variable.cpp: // fix +variable.cpp: // ---------------- +variable.cpp: // uppercase used to force access of +variable.cpp: // global vector vs global scalar, and global array vs global vector +variable.cpp: // parse zero or one or two trailing brackets +variable.cpp: // point i beyond last bracket +variable.cpp: // nbracket = # of bracket pairs +variable.cpp: // index1,index2 = int inside each bracket pair, possibly an atom ID +variable.cpp: // f_ID = scalar from global scalar, must be lowercase +variable.cpp: // f_ID[i] = scalar from global vector, must be lowercase +variable.cpp: // f_ID[i][j] = scalar from global array, must be lowercase +variable.cpp: // f_ID = vector from global vector, lowercase or uppercase +variable.cpp: // f_ID[i] = vector from global array, lowercase or uppercase +variable.cpp: // f_ID[i] = scalar from per-atom vector +variable.cpp: // f_ID[i][j] = scalar from per-atom array +variable.cpp: // f_ID = vector from per-atom vector +variable.cpp: // f_ID[i] = vector from per-atom array +variable.cpp: // ---------------- +variable.cpp: // variable +variable.cpp: // ---------------- +variable.cpp: // parse zero or one trailing brackets +variable.cpp: // point i beyond last bracket +variable.cpp: // nbracket = # of bracket pairs +variable.cpp: // index = int inside bracket, possibly an atom ID +variable.cpp: // v_name = scalar from internal-style variable +variable.cpp: // access value directly +variable.cpp: // v_name = scalar from non atom/atomfile & non vector-style variable +variable.cpp: // access value via retrieve() +variable.cpp: // v_name = per-atom vector from atom-style variable +variable.cpp: // evaluate the atom-style variable as newtree +variable.cpp: // v_name = per-atom vector from atomfile-style variable +variable.cpp: // v_name = vector from vector-style variable +variable.cpp: // evaluate the vector-style variable, put result in newtree +variable.cpp: // v_name[N] = scalar from atom-style variable +variable.cpp: // compute the per-atom variable in result +variable.cpp: // use peratom2global to extract single value from result +variable.cpp: // v_name[N] = scalar from atomfile-style variable +variable.cpp: // v_name[N] = scalar from vector-style variable +variable.cpp: // compute the vector-style variable, extract single value +variable.cpp: int m = index; // convert from tagint to int +variable.cpp: // ---------------- +variable.cpp: // math/group/special function or atom value/vector or +variable.cpp: // constant or thermo keyword +variable.cpp: // ---------------- +variable.cpp: // ---------------- +variable.cpp: // math or group or special function +variable.cpp: // ---------------- +variable.cpp: else error->all(FLERR,"Invalid math/group/special function " +variable.cpp: // ---------------- +variable.cpp: // atom value +variable.cpp: // ---------------- +variable.cpp: // ---------------- +variable.cpp: // atom vector +variable.cpp: // ---------------- +variable.cpp: // ---------------- +variable.cpp: // constant +variable.cpp: // ---------------- +variable.cpp: // ---------------- +variable.cpp: // thermo keyword +variable.cpp: // ---------------- +variable.cpp: // ---------------- +variable.cpp: // math operator, including end-of-string +variable.cpp: // ---------------- +variable.cpp: } else if (strchr("+-*/^<>=!&|%\0",onechar)) { +variable.cpp: else if (onechar == '/') op = DIVIDE; +variable.cpp: // evaluate stack as deep as possible while respecting precedence +variable.cpp: // before pushing current op onto stack +variable.cpp: argstack[nargstack++] = value1 / value2; +variable.cpp: // if end-of-string, break out of entire formula evaluation loop +variable.cpp: // push current operation onto stack +variable.cpp: // for atom-style variable, return remaining tree +variable.cpp: // for equal-style variable, return remaining arg +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:---------------------------------------------------------------------- */ +variable.cpp: tree->value = arg1 / arg2; +variable.cpp: error->one(FLERR,"Log of zero/negative value in variable formula"); +variable.cpp: error->one(FLERR,"Log of zero/negative value in variable formula"); +variable.cpp: // random() or normal() do not become a single collapsed value +variable.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +variable.cpp: int lower = update->ntimestep/ivalue1 * ivalue1; +variable.cpp: int multiple = update->ntimestep/lower; +variable.cpp: double delta = ivalue1*(ivalue3-1.0)/ivalue2; +variable.cpp: tree->value = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; +variable.cpp: istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; +variable.cpp: istep = ivalue4 + (offset/ivalue6)*ivalue6 + ivalue6; +variable.cpp: istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; +variable.cpp: double omega = 2.0*MY_PI/arg3; +variable.cpp: double omega = 2.0*MY_PI/arg3; +variable.cpp: // mask functions do not become a single collapsed value +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:---------------------------------------------------------------------- */ +variable.cpp: return eval_tree(tree->first,i) / denom; +variable.cpp: error->one(FLERR,"Log of zero/negative value in variable formula"); +variable.cpp: error->one(FLERR,"Log of zero/negative value in variable formula"); +variable.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +variable.cpp: int lower = update->ntimestep/ivalue1 * ivalue1; +variable.cpp: int multiple = update->ntimestep/lower; +variable.cpp: double delta = ivalue1*(ivalue3-1.0)/ivalue2; +variable.cpp: arg = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; +variable.cpp: istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; +variable.cpp: istep = ivalue4 + (offset/ivalue6)*ivalue6 + ivalue6; +variable.cpp: istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; +variable.cpp: double omega = 2.0*MY_PI/arg3; +variable.cpp: double omega = 2.0*MY_PI/arg3; +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // istop = matching ')' at same level, allowing for nested parens +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // evaluate index as floating point variable or as tagint via ATOTAGINT() +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // word not a match to any math function +variable.cpp: // parse contents for comma-separated args +variable.cpp: // narg = number of args, args = strings between commas +variable.cpp: // individual math functions +variable.cpp: // customize by adding a function +variable.cpp: error->all(FLERR,"Log of zero/negative value in variable formula"); +variable.cpp: error->all(FLERR,"Log of zero/negative value in variable formula"); +variable.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; +variable.cpp: int lower = update->ntimestep/ivalue1 * ivalue1; +variable.cpp: int multiple = update->ntimestep/lower; +variable.cpp: double delta = ivalue1*(ivalue3-1.0)/ivalue2; +variable.cpp: value = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; +variable.cpp: istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; +variable.cpp: istep = ivalue4 + (offset/ivalue6)*ivalue6 + ivalue6; +variable.cpp: istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; +variable.cpp: double omega = 2.0*MY_PI/values[0]; +variable.cpp: double omega = 2.0*MY_PI/values[0]; +variable.cpp: // delete stored args +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // word not a match to any group function +variable.cpp: // parse contents for comma-separated args +variable.cpp: // narg = number of args, args = strings between commas +variable.cpp: // group to operate on +variable.cpp: // match word to group function +variable.cpp: // delete stored args +variable.cpp: // save value in tree or on argstack +variable.cpp:/* ---------------------------------------------------------------------- */ +variable.cpp: // init region in case sub-regions have been deleted +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // word not a match to any special function +variable.cpp: // parse contents for comma-separated args +variable.cpp: // narg = number of args, args = strings between commas +variable.cpp: // special functions that operate on global vectors +variable.cpp: // argument is compute +variable.cpp: // argument is fix +variable.cpp: // argument is vector-style variable +variable.cpp: if (nvec > 1) xvalue = (double) i / (nvec-1); +variable.cpp: if (nvec > 1) xvalue = (double) i / (nvec-1); +variable.cpp: if (nvec > 1) xvalue = (double) i / (nvec-1); +variable.cpp: if (method == AVE) value /= nvec; +variable.cpp: if (denominator != 0.0) value = numerator/denominator / nvec; +variable.cpp: // save value in tree or on argstack +variable.cpp: // mask special functions +variable.cpp: // special function for file-style or atomfile-style variables +variable.cpp: // SCALARFILE has single current value, read next one +variable.cpp: // save value in tree or on argstack +variable.cpp: // ATOMFILE has per-atom values, save values in tree +variable.cpp: // copy current per-atom values into result so can read next ones +variable.cpp: // set selfalloc = 1 so result will be deleted by free_tree() after eval +variable.cpp: // save value in tree or on argstack +variable.cpp: // save value in tree or on argstack +variable.cpp: // save value in tree or on argstack +variable.cpp: // delete stored args +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // error check for ID larger than any atom +variable.cpp: // int_between_brackets() already checked for ID <= 0 +variable.cpp: // if ID does not exist, index will be -1 for all procs, +variable.cpp: // and mine will be set to 0.0 +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: int flag; // 0 for numeric value, 1 for string +variable.cpp: double value; // stored numeric value +variable.cpp: char *str; // stored string +variable.cpp: // whitespace: just skip +variable.cpp: // ---------------- +variable.cpp: // parentheses: recursively evaluate contents of parens +variable.cpp: // ---------------- +variable.cpp: // evaluate contents and push on stack +variable.cpp: // ---------------- +variable.cpp: // number: push value onto stack +variable.cpp: // ---------------- +variable.cpp: // set I to end of number, including scientific notation +variable.cpp: // ---------------- +variable.cpp: // string: push string onto stack +variable.cpp: // ---------------- +variable.cpp: // set I to end of string +variable.cpp: // ---------------- +variable.cpp: // Boolean operator, including end-of-string +variable.cpp: // ---------------- +variable.cpp: // evaluate stack as deep as possible while respecting precedence +variable.cpp: // before pushing current op onto stack +variable.cpp: // if end-of-string, break out of entire formula evaluation loop +variable.cpp: // push current operation onto stack +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // if atomfile-style variable, must store per-atom values read from file +variable.cpp: // allocate a new fix STORE, so they persist +variable.cpp: // id = variable-ID + VARIABLE_STORE, fix group = all +variable.cpp:/* ---------------------------------------------------------------------- */ +variable.cpp: // check modify in case all fixes have already been deleted +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // read one string from file +variable.cpp: if (n == 0) break; // end of file +variable.cpp: str[n-1] = '\0'; // strip newline +variable.cpp: if ((ptr = strchr(str,'#'))) *ptr = '\0'; // strip comment +variable.cpp: if (strtok(str," \t\n\r\f") == NULL) continue; // skip if blank +variable.cpp:/* ---------------------------------------------------------------------- +variable.cpp:------------------------------------------------------------------------- */ +variable.cpp: // set all per-atom values to 0.0 +variable.cpp: // values that appear in file will overwrite this +variable.cpp: // read one string from file, convert to Nlines +variable.cpp: if (n == 0) break; // end of file +variable.cpp: str[n-1] = '\0'; // strip newline +variable.cpp: if ((ptr = strchr(str,'#'))) *ptr = '\0'; // strip comment +variable.cpp: if (strtok(str," \t\n\r\f") == NULL) continue; // skip if blank +velocity.cpp:/* ---------------------------------------------------------------------- +velocity.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +velocity.cpp: http://lammps.sandia.gov, Sandia National Laboratories +velocity.cpp:------------------------------------------------------------------------- */ +velocity.cpp:/* ---------------------------------------------------------------------- */ +velocity.cpp:/* ---------------------------------------------------------------------- */ +velocity.cpp: // atom masses must all be set +velocity.cpp: // identify group +velocity.cpp: // identify style +velocity.cpp: // set defaults +velocity.cpp: // read options from end of input line +velocity.cpp: // change defaults as options specify +velocity.cpp: // special cases where full init and border communication must be done first +velocity.cpp: // for ZERO if fix rigid/small is used +velocity.cpp: // for CREATE/SET if compute temp/cs is used +velocity.cpp: // b/c methods invoked in the compute/fix perform forward/reverse comm +velocity.cpp: strcmp(modify->fix[rfix]->style,"rigid/small") == 0) initcomm = 1; +velocity.cpp: strcmp(temperature->style,"temp/cs") == 0) initcomm = 1; +velocity.cpp: // initialize velocities based on style +velocity.cpp: // create() invoked differently, so can be called externally +velocity.cpp:/* ---------------------------------------------------------------------- +velocity.cpp:------------------------------------------------------------------------- */ +velocity.cpp:/* ---------------------------------------------------------------------- */ +velocity.cpp: // if sum_flag set, store a copy of current velocities +velocity.cpp: // if temperature = NULL or bias_flag set, +velocity.cpp: // create a new ComputeTemp with the velocity group +velocity.cpp: // initialize temperature computation(s) +velocity.cpp: // warn if groups don't match +velocity.cpp: // if bias_flag set, remove bias velocity from all atoms +velocity.cpp: // for some temperature computes, must first calculate temp to do that +velocity.cpp: // create new velocities, in uniform or gaussian distribution +velocity.cpp: // loop option determines looping style, ALL is default +velocity.cpp: // ALL = loop over all natoms, only set those I own via atom->map +velocity.cpp: // cannot do this if atom IDs do not span 1-Natoms (some were deleted) +velocity.cpp: // will produce same V, independent of P, if atoms were read-in +velocity.cpp: // will NOT produce same V, independent of P, if used create_atoms +velocity.cpp: // LOCAL = only loop over my atoms, adjust RNG to be proc-specific +velocity.cpp: // will never produce same V, independent of P +velocity.cpp: // GEOM = only loop over my atoms +velocity.cpp: // choose RNG for each atom based on its xyz coord (geometry) +velocity.cpp: // via random->reset() +velocity.cpp: // will always produce same V, independent of P +velocity.cpp: // adjust by factor for atom mass +velocity.cpp: // set xdim,ydim,zdim = 1/0 for whether to create velocity in those dims +velocity.cpp: // zdim = 0 for 2d +velocity.cpp: // any dims can be 0 if bias temperature compute turns them off +velocity.cpp: // currently only temp/partial does +velocity.cpp: // create an atom map if one doesn't exist already +velocity.cpp: // error check +velocity.cpp: // loop over all atoms in system +velocity.cpp: // generate RNGs for all atoms, only assign to ones I own +velocity.cpp: // use either per-type mass or per-atom rmass +velocity.cpp: if (rmass) factor = 1.0/sqrt(rmass[m]); +velocity.cpp: else factor = 1.0/sqrt(mass[type[m]]); +velocity.cpp: // delete temporary atom map +velocity.cpp: if (rmass) factor = 1.0/sqrt(rmass[i]); +velocity.cpp: else factor = 1.0/sqrt(mass[type[i]]); +velocity.cpp: if (rmass) factor = 1.0/sqrt(rmass[i]); +velocity.cpp: else factor = 1.0/sqrt(mass[type[i]]); +velocity.cpp: // apply momentum and rotation zeroing +velocity.cpp: // scale temp to desired value +velocity.cpp: // if bias flag is set, bias velocities have already been removed: +velocity.cpp: // no-bias compute calculates temp only for new thermal velocities +velocity.cpp: // if bias_flag set, restore bias velocity to all atoms +velocity.cpp: // reapply needed for temperature computes where velocity +velocity.cpp: // creation has messed up the bias that was already removed: +velocity.cpp: // compute temp/partial needs to reset v dims to 0.0 +velocity.cpp: // compute temp/cs needs to reset v to COM velocity of each C/S pair +velocity.cpp: // if sum_flag set, add back in previous velocities +velocity.cpp: // free local memory +velocity.cpp: // if temperature compute was created, delete it +velocity.cpp:/* ---------------------------------------------------------------------- */ +velocity.cpp: // parse 3 args +velocity.cpp: // set and apply scale factors +velocity.cpp: // check variables +velocity.cpp: // error check for 2d models +velocity.cpp: // allocate vfield array if necessary +velocity.cpp: // set velocities via constants +velocity.cpp: // set velocities via variables +velocity.cpp: // clean up +velocity.cpp:/* ---------------------------------------------------------------------- +velocity.cpp:------------------------------------------------------------------------- */ +velocity.cpp: // if temperature = NULL, create a new ComputeTemp with the velocity group +velocity.cpp: // initialize temperature computation +velocity.cpp: // warn if groups don't match +velocity.cpp: // scale temp to desired value +velocity.cpp: // if bias flag is set: +velocity.cpp: // temperature calculation will be done accounting for bias +velocity.cpp: // remove/restore bias velocities before/after rescale +velocity.cpp: // if temperature was created, delete it +velocity.cpp:/* ---------------------------------------------------------------------- +velocity.cpp:------------------------------------------------------------------------- */ +velocity.cpp: // set scale factors +velocity.cpp: // parse args +velocity.cpp: // vramp = ramped velocity component for v_dim +velocity.cpp: // add or set based on sum_flag +velocity.cpp: fraction = (x[i][coord_dim] - coord_lo) / (coord_hi - coord_lo); +velocity.cpp:/* ---------------------------------------------------------------------- +velocity.cpp:------------------------------------------------------------------------- */ +velocity.cpp: else if (strcmp(modify->fix[rfix]->style,"rigid/small") == 0) { +velocity.cpp: else if (strcmp(modify->fix[rfix]->style,"rigid/small") == 0) { +velocity.cpp:/* ---------------------------------------------------------------------- +velocity.cpp:------------------------------------------------------------------------- */ +velocity.cpp: double factor = sqrt(t_new/t_old); +velocity.cpp:/* ---------------------------------------------------------------------- +velocity.cpp:------------------------------------------------------------------------- */ +velocity.cpp: // cannot have no atoms in group +velocity.cpp: // compute velocity of center-of-mass of group +velocity.cpp: // adjust velocities by vcm to zero linear momentum +velocity.cpp:/* ---------------------------------------------------------------------- +velocity.cpp:------------------------------------------------------------------------- */ +velocity.cpp: // cannot have no atoms in group +velocity.cpp: // compute omega (angular velocity) of group around center-of-mass +velocity.cpp: // adjust velocities to zero omega +velocity.cpp: // vnew_i = v_i - w x r_i +velocity.cpp: // must use unwrapped coords to compute r_i correctly +velocity.cpp:/* ---------------------------------------------------------------------- +velocity.cpp:------------------------------------------------------------------------- */ +velocity.cpp: // error check +verlet.cpp:/* ---------------------------------------------------------------------- +verlet.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +verlet.cpp: http://lammps.sandia.gov, Sandia National Laboratories +verlet.cpp:------------------------------------------------------------------------- */ +verlet.cpp:/* ---------------------------------------------------------------------- */ +verlet.cpp:/* ---------------------------------------------------------------------- +verlet.cpp:------------------------------------------------------------------------- */ +verlet.cpp: // warn if no fixes +verlet.cpp: // virial_style: +verlet.cpp: // 1 if computed explicitly by pair->compute via sum over pair interactions +verlet.cpp: // 2 if computed implicitly by pair->virial_fdotr_compute via sum over ghosts +verlet.cpp: // setup lists of computes for global and per-atom PE and pressure +verlet.cpp: // detect if fix omp is present for clearing force arrays +verlet.cpp: // set flags for arrays to clear in force_clear() +verlet.cpp: // orthogonal vs triclinic simulation box +verlet.cpp:/* ---------------------------------------------------------------------- +verlet.cpp:------------------------------------------------------------------------- */ +verlet.cpp: error->all(FLERR,"KOKKOS package requires run_style verlet/kk"); +verlet.cpp: // setup domain, communication and neighboring +verlet.cpp: // acquire ghosts +verlet.cpp: // build neighbor lists +verlet.cpp: // compute all forces +verlet.cpp:/* ---------------------------------------------------------------------- +verlet.cpp:------------------------------------------------------------------------- */ +verlet.cpp: // setup domain, communication and neighboring +verlet.cpp: // acquire ghosts +verlet.cpp: // build neighbor lists +verlet.cpp: // compute all forces +verlet.cpp:/* ---------------------------------------------------------------------- +verlet.cpp:------------------------------------------------------------------------- */ +verlet.cpp: // initial time integration +verlet.cpp: // regular communication vs neighbor list rebuild +verlet.cpp: // force computations +verlet.cpp: // important for pair to come before bonded contributions +verlet.cpp: // since some bonded potentials tally pairwise energy/virial +verlet.cpp: // and Pair:ev_tally() needs to be called before any tallying +verlet.cpp: // reverse communication of forces +verlet.cpp: // force modifications, final time integration, diagnostics +verlet.cpp: // all output +verlet.cpp:/* ---------------------------------------------------------------------- */ +verlet.cpp:/* ---------------------------------------------------------------------- +verlet.cpp:------------------------------------------------------------------------- */ +verlet.cpp: // clear force on all particles +verlet.cpp: // if either newton flag is set, also include ghosts +verlet.cpp: // when using threads always clear all forces. +verlet.cpp: //test memset for fm +verlet.cpp: //memset(&atom->fm[0][0],0,3*nbytes); +verlet.cpp: // neighbor includegroup flag is set +verlet.cpp: // clear force only on initial nfirst particles +verlet.cpp: // if either newton flag is set, also include ghosts +write_coeff.cpp:/* ---------------------------------------------------------------------- +write_coeff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +write_coeff.cpp: http://lammps.sandia.gov, Sandia National Laboratories +write_coeff.cpp:------------------------------------------------------------------------- */ +write_coeff.cpp:/* ---------------------------------------------------------------------- +write_coeff.cpp:------------------------------------------------------------------------- */ +write_coeff.cpp: // initialize relevant styles +write_coeff.cpp: fputs(str,two); // style +write_coeff.cpp: fgets(str,256,one); // coeff +write_data.cpp:/* ---------------------------------------------------------------------- +write_data.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +write_data.cpp: http://lammps.sandia.gov, Sandia National Laboratories +write_data.cpp:------------------------------------------------------------------------- */ +write_data.cpp:enum{IGNORE,WARN,ERROR}; // same as thermo.cpp +write_data.cpp:/* ---------------------------------------------------------------------- */ +write_data.cpp:/* ---------------------------------------------------------------------- +write_data.cpp:------------------------------------------------------------------------- */ +write_data.cpp: // if filename contains a "*", replace with current timestep +write_data.cpp: // read optional args +write_data.cpp: // noinit is a hidden arg, only used by -r command-line switch +write_data.cpp: // init entire system since comm->exchange is done +write_data.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc +write_data.cpp: // exception is when called by -r command-line switch +write_data.cpp: // then write_data immediately follows reading of restart file +write_data.cpp: // assume that read_restart initialized necessary values +write_data.cpp: // if don't make exception: +write_data.cpp: // pair->init() can fail due to various unset values: +write_data.cpp: // e.g. pair hybrid coeffs, dpd ghost-atom velocity setting +write_data.cpp: // move atoms to new processors before writing file +write_data.cpp: // do setup_pre_exchange to force update of per-atom info if needed +write_data.cpp: // enforce PBC in case atoms are outside box +write_data.cpp: // call borders() to rebuild atom map since exchange() destroys map +write_data.cpp:/* ---------------------------------------------------------------------- +write_data.cpp: might later let it be directly called within run/minimize loop +write_data.cpp:------------------------------------------------------------------------- */ +write_data.cpp: // special case where reneighboring is not done in integrator +write_data.cpp: // on timestep data file is written (due to build_once being set) +write_data.cpp: // if box is changing, must be reset, else data file will have +write_data.cpp: // wrong box size and atoms will be lost when data file is read +write_data.cpp: // other calls to pbc and domain and comm are not made, +write_data.cpp: // b/c they only make sense if reneighboring is actually performed +write_data.cpp: //if (neighbor->build_once) domain->reset_box(); +write_data.cpp: // natoms = sum of nlocal = value to write into data file +write_data.cpp: // if unequal and thermo lostflag is "error", don't write data file +write_data.cpp: // sum up bond,angle counts +write_data.cpp: // may be different than atom->nbonds,nangles if broken/turned-off +write_data.cpp: // open data file +write_data.cpp: // proc 0 writes header, ntype-length arrays, force fields +write_data.cpp: // per atom info +write_data.cpp: // do not write molecular topology for atom_style template +write_data.cpp: // extra sections managed by fixes +write_data.cpp: // close data file +write_data.cpp:/* ---------------------------------------------------------------------- +write_data.cpp:------------------------------------------------------------------------- */ +write_data.cpp: // do not write molecular topology info for atom_style template +write_data.cpp:/* ---------------------------------------------------------------------- +write_data.cpp:------------------------------------------------------------------------- */ +write_data.cpp:/* ---------------------------------------------------------------------- +write_data.cpp:------------------------------------------------------------------------- */ +write_data.cpp:/* ---------------------------------------------------------------------- +write_data.cpp:------------------------------------------------------------------------- */ +write_data.cpp: // communication buffer for all my Atom info +write_data.cpp: // max_size = largest buffer needed by any proc +write_data.cpp: // pack my atom data into buf +write_data.cpp: // write one chunk of atoms per proc to file +write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file +write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 +write_data.cpp: recvrow /= ncol; +write_data.cpp:/* ---------------------------------------------------------------------- +write_data.cpp:------------------------------------------------------------------------- */ +write_data.cpp: // communication buffer for all my Atom info +write_data.cpp: // max_size = largest buffer needed by any proc +write_data.cpp: // pack my velocity data into buf +write_data.cpp: // write one chunk of velocities per proc to file +write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file +write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 +write_data.cpp: recvrow /= ncol; +write_data.cpp:/* ---------------------------------------------------------------------- +write_data.cpp:------------------------------------------------------------------------- */ +write_data.cpp: // communication buffer for all my Bond info +write_data.cpp: // pack my bond data into buf +write_data.cpp: // write one chunk of info per proc to file +write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file +write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 +write_data.cpp: recvrow /= ncol; +write_data.cpp:/* ---------------------------------------------------------------------- +write_data.cpp:------------------------------------------------------------------------- */ +write_data.cpp: // communication buffer for all my Angle info +write_data.cpp: // pack my angle data into buf +write_data.cpp: // write one chunk of info per proc to file +write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file +write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 +write_data.cpp: recvrow /= ncol; +write_data.cpp:/* ---------------------------------------------------------------------- +write_data.cpp:------------------------------------------------------------------------- */ +write_data.cpp: // communication buffer for all my Dihedral info +write_data.cpp: // max_size = largest buffer needed by any proc +write_data.cpp: // pack my dihedral data into buf +write_data.cpp: // write one chunk of info per proc to file +write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file +write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 +write_data.cpp: recvrow /= ncol; +write_data.cpp:/* ---------------------------------------------------------------------- +write_data.cpp:------------------------------------------------------------------------- */ +write_data.cpp: // communication buffer for all my Improper info +write_data.cpp: // max_size = largest buffer needed by any proc +write_data.cpp: // pack my improper data into buf +write_data.cpp: // write one chunk of info per proc to file +write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file +write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 +write_data.cpp: recvrow /= ncol; +write_data.cpp:/* ---------------------------------------------------------------------- +write_data.cpp:------------------------------------------------------------------------- */ +write_data.cpp: // communication buffer for Fix info +write_data.cpp: // pack my fix data into buf +write_data.cpp: // write one chunk of info per proc to file +write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file +write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 +write_data.cpp: recvrow /= ncol; +write_dump.cpp:/* ---------------------------------------------------------------------- +write_dump.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +write_dump.cpp: http://lammps.sandia.gov, Sandia National Laboratories +write_dump.cpp:------------------------------------------------------------------------- */ +write_dump.cpp:/* ---------------------------------------------------------------------- +write_dump.cpp:------------------------------------------------------------------------- */ +write_dump.cpp:/* ---------------------------------------------------------------------- */ +write_dump.cpp: // modindex = index in args of "modify" keyword +write_dump.cpp: // will be narg if "modify" is not present +write_dump.cpp: // create the Dump instance +write_dump.cpp: // create dump command line with extra required args +write_dump.cpp: dumpargs[0] = (char *) "WRITE_DUMP"; // dump id +write_dump.cpp: dumpargs[1] = arg[0]; // group +write_dump.cpp: dumpargs[2] = arg[1]; // dump style +write_dump.cpp: dumpargs[3] = (char *) "1"; // dump frequency +write_dump.cpp: if (0) return; // dummy line to enable else-if macro expansion +write_dump.cpp: // write out one frame and then delete the dump again +write_dump.cpp: // set multifile_override for DumpImage so that filename needs no "*" +write_dump.cpp: // delete the Dump instance and local storage +write_restart.cpp:/* ---------------------------------------------------------------------- +write_restart.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +write_restart.cpp: http://lammps.sandia.gov, Sandia National Laboratories +write_restart.cpp:------------------------------------------------------------------------- */ +write_restart.cpp:// same as read_restart.cpp +write_restart.cpp:enum{IGNORE,WARN,ERROR}; // same as thermo.cpp +write_restart.cpp:/* ---------------------------------------------------------------------- */ +write_restart.cpp:/* ---------------------------------------------------------------------- +write_restart.cpp:------------------------------------------------------------------------- */ +write_restart.cpp: // if filename contains a "*", replace with current timestep +write_restart.cpp: // check for multiproc output and an MPI-IO filename +write_restart.cpp: // setup output style and process optional args +write_restart.cpp: // also called by Output class for periodic restart files +write_restart.cpp: // init entire system since comm->exchange is done +write_restart.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc +write_restart.cpp: // move atoms to new processors before writing file +write_restart.cpp: // enforce PBC in case atoms are outside box +write_restart.cpp: // call borders() to rebuild atom map since exchange() destroys map +write_restart.cpp: // NOTE: removed call to setup_pre_exchange +write_restart.cpp: // used to be needed by fixShearHistory for granular +write_restart.cpp: // to move history info from neigh list to atoms between runs +write_restart.cpp: // but now that is done via FIx::post_run() +write_restart.cpp: // don't think any other fix needs this or should do it +write_restart.cpp: // e.g. fix evaporate should not delete more atoms +write_restart.cpp: // modify->setup_pre_exchange(); +write_restart.cpp: // write single restart file +write_restart.cpp:/* ---------------------------------------------------------------------- */ +write_restart.cpp: // error checks +write_restart.cpp: // defaults for multiproc file writing +write_restart.cpp: // optional args +write_restart.cpp: multiproc = nprocs/nper; +write_restart.cpp: fileproc = me/nper * nper; +write_restart.cpp: icluster = fileproc/nper; +write_restart.cpp: icluster = static_cast ((bigint) me * nfile/nprocs); +write_restart.cpp: fileproc = static_cast ((bigint) icluster * nprocs/nfile); +write_restart.cpp: int fcluster = static_cast ((bigint) fileproc * nfile/nprocs); +write_restart.cpp: static_cast ((bigint) (icluster+1) * nprocs/nfile); +write_restart.cpp: fcluster = static_cast ((bigint) fileprocnext * nfile/nprocs); +write_restart.cpp:/* ---------------------------------------------------------------------- +write_restart.cpp: called from command() and directly from output within run/minimize loop +write_restart.cpp:------------------------------------------------------------------------- */ +write_restart.cpp: // special case where reneighboring is not done in integrator +write_restart.cpp: // on timestep restart file is written (due to build_once being set) +write_restart.cpp: // if box is changing, must be reset, else restart file will have +write_restart.cpp: // wrong box size and atoms will be lost when restart file is read +write_restart.cpp: // other calls to pbc and domain and comm are not made, +write_restart.cpp: // b/c they only make sense if reneighboring is actually performed +write_restart.cpp: // natoms = sum of nlocal = value to write into restart file +write_restart.cpp: // if unequal and thermo lostflag is "error", don't write restart file +write_restart.cpp: // open single restart file or base file for multiproc case +write_restart.cpp: // proc 0 writes magic string, endian flag, numeric version +write_restart.cpp: // proc 0 writes header, groups, pertype info, force field info +write_restart.cpp: // all procs write fix info +write_restart.cpp: // communication buffer for my atom info +write_restart.cpp: // max_size = largest buffer needed by any proc +write_restart.cpp: // NOTE: are assuming size_restart() returns 32-bit int +write_restart.cpp: // for a huge one-proc problem, nlocal could be 32-bit +write_restart.cpp: // but nlocal * doubles-peratom could oveflow +write_restart.cpp: // all procs write file layout info which may include per-proc sizes +write_restart.cpp: // header info is complete +write_restart.cpp: // if multiproc output: +write_restart.cpp: // close header file, open multiname file on each writing proc, +write_restart.cpp: // write PROCSPERFILE into new file +write_restart.cpp: // pack my atom data into buf +write_restart.cpp: // if any fix requires it, remap each atom's coords via PBC +write_restart.cpp: // is because fix changes atom coords (excepting an integrate fix) +write_restart.cpp: // just remap in buffer, not actual atoms +write_restart.cpp: // MPI-IO output to single file +write_restart.cpp: // output of one or more native files +write_restart.cpp: // filewriter = 1 = this proc writes to file +write_restart.cpp: // ping each proc in my cluster, receive its data, write data to file +write_restart.cpp: // else wait for ping from fileproc, send my data to fileproc +write_restart.cpp: // clean up +write_restart.cpp: // invoke any fixes that write their own restart file +write_restart.cpp:/* ---------------------------------------------------------------------- +write_restart.cpp:------------------------------------------------------------------------- */ +write_restart.cpp: // added field for shrink-wrap boundaries with minimum - 2 Jul 2015 +write_restart.cpp: // write atom_style and its args +write_restart.cpp: // -1 flag signals end of header +write_restart.cpp:/* ---------------------------------------------------------------------- +write_restart.cpp:------------------------------------------------------------------------- */ +write_restart.cpp: // -1 flag signals end of type arrays +write_restart.cpp:/* ---------------------------------------------------------------------- +write_restart.cpp:------------------------------------------------------------------------- */ +write_restart.cpp: // -1 flag signals end of force field info +write_restart.cpp:/* ---------------------------------------------------------------------- +write_restart.cpp:------------------------------------------------------------------------- */ +write_restart.cpp: // -1 flag signals end of file layout info +write_restart.cpp: // if MPI-IO file, broadcast the end of the header offste +write_restart.cpp: // this allows all ranks to compute offset to their data +write_restart.cpp:// ---------------------------------------------------------------------- +write_restart.cpp:// ---------------------------------------------------------------------- +write_restart.cpp:// low-level fwrite methods +write_restart.cpp:// ---------------------------------------------------------------------- +write_restart.cpp:// ---------------------------------------------------------------------- +write_restart.cpp:/* ---------------------------------------------------------------------- */ +write_restart.cpp:/* ---------------------------------------------------------------------- */ +write_restart.cpp:/* ---------------------------------------------------------------------- */ +write_restart.cpp:/* ---------------------------------------------------------------------- +write_restart.cpp:------------------------------------------------------------------------- */ +write_restart.cpp:/* ---------------------------------------------------------------------- +write_restart.cpp:------------------------------------------------------------------------- */ +write_restart.cpp:/* ---------------------------------------------------------------------- +write_restart.cpp:------------------------------------------------------------------------- */ +write_restart.cpp:/* ---------------------------------------------------------------------- +write_restart.cpp:------------------------------------------------------------------------- */ +write_restart.cpp:/* ---------------------------------------------------------------------- +write_restart.cpp:------------------------------------------------------------------------- */ +write_restart.cpp:/* ---------------------------------------------------------------------- +write_restart.cpp:------------------------------------------------------------------------- */ diff --git a/src/verlet.cpp b/src/verlet.cpp index 7bac6d7647..b1bdf0e62d 100644 --- a/src/verlet.cpp +++ b/src/verlet.cpp @@ -312,6 +312,7 @@ void Verlet::run(int n) timer->stamp(Timer::PAIR); } + if (atom->molecular) { if (force->bond) force->bond->compute(eflag,vflag); if (force->angle) force->angle->compute(eflag,vflag); diff --git a/vmd_nano.vmd b/vmd_nano.vmd index f484cbe4ec..76286c54bc 100644 --- a/vmd_nano.vmd +++ b/vmd_nano.vmd @@ -70,7 +70,7 @@ proc enable_trace {} { trace variable vmd_frame([molinfo top]) w vmd_draw_spin } -set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump_spin_MM.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] +set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump_VSRSV.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] scale by 0.5 animate style Loop enable_trace -- GitLab From f6b4587fe8a15011af80fe930daf374f0686a7dd Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 24 Oct 2017 11:35:54 -0600 Subject: [PATCH 041/675] Commit Julien 10/24/17 Correction in the pair/exchange for energy preservation --- in.co_magnetomech | 24 ++++++++++++------------ src/SPIN/compute_spin.cpp | 2 +- src/SPIN/pair_spin_exchange.cpp | 26 +++++++++++++------------- src/SPIN/pair_spin_soc_neel.cpp | 12 ++++++------ 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/in.co_magnetomech b/in.co_magnetomech index 559fc1ae4b..f32f05d09d 100644 --- a/in.co_magnetomech +++ b/in.co_magnetomech @@ -61,31 +61,30 @@ mass 1 58.93 set group all spin 1.72 0.0 0.0 1.0 #set group single_spin spin/random 11 1.72 -#velocity all create 600 4928459 rot yes dist gaussian +#velocity all create 200 4928459 rot yes dist gaussian #Magneto-mechanic interactions for bulk fcc Cobalt -#pair_style pair/spin 4.0 +pair_style pair/spin/exchange 4.0 #pair_style eam/alloy #pair_style hybrid/overlay eam/alloy pair/spin/soc 4.0 -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -#pair_style hybrid/overlay eam/alloy pair/spin 4.0 pair/spin/soc 4.0 +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 -pair_coeff * * eam/alloy ../Co_PurjaPun_2012.eam.alloy Co +#pair_coeff * * eam/alloy ../Co_PurjaPun_2012.eam.alloy Co #pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co #pair_style pair/spin 4.0 #type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -#pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 #pair_coeff * * exchange 4.0 0.0 0.003496 1.4885 -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 -#pair_coeff * * pair/spin exchange 4.0 0.0 0.003496 1.4885 +#pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 #type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) #pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 #pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 #type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) -pair_coeff * * pair/spin/soc/neel neel 4.0 -0.003330282 0.864159 2.13731 +#pair_coeff * * pair/spin/soc/neel neel 4.0 -0.003330282 0.864159 2.13731 #Define a skin distance, update neigh list every #neighbor 1.0 bin @@ -112,7 +111,7 @@ fix 3 all integration/spin serial #fix outmag all ave/time 1 1 50 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_VSRSV.dat format %20.16g #Setting the timestep for the simulation (in ps) -timestep 0.0002 +timestep 0.0001 ################## #######run######## @@ -123,6 +122,7 @@ timestep 0.0002 compute out_mag all compute/spin compute out_pe all pe compute out_ke all ke +compute out_temp all temp variable magnorm equal c_out_mag[5] variable emag equal c_out_mag[6] @@ -130,13 +130,13 @@ variable tmag equal c_out_mag[7] variable mag_force equal f_1 thermo 500 -thermo_style custom step time v_emag c_out_pe c_out_ke v_mag_force v_magnorm v_tmag etotal +thermo_style custom step time v_emag c_out_pe c_out_ke c_out_temp v_mag_force v_magnorm v_tmag etotal #fix out_vals all ave/time 1 1 50 step v_emag file temp_lattice_VSRSV.dat format %20.16g #Dump the positions and spin directions of magnetic particles (vmd format) dump 1 all custom 100 dump_VSRSV.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 1000000 +run 40000 #run 1 diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index de1a54780e..3e93514607 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -126,7 +126,7 @@ void ComputeSpin::compute_vector() magtot[2] *= scale; magtot[3] = sqrt((magtot[0]*magtot[0])+(magtot[1]*magtot[1])+(magtot[2]*magtot[2])); spintemperature = hbar*tempnumtot; - spintemperature /= (2.0*kb*tempdenomtot); + spintemperature /= (kb*tempdenomtot); vector[0] = invoked_vector*update->dt; vector[1] = magtot[0]; diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 1339c90d3d..fcef08b600 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -83,7 +83,7 @@ void PairSpinExchange::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl,ecoul; - double xtmp,ytmp,ztmp; + double xi,yi,zi; double fix,fiy,fiz,fjx,fjy,fjz; double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; double cut_ex_2,cut_spin_exchange_global2; @@ -114,9 +114,9 @@ void PairSpinExchange::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; + xi = x[i][0]; + yi = x[i][1]; + zi = x[i][2]; jlist = firstneigh[i]; jnum = numneigh[i]; spi[0] = sp[i][0]; @@ -140,9 +140,9 @@ void PairSpinExchange::compute(int eflag, int vflag) fmj[0] = fmj[1] = fmj[2] = 0.0; rij[0] = rij[1] = rij[2] = 0.0; - rij[0] = x[j][0] - xtmp; - rij[1] = x[j][1] - ytmp; - rij[2] = x[j][2] - ztmp; + rij[0] = x[j][0] - xi; + rij[1] = x[j][1] - yi; + rij[2] = x[j][2] - zi; // square of inter-atomic distance rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; @@ -212,13 +212,13 @@ void PairSpinExchange::compute_exchange(int i, int j, double rsq, double *fmi, Jex *= (1.0-J2[itype][jtype]*ra); Jex *= exp(-ra); - fmi[0] += 0.5*Jex*spj[0]; - fmi[1] += 0.5*Jex*spj[1]; - fmi[2] += 0.5*Jex*spj[2]; + fmi[0] -= 0.5*Jex*spj[0]; + fmi[1] -= 0.5*Jex*spj[1]; + fmi[2] -= 0.5*Jex*spj[2]; - fmj[0] += 0.5*Jex*spi[0]; - fmj[1] += 0.5*Jex*spi[1]; - fmj[2] += 0.5*Jex*spi[2]; + fmj[0] -= 0.5*Jex*spi[0]; + fmj[1] -= 0.5*Jex*spi[1]; + fmj[2] -= 0.5*Jex*spi[2]; } diff --git a/src/SPIN/pair_spin_soc_neel.cpp b/src/SPIN/pair_spin_soc_neel.cpp index 47f1c7282d..e8cd96fece 100755 --- a/src/SPIN/pair_spin_soc_neel.cpp +++ b/src/SPIN/pair_spin_soc_neel.cpp @@ -212,13 +212,13 @@ void PairSpinSocNeel::compute_soc_neel(int i, int j, double rsq, double *rij, do scalar = rij[0]*spj[0]+rij[1]*spj[1]+rij[2]*spj[2]; Kij_3 = Kij/3.0; - fmi[0] += Kij*scalar*rij[0]-Kij_3*spj[0]; - fmi[1] += Kij*scalar*rij[1]-Kij_3*spj[1]; - fmi[2] += Kij*scalar*rij[2]-Kij_3*spj[2]; + fmi[0] -= Kij*scalar*rij[0]-Kij_3*spj[0]; + fmi[1] -= Kij*scalar*rij[1]-Kij_3*spj[1]; + fmi[2] -= Kij*scalar*rij[2]-Kij_3*spj[2]; - fmj[0] -= Kij*scalar*rij[0]+Kij_3*spi[0]; - fmj[1] -= Kij*scalar*rij[1]+Kij_3*spi[1]; - fmj[2] -= Kij*scalar*rij[2]+Kij_3*spi[2]; + fmj[0] += Kij*scalar*rij[0]+Kij_3*spi[0]; + fmj[1] += Kij*scalar*rij[1]+Kij_3*spi[1]; + fmj[2] += Kij*scalar*rij[2]+Kij_3*spi[2]; } -- GitLab From b219392d5924f9ceee24ffb53d4ff2483e8b1dbe Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 2 Nov 2017 08:27:32 -0600 Subject: [PATCH 042/675] Commit before pull on SOLO --- in.co_magnetomech | 32 ++-- src/SPIN/compute_spin.cpp | 4 +- src/SPIN/fix_integration_spin.cpp | 302 +++--------------------------- 3 files changed, 50 insertions(+), 288 deletions(-) diff --git a/in.co_magnetomech b/in.co_magnetomech index f32f05d09d..ae34a72842 100644 --- a/in.co_magnetomech +++ b/in.co_magnetomech @@ -35,7 +35,7 @@ lattice fcc 3.54 #Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen #(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 2.0 0.0 2.0 0.0 2.0 +region box block 0.0 8.0 0.0 8.0 0.0 8.0 #Creating a simulation box based on the specified region. Entries: number of atom types and box ref. create_box 1 box @@ -57,27 +57,27 @@ mass 1 58.93 #set group all mass 58.93 #Setting spins orientation and moment -#set group all spin/random 31 1.72 -set group all spin 1.72 0.0 0.0 1.0 +set group all spin/random 31 1.72 +#set group all spin 1.72 0.0 0.0 1.0 #set group single_spin spin/random 11 1.72 -#velocity all create 200 4928459 rot yes dist gaussian +velocity all create 200 4928459 rot yes dist gaussian #Magneto-mechanic interactions for bulk fcc Cobalt -pair_style pair/spin/exchange 4.0 +#pair_style pair/spin/exchange 4.0 #pair_style eam/alloy #pair_style hybrid/overlay eam/alloy pair/spin/soc 4.0 #pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 6.5 -#pair_coeff * * eam/alloy ../Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * eam/alloy ../Co_PurjaPun_2012.eam.alloy Co #pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co #pair_style pair/spin 4.0 #type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +#pair_coeff * * exchange 4.0 -0.0446928 0.003496 1.4885 #pair_coeff * * exchange 4.0 0.0 0.003496 1.4885 -#pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff * * pair/spin/exchange exchange 4.0 -0.0446928 0.003496 1.4885 #type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) #pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 @@ -100,10 +100,10 @@ fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) #Temp | Alpha_trans | Alpha_long | Seed #fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 300.0 0.1 0.0 21 +fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix -fix 3 all integration/spin serial +fix 3 all integration/spin mpi #compute real time, total magnetization, magnetic energy, and spin temperature #Iteration | Time | Mx | My | Mz | |M| | Em | Tm @@ -129,14 +129,16 @@ variable emag equal c_out_mag[6] variable tmag equal c_out_mag[7] variable mag_force equal f_1 -thermo 500 -thermo_style custom step time v_emag c_out_pe c_out_ke c_out_temp v_mag_force v_magnorm v_tmag etotal +thermo 100 +#thermo_style custom step time v_emag c_out_pe c_out_ke c_out_temp v_mag_force v_magnorm v_tmag etotal +thermo_style custom step time v_emag c_out_pe c_out_ke etotal +thermo_modify format float %20.15g #fix out_vals all ave/time 1 1 50 step v_emag file temp_lattice_VSRSV.dat format %20.16g #Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 100 dump_VSRSV.lammpstrj type x y z spx spy spz +dump 1 all custom 5000 dump_VSRSV.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 40000 +run 10000 #run 1 diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 3e93514607..ce60cf373f 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -109,9 +109,9 @@ void ComputeSpin::compute_vector() tempnum += tx*tx+ty*ty+tz*tz; tempdenom += sp[i][0]*fm[i][0]+fm[i][1]*sp[i][1]+sp[i][2]*fm[i][2]; countsp++; - } } - else error->all(FLERR,"Compute spin/compute declared magnetic quantities (sp and mumag flags)"); + } + else error->all(FLERR,"Compute spin/compute declared magnetic quantities (sp and mumag flags)"); } MPI_Allreduce(mag,magtot,4,MPI_DOUBLE,MPI_SUM,world); diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index 5fee9c1554..8df460c613 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -127,9 +127,9 @@ void FixIntegrationSpin::init() //FixNVE::init(); // set timesteps - dtv = 0.5 * update->dt; + dtv = update->dt; dtf = 0.5 * update->dt * force->ftm2v; - dts = 0.5 * update->dt; + dts = 0.25 * update->dt; memory->create(xi,3,"integrations:xi"); memory->create(sec,3,"integrations:sec"); @@ -146,7 +146,7 @@ void FixIntegrationSpin::init() if (strstr(force->pair_style,"pair/spin/exchange")) { exch_flag = 1; lockpairspinexchange = (PairSpinExchange *) force->pair; - } else if (strstr(force->pair_style,"pair/spin/soc")) { + } else if (strstr(force->pair_style,"pair/spin/soc/neel")) { soc_flag = 1; lockpairspinsocneel = (PairSpinSocNeel *) force->pair; } else if (strstr(force->pair_style,"hybrid/overlay")) { @@ -157,7 +157,7 @@ void FixIntegrationSpin::init() if (strstr(lockhybrid->keywords[ipair],"pair/spin/exchange")) { exch_flag = 1; lockpairspinexchange = (PairSpinExchange *) lockhybrid->styles[ipair]; - } else if (strstr(lockhybrid->keywords[ipair],"pair/spin/soc")) { + } else if (strstr(lockhybrid->keywords[ipair],"pair/spin/soc/neel")) { soc_flag = 1; lockpairspinsocneel = (PairSpinSocNeel *) lockhybrid->styles[ipair]; } @@ -220,10 +220,7 @@ void FixIntegrationSpin::initial_integrate(int vflag) int *type = atom->type; int *mask = atom->mask; - -#define VSRSV_TEST -#if defined VSRSV_TEST - + // advance spin-lattice system, vsrsv // update half v for all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { @@ -235,70 +232,14 @@ void FixIntegrationSpin::initial_integrate(int vflag) } } - // update s for all particles - if (extra == SPIN) { - if (mpi_flag == 1) { - int nseci; - // mpi seq. update - for (int j = 0; j < nsectors; j++) { - comm->forward_comm(); - for (int i = 0; i < nlocal; i++) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - } - for (int j = nsectors-1; j >= 0; j--) { - comm->forward_comm(); - for (int i = nlocal-1; i >= 0; i--) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - } - } else if (mpi_flag == 0) { - // serial seq. update - // advance quarter s for nlocal-1 - for (int i = 0; i < nlocal-1; i++){ - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - // advance half s for 1 - ComputeInteractionsSpin(nlocal-1); - AdvanceSingleSpin(nlocal-1,dts,sp,fm); - // advance quarter s for nlocal-1 - for (int i = nlocal-2; i >= 0; i--){ - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - } else error->all(FLERR,"Illegal fix integration/spin command"); - } - - // update x for all particles - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - x[i][0] += 2.0 * dtv * v[i][0]; - x[i][1] += 2.0 * dtv * v[i][1]; - x[i][2] += 2.0 * dtv * v[i][2]; - } - } - // update half s for all particles if (extra == SPIN) { - if (mpi_flag == 1) { + if (mpi_flag == 1) { // mpi seq. update int nseci; - // mpi seq. update - for (int j = 0; j < nsectors; j++) { + for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal comm->forward_comm(); for (int i = 0; i < nlocal; i++) { + //comm->forward_comm(); xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; @@ -308,9 +249,10 @@ void FixIntegrationSpin::initial_integrate(int vflag) AdvanceSingleSpin(i,dts,sp,fm); } } - for (int j = nsectors-1; j >= 0; j--) { + for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); for (int i = nlocal-1; i >= 0; i--) { + //comm->forward_comm(); xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; @@ -320,122 +262,37 @@ void FixIntegrationSpin::initial_integrate(int vflag) AdvanceSingleSpin(i,dts,sp,fm); } } - } else if (mpi_flag == 0) { - // serial seq. update - // advance quarter s for nlocal-2 particles - for (int i = nlocal-1; i >= 1; i--){ - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - // advance half s for 1 - ComputeInteractionsSpin(0); - AdvanceSingleSpin(0,dts,sp,fm); - // advance quarter s for nlocal-2 particles - for (int i = 1; i < nlocal; i++){ - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - } else error->all(FLERR,"Illegal fix integration/spin command"); - } - -#endif - - -//#define VRSRV -#if defined VRSRV - // update half v for all particles - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - if (rmass) dtfm = dtf / rmass[i]; - else dtfm = dtf / mass[type[i]]; - v[i][0] += dtfm * f[i][0]; - v[i][1] += dtfm * f[i][1]; - v[i][2] += dtfm * f[i][2]; - } - } - - // update half x for all particles - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - x[i][0] += dtv * v[i][0]; - x[i][1] += dtv * v[i][1]; - x[i][2] += dtv * v[i][2]; - } - } - - // update s for all particles - if (extra == SPIN) { - if (mpi_flag == 1) { - int nseci; - // mpi seq. update - for (int j = 0; j < nsectors; j++) { - comm->forward_comm(); - for (int i = 0; i < nlocal; i++) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - } - for (int j = nsectors-1; j >= 0; j--) { - comm->forward_comm(); - for (int i = nlocal-1; i >= 0; i--) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - } - } else if (mpi_flag == 0) { - // serial seq. update - for (int i = 0; i < nlocal; i++){ + } else if (mpi_flag == 0) { // serial seq. update + for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); } - for (int i = nlocal-1; i >= 0; i--){ + ComputeInteractionsSpin(nlocal-1); + AdvanceSingleSpin(nlocal-1,2.0*dts,sp,fm); // advance half s for 1 + for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); } } else error->all(FLERR,"Illegal fix integration/spin command"); } - - // update half x for all particles - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - x[i][0] += dtv * v[i][0]; - x[i][1] += dtv * v[i][1]; - x[i][2] += dtv * v[i][2]; - } - } -#endif - -//#define RSVSR_TEST -#if defined RSVSR_TEST - - // update half x for all particles + // update x for all particles for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { x[i][0] += dtv * v[i][0]; x[i][1] += dtv * v[i][1]; x[i][2] += dtv * v[i][2]; - } + } } // update half s for all particles if (extra == SPIN) { - if (mpi_flag == 1) { + if (mpi_flag == 1) { // mpi seq. update int nseci; - // mpi seq. update - for (int j = 0; j < nsectors; j++) { + for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); - for (int i = 0; i < nlocal; i++) { + for (int i = nlocal-1; i >= 0; i--) { + //comm->forward_comm(); xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; @@ -445,9 +302,10 @@ void FixIntegrationSpin::initial_integrate(int vflag) AdvanceSingleSpin(i,dts,sp,fm); } } - for (int j = nsectors-1; j >= 0; j--) { + for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal comm->forward_comm(); - for (int i = nlocal-1; i >= 0; i--) { + for (int i = 0; i < nlocal-1; i++) { + //comm->forward_comm(); xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; @@ -457,27 +315,20 @@ void FixIntegrationSpin::initial_integrate(int vflag) AdvanceSingleSpin(i,dts,sp,fm); } } - } else if (mpi_flag == 0) { - // serial seq. update - // advance quarter s for nlocal-2 particles - for (int i = 0; i < nlocal-2; i++){ + } else if (mpi_flag == 0) { // serial seq. update + for (int i = nlocal-1; i >= 1; i--){ // advance quarter s for nlocal-2 particles ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); + AdvanceSingleSpin(i,dts,sp,fm); } - // advance half s for nlocal-1 - ComputeInteractionsSpin(nlocal-1); - AdvanceSingleSpin(nlocal-1,dts,sp,fm); - // advance quarter s for nlocal-2 particles - for (int i = nlocal-2; i >= 0; i--){ + ComputeInteractionsSpin(0); + AdvanceSingleSpin(0,2.0*dts,sp,fm); // advance half s for 1 + for (int i = 1; i < nlocal; i++){ // advance quarter s for nlocal-2 particles ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); + AdvanceSingleSpin(i,dts,sp,fm); } } else error->all(FLERR,"Illegal fix integration/spin command"); } -#endif - - } /* ---------------------------------------------------------------------- */ @@ -726,24 +577,6 @@ void FixIntegrationSpin::final_integrate() int *type = atom->type; int *mask = atom->mask; -#define VSRSV_TEST -#if defined VSRSV_TEST - - // update half v for all particles - for (int i = nlocal-1; i >= 0; i--) { - if (mask[i] & groupbit) { - if (rmass) dtfm = dtf / rmass[i]; - else dtfm = dtf / mass[type[i]]; - v[i][0] += dtfm * f[i][0]; - v[i][1] += dtfm * f[i][1]; - v[i][2] += dtfm * f[i][2]; - } - } - -#endif - -//#define VRSRV -#if defined VRSRV // update half v for all particles for (int i = nlocal-1; i >= 0; i--) { if (mask[i] & groupbit) { @@ -754,78 +587,5 @@ void FixIntegrationSpin::final_integrate() v[i][2] += dtfm * f[i][2]; } } -#endif - -//#define RSVSR_TEST -#if defined RSVSR_TEST - - // update v for all particles - for (int i = nlocal-1; i >= 0; i--) { - if (mask[i] & groupbit) { - if (rmass) dtfm = dtf / rmass[i]; - else dtfm = dtf / mass[type[i]]; - v[i][0] += 2.0 * dtfm * f[i][0]; - v[i][1] += 2.0 * dtfm * f[i][1]; - v[i][2] += 2.0 * dtfm * f[i][2]; - } - } - - // update half s for all particles - if (extra == SPIN) { - if (mpi_flag == 1) { - int nseci; - // mpi seq. update - for (int j = 0; j < nsectors; j++) { - comm->forward_comm(); - for (int i = 0; i < nlocal; i++) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - } - for (int j = nsectors-1; j >= 0; j--) { - comm->forward_comm(); - for (int i = nlocal-1; i >= 0; i--) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - } - } else if (mpi_flag == 0) { - // serial seq. update - // advance quarter s for nlocal-2 particles - for (int i = nlocal-1; i >= 1; i--){ - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - // advance half s for nlocal-1 - ComputeInteractionsSpin(0); - AdvanceSingleSpin(0,dts,sp,fm); - // advance quarter s for nlocal-2 particles - for (int i = 1; i < nlocal-1; i++){ - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,0.5*dts,sp,fm); - } - } else error->all(FLERR,"Illegal fix integration/spin command"); - } - - // update half x for all particles - for (int i = nlocal-1; i >= 0; i--) { - if (mask[i] & groupbit) { - x[i][0] += dtv * v[i][0]; - x[i][1] += dtv * v[i][1]; - x[i][2] += dtv * v[i][2]; - } - } - -#endif } -- GitLab From c6bb9586efdfe160922f305f11f6d8c38d7f48b7 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 6 Nov 2017 09:18:01 -0700 Subject: [PATCH 043/675] Commit before new serial algo --- in.co_magnetomech | 5 +++-- src/SPIN/fix_integration_spin.cpp | 19 ++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/in.co_magnetomech b/in.co_magnetomech index ae34a72842..978c84cc6f 100644 --- a/in.co_magnetomech +++ b/in.co_magnetomech @@ -129,9 +129,10 @@ variable emag equal c_out_mag[6] variable tmag equal c_out_mag[7] variable mag_force equal f_1 -thermo 100 +thermo 10 #thermo_style custom step time v_emag c_out_pe c_out_ke c_out_temp v_mag_force v_magnorm v_tmag etotal -thermo_style custom step time v_emag c_out_pe c_out_ke etotal +#thermo_style custom step time v_emag c_out_pe c_out_ke etotal +thermo_style custom step time v_emag c_out_pe c_out_ke v_magnorm etotal thermo_modify format float %20.15g #fix out_vals all ave/time 1 1 50 step v_emag file temp_lattice_VSRSV.dat format %20.16g diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index 8df460c613..e4ef09f393 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -289,9 +289,9 @@ void FixIntegrationSpin::initial_integrate(int vflag) if (extra == SPIN) { if (mpi_flag == 1) { // mpi seq. update int nseci; - for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal + for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal comm->forward_comm(); - for (int i = nlocal-1; i >= 0; i--) { + for (int i = 0; i < nlocal; i++) { //comm->forward_comm(); xi[0] = x[i][0]; xi[1] = x[i][1]; @@ -302,9 +302,9 @@ void FixIntegrationSpin::initial_integrate(int vflag) AdvanceSingleSpin(i,dts,sp,fm); } } - for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal + for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); - for (int i = 0; i < nlocal-1; i++) { + for (int i = nlocal-1; i >= 0; i--) { //comm->forward_comm(); xi[0] = x[i][0]; xi[1] = x[i][1]; @@ -316,19 +316,20 @@ void FixIntegrationSpin::initial_integrate(int vflag) } } } else if (mpi_flag == 0) { // serial seq. update - for (int i = nlocal-1; i >= 1; i--){ // advance quarter s for nlocal-2 particles + for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); } - ComputeInteractionsSpin(0); - AdvanceSingleSpin(0,2.0*dts,sp,fm); // advance half s for 1 - for (int i = 1; i < nlocal; i++){ // advance quarter s for nlocal-2 particles + ComputeInteractionsSpin(nlocal-1); + AdvanceSingleSpin(nlocal-1,2.0*dts,sp,fm); // advance half s for 1 + for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); } } else error->all(FLERR,"Illegal fix integration/spin command"); } + } /* ---------------------------------------------------------------------- */ @@ -578,7 +579,7 @@ void FixIntegrationSpin::final_integrate() int *mask = atom->mask; // update half v for all particles - for (int i = nlocal-1; i >= 0; i--) { + for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (rmass) dtfm = dtf / rmass[i]; else dtfm = dtf / mass[type[i]]; -- GitLab From 4cbda74df489e62f6b63330bc9ffe239c9b8556f Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 6 Nov 2017 15:40:05 -0700 Subject: [PATCH 044/675] Commit new serial algorithms --- in.co_magnetomech | 7 ++-- src/SPIN/fix_integration_spin.cpp | 66 ++++++++++++++++++++++++++++--- 2 files changed, 64 insertions(+), 9 deletions(-) diff --git a/in.co_magnetomech b/in.co_magnetomech index 978c84cc6f..a2ae4560f4 100644 --- a/in.co_magnetomech +++ b/in.co_magnetomech @@ -68,7 +68,8 @@ velocity all create 200 4928459 rot yes dist gaussian #pair_style eam/alloy #pair_style hybrid/overlay eam/alloy pair/spin/soc 4.0 #pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_style hybrid/overlay eam/alloy pair/spin/exchange 6.5 +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 6.5 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair_coeff * * eam/alloy ../Co_PurjaPun_2012.eam.alloy Co #pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co @@ -132,7 +133,7 @@ variable mag_force equal f_1 thermo 10 #thermo_style custom step time v_emag c_out_pe c_out_ke c_out_temp v_mag_force v_magnorm v_tmag etotal #thermo_style custom step time v_emag c_out_pe c_out_ke etotal -thermo_style custom step time v_emag c_out_pe c_out_ke v_magnorm etotal +thermo_style custom step time v_magnorm etotal thermo_modify format float %20.15g #fix out_vals all ave/time 1 1 50 step v_emag file temp_lattice_VSRSV.dat format %20.16g @@ -141,5 +142,5 @@ dump 1 all custom 5000 dump_VSRSV.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps run 10000 -#run 1 +#run 100 diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index e4ef09f393..772e6dcdaf 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -220,6 +220,11 @@ void FixIntegrationSpin::initial_integrate(int vflag) int *type = atom->type; int *mask = atom->mask; +//#define MAG_TEST +#if defined MAG_TEST + tagint *tag = atom->tag; +#endif + // advance spin-lattice system, vsrsv // update half v for all particles for (int i = 0; i < nlocal; i++) { @@ -238,8 +243,14 @@ void FixIntegrationSpin::initial_integrate(int vflag) int nseci; for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal comm->forward_comm(); +#if defined MAG_TEST + if (j == 0) { + //for (int i = 0; i < nlocal; i++) { + printf("L1: test atom i=%d, tagi=%d \n",0,tag[0]); + //} + } +#endif for (int i = 0; i < nlocal; i++) { - //comm->forward_comm(); xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; @@ -252,7 +263,6 @@ void FixIntegrationSpin::initial_integrate(int vflag) for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); for (int i = nlocal-1; i >= 0; i--) { - //comm->forward_comm(); xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; @@ -263,6 +273,7 @@ void FixIntegrationSpin::initial_integrate(int vflag) } } } else if (mpi_flag == 0) { // serial seq. update + comm->forward_comm(); // comm. positions of ghost atoms for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); @@ -290,9 +301,15 @@ void FixIntegrationSpin::initial_integrate(int vflag) if (mpi_flag == 1) { // mpi seq. update int nseci; for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal - comm->forward_comm(); + comm->forward_comm(); +#if defined MAG_TEST + if (j == 0) { + //for (int i = 0; i < nlocal; i++) { + printf("L2 test atom i=%d, tagi=%d \n",0,tag[0]); + //} + } +#endif for (int i = 0; i < nlocal; i++) { - //comm->forward_comm(); xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; @@ -305,7 +322,6 @@ void FixIntegrationSpin::initial_integrate(int vflag) for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); for (int i = nlocal-1; i >= 0; i--) { - //comm->forward_comm(); xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; @@ -316,6 +332,7 @@ void FixIntegrationSpin::initial_integrate(int vflag) } } } else if (mpi_flag == 0) { // serial seq. update + comm->forward_comm(); // comm. positions of ghost atoms for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); @@ -346,6 +363,12 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) int *type = atom->type; const int newton_pair = force->newton_pair; +//#define SERIAL2 +#if defined SERIAL2 + int num_j; + tagint *tag = atom->tag; +#endif + // add test here if (exch_flag) { inum = lockpairspinexchange->list->inum; @@ -363,9 +386,12 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) int vflag = 0; int pair_compute_flag = 1; +//#define SERIAL1 +#if defined SERIAL1 if (mpi_flag == 0) { comm->forward_comm(); } +#endif // force computation for spin i i = ilist[ii]; @@ -384,11 +410,23 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) // pair interaction for (int jj = 0; jj < jnum; jj++) { + j = jlist[jj]; j &= NEIGHMASK; itype = type[ii]; jtype = type[j]; +#if defined SERIAL2 + if (mpi_flag == 0) { + if (j >= nlocal) { + num_j = atom->map(tag[j]); + sp[j][0] = sp[num_j][0]; + sp[j][1] = sp[num_j][1]; + sp[j][2] = sp[num_j][2]; + } + } +#endif + spj[0] = sp[j][0]; spj[1] = sp[j][1]; spj[2] = sp[j][2]; @@ -521,6 +559,8 @@ int FixIntegrationSpin::coords2sector(double *xi) void FixIntegrationSpin::AdvanceSingleSpin(int i, double dtl, double **sp, double **fm) { + int j=0; + int *sametag = atom->sametag; double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy,dts2; double cp[3],g[3]; @@ -550,13 +590,27 @@ void FixIntegrationSpin::AdvanceSingleSpin(int i, double dtl, double **sp, doubl sp[i][0] = g[0]; sp[i][1] = g[1]; sp[i][2] = g[2]; - + // renormalization (may not be necessary) msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; scale = 1.0/sqrt(msq); sp[i][0] *= scale; sp[i][1] *= scale; sp[i][2] *= scale; + + // comm. sp[i] to atoms with same tag (serial algo) + if (mpi_flag == 0) { + if (sametag[i] >= 0) { + j = sametag[i]; + while (j >= 0) { + sp[j][0] = sp[i][0]; + sp[j][1] = sp[i][1]; + sp[j][2] = sp[i][2]; + j = sametag[j]; + } + } + } + } /* ---------------------------------------------------------------------- */ -- GitLab From f3e58440a24c415c5a656303068a68c78849bce6 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 6 Nov 2017 15:48:28 -0700 Subject: [PATCH 045/675] Commit 11/6/17 --- in.co_magnetomech | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/in.co_magnetomech b/in.co_magnetomech index a2ae4560f4..6698f61a8d 100644 --- a/in.co_magnetomech +++ b/in.co_magnetomech @@ -104,7 +104,7 @@ fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix -fix 3 all integration/spin mpi +fix 3 all integration/spin serial #compute real time, total magnetization, magnetic energy, and spin temperature #Iteration | Time | Mx | My | Mz | |M| | Em | Tm -- GitLab From cc44a8863c6a68eb83254c7c71e7b0795b1b8b05 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 6 Nov 2017 16:00:23 -0700 Subject: [PATCH 046/675] Commit 11/06/17 --- in.co_magnetomech | 37 +++++-------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/in.co_magnetomech b/in.co_magnetomech index 6698f61a8d..8b71e395ab 100644 --- a/in.co_magnetomech +++ b/in.co_magnetomech @@ -3,13 +3,8 @@ ################### clear -#setting units to metal (Ang, picosecs, eV, ...): units metal - -#setting dimension of the system (N=2 or 3): dimension 3 - -#setting boundary conditions. (p for periodic, f for fixed, ...) boundary p p p #boundary f f f @@ -19,29 +14,15 @@ atom_style spin #Define sort for paramagnetic simulations (if no pair interaction) #atom_modify sort 1000 4.0 -#why? atom_modify map array -#newton off for pair spin in SEQNEI -#newton off off - ########################### #######Create atoms######## ########################### -#Lattice constant of fcc Cobalt lattice fcc 3.54 -#lattice sc 2.50 - -#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen -#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) region box block 0.0 8.0 0.0 8.0 0.0 8.0 - -#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. create_box 1 box - -#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... -#Entries: atom type, create_atoms 1 box ####################### @@ -52,14 +33,12 @@ create_atoms 1 box group single_spin id 10 #Setting one or more properties of one or more atoms. -#Setting mass mass 1 58.93 -#set group all mass 58.93 #Setting spins orientation and moment -set group all spin/random 31 1.72 -#set group all spin 1.72 0.0 0.0 1.0 -#set group single_spin spin/random 11 1.72 +#set group all spin/random 31 1.72 +set group all spin 1.72 0.0 0.0 1.0 +set group single_spin spin/random 11 1.72 velocity all create 200 4928459 rot yes dist gaussian @@ -108,8 +87,6 @@ fix 3 all integration/spin serial #compute real time, total magnetization, magnetic energy, and spin temperature #Iteration | Time | Mx | My | Mz | |M| | Em | Tm -#compute mag all compute/spin -#fix outmag all ave/time 1 1 50 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_VSRSV.dat format %20.16g #Setting the timestep for the simulation (in ps) timestep 0.0001 @@ -118,8 +95,6 @@ timestep 0.0001 #######run######## ################## -#fix_modify 1 energy yes - compute out_mag all compute/spin compute out_pe all pe compute out_ke all ke @@ -132,13 +107,11 @@ variable mag_force equal f_1 thermo 10 #thermo_style custom step time v_emag c_out_pe c_out_ke c_out_temp v_mag_force v_magnorm v_tmag etotal -#thermo_style custom step time v_emag c_out_pe c_out_ke etotal thermo_style custom step time v_magnorm etotal -thermo_modify format float %20.15g -#fix out_vals all ave/time 1 1 50 step v_emag file temp_lattice_VSRSV.dat format %20.16g +thermo_modify format float %20.15g #Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 5000 dump_VSRSV.lammpstrj type x y z spx spy spz +dump 1 all custom 500 dump_VSRSV.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps run 10000 -- GitLab From 813343928a4851adcfd42302a24325c477008122 Mon Sep 17 00:00:00 2001 From: araven Date: Fri, 17 Nov 2017 09:10:50 +0100 Subject: [PATCH 047/675] moving files into proper directories --- .../SPIN/Co_PurjaPun_2012.eam.alloy | 0 in.co_magnetomech => examples/SPIN/in.co_magnetomech | 0 in.cobalt => examples/SPIN/in.cobalt | 0 vmd_nano.vmd => examples/SPIN/vmd_nano_2.vmd | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename Co_PurjaPun_2012.eam.alloy => examples/SPIN/Co_PurjaPun_2012.eam.alloy (100%) rename in.co_magnetomech => examples/SPIN/in.co_magnetomech (100%) rename in.cobalt => examples/SPIN/in.cobalt (100%) rename vmd_nano.vmd => examples/SPIN/vmd_nano_2.vmd (100%) diff --git a/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/Co_PurjaPun_2012.eam.alloy similarity index 100% rename from Co_PurjaPun_2012.eam.alloy rename to examples/SPIN/Co_PurjaPun_2012.eam.alloy diff --git a/in.co_magnetomech b/examples/SPIN/in.co_magnetomech similarity index 100% rename from in.co_magnetomech rename to examples/SPIN/in.co_magnetomech diff --git a/in.cobalt b/examples/SPIN/in.cobalt similarity index 100% rename from in.cobalt rename to examples/SPIN/in.cobalt diff --git a/vmd_nano.vmd b/examples/SPIN/vmd_nano_2.vmd similarity index 100% rename from vmd_nano.vmd rename to examples/SPIN/vmd_nano_2.vmd -- GitLab From 1828274a9904ce60b1389b6e78c45d7cc525a08a Mon Sep 17 00:00:00 2001 From: araven Date: Fri, 17 Nov 2017 09:31:09 +0100 Subject: [PATCH 048/675] new vmd shell to prepare vmd runs --- .../SPIN/{vmd_nano.vmd => prepare_vmd.sh} | 170 ++++++++++-------- examples/SPIN/vmd_nano_2.vmd | 79 -------- 2 files changed, 91 insertions(+), 158 deletions(-) rename examples/SPIN/{vmd_nano.vmd => prepare_vmd.sh} (82%) mode change 100644 => 100755 delete mode 100644 examples/SPIN/vmd_nano_2.vmd diff --git a/examples/SPIN/vmd_nano.vmd b/examples/SPIN/prepare_vmd.sh old mode 100644 new mode 100755 similarity index 82% rename from examples/SPIN/vmd_nano.vmd rename to examples/SPIN/prepare_vmd.sh index 6c3238e8d6..331f2741e4 --- a/examples/SPIN/vmd_nano.vmd +++ b/examples/SPIN/prepare_vmd.sh @@ -1,79 +1,91 @@ -proc vmd_draw_arrow {mol start end} { - set middle [vecadd $start [vecscale 0.9 [vecsub $end $start]]] - graphics $mol cylinder $start $middle radius 0.05 - graphics $mol cone $middle $end radius 0.01 color 3 -} - -proc vmd_draw_vector {args} { - set usage {"draw vector {x1 y1 z1} {x2 y2 z2} [scale ] [resolution ] [radius ] [filled ]"} - # defaults - set scale 3.0 - set res 5 - set radius 0.1 - set filled yes - - if {[llength $args] < 3} { - error "wrong # args: should be $usage" - } - set mol [lindex $args 0] - set center [lindex $args 1] - set vector [lindex $args 2] - if {[llength $center] != 3 || [llength $vector] != 3} { - error "wrong type of args: should be $usage" - } - - foreach {flag value} [lrange $args 3 end] { - switch -glob $flag { - scale {set scale $value} - res* {set res $value} - rad* {set radius $value} - fill* {set filled $value} - default {error "unknown option '$flag': should be $usage" } - } - } - - set vechalf [vecscale [expr $scale * 0.5] $vector] - return [list \ - [graphics $mol color yellow]\ - [graphics $mol cylinder [vecsub $center $vechalf]\ - [vecadd $center [vecscale 0.7 $vechalf]] \ - radius $radius resolution $res filled $filled] \ - [graphics $mol color orange]\ - [graphics $mol cone [vecadd $center [vecscale 0.6 $vechalf]] \ - [vecadd $center $vechalf] radius [expr $radius * 2.5] \ - resolution $res]] -} - -proc vmd_draw_spin {args} { - global molid - graphics $molid delete all - set frame [molinfo $molid get frame] - set natoms [molinfo $molid get numatoms] - for {set i 0} {$i < $natoms} {incr i} { - set sel [atomselect top "index $i"] -# set sel [atomselect top "index 1200"] - set coords [lindex [$sel get {x y z}] $molid] - set velocities [lindex [$sel get {vx vy vz}] $molid] - draw vector $coords $velocities - set uvx [lindex [$sel get {vx}] $molid] - set uvy [lindex [$sel get {vy}] $molid] - set uvz [lindex [$sel get {vz}] $molid] - $sel set user [vecadd [vecadd [vecscale $uvy $uvy] [vecscale $uvz $uvz] ] [vecscale $uvx $uvx]] - $sel set user $uvy - #draw vector $coords {0.0 uvy 0.0} - } - #pbc box -color 3 -} - -proc enable_trace {} { - global vmd_frame - trace variable vmd_frame([molinfo top]) w vmd_draw_spin - } - -set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump_spin_T100.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] -scale by 0.5 -animate style Loop -enable_trace - - - +#!/bin/bash +# example prepare_vmd.sh /home/jtranch/Documents/lammps/src/dump_VSRSV.lammpstrj +# you will get a return file + +echo "vmd script for file $1 is preparing..." + +timestamp(){ + date +%s +} + +TS=$(timestamp) +FILE=view_${TS}.vmd + +cat >${FILE} <] [resolution ] [radius ] [filled ]"} + # defaults + set scale 3.0 + set res 5 + set radius 0.1 + set filled yes + + if {[llength $args] < 3} { + error "wrong # args: should be $usage" + } + set mol [lindex $args 0] + set center [lindex $args 1] + set vector [lindex $args 2] + if {[llength $center] != 3 || [llength $vector] != 3} { + error "wrong type of args: should be $usage" + } + + foreach {flag value} [lrange $args 3 end] { + switch -glob $flag { + scale {set scale $value} + res* {set res $value} + rad* {set radius $value} + fill* {set filled $value} + default {error "unknown option '$flag': should be $usage" } + } + } + + set vechalf [vecscale [expr $scale * 0.5] $vector] + return [list \ + [graphics $mol color yellow]\ + [graphics $mol cylinder [vecsub $center $vechalf]\ + [vecadd $center [vecscale 0.7 $vechalf]] \ + radius $radius resolution $res filled $filled] \ + [graphics $mol color orange]\ + [graphics $mol cone [vecadd $center [vecscale 0.6 $vechalf]] \ + [vecadd $center $vechalf] radius [expr $radius * 2.5] \ + resolution $res]] +} + +proc vmd_draw_spin {args} { + global molid + graphics $molid delete all + set frame [molinfo $molid get frame] + set natoms [molinfo $molid get numatoms] + for {set i 0} {$i < $natoms} {incr i} { + set sel [atomselect top "index $i"] + set coords [lindex [$sel get {x y z}] $molid] + set velocities [lindex [$sel get {vx vy vz}] $molid] + draw vector $coords $velocities + set uvx [lindex [$sel get {vx}] $molid] + set uvy [lindex [$sel get {vy}] $molid] + set uvz [lindex [$sel get {vz}] $molid] + $sel set user [vecadd [vecadd [vecscale $uvy $uvy] [vecscale $uvz $uvz] ] [vecscale $uvx $uvx]] + $sel set user $uvy + #draw vector $coords {0.0 uvy 0.0} + } + #pbc box -color 3 +} + +proc enable_trace {} { + global vmd_frame + trace variable vmd_frame([molinfo top]) w vmd_draw_spin + } + +set molid [mol addfile {$1} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] +scale by 0.5 +animate style Loop +enable_trace +EOF +echo "$FILE is ready..." diff --git a/examples/SPIN/vmd_nano_2.vmd b/examples/SPIN/vmd_nano_2.vmd deleted file mode 100644 index 76286c54bc..0000000000 --- a/examples/SPIN/vmd_nano_2.vmd +++ /dev/null @@ -1,79 +0,0 @@ -proc vmd_draw_arrow {mol start end} { - set middle [vecadd $start [vecscale 0.9 [vecsub $end $start]]] - graphics $mol cylinder $start $middle radius 0.05 - graphics $mol cone $middle $end radius 0.01 color 3 -} - -proc vmd_draw_vector {args} { - set usage {"draw vector {x1 y1 z1} {x2 y2 z2} [scale ] [resolution ] [radius ] [filled ]"} - # defaults - set scale 3.0 - set res 5 - set radius 0.1 - set filled yes - - if {[llength $args] < 3} { - error "wrong # args: should be $usage" - } - set mol [lindex $args 0] - set center [lindex $args 1] - set vector [lindex $args 2] - if {[llength $center] != 3 || [llength $vector] != 3} { - error "wrong type of args: should be $usage" - } - - foreach {flag value} [lrange $args 3 end] { - switch -glob $flag { - scale {set scale $value} - res* {set res $value} - rad* {set radius $value} - fill* {set filled $value} - default {error "unknown option '$flag': should be $usage" } - } - } - - set vechalf [vecscale [expr $scale * 0.5] $vector] - return [list \ - [graphics $mol color yellow]\ - [graphics $mol cylinder [vecsub $center $vechalf]\ - [vecadd $center [vecscale 0.7 $vechalf]] \ - radius $radius resolution $res filled $filled] \ - [graphics $mol color orange]\ - [graphics $mol cone [vecadd $center [vecscale 0.6 $vechalf]] \ - [vecadd $center $vechalf] radius [expr $radius * 2.5] \ - resolution $res]] -} - -proc vmd_draw_spin {args} { - global molid - graphics $molid delete all - set frame [molinfo $molid get frame] - set natoms [molinfo $molid get numatoms] - for {set i 0} {$i < $natoms} {incr i} { - set sel [atomselect top "index $i"] -# set sel [atomselect top "index 1200"] - set coords [lindex [$sel get {x y z}] $molid] - set velocities [lindex [$sel get {vx vy vz}] $molid] - draw vector $coords $velocities - set uvx [lindex [$sel get {vx}] $molid] - set uvy [lindex [$sel get {vy}] $molid] - set uvz [lindex [$sel get {vz}] $molid] - $sel set user [vecadd [vecadd [vecscale $uvy $uvy] [vecscale $uvz $uvz] ] [vecscale $uvx $uvx]] - $sel set user $uvy - #draw vector $coords {0.0 uvy 0.0} - } - #pbc box -color 3 -} - -proc enable_trace {} { - global vmd_frame - trace variable vmd_frame([molinfo top]) w vmd_draw_spin - } - -set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump_VSRSV.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] -scale by 0.5 -animate style Loop -enable_trace - - - -- GitLab From f1182df776db6d10dfd443cd73a7e01850fe58cf Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 22 Nov 2017 08:47:29 -0700 Subject: [PATCH 049/675] Commit MPI algorithm --- examples/SPIN/in.co_magnetomech | 4 +- src/SPIN/atom_vec_spin.cpp | 3 +- src/SPIN/fix_integration_spin.cpp | 71 ++++++++----------------------- src/SPIN/fix_integration_spin.h | 2 +- src/SPIN/fix_langevin_spin.cpp | 2 - src/SPIN/fix_langevin_spin.h | 8 ++-- 6 files changed, 26 insertions(+), 64 deletions(-) diff --git a/examples/SPIN/in.co_magnetomech b/examples/SPIN/in.co_magnetomech index 8b71e395ab..ee83b31e6f 100644 --- a/examples/SPIN/in.co_magnetomech +++ b/examples/SPIN/in.co_magnetomech @@ -83,7 +83,7 @@ fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix -fix 3 all integration/spin serial +fix 3 all integration/spin mpi #compute real time, total magnetization, magnetic energy, and spin temperature #Iteration | Time | Mx | My | Mz | |M| | Em | Tm @@ -115,5 +115,5 @@ dump 1 all custom 500 dump_VSRSV.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps run 10000 -#run 100 +#run 2 diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index ccdaa13829..214d7752b6 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -50,7 +50,8 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) xcol_data = 4; forceclearflag = 1; - atom->mumag_flag = atom->sp_flag = 1; + atom->mumag_flag = 1; + atom->sp_flag = 1; } diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index 772e6dcdaf..9066f75aea 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -94,7 +94,8 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : } /* ---------------------------------------------------------------------- */ -FixIntegrationSpin::~FixIntegrationSpin(){ +FixIntegrationSpin::~FixIntegrationSpin() +{ //delete lockpairspin; //delete lockforcespin; memory->destroy(xi); @@ -124,8 +125,6 @@ int FixIntegrationSpin::setmask() void FixIntegrationSpin::init() { - //FixNVE::init(); - // set timesteps dtv = update->dt; dtf = 0.5 * update->dt * force->ftm2v; @@ -181,11 +180,6 @@ void FixIntegrationSpin::init() } } - // set flags for the different magnetic interactions -// if (magpair_flag) { -// if (lockpairspinexchange->exch_flag == 1) exch_flag = 1; -// } - if (magforce_flag) { if (lockforcespin->zeeman_flag == 1) zeeman_flag = 1; if (lockforcespin->aniso_flag == 1) aniso_flag = 1; @@ -220,11 +214,6 @@ void FixIntegrationSpin::initial_integrate(int vflag) int *type = atom->type; int *mask = atom->mask; -//#define MAG_TEST -#if defined MAG_TEST - tagint *tag = atom->tag; -#endif - // advance spin-lattice system, vsrsv // update half v for all particles for (int i = 0; i < nlocal; i++) { @@ -234,22 +223,17 @@ void FixIntegrationSpin::initial_integrate(int vflag) v[i][0] += dtfm * f[i][0]; v[i][1] += dtfm * f[i][1]; v[i][2] += dtfm * f[i][2]; - } + } } +#define MPI_TEST + // update half s for all particles if (extra == SPIN) { if (mpi_flag == 1) { // mpi seq. update int nseci; for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal comm->forward_comm(); -#if defined MAG_TEST - if (j == 0) { - //for (int i = 0; i < nlocal; i++) { - printf("L1: test atom i=%d, tagi=%d \n",0,tag[0]); - //} - } -#endif for (int i = 0; i < nlocal; i++) { xi[0] = x[i][0]; xi[1] = x[i][1]; @@ -258,7 +242,10 @@ void FixIntegrationSpin::initial_integrate(int vflag) if (j != nseci) continue; ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); - } + } + #if defined MPI_TEST + MPI_Barrier(world); + #endif } for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); @@ -271,6 +258,9 @@ void FixIntegrationSpin::initial_integrate(int vflag) ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); } + #if defined MPI_TEST + MPI_Barrier(world); + #endif } } else if (mpi_flag == 0) { // serial seq. update comm->forward_comm(); // comm. positions of ghost atoms @@ -302,13 +292,6 @@ void FixIntegrationSpin::initial_integrate(int vflag) int nseci; for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal comm->forward_comm(); -#if defined MAG_TEST - if (j == 0) { - //for (int i = 0; i < nlocal; i++) { - printf("L2 test atom i=%d, tagi=%d \n",0,tag[0]); - //} - } -#endif for (int i = 0; i < nlocal; i++) { xi[0] = x[i][0]; xi[1] = x[i][1]; @@ -318,6 +301,9 @@ void FixIntegrationSpin::initial_integrate(int vflag) ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); } + #if defined MPI_TEST + MPI_Barrier(world); + #endif } for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); @@ -330,6 +316,9 @@ void FixIntegrationSpin::initial_integrate(int vflag) ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); } + #if defined MPI_TEST + MPI_Barrier(world); + #endif } } else if (mpi_flag == 0) { // serial seq. update comm->forward_comm(); // comm. positions of ghost atoms @@ -363,12 +352,6 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) int *type = atom->type; const int newton_pair = force->newton_pair; -//#define SERIAL2 -#if defined SERIAL2 - int num_j; - tagint *tag = atom->tag; -#endif - // add test here if (exch_flag) { inum = lockpairspinexchange->list->inum; @@ -386,13 +369,6 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) int vflag = 0; int pair_compute_flag = 1; -//#define SERIAL1 -#if defined SERIAL1 - if (mpi_flag == 0) { - comm->forward_comm(); - } -#endif - // force computation for spin i i = ilist[ii]; @@ -416,17 +392,6 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) itype = type[ii]; jtype = type[j]; -#if defined SERIAL2 - if (mpi_flag == 0) { - if (j >= nlocal) { - num_j = atom->map(tag[j]); - sp[j][0] = sp[num_j][0]; - sp[j][1] = sp[num_j][1]; - sp[j][2] = sp[num_j][2]; - } - } -#endif - spj[0] = sp[j][0]; spj[1] = sp[j][1]; spj[2] = sp[j][2]; diff --git a/src/SPIN/fix_integration_spin.h b/src/SPIN/fix_integration_spin.h index 6da740447d..1156cc576f 100644 --- a/src/SPIN/fix_integration_spin.h +++ b/src/SPIN/fix_integration_spin.h @@ -45,7 +45,7 @@ class FixIntegrationSpin : public Fix { protected: int extra, mpi_flag; - // vel., force, and spin timesteps + // velocity, force, and spin timesteps double dtv,dtf,dts; // mag. interaction flags diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index 84b2581a3a..1af32ff5cb 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -220,8 +220,6 @@ void FixLangevinSpin::add_temperature(double *fmi) double rz = sigma*(-1.0+2.0*random->uniform()); #endif -// printf("test Gaussian vals: %g \n",rx); - // adding the random field fmi[0] += rx; fmi[1] += ry; diff --git a/src/SPIN/fix_langevin_spin.h b/src/SPIN/fix_langevin_spin.h index 0afcdfbbae..3690037225 100644 --- a/src/SPIN/fix_langevin_spin.h +++ b/src/SPIN/fix_langevin_spin.h @@ -33,11 +33,9 @@ class FixLangevinSpin : public Fix { void setup(int); // virtual void post_force(int); void post_force_respa(int, int, int); - // add transverse damping and temperature - void add_tdamping(double *, double *); - void add_temperature(double *); - // associated flags - int tdamp_flag, ldamp_flag, temp_flag; + void add_tdamping(double *, double *); // add transverse damping + void add_temperature(double *); // add temperature + int tdamp_flag, ldamp_flag, temp_flag; // damping and temperature flags protected: double *spi, *fmi; -- GitLab From 49f0a7a89a0e67cf67e44eb034b1a086912ac3e0 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 28 Nov 2017 13:52:08 -0700 Subject: [PATCH 050/675] New MPI algorithm (still to be checked) --- examples/SPIN/in.co_magnetomech | 16 ++-- src/SPIN/fix_integration_spin.cpp | 124 ++++++++++++++++++++++++++---- src/SPIN/pair_spin_exchange.cpp | 6 +- 3 files changed, 120 insertions(+), 26 deletions(-) diff --git a/examples/SPIN/in.co_magnetomech b/examples/SPIN/in.co_magnetomech index ee83b31e6f..78f1e5d128 100644 --- a/examples/SPIN/in.co_magnetomech +++ b/examples/SPIN/in.co_magnetomech @@ -8,6 +8,8 @@ dimension 3 boundary p p p #boundary f f f +#newton off + #setting atom_style to spin: atom_style spin @@ -21,7 +23,7 @@ atom_modify map array ########################### lattice fcc 3.54 -region box block 0.0 8.0 0.0 8.0 0.0 8.0 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 create_box 1 box create_atoms 1 box @@ -36,21 +38,19 @@ group single_spin id 10 mass 1 58.93 #Setting spins orientation and moment -#set group all spin/random 31 1.72 -set group all spin 1.72 0.0 0.0 1.0 -set group single_spin spin/random 11 1.72 +set group all spin/random 31 1.72 +#set group all spin 1.72 0.0 0.0 1.0 +#set group single_spin spin/random 11 1.72 velocity all create 200 4928459 rot yes dist gaussian #Magneto-mechanic interactions for bulk fcc Cobalt #pair_style pair/spin/exchange 4.0 #pair_style eam/alloy -#pair_style hybrid/overlay eam/alloy pair/spin/soc 4.0 #pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 6.5 pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 -pair_coeff * * eam/alloy ../Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co #pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co #pair_style pair/spin 4.0 @@ -114,6 +114,6 @@ thermo_modify format float %20.15g dump 1 all custom 500 dump_VSRSV.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps +#run 100 run 10000 -#run 2 diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index 9066f75aea..a790aa7ea6 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -109,6 +109,7 @@ FixIntegrationSpin::~FixIntegrationSpin() memory->destroy(spj); memory->destroy(fmi); memory->destroy(fmj); + } /* ---------------------------------------------------------------------- */ @@ -190,6 +191,7 @@ void FixIntegrationSpin::init() if (locklangevinspin->temp_flag == 1) temp_flag = 1; } + // perform the sectoring if mpi integration if (mpi_flag) sectoring(); @@ -200,7 +202,6 @@ void FixIntegrationSpin::init() void FixIntegrationSpin::initial_integrate(int vflag) { double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; - double cp[3],g[3]; double **x = atom->x; double **v = atom->v; @@ -226,8 +227,72 @@ void FixIntegrationSpin::initial_integrate(int vflag) } } -#define MPI_TEST +//#define SEC +#define LIST + +#if defined LIST + //printf("sectors = %d \n",nsectors); + int adv_list[nsectors][nlocal]; + int k[nsectors]; + for (int j = 0; j < nsectors; j++) { + k[j] = 0; + for (int i = 0; i < nlocal; i++) { + adv_list[j][i] = 0; + } + } + int s, p; + // update half s for all particles + if (extra == SPIN) { + if (mpi_flag == 1) { // mpi seq. update + int nseci; + for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal + comm->forward_comm(); + k[j] = 0; + for (int i = 0; i < nlocal; i++) { + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + nseci = coords2sector(xi); + if (j != nseci) continue; + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts,sp,fm); + adv_list[j][k[j]] = i; + k[j]++; + } + } + int ntest = 0; + for (int j = 0; j < nsectors; j++) { + ntest += k[j]; + } + if (ntest != nlocal) error->all(FLERR,"error, S(k[j]) != nlocal"); + + for (int j = nsectors-1; j >= 0; j--) { + comm->forward_comm(); + for (int i = k[j]-1; i >= 0; i--) { + p = adv_list[j][i]; + ComputeInteractionsSpin(p); + AdvanceSingleSpin(p,dts,sp,fm); + } + } + } else if (mpi_flag == 0) { // serial seq. update + comm->forward_comm(); // comm. positions of ghost atoms + for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts,sp,fm); + } + ComputeInteractionsSpin(nlocal-1); + AdvanceSingleSpin(nlocal-1,2.0*dts,sp,fm); // advance half s for 1 + for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts,sp,fm); + } + } else error->all(FLERR,"Illegal fix integration/spin command"); + } +#endif + + +#if defined SEC // update half s for all particles if (extra == SPIN) { if (mpi_flag == 1) { // mpi seq. update @@ -243,9 +308,6 @@ void FixIntegrationSpin::initial_integrate(int vflag) ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); } - #if defined MPI_TEST - MPI_Barrier(world); - #endif } for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); @@ -258,9 +320,6 @@ void FixIntegrationSpin::initial_integrate(int vflag) ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); } - #if defined MPI_TEST - MPI_Barrier(world); - #endif } } else if (mpi_flag == 0) { // serial seq. update comm->forward_comm(); // comm. positions of ghost atoms @@ -276,6 +335,8 @@ void FixIntegrationSpin::initial_integrate(int vflag) } } else error->all(FLERR,"Illegal fix integration/spin command"); } +#endif + // update x for all particles for (int i = 0; i < nlocal; i++) { @@ -286,6 +347,45 @@ void FixIntegrationSpin::initial_integrate(int vflag) } } + +#if defined LIST + // update half s for all particles + if (extra == SPIN) { + if (mpi_flag == 1) { // mpi seq. update + int nseci; + for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal + comm->forward_comm(); + for (int i = 0; i < k[j]; i++) { + p = adv_list[j][i]; + ComputeInteractionsSpin(p); + AdvanceSingleSpin(p,dts,sp,fm); + } + } + for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal + comm->forward_comm(); + for (int i = k[j]-1; i >= 0; i--) { + p = adv_list[j][i]; + ComputeInteractionsSpin(p); + AdvanceSingleSpin(p,dts,sp,fm); + } + } + } else if (mpi_flag == 0) { // serial seq. update + comm->forward_comm(); // comm. positions of ghost atoms + for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts,sp,fm); + } + ComputeInteractionsSpin(nlocal-1); + AdvanceSingleSpin(nlocal-1,2.0*dts,sp,fm); // advance half s for 1 + for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts,sp,fm); + } + } else error->all(FLERR,"Illegal fix integration/spin command"); + } +#endif + +#if defined SEC // update half s for all particles if (extra == SPIN) { if (mpi_flag == 1) { // mpi seq. update @@ -301,9 +401,6 @@ void FixIntegrationSpin::initial_integrate(int vflag) ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); } - #if defined MPI_TEST - MPI_Barrier(world); - #endif } for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); @@ -316,9 +413,6 @@ void FixIntegrationSpin::initial_integrate(int vflag) ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts,sp,fm); } - #if defined MPI_TEST - MPI_Barrier(world); - #endif } } else if (mpi_flag == 0) { // serial seq. update comm->forward_comm(); // comm. positions of ghost atoms @@ -334,7 +428,7 @@ void FixIntegrationSpin::initial_integrate(int vflag) } } else error->all(FLERR,"Illegal fix integration/spin command"); } - +#endif } diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index fcef08b600..208a82ea30 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -175,9 +175,9 @@ void PairSpinExchange::compute(int eflag, int vflag) f[j][0] += fj[0]; f[j][1] += fj[1]; f[j][2] += fj[2]; - fm[j][0] += fmj[0]; - fm[j][1] += fmj[1]; - fm[j][2] += fmj[2]; + //fm[j][0] += fmj[0]; + //fm[j][1] += fmj[1]; + //fm[j][2] += fmj[2]; } if (eflag) { -- GitLab From f4bb33de4b8595c0777c936fb649f889f6a6e2f5 Mon Sep 17 00:00:00 2001 From: julient31 Date: Fri, 1 Dec 2017 14:53:19 -0700 Subject: [PATCH 051/675] Memory corrections --- examples/SPIN/in.spin.bfo | 109 +++++ examples/SPIN/in.spin.cobalt | 120 ++++++ examples/SPIN/in.spin.kagome | 126 ++++++ src/SPIN/atom_vec_spin.cpp | 4 + src/SPIN/atom_vec_spin.h | 7 +- src/SPIN/compute_spin.cpp | 13 +- src/SPIN/compute_spin.h | 9 - src/SPIN/fix_force_spin.cpp | 41 +- src/SPIN/fix_force_spin.h | 15 +- src/SPIN/fix_integration_spin.cpp | 292 +++++--------- src/SPIN/fix_integration_spin.h | 39 +- src/SPIN/fix_langevin_spin.cpp | 63 +-- src/SPIN/fix_langevin_spin.h | 19 +- src/SPIN/pair_spin.cpp | 637 ------------------------------ src/SPIN/pair_spin.h | 99 ----- src/SPIN/pair_spin_exchange.cpp | 74 ++-- src/SPIN/pair_spin_exchange.h | 21 +- src/SPIN/pair_spin_me.cpp | 57 +-- src/SPIN/pair_spin_me.h | 17 +- src/SPIN/pair_spin_soc_dmi.cpp | 50 +-- src/SPIN/pair_spin_soc_dmi.h | 17 +- src/SPIN/pair_spin_soc_landau.cpp | 93 ++--- src/SPIN/pair_spin_soc_landau.h | 19 +- src/SPIN/pair_spin_soc_neel.cpp | 77 ++-- src/SPIN/pair_spin_soc_neel.h | 19 +- src/atom.cpp | 9 +- src/atom.h | 1 + 27 files changed, 709 insertions(+), 1338 deletions(-) create mode 100644 examples/SPIN/in.spin.bfo create mode 100644 examples/SPIN/in.spin.cobalt create mode 100644 examples/SPIN/in.spin.kagome delete mode 100755 src/SPIN/pair_spin.cpp delete mode 100755 src/SPIN/pair_spin.h diff --git a/examples/SPIN/in.spin.bfo b/examples/SPIN/in.spin.bfo new file mode 100644 index 0000000000..aee3454765 --- /dev/null +++ b/examples/SPIN/in.spin.bfo @@ -0,0 +1,109 @@ +################### +#######Init######## +################### + +clear +#setting units to metal (Ang, picosecs, eV, ...): +units metal + +#setting dimension of the system (N=2 or 3): +dimension 3 + +#setting boundary conditions. (p for periodic, f for fixed, ...) +boundary p p f + +#setting atom_style to spin: +atom_style spin + +#Define sort for paramagnetic simulations (if no pair interaction) +#atom_modify sort 1000 4.0 + +#why? +atom_modify map array + +#newton off for pair spin in SEQNEI +#newton off off + +########################### +#######Create atoms######## +########################### + +#Lattice constant of sc Iron atoms of BFO +lattice sc 3.96 + +#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen +#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) +region box block 0.0 17.0 0.0 17.0 0.0 5.0 + +#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. +create_box 1 box + +#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... +#Entries: atom type, +create_atoms 1 box + +#Replicating NxNxN the entire set of atoms +#replicate 1 1 1 + + +####################### +#######Settings######## +####################### + +#Setting one or more properties of one or more atoms. +#Setting mass +mass 1 1.0 +#set group all mass 1.0 +#Setting spins orientation and moment +set group all spin/random 11 2.50 +#set group all spin 2.50 1.0 0.0 0.0 + +#Magnetic exchange interaction coefficient for bulk fcc Cobalt +pair_style pair/spin 5.7 +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +pair_coeff * * exchange 5.7 -0.01575 0.0 1.965 +#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) +#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 +#pair_coeff * * me 4.0 0.000109 1.0 1.0 1.0 +#Mex10 +pair_coeff * * me 4.0 0.00109 1.0 1.0 1.0 + +#Define a skin distance, update neigh list every +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 0.0 bin +neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +#fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 +fix 1 all force/spin anisotropy 0.0000035 0.0 0.0 1.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +#fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 2 all langevin/spin 0.0 0.1 0.0 21 +#fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all nve/spin mpi + +#compute real time, total magnetization, magnetic energy, and spin temperature +#Iteration | Time | Mx | My | Mz | |M| | Em | Tm +compute mag all compute/spin +fix outmag all ave/time 1 1 500 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_BFO.dat format %20.16g + +#Setting the timestep for the simulation (in ps) +timestep 0.0001 + +################## +#######run######## +################## + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 5000 dump_spin_BFO.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 30000 +#run 1 + diff --git a/examples/SPIN/in.spin.cobalt b/examples/SPIN/in.spin.cobalt new file mode 100644 index 0000000000..8147aad5fc --- /dev/null +++ b/examples/SPIN/in.spin.cobalt @@ -0,0 +1,120 @@ +################### +#######Init######## +################### + +clear +units metal +dimension 3 +boundary p p p +#boundary f f f + +#newton off + +#setting atom_style to spin: +atom_style spin + +#Define sort for paramagnetic simulations (if no pair interaction) +#atom_modify sort 1000 4.0 + +atom_modify map array + +########################### +#######Create atoms######## +########################### + +lattice fcc 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box + +####################### +#######Settings######## +####################### + +#isolating 1 atom into a group +group single_spin id 10 + +#Setting one or more properties of one or more atoms. +mass 1 58.93 + +#Setting spins orientation and moment +set group all spin/random 31 1.72 +#set group all spin 1.72 0.0 0.0 1.0 +#set group single_spin spin/random 11 1.72 + +velocity all create 200 4928459 rot yes dist gaussian + +#Magneto-mechanic interactions for bulk fcc Cobalt +#pair_style pair/spin/exchange 4.0 +#pair_style eam/alloy +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 + +pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co +#pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co + +#pair_style pair/spin 4.0 +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +#pair_coeff * * exchange 4.0 -0.0446928 0.003496 1.4885 +#pair_coeff * * exchange 4.0 0.0 0.003496 1.4885 +pair_coeff * * pair/spin/exchange exchange 4.0 -0.0446928 0.003496 1.4885 + +#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) +#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 +#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 + +#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) +#pair_coeff * * pair/spin/soc/neel neel 4.0 -0.003330282 0.864159 2.13731 + +#Define a skin distance, update neigh list every +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 1.0 bin +neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.01 0.0 0.0 1.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +#fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all integration/spin mpi + +#compute real time, total magnetization, magnetic energy, and spin temperature +#Iteration | Time | Mx | My | Mz | |M| | Em | Tm + +#Setting the timestep for the simulation (in ps) +timestep 0.0001 + +################## +#######run######## +################## + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 + +thermo 10 +#thermo_style custom step time v_emag c_out_pe c_out_ke c_out_temp v_mag_force v_magnorm v_tmag etotal +thermo_style custom step time v_tmag v_magz v_magnorm etotal +thermo_modify format float %20.15g + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 500 dump_VSRSV.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +#run 100 +run 10000 + diff --git a/examples/SPIN/in.spin.kagome b/examples/SPIN/in.spin.kagome new file mode 100644 index 0000000000..c51c35ff73 --- /dev/null +++ b/examples/SPIN/in.spin.kagome @@ -0,0 +1,126 @@ +################### +#######Init######## +################### + +clear +#setting units to metal (Ang, picosecs, eV, ...): +units metal + +#setting dimension of the system (N=2 or 3): +dimension 3 + +#setting boundary conditions. (p for periodic, f for fixed, ...) +boundary p p p +#boundary f f f + +#setting atom_style to spin: +atom_style spin + +#Define sort for paramagnetic simulations (if no pair interaction) +#atom_modify sort 1000 4.0 + +#why? +atom_modify map array + +#newton off for pair spin in SEQNEI +#newton off off + +########################### +#######Create atoms######## +########################### + +#Lattice constant of fcc Cobalt +lattice fcc 3.54 +#lattice sc 2.50 + +#Test Kagome +#variable a equal sqrt(3.0)/8.0 +#variable b equal 3.0*sqrt(3.0)/8.0 +#variable c equal sqrt(3.0)/4.0 + +#lattice custom 2.5 a1 1.0 0.0 0.0 & +# a2 0.0 1.0 0.0 & +# a3 0.0 0.0 1.0 & +# basis 0.0 $a 0.0 & +# basis 0.25 $a 0.0 & +# basis 0.375 0.0 0.0 & +# basis 0.25 $b 0.0 & +# basis 0.5 $b 0.0 & +# basis 0.625 $c 0.0 + +#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen +#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) +region box block 0.0 5.0 0.0 5.0 0.0 5.0 + +#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. +create_box 1 box + +#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... +#Entries: atom type, +create_atoms 1 box + +#Replicating NxNxN the entire set of atoms +#replicate 1 1 1 + + +####################### +#######Settings######## +####################### + +#Setting one or more properties of one or more atoms. +#Setting mass +mass 1 1.0 +#set group all mass 1.0 +#Setting spins orientation and moment +#set group all spin/random 11 1.72 +set group all spin 1.72 1.0 0.0 0.0 + +#Magnetic exchange interaction coefficient for bulk fcc Cobalt +pair_style pair/spin 4.0 +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) +#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 +#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 + +#Define a skin distance, update neigh list every +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 0.0 bin +neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +#fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 2 all langevin/spin 1.0 0.1 0.0 21 +#fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all nve/spin mpi + +#compute real time, total magnetization, magnetic energy, and spin temperature +#Iteration | Time | Mx | My | Mz | |M| | Em | Tm +compute mag all compute/spin +fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g + +#Setting the timestep for the simulation (in ps) +timestep 0.0001 + +################## +#######run######## +################## + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 2000 +#run 1 + diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 214d7752b6..8edf8211ca 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -74,11 +74,15 @@ void AtomVecSpin::grow(int n) type = memory->grow(atom->type,nmax,"atom:type"); mask = memory->grow(atom->mask,nmax,"atom:mask"); image = memory->grow(atom->image,nmax,"atom:image"); + // allocating mech. quantities + x = memory->grow(atom->x,nmax,3,"atom:x"); v = memory->grow(atom->v,nmax,3,"atom:v"); f = memory->grow(atom->f,nmax*comm->nthreads,3,"atom:f"); + // allocating mag. quantities + mumag = memory->grow(atom->mumag,nmax,"atom:mumag"); sp = memory->grow(atom->sp,nmax,4,"atom:sp"); fm = memory->grow(atom->fm,nmax*comm->nthreads,3,"atom:fm"); diff --git a/src/SPIN/atom_vec_spin.h b/src/SPIN/atom_vec_spin.h index aedc3efb3e..c0f245ba27 100644 --- a/src/SPIN/atom_vec_spin.h +++ b/src/SPIN/atom_vec_spin.h @@ -58,7 +58,8 @@ class AtomVecSpin : public AtomVec { int write_data_hybrid(FILE *, double *); bigint memory_usage(); - // clear mag. and mech. forces + // clear magnetic and mechanic forces + void force_clear(int, size_t); @@ -66,8 +67,8 @@ class AtomVecSpin : public AtomVec { tagint *tag; int *type,*mask; imageint *image; - double **x,**v,**f; // lattice quantities - double *mumag,**sp, **fm; // spin quantities + double **x,**v,**f; // lattice quantities + double *mumag,**sp,**fm; // spin quantities }; diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index ce60cf373f..a7069fa808 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -36,7 +36,7 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ ComputeSpin::ComputeSpin(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), mag(NULL) + Compute(lmp, narg, arg) { if ((narg != 3) && (narg != 4)) error->all(FLERR,"Illegal compute compute/spin command"); @@ -54,7 +54,6 @@ ComputeSpin::ComputeSpin(LAMMPS *lmp, int narg, char **arg) : ComputeSpin::~ComputeSpin() { - memory->destroy(mag); } /* ---------------------------------------------------------------------- */ @@ -70,6 +69,12 @@ void ComputeSpin::init() void ComputeSpin::compute_vector() { int i, index; + int countsp, countsptot; + double mag[3], magtot[3]; + double magenergy, magenergytot; + double tempnum, tempnumtot; + double tempdenom, tempdenomtot; + double spintemperature; invoked_vector = update->ntimestep; @@ -94,6 +99,7 @@ void ComputeSpin::compute_vector() // compute total magnetization and magnetic energy // compute spin temperature (Nurdin et al., Phys. Rev. E 61, 2000) + for (i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (atom->mumag_flag && atom->sp_flag) { @@ -144,9 +150,6 @@ void ComputeSpin::compute_vector() void ComputeSpin::allocate() { - memory->destroy(mag); - memory->create(mag,4,"compute/spin:mag"); - memory->create(magtot,5,"compute/spin:mag"); memory->create(vector,7,"compute/spin:vector"); } diff --git a/src/SPIN/compute_spin.h b/src/SPIN/compute_spin.h index a20b956b01..59f0ce2876 100644 --- a/src/SPIN/compute_spin.h +++ b/src/SPIN/compute_spin.h @@ -32,16 +32,7 @@ class ComputeSpin : public Compute { void compute_vector(); private: - double *mag; - double *magtot; - double magenergy; - double magenergytot; - double tempnum,tempnumtot; - double tempdenom,tempdenomtot; - double spintemperature; double kb,hbar; - int countsp; - int countsptot; int usecenter; void allocate(); diff --git a/src/SPIN/fix_force_spin.cpp b/src/SPIN/fix_force_spin.cpp index b0e38989c9..921a9964bb 100644 --- a/src/SPIN/fix_force_spin.cpp +++ b/src/SPIN/fix_force_spin.cpp @@ -48,7 +48,7 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a if (narg < 7) error->all(FLERR,"Illegal force/spin command"); // 7 arguments for a force/spin fix command: - //(fix ID group force/spin magnitude (T or eV) style (zeeman or anisotropy) direction (3 cartesian coordinates) + // fix ID group force/spin magnitude (T or eV) style (zeeman or anisotropy) direction (3 cartesian coordinates) // magnetic interactions coded for cartesian coordinates @@ -103,8 +103,6 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a FixForceSpin::~FixForceSpin() { - memory->destroy(spi); - memory->destroy(fmi); delete [] magstr; } @@ -124,19 +122,18 @@ int FixForceSpin::setmask() void FixForceSpin::init() { - const double hbar = force->hplanck/MY_2PI; // eV/(rad.THz) - const double mub = 5.78901e-5; // in eV/T - const double gyro = mub/hbar; // in rad.THz/T + const double hbar = force->hplanck/MY_2PI; // eV/(rad.THz) + const double mub = 5.78901e-5; // in eV/T + const double gyro = mub/hbar; // in rad.THz/T - H_field *= gyro; // in rad.THz - Ka /= hbar; // in rad.THz + H_field *= gyro; // in rad.THz + Ka /= hbar; // in rad.THz if (strstr(update->integrate_style,"respa")) { ilevel_respa = ((Respa *) update->integrate)->nlevels-1; if (respa_level >= 0) ilevel_respa = MIN(respa_level,ilevel_respa); } - // check variables if (magstr) { magvar = input->variable->find(magstr); if (magvar < 0) @@ -149,11 +146,9 @@ void FixForceSpin::init() if (magfieldstyle != CONSTANT) varflag = EQUAL; // set magnetic field components + if (varflag == CONSTANT) set_magneticforce(); - memory->create(spi,3,"forcespin:spi"); - memory->create(fmi,3,"forcespin:fmi"); - } /* ---------------------------------------------------------------------- */ @@ -174,15 +169,17 @@ void FixForceSpin::setup(int vflag) void FixForceSpin::post_force(int vflag) { // update gravity due to variables + if (varflag != CONSTANT) { modify->clearstep_compute(); modify->addstep_compute(update->ntimestep + 1); - set_magneticforce(); // update mag. field if time-dep. + set_magneticforce(); // update mag. field if time-dep. } double **sp = atom->sp; double *mumag = atom->mumag; - double **fm = atom->fm; + double **fm = atom->fm; + double spi[3], fmi[3]; const int nlocal = atom->nlocal; double scalar; @@ -214,17 +211,18 @@ void FixForceSpin::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixForceSpin::compute_zeeman(int i, double *fmi) + +void FixForceSpin::compute_zeeman(int i, double fmi[3]) { double *mumag = atom->mumag; - fmi[0] += mumag[i]*hx; - fmi[1] += mumag[i]*hy; - fmi[2] += mumag[i]*hz; + fmi[0] -= mumag[i]*hx; + fmi[1] -= mumag[i]*hy; + fmi[2] -= mumag[i]*hz; } /* ---------------------------------------------------------------------- */ -void FixForceSpin::compute_anisotropy(int i, double * spi, double *fmi) +void FixForceSpin::compute_anisotropy(int i, double spi[3], double fmi[3]) { double scalar = nax*spi[0] + nay*spi[1] + naz*spi[2]; fmi[0] += scalar*Kax; @@ -240,6 +238,7 @@ void FixForceSpin::post_force_respa(int vflag, int ilevel, int iloop) } /* ---------------------------------------------------------------------- */ + void FixForceSpin::set_magneticforce() { if (style == ZEEMAN) { @@ -260,8 +259,10 @@ void FixForceSpin::set_magneticforce() double FixForceSpin::compute_scalar() { - double emag_all=0.0; + double emag_all = 0.0; + // only sum across procs one time + if (eflag == 0) { MPI_Allreduce(&emag,&emag_all,1,MPI_DOUBLE,MPI_SUM,world); eflag = 1; diff --git a/src/SPIN/fix_force_spin.h b/src/SPIN/fix_force_spin.h index 7da3ece415..1f2b36d8e7 100644 --- a/src/SPIN/fix_force_spin.h +++ b/src/SPIN/fix_force_spin.h @@ -38,11 +38,11 @@ class FixForceSpin : public Fix { double compute_scalar(); int zeeman_flag, aniso_flag; - void compute_zeeman(int, double *); - void compute_anisotropy(int, double *, double *); + void compute_zeeman(int, double fmi[3]); + void compute_anisotropy(int, double spi[3], double fmi[3]); protected: - int style; // style of the magnetic force + int style; // style of the magnetic force double degree2rad; double hbar; @@ -57,18 +57,17 @@ class FixForceSpin : public Fix { char *magstr; // zeeman field intensity and direction + double H_field; double nhx, nhy, nhz; - double hx, hy, hz; // temp. force variables + double hx, hy, hz; // temp. force variables // magnetic anisotropy intensity and direction + double Ka; double nax, nay, naz; - double Kax, Kay, Kaz; // temp. force variables + double Kax, Kay, Kaz; // temp. force variables - // temp. spin variables - double *spi, *fmi; - void set_magneticforce(); }; diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index a790aa7ea6..4e7bc961c4 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -55,7 +55,10 @@ enum{NONE,SPIN}; /* ---------------------------------------------------------------------- */ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) + Fix(lmp, narg, arg), + rsec(NULL), k(NULL), adv_list(NULL), + lockpairspinexchange(NULL), lockpairspinsocneel(NULL), lockforcespin(NULL), + locklangevinspin(NULL) { if (narg != 4) error->all(FLERR,"Illegal fix integration/spin command"); @@ -78,37 +81,23 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : // error checks if (extra == SPIN && !atom->mumag_flag) error->all(FLERR,"Fix integration/spin requires spin attribute mumag"); + magpair_flag = 0; - soc_flag = 0; - exch_flag = 0; + exch_flag = soc_flag = 0; magforce_flag = 0; zeeman_flag = aniso_flag = 0; maglangevin_flag = 0; tdamp_flag = temp_flag = 0; - lockpairspin = NULL; - lockpairspinexchange = NULL; - lockpairspinsocneel = NULL; - lockforcespin = NULL; - locklangevinspin = NULL; } /* ---------------------------------------------------------------------- */ FixIntegrationSpin::~FixIntegrationSpin() { - //delete lockpairspin; - //delete lockforcespin; - memory->destroy(xi); - - memory->destroy(sec); + memory->destroy(k); + memory->destroy(adv_list); + memory->destroy(rsec); - memory->destroy(seci); - - memory->destroy(rij); - memory->destroy(spi); - memory->destroy(spj); - memory->destroy(fmi); - memory->destroy(fmj); } @@ -127,21 +116,12 @@ int FixIntegrationSpin::setmask() void FixIntegrationSpin::init() { // set timesteps + dtv = update->dt; dtf = 0.5 * update->dt * force->ftm2v; dts = 0.25 * update->dt; - memory->create(xi,3,"integrations:xi"); - memory->create(sec,3,"integrations:sec"); - memory->create(rsec,3,"integrations:rsec"); - memory->create(seci,3,"integrations:seci"); - - memory->create(rij,3,"integrations:xi"); - memory->create(spi,3,"integrations:spi"); - memory->create(spj,3,"integrations:spj"); - memory->create(fmi,3,"integrations:fmi"); - memory->create(fmj,3,"integrations:fmj"); - + // set necessary pointers to interaction classes if (strstr(force->pair_style,"pair/spin/exchange")) { exch_flag = 1; @@ -190,11 +170,19 @@ void FixIntegrationSpin::init() if (locklangevinspin->tdamp_flag == 1) tdamp_flag = 1; if (locklangevinspin->temp_flag == 1) temp_flag = 1; } + - + memory->create(rsec,3,"integration/spin:rsec"); + // perform the sectoring if mpi integration + if (mpi_flag) sectoring(); + // grow tables for k and adv_list + + k = memory->grow(k,nsectors,"integration/spin:k"); + adv_list = memory->grow(adv_list,nsectors,atom->nmax,"integration/spin:adv_list"); + } /* ---------------------------------------------------------------------- */ @@ -202,6 +190,8 @@ void FixIntegrationSpin::init() void FixIntegrationSpin::initial_integrate(int vflag) { double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; + double xi[3]; + double spi[3], fmi[3]; double **x = atom->x; double **v = atom->v; @@ -215,8 +205,8 @@ void FixIntegrationSpin::initial_integrate(int vflag) int *type = atom->type; int *mask = atom->mask; - // advance spin-lattice system, vsrsv - // update half v for all particles + // update half v for all atoms + for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (rmass) dtfm = dtf / rmass[i]; @@ -227,26 +217,24 @@ void FixIntegrationSpin::initial_integrate(int vflag) } } -//#define SEC -#define LIST + // grow/shrink adv_list table to nlocal + // init. tables for mpi-sector storage -#if defined LIST - //printf("sectors = %d \n",nsectors); - int adv_list[nsectors][nlocal]; - int k[nsectors]; + int p; + adv_list = memory->grow(adv_list,nsectors,nlocal,"integration/spin:adv_list"); for (int j = 0; j < nsectors; j++) { k[j] = 0; for (int i = 0; i < nlocal; i++) { adv_list[j][i] = 0; } } - int s, p; - // update half s for all particles + // update half s for all atoms + if (extra == SPIN) { - if (mpi_flag == 1) { // mpi seq. update + if (mpi_flag) { // mpi seq. update int nseci; - for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal + for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal comm->forward_comm(); k[j] = 0; for (int i = 0; i < nlocal; i++) { @@ -256,89 +244,37 @@ void FixIntegrationSpin::initial_integrate(int vflag) nseci = coords2sector(xi); if (j != nseci) continue; ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); + AdvanceSingleSpin(i,dts); adv_list[j][k[j]] = i; k[j]++; } } - int ntest = 0; - for (int j = 0; j < nsectors; j++) { - ntest += k[j]; - } - if (ntest != nlocal) error->all(FLERR,"error, S(k[j]) != nlocal"); - - for (int j = nsectors-1; j >= 0; j--) { + for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); for (int i = k[j]-1; i >= 0; i--) { p = adv_list[j][i]; ComputeInteractionsSpin(p); - AdvanceSingleSpin(p,dts,sp,fm); + AdvanceSingleSpin(p,dts); } } - } else if (mpi_flag == 0) { // serial seq. update - comm->forward_comm(); // comm. positions of ghost atoms - for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - ComputeInteractionsSpin(nlocal-1); - AdvanceSingleSpin(nlocal-1,2.0*dts,sp,fm); // advance half s for 1 - for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - } else error->all(FLERR,"Illegal fix integration/spin command"); - } -#endif - - -#if defined SEC - // update half s for all particles - if (extra == SPIN) { - if (mpi_flag == 1) { // mpi seq. update - int nseci; - for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal - comm->forward_comm(); - for (int i = 0; i < nlocal; i++) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - } - for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal - comm->forward_comm(); - for (int i = nlocal-1; i >= 0; i--) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - } - } else if (mpi_flag == 0) { // serial seq. update - comm->forward_comm(); // comm. positions of ghost atoms - for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal + } else if (mpi_flag == 0) { // serial seq. update + comm->forward_comm(); // comm. positions of ghost atoms + for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); + AdvanceSingleSpin(i,dts); } ComputeInteractionsSpin(nlocal-1); - AdvanceSingleSpin(nlocal-1,2.0*dts,sp,fm); // advance half s for 1 - for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal + AdvanceSingleSpin(nlocal-1,2.0*dts); // advance half s for 1 + for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); + AdvanceSingleSpin(i,dts); } } else error->all(FLERR,"Illegal fix integration/spin command"); } -#endif // update x for all particles + for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { x[i][0] += dtv * v[i][0]; @@ -348,87 +284,42 @@ void FixIntegrationSpin::initial_integrate(int vflag) } -#if defined LIST - // update half s for all particles + // update half s for all particles + if (extra == SPIN) { - if (mpi_flag == 1) { // mpi seq. update + if (mpi_flag) { // mpi seq. update int nseci; - for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal + for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal comm->forward_comm(); for (int i = 0; i < k[j]; i++) { p = adv_list[j][i]; ComputeInteractionsSpin(p); - AdvanceSingleSpin(p,dts,sp,fm); + AdvanceSingleSpin(p,dts); } } - for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal + for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); for (int i = k[j]-1; i >= 0; i--) { p = adv_list[j][i]; ComputeInteractionsSpin(p); - AdvanceSingleSpin(p,dts,sp,fm); + AdvanceSingleSpin(p,dts); } } - } else if (mpi_flag == 0) { // serial seq. update - comm->forward_comm(); // comm. positions of ghost atoms - for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal + } else if (mpi_flag == 0) { // serial seq. update + comm->forward_comm(); // comm. positions of ghost atoms + for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); + AdvanceSingleSpin(i,dts); } ComputeInteractionsSpin(nlocal-1); - AdvanceSingleSpin(nlocal-1,2.0*dts,sp,fm); // advance half s for 1 - for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal + AdvanceSingleSpin(nlocal-1,2.0*dts); // advance half s for 1 + for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); + AdvanceSingleSpin(i,dts); } } else error->all(FLERR,"Illegal fix integration/spin command"); } -#endif -#if defined SEC - // update half s for all particles - if (extra == SPIN) { - if (mpi_flag == 1) { // mpi seq. update - int nseci; - for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal - comm->forward_comm(); - for (int i = 0; i < nlocal; i++) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - } - for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal - comm->forward_comm(); - for (int i = nlocal-1; i >= 0; i--) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - } - } else if (mpi_flag == 0) { // serial seq. update - comm->forward_comm(); // comm. positions of ghost atoms - for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - ComputeInteractionsSpin(nlocal-1); - AdvanceSingleSpin(nlocal-1,2.0*dts,sp,fm); // advance half s for 1 - for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts,sp,fm); - } - } else error->all(FLERR,"Illegal fix integration/spin command"); - } -#endif } @@ -436,8 +327,10 @@ void FixIntegrationSpin::initial_integrate(int vflag) void FixIntegrationSpin::ComputeInteractionsSpin(int ii) { const int nlocal = atom->nlocal; + double xi[3], rij[3]; + double spi[3], spj[3]; + double fmi[3], fmj[3]; - // force compute quantities int i,j,jj,inum,jnum,itype,jtype; int *ilist,*jlist,*numneigh,**firstneigh; double **x = atom->x; @@ -455,7 +348,6 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) } double rsq, rd; - double delx, dely, delz; double temp_cut, cut_2, inorm; temp_cut = cut_2 = inorm = 0.0; @@ -464,6 +356,7 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) int pair_compute_flag = 1; // force computation for spin i + i = ilist[ii]; spi[0] = sp[i][0]; @@ -478,7 +371,8 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) jlist = firstneigh[i]; jnum = numneigh[i]; - // pair interaction + // loop on neighbors for pair interactions + for (int jj = 0; jj < jnum; jj++) { j = jlist[jj]; @@ -490,19 +384,19 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) spj[1] = sp[j][1]; spj[2] = sp[j][2]; - delx = x[j][0] - xi[0]; - dely = x[j][1] - xi[1]; - delz = x[j][2] - xi[2]; - rsq = delx*delx + dely*dely + delz*delz; - inorm = 1.0/sqrt(rsq); - rij[0] = delx*inorm; - rij[1] = dely*inorm; - rij[2] = delz*inorm; + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + inorm = 1.0/sqrt(rsq); + rij[0] *= inorm; + rij[1] *= inorm; + rij[2] *= inorm; temp_cut = 0.0; - if (exch_flag) { // exchange + if (exch_flag) { // exchange temp_cut = lockpairspinexchange->cut_spin_exchange[itype][jtype]; cut_2 = temp_cut*temp_cut; if (rsq <= cut_2) { @@ -510,38 +404,36 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) } } - if (soc_flag) { // soc + if (soc_flag) { // soc temp_cut = lockpairspinsocneel->cut_soc_neel[itype][jtype]; cut_2 = temp_cut*temp_cut; if (rsq <= cut_2) { - lockpairspinsocneel->compute_soc_neel(i,j,rsq,rij,fmi,fmj,spi,spj); + //lockpairspinsocneel->compute_soc_neel(i,j,rsq,rij,fmi,fmj,spi,spj); } } } - if (magforce_flag) { // mag. forces - if (zeeman_flag) { // zeeman + if (magforce_flag) { // mag. forces + if (zeeman_flag) { // zeeman lockforcespin->compute_zeeman(i,fmi); } - if (aniso_flag) { // aniso - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; + if (aniso_flag) { // aniso lockforcespin->compute_anisotropy(i,spi,fmi); } } - if (maglangevin_flag) { // mag. langevin - if (tdamp_flag) { // trans. damping + if (maglangevin_flag) { // mag. langevin + if (tdamp_flag) { // transverse damping locklangevinspin->add_tdamping(spi,fmi); } - if (temp_flag) { // temp. + if (temp_flag) { // spin temperature locklangevinspin->add_temperature(fmi); } } - // replace the mag. force i by its new value + // replace the magnethic force i by its new value + fm[i][0] = fmi[0]; fm[i][1] = fmi[1]; fm[i][2] = fmi[2]; @@ -551,6 +443,7 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) /* ---------------------------------------------------------------------- */ void FixIntegrationSpin::sectoring() { + int sec[3]; double sublo[3],subhi[3]; double* sublotmp = domain->sublo; double* subhitmp = domain->subhi; @@ -591,18 +484,20 @@ void FixIntegrationSpin::sectoring() } /* ---------------------------------------------------------------------- */ -int FixIntegrationSpin::coords2sector(double *xi) + +int FixIntegrationSpin::coords2sector(double x[3]) { int nseci; + int seci[3]; double sublo[3]; double* sublotmp = domain->sublo; for (int dim = 0 ; dim<3 ; dim++) { sublo[dim]=sublotmp[dim]; } - double rix = (xi[0] - sublo[0])/rsec[0]; - double riy = (xi[1] - sublo[1])/rsec[1]; - double riz = (xi[2] - sublo[2])/rsec[2]; + double rix = (x[0] - sublo[0])/rsec[0]; + double riy = (x[1] - sublo[1])/rsec[1]; + double riz = (x[2] - sublo[2])/rsec[2]; seci[0] = static_cast(rix); seci[1] = static_cast(riy); @@ -616,10 +511,12 @@ int FixIntegrationSpin::coords2sector(double *xi) /* ---------------------------------------------------------------------- */ -void FixIntegrationSpin::AdvanceSingleSpin(int i, double dtl, double **sp, double **fm) +void FixIntegrationSpin::AdvanceSingleSpin(int i, double dtl) { int j=0; int *sametag = atom->sametag; + double **sp = atom->sp; + double **fm = atom->fm; double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy,dts2; double cp[3],g[3]; @@ -651,13 +548,15 @@ void FixIntegrationSpin::AdvanceSingleSpin(int i, double dtl, double **sp, doubl sp[i][2] = g[2]; // renormalization (may not be necessary) + msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; scale = 1.0/sqrt(msq); sp[i][0] *= scale; sp[i][1] *= scale; sp[i][2] *= scale; - // comm. sp[i] to atoms with same tag (serial algo) + // comm. sp[i] to atoms with same tag (for serial algo) + if (mpi_flag == 0) { if (sametag[i] >= 0) { j = sametag[i]; @@ -692,6 +591,7 @@ void FixIntegrationSpin::final_integrate() int *mask = atom->mask; // update half v for all particles + for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (rmass) dtfm = dtf / rmass[i]; diff --git a/src/SPIN/fix_integration_spin.h b/src/SPIN/fix_integration_spin.h index 1156cc576f..dfeef599a3 100644 --- a/src/SPIN/fix_integration_spin.h +++ b/src/SPIN/fix_integration_spin.h @@ -34,46 +34,35 @@ class FixIntegrationSpin : public Fix { virtual void initial_integrate(int); virtual void final_integrate(); - // compute and advance single spin - void ComputeInteractionsSpin(int); - void AdvanceSingleSpin(int, double, double **, double **); + void ComputeInteractionsSpin(int); // compute and advance single spin functions + void AdvanceSingleSpin(int, double); - // sectoring operations - void sectoring(); - int coords2sector(double *); + void sectoring(); // sectoring operation functions + int coords2sector(double x[3]); protected: int extra, mpi_flag; - // velocity, force, and spin timesteps - double dtv,dtf,dts; + double dtv,dtf,dts; // velocity, force, and spin timesteps - // mag. interaction flags - int magpair_flag; - int soc_flag; - int exch_flag; - int magforce_flag; + int magpair_flag; // magnetic pair flags + int soc_flag, exch_flag; + int magforce_flag; // magnetic force flags int zeeman_flag, aniso_flag; - int maglangevin_flag; + int maglangevin_flag; // magnetic langevin flags int tdamp_flag, temp_flag; - // pointers to interaction classes - class PairHybrid *lockhybrid; - class PairSpin *lockpairspin; + // pointers to magnetic interaction classes + + class PairHybrid *lockhybrid; class PairSpinExchange *lockpairspinexchange; class PairSpinSocNeel *lockpairspinsocneel; class FixForceSpin *lockforcespin; class FixLangevinSpin *locklangevinspin; - // temporary variables - double *xi, *rij; - double *spi, *spj; - double *fmi, *fmj; - - // sectoring variables - int nsectors; - int *sec, *seci; + int nsectors; // sectoring variables double *rsec; + int *k, **adv_list; }; diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index 1af32ff5cb..b017e20ae3 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -89,7 +89,7 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : } // initialize Marsaglia RNG with processor-unique seed - //random = new RanMars(lmp,seed + comm->me); + random = new RanPark(lmp,seed + comm->me); } @@ -135,8 +135,8 @@ void FixLangevinSpin::init() gil_factor = 1.0/(1.0+(alpha_t)*(alpha_t)); dts = update->dt; - double hbar = force->hplanck/MY_2PI; // eV/(rad.THz) - double kb = force->boltz; // eV/K + double hbar = force->hplanck/MY_2PI; // eV/(rad.THz) + double kb = force->boltz; // eV/K D = (MY_2PI*alpha_t*gil_factor*kb*temp); D /= (hbar*dts); sigma = sqrt(2.0*D); @@ -156,76 +156,37 @@ void FixLangevinSpin::setup(int vflag) } /* ---------------------------------------------------------------------- */ -/* -void FixLangevinSpin::post_force(int vflag) -{ - double **sp = atom->sp; - double **fm = atom->fm; - int *mask = atom->mask; - const int nlocal = atom->nlocal; - - // add the damping to the effective field of each spin - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - fmi[0] = fm[i][0]; - fmi[1] = fm[i][1]; - fmi[2] = fm[i][2]; - - if (tdamp_flag) { - add_tdamping(spi,fmi); - } - - if (temp_flag) { - add_temperature(fmi); - } - - fm[i][0] = fmi[0]; - fm[i][1] = fmi[1]; - fm[i][2] = fmi[2]; - } - } -} -*/ - -/* ---------------------------------------------------------------------- */ -void FixLangevinSpin::add_tdamping(double *spi, double *fmi) +void FixLangevinSpin::add_tdamping(double spi[3], double fmi[3]) { double cpx = fmi[1]*spi[2] - fmi[2]*spi[1]; double cpy = fmi[2]*spi[0] - fmi[0]*spi[2]; double cpz = fmi[0]*spi[1] - fmi[1]*spi[0]; - // taking away the transverse damping + // adding the transverse damping + fmi[0] -= alpha_t*cpx; fmi[1] -= alpha_t*cpy; fmi[2] -= alpha_t*cpz; } /* ---------------------------------------------------------------------- */ -void FixLangevinSpin::add_temperature(double *fmi) + +void FixLangevinSpin::add_temperature(double fmi[3]) { -//#define GAUSSIAN_R -#if defined GAUSSIAN_R - // drawing gaussian random dist - double rx = sigma*random->gaussian(); - double ry = sigma*random->gaussian(); - double rz = sigma*random->gaussian(); -#else + double rx = sigma*(-1.0+2.0*random->uniform()); double ry = sigma*(-1.0+2.0*random->uniform()); double rz = sigma*(-1.0+2.0*random->uniform()); -#endif // adding the random field + fmi[0] += rx; fmi[1] += ry; fmi[2] += rz; - // adding Gilbert's prefactor + // adding gilbert's prefactor + fmi[0] *= gil_factor; fmi[1] *= gil_factor; fmi[2] *= gil_factor; diff --git a/src/SPIN/fix_langevin_spin.h b/src/SPIN/fix_langevin_spin.h index 3690037225..d95f5c08c7 100644 --- a/src/SPIN/fix_langevin_spin.h +++ b/src/SPIN/fix_langevin_spin.h @@ -33,25 +33,22 @@ class FixLangevinSpin : public Fix { void setup(int); // virtual void post_force(int); void post_force_respa(int, int, int); - void add_tdamping(double *, double *); // add transverse damping - void add_temperature(double *); // add temperature - int tdamp_flag, ldamp_flag, temp_flag; // damping and temperature flags + void add_tdamping(double spi[3], double fmi[3]); // add transverse damping + void add_temperature(double fmi[3]); // add temperature + int tdamp_flag, ldamp_flag, temp_flag; // damping and temperature flags protected: double *spi, *fmi; - double alpha_t; // mag. transverse damping coeff. - double alpha_l; // mag. longitudinal damping coeff. - double dts; // timestep - double temp; // spin bath temperature - double D,sigma; // bath intensity var. - - double gil_factor; // Gilbert's prefactor + double alpha_t, alpha_l; // transverse and longitudunal damping coeff. + double dts; // magnetic timestep + double temp; // spin bath temperature + double D,sigma; // bath intensity var. + double gil_factor; // gilbert's prefactor char *id_temp; class Compute *temperature; int nlevels_respa; - //class RanMars *random; class RanPark *random; int seed; diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp deleted file mode 100755 index e4e8e2e15a..0000000000 --- a/src/SPIN/pair_spin.cpp +++ /dev/null @@ -1,637 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ------------------------------------------------------------------------ - Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) -------------------------------------------------------------------------- */ - -#include -#include -#include - -#include "atom.h" -#include "comm.h" -#include "error.h" -#include "force.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "math_const.h" -#include "memory.h" -#include "pair_spin.h" -#include "update.h" - -using namespace LAMMPS_NS; -using namespace MathConst; - -/* ---------------------------------------------------------------------- */ - -PairSpin::PairSpin(LAMMPS *lmp) : Pair(lmp) -{ - hbar = force->hplanck/MY_2PI; - - newton_pair_spin = 0; // no newton pair for now - single_enable = 0; - exch_flag = 0; - dmi_flag = 0; - me_flag = 0; - - no_virial_fdotr_compute = 1; -} - -/* ---------------------------------------------------------------------- */ - -PairSpin::~PairSpin() -{ - if (allocated) { - memory->destroy(setflag); - - memory->destroy(cut_spin_exchange); - memory->destroy(J1_mag); - memory->destroy(J1_mech); - memory->destroy(J2); - memory->destroy(J3); - - memory->destroy(cut_spin_dmi); - memory->destroy(DM); - memory->destroy(v_dmx); - memory->destroy(v_dmy); - memory->destroy(v_dmz); - - memory->destroy(cut_spin_me); - memory->destroy(ME); - memory->destroy(v_mex); - memory->destroy(v_mey); - memory->destroy(v_mez); - - memory->destroy(spi); - memory->destroy(spj); - memory->destroy(fi); - memory->destroy(fj); - memory->destroy(fmi); - memory->destroy(fmj); - memory->destroy(del); - - memory->destroy(cutsq); - } -} - -/* ---------------------------------------------------------------------- */ - -void PairSpin::compute(int eflag, int vflag) -{ - int i,j,ii,jj,inum,jnum,itype,jtype; - double evdwl,ecoul; - double xtmp,ytmp,ztmp; - double fix,fiy,fiz,fjx,fjy,fjz; - double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; - double cut_ex_2,cut_dmi_2,cut_me_2,cut_spin_pair_global2; - double rsq,rd; - int *ilist,*jlist,*numneigh,**firstneigh; - - evdwl = ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; - cut_spin_pair_global2 = cut_spin_pair_global*cut_spin_pair_global; - - double **x = atom->x; - double **f = atom->f; - double **fm = atom->fm; - double *mumag = atom->mumag; - double **sp = atom->sp; - int *type = atom->type; - int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; - - inum = list->inum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - - // pair spin computations - // loop over neighbors of my atoms - - for (ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - // loop on neighbors - for (jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; - - fi[0] = fi[1] = fi[2] = 0.0; - fj[0] = fj[1] = fj[2] = 0.0; - fmi[0] = fmi[1] = fmi[2] = 0.0; - fmj[0] = fmj[1] = fmj[2] = 0.0; - del[0] = del[1] = del[2] = 0.0; - - del[0] = x[j][0] - xtmp; - del[1] = x[j][1] - ytmp; - del[2] = x[j][2] - ztmp; - - // square of inter-atomic distance - rsq = del[0]*del[0] + del[1]*del[1] + del[2]*del[2]; - - itype = type[i]; - jtype = type[j]; - - // exchange interaction - if (exch_flag) { - cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; - if (rsq <= cut_ex_2) { - compute_exchange(i,j,rsq,fmi,fmj,spi,spj); - compute_exchange_mech(i,j,rsq,del,fi,fj,spi,spj); - } - } - // dm interaction - if (dmi_flag){ - cut_dmi_2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; - if (rsq <= cut_dmi_2){ - compute_dmi(i,j,fmi,fmj,spi,spj); - } - } - // me interaction - if (me_flag){ - cut_me_2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; - if (rsq <= cut_me_2){ - compute_me(i,j,fmi,fmj,spi,spj); - } - } - - f[i][0] += fi[0]; - f[i][1] += fi[1]; - f[i][2] += fi[2]; - fm[i][0] += fmi[0]; - fm[i][1] += fmi[1]; - fm[i][2] += fmi[2]; - - /* if (newton_pair || j < nlocal) {*/ - if (newton_pair_spin) { - f[j][0] += fj[0]; - f[j][1] += fj[1]; - f[j][2] += fj[2]; - fm[j][0] += fmj[0]; - fm[j][1] += fmj[1]; - fm[j][2] += fmj[2]; - } - - if (eflag) { - if (rsq <= cut_spin_pair_global2) { - evdwl -= mumag[i]*spi[0]*fmi[0]; - evdwl -= mumag[i]*spi[1]*fmi[1]; - evdwl -= mumag[i]*spi[2]*fmi[2]; - } - } - - evdwl *= hbar; - - if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, - evdwl,ecoul,fi[0],fi[1],fi[2],del[0],del[1],del[2]); - } - } - - if (vflag_fdotr) virial_fdotr_compute(); -} - -/* ---------------------------------------------------------------------- */ -void PairSpin::compute_exchange(int i, int j, double rsq, double *fmi, double *fmj, double *spi, double *spj) -{ - int *type = atom->type; - int itype, jtype; - double Jex, ra; - itype = type[i]; - jtype = type[j]; - - ra = rsq/J3[itype][jtype]/J3[itype][jtype]; - Jex = 4.0*J1_mag[itype][jtype]*ra; - Jex *= (1.0-J2[itype][jtype]*ra); - Jex *= exp(-ra); - - fmi[0] += Jex*spj[0]; - fmi[1] += Jex*spj[1]; - fmi[2] += Jex*spj[2]; - - fmj[0] += Jex*spi[0]; - fmj[1] += Jex*spi[1]; - fmj[2] += Jex*spi[2]; - -} - -/* ---------------------------------------------------------------------- */ -void PairSpin::compute_exchange_mech(int i, int j, double rsq, double *del, double *fi, double *fj, double *spi, double *spj) -{ - int *type = atom->type; - int itype, jtype; - double Jex, Jex_mech, ra, rr; - itype = type[i]; - jtype = type[j]; - Jex = J1_mech[itype][jtype]; - - ra = rsq/J3[itype][jtype]/J3[itype][jtype]; - rr = sqrt(rsq)/J3[itype][jtype]/J3[itype][jtype]; - - Jex_mech = 1.0-ra-J2[itype][jtype]*ra*(2.0-ra); - Jex_mech *= 8.0*Jex*rr*exp(-ra); - Jex_mech *= (spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]); - - fi[0] += Jex_mech*del[0]; - fi[1] += Jex_mech*del[1]; - fi[2] += Jex_mech*del[2]; - - fj[0] -= Jex_mech*del[0]; - fj[1] -= Jex_mech*del[1]; - fj[2] -= Jex_mech*del[2]; - -} - -/* ---------------------------------------------------------------------- */ -void PairSpin::compute_dmi(int i, int j, double *fmi, double *fmj, double *spi, double *spj) -{ - int *type = atom->type; - int itype, jtype; - double dmix,dmiy,dmiz; - itype = type[i]; - jtype = type[j]; - - dmix = DM[itype][jtype]*v_dmx[itype][jtype]; - dmiy = DM[itype][jtype]*v_dmy[itype][jtype]; - dmiz = DM[itype][jtype]*v_dmz[itype][jtype]; - - fmi[0] += spj[1]*dmiz-spj[2]*dmiy; - fmi[1] += spj[2]*dmix-spj[0]*dmiz; - fmi[2] += spj[0]*dmiy-spj[1]*dmix; - - fmj[0] -= spi[1]*dmiz-spi[2]*dmiy; - fmj[1] -= spi[2]*dmix-spi[0]*dmiz; - fmj[2] -= spi[0]*dmiy-spi[1]*dmix; -} - -/* ---------------------------------------------------------------------- */ -void PairSpin::compute_me(int i, int j, double *fmi, double *fmj, double *spi, double *spj) -{ - int *type = atom->type; - int itype, jtype; - itype = type[i]; - jtype = type[j]; - double **sp = atom->sp; - double **x = atom->x; - double meix,meiy,meiz; - double rx, ry, rz, inorm; - - rx = x[j][0] - x[i][0]; - ry = x[j][1] - x[i][1]; - rz = x[j][2] - x[i][2]; - inorm = 1.0/sqrt(rx*rx+ry*ry+rz*rz); - rx *= inorm; - ry *= inorm; - rz *= inorm; - - meix = v_mey[itype][jtype]*rz - v_mez[itype][jtype]*ry; - meiy = v_mez[itype][jtype]*rx - v_mex[itype][jtype]*rz; - meiz = v_mex[itype][jtype]*ry - v_mey[itype][jtype]*rx; - - meix *= ME[itype][jtype]; - meiy *= ME[itype][jtype]; - meiz *= ME[itype][jtype]; - - fmi[0] += spj[1]*meiz - spj[2]*meiy; - fmi[1] += spj[2]*meix - spj[0]*meiz; - fmi[2] += spj[0]*meiy - spj[1]*meix; - - fmj[0] -= spi[1]*meiz - spi[2]*meiy; - fmj[1] -= spi[2]*meix - spi[0]*meiz; - fmj[2] -= spi[0]*meiy - spi[1]*meix; - -} - -/* ---------------------------------------------------------------------- - allocate all arrays -------------------------------------------------------------------------- */ - -void PairSpin::allocate() -{ - allocated = 1; - int n = atom->ntypes; - - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; - - memory->create(cut_spin_exchange,n+1,n+1,"pair:cut_spin_exchange"); - memory->create(J1_mag,n+1,n+1,"pair:J1_mag"); - memory->create(J1_mech,n+1,n+1,"pair:J1_mech"); - memory->create(J2,n+1,n+1,"pair:J2"); - memory->create(J3,n+1,n+1,"pair:J3"); - - memory->create(cut_spin_dmi,n+1,n+1,"pair:cut_spin_dmi"); - memory->create(DM,n+1,n+1,"pair:DM"); - memory->create(v_dmx,n+1,n+1,"pair:DM_vector_x"); - memory->create(v_dmy,n+1,n+1,"pair:DM_vector_y"); - memory->create(v_dmz,n+1,n+1,"pair:DM_vector_z"); - - memory->create(cut_spin_me,n+1,n+1,"pair:cut_spin_me"); - memory->create(ME,n+1,n+1,"pair:ME"); - memory->create(v_mex,n+1,n+1,"pair:ME_vector_x"); - memory->create(v_mey,n+1,n+1,"pair:ME_vector_y"); - memory->create(v_mez,n+1,n+1,"pair:ME_vector_z"); - - memory->create(spi,3,"pair:spi"); - memory->create(spj,3,"pair:spj"); - memory->create(fi,3,"pair:fi"); - memory->create(fj,3,"pair:fj"); - memory->create(fmi,3,"pair:fmi"); - memory->create(fmj,3,"pair:fmj"); - memory->create(del,3,"pair:del"); - - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - -} - -/* ---------------------------------------------------------------------- - global settings -------------------------------------------------------------------------- */ - -void PairSpin::settings(int narg, char **arg) -{ - if (narg < 1 || narg > 2) - error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); - - if (strcmp(update->unit_style,"metal") != 0) - error->all(FLERR,"Spin simulations require metal unit style"); - - cut_spin_pair_global = force->numeric(FLERR,arg[0]); - - // reset cutoffs that have been explicitly set - - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i+1; j <= atom->ntypes; j++) - if (setflag[i][j]) { - cut_spin_exchange[i][j] = cut_spin_pair_global; - cut_spin_dmi[i][j] = cut_spin_pair_global; - cut_spin_me[i][j] = cut_spin_pair_global; - } - } - -} - -/* ---------------------------------------------------------------------- - set coeffs for one or more type spin pairs (only one for now) -------------------------------------------------------------------------- */ - -void PairSpin::coeff(int narg, char **arg) -{ - const double hbar = force->hplanck/MY_2PI; - - if (!allocated) allocate(); - - if (strcmp(arg[2],"exchange")==0){ - if (narg != 7) error->all(FLERR,"Incorrect args in pair_style command"); - exch_flag = 1; - - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double j1 = (force->numeric(FLERR,arg[4])); - const double j2 = force->numeric(FLERR,arg[5]); - const double j3 = force->numeric(FLERR,arg[6]); - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_exchange[i][j] = rij; - J1_mag[i][j] = j1/hbar; - J1_mech[i][j] = j1; - J2[i][j] = j2; - J3[i][j] = j3; - setflag[i][j] = 1; - count++; - } - } - if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); - } else if (strcmp(arg[2],"dmi")==0) { - if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); - dmi_flag = 1; - - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double dm = (force->numeric(FLERR,arg[4]))/hbar; - double dmx = force->numeric(FLERR,arg[5]); - double dmy = force->numeric(FLERR,arg[6]); - double dmz = force->numeric(FLERR,arg[7]); - - double inorm = 1.0/(dmx*dmx+dmy*dmy+dmz*dmz); - dmx *= inorm; - dmy *= inorm; - dmz *= inorm; - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_dmi[i][j] = rij; - DM[i][j] = dm; - v_dmx[i][j] = dmx; - v_dmy[i][j] = dmy; - v_dmz[i][j] = dmz; - setflag[i][j] = 1; - count++; - } - } - if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); - } else if (strcmp(arg[2],"me")==0) { - if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); - me_flag = 1; - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double me = (force->numeric(FLERR,arg[4]))/hbar; - double mex = force->numeric(FLERR,arg[5]); - double mey = force->numeric(FLERR,arg[6]); - double mez = force->numeric(FLERR,arg[7]); - - double inorm = 1.0/(mex*mex+mey*mey+mez*mez); - mex *= inorm; - mey *= inorm; - mez *= inorm; - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_me[i][j] = rij; - DM[i][j] = me; - v_mex[i][j] = mex; - v_mey[i][j] = mey; - v_mez[i][j] = mez; - setflag[i][j] = 1; - count++; - } - } - if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); - } else error->all(FLERR,"Incorrect args in pair_style command"); - - // check if Jex [][] still works for Ferrimagnetic exchange - -} - - -/* ---------------------------------------------------------------------- - init specific to this pair style -------------------------------------------------------------------------- */ - -void PairSpin::init_style() -{ - if (!atom->sp_flag || !atom->mumag_flag) - error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); - - neighbor->request(this,instance_me); - -#define FULLNEI -#if defined FULLNEI - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; -#endif -} - -/* ---------------------------------------------------------------------- - init for one type pair i,j and corresponding j,i -------------------------------------------------------------------------- */ - -double PairSpin::init_one(int i, int j) -{ - - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - - return cut_spin_pair_global; -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairSpin::write_restart(FILE *fp) -{ - write_restart_settings(fp); - - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); - if (setflag[i][j]) { - if (exch_flag){ - fwrite(&J1_mag[i][j],sizeof(double),1,fp); - fwrite(&J1_mech[i][j],sizeof(double),1,fp); - fwrite(&J2[i][j],sizeof(double),1,fp); - fwrite(&J3[i][j],sizeof(double),1,fp); - fwrite(&cut_spin_exchange[i][j],sizeof(double),1,fp); - } - if (dmi_flag) { - fwrite(&DM[i][j],sizeof(double),1,fp); - fwrite(&v_dmx[i][j],sizeof(double),1,fp); - fwrite(&v_dmy[i][j],sizeof(double),1,fp); - fwrite(&v_dmz[i][j],sizeof(double),1,fp); - fwrite(&cut_spin_dmi[i][j],sizeof(double),1,fp); - } - if (me_flag) { - fwrite(&ME[i][j],sizeof(double),1,fp); - fwrite(&v_mex[i][j],sizeof(double),1,fp); - fwrite(&v_mey[i][j],sizeof(double),1,fp); - fwrite(&v_mez[i][j],sizeof(double),1,fp); - fwrite(&cut_spin_me[i][j],sizeof(double),1,fp); - } - } - } -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairSpin::read_restart(FILE *fp) -{ - read_restart_settings(fp); - - allocate(); - - int i,j; - int me = comm->me; - for (i = 1; i <= atom->ntypes; i++) { - for (j = i; j <= atom->ntypes; j++) { - if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); - if (setflag[i][j]) { - if (me == 0) { - fread(&J1_mag[i][j],sizeof(double),1,fp); - fread(&J1_mech[i][j],sizeof(double),1,fp); - fread(&J2[i][j],sizeof(double),1,fp); - fread(&J2[i][j],sizeof(double),1,fp); - fread(&cut_spin_exchange[i][j],sizeof(double),1,fp); - } - MPI_Bcast(&J1_mag[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&J1_mech[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&J2[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&J3[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut_spin_exchange[i][j],1,MPI_DOUBLE,0,world); - } - } - } -} - - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairSpin::write_restart_settings(FILE *fp) -{ - fwrite(&cut_spin_pair_global,sizeof(double),1,fp); - fwrite(&offset_flag,sizeof(int),1,fp); - fwrite(&mix_flag,sizeof(int),1,fp); -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairSpin::read_restart_settings(FILE *fp) -{ - if (comm->me == 0) { - fread(&cut_spin_pair_global,sizeof(double),1,fp); - fread(&offset_flag,sizeof(int),1,fp); - fread(&mix_flag,sizeof(int),1,fp); - } - MPI_Bcast(&cut_spin_pair_global,1,MPI_DOUBLE,0,world); - MPI_Bcast(&offset_flag,1,MPI_INT,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); -} diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h deleted file mode 100755 index f73be7d466..0000000000 --- a/src/SPIN/pair_spin.h +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef PAIR_CLASS - -PairStyle(pair/spin,PairSpin) - -#else - -#ifndef LMP_PAIR_SPIN_H -#define LMP_PAIR_SPIN_H - -#include "pair.h" - -namespace LAMMPS_NS { - -class PairSpin : public Pair { - public: - PairSpin(class LAMMPS *); - virtual ~PairSpin(); - virtual void compute(int, int); - void settings(int, char **); - void coeff(int, char **); - void init_style(); - double init_one(int, int); - - void write_restart(FILE *); - void read_restart(FILE *); - void write_restart_settings(FILE *); - void read_restart_settings(FILE *); - - void compute_exchange(int, int, double, double *, double *,double *, double *); - void compute_exchange_mech(int, int, double, double *, double *, double *,double *, double *); - void compute_dmi(int, int, double *, double *, double *, double *); - void compute_me(int, int, double *, double *, double *, double *); - - int exch_flag, dmi_flag, me_flag; - double cut_spin_pair_global; - double cut_spin_dipolar_global; - - double **cut_spin_exchange; // cutoff distance exchange - double **cut_spin_dmi; // cutoff distance dmi - double **cut_spin_me; // cutoff distance me - - protected: - int newton_pair_spin; - double hbar; - - double **J1_mag, **J1_mech; // exchange coeffs Jij - double **J2, **J3; // J1 in eV, J2 adim, J3 in Ang - - double **DM; // dmi coeff in eV - double **v_dmx, **v_dmy, **v_dmz;// dmi direction - - double **ME; // me coeff in eV - double **v_mex, **v_mey, **v_mez;// me direction - - double *spi, *spj; // temp. spin vals. in compute - double *fi, *fj; // temp. mech. forces in compute - double *fmi, *fmj; // temp. mag. forces in compute - double *del; // inter atomic distances - - void allocate(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Incorrect args in pair_spin command - -Self-explanatory. - -E: Spin simulations require metal unit style - -Self-explanatory. - -E: Incorrect args for pair coefficients - -Self-explanatory. Check the input script or data file. - -E: Pair spin requires atom attributes sp, mumag - -The atom style defined does not have these attributes. - -*/ diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 208a82ea30..9080fce51d 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -42,7 +42,7 @@ PairSpinExchange::PairSpinExchange(LAMMPS *lmp) : Pair(lmp) { hbar = force->hplanck/MY_2PI; - newton_pair_spin = 0; // no newton pair for now + newton_pair_spin = 0; // no newton pair for now => to be corrected // newton_pair = 0; single_enable = 0; @@ -64,14 +64,6 @@ PairSpinExchange::~PairSpinExchange() memory->destroy(J1_mech); memory->destroy(J2); memory->destroy(J3); - - memory->destroy(spi); - memory->destroy(spj); - memory->destroy(fi); - memory->destroy(fj); - memory->destroy(fmi); - memory->destroy(fmj); - memory->destroy(rij); memory->destroy(cutsq); } @@ -83,12 +75,13 @@ void PairSpinExchange::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl,ecoul; - double xi,yi,zi; - double fix,fiy,fiz,fjx,fjy,fjz; - double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; + double xi[3], rij[3]; + double fi[3], fmi[3]; + double fj[3], fmj[3]; double cut_ex_2,cut_spin_exchange_global2; - double rsq,rd; + double rsq,rd,inorm; int *ilist,*jlist,*numneigh,**firstneigh; + double spi[3],spj[3]; evdwl = ecoul = 0.0; if (eflag || vflag) ev_setup(eflag,vflag); @@ -109,14 +102,14 @@ void PairSpinExchange::compute(int eflag, int vflag) numneigh = list->numneigh; firstneigh = list->firstneigh; - // pair spin computations - // loop over neighbors of my atoms + // computation of the exchange interaction + // loop over atoms and their neighbors for (ii = 0; ii < inum; ii++) { i = ilist[ii]; - xi = x[i][0]; - yi = x[i][1]; - zi = x[i][2]; + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; jlist = firstneigh[i]; jnum = numneigh[i]; spi[0] = sp[i][0]; @@ -124,6 +117,7 @@ void PairSpinExchange::compute(int eflag, int vflag) spi[2] = sp[i][2]; // loop on neighbors + for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; @@ -138,15 +132,12 @@ void PairSpinExchange::compute(int eflag, int vflag) fj[0] = fj[1] = fj[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; fmj[0] = fmj[1] = fmj[2] = 0.0; - rij[0] = rij[1] = rij[2] = 0.0; - rij[0] = x[j][0] - xi; - rij[1] = x[j][1] - yi; - rij[2] = x[j][2] - zi; - - // square of inter-atomic distance + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - double inorm = 1.0/sqrt(rsq); + inorm = 1.0/sqrt(rsq); rij[0] *= inorm; rij[1] *= inorm; rij[2] *= inorm; @@ -154,7 +145,8 @@ void PairSpinExchange::compute(int eflag, int vflag) itype = type[i]; jtype = type[j]; - // exchange interaction + // compute exchange interaction + if (exch_flag) { cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; if (rsq <= cut_ex_2) { @@ -170,14 +162,15 @@ void PairSpinExchange::compute(int eflag, int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; + // check newton pair => needs correction // if (newton_pair || j < nlocal) { if (newton_pair_spin) { f[j][0] += fj[0]; f[j][1] += fj[1]; f[j][2] += fj[2]; - //fm[j][0] += fmj[0]; - //fm[j][1] += fmj[1]; - //fm[j][2] += fmj[2]; + fm[j][0] += fmj[0]; + fm[j][1] += fmj[1]; + fm[j][2] += fmj[2]; } if (eflag) { @@ -199,7 +192,8 @@ void PairSpinExchange::compute(int eflag, int vflag) } /* ---------------------------------------------------------------------- */ -void PairSpinExchange::compute_exchange(int i, int j, double rsq, double *fmi, double *fmj, double *spi, double *spj) + +void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], double fmj[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -223,7 +217,8 @@ void PairSpinExchange::compute_exchange(int i, int j, double rsq, double *fmi, } /* ---------------------------------------------------------------------- */ -void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double *rij, double *fi, double *fj, double *spi, double *spj) + +void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double rij[3], double fi[3], double fj[3], double *spi, double *spj) { int *type = atom->type; int itype, jtype; @@ -270,14 +265,6 @@ void PairSpinExchange::allocate() memory->create(J2,n+1,n+1,"pair:J2"); memory->create(J3,n+1,n+1,"pair:J3"); - memory->create(spi,3,"pair:spi"); - memory->create(spj,3,"pair:spj"); - memory->create(fi,3,"pair:fi"); - memory->create(fj,3,"pair:fj"); - memory->create(fmi,3,"pair:fmi"); - memory->create(fmj,3,"pair:fmj"); - memory->create(rij,3,"pair:rij"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); } @@ -320,6 +307,7 @@ void PairSpinExchange::coeff(int narg, char **arg) if (!allocated) allocate(); // set exch_mech_flag to 1 if magneto-mech simulation + if (strstr(force->pair_style,"pair/spin")) { exch_mech_flag = 0; } else if (strstr(force->pair_style,"hybrid/overlay")) { @@ -335,15 +323,15 @@ void PairSpinExchange::coeff(int narg, char **arg) force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - const double rij = force->numeric(FLERR,arg[3]); - const double j1 = (force->numeric(FLERR,arg[4])); + const double rc = force->numeric(FLERR,arg[3]); + const double j1 = force->numeric(FLERR,arg[4]); const double j2 = force->numeric(FLERR,arg[5]); const double j3 = force->numeric(FLERR,arg[6]); int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_exchange[i][j] = rij; + cut_spin_exchange[i][j] = rc; J1_mag[i][j] = j1/hbar; if (exch_mech_flag) { J1_mech[i][j] = j1; @@ -373,7 +361,7 @@ void PairSpinExchange::init_style() neighbor->request(this,instance_me); - // check this half/full request + // check this half/full request => needs correction/review #define FULLNEI #if defined FULLNEI int irequest = neighbor->request(this,instance_me); diff --git a/src/SPIN/pair_spin_exchange.h b/src/SPIN/pair_spin_exchange.h index 14cdf7a959..38cd03570f 100755 --- a/src/SPIN/pair_spin_exchange.h +++ b/src/SPIN/pair_spin_exchange.h @@ -39,26 +39,21 @@ class PairSpinExchange : public Pair { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_exchange(int, int, double, double *, double *,double *, double *); - void compute_exchange_mech(int, int, double, double *, double *, double *,double *, double *); + void compute_exchange(int, int, double, double fmi[3], double fmj[3],double spi[3], double spj[3]); + void compute_exchange_mech(int, int, double, double rij[3], double fmi[3], double fmj[3], double spi[3], double spj[3]); - int exch_flag; // mag. exchange flag - int exch_mech_flag; // mech. exchange flags + int exch_flag; // magnetic exchange flag + int exch_mech_flag; // mechanic exchange flags - double cut_spin_exchange_global; // global exchange cutoff - double **cut_spin_exchange; // cutoff distance exchange + double cut_spin_exchange_global; // global exchange cutoff + double **cut_spin_exchange; // cutoff distance per exchange protected: int newton_pair_spin; double hbar; - double **J1_mag, **J1_mech; // exchange coeffs Jij - double **J2, **J3; // J1 in eV, J2 adim, J3 in Ang - - double *spi, *spj; // temp. spin vals. in compute - double *fi, *fj; // temp. mech. forces in compute - double *fmi, *fmj; // temp. mag. forces in compute - double *rij; // norm. inter atomic vectors + double **J1_mag, **J1_mech; // exchange coeffs Jij + double **J2, **J3; // J1 in eV, J2 adim, J3 in Ang void allocate(); }; diff --git a/src/SPIN/pair_spin_me.cpp b/src/SPIN/pair_spin_me.cpp index b48abe93e6..3c6f4fa7ed 100755 --- a/src/SPIN/pair_spin_me.cpp +++ b/src/SPIN/pair_spin_me.cpp @@ -63,14 +63,6 @@ PairSpinMe::~PairSpinMe() memory->destroy(v_mex); memory->destroy(v_mey); memory->destroy(v_mez); - - memory->destroy(spi); - memory->destroy(spj); - memory->destroy(fi); - memory->destroy(fj); - memory->destroy(fmi); - memory->destroy(fmj); - memory->destroy(rij); memory->destroy(cutsq); } @@ -81,12 +73,13 @@ PairSpinMe::~PairSpinMe() void PairSpinMe::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; - double evdwl,ecoul; - double xi,yi,zi; - double fix,fiy,fiz,fjx,fjy,fjz; - double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; - double cut_me_2,cut_spin_me_global2; - double rsq,rd; + double evdwl, ecoul; + double xi[3], rij[3]; + double spi[3], spj[3]; + double fi[3], fj[3]; + double fmi[3], fmj[3]; + double cut_me_2, cut_spin_me_global2; + double rsq, rd, inorm; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; @@ -109,13 +102,13 @@ void PairSpinMe::compute(int eflag, int vflag) firstneigh = list->firstneigh; // magneto-electric computation - // loop over neighbors of my atoms + // loop over atoms and their neighbors for (ii = 0; ii < inum; ii++) { i = ilist[ii]; - xi = x[i][0]; - yi = x[i][1]; - zi = x[i][2]; + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; jlist = firstneigh[i]; jnum = numneigh[i]; spi[0] = sp[i][0]; @@ -123,6 +116,7 @@ void PairSpinMe::compute(int eflag, int vflag) spi[2] = sp[i][2]; // loop on neighbors + for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; @@ -139,13 +133,11 @@ void PairSpinMe::compute(int eflag, int vflag) fmj[0] = fmj[1] = fmj[2] = 0.0; rij[0] = rij[1] = rij[2] = 0.0; - rij[0] = x[j][0] - xi; - rij[1] = x[j][1] - yi; - rij[2] = x[j][2] - zi; - - // square of inter-atomic distance + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - double inorm = 1.0/sqrt(rsq); + inorm = 1.0/sqrt(rsq); rij[0] *= inorm; rij[1] *= inorm; rij[2] *= inorm; @@ -154,6 +146,7 @@ void PairSpinMe::compute(int eflag, int vflag) jtype = type[j]; // me interaction + if (me_flag){ cut_me_2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; if (rsq <= cut_me_2){ @@ -168,7 +161,7 @@ void PairSpinMe::compute(int eflag, int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; -// if (newton_pair || j < nlocal) { +// if (newton_pair || j < nlocal) { => to be corrected if (newton_pair_spin) { f[j][0] += fj[0]; f[j][1] += fj[1]; @@ -198,13 +191,13 @@ void PairSpinMe::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -void PairSpinMe::compute_me(int i, int j, double *fmi, double *fmj, double *spi, double *spj) + +void PairSpinMe::compute_me(int i, int j, double fmi[3], double fmj[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; itype = type[i]; jtype = type[j]; - double **sp = atom->sp; double **x = atom->x; double meix,meiy,meiz; double rx, ry, rz, inorm; @@ -255,14 +248,6 @@ void PairSpinMe::allocate() memory->create(v_mey,n+1,n+1,"pair:ME_vector_y"); memory->create(v_mez,n+1,n+1,"pair:ME_vector_z"); - memory->create(spi,3,"pair:spi"); - memory->create(spj,3,"pair:spj"); - memory->create(fi,3,"pair:fi"); - memory->create(fj,3,"pair:fj"); - memory->create(fmi,3,"pair:fmi"); - memory->create(fmj,3,"pair:fmj"); - memory->create(rij,3,"pair:rij"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); } @@ -351,7 +336,7 @@ void PairSpinMe::init_style() neighbor->request(this,instance_me); - // check this half/full request + // check this half/full request => to be corrected/reviewed #define FULLNEI #if defined FULLNEI int irequest = neighbor->request(this,instance_me); diff --git a/src/SPIN/pair_spin_me.h b/src/SPIN/pair_spin_me.h index fb216a61ea..31e0d8b560 100755 --- a/src/SPIN/pair_spin_me.h +++ b/src/SPIN/pair_spin_me.h @@ -39,24 +39,19 @@ class PairSpinMe : public Pair { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_me(int, int, double *, double *, double *, double *); + void compute_me(int, int, double fmi[3], double fmj[3], double spi[3], double spj[3]); - int me_flag; // me flag + int me_flag; // me flag - double cut_spin_me_global; // global me cutoff - double **cut_spin_me; // me cutoff distance + double cut_spin_me_global; // global me cutoff + double **cut_spin_me; // me cutoff distance protected: int newton_pair_spin; double hbar; - double **ME; // me coeff in eV - double **v_mex, **v_mey, **v_mez;// me direction - - double *spi, *spj; // temp. spin vals. in compute - double *fi, *fj; // temp. mech. forces in compute - double *fmi, *fmj; // temp. mag. forces in compute - double *rij; // norm. inter atomic vectors + double **ME; // me coeff in eV + double **v_mex, **v_mey, **v_mez; // me direction void allocate(); }; diff --git a/src/SPIN/pair_spin_soc_dmi.cpp b/src/SPIN/pair_spin_soc_dmi.cpp index eb4f957c8e..341f230fd3 100755 --- a/src/SPIN/pair_spin_soc_dmi.cpp +++ b/src/SPIN/pair_spin_soc_dmi.cpp @@ -42,7 +42,7 @@ PairSpinSocDmi::PairSpinSocDmi(LAMMPS *lmp) : Pair(lmp) { hbar = force->hplanck/MY_2PI; - newton_pair_spin = 0; // no newton pair for now + newton_pair_spin = 0; // no newton pair for now => to be corrected // newton_pair = 0; single_enable = 0; @@ -63,14 +63,6 @@ PairSpinSocDmi::~PairSpinSocDmi() memory->destroy(v_dmx); memory->destroy(v_dmy); memory->destroy(v_dmz); - - memory->destroy(spi); - memory->destroy(spj); - memory->destroy(fi); - memory->destroy(fj); - memory->destroy(fmi); - memory->destroy(fmj); - memory->destroy(rij); memory->destroy(cutsq); } @@ -81,12 +73,13 @@ PairSpinSocDmi::~PairSpinSocDmi() void PairSpinSocDmi::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; - double evdwl,ecoul; - double xi,yi,zi; - double fix,fiy,fiz,fjx,fjy,fjz; - double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; - double cut_dmi_2; - double rsq,rd; + double evdwl, ecoul; + double xi[3], rij[3]; + double spi[3], spj[3]; + double fi[3], fj[3]; + double fmi[3], fmj[3]; + double cut_dmi_2, cut_spin_me_global2; + double rsq, rd, inorm; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; @@ -113,9 +106,9 @@ void PairSpinSocDmi::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; - xi = x[i][0]; - yi = x[i][1]; - zi = x[i][2]; + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; jlist = firstneigh[i]; jnum = numneigh[i]; spi[0] = sp[i][0]; @@ -139,13 +132,11 @@ void PairSpinSocDmi::compute(int eflag, int vflag) fmj[0] = fmj[1] = fmj[2] = 0.0; rij[0] = rij[1] = rij[2] = 0.0; - rij[0] = x[j][0] - xi; - rij[1] = x[j][1] - yi; - rij[2] = x[j][2] - zi; - - // square of inter-atomic distance + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - double inorm = 1.0/sqrt(rsq); + inorm = 1.0/sqrt(rsq); rij[0] *= inorm; rij[1] *= inorm; rij[2] *= inorm; @@ -197,7 +188,8 @@ void PairSpinSocDmi::compute(int eflag, int vflag) } /* ---------------------------------------------------------------------- */ -void PairSpinSocDmi::compute_dmi(int i, int j, double *fmi, double *fmj, double *spi, double *spj) + +void PairSpinSocDmi::compute_dmi(int i, int j, double fmi[3], double fmj[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -238,14 +230,6 @@ void PairSpinSocDmi::allocate() memory->create(v_dmy,n+1,n+1,"pair:DM_vector_y"); memory->create(v_dmz,n+1,n+1,"pair:DM_vector_z"); - memory->create(spi,3,"pair:spi"); - memory->create(spj,3,"pair:spj"); - memory->create(fi,3,"pair:fi"); - memory->create(fj,3,"pair:fj"); - memory->create(fmi,3,"pair:fmi"); - memory->create(fmj,3,"pair:fmj"); - memory->create(rij,3,"pair:rij"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); } diff --git a/src/SPIN/pair_spin_soc_dmi.h b/src/SPIN/pair_spin_soc_dmi.h index a28d1772d7..627001135e 100755 --- a/src/SPIN/pair_spin_soc_dmi.h +++ b/src/SPIN/pair_spin_soc_dmi.h @@ -39,24 +39,19 @@ class PairSpinSocDmi : public Pair { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_dmi(int, int, double *, double *, double *, double *); + void compute_dmi(int, int, double fmi[3], double fmj[3], double spi[3], double spj[3]); - int dmi_flag; // dmi flag + int dmi_flag; // dmi flag - double cut_spin_dmi_global; // short range pair cutoff - double **cut_spin_dmi; // cutoff distance dmi + double cut_spin_dmi_global; // short range pair cutoff + double **cut_spin_dmi; // cutoff distance dmi protected: int newton_pair_spin; double hbar; - double **DM; // dmi coeff in eV - double **v_dmx, **v_dmy, **v_dmz;// dmi direction - - double *spi, *spj; // temp. spin vals. in compute - double *fi, *fj; // temp. mech. forces in compute - double *fmi, *fmj; // temp. mag. forces in compute - double *rij; // norm. inter atomic vectors + double **DM; // dmi coeff in eV + double **v_dmx, **v_dmy, **v_dmz; // dmi direction void allocate(); }; diff --git a/src/SPIN/pair_spin_soc_landau.cpp b/src/SPIN/pair_spin_soc_landau.cpp index 13cd83868b..2beebb47f5 100755 --- a/src/SPIN/pair_spin_soc_landau.cpp +++ b/src/SPIN/pair_spin_soc_landau.cpp @@ -42,7 +42,7 @@ PairSpinSocLandau::PairSpinSocLandau(LAMMPS *lmp) : Pair(lmp) { hbar = force->hplanck/MY_2PI; - newton_pair_spin = 0; // no newton pair for now + newton_pair_spin = 0; // no newton pair for now => to be corrected // newton_pair = 0; single_enable = 0; @@ -58,19 +58,11 @@ PairSpinSocLandau::~PairSpinSocLandau() if (allocated) { memory->destroy(setflag); - memory->destroy(cut_soc_neel); + memory->destroy(cut_soc_landau); memory->destroy(K1); memory->destroy(K1_mech); memory->destroy(K2); memory->destroy(K3); - - memory->destroy(spi); - memory->destroy(spj); - memory->destroy(fi); - memory->destroy(fj); - memory->destroy(fmi); - memory->destroy(fmj); - memory->destroy(rij); memory->destroy(cutsq); } @@ -81,12 +73,13 @@ PairSpinSocLandau::~PairSpinSocLandau() void PairSpinSocLandau::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; - double evdwl,ecoul; - double xi,yi,zi; - double fix,fiy,fiz,fjx,fjy,fjz; - double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; - double cut_soc_neel_2,cut_soc_global2; - double rsq,rd; + double evdwl, ecoul; + double xi[3], rij[3]; + double spi[3], spj[3]; + double fi[3], fj[3]; + double fmi[3], fmj[3]; + double cut_soc_landau_2, cut_soc_global2; + double rsq, rd, inorm; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; @@ -113,9 +106,9 @@ void PairSpinSocLandau::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; - xi = x[i][0]; - yi = x[i][1]; - zi = x[i][2]; + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; jlist = firstneigh[i]; jnum = numneigh[i]; spi[0] = sp[i][0]; @@ -139,13 +132,11 @@ void PairSpinSocLandau::compute(int eflag, int vflag) fmj[0] = fmj[1] = fmj[2] = 0.0; rij[0] = rij[1] = rij[2] = 0.0; - rij[0] = x[j][0] - xi; - rij[1] = x[j][1] - yi; - rij[2] = x[j][2] - zi; - - // square of inter-atomic distance + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - double inorm = 1.0/sqrt(rsq); + inorm = 1.0/sqrt(rsq); rij[0] *= inorm; rij[1] *= inorm; rij[2] *= inorm; @@ -154,10 +145,10 @@ void PairSpinSocLandau::compute(int eflag, int vflag) jtype = type[j]; // compute mag. and mech. components of soc - cut_soc_neel_2 = cut_soc_neel[itype][jtype]*cut_soc_neel[itype][jtype]; - if (rsq <= cut_soc_neel_2) { - compute_soc_neel(i,j,rsq,rij,fmi,fmj,spi,spj); - compute_soc_mech_neel(i,j,rsq,rij,fi,fj,spi,spj); + cut_soc_landau_2 = cut_soc_landau[itype][jtype]*cut_soc_landau[itype][jtype]; + if (rsq <= cut_soc_landau_2) { + compute_soc_landau(i,j,rsq,rij,fmi,fmj,spi,spj); + compute_soc_mech_landau(i,j,rsq,rij,fi,fj,spi,spj); } f[i][0] += fi[0]; @@ -167,7 +158,7 @@ void PairSpinSocLandau::compute(int eflag, int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; -// if (newton_pair || j < nlocal) { +// if (newton_pair || j < nlocal) { => to be corrected if (newton_pair_spin) { f[j][0] += fj[0]; f[j][1] += fj[1]; @@ -178,7 +169,7 @@ void PairSpinSocLandau::compute(int eflag, int vflag) } if (eflag) { - if (rsq <= cut_soc_neel_2) { + if (rsq <= cut_soc_landau_2) { evdwl -= spi[0]*fmi[0]; evdwl -= spi[1]*fmi[1]; evdwl -= spi[2]*fmi[2]; @@ -196,7 +187,8 @@ void PairSpinSocLandau::compute(int eflag, int vflag) } /* ---------------------------------------------------------------------- */ -void PairSpinSocLandau::compute_soc_neel(int i, int j, double rsq, double *rij, double *fmi, double *fmj, double *spi, double *spj) + +void PairSpinSocLandau::compute_soc_landau(int i, int j, double rsq, double rij[3], double fmi[3], double fmj[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -223,7 +215,8 @@ void PairSpinSocLandau::compute_soc_neel(int i, int j, double rsq, double *rij, } /* ---------------------------------------------------------------------- */ -void PairSpinSocLandau::compute_soc_mech_neel(int i, int j, double rsq, double *rij, double *fi, double *fj, double *spi, double *spj) + +void PairSpinSocLandau::compute_soc_mech_landau(int i, int j, double rsq, double rij[3], double fi[3], double fj[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -279,21 +272,13 @@ void PairSpinSocLandau::allocate() for (int j = i; j <= n; j++) setflag[i][j] = 0; - memory->create(cut_soc_neel,n+1,n+1,"pair:cut_soc_neel"); - memory->create(K1,n+1,n+1,"pair:K1"); - memory->create(K1_mech,n+1,n+1,"pair:K1_mech"); - memory->create(K2,n+1,n+1,"pair:K2"); - memory->create(K3,n+1,n+1,"pair:K3"); - - memory->create(spi,3,"pair:spi"); - memory->create(spj,3,"pair:spj"); - memory->create(fi,3,"pair:fi"); - memory->create(fj,3,"pair:fj"); - memory->create(fmi,3,"pair:fmi"); - memory->create(fmj,3,"pair:fmj"); - memory->create(rij,3,"pair:rij"); + memory->create(cut_soc_landau,n+1,n+1,"pair/spin/soc/landau:cut_soc_landau"); + memory->create(K1,n+1,n+1,"pair/spin/soc/landau:K1"); + memory->create(K1_mech,n+1,n+1,"pair/spin/soc/landau:K1_mech"); + memory->create(K2,n+1,n+1,"pair/spin/soc/landau:K2"); + memory->create(K3,n+1,n+1,"pair/spin/soc/landau:K3"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(cutsq,n+1,n+1,"pair/spin/soc/landau:cutsq"); } @@ -318,7 +303,7 @@ void PairSpinSocLandau::settings(int narg, char **arg) for (i = 1; i <= atom->ntypes; i++) for (j = i+1; j <= atom->ntypes; j++) if (setflag[i][j]) { - cut_soc_neel[i][j] = cut_soc_global; + cut_soc_landau[i][j] = cut_soc_global; } } @@ -335,7 +320,7 @@ void PairSpinSocLandau::coeff(int narg, char **arg) if (!allocated) allocate(); // set mech_flag to 1 if magneto-mech simulation -//no longer correct: can be hybrid without magneto-mech + //no longer correct: can be hybrid without magneto-mech if (strstr(force->pair_style,"pair/spin")) { mech_flag = 0; } else if (strstr(force->pair_style,"hybrid/overlay")) { @@ -359,7 +344,7 @@ void PairSpinSocLandau::coeff(int narg, char **arg) int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_soc_neel[i][j] = rij; + cut_soc_landau[i][j] = rij; K1[i][j] = k1/hbar; if (mech_flag) { K1_mech[i][j] = k1; @@ -389,7 +374,7 @@ void PairSpinSocLandau::init_style() neighbor->request(this,instance_me); - // check this half/full request + // check this half/full request => to be corrected #define FULLNEI #if defined FULLNEI int irequest = neighbor->request(this,instance_me); @@ -429,7 +414,7 @@ void PairSpinSocLandau::write_restart(FILE *fp) fwrite(&K1_mech[i][j],sizeof(double),1,fp); fwrite(&K2[i][j],sizeof(double),1,fp); fwrite(&K3[i][j],sizeof(double),1,fp); - fwrite(&cut_soc_neel[i][j],sizeof(double),1,fp); + fwrite(&cut_soc_landau[i][j],sizeof(double),1,fp); } } } @@ -457,13 +442,13 @@ void PairSpinSocLandau::read_restart(FILE *fp) fread(&K1_mech[i][j],sizeof(double),1,fp); fread(&K2[i][j],sizeof(double),1,fp); fread(&K2[i][j],sizeof(double),1,fp); - fread(&cut_soc_neel[i][j],sizeof(double),1,fp); + fread(&cut_soc_landau[i][j],sizeof(double),1,fp); } MPI_Bcast(&K1[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&K1_mech[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&K2[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&K3[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut_soc_neel[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_soc_landau[i][j],1,MPI_DOUBLE,0,world); } } } diff --git a/src/SPIN/pair_spin_soc_landau.h b/src/SPIN/pair_spin_soc_landau.h index c23739c071..491cb9a581 100755 --- a/src/SPIN/pair_spin_soc_landau.h +++ b/src/SPIN/pair_spin_soc_landau.h @@ -39,26 +39,21 @@ class PairSpinSocLandau : public Pair { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_soc_neel(int, int, double, double *, double *, double *,double *, double *); - void compute_soc_mech_neel(int, int, double, double *, double *, double *,double *, double *); + void compute_soc_landau(int, int, double, double rij[3], double fmi[3], double fmj[3],double spi[3], double spj[3]); + void compute_soc_mech_landau(int, int, double, double rij[3], double fi[3], double fj[3], double spi[3], double spj[3]); - int soc_neel_flag; // soc neel flag - int mech_flag; // mech calc. flag + int soc_neel_flag; // soc neel flag + int mech_flag; // mech calc. flag double cut_soc_global; - double **cut_soc_neel; // cutoff distance exchange + double **cut_soc_landau; // cutoff distance exchange protected: int newton_pair_spin; double hbar; - double **K1, **K1_mech; // exchange coeffs Kij - double **K2, **K3; // K1 in eV, K2 adim, K3 in Ang - - double *spi, *spj; // temp. spin vals. in compute - double *fi, *fj; // temp. mech. forces in compute - double *fmi, *fmj; // temp. mag. forces in compute - double *rij; // norm. inter atomic vectors + double **K1, **K1_mech; // exchange coeffs Kij + double **K2, **K3; // K1 in eV, K2 adim, K3 in Ang void allocate(); }; diff --git a/src/SPIN/pair_spin_soc_neel.cpp b/src/SPIN/pair_spin_soc_neel.cpp index e8cd96fece..94ac35848b 100755 --- a/src/SPIN/pair_spin_soc_neel.cpp +++ b/src/SPIN/pair_spin_soc_neel.cpp @@ -42,7 +42,7 @@ PairSpinSocNeel::PairSpinSocNeel(LAMMPS *lmp) : Pair(lmp) { hbar = force->hplanck/MY_2PI; - newton_pair_spin = 0; // no newton pair for now + newton_pair_spin = 0; // no newton pair for now => to be corrected // newton_pair = 0; single_enable = 0; @@ -63,14 +63,6 @@ PairSpinSocNeel::~PairSpinSocNeel() memory->destroy(K1_mech); memory->destroy(K2); memory->destroy(K3); - - memory->destroy(spi); - memory->destroy(spj); - memory->destroy(fi); - memory->destroy(fj); - memory->destroy(fmi); - memory->destroy(fmj); - memory->destroy(rij); memory->destroy(cutsq); } @@ -82,11 +74,12 @@ void PairSpinSocNeel::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl,ecoul; - double xi,yi,zi; - double fix,fiy,fiz,fjx,fjy,fjz; - double fmix,fmiy,fmiz,fmjx,fmjy,fmjz; - double cut_soc_neel_2,cut_soc_global2; - double rsq,rd; + double xi[3], rij[3]; + double spi[3], spj[3]; + double fi[3], fj[3]; + double fmi[3], fmj[3]; + double cut_soc_neel_2, cut_soc_global2; + double rsq, rd, inorm; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; @@ -109,13 +102,13 @@ void PairSpinSocNeel::compute(int eflag, int vflag) firstneigh = list->firstneigh; // pair spin computations - // loop over neighbors of my atoms + // loop over atoms and their neighbors for (ii = 0; ii < inum; ii++) { i = ilist[ii]; - xi = x[i][0]; - yi = x[i][1]; - zi = x[i][2]; + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; jlist = firstneigh[i]; jnum = numneigh[i]; spi[0] = sp[i][0]; @@ -123,6 +116,7 @@ void PairSpinSocNeel::compute(int eflag, int vflag) spi[2] = sp[i][2]; // loop on neighbors + for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; @@ -139,13 +133,11 @@ void PairSpinSocNeel::compute(int eflag, int vflag) fmj[0] = fmj[1] = fmj[2] = 0.0; rij[0] = rij[1] = rij[2] = 0.0; - rij[0] = x[j][0] - xi; - rij[1] = x[j][1] - yi; - rij[2] = x[j][2] - zi; - - // square of inter-atomic distance + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - double inorm = 1.0/sqrt(rsq); + inorm = 1.0/sqrt(rsq); rij[0] *= inorm; rij[1] *= inorm; rij[2] *= inorm; @@ -153,7 +145,8 @@ void PairSpinSocNeel::compute(int eflag, int vflag) itype = type[i]; jtype = type[j]; - // compute mag. and mech. components of soc + // compute magnetic and mechanical components of soc_neel + cut_soc_neel_2 = cut_soc_neel[itype][jtype]*cut_soc_neel[itype][jtype]; if (rsq <= cut_soc_neel_2) { compute_soc_neel(i,j,rsq,rij,fmi,fmj,spi,spj); @@ -167,7 +160,7 @@ void PairSpinSocNeel::compute(int eflag, int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; -// if (newton_pair || j < nlocal) { +// if (newton_pair || j < nlocal) { // => to be corrected if (newton_pair_spin) { f[j][0] += fj[0]; f[j][1] += fj[1]; @@ -196,7 +189,8 @@ void PairSpinSocNeel::compute(int eflag, int vflag) } /* ---------------------------------------------------------------------- */ -void PairSpinSocNeel::compute_soc_neel(int i, int j, double rsq, double *rij, double *fmi, double *fmj, double *spi, double *spj) + +void PairSpinSocNeel::compute_soc_neel(int i, int j, double rsq, double rij[3], double fmi[3], double fmj[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -212,18 +206,19 @@ void PairSpinSocNeel::compute_soc_neel(int i, int j, double rsq, double *rij, do scalar = rij[0]*spj[0]+rij[1]*spj[1]+rij[2]*spj[2]; Kij_3 = Kij/3.0; - fmi[0] -= Kij*scalar*rij[0]-Kij_3*spj[0]; - fmi[1] -= Kij*scalar*rij[1]-Kij_3*spj[1]; - fmi[2] -= Kij*scalar*rij[2]-Kij_3*spj[2]; + fmi[0] -= Kij*scalar*rij[0] - Kij_3*spj[0]; + fmi[1] -= Kij*scalar*rij[1] - Kij_3*spj[1]; + fmi[2] -= Kij*scalar*rij[2] - Kij_3*spj[2]; - fmj[0] += Kij*scalar*rij[0]+Kij_3*spi[0]; - fmj[1] += Kij*scalar*rij[1]+Kij_3*spi[1]; - fmj[2] += Kij*scalar*rij[2]+Kij_3*spi[2]; + fmj[0] += Kij*scalar*rij[0] + Kij_3*spi[0]; + fmj[1] += Kij*scalar*rij[1] + Kij_3*spi[1]; + fmj[2] += Kij*scalar*rij[2] + Kij_3*spi[2]; } /* ---------------------------------------------------------------------- */ -void PairSpinSocNeel::compute_soc_mech_neel(int i, int j, double rsq, double *rij, double *fi, double *fj, double *spi, double *spj) + +void PairSpinSocNeel::compute_soc_mech_neel(int i, int j, double rsq, double rij[3], double fi[3], double fj[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -285,14 +280,6 @@ void PairSpinSocNeel::allocate() memory->create(K2,n+1,n+1,"pair:K2"); memory->create(K3,n+1,n+1,"pair:K3"); - memory->create(spi,3,"pair:spi"); - memory->create(spj,3,"pair:spj"); - memory->create(fi,3,"pair:fi"); - memory->create(fj,3,"pair:fj"); - memory->create(fmi,3,"pair:fmi"); - memory->create(fmj,3,"pair:fmj"); - memory->create(rij,3,"pair:rij"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); } @@ -335,7 +322,7 @@ void PairSpinSocNeel::coeff(int narg, char **arg) if (!allocated) allocate(); // set mech_flag to 1 if magneto-mech simulation -//no longer correct: can be hybrid without magneto-mech + //no longer correct: can be hybrid without magneto-mech => needs review/correction if (strstr(force->pair_style,"pair/spin")) { mech_flag = 0; } else if (strstr(force->pair_style,"hybrid/overlay")) { @@ -377,7 +364,6 @@ void PairSpinSocNeel::coeff(int narg, char **arg) } - /* ---------------------------------------------------------------------- init specific to this pair style ------------------------------------------------------------------------- */ @@ -389,7 +375,7 @@ void PairSpinSocNeel::init_style() neighbor->request(this,instance_me); - // check this half/full request + // check this half/full request => to be verified #define FULLNEI #if defined FULLNEI int irequest = neighbor->request(this,instance_me); @@ -469,7 +455,6 @@ void PairSpinSocNeel::read_restart(FILE *fp) } } - /* ---------------------------------------------------------------------- proc 0 writes to restart file ------------------------------------------------------------------------- */ diff --git a/src/SPIN/pair_spin_soc_neel.h b/src/SPIN/pair_spin_soc_neel.h index ce9c76eb49..4584ddb9eb 100755 --- a/src/SPIN/pair_spin_soc_neel.h +++ b/src/SPIN/pair_spin_soc_neel.h @@ -39,26 +39,21 @@ class PairSpinSocNeel : public Pair { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_soc_neel(int, int, double, double *, double *, double *,double *, double *); - void compute_soc_mech_neel(int, int, double, double *, double *, double *,double *, double *); + void compute_soc_neel(int, int, double, double rij[3], double fmi[3], double fmj[3],double spi[3], double spj[3]); + void compute_soc_mech_neel(int, int, double, double rij[3], double fi[3], double fj[3],double spi[3], double spj[3]); - int soc_neel_flag; // soc neel flag - int mech_flag; // mech calc. flag + int soc_neel_flag; // soc neel flag + int mech_flag; // mech calc. flag double cut_soc_global; - double **cut_soc_neel; // cutoff distance exchange + double **cut_soc_neel; // cutoff distance exchange protected: int newton_pair_spin; double hbar; - double **K1, **K1_mech; // exchange coeffs Kij - double **K2, **K3; // K1 in eV, K2 adim, K3 in Ang - - double *spi, *spj; // temp. spin vals. in compute - double *fi, *fj; // temp. mech. forces in compute - double *fmi, *fmj; // temp. mag. forces in compute - double *rij; // norm. inter atomic vectors + double **K1, **K1_mech; // exchange coeffs Kij + double **K2, **K3; // K1 in eV, K2 adim, K3 in Ang void allocate(); }; diff --git a/src/atom.cpp b/src/atom.cpp index a847719e7e..86ef309f09 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -98,7 +98,8 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) rho = drho = e = de = cv = NULL; vest = NULL; - // USER-SPIN + // SPIN package + mumag = NULL; sp = fm = NULL; @@ -172,7 +173,8 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) radius_flag = rmass_flag = 0; ellipsoid_flag = line_flag = tri_flag = body_flag = 0; - //Magnetic flags + // magnetic flags + sp_flag = mumag_flag = 0; vfrac_flag = 0; @@ -428,7 +430,8 @@ void Atom::create_avec(const char *style, int narg, char **arg, int trysuffix) radius_flag = rmass_flag = 0; ellipsoid_flag = line_flag = tri_flag = body_flag = 0; - //Magnetic flags + // magnetic flags + sp_flag = mumag_flag = 0; vfrac_flag = 0; diff --git a/src/atom.h b/src/atom.h index 8e7f9811ac..285f067e24 100644 --- a/src/atom.h +++ b/src/atom.h @@ -62,6 +62,7 @@ class Atom : protected Pointers { int *ellipsoid,*line,*tri,*body; // SPIN package + double *mumag, **sp; double **fm; -- GitLab From 2bfd30f7d7736679edb097120369549949053f2a Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 4 Dec 2017 09:04:00 -0700 Subject: [PATCH 052/675] Delete in.BFO --- examples/SPIN/in.BFO | 109 ------------------------------------------- 1 file changed, 109 deletions(-) delete mode 100644 examples/SPIN/in.BFO diff --git a/examples/SPIN/in.BFO b/examples/SPIN/in.BFO deleted file mode 100644 index aee3454765..0000000000 --- a/examples/SPIN/in.BFO +++ /dev/null @@ -1,109 +0,0 @@ -################### -#######Init######## -################### - -clear -#setting units to metal (Ang, picosecs, eV, ...): -units metal - -#setting dimension of the system (N=2 or 3): -dimension 3 - -#setting boundary conditions. (p for periodic, f for fixed, ...) -boundary p p f - -#setting atom_style to spin: -atom_style spin - -#Define sort for paramagnetic simulations (if no pair interaction) -#atom_modify sort 1000 4.0 - -#why? -atom_modify map array - -#newton off for pair spin in SEQNEI -#newton off off - -########################### -#######Create atoms######## -########################### - -#Lattice constant of sc Iron atoms of BFO -lattice sc 3.96 - -#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen -#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 17.0 0.0 17.0 0.0 5.0 - -#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. -create_box 1 box - -#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... -#Entries: atom type, -create_atoms 1 box - -#Replicating NxNxN the entire set of atoms -#replicate 1 1 1 - - -####################### -#######Settings######## -####################### - -#Setting one or more properties of one or more atoms. -#Setting mass -mass 1 1.0 -#set group all mass 1.0 -#Setting spins orientation and moment -set group all spin/random 11 2.50 -#set group all spin 2.50 1.0 0.0 0.0 - -#Magnetic exchange interaction coefficient for bulk fcc Cobalt -pair_style pair/spin 5.7 -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -pair_coeff * * exchange 5.7 -0.01575 0.0 1.965 -#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) -#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 -#pair_coeff * * me 4.0 0.000109 1.0 1.0 1.0 -#Mex10 -pair_coeff * * me 4.0 0.00109 1.0 1.0 1.0 - -#Define a skin distance, update neigh list every -#neighbor 1.0 bin -#neigh_modify every 10 check yes delay 20 -neighbor 0.0 bin -neigh_modify every 1 check no delay 0 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -#fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 -fix 1 all force/spin anisotropy 0.0000035 0.0 0.0 1.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -#fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 0.0 0.1 0.0 21 -#fix 2 all langevin/spin 0.0 0.0 0.0 21 - -#Magnetic integration fix -fix 3 all nve/spin mpi - -#compute real time, total magnetization, magnetic energy, and spin temperature -#Iteration | Time | Mx | My | Mz | |M| | Em | Tm -compute mag all compute/spin -fix outmag all ave/time 1 1 500 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_BFO.dat format %20.16g - -#Setting the timestep for the simulation (in ps) -timestep 0.0001 - -################## -#######run######## -################## - -#Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 5000 dump_spin_BFO.lammpstrj type x y z spx spy spz - -#Running the simulations for N timesteps -run 30000 -#run 1 - -- GitLab From 148d26d9436dbd590d90e3acd9b1f0e826caa8f2 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 4 Dec 2017 09:04:20 -0700 Subject: [PATCH 053/675] Delete in.cobalt --- examples/SPIN/in.cobalt | 108 ---------------------------------------- 1 file changed, 108 deletions(-) delete mode 100644 examples/SPIN/in.cobalt diff --git a/examples/SPIN/in.cobalt b/examples/SPIN/in.cobalt deleted file mode 100644 index 9fff327a51..0000000000 --- a/examples/SPIN/in.cobalt +++ /dev/null @@ -1,108 +0,0 @@ -################### -#######Init######## -################### - -clear -#setting units to metal (Ang, picosecs, eV, ...): -units metal - -#setting dimension of the system (N=2 or 3): -dimension 3 - -#setting boundary conditions. (p for periodic, f for fixed, ...) -boundary p p p -#boundary f f f - -#setting atom_style to spin: -atom_style spin - -#Define sort for paramagnetic simulations (if no pair interaction) -#atom_modify sort 1000 4.0 - -#why? -atom_modify map array - -#newton off for pair spin in SEQNEI -#newton off off - -########################### -#######Create atoms######## -########################### - -#Lattice constant of fcc Cobalt -lattice fcc 3.54 -#lattice sc 2.50 - -#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen -#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 5.0 0.0 5.0 0.0 5.0 - -#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. -create_box 1 box - -#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... -#Entries: atom type, -create_atoms 1 box - -####################### -#######Settings######## -####################### - -#Setting one or more properties of one or more atoms. -#Setting mass -mass 1 1.0 -#set group all mass 1.0 -#Setting spins orientation and moment -#set group all spin/random 11 1.72 -set group all spin 1.72 1.0 0.0 0.0 - -#Magnetic exchange interaction coefficient for bulk fcc Cobalt -pair_style pair/spin 4.0 -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -#pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 -pair_coeff * * exchange 4.0 0.0 0.003496 1.4885 -#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) -#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 -#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 - -#Define a skin distance, update neigh list every -#neighbor 1.0 bin -#neigh_modify every 10 check yes delay 20 -neighbor 0.0 bin -neigh_modify every 1 check no delay 0 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -#fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 -fix 1 all force/spin anisotropy 0.00 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -#fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 0.0 0.0 0.0 21 -#fix 2 all langevin/spin 0.0 0.0 0.0 21 - -#Magnetic integration fix -fix 3 all integration/spin mpi - -#compute real time, total magnetization, magnetic energy, and spin temperature -#Iteration | Time | Mx | My | Mz | |M| | Em | Tm -compute mag all compute/spin -fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g - -#Setting the timestep for the simulation (in ps) -timestep 0.0001 - -################## -#######run######## -################## - -#Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz - -#Running the simulations for N timesteps -#run 10000 -run 1 - -- GitLab From 925e647acfbb22ad826d160fc87190af105c7863 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 4 Dec 2017 09:04:24 -0700 Subject: [PATCH 054/675] Commit integ --- src/SPIN/fix_integration_spin.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index 4e7bc961c4..1fd0e25d4c 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -36,7 +36,6 @@ #include "neigh_list.h" #include "pair.h" #include "pair_hybrid.h" -#include "pair_spin.h" #include "pair_spin_exchange.h" #include "pair_spin_me.h" #include "pair_spin_soc_dmi.h" @@ -547,7 +546,7 @@ void FixIntegrationSpin::AdvanceSingleSpin(int i, double dtl) sp[i][1] = g[1]; sp[i][2] = g[2]; - // renormalization (may not be necessary) + // renormalization (check if necessary) msq = g[0]*g[0] + g[1]*g[1] + g[2]*g[2]; scale = 1.0/sqrt(msq); -- GitLab From 749336ae1f05dd771bb431e057cf74801ffd885c Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 4 Dec 2017 09:09:25 -0700 Subject: [PATCH 055/675] Delete in.kagome --- examples/SPIN/in.kagome | 126 ---------------------------------------- 1 file changed, 126 deletions(-) delete mode 100644 examples/SPIN/in.kagome diff --git a/examples/SPIN/in.kagome b/examples/SPIN/in.kagome deleted file mode 100644 index c51c35ff73..0000000000 --- a/examples/SPIN/in.kagome +++ /dev/null @@ -1,126 +0,0 @@ -################### -#######Init######## -################### - -clear -#setting units to metal (Ang, picosecs, eV, ...): -units metal - -#setting dimension of the system (N=2 or 3): -dimension 3 - -#setting boundary conditions. (p for periodic, f for fixed, ...) -boundary p p p -#boundary f f f - -#setting atom_style to spin: -atom_style spin - -#Define sort for paramagnetic simulations (if no pair interaction) -#atom_modify sort 1000 4.0 - -#why? -atom_modify map array - -#newton off for pair spin in SEQNEI -#newton off off - -########################### -#######Create atoms######## -########################### - -#Lattice constant of fcc Cobalt -lattice fcc 3.54 -#lattice sc 2.50 - -#Test Kagome -#variable a equal sqrt(3.0)/8.0 -#variable b equal 3.0*sqrt(3.0)/8.0 -#variable c equal sqrt(3.0)/4.0 - -#lattice custom 2.5 a1 1.0 0.0 0.0 & -# a2 0.0 1.0 0.0 & -# a3 0.0 0.0 1.0 & -# basis 0.0 $a 0.0 & -# basis 0.25 $a 0.0 & -# basis 0.375 0.0 0.0 & -# basis 0.25 $b 0.0 & -# basis 0.5 $b 0.0 & -# basis 0.625 $c 0.0 - -#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen -#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 5.0 0.0 5.0 0.0 5.0 - -#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. -create_box 1 box - -#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... -#Entries: atom type, -create_atoms 1 box - -#Replicating NxNxN the entire set of atoms -#replicate 1 1 1 - - -####################### -#######Settings######## -####################### - -#Setting one or more properties of one or more atoms. -#Setting mass -mass 1 1.0 -#set group all mass 1.0 -#Setting spins orientation and moment -#set group all spin/random 11 1.72 -set group all spin 1.72 1.0 0.0 0.0 - -#Magnetic exchange interaction coefficient for bulk fcc Cobalt -pair_style pair/spin 4.0 -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 -#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) -#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 -#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 - -#Define a skin distance, update neigh list every -#neighbor 1.0 bin -#neigh_modify every 10 check yes delay 20 -neighbor 0.0 bin -neigh_modify every 1 check no delay 0 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -#fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 1.0 0.1 0.0 21 -#fix 2 all langevin/spin 0.0 0.0 0.0 21 - -#Magnetic integration fix -fix 3 all nve/spin mpi - -#compute real time, total magnetization, magnetic energy, and spin temperature -#Iteration | Time | Mx | My | Mz | |M| | Em | Tm -compute mag all compute/spin -fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g - -#Setting the timestep for the simulation (in ps) -timestep 0.0001 - -################## -#######run######## -################## - -#Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz - -#Running the simulations for N timesteps -run 2000 -#run 1 - -- GitLab From 1e9d91bd8f4c5efc3779e10292d53c7d2e217924 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 4 Dec 2017 09:09:36 -0700 Subject: [PATCH 056/675] Delete in.co_magnetomech --- examples/SPIN/in.co_magnetomech | 119 -------------------------------- 1 file changed, 119 deletions(-) delete mode 100644 examples/SPIN/in.co_magnetomech diff --git a/examples/SPIN/in.co_magnetomech b/examples/SPIN/in.co_magnetomech deleted file mode 100644 index 78f1e5d128..0000000000 --- a/examples/SPIN/in.co_magnetomech +++ /dev/null @@ -1,119 +0,0 @@ -################### -#######Init######## -################### - -clear -units metal -dimension 3 -boundary p p p -#boundary f f f - -#newton off - -#setting atom_style to spin: -atom_style spin - -#Define sort for paramagnetic simulations (if no pair interaction) -#atom_modify sort 1000 4.0 - -atom_modify map array - -########################### -#######Create atoms######## -########################### - -lattice fcc 3.54 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -create_atoms 1 box - -####################### -#######Settings######## -####################### - -#isolating 1 atom into a group -group single_spin id 10 - -#Setting one or more properties of one or more atoms. -mass 1 58.93 - -#Setting spins orientation and moment -set group all spin/random 31 1.72 -#set group all spin 1.72 0.0 0.0 1.0 -#set group single_spin spin/random 11 1.72 - -velocity all create 200 4928459 rot yes dist gaussian - -#Magneto-mechanic interactions for bulk fcc Cobalt -#pair_style pair/spin/exchange 4.0 -#pair_style eam/alloy -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 - -pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co -#pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co - -#pair_style pair/spin 4.0 -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -#pair_coeff * * exchange 4.0 -0.0446928 0.003496 1.4885 -#pair_coeff * * exchange 4.0 0.0 0.003496 1.4885 -pair_coeff * * pair/spin/exchange exchange 4.0 -0.0446928 0.003496 1.4885 - -#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) -#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 -#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 - -#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) -#pair_coeff * * pair/spin/soc/neel neel 4.0 -0.003330282 0.864159 2.13731 - -#Define a skin distance, update neigh list every -#neighbor 1.0 bin -#neigh_modify every 10 check yes delay 20 -neighbor 1.0 bin -neigh_modify every 1 check no delay 0 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.01 0.0 0.0 1.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -#fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 0.0 0.0 0.0 21 - -#Magnetic integration fix -fix 3 all integration/spin mpi - -#compute real time, total magnetization, magnetic energy, and spin temperature -#Iteration | Time | Mx | My | Mz | |M| | Em | Tm - -#Setting the timestep for the simulation (in ps) -timestep 0.0001 - -################## -#######run######## -################## - -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] -variable mag_force equal f_1 - -thermo 10 -#thermo_style custom step time v_emag c_out_pe c_out_ke c_out_temp v_mag_force v_magnorm v_tmag etotal -thermo_style custom step time v_magnorm etotal -thermo_modify format float %20.15g - -#Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 500 dump_VSRSV.lammpstrj type x y z spx spy spz - -#Running the simulations for N timesteps -#run 100 -run 10000 - -- GitLab From 6df54ac3ec4a1505fcae65c2e718fe814f9a5d89 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 4 Dec 2017 09:09:46 -0700 Subject: [PATCH 057/675] Delete in.cobalt_SD --- examples/SPIN/in.cobalt_SD | 126 ------------------------------------- 1 file changed, 126 deletions(-) delete mode 100644 examples/SPIN/in.cobalt_SD diff --git a/examples/SPIN/in.cobalt_SD b/examples/SPIN/in.cobalt_SD deleted file mode 100644 index c51c35ff73..0000000000 --- a/examples/SPIN/in.cobalt_SD +++ /dev/null @@ -1,126 +0,0 @@ -################### -#######Init######## -################### - -clear -#setting units to metal (Ang, picosecs, eV, ...): -units metal - -#setting dimension of the system (N=2 or 3): -dimension 3 - -#setting boundary conditions. (p for periodic, f for fixed, ...) -boundary p p p -#boundary f f f - -#setting atom_style to spin: -atom_style spin - -#Define sort for paramagnetic simulations (if no pair interaction) -#atom_modify sort 1000 4.0 - -#why? -atom_modify map array - -#newton off for pair spin in SEQNEI -#newton off off - -########################### -#######Create atoms######## -########################### - -#Lattice constant of fcc Cobalt -lattice fcc 3.54 -#lattice sc 2.50 - -#Test Kagome -#variable a equal sqrt(3.0)/8.0 -#variable b equal 3.0*sqrt(3.0)/8.0 -#variable c equal sqrt(3.0)/4.0 - -#lattice custom 2.5 a1 1.0 0.0 0.0 & -# a2 0.0 1.0 0.0 & -# a3 0.0 0.0 1.0 & -# basis 0.0 $a 0.0 & -# basis 0.25 $a 0.0 & -# basis 0.375 0.0 0.0 & -# basis 0.25 $b 0.0 & -# basis 0.5 $b 0.0 & -# basis 0.625 $c 0.0 - -#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen -#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 5.0 0.0 5.0 0.0 5.0 - -#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. -create_box 1 box - -#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... -#Entries: atom type, -create_atoms 1 box - -#Replicating NxNxN the entire set of atoms -#replicate 1 1 1 - - -####################### -#######Settings######## -####################### - -#Setting one or more properties of one or more atoms. -#Setting mass -mass 1 1.0 -#set group all mass 1.0 -#Setting spins orientation and moment -#set group all spin/random 11 1.72 -set group all spin 1.72 1.0 0.0 0.0 - -#Magnetic exchange interaction coefficient for bulk fcc Cobalt -pair_style pair/spin 4.0 -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 -#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) -#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 -#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 - -#Define a skin distance, update neigh list every -#neighbor 1.0 bin -#neigh_modify every 10 check yes delay 20 -neighbor 0.0 bin -neigh_modify every 1 check no delay 0 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -#fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 1.0 0.1 0.0 21 -#fix 2 all langevin/spin 0.0 0.0 0.0 21 - -#Magnetic integration fix -fix 3 all nve/spin mpi - -#compute real time, total magnetization, magnetic energy, and spin temperature -#Iteration | Time | Mx | My | Mz | |M| | Em | Tm -compute mag all compute/spin -fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g - -#Setting the timestep for the simulation (in ps) -timestep 0.0001 - -################## -#######run######## -################## - -#Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz - -#Running the simulations for N timesteps -run 2000 -#run 1 - -- GitLab From 5fe0b0a2cc85608b33dec912eea74ce20eec712f Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 4 Dec 2017 09:10:01 -0700 Subject: [PATCH 058/675] Delete in.cobalt_dev --- examples/SPIN/in.cobalt_dev | 126 ------------------------------------ 1 file changed, 126 deletions(-) delete mode 100644 examples/SPIN/in.cobalt_dev diff --git a/examples/SPIN/in.cobalt_dev b/examples/SPIN/in.cobalt_dev deleted file mode 100644 index c51c35ff73..0000000000 --- a/examples/SPIN/in.cobalt_dev +++ /dev/null @@ -1,126 +0,0 @@ -################### -#######Init######## -################### - -clear -#setting units to metal (Ang, picosecs, eV, ...): -units metal - -#setting dimension of the system (N=2 or 3): -dimension 3 - -#setting boundary conditions. (p for periodic, f for fixed, ...) -boundary p p p -#boundary f f f - -#setting atom_style to spin: -atom_style spin - -#Define sort for paramagnetic simulations (if no pair interaction) -#atom_modify sort 1000 4.0 - -#why? -atom_modify map array - -#newton off for pair spin in SEQNEI -#newton off off - -########################### -#######Create atoms######## -########################### - -#Lattice constant of fcc Cobalt -lattice fcc 3.54 -#lattice sc 2.50 - -#Test Kagome -#variable a equal sqrt(3.0)/8.0 -#variable b equal 3.0*sqrt(3.0)/8.0 -#variable c equal sqrt(3.0)/4.0 - -#lattice custom 2.5 a1 1.0 0.0 0.0 & -# a2 0.0 1.0 0.0 & -# a3 0.0 0.0 1.0 & -# basis 0.0 $a 0.0 & -# basis 0.25 $a 0.0 & -# basis 0.375 0.0 0.0 & -# basis 0.25 $b 0.0 & -# basis 0.5 $b 0.0 & -# basis 0.625 $c 0.0 - -#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen -#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 5.0 0.0 5.0 0.0 5.0 - -#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. -create_box 1 box - -#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... -#Entries: atom type, -create_atoms 1 box - -#Replicating NxNxN the entire set of atoms -#replicate 1 1 1 - - -####################### -#######Settings######## -####################### - -#Setting one or more properties of one or more atoms. -#Setting mass -mass 1 1.0 -#set group all mass 1.0 -#Setting spins orientation and moment -#set group all spin/random 11 1.72 -set group all spin 1.72 1.0 0.0 0.0 - -#Magnetic exchange interaction coefficient for bulk fcc Cobalt -pair_style pair/spin 4.0 -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 -#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) -#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 -#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 - -#Define a skin distance, update neigh list every -#neighbor 1.0 bin -#neigh_modify every 10 check yes delay 20 -neighbor 0.0 bin -neigh_modify every 1 check no delay 0 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -#fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 1.0 0.1 0.0 21 -#fix 2 all langevin/spin 0.0 0.0 0.0 21 - -#Magnetic integration fix -fix 3 all nve/spin mpi - -#compute real time, total magnetization, magnetic energy, and spin temperature -#Iteration | Time | Mx | My | Mz | |M| | Em | Tm -compute mag all compute/spin -fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g - -#Setting the timestep for the simulation (in ps) -timestep 0.0001 - -################## -#######run######## -################## - -#Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz - -#Running the simulations for N timesteps -run 2000 -#run 1 - -- GitLab From ab200cff062c4f913abed863bf8a7bc94b53b502 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 9 Jan 2018 09:48:15 -0700 Subject: [PATCH 059/675] - linked list in the integration algorithm - new version of the coord2sector function - possible to read_data a spin .data file --- examples/SPIN/Norm_randXY_8x8x32.data | 8207 +++++++++++++++++++++++++ examples/SPIN/in.spin.cobalt | 30 +- examples/SPIN/in.spin.read_data | 88 + examples/SPIN/in.spin.restart | 109 + examples/SPIN/vmd_nano.vmd | 79 + src/SPIN/atom_vec_spin.cpp | 2 +- src/SPIN/fix_integration_spin.cpp | 216 +- src/SPIN/fix_integration_spin.h | 17 +- src/SPIN/pair_spin_exchange.cpp | 73 +- src/SPIN/pair_spin_exchange.h | 7 +- src/SPIN/pair_spin_soc_dmi.cpp | 91 +- src/SPIN/pair_spin_soc_dmi.h | 9 +- src/SPIN/pair_spin_soc_neel.cpp | 123 +- src/SPIN/pair_spin_soc_neel.h | 8 +- src/atom.h | 1 + 15 files changed, 8791 insertions(+), 269 deletions(-) create mode 100644 examples/SPIN/Norm_randXY_8x8x32.data create mode 100644 examples/SPIN/in.spin.read_data create mode 100644 examples/SPIN/in.spin.restart create mode 100644 examples/SPIN/vmd_nano.vmd diff --git a/examples/SPIN/Norm_randXY_8x8x32.data b/examples/SPIN/Norm_randXY_8x8x32.data new file mode 100644 index 0000000000..d239bb6ca0 --- /dev/null +++ b/examples/SPIN/Norm_randXY_8x8x32.data @@ -0,0 +1,8207 @@ +LAMMPS data file via write_data, version 4 May 2017, timestep = 0 + +8192 atoms +1 atom types + +0.0000000000000000e+00 2.8320000000000000e+01 xlo xhi +0.0000000000000000e+00 2.8320000000000000e+01 ylo yhi +0.0000000000000000e+00 1.1328000000000000e+02 zlo zhi + +Masses + +1 58.93 + +Atoms # spin + +1 1 1.72 0.0 0.0 0.0 0.52887 -0.848703 1.0 +2 1 1.72 1.77 1.77 0.0 -0.745115 -0.666936 1.0 +3 1 1.72 1.77 0.0 1.77 -0.989437 -0.144964 1.0 +4 1 1.72 0.0 1.77 1.77 0.999926 -0.0121449 1.0 +5 1 1.72 3.54 0.0 0.0 0.377063 -0.926188 1.0 +6 1 1.72 5.31 1.77 0.0 0.412944 0.910756 1.0 +7 1 1.72 5.31 0.0 1.77 -0.999979 0.00650985 1.0 +8 1 1.72 3.54 1.77 1.77 0.535453 -0.844565 1.0 +9 1 1.72 7.0799999 0.0 0.0 -0.986135 0.165942 1.0 +10 1 1.72 8.8500004 1.77 0.0 -0.37352 -0.927622 1.0 +11 1 1.72 8.8500004 0.0 1.77 -0.926878 0.375363 1.0 +12 1 1.72 7.0799999 1.77 1.77 -0.690063 -0.72375 1.0 +13 1 1.72 10.6199999 0.0 0.0 -0.7204 -0.693559 1.0 +14 1 1.72 12.3900004 1.77 0.0 -0.832046 -0.554707 1.0 +15 1 1.72 12.3900004 0.0 1.77 0.23719 0.971463 1.0 +16 1 1.72 10.6199999 1.77 1.77 0.456617 -0.889663 1.0 +17 1 1.72 14.1599999 0.0 0.0 -0.661715 0.749755 1.0 +18 1 1.72 15.9300004 1.77 0.0 -0.847309 -0.531099 1.0 +19 1 1.72 15.9300004 0.0 1.77 -0.956536 0.291614 1.0 +20 1 1.72 14.1599999 1.77 1.77 -0.770778 -0.637104 1.0 +21 1 1.72 17.7000008 0.0 0.0 -0.896558 -0.442927 1.0 +22 1 1.72 19.4699993 1.77 0.0 0.557673 0.830061 1.0 +23 1 1.72 19.4699993 0.0 1.77 0.983224 0.182403 1.0 +24 1 1.72 17.7000008 1.77 1.77 -0.939201 0.343368 1.0 +25 1 1.72 21.2399998 0.0 0.0 0.894393 0.447281 1.0 +26 1 1.72 23.0100002 1.77 0.0 0.484661 0.874702 1.0 +27 1 1.72 23.0100002 0.0 1.77 0.525609 -0.850726 1.0 +28 1 1.72 21.2399998 1.77 1.77 0.551899 0.833911 1.0 +29 1 1.72 24.7800007 0.0 0.0 -0.307979 0.951393 1.0 +30 1 1.72 26.5499993 1.77 0.0 -0.993353 -0.115107 1.0 +31 1 1.72 26.5499993 0.0 1.77 0.786777 -0.617237 1.0 +32 1 1.72 24.7800007 1.77 1.77 -0.646691 0.762752 1.0 +33 1 1.72 0.0 3.54 0.0 0.119106 -0.992881 1.0 +34 1 1.72 1.77 5.31 0.0 0.719383 0.694614 1.0 +35 1 1.72 1.77 3.54 1.77 -0.704699 0.709506 1.0 +36 1 1.72 0.0 5.31 1.77 0.795511 -0.605939 1.0 +37 1 1.72 3.54 3.54 0.0 -0.97 -0.243107 1.0 +38 1 1.72 5.31 5.31 0.0 0.976076 0.217428 1.0 +39 1 1.72 5.31 3.54 1.77 0.735471 -0.677556 1.0 +40 1 1.72 3.54 5.31 1.77 -0.319137 -0.947708 1.0 +41 1 1.72 7.0799999 3.54 0.0 -0.610942 0.791675 1.0 +42 1 1.72 8.8500004 5.31 0.0 -0.679543 0.733635 1.0 +43 1 1.72 8.8500004 3.54 1.77 0.983607 -0.180324 1.0 +44 1 1.72 7.0799999 5.31 1.77 -0.217118 -0.976145 1.0 +45 1 1.72 10.6199999 3.54 0.0 -0.997762 0.0668716 1.0 +46 1 1.72 12.3900004 5.31 0.0 0.275194 -0.961389 1.0 +47 1 1.72 12.3900004 3.54 1.77 -0.828419 -0.560108 1.0 +48 1 1.72 10.6199999 5.31 1.77 0.118246 -0.992984 1.0 +49 1 1.72 14.1599999 3.54 0.0 0.737418 0.675437 1.0 +50 1 1.72 15.9300004 5.31 0.0 0.723539 -0.690283 1.0 +51 1 1.72 15.9300004 3.54 1.77 0.445177 0.895443 1.0 +52 1 1.72 14.1599999 5.31 1.77 -0.0224847 -0.999747 1.0 +53 1 1.72 17.7000008 3.54 0.0 -0.0340097 0.999422 1.0 +54 1 1.72 19.4699993 5.31 0.0 -0.842076 -0.539358 1.0 +55 1 1.72 19.4699993 3.54 1.77 0.628732 -0.777622 1.0 +56 1 1.72 17.7000008 5.31 1.77 -0.710873 -0.70332 1.0 +57 1 1.72 21.2399998 3.54 0.0 -0.997492 0.0707798 1.0 +58 1 1.72 23.0100002 5.31 0.0 -0.643338 -0.765582 1.0 +59 1 1.72 23.0100002 3.54 1.77 -0.891542 0.452938 1.0 +60 1 1.72 21.2399998 5.31 1.77 -0.576343 -0.817208 1.0 +61 1 1.72 24.7800007 3.54 0.0 0.915658 -0.401959 1.0 +62 1 1.72 26.5499993 5.31 0.0 -0.674018 -0.738715 1.0 +63 1 1.72 26.5499993 3.54 1.77 -0.92775 -0.373203 1.0 +64 1 1.72 24.7800007 5.31 1.77 -0.336441 0.941705 1.0 +65 1 1.72 0.0 7.0799999 0.0 0.499974 0.86604 1.0 +66 1 1.72 1.77 8.8500004 0.0 -0.582403 0.8129 1.0 +67 1 1.72 1.77 7.0799999 1.77 0.46326 -0.886222 1.0 +68 1 1.72 0.0 8.8500004 1.77 0.812676 -0.582716 1.0 +69 1 1.72 3.54 7.0799999 0.0 0.572515 0.819894 1.0 +70 1 1.72 5.31 8.8500004 0.0 -0.765807 -0.64307 1.0 +71 1 1.72 5.31 7.0799999 1.77 0.474871 0.880056 1.0 +72 1 1.72 3.54 8.8500004 1.77 -0.975682 -0.219192 1.0 +73 1 1.72 7.0799999 7.0799999 0.0 -0.810957 0.585105 1.0 +74 1 1.72 8.8500004 8.8500004 0.0 -0.877575 0.479439 1.0 +75 1 1.72 8.8500004 7.0799999 1.77 0.824057 -0.566506 1.0 +76 1 1.72 7.0799999 8.8500004 1.77 0.297271 0.954793 1.0 +77 1 1.72 10.6199999 7.0799999 0.0 -0.681778 -0.731559 1.0 +78 1 1.72 12.3900004 8.8500004 0.0 -0.76147 0.6482 1.0 +79 1 1.72 12.3900004 7.0799999 1.77 -0.486873 0.873473 1.0 +80 1 1.72 10.6199999 8.8500004 1.77 0.00912428 -0.999958 1.0 +81 1 1.72 14.1599999 7.0799999 0.0 0.713557 0.700597 1.0 +82 1 1.72 15.9300004 8.8500004 0.0 0.868807 -0.495151 1.0 +83 1 1.72 15.9300004 7.0799999 1.77 -1 -0.000534854 1.0 +84 1 1.72 14.1599999 8.8500004 1.77 -0.574785 0.818304 1.0 +85 1 1.72 17.7000008 7.0799999 0.0 0.989393 0.145267 1.0 +86 1 1.72 19.4699993 8.8500004 0.0 -0.999806 -0.0197183 1.0 +87 1 1.72 19.4699993 7.0799999 1.77 0.4586 -0.888643 1.0 +88 1 1.72 17.7000008 8.8500004 1.77 -0.883298 -0.468811 1.0 +89 1 1.72 21.2399998 7.0799999 0.0 -0.824627 0.565677 1.0 +90 1 1.72 23.0100002 8.8500004 0.0 -0.832761 0.553633 1.0 +91 1 1.72 23.0100002 7.0799999 1.77 -0.619129 -0.78529 1.0 +92 1 1.72 21.2399998 8.8500004 1.77 -0.146701 -0.989181 1.0 +93 1 1.72 24.7800007 7.0799999 0.0 -0.730554 0.682855 1.0 +94 1 1.72 26.5499993 8.8500004 0.0 -0.969609 -0.244661 1.0 +95 1 1.72 26.5499993 7.0799999 1.77 0.833097 0.553128 1.0 +96 1 1.72 24.7800007 8.8500004 1.77 -0.236089 0.971731 1.0 +97 1 1.72 0.0 10.6199999 0.0 -0.367374 -0.930073 1.0 +98 1 1.72 1.77 12.3900004 0.0 0.881557 -0.472078 1.0 +99 1 1.72 1.77 10.6199999 1.77 0.532092 -0.846686 1.0 +100 1 1.72 0.0 12.3900004 1.77 0.214293 -0.976769 1.0 +101 1 1.72 3.54 10.6199999 0.0 0.952842 0.303466 1.0 +102 1 1.72 5.31 12.3900004 0.0 0.704914 0.709293 1.0 +103 1 1.72 5.31 10.6199999 1.77 -0.379284 0.92528 1.0 +104 1 1.72 3.54 12.3900004 1.77 0.474349 0.880337 1.0 +105 1 1.72 7.0799999 10.6199999 0.0 -0.617116 0.786872 1.0 +106 1 1.72 8.8500004 12.3900004 0.0 -0.999836 0.0181093 1.0 +107 1 1.72 8.8500004 10.6199999 1.77 0.0846455 0.996411 1.0 +108 1 1.72 7.0799999 12.3900004 1.77 0.857559 0.514386 1.0 +109 1 1.72 10.6199999 10.6199999 0.0 0.567582 0.823317 1.0 +110 1 1.72 12.3900004 12.3900004 0.0 -0.966803 0.255521 1.0 +111 1 1.72 12.3900004 10.6199999 1.77 -0.675642 -0.73723 1.0 +112 1 1.72 10.6199999 12.3900004 1.77 -0.999943 -0.0106872 1.0 +113 1 1.72 14.1599999 10.6199999 0.0 -0.990729 0.135851 1.0 +114 1 1.72 15.9300004 12.3900004 0.0 -0.599943 0.800043 1.0 +115 1 1.72 15.9300004 10.6199999 1.77 0.970749 0.240097 1.0 +116 1 1.72 14.1599999 12.3900004 1.77 0.850547 -0.525898 1.0 +117 1 1.72 17.7000008 10.6199999 0.0 0.328418 -0.944533 1.0 +118 1 1.72 19.4699993 12.3900004 0.0 -0.644174 -0.764879 1.0 +119 1 1.72 19.4699993 10.6199999 1.77 0.380357 0.92484 1.0 +120 1 1.72 17.7000008 12.3900004 1.77 0.512588 -0.858635 1.0 +121 1 1.72 21.2399998 10.6199999 0.0 -0.994323 -0.106404 1.0 +122 1 1.72 23.0100002 12.3900004 0.0 0.757848 -0.652431 1.0 +123 1 1.72 23.0100002 10.6199999 1.77 -0.453043 0.891489 1.0 +124 1 1.72 21.2399998 12.3900004 1.77 -0.108525 -0.994094 1.0 +125 1 1.72 24.7800007 10.6199999 0.0 -0.951461 -0.30777 1.0 +126 1 1.72 26.5499993 12.3900004 0.0 -0.156148 -0.987734 1.0 +127 1 1.72 26.5499993 10.6199999 1.77 -0.0498593 0.998756 1.0 +128 1 1.72 24.7800007 12.3900004 1.77 -0.765373 0.643587 1.0 +129 1 1.72 0.0 0.0 3.54 0.102937 -0.994688 1.0 +130 1 1.72 1.77 1.77 3.54 0.521765 -0.853089 1.0 +131 1 1.72 1.77 0.0 5.31 0.782175 -0.623058 1.0 +132 1 1.72 0.0 1.77 5.31 -0.52733 0.84966 1.0 +133 1 1.72 3.54 0.0 3.54 -0.866538 0.499111 1.0 +134 1 1.72 5.31 1.77 3.54 0.688635 0.725108 1.0 +135 1 1.72 5.31 0.0 5.31 -0.993703 0.112043 1.0 +136 1 1.72 3.54 1.77 5.31 0.63582 -0.771837 1.0 +137 1 1.72 7.0799999 0.0 3.54 -0.780124 -0.625625 1.0 +138 1 1.72 8.8500004 1.77 3.54 -0.9995 0.0316303 1.0 +139 1 1.72 8.8500004 0.0 5.31 -0.60287 -0.797839 1.0 +140 1 1.72 7.0799999 1.77 5.31 0.668511 -0.743702 1.0 +141 1 1.72 10.6199999 0.0 3.54 0.772127 0.635468 1.0 +142 1 1.72 12.3900004 1.77 3.54 -0.477427 0.878671 1.0 +143 1 1.72 12.3900004 0.0 5.31 0.948008 -0.318247 1.0 +144 1 1.72 10.6199999 1.77 5.31 -0.84749 -0.530812 1.0 +145 1 1.72 14.1599999 0.0 3.54 -0.611867 0.790961 1.0 +146 1 1.72 15.9300004 1.77 3.54 0.999844 0.0176539 1.0 +147 1 1.72 15.9300004 0.0 5.31 -0.439551 -0.898218 1.0 +148 1 1.72 14.1599999 1.77 5.31 0.221059 -0.97526 1.0 +149 1 1.72 17.7000008 0.0 3.54 0.362034 -0.932165 1.0 +150 1 1.72 19.4699993 1.77 3.54 0.990126 -0.140181 1.0 +151 1 1.72 19.4699993 0.0 5.31 -0.901732 -0.432295 1.0 +152 1 1.72 17.7000008 1.77 5.31 -0.539132 0.842222 1.0 +153 1 1.72 21.2399998 0.0 3.54 0.8064 -0.591371 1.0 +154 1 1.72 23.0100002 1.77 3.54 -0.634078 -0.773269 1.0 +155 1 1.72 23.0100002 0.0 5.31 -0.82646 -0.562995 1.0 +156 1 1.72 21.2399998 1.77 5.31 0.54415 -0.838988 1.0 +157 1 1.72 24.7800007 0.0 3.54 0.168534 -0.985696 1.0 +158 1 1.72 26.5499993 1.77 3.54 0.467956 0.883752 1.0 +159 1 1.72 26.5499993 0.0 5.31 -0.432586 -0.901593 1.0 +160 1 1.72 24.7800007 1.77 5.31 0.758413 -0.651774 1.0 +161 1 1.72 0.0 3.54 3.54 -0.942909 -0.33305 1.0 +162 1 1.72 1.77 5.31 3.54 0.909319 0.416099 1.0 +163 1 1.72 1.77 3.54 5.31 -0.443879 0.896087 1.0 +164 1 1.72 0.0 5.31 5.31 0.00137294 -0.999999 1.0 +165 1 1.72 3.54 3.54 3.54 0.463786 0.885947 1.0 +166 1 1.72 5.31 5.31 3.54 0.571784 0.820404 1.0 +167 1 1.72 5.31 3.54 5.31 -0.775086 0.631856 1.0 +168 1 1.72 3.54 5.31 5.31 -0.852559 -0.522631 1.0 +169 1 1.72 7.0799999 3.54 3.54 0.615898 0.787826 1.0 +170 1 1.72 8.8500004 5.31 3.54 0.665727 -0.746196 1.0 +171 1 1.72 8.8500004 3.54 5.31 0.348981 -0.93713 1.0 +172 1 1.72 7.0799999 5.31 5.31 -0.984144 -0.177372 1.0 +173 1 1.72 10.6199999 3.54 3.54 -0.118519 -0.992952 1.0 +174 1 1.72 12.3900004 5.31 3.54 0.273523 0.961865 1.0 +175 1 1.72 12.3900004 3.54 5.31 -0.563501 -0.826116 1.0 +176 1 1.72 10.6199999 5.31 5.31 0.885827 0.464016 1.0 +177 1 1.72 14.1599999 3.54 3.54 0.547215 0.836992 1.0 +178 1 1.72 15.9300004 5.31 3.54 0.00952804 0.999955 1.0 +179 1 1.72 15.9300004 3.54 5.31 -0.985737 -0.168295 1.0 +180 1 1.72 14.1599999 5.31 5.31 -0.324131 -0.946012 1.0 +181 1 1.72 17.7000008 3.54 3.54 0.926524 -0.376235 1.0 +182 1 1.72 19.4699993 5.31 3.54 0.86068 0.509147 1.0 +183 1 1.72 19.4699993 3.54 5.31 -0.990706 -0.136021 1.0 +184 1 1.72 17.7000008 5.31 5.31 0.892393 -0.451258 1.0 +185 1 1.72 21.2399998 3.54 3.54 -0.303547 -0.952816 1.0 +186 1 1.72 23.0100002 5.31 3.54 0.920916 0.389761 1.0 +187 1 1.72 23.0100002 3.54 5.31 -0.777103 -0.629373 1.0 +188 1 1.72 21.2399998 5.31 5.31 0.510707 0.859755 1.0 +189 1 1.72 24.7800007 3.54 3.54 -0.65805 0.752974 1.0 +190 1 1.72 26.5499993 5.31 3.54 -0.804723 0.593651 1.0 +191 1 1.72 26.5499993 3.54 5.31 0.408331 -0.912834 1.0 +192 1 1.72 24.7800007 5.31 5.31 0.746295 0.665615 1.0 +193 1 1.72 0.0 7.0799999 3.54 0.492599 -0.870256 1.0 +194 1 1.72 1.77 8.8500004 3.54 0.767038 -0.641602 1.0 +195 1 1.72 1.77 7.0799999 5.31 -0.840902 -0.541187 1.0 +196 1 1.72 0.0 8.8500004 5.31 0.640285 -0.768137 1.0 +197 1 1.72 3.54 7.0799999 3.54 0.142679 -0.989769 1.0 +198 1 1.72 5.31 8.8500004 3.54 -0.955626 -0.294582 1.0 +199 1 1.72 5.31 7.0799999 5.31 0.74547 -0.666539 1.0 +200 1 1.72 3.54 8.8500004 5.31 -0.661162 0.750243 1.0 +201 1 1.72 7.0799999 7.0799999 3.54 0.771617 -0.636088 1.0 +202 1 1.72 8.8500004 8.8500004 3.54 0.629308 0.777156 1.0 +203 1 1.72 8.8500004 7.0799999 5.31 -0.547181 0.837014 1.0 +204 1 1.72 7.0799999 8.8500004 5.31 -0.993312 0.115457 1.0 +205 1 1.72 10.6199999 7.0799999 3.54 0.834975 0.550288 1.0 +206 1 1.72 12.3900004 8.8500004 3.54 0.664691 0.747118 1.0 +207 1 1.72 12.3900004 7.0799999 5.31 -0.200111 -0.979773 1.0 +208 1 1.72 10.6199999 8.8500004 5.31 0.801035 0.598618 1.0 +209 1 1.72 14.1599999 7.0799999 3.54 -0.58623 -0.810144 1.0 +210 1 1.72 15.9300004 8.8500004 3.54 0.904936 -0.425548 1.0 +211 1 1.72 15.9300004 7.0799999 5.31 0.666075 0.745885 1.0 +212 1 1.72 14.1599999 8.8500004 5.31 0.325616 -0.945502 1.0 +213 1 1.72 17.7000008 7.0799999 3.54 -0.999906 -0.0136787 1.0 +214 1 1.72 19.4699993 8.8500004 3.54 0.750515 -0.660853 1.0 +215 1 1.72 19.4699993 7.0799999 5.31 -0.539904 0.841727 1.0 +216 1 1.72 17.7000008 8.8500004 5.31 -0.0929708 -0.995669 1.0 +217 1 1.72 21.2399998 7.0799999 3.54 -0.70959 -0.704614 1.0 +218 1 1.72 23.0100002 8.8500004 3.54 0.402659 -0.91535 1.0 +219 1 1.72 23.0100002 7.0799999 5.31 0.766076 -0.64275 1.0 +220 1 1.72 21.2399998 8.8500004 5.31 -0.983381 -0.181552 1.0 +221 1 1.72 24.7800007 7.0799999 3.54 -0.573555 -0.819167 1.0 +222 1 1.72 26.5499993 8.8500004 3.54 0.842039 -0.539416 1.0 +223 1 1.72 26.5499993 7.0799999 5.31 -0.914245 0.405161 1.0 +224 1 1.72 24.7800007 8.8500004 5.31 -0.975994 -0.217798 1.0 +225 1 1.72 0.0 10.6199999 3.54 -0.949605 0.313448 1.0 +226 1 1.72 1.77 12.3900004 3.54 -0.911048 0.412301 1.0 +227 1 1.72 1.77 10.6199999 5.31 0.878063 0.478545 1.0 +228 1 1.72 0.0 12.3900004 5.31 0.404541 0.91452 1.0 +229 1 1.72 3.54 10.6199999 3.54 -0.98993 0.141557 1.0 +230 1 1.72 5.31 12.3900004 3.54 -0.662101 -0.749415 1.0 +231 1 1.72 5.31 10.6199999 5.31 -0.970876 0.239583 1.0 +232 1 1.72 3.54 12.3900004 5.31 -0.927277 -0.374377 1.0 +233 1 1.72 7.0799999 10.6199999 3.54 -0.833108 -0.55311 1.0 +234 1 1.72 8.8500004 12.3900004 3.54 0.507726 -0.861519 1.0 +235 1 1.72 8.8500004 10.6199999 5.31 -0.745958 -0.665993 1.0 +236 1 1.72 7.0799999 12.3900004 5.31 -0.942675 0.333713 1.0 +237 1 1.72 10.6199999 10.6199999 3.54 -0.354976 -0.934875 1.0 +238 1 1.72 12.3900004 12.3900004 3.54 -0.975296 -0.220901 1.0 +239 1 1.72 12.3900004 10.6199999 5.31 0.767393 -0.641177 1.0 +240 1 1.72 10.6199999 12.3900004 5.31 0.0877828 0.99614 1.0 +241 1 1.72 14.1599999 10.6199999 3.54 -0.770025 -0.638013 1.0 +242 1 1.72 15.9300004 12.3900004 3.54 -0.791835 0.610734 1.0 +243 1 1.72 15.9300004 10.6199999 5.31 0.771802 0.635863 1.0 +244 1 1.72 14.1599999 12.3900004 5.31 -0.388481 0.921457 1.0 +245 1 1.72 17.7000008 10.6199999 3.54 -0.516274 -0.856423 1.0 +246 1 1.72 19.4699993 12.3900004 3.54 -0.877053 -0.480394 1.0 +247 1 1.72 19.4699993 10.6199999 5.31 -0.315767 -0.948837 1.0 +248 1 1.72 17.7000008 12.3900004 5.31 0.321353 0.94696 1.0 +249 1 1.72 21.2399998 10.6199999 3.54 0.314798 0.949159 1.0 +250 1 1.72 23.0100002 12.3900004 3.54 0.528894 0.848688 1.0 +251 1 1.72 23.0100002 10.6199999 5.31 -0.898401 0.439177 1.0 +252 1 1.72 21.2399998 12.3900004 5.31 0.616057 -0.787702 1.0 +253 1 1.72 24.7800007 10.6199999 3.54 0.987731 -0.156167 1.0 +254 1 1.72 26.5499993 12.3900004 3.54 -0.744935 -0.667137 1.0 +255 1 1.72 26.5499993 10.6199999 5.31 -0.817643 -0.575726 1.0 +256 1 1.72 24.7800007 12.3900004 5.31 0.876355 0.481665 1.0 +257 1 1.72 0.0 0.0 7.0799999 -0.76417 -0.645015 1.0 +258 1 1.72 1.77 1.77 7.0799999 0.999563 0.0295524 1.0 +259 1 1.72 1.77 0.0 8.8500004 0.190961 0.981598 1.0 +260 1 1.72 0.0 1.77 8.8500004 -0.64001 -0.768366 1.0 +261 1 1.72 3.54 0.0 7.0799999 0.88403 0.467429 1.0 +262 1 1.72 5.31 1.77 7.0799999 0.958535 -0.284975 1.0 +263 1 1.72 5.31 0.0 8.8500004 0.776799 -0.629749 1.0 +264 1 1.72 3.54 1.77 8.8500004 -0.683111 0.730315 1.0 +265 1 1.72 7.0799999 0.0 7.0799999 -0.995838 0.0911389 1.0 +266 1 1.72 8.8500004 1.77 7.0799999 0.780866 -0.624699 1.0 +267 1 1.72 8.8500004 0.0 8.8500004 0.647367 0.762178 1.0 +268 1 1.72 7.0799999 1.77 8.8500004 -0.922114 0.386919 1.0 +269 1 1.72 10.6199999 0.0 7.0799999 0.985785 -0.168011 1.0 +270 1 1.72 12.3900004 1.77 7.0799999 -0.180371 0.983599 1.0 +271 1 1.72 12.3900004 0.0 8.8500004 -0.499872 -0.8661 1.0 +272 1 1.72 10.6199999 1.77 8.8500004 -0.960807 -0.277219 1.0 +273 1 1.72 14.1599999 0.0 7.0799999 0.638432 -0.769678 1.0 +274 1 1.72 15.9300004 1.77 7.0799999 0.0595594 0.998225 1.0 +275 1 1.72 15.9300004 0.0 8.8500004 0.739189 -0.673498 1.0 +276 1 1.72 14.1599999 1.77 8.8500004 -0.0848226 0.996396 1.0 +277 1 1.72 17.7000008 0.0 7.0799999 0.349421 0.936966 1.0 +278 1 1.72 19.4699993 1.77 7.0799999 -0.798175 -0.602426 1.0 +279 1 1.72 19.4699993 0.0 8.8500004 -0.938818 0.344412 1.0 +280 1 1.72 17.7000008 1.77 8.8500004 -0.685349 0.728215 1.0 +281 1 1.72 21.2399998 0.0 7.0799999 -0.205427 -0.978672 1.0 +282 1 1.72 23.0100002 1.77 7.0799999 -0.859105 -0.511799 1.0 +283 1 1.72 23.0100002 0.0 8.8500004 -0.614751 -0.788721 1.0 +284 1 1.72 21.2399998 1.77 8.8500004 -0.47666 0.879088 1.0 +285 1 1.72 24.7800007 0.0 7.0799999 -0.934951 -0.354777 1.0 +286 1 1.72 26.5499993 1.77 7.0799999 -0.999997 -0.00224411 1.0 +287 1 1.72 26.5499993 0.0 8.8500004 -0.163091 0.986611 1.0 +288 1 1.72 24.7800007 1.77 8.8500004 0.499742 -0.866174 1.0 +289 1 1.72 0.0 3.54 7.0799999 0.102264 -0.994757 1.0 +290 1 1.72 1.77 5.31 7.0799999 -0.997159 -0.0753205 1.0 +291 1 1.72 1.77 3.54 8.8500004 0.834543 -0.550943 1.0 +292 1 1.72 0.0 5.31 8.8500004 -0.525364 -0.850878 1.0 +293 1 1.72 3.54 3.54 7.0799999 0.910126 -0.414332 1.0 +294 1 1.72 5.31 5.31 7.0799999 0.781711 -0.623641 1.0 +295 1 1.72 5.31 3.54 8.8500004 -0.794988 -0.606625 1.0 +296 1 1.72 3.54 5.31 8.8500004 -0.998955 -0.0457003 1.0 +297 1 1.72 7.0799999 3.54 7.0799999 0.790132 0.612937 1.0 +298 1 1.72 8.8500004 5.31 7.0799999 0.927007 0.375045 1.0 +299 1 1.72 8.8500004 3.54 8.8500004 0.945531 -0.325532 1.0 +300 1 1.72 7.0799999 5.31 8.8500004 -0.611068 -0.791578 1.0 +301 1 1.72 10.6199999 3.54 7.0799999 0.99999 0.00451469 1.0 +302 1 1.72 12.3900004 5.31 7.0799999 0.696323 -0.717729 1.0 +303 1 1.72 12.3900004 3.54 8.8500004 -0.619662 0.784869 1.0 +304 1 1.72 10.6199999 5.31 8.8500004 0.977704 0.209989 1.0 +305 1 1.72 14.1599999 3.54 7.0799999 -0.432218 -0.901769 1.0 +306 1 1.72 15.9300004 5.31 7.0799999 0.600977 0.799266 1.0 +307 1 1.72 15.9300004 3.54 8.8500004 0.762276 0.647252 1.0 +308 1 1.72 14.1599999 5.31 8.8500004 -0.739078 -0.67362 1.0 +309 1 1.72 17.7000008 3.54 7.0799999 0.914066 0.405565 1.0 +310 1 1.72 19.4699993 5.31 7.0799999 0.606461 -0.795113 1.0 +311 1 1.72 19.4699993 3.54 8.8500004 0.510159 0.86008 1.0 +312 1 1.72 17.7000008 5.31 8.8500004 0.777966 0.628307 1.0 +313 1 1.72 21.2399998 3.54 7.0799999 -0.201447 0.979499 1.0 +314 1 1.72 23.0100002 5.31 7.0799999 0.82692 -0.562319 1.0 +315 1 1.72 23.0100002 3.54 8.8500004 0.944298 0.329091 1.0 +316 1 1.72 21.2399998 5.31 8.8500004 0.98899 -0.147983 1.0 +317 1 1.72 24.7800007 3.54 7.0799999 0.489497 0.872005 1.0 +318 1 1.72 26.5499993 5.31 7.0799999 -0.0413378 0.999145 1.0 +319 1 1.72 26.5499993 3.54 8.8500004 -0.594529 -0.804074 1.0 +320 1 1.72 24.7800007 5.31 8.8500004 0.598738 -0.800945 1.0 +321 1 1.72 0.0 7.0799999 7.0799999 -0.551474 -0.834192 1.0 +322 1 1.72 1.77 8.8500004 7.0799999 -0.553147 0.833084 1.0 +323 1 1.72 1.77 7.0799999 8.8500004 0.708129 0.706083 1.0 +324 1 1.72 0.0 8.8500004 8.8500004 -0.481017 -0.876711 1.0 +325 1 1.72 3.54 7.0799999 7.0799999 0.987287 0.158946 1.0 +326 1 1.72 5.31 8.8500004 7.0799999 -0.97773 0.209868 1.0 +327 1 1.72 5.31 7.0799999 8.8500004 0.0401605 0.999193 1.0 +328 1 1.72 3.54 8.8500004 8.8500004 -0.971042 0.238907 1.0 +329 1 1.72 7.0799999 7.0799999 7.0799999 0.818053 0.575143 1.0 +330 1 1.72 8.8500004 8.8500004 7.0799999 0.898243 -0.439498 1.0 +331 1 1.72 8.8500004 7.0799999 8.8500004 0.928744 0.370721 1.0 +332 1 1.72 7.0799999 8.8500004 8.8500004 0.70865 0.705561 1.0 +333 1 1.72 10.6199999 7.0799999 7.0799999 -0.331938 0.943301 1.0 +334 1 1.72 12.3900004 8.8500004 7.0799999 -0.994363 -0.106031 1.0 +335 1 1.72 12.3900004 7.0799999 8.8500004 -0.717019 -0.697054 1.0 +336 1 1.72 10.6199999 8.8500004 8.8500004 -0.855686 0.517496 1.0 +337 1 1.72 14.1599999 7.0799999 7.0799999 0.758783 0.651344 1.0 +338 1 1.72 15.9300004 8.8500004 7.0799999 -0.377961 -0.925822 1.0 +339 1 1.72 15.9300004 7.0799999 8.8500004 -0.582549 -0.812796 1.0 +340 1 1.72 14.1599999 8.8500004 8.8500004 0.867741 -0.497017 1.0 +341 1 1.72 17.7000008 7.0799999 7.0799999 -0.594553 0.804056 1.0 +342 1 1.72 19.4699993 8.8500004 7.0799999 0.731616 0.681717 1.0 +343 1 1.72 19.4699993 7.0799999 8.8500004 0.988311 0.15245 1.0 +344 1 1.72 17.7000008 8.8500004 8.8500004 -0.424088 -0.905621 1.0 +345 1 1.72 21.2399998 7.0799999 7.0799999 -0.754172 0.656677 1.0 +346 1 1.72 23.0100002 8.8500004 7.0799999 -0.768766 -0.63953 1.0 +347 1 1.72 23.0100002 7.0799999 8.8500004 0.975989 0.217818 1.0 +348 1 1.72 21.2399998 8.8500004 8.8500004 0.58713 -0.809493 1.0 +349 1 1.72 24.7800007 7.0799999 7.0799999 -0.74033 -0.672244 1.0 +350 1 1.72 26.5499993 8.8500004 7.0799999 -0.429923 -0.902866 1.0 +351 1 1.72 26.5499993 7.0799999 8.8500004 -0.381756 0.924263 1.0 +352 1 1.72 24.7800007 8.8500004 8.8500004 0.992192 0.12472 1.0 +353 1 1.72 0.0 10.6199999 7.0799999 0.66691 -0.745138 1.0 +354 1 1.72 1.77 12.3900004 7.0799999 0.704829 0.709377 1.0 +355 1 1.72 1.77 10.6199999 8.8500004 0.413226 -0.910628 1.0 +356 1 1.72 0.0 12.3900004 8.8500004 0.720305 0.693657 1.0 +357 1 1.72 3.54 10.6199999 7.0799999 0.962599 -0.270931 1.0 +358 1 1.72 5.31 12.3900004 7.0799999 -0.547185 -0.837012 1.0 +359 1 1.72 5.31 10.6199999 8.8500004 0.328324 0.944565 1.0 +360 1 1.72 3.54 12.3900004 8.8500004 0.944473 0.32859 1.0 +361 1 1.72 7.0799999 10.6199999 7.0799999 0.54622 -0.837641 1.0 +362 1 1.72 8.8500004 12.3900004 7.0799999 -0.88829 0.459282 1.0 +363 1 1.72 8.8500004 10.6199999 8.8500004 -0.683155 -0.730273 1.0 +364 1 1.72 7.0799999 12.3900004 8.8500004 -0.571408 0.820666 1.0 +365 1 1.72 10.6199999 10.6199999 7.0799999 -0.941323 -0.337506 1.0 +366 1 1.72 12.3900004 12.3900004 7.0799999 -0.748181 0.663494 1.0 +367 1 1.72 12.3900004 10.6199999 8.8500004 -0.995752 0.0920712 1.0 +368 1 1.72 10.6199999 12.3900004 8.8500004 0.621285 -0.783585 1.0 +369 1 1.72 14.1599999 10.6199999 7.0799999 0.153803 -0.988102 1.0 +370 1 1.72 15.9300004 12.3900004 7.0799999 -0.630419 -0.776255 1.0 +371 1 1.72 15.9300004 10.6199999 8.8500004 -0.397134 0.917761 1.0 +372 1 1.72 14.1599999 12.3900004 8.8500004 0.464983 0.885319 1.0 +373 1 1.72 17.7000008 10.6199999 7.0799999 -0.708849 -0.70536 1.0 +374 1 1.72 19.4699993 12.3900004 7.0799999 -0.99481 0.101746 1.0 +375 1 1.72 19.4699993 10.6199999 8.8500004 0.993711 0.111978 1.0 +376 1 1.72 17.7000008 12.3900004 8.8500004 -0.351484 -0.936194 1.0 +377 1 1.72 21.2399998 10.6199999 7.0799999 -0.261889 0.965098 1.0 +378 1 1.72 23.0100002 12.3900004 7.0799999 -0.997563 0.0697777 1.0 +379 1 1.72 23.0100002 10.6199999 8.8500004 0.30784 0.951438 1.0 +380 1 1.72 21.2399998 12.3900004 8.8500004 0.289223 -0.957262 1.0 +381 1 1.72 24.7800007 10.6199999 7.0799999 -0.542298 0.840186 1.0 +382 1 1.72 26.5499993 12.3900004 7.0799999 0.756145 -0.654404 1.0 +383 1 1.72 26.5499993 10.6199999 8.8500004 -0.988561 -0.150824 1.0 +384 1 1.72 24.7800007 12.3900004 8.8500004 -0.582371 -0.812923 1.0 +385 1 1.72 0.0 0.0 10.6199999 0.404392 -0.914586 1.0 +386 1 1.72 1.77 1.77 10.6199999 0.999813 0.0193245 1.0 +387 1 1.72 1.77 0.0 12.3900004 -0.244812 -0.969571 1.0 +388 1 1.72 0.0 1.77 12.3900004 -0.508135 -0.861277 1.0 +389 1 1.72 3.54 0.0 10.6199999 -0.551125 0.834423 1.0 +390 1 1.72 5.31 1.77 10.6199999 -0.592875 -0.805294 1.0 +391 1 1.72 5.31 0.0 12.3900004 -0.981911 -0.189342 1.0 +392 1 1.72 3.54 1.77 12.3900004 -0.7248 0.68896 1.0 +393 1 1.72 7.0799999 0.0 10.6199999 0.712261 -0.701915 1.0 +394 1 1.72 8.8500004 1.77 10.6199999 0.0334894 -0.999439 1.0 +395 1 1.72 8.8500004 0.0 12.3900004 -0.852226 -0.523174 1.0 +396 1 1.72 7.0799999 1.77 12.3900004 0.903065 -0.429504 1.0 +397 1 1.72 10.6199999 0.0 10.6199999 0.552474 0.83353 1.0 +398 1 1.72 12.3900004 1.77 10.6199999 -0.807993 0.589192 1.0 +399 1 1.72 12.3900004 0.0 12.3900004 -0.859304 0.511466 1.0 +400 1 1.72 10.6199999 1.77 12.3900004 -0.99742 0.0717923 1.0 +401 1 1.72 14.1599999 0.0 10.6199999 0.398412 0.917206 1.0 +402 1 1.72 15.9300004 1.77 10.6199999 -0.792645 0.609683 1.0 +403 1 1.72 15.9300004 0.0 12.3900004 -0.969474 0.245195 1.0 +404 1 1.72 14.1599999 1.77 12.3900004 0.0785094 -0.996913 1.0 +405 1 1.72 17.7000008 0.0 10.6199999 -0.957014 0.290042 1.0 +406 1 1.72 19.4699993 1.77 10.6199999 0.763229 0.646129 1.0 +407 1 1.72 19.4699993 0.0 12.3900004 0.910663 -0.41315 1.0 +408 1 1.72 17.7000008 1.77 12.3900004 0.692484 0.721433 1.0 +409 1 1.72 21.2399998 0.0 10.6199999 -0.409511 0.912305 1.0 +410 1 1.72 23.0100002 1.77 10.6199999 -0.826001 -0.563669 1.0 +411 1 1.72 23.0100002 0.0 12.3900004 0.786133 0.618057 1.0 +412 1 1.72 21.2399998 1.77 12.3900004 -0.675514 -0.737347 1.0 +413 1 1.72 24.7800007 0.0 10.6199999 -0.982662 0.185409 1.0 +414 1 1.72 26.5499993 1.77 10.6199999 -0.999375 0.0353595 1.0 +415 1 1.72 26.5499993 0.0 12.3900004 0.902252 -0.431209 1.0 +416 1 1.72 24.7800007 1.77 12.3900004 -0.729489 0.683993 1.0 +417 1 1.72 0.0 3.54 10.6199999 0.303747 -0.952753 1.0 +418 1 1.72 1.77 5.31 10.6199999 0.738541 0.674209 1.0 +419 1 1.72 1.77 3.54 12.3900004 0.75732 0.653044 1.0 +420 1 1.72 0.0 5.31 12.3900004 0.834189 0.551479 1.0 +421 1 1.72 3.54 3.54 10.6199999 0.112428 -0.99366 1.0 +422 1 1.72 5.31 5.31 10.6199999 0.463584 0.886053 1.0 +423 1 1.72 5.31 3.54 12.3900004 -0.88277 -0.469805 1.0 +424 1 1.72 3.54 5.31 12.3900004 0.990582 0.136924 1.0 +425 1 1.72 7.0799999 3.54 10.6199999 -0.997494 0.0707471 1.0 +426 1 1.72 8.8500004 5.31 10.6199999 -0.994347 -0.10618 1.0 +427 1 1.72 8.8500004 3.54 12.3900004 0.983879 -0.178833 1.0 +428 1 1.72 7.0799999 5.31 12.3900004 -0.765746 0.643143 1.0 +429 1 1.72 10.6199999 3.54 10.6199999 0.479961 0.87729 1.0 +430 1 1.72 12.3900004 5.31 10.6199999 0.999532 0.0305924 1.0 +431 1 1.72 12.3900004 3.54 12.3900004 -0.986119 0.166043 1.0 +432 1 1.72 10.6199999 5.31 12.3900004 -0.830056 0.557679 1.0 +433 1 1.72 14.1599999 3.54 10.6199999 -0.979316 0.202335 1.0 +434 1 1.72 15.9300004 5.31 10.6199999 -0.925039 -0.379873 1.0 +435 1 1.72 15.9300004 3.54 12.3900004 0.945128 -0.326699 1.0 +436 1 1.72 14.1599999 5.31 12.3900004 0.651991 -0.758226 1.0 +437 1 1.72 17.7000008 3.54 10.6199999 -0.713337 0.700821 1.0 +438 1 1.72 19.4699993 5.31 10.6199999 0.0787721 0.996893 1.0 +439 1 1.72 19.4699993 3.54 12.3900004 0.826408 -0.563071 1.0 +440 1 1.72 17.7000008 5.31 12.3900004 -0.784047 0.620701 1.0 +441 1 1.72 21.2399998 3.54 10.6199999 -0.929462 -0.368919 1.0 +442 1 1.72 23.0100002 5.31 10.6199999 -0.214422 -0.976741 1.0 +443 1 1.72 23.0100002 3.54 12.3900004 0.837887 0.545844 1.0 +444 1 1.72 21.2399998 5.31 12.3900004 -0.650037 0.759903 1.0 +445 1 1.72 24.7800007 3.54 10.6199999 -0.458438 0.888727 1.0 +446 1 1.72 26.5499993 5.31 10.6199999 -0.804307 0.594214 1.0 +447 1 1.72 26.5499993 3.54 12.3900004 -0.798196 0.602398 1.0 +448 1 1.72 24.7800007 5.31 12.3900004 -0.592531 0.805548 1.0 +449 1 1.72 0.0 7.0799999 10.6199999 -0.659382 -0.751808 1.0 +450 1 1.72 1.77 8.8500004 10.6199999 0.973495 0.228708 1.0 +451 1 1.72 1.77 7.0799999 12.3900004 -0.276222 0.961094 1.0 +452 1 1.72 0.0 8.8500004 12.3900004 -0.610454 -0.792052 1.0 +453 1 1.72 3.54 7.0799999 10.6199999 -0.828213 0.560413 1.0 +454 1 1.72 5.31 8.8500004 10.6199999 0.363999 -0.931399 1.0 +455 1 1.72 5.31 7.0799999 12.3900004 -0.0847977 -0.996398 1.0 +456 1 1.72 3.54 8.8500004 12.3900004 -0.776218 -0.630465 1.0 +457 1 1.72 7.0799999 7.0799999 10.6199999 -0.702644 -0.711542 1.0 +458 1 1.72 8.8500004 8.8500004 10.6199999 0.716438 0.697651 1.0 +459 1 1.72 8.8500004 7.0799999 12.3900004 0.996411 -0.0846418 1.0 +460 1 1.72 7.0799999 8.8500004 12.3900004 0.822835 -0.56828 1.0 +461 1 1.72 10.6199999 7.0799999 10.6199999 -0.965659 0.259811 1.0 +462 1 1.72 12.3900004 8.8500004 10.6199999 0.483405 0.875397 1.0 +463 1 1.72 12.3900004 7.0799999 12.3900004 -0.483154 -0.875535 1.0 +464 1 1.72 10.6199999 8.8500004 12.3900004 0.648037 -0.761609 1.0 +465 1 1.72 14.1599999 7.0799999 10.6199999 -0.643312 -0.765604 1.0 +466 1 1.72 15.9300004 8.8500004 10.6199999 -0.0657458 -0.997836 1.0 +467 1 1.72 15.9300004 7.0799999 12.3900004 -0.00930552 -0.999957 1.0 +468 1 1.72 14.1599999 8.8500004 12.3900004 -0.0575205 -0.998344 1.0 +469 1 1.72 17.7000008 7.0799999 10.6199999 -0.680492 -0.732755 1.0 +470 1 1.72 19.4699993 8.8500004 10.6199999 0.808247 0.588844 1.0 +471 1 1.72 19.4699993 7.0799999 12.3900004 -0.401213 -0.915985 1.0 +472 1 1.72 17.7000008 8.8500004 12.3900004 -0.65603 -0.754735 1.0 +473 1 1.72 21.2399998 7.0799999 10.6199999 -0.780723 0.624877 1.0 +474 1 1.72 23.0100002 8.8500004 10.6199999 -0.62541 0.780297 1.0 +475 1 1.72 23.0100002 7.0799999 12.3900004 -0.52568 -0.850682 1.0 +476 1 1.72 21.2399998 8.8500004 12.3900004 0.32631 0.945263 1.0 +477 1 1.72 24.7800007 7.0799999 10.6199999 -0.889809 -0.456334 1.0 +478 1 1.72 26.5499993 8.8500004 10.6199999 -0.98862 -0.150436 1.0 +479 1 1.72 26.5499993 7.0799999 12.3900004 -0.886254 -0.4632 1.0 +480 1 1.72 24.7800007 8.8500004 12.3900004 0.573106 -0.819481 1.0 +481 1 1.72 0.0 10.6199999 10.6199999 -0.898685 0.438594 1.0 +482 1 1.72 1.77 12.3900004 10.6199999 -0.754171 -0.656678 1.0 +483 1 1.72 1.77 10.6199999 12.3900004 -0.108771 -0.994067 1.0 +484 1 1.72 0.0 12.3900004 12.3900004 0.483072 -0.87558 1.0 +485 1 1.72 3.54 10.6199999 10.6199999 -0.470916 0.882178 1.0 +486 1 1.72 5.31 12.3900004 10.6199999 0.3288 0.944399 1.0 +487 1 1.72 5.31 10.6199999 12.3900004 0.980535 -0.196343 1.0 +488 1 1.72 3.54 12.3900004 12.3900004 0.577396 -0.816465 1.0 +489 1 1.72 7.0799999 10.6199999 10.6199999 -0.194592 -0.980884 1.0 +490 1 1.72 8.8500004 12.3900004 10.6199999 -0.761101 0.648633 1.0 +491 1 1.72 8.8500004 10.6199999 12.3900004 0.999933 0.0116022 1.0 +492 1 1.72 7.0799999 12.3900004 12.3900004 0.826207 -0.563367 1.0 +493 1 1.72 10.6199999 10.6199999 10.6199999 -0.759279 -0.650766 1.0 +494 1 1.72 12.3900004 12.3900004 10.6199999 -0.951485 0.307694 1.0 +495 1 1.72 12.3900004 10.6199999 12.3900004 0.537545 -0.843235 1.0 +496 1 1.72 10.6199999 12.3900004 12.3900004 0.670975 -0.74148 1.0 +497 1 1.72 14.1599999 10.6199999 10.6199999 -0.649814 0.760094 1.0 +498 1 1.72 15.9300004 12.3900004 10.6199999 -0.139657 0.9902 1.0 +499 1 1.72 15.9300004 10.6199999 12.3900004 -0.705484 0.708726 1.0 +500 1 1.72 14.1599999 12.3900004 12.3900004 0.695702 0.71833 1.0 +501 1 1.72 17.7000008 10.6199999 10.6199999 -0.798012 0.602641 1.0 +502 1 1.72 19.4699993 12.3900004 10.6199999 0.57107 0.820901 1.0 +503 1 1.72 19.4699993 10.6199999 12.3900004 0.625346 0.780348 1.0 +504 1 1.72 17.7000008 12.3900004 12.3900004 -0.506475 0.862255 1.0 +505 1 1.72 21.2399998 10.6199999 10.6199999 0.610099 0.792325 1.0 +506 1 1.72 23.0100002 12.3900004 10.6199999 -0.415721 0.909492 1.0 +507 1 1.72 23.0100002 10.6199999 12.3900004 0.414542 0.91003 1.0 +508 1 1.72 21.2399998 12.3900004 12.3900004 -0.660349 0.750959 1.0 +509 1 1.72 24.7800007 10.6199999 10.6199999 0.833053 -0.553193 1.0 +510 1 1.72 26.5499993 12.3900004 10.6199999 0.918812 -0.394696 1.0 +511 1 1.72 26.5499993 10.6199999 12.3900004 -0.256096 -0.966651 1.0 +512 1 1.72 24.7800007 12.3900004 12.3900004 0.752464 0.658633 1.0 +513 1 1.72 0.0 0.0 14.1599999 0.577516 -0.816379 1.0 +514 1 1.72 1.77 1.77 14.1599999 -0.999996 -0.00266219 1.0 +515 1 1.72 1.77 0.0 15.9300004 0.811843 -0.583876 1.0 +516 1 1.72 0.0 1.77 15.9300004 -0.149952 -0.988693 1.0 +517 1 1.72 3.54 0.0 14.1599999 0.638472 -0.769645 1.0 +518 1 1.72 5.31 1.77 14.1599999 -0.994748 -0.102359 1.0 +519 1 1.72 5.31 0.0 15.9300004 -0.0392264 0.99923 1.0 +520 1 1.72 3.54 1.77 15.9300004 -0.685371 -0.728194 1.0 +521 1 1.72 7.0799999 0.0 14.1599999 -0.205907 0.978571 1.0 +522 1 1.72 8.8500004 1.77 14.1599999 0.582424 0.812885 1.0 +523 1 1.72 8.8500004 0.0 15.9300004 0.998156 -0.0606938 1.0 +524 1 1.72 7.0799999 1.77 15.9300004 0.55724 0.830351 1.0 +525 1 1.72 10.6199999 0.0 14.1599999 0.228395 -0.973568 1.0 +526 1 1.72 12.3900004 1.77 14.1599999 0.854116 0.520082 1.0 +527 1 1.72 12.3900004 0.0 15.9300004 -0.0945964 -0.995516 1.0 +528 1 1.72 10.6199999 1.77 15.9300004 -0.00654227 -0.999979 1.0 +529 1 1.72 14.1599999 0.0 14.1599999 0.642898 0.765952 1.0 +530 1 1.72 15.9300004 1.77 14.1599999 0.100141 0.994973 1.0 +531 1 1.72 15.9300004 0.0 15.9300004 0.958559 -0.284893 1.0 +532 1 1.72 14.1599999 1.77 15.9300004 -0.75207 -0.659083 1.0 +533 1 1.72 17.7000008 0.0 14.1599999 0.792445 -0.609944 1.0 +534 1 1.72 19.4699993 1.77 14.1599999 -0.894124 0.44782 1.0 +535 1 1.72 19.4699993 0.0 15.9300004 -0.741383 -0.671082 1.0 +536 1 1.72 17.7000008 1.77 15.9300004 0.882391 0.470517 1.0 +537 1 1.72 21.2399998 0.0 14.1599999 -0.59951 -0.800367 1.0 +538 1 1.72 23.0100002 1.77 14.1599999 0.812925 -0.582369 1.0 +539 1 1.72 23.0100002 0.0 15.9300004 0.805488 -0.592611 1.0 +540 1 1.72 21.2399998 1.77 15.9300004 -0.75137 0.659881 1.0 +541 1 1.72 24.7800007 0.0 14.1599999 0.584369 0.811488 1.0 +542 1 1.72 26.5499993 1.77 14.1599999 -0.366709 -0.930336 1.0 +543 1 1.72 26.5499993 0.0 15.9300004 0.748708 -0.662899 1.0 +544 1 1.72 24.7800007 1.77 15.9300004 0.283724 -0.958906 1.0 +545 1 1.72 0.0 3.54 14.1599999 -0.99916 0.040976 1.0 +546 1 1.72 1.77 5.31 14.1599999 0.97473 0.223387 1.0 +547 1 1.72 1.77 3.54 15.9300004 0.018563 -0.999828 1.0 +548 1 1.72 0.0 5.31 15.9300004 -0.746433 -0.66546 1.0 +549 1 1.72 3.54 3.54 14.1599999 -0.0105 0.999945 1.0 +550 1 1.72 5.31 5.31 14.1599999 -0.548949 -0.835856 1.0 +551 1 1.72 5.31 3.54 15.9300004 0.985121 0.171862 1.0 +552 1 1.72 3.54 5.31 15.9300004 -0.896854 -0.442327 1.0 +553 1 1.72 7.0799999 3.54 14.1599999 0.815102 0.579317 1.0 +554 1 1.72 8.8500004 5.31 14.1599999 0.998726 0.0504555 1.0 +555 1 1.72 8.8500004 3.54 15.9300004 0.783675 -0.621171 1.0 +556 1 1.72 7.0799999 5.31 15.9300004 -0.898328 -0.439325 1.0 +557 1 1.72 10.6199999 3.54 14.1599999 -0.929821 0.368013 1.0 +558 1 1.72 12.3900004 5.31 14.1599999 0.0106968 0.999943 1.0 +559 1 1.72 12.3900004 3.54 15.9300004 -0.982996 -0.183627 1.0 +560 1 1.72 10.6199999 5.31 15.9300004 -0.550487 -0.834844 1.0 +561 1 1.72 14.1599999 3.54 14.1599999 -0.999376 -0.035334 1.0 +562 1 1.72 15.9300004 5.31 14.1599999 0.0629378 0.998017 1.0 +563 1 1.72 15.9300004 3.54 15.9300004 0.541771 -0.840526 1.0 +564 1 1.72 14.1599999 5.31 15.9300004 0.874048 0.485839 1.0 +565 1 1.72 17.7000008 3.54 14.1599999 -0.0736634 -0.997283 1.0 +566 1 1.72 19.4699993 5.31 14.1599999 -0.969266 0.246013 1.0 +567 1 1.72 19.4699993 3.54 15.9300004 0.428897 0.903353 1.0 +568 1 1.72 17.7000008 5.31 15.9300004 0.777582 0.628782 1.0 +569 1 1.72 21.2399998 3.54 14.1599999 0.997118 0.0758605 1.0 +570 1 1.72 23.0100002 5.31 14.1599999 0.972769 -0.231775 1.0 +571 1 1.72 23.0100002 3.54 15.9300004 0.0895746 0.99598 1.0 +572 1 1.72 21.2399998 5.31 15.9300004 -0.525761 0.850632 1.0 +573 1 1.72 24.7800007 3.54 14.1599999 -0.769889 -0.638178 1.0 +574 1 1.72 26.5499993 5.31 14.1599999 -0.542466 -0.840078 1.0 +575 1 1.72 26.5499993 3.54 15.9300004 0.899395 0.437136 1.0 +576 1 1.72 24.7800007 5.31 15.9300004 0.621037 0.783781 1.0 +577 1 1.72 0.0 7.0799999 14.1599999 -0.756559 0.653926 1.0 +578 1 1.72 1.77 8.8500004 14.1599999 0.230034 0.973183 1.0 +579 1 1.72 1.77 7.0799999 15.9300004 -0.50628 0.862369 1.0 +580 1 1.72 0.0 8.8500004 15.9300004 -0.955483 -0.295047 1.0 +581 1 1.72 3.54 7.0799999 14.1599999 0.759353 -0.650679 1.0 +582 1 1.72 5.31 8.8500004 14.1599999 0.296103 -0.955156 1.0 +583 1 1.72 5.31 7.0799999 15.9300004 0.853379 0.521291 1.0 +584 1 1.72 3.54 8.8500004 15.9300004 -0.977399 0.211405 1.0 +585 1 1.72 7.0799999 7.0799999 14.1599999 0.24839 -0.96866 1.0 +586 1 1.72 8.8500004 8.8500004 14.1599999 -0.9973 -0.073433 1.0 +587 1 1.72 8.8500004 7.0799999 15.9300004 -0.985566 0.169292 1.0 +588 1 1.72 7.0799999 8.8500004 15.9300004 0.450754 0.892648 1.0 +589 1 1.72 10.6199999 7.0799999 14.1599999 0.523179 -0.852223 1.0 +590 1 1.72 12.3900004 8.8500004 14.1599999 0.3374 -0.941361 1.0 +591 1 1.72 12.3900004 7.0799999 15.9300004 0.998074 0.0620424 1.0 +592 1 1.72 10.6199999 8.8500004 15.9300004 -0.796879 0.604139 1.0 +593 1 1.72 14.1599999 7.0799999 14.1599999 0.226672 0.973971 1.0 +594 1 1.72 15.9300004 8.8500004 14.1599999 0.458772 0.888554 1.0 +595 1 1.72 15.9300004 7.0799999 15.9300004 -0.740495 0.672061 1.0 +596 1 1.72 14.1599999 8.8500004 15.9300004 0.243067 0.97001 1.0 +597 1 1.72 17.7000008 7.0799999 14.1599999 -0.767642 0.640879 1.0 +598 1 1.72 19.4699993 8.8500004 14.1599999 -0.970625 0.240597 1.0 +599 1 1.72 19.4699993 7.0799999 15.9300004 -0.88939 -0.457149 1.0 +600 1 1.72 17.7000008 8.8500004 15.9300004 0.193741 0.981053 1.0 +601 1 1.72 21.2399998 7.0799999 14.1599999 -0.686505 -0.727125 1.0 +602 1 1.72 23.0100002 8.8500004 14.1599999 0.254937 -0.966958 1.0 +603 1 1.72 23.0100002 7.0799999 15.9300004 0.19349 -0.981102 1.0 +604 1 1.72 21.2399998 8.8500004 15.9300004 -0.716268 -0.697825 1.0 +605 1 1.72 24.7800007 7.0799999 14.1599999 -0.547101 -0.837067 1.0 +606 1 1.72 26.5499993 8.8500004 14.1599999 -0.276222 0.961094 1.0 +607 1 1.72 26.5499993 7.0799999 15.9300004 0.410062 -0.912058 1.0 +608 1 1.72 24.7800007 8.8500004 15.9300004 0.293731 -0.955888 1.0 +609 1 1.72 0.0 10.6199999 14.1599999 -0.995353 0.0962937 1.0 +610 1 1.72 1.77 12.3900004 14.1599999 -0.931708 -0.363208 1.0 +611 1 1.72 1.77 10.6199999 15.9300004 0.920046 -0.391811 1.0 +612 1 1.72 0.0 12.3900004 15.9300004 -0.474527 0.880241 1.0 +613 1 1.72 3.54 10.6199999 14.1599999 -0.989086 -0.147339 1.0 +614 1 1.72 5.31 12.3900004 14.1599999 0.859457 -0.511209 1.0 +615 1 1.72 5.31 10.6199999 15.9300004 -0.984097 -0.177634 1.0 +616 1 1.72 3.54 12.3900004 15.9300004 -0.961264 -0.27563 1.0 +617 1 1.72 7.0799999 10.6199999 14.1599999 0.421894 -0.906645 1.0 +618 1 1.72 8.8500004 12.3900004 14.1599999 0.91236 0.409388 1.0 +619 1 1.72 8.8500004 10.6199999 15.9300004 0.539899 0.84173 1.0 +620 1 1.72 7.0799999 12.3900004 15.9300004 -0.877639 0.479323 1.0 +621 1 1.72 10.6199999 10.6199999 14.1599999 -0.489545 0.871978 1.0 +622 1 1.72 12.3900004 12.3900004 14.1599999 0.718957 0.695055 1.0 +623 1 1.72 12.3900004 10.6199999 15.9300004 0.0914719 0.995808 1.0 +624 1 1.72 10.6199999 12.3900004 15.9300004 0.759918 0.650018 1.0 +625 1 1.72 14.1599999 10.6199999 14.1599999 -0.979663 -0.200652 1.0 +626 1 1.72 15.9300004 12.3900004 14.1599999 -0.93367 -0.358135 1.0 +627 1 1.72 15.9300004 10.6199999 15.9300004 -0.246645 0.969106 1.0 +628 1 1.72 14.1599999 12.3900004 15.9300004 -0.436973 0.899475 1.0 +629 1 1.72 17.7000008 10.6199999 14.1599999 -0.675249 0.73759 1.0 +630 1 1.72 19.4699993 12.3900004 14.1599999 -0.938855 0.344313 1.0 +631 1 1.72 19.4699993 10.6199999 15.9300004 -0.478583 -0.878043 1.0 +632 1 1.72 17.7000008 12.3900004 15.9300004 -0.857655 -0.514226 1.0 +633 1 1.72 21.2399998 10.6199999 14.1599999 -0.025165 0.999683 1.0 +634 1 1.72 23.0100002 12.3900004 14.1599999 0.657932 0.753077 1.0 +635 1 1.72 23.0100002 10.6199999 15.9300004 -0.689295 -0.724481 1.0 +636 1 1.72 21.2399998 12.3900004 15.9300004 -0.70829 -0.705921 1.0 +637 1 1.72 24.7800007 10.6199999 14.1599999 0.386134 0.922443 1.0 +638 1 1.72 26.5499993 12.3900004 14.1599999 0.939595 0.342289 1.0 +639 1 1.72 26.5499993 10.6199999 15.9300004 0.980533 -0.196357 1.0 +640 1 1.72 24.7800007 12.3900004 15.9300004 -0.395091 0.918642 1.0 +641 1 1.72 0.0 0.0 17.7000008 -0.649291 0.76054 1.0 +642 1 1.72 1.77 1.77 17.7000008 0.6262 0.779663 1.0 +643 1 1.72 1.77 0.0 19.4699993 0.649624 -0.760255 0.9998646 +644 1 1.72 0.0 1.77 19.4699993 0.633562 -0.773692 0.9998646 +645 1 1.72 3.54 0.0 17.7000008 0.26381 -0.964575 1.0 +646 1 1.72 5.31 1.77 17.7000008 -0.945994 -0.324186 1.0 +647 1 1.72 5.31 0.0 19.4699993 0.840465 -0.541865 0.9998646 +648 1 1.72 3.54 1.77 19.4699993 0.799674 0.600434 0.9998646 +649 1 1.72 7.0799999 0.0 17.7000008 0.416068 -0.909333 1.0 +650 1 1.72 8.8500004 1.77 17.7000008 0.95484 -0.29712 1.0 +651 1 1.72 8.8500004 0.0 19.4699993 0.843771 -0.536704 0.9998646 +652 1 1.72 7.0799999 1.77 19.4699993 0.630704 0.776024 0.9998646 +653 1 1.72 10.6199999 0.0 17.7000008 0.0685999 -0.997644 1.0 +654 1 1.72 12.3900004 1.77 17.7000008 -0.968052 -0.250748 1.0 +655 1 1.72 12.3900004 0.0 19.4699993 0.839071 0.544022 0.9998646 +656 1 1.72 10.6199999 1.77 19.4699993 0.718287 0.695747 0.9998646 +657 1 1.72 14.1599999 0.0 17.7000008 -0.541847 -0.840477 1.0 +658 1 1.72 15.9300004 1.77 17.7000008 0.738413 -0.674349 1.0 +659 1 1.72 15.9300004 0.0 19.4699993 0.854732 0.519069 0.9998646 +660 1 1.72 14.1599999 1.77 19.4699993 0.990459 0.137811 0.9998646 +661 1 1.72 17.7000008 0.0 17.7000008 0.828544 -0.559923 1.0 +662 1 1.72 19.4699993 1.77 17.7000008 0.294067 0.955785 1.0 +663 1 1.72 19.4699993 0.0 19.4699993 -0.987992 0.154505 0.9998646 +664 1 1.72 17.7000008 1.77 19.4699993 0.505928 0.862576 0.9998646 +665 1 1.72 21.2399998 0.0 17.7000008 -0.163448 0.986552 1.0 +666 1 1.72 23.0100002 1.77 17.7000008 0.371311 0.928508 1.0 +667 1 1.72 23.0100002 0.0 19.4699993 0.672938 0.739699 0.9998646 +668 1 1.72 21.2399998 1.77 19.4699993 0.888728 0.458435 0.9998646 +669 1 1.72 24.7800007 0.0 17.7000008 -0.230283 -0.973124 1.0 +670 1 1.72 26.5499993 1.77 17.7000008 0.968419 0.249328 1.0 +671 1 1.72 26.5499993 0.0 19.4699993 0.624273 0.781206 0.9998646 +672 1 1.72 24.7800007 1.77 19.4699993 0.906636 0.421914 0.9998646 +673 1 1.72 0.0 3.54 17.7000008 0.97242 -0.233235 1.0 +674 1 1.72 1.77 5.31 17.7000008 0.79574 -0.605638 1.0 +675 1 1.72 1.77 3.54 19.4699993 0.595273 0.803524 0.9998646 +676 1 1.72 0.0 5.31 19.4699993 0.834715 0.550682 0.9998646 +677 1 1.72 3.54 3.54 17.7000008 -0.992726 0.120397 1.0 +678 1 1.72 5.31 5.31 17.7000008 -0.609395 -0.792867 1.0 +679 1 1.72 5.31 3.54 19.4699993 0.464717 0.88546 0.9998646 +680 1 1.72 3.54 5.31 19.4699993 -0.114432 0.993431 0.9998646 +681 1 1.72 7.0799999 3.54 17.7000008 -0.98994 0.14149 1.0 +682 1 1.72 8.8500004 5.31 17.7000008 0.919244 0.393687 1.0 +683 1 1.72 8.8500004 3.54 19.4699993 0.999674 0.0255475 0.9998646 +684 1 1.72 7.0799999 5.31 19.4699993 -0.21344 0.976956 0.9998646 +685 1 1.72 10.6199999 3.54 17.7000008 -0.999952 0.00977716 1.0 +686 1 1.72 12.3900004 5.31 17.7000008 0.996262 -0.086387 1.0 +687 1 1.72 12.3900004 3.54 19.4699993 0.966569 -0.256407 0.9998646 +688 1 1.72 10.6199999 5.31 19.4699993 0.485168 0.874421 0.9998646 +689 1 1.72 14.1599999 3.54 17.7000008 0.433473 -0.901167 1.0 +690 1 1.72 15.9300004 5.31 17.7000008 -0.0585383 -0.998285 1.0 +691 1 1.72 15.9300004 3.54 19.4699993 -0.952405 0.304834 0.9998646 +692 1 1.72 14.1599999 5.31 19.4699993 0.280455 -0.959867 0.9998646 +693 1 1.72 17.7000008 3.54 17.7000008 0.705602 -0.708608 1.0 +694 1 1.72 19.4699993 5.31 17.7000008 0.430048 -0.902806 1.0 +695 1 1.72 19.4699993 3.54 19.4699993 -0.517636 -0.855601 0.9998646 +696 1 1.72 17.7000008 5.31 19.4699993 -0.719942 -0.694034 0.9998646 +697 1 1.72 21.2399998 3.54 17.7000008 -0.998576 -0.0533536 1.0 +698 1 1.72 23.0100002 5.31 17.7000008 -0.11021 -0.993908 1.0 +699 1 1.72 23.0100002 3.54 19.4699993 -0.194662 0.98087 0.9998646 +700 1 1.72 21.2399998 5.31 19.4699993 -0.99118 -0.132522 0.9998646 +701 1 1.72 24.7800007 3.54 17.7000008 0.839133 -0.543926 1.0 +702 1 1.72 26.5499993 5.31 17.7000008 0.876389 0.481604 1.0 +703 1 1.72 26.5499993 3.54 19.4699993 -0.819654 0.572859 0.9998646 +704 1 1.72 24.7800007 5.31 19.4699993 0.941343 0.33745 0.9998646 +705 1 1.72 0.0 7.0799999 17.7000008 -0.999503 -0.0315095 1.0 +706 1 1.72 1.77 8.8500004 17.7000008 0.189536 -0.981874 1.0 +707 1 1.72 1.77 7.0799999 19.4699993 -0.76288 0.64654 0.9998646 +708 1 1.72 0.0 8.8500004 19.4699993 -0.686205 -0.727408 0.9998646 +709 1 1.72 3.54 7.0799999 17.7000008 -0.748482 -0.663155 1.0 +710 1 1.72 5.31 8.8500004 17.7000008 0.984411 -0.175883 1.0 +711 1 1.72 5.31 7.0799999 19.4699993 -0.209096 0.977895 0.9998646 +712 1 1.72 3.54 8.8500004 19.4699993 -0.70608 0.708132 0.9998646 +713 1 1.72 7.0799999 7.0799999 17.7000008 0.610046 -0.792366 1.0 +714 1 1.72 8.8500004 8.8500004 17.7000008 0.302697 0.953087 1.0 +715 1 1.72 8.8500004 7.0799999 19.4699993 -0.925661 -0.378354 0.9998646 +716 1 1.72 7.0799999 8.8500004 19.4699993 0.434384 0.900728 0.9998646 +717 1 1.72 10.6199999 7.0799999 17.7000008 -0.266488 0.963838 1.0 +718 1 1.72 12.3900004 8.8500004 17.7000008 0.585459 0.810702 1.0 +719 1 1.72 12.3900004 7.0799999 19.4699993 0.927476 0.373882 0.9998646 +720 1 1.72 10.6199999 8.8500004 19.4699993 -0.669437 -0.742869 0.9998646 +721 1 1.72 14.1599999 7.0799999 17.7000008 -0.997101 -0.0760901 1.0 +722 1 1.72 15.9300004 8.8500004 17.7000008 0.989658 -0.14345 1.0 +723 1 1.72 15.9300004 7.0799999 19.4699993 0.778594 0.627528 0.9998646 +724 1 1.72 14.1599999 8.8500004 19.4699993 -0.22457 0.974458 0.9998646 +725 1 1.72 17.7000008 7.0799999 17.7000008 -0.156585 -0.987665 1.0 +726 1 1.72 19.4699993 8.8500004 17.7000008 -0.854416 -0.51959 1.0 +727 1 1.72 19.4699993 7.0799999 19.4699993 0.997808 0.0661742 0.9998646 +728 1 1.72 17.7000008 8.8500004 19.4699993 0.715446 0.698668 0.9998646 +729 1 1.72 21.2399998 7.0799999 17.7000008 -0.707334 -0.70688 1.0 +730 1 1.72 23.0100002 8.8500004 17.7000008 -0.903622 0.428331 1.0 +731 1 1.72 23.0100002 7.0799999 19.4699993 0.701709 0.712464 0.9998646 +732 1 1.72 21.2399998 8.8500004 19.4699993 -0.987517 -0.157512 0.9998646 +733 1 1.72 24.7800007 7.0799999 17.7000008 0.964971 -0.262358 1.0 +734 1 1.72 26.5499993 8.8500004 17.7000008 0.838483 0.544928 1.0 +735 1 1.72 26.5499993 7.0799999 19.4699993 -0.774738 -0.632282 0.9998646 +736 1 1.72 24.7800007 8.8500004 19.4699993 0.776407 0.630231 0.9998646 +737 1 1.72 0.0 10.6199999 17.7000008 -0.0536292 -0.998561 1.0 +738 1 1.72 1.77 12.3900004 17.7000008 -0.99466 -0.103203 1.0 +739 1 1.72 1.77 10.6199999 19.4699993 -0.999913 -0.0132194 0.9998646 +740 1 1.72 0.0 12.3900004 19.4699993 -0.250807 -0.968037 0.9998646 +741 1 1.72 3.54 10.6199999 17.7000008 -0.0160209 0.999872 1.0 +742 1 1.72 5.31 12.3900004 17.7000008 0.718184 0.695853 1.0 +743 1 1.72 5.31 10.6199999 19.4699993 -0.240599 -0.970625 0.9998646 +744 1 1.72 3.54 12.3900004 19.4699993 -0.300064 -0.953919 0.9998646 +745 1 1.72 7.0799999 10.6199999 17.7000008 -0.877773 0.479078 1.0 +746 1 1.72 8.8500004 12.3900004 17.7000008 -0.1371 -0.990557 1.0 +747 1 1.72 8.8500004 10.6199999 19.4699993 -0.115696 -0.993285 0.9998646 +748 1 1.72 7.0799999 12.3900004 19.4699993 -0.787969 0.615715 0.9998646 +749 1 1.72 10.6199999 10.6199999 17.7000008 0.148893 0.988853 1.0 +750 1 1.72 12.3900004 12.3900004 17.7000008 -0.143264 0.989684 1.0 +751 1 1.72 12.3900004 10.6199999 19.4699993 0.811041 -0.58499 0.9998646 +752 1 1.72 10.6199999 12.3900004 19.4699993 -0.917257 -0.398296 0.9998646 +753 1 1.72 14.1599999 10.6199999 17.7000008 -0.787241 0.616645 1.0 +754 1 1.72 15.9300004 12.3900004 17.7000008 -0.838141 0.545453 1.0 +755 1 1.72 15.9300004 10.6199999 19.4699993 0.906191 -0.422869 0.9998646 +756 1 1.72 14.1599999 12.3900004 19.4699993 0.249532 0.968367 0.9998646 +757 1 1.72 17.7000008 10.6199999 17.7000008 0.551173 0.834391 1.0 +758 1 1.72 19.4699993 12.3900004 17.7000008 -0.645456 -0.763797 1.0 +759 1 1.72 19.4699993 10.6199999 19.4699993 0.202136 0.979357 0.9998646 +760 1 1.72 17.7000008 12.3900004 19.4699993 0.0454656 -0.998966 0.9998646 +761 1 1.72 21.2399998 10.6199999 17.7000008 -0.704645 0.70956 1.0 +762 1 1.72 23.0100002 12.3900004 17.7000008 -0.792466 -0.609916 1.0 +763 1 1.72 23.0100002 10.6199999 19.4699993 -0.934747 0.355314 0.9998646 +764 1 1.72 21.2399998 12.3900004 19.4699993 0.0804098 -0.996762 0.9998646 +765 1 1.72 24.7800007 10.6199999 17.7000008 -0.59014 0.807301 1.0 +766 1 1.72 26.5499993 12.3900004 17.7000008 -0.270974 0.962587 1.0 +767 1 1.72 26.5499993 10.6199999 19.4699993 0.456174 -0.88989 0.9998646 +768 1 1.72 24.7800007 12.3900004 19.4699993 0.997828 -0.0658689 0.9998646 +769 1 1.72 0.0 0.0 21.2399998 0.684296 -0.729204 0.9508352 +770 1 1.72 1.77 1.77 21.2399998 -0.985677 -0.168646 0.9508352 +771 1 1.72 1.77 0.0 23.0100002 -0.993099 -0.117279 0.8177586 +772 1 1.72 0.0 1.77 23.0100002 0.704231 -0.709971 0.8177586 +773 1 1.72 3.54 0.0 21.2399998 -0.617428 -0.786628 0.9508352 +774 1 1.72 5.31 1.77 21.2399998 0.705977 -0.708235 0.9508352 +775 1 1.72 5.31 0.0 23.0100002 -0.674045 -0.73869 0.8177586 +776 1 1.72 3.54 1.77 23.0100002 0.348379 -0.937354 0.8177586 +777 1 1.72 7.0799999 0.0 21.2399998 -0.710642 0.703554 0.9508352 +778 1 1.72 8.8500004 1.77 21.2399998 0.211593 -0.977358 0.9508352 +779 1 1.72 8.8500004 0.0 23.0100002 -0.969078 0.246755 0.8177586 +780 1 1.72 7.0799999 1.77 23.0100002 0.786616 0.617443 0.8177586 +781 1 1.72 10.6199999 0.0 21.2399998 0.874212 0.485545 0.9508352 +782 1 1.72 12.3900004 1.77 21.2399998 -0.944995 -0.327084 0.9508352 +783 1 1.72 12.3900004 0.0 23.0100002 -0.104694 0.994505 0.8177586 +784 1 1.72 10.6199999 1.77 23.0100002 -0.978587 -0.205834 0.8177586 +785 1 1.72 14.1599999 0.0 21.2399998 0.746527 -0.665355 0.9508352 +786 1 1.72 15.9300004 1.77 21.2399998 -0.866055 0.499948 0.9508352 +787 1 1.72 15.9300004 0.0 23.0100002 -0.932418 0.361382 0.8177586 +788 1 1.72 14.1599999 1.77 23.0100002 0.487089 -0.873352 0.8177586 +789 1 1.72 17.7000008 0.0 21.2399998 0.728185 -0.68538 0.9508352 +790 1 1.72 19.4699993 1.77 21.2399998 -0.369243 0.929333 0.9508352 +791 1 1.72 19.4699993 0.0 23.0100002 0.0523098 -0.998631 0.8177586 +792 1 1.72 17.7000008 1.77 23.0100002 0.968768 -0.247968 0.8177586 +793 1 1.72 21.2399998 0.0 21.2399998 0.505164 0.863023 0.9508352 +794 1 1.72 23.0100002 1.77 21.2399998 -0.0908917 0.995861 0.9508352 +795 1 1.72 23.0100002 0.0 23.0100002 -0.764519 -0.644601 0.8177586 +796 1 1.72 21.2399998 1.77 23.0100002 0.689667 -0.724127 0.8177586 +797 1 1.72 24.7800007 0.0 21.2399998 -0.255054 -0.966927 0.9508352 +798 1 1.72 26.5499993 1.77 21.2399998 0.339168 0.940726 0.9508352 +799 1 1.72 26.5499993 0.0 23.0100002 -0.947398 -0.320057 0.8177586 +800 1 1.72 24.7800007 1.77 23.0100002 -0.979061 -0.203569 0.8177586 +801 1 1.72 0.0 3.54 21.2399998 -0.197261 -0.980351 0.9508352 +802 1 1.72 1.77 5.31 21.2399998 -0.789979 0.613134 0.9508352 +803 1 1.72 1.77 3.54 23.0100002 0.599255 0.800558 0.8177586 +804 1 1.72 0.0 5.31 23.0100002 -0.74028 0.672298 0.8177586 +805 1 1.72 3.54 3.54 21.2399998 0.133396 0.991063 0.9508352 +806 1 1.72 5.31 5.31 21.2399998 -0.965656 0.259824 0.9508352 +807 1 1.72 5.31 3.54 23.0100002 0.612745 -0.79028 0.8177586 +808 1 1.72 3.54 5.31 23.0100002 0.575303 0.81794 0.8177586 +809 1 1.72 7.0799999 3.54 21.2399998 0.16557 0.986198 0.9508352 +810 1 1.72 8.8500004 5.31 21.2399998 0.897607 -0.440797 0.9508352 +811 1 1.72 8.8500004 3.54 23.0100002 -0.197114 -0.980381 0.8177586 +812 1 1.72 7.0799999 5.31 23.0100002 0.880864 -0.47337 0.8177586 +813 1 1.72 10.6199999 3.54 21.2399998 0.994345 0.106197 0.9508352 +814 1 1.72 12.3900004 5.31 21.2399998 0.1692 0.985582 0.9508352 +815 1 1.72 12.3900004 3.54 23.0100002 -0.826145 0.563457 0.8177586 +816 1 1.72 10.6199999 5.31 23.0100002 -0.776376 -0.63027 0.8177586 +817 1 1.72 14.1599999 3.54 21.2399998 -0.368101 0.929786 0.9508352 +818 1 1.72 15.9300004 5.31 21.2399998 0.276033 0.961148 0.9508352 +819 1 1.72 15.9300004 3.54 23.0100002 0.806126 -0.591744 0.8177586 +820 1 1.72 14.1599999 5.31 23.0100002 0.717641 0.696414 0.8177586 +821 1 1.72 17.7000008 3.54 21.2399998 -0.649302 -0.760531 0.9508352 +822 1 1.72 19.4699993 5.31 21.2399998 0.502998 -0.864288 0.9508352 +823 1 1.72 19.4699993 3.54 23.0100002 0.733791 0.679375 0.8177586 +824 1 1.72 17.7000008 5.31 23.0100002 -0.962336 -0.271864 0.8177586 +825 1 1.72 21.2399998 3.54 21.2399998 -0.963824 0.266541 0.9508352 +826 1 1.72 23.0100002 5.31 21.2399998 -0.999556 -0.0298021 0.9508352 +827 1 1.72 23.0100002 3.54 23.0100002 0.853179 -0.521618 0.8177586 +828 1 1.72 21.2399998 5.31 23.0100002 0.526794 -0.849993 0.8177586 +829 1 1.72 24.7800007 3.54 21.2399998 0.861014 -0.508581 0.9508352 +830 1 1.72 26.5499993 5.31 21.2399998 0.995661 0.093051 0.9508352 +831 1 1.72 26.5499993 3.54 23.0100002 0.995356 -0.0962591 0.8177586 +832 1 1.72 24.7800007 5.31 23.0100002 0.934051 -0.357139 0.8177586 +833 1 1.72 0.0 7.0799999 21.2399998 -0.702915 -0.711273 0.9508352 +834 1 1.72 1.77 8.8500004 21.2399998 -0.891011 -0.453981 0.9508352 +835 1 1.72 1.77 7.0799999 23.0100002 -0.928577 -0.371139 0.8177586 +836 1 1.72 0.0 8.8500004 23.0100002 -0.480522 0.876983 0.8177586 +837 1 1.72 3.54 7.0799999 21.2399998 -0.806447 0.591307 0.9508352 +838 1 1.72 5.31 8.8500004 21.2399998 0.570332 0.821414 0.9508352 +839 1 1.72 5.31 7.0799999 23.0100002 0.434671 -0.900589 0.8177586 +840 1 1.72 3.54 8.8500004 23.0100002 -0.17811 -0.984011 0.8177586 +841 1 1.72 7.0799999 7.0799999 21.2399998 0.433805 -0.901007 0.9508352 +842 1 1.72 8.8500004 8.8500004 21.2399998 -0.968752 -0.24803 0.9508352 +843 1 1.72 8.8500004 7.0799999 23.0100002 0.98872 -0.149776 0.8177586 +844 1 1.72 7.0799999 8.8500004 23.0100002 0.694459 -0.719533 0.8177586 +845 1 1.72 10.6199999 7.0799999 21.2399998 -0.8268 -0.562497 0.9508352 +846 1 1.72 12.3900004 8.8500004 21.2399998 0.974624 0.223847 0.9508352 +847 1 1.72 12.3900004 7.0799999 23.0100002 0.776544 0.630062 0.8177586 +848 1 1.72 10.6199999 8.8500004 23.0100002 0.618956 -0.785426 0.8177586 +849 1 1.72 14.1599999 7.0799999 21.2399998 0.855184 -0.518324 0.9508352 +850 1 1.72 15.9300004 8.8500004 21.2399998 -0.180136 0.983642 0.9508352 +851 1 1.72 15.9300004 7.0799999 23.0100002 -0.788196 -0.615424 0.8177586 +852 1 1.72 14.1599999 8.8500004 23.0100002 -0.980667 -0.195682 0.8177586 +853 1 1.72 17.7000008 7.0799999 21.2399998 0.533216 -0.845979 0.9508352 +854 1 1.72 19.4699993 8.8500004 21.2399998 -0.781159 -0.624332 0.9508352 +855 1 1.72 19.4699993 7.0799999 23.0100002 -0.987986 -0.154545 0.8177586 +856 1 1.72 17.7000008 8.8500004 23.0100002 0.388302 0.921532 0.8177586 +857 1 1.72 21.2399998 7.0799999 21.2399998 -0.766256 0.642536 0.9508352 +858 1 1.72 23.0100002 8.8500004 21.2399998 0.650735 0.759305 0.9508352 +859 1 1.72 23.0100002 7.0799999 23.0100002 0.0792116 0.996858 0.8177586 +860 1 1.72 21.2399998 8.8500004 23.0100002 0.480372 0.877065 0.8177586 +861 1 1.72 24.7800007 7.0799999 21.2399998 -0.710869 0.703325 0.9508352 +862 1 1.72 26.5499993 8.8500004 21.2399998 -0.603145 -0.797632 0.9508352 +863 1 1.72 26.5499993 7.0799999 23.0100002 0.121965 -0.992534 0.8177586 +864 1 1.72 24.7800007 8.8500004 23.0100002 -0.758733 0.651401 0.8177586 +865 1 1.72 0.0 10.6199999 21.2399998 -0.78719 0.616711 0.9508352 +866 1 1.72 1.77 12.3900004 21.2399998 -0.639197 -0.769043 0.9508352 +867 1 1.72 1.77 10.6199999 23.0100002 -0.855625 -0.517597 0.8177586 +868 1 1.72 0.0 12.3900004 23.0100002 -0.191279 0.981536 0.8177586 +869 1 1.72 3.54 10.6199999 21.2399998 -0.685729 -0.727857 0.9508352 +870 1 1.72 5.31 12.3900004 21.2399998 0.673968 0.73876 0.9508352 +871 1 1.72 5.31 10.6199999 23.0100002 -0.951734 -0.306923 0.8177586 +872 1 1.72 3.54 12.3900004 23.0100002 -0.684754 -0.728774 0.8177586 +873 1 1.72 7.0799999 10.6199999 21.2399998 0.950782 -0.30986 0.9508352 +874 1 1.72 8.8500004 12.3900004 21.2399998 -0.829451 0.558579 0.9508352 +875 1 1.72 8.8500004 10.6199999 23.0100002 0.948532 0.31668 0.8177586 +876 1 1.72 7.0799999 12.3900004 23.0100002 -0.676813 0.736155 0.8177586 +877 1 1.72 10.6199999 10.6199999 21.2399998 0.999779 -0.0210204 0.9508352 +878 1 1.72 12.3900004 12.3900004 21.2399998 0.922794 0.385295 0.9508352 +879 1 1.72 12.3900004 10.6199999 23.0100002 -0.84921 -0.528056 0.8177586 +880 1 1.72 10.6199999 12.3900004 23.0100002 0.937407 -0.348235 0.8177586 +881 1 1.72 14.1599999 10.6199999 21.2399998 -0.198283 -0.980145 0.9508352 +882 1 1.72 15.9300004 12.3900004 21.2399998 -0.615399 0.788216 0.9508352 +883 1 1.72 15.9300004 10.6199999 23.0100002 -0.326746 0.945112 0.8177586 +884 1 1.72 14.1599999 12.3900004 23.0100002 -0.36798 -0.929834 0.8177586 +885 1 1.72 17.7000008 10.6199999 21.2399998 0.579863 0.814714 0.9508352 +886 1 1.72 19.4699993 12.3900004 21.2399998 -0.232785 -0.972528 0.9508352 +887 1 1.72 19.4699993 10.6199999 23.0100002 -0.801033 -0.59862 0.8177586 +888 1 1.72 17.7000008 12.3900004 23.0100002 -0.823935 0.566684 0.8177586 +889 1 1.72 21.2399998 10.6199999 21.2399998 0.984127 0.177465 0.9508352 +890 1 1.72 23.0100002 12.3900004 21.2399998 -0.0919396 -0.995765 0.9508352 +891 1 1.72 23.0100002 10.6199999 23.0100002 -0.790211 -0.612834 0.8177586 +892 1 1.72 21.2399998 12.3900004 23.0100002 -0.685563 -0.728013 0.8177586 +893 1 1.72 24.7800007 10.6199999 21.2399998 -0.108022 -0.994149 0.9508352 +894 1 1.72 26.5499993 12.3900004 21.2399998 -0.638048 0.769997 0.9508352 +895 1 1.72 26.5499993 10.6199999 23.0100002 0.348083 0.937464 0.8177586 +896 1 1.72 24.7800007 12.3900004 23.0100002 0.485902 0.874013 0.8177586 +897 1 1.72 0.0 0.0 24.7800007 -0.65326 0.757134 0.6123979 +898 1 1.72 1.77 1.77 24.7800007 -0.0257368 -0.999669 0.6123979 +899 1 1.72 1.77 0.0 26.5499993 0.575338 0.817916 0.3529058 +900 1 1.72 0.0 1.77 26.5499993 0.78346 -0.621442 0.3529058 +901 1 1.72 3.54 0.0 24.7800007 -0.457407 -0.889258 0.6123979 +902 1 1.72 5.31 1.77 24.7800007 0.998224 -0.0595736 0.6123979 +903 1 1.72 5.31 0.0 26.5499993 0.995145 0.0984167 0.3529058 +904 1 1.72 3.54 1.77 26.5499993 0.993308 0.115498 0.3529058 +905 1 1.72 7.0799999 0.0 24.7800007 -0.851052 -0.525081 0.6123979 +906 1 1.72 8.8500004 1.77 24.7800007 0.766985 0.641665 0.6123979 +907 1 1.72 8.8500004 0.0 26.5499993 0.192387 0.981319 0.3529058 +908 1 1.72 7.0799999 1.77 26.5499993 0.967172 -0.254122 0.3529058 +909 1 1.72 10.6199999 0.0 24.7800007 0.790637 0.612286 0.6123979 +910 1 1.72 12.3900004 1.77 24.7800007 -0.74799 -0.66371 0.6123979 +911 1 1.72 12.3900004 0.0 26.5499993 -0.824141 -0.566385 0.3529058 +912 1 1.72 10.6199999 1.77 26.5499993 0.776839 -0.629699 0.3529058 +913 1 1.72 14.1599999 0.0 24.7800007 -0.689033 0.72473 0.6123979 +914 1 1.72 15.9300004 1.77 24.7800007 -0.99165 -0.128962 0.6123979 +915 1 1.72 15.9300004 0.0 26.5499993 -0.151567 -0.988447 0.3529058 +916 1 1.72 14.1599999 1.77 26.5499993 -0.0317035 -0.999497 0.3529058 +917 1 1.72 17.7000008 0.0 24.7800007 0.281425 0.959583 0.6123979 +918 1 1.72 19.4699993 1.77 24.7800007 -0.809649 0.586915 0.6123979 +919 1 1.72 19.4699993 0.0 26.5499993 -0.134022 -0.990978 0.3529058 +920 1 1.72 17.7000008 1.77 26.5499993 -0.774513 0.632559 0.3529058 +921 1 1.72 21.2399998 0.0 24.7800007 -0.690867 0.722982 0.6123979 +922 1 1.72 23.0100002 1.77 24.7800007 0.93554 0.353221 0.6123979 +923 1 1.72 23.0100002 0.0 26.5499993 0.869083 0.494667 0.3529058 +924 1 1.72 21.2399998 1.77 26.5499993 0.866241 -0.499626 0.3529058 +925 1 1.72 24.7800007 0.0 24.7800007 0.746357 0.665546 0.6123979 +926 1 1.72 26.5499993 1.77 24.7800007 0.31353 0.949578 0.6123979 +927 1 1.72 26.5499993 0.0 26.5499993 -0.763352 0.645982 0.3529058 +928 1 1.72 24.7800007 1.77 26.5499993 -0.986999 0.160729 0.3529058 +929 1 1.72 0.0 3.54 24.7800007 -0.302094 -0.953278 0.6123979 +930 1 1.72 1.77 5.31 24.7800007 0.688227 0.725495 0.6123979 +931 1 1.72 1.77 3.54 26.5499993 -0.547487 0.836814 0.3529058 +932 1 1.72 0.0 5.31 26.5499993 0.915792 0.401652 0.3529058 +933 1 1.72 3.54 3.54 24.7800007 0.95411 -0.299455 0.6123979 +934 1 1.72 5.31 5.31 24.7800007 -0.646027 0.763315 0.6123979 +935 1 1.72 5.31 3.54 26.5499993 0.999749 -0.0223985 0.3529058 +936 1 1.72 3.54 5.31 26.5499993 0.668878 0.743372 0.3529058 +937 1 1.72 7.0799999 3.54 24.7800007 0.553004 0.833179 0.6123979 +938 1 1.72 8.8500004 5.31 24.7800007 -0.861644 -0.507513 0.6123979 +939 1 1.72 8.8500004 3.54 26.5499993 0.878992 -0.476837 0.3529058 +940 1 1.72 7.0799999 5.31 26.5499993 -0.582962 -0.812499 0.3529058 +941 1 1.72 10.6199999 3.54 24.7800007 0.779856 0.625959 0.6123979 +942 1 1.72 12.3900004 5.31 24.7800007 0.535386 -0.844608 0.6123979 +943 1 1.72 12.3900004 3.54 26.5499993 -0.956059 0.293173 0.3529058 +944 1 1.72 10.6199999 5.31 26.5499993 0.90525 0.424879 0.3529058 +945 1 1.72 14.1599999 3.54 24.7800007 -0.25289 0.967495 0.6123979 +946 1 1.72 15.9300004 5.31 24.7800007 -0.602469 0.798143 0.6123979 +947 1 1.72 15.9300004 3.54 26.5499993 0.458287 0.888804 0.3529058 +948 1 1.72 14.1599999 5.31 26.5499993 -0.33717 -0.941444 0.3529058 +949 1 1.72 17.7000008 3.54 24.7800007 0.990276 -0.139114 0.6123979 +950 1 1.72 19.4699993 5.31 24.7800007 -0.37125 -0.928533 0.6123979 +951 1 1.72 19.4699993 3.54 26.5499993 -0.0663069 -0.997799 0.3529058 +952 1 1.72 17.7000008 5.31 26.5499993 -0.479553 -0.877513 0.3529058 +953 1 1.72 21.2399998 3.54 24.7800007 -0.858225 -0.513273 0.6123979 +954 1 1.72 23.0100002 5.31 24.7800007 0.96655 0.256478 0.6123979 +955 1 1.72 23.0100002 3.54 26.5499993 0.898859 0.438239 0.3529058 +956 1 1.72 21.2399998 5.31 26.5499993 0.331274 -0.943534 0.3529058 +957 1 1.72 24.7800007 3.54 24.7800007 0.624083 0.781358 0.6123979 +958 1 1.72 26.5499993 5.31 24.7800007 0.562576 -0.826745 0.6123979 +959 1 1.72 26.5499993 3.54 26.5499993 0.987917 -0.154981 0.3529058 +960 1 1.72 24.7800007 5.31 26.5499993 0.367753 0.929924 0.3529058 +961 1 1.72 0.0 7.0799999 24.7800007 0.57143 -0.82065 0.6123979 +962 1 1.72 1.77 8.8500004 24.7800007 -0.899092 -0.43776 0.6123979 +963 1 1.72 1.77 7.0799999 26.5499993 -0.499379 0.866383 0.3529058 +964 1 1.72 0.0 8.8500004 26.5499993 0.488283 0.872685 0.3529058 +965 1 1.72 3.54 7.0799999 24.7800007 -0.608735 -0.793373 0.6123979 +966 1 1.72 5.31 8.8500004 24.7800007 -0.104764 -0.994497 0.6123979 +967 1 1.72 5.31 7.0799999 26.5499993 -0.697211 -0.716866 0.3529058 +968 1 1.72 3.54 8.8500004 26.5499993 0.456251 0.889851 0.3529058 +969 1 1.72 7.0799999 7.0799999 24.7800007 -0.649147 0.760663 0.6123979 +970 1 1.72 8.8500004 8.8500004 24.7800007 0.840755 0.541416 0.6123979 +971 1 1.72 8.8500004 7.0799999 26.5499993 -0.644214 -0.764846 0.3529058 +972 1 1.72 7.0799999 8.8500004 26.5499993 0.803842 -0.594842 0.3529058 +973 1 1.72 10.6199999 7.0799999 24.7800007 0.662772 -0.748821 0.6123979 +974 1 1.72 12.3900004 8.8500004 24.7800007 0.314855 0.94914 0.6123979 +975 1 1.72 12.3900004 7.0799999 26.5499993 0.893458 -0.449146 0.3529058 +976 1 1.72 10.6199999 8.8500004 26.5499993 -0.86605 -0.499958 0.3529058 +977 1 1.72 14.1599999 7.0799999 24.7800007 0.767653 -0.640865 0.6123979 +978 1 1.72 15.9300004 8.8500004 24.7800007 0.251764 0.967789 0.6123979 +979 1 1.72 15.9300004 7.0799999 26.5499993 -0.295994 0.95519 0.3529058 +980 1 1.72 14.1599999 8.8500004 26.5499993 0.414085 -0.910238 0.3529058 +981 1 1.72 17.7000008 7.0799999 24.7800007 0.343239 -0.939248 0.6123979 +982 1 1.72 19.4699993 8.8500004 24.7800007 0.6137 -0.78954 0.6123979 +983 1 1.72 19.4699993 7.0799999 26.5499993 -0.658401 -0.752667 0.3529058 +984 1 1.72 17.7000008 8.8500004 26.5499993 -0.940455 0.339917 0.3529058 +985 1 1.72 21.2399998 7.0799999 24.7800007 -0.822003 -0.569483 0.6123979 +986 1 1.72 23.0100002 8.8500004 24.7800007 -0.38379 0.923421 0.6123979 +987 1 1.72 23.0100002 7.0799999 26.5499993 0.824554 0.565783 0.3529058 +988 1 1.72 21.2399998 8.8500004 26.5499993 0.448161 -0.893953 0.3529058 +989 1 1.72 24.7800007 7.0799999 24.7800007 -0.632556 -0.774515 0.6123979 +990 1 1.72 26.5499993 8.8500004 24.7800007 0.986578 -0.163294 0.6123979 +991 1 1.72 26.5499993 7.0799999 26.5499993 0.978122 0.208032 0.3529058 +992 1 1.72 24.7800007 8.8500004 26.5499993 0.97316 -0.23013 0.3529058 +993 1 1.72 0.0 10.6199999 24.7800007 -0.656798 -0.754067 0.6123979 +994 1 1.72 1.77 12.3900004 24.7800007 0.170545 0.98535 0.6123979 +995 1 1.72 1.77 10.6199999 26.5499993 0.465212 -0.885199 0.3529058 +996 1 1.72 0.0 12.3900004 26.5499993 -0.664781 -0.747039 0.3529058 +997 1 1.72 3.54 10.6199999 24.7800007 0.999985 0.00540806 0.6123979 +998 1 1.72 5.31 12.3900004 24.7800007 -0.596463 0.802641 0.6123979 +999 1 1.72 5.31 10.6199999 26.5499993 0.740811 -0.671714 0.3529058 +1000 1 1.72 3.54 12.3900004 26.5499993 0.135612 0.990762 0.3529058 +1001 1 1.72 7.0799999 10.6199999 24.7800007 0.39156 -0.920153 0.6123979 +1002 1 1.72 8.8500004 12.3900004 24.7800007 0.471855 0.881676 0.6123979 +1003 1 1.72 8.8500004 10.6199999 26.5499993 -0.982452 0.186514 0.3529058 +1004 1 1.72 7.0799999 12.3900004 26.5499993 0.427774 -0.903886 0.3529058 +1005 1 1.72 10.6199999 10.6199999 24.7800007 -0.797229 -0.603677 0.6123979 +1006 1 1.72 12.3900004 12.3900004 24.7800007 0.999966 0.00828118 0.6123979 +1007 1 1.72 12.3900004 10.6199999 26.5499993 -0.741601 -0.670841 0.3529058 +1008 1 1.72 10.6199999 12.3900004 26.5499993 0.322026 -0.946731 0.3529058 +1009 1 1.72 14.1599999 10.6199999 24.7800007 -0.451215 -0.892415 0.6123979 +1010 1 1.72 15.9300004 12.3900004 24.7800007 0.122952 0.992413 0.6123979 +1011 1 1.72 15.9300004 10.6199999 26.5499993 -0.693441 -0.720514 0.3529058 +1012 1 1.72 14.1599999 12.3900004 26.5499993 0.270874 0.962615 0.3529058 +1013 1 1.72 17.7000008 10.6199999 24.7800007 -0.942816 -0.333312 0.6123979 +1014 1 1.72 19.4699993 12.3900004 24.7800007 0.658205 -0.752839 0.6123979 +1015 1 1.72 19.4699993 10.6199999 26.5499993 -0.317959 -0.948105 0.3529058 +1016 1 1.72 17.7000008 12.3900004 26.5499993 0.85442 0.519584 0.3529058 +1017 1 1.72 21.2399998 10.6199999 24.7800007 0.652411 0.757866 0.6123979 +1018 1 1.72 23.0100002 12.3900004 24.7800007 0.869068 -0.494693 0.6123979 +1019 1 1.72 23.0100002 10.6199999 26.5499993 0.831807 -0.555065 0.3529058 +1020 1 1.72 21.2399998 12.3900004 26.5499993 -0.566725 0.823907 0.3529058 +1021 1 1.72 24.7800007 10.6199999 24.7800007 0.470133 0.882596 0.6123979 +1022 1 1.72 26.5499993 12.3900004 24.7800007 0.533661 -0.845698 0.6123979 +1023 1 1.72 26.5499993 10.6199999 26.5499993 0.777682 -0.628658 0.3529058 +1024 1 1.72 24.7800007 12.3900004 26.5499993 0.911502 -0.411296 0.3529058 +1025 1 1.72 0.0 0.0 28.3199997 -0.683465 0.729983 0.0622191 +1026 1 1.72 1.77 1.77 28.3199997 -0.931824 -0.362911 0.0622191 +1027 1 1.72 1.77 0.0 30.0900002 0.515337 0.856987 -0.2339673 +1028 1 1.72 0.0 1.77 30.0900002 0.995636 -0.0933234 -0.2339673 +1029 1 1.72 3.54 0.0 28.3199997 0.947694 0.319179 0.0622191 +1030 1 1.72 5.31 1.77 28.3199997 -0.909816 -0.415012 0.0622191 +1031 1 1.72 5.31 0.0 30.0900002 -0.356202 0.934409 -0.2339673 +1032 1 1.72 3.54 1.77 30.0900002 0.668759 -0.743479 -0.2339673 +1033 1 1.72 7.0799999 0.0 28.3199997 0.977558 -0.210665 0.0622191 +1034 1 1.72 8.8500004 1.77 28.3199997 -0.83154 0.555464 0.0622191 +1035 1 1.72 8.8500004 0.0 30.0900002 0.56201 0.827131 -0.2339673 +1036 1 1.72 7.0799999 1.77 30.0900002 0.619904 -0.784678 -0.2339673 +1037 1 1.72 10.6199999 0.0 28.3199997 0.798442 -0.602071 0.0622191 +1038 1 1.72 12.3900004 1.77 28.3199997 0.911462 -0.411384 0.0622191 +1039 1 1.72 12.3900004 0.0 30.0900002 0.988152 0.153477 -0.2339673 +1040 1 1.72 10.6199999 1.77 30.0900002 0.559752 0.82866 -0.2339673 +1041 1 1.72 14.1599999 0.0 28.3199997 -0.459915 0.887963 0.0622191 +1042 1 1.72 15.9300004 1.77 28.3199997 0.954249 0.299013 0.0622191 +1043 1 1.72 15.9300004 0.0 30.0900002 0.65834 -0.75272 -0.2339673 +1044 1 1.72 14.1599999 1.77 30.0900002 0.0482277 -0.998836 -0.2339673 +1045 1 1.72 17.7000008 0.0 28.3199997 -0.0288095 -0.999585 0.0622191 +1046 1 1.72 19.4699993 1.77 28.3199997 -0.19357 -0.981086 0.0622191 +1047 1 1.72 19.4699993 0.0 30.0900002 -0.836096 0.548583 -0.2339673 +1048 1 1.72 17.7000008 1.77 30.0900002 0.723908 0.689896 -0.2339673 +1049 1 1.72 21.2399998 0.0 28.3199997 0.293107 0.95608 0.0622191 +1050 1 1.72 23.0100002 1.77 28.3199997 -0.614682 0.788775 0.0622191 +1051 1 1.72 23.0100002 0.0 30.0900002 0.998231 0.0594531 -0.2339673 +1052 1 1.72 21.2399998 1.77 30.0900002 -0.45442 -0.890787 -0.2339673 +1053 1 1.72 24.7800007 0.0 28.3199997 0.699705 0.714432 0.0622191 +1054 1 1.72 26.5499993 1.77 28.3199997 -0.581278 0.813705 0.0622191 +1055 1 1.72 26.5499993 0.0 30.0900002 0.198058 -0.98019 -0.2339673 +1056 1 1.72 24.7800007 1.77 30.0900002 -0.979096 -0.203397 -0.2339673 +1057 1 1.72 0.0 3.54 28.3199997 0.0430396 -0.999073 0.0622191 +1058 1 1.72 1.77 5.31 28.3199997 0.930885 -0.365311 0.0622191 +1059 1 1.72 1.77 3.54 30.0900002 -0.900003 -0.435883 -0.2339673 +1060 1 1.72 0.0 5.31 30.0900002 0.293177 -0.956058 -0.2339673 +1061 1 1.72 3.54 3.54 28.3199997 -0.416023 -0.909354 0.0622191 +1062 1 1.72 5.31 5.31 28.3199997 -0.979151 -0.203132 0.0622191 +1063 1 1.72 5.31 3.54 30.0900002 0.297677 0.954667 -0.2339673 +1064 1 1.72 3.54 5.31 30.0900002 0.996144 -0.0877343 -0.2339673 +1065 1 1.72 7.0799999 3.54 28.3199997 0.782903 0.622144 0.0622191 +1066 1 1.72 8.8500004 5.31 28.3199997 0.445881 0.895092 0.0622191 +1067 1 1.72 8.8500004 3.54 30.0900002 -0.987418 -0.158133 -0.2339673 +1068 1 1.72 7.0799999 5.31 30.0900002 0.569403 0.822058 -0.2339673 +1069 1 1.72 10.6199999 3.54 28.3199997 -0.594907 0.803795 0.0622191 +1070 1 1.72 12.3900004 5.31 28.3199997 -0.95973 -0.280924 0.0622191 +1071 1 1.72 12.3900004 3.54 30.0900002 -0.858172 0.513363 -0.2339673 +1072 1 1.72 10.6199999 5.31 30.0900002 0.923453 0.383712 -0.2339673 +1073 1 1.72 14.1599999 3.54 28.3199997 0.98861 0.150498 0.0622191 +1074 1 1.72 15.9300004 5.31 28.3199997 -0.860776 0.508985 0.0622191 +1075 1 1.72 15.9300004 3.54 30.0900002 -0.632522 -0.774542 -0.2339673 +1076 1 1.72 14.1599999 5.31 30.0900002 -0.835487 -0.54951 -0.2339673 +1077 1 1.72 17.7000008 3.54 28.3199997 0.433073 -0.901359 0.0622191 +1078 1 1.72 19.4699993 5.31 28.3199997 0.103793 0.994599 0.0622191 +1079 1 1.72 19.4699993 3.54 30.0900002 -0.255698 0.966757 -0.2339673 +1080 1 1.72 17.7000008 5.31 30.0900002 0.342616 -0.939475 -0.2339673 +1081 1 1.72 21.2399998 3.54 28.3199997 0.712434 -0.701739 0.0622191 +1082 1 1.72 23.0100002 5.31 28.3199997 0.911617 -0.411042 0.0622191 +1083 1 1.72 23.0100002 3.54 30.0900002 -0.999404 -0.0345194 -0.2339673 +1084 1 1.72 21.2399998 5.31 30.0900002 -0.750652 -0.660698 -0.2339673 +1085 1 1.72 24.7800007 3.54 28.3199997 -0.496573 0.867995 0.0622191 +1086 1 1.72 26.5499993 5.31 28.3199997 0.126169 0.992009 0.0622191 +1087 1 1.72 26.5499993 3.54 30.0900002 -0.658673 -0.752429 -0.2339673 +1088 1 1.72 24.7800007 5.31 30.0900002 0.913392 0.407082 -0.2339673 +1089 1 1.72 0.0 7.0799999 28.3199997 0.975824 -0.218559 0.0622191 +1090 1 1.72 1.77 8.8500004 28.3199997 -0.975458 0.220186 0.0622191 +1091 1 1.72 1.77 7.0799999 30.0900002 0.761841 0.647764 -0.2339673 +1092 1 1.72 0.0 8.8500004 30.0900002 0.962083 -0.272758 -0.2339673 +1093 1 1.72 3.54 7.0799999 28.3199997 0.839861 0.542802 0.0622191 +1094 1 1.72 5.31 8.8500004 28.3199997 0.520855 -0.853645 0.0622191 +1095 1 1.72 5.31 7.0799999 30.0900002 -0.663007 -0.748613 -0.2339673 +1096 1 1.72 3.54 8.8500004 30.0900002 -0.199301 0.979938 -0.2339673 +1097 1 1.72 7.0799999 7.0799999 28.3199997 0.769083 -0.639149 0.0622191 +1098 1 1.72 8.8500004 8.8500004 28.3199997 0.358585 0.933497 0.0622191 +1099 1 1.72 8.8500004 7.0799999 30.0900002 0.169804 0.985478 -0.2339673 +1100 1 1.72 7.0799999 8.8500004 30.0900002 0.768301 -0.640089 -0.2339673 +1101 1 1.72 10.6199999 7.0799999 28.3199997 0.99441 0.105584 0.0622191 +1102 1 1.72 12.3900004 8.8500004 28.3199997 0.797857 -0.602847 0.0622191 +1103 1 1.72 12.3900004 7.0799999 30.0900002 -0.794976 -0.606641 -0.2339673 +1104 1 1.72 10.6199999 8.8500004 30.0900002 0.999129 -0.0417304 -0.2339673 +1105 1 1.72 14.1599999 7.0799999 28.3199997 -0.98284 0.184462 0.0622191 +1106 1 1.72 15.9300004 8.8500004 28.3199997 0.703287 0.710906 0.0622191 +1107 1 1.72 15.9300004 7.0799999 30.0900002 0.886488 -0.462752 -0.2339673 +1108 1 1.72 14.1599999 8.8500004 30.0900002 -0.878386 -0.477952 -0.2339673 +1109 1 1.72 17.7000008 7.0799999 28.3199997 0.97986 0.199686 0.0622191 +1110 1 1.72 19.4699993 8.8500004 28.3199997 0.758451 -0.65173 0.0622191 +1111 1 1.72 19.4699993 7.0799999 30.0900002 -0.877145 -0.480225 -0.2339673 +1112 1 1.72 17.7000008 8.8500004 30.0900002 0.275596 -0.961274 -0.2339673 +1113 1 1.72 21.2399998 7.0799999 28.3199997 0.629686 -0.77685 0.0622191 +1114 1 1.72 23.0100002 8.8500004 28.3199997 0.0698135 -0.99756 0.0622191 +1115 1 1.72 23.0100002 7.0799999 30.0900002 -0.504325 -0.863514 -0.2339673 +1116 1 1.72 21.2399998 8.8500004 30.0900002 -0.69485 -0.719154 -0.2339673 +1117 1 1.72 24.7800007 7.0799999 28.3199997 0.697306 0.716774 0.0622191 +1118 1 1.72 26.5499993 8.8500004 28.3199997 0.703461 0.710734 0.0622191 +1119 1 1.72 26.5499993 7.0799999 30.0900002 0.658519 -0.752564 -0.2339673 +1120 1 1.72 24.7800007 8.8500004 30.0900002 -0.160721 -0.987 -0.2339673 +1121 1 1.72 0.0 10.6199999 28.3199997 -0.921245 -0.388984 0.0622191 +1122 1 1.72 1.77 12.3900004 28.3199997 0.999713 0.0239583 0.0622191 +1123 1 1.72 1.77 10.6199999 30.0900002 -0.730993 0.682385 -0.2339673 +1124 1 1.72 0.0 12.3900004 30.0900002 0.766045 0.642787 -0.2339673 +1125 1 1.72 3.54 10.6199999 28.3199997 0.404661 0.914467 0.0622191 +1126 1 1.72 5.31 12.3900004 28.3199997 -0.761514 0.648148 0.0622191 +1127 1 1.72 5.31 10.6199999 30.0900002 0.74885 -0.66274 -0.2339673 +1128 1 1.72 3.54 12.3900004 30.0900002 0.899749 -0.436409 -0.2339673 +1129 1 1.72 7.0799999 10.6199999 28.3199997 -0.726955 -0.686685 0.0622191 +1130 1 1.72 8.8500004 12.3900004 28.3199997 -0.99457 -0.104068 0.0622191 +1131 1 1.72 8.8500004 10.6199999 30.0900002 -0.0507939 0.998709 -0.2339673 +1132 1 1.72 7.0799999 12.3900004 30.0900002 0.389634 0.92097 -0.2339673 +1133 1 1.72 10.6199999 10.6199999 28.3199997 0.525493 0.850798 0.0622191 +1134 1 1.72 12.3900004 12.3900004 28.3199997 0.712546 0.701625 0.0622191 +1135 1 1.72 12.3900004 10.6199999 30.0900002 0.440956 -0.897528 -0.2339673 +1136 1 1.72 10.6199999 12.3900004 30.0900002 -0.743537 -0.668694 -0.2339673 +1137 1 1.72 14.1599999 10.6199999 28.3199997 -0.364847 -0.931067 0.0622191 +1138 1 1.72 15.9300004 12.3900004 28.3199997 -0.567422 0.823427 0.0622191 +1139 1 1.72 15.9300004 10.6199999 30.0900002 0.765127 -0.64388 -0.2339673 +1140 1 1.72 14.1599999 12.3900004 30.0900002 0.770315 0.637663 -0.2339673 +1141 1 1.72 17.7000008 10.6199999 28.3199997 -0.894878 0.44631 0.0622191 +1142 1 1.72 19.4699993 12.3900004 28.3199997 -0.232801 0.972524 0.0622191 +1143 1 1.72 19.4699993 10.6199999 30.0900002 0.0312478 0.999512 -0.2339673 +1144 1 1.72 17.7000008 12.3900004 30.0900002 -0.958418 -0.285368 -0.2339673 +1145 1 1.72 21.2399998 10.6199999 28.3199997 -0.715471 -0.698642 0.0622191 +1146 1 1.72 23.0100002 12.3900004 28.3199997 -0.452692 -0.891667 0.0622191 +1147 1 1.72 23.0100002 10.6199999 30.0900002 -0.975195 0.221348 -0.2339673 +1148 1 1.72 21.2399998 12.3900004 30.0900002 -0.150852 -0.988556 -0.2339673 +1149 1 1.72 24.7800007 10.6199999 28.3199997 -0.984506 0.175352 0.0622191 +1150 1 1.72 26.5499993 12.3900004 28.3199997 0.478674 -0.877993 0.0622191 +1151 1 1.72 26.5499993 10.6199999 30.0900002 -0.87747 0.479631 -0.2339673 +1152 1 1.72 24.7800007 12.3900004 30.0900002 -0.348679 0.937242 -0.2339673 +1153 1 1.72 0.0 0.0 31.8600006 0.443037 0.896504 -0.5094728 +1154 1 1.72 1.77 1.77 31.8600006 0.974176 -0.225788 -0.5094728 +1155 1 1.72 1.77 0.0 33.6300011 -0.0221393 0.999755 -0.7399443 +1156 1 1.72 0.0 1.77 33.6300011 -0.824762 -0.56548 -0.7399443 +1157 1 1.72 3.54 0.0 31.8600006 0.830979 -0.556303 -0.5094728 +1158 1 1.72 5.31 1.77 31.8600006 0.904047 0.427433 -0.5094728 +1159 1 1.72 5.31 0.0 33.6300011 0.657361 -0.753576 -0.7399443 +1160 1 1.72 3.54 1.77 33.6300011 -0.0243886 -0.999703 -0.7399443 +1161 1 1.72 7.0799999 0.0 31.8600006 0.83381 0.552051 -0.5094728 +1162 1 1.72 8.8500004 1.77 31.8600006 0.745227 -0.66681 -0.5094728 +1163 1 1.72 8.8500004 0.0 33.6300011 0.890594 0.454799 -0.7399443 +1164 1 1.72 7.0799999 1.77 33.6300011 -0.983468 0.181081 -0.7399443 +1165 1 1.72 10.6199999 0.0 31.8600006 0.0355197 0.999369 -0.5094728 +1166 1 1.72 12.3900004 1.77 31.8600006 -0.708287 -0.705924 -0.5094728 +1167 1 1.72 12.3900004 0.0 33.6300011 0.952537 0.304424 -0.7399443 +1168 1 1.72 10.6199999 1.77 33.6300011 -0.983619 -0.180262 -0.7399443 +1169 1 1.72 14.1599999 0.0 31.8600006 0.99971 -0.024068 -0.5094728 +1170 1 1.72 15.9300004 1.77 31.8600006 -0.87354 -0.486752 -0.5094728 +1171 1 1.72 15.9300004 0.0 33.6300011 -0.964408 0.264419 -0.7399443 +1172 1 1.72 14.1599999 1.77 33.6300011 0.97508 0.221852 -0.7399443 +1173 1 1.72 17.7000008 0.0 31.8600006 -0.995019 -0.0996847 -0.5094728 +1174 1 1.72 19.4699993 1.77 31.8600006 0.518055 0.855347 -0.5094728 +1175 1 1.72 19.4699993 0.0 33.6300011 -0.0216954 -0.999765 -0.7399443 +1176 1 1.72 17.7000008 1.77 33.6300011 -0.299444 -0.954114 -0.7399443 +1177 1 1.72 21.2399998 0.0 31.8600006 0.588463 0.808524 -0.5094728 +1178 1 1.72 23.0100002 1.77 31.8600006 0.180996 0.983484 -0.5094728 +1179 1 1.72 23.0100002 0.0 33.6300011 -0.811554 -0.584277 -0.7399443 +1180 1 1.72 21.2399998 1.77 33.6300011 -0.32129 -0.946981 -0.7399443 +1181 1 1.72 24.7800007 0.0 31.8600006 0.730486 -0.682927 -0.5094728 +1182 1 1.72 26.5499993 1.77 31.8600006 -0.808337 -0.588719 -0.5094728 +1183 1 1.72 26.5499993 0.0 33.6300011 0.957728 -0.287674 -0.7399443 +1184 1 1.72 24.7800007 1.77 33.6300011 0.435262 0.900304 -0.7399443 +1185 1 1.72 0.0 3.54 31.8600006 -0.717329 0.696735 -0.5094728 +1186 1 1.72 1.77 5.31 31.8600006 0.487646 -0.873041 -0.5094728 +1187 1 1.72 1.77 3.54 33.6300011 0.416873 -0.908965 -0.7399443 +1188 1 1.72 0.0 5.31 33.6300011 -0.885728 -0.464205 -0.7399443 +1189 1 1.72 3.54 3.54 31.8600006 -0.732201 0.681089 -0.5094728 +1190 1 1.72 5.31 5.31 31.8600006 0.847536 -0.530737 -0.5094728 +1191 1 1.72 5.31 3.54 33.6300011 -0.997255 -0.0740502 -0.7399443 +1192 1 1.72 3.54 5.31 33.6300011 0.448684 -0.89369 -0.7399443 +1193 1 1.72 7.0799999 3.54 31.8600006 -0.672899 -0.739734 -0.5094728 +1194 1 1.72 8.8500004 5.31 31.8600006 -0.727424 -0.686188 -0.5094728 +1195 1 1.72 8.8500004 3.54 33.6300011 0.561556 -0.827439 -0.7399443 +1196 1 1.72 7.0799999 5.31 33.6300011 0.98709 -0.160165 -0.7399443 +1197 1 1.72 10.6199999 3.54 31.8600006 0.905731 -0.423852 -0.5094728 +1198 1 1.72 12.3900004 5.31 31.8600006 0.705221 0.708987 -0.5094728 +1199 1 1.72 12.3900004 3.54 33.6300011 0.964475 0.264174 -0.7399443 +1200 1 1.72 10.6199999 5.31 33.6300011 0.424517 -0.90542 -0.7399443 +1201 1 1.72 14.1599999 3.54 31.8600006 -0.676756 0.736207 -0.5094728 +1202 1 1.72 15.9300004 5.31 31.8600006 0.949018 0.315222 -0.5094728 +1203 1 1.72 15.9300004 3.54 33.6300011 -0.6482 -0.76147 -0.7399443 +1204 1 1.72 14.1599999 5.31 33.6300011 0.727867 0.685719 -0.7399443 +1205 1 1.72 17.7000008 3.54 31.8600006 -0.681552 -0.731769 -0.5094728 +1206 1 1.72 19.4699993 5.31 31.8600006 -0.267514 0.963554 -0.5094728 +1207 1 1.72 19.4699993 3.54 33.6300011 0.434175 -0.900828 -0.7399443 +1208 1 1.72 17.7000008 5.31 33.6300011 0.0753593 -0.997156 -0.7399443 +1209 1 1.72 21.2399998 3.54 31.8600006 0.98497 0.172726 -0.5094728 +1210 1 1.72 23.0100002 5.31 31.8600006 0.575985 0.81746 -0.5094728 +1211 1 1.72 23.0100002 3.54 33.6300011 0.970001 0.243101 -0.7399443 +1212 1 1.72 21.2399998 5.31 33.6300011 0.828261 0.560342 -0.7399443 +1213 1 1.72 24.7800007 3.54 31.8600006 0.978209 -0.207621 -0.5094728 +1214 1 1.72 26.5499993 5.31 31.8600006 0.909687 -0.415294 -0.5094728 +1215 1 1.72 26.5499993 3.54 33.6300011 -0.975959 0.217953 -0.7399443 +1216 1 1.72 24.7800007 5.31 33.6300011 -0.937376 0.348319 -0.7399443 +1217 1 1.72 0.0 7.0799999 31.8600006 0.851067 0.525057 -0.5094728 +1218 1 1.72 1.77 8.8500004 31.8600006 -0.764799 -0.644269 -0.5094728 +1219 1 1.72 1.77 7.0799999 33.6300011 0.955694 -0.294361 -0.7399443 +1220 1 1.72 0.0 8.8500004 33.6300011 0.0661729 0.997808 -0.7399443 +1221 1 1.72 3.54 7.0799999 31.8600006 -0.999062 0.043309 -0.5094728 +1222 1 1.72 5.31 8.8500004 31.8600006 0.874436 0.48514 -0.5094728 +1223 1 1.72 5.31 7.0799999 33.6300011 0.801484 0.598017 -0.7399443 +1224 1 1.72 3.54 8.8500004 33.6300011 0.724764 -0.688997 -0.7399443 +1225 1 1.72 7.0799999 7.0799999 31.8600006 -0.760062 -0.649851 -0.5094728 +1226 1 1.72 8.8500004 8.8500004 31.8600006 -0.903316 -0.428975 -0.5094728 +1227 1 1.72 8.8500004 7.0799999 33.6300011 0.710841 -0.703353 -0.7399443 +1228 1 1.72 7.0799999 8.8500004 33.6300011 -0.406754 -0.913538 -0.7399443 +1229 1 1.72 10.6199999 7.0799999 31.8600006 0.473099 0.881009 -0.5094728 +1230 1 1.72 12.3900004 8.8500004 31.8600006 -0.952628 -0.304137 -0.5094728 +1231 1 1.72 12.3900004 7.0799999 33.6300011 0.0263082 0.999654 -0.7399443 +1232 1 1.72 10.6199999 8.8500004 33.6300011 0.634765 -0.772705 -0.7399443 +1233 1 1.72 14.1599999 7.0799999 31.8600006 -0.958776 -0.284162 -0.5094728 +1234 1 1.72 15.9300004 8.8500004 31.8600006 -0.246321 0.969188 -0.5094728 +1235 1 1.72 15.9300004 7.0799999 33.6300011 -0.995582 -0.0938921 -0.7399443 +1236 1 1.72 14.1599999 8.8500004 33.6300011 0.0896399 0.995974 -0.7399443 +1237 1 1.72 17.7000008 7.0799999 31.8600006 0.846821 0.531878 -0.5094728 +1238 1 1.72 19.4699993 8.8500004 31.8600006 0.99896 0.0455946 -0.5094728 +1239 1 1.72 19.4699993 7.0799999 33.6300011 0.965707 -0.259633 -0.7399443 +1240 1 1.72 17.7000008 8.8500004 33.6300011 0.890192 -0.455586 -0.7399443 +1241 1 1.72 21.2399998 7.0799999 31.8600006 -0.452131 0.891952 -0.5094728 +1242 1 1.72 23.0100002 8.8500004 31.8600006 0.999985 0.00552895 -0.5094728 +1243 1 1.72 23.0100002 7.0799999 33.6300011 0.989453 0.144852 -0.7399443 +1244 1 1.72 21.2399998 8.8500004 33.6300011 -0.324763 -0.945795 -0.7399443 +1245 1 1.72 24.7800007 7.0799999 31.8600006 -0.391218 -0.920298 -0.5094728 +1246 1 1.72 26.5499993 8.8500004 31.8600006 0.360424 -0.932788 -0.5094728 +1247 1 1.72 26.5499993 7.0799999 33.6300011 0.369084 0.929396 -0.7399443 +1248 1 1.72 24.7800007 8.8500004 33.6300011 0.808935 0.587898 -0.7399443 +1249 1 1.72 0.0 10.6199999 31.8600006 0.592554 0.805531 -0.5094728 +1250 1 1.72 1.77 12.3900004 31.8600006 0.497032 0.867732 -0.5094728 +1251 1 1.72 1.77 10.6199999 33.6300011 -0.37908 -0.925364 -0.7399443 +1252 1 1.72 0.0 12.3900004 33.6300011 -0.289419 -0.957203 -0.7399443 +1253 1 1.72 3.54 10.6199999 31.8600006 0.193417 0.981117 -0.5094728 +1254 1 1.72 5.31 12.3900004 31.8600006 0.981279 0.192594 -0.5094728 +1255 1 1.72 5.31 10.6199999 33.6300011 -0.523431 0.852068 -0.7399443 +1256 1 1.72 3.54 12.3900004 33.6300011 0.579943 0.814657 -0.7399443 +1257 1 1.72 7.0799999 10.6199999 31.8600006 0.344921 -0.938632 -0.5094728 +1258 1 1.72 8.8500004 12.3900004 31.8600006 -0.0517701 -0.998659 -0.5094728 +1259 1 1.72 8.8500004 10.6199999 33.6300011 -0.554549 0.832151 -0.7399443 +1260 1 1.72 7.0799999 12.3900004 33.6300011 -0.673173 -0.739485 -0.7399443 +1261 1 1.72 10.6199999 10.6199999 31.8600006 0.996705 -0.0811154 -0.5094728 +1262 1 1.72 12.3900004 12.3900004 31.8600006 -0.729765 -0.683698 -0.5094728 +1263 1 1.72 12.3900004 10.6199999 33.6300011 0.3592 -0.933261 -0.7399443 +1264 1 1.72 10.6199999 12.3900004 33.6300011 0.933634 -0.358228 -0.7399443 +1265 1 1.72 14.1599999 10.6199999 31.8600006 -0.0411337 0.999154 -0.5094728 +1266 1 1.72 15.9300004 12.3900004 31.8600006 -0.0821833 0.996617 -0.5094728 +1267 1 1.72 15.9300004 10.6199999 33.6300011 0.891257 -0.453499 -0.7399443 +1268 1 1.72 14.1599999 12.3900004 33.6300011 0.997281 -0.0736859 -0.7399443 +1269 1 1.72 17.7000008 10.6199999 31.8600006 0.913733 0.406315 -0.5094728 +1270 1 1.72 19.4699993 12.3900004 31.8600006 0.327132 -0.944979 -0.5094728 +1271 1 1.72 19.4699993 10.6199999 33.6300011 0.428429 0.903575 -0.7399443 +1272 1 1.72 17.7000008 12.3900004 33.6300011 0.546001 0.837785 -0.7399443 +1273 1 1.72 21.2399998 10.6199999 31.8600006 0.920806 -0.390021 -0.5094728 +1274 1 1.72 23.0100002 12.3900004 31.8600006 -0.508725 0.860929 -0.5094728 +1275 1 1.72 23.0100002 10.6199999 33.6300011 0.76493 -0.644113 -0.7399443 +1276 1 1.72 21.2399998 12.3900004 33.6300011 0.852778 -0.522274 -0.7399443 +1277 1 1.72 24.7800007 10.6199999 31.8600006 -0.91367 -0.406457 -0.5094728 +1278 1 1.72 26.5499993 12.3900004 31.8600006 -0.99563 -0.0933861 -0.5094728 +1279 1 1.72 26.5499993 10.6199999 33.6300011 0.404406 -0.914579 -0.7399443 +1280 1 1.72 24.7800007 12.3900004 33.6300011 -0.701356 -0.712811 -0.7399443 +1281 1 1.72 0.0 0.0 35.4000015 -0.94473 -0.327848 -0.90501 +1282 1 1.72 1.77 1.77 35.4000015 -0.353136 -0.935572 -0.90501 +1283 1 1.72 1.77 0.0 37.1699982 0.919541 -0.392995 -0.990079 +1284 1 1.72 0.0 1.77 37.1699982 0.738602 -0.674141 -0.990079 +1285 1 1.72 3.54 0.0 35.4000015 -0.584509 -0.811387 -0.90501 +1286 1 1.72 5.31 1.77 35.4000015 -0.622168 -0.782884 -0.90501 +1287 1 1.72 5.31 0.0 37.1699982 0.810508 -0.585728 -0.990079 +1288 1 1.72 3.54 1.77 37.1699982 -0.341376 0.939927 -0.990079 +1289 1 1.72 7.0799999 0.0 35.4000015 -0.291982 -0.956424 -0.90501 +1290 1 1.72 8.8500004 1.77 35.4000015 -0.8845 -0.46654 -0.90501 +1291 1 1.72 8.8500004 0.0 37.1699982 0.942097 -0.335342 -0.990079 +1292 1 1.72 7.0799999 1.77 37.1699982 0.108091 -0.994141 -0.990079 +1293 1 1.72 10.6199999 0.0 35.4000015 -0.137057 -0.990563 -0.90501 +1294 1 1.72 12.3900004 1.77 35.4000015 0.952613 0.304184 -0.90501 +1295 1 1.72 12.3900004 0.0 37.1699982 -0.1597 -0.987166 -0.990079 +1296 1 1.72 10.6199999 1.77 37.1699982 -0.0914808 0.995807 -0.990079 +1297 1 1.72 14.1599999 0.0 35.4000015 -0.0551536 -0.998478 -0.90501 +1298 1 1.72 15.9300004 1.77 35.4000015 0.999997 -0.00261404 -0.90501 +1299 1 1.72 15.9300004 0.0 37.1699982 0.0424257 0.9991 -0.990079 +1300 1 1.72 14.1599999 1.77 37.1699982 0.986492 0.16381 -0.990079 +1301 1 1.72 17.7000008 0.0 35.4000015 -0.987731 0.156162 -0.90501 +1302 1 1.72 19.4699993 1.77 35.4000015 0.999136 0.0415675 -0.90501 +1303 1 1.72 19.4699993 0.0 37.1699982 0.538991 -0.842311 -0.990079 +1304 1 1.72 17.7000008 1.77 37.1699982 -0.701947 0.712229 -0.990079 +1305 1 1.72 21.2399998 0.0 35.4000015 -0.846846 0.531838 -0.90501 +1306 1 1.72 23.0100002 1.77 35.4000015 0.968994 -0.247084 -0.90501 +1307 1 1.72 23.0100002 0.0 37.1699982 0.459686 0.888081 -0.990079 +1308 1 1.72 21.2399998 1.77 37.1699982 0.843309 -0.537428 -0.990079 +1309 1 1.72 24.7800007 0.0 35.4000015 0.604604 -0.796526 -0.90501 +1310 1 1.72 26.5499993 1.77 35.4000015 0.404715 -0.914443 -0.90501 +1311 1 1.72 26.5499993 0.0 37.1699982 -0.275981 -0.961163 -0.990079 +1312 1 1.72 24.7800007 1.77 37.1699982 -0.990018 0.140938 -0.990079 +1313 1 1.72 0.0 3.54 35.4000015 -0.745892 0.666066 -0.90501 +1314 1 1.72 1.77 5.31 35.4000015 0.222674 0.974893 -0.90501 +1315 1 1.72 1.77 3.54 37.1699982 0.759307 -0.650733 -0.990079 +1316 1 1.72 0.0 5.31 37.1699982 0.40079 -0.91617 -0.990079 +1317 1 1.72 3.54 3.54 35.4000015 0.965248 0.261337 -0.90501 +1318 1 1.72 5.31 5.31 35.4000015 0.808289 0.588786 -0.90501 +1319 1 1.72 5.31 3.54 37.1699982 -0.664905 0.746928 -0.990079 +1320 1 1.72 3.54 5.31 37.1699982 -0.902118 -0.43149 -0.990079 +1321 1 1.72 7.0799999 3.54 35.4000015 -0.591009 0.806665 -0.90501 +1322 1 1.72 8.8500004 5.31 35.4000015 0.147962 -0.988993 -0.90501 +1323 1 1.72 8.8500004 3.54 37.1699982 -0.594126 0.804372 -0.990079 +1324 1 1.72 7.0799999 5.31 37.1699982 0.759327 0.65071 -0.990079 +1325 1 1.72 10.6199999 3.54 35.4000015 0.954116 -0.299437 -0.90501 +1326 1 1.72 12.3900004 5.31 35.4000015 -0.90407 -0.427384 -0.90501 +1327 1 1.72 12.3900004 3.54 37.1699982 0.576244 0.817278 -0.990079 +1328 1 1.72 10.6199999 5.31 37.1699982 0.473674 0.8807 -0.990079 +1329 1 1.72 14.1599999 3.54 35.4000015 0.141741 -0.989904 -0.90501 +1330 1 1.72 15.9300004 5.31 35.4000015 0.795677 -0.605721 -0.90501 +1331 1 1.72 15.9300004 3.54 37.1699982 -0.978247 -0.207442 -0.990079 +1332 1 1.72 14.1599999 5.31 37.1699982 0.80143 -0.598089 -0.990079 +1333 1 1.72 17.7000008 3.54 35.4000015 0.734105 -0.679036 -0.90501 +1334 1 1.72 19.4699993 5.31 35.4000015 0.67717 -0.735827 -0.90501 +1335 1 1.72 19.4699993 3.54 37.1699982 -0.845644 -0.533748 -0.990079 +1336 1 1.72 17.7000008 5.31 37.1699982 0.865183 0.501456 -0.990079 +1337 1 1.72 21.2399998 3.54 35.4000015 0.307914 0.951414 -0.90501 +1338 1 1.72 23.0100002 5.31 35.4000015 0.867733 0.497031 -0.90501 +1339 1 1.72 23.0100002 3.54 37.1699982 0.708211 -0.706001 -0.990079 +1340 1 1.72 21.2399998 5.31 37.1699982 0.739301 0.673375 -0.990079 +1341 1 1.72 24.7800007 3.54 35.4000015 0.91298 0.408004 -0.90501 +1342 1 1.72 26.5499993 5.31 35.4000015 -0.68211 0.73125 -0.90501 +1343 1 1.72 26.5499993 3.54 37.1699982 0.969349 0.245686 -0.990079 +1344 1 1.72 24.7800007 5.31 37.1699982 -0.211815 -0.97731 -0.990079 +1345 1 1.72 0.0 7.0799999 35.4000015 -0.392123 0.919913 -0.90501 +1346 1 1.72 1.77 8.8500004 35.4000015 0.242424 -0.97017 -0.90501 +1347 1 1.72 1.77 7.0799999 37.1699982 0.585077 -0.810978 -0.990079 +1348 1 1.72 0.0 8.8500004 37.1699982 0.770913 -0.63694 -0.990079 +1349 1 1.72 3.54 7.0799999 35.4000015 0.503266 0.864132 -0.90501 +1350 1 1.72 5.31 8.8500004 35.4000015 1 -0.000307051 -0.90501 +1351 1 1.72 5.31 7.0799999 37.1699982 0.314293 -0.949326 -0.990079 +1352 1 1.72 3.54 8.8500004 37.1699982 0.98924 -0.1463 -0.990079 +1353 1 1.72 7.0799999 7.0799999 35.4000015 -0.715545 0.698567 -0.90501 +1354 1 1.72 8.8500004 8.8500004 35.4000015 0.996297 -0.0859746 -0.90501 +1355 1 1.72 8.8500004 7.0799999 37.1699982 0.884823 -0.465928 -0.990079 +1356 1 1.72 7.0799999 8.8500004 37.1699982 0.903291 -0.429028 -0.990079 +1357 1 1.72 10.6199999 7.0799999 35.4000015 0.969254 0.246063 -0.90501 +1358 1 1.72 12.3900004 8.8500004 35.4000015 -0.892939 0.450178 -0.90501 +1359 1 1.72 12.3900004 7.0799999 37.1699982 -0.409629 -0.912252 -0.990079 +1360 1 1.72 10.6199999 8.8500004 37.1699982 0.936433 -0.350846 -0.990079 +1361 1 1.72 14.1599999 7.0799999 35.4000015 0.82122 0.570612 -0.90501 +1362 1 1.72 15.9300004 8.8500004 35.4000015 -0.979622 -0.20085 -0.90501 +1363 1 1.72 15.9300004 7.0799999 37.1699982 -0.81866 0.574279 -0.990079 +1364 1 1.72 14.1599999 8.8500004 37.1699982 0.706937 0.707277 -0.990079 +1365 1 1.72 17.7000008 7.0799999 35.4000015 -0.711766 -0.702417 -0.90501 +1366 1 1.72 19.4699993 8.8500004 35.4000015 -0.284452 0.95869 -0.90501 +1367 1 1.72 19.4699993 7.0799999 37.1699982 -0.740877 -0.671641 -0.990079 +1368 1 1.72 17.7000008 8.8500004 37.1699982 0.926633 -0.375968 -0.990079 +1369 1 1.72 21.2399998 7.0799999 35.4000015 0.98838 0.152 -0.90501 +1370 1 1.72 23.0100002 8.8500004 35.4000015 -0.279107 -0.96026 -0.90501 +1371 1 1.72 23.0100002 7.0799999 37.1699982 0.487169 -0.873308 -0.990079 +1372 1 1.72 21.2399998 8.8500004 37.1699982 -0.973638 -0.2281 -0.990079 +1373 1 1.72 24.7800007 7.0799999 35.4000015 -0.332992 -0.94293 -0.90501 +1374 1 1.72 26.5499993 8.8500004 35.4000015 0.259907 0.965634 -0.90501 +1375 1 1.72 26.5499993 7.0799999 37.1699982 -0.683827 0.729644 -0.990079 +1376 1 1.72 24.7800007 8.8500004 37.1699982 0.977007 -0.213208 -0.990079 +1377 1 1.72 0.0 10.6199999 35.4000015 0.878603 -0.477553 -0.90501 +1378 1 1.72 1.77 12.3900004 35.4000015 0.0660494 -0.997816 -0.90501 +1379 1 1.72 1.77 10.6199999 37.1699982 -0.728669 -0.684866 -0.990079 +1380 1 1.72 0.0 12.3900004 37.1699982 0.999825 -0.0186905 -0.990079 +1381 1 1.72 3.54 10.6199999 35.4000015 -0.922404 -0.386227 -0.90501 +1382 1 1.72 5.31 12.3900004 35.4000015 0.902698 -0.430275 -0.90501 +1383 1 1.72 5.31 10.6199999 37.1699982 -0.685808 0.727783 -0.990079 +1384 1 1.72 3.54 12.3900004 37.1699982 -0.961838 0.273621 -0.990079 +1385 1 1.72 7.0799999 10.6199999 35.4000015 0.0463263 -0.998926 -0.90501 +1386 1 1.72 8.8500004 12.3900004 35.4000015 0.931063 0.364859 -0.90501 +1387 1 1.72 8.8500004 10.6199999 37.1699982 0.111114 0.993808 -0.990079 +1388 1 1.72 7.0799999 12.3900004 37.1699982 -0.590084 0.807342 -0.990079 +1389 1 1.72 10.6199999 10.6199999 35.4000015 -0.816294 0.577637 -0.90501 +1390 1 1.72 12.3900004 12.3900004 35.4000015 0.933899 -0.357537 -0.90501 +1391 1 1.72 12.3900004 10.6199999 37.1699982 0.996561 -0.0828658 -0.990079 +1392 1 1.72 10.6199999 12.3900004 37.1699982 0.559439 0.828872 -0.990079 +1393 1 1.72 14.1599999 10.6199999 35.4000015 -0.136334 -0.990663 -0.90501 +1394 1 1.72 15.9300004 12.3900004 35.4000015 0.998921 -0.0464396 -0.90501 +1395 1 1.72 15.9300004 10.6199999 37.1699982 0.968134 0.250433 -0.990079 +1396 1 1.72 14.1599999 12.3900004 37.1699982 0.560068 0.828447 -0.990079 +1397 1 1.72 17.7000008 10.6199999 35.4000015 -0.83767 0.546176 -0.90501 +1398 1 1.72 19.4699993 12.3900004 35.4000015 0.93805 0.3465 -0.90501 +1399 1 1.72 19.4699993 10.6199999 37.1699982 -0.92963 0.368496 -0.990079 +1400 1 1.72 17.7000008 12.3900004 37.1699982 -0.777503 -0.628879 -0.990079 +1401 1 1.72 21.2399998 10.6199999 35.4000015 -0.65862 0.752476 -0.90501 +1402 1 1.72 23.0100002 12.3900004 35.4000015 0.988051 0.154127 -0.90501 +1403 1 1.72 23.0100002 10.6199999 37.1699982 -0.397996 -0.917387 -0.990079 +1404 1 1.72 21.2399998 12.3900004 37.1699982 0.478327 0.878182 -0.990079 +1405 1 1.72 24.7800007 10.6199999 35.4000015 -0.999092 0.0426096 -0.90501 +1406 1 1.72 26.5499993 12.3900004 35.4000015 -0.59408 0.804406 -0.90501 +1407 1 1.72 26.5499993 10.6199999 37.1699982 -0.851709 0.524015 -0.990079 +1408 1 1.72 24.7800007 12.3900004 37.1699982 -0.938552 -0.345137 -0.990079 +1409 1 1.72 0.0 0.0 38.9399986 0.344952 -0.93862 -1.0 +1410 1 1.72 1.77 1.77 38.9399986 0.660389 0.750924 -1.0 +1411 1 1.72 1.77 0.0 40.7099991 0.899727 0.436453 -1.0 +1412 1 1.72 0.0 1.77 40.7099991 0.437888 0.899029 -1.0 +1413 1 1.72 3.54 0.0 38.9399986 0.167168 -0.985928 -1.0 +1414 1 1.72 5.31 1.77 38.9399986 0.892267 -0.451507 -1.0 +1415 1 1.72 5.31 0.0 40.7099991 0.513878 0.857863 -1.0 +1416 1 1.72 3.54 1.77 40.7099991 0.799566 0.600578 -1.0 +1417 1 1.72 7.0799999 0.0 38.9399986 -0.521087 0.853504 -1.0 +1418 1 1.72 8.8500004 1.77 38.9399986 -0.330938 0.943653 -1.0 +1419 1 1.72 8.8500004 0.0 40.7099991 0.548165 -0.83637 -1.0 +1420 1 1.72 7.0799999 1.77 40.7099991 0.730342 -0.683081 -1.0 +1421 1 1.72 10.6199999 0.0 38.9399986 -0.266616 0.963803 -1.0 +1422 1 1.72 12.3900004 1.77 38.9399986 -0.633583 -0.773675 -1.0 +1423 1 1.72 12.3900004 0.0 40.7099991 -0.684695 0.728829 -1.0 +1424 1 1.72 10.6199999 1.77 40.7099991 0.977689 0.21006 -1.0 +1425 1 1.72 14.1599999 0.0 38.9399986 -0.0328035 0.999462 -1.0 +1426 1 1.72 15.9300004 1.77 38.9399986 -0.877562 0.479464 -1.0 +1427 1 1.72 15.9300004 0.0 40.7099991 0.0138242 -0.999904 -1.0 +1428 1 1.72 14.1599999 1.77 40.7099991 -0.960762 0.277372 -1.0 +1429 1 1.72 17.7000008 0.0 38.9399986 -0.903391 0.428818 -1.0 +1430 1 1.72 19.4699993 1.77 38.9399986 -0.0462961 0.998928 -1.0 +1431 1 1.72 19.4699993 0.0 40.7099991 0.398752 -0.917059 -1.0 +1432 1 1.72 17.7000008 1.77 40.7099991 -0.676259 -0.736664 -1.0 +1433 1 1.72 21.2399998 0.0 38.9399986 0.74816 -0.663519 -1.0 +1434 1 1.72 23.0100002 1.77 38.9399986 0.986612 -0.163082 -1.0 +1435 1 1.72 23.0100002 0.0 40.7099991 0.787619 -0.616163 -1.0 +1436 1 1.72 21.2399998 1.77 40.7099991 -0.829699 0.558211 -1.0 +1437 1 1.72 24.7800007 0.0 38.9399986 0.783063 -0.621942 -1.0 +1438 1 1.72 26.5499993 1.77 38.9399986 -0.354314 -0.935126 -1.0 +1439 1 1.72 26.5499993 0.0 40.7099991 -0.998058 0.0622859 -1.0 +1440 1 1.72 24.7800007 1.77 40.7099991 -0.0230319 -0.999735 -1.0 +1441 1 1.72 0.0 3.54 38.9399986 -0.998688 -0.0512099 -1.0 +1442 1 1.72 1.77 5.31 38.9399986 -0.992267 -0.124119 -1.0 +1443 1 1.72 1.77 3.54 40.7099991 -0.243292 0.969953 -1.0 +1444 1 1.72 0.0 5.31 40.7099991 0.65042 -0.759574 -1.0 +1445 1 1.72 3.54 3.54 38.9399986 -0.157989 -0.987441 -1.0 +1446 1 1.72 5.31 5.31 38.9399986 -0.0723898 -0.997376 -1.0 +1447 1 1.72 5.31 3.54 40.7099991 0.868632 0.495458 -1.0 +1448 1 1.72 3.54 5.31 40.7099991 0.476134 0.879373 -1.0 +1449 1 1.72 7.0799999 3.54 38.9399986 -0.733079 0.680143 -1.0 +1450 1 1.72 8.8500004 5.31 38.9399986 0.884991 -0.465607 -1.0 +1451 1 1.72 8.8500004 3.54 40.7099991 0.598281 0.801286 -1.0 +1452 1 1.72 7.0799999 5.31 40.7099991 -0.78193 0.623366 -1.0 +1453 1 1.72 10.6199999 3.54 38.9399986 0.393558 0.9193 -1.0 +1454 1 1.72 12.3900004 5.31 38.9399986 0.517718 0.855551 -1.0 +1455 1 1.72 12.3900004 3.54 40.7099991 0.121396 0.992604 -1.0 +1456 1 1.72 10.6199999 5.31 40.7099991 -0.726927 -0.686715 -1.0 +1457 1 1.72 14.1599999 3.54 38.9399986 -0.017655 0.999844 -1.0 +1458 1 1.72 15.9300004 5.31 38.9399986 -0.230251 0.973131 -1.0 +1459 1 1.72 15.9300004 3.54 40.7099991 0.535262 0.844686 -1.0 +1460 1 1.72 14.1599999 5.31 40.7099991 0.690918 -0.722933 -1.0 +1461 1 1.72 17.7000008 3.54 38.9399986 -0.0288586 0.999584 -1.0 +1462 1 1.72 19.4699993 5.31 38.9399986 0.220472 -0.975393 -1.0 +1463 1 1.72 19.4699993 3.54 40.7099991 0.904602 -0.426257 -1.0 +1464 1 1.72 17.7000008 5.31 40.7099991 0.183673 0.982987 -1.0 +1465 1 1.72 21.2399998 3.54 38.9399986 -0.99336 -0.115049 -1.0 +1466 1 1.72 23.0100002 5.31 38.9399986 -0.843525 -0.53709 -1.0 +1467 1 1.72 23.0100002 3.54 40.7099991 0.801596 -0.597866 -1.0 +1468 1 1.72 21.2399998 5.31 40.7099991 0.377474 0.92602 -1.0 +1469 1 1.72 24.7800007 3.54 38.9399986 0.231941 -0.97273 -1.0 +1470 1 1.72 26.5499993 5.31 38.9399986 0.704724 0.709481 -1.0 +1471 1 1.72 26.5499993 3.54 40.7099991 0.399001 0.916951 -1.0 +1472 1 1.72 24.7800007 5.31 40.7099991 0.786339 0.617795 -1.0 +1473 1 1.72 0.0 7.0799999 38.9399986 0.991691 0.128642 -1.0 +1474 1 1.72 1.77 8.8500004 38.9399986 -0.931353 0.364118 -1.0 +1475 1 1.72 1.77 7.0799999 40.7099991 0.390401 -0.920645 -1.0 +1476 1 1.72 0.0 8.8500004 40.7099991 0.832046 -0.554707 -1.0 +1477 1 1.72 3.54 7.0799999 38.9399986 0.490501 -0.87144 -1.0 +1478 1 1.72 5.31 8.8500004 38.9399986 0.517491 0.855689 -1.0 +1479 1 1.72 5.31 7.0799999 40.7099991 0.96801 -0.25091 -1.0 +1480 1 1.72 3.54 8.8500004 40.7099991 0.831647 0.555304 -1.0 +1481 1 1.72 7.0799999 7.0799999 38.9399986 -0.756584 -0.653896 -1.0 +1482 1 1.72 8.8500004 8.8500004 38.9399986 0.972635 0.23234 -1.0 +1483 1 1.72 8.8500004 7.0799999 40.7099991 -0.569089 -0.822276 -1.0 +1484 1 1.72 7.0799999 8.8500004 40.7099991 -0.999997 -0.00232018 -1.0 +1485 1 1.72 10.6199999 7.0799999 38.9399986 -0.917029 -0.39882 -1.0 +1486 1 1.72 12.3900004 8.8500004 38.9399986 -0.749901 0.66155 -1.0 +1487 1 1.72 12.3900004 7.0799999 40.7099991 -0.953485 0.301441 -1.0 +1488 1 1.72 10.6199999 8.8500004 40.7099991 -0.959917 -0.280284 -1.0 +1489 1 1.72 14.1599999 7.0799999 38.9399986 -0.419687 -0.907669 -1.0 +1490 1 1.72 15.9300004 8.8500004 38.9399986 -0.736691 0.676229 -1.0 +1491 1 1.72 15.9300004 7.0799999 40.7099991 -0.661978 -0.749524 -1.0 +1492 1 1.72 14.1599999 8.8500004 40.7099991 -0.247976 -0.968766 -1.0 +1493 1 1.72 17.7000008 7.0799999 38.9399986 -0.955047 -0.296455 -1.0 +1494 1 1.72 19.4699993 8.8500004 38.9399986 0.771333 -0.636431 -1.0 +1495 1 1.72 19.4699993 7.0799999 40.7099991 -0.534287 0.845303 -1.0 +1496 1 1.72 17.7000008 8.8500004 40.7099991 -0.392285 -0.919844 -1.0 +1497 1 1.72 21.2399998 7.0799999 38.9399986 -0.356713 0.934214 -1.0 +1498 1 1.72 23.0100002 8.8500004 38.9399986 -0.54703 0.837113 -1.0 +1499 1 1.72 23.0100002 7.0799999 40.7099991 0.534982 0.844864 -1.0 +1500 1 1.72 21.2399998 8.8500004 40.7099991 -0.367134 0.930168 -1.0 +1501 1 1.72 24.7800007 7.0799999 38.9399986 -0.657356 -0.75358 -1.0 +1502 1 1.72 26.5499993 8.8500004 38.9399986 -0.0400527 -0.999198 -1.0 +1503 1 1.72 26.5499993 7.0799999 40.7099991 0.174483 0.98466 -1.0 +1504 1 1.72 24.7800007 8.8500004 40.7099991 0.846796 -0.531917 -1.0 +1505 1 1.72 0.0 10.6199999 38.9399986 -0.477487 0.878639 -1.0 +1506 1 1.72 1.77 12.3900004 38.9399986 -0.935231 -0.354038 -1.0 +1507 1 1.72 1.77 10.6199999 40.7099991 0.99998 -0.00630189 -1.0 +1508 1 1.72 0.0 12.3900004 40.7099991 -0.890445 -0.455092 -1.0 +1509 1 1.72 3.54 10.6199999 38.9399986 0.734004 -0.679145 -1.0 +1510 1 1.72 5.31 12.3900004 38.9399986 -0.124496 -0.99222 -1.0 +1511 1 1.72 5.31 10.6199999 40.7099991 0.798742 -0.601673 -1.0 +1512 1 1.72 3.54 12.3900004 40.7099991 -0.993495 -0.113879 -1.0 +1513 1 1.72 7.0799999 10.6199999 38.9399986 -0.998599 0.0529131 -1.0 +1514 1 1.72 8.8500004 12.3900004 38.9399986 -0.370595 0.928795 -1.0 +1515 1 1.72 8.8500004 10.6199999 40.7099991 -0.945136 0.326676 -1.0 +1516 1 1.72 7.0799999 12.3900004 40.7099991 0.865467 -0.500967 -1.0 +1517 1 1.72 10.6199999 10.6199999 38.9399986 -0.643472 -0.76547 -1.0 +1518 1 1.72 12.3900004 12.3900004 38.9399986 -0.662488 -0.749073 -1.0 +1519 1 1.72 12.3900004 10.6199999 40.7099991 -0.862552 0.505969 -1.0 +1520 1 1.72 10.6199999 12.3900004 40.7099991 0.532564 0.84639 -1.0 +1521 1 1.72 14.1599999 10.6199999 38.9399986 0.184854 -0.982766 -1.0 +1522 1 1.72 15.9300004 12.3900004 38.9399986 0.702517 -0.711667 -1.0 +1523 1 1.72 15.9300004 10.6199999 40.7099991 -0.90802 -0.418927 -1.0 +1524 1 1.72 14.1599999 12.3900004 40.7099991 0.540309 0.841467 -1.0 +1525 1 1.72 17.7000008 10.6199999 38.9399986 -0.694843 -0.719161 -1.0 +1526 1 1.72 19.4699993 12.3900004 38.9399986 0.963227 0.268688 -1.0 +1527 1 1.72 19.4699993 10.6199999 40.7099991 0.854974 -0.518671 -1.0 +1528 1 1.72 17.7000008 12.3900004 40.7099991 0.125003 -0.992156 -1.0 +1529 1 1.72 21.2399998 10.6199999 38.9399986 0.793554 0.6085 -1.0 +1530 1 1.72 23.0100002 12.3900004 38.9399986 0.48485 0.874597 -1.0 +1531 1 1.72 23.0100002 10.6199999 40.7099991 -0.732329 -0.68095 -1.0 +1532 1 1.72 21.2399998 12.3900004 40.7099991 -0.754029 -0.656841 -1.0 +1533 1 1.72 24.7800007 10.6199999 38.9399986 0.603218 0.797577 -1.0 +1534 1 1.72 26.5499993 12.3900004 38.9399986 0.111567 -0.993757 -1.0 +1535 1 1.72 26.5499993 10.6199999 40.7099991 -0.443806 0.896123 -1.0 +1536 1 1.72 24.7800007 12.3900004 40.7099991 0.553387 0.832924 -1.0 +1537 1 1.72 0.0 0.0 42.4799996 -0.779882 0.625926 -1.0 +1538 1 1.72 1.77 1.77 42.4799996 -0.99774 -0.0671896 -1.0 +1539 1 1.72 1.77 0.0 44.25 0.908352 -0.418206 -1.0 +1540 1 1.72 0.0 1.77 44.25 -0.689177 -0.724593 -1.0 +1541 1 1.72 3.54 0.0 42.4799996 0.616551 -0.787315 -1.0 +1542 1 1.72 5.31 1.77 42.4799996 0.882048 0.471159 -1.0 +1543 1 1.72 5.31 0.0 44.25 -0.27813 -0.960543 -1.0 +1544 1 1.72 3.54 1.77 44.25 0.556168 0.83107 -1.0 +1545 1 1.72 7.0799999 0.0 42.4799996 0.432803 0.901489 -1.0 +1546 1 1.72 8.8500004 1.77 42.4799996 0.616089 0.787677 -1.0 +1547 1 1.72 8.8500004 0.0 44.25 -0.380929 -0.924604 -1.0 +1548 1 1.72 7.0799999 1.77 44.25 -0.727313 -0.686306 -1.0 +1549 1 1.72 10.6199999 0.0 42.4799996 0.873361 -0.487074 -1.0 +1550 1 1.72 12.3900004 1.77 42.4799996 0.755001 0.655723 -1.0 +1551 1 1.72 12.3900004 0.0 44.25 0.956648 0.291245 -1.0 +1552 1 1.72 10.6199999 1.77 44.25 0.774436 0.632653 -1.0 +1553 1 1.72 14.1599999 0.0 42.4799996 0.968323 0.249703 -1.0 +1554 1 1.72 15.9300004 1.77 42.4799996 0.992335 -0.123574 -1.0 +1555 1 1.72 15.9300004 0.0 44.25 0.943656 -0.330929 -1.0 +1556 1 1.72 14.1599999 1.77 44.25 -0.682322 0.731052 -1.0 +1557 1 1.72 17.7000008 0.0 42.4799996 0.956794 0.290766 -1.0 +1558 1 1.72 19.4699993 1.77 42.4799996 0.991775 -0.127996 -1.0 +1559 1 1.72 19.4699993 0.0 44.25 0.965549 0.260221 -1.0 +1560 1 1.72 17.7000008 1.77 44.25 -0.770857 -0.637009 -1.0 +1561 1 1.72 21.2399998 0.0 42.4799996 0.53295 0.846147 -1.0 +1562 1 1.72 23.0100002 1.77 42.4799996 -0.0202521 -0.999795 -1.0 +1563 1 1.72 23.0100002 0.0 44.25 -0.818851 -0.574007 -1.0 +1564 1 1.72 21.2399998 1.77 44.25 0.363505 0.931592 -1.0 +1565 1 1.72 24.7800007 0.0 42.4799996 0.517936 -0.855419 -1.0 +1566 1 1.72 26.5499993 1.77 42.4799996 -0.788068 0.615588 -1.0 +1567 1 1.72 26.5499993 0.0 44.25 0.573091 -0.819492 -1.0 +1568 1 1.72 24.7800007 1.77 44.25 -0.841693 -0.539956 -1.0 +1569 1 1.72 0.0 3.54 42.4799996 -0.113809 -0.993503 -1.0 +1570 1 1.72 1.77 5.31 42.4799996 -0.998184 0.060233 -1.0 +1571 1 1.72 1.77 3.54 44.25 -0.707223 -0.70699 -1.0 +1572 1 1.72 0.0 5.31 44.25 0.700773 -0.713384 -1.0 +1573 1 1.72 3.54 3.54 42.4799996 0.66094 -0.750438 -1.0 +1574 1 1.72 5.31 5.31 42.4799996 0.772341 -0.635208 -1.0 +1575 1 1.72 5.31 3.54 44.25 -0.797329 -0.603544 -1.0 +1576 1 1.72 3.54 5.31 44.25 -0.989045 0.147617 -1.0 +1577 1 1.72 7.0799999 3.54 42.4799996 0.99772 -0.0674899 -1.0 +1578 1 1.72 8.8500004 5.31 42.4799996 0.999809 0.0195364 -1.0 +1579 1 1.72 8.8500004 3.54 44.25 -0.993804 0.111149 -1.0 +1580 1 1.72 7.0799999 5.31 44.25 -0.447511 0.894279 -1.0 +1581 1 1.72 10.6199999 3.54 42.4799996 0.95707 0.289856 -1.0 +1582 1 1.72 12.3900004 5.31 42.4799996 0.40934 -0.912382 -1.0 +1583 1 1.72 12.3900004 3.54 44.25 0.411987 -0.91119 -1.0 +1584 1 1.72 10.6199999 5.31 44.25 0.0809672 0.996717 -1.0 +1585 1 1.72 14.1599999 3.54 42.4799996 0.806982 -0.590576 -1.0 +1586 1 1.72 15.9300004 5.31 42.4799996 -0.92161 -0.388116 -1.0 +1587 1 1.72 15.9300004 3.54 44.25 0.895205 -0.445655 -1.0 +1588 1 1.72 14.1599999 5.31 44.25 0.193999 0.981002 -1.0 +1589 1 1.72 17.7000008 3.54 42.4799996 0.571974 0.820272 -1.0 +1590 1 1.72 19.4699993 5.31 42.4799996 0.997266 -0.0738976 -1.0 +1591 1 1.72 19.4699993 3.54 44.25 -0.681332 0.731974 -1.0 +1592 1 1.72 17.7000008 5.31 44.25 -0.709658 -0.704547 -1.0 +1593 1 1.72 21.2399998 3.54 42.4799996 0.781285 -0.624174 -1.0 +1594 1 1.72 23.0100002 5.31 42.4799996 0.0827649 0.996569 -1.0 +1595 1 1.72 23.0100002 3.54 44.25 -0.891169 0.453672 -1.0 +1596 1 1.72 21.2399998 5.31 44.25 -0.960858 0.277042 -1.0 +1597 1 1.72 24.7800007 3.54 42.4799996 -0.246809 0.969064 -1.0 +1598 1 1.72 26.5499993 5.31 42.4799996 0.731543 -0.681795 -1.0 +1599 1 1.72 26.5499993 3.54 44.25 0.507028 -0.86193 -1.0 +1600 1 1.72 24.7800007 5.31 44.25 0.239267 -0.970954 -1.0 +1601 1 1.72 0.0 7.0799999 42.4799996 -0.207203 -0.978298 -1.0 +1602 1 1.72 1.77 8.8500004 42.4799996 -0.796206 -0.605026 -1.0 +1603 1 1.72 1.77 7.0799999 44.25 -0.861104 0.508429 -1.0 +1604 1 1.72 0.0 8.8500004 44.25 -0.962434 -0.271514 -1.0 +1605 1 1.72 3.54 7.0799999 42.4799996 -0.960785 0.277295 -1.0 +1606 1 1.72 5.31 8.8500004 42.4799996 0.860087 0.510147 -1.0 +1607 1 1.72 5.31 7.0799999 44.25 0.685069 -0.728478 -1.0 +1608 1 1.72 3.54 8.8500004 44.25 -0.866577 0.499044 -1.0 +1609 1 1.72 7.0799999 7.0799999 42.4799996 0.914713 -0.404105 -1.0 +1610 1 1.72 8.8500004 8.8500004 42.4799996 0.657443 -0.753504 -1.0 +1611 1 1.72 8.8500004 7.0799999 44.25 -0.611297 -0.791401 -1.0 +1612 1 1.72 7.0799999 8.8500004 44.25 -0.53984 -0.841768 -1.0 +1613 1 1.72 10.6199999 7.0799999 42.4799996 -0.741902 -0.670508 -1.0 +1614 1 1.72 12.3900004 8.8500004 42.4799996 0.999853 -0.0171239 -1.0 +1615 1 1.72 12.3900004 7.0799999 44.25 -0.794014 0.6079 -1.0 +1616 1 1.72 10.6199999 8.8500004 44.25 0.764547 0.644568 -1.0 +1617 1 1.72 14.1599999 7.0799999 42.4799996 -0.294745 0.955576 -1.0 +1618 1 1.72 15.9300004 8.8500004 42.4799996 -0.258804 -0.96593 -1.0 +1619 1 1.72 15.9300004 7.0799999 44.25 0.8344 -0.55116 -1.0 +1620 1 1.72 14.1599999 8.8500004 44.25 0.648362 0.761332 -1.0 +1621 1 1.72 17.7000008 7.0799999 42.4799996 -0.448192 -0.893937 -1.0 +1622 1 1.72 19.4699993 8.8500004 42.4799996 0.622553 0.782578 -1.0 +1623 1 1.72 19.4699993 7.0799999 44.25 -0.907355 0.420366 -1.0 +1624 1 1.72 17.7000008 8.8500004 44.25 0.993176 -0.116625 -1.0 +1625 1 1.72 21.2399998 7.0799999 42.4799996 -0.985696 -0.168533 -1.0 +1626 1 1.72 23.0100002 8.8500004 42.4799996 -0.611019 0.791616 -1.0 +1627 1 1.72 23.0100002 7.0799999 44.25 -0.660688 -0.750661 -1.0 +1628 1 1.72 21.2399998 8.8500004 44.25 -0.315353 -0.948974 -1.0 +1629 1 1.72 24.7800007 7.0799999 42.4799996 0.867247 0.497879 -1.0 +1630 1 1.72 26.5499993 8.8500004 42.4799996 0.0730612 0.997327 -1.0 +1631 1 1.72 26.5499993 7.0799999 44.25 0.925677 -0.378315 -1.0 +1632 1 1.72 24.7800007 8.8500004 44.25 0.455424 -0.890275 -1.0 +1633 1 1.72 0.0 10.6199999 42.4799996 0.798618 0.601838 -1.0 +1634 1 1.72 1.77 12.3900004 42.4799996 -0.321703 -0.946841 -1.0 +1635 1 1.72 1.77 10.6199999 44.25 0.903373 0.428856 -1.0 +1636 1 1.72 0.0 12.3900004 44.25 -0.859684 -0.510826 -1.0 +1637 1 1.72 3.54 10.6199999 42.4799996 -0.290069 0.957006 -1.0 +1638 1 1.72 5.31 12.3900004 42.4799996 0.873874 -0.486152 -1.0 +1639 1 1.72 5.31 10.6199999 44.25 0.560085 -0.828435 -1.0 +1640 1 1.72 3.54 12.3900004 44.25 -0.583989 0.811762 -1.0 +1641 1 1.72 7.0799999 10.6199999 42.4799996 -0.605849 -0.79558 -1.0 +1642 1 1.72 8.8500004 12.3900004 42.4799996 0.99353 0.113569 -1.0 +1643 1 1.72 8.8500004 10.6199999 44.25 -0.267563 0.96354 -1.0 +1644 1 1.72 7.0799999 12.3900004 44.25 0.865189 -0.501446 -1.0 +1645 1 1.72 10.6199999 10.6199999 42.4799996 0.525633 -0.850711 -1.0 +1646 1 1.72 12.3900004 12.3900004 42.4799996 0.494672 0.86908 -1.0 +1647 1 1.72 12.3900004 10.6199999 44.25 -0.39709 0.917779 -1.0 +1648 1 1.72 10.6199999 12.3900004 44.25 -0.441693 -0.897166 -1.0 +1649 1 1.72 14.1599999 10.6199999 42.4799996 0.497335 -0.867559 -1.0 +1650 1 1.72 15.9300004 12.3900004 42.4799996 0.0257625 0.999668 -1.0 +1651 1 1.72 15.9300004 10.6199999 44.25 -0.59284 0.80532 -1.0 +1652 1 1.72 14.1599999 12.3900004 44.25 0.26395 -0.964536 -1.0 +1653 1 1.72 17.7000008 10.6199999 42.4799996 -0.927094 -0.37483 -1.0 +1654 1 1.72 19.4699993 12.3900004 42.4799996 -0.648907 0.760868 -1.0 +1655 1 1.72 19.4699993 10.6199999 44.25 0.664529 0.747263 -1.0 +1656 1 1.72 17.7000008 12.3900004 44.25 -0.550726 0.834686 -1.0 +1657 1 1.72 21.2399998 10.6199999 42.4799996 0.976708 -0.214574 -1.0 +1658 1 1.72 23.0100002 12.3900004 42.4799996 0.911639 0.410993 -1.0 +1659 1 1.72 23.0100002 10.6199999 44.25 0.793568 -0.608481 -1.0 +1660 1 1.72 21.2399998 12.3900004 44.25 0.878681 -0.477409 -1.0 +1661 1 1.72 24.7800007 10.6199999 42.4799996 0.99834 -0.0576003 -1.0 +1662 1 1.72 26.5499993 12.3900004 42.4799996 0.559264 -0.82899 -1.0 +1663 1 1.72 26.5499993 10.6199999 44.25 0.696787 -0.717278 -1.0 +1664 1 1.72 24.7800007 12.3900004 44.25 0.801346 -0.598201 -1.0 +1665 1 1.72 0.0 0.0 46.0200005 -0.796904 -0.604106 -1.0 +1666 1 1.72 1.77 1.77 46.0200005 -0.70049 -0.713662 -1.0 +1667 1 1.72 1.77 0.0 47.7900009 -0.17792 0.984045 -1.0 +1668 1 1.72 0.0 1.77 47.7900009 0.99969 -0.0249106 -1.0 +1669 1 1.72 3.54 0.0 46.0200005 -0.967654 0.252279 -1.0 +1670 1 1.72 5.31 1.77 46.0200005 0.565162 0.82498 -1.0 +1671 1 1.72 5.31 0.0 47.7900009 0.8712 0.490929 -1.0 +1672 1 1.72 3.54 1.77 47.7900009 -0.575531 0.81778 -1.0 +1673 1 1.72 7.0799999 0.0 46.0200005 -0.956595 -0.29142 -1.0 +1674 1 1.72 8.8500004 1.77 46.0200005 0.799627 0.600497 -1.0 +1675 1 1.72 8.8500004 0.0 47.7900009 0.963356 0.268227 -1.0 +1676 1 1.72 7.0799999 1.77 47.7900009 -0.781194 0.624288 -1.0 +1677 1 1.72 10.6199999 0.0 46.0200005 0.998191 -0.0601289 -1.0 +1678 1 1.72 12.3900004 1.77 46.0200005 0.94734 0.32023 -1.0 +1679 1 1.72 12.3900004 0.0 47.7900009 -0.30785 0.951435 -1.0 +1680 1 1.72 10.6199999 1.77 47.7900009 0.955995 0.293382 -1.0 +1681 1 1.72 14.1599999 0.0 46.0200005 0.633712 0.773569 -1.0 +1682 1 1.72 15.9300004 1.77 46.0200005 0.219042 -0.975716 -1.0 +1683 1 1.72 15.9300004 0.0 47.7900009 0.950876 0.309571 -1.0 +1684 1 1.72 14.1599999 1.77 47.7900009 -0.0549325 -0.99849 -1.0 +1685 1 1.72 17.7000008 0.0 46.0200005 0.854227 -0.519901 -1.0 +1686 1 1.72 19.4699993 1.77 46.0200005 0.696316 -0.717735 -1.0 +1687 1 1.72 19.4699993 0.0 47.7900009 -0.936229 -0.351392 -1.0 +1688 1 1.72 17.7000008 1.77 47.7900009 0.718631 -0.695392 -1.0 +1689 1 1.72 21.2399998 0.0 46.0200005 -0.611898 0.790936 -1.0 +1690 1 1.72 23.0100002 1.77 46.0200005 -0.616376 0.787452 -1.0 +1691 1 1.72 23.0100002 0.0 47.7900009 -0.981108 0.193458 -1.0 +1692 1 1.72 21.2399998 1.77 47.7900009 0.522272 -0.852779 -1.0 +1693 1 1.72 24.7800007 0.0 46.0200005 0.533479 -0.845813 -1.0 +1694 1 1.72 26.5499993 1.77 46.0200005 -0.858383 -0.513009 -1.0 +1695 1 1.72 26.5499993 0.0 47.7900009 -0.766908 -0.641758 -1.0 +1696 1 1.72 24.7800007 1.77 47.7900009 0.815759 0.578393 -1.0 +1697 1 1.72 0.0 3.54 46.0200005 -0.302547 -0.953135 -1.0 +1698 1 1.72 1.77 5.31 46.0200005 -0.275049 0.96143 -1.0 +1699 1 1.72 1.77 3.54 47.7900009 -0.614219 0.789135 -1.0 +1700 1 1.72 0.0 5.31 47.7900009 -0.015658 0.999877 -1.0 +1701 1 1.72 3.54 3.54 46.0200005 0.933542 -0.358467 -1.0 +1702 1 1.72 5.31 5.31 46.0200005 -0.711456 0.70273 -1.0 +1703 1 1.72 5.31 3.54 47.7900009 0.852805 -0.522229 -1.0 +1704 1 1.72 3.54 5.31 47.7900009 -0.330465 -0.943818 -1.0 +1705 1 1.72 7.0799999 3.54 46.0200005 0.384837 0.922985 -1.0 +1706 1 1.72 8.8500004 5.31 46.0200005 -0.806817 -0.590801 -1.0 +1707 1 1.72 8.8500004 3.54 47.7900009 0.144424 0.989516 -1.0 +1708 1 1.72 7.0799999 5.31 47.7900009 0.861168 0.50832 -1.0 +1709 1 1.72 10.6199999 3.54 46.0200005 0.747687 0.664052 -1.0 +1710 1 1.72 12.3900004 5.31 46.0200005 -0.956463 -0.291853 -1.0 +1711 1 1.72 12.3900004 3.54 47.7900009 0.374096 0.92739 -1.0 +1712 1 1.72 10.6199999 5.31 47.7900009 -0.682816 -0.73059 -1.0 +1713 1 1.72 14.1599999 3.54 46.0200005 0.693275 -0.720674 -1.0 +1714 1 1.72 15.9300004 5.31 46.0200005 0.335243 0.942132 -1.0 +1715 1 1.72 15.9300004 3.54 47.7900009 0.780251 0.625467 -1.0 +1716 1 1.72 14.1599999 5.31 47.7900009 0.677671 -0.735366 -1.0 +1717 1 1.72 17.7000008 3.54 46.0200005 -0.824877 -0.565312 -1.0 +1718 1 1.72 19.4699993 5.31 46.0200005 0.969532 0.244964 -1.0 +1719 1 1.72 19.4699993 3.54 47.7900009 -0.223332 0.974743 -1.0 +1720 1 1.72 17.7000008 5.31 47.7900009 0.477914 0.878406 -1.0 +1721 1 1.72 21.2399998 3.54 46.0200005 0.907628 0.419776 -1.0 +1722 1 1.72 23.0100002 5.31 46.0200005 0.926945 -0.375198 -1.0 +1723 1 1.72 23.0100002 3.54 47.7900009 -0.129674 -0.991557 -1.0 +1724 1 1.72 21.2399998 5.31 47.7900009 0.983027 0.183462 -1.0 +1725 1 1.72 24.7800007 3.54 46.0200005 0.914456 -0.404685 -1.0 +1726 1 1.72 26.5499993 5.31 46.0200005 -0.664064 0.747676 -1.0 +1727 1 1.72 26.5499993 3.54 47.7900009 0.0509501 0.998701 -1.0 +1728 1 1.72 24.7800007 5.31 47.7900009 0.1595 0.987198 -1.0 +1729 1 1.72 0.0 7.0799999 46.0200005 -0.684021 -0.729462 -1.0 +1730 1 1.72 1.77 8.8500004 46.0200005 0.652831 -0.757504 -1.0 +1731 1 1.72 1.77 7.0799999 47.7900009 0.9889 0.148581 -1.0 +1732 1 1.72 0.0 8.8500004 47.7900009 0.0993089 0.995057 -1.0 +1733 1 1.72 3.54 7.0799999 46.0200005 0.765117 -0.643891 -1.0 +1734 1 1.72 5.31 8.8500004 46.0200005 -0.996738 -0.0807099 -1.0 +1735 1 1.72 5.31 7.0799999 47.7900009 0.547293 0.836941 -1.0 +1736 1 1.72 3.54 8.8500004 47.7900009 -0.0169588 -0.999856 -1.0 +1737 1 1.72 7.0799999 7.0799999 46.0200005 0.743327 -0.668928 -1.0 +1738 1 1.72 8.8500004 8.8500004 46.0200005 0.474299 0.880364 -1.0 +1739 1 1.72 8.8500004 7.0799999 47.7900009 0.747256 0.664537 -1.0 +1740 1 1.72 7.0799999 8.8500004 47.7900009 -0.552665 -0.833404 -1.0 +1741 1 1.72 10.6199999 7.0799999 46.0200005 0.708553 -0.705658 -1.0 +1742 1 1.72 12.3900004 8.8500004 46.0200005 0.403589 0.914941 -1.0 +1743 1 1.72 12.3900004 7.0799999 47.7900009 -0.115193 -0.993343 -1.0 +1744 1 1.72 10.6199999 8.8500004 47.7900009 0.213395 0.976966 -1.0 +1745 1 1.72 14.1599999 7.0799999 46.0200005 0.263861 0.964561 -1.0 +1746 1 1.72 15.9300004 8.8500004 46.0200005 0.128674 -0.991687 -1.0 +1747 1 1.72 15.9300004 7.0799999 47.7900009 -0.963646 -0.267184 -1.0 +1748 1 1.72 14.1599999 8.8500004 47.7900009 0.678015 -0.735048 -1.0 +1749 1 1.72 17.7000008 7.0799999 46.0200005 0.92461 0.380915 -1.0 +1750 1 1.72 19.4699993 8.8500004 46.0200005 0.0177682 -0.999842 -1.0 +1751 1 1.72 19.4699993 7.0799999 47.7900009 -0.778002 0.628261 -1.0 +1752 1 1.72 17.7000008 8.8500004 47.7900009 -0.998079 0.0619576 -1.0 +1753 1 1.72 21.2399998 7.0799999 46.0200005 0.78946 0.613802 -1.0 +1754 1 1.72 23.0100002 8.8500004 46.0200005 -0.395605 0.918421 -1.0 +1755 1 1.72 23.0100002 7.0799999 47.7900009 -0.152619 -0.988285 -1.0 +1756 1 1.72 21.2399998 8.8500004 47.7900009 0.847116 -0.531408 -1.0 +1757 1 1.72 24.7800007 7.0799999 46.0200005 -0.732302 -0.68098 -1.0 +1758 1 1.72 26.5499993 8.8500004 46.0200005 -0.66848 -0.74373 -1.0 +1759 1 1.72 26.5499993 7.0799999 47.7900009 -0.58023 -0.814453 -1.0 +1760 1 1.72 24.7800007 8.8500004 47.7900009 0.737459 0.675392 -1.0 +1761 1 1.72 0.0 10.6199999 46.0200005 -0.942671 0.333723 -1.0 +1762 1 1.72 1.77 12.3900004 46.0200005 -0.578344 0.815793 -1.0 +1763 1 1.72 1.77 10.6199999 47.7900009 -0.145071 0.989421 -1.0 +1764 1 1.72 0.0 12.3900004 47.7900009 -0.755154 0.655548 -1.0 +1765 1 1.72 3.54 10.6199999 46.0200005 0.943079 0.332568 -1.0 +1766 1 1.72 5.31 12.3900004 46.0200005 -0.2576 -0.966252 -1.0 +1767 1 1.72 5.31 10.6199999 47.7900009 0.987939 0.154846 -1.0 +1768 1 1.72 3.54 12.3900004 47.7900009 0.720715 0.693231 -1.0 +1769 1 1.72 7.0799999 10.6199999 46.0200005 -0.966813 -0.255486 -1.0 +1770 1 1.72 8.8500004 12.3900004 46.0200005 0.776347 -0.630306 -1.0 +1771 1 1.72 8.8500004 10.6199999 47.7900009 0.767811 0.640677 -1.0 +1772 1 1.72 7.0799999 12.3900004 47.7900009 -0.639532 -0.768764 -1.0 +1773 1 1.72 10.6199999 10.6199999 46.0200005 0.801365 0.598176 -1.0 +1774 1 1.72 12.3900004 12.3900004 46.0200005 -0.124384 0.992234 -1.0 +1775 1 1.72 12.3900004 10.6199999 47.7900009 -0.251598 -0.967832 -1.0 +1776 1 1.72 10.6199999 12.3900004 47.7900009 0.516703 0.856165 -1.0 +1777 1 1.72 14.1599999 10.6199999 46.0200005 -0.694838 -0.719166 -1.0 +1778 1 1.72 15.9300004 12.3900004 46.0200005 0.690554 0.72328 -1.0 +1779 1 1.72 15.9300004 10.6199999 47.7900009 -0.973203 -0.229946 -1.0 +1780 1 1.72 14.1599999 12.3900004 47.7900009 0.995212 0.0977416 -1.0 +1781 1 1.72 17.7000008 10.6199999 46.0200005 -0.768942 -0.639319 -1.0 +1782 1 1.72 19.4699993 12.3900004 46.0200005 -0.238243 -0.971206 -1.0 +1783 1 1.72 19.4699993 10.6199999 47.7900009 -0.781012 0.624515 -1.0 +1784 1 1.72 17.7000008 12.3900004 47.7900009 -0.395793 0.91834 -1.0 +1785 1 1.72 21.2399998 10.6199999 46.0200005 -0.10685 0.994275 -1.0 +1786 1 1.72 23.0100002 12.3900004 46.0200005 0.616544 0.78732 -1.0 +1787 1 1.72 23.0100002 10.6199999 47.7900009 -0.391461 0.920195 -1.0 +1788 1 1.72 21.2399998 12.3900004 47.7900009 -0.957397 0.288773 -1.0 +1789 1 1.72 24.7800007 10.6199999 46.0200005 0.153505 -0.988148 -1.0 +1790 1 1.72 26.5499993 12.3900004 46.0200005 -0.4169 -0.908952 -1.0 +1791 1 1.72 26.5499993 10.6199999 47.7900009 -0.688911 0.724846 -1.0 +1792 1 1.72 24.7800007 12.3900004 47.7900009 -0.64953 -0.760336 -1.0 +1793 1 1.72 0.0 0.0 49.5600014 0.963203 0.268774 -1.0 +1794 1 1.72 1.77 1.77 49.5600014 0.631627 -0.775273 -1.0 +1795 1 1.72 1.77 0.0 51.3300018 0.667759 -0.744377 -1.0 +1796 1 1.72 0.0 1.77 51.3300018 -0.845117 0.534582 -1.0 +1797 1 1.72 3.54 0.0 49.5600014 0.999286 0.0377747 -1.0 +1798 1 1.72 5.31 1.77 49.5600014 -0.0836974 0.996491 -1.0 +1799 1 1.72 5.31 0.0 51.3300018 0.890687 0.454617 -1.0 +1800 1 1.72 3.54 1.77 51.3300018 0.347329 0.937743 -1.0 +1801 1 1.72 7.0799999 0.0 49.5600014 0.902213 0.431292 -1.0 +1802 1 1.72 8.8500004 1.77 49.5600014 -0.511164 -0.859483 -1.0 +1803 1 1.72 8.8500004 0.0 51.3300018 -0.968273 -0.249895 -1.0 +1804 1 1.72 7.0799999 1.77 51.3300018 -0.818559 -0.574423 -1.0 +1805 1 1.72 10.6199999 0.0 49.5600014 0.451731 -0.892154 -1.0 +1806 1 1.72 12.3900004 1.77 49.5600014 -0.993108 0.117206 -1.0 +1807 1 1.72 12.3900004 0.0 51.3300018 0.00463943 -0.999989 -1.0 +1808 1 1.72 10.6199999 1.77 51.3300018 -0.734487 -0.678623 -1.0 +1809 1 1.72 14.1599999 0.0 49.5600014 -0.156131 0.987736 -1.0 +1810 1 1.72 15.9300004 1.77 49.5600014 -0.557165 0.830402 -1.0 +1811 1 1.72 15.9300004 0.0 51.3300018 0.78872 0.614752 -1.0 +1812 1 1.72 14.1599999 1.77 51.3300018 0.879597 -0.475719 -1.0 +1813 1 1.72 17.7000008 0.0 49.5600014 0.636883 -0.77096 -1.0 +1814 1 1.72 19.4699993 1.77 49.5600014 0.677608 -0.735423 -1.0 +1815 1 1.72 19.4699993 0.0 51.3300018 -0.936255 -0.35132 -1.0 +1816 1 1.72 17.7000008 1.77 51.3300018 0.203873 0.978997 -1.0 +1817 1 1.72 21.2399998 0.0 49.5600014 -0.999769 0.0214994 -1.0 +1818 1 1.72 23.0100002 1.77 49.5600014 0.866544 0.499101 -1.0 +1819 1 1.72 23.0100002 0.0 51.3300018 0.867563 0.497327 -1.0 +1820 1 1.72 21.2399998 1.77 51.3300018 0.957119 0.289695 -1.0 +1821 1 1.72 24.7800007 0.0 49.5600014 -0.32598 0.945377 -1.0 +1822 1 1.72 26.5499993 1.77 49.5600014 -0.501215 -0.865323 -1.0 +1823 1 1.72 26.5499993 0.0 51.3300018 0.54141 -0.840759 -1.0 +1824 1 1.72 24.7800007 1.77 51.3300018 -0.939811 -0.341696 -1.0 +1825 1 1.72 0.0 3.54 49.5600014 0.658484 -0.752594 -1.0 +1826 1 1.72 1.77 5.31 49.5600014 -0.00264612 -0.999996 -1.0 +1827 1 1.72 1.77 3.54 51.3300018 -0.766131 -0.642684 -1.0 +1828 1 1.72 0.0 5.31 51.3300018 -0.880543 0.473966 -1.0 +1829 1 1.72 3.54 3.54 49.5600014 -0.0320145 -0.999487 -1.0 +1830 1 1.72 5.31 5.31 49.5600014 0.93436 -0.356332 -1.0 +1831 1 1.72 5.31 3.54 51.3300018 0.497391 -0.867526 -1.0 +1832 1 1.72 3.54 5.31 51.3300018 0.127459 -0.991844 -1.0 +1833 1 1.72 7.0799999 3.54 49.5600014 -0.421805 0.906686 -1.0 +1834 1 1.72 8.8500004 5.31 49.5600014 -0.808609 -0.588347 -1.0 +1835 1 1.72 8.8500004 3.54 51.3300018 -0.684186 0.729307 -1.0 +1836 1 1.72 7.0799999 5.31 51.3300018 -0.659192 -0.751975 -1.0 +1837 1 1.72 10.6199999 3.54 49.5600014 -0.728336 0.68522 -1.0 +1838 1 1.72 12.3900004 5.31 49.5600014 0.410962 -0.911652 -1.0 +1839 1 1.72 12.3900004 3.54 51.3300018 0.859242 0.51157 -1.0 +1840 1 1.72 10.6199999 5.31 51.3300018 -0.988704 -0.149878 -1.0 +1841 1 1.72 14.1599999 3.54 49.5600014 -0.942745 0.333514 -1.0 +1842 1 1.72 15.9300004 5.31 49.5600014 -0.74095 -0.67156 -1.0 +1843 1 1.72 15.9300004 3.54 51.3300018 0.706625 -0.707588 -1.0 +1844 1 1.72 14.1599999 5.31 51.3300018 -0.730048 0.683396 -1.0 +1845 1 1.72 17.7000008 3.54 49.5600014 0.586523 -0.809932 -1.0 +1846 1 1.72 19.4699993 5.31 49.5600014 -0.79918 -0.601092 -1.0 +1847 1 1.72 19.4699993 3.54 51.3300018 -0.443797 -0.896127 -1.0 +1848 1 1.72 17.7000008 5.31 51.3300018 0.293626 0.95592 -1.0 +1849 1 1.72 21.2399998 3.54 49.5600014 -0.808234 0.588862 -1.0 +1850 1 1.72 23.0100002 5.31 49.5600014 -0.594868 0.803823 -1.0 +1851 1 1.72 23.0100002 3.54 51.3300018 0.69927 0.714858 -1.0 +1852 1 1.72 21.2399998 5.31 51.3300018 -0.648449 -0.761258 -1.0 +1853 1 1.72 24.7800007 3.54 49.5600014 0.998557 -0.0536967 -1.0 +1854 1 1.72 26.5499993 5.31 49.5600014 -0.667872 0.744276 -1.0 +1855 1 1.72 26.5499993 3.54 51.3300018 0.775579 0.63125 -1.0 +1856 1 1.72 24.7800007 5.31 51.3300018 -0.963177 0.268869 -1.0 +1857 1 1.72 0.0 7.0799999 49.5600014 0.527974 -0.849261 -1.0 +1858 1 1.72 1.77 8.8500004 49.5600014 -0.594381 0.804184 -1.0 +1859 1 1.72 1.77 7.0799999 51.3300018 0.843942 -0.536434 -1.0 +1860 1 1.72 0.0 8.8500004 51.3300018 -0.764622 -0.644478 -1.0 +1861 1 1.72 3.54 7.0799999 49.5600014 0.857014 -0.515293 -1.0 +1862 1 1.72 5.31 8.8500004 49.5600014 -0.695719 0.718314 -1.0 +1863 1 1.72 5.31 7.0799999 51.3300018 -0.862516 0.50603 -1.0 +1864 1 1.72 3.54 8.8500004 51.3300018 0.609568 -0.792734 -1.0 +1865 1 1.72 7.0799999 7.0799999 49.5600014 0.596169 -0.802859 -1.0 +1866 1 1.72 8.8500004 8.8500004 49.5600014 -0.266511 0.963832 -1.0 +1867 1 1.72 8.8500004 7.0799999 51.3300018 -0.820137 0.572167 -1.0 +1868 1 1.72 7.0799999 8.8500004 51.3300018 -0.589367 -0.807865 -1.0 +1869 1 1.72 10.6199999 7.0799999 49.5600014 0.439185 -0.898397 -1.0 +1870 1 1.72 12.3900004 8.8500004 49.5600014 -0.862055 0.506815 -1.0 +1871 1 1.72 12.3900004 7.0799999 51.3300018 0.403928 -0.914791 -1.0 +1872 1 1.72 10.6199999 8.8500004 51.3300018 0.82119 0.570655 -1.0 +1873 1 1.72 14.1599999 7.0799999 49.5600014 0.982934 -0.183961 -1.0 +1874 1 1.72 15.9300004 8.8500004 49.5600014 0.878441 -0.477851 -1.0 +1875 1 1.72 15.9300004 7.0799999 51.3300018 0.169772 0.985483 -1.0 +1876 1 1.72 14.1599999 8.8500004 51.3300018 -0.12019 -0.992751 -1.0 +1877 1 1.72 17.7000008 7.0799999 49.5600014 -0.950915 0.309452 -1.0 +1878 1 1.72 19.4699993 8.8500004 49.5600014 -0.0200013 0.9998 -1.0 +1879 1 1.72 19.4699993 7.0799999 51.3300018 -0.691999 0.721899 -1.0 +1880 1 1.72 17.7000008 8.8500004 51.3300018 -0.900841 0.43415 -1.0 +1881 1 1.72 21.2399998 7.0799999 49.5600014 0.790102 -0.612975 -1.0 +1882 1 1.72 23.0100002 8.8500004 49.5600014 -0.920637 -0.390419 -1.0 +1883 1 1.72 23.0100002 7.0799999 51.3300018 -0.504776 -0.86325 -1.0 +1884 1 1.72 21.2399998 8.8500004 51.3300018 0.905539 -0.424264 -1.0 +1885 1 1.72 24.7800007 7.0799999 49.5600014 -0.153077 0.988214 -1.0 +1886 1 1.72 26.5499993 8.8500004 49.5600014 0.2058 0.978594 -1.0 +1887 1 1.72 26.5499993 7.0799999 51.3300018 0.94475 0.327792 -1.0 +1888 1 1.72 24.7800007 8.8500004 51.3300018 -0.892252 -0.451538 -1.0 +1889 1 1.72 0.0 10.6199999 49.5600014 0.97617 -0.217009 -1.0 +1890 1 1.72 1.77 12.3900004 49.5600014 -0.581854 -0.813293 -1.0 +1891 1 1.72 1.77 10.6199999 51.3300018 -0.571074 -0.820898 -1.0 +1892 1 1.72 0.0 12.3900004 51.3300018 -0.863303 0.504687 -1.0 +1893 1 1.72 3.54 10.6199999 49.5600014 0.722315 -0.691564 -1.0 +1894 1 1.72 5.31 12.3900004 49.5600014 -0.520488 -0.853869 -1.0 +1895 1 1.72 5.31 10.6199999 51.3300018 0.316496 -0.948594 -1.0 +1896 1 1.72 3.54 12.3900004 51.3300018 0.33175 -0.943367 -1.0 +1897 1 1.72 7.0799999 10.6199999 49.5600014 0.862258 -0.506468 -1.0 +1898 1 1.72 8.8500004 12.3900004 49.5600014 0.525356 -0.850882 -1.0 +1899 1 1.72 8.8500004 10.6199999 51.3300018 -0.297014 0.954873 -1.0 +1900 1 1.72 7.0799999 12.3900004 51.3300018 0.504758 0.863261 -1.0 +1901 1 1.72 10.6199999 10.6199999 49.5600014 -0.996467 0.0839854 -1.0 +1902 1 1.72 12.3900004 12.3900004 49.5600014 0.675354 0.737494 -1.0 +1903 1 1.72 12.3900004 10.6199999 51.3300018 -0.690673 -0.723167 -1.0 +1904 1 1.72 10.6199999 12.3900004 51.3300018 0.79297 0.609261 -1.0 +1905 1 1.72 14.1599999 10.6199999 49.5600014 -0.942799 0.333362 -1.0 +1906 1 1.72 15.9300004 12.3900004 49.5600014 0.381587 0.924333 -1.0 +1907 1 1.72 15.9300004 10.6199999 51.3300018 0.809886 0.586588 -1.0 +1908 1 1.72 14.1599999 12.3900004 51.3300018 0.128136 0.991757 -1.0 +1909 1 1.72 17.7000008 10.6199999 49.5600014 -0.814602 -0.580021 -1.0 +1910 1 1.72 19.4699993 12.3900004 49.5600014 0.743494 -0.668743 -1.0 +1911 1 1.72 19.4699993 10.6199999 51.3300018 0.947372 0.320135 -1.0 +1912 1 1.72 17.7000008 12.3900004 51.3300018 0.754869 0.655876 -1.0 +1913 1 1.72 21.2399998 10.6199999 49.5600014 0.601738 -0.798693 -1.0 +1914 1 1.72 23.0100002 12.3900004 49.5600014 0.98696 -0.160965 -1.0 +1915 1 1.72 23.0100002 10.6199999 51.3300018 0.769109 -0.639118 -1.0 +1916 1 1.72 21.2399998 12.3900004 51.3300018 -0.842637 0.538482 -1.0 +1917 1 1.72 24.7800007 10.6199999 49.5600014 0.502598 0.86452 -1.0 +1918 1 1.72 26.5499993 12.3900004 49.5600014 0.397794 -0.917475 -1.0 +1919 1 1.72 26.5499993 10.6199999 51.3300018 -0.804028 0.594592 -1.0 +1920 1 1.72 24.7800007 12.3900004 51.3300018 0.825281 0.564722 -1.0 +1921 1 1.72 0.0 0.0 53.0999985 0.387158 0.922013 -1.0 +1922 1 1.72 1.77 1.77 53.0999985 0.380964 -0.92459 -1.0 +1923 1 1.72 1.77 0.0 54.869999 -0.787298 -0.616572 -1.0 +1924 1 1.72 0.0 1.77 54.869999 0.959924 0.280261 -1.0 +1925 1 1.72 3.54 0.0 53.0999985 -0.800935 0.598752 -1.0 +1926 1 1.72 5.31 1.77 53.0999985 -0.998456 0.0555441 -1.0 +1927 1 1.72 5.31 0.0 54.869999 0.924695 -0.380708 -1.0 +1928 1 1.72 3.54 1.77 54.869999 -0.791017 0.611794 -1.0 +1929 1 1.72 7.0799999 0.0 53.0999985 0.991696 -0.128604 -1.0 +1930 1 1.72 8.8500004 1.77 53.0999985 -0.575924 0.817503 -1.0 +1931 1 1.72 8.8500004 0.0 54.869999 0.904262 0.426979 -1.0 +1932 1 1.72 7.0799999 1.77 54.869999 -0.235209 0.971945 -1.0 +1933 1 1.72 10.6199999 0.0 53.0999985 0.678829 -0.734297 -1.0 +1934 1 1.72 12.3900004 1.77 53.0999985 0.365765 0.930707 -1.0 +1935 1 1.72 12.3900004 0.0 54.869999 -0.960827 0.27715 -1.0 +1936 1 1.72 10.6199999 1.77 54.869999 0.979628 0.200823 -1.0 +1937 1 1.72 14.1599999 0.0 53.0999985 0.291329 -0.956623 -1.0 +1938 1 1.72 15.9300004 1.77 53.0999985 -0.795473 -0.605989 -1.0 +1939 1 1.72 15.9300004 0.0 54.869999 0.584653 -0.811284 -1.0 +1940 1 1.72 14.1599999 1.77 54.869999 -0.270267 -0.962785 -1.0 +1941 1 1.72 17.7000008 0.0 53.0999985 0.922768 -0.385355 -1.0 +1942 1 1.72 19.4699993 1.77 53.0999985 -0.772219 0.635357 -1.0 +1943 1 1.72 19.4699993 0.0 54.869999 0.491224 0.871033 -1.0 +1944 1 1.72 17.7000008 1.77 54.869999 -0.6913 -0.722568 -1.0 +1945 1 1.72 21.2399998 0.0 53.0999985 0.853696 -0.520772 -1.0 +1946 1 1.72 23.0100002 1.77 53.0999985 0.675538 -0.737325 -1.0 +1947 1 1.72 23.0100002 0.0 54.869999 0.521809 0.853063 -1.0 +1948 1 1.72 21.2399998 1.77 54.869999 0.132761 -0.991148 -1.0 +1949 1 1.72 24.7800007 0.0 53.0999985 0.683338 0.730103 -1.0 +1950 1 1.72 26.5499993 1.77 53.0999985 0.777185 -0.629272 -1.0 +1951 1 1.72 26.5499993 0.0 54.869999 0.629628 -0.776897 -1.0 +1952 1 1.72 24.7800007 1.77 54.869999 0.0193714 0.999812 -1.0 +1953 1 1.72 0.0 3.54 53.0999985 0.627421 0.77868 -1.0 +1954 1 1.72 1.77 5.31 53.0999985 0.45234 -0.891846 -1.0 +1955 1 1.72 1.77 3.54 54.869999 0.511378 -0.859356 -1.0 +1956 1 1.72 0.0 5.31 54.869999 0.556784 0.830658 -1.0 +1957 1 1.72 3.54 3.54 53.0999985 -0.994592 -0.103856 -1.0 +1958 1 1.72 5.31 5.31 53.0999985 -0.571803 0.820391 -1.0 +1959 1 1.72 5.31 3.54 54.869999 0.999985 -0.00547394 -1.0 +1960 1 1.72 3.54 5.31 54.869999 -0.125355 -0.992112 -1.0 +1961 1 1.72 7.0799999 3.54 53.0999985 0.798226 0.602357 -1.0 +1962 1 1.72 8.8500004 5.31 53.0999985 0.866345 0.499446 -1.0 +1963 1 1.72 8.8500004 3.54 54.869999 0.47709 -0.878854 -1.0 +1964 1 1.72 7.0799999 5.31 54.869999 -0.668719 0.743515 -1.0 +1965 1 1.72 10.6199999 3.54 53.0999985 0.995446 0.0953231 -1.0 +1966 1 1.72 12.3900004 5.31 53.0999985 0.300074 0.953916 -1.0 +1967 1 1.72 12.3900004 3.54 54.869999 0.381916 -0.924197 -1.0 +1968 1 1.72 10.6199999 5.31 54.869999 0.824284 -0.566176 -1.0 +1969 1 1.72 14.1599999 3.54 53.0999985 0.579012 0.815319 -1.0 +1970 1 1.72 15.9300004 5.31 53.0999985 0.978643 0.205568 -1.0 +1971 1 1.72 15.9300004 3.54 54.869999 -0.635046 0.772474 -1.0 +1972 1 1.72 14.1599999 5.31 54.869999 -0.795343 -0.60616 -1.0 +1973 1 1.72 17.7000008 3.54 53.0999985 -0.36394 -0.931422 -1.0 +1974 1 1.72 19.4699993 5.31 53.0999985 0.852086 -0.523402 -1.0 +1975 1 1.72 19.4699993 3.54 54.869999 0.800739 0.599014 -1.0 +1976 1 1.72 17.7000008 5.31 54.869999 -0.806495 0.591241 -1.0 +1977 1 1.72 21.2399998 3.54 53.0999985 0.405207 -0.914225 -1.0 +1978 1 1.72 23.0100002 5.31 53.0999985 0.486475 0.873694 -1.0 +1979 1 1.72 23.0100002 3.54 54.869999 0.104593 0.994515 -1.0 +1980 1 1.72 21.2399998 5.31 54.869999 0.76293 -0.646481 -1.0 +1981 1 1.72 24.7800007 3.54 53.0999985 0.70013 0.714015 -1.0 +1982 1 1.72 26.5499993 5.31 53.0999985 -0.446397 0.894835 -1.0 +1983 1 1.72 26.5499993 3.54 54.869999 -0.999691 0.0248517 -1.0 +1984 1 1.72 24.7800007 5.31 54.869999 0.877641 -0.479318 -1.0 +1985 1 1.72 0.0 7.0799999 53.0999985 -0.0414857 0.999139 -1.0 +1986 1 1.72 1.77 8.8500004 53.0999985 -0.715386 0.69873 -1.0 +1987 1 1.72 1.77 7.0799999 54.869999 0.471897 -0.881654 -1.0 +1988 1 1.72 0.0 8.8500004 54.869999 -0.083467 0.996511 -1.0 +1989 1 1.72 3.54 7.0799999 53.0999985 -0.726025 -0.687668 -1.0 +1990 1 1.72 5.31 8.8500004 53.0999985 -0.892557 0.450934 -1.0 +1991 1 1.72 5.31 7.0799999 54.869999 0.847793 -0.530328 -1.0 +1992 1 1.72 3.54 8.8500004 54.869999 0.579447 -0.81501 -1.0 +1993 1 1.72 7.0799999 7.0799999 53.0999985 -0.164083 0.986446 -1.0 +1994 1 1.72 8.8500004 8.8500004 53.0999985 0.54175 0.84054 -1.0 +1995 1 1.72 8.8500004 7.0799999 54.869999 -0.0482263 0.998836 -1.0 +1996 1 1.72 7.0799999 8.8500004 54.869999 0.109418 0.993996 -1.0 +1997 1 1.72 10.6199999 7.0799999 53.0999985 -0.297051 -0.954862 -1.0 +1998 1 1.72 12.3900004 8.8500004 53.0999985 0.55585 0.831283 -1.0 +1999 1 1.72 12.3900004 7.0799999 54.869999 -0.0686369 -0.997642 -1.0 +2000 1 1.72 10.6199999 8.8500004 54.869999 -0.981261 0.192682 -1.0 +2001 1 1.72 14.1599999 7.0799999 53.0999985 0.304377 -0.952552 -1.0 +2002 1 1.72 15.9300004 8.8500004 53.0999985 0.544133 -0.838999 -1.0 +2003 1 1.72 15.9300004 7.0799999 54.869999 0.615311 0.788284 -1.0 +2004 1 1.72 14.1599999 8.8500004 54.869999 -0.6245 -0.781025 -1.0 +2005 1 1.72 17.7000008 7.0799999 53.0999985 -0.769334 0.638847 -1.0 +2006 1 1.72 19.4699993 8.8500004 53.0999985 -0.951251 -0.308416 -1.0 +2007 1 1.72 19.4699993 7.0799999 54.869999 -0.732638 -0.680618 -1.0 +2008 1 1.72 17.7000008 8.8500004 54.869999 0.988925 -0.148413 -1.0 +2009 1 1.72 21.2399998 7.0799999 53.0999985 0.202011 0.979383 -1.0 +2010 1 1.72 23.0100002 8.8500004 53.0999985 0.809333 -0.58735 -1.0 +2011 1 1.72 23.0100002 7.0799999 54.869999 -0.481777 0.876294 -1.0 +2012 1 1.72 21.2399998 8.8500004 54.869999 -0.504337 0.863507 -1.0 +2013 1 1.72 24.7800007 7.0799999 53.0999985 0.453896 -0.891055 -1.0 +2014 1 1.72 26.5499993 8.8500004 53.0999985 0.539702 -0.841856 -1.0 +2015 1 1.72 26.5499993 7.0799999 54.869999 -0.977851 0.209302 -1.0 +2016 1 1.72 24.7800007 8.8500004 54.869999 -0.868587 -0.495537 -1.0 +2017 1 1.72 0.0 10.6199999 53.0999985 0.613925 -0.789364 -1.0 +2018 1 1.72 1.77 12.3900004 53.0999985 0.946409 0.322972 -1.0 +2019 1 1.72 1.77 10.6199999 54.869999 -0.68116 0.732134 -1.0 +2020 1 1.72 0.0 12.3900004 54.869999 0.596949 0.802279 -1.0 +2021 1 1.72 3.54 10.6199999 53.0999985 -0.710937 0.703256 -1.0 +2022 1 1.72 5.31 12.3900004 53.0999985 0.807287 0.590159 -1.0 +2023 1 1.72 5.31 10.6199999 54.869999 -0.982184 -0.187922 -1.0 +2024 1 1.72 3.54 12.3900004 54.869999 -0.999989 0.0046603 -1.0 +2025 1 1.72 7.0799999 10.6199999 53.0999985 0.0411324 -0.999154 -1.0 +2026 1 1.72 8.8500004 12.3900004 53.0999985 0.121354 -0.992609 -1.0 +2027 1 1.72 8.8500004 10.6199999 54.869999 0.0999101 0.994996 -1.0 +2028 1 1.72 7.0799999 12.3900004 54.869999 -0.636902 -0.770945 -1.0 +2029 1 1.72 10.6199999 10.6199999 53.0999985 0.999294 0.0375647 -1.0 +2030 1 1.72 12.3900004 12.3900004 53.0999985 0.349187 -0.937053 -1.0 +2031 1 1.72 12.3900004 10.6199999 54.869999 -0.373369 -0.927683 -1.0 +2032 1 1.72 10.6199999 12.3900004 54.869999 -0.982318 0.187219 -1.0 +2033 1 1.72 14.1599999 10.6199999 53.0999985 0.969704 -0.244282 -1.0 +2034 1 1.72 15.9300004 12.3900004 53.0999985 -0.999947 -0.0102649 -1.0 +2035 1 1.72 15.9300004 10.6199999 54.869999 -0.449496 0.893283 -1.0 +2036 1 1.72 14.1599999 12.3900004 54.869999 0.733326 0.679877 -1.0 +2037 1 1.72 17.7000008 10.6199999 53.0999985 0.621701 -0.783254 -1.0 +2038 1 1.72 19.4699993 12.3900004 53.0999985 -0.789807 -0.613355 -1.0 +2039 1 1.72 19.4699993 10.6199999 54.869999 0.877995 0.47867 -1.0 +2040 1 1.72 17.7000008 12.3900004 54.869999 -0.127468 0.991843 -1.0 +2041 1 1.72 21.2399998 10.6199999 53.0999985 0.0433058 0.999062 -1.0 +2042 1 1.72 23.0100002 12.3900004 53.0999985 -0.27397 -0.961738 -1.0 +2043 1 1.72 23.0100002 10.6199999 54.869999 0.750318 -0.661077 -1.0 +2044 1 1.72 21.2399998 12.3900004 54.869999 -0.406507 0.913648 -1.0 +2045 1 1.72 24.7800007 10.6199999 53.0999985 0.561022 -0.827801 -1.0 +2046 1 1.72 26.5499993 12.3900004 53.0999985 -0.629316 0.777149 -1.0 +2047 1 1.72 26.5499993 10.6199999 54.869999 0.79356 -0.608491 -1.0 +2048 1 1.72 24.7800007 12.3900004 54.869999 -0.401379 0.915912 -1.0 +2049 1 1.72 0.0 0.0 56.6399994 0.70668 0.707533 -1.0 +2050 1 1.72 1.77 1.77 56.6399994 0.782189 -0.623041 -1.0 +2051 1 1.72 1.77 0.0 58.4099999 -0.868523 0.495648 -1.0 +2052 1 1.72 0.0 1.77 58.4099999 0.00202478 -0.999998 -1.0 +2053 1 1.72 3.54 0.0 56.6399994 0.931336 0.364161 -1.0 +2054 1 1.72 5.31 1.77 56.6399994 0.894986 -0.446094 -1.0 +2055 1 1.72 5.31 0.0 58.4099999 -0.73291 -0.680326 -1.0 +2056 1 1.72 3.54 1.77 58.4099999 0.202056 0.979374 -1.0 +2057 1 1.72 7.0799999 0.0 56.6399994 -0.957374 0.288852 -1.0 +2058 1 1.72 8.8500004 1.77 56.6399994 -0.554674 0.832068 -1.0 +2059 1 1.72 8.8500004 0.0 58.4099999 -0.548501 0.83615 -1.0 +2060 1 1.72 7.0799999 1.77 58.4099999 -0.508072 -0.861314 -1.0 +2061 1 1.72 10.6199999 0.0 56.6399994 0.0836627 -0.996494 -1.0 +2062 1 1.72 12.3900004 1.77 56.6399994 0.950088 -0.311982 -1.0 +2063 1 1.72 12.3900004 0.0 58.4099999 -0.90461 0.42624 -1.0 +2064 1 1.72 10.6199999 1.77 58.4099999 0.199225 0.979954 -1.0 +2065 1 1.72 14.1599999 0.0 56.6399994 0.988698 0.14992 -1.0 +2066 1 1.72 15.9300004 1.77 56.6399994 -0.49389 0.869525 -1.0 +2067 1 1.72 15.9300004 0.0 58.4099999 -0.958877 0.283821 -1.0 +2068 1 1.72 14.1599999 1.77 58.4099999 -0.312319 -0.949977 -1.0 +2069 1 1.72 17.7000008 0.0 56.6399994 -0.735816 0.677181 -1.0 +2070 1 1.72 19.4699993 1.77 56.6399994 -0.955952 -0.293524 -1.0 +2071 1 1.72 19.4699993 0.0 58.4099999 -0.591115 0.806588 -1.0 +2072 1 1.72 17.7000008 1.77 58.4099999 0.951149 -0.308731 -1.0 +2073 1 1.72 21.2399998 0.0 56.6399994 0.978077 -0.208245 -1.0 +2074 1 1.72 23.0100002 1.77 56.6399994 0.760001 -0.649921 -1.0 +2075 1 1.72 23.0100002 0.0 58.4099999 -0.463604 0.886043 -1.0 +2076 1 1.72 21.2399998 1.77 58.4099999 0.865903 -0.500212 -1.0 +2077 1 1.72 24.7800007 0.0 56.6399994 0.0697641 -0.997564 -1.0 +2078 1 1.72 26.5499993 1.77 56.6399994 0.712363 -0.701811 -1.0 +2079 1 1.72 26.5499993 0.0 58.4099999 -0.699707 0.714429 -1.0 +2080 1 1.72 24.7800007 1.77 58.4099999 -0.728987 0.684528 -1.0 +2081 1 1.72 0.0 3.54 56.6399994 0.632521 0.774543 -1.0 +2082 1 1.72 1.77 5.31 56.6399994 -0.653992 -0.756502 -1.0 +2083 1 1.72 1.77 3.54 58.4099999 -0.670933 -0.741518 -1.0 +2084 1 1.72 0.0 5.31 58.4099999 0.649187 0.760629 -1.0 +2085 1 1.72 3.54 3.54 56.6399994 0.7238 -0.690009 -1.0 +2086 1 1.72 5.31 5.31 56.6399994 -0.75238 -0.658729 -1.0 +2087 1 1.72 5.31 3.54 58.4099999 -0.388235 0.92156 -1.0 +2088 1 1.72 3.54 5.31 58.4099999 -0.675189 0.737644 -1.0 +2089 1 1.72 7.0799999 3.54 56.6399994 -0.889112 0.457689 -1.0 +2090 1 1.72 8.8500004 5.31 56.6399994 0.749111 -0.662444 -1.0 +2091 1 1.72 8.8500004 3.54 58.4099999 -0.941424 -0.337226 -1.0 +2092 1 1.72 7.0799999 5.31 58.4099999 -0.988706 0.149867 -1.0 +2093 1 1.72 10.6199999 3.54 56.6399994 0.545256 -0.83827 -1.0 +2094 1 1.72 12.3900004 5.31 56.6399994 -0.318849 0.947806 -1.0 +2095 1 1.72 12.3900004 3.54 58.4099999 -0.350713 -0.936483 -1.0 +2096 1 1.72 10.6199999 5.31 58.4099999 -0.35125 -0.936282 -1.0 +2097 1 1.72 14.1599999 3.54 56.6399994 -0.618789 0.785557 -1.0 +2098 1 1.72 15.9300004 5.31 56.6399994 0.999741 -0.0227789 -1.0 +2099 1 1.72 15.9300004 3.54 58.4099999 0.755255 -0.655431 -1.0 +2100 1 1.72 14.1599999 5.31 58.4099999 0.601516 -0.798861 -1.0 +2101 1 1.72 17.7000008 3.54 56.6399994 0.996553 -0.0829548 -1.0 +2102 1 1.72 19.4699993 5.31 56.6399994 0.986151 -0.165852 -1.0 +2103 1 1.72 19.4699993 3.54 58.4099999 0.995036 -0.0995179 -1.0 +2104 1 1.72 17.7000008 5.31 58.4099999 0.95656 -0.291536 -1.0 +2105 1 1.72 21.2399998 3.54 56.6399994 -0.897713 -0.440581 -1.0 +2106 1 1.72 23.0100002 5.31 56.6399994 0.609579 -0.792725 -1.0 +2107 1 1.72 23.0100002 3.54 58.4099999 -0.952016 -0.306049 -1.0 +2108 1 1.72 21.2399998 5.31 58.4099999 0.508793 0.860889 -1.0 +2109 1 1.72 24.7800007 3.54 56.6399994 0.998528 0.0542339 -1.0 +2110 1 1.72 26.5499993 5.31 56.6399994 0.745465 0.666545 -1.0 +2111 1 1.72 26.5499993 3.54 58.4099999 0.474615 0.880193 -1.0 +2112 1 1.72 24.7800007 5.31 58.4099999 -0.74789 -0.663823 -1.0 +2113 1 1.72 0.0 7.0799999 56.6399994 0.560716 -0.828008 -1.0 +2114 1 1.72 1.77 8.8500004 56.6399994 -0.852575 -0.522605 -1.0 +2115 1 1.72 1.77 7.0799999 58.4099999 0.85811 -0.513466 -1.0 +2116 1 1.72 0.0 8.8500004 58.4099999 0.746768 -0.665085 -1.0 +2117 1 1.72 3.54 7.0799999 56.6399994 -0.935946 -0.352142 -1.0 +2118 1 1.72 5.31 8.8500004 56.6399994 -0.178725 -0.983899 -1.0 +2119 1 1.72 5.31 7.0799999 58.4099999 0.680119 0.733102 -1.0 +2120 1 1.72 3.54 8.8500004 58.4099999 -0.908637 0.417588 -1.0 +2121 1 1.72 7.0799999 7.0799999 56.6399994 -0.84272 0.538353 -1.0 +2122 1 1.72 8.8500004 8.8500004 56.6399994 -0.183889 0.982947 -1.0 +2123 1 1.72 8.8500004 7.0799999 58.4099999 0.931337 0.36416 -1.0 +2124 1 1.72 7.0799999 8.8500004 58.4099999 -0.71214 0.702037 -1.0 +2125 1 1.72 10.6199999 7.0799999 56.6399994 -0.826061 -0.563581 -1.0 +2126 1 1.72 12.3900004 8.8500004 56.6399994 0.706799 -0.707414 -1.0 +2127 1 1.72 12.3900004 7.0799999 58.4099999 0.999887 0.0150623 -1.0 +2128 1 1.72 10.6199999 8.8500004 58.4099999 -0.675091 -0.737735 -1.0 +2129 1 1.72 14.1599999 7.0799999 56.6399994 0.68709 0.726573 -1.0 +2130 1 1.72 15.9300004 8.8500004 56.6399994 0.80823 -0.588866 -1.0 +2131 1 1.72 15.9300004 7.0799999 58.4099999 0.280443 0.959871 -1.0 +2132 1 1.72 14.1599999 8.8500004 58.4099999 -0.0195388 -0.999809 -1.0 +2133 1 1.72 17.7000008 7.0799999 56.6399994 0.817101 -0.576494 -1.0 +2134 1 1.72 19.4699993 8.8500004 56.6399994 -0.752561 0.658522 -1.0 +2135 1 1.72 19.4699993 7.0799999 58.4099999 -0.748276 -0.663388 -1.0 +2136 1 1.72 17.7000008 8.8500004 58.4099999 0.546688 -0.837337 -1.0 +2137 1 1.72 21.2399998 7.0799999 56.6399994 0.934835 -0.355083 -1.0 +2138 1 1.72 23.0100002 8.8500004 56.6399994 0.724294 -0.689491 -1.0 +2139 1 1.72 23.0100002 7.0799999 58.4099999 0.767599 0.640931 -1.0 +2140 1 1.72 21.2399998 8.8500004 58.4099999 0.298522 0.954403 -1.0 +2141 1 1.72 24.7800007 7.0799999 56.6399994 0.768213 0.640194 -1.0 +2142 1 1.72 26.5499993 8.8500004 56.6399994 -0.92639 -0.376567 -1.0 +2143 1 1.72 26.5499993 7.0799999 58.4099999 0.889875 0.456204 -1.0 +2144 1 1.72 24.7800007 8.8500004 58.4099999 -0.0149783 -0.999888 -1.0 +2145 1 1.72 0.0 10.6199999 56.6399994 -0.419147 -0.907918 -1.0 +2146 1 1.72 1.77 12.3900004 56.6399994 -0.326783 -0.945099 -1.0 +2147 1 1.72 1.77 10.6199999 58.4099999 0.681551 -0.731771 -1.0 +2148 1 1.72 0.0 12.3900004 58.4099999 -0.969631 0.244571 -1.0 +2149 1 1.72 3.54 10.6199999 56.6399994 0.999207 -0.0398252 -1.0 +2150 1 1.72 5.31 12.3900004 56.6399994 0.98515 0.171697 -1.0 +2151 1 1.72 5.31 10.6199999 58.4099999 -0.230908 0.972976 -1.0 +2152 1 1.72 3.54 12.3900004 58.4099999 0.0444431 -0.999012 -1.0 +2153 1 1.72 7.0799999 10.6199999 56.6399994 -0.700607 -0.713547 -1.0 +2154 1 1.72 8.8500004 12.3900004 56.6399994 -0.71663 0.697453 -1.0 +2155 1 1.72 8.8500004 10.6199999 58.4099999 0.86165 0.507502 -1.0 +2156 1 1.72 7.0799999 12.3900004 58.4099999 0.855337 0.518072 -1.0 +2157 1 1.72 10.6199999 10.6199999 56.6399994 -0.878546 -0.477657 -1.0 +2158 1 1.72 12.3900004 12.3900004 56.6399994 -0.54777 -0.836629 -1.0 +2159 1 1.72 12.3900004 10.6199999 58.4099999 -0.898841 -0.438275 -1.0 +2160 1 1.72 10.6199999 12.3900004 58.4099999 0.988426 -0.151703 -1.0 +2161 1 1.72 14.1599999 10.6199999 56.6399994 -0.991066 -0.133372 -1.0 +2162 1 1.72 15.9300004 12.3900004 56.6399994 0.669978 0.742381 -1.0 +2163 1 1.72 15.9300004 10.6199999 58.4099999 -0.309314 -0.95096 -1.0 +2164 1 1.72 14.1599999 12.3900004 58.4099999 0.45565 0.890159 -1.0 +2165 1 1.72 17.7000008 10.6199999 56.6399994 0.0920799 -0.995752 -1.0 +2166 1 1.72 19.4699993 12.3900004 56.6399994 -0.443239 0.896404 -1.0 +2167 1 1.72 19.4699993 10.6199999 58.4099999 0.708029 0.706183 -1.0 +2168 1 1.72 17.7000008 12.3900004 58.4099999 -0.189524 -0.981876 -1.0 +2169 1 1.72 21.2399998 10.6199999 56.6399994 0.23724 0.971451 -1.0 +2170 1 1.72 23.0100002 12.3900004 56.6399994 0.644549 -0.764563 -1.0 +2171 1 1.72 23.0100002 10.6199999 58.4099999 0.600127 -0.799905 -1.0 +2172 1 1.72 21.2399998 12.3900004 58.4099999 -0.289949 0.957042 -1.0 +2173 1 1.72 24.7800007 10.6199999 56.6399994 -0.193405 -0.981119 -1.0 +2174 1 1.72 26.5499993 12.3900004 56.6399994 0.999836 0.0181197 -1.0 +2175 1 1.72 26.5499993 10.6199999 58.4099999 0.87479 -0.484503 -1.0 +2176 1 1.72 24.7800007 12.3900004 58.4099999 0.870927 -0.491412 -1.0 +2177 1 1.72 0.0 0.0 60.1800003 0.557809 0.829969 -1.0 +2178 1 1.72 1.77 1.77 60.1800003 0.661083 0.750313 -1.0 +2179 1 1.72 1.77 0.0 61.9500008 0.585103 0.810959 -1.0 +2180 1 1.72 0.0 1.77 61.9500008 -0.633751 -0.773537 -1.0 +2181 1 1.72 3.54 0.0 60.1800003 -0.521719 0.853118 -1.0 +2182 1 1.72 5.31 1.77 60.1800003 0.98165 -0.190693 -1.0 +2183 1 1.72 5.31 0.0 61.9500008 0.408349 -0.912826 -1.0 +2184 1 1.72 3.54 1.77 61.9500008 0.635871 0.771796 -1.0 +2185 1 1.72 7.0799999 0.0 60.1800003 -0.909242 0.416269 -1.0 +2186 1 1.72 8.8500004 1.77 60.1800003 0.441992 -0.897019 -1.0 +2187 1 1.72 8.8500004 0.0 61.9500008 -0.841794 0.5398 -1.0 +2188 1 1.72 7.0799999 1.77 61.9500008 0.999992 0.0040098 -1.0 +2189 1 1.72 10.6199999 0.0 60.1800003 0.88237 -0.470555 -1.0 +2190 1 1.72 12.3900004 1.77 60.1800003 0.776874 -0.629656 -1.0 +2191 1 1.72 12.3900004 0.0 61.9500008 0.784606 -0.619994 -1.0 +2192 1 1.72 10.6199999 1.77 61.9500008 -0.713829 0.70032 -1.0 +2193 1 1.72 14.1599999 0.0 60.1800003 -0.431426 -0.902149 -1.0 +2194 1 1.72 15.9300004 1.77 60.1800003 -0.876149 0.482041 -1.0 +2195 1 1.72 15.9300004 0.0 61.9500008 -0.640123 0.768272 -1.0 +2196 1 1.72 14.1599999 1.77 61.9500008 0.972071 0.234686 -1.0 +2197 1 1.72 17.7000008 0.0 60.1800003 -0.81298 -0.582291 -1.0 +2198 1 1.72 19.4699993 1.77 60.1800003 -0.748235 -0.663434 -1.0 +2199 1 1.72 19.4699993 0.0 61.9500008 -0.9807 0.195518 -1.0 +2200 1 1.72 17.7000008 1.77 61.9500008 0.992074 0.125658 -1.0 +2201 1 1.72 21.2399998 0.0 60.1800003 0.716181 -0.697915 -1.0 +2202 1 1.72 23.0100002 1.77 60.1800003 -0.741353 0.671115 -1.0 +2203 1 1.72 23.0100002 0.0 61.9500008 -0.130588 -0.991437 -1.0 +2204 1 1.72 21.2399998 1.77 61.9500008 -0.744495 -0.667627 -1.0 +2205 1 1.72 24.7800007 0.0 60.1800003 -0.86091 -0.508758 -1.0 +2206 1 1.72 26.5499993 1.77 60.1800003 0.648935 -0.760844 -1.0 +2207 1 1.72 26.5499993 0.0 61.9500008 -0.481539 -0.876425 -1.0 +2208 1 1.72 24.7800007 1.77 61.9500008 -0.668814 -0.74343 -1.0 +2209 1 1.72 0.0 3.54 60.1800003 0.691128 -0.722733 -1.0 +2210 1 1.72 1.77 5.31 60.1800003 0.67037 0.742027 -1.0 +2211 1 1.72 1.77 3.54 61.9500008 -0.867911 0.496721 -1.0 +2212 1 1.72 0.0 5.31 61.9500008 -0.887005 0.461761 -1.0 +2213 1 1.72 3.54 3.54 60.1800003 -0.946602 0.322406 -1.0 +2214 1 1.72 5.31 5.31 60.1800003 0.811626 0.584177 -1.0 +2215 1 1.72 5.31 3.54 61.9500008 0.104124 -0.994564 -1.0 +2216 1 1.72 3.54 5.31 61.9500008 -0.0464429 0.998921 -1.0 +2217 1 1.72 7.0799999 3.54 60.1800003 -0.500872 0.865521 -1.0 +2218 1 1.72 8.8500004 5.31 60.1800003 -0.690205 0.723614 -1.0 +2219 1 1.72 8.8500004 3.54 61.9500008 0.832516 0.554001 -1.0 +2220 1 1.72 7.0799999 5.31 61.9500008 0.494968 0.868911 -1.0 +2221 1 1.72 10.6199999 3.54 60.1800003 0.808228 -0.588869 -1.0 +2222 1 1.72 12.3900004 5.31 60.1800003 -0.885104 0.465393 -1.0 +2223 1 1.72 12.3900004 3.54 61.9500008 0.914734 -0.404057 -1.0 +2224 1 1.72 10.6199999 5.31 61.9500008 -0.758086 -0.652154 -1.0 +2225 1 1.72 14.1599999 3.54 60.1800003 -0.696002 0.71804 -1.0 +2226 1 1.72 15.9300004 5.31 60.1800003 -0.698208 -0.715895 -1.0 +2227 1 1.72 15.9300004 3.54 61.9500008 0.243663 -0.96986 -1.0 +2228 1 1.72 14.1599999 5.31 61.9500008 0.635984 -0.771702 -1.0 +2229 1 1.72 17.7000008 3.54 60.1800003 0.0487048 0.998813 -1.0 +2230 1 1.72 19.4699993 5.31 60.1800003 0.775481 -0.631371 -1.0 +2231 1 1.72 19.4699993 3.54 61.9500008 -0.773744 -0.633499 -1.0 +2232 1 1.72 17.7000008 5.31 61.9500008 -0.899954 0.435985 -1.0 +2233 1 1.72 21.2399998 3.54 60.1800003 0.553204 0.833046 -1.0 +2234 1 1.72 23.0100002 5.31 60.1800003 -0.791792 0.610791 -1.0 +2235 1 1.72 23.0100002 3.54 61.9500008 -0.789094 0.614273 -1.0 +2236 1 1.72 21.2399998 5.31 61.9500008 0.538023 0.84293 -1.0 +2237 1 1.72 24.7800007 3.54 60.1800003 0.0154642 0.99988 -1.0 +2238 1 1.72 26.5499993 5.31 60.1800003 0.963006 0.26948 -1.0 +2239 1 1.72 26.5499993 3.54 61.9500008 -0.702016 0.712161 -1.0 +2240 1 1.72 24.7800007 5.31 61.9500008 0.107175 0.99424 -1.0 +2241 1 1.72 0.0 7.0799999 60.1800003 0.989911 -0.141689 -1.0 +2242 1 1.72 1.77 8.8500004 60.1800003 -0.35683 0.934169 -1.0 +2243 1 1.72 1.77 7.0799999 61.9500008 0.94673 -0.322028 -1.0 +2244 1 1.72 0.0 8.8500004 61.9500008 0.781508 0.623895 -1.0 +2245 1 1.72 3.54 7.0799999 60.1800003 0.859234 -0.511583 -1.0 +2246 1 1.72 5.31 8.8500004 60.1800003 -0.642902 0.765948 -1.0 +2247 1 1.72 5.31 7.0799999 61.9500008 0.818499 0.574508 -1.0 +2248 1 1.72 3.54 8.8500004 61.9500008 -0.0745327 -0.997219 -1.0 +2249 1 1.72 7.0799999 7.0799999 60.1800003 0.660174 0.751113 -1.0 +2250 1 1.72 8.8500004 8.8500004 60.1800003 -0.10963 0.993972 -1.0 +2251 1 1.72 8.8500004 7.0799999 61.9500008 0.998617 0.0525733 -1.0 +2252 1 1.72 7.0799999 8.8500004 61.9500008 -0.988026 -0.15429 -1.0 +2253 1 1.72 10.6199999 7.0799999 60.1800003 -0.47935 -0.877624 -1.0 +2254 1 1.72 12.3900004 8.8500004 60.1800003 -0.829951 0.557836 -1.0 +2255 1 1.72 12.3900004 7.0799999 61.9500008 -0.472795 0.881172 -1.0 +2256 1 1.72 10.6199999 8.8500004 61.9500008 0.754855 -0.655892 -1.0 +2257 1 1.72 14.1599999 7.0799999 60.1800003 0.985672 0.168673 -1.0 +2258 1 1.72 15.9300004 8.8500004 60.1800003 -0.601078 0.799191 -1.0 +2259 1 1.72 15.9300004 7.0799999 61.9500008 -0.634486 0.772934 -1.0 +2260 1 1.72 14.1599999 8.8500004 61.9500008 0.498357 -0.866972 -1.0 +2261 1 1.72 17.7000008 7.0799999 60.1800003 -0.704777 -0.709429 -1.0 +2262 1 1.72 19.4699993 8.8500004 60.1800003 -0.570093 -0.82158 -1.0 +2263 1 1.72 19.4699993 7.0799999 61.9500008 -0.76991 -0.638152 -1.0 +2264 1 1.72 17.7000008 8.8500004 61.9500008 0.341979 -0.939708 -1.0 +2265 1 1.72 21.2399998 7.0799999 60.1800003 0.686329 -0.727292 -1.0 +2266 1 1.72 23.0100002 8.8500004 60.1800003 0.116939 -0.993139 -1.0 +2267 1 1.72 23.0100002 7.0799999 61.9500008 -0.0310812 -0.999517 -1.0 +2268 1 1.72 21.2399998 8.8500004 61.9500008 -0.345442 -0.93844 -1.0 +2269 1 1.72 24.7800007 7.0799999 60.1800003 0.740587 0.671961 -1.0 +2270 1 1.72 26.5499993 8.8500004 60.1800003 -0.752559 0.658524 -1.0 +2271 1 1.72 26.5499993 7.0799999 61.9500008 -0.984996 0.172578 -1.0 +2272 1 1.72 24.7800007 8.8500004 61.9500008 0.932169 -0.362024 -1.0 +2273 1 1.72 0.0 10.6199999 60.1800003 0.749849 0.661609 -1.0 +2274 1 1.72 1.77 12.3900004 60.1800003 0.568754 0.822508 -1.0 +2275 1 1.72 1.77 10.6199999 61.9500008 -0.18935 0.98191 -1.0 +2276 1 1.72 0.0 12.3900004 61.9500008 0.354359 0.93511 -1.0 +2277 1 1.72 3.54 10.6199999 60.1800003 0.583614 0.812031 -1.0 +2278 1 1.72 5.31 12.3900004 60.1800003 -0.944498 0.328516 -1.0 +2279 1 1.72 5.31 10.6199999 61.9500008 0.559089 -0.829108 -1.0 +2280 1 1.72 3.54 12.3900004 61.9500008 -0.979309 0.20237 -1.0 +2281 1 1.72 7.0799999 10.6199999 60.1800003 0.669319 -0.742975 -1.0 +2282 1 1.72 8.8500004 12.3900004 60.1800003 -0.695985 -0.718057 -1.0 +2283 1 1.72 8.8500004 10.6199999 61.9500008 -0.520061 0.854129 -1.0 +2284 1 1.72 7.0799999 12.3900004 61.9500008 0.286424 -0.958103 -1.0 +2285 1 1.72 10.6199999 10.6199999 60.1800003 0.0268946 0.999638 -1.0 +2286 1 1.72 12.3900004 12.3900004 60.1800003 0.544 -0.839085 -1.0 +2287 1 1.72 12.3900004 10.6199999 61.9500008 -0.934575 -0.355767 -1.0 +2288 1 1.72 10.6199999 12.3900004 61.9500008 0.00176616 -0.999998 -1.0 +2289 1 1.72 14.1599999 10.6199999 60.1800003 -0.569887 -0.821723 -1.0 +2290 1 1.72 15.9300004 12.3900004 60.1800003 0.944306 -0.329068 -1.0 +2291 1 1.72 15.9300004 10.6199999 61.9500008 -0.96432 0.264738 -1.0 +2292 1 1.72 14.1599999 12.3900004 61.9500008 -0.0415427 -0.999137 -1.0 +2293 1 1.72 17.7000008 10.6199999 60.1800003 -0.72158 0.692331 -1.0 +2294 1 1.72 19.4699993 12.3900004 60.1800003 0.349289 -0.937015 -1.0 +2295 1 1.72 19.4699993 10.6199999 61.9500008 0.74914 -0.662412 -1.0 +2296 1 1.72 17.7000008 12.3900004 61.9500008 -0.884786 -0.465997 -1.0 +2297 1 1.72 21.2399998 10.6199999 60.1800003 -0.998867 0.0475972 -1.0 +2298 1 1.72 23.0100002 12.3900004 60.1800003 0.561024 -0.827799 -1.0 +2299 1 1.72 23.0100002 10.6199999 61.9500008 0.874993 0.484136 -1.0 +2300 1 1.72 21.2399998 12.3900004 61.9500008 0.731423 0.681924 -1.0 +2301 1 1.72 24.7800007 10.6199999 60.1800003 0.981963 0.189071 -1.0 +2302 1 1.72 26.5499993 12.3900004 60.1800003 -0.304376 -0.952552 -1.0 +2303 1 1.72 26.5499993 10.6199999 61.9500008 0.572572 -0.819854 -1.0 +2304 1 1.72 24.7800007 12.3900004 61.9500008 -0.73053 0.682881 -1.0 +2305 1 1.72 0.0 0.0 63.7200012 -0.241074 0.970507 -1.0 +2306 1 1.72 1.77 1.77 63.7200012 -0.916805 -0.399335 -1.0 +2307 1 1.72 1.77 0.0 65.4899979 0.712752 0.701416 -1.0 +2308 1 1.72 0.0 1.77 65.4899979 -0.171059 -0.985261 -1.0 +2309 1 1.72 3.54 0.0 63.7200012 -0.781157 -0.624335 -1.0 +2310 1 1.72 5.31 1.77 63.7200012 0.833735 0.552165 -1.0 +2311 1 1.72 5.31 0.0 65.4899979 0.829297 -0.558808 -1.0 +2312 1 1.72 3.54 1.77 65.4899979 -0.998425 0.056105 -1.0 +2313 1 1.72 7.0799999 0.0 63.7200012 -0.989521 0.144388 -1.0 +2314 1 1.72 8.8500004 1.77 63.7200012 0.693249 -0.720698 -1.0 +2315 1 1.72 8.8500004 0.0 65.4899979 -0.693845 -0.720125 -1.0 +2316 1 1.72 7.0799999 1.77 65.4899979 0.29916 -0.954203 -1.0 +2317 1 1.72 10.6199999 0.0 63.7200012 -0.573661 0.819093 -1.0 +2318 1 1.72 12.3900004 1.77 63.7200012 -0.673314 0.739356 -1.0 +2319 1 1.72 12.3900004 0.0 65.4899979 0.90837 0.418167 -1.0 +2320 1 1.72 10.6199999 1.77 65.4899979 0.64151 -0.767115 -1.0 +2321 1 1.72 14.1599999 0.0 63.7200012 -0.713383 -0.700774 -1.0 +2322 1 1.72 15.9300004 1.77 63.7200012 -0.931616 -0.363444 -1.0 +2323 1 1.72 15.9300004 0.0 65.4899979 0.528798 -0.848748 -1.0 +2324 1 1.72 14.1599999 1.77 65.4899979 -0.979792 0.200018 -1.0 +2325 1 1.72 17.7000008 0.0 63.7200012 0.966546 0.256495 -1.0 +2326 1 1.72 19.4699993 1.77 63.7200012 -0.631077 0.77572 -1.0 +2327 1 1.72 19.4699993 0.0 65.4899979 -0.568237 0.822865 -1.0 +2328 1 1.72 17.7000008 1.77 65.4899979 0.413133 -0.910671 -1.0 +2329 1 1.72 21.2399998 0.0 63.7200012 0.869897 0.493234 -1.0 +2330 1 1.72 23.0100002 1.77 63.7200012 -0.387445 0.921893 -1.0 +2331 1 1.72 23.0100002 0.0 65.4899979 0.95615 0.292878 -1.0 +2332 1 1.72 21.2399998 1.77 65.4899979 -0.134405 -0.990926 -1.0 +2333 1 1.72 24.7800007 0.0 63.7200012 -0.67517 0.737662 -1.0 +2334 1 1.72 26.5499993 1.77 63.7200012 0.645081 0.764114 -1.0 +2335 1 1.72 26.5499993 0.0 65.4899979 -0.988262 -0.152766 -1.0 +2336 1 1.72 24.7800007 1.77 65.4899979 0.538304 0.842751 -1.0 +2337 1 1.72 0.0 3.54 63.7200012 -0.267653 -0.963515 -1.0 +2338 1 1.72 1.77 5.31 63.7200012 0.885324 -0.464975 -1.0 +2339 1 1.72 1.77 3.54 65.4899979 0.308337 -0.951277 -1.0 +2340 1 1.72 0.0 5.31 65.4899979 -0.82045 -0.571719 -1.0 +2341 1 1.72 3.54 3.54 63.7200012 0.265256 0.964178 -1.0 +2342 1 1.72 5.31 5.31 63.7200012 -0.0642945 -0.997931 -1.0 +2343 1 1.72 5.31 3.54 65.4899979 -0.163418 -0.986557 -1.0 +2344 1 1.72 3.54 5.31 65.4899979 -0.404113 -0.914709 -1.0 +2345 1 1.72 7.0799999 3.54 63.7200012 -0.536916 -0.843635 -1.0 +2346 1 1.72 8.8500004 5.31 63.7200012 0.743761 -0.668446 -1.0 +2347 1 1.72 8.8500004 3.54 65.4899979 -0.741639 -0.670799 -1.0 +2348 1 1.72 7.0799999 5.31 65.4899979 0.915007 0.403438 -1.0 +2349 1 1.72 10.6199999 3.54 63.7200012 0.967849 0.25153 -1.0 +2350 1 1.72 12.3900004 5.31 63.7200012 -0.584651 -0.811285 -1.0 +2351 1 1.72 12.3900004 3.54 65.4899979 0.800263 0.599649 -1.0 +2352 1 1.72 10.6199999 5.31 65.4899979 0.830283 -0.557342 -1.0 +2353 1 1.72 14.1599999 3.54 63.7200012 0.0222517 -0.999752 -1.0 +2354 1 1.72 15.9300004 5.31 63.7200012 -0.884908 -0.465765 -1.0 +2355 1 1.72 15.9300004 3.54 65.4899979 -0.264413 -0.96441 -1.0 +2356 1 1.72 14.1599999 5.31 65.4899979 -0.575731 -0.817639 -1.0 +2357 1 1.72 17.7000008 3.54 63.7200012 0.195927 0.980618 -1.0 +2358 1 1.72 19.4699993 5.31 63.7200012 0.60046 -0.799655 -1.0 +2359 1 1.72 19.4699993 3.54 65.4899979 0.721915 -0.691982 -1.0 +2360 1 1.72 17.7000008 5.31 65.4899979 0.25394 0.96722 -1.0 +2361 1 1.72 21.2399998 3.54 63.7200012 -0.946485 -0.322747 -1.0 +2362 1 1.72 23.0100002 5.31 63.7200012 -0.503691 -0.863884 -1.0 +2363 1 1.72 23.0100002 3.54 65.4899979 0.19038 0.98171 -1.0 +2364 1 1.72 21.2399998 5.31 65.4899979 -0.791471 0.611206 -1.0 +2365 1 1.72 24.7800007 3.54 63.7200012 0.552113 -0.833769 -1.0 +2366 1 1.72 26.5499993 5.31 63.7200012 -0.48996 -0.871745 -1.0 +2367 1 1.72 26.5499993 3.54 65.4899979 0.719199 -0.694805 -1.0 +2368 1 1.72 24.7800007 5.31 65.4899979 0.532568 -0.846387 -1.0 +2369 1 1.72 0.0 7.0799999 63.7200012 -0.71549 -0.698623 -1.0 +2370 1 1.72 1.77 8.8500004 63.7200012 0.174918 0.984583 -1.0 +2371 1 1.72 1.77 7.0799999 65.4899979 -0.0938261 -0.995589 -1.0 +2372 1 1.72 0.0 8.8500004 65.4899979 0.753401 0.657562 -1.0 +2373 1 1.72 3.54 7.0799999 63.7200012 -0.352993 -0.935626 -1.0 +2374 1 1.72 5.31 8.8500004 63.7200012 -0.380907 -0.924613 -1.0 +2375 1 1.72 5.31 7.0799999 65.4899979 -0.506329 0.862341 -1.0 +2376 1 1.72 3.54 8.8500004 65.4899979 -0.899908 -0.436079 -1.0 +2377 1 1.72 7.0799999 7.0799999 63.7200012 -0.641588 -0.76705 -1.0 +2378 1 1.72 8.8500004 8.8500004 63.7200012 -0.650487 0.759518 -1.0 +2379 1 1.72 8.8500004 7.0799999 65.4899979 0.0807781 -0.996732 -1.0 +2380 1 1.72 7.0799999 8.8500004 65.4899979 -0.654193 0.756328 -1.0 +2381 1 1.72 10.6199999 7.0799999 63.7200012 0.442925 -0.896559 -1.0 +2382 1 1.72 12.3900004 8.8500004 63.7200012 0.951988 -0.306134 -1.0 +2383 1 1.72 12.3900004 7.0799999 65.4899979 0.584264 -0.811564 -1.0 +2384 1 1.72 10.6199999 8.8500004 65.4899979 -0.770223 0.637775 -1.0 +2385 1 1.72 14.1599999 7.0799999 63.7200012 0.302857 -0.953036 -1.0 +2386 1 1.72 15.9300004 8.8500004 63.7200012 -0.749447 -0.662064 -1.0 +2387 1 1.72 15.9300004 7.0799999 65.4899979 -0.690577 0.723259 -1.0 +2388 1 1.72 14.1599999 8.8500004 65.4899979 -0.16283 0.986654 -1.0 +2389 1 1.72 17.7000008 7.0799999 63.7200012 0.971916 -0.23533 -1.0 +2390 1 1.72 19.4699993 8.8500004 63.7200012 0.681513 -0.731806 -1.0 +2391 1 1.72 19.4699993 7.0799999 65.4899979 0.849563 -0.527487 -1.0 +2392 1 1.72 17.7000008 8.8500004 65.4899979 -0.189695 -0.981843 -1.0 +2393 1 1.72 21.2399998 7.0799999 63.7200012 -0.416638 -0.909072 -1.0 +2394 1 1.72 23.0100002 8.8500004 63.7200012 0.760077 0.649833 -1.0 +2395 1 1.72 23.0100002 7.0799999 65.4899979 0.937626 -0.347646 -1.0 +2396 1 1.72 21.2399998 8.8500004 65.4899979 -0.527299 0.849679 -1.0 +2397 1 1.72 24.7800007 7.0799999 63.7200012 -0.767971 0.640485 -1.0 +2398 1 1.72 26.5499993 8.8500004 63.7200012 0.567538 0.823347 -1.0 +2399 1 1.72 26.5499993 7.0799999 65.4899979 0.151658 -0.988433 -1.0 +2400 1 1.72 24.7800007 8.8500004 65.4899979 0.844996 0.534773 -1.0 +2401 1 1.72 0.0 10.6199999 63.7200012 -0.938171 -0.346171 -1.0 +2402 1 1.72 1.77 12.3900004 63.7200012 -0.85901 -0.511959 -1.0 +2403 1 1.72 1.77 10.6199999 65.4899979 0.999863 -0.016543 -1.0 +2404 1 1.72 0.0 12.3900004 65.4899979 -0.702009 0.712168 -1.0 +2405 1 1.72 3.54 10.6199999 63.7200012 0.996207 0.0870175 -1.0 +2406 1 1.72 5.31 12.3900004 63.7200012 -0.314469 -0.949268 -1.0 +2407 1 1.72 5.31 10.6199999 65.4899979 0.146234 -0.98925 -1.0 +2408 1 1.72 3.54 12.3900004 65.4899979 0.822656 0.568539 -1.0 +2409 1 1.72 7.0799999 10.6199999 63.7200012 -0.0988962 0.995098 -1.0 +2410 1 1.72 8.8500004 12.3900004 63.7200012 0.520946 0.853589 -1.0 +2411 1 1.72 8.8500004 10.6199999 65.4899979 -0.43187 -0.901936 -1.0 +2412 1 1.72 7.0799999 12.3900004 65.4899979 0.481779 -0.876293 -1.0 +2413 1 1.72 10.6199999 10.6199999 63.7200012 -0.780118 -0.625633 -1.0 +2414 1 1.72 12.3900004 12.3900004 63.7200012 0.686773 -0.726872 -1.0 +2415 1 1.72 12.3900004 10.6199999 65.4899979 -0.981106 0.19347 -1.0 +2416 1 1.72 10.6199999 12.3900004 65.4899979 -0.93308 -0.35967 -1.0 +2417 1 1.72 14.1599999 10.6199999 63.7200012 0.729055 0.684455 -1.0 +2418 1 1.72 15.9300004 12.3900004 63.7200012 -0.365456 -0.930829 -1.0 +2419 1 1.72 15.9300004 10.6199999 65.4899979 0.86082 -0.50891 -1.0 +2420 1 1.72 14.1599999 12.3900004 65.4899979 -0.362523 -0.931975 -1.0 +2421 1 1.72 17.7000008 10.6199999 63.7200012 -0.751222 0.66005 -1.0 +2422 1 1.72 19.4699993 12.3900004 63.7200012 0.611707 -0.791085 -1.0 +2423 1 1.72 19.4699993 10.6199999 65.4899979 0.70111 -0.713053 -1.0 +2424 1 1.72 17.7000008 12.3900004 65.4899979 -0.700857 -0.713302 -1.0 +2425 1 1.72 21.2399998 10.6199999 63.7200012 0.512912 0.858441 -1.0 +2426 1 1.72 23.0100002 12.3900004 63.7200012 0.324951 0.945731 -1.0 +2427 1 1.72 23.0100002 10.6199999 65.4899979 0.0316404 -0.999499 -1.0 +2428 1 1.72 21.2399998 12.3900004 65.4899979 0.972903 -0.231213 -1.0 +2429 1 1.72 24.7800007 10.6199999 63.7200012 0.998547 -0.0538901 -1.0 +2430 1 1.72 26.5499993 12.3900004 63.7200012 0.973624 0.228157 -1.0 +2431 1 1.72 26.5499993 10.6199999 65.4899979 -0.981272 0.192626 -1.0 +2432 1 1.72 24.7800007 12.3900004 65.4899979 -0.445004 -0.895529 -1.0 +2433 1 1.72 0.0 0.0 67.2600021 -0.562091 0.827075 -1.0 +2434 1 1.72 1.77 1.77 67.2600021 -0.543253 0.839569 -1.0 +2435 1 1.72 1.77 0.0 69.0299988 -0.952445 -0.304709 -1.0 +2436 1 1.72 0.0 1.77 69.0299988 -0.235464 -0.971883 -1.0 +2437 1 1.72 3.54 0.0 67.2600021 0.802885 0.596134 -1.0 +2438 1 1.72 5.31 1.77 67.2600021 0.720633 -0.693317 -1.0 +2439 1 1.72 5.31 0.0 69.0299988 -0.99999 -0.00435894 -1.0 +2440 1 1.72 3.54 1.77 69.0299988 -0.694102 -0.719877 -1.0 +2441 1 1.72 7.0799999 0.0 67.2600021 -0.587192 -0.809448 -1.0 +2442 1 1.72 8.8500004 1.77 67.2600021 0.703733 0.710465 -1.0 +2443 1 1.72 8.8500004 0.0 69.0299988 0.483469 -0.875362 -1.0 +2444 1 1.72 7.0799999 1.77 69.0299988 -0.666988 0.745068 -1.0 +2445 1 1.72 10.6199999 0.0 67.2600021 -0.999734 -0.0230676 -1.0 +2446 1 1.72 12.3900004 1.77 67.2600021 -0.704073 -0.710128 -1.0 +2447 1 1.72 12.3900004 0.0 69.0299988 -0.606161 -0.795342 -1.0 +2448 1 1.72 10.6199999 1.77 69.0299988 -0.769184 0.639027 -1.0 +2449 1 1.72 14.1599999 0.0 67.2600021 -0.499218 -0.866477 -1.0 +2450 1 1.72 15.9300004 1.77 67.2600021 0.673539 -0.739151 -1.0 +2451 1 1.72 15.9300004 0.0 69.0299988 0.898864 0.438227 -1.0 +2452 1 1.72 14.1599999 1.77 69.0299988 0.727839 -0.685748 -1.0 +2453 1 1.72 17.7000008 0.0 67.2600021 0.252137 0.967691 -1.0 +2454 1 1.72 19.4699993 1.77 67.2600021 -0.75267 -0.658398 -1.0 +2455 1 1.72 19.4699993 0.0 69.0299988 -0.327885 0.944718 -1.0 +2456 1 1.72 17.7000008 1.77 69.0299988 -0.760655 -0.649156 -1.0 +2457 1 1.72 21.2399998 0.0 67.2600021 -0.25872 0.965952 -1.0 +2458 1 1.72 23.0100002 1.77 67.2600021 0.319444 0.947605 -1.0 +2459 1 1.72 23.0100002 0.0 69.0299988 0.950299 0.311338 -1.0 +2460 1 1.72 21.2399998 1.77 69.0299988 0.865474 0.500953 -1.0 +2461 1 1.72 24.7800007 0.0 67.2600021 -0.782408 -0.622767 -1.0 +2462 1 1.72 26.5499993 1.77 67.2600021 -0.975746 -0.218905 -1.0 +2463 1 1.72 26.5499993 0.0 69.0299988 0.62592 -0.779887 -1.0 +2464 1 1.72 24.7800007 1.77 69.0299988 -0.77496 -0.63201 -1.0 +2465 1 1.72 0.0 3.54 67.2600021 -0.00344942 0.999994 -1.0 +2466 1 1.72 1.77 5.31 67.2600021 0.804716 0.59366 -1.0 +2467 1 1.72 1.77 3.54 69.0299988 -0.263429 0.964679 -1.0 +2468 1 1.72 0.0 5.31 69.0299988 -0.467125 0.884191 -1.0 +2469 1 1.72 3.54 3.54 67.2600021 0.394847 -0.918747 -1.0 +2470 1 1.72 5.31 5.31 67.2600021 0.19803 -0.980196 -1.0 +2471 1 1.72 5.31 3.54 69.0299988 -0.735634 -0.67738 -1.0 +2472 1 1.72 3.54 5.31 69.0299988 -0.780256 0.62546 -1.0 +2473 1 1.72 7.0799999 3.54 67.2600021 0.267236 -0.963631 -1.0 +2474 1 1.72 8.8500004 5.31 67.2600021 -0.091437 -0.995811 -1.0 +2475 1 1.72 8.8500004 3.54 69.0299988 -0.981555 -0.191182 -1.0 +2476 1 1.72 7.0799999 5.31 69.0299988 0.566657 0.823954 -1.0 +2477 1 1.72 10.6199999 3.54 67.2600021 -0.378665 -0.925534 -1.0 +2478 1 1.72 12.3900004 5.31 67.2600021 0.782275 -0.622934 -1.0 +2479 1 1.72 12.3900004 3.54 69.0299988 -0.418551 0.908194 -1.0 +2480 1 1.72 10.6199999 5.31 69.0299988 0.931319 0.364204 -1.0 +2481 1 1.72 14.1599999 3.54 67.2600021 -0.256481 0.966549 -1.0 +2482 1 1.72 15.9300004 5.31 67.2600021 -0.513162 -0.858292 -1.0 +2483 1 1.72 15.9300004 3.54 69.0299988 -0.372953 -0.92785 -1.0 +2484 1 1.72 14.1599999 5.31 69.0299988 0.610681 -0.791877 -1.0 +2485 1 1.72 17.7000008 3.54 67.2600021 0.599818 0.800137 -1.0 +2486 1 1.72 19.4699993 5.31 67.2600021 -0.704443 0.70976 -1.0 +2487 1 1.72 19.4699993 3.54 69.0299988 0.951687 0.30707 -1.0 +2488 1 1.72 17.7000008 5.31 69.0299988 0.86226 -0.506466 -1.0 +2489 1 1.72 21.2399998 3.54 67.2600021 0.896434 -0.443176 -1.0 +2490 1 1.72 23.0100002 5.31 67.2600021 0.809607 -0.586972 -1.0 +2491 1 1.72 23.0100002 3.54 69.0299988 0.226646 -0.973977 -1.0 +2492 1 1.72 21.2399998 5.31 69.0299988 -0.122875 0.992422 -1.0 +2493 1 1.72 24.7800007 3.54 67.2600021 -0.403321 -0.915059 -1.0 +2494 1 1.72 26.5499993 5.31 67.2600021 0.969155 0.246453 -1.0 +2495 1 1.72 26.5499993 3.54 69.0299988 -0.0388332 -0.999246 -1.0 +2496 1 1.72 24.7800007 5.31 69.0299988 0.999529 -0.0306765 -1.0 +2497 1 1.72 0.0 7.0799999 67.2600021 -0.0844834 -0.996425 -1.0 +2498 1 1.72 1.77 8.8500004 67.2600021 0.52432 0.851521 -1.0 +2499 1 1.72 1.77 7.0799999 69.0299988 -0.75716 -0.653229 -1.0 +2500 1 1.72 0.0 8.8500004 69.0299988 0.997292 -0.0735396 -1.0 +2501 1 1.72 3.54 7.0799999 67.2600021 -0.970573 -0.240809 -1.0 +2502 1 1.72 5.31 8.8500004 67.2600021 0.998763 0.0497254 -1.0 +2503 1 1.72 5.31 7.0799999 69.0299988 -0.644067 0.764969 -1.0 +2504 1 1.72 3.54 8.8500004 69.0299988 -0.378008 -0.925802 -1.0 +2505 1 1.72 7.0799999 7.0799999 67.2600021 -0.313713 0.949518 -1.0 +2506 1 1.72 8.8500004 8.8500004 67.2600021 0.966974 -0.254875 -1.0 +2507 1 1.72 8.8500004 7.0799999 69.0299988 0.848527 0.529152 -1.0 +2508 1 1.72 7.0799999 8.8500004 69.0299988 0.28983 -0.957078 -1.0 +2509 1 1.72 10.6199999 7.0799999 67.2600021 0.739304 -0.673372 -1.0 +2510 1 1.72 12.3900004 8.8500004 67.2600021 0.890111 0.455743 -1.0 +2511 1 1.72 12.3900004 7.0799999 69.0299988 0.797058 0.603902 -1.0 +2512 1 1.72 10.6199999 8.8500004 69.0299988 0.956073 0.293128 -1.0 +2513 1 1.72 14.1599999 7.0799999 67.2600021 -0.826604 0.562783 -1.0 +2514 1 1.72 15.9300004 8.8500004 67.2600021 -0.540986 0.841032 -1.0 +2515 1 1.72 15.9300004 7.0799999 69.0299988 0.548777 -0.835969 -1.0 +2516 1 1.72 14.1599999 8.8500004 69.0299988 0.772044 -0.635568 -1.0 +2517 1 1.72 17.7000008 7.0799999 67.2600021 -0.721455 0.692462 -1.0 +2518 1 1.72 19.4699993 8.8500004 67.2600021 -0.891206 -0.453599 -1.0 +2519 1 1.72 19.4699993 7.0799999 69.0299988 -0.572679 0.81978 -1.0 +2520 1 1.72 17.7000008 8.8500004 69.0299988 -0.987177 -0.159626 -1.0 +2521 1 1.72 21.2399998 7.0799999 67.2600021 0.762175 0.647371 -1.0 +2522 1 1.72 23.0100002 8.8500004 67.2600021 -0.866087 0.499894 -1.0 +2523 1 1.72 23.0100002 7.0799999 69.0299988 0.482448 -0.875925 -1.0 +2524 1 1.72 21.2399998 8.8500004 69.0299988 -0.977753 0.209758 -1.0 +2525 1 1.72 24.7800007 7.0799999 67.2600021 0.646402 0.762997 -1.0 +2526 1 1.72 26.5499993 8.8500004 67.2600021 -0.474111 -0.880465 -1.0 +2527 1 1.72 26.5499993 7.0799999 69.0299988 0.977341 -0.21167 -1.0 +2528 1 1.72 24.7800007 8.8500004 69.0299988 -0.539313 0.842105 -1.0 +2529 1 1.72 0.0 10.6199999 67.2600021 -0.492588 0.870263 -1.0 +2530 1 1.72 1.77 12.3900004 67.2600021 0.531379 0.847134 -1.0 +2531 1 1.72 1.77 10.6199999 69.0299988 -0.929224 -0.369518 -1.0 +2532 1 1.72 0.0 12.3900004 69.0299988 0.659059 0.752091 -1.0 +2533 1 1.72 3.54 10.6199999 67.2600021 -0.886385 0.462949 -1.0 +2534 1 1.72 5.31 12.3900004 67.2600021 0.380359 0.924839 -1.0 +2535 1 1.72 5.31 10.6199999 69.0299988 -0.398277 0.917265 -1.0 +2536 1 1.72 3.54 12.3900004 69.0299988 0.0932238 0.995645 -1.0 +2537 1 1.72 7.0799999 10.6199999 67.2600021 -0.966582 -0.256357 -1.0 +2538 1 1.72 8.8500004 12.3900004 67.2600021 -0.544856 0.83853 -1.0 +2539 1 1.72 8.8500004 10.6199999 69.0299988 0.282839 -0.959168 -1.0 +2540 1 1.72 7.0799999 12.3900004 69.0299988 -0.278891 -0.960323 -1.0 +2541 1 1.72 10.6199999 10.6199999 67.2600021 -0.752093 0.659057 -1.0 +2542 1 1.72 12.3900004 12.3900004 67.2600021 0.543929 0.839131 -1.0 +2543 1 1.72 12.3900004 10.6199999 69.0299988 0.115105 -0.993353 -1.0 +2544 1 1.72 10.6199999 12.3900004 69.0299988 -0.869329 0.494233 -1.0 +2545 1 1.72 14.1599999 10.6199999 67.2600021 -0.282722 0.959202 -1.0 +2546 1 1.72 15.9300004 12.3900004 67.2600021 0.672684 -0.73993 -1.0 +2547 1 1.72 15.9300004 10.6199999 69.0299988 -0.962006 0.27303 -1.0 +2548 1 1.72 14.1599999 12.3900004 69.0299988 0.990839 -0.135049 -1.0 +2549 1 1.72 17.7000008 10.6199999 67.2600021 0.338185 0.94108 -1.0 +2550 1 1.72 19.4699993 12.3900004 67.2600021 0.0157419 -0.999876 -1.0 +2551 1 1.72 19.4699993 10.6199999 69.0299988 0.504551 -0.863382 -1.0 +2552 1 1.72 17.7000008 12.3900004 69.0299988 -0.482953 -0.875646 -1.0 +2553 1 1.72 21.2399998 10.6199999 67.2600021 0.167304 -0.985905 -1.0 +2554 1 1.72 23.0100002 12.3900004 67.2600021 -0.855262 -0.518195 -1.0 +2555 1 1.72 23.0100002 10.6199999 69.0299988 0.640076 -0.768312 -1.0 +2556 1 1.72 21.2399998 12.3900004 69.0299988 -0.632971 0.774175 -1.0 +2557 1 1.72 24.7800007 10.6199999 67.2600021 0.40118 0.915999 -1.0 +2558 1 1.72 26.5499993 12.3900004 67.2600021 0.972098 0.234576 -1.0 +2559 1 1.72 26.5499993 10.6199999 69.0299988 -0.430277 0.902697 -1.0 +2560 1 1.72 24.7800007 12.3900004 69.0299988 -0.520051 0.854135 -1.0 +2561 1 1.72 0.0 0.0 70.8000031 0.996854 -0.079259 -1.0 +2562 1 1.72 1.77 1.77 70.8000031 0.450149 0.892953 -1.0 +2563 1 1.72 1.77 0.0 72.5699997 0.184363 -0.982858 -1.0 +2564 1 1.72 0.0 1.77 72.5699997 0.996762 -0.0804035 -1.0 +2565 1 1.72 3.54 0.0 70.8000031 0.878294 -0.478122 -1.0 +2566 1 1.72 5.31 1.77 70.8000031 0.556396 0.830917 -1.0 +2567 1 1.72 5.31 0.0 72.5699997 -0.867916 -0.496712 -1.0 +2568 1 1.72 3.54 1.77 72.5699997 0.793814 0.608161 -1.0 +2569 1 1.72 7.0799999 0.0 70.8000031 -0.944071 -0.329743 -1.0 +2570 1 1.72 8.8500004 1.77 70.8000031 0.999804 0.0197887 -1.0 +2571 1 1.72 8.8500004 0.0 72.5699997 0.30749 0.951551 -1.0 +2572 1 1.72 7.0799999 1.77 72.5699997 -0.323979 -0.946064 -1.0 +2573 1 1.72 10.6199999 0.0 70.8000031 0.290281 0.956941 -1.0 +2574 1 1.72 12.3900004 1.77 70.8000031 0.948431 -0.316985 -1.0 +2575 1 1.72 12.3900004 0.0 72.5699997 -0.532161 -0.846643 -1.0 +2576 1 1.72 10.6199999 1.77 72.5699997 -0.695111 0.718903 -1.0 +2577 1 1.72 14.1599999 0.0 70.8000031 -0.916714 0.399543 -1.0 +2578 1 1.72 15.9300004 1.77 70.8000031 -0.160218 -0.987082 -1.0 +2579 1 1.72 15.9300004 0.0 72.5699997 0.645086 -0.76411 -1.0 +2580 1 1.72 14.1599999 1.77 72.5699997 0.936435 0.350841 -1.0 +2581 1 1.72 17.7000008 0.0 70.8000031 -0.71365 0.700503 -1.0 +2582 1 1.72 19.4699993 1.77 70.8000031 -0.997183 -0.0750127 -1.0 +2583 1 1.72 19.4699993 0.0 72.5699997 -0.86208 0.506773 -1.0 +2584 1 1.72 17.7000008 1.77 72.5699997 0.609747 -0.792596 -1.0 +2585 1 1.72 21.2399998 0.0 70.8000031 0.952234 -0.305369 -1.0 +2586 1 1.72 23.0100002 1.77 70.8000031 -0.892839 -0.450377 -1.0 +2587 1 1.72 23.0100002 0.0 72.5699997 -0.345205 0.938527 -1.0 +2588 1 1.72 21.2399998 1.77 72.5699997 0.697217 -0.71686 -1.0 +2589 1 1.72 24.7800007 0.0 70.8000031 0.227603 0.973754 -1.0 +2590 1 1.72 26.5499993 1.77 70.8000031 -0.691152 -0.722709 -1.0 +2591 1 1.72 26.5499993 0.0 72.5699997 0.0879207 -0.996127 -1.0 +2592 1 1.72 24.7800007 1.77 72.5699997 0.0309026 0.999522 -1.0 +2593 1 1.72 0.0 3.54 70.8000031 0.434622 -0.900613 -1.0 +2594 1 1.72 1.77 5.31 70.8000031 -0.0800045 -0.996794 -1.0 +2595 1 1.72 1.77 3.54 72.5699997 -0.696582 0.717478 -1.0 +2596 1 1.72 0.0 5.31 72.5699997 -0.0641145 0.997943 -1.0 +2597 1 1.72 3.54 3.54 70.8000031 0.216238 -0.976341 -1.0 +2598 1 1.72 5.31 5.31 70.8000031 -0.801073 0.598566 -1.0 +2599 1 1.72 5.31 3.54 72.5699997 0.362364 -0.932037 -1.0 +2600 1 1.72 3.54 5.31 72.5699997 -0.12397 0.992286 -1.0 +2601 1 1.72 7.0799999 3.54 70.8000031 -0.795129 -0.606441 -1.0 +2602 1 1.72 8.8500004 5.31 70.8000031 -0.793141 0.609038 -1.0 +2603 1 1.72 8.8500004 3.54 72.5699997 0.81266 0.582738 -1.0 +2604 1 1.72 7.0799999 5.31 72.5699997 -0.454623 -0.890684 -1.0 +2605 1 1.72 10.6199999 3.54 70.8000031 -0.91051 -0.413488 -1.0 +2606 1 1.72 12.3900004 5.31 70.8000031 0.519881 -0.854239 -1.0 +2607 1 1.72 12.3900004 3.54 72.5699997 0.701988 -0.712189 -1.0 +2608 1 1.72 10.6199999 5.31 72.5699997 0.0276954 0.999616 -1.0 +2609 1 1.72 14.1599999 3.54 70.8000031 0.380239 0.924888 -1.0 +2610 1 1.72 15.9300004 5.31 70.8000031 -0.984141 0.177389 -1.0 +2611 1 1.72 15.9300004 3.54 72.5699997 0.941809 -0.336149 -1.0 +2612 1 1.72 14.1599999 5.31 72.5699997 -0.999229 -0.0392529 -1.0 +2613 1 1.72 17.7000008 3.54 70.8000031 -0.519176 -0.854667 -1.0 +2614 1 1.72 19.4699993 5.31 70.8000031 0.202819 -0.979216 -1.0 +2615 1 1.72 19.4699993 3.54 72.5699997 0.663145 -0.748491 -1.0 +2616 1 1.72 17.7000008 5.31 72.5699997 0.814681 -0.579909 -1.0 +2617 1 1.72 21.2399998 3.54 70.8000031 0.663992 -0.747739 -1.0 +2618 1 1.72 23.0100002 5.31 70.8000031 -0.689626 0.724166 -1.0 +2619 1 1.72 23.0100002 3.54 72.5699997 -0.528325 -0.849042 -1.0 +2620 1 1.72 21.2399998 5.31 72.5699997 -0.318979 0.947762 -1.0 +2621 1 1.72 24.7800007 3.54 70.8000031 0.0173019 0.99985 -1.0 +2622 1 1.72 26.5499993 5.31 70.8000031 -0.998682 -0.0513189 -1.0 +2623 1 1.72 26.5499993 3.54 72.5699997 -0.76894 0.639321 -1.0 +2624 1 1.72 24.7800007 5.31 72.5699997 -0.289597 -0.957149 -1.0 +2625 1 1.72 0.0 7.0799999 70.8000031 -0.110722 -0.993851 -1.0 +2626 1 1.72 1.77 8.8500004 70.8000031 0.695278 0.71874 -1.0 +2627 1 1.72 1.77 7.0799999 72.5699997 -0.889346 -0.457234 -1.0 +2628 1 1.72 0.0 8.8500004 72.5699997 -0.77499 0.631973 -1.0 +2629 1 1.72 3.54 7.0799999 70.8000031 -0.964399 0.264451 -1.0 +2630 1 1.72 5.31 8.8500004 70.8000031 -0.617854 -0.786293 -1.0 +2631 1 1.72 5.31 7.0799999 72.5699997 -0.574089 0.818793 -1.0 +2632 1 1.72 3.54 8.8500004 72.5699997 -0.258941 0.965893 -1.0 +2633 1 1.72 7.0799999 7.0799999 70.8000031 -0.535936 0.844258 -1.0 +2634 1 1.72 8.8500004 8.8500004 70.8000031 0.226008 0.974126 -1.0 +2635 1 1.72 8.8500004 7.0799999 72.5699997 -0.77335 -0.63398 -1.0 +2636 1 1.72 7.0799999 8.8500004 72.5699997 0.602328 0.798248 -1.0 +2637 1 1.72 10.6199999 7.0799999 70.8000031 0.621492 -0.783421 -1.0 +2638 1 1.72 12.3900004 8.8500004 70.8000031 -0.642385 -0.766382 -1.0 +2639 1 1.72 12.3900004 7.0799999 72.5699997 0.997615 0.0690311 -1.0 +2640 1 1.72 10.6199999 8.8500004 72.5699997 -0.715738 -0.698369 -1.0 +2641 1 1.72 14.1599999 7.0799999 70.8000031 0.184715 0.982792 -1.0 +2642 1 1.72 15.9300004 8.8500004 70.8000031 -0.358399 -0.933569 -1.0 +2643 1 1.72 15.9300004 7.0799999 72.5699997 -0.178203 -0.983994 -1.0 +2644 1 1.72 14.1599999 8.8500004 72.5699997 -0.90695 0.421238 -1.0 +2645 1 1.72 17.7000008 7.0799999 70.8000031 0.405199 -0.914228 -1.0 +2646 1 1.72 19.4699993 8.8500004 70.8000031 -0.846991 0.531608 -1.0 +2647 1 1.72 19.4699993 7.0799999 72.5699997 0.442587 0.896726 -1.0 +2648 1 1.72 17.7000008 8.8500004 72.5699997 0.869395 -0.494118 -1.0 +2649 1 1.72 21.2399998 7.0799999 70.8000031 -0.750524 -0.660843 -1.0 +2650 1 1.72 23.0100002 8.8500004 70.8000031 -0.447736 0.894166 -1.0 +2651 1 1.72 23.0100002 7.0799999 72.5699997 -0.642749 0.766077 -1.0 +2652 1 1.72 21.2399998 8.8500004 72.5699997 -0.877086 0.480334 -1.0 +2653 1 1.72 24.7800007 7.0799999 70.8000031 -0.112041 -0.993704 -1.0 +2654 1 1.72 26.5499993 8.8500004 70.8000031 0.394801 -0.918767 -1.0 +2655 1 1.72 26.5499993 7.0799999 72.5699997 0.380279 0.924872 -1.0 +2656 1 1.72 24.7800007 8.8500004 72.5699997 0.638742 -0.769421 -1.0 +2657 1 1.72 0.0 10.6199999 70.8000031 0.237357 0.971423 -1.0 +2658 1 1.72 1.77 12.3900004 70.8000031 -0.612026 -0.790838 -1.0 +2659 1 1.72 1.77 10.6199999 72.5699997 -0.913314 0.407255 -1.0 +2660 1 1.72 0.0 12.3900004 72.5699997 -0.999106 0.0422765 -1.0 +2661 1 1.72 3.54 10.6199999 70.8000031 0.668715 0.743519 -1.0 +2662 1 1.72 5.31 12.3900004 70.8000031 0.89353 -0.449004 -1.0 +2663 1 1.72 5.31 10.6199999 72.5699997 0.0434175 -0.999057 -1.0 +2664 1 1.72 3.54 12.3900004 72.5699997 0.918133 0.396273 -1.0 +2665 1 1.72 7.0799999 10.6199999 70.8000031 0.995238 -0.0974731 -1.0 +2666 1 1.72 8.8500004 12.3900004 70.8000031 -0.48154 0.876424 -1.0 +2667 1 1.72 8.8500004 10.6199999 72.5699997 0.990208 -0.139597 -1.0 +2668 1 1.72 7.0799999 12.3900004 72.5699997 0.317593 -0.948227 -1.0 +2669 1 1.72 10.6199999 10.6199999 70.8000031 -0.976998 0.213247 -1.0 +2670 1 1.72 12.3900004 12.3900004 70.8000031 -0.826535 0.562886 -1.0 +2671 1 1.72 12.3900004 10.6199999 72.5699997 0.119546 0.992829 -1.0 +2672 1 1.72 10.6199999 12.3900004 72.5699997 0.855019 -0.518597 -1.0 +2673 1 1.72 14.1599999 10.6199999 70.8000031 0.991977 -0.126418 -1.0 +2674 1 1.72 15.9300004 12.3900004 70.8000031 -0.694492 -0.7195 -1.0 +2675 1 1.72 15.9300004 10.6199999 72.5699997 0.836202 0.548422 -1.0 +2676 1 1.72 14.1599999 12.3900004 72.5699997 0.868547 -0.495606 -1.0 +2677 1 1.72 17.7000008 10.6199999 70.8000031 0.193154 0.981168 -1.0 +2678 1 1.72 19.4699993 12.3900004 70.8000031 -0.999852 -0.0171875 -1.0 +2679 1 1.72 19.4699993 10.6199999 72.5699997 -0.907134 -0.420843 -1.0 +2680 1 1.72 17.7000008 12.3900004 72.5699997 0.84745 -0.530875 -1.0 +2681 1 1.72 21.2399998 10.6199999 70.8000031 -0.727312 0.686307 -1.0 +2682 1 1.72 23.0100002 12.3900004 70.8000031 -0.407622 0.913151 -1.0 +2683 1 1.72 23.0100002 10.6199999 72.5699997 -0.295142 -0.955453 -1.0 +2684 1 1.72 21.2399998 12.3900004 72.5699997 -0.794453 0.607326 -1.0 +2685 1 1.72 24.7800007 10.6199999 70.8000031 -0.223654 0.974669 -1.0 +2686 1 1.72 26.5499993 12.3900004 70.8000031 -0.996187 -0.0872385 -1.0 +2687 1 1.72 26.5499993 10.6199999 72.5699997 -0.982655 0.185444 -1.0 +2688 1 1.72 24.7800007 12.3900004 72.5699997 -0.999977 -0.00675795 -1.0 +2689 1 1.72 0.0 0.0 74.3399964 0.6584 -0.752668 -1.0 +2690 1 1.72 1.77 1.77 74.3399964 -0.965527 0.260302 -1.0 +2691 1 1.72 1.77 0.0 76.1100006 -0.438723 0.898622 -0.990079 +2692 1 1.72 0.0 1.77 76.1100006 0.825643 0.564193 -0.990079 +2693 1 1.72 3.54 0.0 74.3399964 -0.434287 -0.900774 -1.0 +2694 1 1.72 5.31 1.77 74.3399964 -0.677509 -0.735515 -1.0 +2695 1 1.72 5.31 0.0 76.1100006 0.885697 0.464263 -0.990079 +2696 1 1.72 3.54 1.77 76.1100006 0.0583972 -0.998293 -0.990079 +2697 1 1.72 7.0799999 0.0 74.3399964 0.277019 0.960865 -1.0 +2698 1 1.72 8.8500004 1.77 74.3399964 -0.738429 -0.674331 -1.0 +2699 1 1.72 8.8500004 0.0 76.1100006 -0.582562 -0.812786 -0.990079 +2700 1 1.72 7.0799999 1.77 76.1100006 -0.921847 -0.387554 -0.990079 +2701 1 1.72 10.6199999 0.0 74.3399964 0.705194 0.709014 -1.0 +2702 1 1.72 12.3900004 1.77 74.3399964 -0.988155 -0.15346 -1.0 +2703 1 1.72 12.3900004 0.0 76.1100006 0.235839 -0.971792 -0.990079 +2704 1 1.72 10.6199999 1.77 76.1100006 -0.763627 0.645658 -0.990079 +2705 1 1.72 14.1599999 0.0 74.3399964 -0.585497 -0.810675 -1.0 +2706 1 1.72 15.9300004 1.77 74.3399964 0.0929598 0.99567 -1.0 +2707 1 1.72 15.9300004 0.0 76.1100006 0.9985 -0.0547597 -0.990079 +2708 1 1.72 14.1599999 1.77 76.1100006 0.839808 0.542884 -0.990079 +2709 1 1.72 17.7000008 0.0 74.3399964 0.998562 0.0536162 -1.0 +2710 1 1.72 19.4699993 1.77 74.3399964 -0.683246 0.730188 -1.0 +2711 1 1.72 19.4699993 0.0 76.1100006 0.646185 -0.763181 -0.990079 +2712 1 1.72 17.7000008 1.77 76.1100006 0.106454 0.994318 -0.990079 +2713 1 1.72 21.2399998 0.0 74.3399964 -0.436579 -0.899666 -1.0 +2714 1 1.72 23.0100002 1.77 74.3399964 -0.838672 -0.544636 -1.0 +2715 1 1.72 23.0100002 0.0 76.1100006 0.883936 -0.467608 -0.990079 +2716 1 1.72 21.2399998 1.77 76.1100006 0.979898 0.199499 -0.990079 +2717 1 1.72 24.7800007 0.0 74.3399964 0.425687 -0.90487 -1.0 +2718 1 1.72 26.5499993 1.77 74.3399964 -0.779535 0.626358 -1.0 +2719 1 1.72 26.5499993 0.0 76.1100006 0.712162 -0.702015 -0.990079 +2720 1 1.72 24.7800007 1.77 76.1100006 0.445081 -0.89549 -0.990079 +2721 1 1.72 0.0 3.54 74.3399964 -0.634976 0.772532 -1.0 +2722 1 1.72 1.77 5.31 74.3399964 -0.998941 -0.0459998 -1.0 +2723 1 1.72 1.77 3.54 76.1100006 0.293149 0.956067 -0.990079 +2724 1 1.72 0.0 5.31 76.1100006 -0.551103 0.834437 -0.990079 +2725 1 1.72 3.54 3.54 74.3399964 0.119368 -0.99285 -1.0 +2726 1 1.72 5.31 5.31 74.3399964 -0.301867 0.95335 -1.0 +2727 1 1.72 5.31 3.54 76.1100006 0.946505 -0.32269 -0.990079 +2728 1 1.72 3.54 5.31 76.1100006 -0.780991 -0.624543 -0.990079 +2729 1 1.72 7.0799999 3.54 74.3399964 0.64582 -0.76349 -1.0 +2730 1 1.72 8.8500004 5.31 74.3399964 0.182712 0.983166 -1.0 +2731 1 1.72 8.8500004 3.54 76.1100006 0.932971 -0.359953 -0.990079 +2732 1 1.72 7.0799999 5.31 76.1100006 -0.573221 0.819401 -0.990079 +2733 1 1.72 10.6199999 3.54 74.3399964 -0.750678 0.660669 -1.0 +2734 1 1.72 12.3900004 5.31 74.3399964 0.976649 -0.21484 -1.0 +2735 1 1.72 12.3900004 3.54 76.1100006 0.922581 0.385804 -0.990079 +2736 1 1.72 10.6199999 5.31 76.1100006 0.132322 -0.991207 -0.990079 +2737 1 1.72 14.1599999 3.54 74.3399964 0.793309 -0.608819 -1.0 +2738 1 1.72 15.9300004 5.31 74.3399964 -0.411038 -0.911618 -1.0 +2739 1 1.72 15.9300004 3.54 76.1100006 -0.0504977 -0.998724 -0.990079 +2740 1 1.72 14.1599999 5.31 76.1100006 -0.965802 -0.25928 -0.990079 +2741 1 1.72 17.7000008 3.54 74.3399964 -0.150705 0.988579 -1.0 +2742 1 1.72 19.4699993 5.31 74.3399964 -0.0546805 -0.998504 -1.0 +2743 1 1.72 19.4699993 3.54 76.1100006 -0.46867 -0.883374 -0.990079 +2744 1 1.72 17.7000008 5.31 76.1100006 -0.811254 0.584694 -0.990079 +2745 1 1.72 21.2399998 3.54 74.3399964 -0.0643899 0.997925 -1.0 +2746 1 1.72 23.0100002 5.31 74.3399964 0.684438 -0.729071 -1.0 +2747 1 1.72 23.0100002 3.54 76.1100006 -0.232684 0.972552 -0.990079 +2748 1 1.72 21.2399998 5.31 76.1100006 -0.963202 0.268778 -0.990079 +2749 1 1.72 24.7800007 3.54 74.3399964 -0.911603 0.411071 -1.0 +2750 1 1.72 26.5499993 5.31 74.3399964 0.548655 -0.836049 -1.0 +2751 1 1.72 26.5499993 3.54 76.1100006 0.380272 -0.924875 -0.990079 +2752 1 1.72 24.7800007 5.31 76.1100006 -0.0549016 0.998492 -0.990079 +2753 1 1.72 0.0 7.0799999 74.3399964 -0.21289 0.977076 -1.0 +2754 1 1.72 1.77 8.8500004 74.3399964 -0.89847 0.439035 -1.0 +2755 1 1.72 1.77 7.0799999 76.1100006 0.60713 -0.794602 -0.990079 +2756 1 1.72 0.0 8.8500004 76.1100006 0.902217 0.431283 -0.990079 +2757 1 1.72 3.54 7.0799999 74.3399964 0.534731 0.845022 -1.0 +2758 1 1.72 5.31 8.8500004 74.3399964 0.801433 -0.598085 -1.0 +2759 1 1.72 5.31 7.0799999 76.1100006 0.649708 -0.760184 -0.990079 +2760 1 1.72 3.54 8.8500004 76.1100006 0.996985 -0.0775938 -0.990079 +2761 1 1.72 7.0799999 7.0799999 74.3399964 -0.557265 -0.830335 -1.0 +2762 1 1.72 8.8500004 8.8500004 74.3399964 -0.761176 -0.648545 -1.0 +2763 1 1.72 8.8500004 7.0799999 76.1100006 -0.997402 0.0720329 -0.990079 +2764 1 1.72 7.0799999 8.8500004 76.1100006 -0.829088 0.559118 -0.990079 +2765 1 1.72 10.6199999 7.0799999 74.3399964 0.272071 -0.962277 -1.0 +2766 1 1.72 12.3900004 8.8500004 74.3399964 0.817957 -0.575279 -1.0 +2767 1 1.72 12.3900004 7.0799999 76.1100006 0.598483 0.801136 -0.990079 +2768 1 1.72 10.6199999 8.8500004 76.1100006 0.840947 0.541118 -0.990079 +2769 1 1.72 14.1599999 7.0799999 74.3399964 0.770406 0.637553 -1.0 +2770 1 1.72 15.9300004 8.8500004 74.3399964 -0.712936 0.701229 -1.0 +2771 1 1.72 15.9300004 7.0799999 76.1100006 0.739994 0.672614 -0.990079 +2772 1 1.72 14.1599999 8.8500004 76.1100006 0.292615 0.95623 -0.990079 +2773 1 1.72 17.7000008 7.0799999 74.3399964 0.998856 0.0478133 -1.0 +2774 1 1.72 19.4699993 8.8500004 74.3399964 0.98798 -0.154581 -1.0 +2775 1 1.72 19.4699993 7.0799999 76.1100006 0.464067 0.8858 -0.990079 +2776 1 1.72 17.7000008 8.8500004 76.1100006 -0.727119 0.686512 -0.990079 +2777 1 1.72 21.2399998 7.0799999 74.3399964 0.805172 -0.593041 -1.0 +2778 1 1.72 23.0100002 8.8500004 74.3399964 -0.92857 0.371157 -1.0 +2779 1 1.72 23.0100002 7.0799999 76.1100006 0.845635 0.533761 -0.990079 +2780 1 1.72 21.2399998 8.8500004 76.1100006 0.651576 0.758584 -0.990079 +2781 1 1.72 24.7800007 7.0799999 74.3399964 0.605434 0.795895 -1.0 +2782 1 1.72 26.5499993 8.8500004 74.3399964 0.420263 0.907402 -1.0 +2783 1 1.72 26.5499993 7.0799999 76.1100006 -0.818566 -0.574413 -0.990079 +2784 1 1.72 24.7800007 8.8500004 76.1100006 0.846778 -0.531947 -0.990079 +2785 1 1.72 0.0 10.6199999 74.3399964 0.857276 -0.514857 -1.0 +2786 1 1.72 1.77 12.3900004 74.3399964 0.693044 0.720895 -1.0 +2787 1 1.72 1.77 10.6199999 76.1100006 -0.71006 0.704141 -0.990079 +2788 1 1.72 0.0 12.3900004 76.1100006 0.961934 -0.273281 -0.990079 +2789 1 1.72 3.54 10.6199999 74.3399964 0.531506 -0.847055 -1.0 +2790 1 1.72 5.31 12.3900004 74.3399964 -0.174234 -0.984704 -1.0 +2791 1 1.72 5.31 10.6199999 76.1100006 0.035612 0.999366 -0.990079 +2792 1 1.72 3.54 12.3900004 76.1100006 0.661467 -0.749974 -0.990079 +2793 1 1.72 7.0799999 10.6199999 74.3399964 0.0967596 0.995308 -1.0 +2794 1 1.72 8.8500004 12.3900004 74.3399964 0.671437 0.741062 -1.0 +2795 1 1.72 8.8500004 10.6199999 76.1100006 -0.0182486 -0.999833 -0.990079 +2796 1 1.72 7.0799999 12.3900004 76.1100006 0.778209 -0.628005 -0.990079 +2797 1 1.72 10.6199999 10.6199999 74.3399964 0.345484 0.938424 -1.0 +2798 1 1.72 12.3900004 12.3900004 74.3399964 0.684638 0.728883 -1.0 +2799 1 1.72 12.3900004 10.6199999 76.1100006 0.881671 -0.471864 -0.990079 +2800 1 1.72 10.6199999 12.3900004 76.1100006 -0.651181 -0.758922 -0.990079 +2801 1 1.72 14.1599999 10.6199999 74.3399964 -0.689393 0.724388 -1.0 +2802 1 1.72 15.9300004 12.3900004 74.3399964 0.999998 0.00199737 -1.0 +2803 1 1.72 15.9300004 10.6199999 76.1100006 -0.397689 -0.91752 -0.990079 +2804 1 1.72 14.1599999 12.3900004 76.1100006 -0.979303 -0.202402 -0.990079 +2805 1 1.72 17.7000008 10.6199999 74.3399964 0.631902 0.775049 -1.0 +2806 1 1.72 19.4699993 12.3900004 74.3399964 0.828451 -0.560061 -1.0 +2807 1 1.72 19.4699993 10.6199999 76.1100006 -0.66253 -0.749035 -0.990079 +2808 1 1.72 17.7000008 12.3900004 76.1100006 0.963196 -0.268799 -0.990079 +2809 1 1.72 21.2399998 10.6199999 74.3399964 -0.751939 -0.659232 -1.0 +2810 1 1.72 23.0100002 12.3900004 74.3399964 -0.622509 -0.782613 -1.0 +2811 1 1.72 23.0100002 10.6199999 76.1100006 0.676373 0.736559 -0.990079 +2812 1 1.72 21.2399998 12.3900004 76.1100006 -0.368163 -0.929761 -0.990079 +2813 1 1.72 24.7800007 10.6199999 74.3399964 -0.645846 -0.763467 -1.0 +2814 1 1.72 26.5499993 12.3900004 74.3399964 -0.352217 -0.935918 -1.0 +2815 1 1.72 26.5499993 10.6199999 76.1100006 -0.922633 0.385678 -0.990079 +2816 1 1.72 24.7800007 12.3900004 76.1100006 -0.981227 0.192855 -0.990079 +2817 1 1.72 0.0 0.0 77.8799974 -0.829109 -0.559087 -0.90501 +2818 1 1.72 1.77 1.77 77.8799974 -0.650063 -0.759881 -0.90501 +2819 1 1.72 1.77 0.0 79.6500016 -0.844387 0.535733 -0.7399438 +2820 1 1.72 0.0 1.77 79.6500016 -0.727146 0.686483 -0.7399438 +2821 1 1.72 3.54 0.0 77.8799974 0.548801 -0.835953 -0.90501 +2822 1 1.72 5.31 1.77 77.8799974 -0.816309 0.577615 -0.90501 +2823 1 1.72 5.31 0.0 79.6500016 -0.998811 -0.0487466 -0.7399438 +2824 1 1.72 3.54 1.77 79.6500016 -0.728262 0.685299 -0.7399438 +2825 1 1.72 7.0799999 0.0 77.8799974 0.560016 -0.828482 -0.90501 +2826 1 1.72 8.8500004 1.77 77.8799974 -0.85128 -0.524711 -0.90501 +2827 1 1.72 8.8500004 0.0 79.6500016 0.4869 0.873458 -0.7399438 +2828 1 1.72 7.0799999 1.77 79.6500016 -0.00262679 0.999997 -0.7399438 +2829 1 1.72 10.6199999 0.0 77.8799974 0.842996 0.53792 -0.90501 +2830 1 1.72 12.3900004 1.77 77.8799974 -0.99541 0.0957042 -0.90501 +2831 1 1.72 12.3900004 0.0 79.6500016 -0.690352 0.723474 -0.7399438 +2832 1 1.72 10.6199999 1.77 79.6500016 0.585374 0.810763 -0.7399438 +2833 1 1.72 14.1599999 0.0 77.8799974 0.716682 -0.6974 -0.90501 +2834 1 1.72 15.9300004 1.77 77.8799974 -0.597963 0.801524 -0.90501 +2835 1 1.72 15.9300004 0.0 79.6500016 0.224139 0.974557 -0.7399438 +2836 1 1.72 14.1599999 1.77 79.6500016 -0.796257 -0.604958 -0.7399438 +2837 1 1.72 17.7000008 0.0 77.8799974 -0.925014 -0.379932 -0.90501 +2838 1 1.72 19.4699993 1.77 77.8799974 -0.652404 -0.757871 -0.90501 +2839 1 1.72 19.4699993 0.0 79.6500016 0.896845 0.442346 -0.7399438 +2840 1 1.72 17.7000008 1.77 79.6500016 0.801276 0.598295 -0.7399438 +2841 1 1.72 21.2399998 0.0 77.8799974 0.988931 -0.148379 -0.90501 +2842 1 1.72 23.0100002 1.77 77.8799974 -0.612491 -0.790477 -0.90501 +2843 1 1.72 23.0100002 0.0 79.6500016 0.144697 -0.989476 -0.7399438 +2844 1 1.72 21.2399998 1.77 79.6500016 0.912867 -0.408256 -0.7399438 +2845 1 1.72 24.7800007 0.0 77.8799974 -0.691726 0.72216 -0.90501 +2846 1 1.72 26.5499993 1.77 77.8799974 0.905429 0.424497 -0.90501 +2847 1 1.72 26.5499993 0.0 79.6500016 -0.998682 0.0513234 -0.7399438 +2848 1 1.72 24.7800007 1.77 79.6500016 -0.551255 0.834337 -0.7399438 +2849 1 1.72 0.0 3.54 77.8799974 -0.804754 0.593608 -0.90501 +2850 1 1.72 1.77 5.31 77.8799974 0.130423 0.991458 -0.90501 +2851 1 1.72 1.77 3.54 79.6500016 -0.514998 -0.857192 -0.7399438 +2852 1 1.72 0.0 5.31 79.6500016 -0.354214 0.935164 -0.7399438 +2853 1 1.72 3.54 3.54 77.8799974 0.994573 0.104046 -0.90501 +2854 1 1.72 5.31 5.31 77.8799974 -0.945365 0.326014 -0.90501 +2855 1 1.72 5.31 3.54 79.6500016 -0.582958 -0.812503 -0.7399438 +2856 1 1.72 3.54 5.31 79.6500016 0.68457 -0.728947 -0.7399438 +2857 1 1.72 7.0799999 3.54 77.8799974 0.0695657 -0.997577 -0.90501 +2858 1 1.72 8.8500004 5.31 77.8799974 -0.797244 -0.603658 -0.90501 +2859 1 1.72 8.8500004 3.54 79.6500016 0.405727 0.913994 -0.7399438 +2860 1 1.72 7.0799999 5.31 79.6500016 0.309675 -0.950842 -0.7399438 +2861 1 1.72 10.6199999 3.54 77.8799974 -0.280386 0.959887 -0.90501 +2862 1 1.72 12.3900004 5.31 77.8799974 0.312965 -0.949765 -0.90501 +2863 1 1.72 12.3900004 3.54 79.6500016 0.74692 -0.664914 -0.7399438 +2864 1 1.72 10.6199999 5.31 79.6500016 -0.795824 -0.605528 -0.7399438 +2865 1 1.72 14.1599999 3.54 77.8799974 0.51989 0.854233 -0.90501 +2866 1 1.72 15.9300004 5.31 77.8799974 -0.248787 -0.968558 -0.90501 +2867 1 1.72 15.9300004 3.54 79.6500016 0.401367 0.915917 -0.7399438 +2868 1 1.72 14.1599999 5.31 79.6500016 0.316069 -0.948736 -0.7399438 +2869 1 1.72 17.7000008 3.54 77.8799974 -0.575936 -0.817495 -0.90501 +2870 1 1.72 19.4699993 5.31 77.8799974 0.535246 -0.844696 -0.90501 +2871 1 1.72 19.4699993 3.54 79.6500016 -0.143554 -0.989643 -0.7399438 +2872 1 1.72 17.7000008 5.31 79.6500016 0.939324 0.34303 -0.7399438 +2873 1 1.72 21.2399998 3.54 77.8799974 -0.977875 0.209188 -0.90501 +2874 1 1.72 23.0100002 5.31 77.8799974 -0.469185 0.8831 -0.90501 +2875 1 1.72 23.0100002 3.54 79.6500016 -0.262179 0.965019 -0.7399438 +2876 1 1.72 21.2399998 5.31 79.6500016 0.882523 0.470268 -0.7399438 +2877 1 1.72 24.7800007 3.54 77.8799974 0.553089 -0.833122 -0.90501 +2878 1 1.72 26.5499993 5.31 77.8799974 -0.63814 -0.76992 -0.90501 +2879 1 1.72 26.5499993 3.54 79.6500016 0.930621 -0.365983 -0.7399438 +2880 1 1.72 24.7800007 5.31 79.6500016 -0.458835 0.888522 -0.7399438 +2881 1 1.72 0.0 7.0799999 77.8799974 -0.911346 -0.411641 -0.90501 +2882 1 1.72 1.77 8.8500004 77.8799974 -0.586095 0.810242 -0.90501 +2883 1 1.72 1.77 7.0799999 79.6500016 -0.993131 -0.117007 -0.7399438 +2884 1 1.72 0.0 8.8500004 79.6500016 0.460091 0.887872 -0.7399438 +2885 1 1.72 3.54 7.0799999 77.8799974 -0.718895 0.695118 -0.90501 +2886 1 1.72 5.31 8.8500004 77.8799974 -0.999375 -0.0353623 -0.90501 +2887 1 1.72 5.31 7.0799999 79.6500016 -0.711015 0.703177 -0.7399438 +2888 1 1.72 3.54 8.8500004 79.6500016 -0.474822 -0.880082 -0.7399438 +2889 1 1.72 7.0799999 7.0799999 77.8799974 0.801745 -0.597666 -0.90501 +2890 1 1.72 8.8500004 8.8500004 77.8799974 -0.791111 -0.611673 -0.90501 +2891 1 1.72 8.8500004 7.0799999 79.6500016 0.957975 -0.28685 -0.7399438 +2892 1 1.72 7.0799999 8.8500004 79.6500016 -0.63871 -0.769447 -0.7399438 +2893 1 1.72 10.6199999 7.0799999 77.8799974 0.598465 0.801149 -0.90501 +2894 1 1.72 12.3900004 8.8500004 77.8799974 0.418382 0.908271 -0.90501 +2895 1 1.72 12.3900004 7.0799999 79.6500016 -0.958953 -0.283564 -0.7399438 +2896 1 1.72 10.6199999 8.8500004 79.6500016 -0.334925 0.942245 -0.7399438 +2897 1 1.72 14.1599999 7.0799999 77.8799974 -0.757332 0.65303 -0.90501 +2898 1 1.72 15.9300004 8.8500004 77.8799974 0.51879 0.854901 -0.90501 +2899 1 1.72 15.9300004 7.0799999 79.6500016 -0.388312 0.921528 -0.7399438 +2900 1 1.72 14.1599999 8.8500004 79.6500016 -0.955236 -0.295846 -0.7399438 +2901 1 1.72 17.7000008 7.0799999 77.8799974 0.484967 -0.874532 -0.90501 +2902 1 1.72 19.4699993 8.8500004 77.8799974 0.625233 0.780438 -0.90501 +2903 1 1.72 19.4699993 7.0799999 79.6500016 0.693263 0.720685 -0.7399438 +2904 1 1.72 17.7000008 8.8500004 79.6500016 0.850403 -0.526132 -0.7399438 +2905 1 1.72 21.2399998 7.0799999 77.8799974 0.582731 0.812665 -0.90501 +2906 1 1.72 23.0100002 8.8500004 77.8799974 0.260583 0.965451 -0.90501 +2907 1 1.72 23.0100002 7.0799999 79.6500016 -0.565448 -0.824784 -0.7399438 +2908 1 1.72 21.2399998 8.8500004 79.6500016 -0.836559 -0.547876 -0.7399438 +2909 1 1.72 24.7800007 7.0799999 77.8799974 0.512439 -0.858724 -0.90501 +2910 1 1.72 26.5499993 8.8500004 77.8799974 0.883131 0.469126 -0.90501 +2911 1 1.72 26.5499993 7.0799999 79.6500016 -0.143846 0.9896 -0.7399438 +2912 1 1.72 24.7800007 8.8500004 79.6500016 0.92945 -0.368949 -0.7399438 +2913 1 1.72 0.0 10.6199999 77.8799974 0.0605222 0.998167 -0.90501 +2914 1 1.72 1.77 12.3900004 77.8799974 0.982664 -0.185394 -0.90501 +2915 1 1.72 1.77 10.6199999 79.6500016 -0.626974 0.77904 -0.7399438 +2916 1 1.72 0.0 12.3900004 79.6500016 0.465934 0.88482 -0.7399438 +2917 1 1.72 3.54 10.6199999 77.8799974 0.974009 0.226508 -0.90501 +2918 1 1.72 5.31 12.3900004 77.8799974 -0.503945 -0.863736 -0.90501 +2919 1 1.72 5.31 10.6199999 79.6500016 0.999369 -0.0355283 -0.7399438 +2920 1 1.72 3.54 12.3900004 79.6500016 -0.610871 0.79173 -0.7399438 +2921 1 1.72 7.0799999 10.6199999 77.8799974 -0.342722 0.939437 -0.90501 +2922 1 1.72 8.8500004 12.3900004 77.8799974 -0.878251 -0.4782 -0.90501 +2923 1 1.72 8.8500004 10.6199999 79.6500016 -0.360919 0.932597 -0.7399438 +2924 1 1.72 7.0799999 12.3900004 79.6500016 0.361107 -0.932525 -0.7399438 +2925 1 1.72 10.6199999 10.6199999 77.8799974 0.999422 -0.0340089 -0.90501 +2926 1 1.72 12.3900004 12.3900004 77.8799974 0.811423 0.584459 -0.90501 +2927 1 1.72 12.3900004 10.6199999 79.6500016 0.31193 0.950105 -0.7399438 +2928 1 1.72 10.6199999 12.3900004 79.6500016 0.769255 0.638942 -0.7399438 +2929 1 1.72 14.1599999 10.6199999 77.8799974 -0.0415424 -0.999137 -0.90501 +2930 1 1.72 15.9300004 12.3900004 77.8799974 -0.798388 0.602144 -0.90501 +2931 1 1.72 15.9300004 10.6199999 79.6500016 0.805179 -0.593032 -0.7399438 +2932 1 1.72 14.1599999 12.3900004 79.6500016 0.689244 0.724529 -0.7399438 +2933 1 1.72 17.7000008 10.6199999 77.8799974 0.984685 0.174344 -0.90501 +2934 1 1.72 19.4699993 12.3900004 77.8799974 0.996394 0.0848468 -0.90501 +2935 1 1.72 19.4699993 10.6199999 79.6500016 0.0231384 0.999732 -0.7399438 +2936 1 1.72 17.7000008 12.3900004 79.6500016 0.965159 0.261664 -0.7399438 +2937 1 1.72 21.2399998 10.6199999 77.8799974 0.186053 -0.98254 -0.90501 +2938 1 1.72 23.0100002 12.3900004 77.8799974 0.606136 -0.795361 -0.90501 +2939 1 1.72 23.0100002 10.6199999 79.6500016 0.99873 -0.0503756 -0.7399438 +2940 1 1.72 21.2399998 12.3900004 79.6500016 0.0196603 0.999807 -0.7399438 +2941 1 1.72 24.7800007 10.6199999 77.8799974 0.989922 -0.141617 -0.90501 +2942 1 1.72 26.5499993 12.3900004 77.8799974 0.44242 -0.896808 -0.90501 +2943 1 1.72 26.5499993 10.6199999 79.6500016 0.115276 0.993333 -0.7399438 +2944 1 1.72 24.7800007 12.3900004 79.6500016 -0.948938 -0.315461 -0.7399438 +2945 1 1.72 0.0 0.0 81.4199982 0.783271 -0.621681 -0.5094728 +2946 1 1.72 1.77 1.77 81.4199982 -0.506449 0.86227 -0.5094728 +2947 1 1.72 1.77 0.0 83.1900024 -0.521846 -0.85304 -0.2339667 +2948 1 1.72 0.0 1.77 83.1900024 -0.764775 -0.644297 -0.2339667 +2949 1 1.72 3.54 0.0 81.4199982 0.159359 0.987221 -0.5094728 +2950 1 1.72 5.31 1.77 81.4199982 -0.750797 0.660533 -0.5094728 +2951 1 1.72 5.31 0.0 83.1900024 0.370063 -0.929007 -0.2339667 +2952 1 1.72 3.54 1.77 83.1900024 -0.773899 -0.633309 -0.2339667 +2953 1 1.72 7.0799999 0.0 81.4199982 0.0713316 0.997453 -0.5094728 +2954 1 1.72 8.8500004 1.77 81.4199982 -0.233018 0.972472 -0.5094728 +2955 1 1.72 8.8500004 0.0 83.1900024 -0.830221 -0.557434 -0.2339667 +2956 1 1.72 7.0799999 1.77 83.1900024 -0.0570867 -0.998369 -0.2339667 +2957 1 1.72 10.6199999 0.0 81.4199982 0.787453 -0.616375 -0.5094728 +2958 1 1.72 12.3900004 1.77 81.4199982 0.596533 0.802589 -0.5094728 +2959 1 1.72 12.3900004 0.0 83.1900024 -0.703455 -0.710739 -0.2339667 +2960 1 1.72 10.6199999 1.77 83.1900024 0.749208 -0.662335 -0.2339667 +2961 1 1.72 14.1599999 0.0 81.4199982 -0.62948 0.777016 -0.5094728 +2962 1 1.72 15.9300004 1.77 81.4199982 -0.615945 0.787789 -0.5094728 +2963 1 1.72 15.9300004 0.0 83.1900024 -0.963003 0.269492 -0.2339667 +2964 1 1.72 14.1599999 1.77 83.1900024 -0.497972 0.867193 -0.2339667 +2965 1 1.72 17.7000008 0.0 81.4199982 -0.99851 0.0545708 -0.5094728 +2966 1 1.72 19.4699993 1.77 81.4199982 -0.167053 0.985948 -0.5094728 +2967 1 1.72 19.4699993 0.0 83.1900024 -0.562935 0.826501 -0.2339667 +2968 1 1.72 17.7000008 1.77 83.1900024 0.637737 0.770254 -0.2339667 +2969 1 1.72 21.2399998 0.0 81.4199982 0.796952 -0.604043 -0.5094728 +2970 1 1.72 23.0100002 1.77 81.4199982 -0.225939 0.974141 -0.5094728 +2971 1 1.72 23.0100002 0.0 83.1900024 -0.0627446 -0.99803 -0.2339667 +2972 1 1.72 21.2399998 1.77 83.1900024 0.987166 0.159698 -0.2339667 +2973 1 1.72 24.7800007 0.0 81.4199982 0.640557 -0.767911 -0.5094728 +2974 1 1.72 26.5499993 1.77 81.4199982 0.613978 -0.789323 -0.5094728 +2975 1 1.72 26.5499993 0.0 83.1900024 0.762958 0.646448 -0.2339667 +2976 1 1.72 24.7800007 1.77 83.1900024 -0.981343 -0.192263 -0.2339667 +2977 1 1.72 0.0 3.54 81.4199982 -0.83316 -0.553033 -0.5094728 +2978 1 1.72 1.77 5.31 81.4199982 0.970146 0.242522 -0.5094728 +2979 1 1.72 1.77 3.54 83.1900024 -0.933463 -0.358675 -0.2339667 +2980 1 1.72 0.0 5.31 83.1900024 0.987145 0.159825 -0.2339667 +2981 1 1.72 3.54 3.54 81.4199982 0.863116 -0.505006 -0.5094728 +2982 1 1.72 5.31 5.31 81.4199982 0.867706 0.497078 -0.5094728 +2983 1 1.72 5.31 3.54 83.1900024 0.420037 -0.907507 -0.2339667 +2984 1 1.72 3.54 5.31 83.1900024 -0.807584 0.589753 -0.2339667 +2985 1 1.72 7.0799999 3.54 81.4199982 -0.841363 0.54047 -0.5094728 +2986 1 1.72 8.8500004 5.31 81.4199982 0.904796 -0.425844 -0.5094728 +2987 1 1.72 8.8500004 3.54 83.1900024 -0.9896 0.143843 -0.2339667 +2988 1 1.72 7.0799999 5.31 83.1900024 0.830681 -0.556749 -0.2339667 +2989 1 1.72 10.6199999 3.54 81.4199982 -0.976263 -0.216588 -0.5094728 +2990 1 1.72 12.3900004 5.31 81.4199982 0.437797 0.899074 -0.5094728 +2991 1 1.72 12.3900004 3.54 83.1900024 0.224839 -0.974396 -0.2339667 +2992 1 1.72 10.6199999 5.31 83.1900024 -0.325274 -0.94562 -0.2339667 +2993 1 1.72 14.1599999 3.54 81.4199982 0.687829 0.725873 -0.5094728 +2994 1 1.72 15.9300004 5.31 81.4199982 0.534156 -0.845386 -0.5094728 +2995 1 1.72 15.9300004 3.54 83.1900024 0.880482 -0.47408 -0.2339667 +2996 1 1.72 14.1599999 5.31 83.1900024 -0.487694 -0.873014 -0.2339667 +2997 1 1.72 17.7000008 3.54 81.4199982 0.664083 -0.747659 -0.5094728 +2998 1 1.72 19.4699993 5.31 81.4199982 -0.9937 -0.112073 -0.5094728 +2999 1 1.72 19.4699993 3.54 83.1900024 -0.524886 -0.851172 -0.2339667 +3000 1 1.72 17.7000008 5.31 83.1900024 -0.983577 -0.18049 -0.2339667 +3001 1 1.72 21.2399998 3.54 81.4199982 0.998492 0.0548903 -0.5094728 +3002 1 1.72 23.0100002 5.31 81.4199982 -0.840489 -0.541829 -0.5094728 +3003 1 1.72 23.0100002 3.54 83.1900024 0.999249 -0.0387472 -0.2339667 +3004 1 1.72 21.2399998 5.31 83.1900024 -0.903526 -0.428533 -0.2339667 +3005 1 1.72 24.7800007 3.54 81.4199982 -0.576714 -0.816946 -0.5094728 +3006 1 1.72 26.5499993 5.31 81.4199982 0.407034 0.913413 -0.5094728 +3007 1 1.72 26.5499993 3.54 83.1900024 0.740605 0.67194 -0.2339667 +3008 1 1.72 24.7800007 5.31 83.1900024 0.613921 0.789367 -0.2339667 +3009 1 1.72 0.0 7.0799999 81.4199982 -0.892666 0.450718 -0.5094728 +3010 1 1.72 1.77 8.8500004 81.4199982 -0.98641 0.164301 -0.5094728 +3011 1 1.72 1.77 7.0799999 83.1900024 0.53742 -0.843315 -0.2339667 +3012 1 1.72 0.0 8.8500004 83.1900024 0.718355 0.695677 -0.2339667 +3013 1 1.72 3.54 7.0799999 81.4199982 -0.922367 0.386315 -0.5094728 +3014 1 1.72 5.31 8.8500004 81.4199982 0.0845172 0.996422 -0.5094728 +3015 1 1.72 5.31 7.0799999 83.1900024 0.857488 -0.514503 -0.2339667 +3016 1 1.72 3.54 8.8500004 83.1900024 -0.645606 -0.763671 -0.2339667 +3017 1 1.72 7.0799999 7.0799999 81.4199982 -0.0134122 -0.99991 -0.5094728 +3018 1 1.72 8.8500004 8.8500004 81.4199982 -0.784881 -0.619647 -0.5094728 +3019 1 1.72 8.8500004 7.0799999 83.1900024 0.536324 -0.844012 -0.2339667 +3020 1 1.72 7.0799999 8.8500004 83.1900024 0.723375 0.690455 -0.2339667 +3021 1 1.72 10.6199999 7.0799999 81.4199982 0.662723 0.748864 -0.5094728 +3022 1 1.72 12.3900004 8.8500004 81.4199982 0.155567 0.987825 -0.5094728 +3023 1 1.72 12.3900004 7.0799999 83.1900024 -0.841463 -0.540315 -0.2339667 +3024 1 1.72 10.6199999 8.8500004 83.1900024 -0.306209 0.951964 -0.2339667 +3025 1 1.72 14.1599999 7.0799999 81.4199982 0.933263 -0.359194 -0.5094728 +3026 1 1.72 15.9300004 8.8500004 81.4199982 0.998559 -0.0536627 -0.5094728 +3027 1 1.72 15.9300004 7.0799999 83.1900024 0.118838 0.992914 -0.2339667 +3028 1 1.72 14.1599999 8.8500004 83.1900024 0.23804 -0.971255 -0.2339667 +3029 1 1.72 17.7000008 7.0799999 81.4199982 -0.333627 -0.942705 -0.5094728 +3030 1 1.72 19.4699993 8.8500004 81.4199982 -0.678409 0.734685 -0.5094728 +3031 1 1.72 19.4699993 7.0799999 83.1900024 0.495047 -0.868866 -0.2339667 +3032 1 1.72 17.7000008 8.8500004 83.1900024 0.67958 0.733601 -0.2339667 +3033 1 1.72 21.2399998 7.0799999 81.4199982 0.923084 0.3846 -0.5094728 +3034 1 1.72 23.0100002 8.8500004 81.4199982 -0.753978 0.656899 -0.5094728 +3035 1 1.72 23.0100002 7.0799999 83.1900024 -0.773059 -0.634334 -0.2339667 +3036 1 1.72 21.2399998 8.8500004 83.1900024 -0.970152 0.242497 -0.2339667 +3037 1 1.72 24.7800007 7.0799999 81.4199982 0.101183 0.994868 -0.5094728 +3038 1 1.72 26.5499993 8.8500004 81.4199982 -0.625284 0.780398 -0.5094728 +3039 1 1.72 26.5499993 7.0799999 83.1900024 0.277807 0.960637 -0.2339667 +3040 1 1.72 24.7800007 8.8500004 83.1900024 0.685723 -0.727862 -0.2339667 +3041 1 1.72 0.0 10.6199999 81.4199982 0.999557 -0.0297522 -0.5094728 +3042 1 1.72 1.77 12.3900004 81.4199982 -0.920711 0.390246 -0.5094728 +3043 1 1.72 1.77 10.6199999 83.1900024 -0.971158 0.238438 -0.2339667 +3044 1 1.72 0.0 12.3900004 83.1900024 -0.305945 0.952049 -0.2339667 +3045 1 1.72 3.54 10.6199999 81.4199982 -0.847672 -0.53052 -0.5094728 +3046 1 1.72 5.31 12.3900004 81.4199982 0.77437 -0.632734 -0.5094728 +3047 1 1.72 5.31 10.6199999 83.1900024 -0.620757 0.784003 -0.2339667 +3048 1 1.72 3.54 12.3900004 83.1900024 0.766987 -0.641662 -0.2339667 +3049 1 1.72 7.0799999 10.6199999 81.4199982 0.916063 0.401033 -0.5094728 +3050 1 1.72 8.8500004 12.3900004 81.4199982 -0.210732 -0.977544 -0.5094728 +3051 1 1.72 8.8500004 10.6199999 83.1900024 -0.774933 -0.632043 -0.2339667 +3052 1 1.72 7.0799999 12.3900004 83.1900024 0.759399 0.650625 -0.2339667 +3053 1 1.72 10.6199999 10.6199999 81.4199982 -0.383429 -0.923571 -0.5094728 +3054 1 1.72 12.3900004 12.3900004 81.4199982 -0.942416 0.334443 -0.5094728 +3055 1 1.72 12.3900004 10.6199999 83.1900024 -0.833741 0.552156 -0.2339667 +3056 1 1.72 10.6199999 12.3900004 83.1900024 0.838574 0.544787 -0.2339667 +3057 1 1.72 14.1599999 10.6199999 81.4199982 0.974341 -0.225076 -0.5094728 +3058 1 1.72 15.9300004 12.3900004 81.4199982 0.758394 0.651797 -0.5094728 +3059 1 1.72 15.9300004 10.6199999 83.1900024 -0.776343 -0.630311 -0.2339667 +3060 1 1.72 14.1599999 12.3900004 83.1900024 0.942287 -0.334806 -0.2339667 +3061 1 1.72 17.7000008 10.6199999 81.4199982 0.562654 -0.826692 -0.5094728 +3062 1 1.72 19.4699993 12.3900004 81.4199982 -0.860764 0.509004 -0.5094728 +3063 1 1.72 19.4699993 10.6199999 83.1900024 -0.485063 -0.874479 -0.2339667 +3064 1 1.72 17.7000008 12.3900004 83.1900024 0.994672 -0.103087 -0.2339667 +3065 1 1.72 21.2399998 10.6199999 81.4199982 0.769625 0.638497 -0.5094728 +3066 1 1.72 23.0100002 12.3900004 81.4199982 0.855708 -0.517459 -0.5094728 +3067 1 1.72 23.0100002 10.6199999 83.1900024 0.946325 -0.323217 -0.2339667 +3068 1 1.72 21.2399998 12.3900004 83.1900024 0.677179 0.735819 -0.2339667 +3069 1 1.72 24.7800007 10.6199999 81.4199982 -0.443445 -0.896302 -0.5094728 +3070 1 1.72 26.5499993 12.3900004 81.4199982 0.902375 0.430951 -0.5094728 +3071 1 1.72 26.5499993 10.6199999 83.1900024 -0.978639 -0.205585 -0.2339667 +3072 1 1.72 24.7800007 12.3900004 83.1900024 0.830168 -0.557514 -0.2339667 +3073 1 1.72 0.0 0.0 84.9599992 0.999886 0.0151311 0.0622191 +3074 1 1.72 1.77 1.77 84.9599992 0.206725 -0.978399 0.0622191 +3075 1 1.72 1.77 0.0 86.7300034 0.728431 -0.685119 0.3529064 +3076 1 1.72 0.0 1.77 86.7300034 0.909474 0.41576 0.3529064 +3077 1 1.72 3.54 0.0 84.9599992 0.0205089 -0.99979 0.0622191 +3078 1 1.72 5.31 1.77 84.9599992 0.37002 0.929024 0.0622191 +3079 1 1.72 5.31 0.0 86.7300034 0.979157 0.203104 0.3529064 +3080 1 1.72 3.54 1.77 86.7300034 0.895286 -0.445491 0.3529064 +3081 1 1.72 7.0799999 0.0 84.9599992 0.742429 0.669925 0.0622191 +3082 1 1.72 8.8500004 1.77 84.9599992 -0.964462 0.264223 0.0622191 +3083 1 1.72 8.8500004 0.0 86.7300034 -0.960952 -0.276715 0.3529064 +3084 1 1.72 7.0799999 1.77 86.7300034 -0.816051 0.57798 0.3529064 +3085 1 1.72 10.6199999 0.0 84.9599992 0.847485 -0.530819 0.0622191 +3086 1 1.72 12.3900004 1.77 84.9599992 0.997245 0.0741734 0.0622191 +3087 1 1.72 12.3900004 0.0 86.7300034 -0.999992 0.00398663 0.3529064 +3088 1 1.72 10.6199999 1.77 86.7300034 0.994555 0.104209 0.3529064 +3089 1 1.72 14.1599999 0.0 84.9599992 0.500786 0.865571 0.0622191 +3090 1 1.72 15.9300004 1.77 84.9599992 -0.862534 -0.506 0.0622191 +3091 1 1.72 15.9300004 0.0 86.7300034 0.926037 -0.377433 0.3529064 +3092 1 1.72 14.1599999 1.77 86.7300034 0.449619 0.89322 0.3529064 +3093 1 1.72 17.7000008 0.0 84.9599992 0.129635 -0.991562 0.0622191 +3094 1 1.72 19.4699993 1.77 84.9599992 0.585453 -0.810706 0.0622191 +3095 1 1.72 19.4699993 0.0 86.7300034 -0.839895 0.542749 0.3529064 +3096 1 1.72 17.7000008 1.77 86.7300034 0.871858 0.489759 0.3529064 +3097 1 1.72 21.2399998 0.0 84.9599992 0.0831751 -0.996535 0.0622191 +3098 1 1.72 23.0100002 1.77 84.9599992 -0.810396 -0.585883 0.0622191 +3099 1 1.72 23.0100002 0.0 86.7300034 0.854374 -0.519658 0.3529064 +3100 1 1.72 21.2399998 1.77 86.7300034 0.946541 -0.322583 0.3529064 +3101 1 1.72 24.7800007 0.0 84.9599992 -0.757874 0.652401 0.0622191 +3102 1 1.72 26.5499993 1.77 84.9599992 0.410904 0.911679 0.0622191 +3103 1 1.72 26.5499993 0.0 86.7300034 0.795871 0.605466 0.3529064 +3104 1 1.72 24.7800007 1.77 86.7300034 -0.195125 -0.980778 0.3529064 +3105 1 1.72 0.0 3.54 84.9599992 0.662728 -0.74886 0.0622191 +3106 1 1.72 1.77 5.31 84.9599992 -0.986625 0.163008 0.0622191 +3107 1 1.72 1.77 3.54 86.7300034 -0.70105 -0.713112 0.3529064 +3108 1 1.72 0.0 5.31 86.7300034 0.873722 0.486425 0.3529064 +3109 1 1.72 3.54 3.54 84.9599992 -0.53883 -0.842415 0.0622191 +3110 1 1.72 5.31 5.31 84.9599992 -0.116738 -0.993163 0.0622191 +3111 1 1.72 5.31 3.54 86.7300034 0.514846 0.857283 0.3529064 +3112 1 1.72 3.54 5.31 86.7300034 -0.717093 -0.696977 0.3529064 +3113 1 1.72 7.0799999 3.54 84.9599992 0.554889 -0.831924 0.0622191 +3114 1 1.72 8.8500004 5.31 84.9599992 0.148329 -0.988938 0.0622191 +3115 1 1.72 8.8500004 3.54 86.7300034 0.561293 0.827617 0.3529064 +3116 1 1.72 7.0799999 5.31 86.7300034 0.99871 -0.0507756 0.3529064 +3117 1 1.72 10.6199999 3.54 84.9599992 0.760955 0.648805 0.0622191 +3118 1 1.72 12.3900004 5.31 84.9599992 0.553094 -0.833119 0.0622191 +3119 1 1.72 12.3900004 3.54 86.7300034 -0.897677 0.440653 0.3529064 +3120 1 1.72 10.6199999 5.31 86.7300034 -0.832878 -0.553457 0.3529064 +3121 1 1.72 14.1599999 3.54 84.9599992 0.503031 -0.864268 0.0622191 +3122 1 1.72 15.9300004 5.31 84.9599992 0.191023 0.981586 0.0622191 +3123 1 1.72 15.9300004 3.54 86.7300034 0.41285 -0.910799 0.3529064 +3124 1 1.72 14.1599999 5.31 86.7300034 0.599912 0.800066 0.3529064 +3125 1 1.72 17.7000008 3.54 84.9599992 0.377827 0.925876 0.0622191 +3126 1 1.72 19.4699993 5.31 84.9599992 0.119579 -0.992825 0.0622191 +3127 1 1.72 19.4699993 3.54 86.7300034 0.65481 0.755794 0.3529064 +3128 1 1.72 17.7000008 5.31 86.7300034 -0.921178 0.389141 0.3529064 +3129 1 1.72 21.2399998 3.54 84.9599992 -0.863358 -0.504592 0.0622191 +3130 1 1.72 23.0100002 5.31 84.9599992 0.734777 -0.678309 0.0622191 +3131 1 1.72 23.0100002 3.54 86.7300034 0.81353 0.581522 0.3529064 +3132 1 1.72 21.2399998 5.31 86.7300034 0.819977 0.572397 0.3529064 +3133 1 1.72 24.7800007 3.54 84.9599992 0.959323 -0.282311 0.0622191 +3134 1 1.72 26.5499993 5.31 84.9599992 -0.560765 0.827975 0.0622191 +3135 1 1.72 26.5499993 3.54 86.7300034 0.107624 0.994192 0.3529064 +3136 1 1.72 24.7800007 5.31 86.7300034 0.994546 -0.104303 0.3529064 +3137 1 1.72 0.0 7.0799999 84.9599992 0.552035 -0.833821 0.0622191 +3138 1 1.72 1.77 8.8500004 84.9599992 -0.95234 -0.30504 0.0622191 +3139 1 1.72 1.77 7.0799999 86.7300034 0.827599 -0.56132 0.3529064 +3140 1 1.72 0.0 8.8500004 86.7300034 0.326724 -0.94512 0.3529064 +3141 1 1.72 3.54 7.0799999 84.9599992 0.448123 -0.893972 0.0622191 +3142 1 1.72 5.31 8.8500004 84.9599992 0.194424 -0.980918 0.0622191 +3143 1 1.72 5.31 7.0799999 86.7300034 -0.805121 0.59311 0.3529064 +3144 1 1.72 3.54 8.8500004 86.7300034 -0.445889 0.895088 0.3529064 +3145 1 1.72 7.0799999 7.0799999 84.9599992 -0.105776 0.99439 0.0622191 +3146 1 1.72 8.8500004 8.8500004 84.9599992 -0.420794 0.907156 0.0622191 +3147 1 1.72 8.8500004 7.0799999 86.7300034 -0.999948 -0.0102386 0.3529064 +3148 1 1.72 7.0799999 8.8500004 86.7300034 0.730612 -0.682793 0.3529064 +3149 1 1.72 10.6199999 7.0799999 84.9599992 -0.271943 -0.962313 0.0622191 +3150 1 1.72 12.3900004 8.8500004 84.9599992 0.969159 -0.246435 0.0622191 +3151 1 1.72 12.3900004 7.0799999 86.7300034 0.999468 -0.0326289 0.3529064 +3152 1 1.72 10.6199999 8.8500004 86.7300034 0.893324 0.449413 0.3529064 +3153 1 1.72 14.1599999 7.0799999 84.9599992 -0.725086 0.688658 0.0622191 +3154 1 1.72 15.9300004 8.8500004 84.9599992 0.999626 -0.0273363 0.0622191 +3155 1 1.72 15.9300004 7.0799999 86.7300034 0.220628 -0.975358 0.3529064 +3156 1 1.72 14.1599999 8.8500004 86.7300034 -0.191634 -0.981467 0.3529064 +3157 1 1.72 17.7000008 7.0799999 84.9599992 0.657471 -0.75348 0.0622191 +3158 1 1.72 19.4699993 8.8500004 84.9599992 -0.993452 -0.114248 0.0622191 +3159 1 1.72 19.4699993 7.0799999 86.7300034 -0.478889 -0.877876 0.3529064 +3160 1 1.72 17.7000008 8.8500004 86.7300034 0.77571 -0.631089 0.3529064 +3161 1 1.72 21.2399998 7.0799999 84.9599992 0.662893 0.748714 0.0622191 +3162 1 1.72 23.0100002 8.8500004 84.9599992 0.523202 0.852209 0.0622191 +3163 1 1.72 23.0100002 7.0799999 86.7300034 0.884361 -0.466804 0.3529064 +3164 1 1.72 21.2399998 8.8500004 86.7300034 0.957608 -0.288076 0.3529064 +3165 1 1.72 24.7800007 7.0799999 84.9599992 -0.690895 0.722955 0.0622191 +3166 1 1.72 26.5499993 8.8500004 84.9599992 0.685998 0.727603 0.0622191 +3167 1 1.72 26.5499993 7.0799999 86.7300034 0.79968 -0.600426 0.3529064 +3168 1 1.72 24.7800007 8.8500004 86.7300034 0.717253 0.696812 0.3529064 +3169 1 1.72 0.0 10.6199999 84.9599992 -0.73913 -0.673562 0.0622191 +3170 1 1.72 1.77 12.3900004 84.9599992 0.556747 0.830682 0.0622191 +3171 1 1.72 1.77 10.6199999 86.7300034 0.651318 0.758805 0.3529064 +3172 1 1.72 0.0 12.3900004 86.7300034 -0.188681 -0.982039 0.3529064 +3173 1 1.72 3.54 10.6199999 84.9599992 -0.434519 -0.900663 0.0622191 +3174 1 1.72 5.31 12.3900004 84.9599992 0.699038 -0.715084 0.0622191 +3175 1 1.72 5.31 10.6199999 86.7300034 -0.882226 -0.470826 0.3529064 +3176 1 1.72 3.54 12.3900004 86.7300034 0.643411 -0.765521 0.3529064 +3177 1 1.72 7.0799999 10.6199999 84.9599992 -0.561751 0.827306 0.0622191 +3178 1 1.72 8.8500004 12.3900004 84.9599992 -0.822066 0.569392 0.0622191 +3179 1 1.72 8.8500004 10.6199999 86.7300034 0.976915 0.213628 0.3529064 +3180 1 1.72 7.0799999 12.3900004 86.7300034 0.432425 -0.90167 0.3529064 +3181 1 1.72 10.6199999 10.6199999 84.9599992 0.796685 0.604395 0.0622191 +3182 1 1.72 12.3900004 12.3900004 84.9599992 0.236922 -0.971529 0.0622191 +3183 1 1.72 12.3900004 10.6199999 86.7300034 -0.339992 -0.940428 0.3529064 +3184 1 1.72 10.6199999 12.3900004 86.7300034 -0.626377 0.77952 0.3529064 +3185 1 1.72 14.1599999 10.6199999 84.9599992 0.990921 -0.134449 0.0622191 +3186 1 1.72 15.9300004 12.3900004 84.9599992 -0.994421 0.105485 0.0622191 +3187 1 1.72 15.9300004 10.6199999 86.7300034 0.912257 0.409619 0.3529064 +3188 1 1.72 14.1599999 12.3900004 86.7300034 -0.123003 -0.992406 0.3529064 +3189 1 1.72 17.7000008 10.6199999 84.9599992 0.802914 -0.596095 0.0622191 +3190 1 1.72 19.4699993 12.3900004 84.9599992 0.200833 -0.979626 0.0622191 +3191 1 1.72 19.4699993 10.6199999 86.7300034 0.5291 -0.84856 0.3529064 +3192 1 1.72 17.7000008 12.3900004 86.7300034 0.259021 -0.965872 0.3529064 +3193 1 1.72 21.2399998 10.6199999 84.9599992 -0.761867 -0.647733 0.0622191 +3194 1 1.72 23.0100002 12.3900004 84.9599992 -0.485975 0.873973 0.0622191 +3195 1 1.72 23.0100002 10.6199999 86.7300034 0.385293 -0.922794 0.3529064 +3196 1 1.72 21.2399998 12.3900004 86.7300034 0.789108 0.614255 0.3529064 +3197 1 1.72 24.7800007 10.6199999 84.9599992 -0.966573 -0.256393 0.0622191 +3198 1 1.72 26.5499993 12.3900004 84.9599992 0.97345 -0.228901 0.0622191 +3199 1 1.72 26.5499993 10.6199999 86.7300034 -0.950999 -0.309194 0.3529064 +3200 1 1.72 24.7800007 12.3900004 86.7300034 -0.635748 0.771897 0.3529064 +3201 1 1.72 0.0 0.0 88.5 0.0814479 -0.996678 0.6123981 +3202 1 1.72 1.77 1.77 88.5 -0.259647 0.965704 0.6123981 +3203 1 1.72 1.77 0.0 90.2699967 -0.198461 -0.980109 0.8177584 +3204 1 1.72 0.0 1.77 90.2699967 -0.584697 -0.811252 0.8177584 +3205 1 1.72 3.54 0.0 88.5 -0.424454 -0.90545 0.6123981 +3206 1 1.72 5.31 1.77 88.5 0.998539 0.0540392 0.6123981 +3207 1 1.72 5.31 0.0 90.2699967 0.209971 -0.977708 0.8177584 +3208 1 1.72 3.54 1.77 90.2699967 -0.765048 -0.643973 0.8177584 +3209 1 1.72 7.0799999 0.0 88.5 -0.625452 0.780262 0.6123981 +3210 1 1.72 8.8500004 1.77 88.5 0.815133 0.579274 0.6123981 +3211 1 1.72 8.8500004 0.0 90.2699967 -0.985612 -0.169026 0.8177584 +3212 1 1.72 7.0799999 1.77 90.2699967 -0.520388 0.85393 0.8177584 +3213 1 1.72 10.6199999 0.0 88.5 0.702682 0.711504 0.6123981 +3214 1 1.72 12.3900004 1.77 88.5 0.795024 0.606579 0.6123981 +3215 1 1.72 12.3900004 0.0 90.2699967 -0.361094 -0.93253 0.8177584 +3216 1 1.72 10.6199999 1.77 90.2699967 -0.998905 0.0467864 0.8177584 +3217 1 1.72 14.1599999 0.0 88.5 -0.0309931 0.99952 0.6123981 +3218 1 1.72 15.9300004 1.77 88.5 -0.922288 0.386504 0.6123981 +3219 1 1.72 15.9300004 0.0 90.2699967 0.510992 0.859586 0.8177584 +3220 1 1.72 14.1599999 1.77 90.2699967 -0.567707 -0.823231 0.8177584 +3221 1 1.72 17.7000008 0.0 88.5 0.355571 -0.934649 0.6123981 +3222 1 1.72 19.4699993 1.77 88.5 -0.471974 -0.881613 0.6123981 +3223 1 1.72 19.4699993 0.0 90.2699967 0.488717 0.872443 0.8177584 +3224 1 1.72 17.7000008 1.77 90.2699967 0.960363 -0.278753 0.8177584 +3225 1 1.72 21.2399998 0.0 88.5 0.249307 0.968424 0.6123981 +3226 1 1.72 23.0100002 1.77 88.5 -0.894692 -0.446684 0.6123981 +3227 1 1.72 23.0100002 0.0 90.2699967 0.966929 0.255045 0.8177584 +3228 1 1.72 21.2399998 1.77 90.2699967 -0.440933 0.89754 0.8177584 +3229 1 1.72 24.7800007 0.0 88.5 0.591411 -0.80637 0.6123981 +3230 1 1.72 26.5499993 1.77 88.5 0.096598 -0.995323 0.6123981 +3231 1 1.72 26.5499993 0.0 90.2699967 -0.6912 0.722663 0.8177584 +3232 1 1.72 24.7800007 1.77 90.2699967 0.691936 -0.721959 0.8177584 +3233 1 1.72 0.0 3.54 88.5 0.674759 -0.738039 0.6123981 +3234 1 1.72 1.77 5.31 88.5 0.747446 -0.664322 0.6123981 +3235 1 1.72 1.77 3.54 90.2699967 -0.479799 0.877378 0.8177584 +3236 1 1.72 0.0 5.31 90.2699967 -0.0364025 0.999337 0.8177584 +3237 1 1.72 3.54 3.54 88.5 0.74241 -0.669946 0.6123981 +3238 1 1.72 5.31 5.31 88.5 -0.88395 0.467582 0.6123981 +3239 1 1.72 5.31 3.54 90.2699967 -0.0136033 0.999907 0.8177584 +3240 1 1.72 3.54 5.31 90.2699967 0.882501 -0.47031 0.8177584 +3241 1 1.72 7.0799999 3.54 88.5 0.299187 0.954194 0.6123981 +3242 1 1.72 8.8500004 5.31 88.5 0.172189 0.985064 0.6123981 +3243 1 1.72 8.8500004 3.54 90.2699967 -0.868739 -0.49527 0.8177584 +3244 1 1.72 7.0799999 5.31 90.2699967 -0.959876 0.280423 0.8177584 +3245 1 1.72 10.6199999 3.54 88.5 -0.983664 0.180015 0.6123981 +3246 1 1.72 12.3900004 5.31 88.5 0.176606 0.984282 0.6123981 +3247 1 1.72 12.3900004 3.54 90.2699967 -0.159699 -0.987166 0.8177584 +3248 1 1.72 10.6199999 5.31 90.2699967 -0.557452 -0.830209 0.8177584 +3249 1 1.72 14.1599999 3.54 88.5 -0.688994 -0.724767 0.6123981 +3250 1 1.72 15.9300004 5.31 88.5 -0.116093 -0.993238 0.6123981 +3251 1 1.72 15.9300004 3.54 90.2699967 -0.359459 -0.933161 0.8177584 +3252 1 1.72 14.1599999 5.31 90.2699967 -0.976052 0.217539 0.8177584 +3253 1 1.72 17.7000008 3.54 88.5 0.767225 0.641378 0.6123981 +3254 1 1.72 19.4699993 5.31 88.5 -0.860422 0.509582 0.6123981 +3255 1 1.72 19.4699993 3.54 90.2699967 -0.325269 -0.945621 0.8177584 +3256 1 1.72 17.7000008 5.31 90.2699967 0.679991 -0.73322 0.8177584 +3257 1 1.72 21.2399998 3.54 88.5 -0.929161 -0.369676 0.6123981 +3258 1 1.72 23.0100002 5.31 88.5 0.657035 -0.75386 0.6123981 +3259 1 1.72 23.0100002 3.54 90.2699967 0.931306 0.364237 0.8177584 +3260 1 1.72 21.2399998 5.31 90.2699967 -0.00188454 -0.999998 0.8177584 +3261 1 1.72 24.7800007 3.54 88.5 -0.366621 -0.93037 0.6123981 +3262 1 1.72 26.5499993 5.31 88.5 0.833235 -0.552918 0.6123981 +3263 1 1.72 26.5499993 3.54 90.2699967 0.21345 0.976954 0.8177584 +3264 1 1.72 24.7800007 5.31 90.2699967 -0.14833 0.988938 0.8177584 +3265 1 1.72 0.0 7.0799999 88.5 0.42024 -0.907413 0.6123981 +3266 1 1.72 1.77 8.8500004 88.5 -0.881154 -0.472829 0.6123981 +3267 1 1.72 1.77 7.0799999 90.2699967 -0.960995 -0.276567 0.8177584 +3268 1 1.72 0.0 8.8500004 90.2699967 0.821356 -0.570415 0.8177584 +3269 1 1.72 3.54 7.0799999 88.5 0.516927 -0.85603 0.6123981 +3270 1 1.72 5.31 8.8500004 88.5 -0.466182 0.884689 0.6123981 +3271 1 1.72 5.31 7.0799999 90.2699967 0.745056 0.667002 0.8177584 +3272 1 1.72 3.54 8.8500004 90.2699967 -0.996455 0.084129 0.8177584 +3273 1 1.72 7.0799999 7.0799999 88.5 0.898087 0.439819 0.6123981 +3274 1 1.72 8.8500004 8.8500004 88.5 -0.856128 -0.516764 0.6123981 +3275 1 1.72 8.8500004 7.0799999 90.2699967 0.826266 0.56328 0.8177584 +3276 1 1.72 7.0799999 8.8500004 90.2699967 -0.37157 0.928405 0.8177584 +3277 1 1.72 10.6199999 7.0799999 88.5 -0.206864 0.97837 0.6123981 +3278 1 1.72 12.3900004 8.8500004 88.5 0.502205 -0.864749 0.6123981 +3279 1 1.72 12.3900004 7.0799999 90.2699967 -0.766877 -0.641794 0.8177584 +3280 1 1.72 10.6199999 8.8500004 90.2699967 0.404476 -0.914548 0.8177584 +3281 1 1.72 14.1599999 7.0799999 88.5 -0.654614 0.755963 0.6123981 +3282 1 1.72 15.9300004 8.8500004 88.5 0.0908795 0.995862 0.6123981 +3283 1 1.72 15.9300004 7.0799999 90.2699967 -0.0244226 -0.999702 0.8177584 +3284 1 1.72 14.1599999 8.8500004 90.2699967 0.835121 -0.550066 0.8177584 +3285 1 1.72 17.7000008 7.0799999 88.5 -0.200279 0.979739 0.6123981 +3286 1 1.72 19.4699993 8.8500004 88.5 -0.725386 -0.688342 0.6123981 +3287 1 1.72 19.4699993 7.0799999 90.2699967 -0.845452 -0.534052 0.8177584 +3288 1 1.72 17.7000008 8.8500004 90.2699967 -0.841802 0.539786 0.8177584 +3289 1 1.72 21.2399998 7.0799999 88.5 -0.474372 -0.880324 0.6123981 +3290 1 1.72 23.0100002 8.8500004 88.5 -0.640678 0.76781 0.6123981 +3291 1 1.72 23.0100002 7.0799999 90.2699967 0.948872 0.31566 0.8177584 +3292 1 1.72 21.2399998 8.8500004 90.2699967 0.882006 0.471239 0.8177584 +3293 1 1.72 24.7800007 7.0799999 88.5 0.789484 -0.613771 0.6123981 +3294 1 1.72 26.5499993 8.8500004 88.5 -0.571943 0.820293 0.6123981 +3295 1 1.72 26.5499993 7.0799999 90.2699967 -0.616512 0.787346 0.8177584 +3296 1 1.72 24.7800007 8.8500004 90.2699967 0.427937 0.903809 0.8177584 +3297 1 1.72 0.0 10.6199999 88.5 -0.3059 0.952064 0.6123981 +3298 1 1.72 1.77 12.3900004 88.5 0.983121 0.182957 0.6123981 +3299 1 1.72 1.77 10.6199999 90.2699967 0.641828 0.766849 0.8177584 +3300 1 1.72 0.0 12.3900004 90.2699967 -0.0293854 -0.999568 0.8177584 +3301 1 1.72 3.54 10.6199999 88.5 0.973508 -0.228655 0.6123981 +3302 1 1.72 5.31 12.3900004 88.5 0.922521 0.385946 0.6123981 +3303 1 1.72 5.31 10.6199999 90.2699967 0.951109 0.308856 0.8177584 +3304 1 1.72 3.54 12.3900004 90.2699967 -0.477051 -0.878875 0.8177584 +3305 1 1.72 7.0799999 10.6199999 88.5 -0.897582 0.440847 0.6123981 +3306 1 1.72 8.8500004 12.3900004 88.5 0.576961 0.816772 0.6123981 +3307 1 1.72 8.8500004 10.6199999 90.2699967 0.998647 -0.0520025 0.8177584 +3308 1 1.72 7.0799999 12.3900004 90.2699967 0.180206 0.983629 0.8177584 +3309 1 1.72 10.6199999 10.6199999 88.5 -0.0813292 0.996687 0.6123981 +3310 1 1.72 12.3900004 12.3900004 88.5 -0.929701 0.368315 0.6123981 +3311 1 1.72 12.3900004 10.6199999 90.2699967 0.552736 0.833356 0.8177584 +3312 1 1.72 10.6199999 12.3900004 90.2699967 -0.870974 0.49133 0.8177584 +3313 1 1.72 14.1599999 10.6199999 88.5 -0.871249 0.490842 0.6123981 +3314 1 1.72 15.9300004 12.3900004 88.5 0.826662 -0.562699 0.6123981 +3315 1 1.72 15.9300004 10.6199999 90.2699967 0.126884 -0.991918 0.8177584 +3316 1 1.72 14.1599999 12.3900004 90.2699967 0.818244 0.574871 0.8177584 +3317 1 1.72 17.7000008 10.6199999 88.5 -0.808764 0.588134 0.6123981 +3318 1 1.72 19.4699993 12.3900004 88.5 -0.560257 0.828319 0.6123981 +3319 1 1.72 19.4699993 10.6199999 90.2699967 0.921399 -0.388618 0.8177584 +3320 1 1.72 17.7000008 12.3900004 90.2699967 0.591131 -0.806576 0.8177584 +3321 1 1.72 21.2399998 10.6199999 88.5 -0.966127 -0.258066 0.6123981 +3322 1 1.72 23.0100002 12.3900004 88.5 -0.144221 0.989545 0.6123981 +3323 1 1.72 23.0100002 10.6199999 90.2699967 -0.766044 0.642789 0.8177584 +3324 1 1.72 21.2399998 12.3900004 90.2699967 0.18622 0.982508 0.8177584 +3325 1 1.72 24.7800007 10.6199999 88.5 0.764001 -0.645216 0.6123981 +3326 1 1.72 26.5499993 12.3900004 88.5 -0.816947 -0.576713 0.6123981 +3327 1 1.72 26.5499993 10.6199999 90.2699967 0.982513 -0.186192 0.8177584 +3328 1 1.72 24.7800007 12.3900004 90.2699967 -0.669736 0.742599 0.8177584 +3329 1 1.72 0.0 0.0 92.0400009 0.828152 -0.560503 0.9508352 +3330 1 1.72 1.77 1.77 92.0400009 0.989493 0.144582 0.9508352 +3331 1 1.72 1.77 0.0 93.8099976 0.884275 0.466967 0.9998646 +3332 1 1.72 0.0 1.77 93.8099976 0.688393 -0.725338 0.9998646 +3333 1 1.72 3.54 0.0 92.0400009 0.143863 0.989598 0.9508352 +3334 1 1.72 5.31 1.77 92.0400009 0.279227 -0.960225 0.9508352 +3335 1 1.72 5.31 0.0 93.8099976 -0.660332 -0.750974 0.9998646 +3336 1 1.72 3.54 1.77 93.8099976 -0.99536 0.0962212 0.9998646 +3337 1 1.72 7.0799999 0.0 92.0400009 0.912838 -0.408323 0.9508352 +3338 1 1.72 8.8500004 1.77 92.0400009 0.698081 -0.716019 0.9508352 +3339 1 1.72 8.8500004 0.0 93.8099976 -0.345922 0.938263 0.9998646 +3340 1 1.72 7.0799999 1.77 93.8099976 -0.778137 -0.628095 0.9998646 +3341 1 1.72 10.6199999 0.0 92.0400009 -0.746639 -0.66523 0.9508352 +3342 1 1.72 12.3900004 1.77 92.0400009 0.386284 -0.92238 0.9508352 +3343 1 1.72 12.3900004 0.0 93.8099976 0.420172 -0.907445 0.9998646 +3344 1 1.72 10.6199999 1.77 93.8099976 -0.996174 -0.0873961 0.9998646 +3345 1 1.72 14.1599999 0.0 92.0400009 -0.99966 -0.0260766 0.9508352 +3346 1 1.72 15.9300004 1.77 92.0400009 -0.996881 0.0789214 0.9508352 +3347 1 1.72 15.9300004 0.0 93.8099976 -0.330092 0.943949 0.9998646 +3348 1 1.72 14.1599999 1.77 93.8099976 -0.562023 0.827122 0.9998646 +3349 1 1.72 17.7000008 0.0 92.0400009 -0.511974 0.859001 0.9508352 +3350 1 1.72 19.4699993 1.77 92.0400009 -0.999644 0.0266962 0.9508352 +3351 1 1.72 19.4699993 0.0 93.8099976 -0.987848 0.155424 0.9998646 +3352 1 1.72 17.7000008 1.77 93.8099976 -0.515203 0.857068 0.9998646 +3353 1 1.72 21.2399998 0.0 92.0400009 0.137061 -0.990563 0.9508352 +3354 1 1.72 23.0100002 1.77 92.0400009 0.613965 0.789333 0.9508352 +3355 1 1.72 23.0100002 0.0 93.8099976 0.168124 -0.985766 0.9998646 +3356 1 1.72 21.2399998 1.77 93.8099976 0.848376 -0.529394 0.9998646 +3357 1 1.72 24.7800007 0.0 92.0400009 0.728608 -0.684931 0.9508352 +3358 1 1.72 26.5499993 1.77 92.0400009 0.983103 0.183053 0.9508352 +3359 1 1.72 26.5499993 0.0 93.8099976 0.53876 0.842459 0.9998646 +3360 1 1.72 24.7800007 1.77 93.8099976 -0.989859 -0.142051 0.9998646 +3361 1 1.72 0.0 3.54 92.0400009 -0.79771 0.603041 0.9508352 +3362 1 1.72 1.77 5.31 92.0400009 -0.0253525 0.999679 0.9508352 +3363 1 1.72 1.77 3.54 93.8099976 -0.520279 -0.853996 0.9998646 +3364 1 1.72 0.0 5.31 93.8099976 0.984095 -0.177642 0.9998646 +3365 1 1.72 3.54 3.54 92.0400009 -0.165045 -0.986286 0.9508352 +3366 1 1.72 5.31 5.31 92.0400009 -0.0533507 0.998576 0.9508352 +3367 1 1.72 5.31 3.54 93.8099976 -0.794755 0.60693 0.9998646 +3368 1 1.72 3.54 5.31 93.8099976 -0.999303 0.0373207 0.9998646 +3369 1 1.72 7.0799999 3.54 92.0400009 0.810969 -0.585089 0.9508352 +3370 1 1.72 8.8500004 5.31 92.0400009 -0.743413 0.668833 0.9508352 +3371 1 1.72 8.8500004 3.54 93.8099976 -0.61656 -0.787308 0.9998646 +3372 1 1.72 7.0799999 5.31 93.8099976 0.760532 0.6493 0.9998646 +3373 1 1.72 10.6199999 3.54 92.0400009 -0.128745 0.991678 0.9508352 +3374 1 1.72 12.3900004 5.31 92.0400009 0.597907 0.801565 0.9508352 +3375 1 1.72 12.3900004 3.54 93.8099976 0.591364 0.806405 0.9998646 +3376 1 1.72 10.6199999 5.31 93.8099976 -0.474538 0.880235 0.9998646 +3377 1 1.72 14.1599999 3.54 92.0400009 -0.600661 0.799503 0.9508352 +3378 1 1.72 15.9300004 5.31 92.0400009 -0.887688 -0.460446 0.9508352 +3379 1 1.72 15.9300004 3.54 93.8099976 -0.610261 -0.7922 0.9998646 +3380 1 1.72 14.1599999 5.31 93.8099976 -0.554043 0.832488 0.9998646 +3381 1 1.72 17.7000008 3.54 92.0400009 -0.637637 0.770337 0.9508352 +3382 1 1.72 19.4699993 5.31 92.0400009 0.367987 0.929831 0.9508352 +3383 1 1.72 19.4699993 3.54 93.8099976 -0.674412 0.738355 0.9998646 +3384 1 1.72 17.7000008 5.31 93.8099976 -0.146841 0.98916 0.9998646 +3385 1 1.72 21.2399998 3.54 92.0400009 -0.554711 0.832043 0.9508352 +3386 1 1.72 23.0100002 5.31 92.0400009 -0.585422 0.810729 0.9508352 +3387 1 1.72 23.0100002 3.54 93.8099976 -0.623051 0.782181 0.9998646 +3388 1 1.72 21.2399998 5.31 93.8099976 0.477107 0.878845 0.9998646 +3389 1 1.72 24.7800007 3.54 92.0400009 0.998647 0.0520044 0.9508352 +3390 1 1.72 26.5499993 5.31 92.0400009 -0.826128 0.563483 0.9508352 +3391 1 1.72 26.5499993 3.54 93.8099976 -0.441092 0.897462 0.9998646 +3392 1 1.72 24.7800007 5.31 93.8099976 -0.67333 -0.739342 0.9998646 +3393 1 1.72 0.0 7.0799999 92.0400009 -0.873965 -0.485988 0.9508352 +3394 1 1.72 1.77 8.8500004 92.0400009 0.803665 -0.595082 0.9508352 +3395 1 1.72 1.77 7.0799999 93.8099976 0.102322 0.994751 0.9998646 +3396 1 1.72 0.0 8.8500004 93.8099976 0.327791 0.94475 0.9998646 +3397 1 1.72 3.54 7.0799999 92.0400009 0.862987 -0.505227 0.9508352 +3398 1 1.72 5.31 8.8500004 92.0400009 0.763551 0.645747 0.9508352 +3399 1 1.72 5.31 7.0799999 93.8099976 0.901385 -0.433019 0.9998646 +3400 1 1.72 3.54 8.8500004 93.8099976 0.807384 0.590026 0.9998646 +3401 1 1.72 7.0799999 7.0799999 92.0400009 -0.803897 -0.594769 0.9508352 +3402 1 1.72 8.8500004 8.8500004 92.0400009 -0.0453658 0.99897 0.9508352 +3403 1 1.72 8.8500004 7.0799999 93.8099976 0.880523 -0.474004 0.9998646 +3404 1 1.72 7.0799999 8.8500004 93.8099976 0.999959 0.00905736 0.9998646 +3405 1 1.72 10.6199999 7.0799999 92.0400009 -0.645639 0.763643 0.9508352 +3406 1 1.72 12.3900004 8.8500004 92.0400009 -0.792146 0.610332 0.9508352 +3407 1 1.72 12.3900004 7.0799999 93.8099976 0.640106 0.768287 0.9998646 +3408 1 1.72 10.6199999 8.8500004 93.8099976 0.878035 0.478596 0.9998646 +3409 1 1.72 14.1599999 7.0799999 92.0400009 -0.965428 -0.260669 0.9508352 +3410 1 1.72 15.9300004 8.8500004 92.0400009 -0.923328 -0.384012 0.9508352 +3411 1 1.72 15.9300004 7.0799999 93.8099976 -0.309689 0.950838 0.9998646 +3412 1 1.72 14.1599999 8.8500004 93.8099976 -0.569041 0.822309 0.9998646 +3413 1 1.72 17.7000008 7.0799999 92.0400009 0.50104 -0.865424 0.9508352 +3414 1 1.72 19.4699993 8.8500004 92.0400009 0.791544 -0.611112 0.9508352 +3415 1 1.72 19.4699993 7.0799999 93.8099976 0.559231 0.829012 0.9998646 +3416 1 1.72 17.7000008 8.8500004 93.8099976 0.758787 -0.651338 0.9998646 +3417 1 1.72 21.2399998 7.0799999 92.0400009 0.802682 -0.596407 0.9508352 +3418 1 1.72 23.0100002 8.8500004 92.0400009 0.167507 -0.985871 0.9508352 +3419 1 1.72 23.0100002 7.0799999 93.8099976 -0.0488943 -0.998804 0.9998646 +3420 1 1.72 21.2399998 8.8500004 93.8099976 -0.999908 0.0135346 0.9998646 +3421 1 1.72 24.7800007 7.0799999 92.0400009 -0.617929 -0.786234 0.9508352 +3422 1 1.72 26.5499993 8.8500004 92.0400009 -0.900155 0.435569 0.9508352 +3423 1 1.72 26.5499993 7.0799999 93.8099976 -0.710144 0.704056 0.9998646 +3424 1 1.72 24.7800007 8.8500004 93.8099976 0.551884 0.833921 0.9998646 +3425 1 1.72 0.0 10.6199999 92.0400009 -0.635235 0.772319 0.9508352 +3426 1 1.72 1.77 12.3900004 92.0400009 0.140353 0.990101 0.9508352 +3427 1 1.72 1.77 10.6199999 93.8099976 0.961191 0.275885 0.9998646 +3428 1 1.72 0.0 12.3900004 93.8099976 -0.980255 0.197738 0.9998646 +3429 1 1.72 3.54 10.6199999 92.0400009 -0.923776 -0.382934 0.9508352 +3430 1 1.72 5.31 12.3900004 92.0400009 -0.980185 -0.198086 0.9508352 +3431 1 1.72 5.31 10.6199999 93.8099976 0.662771 0.748822 0.9998646 +3432 1 1.72 3.54 12.3900004 93.8099976 -0.720134 0.693835 0.9998646 +3433 1 1.72 7.0799999 10.6199999 92.0400009 -0.75527 -0.655414 0.9508352 +3434 1 1.72 8.8500004 12.3900004 92.0400009 -0.505443 0.86286 0.9508352 +3435 1 1.72 8.8500004 10.6199999 93.8099976 -0.781277 0.624184 0.9998646 +3436 1 1.72 7.0799999 12.3900004 93.8099976 0.157568 0.987508 0.9998646 +3437 1 1.72 10.6199999 10.6199999 92.0400009 0.327432 -0.944875 0.9508352 +3438 1 1.72 12.3900004 12.3900004 92.0400009 -0.251084 -0.967965 0.9508352 +3439 1 1.72 12.3900004 10.6199999 93.8099976 0.987396 -0.158266 0.9998646 +3440 1 1.72 10.6199999 12.3900004 93.8099976 0.36674 -0.930323 0.9998646 +3441 1 1.72 14.1599999 10.6199999 92.0400009 0.730909 0.682475 0.9508352 +3442 1 1.72 15.9300004 12.3900004 92.0400009 0.0402508 0.99919 0.9508352 +3443 1 1.72 15.9300004 10.6199999 93.8099976 -0.513414 0.858141 0.9998646 +3444 1 1.72 14.1599999 12.3900004 93.8099976 -0.818731 0.574178 0.9998646 +3445 1 1.72 17.7000008 10.6199999 92.0400009 -0.87768 0.479247 0.9508352 +3446 1 1.72 19.4699993 12.3900004 92.0400009 0.741321 0.671151 0.9508352 +3447 1 1.72 19.4699993 10.6199999 93.8099976 -0.881018 0.473083 0.9998646 +3448 1 1.72 17.7000008 12.3900004 93.8099976 -0.970352 0.241698 0.9998646 +3449 1 1.72 21.2399998 10.6199999 92.0400009 -0.38788 0.92171 0.9508352 +3450 1 1.72 23.0100002 12.3900004 92.0400009 -0.962019 -0.272982 0.9508352 +3451 1 1.72 23.0100002 10.6199999 93.8099976 0.0236468 -0.99972 0.9998646 +3452 1 1.72 21.2399998 12.3900004 93.8099976 -0.722769 0.69109 0.9998646 +3453 1 1.72 24.7800007 10.6199999 92.0400009 -0.957086 -0.289804 0.9508352 +3454 1 1.72 26.5499993 12.3900004 92.0400009 -0.790331 -0.61268 0.9508352 +3455 1 1.72 26.5499993 10.6199999 93.8099976 -0.880554 -0.473946 0.9998646 +3456 1 1.72 24.7800007 12.3900004 93.8099976 0.264631 0.96435 0.9998646 +3457 1 1.72 0.0 0.0 95.5800019 -0.790928 -0.611909 1.0 +3458 1 1.72 1.77 1.77 95.5800019 -0.725467 -0.688257 1.0 +3459 1 1.72 1.77 0.0 97.3499985 0.80488 0.593438 1.0 +3460 1 1.72 0.0 1.77 97.3499985 0.578804 -0.815467 1.0 +3461 1 1.72 3.54 0.0 95.5800019 0.613921 -0.789368 1.0 +3462 1 1.72 5.31 1.77 95.5800019 0.136483 -0.990642 1.0 +3463 1 1.72 5.31 0.0 97.3499985 0.999797 0.0201702 1.0 +3464 1 1.72 3.54 1.77 97.3499985 0.806024 -0.591883 1.0 +3465 1 1.72 7.0799999 0.0 95.5800019 -0.265806 0.964027 1.0 +3466 1 1.72 8.8500004 1.77 95.5800019 -0.137761 -0.990466 1.0 +3467 1 1.72 8.8500004 0.0 97.3499985 0.28548 -0.958385 1.0 +3468 1 1.72 7.0799999 1.77 97.3499985 -0.730198 0.683236 1.0 +3469 1 1.72 10.6199999 0.0 95.5800019 -0.655369 -0.755309 1.0 +3470 1 1.72 12.3900004 1.77 95.5800019 -0.77439 -0.632708 1.0 +3471 1 1.72 12.3900004 0.0 97.3499985 -0.47057 0.882363 1.0 +3472 1 1.72 10.6199999 1.77 97.3499985 -0.993488 0.113935 1.0 +3473 1 1.72 14.1599999 0.0 95.5800019 -0.81396 0.580922 1.0 +3474 1 1.72 15.9300004 1.77 95.5800019 -0.469561 0.8829 1.0 +3475 1 1.72 15.9300004 0.0 97.3499985 -0.571448 -0.820639 1.0 +3476 1 1.72 14.1599999 1.77 97.3499985 -0.919716 0.392585 1.0 +3477 1 1.72 17.7000008 0.0 95.5800019 0.125133 0.99214 1.0 +3478 1 1.72 19.4699993 1.77 95.5800019 0.552805 0.83331 1.0 +3479 1 1.72 19.4699993 0.0 97.3499985 0.789593 0.613631 1.0 +3480 1 1.72 17.7000008 1.77 97.3499985 -0.579898 0.814689 1.0 +3481 1 1.72 21.2399998 0.0 95.5800019 -0.240867 0.970558 1.0 +3482 1 1.72 23.0100002 1.77 95.5800019 -0.533808 -0.845606 1.0 +3483 1 1.72 23.0100002 0.0 97.3499985 0.647036 -0.762459 1.0 +3484 1 1.72 21.2399998 1.77 97.3499985 -0.121188 0.99263 1.0 +3485 1 1.72 24.7800007 0.0 95.5800019 -0.515429 -0.856932 1.0 +3486 1 1.72 26.5499993 1.77 95.5800019 0.590502 0.807036 1.0 +3487 1 1.72 26.5499993 0.0 97.3499985 0.910993 -0.412422 1.0 +3488 1 1.72 24.7800007 1.77 97.3499985 0.719737 0.694247 1.0 +3489 1 1.72 0.0 3.54 95.5800019 -0.958196 -0.286114 1.0 +3490 1 1.72 1.77 5.31 95.5800019 0.862543 0.505983 1.0 +3491 1 1.72 1.77 3.54 97.3499985 0.706402 0.707811 1.0 +3492 1 1.72 0.0 5.31 97.3499985 -0.987711 -0.156288 1.0 +3493 1 1.72 3.54 3.54 95.5800019 -0.7224 -0.691475 1.0 +3494 1 1.72 5.31 5.31 95.5800019 -0.122338 -0.992488 1.0 +3495 1 1.72 5.31 3.54 97.3499985 0.483284 0.875464 1.0 +3496 1 1.72 3.54 5.31 97.3499985 0.871599 -0.490219 1.0 +3497 1 1.72 7.0799999 3.54 95.5800019 -0.964386 -0.264499 1.0 +3498 1 1.72 8.8500004 5.31 95.5800019 0.692682 0.721243 1.0 +3499 1 1.72 8.8500004 3.54 97.3499985 -0.131564 0.991308 1.0 +3500 1 1.72 7.0799999 5.31 97.3499985 0.69403 -0.719946 1.0 +3501 1 1.72 10.6199999 3.54 95.5800019 0.835431 0.549595 1.0 +3502 1 1.72 12.3900004 5.31 95.5800019 -0.999509 0.0313386 1.0 +3503 1 1.72 12.3900004 3.54 97.3499985 -0.534715 -0.845033 1.0 +3504 1 1.72 10.6199999 5.31 97.3499985 -0.696317 -0.717735 1.0 +3505 1 1.72 14.1599999 3.54 95.5800019 -0.990629 0.136578 1.0 +3506 1 1.72 15.9300004 5.31 95.5800019 -0.348394 0.937348 1.0 +3507 1 1.72 15.9300004 3.54 97.3499985 -0.745208 0.666832 1.0 +3508 1 1.72 14.1599999 5.31 97.3499985 0.813799 0.581147 1.0 +3509 1 1.72 17.7000008 3.54 95.5800019 0.860438 0.509554 1.0 +3510 1 1.72 19.4699993 5.31 95.5800019 -0.583699 0.81197 1.0 +3511 1 1.72 19.4699993 3.54 97.3499985 0.474755 0.880118 1.0 +3512 1 1.72 17.7000008 5.31 97.3499985 -0.665528 0.746372 1.0 +3513 1 1.72 21.2399998 3.54 95.5800019 -0.669041 0.743225 1.0 +3514 1 1.72 23.0100002 5.31 95.5800019 0.970559 -0.240864 1.0 +3515 1 1.72 23.0100002 3.54 97.3499985 0.949365 -0.314176 1.0 +3516 1 1.72 21.2399998 5.31 97.3499985 -0.792313 0.610115 1.0 +3517 1 1.72 24.7800007 3.54 95.5800019 0.619413 -0.785066 1.0 +3518 1 1.72 26.5499993 5.31 95.5800019 -0.852538 0.522666 1.0 +3519 1 1.72 26.5499993 3.54 97.3499985 -0.627236 0.778829 1.0 +3520 1 1.72 24.7800007 5.31 97.3499985 0.926432 -0.376462 1.0 +3521 1 1.72 0.0 7.0799999 95.5800019 0.999072 -0.0430726 1.0 +3522 1 1.72 1.77 8.8500004 95.5800019 -0.623833 -0.781558 1.0 +3523 1 1.72 1.77 7.0799999 97.3499985 0.720231 -0.693735 1.0 +3524 1 1.72 0.0 8.8500004 97.3499985 -0.722808 0.691049 1.0 +3525 1 1.72 3.54 7.0799999 95.5800019 -0.98723 0.159301 1.0 +3526 1 1.72 5.31 8.8500004 95.5800019 0.826364 -0.563136 1.0 +3527 1 1.72 5.31 7.0799999 97.3499985 -0.787985 -0.615694 1.0 +3528 1 1.72 3.54 8.8500004 97.3499985 0.736807 -0.676103 1.0 +3529 1 1.72 7.0799999 7.0799999 95.5800019 -0.999045 -0.043699 1.0 +3530 1 1.72 8.8500004 8.8500004 95.5800019 -0.999881 -0.0154143 1.0 +3531 1 1.72 8.8500004 7.0799999 97.3499985 0.583685 0.81198 1.0 +3532 1 1.72 7.0799999 8.8500004 97.3499985 0.668561 -0.743657 1.0 +3533 1 1.72 10.6199999 7.0799999 95.5800019 -0.799632 0.60049 1.0 +3534 1 1.72 12.3900004 8.8500004 95.5800019 -0.611978 0.790875 1.0 +3535 1 1.72 12.3900004 7.0799999 97.3499985 0.558902 0.829234 1.0 +3536 1 1.72 10.6199999 8.8500004 97.3499985 0.992914 0.118834 1.0 +3537 1 1.72 14.1599999 7.0799999 95.5800019 -0.684918 -0.72862 1.0 +3538 1 1.72 15.9300004 8.8500004 95.5800019 -0.949949 0.312405 1.0 +3539 1 1.72 15.9300004 7.0799999 97.3499985 -0.583458 0.812143 1.0 +3540 1 1.72 14.1599999 8.8500004 97.3499985 -0.328994 -0.944332 1.0 +3541 1 1.72 17.7000008 7.0799999 95.5800019 0.982972 0.183757 1.0 +3542 1 1.72 19.4699993 8.8500004 95.5800019 -0.702083 -0.712095 1.0 +3543 1 1.72 19.4699993 7.0799999 97.3499985 0.876211 -0.481927 1.0 +3544 1 1.72 17.7000008 8.8500004 97.3499985 -0.941304 0.33756 1.0 +3545 1 1.72 21.2399998 7.0799999 95.5800019 -0.992382 0.123195 1.0 +3546 1 1.72 23.0100002 8.8500004 95.5800019 -0.467196 0.884154 1.0 +3547 1 1.72 23.0100002 7.0799999 97.3499985 -0.315007 0.949089 1.0 +3548 1 1.72 21.2399998 8.8500004 97.3499985 -0.514949 -0.857221 1.0 +3549 1 1.72 24.7800007 7.0799999 95.5800019 -0.113167 0.993576 1.0 +3550 1 1.72 26.5499993 8.8500004 95.5800019 -0.533866 -0.845569 1.0 +3551 1 1.72 26.5499993 7.0799999 97.3499985 -0.678415 -0.734679 1.0 +3552 1 1.72 24.7800007 8.8500004 97.3499985 0.783341 -0.621592 1.0 +3553 1 1.72 0.0 10.6199999 95.5800019 -0.0284462 0.999595 1.0 +3554 1 1.72 1.77 12.3900004 95.5800019 -0.718169 -0.695868 1.0 +3555 1 1.72 1.77 10.6199999 97.3499985 -0.967839 -0.25157 1.0 +3556 1 1.72 0.0 12.3900004 97.3499985 -0.87658 -0.481256 1.0 +3557 1 1.72 3.54 10.6199999 95.5800019 -0.722069 -0.691821 1.0 +3558 1 1.72 5.31 12.3900004 95.5800019 0.794521 0.607236 1.0 +3559 1 1.72 5.31 10.6199999 97.3499985 0.998818 0.0486132 1.0 +3560 1 1.72 3.54 12.3900004 97.3499985 0.409046 -0.912514 1.0 +3561 1 1.72 7.0799999 10.6199999 95.5800019 0.575554 -0.817763 1.0 +3562 1 1.72 8.8500004 12.3900004 95.5800019 0.524977 0.851116 1.0 +3563 1 1.72 8.8500004 10.6199999 97.3499985 0.99093 -0.134381 1.0 +3564 1 1.72 7.0799999 12.3900004 97.3499985 -0.732136 -0.681159 1.0 +3565 1 1.72 10.6199999 10.6199999 95.5800019 0.498792 0.866722 1.0 +3566 1 1.72 12.3900004 12.3900004 95.5800019 0.46749 0.883998 1.0 +3567 1 1.72 12.3900004 10.6199999 97.3499985 -0.518027 0.855364 1.0 +3568 1 1.72 10.6199999 12.3900004 97.3499985 0.474655 0.880172 1.0 +3569 1 1.72 14.1599999 10.6199999 95.5800019 0.985356 -0.17051 1.0 +3570 1 1.72 15.9300004 12.3900004 95.5800019 0.842644 -0.538472 1.0 +3571 1 1.72 15.9300004 10.6199999 97.3499985 0.672323 -0.740258 1.0 +3572 1 1.72 14.1599999 12.3900004 97.3499985 0.713104 -0.701059 1.0 +3573 1 1.72 17.7000008 10.6199999 95.5800019 -0.391523 0.920168 1.0 +3574 1 1.72 19.4699993 12.3900004 95.5800019 0.918791 0.394744 1.0 +3575 1 1.72 19.4699993 10.6199999 97.3499985 -0.939195 0.343383 1.0 +3576 1 1.72 17.7000008 12.3900004 97.3499985 0.239449 0.970909 1.0 +3577 1 1.72 21.2399998 10.6199999 95.5800019 -0.424875 -0.905252 1.0 +3578 1 1.72 23.0100002 12.3900004 95.5800019 -0.532199 0.84662 1.0 +3579 1 1.72 23.0100002 10.6199999 97.3499985 -0.305687 -0.952132 1.0 +3580 1 1.72 21.2399998 12.3900004 97.3499985 -0.1388 -0.99032 1.0 +3581 1 1.72 24.7800007 10.6199999 95.5800019 -0.788649 -0.614843 1.0 +3582 1 1.72 26.5499993 12.3900004 95.5800019 0.286249 -0.958155 1.0 +3583 1 1.72 26.5499993 10.6199999 97.3499985 0.743321 0.668935 1.0 +3584 1 1.72 24.7800007 12.3900004 97.3499985 -0.307151 -0.951661 1.0 +3585 1 1.72 0.0 0.0 99.1200028 0.97717 0.212461 1.0 +3586 1 1.72 1.77 1.77 99.1200028 -0.491936 -0.870631 1.0 +3587 1 1.72 1.77 0.0 100.8899994 -0.316674 0.948535 1.0 +3588 1 1.72 0.0 1.77 100.8899994 -0.042134 -0.999112 1.0 +3589 1 1.72 3.54 0.0 99.1200028 0.983919 0.178616 1.0 +3590 1 1.72 5.31 1.77 99.1200028 0.975333 0.220738 1.0 +3591 1 1.72 5.31 0.0 100.8899994 -0.961871 0.273504 1.0 +3592 1 1.72 3.54 1.77 100.8899994 0.836154 0.548495 1.0 +3593 1 1.72 7.0799999 0.0 99.1200028 -0.919923 0.392099 1.0 +3594 1 1.72 8.8500004 1.77 99.1200028 0.136485 0.990642 1.0 +3595 1 1.72 8.8500004 0.0 100.8899994 0.999617 0.0276635 1.0 +3596 1 1.72 7.0799999 1.77 100.8899994 0.641003 -0.767538 1.0 +3597 1 1.72 10.6199999 0.0 99.1200028 0.502392 0.86464 1.0 +3598 1 1.72 12.3900004 1.77 99.1200028 -0.751393 0.659855 1.0 +3599 1 1.72 12.3900004 0.0 100.8899994 0.555351 0.831616 1.0 +3600 1 1.72 10.6199999 1.77 100.8899994 0.927991 -0.372602 1.0 +3601 1 1.72 14.1599999 0.0 99.1200028 0.760951 0.648809 1.0 +3602 1 1.72 15.9300004 1.77 99.1200028 0.261953 0.965081 1.0 +3603 1 1.72 15.9300004 0.0 100.8899994 0.763384 -0.645945 1.0 +3604 1 1.72 14.1599999 1.77 100.8899994 -0.6624 0.74915 1.0 +3605 1 1.72 17.7000008 0.0 99.1200028 0.704781 0.709425 1.0 +3606 1 1.72 19.4699993 1.77 99.1200028 0.989433 -0.144987 1.0 +3607 1 1.72 19.4699993 0.0 100.8899994 -0.78694 -0.617029 1.0 +3608 1 1.72 17.7000008 1.77 100.8899994 0.934483 0.356008 1.0 +3609 1 1.72 21.2399998 0.0 99.1200028 0.867547 -0.497355 1.0 +3610 1 1.72 23.0100002 1.77 99.1200028 0.755939 -0.654642 1.0 +3611 1 1.72 23.0100002 0.0 100.8899994 -0.138166 0.990409 1.0 +3612 1 1.72 21.2399998 1.77 100.8899994 -0.714174 -0.699968 1.0 +3613 1 1.72 24.7800007 0.0 99.1200028 0.833283 0.552846 1.0 +3614 1 1.72 26.5499993 1.77 99.1200028 -0.743418 0.668827 1.0 +3615 1 1.72 26.5499993 0.0 100.8899994 -0.303156 0.952941 1.0 +3616 1 1.72 24.7800007 1.77 100.8899994 0.423099 -0.906083 1.0 +3617 1 1.72 0.0 3.54 99.1200028 0.73734 0.675522 1.0 +3618 1 1.72 1.77 5.31 99.1200028 -0.0577959 0.998328 1.0 +3619 1 1.72 1.77 3.54 100.8899994 -0.226225 -0.974075 1.0 +3620 1 1.72 0.0 5.31 100.8899994 0.473154 -0.88098 1.0 +3621 1 1.72 3.54 3.54 99.1200028 0.234345 -0.972153 1.0 +3622 1 1.72 5.31 5.31 99.1200028 0.755652 0.654973 1.0 +3623 1 1.72 5.31 3.54 100.8899994 0.267172 0.963649 1.0 +3624 1 1.72 3.54 5.31 100.8899994 -0.903747 0.428066 1.0 +3625 1 1.72 7.0799999 3.54 99.1200028 0.423355 0.905964 1.0 +3626 1 1.72 8.8500004 5.31 99.1200028 -0.330767 0.943712 1.0 +3627 1 1.72 8.8500004 3.54 100.8899994 0.96569 0.259699 1.0 +3628 1 1.72 7.0799999 5.31 100.8899994 0.706066 -0.708146 1.0 +3629 1 1.72 10.6199999 3.54 99.1200028 -0.672588 -0.740017 1.0 +3630 1 1.72 12.3900004 5.31 99.1200028 0.290661 -0.956826 1.0 +3631 1 1.72 12.3900004 3.54 100.8899994 -0.997349 -0.0727694 1.0 +3632 1 1.72 10.6199999 5.31 100.8899994 0.135865 -0.990727 1.0 +3633 1 1.72 14.1599999 3.54 99.1200028 -0.864768 0.502171 1.0 +3634 1 1.72 15.9300004 5.31 99.1200028 -0.652673 0.75764 1.0 +3635 1 1.72 15.9300004 3.54 100.8899994 0.967993 0.250976 1.0 +3636 1 1.72 14.1599999 5.31 100.8899994 0.709082 0.705126 1.0 +3637 1 1.72 17.7000008 3.54 99.1200028 0.772902 -0.634525 1.0 +3638 1 1.72 19.4699993 5.31 99.1200028 0.682809 0.730597 1.0 +3639 1 1.72 19.4699993 3.54 100.8899994 -0.991877 0.127205 1.0 +3640 1 1.72 17.7000008 5.31 100.8899994 0.248298 0.968684 1.0 +3641 1 1.72 21.2399998 3.54 99.1200028 -0.836717 0.547636 1.0 +3642 1 1.72 23.0100002 5.31 99.1200028 0.183011 0.983111 1.0 +3643 1 1.72 23.0100002 3.54 100.8899994 0.99835 -0.0574165 1.0 +3644 1 1.72 21.2399998 5.31 100.8899994 -0.575166 0.818036 1.0 +3645 1 1.72 24.7800007 3.54 99.1200028 -0.133479 -0.991052 1.0 +3646 1 1.72 26.5499993 5.31 99.1200028 0.817013 0.576619 1.0 +3647 1 1.72 26.5499993 3.54 100.8899994 0.247452 0.9689 1.0 +3648 1 1.72 24.7800007 5.31 100.8899994 0.671904 0.740638 1.0 +3649 1 1.72 0.0 7.0799999 99.1200028 0.432415 0.901674 1.0 +3650 1 1.72 1.77 8.8500004 99.1200028 0.47826 0.878218 1.0 +3651 1 1.72 1.77 7.0799999 100.8899994 0.318643 0.947875 1.0 +3652 1 1.72 0.0 8.8500004 100.8899994 0.685521 -0.728053 1.0 +3653 1 1.72 3.54 7.0799999 99.1200028 -0.501221 -0.865319 1.0 +3654 1 1.72 5.31 8.8500004 99.1200028 0.565525 0.824731 1.0 +3655 1 1.72 5.31 7.0799999 100.8899994 0.413155 0.910661 1.0 +3656 1 1.72 3.54 8.8500004 100.8899994 -0.799363 0.600848 1.0 +3657 1 1.72 7.0799999 7.0799999 99.1200028 0.406695 -0.913564 1.0 +3658 1 1.72 8.8500004 8.8500004 99.1200028 0.960337 0.278841 1.0 +3659 1 1.72 8.8500004 7.0799999 100.8899994 0.5313 -0.847184 1.0 +3660 1 1.72 7.0799999 8.8500004 100.8899994 0.0233693 -0.999727 1.0 +3661 1 1.72 10.6199999 7.0799999 99.1200028 0.703806 0.710392 1.0 +3662 1 1.72 12.3900004 8.8500004 99.1200028 -0.493613 0.869682 1.0 +3663 1 1.72 12.3900004 7.0799999 100.8899994 -0.530127 0.847918 1.0 +3664 1 1.72 10.6199999 8.8500004 100.8899994 0.726698 0.686957 1.0 +3665 1 1.72 14.1599999 7.0799999 99.1200028 0.935166 0.354211 1.0 +3666 1 1.72 15.9300004 8.8500004 99.1200028 -0.357414 0.933946 1.0 +3667 1 1.72 15.9300004 7.0799999 100.8899994 -0.518049 -0.855351 1.0 +3668 1 1.72 14.1599999 8.8500004 100.8899994 -0.00805189 -0.999968 1.0 +3669 1 1.72 17.7000008 7.0799999 99.1200028 -0.999522 -0.030916 1.0 +3670 1 1.72 19.4699993 8.8500004 99.1200028 -0.223607 -0.974679 1.0 +3671 1 1.72 19.4699993 7.0799999 100.8899994 0.747823 0.663898 1.0 +3672 1 1.72 17.7000008 8.8500004 100.8899994 0.588681 0.808365 1.0 +3673 1 1.72 21.2399998 7.0799999 99.1200028 -0.583027 -0.812453 1.0 +3674 1 1.72 23.0100002 8.8500004 99.1200028 0.147351 0.989084 1.0 +3675 1 1.72 23.0100002 7.0799999 100.8899994 0.79704 0.603927 1.0 +3676 1 1.72 21.2399998 8.8500004 100.8899994 -0.690748 0.723095 1.0 +3677 1 1.72 24.7800007 7.0799999 99.1200028 -0.588036 0.808834 1.0 +3678 1 1.72 26.5499993 8.8500004 99.1200028 0.997417 -0.0718244 1.0 +3679 1 1.72 26.5499993 7.0799999 100.8899994 0.863853 -0.503743 1.0 +3680 1 1.72 24.7800007 8.8500004 100.8899994 -0.384813 0.922995 1.0 +3681 1 1.72 0.0 10.6199999 99.1200028 -0.971507 0.237011 1.0 +3682 1 1.72 1.77 12.3900004 99.1200028 -0.954999 0.296609 1.0 +3683 1 1.72 1.77 10.6199999 100.8899994 0.721156 0.692773 1.0 +3684 1 1.72 0.0 12.3900004 100.8899994 0.904961 -0.425495 1.0 +3685 1 1.72 3.54 10.6199999 99.1200028 0.995518 -0.0945747 1.0 +3686 1 1.72 5.31 12.3900004 99.1200028 0.979656 0.200682 1.0 +3687 1 1.72 5.31 10.6199999 100.8899994 0.999999 -0.00111665 1.0 +3688 1 1.72 3.54 12.3900004 100.8899994 0.927711 0.373298 1.0 +3689 1 1.72 7.0799999 10.6199999 99.1200028 0.849534 0.527533 1.0 +3690 1 1.72 8.8500004 12.3900004 99.1200028 0.829966 0.557813 1.0 +3691 1 1.72 8.8500004 10.6199999 100.8899994 0.998504 0.05467 1.0 +3692 1 1.72 7.0799999 12.3900004 100.8899994 -0.303018 0.952985 1.0 +3693 1 1.72 10.6199999 10.6199999 99.1200028 0.422256 0.906476 1.0 +3694 1 1.72 12.3900004 12.3900004 99.1200028 -0.967191 -0.254051 1.0 +3695 1 1.72 12.3900004 10.6199999 100.8899994 0.912273 -0.409583 1.0 +3696 1 1.72 10.6199999 12.3900004 100.8899994 -0.906927 0.421289 1.0 +3697 1 1.72 14.1599999 10.6199999 99.1200028 0.154829 -0.987941 1.0 +3698 1 1.72 15.9300004 12.3900004 99.1200028 0.910839 -0.412763 1.0 +3699 1 1.72 15.9300004 10.6199999 100.8899994 0.494968 0.868911 1.0 +3700 1 1.72 14.1599999 12.3900004 100.8899994 0.951636 0.307227 1.0 +3701 1 1.72 17.7000008 10.6199999 99.1200028 0.674183 0.738564 1.0 +3702 1 1.72 19.4699993 12.3900004 99.1200028 -0.90164 0.432488 1.0 +3703 1 1.72 19.4699993 10.6199999 100.8899994 0.909317 0.416104 1.0 +3704 1 1.72 17.7000008 12.3900004 100.8899994 0.61203 0.790835 1.0 +3705 1 1.72 21.2399998 10.6199999 99.1200028 0.818038 0.575164 1.0 +3706 1 1.72 23.0100002 12.3900004 99.1200028 -0.66199 0.749513 1.0 +3707 1 1.72 23.0100002 10.6199999 100.8899994 0.711272 -0.702917 1.0 +3708 1 1.72 21.2399998 12.3900004 100.8899994 0.707629 0.706584 1.0 +3709 1 1.72 24.7800007 10.6199999 99.1200028 0.63067 0.776051 1.0 +3710 1 1.72 26.5499993 12.3900004 99.1200028 0.999835 -0.0181446 1.0 +3711 1 1.72 26.5499993 10.6199999 100.8899994 -0.538288 0.842761 1.0 +3712 1 1.72 24.7800007 12.3900004 100.8899994 0.758648 0.651501 1.0 +3713 1 1.72 0.0 0.0 102.6600037 0.261802 -0.965122 1.0 +3714 1 1.72 1.77 1.77 102.6600037 0.895976 0.444103 1.0 +3715 1 1.72 1.77 0.0 104.4300003 -0.990287 -0.139036 1.0 +3716 1 1.72 0.0 1.77 104.4300003 -0.916591 -0.399826 1.0 +3717 1 1.72 3.54 0.0 102.6600037 -0.683761 0.729706 1.0 +3718 1 1.72 5.31 1.77 102.6600037 -0.846298 -0.53271 1.0 +3719 1 1.72 5.31 0.0 104.4300003 -0.965516 -0.260343 1.0 +3720 1 1.72 3.54 1.77 104.4300003 0.541953 -0.840409 1.0 +3721 1 1.72 7.0799999 0.0 102.6600037 -0.727005 0.686632 1.0 +3722 1 1.72 8.8500004 1.77 102.6600037 0.999928 -0.0120322 1.0 +3723 1 1.72 8.8500004 0.0 104.4300003 0.840421 0.541935 1.0 +3724 1 1.72 7.0799999 1.77 104.4300003 0.880713 -0.473651 1.0 +3725 1 1.72 10.6199999 0.0 102.6600037 0.661602 0.749855 1.0 +3726 1 1.72 12.3900004 1.77 102.6600037 0.993279 -0.115742 1.0 +3727 1 1.72 12.3900004 0.0 104.4300003 -0.859574 0.511012 1.0 +3728 1 1.72 10.6199999 1.77 104.4300003 -0.775374 -0.631503 1.0 +3729 1 1.72 14.1599999 0.0 102.6600037 -0.966545 0.256497 1.0 +3730 1 1.72 15.9300004 1.77 102.6600037 -0.248109 0.968732 1.0 +3731 1 1.72 15.9300004 0.0 104.4300003 0.926382 0.376585 1.0 +3732 1 1.72 14.1599999 1.77 104.4300003 -0.542902 -0.839796 1.0 +3733 1 1.72 17.7000008 0.0 102.6600037 -0.983675 -0.179953 1.0 +3734 1 1.72 19.4699993 1.77 102.6600037 -0.813589 -0.58144 1.0 +3735 1 1.72 19.4699993 0.0 104.4300003 0.184724 -0.98279 1.0 +3736 1 1.72 17.7000008 1.77 104.4300003 -0.368999 0.92943 1.0 +3737 1 1.72 21.2399998 0.0 102.6600037 0.609569 -0.792733 1.0 +3738 1 1.72 23.0100002 1.77 102.6600037 -0.177571 -0.984108 1.0 +3739 1 1.72 23.0100002 0.0 104.4300003 0.879645 -0.475631 1.0 +3740 1 1.72 21.2399998 1.77 104.4300003 -0.204859 -0.978791 1.0 +3741 1 1.72 24.7800007 0.0 102.6600037 0.0905535 -0.995892 1.0 +3742 1 1.72 26.5499993 1.77 102.6600037 -0.610039 0.792371 1.0 +3743 1 1.72 26.5499993 0.0 104.4300003 0.998 -0.0632127 1.0 +3744 1 1.72 24.7800007 1.77 104.4300003 0.0830033 0.996549 1.0 +3745 1 1.72 0.0 3.54 102.6600037 0.0738558 0.997269 1.0 +3746 1 1.72 1.77 5.31 102.6600037 -0.934583 -0.355746 1.0 +3747 1 1.72 1.77 3.54 104.4300003 0.852763 -0.522297 1.0 +3748 1 1.72 0.0 5.31 104.4300003 -0.75275 0.658306 1.0 +3749 1 1.72 3.54 3.54 102.6600037 -0.508145 0.861271 1.0 +3750 1 1.72 5.31 5.31 102.6600037 0.595444 0.803397 1.0 +3751 1 1.72 5.31 3.54 104.4300003 -0.695896 -0.718143 1.0 +3752 1 1.72 3.54 5.31 104.4300003 0.414753 0.909934 1.0 +3753 1 1.72 7.0799999 3.54 102.6600037 0.915702 -0.401857 1.0 +3754 1 1.72 8.8500004 5.31 102.6600037 0.852196 0.523223 1.0 +3755 1 1.72 8.8500004 3.54 104.4300003 -0.38046 -0.924798 1.0 +3756 1 1.72 7.0799999 5.31 104.4300003 0.995665 0.0930095 1.0 +3757 1 1.72 10.6199999 3.54 102.6600037 -0.436227 -0.899837 1.0 +3758 1 1.72 12.3900004 5.31 102.6600037 -0.793826 0.608145 1.0 +3759 1 1.72 12.3900004 3.54 104.4300003 0.600119 -0.79991 1.0 +3760 1 1.72 10.6199999 5.31 104.4300003 0.450233 0.892911 1.0 +3761 1 1.72 14.1599999 3.54 102.6600037 0.785778 -0.618509 1.0 +3762 1 1.72 15.9300004 5.31 102.6600037 0.00331214 -0.999995 1.0 +3763 1 1.72 15.9300004 3.54 104.4300003 0.363731 0.931504 1.0 +3764 1 1.72 14.1599999 5.31 104.4300003 -0.615859 -0.787857 1.0 +3765 1 1.72 17.7000008 3.54 102.6600037 0.674207 -0.738542 1.0 +3766 1 1.72 19.4699993 5.31 102.6600037 -0.280048 -0.959986 1.0 +3767 1 1.72 19.4699993 3.54 104.4300003 -0.920669 0.390344 1.0 +3768 1 1.72 17.7000008 5.31 104.4300003 -0.839313 0.543648 1.0 +3769 1 1.72 21.2399998 3.54 102.6600037 0.262525 0.964925 1.0 +3770 1 1.72 23.0100002 5.31 102.6600037 -0.151071 0.988523 1.0 +3771 1 1.72 23.0100002 3.54 104.4300003 0.648389 -0.761309 1.0 +3772 1 1.72 21.2399998 5.31 104.4300003 -0.396848 -0.917884 1.0 +3773 1 1.72 24.7800007 3.54 102.6600037 -0.884376 -0.466775 1.0 +3774 1 1.72 26.5499993 5.31 102.6600037 -0.00172865 0.999999 1.0 +3775 1 1.72 26.5499993 3.54 104.4300003 0.982204 -0.18782 1.0 +3776 1 1.72 24.7800007 5.31 104.4300003 -0.318426 -0.947948 1.0 +3777 1 1.72 0.0 7.0799999 102.6600037 0.996844 -0.0793914 1.0 +3778 1 1.72 1.77 8.8500004 102.6600037 -0.84829 0.529532 1.0 +3779 1 1.72 1.77 7.0799999 104.4300003 -0.0473994 0.998876 1.0 +3780 1 1.72 0.0 8.8500004 104.4300003 0.142182 -0.989841 1.0 +3781 1 1.72 3.54 7.0799999 102.6600037 0.667596 -0.744523 1.0 +3782 1 1.72 5.31 8.8500004 102.6600037 -0.51325 -0.858239 1.0 +3783 1 1.72 5.31 7.0799999 104.4300003 -0.827915 0.560854 1.0 +3784 1 1.72 3.54 8.8500004 104.4300003 0.118515 -0.992952 1.0 +3785 1 1.72 7.0799999 7.0799999 102.6600037 -0.929207 0.36956 1.0 +3786 1 1.72 8.8500004 8.8500004 102.6600037 -0.668806 -0.743437 1.0 +3787 1 1.72 8.8500004 7.0799999 104.4300003 0.375016 0.927018 1.0 +3788 1 1.72 7.0799999 8.8500004 104.4300003 0.559697 0.828697 1.0 +3789 1 1.72 10.6199999 7.0799999 102.6600037 0.563142 0.82636 1.0 +3790 1 1.72 12.3900004 8.8500004 102.6600037 -0.116541 -0.993186 1.0 +3791 1 1.72 12.3900004 7.0799999 104.4300003 -0.190442 0.981698 1.0 +3792 1 1.72 10.6199999 8.8500004 104.4300003 0.981466 0.191638 1.0 +3793 1 1.72 14.1599999 7.0799999 102.6600037 0.772871 -0.634564 1.0 +3794 1 1.72 15.9300004 8.8500004 102.6600037 0.468225 -0.883609 1.0 +3795 1 1.72 15.9300004 7.0799999 104.4300003 0.677823 -0.735225 1.0 +3796 1 1.72 14.1599999 8.8500004 104.4300003 0.00946717 -0.999955 1.0 +3797 1 1.72 17.7000008 7.0799999 102.6600037 -0.0755188 0.997144 1.0 +3798 1 1.72 19.4699993 8.8500004 102.6600037 -0.996284 0.0861287 1.0 +3799 1 1.72 19.4699993 7.0799999 104.4300003 0.185216 0.982698 1.0 +3800 1 1.72 17.7000008 8.8500004 104.4300003 0.726537 0.687127 1.0 +3801 1 1.72 21.2399998 7.0799999 102.6600037 0.921165 0.389173 1.0 +3802 1 1.72 23.0100002 8.8500004 102.6600037 -0.162526 0.986704 1.0 +3803 1 1.72 23.0100002 7.0799999 104.4300003 -0.360703 -0.932681 1.0 +3804 1 1.72 21.2399998 8.8500004 104.4300003 -0.972474 0.233011 1.0 +3805 1 1.72 24.7800007 7.0799999 102.6600037 -0.783892 0.620897 1.0 +3806 1 1.72 26.5499993 8.8500004 102.6600037 -0.955162 0.296083 1.0 +3807 1 1.72 26.5499993 7.0799999 104.4300003 0.297276 0.954792 1.0 +3808 1 1.72 24.7800007 8.8500004 104.4300003 0.89877 -0.43842 1.0 +3809 1 1.72 0.0 10.6199999 102.6600037 -0.425419 -0.904997 1.0 +3810 1 1.72 1.77 12.3900004 102.6600037 -0.999828 0.018569 1.0 +3811 1 1.72 1.77 10.6199999 104.4300003 0.549137 -0.835733 1.0 +3812 1 1.72 0.0 12.3900004 104.4300003 -0.674928 0.737884 1.0 +3813 1 1.72 3.54 10.6199999 102.6600037 -0.605461 0.795875 1.0 +3814 1 1.72 5.31 12.3900004 102.6600037 0.661456 -0.749984 1.0 +3815 1 1.72 5.31 10.6199999 104.4300003 0.890713 0.454566 1.0 +3816 1 1.72 3.54 12.3900004 104.4300003 -0.701967 0.712209 1.0 +3817 1 1.72 7.0799999 10.6199999 102.6600037 0.399668 0.91666 1.0 +3818 1 1.72 8.8500004 12.3900004 102.6600037 0.0501901 -0.99874 1.0 +3819 1 1.72 8.8500004 10.6199999 104.4300003 -0.502917 -0.864335 1.0 +3820 1 1.72 7.0799999 12.3900004 104.4300003 -0.0505591 0.998721 1.0 +3821 1 1.72 10.6199999 10.6199999 102.6600037 0.341731 -0.939798 1.0 +3822 1 1.72 12.3900004 12.3900004 102.6600037 -0.570473 -0.821316 1.0 +3823 1 1.72 12.3900004 10.6199999 104.4300003 -0.655416 -0.755268 1.0 +3824 1 1.72 10.6199999 12.3900004 104.4300003 -0.454928 -0.890528 1.0 +3825 1 1.72 14.1599999 10.6199999 102.6600037 0.946298 -0.323294 1.0 +3826 1 1.72 15.9300004 12.3900004 102.6600037 0.710927 -0.703266 1.0 +3827 1 1.72 15.9300004 10.6199999 104.4300003 0.987385 -0.158335 1.0 +3828 1 1.72 14.1599999 12.3900004 104.4300003 -0.918791 -0.394745 1.0 +3829 1 1.72 17.7000008 10.6199999 102.6600037 -0.98869 -0.149977 1.0 +3830 1 1.72 19.4699993 12.3900004 102.6600037 -0.731722 0.681603 1.0 +3831 1 1.72 19.4699993 10.6199999 104.4300003 -0.0513678 -0.99868 1.0 +3832 1 1.72 17.7000008 12.3900004 104.4300003 0.993719 0.111908 1.0 +3833 1 1.72 21.2399998 10.6199999 102.6600037 -0.651626 0.75854 1.0 +3834 1 1.72 23.0100002 12.3900004 102.6600037 0.28526 -0.95845 1.0 +3835 1 1.72 23.0100002 10.6199999 104.4300003 0.973541 -0.228514 1.0 +3836 1 1.72 21.2399998 12.3900004 104.4300003 -0.909632 0.415415 1.0 +3837 1 1.72 24.7800007 10.6199999 102.6600037 0.553685 0.832726 1.0 +3838 1 1.72 26.5499993 12.3900004 102.6600037 0.339879 0.940469 1.0 +3839 1 1.72 26.5499993 10.6199999 104.4300003 -0.843075 -0.537795 1.0 +3840 1 1.72 24.7800007 12.3900004 104.4300003 -0.456334 -0.889809 1.0 +3841 1 1.72 0.0 0.0 106.199997 0.960307 0.278946 1.0 +3842 1 1.72 1.77 1.77 106.199997 -0.927242 -0.374463 1.0 +3843 1 1.72 1.77 0.0 107.9700012 0.0476906 -0.998862 1.0 +3844 1 1.72 0.0 1.77 107.9700012 -0.792381 -0.610027 1.0 +3845 1 1.72 3.54 0.0 106.199997 0.336423 -0.941711 1.0 +3846 1 1.72 5.31 1.77 106.199997 0.21866 0.975801 1.0 +3847 1 1.72 5.31 0.0 107.9700012 -0.707482 -0.706732 1.0 +3848 1 1.72 3.54 1.77 107.9700012 -0.50396 -0.863727 1.0 +3849 1 1.72 7.0799999 0.0 106.199997 0.533776 -0.845626 1.0 +3850 1 1.72 8.8500004 1.77 106.199997 0.978567 0.205927 1.0 +3851 1 1.72 8.8500004 0.0 107.9700012 -0.898709 0.438545 1.0 +3852 1 1.72 7.0799999 1.77 107.9700012 0.962017 -0.272991 1.0 +3853 1 1.72 10.6199999 0.0 106.199997 0.856909 -0.515467 1.0 +3854 1 1.72 12.3900004 1.77 106.199997 -0.543571 0.839363 1.0 +3855 1 1.72 12.3900004 0.0 107.9700012 -0.919013 -0.394228 1.0 +3856 1 1.72 10.6199999 1.77 107.9700012 0.0773071 -0.997007 1.0 +3857 1 1.72 14.1599999 0.0 106.199997 0.987897 -0.155108 1.0 +3858 1 1.72 15.9300004 1.77 106.199997 0.98567 -0.168685 1.0 +3859 1 1.72 15.9300004 0.0 107.9700012 -0.846 0.533182 1.0 +3860 1 1.72 14.1599999 1.77 107.9700012 0.795165 -0.606394 1.0 +3861 1 1.72 17.7000008 0.0 106.199997 -0.853256 0.521493 1.0 +3862 1 1.72 19.4699993 1.77 106.199997 -0.448664 0.8937 1.0 +3863 1 1.72 19.4699993 0.0 107.9700012 -0.897491 -0.441032 1.0 +3864 1 1.72 17.7000008 1.77 107.9700012 -0.250258 0.968179 1.0 +3865 1 1.72 21.2399998 0.0 106.199997 -0.0561306 0.998423 1.0 +3866 1 1.72 23.0100002 1.77 106.199997 0.999158 0.0410207 1.0 +3867 1 1.72 23.0100002 0.0 107.9700012 0.978905 -0.204318 1.0 +3868 1 1.72 21.2399998 1.77 107.9700012 -0.999309 0.0371704 1.0 +3869 1 1.72 24.7800007 0.0 106.199997 -0.972802 0.231639 1.0 +3870 1 1.72 26.5499993 1.77 106.199997 0.150185 -0.988658 1.0 +3871 1 1.72 26.5499993 0.0 107.9700012 -0.0434668 0.999055 1.0 +3872 1 1.72 24.7800007 1.77 107.9700012 -0.622679 -0.782478 1.0 +3873 1 1.72 0.0 3.54 106.199997 -0.328441 -0.944525 1.0 +3874 1 1.72 1.77 5.31 106.199997 0.695205 0.718812 1.0 +3875 1 1.72 1.77 3.54 107.9700012 -0.581661 -0.813431 1.0 +3876 1 1.72 0.0 5.31 107.9700012 0.492607 0.870252 1.0 +3877 1 1.72 3.54 3.54 106.199997 -0.979431 -0.201779 1.0 +3878 1 1.72 5.31 5.31 106.199997 -0.016852 -0.999858 1.0 +3879 1 1.72 5.31 3.54 107.9700012 0.325487 0.945547 1.0 +3880 1 1.72 3.54 5.31 107.9700012 0.973924 -0.226873 1.0 +3881 1 1.72 7.0799999 3.54 106.199997 -0.996659 0.0816776 1.0 +3882 1 1.72 8.8500004 5.31 106.199997 -0.716455 0.697633 1.0 +3883 1 1.72 8.8500004 3.54 107.9700012 0.999776 -0.0211478 1.0 +3884 1 1.72 7.0799999 5.31 107.9700012 -0.562575 0.826746 1.0 +3885 1 1.72 10.6199999 3.54 106.199997 -0.950363 0.311143 1.0 +3886 1 1.72 12.3900004 5.31 106.199997 -0.461977 0.886892 1.0 +3887 1 1.72 12.3900004 3.54 107.9700012 0.741696 -0.670736 1.0 +3888 1 1.72 10.6199999 5.31 107.9700012 0.208347 -0.978055 1.0 +3889 1 1.72 14.1599999 3.54 106.199997 0.299716 -0.954028 1.0 +3890 1 1.72 15.9300004 5.31 106.199997 0.732409 0.680865 1.0 +3891 1 1.72 15.9300004 3.54 107.9700012 -0.868334 0.49598 1.0 +3892 1 1.72 14.1599999 5.31 107.9700012 0.861322 -0.50806 1.0 +3893 1 1.72 17.7000008 3.54 106.199997 0.902595 0.43049 1.0 +3894 1 1.72 19.4699993 5.31 106.199997 -0.766049 0.642782 1.0 +3895 1 1.72 19.4699993 3.54 107.9700012 -0.116451 0.993196 1.0 +3896 1 1.72 17.7000008 5.31 107.9700012 -0.834837 0.550498 1.0 +3897 1 1.72 21.2399998 3.54 106.199997 -0.717114 -0.696956 1.0 +3898 1 1.72 23.0100002 5.31 106.199997 -0.968487 0.249064 1.0 +3899 1 1.72 23.0100002 3.54 107.9700012 0.710185 0.704015 1.0 +3900 1 1.72 21.2399998 5.31 107.9700012 0.601973 -0.798516 1.0 +3901 1 1.72 24.7800007 3.54 106.199997 -0.847688 -0.530495 1.0 +3902 1 1.72 26.5499993 5.31 106.199997 0.162678 0.986679 1.0 +3903 1 1.72 26.5499993 3.54 107.9700012 0.746444 -0.665448 1.0 +3904 1 1.72 24.7800007 5.31 107.9700012 0.527194 -0.849745 1.0 +3905 1 1.72 0.0 7.0799999 106.199997 -0.0963276 -0.99535 1.0 +3906 1 1.72 1.77 8.8500004 106.199997 -0.543142 0.839641 1.0 +3907 1 1.72 1.77 7.0799999 107.9700012 -0.719015 -0.694994 1.0 +3908 1 1.72 0.0 8.8500004 107.9700012 0.447568 0.89425 1.0 +3909 1 1.72 3.54 7.0799999 106.199997 -0.60873 0.793377 1.0 +3910 1 1.72 5.31 8.8500004 106.199997 0.158682 0.98733 1.0 +3911 1 1.72 5.31 7.0799999 107.9700012 0.693748 -0.720218 1.0 +3912 1 1.72 3.54 8.8500004 107.9700012 0.107307 0.994226 1.0 +3913 1 1.72 7.0799999 7.0799999 106.199997 -0.0720405 0.997402 1.0 +3914 1 1.72 8.8500004 8.8500004 106.199997 -0.361666 0.932308 1.0 +3915 1 1.72 8.8500004 7.0799999 107.9700012 0.986552 0.163449 1.0 +3916 1 1.72 7.0799999 8.8500004 107.9700012 0.868363 0.495929 1.0 +3917 1 1.72 10.6199999 7.0799999 106.199997 0.733777 -0.67939 1.0 +3918 1 1.72 12.3900004 8.8500004 106.199997 -0.652751 -0.757573 1.0 +3919 1 1.72 12.3900004 7.0799999 107.9700012 -0.438125 -0.898914 1.0 +3920 1 1.72 10.6199999 8.8500004 107.9700012 0.707682 -0.706531 1.0 +3921 1 1.72 14.1599999 7.0799999 106.199997 -0.53277 0.84626 1.0 +3922 1 1.72 15.9300004 8.8500004 106.199997 -0.46678 -0.884373 1.0 +3923 1 1.72 15.9300004 7.0799999 107.9700012 0.934522 -0.355904 1.0 +3924 1 1.72 14.1599999 8.8500004 107.9700012 -0.965506 -0.260382 1.0 +3925 1 1.72 17.7000008 7.0799999 106.199997 0.730079 -0.683363 1.0 +3926 1 1.72 19.4699993 8.8500004 106.199997 0.660283 0.751017 1.0 +3927 1 1.72 19.4699993 7.0799999 107.9700012 0.475568 0.879679 1.0 +3928 1 1.72 17.7000008 8.8500004 107.9700012 0.140789 0.99004 1.0 +3929 1 1.72 21.2399998 7.0799999 106.199997 -0.748472 -0.663166 1.0 +3930 1 1.72 23.0100002 8.8500004 106.199997 0.391139 0.920331 1.0 +3931 1 1.72 23.0100002 7.0799999 107.9700012 -0.199604 0.979877 1.0 +3932 1 1.72 21.2399998 8.8500004 107.9700012 0.735837 0.677159 1.0 +3933 1 1.72 24.7800007 7.0799999 106.199997 -0.999983 0.0058278 1.0 +3934 1 1.72 26.5499993 8.8500004 106.199997 0.689325 -0.724452 1.0 +3935 1 1.72 26.5499993 7.0799999 107.9700012 0.192712 -0.981255 1.0 +3936 1 1.72 24.7800007 8.8500004 107.9700012 0.999924 0.0123622 1.0 +3937 1 1.72 0.0 10.6199999 106.199997 -0.612019 -0.790843 1.0 +3938 1 1.72 1.77 12.3900004 106.199997 -0.516218 0.856458 1.0 +3939 1 1.72 1.77 10.6199999 107.9700012 0.799726 -0.600365 1.0 +3940 1 1.72 0.0 12.3900004 107.9700012 0.494981 -0.868904 1.0 +3941 1 1.72 3.54 10.6199999 106.199997 -0.905805 0.423696 1.0 +3942 1 1.72 5.31 12.3900004 106.199997 -0.598522 -0.801106 1.0 +3943 1 1.72 5.31 10.6199999 107.9700012 -0.753793 0.657112 1.0 +3944 1 1.72 3.54 12.3900004 107.9700012 0.973375 -0.22922 1.0 +3945 1 1.72 7.0799999 10.6199999 106.199997 0.506557 -0.862206 1.0 +3946 1 1.72 8.8500004 12.3900004 106.199997 0.985276 -0.170969 1.0 +3947 1 1.72 8.8500004 10.6199999 107.9700012 -0.313318 -0.949648 1.0 +3948 1 1.72 7.0799999 12.3900004 107.9700012 -0.589613 0.807686 1.0 +3949 1 1.72 10.6199999 10.6199999 106.199997 0.375174 -0.926955 1.0 +3950 1 1.72 12.3900004 12.3900004 106.199997 -0.979354 0.202153 1.0 +3951 1 1.72 12.3900004 10.6199999 107.9700012 -0.840759 -0.541409 1.0 +3952 1 1.72 10.6199999 12.3900004 107.9700012 -0.835765 -0.549088 1.0 +3953 1 1.72 14.1599999 10.6199999 106.199997 0.878717 -0.477343 1.0 +3954 1 1.72 15.9300004 12.3900004 106.199997 0.98514 -0.171756 1.0 +3955 1 1.72 15.9300004 10.6199999 107.9700012 -0.708064 0.706148 1.0 +3956 1 1.72 14.1599999 12.3900004 107.9700012 -0.626906 -0.779095 1.0 +3957 1 1.72 17.7000008 10.6199999 106.199997 0.95746 0.288566 1.0 +3958 1 1.72 19.4699993 12.3900004 106.199997 -0.915968 0.401251 1.0 +3959 1 1.72 19.4699993 10.6199999 107.9700012 0.76193 -0.64766 1.0 +3960 1 1.72 17.7000008 12.3900004 107.9700012 0.838295 0.545216 1.0 +3961 1 1.72 21.2399998 10.6199999 106.199997 -0.615611 0.78805 1.0 +3962 1 1.72 23.0100002 12.3900004 106.199997 0.929118 0.369784 1.0 +3963 1 1.72 23.0100002 10.6199999 107.9700012 0.996543 0.0830754 1.0 +3964 1 1.72 21.2399998 12.3900004 107.9700012 -0.63503 -0.772487 1.0 +3965 1 1.72 24.7800007 10.6199999 106.199997 -0.961555 0.274614 1.0 +3966 1 1.72 26.5499993 12.3900004 106.199997 0.573015 -0.819545 1.0 +3967 1 1.72 26.5499993 10.6199999 107.9700012 -0.938459 -0.34539 1.0 +3968 1 1.72 24.7800007 12.3900004 107.9700012 0.956815 -0.290699 1.0 +3969 1 1.72 0.0 0.0 109.7399979 -0.999999 -0.00129561 1.0 +3970 1 1.72 1.77 1.77 109.7399979 0.557819 -0.829963 1.0 +3971 1 1.72 1.77 0.0 111.5100022 -0.544056 -0.839049 1.0 +3972 1 1.72 0.0 1.77 111.5100022 0.98669 -0.162615 1.0 +3973 1 1.72 3.54 0.0 109.7399979 -0.564987 0.8251 1.0 +3974 1 1.72 5.31 1.77 109.7399979 -0.504612 0.863346 1.0 +3975 1 1.72 5.31 0.0 111.5100022 0.282509 0.959265 1.0 +3976 1 1.72 3.54 1.77 111.5100022 0.306493 -0.951873 1.0 +3977 1 1.72 7.0799999 0.0 109.7399979 -0.873733 -0.486405 1.0 +3978 1 1.72 8.8500004 1.77 109.7399979 0.972973 -0.230918 1.0 +3979 1 1.72 8.8500004 0.0 111.5100022 0.996378 -0.0850313 1.0 +3980 1 1.72 7.0799999 1.77 111.5100022 -0.183381 -0.983042 1.0 +3981 1 1.72 10.6199999 0.0 109.7399979 -0.434613 0.900617 1.0 +3982 1 1.72 12.3900004 1.77 109.7399979 -0.86129 -0.508113 1.0 +3983 1 1.72 12.3900004 0.0 111.5100022 0.0746769 -0.997208 1.0 +3984 1 1.72 10.6199999 1.77 111.5100022 0.0399015 -0.999204 1.0 +3985 1 1.72 14.1599999 0.0 109.7399979 0.37973 -0.925098 1.0 +3986 1 1.72 15.9300004 1.77 109.7399979 -0.691936 0.721959 1.0 +3987 1 1.72 15.9300004 0.0 111.5100022 -0.858404 0.512974 1.0 +3988 1 1.72 14.1599999 1.77 111.5100022 0.799193 0.601075 1.0 +3989 1 1.72 17.7000008 0.0 109.7399979 0.279409 0.960172 1.0 +3990 1 1.72 19.4699993 1.77 109.7399979 0.999733 -0.0231141 1.0 +3991 1 1.72 19.4699993 0.0 111.5100022 -0.796452 -0.604702 1.0 +3992 1 1.72 17.7000008 1.77 111.5100022 0.343068 0.93931 1.0 +3993 1 1.72 21.2399998 0.0 109.7399979 -0.78901 -0.614381 1.0 +3994 1 1.72 23.0100002 1.77 109.7399979 0.37331 -0.927706 1.0 +3995 1 1.72 23.0100002 0.0 111.5100022 0.834787 0.550573 1.0 +3996 1 1.72 21.2399998 1.77 111.5100022 0.307436 -0.951569 1.0 +3997 1 1.72 24.7800007 0.0 109.7399979 -0.526179 0.850374 1.0 +3998 1 1.72 26.5499993 1.77 109.7399979 -0.23104 -0.972944 1.0 +3999 1 1.72 26.5499993 0.0 111.5100022 0.756813 0.653631 1.0 +4000 1 1.72 24.7800007 1.77 111.5100022 0.799902 0.600131 1.0 +4001 1 1.72 0.0 3.54 109.7399979 0.948664 -0.316287 1.0 +4002 1 1.72 1.77 5.31 109.7399979 0.767445 -0.641115 1.0 +4003 1 1.72 1.77 3.54 111.5100022 -0.97071 -0.240252 1.0 +4004 1 1.72 0.0 5.31 111.5100022 -0.565081 -0.825036 1.0 +4005 1 1.72 3.54 3.54 109.7399979 -0.786116 -0.618079 1.0 +4006 1 1.72 5.31 5.31 109.7399979 0.504339 0.863506 1.0 +4007 1 1.72 5.31 3.54 111.5100022 -0.995646 -0.0932171 1.0 +4008 1 1.72 3.54 5.31 111.5100022 0.559559 0.82879 1.0 +4009 1 1.72 7.0799999 3.54 109.7399979 0.419805 0.907614 1.0 +4010 1 1.72 8.8500004 5.31 109.7399979 -0.799504 -0.600661 1.0 +4011 1 1.72 8.8500004 3.54 111.5100022 -0.813297 0.581848 1.0 +4012 1 1.72 7.0799999 5.31 111.5100022 0.487255 -0.87326 1.0 +4013 1 1.72 10.6199999 3.54 109.7399979 0.299075 0.954229 1.0 +4014 1 1.72 12.3900004 5.31 109.7399979 -0.820768 -0.571261 1.0 +4015 1 1.72 12.3900004 3.54 111.5100022 -0.597352 -0.801979 1.0 +4016 1 1.72 10.6199999 5.31 111.5100022 -0.0653339 0.997863 1.0 +4017 1 1.72 14.1599999 3.54 109.7399979 -0.223887 -0.974615 1.0 +4018 1 1.72 15.9300004 5.31 109.7399979 0.515491 -0.856895 1.0 +4019 1 1.72 15.9300004 3.54 111.5100022 0.378303 -0.925682 1.0 +4020 1 1.72 14.1599999 5.31 111.5100022 -0.71936 -0.694637 1.0 +4021 1 1.72 17.7000008 3.54 109.7399979 0.768333 -0.640051 1.0 +4022 1 1.72 19.4699993 5.31 109.7399979 0.903813 0.427929 1.0 +4023 1 1.72 19.4699993 3.54 111.5100022 -0.524067 0.851677 1.0 +4024 1 1.72 17.7000008 5.31 111.5100022 0.653302 0.757098 1.0 +4025 1 1.72 21.2399998 3.54 109.7399979 0.858177 -0.513355 1.0 +4026 1 1.72 23.0100002 5.31 109.7399979 0.966281 0.25749 1.0 +4027 1 1.72 23.0100002 3.54 111.5100022 0.772202 0.635377 1.0 +4028 1 1.72 21.2399998 5.31 111.5100022 -0.936659 0.350242 1.0 +4029 1 1.72 24.7800007 3.54 109.7399979 -0.196323 -0.980539 1.0 +4030 1 1.72 26.5499993 5.31 109.7399979 0.898659 0.438647 1.0 +4031 1 1.72 26.5499993 3.54 111.5100022 0.368117 0.929779 1.0 +4032 1 1.72 24.7800007 5.31 111.5100022 -0.521287 0.853381 1.0 +4033 1 1.72 0.0 7.0799999 109.7399979 0.361984 0.932184 1.0 +4034 1 1.72 1.77 8.8500004 109.7399979 0.90649 0.422226 1.0 +4035 1 1.72 1.77 7.0799999 111.5100022 0.645689 -0.7636 1.0 +4036 1 1.72 0.0 8.8500004 111.5100022 0.312671 0.949861 1.0 +4037 1 1.72 3.54 7.0799999 109.7399979 -0.144406 0.989519 1.0 +4038 1 1.72 5.31 8.8500004 109.7399979 0.909845 0.414948 1.0 +4039 1 1.72 5.31 7.0799999 111.5100022 -0.837491 -0.546452 1.0 +4040 1 1.72 3.54 8.8500004 111.5100022 0.78324 -0.621719 1.0 +4041 1 1.72 7.0799999 7.0799999 109.7399979 0.853462 -0.521155 1.0 +4042 1 1.72 8.8500004 8.8500004 109.7399979 -0.480505 0.876992 1.0 +4043 1 1.72 8.8500004 7.0799999 111.5100022 0.736961 0.675935 1.0 +4044 1 1.72 7.0799999 8.8500004 111.5100022 -0.298895 0.954286 1.0 +4045 1 1.72 10.6199999 7.0799999 109.7399979 0.167008 -0.985956 1.0 +4046 1 1.72 12.3900004 8.8500004 109.7399979 -0.328869 0.944376 1.0 +4047 1 1.72 12.3900004 7.0799999 111.5100022 -0.772391 -0.635148 1.0 +4048 1 1.72 10.6199999 8.8500004 111.5100022 -0.498136 -0.867099 1.0 +4049 1 1.72 14.1599999 7.0799999 109.7399979 -0.766903 0.641763 1.0 +4050 1 1.72 15.9300004 8.8500004 109.7399979 0.429842 0.902904 1.0 +4051 1 1.72 15.9300004 7.0799999 111.5100022 0.209351 0.977841 1.0 +4052 1 1.72 14.1599999 8.8500004 111.5100022 0.371151 0.928573 1.0 +4053 1 1.72 17.7000008 7.0799999 109.7399979 0.735828 0.677168 1.0 +4054 1 1.72 19.4699993 8.8500004 109.7399979 0.887593 0.460628 1.0 +4055 1 1.72 19.4699993 7.0799999 111.5100022 -0.916168 -0.400796 1.0 +4056 1 1.72 17.7000008 8.8500004 111.5100022 -0.652254 -0.758 1.0 +4057 1 1.72 21.2399998 7.0799999 109.7399979 -0.447368 0.89435 1.0 +4058 1 1.72 23.0100002 8.8500004 109.7399979 -0.00640979 0.999979 1.0 +4059 1 1.72 23.0100002 7.0799999 111.5100022 0.520215 -0.854035 1.0 +4060 1 1.72 21.2399998 8.8500004 111.5100022 -0.218168 0.975911 1.0 +4061 1 1.72 24.7800007 7.0799999 109.7399979 -0.578442 0.815724 1.0 +4062 1 1.72 26.5499993 8.8500004 109.7399979 0.951542 -0.307519 1.0 +4063 1 1.72 26.5499993 7.0799999 111.5100022 0.436586 -0.899663 1.0 +4064 1 1.72 24.7800007 8.8500004 111.5100022 0.145185 0.989405 1.0 +4065 1 1.72 0.0 10.6199999 109.7399979 0.575029 0.818133 1.0 +4066 1 1.72 1.77 12.3900004 109.7399979 0.992461 -0.122558 1.0 +4067 1 1.72 1.77 10.6199999 111.5100022 0.1306 -0.991435 1.0 +4068 1 1.72 0.0 12.3900004 111.5100022 0.689887 0.723917 1.0 +4069 1 1.72 3.54 10.6199999 109.7399979 0.373424 0.927661 1.0 +4070 1 1.72 5.31 12.3900004 109.7399979 0.995812 -0.09143 1.0 +4071 1 1.72 5.31 10.6199999 111.5100022 -0.367508 0.93002 1.0 +4072 1 1.72 3.54 12.3900004 111.5100022 0.654797 -0.755805 1.0 +4073 1 1.72 7.0799999 10.6199999 109.7399979 -0.282991 0.959123 1.0 +4074 1 1.72 8.8500004 12.3900004 109.7399979 0.559513 0.828821 1.0 +4075 1 1.72 8.8500004 10.6199999 111.5100022 -0.0776533 0.99698 1.0 +4076 1 1.72 7.0799999 12.3900004 111.5100022 -0.966288 -0.257465 1.0 +4077 1 1.72 10.6199999 10.6199999 109.7399979 -0.300124 -0.9539 1.0 +4078 1 1.72 12.3900004 12.3900004 109.7399979 -0.314826 -0.94915 1.0 +4079 1 1.72 12.3900004 10.6199999 111.5100022 0.999849 0.0173788 1.0 +4080 1 1.72 10.6199999 12.3900004 111.5100022 -0.842134 -0.539269 1.0 +4081 1 1.72 14.1599999 10.6199999 109.7399979 0.504361 0.863493 1.0 +4082 1 1.72 15.9300004 12.3900004 109.7399979 0.719213 0.69479 1.0 +4083 1 1.72 15.9300004 10.6199999 111.5100022 0.617592 -0.786499 1.0 +4084 1 1.72 14.1599999 12.3900004 111.5100022 -0.293393 -0.955992 1.0 +4085 1 1.72 17.7000008 10.6199999 109.7399979 0.983653 0.180077 1.0 +4086 1 1.72 19.4699993 12.3900004 109.7399979 -0.729111 0.684395 1.0 +4087 1 1.72 19.4699993 10.6199999 111.5100022 0.677002 0.735981 1.0 +4088 1 1.72 17.7000008 12.3900004 111.5100022 0.331645 0.943404 1.0 +4089 1 1.72 21.2399998 10.6199999 109.7399979 0.609146 -0.793058 1.0 +4090 1 1.72 23.0100002 12.3900004 109.7399979 -0.585077 -0.810978 1.0 +4091 1 1.72 23.0100002 10.6199999 111.5100022 0.691005 -0.72285 1.0 +4092 1 1.72 21.2399998 12.3900004 111.5100022 0.987317 -0.158764 1.0 +4093 1 1.72 24.7800007 10.6199999 109.7399979 0.273885 -0.961762 1.0 +4094 1 1.72 26.5499993 12.3900004 109.7399979 -0.82144 0.570295 1.0 +4095 1 1.72 26.5499993 10.6199999 111.5100022 -0.27645 -0.961028 1.0 +4096 1 1.72 24.7800007 12.3900004 111.5100022 -0.101964 0.994788 1.0 +4097 1 1.72 0.0 14.1599999 0.0 -0.906034 0.423205 1.0 +4098 1 1.72 1.77 15.9300004 0.0 0.581947 -0.813227 1.0 +4099 1 1.72 1.77 14.1599999 1.77 -0.999891 0.014789 1.0 +4100 1 1.72 0.0 15.9300004 1.77 -0.213523 -0.976938 1.0 +4101 1 1.72 3.54 14.1599999 0.0 -0.127281 -0.991867 1.0 +4102 1 1.72 5.31 15.9300004 0.0 0.995214 0.0977173 1.0 +4103 1 1.72 5.31 14.1599999 1.77 -0.902401 0.430897 1.0 +4104 1 1.72 3.54 15.9300004 1.77 -0.498825 -0.866703 1.0 +4105 1 1.72 7.0799999 14.1599999 0.0 0.915977 0.401231 1.0 +4106 1 1.72 8.8500004 15.9300004 0.0 0.624968 0.78065 1.0 +4107 1 1.72 8.8500004 14.1599999 1.77 0.345997 0.938236 1.0 +4108 1 1.72 7.0799999 15.9300004 1.77 0.836886 -0.547378 1.0 +4109 1 1.72 10.6199999 14.1599999 0.0 -0.989252 0.146221 1.0 +4110 1 1.72 12.3900004 15.9300004 0.0 -0.868683 -0.495368 1.0 +4111 1 1.72 12.3900004 14.1599999 1.77 -0.358349 0.933588 1.0 +4112 1 1.72 10.6199999 15.9300004 1.77 0.990304 -0.138919 1.0 +4113 1 1.72 14.1599999 14.1599999 0.0 0.818657 -0.574282 1.0 +4114 1 1.72 15.9300004 15.9300004 0.0 0.0112595 0.999937 1.0 +4115 1 1.72 15.9300004 14.1599999 1.77 0.94866 0.316297 1.0 +4116 1 1.72 14.1599999 15.9300004 1.77 0.69911 -0.715014 1.0 +4117 1 1.72 17.7000008 14.1599999 0.0 0.895863 0.444331 1.0 +4118 1 1.72 19.4699993 15.9300004 0.0 -0.173542 0.984826 1.0 +4119 1 1.72 19.4699993 14.1599999 1.77 0.807211 -0.590263 1.0 +4120 1 1.72 17.7000008 15.9300004 1.77 0.376604 0.926374 1.0 +4121 1 1.72 21.2399998 14.1599999 0.0 -0.991888 0.127114 1.0 +4122 1 1.72 23.0100002 15.9300004 0.0 -0.680313 0.732922 1.0 +4123 1 1.72 23.0100002 14.1599999 1.77 0.993969 0.109658 1.0 +4124 1 1.72 21.2399998 15.9300004 1.77 -0.182459 0.983213 1.0 +4125 1 1.72 24.7800007 14.1599999 0.0 -0.0302116 -0.999544 1.0 +4126 1 1.72 26.5499993 15.9300004 0.0 -0.723672 0.690144 1.0 +4127 1 1.72 26.5499993 14.1599999 1.77 0.0644942 -0.997918 1.0 +4128 1 1.72 24.7800007 15.9300004 1.77 0.610107 0.792319 1.0 +4129 1 1.72 0.0 17.7000008 0.0 -0.680255 -0.732976 1.0 +4130 1 1.72 1.77 19.4699993 0.0 0.469961 0.882687 1.0 +4131 1 1.72 1.77 17.7000008 1.77 0.535736 -0.844385 1.0 +4132 1 1.72 0.0 19.4699993 1.77 -0.816064 0.577962 1.0 +4133 1 1.72 3.54 17.7000008 0.0 0.740305 -0.672271 1.0 +4134 1 1.72 5.31 19.4699993 0.0 0.82493 -0.565234 1.0 +4135 1 1.72 5.31 17.7000008 1.77 -0.604299 -0.796758 1.0 +4136 1 1.72 3.54 19.4699993 1.77 -0.849746 -0.527192 1.0 +4137 1 1.72 7.0799999 17.7000008 0.0 -0.610688 -0.791871 1.0 +4138 1 1.72 8.8500004 19.4699993 0.0 -0.661152 -0.750252 1.0 +4139 1 1.72 8.8500004 17.7000008 1.77 -0.666197 -0.745775 1.0 +4140 1 1.72 7.0799999 19.4699993 1.77 -0.558117 0.829763 1.0 +4141 1 1.72 10.6199999 17.7000008 0.0 -0.828657 0.559757 1.0 +4142 1 1.72 12.3900004 19.4699993 0.0 0.983206 0.182501 1.0 +4143 1 1.72 12.3900004 17.7000008 1.77 0.806782 0.59085 1.0 +4144 1 1.72 10.6199999 19.4699993 1.77 -0.992463 0.122541 1.0 +4145 1 1.72 14.1599999 17.7000008 0.0 0.93155 -0.363615 1.0 +4146 1 1.72 15.9300004 19.4699993 0.0 -0.839313 0.543649 1.0 +4147 1 1.72 15.9300004 17.7000008 1.77 -0.970009 -0.243068 1.0 +4148 1 1.72 14.1599999 19.4699993 1.77 0.711394 -0.702793 1.0 +4149 1 1.72 17.7000008 17.7000008 0.0 0.796734 -0.60433 1.0 +4150 1 1.72 19.4699993 19.4699993 0.0 0.873484 0.486854 1.0 +4151 1 1.72 19.4699993 17.7000008 1.77 0.979112 0.203323 1.0 +4152 1 1.72 17.7000008 19.4699993 1.77 0.889848 0.456258 1.0 +4153 1 1.72 21.2399998 17.7000008 0.0 0.941633 0.336641 1.0 +4154 1 1.72 23.0100002 19.4699993 0.0 0.56189 0.827212 1.0 +4155 1 1.72 23.0100002 17.7000008 1.77 0.693812 -0.720156 1.0 +4156 1 1.72 21.2399998 19.4699993 1.77 -0.683189 -0.730242 1.0 +4157 1 1.72 24.7800007 17.7000008 0.0 -0.943901 -0.330227 1.0 +4158 1 1.72 26.5499993 19.4699993 0.0 0.0909536 0.995855 1.0 +4159 1 1.72 26.5499993 17.7000008 1.77 -0.308876 -0.951102 1.0 +4160 1 1.72 24.7800007 19.4699993 1.77 -0.0183604 -0.999831 1.0 +4161 1 1.72 0.0 21.2399998 0.0 0.413302 0.910594 1.0 +4162 1 1.72 1.77 23.0100002 0.0 0.896721 -0.442597 1.0 +4163 1 1.72 1.77 21.2399998 1.77 0.602859 -0.797848 1.0 +4164 1 1.72 0.0 23.0100002 1.77 -0.555015 0.83184 1.0 +4165 1 1.72 3.54 21.2399998 0.0 0.861271 -0.508146 1.0 +4166 1 1.72 5.31 23.0100002 0.0 -0.827573 0.561358 1.0 +4167 1 1.72 5.31 21.2399998 1.77 -0.948175 -0.317748 1.0 +4168 1 1.72 3.54 23.0100002 1.77 0.964396 -0.264461 1.0 +4169 1 1.72 7.0799999 21.2399998 0.0 -0.974275 0.225362 1.0 +4170 1 1.72 8.8500004 23.0100002 0.0 0.935955 -0.352121 1.0 +4171 1 1.72 8.8500004 21.2399998 1.77 0.750418 -0.660964 1.0 +4172 1 1.72 7.0799999 23.0100002 1.77 0.916428 -0.4002 1.0 +4173 1 1.72 10.6199999 21.2399998 0.0 0.91538 0.402591 1.0 +4174 1 1.72 12.3900004 23.0100002 0.0 -0.859466 0.511194 1.0 +4175 1 1.72 12.3900004 21.2399998 1.77 -0.555287 -0.831659 1.0 +4176 1 1.72 10.6199999 23.0100002 1.77 0.207272 -0.978283 1.0 +4177 1 1.72 14.1599999 21.2399998 0.0 0.857398 -0.514654 1.0 +4178 1 1.72 15.9300004 23.0100002 0.0 0.936873 0.34967 1.0 +4179 1 1.72 15.9300004 21.2399998 1.77 0.784568 -0.620043 1.0 +4180 1 1.72 14.1599999 23.0100002 1.77 0.89547 -0.445122 1.0 +4181 1 1.72 17.7000008 21.2399998 0.0 0.252741 0.967534 1.0 +4182 1 1.72 19.4699993 23.0100002 0.0 0.84118 0.540755 1.0 +4183 1 1.72 19.4699993 21.2399998 1.77 -0.999718 0.0237346 1.0 +4184 1 1.72 17.7000008 23.0100002 1.77 0.292675 0.956212 1.0 +4185 1 1.72 21.2399998 21.2399998 0.0 -0.935117 0.354338 1.0 +4186 1 1.72 23.0100002 23.0100002 0.0 -0.995583 0.0938906 1.0 +4187 1 1.72 23.0100002 21.2399998 1.77 -0.805178 0.593033 1.0 +4188 1 1.72 21.2399998 23.0100002 1.77 -0.714583 -0.699551 1.0 +4189 1 1.72 24.7800007 21.2399998 0.0 -0.622394 -0.782704 1.0 +4190 1 1.72 26.5499993 23.0100002 0.0 -0.339368 0.940654 1.0 +4191 1 1.72 26.5499993 21.2399998 1.77 -0.364913 0.931042 1.0 +4192 1 1.72 24.7800007 23.0100002 1.77 0.413938 -0.910305 1.0 +4193 1 1.72 0.0 24.7800007 0.0 0.941589 0.336764 1.0 +4194 1 1.72 1.77 26.5499993 0.0 -0.0877957 0.996139 1.0 +4195 1 1.72 1.77 24.7800007 1.77 0.500255 0.865878 1.0 +4196 1 1.72 0.0 26.5499993 1.77 0.958166 0.286213 1.0 +4197 1 1.72 3.54 24.7800007 0.0 -0.632287 0.774734 1.0 +4198 1 1.72 5.31 26.5499993 0.0 0.501879 -0.864938 1.0 +4199 1 1.72 5.31 24.7800007 1.77 0.86251 0.506039 1.0 +4200 1 1.72 3.54 26.5499993 1.77 -0.566216 -0.824257 1.0 +4201 1 1.72 7.0799999 24.7800007 0.0 0.998724 -0.0504941 1.0 +4202 1 1.72 8.8500004 26.5499993 0.0 0.996394 0.0848417 1.0 +4203 1 1.72 8.8500004 24.7800007 1.77 -0.404339 0.914609 1.0 +4204 1 1.72 7.0799999 26.5499993 1.77 0.813068 -0.582169 1.0 +4205 1 1.72 10.6199999 24.7800007 0.0 0.836673 0.547703 1.0 +4206 1 1.72 12.3900004 26.5499993 0.0 -0.999935 0.0114234 1.0 +4207 1 1.72 12.3900004 24.7800007 1.77 -0.272725 0.962092 1.0 +4208 1 1.72 10.6199999 26.5499993 1.77 0.192373 0.981322 1.0 +4209 1 1.72 14.1599999 24.7800007 0.0 -0.349785 0.93683 1.0 +4210 1 1.72 15.9300004 26.5499993 0.0 0.271929 -0.962317 1.0 +4211 1 1.72 15.9300004 24.7800007 1.77 0.107153 0.994243 1.0 +4212 1 1.72 14.1599999 26.5499993 1.77 0.593709 0.80468 1.0 +4213 1 1.72 17.7000008 24.7800007 0.0 -0.711199 0.702991 1.0 +4214 1 1.72 19.4699993 26.5499993 0.0 0.308245 0.951307 1.0 +4215 1 1.72 19.4699993 24.7800007 1.77 0.699562 0.714572 1.0 +4216 1 1.72 17.7000008 26.5499993 1.77 -0.389307 -0.921108 1.0 +4217 1 1.72 21.2399998 24.7800007 0.0 -0.639104 0.76912 1.0 +4218 1 1.72 23.0100002 26.5499993 0.0 -0.714226 0.699915 1.0 +4219 1 1.72 23.0100002 24.7800007 1.77 0.990529 -0.137302 1.0 +4220 1 1.72 21.2399998 26.5499993 1.77 0.657794 0.753197 1.0 +4221 1 1.72 24.7800007 24.7800007 0.0 -0.825371 -0.56459 1.0 +4222 1 1.72 26.5499993 26.5499993 0.0 -0.960574 -0.278026 1.0 +4223 1 1.72 26.5499993 24.7800007 1.77 0.768008 -0.64044 1.0 +4224 1 1.72 24.7800007 26.5499993 1.77 -0.937179 -0.348849 1.0 +4225 1 1.72 0.0 14.1599999 3.54 0.220793 -0.975321 1.0 +4226 1 1.72 1.77 15.9300004 3.54 0.723517 -0.690306 1.0 +4227 1 1.72 1.77 14.1599999 5.31 0.8586 0.512646 1.0 +4228 1 1.72 0.0 15.9300004 5.31 -0.210869 -0.977514 1.0 +4229 1 1.72 3.54 14.1599999 3.54 -0.0193038 0.999814 1.0 +4230 1 1.72 5.31 15.9300004 3.54 -0.982615 -0.185653 1.0 +4231 1 1.72 5.31 14.1599999 5.31 0.558535 0.829481 1.0 +4232 1 1.72 3.54 15.9300004 5.31 -0.720748 -0.693197 1.0 +4233 1 1.72 7.0799999 14.1599999 3.54 -0.933602 -0.358312 1.0 +4234 1 1.72 8.8500004 15.9300004 3.54 -0.657004 -0.753887 1.0 +4235 1 1.72 8.8500004 14.1599999 5.31 0.490843 -0.871248 1.0 +4236 1 1.72 7.0799999 15.9300004 5.31 -0.50993 0.860216 1.0 +4237 1 1.72 10.6199999 14.1599999 3.54 -0.838913 0.544266 1.0 +4238 1 1.72 12.3900004 15.9300004 3.54 -0.215562 -0.97649 1.0 +4239 1 1.72 12.3900004 14.1599999 5.31 -0.865487 0.500931 1.0 +4240 1 1.72 10.6199999 15.9300004 5.31 0.999822 -0.0188745 1.0 +4241 1 1.72 14.1599999 14.1599999 3.54 0.58226 -0.813002 1.0 +4242 1 1.72 15.9300004 15.9300004 3.54 -0.0112383 0.999937 1.0 +4243 1 1.72 15.9300004 14.1599999 5.31 0.168004 -0.985786 1.0 +4244 1 1.72 14.1599999 15.9300004 5.31 0.981524 -0.191338 1.0 +4245 1 1.72 17.7000008 14.1599999 3.54 -0.309345 0.95095 1.0 +4246 1 1.72 19.4699993 15.9300004 3.54 -0.617742 -0.786381 1.0 +4247 1 1.72 19.4699993 14.1599999 5.31 0.999106 0.0422655 1.0 +4248 1 1.72 17.7000008 15.9300004 5.31 0.598576 -0.801066 1.0 +4249 1 1.72 21.2399998 14.1599999 3.54 0.577322 -0.816517 1.0 +4250 1 1.72 23.0100002 15.9300004 3.54 -0.70337 -0.710824 1.0 +4251 1 1.72 23.0100002 14.1599999 5.31 -0.217011 -0.976169 1.0 +4252 1 1.72 21.2399998 15.9300004 5.31 0.859545 -0.51106 1.0 +4253 1 1.72 24.7800007 14.1599999 3.54 0.119424 0.992843 1.0 +4254 1 1.72 26.5499993 15.9300004 3.54 -0.872191 -0.489166 1.0 +4255 1 1.72 26.5499993 14.1599999 5.31 -0.755167 -0.655532 1.0 +4256 1 1.72 24.7800007 15.9300004 5.31 -0.904669 0.426114 1.0 +4257 1 1.72 0.0 17.7000008 3.54 0.232167 -0.972676 1.0 +4258 1 1.72 1.77 19.4699993 3.54 -0.722256 -0.691626 1.0 +4259 1 1.72 1.77 17.7000008 5.31 0.986938 -0.161102 1.0 +4260 1 1.72 0.0 19.4699993 5.31 0.0347523 0.999396 1.0 +4261 1 1.72 3.54 17.7000008 3.54 -0.504707 -0.863291 1.0 +4262 1 1.72 5.31 19.4699993 3.54 -0.0641604 0.99794 1.0 +4263 1 1.72 5.31 17.7000008 5.31 0.608147 0.793824 1.0 +4264 1 1.72 3.54 19.4699993 5.31 0.822451 -0.568836 1.0 +4265 1 1.72 7.0799999 17.7000008 3.54 0.389819 0.920891 1.0 +4266 1 1.72 8.8500004 19.4699993 3.54 -0.986125 0.166005 1.0 +4267 1 1.72 8.8500004 17.7000008 5.31 0.80558 0.592487 1.0 +4268 1 1.72 7.0799999 19.4699993 5.31 0.350884 0.936419 1.0 +4269 1 1.72 10.6199999 17.7000008 3.54 0.223458 -0.974714 1.0 +4270 1 1.72 12.3900004 19.4699993 3.54 -0.744226 -0.667928 1.0 +4271 1 1.72 12.3900004 17.7000008 5.31 0.949871 -0.312644 1.0 +4272 1 1.72 10.6199999 19.4699993 5.31 -0.896749 -0.442539 1.0 +4273 1 1.72 14.1599999 17.7000008 3.54 -0.0604458 0.998171 1.0 +4274 1 1.72 15.9300004 19.4699993 3.54 0.546442 -0.837497 1.0 +4275 1 1.72 15.9300004 17.7000008 5.31 0.948303 -0.317368 1.0 +4276 1 1.72 14.1599999 19.4699993 5.31 -0.542722 -0.839912 1.0 +4277 1 1.72 17.7000008 17.7000008 3.54 0.0814219 0.99668 1.0 +4278 1 1.72 19.4699993 19.4699993 3.54 -0.984948 -0.172852 1.0 +4279 1 1.72 19.4699993 17.7000008 5.31 0.941465 -0.337112 1.0 +4280 1 1.72 17.7000008 19.4699993 5.31 0.613064 -0.790033 1.0 +4281 1 1.72 21.2399998 17.7000008 3.54 0.998334 0.057693 1.0 +4282 1 1.72 23.0100002 19.4699993 3.54 -0.902318 -0.43107 1.0 +4283 1 1.72 23.0100002 17.7000008 5.31 -0.1925 0.981297 1.0 +4284 1 1.72 21.2399998 19.4699993 5.31 -0.774763 0.632252 1.0 +4285 1 1.72 24.7800007 17.7000008 3.54 0.906835 -0.421485 1.0 +4286 1 1.72 26.5499993 19.4699993 3.54 0.328293 -0.944576 1.0 +4287 1 1.72 26.5499993 17.7000008 5.31 -0.984445 0.175692 1.0 +4288 1 1.72 24.7800007 19.4699993 5.31 -0.264715 0.964327 1.0 +4289 1 1.72 0.0 21.2399998 3.54 -0.926043 0.377419 1.0 +4290 1 1.72 1.77 23.0100002 3.54 0.998491 -0.0549199 1.0 +4291 1 1.72 1.77 21.2399998 5.31 -0.88117 0.4728 1.0 +4292 1 1.72 0.0 23.0100002 5.31 -0.999879 -0.0155475 1.0 +4293 1 1.72 3.54 21.2399998 3.54 -0.770136 -0.63788 1.0 +4294 1 1.72 5.31 23.0100002 3.54 -0.915954 0.401283 1.0 +4295 1 1.72 5.31 21.2399998 5.31 0.329753 0.944067 1.0 +4296 1 1.72 3.54 23.0100002 5.31 0.405062 0.914289 1.0 +4297 1 1.72 7.0799999 21.2399998 3.54 -0.581242 -0.813731 1.0 +4298 1 1.72 8.8500004 23.0100002 3.54 -0.241851 0.970313 1.0 +4299 1 1.72 8.8500004 21.2399998 5.31 0.727368 -0.686248 1.0 +4300 1 1.72 7.0799999 23.0100002 5.31 0.942347 0.334637 1.0 +4301 1 1.72 10.6199999 21.2399998 3.54 0.910672 0.413131 1.0 +4302 1 1.72 12.3900004 23.0100002 3.54 0.868523 -0.495649 1.0 +4303 1 1.72 12.3900004 21.2399998 5.31 0.667425 -0.744677 1.0 +4304 1 1.72 10.6199999 23.0100002 5.31 -0.922523 -0.385943 1.0 +4305 1 1.72 14.1599999 21.2399998 3.54 0.813232 -0.58194 1.0 +4306 1 1.72 15.9300004 23.0100002 3.54 0.977512 0.21088 1.0 +4307 1 1.72 15.9300004 21.2399998 5.31 0.576592 0.817032 1.0 +4308 1 1.72 14.1599999 23.0100002 5.31 0.641659 -0.76699 1.0 +4309 1 1.72 17.7000008 21.2399998 3.54 -0.275909 -0.961184 1.0 +4310 1 1.72 19.4699993 23.0100002 3.54 0.432127 -0.901813 1.0 +4311 1 1.72 19.4699993 21.2399998 5.31 -0.627306 -0.778773 1.0 +4312 1 1.72 17.7000008 23.0100002 5.31 0.82271 -0.568461 1.0 +4313 1 1.72 21.2399998 21.2399998 3.54 -0.996538 0.0831426 1.0 +4314 1 1.72 23.0100002 23.0100002 3.54 0.649317 -0.760518 1.0 +4315 1 1.72 23.0100002 21.2399998 5.31 0.68562 0.727959 1.0 +4316 1 1.72 21.2399998 23.0100002 5.31 -0.701308 -0.712858 1.0 +4317 1 1.72 24.7800007 21.2399998 3.54 -0.629219 0.777228 1.0 +4318 1 1.72 26.5499993 23.0100002 3.54 0.566134 -0.824313 1.0 +4319 1 1.72 26.5499993 21.2399998 5.31 -0.807965 -0.58923 1.0 +4320 1 1.72 24.7800007 23.0100002 5.31 0.998685 -0.0512702 1.0 +4321 1 1.72 0.0 24.7800007 3.54 -0.617444 -0.786615 1.0 +4322 1 1.72 1.77 26.5499993 3.54 0.789807 -0.613355 1.0 +4323 1 1.72 1.77 24.7800007 5.31 0.592353 0.805678 1.0 +4324 1 1.72 0.0 26.5499993 5.31 0.409189 -0.912449 1.0 +4325 1 1.72 3.54 24.7800007 3.54 -0.892879 -0.450296 1.0 +4326 1 1.72 5.31 26.5499993 3.54 0.956091 0.293071 1.0 +4327 1 1.72 5.31 24.7800007 5.31 -0.530192 0.847877 1.0 +4328 1 1.72 3.54 26.5499993 5.31 -0.391099 0.920349 1.0 +4329 1 1.72 7.0799999 24.7800007 3.54 0.982678 -0.18532 1.0 +4330 1 1.72 8.8500004 26.5499993 3.54 0.928732 -0.370751 1.0 +4331 1 1.72 8.8500004 24.7800007 5.31 0.287833 0.957681 1.0 +4332 1 1.72 7.0799999 26.5499993 5.31 0.938433 -0.345461 1.0 +4333 1 1.72 10.6199999 24.7800007 3.54 -0.749022 0.662545 1.0 +4334 1 1.72 12.3900004 26.5499993 3.54 -0.975121 0.221672 1.0 +4335 1 1.72 12.3900004 24.7800007 5.31 0.69344 -0.720514 1.0 +4336 1 1.72 10.6199999 26.5499993 5.31 -0.212985 -0.977056 1.0 +4337 1 1.72 14.1599999 24.7800007 3.54 -0.812178 0.58341 1.0 +4338 1 1.72 15.9300004 26.5499993 3.54 -0.600953 0.799284 1.0 +4339 1 1.72 15.9300004 24.7800007 5.31 -0.396176 -0.918175 1.0 +4340 1 1.72 14.1599999 26.5499993 5.31 0.356889 0.934147 1.0 +4341 1 1.72 17.7000008 24.7800007 3.54 -0.116799 -0.993156 1.0 +4342 1 1.72 19.4699993 26.5499993 3.54 0.471961 -0.88162 1.0 +4343 1 1.72 19.4699993 24.7800007 5.31 -0.101547 -0.994831 1.0 +4344 1 1.72 17.7000008 26.5499993 5.31 0.0367154 0.999326 1.0 +4345 1 1.72 21.2399998 24.7800007 3.54 -0.948217 -0.317622 1.0 +4346 1 1.72 23.0100002 26.5499993 3.54 0.895641 -0.444777 1.0 +4347 1 1.72 23.0100002 24.7800007 5.31 -0.0371448 -0.99931 1.0 +4348 1 1.72 21.2399998 26.5499993 5.31 -0.952793 0.30362 1.0 +4349 1 1.72 24.7800007 24.7800007 3.54 0.45967 -0.88809 1.0 +4350 1 1.72 26.5499993 26.5499993 3.54 -0.350365 -0.936613 1.0 +4351 1 1.72 26.5499993 24.7800007 5.31 -0.892866 0.450323 1.0 +4352 1 1.72 24.7800007 26.5499993 5.31 -0.67909 0.734055 1.0 +4353 1 1.72 0.0 14.1599999 7.0799999 0.589449 0.807805 1.0 +4354 1 1.72 1.77 15.9300004 7.0799999 0.870129 -0.492825 1.0 +4355 1 1.72 1.77 14.1599999 8.8500004 -0.367552 0.930003 1.0 +4356 1 1.72 0.0 15.9300004 8.8500004 -0.543769 -0.839235 1.0 +4357 1 1.72 3.54 14.1599999 7.0799999 -0.77212 -0.635477 1.0 +4358 1 1.72 5.31 15.9300004 7.0799999 -0.99787 -0.0652354 1.0 +4359 1 1.72 5.31 14.1599999 8.8500004 -0.886636 -0.462467 1.0 +4360 1 1.72 3.54 15.9300004 8.8500004 -0.994376 -0.105912 1.0 +4361 1 1.72 7.0799999 14.1599999 7.0799999 -0.737213 0.67566 1.0 +4362 1 1.72 8.8500004 15.9300004 7.0799999 0.385867 -0.922554 1.0 +4363 1 1.72 8.8500004 14.1599999 8.8500004 -0.999483 -0.0321567 1.0 +4364 1 1.72 7.0799999 15.9300004 8.8500004 0.583191 0.812335 1.0 +4365 1 1.72 10.6199999 14.1599999 7.0799999 -0.944265 0.329185 1.0 +4366 1 1.72 12.3900004 15.9300004 7.0799999 -0.854283 0.519808 1.0 +4367 1 1.72 12.3900004 14.1599999 8.8500004 -0.999244 0.0388825 1.0 +4368 1 1.72 10.6199999 15.9300004 8.8500004 0.903759 -0.428042 1.0 +4369 1 1.72 14.1599999 14.1599999 7.0799999 -0.698679 0.715435 1.0 +4370 1 1.72 15.9300004 15.9300004 7.0799999 -0.0174386 0.999848 1.0 +4371 1 1.72 15.9300004 14.1599999 8.8500004 0.0749537 0.997187 1.0 +4372 1 1.72 14.1599999 15.9300004 8.8500004 0.276006 0.961156 1.0 +4373 1 1.72 17.7000008 14.1599999 7.0799999 -0.351932 0.936025 1.0 +4374 1 1.72 19.4699993 15.9300004 7.0799999 -0.997869 0.065244 1.0 +4375 1 1.72 19.4699993 14.1599999 8.8500004 -0.929908 -0.367793 1.0 +4376 1 1.72 17.7000008 15.9300004 8.8500004 0.826664 -0.562695 1.0 +4377 1 1.72 21.2399998 14.1599999 7.0799999 -0.692921 -0.721013 1.0 +4378 1 1.72 23.0100002 15.9300004 7.0799999 -0.194439 0.980915 1.0 +4379 1 1.72 23.0100002 14.1599999 8.8500004 -0.775177 -0.631745 1.0 +4380 1 1.72 21.2399998 15.9300004 8.8500004 -0.6128 0.790238 1.0 +4381 1 1.72 24.7800007 14.1599999 7.0799999 -0.150054 0.988678 1.0 +4382 1 1.72 26.5499993 15.9300004 7.0799999 0.424697 0.905336 1.0 +4383 1 1.72 26.5499993 14.1599999 8.8500004 0.608211 -0.793775 1.0 +4384 1 1.72 24.7800007 15.9300004 8.8500004 -0.531271 -0.847202 1.0 +4385 1 1.72 0.0 17.7000008 7.0799999 0.66678 -0.745254 1.0 +4386 1 1.72 1.77 19.4699993 7.0799999 0.946436 -0.322893 1.0 +4387 1 1.72 1.77 17.7000008 8.8500004 0.314708 -0.949189 1.0 +4388 1 1.72 0.0 19.4699993 8.8500004 -0.732267 0.681017 1.0 +4389 1 1.72 3.54 17.7000008 7.0799999 0.953049 0.302815 1.0 +4390 1 1.72 5.31 19.4699993 7.0799999 0.778245 -0.627961 1.0 +4391 1 1.72 5.31 17.7000008 8.8500004 0.103755 0.994603 1.0 +4392 1 1.72 3.54 19.4699993 8.8500004 -0.271773 -0.962361 1.0 +4393 1 1.72 7.0799999 17.7000008 7.0799999 -0.389329 -0.921099 1.0 +4394 1 1.72 8.8500004 19.4699993 7.0799999 0.952197 -0.305486 1.0 +4395 1 1.72 8.8500004 17.7000008 8.8500004 0.583921 -0.811811 1.0 +4396 1 1.72 7.0799999 19.4699993 8.8500004 0.974598 -0.223963 1.0 +4397 1 1.72 10.6199999 17.7000008 7.0799999 -0.978474 -0.206368 1.0 +4398 1 1.72 12.3900004 19.4699993 7.0799999 -0.681488 0.731829 1.0 +4399 1 1.72 12.3900004 17.7000008 8.8500004 0.711342 -0.702846 1.0 +4400 1 1.72 10.6199999 19.4699993 8.8500004 0.627751 0.778414 1.0 +4401 1 1.72 14.1599999 17.7000008 7.0799999 0.0316519 0.999499 1.0 +4402 1 1.72 15.9300004 19.4699993 7.0799999 0.953148 -0.302505 1.0 +4403 1 1.72 15.9300004 17.7000008 8.8500004 -0.95609 0.293072 1.0 +4404 1 1.72 14.1599999 19.4699993 8.8500004 0.999531 0.030625 1.0 +4405 1 1.72 17.7000008 17.7000008 7.0799999 0.197263 -0.980351 1.0 +4406 1 1.72 19.4699993 19.4699993 7.0799999 0.930382 0.366592 1.0 +4407 1 1.72 19.4699993 17.7000008 8.8500004 0.699475 0.714657 1.0 +4408 1 1.72 17.7000008 19.4699993 8.8500004 -0.74107 -0.671428 1.0 +4409 1 1.72 21.2399998 17.7000008 7.0799999 -0.864057 0.503394 1.0 +4410 1 1.72 23.0100002 19.4699993 7.0799999 0.0483361 -0.998831 1.0 +4411 1 1.72 23.0100002 17.7000008 8.8500004 0.714148 0.699995 1.0 +4412 1 1.72 21.2399998 19.4699993 8.8500004 -0.231711 -0.972785 1.0 +4413 1 1.72 24.7800007 17.7000008 7.0799999 0.806369 -0.591412 1.0 +4414 1 1.72 26.5499993 19.4699993 7.0799999 0.169041 0.985609 1.0 +4415 1 1.72 26.5499993 17.7000008 8.8500004 -0.748547 0.663082 1.0 +4416 1 1.72 24.7800007 19.4699993 8.8500004 0.64493 -0.764242 1.0 +4417 1 1.72 0.0 21.2399998 7.0799999 -0.379192 -0.925318 1.0 +4418 1 1.72 1.77 23.0100002 7.0799999 -0.499401 -0.866371 1.0 +4419 1 1.72 1.77 21.2399998 8.8500004 0.456295 0.889829 1.0 +4420 1 1.72 0.0 23.0100002 8.8500004 -0.685215 0.728341 1.0 +4421 1 1.72 3.54 21.2399998 7.0799999 0.75136 0.659893 1.0 +4422 1 1.72 5.31 23.0100002 7.0799999 0.698637 0.715477 1.0 +4423 1 1.72 5.31 21.2399998 8.8500004 0.089468 0.99599 1.0 +4424 1 1.72 3.54 23.0100002 8.8500004 0.903264 0.429085 1.0 +4425 1 1.72 7.0799999 21.2399998 7.0799999 0.849013 -0.528372 1.0 +4426 1 1.72 8.8500004 23.0100002 7.0799999 0.68244 -0.730941 1.0 +4427 1 1.72 8.8500004 21.2399998 8.8500004 0.427636 0.903951 1.0 +4428 1 1.72 7.0799999 23.0100002 8.8500004 0.382435 -0.923982 1.0 +4429 1 1.72 10.6199999 21.2399998 7.0799999 -0.602498 -0.79812 1.0 +4430 1 1.72 12.3900004 23.0100002 7.0799999 -0.743271 -0.66899 1.0 +4431 1 1.72 12.3900004 21.2399998 8.8500004 -0.812379 -0.58313 1.0 +4432 1 1.72 10.6199999 23.0100002 8.8500004 -0.893692 -0.448682 1.0 +4433 1 1.72 14.1599999 21.2399998 7.0799999 0.481535 0.876427 1.0 +4434 1 1.72 15.9300004 23.0100002 7.0799999 0.496276 -0.868165 1.0 +4435 1 1.72 15.9300004 21.2399998 8.8500004 -0.633558 -0.773695 1.0 +4436 1 1.72 14.1599999 23.0100002 8.8500004 -0.273075 -0.961993 1.0 +4437 1 1.72 17.7000008 21.2399998 7.0799999 0.91429 0.405059 1.0 +4438 1 1.72 19.4699993 23.0100002 7.0799999 0.718792 0.695225 1.0 +4439 1 1.72 19.4699993 21.2399998 8.8500004 -0.1156 -0.993296 1.0 +4440 1 1.72 17.7000008 23.0100002 8.8500004 -0.918692 -0.394974 1.0 +4441 1 1.72 21.2399998 21.2399998 7.0799999 0.976062 -0.217491 1.0 +4442 1 1.72 23.0100002 23.0100002 7.0799999 0.60564 0.795738 1.0 +4443 1 1.72 23.0100002 21.2399998 8.8500004 0.991695 0.128616 1.0 +4444 1 1.72 21.2399998 23.0100002 8.8500004 -0.819684 -0.572816 1.0 +4445 1 1.72 24.7800007 21.2399998 7.0799999 -0.434225 -0.900804 1.0 +4446 1 1.72 26.5499993 23.0100002 7.0799999 0.518628 -0.855 1.0 +4447 1 1.72 26.5499993 21.2399998 8.8500004 0.926145 -0.377169 1.0 +4448 1 1.72 24.7800007 23.0100002 8.8500004 0.969386 0.245541 1.0 +4449 1 1.72 0.0 24.7800007 7.0799999 -0.182025 0.983294 1.0 +4450 1 1.72 1.77 26.5499993 7.0799999 -0.653489 0.756936 1.0 +4451 1 1.72 1.77 24.7800007 8.8500004 0.265008 -0.964246 1.0 +4452 1 1.72 0.0 26.5499993 8.8500004 -0.882433 -0.470437 1.0 +4453 1 1.72 3.54 24.7800007 7.0799999 -0.847172 0.531319 1.0 +4454 1 1.72 5.31 26.5499993 7.0799999 0.743357 -0.668895 1.0 +4455 1 1.72 5.31 24.7800007 8.8500004 0.692142 -0.721761 1.0 +4456 1 1.72 3.54 26.5499993 8.8500004 0.46714 0.884183 1.0 +4457 1 1.72 7.0799999 24.7800007 7.0799999 0.537528 0.843246 1.0 +4458 1 1.72 8.8500004 26.5499993 7.0799999 -0.632278 -0.774742 1.0 +4459 1 1.72 8.8500004 24.7800007 8.8500004 -0.990357 0.13854 1.0 +4460 1 1.72 7.0799999 26.5499993 8.8500004 0.790854 0.612005 1.0 +4461 1 1.72 10.6199999 24.7800007 7.0799999 -0.75998 -0.649947 1.0 +4462 1 1.72 12.3900004 26.5499993 7.0799999 -0.811587 0.584232 1.0 +4463 1 1.72 12.3900004 24.7800007 8.8500004 -0.935379 0.353646 1.0 +4464 1 1.72 10.6199999 26.5499993 8.8500004 0.249472 0.968382 1.0 +4465 1 1.72 14.1599999 24.7800007 7.0799999 -0.99959 -0.0286383 1.0 +4466 1 1.72 15.9300004 26.5499993 7.0799999 -0.333542 -0.942735 1.0 +4467 1 1.72 15.9300004 24.7800007 8.8500004 0.996988 0.0775509 1.0 +4468 1 1.72 14.1599999 26.5499993 8.8500004 0.994077 0.108682 1.0 +4469 1 1.72 17.7000008 24.7800007 7.0799999 -0.820874 -0.57111 1.0 +4470 1 1.72 19.4699993 26.5499993 7.0799999 0.447196 0.894436 1.0 +4471 1 1.72 19.4699993 24.7800007 8.8500004 0.828337 -0.560231 1.0 +4472 1 1.72 17.7000008 26.5499993 8.8500004 -0.771982 0.635644 1.0 +4473 1 1.72 21.2399998 24.7800007 7.0799999 -0.794712 -0.606987 1.0 +4474 1 1.72 23.0100002 26.5499993 7.0799999 0.133751 0.991015 1.0 +4475 1 1.72 23.0100002 24.7800007 8.8500004 -0.75836 0.651835 1.0 +4476 1 1.72 21.2399998 26.5499993 8.8500004 0.231901 -0.972739 1.0 +4477 1 1.72 24.7800007 24.7800007 7.0799999 -0.87801 0.478642 1.0 +4478 1 1.72 26.5499993 26.5499993 7.0799999 0.679121 0.734026 1.0 +4479 1 1.72 26.5499993 24.7800007 8.8500004 -0.603507 0.797358 1.0 +4480 1 1.72 24.7800007 26.5499993 8.8500004 -0.216816 0.976213 1.0 +4481 1 1.72 0.0 14.1599999 10.6199999 0.908994 0.41681 1.0 +4482 1 1.72 1.77 15.9300004 10.6199999 -0.90057 0.434711 1.0 +4483 1 1.72 1.77 14.1599999 12.3900004 0.984598 -0.174836 1.0 +4484 1 1.72 0.0 15.9300004 12.3900004 0.0461737 -0.998933 1.0 +4485 1 1.72 3.54 14.1599999 10.6199999 -0.919527 0.393026 1.0 +4486 1 1.72 5.31 15.9300004 10.6199999 0.523208 0.852205 1.0 +4487 1 1.72 5.31 14.1599999 12.3900004 0.921577 -0.388195 1.0 +4488 1 1.72 3.54 15.9300004 12.3900004 -0.870544 -0.49209 1.0 +4489 1 1.72 7.0799999 14.1599999 10.6199999 0.937467 0.348074 1.0 +4490 1 1.72 8.8500004 15.9300004 10.6199999 0.997427 0.0716938 1.0 +4491 1 1.72 8.8500004 14.1599999 12.3900004 -0.396352 -0.918099 1.0 +4492 1 1.72 7.0799999 15.9300004 12.3900004 0.758783 -0.651343 1.0 +4493 1 1.72 10.6199999 14.1599999 10.6199999 -0.688254 0.72547 1.0 +4494 1 1.72 12.3900004 15.9300004 10.6199999 0.607432 -0.794372 1.0 +4495 1 1.72 12.3900004 14.1599999 12.3900004 0.69027 0.723552 1.0 +4496 1 1.72 10.6199999 15.9300004 12.3900004 0.553331 0.832961 1.0 +4497 1 1.72 14.1599999 14.1599999 10.6199999 -0.228975 -0.973432 1.0 +4498 1 1.72 15.9300004 15.9300004 10.6199999 0.794483 0.607286 1.0 +4499 1 1.72 15.9300004 14.1599999 12.3900004 -0.643544 -0.765409 1.0 +4500 1 1.72 14.1599999 15.9300004 12.3900004 -0.60014 -0.799895 1.0 +4501 1 1.72 17.7000008 14.1599999 10.6199999 -0.0501868 -0.99874 1.0 +4502 1 1.72 19.4699993 15.9300004 10.6199999 -0.371291 0.928517 1.0 +4503 1 1.72 19.4699993 14.1599999 12.3900004 -0.345316 -0.938486 1.0 +4504 1 1.72 17.7000008 15.9300004 12.3900004 0.962953 -0.269668 1.0 +4505 1 1.72 21.2399998 14.1599999 10.6199999 -0.653125 -0.75725 1.0 +4506 1 1.72 23.0100002 15.9300004 10.6199999 -0.999681 0.0252371 1.0 +4507 1 1.72 23.0100002 14.1599999 12.3900004 -0.761747 0.647875 1.0 +4508 1 1.72 21.2399998 15.9300004 12.3900004 -0.80914 -0.587616 1.0 +4509 1 1.72 24.7800007 14.1599999 10.6199999 -0.213704 -0.976899 1.0 +4510 1 1.72 26.5499993 15.9300004 10.6199999 -0.172547 -0.985001 1.0 +4511 1 1.72 26.5499993 14.1599999 12.3900004 -0.671755 0.740774 1.0 +4512 1 1.72 24.7800007 15.9300004 12.3900004 0.639133 -0.769096 1.0 +4513 1 1.72 0.0 17.7000008 10.6199999 0.919701 -0.39262 1.0 +4514 1 1.72 1.77 19.4699993 10.6199999 0.29967 -0.954043 1.0 +4515 1 1.72 1.77 17.7000008 12.3900004 -0.86833 -0.495987 1.0 +4516 1 1.72 0.0 19.4699993 12.3900004 -0.652729 -0.757592 1.0 +4517 1 1.72 3.54 17.7000008 10.6199999 -0.188558 -0.982062 1.0 +4518 1 1.72 5.31 19.4699993 10.6199999 0.451584 -0.892229 1.0 +4519 1 1.72 5.31 17.7000008 12.3900004 -0.479953 -0.877294 1.0 +4520 1 1.72 3.54 19.4699993 12.3900004 -0.931169 0.364588 1.0 +4521 1 1.72 7.0799999 17.7000008 10.6199999 1 -0.000774994 1.0 +4522 1 1.72 8.8500004 19.4699993 10.6199999 -0.758272 0.651938 1.0 +4523 1 1.72 8.8500004 17.7000008 12.3900004 0.557064 -0.83047 1.0 +4524 1 1.72 7.0799999 19.4699993 12.3900004 -0.949933 -0.312453 1.0 +4525 1 1.72 10.6199999 17.7000008 10.6199999 0.110061 0.993925 1.0 +4526 1 1.72 12.3900004 19.4699993 10.6199999 0.115398 0.993319 1.0 +4527 1 1.72 12.3900004 17.7000008 12.3900004 -0.665778 -0.74615 1.0 +4528 1 1.72 10.6199999 19.4699993 12.3900004 -0.334698 0.942325 1.0 +4529 1 1.72 14.1599999 17.7000008 10.6199999 0.424145 0.905594 1.0 +4530 1 1.72 15.9300004 19.4699993 10.6199999 0.618126 -0.786079 1.0 +4531 1 1.72 15.9300004 17.7000008 12.3900004 -0.936358 0.351046 1.0 +4532 1 1.72 14.1599999 19.4699993 12.3900004 0.38979 0.920904 1.0 +4533 1 1.72 17.7000008 17.7000008 10.6199999 0.4006 -0.916253 1.0 +4534 1 1.72 19.4699993 19.4699993 10.6199999 0.622408 0.782693 1.0 +4535 1 1.72 19.4699993 17.7000008 12.3900004 0.793847 -0.608117 1.0 +4536 1 1.72 17.7000008 19.4699993 12.3900004 -0.537975 0.842961 1.0 +4537 1 1.72 21.2399998 17.7000008 10.6199999 -0.556228 -0.83103 1.0 +4538 1 1.72 23.0100002 19.4699993 10.6199999 -0.872784 -0.488107 1.0 +4539 1 1.72 23.0100002 17.7000008 12.3900004 -0.345759 -0.938323 1.0 +4540 1 1.72 21.2399998 19.4699993 12.3900004 0.0260887 0.99966 1.0 +4541 1 1.72 24.7800007 17.7000008 10.6199999 0.943649 -0.330949 1.0 +4542 1 1.72 26.5499993 19.4699993 10.6199999 0.906226 0.422795 1.0 +4543 1 1.72 26.5499993 17.7000008 12.3900004 -0.653568 0.756868 1.0 +4544 1 1.72 24.7800007 19.4699993 12.3900004 0.363348 -0.931654 1.0 +4545 1 1.72 0.0 21.2399998 10.6199999 0.997162 0.0752915 1.0 +4546 1 1.72 1.77 23.0100002 10.6199999 0.811111 -0.584892 1.0 +4547 1 1.72 1.77 21.2399998 12.3900004 0.700551 -0.713602 1.0 +4548 1 1.72 0.0 23.0100002 12.3900004 0.515933 -0.856629 1.0 +4549 1 1.72 3.54 21.2399998 10.6199999 -0.662327 0.749215 1.0 +4550 1 1.72 5.31 23.0100002 10.6199999 0.901628 -0.432511 1.0 +4551 1 1.72 5.31 21.2399998 12.3900004 0.999667 0.025797 1.0 +4552 1 1.72 3.54 23.0100002 12.3900004 0.931109 -0.364742 1.0 +4553 1 1.72 7.0799999 21.2399998 10.6199999 -0.597114 -0.802157 1.0 +4554 1 1.72 8.8500004 23.0100002 10.6199999 0.793064 -0.609139 1.0 +4555 1 1.72 8.8500004 21.2399998 12.3900004 0.756695 -0.653768 1.0 +4556 1 1.72 7.0799999 23.0100002 12.3900004 0.720351 -0.693609 1.0 +4557 1 1.72 10.6199999 21.2399998 10.6199999 0.810855 0.585247 1.0 +4558 1 1.72 12.3900004 23.0100002 10.6199999 -0.0903136 0.995913 1.0 +4559 1 1.72 12.3900004 21.2399998 12.3900004 0.186442 -0.982466 1.0 +4560 1 1.72 10.6199999 23.0100002 12.3900004 -0.284874 -0.958565 1.0 +4561 1 1.72 14.1599999 21.2399998 10.6199999 -0.289868 0.957067 1.0 +4562 1 1.72 15.9300004 23.0100002 10.6199999 0.0838039 0.996482 1.0 +4563 1 1.72 15.9300004 21.2399998 12.3900004 0.591675 0.806176 1.0 +4564 1 1.72 14.1599999 23.0100002 12.3900004 0.999111 0.0421503 1.0 +4565 1 1.72 17.7000008 21.2399998 10.6199999 -0.146207 0.989254 1.0 +4566 1 1.72 19.4699993 23.0100002 10.6199999 -0.913395 0.407075 1.0 +4567 1 1.72 19.4699993 21.2399998 12.3900004 -0.503238 -0.864148 1.0 +4568 1 1.72 17.7000008 23.0100002 12.3900004 -0.124052 -0.992276 1.0 +4569 1 1.72 21.2399998 21.2399998 10.6199999 0.683509 0.729942 1.0 +4570 1 1.72 23.0100002 23.0100002 10.6199999 -0.979364 -0.202103 1.0 +4571 1 1.72 23.0100002 21.2399998 12.3900004 -0.593631 -0.804737 1.0 +4572 1 1.72 21.2399998 23.0100002 12.3900004 -0.390436 -0.92063 1.0 +4573 1 1.72 24.7800007 21.2399998 10.6199999 0.732179 -0.681113 1.0 +4574 1 1.72 26.5499993 23.0100002 10.6199999 0.824941 0.565219 1.0 +4575 1 1.72 26.5499993 21.2399998 12.3900004 0.148915 0.98885 1.0 +4576 1 1.72 24.7800007 23.0100002 12.3900004 0.632992 -0.774158 1.0 +4577 1 1.72 0.0 24.7800007 10.6199999 -0.813481 -0.581591 1.0 +4578 1 1.72 1.77 26.5499993 10.6199999 0.00527343 0.999986 1.0 +4579 1 1.72 1.77 24.7800007 12.3900004 -0.999527 -0.0307504 1.0 +4580 1 1.72 0.0 26.5499993 12.3900004 -0.985953 0.167026 1.0 +4581 1 1.72 3.54 24.7800007 10.6199999 -0.15577 0.987793 1.0 +4582 1 1.72 5.31 26.5499993 10.6199999 0.536408 0.843959 1.0 +4583 1 1.72 5.31 24.7800007 12.3900004 0.743861 -0.668334 1.0 +4584 1 1.72 3.54 26.5499993 12.3900004 -0.406549 -0.913629 1.0 +4585 1 1.72 7.0799999 24.7800007 10.6199999 -0.41531 -0.90968 1.0 +4586 1 1.72 8.8500004 26.5499993 10.6199999 0.903185 -0.429252 1.0 +4587 1 1.72 8.8500004 24.7800007 12.3900004 -0.800286 -0.599618 1.0 +4588 1 1.72 7.0799999 26.5499993 12.3900004 -0.546893 -0.837202 1.0 +4589 1 1.72 10.6199999 24.7800007 10.6199999 0.6517 0.758477 1.0 +4590 1 1.72 12.3900004 26.5499993 10.6199999 -0.521078 0.853509 1.0 +4591 1 1.72 12.3900004 24.7800007 12.3900004 0.355689 -0.934604 1.0 +4592 1 1.72 10.6199999 26.5499993 12.3900004 -0.359895 -0.932993 1.0 +4593 1 1.72 14.1599999 24.7800007 10.6199999 0.696541 -0.717517 1.0 +4594 1 1.72 15.9300004 26.5499993 10.6199999 0.297939 0.954585 1.0 +4595 1 1.72 15.9300004 24.7800007 12.3900004 -0.140014 0.99015 1.0 +4596 1 1.72 14.1599999 26.5499993 12.3900004 0.802136 0.597142 1.0 +4597 1 1.72 17.7000008 24.7800007 10.6199999 0.627523 0.778598 1.0 +4598 1 1.72 19.4699993 26.5499993 10.6199999 0.734195 0.678939 1.0 +4599 1 1.72 19.4699993 24.7800007 12.3900004 -0.496642 0.867956 1.0 +4600 1 1.72 17.7000008 26.5499993 12.3900004 0.144391 -0.989521 1.0 +4601 1 1.72 21.2399998 24.7800007 10.6199999 0.161764 -0.986829 1.0 +4602 1 1.72 23.0100002 26.5499993 10.6199999 0.992924 0.118749 1.0 +4603 1 1.72 23.0100002 24.7800007 12.3900004 -0.986063 0.166374 1.0 +4604 1 1.72 21.2399998 26.5499993 12.3900004 0.702052 0.712126 1.0 +4605 1 1.72 24.7800007 24.7800007 10.6199999 -0.960074 0.279745 1.0 +4606 1 1.72 26.5499993 26.5499993 10.6199999 0.983554 -0.180616 1.0 +4607 1 1.72 26.5499993 24.7800007 12.3900004 0.722759 -0.691101 1.0 +4608 1 1.72 24.7800007 26.5499993 12.3900004 -0.580057 0.814576 1.0 +4609 1 1.72 0.0 14.1599999 14.1599999 0.898495 -0.438984 1.0 +4610 1 1.72 1.77 15.9300004 14.1599999 0.898355 -0.43927 1.0 +4611 1 1.72 1.77 14.1599999 15.9300004 -0.999822 0.0188926 1.0 +4612 1 1.72 0.0 15.9300004 15.9300004 -0.653457 -0.756964 1.0 +4613 1 1.72 3.54 14.1599999 14.1599999 -0.719114 0.694892 1.0 +4614 1 1.72 5.31 15.9300004 14.1599999 0.479834 0.877359 1.0 +4615 1 1.72 5.31 14.1599999 15.9300004 -0.538514 -0.842617 1.0 +4616 1 1.72 3.54 15.9300004 15.9300004 -0.527295 0.849682 1.0 +4617 1 1.72 7.0799999 14.1599999 14.1599999 0.615282 0.788307 1.0 +4618 1 1.72 8.8500004 15.9300004 14.1599999 0.974251 0.225466 1.0 +4619 1 1.72 8.8500004 14.1599999 15.9300004 0.909249 0.416253 1.0 +4620 1 1.72 7.0799999 15.9300004 15.9300004 0.557205 0.830375 1.0 +4621 1 1.72 10.6199999 14.1599999 14.1599999 0.734293 -0.678833 1.0 +4622 1 1.72 12.3900004 15.9300004 14.1599999 -0.58749 0.809231 1.0 +4623 1 1.72 12.3900004 14.1599999 15.9300004 -0.306743 -0.951793 1.0 +4624 1 1.72 10.6199999 15.9300004 15.9300004 0.271723 -0.962376 1.0 +4625 1 1.72 14.1599999 14.1599999 14.1599999 0.976646 0.214856 1.0 +4626 1 1.72 15.9300004 15.9300004 14.1599999 0.72288 -0.690974 1.0 +4627 1 1.72 15.9300004 14.1599999 15.9300004 0.101237 0.994862 1.0 +4628 1 1.72 14.1599999 15.9300004 15.9300004 0.934698 0.355444 1.0 +4629 1 1.72 17.7000008 14.1599999 14.1599999 -0.780883 -0.624677 1.0 +4630 1 1.72 19.4699993 15.9300004 14.1599999 0.861882 0.507108 1.0 +4631 1 1.72 19.4699993 14.1599999 15.9300004 -0.909657 0.41536 1.0 +4632 1 1.72 17.7000008 15.9300004 15.9300004 0.979476 -0.20156 1.0 +4633 1 1.72 21.2399998 14.1599999 14.1599999 -0.979973 -0.199131 1.0 +4634 1 1.72 23.0100002 15.9300004 14.1599999 0.255641 0.966772 1.0 +4635 1 1.72 23.0100002 14.1599999 15.9300004 0.994045 0.10897 1.0 +4636 1 1.72 21.2399998 15.9300004 15.9300004 -0.804393 -0.594098 1.0 +4637 1 1.72 24.7800007 14.1599999 14.1599999 0.967582 -0.252559 1.0 +4638 1 1.72 26.5499993 15.9300004 14.1599999 0.769435 0.638725 1.0 +4639 1 1.72 26.5499993 14.1599999 15.9300004 0.272809 -0.962068 1.0 +4640 1 1.72 24.7800007 15.9300004 15.9300004 0.66758 0.744538 1.0 +4641 1 1.72 0.0 17.7000008 14.1599999 -0.999948 0.0102384 1.0 +4642 1 1.72 1.77 19.4699993 14.1599999 -0.414781 0.909921 1.0 +4643 1 1.72 1.77 17.7000008 15.9300004 -0.730587 0.682819 1.0 +4644 1 1.72 0.0 19.4699993 15.9300004 -0.652983 -0.757373 1.0 +4645 1 1.72 3.54 17.7000008 14.1599999 -0.505507 0.862823 1.0 +4646 1 1.72 5.31 19.4699993 14.1599999 -0.214487 0.976727 1.0 +4647 1 1.72 5.31 17.7000008 15.9300004 -0.629988 -0.776605 1.0 +4648 1 1.72 3.54 19.4699993 15.9300004 0.728578 -0.684962 1.0 +4649 1 1.72 7.0799999 17.7000008 14.1599999 0.598541 -0.801092 1.0 +4650 1 1.72 8.8500004 19.4699993 14.1599999 0.217028 -0.976165 1.0 +4651 1 1.72 8.8500004 17.7000008 15.9300004 -0.924673 0.380763 1.0 +4652 1 1.72 7.0799999 19.4699993 15.9300004 -0.949249 0.314526 1.0 +4653 1 1.72 10.6199999 17.7000008 14.1599999 -0.872514 -0.488589 1.0 +4654 1 1.72 12.3900004 19.4699993 14.1599999 0.234325 -0.972158 1.0 +4655 1 1.72 12.3900004 17.7000008 15.9300004 0.978999 0.203864 1.0 +4656 1 1.72 10.6199999 19.4699993 15.9300004 -0.716114 -0.697983 1.0 +4657 1 1.72 14.1599999 17.7000008 14.1599999 0.230999 -0.972954 1.0 +4658 1 1.72 15.9300004 19.4699993 14.1599999 0.711772 -0.702411 1.0 +4659 1 1.72 15.9300004 17.7000008 15.9300004 0.927654 0.37344 1.0 +4660 1 1.72 14.1599999 19.4699993 15.9300004 0.162511 0.986707 1.0 +4661 1 1.72 17.7000008 17.7000008 14.1599999 -0.464053 -0.885807 1.0 +4662 1 1.72 19.4699993 19.4699993 14.1599999 0.0203239 -0.999793 1.0 +4663 1 1.72 19.4699993 17.7000008 15.9300004 -0.752808 -0.65824 1.0 +4664 1 1.72 17.7000008 19.4699993 15.9300004 -0.113934 -0.993488 1.0 +4665 1 1.72 21.2399998 17.7000008 14.1599999 0.995299 0.0968465 1.0 +4666 1 1.72 23.0100002 19.4699993 14.1599999 0.825943 0.563753 1.0 +4667 1 1.72 23.0100002 17.7000008 15.9300004 -0.940301 0.340345 1.0 +4668 1 1.72 21.2399998 19.4699993 15.9300004 -0.941709 0.336429 1.0 +4669 1 1.72 24.7800007 17.7000008 14.1599999 0.0628844 -0.998021 1.0 +4670 1 1.72 26.5499993 19.4699993 14.1599999 -0.0214455 -0.99977 1.0 +4671 1 1.72 26.5499993 17.7000008 15.9300004 0.800256 -0.599659 1.0 +4672 1 1.72 24.7800007 19.4699993 15.9300004 -0.77575 0.631041 1.0 +4673 1 1.72 0.0 21.2399998 14.1599999 -0.519774 -0.854304 1.0 +4674 1 1.72 1.77 23.0100002 14.1599999 -0.994022 -0.109178 1.0 +4675 1 1.72 1.77 21.2399998 15.9300004 0.672958 0.739681 1.0 +4676 1 1.72 0.0 23.0100002 15.9300004 0.889674 0.456597 1.0 +4677 1 1.72 3.54 21.2399998 14.1599999 0.818423 -0.574616 1.0 +4678 1 1.72 5.31 23.0100002 14.1599999 -0.957733 0.287658 1.0 +4679 1 1.72 5.31 21.2399998 15.9300004 -0.645442 -0.763809 1.0 +4680 1 1.72 3.54 23.0100002 15.9300004 -0.975916 0.218145 1.0 +4681 1 1.72 7.0799999 21.2399998 14.1599999 -0.960305 0.27895 1.0 +4682 1 1.72 8.8500004 23.0100002 14.1599999 -0.939525 0.34248 1.0 +4683 1 1.72 8.8500004 21.2399998 15.9300004 0.603042 0.797709 1.0 +4684 1 1.72 7.0799999 23.0100002 15.9300004 0.697728 0.716363 1.0 +4685 1 1.72 10.6199999 21.2399998 14.1599999 0.981033 -0.193843 1.0 +4686 1 1.72 12.3900004 23.0100002 14.1599999 0.235213 -0.971944 1.0 +4687 1 1.72 12.3900004 21.2399998 15.9300004 0.950475 0.310802 1.0 +4688 1 1.72 10.6199999 23.0100002 15.9300004 -0.968579 0.248708 1.0 +4689 1 1.72 14.1599999 21.2399998 14.1599999 0.675919 -0.736976 1.0 +4690 1 1.72 15.9300004 23.0100002 14.1599999 -0.0863749 0.996263 1.0 +4691 1 1.72 15.9300004 21.2399998 15.9300004 0.906294 -0.422647 1.0 +4692 1 1.72 14.1599999 23.0100002 15.9300004 -0.724048 -0.689749 1.0 +4693 1 1.72 17.7000008 21.2399998 14.1599999 -0.742833 0.669477 1.0 +4694 1 1.72 19.4699993 23.0100002 14.1599999 0.561499 -0.827478 1.0 +4695 1 1.72 19.4699993 21.2399998 15.9300004 0.162316 -0.986739 1.0 +4696 1 1.72 17.7000008 23.0100002 15.9300004 -0.130022 -0.991511 1.0 +4697 1 1.72 21.2399998 21.2399998 14.1599999 0.98598 0.166862 1.0 +4698 1 1.72 23.0100002 23.0100002 14.1599999 -0.737623 -0.675212 1.0 +4699 1 1.72 23.0100002 21.2399998 15.9300004 0.951756 -0.306854 1.0 +4700 1 1.72 21.2399998 23.0100002 15.9300004 0.676021 -0.736882 1.0 +4701 1 1.72 24.7800007 21.2399998 14.1599999 0.999702 0.0244247 1.0 +4702 1 1.72 26.5499993 23.0100002 14.1599999 0.496668 0.86794 1.0 +4703 1 1.72 26.5499993 21.2399998 15.9300004 0.803789 0.594915 1.0 +4704 1 1.72 24.7800007 23.0100002 15.9300004 -0.999822 -0.0188456 1.0 +4705 1 1.72 0.0 24.7800007 14.1599999 -0.907671 -0.419682 1.0 +4706 1 1.72 1.77 26.5499993 14.1599999 -0.965801 -0.259283 1.0 +4707 1 1.72 1.77 24.7800007 15.9300004 -0.879901 0.475158 1.0 +4708 1 1.72 0.0 26.5499993 15.9300004 0.951565 -0.307449 1.0 +4709 1 1.72 3.54 24.7800007 14.1599999 0.0527975 0.998605 1.0 +4710 1 1.72 5.31 26.5499993 14.1599999 -0.702953 -0.711237 1.0 +4711 1 1.72 5.31 24.7800007 15.9300004 -0.647956 0.761678 1.0 +4712 1 1.72 3.54 26.5499993 15.9300004 0.99404 0.109016 1.0 +4713 1 1.72 7.0799999 24.7800007 14.1599999 -0.994139 0.108113 1.0 +4714 1 1.72 8.8500004 26.5499993 14.1599999 -0.47316 -0.880976 1.0 +4715 1 1.72 8.8500004 24.7800007 15.9300004 0.989064 -0.147486 1.0 +4716 1 1.72 7.0799999 26.5499993 15.9300004 -0.630752 -0.775985 1.0 +4717 1 1.72 10.6199999 24.7800007 14.1599999 0.841419 0.540382 1.0 +4718 1 1.72 12.3900004 26.5499993 14.1599999 -0.729401 0.684086 1.0 +4719 1 1.72 12.3900004 24.7800007 15.9300004 0.294335 0.955702 1.0 +4720 1 1.72 10.6199999 26.5499993 15.9300004 -0.985284 0.170927 1.0 +4721 1 1.72 14.1599999 24.7800007 14.1599999 0.950681 -0.310171 1.0 +4722 1 1.72 15.9300004 26.5499993 14.1599999 0.894618 -0.446831 1.0 +4723 1 1.72 15.9300004 24.7800007 15.9300004 -0.814836 -0.579692 1.0 +4724 1 1.72 14.1599999 26.5499993 15.9300004 0.923357 0.383942 1.0 +4725 1 1.72 17.7000008 24.7800007 14.1599999 -0.854541 0.519383 1.0 +4726 1 1.72 19.4699993 26.5499993 14.1599999 -0.666207 -0.745767 1.0 +4727 1 1.72 19.4699993 24.7800007 15.9300004 0.998296 -0.0583603 1.0 +4728 1 1.72 17.7000008 26.5499993 15.9300004 0.833738 0.552161 1.0 +4729 1 1.72 21.2399998 24.7800007 14.1599999 -0.996334 -0.0855453 1.0 +4730 1 1.72 23.0100002 26.5499993 14.1599999 -0.639059 -0.769158 1.0 +4731 1 1.72 23.0100002 24.7800007 15.9300004 0.910601 0.413287 1.0 +4732 1 1.72 21.2399998 26.5499993 15.9300004 0.992126 -0.125246 1.0 +4733 1 1.72 24.7800007 24.7800007 14.1599999 0.974517 -0.224313 1.0 +4734 1 1.72 26.5499993 26.5499993 14.1599999 0.646393 0.763005 1.0 +4735 1 1.72 26.5499993 24.7800007 15.9300004 -0.789694 0.6135 1.0 +4736 1 1.72 24.7800007 26.5499993 15.9300004 0.88136 -0.472445 1.0 +4737 1 1.72 0.0 14.1599999 17.7000008 -0.71052 -0.703677 1.0 +4738 1 1.72 1.77 15.9300004 17.7000008 -0.903994 -0.427545 1.0 +4739 1 1.72 1.77 14.1599999 19.4699993 -0.722258 -0.691624 0.9998646 +4740 1 1.72 0.0 15.9300004 19.4699993 -0.868595 -0.495523 0.9998646 +4741 1 1.72 3.54 14.1599999 17.7000008 -0.176732 0.984259 1.0 +4742 1 1.72 5.31 15.9300004 17.7000008 0.12352 -0.992342 1.0 +4743 1 1.72 5.31 14.1599999 19.4699993 -0.99653 0.0832297 0.9998646 +4744 1 1.72 3.54 15.9300004 19.4699993 -0.739522 -0.673132 0.9998646 +4745 1 1.72 7.0799999 14.1599999 17.7000008 0.963981 -0.265971 1.0 +4746 1 1.72 8.8500004 15.9300004 17.7000008 -0.814702 0.57988 1.0 +4747 1 1.72 8.8500004 14.1599999 19.4699993 0.98442 -0.175835 0.9998646 +4748 1 1.72 7.0799999 15.9300004 19.4699993 -0.987866 -0.15531 0.9998646 +4749 1 1.72 10.6199999 14.1599999 17.7000008 0.381502 -0.924368 1.0 +4750 1 1.72 12.3900004 15.9300004 17.7000008 -0.412419 -0.910995 1.0 +4751 1 1.72 12.3900004 14.1599999 19.4699993 -0.839682 0.543079 0.9998646 +4752 1 1.72 10.6199999 15.9300004 19.4699993 -0.913468 0.406909 0.9998646 +4753 1 1.72 14.1599999 14.1599999 17.7000008 0.142699 0.989766 1.0 +4754 1 1.72 15.9300004 15.9300004 17.7000008 -0.920861 -0.38989 1.0 +4755 1 1.72 15.9300004 14.1599999 19.4699993 0.623914 -0.781493 0.9998646 +4756 1 1.72 14.1599999 15.9300004 19.4699993 -0.828256 -0.56035 0.9998646 +4757 1 1.72 17.7000008 14.1599999 17.7000008 -0.258405 0.966037 1.0 +4758 1 1.72 19.4699993 15.9300004 17.7000008 0.74072 0.671814 1.0 +4759 1 1.72 19.4699993 14.1599999 19.4699993 0.641762 -0.766904 0.9998646 +4760 1 1.72 17.7000008 15.9300004 19.4699993 -0.989296 -0.145925 0.9998646 +4761 1 1.72 21.2399998 14.1599999 17.7000008 -0.810254 0.586079 1.0 +4762 1 1.72 23.0100002 15.9300004 17.7000008 0.655839 0.754901 1.0 +4763 1 1.72 23.0100002 14.1599999 19.4699993 0.998305 0.0581924 0.9998646 +4764 1 1.72 21.2399998 15.9300004 19.4699993 -0.76789 0.640581 0.9998646 +4765 1 1.72 24.7800007 14.1599999 17.7000008 -0.410016 -0.912078 1.0 +4766 1 1.72 26.5499993 15.9300004 17.7000008 0.911191 0.411984 1.0 +4767 1 1.72 26.5499993 14.1599999 19.4699993 0.328368 0.94455 0.9998646 +4768 1 1.72 24.7800007 15.9300004 19.4699993 -0.759067 -0.651012 0.9998646 +4769 1 1.72 0.0 17.7000008 17.7000008 -0.755623 0.655006 1.0 +4770 1 1.72 1.77 19.4699993 17.7000008 -0.558683 -0.829382 1.0 +4771 1 1.72 1.77 17.7000008 19.4699993 0.986182 -0.165668 0.9998646 +4772 1 1.72 0.0 19.4699993 19.4699993 -0.642325 0.766433 0.9998646 +4773 1 1.72 3.54 17.7000008 17.7000008 -0.844871 0.53497 1.0 +4774 1 1.72 5.31 19.4699993 17.7000008 0.48545 0.874264 1.0 +4775 1 1.72 5.31 17.7000008 19.4699993 0.57745 -0.816426 0.9998646 +4776 1 1.72 3.54 19.4699993 19.4699993 -0.584462 0.811421 0.9998646 +4777 1 1.72 7.0799999 17.7000008 17.7000008 -0.402171 0.915565 1.0 +4778 1 1.72 8.8500004 19.4699993 17.7000008 0.710853 0.70334 1.0 +4779 1 1.72 8.8500004 17.7000008 19.4699993 0.532986 -0.846124 0.9998646 +4780 1 1.72 7.0799999 19.4699993 19.4699993 0.700774 0.713383 0.9998646 +4781 1 1.72 10.6199999 17.7000008 17.7000008 0.0735889 0.997289 1.0 +4782 1 1.72 12.3900004 19.4699993 17.7000008 -0.986772 0.162111 1.0 +4783 1 1.72 12.3900004 17.7000008 19.4699993 -0.947271 -0.320433 0.9998646 +4784 1 1.72 10.6199999 19.4699993 19.4699993 -0.257096 -0.966386 0.9998646 +4785 1 1.72 14.1599999 17.7000008 17.7000008 -0.173897 -0.984764 1.0 +4786 1 1.72 15.9300004 19.4699993 17.7000008 -0.893974 -0.448119 1.0 +4787 1 1.72 15.9300004 17.7000008 19.4699993 0.498785 0.866726 0.9998646 +4788 1 1.72 14.1599999 19.4699993 19.4699993 0.227872 0.973691 0.9998646 +4789 1 1.72 17.7000008 17.7000008 17.7000008 -0.969279 0.245964 1.0 +4790 1 1.72 19.4699993 19.4699993 17.7000008 -0.444064 0.895995 1.0 +4791 1 1.72 19.4699993 17.7000008 19.4699993 0.839164 0.543878 0.9998646 +4792 1 1.72 17.7000008 19.4699993 19.4699993 -0.457329 0.889297 0.9998646 +4793 1 1.72 21.2399998 17.7000008 17.7000008 0.445656 0.895204 1.0 +4794 1 1.72 23.0100002 19.4699993 17.7000008 0.283655 0.958926 1.0 +4795 1 1.72 23.0100002 17.7000008 19.4699993 0.50898 0.860778 0.9998646 +4796 1 1.72 21.2399998 19.4699993 19.4699993 -0.620733 0.784022 0.9998646 +4797 1 1.72 24.7800007 17.7000008 17.7000008 -0.839294 0.543677 1.0 +4798 1 1.72 26.5499993 19.4699993 17.7000008 0.226712 0.973962 1.0 +4799 1 1.72 26.5499993 17.7000008 19.4699993 0.160581 -0.987023 0.9998646 +4800 1 1.72 24.7800007 19.4699993 19.4699993 -0.766613 0.64211 0.9998646 +4801 1 1.72 0.0 21.2399998 17.7000008 0.370123 -0.928983 1.0 +4802 1 1.72 1.77 23.0100002 17.7000008 -0.996751 -0.0805427 1.0 +4803 1 1.72 1.77 21.2399998 19.4699993 -0.877737 0.479143 0.9998646 +4804 1 1.72 0.0 23.0100002 19.4699993 -0.176344 -0.984329 0.9998646 +4805 1 1.72 3.54 21.2399998 17.7000008 -0.812291 -0.583252 1.0 +4806 1 1.72 5.31 23.0100002 17.7000008 -0.963973 -0.266002 1.0 +4807 1 1.72 5.31 21.2399998 19.4699993 0.438022 0.898964 0.9998646 +4808 1 1.72 3.54 23.0100002 19.4699993 0.936712 -0.350101 0.9998646 +4809 1 1.72 7.0799999 21.2399998 17.7000008 0.609551 -0.792747 1.0 +4810 1 1.72 8.8500004 23.0100002 17.7000008 0.705278 -0.708931 1.0 +4811 1 1.72 8.8500004 21.2399998 19.4699993 -0.958505 -0.285074 0.9998646 +4812 1 1.72 7.0799999 23.0100002 19.4699993 0.201802 -0.979426 0.9998646 +4813 1 1.72 10.6199999 21.2399998 17.7000008 -0.141119 -0.989993 1.0 +4814 1 1.72 12.3900004 23.0100002 17.7000008 -0.52444 0.851447 1.0 +4815 1 1.72 12.3900004 21.2399998 19.4699993 0.705299 0.70891 0.9998646 +4816 1 1.72 10.6199999 23.0100002 19.4699993 -0.381262 -0.924467 0.9998646 +4817 1 1.72 14.1599999 21.2399998 17.7000008 -0.843638 -0.536912 1.0 +4818 1 1.72 15.9300004 23.0100002 17.7000008 0.0410599 -0.999157 1.0 +4819 1 1.72 15.9300004 21.2399998 19.4699993 -0.0055479 -0.999985 0.9998646 +4820 1 1.72 14.1599999 23.0100002 19.4699993 0.926649 0.375927 0.9998646 +4821 1 1.72 17.7000008 21.2399998 17.7000008 0.595931 0.803036 1.0 +4822 1 1.72 19.4699993 23.0100002 17.7000008 0.518293 -0.855203 1.0 +4823 1 1.72 19.4699993 21.2399998 19.4699993 0.984962 -0.172773 0.9998646 +4824 1 1.72 17.7000008 23.0100002 19.4699993 -0.964206 0.265155 0.9998646 +4825 1 1.72 21.2399998 21.2399998 17.7000008 0.807127 0.590378 1.0 +4826 1 1.72 23.0100002 23.0100002 17.7000008 -0.812304 0.583234 1.0 +4827 1 1.72 23.0100002 21.2399998 19.4699993 -0.311821 0.950141 0.9998646 +4828 1 1.72 21.2399998 23.0100002 19.4699993 0.855357 0.518039 0.9998646 +4829 1 1.72 24.7800007 21.2399998 17.7000008 -0.0451344 -0.998981 1.0 +4830 1 1.72 26.5499993 23.0100002 17.7000008 0.801778 0.597622 1.0 +4831 1 1.72 26.5499993 21.2399998 19.4699993 0.173712 -0.984796 0.9998646 +4832 1 1.72 24.7800007 23.0100002 19.4699993 -0.147421 -0.989074 0.9998646 +4833 1 1.72 0.0 24.7800007 17.7000008 -0.96452 0.264009 1.0 +4834 1 1.72 1.77 26.5499993 17.7000008 -0.990408 -0.138174 1.0 +4835 1 1.72 1.77 24.7800007 19.4699993 -0.50363 0.863919 0.9998646 +4836 1 1.72 0.0 26.5499993 19.4699993 -0.888278 -0.459306 0.9998646 +4837 1 1.72 3.54 24.7800007 17.7000008 -0.69788 -0.716215 1.0 +4838 1 1.72 5.31 26.5499993 17.7000008 -0.984385 0.176028 1.0 +4839 1 1.72 5.31 24.7800007 19.4699993 -0.99621 -0.0869785 0.9998646 +4840 1 1.72 3.54 26.5499993 19.4699993 -0.632368 -0.774668 0.9998646 +4841 1 1.72 7.0799999 24.7800007 17.7000008 0.981394 0.192006 1.0 +4842 1 1.72 8.8500004 26.5499993 17.7000008 -0.823995 0.566597 1.0 +4843 1 1.72 8.8500004 24.7800007 19.4699993 -0.961219 0.275786 0.9998646 +4844 1 1.72 7.0799999 26.5499993 19.4699993 -0.730726 0.68267 0.9998646 +4845 1 1.72 10.6199999 24.7800007 17.7000008 -0.148554 -0.988904 1.0 +4846 1 1.72 12.3900004 26.5499993 17.7000008 0.989886 0.141863 1.0 +4847 1 1.72 12.3900004 24.7800007 19.4699993 0.722733 0.691127 0.9998646 +4848 1 1.72 10.6199999 26.5499993 19.4699993 0.739725 0.672909 0.9998646 +4849 1 1.72 14.1599999 24.7800007 17.7000008 0.139647 0.990201 1.0 +4850 1 1.72 15.9300004 26.5499993 17.7000008 0.72947 0.684013 1.0 +4851 1 1.72 15.9300004 24.7800007 19.4699993 0.804404 -0.594082 0.9998646 +4852 1 1.72 14.1599999 26.5499993 19.4699993 -0.19326 0.981147 0.9998646 +4853 1 1.72 17.7000008 24.7800007 17.7000008 0.745325 -0.666702 1.0 +4854 1 1.72 19.4699993 26.5499993 17.7000008 0.910565 -0.413365 1.0 +4855 1 1.72 19.4699993 24.7800007 19.4699993 -0.995491 0.0948576 0.9998646 +4856 1 1.72 17.7000008 26.5499993 19.4699993 0.58679 -0.809739 0.9998646 +4857 1 1.72 21.2399998 24.7800007 17.7000008 0.847549 -0.530718 1.0 +4858 1 1.72 23.0100002 26.5499993 17.7000008 0.155607 0.987819 1.0 +4859 1 1.72 23.0100002 24.7800007 19.4699993 -0.874717 -0.484635 0.9998646 +4860 1 1.72 21.2399998 26.5499993 19.4699993 0.843141 0.537693 0.9998646 +4861 1 1.72 24.7800007 24.7800007 17.7000008 0.0392297 -0.99923 1.0 +4862 1 1.72 26.5499993 26.5499993 17.7000008 -0.665476 -0.746419 1.0 +4863 1 1.72 26.5499993 24.7800007 19.4699993 -0.987315 -0.158773 0.9998646 +4864 1 1.72 24.7800007 26.5499993 19.4699993 -0.926055 -0.377388 0.9998646 +4865 1 1.72 0.0 14.1599999 21.2399998 -0.859299 0.511473 0.9508352 +4866 1 1.72 1.77 15.9300004 21.2399998 -0.947509 0.319728 0.9508352 +4867 1 1.72 1.77 14.1599999 23.0100002 -0.549143 -0.835728 0.8177586 +4868 1 1.72 0.0 15.9300004 23.0100002 -0.409049 0.912513 0.8177586 +4869 1 1.72 3.54 14.1599999 21.2399998 0.948492 0.316801 0.9508352 +4870 1 1.72 5.31 15.9300004 21.2399998 0.418075 0.908412 0.9508352 +4871 1 1.72 5.31 14.1599999 23.0100002 0.829361 -0.558713 0.8177586 +4872 1 1.72 3.54 15.9300004 23.0100002 0.680949 0.732331 0.8177586 +4873 1 1.72 7.0799999 14.1599999 21.2399998 0.421429 -0.906861 0.9508352 +4874 1 1.72 8.8500004 15.9300004 21.2399998 -0.679022 0.734118 0.9508352 +4875 1 1.72 8.8500004 14.1599999 23.0100002 0.877322 -0.479903 0.8177586 +4876 1 1.72 7.0799999 15.9300004 23.0100002 -0.0614811 -0.998108 0.8177586 +4877 1 1.72 10.6199999 14.1599999 21.2399998 -0.932853 -0.360258 0.9508352 +4878 1 1.72 12.3900004 15.9300004 21.2399998 -0.416156 0.909293 0.9508352 +4879 1 1.72 12.3900004 14.1599999 23.0100002 -0.9054 -0.42456 0.8177586 +4880 1 1.72 10.6199999 15.9300004 23.0100002 -0.910881 -0.41267 0.8177586 +4881 1 1.72 14.1599999 14.1599999 21.2399998 -0.9533 0.302024 0.9508352 +4882 1 1.72 15.9300004 15.9300004 21.2399998 0.672984 -0.739657 0.9508352 +4883 1 1.72 15.9300004 14.1599999 23.0100002 -0.371384 0.928479 0.8177586 +4884 1 1.72 14.1599999 15.9300004 23.0100002 0.983833 0.179087 0.8177586 +4885 1 1.72 17.7000008 14.1599999 21.2399998 0.608993 0.793175 0.9508352 +4886 1 1.72 19.4699993 15.9300004 21.2399998 -0.703806 -0.710393 0.9508352 +4887 1 1.72 19.4699993 14.1599999 23.0100002 0.556676 -0.83073 0.8177586 +4888 1 1.72 17.7000008 15.9300004 23.0100002 -0.50991 -0.860228 0.8177586 +4889 1 1.72 21.2399998 14.1599999 21.2399998 -0.458692 0.888595 0.9508352 +4890 1 1.72 23.0100002 15.9300004 21.2399998 0.140923 -0.99002 0.9508352 +4891 1 1.72 23.0100002 14.1599999 23.0100002 0.994933 -0.100543 0.8177586 +4892 1 1.72 21.2399998 15.9300004 23.0100002 -0.514367 -0.85757 0.8177586 +4893 1 1.72 24.7800007 14.1599999 21.2399998 0.611336 0.791371 0.9508352 +4894 1 1.72 26.5499993 15.9300004 21.2399998 0.614774 0.788704 0.9508352 +4895 1 1.72 26.5499993 14.1599999 23.0100002 -0.217201 0.976127 0.8177586 +4896 1 1.72 24.7800007 15.9300004 23.0100002 0.279073 -0.96027 0.8177586 +4897 1 1.72 0.0 17.7000008 21.2399998 -0.0555854 0.998454 0.9508352 +4898 1 1.72 1.77 19.4699993 21.2399998 0.696673 0.717389 0.9508352 +4899 1 1.72 1.77 17.7000008 23.0100002 0.180283 0.983615 0.8177586 +4900 1 1.72 0.0 19.4699993 23.0100002 -0.669533 -0.742782 0.8177586 +4901 1 1.72 3.54 17.7000008 21.2399998 -0.139767 0.990184 0.9508352 +4902 1 1.72 5.31 19.4699993 21.2399998 -0.994595 -0.103829 0.9508352 +4903 1 1.72 5.31 17.7000008 23.0100002 -0.583311 0.812249 0.8177586 +4904 1 1.72 3.54 19.4699993 23.0100002 0.945954 0.324299 0.8177586 +4905 1 1.72 7.0799999 17.7000008 21.2399998 0.859464 0.511195 0.9508352 +4906 1 1.72 8.8500004 19.4699993 21.2399998 0.537374 -0.843344 0.9508352 +4907 1 1.72 8.8500004 17.7000008 23.0100002 -0.6427 -0.766118 0.8177586 +4908 1 1.72 7.0799999 19.4699993 23.0100002 -0.986665 -0.162764 0.8177586 +4909 1 1.72 10.6199999 17.7000008 21.2399998 -0.992585 0.121553 0.9508352 +4910 1 1.72 12.3900004 19.4699993 21.2399998 -0.747558 0.664196 0.9508352 +4911 1 1.72 12.3900004 17.7000008 23.0100002 0.304539 -0.9525 0.8177586 +4912 1 1.72 10.6199999 19.4699993 23.0100002 -0.990568 0.137025 0.8177586 +4913 1 1.72 14.1599999 17.7000008 21.2399998 -0.619412 -0.785066 0.9508352 +4914 1 1.72 15.9300004 19.4699993 21.2399998 0.535863 -0.844305 0.9508352 +4915 1 1.72 15.9300004 17.7000008 23.0100002 -0.98722 0.159363 0.8177586 +4916 1 1.72 14.1599999 19.4699993 23.0100002 -0.529231 -0.848478 0.8177586 +4917 1 1.72 17.7000008 17.7000008 21.2399998 0.161865 -0.986813 0.9508352 +4918 1 1.72 19.4699993 19.4699993 21.2399998 -0.980679 -0.195622 0.9508352 +4919 1 1.72 19.4699993 17.7000008 23.0100002 -0.208298 -0.978065 0.8177586 +4920 1 1.72 17.7000008 19.4699993 23.0100002 0.998815 0.0486723 0.8177586 +4921 1 1.72 21.2399998 17.7000008 21.2399998 0.429036 0.903287 0.9508352 +4922 1 1.72 23.0100002 19.4699993 21.2399998 -0.794053 -0.607849 0.9508352 +4923 1 1.72 23.0100002 17.7000008 23.0100002 -0.658344 0.752717 0.8177586 +4924 1 1.72 21.2399998 19.4699993 23.0100002 -0.80656 0.591152 0.8177586 +4925 1 1.72 24.7800007 17.7000008 21.2399998 0.471104 -0.882078 0.9508352 +4926 1 1.72 26.5499993 19.4699993 21.2399998 -0.936966 -0.349419 0.9508352 +4927 1 1.72 26.5499993 17.7000008 23.0100002 0.01024 -0.999948 0.8177586 +4928 1 1.72 24.7800007 19.4699993 23.0100002 -0.705147 0.709062 0.8177586 +4929 1 1.72 0.0 21.2399998 21.2399998 0.546412 -0.837517 0.9508352 +4930 1 1.72 1.77 23.0100002 21.2399998 0.530285 0.847819 0.9508352 +4931 1 1.72 1.77 21.2399998 23.0100002 -0.666762 -0.745271 0.8177586 +4932 1 1.72 0.0 23.0100002 23.0100002 0.814231 0.580542 0.8177586 +4933 1 1.72 3.54 21.2399998 21.2399998 -0.766357 -0.642415 0.9508352 +4934 1 1.72 5.31 23.0100002 21.2399998 0.725931 -0.687768 0.9508352 +4935 1 1.72 5.31 21.2399998 23.0100002 -0.624618 0.78093 0.8177586 +4936 1 1.72 3.54 23.0100002 23.0100002 -0.388709 0.92136 0.8177586 +4937 1 1.72 7.0799999 21.2399998 21.2399998 0.749884 0.66157 0.9508352 +4938 1 1.72 8.8500004 23.0100002 21.2399998 -0.293017 0.956107 0.9508352 +4939 1 1.72 8.8500004 21.2399998 23.0100002 -0.929705 0.368305 0.8177586 +4940 1 1.72 7.0799999 23.0100002 23.0100002 -0.480512 -0.876988 0.8177586 +4941 1 1.72 10.6199999 21.2399998 21.2399998 -0.619122 0.785295 0.9508352 +4942 1 1.72 12.3900004 23.0100002 21.2399998 -0.779729 0.626117 0.9508352 +4943 1 1.72 12.3900004 21.2399998 23.0100002 -0.581943 0.81323 0.8177586 +4944 1 1.72 10.6199999 23.0100002 23.0100002 0.479238 -0.877685 0.8177586 +4945 1 1.72 14.1599999 21.2399998 21.2399998 0.931306 -0.364237 0.9508352 +4946 1 1.72 15.9300004 23.0100002 21.2399998 0.997542 -0.0700703 0.9508352 +4947 1 1.72 15.9300004 21.2399998 23.0100002 0.981493 0.191499 0.8177586 +4948 1 1.72 14.1599999 23.0100002 23.0100002 0.695362 0.71866 0.8177586 +4949 1 1.72 17.7000008 21.2399998 21.2399998 -0.991962 0.12654 0.9508352 +4950 1 1.72 19.4699993 23.0100002 21.2399998 -0.996948 -0.0780626 0.9508352 +4951 1 1.72 19.4699993 21.2399998 23.0100002 0.926065 0.377364 0.8177586 +4952 1 1.72 17.7000008 23.0100002 23.0100002 -0.0634509 0.997985 0.8177586 +4953 1 1.72 21.2399998 21.2399998 21.2399998 0.809001 -0.587807 0.9508352 +4954 1 1.72 23.0100002 23.0100002 21.2399998 0.0810413 -0.996711 0.9508352 +4955 1 1.72 23.0100002 21.2399998 23.0100002 0.444743 0.895658 0.8177586 +4956 1 1.72 21.2399998 23.0100002 23.0100002 0.576019 -0.817436 0.8177586 +4957 1 1.72 24.7800007 21.2399998 21.2399998 -0.104116 0.994565 0.9508352 +4958 1 1.72 26.5499993 23.0100002 21.2399998 -0.686861 -0.726789 0.9508352 +4959 1 1.72 26.5499993 21.2399998 23.0100002 -0.99817 -0.0604626 0.8177586 +4960 1 1.72 24.7800007 23.0100002 23.0100002 0.917693 -0.39729 0.8177586 +4961 1 1.72 0.0 24.7800007 21.2399998 0.689075 -0.72469 0.9508352 +4962 1 1.72 1.77 26.5499993 21.2399998 -0.9207 0.390272 0.9508352 +4963 1 1.72 1.77 24.7800007 23.0100002 0.882098 -0.471066 0.8177586 +4964 1 1.72 0.0 26.5499993 23.0100002 -0.187894 0.982189 0.8177586 +4965 1 1.72 3.54 24.7800007 21.2399998 0.804801 0.593545 0.9508352 +4966 1 1.72 5.31 26.5499993 21.2399998 0.769036 -0.639205 0.9508352 +4967 1 1.72 5.31 24.7800007 23.0100002 -0.830625 -0.556833 0.8177586 +4968 1 1.72 3.54 26.5499993 23.0100002 -0.501438 0.865193 0.8177586 +4969 1 1.72 7.0799999 24.7800007 21.2399998 -0.311265 0.950323 0.9508352 +4970 1 1.72 8.8500004 26.5499993 21.2399998 -0.702551 -0.711633 0.9508352 +4971 1 1.72 8.8500004 24.7800007 23.0100002 -0.964031 0.265788 0.8177586 +4972 1 1.72 7.0799999 26.5499993 23.0100002 -0.835662 0.549244 0.8177586 +4973 1 1.72 10.6199999 24.7800007 21.2399998 -0.996065 0.0886264 0.9508352 +4974 1 1.72 12.3900004 26.5499993 21.2399998 0.827753 -0.561092 0.9508352 +4975 1 1.72 12.3900004 24.7800007 23.0100002 -0.359947 0.932973 0.8177586 +4976 1 1.72 10.6199999 26.5499993 23.0100002 -0.9958 0.091554 0.8177586 +4977 1 1.72 14.1599999 24.7800007 21.2399998 -0.984559 0.17505 0.9508352 +4978 1 1.72 15.9300004 26.5499993 21.2399998 -0.964078 0.26562 0.9508352 +4979 1 1.72 15.9300004 24.7800007 23.0100002 -0.768137 -0.640286 0.8177586 +4980 1 1.72 14.1599999 26.5499993 23.0100002 -0.634836 0.772647 0.8177586 +4981 1 1.72 17.7000008 24.7800007 21.2399998 -0.694609 -0.719387 0.9508352 +4982 1 1.72 19.4699993 26.5499993 21.2399998 0.54219 0.840256 0.9508352 +4983 1 1.72 19.4699993 24.7800007 23.0100002 -0.791282 -0.611451 0.8177586 +4984 1 1.72 17.7000008 26.5499993 23.0100002 -0.256791 0.966467 0.8177586 +4985 1 1.72 21.2399998 24.7800007 21.2399998 -0.887382 0.461035 0.9508352 +4986 1 1.72 23.0100002 26.5499993 21.2399998 -0.235944 0.971767 0.9508352 +4987 1 1.72 23.0100002 24.7800007 23.0100002 -0.527684 0.849441 0.8177586 +4988 1 1.72 21.2399998 26.5499993 23.0100002 0.771936 0.6357 0.8177586 +4989 1 1.72 24.7800007 24.7800007 21.2399998 -0.719308 0.694691 0.9508352 +4990 1 1.72 26.5499993 26.5499993 21.2399998 0.483936 0.875103 0.9508352 +4991 1 1.72 26.5499993 24.7800007 23.0100002 0.918191 -0.396138 0.8177586 +4992 1 1.72 24.7800007 26.5499993 23.0100002 -0.997321 -0.0731492 0.8177586 +4993 1 1.72 0.0 14.1599999 24.7800007 0.649213 -0.760607 0.6123979 +4994 1 1.72 1.77 15.9300004 24.7800007 0.471464 0.881885 0.6123979 +4995 1 1.72 1.77 14.1599999 26.5499993 -0.953886 0.30017 0.3529058 +4996 1 1.72 0.0 15.9300004 26.5499993 -0.915811 -0.401608 0.3529058 +4997 1 1.72 3.54 14.1599999 24.7800007 0.769699 -0.638407 0.6123979 +4998 1 1.72 5.31 15.9300004 24.7800007 0.618394 -0.785868 0.6123979 +4999 1 1.72 5.31 14.1599999 26.5499993 0.430537 0.902573 0.3529058 +5000 1 1.72 3.54 15.9300004 26.5499993 -0.164837 -0.986321 0.3529058 +5001 1 1.72 7.0799999 14.1599999 24.7800007 -0.618317 -0.785929 0.6123979 +5002 1 1.72 8.8500004 15.9300004 24.7800007 -0.485147 0.874433 0.6123979 +5003 1 1.72 8.8500004 14.1599999 26.5499993 -0.76817 -0.640246 0.3529058 +5004 1 1.72 7.0799999 15.9300004 26.5499993 -0.718033 -0.696009 0.3529058 +5005 1 1.72 10.6199999 14.1599999 24.7800007 0.856403 -0.516308 0.6123979 +5006 1 1.72 12.3900004 15.9300004 24.7800007 0.784956 0.619552 0.6123979 +5007 1 1.72 12.3900004 14.1599999 26.5499993 -0.932373 0.361497 0.3529058 +5008 1 1.72 10.6199999 15.9300004 26.5499993 -0.402786 0.915294 0.3529058 +5009 1 1.72 14.1599999 14.1599999 24.7800007 -0.852333 -0.522999 0.6123979 +5010 1 1.72 15.9300004 15.9300004 24.7800007 0.503565 0.863957 0.6123979 +5011 1 1.72 15.9300004 14.1599999 26.5499993 -0.325636 0.945495 0.3529058 +5012 1 1.72 14.1599999 15.9300004 26.5499993 -0.999297 -0.0374935 0.3529058 +5013 1 1.72 17.7000008 14.1599999 24.7800007 -0.321973 -0.946749 0.6123979 +5014 1 1.72 19.4699993 15.9300004 24.7800007 -0.996288 0.0860804 0.6123979 +5015 1 1.72 19.4699993 14.1599999 26.5499993 -0.95317 0.302436 0.3529058 +5016 1 1.72 17.7000008 15.9300004 26.5499993 0.427529 0.904002 0.3529058 +5017 1 1.72 21.2399998 14.1599999 24.7800007 0.644001 -0.765025 0.6123979 +5018 1 1.72 23.0100002 15.9300004 24.7800007 0.939904 0.341439 0.6123979 +5019 1 1.72 23.0100002 14.1599999 26.5499993 0.896518 0.443007 0.3529058 +5020 1 1.72 21.2399998 15.9300004 26.5499993 0.179121 -0.983827 0.3529058 +5021 1 1.72 24.7800007 14.1599999 24.7800007 -0.937835 -0.347082 0.6123979 +5022 1 1.72 26.5499993 15.9300004 24.7800007 0.63078 0.775961 0.6123979 +5023 1 1.72 26.5499993 14.1599999 26.5499993 0.303892 -0.952706 0.3529058 +5024 1 1.72 24.7800007 15.9300004 26.5499993 0.961916 0.273344 0.3529058 +5025 1 1.72 0.0 17.7000008 24.7800007 -0.216547 -0.976272 0.6123979 +5026 1 1.72 1.77 19.4699993 24.7800007 -0.99581 0.091445 0.6123979 +5027 1 1.72 1.77 17.7000008 26.5499993 0.767442 -0.641118 0.3529058 +5028 1 1.72 0.0 19.4699993 26.5499993 0.00869188 -0.999962 0.3529058 +5029 1 1.72 3.54 17.7000008 24.7800007 0.500197 -0.865911 0.6123979 +5030 1 1.72 5.31 19.4699993 24.7800007 0.671199 0.741277 0.6123979 +5031 1 1.72 5.31 17.7000008 26.5499993 -0.906892 -0.421364 0.3529058 +5032 1 1.72 3.54 19.4699993 26.5499993 0.559857 0.828589 0.3529058 +5033 1 1.72 7.0799999 17.7000008 24.7800007 -0.1065 -0.994313 0.6123979 +5034 1 1.72 8.8500004 19.4699993 24.7800007 0.995668 0.0929837 0.6123979 +5035 1 1.72 8.8500004 17.7000008 26.5499993 -0.488411 0.872614 0.3529058 +5036 1 1.72 7.0799999 19.4699993 26.5499993 -0.247088 0.968993 0.3529058 +5037 1 1.72 10.6199999 17.7000008 24.7800007 -0.287187 0.957874 0.6123979 +5038 1 1.72 12.3900004 19.4699993 24.7800007 0.965967 -0.258666 0.6123979 +5039 1 1.72 12.3900004 17.7000008 26.5499993 -0.203482 0.979079 0.3529058 +5040 1 1.72 10.6199999 19.4699993 26.5499993 -0.321459 0.946923 0.3529058 +5041 1 1.72 14.1599999 17.7000008 24.7800007 0.340045 -0.940409 0.6123979 +5042 1 1.72 15.9300004 19.4699993 24.7800007 -0.556815 0.830637 0.6123979 +5043 1 1.72 15.9300004 17.7000008 26.5499993 0.932065 -0.362291 0.3529058 +5044 1 1.72 14.1599999 19.4699993 26.5499993 0.833157 -0.553036 0.3529058 +5045 1 1.72 17.7000008 17.7000008 24.7800007 -0.991443 -0.130537 0.6123979 +5046 1 1.72 19.4699993 19.4699993 24.7800007 -0.134961 0.990851 0.6123979 +5047 1 1.72 19.4699993 17.7000008 26.5499993 0.67943 0.73374 0.3529058 +5048 1 1.72 17.7000008 19.4699993 26.5499993 -0.973762 -0.227568 0.3529058 +5049 1 1.72 21.2399998 17.7000008 24.7800007 -0.544769 0.838586 0.6123979 +5050 1 1.72 23.0100002 19.4699993 24.7800007 0.943199 -0.332229 0.6123979 +5051 1 1.72 23.0100002 17.7000008 26.5499993 0.815557 -0.578677 0.3529058 +5052 1 1.72 21.2399998 19.4699993 26.5499993 -0.880082 -0.474822 0.3529058 +5053 1 1.72 24.7800007 17.7000008 24.7800007 0.757198 0.653185 0.6123979 +5054 1 1.72 26.5499993 19.4699993 24.7800007 0.698452 0.715657 0.6123979 +5055 1 1.72 26.5499993 17.7000008 26.5499993 0.185765 0.982594 0.3529058 +5056 1 1.72 24.7800007 19.4699993 26.5499993 0.827442 0.561552 0.3529058 +5057 1 1.72 0.0 21.2399998 24.7800007 0.0012874 -0.999999 0.6123979 +5058 1 1.72 1.77 23.0100002 24.7800007 -0.714463 -0.699673 0.6123979 +5059 1 1.72 1.77 21.2399998 26.5499993 -0.541319 0.840817 0.3529058 +5060 1 1.72 0.0 23.0100002 26.5499993 -0.819916 -0.572483 0.3529058 +5061 1 1.72 3.54 21.2399998 24.7800007 -0.685813 0.727778 0.6123979 +5062 1 1.72 5.31 23.0100002 24.7800007 0.706506 -0.707707 0.6123979 +5063 1 1.72 5.31 21.2399998 26.5499993 -0.721846 -0.692053 0.3529058 +5064 1 1.72 3.54 23.0100002 26.5499993 0.994997 -0.0999066 0.3529058 +5065 1 1.72 7.0799999 21.2399998 24.7800007 0.994778 -0.102062 0.6123979 +5066 1 1.72 8.8500004 23.0100002 24.7800007 -0.901532 0.432713 0.6123979 +5067 1 1.72 8.8500004 21.2399998 26.5499993 -0.758101 0.652137 0.3529058 +5068 1 1.72 7.0799999 23.0100002 26.5499993 0.545903 -0.837848 0.3529058 +5069 1 1.72 10.6199999 21.2399998 24.7800007 -0.311066 0.950388 0.6123979 +5070 1 1.72 12.3900004 23.0100002 24.7800007 -0.943213 0.332189 0.6123979 +5071 1 1.72 12.3900004 21.2399998 26.5499993 0.99872 0.0505823 0.3529058 +5072 1 1.72 10.6199999 23.0100002 26.5499993 -0.783184 0.621789 0.3529058 +5073 1 1.72 14.1599999 21.2399998 24.7800007 -0.34058 0.940215 0.6123979 +5074 1 1.72 15.9300004 23.0100002 24.7800007 -0.533482 0.845811 0.6123979 +5075 1 1.72 15.9300004 21.2399998 26.5499993 0.495343 0.868697 0.3529058 +5076 1 1.72 14.1599999 23.0100002 26.5499993 0.989277 0.146048 0.3529058 +5077 1 1.72 17.7000008 21.2399998 24.7800007 -0.364303 -0.931281 0.6123979 +5078 1 1.72 19.4699993 23.0100002 24.7800007 0.711971 -0.702209 0.6123979 +5079 1 1.72 19.4699993 21.2399998 26.5499993 -0.888562 0.458757 0.3529058 +5080 1 1.72 17.7000008 23.0100002 26.5499993 0.25824 0.966081 0.3529058 +5081 1 1.72 21.2399998 21.2399998 24.7800007 0.101864 -0.994798 0.6123979 +5082 1 1.72 23.0100002 23.0100002 24.7800007 -0.454654 0.890668 0.6123979 +5083 1 1.72 23.0100002 21.2399998 26.5499993 -0.711235 0.702954 0.3529058 +5084 1 1.72 21.2399998 23.0100002 26.5499993 -0.307221 0.951638 0.3529058 +5085 1 1.72 24.7800007 21.2399998 24.7800007 -0.724204 -0.689585 0.6123979 +5086 1 1.72 26.5499993 23.0100002 24.7800007 -0.325348 -0.945594 0.6123979 +5087 1 1.72 26.5499993 21.2399998 26.5499993 -0.705765 0.708446 0.3529058 +5088 1 1.72 24.7800007 23.0100002 26.5499993 0.891901 0.452231 0.3529058 +5089 1 1.72 0.0 24.7800007 24.7800007 -0.94282 -0.333302 0.6123979 +5090 1 1.72 1.77 26.5499993 24.7800007 -0.587454 -0.809258 0.6123979 +5091 1 1.72 1.77 24.7800007 26.5499993 0.781209 0.624269 0.3529058 +5092 1 1.72 0.0 26.5499993 26.5499993 -0.915198 0.403005 0.3529058 +5093 1 1.72 3.54 24.7800007 24.7800007 -0.574682 0.818377 0.6123979 +5094 1 1.72 5.31 26.5499993 24.7800007 -0.74574 0.666237 0.6123979 +5095 1 1.72 5.31 24.7800007 26.5499993 0.276988 -0.960873 0.3529058 +5096 1 1.72 3.54 26.5499993 26.5499993 0.722932 -0.690919 0.3529058 +5097 1 1.72 7.0799999 24.7800007 24.7800007 0.996475 -0.0838891 0.6123979 +5098 1 1.72 8.8500004 26.5499993 24.7800007 0.497023 -0.867737 0.6123979 +5099 1 1.72 8.8500004 24.7800007 26.5499993 -0.861946 0.507001 0.3529058 +5100 1 1.72 7.0799999 26.5499993 26.5499993 0.754572 -0.656218 0.3529058 +5101 1 1.72 10.6199999 24.7800007 24.7800007 -0.570168 0.821528 0.6123979 +5102 1 1.72 12.3900004 26.5499993 24.7800007 0.564689 -0.825304 0.6123979 +5103 1 1.72 12.3900004 24.7800007 26.5499993 0.610043 -0.792369 0.3529058 +5104 1 1.72 10.6199999 26.5499993 26.5499993 0.713516 -0.700639 0.3529058 +5105 1 1.72 14.1599999 24.7800007 24.7800007 -0.509962 0.860197 0.6123979 +5106 1 1.72 15.9300004 26.5499993 24.7800007 0.630623 -0.77609 0.6123979 +5107 1 1.72 15.9300004 24.7800007 26.5499993 -0.999923 0.0124217 0.3529058 +5108 1 1.72 14.1599999 26.5499993 26.5499993 -0.813024 0.58223 0.3529058 +5109 1 1.72 17.7000008 24.7800007 24.7800007 -0.131959 0.991255 0.6123979 +5110 1 1.72 19.4699993 26.5499993 24.7800007 -0.823885 0.566756 0.6123979 +5111 1 1.72 19.4699993 24.7800007 26.5499993 0.933887 0.357568 0.3529058 +5112 1 1.72 17.7000008 26.5499993 26.5499993 -0.705374 -0.708836 0.3529058 +5113 1 1.72 21.2399998 24.7800007 24.7800007 0.0150901 0.999886 0.6123979 +5114 1 1.72 23.0100002 26.5499993 24.7800007 0.596109 -0.802904 0.6123979 +5115 1 1.72 23.0100002 24.7800007 26.5499993 -0.899825 -0.436252 0.3529058 +5116 1 1.72 21.2399998 26.5499993 26.5499993 -0.519668 -0.854368 0.3529058 +5117 1 1.72 24.7800007 24.7800007 24.7800007 -0.751232 0.660038 0.6123979 +5118 1 1.72 26.5499993 26.5499993 24.7800007 0.797109 -0.603835 0.6123979 +5119 1 1.72 26.5499993 24.7800007 26.5499993 0.38916 -0.92117 0.3529058 +5120 1 1.72 24.7800007 26.5499993 26.5499993 0.999174 0.0406333 0.3529058 +5121 1 1.72 0.0 14.1599999 28.3199997 0.936404 0.350923 0.0622191 +5122 1 1.72 1.77 15.9300004 28.3199997 -0.920972 -0.38963 0.0622191 +5123 1 1.72 1.77 14.1599999 30.0900002 -0.506501 0.862239 -0.2339673 +5124 1 1.72 0.0 15.9300004 30.0900002 0.997989 0.0633857 -0.2339673 +5125 1 1.72 3.54 14.1599999 28.3199997 0.890646 0.454697 0.0622191 +5126 1 1.72 5.31 15.9300004 28.3199997 0.303706 -0.952766 0.0622191 +5127 1 1.72 5.31 14.1599999 30.0900002 -0.353716 -0.935353 -0.2339673 +5128 1 1.72 3.54 15.9300004 30.0900002 -0.516192 -0.856473 -0.2339673 +5129 1 1.72 7.0799999 14.1599999 28.3199997 -0.73024 0.68319 0.0622191 +5130 1 1.72 8.8500004 15.9300004 28.3199997 0.965554 0.260203 0.0622191 +5131 1 1.72 8.8500004 14.1599999 30.0900002 0.457961 0.888972 -0.2339673 +5132 1 1.72 7.0799999 15.9300004 30.0900002 -0.195705 -0.980663 -0.2339673 +5133 1 1.72 10.6199999 14.1599999 28.3199997 -0.932914 -0.360098 0.0622191 +5134 1 1.72 12.3900004 15.9300004 28.3199997 -0.484941 -0.874547 0.0622191 +5135 1 1.72 12.3900004 14.1599999 30.0900002 -0.674146 0.738598 -0.2339673 +5136 1 1.72 10.6199999 15.9300004 30.0900002 0.970753 0.240079 -0.2339673 +5137 1 1.72 14.1599999 14.1599999 28.3199997 -0.388955 -0.921257 0.0622191 +5138 1 1.72 15.9300004 15.9300004 28.3199997 -0.906629 0.421928 0.0622191 +5139 1 1.72 15.9300004 14.1599999 30.0900002 0.926955 -0.375173 -0.2339673 +5140 1 1.72 14.1599999 15.9300004 30.0900002 0.950179 0.311706 -0.2339673 +5141 1 1.72 17.7000008 14.1599999 28.3199997 0.689716 0.72408 0.0622191 +5142 1 1.72 19.4699993 15.9300004 28.3199997 0.732941 -0.680292 0.0622191 +5143 1 1.72 19.4699993 14.1599999 30.0900002 -0.825929 -0.563773 -0.2339673 +5144 1 1.72 17.7000008 15.9300004 30.0900002 0.431624 -0.902054 -0.2339673 +5145 1 1.72 21.2399998 14.1599999 28.3199997 -0.854854 -0.518869 0.0622191 +5146 1 1.72 23.0100002 15.9300004 28.3199997 0.482751 -0.875758 0.0622191 +5147 1 1.72 23.0100002 14.1599999 30.0900002 0.775163 -0.631761 -0.2339673 +5148 1 1.72 21.2399998 15.9300004 30.0900002 0.611785 -0.791024 -0.2339673 +5149 1 1.72 24.7800007 14.1599999 28.3199997 0.485109 -0.874454 0.0622191 +5150 1 1.72 26.5499993 15.9300004 28.3199997 -0.372972 -0.927843 0.0622191 +5151 1 1.72 26.5499993 14.1599999 30.0900002 0.982446 0.186549 -0.2339673 +5152 1 1.72 24.7800007 15.9300004 30.0900002 -0.393458 -0.919343 -0.2339673 +5153 1 1.72 0.0 17.7000008 28.3199997 -0.315445 -0.948944 0.0622191 +5154 1 1.72 1.77 19.4699993 28.3199997 -0.562917 0.826513 0.0622191 +5155 1 1.72 1.77 17.7000008 30.0900002 -0.987131 -0.159916 -0.2339673 +5156 1 1.72 0.0 19.4699993 30.0900002 -0.803633 0.595125 -0.2339673 +5157 1 1.72 3.54 17.7000008 28.3199997 -0.65859 -0.752502 0.0622191 +5158 1 1.72 5.31 19.4699993 28.3199997 0.999555 0.0298222 0.0622191 +5159 1 1.72 5.31 17.7000008 30.0900002 -0.948892 0.315602 -0.2339673 +5160 1 1.72 3.54 19.4699993 30.0900002 -0.341108 -0.940024 -0.2339673 +5161 1 1.72 7.0799999 17.7000008 28.3199997 -0.781295 0.624162 0.0622191 +5162 1 1.72 8.8500004 19.4699993 28.3199997 0.116526 -0.993188 0.0622191 +5163 1 1.72 8.8500004 17.7000008 30.0900002 -0.456192 -0.889881 -0.2339673 +5164 1 1.72 7.0799999 19.4699993 30.0900002 0.850451 -0.526055 -0.2339673 +5165 1 1.72 10.6199999 17.7000008 28.3199997 -0.816786 -0.57694 0.0622191 +5166 1 1.72 12.3900004 19.4699993 28.3199997 -0.87935 -0.476176 0.0622191 +5167 1 1.72 12.3900004 17.7000008 30.0900002 -0.207685 0.978196 -0.2339673 +5168 1 1.72 10.6199999 19.4699993 30.0900002 0.797819 -0.602898 -0.2339673 +5169 1 1.72 14.1599999 17.7000008 28.3199997 0.517279 -0.855817 0.0622191 +5170 1 1.72 15.9300004 19.4699993 28.3199997 -0.218342 0.975872 0.0622191 +5171 1 1.72 15.9300004 17.7000008 30.0900002 -0.870082 0.492906 -0.2339673 +5172 1 1.72 14.1599999 19.4699993 30.0900002 0.384419 -0.923159 -0.2339673 +5173 1 1.72 17.7000008 17.7000008 28.3199997 0.272317 -0.962208 0.0622191 +5174 1 1.72 19.4699993 19.4699993 28.3199997 -0.738903 0.673812 0.0622191 +5175 1 1.72 19.4699993 17.7000008 30.0900002 0.0900444 0.995938 -0.2339673 +5176 1 1.72 17.7000008 19.4699993 30.0900002 -0.987573 -0.157162 -0.2339673 +5177 1 1.72 21.2399998 17.7000008 28.3199997 -0.581449 -0.813583 0.0622191 +5178 1 1.72 23.0100002 19.4699993 28.3199997 -0.994211 0.107449 0.0622191 +5179 1 1.72 23.0100002 17.7000008 30.0900002 0.898962 -0.438027 -0.2339673 +5180 1 1.72 21.2399998 19.4699993 30.0900002 0.920183 0.391489 -0.2339673 +5181 1 1.72 24.7800007 17.7000008 28.3199997 0.677361 0.735651 0.0622191 +5182 1 1.72 26.5499993 19.4699993 28.3199997 -0.397341 0.917671 0.0622191 +5183 1 1.72 26.5499993 17.7000008 30.0900002 -0.985267 0.171024 -0.2339673 +5184 1 1.72 24.7800007 19.4699993 30.0900002 -0.980829 -0.19487 -0.2339673 +5185 1 1.72 0.0 21.2399998 28.3199997 0.0867301 0.996232 0.0622191 +5186 1 1.72 1.77 23.0100002 28.3199997 0.955104 -0.296271 0.0622191 +5187 1 1.72 1.77 21.2399998 30.0900002 0.630376 -0.77629 -0.2339673 +5188 1 1.72 0.0 23.0100002 30.0900002 0.993745 0.111669 -0.2339673 +5189 1 1.72 3.54 21.2399998 28.3199997 0.226838 0.973933 0.0622191 +5190 1 1.72 5.31 23.0100002 28.3199997 -0.928207 -0.372064 0.0622191 +5191 1 1.72 5.31 21.2399998 30.0900002 -0.964938 0.262479 -0.2339673 +5192 1 1.72 3.54 23.0100002 30.0900002 0.363426 -0.931623 -0.2339673 +5193 1 1.72 7.0799999 21.2399998 28.3199997 0.795243 0.606291 0.0622191 +5194 1 1.72 8.8500004 23.0100002 28.3199997 0.948913 -0.315538 0.0622191 +5195 1 1.72 8.8500004 21.2399998 30.0900002 -0.938523 0.345216 -0.2339673 +5196 1 1.72 7.0799999 23.0100002 30.0900002 0.728099 -0.685472 -0.2339673 +5197 1 1.72 10.6199999 21.2399998 28.3199997 -0.925696 0.378268 0.0622191 +5198 1 1.72 12.3900004 23.0100002 28.3199997 0.653074 0.757294 0.0622191 +5199 1 1.72 12.3900004 21.2399998 30.0900002 -0.946268 -0.323384 -0.2339673 +5200 1 1.72 10.6199999 23.0100002 30.0900002 -0.863035 -0.505145 -0.2339673 +5201 1 1.72 14.1599999 21.2399998 28.3199997 0.0380463 -0.999276 0.0622191 +5202 1 1.72 15.9300004 23.0100002 28.3199997 -0.989163 0.146823 0.0622191 +5203 1 1.72 15.9300004 21.2399998 30.0900002 0.712561 0.70161 -0.2339673 +5204 1 1.72 14.1599999 23.0100002 30.0900002 -0.526124 -0.850408 -0.2339673 +5205 1 1.72 17.7000008 21.2399998 28.3199997 0.984049 0.177899 0.0622191 +5206 1 1.72 19.4699993 23.0100002 28.3199997 -0.871017 0.491254 0.0622191 +5207 1 1.72 19.4699993 21.2399998 30.0900002 0.707706 -0.706507 -0.2339673 +5208 1 1.72 17.7000008 23.0100002 30.0900002 -0.258299 -0.966065 -0.2339673 +5209 1 1.72 21.2399998 21.2399998 28.3199997 0.45692 -0.889508 0.0622191 +5210 1 1.72 23.0100002 23.0100002 28.3199997 0.759946 -0.649986 0.0622191 +5211 1 1.72 23.0100002 21.2399998 30.0900002 -0.643073 0.765805 -0.2339673 +5212 1 1.72 21.2399998 23.0100002 30.0900002 0.347238 -0.937777 -0.2339673 +5213 1 1.72 24.7800007 21.2399998 28.3199997 -0.169673 0.9855 0.0622191 +5214 1 1.72 26.5499993 23.0100002 28.3199997 0.744735 0.66736 0.0622191 +5215 1 1.72 26.5499993 21.2399998 30.0900002 0.334654 -0.942341 -0.2339673 +5216 1 1.72 24.7800007 23.0100002 30.0900002 -0.968246 0.25 -0.2339673 +5217 1 1.72 0.0 24.7800007 28.3199997 0.915465 0.402397 0.0622191 +5218 1 1.72 1.77 26.5499993 28.3199997 0.80384 0.594846 0.0622191 +5219 1 1.72 1.77 24.7800007 30.0900002 0.66324 -0.748407 -0.2339673 +5220 1 1.72 0.0 26.5499993 30.0900002 0.750633 0.660719 -0.2339673 +5221 1 1.72 3.54 24.7800007 28.3199997 0.449802 -0.893128 0.0622191 +5222 1 1.72 5.31 26.5499993 28.3199997 -0.998079 -0.0619591 0.0622191 +5223 1 1.72 5.31 24.7800007 30.0900002 0.46524 -0.885185 -0.2339673 +5224 1 1.72 3.54 26.5499993 30.0900002 -0.720865 -0.693076 -0.2339673 +5225 1 1.72 7.0799999 24.7800007 28.3199997 0.333811 0.94264 0.0622191 +5226 1 1.72 8.8500004 26.5499993 28.3199997 0.956833 -0.290637 0.0622191 +5227 1 1.72 8.8500004 24.7800007 30.0900002 -0.318611 -0.947885 -0.2339673 +5228 1 1.72 7.0799999 26.5499993 30.0900002 0.88467 0.466218 -0.2339673 +5229 1 1.72 10.6199999 24.7800007 28.3199997 -0.434117 -0.900856 0.0622191 +5230 1 1.72 12.3900004 26.5499993 28.3199997 0.281938 0.959433 0.0622191 +5231 1 1.72 12.3900004 24.7800007 30.0900002 -0.680162 -0.733062 -0.2339673 +5232 1 1.72 10.6199999 26.5499993 30.0900002 -0.409279 -0.912409 -0.2339673 +5233 1 1.72 14.1599999 24.7800007 28.3199997 0.343407 0.939187 0.0622191 +5234 1 1.72 15.9300004 26.5499993 28.3199997 0.198347 -0.980132 0.0622191 +5235 1 1.72 15.9300004 24.7800007 30.0900002 0.497449 0.867493 -0.2339673 +5236 1 1.72 14.1599999 26.5499993 30.0900002 0.999964 -0.00851605 -0.2339673 +5237 1 1.72 17.7000008 24.7800007 28.3199997 0.768382 0.639991 0.0622191 +5238 1 1.72 19.4699993 26.5499993 28.3199997 0.966463 -0.256808 0.0622191 +5239 1 1.72 19.4699993 24.7800007 30.0900002 0.887957 0.459926 -0.2339673 +5240 1 1.72 17.7000008 26.5499993 30.0900002 -0.386982 0.922087 -0.2339673 +5241 1 1.72 21.2399998 24.7800007 28.3199997 -0.256382 0.966576 0.0622191 +5242 1 1.72 23.0100002 26.5499993 28.3199997 0.985861 0.167563 0.0622191 +5243 1 1.72 23.0100002 24.7800007 30.0900002 -0.81267 0.582724 -0.2339673 +5244 1 1.72 21.2399998 26.5499993 30.0900002 -0.800487 -0.59935 -0.2339673 +5245 1 1.72 24.7800007 24.7800007 28.3199997 -0.644728 0.764412 0.0622191 +5246 1 1.72 26.5499993 26.5499993 28.3199997 0.960616 0.277881 0.0622191 +5247 1 1.72 26.5499993 24.7800007 30.0900002 -0.806771 -0.590864 -0.2339673 +5248 1 1.72 24.7800007 26.5499993 30.0900002 0.67102 -0.741439 -0.2339673 +5249 1 1.72 0.0 14.1599999 31.8600006 -0.998507 0.0546209 -0.5094728 +5250 1 1.72 1.77 15.9300004 31.8600006 0.909033 0.416725 -0.5094728 +5251 1 1.72 1.77 14.1599999 33.6300011 -0.466077 -0.884744 -0.7399443 +5252 1 1.72 0.0 15.9300004 33.6300011 0.618832 0.785523 -0.7399443 +5253 1 1.72 3.54 14.1599999 31.8600006 0.864393 -0.502817 -0.5094728 +5254 1 1.72 5.31 15.9300004 31.8600006 -0.676238 -0.736683 -0.5094728 +5255 1 1.72 5.31 14.1599999 33.6300011 0.624955 -0.780661 -0.7399443 +5256 1 1.72 3.54 15.9300004 33.6300011 -0.829168 -0.559 -0.7399443 +5257 1 1.72 7.0799999 14.1599999 31.8600006 -0.28926 -0.957251 -0.5094728 +5258 1 1.72 8.8500004 15.9300004 31.8600006 0.733776 0.679392 -0.5094728 +5259 1 1.72 8.8500004 14.1599999 33.6300011 -0.11972 -0.992808 -0.7399443 +5260 1 1.72 7.0799999 15.9300004 33.6300011 -0.197605 0.980282 -0.7399443 +5261 1 1.72 10.6199999 14.1599999 31.8600006 0.649865 -0.76005 -0.5094728 +5262 1 1.72 12.3900004 15.9300004 31.8600006 0.892295 -0.451453 -0.5094728 +5263 1 1.72 12.3900004 14.1599999 33.6300011 0.270802 -0.962635 -0.7399443 +5264 1 1.72 10.6199999 15.9300004 33.6300011 -0.616011 -0.787737 -0.7399443 +5265 1 1.72 14.1599999 14.1599999 31.8600006 0.153639 0.988127 -0.5094728 +5266 1 1.72 15.9300004 15.9300004 31.8600006 -0.691492 -0.722384 -0.5094728 +5267 1 1.72 15.9300004 14.1599999 33.6300011 -0.991338 -0.131334 -0.7399443 +5268 1 1.72 14.1599999 15.9300004 33.6300011 0.697075 0.716999 -0.7399443 +5269 1 1.72 17.7000008 14.1599999 31.8600006 -0.0811343 0.996703 -0.5094728 +5270 1 1.72 19.4699993 15.9300004 31.8600006 -0.338332 -0.941027 -0.5094728 +5271 1 1.72 19.4699993 14.1599999 33.6300011 0.209732 0.977759 -0.7399443 +5272 1 1.72 17.7000008 15.9300004 33.6300011 0.220159 0.975464 -0.7399443 +5273 1 1.72 21.2399998 14.1599999 31.8600006 -0.715425 -0.698689 -0.5094728 +5274 1 1.72 23.0100002 15.9300004 31.8600006 -0.292528 0.956257 -0.5094728 +5275 1 1.72 23.0100002 14.1599999 33.6300011 0.392585 -0.919716 -0.7399443 +5276 1 1.72 21.2399998 15.9300004 33.6300011 0.871122 0.491066 -0.7399443 +5277 1 1.72 24.7800007 14.1599999 31.8600006 -0.446814 -0.894627 -0.5094728 +5278 1 1.72 26.5499993 15.9300004 31.8600006 -0.16761 -0.985853 -0.5094728 +5279 1 1.72 26.5499993 14.1599999 33.6300011 0.988968 -0.148132 -0.7399443 +5280 1 1.72 24.7800007 15.9300004 33.6300011 -0.142166 -0.989843 -0.7399443 +5281 1 1.72 0.0 17.7000008 31.8600006 -0.0817241 0.996655 -0.5094728 +5282 1 1.72 1.77 19.4699993 31.8600006 -0.215095 0.976593 -0.5094728 +5283 1 1.72 1.77 17.7000008 33.6300011 -0.651519 -0.758632 -0.7399443 +5284 1 1.72 0.0 19.4699993 33.6300011 0.0251259 -0.999684 -0.7399443 +5285 1 1.72 3.54 17.7000008 31.8600006 0.0344304 -0.999407 -0.5094728 +5286 1 1.72 5.31 19.4699993 31.8600006 -0.509912 0.860226 -0.5094728 +5287 1 1.72 5.31 17.7000008 33.6300011 -0.464734 0.88545 -0.7399443 +5288 1 1.72 3.54 19.4699993 33.6300011 0.386294 -0.922376 -0.7399443 +5289 1 1.72 7.0799999 17.7000008 31.8600006 -0.426555 0.904462 -0.5094728 +5290 1 1.72 8.8500004 19.4699993 31.8600006 0.865532 0.500854 -0.5094728 +5291 1 1.72 8.8500004 17.7000008 33.6300011 0.942082 0.335383 -0.7399443 +5292 1 1.72 7.0799999 19.4699993 33.6300011 -0.0418509 0.999124 -0.7399443 +5293 1 1.72 10.6199999 17.7000008 31.8600006 -0.789801 0.613363 -0.5094728 +5294 1 1.72 12.3900004 19.4699993 31.8600006 -0.979234 0.202734 -0.5094728 +5295 1 1.72 12.3900004 17.7000008 33.6300011 0.698459 -0.71565 -0.7399443 +5296 1 1.72 10.6199999 19.4699993 33.6300011 0.790094 -0.612986 -0.7399443 +5297 1 1.72 14.1599999 17.7000008 31.8600006 0.804675 0.593715 -0.5094728 +5298 1 1.72 15.9300004 19.4699993 31.8600006 -0.780968 -0.624572 -0.5094728 +5299 1 1.72 15.9300004 17.7000008 33.6300011 -0.700425 0.713726 -0.7399443 +5300 1 1.72 14.1599999 19.4699993 33.6300011 0.974495 0.224408 -0.7399443 +5301 1 1.72 17.7000008 17.7000008 31.8600006 -0.297954 -0.95458 -0.5094728 +5302 1 1.72 19.4699993 19.4699993 31.8600006 0.884182 0.467143 -0.5094728 +5303 1 1.72 19.4699993 17.7000008 33.6300011 -0.256865 -0.966447 -0.7399443 +5304 1 1.72 17.7000008 19.4699993 33.6300011 -0.804755 -0.593607 -0.7399443 +5305 1 1.72 21.2399998 17.7000008 31.8600006 0.450956 -0.892546 -0.5094728 +5306 1 1.72 23.0100002 19.4699993 31.8600006 -0.397426 0.917634 -0.5094728 +5307 1 1.72 23.0100002 17.7000008 33.6300011 0.312389 -0.949954 -0.7399443 +5308 1 1.72 21.2399998 19.4699993 33.6300011 0.959131 -0.282964 -0.7399443 +5309 1 1.72 24.7800007 17.7000008 31.8600006 -0.98402 0.178059 -0.5094728 +5310 1 1.72 26.5499993 19.4699993 31.8600006 -0.727382 0.686233 -0.5094728 +5311 1 1.72 26.5499993 17.7000008 33.6300011 -0.0703547 -0.997522 -0.7399443 +5312 1 1.72 24.7800007 19.4699993 33.6300011 -0.990546 0.137184 -0.7399443 +5313 1 1.72 0.0 21.2399998 31.8600006 0.460899 0.887453 -0.5094728 +5314 1 1.72 1.77 23.0100002 31.8600006 -0.76979 0.638298 -0.5094728 +5315 1 1.72 1.77 21.2399998 33.6300011 0.225061 -0.974345 -0.7399443 +5316 1 1.72 0.0 23.0100002 33.6300011 0.620394 0.78429 -0.7399443 +5317 1 1.72 3.54 21.2399998 31.8600006 0.773402 0.633916 -0.5094728 +5318 1 1.72 5.31 23.0100002 31.8600006 0.976168 -0.217015 -0.5094728 +5319 1 1.72 5.31 21.2399998 33.6300011 -0.81219 -0.583393 -0.7399443 +5320 1 1.72 3.54 23.0100002 33.6300011 -0.569992 -0.821651 -0.7399443 +5321 1 1.72 7.0799999 21.2399998 31.8600006 0.944218 0.32932 -0.5094728 +5322 1 1.72 8.8500004 23.0100002 31.8600006 -0.98898 -0.148048 -0.5094728 +5323 1 1.72 8.8500004 21.2399998 33.6300011 -0.982641 -0.185519 -0.7399443 +5324 1 1.72 7.0799999 23.0100002 33.6300011 0.449101 -0.893481 -0.7399443 +5325 1 1.72 10.6199999 21.2399998 31.8600006 0.39586 0.918311 -0.5094728 +5326 1 1.72 12.3900004 23.0100002 31.8600006 -0.556925 0.830563 -0.5094728 +5327 1 1.72 12.3900004 21.2399998 33.6300011 -0.998583 -0.0532254 -0.7399443 +5328 1 1.72 10.6199999 23.0100002 33.6300011 0.965261 0.261287 -0.7399443 +5329 1 1.72 14.1599999 21.2399998 31.8600006 0.917713 -0.397244 -0.5094728 +5330 1 1.72 15.9300004 23.0100002 31.8600006 0.675071 0.737753 -0.5094728 +5331 1 1.72 15.9300004 21.2399998 33.6300011 0.737474 0.675376 -0.7399443 +5332 1 1.72 14.1599999 23.0100002 33.6300011 0.840918 -0.541162 -0.7399443 +5333 1 1.72 17.7000008 21.2399998 31.8600006 -0.902854 0.429947 -0.5094728 +5334 1 1.72 19.4699993 23.0100002 31.8600006 -0.844756 0.535152 -0.5094728 +5335 1 1.72 19.4699993 21.2399998 33.6300011 0.143014 0.989721 -0.7399443 +5336 1 1.72 17.7000008 23.0100002 33.6300011 0.219625 -0.975584 -0.7399443 +5337 1 1.72 21.2399998 21.2399998 31.8600006 -0.862494 0.506067 -0.5094728 +5338 1 1.72 23.0100002 23.0100002 31.8600006 0.898035 -0.439924 -0.5094728 +5339 1 1.72 23.0100002 21.2399998 33.6300011 -0.912712 -0.408602 -0.7399443 +5340 1 1.72 21.2399998 23.0100002 33.6300011 0.655056 -0.755581 -0.7399443 +5341 1 1.72 24.7800007 21.2399998 31.8600006 0.242077 -0.970257 -0.5094728 +5342 1 1.72 26.5499993 23.0100002 31.8600006 -0.96244 0.271495 -0.5094728 +5343 1 1.72 26.5499993 21.2399998 33.6300011 0.104967 0.994476 -0.7399443 +5344 1 1.72 24.7800007 23.0100002 33.6300011 -0.269313 -0.963053 -0.7399443 +5345 1 1.72 0.0 24.7800007 31.8600006 -0.993236 -0.116112 -0.5094728 +5346 1 1.72 1.77 26.5499993 31.8600006 -0.93668 -0.350187 -0.5094728 +5347 1 1.72 1.77 24.7800007 33.6300011 -0.614681 -0.788776 -0.7399443 +5348 1 1.72 0.0 26.5499993 33.6300011 0.806719 -0.590936 -0.7399443 +5349 1 1.72 3.54 24.7800007 31.8600006 -0.868253 0.496122 -0.5094728 +5350 1 1.72 5.31 26.5499993 31.8600006 -0.670673 0.741753 -0.5094728 +5351 1 1.72 5.31 24.7800007 33.6300011 0.204193 -0.978931 -0.7399443 +5352 1 1.72 3.54 26.5499993 33.6300011 0.620581 0.784143 -0.7399443 +5353 1 1.72 7.0799999 24.7800007 31.8600006 0.0753117 0.99716 -0.5094728 +5354 1 1.72 8.8500004 26.5499993 31.8600006 0.890699 0.454594 -0.5094728 +5355 1 1.72 8.8500004 24.7800007 33.6300011 0.802441 -0.596731 -0.7399443 +5356 1 1.72 7.0799999 26.5499993 33.6300011 -0.558577 -0.829453 -0.7399443 +5357 1 1.72 10.6199999 24.7800007 31.8600006 0.697144 -0.716931 -0.5094728 +5358 1 1.72 12.3900004 26.5499993 31.8600006 0.849722 0.527231 -0.5094728 +5359 1 1.72 12.3900004 24.7800007 33.6300011 -0.75529 -0.655391 -0.7399443 +5360 1 1.72 10.6199999 26.5499993 33.6300011 0.142355 0.989816 -0.7399443 +5361 1 1.72 14.1599999 24.7800007 31.8600006 -0.930705 0.365772 -0.5094728 +5362 1 1.72 15.9300004 26.5499993 31.8600006 -0.878865 -0.477071 -0.5094728 +5363 1 1.72 15.9300004 24.7800007 33.6300011 0.837917 0.545797 -0.7399443 +5364 1 1.72 14.1599999 26.5499993 33.6300011 0.397033 0.917804 -0.7399443 +5365 1 1.72 17.7000008 24.7800007 31.8600006 -0.508662 0.860966 -0.5094728 +5366 1 1.72 19.4699993 26.5499993 31.8600006 0.846923 -0.531715 -0.5094728 +5367 1 1.72 19.4699993 24.7800007 33.6300011 0.85114 0.524939 -0.7399443 +5368 1 1.72 17.7000008 26.5499993 33.6300011 0.306373 -0.951912 -0.7399443 +5369 1 1.72 21.2399998 24.7800007 31.8600006 -0.695164 -0.718851 -0.5094728 +5370 1 1.72 23.0100002 26.5499993 31.8600006 0.86257 -0.505938 -0.5094728 +5371 1 1.72 23.0100002 24.7800007 33.6300011 -0.891155 0.4537 -0.7399443 +5372 1 1.72 21.2399998 26.5499993 33.6300011 -0.203415 -0.979093 -0.7399443 +5373 1 1.72 24.7800007 24.7800007 31.8600006 -0.798235 -0.602346 -0.5094728 +5374 1 1.72 26.5499993 26.5499993 31.8600006 -0.350505 -0.936561 -0.5094728 +5375 1 1.72 26.5499993 24.7800007 33.6300011 0.422829 0.90621 -0.7399443 +5376 1 1.72 24.7800007 26.5499993 33.6300011 -0.694315 -0.719671 -0.7399443 +5377 1 1.72 0.0 14.1599999 35.4000015 -0.389988 0.92082 -0.90501 +5378 1 1.72 1.77 15.9300004 35.4000015 0.257718 0.96622 -0.90501 +5379 1 1.72 1.77 14.1599999 37.1699982 0.266723 -0.963773 -0.990079 +5380 1 1.72 0.0 15.9300004 37.1699982 0.919424 0.393268 -0.990079 +5381 1 1.72 3.54 14.1599999 35.4000015 -0.372992 0.927835 -0.90501 +5382 1 1.72 5.31 15.9300004 35.4000015 -0.754765 0.655996 -0.90501 +5383 1 1.72 5.31 14.1599999 37.1699982 -0.991133 -0.132877 -0.990079 +5384 1 1.72 3.54 15.9300004 37.1699982 -0.870934 -0.491401 -0.990079 +5385 1 1.72 7.0799999 14.1599999 35.4000015 -0.89691 0.442212 -0.90501 +5386 1 1.72 8.8500004 15.9300004 35.4000015 0.944304 0.329074 -0.90501 +5387 1 1.72 8.8500004 14.1599999 37.1699982 0.573242 -0.819386 -0.990079 +5388 1 1.72 7.0799999 15.9300004 37.1699982 0.928895 -0.370344 -0.990079 +5389 1 1.72 10.6199999 14.1599999 35.4000015 0.614808 0.788676 -0.90501 +5390 1 1.72 12.3900004 15.9300004 35.4000015 0.997843 -0.0656429 -0.90501 +5391 1 1.72 12.3900004 14.1599999 37.1699982 0.664588 0.74721 -0.990079 +5392 1 1.72 10.6199999 15.9300004 37.1699982 -0.613544 -0.789661 -0.990079 +5393 1 1.72 14.1599999 14.1599999 35.4000015 -0.999404 -0.0345162 -0.90501 +5394 1 1.72 15.9300004 15.9300004 35.4000015 -0.404436 0.914566 -0.90501 +5395 1 1.72 15.9300004 14.1599999 37.1699982 -0.63854 0.769589 -0.990079 +5396 1 1.72 14.1599999 15.9300004 37.1699982 -0.35481 0.934939 -0.990079 +5397 1 1.72 17.7000008 14.1599999 35.4000015 0.997728 -0.067377 -0.90501 +5398 1 1.72 19.4699993 15.9300004 35.4000015 -0.982579 0.185848 -0.90501 +5399 1 1.72 19.4699993 14.1599999 37.1699982 -0.715497 0.698616 -0.990079 +5400 1 1.72 17.7000008 15.9300004 37.1699982 0.847739 0.530413 -0.990079 +5401 1 1.72 21.2399998 14.1599999 35.4000015 -0.936281 -0.351252 -0.90501 +5402 1 1.72 23.0100002 15.9300004 35.4000015 0.600824 0.799382 -0.90501 +5403 1 1.72 23.0100002 14.1599999 37.1699982 0.738381 0.674384 -0.990079 +5404 1 1.72 21.2399998 15.9300004 37.1699982 -0.800963 0.598714 -0.990079 +5405 1 1.72 24.7800007 14.1599999 35.4000015 -0.888468 0.458938 -0.90501 +5406 1 1.72 26.5499993 15.9300004 35.4000015 -0.479364 -0.877616 -0.90501 +5407 1 1.72 26.5499993 14.1599999 37.1699982 -0.910014 0.414577 -0.990079 +5408 1 1.72 24.7800007 15.9300004 37.1699982 0.0926422 0.995699 -0.990079 +5409 1 1.72 0.0 17.7000008 35.4000015 0.901963 0.431814 -0.90501 +5410 1 1.72 1.77 19.4699993 35.4000015 0.355735 -0.934587 -0.90501 +5411 1 1.72 1.77 17.7000008 37.1699982 -0.539958 -0.841692 -0.990079 +5412 1 1.72 0.0 19.4699993 37.1699982 0.834041 -0.551703 -0.990079 +5413 1 1.72 3.54 17.7000008 35.4000015 0.433526 -0.901141 -0.90501 +5414 1 1.72 5.31 19.4699993 35.4000015 -0.582798 -0.812617 -0.90501 +5415 1 1.72 5.31 17.7000008 37.1699982 -0.604681 0.796468 -0.990079 +5416 1 1.72 3.54 19.4699993 37.1699982 0.424072 -0.905628 -0.990079 +5417 1 1.72 7.0799999 17.7000008 35.4000015 0.974058 -0.226298 -0.90501 +5418 1 1.72 8.8500004 19.4699993 35.4000015 0.372551 -0.928012 -0.90501 +5419 1 1.72 8.8500004 17.7000008 37.1699982 -0.999964 -0.00852606 -0.990079 +5420 1 1.72 7.0799999 19.4699993 37.1699982 0.507146 0.86186 -0.990079 +5421 1 1.72 10.6199999 17.7000008 35.4000015 0.266328 -0.963882 -0.90501 +5422 1 1.72 12.3900004 19.4699993 35.4000015 0.98873 -0.149711 -0.90501 +5423 1 1.72 12.3900004 17.7000008 37.1699982 -0.295248 -0.955421 -0.990079 +5424 1 1.72 10.6199999 19.4699993 37.1699982 0.869041 -0.49474 -0.990079 +5425 1 1.72 14.1599999 17.7000008 35.4000015 -0.415749 -0.909479 -0.90501 +5426 1 1.72 15.9300004 19.4699993 35.4000015 0.772291 0.635269 -0.90501 +5427 1 1.72 15.9300004 17.7000008 37.1699982 -0.554706 0.832046 -0.990079 +5428 1 1.72 14.1599999 19.4699993 37.1699982 -0.873929 -0.486053 -0.990079 +5429 1 1.72 17.7000008 17.7000008 35.4000015 0.975475 -0.220112 -0.90501 +5430 1 1.72 19.4699993 19.4699993 35.4000015 -0.990015 0.140962 -0.90501 +5431 1 1.72 19.4699993 17.7000008 37.1699982 0.0647704 0.9979 -0.990079 +5432 1 1.72 17.7000008 19.4699993 37.1699982 -0.116503 -0.99319 -0.990079 +5433 1 1.72 21.2399998 17.7000008 35.4000015 0.668131 -0.744043 -0.90501 +5434 1 1.72 23.0100002 19.4699993 35.4000015 0.999169 0.0407496 -0.90501 +5435 1 1.72 23.0100002 17.7000008 37.1699982 -0.494492 -0.869182 -0.990079 +5436 1 1.72 21.2399998 19.4699993 37.1699982 0.172294 0.985046 -0.990079 +5437 1 1.72 24.7800007 17.7000008 35.4000015 0.627484 0.77863 -0.90501 +5438 1 1.72 26.5499993 19.4699993 35.4000015 0.932251 0.361811 -0.90501 +5439 1 1.72 26.5499993 17.7000008 37.1699982 0.998443 0.0557842 -0.990079 +5440 1 1.72 24.7800007 19.4699993 37.1699982 0.974835 0.22293 -0.990079 +5441 1 1.72 0.0 21.2399998 35.4000015 -0.857941 -0.513749 -0.90501 +5442 1 1.72 1.77 23.0100002 35.4000015 0.732137 -0.681157 -0.90501 +5443 1 1.72 1.77 21.2399998 37.1699982 0.93731 -0.348495 -0.990079 +5444 1 1.72 0.0 23.0100002 37.1699982 0.392214 0.919874 -0.990079 +5445 1 1.72 3.54 21.2399998 35.4000015 0.383002 -0.923748 -0.90501 +5446 1 1.72 5.31 23.0100002 35.4000015 0.958115 -0.286384 -0.90501 +5447 1 1.72 5.31 21.2399998 37.1699982 -0.99728 -0.07371 -0.990079 +5448 1 1.72 3.54 23.0100002 37.1699982 0.117013 -0.99313 -0.990079 +5449 1 1.72 7.0799999 21.2399998 35.4000015 -0.469392 0.88299 -0.90501 +5450 1 1.72 8.8500004 23.0100002 35.4000015 -0.769937 0.63812 -0.90501 +5451 1 1.72 8.8500004 21.2399998 37.1699982 0.977244 0.21212 -0.990079 +5452 1 1.72 7.0799999 23.0100002 37.1699982 0.803106 0.595837 -0.990079 +5453 1 1.72 10.6199999 21.2399998 35.4000015 0.57107 -0.820901 -0.90501 +5454 1 1.72 12.3900004 23.0100002 35.4000015 -0.720825 0.693117 -0.90501 +5455 1 1.72 12.3900004 21.2399998 37.1699982 -0.82027 -0.571976 -0.990079 +5456 1 1.72 10.6199999 23.0100002 37.1699982 -0.775038 -0.631915 -0.990079 +5457 1 1.72 14.1599999 21.2399998 35.4000015 -0.819028 0.573753 -0.90501 +5458 1 1.72 15.9300004 23.0100002 35.4000015 0.487476 0.873136 -0.90501 +5459 1 1.72 15.9300004 21.2399998 37.1699982 0.965051 -0.262062 -0.990079 +5460 1 1.72 14.1599999 23.0100002 37.1699982 -0.770531 -0.637403 -0.990079 +5461 1 1.72 17.7000008 21.2399998 35.4000015 -0.696447 -0.717608 -0.90501 +5462 1 1.72 19.4699993 23.0100002 35.4000015 0.105825 -0.994385 -0.90501 +5463 1 1.72 19.4699993 21.2399998 37.1699982 0.621435 0.783466 -0.990079 +5464 1 1.72 17.7000008 23.0100002 37.1699982 0.834518 -0.550981 -0.990079 +5465 1 1.72 21.2399998 21.2399998 35.4000015 -0.649569 -0.760302 -0.90501 +5466 1 1.72 23.0100002 23.0100002 35.4000015 0.309515 -0.950894 -0.90501 +5467 1 1.72 23.0100002 21.2399998 37.1699982 -0.738111 0.67468 -0.990079 +5468 1 1.72 21.2399998 23.0100002 37.1699982 -0.477237 0.878774 -0.990079 +5469 1 1.72 24.7800007 21.2399998 35.4000015 -0.122202 0.992505 -0.90501 +5470 1 1.72 26.5499993 23.0100002 35.4000015 0.146333 0.989235 -0.90501 +5471 1 1.72 26.5499993 21.2399998 37.1699982 -0.865112 0.501578 -0.990079 +5472 1 1.72 24.7800007 23.0100002 37.1699982 0.748241 0.663426 -0.990079 +5473 1 1.72 0.0 24.7800007 35.4000015 -0.837551 -0.546359 -0.90501 +5474 1 1.72 1.77 26.5499993 35.4000015 -0.988206 0.153129 -0.90501 +5475 1 1.72 1.77 24.7800007 37.1699982 -0.353216 -0.935542 -0.990079 +5476 1 1.72 0.0 26.5499993 37.1699982 0.550368 0.834922 -0.990079 +5477 1 1.72 3.54 24.7800007 35.4000015 0.884397 0.466736 -0.90501 +5478 1 1.72 5.31 26.5499993 35.4000015 0.685911 0.727685 -0.90501 +5479 1 1.72 5.31 24.7800007 37.1699982 0.537144 -0.84349 -0.990079 +5480 1 1.72 3.54 26.5499993 37.1699982 0.453905 -0.89105 -0.990079 +5481 1 1.72 7.0799999 24.7800007 35.4000015 0.408605 -0.912711 -0.90501 +5482 1 1.72 8.8500004 26.5499993 35.4000015 0.685604 0.727974 -0.90501 +5483 1 1.72 8.8500004 24.7800007 37.1699982 -0.230561 -0.973058 -0.990079 +5484 1 1.72 7.0799999 26.5499993 37.1699982 -0.793802 0.608176 -0.990079 +5485 1 1.72 10.6199999 24.7800007 35.4000015 0.983169 -0.182696 -0.90501 +5486 1 1.72 12.3900004 26.5499993 35.4000015 0.899862 -0.436176 -0.90501 +5487 1 1.72 12.3900004 24.7800007 37.1699982 -0.995944 -0.0899741 -0.990079 +5488 1 1.72 10.6199999 26.5499993 37.1699982 0.666773 -0.745261 -0.990079 +5489 1 1.72 14.1599999 24.7800007 35.4000015 0.422752 0.906245 -0.90501 +5490 1 1.72 15.9300004 26.5499993 35.4000015 -0.77619 0.630499 -0.90501 +5491 1 1.72 15.9300004 24.7800007 37.1699982 -0.559672 0.828714 -0.990079 +5492 1 1.72 14.1599999 26.5499993 37.1699982 -0.212755 -0.977106 -0.990079 +5493 1 1.72 17.7000008 24.7800007 35.4000015 -0.997012 -0.0772431 -0.90501 +5494 1 1.72 19.4699993 26.5499993 35.4000015 0.295569 0.955321 -0.90501 +5495 1 1.72 19.4699993 24.7800007 37.1699982 -0.292546 0.956251 -0.990079 +5496 1 1.72 17.7000008 26.5499993 37.1699982 0.782781 0.622297 -0.990079 +5497 1 1.72 21.2399998 24.7800007 35.4000015 -0.889419 -0.457093 -0.90501 +5498 1 1.72 23.0100002 26.5499993 35.4000015 -0.901367 0.433056 -0.90501 +5499 1 1.72 23.0100002 24.7800007 37.1699982 0.972573 0.232598 -0.990079 +5500 1 1.72 21.2399998 26.5499993 37.1699982 -0.940004 0.341164 -0.990079 +5501 1 1.72 24.7800007 24.7800007 35.4000015 -0.839078 -0.544011 -0.90501 +5502 1 1.72 26.5499993 26.5499993 35.4000015 -0.170667 -0.985329 -0.90501 +5503 1 1.72 26.5499993 24.7800007 37.1699982 0.550481 0.834848 -0.990079 +5504 1 1.72 24.7800007 26.5499993 37.1699982 -0.199914 0.979813 -0.990079 +5505 1 1.72 0.0 14.1599999 38.9399986 -0.728913 0.684606 -1.0 +5506 1 1.72 1.77 15.9300004 38.9399986 -0.356673 0.934229 -1.0 +5507 1 1.72 1.77 14.1599999 40.7099991 -0.967116 0.254336 -1.0 +5508 1 1.72 0.0 15.9300004 40.7099991 0.719903 0.694075 -1.0 +5509 1 1.72 3.54 14.1599999 38.9399986 -0.554354 -0.832281 -1.0 +5510 1 1.72 5.31 15.9300004 38.9399986 -0.833913 0.551896 -1.0 +5511 1 1.72 5.31 14.1599999 40.7099991 -0.717875 0.696172 -1.0 +5512 1 1.72 3.54 15.9300004 40.7099991 0.977864 -0.20924 -1.0 +5513 1 1.72 7.0799999 14.1599999 38.9399986 0.605369 -0.795945 -1.0 +5514 1 1.72 8.8500004 15.9300004 38.9399986 0.905957 -0.423371 -1.0 +5515 1 1.72 8.8500004 14.1599999 40.7099991 -0.329184 0.944266 -1.0 +5516 1 1.72 7.0799999 15.9300004 40.7099991 0.438118 0.898918 -1.0 +5517 1 1.72 10.6199999 14.1599999 38.9399986 -0.495563 0.868572 -1.0 +5518 1 1.72 12.3900004 15.9300004 38.9399986 -0.73631 0.676644 -1.0 +5519 1 1.72 12.3900004 14.1599999 40.7099991 -0.448389 -0.893839 -1.0 +5520 1 1.72 10.6199999 15.9300004 40.7099991 -0.699135 -0.71499 -1.0 +5521 1 1.72 14.1599999 14.1599999 38.9399986 -0.996992 -0.0775051 -1.0 +5522 1 1.72 15.9300004 15.9300004 38.9399986 0.999604 -0.0281236 -1.0 +5523 1 1.72 15.9300004 14.1599999 40.7099991 -0.342034 0.939687 -1.0 +5524 1 1.72 14.1599999 15.9300004 40.7099991 -0.542456 0.840084 -1.0 +5525 1 1.72 17.7000008 14.1599999 38.9399986 -0.974833 -0.222938 -1.0 +5526 1 1.72 19.4699993 15.9300004 38.9399986 -0.728594 0.684946 -1.0 +5527 1 1.72 19.4699993 14.1599999 40.7099991 0.0871988 -0.996191 -1.0 +5528 1 1.72 17.7000008 15.9300004 40.7099991 0.806905 0.590682 -1.0 +5529 1 1.72 21.2399998 14.1599999 38.9399986 0.621636 -0.783306 -1.0 +5530 1 1.72 23.0100002 15.9300004 38.9399986 -0.999638 0.0268909 -1.0 +5531 1 1.72 23.0100002 14.1599999 40.7099991 0.109163 0.994024 -1.0 +5532 1 1.72 21.2399998 15.9300004 40.7099991 0.572181 -0.820127 -1.0 +5533 1 1.72 24.7800007 14.1599999 38.9399986 -0.873829 0.486233 -1.0 +5534 1 1.72 26.5499993 15.9300004 38.9399986 -0.853458 -0.521162 -1.0 +5535 1 1.72 26.5499993 14.1599999 40.7099991 -0.988781 0.149371 -1.0 +5536 1 1.72 24.7800007 15.9300004 40.7099991 0.563745 0.825949 -1.0 +5537 1 1.72 0.0 17.7000008 38.9399986 0.619487 0.785007 -1.0 +5538 1 1.72 1.77 19.4699993 38.9399986 -0.369062 0.929405 -1.0 +5539 1 1.72 1.77 17.7000008 40.7099991 0.411566 -0.91138 -1.0 +5540 1 1.72 0.0 19.4699993 40.7099991 0.970326 0.241799 -1.0 +5541 1 1.72 3.54 17.7000008 38.9399986 -0.582829 -0.812595 -1.0 +5542 1 1.72 5.31 19.4699993 38.9399986 -0.718853 0.695162 -1.0 +5543 1 1.72 5.31 17.7000008 40.7099991 -0.346479 -0.938058 -1.0 +5544 1 1.72 3.54 19.4699993 40.7099991 -0.863874 0.503709 -1.0 +5545 1 1.72 7.0799999 17.7000008 38.9399986 -0.850068 -0.526672 -1.0 +5546 1 1.72 8.8500004 19.4699993 38.9399986 -0.960725 0.277504 -1.0 +5547 1 1.72 8.8500004 17.7000008 40.7099991 0.0478734 0.998853 -1.0 +5548 1 1.72 7.0799999 19.4699993 40.7099991 0.999983 0.0059031 -1.0 +5549 1 1.72 10.6199999 17.7000008 38.9399986 0.768654 0.639665 -1.0 +5550 1 1.72 12.3900004 19.4699993 38.9399986 0.607405 0.794392 -1.0 +5551 1 1.72 12.3900004 17.7000008 40.7099991 0.697878 0.716217 -1.0 +5552 1 1.72 10.6199999 19.4699993 40.7099991 0.928711 0.370803 -1.0 +5553 1 1.72 14.1599999 17.7000008 38.9399986 -0.357698 -0.933837 -1.0 +5554 1 1.72 15.9300004 19.4699993 38.9399986 -0.00615694 -0.999981 -1.0 +5555 1 1.72 15.9300004 17.7000008 40.7099991 0.942067 -0.335423 -1.0 +5556 1 1.72 14.1599999 19.4699993 40.7099991 -0.690114 0.7237 -1.0 +5557 1 1.72 17.7000008 17.7000008 38.9399986 0.580972 0.813924 -1.0 +5558 1 1.72 19.4699993 19.4699993 38.9399986 0.198919 -0.980016 -1.0 +5559 1 1.72 19.4699993 17.7000008 40.7099991 0.743789 -0.668414 -1.0 +5560 1 1.72 17.7000008 19.4699993 40.7099991 0.22317 -0.97478 -1.0 +5561 1 1.72 21.2399998 17.7000008 38.9399986 -0.783377 0.621547 -1.0 +5562 1 1.72 23.0100002 19.4699993 38.9399986 -0.0521092 0.998641 -1.0 +5563 1 1.72 23.0100002 17.7000008 40.7099991 0.0397883 0.999208 -1.0 +5564 1 1.72 21.2399998 19.4699993 40.7099991 0.18598 -0.982554 -1.0 +5565 1 1.72 24.7800007 17.7000008 38.9399986 0.927056 -0.374923 -1.0 +5566 1 1.72 26.5499993 19.4699993 38.9399986 -0.0159181 0.999873 -1.0 +5567 1 1.72 26.5499993 17.7000008 40.7099991 0.587651 -0.809114 -1.0 +5568 1 1.72 24.7800007 19.4699993 40.7099991 -0.138861 0.990312 -1.0 +5569 1 1.72 0.0 21.2399998 38.9399986 -0.953825 0.300362 -1.0 +5570 1 1.72 1.77 23.0100002 38.9399986 -0.843884 -0.536526 -1.0 +5571 1 1.72 1.77 21.2399998 40.7099991 0.532461 -0.846454 -1.0 +5572 1 1.72 0.0 23.0100002 40.7099991 -0.651253 0.758861 -1.0 +5573 1 1.72 3.54 21.2399998 38.9399986 -0.906382 0.422459 -1.0 +5574 1 1.72 5.31 23.0100002 38.9399986 -0.0377215 0.999288 -1.0 +5575 1 1.72 5.31 21.2399998 40.7099991 -0.412651 0.910889 -1.0 +5576 1 1.72 3.54 23.0100002 40.7099991 0.510001 -0.860174 -1.0 +5577 1 1.72 7.0799999 21.2399998 38.9399986 -0.49809 -0.867125 -1.0 +5578 1 1.72 8.8500004 23.0100002 38.9399986 0.416152 -0.909295 -1.0 +5579 1 1.72 8.8500004 21.2399998 40.7099991 -0.672172 -0.740395 -1.0 +5580 1 1.72 7.0799999 23.0100002 40.7099991 -0.965518 0.260336 -1.0 +5581 1 1.72 10.6199999 21.2399998 38.9399986 -0.893842 -0.448381 -1.0 +5582 1 1.72 12.3900004 23.0100002 38.9399986 0.587274 0.809388 -1.0 +5583 1 1.72 12.3900004 21.2399998 40.7099991 -0.835906 0.548873 -1.0 +5584 1 1.72 10.6199999 23.0100002 40.7099991 -0.389073 0.921207 -1.0 +5585 1 1.72 14.1599999 21.2399998 38.9399986 -0.0617973 -0.998089 -1.0 +5586 1 1.72 15.9300004 23.0100002 38.9399986 -0.701828 0.712346 -1.0 +5587 1 1.72 15.9300004 21.2399998 40.7099991 -0.815216 -0.579157 -1.0 +5588 1 1.72 14.1599999 23.0100002 40.7099991 0.959393 -0.282073 -1.0 +5589 1 1.72 17.7000008 21.2399998 38.9399986 -0.640123 -0.768273 -1.0 +5590 1 1.72 19.4699993 23.0100002 38.9399986 0.335857 0.941913 -1.0 +5591 1 1.72 19.4699993 21.2399998 40.7099991 0.975829 0.218538 -1.0 +5592 1 1.72 17.7000008 23.0100002 40.7099991 0.584346 -0.811504 -1.0 +5593 1 1.72 21.2399998 21.2399998 38.9399986 -0.906157 0.422942 -1.0 +5594 1 1.72 23.0100002 23.0100002 38.9399986 -0.999998 -0.00211532 -1.0 +5595 1 1.72 23.0100002 21.2399998 40.7099991 0.798868 0.601507 -1.0 +5596 1 1.72 21.2399998 23.0100002 40.7099991 0.74009 0.672507 -1.0 +5597 1 1.72 24.7800007 21.2399998 38.9399986 0.990373 -0.138422 -1.0 +5598 1 1.72 26.5499993 23.0100002 38.9399986 -0.761842 -0.647763 -1.0 +5599 1 1.72 26.5499993 21.2399998 40.7099991 -0.94254 -0.334093 -1.0 +5600 1 1.72 24.7800007 23.0100002 40.7099991 0.831354 -0.555743 -1.0 +5601 1 1.72 0.0 24.7800007 38.9399986 0.238252 0.971203 -1.0 +5602 1 1.72 1.77 26.5499993 38.9399986 -0.935735 0.352704 -1.0 +5603 1 1.72 1.77 24.7800007 40.7099991 -0.498963 -0.866623 -1.0 +5604 1 1.72 0.0 26.5499993 40.7099991 -0.576389 -0.817176 -1.0 +5605 1 1.72 3.54 24.7800007 38.9399986 -0.922288 0.386504 -1.0 +5606 1 1.72 5.31 26.5499993 38.9399986 -0.436584 -0.899664 -1.0 +5607 1 1.72 5.31 24.7800007 40.7099991 -0.98866 0.150174 -1.0 +5608 1 1.72 3.54 26.5499993 40.7099991 -0.984766 0.173887 -1.0 +5609 1 1.72 7.0799999 24.7800007 38.9399986 -0.844926 -0.534883 -1.0 +5610 1 1.72 8.8500004 26.5499993 38.9399986 -0.500861 0.865528 -1.0 +5611 1 1.72 8.8500004 24.7800007 40.7099991 0.956076 0.293119 -1.0 +5612 1 1.72 7.0799999 26.5499993 40.7099991 0.341816 -0.939767 -1.0 +5613 1 1.72 10.6199999 24.7800007 38.9399986 -0.97169 0.236262 -1.0 +5614 1 1.72 12.3900004 26.5499993 38.9399986 -0.477417 0.878677 -1.0 +5615 1 1.72 12.3900004 24.7800007 40.7099991 -0.969585 0.244753 -1.0 +5616 1 1.72 10.6199999 26.5499993 40.7099991 0.366851 0.93028 -1.0 +5617 1 1.72 14.1599999 24.7800007 38.9399986 0.999925 -0.0122643 -1.0 +5618 1 1.72 15.9300004 26.5499993 38.9399986 -0.970896 0.239503 -1.0 +5619 1 1.72 15.9300004 24.7800007 40.7099991 -0.423829 0.905742 -1.0 +5620 1 1.72 14.1599999 26.5499993 40.7099991 0.473615 -0.880732 -1.0 +5621 1 1.72 17.7000008 24.7800007 38.9399986 -0.838027 -0.545628 -1.0 +5622 1 1.72 19.4699993 26.5499993 38.9399986 -0.46279 -0.886468 -1.0 +5623 1 1.72 19.4699993 24.7800007 40.7099991 -0.613178 -0.789945 -1.0 +5624 1 1.72 17.7000008 26.5499993 40.7099991 0.748545 -0.663084 -1.0 +5625 1 1.72 21.2399998 24.7800007 38.9399986 -0.603035 -0.797714 -1.0 +5626 1 1.72 23.0100002 26.5499993 38.9399986 0.134335 0.990936 -1.0 +5627 1 1.72 23.0100002 24.7800007 40.7099991 -0.964637 -0.263582 -1.0 +5628 1 1.72 21.2399998 26.5499993 40.7099991 -0.231878 -0.972745 -1.0 +5629 1 1.72 24.7800007 24.7800007 38.9399986 -0.995907 -0.0903845 -1.0 +5630 1 1.72 26.5499993 26.5499993 38.9399986 0.0203008 0.999794 -1.0 +5631 1 1.72 26.5499993 24.7800007 40.7099991 -0.934209 -0.356726 -1.0 +5632 1 1.72 24.7800007 26.5499993 40.7099991 -0.826197 -0.563382 -1.0 +5633 1 1.72 0.0 14.1599999 42.4799996 0.296732 0.954961 -1.0 +5634 1 1.72 1.77 15.9300004 42.4799996 0.926302 0.376781 -1.0 +5635 1 1.72 1.77 14.1599999 44.25 0.114966 -0.993369 -1.0 +5636 1 1.72 0.0 15.9300004 44.25 -0.793242 -0.608907 -1.0 +5637 1 1.72 3.54 14.1599999 42.4799996 0.890111 -0.455743 -1.0 +5638 1 1.72 5.31 15.9300004 42.4799996 -0.388588 -0.921412 -1.0 +5639 1 1.72 5.31 14.1599999 44.25 0.665864 0.746073 -1.0 +5640 1 1.72 3.54 15.9300004 44.25 0.613679 0.789556 -1.0 +5641 1 1.72 7.0799999 14.1599999 42.4799996 0.555101 -0.831783 -1.0 +5642 1 1.72 8.8500004 15.9300004 42.4799996 -0.57697 -0.816765 -1.0 +5643 1 1.72 8.8500004 14.1599999 44.25 0.660166 -0.75112 -1.0 +5644 1 1.72 7.0799999 15.9300004 44.25 -0.482608 0.875836 -1.0 +5645 1 1.72 10.6199999 14.1599999 42.4799996 -0.574921 -0.818209 -1.0 +5646 1 1.72 12.3900004 15.9300004 42.4799996 0.648157 0.761507 -1.0 +5647 1 1.72 12.3900004 14.1599999 44.25 -0.568504 -0.822681 -1.0 +5648 1 1.72 10.6199999 15.9300004 44.25 -0.656285 -0.754513 -1.0 +5649 1 1.72 14.1599999 14.1599999 42.4799996 0.926247 0.376917 -1.0 +5650 1 1.72 15.9300004 15.9300004 42.4799996 -0.765324 -0.643645 -1.0 +5651 1 1.72 15.9300004 14.1599999 44.25 -0.734715 -0.678376 -1.0 +5652 1 1.72 14.1599999 15.9300004 44.25 -0.999977 -0.00675202 -1.0 +5653 1 1.72 17.7000008 14.1599999 42.4799996 0.623918 -0.78149 -1.0 +5654 1 1.72 19.4699993 15.9300004 42.4799996 -0.61758 -0.786508 -1.0 +5655 1 1.72 19.4699993 14.1599999 44.25 0.188507 0.982072 -1.0 +5656 1 1.72 17.7000008 15.9300004 44.25 -0.903688 0.428191 -1.0 +5657 1 1.72 21.2399998 14.1599999 42.4799996 -0.102099 -0.994774 -1.0 +5658 1 1.72 23.0100002 15.9300004 42.4799996 0.727423 -0.686189 -1.0 +5659 1 1.72 23.0100002 14.1599999 44.25 -0.55747 0.830197 -1.0 +5660 1 1.72 21.2399998 15.9300004 44.25 -0.987501 0.157614 -1.0 +5661 1 1.72 24.7800007 14.1599999 42.4799996 -0.55077 0.834657 -1.0 +5662 1 1.72 26.5499993 15.9300004 42.4799996 0.959515 -0.281656 -1.0 +5663 1 1.72 26.5499993 14.1599999 44.25 -0.199257 -0.979947 -1.0 +5664 1 1.72 24.7800007 15.9300004 44.25 -0.537322 0.843377 -1.0 +5665 1 1.72 0.0 17.7000008 42.4799996 0.637141 -0.770747 -1.0 +5666 1 1.72 1.77 19.4699993 42.4799996 -0.980658 -0.195731 -1.0 +5667 1 1.72 1.77 17.7000008 44.25 0.687658 0.726035 -1.0 +5668 1 1.72 0.0 19.4699993 44.25 0.450625 0.892713 -1.0 +5669 1 1.72 3.54 17.7000008 42.4799996 -0.439257 -0.898361 -1.0 +5670 1 1.72 5.31 19.4699993 42.4799996 0.581591 0.813481 -1.0 +5671 1 1.72 5.31 17.7000008 44.25 -0.573557 0.819166 -1.0 +5672 1 1.72 3.54 19.4699993 44.25 0.941965 0.335712 -1.0 +5673 1 1.72 7.0799999 17.7000008 42.4799996 0.993047 -0.117716 -1.0 +5674 1 1.72 8.8500004 19.4699993 42.4799996 0.743001 0.66929 -1.0 +5675 1 1.72 8.8500004 17.7000008 44.25 -0.626343 0.779547 -1.0 +5676 1 1.72 7.0799999 19.4699993 44.25 -0.743959 -0.668226 -1.0 +5677 1 1.72 10.6199999 17.7000008 42.4799996 -0.734484 -0.678625 -1.0 +5678 1 1.72 12.3900004 19.4699993 42.4799996 -0.952206 0.305456 -1.0 +5679 1 1.72 12.3900004 17.7000008 44.25 -0.187175 0.982327 -1.0 +5680 1 1.72 10.6199999 19.4699993 44.25 -0.540894 0.841091 -1.0 +5681 1 1.72 14.1599999 17.7000008 42.4799996 0.272231 0.962232 -1.0 +5682 1 1.72 15.9300004 19.4699993 42.4799996 -0.99901 0.044492 -1.0 +5683 1 1.72 15.9300004 17.7000008 44.25 -0.901935 0.431872 -1.0 +5684 1 1.72 14.1599999 19.4699993 44.25 -0.7599 -0.65004 -1.0 +5685 1 1.72 17.7000008 17.7000008 42.4799996 0.998909 -0.0466904 -1.0 +5686 1 1.72 19.4699993 19.4699993 42.4799996 0.655375 -0.755304 -1.0 +5687 1 1.72 19.4699993 17.7000008 44.25 -0.918008 0.396563 -1.0 +5688 1 1.72 17.7000008 19.4699993 44.25 -0.679932 -0.733275 -1.0 +5689 1 1.72 21.2399998 17.7000008 42.4799996 -0.597873 -0.801591 -1.0 +5690 1 1.72 23.0100002 19.4699993 42.4799996 -0.939289 0.343126 -1.0 +5691 1 1.72 23.0100002 17.7000008 44.25 0.704395 0.709808 -1.0 +5692 1 1.72 21.2399998 19.4699993 44.25 0.133697 -0.991022 -1.0 +5693 1 1.72 24.7800007 17.7000008 42.4799996 -0.699363 -0.714767 -1.0 +5694 1 1.72 26.5499993 19.4699993 42.4799996 -0.778209 -0.628005 -1.0 +5695 1 1.72 26.5499993 17.7000008 44.25 0.484649 -0.874709 -1.0 +5696 1 1.72 24.7800007 19.4699993 44.25 -0.285731 0.95831 -1.0 +5697 1 1.72 0.0 21.2399998 42.4799996 -0.923423 0.383783 -1.0 +5698 1 1.72 1.77 23.0100002 42.4799996 0.142385 -0.989811 -1.0 +5699 1 1.72 1.77 21.2399998 44.25 0.349696 0.936863 -1.0 +5700 1 1.72 0.0 23.0100002 44.25 -0.957471 0.288531 -1.0 +5701 1 1.72 3.54 21.2399998 42.4799996 -0.495881 0.86839 -1.0 +5702 1 1.72 5.31 23.0100002 42.4799996 -0.856574 0.516023 -1.0 +5703 1 1.72 5.31 21.2399998 44.25 -0.62503 -0.780601 -1.0 +5704 1 1.72 3.54 23.0100002 44.25 0.0976695 0.995219 -1.0 +5705 1 1.72 7.0799999 21.2399998 42.4799996 -0.0769641 0.997034 -1.0 +5706 1 1.72 8.8500004 23.0100002 42.4799996 -0.448501 0.893782 -1.0 +5707 1 1.72 8.8500004 21.2399998 44.25 -0.933659 0.358163 -1.0 +5708 1 1.72 7.0799999 23.0100002 44.25 -0.814214 -0.580564 -1.0 +5709 1 1.72 10.6199999 21.2399998 42.4799996 -0.97067 0.240417 -1.0 +5710 1 1.72 12.3900004 23.0100002 42.4799996 0.716162 0.697934 -1.0 +5711 1 1.72 12.3900004 21.2399998 44.25 -0.912235 0.409668 -1.0 +5712 1 1.72 10.6199999 23.0100002 44.25 0.922866 0.385122 -1.0 +5713 1 1.72 14.1599999 21.2399998 42.4799996 0.976905 -0.213674 -1.0 +5714 1 1.72 15.9300004 23.0100002 42.4799996 -0.970937 -0.239335 -1.0 +5715 1 1.72 15.9300004 21.2399998 44.25 -0.979743 -0.200258 -1.0 +5716 1 1.72 14.1599999 23.0100002 44.25 -0.463369 -0.886166 -1.0 +5717 1 1.72 17.7000008 21.2399998 42.4799996 -0.77459 -0.632464 -1.0 +5718 1 1.72 19.4699993 23.0100002 42.4799996 -0.811216 0.584747 -1.0 +5719 1 1.72 19.4699993 21.2399998 44.25 0.701006 0.713156 -1.0 +5720 1 1.72 17.7000008 23.0100002 44.25 0.958187 -0.286143 -1.0 +5721 1 1.72 21.2399998 21.2399998 42.4799996 -0.688919 -0.724838 -1.0 +5722 1 1.72 23.0100002 23.0100002 42.4799996 -0.70051 0.713642 -1.0 +5723 1 1.72 23.0100002 21.2399998 44.25 -0.437869 0.899039 -1.0 +5724 1 1.72 21.2399998 23.0100002 44.25 -0.964577 0.263802 -1.0 +5725 1 1.72 24.7800007 21.2399998 42.4799996 -0.0350513 -0.999386 -1.0 +5726 1 1.72 26.5499993 23.0100002 42.4799996 0.847505 0.530788 -1.0 +5727 1 1.72 26.5499993 21.2399998 44.25 -0.386859 -0.922139 -1.0 +5728 1 1.72 24.7800007 23.0100002 44.25 -0.909653 0.415369 -1.0 +5729 1 1.72 0.0 24.7800007 42.4799996 -0.63388 0.773431 -1.0 +5730 1 1.72 1.77 26.5499993 42.4799996 -0.974393 -0.224853 -1.0 +5731 1 1.72 1.77 24.7800007 44.25 0.808037 -0.589131 -1.0 +5732 1 1.72 0.0 26.5499993 44.25 0.67125 -0.741231 -1.0 +5733 1 1.72 3.54 24.7800007 42.4799996 0.874443 0.485127 -1.0 +5734 1 1.72 5.31 26.5499993 42.4799996 -0.749473 -0.662035 -1.0 +5735 1 1.72 5.31 24.7800007 44.25 -0.992215 0.12454 -1.0 +5736 1 1.72 3.54 26.5499993 44.25 0.793376 -0.608732 -1.0 +5737 1 1.72 7.0799999 24.7800007 42.4799996 0.818703 0.574217 -1.0 +5738 1 1.72 8.8500004 26.5499993 42.4799996 0.792933 0.609309 -1.0 +5739 1 1.72 8.8500004 24.7800007 44.25 0.663977 -0.747753 -1.0 +5740 1 1.72 7.0799999 26.5499993 44.25 0.575864 0.817546 -1.0 +5741 1 1.72 10.6199999 24.7800007 42.4799996 -0.847311 0.531097 -1.0 +5742 1 1.72 12.3900004 26.5499993 42.4799996 -0.316619 -0.948553 -1.0 +5743 1 1.72 12.3900004 24.7800007 44.25 0.257315 -0.966328 -1.0 +5744 1 1.72 10.6199999 26.5499993 44.25 0.0636618 0.997972 -1.0 +5745 1 1.72 14.1599999 24.7800007 42.4799996 0.79046 -0.612514 -1.0 +5746 1 1.72 15.9300004 26.5499993 42.4799996 0.975041 -0.222023 -1.0 +5747 1 1.72 15.9300004 24.7800007 44.25 -0.847312 0.531096 -1.0 +5748 1 1.72 14.1599999 26.5499993 44.25 0.973922 0.226884 -1.0 +5749 1 1.72 17.7000008 24.7800007 42.4799996 0.8456 -0.533817 -1.0 +5750 1 1.72 19.4699993 26.5499993 42.4799996 0.659989 0.751275 -1.0 +5751 1 1.72 19.4699993 24.7800007 44.25 -0.943734 -0.330706 -1.0 +5752 1 1.72 17.7000008 26.5499993 44.25 0.511563 0.859246 -1.0 +5753 1 1.72 21.2399998 24.7800007 42.4799996 0.801584 -0.597882 -1.0 +5754 1 1.72 23.0100002 26.5499993 42.4799996 0.206444 -0.978458 -1.0 +5755 1 1.72 23.0100002 24.7800007 44.25 0.807611 -0.589716 -1.0 +5756 1 1.72 21.2399998 26.5499993 44.25 -0.992905 0.11891 -1.0 +5757 1 1.72 24.7800007 24.7800007 42.4799996 -0.295507 -0.95534 -1.0 +5758 1 1.72 26.5499993 26.5499993 42.4799996 -0.649213 -0.760606 -1.0 +5759 1 1.72 26.5499993 24.7800007 44.25 -0.741809 -0.670612 -1.0 +5760 1 1.72 24.7800007 26.5499993 44.25 0.632442 0.774608 -1.0 +5761 1 1.72 0.0 14.1599999 46.0200005 -0.258896 0.965905 -1.0 +5762 1 1.72 1.77 15.9300004 46.0200005 0.613464 0.789723 -1.0 +5763 1 1.72 1.77 14.1599999 47.7900009 0.548687 0.836028 -1.0 +5764 1 1.72 0.0 15.9300004 47.7900009 -0.219025 -0.975719 -1.0 +5765 1 1.72 3.54 14.1599999 46.0200005 -0.741605 -0.670837 -1.0 +5766 1 1.72 5.31 15.9300004 46.0200005 0.737991 0.67481 -1.0 +5767 1 1.72 5.31 14.1599999 47.7900009 0.999808 -0.0195981 -1.0 +5768 1 1.72 3.54 15.9300004 47.7900009 0.650079 -0.759867 -1.0 +5769 1 1.72 7.0799999 14.1599999 46.0200005 -0.964777 -0.26307 -1.0 +5770 1 1.72 8.8500004 15.9300004 46.0200005 -0.603655 -0.797246 -1.0 +5771 1 1.72 8.8500004 14.1599999 47.7900009 0.717374 -0.696688 -1.0 +5772 1 1.72 7.0799999 15.9300004 47.7900009 0.982255 -0.187548 -1.0 +5773 1 1.72 10.6199999 14.1599999 46.0200005 -0.750629 0.660724 -1.0 +5774 1 1.72 12.3900004 15.9300004 46.0200005 -0.78847 0.615073 -1.0 +5775 1 1.72 12.3900004 14.1599999 47.7900009 0.479535 0.877523 -1.0 +5776 1 1.72 10.6199999 15.9300004 47.7900009 -0.917588 -0.397533 -1.0 +5777 1 1.72 14.1599999 14.1599999 46.0200005 -0.974895 0.222665 -1.0 +5778 1 1.72 15.9300004 15.9300004 46.0200005 -0.989064 -0.147489 -1.0 +5779 1 1.72 15.9300004 14.1599999 47.7900009 -0.977148 -0.21256 -1.0 +5780 1 1.72 14.1599999 15.9300004 47.7900009 -0.860564 -0.509342 -1.0 +5781 1 1.72 17.7000008 14.1599999 46.0200005 0.734567 0.678536 -1.0 +5782 1 1.72 19.4699993 15.9300004 46.0200005 0.296258 -0.955108 -1.0 +5783 1 1.72 19.4699993 14.1599999 47.7900009 0.708531 0.705679 -1.0 +5784 1 1.72 17.7000008 15.9300004 47.7900009 -0.99677 -0.0803078 -1.0 +5785 1 1.72 21.2399998 14.1599999 46.0200005 0.708863 0.705346 -1.0 +5786 1 1.72 23.0100002 15.9300004 46.0200005 -0.516014 0.85658 -1.0 +5787 1 1.72 23.0100002 14.1599999 47.7900009 -0.768646 0.639675 -1.0 +5788 1 1.72 21.2399998 15.9300004 47.7900009 0.545654 0.83801 -1.0 +5789 1 1.72 24.7800007 14.1599999 46.0200005 -0.709344 0.704862 -1.0 +5790 1 1.72 26.5499993 15.9300004 46.0200005 -0.0791587 0.996862 -1.0 +5791 1 1.72 26.5499993 14.1599999 47.7900009 -0.613487 0.789704 -1.0 +5792 1 1.72 24.7800007 15.9300004 47.7900009 -0.751593 0.659627 -1.0 +5793 1 1.72 0.0 17.7000008 46.0200005 0.156439 0.987688 -1.0 +5794 1 1.72 1.77 19.4699993 46.0200005 0.946086 0.323915 -1.0 +5795 1 1.72 1.77 17.7000008 47.7900009 0.324054 -0.946039 -1.0 +5796 1 1.72 0.0 19.4699993 47.7900009 -0.380184 -0.924911 -1.0 +5797 1 1.72 3.54 17.7000008 46.0200005 -0.997566 0.0697237 -1.0 +5798 1 1.72 5.31 19.4699993 46.0200005 -0.00855329 0.999963 -1.0 +5799 1 1.72 5.31 17.7000008 47.7900009 -0.283175 -0.959068 -1.0 +5800 1 1.72 3.54 19.4699993 47.7900009 0.151529 -0.988453 -1.0 +5801 1 1.72 7.0799999 17.7000008 46.0200005 -0.155772 -0.987793 -1.0 +5802 1 1.72 8.8500004 19.4699993 46.0200005 0.594388 0.804179 -1.0 +5803 1 1.72 8.8500004 17.7000008 47.7900009 -0.02795 -0.999609 -1.0 +5804 1 1.72 7.0799999 19.4699993 47.7900009 0.780889 0.62467 -1.0 +5805 1 1.72 10.6199999 17.7000008 46.0200005 -0.788316 0.615271 -1.0 +5806 1 1.72 12.3900004 19.4699993 46.0200005 0.862787 -0.505567 -1.0 +5807 1 1.72 12.3900004 17.7000008 47.7900009 0.528517 -0.848923 -1.0 +5808 1 1.72 10.6199999 19.4699993 47.7900009 -0.914504 -0.404578 -1.0 +5809 1 1.72 14.1599999 17.7000008 46.0200005 -0.689964 -0.723844 -1.0 +5810 1 1.72 15.9300004 19.4699993 46.0200005 0.0323825 0.999476 -1.0 +5811 1 1.72 15.9300004 17.7000008 47.7900009 0.721354 -0.692567 -1.0 +5812 1 1.72 14.1599999 19.4699993 47.7900009 -0.996066 0.0886176 -1.0 +5813 1 1.72 17.7000008 17.7000008 46.0200005 0.922306 0.386461 -1.0 +5814 1 1.72 19.4699993 19.4699993 46.0200005 -0.56807 -0.82298 -1.0 +5815 1 1.72 19.4699993 17.7000008 47.7900009 0.793198 -0.608964 -1.0 +5816 1 1.72 17.7000008 19.4699993 47.7900009 0.516482 0.856298 -1.0 +5817 1 1.72 21.2399998 17.7000008 46.0200005 -0.144465 0.98951 -1.0 +5818 1 1.72 23.0100002 19.4699993 46.0200005 0.641254 0.767329 -1.0 +5819 1 1.72 23.0100002 17.7000008 47.7900009 0.884326 -0.466871 -1.0 +5820 1 1.72 21.2399998 19.4699993 47.7900009 -0.998958 -0.0456484 -1.0 +5821 1 1.72 24.7800007 17.7000008 46.0200005 0.933227 -0.359287 -1.0 +5822 1 1.72 26.5499993 19.4699993 46.0200005 0.554881 0.831929 -1.0 +5823 1 1.72 26.5499993 17.7000008 47.7900009 -1 9.33214e-05 -1.0 +5824 1 1.72 24.7800007 19.4699993 47.7900009 0.685526 -0.728049 -1.0 +5825 1 1.72 0.0 21.2399998 46.0200005 -0.986876 0.161481 -1.0 +5826 1 1.72 1.77 23.0100002 46.0200005 0.95263 -0.304131 -1.0 +5827 1 1.72 1.77 21.2399998 47.7900009 -0.879186 -0.47648 -1.0 +5828 1 1.72 0.0 23.0100002 47.7900009 0.161941 0.986801 -1.0 +5829 1 1.72 3.54 21.2399998 46.0200005 0.31256 -0.949898 -1.0 +5830 1 1.72 5.31 23.0100002 46.0200005 -0.407537 -0.913189 -1.0 +5831 1 1.72 5.31 21.2399998 47.7900009 0.968549 0.248822 -1.0 +5832 1 1.72 3.54 23.0100002 47.7900009 0.745773 0.666201 -1.0 +5833 1 1.72 7.0799999 21.2399998 46.0200005 -0.826377 -0.563117 -1.0 +5834 1 1.72 8.8500004 23.0100002 46.0200005 -0.28528 0.958444 -1.0 +5835 1 1.72 8.8500004 21.2399998 47.7900009 -0.724735 0.689028 -1.0 +5836 1 1.72 7.0799999 23.0100002 47.7900009 -0.867468 0.497494 -1.0 +5837 1 1.72 10.6199999 21.2399998 46.0200005 0.835506 -0.549481 -1.0 +5838 1 1.72 12.3900004 23.0100002 46.0200005 0.0559503 0.998434 -1.0 +5839 1 1.72 12.3900004 21.2399998 47.7900009 0.927847 -0.372962 -1.0 +5840 1 1.72 10.6199999 23.0100002 47.7900009 -0.0226294 -0.999744 -1.0 +5841 1 1.72 14.1599999 21.2399998 46.0200005 -0.982308 -0.187273 -1.0 +5842 1 1.72 15.9300004 23.0100002 46.0200005 -0.0043554 0.999991 -1.0 +5843 1 1.72 15.9300004 21.2399998 47.7900009 0.774304 -0.632814 -1.0 +5844 1 1.72 14.1599999 23.0100002 47.7900009 0.589507 0.807763 -1.0 +5845 1 1.72 17.7000008 21.2399998 46.0200005 0.915179 -0.403047 -1.0 +5846 1 1.72 19.4699993 23.0100002 46.0200005 -0.422625 -0.906305 -1.0 +5847 1 1.72 19.4699993 21.2399998 47.7900009 0.153881 -0.988089 -1.0 +5848 1 1.72 17.7000008 23.0100002 47.7900009 0.37917 0.925327 -1.0 +5849 1 1.72 21.2399998 21.2399998 46.0200005 0.838492 0.544914 -1.0 +5850 1 1.72 23.0100002 23.0100002 46.0200005 0.319679 0.947526 -1.0 +5851 1 1.72 23.0100002 21.2399998 47.7900009 0.600233 -0.799825 -1.0 +5852 1 1.72 21.2399998 23.0100002 47.7900009 -0.805494 -0.592604 -1.0 +5853 1 1.72 24.7800007 21.2399998 46.0200005 -0.142404 0.989809 -1.0 +5854 1 1.72 26.5499993 23.0100002 46.0200005 0.201734 0.97944 -1.0 +5855 1 1.72 26.5499993 21.2399998 47.7900009 -0.318626 -0.94788 -1.0 +5856 1 1.72 24.7800007 23.0100002 47.7900009 -0.178565 -0.983928 -1.0 +5857 1 1.72 0.0 24.7800007 46.0200005 -0.658313 0.752744 -1.0 +5858 1 1.72 1.77 26.5499993 46.0200005 -0.991669 0.128812 -1.0 +5859 1 1.72 1.77 24.7800007 47.7900009 0.874459 -0.485099 -1.0 +5860 1 1.72 0.0 26.5499993 47.7900009 0.585971 -0.810332 -1.0 +5861 1 1.72 3.54 24.7800007 46.0200005 -0.99995 0.00995136 -1.0 +5862 1 1.72 5.31 26.5499993 46.0200005 -0.946633 0.322315 -1.0 +5863 1 1.72 5.31 24.7800007 47.7900009 0.938436 -0.345452 -1.0 +5864 1 1.72 3.54 26.5499993 47.7900009 -0.731072 -0.6823 -1.0 +5865 1 1.72 7.0799999 24.7800007 46.0200005 0.205982 0.978556 -1.0 +5866 1 1.72 8.8500004 26.5499993 46.0200005 -0.164318 -0.986407 -1.0 +5867 1 1.72 8.8500004 24.7800007 47.7900009 0.509471 0.860488 -1.0 +5868 1 1.72 7.0799999 26.5499993 47.7900009 -0.361047 0.932548 -1.0 +5869 1 1.72 10.6199999 24.7800007 46.0200005 0.722525 -0.691344 -1.0 +5870 1 1.72 12.3900004 26.5499993 46.0200005 -0.724186 0.689604 -1.0 +5871 1 1.72 12.3900004 24.7800007 47.7900009 -0.290863 -0.956765 -1.0 +5872 1 1.72 10.6199999 26.5499993 47.7900009 -0.120971 -0.992656 -1.0 +5873 1 1.72 14.1599999 24.7800007 46.0200005 -0.939219 -0.343319 -1.0 +5874 1 1.72 15.9300004 26.5499993 46.0200005 0.233855 -0.972272 -1.0 +5875 1 1.72 15.9300004 24.7800007 47.7900009 0.946714 0.322076 -1.0 +5876 1 1.72 14.1599999 26.5499993 47.7900009 -0.996297 -0.0859731 -1.0 +5877 1 1.72 17.7000008 24.7800007 46.0200005 -0.498565 -0.866852 -1.0 +5878 1 1.72 19.4699993 26.5499993 46.0200005 0.509565 0.860432 -1.0 +5879 1 1.72 19.4699993 24.7800007 47.7900009 -0.321241 -0.946997 -1.0 +5880 1 1.72 17.7000008 26.5499993 47.7900009 -0.73784 0.674976 -1.0 +5881 1 1.72 21.2399998 24.7800007 46.0200005 0.729409 0.684078 -1.0 +5882 1 1.72 23.0100002 26.5499993 46.0200005 0.998968 0.045429 -1.0 +5883 1 1.72 23.0100002 24.7800007 47.7900009 -0.673111 -0.739541 -1.0 +5884 1 1.72 21.2399998 26.5499993 47.7900009 0.281915 0.959439 -1.0 +5885 1 1.72 24.7800007 24.7800007 46.0200005 -0.786832 -0.617167 -1.0 +5886 1 1.72 26.5499993 26.5499993 46.0200005 0.551405 -0.834238 -1.0 +5887 1 1.72 26.5499993 24.7800007 47.7900009 0.982712 -0.185139 -1.0 +5888 1 1.72 24.7800007 26.5499993 47.7900009 -0.811209 -0.584756 -1.0 +5889 1 1.72 0.0 14.1599999 49.5600014 -0.378852 -0.925457 -1.0 +5890 1 1.72 1.77 15.9300004 49.5600014 0.94023 0.340539 -1.0 +5891 1 1.72 1.77 14.1599999 51.3300018 -0.778255 0.627949 -1.0 +5892 1 1.72 0.0 15.9300004 51.3300018 -0.882207 -0.470862 -1.0 +5893 1 1.72 3.54 14.1599999 49.5600014 0.829729 -0.558167 -1.0 +5894 1 1.72 5.31 15.9300004 49.5600014 0.730525 -0.682886 -1.0 +5895 1 1.72 5.31 14.1599999 51.3300018 0.881015 0.473089 -1.0 +5896 1 1.72 3.54 15.9300004 51.3300018 -0.272063 0.962279 -1.0 +5897 1 1.72 7.0799999 14.1599999 49.5600014 -0.555908 -0.831244 -1.0 +5898 1 1.72 8.8500004 15.9300004 49.5600014 0.161216 0.986919 -1.0 +5899 1 1.72 8.8500004 14.1599999 51.3300018 0.55463 -0.832097 -1.0 +5900 1 1.72 7.0799999 15.9300004 51.3300018 0.0775085 -0.996992 -1.0 +5901 1 1.72 10.6199999 14.1599999 49.5600014 0.606038 0.795436 -1.0 +5902 1 1.72 12.3900004 15.9300004 49.5600014 -0.407017 -0.91342 -1.0 +5903 1 1.72 12.3900004 14.1599999 51.3300018 -0.766085 -0.642739 -1.0 +5904 1 1.72 10.6199999 15.9300004 51.3300018 0.197994 -0.980203 -1.0 +5905 1 1.72 14.1599999 14.1599999 49.5600014 -0.324909 -0.945745 -1.0 +5906 1 1.72 15.9300004 15.9300004 49.5600014 0.948694 -0.316195 -1.0 +5907 1 1.72 15.9300004 14.1599999 51.3300018 0.22908 -0.973408 -1.0 +5908 1 1.72 14.1599999 15.9300004 51.3300018 0.0967196 -0.995312 -1.0 +5909 1 1.72 17.7000008 14.1599999 49.5600014 0.966499 0.256671 -1.0 +5910 1 1.72 19.4699993 15.9300004 49.5600014 -0.992529 0.122013 -1.0 +5911 1 1.72 19.4699993 14.1599999 51.3300018 -0.585995 0.810314 -1.0 +5912 1 1.72 17.7000008 15.9300004 51.3300018 -0.841433 -0.540361 -1.0 +5913 1 1.72 21.2399998 14.1599999 49.5600014 -0.810271 -0.586055 -1.0 +5914 1 1.72 23.0100002 15.9300004 49.5600014 -0.756237 0.654298 -1.0 +5915 1 1.72 23.0100002 14.1599999 51.3300018 -0.985467 -0.169868 -1.0 +5916 1 1.72 21.2399998 15.9300004 51.3300018 -0.793037 -0.609173 -1.0 +5917 1 1.72 24.7800007 14.1599999 49.5600014 0.627531 -0.778592 -1.0 +5918 1 1.72 26.5499993 15.9300004 49.5600014 -0.100017 -0.994986 -1.0 +5919 1 1.72 26.5499993 14.1599999 51.3300018 0.359122 0.933291 -1.0 +5920 1 1.72 24.7800007 15.9300004 51.3300018 0.760315 -0.649555 -1.0 +5921 1 1.72 0.0 17.7000008 49.5600014 -0.602877 0.797834 -1.0 +5922 1 1.72 1.77 19.4699993 49.5600014 -0.0245025 0.9997 -1.0 +5923 1 1.72 1.77 17.7000008 51.3300018 0.645255 -0.763967 -1.0 +5924 1 1.72 0.0 19.4699993 51.3300018 0.427044 0.904231 -1.0 +5925 1 1.72 3.54 17.7000008 49.5600014 0.244096 0.969751 -1.0 +5926 1 1.72 5.31 19.4699993 49.5600014 0.6477 -0.761896 -1.0 +5927 1 1.72 5.31 17.7000008 51.3300018 -0.999997 -0.00230823 -1.0 +5928 1 1.72 3.54 19.4699993 51.3300018 0.849217 0.528044 -1.0 +5929 1 1.72 7.0799999 17.7000008 49.5600014 -0.591012 0.806663 -1.0 +5930 1 1.72 8.8500004 19.4699993 49.5600014 -0.711179 -0.70301 -1.0 +5931 1 1.72 8.8500004 17.7000008 51.3300018 0.724686 -0.689079 -1.0 +5932 1 1.72 7.0799999 19.4699993 51.3300018 -0.321062 0.947058 -1.0 +5933 1 1.72 10.6199999 17.7000008 49.5600014 0.477399 0.878687 -1.0 +5934 1 1.72 12.3900004 19.4699993 49.5600014 0.100959 -0.994891 -1.0 +5935 1 1.72 12.3900004 17.7000008 51.3300018 -0.735617 -0.677398 -1.0 +5936 1 1.72 10.6199999 19.4699993 51.3300018 -0.850138 0.52656 -1.0 +5937 1 1.72 14.1599999 17.7000008 49.5600014 0.663083 0.748546 -1.0 +5938 1 1.72 15.9300004 19.4699993 49.5600014 0.924604 0.38093 -1.0 +5939 1 1.72 15.9300004 17.7000008 51.3300018 -0.978143 0.207935 -1.0 +5940 1 1.72 14.1599999 19.4699993 51.3300018 0.354761 0.934957 -1.0 +5941 1 1.72 17.7000008 17.7000008 49.5600014 -0.766512 -0.64223 -1.0 +5942 1 1.72 19.4699993 19.4699993 49.5600014 0.997204 0.0747274 -1.0 +5943 1 1.72 19.4699993 17.7000008 51.3300018 0.706698 -0.707515 -1.0 +5944 1 1.72 17.7000008 19.4699993 51.3300018 -0.895599 -0.444862 -1.0 +5945 1 1.72 21.2399998 17.7000008 49.5600014 0.67208 0.740479 -1.0 +5946 1 1.72 23.0100002 19.4699993 49.5600014 0.875781 -0.482709 -1.0 +5947 1 1.72 23.0100002 17.7000008 51.3300018 -0.347583 0.937649 -1.0 +5948 1 1.72 21.2399998 19.4699993 51.3300018 0.548923 -0.835873 -1.0 +5949 1 1.72 24.7800007 17.7000008 49.5600014 0.771295 -0.636478 -1.0 +5950 1 1.72 26.5499993 19.4699993 49.5600014 0.941643 0.336614 -1.0 +5951 1 1.72 26.5499993 17.7000008 51.3300018 -0.865584 0.500763 -1.0 +5952 1 1.72 24.7800007 19.4699993 51.3300018 0.779822 -0.626001 -1.0 +5953 1 1.72 0.0 21.2399998 49.5600014 0.979665 0.20064 -1.0 +5954 1 1.72 1.77 23.0100002 49.5600014 0.137288 -0.990531 -1.0 +5955 1 1.72 1.77 21.2399998 51.3300018 -0.904205 -0.427099 -1.0 +5956 1 1.72 0.0 23.0100002 51.3300018 -0.0732805 0.997311 -1.0 +5957 1 1.72 3.54 21.2399998 49.5600014 0.559086 -0.829109 -1.0 +5958 1 1.72 5.31 23.0100002 49.5600014 0.199777 -0.979841 -1.0 +5959 1 1.72 5.31 21.2399998 51.3300018 -0.755573 0.655064 -1.0 +5960 1 1.72 3.54 23.0100002 51.3300018 -0.846541 0.532324 -1.0 +5961 1 1.72 7.0799999 21.2399998 49.5600014 0.693924 0.720048 -1.0 +5962 1 1.72 8.8500004 23.0100002 49.5600014 0.19329 -0.981142 -1.0 +5963 1 1.72 8.8500004 21.2399998 51.3300018 0.655598 0.75511 -1.0 +5964 1 1.72 7.0799999 23.0100002 51.3300018 -0.629838 -0.776727 -1.0 +5965 1 1.72 10.6199999 21.2399998 49.5600014 -0.895625 -0.444809 -1.0 +5966 1 1.72 12.3900004 23.0100002 49.5600014 -0.54358 -0.839357 -1.0 +5967 1 1.72 12.3900004 21.2399998 51.3300018 -0.975636 0.219395 -1.0 +5968 1 1.72 10.6199999 23.0100002 51.3300018 0.698311 0.715794 -1.0 +5969 1 1.72 14.1599999 21.2399998 49.5600014 -0.340312 -0.940313 -1.0 +5970 1 1.72 15.9300004 23.0100002 49.5600014 -0.903902 -0.42774 -1.0 +5971 1 1.72 15.9300004 21.2399998 51.3300018 -0.230151 0.973155 -1.0 +5972 1 1.72 14.1599999 23.0100002 51.3300018 0.701267 0.712899 -1.0 +5973 1 1.72 17.7000008 21.2399998 49.5600014 -0.689618 -0.724173 -1.0 +5974 1 1.72 19.4699993 23.0100002 49.5600014 -0.881775 0.47167 -1.0 +5975 1 1.72 19.4699993 21.2399998 51.3300018 0.912698 0.408635 -1.0 +5976 1 1.72 17.7000008 23.0100002 51.3300018 0.34639 0.93809 -1.0 +5977 1 1.72 21.2399998 21.2399998 49.5600014 -0.0205107 0.99979 -1.0 +5978 1 1.72 23.0100002 23.0100002 49.5600014 0.298867 0.954295 -1.0 +5979 1 1.72 23.0100002 21.2399998 51.3300018 -0.673034 -0.739612 -1.0 +5980 1 1.72 21.2399998 23.0100002 51.3300018 0.145859 0.989305 -1.0 +5981 1 1.72 24.7800007 21.2399998 49.5600014 -0.79415 0.607722 -1.0 +5982 1 1.72 26.5499993 23.0100002 49.5600014 0.73531 -0.677731 -1.0 +5983 1 1.72 26.5499993 21.2399998 51.3300018 0.173649 -0.984808 -1.0 +5984 1 1.72 24.7800007 23.0100002 51.3300018 -0.976362 -0.216143 -1.0 +5985 1 1.72 0.0 24.7800007 49.5600014 0.5347 -0.845042 -1.0 +5986 1 1.72 1.77 26.5499993 49.5600014 -0.187923 -0.982184 -1.0 +5987 1 1.72 1.77 24.7800007 51.3300018 -0.844181 -0.536058 -1.0 +5988 1 1.72 0.0 26.5499993 51.3300018 0.907133 -0.420845 -1.0 +5989 1 1.72 3.54 24.7800007 49.5600014 -0.586332 -0.810071 -1.0 +5990 1 1.72 5.31 26.5499993 49.5600014 0.438191 0.898882 -1.0 +5991 1 1.72 5.31 24.7800007 51.3300018 -0.913197 -0.407519 -1.0 +5992 1 1.72 3.54 26.5499993 51.3300018 -0.41393 0.910309 -1.0 +5993 1 1.72 7.0799999 24.7800007 49.5600014 0.288946 -0.957345 -1.0 +5994 1 1.72 8.8500004 26.5499993 49.5600014 0.78547 0.618899 -1.0 +5995 1 1.72 8.8500004 24.7800007 51.3300018 -0.776557 0.630047 -1.0 +5996 1 1.72 7.0799999 26.5499993 51.3300018 0.985367 -0.170445 -1.0 +5997 1 1.72 10.6199999 24.7800007 49.5600014 0.887208 0.461369 -1.0 +5998 1 1.72 12.3900004 26.5499993 49.5600014 -0.713169 0.700993 -1.0 +5999 1 1.72 12.3900004 24.7800007 51.3300018 -0.997513 -0.0704793 -1.0 +6000 1 1.72 10.6199999 26.5499993 51.3300018 -0.7018 0.712374 -1.0 +6001 1 1.72 14.1599999 24.7800007 49.5600014 0.564894 0.825163 -1.0 +6002 1 1.72 15.9300004 26.5499993 49.5600014 -0.400972 0.91609 -1.0 +6003 1 1.72 15.9300004 24.7800007 51.3300018 -0.636085 -0.771619 -1.0 +6004 1 1.72 14.1599999 26.5499993 51.3300018 -0.998899 -0.0469201 -1.0 +6005 1 1.72 17.7000008 24.7800007 49.5600014 0.577245 0.816571 -1.0 +6006 1 1.72 19.4699993 26.5499993 49.5600014 0.501571 -0.865116 -1.0 +6007 1 1.72 19.4699993 24.7800007 51.3300018 -0.849829 0.527058 -1.0 +6008 1 1.72 17.7000008 26.5499993 51.3300018 -0.856265 0.516537 -1.0 +6009 1 1.72 21.2399998 24.7800007 49.5600014 0.54668 0.837342 -1.0 +6010 1 1.72 23.0100002 26.5499993 49.5600014 -0.887267 0.461256 -1.0 +6011 1 1.72 23.0100002 24.7800007 51.3300018 -0.603538 0.797334 -1.0 +6012 1 1.72 21.2399998 26.5499993 51.3300018 0.920581 0.390551 -1.0 +6013 1 1.72 24.7800007 24.7800007 49.5600014 0.746523 0.66536 -1.0 +6014 1 1.72 26.5499993 26.5499993 49.5600014 -0.338329 -0.941028 -1.0 +6015 1 1.72 26.5499993 24.7800007 51.3300018 -0.986506 0.163725 -1.0 +6016 1 1.72 24.7800007 26.5499993 51.3300018 0.265652 -0.964069 -1.0 +6017 1 1.72 0.0 14.1599999 53.0999985 -0.72963 0.683842 -1.0 +6018 1 1.72 1.77 15.9300004 53.0999985 -0.299932 0.953961 -1.0 +6019 1 1.72 1.77 14.1599999 54.869999 0.957468 0.288538 -1.0 +6020 1 1.72 0.0 15.9300004 54.869999 0.866176 -0.49974 -1.0 +6021 1 1.72 3.54 14.1599999 53.0999985 -0.501889 0.864932 -1.0 +6022 1 1.72 5.31 15.9300004 53.0999985 0.493589 -0.869696 -1.0 +6023 1 1.72 5.31 14.1599999 54.869999 -0.776653 -0.629928 -1.0 +6024 1 1.72 3.54 15.9300004 54.869999 0.610332 0.792146 -1.0 +6025 1 1.72 7.0799999 14.1599999 53.0999985 0.885414 0.464804 -1.0 +6026 1 1.72 8.8500004 15.9300004 53.0999985 0.268507 -0.963278 -1.0 +6027 1 1.72 8.8500004 14.1599999 54.869999 0.635853 0.77181 -1.0 +6028 1 1.72 7.0799999 15.9300004 54.869999 -0.392523 0.919742 -1.0 +6029 1 1.72 10.6199999 14.1599999 53.0999985 -0.807955 -0.589244 -1.0 +6030 1 1.72 12.3900004 15.9300004 53.0999985 -0.765741 0.643149 -1.0 +6031 1 1.72 12.3900004 14.1599999 54.869999 -0.0402604 0.999189 -1.0 +6032 1 1.72 10.6199999 15.9300004 54.869999 -0.976692 0.214646 -1.0 +6033 1 1.72 14.1599999 14.1599999 53.0999985 0.656043 -0.754723 -1.0 +6034 1 1.72 15.9300004 15.9300004 53.0999985 0.984375 0.176087 -1.0 +6035 1 1.72 15.9300004 14.1599999 54.869999 -0.403852 0.914824 -1.0 +6036 1 1.72 14.1599999 15.9300004 54.869999 -0.991719 0.128425 -1.0 +6037 1 1.72 17.7000008 14.1599999 53.0999985 -0.497478 -0.867477 -1.0 +6038 1 1.72 19.4699993 15.9300004 53.0999985 0.693678 0.720286 -1.0 +6039 1 1.72 19.4699993 14.1599999 54.869999 0.59347 0.804856 -1.0 +6040 1 1.72 17.7000008 15.9300004 54.869999 -0.631317 -0.775525 -1.0 +6041 1 1.72 21.2399998 14.1599999 53.0999985 -0.597686 -0.80173 -1.0 +6042 1 1.72 23.0100002 15.9300004 53.0999985 0.64387 0.765135 -1.0 +6043 1 1.72 23.0100002 14.1599999 54.869999 0.802127 0.597153 -1.0 +6044 1 1.72 21.2399998 15.9300004 54.869999 0.495227 0.868764 -1.0 +6045 1 1.72 24.7800007 14.1599999 53.0999985 -0.960438 0.278492 -1.0 +6046 1 1.72 26.5499993 15.9300004 53.0999985 0.748164 -0.663513 -1.0 +6047 1 1.72 26.5499993 14.1599999 54.869999 0.601855 -0.798606 -1.0 +6048 1 1.72 24.7800007 15.9300004 54.869999 -0.537521 0.843251 -1.0 +6049 1 1.72 0.0 17.7000008 53.0999985 -0.991989 0.126325 -1.0 +6050 1 1.72 1.77 19.4699993 53.0999985 -0.94481 -0.327618 -1.0 +6051 1 1.72 1.77 17.7000008 54.869999 -0.0136834 0.999906 -1.0 +6052 1 1.72 0.0 19.4699993 54.869999 0.708202 0.70601 -1.0 +6053 1 1.72 3.54 17.7000008 53.0999985 0.226221 -0.974076 -1.0 +6054 1 1.72 5.31 19.4699993 53.0999985 0.523416 -0.852077 -1.0 +6055 1 1.72 5.31 17.7000008 54.869999 0.883203 -0.46899 -1.0 +6056 1 1.72 3.54 19.4699993 54.869999 -0.784698 0.619878 -1.0 +6057 1 1.72 7.0799999 17.7000008 53.0999985 -0.81023 0.586112 -1.0 +6058 1 1.72 8.8500004 19.4699993 53.0999985 -0.859116 -0.511781 -1.0 +6059 1 1.72 8.8500004 17.7000008 54.869999 -0.903797 -0.427962 -1.0 +6060 1 1.72 7.0799999 19.4699993 54.869999 -0.879628 0.475663 -1.0 +6061 1 1.72 10.6199999 17.7000008 53.0999985 -0.789816 -0.613343 -1.0 +6062 1 1.72 12.3900004 19.4699993 53.0999985 -0.942537 -0.334103 -1.0 +6063 1 1.72 12.3900004 17.7000008 54.869999 0.416996 0.908908 -1.0 +6064 1 1.72 10.6199999 19.4699993 54.869999 -0.681301 0.732004 -1.0 +6065 1 1.72 14.1599999 17.7000008 53.0999985 -0.957046 -0.289937 -1.0 +6066 1 1.72 15.9300004 19.4699993 53.0999985 -0.869426 0.494063 -1.0 +6067 1 1.72 15.9300004 17.7000008 54.869999 0.899954 0.435985 -1.0 +6068 1 1.72 14.1599999 19.4699993 54.869999 0.928905 -0.370318 -1.0 +6069 1 1.72 17.7000008 17.7000008 53.0999985 0.800868 0.598841 -1.0 +6070 1 1.72 19.4699993 19.4699993 53.0999985 -0.0768143 0.997045 -1.0 +6071 1 1.72 19.4699993 17.7000008 54.869999 -0.873311 -0.487162 -1.0 +6072 1 1.72 17.7000008 19.4699993 54.869999 0.185048 0.98273 -1.0 +6073 1 1.72 21.2399998 17.7000008 53.0999985 0.920819 0.389991 -1.0 +6074 1 1.72 23.0100002 19.4699993 53.0999985 0.941101 0.338127 -1.0 +6075 1 1.72 23.0100002 17.7000008 54.869999 -0.838651 0.544669 -1.0 +6076 1 1.72 21.2399998 19.4699993 54.869999 0.970527 0.240994 -1.0 +6077 1 1.72 24.7800007 17.7000008 53.0999985 -0.969271 0.245995 -1.0 +6078 1 1.72 26.5499993 19.4699993 53.0999985 0.379428 -0.925221 -1.0 +6079 1 1.72 26.5499993 17.7000008 54.869999 -0.663907 -0.747815 -1.0 +6080 1 1.72 24.7800007 19.4699993 54.869999 0.782445 -0.62272 -1.0 +6081 1 1.72 0.0 21.2399998 53.0999985 0.664193 0.747561 -1.0 +6082 1 1.72 1.77 23.0100002 53.0999985 0.319604 -0.947551 -1.0 +6083 1 1.72 1.77 21.2399998 54.869999 -0.979708 0.200428 -1.0 +6084 1 1.72 0.0 23.0100002 54.869999 -0.860156 0.510031 -1.0 +6085 1 1.72 3.54 21.2399998 53.0999985 0.748734 -0.662871 -1.0 +6086 1 1.72 5.31 23.0100002 53.0999985 0.992462 0.122552 -1.0 +6087 1 1.72 5.31 21.2399998 54.869999 0.963914 0.266214 -1.0 +6088 1 1.72 3.54 23.0100002 54.869999 0.432071 -0.901839 -1.0 +6089 1 1.72 7.0799999 21.2399998 53.0999985 -0.26461 0.964356 -1.0 +6090 1 1.72 8.8500004 23.0100002 53.0999985 0.481707 -0.876333 -1.0 +6091 1 1.72 8.8500004 21.2399998 54.869999 -0.871163 0.490995 -1.0 +6092 1 1.72 7.0799999 23.0100002 54.869999 0.756985 0.653432 -1.0 +6093 1 1.72 10.6199999 21.2399998 53.0999985 0.339734 0.940521 -1.0 +6094 1 1.72 12.3900004 23.0100002 53.0999985 -0.939021 0.343859 -1.0 +6095 1 1.72 12.3900004 21.2399998 54.869999 -0.682085 -0.731273 -1.0 +6096 1 1.72 10.6199999 23.0100002 54.869999 0.96389 0.266299 -1.0 +6097 1 1.72 14.1599999 21.2399998 53.0999985 0.860549 0.509368 -1.0 +6098 1 1.72 15.9300004 23.0100002 53.0999985 0.908841 0.417142 -1.0 +6099 1 1.72 15.9300004 21.2399998 54.869999 -0.883369 0.468677 -1.0 +6100 1 1.72 14.1599999 23.0100002 54.869999 0.733525 -0.679663 -1.0 +6101 1 1.72 17.7000008 21.2399998 53.0999985 0.463029 0.886343 -1.0 +6102 1 1.72 19.4699993 23.0100002 53.0999985 -0.792296 0.610137 -1.0 +6103 1 1.72 19.4699993 21.2399998 54.869999 0.981842 0.1897 -1.0 +6104 1 1.72 17.7000008 23.0100002 54.869999 0.0679748 0.997687 -1.0 +6105 1 1.72 21.2399998 21.2399998 53.0999985 0.956503 0.291723 -1.0 +6106 1 1.72 23.0100002 23.0100002 53.0999985 -0.748672 -0.662941 -1.0 +6107 1 1.72 23.0100002 21.2399998 54.869999 -0.0648316 0.997896 -1.0 +6108 1 1.72 21.2399998 23.0100002 54.869999 -0.734013 -0.679135 -1.0 +6109 1 1.72 24.7800007 21.2399998 53.0999985 -0.970461 0.241259 -1.0 +6110 1 1.72 26.5499993 23.0100002 53.0999985 -0.955043 0.296468 -1.0 +6111 1 1.72 26.5499993 21.2399998 54.869999 -0.985548 -0.169399 -1.0 +6112 1 1.72 24.7800007 23.0100002 54.869999 -0.43818 -0.898887 -1.0 +6113 1 1.72 0.0 24.7800007 53.0999985 -0.600664 0.799502 -1.0 +6114 1 1.72 1.77 26.5499993 53.0999985 0.736182 -0.676783 -1.0 +6115 1 1.72 1.77 24.7800007 54.869999 -0.515497 0.856891 -1.0 +6116 1 1.72 0.0 26.5499993 54.869999 0.692556 -0.721364 -1.0 +6117 1 1.72 3.54 24.7800007 53.0999985 0.939422 -0.342762 -1.0 +6118 1 1.72 5.31 26.5499993 53.0999985 0.880277 0.474461 -1.0 +6119 1 1.72 5.31 24.7800007 54.869999 -0.985977 0.166882 -1.0 +6120 1 1.72 3.54 26.5499993 54.869999 -0.606136 0.795361 -1.0 +6121 1 1.72 7.0799999 24.7800007 53.0999985 -0.461354 -0.887216 -1.0 +6122 1 1.72 8.8500004 26.5499993 53.0999985 0.31104 0.950397 -1.0 +6123 1 1.72 8.8500004 24.7800007 54.869999 -0.825827 -0.563924 -1.0 +6124 1 1.72 7.0799999 26.5499993 54.869999 -0.839495 0.543368 -1.0 +6125 1 1.72 10.6199999 24.7800007 53.0999985 -0.837533 -0.546387 -1.0 +6126 1 1.72 12.3900004 26.5499993 53.0999985 -0.323314 0.946292 -1.0 +6127 1 1.72 12.3900004 24.7800007 54.869999 0.958557 0.284901 -1.0 +6128 1 1.72 10.6199999 26.5499993 54.869999 -0.896889 0.442255 -1.0 +6129 1 1.72 14.1599999 24.7800007 53.0999985 0.645668 0.763618 -1.0 +6130 1 1.72 15.9300004 26.5499993 53.0999985 0.811009 -0.585034 -1.0 +6131 1 1.72 15.9300004 24.7800007 54.869999 -0.984547 -0.175122 -1.0 +6132 1 1.72 14.1599999 26.5499993 54.869999 0.664199 0.747556 -1.0 +6133 1 1.72 17.7000008 24.7800007 53.0999985 -0.991435 -0.130602 -1.0 +6134 1 1.72 19.4699993 26.5499993 53.0999985 0.851608 -0.524179 -1.0 +6135 1 1.72 19.4699993 24.7800007 54.869999 -0.0537322 -0.998555 -1.0 +6136 1 1.72 17.7000008 26.5499993 54.869999 0.632995 -0.774156 -1.0 +6137 1 1.72 21.2399998 24.7800007 53.0999985 0.821012 -0.570911 -1.0 +6138 1 1.72 23.0100002 26.5499993 53.0999985 -0.479579 -0.877499 -1.0 +6139 1 1.72 23.0100002 24.7800007 54.869999 0.796757 0.604299 -1.0 +6140 1 1.72 21.2399998 26.5499993 54.869999 0.418754 0.9081 -1.0 +6141 1 1.72 24.7800007 24.7800007 53.0999985 0.706741 0.707472 -1.0 +6142 1 1.72 26.5499993 26.5499993 53.0999985 -0.332138 -0.943231 -1.0 +6143 1 1.72 26.5499993 24.7800007 54.869999 -0.979636 0.200783 -1.0 +6144 1 1.72 24.7800007 26.5499993 54.869999 -0.934429 0.356149 -1.0 +6145 1 1.72 0.0 14.1599999 56.6399994 0.745078 -0.666977 -1.0 +6146 1 1.72 1.77 15.9300004 56.6399994 -0.0534769 0.998569 -1.0 +6147 1 1.72 1.77 14.1599999 58.4099999 0.0381051 0.999274 -1.0 +6148 1 1.72 0.0 15.9300004 58.4099999 0.484357 -0.874871 -1.0 +6149 1 1.72 3.54 14.1599999 56.6399994 -0.448471 0.893797 -1.0 +6150 1 1.72 5.31 15.9300004 56.6399994 -0.785522 -0.618833 -1.0 +6151 1 1.72 5.31 14.1599999 58.4099999 -0.264326 0.964434 -1.0 +6152 1 1.72 3.54 15.9300004 58.4099999 0.915682 0.401904 -1.0 +6153 1 1.72 7.0799999 14.1599999 56.6399994 -0.820932 -0.571026 -1.0 +6154 1 1.72 8.8500004 15.9300004 56.6399994 -0.252086 0.967705 -1.0 +6155 1 1.72 8.8500004 14.1599999 58.4099999 0.977799 0.209544 -1.0 +6156 1 1.72 7.0799999 15.9300004 58.4099999 0.311074 -0.950386 -1.0 +6157 1 1.72 10.6199999 14.1599999 56.6399994 -0.290455 0.956889 -1.0 +6158 1 1.72 12.3900004 15.9300004 56.6399994 -0.834731 -0.550658 -1.0 +6159 1 1.72 12.3900004 14.1599999 58.4099999 -0.45901 -0.888431 -1.0 +6160 1 1.72 10.6199999 15.9300004 58.4099999 0.898137 0.439716 -1.0 +6161 1 1.72 14.1599999 14.1599999 56.6399994 0.683583 -0.729872 -1.0 +6162 1 1.72 15.9300004 15.9300004 56.6399994 -0.683908 0.729568 -1.0 +6163 1 1.72 15.9300004 14.1599999 58.4099999 -0.149631 -0.988742 -1.0 +6164 1 1.72 14.1599999 15.9300004 58.4099999 -0.928038 -0.372486 -1.0 +6165 1 1.72 17.7000008 14.1599999 56.6399994 0.562022 -0.827122 -1.0 +6166 1 1.72 19.4699993 15.9300004 56.6399994 -0.747294 -0.664493 -1.0 +6167 1 1.72 19.4699993 14.1599999 58.4099999 -0.914706 0.404121 -1.0 +6168 1 1.72 17.7000008 15.9300004 58.4099999 0.940618 -0.339468 -1.0 +6169 1 1.72 21.2399998 14.1599999 56.6399994 -0.850079 -0.526656 -1.0 +6170 1 1.72 23.0100002 15.9300004 56.6399994 0.0720329 0.997402 -1.0 +6171 1 1.72 23.0100002 14.1599999 58.4099999 0.666717 -0.745311 -1.0 +6172 1 1.72 21.2399998 15.9300004 58.4099999 -0.961714 0.274054 -1.0 +6173 1 1.72 24.7800007 14.1599999 56.6399994 0.838655 0.544663 -1.0 +6174 1 1.72 26.5499993 15.9300004 56.6399994 -0.682543 -0.730846 -1.0 +6175 1 1.72 26.5499993 14.1599999 58.4099999 -0.0831215 0.996539 -1.0 +6176 1 1.72 24.7800007 15.9300004 58.4099999 0.759416 0.650605 -1.0 +6177 1 1.72 0.0 17.7000008 56.6399994 0.0576829 -0.998335 -1.0 +6178 1 1.72 1.77 19.4699993 56.6399994 -0.769262 -0.638933 -1.0 +6179 1 1.72 1.77 17.7000008 58.4099999 -0.208584 -0.978004 -1.0 +6180 1 1.72 0.0 19.4699993 58.4099999 -0.924776 -0.380511 -1.0 +6181 1 1.72 3.54 17.7000008 56.6399994 -0.962506 0.27126 -1.0 +6182 1 1.72 5.31 19.4699993 56.6399994 -0.0716457 -0.99743 -1.0 +6183 1 1.72 5.31 17.7000008 58.4099999 0.164676 0.986348 -1.0 +6184 1 1.72 3.54 19.4699993 58.4099999 0.991412 0.130774 -1.0 +6185 1 1.72 7.0799999 17.7000008 56.6399994 -0.363444 0.931616 -1.0 +6186 1 1.72 8.8500004 19.4699993 56.6399994 -0.0119062 0.999929 -1.0 +6187 1 1.72 8.8500004 17.7000008 58.4099999 0.22231 0.974976 -1.0 +6188 1 1.72 7.0799999 19.4699993 58.4099999 0.961408 -0.275128 -1.0 +6189 1 1.72 10.6199999 17.7000008 56.6399994 -0.607423 -0.794378 -1.0 +6190 1 1.72 12.3900004 19.4699993 56.6399994 0.989865 -0.142013 -1.0 +6191 1 1.72 12.3900004 17.7000008 58.4099999 0.767012 0.641633 -1.0 +6192 1 1.72 10.6199999 19.4699993 58.4099999 -0.736003 -0.676978 -1.0 +6193 1 1.72 14.1599999 17.7000008 56.6399994 -0.971226 0.238158 -1.0 +6194 1 1.72 15.9300004 19.4699993 56.6399994 0.373071 -0.927803 -1.0 +6195 1 1.72 15.9300004 17.7000008 58.4099999 -0.875468 0.483276 -1.0 +6196 1 1.72 14.1599999 19.4699993 58.4099999 0.982302 0.187305 -1.0 +6197 1 1.72 17.7000008 17.7000008 56.6399994 -0.560127 -0.828407 -1.0 +6198 1 1.72 19.4699993 19.4699993 56.6399994 -0.714866 0.699261 -1.0 +6199 1 1.72 19.4699993 17.7000008 58.4099999 0.985568 0.169281 -1.0 +6200 1 1.72 17.7000008 19.4699993 58.4099999 -0.767819 -0.640666 -1.0 +6201 1 1.72 21.2399998 17.7000008 56.6399994 -0.806884 -0.590709 -1.0 +6202 1 1.72 23.0100002 19.4699993 56.6399994 -0.763425 0.645896 -1.0 +6203 1 1.72 23.0100002 17.7000008 58.4099999 -0.239619 0.970867 -1.0 +6204 1 1.72 21.2399998 19.4699993 58.4099999 0.756541 -0.653946 -1.0 +6205 1 1.72 24.7800007 17.7000008 56.6399994 -0.875227 0.483712 -1.0 +6206 1 1.72 26.5499993 19.4699993 56.6399994 -0.98215 -0.188097 -1.0 +6207 1 1.72 26.5499993 17.7000008 58.4099999 0.274667 0.961539 -1.0 +6208 1 1.72 24.7800007 19.4699993 58.4099999 0.0453293 -0.998972 -1.0 +6209 1 1.72 0.0 21.2399998 56.6399994 -0.432482 -0.901642 -1.0 +6210 1 1.72 1.77 23.0100002 56.6399994 0.621095 0.783735 -1.0 +6211 1 1.72 1.77 21.2399998 58.4099999 0.341431 -0.939907 -1.0 +6212 1 1.72 0.0 23.0100002 58.4099999 0.685631 0.727949 -1.0 +6213 1 1.72 3.54 21.2399998 56.6399994 -0.854038 0.520211 -1.0 +6214 1 1.72 5.31 23.0100002 56.6399994 0.991484 0.130229 -1.0 +6215 1 1.72 5.31 21.2399998 58.4099999 -0.482334 -0.875987 -1.0 +6216 1 1.72 3.54 23.0100002 58.4099999 0.49268 -0.870211 -1.0 +6217 1 1.72 7.0799999 21.2399998 56.6399994 0.816957 -0.576699 -1.0 +6218 1 1.72 8.8500004 23.0100002 56.6399994 -0.268876 0.963175 -1.0 +6219 1 1.72 8.8500004 21.2399998 58.4099999 0.57304 -0.819528 -1.0 +6220 1 1.72 7.0799999 23.0100002 58.4099999 0.727064 0.68657 -1.0 +6221 1 1.72 10.6199999 21.2399998 56.6399994 0.978699 -0.2053 -1.0 +6222 1 1.72 12.3900004 23.0100002 56.6399994 -0.991386 0.130972 -1.0 +6223 1 1.72 12.3900004 21.2399998 58.4099999 -0.515684 0.856779 -1.0 +6224 1 1.72 10.6199999 23.0100002 58.4099999 -0.733937 0.679218 -1.0 +6225 1 1.72 14.1599999 21.2399998 56.6399994 0.471506 0.881863 -1.0 +6226 1 1.72 15.9300004 23.0100002 56.6399994 0.647446 -0.762111 -1.0 +6227 1 1.72 15.9300004 21.2399998 58.4099999 -0.775205 0.63171 -1.0 +6228 1 1.72 14.1599999 23.0100002 58.4099999 -0.668817 -0.743427 -1.0 +6229 1 1.72 17.7000008 21.2399998 56.6399994 0.585737 -0.810501 -1.0 +6230 1 1.72 19.4699993 23.0100002 56.6399994 0.998764 -0.0497064 -1.0 +6231 1 1.72 19.4699993 21.2399998 58.4099999 0.852448 -0.522812 -1.0 +6232 1 1.72 17.7000008 23.0100002 58.4099999 0.425432 0.90499 -1.0 +6233 1 1.72 21.2399998 21.2399998 56.6399994 0.0530341 -0.998593 -1.0 +6234 1 1.72 23.0100002 23.0100002 56.6399994 -0.979915 0.199415 -1.0 +6235 1 1.72 23.0100002 21.2399998 58.4099999 0.844026 -0.536302 -1.0 +6236 1 1.72 21.2399998 23.0100002 58.4099999 -0.790956 0.611874 -1.0 +6237 1 1.72 24.7800007 21.2399998 56.6399994 0.663333 0.748324 -1.0 +6238 1 1.72 26.5499993 23.0100002 56.6399994 -0.533281 0.845938 -1.0 +6239 1 1.72 26.5499993 21.2399998 58.4099999 -0.910052 -0.414494 -1.0 +6240 1 1.72 24.7800007 23.0100002 58.4099999 0.537132 -0.843498 -1.0 +6241 1 1.72 0.0 24.7800007 56.6399994 0.848385 -0.52938 -1.0 +6242 1 1.72 1.77 26.5499993 56.6399994 0.995841 0.0911106 -1.0 +6243 1 1.72 1.77 24.7800007 58.4099999 -0.583088 0.812409 -1.0 +6244 1 1.72 0.0 26.5499993 58.4099999 0.878633 0.477498 -1.0 +6245 1 1.72 3.54 24.7800007 56.6399994 -0.934373 0.356296 -1.0 +6246 1 1.72 5.31 26.5499993 56.6399994 0.951664 0.307141 -1.0 +6247 1 1.72 5.31 24.7800007 58.4099999 -0.99961 -0.0279216 -1.0 +6248 1 1.72 3.54 26.5499993 58.4099999 -0.570758 0.821118 -1.0 +6249 1 1.72 7.0799999 24.7800007 56.6399994 -0.313684 -0.949527 -1.0 +6250 1 1.72 8.8500004 26.5499993 56.6399994 -0.865837 -0.500326 -1.0 +6251 1 1.72 8.8500004 24.7800007 58.4099999 -0.980798 0.195025 -1.0 +6252 1 1.72 7.0799999 26.5499993 58.4099999 -0.92155 -0.38826 -1.0 +6253 1 1.72 10.6199999 24.7800007 56.6399994 0.912035 0.410113 -1.0 +6254 1 1.72 12.3900004 26.5499993 56.6399994 0.853489 0.52111 -1.0 +6255 1 1.72 12.3900004 24.7800007 58.4099999 0.344436 -0.93881 -1.0 +6256 1 1.72 10.6199999 26.5499993 58.4099999 0.26886 0.963179 -1.0 +6257 1 1.72 14.1599999 24.7800007 56.6399994 0.208194 -0.978088 -1.0 +6258 1 1.72 15.9300004 26.5499993 56.6399994 0.0824067 0.996599 -1.0 +6259 1 1.72 15.9300004 24.7800007 58.4099999 -0.999797 -0.0201295 -1.0 +6260 1 1.72 14.1599999 26.5499993 58.4099999 0.704372 -0.709831 -1.0 +6261 1 1.72 17.7000008 24.7800007 56.6399994 0.409549 0.912288 -1.0 +6262 1 1.72 19.4699993 26.5499993 56.6399994 -0.980213 0.197946 -1.0 +6263 1 1.72 19.4699993 24.7800007 58.4099999 -0.791638 0.610991 -1.0 +6264 1 1.72 17.7000008 26.5499993 58.4099999 -0.624425 -0.781085 -1.0 +6265 1 1.72 21.2399998 24.7800007 56.6399994 0.923377 -0.383894 -1.0 +6266 1 1.72 23.0100002 26.5499993 56.6399994 -0.887062 0.461651 -1.0 +6267 1 1.72 23.0100002 24.7800007 58.4099999 -0.619539 0.784966 -1.0 +6268 1 1.72 21.2399998 26.5499993 58.4099999 -0.625322 -0.780367 -1.0 +6269 1 1.72 24.7800007 24.7800007 56.6399994 0.973814 -0.227344 -1.0 +6270 1 1.72 26.5499993 26.5499993 56.6399994 0.894843 0.446381 -1.0 +6271 1 1.72 26.5499993 24.7800007 58.4099999 0.960872 -0.276992 -1.0 +6272 1 1.72 24.7800007 26.5499993 58.4099999 0.999491 -0.0319134 -1.0 +6273 1 1.72 0.0 14.1599999 60.1800003 -0.678206 0.734872 -1.0 +6274 1 1.72 1.77 15.9300004 60.1800003 -0.466331 0.88461 -1.0 +6275 1 1.72 1.77 14.1599999 61.9500008 -0.992613 -0.121323 -1.0 +6276 1 1.72 0.0 15.9300004 61.9500008 -0.716033 0.698067 -1.0 +6277 1 1.72 3.54 14.1599999 60.1800003 0.903093 -0.429445 -1.0 +6278 1 1.72 5.31 15.9300004 60.1800003 0.0728353 -0.997344 -1.0 +6279 1 1.72 5.31 14.1599999 61.9500008 -0.786114 0.618081 -1.0 +6280 1 1.72 3.54 15.9300004 61.9500008 0.859938 0.510398 -1.0 +6281 1 1.72 7.0799999 14.1599999 60.1800003 -0.369668 0.929164 -1.0 +6282 1 1.72 8.8500004 15.9300004 60.1800003 -0.710335 -0.703864 -1.0 +6283 1 1.72 8.8500004 14.1599999 61.9500008 -0.76494 -0.644101 -1.0 +6284 1 1.72 7.0799999 15.9300004 61.9500008 -0.769731 0.638368 -1.0 +6285 1 1.72 10.6199999 14.1599999 60.1800003 0.995274 0.0971048 -1.0 +6286 1 1.72 12.3900004 15.9300004 60.1800003 0.918975 -0.394316 -1.0 +6287 1 1.72 12.3900004 14.1599999 61.9500008 0.998909 -0.0467025 -1.0 +6288 1 1.72 10.6199999 15.9300004 61.9500008 0.952064 0.305898 -1.0 +6289 1 1.72 14.1599999 14.1599999 60.1800003 0.601145 0.79914 -1.0 +6290 1 1.72 15.9300004 15.9300004 60.1800003 -0.929001 -0.370076 -1.0 +6291 1 1.72 15.9300004 14.1599999 61.9500008 -0.76166 0.647976 -1.0 +6292 1 1.72 14.1599999 15.9300004 61.9500008 0.484777 0.874638 -1.0 +6293 1 1.72 17.7000008 14.1599999 60.1800003 -0.597767 0.80167 -1.0 +6294 1 1.72 19.4699993 15.9300004 60.1800003 -0.941756 0.336298 -1.0 +6295 1 1.72 19.4699993 14.1599999 61.9500008 -0.0163846 -0.999866 -1.0 +6296 1 1.72 17.7000008 15.9300004 61.9500008 0.661434 -0.750003 -1.0 +6297 1 1.72 21.2399998 14.1599999 60.1800003 0.541161 0.840919 -1.0 +6298 1 1.72 23.0100002 15.9300004 60.1800003 0.856964 0.515377 -1.0 +6299 1 1.72 23.0100002 14.1599999 61.9500008 0.759367 -0.650663 -1.0 +6300 1 1.72 21.2399998 15.9300004 61.9500008 -0.810904 0.585179 -1.0 +6301 1 1.72 24.7800007 14.1599999 60.1800003 0.842901 -0.538068 -1.0 +6302 1 1.72 26.5499993 15.9300004 60.1800003 -0.149096 -0.988823 -1.0 +6303 1 1.72 26.5499993 14.1599999 61.9500008 0.971862 -0.235549 -1.0 +6304 1 1.72 24.7800007 15.9300004 61.9500008 0.396752 -0.917926 -1.0 +6305 1 1.72 0.0 17.7000008 60.1800003 -0.597404 -0.801941 -1.0 +6306 1 1.72 1.77 19.4699993 60.1800003 0.767696 -0.640815 -1.0 +6307 1 1.72 1.77 17.7000008 61.9500008 -0.240229 0.970716 -1.0 +6308 1 1.72 0.0 19.4699993 61.9500008 0.668067 0.744101 -1.0 +6309 1 1.72 3.54 17.7000008 60.1800003 0.66095 -0.75043 -1.0 +6310 1 1.72 5.31 19.4699993 60.1800003 -0.782958 -0.622075 -1.0 +6311 1 1.72 5.31 17.7000008 61.9500008 0.820799 0.571218 -1.0 +6312 1 1.72 3.54 19.4699993 61.9500008 -0.649762 0.760137 -1.0 +6313 1 1.72 7.0799999 17.7000008 60.1800003 -0.945153 0.326627 -1.0 +6314 1 1.72 8.8500004 19.4699993 60.1800003 -0.997626 -0.0688692 -1.0 +6315 1 1.72 8.8500004 17.7000008 61.9500008 0.479112 0.877754 -1.0 +6316 1 1.72 7.0799999 19.4699993 61.9500008 -0.991374 0.131061 -1.0 +6317 1 1.72 10.6199999 17.7000008 60.1800003 0.635642 0.771984 -1.0 +6318 1 1.72 12.3900004 19.4699993 60.1800003 0.999287 0.0377521 -1.0 +6319 1 1.72 12.3900004 17.7000008 61.9500008 0.185712 0.982604 -1.0 +6320 1 1.72 10.6199999 19.4699993 61.9500008 -0.232277 -0.97265 -1.0 +6321 1 1.72 14.1599999 17.7000008 60.1800003 -0.777848 0.628453 -1.0 +6322 1 1.72 15.9300004 19.4699993 60.1800003 0.581922 -0.813244 -1.0 +6323 1 1.72 15.9300004 17.7000008 61.9500008 0.321131 0.947035 -1.0 +6324 1 1.72 14.1599999 19.4699993 61.9500008 -0.152242 -0.988343 -1.0 +6325 1 1.72 17.7000008 17.7000008 60.1800003 -0.136373 0.990658 -1.0 +6326 1 1.72 19.4699993 19.4699993 60.1800003 -0.137885 -0.990448 -1.0 +6327 1 1.72 19.4699993 17.7000008 61.9500008 0.819997 -0.572368 -1.0 +6328 1 1.72 17.7000008 19.4699993 61.9500008 -0.330077 -0.943954 -1.0 +6329 1 1.72 21.2399998 17.7000008 60.1800003 0.406827 0.913505 -1.0 +6330 1 1.72 23.0100002 19.4699993 60.1800003 -0.980709 -0.195474 -1.0 +6331 1 1.72 23.0100002 17.7000008 61.9500008 0.804692 -0.593692 -1.0 +6332 1 1.72 21.2399998 19.4699993 61.9500008 0.82908 0.55913 -1.0 +6333 1 1.72 24.7800007 17.7000008 60.1800003 0.691292 0.722576 -1.0 +6334 1 1.72 26.5499993 19.4699993 60.1800003 0.622705 -0.782457 -1.0 +6335 1 1.72 26.5499993 17.7000008 61.9500008 0.542311 -0.840178 -1.0 +6336 1 1.72 24.7800007 19.4699993 61.9500008 0.630638 0.776077 -1.0 +6337 1 1.72 0.0 21.2399998 60.1800003 0.642238 -0.766505 -1.0 +6338 1 1.72 1.77 23.0100002 60.1800003 0.17935 -0.983785 -1.0 +6339 1 1.72 1.77 21.2399998 61.9500008 0.754108 -0.65675 -1.0 +6340 1 1.72 0.0 23.0100002 61.9500008 -0.996622 -0.0821202 -1.0 +6341 1 1.72 3.54 21.2399998 60.1800003 -0.682652 0.730743 -1.0 +6342 1 1.72 5.31 23.0100002 60.1800003 0.39884 -0.91702 -1.0 +6343 1 1.72 5.31 21.2399998 61.9500008 0.173424 0.984847 -1.0 +6344 1 1.72 3.54 23.0100002 61.9500008 0.863469 0.504402 -1.0 +6345 1 1.72 7.0799999 21.2399998 60.1800003 0.983806 0.179239 -1.0 +6346 1 1.72 8.8500004 23.0100002 60.1800003 -0.302619 -0.953112 -1.0 +6347 1 1.72 8.8500004 21.2399998 61.9500008 0.928662 -0.370926 -1.0 +6348 1 1.72 7.0799999 23.0100002 61.9500008 0.869869 0.493282 -1.0 +6349 1 1.72 10.6199999 21.2399998 60.1800003 0.868844 0.495086 -1.0 +6350 1 1.72 12.3900004 23.0100002 60.1800003 -0.845685 0.533682 -1.0 +6351 1 1.72 12.3900004 21.2399998 61.9500008 0.471269 0.88199 -1.0 +6352 1 1.72 10.6199999 23.0100002 61.9500008 -0.239449 0.970909 -1.0 +6353 1 1.72 14.1599999 21.2399998 60.1800003 0.251254 0.967921 -1.0 +6354 1 1.72 15.9300004 23.0100002 60.1800003 -0.800991 0.598677 -1.0 +6355 1 1.72 15.9300004 21.2399998 61.9500008 0.0848994 0.99639 -1.0 +6356 1 1.72 14.1599999 23.0100002 61.9500008 0.312058 0.950063 -1.0 +6357 1 1.72 17.7000008 21.2399998 60.1800003 0.873 -0.487721 -1.0 +6358 1 1.72 19.4699993 23.0100002 60.1800003 0.962796 -0.270229 -1.0 +6359 1 1.72 19.4699993 21.2399998 61.9500008 -0.859399 -0.511305 -1.0 +6360 1 1.72 17.7000008 23.0100002 61.9500008 -0.54086 -0.841112 -1.0 +6361 1 1.72 21.2399998 21.2399998 60.1800003 -0.997974 0.0636247 -1.0 +6362 1 1.72 23.0100002 23.0100002 60.1800003 -0.454222 -0.890888 -1.0 +6363 1 1.72 23.0100002 21.2399998 61.9500008 -0.613124 0.789987 -1.0 +6364 1 1.72 21.2399998 23.0100002 61.9500008 -0.221408 0.975181 -1.0 +6365 1 1.72 24.7800007 21.2399998 60.1800003 0.0184886 -0.999829 -1.0 +6366 1 1.72 26.5499993 23.0100002 60.1800003 -0.804666 -0.593728 -1.0 +6367 1 1.72 26.5499993 21.2399998 61.9500008 -0.884887 -0.465805 -1.0 +6368 1 1.72 24.7800007 23.0100002 61.9500008 -0.778953 0.627082 -1.0 +6369 1 1.72 0.0 24.7800007 60.1800003 -0.554126 -0.832433 -1.0 +6370 1 1.72 1.77 26.5499993 60.1800003 -0.762575 -0.646899 -1.0 +6371 1 1.72 1.77 24.7800007 61.9500008 -0.175625 0.984457 -1.0 +6372 1 1.72 0.0 26.5499993 61.9500008 0.338197 0.941075 -1.0 +6373 1 1.72 3.54 24.7800007 60.1800003 0.965929 -0.258809 -1.0 +6374 1 1.72 5.31 26.5499993 60.1800003 -0.533867 -0.845569 -1.0 +6375 1 1.72 5.31 24.7800007 61.9500008 0.288766 -0.9574 -1.0 +6376 1 1.72 3.54 26.5499993 61.9500008 -0.36985 0.929092 -1.0 +6377 1 1.72 7.0799999 24.7800007 60.1800003 0.0627644 -0.998028 -1.0 +6378 1 1.72 8.8500004 26.5499993 60.1800003 -0.534432 0.845211 -1.0 +6379 1 1.72 8.8500004 24.7800007 61.9500008 -0.720039 0.693933 -1.0 +6380 1 1.72 7.0799999 26.5499993 61.9500008 0.745883 -0.666077 -1.0 +6381 1 1.72 10.6199999 24.7800007 60.1800003 0.440379 -0.897812 -1.0 +6382 1 1.72 12.3900004 26.5499993 60.1800003 -0.231122 0.972925 -1.0 +6383 1 1.72 12.3900004 24.7800007 61.9500008 -0.795809 0.605548 -1.0 +6384 1 1.72 10.6199999 26.5499993 61.9500008 -0.355998 0.934487 -1.0 +6385 1 1.72 14.1599999 24.7800007 60.1800003 -0.633709 0.773572 -1.0 +6386 1 1.72 15.9300004 26.5499993 60.1800003 -0.712303 0.701872 -1.0 +6387 1 1.72 15.9300004 24.7800007 61.9500008 -0.527688 0.849439 -1.0 +6388 1 1.72 14.1599999 26.5499993 61.9500008 -0.409641 0.912247 -1.0 +6389 1 1.72 17.7000008 24.7800007 60.1800003 0.102376 0.994746 -1.0 +6390 1 1.72 19.4699993 26.5499993 60.1800003 -0.713841 0.700308 -1.0 +6391 1 1.72 19.4699993 24.7800007 61.9500008 -0.392095 0.919925 -1.0 +6392 1 1.72 17.7000008 26.5499993 61.9500008 -0.00513087 -0.999987 -1.0 +6393 1 1.72 21.2399998 24.7800007 60.1800003 0.238291 0.971194 -1.0 +6394 1 1.72 23.0100002 26.5499993 60.1800003 0.817168 -0.5764 -1.0 +6395 1 1.72 23.0100002 24.7800007 61.9500008 0.634044 0.773297 -1.0 +6396 1 1.72 21.2399998 26.5499993 61.9500008 -0.992661 0.120928 -1.0 +6397 1 1.72 24.7800007 24.7800007 60.1800003 -0.962121 -0.272624 -1.0 +6398 1 1.72 26.5499993 26.5499993 60.1800003 -0.127845 0.991794 -1.0 +6399 1 1.72 26.5499993 24.7800007 61.9500008 0.306713 0.951802 -1.0 +6400 1 1.72 24.7800007 26.5499993 61.9500008 0.93199 -0.362485 -1.0 +6401 1 1.72 0.0 14.1599999 63.7200012 0.244456 0.96966 -1.0 +6402 1 1.72 1.77 15.9300004 63.7200012 0.906764 0.421638 -1.0 +6403 1 1.72 1.77 14.1599999 65.4899979 -0.0159795 0.999872 -1.0 +6404 1 1.72 0.0 15.9300004 65.4899979 0.876117 -0.482098 -1.0 +6405 1 1.72 3.54 14.1599999 63.7200012 -0.9345 -0.355962 -1.0 +6406 1 1.72 5.31 15.9300004 63.7200012 0.757074 0.653329 -1.0 +6407 1 1.72 5.31 14.1599999 65.4899979 -0.999824 -0.0187767 -1.0 +6408 1 1.72 3.54 15.9300004 65.4899979 0.999754 -0.0221863 -1.0 +6409 1 1.72 7.0799999 14.1599999 63.7200012 -0.0266067 0.999646 -1.0 +6410 1 1.72 8.8500004 15.9300004 63.7200012 0.337721 0.941246 -1.0 +6411 1 1.72 8.8500004 14.1599999 65.4899979 -0.924652 0.380814 -1.0 +6412 1 1.72 7.0799999 15.9300004 65.4899979 0.85257 -0.522613 -1.0 +6413 1 1.72 10.6199999 14.1599999 63.7200012 -0.574371 0.818595 -1.0 +6414 1 1.72 12.3900004 15.9300004 63.7200012 -0.916457 -0.400132 -1.0 +6415 1 1.72 12.3900004 14.1599999 65.4899979 0.574534 0.818481 -1.0 +6416 1 1.72 10.6199999 15.9300004 65.4899979 0.46387 0.885903 -1.0 +6417 1 1.72 14.1599999 14.1599999 63.7200012 0.529827 -0.848106 -1.0 +6418 1 1.72 15.9300004 15.9300004 63.7200012 -0.355528 0.934666 -1.0 +6419 1 1.72 15.9300004 14.1599999 65.4899979 -0.34941 0.93697 -1.0 +6420 1 1.72 14.1599999 15.9300004 65.4899979 -0.0601426 0.99819 -1.0 +6421 1 1.72 17.7000008 14.1599999 63.7200012 1 -0.000777058 -1.0 +6422 1 1.72 19.4699993 15.9300004 63.7200012 -0.999869 -0.0161834 -1.0 +6423 1 1.72 19.4699993 14.1599999 65.4899979 0.945448 0.325773 -1.0 +6424 1 1.72 17.7000008 15.9300004 65.4899979 -0.433125 0.901334 -1.0 +6425 1 1.72 21.2399998 14.1599999 63.7200012 -0.995927 0.0901635 -1.0 +6426 1 1.72 23.0100002 15.9300004 63.7200012 0.374725 -0.927136 -1.0 +6427 1 1.72 23.0100002 14.1599999 65.4899979 -0.976745 -0.214407 -1.0 +6428 1 1.72 21.2399998 15.9300004 65.4899979 -0.745958 -0.665993 -1.0 +6429 1 1.72 24.7800007 14.1599999 63.7200012 0.036316 -0.99934 -1.0 +6430 1 1.72 26.5499993 15.9300004 63.7200012 -0.227081 -0.973876 -1.0 +6431 1 1.72 26.5499993 14.1599999 65.4899979 -0.738204 0.674578 -1.0 +6432 1 1.72 24.7800007 15.9300004 65.4899979 -0.0579713 0.998318 -1.0 +6433 1 1.72 0.0 17.7000008 63.7200012 0.25366 -0.967293 -1.0 +6434 1 1.72 1.77 19.4699993 63.7200012 0.922366 0.386317 -1.0 +6435 1 1.72 1.77 17.7000008 65.4899979 0.61591 -0.787816 -1.0 +6436 1 1.72 0.0 19.4699993 65.4899979 0.28935 -0.957223 -1.0 +6437 1 1.72 3.54 17.7000008 63.7200012 -0.622173 -0.78288 -1.0 +6438 1 1.72 5.31 19.4699993 63.7200012 -0.89036 -0.455257 -1.0 +6439 1 1.72 5.31 17.7000008 65.4899979 -0.990148 0.140027 -1.0 +6440 1 1.72 3.54 19.4699993 65.4899979 0.883397 0.468626 -1.0 +6441 1 1.72 7.0799999 17.7000008 63.7200012 -0.288056 -0.957614 -1.0 +6442 1 1.72 8.8500004 19.4699993 63.7200012 -0.356241 0.934394 -1.0 +6443 1 1.72 8.8500004 17.7000008 65.4899979 0.282286 0.95933 -1.0 +6444 1 1.72 7.0799999 19.4699993 65.4899979 0.434675 0.900587 -1.0 +6445 1 1.72 10.6199999 17.7000008 63.7200012 -0.999862 0.0166135 -1.0 +6446 1 1.72 12.3900004 19.4699993 63.7200012 0.837914 0.545802 -1.0 +6447 1 1.72 12.3900004 17.7000008 65.4899979 -0.297773 -0.954637 -1.0 +6448 1 1.72 10.6199999 19.4699993 65.4899979 -0.0247984 -0.999692 -1.0 +6449 1 1.72 14.1599999 17.7000008 63.7200012 0.933256 0.359213 -1.0 +6450 1 1.72 15.9300004 19.4699993 63.7200012 0.573099 -0.819486 -1.0 +6451 1 1.72 15.9300004 17.7000008 65.4899979 0.498589 0.866838 -1.0 +6452 1 1.72 14.1599999 19.4699993 65.4899979 -0.915794 0.401647 -1.0 +6453 1 1.72 17.7000008 17.7000008 63.7200012 0.870286 0.492546 -1.0 +6454 1 1.72 19.4699993 19.4699993 63.7200012 0.875191 -0.483778 -1.0 +6455 1 1.72 19.4699993 17.7000008 65.4899979 0.635261 -0.772297 -1.0 +6456 1 1.72 17.7000008 19.4699993 65.4899979 0.587316 0.809358 -1.0 +6457 1 1.72 21.2399998 17.7000008 63.7200012 0.539067 -0.842263 -1.0 +6458 1 1.72 23.0100002 19.4699993 63.7200012 -0.991651 -0.128952 -1.0 +6459 1 1.72 23.0100002 17.7000008 65.4899979 0.20644 -0.978459 -1.0 +6460 1 1.72 21.2399998 19.4699993 65.4899979 -0.708169 -0.706043 -1.0 +6461 1 1.72 24.7800007 17.7000008 63.7200012 0.717692 -0.696361 -1.0 +6462 1 1.72 26.5499993 19.4699993 63.7200012 -0.997761 -0.0668857 -1.0 +6463 1 1.72 26.5499993 17.7000008 65.4899979 -0.993374 -0.114923 -1.0 +6464 1 1.72 24.7800007 19.4699993 65.4899979 0.987452 -0.157921 -1.0 +6465 1 1.72 0.0 21.2399998 63.7200012 -0.266421 -0.963857 -1.0 +6466 1 1.72 1.77 23.0100002 63.7200012 -0.0315061 -0.999504 -1.0 +6467 1 1.72 1.77 21.2399998 65.4899979 -0.961436 -0.27503 -1.0 +6468 1 1.72 0.0 23.0100002 65.4899979 -0.334425 0.942422 -1.0 +6469 1 1.72 3.54 21.2399998 63.7200012 -0.812159 0.583436 -1.0 +6470 1 1.72 5.31 23.0100002 63.7200012 0.149683 0.988734 -1.0 +6471 1 1.72 5.31 21.2399998 65.4899979 0.652667 0.757645 -1.0 +6472 1 1.72 3.54 23.0100002 65.4899979 -0.542246 -0.84022 -1.0 +6473 1 1.72 7.0799999 21.2399998 63.7200012 0.313021 0.949746 -1.0 +6474 1 1.72 8.8500004 23.0100002 63.7200012 0.988847 -0.148936 -1.0 +6475 1 1.72 8.8500004 21.2399998 65.4899979 -0.999068 0.043159 -1.0 +6476 1 1.72 7.0799999 23.0100002 65.4899979 -0.257953 -0.966158 -1.0 +6477 1 1.72 10.6199999 21.2399998 63.7200012 -0.93969 0.342026 -1.0 +6478 1 1.72 12.3900004 23.0100002 63.7200012 0.691642 -0.722241 -1.0 +6479 1 1.72 12.3900004 21.2399998 65.4899979 0.910415 0.413697 -1.0 +6480 1 1.72 10.6199999 23.0100002 65.4899979 0.977044 -0.213039 -1.0 +6481 1 1.72 14.1599999 21.2399998 63.7200012 -0.994924 -0.100625 -1.0 +6482 1 1.72 15.9300004 23.0100002 63.7200012 0.997765 0.0668215 -1.0 +6483 1 1.72 15.9300004 21.2399998 65.4899979 -0.953713 -0.300718 -1.0 +6484 1 1.72 14.1599999 23.0100002 65.4899979 -0.587848 -0.808972 -1.0 +6485 1 1.72 17.7000008 21.2399998 63.7200012 -0.809417 0.587234 -1.0 +6486 1 1.72 19.4699993 23.0100002 63.7200012 -0.711209 -0.70298 -1.0 +6487 1 1.72 19.4699993 21.2399998 65.4899979 -0.625646 -0.780107 -1.0 +6488 1 1.72 17.7000008 23.0100002 65.4899979 0.997192 0.0748852 -1.0 +6489 1 1.72 21.2399998 21.2399998 63.7200012 0.00737696 0.999973 -1.0 +6490 1 1.72 23.0100002 23.0100002 63.7200012 0.0583806 0.998294 -1.0 +6491 1 1.72 23.0100002 21.2399998 65.4899979 0.389595 -0.920986 -1.0 +6492 1 1.72 21.2399998 23.0100002 65.4899979 0.831391 0.555688 -1.0 +6493 1 1.72 24.7800007 21.2399998 63.7200012 0.929878 0.367867 -1.0 +6494 1 1.72 26.5499993 23.0100002 63.7200012 0.331794 -0.943352 -1.0 +6495 1 1.72 26.5499993 21.2399998 65.4899979 0.970172 0.242418 -1.0 +6496 1 1.72 24.7800007 23.0100002 65.4899979 0.432347 -0.901707 -1.0 +6497 1 1.72 0.0 24.7800007 63.7200012 -0.226161 -0.97409 -1.0 +6498 1 1.72 1.77 26.5499993 63.7200012 -0.579739 -0.814802 -1.0 +6499 1 1.72 1.77 24.7800007 65.4899979 -0.864858 -0.502017 -1.0 +6500 1 1.72 0.0 26.5499993 65.4899979 0.741342 0.671127 -1.0 +6501 1 1.72 3.54 24.7800007 63.7200012 -0.284528 -0.958668 -1.0 +6502 1 1.72 5.31 26.5499993 63.7200012 -0.979081 -0.20347 -1.0 +6503 1 1.72 5.31 24.7800007 65.4899979 0.996323 -0.0856767 -1.0 +6504 1 1.72 3.54 26.5499993 65.4899979 -0.0196231 0.999807 -1.0 +6505 1 1.72 7.0799999 24.7800007 63.7200012 0.996112 0.0880975 -1.0 +6506 1 1.72 8.8500004 26.5499993 63.7200012 0.693808 -0.72016 -1.0 +6507 1 1.72 8.8500004 24.7800007 65.4899979 0.0953527 0.995444 -1.0 +6508 1 1.72 7.0799999 26.5499993 65.4899979 -0.501416 -0.865206 -1.0 +6509 1 1.72 10.6199999 24.7800007 63.7200012 0.575267 0.817966 -1.0 +6510 1 1.72 12.3900004 26.5499993 63.7200012 -0.221833 -0.975085 -1.0 +6511 1 1.72 12.3900004 24.7800007 65.4899979 -0.404036 -0.914743 -1.0 +6512 1 1.72 10.6199999 26.5499993 65.4899979 0.681269 0.732033 -1.0 +6513 1 1.72 14.1599999 24.7800007 63.7200012 -0.267765 -0.963484 -1.0 +6514 1 1.72 15.9300004 26.5499993 63.7200012 0.929298 -0.36933 -1.0 +6515 1 1.72 15.9300004 24.7800007 65.4899979 -0.500618 -0.865669 -1.0 +6516 1 1.72 14.1599999 26.5499993 65.4899979 0.447365 0.894352 -1.0 +6517 1 1.72 17.7000008 24.7800007 63.7200012 0.69879 0.715327 -1.0 +6518 1 1.72 19.4699993 26.5499993 63.7200012 0.172359 0.985034 -1.0 +6519 1 1.72 19.4699993 24.7800007 65.4899979 0.757533 0.652797 -1.0 +6520 1 1.72 17.7000008 26.5499993 65.4899979 0.874572 -0.484896 -1.0 +6521 1 1.72 21.2399998 24.7800007 63.7200012 0.952157 0.305611 -1.0 +6522 1 1.72 23.0100002 26.5499993 63.7200012 0.977243 -0.212123 -1.0 +6523 1 1.72 23.0100002 24.7800007 65.4899979 0.802441 -0.596731 -1.0 +6524 1 1.72 21.2399998 26.5499993 65.4899979 0.515242 -0.857045 -1.0 +6525 1 1.72 24.7800007 24.7800007 63.7200012 -0.852782 -0.522266 -1.0 +6526 1 1.72 26.5499993 26.5499993 63.7200012 0.0552851 -0.998471 -1.0 +6527 1 1.72 26.5499993 24.7800007 65.4899979 -0.979565 0.201126 -1.0 +6528 1 1.72 24.7800007 26.5499993 65.4899979 -0.863429 0.504471 -1.0 +6529 1 1.72 0.0 14.1599999 67.2600021 0.87739 -0.479777 -1.0 +6530 1 1.72 1.77 15.9300004 67.2600021 0.61897 0.785414 -1.0 +6531 1 1.72 1.77 14.1599999 69.0299988 -0.842018 0.53945 -1.0 +6532 1 1.72 0.0 15.9300004 69.0299988 -0.666081 0.745879 -1.0 +6533 1 1.72 3.54 14.1599999 67.2600021 0.964859 -0.262767 -1.0 +6534 1 1.72 5.31 15.9300004 67.2600021 -0.629911 -0.776667 -1.0 +6535 1 1.72 5.31 14.1599999 69.0299988 -0.332087 -0.943249 -1.0 +6536 1 1.72 3.54 15.9300004 69.0299988 -0.994652 0.103279 -1.0 +6537 1 1.72 7.0799999 14.1599999 67.2600021 -0.272747 0.962086 -1.0 +6538 1 1.72 8.8500004 15.9300004 67.2600021 -0.321511 0.946906 -1.0 +6539 1 1.72 8.8500004 14.1599999 69.0299988 -0.905073 0.425257 -1.0 +6540 1 1.72 7.0799999 15.9300004 69.0299988 0.992922 0.118766 -1.0 +6541 1 1.72 10.6199999 14.1599999 67.2600021 0.567579 0.823319 -1.0 +6542 1 1.72 12.3900004 15.9300004 67.2600021 0.852352 -0.522969 -1.0 +6543 1 1.72 12.3900004 14.1599999 69.0299988 -0.183958 -0.982934 -1.0 +6544 1 1.72 10.6199999 15.9300004 69.0299988 0.112641 0.993636 -1.0 +6545 1 1.72 14.1599999 14.1599999 67.2600021 -0.834419 0.551131 -1.0 +6546 1 1.72 15.9300004 15.9300004 67.2600021 -0.665779 0.746149 -1.0 +6547 1 1.72 15.9300004 14.1599999 69.0299988 -0.251836 0.96777 -1.0 +6548 1 1.72 14.1599999 15.9300004 69.0299988 0.732972 0.680259 -1.0 +6549 1 1.72 17.7000008 14.1599999 67.2600021 0.560181 -0.82837 -1.0 +6550 1 1.72 19.4699993 15.9300004 67.2600021 0.580172 0.814494 -1.0 +6551 1 1.72 19.4699993 14.1599999 69.0299988 0.623081 -0.782157 -1.0 +6552 1 1.72 17.7000008 15.9300004 69.0299988 0.0812622 0.996693 -1.0 +6553 1 1.72 21.2399998 14.1599999 67.2600021 0.414327 0.910128 -1.0 +6554 1 1.72 23.0100002 15.9300004 67.2600021 0.866352 0.499434 -1.0 +6555 1 1.72 23.0100002 14.1599999 69.0299988 -0.899415 -0.437097 -1.0 +6556 1 1.72 21.2399998 15.9300004 69.0299988 0.634276 -0.773107 -1.0 +6557 1 1.72 24.7800007 14.1599999 67.2600021 -0.900873 -0.434082 -1.0 +6558 1 1.72 26.5499993 15.9300004 67.2600021 -0.87466 0.484737 -1.0 +6559 1 1.72 26.5499993 14.1599999 69.0299988 0.548213 -0.836339 -1.0 +6560 1 1.72 24.7800007 15.9300004 69.0299988 -0.723261 -0.690575 -1.0 +6561 1 1.72 0.0 17.7000008 67.2600021 0.932227 0.361874 -1.0 +6562 1 1.72 1.77 19.4699993 67.2600021 0.682505 -0.730881 -1.0 +6563 1 1.72 1.77 17.7000008 69.0299988 0.232272 0.972651 -1.0 +6564 1 1.72 0.0 19.4699993 69.0299988 -0.719388 -0.694608 -1.0 +6565 1 1.72 3.54 17.7000008 67.2600021 0.814313 -0.580426 -1.0 +6566 1 1.72 5.31 19.4699993 67.2600021 0.805219 0.592978 -1.0 +6567 1 1.72 5.31 17.7000008 69.0299988 -0.929754 -0.36818 -1.0 +6568 1 1.72 3.54 19.4699993 69.0299988 0.538733 0.842477 -1.0 +6569 1 1.72 7.0799999 17.7000008 67.2600021 0.21099 0.977488 -1.0 +6570 1 1.72 8.8500004 19.4699993 67.2600021 0.401478 0.915869 -1.0 +6571 1 1.72 8.8500004 17.7000008 69.0299988 0.479212 -0.877699 -1.0 +6572 1 1.72 7.0799999 19.4699993 69.0299988 -0.99607 -0.0885645 -1.0 +6573 1 1.72 10.6199999 17.7000008 67.2600021 0.501774 0.864999 -1.0 +6574 1 1.72 12.3900004 19.4699993 67.2600021 -0.644282 0.764788 -1.0 +6575 1 1.72 12.3900004 17.7000008 69.0299988 0.9996 0.0282884 -1.0 +6576 1 1.72 10.6199999 19.4699993 69.0299988 -0.989743 -0.142859 -1.0 +6577 1 1.72 14.1599999 17.7000008 67.2600021 -0.221584 0.975141 -1.0 +6578 1 1.72 15.9300004 19.4699993 67.2600021 0.720961 0.692975 -1.0 +6579 1 1.72 15.9300004 17.7000008 69.0299988 -0.0140114 -0.999902 -1.0 +6580 1 1.72 14.1599999 19.4699993 69.0299988 0.959081 0.283133 -1.0 +6581 1 1.72 17.7000008 17.7000008 67.2600021 0.170917 0.985285 -1.0 +6582 1 1.72 19.4699993 19.4699993 67.2600021 0.307773 -0.95146 -1.0 +6583 1 1.72 19.4699993 17.7000008 69.0299988 0.57945 0.815008 -1.0 +6584 1 1.72 17.7000008 19.4699993 69.0299988 -0.899687 -0.436535 -1.0 +6585 1 1.72 21.2399998 17.7000008 67.2600021 0.523108 0.852266 -1.0 +6586 1 1.72 23.0100002 19.4699993 67.2600021 0.936372 0.35101 -1.0 +6587 1 1.72 23.0100002 17.7000008 69.0299988 -0.600411 0.799692 -1.0 +6588 1 1.72 21.2399998 19.4699993 69.0299988 0.941876 -0.335961 -1.0 +6589 1 1.72 24.7800007 17.7000008 67.2600021 -0.153774 -0.988106 -1.0 +6590 1 1.72 26.5499993 19.4699993 67.2600021 0.362793 0.93187 -1.0 +6591 1 1.72 26.5499993 17.7000008 69.0299988 -0.886574 0.462587 -1.0 +6592 1 1.72 24.7800007 19.4699993 69.0299988 -0.290998 0.956724 -1.0 +6593 1 1.72 0.0 21.2399998 67.2600021 -0.961752 -0.273921 -1.0 +6594 1 1.72 1.77 23.0100002 67.2600021 -0.0876775 -0.996149 -1.0 +6595 1 1.72 1.77 21.2399998 69.0299988 0.928451 -0.371456 -1.0 +6596 1 1.72 0.0 23.0100002 69.0299988 0.210289 -0.977639 -1.0 +6597 1 1.72 3.54 21.2399998 67.2600021 0.808145 -0.588983 -1.0 +6598 1 1.72 5.31 23.0100002 67.2600021 0.489345 0.87209 -1.0 +6599 1 1.72 5.31 21.2399998 69.0299988 -0.96947 -0.245209 -1.0 +6600 1 1.72 3.54 23.0100002 69.0299988 0.447867 0.8941 -1.0 +6601 1 1.72 7.0799999 21.2399998 67.2600021 -0.666432 0.745566 -1.0 +6602 1 1.72 8.8500004 23.0100002 67.2600021 -0.742723 0.669598 -1.0 +6603 1 1.72 8.8500004 21.2399998 69.0299988 0.944426 -0.328724 -1.0 +6604 1 1.72 7.0799999 23.0100002 69.0299988 0.336112 0.941822 -1.0 +6605 1 1.72 10.6199999 21.2399998 67.2600021 -0.985894 0.167369 -1.0 +6606 1 1.72 12.3900004 23.0100002 67.2600021 0.874583 0.484876 -1.0 +6607 1 1.72 12.3900004 21.2399998 69.0299988 0.585447 0.810711 -1.0 +6608 1 1.72 10.6199999 23.0100002 69.0299988 -0.685897 -0.727699 -1.0 +6609 1 1.72 14.1599999 21.2399998 67.2600021 0.285439 0.958397 -1.0 +6610 1 1.72 15.9300004 23.0100002 67.2600021 -0.19925 -0.979949 -1.0 +6611 1 1.72 15.9300004 21.2399998 69.0299988 -0.385146 0.922856 -1.0 +6612 1 1.72 14.1599999 23.0100002 69.0299988 0.659697 -0.751531 -1.0 +6613 1 1.72 17.7000008 21.2399998 67.2600021 0.468079 -0.883687 -1.0 +6614 1 1.72 19.4699993 23.0100002 67.2600021 0.954334 -0.298743 -1.0 +6615 1 1.72 19.4699993 21.2399998 69.0299988 0.765492 0.643446 -1.0 +6616 1 1.72 17.7000008 23.0100002 69.0299988 -0.364953 0.931026 -1.0 +6617 1 1.72 21.2399998 21.2399998 67.2600021 -0.674507 0.738269 -1.0 +6618 1 1.72 23.0100002 23.0100002 67.2600021 0.280405 -0.959882 -1.0 +6619 1 1.72 23.0100002 21.2399998 69.0299988 0.532257 0.846583 -1.0 +6620 1 1.72 21.2399998 23.0100002 69.0299988 0.812031 -0.583615 -1.0 +6621 1 1.72 24.7800007 21.2399998 67.2600021 0.147104 0.989121 -1.0 +6622 1 1.72 26.5499993 23.0100002 67.2600021 -0.71423 -0.699911 -1.0 +6623 1 1.72 26.5499993 21.2399998 69.0299988 -0.97684 0.213973 -1.0 +6624 1 1.72 24.7800007 23.0100002 69.0299988 -0.60991 0.792471 -1.0 +6625 1 1.72 0.0 24.7800007 67.2600021 0.991453 0.130463 -1.0 +6626 1 1.72 1.77 26.5499993 67.2600021 -0.802961 0.596032 -1.0 +6627 1 1.72 1.77 24.7800007 69.0299988 -0.222438 0.974947 -1.0 +6628 1 1.72 0.0 26.5499993 69.0299988 0.418506 0.908214 -1.0 +6629 1 1.72 3.54 24.7800007 67.2600021 0.880651 0.473766 -1.0 +6630 1 1.72 5.31 26.5499993 67.2600021 -0.808772 -0.588122 -1.0 +6631 1 1.72 5.31 24.7800007 69.0299988 -0.303163 -0.952939 -1.0 +6632 1 1.72 3.54 26.5499993 69.0299988 -0.789817 -0.613343 -1.0 +6633 1 1.72 7.0799999 24.7800007 67.2600021 -0.0525347 -0.998619 -1.0 +6634 1 1.72 8.8500004 26.5499993 67.2600021 -0.908101 0.418752 -1.0 +6635 1 1.72 8.8500004 24.7800007 69.0299988 -0.997227 0.0744199 -1.0 +6636 1 1.72 7.0799999 26.5499993 69.0299988 0.692675 -0.721249 -1.0 +6637 1 1.72 10.6199999 24.7800007 67.2600021 0.835829 0.54899 -1.0 +6638 1 1.72 12.3900004 26.5499993 67.2600021 0.612682 -0.790329 -1.0 +6639 1 1.72 12.3900004 24.7800007 69.0299988 -0.586983 0.809599 -1.0 +6640 1 1.72 10.6199999 26.5499993 69.0299988 -0.802581 -0.596543 -1.0 +6641 1 1.72 14.1599999 24.7800007 67.2600021 0.684556 0.72896 -1.0 +6642 1 1.72 15.9300004 26.5499993 67.2600021 0.490033 0.871704 -1.0 +6643 1 1.72 15.9300004 24.7800007 69.0299988 -0.679028 -0.734113 -1.0 +6644 1 1.72 14.1599999 26.5499993 69.0299988 -0.998102 -0.0615778 -1.0 +6645 1 1.72 17.7000008 24.7800007 67.2600021 0.97802 0.208512 -1.0 +6646 1 1.72 19.4699993 26.5499993 67.2600021 0.882844 0.469666 -1.0 +6647 1 1.72 19.4699993 24.7800007 69.0299988 0.171639 -0.98516 -1.0 +6648 1 1.72 17.7000008 26.5499993 69.0299988 -0.994123 -0.108258 -1.0 +6649 1 1.72 21.2399998 24.7800007 67.2600021 0.451029 -0.892509 -1.0 +6650 1 1.72 23.0100002 26.5499993 67.2600021 0.333532 0.942739 -1.0 +6651 1 1.72 23.0100002 24.7800007 69.0299988 -0.713851 -0.700298 -1.0 +6652 1 1.72 21.2399998 26.5499993 69.0299988 -0.882595 -0.470134 -1.0 +6653 1 1.72 24.7800007 24.7800007 67.2600021 0.753585 -0.657351 -1.0 +6654 1 1.72 26.5499993 26.5499993 67.2600021 -0.616616 0.787264 -1.0 +6655 1 1.72 26.5499993 24.7800007 69.0299988 -0.0466451 0.998912 -1.0 +6656 1 1.72 24.7800007 26.5499993 69.0299988 -0.273643 0.961831 -1.0 +6657 1 1.72 0.0 14.1599999 70.8000031 0.978741 0.205099 -1.0 +6658 1 1.72 1.77 15.9300004 70.8000031 -0.729137 0.684368 -1.0 +6659 1 1.72 1.77 14.1599999 72.5699997 0.220864 -0.975305 -1.0 +6660 1 1.72 0.0 15.9300004 72.5699997 0.78785 -0.615868 -1.0 +6661 1 1.72 3.54 14.1599999 70.8000031 0.906063 -0.423143 -1.0 +6662 1 1.72 5.31 15.9300004 70.8000031 -0.855733 -0.517418 -1.0 +6663 1 1.72 5.31 14.1599999 72.5699997 0.0235815 0.999722 -1.0 +6664 1 1.72 3.54 15.9300004 72.5699997 0.859711 -0.51078 -1.0 +6665 1 1.72 7.0799999 14.1599999 70.8000031 0.781283 0.624177 -1.0 +6666 1 1.72 8.8500004 15.9300004 70.8000031 -0.978043 -0.208402 -1.0 +6667 1 1.72 8.8500004 14.1599999 72.5699997 -0.869578 0.493795 -1.0 +6668 1 1.72 7.0799999 15.9300004 72.5699997 -0.93941 -0.342796 -1.0 +6669 1 1.72 10.6199999 14.1599999 70.8000031 0.911545 0.4112 -1.0 +6670 1 1.72 12.3900004 15.9300004 70.8000031 -0.389525 0.921016 -1.0 +6671 1 1.72 12.3900004 14.1599999 72.5699997 -0.445105 0.895478 -1.0 +6672 1 1.72 10.6199999 15.9300004 72.5699997 0.603963 0.797012 -1.0 +6673 1 1.72 14.1599999 14.1599999 70.8000031 -0.999989 0.00466273 -1.0 +6674 1 1.72 15.9300004 15.9300004 70.8000031 0.681259 0.732042 -1.0 +6675 1 1.72 15.9300004 14.1599999 72.5699997 0.109688 -0.993966 -1.0 +6676 1 1.72 14.1599999 15.9300004 72.5699997 0.310439 -0.950593 -1.0 +6677 1 1.72 17.7000008 14.1599999 70.8000031 0.963891 -0.266299 -1.0 +6678 1 1.72 19.4699993 15.9300004 70.8000031 0.808447 -0.588569 -1.0 +6679 1 1.72 19.4699993 14.1599999 72.5699997 -0.813087 0.582142 -1.0 +6680 1 1.72 17.7000008 15.9300004 72.5699997 -0.918742 0.394859 -1.0 +6681 1 1.72 21.2399998 14.1599999 70.8000031 -0.623102 0.78214 -1.0 +6682 1 1.72 23.0100002 15.9300004 70.8000031 0.265835 -0.964019 -1.0 +6683 1 1.72 23.0100002 14.1599999 72.5699997 0.0856731 0.996323 -1.0 +6684 1 1.72 21.2399998 15.9300004 72.5699997 0.963284 0.268484 -1.0 +6685 1 1.72 24.7800007 14.1599999 70.8000031 0.996656 -0.0817137 -1.0 +6686 1 1.72 26.5499993 15.9300004 70.8000031 -0.999592 -0.0285468 -1.0 +6687 1 1.72 26.5499993 14.1599999 72.5699997 0.994038 -0.109037 -1.0 +6688 1 1.72 24.7800007 15.9300004 72.5699997 0.440626 -0.897691 -1.0 +6689 1 1.72 0.0 17.7000008 70.8000031 -0.635711 -0.771927 -1.0 +6690 1 1.72 1.77 19.4699993 70.8000031 0.836998 -0.547206 -1.0 +6691 1 1.72 1.77 17.7000008 72.5699997 -0.226243 -0.974071 -1.0 +6692 1 1.72 0.0 19.4699993 72.5699997 -0.728806 -0.68472 -1.0 +6693 1 1.72 3.54 17.7000008 70.8000031 0.115481 -0.99331 -1.0 +6694 1 1.72 5.31 19.4699993 70.8000031 -0.929076 -0.369888 -1.0 +6695 1 1.72 5.31 17.7000008 72.5699997 0.667579 0.744539 -1.0 +6696 1 1.72 3.54 19.4699993 72.5699997 0.772755 0.634704 -1.0 +6697 1 1.72 7.0799999 17.7000008 70.8000031 0.89582 0.444417 -1.0 +6698 1 1.72 8.8500004 19.4699993 70.8000031 -0.571345 -0.82071 -1.0 +6699 1 1.72 8.8500004 17.7000008 72.5699997 -0.930746 -0.365666 -1.0 +6700 1 1.72 7.0799999 19.4699993 72.5699997 -0.5172 0.855865 -1.0 +6701 1 1.72 10.6199999 17.7000008 70.8000031 -0.926759 0.375657 -1.0 +6702 1 1.72 12.3900004 19.4699993 70.8000031 0.95546 0.295121 -1.0 +6703 1 1.72 12.3900004 17.7000008 72.5699997 0.691504 0.722373 -1.0 +6704 1 1.72 10.6199999 19.4699993 72.5699997 -0.432539 0.901615 -1.0 +6705 1 1.72 14.1599999 17.7000008 70.8000031 0.966332 -0.257299 -1.0 +6706 1 1.72 15.9300004 19.4699993 70.8000031 0.89671 -0.442618 -1.0 +6707 1 1.72 15.9300004 17.7000008 72.5699997 -0.928459 0.371435 -1.0 +6708 1 1.72 14.1599999 19.4699993 72.5699997 -0.891535 0.452953 -1.0 +6709 1 1.72 17.7000008 17.7000008 70.8000031 0.923927 0.382568 -1.0 +6710 1 1.72 19.4699993 19.4699993 70.8000031 -0.190266 -0.981733 -1.0 +6711 1 1.72 19.4699993 17.7000008 72.5699997 0.431386 0.902167 -1.0 +6712 1 1.72 17.7000008 19.4699993 72.5699997 0.692605 0.721317 -1.0 +6713 1 1.72 21.2399998 17.7000008 70.8000031 0.881341 0.472481 -1.0 +6714 1 1.72 23.0100002 19.4699993 70.8000031 0.929748 0.368197 -1.0 +6715 1 1.72 23.0100002 17.7000008 72.5699997 0.538103 0.842879 -1.0 +6716 1 1.72 21.2399998 19.4699993 72.5699997 0.608936 0.79322 -1.0 +6717 1 1.72 24.7800007 17.7000008 70.8000031 0.131981 -0.991252 -1.0 +6718 1 1.72 26.5499993 19.4699993 70.8000031 -0.410349 0.911929 -1.0 +6719 1 1.72 26.5499993 17.7000008 72.5699997 0.563545 0.826085 -1.0 +6720 1 1.72 24.7800007 19.4699993 72.5699997 0.128492 -0.991711 -1.0 +6721 1 1.72 0.0 21.2399998 70.8000031 0.754052 -0.656814 -1.0 +6722 1 1.72 1.77 23.0100002 70.8000031 -0.996879 -0.0789434 -1.0 +6723 1 1.72 1.77 21.2399998 72.5699997 -0.935458 -0.353438 -1.0 +6724 1 1.72 0.0 23.0100002 72.5699997 0.997896 0.0648414 -1.0 +6725 1 1.72 3.54 21.2399998 70.8000031 0.103204 -0.99466 -1.0 +6726 1 1.72 5.31 23.0100002 70.8000031 -0.0146918 -0.999892 -1.0 +6727 1 1.72 5.31 21.2399998 72.5699997 0.129717 -0.991551 -1.0 +6728 1 1.72 3.54 23.0100002 72.5699997 0.285649 -0.958334 -1.0 +6729 1 1.72 7.0799999 21.2399998 70.8000031 0.850011 0.526764 -1.0 +6730 1 1.72 8.8500004 23.0100002 70.8000031 0.987398 0.158259 -1.0 +6731 1 1.72 8.8500004 21.2399998 72.5699997 -0.848604 0.529028 -1.0 +6732 1 1.72 7.0799999 23.0100002 72.5699997 0.971502 0.23703 -1.0 +6733 1 1.72 10.6199999 21.2399998 70.8000031 -0.234695 -0.972069 -1.0 +6734 1 1.72 12.3900004 23.0100002 70.8000031 -0.239717 -0.970843 -1.0 +6735 1 1.72 12.3900004 21.2399998 72.5699997 -0.949156 0.314806 -1.0 +6736 1 1.72 10.6199999 23.0100002 72.5699997 -0.094091 -0.995564 -1.0 +6737 1 1.72 14.1599999 21.2399998 70.8000031 0.816531 -0.577302 -1.0 +6738 1 1.72 15.9300004 23.0100002 70.8000031 -0.115972 -0.993252 -1.0 +6739 1 1.72 15.9300004 21.2399998 72.5699997 -0.581646 0.813442 -1.0 +6740 1 1.72 14.1599999 23.0100002 72.5699997 0.999928 -0.0119888 -1.0 +6741 1 1.72 17.7000008 21.2399998 70.8000031 -0.376659 0.926352 -1.0 +6742 1 1.72 19.4699993 23.0100002 70.8000031 0.735304 0.677738 -1.0 +6743 1 1.72 19.4699993 21.2399998 72.5699997 0.174364 0.984681 -1.0 +6744 1 1.72 17.7000008 23.0100002 72.5699997 -0.939792 -0.341748 -1.0 +6745 1 1.72 21.2399998 21.2399998 70.8000031 0.10769 0.994185 -1.0 +6746 1 1.72 23.0100002 23.0100002 70.8000031 0.938343 0.345706 -1.0 +6747 1 1.72 23.0100002 21.2399998 72.5699997 -0.994638 0.103415 -1.0 +6748 1 1.72 21.2399998 23.0100002 72.5699997 -0.793569 0.60848 -1.0 +6749 1 1.72 24.7800007 21.2399998 70.8000031 0.645359 0.763879 -1.0 +6750 1 1.72 26.5499993 23.0100002 70.8000031 -0.850356 -0.526209 -1.0 +6751 1 1.72 26.5499993 21.2399998 72.5699997 0.678389 0.734703 -1.0 +6752 1 1.72 24.7800007 23.0100002 72.5699997 0.448115 0.893976 -1.0 +6753 1 1.72 0.0 24.7800007 70.8000031 0.80702 0.590525 -1.0 +6754 1 1.72 1.77 26.5499993 70.8000031 -0.912397 0.409305 -1.0 +6755 1 1.72 1.77 24.7800007 72.5699997 0.0670246 0.997751 -1.0 +6756 1 1.72 0.0 26.5499993 72.5699997 -0.57862 0.815598 -1.0 +6757 1 1.72 3.54 24.7800007 70.8000031 -0.667173 -0.744903 -1.0 +6758 1 1.72 5.31 26.5499993 70.8000031 -0.97133 0.237733 -1.0 +6759 1 1.72 5.31 24.7800007 72.5699997 -0.698831 0.715287 -1.0 +6760 1 1.72 3.54 26.5499993 72.5699997 -0.250775 0.968045 -1.0 +6761 1 1.72 7.0799999 24.7800007 70.8000031 -0.729737 -0.683728 -1.0 +6762 1 1.72 8.8500004 26.5499993 70.8000031 -0.74959 0.661903 -1.0 +6763 1 1.72 8.8500004 24.7800007 72.5699997 -0.979551 -0.201196 -1.0 +6764 1 1.72 7.0799999 26.5499993 72.5699997 0.965879 -0.258994 -1.0 +6765 1 1.72 10.6199999 24.7800007 70.8000031 0.984449 -0.175671 -1.0 +6766 1 1.72 12.3900004 26.5499993 70.8000031 0.867935 -0.496679 -1.0 +6767 1 1.72 12.3900004 24.7800007 72.5699997 -0.535107 -0.844784 -1.0 +6768 1 1.72 10.6199999 26.5499993 72.5699997 0.800702 0.599063 -1.0 +6769 1 1.72 14.1599999 24.7800007 70.8000031 -0.898391 -0.439197 -1.0 +6770 1 1.72 15.9300004 26.5499993 70.8000031 -0.603445 -0.797404 -1.0 +6771 1 1.72 15.9300004 24.7800007 72.5699997 -0.556372 0.830933 -1.0 +6772 1 1.72 14.1599999 26.5499993 72.5699997 -0.831395 0.555681 -1.0 +6773 1 1.72 17.7000008 24.7800007 70.8000031 0.719698 0.694288 -1.0 +6774 1 1.72 19.4699993 26.5499993 70.8000031 -0.936839 -0.34976 -1.0 +6775 1 1.72 19.4699993 24.7800007 72.5699997 -0.340637 0.940195 -1.0 +6776 1 1.72 17.7000008 26.5499993 72.5699997 -0.58854 0.808468 -1.0 +6777 1 1.72 21.2399998 24.7800007 70.8000031 0.430324 0.902674 -1.0 +6778 1 1.72 23.0100002 26.5499993 70.8000031 -0.977698 0.210016 -1.0 +6779 1 1.72 23.0100002 24.7800007 72.5699997 -0.137458 -0.990508 -1.0 +6780 1 1.72 21.2399998 26.5499993 72.5699997 0.446041 0.895013 -1.0 +6781 1 1.72 24.7800007 24.7800007 70.8000031 -0.965895 0.258935 -1.0 +6782 1 1.72 26.5499993 26.5499993 70.8000031 -0.0805905 -0.996747 -1.0 +6783 1 1.72 26.5499993 24.7800007 72.5699997 -0.848441 -0.529289 -1.0 +6784 1 1.72 24.7800007 26.5499993 72.5699997 -0.971397 0.23746 -1.0 +6785 1 1.72 0.0 14.1599999 74.3399964 -0.567765 -0.823191 -1.0 +6786 1 1.72 1.77 15.9300004 74.3399964 0.257878 -0.966178 -1.0 +6787 1 1.72 1.77 14.1599999 76.1100006 -0.850722 -0.525616 -0.990079 +6788 1 1.72 0.0 15.9300004 76.1100006 0.371099 -0.928593 -0.990079 +6789 1 1.72 3.54 14.1599999 74.3399964 0.548981 -0.835835 -1.0 +6790 1 1.72 5.31 15.9300004 74.3399964 0.793136 0.609045 -1.0 +6791 1 1.72 5.31 14.1599999 76.1100006 -0.660052 -0.75122 -0.990079 +6792 1 1.72 3.54 15.9300004 76.1100006 -0.747507 -0.664254 -0.990079 +6793 1 1.72 7.0799999 14.1599999 74.3399964 0.649953 -0.759975 -1.0 +6794 1 1.72 8.8500004 15.9300004 74.3399964 -0.00836538 0.999965 -1.0 +6795 1 1.72 8.8500004 14.1599999 76.1100006 0.668659 -0.743569 -0.990079 +6796 1 1.72 7.0799999 15.9300004 76.1100006 -0.818428 0.574609 -0.990079 +6797 1 1.72 10.6199999 14.1599999 74.3399964 0.662787 0.748808 -1.0 +6798 1 1.72 12.3900004 15.9300004 74.3399964 0.954976 -0.296682 -1.0 +6799 1 1.72 12.3900004 14.1599999 76.1100006 -0.524912 -0.851157 -0.990079 +6800 1 1.72 10.6199999 15.9300004 76.1100006 0.746102 0.665832 -0.990079 +6801 1 1.72 14.1599999 14.1599999 74.3399964 0.998611 -0.0526852 -1.0 +6802 1 1.72 15.9300004 15.9300004 74.3399964 0.386207 -0.922412 -1.0 +6803 1 1.72 15.9300004 14.1599999 76.1100006 0.899522 0.436876 -0.990079 +6804 1 1.72 14.1599999 15.9300004 76.1100006 0.741752 -0.670674 -0.990079 +6805 1 1.72 17.7000008 14.1599999 74.3399964 -0.969453 0.245277 -1.0 +6806 1 1.72 19.4699993 15.9300004 74.3399964 0.542289 -0.840192 -1.0 +6807 1 1.72 19.4699993 14.1599999 76.1100006 -0.819042 -0.573734 -0.990079 +6808 1 1.72 17.7000008 15.9300004 76.1100006 0.875278 -0.483621 -0.990079 +6809 1 1.72 21.2399998 14.1599999 74.3399964 0.672245 -0.740329 -1.0 +6810 1 1.72 23.0100002 15.9300004 74.3399964 0.741619 -0.670821 -1.0 +6811 1 1.72 23.0100002 14.1599999 76.1100006 0.996374 0.0850818 -0.990079 +6812 1 1.72 21.2399998 15.9300004 76.1100006 0.792092 -0.610401 -0.990079 +6813 1 1.72 24.7800007 14.1599999 74.3399964 -0.485996 0.873961 -1.0 +6814 1 1.72 26.5499993 15.9300004 74.3399964 -0.652846 0.75749 -1.0 +6815 1 1.72 26.5499993 14.1599999 76.1100006 0.642313 -0.766442 -0.990079 +6816 1 1.72 24.7800007 15.9300004 76.1100006 0.972472 0.233019 -0.990079 +6817 1 1.72 0.0 17.7000008 74.3399964 0.469174 -0.883106 -1.0 +6818 1 1.72 1.77 19.4699993 74.3399964 0.884089 -0.467318 -1.0 +6819 1 1.72 1.77 17.7000008 76.1100006 -0.750286 -0.661114 -0.990079 +6820 1 1.72 0.0 19.4699993 76.1100006 0.171014 0.985269 -0.990079 +6821 1 1.72 3.54 17.7000008 74.3399964 0.997298 -0.073459 -1.0 +6822 1 1.72 5.31 19.4699993 74.3399964 0.235303 0.971922 -1.0 +6823 1 1.72 5.31 17.7000008 76.1100006 0.176893 0.98423 -0.990079 +6824 1 1.72 3.54 19.4699993 76.1100006 0.949277 0.314441 -0.990079 +6825 1 1.72 7.0799999 17.7000008 74.3399964 0.970422 0.241414 -1.0 +6826 1 1.72 8.8500004 19.4699993 74.3399964 0.604221 -0.796817 -1.0 +6827 1 1.72 8.8500004 17.7000008 76.1100006 -0.981042 0.193794 -0.990079 +6828 1 1.72 7.0799999 19.4699993 76.1100006 -0.0325079 0.999471 -0.990079 +6829 1 1.72 10.6199999 17.7000008 74.3399964 0.821573 -0.570103 -1.0 +6830 1 1.72 12.3900004 19.4699993 74.3399964 0.988124 0.153658 -1.0 +6831 1 1.72 12.3900004 17.7000008 76.1100006 -0.676222 -0.736698 -0.990079 +6832 1 1.72 10.6199999 19.4699993 76.1100006 0.932658 -0.360763 -0.990079 +6833 1 1.72 14.1599999 17.7000008 74.3399964 0.878617 -0.477527 -1.0 +6834 1 1.72 15.9300004 19.4699993 74.3399964 0.742212 -0.670166 -1.0 +6835 1 1.72 15.9300004 17.7000008 76.1100006 -0.836565 -0.547868 -0.990079 +6836 1 1.72 14.1599999 19.4699993 76.1100006 -0.578564 -0.815637 -0.990079 +6837 1 1.72 17.7000008 17.7000008 74.3399964 -0.444299 0.895879 -1.0 +6838 1 1.72 19.4699993 19.4699993 74.3399964 0.990291 -0.13901 -1.0 +6839 1 1.72 19.4699993 17.7000008 76.1100006 -0.394816 0.91876 -0.990079 +6840 1 1.72 17.7000008 19.4699993 76.1100006 -0.791081 0.611711 -0.990079 +6841 1 1.72 21.2399998 17.7000008 74.3399964 0.99924 -0.0389884 -1.0 +6842 1 1.72 23.0100002 19.4699993 74.3399964 0.939301 -0.343094 -1.0 +6843 1 1.72 23.0100002 17.7000008 76.1100006 -0.713126 -0.701036 -0.990079 +6844 1 1.72 21.2399998 19.4699993 76.1100006 -0.999997 -0.00242839 -0.990079 +6845 1 1.72 24.7800007 17.7000008 74.3399964 -0.330908 0.943663 -1.0 +6846 1 1.72 26.5499993 19.4699993 74.3399964 -0.177809 -0.984065 -1.0 +6847 1 1.72 26.5499993 17.7000008 76.1100006 -0.768941 0.63932 -0.990079 +6848 1 1.72 24.7800007 19.4699993 76.1100006 -0.203415 0.979093 -0.990079 +6849 1 1.72 0.0 21.2399998 74.3399964 0.855589 0.517655 -1.0 +6850 1 1.72 1.77 23.0100002 74.3399964 -0.99144 -0.130565 -1.0 +6851 1 1.72 1.77 21.2399998 76.1100006 -0.379104 -0.925354 -0.990079 +6852 1 1.72 0.0 23.0100002 76.1100006 0.973052 -0.230585 -0.990079 +6853 1 1.72 3.54 21.2399998 74.3399964 -0.674831 -0.737972 -1.0 +6854 1 1.72 5.31 23.0100002 74.3399964 0.458285 -0.888805 -1.0 +6855 1 1.72 5.31 21.2399998 76.1100006 -0.698843 -0.715275 -0.990079 +6856 1 1.72 3.54 23.0100002 76.1100006 -0.777965 -0.628308 -0.990079 +6857 1 1.72 7.0799999 21.2399998 74.3399964 0.440106 -0.897946 -1.0 +6858 1 1.72 8.8500004 23.0100002 74.3399964 0.986729 -0.162378 -1.0 +6859 1 1.72 8.8500004 21.2399998 76.1100006 0.802085 0.59721 -0.990079 +6860 1 1.72 7.0799999 23.0100002 76.1100006 -0.627671 -0.778479 -0.990079 +6861 1 1.72 10.6199999 21.2399998 74.3399964 0.992473 -0.122464 -1.0 +6862 1 1.72 12.3900004 23.0100002 74.3399964 -0.93871 -0.344707 -1.0 +6863 1 1.72 12.3900004 21.2399998 76.1100006 0.130804 -0.991408 -0.990079 +6864 1 1.72 10.6199999 23.0100002 76.1100006 0.957384 -0.28882 -0.990079 +6865 1 1.72 14.1599999 21.2399998 74.3399964 -0.698344 -0.715762 -1.0 +6866 1 1.72 15.9300004 23.0100002 74.3399964 0.818977 -0.573827 -1.0 +6867 1 1.72 15.9300004 21.2399998 76.1100006 0.840262 -0.54218 -0.990079 +6868 1 1.72 14.1599999 23.0100002 76.1100006 0.498073 0.867135 -0.990079 +6869 1 1.72 17.7000008 21.2399998 74.3399964 0.516657 0.856193 -1.0 +6870 1 1.72 19.4699993 23.0100002 74.3399964 0.448977 -0.893543 -1.0 +6871 1 1.72 19.4699993 21.2399998 76.1100006 -0.672411 -0.740178 -0.990079 +6872 1 1.72 17.7000008 23.0100002 76.1100006 0.999971 0.00766673 -0.990079 +6873 1 1.72 21.2399998 21.2399998 74.3399964 0.888294 -0.459276 -1.0 +6874 1 1.72 23.0100002 23.0100002 74.3399964 0.765527 -0.643404 -1.0 +6875 1 1.72 23.0100002 21.2399998 76.1100006 0.177036 0.984204 -0.990079 +6876 1 1.72 21.2399998 23.0100002 76.1100006 0.345329 -0.938482 -0.990079 +6877 1 1.72 24.7800007 21.2399998 74.3399964 -0.958628 -0.284661 -1.0 +6878 1 1.72 26.5499993 23.0100002 74.3399964 -0.787231 0.616659 -1.0 +6879 1 1.72 26.5499993 21.2399998 76.1100006 -0.931104 0.364754 -0.990079 +6880 1 1.72 24.7800007 23.0100002 76.1100006 0.569458 0.82202 -0.990079 +6881 1 1.72 0.0 24.7800007 74.3399964 0.331571 0.94343 -1.0 +6882 1 1.72 1.77 26.5499993 74.3399964 -0.675936 0.73696 -1.0 +6883 1 1.72 1.77 24.7800007 76.1100006 0.380233 -0.924891 -0.990079 +6884 1 1.72 0.0 26.5499993 76.1100006 0.3638 -0.931477 -0.990079 +6885 1 1.72 3.54 24.7800007 74.3399964 -0.905911 -0.423467 -1.0 +6886 1 1.72 5.31 26.5499993 74.3399964 -0.678895 0.734235 -1.0 +6887 1 1.72 5.31 24.7800007 76.1100006 0.887204 -0.461377 -0.990079 +6888 1 1.72 3.54 26.5499993 76.1100006 -0.687113 -0.726551 -0.990079 +6889 1 1.72 7.0799999 24.7800007 74.3399964 0.935651 -0.352927 -1.0 +6890 1 1.72 8.8500004 26.5499993 74.3399964 0.979988 0.199058 -1.0 +6891 1 1.72 8.8500004 24.7800007 76.1100006 0.0830268 0.996547 -0.990079 +6892 1 1.72 7.0799999 26.5499993 76.1100006 -0.994514 -0.104602 -0.990079 +6893 1 1.72 10.6199999 24.7800007 74.3399964 -0.973078 0.230476 -1.0 +6894 1 1.72 12.3900004 26.5499993 74.3399964 0.019238 -0.999815 -1.0 +6895 1 1.72 12.3900004 24.7800007 76.1100006 -0.92641 0.376516 -0.990079 +6896 1 1.72 10.6199999 26.5499993 76.1100006 -0.232199 0.972668 -0.990079 +6897 1 1.72 14.1599999 24.7800007 74.3399964 0.695625 -0.718405 -1.0 +6898 1 1.72 15.9300004 26.5499993 74.3399964 -0.975639 -0.219384 -1.0 +6899 1 1.72 15.9300004 24.7800007 76.1100006 0.102125 -0.994772 -0.990079 +6900 1 1.72 14.1599999 26.5499993 76.1100006 0.684259 -0.729239 -0.990079 +6901 1 1.72 17.7000008 24.7800007 74.3399964 0.146276 0.989244 -1.0 +6902 1 1.72 19.4699993 26.5499993 74.3399964 0.549686 -0.835372 -1.0 +6903 1 1.72 19.4699993 24.7800007 76.1100006 0.0466004 -0.998914 -0.990079 +6904 1 1.72 17.7000008 26.5499993 76.1100006 0.165019 0.98629 -0.990079 +6905 1 1.72 21.2399998 24.7800007 74.3399964 0.681308 -0.731997 -1.0 +6906 1 1.72 23.0100002 26.5499993 74.3399964 0.749317 -0.662211 -1.0 +6907 1 1.72 23.0100002 24.7800007 76.1100006 0.275438 -0.961319 -0.990079 +6908 1 1.72 21.2399998 26.5499993 76.1100006 0.772149 -0.635441 -0.990079 +6909 1 1.72 24.7800007 24.7800007 74.3399964 -0.806507 -0.591224 -1.0 +6910 1 1.72 26.5499993 26.5499993 74.3399964 0.997995 0.0632932 -1.0 +6911 1 1.72 26.5499993 24.7800007 76.1100006 -0.890072 0.455819 -0.990079 +6912 1 1.72 24.7800007 26.5499993 76.1100006 -0.933125 -0.359551 -0.990079 +6913 1 1.72 0.0 14.1599999 77.8799974 -0.780577 -0.625059 -0.90501 +6914 1 1.72 1.77 15.9300004 77.8799974 0.893541 -0.448982 -0.90501 +6915 1 1.72 1.77 14.1599999 79.6500016 -0.98474 0.174029 -0.7399438 +6916 1 1.72 0.0 15.9300004 79.6500016 0.473496 0.880796 -0.7399438 +6917 1 1.72 3.54 14.1599999 77.8799974 -0.0815826 -0.996667 -0.90501 +6918 1 1.72 5.31 15.9300004 77.8799974 0.996248 -0.0865471 -0.90501 +6919 1 1.72 5.31 14.1599999 79.6500016 0.394824 -0.918757 -0.7399438 +6920 1 1.72 3.54 15.9300004 79.6500016 0.913843 -0.406068 -0.7399438 +6921 1 1.72 7.0799999 14.1599999 77.8799974 0.122405 -0.99248 -0.90501 +6922 1 1.72 8.8500004 15.9300004 77.8799974 -0.584725 -0.811231 -0.90501 +6923 1 1.72 8.8500004 14.1599999 79.6500016 -0.999361 0.0357329 -0.7399438 +6924 1 1.72 7.0799999 15.9300004 79.6500016 -0.090933 0.995857 -0.7399438 +6925 1 1.72 10.6199999 14.1599999 77.8799974 0.0532691 0.99858 -0.90501 +6926 1 1.72 12.3900004 15.9300004 77.8799974 0.306578 -0.951845 -0.90501 +6927 1 1.72 12.3900004 14.1599999 79.6500016 0.785338 -0.619067 -0.7399438 +6928 1 1.72 10.6199999 15.9300004 79.6500016 -0.156736 -0.987641 -0.7399438 +6929 1 1.72 14.1599999 14.1599999 77.8799974 -0.602134 -0.798395 -0.90501 +6930 1 1.72 15.9300004 15.9300004 77.8799974 -0.809404 -0.587252 -0.90501 +6931 1 1.72 15.9300004 14.1599999 79.6500016 0.977013 0.21318 -0.7399438 +6932 1 1.72 14.1599999 15.9300004 79.6500016 -0.733097 0.680124 -0.7399438 +6933 1 1.72 17.7000008 14.1599999 77.8799974 -0.679952 0.733257 -0.90501 +6934 1 1.72 19.4699993 15.9300004 77.8799974 -0.947316 -0.320301 -0.90501 +6935 1 1.72 19.4699993 14.1599999 79.6500016 -0.854634 0.519231 -0.7399438 +6936 1 1.72 17.7000008 15.9300004 79.6500016 -0.0618815 0.998084 -0.7399438 +6937 1 1.72 21.2399998 14.1599999 77.8799974 0.918767 0.3948 -0.90501 +6938 1 1.72 23.0100002 15.9300004 77.8799974 0.640437 -0.768011 -0.90501 +6939 1 1.72 23.0100002 14.1599999 79.6500016 0.904393 -0.4267 -0.7399438 +6940 1 1.72 21.2399998 15.9300004 79.6500016 -0.338833 -0.940847 -0.7399438 +6941 1 1.72 24.7800007 14.1599999 77.8799974 0.964505 0.264063 -0.90501 +6942 1 1.72 26.5499993 15.9300004 77.8799974 -0.477707 -0.878519 -0.90501 +6943 1 1.72 26.5499993 14.1599999 79.6500016 -0.702518 0.711666 -0.7399438 +6944 1 1.72 24.7800007 15.9300004 79.6500016 -0.761034 -0.648712 -0.7399438 +6945 1 1.72 0.0 17.7000008 77.8799974 0.203153 0.979147 -0.90501 +6946 1 1.72 1.77 19.4699993 77.8799974 -0.829569 0.558404 -0.90501 +6947 1 1.72 1.77 17.7000008 79.6500016 0.885818 -0.464032 -0.7399438 +6948 1 1.72 0.0 19.4699993 79.6500016 -0.985232 0.171223 -0.7399438 +6949 1 1.72 3.54 17.7000008 77.8799974 -0.841608 0.540089 -0.90501 +6950 1 1.72 5.31 19.4699993 77.8799974 -0.841199 0.540726 -0.90501 +6951 1 1.72 5.31 17.7000008 79.6500016 -0.334542 -0.942381 -0.7399438 +6952 1 1.72 3.54 19.4699993 79.6500016 -0.848193 0.529687 -0.7399438 +6953 1 1.72 7.0799999 17.7000008 77.8799974 0.721483 0.692432 -0.90501 +6954 1 1.72 8.8500004 19.4699993 77.8799974 0.945822 0.324687 -0.90501 +6955 1 1.72 8.8500004 17.7000008 79.6500016 0.86688 -0.498516 -0.7399438 +6956 1 1.72 7.0799999 19.4699993 79.6500016 -0.785585 -0.618754 -0.7399438 +6957 1 1.72 10.6199999 17.7000008 77.8799974 -0.662362 0.749184 -0.90501 +6958 1 1.72 12.3900004 19.4699993 77.8799974 0.346896 0.937904 -0.90501 +6959 1 1.72 12.3900004 17.7000008 79.6500016 0.91237 -0.409365 -0.7399438 +6960 1 1.72 10.6199999 19.4699993 79.6500016 -0.771458 -0.63628 -0.7399438 +6961 1 1.72 14.1599999 17.7000008 77.8799974 0.673401 0.739277 -0.90501 +6962 1 1.72 15.9300004 19.4699993 77.8799974 0.651844 0.758353 -0.90501 +6963 1 1.72 15.9300004 17.7000008 79.6500016 -0.572496 -0.819908 -0.7399438 +6964 1 1.72 14.1599999 19.4699993 79.6500016 0.0755922 0.997139 -0.7399438 +6965 1 1.72 17.7000008 17.7000008 77.8799974 0.971473 -0.237149 -0.90501 +6966 1 1.72 19.4699993 19.4699993 77.8799974 0.745671 -0.666314 -0.90501 +6967 1 1.72 19.4699993 17.7000008 79.6500016 0.626417 -0.779488 -0.7399438 +6968 1 1.72 17.7000008 19.4699993 79.6500016 0.633903 0.773413 -0.7399438 +6969 1 1.72 21.2399998 17.7000008 77.8799974 -0.826718 -0.562616 -0.90501 +6970 1 1.72 23.0100002 19.4699993 77.8799974 0.606466 -0.79511 -0.90501 +6971 1 1.72 23.0100002 17.7000008 79.6500016 0.447562 0.894253 -0.7399438 +6972 1 1.72 21.2399998 19.4699993 79.6500016 -0.646893 -0.762581 -0.7399438 +6973 1 1.72 24.7800007 17.7000008 77.8799974 -0.885594 -0.464459 -0.90501 +6974 1 1.72 26.5499993 19.4699993 77.8799974 -0.353703 -0.935358 -0.90501 +6975 1 1.72 26.5499993 17.7000008 79.6500016 0.999745 0.0225836 -0.7399438 +6976 1 1.72 24.7800007 19.4699993 79.6500016 0.309711 -0.950831 -0.7399438 +6977 1 1.72 0.0 21.2399998 77.8799974 -0.523377 0.852101 -0.90501 +6978 1 1.72 1.77 23.0100002 77.8799974 0.673568 0.739125 -0.90501 +6979 1 1.72 1.77 21.2399998 79.6500016 0.695071 -0.718941 -0.7399438 +6980 1 1.72 0.0 23.0100002 79.6500016 -0.191277 0.981536 -0.7399438 +6981 1 1.72 3.54 21.2399998 77.8799974 0.926635 -0.375962 -0.90501 +6982 1 1.72 5.31 23.0100002 77.8799974 0.433126 -0.901333 -0.90501 +6983 1 1.72 5.31 21.2399998 79.6500016 -0.787647 0.616127 -0.7399438 +6984 1 1.72 3.54 23.0100002 79.6500016 -0.738776 0.673951 -0.7399438 +6985 1 1.72 7.0799999 21.2399998 77.8799974 -0.795304 0.60621 -0.90501 +6986 1 1.72 8.8500004 23.0100002 77.8799974 -0.269326 0.963049 -0.90501 +6987 1 1.72 8.8500004 21.2399998 79.6500016 -0.841835 -0.539735 -0.7399438 +6988 1 1.72 7.0799999 23.0100002 79.6500016 0.91975 -0.392505 -0.7399438 +6989 1 1.72 10.6199999 21.2399998 77.8799974 -0.94168 0.336509 -0.90501 +6990 1 1.72 12.3900004 23.0100002 77.8799974 0.746561 -0.665317 -0.90501 +6991 1 1.72 12.3900004 21.2399998 79.6500016 0.824408 0.565996 -0.7399438 +6992 1 1.72 10.6199999 23.0100002 79.6500016 0.833036 0.553218 -0.7399438 +6993 1 1.72 14.1599999 21.2399998 77.8799974 -0.360402 0.932797 -0.90501 +6994 1 1.72 15.9300004 23.0100002 77.8799974 -0.0617366 0.998092 -0.90501 +6995 1 1.72 15.9300004 21.2399998 79.6500016 -0.809157 -0.587593 -0.7399438 +6996 1 1.72 14.1599999 23.0100002 79.6500016 0.619444 -0.785041 -0.7399438 +6997 1 1.72 17.7000008 21.2399998 77.8799974 -0.540978 -0.841037 -0.90501 +6998 1 1.72 19.4699993 23.0100002 77.8799974 -0.894518 0.447033 -0.90501 +6999 1 1.72 19.4699993 21.2399998 79.6500016 0.0811275 0.996704 -0.7399438 +7000 1 1.72 17.7000008 23.0100002 79.6500016 -0.820644 -0.57144 -0.7399438 +7001 1 1.72 21.2399998 21.2399998 77.8799974 0.624137 -0.781315 -0.90501 +7002 1 1.72 23.0100002 23.0100002 77.8799974 0.537563 -0.843224 -0.90501 +7003 1 1.72 23.0100002 21.2399998 79.6500016 -0.994474 -0.104981 -0.7399438 +7004 1 1.72 21.2399998 23.0100002 79.6500016 -0.549368 0.83558 -0.7399438 +7005 1 1.72 24.7800007 21.2399998 77.8799974 -0.997654 -0.0684574 -0.90501 +7006 1 1.72 26.5499993 23.0100002 77.8799974 0.243537 0.969892 -0.90501 +7007 1 1.72 26.5499993 21.2399998 79.6500016 0.664477 -0.747309 -0.7399438 +7008 1 1.72 24.7800007 23.0100002 79.6500016 0.856676 -0.515854 -0.7399438 +7009 1 1.72 0.0 24.7800007 77.8799974 -0.739251 0.67343 -0.90501 +7010 1 1.72 1.77 26.5499993 77.8799974 0.563631 -0.826027 -0.90501 +7011 1 1.72 1.77 24.7800007 79.6500016 -0.813186 -0.582004 -0.7399438 +7012 1 1.72 0.0 26.5499993 79.6500016 -0.826546 -0.562869 -0.7399438 +7013 1 1.72 3.54 24.7800007 77.8799974 0.674552 -0.738227 -0.90501 +7014 1 1.72 5.31 26.5499993 77.8799974 0.063026 -0.998012 -0.90501 +7015 1 1.72 5.31 24.7800007 79.6500016 -0.29652 -0.955027 -0.7399438 +7016 1 1.72 3.54 26.5499993 79.6500016 -0.605414 -0.795911 -0.7399438 +7017 1 1.72 7.0799999 24.7800007 77.8799974 0.29254 -0.956253 -0.90501 +7018 1 1.72 8.8500004 26.5499993 77.8799974 0.0698194 -0.99756 -0.90501 +7019 1 1.72 8.8500004 24.7800007 79.6500016 0.62672 0.779244 -0.7399438 +7020 1 1.72 7.0799999 26.5499993 79.6500016 -0.742365 -0.669995 -0.7399438 +7021 1 1.72 10.6199999 24.7800007 77.8799974 -0.837019 -0.547174 -0.90501 +7022 1 1.72 12.3900004 26.5499993 77.8799974 -0.703101 0.71109 -0.90501 +7023 1 1.72 12.3900004 24.7800007 79.6500016 -0.944894 0.327376 -0.7399438 +7024 1 1.72 10.6199999 26.5499993 79.6500016 0.863867 0.50372 -0.7399438 +7025 1 1.72 14.1599999 24.7800007 77.8799974 0.986685 0.162642 -0.90501 +7026 1 1.72 15.9300004 26.5499993 77.8799974 -0.418962 -0.908004 -0.90501 +7027 1 1.72 15.9300004 24.7800007 79.6500016 0.895 0.446066 -0.7399438 +7028 1 1.72 14.1599999 26.5499993 79.6500016 0.802757 0.596306 -0.7399438 +7029 1 1.72 17.7000008 24.7800007 77.8799974 -0.999873 -0.0159247 -0.90501 +7030 1 1.72 19.4699993 26.5499993 77.8799974 -0.314501 0.949257 -0.90501 +7031 1 1.72 19.4699993 24.7800007 79.6500016 -0.329709 0.944082 -0.7399438 +7032 1 1.72 17.7000008 26.5499993 79.6500016 0.962407 0.27161 -0.7399438 +7033 1 1.72 21.2399998 24.7800007 77.8799974 0.748958 -0.662618 -0.90501 +7034 1 1.72 23.0100002 26.5499993 77.8799974 0.0723828 0.997377 -0.90501 +7035 1 1.72 23.0100002 24.7800007 79.6500016 0.327213 -0.944951 -0.7399438 +7036 1 1.72 21.2399998 26.5499993 79.6500016 -0.336781 -0.941583 -0.7399438 +7037 1 1.72 24.7800007 24.7800007 77.8799974 0.926617 -0.376006 -0.90501 +7038 1 1.72 26.5499993 26.5499993 77.8799974 0.950136 0.311836 -0.90501 +7039 1 1.72 26.5499993 24.7800007 79.6500016 -0.829968 0.557811 -0.7399438 +7040 1 1.72 24.7800007 26.5499993 79.6500016 0.45494 0.890522 -0.7399438 +7041 1 1.72 0.0 14.1599999 81.4199982 0.999634 0.0270574 -0.5094728 +7042 1 1.72 1.77 15.9300004 81.4199982 -0.957232 0.289322 -0.5094728 +7043 1 1.72 1.77 14.1599999 83.1900024 0.873881 -0.486139 -0.2339667 +7044 1 1.72 0.0 15.9300004 83.1900024 0.990666 -0.136312 -0.2339667 +7045 1 1.72 3.54 14.1599999 81.4199982 0.997456 -0.0712869 -0.5094728 +7046 1 1.72 5.31 15.9300004 81.4199982 0.933222 -0.359301 -0.5094728 +7047 1 1.72 5.31 14.1599999 83.1900024 0.0180853 -0.999836 -0.2339667 +7048 1 1.72 3.54 15.9300004 83.1900024 -0.84563 -0.533769 -0.2339667 +7049 1 1.72 7.0799999 14.1599999 81.4199982 0.764295 0.644867 -0.5094728 +7050 1 1.72 8.8500004 15.9300004 81.4199982 -0.212755 0.977106 -0.5094728 +7051 1 1.72 8.8500004 14.1599999 83.1900024 0.698096 -0.716004 -0.2339667 +7052 1 1.72 7.0799999 15.9300004 83.1900024 0.718019 0.696024 -0.2339667 +7053 1 1.72 10.6199999 14.1599999 81.4199982 0.493211 0.86991 -0.5094728 +7054 1 1.72 12.3900004 15.9300004 81.4199982 -0.517483 0.855694 -0.5094728 +7055 1 1.72 12.3900004 14.1599999 83.1900024 -0.173388 -0.984854 -0.2339667 +7056 1 1.72 10.6199999 15.9300004 83.1900024 -0.858606 -0.512636 -0.2339667 +7057 1 1.72 14.1599999 14.1599999 81.4199982 -0.727816 -0.685773 -0.5094728 +7058 1 1.72 15.9300004 15.9300004 81.4199982 -0.989598 0.143862 -0.5094728 +7059 1 1.72 15.9300004 14.1599999 83.1900024 0.0306837 -0.999529 -0.2339667 +7060 1 1.72 14.1599999 15.9300004 83.1900024 0.329766 0.944063 -0.2339667 +7061 1 1.72 17.7000008 14.1599999 81.4199982 0.589489 0.807776 -0.5094728 +7062 1 1.72 19.4699993 15.9300004 81.4199982 0.532448 -0.846462 -0.5094728 +7063 1 1.72 19.4699993 14.1599999 83.1900024 0.407167 -0.913354 -0.2339667 +7064 1 1.72 17.7000008 15.9300004 83.1900024 -0.968965 0.247199 -0.2339667 +7065 1 1.72 21.2399998 14.1599999 81.4199982 -0.706805 -0.707408 -0.5094728 +7066 1 1.72 23.0100002 15.9300004 81.4199982 -0.881991 0.471267 -0.5094728 +7067 1 1.72 23.0100002 14.1599999 83.1900024 0.993572 0.113198 -0.2339667 +7068 1 1.72 21.2399998 15.9300004 83.1900024 0.0578672 -0.998324 -0.2339667 +7069 1 1.72 24.7800007 14.1599999 81.4199982 0.477638 -0.878557 -0.5094728 +7070 1 1.72 26.5499993 15.9300004 81.4199982 0.921229 0.38902 -0.5094728 +7071 1 1.72 26.5499993 14.1599999 83.1900024 -0.874612 0.484824 -0.2339667 +7072 1 1.72 24.7800007 15.9300004 83.1900024 -0.910406 -0.413715 -0.2339667 +7073 1 1.72 0.0 17.7000008 81.4199982 -0.14237 0.989813 -0.5094728 +7074 1 1.72 1.77 19.4699993 81.4199982 -0.52984 -0.848098 -0.5094728 +7075 1 1.72 1.77 17.7000008 83.1900024 -0.584402 0.811464 -0.2339667 +7076 1 1.72 0.0 19.4699993 83.1900024 -0.756935 0.65349 -0.2339667 +7077 1 1.72 3.54 17.7000008 81.4199982 0.957755 -0.287585 -0.5094728 +7078 1 1.72 5.31 19.4699993 81.4199982 -0.0824402 -0.996596 -0.5094728 +7079 1 1.72 5.31 17.7000008 83.1900024 0.472481 -0.881341 -0.2339667 +7080 1 1.72 3.54 19.4699993 83.1900024 0.969563 0.244842 -0.2339667 +7081 1 1.72 7.0799999 17.7000008 81.4199982 -0.131922 -0.99126 -0.5094728 +7082 1 1.72 8.8500004 19.4699993 81.4199982 0.274979 0.96145 -0.5094728 +7083 1 1.72 8.8500004 17.7000008 83.1900024 0.0674292 0.997724 -0.2339667 +7084 1 1.72 7.0799999 19.4699993 83.1900024 0.0835993 0.996499 -0.2339667 +7085 1 1.72 10.6199999 17.7000008 81.4199982 0.457758 -0.889077 -0.5094728 +7086 1 1.72 12.3900004 19.4699993 81.4199982 -0.999996 0.00299647 -0.5094728 +7087 1 1.72 12.3900004 17.7000008 83.1900024 -0.667837 0.744307 -0.2339667 +7088 1 1.72 10.6199999 19.4699993 83.1900024 0.887556 0.460699 -0.2339667 +7089 1 1.72 14.1599999 17.7000008 81.4199982 0.454278 -0.89086 -0.5094728 +7090 1 1.72 15.9300004 19.4699993 81.4199982 0.228603 -0.97352 -0.5094728 +7091 1 1.72 15.9300004 17.7000008 83.1900024 -0.99614 0.0877811 -0.2339667 +7092 1 1.72 14.1599999 19.4699993 83.1900024 -0.090983 0.995852 -0.2339667 +7093 1 1.72 17.7000008 17.7000008 81.4199982 -0.999791 0.0204222 -0.5094728 +7094 1 1.72 19.4699993 19.4699993 81.4199982 -0.294693 -0.955592 -0.5094728 +7095 1 1.72 19.4699993 17.7000008 83.1900024 -0.629027 -0.777383 -0.2339667 +7096 1 1.72 17.7000008 19.4699993 83.1900024 0.316158 -0.948707 -0.2339667 +7097 1 1.72 21.2399998 17.7000008 81.4199982 -0.998324 0.0578649 -0.5094728 +7098 1 1.72 23.0100002 19.4699993 81.4199982 -0.0887738 -0.996052 -0.5094728 +7099 1 1.72 23.0100002 17.7000008 83.1900024 0.464489 0.885579 -0.2339667 +7100 1 1.72 21.2399998 19.4699993 83.1900024 -0.874197 -0.485571 -0.2339667 +7101 1 1.72 24.7800007 17.7000008 81.4199982 -0.734032 0.679115 -0.5094728 +7102 1 1.72 26.5499993 19.4699993 81.4199982 -0.999881 0.015397 -0.5094728 +7103 1 1.72 26.5499993 17.7000008 83.1900024 -0.123666 0.992324 -0.2339667 +7104 1 1.72 24.7800007 19.4699993 83.1900024 0.91355 -0.406726 -0.2339667 +7105 1 1.72 0.0 21.2399998 81.4199982 0.74571 -0.666271 -0.5094728 +7106 1 1.72 1.77 23.0100002 81.4199982 -0.892722 0.450608 -0.5094728 +7107 1 1.72 1.77 21.2399998 83.1900024 0.660678 0.750669 -0.2339667 +7108 1 1.72 0.0 23.0100002 83.1900024 0.935743 0.352682 -0.2339667 +7109 1 1.72 3.54 21.2399998 81.4199982 0.143165 -0.989699 -0.5094728 +7110 1 1.72 5.31 23.0100002 81.4199982 0.522418 0.852689 -0.5094728 +7111 1 1.72 5.31 21.2399998 83.1900024 0.614548 0.788879 -0.2339667 +7112 1 1.72 3.54 23.0100002 83.1900024 -0.0485635 -0.99882 -0.2339667 +7113 1 1.72 7.0799999 21.2399998 81.4199982 -0.999697 0.0245976 -0.5094728 +7114 1 1.72 8.8500004 23.0100002 81.4199982 0.926548 0.376176 -0.5094728 +7115 1 1.72 8.8500004 21.2399998 83.1900024 0.680014 0.733199 -0.2339667 +7116 1 1.72 7.0799999 23.0100002 83.1900024 0.999483 -0.032137 -0.2339667 +7117 1 1.72 10.6199999 21.2399998 81.4199982 0.714085 -0.700059 -0.5094728 +7118 1 1.72 12.3900004 23.0100002 81.4199982 -0.716187 0.697908 -0.5094728 +7119 1 1.72 12.3900004 21.2399998 83.1900024 0.505048 -0.863091 -0.2339667 +7120 1 1.72 10.6199999 23.0100002 83.1900024 0.743576 0.668652 -0.2339667 +7121 1 1.72 14.1599999 21.2399998 81.4199982 -0.999991 0.00428482 -0.5094728 +7122 1 1.72 15.9300004 23.0100002 81.4199982 -0.997548 0.0699824 -0.5094728 +7123 1 1.72 15.9300004 21.2399998 83.1900024 0.323665 -0.946172 -0.2339667 +7124 1 1.72 14.1599999 23.0100002 83.1900024 -0.296312 -0.955091 -0.2339667 +7125 1 1.72 17.7000008 21.2399998 81.4199982 0.728366 0.685188 -0.5094728 +7126 1 1.72 19.4699993 23.0100002 81.4199982 -0.80173 -0.597686 -0.5094728 +7127 1 1.72 19.4699993 21.2399998 83.1900024 0.930908 0.365253 -0.2339667 +7128 1 1.72 17.7000008 23.0100002 83.1900024 -0.521183 -0.853445 -0.2339667 +7129 1 1.72 21.2399998 21.2399998 81.4199982 -0.373281 0.927718 -0.5094728 +7130 1 1.72 23.0100002 23.0100002 81.4199982 0.784854 -0.61968 -0.5094728 +7131 1 1.72 23.0100002 21.2399998 83.1900024 0.707922 -0.70629 -0.2339667 +7132 1 1.72 21.2399998 23.0100002 83.1900024 -0.18421 -0.982887 -0.2339667 +7133 1 1.72 24.7800007 21.2399998 81.4199982 -0.159016 0.987276 -0.5094728 +7134 1 1.72 26.5499993 23.0100002 81.4199982 -0.651023 -0.759058 -0.5094728 +7135 1 1.72 26.5499993 21.2399998 83.1900024 0.847935 -0.5301 -0.2339667 +7136 1 1.72 24.7800007 23.0100002 83.1900024 -0.261981 0.965073 -0.2339667 +7137 1 1.72 0.0 24.7800007 81.4199982 -0.472632 -0.88126 -0.5094728 +7138 1 1.72 1.77 26.5499993 81.4199982 -0.278598 -0.960408 -0.5094728 +7139 1 1.72 1.77 24.7800007 83.1900024 -0.844972 0.53481 -0.2339667 +7140 1 1.72 0.0 26.5499993 83.1900024 -0.901843 0.432064 -0.2339667 +7141 1 1.72 3.54 24.7800007 81.4199982 0.924459 -0.381281 -0.5094728 +7142 1 1.72 5.31 26.5499993 81.4199982 -0.963023 0.269418 -0.5094728 +7143 1 1.72 5.31 24.7800007 83.1900024 0.813307 -0.581835 -0.2339667 +7144 1 1.72 3.54 26.5499993 83.1900024 -0.114065 0.993473 -0.2339667 +7145 1 1.72 7.0799999 24.7800007 81.4199982 -0.675722 0.737157 -0.5094728 +7146 1 1.72 8.8500004 26.5499993 81.4199982 0.431609 0.902061 -0.5094728 +7147 1 1.72 8.8500004 24.7800007 83.1900024 0.214693 -0.976682 -0.2339667 +7148 1 1.72 7.0799999 26.5499993 83.1900024 0.448992 -0.893536 -0.2339667 +7149 1 1.72 10.6199999 24.7800007 81.4199982 -0.538867 -0.842391 -0.5094728 +7150 1 1.72 12.3900004 26.5499993 81.4199982 0.98976 -0.142744 -0.5094728 +7151 1 1.72 12.3900004 24.7800007 83.1900024 0.644963 0.764214 -0.2339667 +7152 1 1.72 10.6199999 26.5499993 83.1900024 0.212099 -0.977248 -0.2339667 +7153 1 1.72 14.1599999 24.7800007 81.4199982 -0.157915 -0.987453 -0.5094728 +7154 1 1.72 15.9300004 26.5499993 81.4199982 -0.374307 0.927305 -0.5094728 +7155 1 1.72 15.9300004 24.7800007 83.1900024 -0.459929 0.887956 -0.2339667 +7156 1 1.72 14.1599999 26.5499993 83.1900024 -0.844814 0.53506 -0.2339667 +7157 1 1.72 17.7000008 24.7800007 81.4199982 -0.999444 0.0333365 -0.5094728 +7158 1 1.72 19.4699993 26.5499993 81.4199982 -0.999628 -0.0272822 -0.5094728 +7159 1 1.72 19.4699993 24.7800007 83.1900024 -0.999682 0.0252339 -0.2339667 +7160 1 1.72 17.7000008 26.5499993 83.1900024 0.633134 -0.774042 -0.2339667 +7161 1 1.72 21.2399998 24.7800007 81.4199982 0.197382 -0.980327 -0.5094728 +7162 1 1.72 23.0100002 26.5499993 81.4199982 -0.95722 0.28936 -0.5094728 +7163 1 1.72 23.0100002 24.7800007 83.1900024 -0.247443 -0.968902 -0.2339667 +7164 1 1.72 21.2399998 26.5499993 83.1900024 0.208658 -0.977989 -0.2339667 +7165 1 1.72 24.7800007 24.7800007 81.4199982 -0.180183 -0.983633 -0.5094728 +7166 1 1.72 26.5499993 26.5499993 81.4199982 -0.969499 0.245096 -0.5094728 +7167 1 1.72 26.5499993 24.7800007 83.1900024 -0.512175 -0.858881 -0.2339667 +7168 1 1.72 24.7800007 26.5499993 83.1900024 -0.510903 0.859638 -0.2339667 +7169 1 1.72 0.0 14.1599999 84.9599992 0.997482 -0.0709225 0.0622191 +7170 1 1.72 1.77 15.9300004 84.9599992 0.885982 0.46372 0.0622191 +7171 1 1.72 1.77 14.1599999 86.7300034 -0.277482 0.960731 0.3529064 +7172 1 1.72 0.0 15.9300004 86.7300034 -0.728851 0.684673 0.3529064 +7173 1 1.72 3.54 14.1599999 84.9599992 0.98343 0.181287 0.0622191 +7174 1 1.72 5.31 15.9300004 84.9599992 0.891522 -0.452978 0.0622191 +7175 1 1.72 5.31 14.1599999 86.7300034 -0.608097 -0.793863 0.3529064 +7176 1 1.72 3.54 15.9300004 86.7300034 0.170945 0.985281 0.3529064 +7177 1 1.72 7.0799999 14.1599999 84.9599992 0.996296 0.0859857 0.0622191 +7178 1 1.72 8.8500004 15.9300004 84.9599992 -0.991856 -0.127364 0.0622191 +7179 1 1.72 8.8500004 14.1599999 86.7300034 0.62125 0.783613 0.3529064 +7180 1 1.72 7.0799999 15.9300004 86.7300034 0.233158 0.972439 0.3529064 +7181 1 1.72 10.6199999 14.1599999 84.9599992 0.760174 0.64972 0.0622191 +7182 1 1.72 12.3900004 15.9300004 84.9599992 -0.994505 -0.104689 0.0622191 +7183 1 1.72 12.3900004 14.1599999 86.7300034 0.156642 0.987655 0.3529064 +7184 1 1.72 10.6199999 15.9300004 86.7300034 -0.46551 0.885043 0.3529064 +7185 1 1.72 14.1599999 14.1599999 84.9599992 -0.725009 -0.688739 0.0622191 +7186 1 1.72 15.9300004 15.9300004 84.9599992 -0.368241 0.929731 0.0622191 +7187 1 1.72 15.9300004 14.1599999 86.7300034 -0.225927 0.974144 0.3529064 +7188 1 1.72 14.1599999 15.9300004 86.7300034 0.526065 0.850444 0.3529064 +7189 1 1.72 17.7000008 14.1599999 84.9599992 0.603996 0.796988 0.0622191 +7190 1 1.72 19.4699993 15.9300004 84.9599992 0.396232 0.91815 0.0622191 +7191 1 1.72 19.4699993 14.1599999 86.7300034 -0.967313 0.253585 0.3529064 +7192 1 1.72 17.7000008 15.9300004 86.7300034 -0.839125 -0.543938 0.3529064 +7193 1 1.72 21.2399998 14.1599999 84.9599992 0.695207 -0.718809 0.0622191 +7194 1 1.72 23.0100002 15.9300004 84.9599992 -0.00841705 0.999965 0.0622191 +7195 1 1.72 23.0100002 14.1599999 86.7300034 -0.6788 0.734323 0.3529064 +7196 1 1.72 21.2399998 15.9300004 86.7300034 -0.966386 -0.257096 0.3529064 +7197 1 1.72 24.7800007 14.1599999 84.9599992 0.583612 0.812033 0.0622191 +7198 1 1.72 26.5499993 15.9300004 84.9599992 0.814357 0.580364 0.0622191 +7199 1 1.72 26.5499993 14.1599999 86.7300034 0.138949 -0.990299 0.3529064 +7200 1 1.72 24.7800007 15.9300004 86.7300034 0.362207 0.932098 0.3529064 +7201 1 1.72 0.0 17.7000008 84.9599992 -0.132318 0.991207 0.0622191 +7202 1 1.72 1.77 19.4699993 84.9599992 0.854371 0.519664 0.0622191 +7203 1 1.72 1.77 17.7000008 86.7300034 0.496644 -0.867954 0.3529064 +7204 1 1.72 0.0 19.4699993 86.7300034 -0.63657 0.771219 0.3529064 +7205 1 1.72 3.54 17.7000008 84.9599992 -0.257392 -0.966307 0.0622191 +7206 1 1.72 5.31 19.4699993 84.9599992 0.849831 -0.527055 0.0622191 +7207 1 1.72 5.31 17.7000008 86.7300034 -0.78081 -0.624769 0.3529064 +7208 1 1.72 3.54 19.4699993 86.7300034 -0.781205 -0.624275 0.3529064 +7209 1 1.72 7.0799999 17.7000008 84.9599992 0.759744 -0.650223 0.0622191 +7210 1 1.72 8.8500004 19.4699993 84.9599992 -0.755777 0.654829 0.0622191 +7211 1 1.72 8.8500004 17.7000008 86.7300034 0.498246 0.867036 0.3529064 +7212 1 1.72 7.0799999 19.4699993 86.7300034 -0.904963 0.425491 0.3529064 +7213 1 1.72 10.6199999 17.7000008 84.9599992 -0.63527 0.77229 0.0622191 +7214 1 1.72 12.3900004 19.4699993 84.9599992 0.450913 0.892568 0.0622191 +7215 1 1.72 12.3900004 17.7000008 86.7300034 -0.463738 -0.885973 0.3529064 +7216 1 1.72 10.6199999 19.4699993 86.7300034 0.579384 -0.815055 0.3529064 +7217 1 1.72 14.1599999 17.7000008 84.9599992 -0.638167 -0.769898 0.0622191 +7218 1 1.72 15.9300004 19.4699993 84.9599992 0.837725 0.546093 0.0622191 +7219 1 1.72 15.9300004 17.7000008 86.7300034 -0.961775 -0.273839 0.3529064 +7220 1 1.72 14.1599999 19.4699993 86.7300034 0.403298 0.915069 0.3529064 +7221 1 1.72 17.7000008 17.7000008 84.9599992 0.758982 -0.651112 0.0622191 +7222 1 1.72 19.4699993 19.4699993 84.9599992 0.330809 -0.943698 0.0622191 +7223 1 1.72 19.4699993 17.7000008 86.7300034 -0.90535 0.424667 0.3529064 +7224 1 1.72 17.7000008 19.4699993 86.7300034 -0.244936 0.969539 0.3529064 +7225 1 1.72 21.2399998 17.7000008 84.9599992 0.711106 -0.703085 0.0622191 +7226 1 1.72 23.0100002 19.4699993 84.9599992 0.77967 0.626191 0.0622191 +7227 1 1.72 23.0100002 17.7000008 86.7300034 -0.701476 -0.712693 0.3529064 +7228 1 1.72 21.2399998 19.4699993 86.7300034 -0.752627 -0.658447 0.3529064 +7229 1 1.72 24.7800007 17.7000008 84.9599992 0.597296 0.802021 0.0622191 +7230 1 1.72 26.5499993 19.4699993 84.9599992 -0.68935 -0.724429 0.0622191 +7231 1 1.72 26.5499993 17.7000008 86.7300034 0.87852 -0.477705 0.3529064 +7232 1 1.72 24.7800007 19.4699993 86.7300034 -0.348809 -0.937194 0.3529064 +7233 1 1.72 0.0 21.2399998 84.9599992 0.0103127 -0.999947 0.0622191 +7234 1 1.72 1.77 23.0100002 84.9599992 -0.980241 -0.197808 0.0622191 +7235 1 1.72 1.77 21.2399998 86.7300034 -0.181089 -0.983467 0.3529064 +7236 1 1.72 0.0 23.0100002 86.7300034 0.838894 0.544294 0.3529064 +7237 1 1.72 3.54 21.2399998 84.9599992 -0.999821 0.0189285 0.0622191 +7238 1 1.72 5.31 23.0100002 84.9599992 -0.859955 -0.510369 0.0622191 +7239 1 1.72 5.31 21.2399998 86.7300034 0.214569 -0.976709 0.3529064 +7240 1 1.72 3.54 23.0100002 86.7300034 -0.901816 0.432121 0.3529064 +7241 1 1.72 7.0799999 21.2399998 84.9599992 0.24824 0.968699 0.0622191 +7242 1 1.72 8.8500004 23.0100002 84.9599992 -0.913784 -0.406201 0.0622191 +7243 1 1.72 8.8500004 21.2399998 86.7300034 0.903048 0.42954 0.3529064 +7244 1 1.72 7.0799999 23.0100002 86.7300034 0.331813 -0.943345 0.3529064 +7245 1 1.72 10.6199999 21.2399998 84.9599992 0.399421 0.916767 0.0622191 +7246 1 1.72 12.3900004 23.0100002 84.9599992 0.616546 0.787319 0.0622191 +7247 1 1.72 12.3900004 21.2399998 86.7300034 -0.876837 -0.480789 0.3529064 +7248 1 1.72 10.6199999 23.0100002 86.7300034 0.290635 0.956834 0.3529064 +7249 1 1.72 14.1599999 21.2399998 84.9599992 -0.892637 0.450777 0.0622191 +7250 1 1.72 15.9300004 23.0100002 84.9599992 -0.0240963 0.99971 0.0622191 +7251 1 1.72 15.9300004 21.2399998 86.7300034 0.0937539 0.995595 0.3529064 +7252 1 1.72 14.1599999 23.0100002 86.7300034 0.604352 -0.796718 0.3529064 +7253 1 1.72 17.7000008 21.2399998 84.9599992 0.347235 -0.937778 0.0622191 +7254 1 1.72 19.4699993 23.0100002 84.9599992 -0.641414 -0.767195 0.0622191 +7255 1 1.72 19.4699993 21.2399998 86.7300034 0.772043 -0.635571 0.3529064 +7256 1 1.72 17.7000008 23.0100002 86.7300034 0.093297 -0.995638 0.3529064 +7257 1 1.72 21.2399998 21.2399998 84.9599992 0.940947 0.338553 0.0622191 +7258 1 1.72 23.0100002 23.0100002 84.9599992 -0.170928 0.985284 0.0622191 +7259 1 1.72 23.0100002 21.2399998 86.7300034 0.785236 0.619196 0.3529064 +7260 1 1.72 21.2399998 23.0100002 86.7300034 0.362203 -0.932099 0.3529064 +7261 1 1.72 24.7800007 21.2399998 84.9599992 0.98602 0.166625 0.0622191 +7262 1 1.72 26.5499993 23.0100002 84.9599992 0.232046 -0.972705 0.0622191 +7263 1 1.72 26.5499993 21.2399998 86.7300034 0.999763 -0.021768 0.3529064 +7264 1 1.72 24.7800007 23.0100002 86.7300034 0.921563 -0.388228 0.3529064 +7265 1 1.72 0.0 24.7800007 84.9599992 -0.994342 0.106224 0.0622191 +7266 1 1.72 1.77 26.5499993 84.9599992 -0.949506 -0.31375 0.0622191 +7267 1 1.72 1.77 24.7800007 86.7300034 0.401109 0.916031 0.3529064 +7268 1 1.72 0.0 26.5499993 86.7300034 -0.999701 0.0244554 0.3529064 +7269 1 1.72 3.54 24.7800007 84.9599992 0.399626 0.916678 0.0622191 +7270 1 1.72 5.31 26.5499993 84.9599992 0.709862 0.704341 0.0622191 +7271 1 1.72 5.31 24.7800007 86.7300034 0.821681 -0.569948 0.3529064 +7272 1 1.72 3.54 26.5499993 86.7300034 0.295562 -0.955324 0.3529064 +7273 1 1.72 7.0799999 24.7800007 84.9599992 0.789035 -0.614348 0.0622191 +7274 1 1.72 8.8500004 26.5499993 84.9599992 0.815041 0.579404 0.0622191 +7275 1 1.72 8.8500004 24.7800007 86.7300034 0.919138 0.393935 0.3529064 +7276 1 1.72 7.0799999 26.5499993 86.7300034 -0.495859 -0.868403 0.3529064 +7277 1 1.72 10.6199999 24.7800007 84.9599992 0.0912077 0.995832 0.0622191 +7278 1 1.72 12.3900004 26.5499993 84.9599992 -0.502062 0.864832 0.0622191 +7279 1 1.72 12.3900004 24.7800007 86.7300034 -0.849236 -0.528014 0.3529064 +7280 1 1.72 10.6199999 26.5499993 86.7300034 -0.49546 0.868631 0.3529064 +7281 1 1.72 14.1599999 24.7800007 84.9599992 0.954735 0.297457 0.0622191 +7282 1 1.72 15.9300004 26.5499993 84.9599992 0.700122 0.714023 0.0622191 +7283 1 1.72 15.9300004 24.7800007 86.7300034 0.828515 0.559966 0.3529064 +7284 1 1.72 14.1599999 26.5499993 86.7300034 -0.680411 0.732831 0.3529064 +7285 1 1.72 17.7000008 24.7800007 84.9599992 -0.902274 -0.431164 0.0622191 +7286 1 1.72 19.4699993 26.5499993 84.9599992 -0.110751 -0.993848 0.0622191 +7287 1 1.72 19.4699993 24.7800007 86.7300034 -0.997825 -0.0659212 0.3529064 +7288 1 1.72 17.7000008 26.5499993 86.7300034 -0.775716 0.631082 0.3529064 +7289 1 1.72 21.2399998 24.7800007 84.9599992 0.969548 0.244901 0.0622191 +7290 1 1.72 23.0100002 26.5499993 84.9599992 0.59449 -0.804103 0.0622191 +7291 1 1.72 23.0100002 24.7800007 86.7300034 0.84485 -0.535003 0.3529064 +7292 1 1.72 21.2399998 26.5499993 86.7300034 -0.988923 -0.148432 0.3529064 +7293 1 1.72 24.7800007 24.7800007 84.9599992 0.738501 0.674252 0.0622191 +7294 1 1.72 26.5499993 26.5499993 84.9599992 0.986944 -0.161065 0.0622191 +7295 1 1.72 26.5499993 24.7800007 86.7300034 0.878155 -0.478376 0.3529064 +7296 1 1.72 24.7800007 26.5499993 86.7300034 -0.643802 -0.765193 0.3529064 +7297 1 1.72 0.0 14.1599999 88.5 -0.0246609 -0.999696 0.6123981 +7298 1 1.72 1.77 15.9300004 88.5 0.790916 0.611924 0.6123981 +7299 1 1.72 1.77 14.1599999 90.2699967 -0.115202 -0.993342 0.8177584 +7300 1 1.72 0.0 15.9300004 90.2699967 0.699062 -0.715061 0.8177584 +7301 1 1.72 3.54 14.1599999 88.5 0.927062 -0.374909 0.6123981 +7302 1 1.72 5.31 15.9300004 88.5 -0.545116 0.838361 0.6123981 +7303 1 1.72 5.31 14.1599999 90.2699967 -0.752065 -0.659089 0.8177584 +7304 1 1.72 3.54 15.9300004 90.2699967 -0.167863 -0.98581 0.8177584 +7305 1 1.72 7.0799999 14.1599999 88.5 0.945505 -0.325607 0.6123981 +7306 1 1.72 8.8500004 15.9300004 88.5 0.977361 0.211579 0.6123981 +7307 1 1.72 8.8500004 14.1599999 90.2699967 -0.684967 -0.728574 0.8177584 +7308 1 1.72 7.0799999 15.9300004 90.2699967 0.606717 0.794918 0.8177584 +7309 1 1.72 10.6199999 14.1599999 88.5 -0.471888 -0.881659 0.6123981 +7310 1 1.72 12.3900004 15.9300004 88.5 0.77984 -0.625979 0.6123981 +7311 1 1.72 12.3900004 14.1599999 90.2699967 -0.56107 0.827768 0.8177584 +7312 1 1.72 10.6199999 15.9300004 90.2699967 -0.999858 0.0168652 0.8177584 +7313 1 1.72 14.1599999 14.1599999 88.5 0.996362 -0.0852198 0.6123981 +7314 1 1.72 15.9300004 15.9300004 88.5 -0.497088 0.8677 0.6123981 +7315 1 1.72 15.9300004 14.1599999 90.2699967 0.886892 0.461976 0.8177584 +7316 1 1.72 14.1599999 15.9300004 90.2699967 -0.901658 -0.432449 0.8177584 +7317 1 1.72 17.7000008 14.1599999 88.5 0.999836 -0.0181131 0.6123981 +7318 1 1.72 19.4699993 15.9300004 88.5 0.233596 -0.972334 0.6123981 +7319 1 1.72 19.4699993 14.1599999 90.2699967 0.547461 0.836831 0.8177584 +7320 1 1.72 17.7000008 15.9300004 90.2699967 -0.90072 0.434399 0.8177584 +7321 1 1.72 21.2399998 14.1599999 88.5 -0.227619 -0.97375 0.6123981 +7322 1 1.72 23.0100002 15.9300004 88.5 0.997611 -0.0690778 0.6123981 +7323 1 1.72 23.0100002 14.1599999 90.2699967 0.759299 0.650742 0.8177584 +7324 1 1.72 21.2399998 15.9300004 90.2699967 -0.127055 0.991896 0.8177584 +7325 1 1.72 24.7800007 14.1599999 88.5 -0.31189 -0.950118 0.6123981 +7326 1 1.72 26.5499993 15.9300004 88.5 -0.535362 0.844622 0.6123981 +7327 1 1.72 26.5499993 14.1599999 90.2699967 -0.604466 0.796631 0.8177584 +7328 1 1.72 24.7800007 15.9300004 90.2699967 0.772721 0.634745 0.8177584 +7329 1 1.72 0.0 17.7000008 88.5 -0.444358 -0.895849 0.6123981 +7330 1 1.72 1.77 19.4699993 88.5 -0.702097 0.712081 0.6123981 +7331 1 1.72 1.77 17.7000008 90.2699967 0.823896 -0.566741 0.8177584 +7332 1 1.72 0.0 19.4699993 90.2699967 -0.855453 -0.51788 0.8177584 +7333 1 1.72 3.54 17.7000008 88.5 -0.999819 -0.0190445 0.6123981 +7334 1 1.72 5.31 19.4699993 88.5 0.678474 0.734624 0.6123981 +7335 1 1.72 5.31 17.7000008 90.2699967 -0.0725891 -0.997362 0.8177584 +7336 1 1.72 3.54 19.4699993 90.2699967 0.932619 0.360862 0.8177584 +7337 1 1.72 7.0799999 17.7000008 88.5 -0.997187 -0.0749493 0.6123981 +7338 1 1.72 8.8500004 19.4699993 88.5 0.198699 -0.980061 0.6123981 +7339 1 1.72 8.8500004 17.7000008 90.2699967 0.0111635 -0.999938 0.8177584 +7340 1 1.72 7.0799999 19.4699993 90.2699967 -0.967641 -0.252332 0.8177584 +7341 1 1.72 10.6199999 17.7000008 88.5 0.686412 0.727213 0.6123981 +7342 1 1.72 12.3900004 19.4699993 88.5 0.342127 0.939654 0.6123981 +7343 1 1.72 12.3900004 17.7000008 90.2699967 0.575416 0.817861 0.8177584 +7344 1 1.72 10.6199999 19.4699993 90.2699967 -0.972882 -0.231301 0.8177584 +7345 1 1.72 14.1599999 17.7000008 88.5 -0.572681 -0.819779 0.6123981 +7346 1 1.72 15.9300004 19.4699993 88.5 -0.0140865 0.999901 0.6123981 +7347 1 1.72 15.9300004 17.7000008 90.2699967 -0.936861 -0.349702 0.8177584 +7348 1 1.72 14.1599999 19.4699993 90.2699967 -0.667916 0.744237 0.8177584 +7349 1 1.72 17.7000008 17.7000008 88.5 0.918304 0.395876 0.6123981 +7350 1 1.72 19.4699993 19.4699993 88.5 0.890628 0.454732 0.6123981 +7351 1 1.72 19.4699993 17.7000008 90.2699967 -0.726814 0.686835 0.8177584 +7352 1 1.72 17.7000008 19.4699993 90.2699967 0.773635 -0.633631 0.8177584 +7353 1 1.72 21.2399998 17.7000008 88.5 -0.0889625 -0.996035 0.6123981 +7354 1 1.72 23.0100002 19.4699993 88.5 0.272131 -0.96226 0.6123981 +7355 1 1.72 23.0100002 17.7000008 90.2699967 0.851679 0.524064 0.8177584 +7356 1 1.72 21.2399998 19.4699993 90.2699967 0.582995 0.812476 0.8177584 +7357 1 1.72 24.7800007 17.7000008 88.5 -0.737106 0.675777 0.6123981 +7358 1 1.72 26.5499993 19.4699993 88.5 -0.252896 0.967493 0.6123981 +7359 1 1.72 26.5499993 17.7000008 90.2699967 -0.777732 0.628596 0.8177584 +7360 1 1.72 24.7800007 19.4699993 90.2699967 -0.718837 -0.695178 0.8177584 +7361 1 1.72 0.0 21.2399998 88.5 0.491714 0.870757 0.6123981 +7362 1 1.72 1.77 23.0100002 88.5 0.952461 0.304659 0.6123981 +7363 1 1.72 1.77 21.2399998 90.2699967 0.995469 0.0950876 0.8177584 +7364 1 1.72 0.0 23.0100002 90.2699967 -0.990871 -0.13481 0.8177584 +7365 1 1.72 3.54 21.2399998 88.5 0.757677 -0.65263 0.6123981 +7366 1 1.72 5.31 23.0100002 88.5 0.904318 -0.426859 0.6123981 +7367 1 1.72 5.31 21.2399998 90.2699967 0.999862 0.0166328 0.8177584 +7368 1 1.72 3.54 23.0100002 90.2699967 0.881145 -0.472846 0.8177584 +7369 1 1.72 7.0799999 21.2399998 88.5 -0.2958 0.95525 0.6123981 +7370 1 1.72 8.8500004 23.0100002 88.5 0.943812 0.330482 0.6123981 +7371 1 1.72 8.8500004 21.2399998 90.2699967 0.995311 0.0967292 0.8177584 +7372 1 1.72 7.0799999 23.0100002 90.2699967 0.74448 0.667645 0.8177584 +7373 1 1.72 10.6199999 21.2399998 88.5 -0.21849 -0.975839 0.6123981 +7374 1 1.72 12.3900004 23.0100002 88.5 -0.422067 0.906565 0.6123981 +7375 1 1.72 12.3900004 21.2399998 90.2699967 -0.241443 -0.970415 0.8177584 +7376 1 1.72 10.6199999 23.0100002 90.2699967 -0.927547 0.373706 0.8177584 +7377 1 1.72 14.1599999 21.2399998 88.5 -0.868774 0.495209 0.6123981 +7378 1 1.72 15.9300004 23.0100002 88.5 -0.951215 -0.308528 0.6123981 +7379 1 1.72 15.9300004 21.2399998 90.2699967 -0.402489 -0.915425 0.8177584 +7380 1 1.72 14.1599999 23.0100002 90.2699967 0.990755 -0.135666 0.8177584 +7381 1 1.72 17.7000008 21.2399998 88.5 0.714331 -0.699808 0.6123981 +7382 1 1.72 19.4699993 23.0100002 88.5 -0.99629 -0.086064 0.6123981 +7383 1 1.72 19.4699993 21.2399998 90.2699967 0.125689 -0.99207 0.8177584 +7384 1 1.72 17.7000008 23.0100002 90.2699967 -0.261601 0.965176 0.8177584 +7385 1 1.72 21.2399998 21.2399998 88.5 -0.461799 0.886984 0.6123981 +7386 1 1.72 23.0100002 23.0100002 88.5 -0.330304 -0.943875 0.6123981 +7387 1 1.72 23.0100002 21.2399998 90.2699967 0.878229 0.478241 0.8177584 +7388 1 1.72 21.2399998 23.0100002 90.2699967 0.0148454 -0.99989 0.8177584 +7389 1 1.72 24.7800007 21.2399998 88.5 0.328363 -0.944552 0.6123981 +7390 1 1.72 26.5499993 23.0100002 88.5 -0.779689 0.626167 0.6123981 +7391 1 1.72 26.5499993 21.2399998 90.2699967 0.849962 0.526844 0.8177584 +7392 1 1.72 24.7800007 23.0100002 90.2699967 -0.896835 0.442365 0.8177584 +7393 1 1.72 0.0 24.7800007 88.5 -0.722017 -0.691876 0.6123981 +7394 1 1.72 1.77 26.5499993 88.5 0.913836 0.406083 0.6123981 +7395 1 1.72 1.77 24.7800007 90.2699967 0.524932 0.851144 0.8177584 +7396 1 1.72 0.0 26.5499993 90.2699967 0.0550976 0.998481 0.8177584 +7397 1 1.72 3.54 24.7800007 88.5 0.660772 -0.750587 0.6123981 +7398 1 1.72 5.31 26.5499993 88.5 -0.0838394 0.996479 0.6123981 +7399 1 1.72 5.31 24.7800007 90.2699967 -0.00543521 -0.999985 0.8177584 +7400 1 1.72 3.54 26.5499993 90.2699967 -0.21014 0.977671 0.8177584 +7401 1 1.72 7.0799999 24.7800007 88.5 -0.8526 0.522564 0.6123981 +7402 1 1.72 8.8500004 26.5499993 88.5 -0.504776 0.86325 0.6123981 +7403 1 1.72 8.8500004 24.7800007 90.2699967 0.950668 -0.310211 0.8177584 +7404 1 1.72 7.0799999 26.5499993 90.2699967 0.178442 0.98395 0.8177584 +7405 1 1.72 10.6199999 24.7800007 88.5 0.678587 -0.73452 0.6123981 +7406 1 1.72 12.3900004 26.5499993 88.5 -0.815395 -0.578904 0.6123981 +7407 1 1.72 12.3900004 24.7800007 90.2699967 0.607768 -0.794115 0.8177584 +7408 1 1.72 10.6199999 26.5499993 90.2699967 -0.56705 -0.823683 0.8177584 +7409 1 1.72 14.1599999 24.7800007 88.5 0.815427 -0.57886 0.6123981 +7410 1 1.72 15.9300004 26.5499993 88.5 0.185859 0.982577 0.6123981 +7411 1 1.72 15.9300004 24.7800007 90.2699967 0.993476 -0.11404 0.8177584 +7412 1 1.72 14.1599999 26.5499993 90.2699967 -0.852693 -0.522413 0.8177584 +7413 1 1.72 17.7000008 24.7800007 88.5 0.989865 0.142013 0.6123981 +7414 1 1.72 19.4699993 26.5499993 88.5 0.808801 0.588083 0.6123981 +7415 1 1.72 19.4699993 24.7800007 90.2699967 0.297282 -0.95479 0.8177584 +7416 1 1.72 17.7000008 26.5499993 90.2699967 0.743135 0.669142 0.8177584 +7417 1 1.72 21.2399998 24.7800007 88.5 0.763867 0.645373 0.6123981 +7418 1 1.72 23.0100002 26.5499993 88.5 0.109154 0.994025 0.6123981 +7419 1 1.72 23.0100002 24.7800007 90.2699967 0.935386 0.353628 0.8177584 +7420 1 1.72 21.2399998 26.5499993 90.2699967 0.717344 -0.696719 0.8177584 +7421 1 1.72 24.7800007 24.7800007 88.5 -0.99474 -0.102432 0.6123981 +7422 1 1.72 26.5499993 26.5499993 88.5 0.74773 -0.664003 0.6123981 +7423 1 1.72 26.5499993 24.7800007 90.2699967 0.418067 0.908416 0.8177584 +7424 1 1.72 24.7800007 26.5499993 90.2699967 0.367478 -0.930032 0.8177584 +7425 1 1.72 0.0 14.1599999 92.0400009 0.54352 -0.839396 0.9508352 +7426 1 1.72 1.77 15.9300004 92.0400009 0.56064 0.82806 0.9508352 +7427 1 1.72 1.77 14.1599999 93.8099976 -0.681358 -0.73195 0.9998646 +7428 1 1.72 0.0 15.9300004 93.8099976 -0.764215 -0.644961 0.9998646 +7429 1 1.72 3.54 14.1599999 92.0400009 -0.161248 0.986914 0.9508352 +7430 1 1.72 5.31 15.9300004 92.0400009 -0.19046 -0.981695 0.9508352 +7431 1 1.72 5.31 14.1599999 93.8099976 -0.256974 0.966418 0.9998646 +7432 1 1.72 3.54 15.9300004 93.8099976 -0.999738 0.022888 0.9998646 +7433 1 1.72 7.0799999 14.1599999 92.0400009 -0.611676 -0.791108 0.9508352 +7434 1 1.72 8.8500004 15.9300004 92.0400009 0.779078 -0.626928 0.9508352 +7435 1 1.72 8.8500004 14.1599999 93.8099976 0.638623 0.76952 0.9998646 +7436 1 1.72 7.0799999 15.9300004 93.8099976 0.530092 0.84794 0.9998646 +7437 1 1.72 10.6199999 14.1599999 92.0400009 0.815198 0.579182 0.9508352 +7438 1 1.72 12.3900004 15.9300004 92.0400009 -0.634202 -0.773167 0.9508352 +7439 1 1.72 12.3900004 14.1599999 93.8099976 0.68496 0.728581 0.9998646 +7440 1 1.72 10.6199999 15.9300004 93.8099976 0.577594 -0.816324 0.9998646 +7441 1 1.72 14.1599999 14.1599999 92.0400009 0.998732 0.0503514 0.9508352 +7442 1 1.72 15.9300004 15.9300004 92.0400009 0.967565 0.252622 0.9508352 +7443 1 1.72 15.9300004 14.1599999 93.8099976 0.958245 -0.28595 0.9998646 +7444 1 1.72 14.1599999 15.9300004 93.8099976 0.785628 -0.618699 0.9998646 +7445 1 1.72 17.7000008 14.1599999 92.0400009 -0.663981 -0.747749 0.9508352 +7446 1 1.72 19.4699993 15.9300004 92.0400009 -0.845747 -0.533584 0.9508352 +7447 1 1.72 19.4699993 14.1599999 93.8099976 -0.0125419 0.999921 0.9998646 +7448 1 1.72 17.7000008 15.9300004 93.8099976 0.774267 0.632859 0.9998646 +7449 1 1.72 21.2399998 14.1599999 92.0400009 0.852801 -0.522236 0.9508352 +7450 1 1.72 23.0100002 15.9300004 92.0400009 0.981855 0.189635 0.9508352 +7451 1 1.72 23.0100002 14.1599999 93.8099976 0.910292 0.413966 0.9998646 +7452 1 1.72 21.2399998 15.9300004 93.8099976 0.89673 -0.442579 0.9998646 +7453 1 1.72 24.7800007 14.1599999 92.0400009 -0.40498 0.914326 0.9508352 +7454 1 1.72 26.5499993 15.9300004 92.0400009 0.150924 -0.988545 0.9508352 +7455 1 1.72 26.5499993 14.1599999 93.8099976 0.829418 -0.558629 0.9998646 +7456 1 1.72 24.7800007 15.9300004 93.8099976 -0.675589 -0.737279 0.9998646 +7457 1 1.72 0.0 17.7000008 92.0400009 -0.674773 0.738026 0.9508352 +7458 1 1.72 1.77 19.4699993 92.0400009 -0.489982 0.871732 0.9508352 +7459 1 1.72 1.77 17.7000008 93.8099976 -0.754154 0.656697 0.9998646 +7460 1 1.72 0.0 19.4699993 93.8099976 0.408462 -0.912775 0.9998646 +7461 1 1.72 3.54 17.7000008 92.0400009 -0.982961 0.183812 0.9508352 +7462 1 1.72 5.31 19.4699993 92.0400009 0.278581 0.960413 0.9508352 +7463 1 1.72 5.31 17.7000008 93.8099976 -0.86954 0.493863 0.9998646 +7464 1 1.72 3.54 19.4699993 93.8099976 -0.757885 0.652388 0.9998646 +7465 1 1.72 7.0799999 17.7000008 92.0400009 0.878023 0.478619 0.9508352 +7466 1 1.72 8.8500004 19.4699993 92.0400009 0.531715 0.846924 0.9508352 +7467 1 1.72 8.8500004 17.7000008 93.8099976 0.999072 0.0430685 0.9998646 +7468 1 1.72 7.0799999 19.4699993 93.8099976 -0.38005 0.924966 0.9998646 +7469 1 1.72 10.6199999 17.7000008 92.0400009 -0.202988 0.979181 0.9508352 +7470 1 1.72 12.3900004 19.4699993 92.0400009 0.996325 0.0856516 0.9508352 +7471 1 1.72 12.3900004 17.7000008 93.8099976 -0.134627 -0.990896 0.9998646 +7472 1 1.72 10.6199999 19.4699993 93.8099976 -0.857924 0.513776 0.9998646 +7473 1 1.72 14.1599999 17.7000008 92.0400009 0.955448 -0.29516 0.9508352 +7474 1 1.72 15.9300004 19.4699993 92.0400009 -0.954921 -0.296861 0.9508352 +7475 1 1.72 15.9300004 17.7000008 93.8099976 0.879663 0.475597 0.9998646 +7476 1 1.72 14.1599999 19.4699993 93.8099976 0.657262 0.753662 0.9998646 +7477 1 1.72 17.7000008 17.7000008 92.0400009 0.784111 -0.62062 0.9508352 +7478 1 1.72 19.4699993 19.4699993 92.0400009 0.382123 -0.924111 0.9508352 +7479 1 1.72 19.4699993 17.7000008 93.8099976 0.800999 0.598666 0.9998646 +7480 1 1.72 17.7000008 19.4699993 93.8099976 0.370904 -0.928671 0.9998646 +7481 1 1.72 21.2399998 17.7000008 92.0400009 0.125205 0.992131 0.9508352 +7482 1 1.72 23.0100002 19.4699993 92.0400009 -0.848755 0.528787 0.9508352 +7483 1 1.72 23.0100002 17.7000008 93.8099976 -0.632259 0.774757 0.9998646 +7484 1 1.72 21.2399998 19.4699993 93.8099976 -0.510586 -0.859827 0.9998646 +7485 1 1.72 24.7800007 17.7000008 92.0400009 0.27172 0.962376 0.9508352 +7486 1 1.72 26.5499993 19.4699993 92.0400009 0.739764 -0.672866 0.9508352 +7487 1 1.72 26.5499993 17.7000008 93.8099976 0.549757 0.835325 0.9998646 +7488 1 1.72 24.7800007 19.4699993 93.8099976 0.999757 0.0220605 0.9998646 +7489 1 1.72 0.0 21.2399998 92.0400009 -0.836145 -0.548508 0.9508352 +7490 1 1.72 1.77 23.0100002 92.0400009 0.999394 -0.0348173 0.9508352 +7491 1 1.72 1.77 21.2399998 93.8099976 0.0767681 -0.997049 0.9998646 +7492 1 1.72 0.0 23.0100002 93.8099976 0.999137 0.0415294 0.9998646 +7493 1 1.72 3.54 21.2399998 92.0400009 -0.999726 0.0234262 0.9508352 +7494 1 1.72 5.31 23.0100002 92.0400009 -0.68701 -0.726648 0.9508352 +7495 1 1.72 5.31 21.2399998 93.8099976 -0.897805 -0.440394 0.9998646 +7496 1 1.72 3.54 23.0100002 93.8099976 0.995575 -0.0939748 0.9998646 +7497 1 1.72 7.0799999 21.2399998 92.0400009 -0.169419 -0.985544 0.9508352 +7498 1 1.72 8.8500004 23.0100002 92.0400009 0.68083 0.732441 0.9508352 +7499 1 1.72 8.8500004 21.2399998 93.8099976 0.879996 -0.474982 0.9998646 +7500 1 1.72 7.0799999 23.0100002 93.8099976 -0.660693 -0.750656 0.9998646 +7501 1 1.72 10.6199999 21.2399998 92.0400009 0.828709 0.55968 0.9508352 +7502 1 1.72 12.3900004 23.0100002 92.0400009 -0.788559 0.614959 0.9508352 +7503 1 1.72 12.3900004 21.2399998 93.8099976 0.653632 0.756813 0.9998646 +7504 1 1.72 10.6199999 23.0100002 93.8099976 0.491311 0.870984 0.9998646 +7505 1 1.72 14.1599999 21.2399998 92.0400009 -0.0205317 0.999789 0.9508352 +7506 1 1.72 15.9300004 23.0100002 92.0400009 0.967023 -0.254687 0.9508352 +7507 1 1.72 15.9300004 21.2399998 93.8099976 0.985513 -0.1696 0.9998646 +7508 1 1.72 14.1599999 23.0100002 93.8099976 -0.374146 0.92737 0.9998646 +7509 1 1.72 17.7000008 21.2399998 92.0400009 0.131305 -0.991342 0.9508352 +7510 1 1.72 19.4699993 23.0100002 92.0400009 0.735471 -0.677556 0.9508352 +7511 1 1.72 19.4699993 21.2399998 93.8099976 0.733608 0.679573 0.9998646 +7512 1 1.72 17.7000008 23.0100002 93.8099976 0.0812353 -0.996695 0.9998646 +7513 1 1.72 21.2399998 21.2399998 92.0400009 -0.995493 0.0948322 0.9508352 +7514 1 1.72 23.0100002 23.0100002 92.0400009 0.335871 0.941908 0.9508352 +7515 1 1.72 23.0100002 21.2399998 93.8099976 -0.337147 0.941452 0.9998646 +7516 1 1.72 21.2399998 23.0100002 93.8099976 -0.849803 0.527101 0.9998646 +7517 1 1.72 24.7800007 21.2399998 92.0400009 0.350758 0.936466 0.9508352 +7518 1 1.72 26.5499993 23.0100002 92.0400009 0.18551 -0.982642 0.9508352 +7519 1 1.72 26.5499993 21.2399998 93.8099976 0.852909 -0.522059 0.9998646 +7520 1 1.72 24.7800007 23.0100002 93.8099976 -0.626436 -0.779473 0.9998646 +7521 1 1.72 0.0 24.7800007 92.0400009 -0.822167 -0.569247 0.9508352 +7522 1 1.72 1.77 26.5499993 92.0400009 0.775316 0.631573 0.9508352 +7523 1 1.72 1.77 24.7800007 93.8099976 0.998674 0.0514815 0.9998646 +7524 1 1.72 0.0 26.5499993 93.8099976 -0.997266 -0.0738963 0.9998646 +7525 1 1.72 3.54 24.7800007 92.0400009 0.569917 0.821702 0.9508352 +7526 1 1.72 5.31 26.5499993 92.0400009 0.987663 0.156593 0.9508352 +7527 1 1.72 5.31 24.7800007 93.8099976 0.210537 0.977586 0.9998646 +7528 1 1.72 3.54 26.5499993 93.8099976 -0.499337 -0.866408 0.9998646 +7529 1 1.72 7.0799999 24.7800007 92.0400009 0.851634 0.524136 0.9508352 +7530 1 1.72 8.8500004 26.5499993 92.0400009 0.187787 0.98221 0.9508352 +7531 1 1.72 8.8500004 24.7800007 93.8099976 0.135388 0.990793 0.9998646 +7532 1 1.72 7.0799999 26.5499993 93.8099976 0.561079 -0.827762 0.9998646 +7533 1 1.72 10.6199999 24.7800007 92.0400009 0.839991 0.5426 0.9508352 +7534 1 1.72 12.3900004 26.5499993 92.0400009 0.223665 -0.974666 0.9508352 +7535 1 1.72 12.3900004 24.7800007 93.8099976 0.972933 0.231087 0.9998646 +7536 1 1.72 10.6199999 26.5499993 93.8099976 -0.950008 0.312225 0.9998646 +7537 1 1.72 14.1599999 24.7800007 92.0400009 -0.947443 -0.319926 0.9508352 +7538 1 1.72 15.9300004 26.5499993 92.0400009 -0.206333 -0.978482 0.9508352 +7539 1 1.72 15.9300004 24.7800007 93.8099976 0.92193 -0.387356 0.9998646 +7540 1 1.72 14.1599999 26.5499993 93.8099976 -0.921197 -0.389097 0.9998646 +7541 1 1.72 17.7000008 24.7800007 92.0400009 0.957364 -0.288883 0.9508352 +7542 1 1.72 19.4699993 26.5499993 92.0400009 0.804185 -0.594379 0.9508352 +7543 1 1.72 19.4699993 24.7800007 93.8099976 -0.59431 0.804236 0.9998646 +7544 1 1.72 17.7000008 26.5499993 93.8099976 0.797111 0.603833 0.9998646 +7545 1 1.72 21.2399998 24.7800007 92.0400009 0.421084 0.907022 0.9508352 +7546 1 1.72 23.0100002 26.5499993 92.0400009 -0.550155 0.835062 0.9508352 +7547 1 1.72 23.0100002 24.7800007 93.8099976 -0.913516 -0.406802 0.9998646 +7548 1 1.72 21.2399998 26.5499993 93.8099976 0.910159 -0.414259 0.9998646 +7549 1 1.72 24.7800007 24.7800007 92.0400009 -0.530157 0.847899 0.9508352 +7550 1 1.72 26.5499993 26.5499993 92.0400009 -0.995756 -0.0920293 0.9508352 +7551 1 1.72 26.5499993 24.7800007 93.8099976 0.756358 -0.654158 0.9998646 +7552 1 1.72 24.7800007 26.5499993 93.8099976 0.147534 0.989057 0.9998646 +7553 1 1.72 0.0 14.1599999 95.5800019 -0.665006 0.746838 1.0 +7554 1 1.72 1.77 15.9300004 95.5800019 0.809106 -0.587662 1.0 +7555 1 1.72 1.77 14.1599999 97.3499985 0.692802 -0.721128 1.0 +7556 1 1.72 0.0 15.9300004 97.3499985 -0.923603 -0.383351 1.0 +7557 1 1.72 3.54 14.1599999 95.5800019 0.482055 -0.876141 1.0 +7558 1 1.72 5.31 15.9300004 95.5800019 -0.796218 -0.605009 1.0 +7559 1 1.72 5.31 14.1599999 97.3499985 -0.247815 0.968807 1.0 +7560 1 1.72 3.54 15.9300004 97.3499985 0.127839 0.991795 1.0 +7561 1 1.72 7.0799999 14.1599999 95.5800019 -0.298338 -0.95446 1.0 +7562 1 1.72 8.8500004 15.9300004 95.5800019 0.761113 0.648619 1.0 +7563 1 1.72 8.8500004 14.1599999 97.3499985 0.937634 -0.347623 1.0 +7564 1 1.72 7.0799999 15.9300004 97.3499985 0.264289 0.964444 1.0 +7565 1 1.72 10.6199999 14.1599999 95.5800019 0.851258 -0.524747 1.0 +7566 1 1.72 12.3900004 15.9300004 95.5800019 0.0944879 -0.995526 1.0 +7567 1 1.72 12.3900004 14.1599999 97.3499985 0.515867 -0.856668 1.0 +7568 1 1.72 10.6199999 15.9300004 97.3499985 -0.438115 -0.898919 1.0 +7569 1 1.72 14.1599999 14.1599999 95.5800019 0.998803 0.0489194 1.0 +7570 1 1.72 15.9300004 15.9300004 95.5800019 0.991046 0.13352 1.0 +7571 1 1.72 15.9300004 14.1599999 97.3499985 -0.0648131 -0.997897 1.0 +7572 1 1.72 14.1599999 15.9300004 97.3499985 -0.740711 -0.671824 1.0 +7573 1 1.72 17.7000008 14.1599999 95.5800019 0.551882 -0.833922 1.0 +7574 1 1.72 19.4699993 15.9300004 95.5800019 0.489205 -0.872169 1.0 +7575 1 1.72 19.4699993 14.1599999 97.3499985 -0.18181 -0.983334 1.0 +7576 1 1.72 17.7000008 15.9300004 97.3499985 0.641243 -0.767337 1.0 +7577 1 1.72 21.2399998 14.1599999 95.5800019 0.66581 -0.746121 1.0 +7578 1 1.72 23.0100002 15.9300004 95.5800019 0.997858 -0.06542 1.0 +7579 1 1.72 23.0100002 14.1599999 97.3499985 -0.124468 -0.992224 1.0 +7580 1 1.72 21.2399998 15.9300004 97.3499985 0.975173 0.221443 1.0 +7581 1 1.72 24.7800007 14.1599999 95.5800019 0.999194 0.0401463 1.0 +7582 1 1.72 26.5499993 15.9300004 95.5800019 0.759971 0.649957 1.0 +7583 1 1.72 26.5499993 14.1599999 97.3499985 0.72002 0.693953 1.0 +7584 1 1.72 24.7800007 15.9300004 97.3499985 0.663458 0.748214 1.0 +7585 1 1.72 0.0 17.7000008 95.5800019 -0.605875 0.79556 1.0 +7586 1 1.72 1.77 19.4699993 95.5800019 0.214841 -0.976649 1.0 +7587 1 1.72 1.77 17.7000008 97.3499985 0.771975 0.635653 1.0 +7588 1 1.72 0.0 19.4699993 97.3499985 0.608465 -0.793581 1.0 +7589 1 1.72 3.54 17.7000008 95.5800019 0.945228 -0.326412 1.0 +7590 1 1.72 5.31 19.4699993 95.5800019 -0.974022 -0.226452 1.0 +7591 1 1.72 5.31 17.7000008 97.3499985 0.744467 -0.667659 1.0 +7592 1 1.72 3.54 19.4699993 97.3499985 -0.427445 -0.904041 1.0 +7593 1 1.72 7.0799999 17.7000008 95.5800019 0.836238 0.548367 1.0 +7594 1 1.72 8.8500004 19.4699993 95.5800019 0.945234 0.326393 1.0 +7595 1 1.72 8.8500004 17.7000008 97.3499985 -0.709222 0.704985 1.0 +7596 1 1.72 7.0799999 19.4699993 97.3499985 0.988556 -0.150852 1.0 +7597 1 1.72 10.6199999 17.7000008 95.5800019 0.962003 0.27304 1.0 +7598 1 1.72 12.3900004 19.4699993 95.5800019 0.632917 -0.77422 1.0 +7599 1 1.72 12.3900004 17.7000008 97.3499985 0.849077 0.528269 1.0 +7600 1 1.72 10.6199999 19.4699993 97.3499985 0.645128 -0.764075 1.0 +7601 1 1.72 14.1599999 17.7000008 95.5800019 -0.990418 0.1381 1.0 +7602 1 1.72 15.9300004 19.4699993 95.5800019 0.916608 -0.399788 1.0 +7603 1 1.72 15.9300004 17.7000008 97.3499985 0.787421 -0.616416 1.0 +7604 1 1.72 14.1599999 19.4699993 97.3499985 -0.990944 0.134277 1.0 +7605 1 1.72 17.7000008 17.7000008 95.5800019 0.732753 -0.680495 1.0 +7606 1 1.72 19.4699993 19.4699993 95.5800019 0.945485 -0.325665 1.0 +7607 1 1.72 19.4699993 17.7000008 97.3499985 0.99995 0.0100488 1.0 +7608 1 1.72 17.7000008 19.4699993 97.3499985 0.788838 0.614601 1.0 +7609 1 1.72 21.2399998 17.7000008 95.5800019 -0.444905 0.895578 1.0 +7610 1 1.72 23.0100002 19.4699993 95.5800019 0.992065 0.125728 1.0 +7611 1 1.72 23.0100002 17.7000008 97.3499985 0.832045 -0.554708 1.0 +7612 1 1.72 21.2399998 19.4699993 97.3499985 0.985162 -0.171627 1.0 +7613 1 1.72 24.7800007 17.7000008 95.5800019 -0.402 -0.91564 1.0 +7614 1 1.72 26.5499993 19.4699993 95.5800019 -0.0499137 -0.998754 1.0 +7615 1 1.72 26.5499993 17.7000008 97.3499985 0.0327699 0.999463 1.0 +7616 1 1.72 24.7800007 19.4699993 97.3499985 -0.629882 -0.776691 1.0 +7617 1 1.72 0.0 21.2399998 95.5800019 0.670866 -0.741578 1.0 +7618 1 1.72 1.77 23.0100002 95.5800019 -0.544609 0.83869 1.0 +7619 1 1.72 1.77 21.2399998 97.3499985 -0.893655 -0.448754 1.0 +7620 1 1.72 0.0 23.0100002 97.3499985 0.861757 -0.507322 1.0 +7621 1 1.72 3.54 21.2399998 95.5800019 -0.643527 0.765423 1.0 +7622 1 1.72 5.31 23.0100002 95.5800019 0.572624 -0.819818 1.0 +7623 1 1.72 5.31 21.2399998 97.3499985 0.523185 -0.852219 1.0 +7624 1 1.72 3.54 23.0100002 97.3499985 0.0537154 -0.998556 1.0 +7625 1 1.72 7.0799999 21.2399998 95.5800019 0.665988 0.745963 1.0 +7626 1 1.72 8.8500004 23.0100002 95.5800019 -0.439705 0.898142 1.0 +7627 1 1.72 8.8500004 21.2399998 97.3499985 0.675737 0.737143 1.0 +7628 1 1.72 7.0799999 23.0100002 97.3499985 -0.201572 0.979474 1.0 +7629 1 1.72 10.6199999 21.2399998 95.5800019 -0.892867 -0.450321 1.0 +7630 1 1.72 12.3900004 23.0100002 95.5800019 -0.506673 -0.862138 1.0 +7631 1 1.72 12.3900004 21.2399998 97.3499985 -0.946024 0.324097 1.0 +7632 1 1.72 10.6199999 23.0100002 97.3499985 0.906318 0.422597 1.0 +7633 1 1.72 14.1599999 21.2399998 95.5800019 0.765057 -0.643963 1.0 +7634 1 1.72 15.9300004 23.0100002 95.5800019 -0.608357 0.793664 1.0 +7635 1 1.72 15.9300004 21.2399998 97.3499985 0.765975 0.64287 1.0 +7636 1 1.72 14.1599999 23.0100002 97.3499985 0.00933545 0.999956 1.0 +7637 1 1.72 17.7000008 21.2399998 95.5800019 0.984736 0.174054 1.0 +7638 1 1.72 19.4699993 23.0100002 95.5800019 0.940895 -0.338699 1.0 +7639 1 1.72 19.4699993 21.2399998 97.3499985 0.86165 -0.507502 1.0 +7640 1 1.72 17.7000008 23.0100002 97.3499985 -0.876053 0.482216 1.0 +7641 1 1.72 21.2399998 21.2399998 95.5800019 -0.492639 -0.870234 1.0 +7642 1 1.72 23.0100002 23.0100002 95.5800019 0.840547 0.541738 1.0 +7643 1 1.72 23.0100002 21.2399998 97.3499985 -0.909339 0.416055 1.0 +7644 1 1.72 21.2399998 23.0100002 97.3499985 0.593004 -0.8052 1.0 +7645 1 1.72 24.7800007 21.2399998 95.5800019 0.634651 0.772799 1.0 +7646 1 1.72 26.5499993 23.0100002 95.5800019 -0.681041 0.732245 1.0 +7647 1 1.72 26.5499993 21.2399998 97.3499985 0.660676 0.750671 1.0 +7648 1 1.72 24.7800007 23.0100002 97.3499985 -0.982181 0.18794 1.0 +7649 1 1.72 0.0 24.7800007 95.5800019 0.863674 -0.504051 1.0 +7650 1 1.72 1.77 26.5499993 95.5800019 0.929522 -0.368768 1.0 +7651 1 1.72 1.77 24.7800007 97.3499985 0.958515 -0.285042 1.0 +7652 1 1.72 0.0 26.5499993 97.3499985 0.626965 0.779048 1.0 +7653 1 1.72 3.54 24.7800007 95.5800019 -0.315379 0.948966 1.0 +7654 1 1.72 5.31 26.5499993 95.5800019 -0.414121 -0.910222 1.0 +7655 1 1.72 5.31 24.7800007 97.3499985 -0.857974 0.513694 1.0 +7656 1 1.72 3.54 26.5499993 97.3499985 0.642573 0.766225 1.0 +7657 1 1.72 7.0799999 24.7800007 95.5800019 0.771993 0.635631 1.0 +7658 1 1.72 8.8500004 26.5499993 95.5800019 -0.861434 0.507869 1.0 +7659 1 1.72 8.8500004 24.7800007 97.3499985 -0.683643 0.729817 1.0 +7660 1 1.72 7.0799999 26.5499993 97.3499985 -0.281866 0.959454 1.0 +7661 1 1.72 10.6199999 24.7800007 95.5800019 -0.93135 -0.364124 1.0 +7662 1 1.72 12.3900004 26.5499993 95.5800019 -0.480964 0.87674 1.0 +7663 1 1.72 12.3900004 24.7800007 97.3499985 -0.434018 0.900904 1.0 +7664 1 1.72 10.6199999 26.5499993 97.3499985 0.749863 -0.661593 1.0 +7665 1 1.72 14.1599999 24.7800007 95.5800019 0.603805 -0.797132 1.0 +7666 1 1.72 15.9300004 26.5499993 95.5800019 -0.910161 -0.414254 1.0 +7667 1 1.72 15.9300004 24.7800007 97.3499985 0.933647 -0.358194 1.0 +7668 1 1.72 14.1599999 26.5499993 97.3499985 0.586524 0.809932 1.0 +7669 1 1.72 17.7000008 24.7800007 95.5800019 -0.994473 -0.104989 1.0 +7670 1 1.72 19.4699993 26.5499993 95.5800019 0.816024 -0.578019 1.0 +7671 1 1.72 19.4699993 24.7800007 97.3499985 -0.248395 0.968659 1.0 +7672 1 1.72 17.7000008 26.5499993 97.3499985 -0.851779 0.523902 1.0 +7673 1 1.72 21.2399998 24.7800007 95.5800019 0.33512 -0.942175 1.0 +7674 1 1.72 23.0100002 26.5499993 95.5800019 0.967319 -0.253563 1.0 +7675 1 1.72 23.0100002 24.7800007 97.3499985 0.568616 0.822603 1.0 +7676 1 1.72 21.2399998 26.5499993 97.3499985 -0.989246 -0.146261 1.0 +7677 1 1.72 24.7800007 24.7800007 95.5800019 -0.515552 -0.856858 1.0 +7678 1 1.72 26.5499993 26.5499993 95.5800019 0.359802 -0.933029 1.0 +7679 1 1.72 26.5499993 24.7800007 97.3499985 0.122087 0.992519 1.0 +7680 1 1.72 24.7800007 26.5499993 97.3499985 0.948266 0.317476 1.0 +7681 1 1.72 0.0 14.1599999 99.1200028 -0.0957775 -0.995403 1.0 +7682 1 1.72 1.77 15.9300004 99.1200028 0.811706 -0.584066 1.0 +7683 1 1.72 1.77 14.1599999 100.8899994 -0.336287 0.94176 1.0 +7684 1 1.72 0.0 15.9300004 100.8899994 -0.309953 -0.950752 1.0 +7685 1 1.72 3.54 14.1599999 99.1200028 -0.577122 -0.816658 1.0 +7686 1 1.72 5.31 15.9300004 99.1200028 -0.923779 0.382927 1.0 +7687 1 1.72 5.31 14.1599999 100.8899994 0.981176 -0.193118 1.0 +7688 1 1.72 3.54 15.9300004 100.8899994 0.920536 0.390658 1.0 +7689 1 1.72 7.0799999 14.1599999 99.1200028 0.95175 0.306876 1.0 +7690 1 1.72 8.8500004 15.9300004 99.1200028 0.947237 0.320535 1.0 +7691 1 1.72 8.8500004 14.1599999 100.8899994 0.184989 0.982741 1.0 +7692 1 1.72 7.0799999 15.9300004 100.8899994 -0.71109 0.703101 1.0 +7693 1 1.72 10.6199999 14.1599999 99.1200028 -0.94206 -0.335444 1.0 +7694 1 1.72 12.3900004 15.9300004 99.1200028 -0.862398 -0.506231 1.0 +7695 1 1.72 12.3900004 14.1599999 100.8899994 -0.704298 0.709905 1.0 +7696 1 1.72 10.6199999 15.9300004 100.8899994 0.663923 0.747801 1.0 +7697 1 1.72 14.1599999 14.1599999 99.1200028 0.742838 -0.669471 1.0 +7698 1 1.72 15.9300004 15.9300004 99.1200028 -0.594731 -0.803925 1.0 +7699 1 1.72 15.9300004 14.1599999 100.8899994 -0.457786 0.889063 1.0 +7700 1 1.72 14.1599999 15.9300004 100.8899994 -0.925244 -0.379372 1.0 +7701 1 1.72 17.7000008 14.1599999 99.1200028 0.831863 -0.554982 1.0 +7702 1 1.72 19.4699993 15.9300004 99.1200028 0.551025 0.834489 1.0 +7703 1 1.72 19.4699993 14.1599999 100.8899994 -0.946635 -0.322307 1.0 +7704 1 1.72 17.7000008 15.9300004 100.8899994 0.682709 -0.730691 1.0 +7705 1 1.72 21.2399998 14.1599999 99.1200028 0.999953 -0.00970487 1.0 +7706 1 1.72 23.0100002 15.9300004 99.1200028 -0.854577 -0.519325 1.0 +7707 1 1.72 23.0100002 14.1599999 100.8899994 0.603128 -0.797645 1.0 +7708 1 1.72 21.2399998 15.9300004 100.8899994 -0.608551 0.793515 1.0 +7709 1 1.72 24.7800007 14.1599999 99.1200028 0.099631 -0.995024 1.0 +7710 1 1.72 26.5499993 15.9300004 99.1200028 0.651863 0.758337 1.0 +7711 1 1.72 26.5499993 14.1599999 100.8899994 -0.852916 -0.522048 1.0 +7712 1 1.72 24.7800007 15.9300004 100.8899994 -0.723631 0.690187 1.0 +7713 1 1.72 0.0 17.7000008 99.1200028 0.524246 -0.851567 1.0 +7714 1 1.72 1.77 19.4699993 99.1200028 0.663206 0.748437 1.0 +7715 1 1.72 1.77 17.7000008 100.8899994 -0.78621 0.61796 1.0 +7716 1 1.72 0.0 19.4699993 100.8899994 0.989224 -0.146413 1.0 +7717 1 1.72 3.54 17.7000008 99.1200028 0.841443 -0.540346 1.0 +7718 1 1.72 5.31 19.4699993 99.1200028 0.609713 0.792622 1.0 +7719 1 1.72 5.31 17.7000008 100.8899994 0.929941 0.367709 1.0 +7720 1 1.72 3.54 19.4699993 100.8899994 0.908531 -0.417817 1.0 +7721 1 1.72 7.0799999 17.7000008 99.1200028 0.949676 -0.313234 1.0 +7722 1 1.72 8.8500004 19.4699993 99.1200028 -0.804524 0.593919 1.0 +7723 1 1.72 8.8500004 17.7000008 100.8899994 0.609752 -0.792592 1.0 +7724 1 1.72 7.0799999 19.4699993 100.8899994 -0.152461 0.988309 1.0 +7725 1 1.72 10.6199999 17.7000008 99.1200028 -0.998265 -0.0588744 1.0 +7726 1 1.72 12.3900004 19.4699993 99.1200028 -0.901615 -0.432539 1.0 +7727 1 1.72 12.3900004 17.7000008 100.8899994 -0.653334 -0.75707 1.0 +7728 1 1.72 10.6199999 19.4699993 100.8899994 -0.719882 -0.694096 1.0 +7729 1 1.72 14.1599999 17.7000008 99.1200028 -0.595691 0.803214 1.0 +7730 1 1.72 15.9300004 19.4699993 99.1200028 -0.978072 0.208267 1.0 +7731 1 1.72 15.9300004 17.7000008 100.8899994 -0.450174 -0.892941 1.0 +7732 1 1.72 14.1599999 19.4699993 100.8899994 0.7817 -0.623654 1.0 +7733 1 1.72 17.7000008 17.7000008 99.1200028 0.988782 -0.149364 1.0 +7734 1 1.72 19.4699993 19.4699993 99.1200028 -0.851692 -0.524043 1.0 +7735 1 1.72 19.4699993 17.7000008 100.8899994 -0.999946 0.0104333 1.0 +7736 1 1.72 17.7000008 19.4699993 100.8899994 0.510942 -0.859615 1.0 +7737 1 1.72 21.2399998 17.7000008 99.1200028 -0.483169 -0.875527 1.0 +7738 1 1.72 23.0100002 19.4699993 99.1200028 -0.899616 0.436682 1.0 +7739 1 1.72 23.0100002 17.7000008 100.8899994 0.66007 -0.751204 1.0 +7740 1 1.72 21.2399998 19.4699993 100.8899994 -0.352216 -0.935919 1.0 +7741 1 1.72 24.7800007 17.7000008 99.1200028 0.901703 -0.432356 1.0 +7742 1 1.72 26.5499993 19.4699993 99.1200028 -0.829201 -0.55895 1.0 +7743 1 1.72 26.5499993 17.7000008 100.8899994 0.867833 0.496856 1.0 +7744 1 1.72 24.7800007 19.4699993 100.8899994 0.583584 -0.812052 1.0 +7745 1 1.72 0.0 21.2399998 99.1200028 0.702777 0.71141 1.0 +7746 1 1.72 1.77 23.0100002 99.1200028 -0.866447 0.499269 1.0 +7747 1 1.72 1.77 21.2399998 100.8899994 0.963 -0.2695 1.0 +7748 1 1.72 0.0 23.0100002 100.8899994 -0.0966114 -0.995322 1.0 +7749 1 1.72 3.54 21.2399998 99.1200028 0.589259 -0.807944 1.0 +7750 1 1.72 5.31 23.0100002 99.1200028 0.984551 0.175098 1.0 +7751 1 1.72 5.31 21.2399998 100.8899994 -0.910449 -0.413621 1.0 +7752 1 1.72 3.54 23.0100002 100.8899994 0.741845 0.670571 1.0 +7753 1 1.72 7.0799999 21.2399998 99.1200028 -0.98907 -0.147449 1.0 +7754 1 1.72 8.8500004 23.0100002 99.1200028 -0.975402 0.220433 1.0 +7755 1 1.72 8.8500004 21.2399998 100.8899994 -0.990825 -0.135149 1.0 +7756 1 1.72 7.0799999 23.0100002 100.8899994 0.377269 -0.926104 1.0 +7757 1 1.72 10.6199999 21.2399998 99.1200028 -0.348817 0.937191 1.0 +7758 1 1.72 12.3900004 23.0100002 99.1200028 0.724858 -0.688898 1.0 +7759 1 1.72 12.3900004 21.2399998 100.8899994 -0.217413 0.97608 1.0 +7760 1 1.72 10.6199999 23.0100002 100.8899994 -0.670852 -0.741591 1.0 +7761 1 1.72 14.1599999 21.2399998 99.1200028 -0.56715 0.823614 1.0 +7762 1 1.72 15.9300004 23.0100002 99.1200028 -0.13955 -0.990215 1.0 +7763 1 1.72 15.9300004 21.2399998 100.8899994 0.468046 0.883704 1.0 +7764 1 1.72 14.1599999 23.0100002 100.8899994 -0.789191 0.614148 1.0 +7765 1 1.72 17.7000008 21.2399998 99.1200028 -0.275527 -0.961293 1.0 +7766 1 1.72 19.4699993 23.0100002 99.1200028 -0.849396 -0.527757 1.0 +7767 1 1.72 19.4699993 21.2399998 100.8899994 0.966551 0.256475 1.0 +7768 1 1.72 17.7000008 23.0100002 100.8899994 -0.630763 -0.775975 1.0 +7769 1 1.72 21.2399998 21.2399998 99.1200028 -0.381513 0.924363 1.0 +7770 1 1.72 23.0100002 23.0100002 99.1200028 0.985063 -0.172192 1.0 +7771 1 1.72 23.0100002 21.2399998 100.8899994 -0.27955 0.960131 1.0 +7772 1 1.72 21.2399998 23.0100002 100.8899994 0.794596 -0.607138 1.0 +7773 1 1.72 24.7800007 21.2399998 99.1200028 -0.634059 0.773284 1.0 +7774 1 1.72 26.5499993 23.0100002 99.1200028 -0.950907 -0.309478 1.0 +7775 1 1.72 26.5499993 21.2399998 100.8899994 0.728927 0.684591 1.0 +7776 1 1.72 24.7800007 23.0100002 100.8899994 -0.952419 -0.304792 1.0 +7777 1 1.72 0.0 24.7800007 99.1200028 -0.43233 -0.901716 1.0 +7778 1 1.72 1.77 26.5499993 99.1200028 0.997814 -0.066086 1.0 +7779 1 1.72 1.77 24.7800007 100.8899994 0.820411 -0.571774 1.0 +7780 1 1.72 0.0 26.5499993 100.8899994 0.771688 0.636002 1.0 +7781 1 1.72 3.54 24.7800007 99.1200028 -0.999512 0.0312212 1.0 +7782 1 1.72 5.31 26.5499993 99.1200028 0.830231 0.557419 1.0 +7783 1 1.72 5.31 24.7800007 100.8899994 -0.515911 -0.856642 1.0 +7784 1 1.72 3.54 26.5499993 100.8899994 -0.590436 0.807085 1.0 +7785 1 1.72 7.0799999 24.7800007 99.1200028 -0.728978 -0.684537 1.0 +7786 1 1.72 8.8500004 26.5499993 99.1200028 0.584767 -0.811202 1.0 +7787 1 1.72 8.8500004 24.7800007 100.8899994 -0.997406 -0.0719798 1.0 +7788 1 1.72 7.0799999 26.5499993 100.8899994 0.424111 0.90561 1.0 +7789 1 1.72 10.6199999 24.7800007 99.1200028 -0.92167 -0.387975 1.0 +7790 1 1.72 12.3900004 26.5499993 99.1200028 0.91551 0.402294 1.0 +7791 1 1.72 12.3900004 24.7800007 100.8899994 -0.442849 -0.896596 1.0 +7792 1 1.72 10.6199999 26.5499993 100.8899994 0.989553 -0.14417 1.0 +7793 1 1.72 14.1599999 24.7800007 99.1200028 0.0895189 -0.995985 1.0 +7794 1 1.72 15.9300004 26.5499993 99.1200028 0.396149 -0.918186 1.0 +7795 1 1.72 15.9300004 24.7800007 100.8899994 -0.177128 0.984188 1.0 +7796 1 1.72 14.1599999 26.5499993 100.8899994 -0.938494 -0.345297 1.0 +7797 1 1.72 17.7000008 24.7800007 99.1200028 0.793939 -0.607998 1.0 +7798 1 1.72 19.4699993 26.5499993 99.1200028 -0.94869 0.316207 1.0 +7799 1 1.72 19.4699993 24.7800007 100.8899994 -0.354765 -0.934956 1.0 +7800 1 1.72 17.7000008 26.5499993 100.8899994 0.879892 -0.475173 1.0 +7801 1 1.72 21.2399998 24.7800007 99.1200028 0.71091 -0.703283 1.0 +7802 1 1.72 23.0100002 26.5499993 99.1200028 -0.184636 -0.982807 1.0 +7803 1 1.72 23.0100002 24.7800007 100.8899994 0.746098 -0.665836 1.0 +7804 1 1.72 21.2399998 26.5499993 100.8899994 -0.971137 0.238522 1.0 +7805 1 1.72 24.7800007 24.7800007 99.1200028 -0.0449819 -0.998988 1.0 +7806 1 1.72 26.5499993 26.5499993 99.1200028 -0.724165 0.689627 1.0 +7807 1 1.72 26.5499993 24.7800007 100.8899994 0.548458 0.836178 1.0 +7808 1 1.72 24.7800007 26.5499993 100.8899994 -0.806404 -0.591365 1.0 +7809 1 1.72 0.0 14.1599999 102.6600037 0.718014 -0.696029 1.0 +7810 1 1.72 1.77 15.9300004 102.6600037 0.794305 -0.60752 1.0 +7811 1 1.72 1.77 14.1599999 104.4300003 0.165479 -0.986213 1.0 +7812 1 1.72 0.0 15.9300004 104.4300003 -0.886945 0.461875 1.0 +7813 1 1.72 3.54 14.1599999 102.6600037 0.993145 0.116892 1.0 +7814 1 1.72 5.31 15.9300004 102.6600037 0.713946 -0.700201 1.0 +7815 1 1.72 5.31 14.1599999 104.4300003 -0.53919 -0.842184 1.0 +7816 1 1.72 3.54 15.9300004 104.4300003 0.787143 0.61677 1.0 +7817 1 1.72 7.0799999 14.1599999 102.6600037 0.706052 0.70816 1.0 +7818 1 1.72 8.8500004 15.9300004 102.6600037 -0.237864 -0.971299 1.0 +7819 1 1.72 8.8500004 14.1599999 104.4300003 -0.826909 -0.562335 1.0 +7820 1 1.72 7.0799999 15.9300004 104.4300003 0.99781 0.0661425 1.0 +7821 1 1.72 10.6199999 14.1599999 102.6600037 -0.610356 -0.792127 1.0 +7822 1 1.72 12.3900004 15.9300004 102.6600037 -0.987539 -0.157375 1.0 +7823 1 1.72 12.3900004 14.1599999 104.4300003 0.991128 -0.132914 1.0 +7824 1 1.72 10.6199999 15.9300004 104.4300003 -0.750294 -0.661104 1.0 +7825 1 1.72 14.1599999 14.1599999 102.6600037 -0.774968 0.632001 1.0 +7826 1 1.72 15.9300004 15.9300004 102.6600037 0.980467 -0.196685 1.0 +7827 1 1.72 15.9300004 14.1599999 104.4300003 0.176406 0.984317 1.0 +7828 1 1.72 14.1599999 15.9300004 104.4300003 0.758483 0.651693 1.0 +7829 1 1.72 17.7000008 14.1599999 102.6600037 0.625002 -0.780623 1.0 +7830 1 1.72 19.4699993 15.9300004 102.6600037 -0.972812 0.231598 1.0 +7831 1 1.72 19.4699993 14.1599999 104.4300003 -0.701726 0.712447 1.0 +7832 1 1.72 17.7000008 15.9300004 104.4300003 -0.922879 0.38509 1.0 +7833 1 1.72 21.2399998 14.1599999 102.6600037 0.744751 0.667342 1.0 +7834 1 1.72 23.0100002 15.9300004 102.6600037 -0.0190369 0.999819 1.0 +7835 1 1.72 23.0100002 14.1599999 104.4300003 0.13808 0.990421 1.0 +7836 1 1.72 21.2399998 15.9300004 104.4300003 0.897872 0.440257 1.0 +7837 1 1.72 24.7800007 14.1599999 102.6600037 -0.718894 -0.695119 1.0 +7838 1 1.72 26.5499993 15.9300004 102.6600037 -0.947431 -0.319961 1.0 +7839 1 1.72 26.5499993 14.1599999 104.4300003 0.721178 -0.69275 1.0 +7840 1 1.72 24.7800007 15.9300004 104.4300003 0.981006 -0.193977 1.0 +7841 1 1.72 0.0 17.7000008 102.6600037 0.846051 0.533102 1.0 +7842 1 1.72 1.77 19.4699993 102.6600037 0.731512 0.681829 1.0 +7843 1 1.72 1.77 17.7000008 104.4300003 0.994268 -0.106913 1.0 +7844 1 1.72 0.0 19.4699993 104.4300003 0.320925 0.947105 1.0 +7845 1 1.72 3.54 17.7000008 102.6600037 -0.78876 0.614701 1.0 +7846 1 1.72 5.31 19.4699993 102.6600037 -0.710711 0.703484 1.0 +7847 1 1.72 5.31 17.7000008 104.4300003 -0.841895 -0.539641 1.0 +7848 1 1.72 3.54 19.4699993 104.4300003 0.985732 0.16832 1.0 +7849 1 1.72 7.0799999 17.7000008 102.6600037 -0.136398 0.990654 1.0 +7850 1 1.72 8.8500004 19.4699993 102.6600037 -0.637513 0.770439 1.0 +7851 1 1.72 8.8500004 17.7000008 104.4300003 0.203727 -0.979028 1.0 +7852 1 1.72 7.0799999 19.4699993 104.4300003 -0.998625 0.052421 1.0 +7853 1 1.72 10.6199999 17.7000008 102.6600037 0.996195 0.0871547 1.0 +7854 1 1.72 12.3900004 19.4699993 102.6600037 0.788239 -0.615369 1.0 +7855 1 1.72 12.3900004 17.7000008 104.4300003 0.728306 0.685252 1.0 +7856 1 1.72 10.6199999 19.4699993 104.4300003 -0.712032 -0.702147 1.0 +7857 1 1.72 14.1599999 17.7000008 102.6600037 0.743198 -0.669072 1.0 +7858 1 1.72 15.9300004 19.4699993 102.6600037 -0.787311 -0.616557 1.0 +7859 1 1.72 15.9300004 17.7000008 104.4300003 -0.988099 -0.153818 1.0 +7860 1 1.72 14.1599999 19.4699993 104.4300003 0.484532 -0.874773 1.0 +7861 1 1.72 17.7000008 17.7000008 102.6600037 -0.71714 0.696929 1.0 +7862 1 1.72 19.4699993 19.4699993 102.6600037 -0.564687 -0.825305 1.0 +7863 1 1.72 19.4699993 17.7000008 104.4300003 -0.995283 -0.097017 1.0 +7864 1 1.72 17.7000008 19.4699993 104.4300003 -0.314585 0.949229 1.0 +7865 1 1.72 21.2399998 17.7000008 102.6600037 -0.555112 0.831776 1.0 +7866 1 1.72 23.0100002 19.4699993 102.6600037 -0.77956 0.626328 1.0 +7867 1 1.72 23.0100002 17.7000008 104.4300003 -0.805024 -0.593243 1.0 +7868 1 1.72 21.2399998 19.4699993 104.4300003 -0.916152 0.400831 1.0 +7869 1 1.72 24.7800007 17.7000008 102.6600037 -0.901623 -0.432523 1.0 +7870 1 1.72 26.5499993 19.4699993 102.6600037 0.788648 -0.614846 1.0 +7871 1 1.72 26.5499993 17.7000008 104.4300003 -0.81442 0.580276 1.0 +7872 1 1.72 24.7800007 19.4699993 104.4300003 0.366785 0.930306 1.0 +7873 1 1.72 0.0 21.2399998 102.6600037 0.286258 0.958152 1.0 +7874 1 1.72 1.77 23.0100002 102.6600037 -0.397 0.917819 1.0 +7875 1 1.72 1.77 21.2399998 104.4300003 0.470152 0.882585 1.0 +7876 1 1.72 0.0 23.0100002 104.4300003 0.75033 0.661063 1.0 +7877 1 1.72 3.54 21.2399998 102.6600037 -0.974879 0.222736 1.0 +7878 1 1.72 5.31 23.0100002 102.6600037 0.182825 0.983145 1.0 +7879 1 1.72 5.31 21.2399998 104.4300003 -0.10059 -0.994928 1.0 +7880 1 1.72 3.54 23.0100002 104.4300003 0.996002 -0.0893334 1.0 +7881 1 1.72 7.0799999 21.2399998 102.6600037 -0.0181344 0.999836 1.0 +7882 1 1.72 8.8500004 23.0100002 102.6600037 0.914625 -0.404304 1.0 +7883 1 1.72 8.8500004 21.2399998 104.4300003 -0.631742 -0.775178 1.0 +7884 1 1.72 7.0799999 23.0100002 104.4300003 -0.864958 0.501844 1.0 +7885 1 1.72 10.6199999 21.2399998 102.6600037 0.937049 0.349198 1.0 +7886 1 1.72 12.3900004 23.0100002 102.6600037 -0.620684 -0.784061 1.0 +7887 1 1.72 12.3900004 21.2399998 104.4300003 -0.291821 -0.956473 1.0 +7888 1 1.72 10.6199999 23.0100002 104.4300003 -0.920865 0.389883 1.0 +7889 1 1.72 14.1599999 21.2399998 102.6600037 0.324832 0.945772 1.0 +7890 1 1.72 15.9300004 23.0100002 102.6600037 -0.998544 -0.0539416 1.0 +7891 1 1.72 15.9300004 21.2399998 104.4300003 0.999017 0.044321 1.0 +7892 1 1.72 14.1599999 23.0100002 104.4300003 -0.999064 -0.0432479 1.0 +7893 1 1.72 17.7000008 21.2399998 102.6600037 -0.383492 0.923544 1.0 +7894 1 1.72 19.4699993 23.0100002 102.6600037 0.447994 -0.894037 1.0 +7895 1 1.72 19.4699993 21.2399998 104.4300003 0.622643 0.782506 1.0 +7896 1 1.72 17.7000008 23.0100002 104.4300003 0.997361 -0.0726039 1.0 +7897 1 1.72 21.2399998 21.2399998 102.6600037 -0.969731 -0.244176 1.0 +7898 1 1.72 23.0100002 23.0100002 102.6600037 0.769501 -0.638646 1.0 +7899 1 1.72 23.0100002 21.2399998 104.4300003 0.713758 0.700393 1.0 +7900 1 1.72 21.2399998 23.0100002 104.4300003 0.98485 -0.173407 1.0 +7901 1 1.72 24.7800007 21.2399998 102.6600037 -0.783911 0.620874 1.0 +7902 1 1.72 26.5499993 23.0100002 102.6600037 -0.130812 0.991407 1.0 +7903 1 1.72 26.5499993 21.2399998 104.4300003 -0.551451 0.834208 1.0 +7904 1 1.72 24.7800007 23.0100002 104.4300003 -0.73884 0.673881 1.0 +7905 1 1.72 0.0 24.7800007 102.6600037 0.855567 -0.517693 1.0 +7906 1 1.72 1.77 26.5499993 102.6600037 -0.885878 -0.463917 1.0 +7907 1 1.72 1.77 24.7800007 104.4300003 -0.996933 0.0782605 1.0 +7908 1 1.72 0.0 26.5499993 104.4300003 0.324929 -0.945738 1.0 +7909 1 1.72 3.54 24.7800007 102.6600037 0.542386 0.840129 1.0 +7910 1 1.72 5.31 26.5499993 102.6600037 0.771751 0.635925 1.0 +7911 1 1.72 5.31 24.7800007 104.4300003 0.200902 -0.979611 1.0 +7912 1 1.72 3.54 26.5499993 104.4300003 -0.771677 -0.636015 1.0 +7913 1 1.72 7.0799999 24.7800007 102.6600037 -0.983876 0.178852 1.0 +7914 1 1.72 8.8500004 26.5499993 102.6600037 0.672745 -0.739874 1.0 +7915 1 1.72 8.8500004 24.7800007 104.4300003 -0.665648 -0.746266 1.0 +7916 1 1.72 7.0799999 26.5499993 104.4300003 0.967365 -0.253386 1.0 +7917 1 1.72 10.6199999 24.7800007 102.6600037 0.450059 -0.892999 1.0 +7918 1 1.72 12.3900004 26.5499993 102.6600037 0.597121 -0.802151 1.0 +7919 1 1.72 12.3900004 24.7800007 104.4300003 0.99982 0.018953 1.0 +7920 1 1.72 10.6199999 26.5499993 104.4300003 -0.829992 -0.557776 1.0 +7921 1 1.72 14.1599999 24.7800007 102.6600037 0.956629 -0.291309 1.0 +7922 1 1.72 15.9300004 26.5499993 102.6600037 -0.0692161 -0.997602 1.0 +7923 1 1.72 15.9300004 24.7800007 104.4300003 -0.81727 -0.576256 1.0 +7924 1 1.72 14.1599999 26.5499993 104.4300003 0.919649 -0.39274 1.0 +7925 1 1.72 17.7000008 24.7800007 102.6600037 0.182673 0.983174 1.0 +7926 1 1.72 19.4699993 26.5499993 102.6600037 0.636883 0.770961 1.0 +7927 1 1.72 19.4699993 24.7800007 104.4300003 0.363522 0.931586 1.0 +7928 1 1.72 17.7000008 26.5499993 104.4300003 0.999343 0.0362372 1.0 +7929 1 1.72 21.2399998 24.7800007 102.6600037 0.568441 0.822724 1.0 +7930 1 1.72 23.0100002 26.5499993 102.6600037 0.205118 -0.978737 1.0 +7931 1 1.72 23.0100002 24.7800007 104.4300003 0.835399 0.549644 1.0 +7932 1 1.72 21.2399998 26.5499993 104.4300003 -0.684916 0.728622 1.0 +7933 1 1.72 24.7800007 24.7800007 102.6600037 0.422102 0.906548 1.0 +7934 1 1.72 26.5499993 26.5499993 102.6600037 -0.350216 0.936669 1.0 +7935 1 1.72 26.5499993 24.7800007 104.4300003 0.0798424 0.996808 1.0 +7936 1 1.72 24.7800007 26.5499993 104.4300003 -0.846981 -0.531623 1.0 +7937 1 1.72 0.0 14.1599999 106.199997 0.0235058 0.999724 1.0 +7938 1 1.72 1.77 15.9300004 106.199997 -0.67301 -0.739633 1.0 +7939 1 1.72 1.77 14.1599999 107.9700012 -0.234939 -0.97201 1.0 +7940 1 1.72 0.0 15.9300004 107.9700012 0.997354 0.0727014 1.0 +7941 1 1.72 3.54 14.1599999 106.199997 -0.999858 0.0168258 1.0 +7942 1 1.72 5.31 15.9300004 106.199997 -0.342273 0.9396 1.0 +7943 1 1.72 5.31 14.1599999 107.9700012 -0.342701 0.939444 1.0 +7944 1 1.72 3.54 15.9300004 107.9700012 0.612049 -0.790819 1.0 +7945 1 1.72 7.0799999 14.1599999 106.199997 0.337695 -0.941256 1.0 +7946 1 1.72 8.8500004 15.9300004 106.199997 0.138222 0.990401 1.0 +7947 1 1.72 8.8500004 14.1599999 107.9700012 -0.998189 0.0601586 1.0 +7948 1 1.72 7.0799999 15.9300004 107.9700012 -0.120382 0.992728 1.0 +7949 1 1.72 10.6199999 14.1599999 106.199997 -0.269411 -0.963025 1.0 +7950 1 1.72 12.3900004 15.9300004 106.199997 0.0430112 0.999075 1.0 +7951 1 1.72 12.3900004 14.1599999 107.9700012 0.840409 -0.541953 1.0 +7952 1 1.72 10.6199999 15.9300004 107.9700012 -0.609328 -0.792918 1.0 +7953 1 1.72 14.1599999 14.1599999 106.199997 -0.883102 -0.469181 1.0 +7954 1 1.72 15.9300004 15.9300004 106.199997 -0.858513 -0.512791 1.0 +7955 1 1.72 15.9300004 14.1599999 107.9700012 0.973326 -0.229426 1.0 +7956 1 1.72 14.1599999 15.9300004 107.9700012 -0.180664 -0.983545 1.0 +7957 1 1.72 17.7000008 14.1599999 106.199997 -0.138677 -0.990338 1.0 +7958 1 1.72 19.4699993 15.9300004 106.199997 0.983145 0.182825 1.0 +7959 1 1.72 19.4699993 14.1599999 107.9700012 0.211545 -0.977368 1.0 +7960 1 1.72 17.7000008 15.9300004 107.9700012 -0.502641 0.864495 1.0 +7961 1 1.72 21.2399998 14.1599999 106.199997 0.224991 0.974361 1.0 +7962 1 1.72 23.0100002 15.9300004 106.199997 0.93058 0.366088 1.0 +7963 1 1.72 23.0100002 14.1599999 107.9700012 0.307645 -0.951501 1.0 +7964 1 1.72 21.2399998 15.9300004 107.9700012 -0.749363 0.662159 1.0 +7965 1 1.72 24.7800007 14.1599999 106.199997 0.893633 -0.448799 1.0 +7966 1 1.72 26.5499993 15.9300004 106.199997 -0.560742 -0.827991 1.0 +7967 1 1.72 26.5499993 14.1599999 107.9700012 0.794338 0.607476 1.0 +7968 1 1.72 24.7800007 15.9300004 107.9700012 -0.295801 -0.955249 1.0 +7969 1 1.72 0.0 17.7000008 106.199997 -0.59001 -0.807396 1.0 +7970 1 1.72 1.77 19.4699993 106.199997 -0.875886 -0.482518 1.0 +7971 1 1.72 1.77 17.7000008 107.9700012 -0.832003 0.554771 1.0 +7972 1 1.72 0.0 19.4699993 107.9700012 -0.406725 -0.913551 1.0 +7973 1 1.72 3.54 17.7000008 106.199997 0.721355 -0.692566 1.0 +7974 1 1.72 5.31 19.4699993 106.199997 0.0305422 0.999533 1.0 +7975 1 1.72 5.31 17.7000008 107.9700012 -0.0795884 -0.996828 1.0 +7976 1 1.72 3.54 19.4699993 107.9700012 0.0140007 -0.999902 1.0 +7977 1 1.72 7.0799999 17.7000008 106.199997 -0.94189 0.335921 1.0 +7978 1 1.72 8.8500004 19.4699993 106.199997 0.524096 0.851659 1.0 +7979 1 1.72 8.8500004 17.7000008 107.9700012 0.855792 0.51732 1.0 +7980 1 1.72 7.0799999 19.4699993 107.9700012 0.746658 -0.665208 1.0 +7981 1 1.72 10.6199999 17.7000008 106.199997 0.784228 -0.620473 1.0 +7982 1 1.72 12.3900004 19.4699993 106.199997 -0.907146 0.420817 1.0 +7983 1 1.72 12.3900004 17.7000008 107.9700012 -0.954707 0.297549 1.0 +7984 1 1.72 10.6199999 19.4699993 107.9700012 0.226297 -0.974058 1.0 +7985 1 1.72 14.1599999 17.7000008 106.199997 -0.91913 0.393955 1.0 +7986 1 1.72 15.9300004 19.4699993 106.199997 -0.998259 -0.0589852 1.0 +7987 1 1.72 15.9300004 17.7000008 107.9700012 -0.749372 -0.662149 1.0 +7988 1 1.72 14.1599999 19.4699993 107.9700012 -0.586105 -0.810235 1.0 +7989 1 1.72 17.7000008 17.7000008 106.199997 0.818487 -0.574525 1.0 +7990 1 1.72 19.4699993 19.4699993 106.199997 0.131836 0.991272 1.0 +7991 1 1.72 19.4699993 17.7000008 107.9700012 -0.456832 0.889553 1.0 +7992 1 1.72 17.7000008 19.4699993 107.9700012 -0.194103 -0.980981 1.0 +7993 1 1.72 21.2399998 17.7000008 106.199997 -0.0928376 0.995681 1.0 +7994 1 1.72 23.0100002 19.4699993 106.199997 -0.796606 -0.604498 1.0 +7995 1 1.72 23.0100002 17.7000008 107.9700012 -0.951358 -0.308086 1.0 +7996 1 1.72 21.2399998 19.4699993 107.9700012 0.794297 -0.60753 1.0 +7997 1 1.72 24.7800007 17.7000008 106.199997 0.970816 -0.239828 1.0 +7998 1 1.72 26.5499993 19.4699993 106.199997 -0.697499 -0.716586 1.0 +7999 1 1.72 26.5499993 17.7000008 107.9700012 0.630414 -0.776259 1.0 +8000 1 1.72 24.7800007 19.4699993 107.9700012 -0.414321 0.910131 1.0 +8001 1 1.72 0.0 21.2399998 106.199997 0.367314 0.930097 1.0 +8002 1 1.72 1.77 23.0100002 106.199997 0.929855 -0.367926 1.0 +8003 1 1.72 1.77 21.2399998 107.9700012 0.399758 -0.916621 1.0 +8004 1 1.72 0.0 23.0100002 107.9700012 0.950228 -0.311555 1.0 +8005 1 1.72 3.54 21.2399998 106.199997 0.542333 0.840164 1.0 +8006 1 1.72 5.31 23.0100002 106.199997 0.645661 -0.763624 1.0 +8007 1 1.72 5.31 21.2399998 107.9700012 0.685041 -0.728504 1.0 +8008 1 1.72 3.54 23.0100002 107.9700012 0.856821 0.515613 1.0 +8009 1 1.72 7.0799999 21.2399998 106.199997 -0.759673 0.650305 1.0 +8010 1 1.72 8.8500004 23.0100002 106.199997 -0.980243 0.197796 1.0 +8011 1 1.72 8.8500004 21.2399998 107.9700012 0.194678 -0.980867 1.0 +8012 1 1.72 7.0799999 23.0100002 107.9700012 0.593868 0.804563 1.0 +8013 1 1.72 10.6199999 21.2399998 106.199997 0.1006 -0.994927 1.0 +8014 1 1.72 12.3900004 23.0100002 106.199997 -0.730997 0.68238 1.0 +8015 1 1.72 12.3900004 21.2399998 107.9700012 0.996593 0.0824784 1.0 +8016 1 1.72 10.6199999 23.0100002 107.9700012 -0.289244 0.957255 1.0 +8017 1 1.72 14.1599999 21.2399998 106.199997 0.978422 -0.206617 1.0 +8018 1 1.72 15.9300004 23.0100002 106.199997 0.858283 0.513177 1.0 +8019 1 1.72 15.9300004 21.2399998 107.9700012 -0.817296 -0.576219 1.0 +8020 1 1.72 14.1599999 23.0100002 107.9700012 0.254198 0.967152 1.0 +8021 1 1.72 17.7000008 21.2399998 106.199997 -0.525053 -0.851069 1.0 +8022 1 1.72 19.4699993 23.0100002 106.199997 0.880454 -0.474132 1.0 +8023 1 1.72 19.4699993 21.2399998 107.9700012 -0.95547 -0.295088 1.0 +8024 1 1.72 17.7000008 23.0100002 107.9700012 -0.995394 0.0958685 1.0 +8025 1 1.72 21.2399998 21.2399998 106.199997 0.294309 -0.95571 1.0 +8026 1 1.72 23.0100002 23.0100002 106.199997 0.999976 0.00686959 1.0 +8027 1 1.72 23.0100002 21.2399998 107.9700012 0.964871 -0.262724 1.0 +8028 1 1.72 21.2399998 23.0100002 107.9700012 -0.93148 0.363794 1.0 +8029 1 1.72 24.7800007 21.2399998 106.199997 0.538866 0.842391 1.0 +8030 1 1.72 26.5499993 23.0100002 106.199997 -0.806887 0.590706 1.0 +8031 1 1.72 26.5499993 21.2399998 107.9700012 0.790491 0.612474 1.0 +8032 1 1.72 24.7800007 23.0100002 107.9700012 0.664179 0.747574 1.0 +8033 1 1.72 0.0 24.7800007 106.199997 0.999409 -0.0343895 1.0 +8034 1 1.72 1.77 26.5499993 106.199997 -0.762063 -0.647503 1.0 +8035 1 1.72 1.77 24.7800007 107.9700012 0.549304 -0.835623 1.0 +8036 1 1.72 0.0 26.5499993 107.9700012 0.496016 -0.868313 1.0 +8037 1 1.72 3.54 24.7800007 106.199997 -0.583021 0.812457 1.0 +8038 1 1.72 5.31 26.5499993 106.199997 0.922664 0.385605 1.0 +8039 1 1.72 5.31 24.7800007 107.9700012 0.751487 -0.659747 1.0 +8040 1 1.72 3.54 26.5499993 107.9700012 0.131462 -0.991321 1.0 +8041 1 1.72 7.0799999 24.7800007 106.199997 -0.489419 -0.872049 1.0 +8042 1 1.72 8.8500004 26.5499993 106.199997 0.342979 0.939343 1.0 +8043 1 1.72 8.8500004 24.7800007 107.9700012 -0.462518 0.88661 1.0 +8044 1 1.72 7.0799999 26.5499993 107.9700012 -0.999893 0.0146542 1.0 +8045 1 1.72 10.6199999 24.7800007 106.199997 -0.522321 -0.852749 1.0 +8046 1 1.72 12.3900004 26.5499993 106.199997 0.596773 0.80241 1.0 +8047 1 1.72 12.3900004 24.7800007 107.9700012 0.560211 -0.82835 1.0 +8048 1 1.72 10.6199999 26.5499993 107.9700012 0.792026 -0.610487 1.0 +8049 1 1.72 14.1599999 24.7800007 106.199997 0.362454 -0.932002 1.0 +8050 1 1.72 15.9300004 26.5499993 106.199997 0.964069 0.265653 1.0 +8051 1 1.72 15.9300004 24.7800007 107.9700012 0.939727 0.341925 1.0 +8052 1 1.72 14.1599999 26.5499993 107.9700012 0.874482 -0.485058 1.0 +8053 1 1.72 17.7000008 24.7800007 106.199997 -0.965123 -0.261795 1.0 +8054 1 1.72 19.4699993 26.5499993 106.199997 -0.998076 0.0620007 1.0 +8055 1 1.72 19.4699993 24.7800007 107.9700012 -0.3918 -0.920051 1.0 +8056 1 1.72 17.7000008 26.5499993 107.9700012 0.638895 -0.769294 1.0 +8057 1 1.72 21.2399998 24.7800007 106.199997 -0.253481 -0.96734 1.0 +8058 1 1.72 23.0100002 26.5499993 106.199997 0.99744 -0.0715016 1.0 +8059 1 1.72 23.0100002 24.7800007 107.9700012 -0.772384 -0.635156 1.0 +8060 1 1.72 21.2399998 26.5499993 107.9700012 0.998532 -0.0541581 1.0 +8061 1 1.72 24.7800007 24.7800007 106.199997 -0.996903 0.0786397 1.0 +8062 1 1.72 26.5499993 26.5499993 106.199997 -0.228243 -0.973604 1.0 +8063 1 1.72 26.5499993 24.7800007 107.9700012 0.937775 0.347244 1.0 +8064 1 1.72 24.7800007 26.5499993 107.9700012 0.763881 0.645357 1.0 +8065 1 1.72 0.0 14.1599999 109.7399979 -0.999997 0.00262531 1.0 +8066 1 1.72 1.77 15.9300004 109.7399979 -0.997339 -0.0729054 1.0 +8067 1 1.72 1.77 14.1599999 111.5100022 0.248085 0.968738 1.0 +8068 1 1.72 0.0 15.9300004 111.5100022 0.942297 -0.334778 1.0 +8069 1 1.72 3.54 14.1599999 109.7399979 -0.99867 0.0515492 1.0 +8070 1 1.72 5.31 15.9300004 109.7399979 -0.0854102 0.996346 1.0 +8071 1 1.72 5.31 14.1599999 111.5100022 -0.677764 -0.73528 1.0 +8072 1 1.72 3.54 15.9300004 111.5100022 -0.774162 0.632988 1.0 +8073 1 1.72 7.0799999 14.1599999 109.7399979 -0.880261 0.47449 1.0 +8074 1 1.72 8.8500004 15.9300004 109.7399979 0.583813 -0.811888 1.0 +8075 1 1.72 8.8500004 14.1599999 111.5100022 -0.85971 -0.510782 1.0 +8076 1 1.72 7.0799999 15.9300004 111.5100022 0.340665 0.940185 1.0 +8077 1 1.72 10.6199999 14.1599999 109.7399979 -0.955138 0.296162 1.0 +8078 1 1.72 12.3900004 15.9300004 109.7399979 -0.866352 0.499434 1.0 +8079 1 1.72 12.3900004 14.1599999 111.5100022 -0.995464 -0.0951342 1.0 +8080 1 1.72 10.6199999 15.9300004 111.5100022 0.471157 -0.882049 1.0 +8081 1 1.72 14.1599999 14.1599999 109.7399979 -0.700944 -0.713216 1.0 +8082 1 1.72 15.9300004 15.9300004 109.7399979 0.982164 -0.188026 1.0 +8083 1 1.72 15.9300004 14.1599999 111.5100022 0.661595 -0.749862 1.0 +8084 1 1.72 14.1599999 15.9300004 111.5100022 0.894789 0.446489 1.0 +8085 1 1.72 17.7000008 14.1599999 109.7399979 -0.59649 0.802621 1.0 +8086 1 1.72 19.4699993 15.9300004 109.7399979 0.945592 -0.325356 1.0 +8087 1 1.72 19.4699993 14.1599999 111.5100022 0.237079 -0.97149 1.0 +8088 1 1.72 17.7000008 15.9300004 111.5100022 0.541095 -0.840961 1.0 +8089 1 1.72 21.2399998 14.1599999 109.7399979 0.547786 0.836619 1.0 +8090 1 1.72 23.0100002 15.9300004 109.7399979 -0.810246 0.58609 1.0 +8091 1 1.72 23.0100002 14.1599999 111.5100022 -0.0396045 -0.999215 1.0 +8092 1 1.72 21.2399998 15.9300004 111.5100022 0.999244 0.0388725 1.0 +8093 1 1.72 24.7800007 14.1599999 109.7399979 -0.995393 -0.0958841 1.0 +8094 1 1.72 26.5499993 15.9300004 109.7399979 0.707666 -0.706547 1.0 +8095 1 1.72 26.5499993 14.1599999 111.5100022 -0.857797 0.513989 1.0 +8096 1 1.72 24.7800007 15.9300004 111.5100022 0.688346 0.725383 1.0 +8097 1 1.72 0.0 17.7000008 109.7399979 0.453695 0.891157 1.0 +8098 1 1.72 1.77 19.4699993 109.7399979 -0.869991 0.493068 1.0 +8099 1 1.72 1.77 17.7000008 111.5100022 -0.828945 0.55933 1.0 +8100 1 1.72 0.0 19.4699993 111.5100022 -0.578312 -0.815815 1.0 +8101 1 1.72 3.54 17.7000008 109.7399979 -0.474111 -0.880465 1.0 +8102 1 1.72 5.31 19.4699993 109.7399979 -0.953145 0.302515 1.0 +8103 1 1.72 5.31 17.7000008 111.5100022 -0.662482 0.749078 1.0 +8104 1 1.72 3.54 19.4699993 111.5100022 -0.673709 0.738997 1.0 +8105 1 1.72 7.0799999 17.7000008 109.7399979 0.703708 0.71049 1.0 +8106 1 1.72 8.8500004 19.4699993 109.7399979 -0.962777 0.270298 1.0 +8107 1 1.72 8.8500004 17.7000008 111.5100022 -0.409325 0.912389 1.0 +8108 1 1.72 7.0799999 19.4699993 111.5100022 0.992278 0.12403 1.0 +8109 1 1.72 10.6199999 17.7000008 109.7399979 -0.256869 -0.966446 1.0 +8110 1 1.72 12.3900004 19.4699993 109.7399979 -0.81811 0.575062 1.0 +8111 1 1.72 12.3900004 17.7000008 111.5100022 0.944442 -0.328678 1.0 +8112 1 1.72 10.6199999 19.4699993 111.5100022 -0.790776 0.612106 1.0 +8113 1 1.72 14.1599999 17.7000008 109.7399979 0.99885 0.047945 1.0 +8114 1 1.72 15.9300004 19.4699993 109.7399979 -0.75767 0.652638 1.0 +8115 1 1.72 15.9300004 17.7000008 111.5100022 0.104479 -0.994527 1.0 +8116 1 1.72 14.1599999 19.4699993 111.5100022 -0.366155 -0.930554 1.0 +8117 1 1.72 17.7000008 17.7000008 109.7399979 -0.100712 0.994916 1.0 +8118 1 1.72 19.4699993 19.4699993 109.7399979 0.20119 -0.979552 1.0 +8119 1 1.72 19.4699993 17.7000008 111.5100022 0.7043 -0.709902 1.0 +8120 1 1.72 17.7000008 19.4699993 111.5100022 0.995221 -0.0976515 1.0 +8121 1 1.72 21.2399998 17.7000008 109.7399979 0.0913868 0.995815 1.0 +8122 1 1.72 23.0100002 19.4699993 109.7399979 -0.783334 0.6216 1.0 +8123 1 1.72 23.0100002 17.7000008 111.5100022 0.762993 0.646407 1.0 +8124 1 1.72 21.2399998 19.4699993 111.5100022 0.969106 -0.246644 1.0 +8125 1 1.72 24.7800007 17.7000008 109.7399979 -0.99318 -0.116594 1.0 +8126 1 1.72 26.5499993 19.4699993 109.7399979 0.751321 -0.659937 1.0 +8127 1 1.72 26.5499993 17.7000008 111.5100022 -0.41311 -0.910681 1.0 +8128 1 1.72 24.7800007 19.4699993 111.5100022 -0.231533 0.972827 1.0 +8129 1 1.72 0.0 21.2399998 109.7399979 -0.638342 -0.769753 1.0 +8130 1 1.72 1.77 23.0100002 109.7399979 -0.358386 -0.933574 1.0 +8131 1 1.72 1.77 21.2399998 111.5100022 0.0433983 -0.999058 1.0 +8132 1 1.72 0.0 23.0100002 111.5100022 -0.986115 -0.166067 1.0 +8133 1 1.72 3.54 21.2399998 109.7399979 0.996583 0.082601 1.0 +8134 1 1.72 5.31 23.0100002 109.7399979 -0.865815 0.500364 1.0 +8135 1 1.72 5.31 21.2399998 111.5100022 0.446465 0.894801 1.0 +8136 1 1.72 3.54 23.0100002 111.5100022 0.701589 -0.712582 1.0 +8137 1 1.72 7.0799999 21.2399998 109.7399979 0.994388 0.105798 1.0 +8138 1 1.72 8.8500004 23.0100002 109.7399979 0.779675 0.626184 1.0 +8139 1 1.72 8.8500004 21.2399998 111.5100022 -0.913378 0.407112 1.0 +8140 1 1.72 7.0799999 23.0100002 111.5100022 -0.974435 0.22467 1.0 +8141 1 1.72 10.6199999 21.2399998 109.7399979 0.0180628 0.999837 1.0 +8142 1 1.72 12.3900004 23.0100002 109.7399979 -0.393018 0.919531 1.0 +8143 1 1.72 12.3900004 21.2399998 111.5100022 0.171283 -0.985222 1.0 +8144 1 1.72 10.6199999 23.0100002 111.5100022 0.853928 0.520391 1.0 +8145 1 1.72 14.1599999 21.2399998 109.7399979 -0.893534 -0.448996 1.0 +8146 1 1.72 15.9300004 23.0100002 109.7399979 0.783901 0.620886 1.0 +8147 1 1.72 15.9300004 21.2399998 111.5100022 -0.636441 0.771326 1.0 +8148 1 1.72 14.1599999 23.0100002 111.5100022 -0.62653 0.779398 1.0 +8149 1 1.72 17.7000008 21.2399998 109.7399979 -0.426717 -0.904385 1.0 +8150 1 1.72 19.4699993 23.0100002 109.7399979 0.150477 -0.988614 1.0 +8151 1 1.72 19.4699993 21.2399998 111.5100022 0.993032 -0.117843 1.0 +8152 1 1.72 17.7000008 23.0100002 111.5100022 -0.858474 -0.512857 1.0 +8153 1 1.72 21.2399998 21.2399998 109.7399979 0.671527 -0.74098 1.0 +8154 1 1.72 23.0100002 23.0100002 109.7399979 0.724398 -0.689382 1.0 +8155 1 1.72 23.0100002 21.2399998 111.5100022 -0.533734 -0.845652 1.0 +8156 1 1.72 21.2399998 23.0100002 111.5100022 0.446337 0.894865 1.0 +8157 1 1.72 24.7800007 21.2399998 109.7399979 0.100506 -0.994936 1.0 +8158 1 1.72 26.5499993 23.0100002 109.7399979 0.663547 -0.748135 1.0 +8159 1 1.72 26.5499993 21.2399998 111.5100022 -0.838999 0.544134 1.0 +8160 1 1.72 24.7800007 23.0100002 111.5100022 -0.412355 -0.911023 1.0 +8161 1 1.72 0.0 24.7800007 109.7399979 -0.768577 -0.639757 1.0 +8162 1 1.72 1.77 26.5499993 109.7399979 0.876973 -0.480539 1.0 +8163 1 1.72 1.77 24.7800007 111.5100022 0.940988 0.33844 1.0 +8164 1 1.72 0.0 26.5499993 111.5100022 -0.739484 -0.673174 1.0 +8165 1 1.72 3.54 24.7800007 109.7399979 0.463964 0.885854 1.0 +8166 1 1.72 5.31 26.5499993 109.7399979 0.834599 0.550857 1.0 +8167 1 1.72 5.31 24.7800007 111.5100022 -0.414423 -0.910084 1.0 +8168 1 1.72 3.54 26.5499993 111.5100022 0.209991 0.977703 1.0 +8169 1 1.72 7.0799999 24.7800007 109.7399979 -0.200071 -0.979781 1.0 +8170 1 1.72 8.8500004 26.5499993 109.7399979 -0.593916 0.804527 1.0 +8171 1 1.72 8.8500004 24.7800007 111.5100022 -0.976341 -0.216238 1.0 +8172 1 1.72 7.0799999 26.5499993 111.5100022 0.892014 -0.452008 1.0 +8173 1 1.72 10.6199999 24.7800007 109.7399979 0.262541 0.964921 1.0 +8174 1 1.72 12.3900004 26.5499993 109.7399979 -0.541535 -0.840678 1.0 +8175 1 1.72 12.3900004 24.7800007 111.5100022 0.789328 0.613972 1.0 +8176 1 1.72 10.6199999 26.5499993 111.5100022 0.500046 0.865999 1.0 +8177 1 1.72 14.1599999 24.7800007 109.7399979 0.353277 0.935519 1.0 +8178 1 1.72 15.9300004 26.5499993 109.7399979 0.604788 0.796387 1.0 +8179 1 1.72 15.9300004 24.7800007 111.5100022 0.840508 -0.541799 1.0 +8180 1 1.72 14.1599999 26.5499993 111.5100022 0.296351 -0.955079 1.0 +8181 1 1.72 17.7000008 24.7800007 109.7399979 -0.957237 0.289304 1.0 +8182 1 1.72 19.4699993 26.5499993 109.7399979 0.344119 -0.938926 1.0 +8183 1 1.72 19.4699993 24.7800007 111.5100022 -0.989355 -0.145521 1.0 +8184 1 1.72 17.7000008 26.5499993 111.5100022 0.787109 0.616813 1.0 +8185 1 1.72 21.2399998 24.7800007 109.7399979 -0.321766 0.946819 1.0 +8186 1 1.72 23.0100002 26.5499993 109.7399979 -0.647284 -0.762249 1.0 +8187 1 1.72 23.0100002 24.7800007 111.5100022 -0.999094 0.0425548 1.0 +8188 1 1.72 21.2399998 26.5499993 111.5100022 -0.33438 0.942438 1.0 +8189 1 1.72 24.7800007 24.7800007 109.7399979 0.960667 -0.277704 1.0 +8190 1 1.72 26.5499993 26.5499993 109.7399979 0.822147 -0.569276 1.0 +8191 1 1.72 26.5499993 24.7800007 111.5100022 0.915832 -0.401561 1.0 +8192 1 1.72 24.7800007 26.5499993 111.5100022 -0.746316 -0.665592 1.0 diff --git a/examples/SPIN/in.spin.cobalt b/examples/SPIN/in.spin.cobalt index 8147aad5fc..cb64c65f5c 100644 --- a/examples/SPIN/in.spin.cobalt +++ b/examples/SPIN/in.spin.cobalt @@ -6,7 +6,7 @@ clear units metal dimension 3 boundary p p p -#boundary f f f +#boundary p p f #newton off @@ -48,39 +48,42 @@ velocity all create 200 4928459 rot yes dist gaussian #pair_style pair/spin/exchange 4.0 #pair_style eam/alloy #pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co #pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co -#pair_style pair/spin 4.0 +#pair_style pair/spin/exchange 4.0 #type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) #pair_coeff * * exchange 4.0 -0.0446928 0.003496 1.4885 #pair_coeff * * exchange 4.0 0.0 0.003496 1.4885 -pair_coeff * * pair/spin/exchange exchange 4.0 -0.0446928 0.003496 1.4885 +#pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 #type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) #pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 #pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 #type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) -#pair_coeff * * pair/spin/soc/neel neel 4.0 -0.003330282 0.864159 2.13731 +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 +pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.0 0.864159 2.13731 #Define a skin distance, update neigh list every -#neighbor 1.0 bin +#neighbor 0.1 bin #neigh_modify every 10 check yes delay 20 -neighbor 1.0 bin -neigh_modify every 1 check no delay 0 +neighbor 0.1 bin +neigh_modify every 1 check no delay 0 #Magnetic field fix #Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 +#fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.01 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) #Temp | Alpha_trans | Alpha_long | Seed #fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 0.0 0.0 0.0 21 +#fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix fix 3 all integration/spin mpi @@ -105,16 +108,17 @@ variable magnorm equal c_out_mag[5] variable emag equal c_out_mag[6] variable tmag equal c_out_mag[7] variable mag_force equal f_1 +#variable test equal etotal-0.5*c_out_mag[6] thermo 10 #thermo_style custom step time v_emag c_out_pe c_out_ke c_out_temp v_mag_force v_magnorm v_tmag etotal -thermo_style custom step time v_tmag v_magz v_magnorm etotal +thermo_style custom step time v_magnorm v_emag v_tmag temp etotal thermo_modify format float %20.15g #Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 500 dump_VSRSV.lammpstrj type x y z spx spy spz +dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -#run 100 +#run 1 run 10000 diff --git a/examples/SPIN/in.spin.read_data b/examples/SPIN/in.spin.read_data new file mode 100644 index 0000000000..81d654ad5b --- /dev/null +++ b/examples/SPIN/in.spin.read_data @@ -0,0 +1,88 @@ +################### +#######Init######## +################### + +clear +units metal +dimension 3 +boundary p p p +#boundary f f f + +#setting atom_style to spin: +atom_style spin + +atom_modify map array + +########################### +#######Create atoms######## +########################### + +read_data ../examples/SPIN/Norm_randXY_8x8x32_test.data + +####################### +#######Settings######## +####################### + +#Setting one or more properties of one or more atoms. +mass 1 58.93 + +#velocity all create 200 4928459 rot yes dist gaussian + +#Magneto-mechanic interactions for bulk fcc Cobalt +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 + +# cobalt eam potential +pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co + +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 + +#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) +pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 + +#Define a skin distance, update neigh list every +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 1.0 bin +neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all integration/spin serial + +#Setting the timestep for the simulation (in ps) +timestep 0.0001 + +################## +#######run######## +################## + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 + +thermo 10 +thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo_modify format float %20.15g + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 1 dump.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 10 +#run 10000 + diff --git a/examples/SPIN/in.spin.restart b/examples/SPIN/in.spin.restart new file mode 100644 index 0000000000..bd9e0716e9 --- /dev/null +++ b/examples/SPIN/in.spin.restart @@ -0,0 +1,109 @@ +################### +#######Init######## +################### + +clear +units metal +dimension 3 +boundary p p p +#boundary f f f + +#newton off + +#setting atom_style to spin: +atom_style spin + +#Define sort for paramagnetic simulations (if no pair interaction) +#atom_modify sort 1000 4.0 + +atom_modify map array + +########################### +#######Create atoms######## +########################### + +lattice fcc 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +#create_atoms 1 box + +#read_dump dump_cobalt.lammpstrj 500 x y z vx vy vz box yes +read_dump ../examples/SPIN/Norm_randXY_8x8x32.dump 0 x y z box yes + +create_atoms 1 box + +####################### +#######Settings######## +####################### + +#isolating 1 atom into a group +group single_spin id 10 + +#Setting one or more properties of one or more atoms. +mass 1 58.93 + +#Setting spins orientation and moment +#set group all spin/random 31 1.72 +set group all spin 1.72 0.0 0.0 1.0 +set group single_spin spin/random 11 1.72 + +velocity all create 200 4928459 rot yes dist gaussian + +#Magneto-mechanic interactions for bulk fcc Cobalt +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 + +# cobalt eam potential +pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co + +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 + +#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) +pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 + +#Define a skin distance, update neigh list every +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 1.0 bin +neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all integration/spin serial + +#Setting the timestep for the simulation (in ps) +timestep 0.0001 + +################## +#######run######## +################## + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 + +thermo 10 +thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo_modify format float %20.15g + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 20 dump.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 100 +#run 10000 + diff --git a/examples/SPIN/vmd_nano.vmd b/examples/SPIN/vmd_nano.vmd new file mode 100644 index 0000000000..f9e3454270 --- /dev/null +++ b/examples/SPIN/vmd_nano.vmd @@ -0,0 +1,79 @@ +proc vmd_draw_arrow {mol start end} { + set middle [vecadd $start [vecscale 0.9 [vecsub $end $start]]] + graphics $mol cylinder $start $middle radius 0.05 + graphics $mol cone $middle $end radius 0.01 color 3 +} + +proc vmd_draw_vector {args} { + set usage {"draw vector {x1 y1 z1} {x2 y2 z2} [scale ] [resolution ] [radius ] [filled ]"} + # defaults + set scale 2.0 + set res 50 + set radius 0.1 + set filled yes + + if {[llength $args] < 3} { + error "wrong # args: should be $usage" + } + set mol [lindex $args 0] + set center [lindex $args 1] + set vector [lindex $args 2] + if {[llength $center] != 3 || [llength $vector] != 3} { + error "wrong type of args: should be $usage" + } + + foreach {flag value} [lrange $args 3 end] { + switch -glob $flag { + scale {set scale $value} + res* {set res $value} + rad* {set radius $value} + fill* {set filled $value} + default {error "unknown option '$flag': should be $usage" } + } + } + + set vechalf [vecscale [expr $scale * 0.5] $vector] + return [list \ + [graphics $mol color yellow]\ + [graphics $mol cylinder [vecsub $center $vechalf]\ + [vecadd $center [vecscale 0.7 $vechalf]] \ + radius $radius resolution $res filled $filled] \ + [graphics $mol color orange]\ + [graphics $mol cone [vecadd $center [vecscale 0.6 $vechalf]] \ + [vecadd $center $vechalf] radius [expr $radius * 2.5] \ + resolution $res]] +} + +proc vmd_draw_spin {args} { + global molid + graphics $molid delete all + set frame [molinfo $molid get frame] + set natoms [molinfo $molid get numatoms] + for {set i 0} {$i < $natoms} {incr i} { + set sel [atomselect top "index $i"] +# set sel [atomselect top "index 1200"] + set coords [lindex [$sel get {x y z}] $molid] + set velocities [lindex [$sel get {vx vy vz}] $molid] + draw vector $coords $velocities + set uvx [lindex [$sel get {vx}] $molid] + set uvy [lindex [$sel get {vy}] $molid] + set uvz [lindex [$sel get {vz}] $molid] + $sel set user [vecadd [vecadd [vecscale $uvy $uvy] [vecscale $uvz $uvz] ] [vecscale $uvx $uvx]] + $sel set user $uvy + #draw vector $coords {0.0 uvy 0.0} + } + #pbc box -color 3 +} + +proc enable_trace {} { + global vmd_frame + trace variable vmd_frame([molinfo top]) w vmd_draw_spin + } + +set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] +scale by 0.5 +animate style Loop +enable_trace + + + diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 8edf8211ca..3f0f9e02bc 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -45,7 +45,7 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) size_reverse = 6; size_border = 11; size_velocity = 3; - size_data_atom = 10; // to check later + size_data_atom = 9; // to check later size_data_vel = 4; xcol_data = 4; diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index 1fd0e25d4c..69ed8ed0e8 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -55,7 +55,8 @@ enum{NONE,SPIN}; FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), - rsec(NULL), k(NULL), adv_list(NULL), + rsec(NULL), stack_head(NULL), stack_foot(NULL), + backward_stacks(NULL), forward_stacks(NULL), lockpairspinexchange(NULL), lockpairspinsocneel(NULL), lockforcespin(NULL), locklangevinspin(NULL) { @@ -82,7 +83,8 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Fix integration/spin requires spin attribute mumag"); magpair_flag = 0; - exch_flag = soc_flag = 0; + exch_flag = 0; + soc_neel_flag = soc_dmi_flag = 0; magforce_flag = 0; zeeman_flag = aniso_flag = 0; maglangevin_flag = 0; @@ -91,12 +93,15 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : } /* ---------------------------------------------------------------------- */ + FixIntegrationSpin::~FixIntegrationSpin() { - memory->destroy(k); - memory->destroy(adv_list); - + memory->destroy(rsec); + memory->destroy(stack_head); + memory->destroy(stack_foot); + memory->destroy(forward_stacks); + memory->destroy(backward_stacks); } @@ -106,6 +111,7 @@ int FixIntegrationSpin::setmask() { int mask = 0; mask |= INITIAL_INTEGRATE; + mask |= PRE_NEIGHBOR; mask |= FINAL_INTEGRATE; return mask; } @@ -126,8 +132,11 @@ void FixIntegrationSpin::init() exch_flag = 1; lockpairspinexchange = (PairSpinExchange *) force->pair; } else if (strstr(force->pair_style,"pair/spin/soc/neel")) { - soc_flag = 1; + soc_neel_flag = 1; lockpairspinsocneel = (PairSpinSocNeel *) force->pair; + } else if (strstr(force->pair_style,"pair/spin/soc/dmi")) { + soc_dmi_flag = 1; + lockpairspinsocdmi = (PairSpinSocDmi *) force->pair; } else if (strstr(force->pair_style,"hybrid/overlay")) { PairHybrid *lockhybrid = (PairHybrid *) force->pair; int nhybrid_styles = lockhybrid->nstyles; @@ -137,8 +146,11 @@ void FixIntegrationSpin::init() exch_flag = 1; lockpairspinexchange = (PairSpinExchange *) lockhybrid->styles[ipair]; } else if (strstr(lockhybrid->keywords[ipair],"pair/spin/soc/neel")) { - soc_flag = 1; + soc_neel_flag = 1; lockpairspinsocneel = (PairSpinSocNeel *) lockhybrid->styles[ipair]; + } else if (strstr(lockhybrid->keywords[ipair],"pair/spin/soc/dmi")) { + soc_dmi_flag = 1; + lockpairspinsocdmi = (PairSpinSocDmi *) lockhybrid->styles[ipair]; } } } else error->all(FLERR,"Illegal fix integration/spin command"); @@ -179,8 +191,10 @@ void FixIntegrationSpin::init() // grow tables for k and adv_list - k = memory->grow(k,nsectors,"integration/spin:k"); - adv_list = memory->grow(adv_list,nsectors,atom->nmax,"integration/spin:adv_list"); + stack_head = memory->grow(stack_head,nsectors,"integration/spin:stack_head"); + stack_foot = memory->grow(stack_foot,nsectors,"integration/spin:stack_foot"); + forward_stacks = memory->grow(forward_stacks,atom->nmax,"integration/spin:forward_stacks"); + backward_stacks = memory->grow(backward_stacks,atom->nmax,"integration/spin:backward_stacks"); } @@ -189,7 +203,6 @@ void FixIntegrationSpin::init() void FixIntegrationSpin::initial_integrate(int vflag) { double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; - double xi[3]; double spi[3], fmi[3]; double **x = atom->x; @@ -216,55 +229,37 @@ void FixIntegrationSpin::initial_integrate(int vflag) } } - // grow/shrink adv_list table to nlocal - // init. tables for mpi-sector storage - - int p; - adv_list = memory->grow(adv_list,nsectors,nlocal,"integration/spin:adv_list"); - for (int j = 0; j < nsectors; j++) { - k[j] = 0; - for (int i = 0; i < nlocal; i++) { - adv_list[j][i] = 0; - } - } - // update half s for all atoms if (extra == SPIN) { if (mpi_flag) { // mpi seq. update - int nseci; for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal comm->forward_comm(); - k[j] = 0; - for (int i = 0; i < nlocal; i++) { - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - nseci = coords2sector(xi); - if (j != nseci) continue; + int i = stack_foot[j]; + while (i >= 0) { ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts); - adv_list[j][k[j]] = i; - k[j]++; - } + i = forward_stacks[i]; + } } - for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal - comm->forward_comm(); - for (int i = k[j]-1; i >= 0; i--) { - p = adv_list[j][i]; - ComputeInteractionsSpin(p); - AdvanceSingleSpin(p,dts); - } + for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal + comm->forward_comm(); + int i = stack_head[j]; + while (i >= 0) { + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts); + i = backward_stacks[i]; + } } } else if (mpi_flag == 0) { // serial seq. update comm->forward_comm(); // comm. positions of ghost atoms - for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal + for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal-1 ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts); } ComputeInteractionsSpin(nlocal-1); AdvanceSingleSpin(nlocal-1,2.0*dts); // advance half s for 1 - for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal + for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal-1 ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts); } @@ -287,48 +282,94 @@ void FixIntegrationSpin::initial_integrate(int vflag) if (extra == SPIN) { if (mpi_flag) { // mpi seq. update - int nseci; for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal - comm->forward_comm(); - for (int i = 0; i < k[j]; i++) { - p = adv_list[j][i]; - ComputeInteractionsSpin(p); - AdvanceSingleSpin(p,dts); - } + comm->forward_comm(); + int i = stack_foot[j]; + while (i >= 0) { + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts); + i = forward_stacks[i]; + } } for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); - for (int i = k[j]-1; i >= 0; i--) { - p = adv_list[j][i]; - ComputeInteractionsSpin(p); - AdvanceSingleSpin(p,dts); - } + int i = stack_head[j]; + while (i >= 0) { + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i,dts); + i = backward_stacks[i]; + } } } else if (mpi_flag == 0) { // serial seq. update comm->forward_comm(); // comm. positions of ghost atoms - for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal + for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal-1 ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts); } ComputeInteractionsSpin(nlocal-1); AdvanceSingleSpin(nlocal-1,2.0*dts); // advance half s for 1 - for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal + for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal-1 ComputeInteractionsSpin(i); AdvanceSingleSpin(i,dts); } } else error->all(FLERR,"Illegal fix integration/spin command"); } +} + +/* ---------------------------------------------------------------------- + setup pre_neighbor() +---------------------------------------------------------------------- */ +void FixIntegrationSpin::setup_pre_neighbor() +{ + pre_neighbor(); } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + store in two linked lists the advance order of the spins +---------------------------------------------------------------------- */ + +void FixIntegrationSpin::pre_neighbor() +{ + double **x = atom->x; + int nlocal = atom->nlocal; + + for (int j = 0; j < nsectors; j++) { + stack_head[j] = -1; + stack_foot[j] = -1; + } + + int nseci; + for (int j = 0; j < nsectors; j++) { // stacking backward order + for (int i = 0; i < nlocal; i++) { + nseci = coords2sector(x[i]); + if (j != nseci) continue; + backward_stacks[i] = stack_head[j]; + stack_head[j] = i; + } + } + for (int j = nsectors-1; j >= 0; j--) { // stacking forward order + for (int i = nlocal-1; i >= 0; i--) { + nseci = coords2sector(x[i]); + if (j != nseci) continue; + forward_stacks[i] = stack_foot[j]; + stack_foot[j] = i; + } + } + +} + +/* ---------------------------------------------------------------------- + compute the magnetic force for the spin ii +---------------------------------------------------------------------- */ + void FixIntegrationSpin::ComputeInteractionsSpin(int ii) { const int nlocal = atom->nlocal; - double xi[3], rij[3]; + double xi[3], rij[3], eij[3]; double spi[3], spj[3]; - double fmi[3], fmj[3]; + double fmi[3]; int i,j,jj,inum,jnum,itype,jtype; int *ilist,*jlist,*numneigh,**firstneigh; @@ -338,7 +379,7 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) int *type = atom->type; const int newton_pair = force->newton_pair; - // add test here + // add test here (only exchange quantities here) if (exch_flag) { inum = lockpairspinexchange->list->inum; ilist = lockpairspinexchange->list->ilist; @@ -366,7 +407,6 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) xi[1] = x[i][1]; xi[2] = x[i][2]; fmi[0] = fmi[1] = fmi[2] = 0.0; - fmj[0] = fmj[1] = fmj[2] = 0.0; jlist = firstneigh[i]; jnum = numneigh[i]; @@ -383,31 +423,41 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) spj[1] = sp[j][1]; spj[2] = sp[j][2]; - rij[0] = x[j][0] - xi[0]; rij[1] = x[j][1] - xi[1]; rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; inorm = 1.0/sqrt(rsq); - rij[0] *= inorm; - rij[1] *= inorm; - rij[2] *= inorm; temp_cut = 0.0; if (exch_flag) { // exchange temp_cut = lockpairspinexchange->cut_spin_exchange[itype][jtype]; cut_2 = temp_cut*temp_cut; - if (rsq <= cut_2) { - lockpairspinexchange->compute_exchange(i,j,rsq,fmi,fmj,spi,spj); + if (rsq <= cut_2) { + lockpairspinexchange->compute_exchange(i,j,rsq,fmi,spi,spj); } } - if (soc_flag) { // soc + if (soc_neel_flag) { // soc_neel temp_cut = lockpairspinsocneel->cut_soc_neel[itype][jtype]; cut_2 = temp_cut*temp_cut; if (rsq <= cut_2) { - //lockpairspinsocneel->compute_soc_neel(i,j,rsq,rij,fmi,fmj,spi,spj); + eij[0] = rij[0]*inorm; + eij[1] = rij[1]*inorm; + eij[2] = rij[2]*inorm; + lockpairspinsocneel->compute_soc_neel(i,j,rsq,eij,fmi,spi,spj); + } + } + + if (soc_dmi_flag) { // soc_dmi + temp_cut = lockpairspinsocdmi->cut_soc_dmi[itype][jtype]; + cut_2 = temp_cut*temp_cut; + if (rsq <= cut_2) { + eij[0] = rij[0]*inorm; + eij[1] = rij[1]*inorm; + eij[2] = rij[2]*inorm; + lockpairspinsocdmi->compute_soc_dmi(i,j,fmi,spi,spj); } } @@ -431,7 +481,7 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) } } - // replace the magnethic force i by its new value + // replace the magnetic force fm[i] by its new value fm[i][0] = fmi[0]; fm[i][1] = fmi[1]; @@ -439,7 +489,10 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + divide each domain into sectors +---------------------------------------------------------------------- */ + void FixIntegrationSpin::sectoring() { int sec[3]; @@ -482,9 +535,11 @@ void FixIntegrationSpin::sectoring() } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + define sector for an atom at a position x[i] +---------------------------------------------------------------------- */ -int FixIntegrationSpin::coords2sector(double x[3]) +int FixIntegrationSpin::coords2sector(double *x) { int nseci; int seci[3]; @@ -494,6 +549,8 @@ int FixIntegrationSpin::coords2sector(double x[3]) sublo[dim]=sublotmp[dim]; } +//#define M1 +#if defined M1 double rix = (x[0] - sublo[0])/rsec[0]; double riy = (x[1] - sublo[1])/rsec[1]; double riz = (x[2] - sublo[2])/rsec[2]; @@ -501,14 +558,23 @@ int FixIntegrationSpin::coords2sector(double x[3]) seci[0] = static_cast(rix); seci[1] = static_cast(riy); seci[2] = static_cast(riz); +#endif + +#define M2 +#if defined M2 + seci[0] = x[0] > (sublo[0] + rsec[0]); + seci[1] = x[1] > (sublo[1] + rsec[1]); + seci[2] = x[2] > (sublo[2] + rsec[2]); +#endif nseci = (seci[0] + 2*seci[1] + 4*seci[2]); return nseci; } - -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + advance the spin i of a timestep dtl +---------------------------------------------------------------------- */ void FixIntegrationSpin::AdvanceSingleSpin(int i, double dtl) { diff --git a/src/SPIN/fix_integration_spin.h b/src/SPIN/fix_integration_spin.h index dfeef599a3..727b5c89c6 100644 --- a/src/SPIN/fix_integration_spin.h +++ b/src/SPIN/fix_integration_spin.h @@ -38,7 +38,10 @@ class FixIntegrationSpin : public Fix { void AdvanceSingleSpin(int, double); void sectoring(); // sectoring operation functions - int coords2sector(double x[3]); + int coords2sector(double *); + + void setup_pre_neighbor(); + void pre_neighbor(); protected: int extra, mpi_flag; @@ -46,7 +49,8 @@ class FixIntegrationSpin : public Fix { double dtv,dtf,dts; // velocity, force, and spin timesteps int magpair_flag; // magnetic pair flags - int soc_flag, exch_flag; + int exch_flag; + int soc_neel_flag, soc_dmi_flag; int magforce_flag; // magnetic force flags int zeeman_flag, aniso_flag; int maglangevin_flag; // magnetic langevin flags @@ -57,12 +61,19 @@ class FixIntegrationSpin : public Fix { class PairHybrid *lockhybrid; class PairSpinExchange *lockpairspinexchange; class PairSpinSocNeel *lockpairspinsocneel; + class PairSpinSocDmi *lockpairspinsocdmi; class FixForceSpin *lockforcespin; class FixLangevinSpin *locklangevinspin; int nsectors; // sectoring variables double *rsec; - int *k, **adv_list; + + // stacking variables for sectoring algorithm + + int *stack_head; // index of first atom in backward_stacks + int *stack_foot; // index of first atom in forward_stacks + int *backward_stacks; // index of next atom in backward stack + int *forward_stacks; // index of next atom in forward stack }; diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 9080fce51d..e16f3e6d31 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -42,9 +42,6 @@ PairSpinExchange::PairSpinExchange(LAMMPS *lmp) : Pair(lmp) { hbar = force->hplanck/MY_2PI; - newton_pair_spin = 0; // no newton pair for now => to be corrected - // newton_pair = 0; - single_enable = 0; exch_flag = 0; exch_mech_flag = 0; @@ -77,7 +74,6 @@ void PairSpinExchange::compute(int eflag, int vflag) double evdwl,ecoul; double xi[3], rij[3]; double fi[3], fmi[3]; - double fj[3], fmj[3]; double cut_ex_2,cut_spin_exchange_global2; double rsq,rd,inorm; int *ilist,*jlist,*numneigh,**firstneigh; @@ -129,9 +125,7 @@ void PairSpinExchange::compute(int eflag, int vflag) evdwl = 0.0; fi[0] = fi[1] = fi[2] = 0.0; - fj[0] = fj[1] = fj[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; - fmj[0] = fmj[1] = fmj[2] = 0.0; rij[0] = x[j][0] - xi[0]; rij[1] = x[j][1] - xi[1]; @@ -150,8 +144,8 @@ void PairSpinExchange::compute(int eflag, int vflag) if (exch_flag) { cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; if (rsq <= cut_ex_2) { - compute_exchange(i,j,rsq,fmi,fmj,spi,spj); - compute_exchange_mech(i,j,rsq,rij,fi,fj,spi,spj); + compute_exchange(i,j,rsq,fmi,spi,spj); + compute_exchange_mech(i,j,rsq,rij,fi,spi,spj); } } @@ -162,22 +156,16 @@ void PairSpinExchange::compute(int eflag, int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; - // check newton pair => needs correction -// if (newton_pair || j < nlocal) { - if (newton_pair_spin) { - f[j][0] += fj[0]; - f[j][1] += fj[1]; - f[j][2] += fj[2]; - fm[j][0] += fmj[0]; - fm[j][1] += fmj[1]; - fm[j][2] += fmj[2]; + // check newton pair => see if needs correction + if (newton_pair || j < nlocal) { + f[j][0] -= fi[0]; + f[j][1] -= fi[1]; + f[j][2] -= fi[2]; } - + if (eflag) { if (rsq <= cut_ex_2) { - evdwl -= spi[0]*fmi[0]; - evdwl -= spi[1]*fmi[1]; - evdwl -= spi[2]*fmi[2]; + evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); evdwl *= hbar; } else evdwl = 0.0; } @@ -193,7 +181,7 @@ void PairSpinExchange::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], double fmj[3], double spi[3], double spj[3]) +void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -205,20 +193,16 @@ void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], Jex = 4.0*J1_mag[itype][jtype]*ra; Jex *= (1.0-J2[itype][jtype]*ra); Jex *= exp(-ra); - - fmi[0] -= 0.5*Jex*spj[0]; - fmi[1] -= 0.5*Jex*spj[1]; - fmi[2] -= 0.5*Jex*spj[2]; + + fmi[0] += Jex*spj[0]; + fmi[1] += Jex*spj[1]; + fmi[2] += Jex*spj[2]; - fmj[0] -= 0.5*Jex*spi[0]; - fmj[1] -= 0.5*Jex*spi[1]; - fmj[2] -= 0.5*Jex*spi[2]; - } /* ---------------------------------------------------------------------- */ -void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double rij[3], double fi[3], double fj[3], double *spi, double *spj) +void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double rij[3], double fi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -234,15 +218,11 @@ void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double ri Jex_mech = 1.0-ra-J2[itype][jtype]*ra*(2.0-ra); Jex_mech *= 8.0*Jex*rr*exp(-ra); Jex_mech *= (spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]); - - fi[0] += Jex_mech*rij[0]; - fi[1] += Jex_mech*rij[1]; - fi[2] += Jex_mech*rij[2]; + + fi[0] -= Jex_mech*rij[0]; + fi[1] -= Jex_mech*rij[1]; + fi[2] -= Jex_mech*rij[2]; - fj[0] -= Jex_mech*rij[0]; - fj[1] -= Jex_mech*rij[1]; - fj[2] -= Jex_mech*rij[2]; - } /* ---------------------------------------------------------------------- @@ -259,11 +239,11 @@ void PairSpinExchange::allocate() for (int j = i; j <= n; j++) setflag[i][j] = 0; - memory->create(cut_spin_exchange,n+1,n+1,"pair:cut_spin_exchange"); - memory->create(J1_mag,n+1,n+1,"pair:J1_mag"); - memory->create(J1_mech,n+1,n+1,"pair:J1_mech"); - memory->create(J2,n+1,n+1,"pair:J2"); - memory->create(J3,n+1,n+1,"pair:J3"); + memory->create(cut_spin_exchange,n+1,n+1,"pair/spin/exchange:cut_spin_exchange"); + memory->create(J1_mag,n+1,n+1,"pair/spin/exchange:J1_mag"); + memory->create(J1_mech,n+1,n+1,"pair/spin/exchange:J1_mech"); + memory->create(J2,n+1,n+1,"pair/spin/exchange:J2"); + memory->create(J3,n+1,n+1,"pair/spin/exchange:J3"); memory->create(cutsq,n+1,n+1,"pair:cutsq"); @@ -361,13 +341,10 @@ void PairSpinExchange::init_style() neighbor->request(this,instance_me); - // check this half/full request => needs correction/review -#define FULLNEI -#if defined FULLNEI + // check this half/full request => to be verified int irequest = neighbor->request(this,instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; -#endif } diff --git a/src/SPIN/pair_spin_exchange.h b/src/SPIN/pair_spin_exchange.h index 38cd03570f..0337d79faf 100755 --- a/src/SPIN/pair_spin_exchange.h +++ b/src/SPIN/pair_spin_exchange.h @@ -39,19 +39,16 @@ class PairSpinExchange : public Pair { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_exchange(int, int, double, double fmi[3], double fmj[3],double spi[3], double spj[3]); - void compute_exchange_mech(int, int, double, double rij[3], double fmi[3], double fmj[3], double spi[3], double spj[3]); + void compute_exchange(int, int, double, double fmi[3], double spi[3], double spj[3]); + void compute_exchange_mech(int, int, double, double rij[3], double fi[3], double spi[3], double spj[3]); int exch_flag; // magnetic exchange flag int exch_mech_flag; // mechanic exchange flags - double cut_spin_exchange_global; // global exchange cutoff double **cut_spin_exchange; // cutoff distance per exchange protected: - int newton_pair_spin; double hbar; - double **J1_mag, **J1_mech; // exchange coeffs Jij double **J2, **J3; // J1 in eV, J2 adim, J3 in Ang diff --git a/src/SPIN/pair_spin_soc_dmi.cpp b/src/SPIN/pair_spin_soc_dmi.cpp index 341f230fd3..60ef5d7941 100755 --- a/src/SPIN/pair_spin_soc_dmi.cpp +++ b/src/SPIN/pair_spin_soc_dmi.cpp @@ -42,11 +42,8 @@ PairSpinSocDmi::PairSpinSocDmi(LAMMPS *lmp) : Pair(lmp) { hbar = force->hplanck/MY_2PI; - newton_pair_spin = 0; // no newton pair for now => to be corrected - // newton_pair = 0; - single_enable = 0; - dmi_flag = 0; + soc_dmi_flag = 0; no_virial_fdotr_compute = 1; } @@ -58,7 +55,7 @@ PairSpinSocDmi::~PairSpinSocDmi() if (allocated) { memory->destroy(setflag); - memory->destroy(cut_spin_dmi); + memory->destroy(cut_soc_dmi); memory->destroy(DM); memory->destroy(v_dmx); memory->destroy(v_dmy); @@ -76,16 +73,15 @@ void PairSpinSocDmi::compute(int eflag, int vflag) double evdwl, ecoul; double xi[3], rij[3]; double spi[3], spj[3]; - double fi[3], fj[3]; - double fmi[3], fmj[3]; - double cut_dmi_2, cut_spin_me_global2; + double fi[3], fmi[3]; + double cut_soc_dmi_2; double rsq, rd, inorm; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; if (eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = 0; - cut_dmi_2 = cut_spin_dmi_global*cut_spin_dmi_global; + cut_soc_dmi_2 = cut_soc_global*cut_soc_global; double **x = atom->x; double **f = atom->f; @@ -127,9 +123,7 @@ void PairSpinSocDmi::compute(int eflag, int vflag) evdwl = 0.0; fi[0] = fi[1] = fi[2] = 0.0; - fj[0] = fj[1] = fj[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; - fmj[0] = fmj[1] = fmj[2] = 0.0; rij[0] = rij[1] = rij[2] = 0.0; rij[0] = x[j][0] - xi[0]; @@ -140,15 +134,17 @@ void PairSpinSocDmi::compute(int eflag, int vflag) rij[0] *= inorm; rij[1] *= inorm; rij[2] *= inorm; - + itype = type[i]; jtype = type[j]; - // dm interaction - if (dmi_flag){ - cut_dmi_2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; - if (rsq <= cut_dmi_2){ - compute_dmi(i,j,fmi,fmj,spi,spj); + // compute magnetic and mechanical components of soc_dmi + + if (soc_dmi_flag){ + cut_soc_dmi_2 = cut_soc_dmi[itype][jtype]*cut_soc_dmi[itype][jtype]; + if (rsq <= cut_soc_dmi_2){ + compute_soc_dmi(i,j,fmi,spi,spj); + compute_soc_dmi_mech(i,j,fi,spi,spj); } } @@ -159,18 +155,15 @@ void PairSpinSocDmi::compute(int eflag, int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; -// if (newton_pair || j < nlocal) { - if (newton_pair_spin) { - f[j][0] += fj[0]; - f[j][1] += fj[1]; - f[j][2] += fj[2]; - fm[j][0] += fmj[0]; - fm[j][1] += fmj[1]; - fm[j][2] += fmj[2]; + // check newton pair => see if needs correction + if (newton_pair || j < nlocal) { + f[j][0] -= fi[0]; + f[j][1] -= fi[1]; + f[j][2] -= fi[2]; } if (eflag) { - if (rsq <= cut_dmi_2) { + if (rsq <= cut_soc_dmi_2) { evdwl -= spi[0]*fmi[0]; evdwl -= spi[1]*fmi[1]; evdwl -= spi[2]*fmi[2]; @@ -189,7 +182,7 @@ void PairSpinSocDmi::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -void PairSpinSocDmi::compute_dmi(int i, int j, double fmi[3], double fmj[3], double spi[3], double spj[3]) +void PairSpinSocDmi::compute_soc_dmi(int i, int j, double fmi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -205,11 +198,18 @@ void PairSpinSocDmi::compute_dmi(int i, int j, double fmi[3], double fmj[3], do fmi[1] += spj[2]*dmix-spj[0]*dmiz; fmi[2] += spj[0]*dmiy-spj[1]*dmix; - fmj[0] -= spi[1]*dmiz-spi[2]*dmiy; - fmj[1] -= spi[2]*dmix-spi[0]*dmiz; - fmj[2] -= spi[0]*dmiy-spi[1]*dmix; } +/* ---------------------------------------------------------------------- */ + +void PairSpinSocDmi::compute_soc_dmi_mech(int i, int j, double fi[3], double spi[3], double spj[3]) +{ + fi[0] += 0.0; + fi[1] += 0.0; + fi[2] += 0.0; +} + + /* ---------------------------------------------------------------------- allocate all arrays ------------------------------------------------------------------------- */ @@ -224,7 +224,7 @@ void PairSpinSocDmi::allocate() for (int j = i; j <= n; j++) setflag[i][j] = 0; - memory->create(cut_spin_dmi,n+1,n+1,"pair:cut_spin_dmi"); + memory->create(cut_soc_dmi,n+1,n+1,"pair:cut_soc_dmi"); memory->create(DM,n+1,n+1,"pair:DM"); memory->create(v_dmx,n+1,n+1,"pair:DM_vector_x"); memory->create(v_dmy,n+1,n+1,"pair:DM_vector_y"); @@ -246,7 +246,7 @@ void PairSpinSocDmi::settings(int narg, char **arg) if (strcmp(update->unit_style,"metal") != 0) error->all(FLERR,"Spin simulations require metal unit style"); - cut_spin_dmi_global = force->numeric(FLERR,arg[0]); + cut_soc_global = force->numeric(FLERR,arg[0]); // reset cutoffs that have been explicitly set @@ -255,7 +255,7 @@ void PairSpinSocDmi::settings(int narg, char **arg) for (i = 1; i <= atom->ntypes; i++) for (j = i+1; j <= atom->ntypes; j++) if (setflag[i][j]) { - cut_spin_dmi[i][j] = cut_spin_dmi_global; + cut_soc_dmi[i][j] = cut_soc_global; } } @@ -273,7 +273,7 @@ void PairSpinSocDmi::coeff(int narg, char **arg) if (strcmp(arg[2],"dmi")==0) { if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); - dmi_flag = 1; + soc_dmi_flag = 1; int ilo,ihi,jlo,jhi; force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); @@ -293,7 +293,7 @@ void PairSpinSocDmi::coeff(int narg, char **arg) int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_dmi[i][j] = rij; + cut_soc_dmi[i][j] = rij; DM[i][j] = dm; v_dmx[i][j] = dmx; v_dmy[i][j] = dmy; @@ -319,13 +319,10 @@ void PairSpinSocDmi::init_style() neighbor->request(this,instance_me); - // check this half/full request -#define FULLNEI -#if defined FULLNEI + // check this half/full request => to be verified int irequest = neighbor->request(this,instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; -#endif } @@ -338,7 +335,7 @@ double PairSpinSocDmi::init_one(int i, int j) if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - return cut_spin_dmi_global; + return cut_soc_global; } /* ---------------------------------------------------------------------- @@ -354,12 +351,12 @@ void PairSpinSocDmi::write_restart(FILE *fp) for (j = i; j <= atom->ntypes; j++) { fwrite(&setflag[i][j],sizeof(int),1,fp); if (setflag[i][j]) { - if (dmi_flag) { + if (soc_dmi_flag) { fwrite(&DM[i][j],sizeof(double),1,fp); fwrite(&v_dmx[i][j],sizeof(double),1,fp); fwrite(&v_dmy[i][j],sizeof(double),1,fp); fwrite(&v_dmz[i][j],sizeof(double),1,fp); - fwrite(&cut_spin_dmi[i][j],sizeof(double),1,fp); + fwrite(&cut_soc_dmi[i][j],sizeof(double),1,fp); } } } @@ -387,13 +384,13 @@ void PairSpinSocDmi::read_restart(FILE *fp) fread(&v_dmx[i][j],sizeof(double),1,fp); fread(&v_dmy[i][j],sizeof(double),1,fp); fread(&v_dmz[i][j],sizeof(double),1,fp); - fread(&cut_spin_dmi[i][j],sizeof(double),1,fp); + fread(&cut_soc_dmi[i][j],sizeof(double),1,fp); } MPI_Bcast(&DM[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_dmx[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_dmy[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_dmz[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut_spin_dmi[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_soc_dmi[i][j],1,MPI_DOUBLE,0,world); } } } @@ -406,7 +403,7 @@ void PairSpinSocDmi::read_restart(FILE *fp) void PairSpinSocDmi::write_restart_settings(FILE *fp) { - fwrite(&cut_spin_dmi_global,sizeof(double),1,fp); + fwrite(&cut_soc_global,sizeof(double),1,fp); fwrite(&offset_flag,sizeof(int),1,fp); fwrite(&mix_flag,sizeof(int),1,fp); } @@ -418,11 +415,11 @@ void PairSpinSocDmi::write_restart_settings(FILE *fp) void PairSpinSocDmi::read_restart_settings(FILE *fp) { if (comm->me == 0) { - fread(&cut_spin_dmi_global,sizeof(double),1,fp); + fread(&cut_soc_global,sizeof(double),1,fp); fread(&offset_flag,sizeof(int),1,fp); fread(&mix_flag,sizeof(int),1,fp); } - MPI_Bcast(&cut_spin_dmi_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_soc_global,1,MPI_DOUBLE,0,world); MPI_Bcast(&offset_flag,1,MPI_INT,0,world); MPI_Bcast(&mix_flag,1,MPI_INT,0,world); } diff --git a/src/SPIN/pair_spin_soc_dmi.h b/src/SPIN/pair_spin_soc_dmi.h index 627001135e..8097b5ae14 100755 --- a/src/SPIN/pair_spin_soc_dmi.h +++ b/src/SPIN/pair_spin_soc_dmi.h @@ -39,12 +39,13 @@ class PairSpinSocDmi : public Pair { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_dmi(int, int, double fmi[3], double fmj[3], double spi[3], double spj[3]); + void compute_soc_dmi(int, int, double fmi[3], double spi[3], double spj[3]); + void compute_soc_dmi_mech(int, int, double fi[3], double spi[3], double spj[3]); - int dmi_flag; // dmi flag + int soc_dmi_flag; // dmi flag - double cut_spin_dmi_global; // short range pair cutoff - double **cut_spin_dmi; // cutoff distance dmi + double cut_soc_global; // short range pair cutoff + double **cut_soc_dmi; // cutoff distance dmi protected: int newton_pair_spin; diff --git a/src/SPIN/pair_spin_soc_neel.cpp b/src/SPIN/pair_spin_soc_neel.cpp index 94ac35848b..6952e0334a 100755 --- a/src/SPIN/pair_spin_soc_neel.cpp +++ b/src/SPIN/pair_spin_soc_neel.cpp @@ -42,11 +42,9 @@ PairSpinSocNeel::PairSpinSocNeel(LAMMPS *lmp) : Pair(lmp) { hbar = force->hplanck/MY_2PI; - newton_pair_spin = 0; // no newton pair for now => to be corrected - // newton_pair = 0; - single_enable = 0; - soc_neel_flag = 0; + soc_neel_flag = 0; + soc_mech_flag = 0; no_virial_fdotr_compute = 1; } @@ -74,10 +72,9 @@ void PairSpinSocNeel::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl,ecoul; - double xi[3], rij[3]; + double xi[3], rij[3], eij[3]; double spi[3], spj[3]; - double fi[3], fj[3]; - double fmi[3], fmj[3]; + double fi[3], fmi[3]; double cut_soc_neel_2, cut_soc_global2; double rsq, rd, inorm; int *ilist,*jlist,*numneigh,**firstneigh; @@ -128,9 +125,7 @@ void PairSpinSocNeel::compute(int eflag, int vflag) evdwl = 0.0; fi[0] = fi[1] = fi[2] = 0.0; - fj[0] = fj[1] = fj[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; - fmj[0] = fmj[1] = fmj[2] = 0.0; rij[0] = rij[1] = rij[2] = 0.0; rij[0] = x[j][0] - xi[0]; @@ -138,9 +133,9 @@ void PairSpinSocNeel::compute(int eflag, int vflag) rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; inorm = 1.0/sqrt(rsq); - rij[0] *= inorm; - rij[1] *= inorm; - rij[2] *= inorm; + eij[0] = rij[0]*inorm; + eij[1] = rij[1]*inorm; + eij[2] = rij[2]*inorm; itype = type[i]; jtype = type[j]; @@ -149,8 +144,8 @@ void PairSpinSocNeel::compute(int eflag, int vflag) cut_soc_neel_2 = cut_soc_neel[itype][jtype]*cut_soc_neel[itype][jtype]; if (rsq <= cut_soc_neel_2) { - compute_soc_neel(i,j,rsq,rij,fmi,fmj,spi,spj); - compute_soc_mech_neel(i,j,rsq,rij,fi,fj,spi,spj); + compute_soc_neel(i,j,rsq,eij,fmi,spi,spj); + compute_soc_mech_neel(i,j,rsq,eij,fi,spi,spj); } f[i][0] += fi[0]; @@ -160,21 +155,16 @@ void PairSpinSocNeel::compute(int eflag, int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; -// if (newton_pair || j < nlocal) { // => to be corrected - if (newton_pair_spin) { - f[j][0] += fj[0]; - f[j][1] += fj[1]; - f[j][2] += fj[2]; - fm[j][0] += fmj[0]; - fm[j][1] += fmj[1]; - fm[j][2] += fmj[2]; + // check newton pair => see if needs correction + if (newton_pair || j < nlocal) { + f[j][0] -= fi[0]; + f[j][1] -= fi[1]; + f[j][2] -= fi[2]; } - + if (eflag) { if (rsq <= cut_soc_neel_2) { - evdwl -= spi[0]*fmi[0]; - evdwl -= spi[1]*fmi[1]; - evdwl -= spi[2]*fmi[2]; + evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); evdwl *= hbar; } else evdwl = 0.0; } @@ -190,11 +180,12 @@ void PairSpinSocNeel::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -void PairSpinSocNeel::compute_soc_neel(int i, int j, double rsq, double rij[3], double fmi[3], double fmj[3], double spi[3], double spj[3]) +void PairSpinSocNeel::compute_soc_neel(int i, int j, double rsq, double eij[3], double fmi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; - double Kij, Kij_3, ra, scalar; + double Kij, Kij_3, ra; + double scalar_i, scalar_j; itype = type[i]; jtype = type[j]; @@ -203,60 +194,55 @@ void PairSpinSocNeel::compute_soc_neel(int i, int j, double rsq, double rij[3], Kij *= (1.0-K2[itype][jtype]*ra); Kij *= exp(-ra); - scalar = rij[0]*spj[0]+rij[1]*spj[1]+rij[2]*spj[2]; + scalar_i = eij[0]*spj[0]+eij[1]*spj[1]+eij[2]*spj[2]; + scalar_j = eij[0]*spi[0]+eij[1]*spi[1]+eij[2]*spi[2]; Kij_3 = Kij/3.0; - fmi[0] -= Kij*scalar*rij[0] - Kij_3*spj[0]; - fmi[1] -= Kij*scalar*rij[1] - Kij_3*spj[1]; - fmi[2] -= Kij*scalar*rij[2] - Kij_3*spj[2]; - - fmj[0] += Kij*scalar*rij[0] + Kij_3*spi[0]; - fmj[1] += Kij*scalar*rij[1] + Kij_3*spi[1]; - fmj[2] += Kij*scalar*rij[2] + Kij_3*spi[2]; + fmi[0] += Kij*scalar_i*eij[0] - Kij_3*spj[0]; + fmi[1] += Kij*scalar_i*eij[1] - Kij_3*spj[1]; + fmi[2] += Kij*scalar_i*eij[2] - Kij_3*spj[2]; } /* ---------------------------------------------------------------------- */ -void PairSpinSocNeel::compute_soc_mech_neel(int i, int j, double rsq, double rij[3], double fi[3], double fj[3], double spi[3], double spj[3]) +void PairSpinSocNeel::compute_soc_mech_neel(int i, int j, double rsq, double eij[3], double fi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; - double scalar_si_sj, scalar_rij_si, scalar_rij_sj; + double scalar_si_sj, scalar_eij_si, scalar_eij_sj; double K_mech, Kij, dKij, ra, rr, drij, iK3; double t1, t2, t3; itype = type[i]; jtype = type[j]; + drij = sqrt(rsq); + scalar_si_sj = spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]; - scalar_rij_si = rij[0]*spi[0]+rij[1]*spi[1]+rij[2]*spi[2]; - scalar_rij_sj = rij[0]*spj[0]+rij[1]*spj[1]+rij[2]*spj[2]; + scalar_eij_si = eij[0]*spi[0]+eij[1]*spi[1]+eij[2]*spi[2]; + scalar_eij_sj = eij[0]*spj[0]+eij[1]*spj[1]+eij[2]*spj[2]; K_mech = K1_mech[itype][jtype]; iK3 = 1.0/(K3[itype][jtype]*K3[itype][jtype]); - drij = sqrt(rsq); ra = rsq*iK3; rr = drij*iK3; + Kij = 4.0*K_mech*ra; Kij *= (1.0-K2[itype][jtype]*ra); - Kij *= 4.0*K_mech*ra*exp(-ra); + Kij *= exp(-ra); dKij = 1.0-ra-K2[itype][jtype]*ra*(2.0-ra); dKij *= 8.0*K_mech*rr*exp(-ra); - t1 = (dKij-2.0*Kij/drij)*scalar_rij_si*scalar_rij_sj; + t1 = (dKij-2.0*Kij/drij)*scalar_eij_si*scalar_eij_sj; t1 -= scalar_si_sj*dKij/3.0; - t2 = scalar_rij_sj*Kij/drij; - t3 = scalar_rij_si*Kij/drij; + t2 = scalar_eij_sj*Kij/drij; + t3 = scalar_eij_si*Kij/drij; - fi[0] += t1*rij[0]+t2*spi[0]+t3*spj[0]; - fi[1] += t1*rij[1]+t2*spi[1]+t3*spj[1]; - fi[2] += t1*rij[2]+t2*spi[2]+t3*spj[2]; - - fj[0] -= t1*rij[0]-t2*spi[0]-t3*spj[0]; - fj[1] -= t1*rij[1]-t2*spi[1]-t3*spj[1]; - fj[2] -= t1*rij[2]-t2*spi[2]-t3*spj[2]; + fi[0] -= (t1*eij[0] + t2*spi[0] + t3*spj[0]); + fi[1] -= (t1*eij[1] + t2*spi[1] + t3*spj[1]); + fi[2] -= (t1*eij[2] + t2*spi[2] + t3*spj[2]); } @@ -274,13 +260,13 @@ void PairSpinSocNeel::allocate() for (int j = i; j <= n; j++) setflag[i][j] = 0; - memory->create(cut_soc_neel,n+1,n+1,"pair:cut_soc_neel"); - memory->create(K1,n+1,n+1,"pair:K1"); - memory->create(K1_mech,n+1,n+1,"pair:K1_mech"); - memory->create(K2,n+1,n+1,"pair:K2"); - memory->create(K3,n+1,n+1,"pair:K3"); + memory->create(cut_soc_neel,n+1,n+1,"pair/spin/soc/neel:cut_soc_neel"); + memory->create(K1,n+1,n+1,"pair/spin/soc/neel:K1"); + memory->create(K1_mech,n+1,n+1,"pair/spin/soc/neel:K1_mech"); + memory->create(K2,n+1,n+1,"pair/spin/soc/neel:K2"); + memory->create(K3,n+1,n+1,"pair/spin/soc/neel:K3"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(cutsq,n+1,n+1,"pair/spin/soc/neel:cutsq"); } @@ -302,11 +288,13 @@ void PairSpinSocNeel::settings(int narg, char **arg) if (allocated) { int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i+1; j <= atom->ntypes; j++) - if (setflag[i][j]) { - cut_soc_neel[i][j] = cut_soc_global; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i+1; j <= atom->ntypes; j++) { + if (setflag[i][j]) { + cut_soc_neel[i][j] = cut_soc_global; } + } + } } } @@ -321,12 +309,12 @@ void PairSpinSocNeel::coeff(int narg, char **arg) if (!allocated) allocate(); - // set mech_flag to 1 if magneto-mech simulation + // set soc_mech_flag to 1 if magneto-mech simulation //no longer correct: can be hybrid without magneto-mech => needs review/correction if (strstr(force->pair_style,"pair/spin")) { - mech_flag = 0; + soc_mech_flag = 0; } else if (strstr(force->pair_style,"hybrid/overlay")) { - mech_flag = 1; + soc_mech_flag = 1; } else error->all(FLERR,"Incorrect args in pair_style command"); @@ -348,7 +336,7 @@ void PairSpinSocNeel::coeff(int narg, char **arg) for (int j = MAX(jlo,i); j <= jhi; j++) { cut_soc_neel[i][j] = rij; K1[i][j] = k1/hbar; - if (mech_flag) { + if (soc_mech_flag) { K1_mech[i][j] = k1; } else { K1_mech[i][j] = 0.0; @@ -376,12 +364,9 @@ void PairSpinSocNeel::init_style() neighbor->request(this,instance_me); // check this half/full request => to be verified -#define FULLNEI -#if defined FULLNEI int irequest = neighbor->request(this,instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; -#endif } diff --git a/src/SPIN/pair_spin_soc_neel.h b/src/SPIN/pair_spin_soc_neel.h index 4584ddb9eb..ee675b36c7 100755 --- a/src/SPIN/pair_spin_soc_neel.h +++ b/src/SPIN/pair_spin_soc_neel.h @@ -39,17 +39,17 @@ class PairSpinSocNeel : public Pair { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_soc_neel(int, int, double, double rij[3], double fmi[3], double fmj[3],double spi[3], double spj[3]); - void compute_soc_mech_neel(int, int, double, double rij[3], double fi[3], double fj[3],double spi[3], double spj[3]); + void compute_soc_neel(int, int, double, double eij[3], double fmi[3], double spi[3], double spj[3]); + void compute_soc_mech_neel(int, int, double, double eij[3], double fi[3], double spi[3], double spj[3]); int soc_neel_flag; // soc neel flag - int mech_flag; // mech calc. flag + int soc_mech_flag; // mech calculation flag double cut_soc_global; double **cut_soc_neel; // cutoff distance exchange protected: - int newton_pair_spin; + //int newton_pair_spin; double hbar; double **K1, **K1_mech; // exchange coeffs Kij diff --git a/src/atom.h b/src/atom.h index 285f067e24..b0641f6381 100644 --- a/src/atom.h +++ b/src/atom.h @@ -152,6 +152,7 @@ class Atom : protected Pointers { int dpd_flag,edpd_flag,tdpd_flag; //USER-SPIN package + int mumag_flag,sp_flag; // USER-SMD package -- GitLab From 01f378d265c22fd613ff6d4d04cd610bf8711627 Mon Sep 17 00:00:00 2001 From: araven Date: Tue, 9 Jan 2018 21:19:28 +0100 Subject: [PATCH 060/675] minor updates on examples/SPIN --- examples/SPIN/prepare_vmd.sh | 86 ++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/examples/SPIN/prepare_vmd.sh b/examples/SPIN/prepare_vmd.sh index 331f2741e4..59a4c407fb 100755 --- a/examples/SPIN/prepare_vmd.sh +++ b/examples/SPIN/prepare_vmd.sh @@ -13,67 +13,67 @@ FILE=view_${TS}.vmd cat >${FILE} <] [resolution ] [radius ] [filled ]"} # defaults - set scale 3.0 - set res 5 + set scale 2.0 + set res 50 set radius 0.1 set filled yes - if {[llength $args] < 3} { - error "wrong # args: should be $usage" + if {[llength \$args] < 3} { + error "wrong # args: should be \$usage" } - set mol [lindex $args 0] - set center [lindex $args 1] - set vector [lindex $args 2] - if {[llength $center] != 3 || [llength $vector] != 3} { - error "wrong type of args: should be $usage" + set mol [lindex \$args 0] + set center [lindex \$args 1] + set vector [lindex \$args 2] + if {[llength \$center] != 3 || [llength \$vector] != 3} { + error "wrong type of args: should be \$usage" } - foreach {flag value} [lrange $args 3 end] { - switch -glob $flag { - scale {set scale $value} - res* {set res $value} - rad* {set radius $value} - fill* {set filled $value} - default {error "unknown option '$flag': should be $usage" } + foreach {flag value} [lrange \$args 3 end] { + switch -glob \$flag { + scale {set scale \$value} + res* {set res \$value} + rad* {set radius \$value} + fill* {set filled \$value} + default {error "unknown option '\$flag': should be \$usage" } } } - set vechalf [vecscale [expr $scale * 0.5] $vector] - return [list \ - [graphics $mol color yellow]\ - [graphics $mol cylinder [vecsub $center $vechalf]\ - [vecadd $center [vecscale 0.7 $vechalf]] \ - radius $radius resolution $res filled $filled] \ - [graphics $mol color orange]\ - [graphics $mol cone [vecadd $center [vecscale 0.6 $vechalf]] \ - [vecadd $center $vechalf] radius [expr $radius * 2.5] \ - resolution $res]] + set vechalf [vecscale [expr \$scale * 0.5] \$vector] + return [list \\ + [graphics \$mol color yellow]\\ + [graphics \$mol cylinder [vecsub \$center \$vechalf]\\ + [vecadd \$center [vecscale 0.7 \$vechalf]] \\ + radius \$radius resolution \$res filled \$filled] \\ + [graphics \$mol color orange]\\ + [graphics \$mol cone [vecadd \$center [vecscale 0.6 \$vechalf]] \\ + [vecadd \$center \$vechalf] radius [expr \$radius * 2.5] \\ + resolution \$res]] } proc vmd_draw_spin {args} { global molid - graphics $molid delete all - set frame [molinfo $molid get frame] - set natoms [molinfo $molid get numatoms] - for {set i 0} {$i < $natoms} {incr i} { - set sel [atomselect top "index $i"] - set coords [lindex [$sel get {x y z}] $molid] - set velocities [lindex [$sel get {vx vy vz}] $molid] - draw vector $coords $velocities - set uvx [lindex [$sel get {vx}] $molid] - set uvy [lindex [$sel get {vy}] $molid] - set uvz [lindex [$sel get {vz}] $molid] - $sel set user [vecadd [vecadd [vecscale $uvy $uvy] [vecscale $uvz $uvz] ] [vecscale $uvx $uvx]] - $sel set user $uvy - #draw vector $coords {0.0 uvy 0.0} + graphics \$molid delete all + set frame [molinfo \$molid get frame] + set natoms [molinfo \$molid get numatoms] + for {set i 0} {\$i < \$natoms} {incr i} { + set sel [atomselect top "index \$i"] + set coords [lindex [\$sel get {x y z}] \$molid] + set velocities [lindex [\$sel get {vx vy vz}] \$molid] + draw vector \$coords \$velocities + set uvx [lindex [\$sel get {vx}] \$molid] + set uvy [lindex [\$sel get {vy}] \$molid] + set uvz [lindex [\$sel get {vz}] \$molid] + \$sel set user [vecadd [vecadd [vecscale \$uvy \$uvy] [vecscale \$uvz \$uvz] ] [vecscale \$uvx \$uvx]] + \$sel set user \$uvy + #draw vector \$coords {0.0 uvy 0.0} } #pbc box -color 3 } -- GitLab From 7cc62f4234999a4fff18de6394fbac036572385c Mon Sep 17 00:00:00 2001 From: araven Date: Tue, 9 Jan 2018 21:22:24 +0100 Subject: [PATCH 061/675] minor updates on examples/SPIN --- examples/SPIN/prepare_vmd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/SPIN/prepare_vmd.sh b/examples/SPIN/prepare_vmd.sh index 59a4c407fb..b593b295a3 100755 --- a/examples/SPIN/prepare_vmd.sh +++ b/examples/SPIN/prepare_vmd.sh @@ -14,7 +14,7 @@ FILE=view_${TS}.vmd cat >${FILE} < Date: Tue, 9 Jan 2018 21:36:12 +0100 Subject: [PATCH 062/675] beautyfy shell script --- examples/SPIN/prepare_vmd.sh | 112 +++++++++++++++++------------------ 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/examples/SPIN/prepare_vmd.sh b/examples/SPIN/prepare_vmd.sh index b593b295a3..fa62c6e109 100755 --- a/examples/SPIN/prepare_vmd.sh +++ b/examples/SPIN/prepare_vmd.sh @@ -13,75 +13,75 @@ FILE=view_${TS}.vmd cat >${FILE} <] [resolution ] [radius ] [filled ]"} - # defaults - set scale 2.0 - set res 50 - set radius 0.1 - set filled yes + set usage {"draw vector {x1 y1 z1} {x2 y2 z2} [scale ] [resolution ] [radius ] [filled ]"} + # defaults + set scale 2.0 + set res 50 + set radius 0.1 + set filled yes - if {[llength \$args] < 3} { - error "wrong # args: should be \$usage" - } - set mol [lindex \$args 0] - set center [lindex \$args 1] - set vector [lindex \$args 2] - if {[llength \$center] != 3 || [llength \$vector] != 3} { - error "wrong type of args: should be \$usage" - } + if {[llength \$args] < 3} { + error "wrong # args: should be \$usage" + } + set mol [lindex \$args 0] + set center [lindex \$args 1] + set vector [lindex \$args 2] + if {[llength \$center] != 3 || [llength \$vector] != 3} { + error "wrong type of args: should be \$usage" + } - foreach {flag value} [lrange \$args 3 end] { - switch -glob \$flag { - scale {set scale \$value} - res* {set res \$value} - rad* {set radius \$value} - fill* {set filled \$value} - default {error "unknown option '\$flag': should be \$usage" } - } + foreach {flag value} [lrange \$args 3 end] { + switch -glob \$flag { + scale {set scale \$value} + res* {set res \$value} + rad* {set radius \$value} + fill* {set filled \$value} + default {error "unknown option '\$flag': should be \$usage" } } + } - set vechalf [vecscale [expr \$scale * 0.5] \$vector] - return [list \\ - [graphics \$mol color yellow]\\ - [graphics \$mol cylinder [vecsub \$center \$vechalf]\\ - [vecadd \$center [vecscale 0.7 \$vechalf]] \\ - radius \$radius resolution \$res filled \$filled] \\ - [graphics \$mol color orange]\\ - [graphics \$mol cone [vecadd \$center [vecscale 0.6 \$vechalf]] \\ - [vecadd \$center \$vechalf] radius [expr \$radius * 2.5] \\ - resolution \$res]] + set vechalf [vecscale [expr \$scale * 0.5] \$vector] + return [list \\ + [graphics \$mol color yellow]\\ + [graphics \$mol cylinder [vecsub \$center \$vechalf]\\ + [vecadd \$center [vecscale 0.7 \$vechalf]] \\ + radius \$radius resolution \$res filled \$filled] \\ + [graphics \$mol color orange]\\ + [graphics \$mol cone [vecadd \$center [vecscale 0.6 \$vechalf]] \\ + [vecadd \$center \$vechalf] radius [expr \$radius * 2.5] \\ + resolution \$res]] } proc vmd_draw_spin {args} { - global molid - graphics \$molid delete all - set frame [molinfo \$molid get frame] - set natoms [molinfo \$molid get numatoms] - for {set i 0} {\$i < \$natoms} {incr i} { - set sel [atomselect top "index \$i"] - set coords [lindex [\$sel get {x y z}] \$molid] - set velocities [lindex [\$sel get {vx vy vz}] \$molid] - draw vector \$coords \$velocities - set uvx [lindex [\$sel get {vx}] \$molid] - set uvy [lindex [\$sel get {vy}] \$molid] - set uvz [lindex [\$sel get {vz}] \$molid] - \$sel set user [vecadd [vecadd [vecscale \$uvy \$uvy] [vecscale \$uvz \$uvz] ] [vecscale \$uvx \$uvx]] - \$sel set user \$uvy - #draw vector \$coords {0.0 uvy 0.0} - } - #pbc box -color 3 + global molid + graphics \$molid delete all + set frame [molinfo \$molid get frame] + set natoms [molinfo \$molid get numatoms] + for {set i 0} {\$i < \$natoms} {incr i} { + set sel [atomselect top "index \$i"] + set coords [lindex [\$sel get {x y z}] \$molid] + set velocities [lindex [\$sel get {vx vy vz}] \$molid] + draw vector \$coords \$velocities + set uvx [lindex [\$sel get {vx}] \$molid] + set uvy [lindex [\$sel get {vy}] \$molid] + set uvz [lindex [\$sel get {vz}] \$molid] + \$sel set user [vecadd [vecadd [vecscale \$uvy \$uvy] [vecscale \$uvz \$uvz] ] [vecscale \$uvx \$uvx]] + \$sel set user \$uvy + #draw vector \$coords {0.0 uvy 0.0} + } + #pbc box -color 3 } proc enable_trace {} { - global vmd_frame - trace variable vmd_frame([molinfo top]) w vmd_draw_spin - } + global vmd_frame + trace variable vmd_frame([molinfo top]) w vmd_draw_spin +} set molid [mol addfile {$1} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] scale by 0.5 -- GitLab From 1e096d77efaef348a2ea5af6717f7cc5744a77ac Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 15 Jan 2018 11:39:44 -0700 Subject: [PATCH 063/675] Commit JT 011518 --- examples/SPIN/in.spin.bfo | 72 +++++++++-------------- examples/SPIN/in.spin.cobalt | 24 ++++---- src/SPIN/atom_vec_spin.cpp | 2 +- src/SPIN/fix_integration_spin.cpp | 20 ++++++- src/SPIN/fix_integration_spin.h | 2 + src/SPIN/pair_spin_me.cpp | 94 +++++++++++++++++++------------ src/SPIN/pair_spin_me.h | 6 +- src/SPIN/pair_spin_soc_neel.h | 4 +- 8 files changed, 127 insertions(+), 97 deletions(-) diff --git a/examples/SPIN/in.spin.bfo b/examples/SPIN/in.spin.bfo index aee3454765..1ceeb86614 100644 --- a/examples/SPIN/in.spin.bfo +++ b/examples/SPIN/in.spin.bfo @@ -3,14 +3,9 @@ ################### clear -#setting units to metal (Ang, picosecs, eV, ...): units metal - -#setting dimension of the system (N=2 or 3): dimension 3 - -#setting boundary conditions. (p for periodic, f for fixed, ...) -boundary p p f +boundary p p p #setting atom_style to spin: atom_style spin @@ -21,8 +16,6 @@ atom_style spin #why? atom_modify map array -#newton off for pair spin in SEQNEI -#newton off off ########################### #######Create atoms######## @@ -30,49 +23,31 @@ atom_modify map array #Lattice constant of sc Iron atoms of BFO lattice sc 3.96 - -#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen -#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) region box block 0.0 17.0 0.0 17.0 0.0 5.0 - -#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. create_box 1 box - -#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... -#Entries: atom type, create_atoms 1 box -#Replicating NxNxN the entire set of atoms -#replicate 1 1 1 - - ####################### #######Settings######## ####################### #Setting one or more properties of one or more atoms. -#Setting mass mass 1 1.0 -#set group all mass 1.0 + #Setting spins orientation and moment set group all spin/random 11 2.50 #set group all spin 2.50 1.0 0.0 0.0 -#Magnetic exchange interaction coefficient for bulk fcc Cobalt -pair_style pair/spin 5.7 -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -pair_coeff * * exchange 5.7 -0.01575 0.0 1.965 +#Magnetic interactions for BFO #type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) -#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 -#pair_coeff * * me 4.0 0.000109 1.0 1.0 1.0 -#Mex10 -pair_coeff * * me 4.0 0.00109 1.0 1.0 1.0 +pair_style hybrid/overlay pair/spin/exchange 6.0 pair/spin/me 4.5 +pair_coeff * * pair/spin/exchange exchange 6.0 -0.01575 0.0 1.965 +pair_coeff * * pair/spin/me me 4.5 0.00109 1.0 1.0 1.0 +#pair_coeff * * pair/spin/soc/dmi dmi 4.5 0.001 1.0 1.0 1.0 #Define a skin distance, update neigh list every -#neighbor 1.0 bin -#neigh_modify every 10 check yes delay 20 neighbor 0.0 bin -neigh_modify every 1 check no delay 0 +neigh_modify every 10 check yes delay 20 #Magnetic field fix #Type | Intensity (T or eV) | Direction @@ -81,17 +56,10 @@ fix 1 all force/spin anisotropy 0.0000035 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) #Temp | Alpha_trans | Alpha_long | Seed -#fix 2 all langevin/spin 0.0 0.1 0.0 21 fix 2 all langevin/spin 0.0 0.1 0.0 21 -#fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix -fix 3 all nve/spin mpi - -#compute real time, total magnetization, magnetic energy, and spin temperature -#Iteration | Time | Mx | My | Mz | |M| | Em | Tm -compute mag all compute/spin -fix outmag all ave/time 1 1 500 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_BFO.dat format %20.16g +fix 3 all integration/spin serial #Setting the timestep for the simulation (in ps) timestep 0.0001 @@ -100,10 +68,26 @@ timestep 0.0001 #######run######## ################## +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +#compute real time, total magnetization, magnetic energy, and spin temperature +#Iteration | Time | Mx | My | Mz | |M| | Em | Tm +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 + +thermo 10 +thermo_style custom step time v_magnorm v_emag temp etotal +thermo_modify format float %20.15g + #Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 5000 dump_spin_BFO.lammpstrj type x y z spx spy spz +dump 1 all custom 100 dump_spin_BFO.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 30000 -#run 1 +run 50000 diff --git a/examples/SPIN/in.spin.cobalt b/examples/SPIN/in.spin.cobalt index cb64c65f5c..ce3008d3d4 100644 --- a/examples/SPIN/in.spin.cobalt +++ b/examples/SPIN/in.spin.cobalt @@ -5,8 +5,8 @@ clear units metal dimension 3 -boundary p p p -#boundary p p f +#boundary p p p +boundary p p f #newton off @@ -42,13 +42,14 @@ set group all spin/random 31 1.72 #set group all spin 1.72 0.0 0.0 1.0 #set group single_spin spin/random 11 1.72 -velocity all create 200 4928459 rot yes dist gaussian +#velocity all create 200 4928459 rot yes dist gaussian +velocity all create 10 4928459 rot yes dist gaussian #Magneto-mechanic interactions for bulk fcc Cobalt #pair_style pair/spin/exchange 4.0 #pair_style eam/alloy #pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co #pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co @@ -57,8 +58,9 @@ pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co #type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) #pair_coeff * * exchange 4.0 -0.0446928 0.003496 1.4885 #pair_coeff * * exchange 4.0 0.0 0.003496 1.4885 -#pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +#pair_coeff * * pair/spin/exchange exchange 2.5 0.0446928 0.003496 1.4885 +#pair_coeff * * pair/spin/exchange exchange 4.0 0.0 0.003496 1.4885 #type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) #pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 @@ -66,14 +68,13 @@ pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 #type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) #pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 -pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 #pair_coeff * * pair/spin/soc/neel neel 4.0 0.0 0.864159 2.13731 #Define a skin distance, update neigh list every -#neighbor 0.1 bin -#neigh_modify every 10 check yes delay 20 neighbor 0.1 bin -neigh_modify every 1 check no delay 0 +neigh_modify every 10 check yes delay 20 +#neighbor 1.0 bin +#neigh_modify every 1 check no delay 0 #Magnetic field fix #Type | Intensity (T or eV) | Direction @@ -111,14 +112,13 @@ variable mag_force equal f_1 #variable test equal etotal-0.5*c_out_mag[6] thermo 10 -#thermo_style custom step time v_emag c_out_pe c_out_ke c_out_temp v_mag_force v_magnorm v_tmag etotal -thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo_style custom step time v_magnorm v_emag temp etotal thermo_modify format float %20.15g #Dump the positions and spin directions of magnetic particles (vmd format) dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -#run 1 run 10000 +#run 10000 diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 3f0f9e02bc..1af3440958 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -45,7 +45,7 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) size_reverse = 6; size_border = 11; size_velocity = 3; - size_data_atom = 9; // to check later + size_data_atom = 9; size_data_vel = 4; xcol_data = 4; diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index 69ed8ed0e8..a79d24a570 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -85,6 +85,7 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : magpair_flag = 0; exch_flag = 0; soc_neel_flag = soc_dmi_flag = 0; + me_flag = 0; magforce_flag = 0; zeeman_flag = aniso_flag = 0; maglangevin_flag = 0; @@ -137,6 +138,9 @@ void FixIntegrationSpin::init() } else if (strstr(force->pair_style,"pair/spin/soc/dmi")) { soc_dmi_flag = 1; lockpairspinsocdmi = (PairSpinSocDmi *) force->pair; + } else if (strstr(force->pair_style,"pair/spin/me")) { + me_flag = 1; + lockpairspinme = (PairSpinMe *) force->pair; } else if (strstr(force->pair_style,"hybrid/overlay")) { PairHybrid *lockhybrid = (PairHybrid *) force->pair; int nhybrid_styles = lockhybrid->nstyles; @@ -151,6 +155,9 @@ void FixIntegrationSpin::init() } else if (strstr(lockhybrid->keywords[ipair],"pair/spin/soc/dmi")) { soc_dmi_flag = 1; lockpairspinsocdmi = (PairSpinSocDmi *) lockhybrid->styles[ipair]; + } else if (strstr(lockhybrid->keywords[ipair],"pair/spin/me")) { + me_flag = 1; + lockpairspinme = (PairSpinMe *) lockhybrid->styles[ipair]; } } } else error->all(FLERR,"Illegal fix integration/spin command"); @@ -189,7 +196,7 @@ void FixIntegrationSpin::init() if (mpi_flag) sectoring(); - // grow tables for k and adv_list + // grow tables of stacking variables stack_head = memory->grow(stack_head,nsectors,"integration/spin:stack_head"); stack_foot = memory->grow(stack_foot,nsectors,"integration/spin:stack_foot"); @@ -461,6 +468,17 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) } } + if (me_flag) { // me + temp_cut = lockpairspinme->cut_spin_me[itype][jtype]; + cut_2 = temp_cut*temp_cut; + if (rsq <= cut_2) { + eij[0] = rij[0]*inorm; + eij[1] = rij[1]*inorm; + eij[2] = rij[2]*inorm; + lockpairspinme->compute_me(i,j,eij,fmi,spi,spj); + } + } + } if (magforce_flag) { // mag. forces diff --git a/src/SPIN/fix_integration_spin.h b/src/SPIN/fix_integration_spin.h index 727b5c89c6..7f55368922 100644 --- a/src/SPIN/fix_integration_spin.h +++ b/src/SPIN/fix_integration_spin.h @@ -51,6 +51,7 @@ class FixIntegrationSpin : public Fix { int magpair_flag; // magnetic pair flags int exch_flag; int soc_neel_flag, soc_dmi_flag; + int me_flag; int magforce_flag; // magnetic force flags int zeeman_flag, aniso_flag; int maglangevin_flag; // magnetic langevin flags @@ -62,6 +63,7 @@ class FixIntegrationSpin : public Fix { class PairSpinExchange *lockpairspinexchange; class PairSpinSocNeel *lockpairspinsocneel; class PairSpinSocDmi *lockpairspinsocdmi; + class PairSpinMe *lockpairspinme; class FixForceSpin *lockforcespin; class FixLangevinSpin *locklangevinspin; diff --git a/src/SPIN/pair_spin_me.cpp b/src/SPIN/pair_spin_me.cpp index 3c6f4fa7ed..1fc4cc6c44 100755 --- a/src/SPIN/pair_spin_me.cpp +++ b/src/SPIN/pair_spin_me.cpp @@ -42,11 +42,12 @@ PairSpinMe::PairSpinMe(LAMMPS *lmp) : Pair(lmp) { hbar = force->hplanck/MY_2PI; - newton_pair_spin = 0; // no newton pair for now + //newton_pair_spin = 0; // no newton pair for now // newton_pair = 0; single_enable = 0; me_flag = 0; + me_mech_flag = 0; no_virial_fdotr_compute = 1; } @@ -60,6 +61,7 @@ PairSpinMe::~PairSpinMe() memory->destroy(cut_spin_me); memory->destroy(ME); + memory->destroy(ME_mech); memory->destroy(v_mex); memory->destroy(v_mey); memory->destroy(v_mez); @@ -150,7 +152,8 @@ void PairSpinMe::compute(int eflag, int vflag) if (me_flag){ cut_me_2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; if (rsq <= cut_me_2){ - compute_me(i,j,fmi,fmj,spi,spj); + compute_me(i,j,rij,fmi,spi,spj); + compute_me_mech(i,j,fi,spi,spj); } } @@ -161,14 +164,11 @@ void PairSpinMe::compute(int eflag, int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; -// if (newton_pair || j < nlocal) { => to be corrected - if (newton_pair_spin) { + if (newton_pair || j < nlocal) { // => to be corrected +// if (newton_pair_spin) { f[j][0] += fj[0]; f[j][1] += fj[1]; f[j][2] += fj[2]; - fm[j][0] += fmj[0]; - fm[j][1] += fmj[1]; - fm[j][2] += fmj[2]; } if (eflag) { @@ -189,30 +189,29 @@ void PairSpinMe::compute(int eflag, int vflag) } - /* ---------------------------------------------------------------------- */ -void PairSpinMe::compute_me(int i, int j, double fmi[3], double fmj[3], double spi[3], double spj[3]) +void PairSpinMe::compute_me(int i, int j, double eij[3], double fmi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; itype = type[i]; jtype = type[j]; - double **x = atom->x; double meix,meiy,meiz; - double rx, ry, rz, inorm; + double rx, ry, rz; + double vx, vy, vz; - rx = x[j][0] - x[i][0]; - ry = x[j][1] - x[i][1]; - rz = x[j][2] - x[i][2]; - inorm = 1.0/sqrt(rx*rx+ry*ry+rz*rz); - rx *= inorm; - ry *= inorm; - rz *= inorm; + rx = eij[0]; + ry = eij[1]; + rz = eij[2]; - meix = v_mey[itype][jtype]*rz - v_mez[itype][jtype]*ry; - meiy = v_mez[itype][jtype]*rx - v_mex[itype][jtype]*rz; - meiz = v_mex[itype][jtype]*ry - v_mey[itype][jtype]*rx; + vx = v_mex[itype][jtype]; + vy = v_mey[itype][jtype]; + vz = v_mez[itype][jtype]; + + meix = vy*rz - vz*ry; + meiy = vz*rx - vx*rz; + meiz = vx*ry - vy*rx; meix *= ME[itype][jtype]; meiy *= ME[itype][jtype]; @@ -221,13 +220,39 @@ void PairSpinMe::compute_me(int i, int j, double fmi[3], double fmj[3], double fmi[0] += spj[1]*meiz - spj[2]*meiy; fmi[1] += spj[2]*meix - spj[0]*meiz; fmi[2] += spj[0]*meiy - spj[1]*meix; - - fmj[0] -= spi[1]*meiz - spi[2]*meiy; - fmj[1] -= spi[2]*meix - spi[0]*meiz; - fmj[2] -= spi[0]*meiy - spi[1]*meix; } +/* ---------------------------------------------------------------------- */ + +void PairSpinMe::compute_me_mech(int i, int j, double fi[3], double spi[3], double spj[3]) +{ + int *type = atom->type; + int itype, jtype; + itype = type[i]; + jtype = type[j]; + + double meix,meiy,meiz; + double vx, vy, vz; + + vx = v_mex[itype][jtype]; + vy = v_mey[itype][jtype]; + vz = v_mez[itype][jtype]; + + meix = spi[1]*spi[2] - spi[2]*spj[1]; + meiy = spi[2]*spi[0] - spi[0]*spj[2]; + meiz = spi[0]*spi[1] - spi[1]*spj[0]; + + meix *= ME_mech[itype][jtype]; + meiy *= ME_mech[itype][jtype]; + meiz *= ME_mech[itype][jtype]; + + fi[0] = meiy*vz - meiz*vy; + fi[1] = meiz*vx - meix*vz; + fi[2] = meix*vy - meiy*vx; + +} + /* ---------------------------------------------------------------------- allocate all arrays ------------------------------------------------------------------------- */ @@ -242,11 +267,12 @@ void PairSpinMe::allocate() for (int j = i; j <= n; j++) setflag[i][j] = 0; - memory->create(cut_spin_me,n+1,n+1,"pair:cut_spin_me"); - memory->create(ME,n+1,n+1,"pair:ME"); - memory->create(v_mex,n+1,n+1,"pair:ME_vector_x"); - memory->create(v_mey,n+1,n+1,"pair:ME_vector_y"); - memory->create(v_mez,n+1,n+1,"pair:ME_vector_z"); + memory->create(cut_spin_me,n+1,n+1,"pair/spin/me:cut_spin_me"); + memory->create(ME,n+1,n+1,"pair/spin/me:ME"); + memory->create(ME_mech,n+1,n+1,"pair/spin/me:ME_mech"); + memory->create(v_mex,n+1,n+1,"pair/spin/me:ME_vector_x"); + memory->create(v_mey,n+1,n+1,"pair/spin/me:ME_vector_y"); + memory->create(v_mez,n+1,n+1,"pair/spin/me:ME_vector_z"); memory->create(cutsq,n+1,n+1,"pair:cutsq"); @@ -297,7 +323,7 @@ void PairSpinMe::coeff(int narg, char **arg) force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); const double rij = force->numeric(FLERR,arg[3]); - const double me = (force->numeric(FLERR,arg[4]))/hbar; + const double me = (force->numeric(FLERR,arg[4])); double mex = force->numeric(FLERR,arg[5]); double mey = force->numeric(FLERR,arg[6]); double mez = force->numeric(FLERR,arg[7]); @@ -311,7 +337,8 @@ void PairSpinMe::coeff(int narg, char **arg) for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { cut_spin_me[i][j] = rij; - ME[i][j] = me; + ME[i][j] = me/hbar; + ME_mech[i][j] = me; v_mex[i][j] = mex; v_mey[i][j] = mey; v_mez[i][j] = mez; @@ -337,12 +364,9 @@ void PairSpinMe::init_style() neighbor->request(this,instance_me); // check this half/full request => to be corrected/reviewed -#define FULLNEI -#if defined FULLNEI int irequest = neighbor->request(this,instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; -#endif } diff --git a/src/SPIN/pair_spin_me.h b/src/SPIN/pair_spin_me.h index 31e0d8b560..18b7ffbb00 100755 --- a/src/SPIN/pair_spin_me.h +++ b/src/SPIN/pair_spin_me.h @@ -39,9 +39,11 @@ class PairSpinMe : public Pair { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_me(int, int, double fmi[3], double fmj[3], double spi[3], double spj[3]); + void compute_me(int, int, double [3], double [3], double [3], double [3]); + void compute_me_mech(int, int, double [3], double [3], double [3]); int me_flag; // me flag + int me_mech_flag; // mech calculation flag double cut_spin_me_global; // global me cutoff double **cut_spin_me; // me cutoff distance @@ -50,7 +52,7 @@ class PairSpinMe : public Pair { int newton_pair_spin; double hbar; - double **ME; // me coeff in eV + double **ME, **ME_mech; // me coeff in eV double **v_mex, **v_mey, **v_mez; // me direction void allocate(); diff --git a/src/SPIN/pair_spin_soc_neel.h b/src/SPIN/pair_spin_soc_neel.h index ee675b36c7..b02731b214 100755 --- a/src/SPIN/pair_spin_soc_neel.h +++ b/src/SPIN/pair_spin_soc_neel.h @@ -39,8 +39,8 @@ class PairSpinSocNeel : public Pair { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_soc_neel(int, int, double, double eij[3], double fmi[3], double spi[3], double spj[3]); - void compute_soc_mech_neel(int, int, double, double eij[3], double fi[3], double spi[3], double spj[3]); + void compute_soc_neel(int, int, double, double [3], double [3], double [3], double [3]); + void compute_soc_mech_neel(int, int, double, double [3], double [3], double [3], double [3]); int soc_neel_flag; // soc neel flag int soc_mech_flag; // mech calculation flag -- GitLab From 5b93fc6a273824087f71de1a8dc65b2ca7592855 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 16 Jan 2018 12:50:00 -0700 Subject: [PATCH 064/675] Commit JT 011617 --- examples/SPIN/in.spin.bfo | 7 ++- src/SPIN/compute_spin.cpp | 4 +- src/SPIN/fix_force_spin.cpp | 29 +++++----- src/SPIN/fix_force_spin.h | 6 +- src/SPIN/fix_integration_spin.cpp | 92 ++++++++++++++++++++++--------- src/SPIN/fix_integration_spin.h | 2 + src/SPIN/pair_spin_me.cpp | 14 ++--- 7 files changed, 96 insertions(+), 58 deletions(-) diff --git a/examples/SPIN/in.spin.bfo b/examples/SPIN/in.spin.bfo index 1ceeb86614..bf42a31c67 100644 --- a/examples/SPIN/in.spin.bfo +++ b/examples/SPIN/in.spin.bfo @@ -23,7 +23,7 @@ atom_modify map array #Lattice constant of sc Iron atoms of BFO lattice sc 3.96 -region box block 0.0 17.0 0.0 17.0 0.0 5.0 +region box block 0.0 34.0 0.0 34.0 0.0 5.0 create_box 1 box create_atoms 1 box @@ -53,13 +53,14 @@ neigh_modify every 10 check yes delay 20 #Type | Intensity (T or eV) | Direction #fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 fix 1 all force/spin anisotropy 0.0000035 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.0 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) #Temp | Alpha_trans | Alpha_long | Seed -fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix -fix 3 all integration/spin serial +fix 3 all integration/spin serial lattice no #Setting the timestep for the simulation (in ps) timestep 0.0001 diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index a7069fa808..313250b6e9 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -106,9 +106,7 @@ void ComputeSpin::compute_vector() mag[0] += sp[i][0]; mag[1] += sp[i][1]; mag[2] += sp[i][2]; - magenergy -= sp[i][0]*fm[i][0]; - magenergy -= sp[i][1]*fm[i][1]; - magenergy -= sp[i][2]*fm[i][2]; + magenergy -= (sp[i][0]*fm[i][0] + sp[i][1]*fm[i][1] + sp[i][2]*fm[i][2]); tx = sp[i][1]*fm[i][2]-sp[i][2]*fm[i][1]; ty = sp[i][2]*fm[i][0]-sp[i][0]*fm[i][2]; tz = sp[i][0]*fm[i][1]-sp[i][1]*fm[i][0]; diff --git a/src/SPIN/fix_force_spin.cpp b/src/SPIN/fix_force_spin.cpp index 921a9964bb..d9ee1e8457 100644 --- a/src/SPIN/fix_force_spin.cpp +++ b/src/SPIN/fix_force_spin.cpp @@ -187,22 +187,23 @@ void FixForceSpin::post_force(int vflag) emag = 0.0; for (int i = 0; i < nlocal; i++) { + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; fmi[0] = fmi[1] = fmi[2] = 0.0; - if (zeeman_flag) { + + if (zeeman_flag) { // compute Zeeman interaction compute_zeeman(i,fmi); - emag -= sp[i][0] * fmi[0]; - emag -= sp[i][1] * fmi[1]; - emag -= sp[i][2] * fmi[2]; + emag -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + emag *= hbar; } - if (aniso_flag) { - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; + + if (aniso_flag) { // compute magnetic anisotropy compute_anisotropy(i,spi,fmi); - emag -= 0.5 * sp[i][0] * fmi[0]; - emag -= 0.5 * sp[i][1] * fmi[1]; - emag -= 0.5 * sp[i][2] * fmi[2]; + emag -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + emag *= hbar; } + fm[i][0] += fmi[0]; fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; @@ -259,16 +260,12 @@ void FixForceSpin::set_magneticforce() double FixForceSpin::compute_scalar() { - double emag_all = 0.0; - // only sum across procs one time + //printf("test inside compute_scalar \n"); if (eflag == 0) { MPI_Allreduce(&emag,&emag_all,1,MPI_DOUBLE,MPI_SUM,world); eflag = 1; } - - emag_all *= hbar; - return emag_all; } diff --git a/src/SPIN/fix_force_spin.h b/src/SPIN/fix_force_spin.h index 1f2b36d8e7..dfc526088e 100644 --- a/src/SPIN/fix_force_spin.h +++ b/src/SPIN/fix_force_spin.h @@ -38,8 +38,8 @@ class FixForceSpin : public Fix { double compute_scalar(); int zeeman_flag, aniso_flag; - void compute_zeeman(int, double fmi[3]); - void compute_anisotropy(int, double spi[3], double fmi[3]); + void compute_zeeman(int, double [3]); + void compute_anisotropy(int, double [3], double [3]); protected: int style; // style of the magnetic force @@ -49,7 +49,7 @@ class FixForceSpin : public Fix { int ilevel_respa; int time_origin; int eflag; - double emag; + double emag, emag_all; int varflag; int magfieldstyle; diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index a79d24a570..764f35e49b 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -60,7 +60,9 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : lockpairspinexchange(NULL), lockpairspinsocneel(NULL), lockforcespin(NULL), locklangevinspin(NULL) { - + +//#define INIT1 +#if defined INIT1 if (narg != 4) error->all(FLERR,"Illegal fix integration/spin command"); time_integrate = 1; @@ -77,11 +79,48 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : mpi_flag = 1; } else error->all(FLERR,"Illegal fix integration/spin command"); } else error->all(FLERR,"Illegal fix integration/spin command"); +#endif + + +#define INIT2 +#if defined INIT2 + if (narg < 4) error->all(FLERR,"Illegal fix/integration/spin command"); + + time_integrate = 1; + + extra = NONE; + mpi_flag = NONE; + mech_flag = 1; + + if (strcmp(arg[2],"integration/spin") == 0) { + extra = SPIN; + } else error->all(FLERR,"Illegal fix integration/spin command"); + + int iarg = 3; + while (iarg < narg) { + if (strcmp(arg[iarg],"serial") == 0){ + mpi_flag = 0; + iarg += 1; + } else if (strcmp(arg[iarg],"mpi") == 0) { + mpi_flag = 1; + iarg += 1; + } else if (strcmp(arg[iarg],"lattice") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal fix/integration/spin command"); + if (strcmp(arg[iarg+1],"no") == 0) mech_flag = 0; + else if (strcmp(arg[iarg+1],"yes") == 0) mech_flag = 1; + else error->all(FLERR,"Illegal fix/integration/spin command"); + iarg += 2; + } else error->all(FLERR,"Illegal fix langevin command"); + } - // error checks +#endif + if (extra == SPIN && !atom->mumag_flag) error->all(FLERR,"Fix integration/spin requires spin attribute mumag"); + if (mpi_flag = NONE) + error->all(FLERR,"Illegal fix/integration/spin command"); + magpair_flag = 0; exch_flag = 0; soc_neel_flag = soc_dmi_flag = 0; @@ -97,13 +136,11 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : FixIntegrationSpin::~FixIntegrationSpin() { - memory->destroy(rsec); memory->destroy(stack_head); memory->destroy(stack_foot); memory->destroy(forward_stacks); memory->destroy(backward_stacks); - } /* ---------------------------------------------------------------------- */ @@ -225,14 +262,16 @@ void FixIntegrationSpin::initial_integrate(int vflag) int *mask = atom->mask; // update half v for all atoms - - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - if (rmass) dtfm = dtf / rmass[i]; - else dtfm = dtf / mass[type[i]]; - v[i][0] += dtfm * f[i][0]; - v[i][1] += dtfm * f[i][1]; - v[i][2] += dtfm * f[i][2]; + + if (mech_flag) { + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + if (rmass) dtfm = dtf / rmass[i]; + else dtfm = dtf / mass[type[i]]; + v[i][0] += dtfm * f[i][0]; + v[i][1] += dtfm * f[i][1]; + v[i][2] += dtfm * f[i][2]; + } } } @@ -276,15 +315,16 @@ void FixIntegrationSpin::initial_integrate(int vflag) // update x for all particles - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - x[i][0] += dtv * v[i][0]; - x[i][1] += dtv * v[i][1]; - x[i][2] += dtv * v[i][2]; + if (mech_flag) { + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + x[i][0] += dtv * v[i][0]; + x[i][1] += dtv * v[i][1]; + x[i][2] += dtv * v[i][2]; } + } } - // update half s for all particles if (extra == SPIN) { @@ -675,13 +715,15 @@ void FixIntegrationSpin::final_integrate() // update half v for all particles - for (int i = 0; i < nlocal; i++) { - if (mask[i] & groupbit) { - if (rmass) dtfm = dtf / rmass[i]; - else dtfm = dtf / mass[type[i]]; - v[i][0] += dtfm * f[i][0]; - v[i][1] += dtfm * f[i][1]; - v[i][2] += dtfm * f[i][2]; + if (mech_flag) { + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + if (rmass) dtfm = dtf / rmass[i]; + else dtfm = dtf / mass[type[i]]; + v[i][0] += dtfm * f[i][0]; + v[i][1] += dtfm * f[i][1]; + v[i][2] += dtfm * f[i][2]; + } } } diff --git a/src/SPIN/fix_integration_spin.h b/src/SPIN/fix_integration_spin.h index 7f55368922..6d79b7d6e6 100644 --- a/src/SPIN/fix_integration_spin.h +++ b/src/SPIN/fix_integration_spin.h @@ -45,6 +45,8 @@ class FixIntegrationSpin : public Fix { protected: int extra, mpi_flag; + int mech_flag; // mech_flag = 0 if spins only + // mech_flag = 1 if spin-lattice calc. double dtv,dtf,dts; // velocity, force, and spin timesteps diff --git a/src/SPIN/pair_spin_me.cpp b/src/SPIN/pair_spin_me.cpp index 1fc4cc6c44..575b5f53d4 100755 --- a/src/SPIN/pair_spin_me.cpp +++ b/src/SPIN/pair_spin_me.cpp @@ -164,18 +164,16 @@ void PairSpinMe::compute(int eflag, int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; - if (newton_pair || j < nlocal) { // => to be corrected -// if (newton_pair_spin) { - f[j][0] += fj[0]; - f[j][1] += fj[1]; - f[j][2] += fj[2]; + // check newton pair => see if needs correction + if (newton_pair || j < nlocal) { + f[j][0] -= fj[0]; + f[j][1] -= fj[1]; + f[j][2] -= fj[2]; } if (eflag) { if (rsq <= cut_me_2) { - evdwl -= spi[0]*fmi[0]; - evdwl -= spi[1]*fmi[1]; - evdwl -= spi[2]*fmi[2]; + evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); evdwl *= hbar; } else evdwl = 0.0; } -- GitLab From 3abb7f0eafe49ff802d3dc361c2ebcb600886776 Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 17 Jan 2018 14:24:34 -0700 Subject: [PATCH 065/675] Commit JT 011718 Correction bug in fix/integration/spin --- examples/SPIN/in.spin.cobalt | 4 +-- src/SPIN/fix_integration_spin.cpp | 43 ++++++++++--------------------- src/SPIN/fix_integration_spin.h | 3 ++- 3 files changed, 18 insertions(+), 32 deletions(-) diff --git a/examples/SPIN/in.spin.cobalt b/examples/SPIN/in.spin.cobalt index ce3008d3d4..36d3cfd85f 100644 --- a/examples/SPIN/in.spin.cobalt +++ b/examples/SPIN/in.spin.cobalt @@ -6,7 +6,7 @@ clear units metal dimension 3 #boundary p p p -boundary p p f +boundary p p p #newton off @@ -119,6 +119,6 @@ thermo_modify format float %20.15g dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 10000 +run 10 #run 10000 diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index 764f35e49b..dc91b5cc9f 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -60,30 +60,7 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : lockpairspinexchange(NULL), lockpairspinsocneel(NULL), lockforcespin(NULL), locklangevinspin(NULL) { - -//#define INIT1 -#if defined INIT1 - if (narg != 4) error->all(FLERR,"Illegal fix integration/spin command"); - - time_integrate = 1; - - extra = NONE; - mpi_flag = NONE; - - int iarg = 2; - if (strcmp(arg[iarg],"integration/spin") == 0) { - extra = SPIN; - if (strcmp(arg[iarg+1],"serial") == 0){ - mpi_flag = 0; - } else if (strcmp(arg[iarg+1],"mpi") == 0) { - mpi_flag = 1; - } else error->all(FLERR,"Illegal fix integration/spin command"); - } else error->all(FLERR,"Illegal fix integration/spin command"); -#endif - -#define INIT2 -#if defined INIT2 if (narg < 4) error->all(FLERR,"Illegal fix/integration/spin command"); time_integrate = 1; @@ -97,6 +74,7 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : } else error->all(FLERR,"Illegal fix integration/spin command"); int iarg = 3; + while (iarg < narg) { if (strcmp(arg[iarg],"serial") == 0){ mpi_flag = 0; @@ -113,12 +91,10 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : } else error->all(FLERR,"Illegal fix langevin command"); } -#endif - if (extra == SPIN && !atom->mumag_flag) error->all(FLERR,"Fix integration/spin requires spin attribute mumag"); - if (mpi_flag = NONE) + if (mpi_flag == NONE) error->all(FLERR,"Illegal fix/integration/spin command"); magpair_flag = 0; @@ -231,15 +207,24 @@ void FixIntegrationSpin::init() // perform the sectoring if mpi integration - if (mpi_flag) sectoring(); + if (mpi_flag) { + sectoring(); + + // grow tables of stacking variables + + stack_head = memory->grow(stack_head,nsectors,"integration/spin:stack_head"); + stack_foot = memory->grow(stack_foot,nsectors,"integration/spin:stack_foot"); + forward_stacks = memory->grow(forward_stacks,atom->nmax,"integration/spin:forward_stacks"); + backward_stacks = memory->grow(backward_stacks,atom->nmax,"integration/spin:backward_stacks"); + } // grow tables of stacking variables - + /* stack_head = memory->grow(stack_head,nsectors,"integration/spin:stack_head"); stack_foot = memory->grow(stack_foot,nsectors,"integration/spin:stack_foot"); forward_stacks = memory->grow(forward_stacks,atom->nmax,"integration/spin:forward_stacks"); backward_stacks = memory->grow(backward_stacks,atom->nmax,"integration/spin:backward_stacks"); - +*/ } /* ---------------------------------------------------------------------- */ diff --git a/src/SPIN/fix_integration_spin.h b/src/SPIN/fix_integration_spin.h index 6d79b7d6e6..15471278ab 100644 --- a/src/SPIN/fix_integration_spin.h +++ b/src/SPIN/fix_integration_spin.h @@ -44,7 +44,8 @@ class FixIntegrationSpin : public Fix { void pre_neighbor(); protected: - int extra, mpi_flag; + int extra; + int mpi_flag; //mpi_flag = if parallel algorithm int mech_flag; // mech_flag = 0 if spins only // mech_flag = 1 if spin-lattice calc. -- GitLab From 05a7e5011fc27306f8d8b95865abdeeea97f4324 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 23 Jan 2018 17:23:05 -0700 Subject: [PATCH 066/675] Commit JT 012318 --- examples/SPIN/in.spin.cobalt | 3 ++- src/SPIN/fix_integration_spin.cpp | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/examples/SPIN/in.spin.cobalt b/examples/SPIN/in.spin.cobalt index 36d3cfd85f..61ffa3f03d 100644 --- a/examples/SPIN/in.spin.cobalt +++ b/examples/SPIN/in.spin.cobalt @@ -87,7 +87,8 @@ neigh_modify every 10 check yes delay 20 #fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix -fix 3 all integration/spin mpi +#fix 3 all integration/spin mpi +fix 3 all integration/spin serial lattice no #compute real time, total magnetization, magnetic energy, and spin temperature #Iteration | Time | Mx | My | Mz | |M| | Em | Tm diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index dc91b5cc9f..a2724b106e 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -88,14 +88,14 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : else if (strcmp(arg[iarg+1],"yes") == 0) mech_flag = 1; else error->all(FLERR,"Illegal fix/integration/spin command"); iarg += 2; - } else error->all(FLERR,"Illegal fix langevin command"); + } else error->all(FLERR,"Illegal fix/integration/spin command"); } if (extra == SPIN && !atom->mumag_flag) error->all(FLERR,"Fix integration/spin requires spin attribute mumag"); - if (mpi_flag == NONE) - error->all(FLERR,"Illegal fix/integration/spin command"); + //if (mpi_flag == NONE) + // error->all(FLERR,"Illegal fix/integration/spin command"); magpair_flag = 0; exch_flag = 0; -- GitLab From 755bda22755f44124d504dfd3345978cfae6eaca Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 1 Feb 2018 15:31:01 -0700 Subject: [PATCH 067/675] Commit JT 020118 --- examples/SPIN/in.spin.cobalt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/SPIN/in.spin.cobalt b/examples/SPIN/in.spin.cobalt index 61ffa3f03d..1f740f0741 100644 --- a/examples/SPIN/in.spin.cobalt +++ b/examples/SPIN/in.spin.cobalt @@ -120,6 +120,5 @@ thermo_modify format float %20.15g dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 10 -#run 10000 +run 1000 -- GitLab From 642c8f9859b9ea3b99fad369efc4d59b71e2b60a Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 5 Feb 2018 14:22:48 -0700 Subject: [PATCH 068/675] Commit JT 020518 Begin work documentation --- doc/src/Eqs/pair_spin_exchange_function.pdf | Bin 0 -> 71498 bytes doc/src/Eqs/pair_spin_exchange_function.tex | 13 +++ .../Eqs/pair_spin_exchange_interaction.pdf | Bin 0 -> 61879 bytes .../Eqs/pair_spin_exchange_interaction.tex | 11 +++ doc/src/compute_spin.txt | 28 ++++-- doc/src/pair_spin_exchange.txt | 82 ++++++++++++++++++ examples/SPIN/in.spin.cobalt | 4 +- src/SPIN/fix_integration_spin.cpp | 1 - 8 files changed, 130 insertions(+), 9 deletions(-) create mode 100644 doc/src/Eqs/pair_spin_exchange_function.pdf create mode 100644 doc/src/Eqs/pair_spin_exchange_function.tex create mode 100644 doc/src/Eqs/pair_spin_exchange_interaction.pdf create mode 100644 doc/src/Eqs/pair_spin_exchange_interaction.tex create mode 100644 doc/src/pair_spin_exchange.txt diff --git a/doc/src/Eqs/pair_spin_exchange_function.pdf b/doc/src/Eqs/pair_spin_exchange_function.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4c80a14de8af12257d7f37e40da1da99970def9d GIT binary patch literal 71498 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

e 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 UqSQ1lb3;QzV=h%ySARDy09pVdL;wH) literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/pair_spin_exchange_function.tex b/doc/src/Eqs/pair_spin_exchange_function.tex new file mode 100644 index 0000000000..054c6992f0 --- /dev/null +++ b/doc/src/Eqs/pair_spin_exchange_function.tex @@ -0,0 +1,13 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath, amssymb, graphics, setspace} + +\begin{document} +\begin{varwidth}{50in} + \begin{equation} + {J}\left( r_{ij} \right) = 4 a \left( \frac{r_{ij}}{d} \right)^2 \left( 1 - b \left( \frac{r_{ij}}{d} \right)^2 \right) e^{-\left( \frac{r_{ij}}{d} + \right)^2 }\Theta (R_c - r_{ij}) \nonumber + \end{equation} +\end{varwidth} +\end{document} diff --git a/doc/src/Eqs/pair_spin_exchange_interaction.pdf b/doc/src/Eqs/pair_spin_exchange_interaction.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d1246c15aab0daa300e114536ae1b729f0a61798 GIT binary patch literal 61879 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 + + + + +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style pair/spin/exchange command :h3 + +[Syntax:] + +pair_style pair/spin/exchange cutoff :pre + +cutoff = global cutoff pair (distance in metal units) :ulb,l + +:ule + +[Examples:] + +pair_style pair/spin/exchange 4.0 +pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff 1 2 exchange 6.0 -0.01575 0.0 1.965 :pre + +[Description:] + +Style {pair/spin/exchange} computes the exchange interaction between +pairs of magnetic spins. + +:c,image(Eqs/pair_spin_exchange_interaction.pdf) + +where si and sj are two neighboring magnetic spins of two particles, +rij = ri - rj is the inter-atomic distance between the two particles, +and J(rij) is a function defining the intensity and the sign of the exchange +interaction. + +This function is defined as: + +:c,image(Eqs/pair_spin_exchange_function.pdf) + +where a, b and d are the three constants defined in the associated "pair_coeff" +command. + +More explanations the {pair/spin/exchange} and its parametrization are reported +in "(Tranchida)"_#Tranchida1. + + + +The {lj/cut} and {lj/cut/coul/long} pair styles support the use of the +{inner}, {middle}, and {outer} keywords of the "run_style +respa"_run_style.html command, meaning the pairwise forces can be + +:line + +[Restrictions:] + +All the {pair/spin} styles are part of the SPIN package. +These styles are only enabled if LAMMPS was built with this package, and +if the atom_style "spin" was declared. +See the "Making LAMMPS"_Section_start.html#start_3 section for more info. + +[Related commands:] + +"eam" + +"pair_coeff"_pair_coeff.html + +[Default:] none + +:line + +:link(Tranchida1) +[(Tranchida)]https://arxiv.org/abs/1801.10233 + diff --git a/examples/SPIN/in.spin.cobalt b/examples/SPIN/in.spin.cobalt index 1f740f0741..dc93920585 100644 --- a/examples/SPIN/in.spin.cobalt +++ b/examples/SPIN/in.spin.cobalt @@ -43,7 +43,7 @@ set group all spin/random 31 1.72 #set group single_spin spin/random 11 1.72 #velocity all create 200 4928459 rot yes dist gaussian -velocity all create 10 4928459 rot yes dist gaussian +velocity all create 200 4928459 rot yes dist gaussian #Magneto-mechanic interactions for bulk fcc Cobalt #pair_style pair/spin/exchange 4.0 @@ -88,7 +88,7 @@ neigh_modify every 10 check yes delay 20 #Magnetic integration fix #fix 3 all integration/spin mpi -fix 3 all integration/spin serial lattice no +fix 3 all integration/spin serial lattice yes #compute real time, total magnetization, magnetic energy, and spin temperature #Iteration | Time | Mx | My | Mz | |M| | Em | Tm diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index a2724b106e..8a21463b7f 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -297,7 +297,6 @@ void FixIntegrationSpin::initial_integrate(int vflag) } else error->all(FLERR,"Illegal fix integration/spin command"); } - // update x for all particles if (mech_flag) { -- GitLab From 6490ee46b775bfe1d5ea9e26887ce7c820248d30 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 6 Feb 2018 10:42:22 -0700 Subject: [PATCH 069/675] Commit JT 020618 - Documentation - Memory leaks solved --- doc/src/Eqs/force_spin_aniso.pdf | Bin 0 -> 54854 bytes doc/src/Eqs/force_spin_aniso.tex | 11 ++++++ doc/src/Eqs/force_spin_zeeman.pdf | Bin 0 -> 55223 bytes doc/src/Eqs/force_spin_zeeman.tex | 11 ++++++ doc/src/fix_force_spin.txt | 51 +++++++++++-------------- doc/src/pair_spin_exchange.txt | 30 +++++---------- examples/SPIN/in.spin.cobalt | 7 ++-- src/SPIN/compute_spin.cpp | 1 + src/SPIN/fix_integration_spin.cpp | 60 +++++++++++------------------- src/SPIN/fix_integration_spin.h | 3 +- src/atom.cpp | 4 ++ 11 files changed, 84 insertions(+), 94 deletions(-) create mode 100644 doc/src/Eqs/force_spin_aniso.pdf create mode 100644 doc/src/Eqs/force_spin_aniso.tex create mode 100644 doc/src/Eqs/force_spin_zeeman.pdf create mode 100644 doc/src/Eqs/force_spin_zeeman.tex diff --git a/doc/src/Eqs/force_spin_aniso.pdf b/doc/src/Eqs/force_spin_aniso.pdf new file mode 100644 index 0000000000000000000000000000000000000000..29a2b49ca6441946964429c0c7ab4970b9cec648 GIT binary patch literal 54854 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≪&h)$F0p@{%wru-f{k2 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%0Dn)@XuB_M>XIkXSH0}rL{4d;dP;JhQl$p(6>>u5* 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 C6AaJ* literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/force_spin_aniso.tex b/doc/src/Eqs/force_spin_aniso.tex new file mode 100644 index 0000000000..d6abfd580d --- /dev/null +++ b/doc/src/Eqs/force_spin_aniso.tex @@ -0,0 +1,11 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath,amssymb,amsthm,bm} +\begin{document} +\begin{varwidth}{50in} + \begin{equation} + \bm{H}_{aniso} = -\sum_{{ i}=1}^{N} K_{an}(\bm{r}_{i})\, \left( \vec{s}_{i} \cdot \vec{n}_{i} \right)^2, \nonumber + \end{equation} +\end{varwidth} +\end{document} diff --git a/doc/src/Eqs/force_spin_zeeman.pdf b/doc/src/Eqs/force_spin_zeeman.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2f53946ae420d796e0f8e1dbfd85ffd6b29dd493 GIT binary patch literal 55223 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 literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/force_spin_zeeman.tex b/doc/src/Eqs/force_spin_zeeman.tex new file mode 100644 index 0000000000..d623ef85ae --- /dev/null +++ b/doc/src/Eqs/force_spin_zeeman.tex @@ -0,0 +1,11 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath,amssymb,amsthm,bm} +\begin{document} +\begin{varwidth}{50in} + \begin{equation} + \bm{H}_{zeeman} = -\mu_{B}\mu_0\sum_{i=0}^{N}g_{i} \vec{s}_{i} \cdot \vec{H}_{ext} \nonumber + \end{equation} +\end{varwidth} +\end{document} diff --git a/doc/src/fix_force_spin.txt b/doc/src/fix_force_spin.txt index 5f4c34ec26..60a70dbf40 100644 --- a/doc/src/fix_force_spin.txt +++ b/doc/src/fix_force_spin.txt @@ -20,14 +20,13 @@ style = {zeeman} or {aniso} :l x y z = vector direction of the field {aniso} args = K x y z K = intensity of the magnetic anisotropy (in eV) - x y z = vector direction of the anisotropy + x y z = vector direction of the anisotropy :pre :ule [Examples:] fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 -fix 1 all force/spin aniso 0.001 0.0 0.0 1.0 - +fix 1 all force/spin aniso 0.001 0.0 0.0 1.0 :pre [Description:] @@ -35,48 +34,40 @@ Impose a force torque to each magnetic spin in the group. Style {zeeman} is used for the simulation of the interaction between the magnetic spins in the defined group and an external -magnetic field. +magnetic field: + +:c,image(Eqs/force_spin_zeeman.pdf) + +with mu0 the vacuum permeability, muB the Bohr magneton (muB = 5.788 eV/T +in metal units), Style {aniso} is used to simulate an easy axis or an easy plane -for the magnetic spins in the defined group. -If K>0, an easy axis is defined, and if K<0, an easy plane is -defined. +for the magnetic spins in the defined group: + +:c,image(Eqs/force_spin_aniso.pdf) + +with n defining the direction of the anisotropy, and K (in eV) its intensity. +If K>0, an easy axis is defined, and if K<0, an easy plane is defined. -In both cases, x y z impose is the vector direction for the force. +In both cases, the choice of (x y z) imposes the vector direction for the force. Only the direction of the vector is important; it's length is ignored. :line - [Restart, fix_modify, output, run start/stop, minimize info:] No information about this fix is written to "binary restart files"_restart.html. -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the gravitational potential energy of the system to the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its forces. Default is the outermost level. - -This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. This scalar is the -gravitational potential energy of the particles in the defined field, -namely mass * (g dot x) for each particles, where x and mass are the -particles position and mass, and g is the gravitational field. The -scalar value calculated by this fix is "extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy -minimization"_minimize.html. +[Restrictions:] -[Restrictions:] none +The {force/spin} style is part of the SPIN package. +This style is only enabled if LAMMPS was built with this package, and +if the atom_style "spin" was declared. +See the "Making LAMMPS"_Section_start.html#start_3 section for more info. [Related commands:] -"atom_style sphere"_atom_style.html, "fix addforce"_fix_addforce.html +"atom_style spin"_atom_style.html [Default:] none diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index cd94984230..7331798088 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -1,11 +1,3 @@ - - - - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) @@ -33,7 +25,7 @@ pair_coeff 1 2 exchange 6.0 -0.01575 0.0 1.965 :pre [Description:] Style {pair/spin/exchange} computes the exchange interaction between -pairs of magnetic spins. +pairs of magnetic spins: :c,image(Eqs/pair_spin_exchange_interaction.pdf) @@ -46,17 +38,14 @@ This function is defined as: :c,image(Eqs/pair_spin_exchange_function.pdf) -where a, b and d are the three constants defined in the associated "pair_coeff" -command. - -More explanations the {pair/spin/exchange} and its parametrization are reported -in "(Tranchida)"_#Tranchida1. +where a, b and d are the three constant coefficients defined in the associated +"pair_coeff" command. +The coefficients a, b, and c need to be fitted so that the function above matches with +the value of the exchange interaction for the N neighbor shells taken into account. - -The {lj/cut} and {lj/cut/coul/long} pair styles support the use of the -{inner}, {middle}, and {outer} keywords of the "run_style -respa"_run_style.html command, meaning the pairwise forces can be +Examles and more explanations about this function and its parametrization are reported +in "(Tranchida)"_#Tranchida1. :line @@ -69,9 +58,8 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. [Related commands:] -"eam" - -"pair_coeff"_pair_coeff.html +"atom_style spin"_atom_style.html, "pair_coeff"_pair_coeff.html, +"pair_eam"_pair_eam.html, [Default:] none diff --git a/examples/SPIN/in.spin.cobalt b/examples/SPIN/in.spin.cobalt index dc93920585..4b0d7c3e64 100644 --- a/examples/SPIN/in.spin.cobalt +++ b/examples/SPIN/in.spin.cobalt @@ -87,8 +87,8 @@ neigh_modify every 10 check yes delay 20 #fix 2 all langevin/spin 0.0 0.0 0.0 21 #Magnetic integration fix -#fix 3 all integration/spin mpi -fix 3 all integration/spin serial lattice yes +fix 3 all integration/spin lattice yes +#fix 3 all integration/spin lattice no #compute real time, total magnetization, magnetic energy, and spin temperature #Iteration | Time | Mx | My | Mz | |M| | Em | Tm @@ -120,5 +120,6 @@ thermo_modify format float %20.15g dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 1000 +run 10 +#run 1000 diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 313250b6e9..fc308b8124 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -54,6 +54,7 @@ ComputeSpin::ComputeSpin(LAMMPS *lmp, int narg, char **arg) : ComputeSpin::~ComputeSpin() { + memory->destroy(vector); } /* ---------------------------------------------------------------------- */ diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index 8a21463b7f..9862310533 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -73,16 +73,20 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : extra = SPIN; } else error->all(FLERR,"Illegal fix integration/spin command"); - int iarg = 3; + // defining mpi_flag + + int nprocs_tmp = comm->nprocs; + if (nprocs_tmp == 1) { + mpi_flag = 0; + } else if (nprocs_tmp >= 1) { + mpi_flag = 1; + } else error->all(FLERR,"Illegal fix/integration/spin command"); + // defining mech_flag + + int iarg = 3; while (iarg < narg) { - if (strcmp(arg[iarg],"serial") == 0){ - mpi_flag = 0; - iarg += 1; - } else if (strcmp(arg[iarg],"mpi") == 0) { - mpi_flag = 1; - iarg += 1; - } else if (strcmp(arg[iarg],"lattice") == 0) { + if (strcmp(arg[iarg],"lattice") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix/integration/spin command"); if (strcmp(arg[iarg+1],"no") == 0) mech_flag = 0; else if (strcmp(arg[iarg+1],"yes") == 0) mech_flag = 1; @@ -94,8 +98,8 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : if (extra == SPIN && !atom->mumag_flag) error->all(FLERR,"Fix integration/spin requires spin attribute mumag"); - //if (mpi_flag == NONE) - // error->all(FLERR,"Illegal fix/integration/spin command"); + if (mpi_flag == 0 && nprocs_tmp == 1) + error->all(FLERR,"Illegal fix/integration/spin command"); magpair_flag = 0; exch_flag = 0; @@ -134,6 +138,7 @@ int FixIntegrationSpin::setmask() void FixIntegrationSpin::init() { + // set timesteps dtv = update->dt; @@ -202,29 +207,20 @@ void FixIntegrationSpin::init() if (locklangevinspin->temp_flag == 1) temp_flag = 1; } - + nsectors = 0; memory->create(rsec,3,"integration/spin:rsec"); // perform the sectoring if mpi integration - if (mpi_flag) { - sectoring(); - - // grow tables of stacking variables - - stack_head = memory->grow(stack_head,nsectors,"integration/spin:stack_head"); - stack_foot = memory->grow(stack_foot,nsectors,"integration/spin:stack_foot"); - forward_stacks = memory->grow(forward_stacks,atom->nmax,"integration/spin:forward_stacks"); - backward_stacks = memory->grow(backward_stacks,atom->nmax,"integration/spin:backward_stacks"); - } + if (mpi_flag) sectoring(); - // grow tables of stacking variables - /* + // grow tables of stacking variables (mpi) + stack_head = memory->grow(stack_head,nsectors,"integration/spin:stack_head"); stack_foot = memory->grow(stack_foot,nsectors,"integration/spin:stack_foot"); forward_stacks = memory->grow(forward_stacks,atom->nmax,"integration/spin:forward_stacks"); backward_stacks = memory->grow(backward_stacks,atom->nmax,"integration/spin:backward_stacks"); -*/ + } /* ---------------------------------------------------------------------- */ @@ -358,7 +354,7 @@ void FixIntegrationSpin::setup_pre_neighbor() } /* ---------------------------------------------------------------------- - store in two linked lists the advance order of the spins + store in two linked lists the advance order of the spins (mpi) ---------------------------------------------------------------------- */ void FixIntegrationSpin::pre_neighbor() @@ -591,23 +587,9 @@ int FixIntegrationSpin::coords2sector(double *x) sublo[dim]=sublotmp[dim]; } -//#define M1 -#if defined M1 - double rix = (x[0] - sublo[0])/rsec[0]; - double riy = (x[1] - sublo[1])/rsec[1]; - double riz = (x[2] - sublo[2])/rsec[2]; - - seci[0] = static_cast(rix); - seci[1] = static_cast(riy); - seci[2] = static_cast(riz); -#endif - -#define M2 -#if defined M2 seci[0] = x[0] > (sublo[0] + rsec[0]); seci[1] = x[1] > (sublo[1] + rsec[1]); seci[2] = x[2] > (sublo[2] + rsec[2]); -#endif nseci = (seci[0] + 2*seci[1] + 4*seci[2]); diff --git a/src/SPIN/fix_integration_spin.h b/src/SPIN/fix_integration_spin.h index 15471278ab..cb41f2337a 100644 --- a/src/SPIN/fix_integration_spin.h +++ b/src/SPIN/fix_integration_spin.h @@ -45,7 +45,8 @@ class FixIntegrationSpin : public Fix { protected: int extra; - int mpi_flag; //mpi_flag = if parallel algorithm + int mpi_flag; // mpi_flag = 0 if serial algorithm + // mpi_flag = 1 if parallel algorithm int mech_flag; // mech_flag = 0 if spins only // mech_flag = 1 if spin-lattice calc. diff --git a/src/atom.cpp b/src/atom.cpp index 86ef309f09..04104272cb 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -278,6 +278,10 @@ Atom::~Atom() memory->destroy(tri); memory->destroy(body); + memory->destroy(mumag); + memory->destroy(sp); + memory->destroy(fm); + memory->destroy(vfrac); memory->destroy(s0); memory->destroy(x0); -- GitLab From 10b38cda9328e03cf4f428ed06b1755c9b545efd Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 8 Feb 2018 11:09:33 -0700 Subject: [PATCH 070/675] commit JT 020818 - documentation v1.0 - reorg. of examples --- doc/src/Eqs/umbrella.jpg | Bin 20442 -> 0 bytes doc/src/atom_style.txt | 9 +++++- doc/src/fix_force_spin.txt | 4 +-- doc/src/fix_integration_spin.txt | 50 ++++++++++++++++-------------- doc/src/fix_langevin_spin.txt | 43 ++++++++++++------------- doc/src/pair_spin_exchange.txt | 16 ++++++++-- src/SPIN/fix_integration_spin.cpp | 2 +- 7 files changed, 71 insertions(+), 53 deletions(-) delete mode 100644 doc/src/Eqs/umbrella.jpg diff --git a/doc/src/Eqs/umbrella.jpg b/doc/src/Eqs/umbrella.jpg deleted file mode 100644 index 5783b54ea34556561221c695f878503a5d755c21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20442 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 diff --git a/doc/src/atom_style.txt b/doc/src/atom_style.txt index 49d9dde791..7ad4e1a88a 100644 --- a/doc/src/atom_style.txt +++ b/doc/src/atom_style.txt @@ -15,7 +15,7 @@ atom_style style args :pre style = {angle} or {atomic} or {body} or {bond} or {charge} or {dipole} or \ {dpd} or {edpd} or {mdpd} or {tdpd} or {electron} or {ellipsoid} or \ {full} or {line} or {meso} or {molecular} or {peri} or {smd} or \ - {sphere} or {tri} or {template} or {hybrid} :ulb,l + {sphere} or {tri} or {template} or {hybrid} or {spin} :ulb,l args = none for any style except the following {body} args = bstyle bstyle-args bstyle = style of body particles @@ -38,6 +38,7 @@ atom_style full atom_style body nparticle 2 10 atom_style hybrid charge bond atom_style hybrid charge body nparticle 2 5 +atom_style spin atom_style template myMols atom_style tdpd 2 :pre @@ -89,6 +90,7 @@ quantities. {peri} | mass, volume | mesocopic Peridynamic models | {smd} | volume, kernel diameter, contact radius, mass | solid and fluid SPH particles | {sphere} | diameter, mass, angular velocity | granular models | +{spin} | magnetic moment | system with magnetic particles | {template} | template index, template atom | small molecules with fixed topology | {tri} | corner points, angular momentum | rigid bodies | {wavepacket} | charge, spin, eradius, etag, cs_re, cs_im | AWPMD :tb(c=3,s=|) @@ -175,6 +177,9 @@ used for calculating the field variables (e.g. stress and deformation) and a contact radius for calculating repulsive forces which prevent individual physical bodies from penetrating each other. +For the {spin} style, a magnetic spin is associated to each atom. +Those spins have a norm (their magnetic moment) and a direction. + The {wavepacket} style is similar to {electron}, but the electrons may consist of several Gaussian wave packets, summed up with coefficients cs= (cs_re,cs_im). Each of the wave packets is treated as a separate @@ -312,6 +317,8 @@ The {meso} style is part of the USER-SPH package for smoothed particle hydrodynamics (SPH). See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in LAMMPS. +The {spin} style is part of the SPIN package. + The {wavepacket} style is part of the USER-AWPMD package for the "antisymmetrized wave packet MD method"_pair_awpmd.html. diff --git a/doc/src/fix_force_spin.txt b/doc/src/fix_force_spin.txt index 60a70dbf40..5e7cff571d 100644 --- a/doc/src/fix_force_spin.txt +++ b/doc/src/fix_force_spin.txt @@ -36,7 +36,7 @@ Style {zeeman} is used for the simulation of the interaction between the magnetic spins in the defined group and an external magnetic field: -:c,image(Eqs/force_spin_zeeman.pdf) +:c,image(Eqs/force_spin_zeeman.jpg) with mu0 the vacuum permeability, muB the Bohr magneton (muB = 5.788 eV/T in metal units), @@ -44,7 +44,7 @@ in metal units), Style {aniso} is used to simulate an easy axis or an easy plane for the magnetic spins in the defined group: -:c,image(Eqs/force_spin_aniso.pdf) +:c,image(Eqs/force_spin_aniso.jpg) with n defining the direction of the anisotropy, and K (in eV) its intensity. If K>0, an easy axis is defined, and if K<0, an easy plane is defined. diff --git a/doc/src/fix_integration_spin.txt b/doc/src/fix_integration_spin.txt index 15840cbfc0..d4e568a4f4 100644 --- a/doc/src/fix_integration_spin.txt +++ b/doc/src/fix_integration_spin.txt @@ -10,33 +10,38 @@ fix integration/spin command :h3 [Syntax:] -fix ID group-ID integration/spin style :pre +fix ID group-ID integration/spin keyword values :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l integration/spin = style name of this fix command :l -style = {serial} or {mpi} :l - {serial} value = factor - factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric scale factor as discussed below :pre - {mpi} +keyword = {lattice} :l + {lattice} value = {no} or {yes} :pre :ule [Examples:] -fix 3 all integration/spin serial -fix 1 all integration/spin mpi +fix 3 all integration/spin lattice yes +fix 1 all integration/spin lattice no :pre [Description:] -A Suzuki-Trotter decomposition is applied to the integration of the -spin-lattice system. +Perform a symplectic integration for the spin or spin-lattice system. -:line +The {lattice} keyword defines if the spins are integrated on a lattice +of fixed atoms (lattice = no), or if atoms are moving (lattice = yes). + +By default (lattice = yes), a spin-lattice integration is performed. + +The {integration/spin} fix applies a Suzuki-Trotter decomposition to +the equations of motion of the spin lattice system, following the scheme: -The {style} value defines if a serial of a parallel -algorithm has to be used for the integration. +:c,image(Eqs/fix_integration_spin_stdecomposition.jpg) -The parallel algorithm uses a sectoring method as -described in . +according to the implementation reported in "(Omelyan)"_#Omelyan1. + +A sectoring enables this scheme for parallel calculations. +The implementation of this sectoring algorithm is reported in +"(Tranchida)"_#Tranchida1. :line @@ -49,17 +54,16 @@ section for more info on packages. [Related commands:] -"fix nve"_fix_nve.html, "pair spin"_pair_spin.html, -"compute spin"_compute_spin.html, "fix langevin spin"_fix_langevin_spin.html, - +"atom_style spin"_atom_style.html, "fix nve"_fix_nve.html [Default:] none :line -:link(Davidchack2) -[(Davidchack)] R.L Davidchack, T.E. Ouldridge, M.V. Tretyakov. J. Chem. Phys. 142, 144114 (2015). -:link(Miller2) -[(Miller)] T. F. Miller III, M. Eleftheriou, P. Pattnaik, A. Ndirango, G. J. Martyna, J. Chem. Phys., 116, 8649-8659 (2002). -:link(Dunweg3) -[(Dunweg)] B. Dunweg, W. Paul, Int. J. Mod. Phys. C, 2, 817-27 (1991). +:link(Omelyan1) +[(Omelyan)] I.P. Omelyan, I.M. Mryglod, R. Folk. Phys. Rev. Lett. +86(5), 898. (2001) + +:link(Tranchida1) +[(Tranchida)] J. Tranchida, S.J. Plimpton, P. Thibaudeau, A.P. Thompson. +arXiv preprint arXiv:1801.10233. (2018) diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index 3b05467e06..71b305dd01 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -26,16 +26,22 @@ fix 2 all langevin/spin 300.0 0.01 0.0 21 :pre [Description:] -Apply a Langevin thermostat as described in "(Mayergoyz)"_#Mayergoyz1 -to the magnetic spins associated to the atoms. -Used with "fix integration spin"_fix_integration_spin.html, this -command performs Brownian dynamics (BD), apply a random torque -and a transverse dissipation to each spin: +Apply a Langevin thermostat as described in "(Mayergoyz)"_#Mayergoyz1 to the +magnetic spins associated to the atoms. +Used with "fix integration spin"_fix_integration_spin.html, this command performs +Brownian dynamics (BD). +A random torque and a transverse dissipation are applied to each spin i according to +the following stochastic differential equation: -Rand torque = -Transverse dmping = -D is proportional to sqrt(Kb T m / (hbar dt damp)) :pre +:c,image(Eqs/fix_langevin_spin_sLLG.jpg) +with lambda the transverse damping, and eta a random verctor. + +The components of eta are drawn from a Gaussian probability law. Their amplitude +is defined as a proportion of the temperature of the external thermostat T (in K +in metal units). + +More details about this implementation are reported in "(Tranchida)"_#Tranchida1. Note: The random # {seed} must be a positive integer. A Marsaglia random number generator is used. Each processor uses the input seed to @@ -59,7 +65,7 @@ This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] The {langevin/spin} fix is part of the SPIN package. -These styles are only enabled if LAMMPS was built with this package. +This style is only enabled if LAMMPS was built with this package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. The numerical integration has to be performed with {fix/integration/spin} @@ -70,22 +76,13 @@ when {langevin/spin} is enabled. "fix integration spin"_fix_integration_spin.html, "pair spin"_pair_spin.html -[Default:] - -The option defaults are angmom = no, omega = no, scale = 1.0 for all -types, tally = no, zero = no, gjf = no. +[Default:] none :line :link(Mayergoyz1) -Mayergoyz, Bertotti, and Serpico (2009). Elsevier (2009) - - - -:link(Schneider1) -[(Schneider)] Schneider and Stoll, Phys Rev B, 17, 1302 (1978). +[(Mayergoyz)] I.D. Mayergoyz, G. Bertotti, C. Serpico (2009). Elsevier (2009) -:link(Gronbech-Jensen) -[(Gronbech-Jensen)] Gronbech-Jensen and Farago, Mol Phys, 111, 983 -(2013); Gronbech-Jensen, Hayre, and Farago, Comp Phys Comm, -185, 524 (2014) +:link(Tranchida1) +[(Tranchida)] J. Tranchida, S.J. Plimpton, P. Thibaudeau, A.P. Thompson. +arXiv preprint arXiv:1801.10233. (2018) diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index 7331798088..95a9c98258 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -27,7 +27,7 @@ pair_coeff 1 2 exchange 6.0 -0.01575 0.0 1.965 :pre Style {pair/spin/exchange} computes the exchange interaction between pairs of magnetic spins: -:c,image(Eqs/pair_spin_exchange_interaction.pdf) +:c,image(Eqs/pair_spin_exchange_interaction.jpg) where si and sj are two neighboring magnetic spins of two particles, rij = ri - rj is the inter-atomic distance between the two particles, @@ -36,7 +36,7 @@ interaction. This function is defined as: -:c,image(Eqs/pair_spin_exchange_function.pdf) +:c,image(Eqs/pair_spin_exchange_function.jpg) where a, b and d are the three constant coefficients defined in the associated "pair_coeff" command. @@ -44,9 +44,19 @@ where a, b and d are the three constant coefficients defined in the associated The coefficients a, b, and c need to be fitted so that the function above matches with the value of the exchange interaction for the N neighbor shells taken into account. -Examles and more explanations about this function and its parametrization are reported +Examples and more explanations about this function and its parametrization are reported in "(Tranchida)"_#Tranchida1. +From this exchange interaction, each spin i will be submitted to a magnetic torque +omega and its associated atom to a force F, such as: + +:c,image(Eqs/pair_spin_exchange_forces.jpg) + +with h the Planck constant (in metal units). + +More details about the derivation of these torques/forces are reported in +"(Tranchida)"_#Tranchida1. + :line [Restrictions:] diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index 9862310533..b5b0247a35 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -98,7 +98,7 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : if (extra == SPIN && !atom->mumag_flag) error->all(FLERR,"Fix integration/spin requires spin attribute mumag"); - if (mpi_flag == 0 && nprocs_tmp == 1) + if (mpi_flag == 0 && nprocs_tmp > 1) error->all(FLERR,"Illegal fix/integration/spin command"); magpair_flag = 0; -- GitLab From 3d18f55155f72b91bf4b5b7e4edad15e0c2edbe4 Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 8 Feb 2018 11:15:01 -0700 Subject: [PATCH 071/675] commit JT 020818 - adding files for doc and reorg. --- .../fix_integration_spin_stdecomposition.jpg | Bin 0 -> 61028 bytes .../fix_integration_spin_stdecomposition.tex | 40 + doc/src/Eqs/fix_langevin_spin_sLLG.jpg | Bin 0 -> 10824 bytes doc/src/Eqs/fix_langevin_spin_sLLG.tex | 14 + doc/src/Eqs/force_spin_aniso.jpg | Bin 0 -> 8079 bytes doc/src/Eqs/force_spin_zeeman.jpg | Bin 0 -> 7483 bytes doc/src/Eqs/pair_spin_exchange_forces.jpg | Bin 0 -> 16283 bytes doc/src/Eqs/pair_spin_exchange_forces.tex | 14 + doc/src/Eqs/pair_spin_exchange_function.jpg | Bin 0 -> 13642 bytes .../Eqs/pair_spin_exchange_interaction.jpg | Bin 0 -> 7154 bytes doc/src/Eqs/pair_spin_me_forces.jpg | Bin 0 -> 15552 bytes doc/src/Eqs/pair_spin_me_forces.tex | 13 + doc/src/Eqs/pair_spin_me_interaction.jpg | Bin 0 -> 17288 bytes doc/src/Eqs/pair_spin_me_interaction.tex | 12 + doc/src/Eqs/pair_spin_soc_dmi_interaction.jpg | Bin 0 -> 8128 bytes doc/src/Eqs/pair_spin_soc_dmi_interaction.tex | 11 + doc/src/pair_spin_me.txt | 73 + doc/src/pair_spin_soc_dmi.txt | 82 + examples/SPIN/bfo/in.spin.bfo | 55 + .../SPIN/cobalt/Co_PurjaPun_2012.eam.alloy | 6006 +++++++++++++++++ examples/SPIN/cobalt/in.spin.cobalt | 59 + .../Co_PurjaPun_2012.eam.alloy | 6006 +++++++++++++++++ examples/SPIN/curie_temperature/compliance.py | 95 + examples/SPIN/curie_temperature/displace.mod | 142 + .../SPIN/curie_temperature/in.spin.cobalt | 59 + .../in.spin.curie_temperature | 204 + examples/SPIN/curie_temperature/init.mod | 55 + examples/SPIN/curie_temperature/potential.mod | 30 + examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy | 6006 +++++++++++++++++ examples/SPIN/dev/in.spin.cobalt | 125 + examples/SPIN/dev/in.spin.kagome | 126 + examples/SPIN/read_restart/in.spin.read_data | 88 + examples/SPIN/read_restart/in.spin.restart | 89 + examples/SPIN/skyrmion/in.spin.skyrmion | 55 + examples/SPIN/vmd/prepare_vmd.sh | 91 + examples/SPIN/vmd/vmd_nano.vmd | 79 + 36 files changed, 19629 insertions(+) create mode 100644 doc/src/Eqs/fix_integration_spin_stdecomposition.jpg create mode 100644 doc/src/Eqs/fix_integration_spin_stdecomposition.tex create mode 100644 doc/src/Eqs/fix_langevin_spin_sLLG.jpg create mode 100644 doc/src/Eqs/fix_langevin_spin_sLLG.tex create mode 100644 doc/src/Eqs/force_spin_aniso.jpg create mode 100644 doc/src/Eqs/force_spin_zeeman.jpg create mode 100644 doc/src/Eqs/pair_spin_exchange_forces.jpg create mode 100644 doc/src/Eqs/pair_spin_exchange_forces.tex create mode 100644 doc/src/Eqs/pair_spin_exchange_function.jpg create mode 100644 doc/src/Eqs/pair_spin_exchange_interaction.jpg create mode 100644 doc/src/Eqs/pair_spin_me_forces.jpg create mode 100644 doc/src/Eqs/pair_spin_me_forces.tex create mode 100644 doc/src/Eqs/pair_spin_me_interaction.jpg create mode 100644 doc/src/Eqs/pair_spin_me_interaction.tex create mode 100644 doc/src/Eqs/pair_spin_soc_dmi_interaction.jpg create mode 100644 doc/src/Eqs/pair_spin_soc_dmi_interaction.tex create mode 100644 doc/src/pair_spin_me.txt create mode 100644 doc/src/pair_spin_soc_dmi.txt create mode 100644 examples/SPIN/bfo/in.spin.bfo create mode 100644 examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy create mode 100644 examples/SPIN/cobalt/in.spin.cobalt create mode 100644 examples/SPIN/curie_temperature/Co_PurjaPun_2012.eam.alloy create mode 100755 examples/SPIN/curie_temperature/compliance.py create mode 100644 examples/SPIN/curie_temperature/displace.mod create mode 100644 examples/SPIN/curie_temperature/in.spin.cobalt create mode 100644 examples/SPIN/curie_temperature/in.spin.curie_temperature create mode 100644 examples/SPIN/curie_temperature/init.mod create mode 100644 examples/SPIN/curie_temperature/potential.mod create mode 100644 examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy create mode 100644 examples/SPIN/dev/in.spin.cobalt create mode 100644 examples/SPIN/dev/in.spin.kagome create mode 100644 examples/SPIN/read_restart/in.spin.read_data create mode 100644 examples/SPIN/read_restart/in.spin.restart create mode 100644 examples/SPIN/skyrmion/in.spin.skyrmion create mode 100755 examples/SPIN/vmd/prepare_vmd.sh create mode 100644 examples/SPIN/vmd/vmd_nano.vmd diff --git a/doc/src/Eqs/fix_integration_spin_stdecomposition.jpg b/doc/src/Eqs/fix_integration_spin_stdecomposition.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c2a4d50eaf1456e56c03bcf41dd85830e9f41c7e GIT binary patch literal 61028 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 literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/fix_integration_spin_stdecomposition.tex b/doc/src/Eqs/fix_integration_spin_stdecomposition.tex new file mode 100644 index 0000000000..8c7baf296d --- /dev/null +++ b/doc/src/Eqs/fix_integration_spin_stdecomposition.tex @@ -0,0 +1,40 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath,amssymb,amsthm,bm,tikz} +\usetikzlibrary{automata,arrows,shapes,snakes} +\begin{document} +\begin{varwidth}{50in} +\begin{tikzpicture} + +%Global +\node (v1) at (0,6.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{v} \leftarrow \bm{v}+L_v.\Delta t/2$ }; +\node (s1) at (0,4.5) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{s} \leftarrow \bm{s}+L_s.\Delta t/2$ }; +\node (r) at (0,3.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{r} \leftarrow \bm{r}+L_r.\Delta t$ }; +\node (s2) at (0,1.5) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{s} \leftarrow \bm{s}+L_s.\Delta t/2$ }; +\node (v2) at (0,0.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{v} \leftarrow \bm{v}+L_v.\Delta t/2$ }; + +\draw[line width=2pt, ->] (v1) -- (s1); +\draw[line width=2pt, ->] (s1) -- (r); +\draw[line width=2pt, ->] (r) -- (s2); +\draw[line width=2pt, ->] (s2) -- (v2); + +%Spin +\node (s01) at (6,6.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_0 \leftarrow \bm{s}_0+L_{s_0}.\Delta t/4$ }; +\node (sN1) at (6,4.5) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_{\rm N-1}\leftarrow\bm{s}_{\rm N-1}+L_{s_{\rm N-1}}.\Delta t/4$}; +\node (sN) at (6,3.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_{\rm N} \leftarrow \bm{s}_{\rm N}+L_{s_{\rm N}}.\Delta t/2$ }; +\node (sN2) at (6,1.5) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_{\rm N-1}\leftarrow\bm{s}_{\rm N-1}+L_{s_{\rm N-1}}.\Delta t/4$}; +\node (s02) at (6,0.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_0 \leftarrow \bm{s}_0+L_{s_0}.\Delta t/4$ }; + +\draw[line width=2pt,dashed, ->] (s01) -- (sN1); +\draw[line width=2pt, ->] (sN1) -- (sN); +\draw[line width=2pt, ->] (sN) -- (sN2); +\draw[line width=2pt,dashed, ->] (sN2) -- (s02); + +%from Global to Spin +\draw[line width=2pt, dashed, ->] (s1) -- (s01.west); +\draw[line width=2pt, dashed, ->] (s1) -- (s02.west); + +\end{tikzpicture} +\end{varwidth} +\end{document} diff --git a/doc/src/Eqs/fix_langevin_spin_sLLG.jpg b/doc/src/Eqs/fix_langevin_spin_sLLG.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a82c068fb7791b7678f85112f710b7de9534cfd7 GIT binary patch literal 10824 zcmex=kXewyp5f)I@9#3VozRqSYlU`gGv0v_fDcjt7F;>9U;5rmQPk{N+kcp%~|)mTbYRe11ZE6tqrG zX`a!RmBKFly3?a4IWwD0=!los(I;#LH9K{KLru&Y(r%79SI&QG1 z#0p*A)1J8NWns#coh+&aY@NHj zC25J)QI&Ozw)V}9EK7QAXpk$hJ0UOOt@doq@B3Hm?km@?Fllc=JzP@eb{#10jqm ze~zrNWmo7gw#ZRi7xFG+T7bc?f1Y1aZ1Q z+uJ1?V$kWmY-WpL5bI|ivBnLBjQ0$`1TWUqIA=CHP5JT6k6w>`)@By=#`GrKd+jjfct6vV4*A1qb9SRlS)FZHLfN;9PvxD=n2^n(q}D|P%$N=O|b*d03EteM?o$TP{Z9%Iu%pvi~+t zW0Z26pVnf|C^~PJe6+F8)h}6W&SrM=>bCrQXy^@kn96j;q$%E&~87VKaUKX|dYphpWtCd-u@cJ=F?TR^B{4XXo&E?I`{(Ri~ zc=7Ak51u|wd6b?3HR1%n80UoJN2an(bve@|de~XW*~|42%fSN{?2G|2;@6gk|CVW8 z`EJ|xp1Iqauf9-7>TZlQbm-;m(OH}Ew@~nU+=lX&J&jj>h4?kSa_np=pKg$_tK+Eb zwaIDg3q70ee-LF{y2F>%UH07S*z&do>NgktHQpKStF1FVes15_9TlH6@^&djWD7V7 zUOoQw(eh-gmOA_O?UVZ_AN{o>a>uP-jqhLAu3Bf#Ae1;a{4V$RS$}F9^48AOiS>Up z!TI>y^=YPxoe5h%74EZtqr$wYX3m}u&la>W=@jf_V*NQ|rp|>3P@&6pFkkmk)}&>d zW6tGV;#rfkh(myN)fFc8n2V==70t?i^*}F>qxBryx+%M54;-I<>3N@+Sl{yt7cO47 zFhyN`iVUZWx_S$L9mR=+gE4n!-MzkY4c{7{yIlt!6>fAt=jqHCvTlJ`O3$65$4>kf z+ok<=)`WqhXDL*YM zAD(sOV2OBG#KQgA&?s`j4^h5*YU?g#bDo)bR^jNeqYCpFQg!_wlpeaXB3vVG-!x`P zf$uTTU%fiLPKLX)HqPVG#7w!`THajVicN)`P6m?SMJ{pa=HoGtjzP=1eTLoDx?x)|%15z=2}|1*?v z7>nu^{?SO14K$HGC8gCmu}PubkWWWy#-;U=5w}?EFCRglEP>M~?m{y^b$i_wU;F`DW23#-(qY?%$T%bD)di<5exM zpLdsYUuEa&*nO?WeWz)XfXpPby;eP^H5Te(mFPF_D= zE5G>rjrCvuGkCp{4gat{_C?BGi2(k+vK!r>Pyd#-qki{$hTj)&i_}%tr)9VQ-uHp( zQesT&@~>|Bda;^0tm|U7&6KyP<>slZ6-Fo7OV^#_Q?OV5t8DMj)#+aHP%-jl{?X+d zY||Hfk&s*Eug%Y|p!}a!}E@F*C$JKovM)C z{_WnXTQBxkc1E!=Y?Y8&%eMC7iFLP^oxb8(SABKyOs3n1tR~m$Us$OS@#FA^nRn}I z9>4n_BRW~{ny#^YrzX#VyKVissfOEFKc`;F;&+fa!?p8OQD1WQhNqwM@b~j$P_vNv~5|R~=31+Prvant|Km6MoAUEHdUW zR#I55YM8k3(^r)u<%LU&w-oODxOmgo66bmHTf5fO?wh}6)BfM8zZL2&xz}gQz5M(9 zKf|7Uq2CQ3_5U3Gc>R~@ffAc38&+s*Xe*S)%5i@G;N!^_FlS*`;54x-qPA)Cw$CpN&7a`RK(1YZRJReHRs-UhzieN%W~zriP2M*%h}K2ALSNx(eGXolFbJ zwp^mEc5C`&7FIE~YgeD=O7BenE-YZbu(UBfNApunbzZjV(tzZrPAe;Uic4zW$R_f> zF0r>-w#(w$Ip$A(?n#Ur!tFU+LiAQL#Pg}FF`QAj@FizN#(##>6_>0Fa;7?QOKjeI z#8F^>!s_HFRw*{_%URrQq&Qu3#FsYp_Z+(Vwsg`Tm+Y0VA7}aae(Brfs;K8UUtN2a z5ZmjrQ%^3eXSx&es{M|uYEY#+b79GkIy=7Iw^$>5AFtWatvC1L=_5y8#ohg#+C1Z6 z<0#x=QPO`86u1c|nSHs_ zvZ~NH#4PJ}L)$*HoZssCkAzk|GGdnBsr1m~^h7pMzPm>pU6;Dr`c|yr3Yc_rrex7I zdzH35%1_p28LH&$yTUf(hXM2YTUFkkVM02+J2Sr-{0Q^A@BH%OG9!l!pGQiT!7^V& zr>5x^6?vb0xMh*V6P}7*&C5lHPHcKSX=T!ypEHluoIi4_++Nv6_50F|t3~U#?mc}o z>pw&6@5gJuh0m4gUaDSEcHZNi-L?0h4F5fN`|m;H>ss}zU)F6GeEqLI=&iUi^%@5oY74Fw4^|>hFO~8n0@%91WYvXTZp@OXWzzoAXY3!jq=UPk+fGD6}D{ z*3Mb^f{&YrTWYP&9i6$n2G84{9qSc6d@I^^=Y(4d0XtqVoxhH6*H#U+N*RVwtG|7E zr&*8oOPzau`Kjg<1>ul+TW1H{SiMuj*h5ovo8hxL>lJPks;MR9{?**Vv^{9?b?rFW z6ZY)_fBc&_emdUPt30Fdz|!CiGj=WamYFQEM`BLqB-Y67id+vi&kmE~a_3kPm1dSu z#}?0TCC_20v~~Kqeu`;Niu$QL(w-xAfRL-Bz?+|G4P3 z;4?{+BQi5yS{mN%vG!$hlD50$tLE{bKeLi~%Py5UEsaweLhMcKRD?eIvr4Hb8SvOi z)gLHovHr}w<;4MIvAKD(<0Dw5H>>}4G3D5^ej!V7!tCXhOvy2p1~(jpd03wGw|w8o zW`3A=we&PY$;)bn&o*Ao_PKU!qO5l)+kb|D^_5mzErZo}i1&Y7dr`es(yTpnU;7Nf z`g><43q3Hk5!;i$;?UU-zfR>CMysnXw#vQoj73GoR5DjKX0Ds2LmIR2&+wnKRxe=u z&+zzAsC9YwenfLYf|8i#Mn*QGu&j^zf|`W)X8iQ z4y&G{#dz!jFEY(c4`eefei7!_l zG5yen-nW#1zQCUOpo+Fq&NF)vo6meGX`bHJf-DE@%*diH})^M z|3q}L%PoG>3Z3WsYzUE>t@@_t#XU{DzY^^1@5t`IBPhS*(A^xX@T>ng z996#TwZp)w$3tb5o6?^?W-O=3}g)U7Q!Teq=ZO1sj{$j)+2%$!f?N8H&1eCIa!C%s{*4Rpy2njE}% z8Ea9k+j;3owJBR3TggXS?KHGJ&@Y@3~?e1G5OSj*FV-Op=p8M ze}+l@GglpLV5nnK%_(aPjIw4F{+oIKe2VM5vun8~&yP2~l5(^l5o*NitT{$H2Z+fEd#Hrt}*S6g#EaI)yz zkSTo$;W@2oeC&R;d5@LlXXswOH17%TzXvjG3h%3TKfHG?>qzxFy9L#=BTa6wXkB^~ zUm)ERu>4%VMpzt%7Q z&Q!bmOV8#_%$ukEQ*F{#?;C68{CmODaWM6yhu`-n31wNQgfBl-zp?ACLB~0zQHI05!$>@RVl*tU3l6aMxy%BolLCS&<{ygw zl(6vMJbQv+;$ud`hYPlUiTk^3JF94|#8THgOcO<4o!^pG*{8g=cHLU7^NE^^TT(ev z7avShDLvcH{%K>c(w2=$l7~+}OL6J5S!22AO;DVDIQt{<`iA~L8`gZ9-}GnN{?GaS ze>Oh6_eti{{BG<1&3~ppez)}QKKpm~FXnxEDZBGdeN(C4@;~7X6D)WZ+|e$Ml-)6B zEAzxNee$Q4ek(m-8OQVXy7rF{H@97uz9yWXS@!Xid^|8m#4V}bNQrySoW`9p&n{fx z7L`u-nB4uqqfcLP_QC{n#SQ0gt@MoV@7fyAp{v`>DKCF4WC>e)FZUBKubw{EgNDzF zT&5RJYCG!u`b<*IGS7qy_YWz#)r2^usZZFT?ynzkh{w25afk0ig*(E9vTOQ{wHWWt z^1i~Dt>}H*!9jKPl9?<=4jhrmIbyq$`Or4A$Svz$o?W(Sx{!jB`D4B^hecibS(z^% z9Gbhrl!Mv*h3Y-gy(m5wxckZ{f0rB`)gpXx-{$S=?KlyN6U_Z*aY`kXV1 z|8UA_*HfIE8H+x-pLR`qxOvluV_cP zyS_o z^n1@4&G47UcXa*RRJWFO|EXk2e<9=W^Uf;kU4nm_U%SDhFDa^CQ^+{g{N=nG^X#V1 z?ENJa^n;QA?zV4_woM7o{(HSlo5%l#Pj1QIHsK_-7}cylv6ZEB7xy^}zv7iFeqze( zx|l=AH|uGi-HkSe4F)+1*EOCfq#u^Jpzga?wnKz5b4%Z^=8MpW@#8|_UW2%Y{XIHYRehFBOnmf5+|f2=t()0=jbDBH z)Y;y?{`KVQ!b6slX(G!u8H+|}c_w`cyZP|y>vek-)+|_4q1)}g{Qf~h6^W%26VGj3 z5FHR^vYO2*OrB+$O~orQ$k0Stk-k{Eys)3UoK;#lySw^iDR+JE2+N1R)w7P@e)((5 z>;DX!;y1B>%G>pAVNP2sK0|>=s&}mc-i{JG3?GKy}mT9P1?k;^`hK-hnCX< zsbXI2s$z{<8zYt0ym+yq=20Z$gNO)?onYRmB4dqg&b*q8H@><8 z$AqgcT#kMpo?>3P-O%)(QcuX+4WG0_n0>$$I>_DaLEEM4rK}MkAJnr zxvkuGAMJR@GP^a3L%6LhQ13&p6j$Sh=4*1xb5j1@HM?i_`}m#Oh8@3~te%*#A7oH7 z?fcYQ$LSgRp-(SRW7eO}hDQl1Up8G2m=Vvq#%AH|l+ti!&dwLgPt%y)|HY{+3}R0` zyZ@k13j33#&x1d$+vC%?W~I!Dw}#Og$ILe-Z2W0;X=1=ln-)PuUB?%j&cy2YX1ozv zV>w5nGV(@GjpRvz@4r_Ddl%NT24Br|O=^D~Ym+=dEa{z)pW(GHYksqu_RI2~vzX%K z@x?P?M&h?+{+0o^=Y_1+GLM(24=JAfQ0_SMwbW&ii3}mOOCqAv?ygai-8+l#R%!_o`xkj`xQBN)4;xe;<9}l3FEXi zTd&-`vvrc(wp6D>7RHmaYFTR%js6|5F8XrCR3L1 zaGct4F2cD_rBU?ao4%yHnA_@%Yf@zG_G*{32E^f>9--0*(=5N~bVs@LukRBm`_E8N_J=?ErQPIJUp)Hbzy8XTzsSS5Y_{Lk{;lm*{5rYIGh`i-I?z5YIl`uJwN`R;TF5^r}w?~$LzZI?3el_!|s0Ss?|mrPL{P^y5cXt zPS_v(cIl-pCWUnz*4Lh?a4f45=$Mn^@W(w|Vfxg$lV5)P@o!&}pOe4#t7p%iyne+d zuzK5`wAk6tli&4yNK}67FlBb*fwtRTv!^Aj_tR!rn(+L2|FPaJM;1t=zVT>oXMUs{ zEX4|lpiaLynV)yiG%cO41 zOYDq^6=qrfGkej)ga;3bZn!Z`*dA||*%edE+}xE=c0)-n{6*I4aHma^8as@uP4X1g0^1?7uGM6Si}= z-DU-sh0T+M550_NJ)_BVF3d*t50#3o8}AuUi-n)wb7;rJbGyBFu3e`v?XF{+qo{F= z{8pEpGYn?ko@N;qs^HNrygG4H5kt_^=8r{xZmG1-RG+coXymLU?!8;<(W+t^cL6K9X$q7!>OKQ7oaCy2>lF5}GR zKN%Mu8pg7TCHhSWxFS%lBNC^P%G&fV=f1&K`z^WphbM)*HORbOw9E3+KQ#-{%%k!1 zx!si1uBj=#P;#DEE_8VU+xiayF04Lb)qY|bX$JgqM%FRS4v7PG(M$sLw$C%t+W&wLle9kp^*%njwDsJDU#|EyNZh;pt(>rV=k2b%Ss(o0p1am^yK#9`$i%IiLk~O`U6Hv`Oi(-P z*3G0+3Fm3)>hsQ@W?6OR(#hmkFVj;?KPtB|f1Tl=vQ$A}K|RCw{|wr)Q#X7Q&v%OP zR=Qgd(VTj?SzX-o+&R6VO^Y`^o|&MiCsDHCcZ%hWE7>L;VvmkHtDUI~-|*_g%BYY> z&(>4~{+y{HB+=+__3z2c-`fs^%Y`iEtJQz?n{n0walw51u8-WsepkO93m40FUEvyM z!fH~#hy5#0Mcke%E9&%A>@xiVK8vOtxX6>p)0Uv}O>M^Qu;XFsaTopgMf89EshWQ$ zlsScm?|h?flOMmfepKvN{`I2r%D1-t314x}gC&XYD8q`aYU(B*6HG$6|CJs3`bJj1 zK*sUxn~OW1t}=98{q||#`p4fg?Gu#b`fC4$iOU6qzPZPzP|a=X#kzXd*|=rw2~H8L zO8*&RG7Y1iz4>*fQK*g2!=HO;lDNSVZp(-d)4x@0x>i5A*7sC)ve1VedY_gXG+ym( zF_mw#XPMQZst_4b}6=%s!|CH6}TuJf2|kz2IZ zLFQ@Zi8(EgwBiGQT)gmWjl!F9@T`6S?~VPT)1J=%z*uDe_G<3|v$=o6qBH+99AGv7 z&#*o8Jfnjd_kV_Ki~lpse|zjd!=K`Y%fDCW+fLV3kczvZ`*-8(GaL)}WrLQipL?rd zZ$QC{?!D_4&*2?=rvJVFpW(ng_jmkn#lNI4uAlcoHty2u%J;63c9*^#%m;PP zyc#NAy;@o$0P3DKEs1^2pnPX3qW?3!xewig}t40uu{h5`*`D-3~B^Ye=>i(jB zULj%8QwR6E#fggLuhuT!Y2BHVGJV686Hn{(EANQ@V=!l2pYB$W$Y>CE`g44f*RgFz zM?;;T9sY4|NrURTipjkfStj#cn{guU(_CGH)~}w78=2O>vEK6TVRgZV`6}NYzKq~y zyQBQG=-DpK9Oh@u(@x$fGD~^6ue5JdndcK8wQJ85n8c<`j%i=(Qv7Mk5-YYRZ&n&I zPM6!w+VG0AIiLUf`p=^EU#0&uq_^E+`_E7y+O#^v?iboS1Lsv;< z&EVP?p24HUXzF>oVdn{(Mc3wCpAfku#Xq^dPEA2WFg8}tCpD@r<(5kC+6C)dt~?W! zPBgj^$t2-?=+cBo8x+%jaQtUD^6I?i&&$WU|1+5V_|I_UU(%b4=QV$9-tqhJv3ZU! z_uhW|@9kgBH}}@xo_qYqecxC0$98anR&g-d=V&|1X&s9ST*`WvTb=38$*7}JuZjic z9^p73Gf7yl>9z7EK^8&Tn7TM8`;`a1j`<{1^@mC-w$5ILxv6Y>_UZVk{C zRk*Tx>WoHv71MYV9}lBzIR`^HVj31Tdj0F4dwS;dQuV`6|1tK|78rNVlz8kWw6$90 z@D;u0gY)H-p!1V5EOiXa!?digA6@PG>-tF_CbPrh8<^dhcmG_L{Nne{Y1y|oZoGTt zfY!^4e~+bFzdrHYmQ6l*(y1@I6MS)|0INZ{?_$3JQdFW4(h zcRTi2K)TH1pP!FFf6)ogZ+Gn6_N16EI&}5Qg=ZX13$K`5RrO6&3$}2PjJW9{eEiL_ zz(3!1E}r`3smb+A=aX&ky~+8jt665<*ss6zq*73@^2vn@7cX2WW?(30A!K1-$idYf za5-eEY0FHXhXSd|sRI7;n`XLyzV)mx{PL8`@!qyQ->Wxn{<3B1jdyG|`=+aOdiwOM zwYBxNwL}~^67j&}!GR+R-p^l^CdY5uvt&#Braf5)WODR&|1l{zz9A~{-sUZliLpne zm2a(Kj9aXDyDcEDp^yLivyziK@uBPg7_5+J`mmJJtKX5t35iGio<4C-^>RFOJo&`S$Jyzw9*>K% z9%Zuyyg6~n+G6q164s5@53BpP?O%KQ=fO$ad)oVFw6w=^7V(B@`z#bLai8OPcKz*4 zU53k7n-vc&>SD>A+iRezC|cRwBg>InF#V<773MF2r=I1nd3W}{^|6ibn8QE+b-6Wf zjd13&?kT?=CO>jJbVXEPHN&OXPMn-YGL<)VQyR7QJ4}vo;bYkE(4k@_5H4X_-*ARM z)z^Mo^IP%Pum3Y}*3OVSwL5y%#Gn4B>R#8py#7l)>)Z7H-`*eIt-km7_?`Nr*5S+Q z^bchIXJDKm(w&pw)tkItb&rn8=dZJNnK69$KJ!|PrD0pys&z&`10=nrdaSh^YHI(O z{#v~7abkvdZzkiT>4y)kTae~r_%I~9Y-C-|Jmh`&u%5>VL2tIFx)oX5X z6*y#69ViRsUoCU5UC@B%<=rd$wO$@5IK80P(J-Rqhth+REOVb}SuSgiG?>(E*bu@I zGUdgKDK$DOI&~=FC06H;WYme4X~N?WozpAttMmomRzP+D5BzL=GswYa*q zwYsykb9nd^gZ5;P!@C*Wci6pIvo)L1c=pcT28PMbEVGUu?)lnf8znk%b=H(iXV@;x zHCB*HFk(N!v-$iJmEIJVzFip)AI;;^OmQ-`08Nd7R`|()k_o5;V|YLe^Z!i%L+2WPy zLz9G-*2WVy?FW5|T4jA!{Zei|e%IsmoT@+#^-YH)%9I<^XD+@3eYs+#D%mqy z%9Fn?+T!fQuqkofF_z5N%!Rt#7Z|d|1Q&CnjNbJa5wm z)+IgP!ZdYjim!V={+8Wwq=)_Ra-S*65B-$Xc)PcRAI;XuVRE+?mSRs1^PjO`&5u<# zqaXfFtjFhG#~zyn#Z^s@GFCXvSNb^H{4A3%`wN{__fEQ;h?L^843zC=(h=2dwt2Z} z$BJ78xgmP`JgJPwZ%s|UAg;BdJ-xWj?9aX#it>{_|7hZVe92t(nMLx6AM@;d3OH9U z3Z3+LL#!}Yz{(fAh8OhQk2PmJ?GoPK!#2s|`1D12yo=ARdSsUR)?lt}&Dql)M&A$B zKenIVa$Pg@dWz$ z^(e~l#FduBw}vw>@QB|%*(C4d5M{StL05i-SWd-Omrd58sW+#psy~Um={j|jjAKFT z3Lt3EvX-2D8V{|ua`*DYiC@XzkfoKNZ}ly*Oxd$Reu)JqWuuT^IhOQ+7?pqSS@ zJL#crM9Zvl_DRBy%W|i`o2|g|?(pXO5104t|J6JHKf~XRMYI1iL`v~AoUA|mdCE7f z)A^g%mF=wKD?9M>TS$D-&jm+QwYm0bJpG=-yX|X^t78U#jqYoSpKo^5o%$GfV*7nr zzvOhg{oC2zKdeqX_2w8WGr!X1BOEr(Gwe+=->lrf$<9f)6}0Crzx)1LqvMaj zS#Rreeyk{U{5gHO$CV#n@>K49Fw{PEJB@#>e%Bu6UquTf%dD+lYZNk{f3jcOqPjyh zVv5#(h8+d0C(j=Iv|6X;MQ`7Eqozep3r~y8Ev=gN)JTK1bVAZQX5Hfpo?pn|d+RE8 z%(UZU!pgb_3%4Eka8M!sqfyjj$H2u>6-NYKakIbd%z7loIh9e=b=}@|y_sx=8k$!P z9&U(aJCYe49j=t7e8tsynypdhiOf}RAD(XBAlK~p{4_VKL#wA>U#I(_Lr%xvdGq*q z>t(mIx*T=aUUElZ(xeG@Jlg|Z>|F!-VwavhyJW}KtECrH&dpU%GCTI}y+;_2)@l8{ zp{c)L6gnMxSD>1N-ukT2>V6(y#x zW*IR8y}e3v@^^lpZQFYzVEeaUO$tYB_V}h<$`YPwY|^BYu|)g;&(f8D z`F=!C<$B6}|5n2>7u)N`-^+8a^RXV?_ujS8V{3ohzhmEy{f)FZx=_MX;-Kw~$iJ)% z$N8M5&NTmSafxfqn;G7H{~4wSJI_^fb#B&}eo(@GgSk=MPk*c1b?QaO|CE26cuHGm z`pm=)Ym#T2PQAw9zey^{-&mFBfzF?hKQet>lO|k#dXn+&UV*=7&qip>Gf%lxfvhb@6_h7$-0JVEa^#3lc+#wwK3y$*u9@l zClBoB&D86xPCcqVk;#Bv+nXi7+EBFCk=4Cie*5|jZ>Mh!oi1SKesuHtR`cvSvl|{# z{B{u$S}a;#B_&>VVnSl}MG;9!k;O30<;>u1FKW-O+_Yqg$UGNJS#38Ter*Sg;H|R zxhal`h8`SG-sA>f_B1pU7QL}?rgTZmw64X=VwVKmeQNC?_-IX()z$6$0yY)sACB@~ z6nC@G^NB+bo?Y^Z$nd$@K5}h^ZKFht^2*(M4RP`D?*R` zJz?XWz&t^rsF%sXx%R>W>y7K??t5~K^VqZ!&N+MBg|3&p4Kcj@rmA<<47T4P`+X0w za8ED#t8}?Fwlc=BDo>`c=+b=8Wt%LvYAmhQzg@FSrl{WeRNb{g<3}1(8s-Ei_Z?Zf zW0P(4te-MZZ-z&hDT1#Nw-=uCK-1y*obqklknJvTvvA>Q~wu zcdRp+EX6S=Qt5YmP{Q{A3|-3&K08((>%YkG%_os*+hUzN42sqpuicz-t$t@NYiQZV zyWhndwT)#Qj&@vVKYq3`Or%|B-Xh~w4||)l3^^U{n!Ra!^fBONb=RJl-+GVxc?=gN zn6LE?+wqV2ZNhrB&vK`}8Loa|e}ex`wF_(LG~1)MLh5sW7yYUzv7i5eX`jZFsEEQt z{~2CLasAtU%EUYN?Zk=;48`~7?wI>Ze+R>QNyF727^v`?6wSN{YkUwHSxBkPc{|vLI$<;3^k^0-+$R77FHz-PEwkp=?HMV*!tTv5I_O_y=b&|H zciiQ>jaNOB#d{POGn@W1d|*E#uwG|I|HfU;UlrP?NnEqr!gA_{xvA;J*WFy}Gj$*F z?Qwa_+V0j=*Zl6J!ZQ^kC(V~H)`Y2sE?Ibci}b+@2m1P*%eU~d3slazf2!#Gk@hL) z&iEgY-}x+GtR^9nsb$K&jWf0`Xw)@6a&nt>>~g1n2OX#Jm!B5X7TqORW^hu= zK1s2ebrr|j@E`m8f9o*w9{$Rt=%uoJ`Bu+ci+Ij6s|&pixs}uQpCLnvNAZs@YpY|8 z%=6L%g_;a=_Z<8(Va{&H)w89vC7qVSANeHS18sh+&St~}LR;n{Nbr^#$u3pN%8?+OoF zdTYaU*SeJv7DgJ&QxkiBw6Ue^*u$MPLGZrrv2v!f+ZjEwoh>Zho%TP{K9hM)(6g_M zX7<|)MNb^qANq9B3e$?2jBh+mjs5m2B~L!vWG30M+w8o8gm8H*yXfjap|4g4a#cBI zCVz>&nQPQJ<-WtKujNxRrtQA1^l<^h^ZnL^)>q;S7~_nR!ynjv=bKfx^6&8y`xuqb zr%s`lb@!*n3x2ad`Gci)-udDz`G^#Lsrg%f&iUi)b#eXe)mm-r(r3GtUKM}IFtyjb zPfKv3)y>jJrvDja>Vz2&IC}b4T{7y8-{y8;$BH$ZbvA9E&7}A5LdJgvwWX~NF}a_3 zO1Qin#B#)2B;z7vlGKZnEJD;mEZXdL$f-&xE}zVIucN8!o{YCw_N<+SIazO#j?HEB zJ2JO-?Y#->|71jRJzmba!>>eUslwhBOphD2UQb)<(0Dz{V5VxY;iujmrEz&k zlVQu&%wSj1KG`?P$_5KtJKs#qUbfCBW>T8KKd&9HE?&I%B`Jw_%cU(LC5&n3Il1rT z2;bg#cE(L?b^%0eRS8q)}uQm z66WrFxc2Pb3m1O;`eV>IVc&Y?SKZlp<@%==p5kZGZVd=lYq0sxpjFBD^w=ABWi6M# z9<08d9tzy|Qgl@14sX!sog7-ylC!7#j9CLuQ)BM#hhOCE^d+A2@&(MRnNlP^c~1DlaD|&Onmzm}em>8BWLbE3?x{b@{Aksi+Z)A7PHyH| zP-7vHpIoN&qp7#EyT^K|fs$j!HBmdQ*O8pIPO{l)o`;SoSjQx#N~s2XJMNQVZ}~>= z&c<)=Z~qAInQ^P~`y%Fr@>};8Uh2Qm$@OE!)E?{nd)p7s{rq_!!}E&Gx9_%JkYt{_ ze~aaZ2N@my-*z%L)}K`ssVxNNrmp~y`s8(o||%ikPl zJNG1idT`hwg}Zk)yy9%w{Nc-o7gc{%Paa;QD{oRb%R(>inYnB4nnq<&oixE&o(TfC zgjVZG8;hDR{=U>$_4H1LEu2&KZdo@~rL17vk9+^#`Um8EYh3V*{Rexh{l~_?{&)WwzV^Sj{+;}*{j2`lzbuWX?z8coi7s7E)IW{svZ(jSY=EW@OY1uLN z4p*N0H|J|Lt8la0r`d0hOBQjztDHa2lCNu%^>O1(89M?dbLIuC zz0%5j?0D}|slR`2ZErJh*dI1S@JZoPn}bU>o!xu2#JBXTIbXzz&)2PD@31iEF@JKN z{awZyC|y(Bexq|*|DDR`mG6&!jLWo;S$1T{L6`ka&J&G#Wt-OaeAW$+e!g~D z@`Xi85$ms4EbQT0diNrq<(VTrHKh!t_pa9#e$%bHcx1+NKa-9CK6A^M6E&%iSIv%=yI{X4qpg6-iy32BqA?kQrquHx7s*DIy%I%a&7J zo8+g3dVMx3s<$h!6?$;&piS7xH8ZU?mPbt9tiIC2>eHDFYegOAHf4k3M}1cv{Pucf z%M$Ont6ewRH!>@GHQc{vo7lGgxxKiA`bqcI`@ROwd+}xe?5fK@XFZCoxW2K*{mlMd zWgO}i@8vkO|JL8FuFv|b{ov1Q{TU+6f2YfF*+0nsmsZUGZ^0I+zuhx-bRK%*VP=x- zV7@lUJ6`R>g7s>KhHv&IB{|f&|L*zIuwvWs9n+@9N7t=|wg8wPU2|>cvxoqVK_v0( z*0kDAX0Ld9++BWa_oq0|&$rJeXy)Bub-d_kSQ;VeZ+7Ri>di;jqQ5;6`@5iS!MUT( z&U*wLEV2u>rFh?7nQ}+>+r?am`9Bsv>X)gQdR$_q%aVAl1ktkY>z{vpTclff`^dXp zI&#M7|wQGAVWNmxrtPD%_VOl24al_<4gCqa6*r`U>QZ^a( zZkWH??6$&A;iZYw*lz5fmVDIvn8<`7_;}(X-mY^+84LJ37x?CJ#=5S1=sxCzZY$C($r2ZFj(iS-{aQKwod;u z?>%8wJ5JS>yRVi>{90qT=5)32k4s&1zE5TR;(Xts|Hqa`n!k^EPgg$0zFE|+xPPYK zgPo;wlP>hh%~G4bDrq%u^S&KZf2{R zq4ngpKxxaJRfV~8-X-N-&nexRIpeMFA@hKesA=6kCiUvs@9YJpGk*G2Xm_@bDSDRn zmzkm=X;WX`F>pP3Yq65}l670JzD%v!zGmC!1Ky!Lu16C~y^b%MbL-KxJxz;~ET%q* zp1a}dpDM?x$#LR~KbDBL*yrRl9%Eg^W4R_`-^MxGDIu#vF0E&u;j(I1nXKrZgFmNz z3FOoZzna^XEh&0?lDoo&*Gs;>70PKhv2X2Gzjrpe=R?58&&mpx43QiL+J1rOmrXrU zsA{XVx#aD#`5X#+rEOz|L)i=soN_T{NO)Bp~Sx@u0PkOe9GtlcI!nC z^QoHR-Tgn=`+u^Ry_x%K@~%Jrjdx$y+ds=`6L?hhVD*%JOu9Q>Hl0&Aw5HjS|4L!y zl(6PlGhJ&@Yh!Lt@r1PvGmYChM3r+Ue&19OwLW7Lhc?^KYKhRBMa(*TTesPG3f)lQ zsd#kXgx5Ix<;iX3_dgy`pOM}2yD+U`>0zJ3?7a0!oB17&UVl8(bE2=&H?O&GC$=!Z z&Rx_}fBWUy>p@=%)3aH{C(`a))}8dG*8Z82j3<~*I5tKV_0^iJ zbMDl989IA;uE`Ha);F8CKRgzzGegpG%Tk4eu%yS9iGCK7Si-|MS#|D8doq{p&}-_Ejv`Nxx0j()2lbZq`;G4ElWk}T7t4~H^@GJ80b4m_4=-T8#4_g93L+e+ab za;g;qmru?Nta`9_#Y~}#(~HCPLQ5AeS-tW?%KKyYZ{2;xx4eXxeZH!&sL8rsza$g8 z$UvS3pG~Tfx~8RXOM(_Ctx8@H6mcO}*{gShgIJD*O_F-?)~%P5EJ9s;8>*e4)(Qby#bsRfmba$c>(w44;-`rlw^FLtm_j?MyvTaP=hLmAu*2jvuXyFRyl7 zm3is=>lJH!xz$6Db*uC}E=#EVz-qNI@Y%k#QTo^Rok|egCb5q}%0l+}S!4P3r)M_D z%dTDbX&Ga9-uh3*+V|(VSAJ0ZZmk(Fp8Sj9tJUVK^SVJ!y%e|qtNrpClj5uMz^-4u zes_Ln)qjQ~`?D+ZGd`Y|`76Bb+xhRYEU;l?ZMF>AC%-OBNI$EH>61V4XYp$JR!O4; zI_C0mTob0oP6)nGdS}w4$@e?2l=3%*L`80R=eDccCC4wjHKqCDG@dxY@VM*k8a9Rc zmg^2aTAt^+y~0f4%$mO^FL7JzG@doH*SHa;6k4bKWn-R%vyxVM2@Q%nEVJBvrUw(6Y_cX2TPu{<)`t$DInH~OH1pKEa?viUVn6bua z_2d=J&L4d{jvs3|;gcL3o+BF9)p}!E3_EYkgtu-lw{MXb-fnBPMQYhx{kmOUM=oqC zjmg;L@ydHnB`k+Lh@`ZKdj;2fORd%i6Y;Ke#Sw>3P)I zxobvH=D*p0Lq$_qr!qJPoi<;w;OZL@(cC+8Y>G&;jwLUxlNyG(KmeBb-^yHLhFUr02IC|>+3o%V+8xF|defuOQ?)A2E^G}MWKIwIC zQ1t8*W|%Q!g}{mn8X6aVM0iB}HJDLQFxRx;!HO9xo|a@4K3ur)RmFu@8tpGuDIQt9 zY}x8gv0dwS>0}rr=eXUtb?YU+log&fd&d-b1NYW3$6@9kLZo~LR*dQum4;AUA(QY+W+c2_h)ijzVYXNx*z{D|J{7vcmFJ()UW+^ z@A<#43qHTx!j&zr-M{Lx_QekzXWf|{|D3wJ?B@N~8*PeqdM%r=afa)3;qT9)?@fri zeda}{bk(tv-o}Sf6Bh*bb|p+yY<$%)1AU$l?2xx@6O=3?PM2<3UlW@$KYpgkj3s+F zJ$irKQT*{V*VgNMXO!)`({z6e|CNY{vQt{CtvmlS$UnLkes=cmjnW0i>^znsE;|g5 z&YrGcbN&EVPm$8;ZQu+ZHCI>rw68z)ZtG8meev)5uZc{b#dh^d z2w!Yd9=BXW*m<7q{naMw{}~<~Jv#m0(;1Ba8P4>S{%81-%fdL}=lLlw>mn*%9a>~#iobGM`rV=L zZtkAjrGK5x7WjSp&#*cCgmRc=a3o zJC=+IM>#g!KK3X1)XG?f?kb@ri;pMV)BWYkTbgyC{K-{D%e|I@H*ary7}%%vC*PfW zdj7ZI-O&dw|7Upk@ZA0%UHea&^V?s$#mQ_|Xl^%W&g2BUq^05!jai!>e||Un*os+^ zVK3rjcmI1Gu&C?yyx$S(Exi-Jim&z1dYcwj_Nnap{NT6OPfUGKoOW{kTHbwl!bAT5 FO#s^z3*G<# literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/force_spin_zeeman.jpg b/doc/src/Eqs/force_spin_zeeman.jpg new file mode 100644 index 0000000000000000000000000000000000000000..51081df0015e6203c0a85ffed743f0e93d5b1f4c GIT binary patch literal 7483 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 awnzUCDCy2zqUdoZSmE|t)Z`)m|0V!jjN9G- literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/pair_spin_exchange_forces.jpg b/doc/src/Eqs/pair_spin_exchange_forces.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9033ba14e94b9a48e4bd70758f18e9b5f41adab6 GIT binary patch literal 16283 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 FCIIhF-+}-D literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/pair_spin_me_forces.tex b/doc/src/Eqs/pair_spin_me_forces.tex new file mode 100644 index 0000000000..f9462fc3d5 --- /dev/null +++ b/doc/src/Eqs/pair_spin_me_forces.tex @@ -0,0 +1,13 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath,amssymb,amsthm,bm} +\begin{document} +\begin{varwidth}{50in} + \begin{equation} + \vec{F}^{i} = -\sum_{j}^{Neighbor} \left( \vec{s}_{i}\times \vec{s}_{j} \right) + \times \vec{E} ~~{\rm and}~~ \vec{\omega}^{i} = -\frac{1}{\hbar} + \sum_{j}^{Neighbor} \vec{s}_j \times \left(\vec{E}\times r_{ij} \right),\nonumber + \end{equation} +\end{varwidth} +\end{document} diff --git a/doc/src/Eqs/pair_spin_me_interaction.jpg b/doc/src/Eqs/pair_spin_me_interaction.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f03c72efbf70748ab4f0e6c112e78beeda053c92 GIT binary patch literal 17288 zcmex=#uc*xFGgqvZ*fZQe*0>-;iVaGv;Y+`}4*7dO3DnNd=fZmzM%I-|kA#3puI(X66e>Y zHf-tJI-lJ-YE~v_Xr4Nm@yvq@9Zx#uoVXD8UDM|BYK!i#d-EB>{vO|*kp1uTt_Z=S zdF+C+ZJQg)4Q!b1tmaJpbe213YJ<713j z@rh%?^iQ=Julc%lj`khY>J`mmJv5i!ebR%&r_LQooRE0L?@{uZM@P^398W&+_Q{(E zr%pUB$xVIFo^Zj0m)QX?;TR!veq);GorLH|fwJ9<6V6VKKcqKtcWFV#o7lIPljpEM z;)=Stk5^@r9;emGALkdRUh_0~@#b7!U`5$QhIv1_nYr>ccqSMfS+lY1k&xx<1828w z{$6wLh3?MyhLs+NLHP!DHGYd}1v`ex~m^59X zuT?k9r{N^~{@w8%JKpU*6SL^l+2g`YH?Hd0&tUFY9h`Gw-iNO%1d@(>$v$3pVoLWy zr>CAfv#SrBPG>&W-NC$Z`=*7i+%`o%=ne>GG28$Ir=!<6nnh8kGt^X-fmXaZEam!F77&KTby!XLs7-4w-3uS ze3%>4CmTdFsU7Bz6x}dO`u&Uq<(&+rUcVK-q?r7Uo13&PkfncP!p0|piuzA}UA!hM z7TGP^6e^{4g}c>Cu3z$kcUyf5HvK?v8SOG%Ty zov83vvQAJv)XlxT+Tcx%!yor@h3OL}yqypjIN^u9@}pz!4-<29l5^YV?-rSy^u}E+ z@u|++`RfBY!x@6_nd$BHQ(L&WKeFr6!p%!%7KgKLnN;vtx_|ZAwgMlw14iFAUf*;y z-iJweVKQf-gUv>R&u{(Aw7c^scpX03@;sPH?rdo3Z^kI~NmhZ~n>Y$M$_$Q39cxPJ zJag#mzxw9ixs%P5)p%7n4fh*_@4u9*kjl+x%F7}1?@-~|DYy41l)v@P&tVNOJAD1$ ztZ9etgmr}r?e)=kN#-g*`3!iG1z-*awAy3FP;vRE%(BOv5hD<#XXmb$N! zLy+QnOi?8|&pX1srsH0P=}?tW;!qJZqot8O^3Vy@p9jk-^ptk%=2~t!8OpkT zw}oPRYRGHrIL5WB8MC6(D(w@CTD%g~*0ZFq*nI9xq(#ez6Vs;V=$yJORDJ#9K@EZV zYZ{nU7Td`jy&=kSXU@T2oJo&WH#%RiwU7+j)*5>H!|BBIiwl*fG^!uFT)(!uInMlM zUsqgPU($(Qy=^j=U+iR4n$g&FL|bT9eTu&7hERRg7jd69Jk+1stIgskCT_DltVwxl zx67h!+()l@e*KZPwZ!z!Gqpb@f_0WsYRatlJeH`QQ2p)j$EBvec<$86GtU3`&!FY! zY;Im&uU=pUtA?>9YN!~8W0|Jf(Hng}hfhV`wvSsRw2oo;qd;}w0k$W*1c_C|JPKvb;nwfb?ODrMUSU!dAoI!F{{)+53|RN zH>BU)++fscCikQ;PVa|;O4BbBD><^fcn%iMuj&Z)Tk|yno}U<*I4Sk+XE!?9)#iax1dk8TU^D{$sJwenio9_HvUrYqade5yP2lw-;v z-#Cu*f$4K+Y%1h@I8j&YMOD&N;XZVFJek7Qu;bgQxK-k`;~)3W)C(9vVwN$m@& z3XGQKa;={JaN42si=Esxnf!Z~{bz{!&bB9iv#iKoUYVm4rDAg|mtQR6aW!OS?Fdsf z`FA4DJ7HCv_l3Pr6A#5}ONDXF(b22)Tg&3EE!OFpBi_Ac^6L**vtDHHJmdT0h0>oQ z6CXG3Jrg~=CwPBr{L%5_-*anib;J1||AowH%gcNB&+kDh*Pj@lh30{EEByA!TM*;G^=T zdeie#M7MLRIOTts@VMw+oUNX1O>uM*dzx?E=5Oo!rmp?s?)Qd$XVl9D1p*yk&(3a0 zNf6lh$UH`RBTwBX0kElN)(&M}T*)b)&vi~=>JtHhN0q({pE=EV5;@IL?wVZ2`t!H_yQIgEdv?3$dv02ji-}$E3ILjv1w@j@HR+D6kod>b!uxwywBw4nVt#r>H_?~ zZdd(NWqD_z=||%-ZRXBnN98S5d02yXHAGG_EmCvWr^@mO@;Ym&HV zDam8BC@_Ng(8i9;#;vRQ0ut2zHQC>?y2qJ&QC&k!=P*M|&G};~kIznd_L;kE)|0n& zNp>g0woGd`h@NY?IES^^#KE;iT5LDHw9P3~%D8xCK9mS$WBo;7Y*6H=I3`*+Fd z__eiD19Y|KmOg*x+<33%vf;Y5_JUEYl_FEhry6kWE@|&$J6Q9{@_ggW+sZ}z^!_t^ zVLnihoVB{Q|FPCoUgf#m-vYCg7KDjruTd$h7cY40Qzo6;Yfxq5$;XGM^SR1!y!vV85Mjog z={8}DqM@vww(e}>i*al6`~ppFH#SrObEmh-<@6)rP)V zvrn2`Ke0dLXX6J+_m2~H7(SS$DfD25k@7mT*ytGwE5mhmO@I2sIY*VJhU1)CW{=1r zrEgmuDf6&SF>S52uH}27cZvN=&0z_rEEBIWK)_&L5NRCk+oVv%akc? z$?AMc9CcjE{CYuYX~FtpR(jUr>eklk$pw&I zpXTSSdb7e}W)##$c3hq+GjFos;c5L!$t!Ihf3j9-6suqn7P0A>QBYT%WYAOpsr-4e zvyQt`&Du!U*{Z3|_9Cqbd)8+r{;;^yGAmHjNi;QZwQ-q%*V-AkCKN7_q^k72s9 zSvT)%L|TYHT&sFfKW9eECj~c#Cz%O7@6(j}I}|$JJ^u9ZlkBE4Eu&=SCpD24e{}Ay z{gb=lg%n$J|J41H9nOXF))*%8_gdUP{MIRCht9cg|9HCfEY&wi&bfF@`1Ji7FFU3v z2zS`ZDV`L*HQ|@22iMz4Qx6~Z=xv_u#SiO5xqn}}akXgu(S1+fY^`7SukhX1aWEK&ifl~?T!0uvWD-yuBO`dV%|A( zbhH06IBa1tE&cYNL3(3@#nW&49oy6vPKxx|$=h)G8+2SDLyCXC#C6R*YeVKG6jgk9 zdU&Eclhr=o31Ykrw*r^wa`?D=cb!f<^Cf(>^yDeN{y7PLuWC0=vfm~V+4yySXP>vI z@R|2pq!veaJd3#JkyHNW-qCt9?f(q_8Qg6m>t8Nk(8B*p{A^iBH&@Zx;(d;+f|u;~ zPFfjZzvJ)H)JfJ)Ba(K@T6{R8zUgg(cyE`TTkgiGd-r&m#~Q0R9ZfYe{KaxU^}%+d zj>8)Y1rzi<6O@-N`{cXzlm1n^gc`QMKPh@V6{=k>JJfhOUiVH9d&Z#^dRlMk&pLtI zoX+x0#+|d0Sq(boo+xl>HcWeZXkpX+Ei!*MxRfcZNu8!09`_)vd;OV?>0a@A?eV`| z-U$?WdAOE7Z;6&verT8D*ehrH^zx3I0*`CY?>YGBaa&yx{ zKheLFo?g1YLCXE}3C=REmxqgDug$sm&^|ufA>`I7l>=61ji&z$j(ptrXyTcZkJ9x1 zar?eF$#CY>Y4ZcEulX8Hh1NWn{^3#tSIO6T>p$#izH#c`HRa5(7;8PtE0?vEcd1ry zon`ZDxE|asRAm$kDn2Rsc*ecX4;8XK ze;2mONR~WVwKgI|rf$upvRT5-=d#z;u8jG$>1|PC{QJL~HgK;y=cf6p@Q|tTht8md zA0?M5-cNt?udL+kkIyp>_Zs%+|C+kBbC%bdTla7A{rfPPCH|jeRAI7Tln-lJuEzqA zT_@CvoKw{7np?$=IBn?S4Z2ZwV2+I-+hxT%)4ZNbz7ZFi*6=Oe_S&~-i%Ry}6FP0D z6PFxbP_Xwnuiv^qsfD!}z6~~CZ^ys>9rmbgtGL6OInH}LyKikcY@Cz$ens%5BbUk) z8>J?lW?O%Fr*M-_@urN@ioQcP64LyY1cFQ~*k%6gHo5=d&$QcfqEt`*ncI6}gXpJq zoEKJJUS!T%C{oScEitB3_O%&*>;4}7#r@+*!16DvLQY@jIxn;S@w_$fU$-9b z`uF&!&zbPbIsZQ0=lIWXApSqYtp5KD^>=#zGyExbtiQ!)*HN#w=G8gfGYyISTc;W? zVSns=hSB!zpMyc3qRkvjBa$bX>h9jSvB%B6D@V*-mM4<)`aG>z+4dekMPn;nU4GMf zvJ6u;gy>mIB^;Sjh|{pXIPC3!jf9DVxK-OD{SIX&UY`^Wij^S-j%`|h6{#%J*>(CCo7{jty; zQXFDoSIoZsXK?9|o@x?0OXgVIH0S4U5>Fo#aP)roCG~O6i3gA02y~t1mF3Al(=x3` z;B-4^h>Cr_l#ZxL-^m$#s`5G=hZS^$PfwAW**CZEs1}pfOjawYljpimo;r3zf!j<* zkx!@X?%kIYWwe@R%FQ@-czXA_BRBXR7i4I%e41Cd`CQ7u+iDj=r5R$sH74k&8t|Sh zFuL#gz)7=Z<9(0IiL+XT{q2>fKlT2!jHRr=FFJc2pURs>iIIDFGJCsUz3|9LXpo5t z>9hOspW*rR30j-uw3jwSY%b1Xnz?R{j?pyr6E26Z%lv(^$9RdP|D=MdxRQ&X+^+{j z#!TL_ET~$%JHW5+(hl;A6IWsc9M%@Uraa5S)=@#|(z$T4%btXr{X7U*@a_m+) z((vYdlAiFS>GIRxvIq)o2&&!Zto*>o&BHCVE-X*X@7N6o?$u|GOWTxfc_1`h?D((R zSpoaIG97uVYQG%#d0=u%s#D?Qy-%aonaLmfslur8@$Y7%aJl64Z8d8;{;tuv@n_D4 z4*8ev1%dzm?EjXwqyA^@h1gGXDXUAt^+r=i<)4RN!l!xl@84qkMd9!^(KWTx%0o6U zT)KGU<8H3yiAqK%CLW!bs^aWu@Ay5asDvzP9kr2(I^!RUW55+}YIV zX8r2m#Y2BOE`JIXzqm#r`@6#h6Pdpo_i^^DNqw@VdvD#Qwc$ zAF2Og;b!k8AGdohQ(E|+L8)Ss^RN3cZ6B(*xs9I6INESzFPQQ3ZF7_Vre}c)OJ`b3 zBrWTU*sycW(}tOPae*3f;Kt|?8Jlx{jve!k9Vtumd-qXC?7n}bxBG}KcCSBT7`D;$$`VUg6!Mp!u zs)#;KTxPI3j7>N7z=nAiH(q`WGI;;;S%u^jX(pHGr|k20-O>B_qWhuQvF1}DzYfGa zUc0A2CN($m;Hoc7ON(Y&X1CUyQfe=KGMhcO)KKXJw?spPTI$5e93$PP-cHSl$}5=z zcW#pLT(Cy!(7&Qjh7tBWrhePcD6xHd_h^T{b<%}1g70%YMeUV$Y*k1QxIX3c{H*XK z7u7xU4No=;e7~dYpmAX3S|tI4)ETK_M{Z0uoWjdrRD7n$zelrS$K|8ljJN;TD_8A( zbh(vF-`erI#NiDh4x95r82+}1n#8{8HhCJf(((A?a%IERhkq|sZu9;lG(}8>|NhcH z8})N5m)_?~Ty#fdxmqv(^>5zh%Wghjb4VpII82rGOEvdwR^bN{oB^`)wVC+Z2ix$WN-c3{=&)$&sW<>g(z;^CC~hHJ&4D-t3e3C$r~WoQ;{zk|$^SY|8GL zohw<>=kN9|?t|xFwv71y44tY~bL;M82t<`Us0%)4ae`^u^?f&(4a1UDz1+2VE?f-K z6WX@+Y|Mrt_k{lp7mt~CY?@=)Z7X)8cj65*jf2fIm>an?(p&yB?3LN6nXzD%=v2cv zoxgMZA`h_^7^&{}H^@G`Aav205_fU`HDU*vBg1qY*W@_l=qT>;)3=b>IX`ZayMIpt zzqHpRudj~D><=_6JHkA+y!8^hrLcxoxa`WTf2D=zSzDb|2W!o=&q|5*z33HoWUBVt99SM z+~lg zSA5hb_EJf!ecB}$T4E<9Ih3Vu6z4qY-GBO96Gvx+rrmwT zi67LIRg{hPYnyYcC+8@zUVWC_JI^|*fYZA>`LEqsjrgM`3)=SD{Yt2L;JL|Yp~cC2 zpVo#;^FOYc#4xGi-_4oY{f3)w+l9H*T@%Zx^NVod|FU?8#(##o_}|7c_J8)h(EI6k ziKSw-Sl`y1_fvG{aDTWq>BaPIK2DVa$_zy&8{En_3%VZ>a49eRS@DzarnRV~VdEz| zojG-4dDs4#-6#Rifr&Vuf6l*X&!&*tzYE_lWRu;nHu=rwT}$Wk>dN-ZM1)#%3QlwB z)9Kb!lH&ZuzuU<1aQnvIXKD&d!c+qnyIBYSK6oR2!SaPM@~xkz&(B?L_+!+}BACs$cn5S{M z$1QK6JCcts*}I6n6Ug^4mOPfr6aGN?9(Vp~J9dSLsRc@6e;1q(>9(s&Ete!~|LHE-zy9H>jVtFTKF!r;SyS9pW-j?U zeb3ZwGO4p|_D2{;^qh8l{pahxyucL?_OEK5UO0Pm@}mkx^&j_^DD5e@6e6p~XQ7aK zMAiL-;imJR$%_{*@jBJ#$0fNu*y4g=ZS;@B%|G3awb(i(M{i0oQcl|Mkzv_%n6u)~ zqt1c``3{8*tBp26==(C^SNPP0B>ZrA#IY7BMl_ zOu~{%ZlOV49Z$jxzn+|Hp~*XaroPquxzo?2a&4+AU@clwm{QcZZ!wGX^V<(sUazQN z$cuH&byr%Q73;w6{x+(x!rtQeescw>I*Yk1U83{DXQwQhrk(sl^X$Sj>&Cuow|HL7 zc_lwtvrme<+pM`uUQ4Ap-}k!0_D6>f1}FvvFJ2V*VZ(%tKPMd)7CJfO;lV(|z!Ps~ zHVFj1ZS?P+=cVXBUpKj}tL*$OGoiiID^hK8u514Z&5!x6!taQTPC+A$M9|MnEo ztz!S)^BMeBiFC3RIJfSE>EnNn3G9EGJgwi9#Rao(RVuHok>*kVYx}eI!Cp#(OlVI?wW%-05%pMIZI!e@uVxKeN1E=HvO>wWqh$M_owZ zJ08);vu4WCMLVupxBUKhIhX72t{b~8F3jE1wn?Gc^w|BmD?hB}eADuwRR zY|gHynI|T`@6+*G!)Fx!!c$X^W&W$_!cvi)ZyXa-xemPHb9OjCUCOBZR4-T4@xL3^ ze4D@M@3j5j^Vk2~`0~Dy%(wZgZTb)Yo&NgWQ*gueZobi5Im;*Y8?C1o|69G_g%tlh ziD}}d>7iEBuKDOm+6Jf|SlZxodzzgdf6S+2NuTFlbMrY8@S`=N|E0(bA?pO$P9IAt zf99)osg3QGvVW~^HW+wDe0y za;@xWPzYreBheQQWiQ#)0qO!&Vphe9Sx`7Q8NO-_dJb9ao_X!{nxbfCvxAmIQ+G-y#AkIO6Y%vl3bhr z499M9?+fmm+o3Jil&hw{LvqpU4;Qa#XCFzt{_mo7i%f5?UeXVVcmF(o_|Fzd_7M8f zBj)E~aliP@#o51iL_|x^bqvt$Kiqy;`slLLrCU~RpJE)t!>l%0WcoX)tA{EDZ!`3H zY}i%4nQzY`_D9w`S@yKF=QMTov>*5>FJ@%V&7GYrox@dsxc#t{<+3fMt24KEZw`LL z0II~_NnJhrZfz5vg12>s~ zONQ}lkL->~=)dh*e28O4^0f|C7XKSY3tzmbcz9uk(DCktvjr@K#Oyatp0YQbCD}mA zLe*8s=mYcWiHjr}C-r`G*!VSH?uw{PIm;!lz*i0P)4IQdS~uBVv2|tE_Z~iBPpcLz zm=WU0;$AL4eQML>x1S{bGuX-bIT>qzF4$aDX3iAXXGxH;P#d z8(n0g3%f3t#vOCFt7+A-70izN&oFsrl;$6mgL3z8ecD`TEz#bnT$T3xtGnma2&N@d z$`1V55i%!)P!za1`^2ry51aXQKI_}zuVi(g&+z38m$`fuV6 z+G$g&ZY2mb$#(fO@Lae*x4Fo#f2D^_t(QZIw}jQ1lT%p~X0-RWX$e}lo;%B_!1Lk5 zZFiOMInzBOt5}0~%0E```#I(3gugR9+xGnowX;FxJou6U)Yq^rOewZ$|l=pi7&0gXUm-vM0Pj}v68&hs(DXkK- z>+`|8J&B+5ITcP$koxpOC#Ryw@8-Q^GqVkw%glZ`+t{qt{mH&V>~ZhhrLlUOe@wOO zjs1H&;>)?CDvxJdxxNc&n=N&E9Sf(&rq{>Ba=Yx@dpBH@oBGS(neZiLr?nNIgC(|?I7o(Z5`)w;WadBVYDzu&G&5#eZbo^WC0RlFW0xJ1>8j^oE^bRlygTHwCi$&TO7|uCAw5 zhu70Rj4ey>lyCxvRHeF5y4#1?pk~%U@2f2TR3tt#DNI=`#Gt^gD;{=-=|fw?CezZD z9@x<06bfAN>b?2pjX5)XVm7v{IUBa-s?fWI$Jq|OWII%>x#1hXl8U5tnrX0u z;|=HTg(lk$Cd-`A`#pmx0rm%uHBW+io80J|HUCcjnmXDfgSiI?qiw!0C8=)0Vfgjv1cjC!ifBj(^Wtwbl7Ss{vBl^2FX9^Lya^myO}4(&JU% z;*#aO#QME5>)*28QrN)Svrl)nknfWh{~2UT=XD;no%V3!#D$xpuNmeo<=Vg(s?oD2 zTh}j0D&diGw|ww6wZrZw%V+ZJc`*IQ*WEJ@t+G9Qi1qLB<5dZT&+A{Zw%obBKKItj zR({z4&4MYvrkU`3^4wbZc+aZ)Q_J3d6A$_&U@K51B3GnN1YeMpR-zf zUn@NBkl@72-i(ox{Oc5oH3KF~Zn(Epx=uLrn%H}$H)_jo7QB>}Ozp0l`e(w{3K51> zEe4USqrbkt)Uh!PJaK+~v=ECn^VAb^jymStUoQ8~{inMA$KKwBJzPyn*A@7qd+Y<% z1YZAI@;RbwqI$$jrAwdK`X}*!<(q6!ek6QTLPxV?%#z=t-5b((@m@K|zu>`~Go2DE zF7h0h$sn@l#UGP13pCR_)+GkS^eibeD=V0(7on-Sz%P*Dncu%RHs?GFI}_IZ>67z& z@lofEdzi|yfGS?Lgt$X8JvNn-7EfR2)ENDvs@whb?_D;o=1=#;d6=A7Q`*pE7rrs& zU*2&=L5V=_pQTfFZ42LbaszkK29B$8<}7R5ZdobW-R5jO&8O|xRCv7RjVo)y`q#g= zY;ByJ9i8tj^hjCv$B~MO2?Z?@uRGdT)V2y~BpA0$&GuT-yzW0kOlj37?$d4s;+Bts zl9io~C|)F9g%<0^9|b>>E4JLs+cwqgQ(JapL&~M3Nq-MV z?Eo#-6Feyg^=-{H`&gD$+aPr*R_O2HsGa*|t>Y&io5peO zTax;e9e?&`D0K8scsqGxP{Ggt4Dydo9)I>Q@BQOE*83TQuA-K!+29lMC1i@oi;S8J zDi`Wfe2!RblCtOt*$~oattQiwF{LV5+DNISu1wijPcKa>SXj#{$XZ*S-CDX{y1qPn zg(CY)>!Z^@U0xvn;NGtP4AZU9`5cUy(`A&y#JAS1{4Eo9g_|*N&HZU7S84syTNKzg zZC-?eM&ZJR!5+&kZ>vm=WY+)ip`l|@q6+tn37^?p3O{}1UZM2%qVl|r35DM{52~vu z^azD4mojA#Y?z+lyE^{r(bvweqh1|X;CuK??U9+n?CjWyM*Q-h_~oabl%L!`b4L5= zQ(daUrzRXsU@~Z7X{!G>c~4}$t`*}y-q-7Y7B8qHh5Lf*p6v=Pi+7w$rYye7Xm?f| zJcDv=%C0|e%J&{V!FT4H(nEt4O&opi?De%-)o(vB{8wW$rzI`?*~7FaZ}M0Z>J<0i zdEzf07SsQ&$ZLAhUq@Zp>8Ae~-rHt%iW+J$%(MJ>hJQ*_@(1on$3QzHMy8PDsrUBP zN&It3DcP3BV0n+#I_>b4g~q=`4(zWfcHSVx6Mbjf`h^#smmTLy;t&>*T9Kom@Nw2@ zwQJ&MbB$9uqn3E|%t_v(x-&u4#+t?*UZ%Z7k+aGQmZdbFmka3kZ=UtCj?(Hu8C%)Y<2wWA+8dXy-+sNTK zdn#{o%H>71p0=y~2@!3Eoa?SeBTq;;a+ewEf=Eu)EQ9^=gKe z-!8@!xhsF*TF^A<(k2NOo@dN&>MB;q6!|ePR~ND0n&$3xLie-p0y(dQ_CGm=8*?hM zw%LZx+FV+Dx==iI&%z}U5tlTgd2hUmPj0(*VZ%-1%{vV)EUfz*zrRMu#>&XR!v5tH z#i?KVCr<2-OVa1`%-In6pF#8Dv?I;^yPeeCude>?I?Fo#jb208S&gq-4k)r%i_Bw? zT)5ww?a5sEpa~VfrZl{mW>7kFvKEJ+@J|sW)lU7p~<+ z_Q(8XKWlzg{B1C4?_Z{khUbrKdC{X9azCT=gM7%%v-8fwMyHg_fxia$TwU6L3+)jD}I)1DMSVl&v#QtV z{X4VD@tGdORW+1Kdg{+Rdu%Y^F=#7S19aBy~p)sy3FgE zew7RLHR|FSdFd&~waRPytXHcqXs-({Hr6k$(PaPdCsbUk&wA49@QkdRtRb7sr%(LN zac&x`s?81aiN|~$M7^HtAOE=NVM>+jQuZUaj&G9|@$HvT)7|%2bV6H-YpMV0<)V}3 zI&xS%-d^6aebzp=aIxsT1vWRBUw`{GZOIhfP}L<8i-NgtK6HQb*5J^SR!h$XyJPFu z&U?fdaffHNj{UVV)#MI=zY5w)Y>YEGer9<7le)D{_V~$i-4EuHnSwOSwBUPR^`wDM0swX18&?x$?ZhkRxR{pd;f z{Ni2tI*&rx-mrV~Wb^-YZw*aQX;(hBhJP3?e{1gFKS6V~*Q~_w(`mE(FYfSpdW=#lv0~73933S4Kz5KG}++Dgo{Np8XOh`hi01W zT|f0>mECGTt>fR^8XeuXmH$#+q`b@g`{zxcii$pO|E&7lLp}Ag3Wqm0M~Z4!PuJ3A zUZXr?^3+$yB4%yve)%oa>CcJMl3O1o%Gg);Jv*+l*d<~go9q4_yWEE=l7>(ADO*qO z=kvU6Z8GoQHL<*Z&ppD~rT64*)@(LJ8MnfXW2Yv!oSZ4B+%j>J=v-BS$tTZ* z*s;yCh3@I|KYlbXg6nyTcE8N2TT>=8wujHX`gNPZqHA(ohh5Ts=CA*=ea|`1mXzjv z=SNIJ9=a{xj&4$F;XURQf7j18bo!fj>uQgm{JFJg?HQ)@lC?3DMP(+kRM>7@__!^o zb*&O7Z%-4?)n7Grxd-nE2mWV}usmvTsOejO%#8%U0K*Rdzs&F@x9sxu3c+DhO%AP} z##?1~#m|)eds|&=lY(IA3`mL`=`YFGX+0XZ~f`U>*=^rcXg}5(g{2) zFY?wn<<8XjHAS;g^~83C4kNqN`~#Iuf9Ke%CJ1L;j`Lg)*vuZ9xS#)M*M>$rOV)XN z87lu=aAQ|Fb6r#*`pC)kyEqz^#KX)^@0@&z(fR9pgP9pp^B!IOeulR#QEl#bmZA-* zLBFk!Gi^H7=@Z`Ab5Y`{ZM#WY+JrW(eY1VcEjKUO)39&LY)1)mPF0p|A{$(tlOA;Q z{NWTl+$>%Y^@;QM`~9W$tT{~am%cIfHT|<&XIuKVKejCYaZvcTGsov%|Ge+xAB*IF zr#{tPHU2Hl{@_2up+=U!-|z3*-?WWU|7A79amRZ3aJgOIj<4Ho{&A)D@3iD|uYcaJ z_$OodpCPrF5>JF$?()u2xIZMbCPMT#JA@*2)3$keR>!uM zxn^(rZdyMomC^;b_PG(9NURlU4i;pn?E z`3+~&z0>m^GI8rS)xVHpYuX@Dlc3G|On33CrhNSuxxcpC$v(U8#i?iUWk%1N<;kkc zZTA|ToO3)fvAUT{$USxGqaRIn2dpRe6d2T;?9ya6+#=W9lV|^=;)}1jb5HydvBKlY zI=?5~v%f2>z_hC3vAFi)I`)Kq6W^dC**?_o=w>*+B~SlevQWN3wb^g;4Sw}C92_?FCv57Jzo$fRVt1|a zztQ}0|NN;x4=NzGt%frCOMX0Km*!yUZ#7$fLWlDuj$KcBS&zNax~0`!G+~q6&og3c z&c*ReF}UyW$E$GVwB1tDQ;t~PP@kA2CYYYUe0nX@Qm!V0pgJYlsrM&%%O^(rP5t>c z_4M{{pT1l*-H^WB&F`a5>01eQwzQdhAN*^J=!(?eUaE2OkuC4`?OexCskLw5{T4H= zXkWHMjhcx*Xs}(d>EW%^w>FNlJNvpWe+c@x_^HII!0_m&=}|{x`eF<=6)iAXQeC=J zQ%p$9;qXa`(|t#$PI-OiMswfIsp{wYPjoa*`t`OwK6s++^wnamy{gxj-(1T5;gXux z^wSG($gQ)UEz>(mFShc*yJH4Fx3^44Il)_5B4%b|sh;!RaJF@>+b5`(b%H7TLa&76FVDQP!=<&wX zRIATs3Xiv?dVXH~Nl9VJzTJt}uRL*2eRXtUvS%r{fn(Cywe-^qNCQVXrF(i@h4n^A z1ILItE|#?y+`u`LcI=v1-m&{0kOdgLY!OrM*ng^YZq2DRf9!Pd66;<5ZGG&_R)Gx{ zrM6A@?lj-sPI>XwnTNj~iV)pvV0KJl{mBC#EVulYZK>l6iMw`i!bzQ1k_T=bnRS=% zKSS;gF;T@w5!GE%45#H+b!VzG6>NNyRKzKBUTZ_r2G$F~JfFfm`Sh-c>`QJoisLZc z%x+}=RjhCNM8B5n8f&I1sTD6T;nA(1V0y(muRq%Kpx)nxk4m@xUFo$uA z!bg^T@(W#AxXh#Tz?9pJ+f+9iZEWa2DgR#jr|W*diIx|Y?j4KdkW_l;SuErGqx6kV z=`{V#KeiM)Ih@?+E~IhXFr<)ml`re+GMQ_2i`KeHhhDYRTf9cr=*P{DZ^w)bf9~J+ ze)EU2*Ia_XWELx*er?Zv?~i%c==i$?T8r-`NE_fYw z?#~KMP8;3z8j%Jpp4Dmp{O%l4FMo3+@FR~i_7*?U{Qo8ZQ96Gov5_ zlOQ9rAmjfd4AKmY49p;T1~}m0AQZe@4omosxZvHB|}6co3EbhRo8o-pU=G~ ztHr$etoz4 zy?%D7UBKY-v?C%a+ZSv(Yj$bfj#)>N?IN!TcB`)7Ygl`l{ngt)izXZsR@tyc^p|Kb zujtRqm6N!7qe9u|=VpX0x3d>rvh%9F`h-kp2GON!+1r-;%>Fj(!`t!~l^XeJX3J+h zP1|7Wm$75-$-l`48&1t#ADZAc?yBwOLRmJR6!oBh1f?JkJ zEzhqpd#WU#zG%*-d|vC3S?XJZxwbWDrcFqF&i9|;T75p}x=X9qod~wNz5A8GjK%+4 z7WT^aUaxtWx$J9cVdwoLYitt9m#aid*+x%H9a-^_%M&;o{ z*MGo$8_Hg?H~o6q&V@a^iJfJ33fERE$mV80yqG>Qe8P(6De8yL@zyy-G))Ukc`k3l zscaQ?=ceCsvjdVb)vB#wY!N{Uw&7EZSbt@o{1Scg)R~v-H~BJOW0t+ZP++4aa%P#| z=Ir8W$1WX>Z+cZdKgM^)RqiI~Y9`jDJB$s!NKOeVs?mzjR{B^T5T_c$F;Bvlciyy; zk5@Sttkfty9zDyEZ^4GTCs~&w=51Vlpli|fxa*#)=c;795b-Fuq0`Kg8Ci5$j9uWO zC||^nV>{$_uHN1*RK~DEcIIELTi$#-EYDsGztZfs-8tSvdv?^Pbd4Vm&&}Ff)FR40 zM{kqWk$IbB!~Qb_{>m=+bMNo1$$ec9yg4Y{qMnd zlky*ZwAHYh(DeTIe+J**F$Y^L*EjgC2s1CUwBI4W`fH3`&i)(QCZydnQ@i8#x`*eD zLt$ra-`DBWU8k+-TsZ5W-C3zK3aJsTQ9py%YCVn&aaqqPFFn_!!p!=LMpS0`wZ1tl zub*8I$O|ecw2zMC-k7p^^Ye`s>wZPuPMaPo)mJ_*y7a)WNB4D`cKB*I&+`nD3DKLW z7p@hkAiJbz;RU_&im<%5oG%VF$TVI#vPgc?q1%fEy`^4c-_?%1(>&>p`sVE&X%$a; zlOEJdJ4!7MU68S6OT z2-i0}aALK4&$Zv|;o-F_8H(7f-bWpO_o7TcGwV(E;$;nH^`bZOTjdsZd!2p!Ty@2R zWt`h|&8wgCpPf=4`}taf{<&w*k_?~lwz4qj{PmTUX`L$69+O}2=X9YF_r%qnNtwE{ zY(=LgyC$oxE19@>LC8i4&jtS~4U3*G)8SLxE2_NiQ*VK7ab}>A%A1Gjzv8!duKjY2 zmF;D;Yq`YrF?f%9$d*ca- zjax4?FwHpk=xJF2V{CEE8PN$&DiP`(kNUdqCHy&ErTih%aNVmHTnnb^cBY<``oOs( zPGSzb!|lEIL@yOBaXq|8rfGJ#REzlPYjt-LH?I2}`RcaOts_bsg&Y4yK7IUUJHP*~ zweP$SZ{EKo^+ViBiBRo}&(gB8%$5W_Y?%Fro%#9kUwc)i<}Oc}8(zAL+sDo($IV{O zqgZ9bwBrnG9<9Ao)311ZWoK6Ak+*M;w;y=>^^@w?le+N}V|$MlE}3z`<wm2(=PwbToAFnGKjqj2?JTpi2bhGXS=}z0b^g2Vf>rCTS?_!FK{YLTh15nVfge9N zXdRmHbn+9o(ip>rTRlzz=DoWWD)xk!?7bSdu1>u4_%f-B2GWm%uCCkP@Mn$ayZnk@ z+Bc4^Kk%O+!G6X^0nxCCU)@_){JZ_L=vPIF{r=w!>$eJZd-GWo{}p&M`}5}H-C};d z*{2!vHeHz8(70CA-|4meuI05R$DhguS-o=4(mr0}e(ax~g21w=O)P1gGi47btCl20 zI&GWfEfU?B{)e4ugL!yXwVJ!h3zjdhSH+)eo!azoMc3D@KhL#Z^Us@mT3KuD=Gbc9 zCDwV4`7fEjGPCS^*RFnOUj6R9Qg-~3Tf`)dSRDR7{QLSp!^^Ax8D>wLSN~-m>wV1= zeW$N>I~|+!`r)@sr#~j0T}!{0S~EX-ynExR+e%Nb?`JP?lQ;Y3$ugU9eR-f;zn|yJ zd7C4fMKpI9{%Ci2V8O>`u|Fi;f2r@qsCPF?cE7OOaLd+NeoICU?}xctyY9|76S-1* zB^Rqqv-{R3p`wB^Qd+M#n_t9!@q#*10FU`07-xpkbwRghK z=sz)MITK(dg-)|) z7usImSf-eN2h>o|V&C7s{PBL@y)E;9N8gisaQ$~n{E}byxBt8Rsp(sLlOVu&i^jM;Ry(hT3QMi2WtL=K!|Xbnw`aq@ zT?MP2&a}ujj?VD(jF^^czUad7hg;W2x`vw@aBb4h(B9v=ekw>0-Eh#a##CZ z|LZ z6*V^nvu_@MW>3hi4mqjNWnr!{{X~ktz#r|I@wd1hIF!ZzYW{ZE?w{J$UD)2uhw)3i)KDbG zvq5OnWYrR-6z`@pJvl;dg;LoX&OeL7f3o~%cr$-fZQ-l!F*RlBX*CgIN?|&Tr5Q73 zZHdziyt(maNc8F%S3&~U<+Zx3-fQ6za^TpxGe-`D&41~qofsRNm=v94Vp=2opP|vg zewp}>`#x3IF75oMceY}K*~$&ClWzWJxP0youXXL}qP|<3Zn<9CpXG2MA+o=_H!wm{ zEFya1+2yi})=W;FB{NVZtMBY?EIH%*UGl`=U+Un!J|5L-TDP7Pwm%E&3T-g9wF1e{*t zWP3E09y}l>B)&%EtiZDiv+8yfdmlOK&a13(eCvUXPxB7Rx(YXSEs}AHO8FZxC+gK! zpNQ)QIRg`{0`8;*2L;jebB)cF))A60eq*BzhL0vbQI zNqu!*)9xZ@5nZ#h{hVR>Mo z**du`XT?Q!PE+7HXd}GxZB6cr1ve{L8eVH`Sn+-BzI}duogTcry(Y~e+&n(sdO04a zy16_H%L>jWMzcl!Trj~;@tf42)bxoVtTHo9t1mI` z=6Jk%uKlmMO#E$E7}XC8or=Er`&;TV_M}WPQ@;hwH|?d^9$B*GFxYPtY+AZKOz~UO z_Q-!L7actq@~B?Bs9SO2f-lmmFWX1kcAC79t?phYZ(!_t{j1k4rT7{0-v1dkvMf>7 z(pj_UOKP@@N}d000cqhIRdY_Q6qnrV|28EewUuk1i9?6{iydDA|1(Tn|Ig>0{C|c8 zJH%_2hczir?RHtTt^3w%m0y2MqjpJsweH@Z*Q9@3+vP~c-juFGcbe{BVt=Lm`mf)& zYv&%--~M}bZp+P`#V1e5GB-T1kZim+UE6>A+lR(4s{`)dmw2UBTi>&KTkW!dAA)!1 zKK=da=Ap=4U*l)hvMgEC6v1|3aq8!k^jY4uuT4JQeDMA1kT~~fxBBru-%DxG&a_?=OYMYaIz2bSyF^i0y zX4~_XYuT?oyQs~Z-SQ{=GHZTL!B4+E%O)hdY%z;rJ+FCnLC4diiyCVeecN@?Za;6> zy0*Q3kKW&2(Eah$MMEk5NTm(i6}EqA{MGgAKSS`|t($ku|Ms7uG(FKQFXmGbtHRgj ze*)GrZ|m1>{?G8fJMK3_@}02#v;H&O{Ijg{wzT60wypNtHEYjC2>!VBmb-2BSLWcV zVsZZU)ej1jEL6j%r7W2I*ZJ$er>`HHZgQ4p`zwD_UG8+=zazO1FPmgAGu_&C?daAy zVQnfml|H0YhJ;QK3t@#=W@2BqqbLQ&a z{^R_tUh9IbR9|*i>2A@4^7I)N=N4zJpJFmAx^!9YH@0IoGu{a2?XH`&Ui`}!s|}_b z)73bO7(X>8IxEcn&#-)_fY$oE>%MtjHqGO_^)r6+3)`?Ynfv=+&(I6!JO3)eT5Wkr z#2W4OO0z$CH?e8=&V2CfOl)$Dk)3bj=H>$lCBdq;kNzlF|C=@GdR~3)-uB!NI!Rnx z{W`K4)PqBx7`dF<*R<}r{^S+y3E%i?4I_CCdJ-@37MLyRSggvtx}myZ(vBIvn^~@{ zh}aOc?}v%)fdXUa%a0zc@OL&py*S3_5li327o2PdvzI1+@IQ83F}&-1@gFIEUiZ5b zS3MNs`qhxcB-Ivskk_c8@@dT>rj1cz3UKZI^kcX8mft$E>l2SM-MXE>x!<|ihIQrow(bJ|ZB=k~N#OeCihbyWM(if9!k<&TR_Thc}8xt2rjE-n~TYS9H?`W&0UfN5fWL zdhH$3oPAe^&GcJyx zGGzWLER|6;UH!F+CB|`Kb?tH%0neb{H^dA*4irtlaWnnHk&C@sL@l4TT*>M9?Y1cN zj_0A2&nsPB3?hFvwFU<*$T>T4*};YH*dn$iFU>o2Pt3Y??Tv5g9(-T+SC!Rn-{F?` zciOe&=j+~PZRYq9el$&G`?ZP8ZIWD82Wm6=*kTts!~}6peRFhyW#X5sz5%u!MW5^( z9{*=p+3y}Yao6vwEk*m~4hRUOCS=Wzt<8Ov@miy3bBt5mktJUZkId?cOe{<|~RUH4m8rjw*l$ZWcH$Kr2Nvg^Ah zT0L5=w9I>YHe087>6gWUN14y6oKleCJXdmTncQ5a&5VCLTvFG@evR~;@y*|0_N&?~ zYxfMT%l@M4-e+$P{?#D8)_ZOLk6ZKJ-(H^mWpCCF*SjBnihkYkcmEQBknp*Ga;yB) z{q5iWU7ucSCKmHelG(yGe)hiw$Hb=Toh;=~u{v;vH}xlTN_)_3$9+4kx&CadY+}uM z+@rU$>sqtegXY`+9(?;3sj$d6FGr7A?A|%yedk|?Y?G5?Tz?N#A;1Ud!r8O3>JHtT z)#tY0b>N}-4tr;$2(WcWukGIauv_5Dl~+#o3+GJv81%v9+a2G7nfZ^jT|FYFWUCbx zMmuYN%}q7ruE^6tr$h)yZ&7|_w3nu^~5msoX5K*HY5ve zndP!^!S(8u4WTbD)adBgC|nP|9DF^Hwe=#``lBvKUNpu3XSg=&Kf?|7e@Sz=7TlaS zqdw3*xkur_yMxty*Z6Jqw-toPY!8sybTCuv^#-+dk&REEIwdvF_w`=CB4>jBDprM5 zXV06D#FiBbt;*Wnd1POi+0pQF#;s8QHXc8BL33HMq0BR@xc&)Sx2|cpGga!q?wKLq*Y)WV{qy_k4I2cwrd_Wp%vj62{ln}R@|EA@6Ybxv zR`qFDuxAeVvOmH^*OZfS#Vf`yhn7jQeoPB|mAOQGo4KpY&X1`(RCNpucPN{gD4dtl zO;yRB^vHU*)Ws;pg^Ac~q*f?))vNC)SUb|uX zigUYq&9lstj#-_vi`-Fgg5|W5X{WE0_|}VF4UI3SH!RsWwX9ue@(d29W5?Myb>4Xt zUvZ;PG%#2`_+(pUILl-P?@wE}GM=7Vc*9uq#ZT>CCc7(A-g9Ffp0_%h8T00VBytQluSiYLZT9P8`=;r(?_0E_`SJ0P zZ`aM(6rUJmF)t{~zsa|!^ib1g!@T{%FT*zL)V7(f5tLDWyLe*Ic3p$m)&+MaD})H_ zT-+B_Q!v?Lo!Y^K72hv2+%4o)wZHak&yoXXygN#`b?-W6N35D6UjOaAhk&(v&U|K_ zboNMlr>jZZT!U9{3Z5mj(tWP$6d%vdpFLj6RvWA*am>_72@g(b&Q?G7Y1efzfiGP5 z4wZ;LDtB4ymCv`pLUO6x^0!MbZBL!_hIx~|%km9MJHIFj8b=p#*L%pX*t&P~mtQ~S z6a6C-)3v_^Ec86zqr}#fZ+H2P+qbgXmC<_Zu753m@Sovf{HE1`X=lRL-~H#U?lUu` z?q!aA$4c9ezxiDjp7(sIk?Oy#*6B`G{k~c&$*B{{|DE1`)%AMb8ZoO|zNx=z8Wvv< zUBMJ~Kzn1unzcOQrlXwxa()HWr~EgP3M zP2Vs#B1GHtKf`D7iW0`Gx2f5`mTs(mv0G;sUzmLLkz(Mc&Z%r=+fGHE!}nM zKbD+IzyIsO6Q20ORIPKm?cbOfGUKxvZ|}dg?_%?sa{KsCue56GjMquMXTSf*!J$se0*0z$umGWmB44y1-zxQNsr(S;h{mpY0ZapmOz|75Y>(?ns@sHPLJ29GjzD-zmq;tAV zlqmOulLlFvX6?8Ua*9OTYH0p#g6(BKl%>>Gs3e0~~d*SxMtO>=qqXR*xUztcIR zT`V|UuxlFE#Ot2R6{S?=cJvx8`cn68QOd5}v$8!VtzN6W)U(;jtm5XUN1u2KGv(Hl zabDiH`P;?qZ{m3wE(vj$v0u3n;oEMJbl>H)o>7kK+mq2TRc3pXKjtOo;bZf8)9o% z=3SlTw__7KgZbM1Ed>+Wwv^?W{<56Sz}S^FU%5o+s4(9L`w7`X4QuNDHV8@C-i-}= zGxO2q1v;14UE9xkE%f!Tg}1NjKR6_w_V-A+K+mdEXS?4Yn<(nY>b|=Fb`Nj0n@qk{ zh1|ujGk*SAcK=55F*)XNlgrygoo`6|XGs0M;Lk?SfZwz4?fTE~dspdJ!T0Y&_!O4P z{AY+dz$&J?Xx~-cjSEfx3GmFx!><8nr+BaZ#khm-s@{Kwqd}~jOXDT8rp;Zsf-zEX3IC_K?PZ$_SDw&j zzrn(H@%NO4i?8|Cw(XzYq#0G}l>BzJRlxd%4JCZX#cemdw%hUb>?*6zxAZranWu!m z;^k{xy)xJT+O1bbW^-mNEt@U9DdFwWpoc*ZuFZA0n(}vV!qLFAec39LOahd?S~xjB z_DIX|IJKH{|FT_6E0b`?D>Ito}wSOUhO&1BWoG0RIa?8_tM?7S_|WwzkXb` zt6|RT>p=^bmo7NUvnKV=w*2pSlG%l|h4JwiD4 literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/pair_spin_soc_dmi_interaction.tex b/doc/src/Eqs/pair_spin_soc_dmi_interaction.tex new file mode 100644 index 0000000000..1f26c08295 --- /dev/null +++ b/doc/src/Eqs/pair_spin_soc_dmi_interaction.tex @@ -0,0 +1,11 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath,amssymb,amsthm,bm} +\begin{document} +\begin{varwidth}{50in} + \begin{equation} + \bm{H}_{dm} = \sum_{{ i,j}=1,i\neq j}^{N} \vec{D}\left(r_{ij}\right) \cdot\left(\vec{s}_{i}\times \vec{s}_{j}\right), \nonumber + \end{equation} +\end{varwidth} +\end{document} diff --git a/doc/src/pair_spin_me.txt b/doc/src/pair_spin_me.txt new file mode 100644 index 0000000000..149a4c5f2c --- /dev/null +++ b/doc/src/pair_spin_me.txt @@ -0,0 +1,73 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style pair/spin/me command :h3 + +[Syntax:] + +pair_style pair/spin/me cutoff :pre + +cutoff = global cutoff pair (distance in metal units) :ulb,l + +:ule + +[Examples:] + +pair_style pair/spin/me 4.5 +pair_coeff * * pair/spin/me me 4.5 0.00109 1.0 1.0 1.0 :pre + +[Description:] + +Style {pair/spin/me} computes a magneto-electric interaction between +pairs of magnetic spins. According to the derivation reported in +"(Katsura)"_#Katsura1, this interaction is defined as: + +:c,image(Eqs/pair_spin_me_interaction.jpg) + +where si and sj are neighboring magnetic spins of two particles, +rij = ri - rj is the normalized separation vector between the +two particles, and E is an electric polarization vector. +The norm and direction of E are giving the intensity and the +direction of a screened dielectric atomic polarization (in eV). + +From this magneto-electric interaction, each spin i will be submitted +to a magnetic torque omega, and its associated atom can be submitted to a +force F for spin-lattice calculations (see +"fix_integration_spin"_fix_integration_spin.html), such as: + +:c,image(Eqs/pair_spin_me_forces.jpg) + +with h the Planck constant (in metal units). + +More details about the derivation of these torques/forces are reported in +"(Tranchida)"_#Tranchida1. + +:line + +[Restrictions:] + +All the {pair/spin} styles are part of the SPIN package. +These styles are only enabled if LAMMPS was built with this package, and +if the atom_style "spin" was declared. +See the "Making LAMMPS"_Section_start.html#start_3 section for more info. + +[Related commands:] + +"atom_style spin"_atom_style.html, "pair_coeff"_pair_coeff.html, +"pair_spin_exchange"_pair_spin_exchange.html, "pair_eam"_pair_eam.html, + +[Default:] none + +:line + +:link(Katsura1) +[(Katsura)] H. Katsura, N. Nagaosa, A.V. Balatsky. Phys. Rev. Lett., 95(5), 057205. (2005) + +:link(Tranchida1) +[(Tranchida)] J. Tranchida, S.J. Plimpton, P. Thibaudeau, A.P. Thompson. +arXiv preprint arXiv:1801.10233. (2018) diff --git a/doc/src/pair_spin_soc_dmi.txt b/doc/src/pair_spin_soc_dmi.txt new file mode 100644 index 0000000000..010b645501 --- /dev/null +++ b/doc/src/pair_spin_soc_dmi.txt @@ -0,0 +1,82 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style pair/spin/soc/dmi command :h3 + +[Syntax:] + +pair_style pair/spin/soc/dmi cutoff :pre + +cutoff = global cutoff pair (distance in metal units) :ulb,l + +:ule + +[Examples:] + +pair_style pair/spin/soc/dmi 4.0 +pair_coeff * * dmi 2.6 0.001 1.0 0.0 0.0 +pair_coeff 1 2 dmi 4.0 0.00109 0.0 0.0 1.0 :pre + +[Description:] + +Style {pair/spin/soc/dmi} computes the Dzyaloshinskii-Moriya (DM) interaction +between pairs of magnetic spins: + +:c,image(Eqs/pair_spin_soc_dmi_interaction.jpg) + +where si and sj are two neighboring magnetic spins of two particles, +rij = ri - rj is the inter-atomic distance between the two particles, +and D(rij) is the DM vector defining the intensity and the +sign of the exchange interaction. + +This function is defined as: + +:c,image(Eqs/pair_spin_exchange_function.jpg) + +where a, b and d are the three constant coefficients defined in the associated +"pair_coeff" command. + +The coefficients a, b, and c need to be fitted so that the function above matches with +the value of the DM interaction for the N neighbor shells taken +into account. + +Examples and more explanations about this function and its parametrization are reported +in "(Tranchida)"_#Tranchida1. + +From this DM interaction, each spin i will be submitted to a magnetic torque +omega and its associated atom to a force F (for spin-lattice calculations only), +such as: + +:c,image(Eqs/pair_spin_soc_dmi_forces.jpg) + +with h the Planck constant (in metal units). + +More details about the derivation of these torques/forces are reported in +"(Tranchida)"_#Tranchida1. + +:line + +[Restrictions:] + +All the {pair/spin} styles are part of the SPIN package. +These styles are only enabled if LAMMPS was built with this package, and +if the atom_style "spin" was declared. +See the "Making LAMMPS"_Section_start.html#start_3 section for more info. + +[Related commands:] + +"atom_style spin"_atom_style.html, "pair_coeff"_pair_coeff.html, +"pair_eam"_pair_eam.html, + +[Default:] none + +:line + +:link(Tranchida1) +[(Tranchida)]https://arxiv.org/abs/1801.10233 + diff --git a/examples/SPIN/bfo/in.spin.bfo b/examples/SPIN/bfo/in.spin.bfo new file mode 100644 index 0000000000..a760bd9dc1 --- /dev/null +++ b/examples/SPIN/bfo/in.spin.bfo @@ -0,0 +1,55 @@ +# sc iron atoms in bismuth oxide + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# check why? +atom_modify map array + +lattice sc 3.96 +region box block 0.0 34.0 0.0 34.0 0.0 5.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for bfo + +mass 1 1.0 + +set group all spin/random 11 2.50 + +pair_style hybrid/overlay pair/spin/exchange 6.0 pair/spin/me 4.5 +pair_coeff * * pair/spin/exchange exchange 6.0 -0.01575 0.0 1.965 +pair_coeff * * pair/spin/me me 4.5 0.000109 1.0 1.0 1.0 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all force/spin anisotropy 0.0000035 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.1 0.0 21 + +fix 3 all integration/spin lattice no + +timestep 0.0001 + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 + +thermo_style custom step time v_magnorm v_emag temp etotal +thermo 10 + +#dump 1 all custom 100 dump_spin_BFO.lammpstrj type x y z spx spy spz + +run 10000 + diff --git a/examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy new file mode 100644 index 0000000000..3af058baf7 --- /dev/null +++ b/examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy @@ -0,0 +1,6006 @@ +Cobalt EAM potential: G. P. Purja Pun and Y. Mishin, Phys. Rev. B xx, 004100 (2012) (in press) +Data below r = 1.5 A is extrapolated. F(Rho) data not extrapolated. +Created on Wed Sep 26 17:29:54 2012 +1 Co +10000 4.788742913000000e-04 10000 6.499539000000001e-04 6.499539000000000e+00 +27 5.893320000000000e+01 2.507000000000000e+00 hcp + -1.680303080000000e-02 -1.879913964471138e-02 -2.091739081044659e-02 -2.303564197615629e-02 -2.503175082079116e-02 + -2.681996612041136e-02 -2.846010103933253e-02 -3.003179469400266e-02 -3.154842562124295e-02 -3.300931506782415e-02 + -3.442381570000001e-02 -3.580233366714632e-02 -3.714945763166951e-02 -3.846832763111274e-02 -3.976210669053554e-02 + -4.103374908125148e-02 -4.228535107207521e-02 -4.351872320172212e-02 -4.473539109100971e-02 -4.593674531110434e-02 + -4.712392115246503e-02 -4.829795108118731e-02 -4.945971154662068e-02 -5.061001094949964e-02 -5.174954151284258e-02 + -5.287894548568519e-02 -5.399878139884967e-02 -5.510957102742049e-02 -5.621177284174523e-02 -5.730581735016625e-02 + -5.839208651773948e-02 -5.947094067448531e-02 -6.054270215356945e-02 -6.160767623453070e-02 -6.266613797925552e-02 + -6.371834880435967e-02 -6.476454576302854e-02 -6.580495483863194e-02 -6.683978209870683e-02 -6.786922452279202e-02 + -6.889346265426707e-02 -6.991266949659354e-02 -7.092700432972064e-02 -7.193662011890395e-02 -7.294165829413661e-02 + -7.394225494811188e-02 -7.493853635958479e-02 -7.593062425993033e-02 -7.691863200494162e-02 -7.790266905197404e-02 + -7.888283764021425e-02 -7.985923664258643e-02 -8.083195868513401e-02 -8.180109346997461e-02 -8.276672525040257e-02 + -8.372893572415932e-02 -8.468780181559693e-02 -8.564339820511864e-02 -8.659579537072190e-02 -8.754506181558984e-02 + -8.849126234605453e-02 -8.943446001410092e-02 -9.037471455117625e-02 -9.131208412841478e-02 -9.224662399623559e-02 + -9.317838801321032e-02 -9.410742739123597e-02 -9.503379209498646e-02 -9.595752974691800e-02 -9.687868684755546e-02 + -9.779730775191570e-02 -9.871343580120046e-02 -9.962711242685958e-02 -1.005383781439554e-01 -1.014472717117523e-01 + -1.023538310651938e-01 -1.032580925977369e-01 -1.041600919387366e-01 -1.050598632026273e-01 -1.059574398208095e-01 + -1.068528540074704e-01 -1.077461373458066e-01 -1.086373201122683e-01 -1.095264320028559e-01 -1.104135016985198e-01 + -1.112985573626335e-01 -1.121816261033156e-01 -1.130627345294291e-01 -1.139419083080692e-01 -1.148191726662944e-01 + -1.156945520127823e-01 -1.165680703406650e-01 -1.174397507992727e-01 -1.183096161572101e-01 -1.191776885039839e-01 + -1.200439895800373e-01 -1.209085404086571e-01 -1.217713616730546e-01 -1.226324734132936e-01 -1.234918953788508e-01 + -1.243496468000000e-01 -1.252057466264230e-01 -1.260602132046348e-01 -1.269130646065986e-01 -1.277643184092350e-01 + -1.286139919512837e-01 -1.294621021138015e-01 -1.303086655551642e-01 -1.311536985007052e-01 -1.319972169590798e-01 + -1.328392365052704e-01 -1.336797725161469e-01 -1.345188400098036e-01 -1.353564538215464e-01 -1.361926284143060e-01 + -1.370273780803152e-01 -1.378607168013910e-01 -1.386926583917836e-01 -1.395232163058920e-01 -1.403524038515728e-01 + -1.411802341103638e-01 -1.420067200256853e-01 -1.428318742148069e-01 -1.436557091565456e-01 -1.444782371020595e-01 + -1.452994701862315e-01 -1.461194203065015e-01 -1.469380992388567e-01 -1.477555185109162e-01 -1.485716895480879e-01 + -1.493866236153044e-01 -1.502003318703277e-01 -1.510128252027127e-01 -1.518241144121522e-01 -1.526342102070998e-01 + -1.534431232126203e-01 -1.542508638114616e-01 -1.550574422930448e-01 -1.558628688157988e-01 -1.566671534698807e-01 + -1.574703062033520e-01 -1.582723368973844e-01 -1.590732553076882e-01 -1.598730711132973e-01 -1.606717938120008e-01 + -1.614694328459875e-01 -1.622659976162905e-01 -1.630614974730487e-01 -1.638559416039789e-01 -1.646493391351259e-01 + -1.654416991082678e-01 -1.662330305252601e-01 -1.670233423125346e-01 -1.678126433512354e-01 -1.686009424167802e-01 + -1.693882482431861e-01 -1.701745695045948e-01 -1.709599148401449e-01 -1.717442928088396e-01 -1.725277119385885e-01 + -1.733101807130639e-01 -1.740917075837066e-01 -1.748723009172683e-01 -1.756519690655456e-01 -1.764307204052008e-01 + -1.772085632840185e-01 -1.779855059094047e-01 -1.787615564692287e-01 -1.795367232135896e-01 -1.803110143830451e-01 + -1.810844381177561e-01 -1.818570025406103e-01 -1.826287158057983e-01 -1.833995860626770e-01 -1.841696214099643e-01 + -1.849388299454831e-01 -1.857072198141128e-01 -1.864747991526175e-01 -1.872415760182443e-01 -1.880075584641173e-01 + -1.887727546063884e-01 -1.895371725773110e-01 -1.903008205105196e-01 -1.910637065418589e-01 -1.918258388146347e-01 + -1.925872254807121e-01 -1.933478747187342e-01 -1.941077947209150e-01 -1.948669937069724e-01 -1.956254799127480e-01 + -1.963832616110719e-01 -1.971403470967068e-01 -1.978967447151567e-01 -1.986524628291068e-01 -1.994075098192274e-01 + -2.001618941005484e-01 -2.009156242075518e-01 -2.016687086990372e-01 -2.024211561116226e-01 -2.031729750127928e-01 + -2.039241741156804e-01 -2.046747621691974e-01 -2.054247479197256e-01 -2.061741401521784e-01 -2.069229478081280e-01 + -2.076711798806499e-01 -2.084188454121736e-01 -2.091659534755806e-01 -2.099125132162076e-01 -2.106585338443872e-01 + -2.114040247579823e-01 -2.121489953974893e-01 -2.128934551864067e-01 -2.136374136027109e-01 -2.143808803592873e-01 + -2.151238652468154e-01 -2.158663781322411e-01 -2.166084289346303e-01 -2.173500277052638e-01 -2.180911845646947e-01 + -2.188319097783510e-01 -2.195722136949507e-01 -2.203121068514981e-01 -2.210515998518519e-01 -2.217907033790026e-01 + -2.225294282016381e-01 -2.232677853521022e-01 -2.240057859531163e-01 -2.247434412252567e-01 -2.254807624804862e-01 + -2.262177612984613e-01 -2.269544493586047e-01 -2.276908384717110e-01 -2.284269405581227e-01 -2.291627678450005e-01 + -2.298983326532392e-01 -2.306336473718499e-01 -2.313687245044682e-01 -2.321035769451089e-01 -2.328382177230701e-01 + -2.335726600184018e-01 -2.343069171312917e-01 -2.350410026917230e-01 -2.357749304696442e-01 -2.365087144650665e-01 + -2.372423688046511e-01 -2.379759078915950e-01 -2.387093462817347e-01 -2.394426988649284e-01 -2.401759806938325e-01 + -2.409092071382775e-01 -2.416423937275558e-01 -2.423755563116356e-01 -2.431087109081851e-01 -2.438418738849959e-01 + -2.445750618045980e-01 -2.453082916583512e-01 -2.460415806101058e-01 -2.467749460848467e-01 -2.475084057095742e-01 + -2.482419776582159e-01 -2.489756803241430e-01 -2.497095324315720e-01 -2.504435529132133e-01 -2.511777612049070e-01 + -2.519121769824342e-01 -2.526468203782122e-01 -2.533817117688987e-01 -2.541168720514789e-01 -2.548523223627430e-01 + -2.555880842783758e-01 -2.563241796571988e-01 -2.570606310516858e-01 -2.577974612919421e-01 -2.585346936249472e-01 + -2.592723515924181e-01 -2.600104594981498e-01 -2.607490419576605e-01 -2.614881240712832e-01 -2.622277312727207e-01 + -2.629678898443362e-01 -2.637086264051527e-01 -2.644499680721714e-01 -2.651919423187013e-01 -2.659345775453039e-01 + -2.666779025531186e-01 -2.674219468183432e-01 -2.681667401972407e-01 -2.689123133912765e-01 -2.696586975492495e-01 + -2.704059247640904e-01 -2.711540275538941e-01 -2.719030391932789e-01 -2.726529934197978e-01 -2.734039250662187e-01 + -2.741558694758598e-01 -2.749088629390239e-01 -2.756629422674556e-01 -2.764181454116789e-01 -2.771745108563868e-01 + -2.779320780841674e-01 -2.786908871694924e-01 -2.794509795564719e-01 -2.802123972949423e-01 -2.809751834880072e-01 + -2.817393818716988e-01 -2.825050376604960e-01 -2.832721967688652e-01 -2.840409064327807e-01 -2.848112145951165e-01 + -2.855831707048412e-01 -2.863568249759762e-01 -2.871322291766564e-01 -2.879094358829076e-01 -2.886884993482028e-01 + -2.894694746623641e-01 -2.902524185831628e-01 -2.910373887617654e-01 -2.918244447549689e-01 -2.926136470970381e-01 + -2.934050583264800e-01 -2.941987419693519e-01 -2.949947634976693e-01 -2.957931894604184e-01 -2.965940887685082e-01 + -2.973975314584912e-01 -2.982035897075678e-01 -2.990123368838905e-01 -2.998238489787670e-01 -3.006382032814213e-01 + -3.014554796495834e-01 -3.022757592753754e-01 -3.030991261199829e-01 -3.039256655881672e-01 -3.047554660899296e-01 + -3.055886175640754e-01 -3.064252130593845e-01 -3.072653472379187e-01 -3.081091181048918e-01 -3.089566254021406e-01 + -3.098079724748395e-01 -3.106632645082006e-01 -3.115226104442510e-01 -3.123861211846884e-01 -3.132539117130802e-01 + -3.141260990998875e-01 -3.150028046812773e-01 -3.158841520361693e-01 -3.167702694487885e-01 -3.176612875689104e-01 + -3.185573418032087e-01 -3.194585700942650e-01 -3.203651157713922e-01 -3.212771249044592e-01 -3.221947491388281e-01 + -3.231181430183639e-01 -3.240474671054514e-01 -3.249828850672117e-01 -3.259245669711927e-01 -3.268726862299913e-01 + -3.278274232359761e-01 -3.287889619469540e-01 -3.297574936027157e-01 -3.307332132733838e-01 -3.317163240684192e-01 + -3.327070332351553e-01 -3.337055565330767e-01 -3.347121141277095e-01 -3.357269352965953e-01 -3.367502540927247e-01 + -3.377823145588749e-01 -3.388233658450175e-01 -3.398736675401181e-01 -3.409334847493447e-01 -3.420030942036733e-01 + -3.430827786115977e-01 -3.441728329658748e-01 -3.452735586625544e-01 -3.463852704265985e-01 -3.475082899277179e-01 + -3.486429532857090e-01 -3.497896041380748e-01 -3.509486017430585e-01 -3.521203134619261e-01 -3.533051234472958e-01 + -3.545034246605078e-01 -3.557156285064298e-01 -3.569421559513399e-01 -3.581834477636310e-01 -3.594399550688090e-01 + -3.607121506187135e-01 -3.620005184199024e-01 -3.633055658714727e-01 -3.646278119965309e-01 -3.659677989216845e-01 + -3.673260803339768e-01 -3.687032330586966e-01 -3.700998457090232e-01 -3.715165309114429e-01 -3.729539131544640e-01 + -3.744126403613781e-01 -3.758933720658462e-01 -3.773967908082255e-01 -3.789235902651524e-01 -3.804744856516886e-01 + -3.820502023195389e-01 -3.836514846285581e-01 -3.852790856353807e-01 -3.869337741756033e-01 -3.886163256972291e-01 + -3.903275263189269e-01 -3.920681658458204e-01 -3.938390381581898e-01 -3.956409370872805e-01 -3.974746521930466e-01 + -3.993409682701225e-01 -4.012406553231547e-01 -4.031744727439548e-01 -4.051431522629808e-01 -4.071474082130475e-01 + -4.091879129977703e-01 -4.112653138348391e-01 -4.133801991274390e-01 -4.155331235094092e-01 -4.177245653517079e-01 + -4.199549603385881e-01 -4.222246496703586e-01 -4.245339230260172e-01 -4.268829584832519e-01 -4.292718744431503e-01 + -4.317006622016948e-01 -4.341692468068394e-01 -4.366774154195978e-01 -4.392248845800756e-01 -4.418112262316757e-01 + -4.444359401252420e-01 -4.470983818380713e-01 -4.497978365893122e-01 -4.525334523390530e-01 -4.553043120100788e-01 + -4.581093756350076e-01 -4.609475466791835e-01 -4.638176252290113e-01 -4.667183660407072e-01 -4.696484459287199e-01 + -4.726065094563343e-01 -4.755911501239359e-01 -4.786009429283761e-01 -4.816344399152602e-01 -4.846901882843556e-01 + -4.877667388033212e-01 -4.908626497957108e-01 -4.939765062407663e-01 -4.971069114027755e-01 -5.002525150305011e-01 + -5.034119937007041e-01 -5.065840848176727e-01 -5.097675587133593e-01 -5.129612566028576e-01 -5.161640565945169e-01 + -5.193749134865747e-01 -5.225928209640586e-01 -5.258168515692775e-01 -5.290461169135583e-01 -5.322798060270272e-01 + -5.355171460831645e-01 -5.387574394100244e-01 -5.420000245805213e-01 -5.452443099924439e-01 -5.484897376520451e-01 + -5.517358141745681e-01 -5.549820769247875e-01 -5.582281216566209e-01 -5.614735718423751e-01 -5.647181034387753e-01 + -5.679614169890416e-01 -5.712032588979591e-01 -5.744433972991336e-01 -5.776816413798681e-01 -5.809178193507762e-01 + -5.841517944620215e-01 -5.873834463985003e-01 -5.906126855444893e-01 -5.938394364748391e-01 -5.970636498273136e-01 + -6.002852884426439e-01 -6.035043379105128e-01 -6.067207941645156e-01 -6.099346717649501e-01 -6.131459940881434e-01 + -6.163548011478311e-01 -6.195611404873568e-01 -6.227650731310865e-01 -6.259666663617727e-01 -6.291659990146931e-01 + -6.323631552654742e-01 -6.355582290986170e-01 -6.387513188871106e-01 -6.419425307490256e-01 -6.451319745539882e-01 + -6.483197674327603e-01 -6.515060293214946e-01 -6.546908841167685e-01 -6.578744572836812e-01 -6.610568766009968e-01 + -6.642382709221243e-01 -6.674187710853904e-01 -6.705985088370179e-01 -6.737776175698923e-01 -6.769562312911304e-01 + -6.801344848181089e-01 -6.833125134999645e-01 -6.864904540026142e-01 -6.896684434132225e-01 -6.928466191871651e-01 + -6.960251190039876e-01 -6.992040810717012e-01 -7.023836437724149e-01 -7.055639456561626e-01 -7.087451254024176e-01 + -7.119273220404884e-01 -7.151106745784721e-01 -7.182953215897911e-01 -7.214814016245582e-01 -7.246690535743215e-01 + -7.278584163200112e-01 -7.310496283586513e-01 -7.342428280442573e-01 -7.374381535427195e-01 -7.406357429444993e-01 + -7.438357342264661e-01 -7.470382651689156e-01 -7.502434728794412e-01 -7.534514943101106e-01 -7.566624664635970e-01 + -7.598765262236051e-01 -7.630938099473661e-01 -7.663144537782537e-01 -7.695385935306881e-01 -7.727663648349232e-01 + -7.759979029135046e-01 -7.792333428394971e-01 -7.824728194957561e-01 -7.857164675195603e-01 -7.889644207560909e-01 + -7.922168128628783e-01 -7.954737775389469e-01 -7.987354483417761e-01 -8.020019582211745e-01 -8.052734399002169e-01 + -8.085500258027153e-01 -8.118318481538471e-01 -8.151190386835121e-01 -8.184117289678831e-01 -8.217100504635063e-01 + -8.250141343769457e-01 -8.283241110344656e-01 -8.316401105683494e-01 -8.349622632152548e-01 -8.382906990624389e-01 + -8.416255474951805e-01 -8.449669376504778e-01 -8.483149983741850e-01 -8.516698583310095e-01 -8.550316457522134e-01 + -8.584004886419279e-01 -8.617765145292081e-01 -8.651598508088844e-01 -8.685506248139727e-01 -8.719489622521989e-01 + -8.753549823919468e-01 -8.787687997490927e-01 -8.821905162688262e-01 -8.856202278084699e-01 -8.890580184445617e-01 + -8.925039663319011e-01 -8.959581377191167e-01 -8.994205926453692e-01 -9.028913782181163e-01 -9.063705352609543e-01 + -9.098580923937473e-01 -9.133540718558304e-01 -9.168584825681617e-01 -9.203713268261465e-01 -9.238925937413506e-01 + -9.274222656928153e-01 -9.309603113133150e-01 -9.345066924037853e-01 -9.380613571840678e-01 -9.416242468397124e-01 + -9.451952880001965e-01 -9.487744002152808e-01 -9.523614892719469e-01 -9.559564538973973e-01 -9.595591783425093e-01 + -9.631695396882074e-01 -9.667874008119273e-01 -9.704126174878044e-01 -9.740450312802591e-01 -9.776844767743714e-01 + -9.813307748475731e-01 -9.849837394560669e-01 -9.886431705787867e-01 -9.923088615430331e-01 -9.959805930468456e-01 + -9.996581394281877e-01 -1.003341262213973e+00 -1.007029716826452e+00 -1.010723247080268e+00 -1.014421591236032e+00 + -1.018124476945841e+00 -1.021831626529500e+00 -1.025542751586175e+00 -1.029257558992056e+00 -1.032975747452084e+00 + -1.036697011770175e+00 -1.040421039317395e+00 -1.044147513860548e+00 -1.047876112182243e+00 -1.051606508161453e+00 + -1.055338371046766e+00 -1.059071368055605e+00 -1.062805162911107e+00 -1.066539417837194e+00 -1.070273792555226e+00 + -1.074007946119602e+00 -1.077741537419413e+00 -1.081474225260823e+00 -1.085205668283577e+00 -1.088935525821090e+00 + -1.092663460147868e+00 -1.096389134999202e+00 -1.100112217012435e+00 -1.103832374788097e+00 -1.107549281877421e+00 + -1.111262614364874e+00 -1.114972053517157e+00 -1.118677283811066e+00 -1.122377997381517e+00 -1.126073890115035e+00 + -1.129764665246453e+00 -1.133450029987863e+00 -1.137129700112097e+00 -1.140803395884355e+00 -1.144470846978575e+00 + -1.148131787996958e+00 -1.151785963846005e+00 -1.155433124321719e+00 -1.159073028473816e+00 -1.162705440550504e+00 + -1.166330136340245e+00 -1.169946897198408e+00 -1.173555515207745e+00 -1.177155787675114e+00 -1.180747522076412e+00 + -1.184330531453910e+00 -1.187904640946331e+00 -1.191469681045491e+00 -1.195025491559137e+00 -1.198571917630371e+00 + -1.202108816427798e+00 -1.205636050425976e+00 -1.209153491297797e+00 -1.212661015717853e+00 -1.216158511169199e+00 + -1.219645870103956e+00 -1.223122994042052e+00 -1.226589789250444e+00 -1.230046171916402e+00 -1.233492062734542e+00 + -1.236927390508550e+00 -1.240352088211073e+00 -1.243766097381527e+00 -1.247169363751694e+00 -1.250561841256042e+00 + -1.253943487695246e+00 -1.257314268132119e+00 -1.260674151007197e+00 -1.264023111009775e+00 -1.267361126327042e+00 + -1.270688182889021e+00 -1.274004269717549e+00 -1.277309380458899e+00 -1.280603511471348e+00 -1.283886665336751e+00 + -1.287158847447705e+00 -1.290420068216200e+00 -1.293670340397085e+00 -1.296909681097245e+00 -1.300138109654688e+00 + -1.303355649979877e+00 -1.306562327924205e+00 -1.309758172530325e+00 -1.312943214678930e+00 -1.316117489411603e+00 + -1.319281033477409e+00 -1.322433886294459e+00 -1.325576088655014e+00 -1.328707684178879e+00 -1.331828717822939e+00 + -1.334939237064845e+00 -1.338039290534788e+00 -1.341128928952336e+00 -1.344208204044806e+00 -1.347277169481128e+00 + -1.350335879836220e+00 -1.353384391367341e+00 -1.356422761075585e+00 -1.359451047255056e+00 -1.362469308854003e+00 + -1.365477606144248e+00 -1.368475999956682e+00 -1.371464552034891e+00 -1.374443324607048e+00 -1.377412380926959e+00 + -1.380371784452904e+00 -1.383321598435415e+00 -1.386261886043311e+00 -1.389192710326296e+00 -1.392114134331963e+00 + -1.395026221218571e+00 -1.397929034013782e+00 -1.400822635112213e+00 -1.403707086730599e+00 -1.406582451007194e+00 + -1.409448790047375e+00 -1.412306165903488e+00 -1.415154640386279e+00 -1.417994274393129e+00 -1.420825128672226e+00 + -1.423647264288326e+00 -1.426460742270041e+00 -1.429265623184807e+00 -1.432061967292326e+00 -1.434849834082543e+00 + -1.437629282863016e+00 -1.440400372981510e+00 -1.443163163644870e+00 -1.445917713456040e+00 -1.448664080745027e+00 + -1.451402323353998e+00 -1.454132498983212e+00 -1.456854665253158e+00 -1.459568879518891e+00 -1.462275198153495e+00 + -1.464973677286479e+00 -1.467664373054985e+00 -1.470347341460922e+00 -1.473022637957602e+00 -1.475690317602213e+00 + -1.478350434416031e+00 -1.481003042251009e+00 -1.483648195317718e+00 -1.486285947650543e+00 -1.488916352220507e+00 + -1.491539461636770e+00 -1.494155328124374e+00 -1.496764003712290e+00 -1.499365540029296e+00 -1.501959988475343e+00 + -1.504547399935251e+00 -1.507127824972320e+00 -1.509701313378898e+00 -1.512267914702716e+00 -1.514827678283996e+00 + -1.517380653263305e+00 -1.519926888190102e+00 -1.522466431291609e+00 -1.524999330097196e+00 -1.527525631932397e+00 + -1.530045384005255e+00 -1.532558633226744e+00 -1.535065425437065e+00 -1.537565806237489e+00 -1.540059821344337e+00 + -1.542547516227056e+00 -1.545028935252552e+00 -1.547504122520188e+00 -1.549973122161691e+00 -1.552435978060152e+00 + -1.554892733071735e+00 -1.557343429814709e+00 -1.559788110982664e+00 -1.562226819032855e+00 -1.564659595401864e+00 + -1.567086481207361e+00 -1.569507517312065e+00 -1.571922744465970e+00 -1.574332203223133e+00 -1.576735933784567e+00 + -1.579133975135047e+00 -1.581526366095511e+00 -1.583913146047792e+00 -1.586294354132112e+00 -1.588670027961349e+00 + -1.591040204840321e+00 -1.593404922368944e+00 -1.595764217997401e+00 -1.598118128281829e+00 -1.600466689560657e+00 + -1.602809938195509e+00 -1.605147910317183e+00 -1.607480641109968e+00 -1.609808165462235e+00 -1.612130518025190e+00 + -1.614447733364541e+00 -1.616759845941160e+00 -1.619066889913862e+00 -1.621368898338053e+00 -1.623665904067572e+00 + -1.625957940253400e+00 -1.628245039905108e+00 -1.630527235169479e+00 -1.632804557955816e+00 -1.635077040086276e+00 + -1.637344713164072e+00 -1.639607608003776e+00 -1.641865755216986e+00 -1.644119185392045e+00 -1.646367929030376e+00 + -1.648612016308968e+00 -1.650851477080719e+00 -1.653086340226579e+00 -1.655316634503563e+00 -1.657542389144867e+00 + -1.659763633269537e+00 -1.661980395063818e+00 -1.664192702419508e+00 -1.666400582983419e+00 -1.668604064251645e+00 + -1.670803173362428e+00 -1.672997937236383e+00 -1.675188382281491e+00 -1.677374534802169e+00 -1.679556421201192e+00 + -1.681734067628149e+00 -1.683907499121518e+00 -1.686076740528519e+00 -1.688241817042459e+00 -1.690402753749855e+00 + -1.692559574964003e+00 -1.694712304797627e+00 -1.696860967334408e+00 -1.699005586454806e+00 -1.701146185255449e+00 + -1.703282786721620e+00 -1.705415414177082e+00 -1.707544090831449e+00 -1.709668839099297e+00 -1.711789681156861e+00 + -1.713906639022084e+00 -1.716019734585396e+00 -1.718128989385494e+00 -1.720234424849230e+00 -1.722336062307809e+00 + -1.724433922917529e+00 -1.726528027230686e+00 -1.728618395721282e+00 -1.730705049154116e+00 -1.732788008101886e+00 + -1.734867292078088e+00 -1.736942920442919e+00 -1.739014913002594e+00 -1.741083289547465e+00 -1.743148069358425e+00 + -1.745209271450225e+00 -1.747266914282488e+00 -1.749321016270471e+00 -1.751371596207075e+00 -1.753418672811714e+00 + -1.755462264132180e+00 -1.757502388000569e+00 -1.759539062057792e+00 -1.761572303881055e+00 -1.763602130983907e+00 + -1.765628560778196e+00 -1.767651610332621e+00 -1.769671296580689e+00 -1.771687636258316e+00 -1.773700645994041e+00 + -1.775710342184503e+00 -1.777716741146727e+00 -1.779719859111176e+00 -1.781719712181211e+00 -1.783716316038327e+00 + -1.785709686327057e+00 -1.787699838965949e+00 -1.789686789700248e+00 -1.791670553307960e+00 -1.793651144443631e+00 + -1.795628578235185e+00 -1.797602869852874e+00 -1.799574034162875e+00 -1.801542085839167e+00 -1.803507039091021e+00 + -1.805468908052258e+00 -1.807427707019619e+00 -1.809383450209764e+00 -1.811336151356113e+00 -1.813285824110837e+00 + -1.815232482284336e+00 -1.817176139592257e+00 -1.819116809213001e+00 -1.821054504262256e+00 -1.822989238142106e+00 + -1.824921024174149e+00 -1.826849875071642e+00 -1.828775803432498e+00 -1.830698822001605e+00 -1.832618943490715e+00 + -1.834536180332052e+00 -1.836450544855570e+00 -1.838362049261658e+00 -1.840270705693083e+00 -1.842176526191684e+00 + -1.844079522732226e+00 -1.845979707122125e+00 -1.847877091069540e+00 -1.849771686052976e+00 -1.851663503515020e+00 + -1.853552554984233e+00 -1.855438851906239e+00 -1.857322405308933e+00 -1.859203226114476e+00 -1.861081325239847e+00 + -1.862956713608023e+00 -1.864829402171162e+00 -1.866699401811557e+00 -1.868566723102871e+00 -1.870431376467943e+00 + -1.872293372034969e+00 -1.874152719980291e+00 -1.876009430967454e+00 -1.877863515541558e+00 -1.879714983286677e+00 + -1.881563843740828e+00 -1.883410107218835e+00 -1.885253783963326e+00 -1.887094883151373e+00 -1.888933413891583e+00 + -1.890769386084288e+00 -1.892602809677417e+00 -1.894433694017575e+00 -1.896262048252058e+00 -1.898087881332244e+00 + -1.899911202238771e+00 -1.901732020265218e+00 -1.903550344662578e+00 -1.905366184198560e+00 -1.907179547502340e+00 + -1.908990443132265e+00 -1.910798879695625e+00 -1.912604866066330e+00 -1.914408411061036e+00 -1.916209523000752e+00 + -1.918008210058423e+00 -1.919804480310377e+00 -1.921598341888620e+00 -1.923389803244497e+00 -1.925178872754823e+00 + -1.926965558178970e+00 -1.928749867237572e+00 -1.930531808113790e+00 -1.932311388923252e+00 -1.934088617048956e+00 + -1.935863499807747e+00 -1.937636044984464e+00 -1.939406260367225e+00 -1.941174153289245e+00 -1.942939731044444e+00 + -1.944703001224463e+00 -1.946463971324967e+00 -1.948222648160018e+00 -1.949979038559213e+00 -1.951733150095908e+00 + -1.953484990331042e+00 -1.955234566032130e+00 -1.956981883796339e+00 -1.958726950332857e+00 -1.960469772453529e+00 + -1.962210357268799e+00 -1.963948711773954e+00 -1.965684842205069e+00 -1.967418754747339e+00 -1.969150456141664e+00 + -1.970879953151972e+00 -1.972607252078582e+00 -1.974332359180596e+00 -1.976055281015821e+00 -1.977776024078765e+00 + -1.979494594312026e+00 -1.981210997612849e+00 -1.982925240248993e+00 -1.984637328483028e+00 -1.986347268186276e+00 + -1.988055065135925e+00 -1.989760725123873e+00 -1.991464254028801e+00 -1.993165658061782e+00 -1.994864943305917e+00 + -1.996562115000000e+00 -1.998257178352118e+00 -1.999950139291834e+00 -2.001641003786081e+00 -2.003329777229788e+00 + -2.005016464899233e+00 -2.006701072168050e+00 -2.008383604435580e+00 -2.010064067106614e+00 -2.011742465557514e+00 + -2.013418805045480e+00 -2.015093090790721e+00 -2.016765327984645e+00 -2.018435521788566e+00 -2.020103677272243e+00 + -2.021769799450648e+00 -2.023433893211152e+00 -2.025095963440481e+00 -2.026756015150358e+00 -2.028414053372033e+00 + -2.030070083089858e+00 -2.031724109167109e+00 -2.033376136029651e+00 -2.035026168111125e+00 -2.036674210313675e+00 + -2.038320267543339e+00 -2.039964344253219e+00 -2.041606444873179e+00 -2.043246574193053e+00 -2.044884736927830e+00 + -2.046520937133174e+00 -2.048155178894251e+00 -2.049787467073582e+00 -2.051417806490505e+00 -2.053046201014273e+00 + -2.054672654449746e+00 -2.056297171294283e+00 -2.057919756136151e+00 -2.059540413234731e+00 -2.061159146675282e+00 + -2.062775960175462e+00 -2.064390857518372e+00 -2.066003843116474e+00 -2.067614921377108e+00 -2.069224096057763e+00 + -2.070831370870978e+00 -2.072436749999330e+00 -2.074040237602111e+00 -2.075641837275425e+00 -2.077241552544816e+00 + -2.078839387216755e+00 -2.080435345153352e+00 -2.082029430158359e+00 -2.083621645967183e+00 -2.085211996100236e+00 + -2.086800484128769e+00 -2.088387114042385e+00 -2.089971889736969e+00 -2.091554814315162e+00 -2.093135890870968e+00 + -2.094715123257078e+00 -2.096292515329556e+00 -2.097868070199266e+00 -2.099441790929908e+00 -2.101013681141721e+00 + -2.102583744473837e+00 -2.104151984084442e+00 -2.105718403103298e+00 -2.107283005027429e+00 -2.108845793364375e+00 + -2.110406771296459e+00 -2.111965941910842e+00 -2.113523308239219e+00 -2.115078873308544e+00 -2.116632640182243e+00 + -2.118184611994434e+00 -2.119734792125529e+00 -2.121283183887100e+00 -2.122829790069075e+00 -2.124374613416041e+00 + -2.125917657012881e+00 -2.127458923984833e+00 -2.128998417278243e+00 -2.130536139767974e+00 -2.132072094221826e+00 + -2.133606283403289e+00 -2.135138710165668e+00 -2.136669377406417e+00 -2.138198288109766e+00 -2.139725445172409e+00 + -2.141250851054121e+00 -2.142774508270670e+00 -2.144296419998729e+00 -2.145816589318136e+00 -2.147335018260493e+00 + -2.148851708859426e+00 -2.150366664204882e+00 -2.151879887475646e+00 -2.153391381149525e+00 -2.154901147551277e+00 + -2.156409189094421e+00 -2.157915508301146e+00 -2.159420108039566e+00 -2.160922991060322e+00 -2.162424159298261e+00 + -2.163923614721020e+00 -2.165421360243191e+00 -2.166917398765767e+00 -2.168411732188371e+00 -2.169904362385663e+00 + -2.171395292133801e+00 -2.172884524283159e+00 -2.174372061079477e+00 -2.175857904621596e+00 -2.177342057025400e+00 + -2.178824520458782e+00 -2.180305297280612e+00 -2.181784389836284e+00 -2.183261800226323e+00 -2.184737530553230e+00 + -2.186211583172279e+00 -2.187683960396664e+00 -2.189154664118480e+00 -2.190623696232450e+00 -2.192091059064924e+00 + -2.193556754973807e+00 -2.195020786011611e+00 -2.196483154140098e+00 -2.197943861263397e+00 -2.199402909290797e+00 + -2.200860300209873e+00 -2.202316036078389e+00 -2.203770119156592e+00 -2.205222551620105e+00 -2.206673335103553e+00 + -2.208122471221687e+00 -2.209569962050753e+00 -2.211015809743800e+00 -2.212460016299604e+00 -2.213902583604158e+00 + -2.215343513246597e+00 -2.216782806815468e+00 -2.218220466193829e+00 -2.219656493330310e+00 -2.221090890141300e+00 + -2.222523658493742e+00 -2.223954800089009e+00 -2.225384316635711e+00 -2.226812210036953e+00 -2.228238482128524e+00 + -2.229663134282465e+00 -2.231086167933421e+00 -2.232507585230206e+00 -2.233927388263609e+00 -2.235345578178182e+00 + -2.236762156112363e+00 -2.238177124126393e+00 -2.239590484325721e+00 -2.241002238074839e+00 -2.242412386688506e+00 + -2.243820932023517e+00 -2.245227875877045e+00 -2.246633219265731e+00 -2.248036963296034e+00 -2.249439110214208e+00 + -2.250839662216949e+00 -2.252238620162919e+00 -2.253635984842608e+00 -2.255031758111861e+00 -2.256425941987018e+00 + -2.257818538061035e+00 -2.259209547728066e+00 -2.260598972010440e+00 -2.261986811976363e+00 -2.263373069249392e+00 + -2.264757745520950e+00 -2.266140842198597e+00 -2.267522360622610e+00 -2.268902302148032e+00 -2.270280668153553e+00 + -2.271657460097697e+00 -2.273032679375423e+00 -2.274406327047590e+00 -2.275778404191426e+00 -2.277148912283742e+00 + -2.278517852852843e+00 -2.279885227233438e+00 -2.281251036662961e+00 -2.282615282183361e+00 -2.283977964870765e+00 + -2.285339086133513e+00 -2.286698647429660e+00 -2.288056650083893e+00 -2.289413095312870e+00 -2.290767984034498e+00 + -2.292121317209354e+00 -2.293473096267451e+00 -2.294823322630535e+00 -2.296171997217860e+00 -2.297519120939147e+00 + -2.298864695168495e+00 -2.300208721271999e+00 -2.301551200119357e+00 -2.302892132586471e+00 -2.304231520070443e+00 + -2.305569363951571e+00 -2.306905665021753e+00 -2.308240424043668e+00 -2.309573642251534e+00 -2.310905320943594e+00 + -2.312235461202651e+00 -2.313564064009707e+00 -2.314891130153991e+00 -2.316216660462560e+00 -2.317540656105554e+00 + -2.318863118293744e+00 -2.320184048057342e+00 -2.321503446385586e+00 -2.322821314284393e+00 -2.324137652689092e+00 + -2.325452462235987e+00 -2.326765743634779e+00 -2.328077498187803e+00 -2.329387727168217e+00 -2.330696431139842e+00 + -2.332003610675342e+00 -2.333309267092103e+00 -2.334613401701304e+00 -2.335916015044585e+00 -2.337217107588464e+00 + -2.338516680268511e+00 -2.339814734134101e+00 -2.341111270220800e+00 -2.342406289434137e+00 -2.343699792173311e+00 + -2.344991778936741e+00 -2.346282251126043e+00 -2.347571210092017e+00 -2.348858656078995e+00 -2.350144589310363e+00 + -2.351429011032167e+00 -2.352711922533504e+00 -2.353993324252988e+00 -2.355273216536063e+00 -2.356551600205969e+00 + -2.357828476165661e+00 -2.359103845159169e+00 -2.360377707896761e+00 -2.361650065112589e+00 -2.362920917562625e+00 + -2.364190266066228e+00 -2.365458111389245e+00 -2.366724454020086e+00 -2.367989294422349e+00 -2.369252633237819e+00 + -2.370514471195048e+00 -2.371774809191487e+00 -2.373033648052395e+00 -2.374290988145372e+00 -2.375546829856004e+00 + -2.376801174099476e+00 -2.378054021758188e+00 -2.379305373053798e+00 -2.380555228228685e+00 -2.381803588268867e+00 + -2.383050454170042e+00 -2.384295826222999e+00 -2.385539704659158e+00 -2.386782090177350e+00 -2.388022983519428e+00 + -2.389262385131917e+00 -2.390500295440986e+00 -2.391736715086700e+00 -2.392971644747536e+00 -2.394205085041701e+00 + -2.395437036486230e+00 -2.396667499253712e+00 -2.397896473568759e+00 -2.399123960208524e+00 -2.400349959968320e+00 + -2.401574473163553e+00 -2.402797500049246e+00 -2.404019041118798e+00 -2.405239096931802e+00 -2.406457668074259e+00 + -2.407674755052769e+00 -2.408890358029935e+00 -2.410104477201394e+00 -2.411317113238899e+00 -2.412528266823138e+00 + -2.413737938194389e+00 -2.414946127524263e+00 -2.416152835150093e+00 -2.417358061488310e+00 -2.418561807106014e+00 + -2.419764072540869e+00 -2.420964858062149e+00 -2.422164163883997e+00 -2.423361990268478e+00 -2.424558337539998e+00 + -2.425753206224426e+00 -2.426946596778449e+00 -2.428138509180588e+00 -2.429328943436301e+00 -2.430517900136966e+00 + -2.431705379929064e+00 -2.432891383093559e+00 -2.434075909789072e+00 -2.435258960050367e+00 -2.436440534002261e+00 + -2.437620632253666e+00 -2.438799255363957e+00 -2.439976403210287e+00 -2.441152075652963e+00 -2.442326273167121e+00 + -2.443498996281469e+00 -2.444670245124171e+00 -2.445840019720089e+00 -2.447008320081434e+00 -2.448175146330043e+00 + -2.449340499038912e+00 -2.450504378726154e+00 -2.451666785239187e+00 -2.452827718349615e+00 -2.453987178196479e+00 + -2.455145165027037e+00 -2.456301679153984e+00 -2.457456720843679e+00 -2.458610290111703e+00 -2.459762386895362e+00 + -2.460913011069636e+00 -2.462062162618941e+00 -2.463209842027783e+00 -2.464356049701044e+00 -2.465500785225038e+00 + -2.466644048210323e+00 -2.467785839182998e+00 -2.468926158651886e+00 -2.470065006141172e+00 -2.471202381154697e+00 + -2.472338284099561e+00 -2.473472715451581e+00 -2.474605675058163e+00 -2.475737162666682e+00 -2.476867178252799e+00 + -2.477995721814551e+00 -2.479122793211214e+00 -2.480248392312651e+00 -2.481372519169843e+00 -2.482495173828069e+00 + -2.483616356128687e+00 -2.484736065895716e+00 -2.485854303087743e+00 -2.486971067738408e+00 -2.488086360047014e+00 + -2.489200180083995e+00 -2.490312527238630e+00 -2.491423400907520e+00 -2.492532801197714e+00 -2.493640728315912e+00 + -2.494747182157012e+00 -2.495852162518061e+00 -2.496955669116524e+00 -2.498057701682506e+00 -2.499158260076250e+00 + -2.500257344205291e+00 -2.501354954036191e+00 -2.502451089487258e+00 -2.503545750224782e+00 -2.504638935878569e+00 + -2.505730646184535e+00 -2.506820880947837e+00 -2.507909640144502e+00 -2.508996923692245e+00 -2.510082731104683e+00 + -2.511167061905791e+00 -2.512249916065080e+00 -2.513331293568936e+00 -2.514411194025691e+00 -2.515489616993924e+00 + -2.516566562211253e+00 -2.517642029416175e+00 -2.518716018171676e+00 -2.519788528087044e+00 -2.520859559132313e+00 + -2.521929111272669e+00 -2.522997184093166e+00 -2.524063777123772e+00 -2.525128890054233e+00 -2.526192522577199e+00 + -2.527254674237163e+00 -2.528315344566595e+00 -2.529374533198041e+00 -2.530432239809303e+00 -2.531488464159136e+00 + -2.532543206017777e+00 -2.533596465120445e+00 -2.534648241083385e+00 -2.535698533081969e+00 -2.536747340380982e+00 + -2.537794663043710e+00 -2.538840501172024e+00 -2.539884854223596e+00 -2.540927721482817e+00 -2.541969102185147e+00 + -2.543008995720672e+00 -2.544047402146914e+00 -2.545084321505733e+00 -2.546119753108897e+00 -2.547153696148885e+00 + -2.548186150071097e+00 -2.549217114438763e+00 -2.550246589033513e+00 -2.551274573561718e+00 -2.552301067210345e+00 + -2.553326069170913e+00 -2.554349579172571e+00 -2.555371597001575e+00 -2.556392122135012e+00 -2.557411153995589e+00 + -2.558428692097672e+00 -2.559444735964176e+00 -2.560459285060548e+00 -2.561472338773803e+00 -2.562483896234721e+00 + -2.563493956701396e+00 -2.564502520197407e+00 -2.565509586690590e+00 -2.566515155160310e+00 -2.567519224484451e+00 + -2.568521794123430e+00 -2.569522863722881e+00 -2.570522433086768e+00 -2.571520501879673e+00 -2.572517069050324e+00 + -2.573512133570669e+00 -2.574505695221420e+00 -2.575497753777856e+00 -2.576488308184784e+00 -2.577477357385580e+00 + -2.578464901148367e+00 -2.579450939304331e+00 -2.580435471112168e+00 -2.581418495678755e+00 -2.582400012076188e+00 + -2.583380019545771e+00 -2.584358518040427e+00 -2.585335507388502e+00 -2.586310986208430e+00 -2.587284953146766e+00 + -2.588257408172476e+00 -2.589228351266687e+00 -2.590197781136742e+00 -2.591165696464199e+00 -2.592132097101227e+00 + -2.593096982965479e+00 -2.594060353065933e+00 -2.595022206300420e+00 -2.595982542030859e+00 -2.596941359648237e+00 + -2.597898658195753e+00 -2.598854436786441e+00 -2.599808695160485e+00 -2.600761432999720e+00 -2.601712649125437e+00 + -2.602662342322502e+00 -2.603610512090611e+00 -2.604557157983472e+00 -2.605502279056006e+00 -2.606445874333086e+00 + -2.607387943218189e+00 -2.608328485131743e+00 -2.609267499183389e+00 -2.610204984445080e+00 -2.611140940148811e+00 + -2.612075365584592e+00 -2.613008260114454e+00 -2.613939623006402e+00 -2.614869453080320e+00 -2.615797749224179e+00 + -2.616724511046408e+00 -2.617649738126216e+00 -2.618573429205448e+00 -2.619495583026503e+00 -2.620416199171340e+00 + -2.621335277249019e+00 -2.622252816137456e+00 -2.623168814653865e+00 -2.624083272103795e+00 -2.624996187859330e+00 + -2.625907561070358e+00 -2.626817390806325e+00 -2.627725676037143e+00 -2.628632415761536e+00 -2.629537609193020e+00 + -2.630441255587996e+00 -2.631343354159609e+00 -2.632243904045731e+00 -2.633142904126422e+00 -2.634040353337229e+00 + -2.634936251093461e+00 -2.635830596765059e+00 -2.636723389060725e+00 -2.637614626713354e+00 -2.638504309213838e+00 + -2.639392436080191e+00 -2.640279006180904e+00 -2.641164018251881e+00 -2.642047471148195e+00 -2.642929363899640e+00 + -2.643809696115713e+00 -2.644688467316341e+00 -2.645565676083456e+00 -2.646441320932559e+00 -2.647315401051427e+00 + -2.648187915755844e+00 -2.649058864201336e+00 -2.649928245427330e+00 -2.650796058169106e+00 -2.651662301248424e+00 + -2.652526974137104e+00 -2.653390076247662e+00 -2.654251606105329e+00 -2.655111562238285e+00 -2.655969944073783e+00 + -2.656826751086593e+00 -2.657681982042466e+00 -2.658535635661370e+00 -2.659387711189145e+00 -2.660238207837736e+00 + -2.661087124157626e+00 -2.661934458755756e+00 -2.662780211126336e+00 -2.663624380741185e+00 -2.664466966095276e+00 + -2.665307965694397e+00 -2.666147379064445e+00 -2.666985205710447e+00 -2.667821444033845e+00 -2.668656092405469e+00 + -2.669489150177272e+00 -2.670320616801000e+00 -2.671150491146469e+00 -2.671978771965001e+00 -2.672805458115896e+00 + -2.673630548501148e+00 -2.674454042085555e+00 -2.675275937884819e+00 -2.676096235055446e+00 -2.676914932653945e+00 + -2.677732029196031e+00 -2.678547523253807e+00 -2.679361414165717e+00 -2.680173701269736e+00 -2.680984383135636e+00 + -2.681793458321363e+00 -2.682600926105787e+00 -2.683406785794135e+00 -2.684211036076172e+00 -2.685013675548027e+00 + -2.685814703046789e+00 -2.686614117528503e+00 -2.687411918184072e+00 -2.688208104155523e+00 -2.689002674154484e+00 + -2.689795626844247e+00 -2.690586961125131e+00 -2.691376675931391e+00 -2.692164770096012e+00 -2.692951242468673e+00 + -2.693736092067127e+00 -2.694519317933390e+00 -2.695300919038479e+00 -2.696080894259941e+00 -2.696859242172434e+00 + -2.697635961409562e+00 -2.698411051143577e+00 -2.699184510529523e+00 -2.699956338114957e+00 -2.700726532498006e+00 + -2.701495093086574e+00 -2.702262019208106e+00 -2.703027309058428e+00 -2.703790960874505e+00 -2.704552974189474e+00 + -2.705313348537555e+00 -2.706072082161119e+00 -2.706829173257158e+00 -2.707584621133000e+00 -2.708338425191227e+00 + -2.709090584105120e+00 -2.709841096442358e+00 -2.710589961077480e+00 -2.711337176962203e+00 -2.712082743050078e+00 + -2.712826658235913e+00 -2.713568921177743e+00 -2.714309530527581e+00 -2.715048485150131e+00 -2.715785783993005e+00 + -2.716521426122757e+00 -2.717255410569124e+00 -2.717987736095623e+00 -2.718718401385704e+00 -2.719447405068731e+00 + -2.720174745881186e+00 -2.720900423042079e+00 -2.721624435690877e+00 -2.722346782166338e+00 -2.723067460855530e+00 + -2.723786471139474e+00 -2.724503812410580e+00 -2.725219483112852e+00 -2.725933481634188e+00 -2.726645807086471e+00 + -2.727356458650697e+00 -2.728065435060333e+00 -2.728772734953498e+00 -2.729478357034439e+00 -2.730182300087997e+00 + -2.730884563155262e+00 -2.731585145263588e+00 -2.732284045129153e+00 -2.732981261442558e+00 -2.733676793103288e+00 + -2.734370639038562e+00 -2.735062798077667e+00 -2.735753269071118e+00 -2.736442051052291e+00 -2.737129142959769e+00 + -2.737814543170111e+00 -2.738498250131983e+00 -2.739180263144520e+00 -2.739860581563291e+00 -2.740539204119172e+00 + -2.741216129405992e+00 -2.741891356094071e+00 -2.742564882952538e+00 -2.743236709069217e+00 -2.743906833523784e+00 + -2.744575255044610e+00 -2.745241972311204e+00 -2.745906984158941e+00 -2.746570289467025e+00 -2.747231887134115e+00 + -2.747891776057501e+00 -2.748549955109537e+00 -2.749206423158993e+00 -2.749861179085207e+00 -2.750514221765824e+00 + -2.751165550061125e+00 -2.751815162841771e+00 -2.752463059037292e+00 -2.753109237554207e+00 -2.753753697148108e+00 + -2.754396436622574e+00 -2.755037455124055e+00 -2.755676751755156e+00 -2.756314325100252e+00 -2.756950173779785e+00 + -2.757584297076699e+00 -2.758216694281619e+00 -2.758847364053396e+00 -2.759476305000437e+00 -2.760103516161140e+00 + -2.760728996610216e+00 -2.761352745137616e+00 -2.761974760563591e+00 -2.762595042114344e+00 -2.763213589016364e+00 + -2.763830400091322e+00 -2.764445474113015e+00 -2.765058810068553e+00 -2.765670407011266e+00 -2.766280264046035e+00 + -2.766888380201558e+00 -2.767494754150214e+00 -2.768099384646222e+00 -2.768702271127474e+00 -2.769303413030783e+00 + -2.769902809104988e+00 -2.770500458053093e+00 -2.771096359082754e+00 -2.771690511445131e+00 -2.772282914060774e+00 + -2.772873565847032e+00 -2.773462466039048e+00 -2.774049613856528e+00 -2.774635008139637e+00 -2.775218647762881e+00 + -2.775800532117688e+00 -2.776380660598635e+00 -2.776959032095993e+00 -2.777535645483684e+00 -2.778110500074552e+00 + -2.778683595228330e+00 -2.779254930053368e+00 -2.779824503611819e+00 -2.780392315032438e+00 -2.780958363471580e+00 + -2.781522648129417e+00 -2.782085168237396e+00 -2.782645923108263e+00 -2.783204912027138e+00 -2.783762134087364e+00 + -2.784317588365996e+00 -2.784871274066723e+00 -2.785423190471204e+00 -2.785973337046338e+00 -2.786521713227682e+00 + -2.787068318140169e+00 -2.787613150927563e+00 -2.788156211119559e+00 -2.788697498201977e+00 -2.789237011099205e+00 + -2.789774748795882e+00 -2.790310711079109e+00 -2.790844897774500e+00 -2.791377308059270e+00 -2.791907941021321e+00 + -2.792436796039691e+00 -2.792963872575855e+00 -2.793489170129877e+00 -2.794012688183935e+00 -2.794534426110070e+00 + -2.795054383269529e+00 -2.795572559090522e+00 -2.796088953089790e+00 -2.796603565071232e+00 -2.797116394731634e+00 + -2.797627441052200e+00 -2.798136703104035e+00 -2.798644181033428e+00 -2.799149874997305e+00 -2.799653784119957e+00 + -2.800155907491874e+00 -2.800656245100958e+00 -2.801154796934787e+00 -2.801651562082218e+00 -2.802146539693571e+00 + -2.802639730063738e+00 -2.803131133478864e+00 -2.803620749045517e+00 -2.804108575856467e+00 -2.804594614128865e+00 + -2.805078864118387e+00 -2.805561325110418e+00 -2.806041996375143e+00 -2.806520878092229e+00 -2.806997970489045e+00 + -2.807473273074300e+00 -2.807946785293329e+00 -2.808418507056632e+00 -2.808888438355500e+00 -2.809356579039224e+00 + -2.809822928959404e+00 -2.810287488118900e+00 -2.810750256531227e+00 -2.811211234101264e+00 -2.811670420689050e+00 + -2.812127816083888e+00 -2.812583420143096e+00 -2.813037233066774e+00 -2.813489255065615e+00 -2.813939486049919e+00 + -2.814387925944586e+00 -2.814834575033324e+00 -2.815279433542374e+00 -2.815722501109326e+00 -2.816163777438837e+00 + -2.816603263092504e+00 -2.817040958671196e+00 -2.817476864075942e+00 -2.817910979131784e+00 -2.818343304059641e+00 + -2.818773839208482e+00 -2.819202585043600e+00 -2.819629541969078e+00 -2.820054710027820e+00 -2.820478089265513e+00 + -2.820899680100151e+00 -2.821319482977751e+00 -2.821737498084143e+00 -2.822153725615352e+00 -2.822568166068396e+00 + -2.822980820018520e+00 -2.823391688052908e+00 -2.823800770674544e+00 -2.824208068037681e+00 -2.824613580315654e+00 + -2.825017308106835e+00 -2.825419252121360e+00 -2.825819413091381e+00 -2.826217791658008e+00 -2.826614388076187e+00 + -2.827009202624378e+00 -2.827402236061253e+00 -2.827793489256864e+00 -2.828182963046578e+00 -2.828570658171722e+00 + -2.828956575032161e+00 -2.829340714052488e+00 -2.829723076097664e+00 -2.830103662132774e+00 -2.830482473083023e+00 + -2.830859509823491e+00 -2.831234773068641e+00 -2.831608263528317e+00 -2.831979982054516e+00 -2.832349929557777e+00 + -2.832718107040651e+00 -2.833084515526141e+00 -2.833449156027042e+00 -2.833812029550204e+00 -2.834173137088914e+00 + -2.834532479620883e+00 -2.834890058075082e+00 -2.835245873448821e+00 -2.835599927061508e+00 -2.835952220243667e+00 + -2.836302754048190e+00 -2.836651529530672e+00 -2.836998548035129e+00 -2.837343810883671e+00 -2.837687319022324e+00 + -2.838029073490917e+00 -2.838369076080591e+00 -2.838707328586376e+00 -2.839043832067564e+00 -2.839378587474163e+00 + -2.839711596054793e+00 -2.840042859259108e+00 -2.840372379042276e+00 -2.840700157280677e+00 -2.841026195030013e+00 + -2.841350493343512e+00 -2.841673054085180e+00 -2.841993879190829e+00 -2.842312970072699e+00 -2.842630328108386e+00 + -2.842945955060471e+00 -2.843259852775203e+00 -2.843572023048496e+00 -2.843882467617769e+00 -2.844191188036773e+00 + -2.844498185884593e+00 -2.844803463025301e+00 -2.845107021413000e+00 -2.845408863076932e+00 -2.845708990020076e+00 + -2.846007404065244e+00 -2.846304107050338e+00 -2.846599101053807e+00 -2.846892388135785e+00 -2.847183970042619e+00 + -2.847473848570861e+00 -2.847762026031680e+00 -2.848048504803730e+00 -2.848333287020989e+00 -2.848616374754612e+00 + -2.848897770069131e+00 -2.849177475073159e+00 -2.849455492058227e+00 -2.849731823327478e+00 -2.850006471047571e+00 + -2.850279437434387e+00 -2.850550725037162e+00 -2.850820336439234e+00 -2.851088274026996e+00 -2.851354540133094e+00 + -2.851619137072155e+00 -2.851882067200814e+00 -2.852143333061782e+00 -2.852402937208544e+00 -2.852660882051651e+00 + -2.852917170055367e+00 -2.853171804041764e+00 -2.853424786850297e+00 -2.853676121032120e+00 -2.853925809140160e+00 + -2.854173854022716e+00 -2.854420258509995e+00 -2.854665025064492e+00 -2.854908156206457e+00 -2.855149655054884e+00 + -2.855389524765914e+00 -2.855627768045515e+00 -2.855864387531145e+00 -2.856099386036384e+00 -2.856332766480263e+00 + -2.856564532027491e+00 -2.856794685864488e+00 -2.857023231018833e+00 -2.857250170456676e+00 -2.857475507057297e+00 + -2.857699243787178e+00 -2.857921384048440e+00 -2.858141931205942e+00 -2.858360888039817e+00 -2.858578257403886e+00 + -2.858794043031427e+00 -2.859008248642304e+00 -2.859220877023269e+00 -2.859431930941042e+00 -2.859641414015340e+00 + -2.859849329964776e+00 -2.860055682050569e+00 -2.860260473522559e+00 -2.860463708042447e+00 -2.860665389218646e+00 + -2.860865520034553e+00 -2.861064103583913e+00 -2.861261144026887e+00 -2.861456645505078e+00 -2.861650611019446e+00 + -2.861843043539793e+00 -2.862033947051935e+00 -2.862223325674870e+00 -2.862411183044306e+00 -2.862597522669464e+00 + -2.862782348036900e+00 -2.862965662765951e+00 -2.863147471029718e+00 -2.863327776966641e+00 -2.863506584022756e+00 + -2.863683895649960e+00 -2.863859716016013e+00 -2.864034049304372e+00 -2.864206899045429e+00 -2.864378268816853e+00 + -2.864548163038503e+00 -2.864716586175495e+00 -2.864883542031795e+00 -2.865049034317118e+00 -2.865213067025303e+00 + -2.865375644227383e+00 -2.865536770019026e+00 -2.865696448531390e+00 -2.865854684012960e+00 -2.866011480747103e+00 + -2.866166843039399e+00 -2.866320775137251e+00 -2.866473281033156e+00 -2.866624364792500e+00 -2.866774031027124e+00 + -2.866922284373643e+00 -2.867069129021301e+00 -2.867214569108258e+00 -2.867358609015685e+00 -2.867501253183005e+00 + -2.867642506039625e+00 -2.867782372075631e+00 -2.867920856033839e+00 -2.868057962606175e+00 -2.868193696028257e+00 + -2.868328060561013e+00 -2.868461061022879e+00 -2.868592702303233e+00 -2.868722989017701e+00 -2.868851925722842e+00 + -2.868979517012722e+00 -2.869105767524959e+00 -2.869230682033886e+00 -2.869354265317122e+00 -2.869476522028743e+00 + -2.869597456891174e+00 -2.869717075023798e+00 -2.869835381525858e+00 -2.869952381019048e+00 -2.870068078133983e+00 + -2.870182478014490e+00 -2.870295585788873e+00 -2.870407406010122e+00 -2.870517943287246e+00 -2.870627203028626e+00 + -2.870735190678368e+00 -2.870841911024103e+00 -2.870947368779615e+00 -2.871051569019769e+00 -2.871154516959833e+00 + -2.871256218015620e+00 -2.871356677487263e+00 -2.871455900011655e+00 -2.871553890297982e+00 -2.871650654007871e+00 + -2.871746196881877e+00 -2.871840524023838e+00 -2.871933640394619e+00 -2.872025551019907e+00 -2.872116261043417e+00 + -2.872205776016155e+00 -2.872294101539941e+00 -2.872381243012580e+00 -2.872467205758066e+00 -2.872551995009178e+00 + -2.872635615995248e+00 -2.872718074023048e+00 -2.872799374482606e+00 -2.872879523019508e+00 -2.872958525324841e+00 + -2.873036387016140e+00 -2.873113113575017e+00 -2.873188710012942e+00 -2.873263181462381e+00 -2.873336534009911e+00 + -2.873408773769060e+00 -2.873479906007045e+00 -2.873549935889074e+00 -2.873618869018622e+00 -2.873686711126628e+00 + -2.873753468015626e+00 -2.873819145455355e+00 -2.873883749012791e+00 -2.873947284262238e+00 -2.874009757010115e+00 + -2.874071173064448e+00 -2.874131538007598e+00 -2.874190857408149e+00 -2.874249137005235e+00 -2.874306382592947e+00 + -2.874362600014657e+00 -2.874417795154723e+00 -2.874471974012172e+00 -2.874525142492177e+00 -2.874577306009839e+00 + -2.874628470067637e+00 -2.874678641007656e+00 -2.874727825164796e+00 -2.874776028005620e+00 -2.874823254939239e+00 + -2.874869512013286e+00 -2.874914805384953e+00 -2.874959141011137e+00 -2.875002524843012e+00 -2.875044963009132e+00 + -2.875086461553842e+00 -2.875127026007268e+00 -2.875166661990855e+00 -2.875205376005544e+00 -2.875243174521211e+00 + -2.875280063003956e+00 -2.875316046953741e+00 -2.875351133009737e+00 -2.875385327829893e+00 -2.875418637008044e+00 + -2.875451066029114e+00 -2.875482621006486e+00 -2.875513308222273e+00 -2.875543134005058e+00 -2.875572104616458e+00 + -2.875600226003760e+00 -2.875627504088381e+00 -2.875653945002586e+00 -2.875679554924722e+00 -2.875704340006628e+00 + -2.875728306365356e+00 -2.875751460005359e+00 -2.875773807024162e+00 -2.875795354004213e+00 -2.875816107441742e+00 + -2.875836073003188e+00 -2.875855256356105e+00 -2.875873664002281e+00 -2.875891302525273e+00 -2.875908178001488e+00 + -2.875924296429527e+00 -2.875939664003940e+00 -2.875954287022889e+00 -2.875968172003060e+00 -2.875981325374513e+00 + -2.875993753002293e+00 -2.876005460745149e+00 -2.876016455001635e+00 -2.876026742281703e+00 -2.876036329001085e+00 + -2.876045221511428e+00 -2.876053426002279e+00 -2.876060948682664e+00 -2.876067796001651e+00 -2.876073974394489e+00 + -2.876079490001126e+00 -2.876084348997735e+00 -2.876088558000703e+00 -2.876092123620084e+00 -2.876095052000378e+00 + -2.876097349275196e+00 -2.876099022000147e+00 -2.876100076780735e+00 -2.876100520000039e+00 -2.876100357977497e+00 + -2.876099597000405e+00 -2.876098243435337e+00 -2.876096303998139e+00 -2.876093785401991e+00 -2.876090694000126e+00 + -2.876087036076098e+00 -2.876082817994697e+00 -2.876078046153286e+00 -2.876072726998279e+00 -2.876066867041051e+00 + -2.876060473003754e+00 -2.876053551562065e+00 -2.876046108994973e+00 -2.876038151582050e+00 -2.876029686001908e+00 + -2.876020718975022e+00 -2.876011256990315e+00 -2.876001306494705e+00 -2.875990873998654e+00 -2.875979966015766e+00 + -2.875968589008655e+00 -2.875956749461299e+00 -2.875944453994101e+00 -2.875931709272467e+00 -2.875918522005370e+00 + -2.875904898821941e+00 -2.875890845988358e+00 -2.875876369796106e+00 -2.875861477000839e+00 -2.875846174460938e+00 + -2.875830468981534e+00 -2.875814367182402e+00 -2.875797874995170e+00 -2.875780998493851e+00 -2.875763745010153e+00 + -2.875746121853747e+00 -2.875728134988475e+00 -2.875709790337169e+00 -2.875691095004476e+00 -2.875672056151185e+00 + -2.875652679980860e+00 -2.875632972639220e+00 -2.875612940997824e+00 -2.875592591983200e+00 -2.875571932015899e+00 + -2.875550967463832e+00 -2.875529704990307e+00 -2.875508151305197e+00 -2.875486313009207e+00 -2.875464196688727e+00 + -2.875441808982035e+00 -2.875419156538716e+00 -2.875396246001703e+00 -2.875373083982446e+00 -2.875349676973115e+00 + -2.875326031456047e+00 -2.875302153993497e+00 -2.875278051224424e+00 -2.875253730014671e+00 -2.875229197164465e+00 + -2.875204458984698e+00 -2.875179521740897e+00 -2.875154392006447e+00 -2.875129076470253e+00 -2.875103581975416e+00 + -2.875077915323747e+00 -2.875052082997684e+00 -2.875026091410789e+00 -2.874999947020509e+00 -2.874973656330889e+00 + -2.874947225988491e+00 -2.874920662667701e+00 -2.874893973011697e+00 -2.874867163623783e+00 -2.874840240978976e+00 + -2.874813211559227e+00 -2.874786082002508e+00 -2.874758858958694e+00 -2.874731548969249e+00 -2.874704158521300e+00 + -2.874676693993052e+00 -2.874649161850167e+00 -2.874621569017096e+00 -2.874593922351292e+00 -2.874566227983435e+00 + -2.874538491996276e+00 -2.874510721007613e+00 -2.874482921761722e+00 -2.874455100973768e+00 -2.874427265275985e+00 + -2.874399420998023e+00 -2.874371574431975e+00 -2.874343732022288e+00 -2.874315900299783e+00 -2.874288085988434e+00 + -2.874260295776052e+00 -2.874232536012641e+00 -2.874204812974258e+00 -2.874177132978955e+00 -2.874149502426689e+00 + -2.874121928003048e+00 -2.874094416390038e+00 -2.874066973969692e+00 -2.874039607056358e+00 -2.874012321993617e+00 + -2.873985125156578e+00 -2.873958023017241e+00 -2.873931022092817e+00 -2.873904128984454e+00 -2.873877350227203e+00 + -2.873850692007775e+00 -2.873824160475146e+00 -2.873797761975665e+00 -2.873771502947487e+00 -2.873745389998629e+00 + -2.873719429664607e+00 -2.873693628021065e+00 -2.873667991196405e+00 -2.873642525989910e+00 -2.873617239207638e+00 + -2.873592137011854e+00 -2.873567225478465e+00 -2.873542510981722e+00 -2.873517999984164e+00 -2.873493699003122e+00 + -2.873469614539558e+00 -2.873445752974173e+00 -2.873422120664412e+00 -2.873398723994974e+00 -2.873375569341346e+00 + -2.873352663014937e+00 -2.873330011368907e+00 -2.873307620987516e+00 -2.873285498440290e+00 -2.873263650006746e+00 + -2.873242081977908e+00 -2.873220800980854e+00 -2.873199813610778e+00 -2.873179125999297e+00 -2.873158744269642e+00 + -2.873138674975094e+00 -2.873118924733721e+00 -2.873099499992696e+00 -2.873080407078925e+00 -2.873061652009151e+00 + -2.873043240951156e+00 -2.873025180987050e+00 -2.873007479104932e+00 -2.872990141002529e+00 -2.872973172348110e+00 + -2.872956579982463e+00 -2.872940370832477e+00 -2.872924550996914e+00 -2.872909126514257e+00 -2.872894104009989e+00 + -2.872879490127201e+00 -2.872865290992410e+00 -2.872851512733995e+00 -2.872838162004323e+00 -2.872825245427317e+00 + -2.872812768989124e+00 -2.872800738661925e+00 -2.872789160999820e+00 -2.872778042642130e+00 -2.872767389987160e+00 + -2.872757209355336e+00 -2.872747506996586e+00 -2.872738289140315e+00 -2.872729562004331e+00 -2.872721331833777e+00 + -2.872713604994726e+00 -2.872706387896571e+00 -2.872699687001068e+00 -2.872693508692679e+00 -2.872687858994343e+00 + -2.872682743943764e+00 -2.872678169999229e+00 -2.872674143639194e+00 -2.872670671002211e+00 -2.872667758252759e+00 + -2.872665411998920e+00 -2.872663638727966e+00 -2.872662444000314e+00 -2.872661833458480e+00 -2.872661814000242e+00 + -2.872662392564575e+00 -2.872663574999996e+00 -2.872665367034357e+00 -2.872667775003300e+00 -2.872670805307676e+00 + -2.872674464001362e+00 -2.872678757122995e+00 -2.872683690997219e+00 -2.872689271947241e+00 -2.872695506004511e+00 + -2.872702399218003e+00 -2.872709957998547e+00 -2.872718188690384e+00 -2.872727097009549e+00 -2.872736688669513e+00 + -2.872746970001709e+00 -2.872757947412680e+00 -2.872769626991446e+00 -2.872782014787135e+00 -2.872795117006809e+00 + -2.872808939808297e+00 -2.872823488994544e+00 -2.872838770359238e+00 -2.872854790013944e+00 -2.872871554154958e+00 + -2.872889068999627e+00 -2.872907340687168e+00 -2.872926375023218e+00 -2.872946177789640e+00 -2.872966755006795e+00 + -2.872988112738970e+00 -2.873010256987659e+00 -2.873033193743455e+00 -2.873056929016149e+00 -2.873081468798353e+00 + -2.873106818994782e+00 -2.873132985471494e+00 -2.873159974027786e+00 -2.873187790508094e+00 -2.873216441004140e+00 + -2.873245931584463e+00 -2.873276267977569e+00 -2.873307455856915e+00 -2.873339501015828e+00 -2.873372409342765e+00 + -2.873406186986854e+00 -2.873440840030674e+00 -2.873476374029945e+00 -2.873512794459630e+00 -2.873550106998518e+00 + -2.873588317466817e+00 -2.873627432046586e+00 -2.873667456808100e+00 -2.873708397012657e+00 -2.873750257967860e+00 + -2.873793045975522e+00 -2.873836767295967e+00 -2.873881427029366e+00 -2.873927030237608e+00 -2.873973582989610e+00 + -2.874021091436191e+00 -2.874069561048740e+00 -2.874118997257345e+00 -2.874169406006314e+00 -2.874220793186470e+00 + -2.874273163960479e+00 -2.874326523535612e+00 -2.874380878025728e+00 -2.874436233504353e+00 -2.874492594977105e+00 + -2.874549967456173e+00 -2.874608357047944e+00 -2.874667769870749e+00 -2.874728210996486e+00 -2.874789685444839e+00 + -2.874852199073056e+00 -2.874915757808161e+00 -2.874980367018717e+00 -2.875046031956011e+00 -2.875112757960702e+00 + -2.875180550448241e+00 -2.875249415043884e+00 -2.875319357389408e+00 -2.875390382982873e+00 -2.875462497200150e+00 + -2.875535705072081e+00 -2.875610011724477e+00 -2.875685423008027e+00 -2.875761944747628e+00 -2.875839581940104e+00 + -2.875918339524430e+00 -2.875998223036253e+00 -2.876079238083328e+00 -2.876161389965175e+00 -2.876244683897332e+00 + -2.876329125067640e+00 -2.876414718675390e+00 -2.876501469993362e+00 -2.876589384334920e+00 -2.876678467102276e+00 + -2.876768723646439e+00 -2.876860159024752e+00 -2.876952778311590e+00 -2.877046586943105e+00 -2.877141590285005e+00 + -2.877237793059432e+00 -2.877335200055582e+00 -2.877433816974432e+00 -2.877533649470098e+00 -2.877634702097487e+00 + -2.877736979404358e+00 -2.877840487009089e+00 -2.877945230580227e+00 -2.878051214916385e+00 -2.878158444703550e+00 + -2.878266925047163e+00 -2.878376661120778e+00 -2.878487657950954e+00 -2.878599920558564e+00 -2.878713454088738e+00 + -2.878828263638601e+00 -2.878944353988982e+00 -2.879061729871082e+00 -2.879180396133895e+00 -2.879300357745253e+00 + -2.879421620030550e+00 -2.879544188234639e+00 -2.879668066922659e+00 -2.879793260582870e+00 -2.879919774075741e+00 + -2.880047612428619e+00 -2.880176780964157e+00 -2.880307284823274e+00 -2.880439128124635e+00 -2.880572315044195e+00 + -2.880706851009318e+00 -2.880842741491739e+00 -2.880979990889281e+00 -2.881118603470176e+00 -2.881258584058220e+00 + -2.881399937594580e+00 -2.881542668934350e+00 -2.881686782880171e+00 -2.881832284110943e+00 -2.881979177270132e+00 + -2.882127466983199e+00 -2.882277157822698e+00 -2.882428254167564e+00 -2.882580760515876e+00 -2.882734682035907e+00 + -2.882890023809088e+00 -2.883046789899305e+00 -2.883204984344022e+00 -2.883364612092550e+00 -2.883525678164890e+00 + -2.883688186951939e+00 -2.883852142755886e+00 -2.884017550153203e+00 -2.884184413751485e+00 -2.884352738008543e+00 + -2.884522527349429e+00 -2.884693786217942e+00 -2.884866519029743e+00 -2.885040730069195e+00 -2.885216423722596e+00 + -2.885393604915286e+00 -2.885572278454246e+00 -2.885752448133968e+00 -2.885934117732660e+00 -2.886117291975880e+00 + -2.886301975695701e+00 -2.886488173202934e+00 -2.886675888645447e+00 -2.886865126040629e+00 -2.887055889528861e+00 + -2.887248183873006e+00 -2.887442013779875e+00 -2.887637383109605e+00 -2.887834295673936e+00 -2.888032755937675e+00 + -2.888232768417303e+00 -2.888434337182880e+00 -2.888637466267979e+00 -2.888842160006608e+00 -2.889048422705334e+00 + -2.889256258260521e+00 -2.889465670586525e+00 -2.889676664079871e+00 -2.889889243164732e+00 -2.890103411893701e+00 + -2.890319174230825e+00 -2.890536534157536e+00 -2.890755495690120e+00 -2.890976062966901e+00 -2.891198240133124e+00 + -2.891422031239666e+00 -2.891647440271526e+00 -2.891874471044534e+00 -2.892103127449178e+00 -2.892333413843735e+00 + -2.892565334531329e+00 -2.892798893126666e+00 -2.893034093211137e+00 -2.893270938921286e+00 -2.893509434394119e+00 + -2.893749583213363e+00 -2.893991388990754e+00 -2.894234856003367e+00 -2.894479988544211e+00 -2.894726790304690e+00 + -2.894975264880993e+00 -2.895225416090045e+00 -2.895477247800793e+00 -2.895730763869547e+00 -2.895985968110420e+00 + -2.896242864181383e+00 -2.896501455784724e+00 -2.896761746956156e+00 -2.897023741664482e+00 -2.897287443277443e+00 + -2.897552855132549e+00 -2.897819981047455e+00 -2.898088824960355e+00 -2.898359390811481e+00 -2.898631682423090e+00 + -2.898905703143506e+00 -2.899181456336644e+00 -2.899458945902694e+00 -2.899738175745144e+00 -2.900019149244370e+00 + -2.900301869748365e+00 -2.900586340998689e+00 -2.900872566741790e+00 -2.901160550350105e+00 -2.901450295205248e+00 + -2.901741805099525e+00 -2.902035083835090e+00 -2.902330134842785e+00 -2.902626961482952e+00 -2.902925567205262e+00 + -2.903225955501619e+00 -2.903528129943548e+00 -2.903832094083243e+00 -2.904137851315957e+00 -2.904445404943298e+00 + -2.904754758049239e+00 -2.905065913908475e+00 -2.905378876776237e+00 -2.905693650730528e+00 -2.906010238159916e+00 + -2.906328641477237e+00 -2.906648864881840e+00 -2.906970912612057e+00 -2.907294787275635e+00 -2.907620491421319e+00 + -2.907948028992455e+00 -2.908277404008211e+00 -2.908608619396449e+00 -2.908941677961907e+00 -2.909276583108139e+00 + -2.909613338320582e+00 -2.909951946813384e+00 -2.910292411733319e+00 -2.910634736228945e+00 -2.910978923497479e+00 + -2.911324976928991e+00 -2.911672899876866e+00 -2.912022695354926e+00 -2.912374366346152e+00 -2.912727916049746e+00 + -2.913083347735332e+00 -2.913440664738005e+00 -2.913799870293631e+00 -2.914160967175702e+00 -2.914523958205600e+00 + -2.914888846858668e+00 -2.915255636613397e+00 -2.915624330306910e+00 -2.915994930711883e+00 -2.916367440984558e+00 + -2.916741864289805e+00 -2.917118203443422e+00 -2.917496461287171e+00 -2.917876641115726e+00 -2.918258746264796e+00 + -2.918642779781321e+00 -2.919028744569610e+00 -2.919416643252220e+00 -2.919806478556714e+00 -2.920198253912409e+00 + -2.920591972698769e+00 -2.920987637394092e+00 -2.921385250442034e+00 -2.921784815048848e+00 -2.922186334507697e+00 + -2.922589811696789e+00 -2.922995249368979e+00 -2.923402650190686e+00 -2.923812016928122e+00 -2.924223352833133e+00 + -2.924636661116357e+00 -2.925051944337972e+00 -2.925469204994078e+00 -2.925888445974902e+00 -2.926309670222330e+00 + -2.926732880490753e+00 -2.927158079512877e+00 -2.927585270122142e+00 -2.928014455203420e+00 -2.928445637746579e+00 + -2.928878820641719e+00 -2.929314006274898e+00 -2.929751197043434e+00 -2.930190395893735e+00 -2.930631605816839e+00 + -2.931074829433217e+00 -2.931520069294359e+00 -2.931967328046430e+00 -2.932416608452995e+00 -2.932867913652596e+00 + -2.933321246608101e+00 -2.933776609204709e+00 -2.934234003435805e+00 -2.934693432805196e+00 -2.935154900804807e+00 + -2.935618409368617e+00 -2.936083960365691e+00 -2.936551556963400e+00 -2.937021202354904e+00 -2.937492898538196e+00 + -2.937966647468766e+00 -2.938442452127255e+00 -2.938920315642269e+00 -2.939400240709141e+00 -2.939882229846171e+00 + -2.940366285296803e+00 -2.940852409365155e+00 -2.941340604872910e+00 -2.941830874578781e+00 -2.942323220472084e+00 + -2.942817644603974e+00 -2.943314150042391e+00 -2.943812739919231e+00 -2.944313416605433e+00 -2.944816182292809e+00 + -2.945321039217627e+00 -2.945827989752984e+00 -2.946337036774817e+00 -2.946848183049044e+00 -2.947361430398659e+00 + -2.947876780695535e+00 -2.948394236949976e+00 -2.948913802216184e+00 -2.949435478585527e+00 -2.949959268045502e+00 + -2.950485173130951e+00 -2.951013196489051e+00 -2.951543340668991e+00 -2.952075608036040e+00 -2.952610000317780e+00 + -2.953146519451356e+00 -2.953685168849877e+00 -2.954225951787981e+00 -2.954768869510503e+00 -2.955313923227115e+00 + -2.955861116036636e+00 -2.956410451196468e+00 -2.956961930709160e+00 -2.957515556348660e+00 -2.958071330229310e+00 + -2.958629254704319e+00 -2.959189332741965e+00 -2.959751567143614e+00 -2.960315959427935e+00 -2.960882511105170e+00 + -2.961451224934558e+00 -2.962022103774683e+00 -2.962595149632548e+00 -2.963170364371659e+00 -2.963747750133120e+00 + -2.964327309260061e+00 -2.964909044626116e+00 -2.965492958892178e+00 -2.966079053337689e+00 -2.966667329311879e+00 + -2.967257789824588e+00 -2.967850437973655e+00 -2.968445275548303e+00 -2.969042304161408e+00 -2.969641526029084e+00 + -2.970242943489398e+00 -2.970846558764995e+00 -2.971452374012471e+00 -2.972060391239641e+00 -2.972670612566008e+00 + -2.973283040706606e+00 -2.973897678221620e+00 -2.974514526456296e+00 -2.975133586785449e+00 -2.975754861917081e+00 + -2.976378354633252e+00 -2.977004066679083e+00 -2.977631999719257e+00 -2.978262156133669e+00 -2.978894538388579e+00 + -2.979529148580497e+00 -2.980165988659094e+00 -2.980805060356407e+00 -2.981446365534977e+00 -2.982089906796993e+00 + -2.982735686662750e+00 -2.983383706585328e+00 -2.984033968085205e+00 -2.984686474019655e+00 -2.985341227187940e+00 + -2.985998228820469e+00 -2.986657480057624e+00 -2.987318983248517e+00 -2.987982740990944e+00 -2.988648755668708e+00 + -2.989317029403636e+00 -2.989987563483614e+00 -2.990660359350691e+00 -2.991335419897486e+00 -2.992012747963469e+00 + -2.992692344724977e+00 -2.993374211287029e+00 -2.994058350132512e+00 -2.994744763907397e+00 -2.995433454532118e+00 + -2.996124423756546e+00 -2.996817673373822e+00 -2.997513205283444e+00 -2.998211021767050e+00 -2.998911125033880e+00 + -2.999613516621449e+00 -3.000318198120732e+00 -3.001025172008281e+00 -3.001734440748973e+00 -3.002446005875424e+00 + -3.003159868783688e+00 -3.003876031255844e+00 -3.004594495323234e+00 -3.005315263628241e+00 -3.006038338638268e+00 + -3.006763721509772e+00 -3.007491413411925e+00 -3.008221416875716e+00 -3.008953734497098e+00 -3.009688367770095e+00 + -3.010425318036306e+00 -3.011164587129571e+00 -3.011906177113799e+00 -3.012650090480955e+00 -3.013396329533748e+00 + -3.014144895389836e+00 -3.014895789237767e+00 -3.015649013734712e+00 -3.016404571515447e+00 -3.017162463656545e+00 + -3.017922691248400e+00 -3.018685256994897e+00 -3.019450163571901e+00 -3.020217411929727e+00 -3.020987002987051e+00 + -3.021758939261538e+00 -3.022533223477289e+00 -3.023309857585168e+00 -3.024088843221124e+00 -3.024870181534668e+00 + -3.025653873871900e+00 -3.026439922851719e+00 -3.027228331077071e+00 -3.028019099814318e+00 -3.028812230192102e+00 + -3.029607724124773e+00 -3.030405583764245e+00 -3.031205811426982e+00 -3.032008409239547e+00 -3.032813378404362e+00 + -3.033620720145768e+00 -3.034430436699938e+00 -3.035242530366928e+00 -3.036057002690514e+00 -3.036873855182042e+00 + -3.037693089979441e+00 -3.038514709166424e+00 -3.039338713983260e+00 -3.040165105664532e+00 -3.040993886265523e+00 + -3.041825058080565e+00 -3.042658623539453e+00 -3.043494584770202e+00 -3.044332942558215e+00 -3.045173697755793e+00 + -3.046016852825442e+00 -3.046862410359265e+00 -3.047710371857544e+00 -3.048560738605269e+00 -3.049413512118055e+00 + -3.050268694173960e+00 -3.051126287370169e+00 -3.051986294136892e+00 -3.052848715417321e+00 -3.053713552140092e+00 + -3.054580806662679e+00 -3.055450481419417e+00 -3.056322577723267e+00 -3.057197096839233e+00 -3.058074040961857e+00 + -3.058953412280709e+00 -3.059835212035924e+00 -3.060719441405425e+00 -3.061606102267731e+00 -3.062495196777212e+00 + -3.063386727491054e+00 -3.064280696619269e+00 -3.065177104580330e+00 -3.066075951959016e+00 -3.066977241796834e+00 + -3.067880977177860e+00 -3.068787158899685e+00 -3.069695787543252e+00 -3.070606865109353e+00 -3.071520393938529e+00 + -3.072436376310475e+00 -3.073354814200677e+00 -3.074275708428639e+00 -3.075199059975246e+00 -3.076124871622891e+00 + -3.077053146054635e+00 -3.077983883754724e+00 -3.078917085313194e+00 -3.079852753942089e+00 -3.080790892784741e+00 + -3.081731502087634e+00 -3.082674582011150e+00 -3.083620135268097e+00 -3.084568164866139e+00 -3.085518672439932e+00 + -3.086471659270948e+00 -3.087427126600947e+00 -3.088385075921834e+00 -3.089345509765843e+00 -3.090308430518810e+00 + -3.091273838940665e+00 -3.092241735746584e+00 -3.093212123098609e+00 -3.094185003484481e+00 -3.095160379247863e+00 + -3.096138252358965e+00 -3.097118623438258e+00 -3.098101493262150e+00 -3.099086864580523e+00 -3.100074740150514e+00 + -3.101065120784818e+00 -3.102058007230942e+00 -3.103053401920080e+00 -3.104051307417155e+00 -3.105051725138318e+00 + -3.106054656274756e+00 -3.107060102266563e+00 -3.108068064811119e+00 -3.109078546386035e+00 -3.110091549326776e+00 + -3.111107074619999e+00 -3.112125123273996e+00 -3.113145697732417e+00 -3.114168800386244e+00 -3.115194431980418e+00 + -3.116222593318652e+00 -3.117253287085768e+00 -3.118286516039464e+00 -3.119322281347848e+00 -3.120360583948459e+00 + -3.121401425446115e+00 -3.122444807777008e+00 -3.123490733535526e+00 -3.124539205035892e+00 -3.125590222813487e+00 + -3.126643787500575e+00 -3.127699901895779e+00 -3.128758568841378e+00 -3.129819789187914e+00 -3.130883563634097e+00 + -3.131949894263071e+00 -3.133018783446947e+00 -3.134090233329311e+00 -3.135164245759380e+00 -3.136240821637432e+00 + -3.137319962039862e+00 -3.138401669696502e+00 -3.139485947209752e+00 -3.140572795018887e+00 -3.141662213641400e+00 + -3.142754206070774e+00 -3.143848775370422e+00 -3.144945922407469e+00 -3.146045647810740e+00 -3.147147953452156e+00 + -3.148252841552866e+00 -3.149360314487843e+00 -3.150470374336312e+00 -3.151583021840677e+00 -3.152698257836541e+00 + -3.153816084869129e+00 -3.154936505573740e+00 -3.156059521236365e+00 -3.157185132934072e+00 -3.158313342257567e+00 + -3.159444151127381e+00 -3.160577562269707e+00 -3.161713578058511e+00 -3.162852198653188e+00 -3.163993424406347e+00 + -3.165137258658042e+00 -3.166283704751602e+00 -3.167432763056018e+00 -3.168584433853514e+00 -3.169738720053572e+00 + -3.170895624664928e+00 -3.172055148466089e+00 -3.173217292044841e+00 -3.174382057456326e+00 -3.175549447119023e+00 + -3.176719463437418e+00 -3.177892108465135e+00 -3.179067382866334e+00 -3.180245287430775e+00 -3.181425824840074e+00 + -3.182608997807819e+00 -3.183794807283624e+00 -3.184983254083125e+00 -3.186174340249998e+00 -3.187368068149750e+00 + -3.188564440207163e+00 -3.189763458501066e+00 -3.190965123667219e+00 -3.192169436468204e+00 -3.193376399616980e+00 + -3.194586015855556e+00 -3.195798286091764e+00 -3.197013211234878e+00 -3.198230794034108e+00 -3.199451037209393e+00 + -3.200673941523666e+00 -3.201899507599942e+00 -3.203127737458575e+00 -3.204358633517069e+00 -3.205592198384193e+00 + -3.206828434306502e+00 -3.208067341890413e+00 -3.209308921829809e+00 -3.210553176808560e+00 -3.211800109598040e+00 + -3.213049721329648e+00 -3.214302012941719e+00 -3.215556986240311e+00 -3.216814643392485e+00 -3.218074987141617e+00 + -3.219338019837523e+00 -3.220603741679474e+00 -3.221872153094758e+00 -3.223143257573258e+00 -3.224417058543514e+00 + -3.225693556126080e+00 -3.226972750453261e+00 -3.228254645012327e+00 -3.229539243310538e+00 -3.230826545580160e+00 + -3.232116551831102e+00 -3.233409264458852e+00 -3.234704686394765e+00 -3.236002820328103e+00 -3.237303668413965e+00 + -3.238607230912866e+00 -3.239913508296335e+00 -3.241222503774527e+00 -3.242534220589764e+00 -3.243848659374397e+00 + -3.245165820540432e+00 -3.246485706228452e+00 -3.247808319087641e+00 -3.249133662073000e+00 -3.250461737608715e+00 + -3.251792545689908e+00 -3.253126086515263e+00 -3.254462363526813e+00 -3.255801380232294e+00 -3.257143137158927e+00 + -3.258487634736825e+00 -3.259834875988172e+00 -3.261184864013611e+00 -3.262537599635538e+00 -3.263893083453904e+00 + -3.265251317457108e+00 -3.266612304094287e+00 -3.267976046269084e+00 -3.269342546452898e+00 -3.270711804933652e+00 + -3.272083822201368e+00 -3.273458601737915e+00 -3.274836147008249e+00 -3.276216458417835e+00 -3.277599536106921e+00 + -3.278985382214368e+00 -3.280373999474050e+00 -3.281765391001240e+00 -3.283159559381294e+00 -3.284556504698475e+00 + -3.285956227223949e+00 -3.287358730477579e+00 -3.288764018003004e+00 -3.290172090190266e+00 -3.291582947391597e+00 + -3.292996592961586e+00 -3.294413030263101e+00 -3.295832259689772e+00 -3.297254281509102e+00 -3.298679098453292e+00 + -3.300106713632883e+00 -3.301537129207062e+00 -3.302970346938195e+00 -3.304406367952729e+00 -3.305845193592728e+00 + -3.307286826698660e+00 -3.308731270022015e+00 -3.310178524459931e+00 -3.311628590794006e+00 -3.313081471198005e+00 + -3.314537168271639e+00 -3.315995684926260e+00 -3.317457023622331e+00 -3.318921184705128e+00 -3.320388168757214e+00 + -3.321857979425488e+00 -3.323330620242623e+00 -3.324806091220061e+00 -3.326284392457951e+00 -3.327765527932510e+00 + -3.329249501635255e+00 -3.330736313742837e+00 -3.332225964151081e+00 -3.333718455447356e+00 -3.335213790816533e+00 + -3.336711973141963e+00 -3.338213004741188e+00 -3.339716885970061e+00 -3.341223617428788e+00 -3.342733202656698e+00 + -3.344245645175923e+00 -3.345760945500658e+00 -3.347279103963591e+00 -3.348800123179309e+00 -3.350324006237700e+00 + -3.351850755847976e+00 -3.353380374190363e+00 -3.354912861709826e+00 -3.356448219173252e+00 -3.357986450370467e+00 + -3.359527558984502e+00 -3.361071545248283e+00 -3.362618409368982e+00 -3.364168154900880e+00 -3.365720785489059e+00 + -3.367276301794712e+00 -3.368834704260551e+00 -3.370395995439248e+00 -3.371960178388195e+00 -3.373527256073704e+00 + -3.375097230883950e+00 -3.376670102985606e+00 -3.378245872877927e+00 -3.379824544611959e+00 -3.381406122149057e+00 + -3.382990605539988e+00 -3.384577994855671e+00 -3.386168294158221e+00 -3.387761507524905e+00 -3.389357635102426e+00 + -3.390956676825633e+00 -3.392558635712520e+00 -3.394163515324364e+00 -3.395771318312439e+00 -3.397382046745834e+00 + -3.398995701274896e+00 -3.400612282828281e+00 -3.402231794866633e+00 -3.403854240867662e+00 -3.405479621845378e+00 + -3.407107938586081e+00 -3.408739193428916e+00 -3.410373389185216e+00 -3.412010529002203e+00 -3.413650615518111e+00 + -3.415293648999326e+00 -3.416939629995896e+00 -3.418588562564371e+00 -3.420240450691449e+00 -3.421895294577897e+00 + -3.423553094414080e+00 -3.425213854134680e+00 -3.426877577792018e+00 -3.428544266164663e+00 -3.430213919689846e+00 + -3.431886540713168e+00 -3.433562132145608e+00 -3.435240697251321e+00 -3.436922238808692e+00 -3.438606757299870e+00 + -3.440294253397158e+00 -3.441984730829699e+00 -3.443678193368453e+00 -3.445374641894819e+00 -3.447074077051543e+00 + -3.448776501416308e+00 -3.450481918039497e+00 -3.452190329927366e+00 -3.453901739641781e+00 -3.455616148011183e+00 + -3.457333556082980e+00 -3.459053967513855e+00 -3.460777385853499e+00 -3.462503811614361e+00 -3.464233245386620e+00 + -3.465965691108627e+00 -3.467701152771073e+00 -3.469439631225878e+00 -3.471181127031554e+00 -3.472925642711720e+00 + -3.474673181335264e+00 -3.476423746187027e+00 -3.478177340029919e+00 -3.479933963323171e+00 -3.481693616824597e+00 + -3.483456304790008e+00 -3.485222031388338e+00 -3.486990796943019e+00 -3.488762601570069e+00 -3.490537448401365e+00 + -3.492315341151373e+00 -3.494096282849095e+00 -3.495880275915030e+00 -3.497667321021135e+00 -3.499457419173128e+00 + -3.501250574460328e+00 -3.503046790838973e+00 -3.504846068649357e+00 -3.506648408298966e+00 -3.508453814079994e+00 + -3.510262290280344e+00 -3.512073837286068e+00 -3.513888455301771e+00 -3.515706147708129e+00 -3.517526918395819e+00 + -3.519350770119465e+00 -3.521177705073145e+00 -3.523007724344773e+00 -3.524840829328240e+00 -3.526677023747485e+00 + -3.528516311267811e+00 -3.530358692989965e+00 -3.532204169811781e+00 -3.534052744384031e+00 -3.535904419874647e+00 + -3.537759199767289e+00 -3.539617087002065e+00 -3.541478082029144e+00 -3.543342185630307e+00 -3.545209402403708e+00 + -3.547079736777425e+00 -3.548953188682862e+00 -3.550829758143615e+00 -3.552709450048714e+00 -3.554592269345012e+00 + -3.556478216345227e+00 -3.558367291032073e+00 -3.560259496702344e+00 -3.562154837300620e+00 -3.564053316048536e+00 + -3.565954935512961e+00 -3.567859696364639e+00 -3.569767599635964e+00 -3.571678649702049e+00 -3.573592850895430e+00 + -3.575510204035641e+00 -3.577430709619281e+00 -3.579354370364244e+00 -3.581281189700099e+00 -3.583211171681835e+00 + -3.585144319721653e+00 -3.587080634035166e+00 -3.589020115063184e+00 -3.590962767343901e+00 -3.592908595415016e+00 + -3.594857599714854e+00 -3.596809780701911e+00 -3.598765143014713e+00 -3.600723691343250e+00 -3.602685426403352e+00 + -3.604650348553174e+00 -3.606618460694309e+00 -3.608589766473437e+00 -3.610564269974137e+00 -3.612541974573128e+00 + -3.614522880382737e+00 -3.616506987803558e+00 -3.618494301653613e+00 -3.620484826823921e+00 -3.622478564080036e+00 + -3.624475513850586e+00 -3.626475679341938e+00 -3.628479064392689e+00 -3.630485672592619e+00 -3.632495506905407e+00 + -3.634508568039156e+00 -3.636524857004877e+00 -3.638544378280809e+00 -3.640567136287224e+00 -3.642593131745308e+00 + -3.644622365423449e+00 -3.646654841977913e+00 -3.648690566065893e+00 -3.650729538460438e+00 -3.652771759626902e+00 + -3.654817232683972e+00 -3.656865961450936e+00 -3.658917949896158e+00 -3.660973201344661e+00 -3.663031716399031e+00 + -3.665093495929850e+00 -3.667158544602091e+00 -3.669226867066577e+00 -3.671298464123134e+00 -3.673373336353373e+00 + -3.675451487317045e+00 -3.677532921173144e+00 -3.679617641499514e+00 -3.681705651197185e+00 -3.683796951041065e+00 + -3.685891542158701e+00 -3.687989429214330e+00 -3.690090616811484e+00 -3.692195105774196e+00 -3.694302896934788e+00 + -3.696413994938233e+00 -3.698528404463948e+00 -3.700646126516483e+00 -3.702767161822413e+00 -3.704891513671268e+00 + -3.707019186005269e+00 -3.709150182814482e+00 -3.711284507419287e+00 -3.713422160413482e+00 -3.715563142750310e+00 + -3.717707459547388e+00 -3.719855115839397e+00 -3.722006112164920e+00 -3.724160448777861e+00 -3.726318129289493e+00 + -3.728479158099316e+00 -3.730643539402395e+00 -3.732811276589775e+00 -3.734982370040845e+00 -3.737156820495128e+00 + -3.739334633144358e+00 -3.741515813112657e+00 -3.743700360801490e+00 -3.745888276640612e+00 -3.748079565895588e+00 + -3.750274233918474e+00 -3.752472281571475e+00 -3.754673709335501e+00 -3.756878520656135e+00 -3.759086719721971e+00 + -3.761298310728990e+00 -3.763513297133539e+00 -3.765731679426046e+00 -3.767953458457793e+00 -3.770178639489403e+00 + -3.772407227784000e+00 -3.774639224205367e+00 -3.776874629489326e+00 -3.779113448259203e+00 -3.781355685279774e+00 + -3.783601341994148e+00 -3.785850419525435e+00 -3.788102921038436e+00 -3.790358850378410e+00 -3.792618212070778e+00 + -3.794881010002580e+00 -3.797147244827153e+00 -3.799416917428862e+00 -3.801690032849888e+00 -3.803966596190487e+00 + -3.806246608625402e+00 -3.808530070983860e+00 -3.810816986638503e+00 -3.813107359693981e+00 -3.815401194639556e+00 + -3.817698495297397e+00 -3.819999262436677e+00 -3.822303497093916e+00 -3.824611204428034e+00 -3.826922389548483e+00 + -3.829237053244454e+00 -3.831555196353405e+00 -3.833876824226091e+00 -3.836201942201953e+00 -3.838530551061888e+00 + -3.840862651326505e+00 -3.843198247033778e+00 -3.845537342919513e+00 -3.847879942993476e+00 -3.850226050562932e+00 + -3.852575666851148e+00 -3.854928793361406e+00 -3.857285434801036e+00 -3.859645595950435e+00 -3.862009278678248e+00 + -3.864376484523473e+00 -3.866747216618300e+00 -3.869121478726629e+00 -3.871499275546047e+00 -3.873880611182955e+00 + -3.876265486445322e+00 -3.878653902389424e+00 -3.881045864363169e+00 -3.883441377687285e+00 -3.885840443282151e+00 + -3.888243062046155e+00 -3.890649239190073e+00 -3.893058980047241e+00 -3.895472286128841e+00 -3.897889158595383e+00 + -3.900309601026809e+00 -3.902733617656517e+00 -3.905161212912323e+00 -3.907592390603840e+00 -3.910027151873432e+00 + -3.912465498159137e+00 -3.914907434748928e+00 -3.917352966879188e+00 -3.919802095729995e+00 -3.922254822259626e+00 + -3.924711150595445e+00 -3.927171085542605e+00 -3.929634631448325e+00 -3.932101791843537e+00 -3.934572567451927e+00 + -3.937046959532740e+00 -3.939524974294695e+00 -3.942006617767883e+00 -3.944491890318428e+00 -3.946980792233828e+00 + -3.949473329151056e+00 -3.951969506957779e+00 -3.954469327195002e+00 -3.956972790971958e+00 -3.959479902017460e+00 + -3.961990664762499e+00 -3.964505083827194e+00 -3.967023163167552e+00 -3.969544903893966e+00 -3.972070307479498e+00 + -3.974599379693463e+00 -3.977132126179292e+00 -3.979668547780628e+00 -3.982208645099321e+00 -3.984752422569858e+00 + -3.987299885436030e+00 -3.989851038346246e+00 -3.992405885069993e+00 -3.994964426456437e+00 -3.997526663815754e+00 + -4.000092603222488e+00 -4.002662250581340e+00 -4.005235606353252e+00 -4.007812671084819e+00 -4.010393451108941e+00 + -4.012977952843547e+00 -4.015566177260363e+00 -4.018158124897606e+00 -4.020753800005660e+00 -4.023353207686703e+00 + -4.025956352737950e+00 -4.028563239140089e+00 -4.031173867912699e+00 -4.033788240453579e+00 -4.036406362634527e+00 + -4.039028240314873e+00 -4.041653874830120e+00 -4.044283267179555e+00 -4.046916421541453e+00 -4.049553342894448e+00 + -4.052194036239657e+00 -4.054838505774454e+00 -4.057486752458788e+00 -4.060138777601743e+00 -4.062794587146426e+00 + -4.065454187011838e+00 -4.068117578386588e+00 -4.070784762448621e+00 -4.073455745063631e+00 -4.076130532171974e+00 + -4.078809125324914e+00 -4.081491525652789e+00 -4.084177736991329e+00 -4.086867764089578e+00 -4.089561612644448e+00 + -4.092259287473573e+00 -4.094960788929582e+00 -4.097666117736884e+00 -4.100375280572002e+00 -4.103088284211306e+00 + -4.105805129878449e+00 -4.108525818267906e+00 -4.111250353510137e+00 -4.113978740671802e+00 -4.116710985128399e+00 + -4.119447091422845e+00 -4.122187060458915e+00 -4.124930893522407e+00 -4.127678597066370e+00 -4.130430177441071e+00 + -4.133185635418395e+00 -4.135944971791250e+00 -4.138708193015015e+00 -4.141475305696859e+00 -4.144246311388639e+00 + -4.147021211130915e+00 -4.149800008974389e+00 -4.152582709893380e+00 -4.155369319546537e+00 -4.158159842709882e+00 + -4.160954279944561e+00 -4.163752632239020e+00 -4.166554906505763e+00 -4.169361109687737e+00 -4.172171242925584e+00 + -4.174985306927709e+00 -4.177803306475812e+00 -4.180625247195196e+00 -4.183451134012302e+00 -4.186280970992621e+00 + -4.189114759456745e+00 -4.191952501240072e+00 -4.194794202982180e+00 -4.197639871116617e+00 -4.200489506448629e+00 + -4.203343109834506e+00 -4.206200687962978e+00 -4.209062247657938e+00 -4.211927790451525e+00 -4.214797317400862e+00 + -4.217670832954751e+00 -4.220548342457539e+00 -4.223429851444060e+00 -4.226315364591702e+00 -4.229204882957573e+00 + -4.232098408004153e+00 -4.234995946435681e+00 -4.237897504949240e+00 -4.240803084971501e+00 -4.243712687544032e+00 + -4.246626317438374e+00 -4.249543980343883e+00 -4.252465681891192e+00 -4.255391426705907e+00 -4.258321215452209e+00 + -4.261255049361277e+00 -4.264192935893713e+00 -4.267134882389568e+00 -4.270080889477248e+00 -4.273030957691918e+00 + -4.275985093907401e+00 -4.278943305249538e+00 -4.281905593513557e+00 -4.284871959946388e+00 -4.287842408932329e+00 + -4.290816945777364e+00 -4.293795576336856e+00 -4.296778305653331e+00 -4.299765134968560e+00 -4.302756065899131e+00 + -4.305751105361620e+00 -4.308750260118541e+00 -4.311753531016159e+00 -4.314760919008608e+00 -4.317772431397722e+00 + -4.320788075591533e+00 -4.323807853075197e+00 -4.326831764792573e+00 -4.329859815445223e+00 -4.332892010759197e+00 + -4.335928356800809e+00 -4.338968858700405e+00 -4.342013517504197e+00 -4.345062334602749e+00 -4.348115316848165e+00 + -4.351172471198577e+00 -4.354233799574710e+00 -4.357299303495111e+00 -4.360368987907023e+00 -4.363442858590077e+00 + -4.366520921224746e+00 -4.369603180592436e+00 -4.372689637977453e+00 -4.375780295145305e+00 -4.378875159283436e+00 + -4.381974237486932e+00 -4.385077531059527e+00 -4.388185041309383e+00 -4.391296775353732e+00 -4.394412740393244e+00 + -4.397532938153312e+00 -4.400657369887305e+00 -4.403786040435705e+00 -4.406918955633090e+00 -4.410056121703311e+00 + -4.413197543940346e+00 -4.416343223529426e+00 -4.419493162052248e+00 -4.422647366785128e+00 -4.425805845047289e+00 + -4.428968598634965e+00 -4.432135628892382e+00 -4.435306940878729e+00 -4.438482540596634e+00 -4.441662434107552e+00 + -4.444846626509031e+00 -4.448035118984182e+00 -4.451227913265940e+00 -4.454425017200977e+00 -4.457626438485681e+00 + -4.460832178101560e+00 -4.464042236947444e+00 -4.467256622306292e+00 -4.470475341701105e+00 -4.473698397230936e+00 + -4.476925790483307e+00 -4.480157526423565e+00 -4.483393610985775e+00 -4.486634050601043e+00 -4.489878850742320e+00 + -4.493128012552872e+00 -4.496381537630165e+00 -4.499639433718156e+00 -4.502901708553144e+00 -4.506168363694287e+00 + -4.509439400268067e+00 -4.512714823847340e+00 -4.515994641019672e+00 -4.519278857985080e+00 -4.522567479881829e+00 + -4.525860507988668e+00 -4.529157944122721e+00 -4.532459796114085e+00 -4.535766071688615e+00 -4.539076772142213e+00 + -4.542391898765175e+00 -4.545711459255270e+00 -4.549035461446213e+00 -4.552363907308053e+00 -4.555696798263391e+00 + -4.559034139408705e+00 -4.562375936904542e+00 -4.565722197493832e+00 -4.569072926948550e+00 -4.572428126574475e+00 + -4.575787798129616e+00 -4.579151949647104e+00 -4.582520589075836e+00 -4.585893717752653e+00 -4.589271336639746e+00 + -4.592653451812744e+00 -4.596040070428725e+00 -4.599431198857142e+00 -4.602826842289216e+00 -4.606227001990830e+00 + -4.609631679831751e+00 -4.613040884022596e+00 -4.616454622677202e+00 -4.619872897181441e+00 -4.623295708819967e+00 + -4.626723065200532e+00 -4.630154974192006e+00 -4.633591438384649e+00 -4.637032459790966e+00 -4.640478043391029e+00 + -4.643928195196958e+00 -4.647382922381489e+00 -4.650842231139545e+00 -4.654306122594169e+00 -4.657774598295235e+00 + -4.661247666571815e+00 -4.664725335805659e+00 -4.668207607810025e+00 -4.671694483876048e+00 -4.675185969774820e+00 + -4.678682072408495e+00 -4.682182798723523e+00 -4.685688154522786e+00 -4.689198140990583e+00 -4.692712759891060e+00 + -4.696232019926335e+00 -4.699755929666950e+00 -4.703284490219185e+00 -4.706817702626076e+00 -4.710355575141943e+00 + -4.713898116290367e+00 -4.717445328460708e+00 -4.720997213393779e+00 -4.724553776370427e+00 -4.728115023824750e+00 + -4.731680963263822e+00 -4.735251601139764e+00 -4.738826938611875e+00 -4.742406977241646e+00 -4.745991725492132e+00 + -4.749581191958943e+00 -4.753175378866366e+00 -4.756774287871428e+00 -4.760377924733439e+00 -4.763986296289299e+00 + -4.767599409584012e+00 -4.771217270615820e+00 -4.774839880987831e+00 -4.778467242836293e+00 -4.782099364825118e+00 + -4.785736255481164e+00 -4.789377916255392e+00 -4.793024348603915e+00 -4.796675561079348e+00 -4.800331562360717e+00 + -4.803992354536202e+00 -4.807657939173200e+00 -4.811328322346788e+00 -4.815003511262576e+00 -4.818683513140625e+00 + -4.822368334073276e+00 -4.826057975627521e+00 -4.829752439872078e+00 -4.833451735407881e+00 -4.837155870922971e+00 + -4.840864848921632e+00 -4.844578671297884e+00 -4.848297343688468e+00 -4.852020872870312e+00 -4.855749266438375e+00 + -4.859482530948563e+00 -4.863220667982479e+00 -4.866963679596293e+00 -4.870711574718753e+00 -4.874464362148352e+00 + -4.878222043289993e+00 -4.881984619584831e+00 -4.885752100012597e+00 -4.889524493673498e+00 -4.893301802611106e+00 + -4.897084028340568e+00 -4.900871177319985e+00 -4.904663257144151e+00 -4.908460275011687e+00 -4.912262236942902e+00 + -4.916069144641015e+00 -4.919881000415621e+00 -4.923697813318887e+00 -4.927519592402767e+00 -4.931346339975771e+00 + -4.935178057730553e+00 -4.939014751639765e+00 -4.942856428895341e+00 -4.946703097286389e+00 -4.950554763469543e+00 + -4.954411428974413e+00 -4.958273095882141e+00 -4.962139773607051e+00 -4.966011471374763e+00 -4.969888190322918e+00 + -4.973769931656962e+00 -4.977656704941523e+00 -4.981548519919207e+00 -4.985445378685372e+00 -4.989347282670139e+00 + -4.993254238289898e+00 -4.997166253181426e+00 -5.001083334876794e+00 -5.005005489750602e+00 -5.008932719652265e+00 + -5.012865027026571e+00 -5.016802421224969e+00 -5.020744911403345e+00 -5.024692499028711e+00 -5.028645185619313e+00 + -5.032602980587180e+00 -5.036565893470627e+00 -5.040533926419334e+00 -5.044507081015939e+00 -5.048485363963517e+00 + -5.052468783200935e+00 -5.056457346489804e+00 -5.060451060330298e+00 -5.064449926354071e+00 -5.068453946757710e+00 + -5.072463130865962e+00 -5.076477488052552e+00 -5.080497020758939e+00 -5.084521730904982e+00 -5.088551625256381e+00 + -5.092586711696772e+00 -5.096626997735727e+00 -5.100672489712744e+00 -5.104723189661156e+00 -5.108779100266077e+00 + -5.112840231125939e+00 -5.116906591587866e+00 -5.120978183080382e+00 -5.125055007124604e+00 -5.129137073530554e+00 + -5.133224392250169e+00 -5.137316965514153e+00 -5.141414794882011e+00 -5.145517886949661e+00 -5.149626249667421e+00 + -5.153739891366810e+00 -5.157858819095347e+00 -5.161983034383363e+00 -5.166112539324860e+00 -5.170247343785729e+00 + -5.174387457616170e+00 -5.178532882831751e+00 -5.182683620936045e+00 -5.186839679219287e+00 -5.191001066208124e+00 + -5.195167789588259e+00 -5.199339855740569e+00 -5.203517266667578e+00 -5.207700025095241e+00 -5.211888141021600e+00 + -5.216081624199723e+00 -5.220280476130696e+00 -5.224484698310884e+00 -5.228694300469721e+00 -5.232909292611727e+00 + -5.237129677608738e+00 -5.241355457600706e+00 -5.245586638932716e+00 -5.249823229255573e+00 -5.254065237237846e+00 + -5.258312670369801e+00 -5.262565530410686e+00 -5.266823819583928e+00 -5.271087547700648e+00 -5.275356724632263e+00 + -5.279631352903723e+00 -5.283911434448228e+00 -5.288196976178466e+00 -5.292487986327965e+00 -5.296784473434150e+00 + -5.301086444698075e+00 -5.305393901671405e+00 -5.309706846569482e+00 -5.314025289911748e+00 -5.318349242027271e+00 + -5.322678704179561e+00 -5.327013677718438e+00 -5.331354173404511e+00 -5.335700202105029e+00 -5.340051765703035e+00 + -5.344408865432155e+00 -5.348771508912536e+00 -5.353139705124518e+00 -5.357513462102698e+00 -5.361892786505948e+00 + -5.366277680435933e+00 -5.370668146715638e+00 -5.375064195610523e+00 -5.379465837274747e+00 -5.383873073974794e+00 + -5.388285907439377e+00 -5.392704345133761e+00 -5.397128395890300e+00 -5.401558068273167e+00 -5.405993369375257e+00 + -5.410434300672517e+00 -5.414880864443758e+00 -5.419333071796174e+00 -5.423790933634701e+00 -5.428254451226888e+00 + -5.432723625834648e+00 -5.437198468334746e+00 -5.441678989715544e+00 -5.446165191796978e+00 -5.450657075821366e+00 + -5.455154649888983e+00 -5.459657923508107e+00 -5.464166904961132e+00 -5.468681600997277e+00 -5.473202013458992e+00 + -5.477728145011161e+00 -5.482260006515158e+00 -5.486797608759512e+00 -5.491340954044872e+00 -5.495890044003880e+00 + -5.500444886085005e+00 -5.505005489175888e+00 -5.509571862105057e+00 -5.514144012303452e+00 -5.518721941670775e+00 + -5.523305652810777e+00 -5.527895156674663e+00 -5.532490463993778e+00 -5.537091576272570e+00 -5.541698495053784e+00 + -5.546311231260242e+00 -5.550929796018560e+00 -5.555554191890502e+00 -5.560184420697174e+00 -5.564820489861896e+00 + -5.569462408240030e+00 -5.574110184812914e+00 -5.578763827204064e+00 -5.583423337479740e+00 -5.588088718319627e+00 + -5.592759980414353e+00 -5.597437134453794e+00 -5.602120183113874e+00 -5.606809128447821e+00 -5.611503978032022e+00 + -5.616204740842362e+00 -5.620911425929568e+00 -5.625624040919794e+00 -5.630342587666039e+00 -5.635067068763208e+00 + -5.639797495546991e+00 -5.644533879170592e+00 -5.649276221316504e+00 -5.654024523642824e+00 -5.658778797180806e+00 + -5.663539053129186e+00 -5.668305293983524e+00 -5.673077521581335e+00 -5.677855743831122e+00 -5.682639970117403e+00 + -5.687430209657800e+00 -5.692226470164904e+00 -5.697028753498052e+00 -5.701837062188433e+00 -5.706651407307890e+00 + -5.711471800003379e+00 -5.716298243181697e+00 -5.721130739014699e+00 -5.725969294974640e+00 -5.730813920019088e+00 + -5.735664623746429e+00 -5.740521414337008e+00 -5.745384293658165e+00 -5.750253264219532e+00 -5.755128337412918e+00 + -5.760009524502356e+00 -5.764896827358567e+00 -5.769790247833362e+00 -5.774689797096235e+00 -5.779595486532854e+00 + -5.784507319075965e+00 -5.789425296924678e+00 -5.794349427796488e+00 -5.799279720850703e+00 -5.804216185495535e+00 + -5.809158829710795e+00 -5.814107655513784e+00 -5.819062665706917e+00 -5.824023872195552e+00 -5.828991286593848e+00 + -5.833964910248241e+00 -5.838944744496904e+00 -5.843930800912663e+00 -5.848923091405570e+00 -5.853921618999967e+00 + -5.858926385866531e+00 -5.863937399646989e+00 -5.868954669511408e+00 -5.873978205272220e+00 -5.879008015280387e+00 + -5.884044101398642e+00 -5.889086466127434e+00 -5.894135121006329e+00 -5.899190077679159e+00 -5.904251339167730e+00 + -5.909318907675908e+00 -5.914392790757818e+00 -5.919472997569684e+00 -5.924559538325873e+00 -5.929652421747786e+00 + -5.934751649526802e+00 -5.939857223994977e+00 -5.944969157077114e+00 -5.950087460588470e+00 -5.955212136313389e+00 + -5.960343186070434e+00 -5.965480621845905e+00 -5.970624455737114e+00 -5.975774690117698e+00 -5.980931326619691e+00 + -5.986094373632355e+00 -5.991263841186835e+00 -5.996439739124646e+00 -6.001622075628632e+00 -6.006810852436582e+00 + -6.012006072105073e+00 -6.017207746910874e+00 -6.022415889122929e+00 -6.027630501258702e+00 -6.032851585034692e+00 + -6.038079148714933e+00 -6.043313202169935e+00 -6.048553755148549e+00 -6.053800815867540e+00 -6.059054386536941e+00 + -6.064314470164098e+00 -6.069581078952353e+00 -6.074854224823474e+00 -6.080133909377011e+00 -6.085420134277816e+00 + -6.090712911774160e+00 -6.096012254273324e+00 -6.101318164235261e+00 -6.106630643404864e+00 -6.111949700614082e+00 + -6.117275346267099e+00 -6.122607589969956e+00 -6.127946439669295e+00 -6.133291897472249e+00 -6.138643966380033e+00 + -6.144002658809652e+00 -6.149367987035877e+00 -6.154739953348771e+00 -6.160118559324411e+00 -6.165503813667637e+00 + -6.170895726810269e+00 -6.176294308963303e+00 -6.181699568610070e+00 -6.187111507544039e+00 -6.192530128394146e+00 + -6.197955443821025e+00 -6.203387466288188e+00 -6.208826197438971e+00 -6.214271638855750e+00 -6.219723802697215e+00 + -6.225182701452046e+00 -6.230648338352550e+00 -6.236120715733020e+00 -6.241599841591995e+00 -6.247085725644578e+00 + -6.252578378807894e+00 -6.258077810320607e+00 -6.263584021505486e+00 -6.269097014385768e+00 -6.274616801702433e+00 + -6.280143396389799e+00 -6.285676801437800e+00 -6.291217018848358e+00 -6.296764056615736e+00 -6.302317924554712e+00 + -6.307878633769864e+00 -6.313446193664602e+00 -6.319020605547922e+00 -6.324601871487839e+00 -6.330190004682891e+00 + -6.335785018206249e+00 -6.341386913499118e+00 -6.346995691980793e+00 -6.352611366614864e+00 -6.358233950592316e+00 + -6.363863446469443e+00 -6.369499855900457e+00 -6.375143187565898e+00 -6.380793451939097e+00 -6.386450659638202e+00 + -6.392114819555641e+00 -6.397785933536126e+00 -6.403464004233896e+00 -6.409149044588990e+00 -6.414841067513965e+00 + -6.420540075525660e+00 -6.426246070301758e+00 -6.431959060559017e+00 -6.437679056917068e+00 -6.443406070567963e+00 + -6.449140110779302e+00 -6.454881178548420e+00 -6.460629275812415e+00 -6.466384416537711e+00 -6.472146614484319e+00 + -6.477915870557313e+00 -6.483692185657911e+00 -6.489475573526882e+00 -6.495266048141532e+00 -6.501063611585819e+00 + -6.506868264986595e+00 -6.512680017535606e+00 -6.518498880384615e+00 -6.524324864460620e+00 -6.530157978732819e+00 + -6.535998224564008e+00 -6.541845604255500e+00 -6.547700131469085e+00 -6.553561819849423e+00 -6.559430671612207e+00 + -6.565306688088189e+00 -6.571189878497283e+00 -6.577080253965905e+00 -6.582977825357318e+00 -6.588882601649868e+00 + -6.594794584545345e+00 -6.600713776640095e+00 -6.606640191385222e+00 -6.612573842086468e+00 -6.618514730613387e+00 + -6.624462858757332e+00 -6.630418239433046e+00 -6.636380885778538e+00 -6.642350800701542e+00 -6.648327986279747e+00 + -6.654312451500913e+00 -6.660304207148021e+00 -6.666303264274883e+00 -6.672309632144893e+00 -6.678323312588955e+00 + -6.684344308236361e+00 -6.690372632342481e+00 -6.696408298209058e+00 -6.702451308697293e+00 -6.708501665794167e+00 + -6.714559378430309e+00 -6.720624457416141e+00 -6.726696914137652e+00 -6.732776758078630e+00 -6.738863990538500e+00 + -6.744958613795213e+00 -6.751060642225177e+00 -6.757170089911689e+00 -6.763286957667176e+00 -6.769411246357500e+00 + -6.775542970333119e+00 -6.781682144164359e+00 -6.787828769816468e+00 -6.793982848306231e+00 -6.800144389461610e+00 + -6.806313405086916e+00 -6.812489906080716e+00 -6.818673901333698e+00 -6.824865392610781e+00 -6.831064382650163e+00 + -6.837270885208925e+00 -6.843484914029985e+00 -6.849706471780753e+00 -6.855935560196301e+00 -6.862172188357874e+00 + -6.868416367348060e+00 -6.874668108908677e+00 -6.880927422841348e+00 -6.887194310527692e+00 -6.893468774218006e+00 + -6.899750828057308e+00 -6.906040486046904e+00 -6.912337749718504e+00 -6.918642620544160e+00 -6.924955112226868e+00 + -6.931275238742860e+00 -6.937603002930438e+00 -6.943938406703657e+00 -6.950281459417487e+00 -6.956632172330878e+00 + -6.962990556877839e+00 -6.969356622516854e+00 -6.975730370629293e+00 -6.982111803620415e+00 -6.988500936068168e+00 + -6.994897782349220e+00 -7.001302343862422e+00 -7.007714621896787e+00 -7.014134630279748e+00 -7.020562383120512e+00 + -7.026997883116998e+00 -7.033441132058707e+00 -7.039892139512705e+00 -7.046350916975187e+00 -7.052817475881351e+00 + -7.059291825658977e+00 -7.065773967767182e+00 -7.072263904706783e+00 -7.078761651114045e+00 -7.085267221537997e+00 + -7.091780618043302e+00 -7.098301841735545e+00 -7.104830902368316e+00 -7.111367811800725e+00 -7.117912581665987e+00 + -7.124465221496127e+00 -7.131025732644298e+00 -7.137594117517873e+00 -7.144170390919956e+00 -7.150754567380619e+00 + -7.157346647942116e+00 -7.163946633668109e+00 -7.170554539195697e+00 -7.177170379365883e+00 -7.183794156261903e+00 + -7.190425870988396e+00 -7.197065533493338e+00 -7.203713155838439e+00 -7.210368749697043e+00 -7.217032324589560e+00 + -7.223703881813015e+00 -7.230383423705708e+00 -7.237070964994412e+00 -7.243766520390449e+00 -7.250470092154861e+00 + -7.257181681552523e+00 -7.263901298313877e+00 -7.270628954301988e+00 -7.277364661444877e+00 -7.284108429522252e+00 + -7.290860259655573e+00 -7.297620154032538e+00 -7.304388127764033e+00 -7.311164195737019e+00 -7.317948359019635e+00 + -7.324740618617562e+00 -7.331540989105481e+00 -7.338349485298712e+00 -7.345166109406192e+00 -7.351990862719772e+00 + -7.358823755469352e+00 -7.365664799915581e+00 -7.372514007504119e+00 -7.379371387574386e+00 -7.386236941855793e+00 + -7.393110673113762e+00 -7.399992595867711e+00 -7.406882724521767e+00 -7.413781061264927e+00 -7.420687607444220e+00 + -7.427602373253923e+00 -7.434525370953283e+00 -7.441456612214240e+00 -7.448396106579596e+00 -7.455343855662903e+00 + -7.462299862106879e+00 -7.469264140600134e+00 -7.476236705537742e+00 -7.483217558094771e+00 -7.490206699573982e+00 + -7.497204145008848e+00 -7.504209909607961e+00 -7.511223995549668e+00 -7.518246403916826e+00 -7.525277144440522e+00 + -7.532316229110418e+00 -7.539363670302306e+00 -7.546419478207750e+00 -7.553483653895294e+00 -7.560556199398457e+00 + -7.567637129733686e+00 -7.574726459966183e+00 -7.581824192373288e+00 -7.588930328179804e+00 -7.596044877188221e+00 + -7.603167851392376e+00 -7.610299262973792e+00 -7.617439121971403e+00 -7.624587429666054e+00 -7.631744188388593e+00 + -7.638909413427992e+00 -7.646083119762239e+00 -7.653265308167305e+00 -7.660455979470388e+00 -7.667655148905554e+00 + -7.674862831955687e+00 -7.682079030692125e+00 -7.689303746121935e+00 -7.696536988406601e+00 -7.703778769965018e+00 + -7.711029103091334e+00 -7.718287997777487e+00 -7.725555454931286e+00 -7.732831476489904e+00 -7.740116077592081e+00 + -7.747409273463959e+00 -7.754711066479733e+00 -7.762021457991705e+00 -7.769340458116517e+00 -7.776668079072852e+00 + -7.784004332723263e+00 -7.791349228774319e+00 -7.798702768664788e+00 -7.806064954991001e+00 -7.813435803247359e+00 + -7.820815328504128e+00 -7.828203531237023e+00 -7.835600412067597e+00 -7.843005986795347e+00 -7.850420271453628e+00 + -7.857843267833355e+00 -7.865274976500961e+00 -7.872715407367362e+00 -7.880164572827870e+00 -7.887622485870939e+00 + -7.895089157097287e+00 -7.902564586963549e+00 -7.910048776908389e+00 -7.917541742442640e+00 -7.925043499243823e+00 + -7.932554049584044e+00 -7.940073394568305e+00 -7.947601544038569e+00 -7.955138510136092e+00 -7.962684305462377e+00 + -7.970238940357911e+00 -7.977802415658878e+00 -7.985374733292938e+00 -7.992955909057959e+00 -8.000545958501995e+00 + -8.008144882303682e+00 -8.015752681155906e+00 -8.023369370677967e+00 -8.030994966700497e+00 -8.038629470973136e+00 + -8.046272884117311e+00 -8.053925216322545e+00 -8.061586480220186e+00 -8.069256688640843e+00 -8.076935852017314e+00 + -8.084623970991846e+00 -8.092321047230506e+00 -8.100027096285098e+00 -8.107742133772728e+00 -8.115466161685978e+00 + -8.123199180963685e+00 -8.130941201954130e+00 -8.138692237272345e+00 -8.146452299190864e+00 -8.154221397655556e+00 + -8.161999533648068e+00 -8.169786709369063e+00 -8.177582940859525e+00 -8.185388243772254e+00 -8.193202618367051e+00 + -8.201026064968486e+00 -8.208858599553158e+00 -8.216700238370747e+00 -8.224550983111227e+00 -8.232410834288519e+00 + -8.240279802271914e+00 -8.248157899820946e+00 -8.256045139400785e+00 -8.263941531127587e+00 -8.271847076015916e+00 + -8.279761776165609e+00 -8.287685647119202e+00 -8.295618704371698e+00 -8.303560949785306e+00 -8.311512384182917e+00 + -8.319473017862927e+00 -8.327442863513763e+00 -8.335421933908444e+00 -8.343410239406900e+00 -8.351407780632112e+00 + -8.359414559352070e+00 -8.367430591651793e+00 -8.375455893292965e+00 -8.383490464426892e+00 -8.391534305333888e+00 + -8.399587432420665e+00 -8.407649862295598e+00 -8.415721596247392e+00 -8.423802634359653e+00 -8.431892987215194e+00 + -8.439992667917126e+00 -8.448101689150496e+00 -8.456220061058572e+00 -8.464347784035521e+00 -8.472484859778373e+00 + -8.480631304944675e+00 -8.488787135775029e+00 -8.496952351881781e+00 -8.505126952972617e+00 -8.513310955764712e+00 + -8.521504377280520e+00 -8.529707218754108e+00 -8.537919480083488e+00 -8.546141171610756e+00 -8.554372306334406e+00 + -8.562612897434500e+00 -8.570862955488629e+00 -8.579122480482935e+00 -8.587391473585072e+00 -8.595669951280222e+00 + -8.603957930092136e+00 -8.612255411381385e+00 -8.620562395277888e+00 -8.628878892152137e+00 -8.637204914976417e+00 + -8.645540476889700e+00 -8.653885588365707e+00 -8.662240249050400e+00 -8.670604460002718e+00 -8.678978238761259e+00 + -8.687361602440037e+00 -8.695754549975142e+00 -8.704157080317993e+00 -8.712569210659231e+00 -8.720990958572770e+00 + -8.729422324926496e+00 -8.737863309144757e+00 -8.746313921583734e+00 -8.754774175423437e+00 -8.763244084207386e+00 + -8.771723658743657e+00 -8.780212898534927e+00 -8.788711804325507e+00 -8.797220393131562e+00 -8.805738681960509e+00 + -8.814266671512945e+00 -8.822804361262596e+00 -8.831351762082482e+00 -8.839908887544672e+00 -8.848475750618142e+00 + -8.857052361519681e+00 -8.865638720060298e+00 -8.874234827408518e+00 -8.882840700568694e+00 -8.891456356239988e+00 + -8.900081794065120e+00 -8.908717013654563e+00 -8.917362031546196e+00 -8.926016864607513e+00 -8.934681514097109e+00 + -8.943355979966887e+00 -8.952040272550780e+00 -8.960734404827180e+00 -8.969438389970174e+00 -8.978152238557112e+00 + -8.986875950582608e+00 -8.995609527224275e+00 -9.004352984974421e+00 -9.013106340348738e+00 -9.021869594641789e+00 + -9.030642747850949e+00 -9.039425810005964e+00 -9.048218793898496e+00 -9.057021713335553e+00 -9.065834579375275e+00 + -9.074657391064932e+00 -9.083490148798390e+00 -9.092332870366718e+00 -9.101185573233034e+00 -9.110048256151465e+00 + -9.118920917820537e+00 -9.127803575425368e+00 -9.136696246597257e+00 -9.145598932265708e+00 -9.154511631860180e+00 + -9.163434355511646e+00 -9.172367116215408e+00 -9.181309927722621e+00 -9.190262801063124e+00 -9.199225735625708e+00 + -9.208198731948572e+00 -9.217181806808554e+00 -9.226174977077383e+00 -9.235178243767663e+00 -9.244191606592038e+00 + -9.253215075922315e+00 -9.262248664894432e+00 -9.271292387041701e+00 -9.280346253080740e+00 -9.289410262064051e+00 + -9.298484414471314e+00 -9.307568728155069e+00 -9.316663220573421e+00 -9.325767890233902e+00 -9.334882735648362e+00 + -9.344007774296474e+00 -9.353143024056331e+00 -9.362288485431986e+00 -9.371444157433135e+00 -9.380610050466057e+00 + -9.389786177888119e+00 -9.398972553464475e+00 -9.408169188076664e+00 -9.417376080663951e+00 -9.426593231436920e+00 + -9.435820657633688e+00 -9.445058376575700e+00 -9.454306388890288e+00 -9.463564693828612e+00 -9.472833301831271e+00 + -9.482112226230582e+00 -9.491401480736307e+00 -9.500701076124317e+00 -9.510011011057383e+00 -9.519331285649606e+00 + -9.528661917933491e+00 -9.538002925632075e+00 -9.547354307312132e+00 -9.556716061430350e+00 -9.566088205159264e+00 + -9.575470756067922e+00 -9.584863714595665e+00 -9.594267079809105e+00 -9.603680862413734e+00 -9.613105076017005e+00 + -9.622539734195460e+00 -9.631984847535897e+00 -9.641440414697058e+00 -9.650906435763309e+00 -9.660382928449559e+00 + -9.669869910482992e+00 -9.679367382009378e+00 -9.688875341677877e+00 -9.698393799732578e+00 -9.707922769547205e+00 + -9.717462265419133e+00 -9.727012298576232e+00 -9.736572867044643e+00 -9.746143970285512e+00 -9.755725626701739e+00 + -9.765317854403191e+00 -9.774920651385886e+00 -9.784534015610914e+00 -9.794157965013451e+00 -9.803792517858509e+00 + -9.813437673756464e+00 -9.823093430886084e+00 -9.832759800354408e+00 -9.842436796281985e+00 -9.852124431915341e+00 + -9.861822717446652e+00 -9.871531651724764e+00 -9.881251235098006e+00 -9.890981485255914e+00 -9.900722419735771e+00 + -9.910474038124631e+00 -9.920236338721825e+00 -9.930009332625946e+00 -9.939793033953066e+00 -9.949587456089942e+00 + -9.959392609292857e+00 -9.969208492025555e+00 -9.979035104343238e+00 -9.988872464459540e+00 -9.998720590171930e+00 + -1.000857947945488e+01 -1.001844913033355e+01 -1.002832956085879e+01 -1.003822078906736e+01 -1.004812281291406e+01 + -1.005803562971182e+01 -1.006795925428782e+01 -1.007789370360111e+01 -1.008783898562387e+01 -1.009779510571246e+01 + -1.010776206774677e+01 -1.011773987740720e+01 -1.012772854905251e+01 -1.013772809631413e+01 -1.014773852123577e+01 + -1.015775982444731e+01 -1.016779201251112e+01 -1.017783509576905e+01 -1.018788909374848e+01 -1.019795402262726e+01 + -1.020802987599985e+01 -1.021811664796306e+01 -1.022821435720666e+01 -1.023832302389762e+01 -1.024844264951883e+01 + -1.025857323411911e+01 -1.026871479069502e+01 -1.027886733277511e+01 -1.028903086306819e+01 -1.029920538356622e+01 + -1.030939090421369e+01 -1.031958743714735e+01 -1.032979499532081e+01 -1.034001358910991e+01 -1.035024321776280e+01 + -1.036048388191000e+01 -1.037073559883907e+01 -1.038099838556339e+01 -1.039127224134250e+01 -1.040155716512729e+01 + -1.041185317238784e+01 -1.042216027887615e+01 -1.043247848495290e+01 -1.044280779013644e+01 -1.045314820596725e+01 + -1.046349974688984e+01 -1.047386242694284e+01 -1.048423625623699e+01 -1.049462122957744e+01 -1.050501734396915e+01 + -1.051542462052187e+01 -1.052584308069211e+01 -1.053627272321853e+01 -1.054671354447971e+01 -1.055716555413174e+01 + -1.056762876571201e+01 -1.057810319500591e+01 -1.058858885406686e+01 -1.059908573777257e+01 -1.060959384260205e+01 + -1.062011318861535e+01 -1.063064379594653e+01 -1.064118566144451e+01 -1.065173878128750e+01 -1.066230317225584e+01 + -1.067287885251234e+01 -1.068346582514766e+01 -1.069406409086973e+01 -1.070467365592747e+01 -1.071529452946521e+01 + -1.072592672666786e+01 -1.073657026057826e+01 -1.074722512963040e+01 -1.075789133336255e+01 -1.076856889033910e+01 + -1.077925781838790e+01 -1.078995811336476e+01 -1.080066977044343e+01 -1.081139280404170e+01 -1.082212723175914e+01 + -1.083287306467895e+01 -1.084363031023443e+01 -1.085439896777578e+01 -1.086517903841335e+01 -1.087597053838113e+01 + -1.088677348334085e+01 -1.089758787154147e+01 -1.090841370173705e+01 -1.091925099211483e+01 -1.093009976068779e+01 + -1.094096000533889e+01 -1.095183172286895e+01 -1.096271492588021e+01 -1.097360962990334e+01 -1.098451584638146e+01 + -1.099543358339704e+01 -1.100636283967740e+01 -1.101730361593110e+01 -1.102825593014644e+01 -1.103921979985815e+01 + -1.105019522350652e+01 -1.106118219809120e+01 -1.107218073394329e+01 -1.108319084475604e+01 -1.109421254433972e+01 + -1.110524584310812e+01 -1.111629073777213e+01 -1.112734722664297e+01 -1.113841532813614e+01 -1.114949506055284e+01 + -1.116058642163307e+01 -1.117168940919924e+01 -1.118280404196459e+01 -1.119393033845125e+01 -1.120506829552628e+01 + -1.121621790821428e+01 -1.122737918582522e+01 -1.123855214233318e+01 -1.124973679608346e+01 -1.126093316109601e+01 + -1.127214122971816e+01 -1.128336099568353e+01 -1.129459247994368e+01 -1.130583570391351e+01 -1.131709066364352e+01 + -1.132835735316995e+01 -1.133963578383626e+01 -1.135092597165251e+01 -1.136222793398803e+01 -1.137354168289046e+01 + -1.138486720776133e+01 -1.139620450077960e+01 -1.140755358788016e+01 -1.141891449467379e+01 -1.143028721171902e+01 + -1.144167172931863e+01 -1.145306807180483e+01 -1.146447626363145e+01 -1.147589629570943e+01 -1.148732815744427e+01 + -1.149877186576219e+01 -1.151022744176966e+01 -1.152169489577362e+01 -1.153317423307527e+01 -1.154466544975234e+01 + -1.155616854500299e+01 -1.156768353973055e+01 -1.157921045411968e+01 -1.159074928377541e+01 -1.160230002278200e+01 + -1.161386268372032e+01 -1.162543728297182e+01 -1.163702383362365e+01 -1.164862234413445e+01 -1.166023280774309e+01 + -1.167185522083641e+01 -1.168348960761297e+01 -1.169513599109641e+01 -1.170679436179895e+01 -1.171846471050954e+01 + -1.173014706163534e+01 -1.174184143967664e+01 -1.175354783588804e+01 -1.176526623959987e+01 -1.177699666569085e+01 + -1.178873913359907e+01 -1.180049365545172e+01 -1.181226023874721e+01 -1.182403887977966e+01 -1.183582957710202e+01 + -1.184763234950681e+01 -1.185944721571250e+01 -1.187127417390187e+01 -1.188311322026980e+01 -1.189496436359524e+01 + -1.190682761635663e+01 -1.191870299324639e+01 -1.193059050542573e+01 -1.194249014771712e+01 -1.195440191732676e+01 + -1.196632583733436e+01 -1.197826192918009e+01 -1.199021018187259e+01 -1.200217058481946e+01 -1.201414316145583e+01 + -1.202612793653577e+01 -1.203812490606177e+01 -1.205013406283600e+01 -1.206215541561094e+01 -1.207418897775090e+01 + -1.208623476511758e+01 -1.209829279023755e+01 -1.211036304979982e+01 -1.212244554104682e+01 -1.213454027927224e+01 + -1.214664728029985e+01 -1.215876654402256e+01 -1.217089806888390e+01 -1.218304186346073e+01 -1.219519793969503e+01 + -1.220736631285608e+01 -1.221954699446002e+01 -1.223173997768314e+01 -1.224394525782826e+01 -1.225616285704409e+01 + -1.226839279716718e+01 -1.228063507193962e+01 -1.229288967419984e+01 -1.230515662126608e+01 -1.231743593190913e+01 + -1.232972760623024e+01 -1.234203164189830e+01 -1.235434804552219e+01 -1.236667682754052e+01 -1.237901800477097e+01 + -1.239137159078778e+01 -1.240373757981251e+01 -1.241611596680448e+01 -1.242850676902663e+01 -1.244091000477032e+01 + -1.245332567413717e+01 -1.246575377485128e+01 -1.247819431331654e+01 -1.249064729993889e+01 -1.250311275245252e+01 + -1.251559068470151e+01 -1.252808108764087e+01 -1.254058395403090e+01 -1.255309930674196e+01 -1.256562716858205e+01 + -1.257816753199971e+01 -1.259072038911156e+01 -1.260328576106586e+01 -1.261586366917709e+01 -1.262845410639316e+01 + -1.264105706405277e+01 -1.265367255542431e+01 -1.266630059802175e+01 -1.267894120441173e+01 -1.269159438291520e+01 + -1.270426012981745e+01 -1.271693844300063e+01 -1.272962933876972e+01 -1.274233283335257e+01 -1.275504892424538e+01 + -1.276777760888006e+01 -1.278051890316245e+01 -1.279327282335948e+01 -1.280603936870822e+01 -1.281881853703964e+01 + -1.283161033759003e+01 -1.284441478278821e+01 -1.285723188642777e+01 -1.287006165845383e+01 -1.288290409205257e+01 + -1.289575918258311e+01 -1.290862695085492e+01 -1.292150741744502e+01 -1.293440057655018e+01 -1.294730642109768e+01 + -1.296022496531707e+01 -1.297315622664438e+01 -1.298610021403966e+01 -1.299905693252094e+01 -1.301202637981436e+01 + -1.302500855607946e+01 -1.303800347850134e+01 -1.305101116311717e+01 -1.306403160434687e+01 -1.307706479749205e+01 + -1.309011076299821e+01 -1.310316952145874e+01 -1.311624106891474e+01 -1.312932539865738e+01 -1.314242251753035e+01 + -1.315553243732881e+01 -1.316865517610136e+01 -1.318179074759510e+01 -1.319493914209791e+01 -1.320810035188408e+01 + -1.322127440063306e+01 -1.323446131182036e+01 -1.324766107670098e+01 -1.326087368408213e+01 -1.327409914520021e+01 + -1.328733747660298e+01 -1.330058869365459e+01 -1.331385280702646e+01 -1.332712980980294e+01 -1.334041969690924e+01 + -1.335372248822127e+01 -1.336703820316815e+01 -1.338036683444133e+01 -1.339370837465144e+01 -1.340706284282357e+01 + -1.342043025877972e+01 -1.343381061911550e+01 -1.344720391854233e+01 -1.346061016746156e+01 -1.347402937953320e+01 + -1.348746156576247e+01 -1.350090673400032e+01 -1.351436488213541e+01 -1.352783600940468e+01 -1.354132013040003e+01 + -1.355481725974633e+01 -1.356832739684519e+01 -1.358185053959114e+01 -1.359538669507347e+01 -1.360893587411229e+01 + -1.362249809325635e+01 -1.363607336498644e+01 -1.364966167978290e+01 -1.366326303005515e+01 -1.367687743792930e+01 + -1.369050492543861e+01 -1.370414548452841e+01 -1.371779910680898e+01 -1.373146581263829e+01 -1.374514562258463e+01 + -1.375883852931014e+01 -1.377254452369323e+01 -1.378626361738342e+01 -1.379999582664259e+01 -1.381374116541099e+01 + -1.382749964295472e+01 -1.384127125216480e+01 -1.385505598801133e+01 -1.386885387015567e+01 -1.388266491822051e+01 + -1.389648912698253e+01 -1.391032648926665e+01 -1.392417701493663e+01 -1.393804071810552e+01 -1.395191761284479e+01 + -1.396580770902492e+01 -1.397971099975399e+01 -1.399362747983656e+01 -1.400755716762526e+01 -1.402150008127576e+01 + -1.403545621460787e+01 -1.404942556175519e+01 -1.406340814244217e+01 -1.407740397661280e+01 -1.409141305949836e+01 + -1.410543538386059e+01 -1.411947095729565e+01 -1.413351979216372e+01 -1.414758190504674e+01 -1.416165730817942e+01 + -1.417574599218579e+01 -1.418984794931155e+01 -1.420396319989974e+01 -1.421809176459019e+01 -1.423223363711269e+01 + -1.424638880961032e+01 -1.426055729478944e+01 -1.427473910897708e+01 -1.428893426241975e+01 -1.430314276106135e+01 + -1.431736459971596e+01 -1.433159977568000e+01 -1.434584830730895e+01 -1.436011021230267e+01 -1.437438548467938e+01 + -1.438867411856965e+01 -1.440297613223502e+01 -1.441729154417122e+01 -1.443162034967981e+01 -1.444596254173529e+01 + -1.446031812719803e+01 -1.447468711827448e+01 -1.448906953466952e+01 -1.450346539077074e+01 -1.451787467219810e+01 + -1.453229736674074e+01 -1.454673349963205e+01 -1.456118309651608e+01 -1.457564614723534e+01 -1.459012263904241e+01 + -1.460461258463169e+01 -1.461911600163362e+01 -1.463363290198108e+01 -1.464816329304780e+01 -1.466270716966852e+01 + -1.467726452861927e+01 -1.469183538698022e+01 -1.470641976118071e+01 -1.472101764474266e+01 -1.473562903182180e+01 + -1.475025394201659e+01 -1.476489239431922e+01 -1.477954437985420e+01 -1.479420988900897e+01 -1.480888893709030e+01 + -1.482358154289730e+01 -1.483828771427918e+01 -1.485300745484606e+01 -1.486774076220148e+01 -1.488248763590571e+01 + -1.489724808935241e+01 -1.491202213620220e+01 -1.492680977735018e+01 -1.494161101188853e+01 -1.495642584446314e+01 + -1.497125428281713e+01 -1.498609634152866e+01 -1.500095203243959e+01 -1.501582134961145e+01 -1.503070428834008e+01 + -1.504560086663885e+01 -1.506051110171047e+01 -1.507543498479744e+01 -1.509037250787217e+01 -1.510532369178669e+01 + -1.512028855781273e+01 -1.513526710002122e+01 -1.515025931004586e+01 -1.516526519697226e+01 -1.518028477406786e+01 + -1.519531805387558e+01 -1.521036504514735e+01 -1.522542574219565e+01 -1.524050014105165e+01 -1.525558825906066e+01 + -1.527069011317451e+01 -1.528580569745696e+01 -1.530093500454836e+01 -1.531607804428359e+01 -1.533123483115148e+01 + -1.534640538106230e+01 -1.536158970459035e+01 -1.537678778954449e+01 -1.539199962605270e+01 -1.540722523628471e+01 + -1.542246464244602e+01 -1.543771783484346e+01 -1.545298480379291e+01 -1.546826557154514e+01 -1.548356016030771e+01 + -1.549886856018057e+01 -1.551419075889859e+01 -1.552952676684366e+01 -1.554487659991805e+01 -1.556024027345857e+01 + -1.557561779759322e+01 -1.559100916218038e+01 -1.560641435912106e+01 -1.562183340875659e+01 -1.563726633124305e+01 + -1.565271311755539e+01 -1.566817375858786e+01 -1.568364827409284e+01 -1.569913668435983e+01 -1.571463898296877e+01 + -1.573015516140282e+01 -1.574568522946743e+01 -1.576122920078429e+01 -1.577678708591764e+01 -1.579235889192325e+01 + -1.580794461488044e+01 -1.582354425266206e+01 -1.583915782129173e+01 -1.585478533595468e+01 -1.587042679033195e+01 + -1.588608217713541e+01 -1.590175150670428e+01 -1.591743479377280e+01 -1.593313205302798e+01 -1.594884329356461e+01 + -1.596456850215542e+01 -1.598030766876410e+01 -1.599606081844003e+01 -1.601182797567503e+01 -1.602760912764517e+01 + -1.604340426053651e+01 -1.605921339389068e+01 -1.607503654929621e+01 -1.609087372317365e+01 -1.610672490846679e+01 + -1.612259010938000e+01 -1.613846933535691e+01 -1.615436260553746e+01 -1.617026993400350e+01 -1.618619130490810e+01 + -1.620212670496088e+01 -1.621807616102629e+01 -1.623403970021593e+01 -1.625001731047507e+01 -1.626600897617460e+01 + -1.628201470655392e+01 -1.629803451699528e+01 -1.631406842258372e+01 -1.633011643368945e+01 -1.634617854212047e+01 + -1.636225474110459e+01 -1.637834504811086e+01 -1.639444948009596e+01 -1.641056802772599e+01 -1.642670068226715e+01 + -1.644284746367691e+01 -1.645900839255391e+01 -1.647518346337059e+01 -1.649137266740475e+01 -1.650757600928198e+01 + -1.652379349905581e+01 -1.654002515514406e+01 -1.655627099138395e+01 -1.657253099492616e+01 -1.658880515436409e+01 + -1.660509349074862e+01 -1.662139602569388e+01 -1.663771275060954e+01 -1.665404365442992e+01 -1.667038874639235e+01 + -1.668674804082613e+01 -1.670312155212567e+01 -1.671950928959044e+01 -1.673591124207530e+01 -1.675232740091000e+01 + -1.676875778776886e+01 -1.678520242381186e+01 -1.680166129779755e+01 -1.681813439803682e+01 -1.683462174345131e+01 + -1.685112335404732e+01 -1.686763922355921e+01 -1.688416934305047e+01 -1.690071371917313e+01 -1.691727236387981e+01 + -1.693384529473730e+01 -1.695043252373442e+01 -1.696703403493436e+01 -1.698364981519248e+01 -1.700027989045860e+01 + -1.701692428668450e+01 -1.703358299073511e+01 -1.705025598664567e+01 -1.706694328621936e+01 -1.708364490699094e+01 + -1.710036086165371e+01 -1.711709115711999e+01 -1.713383578201967e+01 -1.715059472804424e+01 -1.716736801741393e+01 + -1.718415567151382e+01 -1.720095767785962e+01 -1.721777402421613e+01 -1.723460473321376e+01 -1.725144982735173e+01 + -1.726830929373925e+01 -1.728518311723097e+01 -1.730207130905323e+01 -1.731897388644410e+01 -1.733589086431708e+01 + -1.735282225151622e+01 -1.736976803493245e+01 -1.738672820398455e+01 -1.740370278015603e+01 -1.742069178532102e+01 + -1.743769521085149e+01 -1.745471304524893e+01 -1.747174529603476e+01 -1.748879197614670e+01 -1.750585310116775e+01 + -1.752292868122209e+01 -1.754001870195336e+01 -1.755712315207324e+01 -1.757424205704595e+01 -1.759137544124289e+01 + -1.760852328791187e+01 -1.762568558032359e+01 -1.764286234296404e+01 -1.766005360135051e+01 -1.767725934391039e+01 + -1.769447955614261e+01 -1.771171424892207e+01 -1.772896343807829e+01 -1.774622713388326e+01 -1.776350534196338e+01 + -1.778079805492016e+01 -1.779810526797336e+01 -1.781542699984077e+01 -1.783276326793605e+01 -1.785011406095838e+01 + -1.786747936642481e+01 -1.788485919583838e+01 -1.790225356596892e+01 -1.791966249066770e+01 -1.793708597750879e+01 + -1.795452401187612e+01 -1.797197658287230e+01 -1.798944371666477e+01 -1.800692543788475e+01 -1.802442172795408e+01 + -1.804193256819016e+01 -1.805945798270200e+01 -1.807699799758296e+01 -1.809455260407236e+01 -1.811212178929598e+01 + -1.812970555877947e+01 -1.814730392419934e+01 -1.816491690343573e+01 -1.818254450889657e+01 -1.820018672489731e+01 + -1.821784353770839e+01 -1.823551496951270e+01 -1.825320104351004e+01 -1.827090175105552e+01 -1.828861707995103e+01 + -1.830634703563002e+01 -1.832409162961503e+01 -1.834185088015348e+01 -1.835962479982180e+01 -1.837741337178776e+01 + -1.839521658191638e+01 -1.841303445627024e+01 -1.843086702044687e+01 -1.844871425798603e+01 -1.846657615155986e+01 + -1.848445272242748e+01 -1.850234399331442e+01 -1.852024995422484e+01 -1.853817059263430e+01 -1.855610591862525e+01 + -1.857405594751762e+01 -1.859202069297440e+01 -1.861000016303027e+01 -1.862799434486363e+01 -1.864600322762024e+01 + -1.866402682917165e+01 -1.868206516860479e+01 -1.870011824114266e+01 -1.871818603889838e+01 -1.873626856540951e+01 + -1.875436582948875e+01 -1.877247784962497e+01 -1.879060463922456e+01 -1.880874618168810e+01 -1.882690246254704e+01 + -1.884507350586227e+01 -1.886325933574866e+01 -1.888145993800745e+01 -1.889967529731236e+01 -1.891790543214035e+01 + -1.893615036295555e+01 -1.895441008436764e+01 -1.897268458788422e+01 -1.899097387845919e+01 -1.900927796546465e+01 + -1.902759686249918e+01 -1.904593057916082e+01 -1.906427910481893e+01 -1.908264243109121e+01 -1.910102057881749e+01 + -1.911941356739387e+01 -1.913782138121961e+01 -1.915624400568942e+01 -1.917468146517671e+01 -1.919313378404767e+01 + -1.921160094766128e+01 -1.923008293912871e+01 -1.924857977157690e+01 -1.926709146357444e+01 -1.928561802544077e+01 + -1.930415946120927e+01 -1.932271575801813e+01 -1.934128690695999e+01 -1.935987293184044e+01 -1.937847385553680e+01 + -1.939708966450047e+01 -1.941572034241033e+01 -1.943436589828115e+01 -1.945302634705033e+01 -1.947170170200994e+01 + -1.949039197138318e+01 -1.950909714476303e+01 -1.952781721398065e+01 -1.954655219845012e+01 -1.956530211609402e+01 + -1.958406695128608e+01 -1.960284668959667e+01 -1.962164135493148e+01 -1.964045097168231e+01 -1.965927552785040e+01 + -1.967811500826448e+01 -1.969696942145404e+01 -1.971583878200212e+01 -1.973472310500559e+01 -1.975362239928199e+01 + -1.977253664801789e+01 -1.979146583743514e+01 -1.981040999152762e+01 -1.982936913462439e+01 -1.984834325462312e+01 + -1.986733233626431e+01 -1.988633638809098e+01 -1.990535542475069e+01 -1.992438946150660e+01 -1.994343850724086e+01 + -1.996250254469571e+01 -1.998158155988759e+01 -2.000067557806942e+01 -2.001978462401460e+01 -2.003890868134189e+01 + -2.005804773353269e+01 -2.007720180467363e+01 -2.009637091866160e+01 -2.011555505802958e+01 -2.013475420367532e+01 + -2.015396837131929e+01 -2.017319758216888e+01 -2.019244184455664e+01 -2.021170116029698e+01 -2.023097551800653e+01 + -2.025026491057744e+01 -2.026956936120177e+01 -2.028888889127859e+01 -2.030822348473533e+01 -2.032757312336421e+01 + -2.034693781788847e+01 -2.036631758558183e+01 -2.038571244098909e+01 -2.040512239225047e+01 -2.042454742461679e+01 + -2.044398752597867e+01 -2.046344271767523e+01 -2.048291302072143e+01 -2.050239842138679e+01 -2.052189890581644e+01 + -2.054141449440303e+01 -2.056094520839277e+01 -2.058049103819856e+01 -2.060005197091200e+01 -2.061962801117254e+01 + -2.063921916971323e+01 -2.065882546409381e+01 -2.067844690614864e+01 -2.069808347798381e+01 -2.071773516441981e+01 + -2.073740199086278e+01 -2.075708398272239e+01 -2.077678112483692e+01 -2.079649339928443e+01 -2.081622081767353e+01 + -2.083596339752241e+01 -2.085572115045732e+01 -2.087549408142252e+01 -2.089528217452614e+01 -2.091508541798258e+01 + -2.093490383726751e+01 -2.095473745703866e+01 -2.097458626142068e+01 -2.099445023367205e+01 -2.101432939411960e+01 + -2.103422376365449e+01 -2.105413332835716e+01 -2.107405807288499e+01 -2.109399801101360e+01 -2.111395316146354e+01 + -2.113392353361706e+01 -2.115390913036233e+01 -2.117390993794961e+01 -2.119392594678185e+01 -2.121395718051052e+01 + -2.123400366165125e+01 -2.125406537492771e+01 -2.127414230292253e+01 -2.129423445744600e+01 -2.131434185603574e+01 + -2.133446450991120e+01 -2.135460242400538e+01 -2.137475558442359e+01 -2.139492398094176e+01 -2.141510763684612e+01 + -2.143530657354728e+01 -2.145552077144329e+01 -2.147575021223202e+01 -2.149599492382317e+01 -2.151625493458459e+01 + -2.153653022850520e+01 -2.155682078515937e+01 -2.157712661084235e+01 -2.159744772002078e+01 -2.161778413312624e+01 + -2.163813586321833e+01 -2.165850288790379e+01 -2.167888518769065e+01 -2.169928279014487e+01 -2.171969572392566e+01 + -2.174012397500749e+01 -2.176056752455845e+01 -2.178102637720577e+01 -2.180150054539059e+01 -2.182199004935065e+01 + -2.184249490264348e+01 -2.186301508430896e+01 -2.188355057625899e+01 -2.190410140641098e+01 -2.192466760199104e+01 + -2.194524914145450e+01 -2.196584600311797e+01 -2.198645821351363e+01 -2.200708580045210e+01 -2.202772874864248e+01 + -2.204838703903658e+01 -2.206906068065864e+01 -2.208974968965916e+01 -2.211045408262128e+01 -2.213117386881762e+01 + -2.215190902784613e+01 -2.217265954271720e+01 -2.219342543976576e+01 -2.221420674565993e+01 -2.223500344507609e+01 + -2.225581551916326e+01 -2.227664297695268e+01 -2.229748583458740e+01 -2.231834410877561e+01 -2.233921780886325e+01 + -2.236010691418214e+01 -2.238101140757746e+01 -2.240193131596196e+01 -2.242286666626994e+01 -2.244381744145418e+01 + -2.246478362333585e+01 -2.248576523319086e+01 -2.250676229308250e+01 -2.252777478876882e+01 -2.254880270395783e+01 + -2.256984605046237e+01 -2.259090484578745e+01 -2.261197910210208e+01 -2.263306882483333e+01 -2.265417399777652e+01 + -2.267529460825966e+01 -2.269643067937303e+01 -2.271758223358744e+01 -2.273874925513337e+01 -2.275993172840441e+01 + -2.278112967668665e+01 -2.280234312326570e+01 -2.282357205253301e+01 -2.284481644618636e+01 -2.286607631404299e+01 + -2.288735167241803e+01 -2.290864253549898e+01 -2.292994891082159e+01 -2.295127078144212e+01 -2.297260813386354e+01 + -2.299396099285480e+01 -2.301532938287575e+01 -2.303671328888409e+01 -2.305811269234469e+01 -2.307952760025338e+01 + -2.310095802706863e+01 -2.312240399156859e+01 -2.314386550544134e+01 -2.316534254769484e+01 -2.318683510020089e+01 + -2.320834318896662e+01 -2.322986684000025e+01 -2.325140603517923e+01 -2.327296075598023e+01 -2.329453102640753e+01 + -2.331611687084991e+01 -2.333771827270656e+01 -2.335933521295700e+01 -2.338096770389138e+01 -2.340261576396985e+01 + -2.342427940502197e+01 -2.344595863230511e+01 -2.346765343141823e+01 -2.348936379112492e+01 -2.351108973250527e+01 + -2.353283127622654e+01 -2.355458840898814e+01 -2.357636111469370e+01 -2.359814940003157e+01 -2.361995327887107e+01 + -2.364177277102066e+01 -2.366360788867084e+01 -2.368545860760097e+01 -2.370732490730504e+01 -2.372920681854641e+01 + -2.375110437181196e+01 -2.377301754521346e+01 -2.379494631547129e+01 -2.381689070611525e+01 -2.383885074279985e+01 + -2.386082641286912e+01 -2.388281770027697e+01 -2.390482461372720e+01 -2.392684716763744e+01 -2.394888537453080e+01 + -2.397093924094647e+01 -2.399300875138237e+01 -2.401509389381072e+01 -2.403719469214220e+01 -2.405931116939521e+01 + -2.408144330908079e+01 -2.410359109227195e+01 -2.412575452979684e+01 -2.414793363861520e+01 -2.417012843045825e+01 + -2.419233891107258e+01 -2.421456506749473e+01 -2.423680688969797e+01 -2.425906439811232e+01 -2.428133761196757e+01 + -2.430362651523593e+01 -2.432593109247103e+01 -2.434825136580965e+01 -2.437058735754595e+01 -2.439293905302052e+01 + -2.441530643508021e+01 -2.443768951355032e+01 -2.446008830475372e+01 -2.448250282402539e+01 -2.450493307947941e+01 + -2.452737905133441e+01 -2.454984072340254e+01 -2.457231812176549e+01 -2.459481127247106e+01 -2.461732015916192e+01 + -2.463984476198997e+01 -2.466238508954903e+01 -2.468494115731883e+01 -2.470751297988127e+01 -2.473010056541401e+01 + -2.475270389737600e+01 -2.477532296279144e+01 -2.479795778766421e+01 -2.482060839605179e+01 -2.484327476524651e+01 + -2.486595687297807e+01 -2.488865474549064e+01 -2.491136841050829e+01 -2.493409785316058e+01 -2.495684305468689e+01 + -2.497960402336061e+01 -2.500238077436705e+01 -2.502517332350563e+01 -2.504798167938967e+01 -2.507080582127416e+01 + -2.509364573240812e+01 -2.511650144137505e+01 -2.513937297643642e+01 -2.516226031923135e+01 -2.518516344740990e+01 + -2.520808236928804e+01 -2.523101710100030e+01 -2.525396765928963e+01 -2.527693405405919e+01 -2.529991626724470e+01 + -2.532291428361040e+01 -2.534592812720204e+01 -2.536895782110043e+01 -2.539200334524508e+01 -2.541506468057373e+01 + -2.543814185515816e+01 -2.546123489657537e+01 -2.548434378328921e+01 -2.550746849096137e+01 -2.553060903315797e+01 + -2.555376543163097e+01 -2.557693770297151e+01 -2.560012585444837e+01 -2.562332986120158e+01 -2.564654970308929e+01 + -2.566978541097076e+01 -2.569303701597250e+01 -2.571630449928904e+01 -2.573958783754457e+01 -2.576288703901380e+01 + -2.578620212017663e+01 -2.580953309868325e+01 -2.583287998467666e+01 -2.585624275710073e+01 -2.587962139846310e+01 + -2.590301593672573e+01 -2.592642639921134e+01 -2.594985276523152e+01 -2.597329501305775e+01 -2.599675316481207e+01 + -2.602022724494944e+01 -2.604371724340627e+01 -2.606722314554395e+01 -2.609074495294231e+01 -2.611428267453130e+01 + -2.613783633242288e+01 -2.616140594232113e+01 -2.618499148111656e+01 -2.620859292804694e+01 -2.623221031055255e+01 + -2.625584365675950e+01 -2.627949294933480e+01 -2.630315816707157e+01 -2.632683931872623e+01 -2.635053642045652e+01 + -2.637424948806206e+01 -2.639797853015353e+01 -2.642172352694394e+01 -2.644548446269175e+01 -2.646926136623515e+01 + -2.649305426487780e+01 -2.651686313520573e+01 -2.654068795336410e+01 -2.656452874445229e+01 -2.658838553565089e+01 + -2.661225831351167e+01 -2.663614706041860e+01 -2.666005178271351e+01 -2.668397249386109e+01 -2.670790921185966e+01 + -2.673186194785124e+01 -2.675583068101895e+01 -2.677981539336416e+01 -2.680381611012034e+01 -2.682783285712106e+01 + -2.685186561936856e+01 -2.687591437786270e+01 -2.689997913842517e+01 -2.692405991477839e+01 -2.694815672742597e+01 + -2.697226958936361e+01 -2.699639847677425e+01 -2.702054336911223e+01 -2.704470429573021e+01 -2.706888128546201e+01 + -2.709307431516761e+01 -2.711728336172764e+01 -2.714150845407871e+01 -2.716574962162754e+01 -2.719000684360529e+01 + -2.721428009605862e+01 -2.723856939247152e+01 -2.726287475352885e+01 -2.728719619128178e+01 -2.731153370993099e+01 + -2.733588729090867e+01 -2.736025692081293e+01 -2.738464262967399e+01 -2.740904444482641e+01 -2.743346233939021e+01 + -2.745789628706843e+01 -2.748234631811058e+01 -2.750681246441337e+01 -2.753129470791622e+01 -2.755579302585287e+01 + -2.758030742659158e+01 -2.760483792680023e+01 -2.762938454521084e+01 -2.765394729250735e+01 -2.767852614511706e+01 + -2.770312108289846e+01 -2.772773213369129e+01 -2.775235932608502e+01 -2.777700264368704e+01 -2.780166206614083e+01 + -2.782633760221619e+01 -2.785102926812099e+01 -2.787573708068912e+01 -2.790046104903706e+01 -2.792520115078565e+01 + -2.794995736764946e+01 -2.797472972921345e+01 -2.799951826412358e+01 -2.802432294939970e+01 -2.804914376169005e+01 + -2.807398072778233e+01 -2.809883387567351e+01 -2.812370318805837e+01 -2.814858864438241e+01 -2.817349025639583e+01 + -2.819840804241009e+01 -2.822334201467696e+01 -2.824829217820057e+01 -2.827325851505399e+01 -2.829824101147483e+01 + -2.832323969328987e+01 -2.834825458594292e+01 -2.837328567375688e+01 -2.839833293713809e+01 -2.842339638194745e+01 + -2.844847602232610e+01 -2.847357188008160e+01 -2.849868396869187e+01 -2.852381226064981e+01 -2.854895673259501e+01 + -2.857411741873861e+01 -2.859929435285462e+01 -2.862448750939692e+01 -2.864969686163745e+01 -2.867492243744038e+01 + -2.870016426611871e+01 -2.872542232818885e+01 -2.875069660076976e+01 -2.877598709618692e+01 -2.880129383482867e+01 + -2.882661683412842e+01 -2.885195610246809e+01 -2.887731161497835e+01 -2.890268335136361e+01 -2.892807134287440e+01 + -2.895347562064698e+01 -2.897889616381469e+01 -2.900433294736006e+01 -2.902978598166526e+01 -2.905525528595928e+01 + -2.908074087945912e+01 -2.910624277257485e+01 -2.913176094050105e+01 -2.915729536236611e+01 -2.918284606824940e+01 + -2.920841308797334e+01 -2.923399639938179e+01 -2.925959597987842e+01 -2.928521185708459e+01 -2.931084405942344e+01 + -2.933649256830759e+01 -2.936215736109871e+01 -2.938783844596477e+01 -2.941353583979598e+01 -2.943924956356517e+01 + -2.946497963001566e+01 -2.949072601489006e+01 -2.951648869675137e+01 -2.954226770244480e+01 -2.956806305999476e+01 + -2.959387475386040e+01 -2.961970276467950e+01 -2.964554710136948e+01 -2.967140778023144e+01 -2.969728481882160e+01 + -2.972317822671904e+01 -2.974908798033929e+01 -2.977501406036931e+01 -2.980095649774566e+01 -2.982691532231985e+01 + -2.985289050935425e+01 -2.987888203414534e+01 -2.990488992671488e+01 -2.993091421806754e+01 -2.995695488841446e+01 + -2.998301191396682e+01 -3.000908530572931e+01 -3.003517508294127e+01 -3.006128126298706e+01 -3.008740385472813e+01 + -3.011354283478899e+01 -3.013969818396866e+01 -3.016586993200092e+01 -3.019205810852835e+01 -3.021826269389396e+01 + -3.024448366459688e+01 -3.027072103106001e+01 -3.029697481234801e+01 -3.032324502816885e+01 -3.034953168930138e+01 + -3.037583477016444e+01 -3.040215424919064e+01 -3.042849015722735e+01 -3.045484252487287e+01 -3.048121132931426e+01 + -3.050759654718701e+01 -3.053399820633122e+01 -3.056041633582694e+01 -3.058685091850949e+01 -3.061330193277164e+01 + -3.063976938548045e+01 -3.066625329189824e+01 -3.069275367239408e+01 -3.071927054017274e+01 -3.074580387467516e+01 + -3.077235365736276e+01 -3.079891991154272e+01 -3.082550266154129e+01 -3.085210189391538e+01 -3.087871759159065e+01 + -3.090534976073683e+01 -3.093199841535169e+01 -3.095866357750086e+01 -3.098534526117247e+01 -3.101204343997652e+01 + -3.103875809113482e+01 -3.106548924669440e+01 -3.109223693806243e+01 -3.111900113926174e+01 -3.114578182447812e+01 + -3.117257902593346e+01 -3.119939277712214e+01 -3.122622305859262e+01 -3.125306984560579e+01 -3.127993314521812e+01 + -3.130681297362548e+01 -3.133370935178603e+01 -3.136062229292185e+01 -3.138755177454848e+01 -3.141449777743489e+01 + -3.144146033107010e+01 -3.146843946420585e+01 -3.149543515392452e+01 -3.152244737446985e+01 -3.154947614039987e+01 + -3.157652147508332e+01 -3.160358339681746e+01 -3.163066191390917e+01 -3.165775699977537e+01 -3.168486863280270e+01 + -3.171199684614663e+01 -3.173914167265754e+01 -3.176630308919665e+01 -3.179348107134120e+01 -3.182067564552154e+01 + -3.184788683989369e+01 -3.187511463866380e+01 -3.190235902163426e+01 -3.192961999494226e+01 -3.195689757352222e+01 + -3.198419178116283e+01 -3.201150263346307e+01 -3.203883010440887e+01 -3.206617417058478e+01 -3.209353486058297e+01 + -3.212091220418486e+01 -3.214830618392138e+01 -3.217571677868305e+01 -3.220314400004898e+01 -3.223058786708538e+01 + -3.225804839611857e+01 -3.228552559489243e+01 -3.231301943956095e+01 -3.234052991162765e+01 -3.236805704558397e+01 + -3.239560087404328e+01 -3.242316136911894e+01 -3.245073850255218e+01 -3.247833230509534e+01 -3.250594280965240e+01 + -3.253356999872297e+01 -3.256121385028732e+01 -3.258887437465276e+01 -3.261655158960600e+01 -3.264424551052439e+01 + -3.267195614529539e+01 -3.269968347425627e+01 -3.272742748229857e+01 -3.275518820008119e+01 -3.278296565603427e+01 + -3.281075982390590e+01 -3.283857067801981e+01 -3.286639824968410e+01 -3.289424257141810e+01 -3.292210362360176e+01 + -3.294998138240963e+01 -3.297787585933321e+01 -3.300578707421773e+01 -3.303371504500630e+01 -3.306165978102434e+01 + -3.308962125902853e+01 -3.311759946003357e+01 -3.314559441465483e+01 -3.317360615365304e+01 -3.320163465877013e+01 + -3.322967990687330e+01 -3.325774190434956e+01 -3.328582066713852e+01 -3.331391621987054e+01 -3.334202857831301e+01 + -3.337015771409062e+01 -3.339830360273710e+01 -3.342646627956469e+01 -3.345464577921614e+01 -3.348284207387808e+01 + -3.351105513572078e+01 -3.353928499930519e+01 -3.356753169996216e+01 -3.359579521371194e+01 -3.362407551222610e+01 + -3.365237260909204e+01 -3.368068652715969e+01 -3.370901728441355e+01 -3.373736488954338e+01 -3.376572931892538e+01 + -3.379411055342771e+01 -3.382250862419983e+01 -3.385092356238306e+01 -3.387935534880526e+01 -3.390780395979943e+01 + -3.393626940403256e+01 -3.396475169950308e+01 -3.399325086920118e+01 -3.402176692682492e+01 -3.405029984391190e+01 + -3.407884959628061e+01 -3.410741621903333e+01 -3.413599974690003e+01 -3.416460015383780e+01 -3.419321741347679e+01 + -3.422185155891206e+01 -3.425050262370409e+01 -3.427917058381036e+01 -3.430785541111823e+01 -3.433655711883738e+01 + -3.436527572977491e+01 -3.439401126380553e+01 -3.442276373145798e+01 -3.445153310880944e+01 -3.448031937598221e+01 + -3.450912256373026e+01 -3.453794270224409e+01 -3.456677976882821e+01 -3.459563373771100e+01 -3.462450462370172e+01 + -3.465339245071625e+01 -3.468229723851619e+01 -3.471121899611902e+01 -3.474015769371995e+01 -3.476911330776019e+01 + -3.479808587848705e+01 -3.482707544447295e+01 -3.485608197378501e+01 -3.488510543365825e+01 -3.491414585850467e+01 + -3.494320328527482e+01 -3.497227769389696e+01 -3.500136905869145e+01 -3.503047738856913e+01 -3.505960270226024e+01 + -3.508874502318216e+01 -3.511790436512474e+01 -3.514708069868058e+01 -3.517627399907308e+01 -3.520548430324607e+01 + -3.523471164812467e+01 -3.526395600883895e+01 -3.529321735592740e+01 -3.532249570335686e+01 -3.535179107461137e+01 + -3.538110348781549e+01 -3.541043295179184e+01 -3.543977944351469e+01 -3.546914294470585e+01 -3.549852348792567e+01 + -3.552792110371767e+01 -3.555733576371960e+01 -3.558676744035331e+01 -3.561621616808287e+01 -3.564568198278825e+01 + -3.567516486397158e+01 -3.570466478590109e+01 -3.573418175828719e+01 -3.576371580017962e+01 -3.579326693254331e+01 + -3.582283516733191e+01 -3.585242047853867e+01 -3.588202284498269e+01 -3.591164230274704e+01 -3.594127888660625e+01 + -3.597093256883734e+01 -3.600060331833949e+01 -3.603029115299790e+01 -3.605999610029281e+01 -3.608971817709886e+01 + -3.611945738978410e+01 -3.614921371329605e+01 -3.617898712799953e+01 -3.620877766734910e+01 -3.623858536391516e+01 + -3.626841019364145e+01 -3.629825213180558e+01 -3.632811120764664e+01 -3.635798745148868e+01 -3.638788084403422e+01 + -3.641779136227628e+01 -3.644771901799147e+01 -3.647766383142195e+01 -3.650762582188893e+01 -3.653760499949427e+01 + -3.656760133838370e+01 -3.659761481766282e+01 -3.662764547223315e+01 -3.665769333671685e+01 -3.668775838882340e+01 + -3.671784060113342e+01 -3.674793998262476e+01 -3.677805655273779e+01 -3.680819033636626e+01 -3.683834134900049e+01 + -3.686850956306390e+01 -3.689869495454472e+01 -3.692889755675729e+01 -3.695911740229619e+01 -3.698935446355054e+01 + -3.701960871343802e+01 -3.704988018719579e+01 -3.708016892120266e+01 -3.711047489408478e+01 -3.714079807933708e+01 + -3.717113848768184e+01 -3.720149613882988e+01 -3.723187105121882e+01 -3.726226323497034e+01 -3.729267266821555e+01 + -3.732309933333587e+01 -3.735354326170426e+01 -3.738400448395760e+01 -3.741448297879693e+01 -3.744497872108128e+01 + -3.747549172223736e+01 -3.750602200310610e+01 -3.753656958561755e+01 -3.756713448177913e+01 -3.759771666281819e+01 + -3.762831610507856e+01 -3.765893284615005e+01 -3.768956692232328e+01 -3.772021830344675e+01 -3.775088695941269e+01 + -3.778157292673024e+01 -3.781227624306894e+01 -3.784299688412320e+01 -3.787373482086582e+01 -3.790449006735824e+01 + -3.793526264738479e+01 -3.796605258053289e+01 -3.799685987630166e+01 -3.802768450803411e+01 -3.805852645435349e+01 + -3.808938575116029e+01 -3.812026243387959e+01 -3.815115647875793e+01 -3.818206785737669e+01 -3.821299658183555e+01 + -3.824394267407146e+01 -3.827490615485264e+01 -3.830588703573063e+01 -3.833688529255877e+01 -3.836790090523419e+01 + -3.839893390552727e+01 -3.842998432385276e+01 -3.846105213333004e+01 -3.849213730842061e+01 -3.852323988624988e+01 + -3.855435990371658e+01 -3.858549733414936e+01 -3.861665214665468e+01 -3.864782435702053e+01 -3.867901399128823e+01 + -3.871022106983104e+01 -3.874144560188923e+01 -3.877268755783931e+01 -3.880394691415978e+01 -3.883522371060106e+01 + -3.886651798555487e+01 -3.889782970870629e+01 -3.892915884903668e+01 -3.896050544141922e+01 -3.899186952243698e+01 + -3.902325106962145e+01 -3.905465005558139e+01 -3.908606649228560e+01 -3.911750040150871e+01 -3.914895180488885e+01 + -3.918042071436301e+01 -3.921190710320024e+01 -3.924341094905042e+01 -3.927493228575462e+01 -3.930647114756201e+01 + -3.933802751416320e+01 -3.936960136044893e+01 -3.940119269666864e+01 -3.943280154239230e+01 -3.946442791911308e+01 + -3.949607183932866e+01 -3.952773327763106e+01 -3.955941221301939e+01 -3.959110868002649e+01 -3.962282271157864e+01 + -3.965455427864192e+01 -3.968630335291520e+01 -3.971806997098832e+01 -3.974985417066340e+01 -3.978165592970123e+01 + -3.981347522024374e+01 -3.984531205199855e+01 -3.987716644515135e+01 -3.990903842423468e+01 -3.994092800366619e+01 + -3.997283515305731e+01 -4.000475984705376e+01 -4.003670212524431e+01 -4.006866202678586e+01 -4.010063952416471e+01 + -4.013263458527370e+01 -4.016464722630246e+01 -4.019667747391531e+01 -4.022872534837892e+01 -4.026079085897078e+01 + -4.029287397740929e+01 -4.032497468131004e+01 -4.035709300943645e+01 -4.038922899883853e+01 -4.042138261856475e+01 + -4.045355383733334e+01 -4.048574269054266e+01 -4.051794921541258e+01 -4.055017338976896e+01 -4.058241518694505e+01 + -4.061467462169752e+01 -4.064695171778673e+01 -4.067924649356458e+01 -4.071155895737036e+01 -4.074388908290122e+01 + -4.077623684962312e+01 -4.080860229471885e+01 -4.084098545450960e+01 -4.087338630415373e+01 -4.090580481395003e+01 + -4.093824099592192e+01 -4.097069487270115e+01 -4.100316646762842e+01 -4.103565579436854e+01 -4.106816282717386e+01 + -4.110068754422534e+01 -4.113322997883087e+01 -4.116579016300655e+01 -4.119836806847471e+01 -4.123096366815907e+01 + -4.126357700008218e+01 -4.129620810254014e+01 -4.132885694982463e+01 -4.136152351139461e+01 -4.139420780138244e+01 + -4.142690984447184e+01 -4.145962966287846e+01 -4.149236726828771e+01 -4.152512263273182e+01 -4.155789573295193e+01 + -4.159068660417814e+01 -4.162349528189675e+01 -4.165632174413023e+01 -4.168916596438000e+01 -4.172202795552684e+01 + -4.175490773972726e+01 -4.178780533686147e+01 -4.182072075745918e+01 -4.185365397692470e+01 -4.188660497553830e+01 + -4.191957378820953e+01 -4.195256044830271e+01 -4.198556492837179e+01 -4.201858720098863e+01 -4.205162729960676e+01 + -4.208468525919077e+01 -4.211776105986812e+01 -4.215085467691669e+01 -4.218396612105321e+01 -4.221709541226407e+01 + -4.225024257217616e+01 -4.228340761361360e+01 -4.231659051254899e+01 -4.234979124870078e+01 -4.238300985362200e+01 + -4.241624635885866e+01 -4.244950074409413e+01 -4.248277298525672e+01 -4.251606309511715e+01 -4.254937109530931e+01 + -4.258269700607782e+01 -4.261604083828603e+01 -4.264940256666174e+01 -4.268278217100897e+01 -4.271617968757233e+01 + -4.274959515039267e+01 -4.278302852825576e+01 -4.281647979114838e+01 -4.284994897911630e+01 -4.288343613339240e+01 + -4.291694122989936e+01 -4.295046423857267e+01 -4.298400517070971e+01 -4.301756404788966e+01 -4.305114089145757e+01 + -4.308473571388112e+01 -4.311834849235274e+01 -4.315197920801049e+01 -4.318562789305037e+01 -4.321929457904871e+01 + -4.325297924404543e+01 -4.328668186207582e+01 -4.332040244469275e+01 -4.335414101381126e+01 -4.338789759527743e+01 + -4.342167220389723e+01 -4.345546480638487e+01 -4.348927537558045e+01 -4.352310395691921e+01 -4.355695059370569e+01 + -4.359081524812669e+01 -4.362469788222823e+01 -4.365859853861065e+01 -4.369251726260594e+01 -4.372645402991838e+01 + -4.376040880917880e+01 -4.379438161035186e+01 -4.382837245512241e+01 -4.386238137072252e+01 -4.389640837367813e+01 + -4.393045343214298e+01 -4.396451651875527e+01 -4.399859767246311e+01 -4.403269693263155e+01 -4.406681427398399e+01 + -4.410094966630350e+01 -4.413510312425358e+01 -4.416927467295284e+01 -4.420346433446015e+01 -4.423767212069691e+01 + -4.427189800609401e+01 -4.430614196966567e+01 -4.434040404624994e+01 -4.437468426893484e+01 -4.440898260798443e+01 + -4.444329903479183e+01 -4.447763358808973e+01 -4.451198630763288e+01 -4.454635716992501e+01 -4.458074614621454e+01 + -4.461515324997958e+01 -4.464957850449220e+01 -4.468402192997090e+01 -4.471848353715485e+01 -4.475296330191956e+01 + -4.478746120505344e+01 -4.482197728186011e+01 -4.485651156648301e+01 -4.489106403390974e+01 -4.492563465506775e+01 + -4.496022344379944e+01 -4.499483042484561e+01 -4.502945562362576e+01 -4.506409905435962e+01 -4.509876068578905e+01 + -4.513344049220396e+01 -4.516813851556444e+01 -4.520285479589762e+01 -4.523758929782897e+01 -4.527234198687941e+01 + -4.530711290755342e+01 -4.534190210524451e+01 -4.537670954991925e+01 -4.541153520580425e+01 -4.544637908959269e+01 + -4.548124122972980e+01 -4.551612164920255e+01 -4.555102035951307e+01 -4.558593733168242e+01 -4.562087254236648e+01 + -4.565582603124118e+01 -4.569079783605451e+01 -4.572578792382265e+01 -4.576079626235065e+01 -4.579582289333027e+01 + -4.583086785976433e+01 -4.586593113601344e+01 -4.590101269036680e+01 -4.593611253546989e+01 -4.597123069530716e+01 + -4.600636719486254e+01 -4.604152204856955e+01 -4.607669522766013e+01 -4.611188670797630e+01 -4.614709652700154e+01 + -4.618232472227299e+01 -4.621757126990104e+01 -4.625283614113306e+01 -4.628811934919114e+01 -4.632342091751210e+01 + -4.635874086841728e+01 -4.639407921460932e+01 -4.642943593143147e+01 -4.646481099859044e+01 -4.650020445060623e+01 + -4.653561632090474e+01 -4.657104658372261e+01 -4.660649521327068e+01 -4.664196224284595e+01 -4.667744770698098e+01 + -4.671295158606459e+01 -4.674847385553061e+01 -4.678401452513644e+01 -4.681957361522331e+01 -4.685515115414413e+01 + -4.689074715945064e+01 -4.692636159747788e+01 -4.696199443933372e+01 -4.699764572643400e+01 -4.703331550121288e+01 + -4.706900373987032e+01 -4.710471041222129e+01 -4.714043552877479e+01 -4.717617911151273e+01 -4.721194118761495e+01 + -4.724772177397794e+01 -4.728352084116666e+01 -4.731933836391387e+01 -4.735517437995513e+01 -4.739102892624472e+01 + -4.742690197360956e+01 -4.746279349304486e+01 -4.749870352234630e+01 -4.753463210070628e+01 -4.757057920610364e+01 + -4.760654481072343e+01 -4.764252892478859e+01 -4.767853156968457e+01 -4.771455277340900e+01 -4.775059255327958e+01 + -4.778665087728216e+01 -4.782272771801416e+01 -4.785882311585065e+01 -4.789493711157514e+01 -4.793106967982698e+01 + -4.796722079021173e+01 -4.800339045834357e+01 -4.803957871014897e+01 -4.807578556679541e+01 -4.811201103905631e+01 + -4.814825510088780e+01 -4.818451773166895e+01 -4.822079896928767e+01 -4.825709884980719e+01 -4.829341734348342e+01 + -4.832975442115909e+01 -4.836611012183125e+01 -4.840248448526336e+01 -4.843887748613056e+01 -4.847528909416636e+01 + -4.851171932442625e+01 -4.854816820273300e+01 -4.858463575265701e+01 -4.862112198691646e+01 -4.865762687707282e+01 + -4.869415040003414e+01 -4.873069259525141e+01 -4.876725350118260e+01 -4.880383308977095e+01 -4.884043132904604e+01 + -4.887704823789731e+01 -4.891368384608068e+01 -4.895033817595851e+01 -4.898701123776245e+01 -4.902370300059485e+01 + -4.906041344002308e+01 -4.909714259860375e+01 -4.913389051725400e+01 -4.917065716334413e+01 -4.920744250429804e+01 + -4.924424658130064e+01 -4.928106943700116e+01 -4.931791104614518e+01 -4.935477137752828e+01 -4.939165044404930e+01 + -4.942854827009338e+01 -4.946546488188807e+01 -4.950240029454247e+01 -4.953935447684974e+01 -4.957632740294361e+01 + -4.961331911463601e+01 -4.965032965315336e+01 -4.968735898970213e+01 -4.972440709120082e+01 -4.976147397743583e+01 + -4.979855967878247e+01 -4.983566421510402e+01 -4.987278759472007e+01 -4.990992979028766e+01 -4.994709078100569e+01 + -4.998427060790318e+01 -5.002146930959274e+01 -5.005868685319148e+01 -5.009592320640078e+01 -5.013317841075434e+01 + -5.017045250915469e+01 -5.020774547614742e+01 -5.024505728017924e+01 -5.028238793365752e+01 -5.031973746104961e+01 + -5.035710589110189e+01 -5.039449324090066e+01 -5.043189947661289e+01 -5.046932456973549e+01 -5.050676856400442e+01 + -5.054423150327239e+01 -5.058171335962052e+01 -5.061921409929316e+01 -5.065673373695915e+01 -5.069427229950105e+01 + -5.073182981423184e+01 -5.076940629607507e+01 -5.080700170996615e+01 -5.084461602753602e+01 -5.088224929718589e+01 + -5.091990156525010e+01 -5.095757279302548e+01 -5.099526294209112e+01 -5.103297206019221e+01 -5.107070019605169e+01 + -5.110844731613729e+01 -5.114621338143406e+01 -5.118399841325091e+01 -5.122180244526444e+01 -5.125962550029841e+01 + -5.129746758802490e+01 -5.133532867636215e+01 -5.137320874011100e+01 -5.141110782335645e+01 -5.144902596945006e+01 + -5.148696314952589e+01 -5.152491932947918e+01 -5.156289452646703e+01 -5.160088876945014e+01 -5.163890208334180e+01 + -5.167693448081514e+01 -5.171498592963017e+01 -5.175305640369855e+01 -5.179114594645165e+01 -5.182925460014935e+01 + -5.186738233284598e+01 -5.190552911234031e+01 -5.194369497961412e+01 -5.198187997663295e+01 -5.202008407611459e+01 + -5.205830724580739e+01 -5.209654950282933e+01 -5.213481087573764e+01 -5.217309138947744e+01 -5.221139105690054e+01 + -5.224970984609732e+01 -5.228804773087789e+01 -5.232640475269200e+01 -5.236478095346914e+01 -5.240317630941821e+01 + -5.244159079031952e+01 -5.248002440595931e+01 -5.251847717885386e+01 -5.255694914243367e+01 -5.259544031823210e+01 + -5.263395066927961e+01 -5.267248016335085e+01 -5.271102884570031e+01 -5.274959676081755e+01 -5.278818387265291e+01 + -5.282679014593192e+01 -5.286541562901994e+01 -5.290406037048660e+01 -5.294272433607927e+01 -5.298140748616263e+01 + -5.302010984239256e+01 -5.305883143892672e+01 -5.309757229863885e+01 -5.313633243133304e+01 -5.317511180581835e+01 + -5.321391039785607e+01 -5.325272825201081e+01 -5.329156541074357e+01 -5.333042183929739e+01 -5.336929750308754e+01 + -5.340819244543594e+01 -5.344710671111962e+01 -5.348604027282968e+01 -5.352499309722418e+01 -5.356396519891433e+01 + -5.360295660504364e+01 -5.364196734493171e+01 -5.368099743556814e+01 -5.372004684244607e+01 -5.375911553606044e+01 + -5.379820355840945e+01 -5.383731095277006e+01 -5.387643769603123e+01 -5.391558375867469e+01 -5.395474915194053e+01 + -5.399393389872404e+01 -5.403313802778240e+01 -5.407236155707715e+01 -5.411160445552515e+01 -5.415086669663323e+01 + -5.419014832131279e+01 -5.422944936941720e+01 -5.426876980916325e+01 -5.430810960961936e+01 -5.434746881489674e+01 + -5.438684746929877e+01 -5.442624554285502e+01 -5.446566300018413e+01 -5.450509985853421e+01 -5.454455614758906e+01 + -5.458403189414573e+01 -5.462352711279953e+01 -5.466304177222543e+01 -5.470257584656953e+01 -5.474212937778257e+01 + -5.478170240720980e+01 -5.482129490597043e+01 -5.486090684084346e+01 -5.490053823147309e+01 -5.494018910890276e+01 + -5.497985949690793e+01 -5.501954940653937e+01 -5.505925880521750e+01 -5.509898766755921e+01 -5.513873604059781e+01 + -5.517850396943321e+01 -5.521829141901578e+01 -5.525809835354192e+01 -5.529792481434151e+01 -5.533777084523449e+01 + -5.537763642286803e+01 -5.541752151714192e+01 -5.545742613813913e+01 -5.549735030880384e+01 -5.553729406334213e+01 + -5.557725742375872e+01 -5.561724035199087e+01 -5.565724281465346e+01 -5.569726485713910e+01 -5.573730652628086e+01 + -5.577736779589668e+01 -5.581744863307357e+01 -5.585754905099014e+01 -5.589766907536871e+01 -5.593780873601526e+01 + -5.597796805069111e+01 -5.601814698489535e+01 -5.605834550959182e+01 -5.609856366986563e+01 -5.613880151023810e+01 + -5.617905899885479e+01 -5.621933610311022e+01 -5.625963286377015e+01 -5.629994932270948e+01 -5.634028545286861e+01 + -5.638064122221132e+01 -5.642101664772899e+01 -5.646141175844968e+01 -5.650182658252075e+01 -5.654226113528433e+01 + -5.658271538174220e+01 -5.662318929319503e+01 -5.666368291647893e+01 -5.670419629786259e+01 -5.674472940580990e+01 + -5.678528220346420e+01 -5.682585471049146e+01 -5.686644695909487e+01 -5.690705897510426e+01 -5.694769077129006e+01 + -5.698834231455854e+01 -5.702901357847642e+01 -5.706970460911611e+01 -5.711041545084194e+01 -5.715114606868026e+01 + -5.719189642778805e+01 -5.723266657318249e+01 -5.727345655110785e+01 -5.731426633285666e+01 -5.735509588339112e+01 + -5.739594521730356e+01 -5.743681436264626e+01 -5.747770335168147e+01 -5.751861220364783e+01 -5.755954088147938e+01 + -5.760048935348805e+01 -5.764145766580183e+01 -5.768244586550730e+01 -5.772345392571002e+01 -5.776448181276131e+01 + -5.780552953997691e+01 -5.784659713354442e+01 -5.788768462417462e+01 -5.792879202998626e+01 -5.796991931420698e+01 + -5.801106644664837e+01 -5.805223347834903e+01 -5.809342045860209e+01 -5.813462734849197e+01 -5.817585410820936e+01 + -5.821710078257841e+01 -5.825836741928538e+01 -5.829965399283203e+01 -5.834096047087346e+01 -5.838228686686274e+01 + -5.842363320676851e+01 -5.846499952082397e+01 -5.850638582715609e+01 -5.854779209120221e+01 -5.858921828442874e+01 + -5.863066445510763e+01 -5.867213065032231e+01 -5.871361683559694e+01 -5.875512297138874e+01 -5.879664907944645e+01 + -5.883819519466417e+01 -5.887976134322624e+01 -5.892134753756825e+01 -5.896295374384051e+01 -5.900457993500612e+01 + -5.904622615756436e+01 -5.908789245663575e+01 -5.912957879828990e+01 -5.917128514850664e+01 -5.921301155195771e+01 + -5.925475805384439e+01 -5.929652462279476e+01 -5.933831122286624e+01 -5.938011787640643e+01 -5.942194461763230e+01 + -5.946379146994821e+01 -5.950565844408734e+01 -5.954754551091072e+01 -5.958945264733813e+01 -5.963137989439624e+01 + -5.967332729249499e+01 -5.971529481547052e+01 -5.975728243227523e+01 -5.979929015889982e+01 -5.984131802305070e+01 + -5.988336605225896e+01 -5.992543426246962e+01 -5.996752262345901e+01 -6.000963111046766e+01 -6.005175976676178e+01 + -6.009390863383608e+01 -6.013607767807394e+01 -6.017826686618813e+01 -6.022047624132026e+01 -6.026270584835797e+01 + -6.030495566274465e+01 -6.034722565381767e+01 -6.038951583593452e+01 -6.043182623512069e+01 -6.047415687905394e+01 + -6.051650778421003e+01 -6.055887892060463e+01 -6.060127026325783e+01 -6.064368185366749e+01 -6.068611373308907e+01 + -6.072856587533070e+01 -6.077103824887340e+01 -6.081353086833690e+01 -6.085604376132918e+01 -6.089857696127247e+01 + -6.094113048823596e+01 -6.098370430306234e+01 -6.102629837247437e+01 -6.106891274594116e+01 -6.111154747264118e+01 + -6.115420251784390e+01 -6.119687784580902e+01 -6.123957350066591e+01 -6.128228952841628e+01 -6.132502590268162e+01 + -6.136778259056138e+01 -6.141055960544676e+01 -6.145335697380811e+01 -6.149617472814099e+01 -6.153901288864162e+01 + -6.158187142028389e+01 -6.162475029314290e+01 -6.166764955292113e+01 -6.171056924466600e+01 -6.175350933517737e+01 + -6.179646979123154e+01 -6.183945065775757e+01 -6.188245198047678e+01 -6.192547373012725e+01 -6.196851587175868e+01 + -6.201157842265037e+01 -6.205466141333163e+01 -6.209776487510229e+01 -6.214088882566958e+01 -6.218403322759970e+01 + -6.222719804958889e+01 -6.227038333999444e+01 -6.231358914752139e+01 -6.235681544260558e+01 -6.240006218936849e+01 + -6.244332940494305e+01 -6.248661712010740e+01 -6.252992536720910e+01 -6.257325416420860e+01 -6.261660346994837e+01 + -6.265997325077347e+01 -6.270336356215701e+01 -6.274677445777788e+01 -6.279020589501037e+01 -6.283365783085999e+01 + -6.287713031716163e+01 -6.292062340781234e+01 -6.296413707012920e+01 -6.300767126475596e+01 -6.305122601222295e+01 + -6.309480134635203e+01 -6.313839729424505e+01 -6.318201386936521e+01 -6.322565103734121e+01 -6.326930877093868e+01 + -6.331298711930568e+01 -6.335668613058504e+01 -6.340040577251647e+01 -6.344414600718050e+01 -6.348790685442323e+01 + -6.353168834759008e+01 -6.357549051625812e+01 -6.361931337593239e+01 -6.366315688959789e+01 -6.370702102749119e+01 + -6.375090584137499e+01 -6.379481138078580e+01 -6.383873760482961e+01 -6.388268447297220e+01 -6.392665203654889e+01 + -6.397064034897519e+01 -6.401464938011861e+01 -6.405867909237229e+01 -6.410272950177993e+01 -6.414680063823367e+01 + -6.419089253336912e+01 -6.423500520539493e+01 -6.427913861706836e+01 -6.432329273774181e+01 -6.436746761859949e+01 + -6.441166331065573e+01 -6.445587978241413e+01 -6.450011699516882e+01 -6.454437496388719e+01 -6.458865371852110e+01 + -6.463295329528786e+01 -6.467727371608086e+01 -6.472161493923234e+01 -6.476597692945877e+01 -6.481035974057480e+01 + -6.485476342551981e+01 -6.489918794463497e+01 -6.494363325783405e+01 -6.498809941591921e+01 -6.503258647107099e+01 + -6.507709439009531e+01 -6.512162313341831e+01 -6.516617272132122e+01 -6.521074318787740e+01 -6.525533456247440e+01 + -6.529994686059398e+01 -6.534458004678092e+01 -6.538923409250538e+01 -6.543390904787570e+01 -6.547860496211884e+01 + -6.552332180229843e+01 -6.556805952953434e+01 -6.561281816333469e+01 -6.565759773746066e+01 -6.570239828429803e+01 + -6.574721982146080e+01 -6.579206230885156e+01 -6.583692571363754e+01 -6.588181008975629e+01 -6.592671548982709e+01 + -6.597164187442638e+01 -6.601658920334479e+01 -6.606155752527242e+01 -6.610654689090467e+01 -6.615155727005924e+01 + -6.619658862652422e+01 -6.624164098084657e+01 -6.628671436645676e+01 -6.633180881156068e+01 -6.637692433038681e+01 + -6.642206088647883e+01 -6.646721845110714e+01 -6.651239707713407e+01 -6.655759681603797e+01 -6.660281763216933e+01 + -6.664805948389387e+01 -6.669332239276561e+01 -6.673860639512726e+01 -6.678391152328841e+01 -6.682923779433044e+01 + -6.687458516845543e+01 -6.691995361277515e+01 -6.696534317891920e+01 -6.701075391795754e+01 -6.705618579420361e+01 + -6.710163877100581e+01 -6.714711289460833e+01 -6.719260821321966e+01 -6.723812470001026e+01 -6.728366232121398e+01 + -6.732922109035582e+01 -6.737480103488133e+01 -6.742040219062761e+01 -6.746602458035952e+01 -6.751166816616187e+01 + -6.755733291529161e+01 -6.760301887637438e+01 -6.764872609859751e+01 -6.769445455202660e+01 -6.774020420051386e+01 + -6.778597506217976e+01 -6.783176716876942e+01 -6.787758055225885e+01 -6.792341523092826e+01 -6.796927116804379e+01 + -6.801514833341810e+01 -6.806104677806347e+01 -6.810696655123587e+01 -6.815290761396663e+01 -6.819886992772128e+01 + -6.824485354392678e+01 -6.829085851532395e+01 -6.833688480994840e+01 -6.838293238885097e+01 -6.842900126984890e+01 + -6.847509148538957e+01 -6.852120306967514e+01 -6.856733604269469e+01 -6.861349036583006e+01 -6.865966600658993e+01 + -6.870586301559659e+01 -6.875208144399036e+01 -6.879832126187024e+01 -6.884458243234171e+01 -6.889086497157696e+01 + -6.893716890990422e+01 -6.898349428120915e+01 -6.902984110598732e+01 -6.907620934761650e+01 -6.912259897511596e+01 + -6.916901003718877e+01 -6.921544258172949e+01 -6.926189657371528e+01 -6.930837197817074e+01 -6.935486884322755e+01 + -6.940138721768092e+01 -6.944792706987337e+01 -6.949448836290087e+01 -6.954107111932564e+01 -6.958767537490402e+01 + -6.963430115870300e+01 -6.968094848498497e+01 -6.972761731548312e+01 -6.977430762020695e+01 -6.982101945480034e+01 + -6.986775287255249e+01 -6.991450783170005e+01 -6.996128429032680e+01 -7.000808230095708e+01 -7.005490191787665e+01 + -7.010174310797666e+01 -7.014860583121035e+01 -7.019549010717337e+01 -7.024239597049470e+01 -7.028932345629492e+01 + -7.033627258446040e+01 -7.038324331344937e+01 -7.043023560838913e+01 -7.047724952251053e+01 -7.052428510987777e+01 + -7.057134233978515e+01 -7.061842117397924e+01 -7.066552162878578e+01 -7.071264373512433e+01 -7.075978752771100e+01 + -7.080695302731498e+01 -7.085414019512091e+01 -7.090134899910394e+01 -7.094857949398551e+01 -7.099583173235354e+01 + -7.104310567151599e+01 -7.109040126922885e+01 -7.113771858031990e+01 -7.118505766125368e+01 -7.123241847797109e+01 + -7.127980098937178e+01 -7.132720521671429e+01 -7.137463119544236e+01 -7.142207895538176e+01 -7.146954851252747e+01 + -7.151703983316882e+01 -7.156455289009196e+01 -7.161208773177542e+01 -7.165964440570248e+01 -7.170722287968356e+01 + -7.175482311646741e+01 -7.180244513822917e+01 -7.185008898098621e+01 -7.189775467669884e+01 -7.194544224180910e+01 + -7.199315163474331e+01 -7.204088282234626e+01 -7.208863586315185e+01 -7.213641081375658e+01 -7.218420763131780e+01 + -7.223202627227879e+01 -7.227986678966526e+01 -7.232772923884254e+01 -7.237561358795277e+01 -7.242351979769759e+01 + -7.247144788623903e+01 -7.251939788668284e+01 -7.256736983444897e+01 -7.261536375015235e+01 -7.266337959287341e+01 + -7.271141732841731e+01 -7.275947701102203e+01 -7.280755869538000e+01 -7.285566234956853e+01 -7.290378793432680e+01 + -7.295193546765573e+01 -7.300010498266862e+01 -7.304829651566631e+01 -7.309651008753943e+01 -7.314474565435016e+01 + -7.319300317971540e+01 -7.324128272229925e+01 -7.328958433981238e+01 -7.333790799110540e+01 -7.338625363374130e+01 + -7.343462131899291e+01 -7.348301110053259e+01 -7.353142294792167e+01 -7.357985682361442e+01 -7.362831274574745e+01 + -7.367679074711965e+01 -7.372529086349638e+01 -7.377381311579366e+01 -7.382235746256312e+01 -7.387092386912651e+01 + -7.391951239025020e+01 -7.396812308115555e+01 -7.401675590943988e+01 -7.406541083531380e+01 -7.411408787706513e+01 + -7.416278706814910e+01 -7.421150844461324e+01 -7.426025202733783e+01 -7.430901777394124e+01 -7.435780564940528e+01 + -7.440661571142732e+01 -7.445544801616209e+01 -7.450430252087864e+01 -7.455317918285648e+01 -7.460207805830268e+01 + -7.465099920497126e+01 -7.469994258787753e+01 -7.474890816454140e+01 -7.479789595523943e+01 -7.484690599592756e+01 + -7.489593832252380e+01 -7.494499295533201e+01 -7.499406985223764e+01 -7.504316897827101e+01 -7.509229038945979e+01 + -7.514143414169166e+01 -7.519060019929748e+01 -7.523978851997632e+01 -7.528899912645726e+01 -7.533823205657275e+01 + -7.538748734353926e+01 -7.543676500532445e+01 -7.548606500351643e+01 -7.553538730703876e+01 -7.558473197053598e+01 + -7.563409904619321e+01 -7.568348849063742e+01 -7.573290026170078e+01 -7.578233441759443e+01 -7.583179101796470e+01 + -7.588127002782028e+01 -7.593077140392674e+01 -7.598029516471465e+01 -7.602984134475692e+01 -7.607940998153097e+01 + -7.612900109746634e+01 -7.617861465189691e+01 -7.622825061065345e+01 -7.627790902865043e+01 -7.632758996032740e+01 + -7.637729336914126e+01 -7.642701921265419e+01 -7.647676751583191e+01 -7.652653831849052e+01 -7.657633165244424e+01 + -7.662614753370475e+01 -7.667598592307560e+01 -7.672584678949215e+01 -7.677573018962489e+01 -7.682563617769370e+01 + -7.687556471038147e+01 -7.692551574474433e+01 -7.697548933686781e+01 -7.702548554509247e+01 -7.707550433774978e+01 + -7.712554567498073e+01 -7.717560957417300e+01 -7.722569606768573e+01 -7.727580519051753e+01 -7.732593696392289e+01 + -7.737609135154067e+01 -7.742626832278943e+01 -7.747646792782194e+01 -7.752669021677298e+01 -7.757693515897095e+01 + -7.762720271798948e+01 -7.767749291518889e+01 -7.772780578562232e+01 -7.777814136132783e+01 -7.782849965970544e+01 + -7.787888064261847e+01 -7.792928427988689e+01 -7.797971062869398e+01 -7.803015974345008e+01 -7.808063158011076e+01 + -7.813112609521906e+01 -7.818164334612277e+01 -7.823218339188995e+01 -7.828274619766600e+01 -7.833333172107952e+01 + -7.838393998361434e+01 -7.843457102192369e+01 -7.848522486948340e+01 -7.853590154498607e+01 -7.858660101116894e+01 + -7.863732323758104e+01 -7.868806827697425e+01 -7.873883618163512e+01 -7.878962691878654e+01 -7.884044044940295e+01 + -7.889127679452803e+01 -7.894213598992800e+01 -7.899301807018992e+01 -7.904392305456564e+01 -7.909485090214494e+01 + -7.914580158005610e+01 -7.919677514774288e+01 -7.924777166238927e+01 -7.929879107982515e+01 -7.934983335558289e+01 + -7.940089854535901e+01 -7.945198670709752e+01 -7.950309780756868e+01 -7.955423180605224e+01 -7.960538872303847e+01 + -7.965656859466247e+01 -7.970777145842827e+01 -7.975899733555858e+01 -7.981024618078136e+01 -7.986151795697417e+01 + -7.991281272610696e+01 -7.996413054847572e+01 -8.001547137858779e+01 -8.006683517069925e+01 -8.011822198384908e+01 + -8.016963187855384e+01 -8.022106481645797e+01 -8.027252075224854e+01 -8.032399971165485e+01 -8.037550173585385e+01 + -8.042702685677139e+01 -8.047857509055929e+01 -8.053014639952434e+01 -8.058174075328817e+01 -8.063335820457638e+01 + -8.068499880610621e+01 -8.073666252745771e+01 -8.078834933088126e+01 -8.084005923244513e+01 -8.089179226408041e+01 + -8.094354846735196e+01 -8.099532786819320e+01 -8.104713042037783e+01 -8.109895608507813e+01 -8.115080492521992e+01 + -8.120267700205356e+01 -8.125457226837462e+01 -8.130649067623317e+01 -8.135843228315183e+01 -8.141039715010918e+01 + -8.146238524643556e+01 -8.151439653208425e+01 -8.156643102114791e+01 -8.161848874447259e+01 -8.167056974577932e+01 + -8.172267405314662e+01 -8.177480161920819e+01 -8.182695240289546e+01 -8.187912646377457e+01 -8.193132386298609e+01 + -8.198354456733288e+01 -8.203578853472443e+01 -8.208805578183410e+01 -8.214034634197473e+01 -8.219266025625411e+01 + -8.224499755029157e+01 -8.229735817995817e+01 -8.234974210798764e+01 -8.240214939431286e+01 -8.245458009683706e+01 + -8.250703416814667e+01 -8.255951156203467e+01 -8.261201234243612e+01 -8.266453657428882e+01 -8.271708421639993e+01 + -8.276965521981012e+01 -8.282224961062391e+01 -8.287486743131451e+01 -8.292750871476633e+01 -8.298017347733835e+01 + -8.303286167887651e+01 -8.308557328775250e+01 -8.313830836295337e+01 -8.319106696215761e+01 -8.324384904719405e+01 + -8.329665457280116e+01 -8.334948356120523e+01 -8.340233605179664e+01 -8.345521208513452e+01 -8.350811168407860e+01 + -8.356103479952203e+01 -8.361398139085040e+01 -8.366695152338559e+01 -8.371994526125894e+01 -8.377296255790387e+01 + -8.382600336547402e+01 -8.387906774170159e+01 -8.393215574692768e+01 -8.398526734635097e+01 -8.403840249721476e+01 + -8.409156122008268e+01 -8.414474355213920e+01 -8.419794953373223e+01 -8.425117918830632e+01 -8.430443246852916e+01 + -8.435770933516140e+01 -8.441100985211256e+01 -8.446433408298962e+01 -8.451768198704093e+01 -8.457105351533237e+01 + -8.462444869055821e+01 -8.467786755329161e+01 -8.473131014399300e+01 -8.478477648534972e+01 -8.483826652906932e+01 + -8.489178023573824e+01 -8.494531767243778e+01 -8.499887890373510e+01 -8.505246387764603e+01 -8.510607254206460e+01 + -8.515970496094809e+01 -8.521336120130535e+01 -8.526704122628841e+01 -8.532074498941530e+01 -8.537447250952404e+01 + -8.542822382319736e+01 -8.548199897267675e+01 -8.553579798342942e+01 -8.558962080816578e+01 -8.564346740685433e+01 + -8.569733784125194e+01 -8.575123217367282e+01 -8.580515036687339e+01 -8.585909237532205e+01 -8.591305821989287e+01 + -8.596704793875205e+01 -8.602106157282915e+01 -8.607509914567974e+01 -8.612916060859980e+01 -8.618324592155754e+01 + -8.623735515146925e+01 -8.629148836331387e+01 -8.634564550737286e+01 -8.639982653295500e+01 -8.645403150017543e+01 + -8.650826047252751e+01 -8.656251341621210e+01 -8.661679028858919e+01 -8.667109110894766e+01 -8.672541591317201e+01 + -8.677976474159972e+01 -8.683413761829634e+01 -8.688853449778628e+01 -8.694295534179228e+01 -8.699740021037117e+01 + -8.705186916402354e+01 -8.710636216669133e+01 -8.716087917454270e+01 -8.721542020920894e+01 -8.726998530877070e+01 + -8.732457451164281e+01 -8.737918783967393e+01 -8.743382524811331e+01 -8.748848670054353e+01 -8.754317226047976e+01 + -8.759788198894785e+01 -8.765261583708421e+01 -8.770737375634857e+01 -8.776215580938322e+01 -8.781696206132678e+01 + -8.787179247612183e+01 -8.792664700860111e+01 -8.798152567835336e+01 -8.803642852212045e+01 -8.809135558050070e+01 + -8.814630687756171e+01 -8.820128236739042e+01 -8.825628201129771e+01 -8.831130586947003e+01 -8.836635400284558e+01 + -8.842142637649435e+01 -8.847652294770472e+01 -8.853164373850628e+01 -8.858678878695027e+01 -8.864195813043362e+01 + -8.869715178945941e+01 -8.875236971760948e+01 -8.880761187808301e+01 -8.886287833946902e+01 -8.891816916696094e+01 + -8.897348430677987e+01 -8.902882370531137e+01 -8.908418742857141e+01 -8.913957554536425e+01 -8.919498801601753e+01 + -8.925042479199006e+01 -8.930588589774098e+01 -8.936137137472512e+01 -8.941688125937962e+01 -8.947241557120560e+01 + -8.952797426697802e+01 -8.958355731201681e+01 -8.963916476854843e+01 -8.969479669732335e+01 -8.975045305628245e+01 + -8.980613379692392e+01 -8.986183894778455e+01 -8.991756855389235e+01 -8.997332264920152e+01 -9.002910125051302e+01 + -9.008490431708829e+01 -9.014073181666647e+01 -9.019658380843681e+01 -9.025246034941333e+01 -9.030836139645970e+01 + -9.036428690661128e+01 -9.042023693773967e+01 -9.047621154925669e+01 -9.053221070589892e+01 -9.058823436476921e+01 + -9.064428254711031e+01 -9.070035529106499e+01 -9.075645263823618e+01 -9.081257461289793e+01 -9.086872116654884e+01 + -9.092489225918972e+01 -9.098108795760594e+01 -9.103730832657459e+01 -9.109355331605536e+01 -9.114982287548730e+01 + -9.120611706704364e+01 -9.126243595579022e+01 -9.131877950563008e+01 -9.137514767186437e+01 -9.143154047654943e+01 + -9.148795795857168e+01 -9.154440015738282e+01 -9.160086709537343e+01 -9.165735872612346e+01 -9.171387501169491e+01 + -9.177041601688784e+01 -9.182698180564800e+01 -9.188357233576582e+01 -9.194018755741556e+01 -9.199682749646104e+01 + -9.205349219658670e+01 -9.211018169707003e+01 -9.216689601912306e+01 -9.222363511610273e+01 -9.228039895018067e+01 + -9.233718758664240e+01 -9.239400108840672e+01 -9.245083940581294e+01 -9.250770248979978e+01 -9.256459040628322e+01 + -9.262150322244982e+01 -9.267844089559186e+01 -9.273540337476760e+01 -9.279239068599267e+01 -9.284940287335907e+01 + -9.290643997630693e+01 -9.296350201607783e+01 -9.302058894577094e+01 -9.307770072730455e+01 -9.313483742601555e+01 + -9.319199910633068e+01 -9.324918572561810e+01 -9.330639723351504e+01 -9.336363365579297e+01 -9.342089503640302e+01 + -9.347818141588093e+01 -9.353549281584256e+01 -9.359282918563940e+01 -9.365019048477910e+01 -9.370757678565749e+01 + -9.376498815769901e+01 -9.382242454555492e+01 -9.387988589305337e+01 -9.393737226550313e+01 -9.399488373202897e+01 + -9.405242025553964e+01 -9.410998178945039e+01 -9.416756835541781e+01 -9.422517999301114e+01 -9.428281674520871e+01 + -9.434047863667399e+01 -9.439816561540189e+01 -9.445587763836596e+01 -9.451361477512259e+01 -9.457137709520302e+01 + -9.462916455545547e+01 -9.468697710379740e+01 -9.474481476510589e+01 -9.480267758244509e+01 -9.486056559466863e+01 + -9.491847882335075e+01 -9.497641722515867e+01 -9.503438076487508e+01 -9.509236950465109e+01 -9.515038350409563e+01 + -9.520842271528107e+01 -9.526648709103007e+01 -9.532457669470300e+01 -9.538269159175374e+01 -9.544083174547335e+01 + -9.549899710997526e+01 -9.555718770482461e+01 -9.561540356780063e+01 -9.567364474408794e+01 -9.573191126075703e+01 + -9.579020306501620e+01 -9.584852011272490e+01 -9.590686247420874e+01 -9.596523021978578e+01 -9.602362330527772e+01 + -9.608204167783254e+01 -9.614048536439948e+01 -9.619895441016116e+01 -9.625744885343293e+01 -9.631596871403326e+01 + -9.637451394466026e+01 -9.643308450797647e+01 -9.649168047362274e+01 -9.655030190767742e+01 -9.660894875499127e+01 + -9.666762096089710e+01 -9.672631859388268e+01 -9.678504172537357e+01 -9.684379031539257e+01 -9.690256431417546e+01 + -9.696136374421286e+01 -9.702018864639355e+01 -9.707903906294442e+01 -9.713791501832830e+01 -9.719681646461351e+01 + -9.725574336170810e+01 -9.731469577327378e+01 -9.737367376351882e+01 -9.743267729508464e+01 -9.749170632178308e+01 + -9.755076086367355e+01 -9.760984095895955e+01 -9.766894665217343e+01 -9.772807797034233e+01 -9.778723486414395e+01 + -9.784641729236439e+01 -9.790562532257231e+01 -9.796485902036660e+01 -9.802411833468516e+01 -9.808340321418262e+01 + -9.814271372304191e+01 -9.820204992860188e+01 -9.826141179529722e+01 -9.832079927766843e+01 -9.838021239358226e+01 + -9.843965117935535e+01 -9.849911568177785e+01 -9.855860593025675e+01 -9.861812187419362e+01 -9.867766347002308e+01 + -9.873723078231735e+01 -9.879682387670165e+01 -9.885644271487612e+01 -9.891608724974174e+01 -9.897575750292785e+01 + -9.903545351466867e+01 -9.909517533088989e+01 -9.915492297862031e+01 -9.921469640360959e+01 -9.927449556058966e+01 + -9.933432052149955e+01 -9.939417135686639e+01 -9.945404801436261e+01 -9.951395044077229e+01 -9.957387870218038e+01 + -9.963383286719130e+01 -9.969381289518709e+01 -9.975381873630593e+01 -9.981385041293248e+01 -9.987390796877466e+01 + -9.993399146058783e+01 -9.999410091983435e+01 -1.000542362637563e+02 -1.001143974249114e+02 -1.001745845113392e+02 + -1.002347976270743e+02 -1.002950366846517e+02 -1.003553015922550e+02 -1.004155924321621e+02 -1.004759093011103e+02 + -1.005362521795820e+02 -1.005966210292817e+02 -1.006570158530568e+02 -1.007174366671700e+02 -1.007778835004040e+02 + -1.008383563749385e+02 -1.008988552740233e+02 -1.009593801813489e+02 -1.010199311212978e+02 -1.010805081231472e+02 + -1.011411111950619e+02 -1.012017403376325e+02 -1.012623955422635e+02 -1.013230768099676e+02 -1.013837841893743e+02 + -1.014445177207514e+02 -1.015052773633014e+02 -1.015660630775449e+02 -1.016268749103392e+02 -1.016877129150088e+02 + -1.017485770844115e+02 -1.018094673966629e+02 -1.018703838313761e+02 -1.019313263923028e+02 -1.019922951782496e+02 + -1.020532902664119e+02 -1.021143115524854e+02 -1.021753589342455e+02 -1.022364324992857e+02 -1.022975323519374e+02 + -1.023586584736673e+02 -1.024198108268543e+02 -1.024809894203941e+02 -1.025421942728475e+02 -1.026034253949216e+02 + -1.026646827901934e+02 -1.027259664415750e+02 -1.027872763473731e+02 -1.028486125881369e+02 -1.029099752254547e+02 + -1.029713641628286e+02 -1.030327793161952e+02 -1.030942208093169e+02 -1.031556887637190e+02 -1.032171830841550e+02 + -1.032787036718354e+02 -1.033402506305696e+02 -1.034018240681317e+02 -1.034634239055545e+02 -1.035250500515010e+02 + -1.035867025518952e+02 -1.036483814821213e+02 -1.037100868981441e+02 -1.037718188237329e+02 -1.038335771732939e+02 + -1.038953618747522e+02 -1.039571730194689e+02 -1.040190107055651e+02 -1.040808748947658e+02 -1.041427655331822e+02 + -1.042046826408667e+02 -1.042666262524425e+02 -1.043285963868752e+02 -1.043905930564436e+02 -1.044526162623378e+02 + -1.045146660069125e+02 -1.045767423082721e+02 -1.046388451777543e+02 -1.047009745838822e+02 -1.047631305085241e+02 + -1.048253130297424e+02 -1.048875222165416e+02 -1.049497580055002e+02 -1.050120203310284e+02 -1.050743092512860e+02 + -1.051366248384456e+02 -1.051989670969791e+02 -1.052613360137520e+02 -1.053237315729033e+02 -1.053861537661844e+02 + -1.054486026185219e+02 -1.055110781583045e+02 -1.055735803945944e+02 -1.056361093274371e+02 -1.056986649401382e+02 + -1.057612472323176e+02 -1.058238562855892e+02 -1.058864921618116e+02 -1.059491547618286e+02 -1.060118440001799e+02 + -1.060745600072047e+02 -1.061373029070868e+02 -1.062000725835928e+02 -1.062628689188559e+02 -1.063256920288941e+02 + -1.063885420424685e+02 -1.064514189054312e+02 -1.065143225392365e+02 -1.065772529506575e+02 -1.066402101774261e+02 + -1.067031942957903e+02 -1.067662053568374e+02 -1.068292432724951e+02 -1.068923079625714e+02 -1.069553995175528e+02 + -1.070185180380394e+02 -1.070816634944072e+02 -1.071448358336418e+02 -1.072080350393896e+02 -1.072712611247882e+02 + -1.073345141842783e+02 -1.073977942922143e+02 -1.074611013613008e+02 -1.075244353055826e+02 -1.075877962061142e+02 + -1.076511841502191e+02 -1.077145990832866e+02 -1.077780409492339e+02 -1.078415098280245e+02 -1.079050057992970e+02 + -1.079685288053471e+02 -1.080320787786834e+02 -1.080956557500093e+02 -1.081592597729443e+02 -1.082228908945775e+02 + -1.082865491424036e+02 -1.083502344720692e+02 -1.084139468448718e+02 -1.084776863165616e+02 -1.085414529440200e+02 + -1.086052466942038e+02 -1.086690675238350e+02 -1.087329154386204e+02 -1.087967904674474e+02 -1.088606926829425e+02 + -1.089246221377382e+02 -1.089885787607543e+02 -1.090525624876805e+02 -1.091165734050004e+02 -1.091806115963225e+02 + -1.092446769829633e+02 -1.093087694909110e+02 -1.093728892271333e+02 -1.094370362953419e+02 -1.095012106052476e+02 + -1.095654120623545e+02 -1.096296407493415e+02 -1.096938967647426e+02 -1.097581800933404e+02 -1.098224906984946e+02 + -1.098868285716250e+02 -1.099511937236656e+02 -1.100155862155477e+02 -1.100800060933800e+02 -1.101444532939841e+02 + -1.102089277564002e+02 -1.102734295378303e+02 -1.103379587096266e+02 -1.104025152815812e+02 -1.104670992426730e+02 + -1.105317105601886e+02 -1.105963492199813e+02 -1.106610153038629e+02 -1.107257088820756e+02 -1.107904298826226e+02 + -1.108551782361634e+02 -1.109199540262203e+02 -1.109847573373186e+02 -1.110495881051325e+02 -1.111144462586115e+02 + -1.111793318486534e+02 -1.112442449476576e+02 -1.113091855920787e+02 -1.113741537899001e+02 -1.114391494711626e+02 + -1.115041725824562e+02 -1.115692232145109e+02 -1.116343014623147e+02 -1.116994072937479e+02 -1.117645406555522e+02 + -1.118297015370191e+02 -1.118948899532702e+02 -1.119601059801944e+02 -1.120253496750247e+02 -1.120906209596036e+02 + -1.121559197660155e+02 -1.122212462027017e+02 -1.122866003728487e+02 -1.123519821822644e+02 -1.124173915349786e+02 + -1.124828285252852e+02 -1.125482932599049e+02 -1.126137857050017e+02 -1.126793058037530e+02 -1.127448535479451e+02 + -1.128104289543148e+02 -1.128760320907921e+02 -1.129416630123176e+02 -1.130073216706816e+02 -1.130730080183262e+02 + -1.131387221134510e+02 -1.132044640167948e+02 -1.132702336934948e+02 -1.133360310978225e+02 -1.134018562361866e+02 + -1.134677091387784e+02 -1.135335898787815e+02 -1.135994985091588e+02 -1.136654349589990e+02 -1.137313991629182e+02 + -1.137973912015162e+02 -1.138634111582333e+02 -1.139294589818884e+02 -1.139955346168527e+02 -1.140616381243277e+02 + -1.141277695680233e+02 -1.141939289048548e+02 -1.142601160860919e+02 -1.143263311472162e+02 -1.143925741390390e+02 + -1.144588450894802e+02 -1.145251440101338e+02 -1.145914708701818e+02 -1.146578256494022e+02 -1.147242084123678e+02 + -1.147906192149256e+02 -1.148570579932248e+02 -1.149235246826633e+02 -1.149900193353325e+02 -1.150565420227369e+02 + -1.151230927773426e+02 -1.151896716067799e+02 -1.152562784583746e+02 -1.153229132947855e+02 -1.153895762003063e+02 + -1.154562672526404e+02 -1.155229863814943e+02 -1.155897335150450e+02 -1.156565087233475e+02 -1.157233120892246e+02 + -1.157901436046917e+02 -1.158570032371645e+02 -1.159238909464663e+02 -1.159908067231330e+02 -1.160577506881430e+02 + -1.161247229415995e+02 -1.161917233696630e+02 -1.162587518588770e+02 -1.163258085112608e+02 -1.163928934406831e+02 + -1.164600065929374e+02 -1.165271479034755e+02 -1.165943174344564e+02 -1.166615152526160e+02 -1.167287413162901e+02 + -1.167959955757904e+02 -1.168632780577301e+02 -1.169305888112216e+02 -1.169979278990717e+02 -1.170652953548001e+02 + -1.171326910810820e+02 -1.172001149975291e+02 -1.172675672223445e+02 -1.173350478778825e+02 -1.174025569045121e+02 + -1.174700942215011e+02 -1.175376598456954e+02 -1.176052538191002e+02 -1.176728761867799e+02 -1.177405269796691e+02 + -1.178082061691247e+02 -1.178759137299273e+02 -1.179436497101298e+02 -1.180114141509050e+02 -1.180792069926326e+02 + -1.181470281872303e+02 -1.182148778335583e+02 -1.182827560287664e+02 -1.183506627162192e+02 -1.184185978220269e+02 + -1.184865613570652e+02 -1.185545533602401e+02 -1.186225738978121e+02 -1.186906230193939e+02 -1.187587006806511e+02 + -1.188268068350639e+02 -1.188949415213182e+02 -1.189631047837780e+02 -1.190312966043158e+02 -1.190995169567162e+02 + -1.191677658449030e+02 -1.192360432941998e+02 -1.193043493853908e+02 -1.193726841751893e+02 -1.194410475685670e+02 + -1.195094394794060e+02 -1.195778600089746e+02 -1.196463092648311e+02 -1.197147871923100e+02 -1.197832937276135e+02 + -1.198518289326376e+02 -1.199203928745778e+02 -1.199889855161324e+02 -1.200576068078755e+02 -1.201262567563797e+02 + -1.201949353935382e+02 -1.202636427965272e+02 -1.203323790196208e+02 -1.204011439802014e+02 -1.204699376081542e+02 + -1.205387600202684e+02 -1.206076113241917e+02 -1.206764914041025e+02 -1.207454001431820e+02 -1.208143376440890e+02 + -1.208833040296615e+02 -1.209522992839752e+02 -1.210213233653680e+02 -1.210903762679893e+02 -1.211594580022500e+02 + -1.212285686077949e+02 -1.212977081155049e+02 -1.213668764919694e+02 -1.214360737100132e+02 -1.215052998316942e+02 + -1.215745549154533e+02 -1.216438389160294e+02 -1.217131517838345e+02 -1.217824935556734e+02 -1.218518642837182e+02 + -1.219212639952166e+02 -1.219906927020717e+02 -1.220601503797327e+02 -1.221296370078328e+02 -1.221991526191948e+02 + -1.222686972509000e+02 -1.223382709038720e+02 -1.224078735702578e+02 -1.224775052432531e+02 -1.225471659287695e+02 + -1.226168556825330e+02 -1.226865745477072e+02 -1.227563224673916e+02 -1.228260993926653e+02 -1.228959054065903e+02 + -1.229657405910973e+02 -1.230356048916106e+02 -1.231054982500379e+02 -1.231754207307278e+02 -1.232453724007864e+02 + -1.233153532159101e+02 -1.233853631242201e+02 -1.234554021549459e+02 -1.235254703591199e+02 -1.235955677938801e+02 + -1.236656944915691e+02 -1.237358503792446e+02 -1.238060353939673e+02 -1.238762496180971e+02 -1.239464931371069e+02 + -1.240167659036240e+02 -1.240870678602586e+02 -1.241573990423949e+02 -1.242277595040581e+02 -1.242981492810638e+02 + -1.243685683872523e+02 -1.244390167667736e+02 -1.245094943779347e+02 -1.245800013053605e+02 -1.246505376299316e+02 + -1.247211032912332e+02 -1.247916982296097e+02 -1.248623225297382e+02 -1.249329762770640e+02 -1.250036594157741e+02 + -1.250743718736609e+02 -1.251451136541969e+02 -1.252158847947410e+02 -1.252866853925174e+02 -1.253575155184925e+02 + -1.254283750787370e+02 -1.254992639825418e+02 -1.255701823169751e+02 -1.256411301759969e+02 -1.257121075033584e+02 + -1.257831142369608e+02 -1.258541504415142e+02 -1.259252161922362e+02 -1.259963114795672e+02 -1.260674362758903e+02 + -1.261385905661348e+02 -1.262097743537985e+02 -1.262809877041053e+02 -1.263522306696565e+02 -1.264235031908370e+02 + -1.264948052148923e+02 -1.265661368287249e+02 -1.266374981169807e+02 -1.267088890156212e+02 -1.267803094502130e+02 + -1.268517594534262e+02 -1.269232390831601e+02 -1.269947483911282e+02 -1.270662874069690e+02 -1.271378560782095e+02 + -1.272094543594662e+02 -1.272810823158284e+02 -1.273527400123002e+02 -1.274244274030747e+02 -1.274961444355319e+02 + -1.275678911406106e+02 -1.276396675704015e+02 -1.277114737780431e+02 -1.277833097950603e+02 -1.278551755654751e+02 + -1.279270710424012e+02 -1.279989963028243e+02 -1.280709514152536e+02 -1.281429362904217e+02 -1.282149508513121e+02 + -1.282869952276877e+02 -1.283590695463467e+02 -1.284311737154509e+02 -1.285033076302067e+02 -1.285754713526335e+02 + -1.286476649682441e+02 -1.287198884897120e+02 -1.287921419051992e+02 -1.288644251776617e+02 -1.289367382880697e+02 + -1.290090813146567e+02 -1.290814543319980e+02 -1.291538573027727e+02 -1.292262901737162e+02 -1.292987529396840e+02 + -1.293712456190937e+02 -1.294437682764910e+02 -1.295163209673579e+02 -1.295889036647941e+02 -1.296615163353197e+02 + -1.297341590015173e+02 -1.298068316903185e+02 -1.298795343899871e+02 -1.299522670904091e+02 -1.300250298266263e+02 + -1.300978226354063e+02 -1.301706455152632e+02 -1.302434984561237e+02 -1.303163814518184e+02 -1.303892945098205e+02 + -1.304622376882688e+02 -1.305352110313897e+02 -1.306082144770936e+02 -1.306812479731976e+02 -1.307543116134598e+02 + -1.308274054850011e+02 -1.309005295024521e+02 -1.309736835845235e+02 -1.310468678387340e+02 -1.311200823754845e+02 + -1.311933271278942e+02 -1.312666020134129e+02 -1.313399070640916e+02 -1.314132423401880e+02 -1.314866079001839e+02 + -1.315600037753056e+02 -1.316334298895329e+02 -1.317068861777292e+02 -1.317803727255405e+02 -1.318538896215189e+02 + -1.319274368150577e+02 -1.320010142454794e+02 -1.320746219509807e+02 -1.321482599879661e+02 -1.322219283867981e+02 + -1.322956271602158e+02 -1.323693562765047e+02 -1.324431157110688e+02 -1.325169055122373e+02 -1.325907257242561e+02 + -1.326645763021127e+02 -1.327384572099461e+02 -1.328123685377604e+02 -1.328863103680995e+02 -1.329602826278048e+02 + -1.330342852393407e+02 -1.331083182633673e+02 -1.331823817787306e+02 -1.332564757988239e+02 -1.333306003141445e+02 + -1.334047552890586e+02 -1.334789407033280e+02 -1.335531566244299e+02 -1.336274031130300e+02 -1.337016801148342e+02 + -1.337759875748336e+02 -1.338503255501201e+02 -1.339246941130952e+02 -1.339990932852997e+02 -1.340735230609586e+02 + -1.341479833758948e+02 -1.342224741891434e+02 -1.342969956109889e+02 -1.343715477431406e+02 -1.344461305017541e+02 + -1.345207438015131e+02 -1.345953877367626e+02 -1.346700624038786e+02 -1.347447677276981e+02 -1.348195036263442e+02 + -1.348942701626209e+02 -1.349690674171868e+02 -1.350438953974369e+02 -1.351187540921076e+02 -1.351936434885642e+02 + -1.352685635848754e+02 -1.353435144232942e+02 -1.354184960414874e+02 -1.354935084145923e+02 -1.355685515128237e+02 + -1.356436253492364e+02 -1.357187299541088e+02 -1.357938653837732e+02 -1.358690316768758e+02 -1.359442287752637e+02 + -1.360194566279880e+02 -1.360947153097144e+02 -1.361700048911278e+02 -1.362453253013760e+02 -1.363206764782614e+02 + -1.363960585357406e+02 -1.364714715821978e+02 -1.365469155275740e+02 -1.366223902703805e+02 -1.366978958618521e+02 + -1.367734323848502e+02 -1.368489998960226e+02 -1.369245984210613e+02 -1.370002278880492e+02 -1.370758882331093e+02 + -1.371515795221331e+02 -1.372273018270698e+02 -1.373030551143317e+02 -1.373788393429953e+02 -1.374546545483291e+02 + -1.375305007816427e+02 -1.376063780822184e+02 -1.376822864668756e+02 -1.377582258746108e+02 -1.378341962588316e+02 + -1.379101977084133e+02 -1.379862303093919e+02 -1.380622940009784e+02 -1.381383887192652e+02 -1.382145145346940e+02 + -1.382906715205862e+02 -1.383668596274320e+02 -1.384430787972570e+02 -1.385193290610606e+02 -1.385956104734610e+02 + -1.386719230945808e+02 -1.387482669582360e+02 -1.388246419875133e+02 -1.389010481148665e+02 -1.389774854209464e+02 + -1.390539539951986e+02 -1.391304538140523e+02 -1.392069848343242e+02 -1.392835470473980e+02 -1.393601404693719e+02 + -1.394367651806349e+02 -1.395134212422815e+02 -1.395901085739362e+02 -1.396668271002043e+02 -1.397435769070855e+02 + -1.398203580874878e+02 -1.398971706005607e+02 -1.399740143977720e+02 -1.400508895336226e+02 -1.401277960614956e+02 + -1.402047339272718e+02 -1.402817030764181e+02 -1.403587035602461e+02 -1.404357354502877e+02 -1.405127987931110e+02 + -1.405898936026113e+02 -1.406670197869564e+02 -1.407441772794584e+02 -1.408213662197336e+02 -1.408985867371466e+02 + -1.409758387137537e+02 -1.410531220224061e+02 -1.411304367464428e+02 -1.412077829961380e+02 -1.412851607790223e+02 + -1.413625700771281e+02 -1.414400108732392e+02 -1.415174831646232e+02 -1.415949870057306e+02 -1.416725224388105e+02 + -1.417500894001226e+02 -1.418276878351835e+02 -1.419053178325258e+02 -1.419829794809226e+02 -1.420606727270934e+02 + -1.421383975074728e+02 -1.422161538594082e+02 -1.422939418408956e+02 -1.423717614916131e+02 -1.424496128273150e+02 + -1.425274957863782e+02 -1.426054103213069e+02 -1.426833565184944e+02 -1.427613344645970e+02 -1.428393441134355e+02 + -1.429173854035838e+02 -1.429954583454632e+02 -1.430735629773860e+02 -1.431516993773805e+02 -1.432298676007922e+02 + -1.433080675725197e+02 -1.433862992191345e+02 -1.434645626043482e+02 -1.435428578032951e+02 -1.436211847996638e+02 + -1.436995435672099e+02 -1.437779341314036e+02 -1.438563565210897e+02 -1.439348107268960e+02 -1.440132967358192e+02 + -1.440918145585468e+02 -1.441703642214681e+02 -1.442489457900865e+02 -1.443275593072134e+02 -1.444062046857781e+02 + -1.444848818522611e+02 -1.445635909172288e+02 -1.446423319927847e+02 -1.447211050130976e+02 -1.447999098925679e+02 + -1.448787466444589e+02 -1.449576153140356e+02 -1.450365159757091e+02 -1.451154486823820e+02 -1.451944133717774e+02 + -1.452734099863848e+02 -1.453524386029381e+02 -1.454314992962476e+02 -1.455105919991844e+02 -1.455897166474813e+02 + -1.456688733302556e+02 -1.457480621396693e+02 -1.458272830266799e+02 -1.459065359271370e+02 -1.459858208576615e+02 + -1.460651378591126e+02 -1.461444869885314e+02 -1.462238682831965e+02 -1.463032816851561e+02 -1.463827271416525e+02 + -1.464622047159361e+02 -1.465417144784923e+02 -1.466212564127396e+02 -1.467008304928943e+02 -1.467804367434297e+02 + -1.468600751934606e+02 -1.469397458404120e+02 -1.470194486722770e+02 -1.470991836710121e+02 -1.471789508433917e+02 + -1.472587503015001e+02 -1.473385821300154e+02 -1.474184461986837e+02 -1.474983423870870e+02 -1.475782708290815e+02 + -1.476582316674545e+02 -1.477382248264445e+02 -1.478182502096616e+02 -1.478983078567520e+02 -1.479783978350921e+02 + -1.480585201869469e+02 -1.481386749269736e+02 -1.482188619845118e+02 -1.482990813088785e+02 -1.483793330146163e+02 + -1.484596172099193e+02 -1.485399338123612e+02 -1.486202827323657e+02 -1.487006640423751e+02 -1.487810778248495e+02 + -1.488615240403001e+02 -1.489420026412511e+02 -1.490225136702235e+02 -1.491030571832025e+02 -1.491836332000337e+02 + -1.492642417202360e+02 -1.493448826981615e+02 -1.494255561054278e+02 -1.495062620278810e+02 -1.495870005487025e+02 + -1.496677716261896e+02 -1.497485751994623e+02 -1.498294112558179e+02 -1.499102798158717e+02 -1.499911809853331e+02 + -1.500721148441144e+02 -1.501530812838450e+02 -1.502340802026938e+02 -1.503151117132690e+02 -1.503961759364751e+02 + -1.504772728119622e+02 -1.505584022645880e+02 -1.506395643412949e+02 -1.507207591024668e+02 -1.508019865401696e+02 + -1.508832466324269e+02 -1.509645393694111e+02 -1.510458647628492e+02 -1.511272228985386e+02 -1.512086138412552e+02 + -1.512900374976176e+02 -1.513714937855876e+02 -1.514529828266537e+02 -1.515345047392310e+02 -1.516160594259147e+02 + -1.516976467776822e+02 -1.517792668548592e+02 -1.518609197460578e+02 -1.519426054836894e+02 -1.520243240750476e+02 + -1.521060754831553e+02 -1.521878596792744e+02 -1.522696767118938e+02 -1.523515266305248e+02 -1.524334094115421e+02 + -1.525153250314230e+02 -1.525972735401888e+02 -1.526792549864990e+02 -1.527612693400200e+02 -1.528433165631959e+02 + -1.529253966685747e+02 -1.530075096900777e+02 -1.530896556970147e+02 -1.531718347321965e+02 -1.532540466970516e+02 + -1.533362915133235e+02 -1.534185693253995e+02 -1.535008802693854e+02 -1.535832242256197e+02 -1.536656010621809e+02 + -1.537480108538752e+02 -1.538304537113657e+02 -1.539129296820158e+02 -1.539954387715506e+02 -1.540779808824423e+02 + -1.541605559457948e+02 -1.542431641104905e+02 -1.543258055115917e+02 -1.544084800111010e+02 -1.544911874726015e+02 + -1.545739280390565e+02 -1.546567018609975e+02 -1.547395088398511e+02 -1.548223488576198e+02 -1.549052219677139e+02 + -1.549881282595875e+02 -1.550710677954614e+02 -1.551540406026988e+02 -1.552370465964632e+02 -1.553200857053796e+02 + -1.554031580241178e+02 -1.554862636500489e+02 -1.555694025253043e+02 -1.556525745801794e+02 -1.557357798528659e+02 + -1.558190184045264e+02 -1.559022902803117e+02 -1.559855954979769e+02 -1.560689339817060e+02 -1.561523056771075e+02 + -1.562357107090587e+02 -1.563191491909100e+02 -1.564026210106382e+02 -1.564861260558312e+02 -1.565696644378976e+02 + -1.566532362813955e+02 -1.567368415396626e+02 -1.568204801387562e+02 -1.569041520668287e+02 -1.569878573487146e+02 + -1.570715960938785e+02 -1.571553683828581e+02 -1.572391740958522e+02 -1.573230131265335e+02 -1.574068856228085e+02 + -1.574907917295132e+02 -1.575747313249683e+02 -1.576587042737324e+02 -1.577427106518309e+02 -1.578267505715277e+02 + -1.579108240785769e+02 -1.579949311783184e+02 -1.580790717809458e+02 -1.581632458187553e+02 -1.582474534075981e+02 + -1.583316946623155e+02 -1.584159695101536e+02 -1.585002778727259e+02 -1.585846198367120e+02 -1.586689954874005e+02 + -1.587534047394542e+02 -1.588378475061590e+02 -1.589223238659185e+02 -1.590068339195322e+02 -1.590913776922658e+02 + -1.591759551748261e+02 -1.592605662952183e+02 -1.593452110061037e+02 -1.594298894214712e+02 -1.595146016508511e+02 + -1.595993476246111e+02 -1.596841272537272e+02 -1.597689405507699e+02 -1.598537875632453e+02 -1.599386683768111e+02 + -1.600235830481832e+02 -1.601085314801616e+02 -1.601935135899282e+02 -1.602785295061083e+02 -1.603635793509372e+02 + -1.604486630096468e+02 -1.605337803660765e+02 -1.606189315354990e+02 -1.607041166452176e+02 -1.607893356392255e+02 + -1.608745884397152e+02 -1.609598750649831e+02 -1.610451955612870e+02 -1.611305499906227e+02 -1.612159383917271e+02 + -1.613013606945609e+02 -1.613868168398436e+02 -1.614723069201057e+02 -1.615578310304217e+02 -1.616433891242326e+02 + -1.617289811339727e+02 -1.618146070496823e+02 -1.619002668955830e+02 -1.619859607750138e+02 -1.620716887676450e+02 + -1.621574507793529e+02 -1.622432467219253e+02 -1.623290767045893e+02 -1.624149408340039e+02 -1.625008390091176e+02 + -1.625867711331680e+02 -1.626727373342588e+02 -1.627587377384768e+02 -1.628447722389764e+02 -1.629308407201184e+02 + -1.630169432640222e+02 -1.631030799800713e+02 -1.631892508889492e+02 -1.632754559784962e+02 -1.633616951938801e+02 + -1.634479685044198e+02 -1.635342760187116e+02 -1.636206178291233e+02 -1.637069938238325e+02 -1.637934038942077e+02 + -1.638798481485683e+02 -1.639663267112721e+02 -1.640528395538795e+02 -1.641393866180353e+02 -1.642259678785196e+02 + -1.643125833411851e+02 -1.643992331030405e+02 -1.644859172470150e+02 -1.645726357085657e+02 -1.646593884180614e+02 + -1.647461754329907e+02 -1.648329968179324e+02 -1.649198525387065e+02 -1.650067425502886e+02 -1.650936668630355e+02 + -1.651806255134507e+02 -1.652676185872448e+02 -1.653546461444497e+02 -1.654417080931755e+02 -1.655288043499995e+02 + -1.656159350172886e+02 -1.657031001994683e+02 -1.657902998234105e+02 -1.658775338117127e+02 -1.659648022474274e+02 + -1.660521052162188e+02 -1.661394426537408e+02 -1.662268144894047e+02 -1.663142207776613e+02 -1.664016615975541e+02 + -1.664891370014617e+02 -1.665766470055737e+02 -1.666641915079906e+02 -1.667517704334961e+02 -1.668393839316945e+02 + -1.669270321420214e+02 -1.670147149384157e+02 -1.671024321837371e+02 -1.671901839620226e+02 -1.672779703889409e+02 + -1.673657914855093e+02 -1.674536472385115e+02 -1.675415375924466e+02 -1.676294625158688e+02 -1.677174221158364e+02 + -1.678054164853866e+02 -1.678934455229663e+02 -1.679815091339810e+02 -1.680696074462591e+02 -1.681577405863894e+02 + -1.682459084535819e+02 -1.683341109324726e+02 -1.684223480767776e+02 -1.685106199767677e+02 -1.685989266998525e+02 + -1.686872682758898e+02 -1.687756446073924e+02 -1.688640556163956e+02 -1.689525014303699e+02 -1.690409821718389e+02 + -1.691294977381033e+02 -1.692180480141565e+02 -1.693066330609834e+02 -1.693952529706734e+02 -1.694839077837423e+02 + -1.695725975104607e+02 -1.696613220916933e+02 -1.697500814887782e+02 -1.698388758143547e+02 -1.699277051650943e+02 + -1.700165694224996e+02 -1.701054684738952e+02 -1.701944024450633e+02 -1.702833714670375e+02 -1.703723754534025e+02 + -1.704614143033400e+02 -1.705504880758685e+02 -1.706395968591658e+02 -1.707287406982126e+02 -1.708179196055015e+02 + -1.709071335067704e+02 -1.709963823462651e+02 -1.710856662290167e+02 -1.711749852543236e+02 -1.712643393377691e+02 + -1.713537283867857e+02 -1.714431524599174e+02 -1.715326116432521e+02 -1.716221059819435e+02 -1.717116354891412e+02 + -1.718012000909151e+02 -1.718907997312464e+02 -1.719804345128430e+02 -1.720701045346718e+02 -1.721598097220100e+02 + -1.722495499971131e+02 -1.723393254438396e+02 -1.724291361494486e+02 -1.725189820532021e+02 -1.726088630837053e+02 + -1.726987792749333e+02 -1.727887306891670e+02 -1.728787173965418e+02 -1.729687394350333e+02 -1.730587967061244e+02 + -1.731488891286860e+02 -1.732390168276344e+02 -1.733291799265234e+02 -1.734193783374131e+02 -1.735096119603506e+02 + -1.735998808588243e+02 -1.736901851222248e+02 -1.737805247801124e+02 -1.738708998286339e+02 -1.739613101901119e+02 + -1.740517558114003e+02 -1.741422368113012e+02 -1.742327533050288e+02 -1.743233052214973e+02 -1.744138924793676e+02 + -1.745045151425876e+02 -1.745951732822802e+02 -1.746858668529805e+02 -1.747765958032038e+02 -1.748673601739718e+02 + -1.749581600245709e+02 -1.750489953948396e+02 -1.751398663036498e+02 -1.752307727054541e+02 -1.753217145616989e+02 + -1.754126919262226e+02 -1.755037048571098e+02 -1.755947533370347e+02 -1.756858373371216e+02 -1.757769568577038e+02 + -1.758681119173357e+02 -1.759593025782490e+02 -1.760505288876894e+02 -1.761417907892832e+02 -1.762330882344909e+02 + -1.763244213097290e+02 -1.764157900964081e+02 -1.765071945209611e+02 -1.765986345094344e+02 -1.766901101413071e+02 + -1.767816215026837e+02 -1.768731685527375e+02 -1.769647512369523e+02 -1.770563695729838e+02 -1.771480236027573e+02 + -1.772397133931058e+02 -1.773314389867134e+02 -1.774232003047593e+02 -1.775149972814722e+02 -1.776068300247813e+02 + -1.776986986385443e+02 -1.777906030366335e+02 -1.778825431235826e+02 -1.779745189565556e+02 -1.780665306226855e+02 + -1.781585781763529e+02 -1.782506616334199e+02 -1.783427808884287e+02 -1.784349358629673e+02 -1.785271267081259e+02 + -1.786193535668995e+02 -1.787116163204012e+02 -1.788039148425030e+02 -1.788962492399977e+02 -1.789886196318098e+02 + -1.790810259524725e+02 -1.791734681201561e+02 -1.792659461719689e+02 -1.793584601742520e+02 -1.794510101913400e+02 + -1.795435962594126e+02 -1.796362183040394e+02 -1.797288762617232e+02 -1.798215702233099e+02 -1.799143002757676e+02 + -1.800070663362093e+02 -1.800998683262517e+02 -1.801927063553792e+02 -1.802855805315161e+02 -1.803784907684791e+02 + -1.804714369692463e+02 -1.805644191875481e+02 -1.806574375103104e+02 -1.807504920064915e+02 -1.808435827084130e+02 + -1.809367095198169e+02 -1.810298723599504e+02 -1.811230713386593e+02 -1.812163065647390e+02 -1.813095779521854e+02 + -1.814028854036152e+02 -1.814962289709267e+02 -1.815896087407728e+02 -1.816830247895420e+02 -1.817764771515762e+02 + -1.818699657032943e+02 -1.819634903439186e+02 -1.820570512218083e+02 -1.821506484855823e+02 -1.822442820357622e+02 + -1.823379517614509e+02 -1.824316577541746e+02 -1.825254001134493e+02 -1.826191787683301e+02 -1.827129936397535e+02 + -1.828068447866412e+02 -1.829007322929544e+02 -1.829946562048259e+02 -1.830886165373395e+02 -1.831826132192083e+02 + -1.832766461922778e+02 -1.833707155372913e+02 -1.834648213380734e+02 -1.835589635518759e+02 -1.836531421229175e+02 + -1.837473570698571e+02 -1.838416084358642e+02 -1.839358962877114e+02 -1.840302206684350e+02 -1.841245815025237e+02 + -1.842189787235884e+02 -1.843134124202761e+02 -1.844078826806361e+02 -1.845023894352911e+02 -1.845969326205561e+02 + -1.846915123529413e+02 -1.847861287393624e+02 -1.848807816681596e+02 -1.849754710227848e+02 -1.850701968857076e+02 + -1.851649593688754e+02 -1.852597585031284e+02 -1.853545942804591e+02 -1.854494666185751e+02 -1.855443754618861e+02 + -1.856393209358935e+02 -1.857343031604275e+02 -1.858293220515437e+02 -1.859243775087027e+02 -1.860194695687597e+02 + -1.861145983033516e+02 -1.862097637858479e+02 -1.863049660540466e+02 -1.864002050017272e+02 -1.864954805431744e+02 + -1.865907928187129e+02 -1.866861419596013e+02 -1.867815278347963e+02 -1.868769503164351e+02 -1.869724095516791e+02 + -1.870679056966096e+02 -1.871634386679672e+02 -1.872590083560524e+02 -1.873546147847470e+02 -1.874502580123688e+02 + -1.875459381013990e+02 -1.876416550903780e+02 -1.877374089179168e+02 -1.878331995340542e+02 -1.879290270344656e+02 + -1.880248915055781e+02 -1.881207928511883e+02 -1.882167309755823e+02 -1.883127059676341e+02 -1.884087179360091e+02 + -1.885047668839511e+02 -1.886008527852007e+02 -1.886969756009047e+02 -1.887931353152428e+02 -1.888893320171184e+02 + -1.889855657829229e+02 -1.890818365342772e+02 -1.891781441947396e+02 -1.892744888503877e+02 -1.893708705921393e+02 + -1.894672893677523e+02 -1.895637451161106e+02 -1.896602378837592e+02 -1.897567677352667e+02 -1.898533346996371e+02 + -1.899499387807097e+02 -1.900465799172331e+02 -1.901432580674921e+02 -1.902399733330072e+02 -1.903367258125687e+02 + -1.904335154508099e+02 -1.905303421711713e+02 -1.906272059664800e+02 -1.907241068668330e+02 -1.908210449820209e+02 + -1.909180203947948e+02 -1.910150330000556e+02 -1.911120827002041e+02 -1.912091696154924e+02 -1.913062938635582e+02 + -1.914034553337337e+02 -1.915006539182285e+02 -1.915978897490666e+02 -1.916951629619544e+02 -1.917924734675151e+02 + -1.918898211586861e+02 -1.919872060827436e+02 -1.920846283161583e+02 -1.921820878978424e+02 -1.922795848438701e+02 + -1.923771191165239e+02 -1.924746906889474e+02 -1.925722996315181e+02 -1.926699460069926e+02 -1.927676297504074e+02 + -1.928653507913461e+02 -1.929631091652971e+02 -1.930609049367203e+02 -1.931587381800568e+02 -1.932566089358633e+02 + -1.933545170991796e+02 -1.934524625825225e+02 -1.935504455138344e+02 -1.936484660231147e+02 -1.937465240331655e+02 + -1.938446194535055e+02 -1.939427523477156e+02 -1.940409227930324e+02 -1.941391307672549e+02 -1.942373762317632e+02 + -1.943356591817002e+02 -1.944339796386271e+02 -1.945323376960147e+02 -1.946307334225392e+02 -1.947291667157886e+02 + -1.948276374816129e+02 -1.949261458299981e+02 -1.950246918758956e+02 -1.951232755499811e+02 -1.952218967672293e+02 + -1.953205555640852e+02 -1.954192520091347e+02 -1.955179861780584e+02 -1.956167581109271e+02 -1.957155676982765e+02 + -1.958144148511486e+02 -1.959132997121442e+02 -1.960122224157670e+02 -1.961111828325720e+02 -1.962101808324193e+02 + -1.963092165463342e+02 -1.964082901163006e+02 -1.965074014669716e+02 -1.966065505047830e+02 -1.967057372806285e+02 + -1.968049618689787e+02 -1.969042242941536e+02 -1.970035245570506e+02 -1.971028626150270e+02 -1.972022384428475e+02 + -1.973016521284466e+02 -1.974011037520065e+02 -1.975005932495305e+02 -1.976001205455443e+02 -1.976996856628438e+02 + -1.977992886519515e+02 -1.978989295760255e+02 -1.979986084767589e+02 -1.980983252973461e+02 -1.981980799861144e+02 + -1.982978726104215e+02 -1.983977032396124e+02 -1.984975718319531e+02 -1.985974783450467e+02 -1.986974228449224e+02 + -1.987974053983538e+02 -1.988974259666649e+02 -1.989974844962869e+02 -1.990975809795281e+02 -1.991977154414513e+02 + -1.992978879922588e+02 -1.993980987169082e+02 -1.994983475142392e+02 -1.995986342853965e+02 -1.996989591268633e+02 + -1.997993221398394e+02 -1.998997232490551e+02 -2.000001623829878e+02 -2.001006396615730e+02 -2.002011551976202e+02 + -2.003017088839768e+02 -2.004023006006677e+02 -2.005029303963877e+02 -2.006035983645368e+02 -2.007043046086661e+02 + -2.008050491826254e+02 -2.009058319313084e+02 -2.010066527248718e+02 -2.011075117434797e+02 -2.012084091672780e+02 + -2.013093448663347e+02 -2.014103186854462e+02 -2.015113306783989e+02 -2.016123809487723e+02 -2.017134695903300e+02 + -2.018145966520298e+02 -2.019157620134241e+02 -2.020169655668574e+02 -2.021182074252480e+02 -2.022194877090834e+02 + -2.023208063485549e+02 -2.024221632682046e+02 -2.025235585602719e+02 -2.026249923196053e+02 -2.027264644837921e+02 + -2.028279749730532e+02 -2.029295237954015e+02 -2.030311109992572e+02 -2.031327367068774e+02 -2.032344010007734e+02 + -2.033361037306376e+02 -2.034378447601810e+02 -2.035396242420057e+02 -2.036414423389593e+02 -2.037432989659801e+02 + -2.038451940079258e+02 -2.039471274772405e+02 -2.040490994323931e+02 -2.041511099883670e+02 -2.042531592234435e+02 + -2.043552470125819e+02 -2.044573732391661e+02 -2.045595380236004e+02 -2.046617414909655e+02 -2.047639835480296e+02 + -2.048662640993485e+02 -2.049685832589404e+02 -2.050709411450770e+02 -2.051733376835843e+02 -2.052757727854042e+02 + -2.053782464943871e+02 -2.054807588829732e+02 -2.055833100050551e+02 -2.056858998827895e+02 -2.057885284299405e+02 + -2.058911955783421e+02 -2.059939014405005e+02 -2.060966461276917e+02 -2.061994295656012e+02 -2.063022516666823e+02 + -2.064051124760526e+02 -2.065080120661920e+02 -2.066109504863692e+02 -2.067139277576765e+02 -2.068169438117121e+02 + -2.069199985973326e+02 -2.070230922219201e+02 -2.071262247789163e+02 -2.072293961474789e+02 -2.073326062201854e+02 + -2.074358551575783e+02 -2.075391431180403e+02 -2.076424699833530e+02 -2.077458356179337e+02 -2.078492400933438e+02 + -2.079526835133251e+02 -2.080561659031989e+02 -2.081596872578975e+02 -2.082632475292167e+02 -2.083668466898186e+02 + -2.084704848389632e+02 -2.085741620623951e+02 -2.086778782651976e+02 -2.087816333480700e+02 -2.088854273748348e+02 + -2.089892604383302e+02 -2.090931325843364e+02 -2.091970438282278e+02 -2.093009941108145e+02 -2.094049833841979e+02 + -2.095090117202067e+02 -2.096130791905716e+02 -2.097171857469022e+02 -2.098213313423286e+02 -2.099255160561849e+02 + -2.100297399619016e+02 -2.101340029830976e+02 -2.102383050403986e+02 -2.103426461922712e+02 -2.104470265253758e+02 + -2.105514461013085e+02 -2.106559049410852e+02 -2.107604029284658e+02 -2.108649399745926e+02 -2.109695162373935e+02 + -2.110741318706494e+02 -2.111787867647689e+02 -2.112834807867834e+02 -2.113882139735869e+02 -2.114929864074473e+02 + -2.115977981822681e+02 -2.117026493533424e+02 -2.118075398098887e+02 -2.119124694556393e+02 -2.120174384184601e+02 + -2.121224468216736e+02 -2.122274945462991e+02 -2.123325814769304e+02 -2.124377077547605e+02 -2.125428735238108e+02 + -2.126480786828185e+02 -2.127533231155498e+02 -2.128586068911697e+02 -2.129639301084739e+02 -2.130692927993837e+02 + -2.131746949622090e+02 -2.132801365276879e+02 -2.133856174488912e+02 -2.134911378357916e+02 -2.135966977951921e+02 + -2.137022972643151e+02 -2.138079361581469e+02 -2.139136144723085e+02 -2.140193322420075e+02 -2.141250895801643e+02 + -2.142308865713384e+02 -2.143367231089345e+02 -2.144425990899214e+02 -2.145485146166798e+02 -2.146544697958461e+02 + -2.147604645456698e+02 -2.148664987887291e+02 -2.149725726533044e+02 -2.150786862586875e+02 -2.151848394825147e+02 + -2.152910321964648e+02 -2.153972644900385e+02 -2.155035364828845e+02 -2.156098481974242e+02 -2.157161996246267e+02 + -2.158225907268823e+02 -2.159290214790141e+02 -2.160354919341570e+02 -2.161420021424622e+02 -2.162485520638355e+02 + -2.163551416576007e+02 -2.164617709709994e+02 -2.165684400663080e+02 -2.166751489780245e+02 -2.167818977145845e+02 + -2.168886862079515e+02 -2.169955144082682e+02 -2.171023824148656e+02 -2.172092903208214e+02 -2.173162380450137e+02 + -2.174232255130703e+02 -2.175302528518165e+02 -2.176373201799158e+02 -2.177444273821862e+02 -2.178515743317612e+02 + -2.179587610888773e+02 -2.180659877532527e+02 -2.181732543954297e+02 -2.182805610486399e+02 -2.183879076260487e+02 + -2.184952940541088e+02 -2.186027204324891e+02 -2.187101868605661e+02 -2.188176932633304e+02 -2.189252395535715e+02 + -2.190328257696591e+02 -2.191404519835346e+02 -2.192481182758485e+02 -2.193558246894080e+02 -2.194635711069396e+02 + -2.195713574321837e+02 -2.196791838130171e+02 -2.197870503917547e+02 -2.198949570443306e+02 -2.200029036478261e+02 + -2.201108903502962e+02 -2.202189173008489e+02 -2.203269843818326e+02 -2.204350914576510e+02 -2.205432385876858e+02 + -2.206514258738742e+02 -2.207596533933995e+02 -2.208679211808499e+02 -2.209762291251867e+02 -2.210845771334710e+02 + -2.211929653307878e+02 -2.213013938407175e+02 -2.214098625627986e+02 -2.215183713969045e+02 -2.216269204682873e+02 + -2.217355099024502e+02 -2.218441396005216e+02 -2.219528094497077e+02 -2.220615195058979e+02 -2.221702698646027e+02 + -2.222790606111339e+02 -2.223878917838657e+02 -2.224967632436199e+02 -2.226056748766821e+02 -2.227146268487432e+02 + -2.228236193240230e+02 -2.229326521814535e+02 -2.230417252803019e+02 -2.231508386864637e+02 -2.232599925050409e+02 + -2.233691867913336e+02 -2.234784215614204e+02 -2.235876967242961e+02 -2.236970122086523e+02 -2.238063681290529e+02 + -2.239157646015454e+02 -2.240252015622403e+02 -2.241346789340316e+02 -2.242441967668838e+02 -2.243537551247286e+02 + -2.244633540002964e+02 -2.245729933685804e+02 -2.246826732048266e+02 -2.247923935126906e+02 -2.249021544092157e+02 + -2.250119559889259e+02 -2.251217981428817e+02 -2.252316807628839e+02 -2.253416039471573e+02 -2.254515678046834e+02 + -2.255615722810486e+02 -2.256716173029860e+02 -2.257817028852108e+02 -2.258918290784169e+02 -2.260019959892315e+02 + -2.261122036854213e+02 -2.262224520233766e+02 -2.263327408802082e+02 -2.264430704272837e+02 -2.265534408332552e+02 + -2.266638519616550e+02 -2.267743036660735e+02 -2.268847960654481e+02 -2.269953292962885e+02 -2.271059033000460e+02 + -2.272165179952407e+02 -2.273271734037251e+02 -2.274378695801794e+02 -2.275486066072624e+02 -2.276593845334010e+02 + -2.277702032421150e+02 -2.278810626343348e+02 -2.279919628455381e+02 -2.281029040172474e+02 -2.282138860806176e+02 + -2.283249089376286e+02 -2.284359725839265e+02 -2.285470770593814e+02 -2.286582224870930e+02 -2.287694089544078e+02 + -2.288806363224278e+02 -2.289919044640359e+02 -2.291032135254801e+02 -2.292145636582007e+02 -2.293259547610424e+02 + -2.294373867252146e+02 -2.295488596639802e+02 -2.296603736910369e+02 -2.297719286997702e+02 -2.298835245768747e+02 + -2.299951614025932e+02 -2.301068392919157e+02 -2.302185583052736e+02 -2.303303184582155e+02 -2.304421196413199e+02 + -2.305539617649887e+02 -2.306658449438852e+02 -2.307777692999738e+02 -2.308897347801602e+02 -2.310017413072381e+02 + -2.311137888826106e+02 -2.312258775426401e+02 -2.313380073849178e+02 -2.314501784790464e+02 -2.315623907214496e+02 + -2.316746440227619e+02 -2.317869385236417e+02 -2.318992743527083e+02 -2.320116513604021e+02 -2.321240694060221e+02 + -2.322365286624793e+02 -2.323490293043759e+02 -2.324615711994689e+02 -2.325741541998047e+02 -2.326867784014305e+02 + -2.327994439322068e+02 -2.329121508032486e+02 -2.330248989898164e+02 -2.331376884404961e+02 -2.332505191272475e+02 + -2.333633911421986e+02 -2.334763045743060e+02 -2.335892593796759e+02 -2.337022554911374e+02 -2.338152928812627e+02 + -2.339283715644559e+02 -2.340414916827054e+02 -2.341546533474617e+02 -2.342678564204413e+02 -2.343811007676228e+02 + -2.344943865217682e+02 -2.346077138212040e+02 -2.347210825597340e+02 -2.348344926295532e+02 -2.349479441609453e+02 + -2.350614372851493e+02 -2.351749718991416e+02 -2.352885478850955e+02 -2.354021653002366e+02 -2.355158242429473e+02 + -2.356295248011875e+02 -2.357432670145577e+02 -2.358570507396431e+02 -2.359708758587992e+02 -2.360847425404777e+02 + -2.361986509531367e+02 -2.363126009791645e+02 -2.364265924750662e+02 -2.365406254798825e+02 -2.366547000814751e+02 + -2.367688163804559e+02 -2.368829744348273e+02 -2.369971741194025e+02 -2.371114153287764e+02 -2.372256982198593e+02 + -2.373400229428812e+02 -2.374543893590377e+02 -2.375687973238754e+02 -2.376832469593778e+02 -2.377977384043928e+02 + -2.379122715987879e+02 -2.380268464580362e+02 -2.381414629990116e+02 -2.382561212769444e+02 -2.383708213990897e+02 + -2.384855634334210e+02 -2.386003472387607e+02 -2.387151726904082e+02 -2.388300399387221e+02 -2.389449491374237e+02 + -2.390599001786255e+02 -2.391748929369255e+02 -2.392899274784697e+02 -2.394050039061344e+02 -2.395201222781684e+02 + -2.396352826134916e+02 -2.397504848183333e+02 -2.398657288168898e+02 -2.399810147179146e+02 -2.400963426277219e+02 + -2.402117124583125e+02 -2.403271241258893e+02 -2.404425777577767e+02 -2.405580734795174e+02 -2.406736111984077e+02 + -2.407891907995794e+02 -2.409048122977546e+02 -2.410204757554728e+02 -2.411361812969551e+02 -2.412519290053517e+02 + -2.413677187378485e+02 -2.414835503650167e+02 -2.415994240369316e+02 -2.417153399089511e+02 -2.418312978780588e+02 + -2.419472978191357e+02 -2.420633397770240e+02 -2.421794238369657e+02 -2.422955500758429e+02 -2.424117185344053e+02 + -2.425279291172331e+02 -2.426441817421263e+02 -2.427604765159341e+02 -2.428768135466203e+02 -2.429931927575585e+02 + -2.431096140668555e+02 -2.432260775561414e+02 -2.433425833145866e+02 -2.434591312980004e+02 -2.435757214497087e+02 + -2.436923537964655e+02 -2.438090283895336e+02 -2.439257452947832e+02 -2.440425045463603e+02 -2.441593060369063e+02 + -2.442761496825792e+02 -2.443930356351059e+02 -2.445099640393889e+02 -2.446269347774639e+02 -2.447439477225602e+02 + -2.448610029755453e+02 -2.449781006544274e+02 -2.450952407181387e+02 -2.452124231032676e+02 -2.453296478161015e+02 + -2.454469148921256e+02 -2.455642244139170e+02 -2.456815764363974e+02 -2.457989708567751e+02 -2.459164075868465e+02 + -2.460338867544718e+02 -2.461514084874868e+02 -2.462689726975661e+02 -2.463865792818051e+02 -2.465042282951439e+02 + -2.466219198202147e+02 -2.467396538925739e+02 -2.468574305187124e+02 -2.469752496359336e+02 -2.470931112029433e+02 + -2.472110153332446e+02 -2.473289621270786e+02 -2.474469514768406e+02 -2.475649832814832e+02 -2.476830576740329e+02 + -2.478011747871381e+02 -2.479193345178656e+02 -2.480375367456449e+02 -2.481557815149384e+02 -2.482740689103307e+02 + -2.483923990118631e+02 -2.485107718618152e+02 -2.486291873559622e+02 -2.487476454083695e+02 -2.488661461527674e+02 + -2.489846897184250e+02 -2.491032759971039e+02 -2.492219048675295e+02 -2.493405763937896e+02 -2.494592906781626e+02 + -2.495780477903268e+02 -2.496968477531592e+02 -2.498156904349301e+02 -2.499345757349562e+02 -2.500535038313474e+02 + -2.501724748933778e+02 -2.502914887761886e+02 -2.504105453266259e+02 -2.505296446724864e+02 -2.506487869586733e+02 + -2.507679721175656e+02 -2.508872000588222e+02 -2.510064708137437e+02 -2.511257844438344e+02 -2.512451410097723e+02 + -2.513645405425343e+02 -2.514839829551193e+02 -2.516034681806881e+02 -2.517229963510282e+02 -2.518425675906852e+02 + -2.519621817966139e+02 -2.520818388494823e+02 -2.522015387924022e+02 -2.523212817096907e+02 -2.524410676880414e+02 + -2.525608967718439e+02 -2.526807688338955e+02 -2.528006837687293e+02 -2.529206417294141e+02 -2.530406428681973e+02 + -2.531606870755077e+02 -2.532807742357317e+02 -2.534009044709059e+02 -2.535210779031462e+02 -2.536412944172385e+02 + -2.537615538911017e+02 -2.538818564125164e+02 -2.540022021028112e+02 -2.541225910076441e+02 -2.542430231270507e+02 + -2.543634983542462e+02 -2.544840166121418e+02 -2.546045780492533e+02 -2.547251828099108e+02 -2.548458307960956e+02 + -2.549665218842466e+02 -2.550872560909815e+02 -2.552080334828205e+02 -2.553288541857174e+02 -2.554497182835964e+02 + -2.555706256328296e+02 -2.556915761009198e+02 -2.558125698274442e+02 -2.559336069560756e+02 -2.560546873747970e+02 + -2.561758109689862e+02 -2.562969778692906e+02 -2.564181882127723e+02 -2.565394419168841e+02 -2.566607388759341e+02 + -2.567820791112567e+02 -2.569034626862424e+02 -2.570248897054782e+02 -2.571463602359873e+02 -2.572678741533426e+02 + -2.573894313462550e+02 -2.575110319474426e+02 -2.576326760938784e+02 -2.577543636955484e+02 -2.578760946446893e+02 + -2.579978689895271e+02 -2.581196868133063e+02 -2.582415481833543e+02 -2.583634531275302e+02 -2.584854015317316e+02 + -2.586073933093156e+02 -2.587294286254374e+02 -2.588515076317444e+02 -2.589736301740566e+02 -2.590957960996737e+02 + -2.592180055676404e+02 -2.593402587446819e+02 -2.594625555165019e+02 -2.595848957490105e+02 -2.597072795099639e+02 + -2.598297069067293e+02 -2.599521780032740e+02 -2.600746928207452e+02 -2.601972512524080e+02 -2.603198532148209e+02 + -2.604424988455961e+02 -2.605651882765137e+02 -2.606879213949725e+02 -2.608106980758151e+02 -2.609335183880386e+02 + -2.610563824372016e+02 -2.611792902809524e+02 -2.613022419394243e+02 -2.614252373306019e+02 -2.615482763897488e+02 + -2.616713592233935e+02 -2.617944859260970e+02 -2.619176563732862e+02 -2.620408704583867e+02 -2.621641283659552e+02 + -2.622874302706103e+02 -2.624107760160917e+02 -2.625341654302978e+02 -2.626575986086381e+02 -2.627810756876698e+02 + -2.629045967010318e+02 -2.630281616427657e+02 -2.631517704514422e+02 -2.632754230861743e+02 -2.633991196437133e+02 + -2.635228602105341e+02 -2.636466446943674e+02 -2.637704729984163e+02 -2.638943451865159e+02 -2.640182613561179e+02 + -2.641422215785110e+02 -2.642662258795402e+02 -2.643902741294400e+02 -2.645143662245587e+02 -2.646385023213122e+02 + -2.647626825745115e+02 -2.648869068724856e+02 -2.650111750962730e+02 -2.651354873642347e+02 -2.652598438005879e+02 + -2.653842443156531e+02 -2.655086888035231e+02 -2.656331773072787e+02 -2.657577099091213e+02 -2.658822866987512e+02 + -2.660069077230897e+02 -2.661315728504449e+02 -2.662562819710931e+02 -2.663810352417937e+02 -2.665058328192844e+02 + -2.666306745937331e+02 -2.667555604333347e+02 -2.668804903849584e+02 -2.670054645383429e+02 -2.671304829760297e+02 + -2.672555457413816e+02 -2.673806527282453e+02 -2.675058038464400e+02 -2.676309992191929e+02 -2.677562389652032e+02 + -2.678815229716541e+02 -2.680068511277727e+02 -2.681322235624782e+02 -2.682576404136338e+02 -2.683831016151858e+02 + -2.685086070756685e+02 -2.686341568058856e+02 -2.687597508516357e+02 -2.688853892964312e+02 -2.690110721950252e+02 + -2.691367994494158e+02 -2.692625709807897e+02 -2.693883869398372e+02 -2.695142474621058e+02 -2.696401523930688e+02 + -2.697661015819900e+02 -2.698920951833660e+02 -2.700181333642693e+02 -2.701442160368443e+02 -2.702703430840482e+02 + -2.703965145270174e+02 -2.705227304331903e+02 -2.706489909170355e+02 -2.707752960482972e+02 -2.709016456707917e+02 + -2.710280396495872e+02 -2.711544781606855e+02 -2.712809613853167e+02 -2.714074892146895e+02 -2.715340615102555e+02 + -2.716606783044584e+02 -2.717873396730564e+02 -2.719140456940721e+02 -2.720407964136753e+02 -2.721675917483545e+02 + -2.722944316245073e+02 -2.724213161378437e+02 -2.725482453844213e+02 -2.726752192923742e+02 -2.728022377909456e+02 + -2.729293009817382e+02 -2.730564089616648e+02 -2.731835616365174e+02 -2.733107589046467e+02 -2.734380008257563e+02 + -2.735652874983575e+02 -2.736926190148396e+02 -2.738199954194386e+02 -2.739474165698984e+02 -2.740748823405867e+02 + -2.742023928588563e+02 -2.743299482670098e+02 -2.744575485141638e+02 -2.745851935229188e+02 -2.747128833029967e+02 + -2.748406178969678e+02 -2.749683973916734e+02 -2.750962218440648e+02 -2.752240911472609e+02 -2.753520052060601e+02 + -2.754799641358123e+02 -2.756079680559450e+02 -2.757360168916492e+02 -2.758641105650285e+02 -2.759922491800748e+02 + -2.761204328366440e+02 -2.762486614361617e+02 -2.763769348745897e+02 -2.765052532244616e+02 -2.766336165883748e+02 + -2.767620250126050e+02 -2.768904785041199e+02 -2.770189769689730e+02 -2.771475203398639e+02 -2.772761087569904e+02 + -2.774047423518460e+02 -2.775334210136085e+02 -2.776621446145333e+02 -2.777909132015001e+02 -2.779197268642361e+02 + -2.780485856892346e+02 -2.781774897218528e+02 -2.783064388461343e+02 -2.784354329669438e+02 -2.785644722337429e+02 + -2.786935567875348e+02 -2.788226864908934e+02 -2.789518612068105e+02 -2.790810810783757e+02 -2.792103462555617e+02 + -2.793396566357773e+02 -2.794690121008859e+02 -2.795984127231330e+02 -2.797278586088501e+02 -2.798573498103315e+02 + -2.799868863353985e+02 -2.801164680680156e+02 -2.802460949220819e+02 -2.803757670550874e+02 -2.805054846206144e+02 + -2.806352475130235e+02 -2.807650555997772e+02 -2.808949088999684e+02 -2.810248074853591e+02 -2.811547514867556e+02 + -2.812847409903677e+02 -2.814147758449749e+02 -2.815448559108459e+02 -2.816749813316353e+02 -2.818051522586102e+02 + -2.819353685901064e+02 -2.820656302199222e+02 -2.821959372766401e+02 -2.823262898869716e+02 -2.824566879353637e+02 + -2.825871312931868e+02 -2.827176200217700e+02 -2.828481542276227e+02 -2.829787340080183e+02 -2.831093594072626e+02 + -2.832400302670260e+02 -2.833707464559445e+02 -2.835015081531469e+02 -2.836323155420096e+02 -2.837631685124079e+02 + -2.838940669226656e+02 -2.840250107984012e+02 -2.841560002155769e+02 -2.842870352842360e+02 -2.844181160721325e+02 + -2.845492424437817e+02 -2.846804142799303e+02 -2.848116317294889e+02 -2.849428949404899e+02 -2.850742037892878e+02 + -2.852055581519247e+02 -2.853369581748677e+02 -2.854684040068092e+02 -2.855998955349205e+02 -2.857314326251873e+02 + -2.858630153203723e+02 -2.859946437114748e+02 -2.861263179056654e+02 -2.862580379663874e+02 -2.863898037660037e+02 + -2.865216151879669e+02 -2.866534723511688e+02 -2.867853753832939e+02 -2.869173242117615e+02 -2.870493187426322e+02 + -2.871813589967982e+02 -2.873134450373917e+02 -2.874455769816758e+02 -2.875777549027032e+02 -2.877099786425546e+02 + -2.878422480619707e+02 -2.879745633273037e+02 -2.881069246090204e+02 -2.882393317884377e+02 -2.883717847366556e+02 + -2.885042835730584e+02 -2.886368284288774e+02 -2.887694192344474e+02 -2.889020558953364e+02 -2.890347384189399e+02 + -2.891674668528066e+02 -2.893002413032724e+02 -2.894330618447220e+02 -2.895659283649483e+02 -2.896988407604515e+02 + -2.898317991491523e+02 -2.899648036558058e+02 -2.900978542110840e+02 -2.902309507220182e+02 -2.903640931951591e+02 + -2.904972816775983e+02 -2.906305162790740e+02 -2.907637970750559e+02 -2.908971239412933e+02 -2.910304967707643e+02 + -2.911639157250792e+02 -2.912973809535366e+02 -2.914308922875549e+02 -2.915644495654761e+02 -2.916980529712119e+02 + -2.918317026983915e+02 -2.919653986339440e+02 -2.920991406314096e+02 -2.922329287174719e+02 -2.923667629702973e+02 + -2.925006435008390e+02 -2.926345703772706e+02 -2.927685434638595e+02 -2.929025626397000e+02 -2.930366280470975e+02 + -2.931707398343328e+02 -2.933048979103752e+02 -2.934391021578708e+02 -2.935733525934834e+02 -2.937076492857184e+02 + -2.938419923764308e+02 -2.939763819565550e+02 -2.941108178399977e+02 -2.942452998623305e+02 -2.943798282228154e+02 + -2.945144031200941e+02 -2.946490243866398e+02 -2.947836918481424e+02 -2.949184056693277e+02 -2.950531660302706e+02 + -2.951879728334102e+02 -2.953228259514730e+02 -2.954577254159683e+02 -2.955926713017622e+02 -2.957276636983648e+02 + -2.958627026572042e+02 -2.959977880627373e+02 -2.961329198152110e+02 -2.962680980450039e+02 -2.964033228802077e+02 + -2.965385942096344e+02 -2.966739119278574e+02 -2.968092761917713e+02 -2.969446871501122e+02 -2.970801446566606e+02 + -2.972156485544735e+02 -2.973511989386669e+02 -2.974867959450954e+02 -2.976224396205114e+02 -2.977581299655766e+02 + -2.978938668856917e+02 -2.980296503111913e+02 -2.981654803674056e+02 -2.983013571739824e+02 -2.984372806328453e+02 + -2.985732506311156e+02 -2.987092672144286e+02 -2.988453304703744e+02 -2.989814404958496e+02 -2.991175973412398e+02 + -2.992538008615809e+02 -2.993900509369414e+02 -2.995263477428711e+02 -2.996626914493826e+02 -2.997990819088619e+02 + -2.999355189707111e+02 -3.000720027900217e+02 -3.002085335269560e+02 -3.003451110562723e+02 -3.004817352353309e+02 + -3.006184061373012e+02 -3.007551238767678e+02 -3.008918885181671e+02 -3.010287000846923e+02 -3.011655584847104e+02 + -3.013024636430795e+02 -3.014394156654455e+02 -3.015764146559894e+02 -3.017134605322491e+02 -3.018505532010304e+02 + -3.019876927128527e+02 -3.021248791518991e+02 -3.022621125932933e+02 -3.023993930706231e+02 -3.025367204603900e+02 + -3.026740946641424e+02 -3.028115158406990e+02 -3.029489841386069e+02 -3.030864994080570e+02 -3.032240615026816e+02 + -3.033616705882347e+02 -3.034993268395738e+02 -3.036370301558538e+02 -3.037747804087723e+02 -3.039125776359002e+02 + -3.040504219146317e+02 -3.041883133157825e+02 -3.043262518737324e+02 -3.044642374836954e+02 -3.046022700638564e+02 + -3.047403497634464e+02 -3.048784767248004e+02 -3.050166508316213e+02 -3.051548719471290e+02 -3.052931401112401e+02 + -3.054314554166776e+02 -3.055698179906950e+02 -3.057082279030724e+02 -3.058466849591645e+02 -3.059851889955948e+02 + -3.061237402384871e+02 -3.062623389075358e+02 -3.064009848072192e+02 -3.065396777363650e+02 -3.066784178864098e+02 + -3.068172054654241e+02 -3.069560403554044e+02 -3.070949224023651e+02 -3.072338516344630e+02 -3.073728281334552e+02 + -3.075118520133569e+02 -3.076509233435525e+02 -3.077900419826468e+02 -3.079292078053290e+02 -3.080684209614084e+02 + -3.082076816048298e+02 -3.083469896309615e+02 -3.084863449149456e+02 -3.086257475095906e+02 -3.087651975081579e+02 + -3.089046949880547e+02 -3.090442399817611e+02 -3.091838323579038e+02 -3.093234720151574e+02 -3.094631591362355e+02 + -3.096028938900603e+02 -3.097426761063483e+02 -3.098825056148365e+02 -3.100223825845469e+02 -3.101623071983122e+02 + -3.103022793549238e+02 -3.104422989228102e+02 -3.105823659329897e+02 -3.107224804626276e+02 -3.108626426108901e+02 + -3.110028524323948e+02 -3.111431097815640e+02 -3.112834145351391e+02 -3.114237668593314e+02 -3.115641669247677e+02 + -3.117046146302696e+02 -3.118451098470761e+02 -3.119856526079039e+02 -3.121262429897644e+02 -3.122668810853719e+02 + -3.124075669478935e+02 -3.125483004566077e+02 -3.126890815070839e+02 -3.128299102339429e+02 -3.129707867704560e+02 + -3.131117110054437e+02 -3.132526828292356e+02 -3.133937023826453e+02 -3.135347698019019e+02 -3.136758849544115e+02 + -3.138170476993112e+02 -3.139582581314797e+02 -3.140995163841689e+02 -3.142408225083815e+02 -3.143821765079714e+02 + -3.145235782804463e+02 -3.146650277504123e+02 -3.148065250572144e+02 -3.149480703283944e+02 -3.150896634295446e+02 + -3.152313042212708e+02 -3.153729928061792e+02 -3.155147293192109e+02 -3.156565137826469e+02 -3.157983461803634e+02 + -3.159402264552761e+02 -3.160821545730877e+02 -3.162241306316100e+02 -3.163661547129774e+02 -3.165082267045055e+02 + -3.166503465083330e+02 -3.167925142807053e+02 -3.169347301718565e+02 -3.170769940538677e+02 -3.172193057829434e+02 + -3.173616654299331e+02 -3.175040731106142e+02 -3.176465289058318e+02 -3.177890328440690e+02 -3.179315847792938e+02 + -3.180741845934695e+02 -3.182168324550577e+02 -3.183595285351408e+02 -3.185022727287870e+02 -3.186450649049847e+02 + -3.187879051044167e+02 -3.189307934072479e+02 -3.190737298798787e+02 -3.192167145562098e+02 -3.193597473539087e+02 + -3.195028282067584e+02 -3.196459572292360e+02 -3.197891345287240e+02 -3.199323600035334e+02 -3.200756335516368e+02 + -3.202189552787263e+02 -3.203623252990410e+02 -3.205057435532916e+02 -3.206492099607363e+02 -3.207927245283494e+02 + -3.209362873029775e+02 -3.210798984032395e+02 -3.212235579095965e+02 -3.213672656781062e+02 -3.215110215776564e+02 + -3.216548257528610e+02 -3.217986783602123e+02 -3.219425793279964e+02 -3.220865285490494e+02 -3.222305260026159e+02 + -3.223745717228416e+02 -3.225186658770672e+02 -3.226628085862362e+02 -3.228069996525048e+02 -3.229512388959131e+02 + -3.230955265268207e+02 -3.232398627556209e+02 -3.233842474025269e+02 -3.235286802821290e+02 -3.236731615767077e+02 + -3.238176914785998e+02 -3.239622698526831e+02 -3.241068965416273e+02 -3.242515716267282e+02 -3.243962952303619e+02 + -3.245410674006047e+02 -3.246858881442026e+02 -3.248307573768830e+02 -3.249756750377737e+02 -3.251206412506237e+02 + -3.252656561247559e+02 -3.254107195271718e+02 -3.255558313340717e+02 -3.257009917007768e+02 -3.258462007853361e+02 + -3.259914584775946e+02 -3.261367646471811e+02 -3.262821193510638e+02 -3.264275226864755e+02 -3.265729747243638e+02 + -3.267184754961565e+02 -3.268640249014856e+02 -3.270096228564299e+02 -3.271552694746495e+02 -3.273009648690628e+02 + -3.274467089520415e+02 -3.275925016223748e+02 -3.277383429250694e+02 -3.278842329472037e+02 -3.280301717979274e+02 + -3.281761595333842e+02 -3.283221959756238e+02 -3.284682809773962e+02 -3.286144147483458e+02 -3.287605974914733e+02 + -3.289068290263132e+02 -3.290531091681708e+02 -3.291994380988984e+02 -3.293458160115122e+02 -3.294922427771376e+02 + -3.296387182388717e+02 -3.297852424495862e+02 -3.299318155124273e+02 -3.300784375218649e+02 -3.302251085265343e+02 + -3.303718284004092e+02 -3.305185970357408e+02 -3.306654145725511e+02 -3.308122811494171e+02 -3.309591966513669e+02 + -3.311061609508276e+02 -3.312531741233722e+02 -3.314002362831168e+02 -3.315473474952068e+02 -3.316945077733321e+02 + -3.318417169743284e+02 -3.319889749946440e+02 -3.321362820460264e+02 -3.322836383216903e+02 -3.324310436254205e+02 + -3.325784977579187e+02 -3.327260008969810e+02 -3.328735532388732e+02 -3.330211546766479e+02 -3.331688050699581e+02 + -3.333165044480712e+02 -3.334642528918999e+02 -3.336120505193238e+02 -3.337598974031960e+02 -3.339077933992973e+02 + -3.340557383761620e+02 -3.342037324704123e+02 -3.343517758263186e+02 -3.344998683506588e+02 -3.346480099317598e+02 + -3.347962006216366e+02 -3.349444405123485e+02 -3.350927296924430e+02 -3.352410681997821e+02 -3.353894558729969e+02 + -3.355378925848257e+02 -3.356863785436656e+02 -3.358349139484366e+02 -3.359834986244929e+02 -3.361321323883865e+02 + -3.362808153950241e+02 -3.364295478191028e+02 -3.365783295761255e+02 -3.367271605486342e+02 -3.368760407465185e+02 + -3.370249702279324e+02 -3.371739491167402e+02 -3.373229774932894e+02 -3.374720551981496e+02 -3.376211820935624e+02 + -3.377703583682330e+02 -3.379195842066430e+02 -3.380688594499171e+02 -3.382181839217990e+02 -3.383675577198622e+02 + -3.385169809890102e+02 -3.386664537896355e+02 -3.388159761271593e+02 -3.389655478716282e+02 -3.391151689236262e+02 + -3.392648394412631e+02 -3.394145595795439e+02 -3.395643292235305e+02 -3.397141482525620e+02 -3.398640167930273e+02 + -3.400139349724158e+02 -3.401639026755699e+02 -3.403139197760493e+02 -3.404639863449279e+02 -3.406141024957107e+02 + -3.407642683141136e+02 -3.409144838324194e+02 -3.410647488969659e+02 -3.412150633828331e+02 -3.413654274660125e+02 + -3.415158413252182e+02 -3.416663048491409e+02 -3.418168178992377e+02 -3.419673805180489e+02 -3.421179927901010e+02 + -3.422686547867838e+02 -3.424193665441726e+02 -3.425701279702224e+02 -3.427209389917095e+02 -3.428717997388184e+02 + -3.430227103286458e+02 -3.431736706225328e+02 -3.433246804902436e+02 -3.434757400909901e+02 -3.436268495884827e+02 + -3.437780088749811e+02 -3.439292178162220e+02 -3.440804764432992e+02 -3.442317848369893e+02 -3.443831431114438e+02 + -3.445345513395477e+02 -3.446860093957458e+02 -3.448375171638715e+02 -3.449890747637513e+02 -3.451406823209921e+02 + -3.452923397483303e+02 -3.454440469383874e+02 -3.455958039161959e+02 -3.457476107544265e+02 -3.458994675838882e+02 + -3.460513744837874e+02 -3.462033312687789e+02 -3.463553377809081e+02 -3.465073942363314e+02 -3.466595008454457e+02 + -3.468116574214998e+02 -3.469638637732855e+02 -3.471161200889126e+02 -3.472684265676839e+02 -3.474207830743587e+02 + -3.475731894457752e+02 -3.477256457416318e+02 -3.478781520698926e+02 -3.480307085087305e+02 -3.481833150905516e+02 + -3.483359716944890e+02 -3.484886782275422e+02 -3.486414348614480e+02 -3.487942417546251e+02 -3.489470987474849e+02 + -3.491000056682386e+02 -3.492529626143035e+02 -3.494059697303613e+02 -3.495590270809477e+02 -3.497121346735108e+02 + -3.498652923672977e+02 -3.500185000578142e+02 -3.501717579338015e+02 -3.503250661735650e+02 -3.504784246204307e+02 + -3.506318331106053e+02 -3.507852917867942e+02 -3.509388008057230e+02 -3.510923600737020e+02 -3.512459694729739e+02 + -3.513996290399252e+02 -3.515533388531561e+02 -3.517070990059733e+02 -3.518609095547224e+02 -3.520147703931951e+02 + -3.521686814254426e+02 -3.523226427591028e+02 -3.524766545004363e+02 -3.526307165466042e+02 -3.527848288024159e+02 + -3.529389914123712e+02 -3.530932045168612e+02 -3.532474680001527e+02 -3.534017817301934e+02 -3.535561457657783e+02 + -3.537105602073667e+02 -3.538650251312291e+02 -3.540195405716707e+02 -3.541741064193253e+02 -3.543287225825957e+02 + -3.544833891846346e+02 -3.546381063473606e+02 -3.547928739730113e+02 -3.549476919508821e+02 -3.551025603381796e+02 + -3.552574792297605e+02 -3.554124487031720e+02 -3.555674687945711e+02 -3.557225393918643e+02 -3.558776604020463e+02 + -3.560328319567154e+02 -3.561880541805177e+02 -3.563433269456882e+02 -3.564986501330765e+02 -3.566540239103983e+02 + -3.568094484429710e+02 -3.569649235996524e+02 -3.571204492251743e+02 -3.572760253642205e+02 -3.574316521198430e+02 + -3.575873296286128e+02 -3.577430579645793e+02 -3.578988369181832e+02 -3.580546663122107e+02 -3.582105463824335e+02 + -3.583664773634632e+02 -3.585224590722860e+02 -3.586784912980774e+02 -3.588345741363943e+02 -3.589907077420278e+02 + -3.591468922003262e+02 -3.593031275347307e+02 -3.594594135904955e+02 -3.596157502414973e+02 -3.597721376542854e+02 + -3.599285759961583e+02 -3.600850651447366e+02 -3.602416049709182e+02 -3.603981956083848e+02 -3.605548371920680e+02 + -3.607115295991184e+02 -3.608682726958015e+02 -3.610250665626241e+02 -3.611819113190277e+02 -3.613388070259530e+02 + -3.614957536972620e+02 -3.616527512170044e+02 -3.618097994957786e+02 -3.619668986801910e+02 -3.621240489112448e+02 + -3.622812500715253e+02 -3.624385020268735e+02 -3.625958048345691e+02 -3.627531585959862e+02 -3.629105633974360e+02 + -3.630680192762735e+02 -3.632255260890885e+02 -3.633830837209757e+02 -3.635406923518125e+02 -3.636983521500620e+02 + -3.638560629437486e+02 -3.640138245654421e+02 -3.641716372063300e+02 -3.643295010634408e+02 -3.644874159985495e+02 + -3.646453818454157e+02 -3.648033986609884e+02 -3.649614665547653e+02 -3.651195856232492e+02 -3.652777559169987e+02 + -3.654359773157880e+02 -3.655942497193339e+02 -3.657525732779061e+02 -3.659109481367831e+02 -3.660693741707290e+02 + -3.662278512419212e+02 -3.663863794327037e+02 -3.665449588644519e+02 -3.667035895945005e+02 -3.668622716357800e+02 + -3.670210048876434e+02 -3.671797892763418e+02 -3.673386249492966e+02 -3.674975120447079e+02 -3.676564504427247e+02 + -3.678154400208724e+02 -3.679744809042344e+02 -3.681335732252156e+02 -3.682927168979475e+02 -3.684519118222935e+02 + -3.686111580593141e+02 -3.687704557033292e+02 -3.689298048205014e+02 -3.690892054329191e+02 -3.692486574145354e+02 + -3.694081606700869e+02 -3.695677153755793e+02 -3.697273216946131e+02 -3.698869794698993e+02 -3.700466885253786e+02 + -3.702064489307988e+02 -3.703662608017668e+02 -3.705261241915196e+02 -3.706860391012269e+02 -3.708460053861607e+02 + -3.710060229388483e+02 -3.711660919467376e+02 -3.713262125796104e+02 -3.714863846416646e+02 -3.716466079328989e+02 + -3.718068826020972e+02 -3.719672088201144e+02 -3.721275864973102e+02 -3.722880155098476e+02 -3.724484958575989e+02 + -3.726090275883345e+02 -3.727696108177087e+02 -3.729302456171431e+02 -3.730909318132427e+02 -3.732516692484294e+02 + -3.734124580732086e+02 -3.735732984485285e+02 -3.737341902690280e+02 -3.738951333966488e+02 -3.740561278288502e+02 + -3.742171736164895e+02 -3.743782708884933e+02 -3.745394197314636e+02 -3.747006199846337e+02 -3.748618715145197e+02 + -3.750231745441332e+02 -3.751845292967938e+02 -3.753459356405600e+02 -3.755073934398666e+02 -3.756689028999150e+02 + -3.758304642401999e+02 -3.759920773966298e+02 -3.761537422764503e+02 -3.763154589558405e+02 -3.764772275566993e+02 + -3.766390482148706e+02 -3.768009210261144e+02 -3.769628459119104e+02 -3.771248228066682e+02 -3.772868518707951e+02 + -3.774489332703654e+02 -3.776110669681248e+02 -3.777732529036114e+02 -3.779354911268638e+02 -3.780977817328078e+02 + -3.782601248854201e+02 -3.784225207068740e+02 -3.785849690830777e+02 -3.787474699201715e+02 -3.789100234414875e+02 + -3.790726298611719e+02 -3.792352890394379e+02 -3.793980008403989e+02 -3.795607654977005e+02 -3.797235832511840e+02 + -3.798864539959452e+02 -3.800493775732837e+02 -3.802123539540593e+02 -3.803753831256555e+02 -3.805384650119894e+02 + -3.807015994897982e+02 -3.808647863105625e+02 -3.810280252452890e+02 -3.811913162683451e+02 -3.813546593533040e+02 + -3.815180542672069e+02 -3.816815007606327e+02 -3.818449987248433e+02 -3.820085480876401e+02 -3.821721487823003e+02 + -3.823358007029311e+02 -3.824995035814819e+02 -3.826632571794644e+02 -3.828270615387958e+02 -3.829909166775790e+02 + -3.831548222382581e+02 -3.833187778788636e+02 -3.834827836954302e+02 -3.836468397830658e+02 -3.838109457951704e+02 + -3.839751013606573e+02 -3.841393064522010e+02 -3.843035610985582e+02 -3.844678652090594e+02 -3.846322186342679e+02 + -3.847966211091070e+02 -3.849610723938522e+02 -3.851255724658270e+02 -3.852901213276589e+02 -3.854547188661456e+02 + -3.856193651039130e+02 -3.857840607227301e+02 -3.859488064858506e+02 -3.861136028233281e+02 -3.862784501283425e+02 + -3.864433489797775e+02 -3.866083000045549e+02 -3.867733038360474e+02 -3.869383610689728e+02 -3.871034721369783e+02 + -3.872686374886131e+02 -3.874338577931016e+02 -3.875991337168530e+02 -3.877644656943423e+02 -3.879298541437876e+02 + -3.880952996503134e+02 -3.882608028487801e+02 -3.884263644060860e+02 -3.885919849359946e+02 -3.887576648076931e+02 + -3.889234044110585e+02 -3.890892044633024e+02 -3.892550656828005e+02 -3.894209884652491e+02 -3.895869732058733e+02 + -3.897530206206903e+02 -3.899191314265681e+02 -3.900853060229904e+02 -3.902515447813749e+02 -3.904178482782592e+02 + -3.905842171832736e+02 -3.907506523333024e+02 -3.909171542011455e+02 -3.910837216360146e+02 -3.912503530200719e+02 + -3.914170464908692e+02 -3.915838000867597e+02 -3.917506116939103e+02 -3.919174791997058e+02 -3.920844006485843e+02 + -3.922513741233318e+02 -3.924183977030698e+02 -3.925854694180132e+02 -3.927525871064144e+02 -3.929197486330507e+02 + -3.930869521607613e+02 -3.932541958513385e+02 -3.934214775643266e+02 -3.935887951493436e+02 -3.937561467185514e+02 + -3.939235303999417e+02 -3.940909441222876e+02 -3.942583857858931e+02 -3.944258533764072e+02 -3.945933449213566e+02 + -3.947608585304349e+02 -3.949283922804248e+02 -3.950959440342958e+02 -3.952635116636291e+02 -3.954310932882606e+02 + -3.955986870327357e+02 -3.957662907921835e+02 -3.959339024467546e+02 -3.961015200461023e+02 -3.962691416638499e+02 + 1.070000000000000e-01 1.069682658750319e-01 1.069365186252596e-01 1.069047582677665e-01 1.068729848196356e-01 + 1.068411982979503e-01 1.068093987197937e-01 1.067775861022493e-01 1.067457604624000e-01 1.067139218173294e-01 + 1.066820701841205e-01 1.066502055798566e-01 1.066183280216209e-01 1.065864375264968e-01 1.065545341115673e-01 + 1.065226177939159e-01 1.064906885906257e-01 1.064587465187799e-01 1.064267915954618e-01 1.063948238377547e-01 + 1.063628432627417e-01 1.063308498875062e-01 1.062988437291314e-01 1.062668248047005e-01 1.062347931312967e-01 + 1.062027487260033e-01 1.061706916059036e-01 1.061386217880807e-01 1.061065392896180e-01 1.060744441275985e-01 + 1.060423363191058e-01 1.060102158812228e-01 1.059780828310330e-01 1.059459371856195e-01 1.059137789620655e-01 + 1.058816081774544e-01 1.058494248488693e-01 1.058172289933936e-01 1.057850206281103e-01 1.057527997701029e-01 + 1.057205664364545e-01 1.056883206442483e-01 1.056560624105677e-01 1.056237917524958e-01 1.055915086871159e-01 + 1.055592132315112e-01 1.055269054027650e-01 1.054945852179606e-01 1.054622526941811e-01 1.054299078485097e-01 + 1.053975506980299e-01 1.053651812598247e-01 1.053327995509774e-01 1.053004055885713e-01 1.052679993896897e-01 + 1.052355809714157e-01 1.052031503508325e-01 1.051707075450236e-01 1.051382525710719e-01 1.051057854460610e-01 + 1.050733061870738e-01 1.050408148111938e-01 1.050083113355042e-01 1.049757957770881e-01 1.049432681530288e-01 + 1.049107284804097e-01 1.048781767763138e-01 1.048456130578245e-01 1.048130373420250e-01 1.047804496459986e-01 + 1.047478499868284e-01 1.047152383815977e-01 1.046826148473898e-01 1.046499794012880e-01 1.046173320603753e-01 + 1.045846728417352e-01 1.045520017624508e-01 1.045193188396054e-01 1.044866240902822e-01 1.044539175315645e-01 + 1.044211991805354e-01 1.043884690542783e-01 1.043557271698764e-01 1.043229735444130e-01 1.042902081949712e-01 + 1.042574311386343e-01 1.042246423924855e-01 1.041918419736082e-01 1.041590298990855e-01 1.041262061860007e-01 + 1.040933708514369e-01 1.040605239124776e-01 1.040276653862059e-01 1.039947952897050e-01 1.039619136400582e-01 + 1.039290204543487e-01 1.038961157496599e-01 1.038631995430748e-01 1.038302718516768e-01 1.037973326925491e-01 + 1.037643820827749e-01 1.037314200394375e-01 1.036984465796201e-01 1.036654617204061e-01 1.036324654788785e-01 + 1.035994578721206e-01 1.035664389172158e-01 1.035334086312472e-01 1.035003670312980e-01 1.034673141344516e-01 + 1.034342499577912e-01 1.034011745183999e-01 1.033680878333612e-01 1.033349899197580e-01 1.033018807946739e-01 + 1.032687604751918e-01 1.032356289783953e-01 1.032024863213673e-01 1.031693325211913e-01 1.031361675949504e-01 + 1.031029915597278e-01 1.030698044326069e-01 1.030366062306709e-01 1.030033969710030e-01 1.029701766706864e-01 + 1.029369453468044e-01 1.029037030164402e-01 1.028704496966771e-01 1.028371854045984e-01 1.028039101572872e-01 + 1.027706239718267e-01 1.027373268653004e-01 1.027040188547913e-01 1.026706999573827e-01 1.026373701901580e-01 + 1.026040295702002e-01 1.025706781145926e-01 1.025373158404186e-01 1.025039427647613e-01 1.024705589047040e-01 + 1.024371642773299e-01 1.024037588997223e-01 1.023703427889643e-01 1.023369159621393e-01 1.023034784363305e-01 + 1.022700302286212e-01 1.022365713560945e-01 1.022031018358337e-01 1.021696216849221e-01 1.021361309204428e-01 + 1.021026295594792e-01 1.020691176191145e-01 1.020355951164319e-01 1.020020620685147e-01 1.019685184924461e-01 + 1.019349644053093e-01 1.019013998241876e-01 1.018678247661643e-01 1.018342392483225e-01 1.018006432877456e-01 + 1.017670369015167e-01 1.017334201067191e-01 1.016997929204361e-01 1.016661553597508e-01 1.016325074417466e-01 + 1.015988491835066e-01 1.015651806021141e-01 1.015315017146524e-01 1.014978125382047e-01 1.014641130898543e-01 + 1.014304033866843e-01 1.013966834457780e-01 1.013629532842187e-01 1.013292129190896e-01 1.012954623674739e-01 + 1.012617016464549e-01 1.012279307731159e-01 1.011941497645400e-01 1.011603586378106e-01 1.011265574100107e-01 + 1.010927460982239e-01 1.010589247195331e-01 1.010250932910217e-01 1.009912518297729e-01 1.009574003528701e-01 + 1.009235388773963e-01 1.008896674204348e-01 1.008557859990690e-01 1.008218946303820e-01 1.007879933314571e-01 + 1.007540821193774e-01 1.007201610112264e-01 1.006862300240872e-01 1.006522891750429e-01 1.006183384811770e-01 + 1.005843779595726e-01 1.005504076273130e-01 1.005164275014813e-01 1.004824375991610e-01 1.004484379374351e-01 + 1.004144285333870e-01 1.003804094040999e-01 1.003463805666569e-01 1.003123420381414e-01 1.002782938356367e-01 + 1.002442359762259e-01 1.002101684769922e-01 1.001760913550190e-01 1.001420046273895e-01 1.001079083111869e-01 + 1.000738024234945e-01 1.000396869813954e-01 1.000055620019730e-01 9.997142750231042e-02 9.993728349949102e-02 + 9.990313001059796e-02 9.986896705271456e-02 9.983479464292398e-02 9.980061279830947e-02 9.976642153595434e-02 + 9.973222087294174e-02 9.969801082635499e-02 9.966379141327726e-02 9.962956265079187e-02 9.959532455598200e-02 + 9.956107714593093e-02 9.952682043772192e-02 9.949255444843813e-02 9.945827919516288e-02 9.942399469497937e-02 + 9.938970096497086e-02 9.935539802222057e-02 9.932108588381178e-02 9.928676456682770e-02 9.925243408835159e-02 + 9.921809446546671e-02 9.918374571525623e-02 9.914938785480347e-02 9.911502090119163e-02 9.908064487150398e-02 + 9.904625978282372e-02 9.901186565223413e-02 9.897746249681845e-02 9.894305033365988e-02 9.890862917984172e-02 + 9.887419905244718e-02 9.883975996855951e-02 9.880531194526194e-02 9.877085499963774e-02 9.873638914877009e-02 + 9.870191440974231e-02 9.866743079963761e-02 9.863293833553920e-02 9.859843703453038e-02 9.856392691369432e-02 + 9.852940799011436e-02 9.849488028087365e-02 9.846034380305550e-02 9.842579857374308e-02 9.839124461001970e-02 + 9.835668192896858e-02 9.832211054767293e-02 9.828753048321603e-02 9.825294175268109e-02 9.821834437315143e-02 + 9.818373836171017e-02 9.814912373544066e-02 9.811450051142606e-02 9.807986870674969e-02 9.804522833849474e-02 + 9.801057942374444e-02 9.797592197958208e-02 9.794125602309085e-02 9.790658157135405e-02 9.787189864145487e-02 + 9.783720725047659e-02 9.780250741550246e-02 9.776779915361565e-02 9.773308248189948e-02 9.769835741743713e-02 + 9.766362397731190e-02 9.762888217860698e-02 9.759413203840565e-02 9.755937357379113e-02 9.752460680184671e-02 + 9.748983173965557e-02 9.745504840430097e-02 9.742025681286617e-02 9.738545698243438e-02 9.735064893008888e-02 + 9.731583267291286e-02 9.728100822798963e-02 9.724617561240236e-02 9.721133484323437e-02 9.717648593756885e-02 + 9.714162891248904e-02 9.710676378507821e-02 9.707189057241956e-02 9.703700929159639e-02 9.700211995969188e-02 + 9.696722259378933e-02 9.693231721097194e-02 9.689740382832296e-02 9.686248246292567e-02 9.682755313186324e-02 + 9.679261585221899e-02 9.675767064107609e-02 9.672271751551782e-02 9.668775649262741e-02 9.665278758948814e-02 + 9.661781082318323e-02 9.658282621079586e-02 9.654783376940938e-02 9.651283351610694e-02 9.647782546797186e-02 + 9.644280964208730e-02 9.640778605553657e-02 9.637275472540287e-02 9.633771566876947e-02 9.630266890271960e-02 + 9.626761444433649e-02 9.623255231070338e-02 9.619748251890356e-02 9.616240508602021e-02 9.612732002913663e-02 + 9.609222736533599e-02 9.605712711170160e-02 9.602201928531666e-02 9.598690390326445e-02 9.595178098262819e-02 + 9.591665054049109e-02 9.588151259393644e-02 9.584636716004745e-02 9.581121425590743e-02 9.577605389859950e-02 + 9.574088610520702e-02 9.570571089281314e-02 9.567052827850117e-02 9.563533827935435e-02 9.560014091245586e-02 + 9.556493619488900e-02 9.552972414373699e-02 9.549450477608308e-02 9.545927810901049e-02 9.542404415960248e-02 + 9.538880294494230e-02 9.535355448211316e-02 9.531829878819836e-02 9.528303588028109e-02 9.524776577544461e-02 + 9.521248849077216e-02 9.517720404334697e-02 9.514191245025229e-02 9.510661372857139e-02 9.507130789538748e-02 + 9.503599496778380e-02 9.500067496284360e-02 9.496534789765015e-02 9.493001378928664e-02 9.489467265483635e-02 + 9.485932451138250e-02 9.482396937600834e-02 9.478860726579713e-02 9.475323819783207e-02 9.471786218919645e-02 + 9.468247925697347e-02 9.464708941824643e-02 9.461169269009850e-02 9.457628908961296e-02 9.454087863387305e-02 + 9.450546133996199e-02 9.447003722496307e-02 9.443460630595948e-02 9.439916860003450e-02 9.436372412427137e-02 + 9.432827289575330e-02 9.429281493156354e-02 9.425735024878537e-02 9.422187886450198e-02 9.418640079579664e-02 + 9.415091605975259e-02 9.411542467345307e-02 9.407992665398136e-02 9.404442201842063e-02 9.400891078385415e-02 + 9.397339296736518e-02 9.393786858603695e-02 9.390233765695270e-02 9.386680019719568e-02 9.383125622384911e-02 + 9.379570575399625e-02 9.376014880472036e-02 9.372458539310466e-02 9.368901553623238e-02 9.365343925118678e-02 + 9.361785655505112e-02 9.358226746490858e-02 9.354667199784246e-02 9.351107017093598e-02 9.347546200127239e-02 + 9.343984750593494e-02 9.340422670200685e-02 9.336859960657137e-02 9.333296623671174e-02 9.329732660951121e-02 + 9.326168074205300e-02 9.322602865142039e-02 9.319037035469660e-02 9.315470586896488e-02 9.311903521130845e-02 + 9.308335839881057e-02 9.304767544855448e-02 9.301198637762342e-02 9.297629120310064e-02 9.294058994206936e-02 + 9.290488261161287e-02 9.286916922881436e-02 9.283344981075708e-02 9.279772437452428e-02 9.276199293719922e-02 + 9.272625551586512e-02 9.269051212760523e-02 9.265476278950278e-02 9.261900751864104e-02 9.258324633210324e-02 + 9.254747924697261e-02 9.251170628033240e-02 9.247592744926583e-02 9.244014277085617e-02 9.240435226218666e-02 + 9.236855594034055e-02 9.233275382240104e-02 9.229694592545142e-02 9.226113226657491e-02 9.222531286285476e-02 + 9.218948773137420e-02 9.215365688921646e-02 9.211782035346482e-02 9.208197814120249e-02 9.204613026951274e-02 + 9.201027675547878e-02 9.197441761618388e-02 9.193855286871126e-02 9.190268253014419e-02 9.186680661756588e-02 + 9.183092514805957e-02 9.179503813870854e-02 9.175914560659600e-02 9.172324756880521e-02 9.168734404241941e-02 + 9.165143504452181e-02 9.161552059219569e-02 9.157960070252427e-02 9.154367539259080e-02 9.150774467947854e-02 + 9.147180858027071e-02 9.143586711205055e-02 9.139992029190132e-02 9.136396813690625e-02 9.132801066414858e-02 + 9.129204789071155e-02 9.125607983367841e-02 9.122010651013239e-02 9.118412793715676e-02 9.114814413183472e-02 + 9.111215511124955e-02 9.107616089248448e-02 9.104016149262276e-02 9.100415692874760e-02 9.096814721794225e-02 + 9.093213237728998e-02 9.089611242387401e-02 9.086008737477760e-02 9.082405724708396e-02 9.078802205787638e-02 + 9.075198182423806e-02 9.071593656325225e-02 9.067988629200220e-02 9.064383102757116e-02 9.060777078704237e-02 + 9.057170558749904e-02 9.053563544602444e-02 9.049956037970180e-02 9.046348040561442e-02 9.042739554084545e-02 + 9.039130580247817e-02 9.035521120759583e-02 9.031911177328168e-02 9.028300751661894e-02 9.024689845469086e-02 + 9.021078460458068e-02 9.017466598337168e-02 9.013854260814702e-02 9.010241449599002e-02 9.006628166398388e-02 + 9.003014412921184e-02 8.999400190875718e-02 8.995785501970310e-02 8.992170347913286e-02 8.988554730412972e-02 + 8.984938651177689e-02 8.981322111915761e-02 8.977705114335516e-02 8.974087660145275e-02 8.970469751053363e-02 + 8.966851388768103e-02 8.963232574997822e-02 8.959613311450842e-02 8.955993599835491e-02 8.952373441860086e-02 + 8.948752839232957e-02 8.945131793662427e-02 8.941510306856817e-02 8.937888380524456e-02 8.934266016373665e-02 + 8.930643216112769e-02 8.927019981450095e-02 8.923396314093963e-02 8.919772215752698e-02 8.916147688134625e-02 + 8.912522732948071e-02 8.908897351901354e-02 8.905271546702803e-02 8.901645319060740e-02 8.898018670683491e-02 + 8.894391603279379e-02 8.890764118556729e-02 8.887136218223864e-02 8.883507903989107e-02 8.879879177560786e-02 + 8.876250040647221e-02 8.872620494956741e-02 8.868990542197666e-02 8.865360184078323e-02 8.861729422307035e-02 + 8.858098258592126e-02 8.854466694641919e-02 8.850834732164740e-02 8.847202372868912e-02 8.843569618462761e-02 + 8.839936470654611e-02 8.836302931152785e-02 8.832669001665606e-02 8.829034683901400e-02 8.825399979568492e-02 + 8.821764890375206e-02 8.818129418029862e-02 8.814493564240788e-02 8.810857330716310e-02 8.807220719164749e-02 + 8.803583731294432e-02 8.799946368813677e-02 8.796308633430815e-02 8.792670526854167e-02 8.789032050792057e-02 + 8.785393206952812e-02 8.781753997044753e-02 8.778114422776205e-02 8.774474485855495e-02 8.770834187990943e-02 + 8.767193530890875e-02 8.763552516263615e-02 8.759911145817488e-02 8.756269421260816e-02 8.752627344301928e-02 + 8.748984916649143e-02 8.745342140010788e-02 8.741699016095185e-02 8.738055546610660e-02 8.734411733265539e-02 + 8.730767577768141e-02 8.727123081826793e-02 8.723478247149821e-02 8.719833075445547e-02 8.716187568422298e-02 + 8.712541727788393e-02 8.708895555252159e-02 8.705249052521923e-02 8.701602221306004e-02 8.697955063312730e-02 + 8.694307580250422e-02 8.690659773827408e-02 8.687011645752010e-02 8.683363197732555e-02 8.679714431477362e-02 + 8.676065348694757e-02 8.672415951093065e-02 8.668766240380611e-02 8.665116218265721e-02 8.661465886456714e-02 + 8.657815246661917e-02 8.654164300589655e-02 8.650513049948251e-02 8.646861496446030e-02 8.643209641791315e-02 + 8.639557487692430e-02 8.635905035857701e-02 8.632252287995451e-02 8.628599245814005e-02 8.624945911021686e-02 + 8.621292285326819e-02 8.617638370437727e-02 8.613984168062737e-02 8.610329679910171e-02 8.606674907688353e-02 + 8.603019853105608e-02 8.599364517870259e-02 8.595708903690633e-02 8.592053012275053e-02 8.588396845331842e-02 + 8.584740404569323e-02 8.581083691695822e-02 8.577426708419665e-02 8.573769456449173e-02 8.570111937492672e-02 + 8.566454153258486e-02 8.562796105454940e-02 8.559137795790356e-02 8.555479225973059e-02 8.551820397711374e-02 + 8.548161312713624e-02 8.544501972688134e-02 8.540842379343229e-02 8.537182534387232e-02 8.533522439528468e-02 + 8.529862096475260e-02 8.526201506935933e-02 8.522540672618811e-02 8.518879595232219e-02 8.515218276484479e-02 + 8.511556718083918e-02 8.507894921738858e-02 8.504232889157626e-02 8.500570622048544e-02 8.496908122119934e-02 + 8.493245391080124e-02 8.489582430637438e-02 8.485919242500198e-02 8.482255828376728e-02 8.478592189975355e-02 + 8.474928329004400e-02 8.471264247172190e-02 8.467599946187047e-02 8.463935427757298e-02 8.460270693591267e-02 + 8.456605745397273e-02 8.452940584883646e-02 8.449275213758706e-02 8.445609633730780e-02 8.441943846508193e-02 + 8.438277853799266e-02 8.434611657312326e-02 8.430945258755695e-02 8.427278659837699e-02 8.423611862266661e-02 + 8.419944867750905e-02 8.416277677998756e-02 8.412610294718537e-02 8.408942719618576e-02 8.405274954407191e-02 + 8.401607000792713e-02 8.397938860483460e-02 8.394270535187759e-02 8.390602026613936e-02 8.386933336470312e-02 + 8.383264466465212e-02 8.379595418306962e-02 8.375926193703884e-02 8.372256794364304e-02 8.368587221996546e-02 + 8.364917478308932e-02 8.361247565009787e-02 8.357577483807437e-02 8.353907236410206e-02 8.350236824526415e-02 + 8.346566249864391e-02 8.342895514132459e-02 8.339224619038943e-02 8.335553566292164e-02 8.331882357600448e-02 + 8.328210994672121e-02 8.324539479215504e-02 8.320867812938924e-02 8.317195997550704e-02 8.313524034759166e-02 + 8.309851926272641e-02 8.306179673799445e-02 8.302507279047908e-02 8.298834743726349e-02 8.295162069543097e-02 + 8.291489258206473e-02 8.287816311424805e-02 8.284143230906414e-02 8.280470018359624e-02 8.276796675492762e-02 + 8.273123204014149e-02 8.269449605632111e-02 8.265775882054972e-02 8.262102034991055e-02 8.258428066148686e-02 + 8.254753977236187e-02 8.251079769961885e-02 8.247405446034105e-02 8.243731007161166e-02 8.240056455051395e-02 + 8.236381791413117e-02 8.232707017954656e-02 8.229032136384334e-02 8.225357148410478e-02 8.221682055741411e-02 + 8.218006860085458e-02 8.214331563150944e-02 8.210656166646188e-02 8.206980672279519e-02 8.203305081759260e-02 + 8.199629396793737e-02 8.195953619091272e-02 8.192277750360188e-02 8.188601792308813e-02 8.184925746645468e-02 + 8.181249615078479e-02 8.177573399316168e-02 8.173897101066861e-02 8.170220722038883e-02 8.166544263940556e-02 + 8.162867728480205e-02 8.159191117366156e-02 8.155514432306732e-02 8.151837675010254e-02 8.148160847185050e-02 + 8.144483950539445e-02 8.140806986781760e-02 8.137129957620320e-02 8.133452864763450e-02 8.129775709919475e-02 + 8.126098494796720e-02 8.122421221103504e-02 8.118743890548155e-02 8.115066504838998e-02 8.111389065684355e-02 + 8.107711574792552e-02 8.104034033871912e-02 8.100356444630759e-02 8.096678808777417e-02 8.093001128020215e-02 + 8.089323404067471e-02 8.085645638627510e-02 8.081967833408658e-02 8.078289990119239e-02 8.074612110467576e-02 + 8.070934196161997e-02 8.067256248910820e-02 8.063578270422375e-02 8.059900262404983e-02 8.056222226566968e-02 + 8.052544164616657e-02 8.048866078262369e-02 8.045187969212433e-02 8.041509839175172e-02 8.037831689858911e-02 + 8.034153522971973e-02 8.030475340222681e-02 8.026797143319361e-02 8.023118933970336e-02 8.019440713883932e-02 + 8.015762484768471e-02 8.012084248332278e-02 8.008406006283678e-02 8.004727760330994e-02 8.001049512182555e-02 + 7.997371263546676e-02 7.993693016131688e-02 7.990014771645915e-02 7.986336531797676e-02 7.982658298295300e-02 + 7.978980072847111e-02 7.975301857161432e-02 7.971623652946590e-02 7.967945461910902e-02 7.964267285762699e-02 + 7.960589126210302e-02 7.956910984962039e-02 7.953232863726228e-02 7.949554764211197e-02 7.945876688125271e-02 + 7.942198637176773e-02 7.938520613074028e-02 7.934842617525358e-02 7.931164652239087e-02 7.927486718923542e-02 + 7.923808819287045e-02 7.920130955037924e-02 7.916453127884499e-02 7.912775339535094e-02 7.909097591698037e-02 + 7.905419886081648e-02 7.901742224394255e-02 7.898064608344180e-02 7.894387039639746e-02 7.890709519989279e-02 + 7.887032051101103e-02 7.883354634683543e-02 7.879677272444922e-02 7.875999966093565e-02 7.872322717337794e-02 + 7.868645527885937e-02 7.864968399446313e-02 7.861291333727252e-02 7.857614332437074e-02 7.853937397284104e-02 + 7.850260529976670e-02 7.846583732223091e-02 7.842907005731693e-02 7.839230352210801e-02 7.835553773368738e-02 + 7.831877270913830e-02 7.828200846554398e-02 7.824524501998768e-02 7.820848238955266e-02 7.817172059132216e-02 + 7.813495964237939e-02 7.809819955980761e-02 7.806144036069006e-02 7.802468206210998e-02 7.798792468115062e-02 + 7.795116823489523e-02 7.791441274042703e-02 7.787765821482928e-02 7.784090467518520e-02 7.780415213857807e-02 + 7.776740062209107e-02 7.773065014280750e-02 7.769390071781057e-02 7.765715236418354e-02 7.762040509900967e-02 + 7.758365893937215e-02 7.754691390235426e-02 7.751017000503922e-02 7.747342726451029e-02 7.743668569785070e-02 + 7.739994532214370e-02 7.736320615447252e-02 7.732646821192042e-02 7.728973151157063e-02 7.725299607050642e-02 + 7.721626190581099e-02 7.717952903456758e-02 7.714279747385946e-02 7.710606724076986e-02 7.706933835238206e-02 + 7.703261082577922e-02 7.699588467804465e-02 7.695915992626157e-02 7.692243658751323e-02 7.688571467888285e-02 + 7.684899421745368e-02 7.681227522030898e-02 7.677555770453198e-02 7.673884168720593e-02 7.670212718541405e-02 + 7.666541421623961e-02 7.662870279676583e-02 7.659199294407595e-02 7.655528467525324e-02 7.651857800738091e-02 + 7.648187295754222e-02 7.644516954282041e-02 7.640846778029871e-02 7.637176768706039e-02 7.633506928018867e-02 + 7.629837257676678e-02 7.626167759387799e-02 7.622498434860552e-02 7.618829285803264e-02 7.615160313924255e-02 + 7.611491520931853e-02 7.607822908534380e-02 7.604154478440163e-02 7.600486232357523e-02 7.596818171994783e-02 + 7.593150299060271e-02 7.589482615262309e-02 7.585815122309225e-02 7.582147821909338e-02 7.578480715770973e-02 + 7.574813805602458e-02 7.571147093112113e-02 7.567480580008265e-02 7.563814267999236e-02 7.560148158793352e-02 + 7.556482254098935e-02 7.552816555624312e-02 7.549151065077807e-02 7.545485784167741e-02 7.541820714602442e-02 + 7.538155858090231e-02 7.534491216339434e-02 7.530826791058375e-02 7.527162583955378e-02 7.523498596738766e-02 + 7.519834831116866e-02 7.516171288797999e-02 7.512507971490495e-02 7.508844880902671e-02 7.505182018742854e-02 + 7.501519386719367e-02 7.497856986540538e-02 7.494194819914687e-02 7.490532888550142e-02 7.486871194155223e-02 + 7.483209738438257e-02 7.479548523107570e-02 7.475887549871482e-02 7.472226820438319e-02 7.468566336516404e-02 + 7.464906099814063e-02 7.461246112039621e-02 7.457586374901400e-02 7.453926890107723e-02 7.450267659366919e-02 + 7.446608684387307e-02 7.442949966877216e-02 7.439291508544965e-02 7.435633311098883e-02 7.431975376247291e-02 + 7.428317705698513e-02 7.424660301160878e-02 7.421003164342704e-02 7.417346296952319e-02 7.413689700698045e-02 + 7.410033377288210e-02 7.406377328431132e-02 7.402721555835140e-02 7.399066061208556e-02 7.395410846259706e-02 + 7.391755912696915e-02 7.388101262228504e-02 7.384446896562798e-02 7.380792817408122e-02 7.377139026472800e-02 + 7.373485525465158e-02 7.369832316093516e-02 7.366179400066203e-02 7.362526779091538e-02 7.358874454877849e-02 + 7.355222429133459e-02 7.351570703566694e-02 7.347919279885876e-02 7.344268159799329e-02 7.340617345015378e-02 + 7.336966837242348e-02 7.333316638188561e-02 7.329666749562345e-02 7.326017173072021e-02 7.322367910425913e-02 + 7.318718963332346e-02 7.315070333499644e-02 7.311422022636133e-02 7.307774032450136e-02 7.304126364649975e-02 + 7.300479020943977e-02 7.296832003040465e-02 7.293185312647765e-02 7.289538951474199e-02 7.285892921228092e-02 + 7.282247223617767e-02 7.278601860351550e-02 7.274956833137766e-02 7.271312143684736e-02 7.267667793700786e-02 + 7.264023784894239e-02 7.260380118973422e-02 7.256736797646657e-02 7.253093822622268e-02 7.249451195608582e-02 + 7.245808918313920e-02 7.242166992446607e-02 7.238525419714967e-02 7.234884201827325e-02 7.231243340492007e-02 + 7.227602837417331e-02 7.223962694311627e-02 7.220322912883217e-02 7.216683494840427e-02 7.213044441891579e-02 + 7.209405755744998e-02 7.205767438109009e-02 7.202129490691934e-02 7.198491915202099e-02 7.194854713347830e-02 + 7.191217886837446e-02 7.187581437379276e-02 7.183945366681642e-02 7.180309676452867e-02 7.176674368401278e-02 + 7.173039444235199e-02 7.169404905662952e-02 7.165770754392863e-02 7.162136992133256e-02 7.158503620592453e-02 + 7.154870641478780e-02 7.151238056500563e-02 7.147605867366123e-02 7.143974075783785e-02 7.140342683461876e-02 + 7.136711692108716e-02 7.133081103432631e-02 7.129450919141947e-02 7.125821140944985e-02 7.122191770550071e-02 + 7.118562809665530e-02 7.114934259999683e-02 7.111306123260858e-02 7.107678401157377e-02 7.104051095397565e-02 + 7.100424207689746e-02 7.096797739742244e-02 7.093171693263382e-02 7.089546069961486e-02 7.085920871544882e-02 + 7.082296099721888e-02 7.078671756200834e-02 7.075047842690044e-02 7.071424360897838e-02 7.067801312532543e-02 + 7.064178699302483e-02 7.060556522915983e-02 7.056934785081363e-02 7.053313487506954e-02 7.049692631901075e-02 + 7.046072219972052e-02 7.042452253428211e-02 7.038832733977872e-02 7.035213663329361e-02 7.031595043191004e-02 + 7.027976875271123e-02 7.024359161278042e-02 7.020741902920087e-02 7.017125101905583e-02 7.013508759942851e-02 + 7.009892878740216e-02 7.006277460006004e-02 7.002662505448538e-02 6.999048016776144e-02 6.995433995697144e-02 + 6.991820443919861e-02 6.988207363152622e-02 6.984594755103750e-02 6.980982621481568e-02 6.977370963994402e-02 + 6.973759784350578e-02 6.970149084258416e-02 6.966538865426242e-02 6.962929129562380e-02 6.959319878375156e-02 + 6.955711113572893e-02 6.952102836863913e-02 6.948495049956542e-02 6.944887754559105e-02 6.941280952379927e-02 + 6.937674645127329e-02 6.934068834509637e-02 6.930463522235174e-02 6.926858710012268e-02 6.923254399549238e-02 + 6.919650592554411e-02 6.916047290736112e-02 6.912444495802665e-02 6.908842209462392e-02 6.905240433423616e-02 + 6.901639169394666e-02 6.898038419083864e-02 6.894438184199533e-02 6.890838466449999e-02 6.887239267543585e-02 + 6.883640589188617e-02 6.880042433093415e-02 6.876444800966307e-02 6.872847694515619e-02 6.869251115449670e-02 + 6.865655065476786e-02 6.862059546305292e-02 6.858464559643512e-02 6.854870107199770e-02 6.851276190682393e-02 + 6.847682811799699e-02 6.844089972260017e-02 6.840497673771671e-02 6.836905918042983e-02 6.833314706782279e-02 + 6.829724041697882e-02 6.826133924498116e-02 6.822544356891308e-02 6.818955340585779e-02 6.815366877289854e-02 + 6.811778968711857e-02 6.808191616560114e-02 6.804604822542948e-02 6.801018588368681e-02 6.797432915745642e-02 + 6.793847806382150e-02 6.790263261986533e-02 6.786679284267115e-02 6.783095874932217e-02 6.779513035690166e-02 + 6.775930768249286e-02 6.772349074317900e-02 6.768767955604332e-02 6.765187413816909e-02 6.761607450663952e-02 + 6.758028067853786e-02 6.754449267094738e-02 6.750871050095128e-02 6.747293418563281e-02 6.743716374207524e-02 + 6.740139918736179e-02 6.736564053857570e-02 6.732988781280023e-02 6.729414102711860e-02 6.725840019861405e-02 + 6.722266534436987e-02 6.718693648146923e-02 6.715121362699542e-02 6.711549679803168e-02 6.707978601166123e-02 + 6.704408128496732e-02 6.700838263503321e-02 6.697269007894212e-02 6.693700363377729e-02 6.690132331662198e-02 + 6.686564914455943e-02 6.682998113467287e-02 6.679431930404556e-02 6.675866366976070e-02 6.672301424890158e-02 + 6.668737105855144e-02 6.665173411579348e-02 6.661610343771096e-02 6.658047904138716e-02 6.654486094390526e-02 + 6.650924916234854e-02 6.647364371380024e-02 6.643804461534360e-02 6.640245188406185e-02 6.636686553703826e-02 + 6.633128559135604e-02 6.629571206409844e-02 6.626014497234871e-02 6.622458433319009e-02 6.618903016370581e-02 + 6.615348248097914e-02 6.611794130209329e-02 6.608240664413152e-02 6.604687852417708e-02 6.601135695931318e-02 + 6.597584196662311e-02 6.594033356319007e-02 6.590483176609731e-02 6.586933659242808e-02 6.583384805926563e-02 + 6.579836618369318e-02 6.576289098279399e-02 6.572742247365128e-02 6.569196067334833e-02 6.565650559896835e-02 + 6.562105726759460e-02 6.558561569631030e-02 6.555018090219872e-02 6.551475290234308e-02 6.547933171382664e-02 + 6.544391735373260e-02 6.540850983914427e-02 6.537310918714484e-02 6.533771541481756e-02 6.530232853924568e-02 + 6.526694857751246e-02 6.523157554670111e-02 6.519620946389489e-02 6.516085034617702e-02 6.512549821063078e-02 + 6.509015307433939e-02 6.505481495438609e-02 6.501948386785412e-02 6.498415983182672e-02 6.494884286338716e-02 + 6.491353297961865e-02 6.487823019760443e-02 6.484293453442776e-02 6.480764600717190e-02 6.477236463292005e-02 + 6.473709042875546e-02 6.470182341176141e-02 6.466656359902111e-02 6.463131100761778e-02 6.459606565463470e-02 + 6.456082755715510e-02 6.452559673226224e-02 6.449037319703932e-02 6.445515696856961e-02 6.441994806393636e-02 + 6.438474650022280e-02 6.434955229451217e-02 6.431436546388770e-02 6.427918602543267e-02 6.424401399623028e-02 + 6.420884939336380e-02 6.417369223391646e-02 6.413854253497149e-02 6.410340031361215e-02 6.406826558692170e-02 + 6.403313837198334e-02 6.399801868588033e-02 6.396290654569593e-02 6.392780196851335e-02 6.389270497141585e-02 + 6.385761557148667e-02 6.382253378580906e-02 6.378745963146625e-02 6.375239312554147e-02 6.371733428511799e-02 + 6.368228312727903e-02 6.364723966910786e-02 6.361220392768768e-02 6.357717592010177e-02 6.354215566343337e-02 + 6.350714317476568e-02 6.347213847118198e-02 6.343714156976551e-02 6.340215248759951e-02 6.336717124176720e-02 + 6.333219784935186e-02 6.329723232743668e-02 6.326227469310496e-02 6.322732496343991e-02 6.319238315552476e-02 + 6.315744928644278e-02 6.312252337327721e-02 6.308760543311126e-02 6.305269548302821e-02 6.301779354011129e-02 + 6.298289962144372e-02 6.294801374410877e-02 6.291313592518968e-02 6.287826618176968e-02 6.284340453093201e-02 + 6.280855098975993e-02 6.277370557533665e-02 6.273886830474544e-02 6.270403919506955e-02 6.266921826339220e-02 + 6.263440552679662e-02 6.259960100236607e-02 6.256480470718381e-02 6.253001665833306e-02 6.249523687289707e-02 + 6.246046536795907e-02 6.242570216060229e-02 6.239094726791002e-02 6.235620070696547e-02 6.232146249485187e-02 + 6.228673264865250e-02 6.225201118545055e-02 6.221729812232930e-02 6.218259347637199e-02 6.214789726466187e-02 + 6.211320950428215e-02 6.207853021231610e-02 6.204385940584693e-02 6.200919710195792e-02 6.197454331773228e-02 + 6.193989807025328e-02 6.190526137660414e-02 6.187063325386812e-02 6.183601371912845e-02 6.180140278946837e-02 + 6.176680048197113e-02 6.173220681371997e-02 6.169762180179813e-02 6.166304546328885e-02 6.162847781527538e-02 + 6.159391887484095e-02 6.155936865906880e-02 6.152482718504219e-02 6.149029446984435e-02 6.145577053055853e-02 + 6.142125538426796e-02 6.138674904805590e-02 6.135225153900557e-02 6.131776287420022e-02 6.128328307072310e-02 + 6.124881214565744e-02 6.121435011608650e-02 6.117989699909349e-02 6.114545281176169e-02 6.111101757117431e-02 + 6.107659129441460e-02 6.104217399856583e-02 6.100776570071121e-02 6.097336641793399e-02 6.093897616731742e-02 + 6.090459496594473e-02 6.087022283089916e-02 6.083585977926396e-02 6.080150582812238e-02 6.076716099455765e-02 + 6.073282529565302e-02 6.069849874849172e-02 6.066418137015700e-02 6.062987317773211e-02 6.059557418830027e-02 + 6.056128441894475e-02 6.052700388674876e-02 6.049273260879557e-02 6.045847060216841e-02 6.042421788395052e-02 + 6.038997447122514e-02 6.035574038107552e-02 6.032151563058490e-02 6.028730023683652e-02 6.025309421691362e-02 + 6.021889758789946e-02 6.018471036687725e-02 6.015053257093025e-02 6.011636421714171e-02 6.008220532259485e-02 + 6.004805590437293e-02 6.001391597955918e-02 5.997978556523686e-02 5.994566467848918e-02 5.991155333639943e-02 + 5.987745155605081e-02 5.984335935452657e-02 5.980927674890997e-02 5.977520375628423e-02 5.974114039373261e-02 + 5.970708667833834e-02 5.967304262718466e-02 5.963900825735483e-02 5.960498358593206e-02 5.957096862999962e-02 + 5.953696340664075e-02 5.950296793293869e-02 5.946898222597666e-02 5.943500630283793e-02 5.940104018060574e-02 + 5.936708387636331e-02 5.933313740719390e-02 5.929920079018074e-02 5.926527404240709e-02 5.923135718095618e-02 + 5.919745022291125e-02 5.916355318535554e-02 5.912966608537230e-02 5.909578894004478e-02 5.906192176645620e-02 + 5.902806458168981e-02 5.899421740282887e-02 5.896038024695659e-02 5.892655313115624e-02 5.889273607251104e-02 + 5.885892908810425e-02 5.882513219501910e-02 5.879134541033884e-02 5.875756875114671e-02 5.872380223452595e-02 + 5.869004587755981e-02 5.865629969733151e-02 5.862256371092430e-02 5.858883793542144e-02 5.855512238790617e-02 + 5.852141708546170e-02 5.848772204517131e-02 5.845403728411822e-02 5.842036281938568e-02 5.838669866805692e-02 + 5.835304484721521e-02 5.831940137394376e-02 5.828576826532585e-02 5.825214553844467e-02 5.821853321038349e-02 + 5.818493129822556e-02 5.815133981905412e-02 5.811775878995240e-02 5.808418822800365e-02 5.805062815029110e-02 + 5.801707857389801e-02 5.798353951590760e-02 5.795001099340315e-02 5.791649302346786e-02 5.788298562318499e-02 + 5.784948880963779e-02 5.781600259990949e-02 5.778252701108333e-02 5.774906206024256e-02 5.771560776447041e-02 + 5.768216414085015e-02 5.764873120646499e-02 5.761530897839819e-02 5.758189747373298e-02 5.754849670955262e-02 + 5.751510670294033e-02 5.748172747097936e-02 5.744835903075296e-02 5.741500139934437e-02 5.738165459383683e-02 + 5.734831863131357e-02 5.731499352885785e-02 5.728167930355290e-02 5.724837597248197e-02 5.721508355272830e-02 + 5.718180206137512e-02 5.714853151550570e-02 5.711527193220325e-02 5.708202332855103e-02 5.704878572163228e-02 + 5.701555912853024e-02 5.698234356632816e-02 5.694913905210926e-02 5.691594560295680e-02 5.688276323595402e-02 + 5.684959196818416e-02 5.681643181673045e-02 5.678328279867616e-02 5.675014493110452e-02 5.671701823109875e-02 + 5.668390271574211e-02 5.665079840211785e-02 5.661770530730920e-02 5.658462344839940e-02 5.655155284247171e-02 + 5.651849350660935e-02 5.648544545789557e-02 5.645240871341362e-02 5.641938329024674e-02 5.638636920547815e-02 + 5.635336647619112e-02 5.632037511946889e-02 5.628739515239468e-02 5.625442659205174e-02 5.622146945552333e-02 + 5.618852375989267e-02 5.615558952224302e-02 5.612266675965761e-02 5.608975548921968e-02 5.605685572801247e-02 + 5.602396749311925e-02 5.599109080162322e-02 5.595822567060765e-02 5.592537211715578e-02 5.589253015835084e-02 + 5.585969981127608e-02 5.582688109301474e-02 5.579407402065006e-02 5.576127861126528e-02 5.572849488194366e-02 + 5.569572284976842e-02 5.566296253182280e-02 5.563021394519008e-02 5.559747710695345e-02 5.556475203419618e-02 + 5.553203874400151e-02 5.549933725345269e-02 5.546664757963294e-02 5.543396973962551e-02 5.540130375051366e-02 + 5.536864962938060e-02 5.533600739330961e-02 5.530337705938389e-02 5.527075864468672e-02 5.523815216630132e-02 + 5.520555764131094e-02 5.517297508679882e-02 5.514040451984819e-02 5.510784595754230e-02 5.507529941696442e-02 + 5.504276491519774e-02 5.501024246932555e-02 5.497773209643106e-02 5.494523381359754e-02 5.491274763790820e-02 + 5.488027358644629e-02 5.484781167629507e-02 5.481536192453777e-02 5.478292434825763e-02 5.475049896453790e-02 + 5.471808579046181e-02 5.468568484311261e-02 5.465329613957354e-02 5.462091969692785e-02 5.458855553225877e-02 + 5.455620366264955e-02 5.452386410518342e-02 5.449153687694363e-02 5.445922199501343e-02 5.442691947647604e-02 + 5.439462933841474e-02 5.436235159791274e-02 5.433008627205328e-02 5.429783337791962e-02 5.426559293259499e-02 + 5.423336495316264e-02 5.420114945670580e-02 5.416894646030773e-02 5.413675598105167e-02 5.410457803602083e-02 + 5.407241264229849e-02 5.404025981696787e-02 5.400811957711223e-02 5.397599193981480e-02 5.394387692215881e-02 + 5.391177454122753e-02 5.387968481410418e-02 5.384760775787202e-02 5.381554338961427e-02 5.378349172641418e-02 + 5.375145278535501e-02 5.371942658351998e-02 5.368741313799234e-02 5.365541246585533e-02 5.362342458419220e-02 + 5.359144951008617e-02 5.355948726062051e-02 5.352753785287844e-02 5.349560130394321e-02 5.346367763089808e-02 + 5.343176685082626e-02 5.339986898081100e-02 5.336798403793557e-02 5.333611203928318e-02 5.330425300193709e-02 + 5.327240694298052e-02 5.324057387949673e-02 5.320875382856897e-02 5.317694680728046e-02 5.314515283271445e-02 + 5.311337192195419e-02 5.308160409208292e-02 5.304984936018387e-02 5.301810774334029e-02 5.298637925860694e-02 + 5.295466392210174e-02 5.292296174881576e-02 5.289127275367324e-02 5.285959695159842e-02 5.282793435751552e-02 + 5.279628498634878e-02 5.276464885302243e-02 5.273302597246069e-02 5.270141635958780e-02 5.266982002932800e-02 + 5.263823699660550e-02 5.260666727634453e-02 5.257511088346935e-02 5.254356783290417e-02 5.251203813957321e-02 + 5.248052181840073e-02 5.244901888431094e-02 5.241752935222807e-02 5.238605323707637e-02 5.235459055378005e-02 + 5.232314131726334e-02 5.229170554245050e-02 5.226028324426572e-02 5.222887443763326e-02 5.219747913747734e-02 + 5.216609735872220e-02 5.213472911629205e-02 5.210337442511115e-02 5.207203330010370e-02 5.204070575619395e-02 + 5.200939180830615e-02 5.197809147136448e-02 5.194680476029321e-02 5.191553169001656e-02 5.188427227545876e-02 + 5.185302653154403e-02 5.182179447319664e-02 5.179057611534077e-02 5.175937147290068e-02 5.172818056080060e-02 + 5.169700339396475e-02 5.166583998731737e-02 5.163469035578269e-02 5.160355451428494e-02 5.157243247774834e-02 + 5.154132426109714e-02 5.151022987925555e-02 5.147914934714782e-02 5.144808267969817e-02 5.141702989183084e-02 + 5.138599099847005e-02 5.135496601454004e-02 5.132395495496503e-02 5.129295783466926e-02 5.126197466857695e-02 + 5.123100547161235e-02 5.120005025869967e-02 5.116910904476317e-02 5.113818184472704e-02 5.110726867351554e-02 + 5.107636954605289e-02 5.104548447726333e-02 5.101461348207109e-02 5.098375657540039e-02 5.095291377217546e-02 + 5.092208508732055e-02 5.089127053575987e-02 5.086047013241765e-02 5.082968389221815e-02 5.079891183008556e-02 + 5.076815396094415e-02 5.073741029971812e-02 5.070668086133172e-02 5.067596566070917e-02 5.064526471277472e-02 + 5.061457803245257e-02 5.058390563466697e-02 5.055324753434216e-02 5.052260374640234e-02 5.049197428577178e-02 + 5.046135916737467e-02 5.043075840613528e-02 5.040017201697781e-02 5.036960001482652e-02 5.033904241460560e-02 + 5.030849923123931e-02 5.027797047965189e-02 5.024745617476754e-02 5.021695633151052e-02 5.018647096480505e-02 + 5.015600008957535e-02 5.012554372074565e-02 5.009510187324022e-02 5.006467456198324e-02 5.003426180189897e-02 + 5.000386360791163e-02 4.997347999494546e-02 4.994311097792468e-02 4.991275657177353e-02 4.988241679141623e-02 + 4.985209165177702e-02 4.982178116778014e-02 4.979148535434980e-02 4.976120422641023e-02 4.973093779888569e-02 + 4.970068608670038e-02 4.967044910477855e-02 4.964022686804442e-02 4.961001939142222e-02 4.957982668983620e-02 + 4.954964877821057e-02 4.951948567146956e-02 4.948933738453741e-02 4.945920393233836e-02 4.942908532979662e-02 + 4.939898159183643e-02 4.936889273338203e-02 4.933881876935763e-02 4.930875971468749e-02 4.927871558429582e-02 + 4.924868639310685e-02 4.921867215604481e-02 4.918867288803395e-02 4.915868860399848e-02 4.912871931886263e-02 + 4.909876504755066e-02 4.906882580498677e-02 4.903890160609520e-02 4.900899246580018e-02 4.897909839902595e-02 + 4.894921942069672e-02 4.891935554573676e-02 4.888950678907025e-02 4.885967316562146e-02 4.882985469031461e-02 + 4.880005137807392e-02 4.877026324382362e-02 4.874049030248797e-02 4.871073256899117e-02 4.868099005825745e-02 + 4.865126278521108e-02 4.862155076477624e-02 4.859185401187720e-02 4.856217254143816e-02 4.853250636838338e-02 + 4.850285550763707e-02 4.847321997412347e-02 4.844359978276680e-02 4.841399494849130e-02 4.838440548622121e-02 + 4.835483141088075e-02 4.832527273739414e-02 4.829572948068564e-02 4.826620165567946e-02 4.823668927729983e-02 + 4.820719236047098e-02 4.817771092011715e-02 4.814824497116257e-02 4.811879452853147e-02 4.808935960714807e-02 + 4.805994022193662e-02 4.803053638782134e-02 4.800114811972645e-02 4.797177543257621e-02 4.794241834129482e-02 + 4.791307686080653e-02 4.788375100603556e-02 4.785444079190614e-02 4.782514623334252e-02 4.779586734526891e-02 + 4.776660414260955e-02 4.773735664028868e-02 4.770812485323050e-02 4.767890879635927e-02 4.764970848459921e-02 + 4.762052393287456e-02 4.759135515610954e-02 4.756220216922838e-02 4.753306498715533e-02 4.750394362481459e-02 + 4.747483809713041e-02 4.744574841902701e-02 4.741667460542864e-02 4.738761667125952e-02 4.735857463144388e-02 + 4.732954850090595e-02 4.730053829456995e-02 4.727154402736015e-02 4.724256571420073e-02 4.721360337001596e-02 + 4.718465700973005e-02 4.715572664826723e-02 4.712681230055175e-02 4.709791398150782e-02 4.706903170605968e-02 + 4.704016548913156e-02 4.701131534564769e-02 4.698248129053231e-02 4.695366333870963e-02 4.692486150510391e-02 + 4.689607580463934e-02 4.686730625224018e-02 4.683855286283068e-02 4.680981565133503e-02 4.678109463267748e-02 + 4.675238982178226e-02 4.672370123357359e-02 4.669502888297572e-02 4.666637278491287e-02 4.663773295430927e-02 + 4.660910940608916e-02 4.658050215517676e-02 4.655191121649629e-02 4.652333660497202e-02 4.649477833552815e-02 + 4.646623642308891e-02 4.643771088257853e-02 4.640920172892127e-02 4.638070897704132e-02 4.635223264186294e-02 + 4.632377273831036e-02 4.629532928130779e-02 4.626690228577947e-02 4.623849176664965e-02 4.621009773884253e-02 + 4.618172021728237e-02 4.615335921689338e-02 4.612501475259979e-02 4.609668683932586e-02 4.606837549199577e-02 + 4.604008072553380e-02 4.601180255486416e-02 4.598354099491107e-02 4.595529606059879e-02 4.592706776685152e-02 + 4.589885612859351e-02 4.587066116074899e-02 4.584248287824218e-02 4.581432129599732e-02 4.578617642893863e-02 + 4.575804829199037e-02 4.572993690007673e-02 4.570184226812196e-02 4.567376441105030e-02 4.564570334378597e-02 + 4.561765908125320e-02 4.558963163837623e-02 4.556162103007928e-02 4.553362727128659e-02 4.550565037692238e-02 + 4.547769036191089e-02 4.544974724117636e-02 4.542182102964300e-02 4.539391174223504e-02 4.536601939387674e-02 + 4.533814399949231e-02 4.531028557400597e-02 4.528244413234197e-02 4.525461968942453e-02 4.522681226017790e-02 + 4.519902185952628e-02 4.517124850239393e-02 4.514349220370505e-02 4.511575297838390e-02 4.508803084135470e-02 + 4.506032580754168e-02 4.503263789186907e-02 4.500496710926111e-02 4.497731347464200e-02 4.494967700293602e-02 + 4.492205770906736e-02 4.489445560796028e-02 4.486687071453899e-02 4.483930304372771e-02 4.481175261045071e-02 + 4.478421942963219e-02 4.475670351619640e-02 4.472920488506756e-02 4.470172355116988e-02 4.467425952942764e-02 + 4.464681283476502e-02 4.461938348210628e-02 4.459197148637566e-02 4.456457686249737e-02 4.453719962539564e-02 + 4.450983978999472e-02 4.448249737121881e-02 4.445517238399217e-02 4.442786484323902e-02 4.440057476388359e-02 + 4.437330216085012e-02 4.434604704906282e-02 4.431880944344595e-02 4.429158935892372e-02 4.426438681042035e-02 + 4.423720181286010e-02 4.421003438116718e-02 4.418288453026584e-02 4.415575227508029e-02 4.412863763053477e-02 + 4.410154061155352e-02 4.407446123306075e-02 4.404739950998071e-02 4.402035545723762e-02 4.399332908975571e-02 + 4.396632042245923e-02 4.393932947027238e-02 4.391235624811941e-02 4.388540077092456e-02 4.385846305361203e-02 + 4.383154311110608e-02 4.380464095833093e-02 4.377775661021081e-02 4.375089008166996e-02 4.372404138763258e-02 + 4.369721054302294e-02 4.367039756276526e-02 4.364360246178376e-02 4.361682525500267e-02 4.359006595734623e-02 + 4.356332458373868e-02 4.353660114910423e-02 4.350989566836711e-02 4.348320815645158e-02 4.345653862828184e-02 + 4.342988709878214e-02 4.340325358287669e-02 4.337663809548974e-02 4.335004065154552e-02 4.332346126596825e-02 + 4.329689995368217e-02 4.327035672961151e-02 4.324383160868049e-02 4.321732460581335e-02 4.319083573593433e-02 + 4.316436501396765e-02 4.313791245483754e-02 4.311147807346823e-02 4.308506188478395e-02 4.305866390370894e-02 + 4.303228414516742e-02 4.300592262408363e-02 4.297957935538180e-02 4.295325435398616e-02 4.292694763482094e-02 + 4.290065921281035e-02 4.287438910287866e-02 4.284813731995007e-02 4.282190387894883e-02 4.279568879479917e-02 + 4.276949208242530e-02 4.274331375675147e-02 4.271715383270192e-02 4.269101232520085e-02 4.266488924917250e-02 + 4.263878461954113e-02 4.261269845123093e-02 4.258663075916616e-02 4.256058155827103e-02 4.253455086346980e-02 + 4.250853868968667e-02 4.248254505184589e-02 4.245656996487169e-02 4.243061344368828e-02 4.240467550321991e-02 + 4.237875615839081e-02 4.235285542412521e-02 4.232697331534734e-02 4.230110984698143e-02 4.227526503395169e-02 + 4.224943889118240e-02 4.222363143359775e-02 4.219784267612198e-02 4.217207263367933e-02 4.214632132119402e-02 + 4.212058875359029e-02 4.209487494579236e-02 4.206917991272448e-02 4.204350366931086e-02 4.201784623047573e-02 + 4.199220761114335e-02 4.196658782623791e-02 4.194098689068368e-02 4.191540481940486e-02 4.188984162732570e-02 + 4.186429732937041e-02 4.183877194046326e-02 4.181326547552844e-02 4.178777794949019e-02 4.176230937727277e-02 + 4.173685977380037e-02 4.171142915399725e-02 4.168601753278764e-02 4.166062492509574e-02 4.163525134584580e-02 + 4.160989680996207e-02 4.158456133236876e-02 4.155924492799010e-02 4.153394761175032e-02 4.150866939857367e-02 + 4.148341030338436e-02 4.145817034110662e-02 4.143294952666470e-02 4.140774787498282e-02 4.138256540098521e-02 + 4.135740211959609e-02 4.133225804573972e-02 4.130713319434030e-02 4.128202758032209e-02 4.125694121860929e-02 + 4.123187412412615e-02 4.120682631179690e-02 4.118179779654577e-02 4.115678859329698e-02 4.113179871697477e-02 + 4.110682818250337e-02 4.108187700480702e-02 4.105694519880994e-02 4.103203277943635e-02 4.100713976161051e-02 + 4.098226616025662e-02 4.095741199029894e-02 4.093257726666168e-02 4.090776200426908e-02 4.088296621804536e-02 + 4.085818992291476e-02 4.083343313380151e-02 4.080869586562985e-02 4.078397813332400e-02 4.075927995180818e-02 + 4.073460133600665e-02 4.070994230084361e-02 4.068530286124331e-02 4.066068303212998e-02 4.063608282842784e-02 + 4.061150226506113e-02 4.058694135695408e-02 4.056240011903092e-02 4.053787856621588e-02 4.051337671343318e-02 + 4.048889457560707e-02 4.046443216766178e-02 4.043998950452153e-02 4.041556660111054e-02 4.039116347235307e-02 + 4.036678013317334e-02 4.034241659849556e-02 4.031807288324400e-02 4.029374900234285e-02 4.026944497071637e-02 + 4.024516080328877e-02 4.022089651498431e-02 4.019665212072718e-02 4.017242763544165e-02 4.014822307405193e-02 + 4.012403845148225e-02 4.009987378265685e-02 4.007572908249996e-02 4.005160436593580e-02 4.002749964788860e-02 + 4.000341494328261e-02 3.997935026862905e-02 3.995530565020248e-02 3.993128111798760e-02 3.990727670197625e-02 + 3.988329243216027e-02 3.985932833853151e-02 3.983538445108181e-02 3.981146079980302e-02 3.978755741468697e-02 + 3.976367432572553e-02 3.973981156291052e-02 3.971596915623379e-02 3.969214713568721e-02 3.966834553126258e-02 + 3.964456437295178e-02 3.962080369074663e-02 3.959706351463900e-02 3.957334387462071e-02 3.954964480068362e-02 + 3.952596632281957e-02 3.950230847102040e-02 3.947867127527795e-02 3.945505476558409e-02 3.943145897193063e-02 + 3.940788392430945e-02 3.938432965271236e-02 3.936079618713123e-02 3.933728355755788e-02 3.931379179398419e-02 + 3.929032092640197e-02 3.926687098480308e-02 3.924344199917935e-02 3.922003399952266e-02 3.919664701582481e-02 + 3.917328107807769e-02 3.914993621627309e-02 3.912661246040292e-02 3.910330984045896e-02 3.908002838643308e-02 + 3.905676812831715e-02 3.903352909610298e-02 3.901031131978242e-02 3.898711482934733e-02 3.896393965478955e-02 + 3.894078582610091e-02 3.891765337327326e-02 3.889454232629846e-02 3.887145271516833e-02 3.884838456987474e-02 + 3.882533792040951e-02 3.880231279676451e-02 3.877930922893155e-02 3.875632724690252e-02 3.873336688066923e-02 + 3.871042816022353e-02 3.868751111555727e-02 3.866461577666229e-02 3.864174217353044e-02 3.861889033615356e-02 + 3.859606029452349e-02 3.857325207863209e-02 3.855046571847119e-02 3.852770124403264e-02 3.850495868530828e-02 + 3.848223807228996e-02 3.845953943496952e-02 3.843686280333881e-02 3.841420820738967e-02 3.839157567711395e-02 + 3.836896524250349e-02 3.834637693355013e-02 3.832381078024572e-02 3.830126681258209e-02 3.827874506055112e-02 + 3.825624555414461e-02 3.823376832335444e-02 3.821131339817244e-02 3.818888080859045e-02 3.816647058460032e-02 + 3.814408275619389e-02 3.812171735336303e-02 3.809937440609954e-02 3.807705394439530e-02 3.805475599824214e-02 + 3.803248059763190e-02 3.801022777255643e-02 3.798799755300758e-02 3.796578996897719e-02 3.794360505045710e-02 + 3.792144282743916e-02 3.789930332991522e-02 3.787718658787710e-02 3.785509263131667e-02 3.783302149022577e-02 + 3.781097319459624e-02 3.778894777441992e-02 3.776694525968866e-02 3.774496568039430e-02 3.772300906652870e-02 + 3.770107544808367e-02 3.767916485505110e-02 3.765727731742280e-02 3.763541286519063e-02 3.761357152834642e-02 + 3.759175333688204e-02 3.756995832078931e-02 3.754818651006007e-02 3.752643793468620e-02 3.750471262465951e-02 + 3.748301060997186e-02 3.746133192061509e-02 3.743967658658105e-02 3.741804463786157e-02 3.739643610444850e-02 + 3.737485101633371e-02 3.735328940350900e-02 3.733175129596625e-02 3.731023672369729e-02 3.728874571669397e-02 + 3.726727830494812e-02 3.724583451845160e-02 3.722441438719625e-02 3.720301794117391e-02 3.718164521037644e-02 + 3.716029622479566e-02 3.713897101442343e-02 3.711766960925159e-02 3.709639203927199e-02 3.707513833447647e-02 + 3.705390852485687e-02 3.703270264040504e-02 3.701152071111283e-02 3.699036276697207e-02 3.696922883797462e-02 + 3.694811895411231e-02 3.692703314537699e-02 3.690597144176051e-02 3.688493387325471e-02 3.686392046985143e-02 + 3.684293126154253e-02 3.682196627831984e-02 3.680102555017520e-02 3.678010910710046e-02 3.675921697908748e-02 + 3.673834919612807e-02 3.671750578821411e-02 3.669668678533742e-02 3.667589221748987e-02 3.665512211466327e-02 + 3.663437650684950e-02 3.661365542404037e-02 3.659295889622776e-02 3.657228695340348e-02 3.655163962555941e-02 + 3.653101694268735e-02 3.651041893477919e-02 3.648984563182674e-02 3.646929706382188e-02 3.644877326075641e-02 + 3.642827425262220e-02 3.640780006941109e-02 3.638735074111494e-02 3.636692629772557e-02 3.634652676923484e-02 + 3.632615218563458e-02 3.630580257691665e-02 3.628547797307289e-02 3.626517840409513e-02 3.624490389997524e-02 + 3.622465449070505e-02 3.620443020627639e-02 3.618423107668113e-02 3.616405713191111e-02 3.614390840195816e-02 + 3.612378491681414e-02 3.610368670647089e-02 3.608361380092025e-02 3.606356623015406e-02 3.604354402416417e-02 + 3.602354721294244e-02 3.600357582648069e-02 3.598362989477077e-02 3.596370944780453e-02 3.594381451557382e-02 + 3.592394512807047e-02 3.590410131528634e-02 3.588428310721326e-02 3.586449053384308e-02 3.584472362516764e-02 + 3.582498241117880e-02 3.580526692186839e-02 3.578557718722826e-02 3.576591323725024e-02 3.574627510192620e-02 + 3.572666281124797e-02 3.570707639520740e-02 3.568751588379632e-02 3.566798130700659e-02 3.564847269483005e-02 + 3.562899007725854e-02 3.560953348428391e-02 3.559010294589800e-02 3.557069849209266e-02 3.555132015285974e-02 + 3.553196795819106e-02 3.551264193807849e-02 3.549334212251386e-02 3.547406854148901e-02 3.545482122499580e-02 + 3.543560020302607e-02 3.541640550557167e-02 3.539723716262443e-02 3.537809520417620e-02 3.535897966021882e-02 + 3.533989056074414e-02 3.532082793574401e-02 3.530179181521027e-02 3.528278222913475e-02 3.526379920750932e-02 + 3.524484278032580e-02 3.522591297757607e-02 3.520700982925193e-02 3.518813336534525e-02 3.516928361584787e-02 + 3.515046061075164e-02 3.513166438004838e-02 3.511289495372998e-02 3.509415236178823e-02 3.507543663421501e-02 + 3.505674780100216e-02 3.503808589214152e-02 3.501945093762493e-02 3.500084296744425e-02 3.498226201159130e-02 + 3.496370810005795e-02 3.494518126283602e-02 3.492668152991737e-02 3.490820893129385e-02 3.488976349695729e-02 + 3.487134525689954e-02 3.485295424111245e-02 3.483459047958785e-02 3.481625400231760e-02 3.479794483929353e-02 + 3.477966302050750e-02 3.476140857595134e-02 3.474318153561690e-02 3.472498192949603e-02 3.470680978758058e-02 + 3.468866513986237e-02 3.467054801633326e-02 3.465245844698509e-02 3.463439646180971e-02 3.461636209079897e-02 + 3.459835536394470e-02 3.458037631123875e-02 3.456242496267296e-02 3.454450134823919e-02 3.452660549792927e-02 + 3.450873744173504e-02 3.449089720964835e-02 3.447308483166107e-02 3.445530033776500e-02 3.443754375795202e-02 + 3.441981512221395e-02 3.440211446054266e-02 3.438444180292995e-02 3.436679717936773e-02 3.434918061984778e-02 + 3.433159215436199e-02 3.431403181290218e-02 3.429649962546020e-02 3.427899562202789e-02 3.426151983259711e-02 + 3.424407228715969e-02 3.422665301570748e-02 3.420926204823232e-02 3.419189941472606e-02 3.417456514518054e-02 + 3.415725926958761e-02 3.413998181793911e-02 3.412273282022688e-02 3.410551230644278e-02 3.408832030657864e-02 + 3.407115685062630e-02 3.405402196857762e-02 3.403691569042444e-02 3.401983804615860e-02 3.400278906577194e-02 + 3.398576877925633e-02 3.396877721660357e-02 3.395181440780554e-02 3.393488038285408e-02 3.391797517174103e-02 + 3.390109880445821e-02 3.388425131099751e-02 3.386743272135074e-02 3.385064306550976e-02 3.383388237346641e-02 + 3.381715067521254e-02 3.380044800073998e-02 3.378377438004059e-02 3.376712984310620e-02 3.375051441992868e-02 + 3.373392814049984e-02 3.371737103481155e-02 3.370084313285564e-02 3.368434446462396e-02 3.366787506010836e-02 + 3.365143466564878e-02 3.363501887624541e-02 3.361862209777612e-02 3.360224500875989e-02 3.358588827878357e-02 + 3.356955147090725e-02 3.355323458431880e-02 3.353693766165054e-02 3.352066065506343e-02 3.350440352193865e-02 + 3.348816624199871e-02 3.347194881659273e-02 3.345575121630599e-02 3.343957340404732e-02 3.342341535303144e-02 + 3.340727704441876e-02 3.339115845430404e-02 3.337505954322636e-02 3.335898029706669e-02 3.334292070921326e-02 + 3.332688074834195e-02 3.331086037969291e-02 3.329485957414917e-02 3.327887831864652e-02 3.326291658484171e-02 + 3.324697433542376e-02 3.323105156623186e-02 3.321514826023114e-02 3.319926437839098e-02 3.318339989412266e-02 + 3.316755478754796e-02 3.315172903929034e-02 3.313592261295018e-02 3.312013548124740e-02 3.310436764153749e-02 + 3.308861906981869e-02 3.307288973180764e-02 3.305717959801665e-02 3.304148865245999e-02 3.302581687574703e-02 + 3.301016422142487e-02 3.299453067800234e-02 3.297891624809741e-02 3.296332088425066e-02 3.294774455685354e-02 + 3.293218725810471e-02 3.291664896225673e-02 3.290112963401578e-02 3.288562923879117e-02 3.287014777263271e-02 + 3.285468522369568e-02 3.283924155670871e-02 3.282381674440858e-02 3.280841076589561e-02 3.279302360243119e-02 + 3.277765521941309e-02 3.276230558706894e-02 3.274697470113698e-02 3.273166254219040e-02 3.271636907936865e-02 + 3.270109428250347e-02 3.268583813280482e-02 3.267060061307020e-02 3.265538168459424e-02 3.264018132671115e-02 + 3.262499953449712e-02 3.260983628233858e-02 3.259469153939318e-02 3.257956527754512e-02 3.256445748091834e-02 + 3.254936812698490e-02 3.253429718174427e-02 3.251924463148387e-02 3.250421046229880e-02 3.248919464552218e-02 + 3.247419715298105e-02 3.245921796288541e-02 3.244425706251369e-02 3.242931441545717e-02 3.241438998652282e-02 + 3.239948378141620e-02 3.238459577882156e-02 3.236972593925531e-02 3.235487424670715e-02 3.234004068301546e-02 + 3.232522522137563e-02 3.231042782696456e-02 3.229564848261764e-02 3.228088718700101e-02 3.226614390644563e-02 + 3.225141860917057e-02 3.223671128042128e-02 3.222202190260593e-02 3.220735044835789e-02 3.219269687989033e-02 + 3.217806118663362e-02 3.216344336205739e-02 3.214884337811092e-02 3.213426120193776e-02 3.211969680852602e-02 + 3.210515019435922e-02 3.209062132655478e-02 3.207611016186721e-02 3.206161670288540e-02 3.204714093648681e-02 + 3.203268282961075e-02 3.201824236239234e-02 3.200381951210604e-02 3.198941424912934e-02 3.197502654604618e-02 + 3.196065638811887e-02 3.194630377248257e-02 3.193196866763873e-02 3.191765104079724e-02 3.190335087680102e-02 + 3.188906815766901e-02 3.187480285784819e-02 3.186055494296534e-02 3.184632440204734e-02 3.183211122836238e-02 + 3.181791538780577e-02 3.180373685568510e-02 3.178957561657719e-02 3.177543165075891e-02 3.176130492904844e-02 + 3.174719542079285e-02 3.173310312097031e-02 3.171902801589959e-02 3.170497007535993e-02 3.169092927256592e-02 + 3.167690558660036e-02 3.166289900092451e-02 3.164890948767075e-02 3.163493702375719e-02 3.162098160094597e-02 + 3.160704320149037e-02 3.159312179836957e-02 3.157921735868882e-02 3.156532987076624e-02 3.155145932224658e-02 + 3.153760566663864e-02 3.152376889172848e-02 3.150994900180672e-02 3.149614595827410e-02 3.148235973399625e-02 + 3.146859031868535e-02 3.145483769408502e-02 3.144110182886523e-02 3.142738268687409e-02 3.141368026942635e-02 + 3.139999456778463e-02 3.138632554513814e-02 3.137267318073906e-02 3.135903745883740e-02 3.134541835839263e-02 + 3.133181584694165e-02 3.131822989974722e-02 3.130466051752389e-02 3.129110768114365e-02 3.127757136018487e-02 + 3.126405153214003e-02 3.125054818119363e-02 3.123706128835145e-02 3.122359081277034e-02 3.121013674152311e-02 + 3.119669908223311e-02 3.118327780512727e-02 3.116987287740892e-02 3.115648427590923e-02 3.114311198755302e-02 + 3.112975599208620e-02 3.111641625878769e-02 3.110309278026453e-02 3.108978554429882e-02 3.107649451605467e-02 + 3.106321967573116e-02 3.104996101093369e-02 3.103671850522385e-02 3.102349212552239e-02 3.101028184118182e-02 + 3.099708765215899e-02 3.098390954305432e-02 3.097074748653887e-02 3.095760146577434e-02 3.094447145973171e-02 + 3.093135744175442e-02 3.091825938652267e-02 3.090517727892404e-02 3.089211111199125e-02 3.087906086415095e-02 + 3.086602651045607e-02 3.085300802884278e-02 3.084000540267990e-02 3.082701861024971e-02 3.081404762072755e-02 + 3.080109242772720e-02 3.078815302348911e-02 3.077522937271052e-02 3.076232145526043e-02 3.074942925853004e-02 + 3.073655275969265e-02 3.072369193358731e-02 3.071084675893487e-02 3.069801722815575e-02 3.068520332655950e-02 + 3.067240502926292e-02 3.065962230727411e-02 3.064685514336771e-02 3.063410352936318e-02 3.062136743092317e-02 + 3.060864682743443e-02 3.059594172387181e-02 3.058325209340110e-02 3.057057790484611e-02 3.055791914232513e-02 + 3.054527578866520e-02 3.053264782274670e-02 3.052003521936738e-02 3.050743796632342e-02 3.049485605420712e-02 + 3.048228945948342e-02 3.046973815764381e-02 3.045720212753895e-02 3.044468135532321e-02 3.043217582076147e-02 + 3.041968549967531e-02 3.040721038082923e-02 3.039475044749309e-02 3.038230567464306e-02 3.036987604544383e-02 + 3.035746154526919e-02 3.034506215632694e-02 3.033267784558463e-02 3.032030859116679e-02 3.030795439680851e-02 + 3.029561524020229e-02 3.028329109283977e-02 3.027098194217670e-02 3.025868776986960e-02 3.024640855125834e-02 + 3.023414425922958e-02 3.022189488753165e-02 3.020966043396606e-02 3.019744085927903e-02 3.018523614254973e-02 + 3.017304628070488e-02 3.016087124712451e-02 3.014871101490015e-02 3.013656556629268e-02 3.012443489643160e-02 + 3.011231899192166e-02 3.010021782348693e-02 3.008813136953290e-02 3.007605961443153e-02 3.006400254477032e-02 + 3.005196013216448e-02 3.003993235442936e-02 3.002791921520012e-02 3.001592069144608e-02 3.000393675083135e-02 + 2.999196738372897e-02 2.998001257673401e-02 2.996807230790781e-02 2.995614654679549e-02 2.994423528130847e-02 + 2.993233851118915e-02 2.992045620999083e-02 2.990858835120550e-02 2.989673491731453e-02 2.988489589805536e-02 + 2.987307127537464e-02 2.986126102011340e-02 2.984946511909828e-02 2.983768356331996e-02 2.982591633787642e-02 + 2.981416341477938e-02 2.980242477098497e-02 2.979070040412034e-02 2.977899028736241e-02 2.976729439085326e-02 + 2.975561271768286e-02 2.974394525020974e-02 2.973229195799546e-02 2.972065283153817e-02 2.970902785474345e-02 + 2.969741700233630e-02 2.968582025251779e-02 2.967423759388233e-02 2.966266902120933e-02 2.965111450751603e-02 + 2.963957402972690e-02 2.962804757853395e-02 2.961653513685447e-02 2.960503668212408e-02 2.959355219023237e-02 + 2.958208165129883e-02 2.957062505724755e-02 2.955918238857859e-02 2.954775362079399e-02 2.953633873283637e-02 + 2.952493771681483e-02 2.951355054848872e-02 2.950217720053436e-02 2.949081767862442e-02 2.947947196700992e-02 + 2.946814003034778e-02 2.945682185755054e-02 2.944551743582863e-02 2.943422674341014e-02 2.942294975870480e-02 + 2.941168646812421e-02 2.940043686618776e-02 2.938920093147064e-02 2.937797864134186e-02 2.936676998172867e-02 + 2.935557493479196e-02 2.934439347979633e-02 2.933322559583284e-02 2.932207127373048e-02 2.931093050463312e-02 + 2.929980326285230e-02 2.928868953142686e-02 2.927758929945683e-02 2.926650254799867e-02 2.925542925398767e-02 + 2.924436939550082e-02 2.923332296415483e-02 2.922228995044700e-02 2.921127033783603e-02 2.920026410004271e-02 + 2.918927122033416e-02 2.917829169471517e-02 2.916732549176795e-02 2.915637258777840e-02 2.914543298801943e-02 + 2.913450667577263e-02 2.912359362430894e-02 2.911269381274288e-02 2.910180723305731e-02 2.909093387402745e-02 + 2.908007369930849e-02 2.906922669822638e-02 2.905839287303405e-02 2.904757219714476e-02 2.903676465199738e-02 + 2.902597022808873e-02 2.901518890157972e-02 2.900442065055892e-02 2.899366546087253e-02 2.898292332562971e-02 + 2.897219423070421e-02 2.896147815085827e-02 2.895077507160809e-02 2.894008498122344e-02 2.892940786384609e-02 + 2.891874369517828e-02 2.890809245634708e-02 2.889745414621765e-02 2.888682874769054e-02 2.887621623583590e-02 + 2.886561659425123e-02 2.885502981116054e-02 2.884445587294774e-02 2.883389475319686e-02 2.882334643970105e-02 + 2.881281093000496e-02 2.880228819979298e-02 2.879177822929067e-02 2.878128100842524e-02 2.877079651898801e-02 + 2.876032473884395e-02 2.874986564740009e-02 2.873941924390505e-02 2.872898552052601e-02 2.871856444638324e-02 + 2.870815600507148e-02 2.869776018641480e-02 2.868737697516582e-02 2.867700634591397e-02 2.866664827916806e-02 + 2.865630278319325e-02 2.864596983917359e-02 2.863564941328856e-02 2.862534149829953e-02 2.861504608429113e-02 + 2.860476315234840e-02 2.859449267740666e-02 2.858423464566411e-02 2.857398905422620e-02 2.856375588402207e-02 + 2.855353511594846e-02 2.854332673804624e-02 2.853313073796621e-02 2.852294709429606e-02 2.851277577543872e-02 + 2.850261678440491e-02 2.849247012219593e-02 2.848233575178603e-02 2.847221365657614e-02 2.846210383116990e-02 + 2.845200625935100e-02 2.844192091752946e-02 2.843184778466237e-02 2.842178686053369e-02 2.841173813547823e-02 + 2.840170158739025e-02 2.839167719418843e-02 2.838166494245600e-02 2.837166482484053e-02 2.836167681707307e-02 + 2.835170090137019e-02 2.834173707461769e-02 2.833178532393912e-02 2.832184563033358e-02 2.831191797277370e-02 + 2.830200233825938e-02 2.829209871310940e-02 2.828220707523810e-02 2.827232741579271e-02 2.826245972853687e-02 + 2.825260399229306e-02 2.824276019064247e-02 2.823292831178126e-02 2.822310834132040e-02 2.821330025651807e-02 + 2.820350403438503e-02 2.819371967866794e-02 2.818394718049788e-02 2.817418651237375e-02 2.816443766090156e-02 + 2.815470061416237e-02 2.814497535504664e-02 2.813526186206681e-02 2.812556012131105e-02 2.811587013236315e-02 + 2.810619188120791e-02 2.809652534562629e-02 2.808687050311100e-02 2.807722734684383e-02 2.806759586949595e-02 + 2.805797603975531e-02 2.804836784541272e-02 2.803877128655403e-02 2.802918634812817e-02 2.801961300908425e-02 + 2.801005124931340e-02 2.800050106254358e-02 2.799096243185147e-02 2.798143533065562e-02 2.797191976200169e-02 + 2.796241571829330e-02 2.795292316767612e-02 2.794344209750147e-02 2.793397250080147e-02 2.792451436474921e-02 + 2.791506766429417e-02 2.790563238187514e-02 2.789620852426368e-02 2.788679607109519e-02 2.787739499448651e-02 + 2.786800529276515e-02 2.785862695250820e-02 2.784925995023579e-02 2.783990426851568e-02 2.783055990112446e-02 + 2.782122684523413e-02 2.781190507602721e-02 2.780259457625915e-02 2.779329533996523e-02 2.778400734510273e-02 + 2.777473057425486e-02 2.776546502209671e-02 2.775621067523501e-02 2.774696751775778e-02 2.773773553529171e-02 + 2.772851471226555e-02 2.771930503638066e-02 2.771010650156085e-02 2.770091908311444e-02 2.769174275675288e-02 + 2.768257752750487e-02 2.767342338343482e-02 2.766428030170250e-02 2.765514827509389e-02 2.764602728937508e-02 + 2.763691732224667e-02 2.762781835629091e-02 2.761873038318760e-02 2.760965340016332e-02 2.760058738918467e-02 + 2.759153233095657e-02 2.758248821223181e-02 2.757345502668101e-02 2.756443275844788e-02 2.755542137569210e-02 + 2.754642087861812e-02 2.753743126859248e-02 2.752845251726651e-02 2.751948461051369e-02 2.751052754088128e-02 + 2.750158129051000e-02 2.749264584112846e-02 2.748372117908398e-02 2.747480730190011e-02 2.746590419839729e-02 + 2.745701184777745e-02 2.744813023052759e-02 2.743925933666562e-02 2.743039916197098e-02 2.742154968107790e-02 + 2.741271087850060e-02 2.740388275814067e-02 2.739506530469222e-02 2.738625849608251e-02 2.737746231424592e-02 + 2.736867675514432e-02 2.735990180809817e-02 2.735113743878892e-02 2.734238364845174e-02 2.733364044336462e-02 + 2.732490778587926e-02 2.731618566204183e-02 2.730747407386686e-02 2.729877300249025e-02 2.729008242908668e-02 + 2.728140234030172e-02 2.727273272900814e-02 2.726407358354408e-02 2.725542488697956e-02 2.724678662927163e-02 + 2.723815879907967e-02 2.722954137935252e-02 2.722093434732608e-02 2.721233769152850e-02 2.720375141931018e-02 + 2.719517551218435e-02 2.718660994644712e-02 2.717805471481514e-02 2.716950980584153e-02 2.716097520393317e-02 + 2.715245089289530e-02 2.714393686286031e-02 2.713543310581999e-02 2.712693960497614e-02 2.711845634782483e-02 + 2.710998332519429e-02 2.710152051958041e-02 2.709306791441093e-02 2.708462549834906e-02 2.707619326918369e-02 + 2.706777121480425e-02 2.705935930907671e-02 2.705095754483260e-02 2.704256591454058e-02 2.703418439795306e-02 + 2.702581298145425e-02 2.701745165546447e-02 2.700910041075726e-02 2.700075923746808e-02 2.699242812272907e-02 + 2.698410704764140e-02 2.697579599978723e-02 2.696749496984126e-02 2.695920394125775e-02 2.695092290187428e-02 + 2.694265184396634e-02 2.693439075649869e-02 2.692613962541774e-02 2.691789843589869e-02 2.690966718080280e-02 + 2.690144584430361e-02 2.689323440003169e-02 2.688503284907665e-02 2.687684119009101e-02 2.686865940030225e-02 + 2.686048746353486e-02 2.685232536881714e-02 2.684417310662326e-02 2.683603066151065e-02 2.682789801897943e-02 + 2.681977517552054e-02 2.681166212021913e-02 2.680355883616239e-02 2.679546530889016e-02 2.678738152752996e-02 + 2.677930748200765e-02 2.677124315479004e-02 2.676318853591112e-02 2.675514362231527e-02 2.674710839396962e-02 + 2.673908283555094e-02 2.673106694339361e-02 2.672306070150655e-02 2.671506409151823e-02 2.670707710108217e-02 + 2.669909972943648e-02 2.669113197027321e-02 2.668317379682501e-02 2.667522519875436e-02 2.666728617090520e-02 + 2.665935669311371e-02 2.665143675159882e-02 2.664352634032146e-02 2.663562545659268e-02 2.662773408361464e-02 + 2.661985219717407e-02 2.661197979572226e-02 2.660411687169956e-02 2.659626340488144e-02 2.658841937631547e-02 + 2.658058477937751e-02 2.657275961893512e-02 2.656494387358596e-02 2.655713752275513e-02 2.654934056348008e-02 + 2.654155298332925e-02 2.653377476657220e-02 2.652600590198415e-02 2.651824638075199e-02 2.651049619255404e-02 + 2.650275532091429e-02 2.649502375487615e-02 2.648730148802552e-02 2.647958851263073e-02 2.647188480891689e-02 + 2.646419035368700e-02 2.645650515131691e-02 2.644882919484906e-02 2.644116246069965e-02 2.643350494181170e-02 + 2.642585663084689e-02 2.641821751242615e-02 2.641058756892747e-02 2.640296679007395e-02 2.639535517653221e-02 + 2.638775271175803e-02 2.638015937698240e-02 2.637257516664822e-02 2.636500007332271e-02 2.635743408373907e-02 + 2.634987717633525e-02 2.634232934391862e-02 2.633479058525924e-02 2.632726088227431e-02 2.631974022390311e-02 + 2.631222860499385e-02 2.630472600717760e-02 2.629723241433261e-02 2.628974781674581e-02 2.628227220621198e-02 + 2.627480557677242e-02 2.626734792215179e-02 2.625989921852152e-02 2.625245945041883e-02 2.624502862403611e-02 + 2.623760671958282e-02 2.623019371536040e-02 2.622278961237779e-02 2.621539440295659e-02 2.620800807254220e-02 + 2.620063060674004e-02 2.619326199404739e-02 2.618590222410475e-02 2.617855128386046e-02 2.617120916522779e-02 + 2.616387586230346e-02 2.615655135861502e-02 2.614923564213544e-02 2.614192870720641e-02 2.613463054125929e-02 + 2.612734112755428e-02 2.612006044964381e-02 2.611278850871195e-02 2.610552530050819e-02 2.609827080222275e-02 + 2.609102500359168e-02 2.608378789925431e-02 2.607655947900249e-02 2.606933972466179e-02 2.606212861946312e-02 + 2.605492616097670e-02 2.604773234503024e-02 2.604054716124884e-02 2.603337058950191e-02 2.602620261873257e-02 + 2.601904324395194e-02 2.601189244598317e-02 2.600475021758196e-02 2.599761656283118e-02 2.599049145836681e-02 + 2.598337488632347e-02 2.597626684662969e-02 2.596916733159564e-02 2.596207632537513e-02 2.595499380688753e-02 + 2.594791977426907e-02 2.594085422650568e-02 2.593379714560815e-02 2.592674851872178e-02 2.591970833661526e-02 + 2.591267658830654e-02 2.590565326173340e-02 2.589863834578747e-02 2.589163183398775e-02 2.588463371701131e-02 + 2.587764398252935e-02 2.587066261956569e-02 2.586368961749470e-02 2.585672496539723e-02 2.584976865103265e-02 + 2.584282066471713e-02 2.583588100000093e-02 2.582894964599770e-02 2.582202659070586e-02 2.581511182332461e-02 + 2.580820533343631e-02 2.580130710958863e-02 2.579441713875388e-02 2.578753541579036e-02 2.578066193633965e-02 + 2.577379668579866e-02 2.576693964640701e-02 2.576009080523955e-02 2.575325016689414e-02 2.574641771694009e-02 + 2.573959342940173e-02 2.573277731100565e-02 2.572596935753856e-02 2.571916954588383e-02 2.571237786264848e-02 + 2.570559430241213e-02 2.569881886299849e-02 2.569205152414907e-02 2.568529227185872e-02 2.567854111122693e-02 + 2.567179802594942e-02 2.566506299732867e-02 2.565833602386073e-02 2.565161709921462e-02 2.564490620914589e-02 + 2.563820333139000e-02 2.563150846268354e-02 2.562482160754986e-02 2.561814274902439e-02 2.561147187258114e-02 + 2.560480896924013e-02 2.559815402833877e-02 2.559150703774291e-02 2.558486798572520e-02 2.557823686789989e-02 + 2.557161367849433e-02 2.556499840587265e-02 2.555839103232124e-02 2.555179154834854e-02 2.554519995829834e-02 + 2.553861624178350e-02 2.553204037844031e-02 2.552547237202886e-02 2.551891221538829e-02 2.551235989397021e-02 + 2.550581539575596e-02 2.549927871458803e-02 2.549274984258965e-02 2.548622875540724e-02 2.547971544999134e-02 + 2.547320993631275e-02 2.546671219025347e-02 2.546022219347805e-02 2.545373994243675e-02 2.544726542971977e-02 + 2.544079864501286e-02 2.543433957656028e-02 2.542788821576999e-02 2.542144455508066e-02 2.541500858637495e-02 + 2.540858030019949e-02 2.540215968413957e-02 2.539574672197945e-02 2.538934140646816e-02 2.538294373410821e-02 + 2.537655369660362e-02 2.537017128263758e-02 2.536379648098229e-02 2.535742928550868e-02 2.535106968465225e-02 + 2.534471766277936e-02 2.533837321084466e-02 2.533203632423742e-02 2.532570699881585e-02 2.531938521813243e-02 + 2.531307097096266e-02 2.530676425602581e-02 2.530046505932213e-02 2.529417336607690e-02 2.528788916915281e-02 + 2.528161246489754e-02 2.527534324609989e-02 2.526908149634068e-02 2.526282720495094e-02 2.525658036572961e-02 + 2.525034097275206e-02 2.524410901058027e-02 2.523788446449190e-02 2.523166734234336e-02 2.522545763237074e-02 + 2.521925530838600e-02 2.521306037097086e-02 2.520687281776321e-02 2.520069263496993e-02 2.519451980442291e-02 + 2.518835431925369e-02 2.518219618546694e-02 2.517604538654039e-02 2.516990190396150e-02 2.516376573127799e-02 + 2.515763686639562e-02 2.515151530112912e-02 2.514540101358030e-02 2.513929399756280e-02 2.513319425347670e-02 + 2.512710177240427e-02 2.512101654329324e-02 2.511493855506050e-02 2.510886779787783e-02 2.510280425830826e-02 + 2.509674792451250e-02 2.509069880343641e-02 2.508465688466923e-02 2.507862214067907e-02 2.507259457630134e-02 + 2.506657418922008e-02 2.506056095604422e-02 2.505455486579475e-02 2.504855591546334e-02 2.504256410459500e-02 + 2.503657941982099e-02 2.503060184642849e-02 2.502463137903613e-02 2.501866800626509e-02 2.501271171663477e-02 + 2.500676250820755e-02 2.500082037092928e-02 2.499488529135626e-02 2.498895726677344e-02 2.498303628979692e-02 + 2.497712234741346e-02 2.497121542814719e-02 2.496531552247531e-02 2.495942262282587e-02 2.495353672310340e-02 + 2.494765781766853e-02 2.494178589943900e-02 2.493592095223772e-02 2.493006296439117e-02 2.492421193524048e-02 + 2.491836784922406e-02 2.491253069345717e-02 2.490670047398909e-02 2.490087718065651e-02 2.489506079631419e-02 + 2.488925131370227e-02 2.488344872747560e-02 2.487765302865731e-02 2.487186419727612e-02 2.486608223223404e-02 + 2.486030714174834e-02 2.485453889875117e-02 2.484877749156952e-02 2.484302292908405e-02 2.483727519324232e-02 + 2.483153426549052e-02 2.482580013961989e-02 2.482007281919668e-02 2.481435229933991e-02 2.480863855780388e-02 + 2.480293158683973e-02 2.479723138421890e-02 2.479153794250162e-02 2.478585124573938e-02 2.478017128120043e-02 + 2.477449805440481e-02 2.476883155587847e-02 2.476317176818658e-02 2.475751868877601e-02 2.475187231076201e-02 + 2.474623262098153e-02 2.474059960704484e-02 2.473497326224523e-02 2.472935358498410e-02 2.472374056978996e-02 + 2.471813420423485e-02 2.471253447111526e-02 2.470694136984621e-02 2.470135489678424e-02 2.469577503399494e-02 + 2.469020177298829e-02 2.468463511029760e-02 2.467907504169421e-02 2.467352155791407e-02 2.466797464651026e-02 + 2.466243429488579e-02 2.465690049712254e-02 2.465137324948606e-02 2.464585254039273e-02 2.464033836402688e-02 + 2.463483071739735e-02 2.462932958374225e-02 2.462383495186045e-02 2.461834681928389e-02 2.461286517898853e-02 + 2.460739002108202e-02 2.460192133524253e-02 2.459645911917798e-02 2.459100336526309e-02 2.458555405446716e-02 + 2.458011118496141e-02 2.457467475465895e-02 2.456924474486533e-02 2.456382114921245e-02 2.455840396700115e-02 + 2.455299319041756e-02 2.454758880740113e-02 2.454219080674820e-02 2.453679918638537e-02 2.453141393576077e-02 + 2.452603503863916e-02 2.452066249180092e-02 2.451529629410615e-02 2.450993644073534e-02 2.450458291517292e-02 + 2.449923570627392e-02 2.449389481263279e-02 2.448856022075961e-02 2.448323192252920e-02 2.447790992354739e-02 + 2.447259420740984e-02 2.446728475663024e-02 2.446198157303190e-02 2.445668465268695e-02 2.445139398411770e-02 + 2.444610955000165e-02 2.444083134675017e-02 2.443555937646448e-02 2.443029362647454e-02 2.442503408583922e-02 + 2.441978074770511e-02 2.441453360513738e-02 2.440929264714783e-02 2.440405786136508e-02 2.439882924944217e-02 + 2.439360680824694e-02 2.438839052372590e-02 2.438318038826778e-02 2.437797639360750e-02 2.437277852674977e-02 + 2.436758678074824e-02 2.436240115296091e-02 2.435722164202054e-02 2.435204823529888e-02 2.434688091817521e-02 + 2.434171968740183e-02 2.433656453724402e-02 2.433141545805634e-02 2.432627243782077e-02 2.432113546933723e-02 + 2.431600455029639e-02 2.431087967900234e-02 2.430576084399959e-02 2.430064802749307e-02 2.429554123205279e-02 + 2.429044044976694e-02 2.428534565606734e-02 2.428025685952290e-02 2.427517406275088e-02 2.427009724038350e-02 + 2.426502638834353e-02 2.425996150697585e-02 2.425490258288459e-02 2.424984960255012e-02 2.424480255754471e-02 + 2.423976144931379e-02 2.423472627405213e-02 2.422969702193537e-02 2.422467367993699e-02 2.421965624107330e-02 + 2.421464470176334e-02 2.420963904926960e-02 2.420463927567678e-02 2.419964537946393e-02 2.419465735323985e-02 + 2.418967518800793e-02 2.418469887545246e-02 2.417972840901141e-02 2.417476377855392e-02 2.416980496962540e-02 + 2.416485198688481e-02 2.415990483049387e-02 2.415496347565664e-02 2.415002792020104e-02 2.414509816788697e-02 + 2.414017420064829e-02 2.413525600526027e-02 2.413034357711665e-02 2.412543691925479e-02 2.412053602209589e-02 + 2.411564086852338e-02 2.411075145960207e-02 2.410586778967854e-02 2.410098984367492e-02 2.409611761892932e-02 + 2.409125110932578e-02 2.408639030144091e-02 2.408153519631380e-02 2.407668578962185e-02 2.407184206146642e-02 + 2.406700400909483e-02 2.406217163125833e-02 2.405734491326586e-02 2.405252385052364e-02 2.404770844026444e-02 + 2.404289866819192e-02 2.403809452984102e-02 2.403329602484744e-02 2.402850314011094e-02 2.402371586479471e-02 + 2.401893419282938e-02 2.401415812045089e-02 2.400938764313821e-02 2.400462275334547e-02 2.399986343578922e-02 + 2.399510968520409e-02 2.399036150812855e-02 2.398561888480285e-02 2.398088180164008e-02 2.397615026865237e-02 + 2.397142427338870e-02 2.396670380040281e-02 2.396198885088599e-02 2.395727942113068e-02 2.395257549962209e-02 + 2.394787706723708e-02 2.394318412617158e-02 2.393849668455232e-02 2.393381472012022e-02 2.392913822141401e-02 + 2.392446719065216e-02 2.391980162598514e-02 2.391514151312970e-02 2.391048683154523e-02 2.390583758880722e-02 + 2.390119378770886e-02 2.389655541357522e-02 2.389192245255953e-02 2.388729489743550e-02 2.388267274893805e-02 + 2.387805599705324e-02 2.387344463051915e-02 2.386883864637205e-02 2.386423804212813e-02 2.385964281176755e-02 + 2.385505294183017e-02 2.385046842474073e-02 2.384588925674739e-02 2.384131543037479e-02 2.383674693675093e-02 + 2.383218376863605e-02 2.382762592698097e-02 2.382307340607612e-02 2.381852619200930e-02 2.381398427584630e-02 + 2.380944765139419e-02 2.380491631418275e-02 2.380039026147703e-02 2.379586948695320e-02 2.379135397827495e-02 + 2.378684372855616e-02 2.378233873403001e-02 2.377783899070361e-02 2.377334448688785e-02 2.376885521259772e-02 + 2.376437117173840e-02 2.375989235311110e-02 2.375541874056297e-02 2.375095033967465e-02 2.374648714507580e-02 + 2.374202914136664e-02 2.373757632537944e-02 2.373312869288914e-02 2.372868623536894e-02 2.372424894471153e-02 + 2.371981681484819e-02 2.371538984133524e-02 2.371096801501392e-02 2.370655132827953e-02 2.370213977833190e-02 + 2.369773335765337e-02 2.369333205880069e-02 2.368893587883010e-02 2.368454481046802e-02 2.368015884444250e-02 + 2.367577797334512e-02 2.367140218742613e-02 2.366703147963686e-02 2.366266585606776e-02 2.365830530976384e-02 + 2.365394982335759e-02 2.364959939168465e-02 2.364525401200215e-02 2.364091367903051e-02 2.363657837870221e-02 + 2.363224810602428e-02 2.362792286773459e-02 2.362360264929340e-02 2.361928743769403e-02 2.361497723470610e-02 + 2.361067203383207e-02 2.360637182449869e-02 2.360207659794005e-02 2.359778635431920e-02 2.359350109143980e-02 + 2.358922079027601e-02 2.358494544772182e-02 2.358067506765588e-02 2.357640963547734e-02 2.357214914179353e-02 + 2.356789358468287e-02 2.356364296127548e-02 2.355939726289868e-02 2.355515647729875e-02 2.355092060314220e-02 + 2.354668963726047e-02 2.354246356971432e-02 2.353824239065819e-02 2.353402609608870e-02 2.352981468856027e-02 + 2.352560815209497e-02 2.352140647526573e-02 2.351720967050562e-02 2.351301772305351e-02 2.350883061252196e-02 + 2.350464834642137e-02 2.350047092197861e-02 2.349629832802946e-02 2.349213055910952e-02 2.348796760574937e-02 + 2.348380945835795e-02 2.347965612326723e-02 2.347550759163322e-02 2.347136384068571e-02 2.346722487769892e-02 + 2.346309070523777e-02 2.345896130833473e-02 2.345483667635093e-02 2.345071680463291e-02 2.344660169327714e-02 + 2.344249133136094e-02 2.343838570884467e-02 2.343428482723373e-02 2.343018868068117e-02 2.342609726030811e-02 + 2.342201056195244e-02 2.341792857876926e-02 2.341385130156056e-02 2.340977872164902e-02 2.340571083589386e-02 + 2.340164764377465e-02 2.339758913684304e-02 2.339353530825718e-02 2.338948615385810e-02 2.338544166438565e-02 + 2.338140183238109e-02 2.337736665460082e-02 2.337333612670094e-02 2.336931024309368e-02 2.336528899670786e-02 + 2.336127237782067e-02 2.335726037932775e-02 2.335325300092871e-02 2.334925023614406e-02 2.334525207670920e-02 + 2.334125851951941e-02 2.333726955725296e-02 2.333328518197435e-02 2.332930539416707e-02 2.332533018620607e-02 + 2.332135954429912e-02 2.331739346348105e-02 2.331343194297124e-02 2.330947498175055e-02 2.330552256758802e-02 + 2.330157469245372e-02 2.329763135682490e-02 2.329369255310137e-02 2.328975827131819e-02 2.328582850377367e-02 + 2.328190324900185e-02 2.327798250467623e-02 2.327406626164597e-02 2.327015451465238e-02 2.326624725851670e-02 + 2.326234448228765e-02 2.325844618291867e-02 2.325455236057939e-02 2.325066300636415e-02 2.324677811186985e-02 + 2.324289767062798e-02 2.323902167622130e-02 2.323515012509116e-02 2.323128301561370e-02 2.322742034088871e-02 + 2.322356209250113e-02 2.321970826255392e-02 2.321585884544971e-02 2.321201383858435e-02 2.320817324137425e-02 + 2.320433704277431e-02 2.320050523099401e-02 2.319667780275936e-02 2.319285475700314e-02 2.318903609087885e-02 + 2.318522179577433e-02 2.318141186586264e-02 2.317760629632794e-02 2.317380507773795e-02 2.317000820301008e-02 + 2.316621566880872e-02 2.316242747510807e-02 2.315864361575457e-02 2.315486407850317e-02 2.315108885694486e-02 + 2.314731794816131e-02 2.314355135044316e-02 2.313978905662257e-02 2.313603105913640e-02 2.313227735329952e-02 + 2.312852793585061e-02 2.312478280157292e-02 2.312104194073204e-02 2.311730534704967e-02 2.311357301587891e-02 + 2.310984494137890e-02 2.310612112341407e-02 2.310240155989217e-02 2.309868623130452e-02 2.309497513592190e-02 + 2.309126828241582e-02 2.308756565023808e-02 2.308386723175103e-02 2.308017303542274e-02 2.307648304592169e-02 + 2.307279725617671e-02 2.306911567493640e-02 2.306543828441958e-02 2.306176507302976e-02 2.305809605235563e-02 + 2.305443121050249e-02 2.305077053229759e-02 2.304711401909808e-02 2.304346166830784e-02 2.303981347406350e-02 + 2.303616943085239e-02 2.303252953349069e-02 2.302889377643319e-02 2.302526215247478e-02 2.302163465435939e-02 + 2.301801127709388e-02 2.301439202296127e-02 2.301077688440331e-02 2.300716584594829e-02 2.300355891234385e-02 + 2.299995607931316e-02 2.299635732709070e-02 2.299276266087610e-02 2.298917208378683e-02 2.298558558107965e-02 + 2.298200314503575e-02 2.297842477288603e-02 2.297485046311076e-02 2.297128020911345e-02 2.296771400315858e-02 + 2.296415184168031e-02 2.296059371667762e-02 2.295703962066644e-02 2.295348955785851e-02 2.294994352217295e-02 + 2.294640149900077e-02 2.294286348264926e-02 2.293932947451599e-02 2.293579947717141e-02 2.293227347444131e-02 + 2.292875145668869e-02 2.292523342863249e-02 2.292171938675970e-02 2.291820932208030e-02 2.291470322329688e-02 + 2.291120108573121e-02 2.290770290936340e-02 2.290420869564250e-02 2.290071843254762e-02 2.289723210840996e-02 + 2.289374972996874e-02 2.289027128684278e-02 2.288679676284003e-02 2.288332616596880e-02 2.287985949623025e-02 + 2.287639674290211e-02 2.287293789614104e-02 2.286948295143698e-02 2.286603190794522e-02 2.286258475709644e-02 + 2.285914149325583e-02 2.285570211629635e-02 2.285226661817064e-02 2.284883499242224e-02 2.284540723897847e-02 + 2.284198334984975e-02 2.283856331588243e-02 2.283514713353579e-02 2.283173480111027e-02 2.282832631556901e-02 + 2.282492166909090e-02 2.282152085461623e-02 2.281812386736860e-02 2.281473070606539e-02 2.281134136558116e-02 + 2.280795583769253e-02 2.280457411713410e-02 2.280119619914733e-02 2.279782207936136e-02 2.279445175627783e-02 + 2.279108522557549e-02 2.278772247795469e-02 2.278436350274908e-02 2.278100829770330e-02 2.277765687156956e-02 + 2.277430921150676e-02 2.277096530368425e-02 2.276762515226868e-02 2.276428875675497e-02 2.276095610802096e-02 + 2.275762718728153e-02 2.275430199700514e-02 2.275098054723153e-02 2.274766282325953e-02 2.274434881806882e-02 + 2.274103853245654e-02 2.273773195657694e-02 2.273442908251650e-02 2.273112990748000e-02 2.272783443024632e-02 + 2.272454264587135e-02 2.272125454541999e-02 2.271797012768606e-02 2.271468938883630e-02 2.271141231743784e-02 + 2.270813891155475e-02 2.270486917113991e-02 2.270160309030139e-02 2.269834065991423e-02 2.269508187421201e-02 + 2.269182673791773e-02 2.268857524219826e-02 2.268532737305624e-02 2.268208313254210e-02 2.267884251722086e-02 + 2.267560551920548e-02 2.267237214108131e-02 2.266914237609957e-02 2.266591620883689e-02 2.266269364166427e-02 + 2.265947467384046e-02 2.265625929499294e-02 2.265304750285308e-02 2.264983929495161e-02 2.264663466331073e-02 + 2.264343359962570e-02 2.264023610100446e-02 2.263704217283995e-02 2.263385180078203e-02 2.263066497176033e-02 + 2.262748170200772e-02 2.262430198020481e-02 2.262112578516977e-02 2.261795313211606e-02 2.261478401664109e-02 + 2.261161841743119e-02 2.260845633522814e-02 2.260529777070043e-02 2.260214271924124e-02 2.259899117823321e-02 + 2.259584314154298e-02 2.259269859890657e-02 2.258955754741791e-02 2.258641998536936e-02 2.258328590829124e-02 + 2.258015531052365e-02 2.257702818646037e-02 2.257390453172050e-02 2.257078434461123e-02 2.256766762198980e-02 + 2.256455435398716e-02 2.256144453344060e-02 2.255833815784602e-02 2.255523523027356e-02 2.255213574452021e-02 + 2.254903968810603e-02 2.254594705829782e-02 2.254285785514665e-02 2.253977207653749e-02 2.253668970834607e-02 + 2.253361074658835e-02 2.253053520058667e-02 2.252746305460894e-02 2.252439429792020e-02 2.252132894054988e-02 + 2.251826697539277e-02 2.251520839162438e-02 2.251215318778324e-02 2.250910135797150e-02 2.250605289615611e-02 + 2.250300780314812e-02 2.249996607511807e-02 2.249692770517706e-02 2.249389268897849e-02 2.249086101912092e-02 + 2.248783268793952e-02 2.248480769791340e-02 2.248178604607573e-02 2.247876772289102e-02 2.247575272657626e-02 + 2.247274105420605e-02 2.246973269884927e-02 2.246672765673356e-02 2.246372592391256e-02 2.246072749418018e-02 + 2.245773236145919e-02 2.245474052366870e-02 2.245175198466864e-02 2.244876673416187e-02 2.244578475935081e-02 + 2.244280606154297e-02 2.243983064008646e-02 2.243685849064164e-02 2.243388960632717e-02 2.243092397966235e-02 + 2.242796160524575e-02 2.242500248562306e-02 2.242204661762487e-02 2.241909399183298e-02 2.241614460666303e-02 + 2.241319845819517e-02 2.241025553754803e-02 2.240731584245553e-02 2.240437937032112e-02 2.240144611432051e-02 + 2.239851607018801e-02 2.239558923444239e-02 2.239266560299412e-02 2.238974517661811e-02 2.238682795331298e-02 + 2.238391391839321e-02 2.238100306495051e-02 2.237809539304577e-02 2.237519090301935e-02 2.237228958954325e-02 + 2.236939144530989e-02 2.236649647337483e-02 2.236360466636645e-02 2.236071600836286e-02 2.235783050633204e-02 + 2.235494816009726e-02 2.235206895420678e-02 2.234919288912077e-02 2.234631996540050e-02 2.234345017408028e-02 + 2.234058350741709e-02 2.233771996217690e-02 2.233485954108143e-02 2.233200223848051e-02 2.232914804618978e-02 + 2.232629696222737e-02 2.232344898389008e-02 2.232060410657171e-02 2.231776232362639e-02 2.231492363175558e-02 + 2.231208802922137e-02 2.230925550831191e-02 2.230642606279709e-02 2.230359969032392e-02 2.230077639232617e-02 + 2.229795616382932e-02 2.229513899284023e-02 2.229232488215048e-02 2.228951382986107e-02 2.228670582046145e-02 + 2.228390085767177e-02 2.228109894426768e-02 2.227830006461064e-02 2.227550421765863e-02 2.227271140560883e-02 + 2.226992161633195e-02 2.226713484518715e-02 2.226435109357777e-02 2.226157036041665e-02 2.225879263594571e-02 + 2.225601790864145e-02 2.225324618600033e-02 2.225047746610503e-02 2.224771173578603e-02 2.224494899695189e-02 + 2.224218924606724e-02 2.223943246967720e-02 2.223667867147697e-02 2.223392785229840e-02 2.223117999944780e-02 + 2.222843510958861e-02 2.222569318138216e-02 2.222295420869658e-02 2.222021819230338e-02 2.221748513172378e-02 + 2.221475501403353e-02 2.221202783347761e-02 2.220930358964832e-02 2.220658227937696e-02 2.220386389978368e-02 + 2.220114844711944e-02 2.219843591216284e-02 2.219572629440826e-02 2.219301959936691e-02 2.219031581219321e-02 + 2.218761492468887e-02 2.218491694233576e-02 2.218222185562244e-02 2.217952965986671e-02 2.217684036403281e-02 + 2.217415395419634e-02 2.217147041795686e-02 2.216878976537657e-02 2.216611199005385e-02 2.216343708084910e-02 + 2.216076504044857e-02 2.215809586407636e-02 2.215542954392592e-02 2.215276608232491e-02 2.215010547339664e-02 + 2.214744770611955e-02 2.214479278225410e-02 2.214214070177000e-02 2.213949145934428e-02 2.213684504847090e-02 + 2.213420146383213e-02 2.213156070201421e-02 2.212892275987791e-02 2.212628763520102e-02 2.212365532631548e-02 + 2.212102582567219e-02 2.211839912707401e-02 2.211577523186081e-02 2.211315413883962e-02 2.211053584219323e-02 + 2.210792033053083e-02 2.210530760247808e-02 2.210269766011106e-02 2.210009049378774e-02 2.209748609987134e-02 + 2.209488448015577e-02 2.209228563063591e-02 2.208968954607055e-02 2.208709622107550e-02 2.208450564887732e-02 + 2.208191782589816e-02 2.207933275252874e-02 2.207675042560285e-02 2.207417084119970e-02 2.207159399606388e-02 + 2.206901988424427e-02 2.206644850045388e-02 2.206387984291528e-02 2.206131390816773e-02 2.205875069196218e-02 + 2.205619019101501e-02 2.205363240248722e-02 2.205107732226570e-02 2.204852494231603e-02 2.204597526222870e-02 + 2.204342828418220e-02 2.204088399409952e-02 2.203834238815479e-02 2.203580347352047e-02 2.203326724064265e-02 + 2.203073368487589e-02 2.202820281109562e-02 2.202567460568826e-02 2.202314905892956e-02 2.202062617713913e-02 + 2.201810595951965e-02 2.201558839960293e-02 2.201307348855861e-02 2.201056122699519e-02 2.200805161543166e-02 + 2.200554464185156e-02 2.200304030240887e-02 2.200053859846551e-02 2.199803952619762e-02 2.199554308107517e-02 + 2.199304925941878e-02 2.199055805969111e-02 2.198806947716193e-02 2.198558350490501e-02 2.198310014348315e-02 + 2.198061939050182e-02 2.197814123774413e-02 2.197566568143648e-02 2.197319271829654e-02 2.197072234409288e-02 + 2.196825456242376e-02 2.196578937054303e-02 2.196332674903257e-02 2.196086670076693e-02 2.195840923401799e-02 + 2.195595433798292e-02 2.195350200785295e-02 2.195105224287541e-02 2.194860503638501e-02 2.194616038337459e-02 + 2.194371828086876e-02 2.194127872478465e-02 2.193884171275727e-02 2.193640724439015e-02 2.193397531871202e-02 + 2.193154592984012e-02 2.192911906730429e-02 2.192669472874541e-02 2.192427291582612e-02 2.192185362988310e-02 + 2.191943685926103e-02 2.191702259589666e-02 2.191461084837004e-02 2.191220161094460e-02 2.190979487232746e-02 + 2.190739062981033e-02 2.190498888177591e-02 2.190258962778606e-02 2.190019287048831e-02 2.189779860038415e-02 + 2.189540680312951e-02 2.189301748590321e-02 2.189063064823816e-02 2.188824627921663e-02 2.188586438035036e-02 + 2.188348494945867e-02 2.188110797669410e-02 2.187873346273279e-02 2.187636140793982e-02 2.187399180563438e-02 + 2.187162464701073e-02 2.186925992764394e-02 2.186689765219864e-02 2.186453782016761e-02 2.186218042520733e-02 + 2.185982545624109e-02 2.185747291143151e-02 2.185512279286289e-02 2.185277509428750e-02 2.185042981497303e-02 + 2.184808695595145e-02 2.184574650317918e-02 2.184340845337333e-02 2.184107281435048e-02 2.183873957690715e-02 + 2.183640873122354e-02 2.183408027442373e-02 2.183175421068970e-02 2.182943053984947e-02 2.182710925220595e-02 + 2.182479034512406e-02 2.182247381639650e-02 2.182015965839264e-02 2.181784786935527e-02 2.181553844939510e-02 + 2.181323139439093e-02 2.181092669994856e-02 2.180862436262286e-02 2.180632438083940e-02 2.180402674952244e-02 + 2.180173146217098e-02 2.179943851892379e-02 2.179714791838810e-02 2.179485965603752e-02 2.179257372764807e-02 + 2.179029013045416e-02 2.178800886254997e-02 2.178572991731780e-02 2.178345329019238e-02 2.178117898198011e-02 + 2.177890698980304e-02 2.177663730909087e-02 2.177436993586566e-02 2.177210486810286e-02 2.176984210277431e-02 + 2.176758163245009e-02 2.176532345522340e-02 2.176306757137086e-02 2.176081397536724e-02 2.175856266623576e-02 + 2.175631364444715e-02 2.175406689861889e-02 2.175182242380624e-02 2.174958022311289e-02 2.174734029291431e-02 + 2.174510262809328e-02 2.174286722491656e-02 2.174063408336708e-02 2.173840320169586e-02 2.173617457340815e-02 + 2.173394819180500e-02 2.173172405255836e-02 2.172950215559655e-02 2.172728250040623e-02 2.172506508580887e-02 + 2.172284990969628e-02 2.172063696250313e-02 2.171842623537083e-02 2.171621773566752e-02 2.171401146093844e-02 + 2.171180740120238e-02 2.170960555830954e-02 2.170740592901658e-02 2.170520850408856e-02 2.170301328419004e-02 + 2.170082027006994e-02 2.169862945830807e-02 2.169644084240343e-02 2.169425441572978e-02 2.169207017401216e-02 + 2.168988812007480e-02 2.168770825534887e-02 2.168553057272023e-02 2.168335506533793e-02 2.168118172867985e-02 + 2.167901056214399e-02 2.167684156632982e-02 2.167467473989915e-02 2.167251007478243e-02 2.167034756604321e-02 + 2.166818721221639e-02 2.166602901099679e-02 2.166387295840019e-02 2.166171905012346e-02 2.165956728718834e-02 + 2.165741766632386e-02 2.165527017845730e-02 2.165312482355555e-02 2.165098160273919e-02 2.164884051303741e-02 + 2.164670154730472e-02 2.164456469954934e-02 2.164242996946321e-02 2.164029735885670e-02 2.163816686523918e-02 + 2.163603847533059e-02 2.163391219068715e-02 2.163178801684997e-02 2.162966593882407e-02 2.162754595404139e-02 + 2.162542806873079e-02 2.162331227177066e-02 2.162119856181649e-02 2.161908694674025e-02 2.161697741144211e-02 + 2.161486994763257e-02 2.161276456243416e-02 2.161066125301312e-02 2.160856001324272e-02 2.160646083892226e-02 + 2.160436373197112e-02 2.160226869104043e-02 2.160017570438035e-02 2.159808476849354e-02 2.159599588501710e-02 + 2.159390905460169e-02 2.159182427010056e-02 2.158974152429478e-02 2.158766082444429e-02 2.158558216760809e-02 + 2.158350554187339e-02 2.158143094233737e-02 2.157935837033232e-02 2.157728782941571e-02 2.157521931196140e-02 + 2.157315281164952e-02 2.157108832745493e-02 2.156902585566251e-02 2.156696539445298e-02 2.156490694526656e-02 + 2.156285049964247e-02 2.156079605212440e-02 2.155874360997529e-02 2.155669316474123e-02 2.155464470676604e-02 + 2.155259824484399e-02 2.155055377365348e-02 2.154851128035285e-02 2.154647076406023e-02 2.154443222886153e-02 + 2.154239567713112e-02 2.154036109691455e-02 2.153832848380287e-02 2.153629784162443e-02 2.153426916110383e-02 + 2.153224243839968e-02 2.153021767928900e-02 2.152819487735599e-02 2.152617402486068e-02 2.152415511969989e-02 + 2.152213816346627e-02 2.152012315489333e-02 2.151811008517867e-02 2.151609895106827e-02 2.151408975350627e-02 + 2.151208249405811e-02 2.151007716412923e-02 2.150807375412716e-02 2.150607227139823e-02 2.150407271389111e-02 + 2.150207507178008e-02 2.150007934512424e-02 2.149808553345600e-02 2.149609363244227e-02 2.149410363369511e-02 + 2.149211553597770e-02 2.149012934592863e-02 2.148814505588094e-02 2.148616265955859e-02 2.148418215959600e-02 + 2.148220354775919e-02 2.148022681859241e-02 2.147825198020547e-02 2.147627902590631e-02 2.147430794498996e-02 + 2.147233873858447e-02 2.147037140717467e-02 2.146840594879004e-02 2.146644235912430e-02 2.146448063553682e-02 + 2.146252077578778e-02 2.146056277288728e-02 2.145860662318243e-02 2.145665232726965e-02 2.145469988438242e-02 + 2.145274929256557e-02 2.145080054831608e-02 2.144885364454498e-02 2.144690857746641e-02 2.144496534942983e-02 + 2.144302395654175e-02 2.144108439499599e-02 2.143914666610025e-02 2.143721076355154e-02 2.143527668029283e-02 + 2.143334441800114e-02 2.143141397685691e-02 2.142948535268880e-02 2.142755853497146e-02 2.142563352602930e-02 + 2.142371033388222e-02 2.142178894500280e-02 2.141986935358769e-02 2.141795156402302e-02 2.141603556793572e-02 + 2.141412136230918e-02 2.141220895321441e-02 2.141029833297722e-02 2.140838949470163e-02 2.140648244009975e-02 + 2.140457716697424e-02 2.140267367166504e-02 2.140077195168551e-02 2.139887200433115e-02 2.139697382547902e-02 + 2.139507740888590e-02 2.139318275720074e-02 2.139128987343195e-02 2.138939874415982e-02 2.138750936775835e-02 + 2.138562175102568e-02 2.138373588641631e-02 2.138185176599392e-02 2.137996938652284e-02 2.137808875223814e-02 + 2.137620986251236e-02 2.137433270909064e-02 2.137245728978030e-02 2.137058360186242e-02 2.136871163953864e-02 + 2.136684140688612e-02 2.136497290390506e-02 2.136310611597474e-02 2.136124104345297e-02 2.135937769212130e-02 + 2.135751605860686e-02 2.135565613610374e-02 2.135379791822062e-02 2.135194140402438e-02 2.135008659417071e-02 + 2.134823348788390e-02 2.134638207760105e-02 2.134453236032835e-02 2.134268433814086e-02 2.134083800772077e-02 + 2.133899336411597e-02 2.133715040305821e-02 2.133530912424798e-02 2.133346952672500e-02 2.133163160670673e-02 + 2.132979536297411e-02 2.132796079152963e-02 2.132612788229375e-02 2.132429663915477e-02 2.132246706798375e-02 + 2.132063916037057e-02 2.131881290769116e-02 2.131698830582932e-02 2.131516535978050e-02 2.131334407028698e-02 + 2.131152443198118e-02 2.130970643552249e-02 2.130789007885127e-02 2.130607536669811e-02 2.130426229682303e-02 + 2.130245086421657e-02 2.130064106313053e-02 2.129883288837854e-02 2.129702633875496e-02 2.129522141788389e-02 + 2.129341812290223e-02 2.129161644909972e-02 2.128981639414264e-02 2.128801795585396e-02 2.128622113110773e-02 + 2.128442591509673e-02 2.128263230760480e-02 2.128084030772261e-02 2.127904990395241e-02 2.127726109953179e-02 + 2.127547390424031e-02 2.127368830171838e-02 2.127190428479188e-02 2.127012186038021e-02 2.126834102886177e-02 + 2.126656178481652e-02 2.126478411995624e-02 2.126300803603507e-02 2.126123353191450e-02 2.125946059821390e-02 + 2.125768923851055e-02 2.125591945439615e-02 2.125415123382016e-02 2.125238457915817e-02 2.125061949358618e-02 + 2.124885596288304e-02 2.124709398735697e-02 2.124533357303348e-02 2.124357470952245e-02 2.124181739435340e-02 + 2.124006163206048e-02 2.123830741948956e-02 2.123655475001017e-02 2.123480361731545e-02 2.123305402409987e-02 + 2.123130596739953e-02 2.122955943693203e-02 2.122781443910126e-02 2.122607097723360e-02 2.122432904130337e-02 + 2.122258862659696e-02 2.122084973282204e-02 2.121911236175234e-02 2.121737650789419e-02 2.121564216387619e-02 + 2.121390932803162e-02 2.121217800425756e-02 2.121044819455527e-02 2.120871988671843e-02 2.120699307684077e-02 + 2.120526776795157e-02 2.120354395552526e-02 2.120182163603621e-02 2.120010080901829e-02 2.119838147500087e-02 + 2.119666363123091e-02 2.119494727091758e-02 2.119323238927472e-02 2.119151898655034e-02 2.118980706773010e-02 + 2.118809662574528e-02 2.118638765303925e-02 2.118468015121633e-02 2.118297411864271e-02 2.118126955146517e-02 + 2.117956644637810e-02 2.117786480292237e-02 2.117616462067450e-02 2.117446589411339e-02 2.117276862084477e-02 + 2.117107280130004e-02 2.116937843379139e-02 2.116768551256503e-02 2.116599403067535e-02 2.116430399205533e-02 + 2.116261539753040e-02 2.116092824074994e-02 2.115924251858398e-02 2.115755822756320e-02 2.115587536308644e-02 + 2.115419393062315e-02 2.115251393109511e-02 2.115083534999197e-02 2.114915818684827e-02 2.114748244571777e-02 + 2.114580812117730e-02 2.114413521000233e-02 2.114246371011731e-02 2.114079361630021e-02 2.113912493113981e-02 + 2.113745765864524e-02 2.113579178347091e-02 2.113412730283017e-02 2.113246422731517e-02 2.113080255018658e-02 + 2.112914226466844e-02 2.112748336987266e-02 2.112582586239263e-02 2.112416973838773e-02 2.112251499585494e-02 + 2.112086163946853e-02 2.111920966923609e-02 2.111755907231158e-02 2.111590984741022e-02 2.111426199652882e-02 + 2.111261551330255e-02 2.111097039854193e-02 2.110932665501722e-02 2.110768427494188e-02 2.110604325159932e-02 + 2.110440358337455e-02 2.110276527755971e-02 2.110112832954347e-02 2.109949272542061e-02 2.109785847270291e-02 + 2.109622557382813e-02 2.109459401840321e-02 2.109296380279178e-02 2.109133492634166e-02 2.108970738897449e-02 + 2.108808119187406e-02 2.108645633261542e-02 2.108483280177793e-02 2.108321059649476e-02 2.108158971816587e-02 + 2.107997016818712e-02 2.107835194176262e-02 2.107673503228282e-02 2.107511943992769e-02 2.107350516482023e-02 + 2.107189220511111e-02 2.107028055587330e-02 2.106867021606288e-02 2.106706118735907e-02 2.106545346293816e-02 + 2.106384703796383e-02 2.106224191316689e-02 2.106063808955507e-02 2.105903556250238e-02 2.105743432153898e-02 + 2.105583437513380e-02 2.105423572746437e-02 2.105263836035830e-02 2.105104227142354e-02 2.104944746729932e-02 + 2.104785395134047e-02 2.104626171573087e-02 2.104467074966839e-02 2.104308105452007e-02 2.104149263222363e-02 + 2.103990548218236e-02 2.103831959968388e-02 2.103673498293864e-02 2.103515163200819e-02 2.103356953798411e-02 + 2.103198869775456e-02 2.103040911733209e-02 2.102883079574534e-02 2.102725372695269e-02 2.102567790273802e-02 + 2.102410332486244e-02 2.102252999507990e-02 2.102095790737760e-02 2.101938706174730e-02 2.101781745879964e-02 + 2.101624909192282e-02 2.101468195450770e-02 2.101311604447429e-02 2.101155137000445e-02 2.100998792857284e-02 + 2.100842571064132e-02 2.100686471849675e-02 2.100530495078897e-02 2.100374640001838e-02 2.100218906014547e-02 + 2.100063293273019e-02 2.099907802537045e-02 2.099752433031871e-02 2.099597184169578e-02 2.099442056340826e-02 + 2.099287048844137e-02 2.099132161182849e-02 2.098977394056553e-02 2.098822746767990e-02 2.098668218492037e-02 + 2.098513809937855e-02 2.098359520656010e-02 2.098205349870481e-02 2.098051298433238e-02 2.097897365788888e-02 + 2.097743550607582e-02 2.097589853771057e-02 2.097436275317134e-02 2.097282814179318e-02 2.097129470444368e-02 + 2.096976244194844e-02 2.096823135057212e-02 2.096670142502171e-02 2.096517266432222e-02 2.096364507294766e-02 + 2.096211864290872e-02 2.096059336882086e-02 2.095906925902597e-02 2.095754630598820e-02 2.095602449947026e-02 + 2.095450384463222e-02 2.095298434369944e-02 2.095146599313072e-02 2.094994878341327e-02 2.094843271500539e-02 + 2.094691779352117e-02 2.094540401073429e-02 2.094389136288097e-02 2.094237985194064e-02 2.094086947133280e-02 + 2.093936021927527e-02 2.093785210108921e-02 2.093634511142213e-02 2.093483924325246e-02 2.093333449385128e-02 + 2.093183086645815e-02 2.093032836253444e-02 2.092882697593887e-02 2.092732670311165e-02 2.092582754108962e-02 + 2.092432948474122e-02 2.092283253800634e-02 2.092133670446908e-02 2.091984196956714e-02 2.091834833166288e-02 + 2.091685579922333e-02 2.091536436905392e-02 2.091387403364116e-02 2.091238478662568e-02 2.091089663391256e-02 + 2.090940957508328e-02 2.090792359986955e-02 2.090643871032298e-02 2.090495490818039e-02 2.090347218811059e-02 + 2.090199054718417e-02 2.090050998308706e-02 2.089903049243704e-02 2.089755207414248e-02 2.089607472810411e-02 + 2.089459845325996e-02 2.089312324594328e-02 2.089164910255710e-02 2.089017602427597e-02 2.088870401009232e-02 + 2.088723305634642e-02 2.088576315893389e-02 2.088429431601771e-02 2.088282652696964e-02 2.088135978615913e-02 + 2.087989409321534e-02 2.087842945395569e-02 2.087696586275656e-02 2.087550331287119e-02 2.087404180207852e-02 + 2.087258132736208e-02 2.087112188861259e-02 2.086966349090147e-02 2.086820612891688e-02 2.086674979608584e-02 + 2.086529449590395e-02 2.086384022331517e-02 2.086238697045790e-02 2.086093474039187e-02 2.085948353444753e-02 + 2.085803335091995e-02 2.085658418796912e-02 2.085513604081134e-02 2.085368890289571e-02 2.085224277300881e-02 + 2.085079765267601e-02 2.084935354393509e-02 2.084791044341373e-02 2.084646834711395e-02 2.084502725286095e-02 + 2.084358715744794e-02 2.084214805848912e-02 2.084070995598070e-02 2.083927284909677e-02 2.083783673573611e-02 + 2.083640161226469e-02 2.083496747523998e-02 2.083353432223483e-02 2.083210215303235e-02 2.083067096927498e-02 + 2.082924077044086e-02 2.082781154460241e-02 2.082638329211299e-02 2.082495602309350e-02 2.082352972509603e-02 + 2.082210439277076e-02 2.082068003454410e-02 2.081925664261260e-02 2.081783421113447e-02 2.081641274508624e-02 + 2.081499224082686e-02 2.081357269450268e-02 2.081215410878219e-02 2.081073647873721e-02 2.080931979776872e-02 + 2.080790406592918e-02 2.080648928500749e-02 2.080507545608266e-02 2.080366257645188e-02 2.080225063919177e-02 + 2.080083963814898e-02 2.079942957984240e-02 2.079802046255642e-02 2.079661227641324e-02 2.079520502452446e-02 + 2.079379870732677e-02 2.079239331877295e-02 2.079098886066600e-02 2.078958533155146e-02 2.078818272238310e-02 + 2.078678103594075e-02 2.078538027480030e-02 2.078398043169412e-02 2.078258150517176e-02 2.078118349582184e-02 + 2.077978640032045e-02 2.077839021518007e-02 2.077699493798996e-02 2.077560056860569e-02 2.077420710626992e-02 + 2.077281454908150e-02 2.077142289397691e-02 2.077003213665487e-02 2.076864227381708e-02 2.076725331084939e-02 + 2.076586524753700e-02 2.076447807479244e-02 2.076309178893910e-02 2.076170639200464e-02 2.076032188924749e-02 + 2.075893827075576e-02 2.075755552867013e-02 2.075617367037054e-02 2.075479269394757e-02 2.075341259415677e-02 + 2.075203337133167e-02 2.075065502119062e-02 2.074927754004291e-02 2.074790093527532e-02 2.074652520196147e-02 + 2.074515032814618e-02 2.074377631824518e-02 2.074240317461906e-02 2.074103089389617e-02 2.073965947285912e-02 + 2.073828890806665e-02 2.073691919635770e-02 2.073555033844026e-02 2.073418233381763e-02 2.073281517823886e-02 + 2.073144886803073e-02 2.073008340377233e-02 2.072871879147831e-02 2.072735502222402e-02 2.072599208688765e-02 + 2.072462999392301e-02 2.072326873860233e-02 2.072190831224300e-02 2.072054872378210e-02 2.071918997148765e-02 + 2.071783204556565e-02 2.071647494755481e-02 2.071511867766477e-02 2.071376323196711e-02 2.071240860565183e-02 + 2.071105479791370e-02 2.070970181180314e-02 2.070834964331268e-02 2.070699828917085e-02 2.070564775075080e-02 + 2.070429802727900e-02 2.070294911380581e-02 2.070160100113699e-02 2.070025369244763e-02 2.069890719322030e-02 + 2.069756149841416e-02 2.069621660331007e-02 2.069487250616514e-02 2.069352920972353e-02 2.069218670843115e-02 + 2.069084499406914e-02 2.068950407478504e-02 2.068816395008570e-02 2.068682460979861e-02 2.068548605525363e-02 + 2.068414828647597e-02 2.068281129879088e-02 2.068147509294542e-02 2.068013966727868e-02 2.067880501481977e-02 + 2.067747113766845e-02 2.067613803889334e-02 2.067480571527677e-02 2.067347415977921e-02 2.067214336769299e-02 + 2.067081334319025e-02 2.066948408776949e-02 2.066815559807265e-02 2.066682786498898e-02 2.066550088830383e-02 + 2.066417467341183e-02 2.066284921698086e-02 2.066152451475288e-02 2.066020056372571e-02 2.065887736182303e-02 + 2.065755490839281e-02 2.065623320354572e-02 2.065491224367795e-02 2.065359202675738e-02 2.065227255436574e-02 + 2.065095382314874e-02 2.064963582941213e-02 2.064831857270797e-02 2.064700204957123e-02 2.064568625651786e-02 + 2.064437119414936e-02 2.064305686324694e-02 2.064174326345409e-02 2.064043039179931e-02 2.063911824280925e-02 + 2.063780681176866e-02 2.063649610237503e-02 2.063518611610314e-02 2.063387684909248e-02 2.063256829217405e-02 + 2.063126044539576e-02 2.062995331851188e-02 2.062864690334512e-02 2.062734119190086e-02 2.062603618600375e-02 + 2.062473188642144e-02 2.062342829221786e-02 2.062212540064643e-02 2.062082320714733e-02 2.061952170915304e-02 + 2.061822091004314e-02 2.061692080716460e-02 2.061562139605911e-02 2.061432267954307e-02 2.061302465323251e-02 + 2.061172730955065e-02 2.061043065371613e-02 2.060913468523504e-02 2.060783939685846e-02 2.060654478913799e-02 + 2.060525086119714e-02 2.060395760866959e-02 2.060266503271371e-02 2.060137313244415e-02 2.060008190215519e-02 + 2.059879134465455e-02 2.059750146004468e-02 2.059621223782829e-02 2.059492368052522e-02 2.059363579225837e-02 + 2.059234856405708e-02 2.059106199328788e-02 2.058977608130871e-02 2.058849082556723e-02 2.058720622498806e-02 + 2.058592227959311e-02 2.058463898696043e-02 2.058335634281647e-02 2.058207434376584e-02 2.058079299573017e-02 + 2.057951229614279e-02 2.057823223269817e-02 2.057695281356401e-02 2.057567404187197e-02 2.057439590387300e-02 + 2.057311839681732e-02 2.057184152455586e-02 2.057056529173392e-02 2.056928969078429e-02 2.056801471376779e-02 + 2.056674036634529e-02 2.056546664830153e-02 2.056419355486686e-02 2.056292108306100e-02 2.056164923170236e-02 + 2.056037800067255e-02 2.055910738924650e-02 2.055783739340399e-02 2.055656800859636e-02 2.055529924146672e-02 + 2.055403109005562e-02 2.055276354110791e-02 2.055149659755915e-02 2.055023026272679e-02 2.054896453244645e-02 + 2.054769940766287e-02 2.054643488681757e-02 2.054517096062926e-02 2.054390763218316e-02 2.054264490512525e-02 + 2.054138276915942e-02 2.054012122328143e-02 2.053886027085424e-02 2.053759990682471e-02 2.053634012878631e-02 + 2.053508093799464e-02 2.053382233647706e-02 2.053256431985532e-02 2.053130687980379e-02 2.053005001911220e-02 + 2.052879373804411e-02 2.052753803104820e-02 2.052628289842169e-02 2.052502834052905e-02 2.052377435424499e-02 + 2.052252093383405e-02 2.052126807833591e-02 2.052001579579881e-02 2.051876408076618e-02 2.051751292558091e-02 + 2.051626233431153e-02 2.051501230108543e-02 2.051376281904528e-02 2.051251389905356e-02 2.051126553806812e-02 + 2.051001772450580e-02 2.050877046477720e-02 2.050752375748313e-02 2.050627759308629e-02 2.050503197764233e-02 + 2.050378691120845e-02 2.050254238346269e-02 2.050129839647772e-02 2.050005495152270e-02 2.049881204279591e-02 + 2.049756967049427e-02 2.049632783497685e-02 2.049508653204386e-02 2.049384576061373e-02 2.049260552085964e-02 + 2.049136581124810e-02 2.049012662828215e-02 2.048888796855573e-02 2.048764983217528e-02 2.048641222055239e-02 + 2.048517513365279e-02 2.048393856449956e-02 2.048270250702790e-02 2.048146696002243e-02 2.048023193267689e-02 + 2.047899742444990e-02 2.047776342204647e-02 2.047652992557144e-02 2.047529693666283e-02 2.047406445284291e-02 + 2.047283247820367e-02 2.047160101124722e-02 2.047037003705319e-02 2.046913955996649e-02 2.046790958805229e-02 + 2.046668011290463e-02 2.046545112747173e-02 2.046422263048016e-02 2.046299462941648e-02 2.046176712182623e-02 + 2.046054009863872e-02 2.045931356011635e-02 2.045808750875261e-02 2.045686194483555e-02 2.045563685869128e-02 + 2.045441224888558e-02 2.045318812405373e-02 2.045196447539730e-02 2.045074129851060e-02 2.044951860203706e-02 + 2.044829637561388e-02 2.044707461146781e-02 2.044585332076453e-02 2.044463250090934e-02 2.044341214478788e-02 + 2.044219225389736e-02 2.044097282684260e-02 2.043975385980242e-02 2.043853534979080e-02 2.043731729516990e-02 + 2.043609969584751e-02 2.043488255365452e-02 2.043366586840525e-02 2.043244963622695e-02 2.043123384788510e-02 + 2.043001850356880e-02 2.042880361352058e-02 2.042758917125052e-02 2.042637516923373e-02 2.042516160738241e-02 + 2.042394848596822e-02 2.042273580364956e-02 2.042152355668345e-02 2.042031174421715e-02 2.041910036711696e-02 + 2.041788942589821e-02 2.041667891618270e-02 2.041546883283581e-02 2.041425917723074e-02 2.041304994671302e-02 + 2.041184113736942e-02 2.041063275507356e-02 2.040942479864618e-02 2.040821725911453e-02 2.040701013329647e-02 + 2.040580342336421e-02 2.040459713364973e-02 2.040339125626194e-02 2.040218578748979e-02 2.040098073437600e-02 + 2.039977609190064e-02 2.039857185194057e-02 2.039736801200263e-02 2.039616457948628e-02 2.039496155847034e-02 + 2.039375893548800e-02 2.039255670811317e-02 2.039135487906758e-02 2.039015344139171e-02 2.038895239754324e-02 + 2.038775175394349e-02 2.038655150008423e-02 2.038535163468296e-02 2.038415216492024e-02 2.038295307932101e-02 + 2.038175437156158e-02 2.038055604740632e-02 2.037935811014152e-02 2.037816055719221e-02 2.037696338008003e-02 + 2.037576657774965e-02 2.037457015197002e-02 2.037337410306159e-02 2.037217842811476e-02 2.037098312337542e-02 + 2.036978818702816e-02 2.036859361901312e-02 2.036739941883561e-02 2.036620558232109e-02 2.036501210897116e-02 + 2.036381899981477e-02 2.036262624936801e-02 2.036143385733716e-02 2.036024182706139e-02 2.035905014947786e-02 + 2.035785882153747e-02 2.035666784977269e-02 2.035547723079831e-02 2.035428696142468e-02 2.035309704319765e-02 + 2.035190747134853e-02 2.035071824110532e-02 2.034952935293085e-02 2.034834080749865e-02 2.034715260430401e-02 + 2.034596474052595e-02 2.034477721202228e-02 2.034359001578161e-02 2.034240315367684e-02 2.034121662664043e-02 + 2.034003043357028e-02 2.033884457132868e-02 2.033765903741480e-02 2.033647382949949e-02 2.033528894162872e-02 + 2.033410437471255e-02 2.033292013620119e-02 2.033173621775026e-02 2.033055261459435e-02 2.032936933387398e-02 + 2.032818637173341e-02 2.032700371995237e-02 2.032582137330103e-02 2.032463934032926e-02 2.032345762721536e-02 + 2.032227621977112e-02 2.032109511380310e-02 2.031991431266943e-02 2.031873381713771e-02 2.031755362367381e-02 + 2.031637372822898e-02 2.031519413522404e-02 2.031401484060572e-02 2.031283583475656e-02 2.031165712768451e-02 + 2.031047872082618e-02 2.030930060067025e-02 2.030812276414845e-02 2.030694521582938e-02 2.030576796297434e-02 + 2.030459099391277e-02 2.030341430130414e-02 2.030223789822972e-02 2.030106177803277e-02 2.029988592949474e-02 + 2.029871035725545e-02 2.029753506661443e-02 2.029636005659757e-02 2.029518531267896e-02 2.029401083596470e-02 + 2.029283663654064e-02 2.029166270589052e-02 2.029048903923464e-02 2.028931563858370e-02 2.028814250195392e-02 + 2.028696962711050e-02 2.028579701358946e-02 2.028462466440920e-02 2.028345257575578e-02 2.028228073462766e-02 + 2.028110914546667e-02 2.027993781542017e-02 2.027876674182124e-02 2.027759591671596e-02 2.027642533515473e-02 + 2.027525500323221e-02 2.027408491983729e-02 2.027291508043819e-02 2.027174548650143e-02 2.027057613494678e-02 + 2.026940701983228e-02 2.026823814087089e-02 2.026706949898955e-02 2.026590109425394e-02 2.026473292320746e-02 + 2.026356498366547e-02 2.026239727592488e-02 2.026122979922282e-02 2.026006255023894e-02 2.025889552388743e-02 + 2.025772872449768e-02 2.025656215399196e-02 2.025539580342713e-02 2.025422967119250e-02 2.025306375830951e-02 + 2.025189806183918e-02 2.025073258129647e-02 2.024956731656576e-02 2.024840226339874e-02 2.024723742127980e-02 + 2.024607279125879e-02 2.024490836776212e-02 2.024374415071052e-02 2.024258014353189e-02 2.024141633571028e-02 + 2.024025272656142e-02 2.023908932762591e-02 2.023792612793740e-02 2.023676312010299e-02 2.023560031179207e-02 + 2.023443769779265e-02 2.023327527310789e-02 2.023211304323675e-02 2.023095100708355e-02 2.022978916007167e-02 + 2.022862749919407e-02 2.022746602379288e-02 2.022630473371739e-02 2.022514362648272e-02 2.022398270121405e-02 + 2.022282195791762e-02 2.022166139402294e-02 2.022050100551405e-02 2.021934078921764e-02 2.021818074920451e-02 + 2.021702088593813e-02 2.021586119314628e-02 2.021470166428228e-02 2.021354230080554e-02 2.021238311308448e-02 + 2.021122409287018e-02 2.021006523025651e-02 2.020890652716039e-02 2.020774798484683e-02 2.020658960393083e-02 + 2.020543138529554e-02 2.020427332378045e-02 2.020311541298552e-02 2.020195765397637e-02 2.020080004744672e-02 + 2.019964259236717e-02 2.019848528642001e-02 2.019732812869024e-02 2.019617111926010e-02 2.019501425544548e-02 + 2.019385753379127e-02 2.019270095135025e-02 2.019154450793482e-02 2.019038820298517e-02 2.018923203417478e-02 + 2.018807600019563e-02 2.018692010151906e-02 2.018576433995726e-02 2.018460870891364e-02 2.018345320296787e-02 + 2.018229782843392e-02 2.018114258172615e-02 2.017998745649097e-02 2.017883245877245e-02 2.017767758620927e-02 + 2.017652283054322e-02 2.017536819223788e-02 2.017421367319040e-02 2.017305927292809e-02 2.017190498313902e-02 + 2.017075080461503e-02 2.016959674752286e-02 2.016844280049332e-02 2.016728895684716e-02 2.016613522539111e-02 + 2.016498159847723e-02 2.016382807033869e-02 2.016267465040216e-02 2.016152133310211e-02 2.016036811076429e-02 + 2.015921498985646e-02 2.015806197025070e-02 2.015690904702832e-02 2.015575621731957e-02 2.015460347791708e-02 + 2.015345082711757e-02 2.015229826996444e-02 2.015114580452791e-02 2.014999342256183e-02 2.014884112402139e-02 + 2.014768891079059e-02 2.014653678283008e-02 2.014538473229735e-02 2.014423275838842e-02 2.014308087159530e-02 + 2.014192906336537e-02 2.014077732405132e-02 2.013962565684693e-02 2.013847406112768e-02 2.013732253607323e-02 + 2.013617108558620e-02 2.013501970367529e-02 2.013386838304751e-02 2.013271713092954e-02 2.013156594450895e-02 + 2.013041481517404e-02 2.012926374836556e-02 2.012811274375330e-02 2.012696179396415e-02 2.012581089842930e-02 + 2.012466005832842e-02 2.012350927388322e-02 2.012235854139777e-02 2.012120785897021e-02 2.012005722808521e-02 + 2.011890664240422e-02 2.011775609861771e-02 2.011660560342765e-02 2.011545514995805e-02 2.011430473248947e-02 + 2.011315436328775e-02 2.011200403690588e-02 2.011085374071231e-02 2.010970347811273e-02 2.010855325123000e-02 + 2.010740305829795e-02 2.010625289543029e-02 2.010510276184403e-02 2.010395265874816e-02 2.010280258124321e-02 + 2.010165252783862e-02 2.010050250168409e-02 2.009935249835288e-02 2.009820251528310e-02 2.009705255512517e-02 + 2.009590261098061e-02 2.009475267797075e-02 2.009360276160796e-02 2.009245286068316e-02 2.009130297235736e-02 + 2.009015309860190e-02 2.008900323371492e-02 2.008785337125678e-02 2.008670351711407e-02 2.008555367122358e-02 + 2.008440382812401e-02 2.008325398588614e-02 2.008210414433437e-02 2.008095430334925e-02 2.007980445913736e-02 + 2.007865461009197e-02 2.007750475755383e-02 2.007635489836262e-02 2.007520502856765e-02 2.007405514609401e-02 + 2.007290525369839e-02 2.007175535352643e-02 2.007060544261636e-02 2.006945551378952e-02 2.006830556246986e-02 + 2.006715559358176e-02 2.006600560685722e-02 2.006485559907452e-02 2.006370557035152e-02 2.006255552017783e-02 + 2.006140544519211e-02 2.006025533608720e-02 2.005910519424486e-02 2.005795502866486e-02 2.005680483150780e-02 + 2.005565460068358e-02 2.005450434307724e-02 2.005335404752871e-02 2.005220370751987e-02 2.005105333078331e-02 + 2.004990291380246e-02 2.004875245256121e-02 2.004760195075808e-02 2.004645140541610e-02 2.004530081249103e-02 + 2.004415017386308e-02 2.004299948719255e-02 2.004184874893760e-02 2.004069796075558e-02 2.003954711861807e-02 + 2.003839621652469e-02 2.003724525928808e-02 2.003609424691447e-02 2.003494317431652e-02 2.003379204407136e-02 + 2.003264085311753e-02 2.003148959193977e-02 2.003033826577724e-02 2.002918687817827e-02 2.002803542325049e-02 + 2.002688389828578e-02 2.002573230084169e-02 2.002458062668545e-02 2.002342887779152e-02 2.002227705716231e-02 + 2.002112516254241e-02 2.001997318998642e-02 2.001882113644655e-02 2.001766900292078e-02 2.001651678857442e-02 + 2.001536448981540e-02 2.001421210083374e-02 2.001305962366636e-02 2.001190706486020e-02 2.001075441600587e-02 + 2.000960167234195e-02 2.000844883687991e-02 2.000729590520412e-02 2.000614287591466e-02 2.000498975435740e-02 + 2.000383653574291e-02 2.000268321490327e-02 2.000152979351511e-02 2.000037626872929e-02 1.999922263743778e-02 + 1.999806890154111e-02 1.999691505794393e-02 1.999576110265488e-02 1.999460703886217e-02 1.999345286480270e-02 + 1.999229857569377e-02 1.999114417297134e-02 1.998998965543275e-02 1.998883501902821e-02 1.998768026399775e-02 + 1.998652538946059e-02 1.998537039260291e-02 1.998421527483334e-02 1.998306003351848e-02 1.998190465988335e-02 + 1.998074915750420e-02 1.997959352937345e-02 1.997843776879367e-02 1.997728187765045e-02 1.997612585705249e-02 + 1.997496969649909e-02 1.997381339760593e-02 1.997265696528752e-02 1.997150039002939e-02 1.997034367059401e-02 + 1.996918681208352e-02 1.996802981226081e-02 1.996687266788810e-02 1.996571537594770e-02 1.996455793197006e-02 + 1.996340033608642e-02 1.996224259309599e-02 1.996108470119043e-02 1.995992665416334e-02 1.995876844505867e-02 + 1.995761008193637e-02 1.995645156786617e-02 1.995529288784624e-02 1.995413404457776e-02 1.995297504246996e-02 + 1.995181586885687e-02 1.995065652904149e-02 1.994949703248385e-02 1.994833736513130e-02 1.994717752162546e-02 + 1.994601750553184e-02 1.994485731663886e-02 1.994369695406686e-02 1.994253641736701e-02 1.994137570693218e-02 + 1.994021481716852e-02 1.993905373876526e-02 1.993789248152490e-02 1.993673104732284e-02 1.993556942048493e-02 + 1.993440760773439e-02 1.993324561433191e-02 1.993208342679873e-02 1.993092104568069e-02 1.992975847582151e-02 + 1.992859571315939e-02 1.992743275300710e-02 1.992626959353599e-02 1.992510623927749e-02 1.992394268911061e-02 + 1.992277893654564e-02 1.992161497535049e-02 1.992045080942924e-02 1.991928644769617e-02 1.991812187931771e-02 + 1.991695709651699e-02 1.991579210148713e-02 1.991462689658082e-02 1.991346148075462e-02 1.991229584907280e-02 + 1.991113000189043e-02 1.990996393932216e-02 1.990879765723607e-02 1.990763115454515e-02 1.990646443148474e-02 + 1.990529748687400e-02 1.990413031580006e-02 1.990296291532720e-02 1.990179529310021e-02 1.990062744303953e-02 + 1.989945935329500e-02 1.989829103342642e-02 1.989712248515872e-02 1.989595370004318e-02 1.989478467737964e-02 + 1.989361541884726e-02 1.989244592499573e-02 1.989127618925862e-02 1.989010620674421e-02 1.988893597834538e-02 + 1.988776550466197e-02 1.988659478703524e-02 1.988542382727661e-02 1.988425261506333e-02 1.988308114268849e-02 + 1.988190942098788e-02 1.988073745006194e-02 1.987956522359536e-02 1.987839274079954e-02 1.987722000000555e-02 + 1.987604699732070e-02 1.987487372670402e-02 1.987370019241589e-02 1.987252640362364e-02 1.987135234678179e-02 + 1.987017801708705e-02 1.986900342417090e-02 1.986782856130232e-02 1.986665342124566e-02 1.986547800516037e-02 + 1.986430231940191e-02 1.986312636323797e-02 1.986195012209680e-02 1.986077359858922e-02 1.985959679883774e-02 + 1.985841971608161e-02 1.985724235007767e-02 1.985606470192896e-02 1.985488676268764e-02 1.985370853173279e-02 + 1.985253001389235e-02 1.985135120589531e-02 1.985017210671596e-02 1.984899271721913e-02 1.984781303008921e-02 + 1.984663304141680e-02 1.984545275323681e-02 1.984427216416261e-02 1.984309127447186e-02 1.984191008724042e-02 + 1.984072859600846e-02 1.983954679442092e-02 1.983836468369445e-02 1.983718226650526e-02 1.983599954091759e-02 + 1.983481649574990e-02 1.983363313683907e-02 1.983244947316962e-02 1.983126549121019e-02 1.983008118452795e-02 + 1.982889655650101e-02 1.982771161407836e-02 1.982652635127155e-02 1.982534075477381e-02 1.982415483542671e-02 + 1.982296859699974e-02 1.982178202865004e-02 1.982059512679342e-02 1.981940789099672e-02 1.981822032140366e-02 + 1.981703241807743e-02 1.981584417989424e-02 1.981465560415464e-02 1.981346669171603e-02 1.981227744136961e-02 + 1.981108784415540e-02 1.980989790130036e-02 1.980870761757638e-02 1.980751698807925e-02 1.980632600934410e-02 + 1.980513468056937e-02 1.980394300171975e-02 1.980275097143216e-02 1.980155858653555e-02 1.980036584235624e-02 + 1.979917273943820e-02 1.979797928262491e-02 1.979678546489206e-02 1.979559128379798e-02 1.979439674657348e-02 + 1.979320184217468e-02 1.979200656369760e-02 1.979081092352834e-02 1.978961491694981e-02 1.978841853542797e-02 + 1.978722178317891e-02 1.978602465925507e-02 1.978482715855289e-02 1.978362927697639e-02 1.978243101628911e-02 + 1.978123238058121e-02 1.978003336668686e-02 1.977883396860304e-02 1.977763418131442e-02 1.977643400902304e-02 + 1.977523345232920e-02 1.977403250607500e-02 1.977283117205557e-02 1.977162944865208e-02 1.977042732702634e-02 + 1.976922480613855e-02 1.976802188997964e-02 1.976681858355301e-02 1.976561487769950e-02 1.976441076369096e-02 + 1.976320624890566e-02 1.976200133147697e-02 1.976079600616600e-02 1.975959027757971e-02 1.975838414138116e-02 + 1.975717758909272e-02 1.975597062600439e-02 1.975476325369590e-02 1.975355546738499e-02 1.975234726242962e-02 + 1.975113863825908e-02 1.974992959762522e-02 1.974872013640206e-02 1.974751025163228e-02 1.974629994489470e-02 + 1.974508921425132e-02 1.974387805573186e-02 1.974266646519683e-02 1.974145444319864e-02 1.974024199150465e-02 + 1.973902910920840e-02 1.973781579519036e-02 1.973660204598839e-02 1.973538785240977e-02 1.973417321684443e-02 + 1.973295814730416e-02 1.973174263781577e-02 1.973052668253849e-02 1.972931027913797e-02 1.972809342747564e-02 + 1.972687612827085e-02 1.972565838187941e-02 1.972444018482310e-02 1.972322153363352e-02 1.972200242687443e-02 + 1.972078286440720e-02 1.971956284541047e-02 1.971834236691286e-02 1.971712142485657e-02 1.971590001741145e-02 + 1.971467814826898e-02 1.971345581852119e-02 1.971223302479186e-02 1.971100975804211e-02 1.970978601823674e-02 + 1.970856181065497e-02 1.970733713228995e-02 1.970611197806177e-02 1.970488634450282e-02 1.970366023582840e-02 + 1.970243364879734e-02 1.970120657299705e-02 1.969997901837739e-02 1.969875098677333e-02 1.969752246217473e-02 + 1.969629345274012e-02 1.969506396226801e-02 1.969383397141272e-02 1.969260348756574e-02 1.969137252109090e-02 + 1.969014105730648e-02 1.968890909233832e-02 1.968767662961491e-02 1.968644366805134e-02 1.968521020635475e-02 + 1.968397624286150e-02 1.968274177331172e-02 1.968150679588088e-02 1.968027131148579e-02 1.967903532058098e-02 + 1.967779882218197e-02 1.967656181292412e-02 1.967532428489620e-02 1.967408623811289e-02 1.967284768294825e-02 + 1.967160860971293e-02 1.967036900987211e-02 1.966912889102269e-02 1.966788825153749e-02 1.966664708600774e-02 + 1.966540539310703e-02 1.966416317292449e-02 1.966292042476060e-02 1.966167714455673e-02 1.966043333167102e-02 + 1.965918898702837e-02 1.965794410650064e-02 1.965669868705162e-02 1.965545272765306e-02 1.965420622710374e-02 + 1.965295918609461e-02 1.965171160585919e-02 1.965046347855766e-02 1.964921480087875e-02 1.964796557872257e-02 + 1.964671580769246e-02 1.964546548231519e-02 1.964421460325605e-02 1.964296317129598e-02 1.964171118580111e-02 + 1.964045864365522e-02 1.963920554157133e-02 1.963795187629582e-02 1.963669764477085e-02 1.963544284945441e-02 + 1.963418749362842e-02 1.963293156932153e-02 1.963167507295046e-02 1.963041800662418e-02 1.962916036936736e-02 + 1.962790216073956e-02 1.962664338014056e-02 1.962538401760687e-02 1.962412407160046e-02 1.962286355381917e-02 + 1.962160245501161e-02 1.962034076606272e-02 1.961907849332115e-02 1.961781563715828e-02 1.961655219371613e-02 + 1.961528815879130e-02 1.961402353224150e-02 1.961275831461461e-02 1.961149250160691e-02 1.961022609250104e-02 + 1.960895908768241e-02 1.960769148013132e-02 1.960642326897369e-02 1.960515445887448e-02 1.960388504699325e-02 + 1.960261502901453e-02 1.960134440209794e-02 1.960007316755673e-02 1.959880132269796e-02 1.959752885956289e-02 + 1.959625578572781e-02 1.959498210471557e-02 1.959370780282661e-02 1.959243287776576e-02 1.959115733236078e-02 + 1.958988116575855e-02 1.958860437570835e-02 1.958732696070351e-02 1.958604892230215e-02 1.958477025538254e-02 + 1.958349095293616e-02 1.958221102005211e-02 1.958093045820349e-02 1.957964926225915e-02 1.957836742427244e-02 + 1.957708494595253e-02 1.957580183693370e-02 1.957451808573694e-02 1.957323368588814e-02 1.957194864588927e-02 + 1.957066295908808e-02 1.956937661864716e-02 1.956808962863577e-02 1.956680198857452e-02 1.956551369740821e-02 + 1.956422475810978e-02 1.956293516289206e-02 1.956164490198652e-02 1.956035397935251e-02 1.955906239928264e-02 + 1.955777016187055e-02 1.955647725858155e-02 1.955518368630142e-02 1.955388944730695e-02 1.955259453790914e-02 + 1.955129895574477e-02 1.955000270138056e-02 1.954870577278503e-02 1.954740816848287e-02 1.954610988870274e-02 + 1.954481093111385e-02 1.954351129226784e-02 1.954221096901902e-02 1.954090996078360e-02 1.953960826724446e-02 + 1.953830588603245e-02 1.953700281656794e-02 1.953569905855491e-02 1.953439460897686e-02 1.953308946443935e-02 + 1.953178362233442e-02 1.953047708245082e-02 1.952916984426731e-02 1.952786190592496e-02 1.952655326324738e-02 + 1.952524391408689e-02 1.952393385929222e-02 1.952262309949111e-02 1.952131163370209e-02 1.951999945844595e-02 + 1.951868656751035e-02 1.951737295829730e-02 1.951605863555755e-02 1.951474359789877e-02 1.951342784097203e-02 + 1.951211136184995e-02 1.951079415956861e-02 1.950947623396647e-02 1.950815758387342e-02 1.950683820574165e-02 + 1.950551809587482e-02 1.950419725560715e-02 1.950287568354725e-02 1.950155337574423e-02 1.950023033242808e-02 + 1.949890655251627e-02 1.949758203322258e-02 1.949625677745909e-02 1.949493078034667e-02 1.949360402739089e-02 + 1.949227653112452e-02 1.949094829757290e-02 1.948961930480046e-02 1.948828955781861e-02 1.948695906691206e-02 + 1.948562782150981e-02 1.948429581598615e-02 1.948296304982478e-02 1.948162952319633e-02 1.948029523591830e-02 + 1.947896018726217e-02 1.947762437581102e-02 1.947628779922486e-02 1.947495045397724e-02 1.947361233489661e-02 + 1.947227344348770e-02 1.947093378593678e-02 1.946959335022997e-02 1.946825212971076e-02 1.946691013283964e-02 + 1.946556736109183e-02 1.946422381089845e-02 1.946287947598024e-02 1.946153435147304e-02 1.946018843640089e-02 + 1.945884173551620e-02 1.945749424593349e-02 1.945614596164208e-02 1.945479688244431e-02 1.945344700980195e-02 + 1.945209634356683e-02 1.945074487666461e-02 1.944939260492236e-02 1.944803952905332e-02 1.944668565282712e-02 + 1.944533097303948e-02 1.944397548026850e-02 1.944261917903520e-02 1.944126207147254e-02 1.943990414971487e-02 + 1.943854540610747e-02 1.943718584222317e-02 1.943582547177293e-02 1.943446428245481e-02 1.943310226105812e-02 + 1.943173942068859e-02 1.943037575924362e-02 1.942901126749138e-02 1.942764594793762e-02 1.942627979717840e-02 + 1.942491280913776e-02 1.942354498868186e-02 1.942217633546996e-02 1.942080684436220e-02 1.941943651933332e-02 + 1.941806535493775e-02 1.941669333695301e-02 1.941532047644210e-02 1.941394677715704e-02 1.941257222315028e-02 + 1.941119681542690e-02 1.940982056035791e-02 1.940844345901757e-02 1.940706550055424e-02 1.940568667678698e-02 + 1.940430699663802e-02 1.940292645883611e-02 1.940154505765652e-02 1.940016279578962e-02 1.939877966977487e-02 + 1.939739567223053e-02 1.939601080219835e-02 1.939462506233509e-02 1.939323845462366e-02 1.939185096971125e-02 + 1.939046260516801e-02 1.938907336764642e-02 1.938768325184633e-02 1.938629225021856e-02 1.938490035911401e-02 + 1.938350758330235e-02 1.938211392651081e-02 1.938071938447496e-02 1.937932394922459e-02 1.937792761695239e-02 + 1.937653039473651e-02 1.937513227779157e-02 1.937373325789699e-02 1.937233333934693e-02 1.937093252080456e-02 + 1.936953079702195e-02 1.936812816928827e-02 1.936672463690015e-02 1.936532019607867e-02 1.936391484345597e-02 + 1.936250857586552e-02 1.936110139138094e-02 1.935969329410197e-02 1.935828428412852e-02 1.935687435366041e-02 + 1.935546349795341e-02 1.935405171682407e-02 1.935263901452006e-02 1.935122538845629e-02 1.934981083240821e-02 + 1.934839534117787e-02 1.934697891910190e-02 1.934556156924906e-02 1.934414327695751e-02 1.934272404361874e-02 + 1.934130387854031e-02 1.933988276959641e-02 1.933846071416343e-02 1.933703771882020e-02 1.933561377409585e-02 + 1.933418887831357e-02 1.933276303945045e-02 1.933133624375953e-02 1.932990848653697e-02 1.932847978247962e-02 + 1.932705012296452e-02 1.932561949662077e-02 1.932418790536504e-02 1.932275535526071e-02 1.932132184669807e-02 + 1.931988736608416e-02 1.931845191123332e-02 1.931701548648173e-02 1.931557809132799e-02 1.931413972218449e-02 + 1.931270037603072e-02 1.931126005688787e-02 1.930981875761609e-02 1.930837646527647e-02 1.930693319154590e-02 + 1.930548893938918e-02 1.930404369700001e-02 1.930259746628386e-02 1.930115024647330e-02 1.929970202824377e-02 + 1.929825281461415e-02 1.929680260792617e-02 1.929535140092010e-02 1.929389919235001e-02 1.929244598266550e-02 + 1.929099176842190e-02 1.928953654639375e-02 1.928808031414528e-02 1.928662307035359e-02 1.928516481711372e-02 + 1.928370555611205e-02 1.928224527966380e-02 1.928078398206115e-02 1.927932166173262e-02 1.927785831899656e-02 + 1.927639395364510e-02 1.927492856464996e-02 1.927346215243780e-02 1.927199471282116e-02 1.927052623652251e-02 + 1.926905672766994e-02 1.926758618873705e-02 1.926611461056382e-02 1.926464199150991e-02 1.926316833245443e-02 + 1.926169363057714e-02 1.926021788634381e-02 1.925874109903830e-02 1.925726325940621e-02 1.925578436860509e-02 + 1.925430443199749e-02 1.925282343948819e-02 1.925134138889128e-02 1.924985828498051e-02 1.924837411847957e-02 + 1.924688888599618e-02 1.924540259377309e-02 1.924391524090012e-02 1.924242682077230e-02 1.924093732460676e-02 + 1.923944675829762e-02 1.923795512510602e-02 1.923646241448938e-02 1.923496862521413e-02 1.923347375911634e-02 + 1.923197781292445e-02 1.923048078180134e-02 1.922898266296426e-02 1.922748346006174e-02 1.922598317069195e-02 + 1.922448178990142e-02 1.922297932164773e-02 1.922147575963824e-02 1.921997109174737e-02 1.921846532805457e-02 + 1.921695846861228e-02 1.921545049993734e-02 1.921394143207274e-02 1.921243126559395e-02 1.921091998083786e-02 + 1.920940758472120e-02 1.920789408374423e-02 1.920637946562360e-02 1.920486373146851e-02 1.920334688393281e-02 + 1.920182891329169e-02 1.920030981699324e-02 1.919878959725658e-02 1.919726825432456e-02 1.919574578635056e-02 + 1.919422218928470e-02 1.919269745661605e-02 1.919117158884151e-02 1.918964459045353e-02 1.918811645370936e-02 + 1.918658717454346e-02 1.918505675553962e-02 1.918352519296369e-02 1.918199248296462e-02 1.918045862469436e-02 + 1.917892361805418e-02 1.917738746182788e-02 1.917585015265352e-02 1.917431168820606e-02 1.917277206550804e-02 + 1.917123127946213e-02 1.916968933132487e-02 1.916814622316750e-02 1.916660194885779e-02 1.916505650873668e-02 + 1.916350990423480e-02 1.916196212155291e-02 1.916041316033273e-02 1.915886303062994e-02 1.915731172194125e-02 + 1.915575922930148e-02 1.915420555876758e-02 1.915265070860661e-02 1.915109467332810e-02 1.914953744666585e-02 + 1.914797902645569e-02 1.914641941412443e-02 1.914485861314037e-02 1.914329661713828e-02 1.914173341932142e-02 + 1.914016902223032e-02 1.913860342379879e-02 1.913703662029905e-02 1.913546861279183e-02 1.913389939805644e-02 + 1.913232897075573e-02 1.913075733118505e-02 1.912918447844714e-02 1.912761040908805e-02 1.912603511839811e-02 + 1.912445860715432e-02 1.912288088009771e-02 1.912130192853472e-02 1.911972174626816e-02 1.911814033569584e-02 + 1.911655769224527e-02 1.911497381452394e-02 1.911338870990516e-02 1.911180236957772e-02 1.911021478317005e-02 + 1.910862595492130e-02 1.910703588697045e-02 1.910544457683553e-02 1.910385201685182e-02 1.910225820527016e-02 + 1.910066314375077e-02 1.909906682830796e-02 1.909746925477876e-02 1.909587042200599e-02 1.909427033688354e-02 + 1.909266899402551e-02 1.909106637643193e-02 1.908946249114346e-02 1.908785734491775e-02 1.908625093213804e-02 + 1.908464324204344e-02 1.908303427175084e-02 1.908142403234494e-02 1.907981251534393e-02 1.907819971100440e-02 + 1.907658562789714e-02 1.907497026158614e-02 1.907335360333112e-02 1.907173565762024e-02 1.907011642370295e-02 + 1.906849589616872e-02 1.906687407274958e-02 1.906525095073851e-02 1.906362652703246e-02 1.906200080112851e-02 + 1.906037377260159e-02 1.905874543999789e-02 1.905711580005939e-02 1.905548484883143e-02 1.905385258297056e-02 + 1.905221900422594e-02 1.905058411108648e-02 1.904894789413228e-02 1.904731035325132e-02 1.904567149183364e-02 + 1.904403130952197e-02 1.904238980136186e-02 1.904074696113758e-02 1.903910278612417e-02 1.903745727544392e-02 + 1.903581042868199e-02 1.903416224385271e-02 1.903251272055347e-02 1.903086185871027e-02 1.902920965236104e-02 + 1.902755609551852e-02 1.902590118543579e-02 1.902424492713456e-02 1.902258731926820e-02 1.902092835050054e-02 + 1.901926802409253e-02 1.901760634215130e-02 1.901594329530476e-02 1.901427888303375e-02 1.901261310655987e-02 + 1.901094596056572e-02 1.900927744335199e-02 1.900760755425454e-02 1.900593628837979e-02 1.900426364429972e-02 + 1.900258962310978e-02 1.900091422355684e-02 1.899923743835855e-02 1.899755925950979e-02 1.899587969656637e-02 + 1.899419874741247e-02 1.899251639645128e-02 1.899083265299966e-02 1.898914752052511e-02 1.898746098477085e-02 + 1.898577304386013e-02 1.898408369969058e-02 1.898239295076986e-02 1.898070079269564e-02 1.897900722255288e-02 + 1.897731224261929e-02 1.897561584849886e-02 1.897391803334516e-02 1.897221879605241e-02 1.897051814026927e-02 + 1.896881606767167e-02 1.896711256470153e-02 1.896540762798833e-02 1.896370126437186e-02 1.896199347193909e-02 + 1.896028424413336e-02 1.895857357350164e-02 1.895686146124061e-02 1.895514791045918e-02 1.895343292131205e-02 + 1.895171648302300e-02 1.894999858923527e-02 1.894827924721451e-02 1.894655845419708e-02 1.894483620522033e-02 + 1.894311250187257e-02 1.894138733732357e-02 1.893966070463249e-02 1.893793261072514e-02 1.893620305335951e-02 + 1.893447202418282e-02 1.893273952309081e-02 1.893100555094376e-02 1.892927010627177e-02 1.892753318110494e-02 + 1.892579477108063e-02 1.892405487784487e-02 1.892231350329449e-02 1.892057064453369e-02 1.891882629307712e-02 + 1.891708044683251e-02 1.891533310610873e-02 1.891358427035544e-02 1.891183393696100e-02 1.891008210291091e-02 + 1.890832876617924e-02 1.890657392211156e-02 1.890481756749361e-02 1.890305970669826e-02 1.890130033664154e-02 + 1.889953944876527e-02 1.889777703845312e-02 1.889601310905792e-02 1.889424766560776e-02 1.889248069356991e-02 + 1.889071219005931e-02 1.888894216610460e-02 1.888717060771540e-02 1.888539750970531e-02 1.888362288621832e-02 + 1.888184672351093e-02 1.888006901097801e-02 1.887828976119468e-02 1.887650896887177e-02 1.887472662448569e-02 + 1.887294273026847e-02 1.887115728373587e-02 1.886937028132879e-02 1.886758172601296e-02 1.886579161241305e-02 + 1.886399993232671e-02 1.886220669095003e-02 1.886041188581822e-02 1.885861550746470e-02 1.885681755698847e-02 + 1.885501803485419e-02 1.885321693733238e-02 1.885141425906957e-02 1.884960999916156e-02 1.884780416185130e-02 + 1.884599674103886e-02 1.884418772927479e-02 1.884237712445391e-02 1.884056492700234e-02 1.883875113673901e-02 + 1.883693574995443e-02 1.883511876102816e-02 1.883330016667216e-02 1.883147997149076e-02 1.882965817385698e-02 + 1.882783476601560e-02 1.882600973926643e-02 1.882418309568715e-02 1.882235484340025e-02 1.882052497417560e-02 + 1.881869348031539e-02 1.881686035975185e-02 1.881502561164409e-02 1.881318923741505e-02 1.881135123913003e-02 + 1.880951160558249e-02 1.880767032900146e-02 1.880582741534564e-02 1.880398286136111e-02 1.880213666245483e-02 + 1.880028882149621e-02 1.879843933370182e-02 1.879658819228311e-02 1.879473539862031e-02 1.879288094991765e-02 + 1.879102484097325e-02 1.878916707209326e-02 1.878730764191372e-02 1.878544654683108e-02 1.878358378459472e-02 + 1.878171935183507e-02 1.877985324430765e-02 1.877798546179407e-02 1.877611600228067e-02 1.877424486050507e-02 + 1.877237203778229e-02 1.877049753324887e-02 1.876862133863330e-02 1.876674345293673e-02 1.876486387617420e-02 + 1.876298260257535e-02 1.876109963059111e-02 1.875921496034764e-02 1.875732858848502e-02 1.875544051216185e-02 + 1.875355072885378e-02 1.875165923449702e-02 1.874976602623304e-02 1.874787110336161e-02 1.874597446797304e-02 + 1.874407611425766e-02 1.874217603022874e-02 1.874027422146802e-02 1.873837068906284e-02 1.873646542198345e-02 + 1.873455842189881e-02 1.873264969164939e-02 1.873073922656172e-02 1.872882701964194e-02 1.872691306648714e-02 + 1.872499736923527e-02 1.872307992509612e-02 1.872116072949887e-02 1.871923978227258e-02 1.871731708186487e-02 + 1.871539262387551e-02 1.871346640021372e-02 1.871153841041527e-02 1.870960865979342e-02 1.870767714578883e-02 + 1.870574386089293e-02 1.870380879685916e-02 1.870187195798613e-02 1.869993334446320e-02 1.869799294696750e-02 + 1.869605076691687e-02 1.869410680376838e-02 1.869216104730458e-02 1.869021349836844e-02 1.868826416022470e-02 + 1.868631302853863e-02 1.868436009644664e-02 1.868240535897862e-02 1.868044881818047e-02 1.867849047172725e-02 + 1.867653031474529e-02 1.867456834731333e-02 1.867260456736053e-02 1.867063897034608e-02 1.866867155351236e-02 + 1.866670231459311e-02 1.866473125095620e-02 1.866275835809391e-02 1.866078363356833e-02 1.865880707775009e-02 + 1.865682868564128e-02 1.865484845476688e-02 1.865286638889887e-02 1.865088247751579e-02 1.864889671303901e-02 + 1.864690910747520e-02 1.864491965354244e-02 1.864292833855512e-02 1.864093516946379e-02 1.863894014384585e-02 + 1.863694325319922e-02 1.863494449952898e-02 1.863294388193027e-02 1.863094139526787e-02 1.862893703607748e-02 + 1.862693080034535e-02 1.862492268387857e-02 1.862291268732941e-02 1.862090081042848e-02 1.861888704957227e-02 + 1.861687140151818e-02 1.861485386231105e-02 1.861283442704270e-02 1.861081309610335e-02 1.860878986806025e-02 + 1.860676473338590e-02 1.860473769529663e-02 1.860270875778476e-02 1.860067790615180e-02 1.859864513789995e-02 + 1.859661045850656e-02 1.859457386260990e-02 1.859253534675110e-02 1.859049490946049e-02 1.858845254228221e-02 + 1.858640824383296e-02 1.858436201966219e-02 1.858231386031445e-02 1.858026376148910e-02 1.857821173011040e-02 + 1.857615775674864e-02 1.857410183289329e-02 1.857204396224591e-02 1.856998414158087e-02 1.856792236630606e-02 + 1.856585863699762e-02 1.856379295088432e-02 1.856172530348682e-02 1.855965569223371e-02 1.855758411493529e-02 + 1.855551056872843e-02 1.855343504862798e-02 1.855135755357239e-02 1.854927808391809e-02 1.854719662999937e-02 + 1.854511318947389e-02 1.854302776884543e-02 1.854094036342127e-02 1.853885096469986e-02 1.853675956540365e-02 + 1.853466616668727e-02 1.853257077183708e-02 1.853047338096206e-02 1.852837398473379e-02 1.852627257507170e-02 + 1.852416915520061e-02 1.852206372211816e-02 1.851995627104085e-02 1.851784680396669e-02 1.851573531468755e-02 + 1.851362179508880e-02 1.851150625260910e-02 1.850938868433302e-02 1.850726907790290e-02 1.850514743267316e-02 + 1.850302375022463e-02 1.850089802974987e-02 1.849877026321467e-02 1.849664044568886e-02 1.849450857919205e-02 + 1.849237466328984e-02 1.849023869225825e-02 1.848810065567833e-02 1.848596056072587e-02 1.848381841125062e-02 + 1.848167418759208e-02 1.847952788817062e-02 1.847737952020788e-02 1.847522908039946e-02 1.847307656165976e-02 + 1.847092195736722e-02 1.846876526733367e-02 1.846660649126623e-02 1.846444562782898e-02 1.846228267641075e-02 + 1.846011763022634e-02 1.845795047822359e-02 1.845578122357826e-02 1.845360986824314e-02 1.845143640646702e-02 + 1.844926083412144e-02 1.844708314829677e-02 1.844490334652741e-02 1.844272142526039e-02 1.844053738232335e-02 + 1.843835121884711e-02 1.843616292877729e-02 1.843397250473794e-02 1.843177994759022e-02 1.842958525561723e-02 + 1.842738842512387e-02 1.842518945510765e-02 1.842298833954339e-02 1.842078507029563e-02 1.841857965103055e-02 + 1.841637208298309e-02 1.841416236088061e-02 1.841195047731196e-02 1.840973642948215e-02 1.840752022011446e-02 + 1.840530184216091e-02 1.840308128892246e-02 1.840085856103635e-02 1.839863365911139e-02 1.839640658087383e-02 + 1.839417731924000e-02 1.839194587083986e-02 1.838971223370895e-02 1.838747640300020e-02 1.838523837692452e-02 + 1.838299815548432e-02 1.838075573582631e-02 1.837851111106092e-02 1.837626427462707e-02 1.837401523350234e-02 + 1.837176398539980e-02 1.836951051641877e-02 1.836725482529124e-02 1.836499691387402e-02 1.836273678151691e-02 + 1.836047442118306e-02 1.835820982858270e-02 1.835594300692513e-02 1.835367394977665e-02 1.835140264983480e-02 + 1.834912910825698e-02 1.834685332362546e-02 1.834457529066184e-02 1.834229500068380e-02 1.834001245612868e-02 + 1.833772766191195e-02 1.833544060380268e-02 1.833315127769170e-02 1.833085968975407e-02 1.832856583633842e-02 + 1.832626971106521e-02 1.832397130817964e-02 1.832167062581619e-02 1.831936766045366e-02 1.831706240632338e-02 + 1.831475486820015e-02 1.831244504576387e-02 1.831013292472488e-02 1.830781850356614e-02 1.830550178468002e-02 + 1.830318276421879e-02 1.830086143845657e-02 1.829853780375753e-02 1.829621185558813e-02 1.829388359300937e-02 + 1.829155301569956e-02 1.828922011662799e-02 1.828688489153528e-02 1.828454733892483e-02 1.828220745351499e-02 + 1.827986523367206e-02 1.827752068069898e-02 1.827517378500067e-02 1.827282454323407e-02 1.827047296291425e-02 + 1.826811903643735e-02 1.826576275326505e-02 1.826340410954280e-02 1.826104310998728e-02 1.825867975496676e-02 + 1.825631402943589e-02 1.825394593365713e-02 1.825157547349511e-02 1.824920264235266e-02 1.824682743095013e-02 + 1.824444983334214e-02 1.824206985531418e-02 1.823968749396920e-02 1.823730273947125e-02 1.823491559405069e-02 + 1.823252605635143e-02 1.823013411851380e-02 1.822773977727079e-02 1.822534302885856e-02 1.822294386817581e-02 + 1.822054229933361e-02 1.821813832218229e-02 1.821573192447362e-02 1.821332310276354e-02 1.821091185568656e-02 + 1.820849817689734e-02 1.820608206836350e-02 1.820366353310689e-02 1.820124256311412e-02 1.819881915016099e-02 + 1.819639328969794e-02 1.819396498477247e-02 1.819153423068764e-02 1.818910101812068e-02 1.818666535246774e-02 + 1.818422723286477e-02 1.818178664914423e-02 1.817934360000525e-02 1.817689808189780e-02 1.817445008627356e-02 + 1.817199961756547e-02 1.816954667558178e-02 1.816709124568389e-02 1.816463332917677e-02 1.816217292950077e-02 + 1.815971003769815e-02 1.815724465123547e-02 1.815477676809149e-02 1.815230637650250e-02 1.814983348051392e-02 + 1.814735808823705e-02 1.814488018072306e-02 1.814239975267995e-02 1.813991681262074e-02 1.813743135508509e-02 + 1.813494337086823e-02 1.813245285281114e-02 1.812995980445686e-02 1.812746422731492e-02 1.812496611573551e-02 + 1.812246546481565e-02 1.811996226848969e-02 1.811745651920204e-02 1.811494821957559e-02 1.811243737133842e-02 + 1.810992396481434e-02 1.810740799805441e-02 1.810488947142559e-02 1.810236837745802e-02 1.809984471224923e-02 + 1.809731847419077e-02 1.809478965788605e-02 1.809225826197647e-02 1.808972428730369e-02 1.808718772623545e-02 + 1.808464857219165e-02 1.808210682315950e-02 1.807956248210254e-02 1.807701554512131e-02 1.807446599893149e-02 + 1.807191384222250e-02 1.806935907649996e-02 1.806680169977935e-02 1.806424171112906e-02 1.806167910639137e-02 + 1.805911387430984e-02 1.805654601234490e-02 1.805397552118165e-02 1.805140239539148e-02 1.804882663464111e-02 + 1.804624823872755e-02 1.804366719439020e-02 1.804108350087335e-02 1.803849716547347e-02 1.803590817366155e-02 + 1.803331652090480e-02 1.803072221546651e-02 1.802812524400898e-02 1.802552559998909e-02 1.802292329257977e-02 + 1.802031831251088e-02 1.801771065083283e-02 1.801510031065072e-02 1.801248728509480e-02 1.800987156794499e-02 + 1.800725316456288e-02 1.800463207196059e-02 1.800200828229563e-02 1.799938179038418e-02 1.799675259135415e-02 + 1.799412068157979e-02 1.799148606152016e-02 1.798884872978088e-02 1.798620868169797e-02 1.798356590941466e-02 + 1.798092041139825e-02 1.797827219073602e-02 1.797562123473000e-02 1.797296753674024e-02 1.797031110360818e-02 + 1.796765193280976e-02 1.796499001786419e-02 1.796232535287627e-02 1.795965793501132e-02 1.795698776183851e-02 + 1.795431482887613e-02 1.795163913285315e-02 1.794896067070983e-02 1.794627943785036e-02 1.794359543174794e-02 + 1.794090865000600e-02 1.793821908548673e-02 1.793552673496832e-02 1.793283159877326e-02 1.793013367385930e-02 + 1.792743295577707e-02 1.792472944026945e-02 1.792202312682011e-02 1.791931400976357e-02 1.791660207728341e-02 + 1.791388733234035e-02 1.791116977642004e-02 1.790844939977351e-02 1.790572620127331e-02 1.790300018053203e-02 + 1.790027132960331e-02 1.789753964610457e-02 1.789480512776976e-02 1.789206776371137e-02 1.788932755546883e-02 + 1.788658450796398e-02 1.788383860557862e-02 1.788108984645815e-02 1.787833823870088e-02 1.787558376650758e-02 + 1.787282642238153e-02 1.787006621288861e-02 1.786730313584615e-02 1.786453718506033e-02 1.786176835331611e-02 + 1.785899663566110e-02 1.785622203220682e-02 1.785344454733639e-02 1.785066416506327e-02 1.784788087479271e-02 + 1.784509469481547e-02 1.784230561688990e-02 1.783951362363962e-02 1.783671871969004e-02 1.783392090351773e-02 + 1.783112016693977e-02 1.782831650359620e-02 1.782550991644932e-02 1.782270041052123e-02 1.781988796773664e-02 + 1.781707258188517e-02 1.781425426228424e-02 1.781143299909701e-02 1.780860878344276e-02 1.780578161636334e-02 + 1.780295150019453e-02 1.780011843142990e-02 1.779728239750767e-02 1.779444339320670e-02 1.779160141853593e-02 + 1.778875647528820e-02 1.778590855799184e-02 1.778305765851556e-02 1.778020377358821e-02 1.777734690358035e-02 + 1.777448704738365e-02 1.777162419310320e-02 1.776875833746895e-02 1.776588948369731e-02 1.776301762263940e-02 + 1.776014274927566e-02 1.775726486578331e-02 1.775438397030816e-02 1.775150005486545e-02 1.774861310790110e-02 + 1.774572313526677e-02 1.774283013776283e-02 1.773993409898065e-02 1.773703502220879e-02 1.773413291089222e-02 + 1.773122774923129e-02 1.772831953604024e-02 1.772540827370780e-02 1.772249394894422e-02 1.771957656009896e-02 + 1.771665611194296e-02 1.771373259698992e-02 1.771080600888477e-02 1.770787634473108e-02 1.770494360249459e-02 + 1.770200777818149e-02 1.769906886558849e-02 1.769612685929023e-02 1.769318175770428e-02 1.769023356261796e-02 + 1.768728226707501e-02 1.768432786370409e-02 1.768137035050212e-02 1.767840972761326e-02 1.767544598996190e-02 + 1.767247912224100e-02 1.766950912887429e-02 1.766653601772543e-02 1.766355977437013e-02 1.766058039164660e-02 + 1.765759786981226e-02 1.765461220736955e-02 1.765162339764906e-02 1.764863143247870e-02 1.764563631444012e-02 + 1.764263804044564e-02 1.763963660052613e-02 1.763663199590508e-02 1.763362422648862e-02 1.763061328532627e-02 + 1.762759916389677e-02 1.762458185742205e-02 1.762156136756127e-02 1.761853769290762e-02 1.761551082691653e-02 + 1.761248075761478e-02 1.760944748669641e-02 1.760641101894919e-02 1.760337134551661e-02 1.760032845807722e-02 + 1.759728235211478e-02 1.759423302856655e-02 1.759118048266074e-02 1.758812470690578e-02 1.758506570645847e-02 + 1.758200347417691e-02 1.757893799151254e-02 1.757586926700291e-02 1.757279730534286e-02 1.756972209521438e-02 + 1.756664362962799e-02 1.756356190543487e-02 1.756047692143249e-02 1.755738866974527e-02 1.755429714394244e-02 + 1.755120234663686e-02 1.754810427470094e-02 1.754500292288027e-02 1.754189829041229e-02 1.753879037098419e-02 + 1.753567915477636e-02 1.753256463576890e-02 1.752944681640228e-02 1.752632570156945e-02 1.752320127895599e-02 + 1.752007354011609e-02 1.751694248500407e-02 1.751380811099548e-02 1.751067041466748e-02 1.750752939229762e-02 + 1.750438503712632e-02 1.750123734468025e-02 1.749808631552286e-02 1.749493194526630e-02 1.749177422703599e-02 + 1.748861315463852e-02 1.748544872591071e-02 1.748228094036503e-02 1.747910979560325e-02 1.747593528635296e-02 + 1.747275740493088e-02 1.746957614261004e-02 1.746639150171011e-02 1.746320348827029e-02 1.746001208402579e-02 + 1.745681728232032e-02 1.745361909228664e-02 1.745041750587895e-02 1.744721251527593e-02 1.744400411995098e-02 + 1.744079231626219e-02 1.743757709612158e-02 1.743435844889677e-02 1.743113638300998e-02 1.742791090294012e-02 + 1.742468198827393e-02 1.742144963687445e-02 1.741821385208018e-02 1.741497462017237e-02 1.741173194001650e-02 + 1.740848581625378e-02 1.740523623716524e-02 1.740198319673262e-02 1.739872669626729e-02 1.739546673433575e-02 + 1.739220330474240e-02 1.738893639777237e-02 1.738566600801745e-02 1.738239213410604e-02 1.737911477739739e-02 + 1.737583393441487e-02 1.737254959973500e-02 1.736926176792087e-02 1.736597043319887e-02 1.736267559029083e-02 + 1.735937723525189e-02 1.735607536431420e-02 1.735276997535949e-02 1.734946106967137e-02 1.734614863942214e-02 + 1.734283267462293e-02 1.733951317984790e-02 1.733619014933173e-02 1.733286356952035e-02 1.732953344236944e-02 + 1.732619976822115e-02 1.732286254123125e-02 1.731952175476255e-02 1.731617740506982e-02 1.731282949118149e-02 + 1.730947800429541e-02 1.730612293897103e-02 1.730276429900506e-02 1.729940207772190e-02 1.729603626710180e-02 + 1.729266686687025e-02 1.728929387127552e-02 1.728591727431661e-02 1.728253707811547e-02 1.727915327486350e-02 + 1.727576585445017e-02 1.727237482415143e-02 1.726898017713387e-02 1.726558189725253e-02 1.726217999255776e-02 + 1.725877446141184e-02 1.725536528836806e-02 1.725195247427305e-02 1.724853602088567e-02 1.724511592318061e-02 + 1.724169217016580e-02 1.723826475637563e-02 1.723483368674653e-02 1.723139894995541e-02 1.722796053633534e-02 + 1.722451845482723e-02 1.722107270070567e-02 1.721762326419149e-02 1.721417014587169e-02 1.721071333868621e-02 + 1.720725283251134e-02 1.720378862838028e-02 1.720032072298445e-02 1.719684910908383e-02 1.719337378669194e-02 + 1.718989475327181e-02 1.718641200187306e-02 1.718292552719872e-02 1.717943532374793e-02 1.717594138625576e-02 + 1.717244371734551e-02 1.716894231509765e-02 1.716543716617480e-02 1.716192826455456e-02 1.715841561099909e-02 + 1.715489920993168e-02 1.715137904713604e-02 1.714785510917266e-02 1.714432741097788e-02 1.714079594608009e-02 + 1.713726069602739e-02 1.713372166332687e-02 1.713017885016558e-02 1.712663225240283e-02 1.712308185705881e-02 + 1.711952765873538e-02 1.711596966109396e-02 1.711240786053498e-02 1.710884225051524e-02 1.710527282476134e-02 + 1.710169958307061e-02 1.709812252022495e-02 1.709454162136748e-02 1.709095688985418e-02 1.708736832996113e-02 + 1.708377593024533e-02 1.708017968752960e-02 1.707657960032946e-02 1.707297565703870e-02 1.706936785401023e-02 + 1.706575619189593e-02 1.706214066346443e-02 1.705852126552140e-02 1.705489799818787e-02 1.705127085519305e-02 + 1.704763983091843e-02 1.704400492089210e-02 1.704036611449886e-02 1.703672340943711e-02 1.703307681394708e-02 + 1.702942631772786e-02 1.702577190966809e-02 1.702211358937508e-02 1.701845135582294e-02 1.701478520463906e-02 + 1.701111512687454e-02 1.700744111902223e-02 1.700376317991698e-02 1.700008130526762e-02 1.699639548886451e-02 + 1.699270572517141e-02 1.698901201362202e-02 1.698531434790372e-02 1.698161271901581e-02 1.697790713038581e-02 + 1.697419757947398e-02 1.697048405591379e-02 1.696676655885514e-02 1.696304508413142e-02 1.695931962055792e-02 + 1.695559016575875e-02 1.695185672007940e-02 1.694811928170539e-02 1.694437784303563e-02 1.694063239701608e-02 + 1.693688294268234e-02 1.693312947555357e-02 1.692937198914621e-02 1.692561047849961e-02 1.692184494218333e-02 + 1.691807537819241e-02 1.691430177590003e-02 1.691052413380094e-02 1.690674245501956e-02 1.690295672392027e-02 + 1.689916693403359e-02 1.689537309141036e-02 1.689157519031890e-02 1.688777322481082e-02 1.688396719247375e-02 + 1.688015708323470e-02 1.687634289028026e-02 1.687252461641300e-02 1.686870225976892e-02 1.686487581335405e-02 + 1.686104526641643e-02 1.685721061978611e-02 1.685337187596560e-02 1.684952902423863e-02 1.684568205626177e-02 + 1.684183096806695e-02 1.683797575916921e-02 1.683411642637722e-02 1.683025296370582e-02 1.682638536598722e-02 + 1.682251363071521e-02 1.681863775630957e-02 1.681475773295268e-02 1.681087355358095e-02 1.680698521822956e-02 + 1.680309272743823e-02 1.679919607564722e-02 1.679529524908240e-02 1.679139024683375e-02 1.678748107079098e-02 + 1.678356771499038e-02 1.677965016895157e-02 1.677572842703558e-02 1.677180249929987e-02 1.676787237703614e-02 + 1.676393804299063e-02 1.675999950051788e-02 1.675605674951069e-02 1.675210978219402e-02 1.674815858725950e-02 + 1.674420316518524e-02 1.674024352454331e-02 1.673627964747038e-02 1.673231152527195e-02 1.672833916857912e-02 + 1.672436256552257e-02 1.672038170373856e-02 1.671639658470834e-02 1.671240720840105e-02 1.670841357063555e-02 + 1.670441566220705e-02 1.670041347959014e-02 1.669640702110204e-02 1.669239628051189e-02 1.668838125191250e-02 + 1.668436193143650e-02 1.668033831890629e-02 1.667631040878886e-02 1.667227819212758e-02 1.666824166734860e-02 + 1.666420083129591e-02 1.666015567735254e-02 1.665610620005455e-02 1.665205239678242e-02 1.664799426695549e-02 + 1.664393180284348e-02 1.663986499713315e-02 1.663579384792829e-02 1.663171835503466e-02 1.662763851356003e-02 + 1.662355430939835e-02 1.661946574092143e-02 1.661537281150426e-02 1.661127551677910e-02 1.660717384720702e-02 + 1.660306779425839e-02 1.659895736095696e-02 1.659484254425630e-02 1.659072333444665e-02 1.658659972465595e-02 + 1.658247171530552e-02 1.657833931027815e-02 1.657420249617699e-02 1.657006126301349e-02 1.656591561144095e-02 + 1.656176553662080e-02 1.655761103381663e-02 1.655345210211223e-02 1.654928873901935e-02 1.654512093811135e-02 + 1.654094868807454e-02 1.653677198858015e-02 1.653259084096055e-02 1.652840523447503e-02 1.652421516561530e-02 + 1.652002063436291e-02 1.651582163151349e-02 1.651161815099949e-02 1.650741019156900e-02 1.650319775344297e-02 + 1.649898082810461e-02 1.649475940168675e-02 1.649053348141889e-02 1.648630306850305e-02 1.648206814836095e-02 + 1.647782871114676e-02 1.647358475732917e-02 1.646933629656457e-02 1.646508330893651e-02 1.646082578033714e-02 + 1.645656373337251e-02 1.645229715576629e-02 1.644802602626009e-02 1.644375035674409e-02 1.643947014097659e-02 + 1.643518536281393e-02 1.643089602671802e-02 1.642660213310334e-02 1.642230367492405e-02 1.641800064388943e-02 + 1.641369303446324e-02 1.640938084474308e-02 1.640506407467653e-02 1.640074271742540e-02 1.639641675907646e-02 + 1.639208620097271e-02 1.638775104513307e-02 1.638341128505268e-02 1.637906691499287e-02 1.637471792980197e-02 + 1.637036432400064e-02 1.636600609175647e-02 1.636164322915392e-02 1.635727573684415e-02 1.635290360792794e-02 + 1.634852683359730e-02 1.634414541697593e-02 1.633975935494602e-02 1.633536863669590e-02 1.633097325119221e-02 + 1.632657319870386e-02 1.632216848742881e-02 1.631775910539292e-02 1.631334504210032e-02 1.630892629731235e-02 + 1.630450287107613e-02 1.630007475715268e-02 1.629564194133085e-02 1.629120442381021e-02 1.628676220752001e-02 + 1.628231528645751e-02 1.627786365361661e-02 1.627340730437480e-02 1.626894623909321e-02 1.626448044809207e-02 + 1.626000991935131e-02 1.625553465710418e-02 1.625105466086324e-02 1.624656992364918e-02 1.624208044008659e-02 + 1.623758620493278e-02 1.623308721259990e-02 1.622858345750622e-02 1.622407493651434e-02 1.621956164908100e-02 + 1.621504359102545e-02 1.621052075671857e-02 1.620599314061202e-02 1.620146073758967e-02 1.619692354185834e-02 + 1.619238154678624e-02 1.618783475477294e-02 1.618328316706134e-02 1.617872676957040e-02 1.617416555535298e-02 + 1.616959952441603e-02 1.616502867670949e-02 1.616045300241566e-02 1.615587248863419e-02 1.615128714307292e-02 + 1.614669696726644e-02 1.614210195036420e-02 1.613750207990814e-02 1.613289735436475e-02 1.612828778261194e-02 + 1.612367334765880e-02 1.611905403879705e-02 1.611442986870223e-02 1.610980082722066e-02 1.610516690212456e-02 + 1.610052809916244e-02 1.609588441136000e-02 1.609123582829610e-02 1.608658235171540e-02 1.608192397521171e-02 + 1.607726068992654e-02 1.607259250083978e-02 1.606791940362701e-02 1.606324138657220e-02 1.605855844962495e-02 + 1.605387058768025e-02 1.604917779011535e-02 1.604448006054786e-02 1.603977739874237e-02 1.603506979420087e-02 + 1.603035723984084e-02 1.602563973257448e-02 1.602091727188371e-02 1.601618984720332e-02 1.601145745295015e-02 + 1.600672010067149e-02 1.600197777942985e-02 1.599723047266619e-02 1.599247818462375e-02 1.598772091449355e-02 + 1.598295865408641e-02 1.597819139147786e-02 1.597341912912636e-02 1.596864187530068e-02 1.596385961058315e-02 + 1.595907232771693e-02 1.595428003613896e-02 1.594948272828454e-02 1.594468039178993e-02 1.593987301780130e-02 + 1.593506061365002e-02 1.593024318102167e-02 1.592542070422077e-02 1.592059317798925e-02 1.591576060279083e-02 + 1.591092297799217e-02 1.590608029141302e-02 1.590123253274349e-02 1.589637971157846e-02 1.589152182656434e-02 + 1.588665886609507e-02 1.588179081847464e-02 1.587691768450550e-02 1.587203947045915e-02 1.586715616213467e-02 + 1.586226775168990e-02 1.585737424168921e-02 1.585247562649581e-02 1.584757190117160e-02 1.584266306445842e-02 + 1.583774911091078e-02 1.583283003450806e-02 1.582790583090947e-02 1.582297649499978e-02 1.581804202355953e-02 + 1.581310241701619e-02 1.580815766650671e-02 1.580320776320766e-02 1.579825271139450e-02 1.579329250537274e-02 + 1.578832713506978e-02 1.578335660262603e-02 1.577838090296324e-02 1.577340002574811e-02 1.576841397243399e-02 + 1.576342274326813e-02 1.575842633194578e-02 1.575342472205075e-02 1.574841791148685e-02 1.574340591569888e-02 + 1.573838872006093e-02 1.573336631006632e-02 1.572833869008299e-02 1.572330586230670e-02 1.571826781924578e-02 + 1.571322454052314e-02 1.570817603062760e-02 1.570312230059812e-02 1.569806333998715e-02 1.569299913693516e-02 + 1.568792968457186e-02 1.568285498663007e-02 1.567777503779379e-02 1.567268982728102e-02 1.566759935997030e-02 + 1.566250363482262e-02 1.565740264102256e-02 1.565229637077196e-02 1.564718482295817e-02 1.564206800099241e-02 + 1.563694589151567e-02 1.563181848599405e-02 1.562668579194260e-02 1.562154780177149e-02 1.561640450642917e-02 + 1.561125590888111e-02 1.560610200797837e-02 1.560094279515962e-02 1.559577825343192e-02 1.559060838842812e-02 + 1.558543321151646e-02 1.558025270088283e-02 1.557506685188879e-02 1.556987567405825e-02 1.556467915294808e-02 + 1.555947727806998e-02 1.555427005014520e-02 1.554905747326830e-02 1.554383954557267e-02 1.553861625685508e-02 + 1.553338760005679e-02 1.552815357203842e-02 1.552291417232042e-02 1.551766939022104e-02 1.551241921985975e-02 + 1.550716367246923e-02 1.550190274051892e-02 1.549663640983429e-02 1.549136467943576e-02 1.548608754911306e-02 + 1.548080501516420e-02 1.547551706650131e-02 1.547022370107663e-02 1.546492492363977e-02 1.545962073006300e-02 + 1.545431111106912e-02 1.544899605692932e-02 1.544367557060635e-02 1.543834964941066e-02 1.543301828099291e-02 + 1.542768146907574e-02 1.542233921474585e-02 1.541699150599057e-02 1.541163833967913e-02 1.540627971422265e-02 + 1.540091562222576e-02 1.539554606062004e-02 1.539017102808156e-02 1.538479052048013e-02 1.537940453376258e-02 + 1.537401306270197e-02 1.536861609811398e-02 1.536321364249661e-02 1.535780570199338e-02 1.535239225620149e-02 + 1.534697329939463e-02 1.534154884369051e-02 1.533611887960563e-02 1.533068339829330e-02 1.532524239983298e-02 + 1.531979587995433e-02 1.531434383110085e-02 1.530888624554550e-02 1.530342313142362e-02 1.529795449144603e-02 + 1.529248030485156e-02 1.528700056732233e-02 1.528151528324413e-02 1.527602445059826e-02 1.527052806021316e-02 + 1.526502610370102e-02 1.525951858764995e-02 1.525400550804322e-02 1.524848685322667e-02 1.524296262660809e-02 + 1.523743282528689e-02 1.523189743753784e-02 1.522635646012132e-02 1.522080989370855e-02 1.521525773883866e-02 + 1.520969998584297e-02 1.520413662809972e-02 1.519856766896251e-02 1.519299310438481e-02 1.518741292689401e-02 + 1.518182713051541e-02 1.517623571498702e-02 1.517063867977171e-02 1.516503601659771e-02 1.515942772580205e-02 + 1.515381380882217e-02 1.514819425008754e-02 1.514256904339338e-02 1.513693819284546e-02 1.513130169987854e-02 + 1.512565955837021e-02 1.512001175774349e-02 1.511435830052952e-02 1.510869918485496e-02 1.510303439909880e-02 + 1.509736393861015e-02 1.509168780464220e-02 1.508600600178219e-02 1.508031852355242e-02 1.507462535986425e-02 + 1.506892650464710e-02 1.506322195838325e-02 1.505751172137055e-02 1.505179578553525e-02 1.504607414992266e-02 + 1.504034681527993e-02 1.503461377008154e-02 1.502887501067205e-02 1.502313053999477e-02 1.501738035243006e-02 + 1.501162444030474e-02 1.500586279803602e-02 1.500009542963074e-02 1.499432233574762e-02 1.498854350912934e-02 + 1.498275894315130e-02 1.497696863387312e-02 1.497117258012378e-02 1.496537077480856e-02 1.495956321394884e-02 + 1.495374990400090e-02 1.494793083920974e-02 1.494210600904758e-02 1.493627541059610e-02 1.493043904648383e-02 + 1.492459691659297e-02 1.491874900408085e-02 1.491289530722370e-02 1.490703583623931e-02 1.490117058646935e-02 + 1.489529954725381e-02 1.488942270892006e-02 1.488354007804980e-02 1.487765165385858e-02 1.487175742273507e-02 + 1.486585738883519e-02 1.485995155398175e-02 1.485403990610964e-02 1.484812243988829e-02 1.484219915557141e-02 + 1.483627005584607e-02 1.483033513203473e-02 1.482439437542072e-02 1.481844779264578e-02 1.481249538141862e-02 + 1.480653713381494e-02 1.480057304868135e-02 1.479460312202780e-02 1.478862734716873e-02 1.478264572087699e-02 + 1.477665824308106e-02 1.477066491441443e-02 1.476466572742758e-02 1.475866067903805e-02 1.475264977269339e-02 + 1.474663299844858e-02 1.474061034872640e-02 1.473458182710518e-02 1.472854743115566e-02 1.472250715651883e-02 + 1.471646100132783e-02 1.471040896256117e-02 1.470435103749897e-02 1.469828722554372e-02 1.469221751827344e-02 + 1.468614190646898e-02 1.468006039547928e-02 1.467397298615093e-02 1.466787967378610e-02 1.466178045636883e-02 + 1.465567533041493e-02 1.464956428982840e-02 1.464344732703370e-02 1.463732444018100e-02 1.463119563426315e-02 + 1.462506090797482e-02 1.461892025637629e-02 1.461277367320199e-02 1.460662115516677e-02 1.460046270026797e-02 + 1.459429830605704e-02 1.458812796887011e-02 1.458195168595082e-02 1.457576945823491e-02 1.456958128559711e-02 + 1.456338716422361e-02 1.455718708308891e-02 1.455098103823577e-02 1.454476903226018e-02 1.453855106504101e-02 + 1.453232713525658e-02 1.452609724028033e-02 1.451986137384772e-02 1.451361953112174e-02 1.450737171027855e-02 + 1.450111790831084e-02 1.449485812287890e-02 1.448859235383744e-02 1.448232060352556e-02 1.447604287018101e-02 + 1.446975914267516e-02 1.446346941597466e-02 1.445717368938523e-02 1.445087196279080e-02 1.444456423724572e-02 + 1.443825051237331e-02 1.443193078136921e-02 1.442560503975330e-02 1.441927328581930e-02 1.441293551683267e-02 + 1.440659172970616e-02 1.440024192165075e-02 1.439388609177658e-02 1.438752424156573e-02 1.438115637277796e-02 + 1.437478247503487e-02 1.436840254149195e-02 1.436201657648160e-02 1.435562457263202e-02 1.434922652522855e-02 + 1.434282244486077e-02 1.433641232984850e-02 1.432999617114929e-02 1.432357396196595e-02 1.431714570255755e-02 + 1.431071139387867e-02 1.430427102559402e-02 1.429782460021014e-02 1.429137212732056e-02 1.428491359501307e-02 + 1.427844899676062e-02 1.427197833606156e-02 1.426550161130239e-02 1.425901881685885e-02 1.425252994564961e-02 + 1.424603499980085e-02 1.423953398385027e-02 1.423302689906778e-02 1.422651373475527e-02 1.421999448399202e-02 + 1.421346915585374e-02 1.420693774198730e-02 1.420040023237321e-02 1.419385663850131e-02 1.418730696003290e-02 + 1.418075118751426e-02 1.417418931634679e-02 1.416762135086922e-02 1.416104729584521e-02 1.415446713263836e-02 + 1.414788085973522e-02 1.414128849363525e-02 1.413469002361970e-02 1.412808544052846e-02 1.412147474772301e-02 + 1.411485794712882e-02 1.410823503604182e-02 1.410160600672222e-02 1.409497085818714e-02 1.408832959214252e-02 + 1.408168220875668e-02 1.407502870564407e-02 1.406836907961611e-02 1.406170332864153e-02 1.405503144837146e-02 + 1.404835343608425e-02 1.404166929852345e-02 1.403497903248639e-02 1.402828262916828e-02 1.402158009603205e-02 + 1.401487143048169e-02 1.400815661918214e-02 1.400143566703935e-02 1.399470857625501e-02 1.398797534046779e-02 + 1.398123596549795e-02 1.397449045134991e-02 1.396773878380821e-02 1.396098096640959e-02 1.395421700271061e-02 + 1.394744688102961e-02 1.394067060648909e-02 1.393388818692338e-02 1.392709961198955e-02 1.392030488001634e-02 + 1.391350399327543e-02 1.390669694254475e-02 1.389988372719557e-02 1.389306435287330e-02 1.388623881438261e-02 + 1.387940711188756e-02 1.387256925103053e-02 1.386572522405790e-02 1.385887502683316e-02 1.385201866296698e-02 + 1.384515612379329e-02 1.383828740611332e-02 1.383141252098464e-02 1.382453146615934e-02 1.381764423695148e-02 + 1.381075083621117e-02 1.380385125926009e-02 1.379694549932224e-02 1.379003355634722e-02 1.378311543405784e-02 + 1.377619113577579e-02 1.376926065784134e-02 1.376232399626086e-02 1.375538114862362e-02 1.374843211529037e-02 + 1.374147689626999e-02 1.373451549097131e-02 1.372754790081035e-02 1.372057412482435e-02 1.371359415880417e-02 + 1.370660800191563e-02 1.369961565562416e-02 1.369261712158748e-02 1.368561239160383e-02 1.367860146147292e-02 + 1.367158434223160e-02 1.366456103295884e-02 1.365753152816715e-02 1.365049582984413e-02 1.364345393626983e-02 + 1.363640584363454e-02 1.362935155197557e-02 1.362229106201978e-02 1.361522437421294e-02 1.360815148809621e-02 + 1.360107240365773e-02 1.359398712117658e-02 1.358689563898480e-02 1.357979795217255e-02 1.357269405533802e-02 + 1.356558396017600e-02 1.355846767355538e-02 1.355134518540141e-02 1.354421648973967e-02 1.353708158728038e-02 + 1.352994048497773e-02 1.352279317412557e-02 1.351563964921714e-02 1.350847993234027e-02 1.350131401794928e-02 + 1.349414188812881e-02 1.348696355361660e-02 1.347977901858603e-02 1.347258827670450e-02 1.346539132112732e-02 + 1.345818815687027e-02 1.345097879723517e-02 1.344376323611521e-02 1.343654146470481e-02 1.342931348024562e-02 + 1.342207929164266e-02 1.341483890125029e-02 1.340759229714105e-02 1.340033948592649e-02 1.339308047488992e-02 + 1.338581525615185e-02 1.337854383232506e-02 1.337126620737807e-02 1.336398237245951e-02 1.335669232490426e-02 + 1.334939606999042e-02 1.334209361886319e-02 1.333478496691931e-02 1.332747010093965e-02 1.332014902896288e-02 + 1.331282175723704e-02 1.330548828381385e-02 1.329814860211957e-02 1.329080271412866e-02 1.328345063097246e-02 + 1.327609234424045e-02 1.326872784914616e-02 1.326135715657202e-02 1.325398026514318e-02 1.324659716972378e-02 + 1.323920787031880e-02 1.323181236976987e-02 1.322441067219326e-02 1.321700278123619e-02 1.320958869473772e-02 + 1.320216840889533e-02 1.319474192647233e-02 1.318730924299288e-02 1.317987035320805e-02 1.317242527523754e-02 + 1.316497401404441e-02 1.315751655750498e-02 1.315005290457417e-02 1.314258305915991e-02 1.313510702533477e-02 + 1.312762479749873e-02 1.312013637454663e-02 1.311264176674524e-02 1.310514097528989e-02 1.309763399743803e-02 + 1.309012083240218e-02 1.308260148524151e-02 1.307507595779872e-02 1.306754423810231e-02 1.306000633130083e-02 + 1.305246225068735e-02 1.304491199415833e-02 1.303735555888092e-02 1.302979294561730e-02 1.302222416114251e-02 + 1.301464920127586e-02 1.300706805512286e-02 1.299948074007148e-02 1.299188726392925e-02 1.298428761376350e-02 + 1.297668178953030e-02 1.296906979917289e-02 1.296145165196894e-02 1.295382733572278e-02 1.294619684321666e-02 + 1.293856019418804e-02 1.293091739361701e-02 1.292326843600229e-02 1.291561331594024e-02 1.290795203962965e-02 + 1.290028461406370e-02 1.289261102589192e-02 1.288493127982097e-02 1.287724539399148e-02 1.286955336728896e-02 + 1.286185519483855e-02 1.285415087393522e-02 1.284644040779901e-02 1.283872379943217e-02 1.283100105007112e-02 + 1.282327216499671e-02 1.281553714651719e-02 1.280779599126801e-02 1.280004870582322e-02 1.279229529551004e-02 + 1.278453575462785e-02 1.277677008230648e-02 1.276899828322272e-02 1.276122036637128e-02 1.275343633303281e-02 + 1.274564618082443e-02 1.273784991358546e-02 1.273004753391990e-02 1.272223904101719e-02 1.271442442957637e-02 + 1.270660370794978e-02 1.269877689384363e-02 1.269094397773904e-02 1.268310495443295e-02 1.267525983383190e-02 + 1.266740862159357e-02 1.265955131610305e-02 1.265168790986125e-02 1.264381841321034e-02 1.263594283614933e-02 + 1.262806117310012e-02 1.262017342951705e-02 1.261227961209872e-02 1.260437971406514e-02 1.259647373729069e-02 + 1.258856168925583e-02 1.258064357239260e-02 1.257271939240096e-02 1.256478915520078e-02 1.255685285459754e-02 + 1.254891049173029e-02 1.254096207570647e-02 1.253300760376554e-02 1.252504707668881e-02 1.251708050378790e-02 + 1.250910789128773e-02 1.250112924190730e-02 1.249314455497329e-02 1.248515382942968e-02 1.247715706626537e-02 + 1.246915427066142e-02 1.246114545004359e-02 1.245313061093009e-02 1.244510975519442e-02 1.243708288271855e-02 + 1.242904999334644e-02 1.242101108960597e-02 1.241296617602342e-02 1.240491525784085e-02 1.239685833832253e-02 + 1.238879542265411e-02 1.238072651672425e-02 1.237265161832934e-02 1.236457072972670e-02 1.235648385971585e-02 + 1.234839100475330e-02 1.234029216644840e-02 1.233218735967670e-02 1.232407658450629e-02 1.231595983825897e-02 + 1.230783712734204e-02 1.229970846199802e-02 1.229157384500942e-02 1.228343326032102e-02 1.227528672233900e-02 + 1.226713425500730e-02 1.225897584359588e-02 1.225081148758153e-02 1.224264120133804e-02 1.223446498720786e-02 + 1.222628284514866e-02 1.221809477711035e-02 1.220990079161559e-02 1.220170089405064e-02 1.219349508434973e-02 + 1.218528336781141e-02 1.217706575082829e-02 1.216884223701085e-02 1.216061282093886e-02 1.215237750559525e-02 + 1.214413631491834e-02 1.213588924765066e-02 1.212763629639266e-02 1.211937747504947e-02 1.211111278696468e-02 + 1.210284222899338e-02 1.209456580676226e-02 1.208628352659129e-02 1.207799539529086e-02 1.206970142400196e-02 + 1.206140161359375e-02 1.205309595715539e-02 1.204478446558403e-02 1.203646714593309e-02 1.202814399601385e-02 + 1.201981502726849e-02 1.201148024892713e-02 1.200313965960066e-02 1.199479326438714e-02 1.198644106975963e-02 + 1.197808307814890e-02 1.196971928979660e-02 1.196134970757412e-02 1.195297434273665e-02 1.194459320579336e-02 + 1.193620630286995e-02 1.192781363156250e-02 1.191941519457288e-02 1.191101099930699e-02 1.190260104978759e-02 + 1.189418535108248e-02 1.188576391078268e-02 1.187733673904143e-02 1.186890383909906e-02 1.186046520717658e-02 + 1.185202085452967e-02 1.184357078721630e-02 1.183511499765447e-02 1.182665350164435e-02 1.181818631619212e-02 + 1.180971343948878e-02 1.180123487113532e-02 1.179275061618258e-02 1.178426068678883e-02 1.177576508273127e-02 + 1.176726380098327e-02 1.175875685721244e-02 1.175024426443667e-02 1.174172602804813e-02 1.173320214474543e-02 + 1.172467261918110e-02 1.171613746318596e-02 1.170759667473828e-02 1.169905025976067e-02 1.169049823639713e-02 + 1.168194060529573e-02 1.167337736787376e-02 1.166480853596695e-02 1.165623411322526e-02 1.164765410079015e-02 + 1.163906850325271e-02 1.163047732858534e-02 1.162188058835008e-02 1.161327829716097e-02 1.160467045202270e-02 + 1.159605704763531e-02 1.158743810702480e-02 1.157881363156412e-02 1.157018361041755e-02 1.156154807040710e-02 + 1.155290702254676e-02 1.154426045745637e-02 1.153560838867705e-02 1.152695082724772e-02 1.151828777265603e-02 + 1.150961922666123e-02 1.150094519786783e-02 1.149226570234640e-02 1.148358074611148e-02 1.147489033148848e-02 + 1.146619446355201e-02 1.145749315215113e-02 1.144878640491215e-02 1.144007421936342e-02 1.143135660500108e-02 + 1.142263357779597e-02 1.141390514531738e-02 1.140517131031360e-02 1.139643207471360e-02 1.138768744746770e-02 + 1.137893743736065e-02 1.137018205114591e-02 1.136142129485616e-02 1.135265517811921e-02 1.134388371322748e-02 + 1.133510690045416e-02 1.132632474439678e-02 1.131753726104511e-02 1.130874445081251e-02 1.129994631541456e-02 + 1.129114287234474e-02 1.128233413053084e-02 1.127352009524980e-02 1.126470077646612e-02 1.125587617975814e-02 + 1.124704630615814e-02 1.123821115477194e-02 1.122937074388692e-02 1.122052509984340e-02 1.121167421843202e-02 + 1.120281809651728e-02 1.119395674175946e-02 1.118509017235879e-02 1.117621839625571e-02 1.116734140890626e-02 + 1.115845922925729e-02 1.114957187162777e-02 1.114067933143962e-02 1.113178161769016e-02 1.112287874451852e-02 + 1.111397072153178e-02 1.110505754694771e-02 1.109613922373310e-02 1.108721577854856e-02 1.107828721826434e-02 + 1.106935353946150e-02 1.106041475521090e-02 1.105147087839408e-02 1.104252191603393e-02 1.103356786436798e-02 + 1.102460873384026e-02 1.101564454870664e-02 1.100667531791245e-02 1.099770104268406e-02 1.098872172333136e-02 + 1.097973737703280e-02 1.097074801492989e-02 1.096175363206450e-02 1.095275424291130e-02 1.094374986633713e-02 + 1.093474051123777e-02 1.092572618232803e-02 1.091670688531980e-02 1.090768263148204e-02 1.089865342255811e-02 + 1.088961926240844e-02 1.088058018050034e-02 1.087153618780464e-02 1.086248727940419e-02 1.085343346361914e-02 + 1.084437475261139e-02 1.083531115780061e-02 1.082624268419920e-02 1.081716934144050e-02 1.080809114559821e-02 + 1.079900810312026e-02 1.078992022093278e-02 1.078082751184906e-02 1.077172998533364e-02 1.076262764813011e-02 + 1.075352050586474e-02 1.074440857092024e-02 1.073529185762834e-02 1.072617037570664e-02 1.071704413251609e-02 + 1.070791313635956e-02 1.069877740113652e-02 1.068963693244828e-02 1.068049173224424e-02 1.067134181766250e-02 + 1.066218720670161e-02 1.065302791162099e-02 1.064386393117340e-02 1.063469527249458e-02 1.062552195483164e-02 + 1.061634397913101e-02 1.060716135205155e-02 1.059797409807024e-02 1.058878223029125e-02 1.057958575437316e-02 + 1.057038467384018e-02 1.056117900039964e-02 1.055196874533382e-02 1.054275390960051e-02 1.053353451406393e-02 + 1.052431058354873e-02 1.051508211263400e-02 1.050584910821505e-02 1.049661158906674e-02 1.048736956269110e-02 + 1.047812303544552e-02 1.046887201730896e-02 1.045961652742825e-02 1.045035657823219e-02 1.044109217270465e-02 + 1.043182332652317e-02 1.042255005238709e-02 1.041327235213399e-02 1.040399023555266e-02 1.039470371859749e-02 + 1.038541282005145e-02 1.037611754740451e-02 1.036681790639924e-02 1.035751391340543e-02 1.034820558036888e-02 + 1.033889291336949e-02 1.032957591435120e-02 1.032025460242317e-02 1.031092900384275e-02 1.030159911688449e-02 + 1.029226495054825e-02 1.028292652729243e-02 1.027358385071069e-02 1.026423692589549e-02 1.025488576741323e-02 + 1.024553039300053e-02 1.023617081698821e-02 1.022680704740226e-02 1.021743909457171e-02 1.020806697035185e-02 + 1.019869068658227e-02 1.018931025066223e-02 1.017992567348438e-02 1.017053697875713e-02 1.016114417776936e-02 + 1.015174727399650e-02 1.014234627700861e-02 1.013294120450803e-02 1.012353207457940e-02 1.011411888599992e-02 + 1.010470164920459e-02 1.009528038851809e-02 1.008585511657422e-02 1.007642584330934e-02 1.006699257991301e-02 + 1.005755533847607e-02 1.004811412861271e-02 1.003866895746225e-02 1.002921984502842e-02 1.001976681035788e-02 + 1.001030986009602e-02 1.000084900502786e-02 9.991384259025663e-03 9.981915635495017e-03 9.972443141719819e-03 + 9.962966786689603e-03 9.953486595586885e-03 9.944002583039199e-03 9.934514754395770e-03 9.925023122335749e-03 + 9.915527701693664e-03 9.906028505794947e-03 9.896525539473492e-03 9.887018817044350e-03 9.877508364713565e-03 + 9.867994191756903e-03 9.858476305769829e-03 9.848954721540815e-03 9.839429453723526e-03 9.829900512927632e-03 + 9.820367904529967e-03 9.810831649938153e-03 9.801291772225836e-03 9.791748277276684e-03 9.782201174956444e-03 + 9.772650480173910e-03 9.763096209214261e-03 9.753538370443265e-03 9.743976971083063e-03 9.734412038356991e-03 + 9.724843589152831e-03 9.715271627378256e-03 9.705696167153652e-03 9.696117225097080e-03 9.686534815487291e-03 + 9.676948943754414e-03 9.667359623576509e-03 9.657766883492007e-03 9.648170733986708e-03 9.638571181819185e-03 + 9.628968243024477e-03 9.619361933494769e-03 9.609752265452595e-03 9.600139245296816e-03 9.590522893495216e-03 + 9.580903234511828e-03 9.571280275331249e-03 9.561654026946651e-03 9.552024506017841e-03 9.542391727779683e-03 + 9.532755702177183e-03 9.523116437885958e-03 9.513473960404769e-03 9.503828289303256e-03 9.494179431678001e-03 + 9.484527400058637e-03 9.474872210511853e-03 9.465213879778082e-03 9.455552415295903e-03 9.445887829718797e-03 + 9.436220151655284e-03 9.426549394486200e-03 9.416875565725477e-03 9.407198681221749e-03 9.397518758018270e-03 + 9.387835810148322e-03 9.378149843813783e-03 9.368460878589471e-03 9.358768941430739e-03 9.349074041571485e-03 + 9.339376189353358e-03 9.329675400879622e-03 9.319971694171958e-03 9.310265081086165e-03 9.300555568605354e-03 + 9.290843182951191e-03 9.281127946492163e-03 9.271409865969660e-03 9.261688954922952e-03 9.251965230660204e-03 + 9.242238709904914e-03 9.232509401801155e-03 9.222777318787652e-03 9.213042489474691e-03 9.203304930168641e-03 + 9.193564649383718e-03 9.183821661973759e-03 9.174075985705271e-03 9.164327637046287e-03 9.154576623077591e-03 + 9.144822962285418e-03 9.135066683045857e-03 9.125307796249328e-03 9.115546312613307e-03 9.105782249286811e-03 + 9.096015624756502e-03 9.086246452281876e-03 9.076474739187750e-03 9.066700510968253e-03 9.056923792083085e-03 + 9.047144590189744e-03 9.037362919662660e-03 9.027578799121916e-03 9.017792245480461e-03 9.008003268928564e-03 + 8.998211881680073e-03 8.988418113610518e-03 8.978621982540696e-03 8.968823496265647e-03 8.959022672124209e-03 + 8.949219528590024e-03 8.939414081469170e-03 8.929606339864140e-03 8.919796321979990e-03 8.909984056877767e-03 + 8.900169557867096e-03 8.890352835957138e-03 8.880533907981049e-03 8.870712793191068e-03 8.860889506593549e-03 + 8.851064055633283e-03 8.841236465905915e-03 8.831406764712287e-03 8.821574959648875e-03 8.811741064546590e-03 + 8.801905099237244e-03 8.792067082696866e-03 8.782227026145442e-03 8.772384940188230e-03 8.762540855386065e-03 + 8.752694792574688e-03 8.742846759945761e-03 8.732996774006149e-03 8.723144854408183e-03 8.713291019755398e-03 + 8.703435278608567e-03 8.693577647775636e-03 8.683718159456632e-03 8.673856827661263e-03 8.663993662505663e-03 + 8.654128683145933e-03 8.644261909320558e-03 8.634393356690426e-03 8.624523033451901e-03 8.614650964506795e-03 + 8.604777179373340e-03 8.594901686657006e-03 8.585024500118565e-03 8.575145640490715e-03 8.565265126670765e-03 + 8.555382971806235e-03 8.545499187654319e-03 8.535613803632294e-03 8.525726842250045e-03 8.515838312646278e-03 + 8.505948232174527e-03 8.496056621077198e-03 8.486163497882877e-03 8.476268872748003e-03 8.466372762116349e-03 + 8.456475199094931e-03 8.446576199856061e-03 8.436675774300739e-03 8.426773941795081e-03 8.416870722731803e-03 + 8.406966134358667e-03 8.397060186389057e-03 8.387152901959176e-03 8.377244311160385e-03 8.367334425300299e-03 + 8.357423258296441e-03 8.347510830980188e-03 8.337597163605794e-03 8.327682270401855e-03 8.317766161869340e-03 + 8.307848867754637e-03 8.297930413816063e-03 8.288010810083676e-03 8.278090072673102e-03 8.268168221765407e-03 + 8.258245278027963e-03 8.248321253600945e-03 8.238396163758082e-03 8.228470040664376e-03 8.218542903042886e-03 + 8.208614761992156e-03 8.198685637447353e-03 8.188755549837494e-03 8.178824516773604e-03 8.168892549578916e-03 + 8.158959670459199e-03 8.149025910256038e-03 8.139091282816925e-03 8.129155801857130e-03 8.119219487437710e-03 + 8.109282361690508e-03 8.099344440765549e-03 8.089405733754036e-03 8.079466270417937e-03 8.069526079135253e-03 + 8.059585169010465e-03 8.049643556954327e-03 8.039701265060109e-03 8.029758314127560e-03 8.019814717074126e-03 + 8.009870488264625e-03 7.999925660293698e-03 7.989980254561855e-03 7.980034282561204e-03 7.970087763203990e-03 + 7.960140717914167e-03 7.950193166721423e-03 7.940245120231920e-03 7.930296599391260e-03 7.920347637831796e-03 + 7.910398250263278e-03 7.900448449763646e-03 7.890498257622273e-03 7.880547695356892e-03 7.870596780430528e-03 + 7.860645524802819e-03 7.850693955430419e-03 7.840742100859013e-03 7.830789973961963e-03 7.820837591210042e-03 + 7.810884973654219e-03 7.800932143705464e-03 7.790979115476222e-03 7.781025902060369e-03 7.771072537550891e-03 + 7.761119045304192e-03 7.751165435253132e-03 7.741211727248220e-03 7.731257943744334e-03 7.721304105116559e-03 + 7.711350222852130e-03 7.701396316987202e-03 7.691442422531397e-03 7.681488555826352e-03 7.671534729460651e-03 + 7.661580965493510e-03 7.651627286213397e-03 7.641673709645761e-03 7.631720246474624e-03 7.621766924002147e-03 + 7.611813774300424e-03 7.601860809420407e-03 7.591908045212342e-03 7.581955503946372e-03 7.572003208680656e-03 + 7.562051174726026e-03 7.552099414296815e-03 7.542147961065804e-03 7.532196840825635e-03 7.522246063843738e-03 + 7.512295650102864e-03 7.502345622322073e-03 7.492396000716249e-03 7.482446799189802e-03 7.472498037196947e-03 + 7.462549747897286e-03 7.452601950331629e-03 7.442654658211039e-03 7.432707892744488e-03 7.422761676416634e-03 + 7.412816028768508e-03 7.402870961455420e-03 7.392926500328647e-03 7.382982678429822e-03 7.373039508794957e-03 + 7.363097007225734e-03 7.353155196864952e-03 7.343214100532815e-03 7.333273734782904e-03 7.323334112197604e-03 + 7.313395265021593e-03 7.303457220900774e-03 7.293519991033275e-03 7.283583594600794e-03 7.273648054943689e-03 + 7.263713394446934e-03 7.253779626580373e-03 7.243846768480717e-03 7.233914855435080e-03 7.223983908518886e-03 + 7.214053940460562e-03 7.204124972417771e-03 7.194197027491048e-03 7.184270126394881e-03 7.174344280726286e-03 + 7.164419514784642e-03 7.154495863236941e-03 7.144573340914020e-03 7.134651962993328e-03 7.124731752265264e-03 + 7.114812732100897e-03 7.104894920638768e-03 7.094978330575343e-03 7.085062992246606e-03 7.075148934793896e-03 + 7.065236171017366e-03 7.055324719420953e-03 7.045414603125002e-03 7.035505845669364e-03 7.025598461448587e-03 + 7.015692466009597e-03 7.005787894887785e-03 6.995884771371198e-03 6.985983107977662e-03 6.976082925249031e-03 + 6.966184246523457e-03 6.956287093797063e-03 6.946391479271966e-03 6.936497425652844e-03 6.926604968509339e-03 + 6.916714124366364e-03 6.906824907731460e-03 6.896937340931554e-03 6.887051448149962e-03 6.877167248699087e-03 + 6.867284753979424e-03 6.857403994050719e-03 6.847525000658012e-03 6.837647785670592e-03 6.827772367409923e-03 + 6.817898770109592e-03 6.808027016717447e-03 6.798157122708669e-03 6.788289103240300e-03 6.778422992931511e-03 + 6.768558816798320e-03 6.758696587557012e-03 6.748836325648165e-03 6.738978054348659e-03 6.729121795949092e-03 + 6.719267563927435e-03 6.709415379633438e-03 6.699565278400954e-03 6.689717278120727e-03 6.679871393303892e-03 + 6.670027647355804e-03 6.660186063525513e-03 6.650346660981845e-03 6.640509452367944e-03 6.630674466396449e-03 + 6.620841735868644e-03 6.611011273308148e-03 6.601183096392477e-03 6.591357229649247e-03 6.581533696087914e-03 + 6.571712512145987e-03 6.561893692372858e-03 6.552077270290561e-03 6.542263272668194e-03 6.532451712617284e-03 + 6.522642609933696e-03 6.512835987879551e-03 6.503031869590782e-03 6.493230268870023e-03 6.483431205156500e-03 + 6.473634714105858e-03 6.463840816056773e-03 6.454049525191551e-03 6.444260863046832e-03 6.434474853362258e-03 + 6.424691517208967e-03 6.414910866799055e-03 6.405132928351729e-03 6.395357735592168e-03 6.385585303753894e-03 + 6.375815649717760e-03 6.366048796411005e-03 6.356284767471845e-03 6.346523580477974e-03 6.336765248927921e-03 + 6.327009805730009e-03 6.317257279178600e-03 6.307507681412946e-03 6.297761032647583e-03 6.288017356862164e-03 + 6.278276676438099e-03 6.268539005625230e-03 6.258804362658888e-03 6.249072783406197e-03 6.239344289504087e-03 + 6.229618894349891e-03 6.219896619699197e-03 6.210177489065160e-03 6.200461523673893e-03 6.190748736475173e-03 + 6.181039151999554e-03 6.171332804226705e-03 6.161629709556120e-03 6.151929884103313e-03 6.142233350147177e-03 + 6.132540131644584e-03 6.122850247356021e-03 6.113163710170625e-03 6.103480551213418e-03 6.093800800141988e-03 + 6.084124469547710e-03 6.074451578566364e-03 6.064782150905211e-03 6.055116209626953e-03 6.045453769994722e-03 + 6.035794848740185e-03 6.026139480474754e-03 6.016487688229946e-03 6.006839485237500e-03 5.997194892776407e-03 + 5.987553934341584e-03 5.977916631713333e-03 5.968282997802390e-03 5.958653055343909e-03 5.949026838944569e-03 + 5.939404365780911e-03 5.929785651209331e-03 5.920170717549854e-03 5.910559587858684e-03 5.900952281370824e-03 + 5.891348811852907e-03 5.881749208142844e-03 5.872153500225121e-03 5.862561701850070e-03 5.852973831530551e-03 + 5.843389912374926e-03 5.833809966833203e-03 5.824234011006907e-03 5.814662060999971e-03 5.805094150375409e-03 + 5.795530303292347e-03 5.785970532524381e-03 5.776414859211175e-03 5.766863306294991e-03 5.757315894674337e-03 + 5.747772638659374e-03 5.738233559732430e-03 5.728698691311226e-03 5.719168051719483e-03 5.709641656042984e-03 + 5.700119526414031e-03 5.690601685377130e-03 5.681088152168133e-03 5.671578940158426e-03 5.662074076665564e-03 + 5.652573592801510e-03 5.643077502877857e-03 5.633585823810169e-03 5.624098577633230e-03 5.614615788052954e-03 + 5.605137471831965e-03 5.595663642810052e-03 5.586194333773162e-03 5.576729570469775e-03 5.567269364923084e-03 + 5.557813736696195e-03 5.548362708847973e-03 5.538916303890826e-03 5.529474534822445e-03 5.520037420561356e-03 + 5.510604996543656e-03 5.501177281279281e-03 5.491754287530179e-03 5.482336037985177e-03 5.472922555453679e-03 + 5.463513859119052e-03 5.454109961206277e-03 5.444710887376439e-03 5.435316669896643e-03 5.425927322428118e-03 + 5.416542861379438e-03 5.407163309793553e-03 5.397788689388935e-03 5.388419016905312e-03 5.379054306533677e-03 + 5.369694588817857e-03 5.360339890208465e-03 5.350990223294556e-03 5.341645606645782e-03 5.332306062415535e-03 + 5.322971612709802e-03 5.313642271564683e-03 5.304318056285795e-03 5.294999000250198e-03 5.285685123732157e-03 + 5.276376439554206e-03 5.267072968338082e-03 5.257774732353860e-03 5.248481751732874e-03 5.239194038865901e-03 + 5.229911616755654e-03 5.220634516968343e-03 5.211362754853240e-03 5.202096346092698e-03 5.192835312362628e-03 + 5.183579674966123e-03 5.174329450821569e-03 5.165084652994387e-03 5.155845310548846e-03 5.146611450951191e-03 + 5.137383086378589e-03 5.128160234647254e-03 5.118942917508807e-03 5.109731156137037e-03 5.100524965000140e-03 + 5.091324360054826e-03 5.082129373049942e-03 5.072940025255639e-03 5.063756329149303e-03 5.054578304260502e-03 + 5.045405972366202e-03 5.036239353680495e-03 5.027078459118392e-03 5.017923310123222e-03 5.008773940483098e-03 + 4.999630364315774e-03 4.990492594829337e-03 4.981360654331298e-03 4.972234563790402e-03 4.963114339923834e-03 + 4.953999995020500e-03 4.944891556281875e-03 4.935789051765770e-03 4.926692493194353e-03 4.917601897109304e-03 + 4.908517284729773e-03 4.899438676825864e-03 4.890366088012707e-03 4.881299532722441e-03 4.872239041569468e-03 + 4.863184636415129e-03 4.854136328649667e-03 4.845094137498133e-03 4.836058083872883e-03 4.827028186746977e-03 + 4.818004458681770e-03 4.808986918914880e-03 4.799975597861264e-03 4.790970512088721e-03 4.781971675128856e-03 + 4.772979106768043e-03 4.763992827229902e-03 4.755012853632298e-03 4.746039197549013e-03 4.737071883993436e-03 + 4.728110941197518e-03 4.719156380399636e-03 4.710208217424537e-03 4.701266473663848e-03 4.692331168251817e-03 + 4.683402315353613e-03 4.674479928383867e-03 4.665564036556664e-03 4.656654662394768e-03 4.647751816371710e-03 + 4.638855516650367e-03 4.629965783672686e-03 4.621082635909843e-03 4.612206084994354e-03 4.603336148102954e-03 + 4.594472856159325e-03 4.585616225744373e-03 4.576766268345947e-03 4.567923003199363e-03 4.559086450091263e-03 + 4.550256626033265e-03 4.541433541986122e-03 4.532617220194613e-03 4.523807688535670e-03 4.515004959722835e-03 + 4.506209047920159e-03 4.497419972185719e-03 4.488637751873642e-03 4.479862401381760e-03 4.471093932025212e-03 + 4.462332371280023e-03 4.453577742726973e-03 4.444830056583276e-03 4.436089328917552e-03 4.427355578888171e-03 + 4.418628824988929e-03 4.409909078668640e-03 4.401196354933857e-03 4.392490684030716e-03 4.383792083151365e-03 + 4.375100562120779e-03 4.366416138313078e-03 4.357738831525952e-03 4.349068659591380e-03 4.340405630957790e-03 + 4.331749765364269e-03 4.323101091949651e-03 4.314459623208851e-03 4.305825371349630e-03 4.297198354190413e-03 + 4.288578590720092e-03 4.279966095343473e-03 4.271360877578565e-03 4.262762963097229e-03 4.254172376200769e-03 + 4.245589126222103e-03 4.237013227440267e-03 4.228444697962537e-03 4.219883556022182e-03 4.211329813254019e-03 + 4.202783482548908e-03 4.194244591796649e-03 4.185713159116739e-03 4.177189194188086e-03 4.168672712320958e-03 + 4.160163731860882e-03 4.151662270610665e-03 4.143168336754119e-03 4.134681947397693e-03 4.126203130809124e-03 + 4.117731899759874e-03 4.109268265260960e-03 4.100812244167818e-03 4.092363854125291e-03 4.083923109325604e-03 + 4.075490018959178e-03 4.067064605609816e-03 4.058646892914489e-03 4.050236890474988e-03 4.041834611549669e-03 + 4.033440073099425e-03 4.025053291802670e-03 4.016674279190388e-03 4.008303046950822e-03 3.999939621219669e-03 + 3.991584019864232e-03 3.983236251035503e-03 3.974896329846703e-03 3.966564273682151e-03 3.958240098637734e-03 + 3.949923812376889e-03 3.941615430268695e-03 3.933314980874398e-03 3.925022475755094e-03 3.916737923312982e-03 + 3.908461340476090e-03 3.900192744628528e-03 3.891932149238224e-03 3.883679560814138e-03 3.875435000263637e-03 + 3.867198492508630e-03 3.858970045729460e-03 3.850749670926077e-03 3.842537384120139e-03 3.834333202377867e-03 + 3.826137136626801e-03 3.817949195349815e-03 3.809769403427763e-03 3.801597779587331e-03 3.793434330750140e-03 + 3.785279069923421e-03 3.777132013373491e-03 3.768993177352847e-03 3.760862568898475e-03 3.752740200334732e-03 + 3.744626099044159e-03 3.736520277340854e-03 3.728422742215669e-03 3.720333508785603e-03 3.712252593018920e-03 + 3.704180008090329e-03 3.696115760631814e-03 3.688059868276574e-03 3.680012354362612e-03 3.671973228138760e-03 + 3.663942499526064e-03 3.655920182566113e-03 3.647906292785413e-03 3.639900840938008e-03 3.631903834337251e-03 + 3.623915295229000e-03 3.615935242250758e-03 3.607963681828620e-03 3.600000626081414e-03 3.592046089865790e-03 + 3.584100087061132e-03 3.576162625323692e-03 3.568233715505030e-03 3.560313381862740e-03 3.552401637255495e-03 + 3.544498488187401e-03 3.536603947761108e-03 3.528718030587010e-03 3.520840749407267e-03 3.512972109975055e-03 + 3.505112127471606e-03 3.497260824593953e-03 3.489418209893856e-03 3.481584291815555e-03 3.473759083632174e-03 + 3.465942599385497e-03 3.458134849136788e-03 3.450335838875430e-03 3.442545588595099e-03 3.434764116831954e-03 + 3.426991428902786e-03 3.419227535146918e-03 3.411472449427477e-03 3.403726185233638e-03 3.395988749408295e-03 + 3.388260149964055e-03 3.380540409506120e-03 3.372829541439428e-03 3.365127551327278e-03 3.357434450344299e-03 + 3.349750251864305e-03 3.342074968176267e-03 3.334408603200120e-03 3.326751169911567e-03 3.319102691777129e-03 + 3.311463175183513e-03 3.303832626198486e-03 3.296211059114474e-03 3.288598486024217e-03 3.280994915398627e-03 + 3.273400352769854e-03 3.265814815709593e-03 3.258238322074859e-03 3.250670876135365e-03 3.243112486983179e-03 + 3.235563167624456e-03 3.228022929479646e-03 3.220491779361285e-03 3.212969724272006e-03 3.205456783570964e-03 + 3.197952970426890e-03 3.190458290104943e-03 3.182972751519780e-03 3.175496366385864e-03 3.168029146873250e-03 + 3.160571096621216e-03 3.153122225636278e-03 3.145682555500280e-03 3.138252093348739e-03 3.130830843615626e-03 + 3.123418817816768e-03 3.116016027518625e-03 3.108622481356378e-03 3.101238183229207e-03 3.093863147897005e-03 + 3.086497392737253e-03 3.079140921752824e-03 3.071793741871484e-03 3.064455864252268e-03 3.057127299904285e-03 + 3.049808055146270e-03 3.042498134791386e-03 3.035197556645182e-03 3.027906333235584e-03 3.020624467536793e-03 + 3.013351968343262e-03 3.006088846580162e-03 2.998835112089031e-03 2.991590768047797e-03 2.984355822285627e-03 + 2.977130294631421e-03 2.969914192263928e-03 2.962707518230782e-03 2.955510282832787e-03 2.948322496039390e-03 + 2.941144165204636e-03 2.933975293458325e-03 2.926815893073326e-03 2.919665980487675e-03 2.912525559332239e-03 + 2.905394635071103e-03 2.898273217656210e-03 2.891161316595433e-03 2.884058936906487e-03 2.876966081111658e-03 + 2.869882766189157e-03 2.862809005041444e-03 2.855744798230348e-03 2.848690153100023e-03 2.841645079496137e-03 + 2.834609585256340e-03 2.827583673848185e-03 2.820567351490293e-03 2.813560634590312e-03 2.806563530531927e-03 + 2.799576041999259e-03 2.792598177467573e-03 2.785629945309582e-03 2.778671351607254e-03 2.771722398039775e-03 + 2.764783095014263e-03 2.757853459091809e-03 2.750933492568204e-03 2.744023198517816e-03 2.737122585640385e-03 + 2.730231662189404e-03 2.723350432970404e-03 2.716478899800820e-03 2.709617075896625e-03 2.702764973241287e-03 + 2.695922593060963e-03 2.689089940152226e-03 2.682267022316270e-03 2.675453847914084e-03 2.668650418902243e-03 + 2.661856738145520e-03 2.655072822033232e-03 2.648298678030288e-03 2.641534306206961e-03 2.634779712258937e-03 + 2.628034904058933e-03 2.621299888635041e-03 2.614574665771587e-03 2.607859242632423e-03 2.601153634957146e-03 + 2.594457844452072e-03 2.587771872555374e-03 2.581095727373358e-03 2.574429415266960e-03 2.567772939497474e-03 + 2.561126300777387e-03 2.554489510835181e-03 2.547862581281132e-03 2.541245510713479e-03 2.534638303078699e-03 + 2.528040966193904e-03 2.521453505493298e-03 2.514875922225054e-03 2.508308218200437e-03 2.501750407164573e-03 + 2.495202496081871e-03 2.488664484118587e-03 2.482136376281468e-03 2.475618178705269e-03 2.469109895957427e-03 + 2.462611527825166e-03 2.456123079328407e-03 2.449644563898542e-03 2.443175984269443e-03 2.436717340526153e-03 + 2.430268636964234e-03 2.423829879853036e-03 2.417401073311931e-03 2.410982215756923e-03 2.404573315098301e-03 + 2.398174382071132e-03 2.391785416912405e-03 2.385406421217447e-03 2.379037399546287e-03 2.372678357701878e-03 + 2.366329296305038e-03 2.359990214012962e-03 2.353661123666590e-03 2.347342032379030e-03 2.341032936953993e-03 + 2.334733840455562e-03 2.328444748068140e-03 2.322165663885325e-03 2.315896586946297e-03 2.309637519733881e-03 + 2.303388473653537e-03 2.297149451184649e-03 2.290920451297887e-03 2.284701476927273e-03 2.278492533074980e-03 + 2.272293622898508e-03 2.266104742447669e-03 2.259925897918875e-03 2.253757100645447e-03 2.247598348619136e-03 + 2.241449641489242e-03 2.235310983406359e-03 2.229182378556762e-03 2.223063827011661e-03 2.216955326220785e-03 + 2.210856885615230e-03 2.204768511855369e-03 2.198690202073136e-03 2.192621957162963e-03 2.186563780523993e-03 + 2.180515675851768e-03 2.174477640514074e-03 2.168449674335647e-03 2.162431789038673e-03 2.156423986093689e-03 + 2.150426261719325e-03 2.144438618887063e-03 2.138461061015507e-03 2.132493589319895e-03 2.126536199820428e-03 + 2.120588896234097e-03 2.114651688169617e-03 2.108724573757348e-03 2.102807551461262e-03 2.096900623831682e-03 + 2.091003792760502e-03 2.085117057433877e-03 2.079240415028002e-03 2.073373872799373e-03 2.067517436442142e-03 + 2.061671101563673e-03 2.055834867994772e-03 2.050008738194652e-03 2.044192713868095e-03 2.038386792128391e-03 + 2.032590971333173e-03 2.026805260662020e-03 2.021029661329869e-03 2.015264168518725e-03 2.009508783500123e-03 + 2.003763508166370e-03 1.998028342654997e-03 1.992303282805534e-03 1.986588330078225e-03 1.980883492165770e-03 + 1.975188767039759e-03 1.969504151730439e-03 1.963829647004430e-03 1.958165254218237e-03 1.952510971963634e-03 + 1.946866794889960e-03 1.941232728159857e-03 1.935608777640074e-03 1.929994938329363e-03 1.924391207914093e-03 + 1.918797587114099e-03 1.913214077256622e-03 1.907640674795718e-03 1.902077375557082e-03 1.896524186430478e-03 + 1.890981108949087e-03 1.885448138032121e-03 1.879925272541809e-03 1.874412513138102e-03 1.868909859971047e-03 + 1.863417306389931e-03 1.857934851379391e-03 1.852462503653811e-03 1.847000259754348e-03 1.841548114039762e-03 + 1.836106066817225e-03 1.830674118529854e-03 1.825252266916765e-03 1.819840505202892e-03 1.814438836319749e-03 + 1.809047265638602e-03 1.803665787133681e-03 1.798294397101445e-03 1.792933095135866e-03 1.787581880369786e-03 + 1.782240749155103e-03 1.776909697172910e-03 1.771588728179710e-03 1.766277842767543e-03 1.760977035675204e-03 + 1.755686304337379e-03 1.750405647484752e-03 1.745135063548007e-03 1.739874546386865e-03 1.734624093589025e-03 + 1.729383711586370e-03 1.724153396315838e-03 1.718933140719367e-03 1.713722944309894e-03 1.708522806163372e-03 + 1.703332722978997e-03 1.698152687791741e-03 1.692982700783420e-03 1.687822765464940e-03 1.682672875794938e-03 + 1.677533027054054e-03 1.672403217813849e-03 1.667283446525115e-03 1.662173708173832e-03 1.657073995739192e-03 + 1.651984312946546e-03 1.646904660364047e-03 1.641835029387390e-03 1.636775416468660e-03 1.631725820220986e-03 + 1.626686238226539e-03 1.621656663682810e-03 1.616637091835148e-03 1.611627526662728e-03 1.606627964700548e-03 + 1.601638398623349e-03 1.596658825754688e-03 1.591689243408400e-03 1.586729647378206e-03 1.581780030725023e-03 + 1.576840391697073e-03 1.571910732264727e-03 1.566991046477593e-03 1.562081328242421e-03 1.557181574037859e-03 + 1.552291781114454e-03 1.547411944138861e-03 1.542542055154552e-03 1.537682115822498e-03 1.532832126356767e-03 + 1.527992077470792e-03 1.523161963747274e-03 1.518341782422417e-03 1.513531530571088e-03 1.508731200913292e-03 + 1.503940786876937e-03 1.499160290964809e-03 1.494389709200610e-03 1.489629032745148e-03 1.484878257820629e-03 + 1.480137381279299e-03 1.475406398389162e-03 1.470685299850305e-03 1.465974082141071e-03 1.461272748080975e-03 + 1.456581290224651e-03 1.451899700275850e-03 1.447227974089072e-03 1.442566108566721e-03 1.437914097994959e-03 + 1.433271932504185e-03 1.428639611034298e-03 1.424017133356480e-03 1.419404490680891e-03 1.414801676491448e-03 + 1.410208686553135e-03 1.405625516589791e-03 1.401052158609908e-03 1.396488604511052e-03 1.391934855472548e-03 + 1.387390907364871e-03 1.382856750165021e-03 1.378332378783991e-03 1.373817788890047e-03 1.369312974750468e-03 + 1.364817927255285e-03 1.360332641059443e-03 1.355857116711623e-03 1.351391347026849e-03 1.346935323100728e-03 + 1.342489039284644e-03 1.338052491255308e-03 1.333625672740901e-03 1.329208572800934e-03 1.324801188462658e-03 + 1.320403519143769e-03 1.316015555822497e-03 1.311637290544184e-03 1.307268717472159e-03 1.302909831116118e-03 + 1.298560623326278e-03 1.294221085253892e-03 1.289891216124110e-03 1.285571011566486e-03 1.281260461060531e-03 + 1.276959557618139e-03 1.272668295740209e-03 1.268386669608614e-03 1.264114669618853e-03 1.259852288349743e-03 + 1.255599524419093e-03 1.251356371085625e-03 1.247122819189722e-03 1.242898861265979e-03 1.238684491359706e-03 + 1.234479702756933e-03 1.230284484841117e-03 1.226098832748256e-03 1.221922744434409e-03 1.217756210326720e-03 + 1.213599221362577e-03 1.209451770765583e-03 1.205313852635065e-03 1.201185458480448e-03 1.197066577985755e-03 + 1.192957208640432e-03 1.188857345511447e-03 1.184766976969275e-03 1.180686095693037e-03 1.176614695732404e-03 + 1.172552769621902e-03 1.168500307042727e-03 1.164457299537124e-03 1.160423745213695e-03 1.156399636114517e-03 + 1.152384961360659e-03 1.148379714206853e-03 1.144383887440774e-03 1.140397472403066e-03 1.136420458871837e-03 + 1.132452840804467e-03 1.128494614815977e-03 1.124545770440235e-03 1.120606297984056e-03 1.116676190709075e-03 + 1.112755440623707e-03 1.108844038267568e-03 1.104941973598277e-03 1.101049242215234e-03 1.097165838523137e-03 + 1.093291750933755e-03 1.089426970747485e-03 1.085571490835547e-03 1.081725303225761e-03 1.077888396808512e-03 + 1.074060761522748e-03 1.070242395009795e-03 1.066433289590875e-03 1.062633433332422e-03 1.058842817553080e-03 + 1.055061434373011e-03 1.051289275348505e-03 1.047526329409495e-03 1.043772588486000e-03 1.040028047931513e-03 + 1.036292698203525e-03 1.032566529042292e-03 1.028849531681517e-03 1.025141697676040e-03 1.021443017315572e-03 + 1.017753479165712e-03 1.014073077446178e-03 1.010401806565697e-03 1.006739654876394e-03 1.003086612170896e-03 + 9.994426698862881e-04 9.958078198244436e-04 9.921820510029489e-04 9.885653522799815e-04 9.849577193159157e-04 + 9.813591440739670e-04 9.777696142556011e-04 9.741891204675346e-04 9.706176542328248e-04 9.670552065524777e-04 + 9.635017651512704e-04 9.599573207794398e-04 9.564218691437683e-04 9.528953995809905e-04 9.493779002331982e-04 + 9.458693621672339e-04 9.423697766254766e-04 9.388791334439822e-04 9.353974200435674e-04 9.319246293443443e-04 + 9.284607555133966e-04 9.250057861419034e-04 9.215597102726345e-04 9.181225189615299e-04 9.146942031524666e-04 + 9.112747514066988e-04 9.078641516289516e-04 9.044623983719834e-04 9.010694834242857e-04 8.976853937790154e-04 + 8.943101192935385e-04 8.909436508104612e-04 8.875859786393426e-04 8.842370902316334e-04 8.808969751654204e-04 + 8.775656281905130e-04 8.742430385918343e-04 8.709291937982416e-04 8.676240840155020e-04 8.643276998573467e-04 + 8.610400308208924e-04 8.577610636611962e-04 8.544907899714905e-04 8.512292035626933e-04 8.479762917886125e-04 + 8.447320428739457e-04 8.414964471843920e-04 8.382694949325988e-04 8.350511744137459e-04 8.318414728923707e-04 + 8.286403836395943e-04 8.254478982373706e-04 8.222640032931049e-04 8.190886878204532e-04 8.159219419987107e-04 + 8.127637556794064e-04 8.096141160179775e-04 8.064730115089579e-04 8.033404360997527e-04 8.002163789609624e-04 + 7.971008268111541e-04 7.939937692507287e-04 7.908951962853333e-04 7.878050969946667e-04 7.847234577702081e-04 + 7.816502689905088e-04 7.785855239466778e-04 7.755292098590464e-04 7.724813142232633e-04 7.694418267842021e-04 + 7.664107372089749e-04 7.633880335334087e-04 7.603737023812342e-04 7.573677358642847e-04 7.543701253849379e-04 + 7.513808572285544e-04 7.483999196962093e-04 7.454273024026923e-04 7.424629947358947e-04 7.395069836664074e-04 + 7.365592567622367e-04 7.336198070174806e-04 7.306886236388442e-04 7.277656929130117e-04 7.248510036837761e-04 + 7.219445453636994e-04 7.190463067357669e-04 7.161562739946586e-04 7.132744364309508e-04 7.104007867132190e-04 + 7.075353120392018e-04 7.046779992824802e-04 7.018288375861283e-04 6.989878161882759e-04 6.961549229362052e-04 + 6.933301438820412e-04 6.905134700383686e-04 6.877048926511914e-04 6.849043978549774e-04 6.821119732944710e-04 + 6.793276080246700e-04 6.765512910034699e-04 6.737830090783149e-04 6.710227490756584e-04 6.682705030776122e-04 + 6.655262603091742e-04 6.627900067379164e-04 6.600617305924390e-04 6.573414207627890e-04 6.546290656955580e-04 + 6.519246513982958e-04 6.492281662548372e-04 6.465396024423735e-04 6.438589471596415e-04 6.411861867028291e-04 + 6.385213096762252e-04 6.358643049114898e-04 6.332151601148890e-04 6.305738609661260e-04 6.279403974635571e-04 + 6.253147606410383e-04 6.226969365620930e-04 6.200869123319087e-04 6.174846765257772e-04 6.148902176504979e-04 + 6.123035224628875e-04 6.097245772740803e-04 6.071533733723410e-04 6.045898999580564e-04 6.020341426510520e-04 + 5.994860891934145e-04 5.969457280748620e-04 5.944130474177512e-04 5.918880332091087e-04 5.893706730594447e-04 + 5.868609584534629e-04 5.843588766665737e-04 5.818644136544619e-04 5.793775576682911e-04 5.768982970317317e-04 + 5.744266191686133e-04 5.719625097277512e-04 5.695059578510202e-04 5.670569542308351e-04 5.646154849082753e-04 + 5.621815365284883e-04 5.597550972743215e-04 5.573361553519681e-04 5.549246974872960e-04 5.525207095632259e-04 + 5.501241820142805e-04 5.477351040267441e-04 5.453534610951853e-04 5.429792405131840e-04 5.406124304314462e-04 + 5.382530187447214e-04 5.359009913605971e-04 5.335563351904396e-04 5.312190411682156e-04 5.288890968140364e-04 + 5.265664878332606e-04 5.242512018091515e-04 5.219432267978740e-04 5.196425502978362e-04 5.173491576918976e-04 + 5.150630373381158e-04 5.127841797796618e-04 5.105125710953982e-04 5.082481974966798e-04 5.059910467933278e-04 + 5.037411069671739e-04 5.014983647643853e-04 4.992628057533249e-04 4.970344196034297e-04 4.948131954905409e-04 + 4.925991188614672e-04 4.903921766298550e-04 4.881923566574878e-04 4.859996466359864e-04 4.838140324815327e-04 + 4.816355005995136e-04 4.794640414647377e-04 4.772996426854546e-04 4.751422896755638e-04 4.729919697488023e-04 + 4.708486707166207e-04 4.687123799720691e-04 4.665830828962369e-04 4.644607671738101e-04 4.623454230212830e-04 + 4.602370366779194e-04 4.581355941018685e-04 4.560410828358216e-04 4.539534906171381e-04 4.518728041821612e-04 + 4.497990089033435e-04 4.477320938149108e-04 4.456720481170030e-04 4.436188572707195e-04 4.415725078895158e-04 + 4.395329875976124e-04 4.375002838422590e-04 4.354743826722610e-04 4.334552702201095e-04 4.314429363226086e-04 + 4.294373687059989e-04 4.274385527576286e-04 4.254464755700176e-04 4.234611247199864e-04 4.214824874479911e-04 + 4.195105492176435e-04 4.175452972239935e-04 4.155867214135851e-04 4.136348082067204e-04 4.116895433467350e-04 + 4.097509141339746e-04 4.078189081189173e-04 4.058935120995524e-04 4.039747114386321e-04 4.020624945699733e-04 + 4.001568506324645e-04 3.982577652062802e-04 3.963652246433777e-04 3.944792163840573e-04 3.925997278951708e-04 + 3.907267452820787e-04 3.888602542761684e-04 3.870002443827855e-04 3.851467035420477e-04 3.832996170232135e-04 + 3.814589716941001e-04 3.796247550166885e-04 3.777969542187427e-04 3.759755548771444e-04 3.741605437648361e-04 + 3.723519105456335e-04 3.705496418343326e-04 3.687537232626712e-04 3.669641420580878e-04 3.651808856652343e-04 + 3.634039408935104e-04 3.616332930379869e-04 3.598689301103073e-04 3.581108413327368e-04 3.563590123412032e-04 + 3.546134293224166e-04 3.528740796868620e-04 3.511409507353364e-04 3.494140287293094e-04 3.476932993968030e-04 + 3.459787517007610e-04 3.442703736842207e-04 3.425681507579447e-04 3.408720696736798e-04 3.391821178070990e-04 + 3.374982823340253e-04 3.358205489790399e-04 3.341489042294683e-04 3.324833375391577e-04 3.308238358267097e-04 + 3.291703846864138e-04 3.275229711235071e-04 3.258815824857735e-04 3.242462057388915e-04 3.226168264116891e-04 + 3.209934320343741e-04 3.193760116170641e-04 3.177645512713499e-04 3.161590371207419e-04 3.145594562690266e-04 + 3.129657961319975e-04 3.113780432227079e-04 3.097961831114660e-04 3.082202043645004e-04 3.066500952444524e-04 + 3.050858414009347e-04 3.035274294402161e-04 3.019748466354355e-04 3.004280802320956e-04 2.988871162192853e-04 + 2.973519409077311e-04 2.958225434173786e-04 2.942989109163873e-04 2.927810290941792e-04 2.912688849504159e-04 + 2.897624658129895e-04 2.882617587216531e-04 2.867667493909568e-04 2.852774250910157e-04 2.837937747837379e-04 + 2.823157848000407e-04 2.808434412718301e-04 2.793767313619733e-04 2.779156424588856e-04 2.764601612241833e-04 + 2.750102732798498e-04 2.735659669757869e-04 2.721272307826111e-04 2.706940504177620e-04 2.692664125118005e-04 + 2.678443044384447e-04 2.664277133531666e-04 2.650166254907073e-04 2.636110271946842e-04 2.622109073508727e-04 + 2.608162534146021e-04 2.594270512444905e-04 2.580432877716125e-04 2.566649503351083e-04 2.552920261463284e-04 + 2.539245011192165e-04 2.525623623480746e-04 2.512055988243127e-04 2.498541971146173e-04 2.485081433825346e-04 + 2.471674249383843e-04 2.458320291468696e-04 2.445019428356345e-04 2.431771519464020e-04 2.418576445147758e-04 + 2.405434090455539e-04 2.392344316436903e-04 2.379306989304936e-04 2.366321982706708e-04 2.353389171046539e-04 + 2.340508418959193e-04 2.327679588365217e-04 2.314902568213100e-04 2.302177235947735e-04 2.289503450019842e-04 + 2.276881081822984e-04 2.264310006278554e-04 2.251790095285085e-04 2.239321211178975e-04 2.226903224828012e-04 + 2.214536025966827e-04 2.202219483393713e-04 2.189953459440866e-04 2.177737827672056e-04 2.165572463172210e-04 + 2.153457236927424e-04 2.141392010208329e-04 2.129376661694288e-04 2.117411078009580e-04 2.105495123800498e-04 + 2.093628666254358e-04 2.081811579562958e-04 2.070043738711933e-04 2.058325011765904e-04 2.046655262979033e-04 + 2.035034378928387e-04 2.023462239716796e-04 2.011938707312936e-04 2.000463653117907e-04 1.989036953143001e-04 + 1.977658482429478e-04 1.966328105707422e-04 1.955045692837424e-04 1.943811134060168e-04 1.932624302421221e-04 + 1.921485062157297e-04 1.910393287336514e-04 1.899348854684124e-04 1.888351638115297e-04 1.877401500482506e-04 + 1.866498319949601e-04 1.855641985831636e-04 1.844832365124926e-04 1.834069326310023e-04 1.823352746298841e-04 + 1.812682501147551e-04 1.802058461455679e-04 1.791480493724017e-04 1.780948483852737e-04 1.770462314872484e-04 + 1.760021851824818e-04 1.749626967491274e-04 1.739277539439587e-04 1.728973444305181e-04 1.718714550470096e-04 + 1.708500728855944e-04 1.698331869571933e-04 1.688207849549946e-04 1.678128535713188e-04 1.668093803524777e-04 + 1.658103531111011e-04 1.648157594964937e-04 1.638255861976382e-04 1.628398210066413e-04 1.618584529166454e-04 + 1.608814690931768e-04 1.599088565742865e-04 1.589406031206167e-04 1.579766966509897e-04 1.570171246224424e-04 + 1.560618738321770e-04 1.551109328208930e-04 1.541642902068764e-04 1.532219328717612e-04 1.522838482661923e-04 + 1.513500243337891e-04 1.504204489591066e-04 1.494951093483970e-04 1.485739927662749e-04 1.476570882997282e-04 + 1.467443839796364e-04 1.458358667202351e-04 1.449315243896633e-04 1.440313449862068e-04 1.431353162531848e-04 + 1.422434254066872e-04 1.413556604013758e-04 1.404720102486319e-04 1.395924625558734e-04 1.387170046489957e-04 + 1.378456244430427e-04 1.369783100559194e-04 1.361150493062282e-04 1.352558293490397e-04 1.344006387024136e-04 + 1.335494662293593e-04 1.327022993333140e-04 1.318591256583063e-04 1.310199332689028e-04 1.301847103692820e-04 + 1.293534446013900e-04 1.285261234477974e-04 1.277027359881715e-04 1.268832706365997e-04 1.260677147052468e-04 + 1.252560562359565e-04 1.244482834803957e-04 1.236443845356053e-04 1.228443469528238e-04 1.220481588198588e-04 + 1.212558093699401e-04 1.204672865809282e-04 1.196825780471873e-04 1.189016720308052e-04 1.181245568536085e-04 + 1.173512205995857e-04 1.165816508484800e-04 1.158158362776897e-04 1.150537660210759e-04 1.142954277590100e-04 + 1.135408094568152e-04 1.127898995954114e-04 1.120426864956402e-04 1.112991581353023e-04 1.105593024093304e-04 + 1.098231085283700e-04 1.090905652465313e-04 1.083616601800625e-04 1.076363816399760e-04 1.069147182196831e-04 + 1.061966583782502e-04 1.054821899944032e-04 1.047713013150353e-04 1.040639818640637e-04 1.033602200082437e-04 + 1.026600035826387e-04 1.019633211976323e-04 1.012701615275282e-04 1.005805130149820e-04 9.989436355203399e-05 + 9.921170194739147e-05 9.853251765411631e-05 9.785679881782247e-05 9.718453366352614e-05 9.651571091087277e-05 + 9.585031930594751e-05 9.518834724915350e-05 9.452978284703146e-05 9.387461543789448e-05 9.322283420353250e-05 + 9.257442723618249e-05 9.192938310286574e-05 9.128769066247626e-05 9.064933872161225e-05 9.001431561187756e-05 + 8.938260983500139e-05 8.875421104519957e-05 8.812910809646098e-05 8.750728925694059e-05 8.688874335824857e-05 + 8.627345936363417e-05 8.566142611724158e-05 8.505263195150667e-05 8.444706587898619e-05 8.384471762172232e-05 + 8.324557578035348e-05 8.264962891132210e-05 8.205686604727953e-05 8.146727626544971e-05 8.088084838175318e-05 + 8.029757088191735e-05 7.971743327705584e-05 7.914042512047892e-05 7.856653495630607e-05 7.799575166346450e-05 + 7.742806441871695e-05 7.686346239245813e-05 7.630193435494130e-05 7.574346911053080e-05 7.518805653837606e-05 + 7.463568593117825e-05 7.408634594826592e-05 7.354002575090044e-05 7.299671464423979e-05 7.245640185167563e-05 + 7.191907614532941e-05 7.138472679150608e-05 7.085334380230530e-05 7.032491623916224e-05 6.979943301854977e-05 + 6.927688351841825e-05 6.875725716877753e-05 6.824054320182008e-05 6.772673050550591e-05 6.721580881996242e-05 + 6.670776807704407e-05 6.620259726868480e-05 6.570028562031883e-05 6.520082266140781e-05 6.470419793220322e-05 + 6.421040064958054e-05 6.371941996817583e-05 6.323124601185380e-05 6.274586851226631e-05 6.226327655003573e-05 + 6.178345963615301e-05 6.130640743984757e-05 6.083210957777482e-05 6.036055527561582e-05 5.989173409263222e-05 + 5.942563633391719e-05 5.896225154191688e-05 5.850156903007261e-05 5.804357852627766e-05 5.758826983099529e-05 + 5.713563260712647e-05 5.668565617514362e-05 5.623833053838233e-05 5.579364600051564e-05 5.535159201768813e-05 + 5.491215819134343e-05 5.447533442712218e-05 5.404111064124177e-05 5.360947650466450e-05 5.318042157160001e-05 + 5.275393622516995e-05 5.233001062811153e-05 5.190863431238880e-05 5.148979716458554e-05 5.107348923404401e-05 + 5.065970053025621e-05 5.024842074849432e-05 4.983963979263951e-05 4.943334827635427e-05 4.902953621108006e-05 + 4.862819332553702e-05 4.822930973793706e-05 4.783287562882953e-05 4.743888107972067e-05 4.704731588033618e-05 + 4.665817033540254e-05 4.627143510842172e-05 4.588710014690383e-05 4.550515545082771e-05 4.512559130332447e-05 + 4.474839802715817e-05 4.437356575264515e-05 4.400108444300858e-05 4.363094478314062e-05 4.326313737450849e-05 + 4.289765220307346e-05 4.253447954450777e-05 4.217360984935306e-05 4.181503354031293e-05 4.145874078526325e-05 + 4.110472186234567e-05 4.075296770939578e-05 4.040346881442376e-05 4.005621534517384e-05 3.971119780891244e-05 + 3.936840678851008e-05 3.902783280379881e-05 3.868946611492773e-05 3.835329736378580e-05 3.801931758461789e-05 + 3.768751721520911e-05 3.735788667634669e-05 3.703041665089796e-05 3.670509786268472e-05 3.638192090588934e-05 + 3.606087620758478e-05 3.574195476070656e-05 3.542514758568229e-05 3.511044516462031e-05 3.479783817623805e-05 + 3.448731747191980e-05 3.417887390941621e-05 3.387249813623169e-05 3.356818082938366e-05 3.326591326488256e-05 + 3.296568640239042e-05 3.266749086476883e-05 3.237131756688427e-05 3.207715751232477e-05 3.178500166911470e-05 + 3.149484077201404e-05 3.120666582870710e-05 3.092046825328168e-05 3.063623897047349e-05 3.035396883732847e-05 + 3.007364895961203e-05 2.979527048619034e-05 2.951882447255356e-05 2.924430180184470e-05 2.897169381596313e-05 + 2.870099196601076e-05 2.843218722351712e-05 2.816527069305565e-05 2.790023364581556e-05 2.763706736588794e-05 + 2.737576298520704e-05 2.711631161938774e-05 2.685870489191871e-05 2.660293422952212e-05 2.634899073350601e-05 + 2.609686574272242e-05 2.584655068622352e-05 2.559803697386157e-05 2.535131582907573e-05 2.510637865851451e-05 + 2.486321726016628e-05 2.462182305120829e-05 2.438218734168926e-05 2.414430166313400e-05 2.390815760058303e-05 + 2.367374667612129e-05 2.344106023464476e-05 2.321008999935892e-05 2.298082786356460e-05 2.275326527748312e-05 + 2.252739378233606e-05 2.230320509258137e-05 2.208069093512809e-05 2.185984291941186e-05 2.164065260635458e-05 + 2.142311199522572e-05 2.120721298028661e-05 2.099294714303281e-05 2.078030625998752e-05 2.056928220029127e-05 + 2.035986682231265e-05 2.015205183896797e-05 1.994582907956633e-05 1.974119073954575e-05 1.953812872162773e-05 + 1.933663479825456e-05 1.913670094979531e-05 1.893831919578259e-05 1.874148151575467e-05 1.854617976080873e-05 + 1.835240605058427e-05 1.816015268982217e-05 1.796941162992672e-05 1.778017486956627e-05 1.759243456762222e-05 + 1.740618289118282e-05 1.722141193137039e-05 1.703811372777776e-05 1.685628066375182e-05 1.667590509374455e-05 + 1.649697910104339e-05 1.631949489857415e-05 1.614344479286407e-05 1.596882111103627e-05 1.579561606259506e-05 + 1.562382191518076e-05 1.545343126338709e-05 1.528443649706141e-05 1.511682986511545e-05 1.495060379262073e-05 + 1.478575075387210e-05 1.462226320346460e-05 1.446013347627832e-05 1.429935410828208e-05 1.413991783947596e-05 + 1.398181711799591e-05 1.382504440087988e-05 1.366959229690567e-05 1.351545344207288e-05 1.336262041089977e-05 + 1.321108569966174e-05 1.306084210743495e-05 1.291188246012095e-05 1.276419932540445e-05 1.261778537439798e-05 + 1.247263337350260e-05 1.232873611168182e-05 1.218608628547451e-05 1.204467661277090e-05 1.190450010670460e-05 + 1.176554964839514e-05 1.162781797531038e-05 1.149129796332477e-05 1.135598253898601e-05 1.122186462622714e-05 + 1.108893706038782e-05 1.095719281332111e-05 1.082662505098182e-05 1.069722672643097e-05 1.056899077370047e-05 + 1.044191025341683e-05 1.031597825830204e-05 1.019118784797653e-05 1.006753201372614e-05 9.945003972957807e-06 + 9.823597003224701e-06 9.703304169766936e-06 9.584118614966616e-06 9.466033570975281e-06 9.349042284940899e-06 + 9.233137946012443e-06 9.118313747892748e-06 9.004563126071509e-06 8.891879438415634e-06 8.780255908737012e-06 + 8.669685879934477e-06 8.560162746518096e-06 8.451679906731882e-06 8.344230688978416e-06 8.237808513777729e-06 + 8.132406985376577e-06 8.028019552616531e-06 7.924639629701503e-06 7.822260741691212e-06 7.720876445763237e-06 + 7.620480284148957e-06 7.521065743540658e-06 7.422626477381218e-06 7.325156218634066e-06 7.228648532638821e-06 + 7.133097034958690e-06 7.038495423985100e-06 6.944837416133499e-06 6.852116691729515e-06 6.760326924607246e-06 + 6.669461983453847e-06 6.579515704432944e-06 6.490481806747385e-06 6.402354101863004e-06 6.315126452251840e-06 + 6.228792731669073e-06 6.143346764859859e-06 6.058782435540508e-06 5.975093791198315e-06 5.892274772590937e-06 + 5.810319279027480e-06 5.729221306547671e-06 5.648974882411472e-06 5.569574030477156e-06 5.491012732167998e-06 + 5.413285091010444e-06 5.336385298912571e-06 5.260307420244722e-06 5.185045547999291e-06 5.110593849728286e-06 + 5.036946516955677e-06 4.964097720721464e-06 4.892041619202182e-06 4.820772525961763e-06 4.750284753859853e-06 + 4.680572517390150e-06 4.611630102585562e-06 4.543451844884654e-06 4.476032095169469e-06 4.409365173309600e-06 + 4.343445435493855e-06 4.278267378107974e-06 4.213825432046252e-06 4.150113986510229e-06 4.087127510654963e-06 + 4.024860505544460e-06 3.963307478207591e-06 3.902462905546128e-06 3.842321351732513e-06 3.782877469285005e-06 + 3.724125818875267e-06 3.666060976275786e-06 3.608677584308628e-06 3.551970310325800e-06 3.495933813913828e-06 + 3.440562742860537e-06 3.385851865026623e-06 3.331795968547279e-06 3.278389763636986e-06 3.225628015585682e-06 + 3.173505536483180e-06 3.122017155106099e-06 3.071157684657154e-06 3.020921961442045e-06 2.971304937503200e-06 + 2.922301530764381e-06 2.873906622400171e-06 2.826115159163556e-06 2.778922119160790e-06 2.732322492500433e-06 + 2.686311250918327e-06 2.640883427466542e-06 2.596034137909800e-06 2.551758437600915e-06 2.508051388712647e-06 + 2.464908112415978e-06 2.422323753722291e-06 2.380293459852445e-06 2.338812372063220e-06 2.297875719562253e-06 + 2.257478763762930e-06 2.217616712073996e-06 2.178284811840686e-06 2.139478353112250e-06 2.101192645402220e-06 + 2.063422994293474e-06 2.026164721213360e-06 1.989413239181793e-06 1.953163950788084e-06 1.917412231009713e-06 + 1.882153506609316e-06 1.847383234461138e-06 1.813096887995954e-06 1.779289933937322e-06 1.745957881749227e-06 + 1.713096313387221e-06 1.680700776153704e-06 1.648766820412035e-06 1.617290047665242e-06 1.586266083282953e-06 + 1.555690561349229e-06 1.525559115412809e-06 1.495867444877275e-06 1.466611286844381e-06 1.437786342321971e-06 + 1.409388342689011e-06 1.381413059137875e-06 1.353856283643994e-06 1.326713811980504e-06 1.299981452903499e-06 + 1.273655087535907e-06 1.247730601634883e-06 1.222203862466376e-06 1.197070780161529e-06 1.172327293218336e-06 + 1.147969358200551e-06 1.123992934949297e-06 1.100394014305713e-06 1.077168647815731e-06 1.054312872343777e-06 + 1.031822727943270e-06 1.009694299029158e-06 9.879236928228051e-07 9.665070295488333e-07 9.454404356909418e-07 + 9.247200854784831e-07 9.043421911847067e-07 8.843029477247774e-07 8.645985728173436e-07 8.452253193362285e-07 + 8.261794626052351e-07 8.074572875932502e-07 7.890550921071068e-07 7.709692301619030e-07 7.531960701353248e-07 + 7.357319715620587e-07 7.185733287203112e-07 7.017165630618881e-07 6.851581162834306e-07 6.688944388625421e-07 + 6.529220052598067e-07 6.372373411274385e-07 6.218369717692920e-07 6.067174274527125e-07 5.918752755194360e-07 + 5.773071063798692e-07 5.630095271034721e-07 5.489791556312369e-07 5.352126455394792e-07 5.217066864180125e-07 + 5.084579644193884e-07 4.954631845887763e-07 4.827190834887087e-07 4.702224204045173e-07 4.579699684713550e-07 + 4.459585154334098e-07 4.341848919935187e-07 4.226459485782965e-07 4.113385363883691e-07 4.002595352312233e-07 + 3.894058504065020e-07 3.787744086301839e-07 3.683621500987016e-07 3.581660355932383e-07 3.481830676805770e-07 + 3.384102581524441e-07 3.288446273745833e-07 3.194832275224818e-07 3.103231330843525e-07 3.013614373207315e-07 + 2.925952486098954e-07 2.840217031010630e-07 2.756379695267500e-07 2.674412234106971e-07 2.594286576386206e-07 + 2.515974937029081e-07 2.439449754383926e-07 2.364683632309526e-07 2.291649345383248e-07 2.220320002407473e-07 + 2.150668931442167e-07 2.082669548865648e-07 2.016295514473211e-07 1.951520727682157e-07 1.888319311586693e-07 + 1.826665552837694e-07 1.766533931743509e-07 1.707899271779558e-07 1.650736547045015e-07 1.595020857916059e-07 + 1.540727581256184e-07 1.487832309302349e-07 1.436310837043274e-07 1.386139140291348e-07 1.337293426531939e-07 + 1.289750194034745e-07 1.243486077550924e-07 1.198477884856861e-07 1.154702687444825e-07 1.112137774078364e-07 + 1.070760615754017e-07 1.030548878714015e-07 9.914804983102429e-08 9.535336319532080e-08 9.166865877274502e-08 + 8.809178921148019e-08 8.462062987184363e-08 8.125307865123530e-08 7.798705169188094e-08 7.482048486743137e-08 + 7.175134265372113e-08 6.877760756933380e-08 6.589727849023001e-08 6.310837918621049e-08 6.040895419177239e-08 + 5.779706919084610e-08 5.527080986023133e-08 5.282828275733461e-08 5.046762055622123e-08 4.818697371034567e-08 + 4.598451068334482e-08 4.385842456607357e-08 4.180692971968811e-08 3.982825980405518e-08 3.792066966127786e-08 + 3.608243718277188e-08 3.431186206040581e-08 3.260726312426322e-08 3.096697968233847e-08 2.938937298745983e-08 + 2.787282684203093e-08 2.641574418968914e-08 2.501654849393015e-08 2.367368813134603e-08 2.238563078881267e-08 + 2.115086344400587e-08 1.996789606940446e-08 1.883525886916157e-08 1.775150390948272e-08 1.671520402936120e-08 + 1.572495208680648e-08 1.477936511938296e-08 1.387707990026544e-08 1.301675220490221e-08 1.219706138041649e-08 + 1.141670750179082e-08 1.067441065312196e-08 9.968913113355902e-09 9.298978133402818e-09 8.663390331238368e-09 + 8.060955677291694e-09 7.490500025975069e-09 6.950870854385858e-09 6.440937996309972e-09 5.959590797852082e-09 + 5.505739944416565e-09 5.078318901633865e-09 4.676280806472903e-09 4.298600029449081e-09 3.944272776496124e-09 + 3.612315204086912e-09 3.301765808464261e-09 3.011683971683484e-09 2.741149022073358e-09 2.489263438950313e-09 + 2.255150010734707e-09 2.037951439802415e-09 1.836833426869985e-09 1.650981924522248e-09 1.479603458288696e-09 + 1.321927088896133e-09 1.177201927023745e-09 1.044698361371603e-09 9.237089042804517e-10 8.135457713165132e-10 + 7.135428727606122e-10 6.230561233086797e-10 5.414610837010692e-10 4.681552957722881e-10 4.025579739718386e-10 + 3.441080911031397e-10 2.922668865200973e-10 2.465167169238545e-10 2.063598966733955e-10 1.713213823559041e-10 + 1.409467301732644e-10 1.148017117805301e-10 9.247489436372923e-11 7.357503403670199e-11 5.773147403071901e-11 + 4.459623415664643e-11 3.384125546419585e-11 2.515956035071991e-11 1.826656159304613e-11 1.289741553721677e-11 + 8.808852910154413e-12 5.779611749592996e-12 3.608107240050744e-12 2.114775563702074e-12 1.141629414770904e-12 + 5.504076981088132e-13 2.252028793998774e-13 7.135404618680312e-14 1.400208835054596e-14 2.858282411901289e-16 + 0.000000000000000e+00 3.280907692410757e+00 6.559093802140417e+00 9.834554467967374e+00 1.310728583537977e+01 + 1.637728405657552e+01 1.964454529046227e+01 2.290906570265743e+01 2.617084146548816e+01 2.942986875799139e+01 + 3.268614376591378e+01 3.593966268171175e+01 3.919042170455148e+01 4.243841704030890e+01 4.568364490156970e+01 + 4.892610150762930e+01 5.216578308449292e+01 5.540268586487547e+01 5.863680608820168e+01 6.186814000060598e+01 + 6.509668385493259e+01 6.832243391073550e+01 7.154538643427834e+01 7.476553769853463e+01 7.798288398318758e+01 + 8.119742157463018e+01 8.440914676596513e+01 8.761805585700493e+01 9.082414515427180e+01 9.402741097099775e+01 + 9.722784962712448e+01 1.004254574493035e+02 1.036202307708961e+02 1.068121659319733e+02 1.100012592793157e+02 + 1.131875071664140e+02 1.163709059534683e+02 1.195514520073887e+02 1.227291417017950e+02 1.259039714170167e+02 + 1.290759375400930e+02 1.322450364647731e+02 1.354112645915156e+02 1.385746183274891e+02 1.417350940865720e+02 + 1.448926882893522e+02 1.480473973631275e+02 1.511992177419055e+02 1.543481458664036e+02 1.574941781840487e+02 + 1.606373111489777e+02 1.637775412220371e+02 1.669148648707833e+02 1.700492785694823e+02 1.731807787991100e+02 + 1.763093620473519e+02 1.794350248086033e+02 1.825577635839695e+02 1.856775748812652e+02 1.887944552150149e+02 + 1.919084011064531e+02 1.950194090835239e+02 1.981274756808810e+02 2.012325974398883e+02 2.043347709086188e+02 + 2.074339926418558e+02 2.105302592010923e+02 2.136235671545306e+02 2.167139130770834e+02 2.198012935503726e+02 + 2.228857051627302e+02 2.259671445091978e+02 2.290456081915269e+02 2.321210928181784e+02 2.351935950043234e+02 + 2.382631113718425e+02 2.413296385493261e+02 2.443931731720744e+02 2.474537118820972e+02 2.505112513281143e+02 + 2.535657881655549e+02 2.566173190565586e+02 2.596658406699738e+02 2.627113496813596e+02 2.657538427729843e+02 + 2.687933166338259e+02 2.718297679595726e+02 2.748631934526219e+02 2.778935898220815e+02 2.809209537837683e+02 + 2.839452820602094e+02 2.869665713806416e+02 2.899848184810112e+02 2.930000201039745e+02 2.960121729988974e+02 + 2.990212739218558e+02 3.020273196356349e+02 3.050303069097302e+02 3.080302325203465e+02 3.110270932503987e+02 + 3.140208858895110e+02 3.170116072340180e+02 3.199992540869634e+02 3.229838232581013e+02 3.259653115638948e+02 + 3.289437158275174e+02 3.319190328788521e+02 3.348912595544916e+02 3.378603926977383e+02 3.408264291586049e+02 + 3.437893657938130e+02 3.467491994667945e+02 3.497059270476910e+02 3.526595454133537e+02 3.556100514473437e+02 + 3.585574420399318e+02 3.615017140880985e+02 3.644428644955341e+02 3.673808901726388e+02 3.703157880365222e+02 + 3.732475550110041e+02 3.761761880266134e+02 3.791016840205897e+02 3.820240399368814e+02 3.849432527261474e+02 + 3.878593193457557e+02 3.907722367597846e+02 3.936820019390219e+02 3.965886118609651e+02 3.994920635098217e+02 + 4.023923538765087e+02 4.052894799586530e+02 4.081834387605912e+02 4.110742272933696e+02 4.139618425747443e+02 + 4.168462816291812e+02 4.197275414878559e+02 4.226056191886540e+02 4.254805117761704e+02 4.283522163017099e+02 + 4.312207298232872e+02 4.340860494056267e+02 4.369481721201628e+02 4.398070950450389e+02 4.426628152651090e+02 + 4.455153298719365e+02 4.483646359637945e+02 4.512107306456656e+02 4.540536110292430e+02 4.568932742329288e+02 + 4.597297173818351e+02 4.625629376077841e+02 4.653929320493071e+02 4.682196978516460e+02 4.710432321667516e+02 + 4.738635321532851e+02 4.766805949766169e+02 4.794944178088276e+02 4.823049978287075e+02 4.851123322217564e+02 + 4.879164181801841e+02 4.907172529029099e+02 4.935148335955632e+02 4.963091574704831e+02 4.991002217467178e+02 + 5.018880236500261e+02 5.046725604128764e+02 5.074538292744463e+02 5.102318274806237e+02 5.130065522840063e+02 + 5.157780009439010e+02 5.185461707263250e+02 5.213110589040049e+02 5.240726627563774e+02 5.268309795695885e+02 + 5.295860066364945e+02 5.323377412566609e+02 5.350861807363634e+02 5.378313223885873e+02 5.405731635330272e+02 + 5.433117014960885e+02 5.460469336108854e+02 5.487788572172420e+02 5.515074696616928e+02 5.542327682974811e+02 + 5.569547504845609e+02 5.596734135895950e+02 5.623887549859570e+02 5.651007720537292e+02 5.678094621797045e+02 + 5.705148227573850e+02 5.732168511869830e+02 5.759155448754203e+02 5.786109012363282e+02 5.813029176900482e+02 + 5.839915916636313e+02 5.866769205908384e+02 5.893589019121401e+02 5.920375330747167e+02 5.947128115324583e+02 + 5.973847347459648e+02 6.000533001825459e+02 6.027185053162206e+02 6.053803476277183e+02 6.080388246044777e+02 + 6.106939337406476e+02 6.133456725370861e+02 6.159940385013617e+02 6.186390291477520e+02 6.212806419972447e+02 + 6.239188745775372e+02 6.265537244230364e+02 6.291851890748597e+02 6.318132660808333e+02 6.344379529954938e+02 + 6.370592473800871e+02 6.396771468025696e+02 6.422916488376064e+02 6.449027510665734e+02 6.475104510775553e+02 + 6.501147464653474e+02 6.527156348314542e+02 6.553131137840901e+02 6.579071809381794e+02 6.604978339153558e+02 + 6.630850703439634e+02 6.656688878590552e+02 6.682492841023947e+02 6.708262567224546e+02 6.733998033744177e+02 + 6.759699217201766e+02 6.785366094283333e+02 6.810998641742000e+02 6.836596836397980e+02 6.862160655138592e+02 + 6.887690074918247e+02 6.913185072758453e+02 6.938645625747821e+02 6.964071711042051e+02 6.989463305863949e+02 + 7.014820387503412e+02 7.040142933317441e+02 7.065430920730126e+02 7.090684327232666e+02 7.115903130383348e+02 + 7.141087307807558e+02 7.166236837197782e+02 7.191351696313601e+02 7.216431862981700e+02 7.241477315095852e+02 + 7.266488030616937e+02 7.291463987572921e+02 7.316405164058881e+02 7.341311538236981e+02 7.366183088336488e+02 + 7.391019792653765e+02 7.415821629552270e+02 7.440588577462564e+02 7.465320614882301e+02 7.490017720376235e+02 + 7.514679872576214e+02 7.539307050181191e+02 7.563899231957208e+02 7.588456396737411e+02 7.612978523422037e+02 + 7.637465590978424e+02 7.661917578441014e+02 7.686334464911333e+02 7.710716229558018e+02 7.735062851616793e+02 + 7.759374310390485e+02 7.783650585249019e+02 7.807891655629417e+02 7.832097501035795e+02 7.856268101039369e+02 + 7.880403435278453e+02 7.904503483458460e+02 7.928568225351897e+02 7.952597640798369e+02 7.976591709704585e+02 + 8.000550412044341e+02 8.024473727858536e+02 8.048361637255169e+02 8.072214120409334e+02 8.096031157563222e+02 + 8.119812729026120e+02 8.143558815174417e+02 8.167269396451593e+02 8.190944453368236e+02 8.214583966502021e+02 + 8.238187916497725e+02 8.261756284067224e+02 8.285289049989487e+02 8.308786195110586e+02 8.332247700343684e+02 + 8.355673546669050e+02 8.379063715134042e+02 8.402418186853124e+02 8.425736943007848e+02 8.449019964846872e+02 + 8.472267233685945e+02 8.495478730907921e+02 8.518654437962743e+02 8.541794336367457e+02 8.564898407706205e+02 + 8.587966633630226e+02 8.610998995857861e+02 8.633995476174539e+02 8.656956056432798e+02 8.679880718552264e+02 + 8.702769444519665e+02 8.725622216388828e+02 8.748439016280670e+02 8.771219826383219e+02 8.793964628951586e+02 + 8.816673406307990e+02 8.839346140841741e+02 8.861982815009252e+02 8.884583411334027e+02 8.907147912406675e+02 + 8.929676300884897e+02 8.952168559493493e+02 8.974624671024361e+02 8.997044618336495e+02 9.019428384355992e+02 + 9.041775952076036e+02 9.064087304556922e+02 9.086362424926032e+02 9.108601296377846e+02 9.130803902173951e+02 + 9.152970225643020e+02 9.175100250180832e+02 9.197193959250255e+02 9.219251336381268e+02 9.241272365170935e+02 + 9.263257029283417e+02 9.285205312449986e+02 9.307117198468995e+02 9.328992671205907e+02 9.350831714593277e+02 + 9.372634312630761e+02 9.394400449385104e+02 9.416130108990160e+02 9.437823275646871e+02 9.459479933623287e+02 + 9.481100067254541e+02 9.502683660942876e+02 9.524230699157629e+02 9.545741166435229e+02 9.567215047379214e+02 + 9.588652326660207e+02 9.610052989015940e+02 9.631417019251231e+02 9.652744402238004e+02 9.674035122915279e+02 + 9.695289166289172e+02 9.716506517432896e+02 9.737687161486764e+02 9.758831083658184e+02 9.779938269221661e+02 + 9.801008703518804e+02 9.822042371958310e+02 9.843039260015983e+02 9.863999353234714e+02 9.884922637224498e+02 + 9.905809097662435e+02 9.926658720292703e+02 9.947471490926598e+02 9.968247395442500e+02 9.988986419785891e+02 + 1.000968854996935e+03 1.003035377207256e+03 1.005098207224229e+03 1.007157343669241e+03 1.009212785170389e+03 + 1.011264530362480e+03 1.013312577887031e+03 1.015356926392268e+03 1.017397574533126e+03 1.019434520971252e+03 + 1.021467764375000e+03 1.023497303419437e+03 1.025523136786337e+03 1.027545263164185e+03 1.029563681248175e+03 + 1.031578389740212e+03 1.033589387348909e+03 1.035596672789591e+03 1.037600244784291e+03 1.039600102061752e+03 + 1.041596243357428e+03 1.043588667413480e+03 1.045577372978782e+03 1.047562358808916e+03 1.049543623666173e+03 + 1.051521166319557e+03 1.053494985544777e+03 1.055465080124256e+03 1.057431448847125e+03 1.059394090509224e+03 + 1.061353003913104e+03 1.063308187868025e+03 1.065259641189957e+03 1.067207362701581e+03 1.069151351232285e+03 + 1.071091605618170e+03 1.073028124702043e+03 1.074960907333424e+03 1.076889952368542e+03 1.078815258670335e+03 + 1.080736825108451e+03 1.082654650559248e+03 1.084568733905793e+03 1.086479074037864e+03 1.088385669851947e+03 + 1.090288520251241e+03 1.092187624145651e+03 1.094082980451794e+03 1.095974588092995e+03 1.097862445999292e+03 + 1.099746553107428e+03 1.101626908360861e+03 1.103503510709754e+03 1.105376359110983e+03 1.107245452528133e+03 + 1.109110789931497e+03 1.110972370298081e+03 1.112830192611597e+03 1.114684255862470e+03 1.116534559047833e+03 + 1.118381101171529e+03 1.120223881244111e+03 1.122062898282842e+03 1.123898151311694e+03 1.125729639361349e+03 + 1.127557361469200e+03 1.129381316679347e+03 1.131201504042604e+03 1.133017922616489e+03 1.134830571465235e+03 + 1.136639449659783e+03 1.138444556277782e+03 1.140245890403593e+03 1.142043451128286e+03 1.143837237549640e+03 + 1.145627248772146e+03 1.147413483907002e+03 1.149195942072117e+03 1.150974622392110e+03 1.152749523998310e+03 + 1.154520646028755e+03 1.156287987628192e+03 1.158051547948079e+03 1.159811326146585e+03 1.161567321388586e+03 + 1.163319532845669e+03 1.165067959696131e+03 1.166812601124979e+03 1.168553456323928e+03 1.170290524491405e+03 + 1.172023804832545e+03 1.173753296559195e+03 1.175478998889909e+03 1.177200911049953e+03 1.178919032271301e+03 + 1.180633361792637e+03 1.182343898859357e+03 1.184050642723563e+03 1.185753592644071e+03 1.187452747886402e+03 + 1.189148107722792e+03 1.190839671432183e+03 1.192527438300227e+03 1.194211407619287e+03 1.195891578688435e+03 + 1.197567950813455e+03 1.199240523306837e+03 1.200909295487783e+03 1.202574266682204e+03 1.204235436222721e+03 + 1.205892803448666e+03 1.207546367706079e+03 1.209196128347710e+03 1.210842084733019e+03 1.212484236228177e+03 + 1.214122582206062e+03 1.215757122046265e+03 1.217387855135084e+03 1.219014780865528e+03 1.220637898637316e+03 + 1.222257207856876e+03 1.223872707937346e+03 1.225484398298575e+03 1.227092278367119e+03 1.228696347576247e+03 + 1.230296605365935e+03 1.231893051182870e+03 1.233485684480449e+03 1.235074504718779e+03 1.236659511364675e+03 + 1.238240703891664e+03 1.239818081779981e+03 1.241391644516571e+03 1.242961391595090e+03 1.244527322515903e+03 + 1.246089436786084e+03 1.247647733919417e+03 1.249202213436398e+03 1.250752874864230e+03 1.252299717736826e+03 + 1.253842741594810e+03 1.255381945985516e+03 1.256917330462986e+03 1.258448894587972e+03 1.259976637927938e+03 + 1.261500560057056e+03 1.263020660556207e+03 1.264536939012984e+03 1.266049395021687e+03 1.267558028183329e+03 + 1.269062838105629e+03 1.270563824403019e+03 1.272060986696640e+03 1.273554324614341e+03 1.275043837790682e+03 + 1.276529525866934e+03 1.278011388491075e+03 1.279489425317796e+03 1.280963636008494e+03 1.282434020231280e+03 + 1.283900577660971e+03 1.285363307979095e+03 1.286822210873891e+03 1.288277286040307e+03 1.289728533179999e+03 + 1.291175952001336e+03 1.292619542219393e+03 1.294059303555960e+03 1.295495235739530e+03 1.296927338505312e+03 + 1.298355611595221e+03 1.299780054757883e+03 1.301200667748633e+03 1.302617450329516e+03 1.304030402269289e+03 + 1.305439523343415e+03 1.306844813334069e+03 1.308246272030136e+03 1.309643899227210e+03 1.311037694727594e+03 + 1.312427658340302e+03 1.313813789881058e+03 1.315196089172293e+03 1.316574556043153e+03 1.317949190329488e+03 + 1.319319991873862e+03 1.320686960525546e+03 1.322050096140523e+03 1.323409398581483e+03 1.324764867717829e+03 + 1.326116503425671e+03 1.327464305587830e+03 1.328808274093838e+03 1.330148408839934e+03 1.331484709729068e+03 + 1.332817176670901e+03 1.334145809581802e+03 1.335470608384850e+03 1.336791573009835e+03 1.338108703393256e+03 + 1.339421999478320e+03 1.340731461214948e+03 1.342037088559766e+03 1.343338881476113e+03 1.344636839934036e+03 + 1.345930963910293e+03 1.347221253388351e+03 1.348507708358388e+03 1.349790328817288e+03 1.351069114768650e+03 + 1.352344066222779e+03 1.353615183196692e+03 1.354882465714113e+03 1.356145913805479e+03 1.357405527507935e+03 + 1.358661306865335e+03 1.359913251928245e+03 1.361161362753938e+03 1.362405639406399e+03 1.363646081956323e+03 + 1.364882690481112e+03 1.366115465064880e+03 1.367344405798451e+03 1.368569512779358e+03 1.369790786111843e+03 + 1.371008225906858e+03 1.372221832282067e+03 1.373431605361840e+03 1.374637545277261e+03 1.375839652166119e+03 + 1.377037926172918e+03 1.378232367448867e+03 1.379422976151887e+03 1.380609752446609e+03 1.381792696504374e+03 + 1.382971808503231e+03 1.384147088627939e+03 1.385318537069970e+03 1.386486154027501e+03 1.387649939705423e+03 + 1.388809894315333e+03 1.389966018075540e+03 1.391118311211063e+03 1.392266773953630e+03 1.393411406541678e+03 + 1.394552209220356e+03 1.395689182241520e+03 1.396822325863737e+03 1.397951640352285e+03 1.399077125979150e+03 + 1.400198783023028e+03 1.401316611769325e+03 1.402430612510158e+03 1.403540785544351e+03 1.404647131177441e+03 + 1.405749649721672e+03 1.406848341496000e+03 1.407943206826088e+03 1.409034246044311e+03 1.410121459489754e+03 + 1.411204847508209e+03 1.412284410452182e+03 1.413360148680885e+03 1.414432062560241e+03 1.415500152462884e+03 + 1.416564418768155e+03 1.417624861862108e+03 1.418681482137504e+03 1.419734279993815e+03 1.420783255837224e+03 + 1.421828410080621e+03 1.422869743143608e+03 1.423907255452495e+03 1.424940947440303e+03 1.425970819546763e+03 + 1.426996872218314e+03 1.428019105908108e+03 1.429037521076003e+03 1.430052118188569e+03 1.431062897719085e+03 + 1.432069860147540e+03 1.433073005960632e+03 1.434072335651771e+03 1.435067849721075e+03 1.436059548675370e+03 + 1.437047433028196e+03 1.438031503299800e+03 1.439011760017138e+03 1.439988203713878e+03 1.440960834930396e+03 + 1.441929654213780e+03 1.442894662117825e+03 1.443855859203037e+03 1.444813246036631e+03 1.445766823192535e+03 + 1.446716591251382e+03 1.447662550800518e+03 1.448604702433997e+03 1.449543046752585e+03 1.450477584363755e+03 + 1.451408315881691e+03 1.452335241927287e+03 1.453258363128147e+03 1.454177680118583e+03 1.455093193539620e+03 + 1.456004904038989e+03 1.456912812271134e+03 1.457816918897206e+03 1.458717224585068e+03 1.459613730009291e+03 + 1.460506435851157e+03 1.461395342798658e+03 1.462280451546494e+03 1.463161762796076e+03 1.464039277255525e+03 + 1.464912995639670e+03 1.465782918670054e+03 1.466649047074924e+03 1.467511381589240e+03 1.468369922954673e+03 + 1.469224671919600e+03 1.470075629239112e+03 1.470922795675006e+03 1.471766171995790e+03 1.472605758976684e+03 + 1.473441557399614e+03 1.474273568053219e+03 1.475101791732846e+03 1.475926229240551e+03 1.476746881385102e+03 + 1.477563748981976e+03 1.478376832853358e+03 1.479186133828146e+03 1.479991652741944e+03 1.480793390437068e+03 + 1.481591347762545e+03 1.482385525574108e+03 1.483175924734204e+03 1.483962546111986e+03 1.484745390583318e+03 + 1.485524459030776e+03 1.486299752343644e+03 1.487071271417914e+03 1.487839017156289e+03 1.488602990468185e+03 + 1.489363192269722e+03 1.490119623483735e+03 1.490872285039765e+03 1.491621177874064e+03 1.492366302929595e+03 + 1.493107661156030e+03 1.493845253509749e+03 1.494579080953843e+03 1.495309144458115e+03 1.496035444999074e+03 + 1.496757983559942e+03 1.497476761130647e+03 1.498191778707831e+03 1.498903037294843e+03 1.499610537901742e+03 + 1.500314281545298e+03 1.501014269248990e+03 1.501710502043006e+03 1.502402980964245e+03 1.503091707056315e+03 + 1.503776681369534e+03 1.504457904960931e+03 1.505135378894241e+03 1.505809104239914e+03 1.506479082075105e+03 + 1.507145313483682e+03 1.507807799556220e+03 1.508466541390007e+03 1.509121540089038e+03 1.509772796764020e+03 + 1.510420312532367e+03 1.511064088518205e+03 1.511704125852369e+03 1.512340425672404e+03 1.512972989122564e+03 + 1.513601817353814e+03 1.514226911523828e+03 1.514848272796989e+03 1.515465902344391e+03 1.516079801343838e+03 + 1.516689970979842e+03 1.517296412443626e+03 1.517899126933124e+03 1.518498115652977e+03 1.519093379814537e+03 + 1.519684920635866e+03 1.520272739341736e+03 1.520856837163628e+03 1.521437215339733e+03 1.522013875114953e+03 + 1.522586817740897e+03 1.523156044475887e+03 1.523721556584951e+03 1.524283355339831e+03 1.524841442018975e+03 + 1.525395817907543e+03 1.525946484297405e+03 1.526493442487138e+03 1.527036693782033e+03 1.527576239494086e+03 + 1.528112080942007e+03 1.528644219451213e+03 1.529172656353831e+03 1.529697392988700e+03 1.530218430701367e+03 + 1.530735770844087e+03 1.531249414775829e+03 1.531759363862268e+03 1.532265619475790e+03 1.532768182995492e+03 + 1.533267055807180e+03 1.533762239303368e+03 1.534253734883281e+03 1.534741543952856e+03 1.535225667924735e+03 + 1.535706108218275e+03 1.536182866259539e+03 1.536655943481301e+03 1.537125341323045e+03 1.537591061230964e+03 + 1.538053104657961e+03 1.538511473063650e+03 1.538966167914353e+03 1.539417190683102e+03 1.539864542849641e+03 + 1.540308225900420e+03 1.540748241328602e+03 1.541184590634058e+03 1.541617275323370e+03 1.542046296909827e+03 + 1.542471656913432e+03 1.542893356860894e+03 1.543311398285634e+03 1.543725782727782e+03 1.544136511734178e+03 + 1.544543586858370e+03 1.544947009660620e+03 1.545346781707894e+03 1.545742904573873e+03 1.546135379838945e+03 + 1.546524209090207e+03 1.546909393921469e+03 1.547290935933248e+03 1.547668836732771e+03 1.548043097933976e+03 + 1.548413721157510e+03 1.548780708030729e+03 1.549144060187701e+03 1.549503779269201e+03 1.549859866922715e+03 + 1.550212324802440e+03 1.550561154569281e+03 1.550906357890854e+03 1.551247936441483e+03 1.551585891902203e+03 + 1.551920225960758e+03 1.552250940311604e+03 1.552578036655905e+03 1.552901516701533e+03 1.553221382163073e+03 + 1.553537634761818e+03 1.553850276225772e+03 1.554159308289647e+03 1.554464732694865e+03 1.554766551189559e+03 + 1.555064765528572e+03 1.555359377473454e+03 1.555650388792468e+03 1.555937801260586e+03 1.556221616659488e+03 + 1.556501836777564e+03 1.556778463409917e+03 1.557051498358356e+03 1.557320943431401e+03 1.557586800444283e+03 + 1.557849071218940e+03 1.558107757584023e+03 1.558362861374890e+03 1.558614384433611e+03 1.558862328608964e+03 + 1.559106695756438e+03 1.559347487738230e+03 1.559584706423249e+03 1.559818353687112e+03 1.560048431412147e+03 + 1.560274941487391e+03 1.560497885808591e+03 1.560717266278204e+03 1.560933084805396e+03 1.561145343306044e+03 + 1.561354043702732e+03 1.561559187924758e+03 1.561760777908126e+03 1.561958815595552e+03 1.562153302936461e+03 + 1.562344241886987e+03 1.562531634409975e+03 1.562715482474979e+03 1.562895788058264e+03 1.563072553142803e+03 + 1.563245779718279e+03 1.563415469781085e+03 1.563581625334326e+03 1.563744248387813e+03 1.563903340958068e+03 + 1.564058905068325e+03 1.564210942748526e+03 1.564359456035321e+03 1.564504446972073e+03 1.564645917608853e+03 + 1.564783870002442e+03 1.564918306216331e+03 1.565049228320720e+03 1.565176638392519e+03 1.565300538515349e+03 + 1.565420930779540e+03 1.565537817282130e+03 1.565651200126870e+03 1.565761081424219e+03 1.565867463291344e+03 + 1.565970347852125e+03 1.566069737237150e+03 1.566165633583717e+03 1.566258039035835e+03 1.566346955744220e+03 + 1.566432385866300e+03 1.566514331566212e+03 1.566592795014803e+03 1.566667778389629e+03 1.566739283874957e+03 + 1.566807313661764e+03 1.566871869947734e+03 1.566932954937263e+03 1.566990570841457e+03 1.567044719878131e+03 + 1.567095404271811e+03 1.567142626253729e+03 1.567186388061831e+03 1.567226691940771e+03 1.567263540141913e+03 + 1.567296934923331e+03 1.567326878549808e+03 1.567353373292836e+03 1.567376421430620e+03 1.567396025248071e+03 + 1.567412187036812e+03 1.567424909095176e+03 1.567434193728203e+03 1.567440043247646e+03 1.567442459971967e+03 + 1.567441446226336e+03 1.567437004342634e+03 1.567429136659453e+03 1.567417845522091e+03 1.567403133282561e+03 + 1.567385002299581e+03 1.567363454938582e+03 1.567338493571702e+03 1.567310120577791e+03 1.567278338342408e+03 + 1.567243149257822e+03 1.567204555723011e+03 1.567162560143663e+03 1.567117164932177e+03 1.567068372507660e+03 + 1.567016185295929e+03 1.566960605729512e+03 1.566901636247646e+03 1.566839279296277e+03 1.566773537328063e+03 + 1.566704412802369e+03 1.566631908185271e+03 1.566556025949555e+03 1.566476768574717e+03 1.566394138546961e+03 + 1.566308138359204e+03 1.566218770511069e+03 1.566126037508891e+03 1.566029941865714e+03 1.565930486101294e+03 + 1.565827672742092e+03 1.565721504321283e+03 1.565611983378751e+03 1.565499112461087e+03 1.565382894121595e+03 + 1.565263330920288e+03 1.565140425423888e+03 1.565014180205826e+03 1.564884597846246e+03 1.564751680931997e+03 + 1.564615432056643e+03 1.564475853820452e+03 1.564332948830408e+03 1.564186719700199e+03 1.564037169050227e+03 + 1.563884299507601e+03 1.563728113706142e+03 1.563568614286379e+03 1.563405803895550e+03 1.563239685187607e+03 + 1.563070260823207e+03 1.562897533469719e+03 1.562721505801220e+03 1.562542180498501e+03 1.562359560249057e+03 + 1.562173647747097e+03 1.561984445693539e+03 1.561791956796009e+03 1.561596183768845e+03 1.561397129333092e+03 + 1.561194796216507e+03 1.560989187153558e+03 1.560780304885418e+03 1.560568152159974e+03 1.560352731731822e+03 + 1.560134046362267e+03 1.559912098819323e+03 1.559686891877715e+03 1.559458428318879e+03 1.559226710930956e+03 + 1.558991742508803e+03 1.558753525853981e+03 1.558512063774766e+03 1.558267359086140e+03 1.558019414609795e+03 + 1.557768233174136e+03 1.557513817614273e+03 1.557256170772030e+03 1.556995295495938e+03 1.556731194641239e+03 + 1.556463871069885e+03 1.556193327650536e+03 1.555919567258564e+03 1.555642592776049e+03 1.555362407091783e+03 + 1.555079013101264e+03 1.554792413706704e+03 1.554502611817021e+03 1.554209610347846e+03 1.553913412221517e+03 + 1.553614020367084e+03 1.553311437720305e+03 1.553005667223649e+03 1.552696711826295e+03 1.552384574484129e+03 + 1.552069258159750e+03 1.551750765822466e+03 1.551429100448294e+03 1.551104265019960e+03 1.550776262526902e+03 + 1.550445095965265e+03 1.550110768337907e+03 1.549773282654394e+03 1.549432641931000e+03 1.549088849190713e+03 + 1.548741907463227e+03 1.548391819784946e+03 1.548038589198987e+03 1.547682218755173e+03 1.547322711510039e+03 + 1.546960070526829e+03 1.546594298875496e+03 1.546225399632705e+03 1.545853375881829e+03 1.545478230712950e+03 + 1.545099967222861e+03 1.544718588515066e+03 1.544334097699777e+03 1.543946497893915e+03 1.543555792221112e+03 + 1.543161983811711e+03 1.542765075802762e+03 1.542365071338026e+03 1.541961973567975e+03 1.541555785649789e+03 + 1.541146510747358e+03 1.540734152031283e+03 1.540318712678874e+03 1.539900195874149e+03 1.539478604807839e+03 + 1.539053942677383e+03 1.538626212686929e+03 1.538195418047336e+03 1.537761561976173e+03 1.537324647697717e+03 + 1.536884678442957e+03 1.536441657449592e+03 1.535995587962026e+03 1.535546473231378e+03 1.535094316515475e+03 + 1.534639121078853e+03 1.534180890192759e+03 1.533719627135150e+03 1.533255335190690e+03 1.532788017650757e+03 + 1.532317677813435e+03 1.531844318983518e+03 1.531367944472514e+03 1.530888557598635e+03 1.530406161686807e+03 + 1.529920760068664e+03 1.529432356082550e+03 1.528940953073517e+03 1.528446554393331e+03 1.527949163400464e+03 + 1.527448783460099e+03 1.526945417944129e+03 1.526439070231157e+03 1.525929743706494e+03 1.525417441762163e+03 + 1.524902167796895e+03 1.524383925216131e+03 1.523862717432025e+03 1.523338547863434e+03 1.522811419935932e+03 + 1.522281337081799e+03 1.521748302740024e+03 1.521212320356308e+03 1.520673393383061e+03 1.520131525279401e+03 + 1.519586719511159e+03 1.519038979550873e+03 1.518488308877793e+03 1.517934710977876e+03 1.517378189343791e+03 + 1.516818747474916e+03 1.516256388877339e+03 1.515691117063858e+03 1.515122935553979e+03 1.514551847873920e+03 + 1.513977857556607e+03 1.513400968141679e+03 1.512821183175479e+03 1.512238506211065e+03 1.511652940808203e+03 + 1.511064490533368e+03 1.510473158959745e+03 1.509878949667230e+03 1.509281866242427e+03 1.508681912278651e+03 + 1.508079091375926e+03 1.507473407140987e+03 1.506864863187277e+03 1.506253463134950e+03 1.505639210610869e+03 + 1.505022109248608e+03 1.504402162688449e+03 1.503779374577385e+03 1.503153748569118e+03 1.502525288324061e+03 + 1.501893997509335e+03 1.501259879798773e+03 1.500622938872914e+03 1.499983178419011e+03 1.499340602131025e+03 + 1.498695213709626e+03 1.498047016862194e+03 1.497396015302820e+03 1.496742212752304e+03 1.496085612938155e+03 + 1.495426219594593e+03 1.494764036462547e+03 1.494099067289655e+03 1.493431315830267e+03 1.492760785845442e+03 + 1.492087481102946e+03 1.491411405377259e+03 1.490732562449567e+03 1.490050956107769e+03 1.489366590146471e+03 + 1.488679468366991e+03 1.487989594577355e+03 1.487296972592300e+03 1.486601606233272e+03 1.485903499328426e+03 + 1.485202655712629e+03 1.484499079227457e+03 1.483792773721193e+03 1.483083743048834e+03 1.482371991072084e+03 + 1.481657521659358e+03 1.480940338685780e+03 1.480220446033183e+03 1.479497847590113e+03 1.478772547251821e+03 + 1.478044548920272e+03 1.477313856504138e+03 1.476580473918802e+03 1.475844405086357e+03 1.475105653935605e+03 + 1.474364224402058e+03 1.473620120427938e+03 1.472873345962177e+03 1.472123904960415e+03 1.471371801385004e+03 + 1.470617039205005e+03 1.469859622396187e+03 1.469099554941032e+03 1.468336840828730e+03 1.467571484055180e+03 + 1.466803488622991e+03 1.466032858541484e+03 1.465259597826687e+03 1.464483710501340e+03 1.463705200594890e+03 + 1.462924072143496e+03 1.462140329190026e+03 1.461353975784058e+03 1.460565015981880e+03 1.459773453846489e+03 + 1.458979293447591e+03 1.458182538861605e+03 1.457383194171656e+03 1.456581263467582e+03 1.455776750845927e+03 + 1.454969660409948e+03 1.454159996269611e+03 1.453347762541590e+03 1.452532963349272e+03 1.451715602822750e+03 + 1.450895685098830e+03 1.450073214321026e+03 1.449248194639563e+03 1.448420630211373e+03 1.447590525200101e+03 + 1.446757883776100e+03 1.445922710116434e+03 1.445085008404874e+03 1.444244782831905e+03 1.443402037594718e+03 + 1.442556776897215e+03 1.441709004950008e+03 1.440858725970420e+03 1.440005944182481e+03 1.439150663816933e+03 + 1.438292889111226e+03 1.437432624309523e+03 1.436569873662692e+03 1.435704641428314e+03 1.434836931870678e+03 + 1.433966749260786e+03 1.433094097876346e+03 1.432218982001777e+03 1.431341405928208e+03 1.430461373953479e+03 + 1.429578890382137e+03 1.428693959525441e+03 1.427806585701360e+03 1.426916773234569e+03 1.426024526456458e+03 + 1.425129849705122e+03 1.424232747325370e+03 1.423333223668719e+03 1.422431283093393e+03 1.421526929964331e+03 + 1.420620168653178e+03 1.419711003538289e+03 1.418799439004731e+03 1.417885479444278e+03 1.416969129255415e+03 + 1.416050392843337e+03 1.415129274619950e+03 1.414205779003866e+03 1.413279910420411e+03 1.412351673301618e+03 + 1.411421072086230e+03 1.410488111219700e+03 1.409552795154193e+03 1.408615128348581e+03 1.407675115268446e+03 + 1.406732760386080e+03 1.405788068180486e+03 1.404841043137375e+03 1.403891689749170e+03 1.402940012515001e+03 + 1.401986015940709e+03 1.401029704538846e+03 1.400071082828672e+03 1.399110155336157e+03 1.398146926593981e+03 + 1.397181401141535e+03 1.396213583524918e+03 1.395243478296938e+03 1.394271090017116e+03 1.393296423251680e+03 + 1.392319482573570e+03 1.391340272562432e+03 1.390358797804626e+03 1.389375062893219e+03 1.388389072427989e+03 + 1.387400831015423e+03 1.386410343268718e+03 1.385417613807782e+03 1.384422647259231e+03 1.383425448256391e+03 + 1.382426021439299e+03 1.381424371454700e+03 1.380420502956051e+03 1.379414420603515e+03 1.378406129063970e+03 + 1.377395633010999e+03 1.376382937124898e+03 1.375368046092671e+03 1.374350964608031e+03 1.373331697371403e+03 + 1.372310249089921e+03 1.371286624477428e+03 1.370260828254477e+03 1.369232865148331e+03 1.368202739892964e+03 + 1.367170457229056e+03 1.366136021904002e+03 1.365099438671902e+03 1.364060712293568e+03 1.363019847536522e+03 + 1.361976849174995e+03 1.360931721989928e+03 1.359884470768972e+03 1.358835100306487e+03 1.357783615403544e+03 + 1.356730020867921e+03 1.355674321514110e+03 1.354616522163310e+03 1.353556627643430e+03 1.352494642789090e+03 + 1.351430572441617e+03 1.350364421449050e+03 1.349296194666138e+03 1.348225896954338e+03 1.347153533181818e+03 + 1.346079108223457e+03 1.345002626960841e+03 1.343924094282267e+03 1.342843515082743e+03 1.341760894263984e+03 + 1.340676236734416e+03 1.339589547409177e+03 1.338500831210112e+03 1.337410093065776e+03 1.336317337911434e+03 + 1.335222570689062e+03 1.334125796347346e+03 1.333027019841677e+03 1.331926246134163e+03 1.330823480193616e+03 + 1.329718726995561e+03 1.328611991522230e+03 1.327503278762568e+03 1.326392593712228e+03 1.325279941373571e+03 + 1.324165326755672e+03 1.323048754874311e+03 1.321930230751983e+03 1.320809759417887e+03 1.319687345907936e+03 + 1.318562995264752e+03 1.317436712537665e+03 1.316308502782716e+03 1.315178371062656e+03 1.314046322446946e+03 + 1.312912362011755e+03 1.311776494839963e+03 1.310638726021160e+03 1.309499060651645e+03 1.308357503834428e+03 + 1.307214060679228e+03 1.306068736302473e+03 1.304921535827301e+03 1.303772464383560e+03 1.302621527107810e+03 + 1.301468729143317e+03 1.300314075640058e+03 1.299157571754721e+03 1.297999222650704e+03 1.296839033498112e+03 + 1.295677009473761e+03 1.294513155761180e+03 1.293347477550602e+03 1.292179980038974e+03 1.291010668429951e+03 + 1.289839547933899e+03 1.288666623767893e+03 1.287491901155716e+03 1.286315385327865e+03 1.285137081521542e+03 + 1.283956994980662e+03 1.282775130955849e+03 1.281591494704436e+03 1.280406091490466e+03 1.279218926584693e+03 + 1.278030005264579e+03 1.276839332814297e+03 1.275646914524728e+03 1.274452755693465e+03 1.273256861624810e+03 + 1.272059237629775e+03 1.270859889026079e+03 1.269658821138155e+03 1.268456039297144e+03 1.267251548840895e+03 + 1.266045355113969e+03 1.264837463467636e+03 1.263627879259876e+03 1.262416607855379e+03 1.261203654625543e+03 + 1.259989024948479e+03 1.258772724209004e+03 1.257554757798647e+03 1.256335131115646e+03 1.255113849564950e+03 + 1.253890918558217e+03 1.252666343513813e+03 1.251440129856817e+03 1.250212283019015e+03 1.248982808438904e+03 + 1.247751711561691e+03 1.246518997839292e+03 1.245284672730334e+03 1.244048741700151e+03 1.242811210220790e+03 + 1.241572083771006e+03 1.240331367836264e+03 1.239089067908740e+03 1.237845189487317e+03 1.236599738077590e+03 + 1.235352719191863e+03 1.234104138349150e+03 1.232854001075175e+03 1.231602312902370e+03 1.230349079369880e+03 + 1.229094306023557e+03 1.227837998415964e+03 1.226580162106373e+03 1.225320802660766e+03 1.224059925651835e+03 + 1.222797536658982e+03 1.221533641268318e+03 1.220268245072664e+03 1.219001353671552e+03 1.217732972671222e+03 + 1.216463107684624e+03 1.215191764331420e+03 1.213918948237977e+03 1.212644665037377e+03 1.211368920369408e+03 + 1.210091719880570e+03 1.208813069224072e+03 1.207532974059833e+03 1.206251440054480e+03 1.204968472881353e+03 + 1.203684078220499e+03 1.202398261758676e+03 1.201111029189351e+03 1.199822386212701e+03 1.198532338535615e+03 + 1.197240891871687e+03 1.195948051941225e+03 1.194653824471246e+03 1.193358215195474e+03 1.192061229854346e+03 + 1.190762874195007e+03 1.189463153971313e+03 1.188162074943828e+03 1.186859642879827e+03 1.185555863553295e+03 + 1.184250742744927e+03 1.182944286242125e+03 1.181636499839004e+03 1.180327389336388e+03 1.179016960541809e+03 + 1.177705219269511e+03 1.176392171340446e+03 1.175077822582277e+03 1.173762178829377e+03 1.172445245922827e+03 + 1.171127029710419e+03 1.169807536046655e+03 1.168486770792745e+03 1.167164739816612e+03 1.165841448992886e+03 + 1.164516904202907e+03 1.163191111334726e+03 1.161864076283103e+03 1.160535804949508e+03 1.159206303242120e+03 + 1.157875577075829e+03 1.156543632372233e+03 1.155210475059642e+03 1.153876111073074e+03 1.152540546354257e+03 + 1.151203786851631e+03 1.149865838520342e+03 1.148526707322247e+03 1.147186399225916e+03 1.145844920206624e+03 + 1.144502276246358e+03 1.143158473333815e+03 1.141813517464402e+03 1.140467414640234e+03 1.139120170870139e+03 + 1.137771792169650e+03 1.136422284561014e+03 1.135071654073185e+03 1.133719906741829e+03 1.132367048609320e+03 + 1.131013085724743e+03 1.129658024143891e+03 1.128301869929270e+03 1.126944629150092e+03 1.125586307882280e+03 + 1.124226912208469e+03 1.122866448218001e+03 1.121504922006928e+03 1.120142339678013e+03 1.118778707340729e+03 + 1.117414031111256e+03 1.116048317112488e+03 1.114681571474025e+03 1.113313800332179e+03 1.111945009829970e+03 + 1.110575206117129e+03 1.109204395350097e+03 1.107832583692024e+03 1.106459777312770e+03 1.105085982388904e+03 + 1.103711205103706e+03 1.102335451647166e+03 1.100958728215983e+03 1.099581041013564e+03 1.098202396250028e+03 + 1.096822800142205e+03 1.095442258913632e+03 1.094060778794555e+03 1.092678366021934e+03 1.091295026839436e+03 + 1.089910767497437e+03 1.088525594253023e+03 1.087139513369993e+03 1.085752531118851e+03 1.084364653776815e+03 + 1.082975887627809e+03 1.081586238962469e+03 1.080195714078142e+03 1.078804319278880e+03 1.077412060875450e+03 + 1.076018945185327e+03 1.074624978532693e+03 1.073230167248444e+03 1.071834517670182e+03 1.070438036142223e+03 + 1.069040729015589e+03 1.067642602648012e+03 1.066243663403937e+03 1.064843917654515e+03 1.063443371777609e+03 + 1.062042032157791e+03 1.060639905186343e+03 1.059236997261256e+03 1.057833314787232e+03 1.056428864175682e+03 + 1.055023651844726e+03 1.053617684219196e+03 1.052210967730631e+03 1.050803508817282e+03 1.049395313897890e+03 + 1.047986388534756e+03 1.046576737255851e+03 1.045166364529164e+03 1.043755274824231e+03 1.042343472612131e+03 + 1.040930962365484e+03 1.039517748558457e+03 1.038103835666756e+03 1.036689228167636e+03 1.035273930539893e+03 + 1.033857947263865e+03 1.032441282821436e+03 1.031023941696033e+03 1.029605928372625e+03 1.028187247337727e+03 + 1.026767903079397e+03 1.025347900087235e+03 1.023927242852386e+03 1.022505935867538e+03 1.021083983626923e+03 + 1.019661390626317e+03 1.018238161363038e+03 1.016814300335948e+03 1.015389812045455e+03 1.013964700993507e+03 + 1.012538971683598e+03 1.011112628620765e+03 1.009685676311588e+03 1.008258119264191e+03 1.006829961988242e+03 + 1.005401208994952e+03 1.003971864797076e+03 1.002541933908912e+03 1.001111420846301e+03 9.996803301266303e+02 + 9.982486662688275e+02 9.968164337933661e+02 9.953836372222621e+02 9.939502810790750e+02 9.925163698889086e+02 + 9.910819081784098e+02 9.896469004757686e+02 9.882113513107199e+02 9.867752652145410e+02 9.853386467200531e+02 + 9.839015003616214e+02 9.824638306751541e+02 9.810256421981031e+02 9.795869394694643e+02 9.781477270297768e+02 + 9.767080094211232e+02 9.752677911871300e+02 9.738270768729670e+02 9.723858710253478e+02 9.709441781925295e+02 + 9.695020029243127e+02 9.680593497720415e+02 9.666162232886040e+02 9.651726280284314e+02 9.637285685474986e+02 + 9.622840494033246e+02 9.608390751549712e+02 9.593936503630440e+02 9.579477795896925e+02 9.565014673986094e+02 + 9.550547183550314e+02 9.536075370257383e+02 9.521599279790540e+02 9.507118957848456e+02 9.492634450145238e+02 + 9.478145802410424e+02 9.463653060389005e+02 9.449156269841388e+02 9.434655476543426e+02 9.420150726286407e+02 + 9.405642064877048e+02 9.391129538137513e+02 9.376613191905399e+02 9.362093072033728e+02 9.347569224390970e+02 + 9.333041694861028e+02 9.318510529343232e+02 9.303975773752362e+02 9.289437474018629e+02 9.274895676087672e+02 + 9.260350425920570e+02 9.245801769493847e+02 9.231249752799448e+02 9.216694421844763e+02 9.202135822652619e+02 + 9.187574001261273e+02 9.173009003724419e+02 9.158440876111187e+02 9.143869664506148e+02 9.129295415009306e+02 + 9.114718173736089e+02 9.100137986817383e+02 9.085554900399494e+02 9.070968960644165e+02 9.056380213728581e+02 + 9.041788705845360e+02 9.027194483202552e+02 9.012597592023648e+02 8.997998078547574e+02 8.983395989028686e+02 + 8.968791369736786e+02 8.954184266957105e+02 8.939574726990309e+02 8.924962796152502e+02 8.910348520775226e+02 + 8.895731947205452e+02 8.881113121805595e+02 8.866492090953504e+02 8.851868901042455e+02 8.837243598481174e+02 + 8.822616229693809e+02 8.807986841119955e+02 8.793355479214636e+02 8.778722190448314e+02 8.764087021306887e+02 + 8.749450018291686e+02 8.734811227919481e+02 8.720170696722481e+02 8.705528471248323e+02 8.690884598060085e+02 + 8.676239123736278e+02 8.661592094870851e+02 8.646943558073189e+02 8.632293559968109e+02 8.617642147195870e+02 + 8.602989366412162e+02 8.588335264288111e+02 8.573679887510280e+02 8.559023282780669e+02 8.544365496816713e+02 + 8.529706576351281e+02 8.515046568132680e+02 8.500385518924651e+02 8.485723475506371e+02 8.471060484672456e+02 + 8.456396593232956e+02 8.441731848013352e+02 8.427066295854568e+02 8.412399983612960e+02 8.397732958160319e+02 + 8.383065266383875e+02 8.368396955186294e+02 8.353728071485672e+02 8.339058662215547e+02 8.324388774324890e+02 + 8.309718454778108e+02 8.295047750555044e+02 8.280376708650979e+02 8.265705376076626e+02 8.251033799858133e+02 + 8.236362027037090e+02 8.221690104670519e+02 8.207018079830875e+02 8.192345999606056e+02 8.177673911099388e+02 + 8.163001861429635e+02 8.148329897731001e+02 8.133658067153123e+02 8.118986416861073e+02 8.104314994035359e+02 + 8.089643845871925e+02 8.074973019582153e+02 8.060302562392853e+02 8.045632521546285e+02 8.030962944300132e+02 + 8.016293877927517e+02 8.001625369717000e+02 7.986957466972576e+02 7.972290217013673e+02 7.957623667175162e+02 + 7.942957864807344e+02 7.928292857275953e+02 7.913628691962167e+02 7.898965416262595e+02 7.884303077589279e+02 + 7.869641723369706e+02 7.854981401046790e+02 7.840322158078881e+02 7.825664041939773e+02 7.811007100118686e+02 + 7.796351380120283e+02 7.781696929464658e+02 7.767043795687346e+02 7.752392026339312e+02 7.737741668986956e+02 + 7.723092771212124e+02 7.708445380612087e+02 7.693799544799557e+02 7.679155311402681e+02 7.664512728065041e+02 + 7.649871842445651e+02 7.635232702218972e+02 7.620595355074889e+02 7.605959848718730e+02 7.591326230871256e+02 + 7.576694549268664e+02 7.562064851662584e+02 7.547437185820088e+02 7.532811599523681e+02 7.518188140571300e+02 + 7.503566856776325e+02 7.488947795967565e+02 7.474331005989271e+02 7.459716534701122e+02 7.445104429978242e+02 + 7.430494739711182e+02 7.415887511805935e+02 7.401282794183929e+02 7.386680634782024e+02 7.372081081552518e+02 + 7.357484182463149e+02 7.342889985497084e+02 7.328298538652926e+02 7.313709889944722e+02 7.299124087401947e+02 + 7.284541179069513e+02 7.269961213007771e+02 7.255384237292504e+02 7.240810300014931e+02 7.226239449281712e+02 + 7.211671733214938e+02 7.197107199952134e+02 7.182545897646269e+02 7.167987874465738e+02 7.153433178594373e+02 + 7.138881858231457e+02 7.124333961591685e+02 7.109789536905207e+02 7.095248632417597e+02 7.080711296389870e+02 + 7.066177577098478e+02 7.051647522835304e+02 7.037121181907675e+02 7.022598602638342e+02 7.008079833365500e+02 + 6.993564922442782e+02 6.979053918239249e+02 6.964546869139400e+02 6.950043823543177e+02 6.935544829865950e+02 + 6.921049936538523e+02 6.906559192007142e+02 6.892072644733491e+02 6.877590343194680e+02 6.863112335883264e+02 + 6.848638671307228e+02 6.834169397989994e+02 6.819704564470420e+02 6.805244219302806e+02 6.790788411056876e+02 + 6.776337188317796e+02 6.761890599686175e+02 6.747448693778041e+02 6.733011519224871e+02 6.718579124673579e+02 + 6.704151558786504e+02 6.689728870241429e+02 6.675311107731571e+02 6.660898319965579e+02 6.646490555667547e+02 + 6.632087863576994e+02 6.617690292448882e+02 6.603297891053608e+02 6.588910708177000e+02 6.574528792620325e+02 + 6.560152193200289e+02 6.545780958749028e+02 6.531415138114120e+02 6.517054780158572e+02 6.502699933760831e+02 + 6.488350647814780e+02 6.474006971229736e+02 6.459668952930450e+02 6.445336641857116e+02 6.431010086965356e+02 + 6.416689337226230e+02 6.402374441626239e+02 6.388065449167315e+02 6.373762408866819e+02 6.359465369757564e+02 + 6.345174380887786e+02 6.330889491321157e+02 6.316610750136796e+02 6.302338206429247e+02 6.288071909308491e+02 + 6.273811907899951e+02 6.259558251344477e+02 6.245310988798360e+02 6.231070169433332e+02 6.216835842436550e+02 + 6.202608057010611e+02 6.188386862373554e+02 6.174172307758844e+02 6.159964442415383e+02 6.145763315607522e+02 + 6.131568976615030e+02 6.117381474733122e+02 6.103200859272448e+02 6.089027179559087e+02 6.074860484934565e+02 + 6.060700824755835e+02 6.046548248395288e+02 6.032402805240755e+02 6.018264544695495e+02 6.004133516178208e+02 + 5.990009769123031e+02 5.975893352979532e+02 5.961784317212720e+02 5.947682711303036e+02 5.933588584746357e+02 + 5.919501987053994e+02 5.905422967752705e+02 5.891351576384668e+02 5.877287862507508e+02 5.863231875694282e+02 + 5.849183665533477e+02 5.835143281629030e+02 5.821110773600302e+02 5.807086191082091e+02 5.793069583724634e+02 + 5.779061001193606e+02 5.765060493170109e+02 5.751068109350690e+02 5.737083899447330e+02 5.723107913187440e+02 + 5.709140200313871e+02 5.695180810584912e+02 5.681229793774282e+02 5.667287199671144e+02 5.653353078080089e+02 + 5.639427478821145e+02 5.625510451729782e+02 5.611602046656897e+02 5.597702313468828e+02 5.583811302047351e+02 + 5.569929062289672e+02 5.556055644108436e+02 5.542191097431725e+02 5.528335472203050e+02 5.514488818381369e+02 + 5.500651185941068e+02 5.486822624871968e+02 5.473003185179330e+02 5.459192916883851e+02 5.445391870021655e+02 + 5.431600094644319e+02 5.417817640818839e+02 5.404044558627653e+02 5.390280898168637e+02 5.376526709555103e+02 + 5.362782042915790e+02 5.349046948394886e+02 5.335321476152006e+02 5.321605676362202e+02 5.307899599215965e+02 + 5.294203294919217e+02 5.280516813693320e+02 5.266840205775071e+02 5.253173521416702e+02 5.239516810885877e+02 + 5.225870124465707e+02 5.212233512454725e+02 5.198607025166908e+02 5.184990712931668e+02 5.171384626093851e+02 + 5.157788815013741e+02 5.144203330067055e+02 5.130628221644946e+02 5.117063540154008e+02 5.103509336016263e+02 + 5.089965659669175e+02 5.076432561565640e+02 5.062910092173990e+02 5.049398301977998e+02 5.035897241476866e+02 + 5.022406961185235e+02 5.008927511633182e+02 4.995458943366220e+02 4.982001306945292e+02 4.968554652946787e+02 + 4.955119031962524e+02 4.941694494599757e+02 4.928281091481178e+02 4.914878873244913e+02 4.901487890544524e+02 + 4.888108194049014e+02 4.874739834442815e+02 4.861382862425793e+02 4.848037328713260e+02 4.834703284035954e+02 + 4.821380779140055e+02 4.808069864787175e+02 4.794770591754360e+02 4.781483010834104e+02 4.768207172834317e+02 + 4.754943128578365e+02 4.741690928905032e+02 4.728450624668552e+02 4.715222266738587e+02 4.702005906000235e+02 + 4.688801593354034e+02 4.675609379715956e+02 4.662429316017405e+02 4.649261453205227e+02 4.636105842241698e+02 + 4.622962534104534e+02 4.609831579786886e+02 4.596713030297340e+02 4.583606936659914e+02 4.570513349914071e+02 + 4.557432321114703e+02 4.544363901332138e+02 4.531308141652141e+02 4.518265093175915e+02 4.505234807020092e+02 + 4.492217334316751e+02 4.479212726213398e+02 4.466221033872973e+02 4.453242308473862e+02 4.440276601209875e+02 + 4.427323963290266e+02 4.414384445939725e+02 4.401458100398370e+02 4.388544977921764e+02 4.375645129780900e+02 + 4.362758607262207e+02 4.349885461667554e+02 4.337025744314242e+02 4.324179506535007e+02 4.311346799678025e+02 + 4.298527675106906e+02 4.285722184200691e+02 4.272930378353866e+02 4.260152308976346e+02 4.247388027493482e+02 + 4.234637585346064e+02 4.221901033990317e+02 4.209178424897899e+02 4.196469809555908e+02 4.183775239466873e+02 + 4.171094766148764e+02 4.158428441134982e+02 4.145776315974367e+02 4.133138442231195e+02 4.120514871485177e+02 + 4.107905655331455e+02 4.095310845380616e+02 4.082730493258674e+02 4.070164650607085e+02 4.057613369082738e+02 + 4.045076700357962e+02 4.032554696120511e+02 4.020047408073589e+02 4.007554887935824e+02 3.995077187441286e+02 + 3.982614358339480e+02 3.970166452395346e+02 3.957733521389259e+02 3.945315617117033e+02 3.932912791389912e+02 + 3.920525096034583e+02 3.908152582893162e+02 3.895795303823206e+02 3.883453310697706e+02 3.871126655405087e+02 + 3.858815389849212e+02 3.846519565949380e+02 3.834239235640323e+02 3.821974450872211e+02 3.809725263610652e+02 + 3.797491725836686e+02 3.785273889546788e+02 3.773071806752873e+02 3.760885529482291e+02 3.748715109777822e+02 + 3.736560599697692e+02 3.724422051315553e+02 3.712299516720498e+02 3.700193048017055e+02 3.688102697325187e+02 + 3.676028516780295e+02 3.663970558533210e+02 3.651928874750207e+02 3.639903517612993e+02 3.627894539318706e+02 + 3.615901992079928e+02 3.603925928124674e+02 3.591966399696389e+02 3.580023459053963e+02 3.568097158471716e+02 + 3.556187550239405e+02 3.544294686662223e+02 3.532418620060801e+02 3.520559402771199e+02 3.508717087144923e+02 + 3.496891725548904e+02 3.485083370365518e+02 3.473292073992571e+02 3.461517888843309e+02 3.449760867346407e+02 + 3.438021061945983e+02 3.426298525101589e+02 3.414593309288210e+02 3.402905466996269e+02 3.391235050731623e+02 + 3.379582113015570e+02 3.367946706384836e+02 3.356328883391590e+02 3.344728696603431e+02 3.333146198603399e+02 + 3.321581441989965e+02 3.310034479377038e+02 3.298505363393963e+02 3.286994146685523e+02 3.275500881911931e+02 + 3.264025621748842e+02 3.252568418887342e+02 3.241129326033955e+02 3.229708395910641e+02 3.218305681254797e+02 + 3.206921234819250e+02 3.195555109372272e+02 3.184207357697562e+02 3.172878032594259e+02 3.161567186876940e+02 + 3.150274873375612e+02 3.139001144935722e+02 3.127746054418153e+02 3.116509654699221e+02 3.105291998670680e+02 + 3.094093139239718e+02 3.082913129328962e+02 3.071752021876472e+02 3.060609869835743e+02 3.049486726175709e+02 + 3.038382643880739e+02 3.027297675950632e+02 3.016231875400634e+02 3.005185295261418e+02 2.994157988579094e+02 + 2.983150008415209e+02 2.972161407846750e+02 2.961192239966130e+02 2.950242557881208e+02 2.939312414715272e+02 + 2.928401863607048e+02 2.917510957710699e+02 2.906639750195822e+02 2.895788294247451e+02 2.884956643066055e+02 + 2.874144849867538e+02 2.863352967883243e+02 2.852581050359946e+02 2.841829150559857e+02 2.831097321760628e+02 + 2.820385617255341e+02 2.809694090352515e+02 2.799022794376108e+02 2.788371782665511e+02 2.777741108575549e+02 + 2.767130825476488e+02 2.756540986754025e+02 2.745971645809293e+02 2.735422856058867e+02 2.724894670934750e+02 + 2.714387143884384e+02 2.703900328370648e+02 2.693434277871856e+02 2.682989045881756e+02 2.672564685909533e+02 + 2.662161251479810e+02 2.651778796132642e+02 2.641417373423522e+02 2.631077036923379e+02 2.620757840218578e+02 + 2.610459836910915e+02 2.600183080617631e+02 2.589927624971394e+02 2.579693523620314e+02 2.569480830227931e+02 + 2.559289598473227e+02 2.549119882050614e+02 2.538971734669946e+02 2.528845210056507e+02 2.518740361951020e+02 + 2.508657244109642e+02 2.498595910303967e+02 2.488556414321026e+02 2.478538809963281e+02 2.468543151048638e+02 + 2.458569491410431e+02 2.448617884897432e+02 2.438688385373852e+02 2.428781046719333e+02 2.418895922828956e+02 + 2.409033067613238e+02 2.399192534998131e+02 2.389374378925019e+02 2.379578653350729e+02 2.369805412247519e+02 + 2.360054709603084e+02 2.350326599420553e+02 2.340621135718494e+02 2.330938372530911e+02 2.321278363907239e+02 + 2.311641163912353e+02 2.302026826626565e+02 2.292435406145617e+02 2.282866956580692e+02 2.273321532058407e+02 + 2.263799186720815e+02 2.254299974725404e+02 2.244823950245099e+02 2.235371167468261e+02 2.225941680598685e+02 + 2.216535543855603e+02 2.207152811473682e+02 2.197793537703028e+02 2.188457776809178e+02 2.179145583073106e+02 + 2.169857010791227e+02 2.160592114275385e+02 2.151350947852860e+02 2.142133565866376e+02 2.132940022674083e+02 + 2.123770372649571e+02 2.114624670181867e+02 2.105502969675431e+02 2.096405325550162e+02 2.087331792241393e+02 + 2.078282424199890e+02 2.069257275891860e+02 2.060256401798943e+02 2.051279856418216e+02 2.042327694262190e+02 + 2.033399969858813e+02 2.024496737751469e+02 2.015618052498977e+02 2.006763968675590e+02 1.997934540871004e+02 + 1.989129823690343e+02 1.980349871754169e+02 1.971594739698481e+02 1.962864482174713e+02 1.954159153849736e+02 + 1.945478809405854e+02 1.936823503540812e+02 1.928193290967781e+02 1.919588226415381e+02 1.911008364627658e+02 + 1.902453760364096e+02 1.893924468399617e+02 1.885420543524577e+02 1.876942040544768e+02 1.868489014281417e+02 + 1.860061519571189e+02 1.851659611266184e+02 1.843283344233937e+02 1.834932773357418e+02 1.826607953535034e+02 + 1.818308939680629e+02 1.810035786723481e+02 1.801788549608304e+02 1.793567283295249e+02 1.785372042759901e+02 + 1.777202882993282e+02 1.769059859001850e+02 1.760943025807497e+02 1.752852438447554e+02 1.744788151974785e+02 + 1.736750221457390e+02 1.728738701979007e+02 1.720753648638706e+02 1.712795116550998e+02 1.704863160845825e+02 + 1.696957836668566e+02 1.689079199180039e+02 1.681227303556493e+02 1.673402204989617e+02 1.665603958686532e+02 + 1.657832619869799e+02 1.650088243777409e+02 1.642370885662795e+02 1.634680600794823e+02 1.627017444457793e+02 + 1.619381471951445e+02 1.611772738590951e+02 1.604191299706921e+02 1.596637210645399e+02 1.589110526767867e+02 + 1.581611303451241e+02 1.574139596087874e+02 1.566695460085554e+02 1.559278950867503e+02 1.551890123872385e+02 + 1.544529034554292e+02 1.537195738382757e+02 1.529890290842748e+02 1.522612747434666e+02 1.515363163674351e+02 + 1.508141595093076e+02 1.500948097237555e+02 1.493782725669932e+02 1.486645535967789e+02 1.479536583724143e+02 + 1.472455924547449e+02 1.465403614061596e+02 1.458379707905909e+02 1.451384261735148e+02 1.444417331219514e+02 + 1.437478972044633e+02 1.430569239911578e+02 1.423688190536853e+02 1.416835879652396e+02 1.410012363005585e+02 + 1.403217696359229e+02 1.396451935491577e+02 1.389715136196312e+02 1.383007354282553e+02 1.376328645574854e+02 + 1.369679065913208e+02 1.363058671153038e+02 1.356467517165207e+02 1.349905659836014e+02 1.343373155067194e+02 + 1.336870058775913e+02 1.330396426894780e+02 1.323952315371832e+02 1.317537780170550e+02 1.311152877269845e+02 + 1.304797662664065e+02 1.298472192362996e+02 1.292176522391855e+02 1.285910708791301e+02 1.279674807617425e+02 + 1.273468874941753e+02 1.267292966851250e+02 1.261147139448316e+02 1.255031448850783e+02 1.248945951191923e+02 + 1.242890702620443e+02 1.236865759300485e+02 1.230871177411627e+02 1.224907013148884e+02 1.218973322722703e+02 + 1.213070162358971e+02 1.207197588299010e+02 1.201355656799576e+02 1.195544424132864e+02 1.189763946586499e+02 + 1.184014280463548e+02 1.178295482082510e+02 1.172607607777323e+02 1.166950713897357e+02 1.161324856807421e+02 + 1.155730092887757e+02 1.150166478534045e+02 1.144634070157400e+02 1.139132924184372e+02 1.133663097056950e+02 + 1.128224645232555e+02 1.122817625184044e+02 1.117442093399712e+02 1.112098106383290e+02 1.106785720653942e+02 + 1.101504843345202e+02 1.096253193854976e+02 1.091027814759659e+02 1.085828903190926e+02 1.080656662057070e+02 + 1.075510744401853e+02 1.070391017583160e+02 1.065297369211215e+02 1.060229642403793e+02 1.055187689946627e+02 + 1.050171373101604e+02 1.045180558156006e+02 1.040215103049707e+02 1.035274865113781e+02 1.030359706887152e+02 + 1.025469492169604e+02 1.020604083357866e+02 1.015763340040288e+02 1.010947131078929e+02 1.006155327791835e+02 + 1.001387792631148e+02 9.966443911893010e+01 9.919249927205091e+01 9.872294669690289e+01 9.825576811144268e+01 + 9.779095024426459e+01 9.732848086108395e+01 9.686834738339628e+01 9.641053663288847e+01 9.595503591883143e+01 + 9.550183276437639e+01 9.505091470489599e+01 9.460226894357737e+01 9.415588307372171e+01 9.371174549820027e+01 + 9.326984390100915e+01 9.283016578095182e+01 9.239269910989660e+01 9.195743199867270e+01 9.152435246657959e+01 + 9.109344822825337e+01 9.066470776170968e+01 9.023811990175319e+01 8.981367265385576e+01 8.939135422700863e+01 + 8.897115319588202e+01 8.855305819940260e+01 8.813705766268812e+01 8.772313993524557e+01 8.731129428898021e+01 + 8.690150981214184e+01 8.649377498492467e+01 8.608807868460502e+01 8.568441000539183e+01 8.528275807208179e+01 + 8.488311171021131e+01 8.448546000255536e+01 8.408979283578468e+01 8.369609949978657e+01 8.330436902264381e+01 + 8.291459088961614e+01 8.252675470341519e+01 8.214085000107356e+01 8.175686603719873e+01 8.137479266933553e+01 + 8.099462018292702e+01 8.061633811896954e+01 8.023993612969721e+01 7.986540422509246e+01 7.949273245617202e+01 + 7.912191071864751e+01 7.875292880591886e+01 7.838577728963824e+01 7.802044667908689e+01 7.765692688210476e+01 + 7.729520814701189e+01 7.693528093921003e+01 7.657713574044320e+01 7.622076279877933e+01 7.586615250876412e+01 + 7.551329599462582e+01 7.516218394284439e+01 7.481280673973237e+01 7.446515517211270e+01 7.411922012543234e+01 + 7.377499243991551e+01 7.343246273248482e+01 7.309162206375170e+01 7.275246194060588e+01 7.241497325488510e+01 + 7.207914691168762e+01 7.174497413637995e+01 7.141244624067238e+01 7.108155440657860e+01 7.075228964021176e+01 + 7.042464364044737e+01 7.009860816502822e+01 6.977417437950896e+01 6.945133371117183e+01 6.913007780419414e+01 + 6.881039831641085e+01 6.849228672098478e+01 6.817573455985929e+01 6.786073404036127e+01 6.754727706019318e+01 + 6.723535518365489e+01 6.692496029976250e+01 6.661608442214438e+01 6.630871955818391e+01 6.600285747074972e+01 + 6.569849025826812e+01 6.539561050984807e+01 6.509421028016476e+01 6.479428156422156e+01 6.449581665898590e+01 + 6.419880794007263e+01 6.390324769379086e+01 6.360912802573969e+01 6.331644161216560e+01 6.302518126952705e+01 + 6.273533924838438e+01 6.244690800283556e+01 6.215988021335375e+01 6.187424856554645e+01 6.159000558852496e+01 + 6.130714382209544e+01 6.102565642873360e+01 6.074553634647369e+01 6.046677613965124e+01 6.018936867893675e+01 + 5.991330696615304e+01 5.963858400265185e+01 5.936519255461710e+01 5.909312563142009e+01 5.882237675846172e+01 + 5.855293899151076e+01 5.828480526925385e+01 5.801796883717194e+01 5.775242299813667e+01 5.748816098906929e+01 + 5.722517588172157e+01 5.696346118973321e+01 5.670301063052477e+01 5.644381744585571e+01 5.618587497447161e+01 + 5.592917675378749e+01 5.567371639288440e+01 5.541948735564524e+01 5.516648303666721e+01 5.491469740133566e+01 + 5.466412430128952e+01 5.441475721341882e+01 5.416658984866251e+01 5.391961604526729e+01 5.367382965707854e+01 + 5.342922435049869e+01 5.318579394824101e+01 5.294353276046760e+01 5.270243471566913e+01 5.246249358126801e+01 + 5.222370341980431e+01 5.198605834991378e+01 5.174955243603662e+01 5.151417956992881e+01 5.127993401538280e+01 + 5.104681029539683e+01 5.081480246751264e+01 5.058390465007635e+01 5.035411117607305e+01 5.012541641928832e+01 + 4.989781463692880e+01 4.967129999443014e+01 4.944586717469857e+01 4.922151081792142e+01 4.899822516393252e+01 + 4.877600466591702e+01 4.855484391176263e+01 4.833473749525371e+01 4.811567985888949e+01 4.789766553100244e+01 + 4.768068948486052e+01 4.746474643299185e+01 4.724983089968822e+01 4.703593761581940e+01 4.682306140175855e+01 + 4.661119706938157e+01 4.640033923440899e+01 4.619048280117971e+01 4.598162297433280e+01 4.577375454810339e+01 + 4.556687232031752e+01 4.536097129194708e+01 4.515604651624491e+01 4.495209295916556e+01 4.474910546848848e+01 + 4.454707932343867e+01 4.434600983627007e+01 4.414589194663536e+01 4.394672075425581e+01 4.374849149110094e+01 + 4.355119939554362e+01 4.335483958155968e+01 4.315940720272008e+01 4.296489783321342e+01 4.277130684141869e+01 + 4.257862938067940e+01 4.238686082011235e+01 4.219599659307687e+01 4.200603211268383e+01 4.181696265307154e+01 + 4.162878369849639e+01 4.144149102922540e+01 4.125508008000694e+01 4.106954625154178e+01 4.088488514080404e+01 + 4.070109237453877e+01 4.051816351991027e+01 4.033609404369983e+01 4.015487975529847e+01 3.997451654390139e+01 + 3.979499995457292e+01 3.961632565249730e+01 3.943848943565658e+01 3.926148710146721e+01 3.908531435163689e+01 + 3.890996689581685e+01 3.873544082272831e+01 3.856173207783515e+01 3.838883637414560e+01 3.821674961156019e+01 + 3.804546776546066e+01 3.787498680517137e+01 3.770530255859592e+01 3.753641100849845e+01 3.736830845518836e+01 + 3.720099088344971e+01 3.703445420945200e+01 3.686869456603723e+01 3.670370808841574e+01 3.653949085950763e+01 + 3.637603888796111e+01 3.621334844811717e+01 3.605141592615973e+01 3.589023740445852e+01 3.572980904042850e+01 + 3.557012712196481e+01 3.541118795282225e+01 3.525298774403768e+01 3.509552267323749e+01 3.493878928773343e+01 + 3.478278404343990e+01 3.462750313614663e+01 3.447294293878365e+01 3.431909990161546e+01 3.416597046087814e+01 + 3.401355094900445e+01 3.386183779648810e+01 3.371082772101448e+01 3.356051721064496e+01 3.341090265530899e+01 + 3.326198061398263e+01 3.311374767636361e+01 3.296620040125966e+01 3.281933525310492e+01 3.267314891432770e+01 + 3.252763821351709e+01 3.238279969616838e+01 3.223862995512887e+01 3.209512571750849e+01 3.195228370249094e+01 + 3.181010057023420e+01 3.166857295105629e+01 3.152769775432829e+01 3.138747186368265e+01 3.124789194582367e+01 + 3.110895478177638e+01 3.097065722333928e+01 3.083299612203396e+01 3.069596823521478e+01 3.055957038379009e+01 + 3.042379968490992e+01 3.028865305190764e+01 3.015412726448298e+01 3.002021927954454e+01 2.988692608783410e+01 + 2.975424465393443e+01 2.962217185358958e+01 2.949070472525562e+01 2.935984046863818e+01 2.922957605244617e+01 + 2.909990844798608e+01 2.897083474125067e+01 2.884235205411202e+01 2.871445744621140e+01 2.858714789194334e+01 + 2.846042066311678e+01 2.833427304434733e+01 2.820870204788112e+01 2.808370481822039e+01 2.795927858955916e+01 + 2.783542056310479e+01 2.771212788710439e+01 2.758939774558937e+01 2.746722754519704e+01 2.734561457842300e+01 + 2.722455602005491e+01 2.710404915757552e+01 2.698409131619408e+01 2.686467981339180e+01 2.674581188504884e+01 + 2.662748489299116e+01 2.650969637323688e+01 2.639244364869198e+01 2.627572402574995e+01 2.615953493480668e+01 + 2.604387380499337e+01 2.592873803144385e+01 2.581412497154068e+01 2.570003216993883e+01 2.558645721031992e+01 + 2.547339748309297e+01 2.536085044648649e+01 2.524881363723968e+01 2.513728460374055e+01 2.502626081142699e+01 + 2.491573971820056e+01 2.480571905896494e+01 2.469619646153339e+01 2.458716938319504e+01 2.447863542000312e+01 + 2.437059221927192e+01 2.426303741725681e+01 2.415596854366440e+01 2.404938323139217e+01 2.394327933047775e+01 + 2.383765447837906e+01 2.373250626120992e+01 2.362783239922733e+01 2.352363062421024e+01 2.341989863680159e+01 + 2.331663407933185e+01 2.321383475989216e+01 2.311149855755017e+01 2.300962316438995e+01 2.290820631357202e+01 + 2.280724581327735e+01 2.270673948178020e+01 2.260668508940155e+01 2.250708039173678e+01 2.240792334786956e+01 + 2.230921186720802e+01 2.221094371595302e+01 2.211311674173436e+01 2.201572884123411e+01 2.191877792312015e+01 + 2.182226182065280e+01 2.172617842216956e+01 2.163052579410284e+01 2.153530186271772e+01 2.144050449256298e+01 + 2.134613164544727e+01 2.125218130870039e+01 2.115865145244560e+01 2.106553997668644e+01 2.097284492087666e+01 + 2.088056441996010e+01 2.078869643251129e+01 2.069723893213309e+01 2.060618996606658e+01 2.051554761096601e+01 + 2.042530989859754e+01 2.033547481777502e+01 2.024604054022628e+01 2.015700522393599e+01 2.006836688994228e+01 + 1.998012363072147e+01 1.989227358045817e+01 1.980481486918973e+01 1.971774557717947e+01 1.963106382303616e+01 + 1.954476789103884e+01 1.945885594703988e+01 1.937332608222908e+01 1.928817649453870e+01 1.920340539662878e+01 + 1.911901098077130e+01 1.903499138773951e+01 1.895134486255558e+01 1.886806974988112e+01 1.878516424109755e+01 + 1.870262653275597e+01 1.862045489823334e+01 1.853864761644500e+01 1.845720293609644e+01 1.837611907561623e+01 + 1.829539441141390e+01 1.821502731690405e+01 1.813501600648008e+01 1.805535878852776e+01 1.797605402680784e+01 + 1.789710004813803e+01 1.781849513976010e+01 1.774023761822760e+01 1.766232596769640e+01 1.758475857461898e+01 + 1.750753373031707e+01 1.743064982368309e+01 1.735410526816905e+01 1.727789846424588e+01 1.720202775432962e+01 + 1.712649156263800e+01 1.705128842771503e+01 1.697641675133914e+01 1.690187492053174e+01 1.682766139576636e+01 + 1.675377465125957e+01 1.668021313537254e+01 1.660697525047803e+01 1.653405953620346e+01 1.646146456303875e+01 + 1.638918876353225e+01 1.631723061252691e+01 1.624558863577738e+01 1.617426136715184e+01 1.610324729276991e+01 + 1.603254489420701e+01 1.596215281065743e+01 1.589206962268447e+01 1.582229381597797e+01 1.575282394813798e+01 + 1.568365860435203e+01 1.561479636559848e+01 1.554623575841051e+01 1.547797536749664e+01 1.541001389568697e+01 + 1.534234992945672e+01 1.527498202635700e+01 1.520790881496337e+01 1.514112893627654e+01 1.507464101206718e+01 + 1.500844361854594e+01 1.494253544400039e+01 1.487691522461213e+01 1.481158156982783e+01 1.474653311471545e+01 + 1.468176854391490e+01 1.461728655322583e+01 1.455308580005108e+01 1.448916492494823e+01 1.442552270891503e+01 + 1.436215789907635e+01 1.429906914560298e+01 1.423625515786986e+01 1.417371467503432e+01 1.411144643634281e+01 + 1.404944913182382e+01 1.398772148936426e+01 1.392626235467004e+01 1.386507047757601e+01 1.380414456703780e+01 + 1.374348339923097e+01 1.368308576360786e+01 1.362295043539383e+01 1.356307614411792e+01 1.350346171009224e+01 + 1.344410601461897e+01 1.338500782259274e+01 1.332616591200318e+01 1.326757911048049e+01 1.320924625504148e+01 + 1.315116615215319e+01 1.309333758418828e+01 1.303575945915385e+01 1.297843067064863e+01 1.292135001185642e+01 + 1.286451632934388e+01 1.280792850075226e+01 1.275158540067995e+01 1.269548586414703e+01 1.263962874841400e+01 + 1.258401302186647e+01 1.252863758019894e+01 1.247350127006052e+01 1.241860299544399e+01 1.236394167532885e+01 + 1.230951622025856e+01 1.225532549825102e+01 1.220136844757296e+01 1.214764407513537e+01 1.209415128431592e+01 + 1.204088897936275e+01 1.198785611322907e+01 1.193505164847797e+01 1.188247452422181e+01 1.183012365035161e+01 + 1.177799804372636e+01 1.172609672645034e+01 1.167441862559045e+01 1.162296270435431e+01 1.157172795813644e+01 + 1.152071338824009e+01 1.146991795771504e+01 1.141934063624516e+01 1.136898050295155e+01 1.131883658051165e+01 + 1.126890783457083e+01 1.121919328583311e+01 1.116969196974251e+01 1.112040291453270e+01 1.107132511138846e+01 + 1.102245760367597e+01 1.097379950683186e+01 1.092534984778681e+01 1.087710764406476e+01 1.082907196010627e+01 + 1.078124186863284e+01 1.073361642501848e+01 1.068619465441603e+01 1.063897567074718e+01 1.059195860734133e+01 + 1.054514250814830e+01 1.049852644360809e+01 1.045210951602862e+01 1.040589083229813e+01 1.035986946911022e+01 + 1.031404450080543e+01 1.026841510170119e+01 1.022298040707346e+01 1.017773949095798e+01 1.013269147478631e+01 + 1.008783549702620e+01 1.004317069189082e+01 9.998696157456914e+00 9.954411030186206e+00 9.910314523784715e+00 + 9.866405774945729e+00 9.822683900561229e+00 9.779148062474189e+00 9.735797433007823e+00 9.692631171490490e+00 + 9.649648402951970e+00 9.606848328743531e+00 9.564230182014787e+00 9.521793107635142e+00 9.479536270440141e+00 + 9.437458869806633e+00 9.395560106559989e+00 9.353839157926716e+00 9.312295192835592e+00 9.270927467731591e+00 + 9.229735216231479e+00 9.188717610212938e+00 9.147873860369382e+00 9.107203196336844e+00 9.066704846764596e+00 + 9.026378005702853e+00 8.986221892357717e+00 8.946235805206038e+00 8.906418978693665e+00 8.866770619316361e+00 + 8.827289975974383e+00 8.787976307390357e+00 8.748828863538764e+00 8.709846863139358e+00 8.671029583554503e+00 + 8.632376341244221e+00 8.593886376949055e+00 8.555558939921891e+00 8.517393311170933e+00 8.479388776756116e+00 + 8.441544603229096e+00 8.403860042243403e+00 8.366334424744339e+00 8.328967072292842e+00 8.291757243124138e+00 + 8.254704227472720e+00 8.217807335382002e+00 8.181065876905594e+00 8.144479133106664e+00 8.108046399433587e+00 + 8.071767047639053e+00 8.035640397926882e+00 7.999665736506032e+00 7.963842390434660e+00 7.928169696145141e+00 + 7.892646983285742e+00 7.857273552651162e+00 7.822048750599857e+00 7.786971968025827e+00 7.752042529333232e+00 + 7.717259758863888e+00 7.682623011133142e+00 7.648131647347260e+00 7.613785013617140e+00 7.579582436948184e+00 + 7.545523312250220e+00 7.511607037617057e+00 7.477832951167176e+00 7.444200413093294e+00 7.410708803334905e+00 + 7.377357505498556e+00 7.344145878673218e+00 7.311073286547245e+00 7.278139163173499e+00 7.245342906306997e+00 + 7.212683876663248e+00 7.180161467446147e+00 7.147775082852699e+00 7.115524124234772e+00 7.083407965702390e+00 + 7.051426016132217e+00 7.019577732801474e+00 6.987862512275252e+00 6.956279745475502e+00 6.924828855941318e+00 + 6.893509269882150e+00 6.862320401692200e+00 6.831261647888545e+00 6.800332460884749e+00 6.769532305211046e+00 + 6.738860589806862e+00 6.708316738463165e+00 6.677900193977888e+00 6.647610403615440e+00 6.617446795946176e+00 + 6.587408797932629e+00 6.557495898186097e+00 6.527707560796614e+00 6.498043211862364e+00 6.468502306113241e+00 + 6.439084309299234e+00 6.409788685242900e+00 6.380614873655190e+00 6.351562339061567e+00 6.322630595895343e+00 + 6.293819108127046e+00 6.265127326375664e+00 6.236554729526047e+00 6.208100805116588e+00 6.179765032202197e+00 + 6.151546864740690e+00 6.123445807150094e+00 6.095461385258917e+00 6.067593067877628e+00 6.039840335121551e+00 + 6.012202688508743e+00 5.984679633169969e+00 5.957270656961056e+00 5.929975240292937e+00 5.902792923627279e+00 + 5.875723232013562e+00 5.848765648702115e+00 5.821919682493143e+00 5.795184854142510e+00 5.768560683026402e+00 + 5.742046666390822e+00 5.715642318587924e+00 5.689347205919744e+00 5.663160851223163e+00 5.637082758311135e+00 + 5.611112458697719e+00 5.585249491519008e+00 5.559493390584049e+00 5.533843667789125e+00 5.508299872311603e+00 + 5.482861578646651e+00 5.457528314665947e+00 5.432299611523626e+00 5.407175018586152e+00 5.382154093094761e+00 + 5.357236378022760e+00 5.332421403106363e+00 5.307708752059064e+00 5.283098003376689e+00 5.258588694187007e+00 + 5.234180379291222e+00 5.209872626694981e+00 5.185665008050016e+00 5.161557074183171e+00 5.137548383980142e+00 + 5.113638545797982e+00 5.089827134282968e+00 5.066113702430728e+00 5.042497830741953e+00 5.018979105007048e+00 + 4.995557105455633e+00 4.972231392615168e+00 4.949001558388967e+00 4.925867224885915e+00 4.902827967986653e+00 + 4.879883363679411e+00 4.857033008673309e+00 4.834276503129009e+00 4.811613436797770e+00 4.789043387081744e+00 + 4.766565977795326e+00 4.744180833573695e+00 4.721887536130310e+00 4.699685684376157e+00 4.677574891583497e+00 + 4.655554772271826e+00 4.633624922898647e+00 4.611784942911348e+00 4.590034481232405e+00 4.568373160121153e+00 + 4.546800575450856e+00 4.525316347519302e+00 4.503920103923871e+00 4.482611469298424e+00 4.461390048788094e+00 + 4.440255471271009e+00 4.419207398665950e+00 4.398245451269402e+00 4.377369245425554e+00 4.356578419383048e+00 + 4.335872613273037e+00 4.315251459075552e+00 4.294714576337845e+00 4.274261622204341e+00 4.253892261314030e+00 + 4.233606119889290e+00 4.213402835603544e+00 4.193282059746365e+00 4.173243445650493e+00 4.153286631923412e+00 + 4.133411255497697e+00 4.113616998652003e+00 4.093903524786619e+00 4.074270469191258e+00 4.054717490515994e+00 + 4.035244253601178e+00 4.015850419023907e+00 3.996535633568783e+00 3.977299560905666e+00 3.958141896495164e+00 + 3.939062301025637e+00 3.920060427447142e+00 3.901135950094528e+00 3.882288544897898e+00 3.863517881118590e+00 + 3.844823615448907e+00 3.826205437051391e+00 3.807663047653544e+00 3.789196110563124e+00 3.770804297342049e+00 + 3.752487294212357e+00 3.734244789018890e+00 3.716076457976182e+00 3.697981972490954e+00 3.679961043694115e+00 + 3.662013372248035e+00 3.644138631063968e+00 3.626336509775109e+00 3.608606705542072e+00 3.590948914412318e+00 + 3.573362819793663e+00 3.555848115085657e+00 3.538404523614169e+00 3.521031745026515e+00 3.503729467883798e+00 + 3.486497394134707e+00 3.469335231734055e+00 3.452242686325544e+00 3.435219448952052e+00 3.418265234650198e+00 + 3.401379774604279e+00 3.384562769850576e+00 3.367813923930398e+00 3.351132951883403e+00 3.334519571031865e+00 + 3.317973491801103e+00 3.301494419647167e+00 3.285082090084510e+00 3.268736234671993e+00 3.252456560777042e+00 + 3.236242786971220e+00 3.220094639575606e+00 3.204011846234647e+00 3.187994121490988e+00 3.172041185626448e+00 + 3.156152791161071e+00 3.140328668842820e+00 3.124568535295174e+00 3.108872124034968e+00 3.093239171871656e+00 + 3.077669412161458e+00 3.062162565910707e+00 3.046718374098970e+00 3.031336596904380e+00 3.016016966139392e+00 + 3.000759212810465e+00 2.985563079528153e+00 2.970428312130104e+00 2.955354650145179e+00 2.940341825152254e+00 + 2.925389598488303e+00 2.910497731503551e+00 2.895665957526404e+00 2.880894022713473e+00 2.866181682137055e+00 + 2.851528688498591e+00 2.836934785005289e+00 2.822399718118186e+00 2.807923264019232e+00 2.793505182293368e+00 + 2.779145216423770e+00 2.764843124903896e+00 2.750598669795774e+00 2.736411610868753e+00 2.722281698431688e+00 + 2.708208697067331e+00 2.694192390113966e+00 2.680232535961204e+00 2.666328890540199e+00 2.652481222662398e+00 + 2.638689303226956e+00 2.624952898002155e+00 2.611271764144950e+00 2.597645683492627e+00 2.584074442444535e+00 + 2.570557801667266e+00 2.557095530257868e+00 2.543687406599445e+00 2.530333209423413e+00 2.517032707379746e+00 + 2.503785668122807e+00 2.490591889861845e+00 2.477451158950901e+00 2.464363243138197e+00 2.451327922049569e+00 + 2.438344980862380e+00 2.425414204994132e+00 2.412535368413293e+00 2.399708255484590e+00 2.386932671907132e+00 + 2.374208401602455e+00 2.361535223009603e+00 2.348912926727443e+00 2.336341305706971e+00 2.323820149408004e+00 + 2.311349238873846e+00 2.298928374328811e+00 2.286557363678248e+00 2.274235992966902e+00 2.261964052364815e+00 + 2.249741340335214e+00 2.237567658215990e+00 2.225442798573621e+00 2.213366549457367e+00 2.201338726388740e+00 + 2.189359138707274e+00 2.177427577694549e+00 2.165543843493499e+00 2.153707741170415e+00 2.141919076444355e+00 + 2.130177647034976e+00 2.118483256831743e+00 2.106835728234196e+00 2.095234867960482e+00 2.083680476325080e+00 + 2.072172364176171e+00 2.060710343839133e+00 2.049294224696878e+00 2.037923808395575e+00 2.026598913260298e+00 + 2.015319367985618e+00 2.004084979196668e+00 1.992895556108562e+00 1.981750916950703e+00 1.970650881000152e+00 + 1.959595261684839e+00 1.948583868145923e+00 1.937616532016987e+00 1.926693081878526e+00 1.915813328267264e+00 + 1.904977090405082e+00 1.894184192977273e+00 1.883434460875044e+00 1.872727710477953e+00 1.862063762090873e+00 + 1.851442457083682e+00 1.840863622251705e+00 1.830327074965862e+00 1.819832643502570e+00 1.809380158797907e+00 + 1.798969449793061e+00 1.788600336572885e+00 1.778272652771865e+00 1.767986244795942e+00 1.757740938619203e+00 + 1.747536560606076e+00 1.737372946411540e+00 1.727249932639099e+00 1.717167351154095e+00 1.707125028541288e+00 + 1.697122811212298e+00 1.687160545804055e+00 1.677238060829077e+00 1.667355192130723e+00 1.657511781312863e+00 + 1.647707669880958e+00 1.637942692337234e+00 1.628216684763444e+00 1.618529503053863e+00 1.608880992276723e+00 + 1.599270986915247e+00 1.589699330823691e+00 1.580165870897195e+00 1.570670452975510e+00 1.561212914561866e+00 + 1.551793103249197e+00 1.542410880472349e+00 1.533066090216831e+00 1.523758574579748e+00 1.514488184288800e+00 + 1.505254771462676e+00 1.496058184704016e+00 1.486898266759950e+00 1.477774877044576e+00 1.468687878023066e+00 + 1.459637114930725e+00 1.450622438289068e+00 1.441643704572125e+00 1.432700770639202e+00 1.423793487269355e+00 + 1.414921704769478e+00 1.406085292220042e+00 1.397284110913275e+00 1.388518010515092e+00 1.379786849127615e+00 + 1.371090488107240e+00 1.362428788219066e+00 1.353801602746353e+00 1.345208792137069e+00 1.336650231141558e+00 + 1.328125779708811e+00 1.319635294146069e+00 1.311178639017341e+00 1.302755680403749e+00 1.294366281732825e+00 + 1.286010300246468e+00 1.277687607130681e+00 1.269398079017509e+00 1.261141576506052e+00 1.252917963373013e+00 + 1.244727109229262e+00 1.236568884548108e+00 1.228443154841189e+00 1.220349783647821e+00 1.212288651549746e+00 + 1.204259634287000e+00 1.196262595500517e+00 1.188297406122070e+00 1.180363940507803e+00 1.172462072687314e+00 + 1.164591670206239e+00 1.156752605274376e+00 1.148944764287503e+00 1.141168021685895e+00 1.133422246839356e+00 + 1.125707316556084e+00 1.118023109341937e+00 1.110369501923575e+00 1.102746365022667e+00 1.095153580538906e+00 + 1.087591037394418e+00 1.080058609806265e+00 1.072556173728377e+00 1.065083611042832e+00 1.057640804167975e+00 + 1.050227631677888e+00 1.042843969448370e+00 1.035489708218281e+00 1.028164736497249e+00 1.020868930712798e+00 + 1.013602173363602e+00 1.006364350528145e+00 9.991553480860069e-01 9.919750464549014e-01 9.848233287198007e-01 + 9.777000916381701e-01 9.706052224312447e-01 9.635386022157533e-01 9.565001191688937e-01 9.494896630661879e-01 + 9.425071223228538e-01 9.355523797940184e-01 9.286253271866921e-01 9.217258644183214e-01 9.148538781303724e-01 + 9.080092551050607e-01 9.011918879859632e-01 8.944016703005543e-01 8.876384924746002e-01 8.809022413584221e-01 + 8.741928168976413e-01 8.675101190938330e-01 8.608540359442419e-01 8.542244603473701e-01 8.476212889430066e-01 + 8.410444181391276e-01 8.344937399710189e-01 8.279691476350027e-01 8.214705470141707e-01 8.149978368018493e-01 + 8.085509088588196e-01 8.021296614287111e-01 7.957339944800463e-01 7.893638070383275e-01 7.830189931350516e-01 + 7.766994532966268e-01 7.704050967403675e-01 7.641358215802615e-01 7.578915247022724e-01 7.516721083807270e-01 + 7.454774759379389e-01 7.393075284143857e-01 7.331621629407183e-01 7.270412875750237e-01 7.209448123528730e-01 + 7.148726361079928e-01 7.088246610576617e-01 7.028007931997213e-01 6.968009387204053e-01 6.908250000358214e-01 + 6.848728793751606e-01 6.789444908271167e-01 6.730397435251165e-01 6.671585392499849e-01 6.613007849024644e-01 + 6.554663896318030e-01 6.496552624588109e-01 6.438673070778183e-01 6.381024319556428e-01 6.323605552121262e-01 + 6.266415850605696e-01 6.209454272475601e-01 6.152719929073242e-01 6.096211942955035e-01 6.039929419697414e-01 + 5.983871423673978e-01 5.928037109278776e-01 5.872425665727200e-01 5.817036179262789e-01 5.761867757580472e-01 + 5.706919545755328e-01 5.652190691753797e-01 5.597680312855905e-01 5.543387515608681e-01 5.489311514266204e-01 + 5.435451491959484e-01 5.381806555529779e-01 5.328375858091706e-01 5.275158573424954e-01 5.222153871968650e-01 + 5.169360885007255e-01 5.116778775087658e-01 5.064406794925096e-01 5.012244118255510e-01 4.960289886382637e-01 + 4.908543290552675e-01 4.857003532629381e-01 4.805669801867241e-01 4.754541247133137e-01 4.703617092625736e-01 + 4.652896609026711e-01 4.602378967146020e-01 4.552063350475851e-01 4.501948983226124e-01 4.452035092771810e-01 + 4.402320879227842e-01 4.352805523654864e-01 4.303488309750054e-01 4.254368504386150e-01 4.205445290166767e-01 + 4.156717895856258e-01 4.108185573527897e-01 4.059847567861119e-01 4.011703090912549e-01 3.963751374739253e-01 + 3.915991740467544e-01 3.868423443729578e-01 3.821045699452743e-01 3.773857771630841e-01 3.726858934536713e-01 + 3.680048452743795e-01 3.633425553945757e-01 3.586989523890614e-01 3.540739701811214e-01 3.494675340422360e-01 + 3.448795694018267e-01 3.403100055229290e-01 3.357587720701978e-01 3.312257966625470e-01 3.267110046986084e-01 + 3.222143302305144e-01 3.177357072575733e-01 3.132750617821559e-01 3.088323230437107e-01 3.044074228278458e-01 + 3.000002929514869e-01 2.956108619814004e-01 2.912390591663653e-01 2.868848226223222e-01 2.825480855369588e-01 + 2.782287763584979e-01 2.739268276304007e-01 2.696421732978619e-01 2.653747469077652e-01 2.611244782932083e-01 + 2.568913016367161e-01 2.526751570146955e-01 2.484759769388697e-01 2.442936932048949e-01 2.401282413902519e-01 + 2.359795575701045e-01 2.318475761710866e-01 2.277322290127450e-01 2.236334554284879e-01 2.195511960314929e-01 + 2.154853836729677e-01 2.114359536211432e-01 2.074028437636633e-01 2.033859920182897e-01 1.993853337119912e-01 + 1.954008040589642e-01 1.914323463143237e-01 1.874799002688242e-01 1.835434007181165e-01 1.796227861758036e-01 + 1.757179964922509e-01 1.718289711649378e-01 1.679556465242757e-01 1.640979620393169e-01 1.602558632656972e-01 + 1.564292893436780e-01 1.526181778855338e-01 1.488224700413446e-01 1.450421075715582e-01 1.412770310767497e-01 + 1.375271785489454e-01 1.337924939887067e-01 1.300729236356154e-01 1.263684067750867e-01 1.226788841702678e-01 + 1.190042991249222e-01 1.153445951805052e-01 1.116997137432381e-01 1.080695954417651e-01 1.044541881911586e-01 + 1.008534377603918e-01 9.726728475975084e-02 9.369567294988820e-02 9.013854752144720e-02 8.659585347215112e-02 + 8.306753302147955e-02 7.955353046975124e-02 7.605379621791922e-02 7.256827534889604e-02 6.909691079142652e-02 + 6.563964883225221e-02 6.219643640409570e-02 5.876721959493493e-02 5.535194193553600e-02 5.195055179453398e-02 + 4.856300050562060e-02 4.518923308325209e-02 4.182919528191363e-02 3.848283536820589e-02 3.515010193539807e-02 + 3.183094185890936e-02 2.852530077920949e-02 2.523313079087341e-02 2.195438300307553e-02 1.868900335629075e-02 + 1.543694036357313e-02 1.219814405293583e-02 8.972564385828061e-03 5.760148923624660e-03 2.560846417529306e-03 + -6.253884489496408e-04 -3.798605206001689e-03 -6.958856024607482e-03 -1.010619000899848e-02 -1.324065554473652e-02 + -1.636230159824732e-02 -1.947117958312726e-02 -2.256733711284757e-02 -2.565081832749929e-02 -2.872167302619957e-02 + -3.177995089902724e-02 -3.482569914268617e-02 -3.785896464500105e-02 -4.087979562235380e-02 -4.388824175488684e-02 + -4.688434717766576e-02 -4.986815604286890e-02 -5.283971753775529e-02 -5.579907881824794e-02 -5.874628546589089e-02 + -6.168138307363240e-02 -6.460441923558070e-02 -6.751544105442296e-02 -7.041449003639784e-02 -7.330161087707579e-02 + -7.617685125406765e-02 -7.904025608548425e-02 -8.189186951723537e-02 -8.473173608907363e-02 -8.755990257827875e-02 + -9.037641289395969e-02 -9.318130717201861e-02 -9.597463047763352e-02 -9.875642835115833e-02 -1.015267439140877e-01 + -1.042856199263307e-01 -1.070331001684683e-01 -1.097692300567918e-01 -1.124940502948268e-01 -1.152076007898061e-01 + -1.179099262631479e-01 -1.206010699593113e-01 -1.232810735016665e-01 -1.259499784255051e-01 -1.286078279418341e-01 + -1.312546653333709e-01 -1.338905286984875e-01 -1.365154583874092e-01 -1.391294979538990e-01 -1.417326885345280e-01 + -1.443250704192513e-01 -1.469066841433861e-01 -1.494775722507627e-01 -1.520377752494497e-01 -1.545873297590701e-01 + -1.571262765202916e-01 -1.596546572452540e-01 -1.621725113907878e-01 -1.646798779801165e-01 -1.671767967821347e-01 + -1.696633092874520e-01 -1.721394530811854e-01 -1.746052643091513e-01 -1.770607836101869e-01 -1.795060506428017e-01 + -1.819411034225526e-01 -1.843659798390828e-01 -1.867807191554161e-01 -1.891853611111403e-01 -1.915799407499077e-01 + -1.939644945120454e-01 -1.963390621459183e-01 -1.987036813730624e-01 -2.010583889984393e-01 -2.034032219467188e-01 + -2.057382189127211e-01 -2.080634172465200e-01 -2.103788504106409e-01 -2.126845552585028e-01 -2.149805700057577e-01 + -2.172669307458855e-01 -2.195436731393316e-01 -2.218108333786645e-01 -2.240684493062661e-01 -2.263165556286022e-01 + -2.285551851690127e-01 -2.307843748874083e-01 -2.330041611277884e-01 -2.352145785311434e-01 -2.374156618282909e-01 + -2.396074467707450e-01 -2.417899696732801e-01 -2.439632627554057e-01 -2.461273590292558e-01 -2.482822949571798e-01 + -2.504281050002428e-01 -2.525648226666662e-01 -2.546924818382261e-01 -2.568111176810049e-01 -2.589207645010757e-01 + -2.610214530059819e-01 -2.631132165202481e-01 -2.651960899948890e-01 -2.672701065219724e-01 -2.693352987894519e-01 + -2.713916998229662e-01 -2.734393439668777e-01 -2.754782632038173e-01 -2.775084874639143e-01 -2.795300503441993e-01 + -2.815429852855671e-01 -2.835473240274155e-01 -2.855430981234691e-01 -2.875303400246380e-01 -2.895090831627840e-01 + -2.914793573631382e-01 -2.934411924374482e-01 -2.953946213942734e-01 -2.973396760049649e-01 -2.992763870705049e-01 + -3.012047853752455e-01 -3.031249029054077e-01 -3.050367713048046e-01 -3.069404187491607e-01 -3.088358754333808e-01 + -3.107231733999588e-01 -3.126023429151826e-01 -3.144734138246973e-01 -3.163364162512183e-01 -3.181913814969073e-01 + -3.200383391593082e-01 -3.218773166629695e-01 -3.237083442965246e-01 -3.255314526206347e-01 -3.273466708133588e-01 + -3.291540279174764e-01 -3.309535535062730e-01 -3.327452779044484e-01 -3.345292286746930e-01 -3.363054329977739e-01 + -3.380739209920870e-01 -3.398347217688169e-01 -3.415878634526212e-01 -3.433333743100879e-01 -3.450712833788954e-01 + -3.468016195958206e-01 -3.485244091566739e-01 -3.502396793974815e-01 -3.519474593420066e-01 -3.536477770380763e-01 + -3.553406598299846e-01 -3.570261348354672e-01 -3.587042307855341e-01 -3.603749751839582e-01 -3.620383929731605e-01 + -3.636945116923384e-01 -3.653433594409278e-01 -3.669849628231984e-01 -3.686193482790397e-01 -3.702465427747400e-01 + -3.718665743211436e-01 -3.734794684043725e-01 -3.750852495624684e-01 -3.766839451194457e-01 -3.782755819189342e-01 + -3.798601858648072e-01 -3.814377826321034e-01 -3.830083986549013e-01 -3.845720606417443e-01 -3.861287926090124e-01 + -3.876786193539286e-01 -3.892215675502101e-01 -3.907576628594260e-01 -3.922869303026715e-01 -3.938093947284727e-01 + -3.953250822556230e-01 -3.968340182497304e-01 -3.983362256494206e-01 -3.998317293097848e-01 -4.013205549386248e-01 + -4.028027272117153e-01 -4.042782703087232e-01 -4.057472086115670e-01 -4.072095677082399e-01 -4.086653712889545e-01 + -4.101146418277140e-01 -4.115574040934622e-01 -4.129936826934361e-01 -4.144235014035024e-01 -4.158468836578273e-01 + -4.172638535617268e-01 -4.186744357650895e-01 -4.200786523524958e-01 -4.214765258006608e-01 -4.228680805923657e-01 + -4.242533401481378e-01 -4.256323273241845e-01 -4.270050650780072e-01 -4.283715771591216e-01 -4.297318868367957e-01 + -4.310860152683936e-01 -4.324339850671611e-01 -4.337758197699306e-01 -4.351115419219263e-01 -4.364411736856622e-01 + -4.377647373653272e-01 -4.390822563519974e-01 -4.403937525793140e-01 -4.416992465950099e-01 -4.429987609092939e-01 + -4.442923180804305e-01 -4.455799398898891e-01 -4.468616477876415e-01 -4.481374637930542e-01 -4.494074106490894e-01 + -4.506715085877422e-01 -4.519297779021105e-01 -4.531822412097039e-01 -4.544289201442401e-01 -4.556698355752103e-01 + -4.569050083194456e-01 -4.581344599890250e-01 -4.593582121055255e-01 -4.605762842891920e-01 -4.617886970897419e-01 + -4.629954719556403e-01 -4.641966295426422e-01 -4.653921902577345e-01 -4.665821746143150e-01 -4.677666038635413e-01 + -4.689454981292748e-01 -4.701188761476531e-01 -4.712867586709557e-01 -4.724491664926360e-01 -4.736061192593240e-01 + -4.747576368456714e-01 -4.759037394682022e-01 -4.770444475543998e-01 -4.781797800875144e-01 -4.793097558338887e-01 + -4.804343950164401e-01 -4.815537175042383e-01 -4.826677426390972e-01 -4.837764894228364e-01 -4.848799775883490e-01 + -4.859782270303963e-01 -4.870712557287352e-01 -4.881590823344398e-01 -4.892417265305033e-01 -4.903192072931410e-01 + -4.913915433426016e-01 -4.924587534540600e-01 -4.935208569593936e-01 -4.945778724869024e-01 -4.956298174121960e-01 + -4.966767104426105e-01 -4.977185705977166e-01 -4.987554161795947e-01 -4.997872652579317e-01 -5.008141361357437e-01 + -5.018360477540788e-01 -5.028530175622089e-01 -5.038650625463708e-01 -5.048722015765362e-01 -5.058744527800632e-01 + -5.068718334710337e-01 -5.078643614554021e-01 -5.088520548881869e-01 -5.098349318298798e-01 -5.108130088001350e-01 + -5.117863028619736e-01 -5.127548322161382e-01 -5.137186142245088e-01 -5.146776659499980e-01 -5.156320045833772e-01 + -5.165816478015819e-01 -5.175266128170244e-01 -5.184669156304091e-01 -5.194025733016244e-01 -5.203336032597101e-01 + -5.212600221732120e-01 -5.221818466804444e-01 -5.230990936596679e-01 -5.240117804553392e-01 -5.249199232262068e-01 + -5.258235374392936e-01 -5.267226400387954e-01 -5.276172478389746e-01 -5.285073771019844e-01 -5.293930438910602e-01 + -5.302742646986305e-01 -5.311510563423283e-01 -5.320234339437281e-01 -5.328914129379527e-01 -5.337550101355577e-01 + -5.346142414983102e-01 -5.354691226448078e-01 -5.363196694209366e-01 -5.371658979374595e-01 -5.380078240078261e-01 + -5.388454624615836e-01 -5.396788287704753e-01 -5.405079388378121e-01 -5.413328081929075e-01 -5.421534521210617e-01 + -5.429698859177164e-01 -5.437821254261226e-01 -5.445901856060492e-01 -5.453940806517681e-01 -5.461938261275164e-01 + -5.469894375147514e-01 -5.477809296410460e-01 -5.485683172596564e-01 -5.493516154047422e-01 -5.501308394233321e-01 + -5.509060035978606e-01 -5.516771220917993e-01 -5.524442098036262e-01 -5.532072816062331e-01 -5.539663521228516e-01 + -5.547214355736525e-01 -5.554725467511782e-01 -5.562197004144761e-01 -5.569629099559865e-01 -5.577021895124128e-01 + -5.584375539231472e-01 -5.591690174427206e-01 -5.598965939391384e-01 -5.606202972403660e-01 -5.613401421520022e-01 + -5.620561426054913e-01 -5.627683113219669e-01 -5.634766626491997e-01 -5.641812109417922e-01 -5.648819696019924e-01 + -5.655789522526887e-01 -5.662721727674018e-01 -5.669616451334641e-01 -5.676473824290281e-01 -5.683293976251365e-01 + -5.690077046537543e-01 -5.696823171027902e-01 -5.703532481968968e-01 -5.710205111045815e-01 -5.716841193018837e-01 + -5.723440862989044e-01 -5.730004247377283e-01 -5.736531475408438e-01 -5.743022680808630e-01 -5.749477994635019e-01 + -5.755897545119250e-01 -5.762281459317424e-01 -5.768629872133108e-01 -5.774942912813225e-01 -5.781220698864685e-01 + -5.787463360372200e-01 -5.793671029370097e-01 -5.799843829591812e-01 -5.805981885004621e-01 -5.812085322229668e-01 + -5.818154271777390e-01 -5.824188854500640e-01 -5.830189187855023e-01 -5.836155400127914e-01 -5.842087616519486e-01 + -5.847985957903102e-01 -5.853850545399070e-01 -5.859681502822114e-01 -5.865478954643482e-01 -5.871243015837295e-01 + -5.876973804424807e-01 -5.882671445115567e-01 -5.888336058093040e-01 -5.893967761301214e-01 -5.899566672475657e-01 + -5.905132912554449e-01 -5.910666600004119e-01 -5.916167846344484e-01 -5.921636769312483e-01 -5.927073488739303e-01 + -5.932478119884005e-01 -5.937850777230974e-01 -5.943191576345895e-01 -5.948500635775013e-01 -5.953778067525587e-01 + -5.959023980172641e-01 -5.964238491804477e-01 -5.969421717317064e-01 -5.974573766302176e-01 -5.979694750153504e-01 + -5.984784782975928e-01 -5.989843980133127e-01 -5.994872448737363e-01 -5.999870296226286e-01 -6.004837635008013e-01 + -6.009774575116591e-01 -6.014681225640990e-01 -6.019557696406324e-01 -6.024404098188824e-01 -6.029220539582525e-01 + -6.034007123251734e-01 -6.038763957092128e-01 -6.043491151546724e-01 -6.048188811990667e-01 -6.052857043294740e-01 + -6.057495951725935e-01 -6.062105647034982e-01 -6.066686232996821e-01 -6.071237808282512e-01 -6.075760480581535e-01 + -6.080254356249652e-01 -6.084719536597242e-01 -6.089156123708600e-01 -6.093564221655233e-01 -6.097943936088406e-01 + -6.102295366277345e-01 -6.106618611466814e-01 -6.110913776082281e-01 -6.115180960018122e-01 -6.119420262061138e-01 + -6.123631785057825e-01 -6.127815629923925e-01 -6.131971895415724e-01 -6.136100679122567e-01 -6.140202079254689e-01 + -6.144276194632986e-01 -6.148323123693087e-01 -6.152342964516117e-01 -6.156335814880438e-01 -6.160301772367670e-01 + -6.164240932773791e-01 -6.168153390131846e-01 -6.172039241057757e-01 -6.175898582479540e-01 -6.179731510100582e-01 + -6.183538118537011e-01 -6.187318502245757e-01 -6.191072755983122e-01 -6.194800972241303e-01 -6.198503243163954e-01 + -6.202179663089392e-01 -6.205830326036273e-01 -6.209455324825972e-01 -6.213054750121583e-01 -6.216628693834372e-01 + -6.220177248671027e-01 -6.223700505100402e-01 -6.227198553511943e-01 -6.230671484590707e-01 -6.234119388224310e-01 + -6.237542354039819e-01 -6.240940471906395e-01 -6.244313833278470e-01 -6.247662526956897e-01 -6.250986637315333e-01 + -6.254286253149073e-01 -6.257561464374979e-01 -6.260812358699522e-01 -6.264039022632663e-01 -6.267241542804416e-01 + -6.270420007239386e-01 -6.273574502418447e-01 -6.276705113436000e-01 -6.279811924920996e-01 -6.282895022600340e-01 + -6.285954492669960e-01 -6.288990419377586e-01 -6.292002887596219e-01 -6.294991982474318e-01 -6.297957785295903e-01 + -6.300900379535952e-01 -6.303819851813233e-01 -6.306716282540937e-01 -6.309589752809680e-01 -6.312440348023121e-01 + -6.315268150763020e-01 -6.318073241903770e-01 -6.320855701836068e-01 -6.323615610879741e-01 -6.326353050044859e-01 + -6.329068101802829e-01 -6.331760846635813e-01 -6.334431363818833e-01 -6.337079733473078e-01 -6.339706034520735e-01 + -6.342310345121693e-01 -6.344892744839461e-01 -6.347453312805855e-01 -6.349992127114430e-01 -6.352509264768633e-01 + -6.355004804526597e-01 -6.357478826585540e-01 -6.359931404400122e-01 -6.362362612918424e-01 -6.364772532644518e-01 + -6.367161239398067e-01 -6.369528807876881e-01 -6.371875315012039e-01 -6.374200836672138e-01 -6.376505447719858e-01 + -6.378789222449943e-01 -6.381052236017390e-01 -6.383294563385360e-01 -6.385516277126226e-01 -6.387717451483415e-01 + -6.389898161925324e-01 -6.392058481779943e-01 -6.394198483013303e-01 -6.396318237129481e-01 -6.398417817583982e-01 + -6.400497298004382e-01 -6.402556751053731e-01 -6.404596246811356e-01 -6.406615856182318e-01 -6.408615652398488e-01 + -6.410595705960431e-01 -6.412556087124355e-01 -6.414496867908267e-01 -6.416418117430738e-01 -6.418319904244396e-01 + -6.420202299552208e-01 -6.422065373268501e-01 -6.423909194238488e-01 -6.425733831564441e-01 -6.427539354568388e-01 + -6.429325832107947e-01 -6.431093330874931e-01 -6.432841919278923e-01 -6.434571667152847e-01 -6.436282640341581e-01 + -6.437974905134223e-01 -6.439648529819666e-01 -6.441303582355420e-01 -6.442940129046214e-01 -6.444558234243410e-01 + -6.446157964842297e-01 -6.447739387669796e-01 -6.449302567289288e-01 -6.450847570451982e-01 -6.452374463418470e-01 + -6.453883308317777e-01 -6.455374170518916e-01 -6.456847116523639e-01 -6.458302208459006e-01 -6.459739509825424e-01 + -6.461159085765001e-01 -6.462561000624228e-01 -6.463945317857885e-01 -6.465312099893501e-01 -6.466661407794220e-01 + -6.467993305071421e-01 -6.469307857586633e-01 -6.470605124176557e-01 -6.471885165505020e-01 -6.473148048129491e-01 + -6.474393831451855e-01 -6.475622574433044e-01 -6.476834341411803e-01 -6.478029193005811e-01 -6.479207188186653e-01 + -6.480368387749067e-01 -6.481512852365653e-01 -6.482640642356557e-01 -6.483751817763184e-01 -6.484846438333333e-01 + -6.485924563559199e-01 -6.486986252696630e-01 -6.488031563964390e-01 -6.489060555062011e-01 -6.490073285956434e-01 + -6.491069816182633e-01 -6.492050203757027e-01 -6.493014505946639e-01 -6.493962779796888e-01 -6.494895082497514e-01 + -6.495811472172135e-01 -6.496712006463234e-01 -6.497596741452655e-01 -6.498465734697708e-01 -6.499319043537729e-01 + -6.500156722751166e-01 -6.500978828758883e-01 -6.501785418212779e-01 -6.502576544563589e-01 -6.503352264336196e-01 + -6.504112635780723e-01 -6.504857712206107e-01 -6.505587548117625e-01 -6.506302199692129e-01 -6.507001719669850e-01 + -6.507686161481057e-01 -6.508355580770583e-01 -6.509010033515999e-01 -6.509649573333303e-01 -6.510274250599254e-01 + -6.510884119408136e-01 -6.511479234691252e-01 -6.512059649357221e-01 -6.512625414820176e-01 -6.513176583196066e-01 + -6.513713209657690e-01 -6.514235346566493e-01 -6.514743044494572e-01 -6.515236355351222e-01 -6.515715331668240e-01 + -6.516180025498758e-01 -6.516630486086969e-01 -6.517066764698182e-01 -6.517488914696901e-01 -6.517896986474616e-01 + -6.518291029696229e-01 -6.518671094474887e-01 -6.519037232298822e-01 -6.519389493677847e-01 -6.519727927034696e-01 + -6.520052582102593e-01 -6.520363509344871e-01 -6.520660759114448e-01 -6.520944379877177e-01 -6.521214419863292e-01 + -6.521470929034477e-01 -6.521713955379932e-01 -6.521943546611896e-01 -6.522159753870301e-01 -6.522362625000242e-01 + -6.522552205660485e-01 -6.522728545508729e-01 -6.522891692872490e-01 -6.523041693781095e-01 -6.523178594474156e-01 + -6.523302443147758e-01 -6.523413289626511e-01 -6.523511179648659e-01 -6.523596158248584e-01 -6.523668271884714e-01 + -6.523727568212391e-01 -6.523774093997819e-01 -6.523807893579161e-01 -6.523829012952149e-01 -6.523837498990516e-01 + -6.523833397960367e-01 -6.523816754611410e-01 -6.523787613199525e-01 -6.523746019358498e-01 -6.523692018302728e-01 + -6.523625654555820e-01 -6.523546972248629e-01 -6.523456017173497e-01 -6.523352835702680e-01 -6.523237468711672e-01 + -6.523109959032295e-01 -6.522970353197415e-01 -6.522818693382445e-01 -6.522655022842732e-01 -6.522479388337681e-01 + -6.522291831409690e-01 -6.522092393163972e-01 -6.521881118419591e-01 -6.521658050464721e-01 -6.521423231008568e-01 + -6.521176700882644e-01 -6.520918504277817e-01 -6.520648685798258e-01 -6.520367284462982e-01 -6.520074341903623e-01 + -6.519769901852531e-01 -6.519454004576026e-01 -6.519126690272374e-01 -6.518788000417296e-01 -6.518437978790763e-01 + -6.518076667685843e-01 -6.517704106505043e-01 -6.517320333460206e-01 -6.516925389358605e-01 -6.516519318553129e-01 + -6.516102158220000e-01 -6.515673946405215e-01 -6.515234728464969e-01 -6.514784543315630e-01 -6.514323427842886e-01 + -6.513851423523833e-01 -6.513368570527661e-01 -6.512874907235414e-01 -6.512370470939771e-01 -6.511855301990920e-01 + -6.511329442190841e-01 -6.510792928715797e-01 -6.510245798816351e-01 -6.509688091361985e-01 -6.509119847142907e-01 + -6.508541103488035e-01 -6.507951894034477e-01 -6.507352259931611e-01 -6.506742241942834e-01 -6.506121876059120e-01 + -6.505491199228429e-01 -6.504850249436106e-01 -6.504199065016956e-01 -6.503537680222150e-01 -6.502866130342899e-01 + -6.502184457971011e-01 -6.501492700279957e-01 -6.500790890906794e-01 -6.500079066129352e-01 -6.499357263329657e-01 + -6.498625519683058e-01 -6.497883869826074e-01 -6.497132350047277e-01 -6.496370998048885e-01 -6.495599847614121e-01 + -6.494818934475555e-01 -6.494028297363450e-01 -6.493227969968260e-01 -6.492417985197620e-01 -6.491598378013752e-01 + -6.490769185970405e-01 -6.489930446200032e-01 -6.489082192796405e-01 -6.488224457999440e-01 -6.487357275334984e-01 + -6.486480682838258e-01 -6.485594713376021e-01 -6.484699398068251e-01 -6.483794774339799e-01 -6.482880877536140e-01 + -6.481957740532812e-01 -6.481025397024727e-01 -6.480083880017639e-01 -6.479133221889776e-01 -6.478173456351086e-01 + -6.477204618036257e-01 -6.476226741599570e-01 -6.475239858039916e-01 -6.474243999826228e-01 -6.473239202990485e-01 + -6.472225498463482e-01 -6.471202916312221e-01 -6.470171489638400e-01 -6.469131252405815e-01 -6.468082238277443e-01 + -6.467024479420175e-01 -6.465958006550642e-01 -6.464882850509053e-01 -6.463799044773618e-01 -6.462706620382276e-01 + -6.461605607272912e-01 -6.460496040101232e-01 -6.459377950690467e-01 -6.458251367734501e-01 -6.457116323868038e-01 + -6.455972850655802e-01 -6.454820977029684e-01 -6.453660732942879e-01 -6.452492150754419e-01 -6.451315264887545e-01 + -6.450130102914885e-01 -6.448936692680686e-01 -6.447735068128447e-01 -6.446525260129213e-01 -6.445307296530088e-01 + -6.444081203587793e-01 -6.442847014715996e-01 -6.441604765089356e-01 -6.440354480546840e-01 -6.439096188724848e-01 + -6.437829920095609e-01 -6.436555704731397e-01 -6.435273570693492e-01 -6.433983545533010e-01 -6.432685663163126e-01 + -6.431379953365300e-01 -6.430066439769492e-01 -6.428745153347271e-01 -6.427416124750638e-01 -6.426079380140648e-01 + -6.424734947555180e-01 -6.423382856273998e-01 -6.422023135830728e-01 -6.420655814260000e-01 -6.419280919255173e-01 + -6.417898479598759e-01 -6.416508523135933e-01 -6.415111076305331e-01 -6.413706163966455e-01 -6.412293816393564e-01 + -6.410874066048897e-01 -6.409446936267265e-01 -6.408012453136449e-01 -6.406570646910840e-01 -6.405121544270317e-01 + -6.403665170374713e-01 -6.402201550644944e-01 -6.400730715072882e-01 -6.399252691822962e-01 -6.397767504407681e-01 + -6.396275180930010e-01 -6.394775749890055e-01 -6.393269236107165e-01 -6.391755662191552e-01 -6.390235053902433e-01 + -6.388707445708105e-01 -6.387172861694177e-01 -6.385631322023312e-01 -6.384082857966726e-01 -6.382527494896121e-01 + -6.380965253642142e-01 -6.379396162401521e-01 -6.377820248167250e-01 -6.376237535602883e-01 -6.374648052204416e-01 + -6.373051823107587e-01 -6.371448870124290e-01 -6.369839218821269e-01 -6.368222895078627e-01 -6.366599923302766e-01 + -6.364970329561520e-01 -6.363334139746031e-01 -6.361691377885151e-01 -6.360042067688202e-01 -6.358386233547334e-01 + -6.356723901317635e-01 -6.355055093799952e-01 -6.353379833438523e-01 -6.351698147827204e-01 -6.350010061497325e-01 + -6.348315596278746e-01 -6.346614776297652e-01 -6.344907627044540e-01 -6.343194173354602e-01 -6.341474433478579e-01 + -6.339748431233465e-01 -6.338016197812808e-01 -6.336277753787244e-01 -6.334533118997744e-01 -6.332782318265875e-01 + -6.331025376588558e-01 -6.329262316544187e-01 -6.327493157114107e-01 -6.325717923863455e-01 -6.323936643403999e-01 + -6.322149336030685e-01 -6.320356024195775e-01 -6.318556731749607e-01 -6.316751480498738e-01 -6.314940290711796e-01 + -6.313123183267710e-01 -6.311300184615836e-01 -6.309471319109403e-01 -6.307636607640942e-01 -6.305796070902886e-01 + -6.303949730482692e-01 -6.302097608691579e-01 -6.300239725606558e-01 -6.298376103756032e-01 -6.296506769748604e-01 + -6.294631743864889e-01 -6.292751044804592e-01 -6.290864694027335e-01 -6.288972714311484e-01 -6.287075127245377e-01 + -6.285171950849623e-01 -6.283263208775478e-01 -6.281348926187029e-01 -6.279429120773061e-01 -6.277503812180564e-01 + -6.275573022752827e-01 -6.273636774541002e-01 -6.271695087389834e-01 -6.269747979757735e-01 -6.267795473573458e-01 + -6.265837591630624e-01 -6.263874355834504e-01 -6.261905784094625e-01 -6.259931895045528e-01 -6.257952710369122e-01 + -6.255968250363517e-01 -6.253978534898084e-01 -6.251983584520242e-01 -6.249983420853732e-01 -6.247978064572296e-01 + -6.245967533125147e-01 -6.243951846742302e-01 -6.241931026018996e-01 -6.239905086686763e-01 -6.237874050561640e-01 + -6.235837942608177e-01 -6.233796778475696e-01 -6.231750576026635e-01 -6.229699356978790e-01 -6.227643140512986e-01 + -6.225581944126894e-01 -6.223515785171654e-01 -6.221444686516174e-01 -6.219368669106876e-01 -6.217287748516653e-01 + -6.215201944179222e-01 -6.213111276341791e-01 -6.211015763012264e-01 -6.208915420627059e-01 -6.206810267189914e-01 + -6.204700325606027e-01 -6.202585614407183e-01 -6.200466150025669e-01 -6.198341952555039e-01 -6.196213039807257e-01 + -6.194079427661365e-01 -6.191941133919308e-01 -6.189798178811384e-01 -6.187650583625046e-01 -6.185498365366234e-01 + -6.183341539791172e-01 -6.181180123373080e-01 -6.179014136693182e-01 -6.176843597571294e-01 -6.174668518753883e-01 + -6.172488922358068e-01 -6.170304830078728e-01 -6.168116255085183e-01 -6.165923213940302e-01 -6.163725725542526e-01 + -6.161523808379610e-01 -6.159317477445455e-01 -6.157106747923912e-01 -6.154891641891720e-01 -6.152672177134336e-01 + -6.150448367622374e-01 -6.148220230127394e-01 -6.145987783325538e-01 -6.143751045698781e-01 -6.141510029326600e-01 + -6.139264750393221e-01 -6.137015231470567e-01 -6.134761489851926e-01 -6.132503540152313e-01 -6.130241396532106e-01 + -6.127975076851865e-01 -6.125704598048077e-01 -6.123429972989166e-01 -6.121151221351967e-01 -6.118868363314907e-01 + -6.116581411278224e-01 -6.114290380220153e-01 -6.111995287783158e-01 -6.109696151823703e-01 -6.107392985450728e-01 + -6.105085801024925e-01 -6.102774622058419e-01 -6.100459465922933e-01 -6.098140342484372e-01 -6.095817267256873e-01 + -6.093490257933440e-01 -6.091159331809802e-01 -6.088824500709522e-01 -6.086485779905337e-01 -6.084143191489354e-01 + -6.081796748129595e-01 -6.079446461968719e-01 -6.077092351925356e-01 -6.074734432434898e-01 -6.072372716150822e-01 + -6.070007218360295e-01 -6.067637956065657e-01 -6.065264946232775e-01 -6.062888203126375e-01 -6.060507740692458e-01 + -6.058123573561740e-01 -6.055735718185850e-01 -6.053344188005130e-01 -6.050948994718379e-01 -6.048550157592759e-01 + -6.046147693250087e-01 -6.043741612917217e-01 -6.041331930896253e-01 -6.038918662688606e-01 -6.036501823335466e-01 + -6.034081424814672e-01 -6.031657481058161e-01 -6.029230011393863e-01 -6.026799028730719e-01 -6.024364544399844e-01 + -6.021926574869638e-01 -6.019485136055120e-01 -6.017040241022006e-01 -6.014591897708976e-01 -6.012140122415236e-01 + -6.009684936432825e-01 -6.007226351565053e-01 -6.004764378633045e-01 -6.002299030368295e-01 -5.999830322604393e-01 + -5.997358269112610e-01 -5.994882881008079e-01 -5.992404174674395e-01 -5.989922165630734e-01 -5.987436865327392e-01 + -5.984948286273432e-01 -5.982456442781595e-01 -5.979961350600861e-01 -5.977463018616249e-01 -5.974961457245347e-01 + -5.972456688462123e-01 -5.969948725706038e-01 -5.967437577688297e-01 -5.964923259025159e-01 -5.962405782771161e-01 + -5.959885160038786e-01 -5.957361402849749e-01 -5.954834525607696e-01 -5.952304544228757e-01 -5.949771471628894e-01 + -5.947235319540697e-01 -5.944696099654433e-01 -5.942153825546195e-01 -5.939608509107162e-01 -5.937060159741117e-01 + -5.934508794411635e-01 -5.931954428951332e-01 -5.929397071302310e-01 -5.926836734445704e-01 -5.924273432987167e-01 + -5.921707177793331e-01 -5.919137978828047e-01 -5.916565847753502e-01 -5.913990801532651e-01 -5.911412853604616e-01 + -5.908832013941032e-01 -5.906248293335863e-01 -5.903661704565201e-01 -5.901072261246485e-01 -5.898479972855557e-01 + -5.895884850905705e-01 -5.893286910470348e-01 -5.890686164387193e-01 -5.888082623596927e-01 -5.885476297953414e-01 + -5.882867200485414e-01 -5.880255342895034e-01 -5.877640732646211e-01 -5.875023385228563e-01 -5.872403317009627e-01 + -5.869780535979796e-01 -5.867155052441069e-01 -5.864526878805291e-01 -5.861896026754034e-01 -5.859262506932092e-01 + -5.856626329801135e-01 -5.853987507817091e-01 -5.851346053972879e-01 -5.848701980701103e-01 -5.846055297559873e-01 + -5.843406014627009e-01 -5.840754143260567e-01 -5.838099692919883e-01 -5.835442675863415e-01 -5.832783108438364e-01 + -5.830120998737411e-01 -5.827456354637697e-01 -5.824789190313094e-01 -5.822119517157962e-01 -5.819447343999242e-01 + -5.816772678604962e-01 -5.814095534384316e-01 -5.811415926659900e-01 -5.808733865100626e-01 -5.806049358083534e-01 + -5.803362414940428e-01 -5.800673049021045e-01 -5.797981269727348e-01 -5.795287083747186e-01 -5.792590507223763e-01 + -5.789891553127540e-01 -5.787190227795775e-01 -5.784486540773595e-01 -5.781780503537821e-01 -5.779072127885909e-01 + -5.776361421027820e-01 -5.773648392415993e-01 -5.770933058481036e-01 -5.768215427543451e-01 -5.765495506173008e-01 + -5.762773307782053e-01 -5.760048843724456e-01 -5.757322122309633e-01 -5.754593149355522e-01 -5.751861936930261e-01 + -5.749128500443350e-01 -5.746392847733658e-01 -5.743654986749642e-01 -5.740914927526973e-01 -5.738172681170074e-01 + -5.735428256834612e-01 -5.732681661997935e-01 -5.729932909950833e-01 -5.727182011898047e-01 -5.724428973589288e-01 + -5.721673806475209e-01 -5.718916522032619e-01 -5.716157126986885e-01 -5.713395629769044e-01 -5.710632040862346e-01 + -5.707866372440725e-01 -5.705098634203313e-01 -5.702328834166335e-01 -5.699556980810941e-01 -5.696783084118523e-01 + -5.694007154024264e-01 -5.691229196446771e-01 -5.688449222662509e-01 -5.685667247951188e-01 -5.682883277592247e-01 + -5.680097317796297e-01 -5.677309379467054e-01 -5.674519473718960e-01 -5.671727608332666e-01 -5.668933787438524e-01 + -5.666138024324125e-01 -5.663340332775648e-01 -5.660540719736767e-01 -5.657739191147048e-01 -5.654935755198692e-01 + -5.652130424887296e-01 -5.649323205844615e-01 -5.646514102596061e-01 -5.643703131320561e-01 -5.640890302500955e-01 + -5.638075621229782e-01 -5.635259096013298e-01 -5.632440735413435e-01 -5.629620547371306e-01 -5.626798540413637e-01 + -5.623974724401825e-01 -5.621149109968532e-01 -5.618321704141040e-01 -5.615492514232792e-01 -5.612661549867731e-01 + -5.609828820346520e-01 -5.606994332802816e-01 -5.604158091721365e-01 -5.601320109850756e-01 -5.598480400285579e-01 + -5.595638966628304e-01 -5.592795815381203e-01 -5.589950956088516e-01 -5.587104398719418e-01 -5.584256150214867e-01 + -5.581406216413944e-01 -5.578554608147975e-01 -5.575701335442586e-01 -5.572846406020895e-01 -5.569989825973618e-01 + -5.567131602740183e-01 -5.564271745453506e-01 -5.561410260628522e-01 -5.558547156725416e-01 -5.555682445647333e-01 + -5.552816133007876e-01 -5.549948224318785e-01 -5.547078730025937e-01 -5.544207659049382e-01 -5.541335017868810e-01 + -5.538460810525171e-01 -5.535585047530838e-01 -5.532707741030544e-01 -5.529828895161875e-01 -5.526948516856666e-01 + -5.524066615722431e-01 -5.521183198617187e-01 -5.518298271294942e-01 -5.515411840216864e-01 -5.512523916981388e-01 + -5.509634510475757e-01 -5.506743625070015e-01 -5.503851268106821e-01 -5.500957448096843e-01 -5.498062173123895e-01 + -5.495165448046009e-01 -5.492267279674086e-01 -5.489367680360671e-01 -5.486466657159732e-01 -5.483564214808752e-01 + -5.480660360175322e-01 -5.477755101695411e-01 -5.474848446983241e-01 -5.471940399297857e-01 -5.469030967097296e-01 + -5.466120162347039e-01 -5.463207992130580e-01 -5.460294461220425e-01 -5.457379574365921e-01 -5.454463341419615e-01 + -5.451545769787555e-01 -5.448626863052353e-01 -5.445706629798505e-01 -5.442785079610155e-01 -5.439862220351145e-01 + -5.436938056623958e-01 -5.434012594168094e-01 -5.431085842649811e-01 -5.428157805859503e-01 -5.425228488112607e-01 + -5.422297902211034e-01 -5.419366056396356e-01 -5.416432955189590e-01 -5.413498603513526e-01 -5.410563008101139e-01 + -5.407626176406882e-01 -5.404688113584152e-01 -5.401748827259091e-01 -5.398808327262222e-01 -5.395866619984641e-01 + -5.392923710452394e-01 -5.389979603718316e-01 -5.387034307479797e-01 -5.384087828255361e-01 -5.381140170098579e-01 + -5.378191341794292e-01 -5.375241352697128e-01 -5.372290208939874e-01 -5.369337913756430e-01 -5.366384472427702e-01 + -5.363429897090184e-01 -5.360474189692397e-01 -5.357517350808286e-01 -5.354559397287709e-01 -5.351600336380363e-01 + -5.348640167550405e-01 -5.345678898586708e-01 -5.342716537895550e-01 -5.339753091509816e-01 -5.336788560795809e-01 + -5.333822952812678e-01 -5.330856281219807e-01 -5.327888549366336e-01 -5.324919760228772e-01 -5.321949921530423e-01 + -5.318979038948367e-01 -5.316007117591099e-01 -5.313034163655616e-01 -5.310060185016283e-01 -5.307085188690476e-01 + -5.304109178113635e-01 -5.301132159560333e-01 -5.298154141057816e-01 -5.295175129068631e-01 -5.292195125739295e-01 + -5.289214133220888e-01 -5.286232164928936e-01 -5.283249229043371e-01 -5.280265326905970e-01 -5.277280463629660e-01 + -5.274294646406563e-01 -5.271307882435877e-01 -5.268320172699235e-01 -5.265331522204252e-01 -5.262341943956992e-01 + -5.259351442515741e-01 -5.256360020246456e-01 -5.253367683007200e-01 -5.250374438802079e-01 -5.247380293156688e-01 + -5.244385244793137e-01 -5.241389303158239e-01 -5.238392481089597e-01 -5.235394779437145e-01 -5.232396201567239e-01 + -5.229396754457293e-01 -5.226396444439171e-01 -5.223395275325885e-01 -5.220393250130385e-01 -5.217390378529512e-01 + -5.214386667612969e-01 -5.211382119631184e-01 -5.208376739941909e-01 -5.205370535049869e-01 -5.202363510969753e-01 + -5.199355670763710e-01 -5.196347019022574e-01 -5.193337564915598e-01 -5.190327313042545e-01 -5.187316266472318e-01 + -5.184304431068453e-01 -5.181291813913007e-01 -5.178278420262173e-01 -5.175264249304404e-01 -5.172249309061349e-01 + -5.169233612064826e-01 -5.166217158673360e-01 -5.163199951550123e-01 -5.160181998004911e-01 -5.157163303784532e-01 + -5.154143871836301e-01 -5.151123703899823e-01 -5.148102810445049e-01 -5.145081200022412e-01 -5.142058873966443e-01 + -5.139035834879907e-01 -5.136012088439446e-01 -5.132987643470369e-01 -5.129962500176725e-01 -5.126936660139045e-01 + -5.123910137907831e-01 -5.120882937169244e-01 -5.117855056864241e-01 -5.114826505830118e-01 -5.111797289351894e-01 + -5.108767409175631e-01 -5.105736869791608e-01 -5.102705678009448e-01 -5.099673841164564e-01 -5.096641361609235e-01 + -5.093608243087677e-01 -5.090574492425100e-01 -5.087540114820200e-01 -5.084505112619658e-01 -5.081469486274651e-01 + -5.078433245912960e-01 -5.075396400795943e-01 -5.072358951124865e-01 -5.069320899536702e-01 -5.066282251477461e-01 + -5.063243014155288e-01 -5.060203189866231e-01 -5.057162780382299e-01 -5.054121795257869e-01 -5.051080240346536e-01 + -5.048038117428125e-01 -5.044995428560932e-01 -5.041952179946867e-01 -5.038908379779851e-01 -5.035864027540428e-01 + -5.032819126747086e-01 -5.029773687584369e-01 -5.026727713803431e-01 -5.023681207203433e-01 -5.020634170773620e-01 + -5.017586611304518e-01 -5.014538534087800e-01 -5.011489939472488e-01 -5.008440834008399e-01 -5.005391225202214e-01 + -5.002341114848970e-01 -4.999290507534227e-01 -4.996239408965545e-01 -4.993187821357916e-01 -4.990135746184980e-01 + -4.987083187010172e-01 -4.984030154770353e-01 -4.980976654859903e-01 -4.977922686591017e-01 -4.974868253646026e-01 + -4.971813362150598e-01 -4.968758018164073e-01 -4.965702219796178e-01 -4.962645970518764e-01 -4.959589283986423e-01 + -4.956532161259331e-01 -4.953474601672504e-01 -4.950416611894621e-01 -4.947358197709370e-01 -4.944299362131679e-01 + -4.941240104625670e-01 -4.938180432013966e-01 -4.935120353360559e-01 -4.932059869696777e-01 -4.928998983832586e-01 + -4.925937700937396e-01 -4.922876025288242e-01 -4.919813957951697e-01 -4.916751499430368e-01 -4.913688660561277e-01 + -4.910625447982750e-01 -4.907561860728009e-01 -4.904497902858990e-01 -4.901433579647613e-01 -4.898368894758774e-01 + -4.895303847877975e-01 -4.892238442443610e-01 -4.889172690570770e-01 -4.886106594399146e-01 -4.883040152916479e-01 + -4.879973371198497e-01 -4.876906255185612e-01 -4.873838808516193e-01 -4.870771028969680e-01 -4.867702923235035e-01 + -4.864634502410182e-01 -4.861565765237592e-01 -4.858496713307078e-01 -4.855427352755911e-01 -4.852357685536697e-01 + -4.849287714451036e-01 -4.846217444589359e-01 -4.843146879997467e-01 -4.840076025123002e-01 -4.837004885060202e-01 + -4.833933461066379e-01 -4.830861755003688e-01 -4.827789772517898e-01 -4.824717516127337e-01 -4.821644988235214e-01 + -4.818572195031119e-01 -4.815499140763169e-01 -4.812425828318353e-01 -4.809352261296052e-01 -4.806278443199989e-01 + -4.803204376463540e-01 -4.800130060714603e-01 -4.797055501717924e-01 -4.793980709573083e-01 -4.790905684347367e-01 + -4.787830426340720e-01 -4.784754939887473e-01 -4.781679231200341e-01 -4.778603302286951e-01 -4.775527150015833e-01 + -4.772450784284375e-01 -4.769374213667171e-01 -4.766297434623847e-01 -4.763220450397429e-01 -4.760143266869929e-01 + -4.757065886153464e-01 -4.753988310011543e-01 -4.750910541528841e-01 -4.747832586964973e-01 -4.744754450010169e-01 + -4.741676132522562e-01 -4.738597638648681e-01 -4.735518971269201e-01 -4.732440131603057e-01 -4.729361121339242e-01 + -4.726281945136708e-01 -4.723202610280838e-01 -4.720123119889466e-01 -4.717043475548789e-01 -4.713963678930571e-01 + -4.710883732580126e-01 -4.707803639362851e-01 -4.704723402372425e-01 -4.701643027667922e-01 -4.698562520096238e-01 + -4.695481878708884e-01 -4.692401107063794e-01 -4.689320210638210e-01 -4.686239190614940e-01 -4.683158048406638e-01 + -4.680076787162389e-01 -4.676995413185929e-01 -4.673913930202820e-01 -4.670832339045677e-01 -4.667750641928977e-01 + -4.664668842720264e-01 -4.661586945788764e-01 -4.658504950199774e-01 -4.655422858974875e-01 -4.652340682220931e-01 + -4.649258420178881e-01 -4.646176071935555e-01 -4.643093642460228e-01 -4.640011135361189e-01 -4.636928552533583e-01 + -4.633845894780055e-01 -4.630763167063440e-01 -4.627680375263447e-01 -4.624597520114774e-01 -4.621514604268375e-01 + -4.618431632080228e-01 -4.615348605890552e-01 -4.612265525685530e-01 -4.609182391698630e-01 -4.606099213200685e-01 + -4.603015994943055e-01 -4.599932734377760e-01 -4.596849434943749e-01 -4.593766101319814e-01 -4.590682736286037e-01 + -4.587599339472412e-01 -4.584515913122191e-01 -4.581432465762054e-01 -4.578348999443045e-01 -4.575265513883392e-01 + -4.572182012155285e-01 -4.569098498253546e-01 -4.566014974456956e-01 -4.562931438038699e-01 -4.559847894939479e-01 + -4.556764355440957e-01 -4.553680818446301e-01 -4.550597283221777e-01 -4.547513752454754e-01 -4.544430231318768e-01 + -4.541346721146189e-01 -4.538263219879204e-01 -4.535179736207505e-01 -4.532096276207381e-01 -4.529012837320638e-01 + -4.525929421989657e-01 -4.522846033793929e-01 -4.519762674029318e-01 -4.516679344715044e-01 -4.513596049388520e-01 + -4.510512793496801e-01 -4.507429578901284e-01 -4.504346405869434e-01 -4.501263277269192e-01 -4.498180196893253e-01 + -4.495097167463535e-01 -4.492014186979058e-01 -4.488931259139300e-01 -4.485848392328776e-01 -4.482765586745183e-01 + -4.479682843350483e-01 -4.476600166157323e-01 -4.473517555800268e-01 -4.470435013321629e-01 -4.467352542154915e-01 + -4.464270145748750e-01 -4.461187827567155e-01 -4.458105590951706e-01 -4.455023436689998e-01 -4.451941365719282e-01 + -4.448859382022067e-01 -4.445777486373541e-01 -4.442695679571050e-01 -4.439613968717006e-01 -4.436532356916815e-01 + -4.433450843880059e-01 -4.430369431657580e-01 -4.427288122616561e-01 -4.424206918620519e-01 -4.421125820372482e-01 + -4.418044832064567e-01 -4.414963960811867e-01 -4.411883204960218e-01 -4.408802564087612e-01 -4.405722043668788e-01 + -4.402641646390490e-01 -4.399561373068210e-01 -4.396481224088197e-01 -4.393401203468038e-01 -4.390321316119934e-01 + -4.387241564347777e-01 -4.384161947343386e-01 -4.381082465266398e-01 -4.378003125430411e-01 -4.374923928277115e-01 + -4.371844871230922e-01 -4.368765963346815e-01 -4.365687207997857e-01 -4.362608601883623e-01 -4.359530147661063e-01 + -4.356451849773876e-01 -4.353373711547212e-01 -4.350295729831375e-01 -4.347217906709347e-01 -4.344140253247259e-01 + -4.341062767701542e-01 -4.337985447574569e-01 -4.334908298973194e-01 -4.331831324142745e-01 -4.328754522838512e-01 + -4.325677895304312e-01 -4.322601446380396e-01 -4.319525182069930e-01 -4.316449103351276e-01 -4.313373209430619e-01 + -4.310297500384340e-01 -4.307221981580691e-01 -4.304146654764764e-01 -4.301071518609876e-01 -4.297996578556980e-01 + -4.294921838432407e-01 -4.291847298181669e-01 -4.288772959356691e-01 -4.285698824691314e-01 -4.282624896947286e-01 + -4.279551173581843e-01 -4.276477655542056e-01 -4.273404353166645e-01 -4.270331268873108e-01 -4.267258400671970e-01 + -4.264185747737768e-01 -4.261113314513503e-01 -4.258041105111009e-01 -4.254969114260224e-01 -4.251897346526543e-01 + -4.248825811839114e-01 -4.245754507348872e-01 -4.242683433304872e-01 -4.239612594489042e-01 -4.236541990429175e-01 + -4.233471621233121e-01 -4.230401489624036e-01 -4.227331599159186e-01 -4.224261953202194e-01 -4.221192554076946e-01 + -4.218123401221037e-01 -4.215054495276057e-01 -4.211985840665567e-01 -4.208917437341202e-01 -4.205849285470991e-01 + -4.202781391077526e-01 -4.199713756820169e-01 -4.196646382796324e-01 -4.193579269625680e-01 -4.190512419898234e-01 + -4.187445835885104e-01 -4.184379514023820e-01 -4.181313458657921e-01 -4.178247679943504e-01 -4.175182174706034e-01 + -4.172116941638125e-01 -4.169051985589959e-01 -4.165987308801878e-01 -4.162922910262470e-01 -4.159858787333477e-01 + -4.156794948456864e-01 -4.153731400237493e-01 -4.150668138055245e-01 -4.147605162480433e-01 -4.144542477033889e-01 + -4.141480084083939e-01 -4.138417983331389e-01 -4.135356175072968e-01 -4.132294665425894e-01 -4.129233456523720e-01 + -4.126172547353913e-01 -4.123111939769975e-01 -4.120051637027982e-01 -4.116991641480549e-01 -4.113931948631621e-01 + -4.110872561089984e-01 -4.107813489720965e-01 -4.104754732505308e-01 -4.101696286974395e-01 -4.098638156566466e-01 + -4.095580344057681e-01 -4.092522850492459e-01 -4.089465675148873e-01 -4.086408821301867e-01 -4.083352292811099e-01 + -4.080296090087697e-01 -4.077240214925531e-01 -4.074184669621912e-01 -4.071129454474836e-01 -4.068074568206541e-01 + -4.065020011172992e-01 -4.061965792344674e-01 -4.058911914234347e-01 -4.055858372701102e-01 -4.052805169731385e-01 + -4.049752308691225e-01 -4.046699791746853e-01 -4.043647616984872e-01 -4.040595785275335e-01 -4.037544302850327e-01 + -4.034493171430220e-01 -4.031442391412985e-01 -4.028391964411297e-01 -4.025341890399178e-01 -4.022292169515432e-01 + -4.019242804318620e-01 -4.016193797575413e-01 -4.013145151618574e-01 -4.010096867767989e-01 -4.007048946739946e-01 + -4.004001389575452e-01 -4.000954199442892e-01 -3.997907376333255e-01 -3.994860918450180e-01 -3.991814831388100e-01 + -3.988769118682245e-01 -3.985723779299208e-01 -3.982678813725196e-01 -3.979634224118638e-01 -3.976590013430957e-01 + -3.973546179557737e-01 -3.970502723184750e-01 -3.967459652757308e-01 -3.964416967373386e-01 -3.961374664325438e-01 + -3.958332748416728e-01 -3.955291221412219e-01 -3.952250082276700e-01 -3.949209329883424e-01 -3.946168969005399e-01 + -3.943129006192436e-01 -3.940089438207542e-01 -3.937050264421336e-01 -3.934011488327164e-01 -3.930973111392007e-01 + -3.927935133510078e-01 -3.924897554398895e-01 -3.921860379028622e-01 -3.918823611410527e-01 -3.915787251272155e-01 + -3.912751296302741e-01 -3.909715747221262e-01 -3.906680610479274e-01 -3.903645884467465e-01 -3.900611567141484e-01 + -3.897577665105899e-01 -3.894544180732338e-01 -3.891511112918067e-01 -3.888478460867855e-01 -3.885446227676595e-01 + -3.882414417069796e-01 -3.879383024897914e-01 -3.876352053351357e-01 -3.873321510269954e-01 -3.870291394376005e-01 + -3.867261704550462e-01 -3.864232442776043e-01 -3.861203610538394e-01 -3.858175208256477e-01 -3.855147235659399e-01 + -3.852119696012977e-01 -3.849092593053318e-01 -3.846065928280623e-01 -3.843039700003283e-01 -3.840013907871894e-01 + -3.836988557264463e-01 -3.833963646642737e-01 -3.830939173673272e-01 -3.827915146861536e-01 -3.824891567344230e-01 + -3.821868431312930e-01 -3.818845742897094e-01 -3.815823505036508e-01 -3.812801717050347e-01 -3.809780375081945e-01 + -3.806759481537249e-01 -3.803739045452896e-01 -3.800719066553854e-01 -3.797699542729503e-01 -3.794680474344709e-01 + -3.791661864151066e-01 -3.788643713579414e-01 -3.785626020610045e-01 -3.782608787892401e-01 -3.779592019649877e-01 + -3.776575717504184e-01 -3.773559879986245e-01 -3.770544506277551e-01 -3.767529601718599e-01 -3.764515165488658e-01 + -3.761501194541416e-01 -3.758487697291592e-01 -3.755474675286999e-01 -3.752462123142175e-01 -3.749450044400430e-01 + -3.746438442933219e-01 -3.743427319385532e-01 -3.740416670860849e-01 -3.737406497610264e-01 -3.734396805632812e-01 + -3.731387597991040e-01 -3.728378873981389e-01 -3.725370629746288e-01 -3.722362869751284e-01 -3.719355598195744e-01 + -3.716348809475082e-01 -3.713342505611615e-01 -3.710336692885385e-01 -3.707331373206220e-01 -3.704326544188714e-01 + -3.701322203470578e-01 -3.698318357923215e-01 -3.695315007664240e-01 -3.692312147431765e-01 -3.689309784821330e-01 + -3.686307923312130e-01 -3.683306558583173e-01 -3.680305692832940e-01 -3.677305328772401e-01 -3.674305466155561e-01 + -3.671306102835627e-01 -3.668307239979260e-01 -3.665308885123383e-01 -3.662311039528895e-01 -3.659313700864294e-01 + -3.656316867340536e-01 -3.653320542170925e-01 -3.650324728818179e-01 -3.647329423252613e-01 -3.644334627823841e-01 + -3.641340348652060e-01 -3.638346584224414e-01 -3.635353333854674e-01 -3.632360599381753e-01 -3.629368383087880e-01 + -3.626376683911322e-01 -3.623385498640058e-01 -3.620394834143431e-01 -3.617404694429358e-01 -3.614415075289109e-01 + -3.611425978472304e-01 -3.608437406892576e-01 -3.605449360396625e-01 -3.602461837170217e-01 -3.599474837636126e-01 + -3.596488368123176e-01 -3.593502429497555e-01 -3.590517019950174e-01 -3.587532141258951e-01 -3.584547794364419e-01 + -3.581563978967544e-01 -3.578580694598877e-01 -3.575597943932133e-01 -3.572615731273898e-01 -3.569634054963255e-01 + -3.566652915450074e-01 -3.563672316398869e-01 -3.560692255181004e-01 -3.557712730433470e-01 -3.554733745722332e-01 + -3.551755304325120e-01 -3.548777407381354e-01 -3.545800053200450e-01 -3.542823243820459e-01 -3.539846981602633e-01 + -3.536871265064687e-01 -3.533896092936707e-01 -3.530921466577667e-01 -3.527947392696623e-01 -3.524973870763591e-01 + -3.522000896417020e-01 -3.519028473926252e-01 -3.516056606257513e-01 -3.513085292624320e-01 -3.510114529438408e-01 + -3.507144318797571e-01 -3.504174668509267e-01 -3.501205576763053e-01 -3.498237041407538e-01 -3.495269064579332e-01 + -3.492301648012658e-01 -3.489334792023763e-01 -3.486368495320163e-01 -3.483402759532310e-01 -3.480437587608516e-01 + -3.477472981563033e-01 -3.474508940116457e-01 -3.471545462266357e-01 -3.468582552838557e-01 -3.465620210594309e-01 + -3.462658431862374e-01 -3.459697223261950e-01 -3.456736587298253e-01 -3.453776521244075e-01 -3.450817025977070e-01 + -3.447858103250944e-01 -3.444899754033867e-01 -3.441941976114102e-01 -3.438984770490408e-01 -3.436028143288083e-01 + -3.433072093931014e-01 -3.430116620696204e-01 -3.427161725111446e-01 -3.424207408695913e-01 -3.421253671506906e-01 + -3.418300511322294e-01 -3.415347931565998e-01 -3.412395936962896e-01 -3.409444525560181e-01 -3.406493696743920e-01 + -3.403543451949735e-01 -3.400593792856730e-01 -3.397644718554241e-01 -3.394696227303268e-01 -3.391748324448361e-01 + -3.388801012525273e-01 -3.385854289098167e-01 -3.382908154719833e-01 -3.379962610967925e-01 -3.377017658856785e-01 + -3.374073296405456e-01 -3.371129523992028e-01 -3.368186347618567e-01 -3.365243767275647e-01 -3.362301780997549e-01 + -3.359360390044588e-01 -3.356419595939377e-01 -3.353479398983790e-01 -3.350539796822969e-01 -3.347600792157354e-01 + -3.344662390001809e-01 -3.341724588683134e-01 -3.338787387386647e-01 -3.335850787505256e-01 -3.332914790393797e-01 + -3.329979395469141e-01 -3.327044601082655e-01 -3.324110411740308e-01 -3.321176830325031e-01 -3.318243854727410e-01 + -3.315311485033696e-01 -3.312379722613320e-01 -3.309448568815591e-01 -3.306518021855764e-01 -3.303588081394571e-01 + -3.300658753265905e-01 -3.297730038003383e-01 -3.294801933460689e-01 -3.291874440822869e-01 -3.288947561448500e-01 + -3.286021295596533e-01 -3.283095641084477e-01 -3.280170600152969e-01 -3.277246178092963e-01 -3.274322373144385e-01 + -3.271399184133136e-01 -3.268476612759387e-01 -3.265554660369243e-01 -3.262633326374516e-01 -3.259712608638953e-01 + -3.256792511518811e-01 -3.253873038511834e-01 -3.250954187049387e-01 -3.248035957166725e-01 -3.245118350464998e-01 + -3.242201368055027e-01 -3.239285008232202e-01 -3.236369270127419e-01 -3.233454159517716e-01 -3.230539677655248e-01 + -3.227625822208953e-01 -3.224712593689608e-01 -3.221799993547627e-01 -3.218888022707884e-01 -3.215976678728723e-01 + -3.213065962862219e-01 -3.210155880538063e-01 -3.207246430922022e-01 -3.204337612603162e-01 -3.201429426545060e-01 + -3.198521874188910e-01 -3.195614955407240e-01 -3.192708667833873e-01 -3.189803015317205e-01 -3.186898001852494e-01 + -3.183993624745159e-01 -3.181089883645859e-01 -3.178186780215274e-01 -3.175284315788672e-01 -3.172382488912609e-01 + -3.169481298117736e-01 -3.166580748847834e-01 -3.163680842820584e-01 -3.160781577505636e-01 -3.157882953403168e-01 + -3.154984971942622e-01 -3.152087634033934e-01 -3.149190937439705e-01 -3.146294882798918e-01 -3.143399475483734e-01 + -3.140504715109739e-01 -3.137610600081304e-01 -3.134717131245625e-01 -3.131824310053718e-01 -3.128932136614712e-01 + -3.126040608259110e-01 -3.123149728003283e-01 -3.120259500284038e-01 -3.117369923103007e-01 -3.114480995811182e-01 + -3.111592719695180e-01 -3.108705096041851e-01 -3.105818123704323e-01 -3.102931800853200e-01 -3.100046132424714e-01 + -3.097161120700553e-01 -3.094276763275429e-01 -3.091393060498078e-01 -3.088510013669117e-01 -3.085627623567511e-01 + -3.082745888090075e-01 -3.079864807413559e-01 -3.076984387104112e-01 -3.074104627037881e-01 -3.071225525229602e-01 + -3.068347082674415e-01 -3.065469300647063e-01 -3.062592179233167e-01 -3.059715715883658e-01 -3.056839913222955e-01 + -3.053964776128304e-01 -3.051090302429263e-01 -3.048216491115613e-01 -3.045343343664140e-01 -3.042470861256498e-01 + -3.039599042912569e-01 -3.036727886539801e-01 -3.033857396783212e-01 -3.030987576532087e-01 -3.028118423290159e-01 + -3.025249936916685e-01 -3.022382118572411e-01 -3.019514969324824e-01 -3.016648487319269e-01 -3.013782672163520e-01 + -3.010917529380510e-01 -3.008053059332530e-01 -3.005189259718208e-01 -3.002326131255288e-01 -2.999463675243501e-01 + -2.996601892115071e-01 -2.993740779431134e-01 -2.990880338991673e-01 -2.988020575697556e-01 -2.985161488129333e-01 + -2.982303074956766e-01 -2.979445337070337e-01 -2.976588275957710e-01 -2.973731891105994e-01 -2.970876179949718e-01 + -2.968021146693378e-01 -2.965166794729635e-01 -2.962313121299224e-01 -2.959460126205053e-01 -2.956607810824475e-01 + -2.953756176130727e-01 -2.950905220348498e-01 -2.948054942542040e-01 -2.945205348259674e-01 -2.942356438398593e-01 + -2.939508210351428e-01 -2.936660664737455e-01 -2.933813802767271e-01 -2.930967624892026e-01 -2.928122128931882e-01 + -2.925277316158055e-01 -2.922433191494531e-01 -2.919589753765323e-01 -2.916747001400424e-01 -2.913904935350139e-01 + -2.911063557118664e-01 -2.908222866434848e-01 -2.905382860439090e-01 -2.902543542778646e-01 -2.899704917370004e-01 + -2.896866981425306e-01 -2.894029734511842e-01 -2.891193178139609e-01 -2.888357313345801e-01 -2.885522138545054e-01 + -2.882687652243500e-01 -2.879853859636904e-01 -2.877020762131379e-01 -2.874188357014512e-01 -2.871356645025479e-01 + -2.868525627422169e-01 -2.865695304469716e-01 -2.862865673963798e-01 -2.860036736642309e-01 -2.857208497673618e-01 + -2.854380956360413e-01 -2.851554110854154e-01 -2.848727961880673e-01 -2.845902510831507e-01 -2.843077757793696e-01 + -2.840253700094237e-01 -2.837430340397069e-01 -2.834607682748240e-01 -2.831785725328111e-01 -2.828964467316310e-01 + -2.826143909542473e-01 -2.823324053101364e-01 -2.820504896922502e-01 -2.817686439371250e-01 -2.814868685136343e-01 + -2.812051636152371e-01 -2.809235289745332e-01 -2.806419646055033e-01 -2.803604706362606e-01 -2.800790471610514e-01 + -2.797976939416736e-01 -2.795164109639519e-01 -2.792351987736799e-01 -2.789540573481899e-01 -2.786729864814172e-01 + -2.783919862645312e-01 -2.781110567914744e-01 -2.778301980476193e-01 -2.775494098202491e-01 -2.772686923282846e-01 + -2.769880459823117e-01 -2.767074706347814e-01 -2.764269661749121e-01 -2.761465326612197e-01 -2.758661702373058e-01 + -2.755858788282252e-01 -2.753056582075042e-01 -2.750255088041456e-01 -2.747454308713073e-01 -2.744654241403574e-01 + -2.741854886058927e-01 -2.739056243892176e-01 -2.736258315782464e-01 -2.733461099674180e-01 -2.730664595012521e-01 + -2.727868807168794e-01 -2.725073736368404e-01 -2.722279380246611e-01 -2.719485739535283e-01 -2.716692815376729e-01 + -2.713900607905190e-01 -2.711109114418696e-01 -2.708318336740216e-01 -2.705528279896257e-01 -2.702738942089605e-01 + -2.699950321750810e-01 -2.697162419812612e-01 -2.694375237750356e-01 -2.691588774953904e-01 -2.688803028674867e-01 + -2.686018002777490e-01 -2.683233700490228e-01 -2.680450119322323e-01 -2.677667258920440e-01 -2.674885120321642e-01 + -2.672103704327183e-01 -2.669323009240009e-01 -2.666543034142266e-01 -2.663763784024609e-01 -2.660985259744725e-01 + -2.658207458961011e-01 -2.655430381891060e-01 -2.652654029648259e-01 -2.649878402880381e-01 -2.647103499069445e-01 + -2.644329319184849e-01 -2.641555868035665e-01 -2.638783144422805e-01 -2.636011146840161e-01 -2.633239876271375e-01 + -2.630469333706403e-01 -2.627699518665801e-01 -2.624930428881614e-01 -2.622162067361601e-01 -2.619394437425979e-01 + -2.616627537197243e-01 -2.613861365959049e-01 -2.611095924398818e-01 -2.608331213683194e-01 -2.605567232565551e-01 + -2.602803979638560e-01 -2.600041459185203e-01 -2.597279672559259e-01 -2.594518617711524e-01 -2.591758294668244e-01 + -2.588998704444723e-01 -2.586239847880919e-01 -2.583481722507706e-01 -2.580724328621725e-01 -2.577967671126083e-01 + -2.575211749406902e-01 -2.572456561780725e-01 -2.569702108956164e-01 -2.566948391959332e-01 -2.564195410517088e-01 + -2.561443162003717e-01 -2.558691649278121e-01 -2.555940876367002e-01 -2.553190840839927e-01 -2.550441541814838e-01 + -2.547692980445108e-01 -2.544945157803290e-01 -2.542198072584164e-01 -2.539451722830000e-01 -2.536706112997469e-01 + -2.533961245035316e-01 -2.531217116489478e-01 -2.528473727232912e-01 -2.525731078267265e-01 -2.522989170513077e-01 + -2.520248001810547e-01 -2.517507572028029e-01 -2.514767886096237e-01 -2.512028943623831e-01 -2.509290742545349e-01 + -2.506553283625735e-01 -2.503816568034038e-01 -2.501080595782905e-01 -2.498345364108095e-01 -2.495610875124447e-01 + -2.492877133133172e-01 -2.490144136112123e-01 -2.487411882994743e-01 -2.484680374856057e-01 -2.481949612635986e-01 + -2.479219595287280e-01 -2.476490320734136e-01 -2.473761793087864e-01 -2.471034014703498e-01 -2.468306982957061e-01 + -2.465580697844871e-01 -2.462855160432138e-01 -2.460130371204629e-01 -2.457406328233614e-01 -2.454683031113906e-01 + -2.451960484794311e-01 -2.449238689415910e-01 -2.446517642712055e-01 -2.443797345227543e-01 -2.441077797933181e-01 + -2.438359000947776e-01 -2.435640951889690e-01 -2.432923652315951e-01 -2.430207106571287e-01 -2.427491313175689e-01 + -2.424776270783986e-01 -2.422061980074125e-01 -2.419348442072336e-01 -2.416635656192684e-01 -2.413923620306189e-01 + -2.411212337762792e-01 -2.408501811283544e-01 -2.405792038734625e-01 -2.403083019688687e-01 -2.400374754936993e-01 + -2.397667245256450e-01 -2.394960488977194e-01 -2.392254485194238e-01 -2.389549238762380e-01 -2.386844750244205e-01 + -2.384141017100180e-01 -2.381438039886236e-01 -2.378735819631148e-01 -2.376034356560101e-01 -2.373333648418426e-01 + -2.370633696160408e-01 -2.367934504134751e-01 -2.365236071336530e-01 -2.362538396334552e-01 -2.359841479713349e-01 + -2.357145322333765e-01 -2.354449923780104e-01 -2.351755281955192e-01 -2.349061399838227e-01 -2.346368280467886e-01 + -2.343675921502802e-01 -2.340984322401892e-01 -2.338293484224673e-01 -2.335603407944267e-01 -2.332914091991481e-01 + -2.330225534791031e-01 -2.327537740958542e-01 -2.324850711724544e-01 -2.322164444575208e-01 -2.319478939696494e-01 + -2.316794198107119e-01 -2.314110220364787e-01 -2.311427004172850e-01 -2.308744549913938e-01 -2.306062862221652e-01 + -2.303381940399467e-01 -2.300701782673901e-01 -2.298022389505013e-01 -2.295343762055658e-01 -2.292665900251787e-01 + -2.289988801367178e-01 -2.287312467963517e-01 -2.284636903804389e-01 -2.281962106639611e-01 -2.279288075702767e-01 + -2.276614812041137e-01 -2.273942316314865e-01 -2.271270587234099e-01 -2.268599623216859e-01 -2.265929428586625e-01 + -2.263260004971463e-01 -2.260591349680134e-01 -2.257923462859340e-01 -2.255256345570404e-01 -2.252589998316905e-01 + -2.249924418873443e-01 -2.247259607239798e-01 -2.244595568451081e-01 -2.241932301870257e-01 -2.239269805236896e-01 + -2.236608079513920e-01 -2.233947125724077e-01 -2.231286943677930e-01 -2.228627530899186e-01 -2.225968889349937e-01 + -2.223311022938890e-01 -2.220653929888047e-01 -2.217997609137618e-01 -2.215342061492806e-01 -2.212687287997047e-01 + -2.210033287645195e-01 -2.207380058226258e-01 -2.204727603658667e-01 -2.202075926188733e-01 -2.199425023254976e-01 + -2.196774894791217e-01 -2.194125541827232e-01 -2.191476964953657e-01 -2.188829162198361e-01 -2.186182133017065e-01 + -2.183535882155842e-01 -2.180890409721393e-01 -2.178245713492862e-01 -2.175601793915103e-01 -2.172958651996608e-01 + -2.170316287941991e-01 -2.167674699222372e-01 -2.165033887351043e-01 -2.162393856655618e-01 -2.159754605317784e-01 + -2.157116131976179e-01 -2.154478437626437e-01 -2.151841523053365e-01 -2.149205387568082e-01 -2.146570029331132e-01 + -2.143935451423346e-01 -2.141301656253313e-01 -2.138668641770334e-01 -2.136036407648879e-01 -2.133404954698548e-01 + -2.130774283590253e-01 -2.128144392711416e-01 -2.125515281171839e-01 -2.122886953403734e-01 -2.120259409959825e-01 + -2.117632648531722e-01 -2.115006669388265e-01 -2.112381473557379e-01 -2.109757061544524e-01 -2.107133431005909e-01 + -2.104510582708100e-01 -2.101888520817322e-01 -2.099267244352251e-01 -2.096646751892664e-01 -2.094027043922436e-01 + -2.091408121382980e-01 -2.088789983898283e-01 -2.086172629233026e-01 -2.083556060294393e-01 -2.080940280081475e-01 + -2.078325286261216e-01 -2.075711078316715e-01 -2.073097657230958e-01 -2.070485023681648e-01 -2.067873176254528e-01 + -2.065262113703670e-01 -2.062651840261599e-01 -2.060042356935543e-01 -2.057433661320316e-01 -2.054825753736384e-01 + -2.052218635119340e-01 -2.049612305777034e-01 -2.047006763593381e-01 -2.044402009029163e-01 -2.041798046444743e-01 + -2.039194875091236e-01 -2.036592493288050e-01 -2.033990901597007e-01 -2.031390101041152e-01 -2.028790091364410e-01 + -2.026190869860804e-01 -2.023592439213894e-01 -2.020994803209571e-01 -2.018397959336108e-01 -2.015801906636277e-01 + -2.013206646163115e-01 -2.010612178968381e-01 -2.008018503846473e-01 -2.005425618909167e-01 -2.002833527994660e-01 + -2.000242232866459e-01 -1.997651731545872e-01 -1.995062023757428e-01 -1.992473110134654e-01 -1.989884991329442e-01 + -1.987297665552775e-01 -1.984711132804359e-01 -1.982125397288479e-01 -1.979540458641874e-01 -1.976956315048893e-01 + -1.974372966986851e-01 -1.971790415364275e-01 -1.969208660181268e-01 -1.966627699138122e-01 -1.964047534115951e-01 + -1.961468168792641e-01 -1.958889601415059e-01 -1.956311830976701e-01 -1.953734858227050e-01 -1.951158683885618e-01 + -1.948583307060198e-01 -1.946008726082255e-01 -1.943434944554087e-01 -1.940861964418109e-01 -1.938289783248288e-01 + -1.935718400929853e-01 -1.933147818435645e-01 -1.930578036445209e-01 -1.928009053047615e-01 -1.925440867668252e-01 + -1.922873484836986e-01 -1.920306904586313e-01 -1.917741124759950e-01 -1.915176145882685e-01 -1.912611968971867e-01 + -1.910048594156118e-01 -1.907486018758652e-01 -1.904924244300230e-01 -1.902363275204000e-01 -1.899803109613821e-01 + -1.897243746214878e-01 -1.894685186111405e-01 -1.892127429944364e-01 -1.889570476814606e-01 -1.887014324762902e-01 + -1.884458977092228e-01 -1.881904436322386e-01 -1.879350700181010e-01 -1.876797768445363e-01 -1.874245641980662e-01 + -1.871694321106837e-01 -1.869143804464632e-01 -1.866594091449939e-01 -1.864045185802509e-01 -1.861497088150435e-01 + -1.858949796742653e-01 -1.856403311585743e-01 -1.853857633524328e-01 -1.851312763093270e-01 -1.848768697910832e-01 + -1.846225438828809e-01 -1.843682990131126e-01 -1.841141350478542e-01 -1.838600518410295e-01 -1.836060494900988e-01 + -1.833521280737523e-01 -1.830982875326949e-01 -1.828445276569093e-01 -1.825908487213151e-01 -1.823372510073639e-01 + -1.820837342990139e-01 -1.818302985608840e-01 -1.815769438919524e-01 -1.813236703339543e-01 -1.810704777470943e-01 + -1.808173660274447e-01 -1.805643355946649e-01 -1.803113865319381e-01 -1.800585185867421e-01 -1.798057318207557e-01 + -1.795530263298101e-01 -1.793004021140676e-01 -1.790478589821669e-01 -1.787953969871552e-01 -1.785430165333783e-01 + -1.782907175616041e-01 -1.780384999147782e-01 -1.777863636186671e-01 -1.775343087850783e-01 -1.772823354138563e-01 + -1.770304432439544e-01 -1.767786324996124e-01 -1.765269035206169e-01 -1.762752561209628e-01 -1.760236902365481e-01 + -1.757722059508868e-01 -1.755208033072168e-01 -1.752694821962465e-01 -1.750182424985018e-01 -1.747670845873172e-01 + -1.745160085943736e-01 -1.742650142826787e-01 -1.740141016708582e-01 -1.737632708599284e-01 -1.735125219002990e-01 + -1.732618545819516e-01 -1.730112688968157e-01 -1.727607652962038e-01 -1.725103437360838e-01 -1.722600040199003e-01 + -1.720097462053399e-01 -1.717595703957765e-01 -1.715094765937824e-01 -1.712594645505801e-01 -1.710095344617568e-01 + -1.707596867053610e-01 -1.705099210652020e-01 -1.702602374503936e-01 -1.700106359820640e-01 -1.697611167032507e-01 + -1.695116795170456e-01 -1.692623242857098e-01 -1.690130513415946e-01 -1.687638608735592e-01 -1.685147526839133e-01 + -1.682657267304136e-01 -1.680167830834059e-01 -1.677679218434041e-01 -1.675191428301483e-01 -1.672704459776749e-01 + -1.670218317162355e-01 -1.667733000505553e-01 -1.665248507843929e-01 -1.662764839848620e-01 -1.660281997331086e-01 + -1.657799980211539e-01 -1.655318786421316e-01 -1.652838417439954e-01 -1.650358877061586e-01 -1.647880163635810e-01 + -1.645402275978841e-01 -1.642925215033296e-01 -1.640448981629310e-01 -1.637973575048030e-01 -1.635498993322754e-01 + -1.633025239587731e-01 -1.630552316214122e-01 -1.628080220971913e-01 -1.625608953706327e-01 -1.623138515347123e-01 + -1.620668906280902e-01 -1.618200125176413e-01 -1.615732171440627e-01 -1.613265048790783e-01 -1.610798757703294e-01 + -1.608333296326273e-01 -1.605868664946396e-01 -1.603404864451659e-01 -1.600941895233320e-01 -1.598479755194739e-01 + -1.596018445089071e-01 -1.593557968710357e-01 -1.591098325274174e-01 -1.588639513462271e-01 -1.586181533501567e-01 + -1.583724386633118e-01 -1.581268072684121e-01 -1.578812589110151e-01 -1.576357938605635e-01 -1.573904124176000e-01 + -1.571451143885420e-01 -1.568998997115455e-01 -1.566547684551118e-01 -1.564097207009810e-01 -1.561647563377750e-01 + -1.559198752534892e-01 -1.556750777971572e-01 -1.554303640753041e-01 -1.551857339241298e-01 -1.549411873472499e-01 + -1.546967244117141e-01 -1.544523451583313e-01 -1.542080493972972e-01 -1.539638371771692e-01 -1.537197089019022e-01 + -1.534756644902717e-01 -1.532317037874507e-01 -1.529878268669247e-01 -1.527440338285302e-01 -1.525003246495042e-01 + -1.522566990917994e-01 -1.520131573865194e-01 -1.517696998607227e-01 -1.515263263105132e-01 -1.512830366842278e-01 + -1.510398310896279e-01 -1.507967095609423e-01 -1.505536719818633e-01 -1.503107182379510e-01 -1.500678487166025e-01 + -1.498250635429138e-01 -1.495823624607518e-01 -1.493397455183047e-01 -1.490972128240516e-01 -1.488547643939502e-01 + -1.486124000468938e-01 -1.483701197975273e-01 -1.481279240643807e-01 -1.478858128086334e-01 -1.476437858541442e-01 + -1.474018432575297e-01 -1.471599850901578e-01 -1.469182113447434e-01 -1.466765218581870e-01 -1.464349167991909e-01 + -1.461933964691583e-01 -1.459519607332137e-01 -1.457106095126376e-01 -1.454693428712828e-01 -1.452281609001614e-01 + -1.449870635167667e-01 -1.447460505411944e-01 -1.445051223204885e-01 -1.442642790465533e-01 -1.440235204958664e-01 + -1.437828466645076e-01 -1.435422576460715e-01 -1.433017535021517e-01 -1.430613340788666e-01 -1.428209993367665e-01 + -1.425807496580667e-01 -1.423405850452980e-01 -1.421005053276286e-01 -1.418605105748216e-01 -1.416206008760722e-01 + -1.413807762310167e-01 -1.411410364179444e-01 -1.409013815814383e-01 -1.406618121114770e-01 -1.404223278620860e-01 + -1.401829287142080e-01 -1.399436147388266e-01 -1.397043860171121e-01 -1.394652424999606e-01 -1.392261840277533e-01 + -1.389872108800275e-01 -1.387483232704581e-01 -1.385095210193419e-01 -1.382708041155041e-01 -1.380321726381191e-01 + -1.377936266235328e-01 -1.375551659356028e-01 -1.373167905196480e-01 -1.370785007699294e-01 -1.368402967462084e-01 + -1.366021782602805e-01 -1.363641453151502e-01 -1.361261980034910e-01 -1.358883363925467e-01 -1.356505602730137e-01 + -1.354128697173978e-01 -1.351752651019714e-01 -1.349377463365720e-01 -1.347003133096952e-01 -1.344629660943524e-01 + -1.342257047644556e-01 -1.339885292721434e-01 -1.337514394288152e-01 -1.335144355004790e-01 -1.332775177574095e-01 + -1.330406860095451e-01 -1.328039402156265e-01 -1.325672804621033e-01 -1.323307068237664e-01 -1.320942191803451e-01 + -1.318578174250235e-01 -1.316215019436967e-01 -1.313852728254415e-01 -1.311491298574344e-01 -1.309130730812647e-01 + -1.306771025967214e-01 -1.304412184433993e-01 -1.302054204167683e-01 -1.299697085633917e-01 -1.297340833011096e-01 + -1.294985445422908e-01 -1.292630921400970e-01 -1.290277262032818e-01 -1.287924468024440e-01 -1.285572538860320e-01 + -1.283221472565841e-01 -1.280871271607027e-01 -1.278521939245786e-01 -1.276173473594251e-01 -1.273825873815436e-01 + -1.271479140654554e-01 -1.269133275291332e-01 -1.266788276689478e-01 -1.264444143112885e-01 -1.262100878411512e-01 + -1.259758484249543e-01 -1.257416958580221e-01 -1.255076301118343e-01 -1.252736512740011e-01 -1.250397594556589e-01 + -1.248059544551782e-01 -1.245722362561283e-01 -1.243386053032582e-01 -1.241050615437150e-01 -1.238716047916152e-01 + -1.236382351439431e-01 -1.234049527007845e-01 -1.231717574487822e-01 -1.229386491649988e-01 -1.227056280466961e-01 + -1.224726944551588e-01 -1.222398481939305e-01 -1.220070891810755e-01 -1.217744175349468e-01 -1.215418333321439e-01 + -1.213093364896874e-01 -1.210769268543440e-01 -1.208446047468073e-01 -1.206123703546746e-01 -1.203802234985189e-01 + -1.201481641556592e-01 -1.199161924040098e-01 -1.196843083373426e-01 -1.194525118101599e-01 -1.192208027778711e-01 + -1.189891816158967e-01 -1.187576483334740e-01 -1.185262027772708e-01 -1.182948450325541e-01 -1.180635751718018e-01 + -1.178323931740712e-01 -1.176012988598141e-01 -1.173702923768903e-01 -1.171393740841554e-01 -1.169085438684581e-01 + -1.166778016318426e-01 -1.164471474323627e-01 -1.162165813372163e-01 -1.159861033094216e-01 -1.157557132288848e-01 + -1.155254113554128e-01 -1.152951978878259e-01 -1.150650726784410e-01 -1.148350356935617e-01 -1.146050869998271e-01 + -1.143752266983624e-01 -1.141454546633286e-01 -1.139157708150553e-01 -1.136861755297615e-01 -1.134566688685596e-01 + -1.132272506625232e-01 -1.129979209389772e-01 -1.127686797968139e-01 -1.125395272939830e-01 -1.123104632216639e-01 + -1.120814876598629e-01 -1.118526009932446e-01 -1.116238031362107e-01 -1.113950939743172e-01 -1.111664735714766e-01 + -1.109379420230661e-01 -1.107094992989161e-01 -1.104811452047023e-01 -1.102528800189790e-01 -1.100247040176238e-01 + -1.097966169898620e-01 -1.095686189066022e-01 -1.093407098806465e-01 -1.091128899944971e-01 -1.088851591239916e-01 + -1.086575171512236e-01 -1.084299644451029e-01 -1.082025011238454e-01 -1.079751270251657e-01 -1.077478421434466e-01 + -1.075206465724022e-01 -1.072935404061887e-01 -1.070665234272605e-01 -1.068395956686409e-01 -1.066127575621145e-01 + -1.063860090403522e-01 -1.061593499609373e-01 -1.059327804074918e-01 -1.057063004552603e-01 -1.054799100848440e-01 + -1.052536091459819e-01 -1.050273978363624e-01 -1.048012764247322e-01 -1.045752447992682e-01 -1.043493029044653e-01 + -1.041234507912105e-01 -1.038976885616201e-01 -1.036720161437409e-01 -1.034464334142674e-01 -1.032209407082870e-01 + -1.029955381585720e-01 -1.027702255852857e-01 -1.025450030256683e-01 -1.023198705766582e-01 -1.020948282803886e-01 + -1.018698759615270e-01 -1.016450136357437e-01 -1.014202417243671e-01 -1.011955602054591e-01 -1.009709689162001e-01 + -1.007464679013254e-01 -1.005220572777319e-01 -1.002977370772110e-01 -1.000735070732387e-01 -9.984936745539402e-02 + -9.962531858349888e-02 -9.940136027998529e-02 -9.917749246814733e-02 -9.895371525770333e-02 -9.873002873335845e-02 + -9.850643282337790e-02 -9.828292738770521e-02 -9.805951276903688e-02 -9.783618914357473e-02 -9.761295629040607e-02 + -9.738981424317925e-02 -9.716676311420755e-02 -9.694380293900719e-02 -9.672093359332221e-02 -9.649815506782670e-02 + -9.627546771326484e-02 -9.605287156919239e-02 -9.583036651098850e-02 -9.560795255252680e-02 -9.538562978098189e-02 + -9.516339824129488e-02 -9.494125774199282e-02 -9.471920843970391e-02 -9.449725071216948e-02 -9.427538438593883e-02 + -9.405360936874554e-02 -9.383192580278800e-02 -9.361033376064058e-02 -9.338883317577901e-02 -9.316742389906425e-02 + -9.294610622995669e-02 -9.272488039403920e-02 -9.250374621386263e-02 -9.228270367992475e-02 -9.206175287916113e-02 + -9.184089387273792e-02 -9.162012656935895e-02 -9.139945093572596e-02 -9.117886729658348e-02 -9.095837571294788e-02 + -9.073797605928635e-02 -9.051766837713708e-02 -9.029745274779008e-02 -9.007732920697027e-02 -8.985729759887780e-02 + -8.963735802530043e-02 -8.941751083887589e-02 -8.919775594907166e-02 -8.897809325953572e-02 -8.875852286193828e-02 + -8.853904483959285e-02 -8.831965916578795e-02 -8.810036569419880e-02 -8.788116467295366e-02 -8.766205635082600e-02 + -8.744304058057480e-02 -8.722411733824492e-02 -8.700528670561582e-02 -8.678654875532379e-02 -8.656790339361393e-02 + -8.634935054757228e-02 -8.613089058374623e-02 -8.591252359970507e-02 -8.569424942256174e-02 -8.547606809595372e-02 + -8.525797972327777e-02 -8.503998436304407e-02 -8.482208183975883e-02 -8.460427219735964e-02 -8.438655581333676e-02 + -8.416893266387415e-02 -8.395140264416648e-02 -8.373396580036768e-02 -8.351662221748458e-02 -8.329937190808817e-02 + -8.308221474187347e-02 -8.286515089972675e-02 -8.264818063381729e-02 -8.243130387381740e-02 -8.221452057360500e-02 + -8.199783077068876e-02 -8.178123458056528e-02 -8.156473193866548e-02 -8.134832272179610e-02 -8.113200727104515e-02 + -8.091578573554094e-02 -8.069965795549490e-02 -8.048362394306618e-02 -8.026768379237301e-02 -8.005183759034226e-02 + -7.983608519016389e-02 -7.962042660317335e-02 -7.940486220827629e-02 -7.918939199917317e-02 -7.897401585103307e-02 + -7.875873382193239e-02 -7.854354599947752e-02 -7.832845240531904e-02 -7.811345290511561e-02 -7.789854765910142e-02 + -7.768373695009409e-02 -7.746902070156129e-02 -7.725439886068521e-02 -7.703987147751143e-02 -7.682543865920169e-02 + -7.661110037032860e-02 -7.639685648697914e-02 -7.618270730319152e-02 -7.596865299784139e-02 -7.575469343456721e-02 + -7.554082861289950e-02 -7.532705861915691e-02 -7.511338355056779e-02 -7.489980327273796e-02 -7.468631776375068e-02 + -7.447292742489155e-02 -7.425963225373161e-02 -7.404643208981297e-02 -7.383332706618533e-02 -7.362031725942129e-02 + -7.340740264369265e-02 -7.319458312424655e-02 -7.298185885257603e-02 -7.276923011698885e-02 -7.255669681825400e-02 + -7.234425890125808e-02 -7.213191646645117e-02 -7.191966959969415e-02 -7.170751827394115e-02 -7.149546237742448e-02 + -7.128350216363183e-02 -7.107163782537941e-02 -7.085986923051370e-02 -7.064819639413342e-02 -7.043661941815849e-02 + -7.022513838389523e-02 -7.001375316964638e-02 -6.980246372359999e-02 -6.959127044971054e-02 -6.938017339783993e-02 + -6.916917238807876e-02 -6.895826751099868e-02 -6.874745887832359e-02 -6.853674652264935e-02 -6.832613029387129e-02 + -6.811561029537151e-02 -6.790518687416305e-02 -6.769485994872884e-02 -6.748462944761908e-02 -6.727449549181348e-02 + -6.706445814195625e-02 -6.685451736224034e-02 -6.664467305023641e-02 -6.643492546019260e-02 -6.622527482862205e-02 + -6.601572100856345e-02 -6.580626400049541e-02 -6.559690390732385e-02 -6.538764078471235e-02 -6.517847455920224e-02 + -6.496940519404462e-02 -6.476043303620643e-02 -6.455155816426872e-02 -6.434278041275177e-02 -6.413409988235154e-02 + -6.392551667227454e-02 -6.371703078482928e-02 -6.350864213121965e-02 -6.330035079826633e-02 -6.309215709125325e-02 + -6.288406097171770e-02 -6.267606236590158e-02 -6.246816137578116e-02 -6.226035810132791e-02 -6.205265253482506e-02 + -6.184504450634240e-02 -6.163753424009603e-02 -6.143012204113525e-02 -6.122280779495761e-02 -6.101559145710207e-02 + -6.080847310111580e-02 -6.060145284620669e-02 -6.039453063876327e-02 -6.018770637541451e-02 -5.998098039534337e-02 + -5.977435284136760e-02 -5.956782355675167e-02 -5.936139258218223e-02 -5.915506002510895e-02 -5.894882595975996e-02 + -5.874269025717062e-02 -5.853665294379332e-02 -5.833071438748900e-02 -5.812487459491447e-02 -5.791913345983549e-02 + -5.771349104248068e-02 -5.750794745476003e-02 -5.730250273990040e-02 -5.709715674449271e-02 -5.689190963313420e-02 + -5.668676170442684e-02 -5.648171287301057e-02 -5.627676311138611e-02 -5.607191251359627e-02 -5.586716116856662e-02 + -5.566250902085241e-02 -5.545795595276776e-02 -5.525350230977423e-02 -5.504914828197500e-02 -5.484489368806074e-02 + -5.464073856561743e-02 -5.443668303623681e-02 -5.423272717677420e-02 -5.402887087270093e-02 -5.382511411736842e-02 + -5.362145727556954e-02 -5.341790037997223e-02 -5.321444331788154e-02 -5.301108618236487e-02 -5.280782907094528e-02 + -5.260467200594416e-02 -5.240161485390568e-02 -5.219865776343095e-02 -5.199580105954085e-02 -5.179304465507040e-02 + -5.159038850941820e-02 -5.138783273765680e-02 -5.118537740030552e-02 -5.098302246878324e-02 -5.078076787428482e-02 + -5.057861387937131e-02 -5.037656068404879e-02 -5.017460818262723e-02 -4.997275637519877e-02 -4.977100534878579e-02 + -4.956935521374012e-02 -4.936780587637167e-02 -4.916635729330274e-02 -4.896500983679772e-02 -4.876376358063662e-02 + -4.856261839799727e-02 -4.836157437280066e-02 -4.816063160553166e-02 -4.795979012910388e-02 -4.775904981223175e-02 + -4.755841077230219e-02 -4.735787336181510e-02 -4.715743752596301e-02 -4.695710319390285e-02 -4.675687045398216e-02 + -4.655673941737810e-02 -4.635671009364274e-02 -4.615678236145827e-02 -4.595695644691457e-02 -4.575723258610617e-02 + -4.555761069075770e-02 -4.535809077212207e-02 -4.515867291944397e-02 -4.495935719937229e-02 -4.476014355843901e-02 + -4.456103197632578e-02 -4.436202279051898e-02 -4.416311608901573e-02 -4.396431172960501e-02 -4.376560979706327e-02 + -4.356701040970479e-02 -4.336851362154585e-02 -4.317011930970618e-02 -4.297182755295056e-02 -4.277363871130811e-02 + -4.257555275870079e-02 -4.237756961321195e-02 -4.217968936488893e-02 -4.198191211978222e-02 -4.178423789759614e-02 + -4.158666657665847e-02 -4.138919837391426e-02 -4.119183356383482e-02 -4.099457203865310e-02 -4.079741379048268e-02 + -4.060035892668235e-02 -4.040340754077800e-02 -4.020655958670875e-02 -4.000981499812348e-02 -3.981317410229721e-02 + -3.961663704352115e-02 -3.942020369405195e-02 -3.922387410519079e-02 -3.902764838570288e-02 -3.883152661169272e-02 + -3.863550868276464e-02 -3.843959464464100e-02 -3.824378485096525e-02 -3.804807931112070e-02 -3.785247793879744e-02 + -3.765698082240899e-02 -3.746158806803077e-02 -3.726629970906549e-02 -3.707111562537097e-02 -3.687603600301111e-02 + -3.668106114329449e-02 -3.648619095542227e-02 -3.629142541706046e-02 -3.609676463615045e-02 -3.590220871216067e-02 + -3.570775761915167e-02 -3.551341127587861e-02 -3.531916998478909e-02 -3.512503392646860e-02 -3.493100298239093e-02 + -3.473707719308593e-02 -3.454325666569649e-02 -3.434954148093054e-02 -3.415593156072503e-02 -3.396242692622412e-02 + -3.376902792182854e-02 -3.357573459185429e-02 -3.338254684613227e-02 -3.318946476737597e-02 -3.299648846264201e-02 + -3.280361798076661e-02 -3.261085320981364e-02 -3.241819429994710e-02 -3.222564156785773e-02 -3.203319495411584e-02 + -3.184085442350271e-02 -3.164862007407277e-02 -3.145649201602077e-02 -3.126447024597763e-02 -3.107255466700169e-02 + -3.088074555671056e-02 -3.068904313085425e-02 -3.049744727803826e-02 -3.030595802638682e-02 -3.011457548570120e-02 + -2.992329974875160e-02 -2.973213075050443e-02 -2.954106848293515e-02 -2.935011329195715e-02 -2.915926525661732e-02 + -2.896852427673346e-02 -2.877789042941862e-02 -2.858736382466336e-02 -2.839694452567641e-02 -2.820663243092813e-02 + -2.801642765839682e-02 -2.782633053619610e-02 -2.763634102981755e-02 -2.744645909471058e-02 -2.725668483048721e-02 + -2.706701834793413e-02 -2.687745966148872e-02 -2.668800867127078e-02 -2.649866562411629e-02 -2.630943076513501e-02 + -2.612030399888650e-02 -2.593128533989631e-02 -2.574237489560391e-02 -2.555357276907920e-02 -2.536487891525730e-02 + -2.517629330290238e-02 -2.498781626631630e-02 -2.479944791947400e-02 -2.461118815951395e-02 -2.442303705775731e-02 + -2.423499472682666e-02 -2.404706124098910e-02 -2.385923651050157e-02 -2.367152062237768e-02 -2.348391391197065e-02 + -2.329641637680258e-02 -2.310902796361102e-02 -2.292174876507744e-02 -2.273457889435020e-02 -2.254751838574287e-02 + -2.236056713942959e-02 -2.217372537079298e-02 -2.198699334983061e-02 -2.180037099746794e-02 -2.161385831877313e-02 + -2.142745542221016e-02 -2.124116241611923e-02 -2.105497927356034e-02 -2.086890594375282e-02 -2.068294274565517e-02 + -2.049708982965088e-02 -2.031134709508492e-02 -2.012571460207244e-02 -1.994019246558534e-02 -1.975478077426674e-02 + -1.956947944878238e-02 -1.938428854559868e-02 -1.919920840769478e-02 -1.901423906121075e-02 -1.882938044349050e-02 + -1.864463264867233e-02 -1.845999578941159e-02 -1.827546991282947e-02 -1.809105492490821e-02 -1.790675101318496e-02 + -1.772255847013706e-02 -1.753847723077995e-02 -1.735450728912205e-02 -1.717064875577919e-02 -1.698690174123156e-02 + -1.680326624034783e-02 -1.661974219495428e-02 -1.643632989539235e-02 -1.625302952284425e-02 -1.606984099009794e-02 + -1.588676434582367e-02 -1.570379970237604e-02 -1.552094715767664e-02 -1.533820665109939e-02 -1.515557821470722e-02 + -1.497306218983010e-02 -1.479065863118324e-02 -1.460836746737021e-02 -1.442618879376636e-02 -1.424412272699600e-02 + -1.406216932715821e-02 -1.388032850365394e-02 -1.369860041414062e-02 -1.351698537084881e-02 -1.333548332713773e-02 + -1.315409426742165e-02 -1.297281830737383e-02 -1.279165555870565e-02 -1.261060603011550e-02 -1.242966965324022e-02 + -1.224884670128487e-02 -1.206813738892206e-02 -1.188754163203305e-02 -1.170705946859269e-02 -1.152669101347058e-02 + -1.134643637569507e-02 -1.116629550991553e-02 -1.098626842139487e-02 -1.080635544822676e-02 -1.062655668128806e-02 + -1.044687204494093e-02 -1.026730162280993e-02 -1.008784553433474e-02 -9.908503858526582e-03 -9.729276511698201e-03 + -9.550163618928804e-03 -9.371165505355611e-03 -9.192282154920128e-03 -9.013513542246960e-03 -8.834859775588668e-03 + -8.656320970291077e-03 -8.477897155130903e-03 -8.299588259899083e-03 -8.121394531144674e-03 -7.943316209259341e-03 + -7.765353219198069e-03 -7.587505591333328e-03 -7.409773443860054e-03 -7.232156891183837e-03 -7.054655906230881e-03 + -6.877270474033493e-03 -6.700000921715352e-03 -6.522847372218281e-03 -6.345809748257097e-03 -6.168888131399519e-03 + -5.992082642122597e-03 -5.815393366379400e-03 -5.638820235869921e-03 -5.462363348533388e-03 -5.286023033805962e-03 + -5.109799304673499e-03 -4.933692127821829e-03 -4.757701606393674e-03 -4.581827861470766e-03 -4.406070940931505e-03 + -4.230430770274698e-03 -4.054907567997104e-03 -3.879501600335772e-03 -3.704212807069328e-03 -3.529041210474627e-03 + -3.353986930090703e-03 -3.179050081041732e-03 -3.004230655593028e-03 -2.829528626659512e-03 -2.654944304289923e-03 + -2.480477843039907e-03 -2.306129168890747e-03 -2.131898354626704e-03 -1.957785522367332e-03 -1.783790769612464e-03 + -1.609914041309663e-03 -1.436155409326836e-03 -1.262515208025358e-03 -1.088993476198761e-03 -9.155901719868249e-04 + -7.423054008843995e-04 -5.691392854771952e-04 -3.960918865957833e-04 -2.231631331613931e-04 -5.035321608514060e-05 + 1.223375771945329e-04 2.949092895407656e-04 4.673619084872533e-04 6.396953140537370e-04 8.119093865188150e-04 + 9.840041155727759e-04 1.155979539871523e-03 1.327835367602612e-03 1.499571413663267e-03 1.671187748049661e-03 + 1.842684305331169e-03 2.014060960896812e-03 2.185317608856639e-03 2.356454289147141e-03 2.527470954200780e-03 + 2.698367270832486e-03 2.869143169831049e-03 3.039798698561594e-03 3.210333755176400e-03 3.380748214685887e-03 + 3.551042001872539e-03 3.721215182132198e-03 3.891267592694254e-03 4.061198929412137e-03 4.231009214636464e-03 + 4.400698444839332e-03 4.570266499650065e-03 4.739713256426893e-03 4.909038688279234e-03 5.078242841339914e-03 + 5.247325443294046e-03 5.416286280121805e-03 5.585125417934797e-03 5.753842797319914e-03 5.922438289361948e-03 + 6.090911784292105e-03 6.259263304936011e-03 6.427492823105761e-03 6.595600012759487e-03 6.763584774419725e-03 + 6.931447157908777e-03 7.099187064683324e-03 7.266804368739545e-03 7.434298984071849e-03 7.601670964899477e-03 + 7.768920175905106e-03 7.936046303989365e-03 8.103049345026314e-03 8.269929303195386e-03 8.436686062480435e-03 + 8.603319496825714e-03 8.769829559891583e-03 8.936216298209541e-03 9.102479469308070e-03 9.268618835503980e-03 + 9.434634442417017e-03 9.600526244002849e-03 9.766294116521254e-03 9.931937936947469e-03 1.009745771049027e-02 + 1.026285342997890e-02 1.042812477681206e-02 1.059327162144324e-02 1.075829401681754e-02 1.092319186819127e-02 + 1.108796504594824e-02 1.125261345370748e-02 1.141713713772357e-02 1.158153598704318e-02 1.174580967555363e-02 + 1.190995817803677e-02 1.207398151021485e-02 1.223787955540131e-02 1.240165218070774e-02 1.256529932365555e-02 + 1.272882103806231e-02 1.289221710280211e-02 1.305548725320952e-02 1.321863152957668e-02 1.338164989105289e-02 + 1.354454220587777e-02 1.370730835288826e-02 1.386994832163190e-02 1.403246211588375e-02 1.419484943187744e-02 + 1.435711010999991e-02 1.451924419921884e-02 1.468125161270911e-02 1.484313222013652e-02 1.500488591571896e-02 + 1.516651273046586e-02 1.532801257754355e-02 1.548938513124086e-02 1.565063033579857e-02 1.581174821092933e-02 + 1.597273864701365e-02 1.613360150922888e-02 1.629433671764488e-02 1.645494432276120e-02 1.661542413184349e-02 + 1.677577586209575e-02 1.693599953321696e-02 1.709609511287956e-02 1.725606247097126e-02 1.741590148147653e-02 + 1.757561211738663e-02 1.773519439308624e-02 1.789464801957598e-02 1.805397280960725e-02 1.821316881163111e-02 + 1.837223594327105e-02 1.853117406905512e-02 1.868998307594014e-02 1.884866298214414e-02 1.900721372338833e-02 + 1.916563497459167e-02 1.932392665507269e-02 1.948208878919649e-02 1.964012126059438e-02 1.979802393750615e-02 + 1.995579673545799e-02 2.011343968946751e-02 2.027095263124555e-02 2.042833526879373e-02 2.058558759933038e-02 + 2.074270959919291e-02 2.089970114286997e-02 2.105656209513535e-02 2.121329241031374e-02 2.136989211400533e-02 + 2.152636093833320e-02 2.168269866776463e-02 2.183890534086288e-02 2.199498088647827e-02 2.215092516911965e-02 + 2.230673806408907e-02 2.246241957468516e-02 2.261796965793072e-02 2.277338799181243e-02 2.292867446749406e-02 + 2.308382911412376e-02 2.323885181888266e-02 2.339374244699652e-02 2.354850090287507e-02 2.370312721409915e-02 + 2.385762123470989e-02 2.401198266010886e-02 2.416621147301771e-02 2.432030765671687e-02 2.447427107682733e-02 + 2.462810160176357e-02 2.478179917471193e-02 2.493536381795363e-02 2.508879528739230e-02 2.524209334527653e-02 + 2.539525801488748e-02 2.554828923354157e-02 2.570118686847216e-02 2.585395079171064e-02 2.600658098606827e-02 + 2.615907742012537e-02 2.631143978762620e-02 2.646366795301069e-02 2.661576194257877e-02 2.676772164859378e-02 + 2.691954693391293e-02 2.707123769272043e-02 2.722279394328245e-02 2.737421556407061e-02 2.752550224474631e-02 + 2.767665393933695e-02 2.782767063812680e-02 2.797855221700411e-02 2.812929853552858e-02 2.827990951702357e-02 + 2.843038519104858e-02 2.858072533585580e-02 2.873092969062032e-02 2.888099827101270e-02 2.903093101911967e-02 + 2.918072779556083e-02 2.933038847140823e-02 2.947991301658642e-02 2.962930141213865e-02 2.977855336278226e-02 + 2.992766870509821e-02 3.007664746318324e-02 3.022548953626840e-02 3.037419478553557e-02 3.052276309616091e-02 + 3.067119447416764e-02 3.081948881896879e-02 3.096764581778017e-02 3.111566540198458e-02 3.126354756710210e-02 + 3.141129218718559e-02 3.155889912410548e-02 3.170636829125183e-02 3.185369970791438e-02 3.200089317518744e-02 + 3.214794841776677e-02 3.229486543634106e-02 3.244164418203412e-02 3.258828451581320e-02 3.273478630264194e-02 + 3.288114949586567e-02 3.302737408530167e-02 3.317345979235018e-02 3.331940642975919e-02 3.346521401820098e-02 + 3.361088246101045e-02 3.375641161607764e-02 3.390180136352038e-02 3.404705169548587e-02 3.419216253016829e-02 + 3.433713355905806e-02 3.448196468652563e-02 3.462665590981111e-02 3.477120710939272e-02 3.491561814527116e-02 + 3.505988891618091e-02 3.520401943397326e-02 3.534800952666442e-02 3.549185891051008e-02 3.563556756111654e-02 + 3.577913543618631e-02 3.592256240340591e-02 3.606584831947614e-02 3.620899312153205e-02 3.635199681091714e-02 + 3.649485912620978e-02 3.663757985375464e-02 3.678015900636063e-02 3.692259649832257e-02 3.706489218607827e-02 + 3.720704593508108e-02 3.734905772908955e-02 3.749092751022131e-02 3.763265496742431e-02 3.777423997951684e-02 + 3.791568254953915e-02 3.805698256030369e-02 3.819813986869797e-02 3.833915436267914e-02 3.848002605018682e-02 + 3.862075477984065e-02 3.876134025391093e-02 3.890178243600422e-02 3.904208129158644e-02 3.918223668100989e-02 + 3.932224846044379e-02 3.946211655605483e-02 3.960184097189857e-02 3.974142146457355e-02 3.988085779819951e-02 + 4.002014997942075e-02 4.015929792921669e-02 4.029830150192959e-02 4.043716055991190e-02 4.057587507004282e-02 + 4.071444498657769e-02 4.085287001066611e-02 4.099114999824743e-02 4.112928495212512e-02 4.126727475679569e-02 + 4.140511926665246e-02 4.154281836167219e-02 4.168037204269245e-02 4.181778018003033e-02 4.195504246778908e-02 + 4.209215884913708e-02 4.222912929605258e-02 4.236595366776428e-02 4.250263182248033e-02 4.263916367566677e-02 + 4.277554922465009e-02 4.291178824859961e-02 4.304788049654025e-02 4.318382596138427e-02 4.331962457087349e-02 + 4.345527617981602e-02 4.359078064797250e-02 4.372613792550029e-02 4.386134797486977e-02 4.399641051415262e-02 + 4.413132537776133e-02 4.426609256403441e-02 4.440071196061698e-02 4.453518342174363e-02 4.466950682320869e-02 + 4.480368214879805e-02 4.493770928728694e-02 4.507158793990715e-02 4.520531802497359e-02 4.533889951667943e-02 + 4.547233228082954e-02 4.560561616979211e-02 4.573875108353129e-02 4.587173702317195e-02 4.600457379177124e-02 + 4.613726112101928e-02 4.626979898466685e-02 4.640218731770854e-02 4.653442597807410e-02 4.666651481740990e-02 + 4.679845378497393e-02 4.693024287357150e-02 4.706188178521280e-02 4.719337030512012e-02 4.732470843170088e-02 + 4.745589609974604e-02 4.758693317708736e-02 4.771781949014568e-02 4.784855500276729e-02 4.797913963655120e-02 + 4.810957311625792e-02 4.823985532440599e-02 4.836998622519359e-02 4.849996572088229e-02 4.862979364778694e-02 + 4.875946986129576e-02 4.888899438454671e-02 4.901836703838853e-02 4.914758752328308e-02 4.927665585368439e-02 + 4.940557196434897e-02 4.953433564666962e-02 4.966294680168561e-02 4.979140536998770e-02 4.991971127467005e-02 + 5.004786430086550e-02 5.017586426593462e-02 5.030371111424699e-02 5.043140473941395e-02 5.055894500969876e-02 + 5.068633180855401e-02 5.081356509387767e-02 5.094064477169723e-02 5.106757053524139e-02 5.119434226596677e-02 + 5.132095996453229e-02 5.144742351517578e-02 5.157373274644007e-02 5.169988750799723e-02 5.182588783131492e-02 + 5.195173357105356e-02 5.207742440366903e-02 5.220296027189056e-02 5.232834113948501e-02 5.245356688434039e-02 + 5.257863735375337e-02 5.270355244318054e-02 5.282831211610928e-02 5.295291615700908e-02 5.307736435753736e-02 + 5.320165668494783e-02 5.332579302368824e-02 5.344977322479061e-02 5.357359720391287e-02 5.369726488407797e-02 + 5.382077614890905e-02 5.394413077320572e-02 5.406732861255047e-02 5.419036960275756e-02 5.431325364836510e-02 + 5.443598061485443e-02 5.455855035736775e-02 5.468096283548277e-02 5.480321791614200e-02 5.492531533836561e-02 + 5.504725504027442e-02 5.516903696522249e-02 5.529066094250196e-02 5.541212681912044e-02 5.553343451105355e-02 + 5.565458402054679e-02 5.577557512714444e-02 5.589640757833542e-02 5.601708136214176e-02 5.613759637012277e-02 + 5.625795242697428e-02 5.637814944133901e-02 5.649818735356010e-02 5.661806606948155e-02 5.673778531909066e-02 + 5.685734496106067e-02 5.697674499811992e-02 5.709598525886500e-02 5.721506557962035e-02 5.733398588420521e-02 + 5.745274613557275e-02 5.757134619305772e-02 5.768978576165893e-02 5.780806477237931e-02 5.792618319490116e-02 + 5.804414085654030e-02 5.816193759992416e-02 5.827957333255503e-02 5.839704805764100e-02 5.851436157058919e-02 + 5.863151359019340e-02 5.874850407742044e-02 5.886533297606138e-02 5.898200016057164e-02 5.909850545490182e-02 + 5.921484876799358e-02 5.933103006596772e-02 5.944704910278828e-02 5.956290569090495e-02 5.967859979076014e-02 + 5.979413129454921e-02 5.990950006107775e-02 6.002470595625681e-02 6.013974894676900e-02 6.025462892974234e-02 + 6.036934559538653e-02 6.048389882575328e-02 6.059828859366181e-02 6.071251478747773e-02 6.082657726499330e-02 + 6.094047589468096e-02 6.105421060960093e-02 6.116778124880510e-02 6.128118760026364e-02 6.139442960439424e-02 + 6.150750715787331e-02 6.162042008748835e-02 6.173316829355946e-02 6.184575170612789e-02 6.195817023946892e-02 + 6.207042366308074e-02 6.218251178412997e-02 6.229443455021107e-02 6.240619187345142e-02 6.251778362644587e-02 + 6.262920965673664e-02 6.274046989094115e-02 6.285156423838029e-02 6.296249246083868e-02 6.307325441937692e-02 + 6.318385004239983e-02 6.329427920287174e-02 6.340454177652059e-02 6.351463766120390e-02 6.362456678994362e-02 + 6.373432899407734e-02 6.384392402667542e-02 6.395335181995393e-02 6.406261231361865e-02 6.417170537725830e-02 + 6.428063082883417e-02 6.438938856382127e-02 6.449797859582693e-02 6.460640069400744e-02 6.471465460887021e-02 + 6.482274028565467e-02 6.493065766530991e-02 6.503840663024645e-02 6.514598697176463e-02 6.525339863731919e-02 + 6.536064160053869e-02 6.546771556229376e-02 6.557462036169828e-02 6.568135597564134e-02 6.578792228094754e-02 + 6.589431913461476e-02 6.600054641494822e-02 6.610660407274732e-02 6.621249195669229e-02 6.631820979208959e-02 + 6.642375751800587e-02 6.652913508526218e-02 6.663434233390064e-02 6.673937912206085e-02 6.684424535139094e-02 + 6.694894096694531e-02 6.705346576057515e-02 6.715781952052316e-02 6.726200223606826e-02 6.736601378290344e-02 + 6.746985396850236e-02 6.757352270136854e-02 6.767701992273348e-02 6.778034554033589e-02 6.788349929667206e-02 + 6.798648102682574e-02 6.808929069330329e-02 6.819192820375723e-02 6.829439341428477e-02 6.839668615716293e-02 + 6.849880637697058e-02 6.860075397106770e-02 6.870252870886938e-02 6.880413046413429e-02 6.890555915577500e-02 + 6.900681468090485e-02 6.910789689150486e-02 6.920880565820778e-02 6.930954094436353e-02 6.941010257623929e-02 + 6.951049032497619e-02 6.961070411466443e-02 6.971074386483528e-02 6.981060945693285e-02 6.991030074013053e-02 + 7.000981760721879e-02 7.010915998226322e-02 7.020832768385020e-02 7.030732053981503e-02 7.040613843777971e-02 + 7.050478130476578e-02 7.060324902125202e-02 7.070154139632766e-02 7.079965841104072e-02 7.089759998592053e-02 + 7.099536579014293e-02 7.109295574922263e-02 7.119036986301433e-02 7.128760792254588e-02 7.138466979343019e-02 + 7.148155540894172e-02 7.157826467726322e-02 7.167479742578257e-02 7.177115345207208e-02 7.186733268619028e-02 + 7.196333504975572e-02 7.205916041090092e-02 7.215480858692887e-02 7.225027948023270e-02 7.234557308374470e-02 + 7.244068916926014e-02 7.253562753252076e-02 7.263038813284139e-02 7.272497087062332e-02 7.281937559790036e-02 + 7.291360215228662e-02 7.300765049821943e-02 7.310152057265214e-02 7.319521208383468e-02 7.328872490709243e-02 + 7.338205901635925e-02 7.347521425841259e-02 7.356819049091311e-02 7.366098761637971e-02 7.375360558736099e-02 + 7.384604424623381e-02 7.393830334347133e-02 7.403038279875497e-02 7.412228254437477e-02 7.421400245985316e-02 + 7.430554241104276e-02 7.439690229021774e-02 7.448808202204141e-02 7.457908141717452e-02 7.466990029970315e-02 + 7.476053861745356e-02 7.485099625058683e-02 7.494127304678436e-02 7.503136889191833e-02 7.512128371784581e-02 + 7.521101743547498e-02 7.530056981436373e-02 7.538994071268737e-02 7.547913007544443e-02 7.556813780083994e-02 + 7.565696374971752e-02 7.574560777501017e-02 7.583406981695588e-02 7.592234975180168e-02 7.601044736291800e-02 + 7.609836256769248e-02 7.618609528331391e-02 7.627364535037680e-02 7.636101265407126e-02 7.644819711937149e-02 + 7.653519868718589e-02 7.662201715447789e-02 7.670865230880411e-02 7.679510411035856e-02 7.688137246970578e-02 + 7.696745724207896e-02 7.705335828035317e-02 7.713907552614908e-02 7.722460893765626e-02 7.730995825366380e-02 + 7.739512330293280e-02 7.748010405365591e-02 7.756490042829636e-02 7.764951228919105e-02 7.773393946198498e-02 + 7.781818189157449e-02 7.790223948237281e-02 7.798611201876808e-02 7.806979939436651e-02 7.815330154059554e-02 + 7.823661834982702e-02 7.831974966729814e-02 7.840269536418043e-02 7.848545542109749e-02 7.856802968700778e-02 + 7.865041794492959e-02 7.873262009221961e-02 7.881463606524114e-02 7.889646578364969e-02 7.897810905385311e-02 + 7.905956578813299e-02 7.914083598393755e-02 7.922191938944982e-02 7.930281582198326e-02 7.938352526916173e-02 + 7.946404763288464e-02 7.954438277705837e-02 7.962453057021987e-02 7.970449093695484e-02 7.978426377009373e-02 + 7.986384886265184e-02 7.994324611178145e-02 8.002245546069972e-02 8.010147680163558e-02 8.018030998339011e-02 + 8.025895486859348e-02 8.033741142939121e-02 8.041567953647351e-02 8.049375898816008e-02 8.057164970191152e-02 + 8.064935159117341e-02 8.072686453538828e-02 8.080418841559016e-02 8.088132313650849e-02 8.095826861741187e-02 + 8.103502469212946e-02 8.111159121525567e-02 8.118796811657426e-02 8.126415526945288e-02 8.134015254787534e-02 + 8.141595988122388e-02 8.149157718184835e-02 8.156700432424771e-02 8.164224113093393e-02 8.171728750211138e-02 + 8.179214337283539e-02 8.186680860558979e-02 8.194128308109257e-02 8.201556671181809e-02 8.208965942384167e-02 + 8.216356107347705e-02 8.223727146913333e-02 8.231079055026533e-02 8.238411825286719e-02 8.245725445426123e-02 + 8.253019901019013e-02 8.260295182089074e-02 8.267551284923887e-02 8.274788192985057e-02 8.282005889192648e-02 + 8.289204367192234e-02 8.296383619751495e-02 8.303543635380874e-02 8.310684396376640e-02 8.317805898151856e-02 + 8.324908138250064e-02 8.331991092178788e-02 8.339054746670159e-02 8.346099098907200e-02 8.353124136246602e-02 + 8.360129848004999e-02 8.367116227251760e-02 8.374083263302687e-02 8.381030943134427e-02 8.387959252741883e-02 + 8.394868181167527e-02 8.401757720093640e-02 8.408627862550171e-02 8.415478594369409e-02 8.422309904154775e-02 + 8.429121790707177e-02 8.435914237533512e-02 8.442687225429805e-02 8.449440750560887e-02 8.456174803803686e-02 + 8.462889372267089e-02 8.469584447602406e-02 8.476260023136410e-02 8.482916090148240e-02 8.489552630009754e-02 + 8.496169630228255e-02 8.502767086164854e-02 8.509344988672647e-02 8.515903326018803e-02 8.522442086136313e-02 + 8.528961263471936e-02 8.535460848680074e-02 8.541940824041729e-02 8.548401181612168e-02 8.554841915131453e-02 + 8.561263012321893e-02 8.567664461211427e-02 8.574046253447680e-02 8.580408386832587e-02 8.586750845589863e-02 + 8.593073610333024e-02 8.599376680387132e-02 8.605660047760594e-02 8.611923696874126e-02 8.618167618396408e-02 + 8.624391807608472e-02 8.630596259724549e-02 8.636780954833972e-02 8.642945878839840e-02 8.649091029427977e-02 + 8.655216396695875e-02 8.661321970043215e-02 8.667407742210617e-02 8.673473702989365e-02 8.679519841504303e-02 + 8.685546148336530e-02 8.691552612855238e-02 8.697539224666265e-02 8.703505975750943e-02 8.709452857692032e-02 + 8.715379861893667e-02 8.721286980508075e-02 8.727174201224434e-02 8.733041510377958e-02 8.738888903629666e-02 + 8.744716372671989e-02 8.750523904187274e-02 8.756311491392924e-02 8.762079127795709e-02 8.767826803995526e-02 + 8.773554506310657e-02 8.779262223690780e-02 8.784949951260017e-02 8.790617682173207e-02 8.796265406226209e-02 + 8.801893109931651e-02 8.807500788687952e-02 8.813088437660771e-02 8.818656039674132e-02 8.824203585227545e-02 + 8.829731070095961e-02 8.835238486000704e-02 8.840725822106667e-02 8.846193068214857e-02 8.851640221803356e-02 + 8.857067273700293e-02 8.862474207580676e-02 8.867861014722141e-02 8.873227689758616e-02 8.878574227696898e-02 + 8.883900618220902e-02 8.889206851560667e-02 8.894492921167085e-02 8.899758815302622e-02 8.905004524008538e-02 + 8.910230044719054e-02 8.915435367300073e-02 8.920620479173334e-02 8.925785373448247e-02 8.930930045917142e-02 + 8.936054490961548e-02 8.941158695191696e-02 8.946242647641844e-02 8.951306341364354e-02 8.956349771969928e-02 + 8.961372931388180e-02 8.966375808278661e-02 8.971358396554302e-02 8.976320688963368e-02 8.981262675341668e-02 + 8.986184348935064e-02 8.991085703129179e-02 8.995966729258320e-02 9.000827417122792e-02 9.005667759770250e-02 + 9.010487756379584e-02 9.015287394264000e-02 9.020066659275561e-02 9.024825550203337e-02 9.029564061179933e-02 + 9.034282181894199e-02 9.038979902630290e-02 9.043657218570805e-02 9.048314126656666e-02 9.052950615463343e-02 + 9.057566675480395e-02 9.062162300961238e-02 9.066737484935303e-02 9.071292219781772e-02 9.075826498061153e-02 + 9.080340315127385e-02 9.084833664156222e-02 9.089306533771581e-02 9.093758915627431e-02 9.098190804149961e-02 + 9.102602195783284e-02 9.106993084471440e-02 9.111363462196023e-02 9.115713320054021e-02 9.120042650346059e-02 + 9.124351446434358e-02 9.128639702175202e-02 9.132907412994692e-02 9.137154573427010e-02 9.141381170435277e-02 + 9.145587198962597e-02 9.149772660800266e-02 9.153937542844172e-02 9.158081834977004e-02 9.162205535599281e-02 + 9.166308637778346e-02 9.170391133536025e-02 9.174453017072061e-02 9.178494285856946e-02 9.182514933661440e-02 + 9.186514945794547e-02 9.190494319482566e-02 9.194453054665523e-02 9.198391140758180e-02 9.202308569543158e-02 + 9.206205336702038e-02 9.210081441034919e-02 9.213936875086109e-02 9.217771627651770e-02 9.221585694962209e-02 + 9.225379072840771e-02 9.229151754885842e-02 9.232903734819613e-02 9.236635007909103e-02 9.240345570404732e-02 + 9.244035413434255e-02 9.247704529963750e-02 9.251352918345666e-02 9.254980573968512e-02 9.258587489795035e-02 + 9.262173657649034e-02 9.265739073985793e-02 9.269283735974691e-02 9.272807636276849e-02 9.276310769047050e-02 + 9.279793130272118e-02 9.283254716719631e-02 9.286695521394739e-02 9.290115536246511e-02 9.293514761281572e-02 + 9.296893192325742e-02 9.300250819824006e-02 9.303587638369953e-02 9.306903645092859e-02 9.310198837852499e-02 + 9.313473209662422e-02 9.316726755984403e-02 9.319959477466139e-02 9.323171364631608e-02 9.326362408592948e-02 + 9.329532610133226e-02 9.332681964339190e-02 9.335810464438972e-02 9.338918108249107e-02 9.342004893308628e-02 + 9.345070815580041e-02 9.348115868437977e-02 9.351140046962789e-02 9.354143348306601e-02 9.357125770365762e-02 + 9.360087308621738e-02 9.363027956518245e-02 9.365947710363894e-02 9.368846567300493e-02 9.371724524372237e-02 + 9.374581578300241e-02 9.377417725111503e-02 9.380232960142115e-02 9.383027280206080e-02 9.385800682788301e-02 + 9.388553164914089e-02 9.391284719773688e-02 9.393995342276806e-02 9.396685035781838e-02 9.399353796706621e-02 + 9.402001617537038e-02 9.404628495786660e-02 9.407234429781461e-02 9.409819417117830e-02 9.412383453169183e-02 + 9.414926534580341e-02 9.417448659641373e-02 9.419949825736050e-02 9.422430029380560e-02 9.424889267135104e-02 + 9.427327539998738e-02 9.429744844865905e-02 9.432141171534560e-02 9.434516522540957e-02 9.436870900006604e-02 + 9.439204294634228e-02 9.441516705436934e-02 9.443808133745002e-02 9.446078573953387e-02 9.448328023801857e-02 + 9.450556483411636e-02 9.452763950923013e-02 9.454950421611270e-02 9.457115890701832e-02 9.459260360830167e-02 + 9.461383832574666e-02 9.463486302352626e-02 9.465567765409444e-02 9.467628220109425e-02 9.469667668274938e-02 + 9.471686106967921e-02 9.473683533004949e-02 9.475659945563136e-02 9.477615343325803e-02 9.479549725292793e-02 + 9.481463091432241e-02 9.483355439545672e-02 9.485226766778346e-02 9.487077071788189e-02 9.488906353992572e-02 + 9.490714613644993e-02 9.492501852119042e-02 9.494268066964073e-02 9.496013253895599e-02 9.497737414244060e-02 + 9.499440547543551e-02 9.501122651272445e-02 9.502783728094538e-02 9.504423778187990e-02 9.506042797340242e-02 + 9.507640785191551e-02 9.509217742006319e-02 9.510773667189122e-02 9.512308563868060e-02 9.513822432123879e-02 + 9.515315264231193e-02 9.516787063845662e-02 9.518237836728226e-02 9.519667577724227e-02 9.521076284349063e-02 + 9.522463958294539e-02 9.523830604498588e-02 9.525176221483619e-02 9.526500804718509e-02 9.527804359769618e-02 + 9.529086886623650e-02 9.530348379689602e-02 9.531588845120076e-02 9.532808286166987e-02 9.534006699012688e-02 + 9.535184085361241e-02 9.536340447105748e-02 9.537475783364874e-02 9.538590095359538e-02 9.539683385237334e-02 + 9.540755654711666e-02 9.541806903829181e-02 9.542837132640679e-02 9.543846343230179e-02 9.544834536597921e-02 + 9.545801714100983e-02 9.546747880593646e-02 9.547673036184304e-02 9.548577178084619e-02 9.549460309483834e-02 + 9.550322434581640e-02 9.551163556335956e-02 9.551983673903520e-02 9.552782788036314e-02 9.553560902903191e-02 + 9.554318022933674e-02 9.555054148771730e-02 9.555769276632298e-02 9.556463412975340e-02 9.557136563747151e-02 + 9.557788725689133e-02 9.558419903459103e-02 9.559030102901959e-02 9.559619321427665e-02 9.560187562136102e-02 + 9.560734830883322e-02 9.561261127917654e-02 9.561766456108449e-02 9.562250820572099e-02 9.562714223416331e-02 + 9.563156666435306e-02 9.563578152405575e-02 9.563978686682097e-02 9.564358272631937e-02 9.564716910782914e-02 + 9.565054604965099e-02 9.565371359980702e-02 9.565667179877529e-02 9.565942066526258e-02 9.566196023293236e-02 + 9.566429057683135e-02 9.566641172752892e-02 9.566832368940979e-02 9.567002647518966e-02 9.567152016429874e-02 + 9.567280484915060e-02 9.567388053004788e-02 9.567474721294261e-02 9.567540493730267e-02 9.567585379392737e-02 + 9.567609383300600e-02 9.567612506298810e-02 9.567594754568214e-02 9.567556133790830e-02 9.567496647244744e-02 + 9.567416299512438e-02 9.567315095370396e-02 9.567193039196389e-02 9.567050136232016e-02 9.566886392120964e-02 + 9.566701812558283e-02 9.566496403827787e-02 9.566270170884209e-02 9.566023115264767e-02 9.565755243736668e-02 + 9.565466564791879e-02 9.565157080775241e-02 9.564826797386157e-02 9.564475723264595e-02 9.564103864027859e-02 + 9.563711223757489e-02 9.563297806735498e-02 9.562863621895812e-02 9.562408675116861e-02 9.561932968250994e-02 + 9.561436511583814e-02 9.560919313325968e-02 9.560381374743886e-02 9.559822704785555e-02 9.559243313048145e-02 + 9.558643203289170e-02 9.558022378864620e-02 9.557380846466877e-02 9.556718619530349e-02 9.556035703327785e-02 + 9.555332100122134e-02 9.554607821247386e-02 9.553862873475936e-02 9.553097259908433e-02 9.552310989218279e-02 + 9.551504070130773e-02 9.550676510186747e-02 9.549828317393894e-02 9.548959500356741e-02 9.548070067318166e-02 + 9.547160021295119e-02 9.546229369018946e-02 9.545278124506257e-02 9.544306292579091e-02 9.543313878273989e-02 + 9.542300894892854e-02 9.541267351639289e-02 9.540213254817664e-02 9.539138610562420e-02 9.538043425774057e-02 + 9.536927709152246e-02 9.535791472882026e-02 9.534634726779553e-02 9.533457478138217e-02 9.532259734256758e-02 + 9.531041503990305e-02 9.529802797105680e-02 9.528543620462085e-02 9.527263983869082e-02 9.525963900525855e-02 + 9.524643375927100e-02 9.523302417643500e-02 9.521941040061487e-02 9.520559252291068e-02 9.519157060486365e-02 + 9.517734471153570e-02 9.516291499670615e-02 9.514828160467456e-02 9.513344455080376e-02 9.511840393248631e-02 + 9.510315989360162e-02 9.508771251519674e-02 9.507206189457258e-02 9.505620814925633e-02 9.504015138530268e-02 + 9.502389169582724e-02 9.500742917228551e-02 9.499076394524120e-02 9.497389612890822e-02 9.495682580659018e-02 + 9.493955308203066e-02 9.492207807526097e-02 9.490440091330225e-02 9.488652168366014e-02 9.486844048723730e-02 + 9.485015747906970e-02 9.483167277063544e-02 9.481298644119306e-02 9.479409856622809e-02 9.477500930738031e-02 + 9.475571884085587e-02 9.473622721810367e-02 9.471653454723004e-02 9.469664098786204e-02 9.467654664635866e-02 + 9.465625162221861e-02 9.463575602621152e-02 9.461505999415500e-02 9.459416367044585e-02 9.457306719633034e-02 + 9.455177068421998e-02 9.453027423759350e-02 9.450857796468222e-02 9.448668199276268e-02 9.446458647203468e-02 + 9.444229157255099e-02 9.441979739649474e-02 9.439710403006842e-02 9.437421161454676e-02 9.435112031829759e-02 + 9.432783029179438e-02 9.430434160094567e-02 9.428065438538669e-02 9.425676883924589e-02 9.423268508508292e-02 + 9.420840322981890e-02 9.418392339716981e-02 9.415924578030670e-02 9.413437051700123e-02 9.410929767030043e-02 + 9.408402741009517e-02 9.405855992335012e-02 9.403289535840260e-02 9.400703383941893e-02 9.398097549341558e-02 + 9.395472046838550e-02 9.392826889502673e-02 9.390162091553057e-02 9.387477672023849e-02 9.384773645864139e-02 + 9.382050025947151e-02 9.379306828457251e-02 9.376544068778003e-02 9.373761760606118e-02 9.370959916011609e-02 + 9.368138552427184e-02 9.365297690930323e-02 9.362437342817573e-02 9.359557520850639e-02 9.356658243379877e-02 + 9.353739529945312e-02 9.350801394425273e-02 9.347843843855524e-02 9.344866901272440e-02 9.341870589097585e-02 + 9.338854915644307e-02 9.335819897637819e-02 9.332765555734250e-02 9.329691906420928e-02 9.326598960092489e-02 + 9.323486729288316e-02 9.320355242698486e-02 9.317204517635257e-02 9.314034562740874e-02 9.310845398153604e-02 + 9.307637042858882e-02 9.304409511565054e-02 9.301162817412864e-02 9.297896979469056e-02 9.294612022999450e-02 + 9.291307963943660e-02 9.287984815938743e-02 9.284642594887814e-02 9.281281319942865e-02 9.277901009754375e-02 + 9.274501679883909e-02 9.271083349621308e-02 9.267646039527271e-02 9.264189767811302e-02 9.260714551564306e-02 + 9.257220408228978e-02 9.253707357624473e-02 9.250175417101536e-02 9.246624602802385e-02 9.243054935165987e-02 + 9.239466434718238e-02 9.235859120974489e-02 9.232233012999355e-02 9.228588129454922e-02 9.224924488066757e-02 + 9.221242103323031e-02 9.217540995047416e-02 9.213821191347883e-02 9.210082709355732e-02 9.206325564930115e-02 + 9.202549780755387e-02 9.198755374602623e-02 9.194942363528436e-02 9.191110769995278e-02 9.187260614753277e-02 + 9.183391917841241e-02 9.179504701848260e-02 9.175598985687712e-02 9.171674785963810e-02 9.167732123351167e-02 + 9.163771019528422e-02 9.159791495855178e-02 9.155793572040530e-02 9.151777270193290e-02 9.147742614628342e-02 + 9.143689622063791e-02 9.139618310892414e-02 9.135528705455570e-02 9.131420824439858e-02 9.127294688450004e-02 + 9.123150325806001e-02 9.118987755991119e-02 9.114806996063474e-02 9.110608069642255e-02 9.106390998608170e-02 + 9.102155802996120e-02 9.097902503011562e-02 9.093631123402490e-02 9.089341690732793e-02 9.085034224655422e-02 + 9.080708743846595e-02 9.076365269164367e-02 9.072003828369785e-02 9.067624443485320e-02 9.063227129485288e-02 + 9.058811915193726e-02 9.054378827004000e-02 9.049927881221763e-02 9.045459103770109e-02 9.040972520178260e-02 + 9.036468147234690e-02 9.031946007844127e-02 9.027406127956829e-02 9.022848531585773e-02 9.018273243214560e-02 + 9.013680287341128e-02 9.009069686920407e-02 9.004441462623869e-02 8.999795635152021e-02 8.995132231203949e-02 + 8.990451276610797e-02 8.985752795281814e-02 8.981036812557305e-02 8.976303351703613e-02 8.971552434037033e-02 + 8.966784087291869e-02 8.961998334831080e-02 8.957195192338249e-02 8.952374693198487e-02 8.947536869631613e-02 + 8.942681737354224e-02 8.937809319632291e-02 8.932919644498671e-02 8.928012738635183e-02 8.923088623240803e-02 + 8.918147319450437e-02 8.913188858291199e-02 8.908213269254797e-02 8.903220577223506e-02 8.898210800726358e-02 + 8.893183965769864e-02 8.888140104180198e-02 8.883079233855783e-02 8.878001380541380e-02 8.872906581842580e-02 + 8.867794859494142e-02 8.862666233412557e-02 8.857520730323154e-02 8.852358381153494e-02 8.847179212845252e-02 + 8.841983243253916e-02 8.836770502123131e-02 8.831541022882371e-02 8.826294830990469e-02 8.821031949641793e-02 + 8.815752403748606e-02 8.810456224863354e-02 8.805143437639511e-02 8.799814063336710e-02 8.794468134879541e-02 + 8.789105684257616e-02 8.783726738270531e-02 8.778331316928159e-02 8.772919447874153e-02 8.767491167446911e-02 + 8.762046495069514e-02 8.756585454037039e-02 8.751108081839833e-02 8.745614408581825e-02 8.740104459021790e-02 + 8.734578256007368e-02 8.729035830815834e-02 8.723477214343743e-02 8.717902426868683e-02 8.712311501918556e-02 + 8.706704476846663e-02 8.701081371877695e-02 8.695442211628683e-02 8.689787027644420e-02 8.684115853767592e-02 + 8.678428714435096e-02 8.672725629439892e-02 8.667006642064547e-02 8.661271785522098e-02 8.655521075244504e-02 + 8.649754543067346e-02 8.643972223965939e-02 8.638174147222141e-02 8.632360334916610e-02 8.626530814542391e-02 + 8.620685627786050e-02 8.614824804295058e-02 8.608948367410735e-02 8.603056343813603e-02 8.597148768708160e-02 + 8.591225676580187e-02 8.585287085352321e-02 8.579333027004854e-02 8.573363543090719e-02 8.567378659419787e-02 + 8.561378404241062e-02 8.555362810687137e-02 8.549331906471129e-02 8.543285719635127e-02 8.537224281446841e-02 + 8.531147627953188e-02 8.525055791649624e-02 8.518948798167383e-02 8.512826679756995e-02 8.506689470133286e-02 + 8.500537199311337e-02 8.494369892596923e-02 8.488187579804041e-02 8.481990305210670e-02 8.475778099074194e-02 + 8.469550984763315e-02 8.463308996695838e-02 8.457052168539449e-02 8.450780530789033e-02 8.444494110975011e-02 + 8.438192942971584e-02 8.431877065438623e-02 8.425546507059704e-02 8.419201297696736e-02 8.412841471805475e-02 + 8.406467061549007e-02 8.400078097306259e-02 8.393674609180030e-02 8.387256634619757e-02 8.380824209666674e-02 + 8.374377362095807e-02 8.367916122870038e-02 8.361440526888680e-02 8.354950611900661e-02 8.348446403538942e-02 + 8.341927927704872e-02 8.335395233905314e-02 8.328848356223681e-02 8.322287316371958e-02 8.315712149574238e-02 + 8.309122893699929e-02 8.302519583647612e-02 8.295902243510637e-02 8.289270907781640e-02 8.282625623697057e-02 + 8.275966417678003e-02 8.269293318851907e-02 8.262606370095599e-02 8.255905601211083e-02 8.249191039312886e-02 + 8.242462718945633e-02 8.235720681988298e-02 8.228964967784431e-02 8.222195602541869e-02 8.215412621284769e-02 + 8.208616062445039e-02 8.201805954142698e-02 8.194982329150195e-02 8.188145225476894e-02 8.181294680713293e-02 + 8.174430731452863e-02 8.167553412282050e-02 8.160662752890076e-02 8.153758789030935e-02 8.146841562526554e-02 + 8.139911098330359e-02 8.132967428676124e-02 8.126010603531450e-02 8.119040656216225e-02 8.112057615694021e-02 + 8.105061517994502e-02 8.098052402265073e-02 8.091030303880128e-02 8.083995248093376e-02 8.076947276447492e-02 + 8.069886435754116e-02 8.062812754457355e-02 8.055726265736828e-02 8.048627008799529e-02 8.041515020636995e-02 + 8.034390332540668e-02 8.027252974489747e-02 8.020102993492553e-02 8.012940431195667e-02 8.005765317555476e-02 + 7.998577686939379e-02 7.991377577220368e-02 7.984165027334414e-02 7.976940065907111e-02 7.969702727793032e-02 + 7.962453065567111e-02 7.955191112254574e-02 7.947916895239987e-02 7.940630455590227e-02 7.933331833212637e-02 + 7.926021063894960e-02 7.918698178217287e-02 7.911363216326053e-02 7.904016223823181e-02 7.896657235187955e-02 + 7.889286283938438e-02 7.881903406306398e-02 7.874508643443230e-02 7.867102031060058e-02 7.859683599526633e-02 + 7.852253395767629e-02 7.844811463098400e-02 7.837357831424305e-02 7.829892537205134e-02 7.822415619643758e-02 + 7.814927116484589e-02 7.807427062910767e-02 7.799915496813195e-02 7.792392464520610e-02 7.784858004657273e-02 + 7.777312150359181e-02 7.769754936428309e-02 7.762186403791040e-02 7.754606594385612e-02 7.747015537442642e-02 + 7.739413273994507e-02 7.731799855521804e-02 7.724175314852555e-02 7.716539684747571e-02 7.708893004657069e-02 + 7.701235315053030e-02 7.693566653742440e-02 7.685887055661017e-02 7.678196565918903e-02 7.670495227727288e-02 + 7.662783073280909e-02 7.655060142689749e-02 7.647326478202995e-02 7.639582115595660e-02 7.631827089499127e-02 + 7.624061438211467e-02 7.616285210329320e-02 7.608498447266238e-02 7.600701183814436e-02 7.592893457493513e-02 + 7.585075308733022e-02 7.577246778116596e-02 7.569407897223836e-02 7.561558707997214e-02 7.553699264667676e-02 + 7.545829602219666e-02 7.537949752159374e-02 7.530059752746436e-02 7.522159652110559e-02 7.514249491290788e-02 + 7.506329293711217e-02 7.498399108869409e-02 7.490458989985715e-02 7.482508965268882e-02 7.474549074308040e-02 + 7.466579363230305e-02 7.458599868473173e-02 7.450610623924510e-02 7.442611667561436e-02 7.434603053570255e-02 + 7.426584824442337e-02 7.418557009969678e-02 7.410519651333995e-02 7.402472793153594e-02 7.394416477978479e-02 + 7.386350736456949e-02 7.378275607823381e-02 7.370191147772952e-02 7.362097394239986e-02 7.353994380500382e-02 + 7.345882147239775e-02 7.337760740248925e-02 7.329630201371148e-02 7.321490559729334e-02 7.313341861868546e-02 + 7.305184160923943e-02 7.297017492620234e-02 7.288841893034562e-02 7.280657402242413e-02 7.272464064227188e-02 + 7.264261917439505e-02 7.256050997585588e-02 7.247831356170273e-02 7.239603038649280e-02 7.231366079163171e-02 + 7.223120520116612e-02 7.214866404160214e-02 7.206603769517569e-02 7.198332653777370e-02 7.190053098792457e-02 + 7.181765153838118e-02 7.173468863077177e-02 7.165164265282598e-02 7.156851395212357e-02 7.148530298289761e-02 + 7.140201021117390e-02 7.131863593482980e-02 7.123518058493326e-02 7.115164469180060e-02 7.106802866653637e-02 + 7.098433289103630e-02 7.090055775733806e-02 7.081670370962735e-02 7.073277114629017e-02 7.064876042084919e-02 + 7.056467204467058e-02 7.048050649359339e-02 7.039626411522021e-02 7.031194531783586e-02 7.022755055007633e-02 + 7.014308026270048e-02 7.005853477507426e-02 6.997391445865883e-02 6.988921994223606e-02 6.980445161374127e-02 + 6.971960976161336e-02 6.963469490630880e-02 6.954970749457975e-02 6.946464787470261e-02 6.937951638488904e-02 + 6.929431352344900e-02 6.920903988440608e-02 6.912369577614699e-02 6.903828154824053e-02 6.895279768813133e-02 + 6.886724462309453e-02 6.878162274040467e-02 6.869593242264821e-02 6.861017418575431e-02 6.852434851303352e-02 + 6.843845573229547e-02 6.835249626715924e-02 6.826647058722328e-02 6.818037912112360e-02 6.809422221022603e-02 + 6.800800023353686e-02 6.792171381432285e-02 6.783536337902803e-02 6.774894920974223e-02 6.766247176656806e-02 + 6.757593152448671e-02 6.748932891036163e-02 6.740266425451470e-02 6.731593799992638e-02 6.722915072040272e-02 + 6.714230278026269e-02 6.705539454984789e-02 6.696842651283096e-02 6.688139909018249e-02 6.679431266253504e-02 + 6.670716761081900e-02 6.661996446504156e-02 6.653270374249923e-02 6.644538575792285e-02 6.635801090742725e-02 + 6.627057965598744e-02 6.618309245387675e-02 6.609554968705872e-02 6.600795173819872e-02 6.592029914958422e-02 + 6.583259238307172e-02 6.574483179767340e-02 6.565701780669353e-02 6.556915085921187e-02 6.548123140723705e-02 + 6.539325979064996e-02 6.530523643565112e-02 6.521716192687264e-02 6.512903665438342e-02 6.504086097557776e-02 + 6.495263535156262e-02 6.486436022769713e-02 6.477603601048113e-02 6.468766306269763e-02 6.459924187637454e-02 + 6.451077298036002e-02 6.442225675573160e-02 6.433369358016772e-02 6.424508387319842e-02 6.415642813133042e-02 + 6.406772674084167e-02 6.397898002556264e-02 6.389018858464109e-02 6.380135290132970e-02 6.371247325592760e-02 + 6.362355010153516e-02 6.353458392277617e-02 6.344557514446422e-02 6.335652411846264e-02 6.326743126079815e-02 + 6.317829713990436e-02 6.308912216326193e-02 6.299990668862973e-02 6.291065117630994e-02 6.282135608306753e-02 + 6.273202182393535e-02 6.264264873955985e-02 6.255323731562341e-02 6.246378810230178e-02 6.237430143094801e-02 + 6.228477769978175e-02 6.219521740601344e-02 6.210562097707054e-02 6.201598879095212e-02 6.192632121693314e-02 + 6.183661876812600e-02 6.174688193928092e-02 6.165711112558074e-02 6.156730673780070e-02 6.147746920022401e-02 + 6.138759893800432e-02 6.129769633241683e-02 6.120776180293847e-02 6.111779589683188e-02 6.102779903735479e-02 + 6.093777158500626e-02 6.084771398591046e-02 6.075762667844817e-02 6.066751007308262e-02 6.057736455111417e-02 + 6.048719057054321e-02 6.039698864588414e-02 6.030675917961215e-02 6.021650256672047e-02 6.012621923377075e-02 + 6.003590961818356e-02 5.994557411659043e-02 5.985521308639186e-02 5.976482706463886e-02 5.967441656528669e-02 + 5.958398192281734e-02 5.949352353003544e-02 5.940304183449088e-02 5.931253730252380e-02 5.922201027916447e-02 + 5.913146112197507e-02 5.904089044032181e-02 5.895029868043596e-02 5.885968615096351e-02 5.876905326755812e-02 + 5.867840050492581e-02 5.858772833116550e-02 5.849703703991720e-02 5.840632705235495e-02 5.831559896255584e-02 + 5.822485314806121e-02 5.813408997000494e-02 5.804330987759122e-02 5.795251328764216e-02 5.786170059865808e-02 + 5.777087221384987e-02 5.768002859772193e-02 5.758917021647553e-02 5.749829746896256e-02 5.740741077575853e-02 + 5.731651056875526e-02 5.722559725171274e-02 5.713467118430270e-02 5.704373274635539e-02 5.695278249332581e-02 + 5.686182088614487e-02 5.677084826809927e-02 5.667986504336005e-02 5.658887165217444e-02 5.649786853613976e-02 + 5.640685602792318e-02 5.631583453941855e-02 5.622480462822738e-02 5.613376666437993e-02 5.604272100502515e-02 + 5.595166813210956e-02 5.586060845174765e-02 5.576954232437998e-02 5.567847012652845e-02 5.558739236715193e-02 + 5.549630955542323e-02 5.540522197136583e-02 5.531413002536285e-02 5.522303422299683e-02 5.513193492275553e-02 + 5.504083247717721e-02 5.494972729209355e-02 5.485861988753332e-02 5.476751071228679e-02 5.467640010379995e-02 + 5.458528846418693e-02 5.449417622493567e-02 5.440306381105370e-02 5.431195155656662e-02 5.422083985771245e-02 + 5.412972927459819e-02 5.403862019627870e-02 5.394751295390937e-02 5.385640797531270e-02 5.376530569364821e-02 + 5.367420650537214e-02 5.358311072889269e-02 5.349201882499156e-02 5.340093132499041e-02 5.330984856991542e-02 + 5.321877091980749e-02 5.312769879767464e-02 5.303663263591166e-02 5.294557280318667e-02 5.285451962473617e-02 + 5.276347361952855e-02 5.267243525955664e-02 5.258140485845194e-02 5.249038280640431e-02 5.239936952998326e-02 + 5.230836544276557e-02 5.221737088032564e-02 5.212638621732711e-02 5.203541199430900e-02 5.194444860919033e-02 + 5.185349638284296e-02 5.176255572471577e-02 5.167162705674897e-02 5.158071077330502e-02 5.148980718747074e-02 + 5.139891673261619e-02 5.130803993485430e-02 5.121717713356427e-02 5.112632867301793e-02 5.103549496777923e-02 + 5.094467643725986e-02 5.085387344650644e-02 5.076308630673339e-02 5.067231551219451e-02 5.058156153920812e-02 + 5.049082469322039e-02 5.040010534612100e-02 5.030940391348503e-02 5.021872080090227e-02 5.012805633824483e-02 + 5.003741087422633e-02 4.994678493647212e-02 4.985617892926745e-02 4.976559315779018e-02 4.967502801470126e-02 + 4.958448390876292e-02 4.949396122643934e-02 4.940346027599988e-02 4.931298146262254e-02 4.922252530167843e-02 + 4.913209213539834e-02 4.904168229174269e-02 4.895129616994274e-02 4.886093417404704e-02 4.877059666413559e-02 + 4.868028394034647e-02 4.858999646754281e-02 4.849973472130898e-02 4.840949900241633e-02 4.831928966152828e-02 + 4.822910709871525e-02 4.813895171199074e-02 4.804882382564480e-02 4.795872376124456e-02 4.786865202942978e-02 + 4.777860903855367e-02 4.768859507592742e-02 4.759861051627762e-02 4.750865575639699e-02 4.741873117406014e-02 + 4.732883706721817e-02 4.723897381137243e-02 4.714914191200375e-02 4.705934171189571e-02 4.696957351961628e-02 + 4.687983771740974e-02 4.679013469431771e-02 4.670046480338604e-02 4.661082833156779e-02 4.652122571187634e-02 + 4.643165741520618e-02 4.634212373882778e-02 4.625262501422293e-02 4.616316162482947e-02 4.607373395212459e-02 + 4.598434231610999e-02 4.589498701904484e-02 4.580566854223844e-02 4.571638729424802e-02 4.562714355109129e-02 + 4.553793766452621e-02 4.544877001582995e-02 4.535964097502848e-02 4.527055082898004e-02 4.518149992236756e-02 + 4.509248874970542e-02 4.500351765014129e-02 4.491458690878355e-02 4.482569689376779e-02 4.473684797939540e-02 + 4.464804050747698e-02 4.455927474828068e-02 4.447055110499822e-02 4.438187004531898e-02 4.429323185876936e-02 + 4.420463685202721e-02 4.411608538888854e-02 4.402757783926076e-02 4.393911451733543e-02 4.385069570127949e-02 + 4.376232184208732e-02 4.367399334643604e-02 4.358571047769912e-02 4.349747356709084e-02 4.340928298020802e-02 + 4.332113907381294e-02 4.323304212320113e-02 4.314499244129432e-02 4.305699050668390e-02 4.296903665620930e-02 + 4.288113115167341e-02 4.279327434447749e-02 4.270546659199307e-02 4.261770822231841e-02 4.252999949469098e-02 + 4.244234077853745e-02 4.235473252680039e-02 4.226717502474875e-02 4.217966855846760e-02 4.209221347273914e-02 + 4.200481011967518e-02 4.191745880279663e-02 4.183015977695443e-02 4.174291346429643e-02 4.165572027077732e-02 + 4.156858044734360e-02 4.148149429654668e-02 4.139446216241891e-02 4.130748439363172e-02 4.122056125606220e-02 + 4.113369302794675e-02 4.104688016346336e-02 4.096012300095512e-02 4.087342178434451e-02 4.078677683583759e-02 + 4.070018849668031e-02 4.061365708919899e-02 4.052718285106741e-02 4.044076611819490e-02 4.035440733833207e-02 + 4.026810678092279e-02 4.018186470341873e-02 4.009568143909095e-02 4.000955732298062e-02 3.992349264534106e-02 + 3.983748763759326e-02 3.975154269055037e-02 3.966565820546299e-02 3.957983441649049e-02 3.949407160357907e-02 + 3.940837009289332e-02 3.932273021031552e-02 3.923715221270428e-02 3.915163635394041e-02 3.906618306202975e-02 + 3.898079266950179e-02 3.889546539672872e-02 3.881020154253283e-02 3.872500143016262e-02 3.863986536923758e-02 + 3.855479358615301e-02 3.846978637959592e-02 3.838484417257106e-02 3.829996723484980e-02 3.821515580420295e-02 + 3.813041018714970e-02 3.804573069687705e-02 3.796111761198420e-02 3.787657114752344e-02 3.779209165765486e-02 + 3.770767953120019e-02 3.762333499040284e-02 3.753905829251161e-02 3.745484974542636e-02 3.737070965331050e-02 + 3.728663825939783e-02 3.720263578933122e-02 3.711870264209954e-02 3.703483914671073e-02 3.695104550519348e-02 + 3.686732199057993e-02 3.678366890490292e-02 3.670008654113079e-02 3.661657511036890e-02 3.653313487804630e-02 + 3.644976625150438e-02 3.636646948823320e-02 3.628324479604935e-02 3.620009246605282e-02 3.611701279349350e-02 + 3.603400604041686e-02 3.595107239910939e-02 3.586821219020735e-02 3.578542579441001e-02 3.570271341631447e-02 + 3.562007528519529e-02 3.553751169069794e-02 3.545502291550906e-02 3.537260919186706e-02 3.529027072401183e-02 + 3.520800787214007e-02 3.512582095428173e-02 3.504371015751370e-02 3.496167573051010e-02 3.487971795476078e-02 + 3.479783710598274e-02 3.471603337811516e-02 3.463430699965583e-02 3.455265835796009e-02 3.447108770848941e-02 + 3.438959523450754e-02 3.430818119554624e-02 3.422684586511945e-02 3.414558949343227e-02 3.406441225419257e-02 + 3.398331443038755e-02 3.390229638782512e-02 3.382135832287533e-02 3.374050043789544e-02 3.365972299780525e-02 + 3.357902626321113e-02 3.349841045119794e-02 3.341787574130316e-02 3.333742246166845e-02 3.325705092272905e-02 + 3.317676129391954e-02 3.309655379649919e-02 3.301642868788483e-02 3.293638622159571e-02 3.285642658240021e-02 + 3.277654996949401e-02 3.269675673538998e-02 3.261704712715797e-02 3.253742130855802e-02 3.245787951722746e-02 + 3.237842200259459e-02 3.229904899349424e-02 3.221976065258773e-02 3.214055722659278e-02 3.206143905506719e-02 + 3.198240632628265e-02 3.190345921865954e-02 3.182459797365254e-02 3.174582282841434e-02 3.166713398447476e-02 + 3.158853160183031e-02 3.151001597036992e-02 3.143158738592136e-02 3.135324600516137e-02 3.127499202279022e-02 + 3.119682567104914e-02 3.111874718036912e-02 3.104075672462514e-02 3.096285447683152e-02 3.088504075536903e-02 + 3.080731579690068e-02 3.072967974437236e-02 3.065213281019982e-02 3.057467522135681e-02 3.049730718652442e-02 + 3.042002885157935e-02 3.034284042889533e-02 3.026574223701538e-02 3.018873445294931e-02 3.011181722724549e-02 + 3.003499077734359e-02 2.995825532248887e-02 2.988161104857855e-02 2.980505808548691e-02 2.972859668986686e-02 + 2.965222714891759e-02 2.957594959806504e-02 2.949976420500935e-02 2.942367118266701e-02 2.934767073798247e-02 + 2.927176302885600e-02 2.919594820074298e-02 2.912022654108078e-02 2.904459827654108e-02 2.896906352751058e-02 + 2.889362247668933e-02 2.881827533028623e-02 2.874302228403363e-02 2.866786346167200e-02 2.859279903706265e-02 + 2.851782931145582e-02 2.844295445253672e-02 2.836817458182308e-02 2.829348988995876e-02 2.821890057629359e-02 + 2.814440681221589e-02 2.807000870175516e-02 2.799570646465742e-02 2.792150037589211e-02 2.784739055623231e-02 + 2.777337714638600e-02 2.769946033688953e-02 2.762564030841585e-02 2.755191720229608e-02 2.747829114116882e-02 + 2.740476237631904e-02 2.733133112357609e-02 2.725799748998750e-02 2.718476162641247e-02 2.711162371095654e-02 + 2.703858392279279e-02 2.696564237390275e-02 2.689279920452167e-02 2.682005468428394e-02 2.674740897239565e-02 + 2.667486216835663e-02 2.660241443488607e-02 2.653006594727732e-02 2.645781686062815e-02 2.638566726160998e-02 + 2.631361733435826e-02 2.624166733570949e-02 2.616981737012440e-02 2.609806754771221e-02 2.602641803533937e-02 + 2.595486900051258e-02 2.588342056814261e-02 2.581207282360541e-02 2.574082599292273e-02 2.566968028470076e-02 + 2.559863577456860e-02 2.552769259041796e-02 2.545685089381796e-02 2.538611083889939e-02 2.531547252137675e-02 + 2.524493605061727e-02 2.517450166747065e-02 2.510416952086314e-02 2.503393968681819e-02 2.496381230163825e-02 + 2.489378751859868e-02 2.482386547683629e-02 2.475404624292582e-02 2.468432996264991e-02 2.461471687229032e-02 + 2.454520706873932e-02 2.447580063686782e-02 2.440649771598710e-02 2.433729844997764e-02 2.426820294893469e-02 + 2.419921127712116e-02 2.413032362216684e-02 2.406154017790910e-02 2.399286100816565e-02 2.392428621229386e-02 + 2.385581592554643e-02 2.378745028409909e-02 2.371918936700126e-02 2.365103325041379e-02 2.358298215018098e-02 + 2.351503620457756e-02 2.344719546326070e-02 2.337946004127276e-02 2.331183006962702e-02 2.324430566419196e-02 + 2.317688687789637e-02 2.310957382435168e-02 2.304236671579298e-02 2.297526563441205e-02 2.290827063843882e-02 + 2.284138184722980e-02 2.277459938171355e-02 2.270792333404544e-02 2.264135374860772e-02 2.257489077729924e-02 + 2.250853459738779e-02 2.244228525780410e-02 2.237614283279474e-02 2.231010743473913e-02 2.224417917668724e-02 + 2.217835812285958e-02 2.211264432248330e-02 2.204703795931322e-02 2.198153916317220e-02 2.191614796666107e-02 + 2.185086445220271e-02 2.178568872592581e-02 2.172062089111306e-02 2.165566098457172e-02 2.159080908357505e-02 + 2.152606537366001e-02 2.146142993110024e-02 2.139690279242156e-02 2.133248404619538e-02 2.126817379406035e-02 + 2.120397211607284e-02 2.113987903003668e-02 2.107589465469217e-02 2.101201915594272e-02 2.094825256288664e-02 + 2.088459492231405e-02 2.082104632696408e-02 2.075760686991806e-02 2.069427660166107e-02 2.063105554609518e-02 + 2.056794384972622e-02 2.050494162894281e-02 2.044204890243054e-02 2.037926573000831e-02 2.031659219454509e-02 + 2.025402837653619e-02 2.019157429898307e-02 2.012923000978476e-02 2.006699566765361e-02 2.000487133731908e-02 + 1.994285703240835e-02 1.988095281849638e-02 1.981915877663429e-02 1.975747497137283e-02 1.969590139839621e-02 + 1.963443814246610e-02 1.957308535571834e-02 1.951184305296579e-02 1.945071125524195e-02 1.938969003470093e-02 + 1.932877945979973e-02 1.926797956444602e-02 1.920729035294688e-02 1.914671194302782e-02 1.908624443873623e-02 + 1.902588783798898e-02 1.896564217312377e-02 1.890550750534374e-02 1.884548390173623e-02 1.878557136933607e-02 + 1.872576992282937e-02 1.866607969751645e-02 1.860650074902563e-02 1.854703306920867e-02 1.848767670108510e-02 + 1.842843170242723e-02 1.836929811895166e-02 1.831027593341436e-02 1.825136519709141e-02 1.819256603897189e-02 + 1.813387846842225e-02 1.807530248298604e-02 1.801683812530333e-02 1.795848544988909e-02 1.790024447932676e-02 + 1.784211518704799e-02 1.778409766075985e-02 1.772619199567190e-02 1.766839817113224e-02 1.761071619932593e-02 + 1.755314612276550e-02 1.749568797940397e-02 1.743834176385679e-02 1.738110747126647e-02 1.732398520795971e-02 + 1.726697501687009e-02 1.721007686976607e-02 1.715329079150987e-02 1.709661681774517e-02 1.704005496995066e-02 + 1.698360522175755e-02 1.692726759648597e-02 1.687104219632033e-02 1.681492902190890e-02 1.675892805218375e-02 + 1.670303930866012e-02 1.664726282100333e-02 1.659159859573434e-02 1.653604659349284e-02 1.648060687061485e-02 + 1.642527950537791e-02 1.637006446137386e-02 1.631496172845883e-02 1.625997133117372e-02 1.620509328829045e-02 + 1.615032758053278e-02 1.609567417924041e-02 1.604113316306734e-02 1.598670456411958e-02 1.593238833576510e-02 + 1.587818448257840e-02 1.582409302120838e-02 1.577011395254391e-02 1.571624723647299e-02 1.566249287063067e-02 + 1.560885093721684e-02 1.555532142372995e-02 1.550190428691725e-02 1.544859953345741e-02 1.539540716895692e-02 + 1.534232718045593e-02 1.528935952298772e-02 1.523650422043375e-02 1.518376132655854e-02 1.513113080051426e-02 + 1.507861261080395e-02 1.502620675643192e-02 1.497391324399307e-02 1.492173204313831e-02 1.486966309840608e-02 + 1.481770646058926e-02 1.476586215324725e-02 1.471413011485714e-02 1.466251032223325e-02 1.461100277337298e-02 + 1.455960746411957e-02 1.450832433725036e-02 1.445715335761371e-02 1.440609458945226e-02 1.435514801148310e-02 + 1.430431355790390e-02 1.425359121341204e-02 1.420298097105418e-02 1.415248280845771e-02 1.410209665546564e-02 + 1.405182250942155e-02 1.400166041623447e-02 1.395161031395394e-02 1.390167215017196e-02 1.385184591619880e-02 + 1.380213159317199e-02 1.375252913341631e-02 1.370303846818604e-02 1.365365962256361e-02 1.360439260851619e-02 + 1.355523734898775e-02 1.350619380184460e-02 1.345726194685572e-02 1.340844175819677e-02 1.335973317080697e-02 + 1.331113613029375e-02 1.326265067233158e-02 1.321427676765317e-02 1.316601433678336e-02 1.311786334248669e-02 + 1.306982375879771e-02 1.302189555021592e-02 1.297407863461756e-02 1.292637298076667e-02 1.287877861455418e-02 + 1.283129547339001e-02 1.278392348592105e-02 1.273666261347862e-02 1.268951282495219e-02 1.264247406704279e-02 + 1.259554625321822e-02 1.254872937642621e-02 1.250202343522368e-02 1.245542834900525e-02 1.240894405313941e-02 + 1.236257050462080e-02 1.231630767029411e-02 1.227015547343941e-02 1.222411383176151e-02 1.217818275998809e-02 + 1.213236222220244e-02 1.208665212384520e-02 1.204105241018576e-02 1.199556303854240e-02 1.195018395838791e-02 + 1.190491507365890e-02 1.185975632952753e-02 1.181470773836339e-02 1.176976922480089e-02 1.172494069835479e-02 + 1.168022211004454e-02 1.163561340968965e-02 1.159111452823667e-02 1.154672536811994e-02 1.150244589927961e-02 + 1.145827610670764e-02 1.141421589534856e-02 1.137026518661645e-02 1.132642392502224e-02 1.128269205281729e-02 + 1.123906948383837e-02 1.119555612518262e-02 1.115215196588227e-02 1.110885695891592e-02 1.106567099667937e-02 + 1.102259400831050e-02 1.097962593601935e-02 1.093676671505125e-02 1.089401623812122e-02 1.085137442757511e-02 + 1.080884127911701e-02 1.076641671182367e-02 1.072410061923310e-02 1.068189293399554e-02 1.063979359231152e-02 + 1.059780251428707e-02 1.055591958418482e-02 1.051414475108346e-02 1.047247799305691e-02 1.043091920126454e-02 + 1.038946827795377e-02 1.034812515386981e-02 1.030688975996647e-02 1.026576200007446e-02 1.022474176231751e-02 + 1.018382901647819e-02 1.014302370834395e-02 1.010232571551464e-02 1.006173495028295e-02 1.002125134058496e-02 + 9.980874808217161e-03 9.940605238090998e-03 9.900442533803457e-03 9.860386673211879e-03 9.820437566105797e-03 + 9.780595089730604e-03 9.740859166502601e-03 9.701229717604148e-03 9.661706648486619e-03 9.622289837555094e-03 + 9.582979211676392e-03 9.543774731762645e-03 9.504676285752028e-03 9.465683761437204e-03 9.426797070527869e-03 + 9.388016130061547e-03 9.349340837763126e-03 9.310771071700266e-03 9.272306774287777e-03 9.233947879847340e-03 + 9.195694263233465e-03 9.157545820041815e-03 9.119502462398593e-03 9.081564104605406e-03 9.043730620594144e-03 + 9.006001891771507e-03 8.968377884117109e-03 8.930858503326412e-03 8.893443610144467e-03 8.856133108771761e-03 + 8.818926910576046e-03 8.781824915337199e-03 8.744826984807866e-03 8.707933026764444e-03 8.671142997995955e-03 + 8.634456771198624e-03 8.597874217863410e-03 8.561395247729468e-03 8.525019762147885e-03 8.488747643810387e-03 + 8.452578758551675e-03 8.416513035074836e-03 8.380550402064440e-03 8.344690718755845e-03 8.308933866062409e-03 + 8.273279745485652e-03 8.237728259206089e-03 8.202279277607399e-03 8.166932668725525e-03 8.131688373197346e-03 + 8.096546291813443e-03 8.061506280849479e-03 8.026568229604077e-03 7.991732033790425e-03 7.956997581179438e-03 + 7.922364735477982e-03 7.887833385768220e-03 7.853403460644042e-03 7.819074838170454e-03 7.784847385209607e-03 + 7.750720988388416e-03 7.716695538073770e-03 7.682770912288046e-03 7.648946965667346e-03 7.615223607644973e-03 + 7.581600758648286e-03 7.548078272068747e-03 7.514656018308716e-03 7.481333888256649e-03 7.448111767084748e-03 + 7.414989518558892e-03 7.381967002509678e-03 7.349044141005179e-03 7.316220829119200e-03 7.283496916229069e-03 + 7.250872276568530e-03 7.218346796125786e-03 7.185920358959778e-03 7.153592811909379e-03 7.121364026156801e-03 + 7.089233934032213e-03 7.057202401526107e-03 7.025269274784423e-03 6.993434437254338e-03 6.961697770726437e-03 + 6.930059144137623e-03 6.898518406074085e-03 6.867075445461445e-03 6.835730169890301e-03 6.804482436531050e-03 + 6.773332103630715e-03 6.742279042830752e-03 6.711323134446215e-03 6.680464239400761e-03 6.649702204950062e-03 + 6.619036937093537e-03 6.588468325547939e-03 6.557996212108587e-03 6.527620458965777e-03 6.497340941897300e-03 + 6.467157538628341e-03 6.437070090473932e-03 6.407078453159759e-03 6.377182548096138e-03 6.347382238649846e-03 + 6.317677359750170e-03 6.288067782822399e-03 6.258553381641384e-03 6.229134019133821e-03 6.199809533909972e-03 + 6.170579803332374e-03 6.141444731866248e-03 6.112404164377095e-03 6.083457948651627e-03 6.054605954063168e-03 + 6.025848047899531e-03 5.997184082520315e-03 5.968613898555075e-03 5.940137388272029e-03 5.911754435973001e-03 + 5.883464876798197e-03 5.855268565478542e-03 5.827165369238958e-03 5.799155152943781e-03 5.771237757858197e-03 + 5.743413031370796e-03 5.715680873423079e-03 5.688041146137241e-03 5.660493683352233e-03 5.633038344713090e-03 + 5.605674994693767e-03 5.578403490874967e-03 5.551223666073857e-03 5.524135383482108e-03 5.497138538622371e-03 + 5.470232973711985e-03 5.443418527865922e-03 5.416695061766649e-03 5.390062436684385e-03 5.363520500801443e-03 + 5.337069085950208e-03 5.310708070645691e-03 5.284437334686721e-03 5.258256709167105e-03 5.232166039984466e-03 + 5.206165186351173e-03 5.180254006079314e-03 5.154432337116667e-03 5.128700017566677e-03 5.103056934758595e-03 + 5.077502948400768e-03 5.052037887552509e-03 5.026661602896529e-03 5.001373950974750e-03 4.976174783805283e-03 + 4.951063931174483e-03 4.926041244835856e-03 4.901106610871052e-03 4.876259869861805e-03 4.851500854152867e-03 + 4.826829416485723e-03 4.802245411238555e-03 4.777748682676776e-03 4.753339057595283e-03 4.729016402174706e-03 + 4.704780591018902e-03 4.680631452386119e-03 4.656568824906738e-03 4.632592561043116e-03 4.608702512089780e-03 + 4.584898512841469e-03 4.561180394112987e-03 4.537548032865621e-03 4.514001286180084e-03 4.490539978046344e-03 + 4.467163952568486e-03 4.443873060291688e-03 4.420667147623122e-03 4.397546041481102e-03 4.374509584352294e-03 + 4.351557654555007e-03 4.328690090868674e-03 4.305906719484884e-03 4.283207387010587e-03 4.260591942258349e-03 + 4.238060226010617e-03 4.215612060889534e-03 4.193247302342208e-03 4.170965820265097e-03 4.148767441443334e-03 + 4.126651998168965e-03 4.104619336614093e-03 4.082669303050944e-03 4.060801730082235e-03 4.039016442831475e-03 + 4.017313308452854e-03 3.995692181792875e-03 3.974152883344686e-03 3.952695251163741e-03 3.931319130911208e-03 + 3.910024364917125e-03 3.888810777810686e-03 3.867678204037116e-03 3.846626514691173e-03 3.825655547709963e-03 + 3.804765124734014e-03 3.783955087456414e-03 3.763225279741349e-03 3.742575538839424e-03 3.722005684569956e-03 + 3.701515563829318e-03 3.681105042529648e-03 3.660773945892437e-03 3.640522100973796e-03 3.620349349516141e-03 + 3.600255533338096e-03 3.580240483202974e-03 3.560304020332013e-03 3.540446002992503e-03 3.520666284206718e-03 + 3.500964682823155e-03 3.481341031384374e-03 3.461795171007476e-03 3.442326941040924e-03 3.422936165061433e-03 + 3.403622671201535e-03 3.384386323473485e-03 3.365226959961049e-03 3.346144399498565e-03 3.327138478378434e-03 + 3.308209036536853e-03 3.289355909461925e-03 3.270578915351533e-03 3.251877893639187e-03 3.233252706195778e-03 + 3.214703178029928e-03 3.196229132118811e-03 3.177830406368320e-03 3.159506839403438e-03 3.141258260810600e-03 + 3.123084488811596e-03 3.104985374197366e-03 3.086960768611876e-03 3.069010490077185e-03 3.051134366997480e-03 + 3.033332237019262e-03 3.015603936903380e-03 2.997949290147841e-03 2.980368120588831e-03 2.962860285290425e-03 + 2.945425622240710e-03 2.928063948810786e-03 2.910775098113858e-03 2.893558906982335e-03 2.876415208617919e-03 + 2.859343821344898e-03 2.842344578930633e-03 2.825417338731532e-03 2.808561926446875e-03 2.791778162629514e-03 + 2.775065882662152e-03 2.758424922052246e-03 2.741855109318431e-03 2.725356262118107e-03 2.708928224810950e-03 + 2.692570847204586e-03 2.676283947708203e-03 2.660067352018658e-03 2.643920895408666e-03 2.627844412630983e-03 + 2.611837727127577e-03 2.595900659591014e-03 2.580033062057212e-03 2.564234773200918e-03 2.548505609580814e-03 + 2.532845401329118e-03 2.517253983314282e-03 2.501731188088862e-03 2.486276834298587e-03 2.470890751027053e-03 + 2.455572791828030e-03 2.440322784214469e-03 2.425140547489158e-03 2.410025914370114e-03 2.394978718743150e-03 + 2.379998789312335e-03 2.365085943631231e-03 2.350240020749269e-03 2.335460868942443e-03 2.320748308349550e-03 + 2.306102163022297e-03 2.291522266200105e-03 2.277008450857895e-03 2.262560541519312e-03 2.248178358404482e-03 + 2.233861748393963e-03 2.219610550590767e-03 2.205424582540762e-03 2.191303672653564e-03 2.177247654150935e-03 + 2.163256358437406e-03 2.149329606085116e-03 2.135467224025938e-03 2.121669062135428e-03 2.107934949596006e-03 + 2.094264705479671e-03 2.080658161247730e-03 2.067115150052171e-03 2.053635501035216e-03 2.040219032033609e-03 + 2.026865578574763e-03 2.013574988607888e-03 2.000347084189316e-03 1.987181688126059e-03 1.974078632294973e-03 + 1.961037750159034e-03 1.948058867783843e-03 1.935141804192390e-03 1.922286403096425e-03 1.909492504980594e-03 + 1.896759928265229e-03 1.884088500763132e-03 1.871478055631251e-03 1.858928424089599e-03 1.846439428400912e-03 + 1.834010894228015e-03 1.821642669213327e-03 1.809334584628213e-03 1.797086460037203e-03 1.784898126770644e-03 + 1.772769417737367e-03 1.760700162615002e-03 1.748690181778845e-03 1.736739308394668e-03 1.724847388831493e-03 + 1.713014248130287e-03 1.701239709792772e-03 1.689523605558227e-03 1.677865768960374e-03 1.666266027776910e-03 + 1.654724201747776e-03 1.643240132443950e-03 1.631813662093462e-03 1.620444610863358e-03 1.609132806416696e-03 + 1.597878082462674e-03 1.586680271167799e-03 1.575539197124769e-03 1.564454685806544e-03 1.553426583192850e-03 + 1.542454723186195e-03 1.531538926942232e-03 1.520679025889417e-03 1.509874853790604e-03 1.499126242122267e-03 + 1.488433013507451e-03 1.477795000037597e-03 1.467212048115432e-03 1.456683985464255e-03 1.446210636719452e-03 + 1.435791835117153e-03 1.425427414393694e-03 1.415117204211151e-03 1.404861027594662e-03 1.394658724273689e-03 + 1.384510137356095e-03 1.374415090575271e-03 1.364373412382042e-03 1.354384937246215e-03 1.344449499301808e-03 + 1.334566925970926e-03 1.324737043332181e-03 1.314959696939330e-03 1.305234723823342e-03 1.295561947265019e-03 + 1.285941199528206e-03 1.276372315963847e-03 1.266855130463658e-03 1.257389468322312e-03 1.247975161599065e-03 + 1.238612057815808e-03 1.229299987951490e-03 1.220038778115428e-03 1.210828263449681e-03 1.201668279419893e-03 + 1.192558658328712e-03 1.183499226491516e-03 1.174489822883548e-03 1.165530291825810e-03 1.156620461345326e-03 + 1.147760161971411e-03 1.138949229776032e-03 1.130187500878873e-03 1.121474806129454e-03 1.112810973708310e-03 + 1.104195848566657e-03 1.095629271185936e-03 1.087111069073448e-03 1.078641075658101e-03 1.070219127753748e-03 + 1.061845062287274e-03 1.053518708913237e-03 1.045239900848634e-03 1.037008485418972e-03 1.028824298155823e-03 + 1.020687168641753e-03 1.012596933141099e-03 1.004553429894111e-03 9.965564952721074e-04 9.886059579764911e-04 + 9.807016577383673e-04 9.728434421263681e-04 9.650311428619217e-04 9.572645925441391e-04 9.495436296868831e-04 + 9.418680934992058e-04 9.342378189983833e-04 9.266526374013966e-04 9.191123940951565e-04 9.116169327210938e-04 + 9.041660846048507e-04 8.967596865276394e-04 8.893975784458786e-04 8.820795994475233e-04 8.748055834052338e-04 + 8.675753662309574e-04 8.603887967412885e-04 8.532457145816050e-04 8.461459528881801e-04 8.390893515597134e-04 + 8.320757512954288e-04 8.251049910410551e-04 8.181769052102455e-04 8.112913354889369e-04 8.044481307476467e-04 + 7.976471276304203e-04 7.908881626723219e-04 7.841710779271092e-04 7.774957151422038e-04 7.708619131557394e-04 + 7.642695077220146e-04 7.577183458379644e-04 7.512082748417916e-04 7.447391309361296e-04 7.383107537219758e-04 + 7.319229861740803e-04 7.255756719189899e-04 7.192686493738265e-04 7.130017570250109e-04 7.067748463319056e-04 + 7.005877618919097e-04 6.944403408515077e-04 6.883324261093659e-04 6.822638623160529e-04 6.762344932684062e-04 + 6.702441573916524e-04 6.642926986443232e-04 6.583799694858947e-04 6.525058122102392e-04 6.466700672293728e-04 + 6.408725793807691e-04 6.351131947715911e-04 6.293917574305099e-04 6.237081070877600e-04 6.180620932909059e-04 + 6.124535677685099e-04 6.068823714677426e-04 6.013483481700967e-04 5.958513451670206e-04 5.903912096703989e-04 + 5.849677853780454e-04 5.795809154020751e-04 5.742304534677881e-04 5.689162489783443e-04 5.636381442526738e-04 + 5.583959863498279e-04 5.531896240506697e-04 5.480189055622431e-04 5.428836748799696e-04 5.377837797240800e-04 + 5.327190759830209e-04 5.276894110958636e-04 5.226946300477827e-04 5.177345825024617e-04 5.128091188465486e-04 + 5.079180879528710e-04 5.030613351067660e-04 4.982387130290541e-04 4.934500776624026e-04 4.886952758062522e-04 + 4.839741558713263e-04 4.792865695826084e-04 4.746323688630657e-04 4.700114029595036e-04 4.654235198613055e-04 + 4.608685766627245e-04 4.563464280591107e-04 4.518569219186994e-04 4.473999099762359e-04 4.429752457691277e-04 + 4.385827824909558e-04 4.342223700107388e-04 4.298938604566902e-04 4.255971135329090e-04 4.213319826090788e-04 + 4.170983180859963e-04 4.128959744299958e-04 4.087248069577171e-04 4.045846700338900e-04 4.004754147907325e-04 + 3.963968979642262e-04 3.923489801919561e-04 3.883315144592717e-04 3.843443544269981e-04 3.803873568608614e-04 + 3.764603788261386e-04 3.725632754784107e-04 3.686959004384349e-04 3.648581147870281e-04 3.610497787686854e-04 + 3.572707463878945e-04 3.535208745539621e-04 3.498000220657478e-04 3.461080477383748e-04 3.424448076363575e-04 + 3.388101589386426e-04 3.352039657815740e-04 3.316260877532703e-04 3.280763812137888e-04 3.245547060139738e-04 + 3.210609229167205e-04 3.175948921405597e-04 3.141564711604799e-04 3.107455215081982e-04 3.073619088757455e-04 + 3.040054927848886e-04 3.006761327105527e-04 2.973736909925681e-04 2.940980303881470e-04 2.908490123115160e-04 + 2.876264965105581e-04 2.844303488008553e-04 2.812604353029198e-04 2.781166164989417e-04 2.749987551423296e-04 + 2.719067158817455e-04 2.688403633742989e-04 2.657995602462465e-04 2.627841695326067e-04 2.597940603791381e-04 + 2.568290988582687e-04 2.538891477672460e-04 2.509740728301346e-04 2.480837407612393e-04 2.452180180501483e-04 + 2.423767689150773e-04 2.395598604007145e-04 2.367671637065971e-04 2.339985452156380e-04 2.312538707417314e-04 + 2.285330086975239e-04 2.258358279521211e-04 2.231621965330517e-04 2.205119809474630e-04 2.178850522930381e-04 + 2.152812827957872e-04 2.127005401044592e-04 2.101426932429596e-04 2.076076129630843e-04 2.050951703707553e-04 + 2.026052350574154e-04 2.001376764695323e-04 1.976923692963255e-04 1.952691863631026e-04 1.928679973631469e-04 + 1.904886744667185e-04 1.881310908124045e-04 1.857951194428946e-04 1.834806317739651e-04 1.811875010647571e-04 + 1.789156043640377e-04 1.766648152326652e-04 1.744350063601967e-04 1.722260526922104e-04 1.700378296945535e-04 + 1.678702123432160e-04 1.657230742438847e-04 1.635962925697728e-04 1.614897461072756e-04 1.594033097074569e-04 + 1.573368592094730e-04 1.552902721810668e-04 1.532634264532060e-04 1.512561988693490e-04 1.492684659352835e-04 + 1.473001083560244e-04 1.453510059716440e-04 1.434210358729406e-04 1.415100771164913e-04 1.396180097223186e-04 + 1.377447137267307e-04 1.358900680130841e-04 1.340539526362652e-04 1.322362510498252e-04 1.304368442346035e-04 + 1.286556121626104e-04 1.268924368411170e-04 1.251472007379926e-04 1.234197860690376e-04 1.217100740639766e-04 + 1.200179485071157e-04 1.183432949752447e-04 1.166859960758634e-04 1.150459349477667e-04 1.134229962637926e-04 + 1.118170649981152e-04 1.102280255615328e-04 1.086557620076939e-04 1.071001616642248e-04 1.055611117192228e-04 + 1.040384970703678e-04 1.025322040262462e-04 1.010421198490596e-04 9.956813202096472e-05 9.811012722455996e-05 + 9.666799283658755e-05 9.524161921027426e-05 9.383089505710078e-05 9.243570803818307e-05 9.105594759252440e-05 + 8.969150364397068e-05 8.834226604286881e-05 8.700812397260034e-05 8.568896841419017e-05 8.438469212608002e-05 + 8.309518568825200e-05 8.182033994906239e-05 8.056004718218619e-05 7.931419998170841e-05 7.808269064296404e-05 + 7.686541112857092e-05 7.566225594198306e-05 7.447311991364301e-05 7.329789600792314e-05 7.213647827366786e-05 + 7.098876170896106e-05 6.985464163907488e-05 6.873401282606521e-05 6.762677039259616e-05 6.653281205307769e-05 + 6.545203459530543e-05 6.438433381335806e-05 6.332960688869456e-05 6.228775159650499e-05 6.125866586213212e-05 + 6.024224709312662e-05 5.923839394811549e-05 5.824700680510711e-05 5.726798458845817e-05 5.630122626966778e-05 + 5.534663202079377e-05 5.440410243697520e-05 5.347353805513213e-05 5.255483915897720e-05 5.164790790372327e-05 + 5.075264706713765e-05 4.986895809670387e-05 4.899674321102013e-05 4.813590548272275e-05 4.728634834520723e-05 + 4.644797500988253e-05 4.562068892036128e-05 4.480439551815946e-05 4.399899988301035e-05 4.320440633696577e-05 + 4.242052030402665e-05 4.164724778526068e-05 4.088449502887978e-05 4.013216802138054e-05 3.939017361734100e-05 + 3.865842020891389e-05 3.793681530287127e-05 3.722526637683801e-05 3.652368195642655e-05 3.583197100166348e-05 + 3.515004257550265e-05 3.447780563338777e-05 3.381517049939420e-05 3.316204825033269e-05 3.251834908257212e-05 + 3.188398376275541e-05 3.125886384349450e-05 3.064290126992314e-05 3.003600797392098e-05 2.943809607683111e-05 + 2.884907925556903e-05 2.826887119646782e-05 2.769738505988399e-05 2.713453488302094e-05 2.658023526748751e-05 + 2.603440114263312e-05 2.549694738792051e-05 2.496778949423694e-05 2.444684425976710e-05 2.393402805764408e-05 + 2.342925723948219e-05 2.293244905822871e-05 2.244352120797989e-05 2.196239159983278e-05 2.148897818423003e-05 + 2.102319990982268e-05 2.056497650699234e-05 2.011422722229805e-05 1.967087173846936e-05 1.923483045310688e-05 + 1.880602417859793e-05 1.838437386840237e-05 1.796980069033951e-05 1.756222699777835e-05 1.716157539169325e-05 + 1.676776819323897e-05 1.638072842752046e-05 1.600037965967140e-05 1.562664583506045e-05 1.525945101785764e-05 + 1.489871974108943e-05 1.454437762041471e-05 1.419635018600421e-05 1.385456300630342e-05 1.351894241351905e-05 + 1.318941519258516e-05 1.286590843459537e-05 1.254834939298960e-05 1.223666606495489e-05 1.193078719950152e-05 + 1.163064137727749e-05 1.133615754527981e-05 1.104726530816775e-05 1.076389469662666e-05 1.048597599093073e-05 + 1.021343974753131e-05 9.946217419267380e-06 9.684240838620889e-06 9.427441790773100e-06 9.175752643853506e-06 + 8.929106280098344e-06 8.687435997194528e-06 8.450675338936148e-06 8.218758257424963e-06 7.991619584870982e-06 + 7.769194298227330e-06 7.551417507621627e-06 7.338224987041431e-06 7.129552955942858e-06 6.925337997222138e-06 + 6.725516977155444e-06 6.530027335862672e-06 6.338807194551445e-06 6.151794769434223e-06 5.968928615355085e-06 + 5.790147878391894e-06 5.615392155261267e-06 5.444601365246586e-06 5.277715758699128e-06 5.114676291438329e-06 + 4.955424365336747e-06 4.799901525655197e-06 4.648049820836300e-06 4.499811793985402e-06 4.355130438087899e-06 + 4.213949069835453e-06 4.076211399540344e-06 3.941861865039729e-06 3.810845196499976e-06 3.683106361660463e-06 + 3.558590910585118e-06 3.437244835818923e-06 3.319014541070219e-06 3.203846795533912e-06 3.091688852089737e-06 + 2.982488579295818e-06 2.876194109656037e-06 2.772753925582794e-06 2.672117063800105e-06 2.574233014808049e-06 + 2.479051643033932e-06 2.386523210361943e-06 2.296598552297165e-06 2.209228971591383e-06 2.124366069775506e-06 + 2.041961906232304e-06 1.961969019732135e-06 1.884340423438541e-06 1.809029507182080e-06 1.735990071613592e-06 + 1.665176534356502e-06 1.596543687803830e-06 1.530046658503296e-06 1.465641105678908e-06 1.403283128309336e-06 + 1.342929271825179e-06 1.284536503035511e-06 1.228062233226246e-06 1.173464436795038e-06 1.120701460082181e-06 + 1.069732028902882e-06 1.020515399241352e-06 9.730112822753146e-07 9.271798002921477e-07 8.829815278752155e-07 + 8.403775374680640e-07 7.993293716485992e-07 7.597989809176624e-07 7.217487560416926e-07 6.851415619710593e-07 + 6.499407524191172e-07 6.161100929136179e-07 5.836137918783888e-07 5.524166028233452e-07 5.224836968385216e-07 + 4.937806609639881e-07 4.662735849361845e-07 4.399289991547822e-07 4.147139110260500e-07 3.905957813609555e-07 + 3.675425084859321e-07 3.455225231396512e-07 3.245046871736890e-07 3.044582778536548e-07 2.853530928283095e-07 + 2.671593859185241e-07 2.498478511400059e-07 2.333896726605378e-07 2.177564985206194e-07 2.029204500538344e-07 + 1.888541210793108e-07 1.755305458522738e-07 1.629232393506973e-07 1.510062144201093e-07 1.397539174372155e-07 + 1.291412703741045e-07 1.191437050672961e-07 1.097370923617762e-07 1.008977778162274e-07 9.260259669902208e-08 + 8.482883141984319e-08 7.755426670738778e-08 7.075715683240311e-08 6.441620467100832e-08 5.851063608240125e-08 + 5.302013495440350e-08 4.792483459927075e-08 4.320538955913144e-08 3.884291294265582e-08 3.481898425658018e-08 + 3.111569527451850e-08 2.771559342817648e-08 2.460171067137196e-08 2.175758348333717e-08 1.916719757773861e-08 + 1.681503457183268e-08 1.468607978947252e-08 1.276576812429566e-08 1.104003874048358e-08 9.495328649625366e-09 + 8.118528715645258e-09 6.897042498203040e-09 5.818760232281117e-09 4.872032311209139e-09 4.045732447740840e-09 + 3.329210679517489e-09 2.712284881132093e-09 2.185301687016959e-09 1.739076161987666e-09 1.364901589086205e-09 + 1.054599065845252e-09 8.004535320102697e-10 5.952414597054672e-10 4.322622496028902e-10 3.052766304104823e-10 + 2.085502003918036e-10 1.368642901349301e-10 8.546164059834664e-11 5.010215808832263e-11 2.705311520847365e-11 + 1.304599438344934e-11 5.339090781311160e-12 1.692041320615927e-12 3.321208355096226e-13 6.781366937015517e-15 diff --git a/examples/SPIN/cobalt/in.spin.cobalt b/examples/SPIN/cobalt/in.spin.cobalt new file mode 100644 index 0000000000..2cb1f7d182 --- /dev/null +++ b/examples/SPIN/cobalt/in.spin.cobalt @@ -0,0 +1,59 @@ +# fcc cobalt in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# check why? +atom_modify map array + +lattice fcc 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.93 + +set group all spin/random 31 1.72 +velocity all create 100 4928459 rot yes dist gaussian + +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_coeff * * eam/alloy ../examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.1 0.0 21 + +fix 3 all integration/spin lattice yes + +timestep 0.0001 + + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 + +thermo_style custom step time v_magnorm v_emag temp etotal +thermo 10 + +#dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz + +run 1000 + diff --git a/examples/SPIN/curie_temperature/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/curie_temperature/Co_PurjaPun_2012.eam.alloy new file mode 100644 index 0000000000..3af058baf7 --- /dev/null +++ b/examples/SPIN/curie_temperature/Co_PurjaPun_2012.eam.alloy @@ -0,0 +1,6006 @@ +Cobalt EAM potential: G. P. Purja Pun and Y. Mishin, Phys. Rev. B xx, 004100 (2012) (in press) +Data below r = 1.5 A is extrapolated. F(Rho) data not extrapolated. +Created on Wed Sep 26 17:29:54 2012 +1 Co +10000 4.788742913000000e-04 10000 6.499539000000001e-04 6.499539000000000e+00 +27 5.893320000000000e+01 2.507000000000000e+00 hcp + -1.680303080000000e-02 -1.879913964471138e-02 -2.091739081044659e-02 -2.303564197615629e-02 -2.503175082079116e-02 + -2.681996612041136e-02 -2.846010103933253e-02 -3.003179469400266e-02 -3.154842562124295e-02 -3.300931506782415e-02 + -3.442381570000001e-02 -3.580233366714632e-02 -3.714945763166951e-02 -3.846832763111274e-02 -3.976210669053554e-02 + -4.103374908125148e-02 -4.228535107207521e-02 -4.351872320172212e-02 -4.473539109100971e-02 -4.593674531110434e-02 + -4.712392115246503e-02 -4.829795108118731e-02 -4.945971154662068e-02 -5.061001094949964e-02 -5.174954151284258e-02 + -5.287894548568519e-02 -5.399878139884967e-02 -5.510957102742049e-02 -5.621177284174523e-02 -5.730581735016625e-02 + -5.839208651773948e-02 -5.947094067448531e-02 -6.054270215356945e-02 -6.160767623453070e-02 -6.266613797925552e-02 + -6.371834880435967e-02 -6.476454576302854e-02 -6.580495483863194e-02 -6.683978209870683e-02 -6.786922452279202e-02 + -6.889346265426707e-02 -6.991266949659354e-02 -7.092700432972064e-02 -7.193662011890395e-02 -7.294165829413661e-02 + -7.394225494811188e-02 -7.493853635958479e-02 -7.593062425993033e-02 -7.691863200494162e-02 -7.790266905197404e-02 + -7.888283764021425e-02 -7.985923664258643e-02 -8.083195868513401e-02 -8.180109346997461e-02 -8.276672525040257e-02 + -8.372893572415932e-02 -8.468780181559693e-02 -8.564339820511864e-02 -8.659579537072190e-02 -8.754506181558984e-02 + -8.849126234605453e-02 -8.943446001410092e-02 -9.037471455117625e-02 -9.131208412841478e-02 -9.224662399623559e-02 + -9.317838801321032e-02 -9.410742739123597e-02 -9.503379209498646e-02 -9.595752974691800e-02 -9.687868684755546e-02 + -9.779730775191570e-02 -9.871343580120046e-02 -9.962711242685958e-02 -1.005383781439554e-01 -1.014472717117523e-01 + -1.023538310651938e-01 -1.032580925977369e-01 -1.041600919387366e-01 -1.050598632026273e-01 -1.059574398208095e-01 + -1.068528540074704e-01 -1.077461373458066e-01 -1.086373201122683e-01 -1.095264320028559e-01 -1.104135016985198e-01 + -1.112985573626335e-01 -1.121816261033156e-01 -1.130627345294291e-01 -1.139419083080692e-01 -1.148191726662944e-01 + -1.156945520127823e-01 -1.165680703406650e-01 -1.174397507992727e-01 -1.183096161572101e-01 -1.191776885039839e-01 + -1.200439895800373e-01 -1.209085404086571e-01 -1.217713616730546e-01 -1.226324734132936e-01 -1.234918953788508e-01 + -1.243496468000000e-01 -1.252057466264230e-01 -1.260602132046348e-01 -1.269130646065986e-01 -1.277643184092350e-01 + -1.286139919512837e-01 -1.294621021138015e-01 -1.303086655551642e-01 -1.311536985007052e-01 -1.319972169590798e-01 + -1.328392365052704e-01 -1.336797725161469e-01 -1.345188400098036e-01 -1.353564538215464e-01 -1.361926284143060e-01 + -1.370273780803152e-01 -1.378607168013910e-01 -1.386926583917836e-01 -1.395232163058920e-01 -1.403524038515728e-01 + -1.411802341103638e-01 -1.420067200256853e-01 -1.428318742148069e-01 -1.436557091565456e-01 -1.444782371020595e-01 + -1.452994701862315e-01 -1.461194203065015e-01 -1.469380992388567e-01 -1.477555185109162e-01 -1.485716895480879e-01 + -1.493866236153044e-01 -1.502003318703277e-01 -1.510128252027127e-01 -1.518241144121522e-01 -1.526342102070998e-01 + -1.534431232126203e-01 -1.542508638114616e-01 -1.550574422930448e-01 -1.558628688157988e-01 -1.566671534698807e-01 + -1.574703062033520e-01 -1.582723368973844e-01 -1.590732553076882e-01 -1.598730711132973e-01 -1.606717938120008e-01 + -1.614694328459875e-01 -1.622659976162905e-01 -1.630614974730487e-01 -1.638559416039789e-01 -1.646493391351259e-01 + -1.654416991082678e-01 -1.662330305252601e-01 -1.670233423125346e-01 -1.678126433512354e-01 -1.686009424167802e-01 + -1.693882482431861e-01 -1.701745695045948e-01 -1.709599148401449e-01 -1.717442928088396e-01 -1.725277119385885e-01 + -1.733101807130639e-01 -1.740917075837066e-01 -1.748723009172683e-01 -1.756519690655456e-01 -1.764307204052008e-01 + -1.772085632840185e-01 -1.779855059094047e-01 -1.787615564692287e-01 -1.795367232135896e-01 -1.803110143830451e-01 + -1.810844381177561e-01 -1.818570025406103e-01 -1.826287158057983e-01 -1.833995860626770e-01 -1.841696214099643e-01 + -1.849388299454831e-01 -1.857072198141128e-01 -1.864747991526175e-01 -1.872415760182443e-01 -1.880075584641173e-01 + -1.887727546063884e-01 -1.895371725773110e-01 -1.903008205105196e-01 -1.910637065418589e-01 -1.918258388146347e-01 + -1.925872254807121e-01 -1.933478747187342e-01 -1.941077947209150e-01 -1.948669937069724e-01 -1.956254799127480e-01 + -1.963832616110719e-01 -1.971403470967068e-01 -1.978967447151567e-01 -1.986524628291068e-01 -1.994075098192274e-01 + -2.001618941005484e-01 -2.009156242075518e-01 -2.016687086990372e-01 -2.024211561116226e-01 -2.031729750127928e-01 + -2.039241741156804e-01 -2.046747621691974e-01 -2.054247479197256e-01 -2.061741401521784e-01 -2.069229478081280e-01 + -2.076711798806499e-01 -2.084188454121736e-01 -2.091659534755806e-01 -2.099125132162076e-01 -2.106585338443872e-01 + -2.114040247579823e-01 -2.121489953974893e-01 -2.128934551864067e-01 -2.136374136027109e-01 -2.143808803592873e-01 + -2.151238652468154e-01 -2.158663781322411e-01 -2.166084289346303e-01 -2.173500277052638e-01 -2.180911845646947e-01 + -2.188319097783510e-01 -2.195722136949507e-01 -2.203121068514981e-01 -2.210515998518519e-01 -2.217907033790026e-01 + -2.225294282016381e-01 -2.232677853521022e-01 -2.240057859531163e-01 -2.247434412252567e-01 -2.254807624804862e-01 + -2.262177612984613e-01 -2.269544493586047e-01 -2.276908384717110e-01 -2.284269405581227e-01 -2.291627678450005e-01 + -2.298983326532392e-01 -2.306336473718499e-01 -2.313687245044682e-01 -2.321035769451089e-01 -2.328382177230701e-01 + -2.335726600184018e-01 -2.343069171312917e-01 -2.350410026917230e-01 -2.357749304696442e-01 -2.365087144650665e-01 + -2.372423688046511e-01 -2.379759078915950e-01 -2.387093462817347e-01 -2.394426988649284e-01 -2.401759806938325e-01 + -2.409092071382775e-01 -2.416423937275558e-01 -2.423755563116356e-01 -2.431087109081851e-01 -2.438418738849959e-01 + -2.445750618045980e-01 -2.453082916583512e-01 -2.460415806101058e-01 -2.467749460848467e-01 -2.475084057095742e-01 + -2.482419776582159e-01 -2.489756803241430e-01 -2.497095324315720e-01 -2.504435529132133e-01 -2.511777612049070e-01 + -2.519121769824342e-01 -2.526468203782122e-01 -2.533817117688987e-01 -2.541168720514789e-01 -2.548523223627430e-01 + -2.555880842783758e-01 -2.563241796571988e-01 -2.570606310516858e-01 -2.577974612919421e-01 -2.585346936249472e-01 + -2.592723515924181e-01 -2.600104594981498e-01 -2.607490419576605e-01 -2.614881240712832e-01 -2.622277312727207e-01 + -2.629678898443362e-01 -2.637086264051527e-01 -2.644499680721714e-01 -2.651919423187013e-01 -2.659345775453039e-01 + -2.666779025531186e-01 -2.674219468183432e-01 -2.681667401972407e-01 -2.689123133912765e-01 -2.696586975492495e-01 + -2.704059247640904e-01 -2.711540275538941e-01 -2.719030391932789e-01 -2.726529934197978e-01 -2.734039250662187e-01 + -2.741558694758598e-01 -2.749088629390239e-01 -2.756629422674556e-01 -2.764181454116789e-01 -2.771745108563868e-01 + -2.779320780841674e-01 -2.786908871694924e-01 -2.794509795564719e-01 -2.802123972949423e-01 -2.809751834880072e-01 + -2.817393818716988e-01 -2.825050376604960e-01 -2.832721967688652e-01 -2.840409064327807e-01 -2.848112145951165e-01 + -2.855831707048412e-01 -2.863568249759762e-01 -2.871322291766564e-01 -2.879094358829076e-01 -2.886884993482028e-01 + -2.894694746623641e-01 -2.902524185831628e-01 -2.910373887617654e-01 -2.918244447549689e-01 -2.926136470970381e-01 + -2.934050583264800e-01 -2.941987419693519e-01 -2.949947634976693e-01 -2.957931894604184e-01 -2.965940887685082e-01 + -2.973975314584912e-01 -2.982035897075678e-01 -2.990123368838905e-01 -2.998238489787670e-01 -3.006382032814213e-01 + -3.014554796495834e-01 -3.022757592753754e-01 -3.030991261199829e-01 -3.039256655881672e-01 -3.047554660899296e-01 + -3.055886175640754e-01 -3.064252130593845e-01 -3.072653472379187e-01 -3.081091181048918e-01 -3.089566254021406e-01 + -3.098079724748395e-01 -3.106632645082006e-01 -3.115226104442510e-01 -3.123861211846884e-01 -3.132539117130802e-01 + -3.141260990998875e-01 -3.150028046812773e-01 -3.158841520361693e-01 -3.167702694487885e-01 -3.176612875689104e-01 + -3.185573418032087e-01 -3.194585700942650e-01 -3.203651157713922e-01 -3.212771249044592e-01 -3.221947491388281e-01 + -3.231181430183639e-01 -3.240474671054514e-01 -3.249828850672117e-01 -3.259245669711927e-01 -3.268726862299913e-01 + -3.278274232359761e-01 -3.287889619469540e-01 -3.297574936027157e-01 -3.307332132733838e-01 -3.317163240684192e-01 + -3.327070332351553e-01 -3.337055565330767e-01 -3.347121141277095e-01 -3.357269352965953e-01 -3.367502540927247e-01 + -3.377823145588749e-01 -3.388233658450175e-01 -3.398736675401181e-01 -3.409334847493447e-01 -3.420030942036733e-01 + -3.430827786115977e-01 -3.441728329658748e-01 -3.452735586625544e-01 -3.463852704265985e-01 -3.475082899277179e-01 + -3.486429532857090e-01 -3.497896041380748e-01 -3.509486017430585e-01 -3.521203134619261e-01 -3.533051234472958e-01 + -3.545034246605078e-01 -3.557156285064298e-01 -3.569421559513399e-01 -3.581834477636310e-01 -3.594399550688090e-01 + -3.607121506187135e-01 -3.620005184199024e-01 -3.633055658714727e-01 -3.646278119965309e-01 -3.659677989216845e-01 + -3.673260803339768e-01 -3.687032330586966e-01 -3.700998457090232e-01 -3.715165309114429e-01 -3.729539131544640e-01 + -3.744126403613781e-01 -3.758933720658462e-01 -3.773967908082255e-01 -3.789235902651524e-01 -3.804744856516886e-01 + -3.820502023195389e-01 -3.836514846285581e-01 -3.852790856353807e-01 -3.869337741756033e-01 -3.886163256972291e-01 + -3.903275263189269e-01 -3.920681658458204e-01 -3.938390381581898e-01 -3.956409370872805e-01 -3.974746521930466e-01 + -3.993409682701225e-01 -4.012406553231547e-01 -4.031744727439548e-01 -4.051431522629808e-01 -4.071474082130475e-01 + -4.091879129977703e-01 -4.112653138348391e-01 -4.133801991274390e-01 -4.155331235094092e-01 -4.177245653517079e-01 + -4.199549603385881e-01 -4.222246496703586e-01 -4.245339230260172e-01 -4.268829584832519e-01 -4.292718744431503e-01 + -4.317006622016948e-01 -4.341692468068394e-01 -4.366774154195978e-01 -4.392248845800756e-01 -4.418112262316757e-01 + -4.444359401252420e-01 -4.470983818380713e-01 -4.497978365893122e-01 -4.525334523390530e-01 -4.553043120100788e-01 + -4.581093756350076e-01 -4.609475466791835e-01 -4.638176252290113e-01 -4.667183660407072e-01 -4.696484459287199e-01 + -4.726065094563343e-01 -4.755911501239359e-01 -4.786009429283761e-01 -4.816344399152602e-01 -4.846901882843556e-01 + -4.877667388033212e-01 -4.908626497957108e-01 -4.939765062407663e-01 -4.971069114027755e-01 -5.002525150305011e-01 + -5.034119937007041e-01 -5.065840848176727e-01 -5.097675587133593e-01 -5.129612566028576e-01 -5.161640565945169e-01 + -5.193749134865747e-01 -5.225928209640586e-01 -5.258168515692775e-01 -5.290461169135583e-01 -5.322798060270272e-01 + -5.355171460831645e-01 -5.387574394100244e-01 -5.420000245805213e-01 -5.452443099924439e-01 -5.484897376520451e-01 + -5.517358141745681e-01 -5.549820769247875e-01 -5.582281216566209e-01 -5.614735718423751e-01 -5.647181034387753e-01 + -5.679614169890416e-01 -5.712032588979591e-01 -5.744433972991336e-01 -5.776816413798681e-01 -5.809178193507762e-01 + -5.841517944620215e-01 -5.873834463985003e-01 -5.906126855444893e-01 -5.938394364748391e-01 -5.970636498273136e-01 + -6.002852884426439e-01 -6.035043379105128e-01 -6.067207941645156e-01 -6.099346717649501e-01 -6.131459940881434e-01 + -6.163548011478311e-01 -6.195611404873568e-01 -6.227650731310865e-01 -6.259666663617727e-01 -6.291659990146931e-01 + -6.323631552654742e-01 -6.355582290986170e-01 -6.387513188871106e-01 -6.419425307490256e-01 -6.451319745539882e-01 + -6.483197674327603e-01 -6.515060293214946e-01 -6.546908841167685e-01 -6.578744572836812e-01 -6.610568766009968e-01 + -6.642382709221243e-01 -6.674187710853904e-01 -6.705985088370179e-01 -6.737776175698923e-01 -6.769562312911304e-01 + -6.801344848181089e-01 -6.833125134999645e-01 -6.864904540026142e-01 -6.896684434132225e-01 -6.928466191871651e-01 + -6.960251190039876e-01 -6.992040810717012e-01 -7.023836437724149e-01 -7.055639456561626e-01 -7.087451254024176e-01 + -7.119273220404884e-01 -7.151106745784721e-01 -7.182953215897911e-01 -7.214814016245582e-01 -7.246690535743215e-01 + -7.278584163200112e-01 -7.310496283586513e-01 -7.342428280442573e-01 -7.374381535427195e-01 -7.406357429444993e-01 + -7.438357342264661e-01 -7.470382651689156e-01 -7.502434728794412e-01 -7.534514943101106e-01 -7.566624664635970e-01 + -7.598765262236051e-01 -7.630938099473661e-01 -7.663144537782537e-01 -7.695385935306881e-01 -7.727663648349232e-01 + -7.759979029135046e-01 -7.792333428394971e-01 -7.824728194957561e-01 -7.857164675195603e-01 -7.889644207560909e-01 + -7.922168128628783e-01 -7.954737775389469e-01 -7.987354483417761e-01 -8.020019582211745e-01 -8.052734399002169e-01 + -8.085500258027153e-01 -8.118318481538471e-01 -8.151190386835121e-01 -8.184117289678831e-01 -8.217100504635063e-01 + -8.250141343769457e-01 -8.283241110344656e-01 -8.316401105683494e-01 -8.349622632152548e-01 -8.382906990624389e-01 + -8.416255474951805e-01 -8.449669376504778e-01 -8.483149983741850e-01 -8.516698583310095e-01 -8.550316457522134e-01 + -8.584004886419279e-01 -8.617765145292081e-01 -8.651598508088844e-01 -8.685506248139727e-01 -8.719489622521989e-01 + -8.753549823919468e-01 -8.787687997490927e-01 -8.821905162688262e-01 -8.856202278084699e-01 -8.890580184445617e-01 + -8.925039663319011e-01 -8.959581377191167e-01 -8.994205926453692e-01 -9.028913782181163e-01 -9.063705352609543e-01 + -9.098580923937473e-01 -9.133540718558304e-01 -9.168584825681617e-01 -9.203713268261465e-01 -9.238925937413506e-01 + -9.274222656928153e-01 -9.309603113133150e-01 -9.345066924037853e-01 -9.380613571840678e-01 -9.416242468397124e-01 + -9.451952880001965e-01 -9.487744002152808e-01 -9.523614892719469e-01 -9.559564538973973e-01 -9.595591783425093e-01 + -9.631695396882074e-01 -9.667874008119273e-01 -9.704126174878044e-01 -9.740450312802591e-01 -9.776844767743714e-01 + -9.813307748475731e-01 -9.849837394560669e-01 -9.886431705787867e-01 -9.923088615430331e-01 -9.959805930468456e-01 + -9.996581394281877e-01 -1.003341262213973e+00 -1.007029716826452e+00 -1.010723247080268e+00 -1.014421591236032e+00 + -1.018124476945841e+00 -1.021831626529500e+00 -1.025542751586175e+00 -1.029257558992056e+00 -1.032975747452084e+00 + -1.036697011770175e+00 -1.040421039317395e+00 -1.044147513860548e+00 -1.047876112182243e+00 -1.051606508161453e+00 + -1.055338371046766e+00 -1.059071368055605e+00 -1.062805162911107e+00 -1.066539417837194e+00 -1.070273792555226e+00 + -1.074007946119602e+00 -1.077741537419413e+00 -1.081474225260823e+00 -1.085205668283577e+00 -1.088935525821090e+00 + -1.092663460147868e+00 -1.096389134999202e+00 -1.100112217012435e+00 -1.103832374788097e+00 -1.107549281877421e+00 + -1.111262614364874e+00 -1.114972053517157e+00 -1.118677283811066e+00 -1.122377997381517e+00 -1.126073890115035e+00 + -1.129764665246453e+00 -1.133450029987863e+00 -1.137129700112097e+00 -1.140803395884355e+00 -1.144470846978575e+00 + -1.148131787996958e+00 -1.151785963846005e+00 -1.155433124321719e+00 -1.159073028473816e+00 -1.162705440550504e+00 + -1.166330136340245e+00 -1.169946897198408e+00 -1.173555515207745e+00 -1.177155787675114e+00 -1.180747522076412e+00 + -1.184330531453910e+00 -1.187904640946331e+00 -1.191469681045491e+00 -1.195025491559137e+00 -1.198571917630371e+00 + -1.202108816427798e+00 -1.205636050425976e+00 -1.209153491297797e+00 -1.212661015717853e+00 -1.216158511169199e+00 + -1.219645870103956e+00 -1.223122994042052e+00 -1.226589789250444e+00 -1.230046171916402e+00 -1.233492062734542e+00 + -1.236927390508550e+00 -1.240352088211073e+00 -1.243766097381527e+00 -1.247169363751694e+00 -1.250561841256042e+00 + -1.253943487695246e+00 -1.257314268132119e+00 -1.260674151007197e+00 -1.264023111009775e+00 -1.267361126327042e+00 + -1.270688182889021e+00 -1.274004269717549e+00 -1.277309380458899e+00 -1.280603511471348e+00 -1.283886665336751e+00 + -1.287158847447705e+00 -1.290420068216200e+00 -1.293670340397085e+00 -1.296909681097245e+00 -1.300138109654688e+00 + -1.303355649979877e+00 -1.306562327924205e+00 -1.309758172530325e+00 -1.312943214678930e+00 -1.316117489411603e+00 + -1.319281033477409e+00 -1.322433886294459e+00 -1.325576088655014e+00 -1.328707684178879e+00 -1.331828717822939e+00 + -1.334939237064845e+00 -1.338039290534788e+00 -1.341128928952336e+00 -1.344208204044806e+00 -1.347277169481128e+00 + -1.350335879836220e+00 -1.353384391367341e+00 -1.356422761075585e+00 -1.359451047255056e+00 -1.362469308854003e+00 + -1.365477606144248e+00 -1.368475999956682e+00 -1.371464552034891e+00 -1.374443324607048e+00 -1.377412380926959e+00 + -1.380371784452904e+00 -1.383321598435415e+00 -1.386261886043311e+00 -1.389192710326296e+00 -1.392114134331963e+00 + -1.395026221218571e+00 -1.397929034013782e+00 -1.400822635112213e+00 -1.403707086730599e+00 -1.406582451007194e+00 + -1.409448790047375e+00 -1.412306165903488e+00 -1.415154640386279e+00 -1.417994274393129e+00 -1.420825128672226e+00 + -1.423647264288326e+00 -1.426460742270041e+00 -1.429265623184807e+00 -1.432061967292326e+00 -1.434849834082543e+00 + -1.437629282863016e+00 -1.440400372981510e+00 -1.443163163644870e+00 -1.445917713456040e+00 -1.448664080745027e+00 + -1.451402323353998e+00 -1.454132498983212e+00 -1.456854665253158e+00 -1.459568879518891e+00 -1.462275198153495e+00 + -1.464973677286479e+00 -1.467664373054985e+00 -1.470347341460922e+00 -1.473022637957602e+00 -1.475690317602213e+00 + -1.478350434416031e+00 -1.481003042251009e+00 -1.483648195317718e+00 -1.486285947650543e+00 -1.488916352220507e+00 + -1.491539461636770e+00 -1.494155328124374e+00 -1.496764003712290e+00 -1.499365540029296e+00 -1.501959988475343e+00 + -1.504547399935251e+00 -1.507127824972320e+00 -1.509701313378898e+00 -1.512267914702716e+00 -1.514827678283996e+00 + -1.517380653263305e+00 -1.519926888190102e+00 -1.522466431291609e+00 -1.524999330097196e+00 -1.527525631932397e+00 + -1.530045384005255e+00 -1.532558633226744e+00 -1.535065425437065e+00 -1.537565806237489e+00 -1.540059821344337e+00 + -1.542547516227056e+00 -1.545028935252552e+00 -1.547504122520188e+00 -1.549973122161691e+00 -1.552435978060152e+00 + -1.554892733071735e+00 -1.557343429814709e+00 -1.559788110982664e+00 -1.562226819032855e+00 -1.564659595401864e+00 + -1.567086481207361e+00 -1.569507517312065e+00 -1.571922744465970e+00 -1.574332203223133e+00 -1.576735933784567e+00 + -1.579133975135047e+00 -1.581526366095511e+00 -1.583913146047792e+00 -1.586294354132112e+00 -1.588670027961349e+00 + -1.591040204840321e+00 -1.593404922368944e+00 -1.595764217997401e+00 -1.598118128281829e+00 -1.600466689560657e+00 + -1.602809938195509e+00 -1.605147910317183e+00 -1.607480641109968e+00 -1.609808165462235e+00 -1.612130518025190e+00 + -1.614447733364541e+00 -1.616759845941160e+00 -1.619066889913862e+00 -1.621368898338053e+00 -1.623665904067572e+00 + -1.625957940253400e+00 -1.628245039905108e+00 -1.630527235169479e+00 -1.632804557955816e+00 -1.635077040086276e+00 + -1.637344713164072e+00 -1.639607608003776e+00 -1.641865755216986e+00 -1.644119185392045e+00 -1.646367929030376e+00 + -1.648612016308968e+00 -1.650851477080719e+00 -1.653086340226579e+00 -1.655316634503563e+00 -1.657542389144867e+00 + -1.659763633269537e+00 -1.661980395063818e+00 -1.664192702419508e+00 -1.666400582983419e+00 -1.668604064251645e+00 + -1.670803173362428e+00 -1.672997937236383e+00 -1.675188382281491e+00 -1.677374534802169e+00 -1.679556421201192e+00 + -1.681734067628149e+00 -1.683907499121518e+00 -1.686076740528519e+00 -1.688241817042459e+00 -1.690402753749855e+00 + -1.692559574964003e+00 -1.694712304797627e+00 -1.696860967334408e+00 -1.699005586454806e+00 -1.701146185255449e+00 + -1.703282786721620e+00 -1.705415414177082e+00 -1.707544090831449e+00 -1.709668839099297e+00 -1.711789681156861e+00 + -1.713906639022084e+00 -1.716019734585396e+00 -1.718128989385494e+00 -1.720234424849230e+00 -1.722336062307809e+00 + -1.724433922917529e+00 -1.726528027230686e+00 -1.728618395721282e+00 -1.730705049154116e+00 -1.732788008101886e+00 + -1.734867292078088e+00 -1.736942920442919e+00 -1.739014913002594e+00 -1.741083289547465e+00 -1.743148069358425e+00 + -1.745209271450225e+00 -1.747266914282488e+00 -1.749321016270471e+00 -1.751371596207075e+00 -1.753418672811714e+00 + -1.755462264132180e+00 -1.757502388000569e+00 -1.759539062057792e+00 -1.761572303881055e+00 -1.763602130983907e+00 + -1.765628560778196e+00 -1.767651610332621e+00 -1.769671296580689e+00 -1.771687636258316e+00 -1.773700645994041e+00 + -1.775710342184503e+00 -1.777716741146727e+00 -1.779719859111176e+00 -1.781719712181211e+00 -1.783716316038327e+00 + -1.785709686327057e+00 -1.787699838965949e+00 -1.789686789700248e+00 -1.791670553307960e+00 -1.793651144443631e+00 + -1.795628578235185e+00 -1.797602869852874e+00 -1.799574034162875e+00 -1.801542085839167e+00 -1.803507039091021e+00 + -1.805468908052258e+00 -1.807427707019619e+00 -1.809383450209764e+00 -1.811336151356113e+00 -1.813285824110837e+00 + -1.815232482284336e+00 -1.817176139592257e+00 -1.819116809213001e+00 -1.821054504262256e+00 -1.822989238142106e+00 + -1.824921024174149e+00 -1.826849875071642e+00 -1.828775803432498e+00 -1.830698822001605e+00 -1.832618943490715e+00 + -1.834536180332052e+00 -1.836450544855570e+00 -1.838362049261658e+00 -1.840270705693083e+00 -1.842176526191684e+00 + -1.844079522732226e+00 -1.845979707122125e+00 -1.847877091069540e+00 -1.849771686052976e+00 -1.851663503515020e+00 + -1.853552554984233e+00 -1.855438851906239e+00 -1.857322405308933e+00 -1.859203226114476e+00 -1.861081325239847e+00 + -1.862956713608023e+00 -1.864829402171162e+00 -1.866699401811557e+00 -1.868566723102871e+00 -1.870431376467943e+00 + -1.872293372034969e+00 -1.874152719980291e+00 -1.876009430967454e+00 -1.877863515541558e+00 -1.879714983286677e+00 + -1.881563843740828e+00 -1.883410107218835e+00 -1.885253783963326e+00 -1.887094883151373e+00 -1.888933413891583e+00 + -1.890769386084288e+00 -1.892602809677417e+00 -1.894433694017575e+00 -1.896262048252058e+00 -1.898087881332244e+00 + -1.899911202238771e+00 -1.901732020265218e+00 -1.903550344662578e+00 -1.905366184198560e+00 -1.907179547502340e+00 + -1.908990443132265e+00 -1.910798879695625e+00 -1.912604866066330e+00 -1.914408411061036e+00 -1.916209523000752e+00 + -1.918008210058423e+00 -1.919804480310377e+00 -1.921598341888620e+00 -1.923389803244497e+00 -1.925178872754823e+00 + -1.926965558178970e+00 -1.928749867237572e+00 -1.930531808113790e+00 -1.932311388923252e+00 -1.934088617048956e+00 + -1.935863499807747e+00 -1.937636044984464e+00 -1.939406260367225e+00 -1.941174153289245e+00 -1.942939731044444e+00 + -1.944703001224463e+00 -1.946463971324967e+00 -1.948222648160018e+00 -1.949979038559213e+00 -1.951733150095908e+00 + -1.953484990331042e+00 -1.955234566032130e+00 -1.956981883796339e+00 -1.958726950332857e+00 -1.960469772453529e+00 + -1.962210357268799e+00 -1.963948711773954e+00 -1.965684842205069e+00 -1.967418754747339e+00 -1.969150456141664e+00 + -1.970879953151972e+00 -1.972607252078582e+00 -1.974332359180596e+00 -1.976055281015821e+00 -1.977776024078765e+00 + -1.979494594312026e+00 -1.981210997612849e+00 -1.982925240248993e+00 -1.984637328483028e+00 -1.986347268186276e+00 + -1.988055065135925e+00 -1.989760725123873e+00 -1.991464254028801e+00 -1.993165658061782e+00 -1.994864943305917e+00 + -1.996562115000000e+00 -1.998257178352118e+00 -1.999950139291834e+00 -2.001641003786081e+00 -2.003329777229788e+00 + -2.005016464899233e+00 -2.006701072168050e+00 -2.008383604435580e+00 -2.010064067106614e+00 -2.011742465557514e+00 + -2.013418805045480e+00 -2.015093090790721e+00 -2.016765327984645e+00 -2.018435521788566e+00 -2.020103677272243e+00 + -2.021769799450648e+00 -2.023433893211152e+00 -2.025095963440481e+00 -2.026756015150358e+00 -2.028414053372033e+00 + -2.030070083089858e+00 -2.031724109167109e+00 -2.033376136029651e+00 -2.035026168111125e+00 -2.036674210313675e+00 + -2.038320267543339e+00 -2.039964344253219e+00 -2.041606444873179e+00 -2.043246574193053e+00 -2.044884736927830e+00 + -2.046520937133174e+00 -2.048155178894251e+00 -2.049787467073582e+00 -2.051417806490505e+00 -2.053046201014273e+00 + -2.054672654449746e+00 -2.056297171294283e+00 -2.057919756136151e+00 -2.059540413234731e+00 -2.061159146675282e+00 + -2.062775960175462e+00 -2.064390857518372e+00 -2.066003843116474e+00 -2.067614921377108e+00 -2.069224096057763e+00 + -2.070831370870978e+00 -2.072436749999330e+00 -2.074040237602111e+00 -2.075641837275425e+00 -2.077241552544816e+00 + -2.078839387216755e+00 -2.080435345153352e+00 -2.082029430158359e+00 -2.083621645967183e+00 -2.085211996100236e+00 + -2.086800484128769e+00 -2.088387114042385e+00 -2.089971889736969e+00 -2.091554814315162e+00 -2.093135890870968e+00 + -2.094715123257078e+00 -2.096292515329556e+00 -2.097868070199266e+00 -2.099441790929908e+00 -2.101013681141721e+00 + -2.102583744473837e+00 -2.104151984084442e+00 -2.105718403103298e+00 -2.107283005027429e+00 -2.108845793364375e+00 + -2.110406771296459e+00 -2.111965941910842e+00 -2.113523308239219e+00 -2.115078873308544e+00 -2.116632640182243e+00 + -2.118184611994434e+00 -2.119734792125529e+00 -2.121283183887100e+00 -2.122829790069075e+00 -2.124374613416041e+00 + -2.125917657012881e+00 -2.127458923984833e+00 -2.128998417278243e+00 -2.130536139767974e+00 -2.132072094221826e+00 + -2.133606283403289e+00 -2.135138710165668e+00 -2.136669377406417e+00 -2.138198288109766e+00 -2.139725445172409e+00 + -2.141250851054121e+00 -2.142774508270670e+00 -2.144296419998729e+00 -2.145816589318136e+00 -2.147335018260493e+00 + -2.148851708859426e+00 -2.150366664204882e+00 -2.151879887475646e+00 -2.153391381149525e+00 -2.154901147551277e+00 + -2.156409189094421e+00 -2.157915508301146e+00 -2.159420108039566e+00 -2.160922991060322e+00 -2.162424159298261e+00 + -2.163923614721020e+00 -2.165421360243191e+00 -2.166917398765767e+00 -2.168411732188371e+00 -2.169904362385663e+00 + -2.171395292133801e+00 -2.172884524283159e+00 -2.174372061079477e+00 -2.175857904621596e+00 -2.177342057025400e+00 + -2.178824520458782e+00 -2.180305297280612e+00 -2.181784389836284e+00 -2.183261800226323e+00 -2.184737530553230e+00 + -2.186211583172279e+00 -2.187683960396664e+00 -2.189154664118480e+00 -2.190623696232450e+00 -2.192091059064924e+00 + -2.193556754973807e+00 -2.195020786011611e+00 -2.196483154140098e+00 -2.197943861263397e+00 -2.199402909290797e+00 + -2.200860300209873e+00 -2.202316036078389e+00 -2.203770119156592e+00 -2.205222551620105e+00 -2.206673335103553e+00 + -2.208122471221687e+00 -2.209569962050753e+00 -2.211015809743800e+00 -2.212460016299604e+00 -2.213902583604158e+00 + -2.215343513246597e+00 -2.216782806815468e+00 -2.218220466193829e+00 -2.219656493330310e+00 -2.221090890141300e+00 + -2.222523658493742e+00 -2.223954800089009e+00 -2.225384316635711e+00 -2.226812210036953e+00 -2.228238482128524e+00 + -2.229663134282465e+00 -2.231086167933421e+00 -2.232507585230206e+00 -2.233927388263609e+00 -2.235345578178182e+00 + -2.236762156112363e+00 -2.238177124126393e+00 -2.239590484325721e+00 -2.241002238074839e+00 -2.242412386688506e+00 + -2.243820932023517e+00 -2.245227875877045e+00 -2.246633219265731e+00 -2.248036963296034e+00 -2.249439110214208e+00 + -2.250839662216949e+00 -2.252238620162919e+00 -2.253635984842608e+00 -2.255031758111861e+00 -2.256425941987018e+00 + -2.257818538061035e+00 -2.259209547728066e+00 -2.260598972010440e+00 -2.261986811976363e+00 -2.263373069249392e+00 + -2.264757745520950e+00 -2.266140842198597e+00 -2.267522360622610e+00 -2.268902302148032e+00 -2.270280668153553e+00 + -2.271657460097697e+00 -2.273032679375423e+00 -2.274406327047590e+00 -2.275778404191426e+00 -2.277148912283742e+00 + -2.278517852852843e+00 -2.279885227233438e+00 -2.281251036662961e+00 -2.282615282183361e+00 -2.283977964870765e+00 + -2.285339086133513e+00 -2.286698647429660e+00 -2.288056650083893e+00 -2.289413095312870e+00 -2.290767984034498e+00 + -2.292121317209354e+00 -2.293473096267451e+00 -2.294823322630535e+00 -2.296171997217860e+00 -2.297519120939147e+00 + -2.298864695168495e+00 -2.300208721271999e+00 -2.301551200119357e+00 -2.302892132586471e+00 -2.304231520070443e+00 + -2.305569363951571e+00 -2.306905665021753e+00 -2.308240424043668e+00 -2.309573642251534e+00 -2.310905320943594e+00 + -2.312235461202651e+00 -2.313564064009707e+00 -2.314891130153991e+00 -2.316216660462560e+00 -2.317540656105554e+00 + -2.318863118293744e+00 -2.320184048057342e+00 -2.321503446385586e+00 -2.322821314284393e+00 -2.324137652689092e+00 + -2.325452462235987e+00 -2.326765743634779e+00 -2.328077498187803e+00 -2.329387727168217e+00 -2.330696431139842e+00 + -2.332003610675342e+00 -2.333309267092103e+00 -2.334613401701304e+00 -2.335916015044585e+00 -2.337217107588464e+00 + -2.338516680268511e+00 -2.339814734134101e+00 -2.341111270220800e+00 -2.342406289434137e+00 -2.343699792173311e+00 + -2.344991778936741e+00 -2.346282251126043e+00 -2.347571210092017e+00 -2.348858656078995e+00 -2.350144589310363e+00 + -2.351429011032167e+00 -2.352711922533504e+00 -2.353993324252988e+00 -2.355273216536063e+00 -2.356551600205969e+00 + -2.357828476165661e+00 -2.359103845159169e+00 -2.360377707896761e+00 -2.361650065112589e+00 -2.362920917562625e+00 + -2.364190266066228e+00 -2.365458111389245e+00 -2.366724454020086e+00 -2.367989294422349e+00 -2.369252633237819e+00 + -2.370514471195048e+00 -2.371774809191487e+00 -2.373033648052395e+00 -2.374290988145372e+00 -2.375546829856004e+00 + -2.376801174099476e+00 -2.378054021758188e+00 -2.379305373053798e+00 -2.380555228228685e+00 -2.381803588268867e+00 + -2.383050454170042e+00 -2.384295826222999e+00 -2.385539704659158e+00 -2.386782090177350e+00 -2.388022983519428e+00 + -2.389262385131917e+00 -2.390500295440986e+00 -2.391736715086700e+00 -2.392971644747536e+00 -2.394205085041701e+00 + -2.395437036486230e+00 -2.396667499253712e+00 -2.397896473568759e+00 -2.399123960208524e+00 -2.400349959968320e+00 + -2.401574473163553e+00 -2.402797500049246e+00 -2.404019041118798e+00 -2.405239096931802e+00 -2.406457668074259e+00 + -2.407674755052769e+00 -2.408890358029935e+00 -2.410104477201394e+00 -2.411317113238899e+00 -2.412528266823138e+00 + -2.413737938194389e+00 -2.414946127524263e+00 -2.416152835150093e+00 -2.417358061488310e+00 -2.418561807106014e+00 + -2.419764072540869e+00 -2.420964858062149e+00 -2.422164163883997e+00 -2.423361990268478e+00 -2.424558337539998e+00 + -2.425753206224426e+00 -2.426946596778449e+00 -2.428138509180588e+00 -2.429328943436301e+00 -2.430517900136966e+00 + -2.431705379929064e+00 -2.432891383093559e+00 -2.434075909789072e+00 -2.435258960050367e+00 -2.436440534002261e+00 + -2.437620632253666e+00 -2.438799255363957e+00 -2.439976403210287e+00 -2.441152075652963e+00 -2.442326273167121e+00 + -2.443498996281469e+00 -2.444670245124171e+00 -2.445840019720089e+00 -2.447008320081434e+00 -2.448175146330043e+00 + -2.449340499038912e+00 -2.450504378726154e+00 -2.451666785239187e+00 -2.452827718349615e+00 -2.453987178196479e+00 + -2.455145165027037e+00 -2.456301679153984e+00 -2.457456720843679e+00 -2.458610290111703e+00 -2.459762386895362e+00 + -2.460913011069636e+00 -2.462062162618941e+00 -2.463209842027783e+00 -2.464356049701044e+00 -2.465500785225038e+00 + -2.466644048210323e+00 -2.467785839182998e+00 -2.468926158651886e+00 -2.470065006141172e+00 -2.471202381154697e+00 + -2.472338284099561e+00 -2.473472715451581e+00 -2.474605675058163e+00 -2.475737162666682e+00 -2.476867178252799e+00 + -2.477995721814551e+00 -2.479122793211214e+00 -2.480248392312651e+00 -2.481372519169843e+00 -2.482495173828069e+00 + -2.483616356128687e+00 -2.484736065895716e+00 -2.485854303087743e+00 -2.486971067738408e+00 -2.488086360047014e+00 + -2.489200180083995e+00 -2.490312527238630e+00 -2.491423400907520e+00 -2.492532801197714e+00 -2.493640728315912e+00 + -2.494747182157012e+00 -2.495852162518061e+00 -2.496955669116524e+00 -2.498057701682506e+00 -2.499158260076250e+00 + -2.500257344205291e+00 -2.501354954036191e+00 -2.502451089487258e+00 -2.503545750224782e+00 -2.504638935878569e+00 + -2.505730646184535e+00 -2.506820880947837e+00 -2.507909640144502e+00 -2.508996923692245e+00 -2.510082731104683e+00 + -2.511167061905791e+00 -2.512249916065080e+00 -2.513331293568936e+00 -2.514411194025691e+00 -2.515489616993924e+00 + -2.516566562211253e+00 -2.517642029416175e+00 -2.518716018171676e+00 -2.519788528087044e+00 -2.520859559132313e+00 + -2.521929111272669e+00 -2.522997184093166e+00 -2.524063777123772e+00 -2.525128890054233e+00 -2.526192522577199e+00 + -2.527254674237163e+00 -2.528315344566595e+00 -2.529374533198041e+00 -2.530432239809303e+00 -2.531488464159136e+00 + -2.532543206017777e+00 -2.533596465120445e+00 -2.534648241083385e+00 -2.535698533081969e+00 -2.536747340380982e+00 + -2.537794663043710e+00 -2.538840501172024e+00 -2.539884854223596e+00 -2.540927721482817e+00 -2.541969102185147e+00 + -2.543008995720672e+00 -2.544047402146914e+00 -2.545084321505733e+00 -2.546119753108897e+00 -2.547153696148885e+00 + -2.548186150071097e+00 -2.549217114438763e+00 -2.550246589033513e+00 -2.551274573561718e+00 -2.552301067210345e+00 + -2.553326069170913e+00 -2.554349579172571e+00 -2.555371597001575e+00 -2.556392122135012e+00 -2.557411153995589e+00 + -2.558428692097672e+00 -2.559444735964176e+00 -2.560459285060548e+00 -2.561472338773803e+00 -2.562483896234721e+00 + -2.563493956701396e+00 -2.564502520197407e+00 -2.565509586690590e+00 -2.566515155160310e+00 -2.567519224484451e+00 + -2.568521794123430e+00 -2.569522863722881e+00 -2.570522433086768e+00 -2.571520501879673e+00 -2.572517069050324e+00 + -2.573512133570669e+00 -2.574505695221420e+00 -2.575497753777856e+00 -2.576488308184784e+00 -2.577477357385580e+00 + -2.578464901148367e+00 -2.579450939304331e+00 -2.580435471112168e+00 -2.581418495678755e+00 -2.582400012076188e+00 + -2.583380019545771e+00 -2.584358518040427e+00 -2.585335507388502e+00 -2.586310986208430e+00 -2.587284953146766e+00 + -2.588257408172476e+00 -2.589228351266687e+00 -2.590197781136742e+00 -2.591165696464199e+00 -2.592132097101227e+00 + -2.593096982965479e+00 -2.594060353065933e+00 -2.595022206300420e+00 -2.595982542030859e+00 -2.596941359648237e+00 + -2.597898658195753e+00 -2.598854436786441e+00 -2.599808695160485e+00 -2.600761432999720e+00 -2.601712649125437e+00 + -2.602662342322502e+00 -2.603610512090611e+00 -2.604557157983472e+00 -2.605502279056006e+00 -2.606445874333086e+00 + -2.607387943218189e+00 -2.608328485131743e+00 -2.609267499183389e+00 -2.610204984445080e+00 -2.611140940148811e+00 + -2.612075365584592e+00 -2.613008260114454e+00 -2.613939623006402e+00 -2.614869453080320e+00 -2.615797749224179e+00 + -2.616724511046408e+00 -2.617649738126216e+00 -2.618573429205448e+00 -2.619495583026503e+00 -2.620416199171340e+00 + -2.621335277249019e+00 -2.622252816137456e+00 -2.623168814653865e+00 -2.624083272103795e+00 -2.624996187859330e+00 + -2.625907561070358e+00 -2.626817390806325e+00 -2.627725676037143e+00 -2.628632415761536e+00 -2.629537609193020e+00 + -2.630441255587996e+00 -2.631343354159609e+00 -2.632243904045731e+00 -2.633142904126422e+00 -2.634040353337229e+00 + -2.634936251093461e+00 -2.635830596765059e+00 -2.636723389060725e+00 -2.637614626713354e+00 -2.638504309213838e+00 + -2.639392436080191e+00 -2.640279006180904e+00 -2.641164018251881e+00 -2.642047471148195e+00 -2.642929363899640e+00 + -2.643809696115713e+00 -2.644688467316341e+00 -2.645565676083456e+00 -2.646441320932559e+00 -2.647315401051427e+00 + -2.648187915755844e+00 -2.649058864201336e+00 -2.649928245427330e+00 -2.650796058169106e+00 -2.651662301248424e+00 + -2.652526974137104e+00 -2.653390076247662e+00 -2.654251606105329e+00 -2.655111562238285e+00 -2.655969944073783e+00 + -2.656826751086593e+00 -2.657681982042466e+00 -2.658535635661370e+00 -2.659387711189145e+00 -2.660238207837736e+00 + -2.661087124157626e+00 -2.661934458755756e+00 -2.662780211126336e+00 -2.663624380741185e+00 -2.664466966095276e+00 + -2.665307965694397e+00 -2.666147379064445e+00 -2.666985205710447e+00 -2.667821444033845e+00 -2.668656092405469e+00 + -2.669489150177272e+00 -2.670320616801000e+00 -2.671150491146469e+00 -2.671978771965001e+00 -2.672805458115896e+00 + -2.673630548501148e+00 -2.674454042085555e+00 -2.675275937884819e+00 -2.676096235055446e+00 -2.676914932653945e+00 + -2.677732029196031e+00 -2.678547523253807e+00 -2.679361414165717e+00 -2.680173701269736e+00 -2.680984383135636e+00 + -2.681793458321363e+00 -2.682600926105787e+00 -2.683406785794135e+00 -2.684211036076172e+00 -2.685013675548027e+00 + -2.685814703046789e+00 -2.686614117528503e+00 -2.687411918184072e+00 -2.688208104155523e+00 -2.689002674154484e+00 + -2.689795626844247e+00 -2.690586961125131e+00 -2.691376675931391e+00 -2.692164770096012e+00 -2.692951242468673e+00 + -2.693736092067127e+00 -2.694519317933390e+00 -2.695300919038479e+00 -2.696080894259941e+00 -2.696859242172434e+00 + -2.697635961409562e+00 -2.698411051143577e+00 -2.699184510529523e+00 -2.699956338114957e+00 -2.700726532498006e+00 + -2.701495093086574e+00 -2.702262019208106e+00 -2.703027309058428e+00 -2.703790960874505e+00 -2.704552974189474e+00 + -2.705313348537555e+00 -2.706072082161119e+00 -2.706829173257158e+00 -2.707584621133000e+00 -2.708338425191227e+00 + -2.709090584105120e+00 -2.709841096442358e+00 -2.710589961077480e+00 -2.711337176962203e+00 -2.712082743050078e+00 + -2.712826658235913e+00 -2.713568921177743e+00 -2.714309530527581e+00 -2.715048485150131e+00 -2.715785783993005e+00 + -2.716521426122757e+00 -2.717255410569124e+00 -2.717987736095623e+00 -2.718718401385704e+00 -2.719447405068731e+00 + -2.720174745881186e+00 -2.720900423042079e+00 -2.721624435690877e+00 -2.722346782166338e+00 -2.723067460855530e+00 + -2.723786471139474e+00 -2.724503812410580e+00 -2.725219483112852e+00 -2.725933481634188e+00 -2.726645807086471e+00 + -2.727356458650697e+00 -2.728065435060333e+00 -2.728772734953498e+00 -2.729478357034439e+00 -2.730182300087997e+00 + -2.730884563155262e+00 -2.731585145263588e+00 -2.732284045129153e+00 -2.732981261442558e+00 -2.733676793103288e+00 + -2.734370639038562e+00 -2.735062798077667e+00 -2.735753269071118e+00 -2.736442051052291e+00 -2.737129142959769e+00 + -2.737814543170111e+00 -2.738498250131983e+00 -2.739180263144520e+00 -2.739860581563291e+00 -2.740539204119172e+00 + -2.741216129405992e+00 -2.741891356094071e+00 -2.742564882952538e+00 -2.743236709069217e+00 -2.743906833523784e+00 + -2.744575255044610e+00 -2.745241972311204e+00 -2.745906984158941e+00 -2.746570289467025e+00 -2.747231887134115e+00 + -2.747891776057501e+00 -2.748549955109537e+00 -2.749206423158993e+00 -2.749861179085207e+00 -2.750514221765824e+00 + -2.751165550061125e+00 -2.751815162841771e+00 -2.752463059037292e+00 -2.753109237554207e+00 -2.753753697148108e+00 + -2.754396436622574e+00 -2.755037455124055e+00 -2.755676751755156e+00 -2.756314325100252e+00 -2.756950173779785e+00 + -2.757584297076699e+00 -2.758216694281619e+00 -2.758847364053396e+00 -2.759476305000437e+00 -2.760103516161140e+00 + -2.760728996610216e+00 -2.761352745137616e+00 -2.761974760563591e+00 -2.762595042114344e+00 -2.763213589016364e+00 + -2.763830400091322e+00 -2.764445474113015e+00 -2.765058810068553e+00 -2.765670407011266e+00 -2.766280264046035e+00 + -2.766888380201558e+00 -2.767494754150214e+00 -2.768099384646222e+00 -2.768702271127474e+00 -2.769303413030783e+00 + -2.769902809104988e+00 -2.770500458053093e+00 -2.771096359082754e+00 -2.771690511445131e+00 -2.772282914060774e+00 + -2.772873565847032e+00 -2.773462466039048e+00 -2.774049613856528e+00 -2.774635008139637e+00 -2.775218647762881e+00 + -2.775800532117688e+00 -2.776380660598635e+00 -2.776959032095993e+00 -2.777535645483684e+00 -2.778110500074552e+00 + -2.778683595228330e+00 -2.779254930053368e+00 -2.779824503611819e+00 -2.780392315032438e+00 -2.780958363471580e+00 + -2.781522648129417e+00 -2.782085168237396e+00 -2.782645923108263e+00 -2.783204912027138e+00 -2.783762134087364e+00 + -2.784317588365996e+00 -2.784871274066723e+00 -2.785423190471204e+00 -2.785973337046338e+00 -2.786521713227682e+00 + -2.787068318140169e+00 -2.787613150927563e+00 -2.788156211119559e+00 -2.788697498201977e+00 -2.789237011099205e+00 + -2.789774748795882e+00 -2.790310711079109e+00 -2.790844897774500e+00 -2.791377308059270e+00 -2.791907941021321e+00 + -2.792436796039691e+00 -2.792963872575855e+00 -2.793489170129877e+00 -2.794012688183935e+00 -2.794534426110070e+00 + -2.795054383269529e+00 -2.795572559090522e+00 -2.796088953089790e+00 -2.796603565071232e+00 -2.797116394731634e+00 + -2.797627441052200e+00 -2.798136703104035e+00 -2.798644181033428e+00 -2.799149874997305e+00 -2.799653784119957e+00 + -2.800155907491874e+00 -2.800656245100958e+00 -2.801154796934787e+00 -2.801651562082218e+00 -2.802146539693571e+00 + -2.802639730063738e+00 -2.803131133478864e+00 -2.803620749045517e+00 -2.804108575856467e+00 -2.804594614128865e+00 + -2.805078864118387e+00 -2.805561325110418e+00 -2.806041996375143e+00 -2.806520878092229e+00 -2.806997970489045e+00 + -2.807473273074300e+00 -2.807946785293329e+00 -2.808418507056632e+00 -2.808888438355500e+00 -2.809356579039224e+00 + -2.809822928959404e+00 -2.810287488118900e+00 -2.810750256531227e+00 -2.811211234101264e+00 -2.811670420689050e+00 + -2.812127816083888e+00 -2.812583420143096e+00 -2.813037233066774e+00 -2.813489255065615e+00 -2.813939486049919e+00 + -2.814387925944586e+00 -2.814834575033324e+00 -2.815279433542374e+00 -2.815722501109326e+00 -2.816163777438837e+00 + -2.816603263092504e+00 -2.817040958671196e+00 -2.817476864075942e+00 -2.817910979131784e+00 -2.818343304059641e+00 + -2.818773839208482e+00 -2.819202585043600e+00 -2.819629541969078e+00 -2.820054710027820e+00 -2.820478089265513e+00 + -2.820899680100151e+00 -2.821319482977751e+00 -2.821737498084143e+00 -2.822153725615352e+00 -2.822568166068396e+00 + -2.822980820018520e+00 -2.823391688052908e+00 -2.823800770674544e+00 -2.824208068037681e+00 -2.824613580315654e+00 + -2.825017308106835e+00 -2.825419252121360e+00 -2.825819413091381e+00 -2.826217791658008e+00 -2.826614388076187e+00 + -2.827009202624378e+00 -2.827402236061253e+00 -2.827793489256864e+00 -2.828182963046578e+00 -2.828570658171722e+00 + -2.828956575032161e+00 -2.829340714052488e+00 -2.829723076097664e+00 -2.830103662132774e+00 -2.830482473083023e+00 + -2.830859509823491e+00 -2.831234773068641e+00 -2.831608263528317e+00 -2.831979982054516e+00 -2.832349929557777e+00 + -2.832718107040651e+00 -2.833084515526141e+00 -2.833449156027042e+00 -2.833812029550204e+00 -2.834173137088914e+00 + -2.834532479620883e+00 -2.834890058075082e+00 -2.835245873448821e+00 -2.835599927061508e+00 -2.835952220243667e+00 + -2.836302754048190e+00 -2.836651529530672e+00 -2.836998548035129e+00 -2.837343810883671e+00 -2.837687319022324e+00 + -2.838029073490917e+00 -2.838369076080591e+00 -2.838707328586376e+00 -2.839043832067564e+00 -2.839378587474163e+00 + -2.839711596054793e+00 -2.840042859259108e+00 -2.840372379042276e+00 -2.840700157280677e+00 -2.841026195030013e+00 + -2.841350493343512e+00 -2.841673054085180e+00 -2.841993879190829e+00 -2.842312970072699e+00 -2.842630328108386e+00 + -2.842945955060471e+00 -2.843259852775203e+00 -2.843572023048496e+00 -2.843882467617769e+00 -2.844191188036773e+00 + -2.844498185884593e+00 -2.844803463025301e+00 -2.845107021413000e+00 -2.845408863076932e+00 -2.845708990020076e+00 + -2.846007404065244e+00 -2.846304107050338e+00 -2.846599101053807e+00 -2.846892388135785e+00 -2.847183970042619e+00 + -2.847473848570861e+00 -2.847762026031680e+00 -2.848048504803730e+00 -2.848333287020989e+00 -2.848616374754612e+00 + -2.848897770069131e+00 -2.849177475073159e+00 -2.849455492058227e+00 -2.849731823327478e+00 -2.850006471047571e+00 + -2.850279437434387e+00 -2.850550725037162e+00 -2.850820336439234e+00 -2.851088274026996e+00 -2.851354540133094e+00 + -2.851619137072155e+00 -2.851882067200814e+00 -2.852143333061782e+00 -2.852402937208544e+00 -2.852660882051651e+00 + -2.852917170055367e+00 -2.853171804041764e+00 -2.853424786850297e+00 -2.853676121032120e+00 -2.853925809140160e+00 + -2.854173854022716e+00 -2.854420258509995e+00 -2.854665025064492e+00 -2.854908156206457e+00 -2.855149655054884e+00 + -2.855389524765914e+00 -2.855627768045515e+00 -2.855864387531145e+00 -2.856099386036384e+00 -2.856332766480263e+00 + -2.856564532027491e+00 -2.856794685864488e+00 -2.857023231018833e+00 -2.857250170456676e+00 -2.857475507057297e+00 + -2.857699243787178e+00 -2.857921384048440e+00 -2.858141931205942e+00 -2.858360888039817e+00 -2.858578257403886e+00 + -2.858794043031427e+00 -2.859008248642304e+00 -2.859220877023269e+00 -2.859431930941042e+00 -2.859641414015340e+00 + -2.859849329964776e+00 -2.860055682050569e+00 -2.860260473522559e+00 -2.860463708042447e+00 -2.860665389218646e+00 + -2.860865520034553e+00 -2.861064103583913e+00 -2.861261144026887e+00 -2.861456645505078e+00 -2.861650611019446e+00 + -2.861843043539793e+00 -2.862033947051935e+00 -2.862223325674870e+00 -2.862411183044306e+00 -2.862597522669464e+00 + -2.862782348036900e+00 -2.862965662765951e+00 -2.863147471029718e+00 -2.863327776966641e+00 -2.863506584022756e+00 + -2.863683895649960e+00 -2.863859716016013e+00 -2.864034049304372e+00 -2.864206899045429e+00 -2.864378268816853e+00 + -2.864548163038503e+00 -2.864716586175495e+00 -2.864883542031795e+00 -2.865049034317118e+00 -2.865213067025303e+00 + -2.865375644227383e+00 -2.865536770019026e+00 -2.865696448531390e+00 -2.865854684012960e+00 -2.866011480747103e+00 + -2.866166843039399e+00 -2.866320775137251e+00 -2.866473281033156e+00 -2.866624364792500e+00 -2.866774031027124e+00 + -2.866922284373643e+00 -2.867069129021301e+00 -2.867214569108258e+00 -2.867358609015685e+00 -2.867501253183005e+00 + -2.867642506039625e+00 -2.867782372075631e+00 -2.867920856033839e+00 -2.868057962606175e+00 -2.868193696028257e+00 + -2.868328060561013e+00 -2.868461061022879e+00 -2.868592702303233e+00 -2.868722989017701e+00 -2.868851925722842e+00 + -2.868979517012722e+00 -2.869105767524959e+00 -2.869230682033886e+00 -2.869354265317122e+00 -2.869476522028743e+00 + -2.869597456891174e+00 -2.869717075023798e+00 -2.869835381525858e+00 -2.869952381019048e+00 -2.870068078133983e+00 + -2.870182478014490e+00 -2.870295585788873e+00 -2.870407406010122e+00 -2.870517943287246e+00 -2.870627203028626e+00 + -2.870735190678368e+00 -2.870841911024103e+00 -2.870947368779615e+00 -2.871051569019769e+00 -2.871154516959833e+00 + -2.871256218015620e+00 -2.871356677487263e+00 -2.871455900011655e+00 -2.871553890297982e+00 -2.871650654007871e+00 + -2.871746196881877e+00 -2.871840524023838e+00 -2.871933640394619e+00 -2.872025551019907e+00 -2.872116261043417e+00 + -2.872205776016155e+00 -2.872294101539941e+00 -2.872381243012580e+00 -2.872467205758066e+00 -2.872551995009178e+00 + -2.872635615995248e+00 -2.872718074023048e+00 -2.872799374482606e+00 -2.872879523019508e+00 -2.872958525324841e+00 + -2.873036387016140e+00 -2.873113113575017e+00 -2.873188710012942e+00 -2.873263181462381e+00 -2.873336534009911e+00 + -2.873408773769060e+00 -2.873479906007045e+00 -2.873549935889074e+00 -2.873618869018622e+00 -2.873686711126628e+00 + -2.873753468015626e+00 -2.873819145455355e+00 -2.873883749012791e+00 -2.873947284262238e+00 -2.874009757010115e+00 + -2.874071173064448e+00 -2.874131538007598e+00 -2.874190857408149e+00 -2.874249137005235e+00 -2.874306382592947e+00 + -2.874362600014657e+00 -2.874417795154723e+00 -2.874471974012172e+00 -2.874525142492177e+00 -2.874577306009839e+00 + -2.874628470067637e+00 -2.874678641007656e+00 -2.874727825164796e+00 -2.874776028005620e+00 -2.874823254939239e+00 + -2.874869512013286e+00 -2.874914805384953e+00 -2.874959141011137e+00 -2.875002524843012e+00 -2.875044963009132e+00 + -2.875086461553842e+00 -2.875127026007268e+00 -2.875166661990855e+00 -2.875205376005544e+00 -2.875243174521211e+00 + -2.875280063003956e+00 -2.875316046953741e+00 -2.875351133009737e+00 -2.875385327829893e+00 -2.875418637008044e+00 + -2.875451066029114e+00 -2.875482621006486e+00 -2.875513308222273e+00 -2.875543134005058e+00 -2.875572104616458e+00 + -2.875600226003760e+00 -2.875627504088381e+00 -2.875653945002586e+00 -2.875679554924722e+00 -2.875704340006628e+00 + -2.875728306365356e+00 -2.875751460005359e+00 -2.875773807024162e+00 -2.875795354004213e+00 -2.875816107441742e+00 + -2.875836073003188e+00 -2.875855256356105e+00 -2.875873664002281e+00 -2.875891302525273e+00 -2.875908178001488e+00 + -2.875924296429527e+00 -2.875939664003940e+00 -2.875954287022889e+00 -2.875968172003060e+00 -2.875981325374513e+00 + -2.875993753002293e+00 -2.876005460745149e+00 -2.876016455001635e+00 -2.876026742281703e+00 -2.876036329001085e+00 + -2.876045221511428e+00 -2.876053426002279e+00 -2.876060948682664e+00 -2.876067796001651e+00 -2.876073974394489e+00 + -2.876079490001126e+00 -2.876084348997735e+00 -2.876088558000703e+00 -2.876092123620084e+00 -2.876095052000378e+00 + -2.876097349275196e+00 -2.876099022000147e+00 -2.876100076780735e+00 -2.876100520000039e+00 -2.876100357977497e+00 + -2.876099597000405e+00 -2.876098243435337e+00 -2.876096303998139e+00 -2.876093785401991e+00 -2.876090694000126e+00 + -2.876087036076098e+00 -2.876082817994697e+00 -2.876078046153286e+00 -2.876072726998279e+00 -2.876066867041051e+00 + -2.876060473003754e+00 -2.876053551562065e+00 -2.876046108994973e+00 -2.876038151582050e+00 -2.876029686001908e+00 + -2.876020718975022e+00 -2.876011256990315e+00 -2.876001306494705e+00 -2.875990873998654e+00 -2.875979966015766e+00 + -2.875968589008655e+00 -2.875956749461299e+00 -2.875944453994101e+00 -2.875931709272467e+00 -2.875918522005370e+00 + -2.875904898821941e+00 -2.875890845988358e+00 -2.875876369796106e+00 -2.875861477000839e+00 -2.875846174460938e+00 + -2.875830468981534e+00 -2.875814367182402e+00 -2.875797874995170e+00 -2.875780998493851e+00 -2.875763745010153e+00 + -2.875746121853747e+00 -2.875728134988475e+00 -2.875709790337169e+00 -2.875691095004476e+00 -2.875672056151185e+00 + -2.875652679980860e+00 -2.875632972639220e+00 -2.875612940997824e+00 -2.875592591983200e+00 -2.875571932015899e+00 + -2.875550967463832e+00 -2.875529704990307e+00 -2.875508151305197e+00 -2.875486313009207e+00 -2.875464196688727e+00 + -2.875441808982035e+00 -2.875419156538716e+00 -2.875396246001703e+00 -2.875373083982446e+00 -2.875349676973115e+00 + -2.875326031456047e+00 -2.875302153993497e+00 -2.875278051224424e+00 -2.875253730014671e+00 -2.875229197164465e+00 + -2.875204458984698e+00 -2.875179521740897e+00 -2.875154392006447e+00 -2.875129076470253e+00 -2.875103581975416e+00 + -2.875077915323747e+00 -2.875052082997684e+00 -2.875026091410789e+00 -2.874999947020509e+00 -2.874973656330889e+00 + -2.874947225988491e+00 -2.874920662667701e+00 -2.874893973011697e+00 -2.874867163623783e+00 -2.874840240978976e+00 + -2.874813211559227e+00 -2.874786082002508e+00 -2.874758858958694e+00 -2.874731548969249e+00 -2.874704158521300e+00 + -2.874676693993052e+00 -2.874649161850167e+00 -2.874621569017096e+00 -2.874593922351292e+00 -2.874566227983435e+00 + -2.874538491996276e+00 -2.874510721007613e+00 -2.874482921761722e+00 -2.874455100973768e+00 -2.874427265275985e+00 + -2.874399420998023e+00 -2.874371574431975e+00 -2.874343732022288e+00 -2.874315900299783e+00 -2.874288085988434e+00 + -2.874260295776052e+00 -2.874232536012641e+00 -2.874204812974258e+00 -2.874177132978955e+00 -2.874149502426689e+00 + -2.874121928003048e+00 -2.874094416390038e+00 -2.874066973969692e+00 -2.874039607056358e+00 -2.874012321993617e+00 + -2.873985125156578e+00 -2.873958023017241e+00 -2.873931022092817e+00 -2.873904128984454e+00 -2.873877350227203e+00 + -2.873850692007775e+00 -2.873824160475146e+00 -2.873797761975665e+00 -2.873771502947487e+00 -2.873745389998629e+00 + -2.873719429664607e+00 -2.873693628021065e+00 -2.873667991196405e+00 -2.873642525989910e+00 -2.873617239207638e+00 + -2.873592137011854e+00 -2.873567225478465e+00 -2.873542510981722e+00 -2.873517999984164e+00 -2.873493699003122e+00 + -2.873469614539558e+00 -2.873445752974173e+00 -2.873422120664412e+00 -2.873398723994974e+00 -2.873375569341346e+00 + -2.873352663014937e+00 -2.873330011368907e+00 -2.873307620987516e+00 -2.873285498440290e+00 -2.873263650006746e+00 + -2.873242081977908e+00 -2.873220800980854e+00 -2.873199813610778e+00 -2.873179125999297e+00 -2.873158744269642e+00 + -2.873138674975094e+00 -2.873118924733721e+00 -2.873099499992696e+00 -2.873080407078925e+00 -2.873061652009151e+00 + -2.873043240951156e+00 -2.873025180987050e+00 -2.873007479104932e+00 -2.872990141002529e+00 -2.872973172348110e+00 + -2.872956579982463e+00 -2.872940370832477e+00 -2.872924550996914e+00 -2.872909126514257e+00 -2.872894104009989e+00 + -2.872879490127201e+00 -2.872865290992410e+00 -2.872851512733995e+00 -2.872838162004323e+00 -2.872825245427317e+00 + -2.872812768989124e+00 -2.872800738661925e+00 -2.872789160999820e+00 -2.872778042642130e+00 -2.872767389987160e+00 + -2.872757209355336e+00 -2.872747506996586e+00 -2.872738289140315e+00 -2.872729562004331e+00 -2.872721331833777e+00 + -2.872713604994726e+00 -2.872706387896571e+00 -2.872699687001068e+00 -2.872693508692679e+00 -2.872687858994343e+00 + -2.872682743943764e+00 -2.872678169999229e+00 -2.872674143639194e+00 -2.872670671002211e+00 -2.872667758252759e+00 + -2.872665411998920e+00 -2.872663638727966e+00 -2.872662444000314e+00 -2.872661833458480e+00 -2.872661814000242e+00 + -2.872662392564575e+00 -2.872663574999996e+00 -2.872665367034357e+00 -2.872667775003300e+00 -2.872670805307676e+00 + -2.872674464001362e+00 -2.872678757122995e+00 -2.872683690997219e+00 -2.872689271947241e+00 -2.872695506004511e+00 + -2.872702399218003e+00 -2.872709957998547e+00 -2.872718188690384e+00 -2.872727097009549e+00 -2.872736688669513e+00 + -2.872746970001709e+00 -2.872757947412680e+00 -2.872769626991446e+00 -2.872782014787135e+00 -2.872795117006809e+00 + -2.872808939808297e+00 -2.872823488994544e+00 -2.872838770359238e+00 -2.872854790013944e+00 -2.872871554154958e+00 + -2.872889068999627e+00 -2.872907340687168e+00 -2.872926375023218e+00 -2.872946177789640e+00 -2.872966755006795e+00 + -2.872988112738970e+00 -2.873010256987659e+00 -2.873033193743455e+00 -2.873056929016149e+00 -2.873081468798353e+00 + -2.873106818994782e+00 -2.873132985471494e+00 -2.873159974027786e+00 -2.873187790508094e+00 -2.873216441004140e+00 + -2.873245931584463e+00 -2.873276267977569e+00 -2.873307455856915e+00 -2.873339501015828e+00 -2.873372409342765e+00 + -2.873406186986854e+00 -2.873440840030674e+00 -2.873476374029945e+00 -2.873512794459630e+00 -2.873550106998518e+00 + -2.873588317466817e+00 -2.873627432046586e+00 -2.873667456808100e+00 -2.873708397012657e+00 -2.873750257967860e+00 + -2.873793045975522e+00 -2.873836767295967e+00 -2.873881427029366e+00 -2.873927030237608e+00 -2.873973582989610e+00 + -2.874021091436191e+00 -2.874069561048740e+00 -2.874118997257345e+00 -2.874169406006314e+00 -2.874220793186470e+00 + -2.874273163960479e+00 -2.874326523535612e+00 -2.874380878025728e+00 -2.874436233504353e+00 -2.874492594977105e+00 + -2.874549967456173e+00 -2.874608357047944e+00 -2.874667769870749e+00 -2.874728210996486e+00 -2.874789685444839e+00 + -2.874852199073056e+00 -2.874915757808161e+00 -2.874980367018717e+00 -2.875046031956011e+00 -2.875112757960702e+00 + -2.875180550448241e+00 -2.875249415043884e+00 -2.875319357389408e+00 -2.875390382982873e+00 -2.875462497200150e+00 + -2.875535705072081e+00 -2.875610011724477e+00 -2.875685423008027e+00 -2.875761944747628e+00 -2.875839581940104e+00 + -2.875918339524430e+00 -2.875998223036253e+00 -2.876079238083328e+00 -2.876161389965175e+00 -2.876244683897332e+00 + -2.876329125067640e+00 -2.876414718675390e+00 -2.876501469993362e+00 -2.876589384334920e+00 -2.876678467102276e+00 + -2.876768723646439e+00 -2.876860159024752e+00 -2.876952778311590e+00 -2.877046586943105e+00 -2.877141590285005e+00 + -2.877237793059432e+00 -2.877335200055582e+00 -2.877433816974432e+00 -2.877533649470098e+00 -2.877634702097487e+00 + -2.877736979404358e+00 -2.877840487009089e+00 -2.877945230580227e+00 -2.878051214916385e+00 -2.878158444703550e+00 + -2.878266925047163e+00 -2.878376661120778e+00 -2.878487657950954e+00 -2.878599920558564e+00 -2.878713454088738e+00 + -2.878828263638601e+00 -2.878944353988982e+00 -2.879061729871082e+00 -2.879180396133895e+00 -2.879300357745253e+00 + -2.879421620030550e+00 -2.879544188234639e+00 -2.879668066922659e+00 -2.879793260582870e+00 -2.879919774075741e+00 + -2.880047612428619e+00 -2.880176780964157e+00 -2.880307284823274e+00 -2.880439128124635e+00 -2.880572315044195e+00 + -2.880706851009318e+00 -2.880842741491739e+00 -2.880979990889281e+00 -2.881118603470176e+00 -2.881258584058220e+00 + -2.881399937594580e+00 -2.881542668934350e+00 -2.881686782880171e+00 -2.881832284110943e+00 -2.881979177270132e+00 + -2.882127466983199e+00 -2.882277157822698e+00 -2.882428254167564e+00 -2.882580760515876e+00 -2.882734682035907e+00 + -2.882890023809088e+00 -2.883046789899305e+00 -2.883204984344022e+00 -2.883364612092550e+00 -2.883525678164890e+00 + -2.883688186951939e+00 -2.883852142755886e+00 -2.884017550153203e+00 -2.884184413751485e+00 -2.884352738008543e+00 + -2.884522527349429e+00 -2.884693786217942e+00 -2.884866519029743e+00 -2.885040730069195e+00 -2.885216423722596e+00 + -2.885393604915286e+00 -2.885572278454246e+00 -2.885752448133968e+00 -2.885934117732660e+00 -2.886117291975880e+00 + -2.886301975695701e+00 -2.886488173202934e+00 -2.886675888645447e+00 -2.886865126040629e+00 -2.887055889528861e+00 + -2.887248183873006e+00 -2.887442013779875e+00 -2.887637383109605e+00 -2.887834295673936e+00 -2.888032755937675e+00 + -2.888232768417303e+00 -2.888434337182880e+00 -2.888637466267979e+00 -2.888842160006608e+00 -2.889048422705334e+00 + -2.889256258260521e+00 -2.889465670586525e+00 -2.889676664079871e+00 -2.889889243164732e+00 -2.890103411893701e+00 + -2.890319174230825e+00 -2.890536534157536e+00 -2.890755495690120e+00 -2.890976062966901e+00 -2.891198240133124e+00 + -2.891422031239666e+00 -2.891647440271526e+00 -2.891874471044534e+00 -2.892103127449178e+00 -2.892333413843735e+00 + -2.892565334531329e+00 -2.892798893126666e+00 -2.893034093211137e+00 -2.893270938921286e+00 -2.893509434394119e+00 + -2.893749583213363e+00 -2.893991388990754e+00 -2.894234856003367e+00 -2.894479988544211e+00 -2.894726790304690e+00 + -2.894975264880993e+00 -2.895225416090045e+00 -2.895477247800793e+00 -2.895730763869547e+00 -2.895985968110420e+00 + -2.896242864181383e+00 -2.896501455784724e+00 -2.896761746956156e+00 -2.897023741664482e+00 -2.897287443277443e+00 + -2.897552855132549e+00 -2.897819981047455e+00 -2.898088824960355e+00 -2.898359390811481e+00 -2.898631682423090e+00 + -2.898905703143506e+00 -2.899181456336644e+00 -2.899458945902694e+00 -2.899738175745144e+00 -2.900019149244370e+00 + -2.900301869748365e+00 -2.900586340998689e+00 -2.900872566741790e+00 -2.901160550350105e+00 -2.901450295205248e+00 + -2.901741805099525e+00 -2.902035083835090e+00 -2.902330134842785e+00 -2.902626961482952e+00 -2.902925567205262e+00 + -2.903225955501619e+00 -2.903528129943548e+00 -2.903832094083243e+00 -2.904137851315957e+00 -2.904445404943298e+00 + -2.904754758049239e+00 -2.905065913908475e+00 -2.905378876776237e+00 -2.905693650730528e+00 -2.906010238159916e+00 + -2.906328641477237e+00 -2.906648864881840e+00 -2.906970912612057e+00 -2.907294787275635e+00 -2.907620491421319e+00 + -2.907948028992455e+00 -2.908277404008211e+00 -2.908608619396449e+00 -2.908941677961907e+00 -2.909276583108139e+00 + -2.909613338320582e+00 -2.909951946813384e+00 -2.910292411733319e+00 -2.910634736228945e+00 -2.910978923497479e+00 + -2.911324976928991e+00 -2.911672899876866e+00 -2.912022695354926e+00 -2.912374366346152e+00 -2.912727916049746e+00 + -2.913083347735332e+00 -2.913440664738005e+00 -2.913799870293631e+00 -2.914160967175702e+00 -2.914523958205600e+00 + -2.914888846858668e+00 -2.915255636613397e+00 -2.915624330306910e+00 -2.915994930711883e+00 -2.916367440984558e+00 + -2.916741864289805e+00 -2.917118203443422e+00 -2.917496461287171e+00 -2.917876641115726e+00 -2.918258746264796e+00 + -2.918642779781321e+00 -2.919028744569610e+00 -2.919416643252220e+00 -2.919806478556714e+00 -2.920198253912409e+00 + -2.920591972698769e+00 -2.920987637394092e+00 -2.921385250442034e+00 -2.921784815048848e+00 -2.922186334507697e+00 + -2.922589811696789e+00 -2.922995249368979e+00 -2.923402650190686e+00 -2.923812016928122e+00 -2.924223352833133e+00 + -2.924636661116357e+00 -2.925051944337972e+00 -2.925469204994078e+00 -2.925888445974902e+00 -2.926309670222330e+00 + -2.926732880490753e+00 -2.927158079512877e+00 -2.927585270122142e+00 -2.928014455203420e+00 -2.928445637746579e+00 + -2.928878820641719e+00 -2.929314006274898e+00 -2.929751197043434e+00 -2.930190395893735e+00 -2.930631605816839e+00 + -2.931074829433217e+00 -2.931520069294359e+00 -2.931967328046430e+00 -2.932416608452995e+00 -2.932867913652596e+00 + -2.933321246608101e+00 -2.933776609204709e+00 -2.934234003435805e+00 -2.934693432805196e+00 -2.935154900804807e+00 + -2.935618409368617e+00 -2.936083960365691e+00 -2.936551556963400e+00 -2.937021202354904e+00 -2.937492898538196e+00 + -2.937966647468766e+00 -2.938442452127255e+00 -2.938920315642269e+00 -2.939400240709141e+00 -2.939882229846171e+00 + -2.940366285296803e+00 -2.940852409365155e+00 -2.941340604872910e+00 -2.941830874578781e+00 -2.942323220472084e+00 + -2.942817644603974e+00 -2.943314150042391e+00 -2.943812739919231e+00 -2.944313416605433e+00 -2.944816182292809e+00 + -2.945321039217627e+00 -2.945827989752984e+00 -2.946337036774817e+00 -2.946848183049044e+00 -2.947361430398659e+00 + -2.947876780695535e+00 -2.948394236949976e+00 -2.948913802216184e+00 -2.949435478585527e+00 -2.949959268045502e+00 + -2.950485173130951e+00 -2.951013196489051e+00 -2.951543340668991e+00 -2.952075608036040e+00 -2.952610000317780e+00 + -2.953146519451356e+00 -2.953685168849877e+00 -2.954225951787981e+00 -2.954768869510503e+00 -2.955313923227115e+00 + -2.955861116036636e+00 -2.956410451196468e+00 -2.956961930709160e+00 -2.957515556348660e+00 -2.958071330229310e+00 + -2.958629254704319e+00 -2.959189332741965e+00 -2.959751567143614e+00 -2.960315959427935e+00 -2.960882511105170e+00 + -2.961451224934558e+00 -2.962022103774683e+00 -2.962595149632548e+00 -2.963170364371659e+00 -2.963747750133120e+00 + -2.964327309260061e+00 -2.964909044626116e+00 -2.965492958892178e+00 -2.966079053337689e+00 -2.966667329311879e+00 + -2.967257789824588e+00 -2.967850437973655e+00 -2.968445275548303e+00 -2.969042304161408e+00 -2.969641526029084e+00 + -2.970242943489398e+00 -2.970846558764995e+00 -2.971452374012471e+00 -2.972060391239641e+00 -2.972670612566008e+00 + -2.973283040706606e+00 -2.973897678221620e+00 -2.974514526456296e+00 -2.975133586785449e+00 -2.975754861917081e+00 + -2.976378354633252e+00 -2.977004066679083e+00 -2.977631999719257e+00 -2.978262156133669e+00 -2.978894538388579e+00 + -2.979529148580497e+00 -2.980165988659094e+00 -2.980805060356407e+00 -2.981446365534977e+00 -2.982089906796993e+00 + -2.982735686662750e+00 -2.983383706585328e+00 -2.984033968085205e+00 -2.984686474019655e+00 -2.985341227187940e+00 + -2.985998228820469e+00 -2.986657480057624e+00 -2.987318983248517e+00 -2.987982740990944e+00 -2.988648755668708e+00 + -2.989317029403636e+00 -2.989987563483614e+00 -2.990660359350691e+00 -2.991335419897486e+00 -2.992012747963469e+00 + -2.992692344724977e+00 -2.993374211287029e+00 -2.994058350132512e+00 -2.994744763907397e+00 -2.995433454532118e+00 + -2.996124423756546e+00 -2.996817673373822e+00 -2.997513205283444e+00 -2.998211021767050e+00 -2.998911125033880e+00 + -2.999613516621449e+00 -3.000318198120732e+00 -3.001025172008281e+00 -3.001734440748973e+00 -3.002446005875424e+00 + -3.003159868783688e+00 -3.003876031255844e+00 -3.004594495323234e+00 -3.005315263628241e+00 -3.006038338638268e+00 + -3.006763721509772e+00 -3.007491413411925e+00 -3.008221416875716e+00 -3.008953734497098e+00 -3.009688367770095e+00 + -3.010425318036306e+00 -3.011164587129571e+00 -3.011906177113799e+00 -3.012650090480955e+00 -3.013396329533748e+00 + -3.014144895389836e+00 -3.014895789237767e+00 -3.015649013734712e+00 -3.016404571515447e+00 -3.017162463656545e+00 + -3.017922691248400e+00 -3.018685256994897e+00 -3.019450163571901e+00 -3.020217411929727e+00 -3.020987002987051e+00 + -3.021758939261538e+00 -3.022533223477289e+00 -3.023309857585168e+00 -3.024088843221124e+00 -3.024870181534668e+00 + -3.025653873871900e+00 -3.026439922851719e+00 -3.027228331077071e+00 -3.028019099814318e+00 -3.028812230192102e+00 + -3.029607724124773e+00 -3.030405583764245e+00 -3.031205811426982e+00 -3.032008409239547e+00 -3.032813378404362e+00 + -3.033620720145768e+00 -3.034430436699938e+00 -3.035242530366928e+00 -3.036057002690514e+00 -3.036873855182042e+00 + -3.037693089979441e+00 -3.038514709166424e+00 -3.039338713983260e+00 -3.040165105664532e+00 -3.040993886265523e+00 + -3.041825058080565e+00 -3.042658623539453e+00 -3.043494584770202e+00 -3.044332942558215e+00 -3.045173697755793e+00 + -3.046016852825442e+00 -3.046862410359265e+00 -3.047710371857544e+00 -3.048560738605269e+00 -3.049413512118055e+00 + -3.050268694173960e+00 -3.051126287370169e+00 -3.051986294136892e+00 -3.052848715417321e+00 -3.053713552140092e+00 + -3.054580806662679e+00 -3.055450481419417e+00 -3.056322577723267e+00 -3.057197096839233e+00 -3.058074040961857e+00 + -3.058953412280709e+00 -3.059835212035924e+00 -3.060719441405425e+00 -3.061606102267731e+00 -3.062495196777212e+00 + -3.063386727491054e+00 -3.064280696619269e+00 -3.065177104580330e+00 -3.066075951959016e+00 -3.066977241796834e+00 + -3.067880977177860e+00 -3.068787158899685e+00 -3.069695787543252e+00 -3.070606865109353e+00 -3.071520393938529e+00 + -3.072436376310475e+00 -3.073354814200677e+00 -3.074275708428639e+00 -3.075199059975246e+00 -3.076124871622891e+00 + -3.077053146054635e+00 -3.077983883754724e+00 -3.078917085313194e+00 -3.079852753942089e+00 -3.080790892784741e+00 + -3.081731502087634e+00 -3.082674582011150e+00 -3.083620135268097e+00 -3.084568164866139e+00 -3.085518672439932e+00 + -3.086471659270948e+00 -3.087427126600947e+00 -3.088385075921834e+00 -3.089345509765843e+00 -3.090308430518810e+00 + -3.091273838940665e+00 -3.092241735746584e+00 -3.093212123098609e+00 -3.094185003484481e+00 -3.095160379247863e+00 + -3.096138252358965e+00 -3.097118623438258e+00 -3.098101493262150e+00 -3.099086864580523e+00 -3.100074740150514e+00 + -3.101065120784818e+00 -3.102058007230942e+00 -3.103053401920080e+00 -3.104051307417155e+00 -3.105051725138318e+00 + -3.106054656274756e+00 -3.107060102266563e+00 -3.108068064811119e+00 -3.109078546386035e+00 -3.110091549326776e+00 + -3.111107074619999e+00 -3.112125123273996e+00 -3.113145697732417e+00 -3.114168800386244e+00 -3.115194431980418e+00 + -3.116222593318652e+00 -3.117253287085768e+00 -3.118286516039464e+00 -3.119322281347848e+00 -3.120360583948459e+00 + -3.121401425446115e+00 -3.122444807777008e+00 -3.123490733535526e+00 -3.124539205035892e+00 -3.125590222813487e+00 + -3.126643787500575e+00 -3.127699901895779e+00 -3.128758568841378e+00 -3.129819789187914e+00 -3.130883563634097e+00 + -3.131949894263071e+00 -3.133018783446947e+00 -3.134090233329311e+00 -3.135164245759380e+00 -3.136240821637432e+00 + -3.137319962039862e+00 -3.138401669696502e+00 -3.139485947209752e+00 -3.140572795018887e+00 -3.141662213641400e+00 + -3.142754206070774e+00 -3.143848775370422e+00 -3.144945922407469e+00 -3.146045647810740e+00 -3.147147953452156e+00 + -3.148252841552866e+00 -3.149360314487843e+00 -3.150470374336312e+00 -3.151583021840677e+00 -3.152698257836541e+00 + -3.153816084869129e+00 -3.154936505573740e+00 -3.156059521236365e+00 -3.157185132934072e+00 -3.158313342257567e+00 + -3.159444151127381e+00 -3.160577562269707e+00 -3.161713578058511e+00 -3.162852198653188e+00 -3.163993424406347e+00 + -3.165137258658042e+00 -3.166283704751602e+00 -3.167432763056018e+00 -3.168584433853514e+00 -3.169738720053572e+00 + -3.170895624664928e+00 -3.172055148466089e+00 -3.173217292044841e+00 -3.174382057456326e+00 -3.175549447119023e+00 + -3.176719463437418e+00 -3.177892108465135e+00 -3.179067382866334e+00 -3.180245287430775e+00 -3.181425824840074e+00 + -3.182608997807819e+00 -3.183794807283624e+00 -3.184983254083125e+00 -3.186174340249998e+00 -3.187368068149750e+00 + -3.188564440207163e+00 -3.189763458501066e+00 -3.190965123667219e+00 -3.192169436468204e+00 -3.193376399616980e+00 + -3.194586015855556e+00 -3.195798286091764e+00 -3.197013211234878e+00 -3.198230794034108e+00 -3.199451037209393e+00 + -3.200673941523666e+00 -3.201899507599942e+00 -3.203127737458575e+00 -3.204358633517069e+00 -3.205592198384193e+00 + -3.206828434306502e+00 -3.208067341890413e+00 -3.209308921829809e+00 -3.210553176808560e+00 -3.211800109598040e+00 + -3.213049721329648e+00 -3.214302012941719e+00 -3.215556986240311e+00 -3.216814643392485e+00 -3.218074987141617e+00 + -3.219338019837523e+00 -3.220603741679474e+00 -3.221872153094758e+00 -3.223143257573258e+00 -3.224417058543514e+00 + -3.225693556126080e+00 -3.226972750453261e+00 -3.228254645012327e+00 -3.229539243310538e+00 -3.230826545580160e+00 + -3.232116551831102e+00 -3.233409264458852e+00 -3.234704686394765e+00 -3.236002820328103e+00 -3.237303668413965e+00 + -3.238607230912866e+00 -3.239913508296335e+00 -3.241222503774527e+00 -3.242534220589764e+00 -3.243848659374397e+00 + -3.245165820540432e+00 -3.246485706228452e+00 -3.247808319087641e+00 -3.249133662073000e+00 -3.250461737608715e+00 + -3.251792545689908e+00 -3.253126086515263e+00 -3.254462363526813e+00 -3.255801380232294e+00 -3.257143137158927e+00 + -3.258487634736825e+00 -3.259834875988172e+00 -3.261184864013611e+00 -3.262537599635538e+00 -3.263893083453904e+00 + -3.265251317457108e+00 -3.266612304094287e+00 -3.267976046269084e+00 -3.269342546452898e+00 -3.270711804933652e+00 + -3.272083822201368e+00 -3.273458601737915e+00 -3.274836147008249e+00 -3.276216458417835e+00 -3.277599536106921e+00 + -3.278985382214368e+00 -3.280373999474050e+00 -3.281765391001240e+00 -3.283159559381294e+00 -3.284556504698475e+00 + -3.285956227223949e+00 -3.287358730477579e+00 -3.288764018003004e+00 -3.290172090190266e+00 -3.291582947391597e+00 + -3.292996592961586e+00 -3.294413030263101e+00 -3.295832259689772e+00 -3.297254281509102e+00 -3.298679098453292e+00 + -3.300106713632883e+00 -3.301537129207062e+00 -3.302970346938195e+00 -3.304406367952729e+00 -3.305845193592728e+00 + -3.307286826698660e+00 -3.308731270022015e+00 -3.310178524459931e+00 -3.311628590794006e+00 -3.313081471198005e+00 + -3.314537168271639e+00 -3.315995684926260e+00 -3.317457023622331e+00 -3.318921184705128e+00 -3.320388168757214e+00 + -3.321857979425488e+00 -3.323330620242623e+00 -3.324806091220061e+00 -3.326284392457951e+00 -3.327765527932510e+00 + -3.329249501635255e+00 -3.330736313742837e+00 -3.332225964151081e+00 -3.333718455447356e+00 -3.335213790816533e+00 + -3.336711973141963e+00 -3.338213004741188e+00 -3.339716885970061e+00 -3.341223617428788e+00 -3.342733202656698e+00 + -3.344245645175923e+00 -3.345760945500658e+00 -3.347279103963591e+00 -3.348800123179309e+00 -3.350324006237700e+00 + -3.351850755847976e+00 -3.353380374190363e+00 -3.354912861709826e+00 -3.356448219173252e+00 -3.357986450370467e+00 + -3.359527558984502e+00 -3.361071545248283e+00 -3.362618409368982e+00 -3.364168154900880e+00 -3.365720785489059e+00 + -3.367276301794712e+00 -3.368834704260551e+00 -3.370395995439248e+00 -3.371960178388195e+00 -3.373527256073704e+00 + -3.375097230883950e+00 -3.376670102985606e+00 -3.378245872877927e+00 -3.379824544611959e+00 -3.381406122149057e+00 + -3.382990605539988e+00 -3.384577994855671e+00 -3.386168294158221e+00 -3.387761507524905e+00 -3.389357635102426e+00 + -3.390956676825633e+00 -3.392558635712520e+00 -3.394163515324364e+00 -3.395771318312439e+00 -3.397382046745834e+00 + -3.398995701274896e+00 -3.400612282828281e+00 -3.402231794866633e+00 -3.403854240867662e+00 -3.405479621845378e+00 + -3.407107938586081e+00 -3.408739193428916e+00 -3.410373389185216e+00 -3.412010529002203e+00 -3.413650615518111e+00 + -3.415293648999326e+00 -3.416939629995896e+00 -3.418588562564371e+00 -3.420240450691449e+00 -3.421895294577897e+00 + -3.423553094414080e+00 -3.425213854134680e+00 -3.426877577792018e+00 -3.428544266164663e+00 -3.430213919689846e+00 + -3.431886540713168e+00 -3.433562132145608e+00 -3.435240697251321e+00 -3.436922238808692e+00 -3.438606757299870e+00 + -3.440294253397158e+00 -3.441984730829699e+00 -3.443678193368453e+00 -3.445374641894819e+00 -3.447074077051543e+00 + -3.448776501416308e+00 -3.450481918039497e+00 -3.452190329927366e+00 -3.453901739641781e+00 -3.455616148011183e+00 + -3.457333556082980e+00 -3.459053967513855e+00 -3.460777385853499e+00 -3.462503811614361e+00 -3.464233245386620e+00 + -3.465965691108627e+00 -3.467701152771073e+00 -3.469439631225878e+00 -3.471181127031554e+00 -3.472925642711720e+00 + -3.474673181335264e+00 -3.476423746187027e+00 -3.478177340029919e+00 -3.479933963323171e+00 -3.481693616824597e+00 + -3.483456304790008e+00 -3.485222031388338e+00 -3.486990796943019e+00 -3.488762601570069e+00 -3.490537448401365e+00 + -3.492315341151373e+00 -3.494096282849095e+00 -3.495880275915030e+00 -3.497667321021135e+00 -3.499457419173128e+00 + -3.501250574460328e+00 -3.503046790838973e+00 -3.504846068649357e+00 -3.506648408298966e+00 -3.508453814079994e+00 + -3.510262290280344e+00 -3.512073837286068e+00 -3.513888455301771e+00 -3.515706147708129e+00 -3.517526918395819e+00 + -3.519350770119465e+00 -3.521177705073145e+00 -3.523007724344773e+00 -3.524840829328240e+00 -3.526677023747485e+00 + -3.528516311267811e+00 -3.530358692989965e+00 -3.532204169811781e+00 -3.534052744384031e+00 -3.535904419874647e+00 + -3.537759199767289e+00 -3.539617087002065e+00 -3.541478082029144e+00 -3.543342185630307e+00 -3.545209402403708e+00 + -3.547079736777425e+00 -3.548953188682862e+00 -3.550829758143615e+00 -3.552709450048714e+00 -3.554592269345012e+00 + -3.556478216345227e+00 -3.558367291032073e+00 -3.560259496702344e+00 -3.562154837300620e+00 -3.564053316048536e+00 + -3.565954935512961e+00 -3.567859696364639e+00 -3.569767599635964e+00 -3.571678649702049e+00 -3.573592850895430e+00 + -3.575510204035641e+00 -3.577430709619281e+00 -3.579354370364244e+00 -3.581281189700099e+00 -3.583211171681835e+00 + -3.585144319721653e+00 -3.587080634035166e+00 -3.589020115063184e+00 -3.590962767343901e+00 -3.592908595415016e+00 + -3.594857599714854e+00 -3.596809780701911e+00 -3.598765143014713e+00 -3.600723691343250e+00 -3.602685426403352e+00 + -3.604650348553174e+00 -3.606618460694309e+00 -3.608589766473437e+00 -3.610564269974137e+00 -3.612541974573128e+00 + -3.614522880382737e+00 -3.616506987803558e+00 -3.618494301653613e+00 -3.620484826823921e+00 -3.622478564080036e+00 + -3.624475513850586e+00 -3.626475679341938e+00 -3.628479064392689e+00 -3.630485672592619e+00 -3.632495506905407e+00 + -3.634508568039156e+00 -3.636524857004877e+00 -3.638544378280809e+00 -3.640567136287224e+00 -3.642593131745308e+00 + -3.644622365423449e+00 -3.646654841977913e+00 -3.648690566065893e+00 -3.650729538460438e+00 -3.652771759626902e+00 + -3.654817232683972e+00 -3.656865961450936e+00 -3.658917949896158e+00 -3.660973201344661e+00 -3.663031716399031e+00 + -3.665093495929850e+00 -3.667158544602091e+00 -3.669226867066577e+00 -3.671298464123134e+00 -3.673373336353373e+00 + -3.675451487317045e+00 -3.677532921173144e+00 -3.679617641499514e+00 -3.681705651197185e+00 -3.683796951041065e+00 + -3.685891542158701e+00 -3.687989429214330e+00 -3.690090616811484e+00 -3.692195105774196e+00 -3.694302896934788e+00 + -3.696413994938233e+00 -3.698528404463948e+00 -3.700646126516483e+00 -3.702767161822413e+00 -3.704891513671268e+00 + -3.707019186005269e+00 -3.709150182814482e+00 -3.711284507419287e+00 -3.713422160413482e+00 -3.715563142750310e+00 + -3.717707459547388e+00 -3.719855115839397e+00 -3.722006112164920e+00 -3.724160448777861e+00 -3.726318129289493e+00 + -3.728479158099316e+00 -3.730643539402395e+00 -3.732811276589775e+00 -3.734982370040845e+00 -3.737156820495128e+00 + -3.739334633144358e+00 -3.741515813112657e+00 -3.743700360801490e+00 -3.745888276640612e+00 -3.748079565895588e+00 + -3.750274233918474e+00 -3.752472281571475e+00 -3.754673709335501e+00 -3.756878520656135e+00 -3.759086719721971e+00 + -3.761298310728990e+00 -3.763513297133539e+00 -3.765731679426046e+00 -3.767953458457793e+00 -3.770178639489403e+00 + -3.772407227784000e+00 -3.774639224205367e+00 -3.776874629489326e+00 -3.779113448259203e+00 -3.781355685279774e+00 + -3.783601341994148e+00 -3.785850419525435e+00 -3.788102921038436e+00 -3.790358850378410e+00 -3.792618212070778e+00 + -3.794881010002580e+00 -3.797147244827153e+00 -3.799416917428862e+00 -3.801690032849888e+00 -3.803966596190487e+00 + -3.806246608625402e+00 -3.808530070983860e+00 -3.810816986638503e+00 -3.813107359693981e+00 -3.815401194639556e+00 + -3.817698495297397e+00 -3.819999262436677e+00 -3.822303497093916e+00 -3.824611204428034e+00 -3.826922389548483e+00 + -3.829237053244454e+00 -3.831555196353405e+00 -3.833876824226091e+00 -3.836201942201953e+00 -3.838530551061888e+00 + -3.840862651326505e+00 -3.843198247033778e+00 -3.845537342919513e+00 -3.847879942993476e+00 -3.850226050562932e+00 + -3.852575666851148e+00 -3.854928793361406e+00 -3.857285434801036e+00 -3.859645595950435e+00 -3.862009278678248e+00 + -3.864376484523473e+00 -3.866747216618300e+00 -3.869121478726629e+00 -3.871499275546047e+00 -3.873880611182955e+00 + -3.876265486445322e+00 -3.878653902389424e+00 -3.881045864363169e+00 -3.883441377687285e+00 -3.885840443282151e+00 + -3.888243062046155e+00 -3.890649239190073e+00 -3.893058980047241e+00 -3.895472286128841e+00 -3.897889158595383e+00 + -3.900309601026809e+00 -3.902733617656517e+00 -3.905161212912323e+00 -3.907592390603840e+00 -3.910027151873432e+00 + -3.912465498159137e+00 -3.914907434748928e+00 -3.917352966879188e+00 -3.919802095729995e+00 -3.922254822259626e+00 + -3.924711150595445e+00 -3.927171085542605e+00 -3.929634631448325e+00 -3.932101791843537e+00 -3.934572567451927e+00 + -3.937046959532740e+00 -3.939524974294695e+00 -3.942006617767883e+00 -3.944491890318428e+00 -3.946980792233828e+00 + -3.949473329151056e+00 -3.951969506957779e+00 -3.954469327195002e+00 -3.956972790971958e+00 -3.959479902017460e+00 + -3.961990664762499e+00 -3.964505083827194e+00 -3.967023163167552e+00 -3.969544903893966e+00 -3.972070307479498e+00 + -3.974599379693463e+00 -3.977132126179292e+00 -3.979668547780628e+00 -3.982208645099321e+00 -3.984752422569858e+00 + -3.987299885436030e+00 -3.989851038346246e+00 -3.992405885069993e+00 -3.994964426456437e+00 -3.997526663815754e+00 + -4.000092603222488e+00 -4.002662250581340e+00 -4.005235606353252e+00 -4.007812671084819e+00 -4.010393451108941e+00 + -4.012977952843547e+00 -4.015566177260363e+00 -4.018158124897606e+00 -4.020753800005660e+00 -4.023353207686703e+00 + -4.025956352737950e+00 -4.028563239140089e+00 -4.031173867912699e+00 -4.033788240453579e+00 -4.036406362634527e+00 + -4.039028240314873e+00 -4.041653874830120e+00 -4.044283267179555e+00 -4.046916421541453e+00 -4.049553342894448e+00 + -4.052194036239657e+00 -4.054838505774454e+00 -4.057486752458788e+00 -4.060138777601743e+00 -4.062794587146426e+00 + -4.065454187011838e+00 -4.068117578386588e+00 -4.070784762448621e+00 -4.073455745063631e+00 -4.076130532171974e+00 + -4.078809125324914e+00 -4.081491525652789e+00 -4.084177736991329e+00 -4.086867764089578e+00 -4.089561612644448e+00 + -4.092259287473573e+00 -4.094960788929582e+00 -4.097666117736884e+00 -4.100375280572002e+00 -4.103088284211306e+00 + -4.105805129878449e+00 -4.108525818267906e+00 -4.111250353510137e+00 -4.113978740671802e+00 -4.116710985128399e+00 + -4.119447091422845e+00 -4.122187060458915e+00 -4.124930893522407e+00 -4.127678597066370e+00 -4.130430177441071e+00 + -4.133185635418395e+00 -4.135944971791250e+00 -4.138708193015015e+00 -4.141475305696859e+00 -4.144246311388639e+00 + -4.147021211130915e+00 -4.149800008974389e+00 -4.152582709893380e+00 -4.155369319546537e+00 -4.158159842709882e+00 + -4.160954279944561e+00 -4.163752632239020e+00 -4.166554906505763e+00 -4.169361109687737e+00 -4.172171242925584e+00 + -4.174985306927709e+00 -4.177803306475812e+00 -4.180625247195196e+00 -4.183451134012302e+00 -4.186280970992621e+00 + -4.189114759456745e+00 -4.191952501240072e+00 -4.194794202982180e+00 -4.197639871116617e+00 -4.200489506448629e+00 + -4.203343109834506e+00 -4.206200687962978e+00 -4.209062247657938e+00 -4.211927790451525e+00 -4.214797317400862e+00 + -4.217670832954751e+00 -4.220548342457539e+00 -4.223429851444060e+00 -4.226315364591702e+00 -4.229204882957573e+00 + -4.232098408004153e+00 -4.234995946435681e+00 -4.237897504949240e+00 -4.240803084971501e+00 -4.243712687544032e+00 + -4.246626317438374e+00 -4.249543980343883e+00 -4.252465681891192e+00 -4.255391426705907e+00 -4.258321215452209e+00 + -4.261255049361277e+00 -4.264192935893713e+00 -4.267134882389568e+00 -4.270080889477248e+00 -4.273030957691918e+00 + -4.275985093907401e+00 -4.278943305249538e+00 -4.281905593513557e+00 -4.284871959946388e+00 -4.287842408932329e+00 + -4.290816945777364e+00 -4.293795576336856e+00 -4.296778305653331e+00 -4.299765134968560e+00 -4.302756065899131e+00 + -4.305751105361620e+00 -4.308750260118541e+00 -4.311753531016159e+00 -4.314760919008608e+00 -4.317772431397722e+00 + -4.320788075591533e+00 -4.323807853075197e+00 -4.326831764792573e+00 -4.329859815445223e+00 -4.332892010759197e+00 + -4.335928356800809e+00 -4.338968858700405e+00 -4.342013517504197e+00 -4.345062334602749e+00 -4.348115316848165e+00 + -4.351172471198577e+00 -4.354233799574710e+00 -4.357299303495111e+00 -4.360368987907023e+00 -4.363442858590077e+00 + -4.366520921224746e+00 -4.369603180592436e+00 -4.372689637977453e+00 -4.375780295145305e+00 -4.378875159283436e+00 + -4.381974237486932e+00 -4.385077531059527e+00 -4.388185041309383e+00 -4.391296775353732e+00 -4.394412740393244e+00 + -4.397532938153312e+00 -4.400657369887305e+00 -4.403786040435705e+00 -4.406918955633090e+00 -4.410056121703311e+00 + -4.413197543940346e+00 -4.416343223529426e+00 -4.419493162052248e+00 -4.422647366785128e+00 -4.425805845047289e+00 + -4.428968598634965e+00 -4.432135628892382e+00 -4.435306940878729e+00 -4.438482540596634e+00 -4.441662434107552e+00 + -4.444846626509031e+00 -4.448035118984182e+00 -4.451227913265940e+00 -4.454425017200977e+00 -4.457626438485681e+00 + -4.460832178101560e+00 -4.464042236947444e+00 -4.467256622306292e+00 -4.470475341701105e+00 -4.473698397230936e+00 + -4.476925790483307e+00 -4.480157526423565e+00 -4.483393610985775e+00 -4.486634050601043e+00 -4.489878850742320e+00 + -4.493128012552872e+00 -4.496381537630165e+00 -4.499639433718156e+00 -4.502901708553144e+00 -4.506168363694287e+00 + -4.509439400268067e+00 -4.512714823847340e+00 -4.515994641019672e+00 -4.519278857985080e+00 -4.522567479881829e+00 + -4.525860507988668e+00 -4.529157944122721e+00 -4.532459796114085e+00 -4.535766071688615e+00 -4.539076772142213e+00 + -4.542391898765175e+00 -4.545711459255270e+00 -4.549035461446213e+00 -4.552363907308053e+00 -4.555696798263391e+00 + -4.559034139408705e+00 -4.562375936904542e+00 -4.565722197493832e+00 -4.569072926948550e+00 -4.572428126574475e+00 + -4.575787798129616e+00 -4.579151949647104e+00 -4.582520589075836e+00 -4.585893717752653e+00 -4.589271336639746e+00 + -4.592653451812744e+00 -4.596040070428725e+00 -4.599431198857142e+00 -4.602826842289216e+00 -4.606227001990830e+00 + -4.609631679831751e+00 -4.613040884022596e+00 -4.616454622677202e+00 -4.619872897181441e+00 -4.623295708819967e+00 + -4.626723065200532e+00 -4.630154974192006e+00 -4.633591438384649e+00 -4.637032459790966e+00 -4.640478043391029e+00 + -4.643928195196958e+00 -4.647382922381489e+00 -4.650842231139545e+00 -4.654306122594169e+00 -4.657774598295235e+00 + -4.661247666571815e+00 -4.664725335805659e+00 -4.668207607810025e+00 -4.671694483876048e+00 -4.675185969774820e+00 + -4.678682072408495e+00 -4.682182798723523e+00 -4.685688154522786e+00 -4.689198140990583e+00 -4.692712759891060e+00 + -4.696232019926335e+00 -4.699755929666950e+00 -4.703284490219185e+00 -4.706817702626076e+00 -4.710355575141943e+00 + -4.713898116290367e+00 -4.717445328460708e+00 -4.720997213393779e+00 -4.724553776370427e+00 -4.728115023824750e+00 + -4.731680963263822e+00 -4.735251601139764e+00 -4.738826938611875e+00 -4.742406977241646e+00 -4.745991725492132e+00 + -4.749581191958943e+00 -4.753175378866366e+00 -4.756774287871428e+00 -4.760377924733439e+00 -4.763986296289299e+00 + -4.767599409584012e+00 -4.771217270615820e+00 -4.774839880987831e+00 -4.778467242836293e+00 -4.782099364825118e+00 + -4.785736255481164e+00 -4.789377916255392e+00 -4.793024348603915e+00 -4.796675561079348e+00 -4.800331562360717e+00 + -4.803992354536202e+00 -4.807657939173200e+00 -4.811328322346788e+00 -4.815003511262576e+00 -4.818683513140625e+00 + -4.822368334073276e+00 -4.826057975627521e+00 -4.829752439872078e+00 -4.833451735407881e+00 -4.837155870922971e+00 + -4.840864848921632e+00 -4.844578671297884e+00 -4.848297343688468e+00 -4.852020872870312e+00 -4.855749266438375e+00 + -4.859482530948563e+00 -4.863220667982479e+00 -4.866963679596293e+00 -4.870711574718753e+00 -4.874464362148352e+00 + -4.878222043289993e+00 -4.881984619584831e+00 -4.885752100012597e+00 -4.889524493673498e+00 -4.893301802611106e+00 + -4.897084028340568e+00 -4.900871177319985e+00 -4.904663257144151e+00 -4.908460275011687e+00 -4.912262236942902e+00 + -4.916069144641015e+00 -4.919881000415621e+00 -4.923697813318887e+00 -4.927519592402767e+00 -4.931346339975771e+00 + -4.935178057730553e+00 -4.939014751639765e+00 -4.942856428895341e+00 -4.946703097286389e+00 -4.950554763469543e+00 + -4.954411428974413e+00 -4.958273095882141e+00 -4.962139773607051e+00 -4.966011471374763e+00 -4.969888190322918e+00 + -4.973769931656962e+00 -4.977656704941523e+00 -4.981548519919207e+00 -4.985445378685372e+00 -4.989347282670139e+00 + -4.993254238289898e+00 -4.997166253181426e+00 -5.001083334876794e+00 -5.005005489750602e+00 -5.008932719652265e+00 + -5.012865027026571e+00 -5.016802421224969e+00 -5.020744911403345e+00 -5.024692499028711e+00 -5.028645185619313e+00 + -5.032602980587180e+00 -5.036565893470627e+00 -5.040533926419334e+00 -5.044507081015939e+00 -5.048485363963517e+00 + -5.052468783200935e+00 -5.056457346489804e+00 -5.060451060330298e+00 -5.064449926354071e+00 -5.068453946757710e+00 + -5.072463130865962e+00 -5.076477488052552e+00 -5.080497020758939e+00 -5.084521730904982e+00 -5.088551625256381e+00 + -5.092586711696772e+00 -5.096626997735727e+00 -5.100672489712744e+00 -5.104723189661156e+00 -5.108779100266077e+00 + -5.112840231125939e+00 -5.116906591587866e+00 -5.120978183080382e+00 -5.125055007124604e+00 -5.129137073530554e+00 + -5.133224392250169e+00 -5.137316965514153e+00 -5.141414794882011e+00 -5.145517886949661e+00 -5.149626249667421e+00 + -5.153739891366810e+00 -5.157858819095347e+00 -5.161983034383363e+00 -5.166112539324860e+00 -5.170247343785729e+00 + -5.174387457616170e+00 -5.178532882831751e+00 -5.182683620936045e+00 -5.186839679219287e+00 -5.191001066208124e+00 + -5.195167789588259e+00 -5.199339855740569e+00 -5.203517266667578e+00 -5.207700025095241e+00 -5.211888141021600e+00 + -5.216081624199723e+00 -5.220280476130696e+00 -5.224484698310884e+00 -5.228694300469721e+00 -5.232909292611727e+00 + -5.237129677608738e+00 -5.241355457600706e+00 -5.245586638932716e+00 -5.249823229255573e+00 -5.254065237237846e+00 + -5.258312670369801e+00 -5.262565530410686e+00 -5.266823819583928e+00 -5.271087547700648e+00 -5.275356724632263e+00 + -5.279631352903723e+00 -5.283911434448228e+00 -5.288196976178466e+00 -5.292487986327965e+00 -5.296784473434150e+00 + -5.301086444698075e+00 -5.305393901671405e+00 -5.309706846569482e+00 -5.314025289911748e+00 -5.318349242027271e+00 + -5.322678704179561e+00 -5.327013677718438e+00 -5.331354173404511e+00 -5.335700202105029e+00 -5.340051765703035e+00 + -5.344408865432155e+00 -5.348771508912536e+00 -5.353139705124518e+00 -5.357513462102698e+00 -5.361892786505948e+00 + -5.366277680435933e+00 -5.370668146715638e+00 -5.375064195610523e+00 -5.379465837274747e+00 -5.383873073974794e+00 + -5.388285907439377e+00 -5.392704345133761e+00 -5.397128395890300e+00 -5.401558068273167e+00 -5.405993369375257e+00 + -5.410434300672517e+00 -5.414880864443758e+00 -5.419333071796174e+00 -5.423790933634701e+00 -5.428254451226888e+00 + -5.432723625834648e+00 -5.437198468334746e+00 -5.441678989715544e+00 -5.446165191796978e+00 -5.450657075821366e+00 + -5.455154649888983e+00 -5.459657923508107e+00 -5.464166904961132e+00 -5.468681600997277e+00 -5.473202013458992e+00 + -5.477728145011161e+00 -5.482260006515158e+00 -5.486797608759512e+00 -5.491340954044872e+00 -5.495890044003880e+00 + -5.500444886085005e+00 -5.505005489175888e+00 -5.509571862105057e+00 -5.514144012303452e+00 -5.518721941670775e+00 + -5.523305652810777e+00 -5.527895156674663e+00 -5.532490463993778e+00 -5.537091576272570e+00 -5.541698495053784e+00 + -5.546311231260242e+00 -5.550929796018560e+00 -5.555554191890502e+00 -5.560184420697174e+00 -5.564820489861896e+00 + -5.569462408240030e+00 -5.574110184812914e+00 -5.578763827204064e+00 -5.583423337479740e+00 -5.588088718319627e+00 + -5.592759980414353e+00 -5.597437134453794e+00 -5.602120183113874e+00 -5.606809128447821e+00 -5.611503978032022e+00 + -5.616204740842362e+00 -5.620911425929568e+00 -5.625624040919794e+00 -5.630342587666039e+00 -5.635067068763208e+00 + -5.639797495546991e+00 -5.644533879170592e+00 -5.649276221316504e+00 -5.654024523642824e+00 -5.658778797180806e+00 + -5.663539053129186e+00 -5.668305293983524e+00 -5.673077521581335e+00 -5.677855743831122e+00 -5.682639970117403e+00 + -5.687430209657800e+00 -5.692226470164904e+00 -5.697028753498052e+00 -5.701837062188433e+00 -5.706651407307890e+00 + -5.711471800003379e+00 -5.716298243181697e+00 -5.721130739014699e+00 -5.725969294974640e+00 -5.730813920019088e+00 + -5.735664623746429e+00 -5.740521414337008e+00 -5.745384293658165e+00 -5.750253264219532e+00 -5.755128337412918e+00 + -5.760009524502356e+00 -5.764896827358567e+00 -5.769790247833362e+00 -5.774689797096235e+00 -5.779595486532854e+00 + -5.784507319075965e+00 -5.789425296924678e+00 -5.794349427796488e+00 -5.799279720850703e+00 -5.804216185495535e+00 + -5.809158829710795e+00 -5.814107655513784e+00 -5.819062665706917e+00 -5.824023872195552e+00 -5.828991286593848e+00 + -5.833964910248241e+00 -5.838944744496904e+00 -5.843930800912663e+00 -5.848923091405570e+00 -5.853921618999967e+00 + -5.858926385866531e+00 -5.863937399646989e+00 -5.868954669511408e+00 -5.873978205272220e+00 -5.879008015280387e+00 + -5.884044101398642e+00 -5.889086466127434e+00 -5.894135121006329e+00 -5.899190077679159e+00 -5.904251339167730e+00 + -5.909318907675908e+00 -5.914392790757818e+00 -5.919472997569684e+00 -5.924559538325873e+00 -5.929652421747786e+00 + -5.934751649526802e+00 -5.939857223994977e+00 -5.944969157077114e+00 -5.950087460588470e+00 -5.955212136313389e+00 + -5.960343186070434e+00 -5.965480621845905e+00 -5.970624455737114e+00 -5.975774690117698e+00 -5.980931326619691e+00 + -5.986094373632355e+00 -5.991263841186835e+00 -5.996439739124646e+00 -6.001622075628632e+00 -6.006810852436582e+00 + -6.012006072105073e+00 -6.017207746910874e+00 -6.022415889122929e+00 -6.027630501258702e+00 -6.032851585034692e+00 + -6.038079148714933e+00 -6.043313202169935e+00 -6.048553755148549e+00 -6.053800815867540e+00 -6.059054386536941e+00 + -6.064314470164098e+00 -6.069581078952353e+00 -6.074854224823474e+00 -6.080133909377011e+00 -6.085420134277816e+00 + -6.090712911774160e+00 -6.096012254273324e+00 -6.101318164235261e+00 -6.106630643404864e+00 -6.111949700614082e+00 + -6.117275346267099e+00 -6.122607589969956e+00 -6.127946439669295e+00 -6.133291897472249e+00 -6.138643966380033e+00 + -6.144002658809652e+00 -6.149367987035877e+00 -6.154739953348771e+00 -6.160118559324411e+00 -6.165503813667637e+00 + -6.170895726810269e+00 -6.176294308963303e+00 -6.181699568610070e+00 -6.187111507544039e+00 -6.192530128394146e+00 + -6.197955443821025e+00 -6.203387466288188e+00 -6.208826197438971e+00 -6.214271638855750e+00 -6.219723802697215e+00 + -6.225182701452046e+00 -6.230648338352550e+00 -6.236120715733020e+00 -6.241599841591995e+00 -6.247085725644578e+00 + -6.252578378807894e+00 -6.258077810320607e+00 -6.263584021505486e+00 -6.269097014385768e+00 -6.274616801702433e+00 + -6.280143396389799e+00 -6.285676801437800e+00 -6.291217018848358e+00 -6.296764056615736e+00 -6.302317924554712e+00 + -6.307878633769864e+00 -6.313446193664602e+00 -6.319020605547922e+00 -6.324601871487839e+00 -6.330190004682891e+00 + -6.335785018206249e+00 -6.341386913499118e+00 -6.346995691980793e+00 -6.352611366614864e+00 -6.358233950592316e+00 + -6.363863446469443e+00 -6.369499855900457e+00 -6.375143187565898e+00 -6.380793451939097e+00 -6.386450659638202e+00 + -6.392114819555641e+00 -6.397785933536126e+00 -6.403464004233896e+00 -6.409149044588990e+00 -6.414841067513965e+00 + -6.420540075525660e+00 -6.426246070301758e+00 -6.431959060559017e+00 -6.437679056917068e+00 -6.443406070567963e+00 + -6.449140110779302e+00 -6.454881178548420e+00 -6.460629275812415e+00 -6.466384416537711e+00 -6.472146614484319e+00 + -6.477915870557313e+00 -6.483692185657911e+00 -6.489475573526882e+00 -6.495266048141532e+00 -6.501063611585819e+00 + -6.506868264986595e+00 -6.512680017535606e+00 -6.518498880384615e+00 -6.524324864460620e+00 -6.530157978732819e+00 + -6.535998224564008e+00 -6.541845604255500e+00 -6.547700131469085e+00 -6.553561819849423e+00 -6.559430671612207e+00 + -6.565306688088189e+00 -6.571189878497283e+00 -6.577080253965905e+00 -6.582977825357318e+00 -6.588882601649868e+00 + -6.594794584545345e+00 -6.600713776640095e+00 -6.606640191385222e+00 -6.612573842086468e+00 -6.618514730613387e+00 + -6.624462858757332e+00 -6.630418239433046e+00 -6.636380885778538e+00 -6.642350800701542e+00 -6.648327986279747e+00 + -6.654312451500913e+00 -6.660304207148021e+00 -6.666303264274883e+00 -6.672309632144893e+00 -6.678323312588955e+00 + -6.684344308236361e+00 -6.690372632342481e+00 -6.696408298209058e+00 -6.702451308697293e+00 -6.708501665794167e+00 + -6.714559378430309e+00 -6.720624457416141e+00 -6.726696914137652e+00 -6.732776758078630e+00 -6.738863990538500e+00 + -6.744958613795213e+00 -6.751060642225177e+00 -6.757170089911689e+00 -6.763286957667176e+00 -6.769411246357500e+00 + -6.775542970333119e+00 -6.781682144164359e+00 -6.787828769816468e+00 -6.793982848306231e+00 -6.800144389461610e+00 + -6.806313405086916e+00 -6.812489906080716e+00 -6.818673901333698e+00 -6.824865392610781e+00 -6.831064382650163e+00 + -6.837270885208925e+00 -6.843484914029985e+00 -6.849706471780753e+00 -6.855935560196301e+00 -6.862172188357874e+00 + -6.868416367348060e+00 -6.874668108908677e+00 -6.880927422841348e+00 -6.887194310527692e+00 -6.893468774218006e+00 + -6.899750828057308e+00 -6.906040486046904e+00 -6.912337749718504e+00 -6.918642620544160e+00 -6.924955112226868e+00 + -6.931275238742860e+00 -6.937603002930438e+00 -6.943938406703657e+00 -6.950281459417487e+00 -6.956632172330878e+00 + -6.962990556877839e+00 -6.969356622516854e+00 -6.975730370629293e+00 -6.982111803620415e+00 -6.988500936068168e+00 + -6.994897782349220e+00 -7.001302343862422e+00 -7.007714621896787e+00 -7.014134630279748e+00 -7.020562383120512e+00 + -7.026997883116998e+00 -7.033441132058707e+00 -7.039892139512705e+00 -7.046350916975187e+00 -7.052817475881351e+00 + -7.059291825658977e+00 -7.065773967767182e+00 -7.072263904706783e+00 -7.078761651114045e+00 -7.085267221537997e+00 + -7.091780618043302e+00 -7.098301841735545e+00 -7.104830902368316e+00 -7.111367811800725e+00 -7.117912581665987e+00 + -7.124465221496127e+00 -7.131025732644298e+00 -7.137594117517873e+00 -7.144170390919956e+00 -7.150754567380619e+00 + -7.157346647942116e+00 -7.163946633668109e+00 -7.170554539195697e+00 -7.177170379365883e+00 -7.183794156261903e+00 + -7.190425870988396e+00 -7.197065533493338e+00 -7.203713155838439e+00 -7.210368749697043e+00 -7.217032324589560e+00 + -7.223703881813015e+00 -7.230383423705708e+00 -7.237070964994412e+00 -7.243766520390449e+00 -7.250470092154861e+00 + -7.257181681552523e+00 -7.263901298313877e+00 -7.270628954301988e+00 -7.277364661444877e+00 -7.284108429522252e+00 + -7.290860259655573e+00 -7.297620154032538e+00 -7.304388127764033e+00 -7.311164195737019e+00 -7.317948359019635e+00 + -7.324740618617562e+00 -7.331540989105481e+00 -7.338349485298712e+00 -7.345166109406192e+00 -7.351990862719772e+00 + -7.358823755469352e+00 -7.365664799915581e+00 -7.372514007504119e+00 -7.379371387574386e+00 -7.386236941855793e+00 + -7.393110673113762e+00 -7.399992595867711e+00 -7.406882724521767e+00 -7.413781061264927e+00 -7.420687607444220e+00 + -7.427602373253923e+00 -7.434525370953283e+00 -7.441456612214240e+00 -7.448396106579596e+00 -7.455343855662903e+00 + -7.462299862106879e+00 -7.469264140600134e+00 -7.476236705537742e+00 -7.483217558094771e+00 -7.490206699573982e+00 + -7.497204145008848e+00 -7.504209909607961e+00 -7.511223995549668e+00 -7.518246403916826e+00 -7.525277144440522e+00 + -7.532316229110418e+00 -7.539363670302306e+00 -7.546419478207750e+00 -7.553483653895294e+00 -7.560556199398457e+00 + -7.567637129733686e+00 -7.574726459966183e+00 -7.581824192373288e+00 -7.588930328179804e+00 -7.596044877188221e+00 + -7.603167851392376e+00 -7.610299262973792e+00 -7.617439121971403e+00 -7.624587429666054e+00 -7.631744188388593e+00 + -7.638909413427992e+00 -7.646083119762239e+00 -7.653265308167305e+00 -7.660455979470388e+00 -7.667655148905554e+00 + -7.674862831955687e+00 -7.682079030692125e+00 -7.689303746121935e+00 -7.696536988406601e+00 -7.703778769965018e+00 + -7.711029103091334e+00 -7.718287997777487e+00 -7.725555454931286e+00 -7.732831476489904e+00 -7.740116077592081e+00 + -7.747409273463959e+00 -7.754711066479733e+00 -7.762021457991705e+00 -7.769340458116517e+00 -7.776668079072852e+00 + -7.784004332723263e+00 -7.791349228774319e+00 -7.798702768664788e+00 -7.806064954991001e+00 -7.813435803247359e+00 + -7.820815328504128e+00 -7.828203531237023e+00 -7.835600412067597e+00 -7.843005986795347e+00 -7.850420271453628e+00 + -7.857843267833355e+00 -7.865274976500961e+00 -7.872715407367362e+00 -7.880164572827870e+00 -7.887622485870939e+00 + -7.895089157097287e+00 -7.902564586963549e+00 -7.910048776908389e+00 -7.917541742442640e+00 -7.925043499243823e+00 + -7.932554049584044e+00 -7.940073394568305e+00 -7.947601544038569e+00 -7.955138510136092e+00 -7.962684305462377e+00 + -7.970238940357911e+00 -7.977802415658878e+00 -7.985374733292938e+00 -7.992955909057959e+00 -8.000545958501995e+00 + -8.008144882303682e+00 -8.015752681155906e+00 -8.023369370677967e+00 -8.030994966700497e+00 -8.038629470973136e+00 + -8.046272884117311e+00 -8.053925216322545e+00 -8.061586480220186e+00 -8.069256688640843e+00 -8.076935852017314e+00 + -8.084623970991846e+00 -8.092321047230506e+00 -8.100027096285098e+00 -8.107742133772728e+00 -8.115466161685978e+00 + -8.123199180963685e+00 -8.130941201954130e+00 -8.138692237272345e+00 -8.146452299190864e+00 -8.154221397655556e+00 + -8.161999533648068e+00 -8.169786709369063e+00 -8.177582940859525e+00 -8.185388243772254e+00 -8.193202618367051e+00 + -8.201026064968486e+00 -8.208858599553158e+00 -8.216700238370747e+00 -8.224550983111227e+00 -8.232410834288519e+00 + -8.240279802271914e+00 -8.248157899820946e+00 -8.256045139400785e+00 -8.263941531127587e+00 -8.271847076015916e+00 + -8.279761776165609e+00 -8.287685647119202e+00 -8.295618704371698e+00 -8.303560949785306e+00 -8.311512384182917e+00 + -8.319473017862927e+00 -8.327442863513763e+00 -8.335421933908444e+00 -8.343410239406900e+00 -8.351407780632112e+00 + -8.359414559352070e+00 -8.367430591651793e+00 -8.375455893292965e+00 -8.383490464426892e+00 -8.391534305333888e+00 + -8.399587432420665e+00 -8.407649862295598e+00 -8.415721596247392e+00 -8.423802634359653e+00 -8.431892987215194e+00 + -8.439992667917126e+00 -8.448101689150496e+00 -8.456220061058572e+00 -8.464347784035521e+00 -8.472484859778373e+00 + -8.480631304944675e+00 -8.488787135775029e+00 -8.496952351881781e+00 -8.505126952972617e+00 -8.513310955764712e+00 + -8.521504377280520e+00 -8.529707218754108e+00 -8.537919480083488e+00 -8.546141171610756e+00 -8.554372306334406e+00 + -8.562612897434500e+00 -8.570862955488629e+00 -8.579122480482935e+00 -8.587391473585072e+00 -8.595669951280222e+00 + -8.603957930092136e+00 -8.612255411381385e+00 -8.620562395277888e+00 -8.628878892152137e+00 -8.637204914976417e+00 + -8.645540476889700e+00 -8.653885588365707e+00 -8.662240249050400e+00 -8.670604460002718e+00 -8.678978238761259e+00 + -8.687361602440037e+00 -8.695754549975142e+00 -8.704157080317993e+00 -8.712569210659231e+00 -8.720990958572770e+00 + -8.729422324926496e+00 -8.737863309144757e+00 -8.746313921583734e+00 -8.754774175423437e+00 -8.763244084207386e+00 + -8.771723658743657e+00 -8.780212898534927e+00 -8.788711804325507e+00 -8.797220393131562e+00 -8.805738681960509e+00 + -8.814266671512945e+00 -8.822804361262596e+00 -8.831351762082482e+00 -8.839908887544672e+00 -8.848475750618142e+00 + -8.857052361519681e+00 -8.865638720060298e+00 -8.874234827408518e+00 -8.882840700568694e+00 -8.891456356239988e+00 + -8.900081794065120e+00 -8.908717013654563e+00 -8.917362031546196e+00 -8.926016864607513e+00 -8.934681514097109e+00 + -8.943355979966887e+00 -8.952040272550780e+00 -8.960734404827180e+00 -8.969438389970174e+00 -8.978152238557112e+00 + -8.986875950582608e+00 -8.995609527224275e+00 -9.004352984974421e+00 -9.013106340348738e+00 -9.021869594641789e+00 + -9.030642747850949e+00 -9.039425810005964e+00 -9.048218793898496e+00 -9.057021713335553e+00 -9.065834579375275e+00 + -9.074657391064932e+00 -9.083490148798390e+00 -9.092332870366718e+00 -9.101185573233034e+00 -9.110048256151465e+00 + -9.118920917820537e+00 -9.127803575425368e+00 -9.136696246597257e+00 -9.145598932265708e+00 -9.154511631860180e+00 + -9.163434355511646e+00 -9.172367116215408e+00 -9.181309927722621e+00 -9.190262801063124e+00 -9.199225735625708e+00 + -9.208198731948572e+00 -9.217181806808554e+00 -9.226174977077383e+00 -9.235178243767663e+00 -9.244191606592038e+00 + -9.253215075922315e+00 -9.262248664894432e+00 -9.271292387041701e+00 -9.280346253080740e+00 -9.289410262064051e+00 + -9.298484414471314e+00 -9.307568728155069e+00 -9.316663220573421e+00 -9.325767890233902e+00 -9.334882735648362e+00 + -9.344007774296474e+00 -9.353143024056331e+00 -9.362288485431986e+00 -9.371444157433135e+00 -9.380610050466057e+00 + -9.389786177888119e+00 -9.398972553464475e+00 -9.408169188076664e+00 -9.417376080663951e+00 -9.426593231436920e+00 + -9.435820657633688e+00 -9.445058376575700e+00 -9.454306388890288e+00 -9.463564693828612e+00 -9.472833301831271e+00 + -9.482112226230582e+00 -9.491401480736307e+00 -9.500701076124317e+00 -9.510011011057383e+00 -9.519331285649606e+00 + -9.528661917933491e+00 -9.538002925632075e+00 -9.547354307312132e+00 -9.556716061430350e+00 -9.566088205159264e+00 + -9.575470756067922e+00 -9.584863714595665e+00 -9.594267079809105e+00 -9.603680862413734e+00 -9.613105076017005e+00 + -9.622539734195460e+00 -9.631984847535897e+00 -9.641440414697058e+00 -9.650906435763309e+00 -9.660382928449559e+00 + -9.669869910482992e+00 -9.679367382009378e+00 -9.688875341677877e+00 -9.698393799732578e+00 -9.707922769547205e+00 + -9.717462265419133e+00 -9.727012298576232e+00 -9.736572867044643e+00 -9.746143970285512e+00 -9.755725626701739e+00 + -9.765317854403191e+00 -9.774920651385886e+00 -9.784534015610914e+00 -9.794157965013451e+00 -9.803792517858509e+00 + -9.813437673756464e+00 -9.823093430886084e+00 -9.832759800354408e+00 -9.842436796281985e+00 -9.852124431915341e+00 + -9.861822717446652e+00 -9.871531651724764e+00 -9.881251235098006e+00 -9.890981485255914e+00 -9.900722419735771e+00 + -9.910474038124631e+00 -9.920236338721825e+00 -9.930009332625946e+00 -9.939793033953066e+00 -9.949587456089942e+00 + -9.959392609292857e+00 -9.969208492025555e+00 -9.979035104343238e+00 -9.988872464459540e+00 -9.998720590171930e+00 + -1.000857947945488e+01 -1.001844913033355e+01 -1.002832956085879e+01 -1.003822078906736e+01 -1.004812281291406e+01 + -1.005803562971182e+01 -1.006795925428782e+01 -1.007789370360111e+01 -1.008783898562387e+01 -1.009779510571246e+01 + -1.010776206774677e+01 -1.011773987740720e+01 -1.012772854905251e+01 -1.013772809631413e+01 -1.014773852123577e+01 + -1.015775982444731e+01 -1.016779201251112e+01 -1.017783509576905e+01 -1.018788909374848e+01 -1.019795402262726e+01 + -1.020802987599985e+01 -1.021811664796306e+01 -1.022821435720666e+01 -1.023832302389762e+01 -1.024844264951883e+01 + -1.025857323411911e+01 -1.026871479069502e+01 -1.027886733277511e+01 -1.028903086306819e+01 -1.029920538356622e+01 + -1.030939090421369e+01 -1.031958743714735e+01 -1.032979499532081e+01 -1.034001358910991e+01 -1.035024321776280e+01 + -1.036048388191000e+01 -1.037073559883907e+01 -1.038099838556339e+01 -1.039127224134250e+01 -1.040155716512729e+01 + -1.041185317238784e+01 -1.042216027887615e+01 -1.043247848495290e+01 -1.044280779013644e+01 -1.045314820596725e+01 + -1.046349974688984e+01 -1.047386242694284e+01 -1.048423625623699e+01 -1.049462122957744e+01 -1.050501734396915e+01 + -1.051542462052187e+01 -1.052584308069211e+01 -1.053627272321853e+01 -1.054671354447971e+01 -1.055716555413174e+01 + -1.056762876571201e+01 -1.057810319500591e+01 -1.058858885406686e+01 -1.059908573777257e+01 -1.060959384260205e+01 + -1.062011318861535e+01 -1.063064379594653e+01 -1.064118566144451e+01 -1.065173878128750e+01 -1.066230317225584e+01 + -1.067287885251234e+01 -1.068346582514766e+01 -1.069406409086973e+01 -1.070467365592747e+01 -1.071529452946521e+01 + -1.072592672666786e+01 -1.073657026057826e+01 -1.074722512963040e+01 -1.075789133336255e+01 -1.076856889033910e+01 + -1.077925781838790e+01 -1.078995811336476e+01 -1.080066977044343e+01 -1.081139280404170e+01 -1.082212723175914e+01 + -1.083287306467895e+01 -1.084363031023443e+01 -1.085439896777578e+01 -1.086517903841335e+01 -1.087597053838113e+01 + -1.088677348334085e+01 -1.089758787154147e+01 -1.090841370173705e+01 -1.091925099211483e+01 -1.093009976068779e+01 + -1.094096000533889e+01 -1.095183172286895e+01 -1.096271492588021e+01 -1.097360962990334e+01 -1.098451584638146e+01 + -1.099543358339704e+01 -1.100636283967740e+01 -1.101730361593110e+01 -1.102825593014644e+01 -1.103921979985815e+01 + -1.105019522350652e+01 -1.106118219809120e+01 -1.107218073394329e+01 -1.108319084475604e+01 -1.109421254433972e+01 + -1.110524584310812e+01 -1.111629073777213e+01 -1.112734722664297e+01 -1.113841532813614e+01 -1.114949506055284e+01 + -1.116058642163307e+01 -1.117168940919924e+01 -1.118280404196459e+01 -1.119393033845125e+01 -1.120506829552628e+01 + -1.121621790821428e+01 -1.122737918582522e+01 -1.123855214233318e+01 -1.124973679608346e+01 -1.126093316109601e+01 + -1.127214122971816e+01 -1.128336099568353e+01 -1.129459247994368e+01 -1.130583570391351e+01 -1.131709066364352e+01 + -1.132835735316995e+01 -1.133963578383626e+01 -1.135092597165251e+01 -1.136222793398803e+01 -1.137354168289046e+01 + -1.138486720776133e+01 -1.139620450077960e+01 -1.140755358788016e+01 -1.141891449467379e+01 -1.143028721171902e+01 + -1.144167172931863e+01 -1.145306807180483e+01 -1.146447626363145e+01 -1.147589629570943e+01 -1.148732815744427e+01 + -1.149877186576219e+01 -1.151022744176966e+01 -1.152169489577362e+01 -1.153317423307527e+01 -1.154466544975234e+01 + -1.155616854500299e+01 -1.156768353973055e+01 -1.157921045411968e+01 -1.159074928377541e+01 -1.160230002278200e+01 + -1.161386268372032e+01 -1.162543728297182e+01 -1.163702383362365e+01 -1.164862234413445e+01 -1.166023280774309e+01 + -1.167185522083641e+01 -1.168348960761297e+01 -1.169513599109641e+01 -1.170679436179895e+01 -1.171846471050954e+01 + -1.173014706163534e+01 -1.174184143967664e+01 -1.175354783588804e+01 -1.176526623959987e+01 -1.177699666569085e+01 + -1.178873913359907e+01 -1.180049365545172e+01 -1.181226023874721e+01 -1.182403887977966e+01 -1.183582957710202e+01 + -1.184763234950681e+01 -1.185944721571250e+01 -1.187127417390187e+01 -1.188311322026980e+01 -1.189496436359524e+01 + -1.190682761635663e+01 -1.191870299324639e+01 -1.193059050542573e+01 -1.194249014771712e+01 -1.195440191732676e+01 + -1.196632583733436e+01 -1.197826192918009e+01 -1.199021018187259e+01 -1.200217058481946e+01 -1.201414316145583e+01 + -1.202612793653577e+01 -1.203812490606177e+01 -1.205013406283600e+01 -1.206215541561094e+01 -1.207418897775090e+01 + -1.208623476511758e+01 -1.209829279023755e+01 -1.211036304979982e+01 -1.212244554104682e+01 -1.213454027927224e+01 + -1.214664728029985e+01 -1.215876654402256e+01 -1.217089806888390e+01 -1.218304186346073e+01 -1.219519793969503e+01 + -1.220736631285608e+01 -1.221954699446002e+01 -1.223173997768314e+01 -1.224394525782826e+01 -1.225616285704409e+01 + -1.226839279716718e+01 -1.228063507193962e+01 -1.229288967419984e+01 -1.230515662126608e+01 -1.231743593190913e+01 + -1.232972760623024e+01 -1.234203164189830e+01 -1.235434804552219e+01 -1.236667682754052e+01 -1.237901800477097e+01 + -1.239137159078778e+01 -1.240373757981251e+01 -1.241611596680448e+01 -1.242850676902663e+01 -1.244091000477032e+01 + -1.245332567413717e+01 -1.246575377485128e+01 -1.247819431331654e+01 -1.249064729993889e+01 -1.250311275245252e+01 + -1.251559068470151e+01 -1.252808108764087e+01 -1.254058395403090e+01 -1.255309930674196e+01 -1.256562716858205e+01 + -1.257816753199971e+01 -1.259072038911156e+01 -1.260328576106586e+01 -1.261586366917709e+01 -1.262845410639316e+01 + -1.264105706405277e+01 -1.265367255542431e+01 -1.266630059802175e+01 -1.267894120441173e+01 -1.269159438291520e+01 + -1.270426012981745e+01 -1.271693844300063e+01 -1.272962933876972e+01 -1.274233283335257e+01 -1.275504892424538e+01 + -1.276777760888006e+01 -1.278051890316245e+01 -1.279327282335948e+01 -1.280603936870822e+01 -1.281881853703964e+01 + -1.283161033759003e+01 -1.284441478278821e+01 -1.285723188642777e+01 -1.287006165845383e+01 -1.288290409205257e+01 + -1.289575918258311e+01 -1.290862695085492e+01 -1.292150741744502e+01 -1.293440057655018e+01 -1.294730642109768e+01 + -1.296022496531707e+01 -1.297315622664438e+01 -1.298610021403966e+01 -1.299905693252094e+01 -1.301202637981436e+01 + -1.302500855607946e+01 -1.303800347850134e+01 -1.305101116311717e+01 -1.306403160434687e+01 -1.307706479749205e+01 + -1.309011076299821e+01 -1.310316952145874e+01 -1.311624106891474e+01 -1.312932539865738e+01 -1.314242251753035e+01 + -1.315553243732881e+01 -1.316865517610136e+01 -1.318179074759510e+01 -1.319493914209791e+01 -1.320810035188408e+01 + -1.322127440063306e+01 -1.323446131182036e+01 -1.324766107670098e+01 -1.326087368408213e+01 -1.327409914520021e+01 + -1.328733747660298e+01 -1.330058869365459e+01 -1.331385280702646e+01 -1.332712980980294e+01 -1.334041969690924e+01 + -1.335372248822127e+01 -1.336703820316815e+01 -1.338036683444133e+01 -1.339370837465144e+01 -1.340706284282357e+01 + -1.342043025877972e+01 -1.343381061911550e+01 -1.344720391854233e+01 -1.346061016746156e+01 -1.347402937953320e+01 + -1.348746156576247e+01 -1.350090673400032e+01 -1.351436488213541e+01 -1.352783600940468e+01 -1.354132013040003e+01 + -1.355481725974633e+01 -1.356832739684519e+01 -1.358185053959114e+01 -1.359538669507347e+01 -1.360893587411229e+01 + -1.362249809325635e+01 -1.363607336498644e+01 -1.364966167978290e+01 -1.366326303005515e+01 -1.367687743792930e+01 + -1.369050492543861e+01 -1.370414548452841e+01 -1.371779910680898e+01 -1.373146581263829e+01 -1.374514562258463e+01 + -1.375883852931014e+01 -1.377254452369323e+01 -1.378626361738342e+01 -1.379999582664259e+01 -1.381374116541099e+01 + -1.382749964295472e+01 -1.384127125216480e+01 -1.385505598801133e+01 -1.386885387015567e+01 -1.388266491822051e+01 + -1.389648912698253e+01 -1.391032648926665e+01 -1.392417701493663e+01 -1.393804071810552e+01 -1.395191761284479e+01 + -1.396580770902492e+01 -1.397971099975399e+01 -1.399362747983656e+01 -1.400755716762526e+01 -1.402150008127576e+01 + -1.403545621460787e+01 -1.404942556175519e+01 -1.406340814244217e+01 -1.407740397661280e+01 -1.409141305949836e+01 + -1.410543538386059e+01 -1.411947095729565e+01 -1.413351979216372e+01 -1.414758190504674e+01 -1.416165730817942e+01 + -1.417574599218579e+01 -1.418984794931155e+01 -1.420396319989974e+01 -1.421809176459019e+01 -1.423223363711269e+01 + -1.424638880961032e+01 -1.426055729478944e+01 -1.427473910897708e+01 -1.428893426241975e+01 -1.430314276106135e+01 + -1.431736459971596e+01 -1.433159977568000e+01 -1.434584830730895e+01 -1.436011021230267e+01 -1.437438548467938e+01 + -1.438867411856965e+01 -1.440297613223502e+01 -1.441729154417122e+01 -1.443162034967981e+01 -1.444596254173529e+01 + -1.446031812719803e+01 -1.447468711827448e+01 -1.448906953466952e+01 -1.450346539077074e+01 -1.451787467219810e+01 + -1.453229736674074e+01 -1.454673349963205e+01 -1.456118309651608e+01 -1.457564614723534e+01 -1.459012263904241e+01 + -1.460461258463169e+01 -1.461911600163362e+01 -1.463363290198108e+01 -1.464816329304780e+01 -1.466270716966852e+01 + -1.467726452861927e+01 -1.469183538698022e+01 -1.470641976118071e+01 -1.472101764474266e+01 -1.473562903182180e+01 + -1.475025394201659e+01 -1.476489239431922e+01 -1.477954437985420e+01 -1.479420988900897e+01 -1.480888893709030e+01 + -1.482358154289730e+01 -1.483828771427918e+01 -1.485300745484606e+01 -1.486774076220148e+01 -1.488248763590571e+01 + -1.489724808935241e+01 -1.491202213620220e+01 -1.492680977735018e+01 -1.494161101188853e+01 -1.495642584446314e+01 + -1.497125428281713e+01 -1.498609634152866e+01 -1.500095203243959e+01 -1.501582134961145e+01 -1.503070428834008e+01 + -1.504560086663885e+01 -1.506051110171047e+01 -1.507543498479744e+01 -1.509037250787217e+01 -1.510532369178669e+01 + -1.512028855781273e+01 -1.513526710002122e+01 -1.515025931004586e+01 -1.516526519697226e+01 -1.518028477406786e+01 + -1.519531805387558e+01 -1.521036504514735e+01 -1.522542574219565e+01 -1.524050014105165e+01 -1.525558825906066e+01 + -1.527069011317451e+01 -1.528580569745696e+01 -1.530093500454836e+01 -1.531607804428359e+01 -1.533123483115148e+01 + -1.534640538106230e+01 -1.536158970459035e+01 -1.537678778954449e+01 -1.539199962605270e+01 -1.540722523628471e+01 + -1.542246464244602e+01 -1.543771783484346e+01 -1.545298480379291e+01 -1.546826557154514e+01 -1.548356016030771e+01 + -1.549886856018057e+01 -1.551419075889859e+01 -1.552952676684366e+01 -1.554487659991805e+01 -1.556024027345857e+01 + -1.557561779759322e+01 -1.559100916218038e+01 -1.560641435912106e+01 -1.562183340875659e+01 -1.563726633124305e+01 + -1.565271311755539e+01 -1.566817375858786e+01 -1.568364827409284e+01 -1.569913668435983e+01 -1.571463898296877e+01 + -1.573015516140282e+01 -1.574568522946743e+01 -1.576122920078429e+01 -1.577678708591764e+01 -1.579235889192325e+01 + -1.580794461488044e+01 -1.582354425266206e+01 -1.583915782129173e+01 -1.585478533595468e+01 -1.587042679033195e+01 + -1.588608217713541e+01 -1.590175150670428e+01 -1.591743479377280e+01 -1.593313205302798e+01 -1.594884329356461e+01 + -1.596456850215542e+01 -1.598030766876410e+01 -1.599606081844003e+01 -1.601182797567503e+01 -1.602760912764517e+01 + -1.604340426053651e+01 -1.605921339389068e+01 -1.607503654929621e+01 -1.609087372317365e+01 -1.610672490846679e+01 + -1.612259010938000e+01 -1.613846933535691e+01 -1.615436260553746e+01 -1.617026993400350e+01 -1.618619130490810e+01 + -1.620212670496088e+01 -1.621807616102629e+01 -1.623403970021593e+01 -1.625001731047507e+01 -1.626600897617460e+01 + -1.628201470655392e+01 -1.629803451699528e+01 -1.631406842258372e+01 -1.633011643368945e+01 -1.634617854212047e+01 + -1.636225474110459e+01 -1.637834504811086e+01 -1.639444948009596e+01 -1.641056802772599e+01 -1.642670068226715e+01 + -1.644284746367691e+01 -1.645900839255391e+01 -1.647518346337059e+01 -1.649137266740475e+01 -1.650757600928198e+01 + -1.652379349905581e+01 -1.654002515514406e+01 -1.655627099138395e+01 -1.657253099492616e+01 -1.658880515436409e+01 + -1.660509349074862e+01 -1.662139602569388e+01 -1.663771275060954e+01 -1.665404365442992e+01 -1.667038874639235e+01 + -1.668674804082613e+01 -1.670312155212567e+01 -1.671950928959044e+01 -1.673591124207530e+01 -1.675232740091000e+01 + -1.676875778776886e+01 -1.678520242381186e+01 -1.680166129779755e+01 -1.681813439803682e+01 -1.683462174345131e+01 + -1.685112335404732e+01 -1.686763922355921e+01 -1.688416934305047e+01 -1.690071371917313e+01 -1.691727236387981e+01 + -1.693384529473730e+01 -1.695043252373442e+01 -1.696703403493436e+01 -1.698364981519248e+01 -1.700027989045860e+01 + -1.701692428668450e+01 -1.703358299073511e+01 -1.705025598664567e+01 -1.706694328621936e+01 -1.708364490699094e+01 + -1.710036086165371e+01 -1.711709115711999e+01 -1.713383578201967e+01 -1.715059472804424e+01 -1.716736801741393e+01 + -1.718415567151382e+01 -1.720095767785962e+01 -1.721777402421613e+01 -1.723460473321376e+01 -1.725144982735173e+01 + -1.726830929373925e+01 -1.728518311723097e+01 -1.730207130905323e+01 -1.731897388644410e+01 -1.733589086431708e+01 + -1.735282225151622e+01 -1.736976803493245e+01 -1.738672820398455e+01 -1.740370278015603e+01 -1.742069178532102e+01 + -1.743769521085149e+01 -1.745471304524893e+01 -1.747174529603476e+01 -1.748879197614670e+01 -1.750585310116775e+01 + -1.752292868122209e+01 -1.754001870195336e+01 -1.755712315207324e+01 -1.757424205704595e+01 -1.759137544124289e+01 + -1.760852328791187e+01 -1.762568558032359e+01 -1.764286234296404e+01 -1.766005360135051e+01 -1.767725934391039e+01 + -1.769447955614261e+01 -1.771171424892207e+01 -1.772896343807829e+01 -1.774622713388326e+01 -1.776350534196338e+01 + -1.778079805492016e+01 -1.779810526797336e+01 -1.781542699984077e+01 -1.783276326793605e+01 -1.785011406095838e+01 + -1.786747936642481e+01 -1.788485919583838e+01 -1.790225356596892e+01 -1.791966249066770e+01 -1.793708597750879e+01 + -1.795452401187612e+01 -1.797197658287230e+01 -1.798944371666477e+01 -1.800692543788475e+01 -1.802442172795408e+01 + -1.804193256819016e+01 -1.805945798270200e+01 -1.807699799758296e+01 -1.809455260407236e+01 -1.811212178929598e+01 + -1.812970555877947e+01 -1.814730392419934e+01 -1.816491690343573e+01 -1.818254450889657e+01 -1.820018672489731e+01 + -1.821784353770839e+01 -1.823551496951270e+01 -1.825320104351004e+01 -1.827090175105552e+01 -1.828861707995103e+01 + -1.830634703563002e+01 -1.832409162961503e+01 -1.834185088015348e+01 -1.835962479982180e+01 -1.837741337178776e+01 + -1.839521658191638e+01 -1.841303445627024e+01 -1.843086702044687e+01 -1.844871425798603e+01 -1.846657615155986e+01 + -1.848445272242748e+01 -1.850234399331442e+01 -1.852024995422484e+01 -1.853817059263430e+01 -1.855610591862525e+01 + -1.857405594751762e+01 -1.859202069297440e+01 -1.861000016303027e+01 -1.862799434486363e+01 -1.864600322762024e+01 + -1.866402682917165e+01 -1.868206516860479e+01 -1.870011824114266e+01 -1.871818603889838e+01 -1.873626856540951e+01 + -1.875436582948875e+01 -1.877247784962497e+01 -1.879060463922456e+01 -1.880874618168810e+01 -1.882690246254704e+01 + -1.884507350586227e+01 -1.886325933574866e+01 -1.888145993800745e+01 -1.889967529731236e+01 -1.891790543214035e+01 + -1.893615036295555e+01 -1.895441008436764e+01 -1.897268458788422e+01 -1.899097387845919e+01 -1.900927796546465e+01 + -1.902759686249918e+01 -1.904593057916082e+01 -1.906427910481893e+01 -1.908264243109121e+01 -1.910102057881749e+01 + -1.911941356739387e+01 -1.913782138121961e+01 -1.915624400568942e+01 -1.917468146517671e+01 -1.919313378404767e+01 + -1.921160094766128e+01 -1.923008293912871e+01 -1.924857977157690e+01 -1.926709146357444e+01 -1.928561802544077e+01 + -1.930415946120927e+01 -1.932271575801813e+01 -1.934128690695999e+01 -1.935987293184044e+01 -1.937847385553680e+01 + -1.939708966450047e+01 -1.941572034241033e+01 -1.943436589828115e+01 -1.945302634705033e+01 -1.947170170200994e+01 + -1.949039197138318e+01 -1.950909714476303e+01 -1.952781721398065e+01 -1.954655219845012e+01 -1.956530211609402e+01 + -1.958406695128608e+01 -1.960284668959667e+01 -1.962164135493148e+01 -1.964045097168231e+01 -1.965927552785040e+01 + -1.967811500826448e+01 -1.969696942145404e+01 -1.971583878200212e+01 -1.973472310500559e+01 -1.975362239928199e+01 + -1.977253664801789e+01 -1.979146583743514e+01 -1.981040999152762e+01 -1.982936913462439e+01 -1.984834325462312e+01 + -1.986733233626431e+01 -1.988633638809098e+01 -1.990535542475069e+01 -1.992438946150660e+01 -1.994343850724086e+01 + -1.996250254469571e+01 -1.998158155988759e+01 -2.000067557806942e+01 -2.001978462401460e+01 -2.003890868134189e+01 + -2.005804773353269e+01 -2.007720180467363e+01 -2.009637091866160e+01 -2.011555505802958e+01 -2.013475420367532e+01 + -2.015396837131929e+01 -2.017319758216888e+01 -2.019244184455664e+01 -2.021170116029698e+01 -2.023097551800653e+01 + -2.025026491057744e+01 -2.026956936120177e+01 -2.028888889127859e+01 -2.030822348473533e+01 -2.032757312336421e+01 + -2.034693781788847e+01 -2.036631758558183e+01 -2.038571244098909e+01 -2.040512239225047e+01 -2.042454742461679e+01 + -2.044398752597867e+01 -2.046344271767523e+01 -2.048291302072143e+01 -2.050239842138679e+01 -2.052189890581644e+01 + -2.054141449440303e+01 -2.056094520839277e+01 -2.058049103819856e+01 -2.060005197091200e+01 -2.061962801117254e+01 + -2.063921916971323e+01 -2.065882546409381e+01 -2.067844690614864e+01 -2.069808347798381e+01 -2.071773516441981e+01 + -2.073740199086278e+01 -2.075708398272239e+01 -2.077678112483692e+01 -2.079649339928443e+01 -2.081622081767353e+01 + -2.083596339752241e+01 -2.085572115045732e+01 -2.087549408142252e+01 -2.089528217452614e+01 -2.091508541798258e+01 + -2.093490383726751e+01 -2.095473745703866e+01 -2.097458626142068e+01 -2.099445023367205e+01 -2.101432939411960e+01 + -2.103422376365449e+01 -2.105413332835716e+01 -2.107405807288499e+01 -2.109399801101360e+01 -2.111395316146354e+01 + -2.113392353361706e+01 -2.115390913036233e+01 -2.117390993794961e+01 -2.119392594678185e+01 -2.121395718051052e+01 + -2.123400366165125e+01 -2.125406537492771e+01 -2.127414230292253e+01 -2.129423445744600e+01 -2.131434185603574e+01 + -2.133446450991120e+01 -2.135460242400538e+01 -2.137475558442359e+01 -2.139492398094176e+01 -2.141510763684612e+01 + -2.143530657354728e+01 -2.145552077144329e+01 -2.147575021223202e+01 -2.149599492382317e+01 -2.151625493458459e+01 + -2.153653022850520e+01 -2.155682078515937e+01 -2.157712661084235e+01 -2.159744772002078e+01 -2.161778413312624e+01 + -2.163813586321833e+01 -2.165850288790379e+01 -2.167888518769065e+01 -2.169928279014487e+01 -2.171969572392566e+01 + -2.174012397500749e+01 -2.176056752455845e+01 -2.178102637720577e+01 -2.180150054539059e+01 -2.182199004935065e+01 + -2.184249490264348e+01 -2.186301508430896e+01 -2.188355057625899e+01 -2.190410140641098e+01 -2.192466760199104e+01 + -2.194524914145450e+01 -2.196584600311797e+01 -2.198645821351363e+01 -2.200708580045210e+01 -2.202772874864248e+01 + -2.204838703903658e+01 -2.206906068065864e+01 -2.208974968965916e+01 -2.211045408262128e+01 -2.213117386881762e+01 + -2.215190902784613e+01 -2.217265954271720e+01 -2.219342543976576e+01 -2.221420674565993e+01 -2.223500344507609e+01 + -2.225581551916326e+01 -2.227664297695268e+01 -2.229748583458740e+01 -2.231834410877561e+01 -2.233921780886325e+01 + -2.236010691418214e+01 -2.238101140757746e+01 -2.240193131596196e+01 -2.242286666626994e+01 -2.244381744145418e+01 + -2.246478362333585e+01 -2.248576523319086e+01 -2.250676229308250e+01 -2.252777478876882e+01 -2.254880270395783e+01 + -2.256984605046237e+01 -2.259090484578745e+01 -2.261197910210208e+01 -2.263306882483333e+01 -2.265417399777652e+01 + -2.267529460825966e+01 -2.269643067937303e+01 -2.271758223358744e+01 -2.273874925513337e+01 -2.275993172840441e+01 + -2.278112967668665e+01 -2.280234312326570e+01 -2.282357205253301e+01 -2.284481644618636e+01 -2.286607631404299e+01 + -2.288735167241803e+01 -2.290864253549898e+01 -2.292994891082159e+01 -2.295127078144212e+01 -2.297260813386354e+01 + -2.299396099285480e+01 -2.301532938287575e+01 -2.303671328888409e+01 -2.305811269234469e+01 -2.307952760025338e+01 + -2.310095802706863e+01 -2.312240399156859e+01 -2.314386550544134e+01 -2.316534254769484e+01 -2.318683510020089e+01 + -2.320834318896662e+01 -2.322986684000025e+01 -2.325140603517923e+01 -2.327296075598023e+01 -2.329453102640753e+01 + -2.331611687084991e+01 -2.333771827270656e+01 -2.335933521295700e+01 -2.338096770389138e+01 -2.340261576396985e+01 + -2.342427940502197e+01 -2.344595863230511e+01 -2.346765343141823e+01 -2.348936379112492e+01 -2.351108973250527e+01 + -2.353283127622654e+01 -2.355458840898814e+01 -2.357636111469370e+01 -2.359814940003157e+01 -2.361995327887107e+01 + -2.364177277102066e+01 -2.366360788867084e+01 -2.368545860760097e+01 -2.370732490730504e+01 -2.372920681854641e+01 + -2.375110437181196e+01 -2.377301754521346e+01 -2.379494631547129e+01 -2.381689070611525e+01 -2.383885074279985e+01 + -2.386082641286912e+01 -2.388281770027697e+01 -2.390482461372720e+01 -2.392684716763744e+01 -2.394888537453080e+01 + -2.397093924094647e+01 -2.399300875138237e+01 -2.401509389381072e+01 -2.403719469214220e+01 -2.405931116939521e+01 + -2.408144330908079e+01 -2.410359109227195e+01 -2.412575452979684e+01 -2.414793363861520e+01 -2.417012843045825e+01 + -2.419233891107258e+01 -2.421456506749473e+01 -2.423680688969797e+01 -2.425906439811232e+01 -2.428133761196757e+01 + -2.430362651523593e+01 -2.432593109247103e+01 -2.434825136580965e+01 -2.437058735754595e+01 -2.439293905302052e+01 + -2.441530643508021e+01 -2.443768951355032e+01 -2.446008830475372e+01 -2.448250282402539e+01 -2.450493307947941e+01 + -2.452737905133441e+01 -2.454984072340254e+01 -2.457231812176549e+01 -2.459481127247106e+01 -2.461732015916192e+01 + -2.463984476198997e+01 -2.466238508954903e+01 -2.468494115731883e+01 -2.470751297988127e+01 -2.473010056541401e+01 + -2.475270389737600e+01 -2.477532296279144e+01 -2.479795778766421e+01 -2.482060839605179e+01 -2.484327476524651e+01 + -2.486595687297807e+01 -2.488865474549064e+01 -2.491136841050829e+01 -2.493409785316058e+01 -2.495684305468689e+01 + -2.497960402336061e+01 -2.500238077436705e+01 -2.502517332350563e+01 -2.504798167938967e+01 -2.507080582127416e+01 + -2.509364573240812e+01 -2.511650144137505e+01 -2.513937297643642e+01 -2.516226031923135e+01 -2.518516344740990e+01 + -2.520808236928804e+01 -2.523101710100030e+01 -2.525396765928963e+01 -2.527693405405919e+01 -2.529991626724470e+01 + -2.532291428361040e+01 -2.534592812720204e+01 -2.536895782110043e+01 -2.539200334524508e+01 -2.541506468057373e+01 + -2.543814185515816e+01 -2.546123489657537e+01 -2.548434378328921e+01 -2.550746849096137e+01 -2.553060903315797e+01 + -2.555376543163097e+01 -2.557693770297151e+01 -2.560012585444837e+01 -2.562332986120158e+01 -2.564654970308929e+01 + -2.566978541097076e+01 -2.569303701597250e+01 -2.571630449928904e+01 -2.573958783754457e+01 -2.576288703901380e+01 + -2.578620212017663e+01 -2.580953309868325e+01 -2.583287998467666e+01 -2.585624275710073e+01 -2.587962139846310e+01 + -2.590301593672573e+01 -2.592642639921134e+01 -2.594985276523152e+01 -2.597329501305775e+01 -2.599675316481207e+01 + -2.602022724494944e+01 -2.604371724340627e+01 -2.606722314554395e+01 -2.609074495294231e+01 -2.611428267453130e+01 + -2.613783633242288e+01 -2.616140594232113e+01 -2.618499148111656e+01 -2.620859292804694e+01 -2.623221031055255e+01 + -2.625584365675950e+01 -2.627949294933480e+01 -2.630315816707157e+01 -2.632683931872623e+01 -2.635053642045652e+01 + -2.637424948806206e+01 -2.639797853015353e+01 -2.642172352694394e+01 -2.644548446269175e+01 -2.646926136623515e+01 + -2.649305426487780e+01 -2.651686313520573e+01 -2.654068795336410e+01 -2.656452874445229e+01 -2.658838553565089e+01 + -2.661225831351167e+01 -2.663614706041860e+01 -2.666005178271351e+01 -2.668397249386109e+01 -2.670790921185966e+01 + -2.673186194785124e+01 -2.675583068101895e+01 -2.677981539336416e+01 -2.680381611012034e+01 -2.682783285712106e+01 + -2.685186561936856e+01 -2.687591437786270e+01 -2.689997913842517e+01 -2.692405991477839e+01 -2.694815672742597e+01 + -2.697226958936361e+01 -2.699639847677425e+01 -2.702054336911223e+01 -2.704470429573021e+01 -2.706888128546201e+01 + -2.709307431516761e+01 -2.711728336172764e+01 -2.714150845407871e+01 -2.716574962162754e+01 -2.719000684360529e+01 + -2.721428009605862e+01 -2.723856939247152e+01 -2.726287475352885e+01 -2.728719619128178e+01 -2.731153370993099e+01 + -2.733588729090867e+01 -2.736025692081293e+01 -2.738464262967399e+01 -2.740904444482641e+01 -2.743346233939021e+01 + -2.745789628706843e+01 -2.748234631811058e+01 -2.750681246441337e+01 -2.753129470791622e+01 -2.755579302585287e+01 + -2.758030742659158e+01 -2.760483792680023e+01 -2.762938454521084e+01 -2.765394729250735e+01 -2.767852614511706e+01 + -2.770312108289846e+01 -2.772773213369129e+01 -2.775235932608502e+01 -2.777700264368704e+01 -2.780166206614083e+01 + -2.782633760221619e+01 -2.785102926812099e+01 -2.787573708068912e+01 -2.790046104903706e+01 -2.792520115078565e+01 + -2.794995736764946e+01 -2.797472972921345e+01 -2.799951826412358e+01 -2.802432294939970e+01 -2.804914376169005e+01 + -2.807398072778233e+01 -2.809883387567351e+01 -2.812370318805837e+01 -2.814858864438241e+01 -2.817349025639583e+01 + -2.819840804241009e+01 -2.822334201467696e+01 -2.824829217820057e+01 -2.827325851505399e+01 -2.829824101147483e+01 + -2.832323969328987e+01 -2.834825458594292e+01 -2.837328567375688e+01 -2.839833293713809e+01 -2.842339638194745e+01 + -2.844847602232610e+01 -2.847357188008160e+01 -2.849868396869187e+01 -2.852381226064981e+01 -2.854895673259501e+01 + -2.857411741873861e+01 -2.859929435285462e+01 -2.862448750939692e+01 -2.864969686163745e+01 -2.867492243744038e+01 + -2.870016426611871e+01 -2.872542232818885e+01 -2.875069660076976e+01 -2.877598709618692e+01 -2.880129383482867e+01 + -2.882661683412842e+01 -2.885195610246809e+01 -2.887731161497835e+01 -2.890268335136361e+01 -2.892807134287440e+01 + -2.895347562064698e+01 -2.897889616381469e+01 -2.900433294736006e+01 -2.902978598166526e+01 -2.905525528595928e+01 + -2.908074087945912e+01 -2.910624277257485e+01 -2.913176094050105e+01 -2.915729536236611e+01 -2.918284606824940e+01 + -2.920841308797334e+01 -2.923399639938179e+01 -2.925959597987842e+01 -2.928521185708459e+01 -2.931084405942344e+01 + -2.933649256830759e+01 -2.936215736109871e+01 -2.938783844596477e+01 -2.941353583979598e+01 -2.943924956356517e+01 + -2.946497963001566e+01 -2.949072601489006e+01 -2.951648869675137e+01 -2.954226770244480e+01 -2.956806305999476e+01 + -2.959387475386040e+01 -2.961970276467950e+01 -2.964554710136948e+01 -2.967140778023144e+01 -2.969728481882160e+01 + -2.972317822671904e+01 -2.974908798033929e+01 -2.977501406036931e+01 -2.980095649774566e+01 -2.982691532231985e+01 + -2.985289050935425e+01 -2.987888203414534e+01 -2.990488992671488e+01 -2.993091421806754e+01 -2.995695488841446e+01 + -2.998301191396682e+01 -3.000908530572931e+01 -3.003517508294127e+01 -3.006128126298706e+01 -3.008740385472813e+01 + -3.011354283478899e+01 -3.013969818396866e+01 -3.016586993200092e+01 -3.019205810852835e+01 -3.021826269389396e+01 + -3.024448366459688e+01 -3.027072103106001e+01 -3.029697481234801e+01 -3.032324502816885e+01 -3.034953168930138e+01 + -3.037583477016444e+01 -3.040215424919064e+01 -3.042849015722735e+01 -3.045484252487287e+01 -3.048121132931426e+01 + -3.050759654718701e+01 -3.053399820633122e+01 -3.056041633582694e+01 -3.058685091850949e+01 -3.061330193277164e+01 + -3.063976938548045e+01 -3.066625329189824e+01 -3.069275367239408e+01 -3.071927054017274e+01 -3.074580387467516e+01 + -3.077235365736276e+01 -3.079891991154272e+01 -3.082550266154129e+01 -3.085210189391538e+01 -3.087871759159065e+01 + -3.090534976073683e+01 -3.093199841535169e+01 -3.095866357750086e+01 -3.098534526117247e+01 -3.101204343997652e+01 + -3.103875809113482e+01 -3.106548924669440e+01 -3.109223693806243e+01 -3.111900113926174e+01 -3.114578182447812e+01 + -3.117257902593346e+01 -3.119939277712214e+01 -3.122622305859262e+01 -3.125306984560579e+01 -3.127993314521812e+01 + -3.130681297362548e+01 -3.133370935178603e+01 -3.136062229292185e+01 -3.138755177454848e+01 -3.141449777743489e+01 + -3.144146033107010e+01 -3.146843946420585e+01 -3.149543515392452e+01 -3.152244737446985e+01 -3.154947614039987e+01 + -3.157652147508332e+01 -3.160358339681746e+01 -3.163066191390917e+01 -3.165775699977537e+01 -3.168486863280270e+01 + -3.171199684614663e+01 -3.173914167265754e+01 -3.176630308919665e+01 -3.179348107134120e+01 -3.182067564552154e+01 + -3.184788683989369e+01 -3.187511463866380e+01 -3.190235902163426e+01 -3.192961999494226e+01 -3.195689757352222e+01 + -3.198419178116283e+01 -3.201150263346307e+01 -3.203883010440887e+01 -3.206617417058478e+01 -3.209353486058297e+01 + -3.212091220418486e+01 -3.214830618392138e+01 -3.217571677868305e+01 -3.220314400004898e+01 -3.223058786708538e+01 + -3.225804839611857e+01 -3.228552559489243e+01 -3.231301943956095e+01 -3.234052991162765e+01 -3.236805704558397e+01 + -3.239560087404328e+01 -3.242316136911894e+01 -3.245073850255218e+01 -3.247833230509534e+01 -3.250594280965240e+01 + -3.253356999872297e+01 -3.256121385028732e+01 -3.258887437465276e+01 -3.261655158960600e+01 -3.264424551052439e+01 + -3.267195614529539e+01 -3.269968347425627e+01 -3.272742748229857e+01 -3.275518820008119e+01 -3.278296565603427e+01 + -3.281075982390590e+01 -3.283857067801981e+01 -3.286639824968410e+01 -3.289424257141810e+01 -3.292210362360176e+01 + -3.294998138240963e+01 -3.297787585933321e+01 -3.300578707421773e+01 -3.303371504500630e+01 -3.306165978102434e+01 + -3.308962125902853e+01 -3.311759946003357e+01 -3.314559441465483e+01 -3.317360615365304e+01 -3.320163465877013e+01 + -3.322967990687330e+01 -3.325774190434956e+01 -3.328582066713852e+01 -3.331391621987054e+01 -3.334202857831301e+01 + -3.337015771409062e+01 -3.339830360273710e+01 -3.342646627956469e+01 -3.345464577921614e+01 -3.348284207387808e+01 + -3.351105513572078e+01 -3.353928499930519e+01 -3.356753169996216e+01 -3.359579521371194e+01 -3.362407551222610e+01 + -3.365237260909204e+01 -3.368068652715969e+01 -3.370901728441355e+01 -3.373736488954338e+01 -3.376572931892538e+01 + -3.379411055342771e+01 -3.382250862419983e+01 -3.385092356238306e+01 -3.387935534880526e+01 -3.390780395979943e+01 + -3.393626940403256e+01 -3.396475169950308e+01 -3.399325086920118e+01 -3.402176692682492e+01 -3.405029984391190e+01 + -3.407884959628061e+01 -3.410741621903333e+01 -3.413599974690003e+01 -3.416460015383780e+01 -3.419321741347679e+01 + -3.422185155891206e+01 -3.425050262370409e+01 -3.427917058381036e+01 -3.430785541111823e+01 -3.433655711883738e+01 + -3.436527572977491e+01 -3.439401126380553e+01 -3.442276373145798e+01 -3.445153310880944e+01 -3.448031937598221e+01 + -3.450912256373026e+01 -3.453794270224409e+01 -3.456677976882821e+01 -3.459563373771100e+01 -3.462450462370172e+01 + -3.465339245071625e+01 -3.468229723851619e+01 -3.471121899611902e+01 -3.474015769371995e+01 -3.476911330776019e+01 + -3.479808587848705e+01 -3.482707544447295e+01 -3.485608197378501e+01 -3.488510543365825e+01 -3.491414585850467e+01 + -3.494320328527482e+01 -3.497227769389696e+01 -3.500136905869145e+01 -3.503047738856913e+01 -3.505960270226024e+01 + -3.508874502318216e+01 -3.511790436512474e+01 -3.514708069868058e+01 -3.517627399907308e+01 -3.520548430324607e+01 + -3.523471164812467e+01 -3.526395600883895e+01 -3.529321735592740e+01 -3.532249570335686e+01 -3.535179107461137e+01 + -3.538110348781549e+01 -3.541043295179184e+01 -3.543977944351469e+01 -3.546914294470585e+01 -3.549852348792567e+01 + -3.552792110371767e+01 -3.555733576371960e+01 -3.558676744035331e+01 -3.561621616808287e+01 -3.564568198278825e+01 + -3.567516486397158e+01 -3.570466478590109e+01 -3.573418175828719e+01 -3.576371580017962e+01 -3.579326693254331e+01 + -3.582283516733191e+01 -3.585242047853867e+01 -3.588202284498269e+01 -3.591164230274704e+01 -3.594127888660625e+01 + -3.597093256883734e+01 -3.600060331833949e+01 -3.603029115299790e+01 -3.605999610029281e+01 -3.608971817709886e+01 + -3.611945738978410e+01 -3.614921371329605e+01 -3.617898712799953e+01 -3.620877766734910e+01 -3.623858536391516e+01 + -3.626841019364145e+01 -3.629825213180558e+01 -3.632811120764664e+01 -3.635798745148868e+01 -3.638788084403422e+01 + -3.641779136227628e+01 -3.644771901799147e+01 -3.647766383142195e+01 -3.650762582188893e+01 -3.653760499949427e+01 + -3.656760133838370e+01 -3.659761481766282e+01 -3.662764547223315e+01 -3.665769333671685e+01 -3.668775838882340e+01 + -3.671784060113342e+01 -3.674793998262476e+01 -3.677805655273779e+01 -3.680819033636626e+01 -3.683834134900049e+01 + -3.686850956306390e+01 -3.689869495454472e+01 -3.692889755675729e+01 -3.695911740229619e+01 -3.698935446355054e+01 + -3.701960871343802e+01 -3.704988018719579e+01 -3.708016892120266e+01 -3.711047489408478e+01 -3.714079807933708e+01 + -3.717113848768184e+01 -3.720149613882988e+01 -3.723187105121882e+01 -3.726226323497034e+01 -3.729267266821555e+01 + -3.732309933333587e+01 -3.735354326170426e+01 -3.738400448395760e+01 -3.741448297879693e+01 -3.744497872108128e+01 + -3.747549172223736e+01 -3.750602200310610e+01 -3.753656958561755e+01 -3.756713448177913e+01 -3.759771666281819e+01 + -3.762831610507856e+01 -3.765893284615005e+01 -3.768956692232328e+01 -3.772021830344675e+01 -3.775088695941269e+01 + -3.778157292673024e+01 -3.781227624306894e+01 -3.784299688412320e+01 -3.787373482086582e+01 -3.790449006735824e+01 + -3.793526264738479e+01 -3.796605258053289e+01 -3.799685987630166e+01 -3.802768450803411e+01 -3.805852645435349e+01 + -3.808938575116029e+01 -3.812026243387959e+01 -3.815115647875793e+01 -3.818206785737669e+01 -3.821299658183555e+01 + -3.824394267407146e+01 -3.827490615485264e+01 -3.830588703573063e+01 -3.833688529255877e+01 -3.836790090523419e+01 + -3.839893390552727e+01 -3.842998432385276e+01 -3.846105213333004e+01 -3.849213730842061e+01 -3.852323988624988e+01 + -3.855435990371658e+01 -3.858549733414936e+01 -3.861665214665468e+01 -3.864782435702053e+01 -3.867901399128823e+01 + -3.871022106983104e+01 -3.874144560188923e+01 -3.877268755783931e+01 -3.880394691415978e+01 -3.883522371060106e+01 + -3.886651798555487e+01 -3.889782970870629e+01 -3.892915884903668e+01 -3.896050544141922e+01 -3.899186952243698e+01 + -3.902325106962145e+01 -3.905465005558139e+01 -3.908606649228560e+01 -3.911750040150871e+01 -3.914895180488885e+01 + -3.918042071436301e+01 -3.921190710320024e+01 -3.924341094905042e+01 -3.927493228575462e+01 -3.930647114756201e+01 + -3.933802751416320e+01 -3.936960136044893e+01 -3.940119269666864e+01 -3.943280154239230e+01 -3.946442791911308e+01 + -3.949607183932866e+01 -3.952773327763106e+01 -3.955941221301939e+01 -3.959110868002649e+01 -3.962282271157864e+01 + -3.965455427864192e+01 -3.968630335291520e+01 -3.971806997098832e+01 -3.974985417066340e+01 -3.978165592970123e+01 + -3.981347522024374e+01 -3.984531205199855e+01 -3.987716644515135e+01 -3.990903842423468e+01 -3.994092800366619e+01 + -3.997283515305731e+01 -4.000475984705376e+01 -4.003670212524431e+01 -4.006866202678586e+01 -4.010063952416471e+01 + -4.013263458527370e+01 -4.016464722630246e+01 -4.019667747391531e+01 -4.022872534837892e+01 -4.026079085897078e+01 + -4.029287397740929e+01 -4.032497468131004e+01 -4.035709300943645e+01 -4.038922899883853e+01 -4.042138261856475e+01 + -4.045355383733334e+01 -4.048574269054266e+01 -4.051794921541258e+01 -4.055017338976896e+01 -4.058241518694505e+01 + -4.061467462169752e+01 -4.064695171778673e+01 -4.067924649356458e+01 -4.071155895737036e+01 -4.074388908290122e+01 + -4.077623684962312e+01 -4.080860229471885e+01 -4.084098545450960e+01 -4.087338630415373e+01 -4.090580481395003e+01 + -4.093824099592192e+01 -4.097069487270115e+01 -4.100316646762842e+01 -4.103565579436854e+01 -4.106816282717386e+01 + -4.110068754422534e+01 -4.113322997883087e+01 -4.116579016300655e+01 -4.119836806847471e+01 -4.123096366815907e+01 + -4.126357700008218e+01 -4.129620810254014e+01 -4.132885694982463e+01 -4.136152351139461e+01 -4.139420780138244e+01 + -4.142690984447184e+01 -4.145962966287846e+01 -4.149236726828771e+01 -4.152512263273182e+01 -4.155789573295193e+01 + -4.159068660417814e+01 -4.162349528189675e+01 -4.165632174413023e+01 -4.168916596438000e+01 -4.172202795552684e+01 + -4.175490773972726e+01 -4.178780533686147e+01 -4.182072075745918e+01 -4.185365397692470e+01 -4.188660497553830e+01 + -4.191957378820953e+01 -4.195256044830271e+01 -4.198556492837179e+01 -4.201858720098863e+01 -4.205162729960676e+01 + -4.208468525919077e+01 -4.211776105986812e+01 -4.215085467691669e+01 -4.218396612105321e+01 -4.221709541226407e+01 + -4.225024257217616e+01 -4.228340761361360e+01 -4.231659051254899e+01 -4.234979124870078e+01 -4.238300985362200e+01 + -4.241624635885866e+01 -4.244950074409413e+01 -4.248277298525672e+01 -4.251606309511715e+01 -4.254937109530931e+01 + -4.258269700607782e+01 -4.261604083828603e+01 -4.264940256666174e+01 -4.268278217100897e+01 -4.271617968757233e+01 + -4.274959515039267e+01 -4.278302852825576e+01 -4.281647979114838e+01 -4.284994897911630e+01 -4.288343613339240e+01 + -4.291694122989936e+01 -4.295046423857267e+01 -4.298400517070971e+01 -4.301756404788966e+01 -4.305114089145757e+01 + -4.308473571388112e+01 -4.311834849235274e+01 -4.315197920801049e+01 -4.318562789305037e+01 -4.321929457904871e+01 + -4.325297924404543e+01 -4.328668186207582e+01 -4.332040244469275e+01 -4.335414101381126e+01 -4.338789759527743e+01 + -4.342167220389723e+01 -4.345546480638487e+01 -4.348927537558045e+01 -4.352310395691921e+01 -4.355695059370569e+01 + -4.359081524812669e+01 -4.362469788222823e+01 -4.365859853861065e+01 -4.369251726260594e+01 -4.372645402991838e+01 + -4.376040880917880e+01 -4.379438161035186e+01 -4.382837245512241e+01 -4.386238137072252e+01 -4.389640837367813e+01 + -4.393045343214298e+01 -4.396451651875527e+01 -4.399859767246311e+01 -4.403269693263155e+01 -4.406681427398399e+01 + -4.410094966630350e+01 -4.413510312425358e+01 -4.416927467295284e+01 -4.420346433446015e+01 -4.423767212069691e+01 + -4.427189800609401e+01 -4.430614196966567e+01 -4.434040404624994e+01 -4.437468426893484e+01 -4.440898260798443e+01 + -4.444329903479183e+01 -4.447763358808973e+01 -4.451198630763288e+01 -4.454635716992501e+01 -4.458074614621454e+01 + -4.461515324997958e+01 -4.464957850449220e+01 -4.468402192997090e+01 -4.471848353715485e+01 -4.475296330191956e+01 + -4.478746120505344e+01 -4.482197728186011e+01 -4.485651156648301e+01 -4.489106403390974e+01 -4.492563465506775e+01 + -4.496022344379944e+01 -4.499483042484561e+01 -4.502945562362576e+01 -4.506409905435962e+01 -4.509876068578905e+01 + -4.513344049220396e+01 -4.516813851556444e+01 -4.520285479589762e+01 -4.523758929782897e+01 -4.527234198687941e+01 + -4.530711290755342e+01 -4.534190210524451e+01 -4.537670954991925e+01 -4.541153520580425e+01 -4.544637908959269e+01 + -4.548124122972980e+01 -4.551612164920255e+01 -4.555102035951307e+01 -4.558593733168242e+01 -4.562087254236648e+01 + -4.565582603124118e+01 -4.569079783605451e+01 -4.572578792382265e+01 -4.576079626235065e+01 -4.579582289333027e+01 + -4.583086785976433e+01 -4.586593113601344e+01 -4.590101269036680e+01 -4.593611253546989e+01 -4.597123069530716e+01 + -4.600636719486254e+01 -4.604152204856955e+01 -4.607669522766013e+01 -4.611188670797630e+01 -4.614709652700154e+01 + -4.618232472227299e+01 -4.621757126990104e+01 -4.625283614113306e+01 -4.628811934919114e+01 -4.632342091751210e+01 + -4.635874086841728e+01 -4.639407921460932e+01 -4.642943593143147e+01 -4.646481099859044e+01 -4.650020445060623e+01 + -4.653561632090474e+01 -4.657104658372261e+01 -4.660649521327068e+01 -4.664196224284595e+01 -4.667744770698098e+01 + -4.671295158606459e+01 -4.674847385553061e+01 -4.678401452513644e+01 -4.681957361522331e+01 -4.685515115414413e+01 + -4.689074715945064e+01 -4.692636159747788e+01 -4.696199443933372e+01 -4.699764572643400e+01 -4.703331550121288e+01 + -4.706900373987032e+01 -4.710471041222129e+01 -4.714043552877479e+01 -4.717617911151273e+01 -4.721194118761495e+01 + -4.724772177397794e+01 -4.728352084116666e+01 -4.731933836391387e+01 -4.735517437995513e+01 -4.739102892624472e+01 + -4.742690197360956e+01 -4.746279349304486e+01 -4.749870352234630e+01 -4.753463210070628e+01 -4.757057920610364e+01 + -4.760654481072343e+01 -4.764252892478859e+01 -4.767853156968457e+01 -4.771455277340900e+01 -4.775059255327958e+01 + -4.778665087728216e+01 -4.782272771801416e+01 -4.785882311585065e+01 -4.789493711157514e+01 -4.793106967982698e+01 + -4.796722079021173e+01 -4.800339045834357e+01 -4.803957871014897e+01 -4.807578556679541e+01 -4.811201103905631e+01 + -4.814825510088780e+01 -4.818451773166895e+01 -4.822079896928767e+01 -4.825709884980719e+01 -4.829341734348342e+01 + -4.832975442115909e+01 -4.836611012183125e+01 -4.840248448526336e+01 -4.843887748613056e+01 -4.847528909416636e+01 + -4.851171932442625e+01 -4.854816820273300e+01 -4.858463575265701e+01 -4.862112198691646e+01 -4.865762687707282e+01 + -4.869415040003414e+01 -4.873069259525141e+01 -4.876725350118260e+01 -4.880383308977095e+01 -4.884043132904604e+01 + -4.887704823789731e+01 -4.891368384608068e+01 -4.895033817595851e+01 -4.898701123776245e+01 -4.902370300059485e+01 + -4.906041344002308e+01 -4.909714259860375e+01 -4.913389051725400e+01 -4.917065716334413e+01 -4.920744250429804e+01 + -4.924424658130064e+01 -4.928106943700116e+01 -4.931791104614518e+01 -4.935477137752828e+01 -4.939165044404930e+01 + -4.942854827009338e+01 -4.946546488188807e+01 -4.950240029454247e+01 -4.953935447684974e+01 -4.957632740294361e+01 + -4.961331911463601e+01 -4.965032965315336e+01 -4.968735898970213e+01 -4.972440709120082e+01 -4.976147397743583e+01 + -4.979855967878247e+01 -4.983566421510402e+01 -4.987278759472007e+01 -4.990992979028766e+01 -4.994709078100569e+01 + -4.998427060790318e+01 -5.002146930959274e+01 -5.005868685319148e+01 -5.009592320640078e+01 -5.013317841075434e+01 + -5.017045250915469e+01 -5.020774547614742e+01 -5.024505728017924e+01 -5.028238793365752e+01 -5.031973746104961e+01 + -5.035710589110189e+01 -5.039449324090066e+01 -5.043189947661289e+01 -5.046932456973549e+01 -5.050676856400442e+01 + -5.054423150327239e+01 -5.058171335962052e+01 -5.061921409929316e+01 -5.065673373695915e+01 -5.069427229950105e+01 + -5.073182981423184e+01 -5.076940629607507e+01 -5.080700170996615e+01 -5.084461602753602e+01 -5.088224929718589e+01 + -5.091990156525010e+01 -5.095757279302548e+01 -5.099526294209112e+01 -5.103297206019221e+01 -5.107070019605169e+01 + -5.110844731613729e+01 -5.114621338143406e+01 -5.118399841325091e+01 -5.122180244526444e+01 -5.125962550029841e+01 + -5.129746758802490e+01 -5.133532867636215e+01 -5.137320874011100e+01 -5.141110782335645e+01 -5.144902596945006e+01 + -5.148696314952589e+01 -5.152491932947918e+01 -5.156289452646703e+01 -5.160088876945014e+01 -5.163890208334180e+01 + -5.167693448081514e+01 -5.171498592963017e+01 -5.175305640369855e+01 -5.179114594645165e+01 -5.182925460014935e+01 + -5.186738233284598e+01 -5.190552911234031e+01 -5.194369497961412e+01 -5.198187997663295e+01 -5.202008407611459e+01 + -5.205830724580739e+01 -5.209654950282933e+01 -5.213481087573764e+01 -5.217309138947744e+01 -5.221139105690054e+01 + -5.224970984609732e+01 -5.228804773087789e+01 -5.232640475269200e+01 -5.236478095346914e+01 -5.240317630941821e+01 + -5.244159079031952e+01 -5.248002440595931e+01 -5.251847717885386e+01 -5.255694914243367e+01 -5.259544031823210e+01 + -5.263395066927961e+01 -5.267248016335085e+01 -5.271102884570031e+01 -5.274959676081755e+01 -5.278818387265291e+01 + -5.282679014593192e+01 -5.286541562901994e+01 -5.290406037048660e+01 -5.294272433607927e+01 -5.298140748616263e+01 + -5.302010984239256e+01 -5.305883143892672e+01 -5.309757229863885e+01 -5.313633243133304e+01 -5.317511180581835e+01 + -5.321391039785607e+01 -5.325272825201081e+01 -5.329156541074357e+01 -5.333042183929739e+01 -5.336929750308754e+01 + -5.340819244543594e+01 -5.344710671111962e+01 -5.348604027282968e+01 -5.352499309722418e+01 -5.356396519891433e+01 + -5.360295660504364e+01 -5.364196734493171e+01 -5.368099743556814e+01 -5.372004684244607e+01 -5.375911553606044e+01 + -5.379820355840945e+01 -5.383731095277006e+01 -5.387643769603123e+01 -5.391558375867469e+01 -5.395474915194053e+01 + -5.399393389872404e+01 -5.403313802778240e+01 -5.407236155707715e+01 -5.411160445552515e+01 -5.415086669663323e+01 + -5.419014832131279e+01 -5.422944936941720e+01 -5.426876980916325e+01 -5.430810960961936e+01 -5.434746881489674e+01 + -5.438684746929877e+01 -5.442624554285502e+01 -5.446566300018413e+01 -5.450509985853421e+01 -5.454455614758906e+01 + -5.458403189414573e+01 -5.462352711279953e+01 -5.466304177222543e+01 -5.470257584656953e+01 -5.474212937778257e+01 + -5.478170240720980e+01 -5.482129490597043e+01 -5.486090684084346e+01 -5.490053823147309e+01 -5.494018910890276e+01 + -5.497985949690793e+01 -5.501954940653937e+01 -5.505925880521750e+01 -5.509898766755921e+01 -5.513873604059781e+01 + -5.517850396943321e+01 -5.521829141901578e+01 -5.525809835354192e+01 -5.529792481434151e+01 -5.533777084523449e+01 + -5.537763642286803e+01 -5.541752151714192e+01 -5.545742613813913e+01 -5.549735030880384e+01 -5.553729406334213e+01 + -5.557725742375872e+01 -5.561724035199087e+01 -5.565724281465346e+01 -5.569726485713910e+01 -5.573730652628086e+01 + -5.577736779589668e+01 -5.581744863307357e+01 -5.585754905099014e+01 -5.589766907536871e+01 -5.593780873601526e+01 + -5.597796805069111e+01 -5.601814698489535e+01 -5.605834550959182e+01 -5.609856366986563e+01 -5.613880151023810e+01 + -5.617905899885479e+01 -5.621933610311022e+01 -5.625963286377015e+01 -5.629994932270948e+01 -5.634028545286861e+01 + -5.638064122221132e+01 -5.642101664772899e+01 -5.646141175844968e+01 -5.650182658252075e+01 -5.654226113528433e+01 + -5.658271538174220e+01 -5.662318929319503e+01 -5.666368291647893e+01 -5.670419629786259e+01 -5.674472940580990e+01 + -5.678528220346420e+01 -5.682585471049146e+01 -5.686644695909487e+01 -5.690705897510426e+01 -5.694769077129006e+01 + -5.698834231455854e+01 -5.702901357847642e+01 -5.706970460911611e+01 -5.711041545084194e+01 -5.715114606868026e+01 + -5.719189642778805e+01 -5.723266657318249e+01 -5.727345655110785e+01 -5.731426633285666e+01 -5.735509588339112e+01 + -5.739594521730356e+01 -5.743681436264626e+01 -5.747770335168147e+01 -5.751861220364783e+01 -5.755954088147938e+01 + -5.760048935348805e+01 -5.764145766580183e+01 -5.768244586550730e+01 -5.772345392571002e+01 -5.776448181276131e+01 + -5.780552953997691e+01 -5.784659713354442e+01 -5.788768462417462e+01 -5.792879202998626e+01 -5.796991931420698e+01 + -5.801106644664837e+01 -5.805223347834903e+01 -5.809342045860209e+01 -5.813462734849197e+01 -5.817585410820936e+01 + -5.821710078257841e+01 -5.825836741928538e+01 -5.829965399283203e+01 -5.834096047087346e+01 -5.838228686686274e+01 + -5.842363320676851e+01 -5.846499952082397e+01 -5.850638582715609e+01 -5.854779209120221e+01 -5.858921828442874e+01 + -5.863066445510763e+01 -5.867213065032231e+01 -5.871361683559694e+01 -5.875512297138874e+01 -5.879664907944645e+01 + -5.883819519466417e+01 -5.887976134322624e+01 -5.892134753756825e+01 -5.896295374384051e+01 -5.900457993500612e+01 + -5.904622615756436e+01 -5.908789245663575e+01 -5.912957879828990e+01 -5.917128514850664e+01 -5.921301155195771e+01 + -5.925475805384439e+01 -5.929652462279476e+01 -5.933831122286624e+01 -5.938011787640643e+01 -5.942194461763230e+01 + -5.946379146994821e+01 -5.950565844408734e+01 -5.954754551091072e+01 -5.958945264733813e+01 -5.963137989439624e+01 + -5.967332729249499e+01 -5.971529481547052e+01 -5.975728243227523e+01 -5.979929015889982e+01 -5.984131802305070e+01 + -5.988336605225896e+01 -5.992543426246962e+01 -5.996752262345901e+01 -6.000963111046766e+01 -6.005175976676178e+01 + -6.009390863383608e+01 -6.013607767807394e+01 -6.017826686618813e+01 -6.022047624132026e+01 -6.026270584835797e+01 + -6.030495566274465e+01 -6.034722565381767e+01 -6.038951583593452e+01 -6.043182623512069e+01 -6.047415687905394e+01 + -6.051650778421003e+01 -6.055887892060463e+01 -6.060127026325783e+01 -6.064368185366749e+01 -6.068611373308907e+01 + -6.072856587533070e+01 -6.077103824887340e+01 -6.081353086833690e+01 -6.085604376132918e+01 -6.089857696127247e+01 + -6.094113048823596e+01 -6.098370430306234e+01 -6.102629837247437e+01 -6.106891274594116e+01 -6.111154747264118e+01 + -6.115420251784390e+01 -6.119687784580902e+01 -6.123957350066591e+01 -6.128228952841628e+01 -6.132502590268162e+01 + -6.136778259056138e+01 -6.141055960544676e+01 -6.145335697380811e+01 -6.149617472814099e+01 -6.153901288864162e+01 + -6.158187142028389e+01 -6.162475029314290e+01 -6.166764955292113e+01 -6.171056924466600e+01 -6.175350933517737e+01 + -6.179646979123154e+01 -6.183945065775757e+01 -6.188245198047678e+01 -6.192547373012725e+01 -6.196851587175868e+01 + -6.201157842265037e+01 -6.205466141333163e+01 -6.209776487510229e+01 -6.214088882566958e+01 -6.218403322759970e+01 + -6.222719804958889e+01 -6.227038333999444e+01 -6.231358914752139e+01 -6.235681544260558e+01 -6.240006218936849e+01 + -6.244332940494305e+01 -6.248661712010740e+01 -6.252992536720910e+01 -6.257325416420860e+01 -6.261660346994837e+01 + -6.265997325077347e+01 -6.270336356215701e+01 -6.274677445777788e+01 -6.279020589501037e+01 -6.283365783085999e+01 + -6.287713031716163e+01 -6.292062340781234e+01 -6.296413707012920e+01 -6.300767126475596e+01 -6.305122601222295e+01 + -6.309480134635203e+01 -6.313839729424505e+01 -6.318201386936521e+01 -6.322565103734121e+01 -6.326930877093868e+01 + -6.331298711930568e+01 -6.335668613058504e+01 -6.340040577251647e+01 -6.344414600718050e+01 -6.348790685442323e+01 + -6.353168834759008e+01 -6.357549051625812e+01 -6.361931337593239e+01 -6.366315688959789e+01 -6.370702102749119e+01 + -6.375090584137499e+01 -6.379481138078580e+01 -6.383873760482961e+01 -6.388268447297220e+01 -6.392665203654889e+01 + -6.397064034897519e+01 -6.401464938011861e+01 -6.405867909237229e+01 -6.410272950177993e+01 -6.414680063823367e+01 + -6.419089253336912e+01 -6.423500520539493e+01 -6.427913861706836e+01 -6.432329273774181e+01 -6.436746761859949e+01 + -6.441166331065573e+01 -6.445587978241413e+01 -6.450011699516882e+01 -6.454437496388719e+01 -6.458865371852110e+01 + -6.463295329528786e+01 -6.467727371608086e+01 -6.472161493923234e+01 -6.476597692945877e+01 -6.481035974057480e+01 + -6.485476342551981e+01 -6.489918794463497e+01 -6.494363325783405e+01 -6.498809941591921e+01 -6.503258647107099e+01 + -6.507709439009531e+01 -6.512162313341831e+01 -6.516617272132122e+01 -6.521074318787740e+01 -6.525533456247440e+01 + -6.529994686059398e+01 -6.534458004678092e+01 -6.538923409250538e+01 -6.543390904787570e+01 -6.547860496211884e+01 + -6.552332180229843e+01 -6.556805952953434e+01 -6.561281816333469e+01 -6.565759773746066e+01 -6.570239828429803e+01 + -6.574721982146080e+01 -6.579206230885156e+01 -6.583692571363754e+01 -6.588181008975629e+01 -6.592671548982709e+01 + -6.597164187442638e+01 -6.601658920334479e+01 -6.606155752527242e+01 -6.610654689090467e+01 -6.615155727005924e+01 + -6.619658862652422e+01 -6.624164098084657e+01 -6.628671436645676e+01 -6.633180881156068e+01 -6.637692433038681e+01 + -6.642206088647883e+01 -6.646721845110714e+01 -6.651239707713407e+01 -6.655759681603797e+01 -6.660281763216933e+01 + -6.664805948389387e+01 -6.669332239276561e+01 -6.673860639512726e+01 -6.678391152328841e+01 -6.682923779433044e+01 + -6.687458516845543e+01 -6.691995361277515e+01 -6.696534317891920e+01 -6.701075391795754e+01 -6.705618579420361e+01 + -6.710163877100581e+01 -6.714711289460833e+01 -6.719260821321966e+01 -6.723812470001026e+01 -6.728366232121398e+01 + -6.732922109035582e+01 -6.737480103488133e+01 -6.742040219062761e+01 -6.746602458035952e+01 -6.751166816616187e+01 + -6.755733291529161e+01 -6.760301887637438e+01 -6.764872609859751e+01 -6.769445455202660e+01 -6.774020420051386e+01 + -6.778597506217976e+01 -6.783176716876942e+01 -6.787758055225885e+01 -6.792341523092826e+01 -6.796927116804379e+01 + -6.801514833341810e+01 -6.806104677806347e+01 -6.810696655123587e+01 -6.815290761396663e+01 -6.819886992772128e+01 + -6.824485354392678e+01 -6.829085851532395e+01 -6.833688480994840e+01 -6.838293238885097e+01 -6.842900126984890e+01 + -6.847509148538957e+01 -6.852120306967514e+01 -6.856733604269469e+01 -6.861349036583006e+01 -6.865966600658993e+01 + -6.870586301559659e+01 -6.875208144399036e+01 -6.879832126187024e+01 -6.884458243234171e+01 -6.889086497157696e+01 + -6.893716890990422e+01 -6.898349428120915e+01 -6.902984110598732e+01 -6.907620934761650e+01 -6.912259897511596e+01 + -6.916901003718877e+01 -6.921544258172949e+01 -6.926189657371528e+01 -6.930837197817074e+01 -6.935486884322755e+01 + -6.940138721768092e+01 -6.944792706987337e+01 -6.949448836290087e+01 -6.954107111932564e+01 -6.958767537490402e+01 + -6.963430115870300e+01 -6.968094848498497e+01 -6.972761731548312e+01 -6.977430762020695e+01 -6.982101945480034e+01 + -6.986775287255249e+01 -6.991450783170005e+01 -6.996128429032680e+01 -7.000808230095708e+01 -7.005490191787665e+01 + -7.010174310797666e+01 -7.014860583121035e+01 -7.019549010717337e+01 -7.024239597049470e+01 -7.028932345629492e+01 + -7.033627258446040e+01 -7.038324331344937e+01 -7.043023560838913e+01 -7.047724952251053e+01 -7.052428510987777e+01 + -7.057134233978515e+01 -7.061842117397924e+01 -7.066552162878578e+01 -7.071264373512433e+01 -7.075978752771100e+01 + -7.080695302731498e+01 -7.085414019512091e+01 -7.090134899910394e+01 -7.094857949398551e+01 -7.099583173235354e+01 + -7.104310567151599e+01 -7.109040126922885e+01 -7.113771858031990e+01 -7.118505766125368e+01 -7.123241847797109e+01 + -7.127980098937178e+01 -7.132720521671429e+01 -7.137463119544236e+01 -7.142207895538176e+01 -7.146954851252747e+01 + -7.151703983316882e+01 -7.156455289009196e+01 -7.161208773177542e+01 -7.165964440570248e+01 -7.170722287968356e+01 + -7.175482311646741e+01 -7.180244513822917e+01 -7.185008898098621e+01 -7.189775467669884e+01 -7.194544224180910e+01 + -7.199315163474331e+01 -7.204088282234626e+01 -7.208863586315185e+01 -7.213641081375658e+01 -7.218420763131780e+01 + -7.223202627227879e+01 -7.227986678966526e+01 -7.232772923884254e+01 -7.237561358795277e+01 -7.242351979769759e+01 + -7.247144788623903e+01 -7.251939788668284e+01 -7.256736983444897e+01 -7.261536375015235e+01 -7.266337959287341e+01 + -7.271141732841731e+01 -7.275947701102203e+01 -7.280755869538000e+01 -7.285566234956853e+01 -7.290378793432680e+01 + -7.295193546765573e+01 -7.300010498266862e+01 -7.304829651566631e+01 -7.309651008753943e+01 -7.314474565435016e+01 + -7.319300317971540e+01 -7.324128272229925e+01 -7.328958433981238e+01 -7.333790799110540e+01 -7.338625363374130e+01 + -7.343462131899291e+01 -7.348301110053259e+01 -7.353142294792167e+01 -7.357985682361442e+01 -7.362831274574745e+01 + -7.367679074711965e+01 -7.372529086349638e+01 -7.377381311579366e+01 -7.382235746256312e+01 -7.387092386912651e+01 + -7.391951239025020e+01 -7.396812308115555e+01 -7.401675590943988e+01 -7.406541083531380e+01 -7.411408787706513e+01 + -7.416278706814910e+01 -7.421150844461324e+01 -7.426025202733783e+01 -7.430901777394124e+01 -7.435780564940528e+01 + -7.440661571142732e+01 -7.445544801616209e+01 -7.450430252087864e+01 -7.455317918285648e+01 -7.460207805830268e+01 + -7.465099920497126e+01 -7.469994258787753e+01 -7.474890816454140e+01 -7.479789595523943e+01 -7.484690599592756e+01 + -7.489593832252380e+01 -7.494499295533201e+01 -7.499406985223764e+01 -7.504316897827101e+01 -7.509229038945979e+01 + -7.514143414169166e+01 -7.519060019929748e+01 -7.523978851997632e+01 -7.528899912645726e+01 -7.533823205657275e+01 + -7.538748734353926e+01 -7.543676500532445e+01 -7.548606500351643e+01 -7.553538730703876e+01 -7.558473197053598e+01 + -7.563409904619321e+01 -7.568348849063742e+01 -7.573290026170078e+01 -7.578233441759443e+01 -7.583179101796470e+01 + -7.588127002782028e+01 -7.593077140392674e+01 -7.598029516471465e+01 -7.602984134475692e+01 -7.607940998153097e+01 + -7.612900109746634e+01 -7.617861465189691e+01 -7.622825061065345e+01 -7.627790902865043e+01 -7.632758996032740e+01 + -7.637729336914126e+01 -7.642701921265419e+01 -7.647676751583191e+01 -7.652653831849052e+01 -7.657633165244424e+01 + -7.662614753370475e+01 -7.667598592307560e+01 -7.672584678949215e+01 -7.677573018962489e+01 -7.682563617769370e+01 + -7.687556471038147e+01 -7.692551574474433e+01 -7.697548933686781e+01 -7.702548554509247e+01 -7.707550433774978e+01 + -7.712554567498073e+01 -7.717560957417300e+01 -7.722569606768573e+01 -7.727580519051753e+01 -7.732593696392289e+01 + -7.737609135154067e+01 -7.742626832278943e+01 -7.747646792782194e+01 -7.752669021677298e+01 -7.757693515897095e+01 + -7.762720271798948e+01 -7.767749291518889e+01 -7.772780578562232e+01 -7.777814136132783e+01 -7.782849965970544e+01 + -7.787888064261847e+01 -7.792928427988689e+01 -7.797971062869398e+01 -7.803015974345008e+01 -7.808063158011076e+01 + -7.813112609521906e+01 -7.818164334612277e+01 -7.823218339188995e+01 -7.828274619766600e+01 -7.833333172107952e+01 + -7.838393998361434e+01 -7.843457102192369e+01 -7.848522486948340e+01 -7.853590154498607e+01 -7.858660101116894e+01 + -7.863732323758104e+01 -7.868806827697425e+01 -7.873883618163512e+01 -7.878962691878654e+01 -7.884044044940295e+01 + -7.889127679452803e+01 -7.894213598992800e+01 -7.899301807018992e+01 -7.904392305456564e+01 -7.909485090214494e+01 + -7.914580158005610e+01 -7.919677514774288e+01 -7.924777166238927e+01 -7.929879107982515e+01 -7.934983335558289e+01 + -7.940089854535901e+01 -7.945198670709752e+01 -7.950309780756868e+01 -7.955423180605224e+01 -7.960538872303847e+01 + -7.965656859466247e+01 -7.970777145842827e+01 -7.975899733555858e+01 -7.981024618078136e+01 -7.986151795697417e+01 + -7.991281272610696e+01 -7.996413054847572e+01 -8.001547137858779e+01 -8.006683517069925e+01 -8.011822198384908e+01 + -8.016963187855384e+01 -8.022106481645797e+01 -8.027252075224854e+01 -8.032399971165485e+01 -8.037550173585385e+01 + -8.042702685677139e+01 -8.047857509055929e+01 -8.053014639952434e+01 -8.058174075328817e+01 -8.063335820457638e+01 + -8.068499880610621e+01 -8.073666252745771e+01 -8.078834933088126e+01 -8.084005923244513e+01 -8.089179226408041e+01 + -8.094354846735196e+01 -8.099532786819320e+01 -8.104713042037783e+01 -8.109895608507813e+01 -8.115080492521992e+01 + -8.120267700205356e+01 -8.125457226837462e+01 -8.130649067623317e+01 -8.135843228315183e+01 -8.141039715010918e+01 + -8.146238524643556e+01 -8.151439653208425e+01 -8.156643102114791e+01 -8.161848874447259e+01 -8.167056974577932e+01 + -8.172267405314662e+01 -8.177480161920819e+01 -8.182695240289546e+01 -8.187912646377457e+01 -8.193132386298609e+01 + -8.198354456733288e+01 -8.203578853472443e+01 -8.208805578183410e+01 -8.214034634197473e+01 -8.219266025625411e+01 + -8.224499755029157e+01 -8.229735817995817e+01 -8.234974210798764e+01 -8.240214939431286e+01 -8.245458009683706e+01 + -8.250703416814667e+01 -8.255951156203467e+01 -8.261201234243612e+01 -8.266453657428882e+01 -8.271708421639993e+01 + -8.276965521981012e+01 -8.282224961062391e+01 -8.287486743131451e+01 -8.292750871476633e+01 -8.298017347733835e+01 + -8.303286167887651e+01 -8.308557328775250e+01 -8.313830836295337e+01 -8.319106696215761e+01 -8.324384904719405e+01 + -8.329665457280116e+01 -8.334948356120523e+01 -8.340233605179664e+01 -8.345521208513452e+01 -8.350811168407860e+01 + -8.356103479952203e+01 -8.361398139085040e+01 -8.366695152338559e+01 -8.371994526125894e+01 -8.377296255790387e+01 + -8.382600336547402e+01 -8.387906774170159e+01 -8.393215574692768e+01 -8.398526734635097e+01 -8.403840249721476e+01 + -8.409156122008268e+01 -8.414474355213920e+01 -8.419794953373223e+01 -8.425117918830632e+01 -8.430443246852916e+01 + -8.435770933516140e+01 -8.441100985211256e+01 -8.446433408298962e+01 -8.451768198704093e+01 -8.457105351533237e+01 + -8.462444869055821e+01 -8.467786755329161e+01 -8.473131014399300e+01 -8.478477648534972e+01 -8.483826652906932e+01 + -8.489178023573824e+01 -8.494531767243778e+01 -8.499887890373510e+01 -8.505246387764603e+01 -8.510607254206460e+01 + -8.515970496094809e+01 -8.521336120130535e+01 -8.526704122628841e+01 -8.532074498941530e+01 -8.537447250952404e+01 + -8.542822382319736e+01 -8.548199897267675e+01 -8.553579798342942e+01 -8.558962080816578e+01 -8.564346740685433e+01 + -8.569733784125194e+01 -8.575123217367282e+01 -8.580515036687339e+01 -8.585909237532205e+01 -8.591305821989287e+01 + -8.596704793875205e+01 -8.602106157282915e+01 -8.607509914567974e+01 -8.612916060859980e+01 -8.618324592155754e+01 + -8.623735515146925e+01 -8.629148836331387e+01 -8.634564550737286e+01 -8.639982653295500e+01 -8.645403150017543e+01 + -8.650826047252751e+01 -8.656251341621210e+01 -8.661679028858919e+01 -8.667109110894766e+01 -8.672541591317201e+01 + -8.677976474159972e+01 -8.683413761829634e+01 -8.688853449778628e+01 -8.694295534179228e+01 -8.699740021037117e+01 + -8.705186916402354e+01 -8.710636216669133e+01 -8.716087917454270e+01 -8.721542020920894e+01 -8.726998530877070e+01 + -8.732457451164281e+01 -8.737918783967393e+01 -8.743382524811331e+01 -8.748848670054353e+01 -8.754317226047976e+01 + -8.759788198894785e+01 -8.765261583708421e+01 -8.770737375634857e+01 -8.776215580938322e+01 -8.781696206132678e+01 + -8.787179247612183e+01 -8.792664700860111e+01 -8.798152567835336e+01 -8.803642852212045e+01 -8.809135558050070e+01 + -8.814630687756171e+01 -8.820128236739042e+01 -8.825628201129771e+01 -8.831130586947003e+01 -8.836635400284558e+01 + -8.842142637649435e+01 -8.847652294770472e+01 -8.853164373850628e+01 -8.858678878695027e+01 -8.864195813043362e+01 + -8.869715178945941e+01 -8.875236971760948e+01 -8.880761187808301e+01 -8.886287833946902e+01 -8.891816916696094e+01 + -8.897348430677987e+01 -8.902882370531137e+01 -8.908418742857141e+01 -8.913957554536425e+01 -8.919498801601753e+01 + -8.925042479199006e+01 -8.930588589774098e+01 -8.936137137472512e+01 -8.941688125937962e+01 -8.947241557120560e+01 + -8.952797426697802e+01 -8.958355731201681e+01 -8.963916476854843e+01 -8.969479669732335e+01 -8.975045305628245e+01 + -8.980613379692392e+01 -8.986183894778455e+01 -8.991756855389235e+01 -8.997332264920152e+01 -9.002910125051302e+01 + -9.008490431708829e+01 -9.014073181666647e+01 -9.019658380843681e+01 -9.025246034941333e+01 -9.030836139645970e+01 + -9.036428690661128e+01 -9.042023693773967e+01 -9.047621154925669e+01 -9.053221070589892e+01 -9.058823436476921e+01 + -9.064428254711031e+01 -9.070035529106499e+01 -9.075645263823618e+01 -9.081257461289793e+01 -9.086872116654884e+01 + -9.092489225918972e+01 -9.098108795760594e+01 -9.103730832657459e+01 -9.109355331605536e+01 -9.114982287548730e+01 + -9.120611706704364e+01 -9.126243595579022e+01 -9.131877950563008e+01 -9.137514767186437e+01 -9.143154047654943e+01 + -9.148795795857168e+01 -9.154440015738282e+01 -9.160086709537343e+01 -9.165735872612346e+01 -9.171387501169491e+01 + -9.177041601688784e+01 -9.182698180564800e+01 -9.188357233576582e+01 -9.194018755741556e+01 -9.199682749646104e+01 + -9.205349219658670e+01 -9.211018169707003e+01 -9.216689601912306e+01 -9.222363511610273e+01 -9.228039895018067e+01 + -9.233718758664240e+01 -9.239400108840672e+01 -9.245083940581294e+01 -9.250770248979978e+01 -9.256459040628322e+01 + -9.262150322244982e+01 -9.267844089559186e+01 -9.273540337476760e+01 -9.279239068599267e+01 -9.284940287335907e+01 + -9.290643997630693e+01 -9.296350201607783e+01 -9.302058894577094e+01 -9.307770072730455e+01 -9.313483742601555e+01 + -9.319199910633068e+01 -9.324918572561810e+01 -9.330639723351504e+01 -9.336363365579297e+01 -9.342089503640302e+01 + -9.347818141588093e+01 -9.353549281584256e+01 -9.359282918563940e+01 -9.365019048477910e+01 -9.370757678565749e+01 + -9.376498815769901e+01 -9.382242454555492e+01 -9.387988589305337e+01 -9.393737226550313e+01 -9.399488373202897e+01 + -9.405242025553964e+01 -9.410998178945039e+01 -9.416756835541781e+01 -9.422517999301114e+01 -9.428281674520871e+01 + -9.434047863667399e+01 -9.439816561540189e+01 -9.445587763836596e+01 -9.451361477512259e+01 -9.457137709520302e+01 + -9.462916455545547e+01 -9.468697710379740e+01 -9.474481476510589e+01 -9.480267758244509e+01 -9.486056559466863e+01 + -9.491847882335075e+01 -9.497641722515867e+01 -9.503438076487508e+01 -9.509236950465109e+01 -9.515038350409563e+01 + -9.520842271528107e+01 -9.526648709103007e+01 -9.532457669470300e+01 -9.538269159175374e+01 -9.544083174547335e+01 + -9.549899710997526e+01 -9.555718770482461e+01 -9.561540356780063e+01 -9.567364474408794e+01 -9.573191126075703e+01 + -9.579020306501620e+01 -9.584852011272490e+01 -9.590686247420874e+01 -9.596523021978578e+01 -9.602362330527772e+01 + -9.608204167783254e+01 -9.614048536439948e+01 -9.619895441016116e+01 -9.625744885343293e+01 -9.631596871403326e+01 + -9.637451394466026e+01 -9.643308450797647e+01 -9.649168047362274e+01 -9.655030190767742e+01 -9.660894875499127e+01 + -9.666762096089710e+01 -9.672631859388268e+01 -9.678504172537357e+01 -9.684379031539257e+01 -9.690256431417546e+01 + -9.696136374421286e+01 -9.702018864639355e+01 -9.707903906294442e+01 -9.713791501832830e+01 -9.719681646461351e+01 + -9.725574336170810e+01 -9.731469577327378e+01 -9.737367376351882e+01 -9.743267729508464e+01 -9.749170632178308e+01 + -9.755076086367355e+01 -9.760984095895955e+01 -9.766894665217343e+01 -9.772807797034233e+01 -9.778723486414395e+01 + -9.784641729236439e+01 -9.790562532257231e+01 -9.796485902036660e+01 -9.802411833468516e+01 -9.808340321418262e+01 + -9.814271372304191e+01 -9.820204992860188e+01 -9.826141179529722e+01 -9.832079927766843e+01 -9.838021239358226e+01 + -9.843965117935535e+01 -9.849911568177785e+01 -9.855860593025675e+01 -9.861812187419362e+01 -9.867766347002308e+01 + -9.873723078231735e+01 -9.879682387670165e+01 -9.885644271487612e+01 -9.891608724974174e+01 -9.897575750292785e+01 + -9.903545351466867e+01 -9.909517533088989e+01 -9.915492297862031e+01 -9.921469640360959e+01 -9.927449556058966e+01 + -9.933432052149955e+01 -9.939417135686639e+01 -9.945404801436261e+01 -9.951395044077229e+01 -9.957387870218038e+01 + -9.963383286719130e+01 -9.969381289518709e+01 -9.975381873630593e+01 -9.981385041293248e+01 -9.987390796877466e+01 + -9.993399146058783e+01 -9.999410091983435e+01 -1.000542362637563e+02 -1.001143974249114e+02 -1.001745845113392e+02 + -1.002347976270743e+02 -1.002950366846517e+02 -1.003553015922550e+02 -1.004155924321621e+02 -1.004759093011103e+02 + -1.005362521795820e+02 -1.005966210292817e+02 -1.006570158530568e+02 -1.007174366671700e+02 -1.007778835004040e+02 + -1.008383563749385e+02 -1.008988552740233e+02 -1.009593801813489e+02 -1.010199311212978e+02 -1.010805081231472e+02 + -1.011411111950619e+02 -1.012017403376325e+02 -1.012623955422635e+02 -1.013230768099676e+02 -1.013837841893743e+02 + -1.014445177207514e+02 -1.015052773633014e+02 -1.015660630775449e+02 -1.016268749103392e+02 -1.016877129150088e+02 + -1.017485770844115e+02 -1.018094673966629e+02 -1.018703838313761e+02 -1.019313263923028e+02 -1.019922951782496e+02 + -1.020532902664119e+02 -1.021143115524854e+02 -1.021753589342455e+02 -1.022364324992857e+02 -1.022975323519374e+02 + -1.023586584736673e+02 -1.024198108268543e+02 -1.024809894203941e+02 -1.025421942728475e+02 -1.026034253949216e+02 + -1.026646827901934e+02 -1.027259664415750e+02 -1.027872763473731e+02 -1.028486125881369e+02 -1.029099752254547e+02 + -1.029713641628286e+02 -1.030327793161952e+02 -1.030942208093169e+02 -1.031556887637190e+02 -1.032171830841550e+02 + -1.032787036718354e+02 -1.033402506305696e+02 -1.034018240681317e+02 -1.034634239055545e+02 -1.035250500515010e+02 + -1.035867025518952e+02 -1.036483814821213e+02 -1.037100868981441e+02 -1.037718188237329e+02 -1.038335771732939e+02 + -1.038953618747522e+02 -1.039571730194689e+02 -1.040190107055651e+02 -1.040808748947658e+02 -1.041427655331822e+02 + -1.042046826408667e+02 -1.042666262524425e+02 -1.043285963868752e+02 -1.043905930564436e+02 -1.044526162623378e+02 + -1.045146660069125e+02 -1.045767423082721e+02 -1.046388451777543e+02 -1.047009745838822e+02 -1.047631305085241e+02 + -1.048253130297424e+02 -1.048875222165416e+02 -1.049497580055002e+02 -1.050120203310284e+02 -1.050743092512860e+02 + -1.051366248384456e+02 -1.051989670969791e+02 -1.052613360137520e+02 -1.053237315729033e+02 -1.053861537661844e+02 + -1.054486026185219e+02 -1.055110781583045e+02 -1.055735803945944e+02 -1.056361093274371e+02 -1.056986649401382e+02 + -1.057612472323176e+02 -1.058238562855892e+02 -1.058864921618116e+02 -1.059491547618286e+02 -1.060118440001799e+02 + -1.060745600072047e+02 -1.061373029070868e+02 -1.062000725835928e+02 -1.062628689188559e+02 -1.063256920288941e+02 + -1.063885420424685e+02 -1.064514189054312e+02 -1.065143225392365e+02 -1.065772529506575e+02 -1.066402101774261e+02 + -1.067031942957903e+02 -1.067662053568374e+02 -1.068292432724951e+02 -1.068923079625714e+02 -1.069553995175528e+02 + -1.070185180380394e+02 -1.070816634944072e+02 -1.071448358336418e+02 -1.072080350393896e+02 -1.072712611247882e+02 + -1.073345141842783e+02 -1.073977942922143e+02 -1.074611013613008e+02 -1.075244353055826e+02 -1.075877962061142e+02 + -1.076511841502191e+02 -1.077145990832866e+02 -1.077780409492339e+02 -1.078415098280245e+02 -1.079050057992970e+02 + -1.079685288053471e+02 -1.080320787786834e+02 -1.080956557500093e+02 -1.081592597729443e+02 -1.082228908945775e+02 + -1.082865491424036e+02 -1.083502344720692e+02 -1.084139468448718e+02 -1.084776863165616e+02 -1.085414529440200e+02 + -1.086052466942038e+02 -1.086690675238350e+02 -1.087329154386204e+02 -1.087967904674474e+02 -1.088606926829425e+02 + -1.089246221377382e+02 -1.089885787607543e+02 -1.090525624876805e+02 -1.091165734050004e+02 -1.091806115963225e+02 + -1.092446769829633e+02 -1.093087694909110e+02 -1.093728892271333e+02 -1.094370362953419e+02 -1.095012106052476e+02 + -1.095654120623545e+02 -1.096296407493415e+02 -1.096938967647426e+02 -1.097581800933404e+02 -1.098224906984946e+02 + -1.098868285716250e+02 -1.099511937236656e+02 -1.100155862155477e+02 -1.100800060933800e+02 -1.101444532939841e+02 + -1.102089277564002e+02 -1.102734295378303e+02 -1.103379587096266e+02 -1.104025152815812e+02 -1.104670992426730e+02 + -1.105317105601886e+02 -1.105963492199813e+02 -1.106610153038629e+02 -1.107257088820756e+02 -1.107904298826226e+02 + -1.108551782361634e+02 -1.109199540262203e+02 -1.109847573373186e+02 -1.110495881051325e+02 -1.111144462586115e+02 + -1.111793318486534e+02 -1.112442449476576e+02 -1.113091855920787e+02 -1.113741537899001e+02 -1.114391494711626e+02 + -1.115041725824562e+02 -1.115692232145109e+02 -1.116343014623147e+02 -1.116994072937479e+02 -1.117645406555522e+02 + -1.118297015370191e+02 -1.118948899532702e+02 -1.119601059801944e+02 -1.120253496750247e+02 -1.120906209596036e+02 + -1.121559197660155e+02 -1.122212462027017e+02 -1.122866003728487e+02 -1.123519821822644e+02 -1.124173915349786e+02 + -1.124828285252852e+02 -1.125482932599049e+02 -1.126137857050017e+02 -1.126793058037530e+02 -1.127448535479451e+02 + -1.128104289543148e+02 -1.128760320907921e+02 -1.129416630123176e+02 -1.130073216706816e+02 -1.130730080183262e+02 + -1.131387221134510e+02 -1.132044640167948e+02 -1.132702336934948e+02 -1.133360310978225e+02 -1.134018562361866e+02 + -1.134677091387784e+02 -1.135335898787815e+02 -1.135994985091588e+02 -1.136654349589990e+02 -1.137313991629182e+02 + -1.137973912015162e+02 -1.138634111582333e+02 -1.139294589818884e+02 -1.139955346168527e+02 -1.140616381243277e+02 + -1.141277695680233e+02 -1.141939289048548e+02 -1.142601160860919e+02 -1.143263311472162e+02 -1.143925741390390e+02 + -1.144588450894802e+02 -1.145251440101338e+02 -1.145914708701818e+02 -1.146578256494022e+02 -1.147242084123678e+02 + -1.147906192149256e+02 -1.148570579932248e+02 -1.149235246826633e+02 -1.149900193353325e+02 -1.150565420227369e+02 + -1.151230927773426e+02 -1.151896716067799e+02 -1.152562784583746e+02 -1.153229132947855e+02 -1.153895762003063e+02 + -1.154562672526404e+02 -1.155229863814943e+02 -1.155897335150450e+02 -1.156565087233475e+02 -1.157233120892246e+02 + -1.157901436046917e+02 -1.158570032371645e+02 -1.159238909464663e+02 -1.159908067231330e+02 -1.160577506881430e+02 + -1.161247229415995e+02 -1.161917233696630e+02 -1.162587518588770e+02 -1.163258085112608e+02 -1.163928934406831e+02 + -1.164600065929374e+02 -1.165271479034755e+02 -1.165943174344564e+02 -1.166615152526160e+02 -1.167287413162901e+02 + -1.167959955757904e+02 -1.168632780577301e+02 -1.169305888112216e+02 -1.169979278990717e+02 -1.170652953548001e+02 + -1.171326910810820e+02 -1.172001149975291e+02 -1.172675672223445e+02 -1.173350478778825e+02 -1.174025569045121e+02 + -1.174700942215011e+02 -1.175376598456954e+02 -1.176052538191002e+02 -1.176728761867799e+02 -1.177405269796691e+02 + -1.178082061691247e+02 -1.178759137299273e+02 -1.179436497101298e+02 -1.180114141509050e+02 -1.180792069926326e+02 + -1.181470281872303e+02 -1.182148778335583e+02 -1.182827560287664e+02 -1.183506627162192e+02 -1.184185978220269e+02 + -1.184865613570652e+02 -1.185545533602401e+02 -1.186225738978121e+02 -1.186906230193939e+02 -1.187587006806511e+02 + -1.188268068350639e+02 -1.188949415213182e+02 -1.189631047837780e+02 -1.190312966043158e+02 -1.190995169567162e+02 + -1.191677658449030e+02 -1.192360432941998e+02 -1.193043493853908e+02 -1.193726841751893e+02 -1.194410475685670e+02 + -1.195094394794060e+02 -1.195778600089746e+02 -1.196463092648311e+02 -1.197147871923100e+02 -1.197832937276135e+02 + -1.198518289326376e+02 -1.199203928745778e+02 -1.199889855161324e+02 -1.200576068078755e+02 -1.201262567563797e+02 + -1.201949353935382e+02 -1.202636427965272e+02 -1.203323790196208e+02 -1.204011439802014e+02 -1.204699376081542e+02 + -1.205387600202684e+02 -1.206076113241917e+02 -1.206764914041025e+02 -1.207454001431820e+02 -1.208143376440890e+02 + -1.208833040296615e+02 -1.209522992839752e+02 -1.210213233653680e+02 -1.210903762679893e+02 -1.211594580022500e+02 + -1.212285686077949e+02 -1.212977081155049e+02 -1.213668764919694e+02 -1.214360737100132e+02 -1.215052998316942e+02 + -1.215745549154533e+02 -1.216438389160294e+02 -1.217131517838345e+02 -1.217824935556734e+02 -1.218518642837182e+02 + -1.219212639952166e+02 -1.219906927020717e+02 -1.220601503797327e+02 -1.221296370078328e+02 -1.221991526191948e+02 + -1.222686972509000e+02 -1.223382709038720e+02 -1.224078735702578e+02 -1.224775052432531e+02 -1.225471659287695e+02 + -1.226168556825330e+02 -1.226865745477072e+02 -1.227563224673916e+02 -1.228260993926653e+02 -1.228959054065903e+02 + -1.229657405910973e+02 -1.230356048916106e+02 -1.231054982500379e+02 -1.231754207307278e+02 -1.232453724007864e+02 + -1.233153532159101e+02 -1.233853631242201e+02 -1.234554021549459e+02 -1.235254703591199e+02 -1.235955677938801e+02 + -1.236656944915691e+02 -1.237358503792446e+02 -1.238060353939673e+02 -1.238762496180971e+02 -1.239464931371069e+02 + -1.240167659036240e+02 -1.240870678602586e+02 -1.241573990423949e+02 -1.242277595040581e+02 -1.242981492810638e+02 + -1.243685683872523e+02 -1.244390167667736e+02 -1.245094943779347e+02 -1.245800013053605e+02 -1.246505376299316e+02 + -1.247211032912332e+02 -1.247916982296097e+02 -1.248623225297382e+02 -1.249329762770640e+02 -1.250036594157741e+02 + -1.250743718736609e+02 -1.251451136541969e+02 -1.252158847947410e+02 -1.252866853925174e+02 -1.253575155184925e+02 + -1.254283750787370e+02 -1.254992639825418e+02 -1.255701823169751e+02 -1.256411301759969e+02 -1.257121075033584e+02 + -1.257831142369608e+02 -1.258541504415142e+02 -1.259252161922362e+02 -1.259963114795672e+02 -1.260674362758903e+02 + -1.261385905661348e+02 -1.262097743537985e+02 -1.262809877041053e+02 -1.263522306696565e+02 -1.264235031908370e+02 + -1.264948052148923e+02 -1.265661368287249e+02 -1.266374981169807e+02 -1.267088890156212e+02 -1.267803094502130e+02 + -1.268517594534262e+02 -1.269232390831601e+02 -1.269947483911282e+02 -1.270662874069690e+02 -1.271378560782095e+02 + -1.272094543594662e+02 -1.272810823158284e+02 -1.273527400123002e+02 -1.274244274030747e+02 -1.274961444355319e+02 + -1.275678911406106e+02 -1.276396675704015e+02 -1.277114737780431e+02 -1.277833097950603e+02 -1.278551755654751e+02 + -1.279270710424012e+02 -1.279989963028243e+02 -1.280709514152536e+02 -1.281429362904217e+02 -1.282149508513121e+02 + -1.282869952276877e+02 -1.283590695463467e+02 -1.284311737154509e+02 -1.285033076302067e+02 -1.285754713526335e+02 + -1.286476649682441e+02 -1.287198884897120e+02 -1.287921419051992e+02 -1.288644251776617e+02 -1.289367382880697e+02 + -1.290090813146567e+02 -1.290814543319980e+02 -1.291538573027727e+02 -1.292262901737162e+02 -1.292987529396840e+02 + -1.293712456190937e+02 -1.294437682764910e+02 -1.295163209673579e+02 -1.295889036647941e+02 -1.296615163353197e+02 + -1.297341590015173e+02 -1.298068316903185e+02 -1.298795343899871e+02 -1.299522670904091e+02 -1.300250298266263e+02 + -1.300978226354063e+02 -1.301706455152632e+02 -1.302434984561237e+02 -1.303163814518184e+02 -1.303892945098205e+02 + -1.304622376882688e+02 -1.305352110313897e+02 -1.306082144770936e+02 -1.306812479731976e+02 -1.307543116134598e+02 + -1.308274054850011e+02 -1.309005295024521e+02 -1.309736835845235e+02 -1.310468678387340e+02 -1.311200823754845e+02 + -1.311933271278942e+02 -1.312666020134129e+02 -1.313399070640916e+02 -1.314132423401880e+02 -1.314866079001839e+02 + -1.315600037753056e+02 -1.316334298895329e+02 -1.317068861777292e+02 -1.317803727255405e+02 -1.318538896215189e+02 + -1.319274368150577e+02 -1.320010142454794e+02 -1.320746219509807e+02 -1.321482599879661e+02 -1.322219283867981e+02 + -1.322956271602158e+02 -1.323693562765047e+02 -1.324431157110688e+02 -1.325169055122373e+02 -1.325907257242561e+02 + -1.326645763021127e+02 -1.327384572099461e+02 -1.328123685377604e+02 -1.328863103680995e+02 -1.329602826278048e+02 + -1.330342852393407e+02 -1.331083182633673e+02 -1.331823817787306e+02 -1.332564757988239e+02 -1.333306003141445e+02 + -1.334047552890586e+02 -1.334789407033280e+02 -1.335531566244299e+02 -1.336274031130300e+02 -1.337016801148342e+02 + -1.337759875748336e+02 -1.338503255501201e+02 -1.339246941130952e+02 -1.339990932852997e+02 -1.340735230609586e+02 + -1.341479833758948e+02 -1.342224741891434e+02 -1.342969956109889e+02 -1.343715477431406e+02 -1.344461305017541e+02 + -1.345207438015131e+02 -1.345953877367626e+02 -1.346700624038786e+02 -1.347447677276981e+02 -1.348195036263442e+02 + -1.348942701626209e+02 -1.349690674171868e+02 -1.350438953974369e+02 -1.351187540921076e+02 -1.351936434885642e+02 + -1.352685635848754e+02 -1.353435144232942e+02 -1.354184960414874e+02 -1.354935084145923e+02 -1.355685515128237e+02 + -1.356436253492364e+02 -1.357187299541088e+02 -1.357938653837732e+02 -1.358690316768758e+02 -1.359442287752637e+02 + -1.360194566279880e+02 -1.360947153097144e+02 -1.361700048911278e+02 -1.362453253013760e+02 -1.363206764782614e+02 + -1.363960585357406e+02 -1.364714715821978e+02 -1.365469155275740e+02 -1.366223902703805e+02 -1.366978958618521e+02 + -1.367734323848502e+02 -1.368489998960226e+02 -1.369245984210613e+02 -1.370002278880492e+02 -1.370758882331093e+02 + -1.371515795221331e+02 -1.372273018270698e+02 -1.373030551143317e+02 -1.373788393429953e+02 -1.374546545483291e+02 + -1.375305007816427e+02 -1.376063780822184e+02 -1.376822864668756e+02 -1.377582258746108e+02 -1.378341962588316e+02 + -1.379101977084133e+02 -1.379862303093919e+02 -1.380622940009784e+02 -1.381383887192652e+02 -1.382145145346940e+02 + -1.382906715205862e+02 -1.383668596274320e+02 -1.384430787972570e+02 -1.385193290610606e+02 -1.385956104734610e+02 + -1.386719230945808e+02 -1.387482669582360e+02 -1.388246419875133e+02 -1.389010481148665e+02 -1.389774854209464e+02 + -1.390539539951986e+02 -1.391304538140523e+02 -1.392069848343242e+02 -1.392835470473980e+02 -1.393601404693719e+02 + -1.394367651806349e+02 -1.395134212422815e+02 -1.395901085739362e+02 -1.396668271002043e+02 -1.397435769070855e+02 + -1.398203580874878e+02 -1.398971706005607e+02 -1.399740143977720e+02 -1.400508895336226e+02 -1.401277960614956e+02 + -1.402047339272718e+02 -1.402817030764181e+02 -1.403587035602461e+02 -1.404357354502877e+02 -1.405127987931110e+02 + -1.405898936026113e+02 -1.406670197869564e+02 -1.407441772794584e+02 -1.408213662197336e+02 -1.408985867371466e+02 + -1.409758387137537e+02 -1.410531220224061e+02 -1.411304367464428e+02 -1.412077829961380e+02 -1.412851607790223e+02 + -1.413625700771281e+02 -1.414400108732392e+02 -1.415174831646232e+02 -1.415949870057306e+02 -1.416725224388105e+02 + -1.417500894001226e+02 -1.418276878351835e+02 -1.419053178325258e+02 -1.419829794809226e+02 -1.420606727270934e+02 + -1.421383975074728e+02 -1.422161538594082e+02 -1.422939418408956e+02 -1.423717614916131e+02 -1.424496128273150e+02 + -1.425274957863782e+02 -1.426054103213069e+02 -1.426833565184944e+02 -1.427613344645970e+02 -1.428393441134355e+02 + -1.429173854035838e+02 -1.429954583454632e+02 -1.430735629773860e+02 -1.431516993773805e+02 -1.432298676007922e+02 + -1.433080675725197e+02 -1.433862992191345e+02 -1.434645626043482e+02 -1.435428578032951e+02 -1.436211847996638e+02 + -1.436995435672099e+02 -1.437779341314036e+02 -1.438563565210897e+02 -1.439348107268960e+02 -1.440132967358192e+02 + -1.440918145585468e+02 -1.441703642214681e+02 -1.442489457900865e+02 -1.443275593072134e+02 -1.444062046857781e+02 + -1.444848818522611e+02 -1.445635909172288e+02 -1.446423319927847e+02 -1.447211050130976e+02 -1.447999098925679e+02 + -1.448787466444589e+02 -1.449576153140356e+02 -1.450365159757091e+02 -1.451154486823820e+02 -1.451944133717774e+02 + -1.452734099863848e+02 -1.453524386029381e+02 -1.454314992962476e+02 -1.455105919991844e+02 -1.455897166474813e+02 + -1.456688733302556e+02 -1.457480621396693e+02 -1.458272830266799e+02 -1.459065359271370e+02 -1.459858208576615e+02 + -1.460651378591126e+02 -1.461444869885314e+02 -1.462238682831965e+02 -1.463032816851561e+02 -1.463827271416525e+02 + -1.464622047159361e+02 -1.465417144784923e+02 -1.466212564127396e+02 -1.467008304928943e+02 -1.467804367434297e+02 + -1.468600751934606e+02 -1.469397458404120e+02 -1.470194486722770e+02 -1.470991836710121e+02 -1.471789508433917e+02 + -1.472587503015001e+02 -1.473385821300154e+02 -1.474184461986837e+02 -1.474983423870870e+02 -1.475782708290815e+02 + -1.476582316674545e+02 -1.477382248264445e+02 -1.478182502096616e+02 -1.478983078567520e+02 -1.479783978350921e+02 + -1.480585201869469e+02 -1.481386749269736e+02 -1.482188619845118e+02 -1.482990813088785e+02 -1.483793330146163e+02 + -1.484596172099193e+02 -1.485399338123612e+02 -1.486202827323657e+02 -1.487006640423751e+02 -1.487810778248495e+02 + -1.488615240403001e+02 -1.489420026412511e+02 -1.490225136702235e+02 -1.491030571832025e+02 -1.491836332000337e+02 + -1.492642417202360e+02 -1.493448826981615e+02 -1.494255561054278e+02 -1.495062620278810e+02 -1.495870005487025e+02 + -1.496677716261896e+02 -1.497485751994623e+02 -1.498294112558179e+02 -1.499102798158717e+02 -1.499911809853331e+02 + -1.500721148441144e+02 -1.501530812838450e+02 -1.502340802026938e+02 -1.503151117132690e+02 -1.503961759364751e+02 + -1.504772728119622e+02 -1.505584022645880e+02 -1.506395643412949e+02 -1.507207591024668e+02 -1.508019865401696e+02 + -1.508832466324269e+02 -1.509645393694111e+02 -1.510458647628492e+02 -1.511272228985386e+02 -1.512086138412552e+02 + -1.512900374976176e+02 -1.513714937855876e+02 -1.514529828266537e+02 -1.515345047392310e+02 -1.516160594259147e+02 + -1.516976467776822e+02 -1.517792668548592e+02 -1.518609197460578e+02 -1.519426054836894e+02 -1.520243240750476e+02 + -1.521060754831553e+02 -1.521878596792744e+02 -1.522696767118938e+02 -1.523515266305248e+02 -1.524334094115421e+02 + -1.525153250314230e+02 -1.525972735401888e+02 -1.526792549864990e+02 -1.527612693400200e+02 -1.528433165631959e+02 + -1.529253966685747e+02 -1.530075096900777e+02 -1.530896556970147e+02 -1.531718347321965e+02 -1.532540466970516e+02 + -1.533362915133235e+02 -1.534185693253995e+02 -1.535008802693854e+02 -1.535832242256197e+02 -1.536656010621809e+02 + -1.537480108538752e+02 -1.538304537113657e+02 -1.539129296820158e+02 -1.539954387715506e+02 -1.540779808824423e+02 + -1.541605559457948e+02 -1.542431641104905e+02 -1.543258055115917e+02 -1.544084800111010e+02 -1.544911874726015e+02 + -1.545739280390565e+02 -1.546567018609975e+02 -1.547395088398511e+02 -1.548223488576198e+02 -1.549052219677139e+02 + -1.549881282595875e+02 -1.550710677954614e+02 -1.551540406026988e+02 -1.552370465964632e+02 -1.553200857053796e+02 + -1.554031580241178e+02 -1.554862636500489e+02 -1.555694025253043e+02 -1.556525745801794e+02 -1.557357798528659e+02 + -1.558190184045264e+02 -1.559022902803117e+02 -1.559855954979769e+02 -1.560689339817060e+02 -1.561523056771075e+02 + -1.562357107090587e+02 -1.563191491909100e+02 -1.564026210106382e+02 -1.564861260558312e+02 -1.565696644378976e+02 + -1.566532362813955e+02 -1.567368415396626e+02 -1.568204801387562e+02 -1.569041520668287e+02 -1.569878573487146e+02 + -1.570715960938785e+02 -1.571553683828581e+02 -1.572391740958522e+02 -1.573230131265335e+02 -1.574068856228085e+02 + -1.574907917295132e+02 -1.575747313249683e+02 -1.576587042737324e+02 -1.577427106518309e+02 -1.578267505715277e+02 + -1.579108240785769e+02 -1.579949311783184e+02 -1.580790717809458e+02 -1.581632458187553e+02 -1.582474534075981e+02 + -1.583316946623155e+02 -1.584159695101536e+02 -1.585002778727259e+02 -1.585846198367120e+02 -1.586689954874005e+02 + -1.587534047394542e+02 -1.588378475061590e+02 -1.589223238659185e+02 -1.590068339195322e+02 -1.590913776922658e+02 + -1.591759551748261e+02 -1.592605662952183e+02 -1.593452110061037e+02 -1.594298894214712e+02 -1.595146016508511e+02 + -1.595993476246111e+02 -1.596841272537272e+02 -1.597689405507699e+02 -1.598537875632453e+02 -1.599386683768111e+02 + -1.600235830481832e+02 -1.601085314801616e+02 -1.601935135899282e+02 -1.602785295061083e+02 -1.603635793509372e+02 + -1.604486630096468e+02 -1.605337803660765e+02 -1.606189315354990e+02 -1.607041166452176e+02 -1.607893356392255e+02 + -1.608745884397152e+02 -1.609598750649831e+02 -1.610451955612870e+02 -1.611305499906227e+02 -1.612159383917271e+02 + -1.613013606945609e+02 -1.613868168398436e+02 -1.614723069201057e+02 -1.615578310304217e+02 -1.616433891242326e+02 + -1.617289811339727e+02 -1.618146070496823e+02 -1.619002668955830e+02 -1.619859607750138e+02 -1.620716887676450e+02 + -1.621574507793529e+02 -1.622432467219253e+02 -1.623290767045893e+02 -1.624149408340039e+02 -1.625008390091176e+02 + -1.625867711331680e+02 -1.626727373342588e+02 -1.627587377384768e+02 -1.628447722389764e+02 -1.629308407201184e+02 + -1.630169432640222e+02 -1.631030799800713e+02 -1.631892508889492e+02 -1.632754559784962e+02 -1.633616951938801e+02 + -1.634479685044198e+02 -1.635342760187116e+02 -1.636206178291233e+02 -1.637069938238325e+02 -1.637934038942077e+02 + -1.638798481485683e+02 -1.639663267112721e+02 -1.640528395538795e+02 -1.641393866180353e+02 -1.642259678785196e+02 + -1.643125833411851e+02 -1.643992331030405e+02 -1.644859172470150e+02 -1.645726357085657e+02 -1.646593884180614e+02 + -1.647461754329907e+02 -1.648329968179324e+02 -1.649198525387065e+02 -1.650067425502886e+02 -1.650936668630355e+02 + -1.651806255134507e+02 -1.652676185872448e+02 -1.653546461444497e+02 -1.654417080931755e+02 -1.655288043499995e+02 + -1.656159350172886e+02 -1.657031001994683e+02 -1.657902998234105e+02 -1.658775338117127e+02 -1.659648022474274e+02 + -1.660521052162188e+02 -1.661394426537408e+02 -1.662268144894047e+02 -1.663142207776613e+02 -1.664016615975541e+02 + -1.664891370014617e+02 -1.665766470055737e+02 -1.666641915079906e+02 -1.667517704334961e+02 -1.668393839316945e+02 + -1.669270321420214e+02 -1.670147149384157e+02 -1.671024321837371e+02 -1.671901839620226e+02 -1.672779703889409e+02 + -1.673657914855093e+02 -1.674536472385115e+02 -1.675415375924466e+02 -1.676294625158688e+02 -1.677174221158364e+02 + -1.678054164853866e+02 -1.678934455229663e+02 -1.679815091339810e+02 -1.680696074462591e+02 -1.681577405863894e+02 + -1.682459084535819e+02 -1.683341109324726e+02 -1.684223480767776e+02 -1.685106199767677e+02 -1.685989266998525e+02 + -1.686872682758898e+02 -1.687756446073924e+02 -1.688640556163956e+02 -1.689525014303699e+02 -1.690409821718389e+02 + -1.691294977381033e+02 -1.692180480141565e+02 -1.693066330609834e+02 -1.693952529706734e+02 -1.694839077837423e+02 + -1.695725975104607e+02 -1.696613220916933e+02 -1.697500814887782e+02 -1.698388758143547e+02 -1.699277051650943e+02 + -1.700165694224996e+02 -1.701054684738952e+02 -1.701944024450633e+02 -1.702833714670375e+02 -1.703723754534025e+02 + -1.704614143033400e+02 -1.705504880758685e+02 -1.706395968591658e+02 -1.707287406982126e+02 -1.708179196055015e+02 + -1.709071335067704e+02 -1.709963823462651e+02 -1.710856662290167e+02 -1.711749852543236e+02 -1.712643393377691e+02 + -1.713537283867857e+02 -1.714431524599174e+02 -1.715326116432521e+02 -1.716221059819435e+02 -1.717116354891412e+02 + -1.718012000909151e+02 -1.718907997312464e+02 -1.719804345128430e+02 -1.720701045346718e+02 -1.721598097220100e+02 + -1.722495499971131e+02 -1.723393254438396e+02 -1.724291361494486e+02 -1.725189820532021e+02 -1.726088630837053e+02 + -1.726987792749333e+02 -1.727887306891670e+02 -1.728787173965418e+02 -1.729687394350333e+02 -1.730587967061244e+02 + -1.731488891286860e+02 -1.732390168276344e+02 -1.733291799265234e+02 -1.734193783374131e+02 -1.735096119603506e+02 + -1.735998808588243e+02 -1.736901851222248e+02 -1.737805247801124e+02 -1.738708998286339e+02 -1.739613101901119e+02 + -1.740517558114003e+02 -1.741422368113012e+02 -1.742327533050288e+02 -1.743233052214973e+02 -1.744138924793676e+02 + -1.745045151425876e+02 -1.745951732822802e+02 -1.746858668529805e+02 -1.747765958032038e+02 -1.748673601739718e+02 + -1.749581600245709e+02 -1.750489953948396e+02 -1.751398663036498e+02 -1.752307727054541e+02 -1.753217145616989e+02 + -1.754126919262226e+02 -1.755037048571098e+02 -1.755947533370347e+02 -1.756858373371216e+02 -1.757769568577038e+02 + -1.758681119173357e+02 -1.759593025782490e+02 -1.760505288876894e+02 -1.761417907892832e+02 -1.762330882344909e+02 + -1.763244213097290e+02 -1.764157900964081e+02 -1.765071945209611e+02 -1.765986345094344e+02 -1.766901101413071e+02 + -1.767816215026837e+02 -1.768731685527375e+02 -1.769647512369523e+02 -1.770563695729838e+02 -1.771480236027573e+02 + -1.772397133931058e+02 -1.773314389867134e+02 -1.774232003047593e+02 -1.775149972814722e+02 -1.776068300247813e+02 + -1.776986986385443e+02 -1.777906030366335e+02 -1.778825431235826e+02 -1.779745189565556e+02 -1.780665306226855e+02 + -1.781585781763529e+02 -1.782506616334199e+02 -1.783427808884287e+02 -1.784349358629673e+02 -1.785271267081259e+02 + -1.786193535668995e+02 -1.787116163204012e+02 -1.788039148425030e+02 -1.788962492399977e+02 -1.789886196318098e+02 + -1.790810259524725e+02 -1.791734681201561e+02 -1.792659461719689e+02 -1.793584601742520e+02 -1.794510101913400e+02 + -1.795435962594126e+02 -1.796362183040394e+02 -1.797288762617232e+02 -1.798215702233099e+02 -1.799143002757676e+02 + -1.800070663362093e+02 -1.800998683262517e+02 -1.801927063553792e+02 -1.802855805315161e+02 -1.803784907684791e+02 + -1.804714369692463e+02 -1.805644191875481e+02 -1.806574375103104e+02 -1.807504920064915e+02 -1.808435827084130e+02 + -1.809367095198169e+02 -1.810298723599504e+02 -1.811230713386593e+02 -1.812163065647390e+02 -1.813095779521854e+02 + -1.814028854036152e+02 -1.814962289709267e+02 -1.815896087407728e+02 -1.816830247895420e+02 -1.817764771515762e+02 + -1.818699657032943e+02 -1.819634903439186e+02 -1.820570512218083e+02 -1.821506484855823e+02 -1.822442820357622e+02 + -1.823379517614509e+02 -1.824316577541746e+02 -1.825254001134493e+02 -1.826191787683301e+02 -1.827129936397535e+02 + -1.828068447866412e+02 -1.829007322929544e+02 -1.829946562048259e+02 -1.830886165373395e+02 -1.831826132192083e+02 + -1.832766461922778e+02 -1.833707155372913e+02 -1.834648213380734e+02 -1.835589635518759e+02 -1.836531421229175e+02 + -1.837473570698571e+02 -1.838416084358642e+02 -1.839358962877114e+02 -1.840302206684350e+02 -1.841245815025237e+02 + -1.842189787235884e+02 -1.843134124202761e+02 -1.844078826806361e+02 -1.845023894352911e+02 -1.845969326205561e+02 + -1.846915123529413e+02 -1.847861287393624e+02 -1.848807816681596e+02 -1.849754710227848e+02 -1.850701968857076e+02 + -1.851649593688754e+02 -1.852597585031284e+02 -1.853545942804591e+02 -1.854494666185751e+02 -1.855443754618861e+02 + -1.856393209358935e+02 -1.857343031604275e+02 -1.858293220515437e+02 -1.859243775087027e+02 -1.860194695687597e+02 + -1.861145983033516e+02 -1.862097637858479e+02 -1.863049660540466e+02 -1.864002050017272e+02 -1.864954805431744e+02 + -1.865907928187129e+02 -1.866861419596013e+02 -1.867815278347963e+02 -1.868769503164351e+02 -1.869724095516791e+02 + -1.870679056966096e+02 -1.871634386679672e+02 -1.872590083560524e+02 -1.873546147847470e+02 -1.874502580123688e+02 + -1.875459381013990e+02 -1.876416550903780e+02 -1.877374089179168e+02 -1.878331995340542e+02 -1.879290270344656e+02 + -1.880248915055781e+02 -1.881207928511883e+02 -1.882167309755823e+02 -1.883127059676341e+02 -1.884087179360091e+02 + -1.885047668839511e+02 -1.886008527852007e+02 -1.886969756009047e+02 -1.887931353152428e+02 -1.888893320171184e+02 + -1.889855657829229e+02 -1.890818365342772e+02 -1.891781441947396e+02 -1.892744888503877e+02 -1.893708705921393e+02 + -1.894672893677523e+02 -1.895637451161106e+02 -1.896602378837592e+02 -1.897567677352667e+02 -1.898533346996371e+02 + -1.899499387807097e+02 -1.900465799172331e+02 -1.901432580674921e+02 -1.902399733330072e+02 -1.903367258125687e+02 + -1.904335154508099e+02 -1.905303421711713e+02 -1.906272059664800e+02 -1.907241068668330e+02 -1.908210449820209e+02 + -1.909180203947948e+02 -1.910150330000556e+02 -1.911120827002041e+02 -1.912091696154924e+02 -1.913062938635582e+02 + -1.914034553337337e+02 -1.915006539182285e+02 -1.915978897490666e+02 -1.916951629619544e+02 -1.917924734675151e+02 + -1.918898211586861e+02 -1.919872060827436e+02 -1.920846283161583e+02 -1.921820878978424e+02 -1.922795848438701e+02 + -1.923771191165239e+02 -1.924746906889474e+02 -1.925722996315181e+02 -1.926699460069926e+02 -1.927676297504074e+02 + -1.928653507913461e+02 -1.929631091652971e+02 -1.930609049367203e+02 -1.931587381800568e+02 -1.932566089358633e+02 + -1.933545170991796e+02 -1.934524625825225e+02 -1.935504455138344e+02 -1.936484660231147e+02 -1.937465240331655e+02 + -1.938446194535055e+02 -1.939427523477156e+02 -1.940409227930324e+02 -1.941391307672549e+02 -1.942373762317632e+02 + -1.943356591817002e+02 -1.944339796386271e+02 -1.945323376960147e+02 -1.946307334225392e+02 -1.947291667157886e+02 + -1.948276374816129e+02 -1.949261458299981e+02 -1.950246918758956e+02 -1.951232755499811e+02 -1.952218967672293e+02 + -1.953205555640852e+02 -1.954192520091347e+02 -1.955179861780584e+02 -1.956167581109271e+02 -1.957155676982765e+02 + -1.958144148511486e+02 -1.959132997121442e+02 -1.960122224157670e+02 -1.961111828325720e+02 -1.962101808324193e+02 + -1.963092165463342e+02 -1.964082901163006e+02 -1.965074014669716e+02 -1.966065505047830e+02 -1.967057372806285e+02 + -1.968049618689787e+02 -1.969042242941536e+02 -1.970035245570506e+02 -1.971028626150270e+02 -1.972022384428475e+02 + -1.973016521284466e+02 -1.974011037520065e+02 -1.975005932495305e+02 -1.976001205455443e+02 -1.976996856628438e+02 + -1.977992886519515e+02 -1.978989295760255e+02 -1.979986084767589e+02 -1.980983252973461e+02 -1.981980799861144e+02 + -1.982978726104215e+02 -1.983977032396124e+02 -1.984975718319531e+02 -1.985974783450467e+02 -1.986974228449224e+02 + -1.987974053983538e+02 -1.988974259666649e+02 -1.989974844962869e+02 -1.990975809795281e+02 -1.991977154414513e+02 + -1.992978879922588e+02 -1.993980987169082e+02 -1.994983475142392e+02 -1.995986342853965e+02 -1.996989591268633e+02 + -1.997993221398394e+02 -1.998997232490551e+02 -2.000001623829878e+02 -2.001006396615730e+02 -2.002011551976202e+02 + -2.003017088839768e+02 -2.004023006006677e+02 -2.005029303963877e+02 -2.006035983645368e+02 -2.007043046086661e+02 + -2.008050491826254e+02 -2.009058319313084e+02 -2.010066527248718e+02 -2.011075117434797e+02 -2.012084091672780e+02 + -2.013093448663347e+02 -2.014103186854462e+02 -2.015113306783989e+02 -2.016123809487723e+02 -2.017134695903300e+02 + -2.018145966520298e+02 -2.019157620134241e+02 -2.020169655668574e+02 -2.021182074252480e+02 -2.022194877090834e+02 + -2.023208063485549e+02 -2.024221632682046e+02 -2.025235585602719e+02 -2.026249923196053e+02 -2.027264644837921e+02 + -2.028279749730532e+02 -2.029295237954015e+02 -2.030311109992572e+02 -2.031327367068774e+02 -2.032344010007734e+02 + -2.033361037306376e+02 -2.034378447601810e+02 -2.035396242420057e+02 -2.036414423389593e+02 -2.037432989659801e+02 + -2.038451940079258e+02 -2.039471274772405e+02 -2.040490994323931e+02 -2.041511099883670e+02 -2.042531592234435e+02 + -2.043552470125819e+02 -2.044573732391661e+02 -2.045595380236004e+02 -2.046617414909655e+02 -2.047639835480296e+02 + -2.048662640993485e+02 -2.049685832589404e+02 -2.050709411450770e+02 -2.051733376835843e+02 -2.052757727854042e+02 + -2.053782464943871e+02 -2.054807588829732e+02 -2.055833100050551e+02 -2.056858998827895e+02 -2.057885284299405e+02 + -2.058911955783421e+02 -2.059939014405005e+02 -2.060966461276917e+02 -2.061994295656012e+02 -2.063022516666823e+02 + -2.064051124760526e+02 -2.065080120661920e+02 -2.066109504863692e+02 -2.067139277576765e+02 -2.068169438117121e+02 + -2.069199985973326e+02 -2.070230922219201e+02 -2.071262247789163e+02 -2.072293961474789e+02 -2.073326062201854e+02 + -2.074358551575783e+02 -2.075391431180403e+02 -2.076424699833530e+02 -2.077458356179337e+02 -2.078492400933438e+02 + -2.079526835133251e+02 -2.080561659031989e+02 -2.081596872578975e+02 -2.082632475292167e+02 -2.083668466898186e+02 + -2.084704848389632e+02 -2.085741620623951e+02 -2.086778782651976e+02 -2.087816333480700e+02 -2.088854273748348e+02 + -2.089892604383302e+02 -2.090931325843364e+02 -2.091970438282278e+02 -2.093009941108145e+02 -2.094049833841979e+02 + -2.095090117202067e+02 -2.096130791905716e+02 -2.097171857469022e+02 -2.098213313423286e+02 -2.099255160561849e+02 + -2.100297399619016e+02 -2.101340029830976e+02 -2.102383050403986e+02 -2.103426461922712e+02 -2.104470265253758e+02 + -2.105514461013085e+02 -2.106559049410852e+02 -2.107604029284658e+02 -2.108649399745926e+02 -2.109695162373935e+02 + -2.110741318706494e+02 -2.111787867647689e+02 -2.112834807867834e+02 -2.113882139735869e+02 -2.114929864074473e+02 + -2.115977981822681e+02 -2.117026493533424e+02 -2.118075398098887e+02 -2.119124694556393e+02 -2.120174384184601e+02 + -2.121224468216736e+02 -2.122274945462991e+02 -2.123325814769304e+02 -2.124377077547605e+02 -2.125428735238108e+02 + -2.126480786828185e+02 -2.127533231155498e+02 -2.128586068911697e+02 -2.129639301084739e+02 -2.130692927993837e+02 + -2.131746949622090e+02 -2.132801365276879e+02 -2.133856174488912e+02 -2.134911378357916e+02 -2.135966977951921e+02 + -2.137022972643151e+02 -2.138079361581469e+02 -2.139136144723085e+02 -2.140193322420075e+02 -2.141250895801643e+02 + -2.142308865713384e+02 -2.143367231089345e+02 -2.144425990899214e+02 -2.145485146166798e+02 -2.146544697958461e+02 + -2.147604645456698e+02 -2.148664987887291e+02 -2.149725726533044e+02 -2.150786862586875e+02 -2.151848394825147e+02 + -2.152910321964648e+02 -2.153972644900385e+02 -2.155035364828845e+02 -2.156098481974242e+02 -2.157161996246267e+02 + -2.158225907268823e+02 -2.159290214790141e+02 -2.160354919341570e+02 -2.161420021424622e+02 -2.162485520638355e+02 + -2.163551416576007e+02 -2.164617709709994e+02 -2.165684400663080e+02 -2.166751489780245e+02 -2.167818977145845e+02 + -2.168886862079515e+02 -2.169955144082682e+02 -2.171023824148656e+02 -2.172092903208214e+02 -2.173162380450137e+02 + -2.174232255130703e+02 -2.175302528518165e+02 -2.176373201799158e+02 -2.177444273821862e+02 -2.178515743317612e+02 + -2.179587610888773e+02 -2.180659877532527e+02 -2.181732543954297e+02 -2.182805610486399e+02 -2.183879076260487e+02 + -2.184952940541088e+02 -2.186027204324891e+02 -2.187101868605661e+02 -2.188176932633304e+02 -2.189252395535715e+02 + -2.190328257696591e+02 -2.191404519835346e+02 -2.192481182758485e+02 -2.193558246894080e+02 -2.194635711069396e+02 + -2.195713574321837e+02 -2.196791838130171e+02 -2.197870503917547e+02 -2.198949570443306e+02 -2.200029036478261e+02 + -2.201108903502962e+02 -2.202189173008489e+02 -2.203269843818326e+02 -2.204350914576510e+02 -2.205432385876858e+02 + -2.206514258738742e+02 -2.207596533933995e+02 -2.208679211808499e+02 -2.209762291251867e+02 -2.210845771334710e+02 + -2.211929653307878e+02 -2.213013938407175e+02 -2.214098625627986e+02 -2.215183713969045e+02 -2.216269204682873e+02 + -2.217355099024502e+02 -2.218441396005216e+02 -2.219528094497077e+02 -2.220615195058979e+02 -2.221702698646027e+02 + -2.222790606111339e+02 -2.223878917838657e+02 -2.224967632436199e+02 -2.226056748766821e+02 -2.227146268487432e+02 + -2.228236193240230e+02 -2.229326521814535e+02 -2.230417252803019e+02 -2.231508386864637e+02 -2.232599925050409e+02 + -2.233691867913336e+02 -2.234784215614204e+02 -2.235876967242961e+02 -2.236970122086523e+02 -2.238063681290529e+02 + -2.239157646015454e+02 -2.240252015622403e+02 -2.241346789340316e+02 -2.242441967668838e+02 -2.243537551247286e+02 + -2.244633540002964e+02 -2.245729933685804e+02 -2.246826732048266e+02 -2.247923935126906e+02 -2.249021544092157e+02 + -2.250119559889259e+02 -2.251217981428817e+02 -2.252316807628839e+02 -2.253416039471573e+02 -2.254515678046834e+02 + -2.255615722810486e+02 -2.256716173029860e+02 -2.257817028852108e+02 -2.258918290784169e+02 -2.260019959892315e+02 + -2.261122036854213e+02 -2.262224520233766e+02 -2.263327408802082e+02 -2.264430704272837e+02 -2.265534408332552e+02 + -2.266638519616550e+02 -2.267743036660735e+02 -2.268847960654481e+02 -2.269953292962885e+02 -2.271059033000460e+02 + -2.272165179952407e+02 -2.273271734037251e+02 -2.274378695801794e+02 -2.275486066072624e+02 -2.276593845334010e+02 + -2.277702032421150e+02 -2.278810626343348e+02 -2.279919628455381e+02 -2.281029040172474e+02 -2.282138860806176e+02 + -2.283249089376286e+02 -2.284359725839265e+02 -2.285470770593814e+02 -2.286582224870930e+02 -2.287694089544078e+02 + -2.288806363224278e+02 -2.289919044640359e+02 -2.291032135254801e+02 -2.292145636582007e+02 -2.293259547610424e+02 + -2.294373867252146e+02 -2.295488596639802e+02 -2.296603736910369e+02 -2.297719286997702e+02 -2.298835245768747e+02 + -2.299951614025932e+02 -2.301068392919157e+02 -2.302185583052736e+02 -2.303303184582155e+02 -2.304421196413199e+02 + -2.305539617649887e+02 -2.306658449438852e+02 -2.307777692999738e+02 -2.308897347801602e+02 -2.310017413072381e+02 + -2.311137888826106e+02 -2.312258775426401e+02 -2.313380073849178e+02 -2.314501784790464e+02 -2.315623907214496e+02 + -2.316746440227619e+02 -2.317869385236417e+02 -2.318992743527083e+02 -2.320116513604021e+02 -2.321240694060221e+02 + -2.322365286624793e+02 -2.323490293043759e+02 -2.324615711994689e+02 -2.325741541998047e+02 -2.326867784014305e+02 + -2.327994439322068e+02 -2.329121508032486e+02 -2.330248989898164e+02 -2.331376884404961e+02 -2.332505191272475e+02 + -2.333633911421986e+02 -2.334763045743060e+02 -2.335892593796759e+02 -2.337022554911374e+02 -2.338152928812627e+02 + -2.339283715644559e+02 -2.340414916827054e+02 -2.341546533474617e+02 -2.342678564204413e+02 -2.343811007676228e+02 + -2.344943865217682e+02 -2.346077138212040e+02 -2.347210825597340e+02 -2.348344926295532e+02 -2.349479441609453e+02 + -2.350614372851493e+02 -2.351749718991416e+02 -2.352885478850955e+02 -2.354021653002366e+02 -2.355158242429473e+02 + -2.356295248011875e+02 -2.357432670145577e+02 -2.358570507396431e+02 -2.359708758587992e+02 -2.360847425404777e+02 + -2.361986509531367e+02 -2.363126009791645e+02 -2.364265924750662e+02 -2.365406254798825e+02 -2.366547000814751e+02 + -2.367688163804559e+02 -2.368829744348273e+02 -2.369971741194025e+02 -2.371114153287764e+02 -2.372256982198593e+02 + -2.373400229428812e+02 -2.374543893590377e+02 -2.375687973238754e+02 -2.376832469593778e+02 -2.377977384043928e+02 + -2.379122715987879e+02 -2.380268464580362e+02 -2.381414629990116e+02 -2.382561212769444e+02 -2.383708213990897e+02 + -2.384855634334210e+02 -2.386003472387607e+02 -2.387151726904082e+02 -2.388300399387221e+02 -2.389449491374237e+02 + -2.390599001786255e+02 -2.391748929369255e+02 -2.392899274784697e+02 -2.394050039061344e+02 -2.395201222781684e+02 + -2.396352826134916e+02 -2.397504848183333e+02 -2.398657288168898e+02 -2.399810147179146e+02 -2.400963426277219e+02 + -2.402117124583125e+02 -2.403271241258893e+02 -2.404425777577767e+02 -2.405580734795174e+02 -2.406736111984077e+02 + -2.407891907995794e+02 -2.409048122977546e+02 -2.410204757554728e+02 -2.411361812969551e+02 -2.412519290053517e+02 + -2.413677187378485e+02 -2.414835503650167e+02 -2.415994240369316e+02 -2.417153399089511e+02 -2.418312978780588e+02 + -2.419472978191357e+02 -2.420633397770240e+02 -2.421794238369657e+02 -2.422955500758429e+02 -2.424117185344053e+02 + -2.425279291172331e+02 -2.426441817421263e+02 -2.427604765159341e+02 -2.428768135466203e+02 -2.429931927575585e+02 + -2.431096140668555e+02 -2.432260775561414e+02 -2.433425833145866e+02 -2.434591312980004e+02 -2.435757214497087e+02 + -2.436923537964655e+02 -2.438090283895336e+02 -2.439257452947832e+02 -2.440425045463603e+02 -2.441593060369063e+02 + -2.442761496825792e+02 -2.443930356351059e+02 -2.445099640393889e+02 -2.446269347774639e+02 -2.447439477225602e+02 + -2.448610029755453e+02 -2.449781006544274e+02 -2.450952407181387e+02 -2.452124231032676e+02 -2.453296478161015e+02 + -2.454469148921256e+02 -2.455642244139170e+02 -2.456815764363974e+02 -2.457989708567751e+02 -2.459164075868465e+02 + -2.460338867544718e+02 -2.461514084874868e+02 -2.462689726975661e+02 -2.463865792818051e+02 -2.465042282951439e+02 + -2.466219198202147e+02 -2.467396538925739e+02 -2.468574305187124e+02 -2.469752496359336e+02 -2.470931112029433e+02 + -2.472110153332446e+02 -2.473289621270786e+02 -2.474469514768406e+02 -2.475649832814832e+02 -2.476830576740329e+02 + -2.478011747871381e+02 -2.479193345178656e+02 -2.480375367456449e+02 -2.481557815149384e+02 -2.482740689103307e+02 + -2.483923990118631e+02 -2.485107718618152e+02 -2.486291873559622e+02 -2.487476454083695e+02 -2.488661461527674e+02 + -2.489846897184250e+02 -2.491032759971039e+02 -2.492219048675295e+02 -2.493405763937896e+02 -2.494592906781626e+02 + -2.495780477903268e+02 -2.496968477531592e+02 -2.498156904349301e+02 -2.499345757349562e+02 -2.500535038313474e+02 + -2.501724748933778e+02 -2.502914887761886e+02 -2.504105453266259e+02 -2.505296446724864e+02 -2.506487869586733e+02 + -2.507679721175656e+02 -2.508872000588222e+02 -2.510064708137437e+02 -2.511257844438344e+02 -2.512451410097723e+02 + -2.513645405425343e+02 -2.514839829551193e+02 -2.516034681806881e+02 -2.517229963510282e+02 -2.518425675906852e+02 + -2.519621817966139e+02 -2.520818388494823e+02 -2.522015387924022e+02 -2.523212817096907e+02 -2.524410676880414e+02 + -2.525608967718439e+02 -2.526807688338955e+02 -2.528006837687293e+02 -2.529206417294141e+02 -2.530406428681973e+02 + -2.531606870755077e+02 -2.532807742357317e+02 -2.534009044709059e+02 -2.535210779031462e+02 -2.536412944172385e+02 + -2.537615538911017e+02 -2.538818564125164e+02 -2.540022021028112e+02 -2.541225910076441e+02 -2.542430231270507e+02 + -2.543634983542462e+02 -2.544840166121418e+02 -2.546045780492533e+02 -2.547251828099108e+02 -2.548458307960956e+02 + -2.549665218842466e+02 -2.550872560909815e+02 -2.552080334828205e+02 -2.553288541857174e+02 -2.554497182835964e+02 + -2.555706256328296e+02 -2.556915761009198e+02 -2.558125698274442e+02 -2.559336069560756e+02 -2.560546873747970e+02 + -2.561758109689862e+02 -2.562969778692906e+02 -2.564181882127723e+02 -2.565394419168841e+02 -2.566607388759341e+02 + -2.567820791112567e+02 -2.569034626862424e+02 -2.570248897054782e+02 -2.571463602359873e+02 -2.572678741533426e+02 + -2.573894313462550e+02 -2.575110319474426e+02 -2.576326760938784e+02 -2.577543636955484e+02 -2.578760946446893e+02 + -2.579978689895271e+02 -2.581196868133063e+02 -2.582415481833543e+02 -2.583634531275302e+02 -2.584854015317316e+02 + -2.586073933093156e+02 -2.587294286254374e+02 -2.588515076317444e+02 -2.589736301740566e+02 -2.590957960996737e+02 + -2.592180055676404e+02 -2.593402587446819e+02 -2.594625555165019e+02 -2.595848957490105e+02 -2.597072795099639e+02 + -2.598297069067293e+02 -2.599521780032740e+02 -2.600746928207452e+02 -2.601972512524080e+02 -2.603198532148209e+02 + -2.604424988455961e+02 -2.605651882765137e+02 -2.606879213949725e+02 -2.608106980758151e+02 -2.609335183880386e+02 + -2.610563824372016e+02 -2.611792902809524e+02 -2.613022419394243e+02 -2.614252373306019e+02 -2.615482763897488e+02 + -2.616713592233935e+02 -2.617944859260970e+02 -2.619176563732862e+02 -2.620408704583867e+02 -2.621641283659552e+02 + -2.622874302706103e+02 -2.624107760160917e+02 -2.625341654302978e+02 -2.626575986086381e+02 -2.627810756876698e+02 + -2.629045967010318e+02 -2.630281616427657e+02 -2.631517704514422e+02 -2.632754230861743e+02 -2.633991196437133e+02 + -2.635228602105341e+02 -2.636466446943674e+02 -2.637704729984163e+02 -2.638943451865159e+02 -2.640182613561179e+02 + -2.641422215785110e+02 -2.642662258795402e+02 -2.643902741294400e+02 -2.645143662245587e+02 -2.646385023213122e+02 + -2.647626825745115e+02 -2.648869068724856e+02 -2.650111750962730e+02 -2.651354873642347e+02 -2.652598438005879e+02 + -2.653842443156531e+02 -2.655086888035231e+02 -2.656331773072787e+02 -2.657577099091213e+02 -2.658822866987512e+02 + -2.660069077230897e+02 -2.661315728504449e+02 -2.662562819710931e+02 -2.663810352417937e+02 -2.665058328192844e+02 + -2.666306745937331e+02 -2.667555604333347e+02 -2.668804903849584e+02 -2.670054645383429e+02 -2.671304829760297e+02 + -2.672555457413816e+02 -2.673806527282453e+02 -2.675058038464400e+02 -2.676309992191929e+02 -2.677562389652032e+02 + -2.678815229716541e+02 -2.680068511277727e+02 -2.681322235624782e+02 -2.682576404136338e+02 -2.683831016151858e+02 + -2.685086070756685e+02 -2.686341568058856e+02 -2.687597508516357e+02 -2.688853892964312e+02 -2.690110721950252e+02 + -2.691367994494158e+02 -2.692625709807897e+02 -2.693883869398372e+02 -2.695142474621058e+02 -2.696401523930688e+02 + -2.697661015819900e+02 -2.698920951833660e+02 -2.700181333642693e+02 -2.701442160368443e+02 -2.702703430840482e+02 + -2.703965145270174e+02 -2.705227304331903e+02 -2.706489909170355e+02 -2.707752960482972e+02 -2.709016456707917e+02 + -2.710280396495872e+02 -2.711544781606855e+02 -2.712809613853167e+02 -2.714074892146895e+02 -2.715340615102555e+02 + -2.716606783044584e+02 -2.717873396730564e+02 -2.719140456940721e+02 -2.720407964136753e+02 -2.721675917483545e+02 + -2.722944316245073e+02 -2.724213161378437e+02 -2.725482453844213e+02 -2.726752192923742e+02 -2.728022377909456e+02 + -2.729293009817382e+02 -2.730564089616648e+02 -2.731835616365174e+02 -2.733107589046467e+02 -2.734380008257563e+02 + -2.735652874983575e+02 -2.736926190148396e+02 -2.738199954194386e+02 -2.739474165698984e+02 -2.740748823405867e+02 + -2.742023928588563e+02 -2.743299482670098e+02 -2.744575485141638e+02 -2.745851935229188e+02 -2.747128833029967e+02 + -2.748406178969678e+02 -2.749683973916734e+02 -2.750962218440648e+02 -2.752240911472609e+02 -2.753520052060601e+02 + -2.754799641358123e+02 -2.756079680559450e+02 -2.757360168916492e+02 -2.758641105650285e+02 -2.759922491800748e+02 + -2.761204328366440e+02 -2.762486614361617e+02 -2.763769348745897e+02 -2.765052532244616e+02 -2.766336165883748e+02 + -2.767620250126050e+02 -2.768904785041199e+02 -2.770189769689730e+02 -2.771475203398639e+02 -2.772761087569904e+02 + -2.774047423518460e+02 -2.775334210136085e+02 -2.776621446145333e+02 -2.777909132015001e+02 -2.779197268642361e+02 + -2.780485856892346e+02 -2.781774897218528e+02 -2.783064388461343e+02 -2.784354329669438e+02 -2.785644722337429e+02 + -2.786935567875348e+02 -2.788226864908934e+02 -2.789518612068105e+02 -2.790810810783757e+02 -2.792103462555617e+02 + -2.793396566357773e+02 -2.794690121008859e+02 -2.795984127231330e+02 -2.797278586088501e+02 -2.798573498103315e+02 + -2.799868863353985e+02 -2.801164680680156e+02 -2.802460949220819e+02 -2.803757670550874e+02 -2.805054846206144e+02 + -2.806352475130235e+02 -2.807650555997772e+02 -2.808949088999684e+02 -2.810248074853591e+02 -2.811547514867556e+02 + -2.812847409903677e+02 -2.814147758449749e+02 -2.815448559108459e+02 -2.816749813316353e+02 -2.818051522586102e+02 + -2.819353685901064e+02 -2.820656302199222e+02 -2.821959372766401e+02 -2.823262898869716e+02 -2.824566879353637e+02 + -2.825871312931868e+02 -2.827176200217700e+02 -2.828481542276227e+02 -2.829787340080183e+02 -2.831093594072626e+02 + -2.832400302670260e+02 -2.833707464559445e+02 -2.835015081531469e+02 -2.836323155420096e+02 -2.837631685124079e+02 + -2.838940669226656e+02 -2.840250107984012e+02 -2.841560002155769e+02 -2.842870352842360e+02 -2.844181160721325e+02 + -2.845492424437817e+02 -2.846804142799303e+02 -2.848116317294889e+02 -2.849428949404899e+02 -2.850742037892878e+02 + -2.852055581519247e+02 -2.853369581748677e+02 -2.854684040068092e+02 -2.855998955349205e+02 -2.857314326251873e+02 + -2.858630153203723e+02 -2.859946437114748e+02 -2.861263179056654e+02 -2.862580379663874e+02 -2.863898037660037e+02 + -2.865216151879669e+02 -2.866534723511688e+02 -2.867853753832939e+02 -2.869173242117615e+02 -2.870493187426322e+02 + -2.871813589967982e+02 -2.873134450373917e+02 -2.874455769816758e+02 -2.875777549027032e+02 -2.877099786425546e+02 + -2.878422480619707e+02 -2.879745633273037e+02 -2.881069246090204e+02 -2.882393317884377e+02 -2.883717847366556e+02 + -2.885042835730584e+02 -2.886368284288774e+02 -2.887694192344474e+02 -2.889020558953364e+02 -2.890347384189399e+02 + -2.891674668528066e+02 -2.893002413032724e+02 -2.894330618447220e+02 -2.895659283649483e+02 -2.896988407604515e+02 + -2.898317991491523e+02 -2.899648036558058e+02 -2.900978542110840e+02 -2.902309507220182e+02 -2.903640931951591e+02 + -2.904972816775983e+02 -2.906305162790740e+02 -2.907637970750559e+02 -2.908971239412933e+02 -2.910304967707643e+02 + -2.911639157250792e+02 -2.912973809535366e+02 -2.914308922875549e+02 -2.915644495654761e+02 -2.916980529712119e+02 + -2.918317026983915e+02 -2.919653986339440e+02 -2.920991406314096e+02 -2.922329287174719e+02 -2.923667629702973e+02 + -2.925006435008390e+02 -2.926345703772706e+02 -2.927685434638595e+02 -2.929025626397000e+02 -2.930366280470975e+02 + -2.931707398343328e+02 -2.933048979103752e+02 -2.934391021578708e+02 -2.935733525934834e+02 -2.937076492857184e+02 + -2.938419923764308e+02 -2.939763819565550e+02 -2.941108178399977e+02 -2.942452998623305e+02 -2.943798282228154e+02 + -2.945144031200941e+02 -2.946490243866398e+02 -2.947836918481424e+02 -2.949184056693277e+02 -2.950531660302706e+02 + -2.951879728334102e+02 -2.953228259514730e+02 -2.954577254159683e+02 -2.955926713017622e+02 -2.957276636983648e+02 + -2.958627026572042e+02 -2.959977880627373e+02 -2.961329198152110e+02 -2.962680980450039e+02 -2.964033228802077e+02 + -2.965385942096344e+02 -2.966739119278574e+02 -2.968092761917713e+02 -2.969446871501122e+02 -2.970801446566606e+02 + -2.972156485544735e+02 -2.973511989386669e+02 -2.974867959450954e+02 -2.976224396205114e+02 -2.977581299655766e+02 + -2.978938668856917e+02 -2.980296503111913e+02 -2.981654803674056e+02 -2.983013571739824e+02 -2.984372806328453e+02 + -2.985732506311156e+02 -2.987092672144286e+02 -2.988453304703744e+02 -2.989814404958496e+02 -2.991175973412398e+02 + -2.992538008615809e+02 -2.993900509369414e+02 -2.995263477428711e+02 -2.996626914493826e+02 -2.997990819088619e+02 + -2.999355189707111e+02 -3.000720027900217e+02 -3.002085335269560e+02 -3.003451110562723e+02 -3.004817352353309e+02 + -3.006184061373012e+02 -3.007551238767678e+02 -3.008918885181671e+02 -3.010287000846923e+02 -3.011655584847104e+02 + -3.013024636430795e+02 -3.014394156654455e+02 -3.015764146559894e+02 -3.017134605322491e+02 -3.018505532010304e+02 + -3.019876927128527e+02 -3.021248791518991e+02 -3.022621125932933e+02 -3.023993930706231e+02 -3.025367204603900e+02 + -3.026740946641424e+02 -3.028115158406990e+02 -3.029489841386069e+02 -3.030864994080570e+02 -3.032240615026816e+02 + -3.033616705882347e+02 -3.034993268395738e+02 -3.036370301558538e+02 -3.037747804087723e+02 -3.039125776359002e+02 + -3.040504219146317e+02 -3.041883133157825e+02 -3.043262518737324e+02 -3.044642374836954e+02 -3.046022700638564e+02 + -3.047403497634464e+02 -3.048784767248004e+02 -3.050166508316213e+02 -3.051548719471290e+02 -3.052931401112401e+02 + -3.054314554166776e+02 -3.055698179906950e+02 -3.057082279030724e+02 -3.058466849591645e+02 -3.059851889955948e+02 + -3.061237402384871e+02 -3.062623389075358e+02 -3.064009848072192e+02 -3.065396777363650e+02 -3.066784178864098e+02 + -3.068172054654241e+02 -3.069560403554044e+02 -3.070949224023651e+02 -3.072338516344630e+02 -3.073728281334552e+02 + -3.075118520133569e+02 -3.076509233435525e+02 -3.077900419826468e+02 -3.079292078053290e+02 -3.080684209614084e+02 + -3.082076816048298e+02 -3.083469896309615e+02 -3.084863449149456e+02 -3.086257475095906e+02 -3.087651975081579e+02 + -3.089046949880547e+02 -3.090442399817611e+02 -3.091838323579038e+02 -3.093234720151574e+02 -3.094631591362355e+02 + -3.096028938900603e+02 -3.097426761063483e+02 -3.098825056148365e+02 -3.100223825845469e+02 -3.101623071983122e+02 + -3.103022793549238e+02 -3.104422989228102e+02 -3.105823659329897e+02 -3.107224804626276e+02 -3.108626426108901e+02 + -3.110028524323948e+02 -3.111431097815640e+02 -3.112834145351391e+02 -3.114237668593314e+02 -3.115641669247677e+02 + -3.117046146302696e+02 -3.118451098470761e+02 -3.119856526079039e+02 -3.121262429897644e+02 -3.122668810853719e+02 + -3.124075669478935e+02 -3.125483004566077e+02 -3.126890815070839e+02 -3.128299102339429e+02 -3.129707867704560e+02 + -3.131117110054437e+02 -3.132526828292356e+02 -3.133937023826453e+02 -3.135347698019019e+02 -3.136758849544115e+02 + -3.138170476993112e+02 -3.139582581314797e+02 -3.140995163841689e+02 -3.142408225083815e+02 -3.143821765079714e+02 + -3.145235782804463e+02 -3.146650277504123e+02 -3.148065250572144e+02 -3.149480703283944e+02 -3.150896634295446e+02 + -3.152313042212708e+02 -3.153729928061792e+02 -3.155147293192109e+02 -3.156565137826469e+02 -3.157983461803634e+02 + -3.159402264552761e+02 -3.160821545730877e+02 -3.162241306316100e+02 -3.163661547129774e+02 -3.165082267045055e+02 + -3.166503465083330e+02 -3.167925142807053e+02 -3.169347301718565e+02 -3.170769940538677e+02 -3.172193057829434e+02 + -3.173616654299331e+02 -3.175040731106142e+02 -3.176465289058318e+02 -3.177890328440690e+02 -3.179315847792938e+02 + -3.180741845934695e+02 -3.182168324550577e+02 -3.183595285351408e+02 -3.185022727287870e+02 -3.186450649049847e+02 + -3.187879051044167e+02 -3.189307934072479e+02 -3.190737298798787e+02 -3.192167145562098e+02 -3.193597473539087e+02 + -3.195028282067584e+02 -3.196459572292360e+02 -3.197891345287240e+02 -3.199323600035334e+02 -3.200756335516368e+02 + -3.202189552787263e+02 -3.203623252990410e+02 -3.205057435532916e+02 -3.206492099607363e+02 -3.207927245283494e+02 + -3.209362873029775e+02 -3.210798984032395e+02 -3.212235579095965e+02 -3.213672656781062e+02 -3.215110215776564e+02 + -3.216548257528610e+02 -3.217986783602123e+02 -3.219425793279964e+02 -3.220865285490494e+02 -3.222305260026159e+02 + -3.223745717228416e+02 -3.225186658770672e+02 -3.226628085862362e+02 -3.228069996525048e+02 -3.229512388959131e+02 + -3.230955265268207e+02 -3.232398627556209e+02 -3.233842474025269e+02 -3.235286802821290e+02 -3.236731615767077e+02 + -3.238176914785998e+02 -3.239622698526831e+02 -3.241068965416273e+02 -3.242515716267282e+02 -3.243962952303619e+02 + -3.245410674006047e+02 -3.246858881442026e+02 -3.248307573768830e+02 -3.249756750377737e+02 -3.251206412506237e+02 + -3.252656561247559e+02 -3.254107195271718e+02 -3.255558313340717e+02 -3.257009917007768e+02 -3.258462007853361e+02 + -3.259914584775946e+02 -3.261367646471811e+02 -3.262821193510638e+02 -3.264275226864755e+02 -3.265729747243638e+02 + -3.267184754961565e+02 -3.268640249014856e+02 -3.270096228564299e+02 -3.271552694746495e+02 -3.273009648690628e+02 + -3.274467089520415e+02 -3.275925016223748e+02 -3.277383429250694e+02 -3.278842329472037e+02 -3.280301717979274e+02 + -3.281761595333842e+02 -3.283221959756238e+02 -3.284682809773962e+02 -3.286144147483458e+02 -3.287605974914733e+02 + -3.289068290263132e+02 -3.290531091681708e+02 -3.291994380988984e+02 -3.293458160115122e+02 -3.294922427771376e+02 + -3.296387182388717e+02 -3.297852424495862e+02 -3.299318155124273e+02 -3.300784375218649e+02 -3.302251085265343e+02 + -3.303718284004092e+02 -3.305185970357408e+02 -3.306654145725511e+02 -3.308122811494171e+02 -3.309591966513669e+02 + -3.311061609508276e+02 -3.312531741233722e+02 -3.314002362831168e+02 -3.315473474952068e+02 -3.316945077733321e+02 + -3.318417169743284e+02 -3.319889749946440e+02 -3.321362820460264e+02 -3.322836383216903e+02 -3.324310436254205e+02 + -3.325784977579187e+02 -3.327260008969810e+02 -3.328735532388732e+02 -3.330211546766479e+02 -3.331688050699581e+02 + -3.333165044480712e+02 -3.334642528918999e+02 -3.336120505193238e+02 -3.337598974031960e+02 -3.339077933992973e+02 + -3.340557383761620e+02 -3.342037324704123e+02 -3.343517758263186e+02 -3.344998683506588e+02 -3.346480099317598e+02 + -3.347962006216366e+02 -3.349444405123485e+02 -3.350927296924430e+02 -3.352410681997821e+02 -3.353894558729969e+02 + -3.355378925848257e+02 -3.356863785436656e+02 -3.358349139484366e+02 -3.359834986244929e+02 -3.361321323883865e+02 + -3.362808153950241e+02 -3.364295478191028e+02 -3.365783295761255e+02 -3.367271605486342e+02 -3.368760407465185e+02 + -3.370249702279324e+02 -3.371739491167402e+02 -3.373229774932894e+02 -3.374720551981496e+02 -3.376211820935624e+02 + -3.377703583682330e+02 -3.379195842066430e+02 -3.380688594499171e+02 -3.382181839217990e+02 -3.383675577198622e+02 + -3.385169809890102e+02 -3.386664537896355e+02 -3.388159761271593e+02 -3.389655478716282e+02 -3.391151689236262e+02 + -3.392648394412631e+02 -3.394145595795439e+02 -3.395643292235305e+02 -3.397141482525620e+02 -3.398640167930273e+02 + -3.400139349724158e+02 -3.401639026755699e+02 -3.403139197760493e+02 -3.404639863449279e+02 -3.406141024957107e+02 + -3.407642683141136e+02 -3.409144838324194e+02 -3.410647488969659e+02 -3.412150633828331e+02 -3.413654274660125e+02 + -3.415158413252182e+02 -3.416663048491409e+02 -3.418168178992377e+02 -3.419673805180489e+02 -3.421179927901010e+02 + -3.422686547867838e+02 -3.424193665441726e+02 -3.425701279702224e+02 -3.427209389917095e+02 -3.428717997388184e+02 + -3.430227103286458e+02 -3.431736706225328e+02 -3.433246804902436e+02 -3.434757400909901e+02 -3.436268495884827e+02 + -3.437780088749811e+02 -3.439292178162220e+02 -3.440804764432992e+02 -3.442317848369893e+02 -3.443831431114438e+02 + -3.445345513395477e+02 -3.446860093957458e+02 -3.448375171638715e+02 -3.449890747637513e+02 -3.451406823209921e+02 + -3.452923397483303e+02 -3.454440469383874e+02 -3.455958039161959e+02 -3.457476107544265e+02 -3.458994675838882e+02 + -3.460513744837874e+02 -3.462033312687789e+02 -3.463553377809081e+02 -3.465073942363314e+02 -3.466595008454457e+02 + -3.468116574214998e+02 -3.469638637732855e+02 -3.471161200889126e+02 -3.472684265676839e+02 -3.474207830743587e+02 + -3.475731894457752e+02 -3.477256457416318e+02 -3.478781520698926e+02 -3.480307085087305e+02 -3.481833150905516e+02 + -3.483359716944890e+02 -3.484886782275422e+02 -3.486414348614480e+02 -3.487942417546251e+02 -3.489470987474849e+02 + -3.491000056682386e+02 -3.492529626143035e+02 -3.494059697303613e+02 -3.495590270809477e+02 -3.497121346735108e+02 + -3.498652923672977e+02 -3.500185000578142e+02 -3.501717579338015e+02 -3.503250661735650e+02 -3.504784246204307e+02 + -3.506318331106053e+02 -3.507852917867942e+02 -3.509388008057230e+02 -3.510923600737020e+02 -3.512459694729739e+02 + -3.513996290399252e+02 -3.515533388531561e+02 -3.517070990059733e+02 -3.518609095547224e+02 -3.520147703931951e+02 + -3.521686814254426e+02 -3.523226427591028e+02 -3.524766545004363e+02 -3.526307165466042e+02 -3.527848288024159e+02 + -3.529389914123712e+02 -3.530932045168612e+02 -3.532474680001527e+02 -3.534017817301934e+02 -3.535561457657783e+02 + -3.537105602073667e+02 -3.538650251312291e+02 -3.540195405716707e+02 -3.541741064193253e+02 -3.543287225825957e+02 + -3.544833891846346e+02 -3.546381063473606e+02 -3.547928739730113e+02 -3.549476919508821e+02 -3.551025603381796e+02 + -3.552574792297605e+02 -3.554124487031720e+02 -3.555674687945711e+02 -3.557225393918643e+02 -3.558776604020463e+02 + -3.560328319567154e+02 -3.561880541805177e+02 -3.563433269456882e+02 -3.564986501330765e+02 -3.566540239103983e+02 + -3.568094484429710e+02 -3.569649235996524e+02 -3.571204492251743e+02 -3.572760253642205e+02 -3.574316521198430e+02 + -3.575873296286128e+02 -3.577430579645793e+02 -3.578988369181832e+02 -3.580546663122107e+02 -3.582105463824335e+02 + -3.583664773634632e+02 -3.585224590722860e+02 -3.586784912980774e+02 -3.588345741363943e+02 -3.589907077420278e+02 + -3.591468922003262e+02 -3.593031275347307e+02 -3.594594135904955e+02 -3.596157502414973e+02 -3.597721376542854e+02 + -3.599285759961583e+02 -3.600850651447366e+02 -3.602416049709182e+02 -3.603981956083848e+02 -3.605548371920680e+02 + -3.607115295991184e+02 -3.608682726958015e+02 -3.610250665626241e+02 -3.611819113190277e+02 -3.613388070259530e+02 + -3.614957536972620e+02 -3.616527512170044e+02 -3.618097994957786e+02 -3.619668986801910e+02 -3.621240489112448e+02 + -3.622812500715253e+02 -3.624385020268735e+02 -3.625958048345691e+02 -3.627531585959862e+02 -3.629105633974360e+02 + -3.630680192762735e+02 -3.632255260890885e+02 -3.633830837209757e+02 -3.635406923518125e+02 -3.636983521500620e+02 + -3.638560629437486e+02 -3.640138245654421e+02 -3.641716372063300e+02 -3.643295010634408e+02 -3.644874159985495e+02 + -3.646453818454157e+02 -3.648033986609884e+02 -3.649614665547653e+02 -3.651195856232492e+02 -3.652777559169987e+02 + -3.654359773157880e+02 -3.655942497193339e+02 -3.657525732779061e+02 -3.659109481367831e+02 -3.660693741707290e+02 + -3.662278512419212e+02 -3.663863794327037e+02 -3.665449588644519e+02 -3.667035895945005e+02 -3.668622716357800e+02 + -3.670210048876434e+02 -3.671797892763418e+02 -3.673386249492966e+02 -3.674975120447079e+02 -3.676564504427247e+02 + -3.678154400208724e+02 -3.679744809042344e+02 -3.681335732252156e+02 -3.682927168979475e+02 -3.684519118222935e+02 + -3.686111580593141e+02 -3.687704557033292e+02 -3.689298048205014e+02 -3.690892054329191e+02 -3.692486574145354e+02 + -3.694081606700869e+02 -3.695677153755793e+02 -3.697273216946131e+02 -3.698869794698993e+02 -3.700466885253786e+02 + -3.702064489307988e+02 -3.703662608017668e+02 -3.705261241915196e+02 -3.706860391012269e+02 -3.708460053861607e+02 + -3.710060229388483e+02 -3.711660919467376e+02 -3.713262125796104e+02 -3.714863846416646e+02 -3.716466079328989e+02 + -3.718068826020972e+02 -3.719672088201144e+02 -3.721275864973102e+02 -3.722880155098476e+02 -3.724484958575989e+02 + -3.726090275883345e+02 -3.727696108177087e+02 -3.729302456171431e+02 -3.730909318132427e+02 -3.732516692484294e+02 + -3.734124580732086e+02 -3.735732984485285e+02 -3.737341902690280e+02 -3.738951333966488e+02 -3.740561278288502e+02 + -3.742171736164895e+02 -3.743782708884933e+02 -3.745394197314636e+02 -3.747006199846337e+02 -3.748618715145197e+02 + -3.750231745441332e+02 -3.751845292967938e+02 -3.753459356405600e+02 -3.755073934398666e+02 -3.756689028999150e+02 + -3.758304642401999e+02 -3.759920773966298e+02 -3.761537422764503e+02 -3.763154589558405e+02 -3.764772275566993e+02 + -3.766390482148706e+02 -3.768009210261144e+02 -3.769628459119104e+02 -3.771248228066682e+02 -3.772868518707951e+02 + -3.774489332703654e+02 -3.776110669681248e+02 -3.777732529036114e+02 -3.779354911268638e+02 -3.780977817328078e+02 + -3.782601248854201e+02 -3.784225207068740e+02 -3.785849690830777e+02 -3.787474699201715e+02 -3.789100234414875e+02 + -3.790726298611719e+02 -3.792352890394379e+02 -3.793980008403989e+02 -3.795607654977005e+02 -3.797235832511840e+02 + -3.798864539959452e+02 -3.800493775732837e+02 -3.802123539540593e+02 -3.803753831256555e+02 -3.805384650119894e+02 + -3.807015994897982e+02 -3.808647863105625e+02 -3.810280252452890e+02 -3.811913162683451e+02 -3.813546593533040e+02 + -3.815180542672069e+02 -3.816815007606327e+02 -3.818449987248433e+02 -3.820085480876401e+02 -3.821721487823003e+02 + -3.823358007029311e+02 -3.824995035814819e+02 -3.826632571794644e+02 -3.828270615387958e+02 -3.829909166775790e+02 + -3.831548222382581e+02 -3.833187778788636e+02 -3.834827836954302e+02 -3.836468397830658e+02 -3.838109457951704e+02 + -3.839751013606573e+02 -3.841393064522010e+02 -3.843035610985582e+02 -3.844678652090594e+02 -3.846322186342679e+02 + -3.847966211091070e+02 -3.849610723938522e+02 -3.851255724658270e+02 -3.852901213276589e+02 -3.854547188661456e+02 + -3.856193651039130e+02 -3.857840607227301e+02 -3.859488064858506e+02 -3.861136028233281e+02 -3.862784501283425e+02 + -3.864433489797775e+02 -3.866083000045549e+02 -3.867733038360474e+02 -3.869383610689728e+02 -3.871034721369783e+02 + -3.872686374886131e+02 -3.874338577931016e+02 -3.875991337168530e+02 -3.877644656943423e+02 -3.879298541437876e+02 + -3.880952996503134e+02 -3.882608028487801e+02 -3.884263644060860e+02 -3.885919849359946e+02 -3.887576648076931e+02 + -3.889234044110585e+02 -3.890892044633024e+02 -3.892550656828005e+02 -3.894209884652491e+02 -3.895869732058733e+02 + -3.897530206206903e+02 -3.899191314265681e+02 -3.900853060229904e+02 -3.902515447813749e+02 -3.904178482782592e+02 + -3.905842171832736e+02 -3.907506523333024e+02 -3.909171542011455e+02 -3.910837216360146e+02 -3.912503530200719e+02 + -3.914170464908692e+02 -3.915838000867597e+02 -3.917506116939103e+02 -3.919174791997058e+02 -3.920844006485843e+02 + -3.922513741233318e+02 -3.924183977030698e+02 -3.925854694180132e+02 -3.927525871064144e+02 -3.929197486330507e+02 + -3.930869521607613e+02 -3.932541958513385e+02 -3.934214775643266e+02 -3.935887951493436e+02 -3.937561467185514e+02 + -3.939235303999417e+02 -3.940909441222876e+02 -3.942583857858931e+02 -3.944258533764072e+02 -3.945933449213566e+02 + -3.947608585304349e+02 -3.949283922804248e+02 -3.950959440342958e+02 -3.952635116636291e+02 -3.954310932882606e+02 + -3.955986870327357e+02 -3.957662907921835e+02 -3.959339024467546e+02 -3.961015200461023e+02 -3.962691416638499e+02 + 1.070000000000000e-01 1.069682658750319e-01 1.069365186252596e-01 1.069047582677665e-01 1.068729848196356e-01 + 1.068411982979503e-01 1.068093987197937e-01 1.067775861022493e-01 1.067457604624000e-01 1.067139218173294e-01 + 1.066820701841205e-01 1.066502055798566e-01 1.066183280216209e-01 1.065864375264968e-01 1.065545341115673e-01 + 1.065226177939159e-01 1.064906885906257e-01 1.064587465187799e-01 1.064267915954618e-01 1.063948238377547e-01 + 1.063628432627417e-01 1.063308498875062e-01 1.062988437291314e-01 1.062668248047005e-01 1.062347931312967e-01 + 1.062027487260033e-01 1.061706916059036e-01 1.061386217880807e-01 1.061065392896180e-01 1.060744441275985e-01 + 1.060423363191058e-01 1.060102158812228e-01 1.059780828310330e-01 1.059459371856195e-01 1.059137789620655e-01 + 1.058816081774544e-01 1.058494248488693e-01 1.058172289933936e-01 1.057850206281103e-01 1.057527997701029e-01 + 1.057205664364545e-01 1.056883206442483e-01 1.056560624105677e-01 1.056237917524958e-01 1.055915086871159e-01 + 1.055592132315112e-01 1.055269054027650e-01 1.054945852179606e-01 1.054622526941811e-01 1.054299078485097e-01 + 1.053975506980299e-01 1.053651812598247e-01 1.053327995509774e-01 1.053004055885713e-01 1.052679993896897e-01 + 1.052355809714157e-01 1.052031503508325e-01 1.051707075450236e-01 1.051382525710719e-01 1.051057854460610e-01 + 1.050733061870738e-01 1.050408148111938e-01 1.050083113355042e-01 1.049757957770881e-01 1.049432681530288e-01 + 1.049107284804097e-01 1.048781767763138e-01 1.048456130578245e-01 1.048130373420250e-01 1.047804496459986e-01 + 1.047478499868284e-01 1.047152383815977e-01 1.046826148473898e-01 1.046499794012880e-01 1.046173320603753e-01 + 1.045846728417352e-01 1.045520017624508e-01 1.045193188396054e-01 1.044866240902822e-01 1.044539175315645e-01 + 1.044211991805354e-01 1.043884690542783e-01 1.043557271698764e-01 1.043229735444130e-01 1.042902081949712e-01 + 1.042574311386343e-01 1.042246423924855e-01 1.041918419736082e-01 1.041590298990855e-01 1.041262061860007e-01 + 1.040933708514369e-01 1.040605239124776e-01 1.040276653862059e-01 1.039947952897050e-01 1.039619136400582e-01 + 1.039290204543487e-01 1.038961157496599e-01 1.038631995430748e-01 1.038302718516768e-01 1.037973326925491e-01 + 1.037643820827749e-01 1.037314200394375e-01 1.036984465796201e-01 1.036654617204061e-01 1.036324654788785e-01 + 1.035994578721206e-01 1.035664389172158e-01 1.035334086312472e-01 1.035003670312980e-01 1.034673141344516e-01 + 1.034342499577912e-01 1.034011745183999e-01 1.033680878333612e-01 1.033349899197580e-01 1.033018807946739e-01 + 1.032687604751918e-01 1.032356289783953e-01 1.032024863213673e-01 1.031693325211913e-01 1.031361675949504e-01 + 1.031029915597278e-01 1.030698044326069e-01 1.030366062306709e-01 1.030033969710030e-01 1.029701766706864e-01 + 1.029369453468044e-01 1.029037030164402e-01 1.028704496966771e-01 1.028371854045984e-01 1.028039101572872e-01 + 1.027706239718267e-01 1.027373268653004e-01 1.027040188547913e-01 1.026706999573827e-01 1.026373701901580e-01 + 1.026040295702002e-01 1.025706781145926e-01 1.025373158404186e-01 1.025039427647613e-01 1.024705589047040e-01 + 1.024371642773299e-01 1.024037588997223e-01 1.023703427889643e-01 1.023369159621393e-01 1.023034784363305e-01 + 1.022700302286212e-01 1.022365713560945e-01 1.022031018358337e-01 1.021696216849221e-01 1.021361309204428e-01 + 1.021026295594792e-01 1.020691176191145e-01 1.020355951164319e-01 1.020020620685147e-01 1.019685184924461e-01 + 1.019349644053093e-01 1.019013998241876e-01 1.018678247661643e-01 1.018342392483225e-01 1.018006432877456e-01 + 1.017670369015167e-01 1.017334201067191e-01 1.016997929204361e-01 1.016661553597508e-01 1.016325074417466e-01 + 1.015988491835066e-01 1.015651806021141e-01 1.015315017146524e-01 1.014978125382047e-01 1.014641130898543e-01 + 1.014304033866843e-01 1.013966834457780e-01 1.013629532842187e-01 1.013292129190896e-01 1.012954623674739e-01 + 1.012617016464549e-01 1.012279307731159e-01 1.011941497645400e-01 1.011603586378106e-01 1.011265574100107e-01 + 1.010927460982239e-01 1.010589247195331e-01 1.010250932910217e-01 1.009912518297729e-01 1.009574003528701e-01 + 1.009235388773963e-01 1.008896674204348e-01 1.008557859990690e-01 1.008218946303820e-01 1.007879933314571e-01 + 1.007540821193774e-01 1.007201610112264e-01 1.006862300240872e-01 1.006522891750429e-01 1.006183384811770e-01 + 1.005843779595726e-01 1.005504076273130e-01 1.005164275014813e-01 1.004824375991610e-01 1.004484379374351e-01 + 1.004144285333870e-01 1.003804094040999e-01 1.003463805666569e-01 1.003123420381414e-01 1.002782938356367e-01 + 1.002442359762259e-01 1.002101684769922e-01 1.001760913550190e-01 1.001420046273895e-01 1.001079083111869e-01 + 1.000738024234945e-01 1.000396869813954e-01 1.000055620019730e-01 9.997142750231042e-02 9.993728349949102e-02 + 9.990313001059796e-02 9.986896705271456e-02 9.983479464292398e-02 9.980061279830947e-02 9.976642153595434e-02 + 9.973222087294174e-02 9.969801082635499e-02 9.966379141327726e-02 9.962956265079187e-02 9.959532455598200e-02 + 9.956107714593093e-02 9.952682043772192e-02 9.949255444843813e-02 9.945827919516288e-02 9.942399469497937e-02 + 9.938970096497086e-02 9.935539802222057e-02 9.932108588381178e-02 9.928676456682770e-02 9.925243408835159e-02 + 9.921809446546671e-02 9.918374571525623e-02 9.914938785480347e-02 9.911502090119163e-02 9.908064487150398e-02 + 9.904625978282372e-02 9.901186565223413e-02 9.897746249681845e-02 9.894305033365988e-02 9.890862917984172e-02 + 9.887419905244718e-02 9.883975996855951e-02 9.880531194526194e-02 9.877085499963774e-02 9.873638914877009e-02 + 9.870191440974231e-02 9.866743079963761e-02 9.863293833553920e-02 9.859843703453038e-02 9.856392691369432e-02 + 9.852940799011436e-02 9.849488028087365e-02 9.846034380305550e-02 9.842579857374308e-02 9.839124461001970e-02 + 9.835668192896858e-02 9.832211054767293e-02 9.828753048321603e-02 9.825294175268109e-02 9.821834437315143e-02 + 9.818373836171017e-02 9.814912373544066e-02 9.811450051142606e-02 9.807986870674969e-02 9.804522833849474e-02 + 9.801057942374444e-02 9.797592197958208e-02 9.794125602309085e-02 9.790658157135405e-02 9.787189864145487e-02 + 9.783720725047659e-02 9.780250741550246e-02 9.776779915361565e-02 9.773308248189948e-02 9.769835741743713e-02 + 9.766362397731190e-02 9.762888217860698e-02 9.759413203840565e-02 9.755937357379113e-02 9.752460680184671e-02 + 9.748983173965557e-02 9.745504840430097e-02 9.742025681286617e-02 9.738545698243438e-02 9.735064893008888e-02 + 9.731583267291286e-02 9.728100822798963e-02 9.724617561240236e-02 9.721133484323437e-02 9.717648593756885e-02 + 9.714162891248904e-02 9.710676378507821e-02 9.707189057241956e-02 9.703700929159639e-02 9.700211995969188e-02 + 9.696722259378933e-02 9.693231721097194e-02 9.689740382832296e-02 9.686248246292567e-02 9.682755313186324e-02 + 9.679261585221899e-02 9.675767064107609e-02 9.672271751551782e-02 9.668775649262741e-02 9.665278758948814e-02 + 9.661781082318323e-02 9.658282621079586e-02 9.654783376940938e-02 9.651283351610694e-02 9.647782546797186e-02 + 9.644280964208730e-02 9.640778605553657e-02 9.637275472540287e-02 9.633771566876947e-02 9.630266890271960e-02 + 9.626761444433649e-02 9.623255231070338e-02 9.619748251890356e-02 9.616240508602021e-02 9.612732002913663e-02 + 9.609222736533599e-02 9.605712711170160e-02 9.602201928531666e-02 9.598690390326445e-02 9.595178098262819e-02 + 9.591665054049109e-02 9.588151259393644e-02 9.584636716004745e-02 9.581121425590743e-02 9.577605389859950e-02 + 9.574088610520702e-02 9.570571089281314e-02 9.567052827850117e-02 9.563533827935435e-02 9.560014091245586e-02 + 9.556493619488900e-02 9.552972414373699e-02 9.549450477608308e-02 9.545927810901049e-02 9.542404415960248e-02 + 9.538880294494230e-02 9.535355448211316e-02 9.531829878819836e-02 9.528303588028109e-02 9.524776577544461e-02 + 9.521248849077216e-02 9.517720404334697e-02 9.514191245025229e-02 9.510661372857139e-02 9.507130789538748e-02 + 9.503599496778380e-02 9.500067496284360e-02 9.496534789765015e-02 9.493001378928664e-02 9.489467265483635e-02 + 9.485932451138250e-02 9.482396937600834e-02 9.478860726579713e-02 9.475323819783207e-02 9.471786218919645e-02 + 9.468247925697347e-02 9.464708941824643e-02 9.461169269009850e-02 9.457628908961296e-02 9.454087863387305e-02 + 9.450546133996199e-02 9.447003722496307e-02 9.443460630595948e-02 9.439916860003450e-02 9.436372412427137e-02 + 9.432827289575330e-02 9.429281493156354e-02 9.425735024878537e-02 9.422187886450198e-02 9.418640079579664e-02 + 9.415091605975259e-02 9.411542467345307e-02 9.407992665398136e-02 9.404442201842063e-02 9.400891078385415e-02 + 9.397339296736518e-02 9.393786858603695e-02 9.390233765695270e-02 9.386680019719568e-02 9.383125622384911e-02 + 9.379570575399625e-02 9.376014880472036e-02 9.372458539310466e-02 9.368901553623238e-02 9.365343925118678e-02 + 9.361785655505112e-02 9.358226746490858e-02 9.354667199784246e-02 9.351107017093598e-02 9.347546200127239e-02 + 9.343984750593494e-02 9.340422670200685e-02 9.336859960657137e-02 9.333296623671174e-02 9.329732660951121e-02 + 9.326168074205300e-02 9.322602865142039e-02 9.319037035469660e-02 9.315470586896488e-02 9.311903521130845e-02 + 9.308335839881057e-02 9.304767544855448e-02 9.301198637762342e-02 9.297629120310064e-02 9.294058994206936e-02 + 9.290488261161287e-02 9.286916922881436e-02 9.283344981075708e-02 9.279772437452428e-02 9.276199293719922e-02 + 9.272625551586512e-02 9.269051212760523e-02 9.265476278950278e-02 9.261900751864104e-02 9.258324633210324e-02 + 9.254747924697261e-02 9.251170628033240e-02 9.247592744926583e-02 9.244014277085617e-02 9.240435226218666e-02 + 9.236855594034055e-02 9.233275382240104e-02 9.229694592545142e-02 9.226113226657491e-02 9.222531286285476e-02 + 9.218948773137420e-02 9.215365688921646e-02 9.211782035346482e-02 9.208197814120249e-02 9.204613026951274e-02 + 9.201027675547878e-02 9.197441761618388e-02 9.193855286871126e-02 9.190268253014419e-02 9.186680661756588e-02 + 9.183092514805957e-02 9.179503813870854e-02 9.175914560659600e-02 9.172324756880521e-02 9.168734404241941e-02 + 9.165143504452181e-02 9.161552059219569e-02 9.157960070252427e-02 9.154367539259080e-02 9.150774467947854e-02 + 9.147180858027071e-02 9.143586711205055e-02 9.139992029190132e-02 9.136396813690625e-02 9.132801066414858e-02 + 9.129204789071155e-02 9.125607983367841e-02 9.122010651013239e-02 9.118412793715676e-02 9.114814413183472e-02 + 9.111215511124955e-02 9.107616089248448e-02 9.104016149262276e-02 9.100415692874760e-02 9.096814721794225e-02 + 9.093213237728998e-02 9.089611242387401e-02 9.086008737477760e-02 9.082405724708396e-02 9.078802205787638e-02 + 9.075198182423806e-02 9.071593656325225e-02 9.067988629200220e-02 9.064383102757116e-02 9.060777078704237e-02 + 9.057170558749904e-02 9.053563544602444e-02 9.049956037970180e-02 9.046348040561442e-02 9.042739554084545e-02 + 9.039130580247817e-02 9.035521120759583e-02 9.031911177328168e-02 9.028300751661894e-02 9.024689845469086e-02 + 9.021078460458068e-02 9.017466598337168e-02 9.013854260814702e-02 9.010241449599002e-02 9.006628166398388e-02 + 9.003014412921184e-02 8.999400190875718e-02 8.995785501970310e-02 8.992170347913286e-02 8.988554730412972e-02 + 8.984938651177689e-02 8.981322111915761e-02 8.977705114335516e-02 8.974087660145275e-02 8.970469751053363e-02 + 8.966851388768103e-02 8.963232574997822e-02 8.959613311450842e-02 8.955993599835491e-02 8.952373441860086e-02 + 8.948752839232957e-02 8.945131793662427e-02 8.941510306856817e-02 8.937888380524456e-02 8.934266016373665e-02 + 8.930643216112769e-02 8.927019981450095e-02 8.923396314093963e-02 8.919772215752698e-02 8.916147688134625e-02 + 8.912522732948071e-02 8.908897351901354e-02 8.905271546702803e-02 8.901645319060740e-02 8.898018670683491e-02 + 8.894391603279379e-02 8.890764118556729e-02 8.887136218223864e-02 8.883507903989107e-02 8.879879177560786e-02 + 8.876250040647221e-02 8.872620494956741e-02 8.868990542197666e-02 8.865360184078323e-02 8.861729422307035e-02 + 8.858098258592126e-02 8.854466694641919e-02 8.850834732164740e-02 8.847202372868912e-02 8.843569618462761e-02 + 8.839936470654611e-02 8.836302931152785e-02 8.832669001665606e-02 8.829034683901400e-02 8.825399979568492e-02 + 8.821764890375206e-02 8.818129418029862e-02 8.814493564240788e-02 8.810857330716310e-02 8.807220719164749e-02 + 8.803583731294432e-02 8.799946368813677e-02 8.796308633430815e-02 8.792670526854167e-02 8.789032050792057e-02 + 8.785393206952812e-02 8.781753997044753e-02 8.778114422776205e-02 8.774474485855495e-02 8.770834187990943e-02 + 8.767193530890875e-02 8.763552516263615e-02 8.759911145817488e-02 8.756269421260816e-02 8.752627344301928e-02 + 8.748984916649143e-02 8.745342140010788e-02 8.741699016095185e-02 8.738055546610660e-02 8.734411733265539e-02 + 8.730767577768141e-02 8.727123081826793e-02 8.723478247149821e-02 8.719833075445547e-02 8.716187568422298e-02 + 8.712541727788393e-02 8.708895555252159e-02 8.705249052521923e-02 8.701602221306004e-02 8.697955063312730e-02 + 8.694307580250422e-02 8.690659773827408e-02 8.687011645752010e-02 8.683363197732555e-02 8.679714431477362e-02 + 8.676065348694757e-02 8.672415951093065e-02 8.668766240380611e-02 8.665116218265721e-02 8.661465886456714e-02 + 8.657815246661917e-02 8.654164300589655e-02 8.650513049948251e-02 8.646861496446030e-02 8.643209641791315e-02 + 8.639557487692430e-02 8.635905035857701e-02 8.632252287995451e-02 8.628599245814005e-02 8.624945911021686e-02 + 8.621292285326819e-02 8.617638370437727e-02 8.613984168062737e-02 8.610329679910171e-02 8.606674907688353e-02 + 8.603019853105608e-02 8.599364517870259e-02 8.595708903690633e-02 8.592053012275053e-02 8.588396845331842e-02 + 8.584740404569323e-02 8.581083691695822e-02 8.577426708419665e-02 8.573769456449173e-02 8.570111937492672e-02 + 8.566454153258486e-02 8.562796105454940e-02 8.559137795790356e-02 8.555479225973059e-02 8.551820397711374e-02 + 8.548161312713624e-02 8.544501972688134e-02 8.540842379343229e-02 8.537182534387232e-02 8.533522439528468e-02 + 8.529862096475260e-02 8.526201506935933e-02 8.522540672618811e-02 8.518879595232219e-02 8.515218276484479e-02 + 8.511556718083918e-02 8.507894921738858e-02 8.504232889157626e-02 8.500570622048544e-02 8.496908122119934e-02 + 8.493245391080124e-02 8.489582430637438e-02 8.485919242500198e-02 8.482255828376728e-02 8.478592189975355e-02 + 8.474928329004400e-02 8.471264247172190e-02 8.467599946187047e-02 8.463935427757298e-02 8.460270693591267e-02 + 8.456605745397273e-02 8.452940584883646e-02 8.449275213758706e-02 8.445609633730780e-02 8.441943846508193e-02 + 8.438277853799266e-02 8.434611657312326e-02 8.430945258755695e-02 8.427278659837699e-02 8.423611862266661e-02 + 8.419944867750905e-02 8.416277677998756e-02 8.412610294718537e-02 8.408942719618576e-02 8.405274954407191e-02 + 8.401607000792713e-02 8.397938860483460e-02 8.394270535187759e-02 8.390602026613936e-02 8.386933336470312e-02 + 8.383264466465212e-02 8.379595418306962e-02 8.375926193703884e-02 8.372256794364304e-02 8.368587221996546e-02 + 8.364917478308932e-02 8.361247565009787e-02 8.357577483807437e-02 8.353907236410206e-02 8.350236824526415e-02 + 8.346566249864391e-02 8.342895514132459e-02 8.339224619038943e-02 8.335553566292164e-02 8.331882357600448e-02 + 8.328210994672121e-02 8.324539479215504e-02 8.320867812938924e-02 8.317195997550704e-02 8.313524034759166e-02 + 8.309851926272641e-02 8.306179673799445e-02 8.302507279047908e-02 8.298834743726349e-02 8.295162069543097e-02 + 8.291489258206473e-02 8.287816311424805e-02 8.284143230906414e-02 8.280470018359624e-02 8.276796675492762e-02 + 8.273123204014149e-02 8.269449605632111e-02 8.265775882054972e-02 8.262102034991055e-02 8.258428066148686e-02 + 8.254753977236187e-02 8.251079769961885e-02 8.247405446034105e-02 8.243731007161166e-02 8.240056455051395e-02 + 8.236381791413117e-02 8.232707017954656e-02 8.229032136384334e-02 8.225357148410478e-02 8.221682055741411e-02 + 8.218006860085458e-02 8.214331563150944e-02 8.210656166646188e-02 8.206980672279519e-02 8.203305081759260e-02 + 8.199629396793737e-02 8.195953619091272e-02 8.192277750360188e-02 8.188601792308813e-02 8.184925746645468e-02 + 8.181249615078479e-02 8.177573399316168e-02 8.173897101066861e-02 8.170220722038883e-02 8.166544263940556e-02 + 8.162867728480205e-02 8.159191117366156e-02 8.155514432306732e-02 8.151837675010254e-02 8.148160847185050e-02 + 8.144483950539445e-02 8.140806986781760e-02 8.137129957620320e-02 8.133452864763450e-02 8.129775709919475e-02 + 8.126098494796720e-02 8.122421221103504e-02 8.118743890548155e-02 8.115066504838998e-02 8.111389065684355e-02 + 8.107711574792552e-02 8.104034033871912e-02 8.100356444630759e-02 8.096678808777417e-02 8.093001128020215e-02 + 8.089323404067471e-02 8.085645638627510e-02 8.081967833408658e-02 8.078289990119239e-02 8.074612110467576e-02 + 8.070934196161997e-02 8.067256248910820e-02 8.063578270422375e-02 8.059900262404983e-02 8.056222226566968e-02 + 8.052544164616657e-02 8.048866078262369e-02 8.045187969212433e-02 8.041509839175172e-02 8.037831689858911e-02 + 8.034153522971973e-02 8.030475340222681e-02 8.026797143319361e-02 8.023118933970336e-02 8.019440713883932e-02 + 8.015762484768471e-02 8.012084248332278e-02 8.008406006283678e-02 8.004727760330994e-02 8.001049512182555e-02 + 7.997371263546676e-02 7.993693016131688e-02 7.990014771645915e-02 7.986336531797676e-02 7.982658298295300e-02 + 7.978980072847111e-02 7.975301857161432e-02 7.971623652946590e-02 7.967945461910902e-02 7.964267285762699e-02 + 7.960589126210302e-02 7.956910984962039e-02 7.953232863726228e-02 7.949554764211197e-02 7.945876688125271e-02 + 7.942198637176773e-02 7.938520613074028e-02 7.934842617525358e-02 7.931164652239087e-02 7.927486718923542e-02 + 7.923808819287045e-02 7.920130955037924e-02 7.916453127884499e-02 7.912775339535094e-02 7.909097591698037e-02 + 7.905419886081648e-02 7.901742224394255e-02 7.898064608344180e-02 7.894387039639746e-02 7.890709519989279e-02 + 7.887032051101103e-02 7.883354634683543e-02 7.879677272444922e-02 7.875999966093565e-02 7.872322717337794e-02 + 7.868645527885937e-02 7.864968399446313e-02 7.861291333727252e-02 7.857614332437074e-02 7.853937397284104e-02 + 7.850260529976670e-02 7.846583732223091e-02 7.842907005731693e-02 7.839230352210801e-02 7.835553773368738e-02 + 7.831877270913830e-02 7.828200846554398e-02 7.824524501998768e-02 7.820848238955266e-02 7.817172059132216e-02 + 7.813495964237939e-02 7.809819955980761e-02 7.806144036069006e-02 7.802468206210998e-02 7.798792468115062e-02 + 7.795116823489523e-02 7.791441274042703e-02 7.787765821482928e-02 7.784090467518520e-02 7.780415213857807e-02 + 7.776740062209107e-02 7.773065014280750e-02 7.769390071781057e-02 7.765715236418354e-02 7.762040509900967e-02 + 7.758365893937215e-02 7.754691390235426e-02 7.751017000503922e-02 7.747342726451029e-02 7.743668569785070e-02 + 7.739994532214370e-02 7.736320615447252e-02 7.732646821192042e-02 7.728973151157063e-02 7.725299607050642e-02 + 7.721626190581099e-02 7.717952903456758e-02 7.714279747385946e-02 7.710606724076986e-02 7.706933835238206e-02 + 7.703261082577922e-02 7.699588467804465e-02 7.695915992626157e-02 7.692243658751323e-02 7.688571467888285e-02 + 7.684899421745368e-02 7.681227522030898e-02 7.677555770453198e-02 7.673884168720593e-02 7.670212718541405e-02 + 7.666541421623961e-02 7.662870279676583e-02 7.659199294407595e-02 7.655528467525324e-02 7.651857800738091e-02 + 7.648187295754222e-02 7.644516954282041e-02 7.640846778029871e-02 7.637176768706039e-02 7.633506928018867e-02 + 7.629837257676678e-02 7.626167759387799e-02 7.622498434860552e-02 7.618829285803264e-02 7.615160313924255e-02 + 7.611491520931853e-02 7.607822908534380e-02 7.604154478440163e-02 7.600486232357523e-02 7.596818171994783e-02 + 7.593150299060271e-02 7.589482615262309e-02 7.585815122309225e-02 7.582147821909338e-02 7.578480715770973e-02 + 7.574813805602458e-02 7.571147093112113e-02 7.567480580008265e-02 7.563814267999236e-02 7.560148158793352e-02 + 7.556482254098935e-02 7.552816555624312e-02 7.549151065077807e-02 7.545485784167741e-02 7.541820714602442e-02 + 7.538155858090231e-02 7.534491216339434e-02 7.530826791058375e-02 7.527162583955378e-02 7.523498596738766e-02 + 7.519834831116866e-02 7.516171288797999e-02 7.512507971490495e-02 7.508844880902671e-02 7.505182018742854e-02 + 7.501519386719367e-02 7.497856986540538e-02 7.494194819914687e-02 7.490532888550142e-02 7.486871194155223e-02 + 7.483209738438257e-02 7.479548523107570e-02 7.475887549871482e-02 7.472226820438319e-02 7.468566336516404e-02 + 7.464906099814063e-02 7.461246112039621e-02 7.457586374901400e-02 7.453926890107723e-02 7.450267659366919e-02 + 7.446608684387307e-02 7.442949966877216e-02 7.439291508544965e-02 7.435633311098883e-02 7.431975376247291e-02 + 7.428317705698513e-02 7.424660301160878e-02 7.421003164342704e-02 7.417346296952319e-02 7.413689700698045e-02 + 7.410033377288210e-02 7.406377328431132e-02 7.402721555835140e-02 7.399066061208556e-02 7.395410846259706e-02 + 7.391755912696915e-02 7.388101262228504e-02 7.384446896562798e-02 7.380792817408122e-02 7.377139026472800e-02 + 7.373485525465158e-02 7.369832316093516e-02 7.366179400066203e-02 7.362526779091538e-02 7.358874454877849e-02 + 7.355222429133459e-02 7.351570703566694e-02 7.347919279885876e-02 7.344268159799329e-02 7.340617345015378e-02 + 7.336966837242348e-02 7.333316638188561e-02 7.329666749562345e-02 7.326017173072021e-02 7.322367910425913e-02 + 7.318718963332346e-02 7.315070333499644e-02 7.311422022636133e-02 7.307774032450136e-02 7.304126364649975e-02 + 7.300479020943977e-02 7.296832003040465e-02 7.293185312647765e-02 7.289538951474199e-02 7.285892921228092e-02 + 7.282247223617767e-02 7.278601860351550e-02 7.274956833137766e-02 7.271312143684736e-02 7.267667793700786e-02 + 7.264023784894239e-02 7.260380118973422e-02 7.256736797646657e-02 7.253093822622268e-02 7.249451195608582e-02 + 7.245808918313920e-02 7.242166992446607e-02 7.238525419714967e-02 7.234884201827325e-02 7.231243340492007e-02 + 7.227602837417331e-02 7.223962694311627e-02 7.220322912883217e-02 7.216683494840427e-02 7.213044441891579e-02 + 7.209405755744998e-02 7.205767438109009e-02 7.202129490691934e-02 7.198491915202099e-02 7.194854713347830e-02 + 7.191217886837446e-02 7.187581437379276e-02 7.183945366681642e-02 7.180309676452867e-02 7.176674368401278e-02 + 7.173039444235199e-02 7.169404905662952e-02 7.165770754392863e-02 7.162136992133256e-02 7.158503620592453e-02 + 7.154870641478780e-02 7.151238056500563e-02 7.147605867366123e-02 7.143974075783785e-02 7.140342683461876e-02 + 7.136711692108716e-02 7.133081103432631e-02 7.129450919141947e-02 7.125821140944985e-02 7.122191770550071e-02 + 7.118562809665530e-02 7.114934259999683e-02 7.111306123260858e-02 7.107678401157377e-02 7.104051095397565e-02 + 7.100424207689746e-02 7.096797739742244e-02 7.093171693263382e-02 7.089546069961486e-02 7.085920871544882e-02 + 7.082296099721888e-02 7.078671756200834e-02 7.075047842690044e-02 7.071424360897838e-02 7.067801312532543e-02 + 7.064178699302483e-02 7.060556522915983e-02 7.056934785081363e-02 7.053313487506954e-02 7.049692631901075e-02 + 7.046072219972052e-02 7.042452253428211e-02 7.038832733977872e-02 7.035213663329361e-02 7.031595043191004e-02 + 7.027976875271123e-02 7.024359161278042e-02 7.020741902920087e-02 7.017125101905583e-02 7.013508759942851e-02 + 7.009892878740216e-02 7.006277460006004e-02 7.002662505448538e-02 6.999048016776144e-02 6.995433995697144e-02 + 6.991820443919861e-02 6.988207363152622e-02 6.984594755103750e-02 6.980982621481568e-02 6.977370963994402e-02 + 6.973759784350578e-02 6.970149084258416e-02 6.966538865426242e-02 6.962929129562380e-02 6.959319878375156e-02 + 6.955711113572893e-02 6.952102836863913e-02 6.948495049956542e-02 6.944887754559105e-02 6.941280952379927e-02 + 6.937674645127329e-02 6.934068834509637e-02 6.930463522235174e-02 6.926858710012268e-02 6.923254399549238e-02 + 6.919650592554411e-02 6.916047290736112e-02 6.912444495802665e-02 6.908842209462392e-02 6.905240433423616e-02 + 6.901639169394666e-02 6.898038419083864e-02 6.894438184199533e-02 6.890838466449999e-02 6.887239267543585e-02 + 6.883640589188617e-02 6.880042433093415e-02 6.876444800966307e-02 6.872847694515619e-02 6.869251115449670e-02 + 6.865655065476786e-02 6.862059546305292e-02 6.858464559643512e-02 6.854870107199770e-02 6.851276190682393e-02 + 6.847682811799699e-02 6.844089972260017e-02 6.840497673771671e-02 6.836905918042983e-02 6.833314706782279e-02 + 6.829724041697882e-02 6.826133924498116e-02 6.822544356891308e-02 6.818955340585779e-02 6.815366877289854e-02 + 6.811778968711857e-02 6.808191616560114e-02 6.804604822542948e-02 6.801018588368681e-02 6.797432915745642e-02 + 6.793847806382150e-02 6.790263261986533e-02 6.786679284267115e-02 6.783095874932217e-02 6.779513035690166e-02 + 6.775930768249286e-02 6.772349074317900e-02 6.768767955604332e-02 6.765187413816909e-02 6.761607450663952e-02 + 6.758028067853786e-02 6.754449267094738e-02 6.750871050095128e-02 6.747293418563281e-02 6.743716374207524e-02 + 6.740139918736179e-02 6.736564053857570e-02 6.732988781280023e-02 6.729414102711860e-02 6.725840019861405e-02 + 6.722266534436987e-02 6.718693648146923e-02 6.715121362699542e-02 6.711549679803168e-02 6.707978601166123e-02 + 6.704408128496732e-02 6.700838263503321e-02 6.697269007894212e-02 6.693700363377729e-02 6.690132331662198e-02 + 6.686564914455943e-02 6.682998113467287e-02 6.679431930404556e-02 6.675866366976070e-02 6.672301424890158e-02 + 6.668737105855144e-02 6.665173411579348e-02 6.661610343771096e-02 6.658047904138716e-02 6.654486094390526e-02 + 6.650924916234854e-02 6.647364371380024e-02 6.643804461534360e-02 6.640245188406185e-02 6.636686553703826e-02 + 6.633128559135604e-02 6.629571206409844e-02 6.626014497234871e-02 6.622458433319009e-02 6.618903016370581e-02 + 6.615348248097914e-02 6.611794130209329e-02 6.608240664413152e-02 6.604687852417708e-02 6.601135695931318e-02 + 6.597584196662311e-02 6.594033356319007e-02 6.590483176609731e-02 6.586933659242808e-02 6.583384805926563e-02 + 6.579836618369318e-02 6.576289098279399e-02 6.572742247365128e-02 6.569196067334833e-02 6.565650559896835e-02 + 6.562105726759460e-02 6.558561569631030e-02 6.555018090219872e-02 6.551475290234308e-02 6.547933171382664e-02 + 6.544391735373260e-02 6.540850983914427e-02 6.537310918714484e-02 6.533771541481756e-02 6.530232853924568e-02 + 6.526694857751246e-02 6.523157554670111e-02 6.519620946389489e-02 6.516085034617702e-02 6.512549821063078e-02 + 6.509015307433939e-02 6.505481495438609e-02 6.501948386785412e-02 6.498415983182672e-02 6.494884286338716e-02 + 6.491353297961865e-02 6.487823019760443e-02 6.484293453442776e-02 6.480764600717190e-02 6.477236463292005e-02 + 6.473709042875546e-02 6.470182341176141e-02 6.466656359902111e-02 6.463131100761778e-02 6.459606565463470e-02 + 6.456082755715510e-02 6.452559673226224e-02 6.449037319703932e-02 6.445515696856961e-02 6.441994806393636e-02 + 6.438474650022280e-02 6.434955229451217e-02 6.431436546388770e-02 6.427918602543267e-02 6.424401399623028e-02 + 6.420884939336380e-02 6.417369223391646e-02 6.413854253497149e-02 6.410340031361215e-02 6.406826558692170e-02 + 6.403313837198334e-02 6.399801868588033e-02 6.396290654569593e-02 6.392780196851335e-02 6.389270497141585e-02 + 6.385761557148667e-02 6.382253378580906e-02 6.378745963146625e-02 6.375239312554147e-02 6.371733428511799e-02 + 6.368228312727903e-02 6.364723966910786e-02 6.361220392768768e-02 6.357717592010177e-02 6.354215566343337e-02 + 6.350714317476568e-02 6.347213847118198e-02 6.343714156976551e-02 6.340215248759951e-02 6.336717124176720e-02 + 6.333219784935186e-02 6.329723232743668e-02 6.326227469310496e-02 6.322732496343991e-02 6.319238315552476e-02 + 6.315744928644278e-02 6.312252337327721e-02 6.308760543311126e-02 6.305269548302821e-02 6.301779354011129e-02 + 6.298289962144372e-02 6.294801374410877e-02 6.291313592518968e-02 6.287826618176968e-02 6.284340453093201e-02 + 6.280855098975993e-02 6.277370557533665e-02 6.273886830474544e-02 6.270403919506955e-02 6.266921826339220e-02 + 6.263440552679662e-02 6.259960100236607e-02 6.256480470718381e-02 6.253001665833306e-02 6.249523687289707e-02 + 6.246046536795907e-02 6.242570216060229e-02 6.239094726791002e-02 6.235620070696547e-02 6.232146249485187e-02 + 6.228673264865250e-02 6.225201118545055e-02 6.221729812232930e-02 6.218259347637199e-02 6.214789726466187e-02 + 6.211320950428215e-02 6.207853021231610e-02 6.204385940584693e-02 6.200919710195792e-02 6.197454331773228e-02 + 6.193989807025328e-02 6.190526137660414e-02 6.187063325386812e-02 6.183601371912845e-02 6.180140278946837e-02 + 6.176680048197113e-02 6.173220681371997e-02 6.169762180179813e-02 6.166304546328885e-02 6.162847781527538e-02 + 6.159391887484095e-02 6.155936865906880e-02 6.152482718504219e-02 6.149029446984435e-02 6.145577053055853e-02 + 6.142125538426796e-02 6.138674904805590e-02 6.135225153900557e-02 6.131776287420022e-02 6.128328307072310e-02 + 6.124881214565744e-02 6.121435011608650e-02 6.117989699909349e-02 6.114545281176169e-02 6.111101757117431e-02 + 6.107659129441460e-02 6.104217399856583e-02 6.100776570071121e-02 6.097336641793399e-02 6.093897616731742e-02 + 6.090459496594473e-02 6.087022283089916e-02 6.083585977926396e-02 6.080150582812238e-02 6.076716099455765e-02 + 6.073282529565302e-02 6.069849874849172e-02 6.066418137015700e-02 6.062987317773211e-02 6.059557418830027e-02 + 6.056128441894475e-02 6.052700388674876e-02 6.049273260879557e-02 6.045847060216841e-02 6.042421788395052e-02 + 6.038997447122514e-02 6.035574038107552e-02 6.032151563058490e-02 6.028730023683652e-02 6.025309421691362e-02 + 6.021889758789946e-02 6.018471036687725e-02 6.015053257093025e-02 6.011636421714171e-02 6.008220532259485e-02 + 6.004805590437293e-02 6.001391597955918e-02 5.997978556523686e-02 5.994566467848918e-02 5.991155333639943e-02 + 5.987745155605081e-02 5.984335935452657e-02 5.980927674890997e-02 5.977520375628423e-02 5.974114039373261e-02 + 5.970708667833834e-02 5.967304262718466e-02 5.963900825735483e-02 5.960498358593206e-02 5.957096862999962e-02 + 5.953696340664075e-02 5.950296793293869e-02 5.946898222597666e-02 5.943500630283793e-02 5.940104018060574e-02 + 5.936708387636331e-02 5.933313740719390e-02 5.929920079018074e-02 5.926527404240709e-02 5.923135718095618e-02 + 5.919745022291125e-02 5.916355318535554e-02 5.912966608537230e-02 5.909578894004478e-02 5.906192176645620e-02 + 5.902806458168981e-02 5.899421740282887e-02 5.896038024695659e-02 5.892655313115624e-02 5.889273607251104e-02 + 5.885892908810425e-02 5.882513219501910e-02 5.879134541033884e-02 5.875756875114671e-02 5.872380223452595e-02 + 5.869004587755981e-02 5.865629969733151e-02 5.862256371092430e-02 5.858883793542144e-02 5.855512238790617e-02 + 5.852141708546170e-02 5.848772204517131e-02 5.845403728411822e-02 5.842036281938568e-02 5.838669866805692e-02 + 5.835304484721521e-02 5.831940137394376e-02 5.828576826532585e-02 5.825214553844467e-02 5.821853321038349e-02 + 5.818493129822556e-02 5.815133981905412e-02 5.811775878995240e-02 5.808418822800365e-02 5.805062815029110e-02 + 5.801707857389801e-02 5.798353951590760e-02 5.795001099340315e-02 5.791649302346786e-02 5.788298562318499e-02 + 5.784948880963779e-02 5.781600259990949e-02 5.778252701108333e-02 5.774906206024256e-02 5.771560776447041e-02 + 5.768216414085015e-02 5.764873120646499e-02 5.761530897839819e-02 5.758189747373298e-02 5.754849670955262e-02 + 5.751510670294033e-02 5.748172747097936e-02 5.744835903075296e-02 5.741500139934437e-02 5.738165459383683e-02 + 5.734831863131357e-02 5.731499352885785e-02 5.728167930355290e-02 5.724837597248197e-02 5.721508355272830e-02 + 5.718180206137512e-02 5.714853151550570e-02 5.711527193220325e-02 5.708202332855103e-02 5.704878572163228e-02 + 5.701555912853024e-02 5.698234356632816e-02 5.694913905210926e-02 5.691594560295680e-02 5.688276323595402e-02 + 5.684959196818416e-02 5.681643181673045e-02 5.678328279867616e-02 5.675014493110452e-02 5.671701823109875e-02 + 5.668390271574211e-02 5.665079840211785e-02 5.661770530730920e-02 5.658462344839940e-02 5.655155284247171e-02 + 5.651849350660935e-02 5.648544545789557e-02 5.645240871341362e-02 5.641938329024674e-02 5.638636920547815e-02 + 5.635336647619112e-02 5.632037511946889e-02 5.628739515239468e-02 5.625442659205174e-02 5.622146945552333e-02 + 5.618852375989267e-02 5.615558952224302e-02 5.612266675965761e-02 5.608975548921968e-02 5.605685572801247e-02 + 5.602396749311925e-02 5.599109080162322e-02 5.595822567060765e-02 5.592537211715578e-02 5.589253015835084e-02 + 5.585969981127608e-02 5.582688109301474e-02 5.579407402065006e-02 5.576127861126528e-02 5.572849488194366e-02 + 5.569572284976842e-02 5.566296253182280e-02 5.563021394519008e-02 5.559747710695345e-02 5.556475203419618e-02 + 5.553203874400151e-02 5.549933725345269e-02 5.546664757963294e-02 5.543396973962551e-02 5.540130375051366e-02 + 5.536864962938060e-02 5.533600739330961e-02 5.530337705938389e-02 5.527075864468672e-02 5.523815216630132e-02 + 5.520555764131094e-02 5.517297508679882e-02 5.514040451984819e-02 5.510784595754230e-02 5.507529941696442e-02 + 5.504276491519774e-02 5.501024246932555e-02 5.497773209643106e-02 5.494523381359754e-02 5.491274763790820e-02 + 5.488027358644629e-02 5.484781167629507e-02 5.481536192453777e-02 5.478292434825763e-02 5.475049896453790e-02 + 5.471808579046181e-02 5.468568484311261e-02 5.465329613957354e-02 5.462091969692785e-02 5.458855553225877e-02 + 5.455620366264955e-02 5.452386410518342e-02 5.449153687694363e-02 5.445922199501343e-02 5.442691947647604e-02 + 5.439462933841474e-02 5.436235159791274e-02 5.433008627205328e-02 5.429783337791962e-02 5.426559293259499e-02 + 5.423336495316264e-02 5.420114945670580e-02 5.416894646030773e-02 5.413675598105167e-02 5.410457803602083e-02 + 5.407241264229849e-02 5.404025981696787e-02 5.400811957711223e-02 5.397599193981480e-02 5.394387692215881e-02 + 5.391177454122753e-02 5.387968481410418e-02 5.384760775787202e-02 5.381554338961427e-02 5.378349172641418e-02 + 5.375145278535501e-02 5.371942658351998e-02 5.368741313799234e-02 5.365541246585533e-02 5.362342458419220e-02 + 5.359144951008617e-02 5.355948726062051e-02 5.352753785287844e-02 5.349560130394321e-02 5.346367763089808e-02 + 5.343176685082626e-02 5.339986898081100e-02 5.336798403793557e-02 5.333611203928318e-02 5.330425300193709e-02 + 5.327240694298052e-02 5.324057387949673e-02 5.320875382856897e-02 5.317694680728046e-02 5.314515283271445e-02 + 5.311337192195419e-02 5.308160409208292e-02 5.304984936018387e-02 5.301810774334029e-02 5.298637925860694e-02 + 5.295466392210174e-02 5.292296174881576e-02 5.289127275367324e-02 5.285959695159842e-02 5.282793435751552e-02 + 5.279628498634878e-02 5.276464885302243e-02 5.273302597246069e-02 5.270141635958780e-02 5.266982002932800e-02 + 5.263823699660550e-02 5.260666727634453e-02 5.257511088346935e-02 5.254356783290417e-02 5.251203813957321e-02 + 5.248052181840073e-02 5.244901888431094e-02 5.241752935222807e-02 5.238605323707637e-02 5.235459055378005e-02 + 5.232314131726334e-02 5.229170554245050e-02 5.226028324426572e-02 5.222887443763326e-02 5.219747913747734e-02 + 5.216609735872220e-02 5.213472911629205e-02 5.210337442511115e-02 5.207203330010370e-02 5.204070575619395e-02 + 5.200939180830615e-02 5.197809147136448e-02 5.194680476029321e-02 5.191553169001656e-02 5.188427227545876e-02 + 5.185302653154403e-02 5.182179447319664e-02 5.179057611534077e-02 5.175937147290068e-02 5.172818056080060e-02 + 5.169700339396475e-02 5.166583998731737e-02 5.163469035578269e-02 5.160355451428494e-02 5.157243247774834e-02 + 5.154132426109714e-02 5.151022987925555e-02 5.147914934714782e-02 5.144808267969817e-02 5.141702989183084e-02 + 5.138599099847005e-02 5.135496601454004e-02 5.132395495496503e-02 5.129295783466926e-02 5.126197466857695e-02 + 5.123100547161235e-02 5.120005025869967e-02 5.116910904476317e-02 5.113818184472704e-02 5.110726867351554e-02 + 5.107636954605289e-02 5.104548447726333e-02 5.101461348207109e-02 5.098375657540039e-02 5.095291377217546e-02 + 5.092208508732055e-02 5.089127053575987e-02 5.086047013241765e-02 5.082968389221815e-02 5.079891183008556e-02 + 5.076815396094415e-02 5.073741029971812e-02 5.070668086133172e-02 5.067596566070917e-02 5.064526471277472e-02 + 5.061457803245257e-02 5.058390563466697e-02 5.055324753434216e-02 5.052260374640234e-02 5.049197428577178e-02 + 5.046135916737467e-02 5.043075840613528e-02 5.040017201697781e-02 5.036960001482652e-02 5.033904241460560e-02 + 5.030849923123931e-02 5.027797047965189e-02 5.024745617476754e-02 5.021695633151052e-02 5.018647096480505e-02 + 5.015600008957535e-02 5.012554372074565e-02 5.009510187324022e-02 5.006467456198324e-02 5.003426180189897e-02 + 5.000386360791163e-02 4.997347999494546e-02 4.994311097792468e-02 4.991275657177353e-02 4.988241679141623e-02 + 4.985209165177702e-02 4.982178116778014e-02 4.979148535434980e-02 4.976120422641023e-02 4.973093779888569e-02 + 4.970068608670038e-02 4.967044910477855e-02 4.964022686804442e-02 4.961001939142222e-02 4.957982668983620e-02 + 4.954964877821057e-02 4.951948567146956e-02 4.948933738453741e-02 4.945920393233836e-02 4.942908532979662e-02 + 4.939898159183643e-02 4.936889273338203e-02 4.933881876935763e-02 4.930875971468749e-02 4.927871558429582e-02 + 4.924868639310685e-02 4.921867215604481e-02 4.918867288803395e-02 4.915868860399848e-02 4.912871931886263e-02 + 4.909876504755066e-02 4.906882580498677e-02 4.903890160609520e-02 4.900899246580018e-02 4.897909839902595e-02 + 4.894921942069672e-02 4.891935554573676e-02 4.888950678907025e-02 4.885967316562146e-02 4.882985469031461e-02 + 4.880005137807392e-02 4.877026324382362e-02 4.874049030248797e-02 4.871073256899117e-02 4.868099005825745e-02 + 4.865126278521108e-02 4.862155076477624e-02 4.859185401187720e-02 4.856217254143816e-02 4.853250636838338e-02 + 4.850285550763707e-02 4.847321997412347e-02 4.844359978276680e-02 4.841399494849130e-02 4.838440548622121e-02 + 4.835483141088075e-02 4.832527273739414e-02 4.829572948068564e-02 4.826620165567946e-02 4.823668927729983e-02 + 4.820719236047098e-02 4.817771092011715e-02 4.814824497116257e-02 4.811879452853147e-02 4.808935960714807e-02 + 4.805994022193662e-02 4.803053638782134e-02 4.800114811972645e-02 4.797177543257621e-02 4.794241834129482e-02 + 4.791307686080653e-02 4.788375100603556e-02 4.785444079190614e-02 4.782514623334252e-02 4.779586734526891e-02 + 4.776660414260955e-02 4.773735664028868e-02 4.770812485323050e-02 4.767890879635927e-02 4.764970848459921e-02 + 4.762052393287456e-02 4.759135515610954e-02 4.756220216922838e-02 4.753306498715533e-02 4.750394362481459e-02 + 4.747483809713041e-02 4.744574841902701e-02 4.741667460542864e-02 4.738761667125952e-02 4.735857463144388e-02 + 4.732954850090595e-02 4.730053829456995e-02 4.727154402736015e-02 4.724256571420073e-02 4.721360337001596e-02 + 4.718465700973005e-02 4.715572664826723e-02 4.712681230055175e-02 4.709791398150782e-02 4.706903170605968e-02 + 4.704016548913156e-02 4.701131534564769e-02 4.698248129053231e-02 4.695366333870963e-02 4.692486150510391e-02 + 4.689607580463934e-02 4.686730625224018e-02 4.683855286283068e-02 4.680981565133503e-02 4.678109463267748e-02 + 4.675238982178226e-02 4.672370123357359e-02 4.669502888297572e-02 4.666637278491287e-02 4.663773295430927e-02 + 4.660910940608916e-02 4.658050215517676e-02 4.655191121649629e-02 4.652333660497202e-02 4.649477833552815e-02 + 4.646623642308891e-02 4.643771088257853e-02 4.640920172892127e-02 4.638070897704132e-02 4.635223264186294e-02 + 4.632377273831036e-02 4.629532928130779e-02 4.626690228577947e-02 4.623849176664965e-02 4.621009773884253e-02 + 4.618172021728237e-02 4.615335921689338e-02 4.612501475259979e-02 4.609668683932586e-02 4.606837549199577e-02 + 4.604008072553380e-02 4.601180255486416e-02 4.598354099491107e-02 4.595529606059879e-02 4.592706776685152e-02 + 4.589885612859351e-02 4.587066116074899e-02 4.584248287824218e-02 4.581432129599732e-02 4.578617642893863e-02 + 4.575804829199037e-02 4.572993690007673e-02 4.570184226812196e-02 4.567376441105030e-02 4.564570334378597e-02 + 4.561765908125320e-02 4.558963163837623e-02 4.556162103007928e-02 4.553362727128659e-02 4.550565037692238e-02 + 4.547769036191089e-02 4.544974724117636e-02 4.542182102964300e-02 4.539391174223504e-02 4.536601939387674e-02 + 4.533814399949231e-02 4.531028557400597e-02 4.528244413234197e-02 4.525461968942453e-02 4.522681226017790e-02 + 4.519902185952628e-02 4.517124850239393e-02 4.514349220370505e-02 4.511575297838390e-02 4.508803084135470e-02 + 4.506032580754168e-02 4.503263789186907e-02 4.500496710926111e-02 4.497731347464200e-02 4.494967700293602e-02 + 4.492205770906736e-02 4.489445560796028e-02 4.486687071453899e-02 4.483930304372771e-02 4.481175261045071e-02 + 4.478421942963219e-02 4.475670351619640e-02 4.472920488506756e-02 4.470172355116988e-02 4.467425952942764e-02 + 4.464681283476502e-02 4.461938348210628e-02 4.459197148637566e-02 4.456457686249737e-02 4.453719962539564e-02 + 4.450983978999472e-02 4.448249737121881e-02 4.445517238399217e-02 4.442786484323902e-02 4.440057476388359e-02 + 4.437330216085012e-02 4.434604704906282e-02 4.431880944344595e-02 4.429158935892372e-02 4.426438681042035e-02 + 4.423720181286010e-02 4.421003438116718e-02 4.418288453026584e-02 4.415575227508029e-02 4.412863763053477e-02 + 4.410154061155352e-02 4.407446123306075e-02 4.404739950998071e-02 4.402035545723762e-02 4.399332908975571e-02 + 4.396632042245923e-02 4.393932947027238e-02 4.391235624811941e-02 4.388540077092456e-02 4.385846305361203e-02 + 4.383154311110608e-02 4.380464095833093e-02 4.377775661021081e-02 4.375089008166996e-02 4.372404138763258e-02 + 4.369721054302294e-02 4.367039756276526e-02 4.364360246178376e-02 4.361682525500267e-02 4.359006595734623e-02 + 4.356332458373868e-02 4.353660114910423e-02 4.350989566836711e-02 4.348320815645158e-02 4.345653862828184e-02 + 4.342988709878214e-02 4.340325358287669e-02 4.337663809548974e-02 4.335004065154552e-02 4.332346126596825e-02 + 4.329689995368217e-02 4.327035672961151e-02 4.324383160868049e-02 4.321732460581335e-02 4.319083573593433e-02 + 4.316436501396765e-02 4.313791245483754e-02 4.311147807346823e-02 4.308506188478395e-02 4.305866390370894e-02 + 4.303228414516742e-02 4.300592262408363e-02 4.297957935538180e-02 4.295325435398616e-02 4.292694763482094e-02 + 4.290065921281035e-02 4.287438910287866e-02 4.284813731995007e-02 4.282190387894883e-02 4.279568879479917e-02 + 4.276949208242530e-02 4.274331375675147e-02 4.271715383270192e-02 4.269101232520085e-02 4.266488924917250e-02 + 4.263878461954113e-02 4.261269845123093e-02 4.258663075916616e-02 4.256058155827103e-02 4.253455086346980e-02 + 4.250853868968667e-02 4.248254505184589e-02 4.245656996487169e-02 4.243061344368828e-02 4.240467550321991e-02 + 4.237875615839081e-02 4.235285542412521e-02 4.232697331534734e-02 4.230110984698143e-02 4.227526503395169e-02 + 4.224943889118240e-02 4.222363143359775e-02 4.219784267612198e-02 4.217207263367933e-02 4.214632132119402e-02 + 4.212058875359029e-02 4.209487494579236e-02 4.206917991272448e-02 4.204350366931086e-02 4.201784623047573e-02 + 4.199220761114335e-02 4.196658782623791e-02 4.194098689068368e-02 4.191540481940486e-02 4.188984162732570e-02 + 4.186429732937041e-02 4.183877194046326e-02 4.181326547552844e-02 4.178777794949019e-02 4.176230937727277e-02 + 4.173685977380037e-02 4.171142915399725e-02 4.168601753278764e-02 4.166062492509574e-02 4.163525134584580e-02 + 4.160989680996207e-02 4.158456133236876e-02 4.155924492799010e-02 4.153394761175032e-02 4.150866939857367e-02 + 4.148341030338436e-02 4.145817034110662e-02 4.143294952666470e-02 4.140774787498282e-02 4.138256540098521e-02 + 4.135740211959609e-02 4.133225804573972e-02 4.130713319434030e-02 4.128202758032209e-02 4.125694121860929e-02 + 4.123187412412615e-02 4.120682631179690e-02 4.118179779654577e-02 4.115678859329698e-02 4.113179871697477e-02 + 4.110682818250337e-02 4.108187700480702e-02 4.105694519880994e-02 4.103203277943635e-02 4.100713976161051e-02 + 4.098226616025662e-02 4.095741199029894e-02 4.093257726666168e-02 4.090776200426908e-02 4.088296621804536e-02 + 4.085818992291476e-02 4.083343313380151e-02 4.080869586562985e-02 4.078397813332400e-02 4.075927995180818e-02 + 4.073460133600665e-02 4.070994230084361e-02 4.068530286124331e-02 4.066068303212998e-02 4.063608282842784e-02 + 4.061150226506113e-02 4.058694135695408e-02 4.056240011903092e-02 4.053787856621588e-02 4.051337671343318e-02 + 4.048889457560707e-02 4.046443216766178e-02 4.043998950452153e-02 4.041556660111054e-02 4.039116347235307e-02 + 4.036678013317334e-02 4.034241659849556e-02 4.031807288324400e-02 4.029374900234285e-02 4.026944497071637e-02 + 4.024516080328877e-02 4.022089651498431e-02 4.019665212072718e-02 4.017242763544165e-02 4.014822307405193e-02 + 4.012403845148225e-02 4.009987378265685e-02 4.007572908249996e-02 4.005160436593580e-02 4.002749964788860e-02 + 4.000341494328261e-02 3.997935026862905e-02 3.995530565020248e-02 3.993128111798760e-02 3.990727670197625e-02 + 3.988329243216027e-02 3.985932833853151e-02 3.983538445108181e-02 3.981146079980302e-02 3.978755741468697e-02 + 3.976367432572553e-02 3.973981156291052e-02 3.971596915623379e-02 3.969214713568721e-02 3.966834553126258e-02 + 3.964456437295178e-02 3.962080369074663e-02 3.959706351463900e-02 3.957334387462071e-02 3.954964480068362e-02 + 3.952596632281957e-02 3.950230847102040e-02 3.947867127527795e-02 3.945505476558409e-02 3.943145897193063e-02 + 3.940788392430945e-02 3.938432965271236e-02 3.936079618713123e-02 3.933728355755788e-02 3.931379179398419e-02 + 3.929032092640197e-02 3.926687098480308e-02 3.924344199917935e-02 3.922003399952266e-02 3.919664701582481e-02 + 3.917328107807769e-02 3.914993621627309e-02 3.912661246040292e-02 3.910330984045896e-02 3.908002838643308e-02 + 3.905676812831715e-02 3.903352909610298e-02 3.901031131978242e-02 3.898711482934733e-02 3.896393965478955e-02 + 3.894078582610091e-02 3.891765337327326e-02 3.889454232629846e-02 3.887145271516833e-02 3.884838456987474e-02 + 3.882533792040951e-02 3.880231279676451e-02 3.877930922893155e-02 3.875632724690252e-02 3.873336688066923e-02 + 3.871042816022353e-02 3.868751111555727e-02 3.866461577666229e-02 3.864174217353044e-02 3.861889033615356e-02 + 3.859606029452349e-02 3.857325207863209e-02 3.855046571847119e-02 3.852770124403264e-02 3.850495868530828e-02 + 3.848223807228996e-02 3.845953943496952e-02 3.843686280333881e-02 3.841420820738967e-02 3.839157567711395e-02 + 3.836896524250349e-02 3.834637693355013e-02 3.832381078024572e-02 3.830126681258209e-02 3.827874506055112e-02 + 3.825624555414461e-02 3.823376832335444e-02 3.821131339817244e-02 3.818888080859045e-02 3.816647058460032e-02 + 3.814408275619389e-02 3.812171735336303e-02 3.809937440609954e-02 3.807705394439530e-02 3.805475599824214e-02 + 3.803248059763190e-02 3.801022777255643e-02 3.798799755300758e-02 3.796578996897719e-02 3.794360505045710e-02 + 3.792144282743916e-02 3.789930332991522e-02 3.787718658787710e-02 3.785509263131667e-02 3.783302149022577e-02 + 3.781097319459624e-02 3.778894777441992e-02 3.776694525968866e-02 3.774496568039430e-02 3.772300906652870e-02 + 3.770107544808367e-02 3.767916485505110e-02 3.765727731742280e-02 3.763541286519063e-02 3.761357152834642e-02 + 3.759175333688204e-02 3.756995832078931e-02 3.754818651006007e-02 3.752643793468620e-02 3.750471262465951e-02 + 3.748301060997186e-02 3.746133192061509e-02 3.743967658658105e-02 3.741804463786157e-02 3.739643610444850e-02 + 3.737485101633371e-02 3.735328940350900e-02 3.733175129596625e-02 3.731023672369729e-02 3.728874571669397e-02 + 3.726727830494812e-02 3.724583451845160e-02 3.722441438719625e-02 3.720301794117391e-02 3.718164521037644e-02 + 3.716029622479566e-02 3.713897101442343e-02 3.711766960925159e-02 3.709639203927199e-02 3.707513833447647e-02 + 3.705390852485687e-02 3.703270264040504e-02 3.701152071111283e-02 3.699036276697207e-02 3.696922883797462e-02 + 3.694811895411231e-02 3.692703314537699e-02 3.690597144176051e-02 3.688493387325471e-02 3.686392046985143e-02 + 3.684293126154253e-02 3.682196627831984e-02 3.680102555017520e-02 3.678010910710046e-02 3.675921697908748e-02 + 3.673834919612807e-02 3.671750578821411e-02 3.669668678533742e-02 3.667589221748987e-02 3.665512211466327e-02 + 3.663437650684950e-02 3.661365542404037e-02 3.659295889622776e-02 3.657228695340348e-02 3.655163962555941e-02 + 3.653101694268735e-02 3.651041893477919e-02 3.648984563182674e-02 3.646929706382188e-02 3.644877326075641e-02 + 3.642827425262220e-02 3.640780006941109e-02 3.638735074111494e-02 3.636692629772557e-02 3.634652676923484e-02 + 3.632615218563458e-02 3.630580257691665e-02 3.628547797307289e-02 3.626517840409513e-02 3.624490389997524e-02 + 3.622465449070505e-02 3.620443020627639e-02 3.618423107668113e-02 3.616405713191111e-02 3.614390840195816e-02 + 3.612378491681414e-02 3.610368670647089e-02 3.608361380092025e-02 3.606356623015406e-02 3.604354402416417e-02 + 3.602354721294244e-02 3.600357582648069e-02 3.598362989477077e-02 3.596370944780453e-02 3.594381451557382e-02 + 3.592394512807047e-02 3.590410131528634e-02 3.588428310721326e-02 3.586449053384308e-02 3.584472362516764e-02 + 3.582498241117880e-02 3.580526692186839e-02 3.578557718722826e-02 3.576591323725024e-02 3.574627510192620e-02 + 3.572666281124797e-02 3.570707639520740e-02 3.568751588379632e-02 3.566798130700659e-02 3.564847269483005e-02 + 3.562899007725854e-02 3.560953348428391e-02 3.559010294589800e-02 3.557069849209266e-02 3.555132015285974e-02 + 3.553196795819106e-02 3.551264193807849e-02 3.549334212251386e-02 3.547406854148901e-02 3.545482122499580e-02 + 3.543560020302607e-02 3.541640550557167e-02 3.539723716262443e-02 3.537809520417620e-02 3.535897966021882e-02 + 3.533989056074414e-02 3.532082793574401e-02 3.530179181521027e-02 3.528278222913475e-02 3.526379920750932e-02 + 3.524484278032580e-02 3.522591297757607e-02 3.520700982925193e-02 3.518813336534525e-02 3.516928361584787e-02 + 3.515046061075164e-02 3.513166438004838e-02 3.511289495372998e-02 3.509415236178823e-02 3.507543663421501e-02 + 3.505674780100216e-02 3.503808589214152e-02 3.501945093762493e-02 3.500084296744425e-02 3.498226201159130e-02 + 3.496370810005795e-02 3.494518126283602e-02 3.492668152991737e-02 3.490820893129385e-02 3.488976349695729e-02 + 3.487134525689954e-02 3.485295424111245e-02 3.483459047958785e-02 3.481625400231760e-02 3.479794483929353e-02 + 3.477966302050750e-02 3.476140857595134e-02 3.474318153561690e-02 3.472498192949603e-02 3.470680978758058e-02 + 3.468866513986237e-02 3.467054801633326e-02 3.465245844698509e-02 3.463439646180971e-02 3.461636209079897e-02 + 3.459835536394470e-02 3.458037631123875e-02 3.456242496267296e-02 3.454450134823919e-02 3.452660549792927e-02 + 3.450873744173504e-02 3.449089720964835e-02 3.447308483166107e-02 3.445530033776500e-02 3.443754375795202e-02 + 3.441981512221395e-02 3.440211446054266e-02 3.438444180292995e-02 3.436679717936773e-02 3.434918061984778e-02 + 3.433159215436199e-02 3.431403181290218e-02 3.429649962546020e-02 3.427899562202789e-02 3.426151983259711e-02 + 3.424407228715969e-02 3.422665301570748e-02 3.420926204823232e-02 3.419189941472606e-02 3.417456514518054e-02 + 3.415725926958761e-02 3.413998181793911e-02 3.412273282022688e-02 3.410551230644278e-02 3.408832030657864e-02 + 3.407115685062630e-02 3.405402196857762e-02 3.403691569042444e-02 3.401983804615860e-02 3.400278906577194e-02 + 3.398576877925633e-02 3.396877721660357e-02 3.395181440780554e-02 3.393488038285408e-02 3.391797517174103e-02 + 3.390109880445821e-02 3.388425131099751e-02 3.386743272135074e-02 3.385064306550976e-02 3.383388237346641e-02 + 3.381715067521254e-02 3.380044800073998e-02 3.378377438004059e-02 3.376712984310620e-02 3.375051441992868e-02 + 3.373392814049984e-02 3.371737103481155e-02 3.370084313285564e-02 3.368434446462396e-02 3.366787506010836e-02 + 3.365143466564878e-02 3.363501887624541e-02 3.361862209777612e-02 3.360224500875989e-02 3.358588827878357e-02 + 3.356955147090725e-02 3.355323458431880e-02 3.353693766165054e-02 3.352066065506343e-02 3.350440352193865e-02 + 3.348816624199871e-02 3.347194881659273e-02 3.345575121630599e-02 3.343957340404732e-02 3.342341535303144e-02 + 3.340727704441876e-02 3.339115845430404e-02 3.337505954322636e-02 3.335898029706669e-02 3.334292070921326e-02 + 3.332688074834195e-02 3.331086037969291e-02 3.329485957414917e-02 3.327887831864652e-02 3.326291658484171e-02 + 3.324697433542376e-02 3.323105156623186e-02 3.321514826023114e-02 3.319926437839098e-02 3.318339989412266e-02 + 3.316755478754796e-02 3.315172903929034e-02 3.313592261295018e-02 3.312013548124740e-02 3.310436764153749e-02 + 3.308861906981869e-02 3.307288973180764e-02 3.305717959801665e-02 3.304148865245999e-02 3.302581687574703e-02 + 3.301016422142487e-02 3.299453067800234e-02 3.297891624809741e-02 3.296332088425066e-02 3.294774455685354e-02 + 3.293218725810471e-02 3.291664896225673e-02 3.290112963401578e-02 3.288562923879117e-02 3.287014777263271e-02 + 3.285468522369568e-02 3.283924155670871e-02 3.282381674440858e-02 3.280841076589561e-02 3.279302360243119e-02 + 3.277765521941309e-02 3.276230558706894e-02 3.274697470113698e-02 3.273166254219040e-02 3.271636907936865e-02 + 3.270109428250347e-02 3.268583813280482e-02 3.267060061307020e-02 3.265538168459424e-02 3.264018132671115e-02 + 3.262499953449712e-02 3.260983628233858e-02 3.259469153939318e-02 3.257956527754512e-02 3.256445748091834e-02 + 3.254936812698490e-02 3.253429718174427e-02 3.251924463148387e-02 3.250421046229880e-02 3.248919464552218e-02 + 3.247419715298105e-02 3.245921796288541e-02 3.244425706251369e-02 3.242931441545717e-02 3.241438998652282e-02 + 3.239948378141620e-02 3.238459577882156e-02 3.236972593925531e-02 3.235487424670715e-02 3.234004068301546e-02 + 3.232522522137563e-02 3.231042782696456e-02 3.229564848261764e-02 3.228088718700101e-02 3.226614390644563e-02 + 3.225141860917057e-02 3.223671128042128e-02 3.222202190260593e-02 3.220735044835789e-02 3.219269687989033e-02 + 3.217806118663362e-02 3.216344336205739e-02 3.214884337811092e-02 3.213426120193776e-02 3.211969680852602e-02 + 3.210515019435922e-02 3.209062132655478e-02 3.207611016186721e-02 3.206161670288540e-02 3.204714093648681e-02 + 3.203268282961075e-02 3.201824236239234e-02 3.200381951210604e-02 3.198941424912934e-02 3.197502654604618e-02 + 3.196065638811887e-02 3.194630377248257e-02 3.193196866763873e-02 3.191765104079724e-02 3.190335087680102e-02 + 3.188906815766901e-02 3.187480285784819e-02 3.186055494296534e-02 3.184632440204734e-02 3.183211122836238e-02 + 3.181791538780577e-02 3.180373685568510e-02 3.178957561657719e-02 3.177543165075891e-02 3.176130492904844e-02 + 3.174719542079285e-02 3.173310312097031e-02 3.171902801589959e-02 3.170497007535993e-02 3.169092927256592e-02 + 3.167690558660036e-02 3.166289900092451e-02 3.164890948767075e-02 3.163493702375719e-02 3.162098160094597e-02 + 3.160704320149037e-02 3.159312179836957e-02 3.157921735868882e-02 3.156532987076624e-02 3.155145932224658e-02 + 3.153760566663864e-02 3.152376889172848e-02 3.150994900180672e-02 3.149614595827410e-02 3.148235973399625e-02 + 3.146859031868535e-02 3.145483769408502e-02 3.144110182886523e-02 3.142738268687409e-02 3.141368026942635e-02 + 3.139999456778463e-02 3.138632554513814e-02 3.137267318073906e-02 3.135903745883740e-02 3.134541835839263e-02 + 3.133181584694165e-02 3.131822989974722e-02 3.130466051752389e-02 3.129110768114365e-02 3.127757136018487e-02 + 3.126405153214003e-02 3.125054818119363e-02 3.123706128835145e-02 3.122359081277034e-02 3.121013674152311e-02 + 3.119669908223311e-02 3.118327780512727e-02 3.116987287740892e-02 3.115648427590923e-02 3.114311198755302e-02 + 3.112975599208620e-02 3.111641625878769e-02 3.110309278026453e-02 3.108978554429882e-02 3.107649451605467e-02 + 3.106321967573116e-02 3.104996101093369e-02 3.103671850522385e-02 3.102349212552239e-02 3.101028184118182e-02 + 3.099708765215899e-02 3.098390954305432e-02 3.097074748653887e-02 3.095760146577434e-02 3.094447145973171e-02 + 3.093135744175442e-02 3.091825938652267e-02 3.090517727892404e-02 3.089211111199125e-02 3.087906086415095e-02 + 3.086602651045607e-02 3.085300802884278e-02 3.084000540267990e-02 3.082701861024971e-02 3.081404762072755e-02 + 3.080109242772720e-02 3.078815302348911e-02 3.077522937271052e-02 3.076232145526043e-02 3.074942925853004e-02 + 3.073655275969265e-02 3.072369193358731e-02 3.071084675893487e-02 3.069801722815575e-02 3.068520332655950e-02 + 3.067240502926292e-02 3.065962230727411e-02 3.064685514336771e-02 3.063410352936318e-02 3.062136743092317e-02 + 3.060864682743443e-02 3.059594172387181e-02 3.058325209340110e-02 3.057057790484611e-02 3.055791914232513e-02 + 3.054527578866520e-02 3.053264782274670e-02 3.052003521936738e-02 3.050743796632342e-02 3.049485605420712e-02 + 3.048228945948342e-02 3.046973815764381e-02 3.045720212753895e-02 3.044468135532321e-02 3.043217582076147e-02 + 3.041968549967531e-02 3.040721038082923e-02 3.039475044749309e-02 3.038230567464306e-02 3.036987604544383e-02 + 3.035746154526919e-02 3.034506215632694e-02 3.033267784558463e-02 3.032030859116679e-02 3.030795439680851e-02 + 3.029561524020229e-02 3.028329109283977e-02 3.027098194217670e-02 3.025868776986960e-02 3.024640855125834e-02 + 3.023414425922958e-02 3.022189488753165e-02 3.020966043396606e-02 3.019744085927903e-02 3.018523614254973e-02 + 3.017304628070488e-02 3.016087124712451e-02 3.014871101490015e-02 3.013656556629268e-02 3.012443489643160e-02 + 3.011231899192166e-02 3.010021782348693e-02 3.008813136953290e-02 3.007605961443153e-02 3.006400254477032e-02 + 3.005196013216448e-02 3.003993235442936e-02 3.002791921520012e-02 3.001592069144608e-02 3.000393675083135e-02 + 2.999196738372897e-02 2.998001257673401e-02 2.996807230790781e-02 2.995614654679549e-02 2.994423528130847e-02 + 2.993233851118915e-02 2.992045620999083e-02 2.990858835120550e-02 2.989673491731453e-02 2.988489589805536e-02 + 2.987307127537464e-02 2.986126102011340e-02 2.984946511909828e-02 2.983768356331996e-02 2.982591633787642e-02 + 2.981416341477938e-02 2.980242477098497e-02 2.979070040412034e-02 2.977899028736241e-02 2.976729439085326e-02 + 2.975561271768286e-02 2.974394525020974e-02 2.973229195799546e-02 2.972065283153817e-02 2.970902785474345e-02 + 2.969741700233630e-02 2.968582025251779e-02 2.967423759388233e-02 2.966266902120933e-02 2.965111450751603e-02 + 2.963957402972690e-02 2.962804757853395e-02 2.961653513685447e-02 2.960503668212408e-02 2.959355219023237e-02 + 2.958208165129883e-02 2.957062505724755e-02 2.955918238857859e-02 2.954775362079399e-02 2.953633873283637e-02 + 2.952493771681483e-02 2.951355054848872e-02 2.950217720053436e-02 2.949081767862442e-02 2.947947196700992e-02 + 2.946814003034778e-02 2.945682185755054e-02 2.944551743582863e-02 2.943422674341014e-02 2.942294975870480e-02 + 2.941168646812421e-02 2.940043686618776e-02 2.938920093147064e-02 2.937797864134186e-02 2.936676998172867e-02 + 2.935557493479196e-02 2.934439347979633e-02 2.933322559583284e-02 2.932207127373048e-02 2.931093050463312e-02 + 2.929980326285230e-02 2.928868953142686e-02 2.927758929945683e-02 2.926650254799867e-02 2.925542925398767e-02 + 2.924436939550082e-02 2.923332296415483e-02 2.922228995044700e-02 2.921127033783603e-02 2.920026410004271e-02 + 2.918927122033416e-02 2.917829169471517e-02 2.916732549176795e-02 2.915637258777840e-02 2.914543298801943e-02 + 2.913450667577263e-02 2.912359362430894e-02 2.911269381274288e-02 2.910180723305731e-02 2.909093387402745e-02 + 2.908007369930849e-02 2.906922669822638e-02 2.905839287303405e-02 2.904757219714476e-02 2.903676465199738e-02 + 2.902597022808873e-02 2.901518890157972e-02 2.900442065055892e-02 2.899366546087253e-02 2.898292332562971e-02 + 2.897219423070421e-02 2.896147815085827e-02 2.895077507160809e-02 2.894008498122344e-02 2.892940786384609e-02 + 2.891874369517828e-02 2.890809245634708e-02 2.889745414621765e-02 2.888682874769054e-02 2.887621623583590e-02 + 2.886561659425123e-02 2.885502981116054e-02 2.884445587294774e-02 2.883389475319686e-02 2.882334643970105e-02 + 2.881281093000496e-02 2.880228819979298e-02 2.879177822929067e-02 2.878128100842524e-02 2.877079651898801e-02 + 2.876032473884395e-02 2.874986564740009e-02 2.873941924390505e-02 2.872898552052601e-02 2.871856444638324e-02 + 2.870815600507148e-02 2.869776018641480e-02 2.868737697516582e-02 2.867700634591397e-02 2.866664827916806e-02 + 2.865630278319325e-02 2.864596983917359e-02 2.863564941328856e-02 2.862534149829953e-02 2.861504608429113e-02 + 2.860476315234840e-02 2.859449267740666e-02 2.858423464566411e-02 2.857398905422620e-02 2.856375588402207e-02 + 2.855353511594846e-02 2.854332673804624e-02 2.853313073796621e-02 2.852294709429606e-02 2.851277577543872e-02 + 2.850261678440491e-02 2.849247012219593e-02 2.848233575178603e-02 2.847221365657614e-02 2.846210383116990e-02 + 2.845200625935100e-02 2.844192091752946e-02 2.843184778466237e-02 2.842178686053369e-02 2.841173813547823e-02 + 2.840170158739025e-02 2.839167719418843e-02 2.838166494245600e-02 2.837166482484053e-02 2.836167681707307e-02 + 2.835170090137019e-02 2.834173707461769e-02 2.833178532393912e-02 2.832184563033358e-02 2.831191797277370e-02 + 2.830200233825938e-02 2.829209871310940e-02 2.828220707523810e-02 2.827232741579271e-02 2.826245972853687e-02 + 2.825260399229306e-02 2.824276019064247e-02 2.823292831178126e-02 2.822310834132040e-02 2.821330025651807e-02 + 2.820350403438503e-02 2.819371967866794e-02 2.818394718049788e-02 2.817418651237375e-02 2.816443766090156e-02 + 2.815470061416237e-02 2.814497535504664e-02 2.813526186206681e-02 2.812556012131105e-02 2.811587013236315e-02 + 2.810619188120791e-02 2.809652534562629e-02 2.808687050311100e-02 2.807722734684383e-02 2.806759586949595e-02 + 2.805797603975531e-02 2.804836784541272e-02 2.803877128655403e-02 2.802918634812817e-02 2.801961300908425e-02 + 2.801005124931340e-02 2.800050106254358e-02 2.799096243185147e-02 2.798143533065562e-02 2.797191976200169e-02 + 2.796241571829330e-02 2.795292316767612e-02 2.794344209750147e-02 2.793397250080147e-02 2.792451436474921e-02 + 2.791506766429417e-02 2.790563238187514e-02 2.789620852426368e-02 2.788679607109519e-02 2.787739499448651e-02 + 2.786800529276515e-02 2.785862695250820e-02 2.784925995023579e-02 2.783990426851568e-02 2.783055990112446e-02 + 2.782122684523413e-02 2.781190507602721e-02 2.780259457625915e-02 2.779329533996523e-02 2.778400734510273e-02 + 2.777473057425486e-02 2.776546502209671e-02 2.775621067523501e-02 2.774696751775778e-02 2.773773553529171e-02 + 2.772851471226555e-02 2.771930503638066e-02 2.771010650156085e-02 2.770091908311444e-02 2.769174275675288e-02 + 2.768257752750487e-02 2.767342338343482e-02 2.766428030170250e-02 2.765514827509389e-02 2.764602728937508e-02 + 2.763691732224667e-02 2.762781835629091e-02 2.761873038318760e-02 2.760965340016332e-02 2.760058738918467e-02 + 2.759153233095657e-02 2.758248821223181e-02 2.757345502668101e-02 2.756443275844788e-02 2.755542137569210e-02 + 2.754642087861812e-02 2.753743126859248e-02 2.752845251726651e-02 2.751948461051369e-02 2.751052754088128e-02 + 2.750158129051000e-02 2.749264584112846e-02 2.748372117908398e-02 2.747480730190011e-02 2.746590419839729e-02 + 2.745701184777745e-02 2.744813023052759e-02 2.743925933666562e-02 2.743039916197098e-02 2.742154968107790e-02 + 2.741271087850060e-02 2.740388275814067e-02 2.739506530469222e-02 2.738625849608251e-02 2.737746231424592e-02 + 2.736867675514432e-02 2.735990180809817e-02 2.735113743878892e-02 2.734238364845174e-02 2.733364044336462e-02 + 2.732490778587926e-02 2.731618566204183e-02 2.730747407386686e-02 2.729877300249025e-02 2.729008242908668e-02 + 2.728140234030172e-02 2.727273272900814e-02 2.726407358354408e-02 2.725542488697956e-02 2.724678662927163e-02 + 2.723815879907967e-02 2.722954137935252e-02 2.722093434732608e-02 2.721233769152850e-02 2.720375141931018e-02 + 2.719517551218435e-02 2.718660994644712e-02 2.717805471481514e-02 2.716950980584153e-02 2.716097520393317e-02 + 2.715245089289530e-02 2.714393686286031e-02 2.713543310581999e-02 2.712693960497614e-02 2.711845634782483e-02 + 2.710998332519429e-02 2.710152051958041e-02 2.709306791441093e-02 2.708462549834906e-02 2.707619326918369e-02 + 2.706777121480425e-02 2.705935930907671e-02 2.705095754483260e-02 2.704256591454058e-02 2.703418439795306e-02 + 2.702581298145425e-02 2.701745165546447e-02 2.700910041075726e-02 2.700075923746808e-02 2.699242812272907e-02 + 2.698410704764140e-02 2.697579599978723e-02 2.696749496984126e-02 2.695920394125775e-02 2.695092290187428e-02 + 2.694265184396634e-02 2.693439075649869e-02 2.692613962541774e-02 2.691789843589869e-02 2.690966718080280e-02 + 2.690144584430361e-02 2.689323440003169e-02 2.688503284907665e-02 2.687684119009101e-02 2.686865940030225e-02 + 2.686048746353486e-02 2.685232536881714e-02 2.684417310662326e-02 2.683603066151065e-02 2.682789801897943e-02 + 2.681977517552054e-02 2.681166212021913e-02 2.680355883616239e-02 2.679546530889016e-02 2.678738152752996e-02 + 2.677930748200765e-02 2.677124315479004e-02 2.676318853591112e-02 2.675514362231527e-02 2.674710839396962e-02 + 2.673908283555094e-02 2.673106694339361e-02 2.672306070150655e-02 2.671506409151823e-02 2.670707710108217e-02 + 2.669909972943648e-02 2.669113197027321e-02 2.668317379682501e-02 2.667522519875436e-02 2.666728617090520e-02 + 2.665935669311371e-02 2.665143675159882e-02 2.664352634032146e-02 2.663562545659268e-02 2.662773408361464e-02 + 2.661985219717407e-02 2.661197979572226e-02 2.660411687169956e-02 2.659626340488144e-02 2.658841937631547e-02 + 2.658058477937751e-02 2.657275961893512e-02 2.656494387358596e-02 2.655713752275513e-02 2.654934056348008e-02 + 2.654155298332925e-02 2.653377476657220e-02 2.652600590198415e-02 2.651824638075199e-02 2.651049619255404e-02 + 2.650275532091429e-02 2.649502375487615e-02 2.648730148802552e-02 2.647958851263073e-02 2.647188480891689e-02 + 2.646419035368700e-02 2.645650515131691e-02 2.644882919484906e-02 2.644116246069965e-02 2.643350494181170e-02 + 2.642585663084689e-02 2.641821751242615e-02 2.641058756892747e-02 2.640296679007395e-02 2.639535517653221e-02 + 2.638775271175803e-02 2.638015937698240e-02 2.637257516664822e-02 2.636500007332271e-02 2.635743408373907e-02 + 2.634987717633525e-02 2.634232934391862e-02 2.633479058525924e-02 2.632726088227431e-02 2.631974022390311e-02 + 2.631222860499385e-02 2.630472600717760e-02 2.629723241433261e-02 2.628974781674581e-02 2.628227220621198e-02 + 2.627480557677242e-02 2.626734792215179e-02 2.625989921852152e-02 2.625245945041883e-02 2.624502862403611e-02 + 2.623760671958282e-02 2.623019371536040e-02 2.622278961237779e-02 2.621539440295659e-02 2.620800807254220e-02 + 2.620063060674004e-02 2.619326199404739e-02 2.618590222410475e-02 2.617855128386046e-02 2.617120916522779e-02 + 2.616387586230346e-02 2.615655135861502e-02 2.614923564213544e-02 2.614192870720641e-02 2.613463054125929e-02 + 2.612734112755428e-02 2.612006044964381e-02 2.611278850871195e-02 2.610552530050819e-02 2.609827080222275e-02 + 2.609102500359168e-02 2.608378789925431e-02 2.607655947900249e-02 2.606933972466179e-02 2.606212861946312e-02 + 2.605492616097670e-02 2.604773234503024e-02 2.604054716124884e-02 2.603337058950191e-02 2.602620261873257e-02 + 2.601904324395194e-02 2.601189244598317e-02 2.600475021758196e-02 2.599761656283118e-02 2.599049145836681e-02 + 2.598337488632347e-02 2.597626684662969e-02 2.596916733159564e-02 2.596207632537513e-02 2.595499380688753e-02 + 2.594791977426907e-02 2.594085422650568e-02 2.593379714560815e-02 2.592674851872178e-02 2.591970833661526e-02 + 2.591267658830654e-02 2.590565326173340e-02 2.589863834578747e-02 2.589163183398775e-02 2.588463371701131e-02 + 2.587764398252935e-02 2.587066261956569e-02 2.586368961749470e-02 2.585672496539723e-02 2.584976865103265e-02 + 2.584282066471713e-02 2.583588100000093e-02 2.582894964599770e-02 2.582202659070586e-02 2.581511182332461e-02 + 2.580820533343631e-02 2.580130710958863e-02 2.579441713875388e-02 2.578753541579036e-02 2.578066193633965e-02 + 2.577379668579866e-02 2.576693964640701e-02 2.576009080523955e-02 2.575325016689414e-02 2.574641771694009e-02 + 2.573959342940173e-02 2.573277731100565e-02 2.572596935753856e-02 2.571916954588383e-02 2.571237786264848e-02 + 2.570559430241213e-02 2.569881886299849e-02 2.569205152414907e-02 2.568529227185872e-02 2.567854111122693e-02 + 2.567179802594942e-02 2.566506299732867e-02 2.565833602386073e-02 2.565161709921462e-02 2.564490620914589e-02 + 2.563820333139000e-02 2.563150846268354e-02 2.562482160754986e-02 2.561814274902439e-02 2.561147187258114e-02 + 2.560480896924013e-02 2.559815402833877e-02 2.559150703774291e-02 2.558486798572520e-02 2.557823686789989e-02 + 2.557161367849433e-02 2.556499840587265e-02 2.555839103232124e-02 2.555179154834854e-02 2.554519995829834e-02 + 2.553861624178350e-02 2.553204037844031e-02 2.552547237202886e-02 2.551891221538829e-02 2.551235989397021e-02 + 2.550581539575596e-02 2.549927871458803e-02 2.549274984258965e-02 2.548622875540724e-02 2.547971544999134e-02 + 2.547320993631275e-02 2.546671219025347e-02 2.546022219347805e-02 2.545373994243675e-02 2.544726542971977e-02 + 2.544079864501286e-02 2.543433957656028e-02 2.542788821576999e-02 2.542144455508066e-02 2.541500858637495e-02 + 2.540858030019949e-02 2.540215968413957e-02 2.539574672197945e-02 2.538934140646816e-02 2.538294373410821e-02 + 2.537655369660362e-02 2.537017128263758e-02 2.536379648098229e-02 2.535742928550868e-02 2.535106968465225e-02 + 2.534471766277936e-02 2.533837321084466e-02 2.533203632423742e-02 2.532570699881585e-02 2.531938521813243e-02 + 2.531307097096266e-02 2.530676425602581e-02 2.530046505932213e-02 2.529417336607690e-02 2.528788916915281e-02 + 2.528161246489754e-02 2.527534324609989e-02 2.526908149634068e-02 2.526282720495094e-02 2.525658036572961e-02 + 2.525034097275206e-02 2.524410901058027e-02 2.523788446449190e-02 2.523166734234336e-02 2.522545763237074e-02 + 2.521925530838600e-02 2.521306037097086e-02 2.520687281776321e-02 2.520069263496993e-02 2.519451980442291e-02 + 2.518835431925369e-02 2.518219618546694e-02 2.517604538654039e-02 2.516990190396150e-02 2.516376573127799e-02 + 2.515763686639562e-02 2.515151530112912e-02 2.514540101358030e-02 2.513929399756280e-02 2.513319425347670e-02 + 2.512710177240427e-02 2.512101654329324e-02 2.511493855506050e-02 2.510886779787783e-02 2.510280425830826e-02 + 2.509674792451250e-02 2.509069880343641e-02 2.508465688466923e-02 2.507862214067907e-02 2.507259457630134e-02 + 2.506657418922008e-02 2.506056095604422e-02 2.505455486579475e-02 2.504855591546334e-02 2.504256410459500e-02 + 2.503657941982099e-02 2.503060184642849e-02 2.502463137903613e-02 2.501866800626509e-02 2.501271171663477e-02 + 2.500676250820755e-02 2.500082037092928e-02 2.499488529135626e-02 2.498895726677344e-02 2.498303628979692e-02 + 2.497712234741346e-02 2.497121542814719e-02 2.496531552247531e-02 2.495942262282587e-02 2.495353672310340e-02 + 2.494765781766853e-02 2.494178589943900e-02 2.493592095223772e-02 2.493006296439117e-02 2.492421193524048e-02 + 2.491836784922406e-02 2.491253069345717e-02 2.490670047398909e-02 2.490087718065651e-02 2.489506079631419e-02 + 2.488925131370227e-02 2.488344872747560e-02 2.487765302865731e-02 2.487186419727612e-02 2.486608223223404e-02 + 2.486030714174834e-02 2.485453889875117e-02 2.484877749156952e-02 2.484302292908405e-02 2.483727519324232e-02 + 2.483153426549052e-02 2.482580013961989e-02 2.482007281919668e-02 2.481435229933991e-02 2.480863855780388e-02 + 2.480293158683973e-02 2.479723138421890e-02 2.479153794250162e-02 2.478585124573938e-02 2.478017128120043e-02 + 2.477449805440481e-02 2.476883155587847e-02 2.476317176818658e-02 2.475751868877601e-02 2.475187231076201e-02 + 2.474623262098153e-02 2.474059960704484e-02 2.473497326224523e-02 2.472935358498410e-02 2.472374056978996e-02 + 2.471813420423485e-02 2.471253447111526e-02 2.470694136984621e-02 2.470135489678424e-02 2.469577503399494e-02 + 2.469020177298829e-02 2.468463511029760e-02 2.467907504169421e-02 2.467352155791407e-02 2.466797464651026e-02 + 2.466243429488579e-02 2.465690049712254e-02 2.465137324948606e-02 2.464585254039273e-02 2.464033836402688e-02 + 2.463483071739735e-02 2.462932958374225e-02 2.462383495186045e-02 2.461834681928389e-02 2.461286517898853e-02 + 2.460739002108202e-02 2.460192133524253e-02 2.459645911917798e-02 2.459100336526309e-02 2.458555405446716e-02 + 2.458011118496141e-02 2.457467475465895e-02 2.456924474486533e-02 2.456382114921245e-02 2.455840396700115e-02 + 2.455299319041756e-02 2.454758880740113e-02 2.454219080674820e-02 2.453679918638537e-02 2.453141393576077e-02 + 2.452603503863916e-02 2.452066249180092e-02 2.451529629410615e-02 2.450993644073534e-02 2.450458291517292e-02 + 2.449923570627392e-02 2.449389481263279e-02 2.448856022075961e-02 2.448323192252920e-02 2.447790992354739e-02 + 2.447259420740984e-02 2.446728475663024e-02 2.446198157303190e-02 2.445668465268695e-02 2.445139398411770e-02 + 2.444610955000165e-02 2.444083134675017e-02 2.443555937646448e-02 2.443029362647454e-02 2.442503408583922e-02 + 2.441978074770511e-02 2.441453360513738e-02 2.440929264714783e-02 2.440405786136508e-02 2.439882924944217e-02 + 2.439360680824694e-02 2.438839052372590e-02 2.438318038826778e-02 2.437797639360750e-02 2.437277852674977e-02 + 2.436758678074824e-02 2.436240115296091e-02 2.435722164202054e-02 2.435204823529888e-02 2.434688091817521e-02 + 2.434171968740183e-02 2.433656453724402e-02 2.433141545805634e-02 2.432627243782077e-02 2.432113546933723e-02 + 2.431600455029639e-02 2.431087967900234e-02 2.430576084399959e-02 2.430064802749307e-02 2.429554123205279e-02 + 2.429044044976694e-02 2.428534565606734e-02 2.428025685952290e-02 2.427517406275088e-02 2.427009724038350e-02 + 2.426502638834353e-02 2.425996150697585e-02 2.425490258288459e-02 2.424984960255012e-02 2.424480255754471e-02 + 2.423976144931379e-02 2.423472627405213e-02 2.422969702193537e-02 2.422467367993699e-02 2.421965624107330e-02 + 2.421464470176334e-02 2.420963904926960e-02 2.420463927567678e-02 2.419964537946393e-02 2.419465735323985e-02 + 2.418967518800793e-02 2.418469887545246e-02 2.417972840901141e-02 2.417476377855392e-02 2.416980496962540e-02 + 2.416485198688481e-02 2.415990483049387e-02 2.415496347565664e-02 2.415002792020104e-02 2.414509816788697e-02 + 2.414017420064829e-02 2.413525600526027e-02 2.413034357711665e-02 2.412543691925479e-02 2.412053602209589e-02 + 2.411564086852338e-02 2.411075145960207e-02 2.410586778967854e-02 2.410098984367492e-02 2.409611761892932e-02 + 2.409125110932578e-02 2.408639030144091e-02 2.408153519631380e-02 2.407668578962185e-02 2.407184206146642e-02 + 2.406700400909483e-02 2.406217163125833e-02 2.405734491326586e-02 2.405252385052364e-02 2.404770844026444e-02 + 2.404289866819192e-02 2.403809452984102e-02 2.403329602484744e-02 2.402850314011094e-02 2.402371586479471e-02 + 2.401893419282938e-02 2.401415812045089e-02 2.400938764313821e-02 2.400462275334547e-02 2.399986343578922e-02 + 2.399510968520409e-02 2.399036150812855e-02 2.398561888480285e-02 2.398088180164008e-02 2.397615026865237e-02 + 2.397142427338870e-02 2.396670380040281e-02 2.396198885088599e-02 2.395727942113068e-02 2.395257549962209e-02 + 2.394787706723708e-02 2.394318412617158e-02 2.393849668455232e-02 2.393381472012022e-02 2.392913822141401e-02 + 2.392446719065216e-02 2.391980162598514e-02 2.391514151312970e-02 2.391048683154523e-02 2.390583758880722e-02 + 2.390119378770886e-02 2.389655541357522e-02 2.389192245255953e-02 2.388729489743550e-02 2.388267274893805e-02 + 2.387805599705324e-02 2.387344463051915e-02 2.386883864637205e-02 2.386423804212813e-02 2.385964281176755e-02 + 2.385505294183017e-02 2.385046842474073e-02 2.384588925674739e-02 2.384131543037479e-02 2.383674693675093e-02 + 2.383218376863605e-02 2.382762592698097e-02 2.382307340607612e-02 2.381852619200930e-02 2.381398427584630e-02 + 2.380944765139419e-02 2.380491631418275e-02 2.380039026147703e-02 2.379586948695320e-02 2.379135397827495e-02 + 2.378684372855616e-02 2.378233873403001e-02 2.377783899070361e-02 2.377334448688785e-02 2.376885521259772e-02 + 2.376437117173840e-02 2.375989235311110e-02 2.375541874056297e-02 2.375095033967465e-02 2.374648714507580e-02 + 2.374202914136664e-02 2.373757632537944e-02 2.373312869288914e-02 2.372868623536894e-02 2.372424894471153e-02 + 2.371981681484819e-02 2.371538984133524e-02 2.371096801501392e-02 2.370655132827953e-02 2.370213977833190e-02 + 2.369773335765337e-02 2.369333205880069e-02 2.368893587883010e-02 2.368454481046802e-02 2.368015884444250e-02 + 2.367577797334512e-02 2.367140218742613e-02 2.366703147963686e-02 2.366266585606776e-02 2.365830530976384e-02 + 2.365394982335759e-02 2.364959939168465e-02 2.364525401200215e-02 2.364091367903051e-02 2.363657837870221e-02 + 2.363224810602428e-02 2.362792286773459e-02 2.362360264929340e-02 2.361928743769403e-02 2.361497723470610e-02 + 2.361067203383207e-02 2.360637182449869e-02 2.360207659794005e-02 2.359778635431920e-02 2.359350109143980e-02 + 2.358922079027601e-02 2.358494544772182e-02 2.358067506765588e-02 2.357640963547734e-02 2.357214914179353e-02 + 2.356789358468287e-02 2.356364296127548e-02 2.355939726289868e-02 2.355515647729875e-02 2.355092060314220e-02 + 2.354668963726047e-02 2.354246356971432e-02 2.353824239065819e-02 2.353402609608870e-02 2.352981468856027e-02 + 2.352560815209497e-02 2.352140647526573e-02 2.351720967050562e-02 2.351301772305351e-02 2.350883061252196e-02 + 2.350464834642137e-02 2.350047092197861e-02 2.349629832802946e-02 2.349213055910952e-02 2.348796760574937e-02 + 2.348380945835795e-02 2.347965612326723e-02 2.347550759163322e-02 2.347136384068571e-02 2.346722487769892e-02 + 2.346309070523777e-02 2.345896130833473e-02 2.345483667635093e-02 2.345071680463291e-02 2.344660169327714e-02 + 2.344249133136094e-02 2.343838570884467e-02 2.343428482723373e-02 2.343018868068117e-02 2.342609726030811e-02 + 2.342201056195244e-02 2.341792857876926e-02 2.341385130156056e-02 2.340977872164902e-02 2.340571083589386e-02 + 2.340164764377465e-02 2.339758913684304e-02 2.339353530825718e-02 2.338948615385810e-02 2.338544166438565e-02 + 2.338140183238109e-02 2.337736665460082e-02 2.337333612670094e-02 2.336931024309368e-02 2.336528899670786e-02 + 2.336127237782067e-02 2.335726037932775e-02 2.335325300092871e-02 2.334925023614406e-02 2.334525207670920e-02 + 2.334125851951941e-02 2.333726955725296e-02 2.333328518197435e-02 2.332930539416707e-02 2.332533018620607e-02 + 2.332135954429912e-02 2.331739346348105e-02 2.331343194297124e-02 2.330947498175055e-02 2.330552256758802e-02 + 2.330157469245372e-02 2.329763135682490e-02 2.329369255310137e-02 2.328975827131819e-02 2.328582850377367e-02 + 2.328190324900185e-02 2.327798250467623e-02 2.327406626164597e-02 2.327015451465238e-02 2.326624725851670e-02 + 2.326234448228765e-02 2.325844618291867e-02 2.325455236057939e-02 2.325066300636415e-02 2.324677811186985e-02 + 2.324289767062798e-02 2.323902167622130e-02 2.323515012509116e-02 2.323128301561370e-02 2.322742034088871e-02 + 2.322356209250113e-02 2.321970826255392e-02 2.321585884544971e-02 2.321201383858435e-02 2.320817324137425e-02 + 2.320433704277431e-02 2.320050523099401e-02 2.319667780275936e-02 2.319285475700314e-02 2.318903609087885e-02 + 2.318522179577433e-02 2.318141186586264e-02 2.317760629632794e-02 2.317380507773795e-02 2.317000820301008e-02 + 2.316621566880872e-02 2.316242747510807e-02 2.315864361575457e-02 2.315486407850317e-02 2.315108885694486e-02 + 2.314731794816131e-02 2.314355135044316e-02 2.313978905662257e-02 2.313603105913640e-02 2.313227735329952e-02 + 2.312852793585061e-02 2.312478280157292e-02 2.312104194073204e-02 2.311730534704967e-02 2.311357301587891e-02 + 2.310984494137890e-02 2.310612112341407e-02 2.310240155989217e-02 2.309868623130452e-02 2.309497513592190e-02 + 2.309126828241582e-02 2.308756565023808e-02 2.308386723175103e-02 2.308017303542274e-02 2.307648304592169e-02 + 2.307279725617671e-02 2.306911567493640e-02 2.306543828441958e-02 2.306176507302976e-02 2.305809605235563e-02 + 2.305443121050249e-02 2.305077053229759e-02 2.304711401909808e-02 2.304346166830784e-02 2.303981347406350e-02 + 2.303616943085239e-02 2.303252953349069e-02 2.302889377643319e-02 2.302526215247478e-02 2.302163465435939e-02 + 2.301801127709388e-02 2.301439202296127e-02 2.301077688440331e-02 2.300716584594829e-02 2.300355891234385e-02 + 2.299995607931316e-02 2.299635732709070e-02 2.299276266087610e-02 2.298917208378683e-02 2.298558558107965e-02 + 2.298200314503575e-02 2.297842477288603e-02 2.297485046311076e-02 2.297128020911345e-02 2.296771400315858e-02 + 2.296415184168031e-02 2.296059371667762e-02 2.295703962066644e-02 2.295348955785851e-02 2.294994352217295e-02 + 2.294640149900077e-02 2.294286348264926e-02 2.293932947451599e-02 2.293579947717141e-02 2.293227347444131e-02 + 2.292875145668869e-02 2.292523342863249e-02 2.292171938675970e-02 2.291820932208030e-02 2.291470322329688e-02 + 2.291120108573121e-02 2.290770290936340e-02 2.290420869564250e-02 2.290071843254762e-02 2.289723210840996e-02 + 2.289374972996874e-02 2.289027128684278e-02 2.288679676284003e-02 2.288332616596880e-02 2.287985949623025e-02 + 2.287639674290211e-02 2.287293789614104e-02 2.286948295143698e-02 2.286603190794522e-02 2.286258475709644e-02 + 2.285914149325583e-02 2.285570211629635e-02 2.285226661817064e-02 2.284883499242224e-02 2.284540723897847e-02 + 2.284198334984975e-02 2.283856331588243e-02 2.283514713353579e-02 2.283173480111027e-02 2.282832631556901e-02 + 2.282492166909090e-02 2.282152085461623e-02 2.281812386736860e-02 2.281473070606539e-02 2.281134136558116e-02 + 2.280795583769253e-02 2.280457411713410e-02 2.280119619914733e-02 2.279782207936136e-02 2.279445175627783e-02 + 2.279108522557549e-02 2.278772247795469e-02 2.278436350274908e-02 2.278100829770330e-02 2.277765687156956e-02 + 2.277430921150676e-02 2.277096530368425e-02 2.276762515226868e-02 2.276428875675497e-02 2.276095610802096e-02 + 2.275762718728153e-02 2.275430199700514e-02 2.275098054723153e-02 2.274766282325953e-02 2.274434881806882e-02 + 2.274103853245654e-02 2.273773195657694e-02 2.273442908251650e-02 2.273112990748000e-02 2.272783443024632e-02 + 2.272454264587135e-02 2.272125454541999e-02 2.271797012768606e-02 2.271468938883630e-02 2.271141231743784e-02 + 2.270813891155475e-02 2.270486917113991e-02 2.270160309030139e-02 2.269834065991423e-02 2.269508187421201e-02 + 2.269182673791773e-02 2.268857524219826e-02 2.268532737305624e-02 2.268208313254210e-02 2.267884251722086e-02 + 2.267560551920548e-02 2.267237214108131e-02 2.266914237609957e-02 2.266591620883689e-02 2.266269364166427e-02 + 2.265947467384046e-02 2.265625929499294e-02 2.265304750285308e-02 2.264983929495161e-02 2.264663466331073e-02 + 2.264343359962570e-02 2.264023610100446e-02 2.263704217283995e-02 2.263385180078203e-02 2.263066497176033e-02 + 2.262748170200772e-02 2.262430198020481e-02 2.262112578516977e-02 2.261795313211606e-02 2.261478401664109e-02 + 2.261161841743119e-02 2.260845633522814e-02 2.260529777070043e-02 2.260214271924124e-02 2.259899117823321e-02 + 2.259584314154298e-02 2.259269859890657e-02 2.258955754741791e-02 2.258641998536936e-02 2.258328590829124e-02 + 2.258015531052365e-02 2.257702818646037e-02 2.257390453172050e-02 2.257078434461123e-02 2.256766762198980e-02 + 2.256455435398716e-02 2.256144453344060e-02 2.255833815784602e-02 2.255523523027356e-02 2.255213574452021e-02 + 2.254903968810603e-02 2.254594705829782e-02 2.254285785514665e-02 2.253977207653749e-02 2.253668970834607e-02 + 2.253361074658835e-02 2.253053520058667e-02 2.252746305460894e-02 2.252439429792020e-02 2.252132894054988e-02 + 2.251826697539277e-02 2.251520839162438e-02 2.251215318778324e-02 2.250910135797150e-02 2.250605289615611e-02 + 2.250300780314812e-02 2.249996607511807e-02 2.249692770517706e-02 2.249389268897849e-02 2.249086101912092e-02 + 2.248783268793952e-02 2.248480769791340e-02 2.248178604607573e-02 2.247876772289102e-02 2.247575272657626e-02 + 2.247274105420605e-02 2.246973269884927e-02 2.246672765673356e-02 2.246372592391256e-02 2.246072749418018e-02 + 2.245773236145919e-02 2.245474052366870e-02 2.245175198466864e-02 2.244876673416187e-02 2.244578475935081e-02 + 2.244280606154297e-02 2.243983064008646e-02 2.243685849064164e-02 2.243388960632717e-02 2.243092397966235e-02 + 2.242796160524575e-02 2.242500248562306e-02 2.242204661762487e-02 2.241909399183298e-02 2.241614460666303e-02 + 2.241319845819517e-02 2.241025553754803e-02 2.240731584245553e-02 2.240437937032112e-02 2.240144611432051e-02 + 2.239851607018801e-02 2.239558923444239e-02 2.239266560299412e-02 2.238974517661811e-02 2.238682795331298e-02 + 2.238391391839321e-02 2.238100306495051e-02 2.237809539304577e-02 2.237519090301935e-02 2.237228958954325e-02 + 2.236939144530989e-02 2.236649647337483e-02 2.236360466636645e-02 2.236071600836286e-02 2.235783050633204e-02 + 2.235494816009726e-02 2.235206895420678e-02 2.234919288912077e-02 2.234631996540050e-02 2.234345017408028e-02 + 2.234058350741709e-02 2.233771996217690e-02 2.233485954108143e-02 2.233200223848051e-02 2.232914804618978e-02 + 2.232629696222737e-02 2.232344898389008e-02 2.232060410657171e-02 2.231776232362639e-02 2.231492363175558e-02 + 2.231208802922137e-02 2.230925550831191e-02 2.230642606279709e-02 2.230359969032392e-02 2.230077639232617e-02 + 2.229795616382932e-02 2.229513899284023e-02 2.229232488215048e-02 2.228951382986107e-02 2.228670582046145e-02 + 2.228390085767177e-02 2.228109894426768e-02 2.227830006461064e-02 2.227550421765863e-02 2.227271140560883e-02 + 2.226992161633195e-02 2.226713484518715e-02 2.226435109357777e-02 2.226157036041665e-02 2.225879263594571e-02 + 2.225601790864145e-02 2.225324618600033e-02 2.225047746610503e-02 2.224771173578603e-02 2.224494899695189e-02 + 2.224218924606724e-02 2.223943246967720e-02 2.223667867147697e-02 2.223392785229840e-02 2.223117999944780e-02 + 2.222843510958861e-02 2.222569318138216e-02 2.222295420869658e-02 2.222021819230338e-02 2.221748513172378e-02 + 2.221475501403353e-02 2.221202783347761e-02 2.220930358964832e-02 2.220658227937696e-02 2.220386389978368e-02 + 2.220114844711944e-02 2.219843591216284e-02 2.219572629440826e-02 2.219301959936691e-02 2.219031581219321e-02 + 2.218761492468887e-02 2.218491694233576e-02 2.218222185562244e-02 2.217952965986671e-02 2.217684036403281e-02 + 2.217415395419634e-02 2.217147041795686e-02 2.216878976537657e-02 2.216611199005385e-02 2.216343708084910e-02 + 2.216076504044857e-02 2.215809586407636e-02 2.215542954392592e-02 2.215276608232491e-02 2.215010547339664e-02 + 2.214744770611955e-02 2.214479278225410e-02 2.214214070177000e-02 2.213949145934428e-02 2.213684504847090e-02 + 2.213420146383213e-02 2.213156070201421e-02 2.212892275987791e-02 2.212628763520102e-02 2.212365532631548e-02 + 2.212102582567219e-02 2.211839912707401e-02 2.211577523186081e-02 2.211315413883962e-02 2.211053584219323e-02 + 2.210792033053083e-02 2.210530760247808e-02 2.210269766011106e-02 2.210009049378774e-02 2.209748609987134e-02 + 2.209488448015577e-02 2.209228563063591e-02 2.208968954607055e-02 2.208709622107550e-02 2.208450564887732e-02 + 2.208191782589816e-02 2.207933275252874e-02 2.207675042560285e-02 2.207417084119970e-02 2.207159399606388e-02 + 2.206901988424427e-02 2.206644850045388e-02 2.206387984291528e-02 2.206131390816773e-02 2.205875069196218e-02 + 2.205619019101501e-02 2.205363240248722e-02 2.205107732226570e-02 2.204852494231603e-02 2.204597526222870e-02 + 2.204342828418220e-02 2.204088399409952e-02 2.203834238815479e-02 2.203580347352047e-02 2.203326724064265e-02 + 2.203073368487589e-02 2.202820281109562e-02 2.202567460568826e-02 2.202314905892956e-02 2.202062617713913e-02 + 2.201810595951965e-02 2.201558839960293e-02 2.201307348855861e-02 2.201056122699519e-02 2.200805161543166e-02 + 2.200554464185156e-02 2.200304030240887e-02 2.200053859846551e-02 2.199803952619762e-02 2.199554308107517e-02 + 2.199304925941878e-02 2.199055805969111e-02 2.198806947716193e-02 2.198558350490501e-02 2.198310014348315e-02 + 2.198061939050182e-02 2.197814123774413e-02 2.197566568143648e-02 2.197319271829654e-02 2.197072234409288e-02 + 2.196825456242376e-02 2.196578937054303e-02 2.196332674903257e-02 2.196086670076693e-02 2.195840923401799e-02 + 2.195595433798292e-02 2.195350200785295e-02 2.195105224287541e-02 2.194860503638501e-02 2.194616038337459e-02 + 2.194371828086876e-02 2.194127872478465e-02 2.193884171275727e-02 2.193640724439015e-02 2.193397531871202e-02 + 2.193154592984012e-02 2.192911906730429e-02 2.192669472874541e-02 2.192427291582612e-02 2.192185362988310e-02 + 2.191943685926103e-02 2.191702259589666e-02 2.191461084837004e-02 2.191220161094460e-02 2.190979487232746e-02 + 2.190739062981033e-02 2.190498888177591e-02 2.190258962778606e-02 2.190019287048831e-02 2.189779860038415e-02 + 2.189540680312951e-02 2.189301748590321e-02 2.189063064823816e-02 2.188824627921663e-02 2.188586438035036e-02 + 2.188348494945867e-02 2.188110797669410e-02 2.187873346273279e-02 2.187636140793982e-02 2.187399180563438e-02 + 2.187162464701073e-02 2.186925992764394e-02 2.186689765219864e-02 2.186453782016761e-02 2.186218042520733e-02 + 2.185982545624109e-02 2.185747291143151e-02 2.185512279286289e-02 2.185277509428750e-02 2.185042981497303e-02 + 2.184808695595145e-02 2.184574650317918e-02 2.184340845337333e-02 2.184107281435048e-02 2.183873957690715e-02 + 2.183640873122354e-02 2.183408027442373e-02 2.183175421068970e-02 2.182943053984947e-02 2.182710925220595e-02 + 2.182479034512406e-02 2.182247381639650e-02 2.182015965839264e-02 2.181784786935527e-02 2.181553844939510e-02 + 2.181323139439093e-02 2.181092669994856e-02 2.180862436262286e-02 2.180632438083940e-02 2.180402674952244e-02 + 2.180173146217098e-02 2.179943851892379e-02 2.179714791838810e-02 2.179485965603752e-02 2.179257372764807e-02 + 2.179029013045416e-02 2.178800886254997e-02 2.178572991731780e-02 2.178345329019238e-02 2.178117898198011e-02 + 2.177890698980304e-02 2.177663730909087e-02 2.177436993586566e-02 2.177210486810286e-02 2.176984210277431e-02 + 2.176758163245009e-02 2.176532345522340e-02 2.176306757137086e-02 2.176081397536724e-02 2.175856266623576e-02 + 2.175631364444715e-02 2.175406689861889e-02 2.175182242380624e-02 2.174958022311289e-02 2.174734029291431e-02 + 2.174510262809328e-02 2.174286722491656e-02 2.174063408336708e-02 2.173840320169586e-02 2.173617457340815e-02 + 2.173394819180500e-02 2.173172405255836e-02 2.172950215559655e-02 2.172728250040623e-02 2.172506508580887e-02 + 2.172284990969628e-02 2.172063696250313e-02 2.171842623537083e-02 2.171621773566752e-02 2.171401146093844e-02 + 2.171180740120238e-02 2.170960555830954e-02 2.170740592901658e-02 2.170520850408856e-02 2.170301328419004e-02 + 2.170082027006994e-02 2.169862945830807e-02 2.169644084240343e-02 2.169425441572978e-02 2.169207017401216e-02 + 2.168988812007480e-02 2.168770825534887e-02 2.168553057272023e-02 2.168335506533793e-02 2.168118172867985e-02 + 2.167901056214399e-02 2.167684156632982e-02 2.167467473989915e-02 2.167251007478243e-02 2.167034756604321e-02 + 2.166818721221639e-02 2.166602901099679e-02 2.166387295840019e-02 2.166171905012346e-02 2.165956728718834e-02 + 2.165741766632386e-02 2.165527017845730e-02 2.165312482355555e-02 2.165098160273919e-02 2.164884051303741e-02 + 2.164670154730472e-02 2.164456469954934e-02 2.164242996946321e-02 2.164029735885670e-02 2.163816686523918e-02 + 2.163603847533059e-02 2.163391219068715e-02 2.163178801684997e-02 2.162966593882407e-02 2.162754595404139e-02 + 2.162542806873079e-02 2.162331227177066e-02 2.162119856181649e-02 2.161908694674025e-02 2.161697741144211e-02 + 2.161486994763257e-02 2.161276456243416e-02 2.161066125301312e-02 2.160856001324272e-02 2.160646083892226e-02 + 2.160436373197112e-02 2.160226869104043e-02 2.160017570438035e-02 2.159808476849354e-02 2.159599588501710e-02 + 2.159390905460169e-02 2.159182427010056e-02 2.158974152429478e-02 2.158766082444429e-02 2.158558216760809e-02 + 2.158350554187339e-02 2.158143094233737e-02 2.157935837033232e-02 2.157728782941571e-02 2.157521931196140e-02 + 2.157315281164952e-02 2.157108832745493e-02 2.156902585566251e-02 2.156696539445298e-02 2.156490694526656e-02 + 2.156285049964247e-02 2.156079605212440e-02 2.155874360997529e-02 2.155669316474123e-02 2.155464470676604e-02 + 2.155259824484399e-02 2.155055377365348e-02 2.154851128035285e-02 2.154647076406023e-02 2.154443222886153e-02 + 2.154239567713112e-02 2.154036109691455e-02 2.153832848380287e-02 2.153629784162443e-02 2.153426916110383e-02 + 2.153224243839968e-02 2.153021767928900e-02 2.152819487735599e-02 2.152617402486068e-02 2.152415511969989e-02 + 2.152213816346627e-02 2.152012315489333e-02 2.151811008517867e-02 2.151609895106827e-02 2.151408975350627e-02 + 2.151208249405811e-02 2.151007716412923e-02 2.150807375412716e-02 2.150607227139823e-02 2.150407271389111e-02 + 2.150207507178008e-02 2.150007934512424e-02 2.149808553345600e-02 2.149609363244227e-02 2.149410363369511e-02 + 2.149211553597770e-02 2.149012934592863e-02 2.148814505588094e-02 2.148616265955859e-02 2.148418215959600e-02 + 2.148220354775919e-02 2.148022681859241e-02 2.147825198020547e-02 2.147627902590631e-02 2.147430794498996e-02 + 2.147233873858447e-02 2.147037140717467e-02 2.146840594879004e-02 2.146644235912430e-02 2.146448063553682e-02 + 2.146252077578778e-02 2.146056277288728e-02 2.145860662318243e-02 2.145665232726965e-02 2.145469988438242e-02 + 2.145274929256557e-02 2.145080054831608e-02 2.144885364454498e-02 2.144690857746641e-02 2.144496534942983e-02 + 2.144302395654175e-02 2.144108439499599e-02 2.143914666610025e-02 2.143721076355154e-02 2.143527668029283e-02 + 2.143334441800114e-02 2.143141397685691e-02 2.142948535268880e-02 2.142755853497146e-02 2.142563352602930e-02 + 2.142371033388222e-02 2.142178894500280e-02 2.141986935358769e-02 2.141795156402302e-02 2.141603556793572e-02 + 2.141412136230918e-02 2.141220895321441e-02 2.141029833297722e-02 2.140838949470163e-02 2.140648244009975e-02 + 2.140457716697424e-02 2.140267367166504e-02 2.140077195168551e-02 2.139887200433115e-02 2.139697382547902e-02 + 2.139507740888590e-02 2.139318275720074e-02 2.139128987343195e-02 2.138939874415982e-02 2.138750936775835e-02 + 2.138562175102568e-02 2.138373588641631e-02 2.138185176599392e-02 2.137996938652284e-02 2.137808875223814e-02 + 2.137620986251236e-02 2.137433270909064e-02 2.137245728978030e-02 2.137058360186242e-02 2.136871163953864e-02 + 2.136684140688612e-02 2.136497290390506e-02 2.136310611597474e-02 2.136124104345297e-02 2.135937769212130e-02 + 2.135751605860686e-02 2.135565613610374e-02 2.135379791822062e-02 2.135194140402438e-02 2.135008659417071e-02 + 2.134823348788390e-02 2.134638207760105e-02 2.134453236032835e-02 2.134268433814086e-02 2.134083800772077e-02 + 2.133899336411597e-02 2.133715040305821e-02 2.133530912424798e-02 2.133346952672500e-02 2.133163160670673e-02 + 2.132979536297411e-02 2.132796079152963e-02 2.132612788229375e-02 2.132429663915477e-02 2.132246706798375e-02 + 2.132063916037057e-02 2.131881290769116e-02 2.131698830582932e-02 2.131516535978050e-02 2.131334407028698e-02 + 2.131152443198118e-02 2.130970643552249e-02 2.130789007885127e-02 2.130607536669811e-02 2.130426229682303e-02 + 2.130245086421657e-02 2.130064106313053e-02 2.129883288837854e-02 2.129702633875496e-02 2.129522141788389e-02 + 2.129341812290223e-02 2.129161644909972e-02 2.128981639414264e-02 2.128801795585396e-02 2.128622113110773e-02 + 2.128442591509673e-02 2.128263230760480e-02 2.128084030772261e-02 2.127904990395241e-02 2.127726109953179e-02 + 2.127547390424031e-02 2.127368830171838e-02 2.127190428479188e-02 2.127012186038021e-02 2.126834102886177e-02 + 2.126656178481652e-02 2.126478411995624e-02 2.126300803603507e-02 2.126123353191450e-02 2.125946059821390e-02 + 2.125768923851055e-02 2.125591945439615e-02 2.125415123382016e-02 2.125238457915817e-02 2.125061949358618e-02 + 2.124885596288304e-02 2.124709398735697e-02 2.124533357303348e-02 2.124357470952245e-02 2.124181739435340e-02 + 2.124006163206048e-02 2.123830741948956e-02 2.123655475001017e-02 2.123480361731545e-02 2.123305402409987e-02 + 2.123130596739953e-02 2.122955943693203e-02 2.122781443910126e-02 2.122607097723360e-02 2.122432904130337e-02 + 2.122258862659696e-02 2.122084973282204e-02 2.121911236175234e-02 2.121737650789419e-02 2.121564216387619e-02 + 2.121390932803162e-02 2.121217800425756e-02 2.121044819455527e-02 2.120871988671843e-02 2.120699307684077e-02 + 2.120526776795157e-02 2.120354395552526e-02 2.120182163603621e-02 2.120010080901829e-02 2.119838147500087e-02 + 2.119666363123091e-02 2.119494727091758e-02 2.119323238927472e-02 2.119151898655034e-02 2.118980706773010e-02 + 2.118809662574528e-02 2.118638765303925e-02 2.118468015121633e-02 2.118297411864271e-02 2.118126955146517e-02 + 2.117956644637810e-02 2.117786480292237e-02 2.117616462067450e-02 2.117446589411339e-02 2.117276862084477e-02 + 2.117107280130004e-02 2.116937843379139e-02 2.116768551256503e-02 2.116599403067535e-02 2.116430399205533e-02 + 2.116261539753040e-02 2.116092824074994e-02 2.115924251858398e-02 2.115755822756320e-02 2.115587536308644e-02 + 2.115419393062315e-02 2.115251393109511e-02 2.115083534999197e-02 2.114915818684827e-02 2.114748244571777e-02 + 2.114580812117730e-02 2.114413521000233e-02 2.114246371011731e-02 2.114079361630021e-02 2.113912493113981e-02 + 2.113745765864524e-02 2.113579178347091e-02 2.113412730283017e-02 2.113246422731517e-02 2.113080255018658e-02 + 2.112914226466844e-02 2.112748336987266e-02 2.112582586239263e-02 2.112416973838773e-02 2.112251499585494e-02 + 2.112086163946853e-02 2.111920966923609e-02 2.111755907231158e-02 2.111590984741022e-02 2.111426199652882e-02 + 2.111261551330255e-02 2.111097039854193e-02 2.110932665501722e-02 2.110768427494188e-02 2.110604325159932e-02 + 2.110440358337455e-02 2.110276527755971e-02 2.110112832954347e-02 2.109949272542061e-02 2.109785847270291e-02 + 2.109622557382813e-02 2.109459401840321e-02 2.109296380279178e-02 2.109133492634166e-02 2.108970738897449e-02 + 2.108808119187406e-02 2.108645633261542e-02 2.108483280177793e-02 2.108321059649476e-02 2.108158971816587e-02 + 2.107997016818712e-02 2.107835194176262e-02 2.107673503228282e-02 2.107511943992769e-02 2.107350516482023e-02 + 2.107189220511111e-02 2.107028055587330e-02 2.106867021606288e-02 2.106706118735907e-02 2.106545346293816e-02 + 2.106384703796383e-02 2.106224191316689e-02 2.106063808955507e-02 2.105903556250238e-02 2.105743432153898e-02 + 2.105583437513380e-02 2.105423572746437e-02 2.105263836035830e-02 2.105104227142354e-02 2.104944746729932e-02 + 2.104785395134047e-02 2.104626171573087e-02 2.104467074966839e-02 2.104308105452007e-02 2.104149263222363e-02 + 2.103990548218236e-02 2.103831959968388e-02 2.103673498293864e-02 2.103515163200819e-02 2.103356953798411e-02 + 2.103198869775456e-02 2.103040911733209e-02 2.102883079574534e-02 2.102725372695269e-02 2.102567790273802e-02 + 2.102410332486244e-02 2.102252999507990e-02 2.102095790737760e-02 2.101938706174730e-02 2.101781745879964e-02 + 2.101624909192282e-02 2.101468195450770e-02 2.101311604447429e-02 2.101155137000445e-02 2.100998792857284e-02 + 2.100842571064132e-02 2.100686471849675e-02 2.100530495078897e-02 2.100374640001838e-02 2.100218906014547e-02 + 2.100063293273019e-02 2.099907802537045e-02 2.099752433031871e-02 2.099597184169578e-02 2.099442056340826e-02 + 2.099287048844137e-02 2.099132161182849e-02 2.098977394056553e-02 2.098822746767990e-02 2.098668218492037e-02 + 2.098513809937855e-02 2.098359520656010e-02 2.098205349870481e-02 2.098051298433238e-02 2.097897365788888e-02 + 2.097743550607582e-02 2.097589853771057e-02 2.097436275317134e-02 2.097282814179318e-02 2.097129470444368e-02 + 2.096976244194844e-02 2.096823135057212e-02 2.096670142502171e-02 2.096517266432222e-02 2.096364507294766e-02 + 2.096211864290872e-02 2.096059336882086e-02 2.095906925902597e-02 2.095754630598820e-02 2.095602449947026e-02 + 2.095450384463222e-02 2.095298434369944e-02 2.095146599313072e-02 2.094994878341327e-02 2.094843271500539e-02 + 2.094691779352117e-02 2.094540401073429e-02 2.094389136288097e-02 2.094237985194064e-02 2.094086947133280e-02 + 2.093936021927527e-02 2.093785210108921e-02 2.093634511142213e-02 2.093483924325246e-02 2.093333449385128e-02 + 2.093183086645815e-02 2.093032836253444e-02 2.092882697593887e-02 2.092732670311165e-02 2.092582754108962e-02 + 2.092432948474122e-02 2.092283253800634e-02 2.092133670446908e-02 2.091984196956714e-02 2.091834833166288e-02 + 2.091685579922333e-02 2.091536436905392e-02 2.091387403364116e-02 2.091238478662568e-02 2.091089663391256e-02 + 2.090940957508328e-02 2.090792359986955e-02 2.090643871032298e-02 2.090495490818039e-02 2.090347218811059e-02 + 2.090199054718417e-02 2.090050998308706e-02 2.089903049243704e-02 2.089755207414248e-02 2.089607472810411e-02 + 2.089459845325996e-02 2.089312324594328e-02 2.089164910255710e-02 2.089017602427597e-02 2.088870401009232e-02 + 2.088723305634642e-02 2.088576315893389e-02 2.088429431601771e-02 2.088282652696964e-02 2.088135978615913e-02 + 2.087989409321534e-02 2.087842945395569e-02 2.087696586275656e-02 2.087550331287119e-02 2.087404180207852e-02 + 2.087258132736208e-02 2.087112188861259e-02 2.086966349090147e-02 2.086820612891688e-02 2.086674979608584e-02 + 2.086529449590395e-02 2.086384022331517e-02 2.086238697045790e-02 2.086093474039187e-02 2.085948353444753e-02 + 2.085803335091995e-02 2.085658418796912e-02 2.085513604081134e-02 2.085368890289571e-02 2.085224277300881e-02 + 2.085079765267601e-02 2.084935354393509e-02 2.084791044341373e-02 2.084646834711395e-02 2.084502725286095e-02 + 2.084358715744794e-02 2.084214805848912e-02 2.084070995598070e-02 2.083927284909677e-02 2.083783673573611e-02 + 2.083640161226469e-02 2.083496747523998e-02 2.083353432223483e-02 2.083210215303235e-02 2.083067096927498e-02 + 2.082924077044086e-02 2.082781154460241e-02 2.082638329211299e-02 2.082495602309350e-02 2.082352972509603e-02 + 2.082210439277076e-02 2.082068003454410e-02 2.081925664261260e-02 2.081783421113447e-02 2.081641274508624e-02 + 2.081499224082686e-02 2.081357269450268e-02 2.081215410878219e-02 2.081073647873721e-02 2.080931979776872e-02 + 2.080790406592918e-02 2.080648928500749e-02 2.080507545608266e-02 2.080366257645188e-02 2.080225063919177e-02 + 2.080083963814898e-02 2.079942957984240e-02 2.079802046255642e-02 2.079661227641324e-02 2.079520502452446e-02 + 2.079379870732677e-02 2.079239331877295e-02 2.079098886066600e-02 2.078958533155146e-02 2.078818272238310e-02 + 2.078678103594075e-02 2.078538027480030e-02 2.078398043169412e-02 2.078258150517176e-02 2.078118349582184e-02 + 2.077978640032045e-02 2.077839021518007e-02 2.077699493798996e-02 2.077560056860569e-02 2.077420710626992e-02 + 2.077281454908150e-02 2.077142289397691e-02 2.077003213665487e-02 2.076864227381708e-02 2.076725331084939e-02 + 2.076586524753700e-02 2.076447807479244e-02 2.076309178893910e-02 2.076170639200464e-02 2.076032188924749e-02 + 2.075893827075576e-02 2.075755552867013e-02 2.075617367037054e-02 2.075479269394757e-02 2.075341259415677e-02 + 2.075203337133167e-02 2.075065502119062e-02 2.074927754004291e-02 2.074790093527532e-02 2.074652520196147e-02 + 2.074515032814618e-02 2.074377631824518e-02 2.074240317461906e-02 2.074103089389617e-02 2.073965947285912e-02 + 2.073828890806665e-02 2.073691919635770e-02 2.073555033844026e-02 2.073418233381763e-02 2.073281517823886e-02 + 2.073144886803073e-02 2.073008340377233e-02 2.072871879147831e-02 2.072735502222402e-02 2.072599208688765e-02 + 2.072462999392301e-02 2.072326873860233e-02 2.072190831224300e-02 2.072054872378210e-02 2.071918997148765e-02 + 2.071783204556565e-02 2.071647494755481e-02 2.071511867766477e-02 2.071376323196711e-02 2.071240860565183e-02 + 2.071105479791370e-02 2.070970181180314e-02 2.070834964331268e-02 2.070699828917085e-02 2.070564775075080e-02 + 2.070429802727900e-02 2.070294911380581e-02 2.070160100113699e-02 2.070025369244763e-02 2.069890719322030e-02 + 2.069756149841416e-02 2.069621660331007e-02 2.069487250616514e-02 2.069352920972353e-02 2.069218670843115e-02 + 2.069084499406914e-02 2.068950407478504e-02 2.068816395008570e-02 2.068682460979861e-02 2.068548605525363e-02 + 2.068414828647597e-02 2.068281129879088e-02 2.068147509294542e-02 2.068013966727868e-02 2.067880501481977e-02 + 2.067747113766845e-02 2.067613803889334e-02 2.067480571527677e-02 2.067347415977921e-02 2.067214336769299e-02 + 2.067081334319025e-02 2.066948408776949e-02 2.066815559807265e-02 2.066682786498898e-02 2.066550088830383e-02 + 2.066417467341183e-02 2.066284921698086e-02 2.066152451475288e-02 2.066020056372571e-02 2.065887736182303e-02 + 2.065755490839281e-02 2.065623320354572e-02 2.065491224367795e-02 2.065359202675738e-02 2.065227255436574e-02 + 2.065095382314874e-02 2.064963582941213e-02 2.064831857270797e-02 2.064700204957123e-02 2.064568625651786e-02 + 2.064437119414936e-02 2.064305686324694e-02 2.064174326345409e-02 2.064043039179931e-02 2.063911824280925e-02 + 2.063780681176866e-02 2.063649610237503e-02 2.063518611610314e-02 2.063387684909248e-02 2.063256829217405e-02 + 2.063126044539576e-02 2.062995331851188e-02 2.062864690334512e-02 2.062734119190086e-02 2.062603618600375e-02 + 2.062473188642144e-02 2.062342829221786e-02 2.062212540064643e-02 2.062082320714733e-02 2.061952170915304e-02 + 2.061822091004314e-02 2.061692080716460e-02 2.061562139605911e-02 2.061432267954307e-02 2.061302465323251e-02 + 2.061172730955065e-02 2.061043065371613e-02 2.060913468523504e-02 2.060783939685846e-02 2.060654478913799e-02 + 2.060525086119714e-02 2.060395760866959e-02 2.060266503271371e-02 2.060137313244415e-02 2.060008190215519e-02 + 2.059879134465455e-02 2.059750146004468e-02 2.059621223782829e-02 2.059492368052522e-02 2.059363579225837e-02 + 2.059234856405708e-02 2.059106199328788e-02 2.058977608130871e-02 2.058849082556723e-02 2.058720622498806e-02 + 2.058592227959311e-02 2.058463898696043e-02 2.058335634281647e-02 2.058207434376584e-02 2.058079299573017e-02 + 2.057951229614279e-02 2.057823223269817e-02 2.057695281356401e-02 2.057567404187197e-02 2.057439590387300e-02 + 2.057311839681732e-02 2.057184152455586e-02 2.057056529173392e-02 2.056928969078429e-02 2.056801471376779e-02 + 2.056674036634529e-02 2.056546664830153e-02 2.056419355486686e-02 2.056292108306100e-02 2.056164923170236e-02 + 2.056037800067255e-02 2.055910738924650e-02 2.055783739340399e-02 2.055656800859636e-02 2.055529924146672e-02 + 2.055403109005562e-02 2.055276354110791e-02 2.055149659755915e-02 2.055023026272679e-02 2.054896453244645e-02 + 2.054769940766287e-02 2.054643488681757e-02 2.054517096062926e-02 2.054390763218316e-02 2.054264490512525e-02 + 2.054138276915942e-02 2.054012122328143e-02 2.053886027085424e-02 2.053759990682471e-02 2.053634012878631e-02 + 2.053508093799464e-02 2.053382233647706e-02 2.053256431985532e-02 2.053130687980379e-02 2.053005001911220e-02 + 2.052879373804411e-02 2.052753803104820e-02 2.052628289842169e-02 2.052502834052905e-02 2.052377435424499e-02 + 2.052252093383405e-02 2.052126807833591e-02 2.052001579579881e-02 2.051876408076618e-02 2.051751292558091e-02 + 2.051626233431153e-02 2.051501230108543e-02 2.051376281904528e-02 2.051251389905356e-02 2.051126553806812e-02 + 2.051001772450580e-02 2.050877046477720e-02 2.050752375748313e-02 2.050627759308629e-02 2.050503197764233e-02 + 2.050378691120845e-02 2.050254238346269e-02 2.050129839647772e-02 2.050005495152270e-02 2.049881204279591e-02 + 2.049756967049427e-02 2.049632783497685e-02 2.049508653204386e-02 2.049384576061373e-02 2.049260552085964e-02 + 2.049136581124810e-02 2.049012662828215e-02 2.048888796855573e-02 2.048764983217528e-02 2.048641222055239e-02 + 2.048517513365279e-02 2.048393856449956e-02 2.048270250702790e-02 2.048146696002243e-02 2.048023193267689e-02 + 2.047899742444990e-02 2.047776342204647e-02 2.047652992557144e-02 2.047529693666283e-02 2.047406445284291e-02 + 2.047283247820367e-02 2.047160101124722e-02 2.047037003705319e-02 2.046913955996649e-02 2.046790958805229e-02 + 2.046668011290463e-02 2.046545112747173e-02 2.046422263048016e-02 2.046299462941648e-02 2.046176712182623e-02 + 2.046054009863872e-02 2.045931356011635e-02 2.045808750875261e-02 2.045686194483555e-02 2.045563685869128e-02 + 2.045441224888558e-02 2.045318812405373e-02 2.045196447539730e-02 2.045074129851060e-02 2.044951860203706e-02 + 2.044829637561388e-02 2.044707461146781e-02 2.044585332076453e-02 2.044463250090934e-02 2.044341214478788e-02 + 2.044219225389736e-02 2.044097282684260e-02 2.043975385980242e-02 2.043853534979080e-02 2.043731729516990e-02 + 2.043609969584751e-02 2.043488255365452e-02 2.043366586840525e-02 2.043244963622695e-02 2.043123384788510e-02 + 2.043001850356880e-02 2.042880361352058e-02 2.042758917125052e-02 2.042637516923373e-02 2.042516160738241e-02 + 2.042394848596822e-02 2.042273580364956e-02 2.042152355668345e-02 2.042031174421715e-02 2.041910036711696e-02 + 2.041788942589821e-02 2.041667891618270e-02 2.041546883283581e-02 2.041425917723074e-02 2.041304994671302e-02 + 2.041184113736942e-02 2.041063275507356e-02 2.040942479864618e-02 2.040821725911453e-02 2.040701013329647e-02 + 2.040580342336421e-02 2.040459713364973e-02 2.040339125626194e-02 2.040218578748979e-02 2.040098073437600e-02 + 2.039977609190064e-02 2.039857185194057e-02 2.039736801200263e-02 2.039616457948628e-02 2.039496155847034e-02 + 2.039375893548800e-02 2.039255670811317e-02 2.039135487906758e-02 2.039015344139171e-02 2.038895239754324e-02 + 2.038775175394349e-02 2.038655150008423e-02 2.038535163468296e-02 2.038415216492024e-02 2.038295307932101e-02 + 2.038175437156158e-02 2.038055604740632e-02 2.037935811014152e-02 2.037816055719221e-02 2.037696338008003e-02 + 2.037576657774965e-02 2.037457015197002e-02 2.037337410306159e-02 2.037217842811476e-02 2.037098312337542e-02 + 2.036978818702816e-02 2.036859361901312e-02 2.036739941883561e-02 2.036620558232109e-02 2.036501210897116e-02 + 2.036381899981477e-02 2.036262624936801e-02 2.036143385733716e-02 2.036024182706139e-02 2.035905014947786e-02 + 2.035785882153747e-02 2.035666784977269e-02 2.035547723079831e-02 2.035428696142468e-02 2.035309704319765e-02 + 2.035190747134853e-02 2.035071824110532e-02 2.034952935293085e-02 2.034834080749865e-02 2.034715260430401e-02 + 2.034596474052595e-02 2.034477721202228e-02 2.034359001578161e-02 2.034240315367684e-02 2.034121662664043e-02 + 2.034003043357028e-02 2.033884457132868e-02 2.033765903741480e-02 2.033647382949949e-02 2.033528894162872e-02 + 2.033410437471255e-02 2.033292013620119e-02 2.033173621775026e-02 2.033055261459435e-02 2.032936933387398e-02 + 2.032818637173341e-02 2.032700371995237e-02 2.032582137330103e-02 2.032463934032926e-02 2.032345762721536e-02 + 2.032227621977112e-02 2.032109511380310e-02 2.031991431266943e-02 2.031873381713771e-02 2.031755362367381e-02 + 2.031637372822898e-02 2.031519413522404e-02 2.031401484060572e-02 2.031283583475656e-02 2.031165712768451e-02 + 2.031047872082618e-02 2.030930060067025e-02 2.030812276414845e-02 2.030694521582938e-02 2.030576796297434e-02 + 2.030459099391277e-02 2.030341430130414e-02 2.030223789822972e-02 2.030106177803277e-02 2.029988592949474e-02 + 2.029871035725545e-02 2.029753506661443e-02 2.029636005659757e-02 2.029518531267896e-02 2.029401083596470e-02 + 2.029283663654064e-02 2.029166270589052e-02 2.029048903923464e-02 2.028931563858370e-02 2.028814250195392e-02 + 2.028696962711050e-02 2.028579701358946e-02 2.028462466440920e-02 2.028345257575578e-02 2.028228073462766e-02 + 2.028110914546667e-02 2.027993781542017e-02 2.027876674182124e-02 2.027759591671596e-02 2.027642533515473e-02 + 2.027525500323221e-02 2.027408491983729e-02 2.027291508043819e-02 2.027174548650143e-02 2.027057613494678e-02 + 2.026940701983228e-02 2.026823814087089e-02 2.026706949898955e-02 2.026590109425394e-02 2.026473292320746e-02 + 2.026356498366547e-02 2.026239727592488e-02 2.026122979922282e-02 2.026006255023894e-02 2.025889552388743e-02 + 2.025772872449768e-02 2.025656215399196e-02 2.025539580342713e-02 2.025422967119250e-02 2.025306375830951e-02 + 2.025189806183918e-02 2.025073258129647e-02 2.024956731656576e-02 2.024840226339874e-02 2.024723742127980e-02 + 2.024607279125879e-02 2.024490836776212e-02 2.024374415071052e-02 2.024258014353189e-02 2.024141633571028e-02 + 2.024025272656142e-02 2.023908932762591e-02 2.023792612793740e-02 2.023676312010299e-02 2.023560031179207e-02 + 2.023443769779265e-02 2.023327527310789e-02 2.023211304323675e-02 2.023095100708355e-02 2.022978916007167e-02 + 2.022862749919407e-02 2.022746602379288e-02 2.022630473371739e-02 2.022514362648272e-02 2.022398270121405e-02 + 2.022282195791762e-02 2.022166139402294e-02 2.022050100551405e-02 2.021934078921764e-02 2.021818074920451e-02 + 2.021702088593813e-02 2.021586119314628e-02 2.021470166428228e-02 2.021354230080554e-02 2.021238311308448e-02 + 2.021122409287018e-02 2.021006523025651e-02 2.020890652716039e-02 2.020774798484683e-02 2.020658960393083e-02 + 2.020543138529554e-02 2.020427332378045e-02 2.020311541298552e-02 2.020195765397637e-02 2.020080004744672e-02 + 2.019964259236717e-02 2.019848528642001e-02 2.019732812869024e-02 2.019617111926010e-02 2.019501425544548e-02 + 2.019385753379127e-02 2.019270095135025e-02 2.019154450793482e-02 2.019038820298517e-02 2.018923203417478e-02 + 2.018807600019563e-02 2.018692010151906e-02 2.018576433995726e-02 2.018460870891364e-02 2.018345320296787e-02 + 2.018229782843392e-02 2.018114258172615e-02 2.017998745649097e-02 2.017883245877245e-02 2.017767758620927e-02 + 2.017652283054322e-02 2.017536819223788e-02 2.017421367319040e-02 2.017305927292809e-02 2.017190498313902e-02 + 2.017075080461503e-02 2.016959674752286e-02 2.016844280049332e-02 2.016728895684716e-02 2.016613522539111e-02 + 2.016498159847723e-02 2.016382807033869e-02 2.016267465040216e-02 2.016152133310211e-02 2.016036811076429e-02 + 2.015921498985646e-02 2.015806197025070e-02 2.015690904702832e-02 2.015575621731957e-02 2.015460347791708e-02 + 2.015345082711757e-02 2.015229826996444e-02 2.015114580452791e-02 2.014999342256183e-02 2.014884112402139e-02 + 2.014768891079059e-02 2.014653678283008e-02 2.014538473229735e-02 2.014423275838842e-02 2.014308087159530e-02 + 2.014192906336537e-02 2.014077732405132e-02 2.013962565684693e-02 2.013847406112768e-02 2.013732253607323e-02 + 2.013617108558620e-02 2.013501970367529e-02 2.013386838304751e-02 2.013271713092954e-02 2.013156594450895e-02 + 2.013041481517404e-02 2.012926374836556e-02 2.012811274375330e-02 2.012696179396415e-02 2.012581089842930e-02 + 2.012466005832842e-02 2.012350927388322e-02 2.012235854139777e-02 2.012120785897021e-02 2.012005722808521e-02 + 2.011890664240422e-02 2.011775609861771e-02 2.011660560342765e-02 2.011545514995805e-02 2.011430473248947e-02 + 2.011315436328775e-02 2.011200403690588e-02 2.011085374071231e-02 2.010970347811273e-02 2.010855325123000e-02 + 2.010740305829795e-02 2.010625289543029e-02 2.010510276184403e-02 2.010395265874816e-02 2.010280258124321e-02 + 2.010165252783862e-02 2.010050250168409e-02 2.009935249835288e-02 2.009820251528310e-02 2.009705255512517e-02 + 2.009590261098061e-02 2.009475267797075e-02 2.009360276160796e-02 2.009245286068316e-02 2.009130297235736e-02 + 2.009015309860190e-02 2.008900323371492e-02 2.008785337125678e-02 2.008670351711407e-02 2.008555367122358e-02 + 2.008440382812401e-02 2.008325398588614e-02 2.008210414433437e-02 2.008095430334925e-02 2.007980445913736e-02 + 2.007865461009197e-02 2.007750475755383e-02 2.007635489836262e-02 2.007520502856765e-02 2.007405514609401e-02 + 2.007290525369839e-02 2.007175535352643e-02 2.007060544261636e-02 2.006945551378952e-02 2.006830556246986e-02 + 2.006715559358176e-02 2.006600560685722e-02 2.006485559907452e-02 2.006370557035152e-02 2.006255552017783e-02 + 2.006140544519211e-02 2.006025533608720e-02 2.005910519424486e-02 2.005795502866486e-02 2.005680483150780e-02 + 2.005565460068358e-02 2.005450434307724e-02 2.005335404752871e-02 2.005220370751987e-02 2.005105333078331e-02 + 2.004990291380246e-02 2.004875245256121e-02 2.004760195075808e-02 2.004645140541610e-02 2.004530081249103e-02 + 2.004415017386308e-02 2.004299948719255e-02 2.004184874893760e-02 2.004069796075558e-02 2.003954711861807e-02 + 2.003839621652469e-02 2.003724525928808e-02 2.003609424691447e-02 2.003494317431652e-02 2.003379204407136e-02 + 2.003264085311753e-02 2.003148959193977e-02 2.003033826577724e-02 2.002918687817827e-02 2.002803542325049e-02 + 2.002688389828578e-02 2.002573230084169e-02 2.002458062668545e-02 2.002342887779152e-02 2.002227705716231e-02 + 2.002112516254241e-02 2.001997318998642e-02 2.001882113644655e-02 2.001766900292078e-02 2.001651678857442e-02 + 2.001536448981540e-02 2.001421210083374e-02 2.001305962366636e-02 2.001190706486020e-02 2.001075441600587e-02 + 2.000960167234195e-02 2.000844883687991e-02 2.000729590520412e-02 2.000614287591466e-02 2.000498975435740e-02 + 2.000383653574291e-02 2.000268321490327e-02 2.000152979351511e-02 2.000037626872929e-02 1.999922263743778e-02 + 1.999806890154111e-02 1.999691505794393e-02 1.999576110265488e-02 1.999460703886217e-02 1.999345286480270e-02 + 1.999229857569377e-02 1.999114417297134e-02 1.998998965543275e-02 1.998883501902821e-02 1.998768026399775e-02 + 1.998652538946059e-02 1.998537039260291e-02 1.998421527483334e-02 1.998306003351848e-02 1.998190465988335e-02 + 1.998074915750420e-02 1.997959352937345e-02 1.997843776879367e-02 1.997728187765045e-02 1.997612585705249e-02 + 1.997496969649909e-02 1.997381339760593e-02 1.997265696528752e-02 1.997150039002939e-02 1.997034367059401e-02 + 1.996918681208352e-02 1.996802981226081e-02 1.996687266788810e-02 1.996571537594770e-02 1.996455793197006e-02 + 1.996340033608642e-02 1.996224259309599e-02 1.996108470119043e-02 1.995992665416334e-02 1.995876844505867e-02 + 1.995761008193637e-02 1.995645156786617e-02 1.995529288784624e-02 1.995413404457776e-02 1.995297504246996e-02 + 1.995181586885687e-02 1.995065652904149e-02 1.994949703248385e-02 1.994833736513130e-02 1.994717752162546e-02 + 1.994601750553184e-02 1.994485731663886e-02 1.994369695406686e-02 1.994253641736701e-02 1.994137570693218e-02 + 1.994021481716852e-02 1.993905373876526e-02 1.993789248152490e-02 1.993673104732284e-02 1.993556942048493e-02 + 1.993440760773439e-02 1.993324561433191e-02 1.993208342679873e-02 1.993092104568069e-02 1.992975847582151e-02 + 1.992859571315939e-02 1.992743275300710e-02 1.992626959353599e-02 1.992510623927749e-02 1.992394268911061e-02 + 1.992277893654564e-02 1.992161497535049e-02 1.992045080942924e-02 1.991928644769617e-02 1.991812187931771e-02 + 1.991695709651699e-02 1.991579210148713e-02 1.991462689658082e-02 1.991346148075462e-02 1.991229584907280e-02 + 1.991113000189043e-02 1.990996393932216e-02 1.990879765723607e-02 1.990763115454515e-02 1.990646443148474e-02 + 1.990529748687400e-02 1.990413031580006e-02 1.990296291532720e-02 1.990179529310021e-02 1.990062744303953e-02 + 1.989945935329500e-02 1.989829103342642e-02 1.989712248515872e-02 1.989595370004318e-02 1.989478467737964e-02 + 1.989361541884726e-02 1.989244592499573e-02 1.989127618925862e-02 1.989010620674421e-02 1.988893597834538e-02 + 1.988776550466197e-02 1.988659478703524e-02 1.988542382727661e-02 1.988425261506333e-02 1.988308114268849e-02 + 1.988190942098788e-02 1.988073745006194e-02 1.987956522359536e-02 1.987839274079954e-02 1.987722000000555e-02 + 1.987604699732070e-02 1.987487372670402e-02 1.987370019241589e-02 1.987252640362364e-02 1.987135234678179e-02 + 1.987017801708705e-02 1.986900342417090e-02 1.986782856130232e-02 1.986665342124566e-02 1.986547800516037e-02 + 1.986430231940191e-02 1.986312636323797e-02 1.986195012209680e-02 1.986077359858922e-02 1.985959679883774e-02 + 1.985841971608161e-02 1.985724235007767e-02 1.985606470192896e-02 1.985488676268764e-02 1.985370853173279e-02 + 1.985253001389235e-02 1.985135120589531e-02 1.985017210671596e-02 1.984899271721913e-02 1.984781303008921e-02 + 1.984663304141680e-02 1.984545275323681e-02 1.984427216416261e-02 1.984309127447186e-02 1.984191008724042e-02 + 1.984072859600846e-02 1.983954679442092e-02 1.983836468369445e-02 1.983718226650526e-02 1.983599954091759e-02 + 1.983481649574990e-02 1.983363313683907e-02 1.983244947316962e-02 1.983126549121019e-02 1.983008118452795e-02 + 1.982889655650101e-02 1.982771161407836e-02 1.982652635127155e-02 1.982534075477381e-02 1.982415483542671e-02 + 1.982296859699974e-02 1.982178202865004e-02 1.982059512679342e-02 1.981940789099672e-02 1.981822032140366e-02 + 1.981703241807743e-02 1.981584417989424e-02 1.981465560415464e-02 1.981346669171603e-02 1.981227744136961e-02 + 1.981108784415540e-02 1.980989790130036e-02 1.980870761757638e-02 1.980751698807925e-02 1.980632600934410e-02 + 1.980513468056937e-02 1.980394300171975e-02 1.980275097143216e-02 1.980155858653555e-02 1.980036584235624e-02 + 1.979917273943820e-02 1.979797928262491e-02 1.979678546489206e-02 1.979559128379798e-02 1.979439674657348e-02 + 1.979320184217468e-02 1.979200656369760e-02 1.979081092352834e-02 1.978961491694981e-02 1.978841853542797e-02 + 1.978722178317891e-02 1.978602465925507e-02 1.978482715855289e-02 1.978362927697639e-02 1.978243101628911e-02 + 1.978123238058121e-02 1.978003336668686e-02 1.977883396860304e-02 1.977763418131442e-02 1.977643400902304e-02 + 1.977523345232920e-02 1.977403250607500e-02 1.977283117205557e-02 1.977162944865208e-02 1.977042732702634e-02 + 1.976922480613855e-02 1.976802188997964e-02 1.976681858355301e-02 1.976561487769950e-02 1.976441076369096e-02 + 1.976320624890566e-02 1.976200133147697e-02 1.976079600616600e-02 1.975959027757971e-02 1.975838414138116e-02 + 1.975717758909272e-02 1.975597062600439e-02 1.975476325369590e-02 1.975355546738499e-02 1.975234726242962e-02 + 1.975113863825908e-02 1.974992959762522e-02 1.974872013640206e-02 1.974751025163228e-02 1.974629994489470e-02 + 1.974508921425132e-02 1.974387805573186e-02 1.974266646519683e-02 1.974145444319864e-02 1.974024199150465e-02 + 1.973902910920840e-02 1.973781579519036e-02 1.973660204598839e-02 1.973538785240977e-02 1.973417321684443e-02 + 1.973295814730416e-02 1.973174263781577e-02 1.973052668253849e-02 1.972931027913797e-02 1.972809342747564e-02 + 1.972687612827085e-02 1.972565838187941e-02 1.972444018482310e-02 1.972322153363352e-02 1.972200242687443e-02 + 1.972078286440720e-02 1.971956284541047e-02 1.971834236691286e-02 1.971712142485657e-02 1.971590001741145e-02 + 1.971467814826898e-02 1.971345581852119e-02 1.971223302479186e-02 1.971100975804211e-02 1.970978601823674e-02 + 1.970856181065497e-02 1.970733713228995e-02 1.970611197806177e-02 1.970488634450282e-02 1.970366023582840e-02 + 1.970243364879734e-02 1.970120657299705e-02 1.969997901837739e-02 1.969875098677333e-02 1.969752246217473e-02 + 1.969629345274012e-02 1.969506396226801e-02 1.969383397141272e-02 1.969260348756574e-02 1.969137252109090e-02 + 1.969014105730648e-02 1.968890909233832e-02 1.968767662961491e-02 1.968644366805134e-02 1.968521020635475e-02 + 1.968397624286150e-02 1.968274177331172e-02 1.968150679588088e-02 1.968027131148579e-02 1.967903532058098e-02 + 1.967779882218197e-02 1.967656181292412e-02 1.967532428489620e-02 1.967408623811289e-02 1.967284768294825e-02 + 1.967160860971293e-02 1.967036900987211e-02 1.966912889102269e-02 1.966788825153749e-02 1.966664708600774e-02 + 1.966540539310703e-02 1.966416317292449e-02 1.966292042476060e-02 1.966167714455673e-02 1.966043333167102e-02 + 1.965918898702837e-02 1.965794410650064e-02 1.965669868705162e-02 1.965545272765306e-02 1.965420622710374e-02 + 1.965295918609461e-02 1.965171160585919e-02 1.965046347855766e-02 1.964921480087875e-02 1.964796557872257e-02 + 1.964671580769246e-02 1.964546548231519e-02 1.964421460325605e-02 1.964296317129598e-02 1.964171118580111e-02 + 1.964045864365522e-02 1.963920554157133e-02 1.963795187629582e-02 1.963669764477085e-02 1.963544284945441e-02 + 1.963418749362842e-02 1.963293156932153e-02 1.963167507295046e-02 1.963041800662418e-02 1.962916036936736e-02 + 1.962790216073956e-02 1.962664338014056e-02 1.962538401760687e-02 1.962412407160046e-02 1.962286355381917e-02 + 1.962160245501161e-02 1.962034076606272e-02 1.961907849332115e-02 1.961781563715828e-02 1.961655219371613e-02 + 1.961528815879130e-02 1.961402353224150e-02 1.961275831461461e-02 1.961149250160691e-02 1.961022609250104e-02 + 1.960895908768241e-02 1.960769148013132e-02 1.960642326897369e-02 1.960515445887448e-02 1.960388504699325e-02 + 1.960261502901453e-02 1.960134440209794e-02 1.960007316755673e-02 1.959880132269796e-02 1.959752885956289e-02 + 1.959625578572781e-02 1.959498210471557e-02 1.959370780282661e-02 1.959243287776576e-02 1.959115733236078e-02 + 1.958988116575855e-02 1.958860437570835e-02 1.958732696070351e-02 1.958604892230215e-02 1.958477025538254e-02 + 1.958349095293616e-02 1.958221102005211e-02 1.958093045820349e-02 1.957964926225915e-02 1.957836742427244e-02 + 1.957708494595253e-02 1.957580183693370e-02 1.957451808573694e-02 1.957323368588814e-02 1.957194864588927e-02 + 1.957066295908808e-02 1.956937661864716e-02 1.956808962863577e-02 1.956680198857452e-02 1.956551369740821e-02 + 1.956422475810978e-02 1.956293516289206e-02 1.956164490198652e-02 1.956035397935251e-02 1.955906239928264e-02 + 1.955777016187055e-02 1.955647725858155e-02 1.955518368630142e-02 1.955388944730695e-02 1.955259453790914e-02 + 1.955129895574477e-02 1.955000270138056e-02 1.954870577278503e-02 1.954740816848287e-02 1.954610988870274e-02 + 1.954481093111385e-02 1.954351129226784e-02 1.954221096901902e-02 1.954090996078360e-02 1.953960826724446e-02 + 1.953830588603245e-02 1.953700281656794e-02 1.953569905855491e-02 1.953439460897686e-02 1.953308946443935e-02 + 1.953178362233442e-02 1.953047708245082e-02 1.952916984426731e-02 1.952786190592496e-02 1.952655326324738e-02 + 1.952524391408689e-02 1.952393385929222e-02 1.952262309949111e-02 1.952131163370209e-02 1.951999945844595e-02 + 1.951868656751035e-02 1.951737295829730e-02 1.951605863555755e-02 1.951474359789877e-02 1.951342784097203e-02 + 1.951211136184995e-02 1.951079415956861e-02 1.950947623396647e-02 1.950815758387342e-02 1.950683820574165e-02 + 1.950551809587482e-02 1.950419725560715e-02 1.950287568354725e-02 1.950155337574423e-02 1.950023033242808e-02 + 1.949890655251627e-02 1.949758203322258e-02 1.949625677745909e-02 1.949493078034667e-02 1.949360402739089e-02 + 1.949227653112452e-02 1.949094829757290e-02 1.948961930480046e-02 1.948828955781861e-02 1.948695906691206e-02 + 1.948562782150981e-02 1.948429581598615e-02 1.948296304982478e-02 1.948162952319633e-02 1.948029523591830e-02 + 1.947896018726217e-02 1.947762437581102e-02 1.947628779922486e-02 1.947495045397724e-02 1.947361233489661e-02 + 1.947227344348770e-02 1.947093378593678e-02 1.946959335022997e-02 1.946825212971076e-02 1.946691013283964e-02 + 1.946556736109183e-02 1.946422381089845e-02 1.946287947598024e-02 1.946153435147304e-02 1.946018843640089e-02 + 1.945884173551620e-02 1.945749424593349e-02 1.945614596164208e-02 1.945479688244431e-02 1.945344700980195e-02 + 1.945209634356683e-02 1.945074487666461e-02 1.944939260492236e-02 1.944803952905332e-02 1.944668565282712e-02 + 1.944533097303948e-02 1.944397548026850e-02 1.944261917903520e-02 1.944126207147254e-02 1.943990414971487e-02 + 1.943854540610747e-02 1.943718584222317e-02 1.943582547177293e-02 1.943446428245481e-02 1.943310226105812e-02 + 1.943173942068859e-02 1.943037575924362e-02 1.942901126749138e-02 1.942764594793762e-02 1.942627979717840e-02 + 1.942491280913776e-02 1.942354498868186e-02 1.942217633546996e-02 1.942080684436220e-02 1.941943651933332e-02 + 1.941806535493775e-02 1.941669333695301e-02 1.941532047644210e-02 1.941394677715704e-02 1.941257222315028e-02 + 1.941119681542690e-02 1.940982056035791e-02 1.940844345901757e-02 1.940706550055424e-02 1.940568667678698e-02 + 1.940430699663802e-02 1.940292645883611e-02 1.940154505765652e-02 1.940016279578962e-02 1.939877966977487e-02 + 1.939739567223053e-02 1.939601080219835e-02 1.939462506233509e-02 1.939323845462366e-02 1.939185096971125e-02 + 1.939046260516801e-02 1.938907336764642e-02 1.938768325184633e-02 1.938629225021856e-02 1.938490035911401e-02 + 1.938350758330235e-02 1.938211392651081e-02 1.938071938447496e-02 1.937932394922459e-02 1.937792761695239e-02 + 1.937653039473651e-02 1.937513227779157e-02 1.937373325789699e-02 1.937233333934693e-02 1.937093252080456e-02 + 1.936953079702195e-02 1.936812816928827e-02 1.936672463690015e-02 1.936532019607867e-02 1.936391484345597e-02 + 1.936250857586552e-02 1.936110139138094e-02 1.935969329410197e-02 1.935828428412852e-02 1.935687435366041e-02 + 1.935546349795341e-02 1.935405171682407e-02 1.935263901452006e-02 1.935122538845629e-02 1.934981083240821e-02 + 1.934839534117787e-02 1.934697891910190e-02 1.934556156924906e-02 1.934414327695751e-02 1.934272404361874e-02 + 1.934130387854031e-02 1.933988276959641e-02 1.933846071416343e-02 1.933703771882020e-02 1.933561377409585e-02 + 1.933418887831357e-02 1.933276303945045e-02 1.933133624375953e-02 1.932990848653697e-02 1.932847978247962e-02 + 1.932705012296452e-02 1.932561949662077e-02 1.932418790536504e-02 1.932275535526071e-02 1.932132184669807e-02 + 1.931988736608416e-02 1.931845191123332e-02 1.931701548648173e-02 1.931557809132799e-02 1.931413972218449e-02 + 1.931270037603072e-02 1.931126005688787e-02 1.930981875761609e-02 1.930837646527647e-02 1.930693319154590e-02 + 1.930548893938918e-02 1.930404369700001e-02 1.930259746628386e-02 1.930115024647330e-02 1.929970202824377e-02 + 1.929825281461415e-02 1.929680260792617e-02 1.929535140092010e-02 1.929389919235001e-02 1.929244598266550e-02 + 1.929099176842190e-02 1.928953654639375e-02 1.928808031414528e-02 1.928662307035359e-02 1.928516481711372e-02 + 1.928370555611205e-02 1.928224527966380e-02 1.928078398206115e-02 1.927932166173262e-02 1.927785831899656e-02 + 1.927639395364510e-02 1.927492856464996e-02 1.927346215243780e-02 1.927199471282116e-02 1.927052623652251e-02 + 1.926905672766994e-02 1.926758618873705e-02 1.926611461056382e-02 1.926464199150991e-02 1.926316833245443e-02 + 1.926169363057714e-02 1.926021788634381e-02 1.925874109903830e-02 1.925726325940621e-02 1.925578436860509e-02 + 1.925430443199749e-02 1.925282343948819e-02 1.925134138889128e-02 1.924985828498051e-02 1.924837411847957e-02 + 1.924688888599618e-02 1.924540259377309e-02 1.924391524090012e-02 1.924242682077230e-02 1.924093732460676e-02 + 1.923944675829762e-02 1.923795512510602e-02 1.923646241448938e-02 1.923496862521413e-02 1.923347375911634e-02 + 1.923197781292445e-02 1.923048078180134e-02 1.922898266296426e-02 1.922748346006174e-02 1.922598317069195e-02 + 1.922448178990142e-02 1.922297932164773e-02 1.922147575963824e-02 1.921997109174737e-02 1.921846532805457e-02 + 1.921695846861228e-02 1.921545049993734e-02 1.921394143207274e-02 1.921243126559395e-02 1.921091998083786e-02 + 1.920940758472120e-02 1.920789408374423e-02 1.920637946562360e-02 1.920486373146851e-02 1.920334688393281e-02 + 1.920182891329169e-02 1.920030981699324e-02 1.919878959725658e-02 1.919726825432456e-02 1.919574578635056e-02 + 1.919422218928470e-02 1.919269745661605e-02 1.919117158884151e-02 1.918964459045353e-02 1.918811645370936e-02 + 1.918658717454346e-02 1.918505675553962e-02 1.918352519296369e-02 1.918199248296462e-02 1.918045862469436e-02 + 1.917892361805418e-02 1.917738746182788e-02 1.917585015265352e-02 1.917431168820606e-02 1.917277206550804e-02 + 1.917123127946213e-02 1.916968933132487e-02 1.916814622316750e-02 1.916660194885779e-02 1.916505650873668e-02 + 1.916350990423480e-02 1.916196212155291e-02 1.916041316033273e-02 1.915886303062994e-02 1.915731172194125e-02 + 1.915575922930148e-02 1.915420555876758e-02 1.915265070860661e-02 1.915109467332810e-02 1.914953744666585e-02 + 1.914797902645569e-02 1.914641941412443e-02 1.914485861314037e-02 1.914329661713828e-02 1.914173341932142e-02 + 1.914016902223032e-02 1.913860342379879e-02 1.913703662029905e-02 1.913546861279183e-02 1.913389939805644e-02 + 1.913232897075573e-02 1.913075733118505e-02 1.912918447844714e-02 1.912761040908805e-02 1.912603511839811e-02 + 1.912445860715432e-02 1.912288088009771e-02 1.912130192853472e-02 1.911972174626816e-02 1.911814033569584e-02 + 1.911655769224527e-02 1.911497381452394e-02 1.911338870990516e-02 1.911180236957772e-02 1.911021478317005e-02 + 1.910862595492130e-02 1.910703588697045e-02 1.910544457683553e-02 1.910385201685182e-02 1.910225820527016e-02 + 1.910066314375077e-02 1.909906682830796e-02 1.909746925477876e-02 1.909587042200599e-02 1.909427033688354e-02 + 1.909266899402551e-02 1.909106637643193e-02 1.908946249114346e-02 1.908785734491775e-02 1.908625093213804e-02 + 1.908464324204344e-02 1.908303427175084e-02 1.908142403234494e-02 1.907981251534393e-02 1.907819971100440e-02 + 1.907658562789714e-02 1.907497026158614e-02 1.907335360333112e-02 1.907173565762024e-02 1.907011642370295e-02 + 1.906849589616872e-02 1.906687407274958e-02 1.906525095073851e-02 1.906362652703246e-02 1.906200080112851e-02 + 1.906037377260159e-02 1.905874543999789e-02 1.905711580005939e-02 1.905548484883143e-02 1.905385258297056e-02 + 1.905221900422594e-02 1.905058411108648e-02 1.904894789413228e-02 1.904731035325132e-02 1.904567149183364e-02 + 1.904403130952197e-02 1.904238980136186e-02 1.904074696113758e-02 1.903910278612417e-02 1.903745727544392e-02 + 1.903581042868199e-02 1.903416224385271e-02 1.903251272055347e-02 1.903086185871027e-02 1.902920965236104e-02 + 1.902755609551852e-02 1.902590118543579e-02 1.902424492713456e-02 1.902258731926820e-02 1.902092835050054e-02 + 1.901926802409253e-02 1.901760634215130e-02 1.901594329530476e-02 1.901427888303375e-02 1.901261310655987e-02 + 1.901094596056572e-02 1.900927744335199e-02 1.900760755425454e-02 1.900593628837979e-02 1.900426364429972e-02 + 1.900258962310978e-02 1.900091422355684e-02 1.899923743835855e-02 1.899755925950979e-02 1.899587969656637e-02 + 1.899419874741247e-02 1.899251639645128e-02 1.899083265299966e-02 1.898914752052511e-02 1.898746098477085e-02 + 1.898577304386013e-02 1.898408369969058e-02 1.898239295076986e-02 1.898070079269564e-02 1.897900722255288e-02 + 1.897731224261929e-02 1.897561584849886e-02 1.897391803334516e-02 1.897221879605241e-02 1.897051814026927e-02 + 1.896881606767167e-02 1.896711256470153e-02 1.896540762798833e-02 1.896370126437186e-02 1.896199347193909e-02 + 1.896028424413336e-02 1.895857357350164e-02 1.895686146124061e-02 1.895514791045918e-02 1.895343292131205e-02 + 1.895171648302300e-02 1.894999858923527e-02 1.894827924721451e-02 1.894655845419708e-02 1.894483620522033e-02 + 1.894311250187257e-02 1.894138733732357e-02 1.893966070463249e-02 1.893793261072514e-02 1.893620305335951e-02 + 1.893447202418282e-02 1.893273952309081e-02 1.893100555094376e-02 1.892927010627177e-02 1.892753318110494e-02 + 1.892579477108063e-02 1.892405487784487e-02 1.892231350329449e-02 1.892057064453369e-02 1.891882629307712e-02 + 1.891708044683251e-02 1.891533310610873e-02 1.891358427035544e-02 1.891183393696100e-02 1.891008210291091e-02 + 1.890832876617924e-02 1.890657392211156e-02 1.890481756749361e-02 1.890305970669826e-02 1.890130033664154e-02 + 1.889953944876527e-02 1.889777703845312e-02 1.889601310905792e-02 1.889424766560776e-02 1.889248069356991e-02 + 1.889071219005931e-02 1.888894216610460e-02 1.888717060771540e-02 1.888539750970531e-02 1.888362288621832e-02 + 1.888184672351093e-02 1.888006901097801e-02 1.887828976119468e-02 1.887650896887177e-02 1.887472662448569e-02 + 1.887294273026847e-02 1.887115728373587e-02 1.886937028132879e-02 1.886758172601296e-02 1.886579161241305e-02 + 1.886399993232671e-02 1.886220669095003e-02 1.886041188581822e-02 1.885861550746470e-02 1.885681755698847e-02 + 1.885501803485419e-02 1.885321693733238e-02 1.885141425906957e-02 1.884960999916156e-02 1.884780416185130e-02 + 1.884599674103886e-02 1.884418772927479e-02 1.884237712445391e-02 1.884056492700234e-02 1.883875113673901e-02 + 1.883693574995443e-02 1.883511876102816e-02 1.883330016667216e-02 1.883147997149076e-02 1.882965817385698e-02 + 1.882783476601560e-02 1.882600973926643e-02 1.882418309568715e-02 1.882235484340025e-02 1.882052497417560e-02 + 1.881869348031539e-02 1.881686035975185e-02 1.881502561164409e-02 1.881318923741505e-02 1.881135123913003e-02 + 1.880951160558249e-02 1.880767032900146e-02 1.880582741534564e-02 1.880398286136111e-02 1.880213666245483e-02 + 1.880028882149621e-02 1.879843933370182e-02 1.879658819228311e-02 1.879473539862031e-02 1.879288094991765e-02 + 1.879102484097325e-02 1.878916707209326e-02 1.878730764191372e-02 1.878544654683108e-02 1.878358378459472e-02 + 1.878171935183507e-02 1.877985324430765e-02 1.877798546179407e-02 1.877611600228067e-02 1.877424486050507e-02 + 1.877237203778229e-02 1.877049753324887e-02 1.876862133863330e-02 1.876674345293673e-02 1.876486387617420e-02 + 1.876298260257535e-02 1.876109963059111e-02 1.875921496034764e-02 1.875732858848502e-02 1.875544051216185e-02 + 1.875355072885378e-02 1.875165923449702e-02 1.874976602623304e-02 1.874787110336161e-02 1.874597446797304e-02 + 1.874407611425766e-02 1.874217603022874e-02 1.874027422146802e-02 1.873837068906284e-02 1.873646542198345e-02 + 1.873455842189881e-02 1.873264969164939e-02 1.873073922656172e-02 1.872882701964194e-02 1.872691306648714e-02 + 1.872499736923527e-02 1.872307992509612e-02 1.872116072949887e-02 1.871923978227258e-02 1.871731708186487e-02 + 1.871539262387551e-02 1.871346640021372e-02 1.871153841041527e-02 1.870960865979342e-02 1.870767714578883e-02 + 1.870574386089293e-02 1.870380879685916e-02 1.870187195798613e-02 1.869993334446320e-02 1.869799294696750e-02 + 1.869605076691687e-02 1.869410680376838e-02 1.869216104730458e-02 1.869021349836844e-02 1.868826416022470e-02 + 1.868631302853863e-02 1.868436009644664e-02 1.868240535897862e-02 1.868044881818047e-02 1.867849047172725e-02 + 1.867653031474529e-02 1.867456834731333e-02 1.867260456736053e-02 1.867063897034608e-02 1.866867155351236e-02 + 1.866670231459311e-02 1.866473125095620e-02 1.866275835809391e-02 1.866078363356833e-02 1.865880707775009e-02 + 1.865682868564128e-02 1.865484845476688e-02 1.865286638889887e-02 1.865088247751579e-02 1.864889671303901e-02 + 1.864690910747520e-02 1.864491965354244e-02 1.864292833855512e-02 1.864093516946379e-02 1.863894014384585e-02 + 1.863694325319922e-02 1.863494449952898e-02 1.863294388193027e-02 1.863094139526787e-02 1.862893703607748e-02 + 1.862693080034535e-02 1.862492268387857e-02 1.862291268732941e-02 1.862090081042848e-02 1.861888704957227e-02 + 1.861687140151818e-02 1.861485386231105e-02 1.861283442704270e-02 1.861081309610335e-02 1.860878986806025e-02 + 1.860676473338590e-02 1.860473769529663e-02 1.860270875778476e-02 1.860067790615180e-02 1.859864513789995e-02 + 1.859661045850656e-02 1.859457386260990e-02 1.859253534675110e-02 1.859049490946049e-02 1.858845254228221e-02 + 1.858640824383296e-02 1.858436201966219e-02 1.858231386031445e-02 1.858026376148910e-02 1.857821173011040e-02 + 1.857615775674864e-02 1.857410183289329e-02 1.857204396224591e-02 1.856998414158087e-02 1.856792236630606e-02 + 1.856585863699762e-02 1.856379295088432e-02 1.856172530348682e-02 1.855965569223371e-02 1.855758411493529e-02 + 1.855551056872843e-02 1.855343504862798e-02 1.855135755357239e-02 1.854927808391809e-02 1.854719662999937e-02 + 1.854511318947389e-02 1.854302776884543e-02 1.854094036342127e-02 1.853885096469986e-02 1.853675956540365e-02 + 1.853466616668727e-02 1.853257077183708e-02 1.853047338096206e-02 1.852837398473379e-02 1.852627257507170e-02 + 1.852416915520061e-02 1.852206372211816e-02 1.851995627104085e-02 1.851784680396669e-02 1.851573531468755e-02 + 1.851362179508880e-02 1.851150625260910e-02 1.850938868433302e-02 1.850726907790290e-02 1.850514743267316e-02 + 1.850302375022463e-02 1.850089802974987e-02 1.849877026321467e-02 1.849664044568886e-02 1.849450857919205e-02 + 1.849237466328984e-02 1.849023869225825e-02 1.848810065567833e-02 1.848596056072587e-02 1.848381841125062e-02 + 1.848167418759208e-02 1.847952788817062e-02 1.847737952020788e-02 1.847522908039946e-02 1.847307656165976e-02 + 1.847092195736722e-02 1.846876526733367e-02 1.846660649126623e-02 1.846444562782898e-02 1.846228267641075e-02 + 1.846011763022634e-02 1.845795047822359e-02 1.845578122357826e-02 1.845360986824314e-02 1.845143640646702e-02 + 1.844926083412144e-02 1.844708314829677e-02 1.844490334652741e-02 1.844272142526039e-02 1.844053738232335e-02 + 1.843835121884711e-02 1.843616292877729e-02 1.843397250473794e-02 1.843177994759022e-02 1.842958525561723e-02 + 1.842738842512387e-02 1.842518945510765e-02 1.842298833954339e-02 1.842078507029563e-02 1.841857965103055e-02 + 1.841637208298309e-02 1.841416236088061e-02 1.841195047731196e-02 1.840973642948215e-02 1.840752022011446e-02 + 1.840530184216091e-02 1.840308128892246e-02 1.840085856103635e-02 1.839863365911139e-02 1.839640658087383e-02 + 1.839417731924000e-02 1.839194587083986e-02 1.838971223370895e-02 1.838747640300020e-02 1.838523837692452e-02 + 1.838299815548432e-02 1.838075573582631e-02 1.837851111106092e-02 1.837626427462707e-02 1.837401523350234e-02 + 1.837176398539980e-02 1.836951051641877e-02 1.836725482529124e-02 1.836499691387402e-02 1.836273678151691e-02 + 1.836047442118306e-02 1.835820982858270e-02 1.835594300692513e-02 1.835367394977665e-02 1.835140264983480e-02 + 1.834912910825698e-02 1.834685332362546e-02 1.834457529066184e-02 1.834229500068380e-02 1.834001245612868e-02 + 1.833772766191195e-02 1.833544060380268e-02 1.833315127769170e-02 1.833085968975407e-02 1.832856583633842e-02 + 1.832626971106521e-02 1.832397130817964e-02 1.832167062581619e-02 1.831936766045366e-02 1.831706240632338e-02 + 1.831475486820015e-02 1.831244504576387e-02 1.831013292472488e-02 1.830781850356614e-02 1.830550178468002e-02 + 1.830318276421879e-02 1.830086143845657e-02 1.829853780375753e-02 1.829621185558813e-02 1.829388359300937e-02 + 1.829155301569956e-02 1.828922011662799e-02 1.828688489153528e-02 1.828454733892483e-02 1.828220745351499e-02 + 1.827986523367206e-02 1.827752068069898e-02 1.827517378500067e-02 1.827282454323407e-02 1.827047296291425e-02 + 1.826811903643735e-02 1.826576275326505e-02 1.826340410954280e-02 1.826104310998728e-02 1.825867975496676e-02 + 1.825631402943589e-02 1.825394593365713e-02 1.825157547349511e-02 1.824920264235266e-02 1.824682743095013e-02 + 1.824444983334214e-02 1.824206985531418e-02 1.823968749396920e-02 1.823730273947125e-02 1.823491559405069e-02 + 1.823252605635143e-02 1.823013411851380e-02 1.822773977727079e-02 1.822534302885856e-02 1.822294386817581e-02 + 1.822054229933361e-02 1.821813832218229e-02 1.821573192447362e-02 1.821332310276354e-02 1.821091185568656e-02 + 1.820849817689734e-02 1.820608206836350e-02 1.820366353310689e-02 1.820124256311412e-02 1.819881915016099e-02 + 1.819639328969794e-02 1.819396498477247e-02 1.819153423068764e-02 1.818910101812068e-02 1.818666535246774e-02 + 1.818422723286477e-02 1.818178664914423e-02 1.817934360000525e-02 1.817689808189780e-02 1.817445008627356e-02 + 1.817199961756547e-02 1.816954667558178e-02 1.816709124568389e-02 1.816463332917677e-02 1.816217292950077e-02 + 1.815971003769815e-02 1.815724465123547e-02 1.815477676809149e-02 1.815230637650250e-02 1.814983348051392e-02 + 1.814735808823705e-02 1.814488018072306e-02 1.814239975267995e-02 1.813991681262074e-02 1.813743135508509e-02 + 1.813494337086823e-02 1.813245285281114e-02 1.812995980445686e-02 1.812746422731492e-02 1.812496611573551e-02 + 1.812246546481565e-02 1.811996226848969e-02 1.811745651920204e-02 1.811494821957559e-02 1.811243737133842e-02 + 1.810992396481434e-02 1.810740799805441e-02 1.810488947142559e-02 1.810236837745802e-02 1.809984471224923e-02 + 1.809731847419077e-02 1.809478965788605e-02 1.809225826197647e-02 1.808972428730369e-02 1.808718772623545e-02 + 1.808464857219165e-02 1.808210682315950e-02 1.807956248210254e-02 1.807701554512131e-02 1.807446599893149e-02 + 1.807191384222250e-02 1.806935907649996e-02 1.806680169977935e-02 1.806424171112906e-02 1.806167910639137e-02 + 1.805911387430984e-02 1.805654601234490e-02 1.805397552118165e-02 1.805140239539148e-02 1.804882663464111e-02 + 1.804624823872755e-02 1.804366719439020e-02 1.804108350087335e-02 1.803849716547347e-02 1.803590817366155e-02 + 1.803331652090480e-02 1.803072221546651e-02 1.802812524400898e-02 1.802552559998909e-02 1.802292329257977e-02 + 1.802031831251088e-02 1.801771065083283e-02 1.801510031065072e-02 1.801248728509480e-02 1.800987156794499e-02 + 1.800725316456288e-02 1.800463207196059e-02 1.800200828229563e-02 1.799938179038418e-02 1.799675259135415e-02 + 1.799412068157979e-02 1.799148606152016e-02 1.798884872978088e-02 1.798620868169797e-02 1.798356590941466e-02 + 1.798092041139825e-02 1.797827219073602e-02 1.797562123473000e-02 1.797296753674024e-02 1.797031110360818e-02 + 1.796765193280976e-02 1.796499001786419e-02 1.796232535287627e-02 1.795965793501132e-02 1.795698776183851e-02 + 1.795431482887613e-02 1.795163913285315e-02 1.794896067070983e-02 1.794627943785036e-02 1.794359543174794e-02 + 1.794090865000600e-02 1.793821908548673e-02 1.793552673496832e-02 1.793283159877326e-02 1.793013367385930e-02 + 1.792743295577707e-02 1.792472944026945e-02 1.792202312682011e-02 1.791931400976357e-02 1.791660207728341e-02 + 1.791388733234035e-02 1.791116977642004e-02 1.790844939977351e-02 1.790572620127331e-02 1.790300018053203e-02 + 1.790027132960331e-02 1.789753964610457e-02 1.789480512776976e-02 1.789206776371137e-02 1.788932755546883e-02 + 1.788658450796398e-02 1.788383860557862e-02 1.788108984645815e-02 1.787833823870088e-02 1.787558376650758e-02 + 1.787282642238153e-02 1.787006621288861e-02 1.786730313584615e-02 1.786453718506033e-02 1.786176835331611e-02 + 1.785899663566110e-02 1.785622203220682e-02 1.785344454733639e-02 1.785066416506327e-02 1.784788087479271e-02 + 1.784509469481547e-02 1.784230561688990e-02 1.783951362363962e-02 1.783671871969004e-02 1.783392090351773e-02 + 1.783112016693977e-02 1.782831650359620e-02 1.782550991644932e-02 1.782270041052123e-02 1.781988796773664e-02 + 1.781707258188517e-02 1.781425426228424e-02 1.781143299909701e-02 1.780860878344276e-02 1.780578161636334e-02 + 1.780295150019453e-02 1.780011843142990e-02 1.779728239750767e-02 1.779444339320670e-02 1.779160141853593e-02 + 1.778875647528820e-02 1.778590855799184e-02 1.778305765851556e-02 1.778020377358821e-02 1.777734690358035e-02 + 1.777448704738365e-02 1.777162419310320e-02 1.776875833746895e-02 1.776588948369731e-02 1.776301762263940e-02 + 1.776014274927566e-02 1.775726486578331e-02 1.775438397030816e-02 1.775150005486545e-02 1.774861310790110e-02 + 1.774572313526677e-02 1.774283013776283e-02 1.773993409898065e-02 1.773703502220879e-02 1.773413291089222e-02 + 1.773122774923129e-02 1.772831953604024e-02 1.772540827370780e-02 1.772249394894422e-02 1.771957656009896e-02 + 1.771665611194296e-02 1.771373259698992e-02 1.771080600888477e-02 1.770787634473108e-02 1.770494360249459e-02 + 1.770200777818149e-02 1.769906886558849e-02 1.769612685929023e-02 1.769318175770428e-02 1.769023356261796e-02 + 1.768728226707501e-02 1.768432786370409e-02 1.768137035050212e-02 1.767840972761326e-02 1.767544598996190e-02 + 1.767247912224100e-02 1.766950912887429e-02 1.766653601772543e-02 1.766355977437013e-02 1.766058039164660e-02 + 1.765759786981226e-02 1.765461220736955e-02 1.765162339764906e-02 1.764863143247870e-02 1.764563631444012e-02 + 1.764263804044564e-02 1.763963660052613e-02 1.763663199590508e-02 1.763362422648862e-02 1.763061328532627e-02 + 1.762759916389677e-02 1.762458185742205e-02 1.762156136756127e-02 1.761853769290762e-02 1.761551082691653e-02 + 1.761248075761478e-02 1.760944748669641e-02 1.760641101894919e-02 1.760337134551661e-02 1.760032845807722e-02 + 1.759728235211478e-02 1.759423302856655e-02 1.759118048266074e-02 1.758812470690578e-02 1.758506570645847e-02 + 1.758200347417691e-02 1.757893799151254e-02 1.757586926700291e-02 1.757279730534286e-02 1.756972209521438e-02 + 1.756664362962799e-02 1.756356190543487e-02 1.756047692143249e-02 1.755738866974527e-02 1.755429714394244e-02 + 1.755120234663686e-02 1.754810427470094e-02 1.754500292288027e-02 1.754189829041229e-02 1.753879037098419e-02 + 1.753567915477636e-02 1.753256463576890e-02 1.752944681640228e-02 1.752632570156945e-02 1.752320127895599e-02 + 1.752007354011609e-02 1.751694248500407e-02 1.751380811099548e-02 1.751067041466748e-02 1.750752939229762e-02 + 1.750438503712632e-02 1.750123734468025e-02 1.749808631552286e-02 1.749493194526630e-02 1.749177422703599e-02 + 1.748861315463852e-02 1.748544872591071e-02 1.748228094036503e-02 1.747910979560325e-02 1.747593528635296e-02 + 1.747275740493088e-02 1.746957614261004e-02 1.746639150171011e-02 1.746320348827029e-02 1.746001208402579e-02 + 1.745681728232032e-02 1.745361909228664e-02 1.745041750587895e-02 1.744721251527593e-02 1.744400411995098e-02 + 1.744079231626219e-02 1.743757709612158e-02 1.743435844889677e-02 1.743113638300998e-02 1.742791090294012e-02 + 1.742468198827393e-02 1.742144963687445e-02 1.741821385208018e-02 1.741497462017237e-02 1.741173194001650e-02 + 1.740848581625378e-02 1.740523623716524e-02 1.740198319673262e-02 1.739872669626729e-02 1.739546673433575e-02 + 1.739220330474240e-02 1.738893639777237e-02 1.738566600801745e-02 1.738239213410604e-02 1.737911477739739e-02 + 1.737583393441487e-02 1.737254959973500e-02 1.736926176792087e-02 1.736597043319887e-02 1.736267559029083e-02 + 1.735937723525189e-02 1.735607536431420e-02 1.735276997535949e-02 1.734946106967137e-02 1.734614863942214e-02 + 1.734283267462293e-02 1.733951317984790e-02 1.733619014933173e-02 1.733286356952035e-02 1.732953344236944e-02 + 1.732619976822115e-02 1.732286254123125e-02 1.731952175476255e-02 1.731617740506982e-02 1.731282949118149e-02 + 1.730947800429541e-02 1.730612293897103e-02 1.730276429900506e-02 1.729940207772190e-02 1.729603626710180e-02 + 1.729266686687025e-02 1.728929387127552e-02 1.728591727431661e-02 1.728253707811547e-02 1.727915327486350e-02 + 1.727576585445017e-02 1.727237482415143e-02 1.726898017713387e-02 1.726558189725253e-02 1.726217999255776e-02 + 1.725877446141184e-02 1.725536528836806e-02 1.725195247427305e-02 1.724853602088567e-02 1.724511592318061e-02 + 1.724169217016580e-02 1.723826475637563e-02 1.723483368674653e-02 1.723139894995541e-02 1.722796053633534e-02 + 1.722451845482723e-02 1.722107270070567e-02 1.721762326419149e-02 1.721417014587169e-02 1.721071333868621e-02 + 1.720725283251134e-02 1.720378862838028e-02 1.720032072298445e-02 1.719684910908383e-02 1.719337378669194e-02 + 1.718989475327181e-02 1.718641200187306e-02 1.718292552719872e-02 1.717943532374793e-02 1.717594138625576e-02 + 1.717244371734551e-02 1.716894231509765e-02 1.716543716617480e-02 1.716192826455456e-02 1.715841561099909e-02 + 1.715489920993168e-02 1.715137904713604e-02 1.714785510917266e-02 1.714432741097788e-02 1.714079594608009e-02 + 1.713726069602739e-02 1.713372166332687e-02 1.713017885016558e-02 1.712663225240283e-02 1.712308185705881e-02 + 1.711952765873538e-02 1.711596966109396e-02 1.711240786053498e-02 1.710884225051524e-02 1.710527282476134e-02 + 1.710169958307061e-02 1.709812252022495e-02 1.709454162136748e-02 1.709095688985418e-02 1.708736832996113e-02 + 1.708377593024533e-02 1.708017968752960e-02 1.707657960032946e-02 1.707297565703870e-02 1.706936785401023e-02 + 1.706575619189593e-02 1.706214066346443e-02 1.705852126552140e-02 1.705489799818787e-02 1.705127085519305e-02 + 1.704763983091843e-02 1.704400492089210e-02 1.704036611449886e-02 1.703672340943711e-02 1.703307681394708e-02 + 1.702942631772786e-02 1.702577190966809e-02 1.702211358937508e-02 1.701845135582294e-02 1.701478520463906e-02 + 1.701111512687454e-02 1.700744111902223e-02 1.700376317991698e-02 1.700008130526762e-02 1.699639548886451e-02 + 1.699270572517141e-02 1.698901201362202e-02 1.698531434790372e-02 1.698161271901581e-02 1.697790713038581e-02 + 1.697419757947398e-02 1.697048405591379e-02 1.696676655885514e-02 1.696304508413142e-02 1.695931962055792e-02 + 1.695559016575875e-02 1.695185672007940e-02 1.694811928170539e-02 1.694437784303563e-02 1.694063239701608e-02 + 1.693688294268234e-02 1.693312947555357e-02 1.692937198914621e-02 1.692561047849961e-02 1.692184494218333e-02 + 1.691807537819241e-02 1.691430177590003e-02 1.691052413380094e-02 1.690674245501956e-02 1.690295672392027e-02 + 1.689916693403359e-02 1.689537309141036e-02 1.689157519031890e-02 1.688777322481082e-02 1.688396719247375e-02 + 1.688015708323470e-02 1.687634289028026e-02 1.687252461641300e-02 1.686870225976892e-02 1.686487581335405e-02 + 1.686104526641643e-02 1.685721061978611e-02 1.685337187596560e-02 1.684952902423863e-02 1.684568205626177e-02 + 1.684183096806695e-02 1.683797575916921e-02 1.683411642637722e-02 1.683025296370582e-02 1.682638536598722e-02 + 1.682251363071521e-02 1.681863775630957e-02 1.681475773295268e-02 1.681087355358095e-02 1.680698521822956e-02 + 1.680309272743823e-02 1.679919607564722e-02 1.679529524908240e-02 1.679139024683375e-02 1.678748107079098e-02 + 1.678356771499038e-02 1.677965016895157e-02 1.677572842703558e-02 1.677180249929987e-02 1.676787237703614e-02 + 1.676393804299063e-02 1.675999950051788e-02 1.675605674951069e-02 1.675210978219402e-02 1.674815858725950e-02 + 1.674420316518524e-02 1.674024352454331e-02 1.673627964747038e-02 1.673231152527195e-02 1.672833916857912e-02 + 1.672436256552257e-02 1.672038170373856e-02 1.671639658470834e-02 1.671240720840105e-02 1.670841357063555e-02 + 1.670441566220705e-02 1.670041347959014e-02 1.669640702110204e-02 1.669239628051189e-02 1.668838125191250e-02 + 1.668436193143650e-02 1.668033831890629e-02 1.667631040878886e-02 1.667227819212758e-02 1.666824166734860e-02 + 1.666420083129591e-02 1.666015567735254e-02 1.665610620005455e-02 1.665205239678242e-02 1.664799426695549e-02 + 1.664393180284348e-02 1.663986499713315e-02 1.663579384792829e-02 1.663171835503466e-02 1.662763851356003e-02 + 1.662355430939835e-02 1.661946574092143e-02 1.661537281150426e-02 1.661127551677910e-02 1.660717384720702e-02 + 1.660306779425839e-02 1.659895736095696e-02 1.659484254425630e-02 1.659072333444665e-02 1.658659972465595e-02 + 1.658247171530552e-02 1.657833931027815e-02 1.657420249617699e-02 1.657006126301349e-02 1.656591561144095e-02 + 1.656176553662080e-02 1.655761103381663e-02 1.655345210211223e-02 1.654928873901935e-02 1.654512093811135e-02 + 1.654094868807454e-02 1.653677198858015e-02 1.653259084096055e-02 1.652840523447503e-02 1.652421516561530e-02 + 1.652002063436291e-02 1.651582163151349e-02 1.651161815099949e-02 1.650741019156900e-02 1.650319775344297e-02 + 1.649898082810461e-02 1.649475940168675e-02 1.649053348141889e-02 1.648630306850305e-02 1.648206814836095e-02 + 1.647782871114676e-02 1.647358475732917e-02 1.646933629656457e-02 1.646508330893651e-02 1.646082578033714e-02 + 1.645656373337251e-02 1.645229715576629e-02 1.644802602626009e-02 1.644375035674409e-02 1.643947014097659e-02 + 1.643518536281393e-02 1.643089602671802e-02 1.642660213310334e-02 1.642230367492405e-02 1.641800064388943e-02 + 1.641369303446324e-02 1.640938084474308e-02 1.640506407467653e-02 1.640074271742540e-02 1.639641675907646e-02 + 1.639208620097271e-02 1.638775104513307e-02 1.638341128505268e-02 1.637906691499287e-02 1.637471792980197e-02 + 1.637036432400064e-02 1.636600609175647e-02 1.636164322915392e-02 1.635727573684415e-02 1.635290360792794e-02 + 1.634852683359730e-02 1.634414541697593e-02 1.633975935494602e-02 1.633536863669590e-02 1.633097325119221e-02 + 1.632657319870386e-02 1.632216848742881e-02 1.631775910539292e-02 1.631334504210032e-02 1.630892629731235e-02 + 1.630450287107613e-02 1.630007475715268e-02 1.629564194133085e-02 1.629120442381021e-02 1.628676220752001e-02 + 1.628231528645751e-02 1.627786365361661e-02 1.627340730437480e-02 1.626894623909321e-02 1.626448044809207e-02 + 1.626000991935131e-02 1.625553465710418e-02 1.625105466086324e-02 1.624656992364918e-02 1.624208044008659e-02 + 1.623758620493278e-02 1.623308721259990e-02 1.622858345750622e-02 1.622407493651434e-02 1.621956164908100e-02 + 1.621504359102545e-02 1.621052075671857e-02 1.620599314061202e-02 1.620146073758967e-02 1.619692354185834e-02 + 1.619238154678624e-02 1.618783475477294e-02 1.618328316706134e-02 1.617872676957040e-02 1.617416555535298e-02 + 1.616959952441603e-02 1.616502867670949e-02 1.616045300241566e-02 1.615587248863419e-02 1.615128714307292e-02 + 1.614669696726644e-02 1.614210195036420e-02 1.613750207990814e-02 1.613289735436475e-02 1.612828778261194e-02 + 1.612367334765880e-02 1.611905403879705e-02 1.611442986870223e-02 1.610980082722066e-02 1.610516690212456e-02 + 1.610052809916244e-02 1.609588441136000e-02 1.609123582829610e-02 1.608658235171540e-02 1.608192397521171e-02 + 1.607726068992654e-02 1.607259250083978e-02 1.606791940362701e-02 1.606324138657220e-02 1.605855844962495e-02 + 1.605387058768025e-02 1.604917779011535e-02 1.604448006054786e-02 1.603977739874237e-02 1.603506979420087e-02 + 1.603035723984084e-02 1.602563973257448e-02 1.602091727188371e-02 1.601618984720332e-02 1.601145745295015e-02 + 1.600672010067149e-02 1.600197777942985e-02 1.599723047266619e-02 1.599247818462375e-02 1.598772091449355e-02 + 1.598295865408641e-02 1.597819139147786e-02 1.597341912912636e-02 1.596864187530068e-02 1.596385961058315e-02 + 1.595907232771693e-02 1.595428003613896e-02 1.594948272828454e-02 1.594468039178993e-02 1.593987301780130e-02 + 1.593506061365002e-02 1.593024318102167e-02 1.592542070422077e-02 1.592059317798925e-02 1.591576060279083e-02 + 1.591092297799217e-02 1.590608029141302e-02 1.590123253274349e-02 1.589637971157846e-02 1.589152182656434e-02 + 1.588665886609507e-02 1.588179081847464e-02 1.587691768450550e-02 1.587203947045915e-02 1.586715616213467e-02 + 1.586226775168990e-02 1.585737424168921e-02 1.585247562649581e-02 1.584757190117160e-02 1.584266306445842e-02 + 1.583774911091078e-02 1.583283003450806e-02 1.582790583090947e-02 1.582297649499978e-02 1.581804202355953e-02 + 1.581310241701619e-02 1.580815766650671e-02 1.580320776320766e-02 1.579825271139450e-02 1.579329250537274e-02 + 1.578832713506978e-02 1.578335660262603e-02 1.577838090296324e-02 1.577340002574811e-02 1.576841397243399e-02 + 1.576342274326813e-02 1.575842633194578e-02 1.575342472205075e-02 1.574841791148685e-02 1.574340591569888e-02 + 1.573838872006093e-02 1.573336631006632e-02 1.572833869008299e-02 1.572330586230670e-02 1.571826781924578e-02 + 1.571322454052314e-02 1.570817603062760e-02 1.570312230059812e-02 1.569806333998715e-02 1.569299913693516e-02 + 1.568792968457186e-02 1.568285498663007e-02 1.567777503779379e-02 1.567268982728102e-02 1.566759935997030e-02 + 1.566250363482262e-02 1.565740264102256e-02 1.565229637077196e-02 1.564718482295817e-02 1.564206800099241e-02 + 1.563694589151567e-02 1.563181848599405e-02 1.562668579194260e-02 1.562154780177149e-02 1.561640450642917e-02 + 1.561125590888111e-02 1.560610200797837e-02 1.560094279515962e-02 1.559577825343192e-02 1.559060838842812e-02 + 1.558543321151646e-02 1.558025270088283e-02 1.557506685188879e-02 1.556987567405825e-02 1.556467915294808e-02 + 1.555947727806998e-02 1.555427005014520e-02 1.554905747326830e-02 1.554383954557267e-02 1.553861625685508e-02 + 1.553338760005679e-02 1.552815357203842e-02 1.552291417232042e-02 1.551766939022104e-02 1.551241921985975e-02 + 1.550716367246923e-02 1.550190274051892e-02 1.549663640983429e-02 1.549136467943576e-02 1.548608754911306e-02 + 1.548080501516420e-02 1.547551706650131e-02 1.547022370107663e-02 1.546492492363977e-02 1.545962073006300e-02 + 1.545431111106912e-02 1.544899605692932e-02 1.544367557060635e-02 1.543834964941066e-02 1.543301828099291e-02 + 1.542768146907574e-02 1.542233921474585e-02 1.541699150599057e-02 1.541163833967913e-02 1.540627971422265e-02 + 1.540091562222576e-02 1.539554606062004e-02 1.539017102808156e-02 1.538479052048013e-02 1.537940453376258e-02 + 1.537401306270197e-02 1.536861609811398e-02 1.536321364249661e-02 1.535780570199338e-02 1.535239225620149e-02 + 1.534697329939463e-02 1.534154884369051e-02 1.533611887960563e-02 1.533068339829330e-02 1.532524239983298e-02 + 1.531979587995433e-02 1.531434383110085e-02 1.530888624554550e-02 1.530342313142362e-02 1.529795449144603e-02 + 1.529248030485156e-02 1.528700056732233e-02 1.528151528324413e-02 1.527602445059826e-02 1.527052806021316e-02 + 1.526502610370102e-02 1.525951858764995e-02 1.525400550804322e-02 1.524848685322667e-02 1.524296262660809e-02 + 1.523743282528689e-02 1.523189743753784e-02 1.522635646012132e-02 1.522080989370855e-02 1.521525773883866e-02 + 1.520969998584297e-02 1.520413662809972e-02 1.519856766896251e-02 1.519299310438481e-02 1.518741292689401e-02 + 1.518182713051541e-02 1.517623571498702e-02 1.517063867977171e-02 1.516503601659771e-02 1.515942772580205e-02 + 1.515381380882217e-02 1.514819425008754e-02 1.514256904339338e-02 1.513693819284546e-02 1.513130169987854e-02 + 1.512565955837021e-02 1.512001175774349e-02 1.511435830052952e-02 1.510869918485496e-02 1.510303439909880e-02 + 1.509736393861015e-02 1.509168780464220e-02 1.508600600178219e-02 1.508031852355242e-02 1.507462535986425e-02 + 1.506892650464710e-02 1.506322195838325e-02 1.505751172137055e-02 1.505179578553525e-02 1.504607414992266e-02 + 1.504034681527993e-02 1.503461377008154e-02 1.502887501067205e-02 1.502313053999477e-02 1.501738035243006e-02 + 1.501162444030474e-02 1.500586279803602e-02 1.500009542963074e-02 1.499432233574762e-02 1.498854350912934e-02 + 1.498275894315130e-02 1.497696863387312e-02 1.497117258012378e-02 1.496537077480856e-02 1.495956321394884e-02 + 1.495374990400090e-02 1.494793083920974e-02 1.494210600904758e-02 1.493627541059610e-02 1.493043904648383e-02 + 1.492459691659297e-02 1.491874900408085e-02 1.491289530722370e-02 1.490703583623931e-02 1.490117058646935e-02 + 1.489529954725381e-02 1.488942270892006e-02 1.488354007804980e-02 1.487765165385858e-02 1.487175742273507e-02 + 1.486585738883519e-02 1.485995155398175e-02 1.485403990610964e-02 1.484812243988829e-02 1.484219915557141e-02 + 1.483627005584607e-02 1.483033513203473e-02 1.482439437542072e-02 1.481844779264578e-02 1.481249538141862e-02 + 1.480653713381494e-02 1.480057304868135e-02 1.479460312202780e-02 1.478862734716873e-02 1.478264572087699e-02 + 1.477665824308106e-02 1.477066491441443e-02 1.476466572742758e-02 1.475866067903805e-02 1.475264977269339e-02 + 1.474663299844858e-02 1.474061034872640e-02 1.473458182710518e-02 1.472854743115566e-02 1.472250715651883e-02 + 1.471646100132783e-02 1.471040896256117e-02 1.470435103749897e-02 1.469828722554372e-02 1.469221751827344e-02 + 1.468614190646898e-02 1.468006039547928e-02 1.467397298615093e-02 1.466787967378610e-02 1.466178045636883e-02 + 1.465567533041493e-02 1.464956428982840e-02 1.464344732703370e-02 1.463732444018100e-02 1.463119563426315e-02 + 1.462506090797482e-02 1.461892025637629e-02 1.461277367320199e-02 1.460662115516677e-02 1.460046270026797e-02 + 1.459429830605704e-02 1.458812796887011e-02 1.458195168595082e-02 1.457576945823491e-02 1.456958128559711e-02 + 1.456338716422361e-02 1.455718708308891e-02 1.455098103823577e-02 1.454476903226018e-02 1.453855106504101e-02 + 1.453232713525658e-02 1.452609724028033e-02 1.451986137384772e-02 1.451361953112174e-02 1.450737171027855e-02 + 1.450111790831084e-02 1.449485812287890e-02 1.448859235383744e-02 1.448232060352556e-02 1.447604287018101e-02 + 1.446975914267516e-02 1.446346941597466e-02 1.445717368938523e-02 1.445087196279080e-02 1.444456423724572e-02 + 1.443825051237331e-02 1.443193078136921e-02 1.442560503975330e-02 1.441927328581930e-02 1.441293551683267e-02 + 1.440659172970616e-02 1.440024192165075e-02 1.439388609177658e-02 1.438752424156573e-02 1.438115637277796e-02 + 1.437478247503487e-02 1.436840254149195e-02 1.436201657648160e-02 1.435562457263202e-02 1.434922652522855e-02 + 1.434282244486077e-02 1.433641232984850e-02 1.432999617114929e-02 1.432357396196595e-02 1.431714570255755e-02 + 1.431071139387867e-02 1.430427102559402e-02 1.429782460021014e-02 1.429137212732056e-02 1.428491359501307e-02 + 1.427844899676062e-02 1.427197833606156e-02 1.426550161130239e-02 1.425901881685885e-02 1.425252994564961e-02 + 1.424603499980085e-02 1.423953398385027e-02 1.423302689906778e-02 1.422651373475527e-02 1.421999448399202e-02 + 1.421346915585374e-02 1.420693774198730e-02 1.420040023237321e-02 1.419385663850131e-02 1.418730696003290e-02 + 1.418075118751426e-02 1.417418931634679e-02 1.416762135086922e-02 1.416104729584521e-02 1.415446713263836e-02 + 1.414788085973522e-02 1.414128849363525e-02 1.413469002361970e-02 1.412808544052846e-02 1.412147474772301e-02 + 1.411485794712882e-02 1.410823503604182e-02 1.410160600672222e-02 1.409497085818714e-02 1.408832959214252e-02 + 1.408168220875668e-02 1.407502870564407e-02 1.406836907961611e-02 1.406170332864153e-02 1.405503144837146e-02 + 1.404835343608425e-02 1.404166929852345e-02 1.403497903248639e-02 1.402828262916828e-02 1.402158009603205e-02 + 1.401487143048169e-02 1.400815661918214e-02 1.400143566703935e-02 1.399470857625501e-02 1.398797534046779e-02 + 1.398123596549795e-02 1.397449045134991e-02 1.396773878380821e-02 1.396098096640959e-02 1.395421700271061e-02 + 1.394744688102961e-02 1.394067060648909e-02 1.393388818692338e-02 1.392709961198955e-02 1.392030488001634e-02 + 1.391350399327543e-02 1.390669694254475e-02 1.389988372719557e-02 1.389306435287330e-02 1.388623881438261e-02 + 1.387940711188756e-02 1.387256925103053e-02 1.386572522405790e-02 1.385887502683316e-02 1.385201866296698e-02 + 1.384515612379329e-02 1.383828740611332e-02 1.383141252098464e-02 1.382453146615934e-02 1.381764423695148e-02 + 1.381075083621117e-02 1.380385125926009e-02 1.379694549932224e-02 1.379003355634722e-02 1.378311543405784e-02 + 1.377619113577579e-02 1.376926065784134e-02 1.376232399626086e-02 1.375538114862362e-02 1.374843211529037e-02 + 1.374147689626999e-02 1.373451549097131e-02 1.372754790081035e-02 1.372057412482435e-02 1.371359415880417e-02 + 1.370660800191563e-02 1.369961565562416e-02 1.369261712158748e-02 1.368561239160383e-02 1.367860146147292e-02 + 1.367158434223160e-02 1.366456103295884e-02 1.365753152816715e-02 1.365049582984413e-02 1.364345393626983e-02 + 1.363640584363454e-02 1.362935155197557e-02 1.362229106201978e-02 1.361522437421294e-02 1.360815148809621e-02 + 1.360107240365773e-02 1.359398712117658e-02 1.358689563898480e-02 1.357979795217255e-02 1.357269405533802e-02 + 1.356558396017600e-02 1.355846767355538e-02 1.355134518540141e-02 1.354421648973967e-02 1.353708158728038e-02 + 1.352994048497773e-02 1.352279317412557e-02 1.351563964921714e-02 1.350847993234027e-02 1.350131401794928e-02 + 1.349414188812881e-02 1.348696355361660e-02 1.347977901858603e-02 1.347258827670450e-02 1.346539132112732e-02 + 1.345818815687027e-02 1.345097879723517e-02 1.344376323611521e-02 1.343654146470481e-02 1.342931348024562e-02 + 1.342207929164266e-02 1.341483890125029e-02 1.340759229714105e-02 1.340033948592649e-02 1.339308047488992e-02 + 1.338581525615185e-02 1.337854383232506e-02 1.337126620737807e-02 1.336398237245951e-02 1.335669232490426e-02 + 1.334939606999042e-02 1.334209361886319e-02 1.333478496691931e-02 1.332747010093965e-02 1.332014902896288e-02 + 1.331282175723704e-02 1.330548828381385e-02 1.329814860211957e-02 1.329080271412866e-02 1.328345063097246e-02 + 1.327609234424045e-02 1.326872784914616e-02 1.326135715657202e-02 1.325398026514318e-02 1.324659716972378e-02 + 1.323920787031880e-02 1.323181236976987e-02 1.322441067219326e-02 1.321700278123619e-02 1.320958869473772e-02 + 1.320216840889533e-02 1.319474192647233e-02 1.318730924299288e-02 1.317987035320805e-02 1.317242527523754e-02 + 1.316497401404441e-02 1.315751655750498e-02 1.315005290457417e-02 1.314258305915991e-02 1.313510702533477e-02 + 1.312762479749873e-02 1.312013637454663e-02 1.311264176674524e-02 1.310514097528989e-02 1.309763399743803e-02 + 1.309012083240218e-02 1.308260148524151e-02 1.307507595779872e-02 1.306754423810231e-02 1.306000633130083e-02 + 1.305246225068735e-02 1.304491199415833e-02 1.303735555888092e-02 1.302979294561730e-02 1.302222416114251e-02 + 1.301464920127586e-02 1.300706805512286e-02 1.299948074007148e-02 1.299188726392925e-02 1.298428761376350e-02 + 1.297668178953030e-02 1.296906979917289e-02 1.296145165196894e-02 1.295382733572278e-02 1.294619684321666e-02 + 1.293856019418804e-02 1.293091739361701e-02 1.292326843600229e-02 1.291561331594024e-02 1.290795203962965e-02 + 1.290028461406370e-02 1.289261102589192e-02 1.288493127982097e-02 1.287724539399148e-02 1.286955336728896e-02 + 1.286185519483855e-02 1.285415087393522e-02 1.284644040779901e-02 1.283872379943217e-02 1.283100105007112e-02 + 1.282327216499671e-02 1.281553714651719e-02 1.280779599126801e-02 1.280004870582322e-02 1.279229529551004e-02 + 1.278453575462785e-02 1.277677008230648e-02 1.276899828322272e-02 1.276122036637128e-02 1.275343633303281e-02 + 1.274564618082443e-02 1.273784991358546e-02 1.273004753391990e-02 1.272223904101719e-02 1.271442442957637e-02 + 1.270660370794978e-02 1.269877689384363e-02 1.269094397773904e-02 1.268310495443295e-02 1.267525983383190e-02 + 1.266740862159357e-02 1.265955131610305e-02 1.265168790986125e-02 1.264381841321034e-02 1.263594283614933e-02 + 1.262806117310012e-02 1.262017342951705e-02 1.261227961209872e-02 1.260437971406514e-02 1.259647373729069e-02 + 1.258856168925583e-02 1.258064357239260e-02 1.257271939240096e-02 1.256478915520078e-02 1.255685285459754e-02 + 1.254891049173029e-02 1.254096207570647e-02 1.253300760376554e-02 1.252504707668881e-02 1.251708050378790e-02 + 1.250910789128773e-02 1.250112924190730e-02 1.249314455497329e-02 1.248515382942968e-02 1.247715706626537e-02 + 1.246915427066142e-02 1.246114545004359e-02 1.245313061093009e-02 1.244510975519442e-02 1.243708288271855e-02 + 1.242904999334644e-02 1.242101108960597e-02 1.241296617602342e-02 1.240491525784085e-02 1.239685833832253e-02 + 1.238879542265411e-02 1.238072651672425e-02 1.237265161832934e-02 1.236457072972670e-02 1.235648385971585e-02 + 1.234839100475330e-02 1.234029216644840e-02 1.233218735967670e-02 1.232407658450629e-02 1.231595983825897e-02 + 1.230783712734204e-02 1.229970846199802e-02 1.229157384500942e-02 1.228343326032102e-02 1.227528672233900e-02 + 1.226713425500730e-02 1.225897584359588e-02 1.225081148758153e-02 1.224264120133804e-02 1.223446498720786e-02 + 1.222628284514866e-02 1.221809477711035e-02 1.220990079161559e-02 1.220170089405064e-02 1.219349508434973e-02 + 1.218528336781141e-02 1.217706575082829e-02 1.216884223701085e-02 1.216061282093886e-02 1.215237750559525e-02 + 1.214413631491834e-02 1.213588924765066e-02 1.212763629639266e-02 1.211937747504947e-02 1.211111278696468e-02 + 1.210284222899338e-02 1.209456580676226e-02 1.208628352659129e-02 1.207799539529086e-02 1.206970142400196e-02 + 1.206140161359375e-02 1.205309595715539e-02 1.204478446558403e-02 1.203646714593309e-02 1.202814399601385e-02 + 1.201981502726849e-02 1.201148024892713e-02 1.200313965960066e-02 1.199479326438714e-02 1.198644106975963e-02 + 1.197808307814890e-02 1.196971928979660e-02 1.196134970757412e-02 1.195297434273665e-02 1.194459320579336e-02 + 1.193620630286995e-02 1.192781363156250e-02 1.191941519457288e-02 1.191101099930699e-02 1.190260104978759e-02 + 1.189418535108248e-02 1.188576391078268e-02 1.187733673904143e-02 1.186890383909906e-02 1.186046520717658e-02 + 1.185202085452967e-02 1.184357078721630e-02 1.183511499765447e-02 1.182665350164435e-02 1.181818631619212e-02 + 1.180971343948878e-02 1.180123487113532e-02 1.179275061618258e-02 1.178426068678883e-02 1.177576508273127e-02 + 1.176726380098327e-02 1.175875685721244e-02 1.175024426443667e-02 1.174172602804813e-02 1.173320214474543e-02 + 1.172467261918110e-02 1.171613746318596e-02 1.170759667473828e-02 1.169905025976067e-02 1.169049823639713e-02 + 1.168194060529573e-02 1.167337736787376e-02 1.166480853596695e-02 1.165623411322526e-02 1.164765410079015e-02 + 1.163906850325271e-02 1.163047732858534e-02 1.162188058835008e-02 1.161327829716097e-02 1.160467045202270e-02 + 1.159605704763531e-02 1.158743810702480e-02 1.157881363156412e-02 1.157018361041755e-02 1.156154807040710e-02 + 1.155290702254676e-02 1.154426045745637e-02 1.153560838867705e-02 1.152695082724772e-02 1.151828777265603e-02 + 1.150961922666123e-02 1.150094519786783e-02 1.149226570234640e-02 1.148358074611148e-02 1.147489033148848e-02 + 1.146619446355201e-02 1.145749315215113e-02 1.144878640491215e-02 1.144007421936342e-02 1.143135660500108e-02 + 1.142263357779597e-02 1.141390514531738e-02 1.140517131031360e-02 1.139643207471360e-02 1.138768744746770e-02 + 1.137893743736065e-02 1.137018205114591e-02 1.136142129485616e-02 1.135265517811921e-02 1.134388371322748e-02 + 1.133510690045416e-02 1.132632474439678e-02 1.131753726104511e-02 1.130874445081251e-02 1.129994631541456e-02 + 1.129114287234474e-02 1.128233413053084e-02 1.127352009524980e-02 1.126470077646612e-02 1.125587617975814e-02 + 1.124704630615814e-02 1.123821115477194e-02 1.122937074388692e-02 1.122052509984340e-02 1.121167421843202e-02 + 1.120281809651728e-02 1.119395674175946e-02 1.118509017235879e-02 1.117621839625571e-02 1.116734140890626e-02 + 1.115845922925729e-02 1.114957187162777e-02 1.114067933143962e-02 1.113178161769016e-02 1.112287874451852e-02 + 1.111397072153178e-02 1.110505754694771e-02 1.109613922373310e-02 1.108721577854856e-02 1.107828721826434e-02 + 1.106935353946150e-02 1.106041475521090e-02 1.105147087839408e-02 1.104252191603393e-02 1.103356786436798e-02 + 1.102460873384026e-02 1.101564454870664e-02 1.100667531791245e-02 1.099770104268406e-02 1.098872172333136e-02 + 1.097973737703280e-02 1.097074801492989e-02 1.096175363206450e-02 1.095275424291130e-02 1.094374986633713e-02 + 1.093474051123777e-02 1.092572618232803e-02 1.091670688531980e-02 1.090768263148204e-02 1.089865342255811e-02 + 1.088961926240844e-02 1.088058018050034e-02 1.087153618780464e-02 1.086248727940419e-02 1.085343346361914e-02 + 1.084437475261139e-02 1.083531115780061e-02 1.082624268419920e-02 1.081716934144050e-02 1.080809114559821e-02 + 1.079900810312026e-02 1.078992022093278e-02 1.078082751184906e-02 1.077172998533364e-02 1.076262764813011e-02 + 1.075352050586474e-02 1.074440857092024e-02 1.073529185762834e-02 1.072617037570664e-02 1.071704413251609e-02 + 1.070791313635956e-02 1.069877740113652e-02 1.068963693244828e-02 1.068049173224424e-02 1.067134181766250e-02 + 1.066218720670161e-02 1.065302791162099e-02 1.064386393117340e-02 1.063469527249458e-02 1.062552195483164e-02 + 1.061634397913101e-02 1.060716135205155e-02 1.059797409807024e-02 1.058878223029125e-02 1.057958575437316e-02 + 1.057038467384018e-02 1.056117900039964e-02 1.055196874533382e-02 1.054275390960051e-02 1.053353451406393e-02 + 1.052431058354873e-02 1.051508211263400e-02 1.050584910821505e-02 1.049661158906674e-02 1.048736956269110e-02 + 1.047812303544552e-02 1.046887201730896e-02 1.045961652742825e-02 1.045035657823219e-02 1.044109217270465e-02 + 1.043182332652317e-02 1.042255005238709e-02 1.041327235213399e-02 1.040399023555266e-02 1.039470371859749e-02 + 1.038541282005145e-02 1.037611754740451e-02 1.036681790639924e-02 1.035751391340543e-02 1.034820558036888e-02 + 1.033889291336949e-02 1.032957591435120e-02 1.032025460242317e-02 1.031092900384275e-02 1.030159911688449e-02 + 1.029226495054825e-02 1.028292652729243e-02 1.027358385071069e-02 1.026423692589549e-02 1.025488576741323e-02 + 1.024553039300053e-02 1.023617081698821e-02 1.022680704740226e-02 1.021743909457171e-02 1.020806697035185e-02 + 1.019869068658227e-02 1.018931025066223e-02 1.017992567348438e-02 1.017053697875713e-02 1.016114417776936e-02 + 1.015174727399650e-02 1.014234627700861e-02 1.013294120450803e-02 1.012353207457940e-02 1.011411888599992e-02 + 1.010470164920459e-02 1.009528038851809e-02 1.008585511657422e-02 1.007642584330934e-02 1.006699257991301e-02 + 1.005755533847607e-02 1.004811412861271e-02 1.003866895746225e-02 1.002921984502842e-02 1.001976681035788e-02 + 1.001030986009602e-02 1.000084900502786e-02 9.991384259025663e-03 9.981915635495017e-03 9.972443141719819e-03 + 9.962966786689603e-03 9.953486595586885e-03 9.944002583039199e-03 9.934514754395770e-03 9.925023122335749e-03 + 9.915527701693664e-03 9.906028505794947e-03 9.896525539473492e-03 9.887018817044350e-03 9.877508364713565e-03 + 9.867994191756903e-03 9.858476305769829e-03 9.848954721540815e-03 9.839429453723526e-03 9.829900512927632e-03 + 9.820367904529967e-03 9.810831649938153e-03 9.801291772225836e-03 9.791748277276684e-03 9.782201174956444e-03 + 9.772650480173910e-03 9.763096209214261e-03 9.753538370443265e-03 9.743976971083063e-03 9.734412038356991e-03 + 9.724843589152831e-03 9.715271627378256e-03 9.705696167153652e-03 9.696117225097080e-03 9.686534815487291e-03 + 9.676948943754414e-03 9.667359623576509e-03 9.657766883492007e-03 9.648170733986708e-03 9.638571181819185e-03 + 9.628968243024477e-03 9.619361933494769e-03 9.609752265452595e-03 9.600139245296816e-03 9.590522893495216e-03 + 9.580903234511828e-03 9.571280275331249e-03 9.561654026946651e-03 9.552024506017841e-03 9.542391727779683e-03 + 9.532755702177183e-03 9.523116437885958e-03 9.513473960404769e-03 9.503828289303256e-03 9.494179431678001e-03 + 9.484527400058637e-03 9.474872210511853e-03 9.465213879778082e-03 9.455552415295903e-03 9.445887829718797e-03 + 9.436220151655284e-03 9.426549394486200e-03 9.416875565725477e-03 9.407198681221749e-03 9.397518758018270e-03 + 9.387835810148322e-03 9.378149843813783e-03 9.368460878589471e-03 9.358768941430739e-03 9.349074041571485e-03 + 9.339376189353358e-03 9.329675400879622e-03 9.319971694171958e-03 9.310265081086165e-03 9.300555568605354e-03 + 9.290843182951191e-03 9.281127946492163e-03 9.271409865969660e-03 9.261688954922952e-03 9.251965230660204e-03 + 9.242238709904914e-03 9.232509401801155e-03 9.222777318787652e-03 9.213042489474691e-03 9.203304930168641e-03 + 9.193564649383718e-03 9.183821661973759e-03 9.174075985705271e-03 9.164327637046287e-03 9.154576623077591e-03 + 9.144822962285418e-03 9.135066683045857e-03 9.125307796249328e-03 9.115546312613307e-03 9.105782249286811e-03 + 9.096015624756502e-03 9.086246452281876e-03 9.076474739187750e-03 9.066700510968253e-03 9.056923792083085e-03 + 9.047144590189744e-03 9.037362919662660e-03 9.027578799121916e-03 9.017792245480461e-03 9.008003268928564e-03 + 8.998211881680073e-03 8.988418113610518e-03 8.978621982540696e-03 8.968823496265647e-03 8.959022672124209e-03 + 8.949219528590024e-03 8.939414081469170e-03 8.929606339864140e-03 8.919796321979990e-03 8.909984056877767e-03 + 8.900169557867096e-03 8.890352835957138e-03 8.880533907981049e-03 8.870712793191068e-03 8.860889506593549e-03 + 8.851064055633283e-03 8.841236465905915e-03 8.831406764712287e-03 8.821574959648875e-03 8.811741064546590e-03 + 8.801905099237244e-03 8.792067082696866e-03 8.782227026145442e-03 8.772384940188230e-03 8.762540855386065e-03 + 8.752694792574688e-03 8.742846759945761e-03 8.732996774006149e-03 8.723144854408183e-03 8.713291019755398e-03 + 8.703435278608567e-03 8.693577647775636e-03 8.683718159456632e-03 8.673856827661263e-03 8.663993662505663e-03 + 8.654128683145933e-03 8.644261909320558e-03 8.634393356690426e-03 8.624523033451901e-03 8.614650964506795e-03 + 8.604777179373340e-03 8.594901686657006e-03 8.585024500118565e-03 8.575145640490715e-03 8.565265126670765e-03 + 8.555382971806235e-03 8.545499187654319e-03 8.535613803632294e-03 8.525726842250045e-03 8.515838312646278e-03 + 8.505948232174527e-03 8.496056621077198e-03 8.486163497882877e-03 8.476268872748003e-03 8.466372762116349e-03 + 8.456475199094931e-03 8.446576199856061e-03 8.436675774300739e-03 8.426773941795081e-03 8.416870722731803e-03 + 8.406966134358667e-03 8.397060186389057e-03 8.387152901959176e-03 8.377244311160385e-03 8.367334425300299e-03 + 8.357423258296441e-03 8.347510830980188e-03 8.337597163605794e-03 8.327682270401855e-03 8.317766161869340e-03 + 8.307848867754637e-03 8.297930413816063e-03 8.288010810083676e-03 8.278090072673102e-03 8.268168221765407e-03 + 8.258245278027963e-03 8.248321253600945e-03 8.238396163758082e-03 8.228470040664376e-03 8.218542903042886e-03 + 8.208614761992156e-03 8.198685637447353e-03 8.188755549837494e-03 8.178824516773604e-03 8.168892549578916e-03 + 8.158959670459199e-03 8.149025910256038e-03 8.139091282816925e-03 8.129155801857130e-03 8.119219487437710e-03 + 8.109282361690508e-03 8.099344440765549e-03 8.089405733754036e-03 8.079466270417937e-03 8.069526079135253e-03 + 8.059585169010465e-03 8.049643556954327e-03 8.039701265060109e-03 8.029758314127560e-03 8.019814717074126e-03 + 8.009870488264625e-03 7.999925660293698e-03 7.989980254561855e-03 7.980034282561204e-03 7.970087763203990e-03 + 7.960140717914167e-03 7.950193166721423e-03 7.940245120231920e-03 7.930296599391260e-03 7.920347637831796e-03 + 7.910398250263278e-03 7.900448449763646e-03 7.890498257622273e-03 7.880547695356892e-03 7.870596780430528e-03 + 7.860645524802819e-03 7.850693955430419e-03 7.840742100859013e-03 7.830789973961963e-03 7.820837591210042e-03 + 7.810884973654219e-03 7.800932143705464e-03 7.790979115476222e-03 7.781025902060369e-03 7.771072537550891e-03 + 7.761119045304192e-03 7.751165435253132e-03 7.741211727248220e-03 7.731257943744334e-03 7.721304105116559e-03 + 7.711350222852130e-03 7.701396316987202e-03 7.691442422531397e-03 7.681488555826352e-03 7.671534729460651e-03 + 7.661580965493510e-03 7.651627286213397e-03 7.641673709645761e-03 7.631720246474624e-03 7.621766924002147e-03 + 7.611813774300424e-03 7.601860809420407e-03 7.591908045212342e-03 7.581955503946372e-03 7.572003208680656e-03 + 7.562051174726026e-03 7.552099414296815e-03 7.542147961065804e-03 7.532196840825635e-03 7.522246063843738e-03 + 7.512295650102864e-03 7.502345622322073e-03 7.492396000716249e-03 7.482446799189802e-03 7.472498037196947e-03 + 7.462549747897286e-03 7.452601950331629e-03 7.442654658211039e-03 7.432707892744488e-03 7.422761676416634e-03 + 7.412816028768508e-03 7.402870961455420e-03 7.392926500328647e-03 7.382982678429822e-03 7.373039508794957e-03 + 7.363097007225734e-03 7.353155196864952e-03 7.343214100532815e-03 7.333273734782904e-03 7.323334112197604e-03 + 7.313395265021593e-03 7.303457220900774e-03 7.293519991033275e-03 7.283583594600794e-03 7.273648054943689e-03 + 7.263713394446934e-03 7.253779626580373e-03 7.243846768480717e-03 7.233914855435080e-03 7.223983908518886e-03 + 7.214053940460562e-03 7.204124972417771e-03 7.194197027491048e-03 7.184270126394881e-03 7.174344280726286e-03 + 7.164419514784642e-03 7.154495863236941e-03 7.144573340914020e-03 7.134651962993328e-03 7.124731752265264e-03 + 7.114812732100897e-03 7.104894920638768e-03 7.094978330575343e-03 7.085062992246606e-03 7.075148934793896e-03 + 7.065236171017366e-03 7.055324719420953e-03 7.045414603125002e-03 7.035505845669364e-03 7.025598461448587e-03 + 7.015692466009597e-03 7.005787894887785e-03 6.995884771371198e-03 6.985983107977662e-03 6.976082925249031e-03 + 6.966184246523457e-03 6.956287093797063e-03 6.946391479271966e-03 6.936497425652844e-03 6.926604968509339e-03 + 6.916714124366364e-03 6.906824907731460e-03 6.896937340931554e-03 6.887051448149962e-03 6.877167248699087e-03 + 6.867284753979424e-03 6.857403994050719e-03 6.847525000658012e-03 6.837647785670592e-03 6.827772367409923e-03 + 6.817898770109592e-03 6.808027016717447e-03 6.798157122708669e-03 6.788289103240300e-03 6.778422992931511e-03 + 6.768558816798320e-03 6.758696587557012e-03 6.748836325648165e-03 6.738978054348659e-03 6.729121795949092e-03 + 6.719267563927435e-03 6.709415379633438e-03 6.699565278400954e-03 6.689717278120727e-03 6.679871393303892e-03 + 6.670027647355804e-03 6.660186063525513e-03 6.650346660981845e-03 6.640509452367944e-03 6.630674466396449e-03 + 6.620841735868644e-03 6.611011273308148e-03 6.601183096392477e-03 6.591357229649247e-03 6.581533696087914e-03 + 6.571712512145987e-03 6.561893692372858e-03 6.552077270290561e-03 6.542263272668194e-03 6.532451712617284e-03 + 6.522642609933696e-03 6.512835987879551e-03 6.503031869590782e-03 6.493230268870023e-03 6.483431205156500e-03 + 6.473634714105858e-03 6.463840816056773e-03 6.454049525191551e-03 6.444260863046832e-03 6.434474853362258e-03 + 6.424691517208967e-03 6.414910866799055e-03 6.405132928351729e-03 6.395357735592168e-03 6.385585303753894e-03 + 6.375815649717760e-03 6.366048796411005e-03 6.356284767471845e-03 6.346523580477974e-03 6.336765248927921e-03 + 6.327009805730009e-03 6.317257279178600e-03 6.307507681412946e-03 6.297761032647583e-03 6.288017356862164e-03 + 6.278276676438099e-03 6.268539005625230e-03 6.258804362658888e-03 6.249072783406197e-03 6.239344289504087e-03 + 6.229618894349891e-03 6.219896619699197e-03 6.210177489065160e-03 6.200461523673893e-03 6.190748736475173e-03 + 6.181039151999554e-03 6.171332804226705e-03 6.161629709556120e-03 6.151929884103313e-03 6.142233350147177e-03 + 6.132540131644584e-03 6.122850247356021e-03 6.113163710170625e-03 6.103480551213418e-03 6.093800800141988e-03 + 6.084124469547710e-03 6.074451578566364e-03 6.064782150905211e-03 6.055116209626953e-03 6.045453769994722e-03 + 6.035794848740185e-03 6.026139480474754e-03 6.016487688229946e-03 6.006839485237500e-03 5.997194892776407e-03 + 5.987553934341584e-03 5.977916631713333e-03 5.968282997802390e-03 5.958653055343909e-03 5.949026838944569e-03 + 5.939404365780911e-03 5.929785651209331e-03 5.920170717549854e-03 5.910559587858684e-03 5.900952281370824e-03 + 5.891348811852907e-03 5.881749208142844e-03 5.872153500225121e-03 5.862561701850070e-03 5.852973831530551e-03 + 5.843389912374926e-03 5.833809966833203e-03 5.824234011006907e-03 5.814662060999971e-03 5.805094150375409e-03 + 5.795530303292347e-03 5.785970532524381e-03 5.776414859211175e-03 5.766863306294991e-03 5.757315894674337e-03 + 5.747772638659374e-03 5.738233559732430e-03 5.728698691311226e-03 5.719168051719483e-03 5.709641656042984e-03 + 5.700119526414031e-03 5.690601685377130e-03 5.681088152168133e-03 5.671578940158426e-03 5.662074076665564e-03 + 5.652573592801510e-03 5.643077502877857e-03 5.633585823810169e-03 5.624098577633230e-03 5.614615788052954e-03 + 5.605137471831965e-03 5.595663642810052e-03 5.586194333773162e-03 5.576729570469775e-03 5.567269364923084e-03 + 5.557813736696195e-03 5.548362708847973e-03 5.538916303890826e-03 5.529474534822445e-03 5.520037420561356e-03 + 5.510604996543656e-03 5.501177281279281e-03 5.491754287530179e-03 5.482336037985177e-03 5.472922555453679e-03 + 5.463513859119052e-03 5.454109961206277e-03 5.444710887376439e-03 5.435316669896643e-03 5.425927322428118e-03 + 5.416542861379438e-03 5.407163309793553e-03 5.397788689388935e-03 5.388419016905312e-03 5.379054306533677e-03 + 5.369694588817857e-03 5.360339890208465e-03 5.350990223294556e-03 5.341645606645782e-03 5.332306062415535e-03 + 5.322971612709802e-03 5.313642271564683e-03 5.304318056285795e-03 5.294999000250198e-03 5.285685123732157e-03 + 5.276376439554206e-03 5.267072968338082e-03 5.257774732353860e-03 5.248481751732874e-03 5.239194038865901e-03 + 5.229911616755654e-03 5.220634516968343e-03 5.211362754853240e-03 5.202096346092698e-03 5.192835312362628e-03 + 5.183579674966123e-03 5.174329450821569e-03 5.165084652994387e-03 5.155845310548846e-03 5.146611450951191e-03 + 5.137383086378589e-03 5.128160234647254e-03 5.118942917508807e-03 5.109731156137037e-03 5.100524965000140e-03 + 5.091324360054826e-03 5.082129373049942e-03 5.072940025255639e-03 5.063756329149303e-03 5.054578304260502e-03 + 5.045405972366202e-03 5.036239353680495e-03 5.027078459118392e-03 5.017923310123222e-03 5.008773940483098e-03 + 4.999630364315774e-03 4.990492594829337e-03 4.981360654331298e-03 4.972234563790402e-03 4.963114339923834e-03 + 4.953999995020500e-03 4.944891556281875e-03 4.935789051765770e-03 4.926692493194353e-03 4.917601897109304e-03 + 4.908517284729773e-03 4.899438676825864e-03 4.890366088012707e-03 4.881299532722441e-03 4.872239041569468e-03 + 4.863184636415129e-03 4.854136328649667e-03 4.845094137498133e-03 4.836058083872883e-03 4.827028186746977e-03 + 4.818004458681770e-03 4.808986918914880e-03 4.799975597861264e-03 4.790970512088721e-03 4.781971675128856e-03 + 4.772979106768043e-03 4.763992827229902e-03 4.755012853632298e-03 4.746039197549013e-03 4.737071883993436e-03 + 4.728110941197518e-03 4.719156380399636e-03 4.710208217424537e-03 4.701266473663848e-03 4.692331168251817e-03 + 4.683402315353613e-03 4.674479928383867e-03 4.665564036556664e-03 4.656654662394768e-03 4.647751816371710e-03 + 4.638855516650367e-03 4.629965783672686e-03 4.621082635909843e-03 4.612206084994354e-03 4.603336148102954e-03 + 4.594472856159325e-03 4.585616225744373e-03 4.576766268345947e-03 4.567923003199363e-03 4.559086450091263e-03 + 4.550256626033265e-03 4.541433541986122e-03 4.532617220194613e-03 4.523807688535670e-03 4.515004959722835e-03 + 4.506209047920159e-03 4.497419972185719e-03 4.488637751873642e-03 4.479862401381760e-03 4.471093932025212e-03 + 4.462332371280023e-03 4.453577742726973e-03 4.444830056583276e-03 4.436089328917552e-03 4.427355578888171e-03 + 4.418628824988929e-03 4.409909078668640e-03 4.401196354933857e-03 4.392490684030716e-03 4.383792083151365e-03 + 4.375100562120779e-03 4.366416138313078e-03 4.357738831525952e-03 4.349068659591380e-03 4.340405630957790e-03 + 4.331749765364269e-03 4.323101091949651e-03 4.314459623208851e-03 4.305825371349630e-03 4.297198354190413e-03 + 4.288578590720092e-03 4.279966095343473e-03 4.271360877578565e-03 4.262762963097229e-03 4.254172376200769e-03 + 4.245589126222103e-03 4.237013227440267e-03 4.228444697962537e-03 4.219883556022182e-03 4.211329813254019e-03 + 4.202783482548908e-03 4.194244591796649e-03 4.185713159116739e-03 4.177189194188086e-03 4.168672712320958e-03 + 4.160163731860882e-03 4.151662270610665e-03 4.143168336754119e-03 4.134681947397693e-03 4.126203130809124e-03 + 4.117731899759874e-03 4.109268265260960e-03 4.100812244167818e-03 4.092363854125291e-03 4.083923109325604e-03 + 4.075490018959178e-03 4.067064605609816e-03 4.058646892914489e-03 4.050236890474988e-03 4.041834611549669e-03 + 4.033440073099425e-03 4.025053291802670e-03 4.016674279190388e-03 4.008303046950822e-03 3.999939621219669e-03 + 3.991584019864232e-03 3.983236251035503e-03 3.974896329846703e-03 3.966564273682151e-03 3.958240098637734e-03 + 3.949923812376889e-03 3.941615430268695e-03 3.933314980874398e-03 3.925022475755094e-03 3.916737923312982e-03 + 3.908461340476090e-03 3.900192744628528e-03 3.891932149238224e-03 3.883679560814138e-03 3.875435000263637e-03 + 3.867198492508630e-03 3.858970045729460e-03 3.850749670926077e-03 3.842537384120139e-03 3.834333202377867e-03 + 3.826137136626801e-03 3.817949195349815e-03 3.809769403427763e-03 3.801597779587331e-03 3.793434330750140e-03 + 3.785279069923421e-03 3.777132013373491e-03 3.768993177352847e-03 3.760862568898475e-03 3.752740200334732e-03 + 3.744626099044159e-03 3.736520277340854e-03 3.728422742215669e-03 3.720333508785603e-03 3.712252593018920e-03 + 3.704180008090329e-03 3.696115760631814e-03 3.688059868276574e-03 3.680012354362612e-03 3.671973228138760e-03 + 3.663942499526064e-03 3.655920182566113e-03 3.647906292785413e-03 3.639900840938008e-03 3.631903834337251e-03 + 3.623915295229000e-03 3.615935242250758e-03 3.607963681828620e-03 3.600000626081414e-03 3.592046089865790e-03 + 3.584100087061132e-03 3.576162625323692e-03 3.568233715505030e-03 3.560313381862740e-03 3.552401637255495e-03 + 3.544498488187401e-03 3.536603947761108e-03 3.528718030587010e-03 3.520840749407267e-03 3.512972109975055e-03 + 3.505112127471606e-03 3.497260824593953e-03 3.489418209893856e-03 3.481584291815555e-03 3.473759083632174e-03 + 3.465942599385497e-03 3.458134849136788e-03 3.450335838875430e-03 3.442545588595099e-03 3.434764116831954e-03 + 3.426991428902786e-03 3.419227535146918e-03 3.411472449427477e-03 3.403726185233638e-03 3.395988749408295e-03 + 3.388260149964055e-03 3.380540409506120e-03 3.372829541439428e-03 3.365127551327278e-03 3.357434450344299e-03 + 3.349750251864305e-03 3.342074968176267e-03 3.334408603200120e-03 3.326751169911567e-03 3.319102691777129e-03 + 3.311463175183513e-03 3.303832626198486e-03 3.296211059114474e-03 3.288598486024217e-03 3.280994915398627e-03 + 3.273400352769854e-03 3.265814815709593e-03 3.258238322074859e-03 3.250670876135365e-03 3.243112486983179e-03 + 3.235563167624456e-03 3.228022929479646e-03 3.220491779361285e-03 3.212969724272006e-03 3.205456783570964e-03 + 3.197952970426890e-03 3.190458290104943e-03 3.182972751519780e-03 3.175496366385864e-03 3.168029146873250e-03 + 3.160571096621216e-03 3.153122225636278e-03 3.145682555500280e-03 3.138252093348739e-03 3.130830843615626e-03 + 3.123418817816768e-03 3.116016027518625e-03 3.108622481356378e-03 3.101238183229207e-03 3.093863147897005e-03 + 3.086497392737253e-03 3.079140921752824e-03 3.071793741871484e-03 3.064455864252268e-03 3.057127299904285e-03 + 3.049808055146270e-03 3.042498134791386e-03 3.035197556645182e-03 3.027906333235584e-03 3.020624467536793e-03 + 3.013351968343262e-03 3.006088846580162e-03 2.998835112089031e-03 2.991590768047797e-03 2.984355822285627e-03 + 2.977130294631421e-03 2.969914192263928e-03 2.962707518230782e-03 2.955510282832787e-03 2.948322496039390e-03 + 2.941144165204636e-03 2.933975293458325e-03 2.926815893073326e-03 2.919665980487675e-03 2.912525559332239e-03 + 2.905394635071103e-03 2.898273217656210e-03 2.891161316595433e-03 2.884058936906487e-03 2.876966081111658e-03 + 2.869882766189157e-03 2.862809005041444e-03 2.855744798230348e-03 2.848690153100023e-03 2.841645079496137e-03 + 2.834609585256340e-03 2.827583673848185e-03 2.820567351490293e-03 2.813560634590312e-03 2.806563530531927e-03 + 2.799576041999259e-03 2.792598177467573e-03 2.785629945309582e-03 2.778671351607254e-03 2.771722398039775e-03 + 2.764783095014263e-03 2.757853459091809e-03 2.750933492568204e-03 2.744023198517816e-03 2.737122585640385e-03 + 2.730231662189404e-03 2.723350432970404e-03 2.716478899800820e-03 2.709617075896625e-03 2.702764973241287e-03 + 2.695922593060963e-03 2.689089940152226e-03 2.682267022316270e-03 2.675453847914084e-03 2.668650418902243e-03 + 2.661856738145520e-03 2.655072822033232e-03 2.648298678030288e-03 2.641534306206961e-03 2.634779712258937e-03 + 2.628034904058933e-03 2.621299888635041e-03 2.614574665771587e-03 2.607859242632423e-03 2.601153634957146e-03 + 2.594457844452072e-03 2.587771872555374e-03 2.581095727373358e-03 2.574429415266960e-03 2.567772939497474e-03 + 2.561126300777387e-03 2.554489510835181e-03 2.547862581281132e-03 2.541245510713479e-03 2.534638303078699e-03 + 2.528040966193904e-03 2.521453505493298e-03 2.514875922225054e-03 2.508308218200437e-03 2.501750407164573e-03 + 2.495202496081871e-03 2.488664484118587e-03 2.482136376281468e-03 2.475618178705269e-03 2.469109895957427e-03 + 2.462611527825166e-03 2.456123079328407e-03 2.449644563898542e-03 2.443175984269443e-03 2.436717340526153e-03 + 2.430268636964234e-03 2.423829879853036e-03 2.417401073311931e-03 2.410982215756923e-03 2.404573315098301e-03 + 2.398174382071132e-03 2.391785416912405e-03 2.385406421217447e-03 2.379037399546287e-03 2.372678357701878e-03 + 2.366329296305038e-03 2.359990214012962e-03 2.353661123666590e-03 2.347342032379030e-03 2.341032936953993e-03 + 2.334733840455562e-03 2.328444748068140e-03 2.322165663885325e-03 2.315896586946297e-03 2.309637519733881e-03 + 2.303388473653537e-03 2.297149451184649e-03 2.290920451297887e-03 2.284701476927273e-03 2.278492533074980e-03 + 2.272293622898508e-03 2.266104742447669e-03 2.259925897918875e-03 2.253757100645447e-03 2.247598348619136e-03 + 2.241449641489242e-03 2.235310983406359e-03 2.229182378556762e-03 2.223063827011661e-03 2.216955326220785e-03 + 2.210856885615230e-03 2.204768511855369e-03 2.198690202073136e-03 2.192621957162963e-03 2.186563780523993e-03 + 2.180515675851768e-03 2.174477640514074e-03 2.168449674335647e-03 2.162431789038673e-03 2.156423986093689e-03 + 2.150426261719325e-03 2.144438618887063e-03 2.138461061015507e-03 2.132493589319895e-03 2.126536199820428e-03 + 2.120588896234097e-03 2.114651688169617e-03 2.108724573757348e-03 2.102807551461262e-03 2.096900623831682e-03 + 2.091003792760502e-03 2.085117057433877e-03 2.079240415028002e-03 2.073373872799373e-03 2.067517436442142e-03 + 2.061671101563673e-03 2.055834867994772e-03 2.050008738194652e-03 2.044192713868095e-03 2.038386792128391e-03 + 2.032590971333173e-03 2.026805260662020e-03 2.021029661329869e-03 2.015264168518725e-03 2.009508783500123e-03 + 2.003763508166370e-03 1.998028342654997e-03 1.992303282805534e-03 1.986588330078225e-03 1.980883492165770e-03 + 1.975188767039759e-03 1.969504151730439e-03 1.963829647004430e-03 1.958165254218237e-03 1.952510971963634e-03 + 1.946866794889960e-03 1.941232728159857e-03 1.935608777640074e-03 1.929994938329363e-03 1.924391207914093e-03 + 1.918797587114099e-03 1.913214077256622e-03 1.907640674795718e-03 1.902077375557082e-03 1.896524186430478e-03 + 1.890981108949087e-03 1.885448138032121e-03 1.879925272541809e-03 1.874412513138102e-03 1.868909859971047e-03 + 1.863417306389931e-03 1.857934851379391e-03 1.852462503653811e-03 1.847000259754348e-03 1.841548114039762e-03 + 1.836106066817225e-03 1.830674118529854e-03 1.825252266916765e-03 1.819840505202892e-03 1.814438836319749e-03 + 1.809047265638602e-03 1.803665787133681e-03 1.798294397101445e-03 1.792933095135866e-03 1.787581880369786e-03 + 1.782240749155103e-03 1.776909697172910e-03 1.771588728179710e-03 1.766277842767543e-03 1.760977035675204e-03 + 1.755686304337379e-03 1.750405647484752e-03 1.745135063548007e-03 1.739874546386865e-03 1.734624093589025e-03 + 1.729383711586370e-03 1.724153396315838e-03 1.718933140719367e-03 1.713722944309894e-03 1.708522806163372e-03 + 1.703332722978997e-03 1.698152687791741e-03 1.692982700783420e-03 1.687822765464940e-03 1.682672875794938e-03 + 1.677533027054054e-03 1.672403217813849e-03 1.667283446525115e-03 1.662173708173832e-03 1.657073995739192e-03 + 1.651984312946546e-03 1.646904660364047e-03 1.641835029387390e-03 1.636775416468660e-03 1.631725820220986e-03 + 1.626686238226539e-03 1.621656663682810e-03 1.616637091835148e-03 1.611627526662728e-03 1.606627964700548e-03 + 1.601638398623349e-03 1.596658825754688e-03 1.591689243408400e-03 1.586729647378206e-03 1.581780030725023e-03 + 1.576840391697073e-03 1.571910732264727e-03 1.566991046477593e-03 1.562081328242421e-03 1.557181574037859e-03 + 1.552291781114454e-03 1.547411944138861e-03 1.542542055154552e-03 1.537682115822498e-03 1.532832126356767e-03 + 1.527992077470792e-03 1.523161963747274e-03 1.518341782422417e-03 1.513531530571088e-03 1.508731200913292e-03 + 1.503940786876937e-03 1.499160290964809e-03 1.494389709200610e-03 1.489629032745148e-03 1.484878257820629e-03 + 1.480137381279299e-03 1.475406398389162e-03 1.470685299850305e-03 1.465974082141071e-03 1.461272748080975e-03 + 1.456581290224651e-03 1.451899700275850e-03 1.447227974089072e-03 1.442566108566721e-03 1.437914097994959e-03 + 1.433271932504185e-03 1.428639611034298e-03 1.424017133356480e-03 1.419404490680891e-03 1.414801676491448e-03 + 1.410208686553135e-03 1.405625516589791e-03 1.401052158609908e-03 1.396488604511052e-03 1.391934855472548e-03 + 1.387390907364871e-03 1.382856750165021e-03 1.378332378783991e-03 1.373817788890047e-03 1.369312974750468e-03 + 1.364817927255285e-03 1.360332641059443e-03 1.355857116711623e-03 1.351391347026849e-03 1.346935323100728e-03 + 1.342489039284644e-03 1.338052491255308e-03 1.333625672740901e-03 1.329208572800934e-03 1.324801188462658e-03 + 1.320403519143769e-03 1.316015555822497e-03 1.311637290544184e-03 1.307268717472159e-03 1.302909831116118e-03 + 1.298560623326278e-03 1.294221085253892e-03 1.289891216124110e-03 1.285571011566486e-03 1.281260461060531e-03 + 1.276959557618139e-03 1.272668295740209e-03 1.268386669608614e-03 1.264114669618853e-03 1.259852288349743e-03 + 1.255599524419093e-03 1.251356371085625e-03 1.247122819189722e-03 1.242898861265979e-03 1.238684491359706e-03 + 1.234479702756933e-03 1.230284484841117e-03 1.226098832748256e-03 1.221922744434409e-03 1.217756210326720e-03 + 1.213599221362577e-03 1.209451770765583e-03 1.205313852635065e-03 1.201185458480448e-03 1.197066577985755e-03 + 1.192957208640432e-03 1.188857345511447e-03 1.184766976969275e-03 1.180686095693037e-03 1.176614695732404e-03 + 1.172552769621902e-03 1.168500307042727e-03 1.164457299537124e-03 1.160423745213695e-03 1.156399636114517e-03 + 1.152384961360659e-03 1.148379714206853e-03 1.144383887440774e-03 1.140397472403066e-03 1.136420458871837e-03 + 1.132452840804467e-03 1.128494614815977e-03 1.124545770440235e-03 1.120606297984056e-03 1.116676190709075e-03 + 1.112755440623707e-03 1.108844038267568e-03 1.104941973598277e-03 1.101049242215234e-03 1.097165838523137e-03 + 1.093291750933755e-03 1.089426970747485e-03 1.085571490835547e-03 1.081725303225761e-03 1.077888396808512e-03 + 1.074060761522748e-03 1.070242395009795e-03 1.066433289590875e-03 1.062633433332422e-03 1.058842817553080e-03 + 1.055061434373011e-03 1.051289275348505e-03 1.047526329409495e-03 1.043772588486000e-03 1.040028047931513e-03 + 1.036292698203525e-03 1.032566529042292e-03 1.028849531681517e-03 1.025141697676040e-03 1.021443017315572e-03 + 1.017753479165712e-03 1.014073077446178e-03 1.010401806565697e-03 1.006739654876394e-03 1.003086612170896e-03 + 9.994426698862881e-04 9.958078198244436e-04 9.921820510029489e-04 9.885653522799815e-04 9.849577193159157e-04 + 9.813591440739670e-04 9.777696142556011e-04 9.741891204675346e-04 9.706176542328248e-04 9.670552065524777e-04 + 9.635017651512704e-04 9.599573207794398e-04 9.564218691437683e-04 9.528953995809905e-04 9.493779002331982e-04 + 9.458693621672339e-04 9.423697766254766e-04 9.388791334439822e-04 9.353974200435674e-04 9.319246293443443e-04 + 9.284607555133966e-04 9.250057861419034e-04 9.215597102726345e-04 9.181225189615299e-04 9.146942031524666e-04 + 9.112747514066988e-04 9.078641516289516e-04 9.044623983719834e-04 9.010694834242857e-04 8.976853937790154e-04 + 8.943101192935385e-04 8.909436508104612e-04 8.875859786393426e-04 8.842370902316334e-04 8.808969751654204e-04 + 8.775656281905130e-04 8.742430385918343e-04 8.709291937982416e-04 8.676240840155020e-04 8.643276998573467e-04 + 8.610400308208924e-04 8.577610636611962e-04 8.544907899714905e-04 8.512292035626933e-04 8.479762917886125e-04 + 8.447320428739457e-04 8.414964471843920e-04 8.382694949325988e-04 8.350511744137459e-04 8.318414728923707e-04 + 8.286403836395943e-04 8.254478982373706e-04 8.222640032931049e-04 8.190886878204532e-04 8.159219419987107e-04 + 8.127637556794064e-04 8.096141160179775e-04 8.064730115089579e-04 8.033404360997527e-04 8.002163789609624e-04 + 7.971008268111541e-04 7.939937692507287e-04 7.908951962853333e-04 7.878050969946667e-04 7.847234577702081e-04 + 7.816502689905088e-04 7.785855239466778e-04 7.755292098590464e-04 7.724813142232633e-04 7.694418267842021e-04 + 7.664107372089749e-04 7.633880335334087e-04 7.603737023812342e-04 7.573677358642847e-04 7.543701253849379e-04 + 7.513808572285544e-04 7.483999196962093e-04 7.454273024026923e-04 7.424629947358947e-04 7.395069836664074e-04 + 7.365592567622367e-04 7.336198070174806e-04 7.306886236388442e-04 7.277656929130117e-04 7.248510036837761e-04 + 7.219445453636994e-04 7.190463067357669e-04 7.161562739946586e-04 7.132744364309508e-04 7.104007867132190e-04 + 7.075353120392018e-04 7.046779992824802e-04 7.018288375861283e-04 6.989878161882759e-04 6.961549229362052e-04 + 6.933301438820412e-04 6.905134700383686e-04 6.877048926511914e-04 6.849043978549774e-04 6.821119732944710e-04 + 6.793276080246700e-04 6.765512910034699e-04 6.737830090783149e-04 6.710227490756584e-04 6.682705030776122e-04 + 6.655262603091742e-04 6.627900067379164e-04 6.600617305924390e-04 6.573414207627890e-04 6.546290656955580e-04 + 6.519246513982958e-04 6.492281662548372e-04 6.465396024423735e-04 6.438589471596415e-04 6.411861867028291e-04 + 6.385213096762252e-04 6.358643049114898e-04 6.332151601148890e-04 6.305738609661260e-04 6.279403974635571e-04 + 6.253147606410383e-04 6.226969365620930e-04 6.200869123319087e-04 6.174846765257772e-04 6.148902176504979e-04 + 6.123035224628875e-04 6.097245772740803e-04 6.071533733723410e-04 6.045898999580564e-04 6.020341426510520e-04 + 5.994860891934145e-04 5.969457280748620e-04 5.944130474177512e-04 5.918880332091087e-04 5.893706730594447e-04 + 5.868609584534629e-04 5.843588766665737e-04 5.818644136544619e-04 5.793775576682911e-04 5.768982970317317e-04 + 5.744266191686133e-04 5.719625097277512e-04 5.695059578510202e-04 5.670569542308351e-04 5.646154849082753e-04 + 5.621815365284883e-04 5.597550972743215e-04 5.573361553519681e-04 5.549246974872960e-04 5.525207095632259e-04 + 5.501241820142805e-04 5.477351040267441e-04 5.453534610951853e-04 5.429792405131840e-04 5.406124304314462e-04 + 5.382530187447214e-04 5.359009913605971e-04 5.335563351904396e-04 5.312190411682156e-04 5.288890968140364e-04 + 5.265664878332606e-04 5.242512018091515e-04 5.219432267978740e-04 5.196425502978362e-04 5.173491576918976e-04 + 5.150630373381158e-04 5.127841797796618e-04 5.105125710953982e-04 5.082481974966798e-04 5.059910467933278e-04 + 5.037411069671739e-04 5.014983647643853e-04 4.992628057533249e-04 4.970344196034297e-04 4.948131954905409e-04 + 4.925991188614672e-04 4.903921766298550e-04 4.881923566574878e-04 4.859996466359864e-04 4.838140324815327e-04 + 4.816355005995136e-04 4.794640414647377e-04 4.772996426854546e-04 4.751422896755638e-04 4.729919697488023e-04 + 4.708486707166207e-04 4.687123799720691e-04 4.665830828962369e-04 4.644607671738101e-04 4.623454230212830e-04 + 4.602370366779194e-04 4.581355941018685e-04 4.560410828358216e-04 4.539534906171381e-04 4.518728041821612e-04 + 4.497990089033435e-04 4.477320938149108e-04 4.456720481170030e-04 4.436188572707195e-04 4.415725078895158e-04 + 4.395329875976124e-04 4.375002838422590e-04 4.354743826722610e-04 4.334552702201095e-04 4.314429363226086e-04 + 4.294373687059989e-04 4.274385527576286e-04 4.254464755700176e-04 4.234611247199864e-04 4.214824874479911e-04 + 4.195105492176435e-04 4.175452972239935e-04 4.155867214135851e-04 4.136348082067204e-04 4.116895433467350e-04 + 4.097509141339746e-04 4.078189081189173e-04 4.058935120995524e-04 4.039747114386321e-04 4.020624945699733e-04 + 4.001568506324645e-04 3.982577652062802e-04 3.963652246433777e-04 3.944792163840573e-04 3.925997278951708e-04 + 3.907267452820787e-04 3.888602542761684e-04 3.870002443827855e-04 3.851467035420477e-04 3.832996170232135e-04 + 3.814589716941001e-04 3.796247550166885e-04 3.777969542187427e-04 3.759755548771444e-04 3.741605437648361e-04 + 3.723519105456335e-04 3.705496418343326e-04 3.687537232626712e-04 3.669641420580878e-04 3.651808856652343e-04 + 3.634039408935104e-04 3.616332930379869e-04 3.598689301103073e-04 3.581108413327368e-04 3.563590123412032e-04 + 3.546134293224166e-04 3.528740796868620e-04 3.511409507353364e-04 3.494140287293094e-04 3.476932993968030e-04 + 3.459787517007610e-04 3.442703736842207e-04 3.425681507579447e-04 3.408720696736798e-04 3.391821178070990e-04 + 3.374982823340253e-04 3.358205489790399e-04 3.341489042294683e-04 3.324833375391577e-04 3.308238358267097e-04 + 3.291703846864138e-04 3.275229711235071e-04 3.258815824857735e-04 3.242462057388915e-04 3.226168264116891e-04 + 3.209934320343741e-04 3.193760116170641e-04 3.177645512713499e-04 3.161590371207419e-04 3.145594562690266e-04 + 3.129657961319975e-04 3.113780432227079e-04 3.097961831114660e-04 3.082202043645004e-04 3.066500952444524e-04 + 3.050858414009347e-04 3.035274294402161e-04 3.019748466354355e-04 3.004280802320956e-04 2.988871162192853e-04 + 2.973519409077311e-04 2.958225434173786e-04 2.942989109163873e-04 2.927810290941792e-04 2.912688849504159e-04 + 2.897624658129895e-04 2.882617587216531e-04 2.867667493909568e-04 2.852774250910157e-04 2.837937747837379e-04 + 2.823157848000407e-04 2.808434412718301e-04 2.793767313619733e-04 2.779156424588856e-04 2.764601612241833e-04 + 2.750102732798498e-04 2.735659669757869e-04 2.721272307826111e-04 2.706940504177620e-04 2.692664125118005e-04 + 2.678443044384447e-04 2.664277133531666e-04 2.650166254907073e-04 2.636110271946842e-04 2.622109073508727e-04 + 2.608162534146021e-04 2.594270512444905e-04 2.580432877716125e-04 2.566649503351083e-04 2.552920261463284e-04 + 2.539245011192165e-04 2.525623623480746e-04 2.512055988243127e-04 2.498541971146173e-04 2.485081433825346e-04 + 2.471674249383843e-04 2.458320291468696e-04 2.445019428356345e-04 2.431771519464020e-04 2.418576445147758e-04 + 2.405434090455539e-04 2.392344316436903e-04 2.379306989304936e-04 2.366321982706708e-04 2.353389171046539e-04 + 2.340508418959193e-04 2.327679588365217e-04 2.314902568213100e-04 2.302177235947735e-04 2.289503450019842e-04 + 2.276881081822984e-04 2.264310006278554e-04 2.251790095285085e-04 2.239321211178975e-04 2.226903224828012e-04 + 2.214536025966827e-04 2.202219483393713e-04 2.189953459440866e-04 2.177737827672056e-04 2.165572463172210e-04 + 2.153457236927424e-04 2.141392010208329e-04 2.129376661694288e-04 2.117411078009580e-04 2.105495123800498e-04 + 2.093628666254358e-04 2.081811579562958e-04 2.070043738711933e-04 2.058325011765904e-04 2.046655262979033e-04 + 2.035034378928387e-04 2.023462239716796e-04 2.011938707312936e-04 2.000463653117907e-04 1.989036953143001e-04 + 1.977658482429478e-04 1.966328105707422e-04 1.955045692837424e-04 1.943811134060168e-04 1.932624302421221e-04 + 1.921485062157297e-04 1.910393287336514e-04 1.899348854684124e-04 1.888351638115297e-04 1.877401500482506e-04 + 1.866498319949601e-04 1.855641985831636e-04 1.844832365124926e-04 1.834069326310023e-04 1.823352746298841e-04 + 1.812682501147551e-04 1.802058461455679e-04 1.791480493724017e-04 1.780948483852737e-04 1.770462314872484e-04 + 1.760021851824818e-04 1.749626967491274e-04 1.739277539439587e-04 1.728973444305181e-04 1.718714550470096e-04 + 1.708500728855944e-04 1.698331869571933e-04 1.688207849549946e-04 1.678128535713188e-04 1.668093803524777e-04 + 1.658103531111011e-04 1.648157594964937e-04 1.638255861976382e-04 1.628398210066413e-04 1.618584529166454e-04 + 1.608814690931768e-04 1.599088565742865e-04 1.589406031206167e-04 1.579766966509897e-04 1.570171246224424e-04 + 1.560618738321770e-04 1.551109328208930e-04 1.541642902068764e-04 1.532219328717612e-04 1.522838482661923e-04 + 1.513500243337891e-04 1.504204489591066e-04 1.494951093483970e-04 1.485739927662749e-04 1.476570882997282e-04 + 1.467443839796364e-04 1.458358667202351e-04 1.449315243896633e-04 1.440313449862068e-04 1.431353162531848e-04 + 1.422434254066872e-04 1.413556604013758e-04 1.404720102486319e-04 1.395924625558734e-04 1.387170046489957e-04 + 1.378456244430427e-04 1.369783100559194e-04 1.361150493062282e-04 1.352558293490397e-04 1.344006387024136e-04 + 1.335494662293593e-04 1.327022993333140e-04 1.318591256583063e-04 1.310199332689028e-04 1.301847103692820e-04 + 1.293534446013900e-04 1.285261234477974e-04 1.277027359881715e-04 1.268832706365997e-04 1.260677147052468e-04 + 1.252560562359565e-04 1.244482834803957e-04 1.236443845356053e-04 1.228443469528238e-04 1.220481588198588e-04 + 1.212558093699401e-04 1.204672865809282e-04 1.196825780471873e-04 1.189016720308052e-04 1.181245568536085e-04 + 1.173512205995857e-04 1.165816508484800e-04 1.158158362776897e-04 1.150537660210759e-04 1.142954277590100e-04 + 1.135408094568152e-04 1.127898995954114e-04 1.120426864956402e-04 1.112991581353023e-04 1.105593024093304e-04 + 1.098231085283700e-04 1.090905652465313e-04 1.083616601800625e-04 1.076363816399760e-04 1.069147182196831e-04 + 1.061966583782502e-04 1.054821899944032e-04 1.047713013150353e-04 1.040639818640637e-04 1.033602200082437e-04 + 1.026600035826387e-04 1.019633211976323e-04 1.012701615275282e-04 1.005805130149820e-04 9.989436355203399e-05 + 9.921170194739147e-05 9.853251765411631e-05 9.785679881782247e-05 9.718453366352614e-05 9.651571091087277e-05 + 9.585031930594751e-05 9.518834724915350e-05 9.452978284703146e-05 9.387461543789448e-05 9.322283420353250e-05 + 9.257442723618249e-05 9.192938310286574e-05 9.128769066247626e-05 9.064933872161225e-05 9.001431561187756e-05 + 8.938260983500139e-05 8.875421104519957e-05 8.812910809646098e-05 8.750728925694059e-05 8.688874335824857e-05 + 8.627345936363417e-05 8.566142611724158e-05 8.505263195150667e-05 8.444706587898619e-05 8.384471762172232e-05 + 8.324557578035348e-05 8.264962891132210e-05 8.205686604727953e-05 8.146727626544971e-05 8.088084838175318e-05 + 8.029757088191735e-05 7.971743327705584e-05 7.914042512047892e-05 7.856653495630607e-05 7.799575166346450e-05 + 7.742806441871695e-05 7.686346239245813e-05 7.630193435494130e-05 7.574346911053080e-05 7.518805653837606e-05 + 7.463568593117825e-05 7.408634594826592e-05 7.354002575090044e-05 7.299671464423979e-05 7.245640185167563e-05 + 7.191907614532941e-05 7.138472679150608e-05 7.085334380230530e-05 7.032491623916224e-05 6.979943301854977e-05 + 6.927688351841825e-05 6.875725716877753e-05 6.824054320182008e-05 6.772673050550591e-05 6.721580881996242e-05 + 6.670776807704407e-05 6.620259726868480e-05 6.570028562031883e-05 6.520082266140781e-05 6.470419793220322e-05 + 6.421040064958054e-05 6.371941996817583e-05 6.323124601185380e-05 6.274586851226631e-05 6.226327655003573e-05 + 6.178345963615301e-05 6.130640743984757e-05 6.083210957777482e-05 6.036055527561582e-05 5.989173409263222e-05 + 5.942563633391719e-05 5.896225154191688e-05 5.850156903007261e-05 5.804357852627766e-05 5.758826983099529e-05 + 5.713563260712647e-05 5.668565617514362e-05 5.623833053838233e-05 5.579364600051564e-05 5.535159201768813e-05 + 5.491215819134343e-05 5.447533442712218e-05 5.404111064124177e-05 5.360947650466450e-05 5.318042157160001e-05 + 5.275393622516995e-05 5.233001062811153e-05 5.190863431238880e-05 5.148979716458554e-05 5.107348923404401e-05 + 5.065970053025621e-05 5.024842074849432e-05 4.983963979263951e-05 4.943334827635427e-05 4.902953621108006e-05 + 4.862819332553702e-05 4.822930973793706e-05 4.783287562882953e-05 4.743888107972067e-05 4.704731588033618e-05 + 4.665817033540254e-05 4.627143510842172e-05 4.588710014690383e-05 4.550515545082771e-05 4.512559130332447e-05 + 4.474839802715817e-05 4.437356575264515e-05 4.400108444300858e-05 4.363094478314062e-05 4.326313737450849e-05 + 4.289765220307346e-05 4.253447954450777e-05 4.217360984935306e-05 4.181503354031293e-05 4.145874078526325e-05 + 4.110472186234567e-05 4.075296770939578e-05 4.040346881442376e-05 4.005621534517384e-05 3.971119780891244e-05 + 3.936840678851008e-05 3.902783280379881e-05 3.868946611492773e-05 3.835329736378580e-05 3.801931758461789e-05 + 3.768751721520911e-05 3.735788667634669e-05 3.703041665089796e-05 3.670509786268472e-05 3.638192090588934e-05 + 3.606087620758478e-05 3.574195476070656e-05 3.542514758568229e-05 3.511044516462031e-05 3.479783817623805e-05 + 3.448731747191980e-05 3.417887390941621e-05 3.387249813623169e-05 3.356818082938366e-05 3.326591326488256e-05 + 3.296568640239042e-05 3.266749086476883e-05 3.237131756688427e-05 3.207715751232477e-05 3.178500166911470e-05 + 3.149484077201404e-05 3.120666582870710e-05 3.092046825328168e-05 3.063623897047349e-05 3.035396883732847e-05 + 3.007364895961203e-05 2.979527048619034e-05 2.951882447255356e-05 2.924430180184470e-05 2.897169381596313e-05 + 2.870099196601076e-05 2.843218722351712e-05 2.816527069305565e-05 2.790023364581556e-05 2.763706736588794e-05 + 2.737576298520704e-05 2.711631161938774e-05 2.685870489191871e-05 2.660293422952212e-05 2.634899073350601e-05 + 2.609686574272242e-05 2.584655068622352e-05 2.559803697386157e-05 2.535131582907573e-05 2.510637865851451e-05 + 2.486321726016628e-05 2.462182305120829e-05 2.438218734168926e-05 2.414430166313400e-05 2.390815760058303e-05 + 2.367374667612129e-05 2.344106023464476e-05 2.321008999935892e-05 2.298082786356460e-05 2.275326527748312e-05 + 2.252739378233606e-05 2.230320509258137e-05 2.208069093512809e-05 2.185984291941186e-05 2.164065260635458e-05 + 2.142311199522572e-05 2.120721298028661e-05 2.099294714303281e-05 2.078030625998752e-05 2.056928220029127e-05 + 2.035986682231265e-05 2.015205183896797e-05 1.994582907956633e-05 1.974119073954575e-05 1.953812872162773e-05 + 1.933663479825456e-05 1.913670094979531e-05 1.893831919578259e-05 1.874148151575467e-05 1.854617976080873e-05 + 1.835240605058427e-05 1.816015268982217e-05 1.796941162992672e-05 1.778017486956627e-05 1.759243456762222e-05 + 1.740618289118282e-05 1.722141193137039e-05 1.703811372777776e-05 1.685628066375182e-05 1.667590509374455e-05 + 1.649697910104339e-05 1.631949489857415e-05 1.614344479286407e-05 1.596882111103627e-05 1.579561606259506e-05 + 1.562382191518076e-05 1.545343126338709e-05 1.528443649706141e-05 1.511682986511545e-05 1.495060379262073e-05 + 1.478575075387210e-05 1.462226320346460e-05 1.446013347627832e-05 1.429935410828208e-05 1.413991783947596e-05 + 1.398181711799591e-05 1.382504440087988e-05 1.366959229690567e-05 1.351545344207288e-05 1.336262041089977e-05 + 1.321108569966174e-05 1.306084210743495e-05 1.291188246012095e-05 1.276419932540445e-05 1.261778537439798e-05 + 1.247263337350260e-05 1.232873611168182e-05 1.218608628547451e-05 1.204467661277090e-05 1.190450010670460e-05 + 1.176554964839514e-05 1.162781797531038e-05 1.149129796332477e-05 1.135598253898601e-05 1.122186462622714e-05 + 1.108893706038782e-05 1.095719281332111e-05 1.082662505098182e-05 1.069722672643097e-05 1.056899077370047e-05 + 1.044191025341683e-05 1.031597825830204e-05 1.019118784797653e-05 1.006753201372614e-05 9.945003972957807e-06 + 9.823597003224701e-06 9.703304169766936e-06 9.584118614966616e-06 9.466033570975281e-06 9.349042284940899e-06 + 9.233137946012443e-06 9.118313747892748e-06 9.004563126071509e-06 8.891879438415634e-06 8.780255908737012e-06 + 8.669685879934477e-06 8.560162746518096e-06 8.451679906731882e-06 8.344230688978416e-06 8.237808513777729e-06 + 8.132406985376577e-06 8.028019552616531e-06 7.924639629701503e-06 7.822260741691212e-06 7.720876445763237e-06 + 7.620480284148957e-06 7.521065743540658e-06 7.422626477381218e-06 7.325156218634066e-06 7.228648532638821e-06 + 7.133097034958690e-06 7.038495423985100e-06 6.944837416133499e-06 6.852116691729515e-06 6.760326924607246e-06 + 6.669461983453847e-06 6.579515704432944e-06 6.490481806747385e-06 6.402354101863004e-06 6.315126452251840e-06 + 6.228792731669073e-06 6.143346764859859e-06 6.058782435540508e-06 5.975093791198315e-06 5.892274772590937e-06 + 5.810319279027480e-06 5.729221306547671e-06 5.648974882411472e-06 5.569574030477156e-06 5.491012732167998e-06 + 5.413285091010444e-06 5.336385298912571e-06 5.260307420244722e-06 5.185045547999291e-06 5.110593849728286e-06 + 5.036946516955677e-06 4.964097720721464e-06 4.892041619202182e-06 4.820772525961763e-06 4.750284753859853e-06 + 4.680572517390150e-06 4.611630102585562e-06 4.543451844884654e-06 4.476032095169469e-06 4.409365173309600e-06 + 4.343445435493855e-06 4.278267378107974e-06 4.213825432046252e-06 4.150113986510229e-06 4.087127510654963e-06 + 4.024860505544460e-06 3.963307478207591e-06 3.902462905546128e-06 3.842321351732513e-06 3.782877469285005e-06 + 3.724125818875267e-06 3.666060976275786e-06 3.608677584308628e-06 3.551970310325800e-06 3.495933813913828e-06 + 3.440562742860537e-06 3.385851865026623e-06 3.331795968547279e-06 3.278389763636986e-06 3.225628015585682e-06 + 3.173505536483180e-06 3.122017155106099e-06 3.071157684657154e-06 3.020921961442045e-06 2.971304937503200e-06 + 2.922301530764381e-06 2.873906622400171e-06 2.826115159163556e-06 2.778922119160790e-06 2.732322492500433e-06 + 2.686311250918327e-06 2.640883427466542e-06 2.596034137909800e-06 2.551758437600915e-06 2.508051388712647e-06 + 2.464908112415978e-06 2.422323753722291e-06 2.380293459852445e-06 2.338812372063220e-06 2.297875719562253e-06 + 2.257478763762930e-06 2.217616712073996e-06 2.178284811840686e-06 2.139478353112250e-06 2.101192645402220e-06 + 2.063422994293474e-06 2.026164721213360e-06 1.989413239181793e-06 1.953163950788084e-06 1.917412231009713e-06 + 1.882153506609316e-06 1.847383234461138e-06 1.813096887995954e-06 1.779289933937322e-06 1.745957881749227e-06 + 1.713096313387221e-06 1.680700776153704e-06 1.648766820412035e-06 1.617290047665242e-06 1.586266083282953e-06 + 1.555690561349229e-06 1.525559115412809e-06 1.495867444877275e-06 1.466611286844381e-06 1.437786342321971e-06 + 1.409388342689011e-06 1.381413059137875e-06 1.353856283643994e-06 1.326713811980504e-06 1.299981452903499e-06 + 1.273655087535907e-06 1.247730601634883e-06 1.222203862466376e-06 1.197070780161529e-06 1.172327293218336e-06 + 1.147969358200551e-06 1.123992934949297e-06 1.100394014305713e-06 1.077168647815731e-06 1.054312872343777e-06 + 1.031822727943270e-06 1.009694299029158e-06 9.879236928228051e-07 9.665070295488333e-07 9.454404356909418e-07 + 9.247200854784831e-07 9.043421911847067e-07 8.843029477247774e-07 8.645985728173436e-07 8.452253193362285e-07 + 8.261794626052351e-07 8.074572875932502e-07 7.890550921071068e-07 7.709692301619030e-07 7.531960701353248e-07 + 7.357319715620587e-07 7.185733287203112e-07 7.017165630618881e-07 6.851581162834306e-07 6.688944388625421e-07 + 6.529220052598067e-07 6.372373411274385e-07 6.218369717692920e-07 6.067174274527125e-07 5.918752755194360e-07 + 5.773071063798692e-07 5.630095271034721e-07 5.489791556312369e-07 5.352126455394792e-07 5.217066864180125e-07 + 5.084579644193884e-07 4.954631845887763e-07 4.827190834887087e-07 4.702224204045173e-07 4.579699684713550e-07 + 4.459585154334098e-07 4.341848919935187e-07 4.226459485782965e-07 4.113385363883691e-07 4.002595352312233e-07 + 3.894058504065020e-07 3.787744086301839e-07 3.683621500987016e-07 3.581660355932383e-07 3.481830676805770e-07 + 3.384102581524441e-07 3.288446273745833e-07 3.194832275224818e-07 3.103231330843525e-07 3.013614373207315e-07 + 2.925952486098954e-07 2.840217031010630e-07 2.756379695267500e-07 2.674412234106971e-07 2.594286576386206e-07 + 2.515974937029081e-07 2.439449754383926e-07 2.364683632309526e-07 2.291649345383248e-07 2.220320002407473e-07 + 2.150668931442167e-07 2.082669548865648e-07 2.016295514473211e-07 1.951520727682157e-07 1.888319311586693e-07 + 1.826665552837694e-07 1.766533931743509e-07 1.707899271779558e-07 1.650736547045015e-07 1.595020857916059e-07 + 1.540727581256184e-07 1.487832309302349e-07 1.436310837043274e-07 1.386139140291348e-07 1.337293426531939e-07 + 1.289750194034745e-07 1.243486077550924e-07 1.198477884856861e-07 1.154702687444825e-07 1.112137774078364e-07 + 1.070760615754017e-07 1.030548878714015e-07 9.914804983102429e-08 9.535336319532080e-08 9.166865877274502e-08 + 8.809178921148019e-08 8.462062987184363e-08 8.125307865123530e-08 7.798705169188094e-08 7.482048486743137e-08 + 7.175134265372113e-08 6.877760756933380e-08 6.589727849023001e-08 6.310837918621049e-08 6.040895419177239e-08 + 5.779706919084610e-08 5.527080986023133e-08 5.282828275733461e-08 5.046762055622123e-08 4.818697371034567e-08 + 4.598451068334482e-08 4.385842456607357e-08 4.180692971968811e-08 3.982825980405518e-08 3.792066966127786e-08 + 3.608243718277188e-08 3.431186206040581e-08 3.260726312426322e-08 3.096697968233847e-08 2.938937298745983e-08 + 2.787282684203093e-08 2.641574418968914e-08 2.501654849393015e-08 2.367368813134603e-08 2.238563078881267e-08 + 2.115086344400587e-08 1.996789606940446e-08 1.883525886916157e-08 1.775150390948272e-08 1.671520402936120e-08 + 1.572495208680648e-08 1.477936511938296e-08 1.387707990026544e-08 1.301675220490221e-08 1.219706138041649e-08 + 1.141670750179082e-08 1.067441065312196e-08 9.968913113355902e-09 9.298978133402818e-09 8.663390331238368e-09 + 8.060955677291694e-09 7.490500025975069e-09 6.950870854385858e-09 6.440937996309972e-09 5.959590797852082e-09 + 5.505739944416565e-09 5.078318901633865e-09 4.676280806472903e-09 4.298600029449081e-09 3.944272776496124e-09 + 3.612315204086912e-09 3.301765808464261e-09 3.011683971683484e-09 2.741149022073358e-09 2.489263438950313e-09 + 2.255150010734707e-09 2.037951439802415e-09 1.836833426869985e-09 1.650981924522248e-09 1.479603458288696e-09 + 1.321927088896133e-09 1.177201927023745e-09 1.044698361371603e-09 9.237089042804517e-10 8.135457713165132e-10 + 7.135428727606122e-10 6.230561233086797e-10 5.414610837010692e-10 4.681552957722881e-10 4.025579739718386e-10 + 3.441080911031397e-10 2.922668865200973e-10 2.465167169238545e-10 2.063598966733955e-10 1.713213823559041e-10 + 1.409467301732644e-10 1.148017117805301e-10 9.247489436372923e-11 7.357503403670199e-11 5.773147403071901e-11 + 4.459623415664643e-11 3.384125546419585e-11 2.515956035071991e-11 1.826656159304613e-11 1.289741553721677e-11 + 8.808852910154413e-12 5.779611749592996e-12 3.608107240050744e-12 2.114775563702074e-12 1.141629414770904e-12 + 5.504076981088132e-13 2.252028793998774e-13 7.135404618680312e-14 1.400208835054596e-14 2.858282411901289e-16 + 0.000000000000000e+00 3.280907692410757e+00 6.559093802140417e+00 9.834554467967374e+00 1.310728583537977e+01 + 1.637728405657552e+01 1.964454529046227e+01 2.290906570265743e+01 2.617084146548816e+01 2.942986875799139e+01 + 3.268614376591378e+01 3.593966268171175e+01 3.919042170455148e+01 4.243841704030890e+01 4.568364490156970e+01 + 4.892610150762930e+01 5.216578308449292e+01 5.540268586487547e+01 5.863680608820168e+01 6.186814000060598e+01 + 6.509668385493259e+01 6.832243391073550e+01 7.154538643427834e+01 7.476553769853463e+01 7.798288398318758e+01 + 8.119742157463018e+01 8.440914676596513e+01 8.761805585700493e+01 9.082414515427180e+01 9.402741097099775e+01 + 9.722784962712448e+01 1.004254574493035e+02 1.036202307708961e+02 1.068121659319733e+02 1.100012592793157e+02 + 1.131875071664140e+02 1.163709059534683e+02 1.195514520073887e+02 1.227291417017950e+02 1.259039714170167e+02 + 1.290759375400930e+02 1.322450364647731e+02 1.354112645915156e+02 1.385746183274891e+02 1.417350940865720e+02 + 1.448926882893522e+02 1.480473973631275e+02 1.511992177419055e+02 1.543481458664036e+02 1.574941781840487e+02 + 1.606373111489777e+02 1.637775412220371e+02 1.669148648707833e+02 1.700492785694823e+02 1.731807787991100e+02 + 1.763093620473519e+02 1.794350248086033e+02 1.825577635839695e+02 1.856775748812652e+02 1.887944552150149e+02 + 1.919084011064531e+02 1.950194090835239e+02 1.981274756808810e+02 2.012325974398883e+02 2.043347709086188e+02 + 2.074339926418558e+02 2.105302592010923e+02 2.136235671545306e+02 2.167139130770834e+02 2.198012935503726e+02 + 2.228857051627302e+02 2.259671445091978e+02 2.290456081915269e+02 2.321210928181784e+02 2.351935950043234e+02 + 2.382631113718425e+02 2.413296385493261e+02 2.443931731720744e+02 2.474537118820972e+02 2.505112513281143e+02 + 2.535657881655549e+02 2.566173190565586e+02 2.596658406699738e+02 2.627113496813596e+02 2.657538427729843e+02 + 2.687933166338259e+02 2.718297679595726e+02 2.748631934526219e+02 2.778935898220815e+02 2.809209537837683e+02 + 2.839452820602094e+02 2.869665713806416e+02 2.899848184810112e+02 2.930000201039745e+02 2.960121729988974e+02 + 2.990212739218558e+02 3.020273196356349e+02 3.050303069097302e+02 3.080302325203465e+02 3.110270932503987e+02 + 3.140208858895110e+02 3.170116072340180e+02 3.199992540869634e+02 3.229838232581013e+02 3.259653115638948e+02 + 3.289437158275174e+02 3.319190328788521e+02 3.348912595544916e+02 3.378603926977383e+02 3.408264291586049e+02 + 3.437893657938130e+02 3.467491994667945e+02 3.497059270476910e+02 3.526595454133537e+02 3.556100514473437e+02 + 3.585574420399318e+02 3.615017140880985e+02 3.644428644955341e+02 3.673808901726388e+02 3.703157880365222e+02 + 3.732475550110041e+02 3.761761880266134e+02 3.791016840205897e+02 3.820240399368814e+02 3.849432527261474e+02 + 3.878593193457557e+02 3.907722367597846e+02 3.936820019390219e+02 3.965886118609651e+02 3.994920635098217e+02 + 4.023923538765087e+02 4.052894799586530e+02 4.081834387605912e+02 4.110742272933696e+02 4.139618425747443e+02 + 4.168462816291812e+02 4.197275414878559e+02 4.226056191886540e+02 4.254805117761704e+02 4.283522163017099e+02 + 4.312207298232872e+02 4.340860494056267e+02 4.369481721201628e+02 4.398070950450389e+02 4.426628152651090e+02 + 4.455153298719365e+02 4.483646359637945e+02 4.512107306456656e+02 4.540536110292430e+02 4.568932742329288e+02 + 4.597297173818351e+02 4.625629376077841e+02 4.653929320493071e+02 4.682196978516460e+02 4.710432321667516e+02 + 4.738635321532851e+02 4.766805949766169e+02 4.794944178088276e+02 4.823049978287075e+02 4.851123322217564e+02 + 4.879164181801841e+02 4.907172529029099e+02 4.935148335955632e+02 4.963091574704831e+02 4.991002217467178e+02 + 5.018880236500261e+02 5.046725604128764e+02 5.074538292744463e+02 5.102318274806237e+02 5.130065522840063e+02 + 5.157780009439010e+02 5.185461707263250e+02 5.213110589040049e+02 5.240726627563774e+02 5.268309795695885e+02 + 5.295860066364945e+02 5.323377412566609e+02 5.350861807363634e+02 5.378313223885873e+02 5.405731635330272e+02 + 5.433117014960885e+02 5.460469336108854e+02 5.487788572172420e+02 5.515074696616928e+02 5.542327682974811e+02 + 5.569547504845609e+02 5.596734135895950e+02 5.623887549859570e+02 5.651007720537292e+02 5.678094621797045e+02 + 5.705148227573850e+02 5.732168511869830e+02 5.759155448754203e+02 5.786109012363282e+02 5.813029176900482e+02 + 5.839915916636313e+02 5.866769205908384e+02 5.893589019121401e+02 5.920375330747167e+02 5.947128115324583e+02 + 5.973847347459648e+02 6.000533001825459e+02 6.027185053162206e+02 6.053803476277183e+02 6.080388246044777e+02 + 6.106939337406476e+02 6.133456725370861e+02 6.159940385013617e+02 6.186390291477520e+02 6.212806419972447e+02 + 6.239188745775372e+02 6.265537244230364e+02 6.291851890748597e+02 6.318132660808333e+02 6.344379529954938e+02 + 6.370592473800871e+02 6.396771468025696e+02 6.422916488376064e+02 6.449027510665734e+02 6.475104510775553e+02 + 6.501147464653474e+02 6.527156348314542e+02 6.553131137840901e+02 6.579071809381794e+02 6.604978339153558e+02 + 6.630850703439634e+02 6.656688878590552e+02 6.682492841023947e+02 6.708262567224546e+02 6.733998033744177e+02 + 6.759699217201766e+02 6.785366094283333e+02 6.810998641742000e+02 6.836596836397980e+02 6.862160655138592e+02 + 6.887690074918247e+02 6.913185072758453e+02 6.938645625747821e+02 6.964071711042051e+02 6.989463305863949e+02 + 7.014820387503412e+02 7.040142933317441e+02 7.065430920730126e+02 7.090684327232666e+02 7.115903130383348e+02 + 7.141087307807558e+02 7.166236837197782e+02 7.191351696313601e+02 7.216431862981700e+02 7.241477315095852e+02 + 7.266488030616937e+02 7.291463987572921e+02 7.316405164058881e+02 7.341311538236981e+02 7.366183088336488e+02 + 7.391019792653765e+02 7.415821629552270e+02 7.440588577462564e+02 7.465320614882301e+02 7.490017720376235e+02 + 7.514679872576214e+02 7.539307050181191e+02 7.563899231957208e+02 7.588456396737411e+02 7.612978523422037e+02 + 7.637465590978424e+02 7.661917578441014e+02 7.686334464911333e+02 7.710716229558018e+02 7.735062851616793e+02 + 7.759374310390485e+02 7.783650585249019e+02 7.807891655629417e+02 7.832097501035795e+02 7.856268101039369e+02 + 7.880403435278453e+02 7.904503483458460e+02 7.928568225351897e+02 7.952597640798369e+02 7.976591709704585e+02 + 8.000550412044341e+02 8.024473727858536e+02 8.048361637255169e+02 8.072214120409334e+02 8.096031157563222e+02 + 8.119812729026120e+02 8.143558815174417e+02 8.167269396451593e+02 8.190944453368236e+02 8.214583966502021e+02 + 8.238187916497725e+02 8.261756284067224e+02 8.285289049989487e+02 8.308786195110586e+02 8.332247700343684e+02 + 8.355673546669050e+02 8.379063715134042e+02 8.402418186853124e+02 8.425736943007848e+02 8.449019964846872e+02 + 8.472267233685945e+02 8.495478730907921e+02 8.518654437962743e+02 8.541794336367457e+02 8.564898407706205e+02 + 8.587966633630226e+02 8.610998995857861e+02 8.633995476174539e+02 8.656956056432798e+02 8.679880718552264e+02 + 8.702769444519665e+02 8.725622216388828e+02 8.748439016280670e+02 8.771219826383219e+02 8.793964628951586e+02 + 8.816673406307990e+02 8.839346140841741e+02 8.861982815009252e+02 8.884583411334027e+02 8.907147912406675e+02 + 8.929676300884897e+02 8.952168559493493e+02 8.974624671024361e+02 8.997044618336495e+02 9.019428384355992e+02 + 9.041775952076036e+02 9.064087304556922e+02 9.086362424926032e+02 9.108601296377846e+02 9.130803902173951e+02 + 9.152970225643020e+02 9.175100250180832e+02 9.197193959250255e+02 9.219251336381268e+02 9.241272365170935e+02 + 9.263257029283417e+02 9.285205312449986e+02 9.307117198468995e+02 9.328992671205907e+02 9.350831714593277e+02 + 9.372634312630761e+02 9.394400449385104e+02 9.416130108990160e+02 9.437823275646871e+02 9.459479933623287e+02 + 9.481100067254541e+02 9.502683660942876e+02 9.524230699157629e+02 9.545741166435229e+02 9.567215047379214e+02 + 9.588652326660207e+02 9.610052989015940e+02 9.631417019251231e+02 9.652744402238004e+02 9.674035122915279e+02 + 9.695289166289172e+02 9.716506517432896e+02 9.737687161486764e+02 9.758831083658184e+02 9.779938269221661e+02 + 9.801008703518804e+02 9.822042371958310e+02 9.843039260015983e+02 9.863999353234714e+02 9.884922637224498e+02 + 9.905809097662435e+02 9.926658720292703e+02 9.947471490926598e+02 9.968247395442500e+02 9.988986419785891e+02 + 1.000968854996935e+03 1.003035377207256e+03 1.005098207224229e+03 1.007157343669241e+03 1.009212785170389e+03 + 1.011264530362480e+03 1.013312577887031e+03 1.015356926392268e+03 1.017397574533126e+03 1.019434520971252e+03 + 1.021467764375000e+03 1.023497303419437e+03 1.025523136786337e+03 1.027545263164185e+03 1.029563681248175e+03 + 1.031578389740212e+03 1.033589387348909e+03 1.035596672789591e+03 1.037600244784291e+03 1.039600102061752e+03 + 1.041596243357428e+03 1.043588667413480e+03 1.045577372978782e+03 1.047562358808916e+03 1.049543623666173e+03 + 1.051521166319557e+03 1.053494985544777e+03 1.055465080124256e+03 1.057431448847125e+03 1.059394090509224e+03 + 1.061353003913104e+03 1.063308187868025e+03 1.065259641189957e+03 1.067207362701581e+03 1.069151351232285e+03 + 1.071091605618170e+03 1.073028124702043e+03 1.074960907333424e+03 1.076889952368542e+03 1.078815258670335e+03 + 1.080736825108451e+03 1.082654650559248e+03 1.084568733905793e+03 1.086479074037864e+03 1.088385669851947e+03 + 1.090288520251241e+03 1.092187624145651e+03 1.094082980451794e+03 1.095974588092995e+03 1.097862445999292e+03 + 1.099746553107428e+03 1.101626908360861e+03 1.103503510709754e+03 1.105376359110983e+03 1.107245452528133e+03 + 1.109110789931497e+03 1.110972370298081e+03 1.112830192611597e+03 1.114684255862470e+03 1.116534559047833e+03 + 1.118381101171529e+03 1.120223881244111e+03 1.122062898282842e+03 1.123898151311694e+03 1.125729639361349e+03 + 1.127557361469200e+03 1.129381316679347e+03 1.131201504042604e+03 1.133017922616489e+03 1.134830571465235e+03 + 1.136639449659783e+03 1.138444556277782e+03 1.140245890403593e+03 1.142043451128286e+03 1.143837237549640e+03 + 1.145627248772146e+03 1.147413483907002e+03 1.149195942072117e+03 1.150974622392110e+03 1.152749523998310e+03 + 1.154520646028755e+03 1.156287987628192e+03 1.158051547948079e+03 1.159811326146585e+03 1.161567321388586e+03 + 1.163319532845669e+03 1.165067959696131e+03 1.166812601124979e+03 1.168553456323928e+03 1.170290524491405e+03 + 1.172023804832545e+03 1.173753296559195e+03 1.175478998889909e+03 1.177200911049953e+03 1.178919032271301e+03 + 1.180633361792637e+03 1.182343898859357e+03 1.184050642723563e+03 1.185753592644071e+03 1.187452747886402e+03 + 1.189148107722792e+03 1.190839671432183e+03 1.192527438300227e+03 1.194211407619287e+03 1.195891578688435e+03 + 1.197567950813455e+03 1.199240523306837e+03 1.200909295487783e+03 1.202574266682204e+03 1.204235436222721e+03 + 1.205892803448666e+03 1.207546367706079e+03 1.209196128347710e+03 1.210842084733019e+03 1.212484236228177e+03 + 1.214122582206062e+03 1.215757122046265e+03 1.217387855135084e+03 1.219014780865528e+03 1.220637898637316e+03 + 1.222257207856876e+03 1.223872707937346e+03 1.225484398298575e+03 1.227092278367119e+03 1.228696347576247e+03 + 1.230296605365935e+03 1.231893051182870e+03 1.233485684480449e+03 1.235074504718779e+03 1.236659511364675e+03 + 1.238240703891664e+03 1.239818081779981e+03 1.241391644516571e+03 1.242961391595090e+03 1.244527322515903e+03 + 1.246089436786084e+03 1.247647733919417e+03 1.249202213436398e+03 1.250752874864230e+03 1.252299717736826e+03 + 1.253842741594810e+03 1.255381945985516e+03 1.256917330462986e+03 1.258448894587972e+03 1.259976637927938e+03 + 1.261500560057056e+03 1.263020660556207e+03 1.264536939012984e+03 1.266049395021687e+03 1.267558028183329e+03 + 1.269062838105629e+03 1.270563824403019e+03 1.272060986696640e+03 1.273554324614341e+03 1.275043837790682e+03 + 1.276529525866934e+03 1.278011388491075e+03 1.279489425317796e+03 1.280963636008494e+03 1.282434020231280e+03 + 1.283900577660971e+03 1.285363307979095e+03 1.286822210873891e+03 1.288277286040307e+03 1.289728533179999e+03 + 1.291175952001336e+03 1.292619542219393e+03 1.294059303555960e+03 1.295495235739530e+03 1.296927338505312e+03 + 1.298355611595221e+03 1.299780054757883e+03 1.301200667748633e+03 1.302617450329516e+03 1.304030402269289e+03 + 1.305439523343415e+03 1.306844813334069e+03 1.308246272030136e+03 1.309643899227210e+03 1.311037694727594e+03 + 1.312427658340302e+03 1.313813789881058e+03 1.315196089172293e+03 1.316574556043153e+03 1.317949190329488e+03 + 1.319319991873862e+03 1.320686960525546e+03 1.322050096140523e+03 1.323409398581483e+03 1.324764867717829e+03 + 1.326116503425671e+03 1.327464305587830e+03 1.328808274093838e+03 1.330148408839934e+03 1.331484709729068e+03 + 1.332817176670901e+03 1.334145809581802e+03 1.335470608384850e+03 1.336791573009835e+03 1.338108703393256e+03 + 1.339421999478320e+03 1.340731461214948e+03 1.342037088559766e+03 1.343338881476113e+03 1.344636839934036e+03 + 1.345930963910293e+03 1.347221253388351e+03 1.348507708358388e+03 1.349790328817288e+03 1.351069114768650e+03 + 1.352344066222779e+03 1.353615183196692e+03 1.354882465714113e+03 1.356145913805479e+03 1.357405527507935e+03 + 1.358661306865335e+03 1.359913251928245e+03 1.361161362753938e+03 1.362405639406399e+03 1.363646081956323e+03 + 1.364882690481112e+03 1.366115465064880e+03 1.367344405798451e+03 1.368569512779358e+03 1.369790786111843e+03 + 1.371008225906858e+03 1.372221832282067e+03 1.373431605361840e+03 1.374637545277261e+03 1.375839652166119e+03 + 1.377037926172918e+03 1.378232367448867e+03 1.379422976151887e+03 1.380609752446609e+03 1.381792696504374e+03 + 1.382971808503231e+03 1.384147088627939e+03 1.385318537069970e+03 1.386486154027501e+03 1.387649939705423e+03 + 1.388809894315333e+03 1.389966018075540e+03 1.391118311211063e+03 1.392266773953630e+03 1.393411406541678e+03 + 1.394552209220356e+03 1.395689182241520e+03 1.396822325863737e+03 1.397951640352285e+03 1.399077125979150e+03 + 1.400198783023028e+03 1.401316611769325e+03 1.402430612510158e+03 1.403540785544351e+03 1.404647131177441e+03 + 1.405749649721672e+03 1.406848341496000e+03 1.407943206826088e+03 1.409034246044311e+03 1.410121459489754e+03 + 1.411204847508209e+03 1.412284410452182e+03 1.413360148680885e+03 1.414432062560241e+03 1.415500152462884e+03 + 1.416564418768155e+03 1.417624861862108e+03 1.418681482137504e+03 1.419734279993815e+03 1.420783255837224e+03 + 1.421828410080621e+03 1.422869743143608e+03 1.423907255452495e+03 1.424940947440303e+03 1.425970819546763e+03 + 1.426996872218314e+03 1.428019105908108e+03 1.429037521076003e+03 1.430052118188569e+03 1.431062897719085e+03 + 1.432069860147540e+03 1.433073005960632e+03 1.434072335651771e+03 1.435067849721075e+03 1.436059548675370e+03 + 1.437047433028196e+03 1.438031503299800e+03 1.439011760017138e+03 1.439988203713878e+03 1.440960834930396e+03 + 1.441929654213780e+03 1.442894662117825e+03 1.443855859203037e+03 1.444813246036631e+03 1.445766823192535e+03 + 1.446716591251382e+03 1.447662550800518e+03 1.448604702433997e+03 1.449543046752585e+03 1.450477584363755e+03 + 1.451408315881691e+03 1.452335241927287e+03 1.453258363128147e+03 1.454177680118583e+03 1.455093193539620e+03 + 1.456004904038989e+03 1.456912812271134e+03 1.457816918897206e+03 1.458717224585068e+03 1.459613730009291e+03 + 1.460506435851157e+03 1.461395342798658e+03 1.462280451546494e+03 1.463161762796076e+03 1.464039277255525e+03 + 1.464912995639670e+03 1.465782918670054e+03 1.466649047074924e+03 1.467511381589240e+03 1.468369922954673e+03 + 1.469224671919600e+03 1.470075629239112e+03 1.470922795675006e+03 1.471766171995790e+03 1.472605758976684e+03 + 1.473441557399614e+03 1.474273568053219e+03 1.475101791732846e+03 1.475926229240551e+03 1.476746881385102e+03 + 1.477563748981976e+03 1.478376832853358e+03 1.479186133828146e+03 1.479991652741944e+03 1.480793390437068e+03 + 1.481591347762545e+03 1.482385525574108e+03 1.483175924734204e+03 1.483962546111986e+03 1.484745390583318e+03 + 1.485524459030776e+03 1.486299752343644e+03 1.487071271417914e+03 1.487839017156289e+03 1.488602990468185e+03 + 1.489363192269722e+03 1.490119623483735e+03 1.490872285039765e+03 1.491621177874064e+03 1.492366302929595e+03 + 1.493107661156030e+03 1.493845253509749e+03 1.494579080953843e+03 1.495309144458115e+03 1.496035444999074e+03 + 1.496757983559942e+03 1.497476761130647e+03 1.498191778707831e+03 1.498903037294843e+03 1.499610537901742e+03 + 1.500314281545298e+03 1.501014269248990e+03 1.501710502043006e+03 1.502402980964245e+03 1.503091707056315e+03 + 1.503776681369534e+03 1.504457904960931e+03 1.505135378894241e+03 1.505809104239914e+03 1.506479082075105e+03 + 1.507145313483682e+03 1.507807799556220e+03 1.508466541390007e+03 1.509121540089038e+03 1.509772796764020e+03 + 1.510420312532367e+03 1.511064088518205e+03 1.511704125852369e+03 1.512340425672404e+03 1.512972989122564e+03 + 1.513601817353814e+03 1.514226911523828e+03 1.514848272796989e+03 1.515465902344391e+03 1.516079801343838e+03 + 1.516689970979842e+03 1.517296412443626e+03 1.517899126933124e+03 1.518498115652977e+03 1.519093379814537e+03 + 1.519684920635866e+03 1.520272739341736e+03 1.520856837163628e+03 1.521437215339733e+03 1.522013875114953e+03 + 1.522586817740897e+03 1.523156044475887e+03 1.523721556584951e+03 1.524283355339831e+03 1.524841442018975e+03 + 1.525395817907543e+03 1.525946484297405e+03 1.526493442487138e+03 1.527036693782033e+03 1.527576239494086e+03 + 1.528112080942007e+03 1.528644219451213e+03 1.529172656353831e+03 1.529697392988700e+03 1.530218430701367e+03 + 1.530735770844087e+03 1.531249414775829e+03 1.531759363862268e+03 1.532265619475790e+03 1.532768182995492e+03 + 1.533267055807180e+03 1.533762239303368e+03 1.534253734883281e+03 1.534741543952856e+03 1.535225667924735e+03 + 1.535706108218275e+03 1.536182866259539e+03 1.536655943481301e+03 1.537125341323045e+03 1.537591061230964e+03 + 1.538053104657961e+03 1.538511473063650e+03 1.538966167914353e+03 1.539417190683102e+03 1.539864542849641e+03 + 1.540308225900420e+03 1.540748241328602e+03 1.541184590634058e+03 1.541617275323370e+03 1.542046296909827e+03 + 1.542471656913432e+03 1.542893356860894e+03 1.543311398285634e+03 1.543725782727782e+03 1.544136511734178e+03 + 1.544543586858370e+03 1.544947009660620e+03 1.545346781707894e+03 1.545742904573873e+03 1.546135379838945e+03 + 1.546524209090207e+03 1.546909393921469e+03 1.547290935933248e+03 1.547668836732771e+03 1.548043097933976e+03 + 1.548413721157510e+03 1.548780708030729e+03 1.549144060187701e+03 1.549503779269201e+03 1.549859866922715e+03 + 1.550212324802440e+03 1.550561154569281e+03 1.550906357890854e+03 1.551247936441483e+03 1.551585891902203e+03 + 1.551920225960758e+03 1.552250940311604e+03 1.552578036655905e+03 1.552901516701533e+03 1.553221382163073e+03 + 1.553537634761818e+03 1.553850276225772e+03 1.554159308289647e+03 1.554464732694865e+03 1.554766551189559e+03 + 1.555064765528572e+03 1.555359377473454e+03 1.555650388792468e+03 1.555937801260586e+03 1.556221616659488e+03 + 1.556501836777564e+03 1.556778463409917e+03 1.557051498358356e+03 1.557320943431401e+03 1.557586800444283e+03 + 1.557849071218940e+03 1.558107757584023e+03 1.558362861374890e+03 1.558614384433611e+03 1.558862328608964e+03 + 1.559106695756438e+03 1.559347487738230e+03 1.559584706423249e+03 1.559818353687112e+03 1.560048431412147e+03 + 1.560274941487391e+03 1.560497885808591e+03 1.560717266278204e+03 1.560933084805396e+03 1.561145343306044e+03 + 1.561354043702732e+03 1.561559187924758e+03 1.561760777908126e+03 1.561958815595552e+03 1.562153302936461e+03 + 1.562344241886987e+03 1.562531634409975e+03 1.562715482474979e+03 1.562895788058264e+03 1.563072553142803e+03 + 1.563245779718279e+03 1.563415469781085e+03 1.563581625334326e+03 1.563744248387813e+03 1.563903340958068e+03 + 1.564058905068325e+03 1.564210942748526e+03 1.564359456035321e+03 1.564504446972073e+03 1.564645917608853e+03 + 1.564783870002442e+03 1.564918306216331e+03 1.565049228320720e+03 1.565176638392519e+03 1.565300538515349e+03 + 1.565420930779540e+03 1.565537817282130e+03 1.565651200126870e+03 1.565761081424219e+03 1.565867463291344e+03 + 1.565970347852125e+03 1.566069737237150e+03 1.566165633583717e+03 1.566258039035835e+03 1.566346955744220e+03 + 1.566432385866300e+03 1.566514331566212e+03 1.566592795014803e+03 1.566667778389629e+03 1.566739283874957e+03 + 1.566807313661764e+03 1.566871869947734e+03 1.566932954937263e+03 1.566990570841457e+03 1.567044719878131e+03 + 1.567095404271811e+03 1.567142626253729e+03 1.567186388061831e+03 1.567226691940771e+03 1.567263540141913e+03 + 1.567296934923331e+03 1.567326878549808e+03 1.567353373292836e+03 1.567376421430620e+03 1.567396025248071e+03 + 1.567412187036812e+03 1.567424909095176e+03 1.567434193728203e+03 1.567440043247646e+03 1.567442459971967e+03 + 1.567441446226336e+03 1.567437004342634e+03 1.567429136659453e+03 1.567417845522091e+03 1.567403133282561e+03 + 1.567385002299581e+03 1.567363454938582e+03 1.567338493571702e+03 1.567310120577791e+03 1.567278338342408e+03 + 1.567243149257822e+03 1.567204555723011e+03 1.567162560143663e+03 1.567117164932177e+03 1.567068372507660e+03 + 1.567016185295929e+03 1.566960605729512e+03 1.566901636247646e+03 1.566839279296277e+03 1.566773537328063e+03 + 1.566704412802369e+03 1.566631908185271e+03 1.566556025949555e+03 1.566476768574717e+03 1.566394138546961e+03 + 1.566308138359204e+03 1.566218770511069e+03 1.566126037508891e+03 1.566029941865714e+03 1.565930486101294e+03 + 1.565827672742092e+03 1.565721504321283e+03 1.565611983378751e+03 1.565499112461087e+03 1.565382894121595e+03 + 1.565263330920288e+03 1.565140425423888e+03 1.565014180205826e+03 1.564884597846246e+03 1.564751680931997e+03 + 1.564615432056643e+03 1.564475853820452e+03 1.564332948830408e+03 1.564186719700199e+03 1.564037169050227e+03 + 1.563884299507601e+03 1.563728113706142e+03 1.563568614286379e+03 1.563405803895550e+03 1.563239685187607e+03 + 1.563070260823207e+03 1.562897533469719e+03 1.562721505801220e+03 1.562542180498501e+03 1.562359560249057e+03 + 1.562173647747097e+03 1.561984445693539e+03 1.561791956796009e+03 1.561596183768845e+03 1.561397129333092e+03 + 1.561194796216507e+03 1.560989187153558e+03 1.560780304885418e+03 1.560568152159974e+03 1.560352731731822e+03 + 1.560134046362267e+03 1.559912098819323e+03 1.559686891877715e+03 1.559458428318879e+03 1.559226710930956e+03 + 1.558991742508803e+03 1.558753525853981e+03 1.558512063774766e+03 1.558267359086140e+03 1.558019414609795e+03 + 1.557768233174136e+03 1.557513817614273e+03 1.557256170772030e+03 1.556995295495938e+03 1.556731194641239e+03 + 1.556463871069885e+03 1.556193327650536e+03 1.555919567258564e+03 1.555642592776049e+03 1.555362407091783e+03 + 1.555079013101264e+03 1.554792413706704e+03 1.554502611817021e+03 1.554209610347846e+03 1.553913412221517e+03 + 1.553614020367084e+03 1.553311437720305e+03 1.553005667223649e+03 1.552696711826295e+03 1.552384574484129e+03 + 1.552069258159750e+03 1.551750765822466e+03 1.551429100448294e+03 1.551104265019960e+03 1.550776262526902e+03 + 1.550445095965265e+03 1.550110768337907e+03 1.549773282654394e+03 1.549432641931000e+03 1.549088849190713e+03 + 1.548741907463227e+03 1.548391819784946e+03 1.548038589198987e+03 1.547682218755173e+03 1.547322711510039e+03 + 1.546960070526829e+03 1.546594298875496e+03 1.546225399632705e+03 1.545853375881829e+03 1.545478230712950e+03 + 1.545099967222861e+03 1.544718588515066e+03 1.544334097699777e+03 1.543946497893915e+03 1.543555792221112e+03 + 1.543161983811711e+03 1.542765075802762e+03 1.542365071338026e+03 1.541961973567975e+03 1.541555785649789e+03 + 1.541146510747358e+03 1.540734152031283e+03 1.540318712678874e+03 1.539900195874149e+03 1.539478604807839e+03 + 1.539053942677383e+03 1.538626212686929e+03 1.538195418047336e+03 1.537761561976173e+03 1.537324647697717e+03 + 1.536884678442957e+03 1.536441657449592e+03 1.535995587962026e+03 1.535546473231378e+03 1.535094316515475e+03 + 1.534639121078853e+03 1.534180890192759e+03 1.533719627135150e+03 1.533255335190690e+03 1.532788017650757e+03 + 1.532317677813435e+03 1.531844318983518e+03 1.531367944472514e+03 1.530888557598635e+03 1.530406161686807e+03 + 1.529920760068664e+03 1.529432356082550e+03 1.528940953073517e+03 1.528446554393331e+03 1.527949163400464e+03 + 1.527448783460099e+03 1.526945417944129e+03 1.526439070231157e+03 1.525929743706494e+03 1.525417441762163e+03 + 1.524902167796895e+03 1.524383925216131e+03 1.523862717432025e+03 1.523338547863434e+03 1.522811419935932e+03 + 1.522281337081799e+03 1.521748302740024e+03 1.521212320356308e+03 1.520673393383061e+03 1.520131525279401e+03 + 1.519586719511159e+03 1.519038979550873e+03 1.518488308877793e+03 1.517934710977876e+03 1.517378189343791e+03 + 1.516818747474916e+03 1.516256388877339e+03 1.515691117063858e+03 1.515122935553979e+03 1.514551847873920e+03 + 1.513977857556607e+03 1.513400968141679e+03 1.512821183175479e+03 1.512238506211065e+03 1.511652940808203e+03 + 1.511064490533368e+03 1.510473158959745e+03 1.509878949667230e+03 1.509281866242427e+03 1.508681912278651e+03 + 1.508079091375926e+03 1.507473407140987e+03 1.506864863187277e+03 1.506253463134950e+03 1.505639210610869e+03 + 1.505022109248608e+03 1.504402162688449e+03 1.503779374577385e+03 1.503153748569118e+03 1.502525288324061e+03 + 1.501893997509335e+03 1.501259879798773e+03 1.500622938872914e+03 1.499983178419011e+03 1.499340602131025e+03 + 1.498695213709626e+03 1.498047016862194e+03 1.497396015302820e+03 1.496742212752304e+03 1.496085612938155e+03 + 1.495426219594593e+03 1.494764036462547e+03 1.494099067289655e+03 1.493431315830267e+03 1.492760785845442e+03 + 1.492087481102946e+03 1.491411405377259e+03 1.490732562449567e+03 1.490050956107769e+03 1.489366590146471e+03 + 1.488679468366991e+03 1.487989594577355e+03 1.487296972592300e+03 1.486601606233272e+03 1.485903499328426e+03 + 1.485202655712629e+03 1.484499079227457e+03 1.483792773721193e+03 1.483083743048834e+03 1.482371991072084e+03 + 1.481657521659358e+03 1.480940338685780e+03 1.480220446033183e+03 1.479497847590113e+03 1.478772547251821e+03 + 1.478044548920272e+03 1.477313856504138e+03 1.476580473918802e+03 1.475844405086357e+03 1.475105653935605e+03 + 1.474364224402058e+03 1.473620120427938e+03 1.472873345962177e+03 1.472123904960415e+03 1.471371801385004e+03 + 1.470617039205005e+03 1.469859622396187e+03 1.469099554941032e+03 1.468336840828730e+03 1.467571484055180e+03 + 1.466803488622991e+03 1.466032858541484e+03 1.465259597826687e+03 1.464483710501340e+03 1.463705200594890e+03 + 1.462924072143496e+03 1.462140329190026e+03 1.461353975784058e+03 1.460565015981880e+03 1.459773453846489e+03 + 1.458979293447591e+03 1.458182538861605e+03 1.457383194171656e+03 1.456581263467582e+03 1.455776750845927e+03 + 1.454969660409948e+03 1.454159996269611e+03 1.453347762541590e+03 1.452532963349272e+03 1.451715602822750e+03 + 1.450895685098830e+03 1.450073214321026e+03 1.449248194639563e+03 1.448420630211373e+03 1.447590525200101e+03 + 1.446757883776100e+03 1.445922710116434e+03 1.445085008404874e+03 1.444244782831905e+03 1.443402037594718e+03 + 1.442556776897215e+03 1.441709004950008e+03 1.440858725970420e+03 1.440005944182481e+03 1.439150663816933e+03 + 1.438292889111226e+03 1.437432624309523e+03 1.436569873662692e+03 1.435704641428314e+03 1.434836931870678e+03 + 1.433966749260786e+03 1.433094097876346e+03 1.432218982001777e+03 1.431341405928208e+03 1.430461373953479e+03 + 1.429578890382137e+03 1.428693959525441e+03 1.427806585701360e+03 1.426916773234569e+03 1.426024526456458e+03 + 1.425129849705122e+03 1.424232747325370e+03 1.423333223668719e+03 1.422431283093393e+03 1.421526929964331e+03 + 1.420620168653178e+03 1.419711003538289e+03 1.418799439004731e+03 1.417885479444278e+03 1.416969129255415e+03 + 1.416050392843337e+03 1.415129274619950e+03 1.414205779003866e+03 1.413279910420411e+03 1.412351673301618e+03 + 1.411421072086230e+03 1.410488111219700e+03 1.409552795154193e+03 1.408615128348581e+03 1.407675115268446e+03 + 1.406732760386080e+03 1.405788068180486e+03 1.404841043137375e+03 1.403891689749170e+03 1.402940012515001e+03 + 1.401986015940709e+03 1.401029704538846e+03 1.400071082828672e+03 1.399110155336157e+03 1.398146926593981e+03 + 1.397181401141535e+03 1.396213583524918e+03 1.395243478296938e+03 1.394271090017116e+03 1.393296423251680e+03 + 1.392319482573570e+03 1.391340272562432e+03 1.390358797804626e+03 1.389375062893219e+03 1.388389072427989e+03 + 1.387400831015423e+03 1.386410343268718e+03 1.385417613807782e+03 1.384422647259231e+03 1.383425448256391e+03 + 1.382426021439299e+03 1.381424371454700e+03 1.380420502956051e+03 1.379414420603515e+03 1.378406129063970e+03 + 1.377395633010999e+03 1.376382937124898e+03 1.375368046092671e+03 1.374350964608031e+03 1.373331697371403e+03 + 1.372310249089921e+03 1.371286624477428e+03 1.370260828254477e+03 1.369232865148331e+03 1.368202739892964e+03 + 1.367170457229056e+03 1.366136021904002e+03 1.365099438671902e+03 1.364060712293568e+03 1.363019847536522e+03 + 1.361976849174995e+03 1.360931721989928e+03 1.359884470768972e+03 1.358835100306487e+03 1.357783615403544e+03 + 1.356730020867921e+03 1.355674321514110e+03 1.354616522163310e+03 1.353556627643430e+03 1.352494642789090e+03 + 1.351430572441617e+03 1.350364421449050e+03 1.349296194666138e+03 1.348225896954338e+03 1.347153533181818e+03 + 1.346079108223457e+03 1.345002626960841e+03 1.343924094282267e+03 1.342843515082743e+03 1.341760894263984e+03 + 1.340676236734416e+03 1.339589547409177e+03 1.338500831210112e+03 1.337410093065776e+03 1.336317337911434e+03 + 1.335222570689062e+03 1.334125796347346e+03 1.333027019841677e+03 1.331926246134163e+03 1.330823480193616e+03 + 1.329718726995561e+03 1.328611991522230e+03 1.327503278762568e+03 1.326392593712228e+03 1.325279941373571e+03 + 1.324165326755672e+03 1.323048754874311e+03 1.321930230751983e+03 1.320809759417887e+03 1.319687345907936e+03 + 1.318562995264752e+03 1.317436712537665e+03 1.316308502782716e+03 1.315178371062656e+03 1.314046322446946e+03 + 1.312912362011755e+03 1.311776494839963e+03 1.310638726021160e+03 1.309499060651645e+03 1.308357503834428e+03 + 1.307214060679228e+03 1.306068736302473e+03 1.304921535827301e+03 1.303772464383560e+03 1.302621527107810e+03 + 1.301468729143317e+03 1.300314075640058e+03 1.299157571754721e+03 1.297999222650704e+03 1.296839033498112e+03 + 1.295677009473761e+03 1.294513155761180e+03 1.293347477550602e+03 1.292179980038974e+03 1.291010668429951e+03 + 1.289839547933899e+03 1.288666623767893e+03 1.287491901155716e+03 1.286315385327865e+03 1.285137081521542e+03 + 1.283956994980662e+03 1.282775130955849e+03 1.281591494704436e+03 1.280406091490466e+03 1.279218926584693e+03 + 1.278030005264579e+03 1.276839332814297e+03 1.275646914524728e+03 1.274452755693465e+03 1.273256861624810e+03 + 1.272059237629775e+03 1.270859889026079e+03 1.269658821138155e+03 1.268456039297144e+03 1.267251548840895e+03 + 1.266045355113969e+03 1.264837463467636e+03 1.263627879259876e+03 1.262416607855379e+03 1.261203654625543e+03 + 1.259989024948479e+03 1.258772724209004e+03 1.257554757798647e+03 1.256335131115646e+03 1.255113849564950e+03 + 1.253890918558217e+03 1.252666343513813e+03 1.251440129856817e+03 1.250212283019015e+03 1.248982808438904e+03 + 1.247751711561691e+03 1.246518997839292e+03 1.245284672730334e+03 1.244048741700151e+03 1.242811210220790e+03 + 1.241572083771006e+03 1.240331367836264e+03 1.239089067908740e+03 1.237845189487317e+03 1.236599738077590e+03 + 1.235352719191863e+03 1.234104138349150e+03 1.232854001075175e+03 1.231602312902370e+03 1.230349079369880e+03 + 1.229094306023557e+03 1.227837998415964e+03 1.226580162106373e+03 1.225320802660766e+03 1.224059925651835e+03 + 1.222797536658982e+03 1.221533641268318e+03 1.220268245072664e+03 1.219001353671552e+03 1.217732972671222e+03 + 1.216463107684624e+03 1.215191764331420e+03 1.213918948237977e+03 1.212644665037377e+03 1.211368920369408e+03 + 1.210091719880570e+03 1.208813069224072e+03 1.207532974059833e+03 1.206251440054480e+03 1.204968472881353e+03 + 1.203684078220499e+03 1.202398261758676e+03 1.201111029189351e+03 1.199822386212701e+03 1.198532338535615e+03 + 1.197240891871687e+03 1.195948051941225e+03 1.194653824471246e+03 1.193358215195474e+03 1.192061229854346e+03 + 1.190762874195007e+03 1.189463153971313e+03 1.188162074943828e+03 1.186859642879827e+03 1.185555863553295e+03 + 1.184250742744927e+03 1.182944286242125e+03 1.181636499839004e+03 1.180327389336388e+03 1.179016960541809e+03 + 1.177705219269511e+03 1.176392171340446e+03 1.175077822582277e+03 1.173762178829377e+03 1.172445245922827e+03 + 1.171127029710419e+03 1.169807536046655e+03 1.168486770792745e+03 1.167164739816612e+03 1.165841448992886e+03 + 1.164516904202907e+03 1.163191111334726e+03 1.161864076283103e+03 1.160535804949508e+03 1.159206303242120e+03 + 1.157875577075829e+03 1.156543632372233e+03 1.155210475059642e+03 1.153876111073074e+03 1.152540546354257e+03 + 1.151203786851631e+03 1.149865838520342e+03 1.148526707322247e+03 1.147186399225916e+03 1.145844920206624e+03 + 1.144502276246358e+03 1.143158473333815e+03 1.141813517464402e+03 1.140467414640234e+03 1.139120170870139e+03 + 1.137771792169650e+03 1.136422284561014e+03 1.135071654073185e+03 1.133719906741829e+03 1.132367048609320e+03 + 1.131013085724743e+03 1.129658024143891e+03 1.128301869929270e+03 1.126944629150092e+03 1.125586307882280e+03 + 1.124226912208469e+03 1.122866448218001e+03 1.121504922006928e+03 1.120142339678013e+03 1.118778707340729e+03 + 1.117414031111256e+03 1.116048317112488e+03 1.114681571474025e+03 1.113313800332179e+03 1.111945009829970e+03 + 1.110575206117129e+03 1.109204395350097e+03 1.107832583692024e+03 1.106459777312770e+03 1.105085982388904e+03 + 1.103711205103706e+03 1.102335451647166e+03 1.100958728215983e+03 1.099581041013564e+03 1.098202396250028e+03 + 1.096822800142205e+03 1.095442258913632e+03 1.094060778794555e+03 1.092678366021934e+03 1.091295026839436e+03 + 1.089910767497437e+03 1.088525594253023e+03 1.087139513369993e+03 1.085752531118851e+03 1.084364653776815e+03 + 1.082975887627809e+03 1.081586238962469e+03 1.080195714078142e+03 1.078804319278880e+03 1.077412060875450e+03 + 1.076018945185327e+03 1.074624978532693e+03 1.073230167248444e+03 1.071834517670182e+03 1.070438036142223e+03 + 1.069040729015589e+03 1.067642602648012e+03 1.066243663403937e+03 1.064843917654515e+03 1.063443371777609e+03 + 1.062042032157791e+03 1.060639905186343e+03 1.059236997261256e+03 1.057833314787232e+03 1.056428864175682e+03 + 1.055023651844726e+03 1.053617684219196e+03 1.052210967730631e+03 1.050803508817282e+03 1.049395313897890e+03 + 1.047986388534756e+03 1.046576737255851e+03 1.045166364529164e+03 1.043755274824231e+03 1.042343472612131e+03 + 1.040930962365484e+03 1.039517748558457e+03 1.038103835666756e+03 1.036689228167636e+03 1.035273930539893e+03 + 1.033857947263865e+03 1.032441282821436e+03 1.031023941696033e+03 1.029605928372625e+03 1.028187247337727e+03 + 1.026767903079397e+03 1.025347900087235e+03 1.023927242852386e+03 1.022505935867538e+03 1.021083983626923e+03 + 1.019661390626317e+03 1.018238161363038e+03 1.016814300335948e+03 1.015389812045455e+03 1.013964700993507e+03 + 1.012538971683598e+03 1.011112628620765e+03 1.009685676311588e+03 1.008258119264191e+03 1.006829961988242e+03 + 1.005401208994952e+03 1.003971864797076e+03 1.002541933908912e+03 1.001111420846301e+03 9.996803301266303e+02 + 9.982486662688275e+02 9.968164337933661e+02 9.953836372222621e+02 9.939502810790750e+02 9.925163698889086e+02 + 9.910819081784098e+02 9.896469004757686e+02 9.882113513107199e+02 9.867752652145410e+02 9.853386467200531e+02 + 9.839015003616214e+02 9.824638306751541e+02 9.810256421981031e+02 9.795869394694643e+02 9.781477270297768e+02 + 9.767080094211232e+02 9.752677911871300e+02 9.738270768729670e+02 9.723858710253478e+02 9.709441781925295e+02 + 9.695020029243127e+02 9.680593497720415e+02 9.666162232886040e+02 9.651726280284314e+02 9.637285685474986e+02 + 9.622840494033246e+02 9.608390751549712e+02 9.593936503630440e+02 9.579477795896925e+02 9.565014673986094e+02 + 9.550547183550314e+02 9.536075370257383e+02 9.521599279790540e+02 9.507118957848456e+02 9.492634450145238e+02 + 9.478145802410424e+02 9.463653060389005e+02 9.449156269841388e+02 9.434655476543426e+02 9.420150726286407e+02 + 9.405642064877048e+02 9.391129538137513e+02 9.376613191905399e+02 9.362093072033728e+02 9.347569224390970e+02 + 9.333041694861028e+02 9.318510529343232e+02 9.303975773752362e+02 9.289437474018629e+02 9.274895676087672e+02 + 9.260350425920570e+02 9.245801769493847e+02 9.231249752799448e+02 9.216694421844763e+02 9.202135822652619e+02 + 9.187574001261273e+02 9.173009003724419e+02 9.158440876111187e+02 9.143869664506148e+02 9.129295415009306e+02 + 9.114718173736089e+02 9.100137986817383e+02 9.085554900399494e+02 9.070968960644165e+02 9.056380213728581e+02 + 9.041788705845360e+02 9.027194483202552e+02 9.012597592023648e+02 8.997998078547574e+02 8.983395989028686e+02 + 8.968791369736786e+02 8.954184266957105e+02 8.939574726990309e+02 8.924962796152502e+02 8.910348520775226e+02 + 8.895731947205452e+02 8.881113121805595e+02 8.866492090953504e+02 8.851868901042455e+02 8.837243598481174e+02 + 8.822616229693809e+02 8.807986841119955e+02 8.793355479214636e+02 8.778722190448314e+02 8.764087021306887e+02 + 8.749450018291686e+02 8.734811227919481e+02 8.720170696722481e+02 8.705528471248323e+02 8.690884598060085e+02 + 8.676239123736278e+02 8.661592094870851e+02 8.646943558073189e+02 8.632293559968109e+02 8.617642147195870e+02 + 8.602989366412162e+02 8.588335264288111e+02 8.573679887510280e+02 8.559023282780669e+02 8.544365496816713e+02 + 8.529706576351281e+02 8.515046568132680e+02 8.500385518924651e+02 8.485723475506371e+02 8.471060484672456e+02 + 8.456396593232956e+02 8.441731848013352e+02 8.427066295854568e+02 8.412399983612960e+02 8.397732958160319e+02 + 8.383065266383875e+02 8.368396955186294e+02 8.353728071485672e+02 8.339058662215547e+02 8.324388774324890e+02 + 8.309718454778108e+02 8.295047750555044e+02 8.280376708650979e+02 8.265705376076626e+02 8.251033799858133e+02 + 8.236362027037090e+02 8.221690104670519e+02 8.207018079830875e+02 8.192345999606056e+02 8.177673911099388e+02 + 8.163001861429635e+02 8.148329897731001e+02 8.133658067153123e+02 8.118986416861073e+02 8.104314994035359e+02 + 8.089643845871925e+02 8.074973019582153e+02 8.060302562392853e+02 8.045632521546285e+02 8.030962944300132e+02 + 8.016293877927517e+02 8.001625369717000e+02 7.986957466972576e+02 7.972290217013673e+02 7.957623667175162e+02 + 7.942957864807344e+02 7.928292857275953e+02 7.913628691962167e+02 7.898965416262595e+02 7.884303077589279e+02 + 7.869641723369706e+02 7.854981401046790e+02 7.840322158078881e+02 7.825664041939773e+02 7.811007100118686e+02 + 7.796351380120283e+02 7.781696929464658e+02 7.767043795687346e+02 7.752392026339312e+02 7.737741668986956e+02 + 7.723092771212124e+02 7.708445380612087e+02 7.693799544799557e+02 7.679155311402681e+02 7.664512728065041e+02 + 7.649871842445651e+02 7.635232702218972e+02 7.620595355074889e+02 7.605959848718730e+02 7.591326230871256e+02 + 7.576694549268664e+02 7.562064851662584e+02 7.547437185820088e+02 7.532811599523681e+02 7.518188140571300e+02 + 7.503566856776325e+02 7.488947795967565e+02 7.474331005989271e+02 7.459716534701122e+02 7.445104429978242e+02 + 7.430494739711182e+02 7.415887511805935e+02 7.401282794183929e+02 7.386680634782024e+02 7.372081081552518e+02 + 7.357484182463149e+02 7.342889985497084e+02 7.328298538652926e+02 7.313709889944722e+02 7.299124087401947e+02 + 7.284541179069513e+02 7.269961213007771e+02 7.255384237292504e+02 7.240810300014931e+02 7.226239449281712e+02 + 7.211671733214938e+02 7.197107199952134e+02 7.182545897646269e+02 7.167987874465738e+02 7.153433178594373e+02 + 7.138881858231457e+02 7.124333961591685e+02 7.109789536905207e+02 7.095248632417597e+02 7.080711296389870e+02 + 7.066177577098478e+02 7.051647522835304e+02 7.037121181907675e+02 7.022598602638342e+02 7.008079833365500e+02 + 6.993564922442782e+02 6.979053918239249e+02 6.964546869139400e+02 6.950043823543177e+02 6.935544829865950e+02 + 6.921049936538523e+02 6.906559192007142e+02 6.892072644733491e+02 6.877590343194680e+02 6.863112335883264e+02 + 6.848638671307228e+02 6.834169397989994e+02 6.819704564470420e+02 6.805244219302806e+02 6.790788411056876e+02 + 6.776337188317796e+02 6.761890599686175e+02 6.747448693778041e+02 6.733011519224871e+02 6.718579124673579e+02 + 6.704151558786504e+02 6.689728870241429e+02 6.675311107731571e+02 6.660898319965579e+02 6.646490555667547e+02 + 6.632087863576994e+02 6.617690292448882e+02 6.603297891053608e+02 6.588910708177000e+02 6.574528792620325e+02 + 6.560152193200289e+02 6.545780958749028e+02 6.531415138114120e+02 6.517054780158572e+02 6.502699933760831e+02 + 6.488350647814780e+02 6.474006971229736e+02 6.459668952930450e+02 6.445336641857116e+02 6.431010086965356e+02 + 6.416689337226230e+02 6.402374441626239e+02 6.388065449167315e+02 6.373762408866819e+02 6.359465369757564e+02 + 6.345174380887786e+02 6.330889491321157e+02 6.316610750136796e+02 6.302338206429247e+02 6.288071909308491e+02 + 6.273811907899951e+02 6.259558251344477e+02 6.245310988798360e+02 6.231070169433332e+02 6.216835842436550e+02 + 6.202608057010611e+02 6.188386862373554e+02 6.174172307758844e+02 6.159964442415383e+02 6.145763315607522e+02 + 6.131568976615030e+02 6.117381474733122e+02 6.103200859272448e+02 6.089027179559087e+02 6.074860484934565e+02 + 6.060700824755835e+02 6.046548248395288e+02 6.032402805240755e+02 6.018264544695495e+02 6.004133516178208e+02 + 5.990009769123031e+02 5.975893352979532e+02 5.961784317212720e+02 5.947682711303036e+02 5.933588584746357e+02 + 5.919501987053994e+02 5.905422967752705e+02 5.891351576384668e+02 5.877287862507508e+02 5.863231875694282e+02 + 5.849183665533477e+02 5.835143281629030e+02 5.821110773600302e+02 5.807086191082091e+02 5.793069583724634e+02 + 5.779061001193606e+02 5.765060493170109e+02 5.751068109350690e+02 5.737083899447330e+02 5.723107913187440e+02 + 5.709140200313871e+02 5.695180810584912e+02 5.681229793774282e+02 5.667287199671144e+02 5.653353078080089e+02 + 5.639427478821145e+02 5.625510451729782e+02 5.611602046656897e+02 5.597702313468828e+02 5.583811302047351e+02 + 5.569929062289672e+02 5.556055644108436e+02 5.542191097431725e+02 5.528335472203050e+02 5.514488818381369e+02 + 5.500651185941068e+02 5.486822624871968e+02 5.473003185179330e+02 5.459192916883851e+02 5.445391870021655e+02 + 5.431600094644319e+02 5.417817640818839e+02 5.404044558627653e+02 5.390280898168637e+02 5.376526709555103e+02 + 5.362782042915790e+02 5.349046948394886e+02 5.335321476152006e+02 5.321605676362202e+02 5.307899599215965e+02 + 5.294203294919217e+02 5.280516813693320e+02 5.266840205775071e+02 5.253173521416702e+02 5.239516810885877e+02 + 5.225870124465707e+02 5.212233512454725e+02 5.198607025166908e+02 5.184990712931668e+02 5.171384626093851e+02 + 5.157788815013741e+02 5.144203330067055e+02 5.130628221644946e+02 5.117063540154008e+02 5.103509336016263e+02 + 5.089965659669175e+02 5.076432561565640e+02 5.062910092173990e+02 5.049398301977998e+02 5.035897241476866e+02 + 5.022406961185235e+02 5.008927511633182e+02 4.995458943366220e+02 4.982001306945292e+02 4.968554652946787e+02 + 4.955119031962524e+02 4.941694494599757e+02 4.928281091481178e+02 4.914878873244913e+02 4.901487890544524e+02 + 4.888108194049014e+02 4.874739834442815e+02 4.861382862425793e+02 4.848037328713260e+02 4.834703284035954e+02 + 4.821380779140055e+02 4.808069864787175e+02 4.794770591754360e+02 4.781483010834104e+02 4.768207172834317e+02 + 4.754943128578365e+02 4.741690928905032e+02 4.728450624668552e+02 4.715222266738587e+02 4.702005906000235e+02 + 4.688801593354034e+02 4.675609379715956e+02 4.662429316017405e+02 4.649261453205227e+02 4.636105842241698e+02 + 4.622962534104534e+02 4.609831579786886e+02 4.596713030297340e+02 4.583606936659914e+02 4.570513349914071e+02 + 4.557432321114703e+02 4.544363901332138e+02 4.531308141652141e+02 4.518265093175915e+02 4.505234807020092e+02 + 4.492217334316751e+02 4.479212726213398e+02 4.466221033872973e+02 4.453242308473862e+02 4.440276601209875e+02 + 4.427323963290266e+02 4.414384445939725e+02 4.401458100398370e+02 4.388544977921764e+02 4.375645129780900e+02 + 4.362758607262207e+02 4.349885461667554e+02 4.337025744314242e+02 4.324179506535007e+02 4.311346799678025e+02 + 4.298527675106906e+02 4.285722184200691e+02 4.272930378353866e+02 4.260152308976346e+02 4.247388027493482e+02 + 4.234637585346064e+02 4.221901033990317e+02 4.209178424897899e+02 4.196469809555908e+02 4.183775239466873e+02 + 4.171094766148764e+02 4.158428441134982e+02 4.145776315974367e+02 4.133138442231195e+02 4.120514871485177e+02 + 4.107905655331455e+02 4.095310845380616e+02 4.082730493258674e+02 4.070164650607085e+02 4.057613369082738e+02 + 4.045076700357962e+02 4.032554696120511e+02 4.020047408073589e+02 4.007554887935824e+02 3.995077187441286e+02 + 3.982614358339480e+02 3.970166452395346e+02 3.957733521389259e+02 3.945315617117033e+02 3.932912791389912e+02 + 3.920525096034583e+02 3.908152582893162e+02 3.895795303823206e+02 3.883453310697706e+02 3.871126655405087e+02 + 3.858815389849212e+02 3.846519565949380e+02 3.834239235640323e+02 3.821974450872211e+02 3.809725263610652e+02 + 3.797491725836686e+02 3.785273889546788e+02 3.773071806752873e+02 3.760885529482291e+02 3.748715109777822e+02 + 3.736560599697692e+02 3.724422051315553e+02 3.712299516720498e+02 3.700193048017055e+02 3.688102697325187e+02 + 3.676028516780295e+02 3.663970558533210e+02 3.651928874750207e+02 3.639903517612993e+02 3.627894539318706e+02 + 3.615901992079928e+02 3.603925928124674e+02 3.591966399696389e+02 3.580023459053963e+02 3.568097158471716e+02 + 3.556187550239405e+02 3.544294686662223e+02 3.532418620060801e+02 3.520559402771199e+02 3.508717087144923e+02 + 3.496891725548904e+02 3.485083370365518e+02 3.473292073992571e+02 3.461517888843309e+02 3.449760867346407e+02 + 3.438021061945983e+02 3.426298525101589e+02 3.414593309288210e+02 3.402905466996269e+02 3.391235050731623e+02 + 3.379582113015570e+02 3.367946706384836e+02 3.356328883391590e+02 3.344728696603431e+02 3.333146198603399e+02 + 3.321581441989965e+02 3.310034479377038e+02 3.298505363393963e+02 3.286994146685523e+02 3.275500881911931e+02 + 3.264025621748842e+02 3.252568418887342e+02 3.241129326033955e+02 3.229708395910641e+02 3.218305681254797e+02 + 3.206921234819250e+02 3.195555109372272e+02 3.184207357697562e+02 3.172878032594259e+02 3.161567186876940e+02 + 3.150274873375612e+02 3.139001144935722e+02 3.127746054418153e+02 3.116509654699221e+02 3.105291998670680e+02 + 3.094093139239718e+02 3.082913129328962e+02 3.071752021876472e+02 3.060609869835743e+02 3.049486726175709e+02 + 3.038382643880739e+02 3.027297675950632e+02 3.016231875400634e+02 3.005185295261418e+02 2.994157988579094e+02 + 2.983150008415209e+02 2.972161407846750e+02 2.961192239966130e+02 2.950242557881208e+02 2.939312414715272e+02 + 2.928401863607048e+02 2.917510957710699e+02 2.906639750195822e+02 2.895788294247451e+02 2.884956643066055e+02 + 2.874144849867538e+02 2.863352967883243e+02 2.852581050359946e+02 2.841829150559857e+02 2.831097321760628e+02 + 2.820385617255341e+02 2.809694090352515e+02 2.799022794376108e+02 2.788371782665511e+02 2.777741108575549e+02 + 2.767130825476488e+02 2.756540986754025e+02 2.745971645809293e+02 2.735422856058867e+02 2.724894670934750e+02 + 2.714387143884384e+02 2.703900328370648e+02 2.693434277871856e+02 2.682989045881756e+02 2.672564685909533e+02 + 2.662161251479810e+02 2.651778796132642e+02 2.641417373423522e+02 2.631077036923379e+02 2.620757840218578e+02 + 2.610459836910915e+02 2.600183080617631e+02 2.589927624971394e+02 2.579693523620314e+02 2.569480830227931e+02 + 2.559289598473227e+02 2.549119882050614e+02 2.538971734669946e+02 2.528845210056507e+02 2.518740361951020e+02 + 2.508657244109642e+02 2.498595910303967e+02 2.488556414321026e+02 2.478538809963281e+02 2.468543151048638e+02 + 2.458569491410431e+02 2.448617884897432e+02 2.438688385373852e+02 2.428781046719333e+02 2.418895922828956e+02 + 2.409033067613238e+02 2.399192534998131e+02 2.389374378925019e+02 2.379578653350729e+02 2.369805412247519e+02 + 2.360054709603084e+02 2.350326599420553e+02 2.340621135718494e+02 2.330938372530911e+02 2.321278363907239e+02 + 2.311641163912353e+02 2.302026826626565e+02 2.292435406145617e+02 2.282866956580692e+02 2.273321532058407e+02 + 2.263799186720815e+02 2.254299974725404e+02 2.244823950245099e+02 2.235371167468261e+02 2.225941680598685e+02 + 2.216535543855603e+02 2.207152811473682e+02 2.197793537703028e+02 2.188457776809178e+02 2.179145583073106e+02 + 2.169857010791227e+02 2.160592114275385e+02 2.151350947852860e+02 2.142133565866376e+02 2.132940022674083e+02 + 2.123770372649571e+02 2.114624670181867e+02 2.105502969675431e+02 2.096405325550162e+02 2.087331792241393e+02 + 2.078282424199890e+02 2.069257275891860e+02 2.060256401798943e+02 2.051279856418216e+02 2.042327694262190e+02 + 2.033399969858813e+02 2.024496737751469e+02 2.015618052498977e+02 2.006763968675590e+02 1.997934540871004e+02 + 1.989129823690343e+02 1.980349871754169e+02 1.971594739698481e+02 1.962864482174713e+02 1.954159153849736e+02 + 1.945478809405854e+02 1.936823503540812e+02 1.928193290967781e+02 1.919588226415381e+02 1.911008364627658e+02 + 1.902453760364096e+02 1.893924468399617e+02 1.885420543524577e+02 1.876942040544768e+02 1.868489014281417e+02 + 1.860061519571189e+02 1.851659611266184e+02 1.843283344233937e+02 1.834932773357418e+02 1.826607953535034e+02 + 1.818308939680629e+02 1.810035786723481e+02 1.801788549608304e+02 1.793567283295249e+02 1.785372042759901e+02 + 1.777202882993282e+02 1.769059859001850e+02 1.760943025807497e+02 1.752852438447554e+02 1.744788151974785e+02 + 1.736750221457390e+02 1.728738701979007e+02 1.720753648638706e+02 1.712795116550998e+02 1.704863160845825e+02 + 1.696957836668566e+02 1.689079199180039e+02 1.681227303556493e+02 1.673402204989617e+02 1.665603958686532e+02 + 1.657832619869799e+02 1.650088243777409e+02 1.642370885662795e+02 1.634680600794823e+02 1.627017444457793e+02 + 1.619381471951445e+02 1.611772738590951e+02 1.604191299706921e+02 1.596637210645399e+02 1.589110526767867e+02 + 1.581611303451241e+02 1.574139596087874e+02 1.566695460085554e+02 1.559278950867503e+02 1.551890123872385e+02 + 1.544529034554292e+02 1.537195738382757e+02 1.529890290842748e+02 1.522612747434666e+02 1.515363163674351e+02 + 1.508141595093076e+02 1.500948097237555e+02 1.493782725669932e+02 1.486645535967789e+02 1.479536583724143e+02 + 1.472455924547449e+02 1.465403614061596e+02 1.458379707905909e+02 1.451384261735148e+02 1.444417331219514e+02 + 1.437478972044633e+02 1.430569239911578e+02 1.423688190536853e+02 1.416835879652396e+02 1.410012363005585e+02 + 1.403217696359229e+02 1.396451935491577e+02 1.389715136196312e+02 1.383007354282553e+02 1.376328645574854e+02 + 1.369679065913208e+02 1.363058671153038e+02 1.356467517165207e+02 1.349905659836014e+02 1.343373155067194e+02 + 1.336870058775913e+02 1.330396426894780e+02 1.323952315371832e+02 1.317537780170550e+02 1.311152877269845e+02 + 1.304797662664065e+02 1.298472192362996e+02 1.292176522391855e+02 1.285910708791301e+02 1.279674807617425e+02 + 1.273468874941753e+02 1.267292966851250e+02 1.261147139448316e+02 1.255031448850783e+02 1.248945951191923e+02 + 1.242890702620443e+02 1.236865759300485e+02 1.230871177411627e+02 1.224907013148884e+02 1.218973322722703e+02 + 1.213070162358971e+02 1.207197588299010e+02 1.201355656799576e+02 1.195544424132864e+02 1.189763946586499e+02 + 1.184014280463548e+02 1.178295482082510e+02 1.172607607777323e+02 1.166950713897357e+02 1.161324856807421e+02 + 1.155730092887757e+02 1.150166478534045e+02 1.144634070157400e+02 1.139132924184372e+02 1.133663097056950e+02 + 1.128224645232555e+02 1.122817625184044e+02 1.117442093399712e+02 1.112098106383290e+02 1.106785720653942e+02 + 1.101504843345202e+02 1.096253193854976e+02 1.091027814759659e+02 1.085828903190926e+02 1.080656662057070e+02 + 1.075510744401853e+02 1.070391017583160e+02 1.065297369211215e+02 1.060229642403793e+02 1.055187689946627e+02 + 1.050171373101604e+02 1.045180558156006e+02 1.040215103049707e+02 1.035274865113781e+02 1.030359706887152e+02 + 1.025469492169604e+02 1.020604083357866e+02 1.015763340040288e+02 1.010947131078929e+02 1.006155327791835e+02 + 1.001387792631148e+02 9.966443911893010e+01 9.919249927205091e+01 9.872294669690289e+01 9.825576811144268e+01 + 9.779095024426459e+01 9.732848086108395e+01 9.686834738339628e+01 9.641053663288847e+01 9.595503591883143e+01 + 9.550183276437639e+01 9.505091470489599e+01 9.460226894357737e+01 9.415588307372171e+01 9.371174549820027e+01 + 9.326984390100915e+01 9.283016578095182e+01 9.239269910989660e+01 9.195743199867270e+01 9.152435246657959e+01 + 9.109344822825337e+01 9.066470776170968e+01 9.023811990175319e+01 8.981367265385576e+01 8.939135422700863e+01 + 8.897115319588202e+01 8.855305819940260e+01 8.813705766268812e+01 8.772313993524557e+01 8.731129428898021e+01 + 8.690150981214184e+01 8.649377498492467e+01 8.608807868460502e+01 8.568441000539183e+01 8.528275807208179e+01 + 8.488311171021131e+01 8.448546000255536e+01 8.408979283578468e+01 8.369609949978657e+01 8.330436902264381e+01 + 8.291459088961614e+01 8.252675470341519e+01 8.214085000107356e+01 8.175686603719873e+01 8.137479266933553e+01 + 8.099462018292702e+01 8.061633811896954e+01 8.023993612969721e+01 7.986540422509246e+01 7.949273245617202e+01 + 7.912191071864751e+01 7.875292880591886e+01 7.838577728963824e+01 7.802044667908689e+01 7.765692688210476e+01 + 7.729520814701189e+01 7.693528093921003e+01 7.657713574044320e+01 7.622076279877933e+01 7.586615250876412e+01 + 7.551329599462582e+01 7.516218394284439e+01 7.481280673973237e+01 7.446515517211270e+01 7.411922012543234e+01 + 7.377499243991551e+01 7.343246273248482e+01 7.309162206375170e+01 7.275246194060588e+01 7.241497325488510e+01 + 7.207914691168762e+01 7.174497413637995e+01 7.141244624067238e+01 7.108155440657860e+01 7.075228964021176e+01 + 7.042464364044737e+01 7.009860816502822e+01 6.977417437950896e+01 6.945133371117183e+01 6.913007780419414e+01 + 6.881039831641085e+01 6.849228672098478e+01 6.817573455985929e+01 6.786073404036127e+01 6.754727706019318e+01 + 6.723535518365489e+01 6.692496029976250e+01 6.661608442214438e+01 6.630871955818391e+01 6.600285747074972e+01 + 6.569849025826812e+01 6.539561050984807e+01 6.509421028016476e+01 6.479428156422156e+01 6.449581665898590e+01 + 6.419880794007263e+01 6.390324769379086e+01 6.360912802573969e+01 6.331644161216560e+01 6.302518126952705e+01 + 6.273533924838438e+01 6.244690800283556e+01 6.215988021335375e+01 6.187424856554645e+01 6.159000558852496e+01 + 6.130714382209544e+01 6.102565642873360e+01 6.074553634647369e+01 6.046677613965124e+01 6.018936867893675e+01 + 5.991330696615304e+01 5.963858400265185e+01 5.936519255461710e+01 5.909312563142009e+01 5.882237675846172e+01 + 5.855293899151076e+01 5.828480526925385e+01 5.801796883717194e+01 5.775242299813667e+01 5.748816098906929e+01 + 5.722517588172157e+01 5.696346118973321e+01 5.670301063052477e+01 5.644381744585571e+01 5.618587497447161e+01 + 5.592917675378749e+01 5.567371639288440e+01 5.541948735564524e+01 5.516648303666721e+01 5.491469740133566e+01 + 5.466412430128952e+01 5.441475721341882e+01 5.416658984866251e+01 5.391961604526729e+01 5.367382965707854e+01 + 5.342922435049869e+01 5.318579394824101e+01 5.294353276046760e+01 5.270243471566913e+01 5.246249358126801e+01 + 5.222370341980431e+01 5.198605834991378e+01 5.174955243603662e+01 5.151417956992881e+01 5.127993401538280e+01 + 5.104681029539683e+01 5.081480246751264e+01 5.058390465007635e+01 5.035411117607305e+01 5.012541641928832e+01 + 4.989781463692880e+01 4.967129999443014e+01 4.944586717469857e+01 4.922151081792142e+01 4.899822516393252e+01 + 4.877600466591702e+01 4.855484391176263e+01 4.833473749525371e+01 4.811567985888949e+01 4.789766553100244e+01 + 4.768068948486052e+01 4.746474643299185e+01 4.724983089968822e+01 4.703593761581940e+01 4.682306140175855e+01 + 4.661119706938157e+01 4.640033923440899e+01 4.619048280117971e+01 4.598162297433280e+01 4.577375454810339e+01 + 4.556687232031752e+01 4.536097129194708e+01 4.515604651624491e+01 4.495209295916556e+01 4.474910546848848e+01 + 4.454707932343867e+01 4.434600983627007e+01 4.414589194663536e+01 4.394672075425581e+01 4.374849149110094e+01 + 4.355119939554362e+01 4.335483958155968e+01 4.315940720272008e+01 4.296489783321342e+01 4.277130684141869e+01 + 4.257862938067940e+01 4.238686082011235e+01 4.219599659307687e+01 4.200603211268383e+01 4.181696265307154e+01 + 4.162878369849639e+01 4.144149102922540e+01 4.125508008000694e+01 4.106954625154178e+01 4.088488514080404e+01 + 4.070109237453877e+01 4.051816351991027e+01 4.033609404369983e+01 4.015487975529847e+01 3.997451654390139e+01 + 3.979499995457292e+01 3.961632565249730e+01 3.943848943565658e+01 3.926148710146721e+01 3.908531435163689e+01 + 3.890996689581685e+01 3.873544082272831e+01 3.856173207783515e+01 3.838883637414560e+01 3.821674961156019e+01 + 3.804546776546066e+01 3.787498680517137e+01 3.770530255859592e+01 3.753641100849845e+01 3.736830845518836e+01 + 3.720099088344971e+01 3.703445420945200e+01 3.686869456603723e+01 3.670370808841574e+01 3.653949085950763e+01 + 3.637603888796111e+01 3.621334844811717e+01 3.605141592615973e+01 3.589023740445852e+01 3.572980904042850e+01 + 3.557012712196481e+01 3.541118795282225e+01 3.525298774403768e+01 3.509552267323749e+01 3.493878928773343e+01 + 3.478278404343990e+01 3.462750313614663e+01 3.447294293878365e+01 3.431909990161546e+01 3.416597046087814e+01 + 3.401355094900445e+01 3.386183779648810e+01 3.371082772101448e+01 3.356051721064496e+01 3.341090265530899e+01 + 3.326198061398263e+01 3.311374767636361e+01 3.296620040125966e+01 3.281933525310492e+01 3.267314891432770e+01 + 3.252763821351709e+01 3.238279969616838e+01 3.223862995512887e+01 3.209512571750849e+01 3.195228370249094e+01 + 3.181010057023420e+01 3.166857295105629e+01 3.152769775432829e+01 3.138747186368265e+01 3.124789194582367e+01 + 3.110895478177638e+01 3.097065722333928e+01 3.083299612203396e+01 3.069596823521478e+01 3.055957038379009e+01 + 3.042379968490992e+01 3.028865305190764e+01 3.015412726448298e+01 3.002021927954454e+01 2.988692608783410e+01 + 2.975424465393443e+01 2.962217185358958e+01 2.949070472525562e+01 2.935984046863818e+01 2.922957605244617e+01 + 2.909990844798608e+01 2.897083474125067e+01 2.884235205411202e+01 2.871445744621140e+01 2.858714789194334e+01 + 2.846042066311678e+01 2.833427304434733e+01 2.820870204788112e+01 2.808370481822039e+01 2.795927858955916e+01 + 2.783542056310479e+01 2.771212788710439e+01 2.758939774558937e+01 2.746722754519704e+01 2.734561457842300e+01 + 2.722455602005491e+01 2.710404915757552e+01 2.698409131619408e+01 2.686467981339180e+01 2.674581188504884e+01 + 2.662748489299116e+01 2.650969637323688e+01 2.639244364869198e+01 2.627572402574995e+01 2.615953493480668e+01 + 2.604387380499337e+01 2.592873803144385e+01 2.581412497154068e+01 2.570003216993883e+01 2.558645721031992e+01 + 2.547339748309297e+01 2.536085044648649e+01 2.524881363723968e+01 2.513728460374055e+01 2.502626081142699e+01 + 2.491573971820056e+01 2.480571905896494e+01 2.469619646153339e+01 2.458716938319504e+01 2.447863542000312e+01 + 2.437059221927192e+01 2.426303741725681e+01 2.415596854366440e+01 2.404938323139217e+01 2.394327933047775e+01 + 2.383765447837906e+01 2.373250626120992e+01 2.362783239922733e+01 2.352363062421024e+01 2.341989863680159e+01 + 2.331663407933185e+01 2.321383475989216e+01 2.311149855755017e+01 2.300962316438995e+01 2.290820631357202e+01 + 2.280724581327735e+01 2.270673948178020e+01 2.260668508940155e+01 2.250708039173678e+01 2.240792334786956e+01 + 2.230921186720802e+01 2.221094371595302e+01 2.211311674173436e+01 2.201572884123411e+01 2.191877792312015e+01 + 2.182226182065280e+01 2.172617842216956e+01 2.163052579410284e+01 2.153530186271772e+01 2.144050449256298e+01 + 2.134613164544727e+01 2.125218130870039e+01 2.115865145244560e+01 2.106553997668644e+01 2.097284492087666e+01 + 2.088056441996010e+01 2.078869643251129e+01 2.069723893213309e+01 2.060618996606658e+01 2.051554761096601e+01 + 2.042530989859754e+01 2.033547481777502e+01 2.024604054022628e+01 2.015700522393599e+01 2.006836688994228e+01 + 1.998012363072147e+01 1.989227358045817e+01 1.980481486918973e+01 1.971774557717947e+01 1.963106382303616e+01 + 1.954476789103884e+01 1.945885594703988e+01 1.937332608222908e+01 1.928817649453870e+01 1.920340539662878e+01 + 1.911901098077130e+01 1.903499138773951e+01 1.895134486255558e+01 1.886806974988112e+01 1.878516424109755e+01 + 1.870262653275597e+01 1.862045489823334e+01 1.853864761644500e+01 1.845720293609644e+01 1.837611907561623e+01 + 1.829539441141390e+01 1.821502731690405e+01 1.813501600648008e+01 1.805535878852776e+01 1.797605402680784e+01 + 1.789710004813803e+01 1.781849513976010e+01 1.774023761822760e+01 1.766232596769640e+01 1.758475857461898e+01 + 1.750753373031707e+01 1.743064982368309e+01 1.735410526816905e+01 1.727789846424588e+01 1.720202775432962e+01 + 1.712649156263800e+01 1.705128842771503e+01 1.697641675133914e+01 1.690187492053174e+01 1.682766139576636e+01 + 1.675377465125957e+01 1.668021313537254e+01 1.660697525047803e+01 1.653405953620346e+01 1.646146456303875e+01 + 1.638918876353225e+01 1.631723061252691e+01 1.624558863577738e+01 1.617426136715184e+01 1.610324729276991e+01 + 1.603254489420701e+01 1.596215281065743e+01 1.589206962268447e+01 1.582229381597797e+01 1.575282394813798e+01 + 1.568365860435203e+01 1.561479636559848e+01 1.554623575841051e+01 1.547797536749664e+01 1.541001389568697e+01 + 1.534234992945672e+01 1.527498202635700e+01 1.520790881496337e+01 1.514112893627654e+01 1.507464101206718e+01 + 1.500844361854594e+01 1.494253544400039e+01 1.487691522461213e+01 1.481158156982783e+01 1.474653311471545e+01 + 1.468176854391490e+01 1.461728655322583e+01 1.455308580005108e+01 1.448916492494823e+01 1.442552270891503e+01 + 1.436215789907635e+01 1.429906914560298e+01 1.423625515786986e+01 1.417371467503432e+01 1.411144643634281e+01 + 1.404944913182382e+01 1.398772148936426e+01 1.392626235467004e+01 1.386507047757601e+01 1.380414456703780e+01 + 1.374348339923097e+01 1.368308576360786e+01 1.362295043539383e+01 1.356307614411792e+01 1.350346171009224e+01 + 1.344410601461897e+01 1.338500782259274e+01 1.332616591200318e+01 1.326757911048049e+01 1.320924625504148e+01 + 1.315116615215319e+01 1.309333758418828e+01 1.303575945915385e+01 1.297843067064863e+01 1.292135001185642e+01 + 1.286451632934388e+01 1.280792850075226e+01 1.275158540067995e+01 1.269548586414703e+01 1.263962874841400e+01 + 1.258401302186647e+01 1.252863758019894e+01 1.247350127006052e+01 1.241860299544399e+01 1.236394167532885e+01 + 1.230951622025856e+01 1.225532549825102e+01 1.220136844757296e+01 1.214764407513537e+01 1.209415128431592e+01 + 1.204088897936275e+01 1.198785611322907e+01 1.193505164847797e+01 1.188247452422181e+01 1.183012365035161e+01 + 1.177799804372636e+01 1.172609672645034e+01 1.167441862559045e+01 1.162296270435431e+01 1.157172795813644e+01 + 1.152071338824009e+01 1.146991795771504e+01 1.141934063624516e+01 1.136898050295155e+01 1.131883658051165e+01 + 1.126890783457083e+01 1.121919328583311e+01 1.116969196974251e+01 1.112040291453270e+01 1.107132511138846e+01 + 1.102245760367597e+01 1.097379950683186e+01 1.092534984778681e+01 1.087710764406476e+01 1.082907196010627e+01 + 1.078124186863284e+01 1.073361642501848e+01 1.068619465441603e+01 1.063897567074718e+01 1.059195860734133e+01 + 1.054514250814830e+01 1.049852644360809e+01 1.045210951602862e+01 1.040589083229813e+01 1.035986946911022e+01 + 1.031404450080543e+01 1.026841510170119e+01 1.022298040707346e+01 1.017773949095798e+01 1.013269147478631e+01 + 1.008783549702620e+01 1.004317069189082e+01 9.998696157456914e+00 9.954411030186206e+00 9.910314523784715e+00 + 9.866405774945729e+00 9.822683900561229e+00 9.779148062474189e+00 9.735797433007823e+00 9.692631171490490e+00 + 9.649648402951970e+00 9.606848328743531e+00 9.564230182014787e+00 9.521793107635142e+00 9.479536270440141e+00 + 9.437458869806633e+00 9.395560106559989e+00 9.353839157926716e+00 9.312295192835592e+00 9.270927467731591e+00 + 9.229735216231479e+00 9.188717610212938e+00 9.147873860369382e+00 9.107203196336844e+00 9.066704846764596e+00 + 9.026378005702853e+00 8.986221892357717e+00 8.946235805206038e+00 8.906418978693665e+00 8.866770619316361e+00 + 8.827289975974383e+00 8.787976307390357e+00 8.748828863538764e+00 8.709846863139358e+00 8.671029583554503e+00 + 8.632376341244221e+00 8.593886376949055e+00 8.555558939921891e+00 8.517393311170933e+00 8.479388776756116e+00 + 8.441544603229096e+00 8.403860042243403e+00 8.366334424744339e+00 8.328967072292842e+00 8.291757243124138e+00 + 8.254704227472720e+00 8.217807335382002e+00 8.181065876905594e+00 8.144479133106664e+00 8.108046399433587e+00 + 8.071767047639053e+00 8.035640397926882e+00 7.999665736506032e+00 7.963842390434660e+00 7.928169696145141e+00 + 7.892646983285742e+00 7.857273552651162e+00 7.822048750599857e+00 7.786971968025827e+00 7.752042529333232e+00 + 7.717259758863888e+00 7.682623011133142e+00 7.648131647347260e+00 7.613785013617140e+00 7.579582436948184e+00 + 7.545523312250220e+00 7.511607037617057e+00 7.477832951167176e+00 7.444200413093294e+00 7.410708803334905e+00 + 7.377357505498556e+00 7.344145878673218e+00 7.311073286547245e+00 7.278139163173499e+00 7.245342906306997e+00 + 7.212683876663248e+00 7.180161467446147e+00 7.147775082852699e+00 7.115524124234772e+00 7.083407965702390e+00 + 7.051426016132217e+00 7.019577732801474e+00 6.987862512275252e+00 6.956279745475502e+00 6.924828855941318e+00 + 6.893509269882150e+00 6.862320401692200e+00 6.831261647888545e+00 6.800332460884749e+00 6.769532305211046e+00 + 6.738860589806862e+00 6.708316738463165e+00 6.677900193977888e+00 6.647610403615440e+00 6.617446795946176e+00 + 6.587408797932629e+00 6.557495898186097e+00 6.527707560796614e+00 6.498043211862364e+00 6.468502306113241e+00 + 6.439084309299234e+00 6.409788685242900e+00 6.380614873655190e+00 6.351562339061567e+00 6.322630595895343e+00 + 6.293819108127046e+00 6.265127326375664e+00 6.236554729526047e+00 6.208100805116588e+00 6.179765032202197e+00 + 6.151546864740690e+00 6.123445807150094e+00 6.095461385258917e+00 6.067593067877628e+00 6.039840335121551e+00 + 6.012202688508743e+00 5.984679633169969e+00 5.957270656961056e+00 5.929975240292937e+00 5.902792923627279e+00 + 5.875723232013562e+00 5.848765648702115e+00 5.821919682493143e+00 5.795184854142510e+00 5.768560683026402e+00 + 5.742046666390822e+00 5.715642318587924e+00 5.689347205919744e+00 5.663160851223163e+00 5.637082758311135e+00 + 5.611112458697719e+00 5.585249491519008e+00 5.559493390584049e+00 5.533843667789125e+00 5.508299872311603e+00 + 5.482861578646651e+00 5.457528314665947e+00 5.432299611523626e+00 5.407175018586152e+00 5.382154093094761e+00 + 5.357236378022760e+00 5.332421403106363e+00 5.307708752059064e+00 5.283098003376689e+00 5.258588694187007e+00 + 5.234180379291222e+00 5.209872626694981e+00 5.185665008050016e+00 5.161557074183171e+00 5.137548383980142e+00 + 5.113638545797982e+00 5.089827134282968e+00 5.066113702430728e+00 5.042497830741953e+00 5.018979105007048e+00 + 4.995557105455633e+00 4.972231392615168e+00 4.949001558388967e+00 4.925867224885915e+00 4.902827967986653e+00 + 4.879883363679411e+00 4.857033008673309e+00 4.834276503129009e+00 4.811613436797770e+00 4.789043387081744e+00 + 4.766565977795326e+00 4.744180833573695e+00 4.721887536130310e+00 4.699685684376157e+00 4.677574891583497e+00 + 4.655554772271826e+00 4.633624922898647e+00 4.611784942911348e+00 4.590034481232405e+00 4.568373160121153e+00 + 4.546800575450856e+00 4.525316347519302e+00 4.503920103923871e+00 4.482611469298424e+00 4.461390048788094e+00 + 4.440255471271009e+00 4.419207398665950e+00 4.398245451269402e+00 4.377369245425554e+00 4.356578419383048e+00 + 4.335872613273037e+00 4.315251459075552e+00 4.294714576337845e+00 4.274261622204341e+00 4.253892261314030e+00 + 4.233606119889290e+00 4.213402835603544e+00 4.193282059746365e+00 4.173243445650493e+00 4.153286631923412e+00 + 4.133411255497697e+00 4.113616998652003e+00 4.093903524786619e+00 4.074270469191258e+00 4.054717490515994e+00 + 4.035244253601178e+00 4.015850419023907e+00 3.996535633568783e+00 3.977299560905666e+00 3.958141896495164e+00 + 3.939062301025637e+00 3.920060427447142e+00 3.901135950094528e+00 3.882288544897898e+00 3.863517881118590e+00 + 3.844823615448907e+00 3.826205437051391e+00 3.807663047653544e+00 3.789196110563124e+00 3.770804297342049e+00 + 3.752487294212357e+00 3.734244789018890e+00 3.716076457976182e+00 3.697981972490954e+00 3.679961043694115e+00 + 3.662013372248035e+00 3.644138631063968e+00 3.626336509775109e+00 3.608606705542072e+00 3.590948914412318e+00 + 3.573362819793663e+00 3.555848115085657e+00 3.538404523614169e+00 3.521031745026515e+00 3.503729467883798e+00 + 3.486497394134707e+00 3.469335231734055e+00 3.452242686325544e+00 3.435219448952052e+00 3.418265234650198e+00 + 3.401379774604279e+00 3.384562769850576e+00 3.367813923930398e+00 3.351132951883403e+00 3.334519571031865e+00 + 3.317973491801103e+00 3.301494419647167e+00 3.285082090084510e+00 3.268736234671993e+00 3.252456560777042e+00 + 3.236242786971220e+00 3.220094639575606e+00 3.204011846234647e+00 3.187994121490988e+00 3.172041185626448e+00 + 3.156152791161071e+00 3.140328668842820e+00 3.124568535295174e+00 3.108872124034968e+00 3.093239171871656e+00 + 3.077669412161458e+00 3.062162565910707e+00 3.046718374098970e+00 3.031336596904380e+00 3.016016966139392e+00 + 3.000759212810465e+00 2.985563079528153e+00 2.970428312130104e+00 2.955354650145179e+00 2.940341825152254e+00 + 2.925389598488303e+00 2.910497731503551e+00 2.895665957526404e+00 2.880894022713473e+00 2.866181682137055e+00 + 2.851528688498591e+00 2.836934785005289e+00 2.822399718118186e+00 2.807923264019232e+00 2.793505182293368e+00 + 2.779145216423770e+00 2.764843124903896e+00 2.750598669795774e+00 2.736411610868753e+00 2.722281698431688e+00 + 2.708208697067331e+00 2.694192390113966e+00 2.680232535961204e+00 2.666328890540199e+00 2.652481222662398e+00 + 2.638689303226956e+00 2.624952898002155e+00 2.611271764144950e+00 2.597645683492627e+00 2.584074442444535e+00 + 2.570557801667266e+00 2.557095530257868e+00 2.543687406599445e+00 2.530333209423413e+00 2.517032707379746e+00 + 2.503785668122807e+00 2.490591889861845e+00 2.477451158950901e+00 2.464363243138197e+00 2.451327922049569e+00 + 2.438344980862380e+00 2.425414204994132e+00 2.412535368413293e+00 2.399708255484590e+00 2.386932671907132e+00 + 2.374208401602455e+00 2.361535223009603e+00 2.348912926727443e+00 2.336341305706971e+00 2.323820149408004e+00 + 2.311349238873846e+00 2.298928374328811e+00 2.286557363678248e+00 2.274235992966902e+00 2.261964052364815e+00 + 2.249741340335214e+00 2.237567658215990e+00 2.225442798573621e+00 2.213366549457367e+00 2.201338726388740e+00 + 2.189359138707274e+00 2.177427577694549e+00 2.165543843493499e+00 2.153707741170415e+00 2.141919076444355e+00 + 2.130177647034976e+00 2.118483256831743e+00 2.106835728234196e+00 2.095234867960482e+00 2.083680476325080e+00 + 2.072172364176171e+00 2.060710343839133e+00 2.049294224696878e+00 2.037923808395575e+00 2.026598913260298e+00 + 2.015319367985618e+00 2.004084979196668e+00 1.992895556108562e+00 1.981750916950703e+00 1.970650881000152e+00 + 1.959595261684839e+00 1.948583868145923e+00 1.937616532016987e+00 1.926693081878526e+00 1.915813328267264e+00 + 1.904977090405082e+00 1.894184192977273e+00 1.883434460875044e+00 1.872727710477953e+00 1.862063762090873e+00 + 1.851442457083682e+00 1.840863622251705e+00 1.830327074965862e+00 1.819832643502570e+00 1.809380158797907e+00 + 1.798969449793061e+00 1.788600336572885e+00 1.778272652771865e+00 1.767986244795942e+00 1.757740938619203e+00 + 1.747536560606076e+00 1.737372946411540e+00 1.727249932639099e+00 1.717167351154095e+00 1.707125028541288e+00 + 1.697122811212298e+00 1.687160545804055e+00 1.677238060829077e+00 1.667355192130723e+00 1.657511781312863e+00 + 1.647707669880958e+00 1.637942692337234e+00 1.628216684763444e+00 1.618529503053863e+00 1.608880992276723e+00 + 1.599270986915247e+00 1.589699330823691e+00 1.580165870897195e+00 1.570670452975510e+00 1.561212914561866e+00 + 1.551793103249197e+00 1.542410880472349e+00 1.533066090216831e+00 1.523758574579748e+00 1.514488184288800e+00 + 1.505254771462676e+00 1.496058184704016e+00 1.486898266759950e+00 1.477774877044576e+00 1.468687878023066e+00 + 1.459637114930725e+00 1.450622438289068e+00 1.441643704572125e+00 1.432700770639202e+00 1.423793487269355e+00 + 1.414921704769478e+00 1.406085292220042e+00 1.397284110913275e+00 1.388518010515092e+00 1.379786849127615e+00 + 1.371090488107240e+00 1.362428788219066e+00 1.353801602746353e+00 1.345208792137069e+00 1.336650231141558e+00 + 1.328125779708811e+00 1.319635294146069e+00 1.311178639017341e+00 1.302755680403749e+00 1.294366281732825e+00 + 1.286010300246468e+00 1.277687607130681e+00 1.269398079017509e+00 1.261141576506052e+00 1.252917963373013e+00 + 1.244727109229262e+00 1.236568884548108e+00 1.228443154841189e+00 1.220349783647821e+00 1.212288651549746e+00 + 1.204259634287000e+00 1.196262595500517e+00 1.188297406122070e+00 1.180363940507803e+00 1.172462072687314e+00 + 1.164591670206239e+00 1.156752605274376e+00 1.148944764287503e+00 1.141168021685895e+00 1.133422246839356e+00 + 1.125707316556084e+00 1.118023109341937e+00 1.110369501923575e+00 1.102746365022667e+00 1.095153580538906e+00 + 1.087591037394418e+00 1.080058609806265e+00 1.072556173728377e+00 1.065083611042832e+00 1.057640804167975e+00 + 1.050227631677888e+00 1.042843969448370e+00 1.035489708218281e+00 1.028164736497249e+00 1.020868930712798e+00 + 1.013602173363602e+00 1.006364350528145e+00 9.991553480860069e-01 9.919750464549014e-01 9.848233287198007e-01 + 9.777000916381701e-01 9.706052224312447e-01 9.635386022157533e-01 9.565001191688937e-01 9.494896630661879e-01 + 9.425071223228538e-01 9.355523797940184e-01 9.286253271866921e-01 9.217258644183214e-01 9.148538781303724e-01 + 9.080092551050607e-01 9.011918879859632e-01 8.944016703005543e-01 8.876384924746002e-01 8.809022413584221e-01 + 8.741928168976413e-01 8.675101190938330e-01 8.608540359442419e-01 8.542244603473701e-01 8.476212889430066e-01 + 8.410444181391276e-01 8.344937399710189e-01 8.279691476350027e-01 8.214705470141707e-01 8.149978368018493e-01 + 8.085509088588196e-01 8.021296614287111e-01 7.957339944800463e-01 7.893638070383275e-01 7.830189931350516e-01 + 7.766994532966268e-01 7.704050967403675e-01 7.641358215802615e-01 7.578915247022724e-01 7.516721083807270e-01 + 7.454774759379389e-01 7.393075284143857e-01 7.331621629407183e-01 7.270412875750237e-01 7.209448123528730e-01 + 7.148726361079928e-01 7.088246610576617e-01 7.028007931997213e-01 6.968009387204053e-01 6.908250000358214e-01 + 6.848728793751606e-01 6.789444908271167e-01 6.730397435251165e-01 6.671585392499849e-01 6.613007849024644e-01 + 6.554663896318030e-01 6.496552624588109e-01 6.438673070778183e-01 6.381024319556428e-01 6.323605552121262e-01 + 6.266415850605696e-01 6.209454272475601e-01 6.152719929073242e-01 6.096211942955035e-01 6.039929419697414e-01 + 5.983871423673978e-01 5.928037109278776e-01 5.872425665727200e-01 5.817036179262789e-01 5.761867757580472e-01 + 5.706919545755328e-01 5.652190691753797e-01 5.597680312855905e-01 5.543387515608681e-01 5.489311514266204e-01 + 5.435451491959484e-01 5.381806555529779e-01 5.328375858091706e-01 5.275158573424954e-01 5.222153871968650e-01 + 5.169360885007255e-01 5.116778775087658e-01 5.064406794925096e-01 5.012244118255510e-01 4.960289886382637e-01 + 4.908543290552675e-01 4.857003532629381e-01 4.805669801867241e-01 4.754541247133137e-01 4.703617092625736e-01 + 4.652896609026711e-01 4.602378967146020e-01 4.552063350475851e-01 4.501948983226124e-01 4.452035092771810e-01 + 4.402320879227842e-01 4.352805523654864e-01 4.303488309750054e-01 4.254368504386150e-01 4.205445290166767e-01 + 4.156717895856258e-01 4.108185573527897e-01 4.059847567861119e-01 4.011703090912549e-01 3.963751374739253e-01 + 3.915991740467544e-01 3.868423443729578e-01 3.821045699452743e-01 3.773857771630841e-01 3.726858934536713e-01 + 3.680048452743795e-01 3.633425553945757e-01 3.586989523890614e-01 3.540739701811214e-01 3.494675340422360e-01 + 3.448795694018267e-01 3.403100055229290e-01 3.357587720701978e-01 3.312257966625470e-01 3.267110046986084e-01 + 3.222143302305144e-01 3.177357072575733e-01 3.132750617821559e-01 3.088323230437107e-01 3.044074228278458e-01 + 3.000002929514869e-01 2.956108619814004e-01 2.912390591663653e-01 2.868848226223222e-01 2.825480855369588e-01 + 2.782287763584979e-01 2.739268276304007e-01 2.696421732978619e-01 2.653747469077652e-01 2.611244782932083e-01 + 2.568913016367161e-01 2.526751570146955e-01 2.484759769388697e-01 2.442936932048949e-01 2.401282413902519e-01 + 2.359795575701045e-01 2.318475761710866e-01 2.277322290127450e-01 2.236334554284879e-01 2.195511960314929e-01 + 2.154853836729677e-01 2.114359536211432e-01 2.074028437636633e-01 2.033859920182897e-01 1.993853337119912e-01 + 1.954008040589642e-01 1.914323463143237e-01 1.874799002688242e-01 1.835434007181165e-01 1.796227861758036e-01 + 1.757179964922509e-01 1.718289711649378e-01 1.679556465242757e-01 1.640979620393169e-01 1.602558632656972e-01 + 1.564292893436780e-01 1.526181778855338e-01 1.488224700413446e-01 1.450421075715582e-01 1.412770310767497e-01 + 1.375271785489454e-01 1.337924939887067e-01 1.300729236356154e-01 1.263684067750867e-01 1.226788841702678e-01 + 1.190042991249222e-01 1.153445951805052e-01 1.116997137432381e-01 1.080695954417651e-01 1.044541881911586e-01 + 1.008534377603918e-01 9.726728475975084e-02 9.369567294988820e-02 9.013854752144720e-02 8.659585347215112e-02 + 8.306753302147955e-02 7.955353046975124e-02 7.605379621791922e-02 7.256827534889604e-02 6.909691079142652e-02 + 6.563964883225221e-02 6.219643640409570e-02 5.876721959493493e-02 5.535194193553600e-02 5.195055179453398e-02 + 4.856300050562060e-02 4.518923308325209e-02 4.182919528191363e-02 3.848283536820589e-02 3.515010193539807e-02 + 3.183094185890936e-02 2.852530077920949e-02 2.523313079087341e-02 2.195438300307553e-02 1.868900335629075e-02 + 1.543694036357313e-02 1.219814405293583e-02 8.972564385828061e-03 5.760148923624660e-03 2.560846417529306e-03 + -6.253884489496408e-04 -3.798605206001689e-03 -6.958856024607482e-03 -1.010619000899848e-02 -1.324065554473652e-02 + -1.636230159824732e-02 -1.947117958312726e-02 -2.256733711284757e-02 -2.565081832749929e-02 -2.872167302619957e-02 + -3.177995089902724e-02 -3.482569914268617e-02 -3.785896464500105e-02 -4.087979562235380e-02 -4.388824175488684e-02 + -4.688434717766576e-02 -4.986815604286890e-02 -5.283971753775529e-02 -5.579907881824794e-02 -5.874628546589089e-02 + -6.168138307363240e-02 -6.460441923558070e-02 -6.751544105442296e-02 -7.041449003639784e-02 -7.330161087707579e-02 + -7.617685125406765e-02 -7.904025608548425e-02 -8.189186951723537e-02 -8.473173608907363e-02 -8.755990257827875e-02 + -9.037641289395969e-02 -9.318130717201861e-02 -9.597463047763352e-02 -9.875642835115833e-02 -1.015267439140877e-01 + -1.042856199263307e-01 -1.070331001684683e-01 -1.097692300567918e-01 -1.124940502948268e-01 -1.152076007898061e-01 + -1.179099262631479e-01 -1.206010699593113e-01 -1.232810735016665e-01 -1.259499784255051e-01 -1.286078279418341e-01 + -1.312546653333709e-01 -1.338905286984875e-01 -1.365154583874092e-01 -1.391294979538990e-01 -1.417326885345280e-01 + -1.443250704192513e-01 -1.469066841433861e-01 -1.494775722507627e-01 -1.520377752494497e-01 -1.545873297590701e-01 + -1.571262765202916e-01 -1.596546572452540e-01 -1.621725113907878e-01 -1.646798779801165e-01 -1.671767967821347e-01 + -1.696633092874520e-01 -1.721394530811854e-01 -1.746052643091513e-01 -1.770607836101869e-01 -1.795060506428017e-01 + -1.819411034225526e-01 -1.843659798390828e-01 -1.867807191554161e-01 -1.891853611111403e-01 -1.915799407499077e-01 + -1.939644945120454e-01 -1.963390621459183e-01 -1.987036813730624e-01 -2.010583889984393e-01 -2.034032219467188e-01 + -2.057382189127211e-01 -2.080634172465200e-01 -2.103788504106409e-01 -2.126845552585028e-01 -2.149805700057577e-01 + -2.172669307458855e-01 -2.195436731393316e-01 -2.218108333786645e-01 -2.240684493062661e-01 -2.263165556286022e-01 + -2.285551851690127e-01 -2.307843748874083e-01 -2.330041611277884e-01 -2.352145785311434e-01 -2.374156618282909e-01 + -2.396074467707450e-01 -2.417899696732801e-01 -2.439632627554057e-01 -2.461273590292558e-01 -2.482822949571798e-01 + -2.504281050002428e-01 -2.525648226666662e-01 -2.546924818382261e-01 -2.568111176810049e-01 -2.589207645010757e-01 + -2.610214530059819e-01 -2.631132165202481e-01 -2.651960899948890e-01 -2.672701065219724e-01 -2.693352987894519e-01 + -2.713916998229662e-01 -2.734393439668777e-01 -2.754782632038173e-01 -2.775084874639143e-01 -2.795300503441993e-01 + -2.815429852855671e-01 -2.835473240274155e-01 -2.855430981234691e-01 -2.875303400246380e-01 -2.895090831627840e-01 + -2.914793573631382e-01 -2.934411924374482e-01 -2.953946213942734e-01 -2.973396760049649e-01 -2.992763870705049e-01 + -3.012047853752455e-01 -3.031249029054077e-01 -3.050367713048046e-01 -3.069404187491607e-01 -3.088358754333808e-01 + -3.107231733999588e-01 -3.126023429151826e-01 -3.144734138246973e-01 -3.163364162512183e-01 -3.181913814969073e-01 + -3.200383391593082e-01 -3.218773166629695e-01 -3.237083442965246e-01 -3.255314526206347e-01 -3.273466708133588e-01 + -3.291540279174764e-01 -3.309535535062730e-01 -3.327452779044484e-01 -3.345292286746930e-01 -3.363054329977739e-01 + -3.380739209920870e-01 -3.398347217688169e-01 -3.415878634526212e-01 -3.433333743100879e-01 -3.450712833788954e-01 + -3.468016195958206e-01 -3.485244091566739e-01 -3.502396793974815e-01 -3.519474593420066e-01 -3.536477770380763e-01 + -3.553406598299846e-01 -3.570261348354672e-01 -3.587042307855341e-01 -3.603749751839582e-01 -3.620383929731605e-01 + -3.636945116923384e-01 -3.653433594409278e-01 -3.669849628231984e-01 -3.686193482790397e-01 -3.702465427747400e-01 + -3.718665743211436e-01 -3.734794684043725e-01 -3.750852495624684e-01 -3.766839451194457e-01 -3.782755819189342e-01 + -3.798601858648072e-01 -3.814377826321034e-01 -3.830083986549013e-01 -3.845720606417443e-01 -3.861287926090124e-01 + -3.876786193539286e-01 -3.892215675502101e-01 -3.907576628594260e-01 -3.922869303026715e-01 -3.938093947284727e-01 + -3.953250822556230e-01 -3.968340182497304e-01 -3.983362256494206e-01 -3.998317293097848e-01 -4.013205549386248e-01 + -4.028027272117153e-01 -4.042782703087232e-01 -4.057472086115670e-01 -4.072095677082399e-01 -4.086653712889545e-01 + -4.101146418277140e-01 -4.115574040934622e-01 -4.129936826934361e-01 -4.144235014035024e-01 -4.158468836578273e-01 + -4.172638535617268e-01 -4.186744357650895e-01 -4.200786523524958e-01 -4.214765258006608e-01 -4.228680805923657e-01 + -4.242533401481378e-01 -4.256323273241845e-01 -4.270050650780072e-01 -4.283715771591216e-01 -4.297318868367957e-01 + -4.310860152683936e-01 -4.324339850671611e-01 -4.337758197699306e-01 -4.351115419219263e-01 -4.364411736856622e-01 + -4.377647373653272e-01 -4.390822563519974e-01 -4.403937525793140e-01 -4.416992465950099e-01 -4.429987609092939e-01 + -4.442923180804305e-01 -4.455799398898891e-01 -4.468616477876415e-01 -4.481374637930542e-01 -4.494074106490894e-01 + -4.506715085877422e-01 -4.519297779021105e-01 -4.531822412097039e-01 -4.544289201442401e-01 -4.556698355752103e-01 + -4.569050083194456e-01 -4.581344599890250e-01 -4.593582121055255e-01 -4.605762842891920e-01 -4.617886970897419e-01 + -4.629954719556403e-01 -4.641966295426422e-01 -4.653921902577345e-01 -4.665821746143150e-01 -4.677666038635413e-01 + -4.689454981292748e-01 -4.701188761476531e-01 -4.712867586709557e-01 -4.724491664926360e-01 -4.736061192593240e-01 + -4.747576368456714e-01 -4.759037394682022e-01 -4.770444475543998e-01 -4.781797800875144e-01 -4.793097558338887e-01 + -4.804343950164401e-01 -4.815537175042383e-01 -4.826677426390972e-01 -4.837764894228364e-01 -4.848799775883490e-01 + -4.859782270303963e-01 -4.870712557287352e-01 -4.881590823344398e-01 -4.892417265305033e-01 -4.903192072931410e-01 + -4.913915433426016e-01 -4.924587534540600e-01 -4.935208569593936e-01 -4.945778724869024e-01 -4.956298174121960e-01 + -4.966767104426105e-01 -4.977185705977166e-01 -4.987554161795947e-01 -4.997872652579317e-01 -5.008141361357437e-01 + -5.018360477540788e-01 -5.028530175622089e-01 -5.038650625463708e-01 -5.048722015765362e-01 -5.058744527800632e-01 + -5.068718334710337e-01 -5.078643614554021e-01 -5.088520548881869e-01 -5.098349318298798e-01 -5.108130088001350e-01 + -5.117863028619736e-01 -5.127548322161382e-01 -5.137186142245088e-01 -5.146776659499980e-01 -5.156320045833772e-01 + -5.165816478015819e-01 -5.175266128170244e-01 -5.184669156304091e-01 -5.194025733016244e-01 -5.203336032597101e-01 + -5.212600221732120e-01 -5.221818466804444e-01 -5.230990936596679e-01 -5.240117804553392e-01 -5.249199232262068e-01 + -5.258235374392936e-01 -5.267226400387954e-01 -5.276172478389746e-01 -5.285073771019844e-01 -5.293930438910602e-01 + -5.302742646986305e-01 -5.311510563423283e-01 -5.320234339437281e-01 -5.328914129379527e-01 -5.337550101355577e-01 + -5.346142414983102e-01 -5.354691226448078e-01 -5.363196694209366e-01 -5.371658979374595e-01 -5.380078240078261e-01 + -5.388454624615836e-01 -5.396788287704753e-01 -5.405079388378121e-01 -5.413328081929075e-01 -5.421534521210617e-01 + -5.429698859177164e-01 -5.437821254261226e-01 -5.445901856060492e-01 -5.453940806517681e-01 -5.461938261275164e-01 + -5.469894375147514e-01 -5.477809296410460e-01 -5.485683172596564e-01 -5.493516154047422e-01 -5.501308394233321e-01 + -5.509060035978606e-01 -5.516771220917993e-01 -5.524442098036262e-01 -5.532072816062331e-01 -5.539663521228516e-01 + -5.547214355736525e-01 -5.554725467511782e-01 -5.562197004144761e-01 -5.569629099559865e-01 -5.577021895124128e-01 + -5.584375539231472e-01 -5.591690174427206e-01 -5.598965939391384e-01 -5.606202972403660e-01 -5.613401421520022e-01 + -5.620561426054913e-01 -5.627683113219669e-01 -5.634766626491997e-01 -5.641812109417922e-01 -5.648819696019924e-01 + -5.655789522526887e-01 -5.662721727674018e-01 -5.669616451334641e-01 -5.676473824290281e-01 -5.683293976251365e-01 + -5.690077046537543e-01 -5.696823171027902e-01 -5.703532481968968e-01 -5.710205111045815e-01 -5.716841193018837e-01 + -5.723440862989044e-01 -5.730004247377283e-01 -5.736531475408438e-01 -5.743022680808630e-01 -5.749477994635019e-01 + -5.755897545119250e-01 -5.762281459317424e-01 -5.768629872133108e-01 -5.774942912813225e-01 -5.781220698864685e-01 + -5.787463360372200e-01 -5.793671029370097e-01 -5.799843829591812e-01 -5.805981885004621e-01 -5.812085322229668e-01 + -5.818154271777390e-01 -5.824188854500640e-01 -5.830189187855023e-01 -5.836155400127914e-01 -5.842087616519486e-01 + -5.847985957903102e-01 -5.853850545399070e-01 -5.859681502822114e-01 -5.865478954643482e-01 -5.871243015837295e-01 + -5.876973804424807e-01 -5.882671445115567e-01 -5.888336058093040e-01 -5.893967761301214e-01 -5.899566672475657e-01 + -5.905132912554449e-01 -5.910666600004119e-01 -5.916167846344484e-01 -5.921636769312483e-01 -5.927073488739303e-01 + -5.932478119884005e-01 -5.937850777230974e-01 -5.943191576345895e-01 -5.948500635775013e-01 -5.953778067525587e-01 + -5.959023980172641e-01 -5.964238491804477e-01 -5.969421717317064e-01 -5.974573766302176e-01 -5.979694750153504e-01 + -5.984784782975928e-01 -5.989843980133127e-01 -5.994872448737363e-01 -5.999870296226286e-01 -6.004837635008013e-01 + -6.009774575116591e-01 -6.014681225640990e-01 -6.019557696406324e-01 -6.024404098188824e-01 -6.029220539582525e-01 + -6.034007123251734e-01 -6.038763957092128e-01 -6.043491151546724e-01 -6.048188811990667e-01 -6.052857043294740e-01 + -6.057495951725935e-01 -6.062105647034982e-01 -6.066686232996821e-01 -6.071237808282512e-01 -6.075760480581535e-01 + -6.080254356249652e-01 -6.084719536597242e-01 -6.089156123708600e-01 -6.093564221655233e-01 -6.097943936088406e-01 + -6.102295366277345e-01 -6.106618611466814e-01 -6.110913776082281e-01 -6.115180960018122e-01 -6.119420262061138e-01 + -6.123631785057825e-01 -6.127815629923925e-01 -6.131971895415724e-01 -6.136100679122567e-01 -6.140202079254689e-01 + -6.144276194632986e-01 -6.148323123693087e-01 -6.152342964516117e-01 -6.156335814880438e-01 -6.160301772367670e-01 + -6.164240932773791e-01 -6.168153390131846e-01 -6.172039241057757e-01 -6.175898582479540e-01 -6.179731510100582e-01 + -6.183538118537011e-01 -6.187318502245757e-01 -6.191072755983122e-01 -6.194800972241303e-01 -6.198503243163954e-01 + -6.202179663089392e-01 -6.205830326036273e-01 -6.209455324825972e-01 -6.213054750121583e-01 -6.216628693834372e-01 + -6.220177248671027e-01 -6.223700505100402e-01 -6.227198553511943e-01 -6.230671484590707e-01 -6.234119388224310e-01 + -6.237542354039819e-01 -6.240940471906395e-01 -6.244313833278470e-01 -6.247662526956897e-01 -6.250986637315333e-01 + -6.254286253149073e-01 -6.257561464374979e-01 -6.260812358699522e-01 -6.264039022632663e-01 -6.267241542804416e-01 + -6.270420007239386e-01 -6.273574502418447e-01 -6.276705113436000e-01 -6.279811924920996e-01 -6.282895022600340e-01 + -6.285954492669960e-01 -6.288990419377586e-01 -6.292002887596219e-01 -6.294991982474318e-01 -6.297957785295903e-01 + -6.300900379535952e-01 -6.303819851813233e-01 -6.306716282540937e-01 -6.309589752809680e-01 -6.312440348023121e-01 + -6.315268150763020e-01 -6.318073241903770e-01 -6.320855701836068e-01 -6.323615610879741e-01 -6.326353050044859e-01 + -6.329068101802829e-01 -6.331760846635813e-01 -6.334431363818833e-01 -6.337079733473078e-01 -6.339706034520735e-01 + -6.342310345121693e-01 -6.344892744839461e-01 -6.347453312805855e-01 -6.349992127114430e-01 -6.352509264768633e-01 + -6.355004804526597e-01 -6.357478826585540e-01 -6.359931404400122e-01 -6.362362612918424e-01 -6.364772532644518e-01 + -6.367161239398067e-01 -6.369528807876881e-01 -6.371875315012039e-01 -6.374200836672138e-01 -6.376505447719858e-01 + -6.378789222449943e-01 -6.381052236017390e-01 -6.383294563385360e-01 -6.385516277126226e-01 -6.387717451483415e-01 + -6.389898161925324e-01 -6.392058481779943e-01 -6.394198483013303e-01 -6.396318237129481e-01 -6.398417817583982e-01 + -6.400497298004382e-01 -6.402556751053731e-01 -6.404596246811356e-01 -6.406615856182318e-01 -6.408615652398488e-01 + -6.410595705960431e-01 -6.412556087124355e-01 -6.414496867908267e-01 -6.416418117430738e-01 -6.418319904244396e-01 + -6.420202299552208e-01 -6.422065373268501e-01 -6.423909194238488e-01 -6.425733831564441e-01 -6.427539354568388e-01 + -6.429325832107947e-01 -6.431093330874931e-01 -6.432841919278923e-01 -6.434571667152847e-01 -6.436282640341581e-01 + -6.437974905134223e-01 -6.439648529819666e-01 -6.441303582355420e-01 -6.442940129046214e-01 -6.444558234243410e-01 + -6.446157964842297e-01 -6.447739387669796e-01 -6.449302567289288e-01 -6.450847570451982e-01 -6.452374463418470e-01 + -6.453883308317777e-01 -6.455374170518916e-01 -6.456847116523639e-01 -6.458302208459006e-01 -6.459739509825424e-01 + -6.461159085765001e-01 -6.462561000624228e-01 -6.463945317857885e-01 -6.465312099893501e-01 -6.466661407794220e-01 + -6.467993305071421e-01 -6.469307857586633e-01 -6.470605124176557e-01 -6.471885165505020e-01 -6.473148048129491e-01 + -6.474393831451855e-01 -6.475622574433044e-01 -6.476834341411803e-01 -6.478029193005811e-01 -6.479207188186653e-01 + -6.480368387749067e-01 -6.481512852365653e-01 -6.482640642356557e-01 -6.483751817763184e-01 -6.484846438333333e-01 + -6.485924563559199e-01 -6.486986252696630e-01 -6.488031563964390e-01 -6.489060555062011e-01 -6.490073285956434e-01 + -6.491069816182633e-01 -6.492050203757027e-01 -6.493014505946639e-01 -6.493962779796888e-01 -6.494895082497514e-01 + -6.495811472172135e-01 -6.496712006463234e-01 -6.497596741452655e-01 -6.498465734697708e-01 -6.499319043537729e-01 + -6.500156722751166e-01 -6.500978828758883e-01 -6.501785418212779e-01 -6.502576544563589e-01 -6.503352264336196e-01 + -6.504112635780723e-01 -6.504857712206107e-01 -6.505587548117625e-01 -6.506302199692129e-01 -6.507001719669850e-01 + -6.507686161481057e-01 -6.508355580770583e-01 -6.509010033515999e-01 -6.509649573333303e-01 -6.510274250599254e-01 + -6.510884119408136e-01 -6.511479234691252e-01 -6.512059649357221e-01 -6.512625414820176e-01 -6.513176583196066e-01 + -6.513713209657690e-01 -6.514235346566493e-01 -6.514743044494572e-01 -6.515236355351222e-01 -6.515715331668240e-01 + -6.516180025498758e-01 -6.516630486086969e-01 -6.517066764698182e-01 -6.517488914696901e-01 -6.517896986474616e-01 + -6.518291029696229e-01 -6.518671094474887e-01 -6.519037232298822e-01 -6.519389493677847e-01 -6.519727927034696e-01 + -6.520052582102593e-01 -6.520363509344871e-01 -6.520660759114448e-01 -6.520944379877177e-01 -6.521214419863292e-01 + -6.521470929034477e-01 -6.521713955379932e-01 -6.521943546611896e-01 -6.522159753870301e-01 -6.522362625000242e-01 + -6.522552205660485e-01 -6.522728545508729e-01 -6.522891692872490e-01 -6.523041693781095e-01 -6.523178594474156e-01 + -6.523302443147758e-01 -6.523413289626511e-01 -6.523511179648659e-01 -6.523596158248584e-01 -6.523668271884714e-01 + -6.523727568212391e-01 -6.523774093997819e-01 -6.523807893579161e-01 -6.523829012952149e-01 -6.523837498990516e-01 + -6.523833397960367e-01 -6.523816754611410e-01 -6.523787613199525e-01 -6.523746019358498e-01 -6.523692018302728e-01 + -6.523625654555820e-01 -6.523546972248629e-01 -6.523456017173497e-01 -6.523352835702680e-01 -6.523237468711672e-01 + -6.523109959032295e-01 -6.522970353197415e-01 -6.522818693382445e-01 -6.522655022842732e-01 -6.522479388337681e-01 + -6.522291831409690e-01 -6.522092393163972e-01 -6.521881118419591e-01 -6.521658050464721e-01 -6.521423231008568e-01 + -6.521176700882644e-01 -6.520918504277817e-01 -6.520648685798258e-01 -6.520367284462982e-01 -6.520074341903623e-01 + -6.519769901852531e-01 -6.519454004576026e-01 -6.519126690272374e-01 -6.518788000417296e-01 -6.518437978790763e-01 + -6.518076667685843e-01 -6.517704106505043e-01 -6.517320333460206e-01 -6.516925389358605e-01 -6.516519318553129e-01 + -6.516102158220000e-01 -6.515673946405215e-01 -6.515234728464969e-01 -6.514784543315630e-01 -6.514323427842886e-01 + -6.513851423523833e-01 -6.513368570527661e-01 -6.512874907235414e-01 -6.512370470939771e-01 -6.511855301990920e-01 + -6.511329442190841e-01 -6.510792928715797e-01 -6.510245798816351e-01 -6.509688091361985e-01 -6.509119847142907e-01 + -6.508541103488035e-01 -6.507951894034477e-01 -6.507352259931611e-01 -6.506742241942834e-01 -6.506121876059120e-01 + -6.505491199228429e-01 -6.504850249436106e-01 -6.504199065016956e-01 -6.503537680222150e-01 -6.502866130342899e-01 + -6.502184457971011e-01 -6.501492700279957e-01 -6.500790890906794e-01 -6.500079066129352e-01 -6.499357263329657e-01 + -6.498625519683058e-01 -6.497883869826074e-01 -6.497132350047277e-01 -6.496370998048885e-01 -6.495599847614121e-01 + -6.494818934475555e-01 -6.494028297363450e-01 -6.493227969968260e-01 -6.492417985197620e-01 -6.491598378013752e-01 + -6.490769185970405e-01 -6.489930446200032e-01 -6.489082192796405e-01 -6.488224457999440e-01 -6.487357275334984e-01 + -6.486480682838258e-01 -6.485594713376021e-01 -6.484699398068251e-01 -6.483794774339799e-01 -6.482880877536140e-01 + -6.481957740532812e-01 -6.481025397024727e-01 -6.480083880017639e-01 -6.479133221889776e-01 -6.478173456351086e-01 + -6.477204618036257e-01 -6.476226741599570e-01 -6.475239858039916e-01 -6.474243999826228e-01 -6.473239202990485e-01 + -6.472225498463482e-01 -6.471202916312221e-01 -6.470171489638400e-01 -6.469131252405815e-01 -6.468082238277443e-01 + -6.467024479420175e-01 -6.465958006550642e-01 -6.464882850509053e-01 -6.463799044773618e-01 -6.462706620382276e-01 + -6.461605607272912e-01 -6.460496040101232e-01 -6.459377950690467e-01 -6.458251367734501e-01 -6.457116323868038e-01 + -6.455972850655802e-01 -6.454820977029684e-01 -6.453660732942879e-01 -6.452492150754419e-01 -6.451315264887545e-01 + -6.450130102914885e-01 -6.448936692680686e-01 -6.447735068128447e-01 -6.446525260129213e-01 -6.445307296530088e-01 + -6.444081203587793e-01 -6.442847014715996e-01 -6.441604765089356e-01 -6.440354480546840e-01 -6.439096188724848e-01 + -6.437829920095609e-01 -6.436555704731397e-01 -6.435273570693492e-01 -6.433983545533010e-01 -6.432685663163126e-01 + -6.431379953365300e-01 -6.430066439769492e-01 -6.428745153347271e-01 -6.427416124750638e-01 -6.426079380140648e-01 + -6.424734947555180e-01 -6.423382856273998e-01 -6.422023135830728e-01 -6.420655814260000e-01 -6.419280919255173e-01 + -6.417898479598759e-01 -6.416508523135933e-01 -6.415111076305331e-01 -6.413706163966455e-01 -6.412293816393564e-01 + -6.410874066048897e-01 -6.409446936267265e-01 -6.408012453136449e-01 -6.406570646910840e-01 -6.405121544270317e-01 + -6.403665170374713e-01 -6.402201550644944e-01 -6.400730715072882e-01 -6.399252691822962e-01 -6.397767504407681e-01 + -6.396275180930010e-01 -6.394775749890055e-01 -6.393269236107165e-01 -6.391755662191552e-01 -6.390235053902433e-01 + -6.388707445708105e-01 -6.387172861694177e-01 -6.385631322023312e-01 -6.384082857966726e-01 -6.382527494896121e-01 + -6.380965253642142e-01 -6.379396162401521e-01 -6.377820248167250e-01 -6.376237535602883e-01 -6.374648052204416e-01 + -6.373051823107587e-01 -6.371448870124290e-01 -6.369839218821269e-01 -6.368222895078627e-01 -6.366599923302766e-01 + -6.364970329561520e-01 -6.363334139746031e-01 -6.361691377885151e-01 -6.360042067688202e-01 -6.358386233547334e-01 + -6.356723901317635e-01 -6.355055093799952e-01 -6.353379833438523e-01 -6.351698147827204e-01 -6.350010061497325e-01 + -6.348315596278746e-01 -6.346614776297652e-01 -6.344907627044540e-01 -6.343194173354602e-01 -6.341474433478579e-01 + -6.339748431233465e-01 -6.338016197812808e-01 -6.336277753787244e-01 -6.334533118997744e-01 -6.332782318265875e-01 + -6.331025376588558e-01 -6.329262316544187e-01 -6.327493157114107e-01 -6.325717923863455e-01 -6.323936643403999e-01 + -6.322149336030685e-01 -6.320356024195775e-01 -6.318556731749607e-01 -6.316751480498738e-01 -6.314940290711796e-01 + -6.313123183267710e-01 -6.311300184615836e-01 -6.309471319109403e-01 -6.307636607640942e-01 -6.305796070902886e-01 + -6.303949730482692e-01 -6.302097608691579e-01 -6.300239725606558e-01 -6.298376103756032e-01 -6.296506769748604e-01 + -6.294631743864889e-01 -6.292751044804592e-01 -6.290864694027335e-01 -6.288972714311484e-01 -6.287075127245377e-01 + -6.285171950849623e-01 -6.283263208775478e-01 -6.281348926187029e-01 -6.279429120773061e-01 -6.277503812180564e-01 + -6.275573022752827e-01 -6.273636774541002e-01 -6.271695087389834e-01 -6.269747979757735e-01 -6.267795473573458e-01 + -6.265837591630624e-01 -6.263874355834504e-01 -6.261905784094625e-01 -6.259931895045528e-01 -6.257952710369122e-01 + -6.255968250363517e-01 -6.253978534898084e-01 -6.251983584520242e-01 -6.249983420853732e-01 -6.247978064572296e-01 + -6.245967533125147e-01 -6.243951846742302e-01 -6.241931026018996e-01 -6.239905086686763e-01 -6.237874050561640e-01 + -6.235837942608177e-01 -6.233796778475696e-01 -6.231750576026635e-01 -6.229699356978790e-01 -6.227643140512986e-01 + -6.225581944126894e-01 -6.223515785171654e-01 -6.221444686516174e-01 -6.219368669106876e-01 -6.217287748516653e-01 + -6.215201944179222e-01 -6.213111276341791e-01 -6.211015763012264e-01 -6.208915420627059e-01 -6.206810267189914e-01 + -6.204700325606027e-01 -6.202585614407183e-01 -6.200466150025669e-01 -6.198341952555039e-01 -6.196213039807257e-01 + -6.194079427661365e-01 -6.191941133919308e-01 -6.189798178811384e-01 -6.187650583625046e-01 -6.185498365366234e-01 + -6.183341539791172e-01 -6.181180123373080e-01 -6.179014136693182e-01 -6.176843597571294e-01 -6.174668518753883e-01 + -6.172488922358068e-01 -6.170304830078728e-01 -6.168116255085183e-01 -6.165923213940302e-01 -6.163725725542526e-01 + -6.161523808379610e-01 -6.159317477445455e-01 -6.157106747923912e-01 -6.154891641891720e-01 -6.152672177134336e-01 + -6.150448367622374e-01 -6.148220230127394e-01 -6.145987783325538e-01 -6.143751045698781e-01 -6.141510029326600e-01 + -6.139264750393221e-01 -6.137015231470567e-01 -6.134761489851926e-01 -6.132503540152313e-01 -6.130241396532106e-01 + -6.127975076851865e-01 -6.125704598048077e-01 -6.123429972989166e-01 -6.121151221351967e-01 -6.118868363314907e-01 + -6.116581411278224e-01 -6.114290380220153e-01 -6.111995287783158e-01 -6.109696151823703e-01 -6.107392985450728e-01 + -6.105085801024925e-01 -6.102774622058419e-01 -6.100459465922933e-01 -6.098140342484372e-01 -6.095817267256873e-01 + -6.093490257933440e-01 -6.091159331809802e-01 -6.088824500709522e-01 -6.086485779905337e-01 -6.084143191489354e-01 + -6.081796748129595e-01 -6.079446461968719e-01 -6.077092351925356e-01 -6.074734432434898e-01 -6.072372716150822e-01 + -6.070007218360295e-01 -6.067637956065657e-01 -6.065264946232775e-01 -6.062888203126375e-01 -6.060507740692458e-01 + -6.058123573561740e-01 -6.055735718185850e-01 -6.053344188005130e-01 -6.050948994718379e-01 -6.048550157592759e-01 + -6.046147693250087e-01 -6.043741612917217e-01 -6.041331930896253e-01 -6.038918662688606e-01 -6.036501823335466e-01 + -6.034081424814672e-01 -6.031657481058161e-01 -6.029230011393863e-01 -6.026799028730719e-01 -6.024364544399844e-01 + -6.021926574869638e-01 -6.019485136055120e-01 -6.017040241022006e-01 -6.014591897708976e-01 -6.012140122415236e-01 + -6.009684936432825e-01 -6.007226351565053e-01 -6.004764378633045e-01 -6.002299030368295e-01 -5.999830322604393e-01 + -5.997358269112610e-01 -5.994882881008079e-01 -5.992404174674395e-01 -5.989922165630734e-01 -5.987436865327392e-01 + -5.984948286273432e-01 -5.982456442781595e-01 -5.979961350600861e-01 -5.977463018616249e-01 -5.974961457245347e-01 + -5.972456688462123e-01 -5.969948725706038e-01 -5.967437577688297e-01 -5.964923259025159e-01 -5.962405782771161e-01 + -5.959885160038786e-01 -5.957361402849749e-01 -5.954834525607696e-01 -5.952304544228757e-01 -5.949771471628894e-01 + -5.947235319540697e-01 -5.944696099654433e-01 -5.942153825546195e-01 -5.939608509107162e-01 -5.937060159741117e-01 + -5.934508794411635e-01 -5.931954428951332e-01 -5.929397071302310e-01 -5.926836734445704e-01 -5.924273432987167e-01 + -5.921707177793331e-01 -5.919137978828047e-01 -5.916565847753502e-01 -5.913990801532651e-01 -5.911412853604616e-01 + -5.908832013941032e-01 -5.906248293335863e-01 -5.903661704565201e-01 -5.901072261246485e-01 -5.898479972855557e-01 + -5.895884850905705e-01 -5.893286910470348e-01 -5.890686164387193e-01 -5.888082623596927e-01 -5.885476297953414e-01 + -5.882867200485414e-01 -5.880255342895034e-01 -5.877640732646211e-01 -5.875023385228563e-01 -5.872403317009627e-01 + -5.869780535979796e-01 -5.867155052441069e-01 -5.864526878805291e-01 -5.861896026754034e-01 -5.859262506932092e-01 + -5.856626329801135e-01 -5.853987507817091e-01 -5.851346053972879e-01 -5.848701980701103e-01 -5.846055297559873e-01 + -5.843406014627009e-01 -5.840754143260567e-01 -5.838099692919883e-01 -5.835442675863415e-01 -5.832783108438364e-01 + -5.830120998737411e-01 -5.827456354637697e-01 -5.824789190313094e-01 -5.822119517157962e-01 -5.819447343999242e-01 + -5.816772678604962e-01 -5.814095534384316e-01 -5.811415926659900e-01 -5.808733865100626e-01 -5.806049358083534e-01 + -5.803362414940428e-01 -5.800673049021045e-01 -5.797981269727348e-01 -5.795287083747186e-01 -5.792590507223763e-01 + -5.789891553127540e-01 -5.787190227795775e-01 -5.784486540773595e-01 -5.781780503537821e-01 -5.779072127885909e-01 + -5.776361421027820e-01 -5.773648392415993e-01 -5.770933058481036e-01 -5.768215427543451e-01 -5.765495506173008e-01 + -5.762773307782053e-01 -5.760048843724456e-01 -5.757322122309633e-01 -5.754593149355522e-01 -5.751861936930261e-01 + -5.749128500443350e-01 -5.746392847733658e-01 -5.743654986749642e-01 -5.740914927526973e-01 -5.738172681170074e-01 + -5.735428256834612e-01 -5.732681661997935e-01 -5.729932909950833e-01 -5.727182011898047e-01 -5.724428973589288e-01 + -5.721673806475209e-01 -5.718916522032619e-01 -5.716157126986885e-01 -5.713395629769044e-01 -5.710632040862346e-01 + -5.707866372440725e-01 -5.705098634203313e-01 -5.702328834166335e-01 -5.699556980810941e-01 -5.696783084118523e-01 + -5.694007154024264e-01 -5.691229196446771e-01 -5.688449222662509e-01 -5.685667247951188e-01 -5.682883277592247e-01 + -5.680097317796297e-01 -5.677309379467054e-01 -5.674519473718960e-01 -5.671727608332666e-01 -5.668933787438524e-01 + -5.666138024324125e-01 -5.663340332775648e-01 -5.660540719736767e-01 -5.657739191147048e-01 -5.654935755198692e-01 + -5.652130424887296e-01 -5.649323205844615e-01 -5.646514102596061e-01 -5.643703131320561e-01 -5.640890302500955e-01 + -5.638075621229782e-01 -5.635259096013298e-01 -5.632440735413435e-01 -5.629620547371306e-01 -5.626798540413637e-01 + -5.623974724401825e-01 -5.621149109968532e-01 -5.618321704141040e-01 -5.615492514232792e-01 -5.612661549867731e-01 + -5.609828820346520e-01 -5.606994332802816e-01 -5.604158091721365e-01 -5.601320109850756e-01 -5.598480400285579e-01 + -5.595638966628304e-01 -5.592795815381203e-01 -5.589950956088516e-01 -5.587104398719418e-01 -5.584256150214867e-01 + -5.581406216413944e-01 -5.578554608147975e-01 -5.575701335442586e-01 -5.572846406020895e-01 -5.569989825973618e-01 + -5.567131602740183e-01 -5.564271745453506e-01 -5.561410260628522e-01 -5.558547156725416e-01 -5.555682445647333e-01 + -5.552816133007876e-01 -5.549948224318785e-01 -5.547078730025937e-01 -5.544207659049382e-01 -5.541335017868810e-01 + -5.538460810525171e-01 -5.535585047530838e-01 -5.532707741030544e-01 -5.529828895161875e-01 -5.526948516856666e-01 + -5.524066615722431e-01 -5.521183198617187e-01 -5.518298271294942e-01 -5.515411840216864e-01 -5.512523916981388e-01 + -5.509634510475757e-01 -5.506743625070015e-01 -5.503851268106821e-01 -5.500957448096843e-01 -5.498062173123895e-01 + -5.495165448046009e-01 -5.492267279674086e-01 -5.489367680360671e-01 -5.486466657159732e-01 -5.483564214808752e-01 + -5.480660360175322e-01 -5.477755101695411e-01 -5.474848446983241e-01 -5.471940399297857e-01 -5.469030967097296e-01 + -5.466120162347039e-01 -5.463207992130580e-01 -5.460294461220425e-01 -5.457379574365921e-01 -5.454463341419615e-01 + -5.451545769787555e-01 -5.448626863052353e-01 -5.445706629798505e-01 -5.442785079610155e-01 -5.439862220351145e-01 + -5.436938056623958e-01 -5.434012594168094e-01 -5.431085842649811e-01 -5.428157805859503e-01 -5.425228488112607e-01 + -5.422297902211034e-01 -5.419366056396356e-01 -5.416432955189590e-01 -5.413498603513526e-01 -5.410563008101139e-01 + -5.407626176406882e-01 -5.404688113584152e-01 -5.401748827259091e-01 -5.398808327262222e-01 -5.395866619984641e-01 + -5.392923710452394e-01 -5.389979603718316e-01 -5.387034307479797e-01 -5.384087828255361e-01 -5.381140170098579e-01 + -5.378191341794292e-01 -5.375241352697128e-01 -5.372290208939874e-01 -5.369337913756430e-01 -5.366384472427702e-01 + -5.363429897090184e-01 -5.360474189692397e-01 -5.357517350808286e-01 -5.354559397287709e-01 -5.351600336380363e-01 + -5.348640167550405e-01 -5.345678898586708e-01 -5.342716537895550e-01 -5.339753091509816e-01 -5.336788560795809e-01 + -5.333822952812678e-01 -5.330856281219807e-01 -5.327888549366336e-01 -5.324919760228772e-01 -5.321949921530423e-01 + -5.318979038948367e-01 -5.316007117591099e-01 -5.313034163655616e-01 -5.310060185016283e-01 -5.307085188690476e-01 + -5.304109178113635e-01 -5.301132159560333e-01 -5.298154141057816e-01 -5.295175129068631e-01 -5.292195125739295e-01 + -5.289214133220888e-01 -5.286232164928936e-01 -5.283249229043371e-01 -5.280265326905970e-01 -5.277280463629660e-01 + -5.274294646406563e-01 -5.271307882435877e-01 -5.268320172699235e-01 -5.265331522204252e-01 -5.262341943956992e-01 + -5.259351442515741e-01 -5.256360020246456e-01 -5.253367683007200e-01 -5.250374438802079e-01 -5.247380293156688e-01 + -5.244385244793137e-01 -5.241389303158239e-01 -5.238392481089597e-01 -5.235394779437145e-01 -5.232396201567239e-01 + -5.229396754457293e-01 -5.226396444439171e-01 -5.223395275325885e-01 -5.220393250130385e-01 -5.217390378529512e-01 + -5.214386667612969e-01 -5.211382119631184e-01 -5.208376739941909e-01 -5.205370535049869e-01 -5.202363510969753e-01 + -5.199355670763710e-01 -5.196347019022574e-01 -5.193337564915598e-01 -5.190327313042545e-01 -5.187316266472318e-01 + -5.184304431068453e-01 -5.181291813913007e-01 -5.178278420262173e-01 -5.175264249304404e-01 -5.172249309061349e-01 + -5.169233612064826e-01 -5.166217158673360e-01 -5.163199951550123e-01 -5.160181998004911e-01 -5.157163303784532e-01 + -5.154143871836301e-01 -5.151123703899823e-01 -5.148102810445049e-01 -5.145081200022412e-01 -5.142058873966443e-01 + -5.139035834879907e-01 -5.136012088439446e-01 -5.132987643470369e-01 -5.129962500176725e-01 -5.126936660139045e-01 + -5.123910137907831e-01 -5.120882937169244e-01 -5.117855056864241e-01 -5.114826505830118e-01 -5.111797289351894e-01 + -5.108767409175631e-01 -5.105736869791608e-01 -5.102705678009448e-01 -5.099673841164564e-01 -5.096641361609235e-01 + -5.093608243087677e-01 -5.090574492425100e-01 -5.087540114820200e-01 -5.084505112619658e-01 -5.081469486274651e-01 + -5.078433245912960e-01 -5.075396400795943e-01 -5.072358951124865e-01 -5.069320899536702e-01 -5.066282251477461e-01 + -5.063243014155288e-01 -5.060203189866231e-01 -5.057162780382299e-01 -5.054121795257869e-01 -5.051080240346536e-01 + -5.048038117428125e-01 -5.044995428560932e-01 -5.041952179946867e-01 -5.038908379779851e-01 -5.035864027540428e-01 + -5.032819126747086e-01 -5.029773687584369e-01 -5.026727713803431e-01 -5.023681207203433e-01 -5.020634170773620e-01 + -5.017586611304518e-01 -5.014538534087800e-01 -5.011489939472488e-01 -5.008440834008399e-01 -5.005391225202214e-01 + -5.002341114848970e-01 -4.999290507534227e-01 -4.996239408965545e-01 -4.993187821357916e-01 -4.990135746184980e-01 + -4.987083187010172e-01 -4.984030154770353e-01 -4.980976654859903e-01 -4.977922686591017e-01 -4.974868253646026e-01 + -4.971813362150598e-01 -4.968758018164073e-01 -4.965702219796178e-01 -4.962645970518764e-01 -4.959589283986423e-01 + -4.956532161259331e-01 -4.953474601672504e-01 -4.950416611894621e-01 -4.947358197709370e-01 -4.944299362131679e-01 + -4.941240104625670e-01 -4.938180432013966e-01 -4.935120353360559e-01 -4.932059869696777e-01 -4.928998983832586e-01 + -4.925937700937396e-01 -4.922876025288242e-01 -4.919813957951697e-01 -4.916751499430368e-01 -4.913688660561277e-01 + -4.910625447982750e-01 -4.907561860728009e-01 -4.904497902858990e-01 -4.901433579647613e-01 -4.898368894758774e-01 + -4.895303847877975e-01 -4.892238442443610e-01 -4.889172690570770e-01 -4.886106594399146e-01 -4.883040152916479e-01 + -4.879973371198497e-01 -4.876906255185612e-01 -4.873838808516193e-01 -4.870771028969680e-01 -4.867702923235035e-01 + -4.864634502410182e-01 -4.861565765237592e-01 -4.858496713307078e-01 -4.855427352755911e-01 -4.852357685536697e-01 + -4.849287714451036e-01 -4.846217444589359e-01 -4.843146879997467e-01 -4.840076025123002e-01 -4.837004885060202e-01 + -4.833933461066379e-01 -4.830861755003688e-01 -4.827789772517898e-01 -4.824717516127337e-01 -4.821644988235214e-01 + -4.818572195031119e-01 -4.815499140763169e-01 -4.812425828318353e-01 -4.809352261296052e-01 -4.806278443199989e-01 + -4.803204376463540e-01 -4.800130060714603e-01 -4.797055501717924e-01 -4.793980709573083e-01 -4.790905684347367e-01 + -4.787830426340720e-01 -4.784754939887473e-01 -4.781679231200341e-01 -4.778603302286951e-01 -4.775527150015833e-01 + -4.772450784284375e-01 -4.769374213667171e-01 -4.766297434623847e-01 -4.763220450397429e-01 -4.760143266869929e-01 + -4.757065886153464e-01 -4.753988310011543e-01 -4.750910541528841e-01 -4.747832586964973e-01 -4.744754450010169e-01 + -4.741676132522562e-01 -4.738597638648681e-01 -4.735518971269201e-01 -4.732440131603057e-01 -4.729361121339242e-01 + -4.726281945136708e-01 -4.723202610280838e-01 -4.720123119889466e-01 -4.717043475548789e-01 -4.713963678930571e-01 + -4.710883732580126e-01 -4.707803639362851e-01 -4.704723402372425e-01 -4.701643027667922e-01 -4.698562520096238e-01 + -4.695481878708884e-01 -4.692401107063794e-01 -4.689320210638210e-01 -4.686239190614940e-01 -4.683158048406638e-01 + -4.680076787162389e-01 -4.676995413185929e-01 -4.673913930202820e-01 -4.670832339045677e-01 -4.667750641928977e-01 + -4.664668842720264e-01 -4.661586945788764e-01 -4.658504950199774e-01 -4.655422858974875e-01 -4.652340682220931e-01 + -4.649258420178881e-01 -4.646176071935555e-01 -4.643093642460228e-01 -4.640011135361189e-01 -4.636928552533583e-01 + -4.633845894780055e-01 -4.630763167063440e-01 -4.627680375263447e-01 -4.624597520114774e-01 -4.621514604268375e-01 + -4.618431632080228e-01 -4.615348605890552e-01 -4.612265525685530e-01 -4.609182391698630e-01 -4.606099213200685e-01 + -4.603015994943055e-01 -4.599932734377760e-01 -4.596849434943749e-01 -4.593766101319814e-01 -4.590682736286037e-01 + -4.587599339472412e-01 -4.584515913122191e-01 -4.581432465762054e-01 -4.578348999443045e-01 -4.575265513883392e-01 + -4.572182012155285e-01 -4.569098498253546e-01 -4.566014974456956e-01 -4.562931438038699e-01 -4.559847894939479e-01 + -4.556764355440957e-01 -4.553680818446301e-01 -4.550597283221777e-01 -4.547513752454754e-01 -4.544430231318768e-01 + -4.541346721146189e-01 -4.538263219879204e-01 -4.535179736207505e-01 -4.532096276207381e-01 -4.529012837320638e-01 + -4.525929421989657e-01 -4.522846033793929e-01 -4.519762674029318e-01 -4.516679344715044e-01 -4.513596049388520e-01 + -4.510512793496801e-01 -4.507429578901284e-01 -4.504346405869434e-01 -4.501263277269192e-01 -4.498180196893253e-01 + -4.495097167463535e-01 -4.492014186979058e-01 -4.488931259139300e-01 -4.485848392328776e-01 -4.482765586745183e-01 + -4.479682843350483e-01 -4.476600166157323e-01 -4.473517555800268e-01 -4.470435013321629e-01 -4.467352542154915e-01 + -4.464270145748750e-01 -4.461187827567155e-01 -4.458105590951706e-01 -4.455023436689998e-01 -4.451941365719282e-01 + -4.448859382022067e-01 -4.445777486373541e-01 -4.442695679571050e-01 -4.439613968717006e-01 -4.436532356916815e-01 + -4.433450843880059e-01 -4.430369431657580e-01 -4.427288122616561e-01 -4.424206918620519e-01 -4.421125820372482e-01 + -4.418044832064567e-01 -4.414963960811867e-01 -4.411883204960218e-01 -4.408802564087612e-01 -4.405722043668788e-01 + -4.402641646390490e-01 -4.399561373068210e-01 -4.396481224088197e-01 -4.393401203468038e-01 -4.390321316119934e-01 + -4.387241564347777e-01 -4.384161947343386e-01 -4.381082465266398e-01 -4.378003125430411e-01 -4.374923928277115e-01 + -4.371844871230922e-01 -4.368765963346815e-01 -4.365687207997857e-01 -4.362608601883623e-01 -4.359530147661063e-01 + -4.356451849773876e-01 -4.353373711547212e-01 -4.350295729831375e-01 -4.347217906709347e-01 -4.344140253247259e-01 + -4.341062767701542e-01 -4.337985447574569e-01 -4.334908298973194e-01 -4.331831324142745e-01 -4.328754522838512e-01 + -4.325677895304312e-01 -4.322601446380396e-01 -4.319525182069930e-01 -4.316449103351276e-01 -4.313373209430619e-01 + -4.310297500384340e-01 -4.307221981580691e-01 -4.304146654764764e-01 -4.301071518609876e-01 -4.297996578556980e-01 + -4.294921838432407e-01 -4.291847298181669e-01 -4.288772959356691e-01 -4.285698824691314e-01 -4.282624896947286e-01 + -4.279551173581843e-01 -4.276477655542056e-01 -4.273404353166645e-01 -4.270331268873108e-01 -4.267258400671970e-01 + -4.264185747737768e-01 -4.261113314513503e-01 -4.258041105111009e-01 -4.254969114260224e-01 -4.251897346526543e-01 + -4.248825811839114e-01 -4.245754507348872e-01 -4.242683433304872e-01 -4.239612594489042e-01 -4.236541990429175e-01 + -4.233471621233121e-01 -4.230401489624036e-01 -4.227331599159186e-01 -4.224261953202194e-01 -4.221192554076946e-01 + -4.218123401221037e-01 -4.215054495276057e-01 -4.211985840665567e-01 -4.208917437341202e-01 -4.205849285470991e-01 + -4.202781391077526e-01 -4.199713756820169e-01 -4.196646382796324e-01 -4.193579269625680e-01 -4.190512419898234e-01 + -4.187445835885104e-01 -4.184379514023820e-01 -4.181313458657921e-01 -4.178247679943504e-01 -4.175182174706034e-01 + -4.172116941638125e-01 -4.169051985589959e-01 -4.165987308801878e-01 -4.162922910262470e-01 -4.159858787333477e-01 + -4.156794948456864e-01 -4.153731400237493e-01 -4.150668138055245e-01 -4.147605162480433e-01 -4.144542477033889e-01 + -4.141480084083939e-01 -4.138417983331389e-01 -4.135356175072968e-01 -4.132294665425894e-01 -4.129233456523720e-01 + -4.126172547353913e-01 -4.123111939769975e-01 -4.120051637027982e-01 -4.116991641480549e-01 -4.113931948631621e-01 + -4.110872561089984e-01 -4.107813489720965e-01 -4.104754732505308e-01 -4.101696286974395e-01 -4.098638156566466e-01 + -4.095580344057681e-01 -4.092522850492459e-01 -4.089465675148873e-01 -4.086408821301867e-01 -4.083352292811099e-01 + -4.080296090087697e-01 -4.077240214925531e-01 -4.074184669621912e-01 -4.071129454474836e-01 -4.068074568206541e-01 + -4.065020011172992e-01 -4.061965792344674e-01 -4.058911914234347e-01 -4.055858372701102e-01 -4.052805169731385e-01 + -4.049752308691225e-01 -4.046699791746853e-01 -4.043647616984872e-01 -4.040595785275335e-01 -4.037544302850327e-01 + -4.034493171430220e-01 -4.031442391412985e-01 -4.028391964411297e-01 -4.025341890399178e-01 -4.022292169515432e-01 + -4.019242804318620e-01 -4.016193797575413e-01 -4.013145151618574e-01 -4.010096867767989e-01 -4.007048946739946e-01 + -4.004001389575452e-01 -4.000954199442892e-01 -3.997907376333255e-01 -3.994860918450180e-01 -3.991814831388100e-01 + -3.988769118682245e-01 -3.985723779299208e-01 -3.982678813725196e-01 -3.979634224118638e-01 -3.976590013430957e-01 + -3.973546179557737e-01 -3.970502723184750e-01 -3.967459652757308e-01 -3.964416967373386e-01 -3.961374664325438e-01 + -3.958332748416728e-01 -3.955291221412219e-01 -3.952250082276700e-01 -3.949209329883424e-01 -3.946168969005399e-01 + -3.943129006192436e-01 -3.940089438207542e-01 -3.937050264421336e-01 -3.934011488327164e-01 -3.930973111392007e-01 + -3.927935133510078e-01 -3.924897554398895e-01 -3.921860379028622e-01 -3.918823611410527e-01 -3.915787251272155e-01 + -3.912751296302741e-01 -3.909715747221262e-01 -3.906680610479274e-01 -3.903645884467465e-01 -3.900611567141484e-01 + -3.897577665105899e-01 -3.894544180732338e-01 -3.891511112918067e-01 -3.888478460867855e-01 -3.885446227676595e-01 + -3.882414417069796e-01 -3.879383024897914e-01 -3.876352053351357e-01 -3.873321510269954e-01 -3.870291394376005e-01 + -3.867261704550462e-01 -3.864232442776043e-01 -3.861203610538394e-01 -3.858175208256477e-01 -3.855147235659399e-01 + -3.852119696012977e-01 -3.849092593053318e-01 -3.846065928280623e-01 -3.843039700003283e-01 -3.840013907871894e-01 + -3.836988557264463e-01 -3.833963646642737e-01 -3.830939173673272e-01 -3.827915146861536e-01 -3.824891567344230e-01 + -3.821868431312930e-01 -3.818845742897094e-01 -3.815823505036508e-01 -3.812801717050347e-01 -3.809780375081945e-01 + -3.806759481537249e-01 -3.803739045452896e-01 -3.800719066553854e-01 -3.797699542729503e-01 -3.794680474344709e-01 + -3.791661864151066e-01 -3.788643713579414e-01 -3.785626020610045e-01 -3.782608787892401e-01 -3.779592019649877e-01 + -3.776575717504184e-01 -3.773559879986245e-01 -3.770544506277551e-01 -3.767529601718599e-01 -3.764515165488658e-01 + -3.761501194541416e-01 -3.758487697291592e-01 -3.755474675286999e-01 -3.752462123142175e-01 -3.749450044400430e-01 + -3.746438442933219e-01 -3.743427319385532e-01 -3.740416670860849e-01 -3.737406497610264e-01 -3.734396805632812e-01 + -3.731387597991040e-01 -3.728378873981389e-01 -3.725370629746288e-01 -3.722362869751284e-01 -3.719355598195744e-01 + -3.716348809475082e-01 -3.713342505611615e-01 -3.710336692885385e-01 -3.707331373206220e-01 -3.704326544188714e-01 + -3.701322203470578e-01 -3.698318357923215e-01 -3.695315007664240e-01 -3.692312147431765e-01 -3.689309784821330e-01 + -3.686307923312130e-01 -3.683306558583173e-01 -3.680305692832940e-01 -3.677305328772401e-01 -3.674305466155561e-01 + -3.671306102835627e-01 -3.668307239979260e-01 -3.665308885123383e-01 -3.662311039528895e-01 -3.659313700864294e-01 + -3.656316867340536e-01 -3.653320542170925e-01 -3.650324728818179e-01 -3.647329423252613e-01 -3.644334627823841e-01 + -3.641340348652060e-01 -3.638346584224414e-01 -3.635353333854674e-01 -3.632360599381753e-01 -3.629368383087880e-01 + -3.626376683911322e-01 -3.623385498640058e-01 -3.620394834143431e-01 -3.617404694429358e-01 -3.614415075289109e-01 + -3.611425978472304e-01 -3.608437406892576e-01 -3.605449360396625e-01 -3.602461837170217e-01 -3.599474837636126e-01 + -3.596488368123176e-01 -3.593502429497555e-01 -3.590517019950174e-01 -3.587532141258951e-01 -3.584547794364419e-01 + -3.581563978967544e-01 -3.578580694598877e-01 -3.575597943932133e-01 -3.572615731273898e-01 -3.569634054963255e-01 + -3.566652915450074e-01 -3.563672316398869e-01 -3.560692255181004e-01 -3.557712730433470e-01 -3.554733745722332e-01 + -3.551755304325120e-01 -3.548777407381354e-01 -3.545800053200450e-01 -3.542823243820459e-01 -3.539846981602633e-01 + -3.536871265064687e-01 -3.533896092936707e-01 -3.530921466577667e-01 -3.527947392696623e-01 -3.524973870763591e-01 + -3.522000896417020e-01 -3.519028473926252e-01 -3.516056606257513e-01 -3.513085292624320e-01 -3.510114529438408e-01 + -3.507144318797571e-01 -3.504174668509267e-01 -3.501205576763053e-01 -3.498237041407538e-01 -3.495269064579332e-01 + -3.492301648012658e-01 -3.489334792023763e-01 -3.486368495320163e-01 -3.483402759532310e-01 -3.480437587608516e-01 + -3.477472981563033e-01 -3.474508940116457e-01 -3.471545462266357e-01 -3.468582552838557e-01 -3.465620210594309e-01 + -3.462658431862374e-01 -3.459697223261950e-01 -3.456736587298253e-01 -3.453776521244075e-01 -3.450817025977070e-01 + -3.447858103250944e-01 -3.444899754033867e-01 -3.441941976114102e-01 -3.438984770490408e-01 -3.436028143288083e-01 + -3.433072093931014e-01 -3.430116620696204e-01 -3.427161725111446e-01 -3.424207408695913e-01 -3.421253671506906e-01 + -3.418300511322294e-01 -3.415347931565998e-01 -3.412395936962896e-01 -3.409444525560181e-01 -3.406493696743920e-01 + -3.403543451949735e-01 -3.400593792856730e-01 -3.397644718554241e-01 -3.394696227303268e-01 -3.391748324448361e-01 + -3.388801012525273e-01 -3.385854289098167e-01 -3.382908154719833e-01 -3.379962610967925e-01 -3.377017658856785e-01 + -3.374073296405456e-01 -3.371129523992028e-01 -3.368186347618567e-01 -3.365243767275647e-01 -3.362301780997549e-01 + -3.359360390044588e-01 -3.356419595939377e-01 -3.353479398983790e-01 -3.350539796822969e-01 -3.347600792157354e-01 + -3.344662390001809e-01 -3.341724588683134e-01 -3.338787387386647e-01 -3.335850787505256e-01 -3.332914790393797e-01 + -3.329979395469141e-01 -3.327044601082655e-01 -3.324110411740308e-01 -3.321176830325031e-01 -3.318243854727410e-01 + -3.315311485033696e-01 -3.312379722613320e-01 -3.309448568815591e-01 -3.306518021855764e-01 -3.303588081394571e-01 + -3.300658753265905e-01 -3.297730038003383e-01 -3.294801933460689e-01 -3.291874440822869e-01 -3.288947561448500e-01 + -3.286021295596533e-01 -3.283095641084477e-01 -3.280170600152969e-01 -3.277246178092963e-01 -3.274322373144385e-01 + -3.271399184133136e-01 -3.268476612759387e-01 -3.265554660369243e-01 -3.262633326374516e-01 -3.259712608638953e-01 + -3.256792511518811e-01 -3.253873038511834e-01 -3.250954187049387e-01 -3.248035957166725e-01 -3.245118350464998e-01 + -3.242201368055027e-01 -3.239285008232202e-01 -3.236369270127419e-01 -3.233454159517716e-01 -3.230539677655248e-01 + -3.227625822208953e-01 -3.224712593689608e-01 -3.221799993547627e-01 -3.218888022707884e-01 -3.215976678728723e-01 + -3.213065962862219e-01 -3.210155880538063e-01 -3.207246430922022e-01 -3.204337612603162e-01 -3.201429426545060e-01 + -3.198521874188910e-01 -3.195614955407240e-01 -3.192708667833873e-01 -3.189803015317205e-01 -3.186898001852494e-01 + -3.183993624745159e-01 -3.181089883645859e-01 -3.178186780215274e-01 -3.175284315788672e-01 -3.172382488912609e-01 + -3.169481298117736e-01 -3.166580748847834e-01 -3.163680842820584e-01 -3.160781577505636e-01 -3.157882953403168e-01 + -3.154984971942622e-01 -3.152087634033934e-01 -3.149190937439705e-01 -3.146294882798918e-01 -3.143399475483734e-01 + -3.140504715109739e-01 -3.137610600081304e-01 -3.134717131245625e-01 -3.131824310053718e-01 -3.128932136614712e-01 + -3.126040608259110e-01 -3.123149728003283e-01 -3.120259500284038e-01 -3.117369923103007e-01 -3.114480995811182e-01 + -3.111592719695180e-01 -3.108705096041851e-01 -3.105818123704323e-01 -3.102931800853200e-01 -3.100046132424714e-01 + -3.097161120700553e-01 -3.094276763275429e-01 -3.091393060498078e-01 -3.088510013669117e-01 -3.085627623567511e-01 + -3.082745888090075e-01 -3.079864807413559e-01 -3.076984387104112e-01 -3.074104627037881e-01 -3.071225525229602e-01 + -3.068347082674415e-01 -3.065469300647063e-01 -3.062592179233167e-01 -3.059715715883658e-01 -3.056839913222955e-01 + -3.053964776128304e-01 -3.051090302429263e-01 -3.048216491115613e-01 -3.045343343664140e-01 -3.042470861256498e-01 + -3.039599042912569e-01 -3.036727886539801e-01 -3.033857396783212e-01 -3.030987576532087e-01 -3.028118423290159e-01 + -3.025249936916685e-01 -3.022382118572411e-01 -3.019514969324824e-01 -3.016648487319269e-01 -3.013782672163520e-01 + -3.010917529380510e-01 -3.008053059332530e-01 -3.005189259718208e-01 -3.002326131255288e-01 -2.999463675243501e-01 + -2.996601892115071e-01 -2.993740779431134e-01 -2.990880338991673e-01 -2.988020575697556e-01 -2.985161488129333e-01 + -2.982303074956766e-01 -2.979445337070337e-01 -2.976588275957710e-01 -2.973731891105994e-01 -2.970876179949718e-01 + -2.968021146693378e-01 -2.965166794729635e-01 -2.962313121299224e-01 -2.959460126205053e-01 -2.956607810824475e-01 + -2.953756176130727e-01 -2.950905220348498e-01 -2.948054942542040e-01 -2.945205348259674e-01 -2.942356438398593e-01 + -2.939508210351428e-01 -2.936660664737455e-01 -2.933813802767271e-01 -2.930967624892026e-01 -2.928122128931882e-01 + -2.925277316158055e-01 -2.922433191494531e-01 -2.919589753765323e-01 -2.916747001400424e-01 -2.913904935350139e-01 + -2.911063557118664e-01 -2.908222866434848e-01 -2.905382860439090e-01 -2.902543542778646e-01 -2.899704917370004e-01 + -2.896866981425306e-01 -2.894029734511842e-01 -2.891193178139609e-01 -2.888357313345801e-01 -2.885522138545054e-01 + -2.882687652243500e-01 -2.879853859636904e-01 -2.877020762131379e-01 -2.874188357014512e-01 -2.871356645025479e-01 + -2.868525627422169e-01 -2.865695304469716e-01 -2.862865673963798e-01 -2.860036736642309e-01 -2.857208497673618e-01 + -2.854380956360413e-01 -2.851554110854154e-01 -2.848727961880673e-01 -2.845902510831507e-01 -2.843077757793696e-01 + -2.840253700094237e-01 -2.837430340397069e-01 -2.834607682748240e-01 -2.831785725328111e-01 -2.828964467316310e-01 + -2.826143909542473e-01 -2.823324053101364e-01 -2.820504896922502e-01 -2.817686439371250e-01 -2.814868685136343e-01 + -2.812051636152371e-01 -2.809235289745332e-01 -2.806419646055033e-01 -2.803604706362606e-01 -2.800790471610514e-01 + -2.797976939416736e-01 -2.795164109639519e-01 -2.792351987736799e-01 -2.789540573481899e-01 -2.786729864814172e-01 + -2.783919862645312e-01 -2.781110567914744e-01 -2.778301980476193e-01 -2.775494098202491e-01 -2.772686923282846e-01 + -2.769880459823117e-01 -2.767074706347814e-01 -2.764269661749121e-01 -2.761465326612197e-01 -2.758661702373058e-01 + -2.755858788282252e-01 -2.753056582075042e-01 -2.750255088041456e-01 -2.747454308713073e-01 -2.744654241403574e-01 + -2.741854886058927e-01 -2.739056243892176e-01 -2.736258315782464e-01 -2.733461099674180e-01 -2.730664595012521e-01 + -2.727868807168794e-01 -2.725073736368404e-01 -2.722279380246611e-01 -2.719485739535283e-01 -2.716692815376729e-01 + -2.713900607905190e-01 -2.711109114418696e-01 -2.708318336740216e-01 -2.705528279896257e-01 -2.702738942089605e-01 + -2.699950321750810e-01 -2.697162419812612e-01 -2.694375237750356e-01 -2.691588774953904e-01 -2.688803028674867e-01 + -2.686018002777490e-01 -2.683233700490228e-01 -2.680450119322323e-01 -2.677667258920440e-01 -2.674885120321642e-01 + -2.672103704327183e-01 -2.669323009240009e-01 -2.666543034142266e-01 -2.663763784024609e-01 -2.660985259744725e-01 + -2.658207458961011e-01 -2.655430381891060e-01 -2.652654029648259e-01 -2.649878402880381e-01 -2.647103499069445e-01 + -2.644329319184849e-01 -2.641555868035665e-01 -2.638783144422805e-01 -2.636011146840161e-01 -2.633239876271375e-01 + -2.630469333706403e-01 -2.627699518665801e-01 -2.624930428881614e-01 -2.622162067361601e-01 -2.619394437425979e-01 + -2.616627537197243e-01 -2.613861365959049e-01 -2.611095924398818e-01 -2.608331213683194e-01 -2.605567232565551e-01 + -2.602803979638560e-01 -2.600041459185203e-01 -2.597279672559259e-01 -2.594518617711524e-01 -2.591758294668244e-01 + -2.588998704444723e-01 -2.586239847880919e-01 -2.583481722507706e-01 -2.580724328621725e-01 -2.577967671126083e-01 + -2.575211749406902e-01 -2.572456561780725e-01 -2.569702108956164e-01 -2.566948391959332e-01 -2.564195410517088e-01 + -2.561443162003717e-01 -2.558691649278121e-01 -2.555940876367002e-01 -2.553190840839927e-01 -2.550441541814838e-01 + -2.547692980445108e-01 -2.544945157803290e-01 -2.542198072584164e-01 -2.539451722830000e-01 -2.536706112997469e-01 + -2.533961245035316e-01 -2.531217116489478e-01 -2.528473727232912e-01 -2.525731078267265e-01 -2.522989170513077e-01 + -2.520248001810547e-01 -2.517507572028029e-01 -2.514767886096237e-01 -2.512028943623831e-01 -2.509290742545349e-01 + -2.506553283625735e-01 -2.503816568034038e-01 -2.501080595782905e-01 -2.498345364108095e-01 -2.495610875124447e-01 + -2.492877133133172e-01 -2.490144136112123e-01 -2.487411882994743e-01 -2.484680374856057e-01 -2.481949612635986e-01 + -2.479219595287280e-01 -2.476490320734136e-01 -2.473761793087864e-01 -2.471034014703498e-01 -2.468306982957061e-01 + -2.465580697844871e-01 -2.462855160432138e-01 -2.460130371204629e-01 -2.457406328233614e-01 -2.454683031113906e-01 + -2.451960484794311e-01 -2.449238689415910e-01 -2.446517642712055e-01 -2.443797345227543e-01 -2.441077797933181e-01 + -2.438359000947776e-01 -2.435640951889690e-01 -2.432923652315951e-01 -2.430207106571287e-01 -2.427491313175689e-01 + -2.424776270783986e-01 -2.422061980074125e-01 -2.419348442072336e-01 -2.416635656192684e-01 -2.413923620306189e-01 + -2.411212337762792e-01 -2.408501811283544e-01 -2.405792038734625e-01 -2.403083019688687e-01 -2.400374754936993e-01 + -2.397667245256450e-01 -2.394960488977194e-01 -2.392254485194238e-01 -2.389549238762380e-01 -2.386844750244205e-01 + -2.384141017100180e-01 -2.381438039886236e-01 -2.378735819631148e-01 -2.376034356560101e-01 -2.373333648418426e-01 + -2.370633696160408e-01 -2.367934504134751e-01 -2.365236071336530e-01 -2.362538396334552e-01 -2.359841479713349e-01 + -2.357145322333765e-01 -2.354449923780104e-01 -2.351755281955192e-01 -2.349061399838227e-01 -2.346368280467886e-01 + -2.343675921502802e-01 -2.340984322401892e-01 -2.338293484224673e-01 -2.335603407944267e-01 -2.332914091991481e-01 + -2.330225534791031e-01 -2.327537740958542e-01 -2.324850711724544e-01 -2.322164444575208e-01 -2.319478939696494e-01 + -2.316794198107119e-01 -2.314110220364787e-01 -2.311427004172850e-01 -2.308744549913938e-01 -2.306062862221652e-01 + -2.303381940399467e-01 -2.300701782673901e-01 -2.298022389505013e-01 -2.295343762055658e-01 -2.292665900251787e-01 + -2.289988801367178e-01 -2.287312467963517e-01 -2.284636903804389e-01 -2.281962106639611e-01 -2.279288075702767e-01 + -2.276614812041137e-01 -2.273942316314865e-01 -2.271270587234099e-01 -2.268599623216859e-01 -2.265929428586625e-01 + -2.263260004971463e-01 -2.260591349680134e-01 -2.257923462859340e-01 -2.255256345570404e-01 -2.252589998316905e-01 + -2.249924418873443e-01 -2.247259607239798e-01 -2.244595568451081e-01 -2.241932301870257e-01 -2.239269805236896e-01 + -2.236608079513920e-01 -2.233947125724077e-01 -2.231286943677930e-01 -2.228627530899186e-01 -2.225968889349937e-01 + -2.223311022938890e-01 -2.220653929888047e-01 -2.217997609137618e-01 -2.215342061492806e-01 -2.212687287997047e-01 + -2.210033287645195e-01 -2.207380058226258e-01 -2.204727603658667e-01 -2.202075926188733e-01 -2.199425023254976e-01 + -2.196774894791217e-01 -2.194125541827232e-01 -2.191476964953657e-01 -2.188829162198361e-01 -2.186182133017065e-01 + -2.183535882155842e-01 -2.180890409721393e-01 -2.178245713492862e-01 -2.175601793915103e-01 -2.172958651996608e-01 + -2.170316287941991e-01 -2.167674699222372e-01 -2.165033887351043e-01 -2.162393856655618e-01 -2.159754605317784e-01 + -2.157116131976179e-01 -2.154478437626437e-01 -2.151841523053365e-01 -2.149205387568082e-01 -2.146570029331132e-01 + -2.143935451423346e-01 -2.141301656253313e-01 -2.138668641770334e-01 -2.136036407648879e-01 -2.133404954698548e-01 + -2.130774283590253e-01 -2.128144392711416e-01 -2.125515281171839e-01 -2.122886953403734e-01 -2.120259409959825e-01 + -2.117632648531722e-01 -2.115006669388265e-01 -2.112381473557379e-01 -2.109757061544524e-01 -2.107133431005909e-01 + -2.104510582708100e-01 -2.101888520817322e-01 -2.099267244352251e-01 -2.096646751892664e-01 -2.094027043922436e-01 + -2.091408121382980e-01 -2.088789983898283e-01 -2.086172629233026e-01 -2.083556060294393e-01 -2.080940280081475e-01 + -2.078325286261216e-01 -2.075711078316715e-01 -2.073097657230958e-01 -2.070485023681648e-01 -2.067873176254528e-01 + -2.065262113703670e-01 -2.062651840261599e-01 -2.060042356935543e-01 -2.057433661320316e-01 -2.054825753736384e-01 + -2.052218635119340e-01 -2.049612305777034e-01 -2.047006763593381e-01 -2.044402009029163e-01 -2.041798046444743e-01 + -2.039194875091236e-01 -2.036592493288050e-01 -2.033990901597007e-01 -2.031390101041152e-01 -2.028790091364410e-01 + -2.026190869860804e-01 -2.023592439213894e-01 -2.020994803209571e-01 -2.018397959336108e-01 -2.015801906636277e-01 + -2.013206646163115e-01 -2.010612178968381e-01 -2.008018503846473e-01 -2.005425618909167e-01 -2.002833527994660e-01 + -2.000242232866459e-01 -1.997651731545872e-01 -1.995062023757428e-01 -1.992473110134654e-01 -1.989884991329442e-01 + -1.987297665552775e-01 -1.984711132804359e-01 -1.982125397288479e-01 -1.979540458641874e-01 -1.976956315048893e-01 + -1.974372966986851e-01 -1.971790415364275e-01 -1.969208660181268e-01 -1.966627699138122e-01 -1.964047534115951e-01 + -1.961468168792641e-01 -1.958889601415059e-01 -1.956311830976701e-01 -1.953734858227050e-01 -1.951158683885618e-01 + -1.948583307060198e-01 -1.946008726082255e-01 -1.943434944554087e-01 -1.940861964418109e-01 -1.938289783248288e-01 + -1.935718400929853e-01 -1.933147818435645e-01 -1.930578036445209e-01 -1.928009053047615e-01 -1.925440867668252e-01 + -1.922873484836986e-01 -1.920306904586313e-01 -1.917741124759950e-01 -1.915176145882685e-01 -1.912611968971867e-01 + -1.910048594156118e-01 -1.907486018758652e-01 -1.904924244300230e-01 -1.902363275204000e-01 -1.899803109613821e-01 + -1.897243746214878e-01 -1.894685186111405e-01 -1.892127429944364e-01 -1.889570476814606e-01 -1.887014324762902e-01 + -1.884458977092228e-01 -1.881904436322386e-01 -1.879350700181010e-01 -1.876797768445363e-01 -1.874245641980662e-01 + -1.871694321106837e-01 -1.869143804464632e-01 -1.866594091449939e-01 -1.864045185802509e-01 -1.861497088150435e-01 + -1.858949796742653e-01 -1.856403311585743e-01 -1.853857633524328e-01 -1.851312763093270e-01 -1.848768697910832e-01 + -1.846225438828809e-01 -1.843682990131126e-01 -1.841141350478542e-01 -1.838600518410295e-01 -1.836060494900988e-01 + -1.833521280737523e-01 -1.830982875326949e-01 -1.828445276569093e-01 -1.825908487213151e-01 -1.823372510073639e-01 + -1.820837342990139e-01 -1.818302985608840e-01 -1.815769438919524e-01 -1.813236703339543e-01 -1.810704777470943e-01 + -1.808173660274447e-01 -1.805643355946649e-01 -1.803113865319381e-01 -1.800585185867421e-01 -1.798057318207557e-01 + -1.795530263298101e-01 -1.793004021140676e-01 -1.790478589821669e-01 -1.787953969871552e-01 -1.785430165333783e-01 + -1.782907175616041e-01 -1.780384999147782e-01 -1.777863636186671e-01 -1.775343087850783e-01 -1.772823354138563e-01 + -1.770304432439544e-01 -1.767786324996124e-01 -1.765269035206169e-01 -1.762752561209628e-01 -1.760236902365481e-01 + -1.757722059508868e-01 -1.755208033072168e-01 -1.752694821962465e-01 -1.750182424985018e-01 -1.747670845873172e-01 + -1.745160085943736e-01 -1.742650142826787e-01 -1.740141016708582e-01 -1.737632708599284e-01 -1.735125219002990e-01 + -1.732618545819516e-01 -1.730112688968157e-01 -1.727607652962038e-01 -1.725103437360838e-01 -1.722600040199003e-01 + -1.720097462053399e-01 -1.717595703957765e-01 -1.715094765937824e-01 -1.712594645505801e-01 -1.710095344617568e-01 + -1.707596867053610e-01 -1.705099210652020e-01 -1.702602374503936e-01 -1.700106359820640e-01 -1.697611167032507e-01 + -1.695116795170456e-01 -1.692623242857098e-01 -1.690130513415946e-01 -1.687638608735592e-01 -1.685147526839133e-01 + -1.682657267304136e-01 -1.680167830834059e-01 -1.677679218434041e-01 -1.675191428301483e-01 -1.672704459776749e-01 + -1.670218317162355e-01 -1.667733000505553e-01 -1.665248507843929e-01 -1.662764839848620e-01 -1.660281997331086e-01 + -1.657799980211539e-01 -1.655318786421316e-01 -1.652838417439954e-01 -1.650358877061586e-01 -1.647880163635810e-01 + -1.645402275978841e-01 -1.642925215033296e-01 -1.640448981629310e-01 -1.637973575048030e-01 -1.635498993322754e-01 + -1.633025239587731e-01 -1.630552316214122e-01 -1.628080220971913e-01 -1.625608953706327e-01 -1.623138515347123e-01 + -1.620668906280902e-01 -1.618200125176413e-01 -1.615732171440627e-01 -1.613265048790783e-01 -1.610798757703294e-01 + -1.608333296326273e-01 -1.605868664946396e-01 -1.603404864451659e-01 -1.600941895233320e-01 -1.598479755194739e-01 + -1.596018445089071e-01 -1.593557968710357e-01 -1.591098325274174e-01 -1.588639513462271e-01 -1.586181533501567e-01 + -1.583724386633118e-01 -1.581268072684121e-01 -1.578812589110151e-01 -1.576357938605635e-01 -1.573904124176000e-01 + -1.571451143885420e-01 -1.568998997115455e-01 -1.566547684551118e-01 -1.564097207009810e-01 -1.561647563377750e-01 + -1.559198752534892e-01 -1.556750777971572e-01 -1.554303640753041e-01 -1.551857339241298e-01 -1.549411873472499e-01 + -1.546967244117141e-01 -1.544523451583313e-01 -1.542080493972972e-01 -1.539638371771692e-01 -1.537197089019022e-01 + -1.534756644902717e-01 -1.532317037874507e-01 -1.529878268669247e-01 -1.527440338285302e-01 -1.525003246495042e-01 + -1.522566990917994e-01 -1.520131573865194e-01 -1.517696998607227e-01 -1.515263263105132e-01 -1.512830366842278e-01 + -1.510398310896279e-01 -1.507967095609423e-01 -1.505536719818633e-01 -1.503107182379510e-01 -1.500678487166025e-01 + -1.498250635429138e-01 -1.495823624607518e-01 -1.493397455183047e-01 -1.490972128240516e-01 -1.488547643939502e-01 + -1.486124000468938e-01 -1.483701197975273e-01 -1.481279240643807e-01 -1.478858128086334e-01 -1.476437858541442e-01 + -1.474018432575297e-01 -1.471599850901578e-01 -1.469182113447434e-01 -1.466765218581870e-01 -1.464349167991909e-01 + -1.461933964691583e-01 -1.459519607332137e-01 -1.457106095126376e-01 -1.454693428712828e-01 -1.452281609001614e-01 + -1.449870635167667e-01 -1.447460505411944e-01 -1.445051223204885e-01 -1.442642790465533e-01 -1.440235204958664e-01 + -1.437828466645076e-01 -1.435422576460715e-01 -1.433017535021517e-01 -1.430613340788666e-01 -1.428209993367665e-01 + -1.425807496580667e-01 -1.423405850452980e-01 -1.421005053276286e-01 -1.418605105748216e-01 -1.416206008760722e-01 + -1.413807762310167e-01 -1.411410364179444e-01 -1.409013815814383e-01 -1.406618121114770e-01 -1.404223278620860e-01 + -1.401829287142080e-01 -1.399436147388266e-01 -1.397043860171121e-01 -1.394652424999606e-01 -1.392261840277533e-01 + -1.389872108800275e-01 -1.387483232704581e-01 -1.385095210193419e-01 -1.382708041155041e-01 -1.380321726381191e-01 + -1.377936266235328e-01 -1.375551659356028e-01 -1.373167905196480e-01 -1.370785007699294e-01 -1.368402967462084e-01 + -1.366021782602805e-01 -1.363641453151502e-01 -1.361261980034910e-01 -1.358883363925467e-01 -1.356505602730137e-01 + -1.354128697173978e-01 -1.351752651019714e-01 -1.349377463365720e-01 -1.347003133096952e-01 -1.344629660943524e-01 + -1.342257047644556e-01 -1.339885292721434e-01 -1.337514394288152e-01 -1.335144355004790e-01 -1.332775177574095e-01 + -1.330406860095451e-01 -1.328039402156265e-01 -1.325672804621033e-01 -1.323307068237664e-01 -1.320942191803451e-01 + -1.318578174250235e-01 -1.316215019436967e-01 -1.313852728254415e-01 -1.311491298574344e-01 -1.309130730812647e-01 + -1.306771025967214e-01 -1.304412184433993e-01 -1.302054204167683e-01 -1.299697085633917e-01 -1.297340833011096e-01 + -1.294985445422908e-01 -1.292630921400970e-01 -1.290277262032818e-01 -1.287924468024440e-01 -1.285572538860320e-01 + -1.283221472565841e-01 -1.280871271607027e-01 -1.278521939245786e-01 -1.276173473594251e-01 -1.273825873815436e-01 + -1.271479140654554e-01 -1.269133275291332e-01 -1.266788276689478e-01 -1.264444143112885e-01 -1.262100878411512e-01 + -1.259758484249543e-01 -1.257416958580221e-01 -1.255076301118343e-01 -1.252736512740011e-01 -1.250397594556589e-01 + -1.248059544551782e-01 -1.245722362561283e-01 -1.243386053032582e-01 -1.241050615437150e-01 -1.238716047916152e-01 + -1.236382351439431e-01 -1.234049527007845e-01 -1.231717574487822e-01 -1.229386491649988e-01 -1.227056280466961e-01 + -1.224726944551588e-01 -1.222398481939305e-01 -1.220070891810755e-01 -1.217744175349468e-01 -1.215418333321439e-01 + -1.213093364896874e-01 -1.210769268543440e-01 -1.208446047468073e-01 -1.206123703546746e-01 -1.203802234985189e-01 + -1.201481641556592e-01 -1.199161924040098e-01 -1.196843083373426e-01 -1.194525118101599e-01 -1.192208027778711e-01 + -1.189891816158967e-01 -1.187576483334740e-01 -1.185262027772708e-01 -1.182948450325541e-01 -1.180635751718018e-01 + -1.178323931740712e-01 -1.176012988598141e-01 -1.173702923768903e-01 -1.171393740841554e-01 -1.169085438684581e-01 + -1.166778016318426e-01 -1.164471474323627e-01 -1.162165813372163e-01 -1.159861033094216e-01 -1.157557132288848e-01 + -1.155254113554128e-01 -1.152951978878259e-01 -1.150650726784410e-01 -1.148350356935617e-01 -1.146050869998271e-01 + -1.143752266983624e-01 -1.141454546633286e-01 -1.139157708150553e-01 -1.136861755297615e-01 -1.134566688685596e-01 + -1.132272506625232e-01 -1.129979209389772e-01 -1.127686797968139e-01 -1.125395272939830e-01 -1.123104632216639e-01 + -1.120814876598629e-01 -1.118526009932446e-01 -1.116238031362107e-01 -1.113950939743172e-01 -1.111664735714766e-01 + -1.109379420230661e-01 -1.107094992989161e-01 -1.104811452047023e-01 -1.102528800189790e-01 -1.100247040176238e-01 + -1.097966169898620e-01 -1.095686189066022e-01 -1.093407098806465e-01 -1.091128899944971e-01 -1.088851591239916e-01 + -1.086575171512236e-01 -1.084299644451029e-01 -1.082025011238454e-01 -1.079751270251657e-01 -1.077478421434466e-01 + -1.075206465724022e-01 -1.072935404061887e-01 -1.070665234272605e-01 -1.068395956686409e-01 -1.066127575621145e-01 + -1.063860090403522e-01 -1.061593499609373e-01 -1.059327804074918e-01 -1.057063004552603e-01 -1.054799100848440e-01 + -1.052536091459819e-01 -1.050273978363624e-01 -1.048012764247322e-01 -1.045752447992682e-01 -1.043493029044653e-01 + -1.041234507912105e-01 -1.038976885616201e-01 -1.036720161437409e-01 -1.034464334142674e-01 -1.032209407082870e-01 + -1.029955381585720e-01 -1.027702255852857e-01 -1.025450030256683e-01 -1.023198705766582e-01 -1.020948282803886e-01 + -1.018698759615270e-01 -1.016450136357437e-01 -1.014202417243671e-01 -1.011955602054591e-01 -1.009709689162001e-01 + -1.007464679013254e-01 -1.005220572777319e-01 -1.002977370772110e-01 -1.000735070732387e-01 -9.984936745539402e-02 + -9.962531858349888e-02 -9.940136027998529e-02 -9.917749246814733e-02 -9.895371525770333e-02 -9.873002873335845e-02 + -9.850643282337790e-02 -9.828292738770521e-02 -9.805951276903688e-02 -9.783618914357473e-02 -9.761295629040607e-02 + -9.738981424317925e-02 -9.716676311420755e-02 -9.694380293900719e-02 -9.672093359332221e-02 -9.649815506782670e-02 + -9.627546771326484e-02 -9.605287156919239e-02 -9.583036651098850e-02 -9.560795255252680e-02 -9.538562978098189e-02 + -9.516339824129488e-02 -9.494125774199282e-02 -9.471920843970391e-02 -9.449725071216948e-02 -9.427538438593883e-02 + -9.405360936874554e-02 -9.383192580278800e-02 -9.361033376064058e-02 -9.338883317577901e-02 -9.316742389906425e-02 + -9.294610622995669e-02 -9.272488039403920e-02 -9.250374621386263e-02 -9.228270367992475e-02 -9.206175287916113e-02 + -9.184089387273792e-02 -9.162012656935895e-02 -9.139945093572596e-02 -9.117886729658348e-02 -9.095837571294788e-02 + -9.073797605928635e-02 -9.051766837713708e-02 -9.029745274779008e-02 -9.007732920697027e-02 -8.985729759887780e-02 + -8.963735802530043e-02 -8.941751083887589e-02 -8.919775594907166e-02 -8.897809325953572e-02 -8.875852286193828e-02 + -8.853904483959285e-02 -8.831965916578795e-02 -8.810036569419880e-02 -8.788116467295366e-02 -8.766205635082600e-02 + -8.744304058057480e-02 -8.722411733824492e-02 -8.700528670561582e-02 -8.678654875532379e-02 -8.656790339361393e-02 + -8.634935054757228e-02 -8.613089058374623e-02 -8.591252359970507e-02 -8.569424942256174e-02 -8.547606809595372e-02 + -8.525797972327777e-02 -8.503998436304407e-02 -8.482208183975883e-02 -8.460427219735964e-02 -8.438655581333676e-02 + -8.416893266387415e-02 -8.395140264416648e-02 -8.373396580036768e-02 -8.351662221748458e-02 -8.329937190808817e-02 + -8.308221474187347e-02 -8.286515089972675e-02 -8.264818063381729e-02 -8.243130387381740e-02 -8.221452057360500e-02 + -8.199783077068876e-02 -8.178123458056528e-02 -8.156473193866548e-02 -8.134832272179610e-02 -8.113200727104515e-02 + -8.091578573554094e-02 -8.069965795549490e-02 -8.048362394306618e-02 -8.026768379237301e-02 -8.005183759034226e-02 + -7.983608519016389e-02 -7.962042660317335e-02 -7.940486220827629e-02 -7.918939199917317e-02 -7.897401585103307e-02 + -7.875873382193239e-02 -7.854354599947752e-02 -7.832845240531904e-02 -7.811345290511561e-02 -7.789854765910142e-02 + -7.768373695009409e-02 -7.746902070156129e-02 -7.725439886068521e-02 -7.703987147751143e-02 -7.682543865920169e-02 + -7.661110037032860e-02 -7.639685648697914e-02 -7.618270730319152e-02 -7.596865299784139e-02 -7.575469343456721e-02 + -7.554082861289950e-02 -7.532705861915691e-02 -7.511338355056779e-02 -7.489980327273796e-02 -7.468631776375068e-02 + -7.447292742489155e-02 -7.425963225373161e-02 -7.404643208981297e-02 -7.383332706618533e-02 -7.362031725942129e-02 + -7.340740264369265e-02 -7.319458312424655e-02 -7.298185885257603e-02 -7.276923011698885e-02 -7.255669681825400e-02 + -7.234425890125808e-02 -7.213191646645117e-02 -7.191966959969415e-02 -7.170751827394115e-02 -7.149546237742448e-02 + -7.128350216363183e-02 -7.107163782537941e-02 -7.085986923051370e-02 -7.064819639413342e-02 -7.043661941815849e-02 + -7.022513838389523e-02 -7.001375316964638e-02 -6.980246372359999e-02 -6.959127044971054e-02 -6.938017339783993e-02 + -6.916917238807876e-02 -6.895826751099868e-02 -6.874745887832359e-02 -6.853674652264935e-02 -6.832613029387129e-02 + -6.811561029537151e-02 -6.790518687416305e-02 -6.769485994872884e-02 -6.748462944761908e-02 -6.727449549181348e-02 + -6.706445814195625e-02 -6.685451736224034e-02 -6.664467305023641e-02 -6.643492546019260e-02 -6.622527482862205e-02 + -6.601572100856345e-02 -6.580626400049541e-02 -6.559690390732385e-02 -6.538764078471235e-02 -6.517847455920224e-02 + -6.496940519404462e-02 -6.476043303620643e-02 -6.455155816426872e-02 -6.434278041275177e-02 -6.413409988235154e-02 + -6.392551667227454e-02 -6.371703078482928e-02 -6.350864213121965e-02 -6.330035079826633e-02 -6.309215709125325e-02 + -6.288406097171770e-02 -6.267606236590158e-02 -6.246816137578116e-02 -6.226035810132791e-02 -6.205265253482506e-02 + -6.184504450634240e-02 -6.163753424009603e-02 -6.143012204113525e-02 -6.122280779495761e-02 -6.101559145710207e-02 + -6.080847310111580e-02 -6.060145284620669e-02 -6.039453063876327e-02 -6.018770637541451e-02 -5.998098039534337e-02 + -5.977435284136760e-02 -5.956782355675167e-02 -5.936139258218223e-02 -5.915506002510895e-02 -5.894882595975996e-02 + -5.874269025717062e-02 -5.853665294379332e-02 -5.833071438748900e-02 -5.812487459491447e-02 -5.791913345983549e-02 + -5.771349104248068e-02 -5.750794745476003e-02 -5.730250273990040e-02 -5.709715674449271e-02 -5.689190963313420e-02 + -5.668676170442684e-02 -5.648171287301057e-02 -5.627676311138611e-02 -5.607191251359627e-02 -5.586716116856662e-02 + -5.566250902085241e-02 -5.545795595276776e-02 -5.525350230977423e-02 -5.504914828197500e-02 -5.484489368806074e-02 + -5.464073856561743e-02 -5.443668303623681e-02 -5.423272717677420e-02 -5.402887087270093e-02 -5.382511411736842e-02 + -5.362145727556954e-02 -5.341790037997223e-02 -5.321444331788154e-02 -5.301108618236487e-02 -5.280782907094528e-02 + -5.260467200594416e-02 -5.240161485390568e-02 -5.219865776343095e-02 -5.199580105954085e-02 -5.179304465507040e-02 + -5.159038850941820e-02 -5.138783273765680e-02 -5.118537740030552e-02 -5.098302246878324e-02 -5.078076787428482e-02 + -5.057861387937131e-02 -5.037656068404879e-02 -5.017460818262723e-02 -4.997275637519877e-02 -4.977100534878579e-02 + -4.956935521374012e-02 -4.936780587637167e-02 -4.916635729330274e-02 -4.896500983679772e-02 -4.876376358063662e-02 + -4.856261839799727e-02 -4.836157437280066e-02 -4.816063160553166e-02 -4.795979012910388e-02 -4.775904981223175e-02 + -4.755841077230219e-02 -4.735787336181510e-02 -4.715743752596301e-02 -4.695710319390285e-02 -4.675687045398216e-02 + -4.655673941737810e-02 -4.635671009364274e-02 -4.615678236145827e-02 -4.595695644691457e-02 -4.575723258610617e-02 + -4.555761069075770e-02 -4.535809077212207e-02 -4.515867291944397e-02 -4.495935719937229e-02 -4.476014355843901e-02 + -4.456103197632578e-02 -4.436202279051898e-02 -4.416311608901573e-02 -4.396431172960501e-02 -4.376560979706327e-02 + -4.356701040970479e-02 -4.336851362154585e-02 -4.317011930970618e-02 -4.297182755295056e-02 -4.277363871130811e-02 + -4.257555275870079e-02 -4.237756961321195e-02 -4.217968936488893e-02 -4.198191211978222e-02 -4.178423789759614e-02 + -4.158666657665847e-02 -4.138919837391426e-02 -4.119183356383482e-02 -4.099457203865310e-02 -4.079741379048268e-02 + -4.060035892668235e-02 -4.040340754077800e-02 -4.020655958670875e-02 -4.000981499812348e-02 -3.981317410229721e-02 + -3.961663704352115e-02 -3.942020369405195e-02 -3.922387410519079e-02 -3.902764838570288e-02 -3.883152661169272e-02 + -3.863550868276464e-02 -3.843959464464100e-02 -3.824378485096525e-02 -3.804807931112070e-02 -3.785247793879744e-02 + -3.765698082240899e-02 -3.746158806803077e-02 -3.726629970906549e-02 -3.707111562537097e-02 -3.687603600301111e-02 + -3.668106114329449e-02 -3.648619095542227e-02 -3.629142541706046e-02 -3.609676463615045e-02 -3.590220871216067e-02 + -3.570775761915167e-02 -3.551341127587861e-02 -3.531916998478909e-02 -3.512503392646860e-02 -3.493100298239093e-02 + -3.473707719308593e-02 -3.454325666569649e-02 -3.434954148093054e-02 -3.415593156072503e-02 -3.396242692622412e-02 + -3.376902792182854e-02 -3.357573459185429e-02 -3.338254684613227e-02 -3.318946476737597e-02 -3.299648846264201e-02 + -3.280361798076661e-02 -3.261085320981364e-02 -3.241819429994710e-02 -3.222564156785773e-02 -3.203319495411584e-02 + -3.184085442350271e-02 -3.164862007407277e-02 -3.145649201602077e-02 -3.126447024597763e-02 -3.107255466700169e-02 + -3.088074555671056e-02 -3.068904313085425e-02 -3.049744727803826e-02 -3.030595802638682e-02 -3.011457548570120e-02 + -2.992329974875160e-02 -2.973213075050443e-02 -2.954106848293515e-02 -2.935011329195715e-02 -2.915926525661732e-02 + -2.896852427673346e-02 -2.877789042941862e-02 -2.858736382466336e-02 -2.839694452567641e-02 -2.820663243092813e-02 + -2.801642765839682e-02 -2.782633053619610e-02 -2.763634102981755e-02 -2.744645909471058e-02 -2.725668483048721e-02 + -2.706701834793413e-02 -2.687745966148872e-02 -2.668800867127078e-02 -2.649866562411629e-02 -2.630943076513501e-02 + -2.612030399888650e-02 -2.593128533989631e-02 -2.574237489560391e-02 -2.555357276907920e-02 -2.536487891525730e-02 + -2.517629330290238e-02 -2.498781626631630e-02 -2.479944791947400e-02 -2.461118815951395e-02 -2.442303705775731e-02 + -2.423499472682666e-02 -2.404706124098910e-02 -2.385923651050157e-02 -2.367152062237768e-02 -2.348391391197065e-02 + -2.329641637680258e-02 -2.310902796361102e-02 -2.292174876507744e-02 -2.273457889435020e-02 -2.254751838574287e-02 + -2.236056713942959e-02 -2.217372537079298e-02 -2.198699334983061e-02 -2.180037099746794e-02 -2.161385831877313e-02 + -2.142745542221016e-02 -2.124116241611923e-02 -2.105497927356034e-02 -2.086890594375282e-02 -2.068294274565517e-02 + -2.049708982965088e-02 -2.031134709508492e-02 -2.012571460207244e-02 -1.994019246558534e-02 -1.975478077426674e-02 + -1.956947944878238e-02 -1.938428854559868e-02 -1.919920840769478e-02 -1.901423906121075e-02 -1.882938044349050e-02 + -1.864463264867233e-02 -1.845999578941159e-02 -1.827546991282947e-02 -1.809105492490821e-02 -1.790675101318496e-02 + -1.772255847013706e-02 -1.753847723077995e-02 -1.735450728912205e-02 -1.717064875577919e-02 -1.698690174123156e-02 + -1.680326624034783e-02 -1.661974219495428e-02 -1.643632989539235e-02 -1.625302952284425e-02 -1.606984099009794e-02 + -1.588676434582367e-02 -1.570379970237604e-02 -1.552094715767664e-02 -1.533820665109939e-02 -1.515557821470722e-02 + -1.497306218983010e-02 -1.479065863118324e-02 -1.460836746737021e-02 -1.442618879376636e-02 -1.424412272699600e-02 + -1.406216932715821e-02 -1.388032850365394e-02 -1.369860041414062e-02 -1.351698537084881e-02 -1.333548332713773e-02 + -1.315409426742165e-02 -1.297281830737383e-02 -1.279165555870565e-02 -1.261060603011550e-02 -1.242966965324022e-02 + -1.224884670128487e-02 -1.206813738892206e-02 -1.188754163203305e-02 -1.170705946859269e-02 -1.152669101347058e-02 + -1.134643637569507e-02 -1.116629550991553e-02 -1.098626842139487e-02 -1.080635544822676e-02 -1.062655668128806e-02 + -1.044687204494093e-02 -1.026730162280993e-02 -1.008784553433474e-02 -9.908503858526582e-03 -9.729276511698201e-03 + -9.550163618928804e-03 -9.371165505355611e-03 -9.192282154920128e-03 -9.013513542246960e-03 -8.834859775588668e-03 + -8.656320970291077e-03 -8.477897155130903e-03 -8.299588259899083e-03 -8.121394531144674e-03 -7.943316209259341e-03 + -7.765353219198069e-03 -7.587505591333328e-03 -7.409773443860054e-03 -7.232156891183837e-03 -7.054655906230881e-03 + -6.877270474033493e-03 -6.700000921715352e-03 -6.522847372218281e-03 -6.345809748257097e-03 -6.168888131399519e-03 + -5.992082642122597e-03 -5.815393366379400e-03 -5.638820235869921e-03 -5.462363348533388e-03 -5.286023033805962e-03 + -5.109799304673499e-03 -4.933692127821829e-03 -4.757701606393674e-03 -4.581827861470766e-03 -4.406070940931505e-03 + -4.230430770274698e-03 -4.054907567997104e-03 -3.879501600335772e-03 -3.704212807069328e-03 -3.529041210474627e-03 + -3.353986930090703e-03 -3.179050081041732e-03 -3.004230655593028e-03 -2.829528626659512e-03 -2.654944304289923e-03 + -2.480477843039907e-03 -2.306129168890747e-03 -2.131898354626704e-03 -1.957785522367332e-03 -1.783790769612464e-03 + -1.609914041309663e-03 -1.436155409326836e-03 -1.262515208025358e-03 -1.088993476198761e-03 -9.155901719868249e-04 + -7.423054008843995e-04 -5.691392854771952e-04 -3.960918865957833e-04 -2.231631331613931e-04 -5.035321608514060e-05 + 1.223375771945329e-04 2.949092895407656e-04 4.673619084872533e-04 6.396953140537370e-04 8.119093865188150e-04 + 9.840041155727759e-04 1.155979539871523e-03 1.327835367602612e-03 1.499571413663267e-03 1.671187748049661e-03 + 1.842684305331169e-03 2.014060960896812e-03 2.185317608856639e-03 2.356454289147141e-03 2.527470954200780e-03 + 2.698367270832486e-03 2.869143169831049e-03 3.039798698561594e-03 3.210333755176400e-03 3.380748214685887e-03 + 3.551042001872539e-03 3.721215182132198e-03 3.891267592694254e-03 4.061198929412137e-03 4.231009214636464e-03 + 4.400698444839332e-03 4.570266499650065e-03 4.739713256426893e-03 4.909038688279234e-03 5.078242841339914e-03 + 5.247325443294046e-03 5.416286280121805e-03 5.585125417934797e-03 5.753842797319914e-03 5.922438289361948e-03 + 6.090911784292105e-03 6.259263304936011e-03 6.427492823105761e-03 6.595600012759487e-03 6.763584774419725e-03 + 6.931447157908777e-03 7.099187064683324e-03 7.266804368739545e-03 7.434298984071849e-03 7.601670964899477e-03 + 7.768920175905106e-03 7.936046303989365e-03 8.103049345026314e-03 8.269929303195386e-03 8.436686062480435e-03 + 8.603319496825714e-03 8.769829559891583e-03 8.936216298209541e-03 9.102479469308070e-03 9.268618835503980e-03 + 9.434634442417017e-03 9.600526244002849e-03 9.766294116521254e-03 9.931937936947469e-03 1.009745771049027e-02 + 1.026285342997890e-02 1.042812477681206e-02 1.059327162144324e-02 1.075829401681754e-02 1.092319186819127e-02 + 1.108796504594824e-02 1.125261345370748e-02 1.141713713772357e-02 1.158153598704318e-02 1.174580967555363e-02 + 1.190995817803677e-02 1.207398151021485e-02 1.223787955540131e-02 1.240165218070774e-02 1.256529932365555e-02 + 1.272882103806231e-02 1.289221710280211e-02 1.305548725320952e-02 1.321863152957668e-02 1.338164989105289e-02 + 1.354454220587777e-02 1.370730835288826e-02 1.386994832163190e-02 1.403246211588375e-02 1.419484943187744e-02 + 1.435711010999991e-02 1.451924419921884e-02 1.468125161270911e-02 1.484313222013652e-02 1.500488591571896e-02 + 1.516651273046586e-02 1.532801257754355e-02 1.548938513124086e-02 1.565063033579857e-02 1.581174821092933e-02 + 1.597273864701365e-02 1.613360150922888e-02 1.629433671764488e-02 1.645494432276120e-02 1.661542413184349e-02 + 1.677577586209575e-02 1.693599953321696e-02 1.709609511287956e-02 1.725606247097126e-02 1.741590148147653e-02 + 1.757561211738663e-02 1.773519439308624e-02 1.789464801957598e-02 1.805397280960725e-02 1.821316881163111e-02 + 1.837223594327105e-02 1.853117406905512e-02 1.868998307594014e-02 1.884866298214414e-02 1.900721372338833e-02 + 1.916563497459167e-02 1.932392665507269e-02 1.948208878919649e-02 1.964012126059438e-02 1.979802393750615e-02 + 1.995579673545799e-02 2.011343968946751e-02 2.027095263124555e-02 2.042833526879373e-02 2.058558759933038e-02 + 2.074270959919291e-02 2.089970114286997e-02 2.105656209513535e-02 2.121329241031374e-02 2.136989211400533e-02 + 2.152636093833320e-02 2.168269866776463e-02 2.183890534086288e-02 2.199498088647827e-02 2.215092516911965e-02 + 2.230673806408907e-02 2.246241957468516e-02 2.261796965793072e-02 2.277338799181243e-02 2.292867446749406e-02 + 2.308382911412376e-02 2.323885181888266e-02 2.339374244699652e-02 2.354850090287507e-02 2.370312721409915e-02 + 2.385762123470989e-02 2.401198266010886e-02 2.416621147301771e-02 2.432030765671687e-02 2.447427107682733e-02 + 2.462810160176357e-02 2.478179917471193e-02 2.493536381795363e-02 2.508879528739230e-02 2.524209334527653e-02 + 2.539525801488748e-02 2.554828923354157e-02 2.570118686847216e-02 2.585395079171064e-02 2.600658098606827e-02 + 2.615907742012537e-02 2.631143978762620e-02 2.646366795301069e-02 2.661576194257877e-02 2.676772164859378e-02 + 2.691954693391293e-02 2.707123769272043e-02 2.722279394328245e-02 2.737421556407061e-02 2.752550224474631e-02 + 2.767665393933695e-02 2.782767063812680e-02 2.797855221700411e-02 2.812929853552858e-02 2.827990951702357e-02 + 2.843038519104858e-02 2.858072533585580e-02 2.873092969062032e-02 2.888099827101270e-02 2.903093101911967e-02 + 2.918072779556083e-02 2.933038847140823e-02 2.947991301658642e-02 2.962930141213865e-02 2.977855336278226e-02 + 2.992766870509821e-02 3.007664746318324e-02 3.022548953626840e-02 3.037419478553557e-02 3.052276309616091e-02 + 3.067119447416764e-02 3.081948881896879e-02 3.096764581778017e-02 3.111566540198458e-02 3.126354756710210e-02 + 3.141129218718559e-02 3.155889912410548e-02 3.170636829125183e-02 3.185369970791438e-02 3.200089317518744e-02 + 3.214794841776677e-02 3.229486543634106e-02 3.244164418203412e-02 3.258828451581320e-02 3.273478630264194e-02 + 3.288114949586567e-02 3.302737408530167e-02 3.317345979235018e-02 3.331940642975919e-02 3.346521401820098e-02 + 3.361088246101045e-02 3.375641161607764e-02 3.390180136352038e-02 3.404705169548587e-02 3.419216253016829e-02 + 3.433713355905806e-02 3.448196468652563e-02 3.462665590981111e-02 3.477120710939272e-02 3.491561814527116e-02 + 3.505988891618091e-02 3.520401943397326e-02 3.534800952666442e-02 3.549185891051008e-02 3.563556756111654e-02 + 3.577913543618631e-02 3.592256240340591e-02 3.606584831947614e-02 3.620899312153205e-02 3.635199681091714e-02 + 3.649485912620978e-02 3.663757985375464e-02 3.678015900636063e-02 3.692259649832257e-02 3.706489218607827e-02 + 3.720704593508108e-02 3.734905772908955e-02 3.749092751022131e-02 3.763265496742431e-02 3.777423997951684e-02 + 3.791568254953915e-02 3.805698256030369e-02 3.819813986869797e-02 3.833915436267914e-02 3.848002605018682e-02 + 3.862075477984065e-02 3.876134025391093e-02 3.890178243600422e-02 3.904208129158644e-02 3.918223668100989e-02 + 3.932224846044379e-02 3.946211655605483e-02 3.960184097189857e-02 3.974142146457355e-02 3.988085779819951e-02 + 4.002014997942075e-02 4.015929792921669e-02 4.029830150192959e-02 4.043716055991190e-02 4.057587507004282e-02 + 4.071444498657769e-02 4.085287001066611e-02 4.099114999824743e-02 4.112928495212512e-02 4.126727475679569e-02 + 4.140511926665246e-02 4.154281836167219e-02 4.168037204269245e-02 4.181778018003033e-02 4.195504246778908e-02 + 4.209215884913708e-02 4.222912929605258e-02 4.236595366776428e-02 4.250263182248033e-02 4.263916367566677e-02 + 4.277554922465009e-02 4.291178824859961e-02 4.304788049654025e-02 4.318382596138427e-02 4.331962457087349e-02 + 4.345527617981602e-02 4.359078064797250e-02 4.372613792550029e-02 4.386134797486977e-02 4.399641051415262e-02 + 4.413132537776133e-02 4.426609256403441e-02 4.440071196061698e-02 4.453518342174363e-02 4.466950682320869e-02 + 4.480368214879805e-02 4.493770928728694e-02 4.507158793990715e-02 4.520531802497359e-02 4.533889951667943e-02 + 4.547233228082954e-02 4.560561616979211e-02 4.573875108353129e-02 4.587173702317195e-02 4.600457379177124e-02 + 4.613726112101928e-02 4.626979898466685e-02 4.640218731770854e-02 4.653442597807410e-02 4.666651481740990e-02 + 4.679845378497393e-02 4.693024287357150e-02 4.706188178521280e-02 4.719337030512012e-02 4.732470843170088e-02 + 4.745589609974604e-02 4.758693317708736e-02 4.771781949014568e-02 4.784855500276729e-02 4.797913963655120e-02 + 4.810957311625792e-02 4.823985532440599e-02 4.836998622519359e-02 4.849996572088229e-02 4.862979364778694e-02 + 4.875946986129576e-02 4.888899438454671e-02 4.901836703838853e-02 4.914758752328308e-02 4.927665585368439e-02 + 4.940557196434897e-02 4.953433564666962e-02 4.966294680168561e-02 4.979140536998770e-02 4.991971127467005e-02 + 5.004786430086550e-02 5.017586426593462e-02 5.030371111424699e-02 5.043140473941395e-02 5.055894500969876e-02 + 5.068633180855401e-02 5.081356509387767e-02 5.094064477169723e-02 5.106757053524139e-02 5.119434226596677e-02 + 5.132095996453229e-02 5.144742351517578e-02 5.157373274644007e-02 5.169988750799723e-02 5.182588783131492e-02 + 5.195173357105356e-02 5.207742440366903e-02 5.220296027189056e-02 5.232834113948501e-02 5.245356688434039e-02 + 5.257863735375337e-02 5.270355244318054e-02 5.282831211610928e-02 5.295291615700908e-02 5.307736435753736e-02 + 5.320165668494783e-02 5.332579302368824e-02 5.344977322479061e-02 5.357359720391287e-02 5.369726488407797e-02 + 5.382077614890905e-02 5.394413077320572e-02 5.406732861255047e-02 5.419036960275756e-02 5.431325364836510e-02 + 5.443598061485443e-02 5.455855035736775e-02 5.468096283548277e-02 5.480321791614200e-02 5.492531533836561e-02 + 5.504725504027442e-02 5.516903696522249e-02 5.529066094250196e-02 5.541212681912044e-02 5.553343451105355e-02 + 5.565458402054679e-02 5.577557512714444e-02 5.589640757833542e-02 5.601708136214176e-02 5.613759637012277e-02 + 5.625795242697428e-02 5.637814944133901e-02 5.649818735356010e-02 5.661806606948155e-02 5.673778531909066e-02 + 5.685734496106067e-02 5.697674499811992e-02 5.709598525886500e-02 5.721506557962035e-02 5.733398588420521e-02 + 5.745274613557275e-02 5.757134619305772e-02 5.768978576165893e-02 5.780806477237931e-02 5.792618319490116e-02 + 5.804414085654030e-02 5.816193759992416e-02 5.827957333255503e-02 5.839704805764100e-02 5.851436157058919e-02 + 5.863151359019340e-02 5.874850407742044e-02 5.886533297606138e-02 5.898200016057164e-02 5.909850545490182e-02 + 5.921484876799358e-02 5.933103006596772e-02 5.944704910278828e-02 5.956290569090495e-02 5.967859979076014e-02 + 5.979413129454921e-02 5.990950006107775e-02 6.002470595625681e-02 6.013974894676900e-02 6.025462892974234e-02 + 6.036934559538653e-02 6.048389882575328e-02 6.059828859366181e-02 6.071251478747773e-02 6.082657726499330e-02 + 6.094047589468096e-02 6.105421060960093e-02 6.116778124880510e-02 6.128118760026364e-02 6.139442960439424e-02 + 6.150750715787331e-02 6.162042008748835e-02 6.173316829355946e-02 6.184575170612789e-02 6.195817023946892e-02 + 6.207042366308074e-02 6.218251178412997e-02 6.229443455021107e-02 6.240619187345142e-02 6.251778362644587e-02 + 6.262920965673664e-02 6.274046989094115e-02 6.285156423838029e-02 6.296249246083868e-02 6.307325441937692e-02 + 6.318385004239983e-02 6.329427920287174e-02 6.340454177652059e-02 6.351463766120390e-02 6.362456678994362e-02 + 6.373432899407734e-02 6.384392402667542e-02 6.395335181995393e-02 6.406261231361865e-02 6.417170537725830e-02 + 6.428063082883417e-02 6.438938856382127e-02 6.449797859582693e-02 6.460640069400744e-02 6.471465460887021e-02 + 6.482274028565467e-02 6.493065766530991e-02 6.503840663024645e-02 6.514598697176463e-02 6.525339863731919e-02 + 6.536064160053869e-02 6.546771556229376e-02 6.557462036169828e-02 6.568135597564134e-02 6.578792228094754e-02 + 6.589431913461476e-02 6.600054641494822e-02 6.610660407274732e-02 6.621249195669229e-02 6.631820979208959e-02 + 6.642375751800587e-02 6.652913508526218e-02 6.663434233390064e-02 6.673937912206085e-02 6.684424535139094e-02 + 6.694894096694531e-02 6.705346576057515e-02 6.715781952052316e-02 6.726200223606826e-02 6.736601378290344e-02 + 6.746985396850236e-02 6.757352270136854e-02 6.767701992273348e-02 6.778034554033589e-02 6.788349929667206e-02 + 6.798648102682574e-02 6.808929069330329e-02 6.819192820375723e-02 6.829439341428477e-02 6.839668615716293e-02 + 6.849880637697058e-02 6.860075397106770e-02 6.870252870886938e-02 6.880413046413429e-02 6.890555915577500e-02 + 6.900681468090485e-02 6.910789689150486e-02 6.920880565820778e-02 6.930954094436353e-02 6.941010257623929e-02 + 6.951049032497619e-02 6.961070411466443e-02 6.971074386483528e-02 6.981060945693285e-02 6.991030074013053e-02 + 7.000981760721879e-02 7.010915998226322e-02 7.020832768385020e-02 7.030732053981503e-02 7.040613843777971e-02 + 7.050478130476578e-02 7.060324902125202e-02 7.070154139632766e-02 7.079965841104072e-02 7.089759998592053e-02 + 7.099536579014293e-02 7.109295574922263e-02 7.119036986301433e-02 7.128760792254588e-02 7.138466979343019e-02 + 7.148155540894172e-02 7.157826467726322e-02 7.167479742578257e-02 7.177115345207208e-02 7.186733268619028e-02 + 7.196333504975572e-02 7.205916041090092e-02 7.215480858692887e-02 7.225027948023270e-02 7.234557308374470e-02 + 7.244068916926014e-02 7.253562753252076e-02 7.263038813284139e-02 7.272497087062332e-02 7.281937559790036e-02 + 7.291360215228662e-02 7.300765049821943e-02 7.310152057265214e-02 7.319521208383468e-02 7.328872490709243e-02 + 7.338205901635925e-02 7.347521425841259e-02 7.356819049091311e-02 7.366098761637971e-02 7.375360558736099e-02 + 7.384604424623381e-02 7.393830334347133e-02 7.403038279875497e-02 7.412228254437477e-02 7.421400245985316e-02 + 7.430554241104276e-02 7.439690229021774e-02 7.448808202204141e-02 7.457908141717452e-02 7.466990029970315e-02 + 7.476053861745356e-02 7.485099625058683e-02 7.494127304678436e-02 7.503136889191833e-02 7.512128371784581e-02 + 7.521101743547498e-02 7.530056981436373e-02 7.538994071268737e-02 7.547913007544443e-02 7.556813780083994e-02 + 7.565696374971752e-02 7.574560777501017e-02 7.583406981695588e-02 7.592234975180168e-02 7.601044736291800e-02 + 7.609836256769248e-02 7.618609528331391e-02 7.627364535037680e-02 7.636101265407126e-02 7.644819711937149e-02 + 7.653519868718589e-02 7.662201715447789e-02 7.670865230880411e-02 7.679510411035856e-02 7.688137246970578e-02 + 7.696745724207896e-02 7.705335828035317e-02 7.713907552614908e-02 7.722460893765626e-02 7.730995825366380e-02 + 7.739512330293280e-02 7.748010405365591e-02 7.756490042829636e-02 7.764951228919105e-02 7.773393946198498e-02 + 7.781818189157449e-02 7.790223948237281e-02 7.798611201876808e-02 7.806979939436651e-02 7.815330154059554e-02 + 7.823661834982702e-02 7.831974966729814e-02 7.840269536418043e-02 7.848545542109749e-02 7.856802968700778e-02 + 7.865041794492959e-02 7.873262009221961e-02 7.881463606524114e-02 7.889646578364969e-02 7.897810905385311e-02 + 7.905956578813299e-02 7.914083598393755e-02 7.922191938944982e-02 7.930281582198326e-02 7.938352526916173e-02 + 7.946404763288464e-02 7.954438277705837e-02 7.962453057021987e-02 7.970449093695484e-02 7.978426377009373e-02 + 7.986384886265184e-02 7.994324611178145e-02 8.002245546069972e-02 8.010147680163558e-02 8.018030998339011e-02 + 8.025895486859348e-02 8.033741142939121e-02 8.041567953647351e-02 8.049375898816008e-02 8.057164970191152e-02 + 8.064935159117341e-02 8.072686453538828e-02 8.080418841559016e-02 8.088132313650849e-02 8.095826861741187e-02 + 8.103502469212946e-02 8.111159121525567e-02 8.118796811657426e-02 8.126415526945288e-02 8.134015254787534e-02 + 8.141595988122388e-02 8.149157718184835e-02 8.156700432424771e-02 8.164224113093393e-02 8.171728750211138e-02 + 8.179214337283539e-02 8.186680860558979e-02 8.194128308109257e-02 8.201556671181809e-02 8.208965942384167e-02 + 8.216356107347705e-02 8.223727146913333e-02 8.231079055026533e-02 8.238411825286719e-02 8.245725445426123e-02 + 8.253019901019013e-02 8.260295182089074e-02 8.267551284923887e-02 8.274788192985057e-02 8.282005889192648e-02 + 8.289204367192234e-02 8.296383619751495e-02 8.303543635380874e-02 8.310684396376640e-02 8.317805898151856e-02 + 8.324908138250064e-02 8.331991092178788e-02 8.339054746670159e-02 8.346099098907200e-02 8.353124136246602e-02 + 8.360129848004999e-02 8.367116227251760e-02 8.374083263302687e-02 8.381030943134427e-02 8.387959252741883e-02 + 8.394868181167527e-02 8.401757720093640e-02 8.408627862550171e-02 8.415478594369409e-02 8.422309904154775e-02 + 8.429121790707177e-02 8.435914237533512e-02 8.442687225429805e-02 8.449440750560887e-02 8.456174803803686e-02 + 8.462889372267089e-02 8.469584447602406e-02 8.476260023136410e-02 8.482916090148240e-02 8.489552630009754e-02 + 8.496169630228255e-02 8.502767086164854e-02 8.509344988672647e-02 8.515903326018803e-02 8.522442086136313e-02 + 8.528961263471936e-02 8.535460848680074e-02 8.541940824041729e-02 8.548401181612168e-02 8.554841915131453e-02 + 8.561263012321893e-02 8.567664461211427e-02 8.574046253447680e-02 8.580408386832587e-02 8.586750845589863e-02 + 8.593073610333024e-02 8.599376680387132e-02 8.605660047760594e-02 8.611923696874126e-02 8.618167618396408e-02 + 8.624391807608472e-02 8.630596259724549e-02 8.636780954833972e-02 8.642945878839840e-02 8.649091029427977e-02 + 8.655216396695875e-02 8.661321970043215e-02 8.667407742210617e-02 8.673473702989365e-02 8.679519841504303e-02 + 8.685546148336530e-02 8.691552612855238e-02 8.697539224666265e-02 8.703505975750943e-02 8.709452857692032e-02 + 8.715379861893667e-02 8.721286980508075e-02 8.727174201224434e-02 8.733041510377958e-02 8.738888903629666e-02 + 8.744716372671989e-02 8.750523904187274e-02 8.756311491392924e-02 8.762079127795709e-02 8.767826803995526e-02 + 8.773554506310657e-02 8.779262223690780e-02 8.784949951260017e-02 8.790617682173207e-02 8.796265406226209e-02 + 8.801893109931651e-02 8.807500788687952e-02 8.813088437660771e-02 8.818656039674132e-02 8.824203585227545e-02 + 8.829731070095961e-02 8.835238486000704e-02 8.840725822106667e-02 8.846193068214857e-02 8.851640221803356e-02 + 8.857067273700293e-02 8.862474207580676e-02 8.867861014722141e-02 8.873227689758616e-02 8.878574227696898e-02 + 8.883900618220902e-02 8.889206851560667e-02 8.894492921167085e-02 8.899758815302622e-02 8.905004524008538e-02 + 8.910230044719054e-02 8.915435367300073e-02 8.920620479173334e-02 8.925785373448247e-02 8.930930045917142e-02 + 8.936054490961548e-02 8.941158695191696e-02 8.946242647641844e-02 8.951306341364354e-02 8.956349771969928e-02 + 8.961372931388180e-02 8.966375808278661e-02 8.971358396554302e-02 8.976320688963368e-02 8.981262675341668e-02 + 8.986184348935064e-02 8.991085703129179e-02 8.995966729258320e-02 9.000827417122792e-02 9.005667759770250e-02 + 9.010487756379584e-02 9.015287394264000e-02 9.020066659275561e-02 9.024825550203337e-02 9.029564061179933e-02 + 9.034282181894199e-02 9.038979902630290e-02 9.043657218570805e-02 9.048314126656666e-02 9.052950615463343e-02 + 9.057566675480395e-02 9.062162300961238e-02 9.066737484935303e-02 9.071292219781772e-02 9.075826498061153e-02 + 9.080340315127385e-02 9.084833664156222e-02 9.089306533771581e-02 9.093758915627431e-02 9.098190804149961e-02 + 9.102602195783284e-02 9.106993084471440e-02 9.111363462196023e-02 9.115713320054021e-02 9.120042650346059e-02 + 9.124351446434358e-02 9.128639702175202e-02 9.132907412994692e-02 9.137154573427010e-02 9.141381170435277e-02 + 9.145587198962597e-02 9.149772660800266e-02 9.153937542844172e-02 9.158081834977004e-02 9.162205535599281e-02 + 9.166308637778346e-02 9.170391133536025e-02 9.174453017072061e-02 9.178494285856946e-02 9.182514933661440e-02 + 9.186514945794547e-02 9.190494319482566e-02 9.194453054665523e-02 9.198391140758180e-02 9.202308569543158e-02 + 9.206205336702038e-02 9.210081441034919e-02 9.213936875086109e-02 9.217771627651770e-02 9.221585694962209e-02 + 9.225379072840771e-02 9.229151754885842e-02 9.232903734819613e-02 9.236635007909103e-02 9.240345570404732e-02 + 9.244035413434255e-02 9.247704529963750e-02 9.251352918345666e-02 9.254980573968512e-02 9.258587489795035e-02 + 9.262173657649034e-02 9.265739073985793e-02 9.269283735974691e-02 9.272807636276849e-02 9.276310769047050e-02 + 9.279793130272118e-02 9.283254716719631e-02 9.286695521394739e-02 9.290115536246511e-02 9.293514761281572e-02 + 9.296893192325742e-02 9.300250819824006e-02 9.303587638369953e-02 9.306903645092859e-02 9.310198837852499e-02 + 9.313473209662422e-02 9.316726755984403e-02 9.319959477466139e-02 9.323171364631608e-02 9.326362408592948e-02 + 9.329532610133226e-02 9.332681964339190e-02 9.335810464438972e-02 9.338918108249107e-02 9.342004893308628e-02 + 9.345070815580041e-02 9.348115868437977e-02 9.351140046962789e-02 9.354143348306601e-02 9.357125770365762e-02 + 9.360087308621738e-02 9.363027956518245e-02 9.365947710363894e-02 9.368846567300493e-02 9.371724524372237e-02 + 9.374581578300241e-02 9.377417725111503e-02 9.380232960142115e-02 9.383027280206080e-02 9.385800682788301e-02 + 9.388553164914089e-02 9.391284719773688e-02 9.393995342276806e-02 9.396685035781838e-02 9.399353796706621e-02 + 9.402001617537038e-02 9.404628495786660e-02 9.407234429781461e-02 9.409819417117830e-02 9.412383453169183e-02 + 9.414926534580341e-02 9.417448659641373e-02 9.419949825736050e-02 9.422430029380560e-02 9.424889267135104e-02 + 9.427327539998738e-02 9.429744844865905e-02 9.432141171534560e-02 9.434516522540957e-02 9.436870900006604e-02 + 9.439204294634228e-02 9.441516705436934e-02 9.443808133745002e-02 9.446078573953387e-02 9.448328023801857e-02 + 9.450556483411636e-02 9.452763950923013e-02 9.454950421611270e-02 9.457115890701832e-02 9.459260360830167e-02 + 9.461383832574666e-02 9.463486302352626e-02 9.465567765409444e-02 9.467628220109425e-02 9.469667668274938e-02 + 9.471686106967921e-02 9.473683533004949e-02 9.475659945563136e-02 9.477615343325803e-02 9.479549725292793e-02 + 9.481463091432241e-02 9.483355439545672e-02 9.485226766778346e-02 9.487077071788189e-02 9.488906353992572e-02 + 9.490714613644993e-02 9.492501852119042e-02 9.494268066964073e-02 9.496013253895599e-02 9.497737414244060e-02 + 9.499440547543551e-02 9.501122651272445e-02 9.502783728094538e-02 9.504423778187990e-02 9.506042797340242e-02 + 9.507640785191551e-02 9.509217742006319e-02 9.510773667189122e-02 9.512308563868060e-02 9.513822432123879e-02 + 9.515315264231193e-02 9.516787063845662e-02 9.518237836728226e-02 9.519667577724227e-02 9.521076284349063e-02 + 9.522463958294539e-02 9.523830604498588e-02 9.525176221483619e-02 9.526500804718509e-02 9.527804359769618e-02 + 9.529086886623650e-02 9.530348379689602e-02 9.531588845120076e-02 9.532808286166987e-02 9.534006699012688e-02 + 9.535184085361241e-02 9.536340447105748e-02 9.537475783364874e-02 9.538590095359538e-02 9.539683385237334e-02 + 9.540755654711666e-02 9.541806903829181e-02 9.542837132640679e-02 9.543846343230179e-02 9.544834536597921e-02 + 9.545801714100983e-02 9.546747880593646e-02 9.547673036184304e-02 9.548577178084619e-02 9.549460309483834e-02 + 9.550322434581640e-02 9.551163556335956e-02 9.551983673903520e-02 9.552782788036314e-02 9.553560902903191e-02 + 9.554318022933674e-02 9.555054148771730e-02 9.555769276632298e-02 9.556463412975340e-02 9.557136563747151e-02 + 9.557788725689133e-02 9.558419903459103e-02 9.559030102901959e-02 9.559619321427665e-02 9.560187562136102e-02 + 9.560734830883322e-02 9.561261127917654e-02 9.561766456108449e-02 9.562250820572099e-02 9.562714223416331e-02 + 9.563156666435306e-02 9.563578152405575e-02 9.563978686682097e-02 9.564358272631937e-02 9.564716910782914e-02 + 9.565054604965099e-02 9.565371359980702e-02 9.565667179877529e-02 9.565942066526258e-02 9.566196023293236e-02 + 9.566429057683135e-02 9.566641172752892e-02 9.566832368940979e-02 9.567002647518966e-02 9.567152016429874e-02 + 9.567280484915060e-02 9.567388053004788e-02 9.567474721294261e-02 9.567540493730267e-02 9.567585379392737e-02 + 9.567609383300600e-02 9.567612506298810e-02 9.567594754568214e-02 9.567556133790830e-02 9.567496647244744e-02 + 9.567416299512438e-02 9.567315095370396e-02 9.567193039196389e-02 9.567050136232016e-02 9.566886392120964e-02 + 9.566701812558283e-02 9.566496403827787e-02 9.566270170884209e-02 9.566023115264767e-02 9.565755243736668e-02 + 9.565466564791879e-02 9.565157080775241e-02 9.564826797386157e-02 9.564475723264595e-02 9.564103864027859e-02 + 9.563711223757489e-02 9.563297806735498e-02 9.562863621895812e-02 9.562408675116861e-02 9.561932968250994e-02 + 9.561436511583814e-02 9.560919313325968e-02 9.560381374743886e-02 9.559822704785555e-02 9.559243313048145e-02 + 9.558643203289170e-02 9.558022378864620e-02 9.557380846466877e-02 9.556718619530349e-02 9.556035703327785e-02 + 9.555332100122134e-02 9.554607821247386e-02 9.553862873475936e-02 9.553097259908433e-02 9.552310989218279e-02 + 9.551504070130773e-02 9.550676510186747e-02 9.549828317393894e-02 9.548959500356741e-02 9.548070067318166e-02 + 9.547160021295119e-02 9.546229369018946e-02 9.545278124506257e-02 9.544306292579091e-02 9.543313878273989e-02 + 9.542300894892854e-02 9.541267351639289e-02 9.540213254817664e-02 9.539138610562420e-02 9.538043425774057e-02 + 9.536927709152246e-02 9.535791472882026e-02 9.534634726779553e-02 9.533457478138217e-02 9.532259734256758e-02 + 9.531041503990305e-02 9.529802797105680e-02 9.528543620462085e-02 9.527263983869082e-02 9.525963900525855e-02 + 9.524643375927100e-02 9.523302417643500e-02 9.521941040061487e-02 9.520559252291068e-02 9.519157060486365e-02 + 9.517734471153570e-02 9.516291499670615e-02 9.514828160467456e-02 9.513344455080376e-02 9.511840393248631e-02 + 9.510315989360162e-02 9.508771251519674e-02 9.507206189457258e-02 9.505620814925633e-02 9.504015138530268e-02 + 9.502389169582724e-02 9.500742917228551e-02 9.499076394524120e-02 9.497389612890822e-02 9.495682580659018e-02 + 9.493955308203066e-02 9.492207807526097e-02 9.490440091330225e-02 9.488652168366014e-02 9.486844048723730e-02 + 9.485015747906970e-02 9.483167277063544e-02 9.481298644119306e-02 9.479409856622809e-02 9.477500930738031e-02 + 9.475571884085587e-02 9.473622721810367e-02 9.471653454723004e-02 9.469664098786204e-02 9.467654664635866e-02 + 9.465625162221861e-02 9.463575602621152e-02 9.461505999415500e-02 9.459416367044585e-02 9.457306719633034e-02 + 9.455177068421998e-02 9.453027423759350e-02 9.450857796468222e-02 9.448668199276268e-02 9.446458647203468e-02 + 9.444229157255099e-02 9.441979739649474e-02 9.439710403006842e-02 9.437421161454676e-02 9.435112031829759e-02 + 9.432783029179438e-02 9.430434160094567e-02 9.428065438538669e-02 9.425676883924589e-02 9.423268508508292e-02 + 9.420840322981890e-02 9.418392339716981e-02 9.415924578030670e-02 9.413437051700123e-02 9.410929767030043e-02 + 9.408402741009517e-02 9.405855992335012e-02 9.403289535840260e-02 9.400703383941893e-02 9.398097549341558e-02 + 9.395472046838550e-02 9.392826889502673e-02 9.390162091553057e-02 9.387477672023849e-02 9.384773645864139e-02 + 9.382050025947151e-02 9.379306828457251e-02 9.376544068778003e-02 9.373761760606118e-02 9.370959916011609e-02 + 9.368138552427184e-02 9.365297690930323e-02 9.362437342817573e-02 9.359557520850639e-02 9.356658243379877e-02 + 9.353739529945312e-02 9.350801394425273e-02 9.347843843855524e-02 9.344866901272440e-02 9.341870589097585e-02 + 9.338854915644307e-02 9.335819897637819e-02 9.332765555734250e-02 9.329691906420928e-02 9.326598960092489e-02 + 9.323486729288316e-02 9.320355242698486e-02 9.317204517635257e-02 9.314034562740874e-02 9.310845398153604e-02 + 9.307637042858882e-02 9.304409511565054e-02 9.301162817412864e-02 9.297896979469056e-02 9.294612022999450e-02 + 9.291307963943660e-02 9.287984815938743e-02 9.284642594887814e-02 9.281281319942865e-02 9.277901009754375e-02 + 9.274501679883909e-02 9.271083349621308e-02 9.267646039527271e-02 9.264189767811302e-02 9.260714551564306e-02 + 9.257220408228978e-02 9.253707357624473e-02 9.250175417101536e-02 9.246624602802385e-02 9.243054935165987e-02 + 9.239466434718238e-02 9.235859120974489e-02 9.232233012999355e-02 9.228588129454922e-02 9.224924488066757e-02 + 9.221242103323031e-02 9.217540995047416e-02 9.213821191347883e-02 9.210082709355732e-02 9.206325564930115e-02 + 9.202549780755387e-02 9.198755374602623e-02 9.194942363528436e-02 9.191110769995278e-02 9.187260614753277e-02 + 9.183391917841241e-02 9.179504701848260e-02 9.175598985687712e-02 9.171674785963810e-02 9.167732123351167e-02 + 9.163771019528422e-02 9.159791495855178e-02 9.155793572040530e-02 9.151777270193290e-02 9.147742614628342e-02 + 9.143689622063791e-02 9.139618310892414e-02 9.135528705455570e-02 9.131420824439858e-02 9.127294688450004e-02 + 9.123150325806001e-02 9.118987755991119e-02 9.114806996063474e-02 9.110608069642255e-02 9.106390998608170e-02 + 9.102155802996120e-02 9.097902503011562e-02 9.093631123402490e-02 9.089341690732793e-02 9.085034224655422e-02 + 9.080708743846595e-02 9.076365269164367e-02 9.072003828369785e-02 9.067624443485320e-02 9.063227129485288e-02 + 9.058811915193726e-02 9.054378827004000e-02 9.049927881221763e-02 9.045459103770109e-02 9.040972520178260e-02 + 9.036468147234690e-02 9.031946007844127e-02 9.027406127956829e-02 9.022848531585773e-02 9.018273243214560e-02 + 9.013680287341128e-02 9.009069686920407e-02 9.004441462623869e-02 8.999795635152021e-02 8.995132231203949e-02 + 8.990451276610797e-02 8.985752795281814e-02 8.981036812557305e-02 8.976303351703613e-02 8.971552434037033e-02 + 8.966784087291869e-02 8.961998334831080e-02 8.957195192338249e-02 8.952374693198487e-02 8.947536869631613e-02 + 8.942681737354224e-02 8.937809319632291e-02 8.932919644498671e-02 8.928012738635183e-02 8.923088623240803e-02 + 8.918147319450437e-02 8.913188858291199e-02 8.908213269254797e-02 8.903220577223506e-02 8.898210800726358e-02 + 8.893183965769864e-02 8.888140104180198e-02 8.883079233855783e-02 8.878001380541380e-02 8.872906581842580e-02 + 8.867794859494142e-02 8.862666233412557e-02 8.857520730323154e-02 8.852358381153494e-02 8.847179212845252e-02 + 8.841983243253916e-02 8.836770502123131e-02 8.831541022882371e-02 8.826294830990469e-02 8.821031949641793e-02 + 8.815752403748606e-02 8.810456224863354e-02 8.805143437639511e-02 8.799814063336710e-02 8.794468134879541e-02 + 8.789105684257616e-02 8.783726738270531e-02 8.778331316928159e-02 8.772919447874153e-02 8.767491167446911e-02 + 8.762046495069514e-02 8.756585454037039e-02 8.751108081839833e-02 8.745614408581825e-02 8.740104459021790e-02 + 8.734578256007368e-02 8.729035830815834e-02 8.723477214343743e-02 8.717902426868683e-02 8.712311501918556e-02 + 8.706704476846663e-02 8.701081371877695e-02 8.695442211628683e-02 8.689787027644420e-02 8.684115853767592e-02 + 8.678428714435096e-02 8.672725629439892e-02 8.667006642064547e-02 8.661271785522098e-02 8.655521075244504e-02 + 8.649754543067346e-02 8.643972223965939e-02 8.638174147222141e-02 8.632360334916610e-02 8.626530814542391e-02 + 8.620685627786050e-02 8.614824804295058e-02 8.608948367410735e-02 8.603056343813603e-02 8.597148768708160e-02 + 8.591225676580187e-02 8.585287085352321e-02 8.579333027004854e-02 8.573363543090719e-02 8.567378659419787e-02 + 8.561378404241062e-02 8.555362810687137e-02 8.549331906471129e-02 8.543285719635127e-02 8.537224281446841e-02 + 8.531147627953188e-02 8.525055791649624e-02 8.518948798167383e-02 8.512826679756995e-02 8.506689470133286e-02 + 8.500537199311337e-02 8.494369892596923e-02 8.488187579804041e-02 8.481990305210670e-02 8.475778099074194e-02 + 8.469550984763315e-02 8.463308996695838e-02 8.457052168539449e-02 8.450780530789033e-02 8.444494110975011e-02 + 8.438192942971584e-02 8.431877065438623e-02 8.425546507059704e-02 8.419201297696736e-02 8.412841471805475e-02 + 8.406467061549007e-02 8.400078097306259e-02 8.393674609180030e-02 8.387256634619757e-02 8.380824209666674e-02 + 8.374377362095807e-02 8.367916122870038e-02 8.361440526888680e-02 8.354950611900661e-02 8.348446403538942e-02 + 8.341927927704872e-02 8.335395233905314e-02 8.328848356223681e-02 8.322287316371958e-02 8.315712149574238e-02 + 8.309122893699929e-02 8.302519583647612e-02 8.295902243510637e-02 8.289270907781640e-02 8.282625623697057e-02 + 8.275966417678003e-02 8.269293318851907e-02 8.262606370095599e-02 8.255905601211083e-02 8.249191039312886e-02 + 8.242462718945633e-02 8.235720681988298e-02 8.228964967784431e-02 8.222195602541869e-02 8.215412621284769e-02 + 8.208616062445039e-02 8.201805954142698e-02 8.194982329150195e-02 8.188145225476894e-02 8.181294680713293e-02 + 8.174430731452863e-02 8.167553412282050e-02 8.160662752890076e-02 8.153758789030935e-02 8.146841562526554e-02 + 8.139911098330359e-02 8.132967428676124e-02 8.126010603531450e-02 8.119040656216225e-02 8.112057615694021e-02 + 8.105061517994502e-02 8.098052402265073e-02 8.091030303880128e-02 8.083995248093376e-02 8.076947276447492e-02 + 8.069886435754116e-02 8.062812754457355e-02 8.055726265736828e-02 8.048627008799529e-02 8.041515020636995e-02 + 8.034390332540668e-02 8.027252974489747e-02 8.020102993492553e-02 8.012940431195667e-02 8.005765317555476e-02 + 7.998577686939379e-02 7.991377577220368e-02 7.984165027334414e-02 7.976940065907111e-02 7.969702727793032e-02 + 7.962453065567111e-02 7.955191112254574e-02 7.947916895239987e-02 7.940630455590227e-02 7.933331833212637e-02 + 7.926021063894960e-02 7.918698178217287e-02 7.911363216326053e-02 7.904016223823181e-02 7.896657235187955e-02 + 7.889286283938438e-02 7.881903406306398e-02 7.874508643443230e-02 7.867102031060058e-02 7.859683599526633e-02 + 7.852253395767629e-02 7.844811463098400e-02 7.837357831424305e-02 7.829892537205134e-02 7.822415619643758e-02 + 7.814927116484589e-02 7.807427062910767e-02 7.799915496813195e-02 7.792392464520610e-02 7.784858004657273e-02 + 7.777312150359181e-02 7.769754936428309e-02 7.762186403791040e-02 7.754606594385612e-02 7.747015537442642e-02 + 7.739413273994507e-02 7.731799855521804e-02 7.724175314852555e-02 7.716539684747571e-02 7.708893004657069e-02 + 7.701235315053030e-02 7.693566653742440e-02 7.685887055661017e-02 7.678196565918903e-02 7.670495227727288e-02 + 7.662783073280909e-02 7.655060142689749e-02 7.647326478202995e-02 7.639582115595660e-02 7.631827089499127e-02 + 7.624061438211467e-02 7.616285210329320e-02 7.608498447266238e-02 7.600701183814436e-02 7.592893457493513e-02 + 7.585075308733022e-02 7.577246778116596e-02 7.569407897223836e-02 7.561558707997214e-02 7.553699264667676e-02 + 7.545829602219666e-02 7.537949752159374e-02 7.530059752746436e-02 7.522159652110559e-02 7.514249491290788e-02 + 7.506329293711217e-02 7.498399108869409e-02 7.490458989985715e-02 7.482508965268882e-02 7.474549074308040e-02 + 7.466579363230305e-02 7.458599868473173e-02 7.450610623924510e-02 7.442611667561436e-02 7.434603053570255e-02 + 7.426584824442337e-02 7.418557009969678e-02 7.410519651333995e-02 7.402472793153594e-02 7.394416477978479e-02 + 7.386350736456949e-02 7.378275607823381e-02 7.370191147772952e-02 7.362097394239986e-02 7.353994380500382e-02 + 7.345882147239775e-02 7.337760740248925e-02 7.329630201371148e-02 7.321490559729334e-02 7.313341861868546e-02 + 7.305184160923943e-02 7.297017492620234e-02 7.288841893034562e-02 7.280657402242413e-02 7.272464064227188e-02 + 7.264261917439505e-02 7.256050997585588e-02 7.247831356170273e-02 7.239603038649280e-02 7.231366079163171e-02 + 7.223120520116612e-02 7.214866404160214e-02 7.206603769517569e-02 7.198332653777370e-02 7.190053098792457e-02 + 7.181765153838118e-02 7.173468863077177e-02 7.165164265282598e-02 7.156851395212357e-02 7.148530298289761e-02 + 7.140201021117390e-02 7.131863593482980e-02 7.123518058493326e-02 7.115164469180060e-02 7.106802866653637e-02 + 7.098433289103630e-02 7.090055775733806e-02 7.081670370962735e-02 7.073277114629017e-02 7.064876042084919e-02 + 7.056467204467058e-02 7.048050649359339e-02 7.039626411522021e-02 7.031194531783586e-02 7.022755055007633e-02 + 7.014308026270048e-02 7.005853477507426e-02 6.997391445865883e-02 6.988921994223606e-02 6.980445161374127e-02 + 6.971960976161336e-02 6.963469490630880e-02 6.954970749457975e-02 6.946464787470261e-02 6.937951638488904e-02 + 6.929431352344900e-02 6.920903988440608e-02 6.912369577614699e-02 6.903828154824053e-02 6.895279768813133e-02 + 6.886724462309453e-02 6.878162274040467e-02 6.869593242264821e-02 6.861017418575431e-02 6.852434851303352e-02 + 6.843845573229547e-02 6.835249626715924e-02 6.826647058722328e-02 6.818037912112360e-02 6.809422221022603e-02 + 6.800800023353686e-02 6.792171381432285e-02 6.783536337902803e-02 6.774894920974223e-02 6.766247176656806e-02 + 6.757593152448671e-02 6.748932891036163e-02 6.740266425451470e-02 6.731593799992638e-02 6.722915072040272e-02 + 6.714230278026269e-02 6.705539454984789e-02 6.696842651283096e-02 6.688139909018249e-02 6.679431266253504e-02 + 6.670716761081900e-02 6.661996446504156e-02 6.653270374249923e-02 6.644538575792285e-02 6.635801090742725e-02 + 6.627057965598744e-02 6.618309245387675e-02 6.609554968705872e-02 6.600795173819872e-02 6.592029914958422e-02 + 6.583259238307172e-02 6.574483179767340e-02 6.565701780669353e-02 6.556915085921187e-02 6.548123140723705e-02 + 6.539325979064996e-02 6.530523643565112e-02 6.521716192687264e-02 6.512903665438342e-02 6.504086097557776e-02 + 6.495263535156262e-02 6.486436022769713e-02 6.477603601048113e-02 6.468766306269763e-02 6.459924187637454e-02 + 6.451077298036002e-02 6.442225675573160e-02 6.433369358016772e-02 6.424508387319842e-02 6.415642813133042e-02 + 6.406772674084167e-02 6.397898002556264e-02 6.389018858464109e-02 6.380135290132970e-02 6.371247325592760e-02 + 6.362355010153516e-02 6.353458392277617e-02 6.344557514446422e-02 6.335652411846264e-02 6.326743126079815e-02 + 6.317829713990436e-02 6.308912216326193e-02 6.299990668862973e-02 6.291065117630994e-02 6.282135608306753e-02 + 6.273202182393535e-02 6.264264873955985e-02 6.255323731562341e-02 6.246378810230178e-02 6.237430143094801e-02 + 6.228477769978175e-02 6.219521740601344e-02 6.210562097707054e-02 6.201598879095212e-02 6.192632121693314e-02 + 6.183661876812600e-02 6.174688193928092e-02 6.165711112558074e-02 6.156730673780070e-02 6.147746920022401e-02 + 6.138759893800432e-02 6.129769633241683e-02 6.120776180293847e-02 6.111779589683188e-02 6.102779903735479e-02 + 6.093777158500626e-02 6.084771398591046e-02 6.075762667844817e-02 6.066751007308262e-02 6.057736455111417e-02 + 6.048719057054321e-02 6.039698864588414e-02 6.030675917961215e-02 6.021650256672047e-02 6.012621923377075e-02 + 6.003590961818356e-02 5.994557411659043e-02 5.985521308639186e-02 5.976482706463886e-02 5.967441656528669e-02 + 5.958398192281734e-02 5.949352353003544e-02 5.940304183449088e-02 5.931253730252380e-02 5.922201027916447e-02 + 5.913146112197507e-02 5.904089044032181e-02 5.895029868043596e-02 5.885968615096351e-02 5.876905326755812e-02 + 5.867840050492581e-02 5.858772833116550e-02 5.849703703991720e-02 5.840632705235495e-02 5.831559896255584e-02 + 5.822485314806121e-02 5.813408997000494e-02 5.804330987759122e-02 5.795251328764216e-02 5.786170059865808e-02 + 5.777087221384987e-02 5.768002859772193e-02 5.758917021647553e-02 5.749829746896256e-02 5.740741077575853e-02 + 5.731651056875526e-02 5.722559725171274e-02 5.713467118430270e-02 5.704373274635539e-02 5.695278249332581e-02 + 5.686182088614487e-02 5.677084826809927e-02 5.667986504336005e-02 5.658887165217444e-02 5.649786853613976e-02 + 5.640685602792318e-02 5.631583453941855e-02 5.622480462822738e-02 5.613376666437993e-02 5.604272100502515e-02 + 5.595166813210956e-02 5.586060845174765e-02 5.576954232437998e-02 5.567847012652845e-02 5.558739236715193e-02 + 5.549630955542323e-02 5.540522197136583e-02 5.531413002536285e-02 5.522303422299683e-02 5.513193492275553e-02 + 5.504083247717721e-02 5.494972729209355e-02 5.485861988753332e-02 5.476751071228679e-02 5.467640010379995e-02 + 5.458528846418693e-02 5.449417622493567e-02 5.440306381105370e-02 5.431195155656662e-02 5.422083985771245e-02 + 5.412972927459819e-02 5.403862019627870e-02 5.394751295390937e-02 5.385640797531270e-02 5.376530569364821e-02 + 5.367420650537214e-02 5.358311072889269e-02 5.349201882499156e-02 5.340093132499041e-02 5.330984856991542e-02 + 5.321877091980749e-02 5.312769879767464e-02 5.303663263591166e-02 5.294557280318667e-02 5.285451962473617e-02 + 5.276347361952855e-02 5.267243525955664e-02 5.258140485845194e-02 5.249038280640431e-02 5.239936952998326e-02 + 5.230836544276557e-02 5.221737088032564e-02 5.212638621732711e-02 5.203541199430900e-02 5.194444860919033e-02 + 5.185349638284296e-02 5.176255572471577e-02 5.167162705674897e-02 5.158071077330502e-02 5.148980718747074e-02 + 5.139891673261619e-02 5.130803993485430e-02 5.121717713356427e-02 5.112632867301793e-02 5.103549496777923e-02 + 5.094467643725986e-02 5.085387344650644e-02 5.076308630673339e-02 5.067231551219451e-02 5.058156153920812e-02 + 5.049082469322039e-02 5.040010534612100e-02 5.030940391348503e-02 5.021872080090227e-02 5.012805633824483e-02 + 5.003741087422633e-02 4.994678493647212e-02 4.985617892926745e-02 4.976559315779018e-02 4.967502801470126e-02 + 4.958448390876292e-02 4.949396122643934e-02 4.940346027599988e-02 4.931298146262254e-02 4.922252530167843e-02 + 4.913209213539834e-02 4.904168229174269e-02 4.895129616994274e-02 4.886093417404704e-02 4.877059666413559e-02 + 4.868028394034647e-02 4.858999646754281e-02 4.849973472130898e-02 4.840949900241633e-02 4.831928966152828e-02 + 4.822910709871525e-02 4.813895171199074e-02 4.804882382564480e-02 4.795872376124456e-02 4.786865202942978e-02 + 4.777860903855367e-02 4.768859507592742e-02 4.759861051627762e-02 4.750865575639699e-02 4.741873117406014e-02 + 4.732883706721817e-02 4.723897381137243e-02 4.714914191200375e-02 4.705934171189571e-02 4.696957351961628e-02 + 4.687983771740974e-02 4.679013469431771e-02 4.670046480338604e-02 4.661082833156779e-02 4.652122571187634e-02 + 4.643165741520618e-02 4.634212373882778e-02 4.625262501422293e-02 4.616316162482947e-02 4.607373395212459e-02 + 4.598434231610999e-02 4.589498701904484e-02 4.580566854223844e-02 4.571638729424802e-02 4.562714355109129e-02 + 4.553793766452621e-02 4.544877001582995e-02 4.535964097502848e-02 4.527055082898004e-02 4.518149992236756e-02 + 4.509248874970542e-02 4.500351765014129e-02 4.491458690878355e-02 4.482569689376779e-02 4.473684797939540e-02 + 4.464804050747698e-02 4.455927474828068e-02 4.447055110499822e-02 4.438187004531898e-02 4.429323185876936e-02 + 4.420463685202721e-02 4.411608538888854e-02 4.402757783926076e-02 4.393911451733543e-02 4.385069570127949e-02 + 4.376232184208732e-02 4.367399334643604e-02 4.358571047769912e-02 4.349747356709084e-02 4.340928298020802e-02 + 4.332113907381294e-02 4.323304212320113e-02 4.314499244129432e-02 4.305699050668390e-02 4.296903665620930e-02 + 4.288113115167341e-02 4.279327434447749e-02 4.270546659199307e-02 4.261770822231841e-02 4.252999949469098e-02 + 4.244234077853745e-02 4.235473252680039e-02 4.226717502474875e-02 4.217966855846760e-02 4.209221347273914e-02 + 4.200481011967518e-02 4.191745880279663e-02 4.183015977695443e-02 4.174291346429643e-02 4.165572027077732e-02 + 4.156858044734360e-02 4.148149429654668e-02 4.139446216241891e-02 4.130748439363172e-02 4.122056125606220e-02 + 4.113369302794675e-02 4.104688016346336e-02 4.096012300095512e-02 4.087342178434451e-02 4.078677683583759e-02 + 4.070018849668031e-02 4.061365708919899e-02 4.052718285106741e-02 4.044076611819490e-02 4.035440733833207e-02 + 4.026810678092279e-02 4.018186470341873e-02 4.009568143909095e-02 4.000955732298062e-02 3.992349264534106e-02 + 3.983748763759326e-02 3.975154269055037e-02 3.966565820546299e-02 3.957983441649049e-02 3.949407160357907e-02 + 3.940837009289332e-02 3.932273021031552e-02 3.923715221270428e-02 3.915163635394041e-02 3.906618306202975e-02 + 3.898079266950179e-02 3.889546539672872e-02 3.881020154253283e-02 3.872500143016262e-02 3.863986536923758e-02 + 3.855479358615301e-02 3.846978637959592e-02 3.838484417257106e-02 3.829996723484980e-02 3.821515580420295e-02 + 3.813041018714970e-02 3.804573069687705e-02 3.796111761198420e-02 3.787657114752344e-02 3.779209165765486e-02 + 3.770767953120019e-02 3.762333499040284e-02 3.753905829251161e-02 3.745484974542636e-02 3.737070965331050e-02 + 3.728663825939783e-02 3.720263578933122e-02 3.711870264209954e-02 3.703483914671073e-02 3.695104550519348e-02 + 3.686732199057993e-02 3.678366890490292e-02 3.670008654113079e-02 3.661657511036890e-02 3.653313487804630e-02 + 3.644976625150438e-02 3.636646948823320e-02 3.628324479604935e-02 3.620009246605282e-02 3.611701279349350e-02 + 3.603400604041686e-02 3.595107239910939e-02 3.586821219020735e-02 3.578542579441001e-02 3.570271341631447e-02 + 3.562007528519529e-02 3.553751169069794e-02 3.545502291550906e-02 3.537260919186706e-02 3.529027072401183e-02 + 3.520800787214007e-02 3.512582095428173e-02 3.504371015751370e-02 3.496167573051010e-02 3.487971795476078e-02 + 3.479783710598274e-02 3.471603337811516e-02 3.463430699965583e-02 3.455265835796009e-02 3.447108770848941e-02 + 3.438959523450754e-02 3.430818119554624e-02 3.422684586511945e-02 3.414558949343227e-02 3.406441225419257e-02 + 3.398331443038755e-02 3.390229638782512e-02 3.382135832287533e-02 3.374050043789544e-02 3.365972299780525e-02 + 3.357902626321113e-02 3.349841045119794e-02 3.341787574130316e-02 3.333742246166845e-02 3.325705092272905e-02 + 3.317676129391954e-02 3.309655379649919e-02 3.301642868788483e-02 3.293638622159571e-02 3.285642658240021e-02 + 3.277654996949401e-02 3.269675673538998e-02 3.261704712715797e-02 3.253742130855802e-02 3.245787951722746e-02 + 3.237842200259459e-02 3.229904899349424e-02 3.221976065258773e-02 3.214055722659278e-02 3.206143905506719e-02 + 3.198240632628265e-02 3.190345921865954e-02 3.182459797365254e-02 3.174582282841434e-02 3.166713398447476e-02 + 3.158853160183031e-02 3.151001597036992e-02 3.143158738592136e-02 3.135324600516137e-02 3.127499202279022e-02 + 3.119682567104914e-02 3.111874718036912e-02 3.104075672462514e-02 3.096285447683152e-02 3.088504075536903e-02 + 3.080731579690068e-02 3.072967974437236e-02 3.065213281019982e-02 3.057467522135681e-02 3.049730718652442e-02 + 3.042002885157935e-02 3.034284042889533e-02 3.026574223701538e-02 3.018873445294931e-02 3.011181722724549e-02 + 3.003499077734359e-02 2.995825532248887e-02 2.988161104857855e-02 2.980505808548691e-02 2.972859668986686e-02 + 2.965222714891759e-02 2.957594959806504e-02 2.949976420500935e-02 2.942367118266701e-02 2.934767073798247e-02 + 2.927176302885600e-02 2.919594820074298e-02 2.912022654108078e-02 2.904459827654108e-02 2.896906352751058e-02 + 2.889362247668933e-02 2.881827533028623e-02 2.874302228403363e-02 2.866786346167200e-02 2.859279903706265e-02 + 2.851782931145582e-02 2.844295445253672e-02 2.836817458182308e-02 2.829348988995876e-02 2.821890057629359e-02 + 2.814440681221589e-02 2.807000870175516e-02 2.799570646465742e-02 2.792150037589211e-02 2.784739055623231e-02 + 2.777337714638600e-02 2.769946033688953e-02 2.762564030841585e-02 2.755191720229608e-02 2.747829114116882e-02 + 2.740476237631904e-02 2.733133112357609e-02 2.725799748998750e-02 2.718476162641247e-02 2.711162371095654e-02 + 2.703858392279279e-02 2.696564237390275e-02 2.689279920452167e-02 2.682005468428394e-02 2.674740897239565e-02 + 2.667486216835663e-02 2.660241443488607e-02 2.653006594727732e-02 2.645781686062815e-02 2.638566726160998e-02 + 2.631361733435826e-02 2.624166733570949e-02 2.616981737012440e-02 2.609806754771221e-02 2.602641803533937e-02 + 2.595486900051258e-02 2.588342056814261e-02 2.581207282360541e-02 2.574082599292273e-02 2.566968028470076e-02 + 2.559863577456860e-02 2.552769259041796e-02 2.545685089381796e-02 2.538611083889939e-02 2.531547252137675e-02 + 2.524493605061727e-02 2.517450166747065e-02 2.510416952086314e-02 2.503393968681819e-02 2.496381230163825e-02 + 2.489378751859868e-02 2.482386547683629e-02 2.475404624292582e-02 2.468432996264991e-02 2.461471687229032e-02 + 2.454520706873932e-02 2.447580063686782e-02 2.440649771598710e-02 2.433729844997764e-02 2.426820294893469e-02 + 2.419921127712116e-02 2.413032362216684e-02 2.406154017790910e-02 2.399286100816565e-02 2.392428621229386e-02 + 2.385581592554643e-02 2.378745028409909e-02 2.371918936700126e-02 2.365103325041379e-02 2.358298215018098e-02 + 2.351503620457756e-02 2.344719546326070e-02 2.337946004127276e-02 2.331183006962702e-02 2.324430566419196e-02 + 2.317688687789637e-02 2.310957382435168e-02 2.304236671579298e-02 2.297526563441205e-02 2.290827063843882e-02 + 2.284138184722980e-02 2.277459938171355e-02 2.270792333404544e-02 2.264135374860772e-02 2.257489077729924e-02 + 2.250853459738779e-02 2.244228525780410e-02 2.237614283279474e-02 2.231010743473913e-02 2.224417917668724e-02 + 2.217835812285958e-02 2.211264432248330e-02 2.204703795931322e-02 2.198153916317220e-02 2.191614796666107e-02 + 2.185086445220271e-02 2.178568872592581e-02 2.172062089111306e-02 2.165566098457172e-02 2.159080908357505e-02 + 2.152606537366001e-02 2.146142993110024e-02 2.139690279242156e-02 2.133248404619538e-02 2.126817379406035e-02 + 2.120397211607284e-02 2.113987903003668e-02 2.107589465469217e-02 2.101201915594272e-02 2.094825256288664e-02 + 2.088459492231405e-02 2.082104632696408e-02 2.075760686991806e-02 2.069427660166107e-02 2.063105554609518e-02 + 2.056794384972622e-02 2.050494162894281e-02 2.044204890243054e-02 2.037926573000831e-02 2.031659219454509e-02 + 2.025402837653619e-02 2.019157429898307e-02 2.012923000978476e-02 2.006699566765361e-02 2.000487133731908e-02 + 1.994285703240835e-02 1.988095281849638e-02 1.981915877663429e-02 1.975747497137283e-02 1.969590139839621e-02 + 1.963443814246610e-02 1.957308535571834e-02 1.951184305296579e-02 1.945071125524195e-02 1.938969003470093e-02 + 1.932877945979973e-02 1.926797956444602e-02 1.920729035294688e-02 1.914671194302782e-02 1.908624443873623e-02 + 1.902588783798898e-02 1.896564217312377e-02 1.890550750534374e-02 1.884548390173623e-02 1.878557136933607e-02 + 1.872576992282937e-02 1.866607969751645e-02 1.860650074902563e-02 1.854703306920867e-02 1.848767670108510e-02 + 1.842843170242723e-02 1.836929811895166e-02 1.831027593341436e-02 1.825136519709141e-02 1.819256603897189e-02 + 1.813387846842225e-02 1.807530248298604e-02 1.801683812530333e-02 1.795848544988909e-02 1.790024447932676e-02 + 1.784211518704799e-02 1.778409766075985e-02 1.772619199567190e-02 1.766839817113224e-02 1.761071619932593e-02 + 1.755314612276550e-02 1.749568797940397e-02 1.743834176385679e-02 1.738110747126647e-02 1.732398520795971e-02 + 1.726697501687009e-02 1.721007686976607e-02 1.715329079150987e-02 1.709661681774517e-02 1.704005496995066e-02 + 1.698360522175755e-02 1.692726759648597e-02 1.687104219632033e-02 1.681492902190890e-02 1.675892805218375e-02 + 1.670303930866012e-02 1.664726282100333e-02 1.659159859573434e-02 1.653604659349284e-02 1.648060687061485e-02 + 1.642527950537791e-02 1.637006446137386e-02 1.631496172845883e-02 1.625997133117372e-02 1.620509328829045e-02 + 1.615032758053278e-02 1.609567417924041e-02 1.604113316306734e-02 1.598670456411958e-02 1.593238833576510e-02 + 1.587818448257840e-02 1.582409302120838e-02 1.577011395254391e-02 1.571624723647299e-02 1.566249287063067e-02 + 1.560885093721684e-02 1.555532142372995e-02 1.550190428691725e-02 1.544859953345741e-02 1.539540716895692e-02 + 1.534232718045593e-02 1.528935952298772e-02 1.523650422043375e-02 1.518376132655854e-02 1.513113080051426e-02 + 1.507861261080395e-02 1.502620675643192e-02 1.497391324399307e-02 1.492173204313831e-02 1.486966309840608e-02 + 1.481770646058926e-02 1.476586215324725e-02 1.471413011485714e-02 1.466251032223325e-02 1.461100277337298e-02 + 1.455960746411957e-02 1.450832433725036e-02 1.445715335761371e-02 1.440609458945226e-02 1.435514801148310e-02 + 1.430431355790390e-02 1.425359121341204e-02 1.420298097105418e-02 1.415248280845771e-02 1.410209665546564e-02 + 1.405182250942155e-02 1.400166041623447e-02 1.395161031395394e-02 1.390167215017196e-02 1.385184591619880e-02 + 1.380213159317199e-02 1.375252913341631e-02 1.370303846818604e-02 1.365365962256361e-02 1.360439260851619e-02 + 1.355523734898775e-02 1.350619380184460e-02 1.345726194685572e-02 1.340844175819677e-02 1.335973317080697e-02 + 1.331113613029375e-02 1.326265067233158e-02 1.321427676765317e-02 1.316601433678336e-02 1.311786334248669e-02 + 1.306982375879771e-02 1.302189555021592e-02 1.297407863461756e-02 1.292637298076667e-02 1.287877861455418e-02 + 1.283129547339001e-02 1.278392348592105e-02 1.273666261347862e-02 1.268951282495219e-02 1.264247406704279e-02 + 1.259554625321822e-02 1.254872937642621e-02 1.250202343522368e-02 1.245542834900525e-02 1.240894405313941e-02 + 1.236257050462080e-02 1.231630767029411e-02 1.227015547343941e-02 1.222411383176151e-02 1.217818275998809e-02 + 1.213236222220244e-02 1.208665212384520e-02 1.204105241018576e-02 1.199556303854240e-02 1.195018395838791e-02 + 1.190491507365890e-02 1.185975632952753e-02 1.181470773836339e-02 1.176976922480089e-02 1.172494069835479e-02 + 1.168022211004454e-02 1.163561340968965e-02 1.159111452823667e-02 1.154672536811994e-02 1.150244589927961e-02 + 1.145827610670764e-02 1.141421589534856e-02 1.137026518661645e-02 1.132642392502224e-02 1.128269205281729e-02 + 1.123906948383837e-02 1.119555612518262e-02 1.115215196588227e-02 1.110885695891592e-02 1.106567099667937e-02 + 1.102259400831050e-02 1.097962593601935e-02 1.093676671505125e-02 1.089401623812122e-02 1.085137442757511e-02 + 1.080884127911701e-02 1.076641671182367e-02 1.072410061923310e-02 1.068189293399554e-02 1.063979359231152e-02 + 1.059780251428707e-02 1.055591958418482e-02 1.051414475108346e-02 1.047247799305691e-02 1.043091920126454e-02 + 1.038946827795377e-02 1.034812515386981e-02 1.030688975996647e-02 1.026576200007446e-02 1.022474176231751e-02 + 1.018382901647819e-02 1.014302370834395e-02 1.010232571551464e-02 1.006173495028295e-02 1.002125134058496e-02 + 9.980874808217161e-03 9.940605238090998e-03 9.900442533803457e-03 9.860386673211879e-03 9.820437566105797e-03 + 9.780595089730604e-03 9.740859166502601e-03 9.701229717604148e-03 9.661706648486619e-03 9.622289837555094e-03 + 9.582979211676392e-03 9.543774731762645e-03 9.504676285752028e-03 9.465683761437204e-03 9.426797070527869e-03 + 9.388016130061547e-03 9.349340837763126e-03 9.310771071700266e-03 9.272306774287777e-03 9.233947879847340e-03 + 9.195694263233465e-03 9.157545820041815e-03 9.119502462398593e-03 9.081564104605406e-03 9.043730620594144e-03 + 9.006001891771507e-03 8.968377884117109e-03 8.930858503326412e-03 8.893443610144467e-03 8.856133108771761e-03 + 8.818926910576046e-03 8.781824915337199e-03 8.744826984807866e-03 8.707933026764444e-03 8.671142997995955e-03 + 8.634456771198624e-03 8.597874217863410e-03 8.561395247729468e-03 8.525019762147885e-03 8.488747643810387e-03 + 8.452578758551675e-03 8.416513035074836e-03 8.380550402064440e-03 8.344690718755845e-03 8.308933866062409e-03 + 8.273279745485652e-03 8.237728259206089e-03 8.202279277607399e-03 8.166932668725525e-03 8.131688373197346e-03 + 8.096546291813443e-03 8.061506280849479e-03 8.026568229604077e-03 7.991732033790425e-03 7.956997581179438e-03 + 7.922364735477982e-03 7.887833385768220e-03 7.853403460644042e-03 7.819074838170454e-03 7.784847385209607e-03 + 7.750720988388416e-03 7.716695538073770e-03 7.682770912288046e-03 7.648946965667346e-03 7.615223607644973e-03 + 7.581600758648286e-03 7.548078272068747e-03 7.514656018308716e-03 7.481333888256649e-03 7.448111767084748e-03 + 7.414989518558892e-03 7.381967002509678e-03 7.349044141005179e-03 7.316220829119200e-03 7.283496916229069e-03 + 7.250872276568530e-03 7.218346796125786e-03 7.185920358959778e-03 7.153592811909379e-03 7.121364026156801e-03 + 7.089233934032213e-03 7.057202401526107e-03 7.025269274784423e-03 6.993434437254338e-03 6.961697770726437e-03 + 6.930059144137623e-03 6.898518406074085e-03 6.867075445461445e-03 6.835730169890301e-03 6.804482436531050e-03 + 6.773332103630715e-03 6.742279042830752e-03 6.711323134446215e-03 6.680464239400761e-03 6.649702204950062e-03 + 6.619036937093537e-03 6.588468325547939e-03 6.557996212108587e-03 6.527620458965777e-03 6.497340941897300e-03 + 6.467157538628341e-03 6.437070090473932e-03 6.407078453159759e-03 6.377182548096138e-03 6.347382238649846e-03 + 6.317677359750170e-03 6.288067782822399e-03 6.258553381641384e-03 6.229134019133821e-03 6.199809533909972e-03 + 6.170579803332374e-03 6.141444731866248e-03 6.112404164377095e-03 6.083457948651627e-03 6.054605954063168e-03 + 6.025848047899531e-03 5.997184082520315e-03 5.968613898555075e-03 5.940137388272029e-03 5.911754435973001e-03 + 5.883464876798197e-03 5.855268565478542e-03 5.827165369238958e-03 5.799155152943781e-03 5.771237757858197e-03 + 5.743413031370796e-03 5.715680873423079e-03 5.688041146137241e-03 5.660493683352233e-03 5.633038344713090e-03 + 5.605674994693767e-03 5.578403490874967e-03 5.551223666073857e-03 5.524135383482108e-03 5.497138538622371e-03 + 5.470232973711985e-03 5.443418527865922e-03 5.416695061766649e-03 5.390062436684385e-03 5.363520500801443e-03 + 5.337069085950208e-03 5.310708070645691e-03 5.284437334686721e-03 5.258256709167105e-03 5.232166039984466e-03 + 5.206165186351173e-03 5.180254006079314e-03 5.154432337116667e-03 5.128700017566677e-03 5.103056934758595e-03 + 5.077502948400768e-03 5.052037887552509e-03 5.026661602896529e-03 5.001373950974750e-03 4.976174783805283e-03 + 4.951063931174483e-03 4.926041244835856e-03 4.901106610871052e-03 4.876259869861805e-03 4.851500854152867e-03 + 4.826829416485723e-03 4.802245411238555e-03 4.777748682676776e-03 4.753339057595283e-03 4.729016402174706e-03 + 4.704780591018902e-03 4.680631452386119e-03 4.656568824906738e-03 4.632592561043116e-03 4.608702512089780e-03 + 4.584898512841469e-03 4.561180394112987e-03 4.537548032865621e-03 4.514001286180084e-03 4.490539978046344e-03 + 4.467163952568486e-03 4.443873060291688e-03 4.420667147623122e-03 4.397546041481102e-03 4.374509584352294e-03 + 4.351557654555007e-03 4.328690090868674e-03 4.305906719484884e-03 4.283207387010587e-03 4.260591942258349e-03 + 4.238060226010617e-03 4.215612060889534e-03 4.193247302342208e-03 4.170965820265097e-03 4.148767441443334e-03 + 4.126651998168965e-03 4.104619336614093e-03 4.082669303050944e-03 4.060801730082235e-03 4.039016442831475e-03 + 4.017313308452854e-03 3.995692181792875e-03 3.974152883344686e-03 3.952695251163741e-03 3.931319130911208e-03 + 3.910024364917125e-03 3.888810777810686e-03 3.867678204037116e-03 3.846626514691173e-03 3.825655547709963e-03 + 3.804765124734014e-03 3.783955087456414e-03 3.763225279741349e-03 3.742575538839424e-03 3.722005684569956e-03 + 3.701515563829318e-03 3.681105042529648e-03 3.660773945892437e-03 3.640522100973796e-03 3.620349349516141e-03 + 3.600255533338096e-03 3.580240483202974e-03 3.560304020332013e-03 3.540446002992503e-03 3.520666284206718e-03 + 3.500964682823155e-03 3.481341031384374e-03 3.461795171007476e-03 3.442326941040924e-03 3.422936165061433e-03 + 3.403622671201535e-03 3.384386323473485e-03 3.365226959961049e-03 3.346144399498565e-03 3.327138478378434e-03 + 3.308209036536853e-03 3.289355909461925e-03 3.270578915351533e-03 3.251877893639187e-03 3.233252706195778e-03 + 3.214703178029928e-03 3.196229132118811e-03 3.177830406368320e-03 3.159506839403438e-03 3.141258260810600e-03 + 3.123084488811596e-03 3.104985374197366e-03 3.086960768611876e-03 3.069010490077185e-03 3.051134366997480e-03 + 3.033332237019262e-03 3.015603936903380e-03 2.997949290147841e-03 2.980368120588831e-03 2.962860285290425e-03 + 2.945425622240710e-03 2.928063948810786e-03 2.910775098113858e-03 2.893558906982335e-03 2.876415208617919e-03 + 2.859343821344898e-03 2.842344578930633e-03 2.825417338731532e-03 2.808561926446875e-03 2.791778162629514e-03 + 2.775065882662152e-03 2.758424922052246e-03 2.741855109318431e-03 2.725356262118107e-03 2.708928224810950e-03 + 2.692570847204586e-03 2.676283947708203e-03 2.660067352018658e-03 2.643920895408666e-03 2.627844412630983e-03 + 2.611837727127577e-03 2.595900659591014e-03 2.580033062057212e-03 2.564234773200918e-03 2.548505609580814e-03 + 2.532845401329118e-03 2.517253983314282e-03 2.501731188088862e-03 2.486276834298587e-03 2.470890751027053e-03 + 2.455572791828030e-03 2.440322784214469e-03 2.425140547489158e-03 2.410025914370114e-03 2.394978718743150e-03 + 2.379998789312335e-03 2.365085943631231e-03 2.350240020749269e-03 2.335460868942443e-03 2.320748308349550e-03 + 2.306102163022297e-03 2.291522266200105e-03 2.277008450857895e-03 2.262560541519312e-03 2.248178358404482e-03 + 2.233861748393963e-03 2.219610550590767e-03 2.205424582540762e-03 2.191303672653564e-03 2.177247654150935e-03 + 2.163256358437406e-03 2.149329606085116e-03 2.135467224025938e-03 2.121669062135428e-03 2.107934949596006e-03 + 2.094264705479671e-03 2.080658161247730e-03 2.067115150052171e-03 2.053635501035216e-03 2.040219032033609e-03 + 2.026865578574763e-03 2.013574988607888e-03 2.000347084189316e-03 1.987181688126059e-03 1.974078632294973e-03 + 1.961037750159034e-03 1.948058867783843e-03 1.935141804192390e-03 1.922286403096425e-03 1.909492504980594e-03 + 1.896759928265229e-03 1.884088500763132e-03 1.871478055631251e-03 1.858928424089599e-03 1.846439428400912e-03 + 1.834010894228015e-03 1.821642669213327e-03 1.809334584628213e-03 1.797086460037203e-03 1.784898126770644e-03 + 1.772769417737367e-03 1.760700162615002e-03 1.748690181778845e-03 1.736739308394668e-03 1.724847388831493e-03 + 1.713014248130287e-03 1.701239709792772e-03 1.689523605558227e-03 1.677865768960374e-03 1.666266027776910e-03 + 1.654724201747776e-03 1.643240132443950e-03 1.631813662093462e-03 1.620444610863358e-03 1.609132806416696e-03 + 1.597878082462674e-03 1.586680271167799e-03 1.575539197124769e-03 1.564454685806544e-03 1.553426583192850e-03 + 1.542454723186195e-03 1.531538926942232e-03 1.520679025889417e-03 1.509874853790604e-03 1.499126242122267e-03 + 1.488433013507451e-03 1.477795000037597e-03 1.467212048115432e-03 1.456683985464255e-03 1.446210636719452e-03 + 1.435791835117153e-03 1.425427414393694e-03 1.415117204211151e-03 1.404861027594662e-03 1.394658724273689e-03 + 1.384510137356095e-03 1.374415090575271e-03 1.364373412382042e-03 1.354384937246215e-03 1.344449499301808e-03 + 1.334566925970926e-03 1.324737043332181e-03 1.314959696939330e-03 1.305234723823342e-03 1.295561947265019e-03 + 1.285941199528206e-03 1.276372315963847e-03 1.266855130463658e-03 1.257389468322312e-03 1.247975161599065e-03 + 1.238612057815808e-03 1.229299987951490e-03 1.220038778115428e-03 1.210828263449681e-03 1.201668279419893e-03 + 1.192558658328712e-03 1.183499226491516e-03 1.174489822883548e-03 1.165530291825810e-03 1.156620461345326e-03 + 1.147760161971411e-03 1.138949229776032e-03 1.130187500878873e-03 1.121474806129454e-03 1.112810973708310e-03 + 1.104195848566657e-03 1.095629271185936e-03 1.087111069073448e-03 1.078641075658101e-03 1.070219127753748e-03 + 1.061845062287274e-03 1.053518708913237e-03 1.045239900848634e-03 1.037008485418972e-03 1.028824298155823e-03 + 1.020687168641753e-03 1.012596933141099e-03 1.004553429894111e-03 9.965564952721074e-04 9.886059579764911e-04 + 9.807016577383673e-04 9.728434421263681e-04 9.650311428619217e-04 9.572645925441391e-04 9.495436296868831e-04 + 9.418680934992058e-04 9.342378189983833e-04 9.266526374013966e-04 9.191123940951565e-04 9.116169327210938e-04 + 9.041660846048507e-04 8.967596865276394e-04 8.893975784458786e-04 8.820795994475233e-04 8.748055834052338e-04 + 8.675753662309574e-04 8.603887967412885e-04 8.532457145816050e-04 8.461459528881801e-04 8.390893515597134e-04 + 8.320757512954288e-04 8.251049910410551e-04 8.181769052102455e-04 8.112913354889369e-04 8.044481307476467e-04 + 7.976471276304203e-04 7.908881626723219e-04 7.841710779271092e-04 7.774957151422038e-04 7.708619131557394e-04 + 7.642695077220146e-04 7.577183458379644e-04 7.512082748417916e-04 7.447391309361296e-04 7.383107537219758e-04 + 7.319229861740803e-04 7.255756719189899e-04 7.192686493738265e-04 7.130017570250109e-04 7.067748463319056e-04 + 7.005877618919097e-04 6.944403408515077e-04 6.883324261093659e-04 6.822638623160529e-04 6.762344932684062e-04 + 6.702441573916524e-04 6.642926986443232e-04 6.583799694858947e-04 6.525058122102392e-04 6.466700672293728e-04 + 6.408725793807691e-04 6.351131947715911e-04 6.293917574305099e-04 6.237081070877600e-04 6.180620932909059e-04 + 6.124535677685099e-04 6.068823714677426e-04 6.013483481700967e-04 5.958513451670206e-04 5.903912096703989e-04 + 5.849677853780454e-04 5.795809154020751e-04 5.742304534677881e-04 5.689162489783443e-04 5.636381442526738e-04 + 5.583959863498279e-04 5.531896240506697e-04 5.480189055622431e-04 5.428836748799696e-04 5.377837797240800e-04 + 5.327190759830209e-04 5.276894110958636e-04 5.226946300477827e-04 5.177345825024617e-04 5.128091188465486e-04 + 5.079180879528710e-04 5.030613351067660e-04 4.982387130290541e-04 4.934500776624026e-04 4.886952758062522e-04 + 4.839741558713263e-04 4.792865695826084e-04 4.746323688630657e-04 4.700114029595036e-04 4.654235198613055e-04 + 4.608685766627245e-04 4.563464280591107e-04 4.518569219186994e-04 4.473999099762359e-04 4.429752457691277e-04 + 4.385827824909558e-04 4.342223700107388e-04 4.298938604566902e-04 4.255971135329090e-04 4.213319826090788e-04 + 4.170983180859963e-04 4.128959744299958e-04 4.087248069577171e-04 4.045846700338900e-04 4.004754147907325e-04 + 3.963968979642262e-04 3.923489801919561e-04 3.883315144592717e-04 3.843443544269981e-04 3.803873568608614e-04 + 3.764603788261386e-04 3.725632754784107e-04 3.686959004384349e-04 3.648581147870281e-04 3.610497787686854e-04 + 3.572707463878945e-04 3.535208745539621e-04 3.498000220657478e-04 3.461080477383748e-04 3.424448076363575e-04 + 3.388101589386426e-04 3.352039657815740e-04 3.316260877532703e-04 3.280763812137888e-04 3.245547060139738e-04 + 3.210609229167205e-04 3.175948921405597e-04 3.141564711604799e-04 3.107455215081982e-04 3.073619088757455e-04 + 3.040054927848886e-04 3.006761327105527e-04 2.973736909925681e-04 2.940980303881470e-04 2.908490123115160e-04 + 2.876264965105581e-04 2.844303488008553e-04 2.812604353029198e-04 2.781166164989417e-04 2.749987551423296e-04 + 2.719067158817455e-04 2.688403633742989e-04 2.657995602462465e-04 2.627841695326067e-04 2.597940603791381e-04 + 2.568290988582687e-04 2.538891477672460e-04 2.509740728301346e-04 2.480837407612393e-04 2.452180180501483e-04 + 2.423767689150773e-04 2.395598604007145e-04 2.367671637065971e-04 2.339985452156380e-04 2.312538707417314e-04 + 2.285330086975239e-04 2.258358279521211e-04 2.231621965330517e-04 2.205119809474630e-04 2.178850522930381e-04 + 2.152812827957872e-04 2.127005401044592e-04 2.101426932429596e-04 2.076076129630843e-04 2.050951703707553e-04 + 2.026052350574154e-04 2.001376764695323e-04 1.976923692963255e-04 1.952691863631026e-04 1.928679973631469e-04 + 1.904886744667185e-04 1.881310908124045e-04 1.857951194428946e-04 1.834806317739651e-04 1.811875010647571e-04 + 1.789156043640377e-04 1.766648152326652e-04 1.744350063601967e-04 1.722260526922104e-04 1.700378296945535e-04 + 1.678702123432160e-04 1.657230742438847e-04 1.635962925697728e-04 1.614897461072756e-04 1.594033097074569e-04 + 1.573368592094730e-04 1.552902721810668e-04 1.532634264532060e-04 1.512561988693490e-04 1.492684659352835e-04 + 1.473001083560244e-04 1.453510059716440e-04 1.434210358729406e-04 1.415100771164913e-04 1.396180097223186e-04 + 1.377447137267307e-04 1.358900680130841e-04 1.340539526362652e-04 1.322362510498252e-04 1.304368442346035e-04 + 1.286556121626104e-04 1.268924368411170e-04 1.251472007379926e-04 1.234197860690376e-04 1.217100740639766e-04 + 1.200179485071157e-04 1.183432949752447e-04 1.166859960758634e-04 1.150459349477667e-04 1.134229962637926e-04 + 1.118170649981152e-04 1.102280255615328e-04 1.086557620076939e-04 1.071001616642248e-04 1.055611117192228e-04 + 1.040384970703678e-04 1.025322040262462e-04 1.010421198490596e-04 9.956813202096472e-05 9.811012722455996e-05 + 9.666799283658755e-05 9.524161921027426e-05 9.383089505710078e-05 9.243570803818307e-05 9.105594759252440e-05 + 8.969150364397068e-05 8.834226604286881e-05 8.700812397260034e-05 8.568896841419017e-05 8.438469212608002e-05 + 8.309518568825200e-05 8.182033994906239e-05 8.056004718218619e-05 7.931419998170841e-05 7.808269064296404e-05 + 7.686541112857092e-05 7.566225594198306e-05 7.447311991364301e-05 7.329789600792314e-05 7.213647827366786e-05 + 7.098876170896106e-05 6.985464163907488e-05 6.873401282606521e-05 6.762677039259616e-05 6.653281205307769e-05 + 6.545203459530543e-05 6.438433381335806e-05 6.332960688869456e-05 6.228775159650499e-05 6.125866586213212e-05 + 6.024224709312662e-05 5.923839394811549e-05 5.824700680510711e-05 5.726798458845817e-05 5.630122626966778e-05 + 5.534663202079377e-05 5.440410243697520e-05 5.347353805513213e-05 5.255483915897720e-05 5.164790790372327e-05 + 5.075264706713765e-05 4.986895809670387e-05 4.899674321102013e-05 4.813590548272275e-05 4.728634834520723e-05 + 4.644797500988253e-05 4.562068892036128e-05 4.480439551815946e-05 4.399899988301035e-05 4.320440633696577e-05 + 4.242052030402665e-05 4.164724778526068e-05 4.088449502887978e-05 4.013216802138054e-05 3.939017361734100e-05 + 3.865842020891389e-05 3.793681530287127e-05 3.722526637683801e-05 3.652368195642655e-05 3.583197100166348e-05 + 3.515004257550265e-05 3.447780563338777e-05 3.381517049939420e-05 3.316204825033269e-05 3.251834908257212e-05 + 3.188398376275541e-05 3.125886384349450e-05 3.064290126992314e-05 3.003600797392098e-05 2.943809607683111e-05 + 2.884907925556903e-05 2.826887119646782e-05 2.769738505988399e-05 2.713453488302094e-05 2.658023526748751e-05 + 2.603440114263312e-05 2.549694738792051e-05 2.496778949423694e-05 2.444684425976710e-05 2.393402805764408e-05 + 2.342925723948219e-05 2.293244905822871e-05 2.244352120797989e-05 2.196239159983278e-05 2.148897818423003e-05 + 2.102319990982268e-05 2.056497650699234e-05 2.011422722229805e-05 1.967087173846936e-05 1.923483045310688e-05 + 1.880602417859793e-05 1.838437386840237e-05 1.796980069033951e-05 1.756222699777835e-05 1.716157539169325e-05 + 1.676776819323897e-05 1.638072842752046e-05 1.600037965967140e-05 1.562664583506045e-05 1.525945101785764e-05 + 1.489871974108943e-05 1.454437762041471e-05 1.419635018600421e-05 1.385456300630342e-05 1.351894241351905e-05 + 1.318941519258516e-05 1.286590843459537e-05 1.254834939298960e-05 1.223666606495489e-05 1.193078719950152e-05 + 1.163064137727749e-05 1.133615754527981e-05 1.104726530816775e-05 1.076389469662666e-05 1.048597599093073e-05 + 1.021343974753131e-05 9.946217419267380e-06 9.684240838620889e-06 9.427441790773100e-06 9.175752643853506e-06 + 8.929106280098344e-06 8.687435997194528e-06 8.450675338936148e-06 8.218758257424963e-06 7.991619584870982e-06 + 7.769194298227330e-06 7.551417507621627e-06 7.338224987041431e-06 7.129552955942858e-06 6.925337997222138e-06 + 6.725516977155444e-06 6.530027335862672e-06 6.338807194551445e-06 6.151794769434223e-06 5.968928615355085e-06 + 5.790147878391894e-06 5.615392155261267e-06 5.444601365246586e-06 5.277715758699128e-06 5.114676291438329e-06 + 4.955424365336747e-06 4.799901525655197e-06 4.648049820836300e-06 4.499811793985402e-06 4.355130438087899e-06 + 4.213949069835453e-06 4.076211399540344e-06 3.941861865039729e-06 3.810845196499976e-06 3.683106361660463e-06 + 3.558590910585118e-06 3.437244835818923e-06 3.319014541070219e-06 3.203846795533912e-06 3.091688852089737e-06 + 2.982488579295818e-06 2.876194109656037e-06 2.772753925582794e-06 2.672117063800105e-06 2.574233014808049e-06 + 2.479051643033932e-06 2.386523210361943e-06 2.296598552297165e-06 2.209228971591383e-06 2.124366069775506e-06 + 2.041961906232304e-06 1.961969019732135e-06 1.884340423438541e-06 1.809029507182080e-06 1.735990071613592e-06 + 1.665176534356502e-06 1.596543687803830e-06 1.530046658503296e-06 1.465641105678908e-06 1.403283128309336e-06 + 1.342929271825179e-06 1.284536503035511e-06 1.228062233226246e-06 1.173464436795038e-06 1.120701460082181e-06 + 1.069732028902882e-06 1.020515399241352e-06 9.730112822753146e-07 9.271798002921477e-07 8.829815278752155e-07 + 8.403775374680640e-07 7.993293716485992e-07 7.597989809176624e-07 7.217487560416926e-07 6.851415619710593e-07 + 6.499407524191172e-07 6.161100929136179e-07 5.836137918783888e-07 5.524166028233452e-07 5.224836968385216e-07 + 4.937806609639881e-07 4.662735849361845e-07 4.399289991547822e-07 4.147139110260500e-07 3.905957813609555e-07 + 3.675425084859321e-07 3.455225231396512e-07 3.245046871736890e-07 3.044582778536548e-07 2.853530928283095e-07 + 2.671593859185241e-07 2.498478511400059e-07 2.333896726605378e-07 2.177564985206194e-07 2.029204500538344e-07 + 1.888541210793108e-07 1.755305458522738e-07 1.629232393506973e-07 1.510062144201093e-07 1.397539174372155e-07 + 1.291412703741045e-07 1.191437050672961e-07 1.097370923617762e-07 1.008977778162274e-07 9.260259669902208e-08 + 8.482883141984319e-08 7.755426670738778e-08 7.075715683240311e-08 6.441620467100832e-08 5.851063608240125e-08 + 5.302013495440350e-08 4.792483459927075e-08 4.320538955913144e-08 3.884291294265582e-08 3.481898425658018e-08 + 3.111569527451850e-08 2.771559342817648e-08 2.460171067137196e-08 2.175758348333717e-08 1.916719757773861e-08 + 1.681503457183268e-08 1.468607978947252e-08 1.276576812429566e-08 1.104003874048358e-08 9.495328649625366e-09 + 8.118528715645258e-09 6.897042498203040e-09 5.818760232281117e-09 4.872032311209139e-09 4.045732447740840e-09 + 3.329210679517489e-09 2.712284881132093e-09 2.185301687016959e-09 1.739076161987666e-09 1.364901589086205e-09 + 1.054599065845252e-09 8.004535320102697e-10 5.952414597054672e-10 4.322622496028902e-10 3.052766304104823e-10 + 2.085502003918036e-10 1.368642901349301e-10 8.546164059834664e-11 5.010215808832263e-11 2.705311520847365e-11 + 1.304599438344934e-11 5.339090781311160e-12 1.692041320615927e-12 3.321208355096226e-13 6.781366937015517e-15 diff --git a/examples/SPIN/curie_temperature/compliance.py b/examples/SPIN/curie_temperature/compliance.py new file mode 100755 index 0000000000..6ef35be553 --- /dev/null +++ b/examples/SPIN/curie_temperature/compliance.py @@ -0,0 +1,95 @@ +#!/usr/bin/env python + +# This file reads in the file log.lammps generated by the script ELASTIC/in.elastic +# It prints out the 6x6 tensor of elastic constants Cij +# followed by the 6x6 tensor of compliance constants Sij +# It uses the same conventions as described in: +# Sprik, Impey and Klein PRB (1984). +# The units of Cij are whatever was used in log.lammps (usually GPa) +# The units of Sij are the inverse of that (usually 1/GPa) + +from numpy import zeros +from numpy.linalg import inv + +# define logfile layout + +nvals = 21 +valpos = 4 +valstr = '\nElastic Constant C' + +# define order of Cij in logfile + +cindices = [0]*nvals +cindices[0] = (0,0) +cindices[1] = (1,1) +cindices[2] = (2,2) +cindices[3] = (0,1) +cindices[4] = (0,2) +cindices[5] = (1,2) +cindices[6] = (3,3) +cindices[7] = (4,4) +cindices[8] = (5,5) +cindices[9] = (0,3) +cindices[10] = (0,4) +cindices[11] = (0,5) +cindices[12] = (1,3) +cindices[13] = (1,4) +cindices[14] = (1,5) +cindices[15] = (2,3) +cindices[16] = (2,4) +cindices[17] = (2,5) +cindices[18] = (3,4) +cindices[19] = (3,5) +cindices[20] = (4,5) + +# open logfile + +logfile = open("log.lammps",'r') + +txt = logfile.read() + +# search for 21 elastic constants + +c = zeros((6,6)) +s2 = 0 + +for ival in range(nvals): + s1 = txt.find(valstr,s2) + if (s1 == -1): + print "Failed to find elastic constants in log file" + exit(1) + s1 += 1 + s2 = txt.find("\n",s1) + line = txt[s1:s2] +# print line + words = line.split() + (i1,i2) = cindices[ival] + c[i1,i2] = float(words[valpos]) + c[i2,i1] = c[i1,i2] + +print "C tensor [GPa]" +for i in range(6): + for j in range(6): + print "%10.8g " % c[i][j], + print + +# apply factor of 2 to columns of off-diagonal elements + +for i in range(6): + for j in range(3,6): + c[i][j] *= 2.0 + +s = inv(c) + +# apply factor of 1/2 to columns of off-diagonal elements + +for i in range(6): + for j in range(3,6): + s[i][j] *= 0.5 + +print "S tensor [1/GPa]" +for i in range(6): + for j in range(6): + print "%10.8g " % s[i][j], + print + diff --git a/examples/SPIN/curie_temperature/displace.mod b/examples/SPIN/curie_temperature/displace.mod new file mode 100644 index 0000000000..9664fa8d0d --- /dev/null +++ b/examples/SPIN/curie_temperature/displace.mod @@ -0,0 +1,142 @@ +# NOTE: This script should not need to be +# modified. See in.elastic for more info. +# +# Find which reference length to use + +if "${dir} == 1" then & + "variable len0 equal ${lx0}" +if "${dir} == 2" then & + "variable len0 equal ${ly0}" +if "${dir} == 3" then & + "variable len0 equal ${lz0}" +if "${dir} == 4" then & + "variable len0 equal ${lz0}" +if "${dir} == 5" then & + "variable len0 equal ${lz0}" +if "${dir} == 6" then & + "variable len0 equal ${ly0}" + +# Reset box and simulation parameters + +clear +box tilt large +read_restart restart.equil +include potential.mod + +# Negative deformation + +variable delta equal -${up}*${len0} +variable deltaxy equal -${up}*xy +variable deltaxz equal -${up}*xz +variable deltayz equal -${up}*yz +if "${dir} == 1" then & + "change_box all x delta 0 ${delta} xy delta ${deltaxy} xz delta ${deltaxz} remap units box" +if "${dir} == 2" then & + "change_box all y delta 0 ${delta} yz delta ${deltayz} remap units box" +if "${dir} == 3" then & + "change_box all z delta 0 ${delta} remap units box" +if "${dir} == 4" then & + "change_box all yz delta ${delta} remap units box" +if "${dir} == 5" then & + "change_box all xz delta ${delta} remap units box" +if "${dir} == 6" then & + "change_box all xy delta ${delta} remap units box" + +# Relax atoms positions + +minimize ${etol} ${ftol} ${maxiter} ${maxeval} + +# Obtain new stress tensor + +variable tmp equal pxx +variable pxx1 equal ${tmp} +variable tmp equal pyy +variable pyy1 equal ${tmp} +variable tmp equal pzz +variable pzz1 equal ${tmp} +variable tmp equal pxy +variable pxy1 equal ${tmp} +variable tmp equal pxz +variable pxz1 equal ${tmp} +variable tmp equal pyz +variable pyz1 equal ${tmp} + +# Compute elastic constant from pressure tensor + +variable C1neg equal ${d1} +variable C2neg equal ${d2} +variable C3neg equal ${d3} +variable C4neg equal ${d4} +variable C5neg equal ${d5} +variable C6neg equal ${d6} + +# Reset box and simulation parameters + +clear +box tilt large +read_restart restart.equil +include potential.mod + +# Positive deformation + +variable delta equal ${up}*${len0} +variable deltaxy equal ${up}*xy +variable deltaxz equal ${up}*xz +variable deltayz equal ${up}*yz +if "${dir} == 1" then & + "change_box all x delta 0 ${delta} xy delta ${deltaxy} xz delta ${deltaxz} remap units box" +if "${dir} == 2" then & + "change_box all y delta 0 ${delta} yz delta ${deltayz} remap units box" +if "${dir} == 3" then & + "change_box all z delta 0 ${delta} remap units box" +if "${dir} == 4" then & + "change_box all yz delta ${delta} remap units box" +if "${dir} == 5" then & + "change_box all xz delta ${delta} remap units box" +if "${dir} == 6" then & + "change_box all xy delta ${delta} remap units box" + +# Relax atoms positions + +minimize ${etol} ${ftol} ${maxiter} ${maxeval} + +# Obtain new stress tensor + +variable tmp equal pe +variable e1 equal ${tmp} +variable tmp equal press +variable p1 equal ${tmp} +variable tmp equal pxx +variable pxx1 equal ${tmp} +variable tmp equal pyy +variable pyy1 equal ${tmp} +variable tmp equal pzz +variable pzz1 equal ${tmp} +variable tmp equal pxy +variable pxy1 equal ${tmp} +variable tmp equal pxz +variable pxz1 equal ${tmp} +variable tmp equal pyz +variable pyz1 equal ${tmp} + +# Compute elastic constant from pressure tensor + +variable C1pos equal ${d1} +variable C2pos equal ${d2} +variable C3pos equal ${d3} +variable C4pos equal ${d4} +variable C5pos equal ${d5} +variable C6pos equal ${d6} + +# Combine positive and negative + +variable C1${dir} equal 0.5*(${C1neg}+${C1pos}) +variable C2${dir} equal 0.5*(${C2neg}+${C2pos}) +variable C3${dir} equal 0.5*(${C3neg}+${C3pos}) +variable C4${dir} equal 0.5*(${C4neg}+${C4pos}) +variable C5${dir} equal 0.5*(${C5neg}+${C5pos}) +variable C6${dir} equal 0.5*(${C6neg}+${C6pos}) + +# Delete dir to make sure it is not reused + +variable dir delete diff --git a/examples/SPIN/curie_temperature/in.spin.cobalt b/examples/SPIN/curie_temperature/in.spin.cobalt new file mode 100644 index 0000000000..2cb1f7d182 --- /dev/null +++ b/examples/SPIN/curie_temperature/in.spin.cobalt @@ -0,0 +1,59 @@ +# fcc cobalt in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# check why? +atom_modify map array + +lattice fcc 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.93 + +set group all spin/random 31 1.72 +velocity all create 100 4928459 rot yes dist gaussian + +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_coeff * * eam/alloy ../examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.1 0.0 21 + +fix 3 all integration/spin lattice yes + +timestep 0.0001 + + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 + +thermo_style custom step time v_magnorm v_emag temp etotal +thermo 10 + +#dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz + +run 1000 + diff --git a/examples/SPIN/curie_temperature/in.spin.curie_temperature b/examples/SPIN/curie_temperature/in.spin.curie_temperature new file mode 100644 index 0000000000..15db19913e --- /dev/null +++ b/examples/SPIN/curie_temperature/in.spin.curie_temperature @@ -0,0 +1,204 @@ +# Compute elastic constant tensor for a crystal +# +# Written by Aidan Thompson (Sandia, athomps@sandia.gov) +# +# This script uses the following three include files. +# +# init.mod (must be modified for different crystal structures) +# Define units, deformation parameters and initial +# configuration of the atoms and simulation cell. +# +# +# potential.mod (must be modified for different pair styles) +# Define pair style and other attributes +# not stored in restart file +# +# +# displace.mod (displace.mod should not need to be modified) +# Perform positive and negative box displacements +# in direction ${dir} and size ${up}. +# It uses the resultant changes +# in stress to compute one +# row of the elastic stiffness tensor +# +# Inputs variables: +# dir = the Voigt deformation component +# (1,2,3,4,5,6) +# Global constants: +# up = the deformation magnitude (strain units) +# cfac = conversion from LAMMPS pressure units to +# output units for elastic constants +# +# +# To run this on a different system, it should only be necessary to +# modify the files init.mod and potential.mod. In order to calculate +# the elastic constants correctly, care must be taken to specify +# the correct units in init.mod (units, cfac and cunits). It is also +# important to verify that the minimization of energy w.r.t atom +# positions in the deformed cell is fully converged. +# One indication of this is that the elastic constants are insensitive +# to the choice of the variable ${up} in init.mod. Another is to check +# the final max and two-norm forces reported in the log file. If you know +# that minimization is not required, you can set maxiter = 0.0 in +# init.mod. +# + +include init.mod +include potential.mod + +# Compute initial state +fix 3 all box/relax aniso 0.0 +minimize ${etol} ${ftol} ${maxiter} ${maxeval} + +variable tmp equal pxx +variable pxx0 equal ${tmp} +variable tmp equal pyy +variable pyy0 equal ${tmp} +variable tmp equal pzz +variable pzz0 equal ${tmp} +variable tmp equal pyz +variable pyz0 equal ${tmp} +variable tmp equal pxz +variable pxz0 equal ${tmp} +variable tmp equal pxy +variable pxy0 equal ${tmp} + +variable tmp equal lx +variable lx0 equal ${tmp} +variable tmp equal ly +variable ly0 equal ${tmp} +variable tmp equal lz +variable lz0 equal ${tmp} + +# These formulas define the derivatives w.r.t. strain components +# Constants uses $, variables use v_ +variable d1 equal -(v_pxx1-${pxx0})/(v_delta/v_len0)*${cfac} +variable d2 equal -(v_pyy1-${pyy0})/(v_delta/v_len0)*${cfac} +variable d3 equal -(v_pzz1-${pzz0})/(v_delta/v_len0)*${cfac} +variable d4 equal -(v_pyz1-${pyz0})/(v_delta/v_len0)*${cfac} +variable d5 equal -(v_pxz1-${pxz0})/(v_delta/v_len0)*${cfac} +variable d6 equal -(v_pxy1-${pxy0})/(v_delta/v_len0)*${cfac} + +displace_atoms all random ${atomjiggle} ${atomjiggle} ${atomjiggle} 87287 units box + +# Write restart +unfix 3 +write_restart restart.equil + +# uxx Perturbation + +variable dir equal 1 +include displace.mod + +# uyy Perturbation + +variable dir equal 2 +include displace.mod + +# uzz Perturbation + +variable dir equal 3 +include displace.mod + +# uyz Perturbation + +variable dir equal 4 +include displace.mod + +# uxz Perturbation + +variable dir equal 5 +include displace.mod + +# uxy Perturbation + +variable dir equal 6 +include displace.mod + +# Output final values + +variable C11all equal ${C11} +variable C22all equal ${C22} +variable C33all equal ${C33} + +variable C12all equal 0.5*(${C12}+${C21}) +variable C13all equal 0.5*(${C13}+${C31}) +variable C23all equal 0.5*(${C23}+${C32}) + +variable C44all equal ${C44} +variable C55all equal ${C55} +variable C66all equal ${C66} + +variable C14all equal 0.5*(${C14}+${C41}) +variable C15all equal 0.5*(${C15}+${C51}) +variable C16all equal 0.5*(${C16}+${C61}) + +variable C24all equal 0.5*(${C24}+${C42}) +variable C25all equal 0.5*(${C25}+${C52}) +variable C26all equal 0.5*(${C26}+${C62}) + +variable C34all equal 0.5*(${C34}+${C43}) +variable C35all equal 0.5*(${C35}+${C53}) +variable C36all equal 0.5*(${C36}+${C63}) + +variable C45all equal 0.5*(${C45}+${C54}) +variable C46all equal 0.5*(${C46}+${C64}) +variable C56all equal 0.5*(${C56}+${C65}) + +# Average moduli for cubic crystals + +variable C11cubic equal (${C11all}+${C22all}+${C33all})/3.0 +variable C12cubic equal (${C12all}+${C13all}+${C23all})/3.0 +variable C44cubic equal (${C44all}+${C55all}+${C66all})/3.0 + +variable bulkmodulus equal (${C11cubic}+2*${C12cubic})/3.0 +variable shearmodulus1 equal ${C44cubic} +variable shearmodulus2 equal (${C11cubic}-${C12cubic})/2.0 +variable poissonratio equal 1.0/(1.0+${C11cubic}/${C12cubic}) + +# For Stillinger-Weber silicon, the analytical results +# are known to be (E. R. Cowley, 1988): +# C11 = 151.4 GPa +# C12 = 76.4 GPa +# C44 = 56.4 GPa + +print "=========================================" +print "Components of the Elastic Constant Tensor" +print "=========================================" + +print "Elastic Constant C11all = ${C11all} ${cunits}" +print "Elastic Constant C22all = ${C22all} ${cunits}" +print "Elastic Constant C33all = ${C33all} ${cunits}" + +print "Elastic Constant C12all = ${C12all} ${cunits}" +print "Elastic Constant C13all = ${C13all} ${cunits}" +print "Elastic Constant C23all = ${C23all} ${cunits}" + +print "Elastic Constant C44all = ${C44all} ${cunits}" +print "Elastic Constant C55all = ${C55all} ${cunits}" +print "Elastic Constant C66all = ${C66all} ${cunits}" + +print "Elastic Constant C14all = ${C14all} ${cunits}" +print "Elastic Constant C15all = ${C15all} ${cunits}" +print "Elastic Constant C16all = ${C16all} ${cunits}" + +print "Elastic Constant C24all = ${C24all} ${cunits}" +print "Elastic Constant C25all = ${C25all} ${cunits}" +print "Elastic Constant C26all = ${C26all} ${cunits}" + +print "Elastic Constant C34all = ${C34all} ${cunits}" +print "Elastic Constant C35all = ${C35all} ${cunits}" +print "Elastic Constant C36all = ${C36all} ${cunits}" + +print "Elastic Constant C45all = ${C45all} ${cunits}" +print "Elastic Constant C46all = ${C46all} ${cunits}" +print "Elastic Constant C56all = ${C56all} ${cunits}" + +print "=========================================" +print "Average properties for a cubic crystal" +print "=========================================" + +print "Bulk Modulus = ${bulkmodulus} ${cunits}" +print "Shear Modulus 1 = ${shearmodulus1} ${cunits}" +print "Shear Modulus 2 = ${shearmodulus2} ${cunits}" +print "Poisson Ratio = ${poissonratio}" diff --git a/examples/SPIN/curie_temperature/init.mod b/examples/SPIN/curie_temperature/init.mod new file mode 100644 index 0000000000..09ff27367d --- /dev/null +++ b/examples/SPIN/curie_temperature/init.mod @@ -0,0 +1,55 @@ +# NOTE: This script can be modified for different atomic structures, +# units, etc. See in.spin.curie_temperature for more info. +# + +# Define the finite deformation size. Try several values of this +# variable to verify that results do not depend on it. +variable up equal 1.0e-6 + +# Define the amount of random jiggle for atoms +# This prevents atoms from staying on saddle points +variable atomjiggle equal 1.0e-5 + +# Uncomment one of these blocks, depending on what units +# you are using in LAMMPS and for output + +# metal units, elastic constants in eV/A^3 +#units metal +#variable cfac equal 6.2414e-7 +#variable cunits string eV/A^3 + +# metal units, elastic constants in GPa +units metal +variable cfac equal 1.0e-4 +variable cunits string GPa + +# real units, elastic constants in GPa +#units real +#variable cfac equal 1.01325e-4 +#variable cunits string GPa + +# Define minimization parameters +variable etol equal 0.0 +variable ftol equal 1.0e-10 +variable maxiter equal 100 +variable maxeval equal 1000 +variable dmax equal 1.0e-2 + +# generate the box and atom positions using a diamond lattice +variable a equal 5.43 + +boundary p p p + +lattice fcc 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box + +#lattice diamond $a +#region box prism 0 2.0 0 3.0 0 4.0 0.0 0.0 0.0 +#create_box 1 box +#create_atoms 1 box + +# Need to set mass (even for fixed lattice calculation, just to satisfy LAMMPS) +mass 1 58.93 + diff --git a/examples/SPIN/curie_temperature/potential.mod b/examples/SPIN/curie_temperature/potential.mod new file mode 100644 index 0000000000..efdf3ff643 --- /dev/null +++ b/examples/SPIN/curie_temperature/potential.mod @@ -0,0 +1,30 @@ +# NOTE: This script can be modified for different pair styles +# See in.elastic for more info. + +# Choose potentials (spin or spin-lattice) +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_coeff * * eam/alloy ../examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy Co +air_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 + +# Setup neighbor style +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +# Setup minimization style +min_style cg +min_modify dmax ${dmax} line quadratic + +# Setup output +compute out_mag all compute/spin +compute out_temp all temp + +variable magnorm equal c_out_mag[5] +variable tmag equal c_out_mag[7] + +thermo_style custom step time v_magnorm v_tmag temp +thermo 1 + + +#thermo 1 +#thermo_style custom step temp pe press pxx pyy pzz pxy pxz pyz lx ly lz vol +#thermo_modify norm no diff --git a/examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy new file mode 100644 index 0000000000..3af058baf7 --- /dev/null +++ b/examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy @@ -0,0 +1,6006 @@ +Cobalt EAM potential: G. P. Purja Pun and Y. Mishin, Phys. Rev. B xx, 004100 (2012) (in press) +Data below r = 1.5 A is extrapolated. F(Rho) data not extrapolated. +Created on Wed Sep 26 17:29:54 2012 +1 Co +10000 4.788742913000000e-04 10000 6.499539000000001e-04 6.499539000000000e+00 +27 5.893320000000000e+01 2.507000000000000e+00 hcp + -1.680303080000000e-02 -1.879913964471138e-02 -2.091739081044659e-02 -2.303564197615629e-02 -2.503175082079116e-02 + -2.681996612041136e-02 -2.846010103933253e-02 -3.003179469400266e-02 -3.154842562124295e-02 -3.300931506782415e-02 + -3.442381570000001e-02 -3.580233366714632e-02 -3.714945763166951e-02 -3.846832763111274e-02 -3.976210669053554e-02 + -4.103374908125148e-02 -4.228535107207521e-02 -4.351872320172212e-02 -4.473539109100971e-02 -4.593674531110434e-02 + -4.712392115246503e-02 -4.829795108118731e-02 -4.945971154662068e-02 -5.061001094949964e-02 -5.174954151284258e-02 + -5.287894548568519e-02 -5.399878139884967e-02 -5.510957102742049e-02 -5.621177284174523e-02 -5.730581735016625e-02 + -5.839208651773948e-02 -5.947094067448531e-02 -6.054270215356945e-02 -6.160767623453070e-02 -6.266613797925552e-02 + -6.371834880435967e-02 -6.476454576302854e-02 -6.580495483863194e-02 -6.683978209870683e-02 -6.786922452279202e-02 + -6.889346265426707e-02 -6.991266949659354e-02 -7.092700432972064e-02 -7.193662011890395e-02 -7.294165829413661e-02 + -7.394225494811188e-02 -7.493853635958479e-02 -7.593062425993033e-02 -7.691863200494162e-02 -7.790266905197404e-02 + -7.888283764021425e-02 -7.985923664258643e-02 -8.083195868513401e-02 -8.180109346997461e-02 -8.276672525040257e-02 + -8.372893572415932e-02 -8.468780181559693e-02 -8.564339820511864e-02 -8.659579537072190e-02 -8.754506181558984e-02 + -8.849126234605453e-02 -8.943446001410092e-02 -9.037471455117625e-02 -9.131208412841478e-02 -9.224662399623559e-02 + -9.317838801321032e-02 -9.410742739123597e-02 -9.503379209498646e-02 -9.595752974691800e-02 -9.687868684755546e-02 + -9.779730775191570e-02 -9.871343580120046e-02 -9.962711242685958e-02 -1.005383781439554e-01 -1.014472717117523e-01 + -1.023538310651938e-01 -1.032580925977369e-01 -1.041600919387366e-01 -1.050598632026273e-01 -1.059574398208095e-01 + -1.068528540074704e-01 -1.077461373458066e-01 -1.086373201122683e-01 -1.095264320028559e-01 -1.104135016985198e-01 + -1.112985573626335e-01 -1.121816261033156e-01 -1.130627345294291e-01 -1.139419083080692e-01 -1.148191726662944e-01 + -1.156945520127823e-01 -1.165680703406650e-01 -1.174397507992727e-01 -1.183096161572101e-01 -1.191776885039839e-01 + -1.200439895800373e-01 -1.209085404086571e-01 -1.217713616730546e-01 -1.226324734132936e-01 -1.234918953788508e-01 + -1.243496468000000e-01 -1.252057466264230e-01 -1.260602132046348e-01 -1.269130646065986e-01 -1.277643184092350e-01 + -1.286139919512837e-01 -1.294621021138015e-01 -1.303086655551642e-01 -1.311536985007052e-01 -1.319972169590798e-01 + -1.328392365052704e-01 -1.336797725161469e-01 -1.345188400098036e-01 -1.353564538215464e-01 -1.361926284143060e-01 + -1.370273780803152e-01 -1.378607168013910e-01 -1.386926583917836e-01 -1.395232163058920e-01 -1.403524038515728e-01 + -1.411802341103638e-01 -1.420067200256853e-01 -1.428318742148069e-01 -1.436557091565456e-01 -1.444782371020595e-01 + -1.452994701862315e-01 -1.461194203065015e-01 -1.469380992388567e-01 -1.477555185109162e-01 -1.485716895480879e-01 + -1.493866236153044e-01 -1.502003318703277e-01 -1.510128252027127e-01 -1.518241144121522e-01 -1.526342102070998e-01 + -1.534431232126203e-01 -1.542508638114616e-01 -1.550574422930448e-01 -1.558628688157988e-01 -1.566671534698807e-01 + -1.574703062033520e-01 -1.582723368973844e-01 -1.590732553076882e-01 -1.598730711132973e-01 -1.606717938120008e-01 + -1.614694328459875e-01 -1.622659976162905e-01 -1.630614974730487e-01 -1.638559416039789e-01 -1.646493391351259e-01 + -1.654416991082678e-01 -1.662330305252601e-01 -1.670233423125346e-01 -1.678126433512354e-01 -1.686009424167802e-01 + -1.693882482431861e-01 -1.701745695045948e-01 -1.709599148401449e-01 -1.717442928088396e-01 -1.725277119385885e-01 + -1.733101807130639e-01 -1.740917075837066e-01 -1.748723009172683e-01 -1.756519690655456e-01 -1.764307204052008e-01 + -1.772085632840185e-01 -1.779855059094047e-01 -1.787615564692287e-01 -1.795367232135896e-01 -1.803110143830451e-01 + -1.810844381177561e-01 -1.818570025406103e-01 -1.826287158057983e-01 -1.833995860626770e-01 -1.841696214099643e-01 + -1.849388299454831e-01 -1.857072198141128e-01 -1.864747991526175e-01 -1.872415760182443e-01 -1.880075584641173e-01 + -1.887727546063884e-01 -1.895371725773110e-01 -1.903008205105196e-01 -1.910637065418589e-01 -1.918258388146347e-01 + -1.925872254807121e-01 -1.933478747187342e-01 -1.941077947209150e-01 -1.948669937069724e-01 -1.956254799127480e-01 + -1.963832616110719e-01 -1.971403470967068e-01 -1.978967447151567e-01 -1.986524628291068e-01 -1.994075098192274e-01 + -2.001618941005484e-01 -2.009156242075518e-01 -2.016687086990372e-01 -2.024211561116226e-01 -2.031729750127928e-01 + -2.039241741156804e-01 -2.046747621691974e-01 -2.054247479197256e-01 -2.061741401521784e-01 -2.069229478081280e-01 + -2.076711798806499e-01 -2.084188454121736e-01 -2.091659534755806e-01 -2.099125132162076e-01 -2.106585338443872e-01 + -2.114040247579823e-01 -2.121489953974893e-01 -2.128934551864067e-01 -2.136374136027109e-01 -2.143808803592873e-01 + -2.151238652468154e-01 -2.158663781322411e-01 -2.166084289346303e-01 -2.173500277052638e-01 -2.180911845646947e-01 + -2.188319097783510e-01 -2.195722136949507e-01 -2.203121068514981e-01 -2.210515998518519e-01 -2.217907033790026e-01 + -2.225294282016381e-01 -2.232677853521022e-01 -2.240057859531163e-01 -2.247434412252567e-01 -2.254807624804862e-01 + -2.262177612984613e-01 -2.269544493586047e-01 -2.276908384717110e-01 -2.284269405581227e-01 -2.291627678450005e-01 + -2.298983326532392e-01 -2.306336473718499e-01 -2.313687245044682e-01 -2.321035769451089e-01 -2.328382177230701e-01 + -2.335726600184018e-01 -2.343069171312917e-01 -2.350410026917230e-01 -2.357749304696442e-01 -2.365087144650665e-01 + -2.372423688046511e-01 -2.379759078915950e-01 -2.387093462817347e-01 -2.394426988649284e-01 -2.401759806938325e-01 + -2.409092071382775e-01 -2.416423937275558e-01 -2.423755563116356e-01 -2.431087109081851e-01 -2.438418738849959e-01 + -2.445750618045980e-01 -2.453082916583512e-01 -2.460415806101058e-01 -2.467749460848467e-01 -2.475084057095742e-01 + -2.482419776582159e-01 -2.489756803241430e-01 -2.497095324315720e-01 -2.504435529132133e-01 -2.511777612049070e-01 + -2.519121769824342e-01 -2.526468203782122e-01 -2.533817117688987e-01 -2.541168720514789e-01 -2.548523223627430e-01 + -2.555880842783758e-01 -2.563241796571988e-01 -2.570606310516858e-01 -2.577974612919421e-01 -2.585346936249472e-01 + -2.592723515924181e-01 -2.600104594981498e-01 -2.607490419576605e-01 -2.614881240712832e-01 -2.622277312727207e-01 + -2.629678898443362e-01 -2.637086264051527e-01 -2.644499680721714e-01 -2.651919423187013e-01 -2.659345775453039e-01 + -2.666779025531186e-01 -2.674219468183432e-01 -2.681667401972407e-01 -2.689123133912765e-01 -2.696586975492495e-01 + -2.704059247640904e-01 -2.711540275538941e-01 -2.719030391932789e-01 -2.726529934197978e-01 -2.734039250662187e-01 + -2.741558694758598e-01 -2.749088629390239e-01 -2.756629422674556e-01 -2.764181454116789e-01 -2.771745108563868e-01 + -2.779320780841674e-01 -2.786908871694924e-01 -2.794509795564719e-01 -2.802123972949423e-01 -2.809751834880072e-01 + -2.817393818716988e-01 -2.825050376604960e-01 -2.832721967688652e-01 -2.840409064327807e-01 -2.848112145951165e-01 + -2.855831707048412e-01 -2.863568249759762e-01 -2.871322291766564e-01 -2.879094358829076e-01 -2.886884993482028e-01 + -2.894694746623641e-01 -2.902524185831628e-01 -2.910373887617654e-01 -2.918244447549689e-01 -2.926136470970381e-01 + -2.934050583264800e-01 -2.941987419693519e-01 -2.949947634976693e-01 -2.957931894604184e-01 -2.965940887685082e-01 + -2.973975314584912e-01 -2.982035897075678e-01 -2.990123368838905e-01 -2.998238489787670e-01 -3.006382032814213e-01 + -3.014554796495834e-01 -3.022757592753754e-01 -3.030991261199829e-01 -3.039256655881672e-01 -3.047554660899296e-01 + -3.055886175640754e-01 -3.064252130593845e-01 -3.072653472379187e-01 -3.081091181048918e-01 -3.089566254021406e-01 + -3.098079724748395e-01 -3.106632645082006e-01 -3.115226104442510e-01 -3.123861211846884e-01 -3.132539117130802e-01 + -3.141260990998875e-01 -3.150028046812773e-01 -3.158841520361693e-01 -3.167702694487885e-01 -3.176612875689104e-01 + -3.185573418032087e-01 -3.194585700942650e-01 -3.203651157713922e-01 -3.212771249044592e-01 -3.221947491388281e-01 + -3.231181430183639e-01 -3.240474671054514e-01 -3.249828850672117e-01 -3.259245669711927e-01 -3.268726862299913e-01 + -3.278274232359761e-01 -3.287889619469540e-01 -3.297574936027157e-01 -3.307332132733838e-01 -3.317163240684192e-01 + -3.327070332351553e-01 -3.337055565330767e-01 -3.347121141277095e-01 -3.357269352965953e-01 -3.367502540927247e-01 + -3.377823145588749e-01 -3.388233658450175e-01 -3.398736675401181e-01 -3.409334847493447e-01 -3.420030942036733e-01 + -3.430827786115977e-01 -3.441728329658748e-01 -3.452735586625544e-01 -3.463852704265985e-01 -3.475082899277179e-01 + -3.486429532857090e-01 -3.497896041380748e-01 -3.509486017430585e-01 -3.521203134619261e-01 -3.533051234472958e-01 + -3.545034246605078e-01 -3.557156285064298e-01 -3.569421559513399e-01 -3.581834477636310e-01 -3.594399550688090e-01 + -3.607121506187135e-01 -3.620005184199024e-01 -3.633055658714727e-01 -3.646278119965309e-01 -3.659677989216845e-01 + -3.673260803339768e-01 -3.687032330586966e-01 -3.700998457090232e-01 -3.715165309114429e-01 -3.729539131544640e-01 + -3.744126403613781e-01 -3.758933720658462e-01 -3.773967908082255e-01 -3.789235902651524e-01 -3.804744856516886e-01 + -3.820502023195389e-01 -3.836514846285581e-01 -3.852790856353807e-01 -3.869337741756033e-01 -3.886163256972291e-01 + -3.903275263189269e-01 -3.920681658458204e-01 -3.938390381581898e-01 -3.956409370872805e-01 -3.974746521930466e-01 + -3.993409682701225e-01 -4.012406553231547e-01 -4.031744727439548e-01 -4.051431522629808e-01 -4.071474082130475e-01 + -4.091879129977703e-01 -4.112653138348391e-01 -4.133801991274390e-01 -4.155331235094092e-01 -4.177245653517079e-01 + -4.199549603385881e-01 -4.222246496703586e-01 -4.245339230260172e-01 -4.268829584832519e-01 -4.292718744431503e-01 + -4.317006622016948e-01 -4.341692468068394e-01 -4.366774154195978e-01 -4.392248845800756e-01 -4.418112262316757e-01 + -4.444359401252420e-01 -4.470983818380713e-01 -4.497978365893122e-01 -4.525334523390530e-01 -4.553043120100788e-01 + -4.581093756350076e-01 -4.609475466791835e-01 -4.638176252290113e-01 -4.667183660407072e-01 -4.696484459287199e-01 + -4.726065094563343e-01 -4.755911501239359e-01 -4.786009429283761e-01 -4.816344399152602e-01 -4.846901882843556e-01 + -4.877667388033212e-01 -4.908626497957108e-01 -4.939765062407663e-01 -4.971069114027755e-01 -5.002525150305011e-01 + -5.034119937007041e-01 -5.065840848176727e-01 -5.097675587133593e-01 -5.129612566028576e-01 -5.161640565945169e-01 + -5.193749134865747e-01 -5.225928209640586e-01 -5.258168515692775e-01 -5.290461169135583e-01 -5.322798060270272e-01 + -5.355171460831645e-01 -5.387574394100244e-01 -5.420000245805213e-01 -5.452443099924439e-01 -5.484897376520451e-01 + -5.517358141745681e-01 -5.549820769247875e-01 -5.582281216566209e-01 -5.614735718423751e-01 -5.647181034387753e-01 + -5.679614169890416e-01 -5.712032588979591e-01 -5.744433972991336e-01 -5.776816413798681e-01 -5.809178193507762e-01 + -5.841517944620215e-01 -5.873834463985003e-01 -5.906126855444893e-01 -5.938394364748391e-01 -5.970636498273136e-01 + -6.002852884426439e-01 -6.035043379105128e-01 -6.067207941645156e-01 -6.099346717649501e-01 -6.131459940881434e-01 + -6.163548011478311e-01 -6.195611404873568e-01 -6.227650731310865e-01 -6.259666663617727e-01 -6.291659990146931e-01 + -6.323631552654742e-01 -6.355582290986170e-01 -6.387513188871106e-01 -6.419425307490256e-01 -6.451319745539882e-01 + -6.483197674327603e-01 -6.515060293214946e-01 -6.546908841167685e-01 -6.578744572836812e-01 -6.610568766009968e-01 + -6.642382709221243e-01 -6.674187710853904e-01 -6.705985088370179e-01 -6.737776175698923e-01 -6.769562312911304e-01 + -6.801344848181089e-01 -6.833125134999645e-01 -6.864904540026142e-01 -6.896684434132225e-01 -6.928466191871651e-01 + -6.960251190039876e-01 -6.992040810717012e-01 -7.023836437724149e-01 -7.055639456561626e-01 -7.087451254024176e-01 + -7.119273220404884e-01 -7.151106745784721e-01 -7.182953215897911e-01 -7.214814016245582e-01 -7.246690535743215e-01 + -7.278584163200112e-01 -7.310496283586513e-01 -7.342428280442573e-01 -7.374381535427195e-01 -7.406357429444993e-01 + -7.438357342264661e-01 -7.470382651689156e-01 -7.502434728794412e-01 -7.534514943101106e-01 -7.566624664635970e-01 + -7.598765262236051e-01 -7.630938099473661e-01 -7.663144537782537e-01 -7.695385935306881e-01 -7.727663648349232e-01 + -7.759979029135046e-01 -7.792333428394971e-01 -7.824728194957561e-01 -7.857164675195603e-01 -7.889644207560909e-01 + -7.922168128628783e-01 -7.954737775389469e-01 -7.987354483417761e-01 -8.020019582211745e-01 -8.052734399002169e-01 + -8.085500258027153e-01 -8.118318481538471e-01 -8.151190386835121e-01 -8.184117289678831e-01 -8.217100504635063e-01 + -8.250141343769457e-01 -8.283241110344656e-01 -8.316401105683494e-01 -8.349622632152548e-01 -8.382906990624389e-01 + -8.416255474951805e-01 -8.449669376504778e-01 -8.483149983741850e-01 -8.516698583310095e-01 -8.550316457522134e-01 + -8.584004886419279e-01 -8.617765145292081e-01 -8.651598508088844e-01 -8.685506248139727e-01 -8.719489622521989e-01 + -8.753549823919468e-01 -8.787687997490927e-01 -8.821905162688262e-01 -8.856202278084699e-01 -8.890580184445617e-01 + -8.925039663319011e-01 -8.959581377191167e-01 -8.994205926453692e-01 -9.028913782181163e-01 -9.063705352609543e-01 + -9.098580923937473e-01 -9.133540718558304e-01 -9.168584825681617e-01 -9.203713268261465e-01 -9.238925937413506e-01 + -9.274222656928153e-01 -9.309603113133150e-01 -9.345066924037853e-01 -9.380613571840678e-01 -9.416242468397124e-01 + -9.451952880001965e-01 -9.487744002152808e-01 -9.523614892719469e-01 -9.559564538973973e-01 -9.595591783425093e-01 + -9.631695396882074e-01 -9.667874008119273e-01 -9.704126174878044e-01 -9.740450312802591e-01 -9.776844767743714e-01 + -9.813307748475731e-01 -9.849837394560669e-01 -9.886431705787867e-01 -9.923088615430331e-01 -9.959805930468456e-01 + -9.996581394281877e-01 -1.003341262213973e+00 -1.007029716826452e+00 -1.010723247080268e+00 -1.014421591236032e+00 + -1.018124476945841e+00 -1.021831626529500e+00 -1.025542751586175e+00 -1.029257558992056e+00 -1.032975747452084e+00 + -1.036697011770175e+00 -1.040421039317395e+00 -1.044147513860548e+00 -1.047876112182243e+00 -1.051606508161453e+00 + -1.055338371046766e+00 -1.059071368055605e+00 -1.062805162911107e+00 -1.066539417837194e+00 -1.070273792555226e+00 + -1.074007946119602e+00 -1.077741537419413e+00 -1.081474225260823e+00 -1.085205668283577e+00 -1.088935525821090e+00 + -1.092663460147868e+00 -1.096389134999202e+00 -1.100112217012435e+00 -1.103832374788097e+00 -1.107549281877421e+00 + -1.111262614364874e+00 -1.114972053517157e+00 -1.118677283811066e+00 -1.122377997381517e+00 -1.126073890115035e+00 + -1.129764665246453e+00 -1.133450029987863e+00 -1.137129700112097e+00 -1.140803395884355e+00 -1.144470846978575e+00 + -1.148131787996958e+00 -1.151785963846005e+00 -1.155433124321719e+00 -1.159073028473816e+00 -1.162705440550504e+00 + -1.166330136340245e+00 -1.169946897198408e+00 -1.173555515207745e+00 -1.177155787675114e+00 -1.180747522076412e+00 + -1.184330531453910e+00 -1.187904640946331e+00 -1.191469681045491e+00 -1.195025491559137e+00 -1.198571917630371e+00 + -1.202108816427798e+00 -1.205636050425976e+00 -1.209153491297797e+00 -1.212661015717853e+00 -1.216158511169199e+00 + -1.219645870103956e+00 -1.223122994042052e+00 -1.226589789250444e+00 -1.230046171916402e+00 -1.233492062734542e+00 + -1.236927390508550e+00 -1.240352088211073e+00 -1.243766097381527e+00 -1.247169363751694e+00 -1.250561841256042e+00 + -1.253943487695246e+00 -1.257314268132119e+00 -1.260674151007197e+00 -1.264023111009775e+00 -1.267361126327042e+00 + -1.270688182889021e+00 -1.274004269717549e+00 -1.277309380458899e+00 -1.280603511471348e+00 -1.283886665336751e+00 + -1.287158847447705e+00 -1.290420068216200e+00 -1.293670340397085e+00 -1.296909681097245e+00 -1.300138109654688e+00 + -1.303355649979877e+00 -1.306562327924205e+00 -1.309758172530325e+00 -1.312943214678930e+00 -1.316117489411603e+00 + -1.319281033477409e+00 -1.322433886294459e+00 -1.325576088655014e+00 -1.328707684178879e+00 -1.331828717822939e+00 + -1.334939237064845e+00 -1.338039290534788e+00 -1.341128928952336e+00 -1.344208204044806e+00 -1.347277169481128e+00 + -1.350335879836220e+00 -1.353384391367341e+00 -1.356422761075585e+00 -1.359451047255056e+00 -1.362469308854003e+00 + -1.365477606144248e+00 -1.368475999956682e+00 -1.371464552034891e+00 -1.374443324607048e+00 -1.377412380926959e+00 + -1.380371784452904e+00 -1.383321598435415e+00 -1.386261886043311e+00 -1.389192710326296e+00 -1.392114134331963e+00 + -1.395026221218571e+00 -1.397929034013782e+00 -1.400822635112213e+00 -1.403707086730599e+00 -1.406582451007194e+00 + -1.409448790047375e+00 -1.412306165903488e+00 -1.415154640386279e+00 -1.417994274393129e+00 -1.420825128672226e+00 + -1.423647264288326e+00 -1.426460742270041e+00 -1.429265623184807e+00 -1.432061967292326e+00 -1.434849834082543e+00 + -1.437629282863016e+00 -1.440400372981510e+00 -1.443163163644870e+00 -1.445917713456040e+00 -1.448664080745027e+00 + -1.451402323353998e+00 -1.454132498983212e+00 -1.456854665253158e+00 -1.459568879518891e+00 -1.462275198153495e+00 + -1.464973677286479e+00 -1.467664373054985e+00 -1.470347341460922e+00 -1.473022637957602e+00 -1.475690317602213e+00 + -1.478350434416031e+00 -1.481003042251009e+00 -1.483648195317718e+00 -1.486285947650543e+00 -1.488916352220507e+00 + -1.491539461636770e+00 -1.494155328124374e+00 -1.496764003712290e+00 -1.499365540029296e+00 -1.501959988475343e+00 + -1.504547399935251e+00 -1.507127824972320e+00 -1.509701313378898e+00 -1.512267914702716e+00 -1.514827678283996e+00 + -1.517380653263305e+00 -1.519926888190102e+00 -1.522466431291609e+00 -1.524999330097196e+00 -1.527525631932397e+00 + -1.530045384005255e+00 -1.532558633226744e+00 -1.535065425437065e+00 -1.537565806237489e+00 -1.540059821344337e+00 + -1.542547516227056e+00 -1.545028935252552e+00 -1.547504122520188e+00 -1.549973122161691e+00 -1.552435978060152e+00 + -1.554892733071735e+00 -1.557343429814709e+00 -1.559788110982664e+00 -1.562226819032855e+00 -1.564659595401864e+00 + -1.567086481207361e+00 -1.569507517312065e+00 -1.571922744465970e+00 -1.574332203223133e+00 -1.576735933784567e+00 + -1.579133975135047e+00 -1.581526366095511e+00 -1.583913146047792e+00 -1.586294354132112e+00 -1.588670027961349e+00 + -1.591040204840321e+00 -1.593404922368944e+00 -1.595764217997401e+00 -1.598118128281829e+00 -1.600466689560657e+00 + -1.602809938195509e+00 -1.605147910317183e+00 -1.607480641109968e+00 -1.609808165462235e+00 -1.612130518025190e+00 + -1.614447733364541e+00 -1.616759845941160e+00 -1.619066889913862e+00 -1.621368898338053e+00 -1.623665904067572e+00 + -1.625957940253400e+00 -1.628245039905108e+00 -1.630527235169479e+00 -1.632804557955816e+00 -1.635077040086276e+00 + -1.637344713164072e+00 -1.639607608003776e+00 -1.641865755216986e+00 -1.644119185392045e+00 -1.646367929030376e+00 + -1.648612016308968e+00 -1.650851477080719e+00 -1.653086340226579e+00 -1.655316634503563e+00 -1.657542389144867e+00 + -1.659763633269537e+00 -1.661980395063818e+00 -1.664192702419508e+00 -1.666400582983419e+00 -1.668604064251645e+00 + -1.670803173362428e+00 -1.672997937236383e+00 -1.675188382281491e+00 -1.677374534802169e+00 -1.679556421201192e+00 + -1.681734067628149e+00 -1.683907499121518e+00 -1.686076740528519e+00 -1.688241817042459e+00 -1.690402753749855e+00 + -1.692559574964003e+00 -1.694712304797627e+00 -1.696860967334408e+00 -1.699005586454806e+00 -1.701146185255449e+00 + -1.703282786721620e+00 -1.705415414177082e+00 -1.707544090831449e+00 -1.709668839099297e+00 -1.711789681156861e+00 + -1.713906639022084e+00 -1.716019734585396e+00 -1.718128989385494e+00 -1.720234424849230e+00 -1.722336062307809e+00 + -1.724433922917529e+00 -1.726528027230686e+00 -1.728618395721282e+00 -1.730705049154116e+00 -1.732788008101886e+00 + -1.734867292078088e+00 -1.736942920442919e+00 -1.739014913002594e+00 -1.741083289547465e+00 -1.743148069358425e+00 + -1.745209271450225e+00 -1.747266914282488e+00 -1.749321016270471e+00 -1.751371596207075e+00 -1.753418672811714e+00 + -1.755462264132180e+00 -1.757502388000569e+00 -1.759539062057792e+00 -1.761572303881055e+00 -1.763602130983907e+00 + -1.765628560778196e+00 -1.767651610332621e+00 -1.769671296580689e+00 -1.771687636258316e+00 -1.773700645994041e+00 + -1.775710342184503e+00 -1.777716741146727e+00 -1.779719859111176e+00 -1.781719712181211e+00 -1.783716316038327e+00 + -1.785709686327057e+00 -1.787699838965949e+00 -1.789686789700248e+00 -1.791670553307960e+00 -1.793651144443631e+00 + -1.795628578235185e+00 -1.797602869852874e+00 -1.799574034162875e+00 -1.801542085839167e+00 -1.803507039091021e+00 + -1.805468908052258e+00 -1.807427707019619e+00 -1.809383450209764e+00 -1.811336151356113e+00 -1.813285824110837e+00 + -1.815232482284336e+00 -1.817176139592257e+00 -1.819116809213001e+00 -1.821054504262256e+00 -1.822989238142106e+00 + -1.824921024174149e+00 -1.826849875071642e+00 -1.828775803432498e+00 -1.830698822001605e+00 -1.832618943490715e+00 + -1.834536180332052e+00 -1.836450544855570e+00 -1.838362049261658e+00 -1.840270705693083e+00 -1.842176526191684e+00 + -1.844079522732226e+00 -1.845979707122125e+00 -1.847877091069540e+00 -1.849771686052976e+00 -1.851663503515020e+00 + -1.853552554984233e+00 -1.855438851906239e+00 -1.857322405308933e+00 -1.859203226114476e+00 -1.861081325239847e+00 + -1.862956713608023e+00 -1.864829402171162e+00 -1.866699401811557e+00 -1.868566723102871e+00 -1.870431376467943e+00 + -1.872293372034969e+00 -1.874152719980291e+00 -1.876009430967454e+00 -1.877863515541558e+00 -1.879714983286677e+00 + -1.881563843740828e+00 -1.883410107218835e+00 -1.885253783963326e+00 -1.887094883151373e+00 -1.888933413891583e+00 + -1.890769386084288e+00 -1.892602809677417e+00 -1.894433694017575e+00 -1.896262048252058e+00 -1.898087881332244e+00 + -1.899911202238771e+00 -1.901732020265218e+00 -1.903550344662578e+00 -1.905366184198560e+00 -1.907179547502340e+00 + -1.908990443132265e+00 -1.910798879695625e+00 -1.912604866066330e+00 -1.914408411061036e+00 -1.916209523000752e+00 + -1.918008210058423e+00 -1.919804480310377e+00 -1.921598341888620e+00 -1.923389803244497e+00 -1.925178872754823e+00 + -1.926965558178970e+00 -1.928749867237572e+00 -1.930531808113790e+00 -1.932311388923252e+00 -1.934088617048956e+00 + -1.935863499807747e+00 -1.937636044984464e+00 -1.939406260367225e+00 -1.941174153289245e+00 -1.942939731044444e+00 + -1.944703001224463e+00 -1.946463971324967e+00 -1.948222648160018e+00 -1.949979038559213e+00 -1.951733150095908e+00 + -1.953484990331042e+00 -1.955234566032130e+00 -1.956981883796339e+00 -1.958726950332857e+00 -1.960469772453529e+00 + -1.962210357268799e+00 -1.963948711773954e+00 -1.965684842205069e+00 -1.967418754747339e+00 -1.969150456141664e+00 + -1.970879953151972e+00 -1.972607252078582e+00 -1.974332359180596e+00 -1.976055281015821e+00 -1.977776024078765e+00 + -1.979494594312026e+00 -1.981210997612849e+00 -1.982925240248993e+00 -1.984637328483028e+00 -1.986347268186276e+00 + -1.988055065135925e+00 -1.989760725123873e+00 -1.991464254028801e+00 -1.993165658061782e+00 -1.994864943305917e+00 + -1.996562115000000e+00 -1.998257178352118e+00 -1.999950139291834e+00 -2.001641003786081e+00 -2.003329777229788e+00 + -2.005016464899233e+00 -2.006701072168050e+00 -2.008383604435580e+00 -2.010064067106614e+00 -2.011742465557514e+00 + -2.013418805045480e+00 -2.015093090790721e+00 -2.016765327984645e+00 -2.018435521788566e+00 -2.020103677272243e+00 + -2.021769799450648e+00 -2.023433893211152e+00 -2.025095963440481e+00 -2.026756015150358e+00 -2.028414053372033e+00 + -2.030070083089858e+00 -2.031724109167109e+00 -2.033376136029651e+00 -2.035026168111125e+00 -2.036674210313675e+00 + -2.038320267543339e+00 -2.039964344253219e+00 -2.041606444873179e+00 -2.043246574193053e+00 -2.044884736927830e+00 + -2.046520937133174e+00 -2.048155178894251e+00 -2.049787467073582e+00 -2.051417806490505e+00 -2.053046201014273e+00 + -2.054672654449746e+00 -2.056297171294283e+00 -2.057919756136151e+00 -2.059540413234731e+00 -2.061159146675282e+00 + -2.062775960175462e+00 -2.064390857518372e+00 -2.066003843116474e+00 -2.067614921377108e+00 -2.069224096057763e+00 + -2.070831370870978e+00 -2.072436749999330e+00 -2.074040237602111e+00 -2.075641837275425e+00 -2.077241552544816e+00 + -2.078839387216755e+00 -2.080435345153352e+00 -2.082029430158359e+00 -2.083621645967183e+00 -2.085211996100236e+00 + -2.086800484128769e+00 -2.088387114042385e+00 -2.089971889736969e+00 -2.091554814315162e+00 -2.093135890870968e+00 + -2.094715123257078e+00 -2.096292515329556e+00 -2.097868070199266e+00 -2.099441790929908e+00 -2.101013681141721e+00 + -2.102583744473837e+00 -2.104151984084442e+00 -2.105718403103298e+00 -2.107283005027429e+00 -2.108845793364375e+00 + -2.110406771296459e+00 -2.111965941910842e+00 -2.113523308239219e+00 -2.115078873308544e+00 -2.116632640182243e+00 + -2.118184611994434e+00 -2.119734792125529e+00 -2.121283183887100e+00 -2.122829790069075e+00 -2.124374613416041e+00 + -2.125917657012881e+00 -2.127458923984833e+00 -2.128998417278243e+00 -2.130536139767974e+00 -2.132072094221826e+00 + -2.133606283403289e+00 -2.135138710165668e+00 -2.136669377406417e+00 -2.138198288109766e+00 -2.139725445172409e+00 + -2.141250851054121e+00 -2.142774508270670e+00 -2.144296419998729e+00 -2.145816589318136e+00 -2.147335018260493e+00 + -2.148851708859426e+00 -2.150366664204882e+00 -2.151879887475646e+00 -2.153391381149525e+00 -2.154901147551277e+00 + -2.156409189094421e+00 -2.157915508301146e+00 -2.159420108039566e+00 -2.160922991060322e+00 -2.162424159298261e+00 + -2.163923614721020e+00 -2.165421360243191e+00 -2.166917398765767e+00 -2.168411732188371e+00 -2.169904362385663e+00 + -2.171395292133801e+00 -2.172884524283159e+00 -2.174372061079477e+00 -2.175857904621596e+00 -2.177342057025400e+00 + -2.178824520458782e+00 -2.180305297280612e+00 -2.181784389836284e+00 -2.183261800226323e+00 -2.184737530553230e+00 + -2.186211583172279e+00 -2.187683960396664e+00 -2.189154664118480e+00 -2.190623696232450e+00 -2.192091059064924e+00 + -2.193556754973807e+00 -2.195020786011611e+00 -2.196483154140098e+00 -2.197943861263397e+00 -2.199402909290797e+00 + -2.200860300209873e+00 -2.202316036078389e+00 -2.203770119156592e+00 -2.205222551620105e+00 -2.206673335103553e+00 + -2.208122471221687e+00 -2.209569962050753e+00 -2.211015809743800e+00 -2.212460016299604e+00 -2.213902583604158e+00 + -2.215343513246597e+00 -2.216782806815468e+00 -2.218220466193829e+00 -2.219656493330310e+00 -2.221090890141300e+00 + -2.222523658493742e+00 -2.223954800089009e+00 -2.225384316635711e+00 -2.226812210036953e+00 -2.228238482128524e+00 + -2.229663134282465e+00 -2.231086167933421e+00 -2.232507585230206e+00 -2.233927388263609e+00 -2.235345578178182e+00 + -2.236762156112363e+00 -2.238177124126393e+00 -2.239590484325721e+00 -2.241002238074839e+00 -2.242412386688506e+00 + -2.243820932023517e+00 -2.245227875877045e+00 -2.246633219265731e+00 -2.248036963296034e+00 -2.249439110214208e+00 + -2.250839662216949e+00 -2.252238620162919e+00 -2.253635984842608e+00 -2.255031758111861e+00 -2.256425941987018e+00 + -2.257818538061035e+00 -2.259209547728066e+00 -2.260598972010440e+00 -2.261986811976363e+00 -2.263373069249392e+00 + -2.264757745520950e+00 -2.266140842198597e+00 -2.267522360622610e+00 -2.268902302148032e+00 -2.270280668153553e+00 + -2.271657460097697e+00 -2.273032679375423e+00 -2.274406327047590e+00 -2.275778404191426e+00 -2.277148912283742e+00 + -2.278517852852843e+00 -2.279885227233438e+00 -2.281251036662961e+00 -2.282615282183361e+00 -2.283977964870765e+00 + -2.285339086133513e+00 -2.286698647429660e+00 -2.288056650083893e+00 -2.289413095312870e+00 -2.290767984034498e+00 + -2.292121317209354e+00 -2.293473096267451e+00 -2.294823322630535e+00 -2.296171997217860e+00 -2.297519120939147e+00 + -2.298864695168495e+00 -2.300208721271999e+00 -2.301551200119357e+00 -2.302892132586471e+00 -2.304231520070443e+00 + -2.305569363951571e+00 -2.306905665021753e+00 -2.308240424043668e+00 -2.309573642251534e+00 -2.310905320943594e+00 + -2.312235461202651e+00 -2.313564064009707e+00 -2.314891130153991e+00 -2.316216660462560e+00 -2.317540656105554e+00 + -2.318863118293744e+00 -2.320184048057342e+00 -2.321503446385586e+00 -2.322821314284393e+00 -2.324137652689092e+00 + -2.325452462235987e+00 -2.326765743634779e+00 -2.328077498187803e+00 -2.329387727168217e+00 -2.330696431139842e+00 + -2.332003610675342e+00 -2.333309267092103e+00 -2.334613401701304e+00 -2.335916015044585e+00 -2.337217107588464e+00 + -2.338516680268511e+00 -2.339814734134101e+00 -2.341111270220800e+00 -2.342406289434137e+00 -2.343699792173311e+00 + -2.344991778936741e+00 -2.346282251126043e+00 -2.347571210092017e+00 -2.348858656078995e+00 -2.350144589310363e+00 + -2.351429011032167e+00 -2.352711922533504e+00 -2.353993324252988e+00 -2.355273216536063e+00 -2.356551600205969e+00 + -2.357828476165661e+00 -2.359103845159169e+00 -2.360377707896761e+00 -2.361650065112589e+00 -2.362920917562625e+00 + -2.364190266066228e+00 -2.365458111389245e+00 -2.366724454020086e+00 -2.367989294422349e+00 -2.369252633237819e+00 + -2.370514471195048e+00 -2.371774809191487e+00 -2.373033648052395e+00 -2.374290988145372e+00 -2.375546829856004e+00 + -2.376801174099476e+00 -2.378054021758188e+00 -2.379305373053798e+00 -2.380555228228685e+00 -2.381803588268867e+00 + -2.383050454170042e+00 -2.384295826222999e+00 -2.385539704659158e+00 -2.386782090177350e+00 -2.388022983519428e+00 + -2.389262385131917e+00 -2.390500295440986e+00 -2.391736715086700e+00 -2.392971644747536e+00 -2.394205085041701e+00 + -2.395437036486230e+00 -2.396667499253712e+00 -2.397896473568759e+00 -2.399123960208524e+00 -2.400349959968320e+00 + -2.401574473163553e+00 -2.402797500049246e+00 -2.404019041118798e+00 -2.405239096931802e+00 -2.406457668074259e+00 + -2.407674755052769e+00 -2.408890358029935e+00 -2.410104477201394e+00 -2.411317113238899e+00 -2.412528266823138e+00 + -2.413737938194389e+00 -2.414946127524263e+00 -2.416152835150093e+00 -2.417358061488310e+00 -2.418561807106014e+00 + -2.419764072540869e+00 -2.420964858062149e+00 -2.422164163883997e+00 -2.423361990268478e+00 -2.424558337539998e+00 + -2.425753206224426e+00 -2.426946596778449e+00 -2.428138509180588e+00 -2.429328943436301e+00 -2.430517900136966e+00 + -2.431705379929064e+00 -2.432891383093559e+00 -2.434075909789072e+00 -2.435258960050367e+00 -2.436440534002261e+00 + -2.437620632253666e+00 -2.438799255363957e+00 -2.439976403210287e+00 -2.441152075652963e+00 -2.442326273167121e+00 + -2.443498996281469e+00 -2.444670245124171e+00 -2.445840019720089e+00 -2.447008320081434e+00 -2.448175146330043e+00 + -2.449340499038912e+00 -2.450504378726154e+00 -2.451666785239187e+00 -2.452827718349615e+00 -2.453987178196479e+00 + -2.455145165027037e+00 -2.456301679153984e+00 -2.457456720843679e+00 -2.458610290111703e+00 -2.459762386895362e+00 + -2.460913011069636e+00 -2.462062162618941e+00 -2.463209842027783e+00 -2.464356049701044e+00 -2.465500785225038e+00 + -2.466644048210323e+00 -2.467785839182998e+00 -2.468926158651886e+00 -2.470065006141172e+00 -2.471202381154697e+00 + -2.472338284099561e+00 -2.473472715451581e+00 -2.474605675058163e+00 -2.475737162666682e+00 -2.476867178252799e+00 + -2.477995721814551e+00 -2.479122793211214e+00 -2.480248392312651e+00 -2.481372519169843e+00 -2.482495173828069e+00 + -2.483616356128687e+00 -2.484736065895716e+00 -2.485854303087743e+00 -2.486971067738408e+00 -2.488086360047014e+00 + -2.489200180083995e+00 -2.490312527238630e+00 -2.491423400907520e+00 -2.492532801197714e+00 -2.493640728315912e+00 + -2.494747182157012e+00 -2.495852162518061e+00 -2.496955669116524e+00 -2.498057701682506e+00 -2.499158260076250e+00 + -2.500257344205291e+00 -2.501354954036191e+00 -2.502451089487258e+00 -2.503545750224782e+00 -2.504638935878569e+00 + -2.505730646184535e+00 -2.506820880947837e+00 -2.507909640144502e+00 -2.508996923692245e+00 -2.510082731104683e+00 + -2.511167061905791e+00 -2.512249916065080e+00 -2.513331293568936e+00 -2.514411194025691e+00 -2.515489616993924e+00 + -2.516566562211253e+00 -2.517642029416175e+00 -2.518716018171676e+00 -2.519788528087044e+00 -2.520859559132313e+00 + -2.521929111272669e+00 -2.522997184093166e+00 -2.524063777123772e+00 -2.525128890054233e+00 -2.526192522577199e+00 + -2.527254674237163e+00 -2.528315344566595e+00 -2.529374533198041e+00 -2.530432239809303e+00 -2.531488464159136e+00 + -2.532543206017777e+00 -2.533596465120445e+00 -2.534648241083385e+00 -2.535698533081969e+00 -2.536747340380982e+00 + -2.537794663043710e+00 -2.538840501172024e+00 -2.539884854223596e+00 -2.540927721482817e+00 -2.541969102185147e+00 + -2.543008995720672e+00 -2.544047402146914e+00 -2.545084321505733e+00 -2.546119753108897e+00 -2.547153696148885e+00 + -2.548186150071097e+00 -2.549217114438763e+00 -2.550246589033513e+00 -2.551274573561718e+00 -2.552301067210345e+00 + -2.553326069170913e+00 -2.554349579172571e+00 -2.555371597001575e+00 -2.556392122135012e+00 -2.557411153995589e+00 + -2.558428692097672e+00 -2.559444735964176e+00 -2.560459285060548e+00 -2.561472338773803e+00 -2.562483896234721e+00 + -2.563493956701396e+00 -2.564502520197407e+00 -2.565509586690590e+00 -2.566515155160310e+00 -2.567519224484451e+00 + -2.568521794123430e+00 -2.569522863722881e+00 -2.570522433086768e+00 -2.571520501879673e+00 -2.572517069050324e+00 + -2.573512133570669e+00 -2.574505695221420e+00 -2.575497753777856e+00 -2.576488308184784e+00 -2.577477357385580e+00 + -2.578464901148367e+00 -2.579450939304331e+00 -2.580435471112168e+00 -2.581418495678755e+00 -2.582400012076188e+00 + -2.583380019545771e+00 -2.584358518040427e+00 -2.585335507388502e+00 -2.586310986208430e+00 -2.587284953146766e+00 + -2.588257408172476e+00 -2.589228351266687e+00 -2.590197781136742e+00 -2.591165696464199e+00 -2.592132097101227e+00 + -2.593096982965479e+00 -2.594060353065933e+00 -2.595022206300420e+00 -2.595982542030859e+00 -2.596941359648237e+00 + -2.597898658195753e+00 -2.598854436786441e+00 -2.599808695160485e+00 -2.600761432999720e+00 -2.601712649125437e+00 + -2.602662342322502e+00 -2.603610512090611e+00 -2.604557157983472e+00 -2.605502279056006e+00 -2.606445874333086e+00 + -2.607387943218189e+00 -2.608328485131743e+00 -2.609267499183389e+00 -2.610204984445080e+00 -2.611140940148811e+00 + -2.612075365584592e+00 -2.613008260114454e+00 -2.613939623006402e+00 -2.614869453080320e+00 -2.615797749224179e+00 + -2.616724511046408e+00 -2.617649738126216e+00 -2.618573429205448e+00 -2.619495583026503e+00 -2.620416199171340e+00 + -2.621335277249019e+00 -2.622252816137456e+00 -2.623168814653865e+00 -2.624083272103795e+00 -2.624996187859330e+00 + -2.625907561070358e+00 -2.626817390806325e+00 -2.627725676037143e+00 -2.628632415761536e+00 -2.629537609193020e+00 + -2.630441255587996e+00 -2.631343354159609e+00 -2.632243904045731e+00 -2.633142904126422e+00 -2.634040353337229e+00 + -2.634936251093461e+00 -2.635830596765059e+00 -2.636723389060725e+00 -2.637614626713354e+00 -2.638504309213838e+00 + -2.639392436080191e+00 -2.640279006180904e+00 -2.641164018251881e+00 -2.642047471148195e+00 -2.642929363899640e+00 + -2.643809696115713e+00 -2.644688467316341e+00 -2.645565676083456e+00 -2.646441320932559e+00 -2.647315401051427e+00 + -2.648187915755844e+00 -2.649058864201336e+00 -2.649928245427330e+00 -2.650796058169106e+00 -2.651662301248424e+00 + -2.652526974137104e+00 -2.653390076247662e+00 -2.654251606105329e+00 -2.655111562238285e+00 -2.655969944073783e+00 + -2.656826751086593e+00 -2.657681982042466e+00 -2.658535635661370e+00 -2.659387711189145e+00 -2.660238207837736e+00 + -2.661087124157626e+00 -2.661934458755756e+00 -2.662780211126336e+00 -2.663624380741185e+00 -2.664466966095276e+00 + -2.665307965694397e+00 -2.666147379064445e+00 -2.666985205710447e+00 -2.667821444033845e+00 -2.668656092405469e+00 + -2.669489150177272e+00 -2.670320616801000e+00 -2.671150491146469e+00 -2.671978771965001e+00 -2.672805458115896e+00 + -2.673630548501148e+00 -2.674454042085555e+00 -2.675275937884819e+00 -2.676096235055446e+00 -2.676914932653945e+00 + -2.677732029196031e+00 -2.678547523253807e+00 -2.679361414165717e+00 -2.680173701269736e+00 -2.680984383135636e+00 + -2.681793458321363e+00 -2.682600926105787e+00 -2.683406785794135e+00 -2.684211036076172e+00 -2.685013675548027e+00 + -2.685814703046789e+00 -2.686614117528503e+00 -2.687411918184072e+00 -2.688208104155523e+00 -2.689002674154484e+00 + -2.689795626844247e+00 -2.690586961125131e+00 -2.691376675931391e+00 -2.692164770096012e+00 -2.692951242468673e+00 + -2.693736092067127e+00 -2.694519317933390e+00 -2.695300919038479e+00 -2.696080894259941e+00 -2.696859242172434e+00 + -2.697635961409562e+00 -2.698411051143577e+00 -2.699184510529523e+00 -2.699956338114957e+00 -2.700726532498006e+00 + -2.701495093086574e+00 -2.702262019208106e+00 -2.703027309058428e+00 -2.703790960874505e+00 -2.704552974189474e+00 + -2.705313348537555e+00 -2.706072082161119e+00 -2.706829173257158e+00 -2.707584621133000e+00 -2.708338425191227e+00 + -2.709090584105120e+00 -2.709841096442358e+00 -2.710589961077480e+00 -2.711337176962203e+00 -2.712082743050078e+00 + -2.712826658235913e+00 -2.713568921177743e+00 -2.714309530527581e+00 -2.715048485150131e+00 -2.715785783993005e+00 + -2.716521426122757e+00 -2.717255410569124e+00 -2.717987736095623e+00 -2.718718401385704e+00 -2.719447405068731e+00 + -2.720174745881186e+00 -2.720900423042079e+00 -2.721624435690877e+00 -2.722346782166338e+00 -2.723067460855530e+00 + -2.723786471139474e+00 -2.724503812410580e+00 -2.725219483112852e+00 -2.725933481634188e+00 -2.726645807086471e+00 + -2.727356458650697e+00 -2.728065435060333e+00 -2.728772734953498e+00 -2.729478357034439e+00 -2.730182300087997e+00 + -2.730884563155262e+00 -2.731585145263588e+00 -2.732284045129153e+00 -2.732981261442558e+00 -2.733676793103288e+00 + -2.734370639038562e+00 -2.735062798077667e+00 -2.735753269071118e+00 -2.736442051052291e+00 -2.737129142959769e+00 + -2.737814543170111e+00 -2.738498250131983e+00 -2.739180263144520e+00 -2.739860581563291e+00 -2.740539204119172e+00 + -2.741216129405992e+00 -2.741891356094071e+00 -2.742564882952538e+00 -2.743236709069217e+00 -2.743906833523784e+00 + -2.744575255044610e+00 -2.745241972311204e+00 -2.745906984158941e+00 -2.746570289467025e+00 -2.747231887134115e+00 + -2.747891776057501e+00 -2.748549955109537e+00 -2.749206423158993e+00 -2.749861179085207e+00 -2.750514221765824e+00 + -2.751165550061125e+00 -2.751815162841771e+00 -2.752463059037292e+00 -2.753109237554207e+00 -2.753753697148108e+00 + -2.754396436622574e+00 -2.755037455124055e+00 -2.755676751755156e+00 -2.756314325100252e+00 -2.756950173779785e+00 + -2.757584297076699e+00 -2.758216694281619e+00 -2.758847364053396e+00 -2.759476305000437e+00 -2.760103516161140e+00 + -2.760728996610216e+00 -2.761352745137616e+00 -2.761974760563591e+00 -2.762595042114344e+00 -2.763213589016364e+00 + -2.763830400091322e+00 -2.764445474113015e+00 -2.765058810068553e+00 -2.765670407011266e+00 -2.766280264046035e+00 + -2.766888380201558e+00 -2.767494754150214e+00 -2.768099384646222e+00 -2.768702271127474e+00 -2.769303413030783e+00 + -2.769902809104988e+00 -2.770500458053093e+00 -2.771096359082754e+00 -2.771690511445131e+00 -2.772282914060774e+00 + -2.772873565847032e+00 -2.773462466039048e+00 -2.774049613856528e+00 -2.774635008139637e+00 -2.775218647762881e+00 + -2.775800532117688e+00 -2.776380660598635e+00 -2.776959032095993e+00 -2.777535645483684e+00 -2.778110500074552e+00 + -2.778683595228330e+00 -2.779254930053368e+00 -2.779824503611819e+00 -2.780392315032438e+00 -2.780958363471580e+00 + -2.781522648129417e+00 -2.782085168237396e+00 -2.782645923108263e+00 -2.783204912027138e+00 -2.783762134087364e+00 + -2.784317588365996e+00 -2.784871274066723e+00 -2.785423190471204e+00 -2.785973337046338e+00 -2.786521713227682e+00 + -2.787068318140169e+00 -2.787613150927563e+00 -2.788156211119559e+00 -2.788697498201977e+00 -2.789237011099205e+00 + -2.789774748795882e+00 -2.790310711079109e+00 -2.790844897774500e+00 -2.791377308059270e+00 -2.791907941021321e+00 + -2.792436796039691e+00 -2.792963872575855e+00 -2.793489170129877e+00 -2.794012688183935e+00 -2.794534426110070e+00 + -2.795054383269529e+00 -2.795572559090522e+00 -2.796088953089790e+00 -2.796603565071232e+00 -2.797116394731634e+00 + -2.797627441052200e+00 -2.798136703104035e+00 -2.798644181033428e+00 -2.799149874997305e+00 -2.799653784119957e+00 + -2.800155907491874e+00 -2.800656245100958e+00 -2.801154796934787e+00 -2.801651562082218e+00 -2.802146539693571e+00 + -2.802639730063738e+00 -2.803131133478864e+00 -2.803620749045517e+00 -2.804108575856467e+00 -2.804594614128865e+00 + -2.805078864118387e+00 -2.805561325110418e+00 -2.806041996375143e+00 -2.806520878092229e+00 -2.806997970489045e+00 + -2.807473273074300e+00 -2.807946785293329e+00 -2.808418507056632e+00 -2.808888438355500e+00 -2.809356579039224e+00 + -2.809822928959404e+00 -2.810287488118900e+00 -2.810750256531227e+00 -2.811211234101264e+00 -2.811670420689050e+00 + -2.812127816083888e+00 -2.812583420143096e+00 -2.813037233066774e+00 -2.813489255065615e+00 -2.813939486049919e+00 + -2.814387925944586e+00 -2.814834575033324e+00 -2.815279433542374e+00 -2.815722501109326e+00 -2.816163777438837e+00 + -2.816603263092504e+00 -2.817040958671196e+00 -2.817476864075942e+00 -2.817910979131784e+00 -2.818343304059641e+00 + -2.818773839208482e+00 -2.819202585043600e+00 -2.819629541969078e+00 -2.820054710027820e+00 -2.820478089265513e+00 + -2.820899680100151e+00 -2.821319482977751e+00 -2.821737498084143e+00 -2.822153725615352e+00 -2.822568166068396e+00 + -2.822980820018520e+00 -2.823391688052908e+00 -2.823800770674544e+00 -2.824208068037681e+00 -2.824613580315654e+00 + -2.825017308106835e+00 -2.825419252121360e+00 -2.825819413091381e+00 -2.826217791658008e+00 -2.826614388076187e+00 + -2.827009202624378e+00 -2.827402236061253e+00 -2.827793489256864e+00 -2.828182963046578e+00 -2.828570658171722e+00 + -2.828956575032161e+00 -2.829340714052488e+00 -2.829723076097664e+00 -2.830103662132774e+00 -2.830482473083023e+00 + -2.830859509823491e+00 -2.831234773068641e+00 -2.831608263528317e+00 -2.831979982054516e+00 -2.832349929557777e+00 + -2.832718107040651e+00 -2.833084515526141e+00 -2.833449156027042e+00 -2.833812029550204e+00 -2.834173137088914e+00 + -2.834532479620883e+00 -2.834890058075082e+00 -2.835245873448821e+00 -2.835599927061508e+00 -2.835952220243667e+00 + -2.836302754048190e+00 -2.836651529530672e+00 -2.836998548035129e+00 -2.837343810883671e+00 -2.837687319022324e+00 + -2.838029073490917e+00 -2.838369076080591e+00 -2.838707328586376e+00 -2.839043832067564e+00 -2.839378587474163e+00 + -2.839711596054793e+00 -2.840042859259108e+00 -2.840372379042276e+00 -2.840700157280677e+00 -2.841026195030013e+00 + -2.841350493343512e+00 -2.841673054085180e+00 -2.841993879190829e+00 -2.842312970072699e+00 -2.842630328108386e+00 + -2.842945955060471e+00 -2.843259852775203e+00 -2.843572023048496e+00 -2.843882467617769e+00 -2.844191188036773e+00 + -2.844498185884593e+00 -2.844803463025301e+00 -2.845107021413000e+00 -2.845408863076932e+00 -2.845708990020076e+00 + -2.846007404065244e+00 -2.846304107050338e+00 -2.846599101053807e+00 -2.846892388135785e+00 -2.847183970042619e+00 + -2.847473848570861e+00 -2.847762026031680e+00 -2.848048504803730e+00 -2.848333287020989e+00 -2.848616374754612e+00 + -2.848897770069131e+00 -2.849177475073159e+00 -2.849455492058227e+00 -2.849731823327478e+00 -2.850006471047571e+00 + -2.850279437434387e+00 -2.850550725037162e+00 -2.850820336439234e+00 -2.851088274026996e+00 -2.851354540133094e+00 + -2.851619137072155e+00 -2.851882067200814e+00 -2.852143333061782e+00 -2.852402937208544e+00 -2.852660882051651e+00 + -2.852917170055367e+00 -2.853171804041764e+00 -2.853424786850297e+00 -2.853676121032120e+00 -2.853925809140160e+00 + -2.854173854022716e+00 -2.854420258509995e+00 -2.854665025064492e+00 -2.854908156206457e+00 -2.855149655054884e+00 + -2.855389524765914e+00 -2.855627768045515e+00 -2.855864387531145e+00 -2.856099386036384e+00 -2.856332766480263e+00 + -2.856564532027491e+00 -2.856794685864488e+00 -2.857023231018833e+00 -2.857250170456676e+00 -2.857475507057297e+00 + -2.857699243787178e+00 -2.857921384048440e+00 -2.858141931205942e+00 -2.858360888039817e+00 -2.858578257403886e+00 + -2.858794043031427e+00 -2.859008248642304e+00 -2.859220877023269e+00 -2.859431930941042e+00 -2.859641414015340e+00 + -2.859849329964776e+00 -2.860055682050569e+00 -2.860260473522559e+00 -2.860463708042447e+00 -2.860665389218646e+00 + -2.860865520034553e+00 -2.861064103583913e+00 -2.861261144026887e+00 -2.861456645505078e+00 -2.861650611019446e+00 + -2.861843043539793e+00 -2.862033947051935e+00 -2.862223325674870e+00 -2.862411183044306e+00 -2.862597522669464e+00 + -2.862782348036900e+00 -2.862965662765951e+00 -2.863147471029718e+00 -2.863327776966641e+00 -2.863506584022756e+00 + -2.863683895649960e+00 -2.863859716016013e+00 -2.864034049304372e+00 -2.864206899045429e+00 -2.864378268816853e+00 + -2.864548163038503e+00 -2.864716586175495e+00 -2.864883542031795e+00 -2.865049034317118e+00 -2.865213067025303e+00 + -2.865375644227383e+00 -2.865536770019026e+00 -2.865696448531390e+00 -2.865854684012960e+00 -2.866011480747103e+00 + -2.866166843039399e+00 -2.866320775137251e+00 -2.866473281033156e+00 -2.866624364792500e+00 -2.866774031027124e+00 + -2.866922284373643e+00 -2.867069129021301e+00 -2.867214569108258e+00 -2.867358609015685e+00 -2.867501253183005e+00 + -2.867642506039625e+00 -2.867782372075631e+00 -2.867920856033839e+00 -2.868057962606175e+00 -2.868193696028257e+00 + -2.868328060561013e+00 -2.868461061022879e+00 -2.868592702303233e+00 -2.868722989017701e+00 -2.868851925722842e+00 + -2.868979517012722e+00 -2.869105767524959e+00 -2.869230682033886e+00 -2.869354265317122e+00 -2.869476522028743e+00 + -2.869597456891174e+00 -2.869717075023798e+00 -2.869835381525858e+00 -2.869952381019048e+00 -2.870068078133983e+00 + -2.870182478014490e+00 -2.870295585788873e+00 -2.870407406010122e+00 -2.870517943287246e+00 -2.870627203028626e+00 + -2.870735190678368e+00 -2.870841911024103e+00 -2.870947368779615e+00 -2.871051569019769e+00 -2.871154516959833e+00 + -2.871256218015620e+00 -2.871356677487263e+00 -2.871455900011655e+00 -2.871553890297982e+00 -2.871650654007871e+00 + -2.871746196881877e+00 -2.871840524023838e+00 -2.871933640394619e+00 -2.872025551019907e+00 -2.872116261043417e+00 + -2.872205776016155e+00 -2.872294101539941e+00 -2.872381243012580e+00 -2.872467205758066e+00 -2.872551995009178e+00 + -2.872635615995248e+00 -2.872718074023048e+00 -2.872799374482606e+00 -2.872879523019508e+00 -2.872958525324841e+00 + -2.873036387016140e+00 -2.873113113575017e+00 -2.873188710012942e+00 -2.873263181462381e+00 -2.873336534009911e+00 + -2.873408773769060e+00 -2.873479906007045e+00 -2.873549935889074e+00 -2.873618869018622e+00 -2.873686711126628e+00 + -2.873753468015626e+00 -2.873819145455355e+00 -2.873883749012791e+00 -2.873947284262238e+00 -2.874009757010115e+00 + -2.874071173064448e+00 -2.874131538007598e+00 -2.874190857408149e+00 -2.874249137005235e+00 -2.874306382592947e+00 + -2.874362600014657e+00 -2.874417795154723e+00 -2.874471974012172e+00 -2.874525142492177e+00 -2.874577306009839e+00 + -2.874628470067637e+00 -2.874678641007656e+00 -2.874727825164796e+00 -2.874776028005620e+00 -2.874823254939239e+00 + -2.874869512013286e+00 -2.874914805384953e+00 -2.874959141011137e+00 -2.875002524843012e+00 -2.875044963009132e+00 + -2.875086461553842e+00 -2.875127026007268e+00 -2.875166661990855e+00 -2.875205376005544e+00 -2.875243174521211e+00 + -2.875280063003956e+00 -2.875316046953741e+00 -2.875351133009737e+00 -2.875385327829893e+00 -2.875418637008044e+00 + -2.875451066029114e+00 -2.875482621006486e+00 -2.875513308222273e+00 -2.875543134005058e+00 -2.875572104616458e+00 + -2.875600226003760e+00 -2.875627504088381e+00 -2.875653945002586e+00 -2.875679554924722e+00 -2.875704340006628e+00 + -2.875728306365356e+00 -2.875751460005359e+00 -2.875773807024162e+00 -2.875795354004213e+00 -2.875816107441742e+00 + -2.875836073003188e+00 -2.875855256356105e+00 -2.875873664002281e+00 -2.875891302525273e+00 -2.875908178001488e+00 + -2.875924296429527e+00 -2.875939664003940e+00 -2.875954287022889e+00 -2.875968172003060e+00 -2.875981325374513e+00 + -2.875993753002293e+00 -2.876005460745149e+00 -2.876016455001635e+00 -2.876026742281703e+00 -2.876036329001085e+00 + -2.876045221511428e+00 -2.876053426002279e+00 -2.876060948682664e+00 -2.876067796001651e+00 -2.876073974394489e+00 + -2.876079490001126e+00 -2.876084348997735e+00 -2.876088558000703e+00 -2.876092123620084e+00 -2.876095052000378e+00 + -2.876097349275196e+00 -2.876099022000147e+00 -2.876100076780735e+00 -2.876100520000039e+00 -2.876100357977497e+00 + -2.876099597000405e+00 -2.876098243435337e+00 -2.876096303998139e+00 -2.876093785401991e+00 -2.876090694000126e+00 + -2.876087036076098e+00 -2.876082817994697e+00 -2.876078046153286e+00 -2.876072726998279e+00 -2.876066867041051e+00 + -2.876060473003754e+00 -2.876053551562065e+00 -2.876046108994973e+00 -2.876038151582050e+00 -2.876029686001908e+00 + -2.876020718975022e+00 -2.876011256990315e+00 -2.876001306494705e+00 -2.875990873998654e+00 -2.875979966015766e+00 + -2.875968589008655e+00 -2.875956749461299e+00 -2.875944453994101e+00 -2.875931709272467e+00 -2.875918522005370e+00 + -2.875904898821941e+00 -2.875890845988358e+00 -2.875876369796106e+00 -2.875861477000839e+00 -2.875846174460938e+00 + -2.875830468981534e+00 -2.875814367182402e+00 -2.875797874995170e+00 -2.875780998493851e+00 -2.875763745010153e+00 + -2.875746121853747e+00 -2.875728134988475e+00 -2.875709790337169e+00 -2.875691095004476e+00 -2.875672056151185e+00 + -2.875652679980860e+00 -2.875632972639220e+00 -2.875612940997824e+00 -2.875592591983200e+00 -2.875571932015899e+00 + -2.875550967463832e+00 -2.875529704990307e+00 -2.875508151305197e+00 -2.875486313009207e+00 -2.875464196688727e+00 + -2.875441808982035e+00 -2.875419156538716e+00 -2.875396246001703e+00 -2.875373083982446e+00 -2.875349676973115e+00 + -2.875326031456047e+00 -2.875302153993497e+00 -2.875278051224424e+00 -2.875253730014671e+00 -2.875229197164465e+00 + -2.875204458984698e+00 -2.875179521740897e+00 -2.875154392006447e+00 -2.875129076470253e+00 -2.875103581975416e+00 + -2.875077915323747e+00 -2.875052082997684e+00 -2.875026091410789e+00 -2.874999947020509e+00 -2.874973656330889e+00 + -2.874947225988491e+00 -2.874920662667701e+00 -2.874893973011697e+00 -2.874867163623783e+00 -2.874840240978976e+00 + -2.874813211559227e+00 -2.874786082002508e+00 -2.874758858958694e+00 -2.874731548969249e+00 -2.874704158521300e+00 + -2.874676693993052e+00 -2.874649161850167e+00 -2.874621569017096e+00 -2.874593922351292e+00 -2.874566227983435e+00 + -2.874538491996276e+00 -2.874510721007613e+00 -2.874482921761722e+00 -2.874455100973768e+00 -2.874427265275985e+00 + -2.874399420998023e+00 -2.874371574431975e+00 -2.874343732022288e+00 -2.874315900299783e+00 -2.874288085988434e+00 + -2.874260295776052e+00 -2.874232536012641e+00 -2.874204812974258e+00 -2.874177132978955e+00 -2.874149502426689e+00 + -2.874121928003048e+00 -2.874094416390038e+00 -2.874066973969692e+00 -2.874039607056358e+00 -2.874012321993617e+00 + -2.873985125156578e+00 -2.873958023017241e+00 -2.873931022092817e+00 -2.873904128984454e+00 -2.873877350227203e+00 + -2.873850692007775e+00 -2.873824160475146e+00 -2.873797761975665e+00 -2.873771502947487e+00 -2.873745389998629e+00 + -2.873719429664607e+00 -2.873693628021065e+00 -2.873667991196405e+00 -2.873642525989910e+00 -2.873617239207638e+00 + -2.873592137011854e+00 -2.873567225478465e+00 -2.873542510981722e+00 -2.873517999984164e+00 -2.873493699003122e+00 + -2.873469614539558e+00 -2.873445752974173e+00 -2.873422120664412e+00 -2.873398723994974e+00 -2.873375569341346e+00 + -2.873352663014937e+00 -2.873330011368907e+00 -2.873307620987516e+00 -2.873285498440290e+00 -2.873263650006746e+00 + -2.873242081977908e+00 -2.873220800980854e+00 -2.873199813610778e+00 -2.873179125999297e+00 -2.873158744269642e+00 + -2.873138674975094e+00 -2.873118924733721e+00 -2.873099499992696e+00 -2.873080407078925e+00 -2.873061652009151e+00 + -2.873043240951156e+00 -2.873025180987050e+00 -2.873007479104932e+00 -2.872990141002529e+00 -2.872973172348110e+00 + -2.872956579982463e+00 -2.872940370832477e+00 -2.872924550996914e+00 -2.872909126514257e+00 -2.872894104009989e+00 + -2.872879490127201e+00 -2.872865290992410e+00 -2.872851512733995e+00 -2.872838162004323e+00 -2.872825245427317e+00 + -2.872812768989124e+00 -2.872800738661925e+00 -2.872789160999820e+00 -2.872778042642130e+00 -2.872767389987160e+00 + -2.872757209355336e+00 -2.872747506996586e+00 -2.872738289140315e+00 -2.872729562004331e+00 -2.872721331833777e+00 + -2.872713604994726e+00 -2.872706387896571e+00 -2.872699687001068e+00 -2.872693508692679e+00 -2.872687858994343e+00 + -2.872682743943764e+00 -2.872678169999229e+00 -2.872674143639194e+00 -2.872670671002211e+00 -2.872667758252759e+00 + -2.872665411998920e+00 -2.872663638727966e+00 -2.872662444000314e+00 -2.872661833458480e+00 -2.872661814000242e+00 + -2.872662392564575e+00 -2.872663574999996e+00 -2.872665367034357e+00 -2.872667775003300e+00 -2.872670805307676e+00 + -2.872674464001362e+00 -2.872678757122995e+00 -2.872683690997219e+00 -2.872689271947241e+00 -2.872695506004511e+00 + -2.872702399218003e+00 -2.872709957998547e+00 -2.872718188690384e+00 -2.872727097009549e+00 -2.872736688669513e+00 + -2.872746970001709e+00 -2.872757947412680e+00 -2.872769626991446e+00 -2.872782014787135e+00 -2.872795117006809e+00 + -2.872808939808297e+00 -2.872823488994544e+00 -2.872838770359238e+00 -2.872854790013944e+00 -2.872871554154958e+00 + -2.872889068999627e+00 -2.872907340687168e+00 -2.872926375023218e+00 -2.872946177789640e+00 -2.872966755006795e+00 + -2.872988112738970e+00 -2.873010256987659e+00 -2.873033193743455e+00 -2.873056929016149e+00 -2.873081468798353e+00 + -2.873106818994782e+00 -2.873132985471494e+00 -2.873159974027786e+00 -2.873187790508094e+00 -2.873216441004140e+00 + -2.873245931584463e+00 -2.873276267977569e+00 -2.873307455856915e+00 -2.873339501015828e+00 -2.873372409342765e+00 + -2.873406186986854e+00 -2.873440840030674e+00 -2.873476374029945e+00 -2.873512794459630e+00 -2.873550106998518e+00 + -2.873588317466817e+00 -2.873627432046586e+00 -2.873667456808100e+00 -2.873708397012657e+00 -2.873750257967860e+00 + -2.873793045975522e+00 -2.873836767295967e+00 -2.873881427029366e+00 -2.873927030237608e+00 -2.873973582989610e+00 + -2.874021091436191e+00 -2.874069561048740e+00 -2.874118997257345e+00 -2.874169406006314e+00 -2.874220793186470e+00 + -2.874273163960479e+00 -2.874326523535612e+00 -2.874380878025728e+00 -2.874436233504353e+00 -2.874492594977105e+00 + -2.874549967456173e+00 -2.874608357047944e+00 -2.874667769870749e+00 -2.874728210996486e+00 -2.874789685444839e+00 + -2.874852199073056e+00 -2.874915757808161e+00 -2.874980367018717e+00 -2.875046031956011e+00 -2.875112757960702e+00 + -2.875180550448241e+00 -2.875249415043884e+00 -2.875319357389408e+00 -2.875390382982873e+00 -2.875462497200150e+00 + -2.875535705072081e+00 -2.875610011724477e+00 -2.875685423008027e+00 -2.875761944747628e+00 -2.875839581940104e+00 + -2.875918339524430e+00 -2.875998223036253e+00 -2.876079238083328e+00 -2.876161389965175e+00 -2.876244683897332e+00 + -2.876329125067640e+00 -2.876414718675390e+00 -2.876501469993362e+00 -2.876589384334920e+00 -2.876678467102276e+00 + -2.876768723646439e+00 -2.876860159024752e+00 -2.876952778311590e+00 -2.877046586943105e+00 -2.877141590285005e+00 + -2.877237793059432e+00 -2.877335200055582e+00 -2.877433816974432e+00 -2.877533649470098e+00 -2.877634702097487e+00 + -2.877736979404358e+00 -2.877840487009089e+00 -2.877945230580227e+00 -2.878051214916385e+00 -2.878158444703550e+00 + -2.878266925047163e+00 -2.878376661120778e+00 -2.878487657950954e+00 -2.878599920558564e+00 -2.878713454088738e+00 + -2.878828263638601e+00 -2.878944353988982e+00 -2.879061729871082e+00 -2.879180396133895e+00 -2.879300357745253e+00 + -2.879421620030550e+00 -2.879544188234639e+00 -2.879668066922659e+00 -2.879793260582870e+00 -2.879919774075741e+00 + -2.880047612428619e+00 -2.880176780964157e+00 -2.880307284823274e+00 -2.880439128124635e+00 -2.880572315044195e+00 + -2.880706851009318e+00 -2.880842741491739e+00 -2.880979990889281e+00 -2.881118603470176e+00 -2.881258584058220e+00 + -2.881399937594580e+00 -2.881542668934350e+00 -2.881686782880171e+00 -2.881832284110943e+00 -2.881979177270132e+00 + -2.882127466983199e+00 -2.882277157822698e+00 -2.882428254167564e+00 -2.882580760515876e+00 -2.882734682035907e+00 + -2.882890023809088e+00 -2.883046789899305e+00 -2.883204984344022e+00 -2.883364612092550e+00 -2.883525678164890e+00 + -2.883688186951939e+00 -2.883852142755886e+00 -2.884017550153203e+00 -2.884184413751485e+00 -2.884352738008543e+00 + -2.884522527349429e+00 -2.884693786217942e+00 -2.884866519029743e+00 -2.885040730069195e+00 -2.885216423722596e+00 + -2.885393604915286e+00 -2.885572278454246e+00 -2.885752448133968e+00 -2.885934117732660e+00 -2.886117291975880e+00 + -2.886301975695701e+00 -2.886488173202934e+00 -2.886675888645447e+00 -2.886865126040629e+00 -2.887055889528861e+00 + -2.887248183873006e+00 -2.887442013779875e+00 -2.887637383109605e+00 -2.887834295673936e+00 -2.888032755937675e+00 + -2.888232768417303e+00 -2.888434337182880e+00 -2.888637466267979e+00 -2.888842160006608e+00 -2.889048422705334e+00 + -2.889256258260521e+00 -2.889465670586525e+00 -2.889676664079871e+00 -2.889889243164732e+00 -2.890103411893701e+00 + -2.890319174230825e+00 -2.890536534157536e+00 -2.890755495690120e+00 -2.890976062966901e+00 -2.891198240133124e+00 + -2.891422031239666e+00 -2.891647440271526e+00 -2.891874471044534e+00 -2.892103127449178e+00 -2.892333413843735e+00 + -2.892565334531329e+00 -2.892798893126666e+00 -2.893034093211137e+00 -2.893270938921286e+00 -2.893509434394119e+00 + -2.893749583213363e+00 -2.893991388990754e+00 -2.894234856003367e+00 -2.894479988544211e+00 -2.894726790304690e+00 + -2.894975264880993e+00 -2.895225416090045e+00 -2.895477247800793e+00 -2.895730763869547e+00 -2.895985968110420e+00 + -2.896242864181383e+00 -2.896501455784724e+00 -2.896761746956156e+00 -2.897023741664482e+00 -2.897287443277443e+00 + -2.897552855132549e+00 -2.897819981047455e+00 -2.898088824960355e+00 -2.898359390811481e+00 -2.898631682423090e+00 + -2.898905703143506e+00 -2.899181456336644e+00 -2.899458945902694e+00 -2.899738175745144e+00 -2.900019149244370e+00 + -2.900301869748365e+00 -2.900586340998689e+00 -2.900872566741790e+00 -2.901160550350105e+00 -2.901450295205248e+00 + -2.901741805099525e+00 -2.902035083835090e+00 -2.902330134842785e+00 -2.902626961482952e+00 -2.902925567205262e+00 + -2.903225955501619e+00 -2.903528129943548e+00 -2.903832094083243e+00 -2.904137851315957e+00 -2.904445404943298e+00 + -2.904754758049239e+00 -2.905065913908475e+00 -2.905378876776237e+00 -2.905693650730528e+00 -2.906010238159916e+00 + -2.906328641477237e+00 -2.906648864881840e+00 -2.906970912612057e+00 -2.907294787275635e+00 -2.907620491421319e+00 + -2.907948028992455e+00 -2.908277404008211e+00 -2.908608619396449e+00 -2.908941677961907e+00 -2.909276583108139e+00 + -2.909613338320582e+00 -2.909951946813384e+00 -2.910292411733319e+00 -2.910634736228945e+00 -2.910978923497479e+00 + -2.911324976928991e+00 -2.911672899876866e+00 -2.912022695354926e+00 -2.912374366346152e+00 -2.912727916049746e+00 + -2.913083347735332e+00 -2.913440664738005e+00 -2.913799870293631e+00 -2.914160967175702e+00 -2.914523958205600e+00 + -2.914888846858668e+00 -2.915255636613397e+00 -2.915624330306910e+00 -2.915994930711883e+00 -2.916367440984558e+00 + -2.916741864289805e+00 -2.917118203443422e+00 -2.917496461287171e+00 -2.917876641115726e+00 -2.918258746264796e+00 + -2.918642779781321e+00 -2.919028744569610e+00 -2.919416643252220e+00 -2.919806478556714e+00 -2.920198253912409e+00 + -2.920591972698769e+00 -2.920987637394092e+00 -2.921385250442034e+00 -2.921784815048848e+00 -2.922186334507697e+00 + -2.922589811696789e+00 -2.922995249368979e+00 -2.923402650190686e+00 -2.923812016928122e+00 -2.924223352833133e+00 + -2.924636661116357e+00 -2.925051944337972e+00 -2.925469204994078e+00 -2.925888445974902e+00 -2.926309670222330e+00 + -2.926732880490753e+00 -2.927158079512877e+00 -2.927585270122142e+00 -2.928014455203420e+00 -2.928445637746579e+00 + -2.928878820641719e+00 -2.929314006274898e+00 -2.929751197043434e+00 -2.930190395893735e+00 -2.930631605816839e+00 + -2.931074829433217e+00 -2.931520069294359e+00 -2.931967328046430e+00 -2.932416608452995e+00 -2.932867913652596e+00 + -2.933321246608101e+00 -2.933776609204709e+00 -2.934234003435805e+00 -2.934693432805196e+00 -2.935154900804807e+00 + -2.935618409368617e+00 -2.936083960365691e+00 -2.936551556963400e+00 -2.937021202354904e+00 -2.937492898538196e+00 + -2.937966647468766e+00 -2.938442452127255e+00 -2.938920315642269e+00 -2.939400240709141e+00 -2.939882229846171e+00 + -2.940366285296803e+00 -2.940852409365155e+00 -2.941340604872910e+00 -2.941830874578781e+00 -2.942323220472084e+00 + -2.942817644603974e+00 -2.943314150042391e+00 -2.943812739919231e+00 -2.944313416605433e+00 -2.944816182292809e+00 + -2.945321039217627e+00 -2.945827989752984e+00 -2.946337036774817e+00 -2.946848183049044e+00 -2.947361430398659e+00 + -2.947876780695535e+00 -2.948394236949976e+00 -2.948913802216184e+00 -2.949435478585527e+00 -2.949959268045502e+00 + -2.950485173130951e+00 -2.951013196489051e+00 -2.951543340668991e+00 -2.952075608036040e+00 -2.952610000317780e+00 + -2.953146519451356e+00 -2.953685168849877e+00 -2.954225951787981e+00 -2.954768869510503e+00 -2.955313923227115e+00 + -2.955861116036636e+00 -2.956410451196468e+00 -2.956961930709160e+00 -2.957515556348660e+00 -2.958071330229310e+00 + -2.958629254704319e+00 -2.959189332741965e+00 -2.959751567143614e+00 -2.960315959427935e+00 -2.960882511105170e+00 + -2.961451224934558e+00 -2.962022103774683e+00 -2.962595149632548e+00 -2.963170364371659e+00 -2.963747750133120e+00 + -2.964327309260061e+00 -2.964909044626116e+00 -2.965492958892178e+00 -2.966079053337689e+00 -2.966667329311879e+00 + -2.967257789824588e+00 -2.967850437973655e+00 -2.968445275548303e+00 -2.969042304161408e+00 -2.969641526029084e+00 + -2.970242943489398e+00 -2.970846558764995e+00 -2.971452374012471e+00 -2.972060391239641e+00 -2.972670612566008e+00 + -2.973283040706606e+00 -2.973897678221620e+00 -2.974514526456296e+00 -2.975133586785449e+00 -2.975754861917081e+00 + -2.976378354633252e+00 -2.977004066679083e+00 -2.977631999719257e+00 -2.978262156133669e+00 -2.978894538388579e+00 + -2.979529148580497e+00 -2.980165988659094e+00 -2.980805060356407e+00 -2.981446365534977e+00 -2.982089906796993e+00 + -2.982735686662750e+00 -2.983383706585328e+00 -2.984033968085205e+00 -2.984686474019655e+00 -2.985341227187940e+00 + -2.985998228820469e+00 -2.986657480057624e+00 -2.987318983248517e+00 -2.987982740990944e+00 -2.988648755668708e+00 + -2.989317029403636e+00 -2.989987563483614e+00 -2.990660359350691e+00 -2.991335419897486e+00 -2.992012747963469e+00 + -2.992692344724977e+00 -2.993374211287029e+00 -2.994058350132512e+00 -2.994744763907397e+00 -2.995433454532118e+00 + -2.996124423756546e+00 -2.996817673373822e+00 -2.997513205283444e+00 -2.998211021767050e+00 -2.998911125033880e+00 + -2.999613516621449e+00 -3.000318198120732e+00 -3.001025172008281e+00 -3.001734440748973e+00 -3.002446005875424e+00 + -3.003159868783688e+00 -3.003876031255844e+00 -3.004594495323234e+00 -3.005315263628241e+00 -3.006038338638268e+00 + -3.006763721509772e+00 -3.007491413411925e+00 -3.008221416875716e+00 -3.008953734497098e+00 -3.009688367770095e+00 + -3.010425318036306e+00 -3.011164587129571e+00 -3.011906177113799e+00 -3.012650090480955e+00 -3.013396329533748e+00 + -3.014144895389836e+00 -3.014895789237767e+00 -3.015649013734712e+00 -3.016404571515447e+00 -3.017162463656545e+00 + -3.017922691248400e+00 -3.018685256994897e+00 -3.019450163571901e+00 -3.020217411929727e+00 -3.020987002987051e+00 + -3.021758939261538e+00 -3.022533223477289e+00 -3.023309857585168e+00 -3.024088843221124e+00 -3.024870181534668e+00 + -3.025653873871900e+00 -3.026439922851719e+00 -3.027228331077071e+00 -3.028019099814318e+00 -3.028812230192102e+00 + -3.029607724124773e+00 -3.030405583764245e+00 -3.031205811426982e+00 -3.032008409239547e+00 -3.032813378404362e+00 + -3.033620720145768e+00 -3.034430436699938e+00 -3.035242530366928e+00 -3.036057002690514e+00 -3.036873855182042e+00 + -3.037693089979441e+00 -3.038514709166424e+00 -3.039338713983260e+00 -3.040165105664532e+00 -3.040993886265523e+00 + -3.041825058080565e+00 -3.042658623539453e+00 -3.043494584770202e+00 -3.044332942558215e+00 -3.045173697755793e+00 + -3.046016852825442e+00 -3.046862410359265e+00 -3.047710371857544e+00 -3.048560738605269e+00 -3.049413512118055e+00 + -3.050268694173960e+00 -3.051126287370169e+00 -3.051986294136892e+00 -3.052848715417321e+00 -3.053713552140092e+00 + -3.054580806662679e+00 -3.055450481419417e+00 -3.056322577723267e+00 -3.057197096839233e+00 -3.058074040961857e+00 + -3.058953412280709e+00 -3.059835212035924e+00 -3.060719441405425e+00 -3.061606102267731e+00 -3.062495196777212e+00 + -3.063386727491054e+00 -3.064280696619269e+00 -3.065177104580330e+00 -3.066075951959016e+00 -3.066977241796834e+00 + -3.067880977177860e+00 -3.068787158899685e+00 -3.069695787543252e+00 -3.070606865109353e+00 -3.071520393938529e+00 + -3.072436376310475e+00 -3.073354814200677e+00 -3.074275708428639e+00 -3.075199059975246e+00 -3.076124871622891e+00 + -3.077053146054635e+00 -3.077983883754724e+00 -3.078917085313194e+00 -3.079852753942089e+00 -3.080790892784741e+00 + -3.081731502087634e+00 -3.082674582011150e+00 -3.083620135268097e+00 -3.084568164866139e+00 -3.085518672439932e+00 + -3.086471659270948e+00 -3.087427126600947e+00 -3.088385075921834e+00 -3.089345509765843e+00 -3.090308430518810e+00 + -3.091273838940665e+00 -3.092241735746584e+00 -3.093212123098609e+00 -3.094185003484481e+00 -3.095160379247863e+00 + -3.096138252358965e+00 -3.097118623438258e+00 -3.098101493262150e+00 -3.099086864580523e+00 -3.100074740150514e+00 + -3.101065120784818e+00 -3.102058007230942e+00 -3.103053401920080e+00 -3.104051307417155e+00 -3.105051725138318e+00 + -3.106054656274756e+00 -3.107060102266563e+00 -3.108068064811119e+00 -3.109078546386035e+00 -3.110091549326776e+00 + -3.111107074619999e+00 -3.112125123273996e+00 -3.113145697732417e+00 -3.114168800386244e+00 -3.115194431980418e+00 + -3.116222593318652e+00 -3.117253287085768e+00 -3.118286516039464e+00 -3.119322281347848e+00 -3.120360583948459e+00 + -3.121401425446115e+00 -3.122444807777008e+00 -3.123490733535526e+00 -3.124539205035892e+00 -3.125590222813487e+00 + -3.126643787500575e+00 -3.127699901895779e+00 -3.128758568841378e+00 -3.129819789187914e+00 -3.130883563634097e+00 + -3.131949894263071e+00 -3.133018783446947e+00 -3.134090233329311e+00 -3.135164245759380e+00 -3.136240821637432e+00 + -3.137319962039862e+00 -3.138401669696502e+00 -3.139485947209752e+00 -3.140572795018887e+00 -3.141662213641400e+00 + -3.142754206070774e+00 -3.143848775370422e+00 -3.144945922407469e+00 -3.146045647810740e+00 -3.147147953452156e+00 + -3.148252841552866e+00 -3.149360314487843e+00 -3.150470374336312e+00 -3.151583021840677e+00 -3.152698257836541e+00 + -3.153816084869129e+00 -3.154936505573740e+00 -3.156059521236365e+00 -3.157185132934072e+00 -3.158313342257567e+00 + -3.159444151127381e+00 -3.160577562269707e+00 -3.161713578058511e+00 -3.162852198653188e+00 -3.163993424406347e+00 + -3.165137258658042e+00 -3.166283704751602e+00 -3.167432763056018e+00 -3.168584433853514e+00 -3.169738720053572e+00 + -3.170895624664928e+00 -3.172055148466089e+00 -3.173217292044841e+00 -3.174382057456326e+00 -3.175549447119023e+00 + -3.176719463437418e+00 -3.177892108465135e+00 -3.179067382866334e+00 -3.180245287430775e+00 -3.181425824840074e+00 + -3.182608997807819e+00 -3.183794807283624e+00 -3.184983254083125e+00 -3.186174340249998e+00 -3.187368068149750e+00 + -3.188564440207163e+00 -3.189763458501066e+00 -3.190965123667219e+00 -3.192169436468204e+00 -3.193376399616980e+00 + -3.194586015855556e+00 -3.195798286091764e+00 -3.197013211234878e+00 -3.198230794034108e+00 -3.199451037209393e+00 + -3.200673941523666e+00 -3.201899507599942e+00 -3.203127737458575e+00 -3.204358633517069e+00 -3.205592198384193e+00 + -3.206828434306502e+00 -3.208067341890413e+00 -3.209308921829809e+00 -3.210553176808560e+00 -3.211800109598040e+00 + -3.213049721329648e+00 -3.214302012941719e+00 -3.215556986240311e+00 -3.216814643392485e+00 -3.218074987141617e+00 + -3.219338019837523e+00 -3.220603741679474e+00 -3.221872153094758e+00 -3.223143257573258e+00 -3.224417058543514e+00 + -3.225693556126080e+00 -3.226972750453261e+00 -3.228254645012327e+00 -3.229539243310538e+00 -3.230826545580160e+00 + -3.232116551831102e+00 -3.233409264458852e+00 -3.234704686394765e+00 -3.236002820328103e+00 -3.237303668413965e+00 + -3.238607230912866e+00 -3.239913508296335e+00 -3.241222503774527e+00 -3.242534220589764e+00 -3.243848659374397e+00 + -3.245165820540432e+00 -3.246485706228452e+00 -3.247808319087641e+00 -3.249133662073000e+00 -3.250461737608715e+00 + -3.251792545689908e+00 -3.253126086515263e+00 -3.254462363526813e+00 -3.255801380232294e+00 -3.257143137158927e+00 + -3.258487634736825e+00 -3.259834875988172e+00 -3.261184864013611e+00 -3.262537599635538e+00 -3.263893083453904e+00 + -3.265251317457108e+00 -3.266612304094287e+00 -3.267976046269084e+00 -3.269342546452898e+00 -3.270711804933652e+00 + -3.272083822201368e+00 -3.273458601737915e+00 -3.274836147008249e+00 -3.276216458417835e+00 -3.277599536106921e+00 + -3.278985382214368e+00 -3.280373999474050e+00 -3.281765391001240e+00 -3.283159559381294e+00 -3.284556504698475e+00 + -3.285956227223949e+00 -3.287358730477579e+00 -3.288764018003004e+00 -3.290172090190266e+00 -3.291582947391597e+00 + -3.292996592961586e+00 -3.294413030263101e+00 -3.295832259689772e+00 -3.297254281509102e+00 -3.298679098453292e+00 + -3.300106713632883e+00 -3.301537129207062e+00 -3.302970346938195e+00 -3.304406367952729e+00 -3.305845193592728e+00 + -3.307286826698660e+00 -3.308731270022015e+00 -3.310178524459931e+00 -3.311628590794006e+00 -3.313081471198005e+00 + -3.314537168271639e+00 -3.315995684926260e+00 -3.317457023622331e+00 -3.318921184705128e+00 -3.320388168757214e+00 + -3.321857979425488e+00 -3.323330620242623e+00 -3.324806091220061e+00 -3.326284392457951e+00 -3.327765527932510e+00 + -3.329249501635255e+00 -3.330736313742837e+00 -3.332225964151081e+00 -3.333718455447356e+00 -3.335213790816533e+00 + -3.336711973141963e+00 -3.338213004741188e+00 -3.339716885970061e+00 -3.341223617428788e+00 -3.342733202656698e+00 + -3.344245645175923e+00 -3.345760945500658e+00 -3.347279103963591e+00 -3.348800123179309e+00 -3.350324006237700e+00 + -3.351850755847976e+00 -3.353380374190363e+00 -3.354912861709826e+00 -3.356448219173252e+00 -3.357986450370467e+00 + -3.359527558984502e+00 -3.361071545248283e+00 -3.362618409368982e+00 -3.364168154900880e+00 -3.365720785489059e+00 + -3.367276301794712e+00 -3.368834704260551e+00 -3.370395995439248e+00 -3.371960178388195e+00 -3.373527256073704e+00 + -3.375097230883950e+00 -3.376670102985606e+00 -3.378245872877927e+00 -3.379824544611959e+00 -3.381406122149057e+00 + -3.382990605539988e+00 -3.384577994855671e+00 -3.386168294158221e+00 -3.387761507524905e+00 -3.389357635102426e+00 + -3.390956676825633e+00 -3.392558635712520e+00 -3.394163515324364e+00 -3.395771318312439e+00 -3.397382046745834e+00 + -3.398995701274896e+00 -3.400612282828281e+00 -3.402231794866633e+00 -3.403854240867662e+00 -3.405479621845378e+00 + -3.407107938586081e+00 -3.408739193428916e+00 -3.410373389185216e+00 -3.412010529002203e+00 -3.413650615518111e+00 + -3.415293648999326e+00 -3.416939629995896e+00 -3.418588562564371e+00 -3.420240450691449e+00 -3.421895294577897e+00 + -3.423553094414080e+00 -3.425213854134680e+00 -3.426877577792018e+00 -3.428544266164663e+00 -3.430213919689846e+00 + -3.431886540713168e+00 -3.433562132145608e+00 -3.435240697251321e+00 -3.436922238808692e+00 -3.438606757299870e+00 + -3.440294253397158e+00 -3.441984730829699e+00 -3.443678193368453e+00 -3.445374641894819e+00 -3.447074077051543e+00 + -3.448776501416308e+00 -3.450481918039497e+00 -3.452190329927366e+00 -3.453901739641781e+00 -3.455616148011183e+00 + -3.457333556082980e+00 -3.459053967513855e+00 -3.460777385853499e+00 -3.462503811614361e+00 -3.464233245386620e+00 + -3.465965691108627e+00 -3.467701152771073e+00 -3.469439631225878e+00 -3.471181127031554e+00 -3.472925642711720e+00 + -3.474673181335264e+00 -3.476423746187027e+00 -3.478177340029919e+00 -3.479933963323171e+00 -3.481693616824597e+00 + -3.483456304790008e+00 -3.485222031388338e+00 -3.486990796943019e+00 -3.488762601570069e+00 -3.490537448401365e+00 + -3.492315341151373e+00 -3.494096282849095e+00 -3.495880275915030e+00 -3.497667321021135e+00 -3.499457419173128e+00 + -3.501250574460328e+00 -3.503046790838973e+00 -3.504846068649357e+00 -3.506648408298966e+00 -3.508453814079994e+00 + -3.510262290280344e+00 -3.512073837286068e+00 -3.513888455301771e+00 -3.515706147708129e+00 -3.517526918395819e+00 + -3.519350770119465e+00 -3.521177705073145e+00 -3.523007724344773e+00 -3.524840829328240e+00 -3.526677023747485e+00 + -3.528516311267811e+00 -3.530358692989965e+00 -3.532204169811781e+00 -3.534052744384031e+00 -3.535904419874647e+00 + -3.537759199767289e+00 -3.539617087002065e+00 -3.541478082029144e+00 -3.543342185630307e+00 -3.545209402403708e+00 + -3.547079736777425e+00 -3.548953188682862e+00 -3.550829758143615e+00 -3.552709450048714e+00 -3.554592269345012e+00 + -3.556478216345227e+00 -3.558367291032073e+00 -3.560259496702344e+00 -3.562154837300620e+00 -3.564053316048536e+00 + -3.565954935512961e+00 -3.567859696364639e+00 -3.569767599635964e+00 -3.571678649702049e+00 -3.573592850895430e+00 + -3.575510204035641e+00 -3.577430709619281e+00 -3.579354370364244e+00 -3.581281189700099e+00 -3.583211171681835e+00 + -3.585144319721653e+00 -3.587080634035166e+00 -3.589020115063184e+00 -3.590962767343901e+00 -3.592908595415016e+00 + -3.594857599714854e+00 -3.596809780701911e+00 -3.598765143014713e+00 -3.600723691343250e+00 -3.602685426403352e+00 + -3.604650348553174e+00 -3.606618460694309e+00 -3.608589766473437e+00 -3.610564269974137e+00 -3.612541974573128e+00 + -3.614522880382737e+00 -3.616506987803558e+00 -3.618494301653613e+00 -3.620484826823921e+00 -3.622478564080036e+00 + -3.624475513850586e+00 -3.626475679341938e+00 -3.628479064392689e+00 -3.630485672592619e+00 -3.632495506905407e+00 + -3.634508568039156e+00 -3.636524857004877e+00 -3.638544378280809e+00 -3.640567136287224e+00 -3.642593131745308e+00 + -3.644622365423449e+00 -3.646654841977913e+00 -3.648690566065893e+00 -3.650729538460438e+00 -3.652771759626902e+00 + -3.654817232683972e+00 -3.656865961450936e+00 -3.658917949896158e+00 -3.660973201344661e+00 -3.663031716399031e+00 + -3.665093495929850e+00 -3.667158544602091e+00 -3.669226867066577e+00 -3.671298464123134e+00 -3.673373336353373e+00 + -3.675451487317045e+00 -3.677532921173144e+00 -3.679617641499514e+00 -3.681705651197185e+00 -3.683796951041065e+00 + -3.685891542158701e+00 -3.687989429214330e+00 -3.690090616811484e+00 -3.692195105774196e+00 -3.694302896934788e+00 + -3.696413994938233e+00 -3.698528404463948e+00 -3.700646126516483e+00 -3.702767161822413e+00 -3.704891513671268e+00 + -3.707019186005269e+00 -3.709150182814482e+00 -3.711284507419287e+00 -3.713422160413482e+00 -3.715563142750310e+00 + -3.717707459547388e+00 -3.719855115839397e+00 -3.722006112164920e+00 -3.724160448777861e+00 -3.726318129289493e+00 + -3.728479158099316e+00 -3.730643539402395e+00 -3.732811276589775e+00 -3.734982370040845e+00 -3.737156820495128e+00 + -3.739334633144358e+00 -3.741515813112657e+00 -3.743700360801490e+00 -3.745888276640612e+00 -3.748079565895588e+00 + -3.750274233918474e+00 -3.752472281571475e+00 -3.754673709335501e+00 -3.756878520656135e+00 -3.759086719721971e+00 + -3.761298310728990e+00 -3.763513297133539e+00 -3.765731679426046e+00 -3.767953458457793e+00 -3.770178639489403e+00 + -3.772407227784000e+00 -3.774639224205367e+00 -3.776874629489326e+00 -3.779113448259203e+00 -3.781355685279774e+00 + -3.783601341994148e+00 -3.785850419525435e+00 -3.788102921038436e+00 -3.790358850378410e+00 -3.792618212070778e+00 + -3.794881010002580e+00 -3.797147244827153e+00 -3.799416917428862e+00 -3.801690032849888e+00 -3.803966596190487e+00 + -3.806246608625402e+00 -3.808530070983860e+00 -3.810816986638503e+00 -3.813107359693981e+00 -3.815401194639556e+00 + -3.817698495297397e+00 -3.819999262436677e+00 -3.822303497093916e+00 -3.824611204428034e+00 -3.826922389548483e+00 + -3.829237053244454e+00 -3.831555196353405e+00 -3.833876824226091e+00 -3.836201942201953e+00 -3.838530551061888e+00 + -3.840862651326505e+00 -3.843198247033778e+00 -3.845537342919513e+00 -3.847879942993476e+00 -3.850226050562932e+00 + -3.852575666851148e+00 -3.854928793361406e+00 -3.857285434801036e+00 -3.859645595950435e+00 -3.862009278678248e+00 + -3.864376484523473e+00 -3.866747216618300e+00 -3.869121478726629e+00 -3.871499275546047e+00 -3.873880611182955e+00 + -3.876265486445322e+00 -3.878653902389424e+00 -3.881045864363169e+00 -3.883441377687285e+00 -3.885840443282151e+00 + -3.888243062046155e+00 -3.890649239190073e+00 -3.893058980047241e+00 -3.895472286128841e+00 -3.897889158595383e+00 + -3.900309601026809e+00 -3.902733617656517e+00 -3.905161212912323e+00 -3.907592390603840e+00 -3.910027151873432e+00 + -3.912465498159137e+00 -3.914907434748928e+00 -3.917352966879188e+00 -3.919802095729995e+00 -3.922254822259626e+00 + -3.924711150595445e+00 -3.927171085542605e+00 -3.929634631448325e+00 -3.932101791843537e+00 -3.934572567451927e+00 + -3.937046959532740e+00 -3.939524974294695e+00 -3.942006617767883e+00 -3.944491890318428e+00 -3.946980792233828e+00 + -3.949473329151056e+00 -3.951969506957779e+00 -3.954469327195002e+00 -3.956972790971958e+00 -3.959479902017460e+00 + -3.961990664762499e+00 -3.964505083827194e+00 -3.967023163167552e+00 -3.969544903893966e+00 -3.972070307479498e+00 + -3.974599379693463e+00 -3.977132126179292e+00 -3.979668547780628e+00 -3.982208645099321e+00 -3.984752422569858e+00 + -3.987299885436030e+00 -3.989851038346246e+00 -3.992405885069993e+00 -3.994964426456437e+00 -3.997526663815754e+00 + -4.000092603222488e+00 -4.002662250581340e+00 -4.005235606353252e+00 -4.007812671084819e+00 -4.010393451108941e+00 + -4.012977952843547e+00 -4.015566177260363e+00 -4.018158124897606e+00 -4.020753800005660e+00 -4.023353207686703e+00 + -4.025956352737950e+00 -4.028563239140089e+00 -4.031173867912699e+00 -4.033788240453579e+00 -4.036406362634527e+00 + -4.039028240314873e+00 -4.041653874830120e+00 -4.044283267179555e+00 -4.046916421541453e+00 -4.049553342894448e+00 + -4.052194036239657e+00 -4.054838505774454e+00 -4.057486752458788e+00 -4.060138777601743e+00 -4.062794587146426e+00 + -4.065454187011838e+00 -4.068117578386588e+00 -4.070784762448621e+00 -4.073455745063631e+00 -4.076130532171974e+00 + -4.078809125324914e+00 -4.081491525652789e+00 -4.084177736991329e+00 -4.086867764089578e+00 -4.089561612644448e+00 + -4.092259287473573e+00 -4.094960788929582e+00 -4.097666117736884e+00 -4.100375280572002e+00 -4.103088284211306e+00 + -4.105805129878449e+00 -4.108525818267906e+00 -4.111250353510137e+00 -4.113978740671802e+00 -4.116710985128399e+00 + -4.119447091422845e+00 -4.122187060458915e+00 -4.124930893522407e+00 -4.127678597066370e+00 -4.130430177441071e+00 + -4.133185635418395e+00 -4.135944971791250e+00 -4.138708193015015e+00 -4.141475305696859e+00 -4.144246311388639e+00 + -4.147021211130915e+00 -4.149800008974389e+00 -4.152582709893380e+00 -4.155369319546537e+00 -4.158159842709882e+00 + -4.160954279944561e+00 -4.163752632239020e+00 -4.166554906505763e+00 -4.169361109687737e+00 -4.172171242925584e+00 + -4.174985306927709e+00 -4.177803306475812e+00 -4.180625247195196e+00 -4.183451134012302e+00 -4.186280970992621e+00 + -4.189114759456745e+00 -4.191952501240072e+00 -4.194794202982180e+00 -4.197639871116617e+00 -4.200489506448629e+00 + -4.203343109834506e+00 -4.206200687962978e+00 -4.209062247657938e+00 -4.211927790451525e+00 -4.214797317400862e+00 + -4.217670832954751e+00 -4.220548342457539e+00 -4.223429851444060e+00 -4.226315364591702e+00 -4.229204882957573e+00 + -4.232098408004153e+00 -4.234995946435681e+00 -4.237897504949240e+00 -4.240803084971501e+00 -4.243712687544032e+00 + -4.246626317438374e+00 -4.249543980343883e+00 -4.252465681891192e+00 -4.255391426705907e+00 -4.258321215452209e+00 + -4.261255049361277e+00 -4.264192935893713e+00 -4.267134882389568e+00 -4.270080889477248e+00 -4.273030957691918e+00 + -4.275985093907401e+00 -4.278943305249538e+00 -4.281905593513557e+00 -4.284871959946388e+00 -4.287842408932329e+00 + -4.290816945777364e+00 -4.293795576336856e+00 -4.296778305653331e+00 -4.299765134968560e+00 -4.302756065899131e+00 + -4.305751105361620e+00 -4.308750260118541e+00 -4.311753531016159e+00 -4.314760919008608e+00 -4.317772431397722e+00 + -4.320788075591533e+00 -4.323807853075197e+00 -4.326831764792573e+00 -4.329859815445223e+00 -4.332892010759197e+00 + -4.335928356800809e+00 -4.338968858700405e+00 -4.342013517504197e+00 -4.345062334602749e+00 -4.348115316848165e+00 + -4.351172471198577e+00 -4.354233799574710e+00 -4.357299303495111e+00 -4.360368987907023e+00 -4.363442858590077e+00 + -4.366520921224746e+00 -4.369603180592436e+00 -4.372689637977453e+00 -4.375780295145305e+00 -4.378875159283436e+00 + -4.381974237486932e+00 -4.385077531059527e+00 -4.388185041309383e+00 -4.391296775353732e+00 -4.394412740393244e+00 + -4.397532938153312e+00 -4.400657369887305e+00 -4.403786040435705e+00 -4.406918955633090e+00 -4.410056121703311e+00 + -4.413197543940346e+00 -4.416343223529426e+00 -4.419493162052248e+00 -4.422647366785128e+00 -4.425805845047289e+00 + -4.428968598634965e+00 -4.432135628892382e+00 -4.435306940878729e+00 -4.438482540596634e+00 -4.441662434107552e+00 + -4.444846626509031e+00 -4.448035118984182e+00 -4.451227913265940e+00 -4.454425017200977e+00 -4.457626438485681e+00 + -4.460832178101560e+00 -4.464042236947444e+00 -4.467256622306292e+00 -4.470475341701105e+00 -4.473698397230936e+00 + -4.476925790483307e+00 -4.480157526423565e+00 -4.483393610985775e+00 -4.486634050601043e+00 -4.489878850742320e+00 + -4.493128012552872e+00 -4.496381537630165e+00 -4.499639433718156e+00 -4.502901708553144e+00 -4.506168363694287e+00 + -4.509439400268067e+00 -4.512714823847340e+00 -4.515994641019672e+00 -4.519278857985080e+00 -4.522567479881829e+00 + -4.525860507988668e+00 -4.529157944122721e+00 -4.532459796114085e+00 -4.535766071688615e+00 -4.539076772142213e+00 + -4.542391898765175e+00 -4.545711459255270e+00 -4.549035461446213e+00 -4.552363907308053e+00 -4.555696798263391e+00 + -4.559034139408705e+00 -4.562375936904542e+00 -4.565722197493832e+00 -4.569072926948550e+00 -4.572428126574475e+00 + -4.575787798129616e+00 -4.579151949647104e+00 -4.582520589075836e+00 -4.585893717752653e+00 -4.589271336639746e+00 + -4.592653451812744e+00 -4.596040070428725e+00 -4.599431198857142e+00 -4.602826842289216e+00 -4.606227001990830e+00 + -4.609631679831751e+00 -4.613040884022596e+00 -4.616454622677202e+00 -4.619872897181441e+00 -4.623295708819967e+00 + -4.626723065200532e+00 -4.630154974192006e+00 -4.633591438384649e+00 -4.637032459790966e+00 -4.640478043391029e+00 + -4.643928195196958e+00 -4.647382922381489e+00 -4.650842231139545e+00 -4.654306122594169e+00 -4.657774598295235e+00 + -4.661247666571815e+00 -4.664725335805659e+00 -4.668207607810025e+00 -4.671694483876048e+00 -4.675185969774820e+00 + -4.678682072408495e+00 -4.682182798723523e+00 -4.685688154522786e+00 -4.689198140990583e+00 -4.692712759891060e+00 + -4.696232019926335e+00 -4.699755929666950e+00 -4.703284490219185e+00 -4.706817702626076e+00 -4.710355575141943e+00 + -4.713898116290367e+00 -4.717445328460708e+00 -4.720997213393779e+00 -4.724553776370427e+00 -4.728115023824750e+00 + -4.731680963263822e+00 -4.735251601139764e+00 -4.738826938611875e+00 -4.742406977241646e+00 -4.745991725492132e+00 + -4.749581191958943e+00 -4.753175378866366e+00 -4.756774287871428e+00 -4.760377924733439e+00 -4.763986296289299e+00 + -4.767599409584012e+00 -4.771217270615820e+00 -4.774839880987831e+00 -4.778467242836293e+00 -4.782099364825118e+00 + -4.785736255481164e+00 -4.789377916255392e+00 -4.793024348603915e+00 -4.796675561079348e+00 -4.800331562360717e+00 + -4.803992354536202e+00 -4.807657939173200e+00 -4.811328322346788e+00 -4.815003511262576e+00 -4.818683513140625e+00 + -4.822368334073276e+00 -4.826057975627521e+00 -4.829752439872078e+00 -4.833451735407881e+00 -4.837155870922971e+00 + -4.840864848921632e+00 -4.844578671297884e+00 -4.848297343688468e+00 -4.852020872870312e+00 -4.855749266438375e+00 + -4.859482530948563e+00 -4.863220667982479e+00 -4.866963679596293e+00 -4.870711574718753e+00 -4.874464362148352e+00 + -4.878222043289993e+00 -4.881984619584831e+00 -4.885752100012597e+00 -4.889524493673498e+00 -4.893301802611106e+00 + -4.897084028340568e+00 -4.900871177319985e+00 -4.904663257144151e+00 -4.908460275011687e+00 -4.912262236942902e+00 + -4.916069144641015e+00 -4.919881000415621e+00 -4.923697813318887e+00 -4.927519592402767e+00 -4.931346339975771e+00 + -4.935178057730553e+00 -4.939014751639765e+00 -4.942856428895341e+00 -4.946703097286389e+00 -4.950554763469543e+00 + -4.954411428974413e+00 -4.958273095882141e+00 -4.962139773607051e+00 -4.966011471374763e+00 -4.969888190322918e+00 + -4.973769931656962e+00 -4.977656704941523e+00 -4.981548519919207e+00 -4.985445378685372e+00 -4.989347282670139e+00 + -4.993254238289898e+00 -4.997166253181426e+00 -5.001083334876794e+00 -5.005005489750602e+00 -5.008932719652265e+00 + -5.012865027026571e+00 -5.016802421224969e+00 -5.020744911403345e+00 -5.024692499028711e+00 -5.028645185619313e+00 + -5.032602980587180e+00 -5.036565893470627e+00 -5.040533926419334e+00 -5.044507081015939e+00 -5.048485363963517e+00 + -5.052468783200935e+00 -5.056457346489804e+00 -5.060451060330298e+00 -5.064449926354071e+00 -5.068453946757710e+00 + -5.072463130865962e+00 -5.076477488052552e+00 -5.080497020758939e+00 -5.084521730904982e+00 -5.088551625256381e+00 + -5.092586711696772e+00 -5.096626997735727e+00 -5.100672489712744e+00 -5.104723189661156e+00 -5.108779100266077e+00 + -5.112840231125939e+00 -5.116906591587866e+00 -5.120978183080382e+00 -5.125055007124604e+00 -5.129137073530554e+00 + -5.133224392250169e+00 -5.137316965514153e+00 -5.141414794882011e+00 -5.145517886949661e+00 -5.149626249667421e+00 + -5.153739891366810e+00 -5.157858819095347e+00 -5.161983034383363e+00 -5.166112539324860e+00 -5.170247343785729e+00 + -5.174387457616170e+00 -5.178532882831751e+00 -5.182683620936045e+00 -5.186839679219287e+00 -5.191001066208124e+00 + -5.195167789588259e+00 -5.199339855740569e+00 -5.203517266667578e+00 -5.207700025095241e+00 -5.211888141021600e+00 + -5.216081624199723e+00 -5.220280476130696e+00 -5.224484698310884e+00 -5.228694300469721e+00 -5.232909292611727e+00 + -5.237129677608738e+00 -5.241355457600706e+00 -5.245586638932716e+00 -5.249823229255573e+00 -5.254065237237846e+00 + -5.258312670369801e+00 -5.262565530410686e+00 -5.266823819583928e+00 -5.271087547700648e+00 -5.275356724632263e+00 + -5.279631352903723e+00 -5.283911434448228e+00 -5.288196976178466e+00 -5.292487986327965e+00 -5.296784473434150e+00 + -5.301086444698075e+00 -5.305393901671405e+00 -5.309706846569482e+00 -5.314025289911748e+00 -5.318349242027271e+00 + -5.322678704179561e+00 -5.327013677718438e+00 -5.331354173404511e+00 -5.335700202105029e+00 -5.340051765703035e+00 + -5.344408865432155e+00 -5.348771508912536e+00 -5.353139705124518e+00 -5.357513462102698e+00 -5.361892786505948e+00 + -5.366277680435933e+00 -5.370668146715638e+00 -5.375064195610523e+00 -5.379465837274747e+00 -5.383873073974794e+00 + -5.388285907439377e+00 -5.392704345133761e+00 -5.397128395890300e+00 -5.401558068273167e+00 -5.405993369375257e+00 + -5.410434300672517e+00 -5.414880864443758e+00 -5.419333071796174e+00 -5.423790933634701e+00 -5.428254451226888e+00 + -5.432723625834648e+00 -5.437198468334746e+00 -5.441678989715544e+00 -5.446165191796978e+00 -5.450657075821366e+00 + -5.455154649888983e+00 -5.459657923508107e+00 -5.464166904961132e+00 -5.468681600997277e+00 -5.473202013458992e+00 + -5.477728145011161e+00 -5.482260006515158e+00 -5.486797608759512e+00 -5.491340954044872e+00 -5.495890044003880e+00 + -5.500444886085005e+00 -5.505005489175888e+00 -5.509571862105057e+00 -5.514144012303452e+00 -5.518721941670775e+00 + -5.523305652810777e+00 -5.527895156674663e+00 -5.532490463993778e+00 -5.537091576272570e+00 -5.541698495053784e+00 + -5.546311231260242e+00 -5.550929796018560e+00 -5.555554191890502e+00 -5.560184420697174e+00 -5.564820489861896e+00 + -5.569462408240030e+00 -5.574110184812914e+00 -5.578763827204064e+00 -5.583423337479740e+00 -5.588088718319627e+00 + -5.592759980414353e+00 -5.597437134453794e+00 -5.602120183113874e+00 -5.606809128447821e+00 -5.611503978032022e+00 + -5.616204740842362e+00 -5.620911425929568e+00 -5.625624040919794e+00 -5.630342587666039e+00 -5.635067068763208e+00 + -5.639797495546991e+00 -5.644533879170592e+00 -5.649276221316504e+00 -5.654024523642824e+00 -5.658778797180806e+00 + -5.663539053129186e+00 -5.668305293983524e+00 -5.673077521581335e+00 -5.677855743831122e+00 -5.682639970117403e+00 + -5.687430209657800e+00 -5.692226470164904e+00 -5.697028753498052e+00 -5.701837062188433e+00 -5.706651407307890e+00 + -5.711471800003379e+00 -5.716298243181697e+00 -5.721130739014699e+00 -5.725969294974640e+00 -5.730813920019088e+00 + -5.735664623746429e+00 -5.740521414337008e+00 -5.745384293658165e+00 -5.750253264219532e+00 -5.755128337412918e+00 + -5.760009524502356e+00 -5.764896827358567e+00 -5.769790247833362e+00 -5.774689797096235e+00 -5.779595486532854e+00 + -5.784507319075965e+00 -5.789425296924678e+00 -5.794349427796488e+00 -5.799279720850703e+00 -5.804216185495535e+00 + -5.809158829710795e+00 -5.814107655513784e+00 -5.819062665706917e+00 -5.824023872195552e+00 -5.828991286593848e+00 + -5.833964910248241e+00 -5.838944744496904e+00 -5.843930800912663e+00 -5.848923091405570e+00 -5.853921618999967e+00 + -5.858926385866531e+00 -5.863937399646989e+00 -5.868954669511408e+00 -5.873978205272220e+00 -5.879008015280387e+00 + -5.884044101398642e+00 -5.889086466127434e+00 -5.894135121006329e+00 -5.899190077679159e+00 -5.904251339167730e+00 + -5.909318907675908e+00 -5.914392790757818e+00 -5.919472997569684e+00 -5.924559538325873e+00 -5.929652421747786e+00 + -5.934751649526802e+00 -5.939857223994977e+00 -5.944969157077114e+00 -5.950087460588470e+00 -5.955212136313389e+00 + -5.960343186070434e+00 -5.965480621845905e+00 -5.970624455737114e+00 -5.975774690117698e+00 -5.980931326619691e+00 + -5.986094373632355e+00 -5.991263841186835e+00 -5.996439739124646e+00 -6.001622075628632e+00 -6.006810852436582e+00 + -6.012006072105073e+00 -6.017207746910874e+00 -6.022415889122929e+00 -6.027630501258702e+00 -6.032851585034692e+00 + -6.038079148714933e+00 -6.043313202169935e+00 -6.048553755148549e+00 -6.053800815867540e+00 -6.059054386536941e+00 + -6.064314470164098e+00 -6.069581078952353e+00 -6.074854224823474e+00 -6.080133909377011e+00 -6.085420134277816e+00 + -6.090712911774160e+00 -6.096012254273324e+00 -6.101318164235261e+00 -6.106630643404864e+00 -6.111949700614082e+00 + -6.117275346267099e+00 -6.122607589969956e+00 -6.127946439669295e+00 -6.133291897472249e+00 -6.138643966380033e+00 + -6.144002658809652e+00 -6.149367987035877e+00 -6.154739953348771e+00 -6.160118559324411e+00 -6.165503813667637e+00 + -6.170895726810269e+00 -6.176294308963303e+00 -6.181699568610070e+00 -6.187111507544039e+00 -6.192530128394146e+00 + -6.197955443821025e+00 -6.203387466288188e+00 -6.208826197438971e+00 -6.214271638855750e+00 -6.219723802697215e+00 + -6.225182701452046e+00 -6.230648338352550e+00 -6.236120715733020e+00 -6.241599841591995e+00 -6.247085725644578e+00 + -6.252578378807894e+00 -6.258077810320607e+00 -6.263584021505486e+00 -6.269097014385768e+00 -6.274616801702433e+00 + -6.280143396389799e+00 -6.285676801437800e+00 -6.291217018848358e+00 -6.296764056615736e+00 -6.302317924554712e+00 + -6.307878633769864e+00 -6.313446193664602e+00 -6.319020605547922e+00 -6.324601871487839e+00 -6.330190004682891e+00 + -6.335785018206249e+00 -6.341386913499118e+00 -6.346995691980793e+00 -6.352611366614864e+00 -6.358233950592316e+00 + -6.363863446469443e+00 -6.369499855900457e+00 -6.375143187565898e+00 -6.380793451939097e+00 -6.386450659638202e+00 + -6.392114819555641e+00 -6.397785933536126e+00 -6.403464004233896e+00 -6.409149044588990e+00 -6.414841067513965e+00 + -6.420540075525660e+00 -6.426246070301758e+00 -6.431959060559017e+00 -6.437679056917068e+00 -6.443406070567963e+00 + -6.449140110779302e+00 -6.454881178548420e+00 -6.460629275812415e+00 -6.466384416537711e+00 -6.472146614484319e+00 + -6.477915870557313e+00 -6.483692185657911e+00 -6.489475573526882e+00 -6.495266048141532e+00 -6.501063611585819e+00 + -6.506868264986595e+00 -6.512680017535606e+00 -6.518498880384615e+00 -6.524324864460620e+00 -6.530157978732819e+00 + -6.535998224564008e+00 -6.541845604255500e+00 -6.547700131469085e+00 -6.553561819849423e+00 -6.559430671612207e+00 + -6.565306688088189e+00 -6.571189878497283e+00 -6.577080253965905e+00 -6.582977825357318e+00 -6.588882601649868e+00 + -6.594794584545345e+00 -6.600713776640095e+00 -6.606640191385222e+00 -6.612573842086468e+00 -6.618514730613387e+00 + -6.624462858757332e+00 -6.630418239433046e+00 -6.636380885778538e+00 -6.642350800701542e+00 -6.648327986279747e+00 + -6.654312451500913e+00 -6.660304207148021e+00 -6.666303264274883e+00 -6.672309632144893e+00 -6.678323312588955e+00 + -6.684344308236361e+00 -6.690372632342481e+00 -6.696408298209058e+00 -6.702451308697293e+00 -6.708501665794167e+00 + -6.714559378430309e+00 -6.720624457416141e+00 -6.726696914137652e+00 -6.732776758078630e+00 -6.738863990538500e+00 + -6.744958613795213e+00 -6.751060642225177e+00 -6.757170089911689e+00 -6.763286957667176e+00 -6.769411246357500e+00 + -6.775542970333119e+00 -6.781682144164359e+00 -6.787828769816468e+00 -6.793982848306231e+00 -6.800144389461610e+00 + -6.806313405086916e+00 -6.812489906080716e+00 -6.818673901333698e+00 -6.824865392610781e+00 -6.831064382650163e+00 + -6.837270885208925e+00 -6.843484914029985e+00 -6.849706471780753e+00 -6.855935560196301e+00 -6.862172188357874e+00 + -6.868416367348060e+00 -6.874668108908677e+00 -6.880927422841348e+00 -6.887194310527692e+00 -6.893468774218006e+00 + -6.899750828057308e+00 -6.906040486046904e+00 -6.912337749718504e+00 -6.918642620544160e+00 -6.924955112226868e+00 + -6.931275238742860e+00 -6.937603002930438e+00 -6.943938406703657e+00 -6.950281459417487e+00 -6.956632172330878e+00 + -6.962990556877839e+00 -6.969356622516854e+00 -6.975730370629293e+00 -6.982111803620415e+00 -6.988500936068168e+00 + -6.994897782349220e+00 -7.001302343862422e+00 -7.007714621896787e+00 -7.014134630279748e+00 -7.020562383120512e+00 + -7.026997883116998e+00 -7.033441132058707e+00 -7.039892139512705e+00 -7.046350916975187e+00 -7.052817475881351e+00 + -7.059291825658977e+00 -7.065773967767182e+00 -7.072263904706783e+00 -7.078761651114045e+00 -7.085267221537997e+00 + -7.091780618043302e+00 -7.098301841735545e+00 -7.104830902368316e+00 -7.111367811800725e+00 -7.117912581665987e+00 + -7.124465221496127e+00 -7.131025732644298e+00 -7.137594117517873e+00 -7.144170390919956e+00 -7.150754567380619e+00 + -7.157346647942116e+00 -7.163946633668109e+00 -7.170554539195697e+00 -7.177170379365883e+00 -7.183794156261903e+00 + -7.190425870988396e+00 -7.197065533493338e+00 -7.203713155838439e+00 -7.210368749697043e+00 -7.217032324589560e+00 + -7.223703881813015e+00 -7.230383423705708e+00 -7.237070964994412e+00 -7.243766520390449e+00 -7.250470092154861e+00 + -7.257181681552523e+00 -7.263901298313877e+00 -7.270628954301988e+00 -7.277364661444877e+00 -7.284108429522252e+00 + -7.290860259655573e+00 -7.297620154032538e+00 -7.304388127764033e+00 -7.311164195737019e+00 -7.317948359019635e+00 + -7.324740618617562e+00 -7.331540989105481e+00 -7.338349485298712e+00 -7.345166109406192e+00 -7.351990862719772e+00 + -7.358823755469352e+00 -7.365664799915581e+00 -7.372514007504119e+00 -7.379371387574386e+00 -7.386236941855793e+00 + -7.393110673113762e+00 -7.399992595867711e+00 -7.406882724521767e+00 -7.413781061264927e+00 -7.420687607444220e+00 + -7.427602373253923e+00 -7.434525370953283e+00 -7.441456612214240e+00 -7.448396106579596e+00 -7.455343855662903e+00 + -7.462299862106879e+00 -7.469264140600134e+00 -7.476236705537742e+00 -7.483217558094771e+00 -7.490206699573982e+00 + -7.497204145008848e+00 -7.504209909607961e+00 -7.511223995549668e+00 -7.518246403916826e+00 -7.525277144440522e+00 + -7.532316229110418e+00 -7.539363670302306e+00 -7.546419478207750e+00 -7.553483653895294e+00 -7.560556199398457e+00 + -7.567637129733686e+00 -7.574726459966183e+00 -7.581824192373288e+00 -7.588930328179804e+00 -7.596044877188221e+00 + -7.603167851392376e+00 -7.610299262973792e+00 -7.617439121971403e+00 -7.624587429666054e+00 -7.631744188388593e+00 + -7.638909413427992e+00 -7.646083119762239e+00 -7.653265308167305e+00 -7.660455979470388e+00 -7.667655148905554e+00 + -7.674862831955687e+00 -7.682079030692125e+00 -7.689303746121935e+00 -7.696536988406601e+00 -7.703778769965018e+00 + -7.711029103091334e+00 -7.718287997777487e+00 -7.725555454931286e+00 -7.732831476489904e+00 -7.740116077592081e+00 + -7.747409273463959e+00 -7.754711066479733e+00 -7.762021457991705e+00 -7.769340458116517e+00 -7.776668079072852e+00 + -7.784004332723263e+00 -7.791349228774319e+00 -7.798702768664788e+00 -7.806064954991001e+00 -7.813435803247359e+00 + -7.820815328504128e+00 -7.828203531237023e+00 -7.835600412067597e+00 -7.843005986795347e+00 -7.850420271453628e+00 + -7.857843267833355e+00 -7.865274976500961e+00 -7.872715407367362e+00 -7.880164572827870e+00 -7.887622485870939e+00 + -7.895089157097287e+00 -7.902564586963549e+00 -7.910048776908389e+00 -7.917541742442640e+00 -7.925043499243823e+00 + -7.932554049584044e+00 -7.940073394568305e+00 -7.947601544038569e+00 -7.955138510136092e+00 -7.962684305462377e+00 + -7.970238940357911e+00 -7.977802415658878e+00 -7.985374733292938e+00 -7.992955909057959e+00 -8.000545958501995e+00 + -8.008144882303682e+00 -8.015752681155906e+00 -8.023369370677967e+00 -8.030994966700497e+00 -8.038629470973136e+00 + -8.046272884117311e+00 -8.053925216322545e+00 -8.061586480220186e+00 -8.069256688640843e+00 -8.076935852017314e+00 + -8.084623970991846e+00 -8.092321047230506e+00 -8.100027096285098e+00 -8.107742133772728e+00 -8.115466161685978e+00 + -8.123199180963685e+00 -8.130941201954130e+00 -8.138692237272345e+00 -8.146452299190864e+00 -8.154221397655556e+00 + -8.161999533648068e+00 -8.169786709369063e+00 -8.177582940859525e+00 -8.185388243772254e+00 -8.193202618367051e+00 + -8.201026064968486e+00 -8.208858599553158e+00 -8.216700238370747e+00 -8.224550983111227e+00 -8.232410834288519e+00 + -8.240279802271914e+00 -8.248157899820946e+00 -8.256045139400785e+00 -8.263941531127587e+00 -8.271847076015916e+00 + -8.279761776165609e+00 -8.287685647119202e+00 -8.295618704371698e+00 -8.303560949785306e+00 -8.311512384182917e+00 + -8.319473017862927e+00 -8.327442863513763e+00 -8.335421933908444e+00 -8.343410239406900e+00 -8.351407780632112e+00 + -8.359414559352070e+00 -8.367430591651793e+00 -8.375455893292965e+00 -8.383490464426892e+00 -8.391534305333888e+00 + -8.399587432420665e+00 -8.407649862295598e+00 -8.415721596247392e+00 -8.423802634359653e+00 -8.431892987215194e+00 + -8.439992667917126e+00 -8.448101689150496e+00 -8.456220061058572e+00 -8.464347784035521e+00 -8.472484859778373e+00 + -8.480631304944675e+00 -8.488787135775029e+00 -8.496952351881781e+00 -8.505126952972617e+00 -8.513310955764712e+00 + -8.521504377280520e+00 -8.529707218754108e+00 -8.537919480083488e+00 -8.546141171610756e+00 -8.554372306334406e+00 + -8.562612897434500e+00 -8.570862955488629e+00 -8.579122480482935e+00 -8.587391473585072e+00 -8.595669951280222e+00 + -8.603957930092136e+00 -8.612255411381385e+00 -8.620562395277888e+00 -8.628878892152137e+00 -8.637204914976417e+00 + -8.645540476889700e+00 -8.653885588365707e+00 -8.662240249050400e+00 -8.670604460002718e+00 -8.678978238761259e+00 + -8.687361602440037e+00 -8.695754549975142e+00 -8.704157080317993e+00 -8.712569210659231e+00 -8.720990958572770e+00 + -8.729422324926496e+00 -8.737863309144757e+00 -8.746313921583734e+00 -8.754774175423437e+00 -8.763244084207386e+00 + -8.771723658743657e+00 -8.780212898534927e+00 -8.788711804325507e+00 -8.797220393131562e+00 -8.805738681960509e+00 + -8.814266671512945e+00 -8.822804361262596e+00 -8.831351762082482e+00 -8.839908887544672e+00 -8.848475750618142e+00 + -8.857052361519681e+00 -8.865638720060298e+00 -8.874234827408518e+00 -8.882840700568694e+00 -8.891456356239988e+00 + -8.900081794065120e+00 -8.908717013654563e+00 -8.917362031546196e+00 -8.926016864607513e+00 -8.934681514097109e+00 + -8.943355979966887e+00 -8.952040272550780e+00 -8.960734404827180e+00 -8.969438389970174e+00 -8.978152238557112e+00 + -8.986875950582608e+00 -8.995609527224275e+00 -9.004352984974421e+00 -9.013106340348738e+00 -9.021869594641789e+00 + -9.030642747850949e+00 -9.039425810005964e+00 -9.048218793898496e+00 -9.057021713335553e+00 -9.065834579375275e+00 + -9.074657391064932e+00 -9.083490148798390e+00 -9.092332870366718e+00 -9.101185573233034e+00 -9.110048256151465e+00 + -9.118920917820537e+00 -9.127803575425368e+00 -9.136696246597257e+00 -9.145598932265708e+00 -9.154511631860180e+00 + -9.163434355511646e+00 -9.172367116215408e+00 -9.181309927722621e+00 -9.190262801063124e+00 -9.199225735625708e+00 + -9.208198731948572e+00 -9.217181806808554e+00 -9.226174977077383e+00 -9.235178243767663e+00 -9.244191606592038e+00 + -9.253215075922315e+00 -9.262248664894432e+00 -9.271292387041701e+00 -9.280346253080740e+00 -9.289410262064051e+00 + -9.298484414471314e+00 -9.307568728155069e+00 -9.316663220573421e+00 -9.325767890233902e+00 -9.334882735648362e+00 + -9.344007774296474e+00 -9.353143024056331e+00 -9.362288485431986e+00 -9.371444157433135e+00 -9.380610050466057e+00 + -9.389786177888119e+00 -9.398972553464475e+00 -9.408169188076664e+00 -9.417376080663951e+00 -9.426593231436920e+00 + -9.435820657633688e+00 -9.445058376575700e+00 -9.454306388890288e+00 -9.463564693828612e+00 -9.472833301831271e+00 + -9.482112226230582e+00 -9.491401480736307e+00 -9.500701076124317e+00 -9.510011011057383e+00 -9.519331285649606e+00 + -9.528661917933491e+00 -9.538002925632075e+00 -9.547354307312132e+00 -9.556716061430350e+00 -9.566088205159264e+00 + -9.575470756067922e+00 -9.584863714595665e+00 -9.594267079809105e+00 -9.603680862413734e+00 -9.613105076017005e+00 + -9.622539734195460e+00 -9.631984847535897e+00 -9.641440414697058e+00 -9.650906435763309e+00 -9.660382928449559e+00 + -9.669869910482992e+00 -9.679367382009378e+00 -9.688875341677877e+00 -9.698393799732578e+00 -9.707922769547205e+00 + -9.717462265419133e+00 -9.727012298576232e+00 -9.736572867044643e+00 -9.746143970285512e+00 -9.755725626701739e+00 + -9.765317854403191e+00 -9.774920651385886e+00 -9.784534015610914e+00 -9.794157965013451e+00 -9.803792517858509e+00 + -9.813437673756464e+00 -9.823093430886084e+00 -9.832759800354408e+00 -9.842436796281985e+00 -9.852124431915341e+00 + -9.861822717446652e+00 -9.871531651724764e+00 -9.881251235098006e+00 -9.890981485255914e+00 -9.900722419735771e+00 + -9.910474038124631e+00 -9.920236338721825e+00 -9.930009332625946e+00 -9.939793033953066e+00 -9.949587456089942e+00 + -9.959392609292857e+00 -9.969208492025555e+00 -9.979035104343238e+00 -9.988872464459540e+00 -9.998720590171930e+00 + -1.000857947945488e+01 -1.001844913033355e+01 -1.002832956085879e+01 -1.003822078906736e+01 -1.004812281291406e+01 + -1.005803562971182e+01 -1.006795925428782e+01 -1.007789370360111e+01 -1.008783898562387e+01 -1.009779510571246e+01 + -1.010776206774677e+01 -1.011773987740720e+01 -1.012772854905251e+01 -1.013772809631413e+01 -1.014773852123577e+01 + -1.015775982444731e+01 -1.016779201251112e+01 -1.017783509576905e+01 -1.018788909374848e+01 -1.019795402262726e+01 + -1.020802987599985e+01 -1.021811664796306e+01 -1.022821435720666e+01 -1.023832302389762e+01 -1.024844264951883e+01 + -1.025857323411911e+01 -1.026871479069502e+01 -1.027886733277511e+01 -1.028903086306819e+01 -1.029920538356622e+01 + -1.030939090421369e+01 -1.031958743714735e+01 -1.032979499532081e+01 -1.034001358910991e+01 -1.035024321776280e+01 + -1.036048388191000e+01 -1.037073559883907e+01 -1.038099838556339e+01 -1.039127224134250e+01 -1.040155716512729e+01 + -1.041185317238784e+01 -1.042216027887615e+01 -1.043247848495290e+01 -1.044280779013644e+01 -1.045314820596725e+01 + -1.046349974688984e+01 -1.047386242694284e+01 -1.048423625623699e+01 -1.049462122957744e+01 -1.050501734396915e+01 + -1.051542462052187e+01 -1.052584308069211e+01 -1.053627272321853e+01 -1.054671354447971e+01 -1.055716555413174e+01 + -1.056762876571201e+01 -1.057810319500591e+01 -1.058858885406686e+01 -1.059908573777257e+01 -1.060959384260205e+01 + -1.062011318861535e+01 -1.063064379594653e+01 -1.064118566144451e+01 -1.065173878128750e+01 -1.066230317225584e+01 + -1.067287885251234e+01 -1.068346582514766e+01 -1.069406409086973e+01 -1.070467365592747e+01 -1.071529452946521e+01 + -1.072592672666786e+01 -1.073657026057826e+01 -1.074722512963040e+01 -1.075789133336255e+01 -1.076856889033910e+01 + -1.077925781838790e+01 -1.078995811336476e+01 -1.080066977044343e+01 -1.081139280404170e+01 -1.082212723175914e+01 + -1.083287306467895e+01 -1.084363031023443e+01 -1.085439896777578e+01 -1.086517903841335e+01 -1.087597053838113e+01 + -1.088677348334085e+01 -1.089758787154147e+01 -1.090841370173705e+01 -1.091925099211483e+01 -1.093009976068779e+01 + -1.094096000533889e+01 -1.095183172286895e+01 -1.096271492588021e+01 -1.097360962990334e+01 -1.098451584638146e+01 + -1.099543358339704e+01 -1.100636283967740e+01 -1.101730361593110e+01 -1.102825593014644e+01 -1.103921979985815e+01 + -1.105019522350652e+01 -1.106118219809120e+01 -1.107218073394329e+01 -1.108319084475604e+01 -1.109421254433972e+01 + -1.110524584310812e+01 -1.111629073777213e+01 -1.112734722664297e+01 -1.113841532813614e+01 -1.114949506055284e+01 + -1.116058642163307e+01 -1.117168940919924e+01 -1.118280404196459e+01 -1.119393033845125e+01 -1.120506829552628e+01 + -1.121621790821428e+01 -1.122737918582522e+01 -1.123855214233318e+01 -1.124973679608346e+01 -1.126093316109601e+01 + -1.127214122971816e+01 -1.128336099568353e+01 -1.129459247994368e+01 -1.130583570391351e+01 -1.131709066364352e+01 + -1.132835735316995e+01 -1.133963578383626e+01 -1.135092597165251e+01 -1.136222793398803e+01 -1.137354168289046e+01 + -1.138486720776133e+01 -1.139620450077960e+01 -1.140755358788016e+01 -1.141891449467379e+01 -1.143028721171902e+01 + -1.144167172931863e+01 -1.145306807180483e+01 -1.146447626363145e+01 -1.147589629570943e+01 -1.148732815744427e+01 + -1.149877186576219e+01 -1.151022744176966e+01 -1.152169489577362e+01 -1.153317423307527e+01 -1.154466544975234e+01 + -1.155616854500299e+01 -1.156768353973055e+01 -1.157921045411968e+01 -1.159074928377541e+01 -1.160230002278200e+01 + -1.161386268372032e+01 -1.162543728297182e+01 -1.163702383362365e+01 -1.164862234413445e+01 -1.166023280774309e+01 + -1.167185522083641e+01 -1.168348960761297e+01 -1.169513599109641e+01 -1.170679436179895e+01 -1.171846471050954e+01 + -1.173014706163534e+01 -1.174184143967664e+01 -1.175354783588804e+01 -1.176526623959987e+01 -1.177699666569085e+01 + -1.178873913359907e+01 -1.180049365545172e+01 -1.181226023874721e+01 -1.182403887977966e+01 -1.183582957710202e+01 + -1.184763234950681e+01 -1.185944721571250e+01 -1.187127417390187e+01 -1.188311322026980e+01 -1.189496436359524e+01 + -1.190682761635663e+01 -1.191870299324639e+01 -1.193059050542573e+01 -1.194249014771712e+01 -1.195440191732676e+01 + -1.196632583733436e+01 -1.197826192918009e+01 -1.199021018187259e+01 -1.200217058481946e+01 -1.201414316145583e+01 + -1.202612793653577e+01 -1.203812490606177e+01 -1.205013406283600e+01 -1.206215541561094e+01 -1.207418897775090e+01 + -1.208623476511758e+01 -1.209829279023755e+01 -1.211036304979982e+01 -1.212244554104682e+01 -1.213454027927224e+01 + -1.214664728029985e+01 -1.215876654402256e+01 -1.217089806888390e+01 -1.218304186346073e+01 -1.219519793969503e+01 + -1.220736631285608e+01 -1.221954699446002e+01 -1.223173997768314e+01 -1.224394525782826e+01 -1.225616285704409e+01 + -1.226839279716718e+01 -1.228063507193962e+01 -1.229288967419984e+01 -1.230515662126608e+01 -1.231743593190913e+01 + -1.232972760623024e+01 -1.234203164189830e+01 -1.235434804552219e+01 -1.236667682754052e+01 -1.237901800477097e+01 + -1.239137159078778e+01 -1.240373757981251e+01 -1.241611596680448e+01 -1.242850676902663e+01 -1.244091000477032e+01 + -1.245332567413717e+01 -1.246575377485128e+01 -1.247819431331654e+01 -1.249064729993889e+01 -1.250311275245252e+01 + -1.251559068470151e+01 -1.252808108764087e+01 -1.254058395403090e+01 -1.255309930674196e+01 -1.256562716858205e+01 + -1.257816753199971e+01 -1.259072038911156e+01 -1.260328576106586e+01 -1.261586366917709e+01 -1.262845410639316e+01 + -1.264105706405277e+01 -1.265367255542431e+01 -1.266630059802175e+01 -1.267894120441173e+01 -1.269159438291520e+01 + -1.270426012981745e+01 -1.271693844300063e+01 -1.272962933876972e+01 -1.274233283335257e+01 -1.275504892424538e+01 + -1.276777760888006e+01 -1.278051890316245e+01 -1.279327282335948e+01 -1.280603936870822e+01 -1.281881853703964e+01 + -1.283161033759003e+01 -1.284441478278821e+01 -1.285723188642777e+01 -1.287006165845383e+01 -1.288290409205257e+01 + -1.289575918258311e+01 -1.290862695085492e+01 -1.292150741744502e+01 -1.293440057655018e+01 -1.294730642109768e+01 + -1.296022496531707e+01 -1.297315622664438e+01 -1.298610021403966e+01 -1.299905693252094e+01 -1.301202637981436e+01 + -1.302500855607946e+01 -1.303800347850134e+01 -1.305101116311717e+01 -1.306403160434687e+01 -1.307706479749205e+01 + -1.309011076299821e+01 -1.310316952145874e+01 -1.311624106891474e+01 -1.312932539865738e+01 -1.314242251753035e+01 + -1.315553243732881e+01 -1.316865517610136e+01 -1.318179074759510e+01 -1.319493914209791e+01 -1.320810035188408e+01 + -1.322127440063306e+01 -1.323446131182036e+01 -1.324766107670098e+01 -1.326087368408213e+01 -1.327409914520021e+01 + -1.328733747660298e+01 -1.330058869365459e+01 -1.331385280702646e+01 -1.332712980980294e+01 -1.334041969690924e+01 + -1.335372248822127e+01 -1.336703820316815e+01 -1.338036683444133e+01 -1.339370837465144e+01 -1.340706284282357e+01 + -1.342043025877972e+01 -1.343381061911550e+01 -1.344720391854233e+01 -1.346061016746156e+01 -1.347402937953320e+01 + -1.348746156576247e+01 -1.350090673400032e+01 -1.351436488213541e+01 -1.352783600940468e+01 -1.354132013040003e+01 + -1.355481725974633e+01 -1.356832739684519e+01 -1.358185053959114e+01 -1.359538669507347e+01 -1.360893587411229e+01 + -1.362249809325635e+01 -1.363607336498644e+01 -1.364966167978290e+01 -1.366326303005515e+01 -1.367687743792930e+01 + -1.369050492543861e+01 -1.370414548452841e+01 -1.371779910680898e+01 -1.373146581263829e+01 -1.374514562258463e+01 + -1.375883852931014e+01 -1.377254452369323e+01 -1.378626361738342e+01 -1.379999582664259e+01 -1.381374116541099e+01 + -1.382749964295472e+01 -1.384127125216480e+01 -1.385505598801133e+01 -1.386885387015567e+01 -1.388266491822051e+01 + -1.389648912698253e+01 -1.391032648926665e+01 -1.392417701493663e+01 -1.393804071810552e+01 -1.395191761284479e+01 + -1.396580770902492e+01 -1.397971099975399e+01 -1.399362747983656e+01 -1.400755716762526e+01 -1.402150008127576e+01 + -1.403545621460787e+01 -1.404942556175519e+01 -1.406340814244217e+01 -1.407740397661280e+01 -1.409141305949836e+01 + -1.410543538386059e+01 -1.411947095729565e+01 -1.413351979216372e+01 -1.414758190504674e+01 -1.416165730817942e+01 + -1.417574599218579e+01 -1.418984794931155e+01 -1.420396319989974e+01 -1.421809176459019e+01 -1.423223363711269e+01 + -1.424638880961032e+01 -1.426055729478944e+01 -1.427473910897708e+01 -1.428893426241975e+01 -1.430314276106135e+01 + -1.431736459971596e+01 -1.433159977568000e+01 -1.434584830730895e+01 -1.436011021230267e+01 -1.437438548467938e+01 + -1.438867411856965e+01 -1.440297613223502e+01 -1.441729154417122e+01 -1.443162034967981e+01 -1.444596254173529e+01 + -1.446031812719803e+01 -1.447468711827448e+01 -1.448906953466952e+01 -1.450346539077074e+01 -1.451787467219810e+01 + -1.453229736674074e+01 -1.454673349963205e+01 -1.456118309651608e+01 -1.457564614723534e+01 -1.459012263904241e+01 + -1.460461258463169e+01 -1.461911600163362e+01 -1.463363290198108e+01 -1.464816329304780e+01 -1.466270716966852e+01 + -1.467726452861927e+01 -1.469183538698022e+01 -1.470641976118071e+01 -1.472101764474266e+01 -1.473562903182180e+01 + -1.475025394201659e+01 -1.476489239431922e+01 -1.477954437985420e+01 -1.479420988900897e+01 -1.480888893709030e+01 + -1.482358154289730e+01 -1.483828771427918e+01 -1.485300745484606e+01 -1.486774076220148e+01 -1.488248763590571e+01 + -1.489724808935241e+01 -1.491202213620220e+01 -1.492680977735018e+01 -1.494161101188853e+01 -1.495642584446314e+01 + -1.497125428281713e+01 -1.498609634152866e+01 -1.500095203243959e+01 -1.501582134961145e+01 -1.503070428834008e+01 + -1.504560086663885e+01 -1.506051110171047e+01 -1.507543498479744e+01 -1.509037250787217e+01 -1.510532369178669e+01 + -1.512028855781273e+01 -1.513526710002122e+01 -1.515025931004586e+01 -1.516526519697226e+01 -1.518028477406786e+01 + -1.519531805387558e+01 -1.521036504514735e+01 -1.522542574219565e+01 -1.524050014105165e+01 -1.525558825906066e+01 + -1.527069011317451e+01 -1.528580569745696e+01 -1.530093500454836e+01 -1.531607804428359e+01 -1.533123483115148e+01 + -1.534640538106230e+01 -1.536158970459035e+01 -1.537678778954449e+01 -1.539199962605270e+01 -1.540722523628471e+01 + -1.542246464244602e+01 -1.543771783484346e+01 -1.545298480379291e+01 -1.546826557154514e+01 -1.548356016030771e+01 + -1.549886856018057e+01 -1.551419075889859e+01 -1.552952676684366e+01 -1.554487659991805e+01 -1.556024027345857e+01 + -1.557561779759322e+01 -1.559100916218038e+01 -1.560641435912106e+01 -1.562183340875659e+01 -1.563726633124305e+01 + -1.565271311755539e+01 -1.566817375858786e+01 -1.568364827409284e+01 -1.569913668435983e+01 -1.571463898296877e+01 + -1.573015516140282e+01 -1.574568522946743e+01 -1.576122920078429e+01 -1.577678708591764e+01 -1.579235889192325e+01 + -1.580794461488044e+01 -1.582354425266206e+01 -1.583915782129173e+01 -1.585478533595468e+01 -1.587042679033195e+01 + -1.588608217713541e+01 -1.590175150670428e+01 -1.591743479377280e+01 -1.593313205302798e+01 -1.594884329356461e+01 + -1.596456850215542e+01 -1.598030766876410e+01 -1.599606081844003e+01 -1.601182797567503e+01 -1.602760912764517e+01 + -1.604340426053651e+01 -1.605921339389068e+01 -1.607503654929621e+01 -1.609087372317365e+01 -1.610672490846679e+01 + -1.612259010938000e+01 -1.613846933535691e+01 -1.615436260553746e+01 -1.617026993400350e+01 -1.618619130490810e+01 + -1.620212670496088e+01 -1.621807616102629e+01 -1.623403970021593e+01 -1.625001731047507e+01 -1.626600897617460e+01 + -1.628201470655392e+01 -1.629803451699528e+01 -1.631406842258372e+01 -1.633011643368945e+01 -1.634617854212047e+01 + -1.636225474110459e+01 -1.637834504811086e+01 -1.639444948009596e+01 -1.641056802772599e+01 -1.642670068226715e+01 + -1.644284746367691e+01 -1.645900839255391e+01 -1.647518346337059e+01 -1.649137266740475e+01 -1.650757600928198e+01 + -1.652379349905581e+01 -1.654002515514406e+01 -1.655627099138395e+01 -1.657253099492616e+01 -1.658880515436409e+01 + -1.660509349074862e+01 -1.662139602569388e+01 -1.663771275060954e+01 -1.665404365442992e+01 -1.667038874639235e+01 + -1.668674804082613e+01 -1.670312155212567e+01 -1.671950928959044e+01 -1.673591124207530e+01 -1.675232740091000e+01 + -1.676875778776886e+01 -1.678520242381186e+01 -1.680166129779755e+01 -1.681813439803682e+01 -1.683462174345131e+01 + -1.685112335404732e+01 -1.686763922355921e+01 -1.688416934305047e+01 -1.690071371917313e+01 -1.691727236387981e+01 + -1.693384529473730e+01 -1.695043252373442e+01 -1.696703403493436e+01 -1.698364981519248e+01 -1.700027989045860e+01 + -1.701692428668450e+01 -1.703358299073511e+01 -1.705025598664567e+01 -1.706694328621936e+01 -1.708364490699094e+01 + -1.710036086165371e+01 -1.711709115711999e+01 -1.713383578201967e+01 -1.715059472804424e+01 -1.716736801741393e+01 + -1.718415567151382e+01 -1.720095767785962e+01 -1.721777402421613e+01 -1.723460473321376e+01 -1.725144982735173e+01 + -1.726830929373925e+01 -1.728518311723097e+01 -1.730207130905323e+01 -1.731897388644410e+01 -1.733589086431708e+01 + -1.735282225151622e+01 -1.736976803493245e+01 -1.738672820398455e+01 -1.740370278015603e+01 -1.742069178532102e+01 + -1.743769521085149e+01 -1.745471304524893e+01 -1.747174529603476e+01 -1.748879197614670e+01 -1.750585310116775e+01 + -1.752292868122209e+01 -1.754001870195336e+01 -1.755712315207324e+01 -1.757424205704595e+01 -1.759137544124289e+01 + -1.760852328791187e+01 -1.762568558032359e+01 -1.764286234296404e+01 -1.766005360135051e+01 -1.767725934391039e+01 + -1.769447955614261e+01 -1.771171424892207e+01 -1.772896343807829e+01 -1.774622713388326e+01 -1.776350534196338e+01 + -1.778079805492016e+01 -1.779810526797336e+01 -1.781542699984077e+01 -1.783276326793605e+01 -1.785011406095838e+01 + -1.786747936642481e+01 -1.788485919583838e+01 -1.790225356596892e+01 -1.791966249066770e+01 -1.793708597750879e+01 + -1.795452401187612e+01 -1.797197658287230e+01 -1.798944371666477e+01 -1.800692543788475e+01 -1.802442172795408e+01 + -1.804193256819016e+01 -1.805945798270200e+01 -1.807699799758296e+01 -1.809455260407236e+01 -1.811212178929598e+01 + -1.812970555877947e+01 -1.814730392419934e+01 -1.816491690343573e+01 -1.818254450889657e+01 -1.820018672489731e+01 + -1.821784353770839e+01 -1.823551496951270e+01 -1.825320104351004e+01 -1.827090175105552e+01 -1.828861707995103e+01 + -1.830634703563002e+01 -1.832409162961503e+01 -1.834185088015348e+01 -1.835962479982180e+01 -1.837741337178776e+01 + -1.839521658191638e+01 -1.841303445627024e+01 -1.843086702044687e+01 -1.844871425798603e+01 -1.846657615155986e+01 + -1.848445272242748e+01 -1.850234399331442e+01 -1.852024995422484e+01 -1.853817059263430e+01 -1.855610591862525e+01 + -1.857405594751762e+01 -1.859202069297440e+01 -1.861000016303027e+01 -1.862799434486363e+01 -1.864600322762024e+01 + -1.866402682917165e+01 -1.868206516860479e+01 -1.870011824114266e+01 -1.871818603889838e+01 -1.873626856540951e+01 + -1.875436582948875e+01 -1.877247784962497e+01 -1.879060463922456e+01 -1.880874618168810e+01 -1.882690246254704e+01 + -1.884507350586227e+01 -1.886325933574866e+01 -1.888145993800745e+01 -1.889967529731236e+01 -1.891790543214035e+01 + -1.893615036295555e+01 -1.895441008436764e+01 -1.897268458788422e+01 -1.899097387845919e+01 -1.900927796546465e+01 + -1.902759686249918e+01 -1.904593057916082e+01 -1.906427910481893e+01 -1.908264243109121e+01 -1.910102057881749e+01 + -1.911941356739387e+01 -1.913782138121961e+01 -1.915624400568942e+01 -1.917468146517671e+01 -1.919313378404767e+01 + -1.921160094766128e+01 -1.923008293912871e+01 -1.924857977157690e+01 -1.926709146357444e+01 -1.928561802544077e+01 + -1.930415946120927e+01 -1.932271575801813e+01 -1.934128690695999e+01 -1.935987293184044e+01 -1.937847385553680e+01 + -1.939708966450047e+01 -1.941572034241033e+01 -1.943436589828115e+01 -1.945302634705033e+01 -1.947170170200994e+01 + -1.949039197138318e+01 -1.950909714476303e+01 -1.952781721398065e+01 -1.954655219845012e+01 -1.956530211609402e+01 + -1.958406695128608e+01 -1.960284668959667e+01 -1.962164135493148e+01 -1.964045097168231e+01 -1.965927552785040e+01 + -1.967811500826448e+01 -1.969696942145404e+01 -1.971583878200212e+01 -1.973472310500559e+01 -1.975362239928199e+01 + -1.977253664801789e+01 -1.979146583743514e+01 -1.981040999152762e+01 -1.982936913462439e+01 -1.984834325462312e+01 + -1.986733233626431e+01 -1.988633638809098e+01 -1.990535542475069e+01 -1.992438946150660e+01 -1.994343850724086e+01 + -1.996250254469571e+01 -1.998158155988759e+01 -2.000067557806942e+01 -2.001978462401460e+01 -2.003890868134189e+01 + -2.005804773353269e+01 -2.007720180467363e+01 -2.009637091866160e+01 -2.011555505802958e+01 -2.013475420367532e+01 + -2.015396837131929e+01 -2.017319758216888e+01 -2.019244184455664e+01 -2.021170116029698e+01 -2.023097551800653e+01 + -2.025026491057744e+01 -2.026956936120177e+01 -2.028888889127859e+01 -2.030822348473533e+01 -2.032757312336421e+01 + -2.034693781788847e+01 -2.036631758558183e+01 -2.038571244098909e+01 -2.040512239225047e+01 -2.042454742461679e+01 + -2.044398752597867e+01 -2.046344271767523e+01 -2.048291302072143e+01 -2.050239842138679e+01 -2.052189890581644e+01 + -2.054141449440303e+01 -2.056094520839277e+01 -2.058049103819856e+01 -2.060005197091200e+01 -2.061962801117254e+01 + -2.063921916971323e+01 -2.065882546409381e+01 -2.067844690614864e+01 -2.069808347798381e+01 -2.071773516441981e+01 + -2.073740199086278e+01 -2.075708398272239e+01 -2.077678112483692e+01 -2.079649339928443e+01 -2.081622081767353e+01 + -2.083596339752241e+01 -2.085572115045732e+01 -2.087549408142252e+01 -2.089528217452614e+01 -2.091508541798258e+01 + -2.093490383726751e+01 -2.095473745703866e+01 -2.097458626142068e+01 -2.099445023367205e+01 -2.101432939411960e+01 + -2.103422376365449e+01 -2.105413332835716e+01 -2.107405807288499e+01 -2.109399801101360e+01 -2.111395316146354e+01 + -2.113392353361706e+01 -2.115390913036233e+01 -2.117390993794961e+01 -2.119392594678185e+01 -2.121395718051052e+01 + -2.123400366165125e+01 -2.125406537492771e+01 -2.127414230292253e+01 -2.129423445744600e+01 -2.131434185603574e+01 + -2.133446450991120e+01 -2.135460242400538e+01 -2.137475558442359e+01 -2.139492398094176e+01 -2.141510763684612e+01 + -2.143530657354728e+01 -2.145552077144329e+01 -2.147575021223202e+01 -2.149599492382317e+01 -2.151625493458459e+01 + -2.153653022850520e+01 -2.155682078515937e+01 -2.157712661084235e+01 -2.159744772002078e+01 -2.161778413312624e+01 + -2.163813586321833e+01 -2.165850288790379e+01 -2.167888518769065e+01 -2.169928279014487e+01 -2.171969572392566e+01 + -2.174012397500749e+01 -2.176056752455845e+01 -2.178102637720577e+01 -2.180150054539059e+01 -2.182199004935065e+01 + -2.184249490264348e+01 -2.186301508430896e+01 -2.188355057625899e+01 -2.190410140641098e+01 -2.192466760199104e+01 + -2.194524914145450e+01 -2.196584600311797e+01 -2.198645821351363e+01 -2.200708580045210e+01 -2.202772874864248e+01 + -2.204838703903658e+01 -2.206906068065864e+01 -2.208974968965916e+01 -2.211045408262128e+01 -2.213117386881762e+01 + -2.215190902784613e+01 -2.217265954271720e+01 -2.219342543976576e+01 -2.221420674565993e+01 -2.223500344507609e+01 + -2.225581551916326e+01 -2.227664297695268e+01 -2.229748583458740e+01 -2.231834410877561e+01 -2.233921780886325e+01 + -2.236010691418214e+01 -2.238101140757746e+01 -2.240193131596196e+01 -2.242286666626994e+01 -2.244381744145418e+01 + -2.246478362333585e+01 -2.248576523319086e+01 -2.250676229308250e+01 -2.252777478876882e+01 -2.254880270395783e+01 + -2.256984605046237e+01 -2.259090484578745e+01 -2.261197910210208e+01 -2.263306882483333e+01 -2.265417399777652e+01 + -2.267529460825966e+01 -2.269643067937303e+01 -2.271758223358744e+01 -2.273874925513337e+01 -2.275993172840441e+01 + -2.278112967668665e+01 -2.280234312326570e+01 -2.282357205253301e+01 -2.284481644618636e+01 -2.286607631404299e+01 + -2.288735167241803e+01 -2.290864253549898e+01 -2.292994891082159e+01 -2.295127078144212e+01 -2.297260813386354e+01 + -2.299396099285480e+01 -2.301532938287575e+01 -2.303671328888409e+01 -2.305811269234469e+01 -2.307952760025338e+01 + -2.310095802706863e+01 -2.312240399156859e+01 -2.314386550544134e+01 -2.316534254769484e+01 -2.318683510020089e+01 + -2.320834318896662e+01 -2.322986684000025e+01 -2.325140603517923e+01 -2.327296075598023e+01 -2.329453102640753e+01 + -2.331611687084991e+01 -2.333771827270656e+01 -2.335933521295700e+01 -2.338096770389138e+01 -2.340261576396985e+01 + -2.342427940502197e+01 -2.344595863230511e+01 -2.346765343141823e+01 -2.348936379112492e+01 -2.351108973250527e+01 + -2.353283127622654e+01 -2.355458840898814e+01 -2.357636111469370e+01 -2.359814940003157e+01 -2.361995327887107e+01 + -2.364177277102066e+01 -2.366360788867084e+01 -2.368545860760097e+01 -2.370732490730504e+01 -2.372920681854641e+01 + -2.375110437181196e+01 -2.377301754521346e+01 -2.379494631547129e+01 -2.381689070611525e+01 -2.383885074279985e+01 + -2.386082641286912e+01 -2.388281770027697e+01 -2.390482461372720e+01 -2.392684716763744e+01 -2.394888537453080e+01 + -2.397093924094647e+01 -2.399300875138237e+01 -2.401509389381072e+01 -2.403719469214220e+01 -2.405931116939521e+01 + -2.408144330908079e+01 -2.410359109227195e+01 -2.412575452979684e+01 -2.414793363861520e+01 -2.417012843045825e+01 + -2.419233891107258e+01 -2.421456506749473e+01 -2.423680688969797e+01 -2.425906439811232e+01 -2.428133761196757e+01 + -2.430362651523593e+01 -2.432593109247103e+01 -2.434825136580965e+01 -2.437058735754595e+01 -2.439293905302052e+01 + -2.441530643508021e+01 -2.443768951355032e+01 -2.446008830475372e+01 -2.448250282402539e+01 -2.450493307947941e+01 + -2.452737905133441e+01 -2.454984072340254e+01 -2.457231812176549e+01 -2.459481127247106e+01 -2.461732015916192e+01 + -2.463984476198997e+01 -2.466238508954903e+01 -2.468494115731883e+01 -2.470751297988127e+01 -2.473010056541401e+01 + -2.475270389737600e+01 -2.477532296279144e+01 -2.479795778766421e+01 -2.482060839605179e+01 -2.484327476524651e+01 + -2.486595687297807e+01 -2.488865474549064e+01 -2.491136841050829e+01 -2.493409785316058e+01 -2.495684305468689e+01 + -2.497960402336061e+01 -2.500238077436705e+01 -2.502517332350563e+01 -2.504798167938967e+01 -2.507080582127416e+01 + -2.509364573240812e+01 -2.511650144137505e+01 -2.513937297643642e+01 -2.516226031923135e+01 -2.518516344740990e+01 + -2.520808236928804e+01 -2.523101710100030e+01 -2.525396765928963e+01 -2.527693405405919e+01 -2.529991626724470e+01 + -2.532291428361040e+01 -2.534592812720204e+01 -2.536895782110043e+01 -2.539200334524508e+01 -2.541506468057373e+01 + -2.543814185515816e+01 -2.546123489657537e+01 -2.548434378328921e+01 -2.550746849096137e+01 -2.553060903315797e+01 + -2.555376543163097e+01 -2.557693770297151e+01 -2.560012585444837e+01 -2.562332986120158e+01 -2.564654970308929e+01 + -2.566978541097076e+01 -2.569303701597250e+01 -2.571630449928904e+01 -2.573958783754457e+01 -2.576288703901380e+01 + -2.578620212017663e+01 -2.580953309868325e+01 -2.583287998467666e+01 -2.585624275710073e+01 -2.587962139846310e+01 + -2.590301593672573e+01 -2.592642639921134e+01 -2.594985276523152e+01 -2.597329501305775e+01 -2.599675316481207e+01 + -2.602022724494944e+01 -2.604371724340627e+01 -2.606722314554395e+01 -2.609074495294231e+01 -2.611428267453130e+01 + -2.613783633242288e+01 -2.616140594232113e+01 -2.618499148111656e+01 -2.620859292804694e+01 -2.623221031055255e+01 + -2.625584365675950e+01 -2.627949294933480e+01 -2.630315816707157e+01 -2.632683931872623e+01 -2.635053642045652e+01 + -2.637424948806206e+01 -2.639797853015353e+01 -2.642172352694394e+01 -2.644548446269175e+01 -2.646926136623515e+01 + -2.649305426487780e+01 -2.651686313520573e+01 -2.654068795336410e+01 -2.656452874445229e+01 -2.658838553565089e+01 + -2.661225831351167e+01 -2.663614706041860e+01 -2.666005178271351e+01 -2.668397249386109e+01 -2.670790921185966e+01 + -2.673186194785124e+01 -2.675583068101895e+01 -2.677981539336416e+01 -2.680381611012034e+01 -2.682783285712106e+01 + -2.685186561936856e+01 -2.687591437786270e+01 -2.689997913842517e+01 -2.692405991477839e+01 -2.694815672742597e+01 + -2.697226958936361e+01 -2.699639847677425e+01 -2.702054336911223e+01 -2.704470429573021e+01 -2.706888128546201e+01 + -2.709307431516761e+01 -2.711728336172764e+01 -2.714150845407871e+01 -2.716574962162754e+01 -2.719000684360529e+01 + -2.721428009605862e+01 -2.723856939247152e+01 -2.726287475352885e+01 -2.728719619128178e+01 -2.731153370993099e+01 + -2.733588729090867e+01 -2.736025692081293e+01 -2.738464262967399e+01 -2.740904444482641e+01 -2.743346233939021e+01 + -2.745789628706843e+01 -2.748234631811058e+01 -2.750681246441337e+01 -2.753129470791622e+01 -2.755579302585287e+01 + -2.758030742659158e+01 -2.760483792680023e+01 -2.762938454521084e+01 -2.765394729250735e+01 -2.767852614511706e+01 + -2.770312108289846e+01 -2.772773213369129e+01 -2.775235932608502e+01 -2.777700264368704e+01 -2.780166206614083e+01 + -2.782633760221619e+01 -2.785102926812099e+01 -2.787573708068912e+01 -2.790046104903706e+01 -2.792520115078565e+01 + -2.794995736764946e+01 -2.797472972921345e+01 -2.799951826412358e+01 -2.802432294939970e+01 -2.804914376169005e+01 + -2.807398072778233e+01 -2.809883387567351e+01 -2.812370318805837e+01 -2.814858864438241e+01 -2.817349025639583e+01 + -2.819840804241009e+01 -2.822334201467696e+01 -2.824829217820057e+01 -2.827325851505399e+01 -2.829824101147483e+01 + -2.832323969328987e+01 -2.834825458594292e+01 -2.837328567375688e+01 -2.839833293713809e+01 -2.842339638194745e+01 + -2.844847602232610e+01 -2.847357188008160e+01 -2.849868396869187e+01 -2.852381226064981e+01 -2.854895673259501e+01 + -2.857411741873861e+01 -2.859929435285462e+01 -2.862448750939692e+01 -2.864969686163745e+01 -2.867492243744038e+01 + -2.870016426611871e+01 -2.872542232818885e+01 -2.875069660076976e+01 -2.877598709618692e+01 -2.880129383482867e+01 + -2.882661683412842e+01 -2.885195610246809e+01 -2.887731161497835e+01 -2.890268335136361e+01 -2.892807134287440e+01 + -2.895347562064698e+01 -2.897889616381469e+01 -2.900433294736006e+01 -2.902978598166526e+01 -2.905525528595928e+01 + -2.908074087945912e+01 -2.910624277257485e+01 -2.913176094050105e+01 -2.915729536236611e+01 -2.918284606824940e+01 + -2.920841308797334e+01 -2.923399639938179e+01 -2.925959597987842e+01 -2.928521185708459e+01 -2.931084405942344e+01 + -2.933649256830759e+01 -2.936215736109871e+01 -2.938783844596477e+01 -2.941353583979598e+01 -2.943924956356517e+01 + -2.946497963001566e+01 -2.949072601489006e+01 -2.951648869675137e+01 -2.954226770244480e+01 -2.956806305999476e+01 + -2.959387475386040e+01 -2.961970276467950e+01 -2.964554710136948e+01 -2.967140778023144e+01 -2.969728481882160e+01 + -2.972317822671904e+01 -2.974908798033929e+01 -2.977501406036931e+01 -2.980095649774566e+01 -2.982691532231985e+01 + -2.985289050935425e+01 -2.987888203414534e+01 -2.990488992671488e+01 -2.993091421806754e+01 -2.995695488841446e+01 + -2.998301191396682e+01 -3.000908530572931e+01 -3.003517508294127e+01 -3.006128126298706e+01 -3.008740385472813e+01 + -3.011354283478899e+01 -3.013969818396866e+01 -3.016586993200092e+01 -3.019205810852835e+01 -3.021826269389396e+01 + -3.024448366459688e+01 -3.027072103106001e+01 -3.029697481234801e+01 -3.032324502816885e+01 -3.034953168930138e+01 + -3.037583477016444e+01 -3.040215424919064e+01 -3.042849015722735e+01 -3.045484252487287e+01 -3.048121132931426e+01 + -3.050759654718701e+01 -3.053399820633122e+01 -3.056041633582694e+01 -3.058685091850949e+01 -3.061330193277164e+01 + -3.063976938548045e+01 -3.066625329189824e+01 -3.069275367239408e+01 -3.071927054017274e+01 -3.074580387467516e+01 + -3.077235365736276e+01 -3.079891991154272e+01 -3.082550266154129e+01 -3.085210189391538e+01 -3.087871759159065e+01 + -3.090534976073683e+01 -3.093199841535169e+01 -3.095866357750086e+01 -3.098534526117247e+01 -3.101204343997652e+01 + -3.103875809113482e+01 -3.106548924669440e+01 -3.109223693806243e+01 -3.111900113926174e+01 -3.114578182447812e+01 + -3.117257902593346e+01 -3.119939277712214e+01 -3.122622305859262e+01 -3.125306984560579e+01 -3.127993314521812e+01 + -3.130681297362548e+01 -3.133370935178603e+01 -3.136062229292185e+01 -3.138755177454848e+01 -3.141449777743489e+01 + -3.144146033107010e+01 -3.146843946420585e+01 -3.149543515392452e+01 -3.152244737446985e+01 -3.154947614039987e+01 + -3.157652147508332e+01 -3.160358339681746e+01 -3.163066191390917e+01 -3.165775699977537e+01 -3.168486863280270e+01 + -3.171199684614663e+01 -3.173914167265754e+01 -3.176630308919665e+01 -3.179348107134120e+01 -3.182067564552154e+01 + -3.184788683989369e+01 -3.187511463866380e+01 -3.190235902163426e+01 -3.192961999494226e+01 -3.195689757352222e+01 + -3.198419178116283e+01 -3.201150263346307e+01 -3.203883010440887e+01 -3.206617417058478e+01 -3.209353486058297e+01 + -3.212091220418486e+01 -3.214830618392138e+01 -3.217571677868305e+01 -3.220314400004898e+01 -3.223058786708538e+01 + -3.225804839611857e+01 -3.228552559489243e+01 -3.231301943956095e+01 -3.234052991162765e+01 -3.236805704558397e+01 + -3.239560087404328e+01 -3.242316136911894e+01 -3.245073850255218e+01 -3.247833230509534e+01 -3.250594280965240e+01 + -3.253356999872297e+01 -3.256121385028732e+01 -3.258887437465276e+01 -3.261655158960600e+01 -3.264424551052439e+01 + -3.267195614529539e+01 -3.269968347425627e+01 -3.272742748229857e+01 -3.275518820008119e+01 -3.278296565603427e+01 + -3.281075982390590e+01 -3.283857067801981e+01 -3.286639824968410e+01 -3.289424257141810e+01 -3.292210362360176e+01 + -3.294998138240963e+01 -3.297787585933321e+01 -3.300578707421773e+01 -3.303371504500630e+01 -3.306165978102434e+01 + -3.308962125902853e+01 -3.311759946003357e+01 -3.314559441465483e+01 -3.317360615365304e+01 -3.320163465877013e+01 + -3.322967990687330e+01 -3.325774190434956e+01 -3.328582066713852e+01 -3.331391621987054e+01 -3.334202857831301e+01 + -3.337015771409062e+01 -3.339830360273710e+01 -3.342646627956469e+01 -3.345464577921614e+01 -3.348284207387808e+01 + -3.351105513572078e+01 -3.353928499930519e+01 -3.356753169996216e+01 -3.359579521371194e+01 -3.362407551222610e+01 + -3.365237260909204e+01 -3.368068652715969e+01 -3.370901728441355e+01 -3.373736488954338e+01 -3.376572931892538e+01 + -3.379411055342771e+01 -3.382250862419983e+01 -3.385092356238306e+01 -3.387935534880526e+01 -3.390780395979943e+01 + -3.393626940403256e+01 -3.396475169950308e+01 -3.399325086920118e+01 -3.402176692682492e+01 -3.405029984391190e+01 + -3.407884959628061e+01 -3.410741621903333e+01 -3.413599974690003e+01 -3.416460015383780e+01 -3.419321741347679e+01 + -3.422185155891206e+01 -3.425050262370409e+01 -3.427917058381036e+01 -3.430785541111823e+01 -3.433655711883738e+01 + -3.436527572977491e+01 -3.439401126380553e+01 -3.442276373145798e+01 -3.445153310880944e+01 -3.448031937598221e+01 + -3.450912256373026e+01 -3.453794270224409e+01 -3.456677976882821e+01 -3.459563373771100e+01 -3.462450462370172e+01 + -3.465339245071625e+01 -3.468229723851619e+01 -3.471121899611902e+01 -3.474015769371995e+01 -3.476911330776019e+01 + -3.479808587848705e+01 -3.482707544447295e+01 -3.485608197378501e+01 -3.488510543365825e+01 -3.491414585850467e+01 + -3.494320328527482e+01 -3.497227769389696e+01 -3.500136905869145e+01 -3.503047738856913e+01 -3.505960270226024e+01 + -3.508874502318216e+01 -3.511790436512474e+01 -3.514708069868058e+01 -3.517627399907308e+01 -3.520548430324607e+01 + -3.523471164812467e+01 -3.526395600883895e+01 -3.529321735592740e+01 -3.532249570335686e+01 -3.535179107461137e+01 + -3.538110348781549e+01 -3.541043295179184e+01 -3.543977944351469e+01 -3.546914294470585e+01 -3.549852348792567e+01 + -3.552792110371767e+01 -3.555733576371960e+01 -3.558676744035331e+01 -3.561621616808287e+01 -3.564568198278825e+01 + -3.567516486397158e+01 -3.570466478590109e+01 -3.573418175828719e+01 -3.576371580017962e+01 -3.579326693254331e+01 + -3.582283516733191e+01 -3.585242047853867e+01 -3.588202284498269e+01 -3.591164230274704e+01 -3.594127888660625e+01 + -3.597093256883734e+01 -3.600060331833949e+01 -3.603029115299790e+01 -3.605999610029281e+01 -3.608971817709886e+01 + -3.611945738978410e+01 -3.614921371329605e+01 -3.617898712799953e+01 -3.620877766734910e+01 -3.623858536391516e+01 + -3.626841019364145e+01 -3.629825213180558e+01 -3.632811120764664e+01 -3.635798745148868e+01 -3.638788084403422e+01 + -3.641779136227628e+01 -3.644771901799147e+01 -3.647766383142195e+01 -3.650762582188893e+01 -3.653760499949427e+01 + -3.656760133838370e+01 -3.659761481766282e+01 -3.662764547223315e+01 -3.665769333671685e+01 -3.668775838882340e+01 + -3.671784060113342e+01 -3.674793998262476e+01 -3.677805655273779e+01 -3.680819033636626e+01 -3.683834134900049e+01 + -3.686850956306390e+01 -3.689869495454472e+01 -3.692889755675729e+01 -3.695911740229619e+01 -3.698935446355054e+01 + -3.701960871343802e+01 -3.704988018719579e+01 -3.708016892120266e+01 -3.711047489408478e+01 -3.714079807933708e+01 + -3.717113848768184e+01 -3.720149613882988e+01 -3.723187105121882e+01 -3.726226323497034e+01 -3.729267266821555e+01 + -3.732309933333587e+01 -3.735354326170426e+01 -3.738400448395760e+01 -3.741448297879693e+01 -3.744497872108128e+01 + -3.747549172223736e+01 -3.750602200310610e+01 -3.753656958561755e+01 -3.756713448177913e+01 -3.759771666281819e+01 + -3.762831610507856e+01 -3.765893284615005e+01 -3.768956692232328e+01 -3.772021830344675e+01 -3.775088695941269e+01 + -3.778157292673024e+01 -3.781227624306894e+01 -3.784299688412320e+01 -3.787373482086582e+01 -3.790449006735824e+01 + -3.793526264738479e+01 -3.796605258053289e+01 -3.799685987630166e+01 -3.802768450803411e+01 -3.805852645435349e+01 + -3.808938575116029e+01 -3.812026243387959e+01 -3.815115647875793e+01 -3.818206785737669e+01 -3.821299658183555e+01 + -3.824394267407146e+01 -3.827490615485264e+01 -3.830588703573063e+01 -3.833688529255877e+01 -3.836790090523419e+01 + -3.839893390552727e+01 -3.842998432385276e+01 -3.846105213333004e+01 -3.849213730842061e+01 -3.852323988624988e+01 + -3.855435990371658e+01 -3.858549733414936e+01 -3.861665214665468e+01 -3.864782435702053e+01 -3.867901399128823e+01 + -3.871022106983104e+01 -3.874144560188923e+01 -3.877268755783931e+01 -3.880394691415978e+01 -3.883522371060106e+01 + -3.886651798555487e+01 -3.889782970870629e+01 -3.892915884903668e+01 -3.896050544141922e+01 -3.899186952243698e+01 + -3.902325106962145e+01 -3.905465005558139e+01 -3.908606649228560e+01 -3.911750040150871e+01 -3.914895180488885e+01 + -3.918042071436301e+01 -3.921190710320024e+01 -3.924341094905042e+01 -3.927493228575462e+01 -3.930647114756201e+01 + -3.933802751416320e+01 -3.936960136044893e+01 -3.940119269666864e+01 -3.943280154239230e+01 -3.946442791911308e+01 + -3.949607183932866e+01 -3.952773327763106e+01 -3.955941221301939e+01 -3.959110868002649e+01 -3.962282271157864e+01 + -3.965455427864192e+01 -3.968630335291520e+01 -3.971806997098832e+01 -3.974985417066340e+01 -3.978165592970123e+01 + -3.981347522024374e+01 -3.984531205199855e+01 -3.987716644515135e+01 -3.990903842423468e+01 -3.994092800366619e+01 + -3.997283515305731e+01 -4.000475984705376e+01 -4.003670212524431e+01 -4.006866202678586e+01 -4.010063952416471e+01 + -4.013263458527370e+01 -4.016464722630246e+01 -4.019667747391531e+01 -4.022872534837892e+01 -4.026079085897078e+01 + -4.029287397740929e+01 -4.032497468131004e+01 -4.035709300943645e+01 -4.038922899883853e+01 -4.042138261856475e+01 + -4.045355383733334e+01 -4.048574269054266e+01 -4.051794921541258e+01 -4.055017338976896e+01 -4.058241518694505e+01 + -4.061467462169752e+01 -4.064695171778673e+01 -4.067924649356458e+01 -4.071155895737036e+01 -4.074388908290122e+01 + -4.077623684962312e+01 -4.080860229471885e+01 -4.084098545450960e+01 -4.087338630415373e+01 -4.090580481395003e+01 + -4.093824099592192e+01 -4.097069487270115e+01 -4.100316646762842e+01 -4.103565579436854e+01 -4.106816282717386e+01 + -4.110068754422534e+01 -4.113322997883087e+01 -4.116579016300655e+01 -4.119836806847471e+01 -4.123096366815907e+01 + -4.126357700008218e+01 -4.129620810254014e+01 -4.132885694982463e+01 -4.136152351139461e+01 -4.139420780138244e+01 + -4.142690984447184e+01 -4.145962966287846e+01 -4.149236726828771e+01 -4.152512263273182e+01 -4.155789573295193e+01 + -4.159068660417814e+01 -4.162349528189675e+01 -4.165632174413023e+01 -4.168916596438000e+01 -4.172202795552684e+01 + -4.175490773972726e+01 -4.178780533686147e+01 -4.182072075745918e+01 -4.185365397692470e+01 -4.188660497553830e+01 + -4.191957378820953e+01 -4.195256044830271e+01 -4.198556492837179e+01 -4.201858720098863e+01 -4.205162729960676e+01 + -4.208468525919077e+01 -4.211776105986812e+01 -4.215085467691669e+01 -4.218396612105321e+01 -4.221709541226407e+01 + -4.225024257217616e+01 -4.228340761361360e+01 -4.231659051254899e+01 -4.234979124870078e+01 -4.238300985362200e+01 + -4.241624635885866e+01 -4.244950074409413e+01 -4.248277298525672e+01 -4.251606309511715e+01 -4.254937109530931e+01 + -4.258269700607782e+01 -4.261604083828603e+01 -4.264940256666174e+01 -4.268278217100897e+01 -4.271617968757233e+01 + -4.274959515039267e+01 -4.278302852825576e+01 -4.281647979114838e+01 -4.284994897911630e+01 -4.288343613339240e+01 + -4.291694122989936e+01 -4.295046423857267e+01 -4.298400517070971e+01 -4.301756404788966e+01 -4.305114089145757e+01 + -4.308473571388112e+01 -4.311834849235274e+01 -4.315197920801049e+01 -4.318562789305037e+01 -4.321929457904871e+01 + -4.325297924404543e+01 -4.328668186207582e+01 -4.332040244469275e+01 -4.335414101381126e+01 -4.338789759527743e+01 + -4.342167220389723e+01 -4.345546480638487e+01 -4.348927537558045e+01 -4.352310395691921e+01 -4.355695059370569e+01 + -4.359081524812669e+01 -4.362469788222823e+01 -4.365859853861065e+01 -4.369251726260594e+01 -4.372645402991838e+01 + -4.376040880917880e+01 -4.379438161035186e+01 -4.382837245512241e+01 -4.386238137072252e+01 -4.389640837367813e+01 + -4.393045343214298e+01 -4.396451651875527e+01 -4.399859767246311e+01 -4.403269693263155e+01 -4.406681427398399e+01 + -4.410094966630350e+01 -4.413510312425358e+01 -4.416927467295284e+01 -4.420346433446015e+01 -4.423767212069691e+01 + -4.427189800609401e+01 -4.430614196966567e+01 -4.434040404624994e+01 -4.437468426893484e+01 -4.440898260798443e+01 + -4.444329903479183e+01 -4.447763358808973e+01 -4.451198630763288e+01 -4.454635716992501e+01 -4.458074614621454e+01 + -4.461515324997958e+01 -4.464957850449220e+01 -4.468402192997090e+01 -4.471848353715485e+01 -4.475296330191956e+01 + -4.478746120505344e+01 -4.482197728186011e+01 -4.485651156648301e+01 -4.489106403390974e+01 -4.492563465506775e+01 + -4.496022344379944e+01 -4.499483042484561e+01 -4.502945562362576e+01 -4.506409905435962e+01 -4.509876068578905e+01 + -4.513344049220396e+01 -4.516813851556444e+01 -4.520285479589762e+01 -4.523758929782897e+01 -4.527234198687941e+01 + -4.530711290755342e+01 -4.534190210524451e+01 -4.537670954991925e+01 -4.541153520580425e+01 -4.544637908959269e+01 + -4.548124122972980e+01 -4.551612164920255e+01 -4.555102035951307e+01 -4.558593733168242e+01 -4.562087254236648e+01 + -4.565582603124118e+01 -4.569079783605451e+01 -4.572578792382265e+01 -4.576079626235065e+01 -4.579582289333027e+01 + -4.583086785976433e+01 -4.586593113601344e+01 -4.590101269036680e+01 -4.593611253546989e+01 -4.597123069530716e+01 + -4.600636719486254e+01 -4.604152204856955e+01 -4.607669522766013e+01 -4.611188670797630e+01 -4.614709652700154e+01 + -4.618232472227299e+01 -4.621757126990104e+01 -4.625283614113306e+01 -4.628811934919114e+01 -4.632342091751210e+01 + -4.635874086841728e+01 -4.639407921460932e+01 -4.642943593143147e+01 -4.646481099859044e+01 -4.650020445060623e+01 + -4.653561632090474e+01 -4.657104658372261e+01 -4.660649521327068e+01 -4.664196224284595e+01 -4.667744770698098e+01 + -4.671295158606459e+01 -4.674847385553061e+01 -4.678401452513644e+01 -4.681957361522331e+01 -4.685515115414413e+01 + -4.689074715945064e+01 -4.692636159747788e+01 -4.696199443933372e+01 -4.699764572643400e+01 -4.703331550121288e+01 + -4.706900373987032e+01 -4.710471041222129e+01 -4.714043552877479e+01 -4.717617911151273e+01 -4.721194118761495e+01 + -4.724772177397794e+01 -4.728352084116666e+01 -4.731933836391387e+01 -4.735517437995513e+01 -4.739102892624472e+01 + -4.742690197360956e+01 -4.746279349304486e+01 -4.749870352234630e+01 -4.753463210070628e+01 -4.757057920610364e+01 + -4.760654481072343e+01 -4.764252892478859e+01 -4.767853156968457e+01 -4.771455277340900e+01 -4.775059255327958e+01 + -4.778665087728216e+01 -4.782272771801416e+01 -4.785882311585065e+01 -4.789493711157514e+01 -4.793106967982698e+01 + -4.796722079021173e+01 -4.800339045834357e+01 -4.803957871014897e+01 -4.807578556679541e+01 -4.811201103905631e+01 + -4.814825510088780e+01 -4.818451773166895e+01 -4.822079896928767e+01 -4.825709884980719e+01 -4.829341734348342e+01 + -4.832975442115909e+01 -4.836611012183125e+01 -4.840248448526336e+01 -4.843887748613056e+01 -4.847528909416636e+01 + -4.851171932442625e+01 -4.854816820273300e+01 -4.858463575265701e+01 -4.862112198691646e+01 -4.865762687707282e+01 + -4.869415040003414e+01 -4.873069259525141e+01 -4.876725350118260e+01 -4.880383308977095e+01 -4.884043132904604e+01 + -4.887704823789731e+01 -4.891368384608068e+01 -4.895033817595851e+01 -4.898701123776245e+01 -4.902370300059485e+01 + -4.906041344002308e+01 -4.909714259860375e+01 -4.913389051725400e+01 -4.917065716334413e+01 -4.920744250429804e+01 + -4.924424658130064e+01 -4.928106943700116e+01 -4.931791104614518e+01 -4.935477137752828e+01 -4.939165044404930e+01 + -4.942854827009338e+01 -4.946546488188807e+01 -4.950240029454247e+01 -4.953935447684974e+01 -4.957632740294361e+01 + -4.961331911463601e+01 -4.965032965315336e+01 -4.968735898970213e+01 -4.972440709120082e+01 -4.976147397743583e+01 + -4.979855967878247e+01 -4.983566421510402e+01 -4.987278759472007e+01 -4.990992979028766e+01 -4.994709078100569e+01 + -4.998427060790318e+01 -5.002146930959274e+01 -5.005868685319148e+01 -5.009592320640078e+01 -5.013317841075434e+01 + -5.017045250915469e+01 -5.020774547614742e+01 -5.024505728017924e+01 -5.028238793365752e+01 -5.031973746104961e+01 + -5.035710589110189e+01 -5.039449324090066e+01 -5.043189947661289e+01 -5.046932456973549e+01 -5.050676856400442e+01 + -5.054423150327239e+01 -5.058171335962052e+01 -5.061921409929316e+01 -5.065673373695915e+01 -5.069427229950105e+01 + -5.073182981423184e+01 -5.076940629607507e+01 -5.080700170996615e+01 -5.084461602753602e+01 -5.088224929718589e+01 + -5.091990156525010e+01 -5.095757279302548e+01 -5.099526294209112e+01 -5.103297206019221e+01 -5.107070019605169e+01 + -5.110844731613729e+01 -5.114621338143406e+01 -5.118399841325091e+01 -5.122180244526444e+01 -5.125962550029841e+01 + -5.129746758802490e+01 -5.133532867636215e+01 -5.137320874011100e+01 -5.141110782335645e+01 -5.144902596945006e+01 + -5.148696314952589e+01 -5.152491932947918e+01 -5.156289452646703e+01 -5.160088876945014e+01 -5.163890208334180e+01 + -5.167693448081514e+01 -5.171498592963017e+01 -5.175305640369855e+01 -5.179114594645165e+01 -5.182925460014935e+01 + -5.186738233284598e+01 -5.190552911234031e+01 -5.194369497961412e+01 -5.198187997663295e+01 -5.202008407611459e+01 + -5.205830724580739e+01 -5.209654950282933e+01 -5.213481087573764e+01 -5.217309138947744e+01 -5.221139105690054e+01 + -5.224970984609732e+01 -5.228804773087789e+01 -5.232640475269200e+01 -5.236478095346914e+01 -5.240317630941821e+01 + -5.244159079031952e+01 -5.248002440595931e+01 -5.251847717885386e+01 -5.255694914243367e+01 -5.259544031823210e+01 + -5.263395066927961e+01 -5.267248016335085e+01 -5.271102884570031e+01 -5.274959676081755e+01 -5.278818387265291e+01 + -5.282679014593192e+01 -5.286541562901994e+01 -5.290406037048660e+01 -5.294272433607927e+01 -5.298140748616263e+01 + -5.302010984239256e+01 -5.305883143892672e+01 -5.309757229863885e+01 -5.313633243133304e+01 -5.317511180581835e+01 + -5.321391039785607e+01 -5.325272825201081e+01 -5.329156541074357e+01 -5.333042183929739e+01 -5.336929750308754e+01 + -5.340819244543594e+01 -5.344710671111962e+01 -5.348604027282968e+01 -5.352499309722418e+01 -5.356396519891433e+01 + -5.360295660504364e+01 -5.364196734493171e+01 -5.368099743556814e+01 -5.372004684244607e+01 -5.375911553606044e+01 + -5.379820355840945e+01 -5.383731095277006e+01 -5.387643769603123e+01 -5.391558375867469e+01 -5.395474915194053e+01 + -5.399393389872404e+01 -5.403313802778240e+01 -5.407236155707715e+01 -5.411160445552515e+01 -5.415086669663323e+01 + -5.419014832131279e+01 -5.422944936941720e+01 -5.426876980916325e+01 -5.430810960961936e+01 -5.434746881489674e+01 + -5.438684746929877e+01 -5.442624554285502e+01 -5.446566300018413e+01 -5.450509985853421e+01 -5.454455614758906e+01 + -5.458403189414573e+01 -5.462352711279953e+01 -5.466304177222543e+01 -5.470257584656953e+01 -5.474212937778257e+01 + -5.478170240720980e+01 -5.482129490597043e+01 -5.486090684084346e+01 -5.490053823147309e+01 -5.494018910890276e+01 + -5.497985949690793e+01 -5.501954940653937e+01 -5.505925880521750e+01 -5.509898766755921e+01 -5.513873604059781e+01 + -5.517850396943321e+01 -5.521829141901578e+01 -5.525809835354192e+01 -5.529792481434151e+01 -5.533777084523449e+01 + -5.537763642286803e+01 -5.541752151714192e+01 -5.545742613813913e+01 -5.549735030880384e+01 -5.553729406334213e+01 + -5.557725742375872e+01 -5.561724035199087e+01 -5.565724281465346e+01 -5.569726485713910e+01 -5.573730652628086e+01 + -5.577736779589668e+01 -5.581744863307357e+01 -5.585754905099014e+01 -5.589766907536871e+01 -5.593780873601526e+01 + -5.597796805069111e+01 -5.601814698489535e+01 -5.605834550959182e+01 -5.609856366986563e+01 -5.613880151023810e+01 + -5.617905899885479e+01 -5.621933610311022e+01 -5.625963286377015e+01 -5.629994932270948e+01 -5.634028545286861e+01 + -5.638064122221132e+01 -5.642101664772899e+01 -5.646141175844968e+01 -5.650182658252075e+01 -5.654226113528433e+01 + -5.658271538174220e+01 -5.662318929319503e+01 -5.666368291647893e+01 -5.670419629786259e+01 -5.674472940580990e+01 + -5.678528220346420e+01 -5.682585471049146e+01 -5.686644695909487e+01 -5.690705897510426e+01 -5.694769077129006e+01 + -5.698834231455854e+01 -5.702901357847642e+01 -5.706970460911611e+01 -5.711041545084194e+01 -5.715114606868026e+01 + -5.719189642778805e+01 -5.723266657318249e+01 -5.727345655110785e+01 -5.731426633285666e+01 -5.735509588339112e+01 + -5.739594521730356e+01 -5.743681436264626e+01 -5.747770335168147e+01 -5.751861220364783e+01 -5.755954088147938e+01 + -5.760048935348805e+01 -5.764145766580183e+01 -5.768244586550730e+01 -5.772345392571002e+01 -5.776448181276131e+01 + -5.780552953997691e+01 -5.784659713354442e+01 -5.788768462417462e+01 -5.792879202998626e+01 -5.796991931420698e+01 + -5.801106644664837e+01 -5.805223347834903e+01 -5.809342045860209e+01 -5.813462734849197e+01 -5.817585410820936e+01 + -5.821710078257841e+01 -5.825836741928538e+01 -5.829965399283203e+01 -5.834096047087346e+01 -5.838228686686274e+01 + -5.842363320676851e+01 -5.846499952082397e+01 -5.850638582715609e+01 -5.854779209120221e+01 -5.858921828442874e+01 + -5.863066445510763e+01 -5.867213065032231e+01 -5.871361683559694e+01 -5.875512297138874e+01 -5.879664907944645e+01 + -5.883819519466417e+01 -5.887976134322624e+01 -5.892134753756825e+01 -5.896295374384051e+01 -5.900457993500612e+01 + -5.904622615756436e+01 -5.908789245663575e+01 -5.912957879828990e+01 -5.917128514850664e+01 -5.921301155195771e+01 + -5.925475805384439e+01 -5.929652462279476e+01 -5.933831122286624e+01 -5.938011787640643e+01 -5.942194461763230e+01 + -5.946379146994821e+01 -5.950565844408734e+01 -5.954754551091072e+01 -5.958945264733813e+01 -5.963137989439624e+01 + -5.967332729249499e+01 -5.971529481547052e+01 -5.975728243227523e+01 -5.979929015889982e+01 -5.984131802305070e+01 + -5.988336605225896e+01 -5.992543426246962e+01 -5.996752262345901e+01 -6.000963111046766e+01 -6.005175976676178e+01 + -6.009390863383608e+01 -6.013607767807394e+01 -6.017826686618813e+01 -6.022047624132026e+01 -6.026270584835797e+01 + -6.030495566274465e+01 -6.034722565381767e+01 -6.038951583593452e+01 -6.043182623512069e+01 -6.047415687905394e+01 + -6.051650778421003e+01 -6.055887892060463e+01 -6.060127026325783e+01 -6.064368185366749e+01 -6.068611373308907e+01 + -6.072856587533070e+01 -6.077103824887340e+01 -6.081353086833690e+01 -6.085604376132918e+01 -6.089857696127247e+01 + -6.094113048823596e+01 -6.098370430306234e+01 -6.102629837247437e+01 -6.106891274594116e+01 -6.111154747264118e+01 + -6.115420251784390e+01 -6.119687784580902e+01 -6.123957350066591e+01 -6.128228952841628e+01 -6.132502590268162e+01 + -6.136778259056138e+01 -6.141055960544676e+01 -6.145335697380811e+01 -6.149617472814099e+01 -6.153901288864162e+01 + -6.158187142028389e+01 -6.162475029314290e+01 -6.166764955292113e+01 -6.171056924466600e+01 -6.175350933517737e+01 + -6.179646979123154e+01 -6.183945065775757e+01 -6.188245198047678e+01 -6.192547373012725e+01 -6.196851587175868e+01 + -6.201157842265037e+01 -6.205466141333163e+01 -6.209776487510229e+01 -6.214088882566958e+01 -6.218403322759970e+01 + -6.222719804958889e+01 -6.227038333999444e+01 -6.231358914752139e+01 -6.235681544260558e+01 -6.240006218936849e+01 + -6.244332940494305e+01 -6.248661712010740e+01 -6.252992536720910e+01 -6.257325416420860e+01 -6.261660346994837e+01 + -6.265997325077347e+01 -6.270336356215701e+01 -6.274677445777788e+01 -6.279020589501037e+01 -6.283365783085999e+01 + -6.287713031716163e+01 -6.292062340781234e+01 -6.296413707012920e+01 -6.300767126475596e+01 -6.305122601222295e+01 + -6.309480134635203e+01 -6.313839729424505e+01 -6.318201386936521e+01 -6.322565103734121e+01 -6.326930877093868e+01 + -6.331298711930568e+01 -6.335668613058504e+01 -6.340040577251647e+01 -6.344414600718050e+01 -6.348790685442323e+01 + -6.353168834759008e+01 -6.357549051625812e+01 -6.361931337593239e+01 -6.366315688959789e+01 -6.370702102749119e+01 + -6.375090584137499e+01 -6.379481138078580e+01 -6.383873760482961e+01 -6.388268447297220e+01 -6.392665203654889e+01 + -6.397064034897519e+01 -6.401464938011861e+01 -6.405867909237229e+01 -6.410272950177993e+01 -6.414680063823367e+01 + -6.419089253336912e+01 -6.423500520539493e+01 -6.427913861706836e+01 -6.432329273774181e+01 -6.436746761859949e+01 + -6.441166331065573e+01 -6.445587978241413e+01 -6.450011699516882e+01 -6.454437496388719e+01 -6.458865371852110e+01 + -6.463295329528786e+01 -6.467727371608086e+01 -6.472161493923234e+01 -6.476597692945877e+01 -6.481035974057480e+01 + -6.485476342551981e+01 -6.489918794463497e+01 -6.494363325783405e+01 -6.498809941591921e+01 -6.503258647107099e+01 + -6.507709439009531e+01 -6.512162313341831e+01 -6.516617272132122e+01 -6.521074318787740e+01 -6.525533456247440e+01 + -6.529994686059398e+01 -6.534458004678092e+01 -6.538923409250538e+01 -6.543390904787570e+01 -6.547860496211884e+01 + -6.552332180229843e+01 -6.556805952953434e+01 -6.561281816333469e+01 -6.565759773746066e+01 -6.570239828429803e+01 + -6.574721982146080e+01 -6.579206230885156e+01 -6.583692571363754e+01 -6.588181008975629e+01 -6.592671548982709e+01 + -6.597164187442638e+01 -6.601658920334479e+01 -6.606155752527242e+01 -6.610654689090467e+01 -6.615155727005924e+01 + -6.619658862652422e+01 -6.624164098084657e+01 -6.628671436645676e+01 -6.633180881156068e+01 -6.637692433038681e+01 + -6.642206088647883e+01 -6.646721845110714e+01 -6.651239707713407e+01 -6.655759681603797e+01 -6.660281763216933e+01 + -6.664805948389387e+01 -6.669332239276561e+01 -6.673860639512726e+01 -6.678391152328841e+01 -6.682923779433044e+01 + -6.687458516845543e+01 -6.691995361277515e+01 -6.696534317891920e+01 -6.701075391795754e+01 -6.705618579420361e+01 + -6.710163877100581e+01 -6.714711289460833e+01 -6.719260821321966e+01 -6.723812470001026e+01 -6.728366232121398e+01 + -6.732922109035582e+01 -6.737480103488133e+01 -6.742040219062761e+01 -6.746602458035952e+01 -6.751166816616187e+01 + -6.755733291529161e+01 -6.760301887637438e+01 -6.764872609859751e+01 -6.769445455202660e+01 -6.774020420051386e+01 + -6.778597506217976e+01 -6.783176716876942e+01 -6.787758055225885e+01 -6.792341523092826e+01 -6.796927116804379e+01 + -6.801514833341810e+01 -6.806104677806347e+01 -6.810696655123587e+01 -6.815290761396663e+01 -6.819886992772128e+01 + -6.824485354392678e+01 -6.829085851532395e+01 -6.833688480994840e+01 -6.838293238885097e+01 -6.842900126984890e+01 + -6.847509148538957e+01 -6.852120306967514e+01 -6.856733604269469e+01 -6.861349036583006e+01 -6.865966600658993e+01 + -6.870586301559659e+01 -6.875208144399036e+01 -6.879832126187024e+01 -6.884458243234171e+01 -6.889086497157696e+01 + -6.893716890990422e+01 -6.898349428120915e+01 -6.902984110598732e+01 -6.907620934761650e+01 -6.912259897511596e+01 + -6.916901003718877e+01 -6.921544258172949e+01 -6.926189657371528e+01 -6.930837197817074e+01 -6.935486884322755e+01 + -6.940138721768092e+01 -6.944792706987337e+01 -6.949448836290087e+01 -6.954107111932564e+01 -6.958767537490402e+01 + -6.963430115870300e+01 -6.968094848498497e+01 -6.972761731548312e+01 -6.977430762020695e+01 -6.982101945480034e+01 + -6.986775287255249e+01 -6.991450783170005e+01 -6.996128429032680e+01 -7.000808230095708e+01 -7.005490191787665e+01 + -7.010174310797666e+01 -7.014860583121035e+01 -7.019549010717337e+01 -7.024239597049470e+01 -7.028932345629492e+01 + -7.033627258446040e+01 -7.038324331344937e+01 -7.043023560838913e+01 -7.047724952251053e+01 -7.052428510987777e+01 + -7.057134233978515e+01 -7.061842117397924e+01 -7.066552162878578e+01 -7.071264373512433e+01 -7.075978752771100e+01 + -7.080695302731498e+01 -7.085414019512091e+01 -7.090134899910394e+01 -7.094857949398551e+01 -7.099583173235354e+01 + -7.104310567151599e+01 -7.109040126922885e+01 -7.113771858031990e+01 -7.118505766125368e+01 -7.123241847797109e+01 + -7.127980098937178e+01 -7.132720521671429e+01 -7.137463119544236e+01 -7.142207895538176e+01 -7.146954851252747e+01 + -7.151703983316882e+01 -7.156455289009196e+01 -7.161208773177542e+01 -7.165964440570248e+01 -7.170722287968356e+01 + -7.175482311646741e+01 -7.180244513822917e+01 -7.185008898098621e+01 -7.189775467669884e+01 -7.194544224180910e+01 + -7.199315163474331e+01 -7.204088282234626e+01 -7.208863586315185e+01 -7.213641081375658e+01 -7.218420763131780e+01 + -7.223202627227879e+01 -7.227986678966526e+01 -7.232772923884254e+01 -7.237561358795277e+01 -7.242351979769759e+01 + -7.247144788623903e+01 -7.251939788668284e+01 -7.256736983444897e+01 -7.261536375015235e+01 -7.266337959287341e+01 + -7.271141732841731e+01 -7.275947701102203e+01 -7.280755869538000e+01 -7.285566234956853e+01 -7.290378793432680e+01 + -7.295193546765573e+01 -7.300010498266862e+01 -7.304829651566631e+01 -7.309651008753943e+01 -7.314474565435016e+01 + -7.319300317971540e+01 -7.324128272229925e+01 -7.328958433981238e+01 -7.333790799110540e+01 -7.338625363374130e+01 + -7.343462131899291e+01 -7.348301110053259e+01 -7.353142294792167e+01 -7.357985682361442e+01 -7.362831274574745e+01 + -7.367679074711965e+01 -7.372529086349638e+01 -7.377381311579366e+01 -7.382235746256312e+01 -7.387092386912651e+01 + -7.391951239025020e+01 -7.396812308115555e+01 -7.401675590943988e+01 -7.406541083531380e+01 -7.411408787706513e+01 + -7.416278706814910e+01 -7.421150844461324e+01 -7.426025202733783e+01 -7.430901777394124e+01 -7.435780564940528e+01 + -7.440661571142732e+01 -7.445544801616209e+01 -7.450430252087864e+01 -7.455317918285648e+01 -7.460207805830268e+01 + -7.465099920497126e+01 -7.469994258787753e+01 -7.474890816454140e+01 -7.479789595523943e+01 -7.484690599592756e+01 + -7.489593832252380e+01 -7.494499295533201e+01 -7.499406985223764e+01 -7.504316897827101e+01 -7.509229038945979e+01 + -7.514143414169166e+01 -7.519060019929748e+01 -7.523978851997632e+01 -7.528899912645726e+01 -7.533823205657275e+01 + -7.538748734353926e+01 -7.543676500532445e+01 -7.548606500351643e+01 -7.553538730703876e+01 -7.558473197053598e+01 + -7.563409904619321e+01 -7.568348849063742e+01 -7.573290026170078e+01 -7.578233441759443e+01 -7.583179101796470e+01 + -7.588127002782028e+01 -7.593077140392674e+01 -7.598029516471465e+01 -7.602984134475692e+01 -7.607940998153097e+01 + -7.612900109746634e+01 -7.617861465189691e+01 -7.622825061065345e+01 -7.627790902865043e+01 -7.632758996032740e+01 + -7.637729336914126e+01 -7.642701921265419e+01 -7.647676751583191e+01 -7.652653831849052e+01 -7.657633165244424e+01 + -7.662614753370475e+01 -7.667598592307560e+01 -7.672584678949215e+01 -7.677573018962489e+01 -7.682563617769370e+01 + -7.687556471038147e+01 -7.692551574474433e+01 -7.697548933686781e+01 -7.702548554509247e+01 -7.707550433774978e+01 + -7.712554567498073e+01 -7.717560957417300e+01 -7.722569606768573e+01 -7.727580519051753e+01 -7.732593696392289e+01 + -7.737609135154067e+01 -7.742626832278943e+01 -7.747646792782194e+01 -7.752669021677298e+01 -7.757693515897095e+01 + -7.762720271798948e+01 -7.767749291518889e+01 -7.772780578562232e+01 -7.777814136132783e+01 -7.782849965970544e+01 + -7.787888064261847e+01 -7.792928427988689e+01 -7.797971062869398e+01 -7.803015974345008e+01 -7.808063158011076e+01 + -7.813112609521906e+01 -7.818164334612277e+01 -7.823218339188995e+01 -7.828274619766600e+01 -7.833333172107952e+01 + -7.838393998361434e+01 -7.843457102192369e+01 -7.848522486948340e+01 -7.853590154498607e+01 -7.858660101116894e+01 + -7.863732323758104e+01 -7.868806827697425e+01 -7.873883618163512e+01 -7.878962691878654e+01 -7.884044044940295e+01 + -7.889127679452803e+01 -7.894213598992800e+01 -7.899301807018992e+01 -7.904392305456564e+01 -7.909485090214494e+01 + -7.914580158005610e+01 -7.919677514774288e+01 -7.924777166238927e+01 -7.929879107982515e+01 -7.934983335558289e+01 + -7.940089854535901e+01 -7.945198670709752e+01 -7.950309780756868e+01 -7.955423180605224e+01 -7.960538872303847e+01 + -7.965656859466247e+01 -7.970777145842827e+01 -7.975899733555858e+01 -7.981024618078136e+01 -7.986151795697417e+01 + -7.991281272610696e+01 -7.996413054847572e+01 -8.001547137858779e+01 -8.006683517069925e+01 -8.011822198384908e+01 + -8.016963187855384e+01 -8.022106481645797e+01 -8.027252075224854e+01 -8.032399971165485e+01 -8.037550173585385e+01 + -8.042702685677139e+01 -8.047857509055929e+01 -8.053014639952434e+01 -8.058174075328817e+01 -8.063335820457638e+01 + -8.068499880610621e+01 -8.073666252745771e+01 -8.078834933088126e+01 -8.084005923244513e+01 -8.089179226408041e+01 + -8.094354846735196e+01 -8.099532786819320e+01 -8.104713042037783e+01 -8.109895608507813e+01 -8.115080492521992e+01 + -8.120267700205356e+01 -8.125457226837462e+01 -8.130649067623317e+01 -8.135843228315183e+01 -8.141039715010918e+01 + -8.146238524643556e+01 -8.151439653208425e+01 -8.156643102114791e+01 -8.161848874447259e+01 -8.167056974577932e+01 + -8.172267405314662e+01 -8.177480161920819e+01 -8.182695240289546e+01 -8.187912646377457e+01 -8.193132386298609e+01 + -8.198354456733288e+01 -8.203578853472443e+01 -8.208805578183410e+01 -8.214034634197473e+01 -8.219266025625411e+01 + -8.224499755029157e+01 -8.229735817995817e+01 -8.234974210798764e+01 -8.240214939431286e+01 -8.245458009683706e+01 + -8.250703416814667e+01 -8.255951156203467e+01 -8.261201234243612e+01 -8.266453657428882e+01 -8.271708421639993e+01 + -8.276965521981012e+01 -8.282224961062391e+01 -8.287486743131451e+01 -8.292750871476633e+01 -8.298017347733835e+01 + -8.303286167887651e+01 -8.308557328775250e+01 -8.313830836295337e+01 -8.319106696215761e+01 -8.324384904719405e+01 + -8.329665457280116e+01 -8.334948356120523e+01 -8.340233605179664e+01 -8.345521208513452e+01 -8.350811168407860e+01 + -8.356103479952203e+01 -8.361398139085040e+01 -8.366695152338559e+01 -8.371994526125894e+01 -8.377296255790387e+01 + -8.382600336547402e+01 -8.387906774170159e+01 -8.393215574692768e+01 -8.398526734635097e+01 -8.403840249721476e+01 + -8.409156122008268e+01 -8.414474355213920e+01 -8.419794953373223e+01 -8.425117918830632e+01 -8.430443246852916e+01 + -8.435770933516140e+01 -8.441100985211256e+01 -8.446433408298962e+01 -8.451768198704093e+01 -8.457105351533237e+01 + -8.462444869055821e+01 -8.467786755329161e+01 -8.473131014399300e+01 -8.478477648534972e+01 -8.483826652906932e+01 + -8.489178023573824e+01 -8.494531767243778e+01 -8.499887890373510e+01 -8.505246387764603e+01 -8.510607254206460e+01 + -8.515970496094809e+01 -8.521336120130535e+01 -8.526704122628841e+01 -8.532074498941530e+01 -8.537447250952404e+01 + -8.542822382319736e+01 -8.548199897267675e+01 -8.553579798342942e+01 -8.558962080816578e+01 -8.564346740685433e+01 + -8.569733784125194e+01 -8.575123217367282e+01 -8.580515036687339e+01 -8.585909237532205e+01 -8.591305821989287e+01 + -8.596704793875205e+01 -8.602106157282915e+01 -8.607509914567974e+01 -8.612916060859980e+01 -8.618324592155754e+01 + -8.623735515146925e+01 -8.629148836331387e+01 -8.634564550737286e+01 -8.639982653295500e+01 -8.645403150017543e+01 + -8.650826047252751e+01 -8.656251341621210e+01 -8.661679028858919e+01 -8.667109110894766e+01 -8.672541591317201e+01 + -8.677976474159972e+01 -8.683413761829634e+01 -8.688853449778628e+01 -8.694295534179228e+01 -8.699740021037117e+01 + -8.705186916402354e+01 -8.710636216669133e+01 -8.716087917454270e+01 -8.721542020920894e+01 -8.726998530877070e+01 + -8.732457451164281e+01 -8.737918783967393e+01 -8.743382524811331e+01 -8.748848670054353e+01 -8.754317226047976e+01 + -8.759788198894785e+01 -8.765261583708421e+01 -8.770737375634857e+01 -8.776215580938322e+01 -8.781696206132678e+01 + -8.787179247612183e+01 -8.792664700860111e+01 -8.798152567835336e+01 -8.803642852212045e+01 -8.809135558050070e+01 + -8.814630687756171e+01 -8.820128236739042e+01 -8.825628201129771e+01 -8.831130586947003e+01 -8.836635400284558e+01 + -8.842142637649435e+01 -8.847652294770472e+01 -8.853164373850628e+01 -8.858678878695027e+01 -8.864195813043362e+01 + -8.869715178945941e+01 -8.875236971760948e+01 -8.880761187808301e+01 -8.886287833946902e+01 -8.891816916696094e+01 + -8.897348430677987e+01 -8.902882370531137e+01 -8.908418742857141e+01 -8.913957554536425e+01 -8.919498801601753e+01 + -8.925042479199006e+01 -8.930588589774098e+01 -8.936137137472512e+01 -8.941688125937962e+01 -8.947241557120560e+01 + -8.952797426697802e+01 -8.958355731201681e+01 -8.963916476854843e+01 -8.969479669732335e+01 -8.975045305628245e+01 + -8.980613379692392e+01 -8.986183894778455e+01 -8.991756855389235e+01 -8.997332264920152e+01 -9.002910125051302e+01 + -9.008490431708829e+01 -9.014073181666647e+01 -9.019658380843681e+01 -9.025246034941333e+01 -9.030836139645970e+01 + -9.036428690661128e+01 -9.042023693773967e+01 -9.047621154925669e+01 -9.053221070589892e+01 -9.058823436476921e+01 + -9.064428254711031e+01 -9.070035529106499e+01 -9.075645263823618e+01 -9.081257461289793e+01 -9.086872116654884e+01 + -9.092489225918972e+01 -9.098108795760594e+01 -9.103730832657459e+01 -9.109355331605536e+01 -9.114982287548730e+01 + -9.120611706704364e+01 -9.126243595579022e+01 -9.131877950563008e+01 -9.137514767186437e+01 -9.143154047654943e+01 + -9.148795795857168e+01 -9.154440015738282e+01 -9.160086709537343e+01 -9.165735872612346e+01 -9.171387501169491e+01 + -9.177041601688784e+01 -9.182698180564800e+01 -9.188357233576582e+01 -9.194018755741556e+01 -9.199682749646104e+01 + -9.205349219658670e+01 -9.211018169707003e+01 -9.216689601912306e+01 -9.222363511610273e+01 -9.228039895018067e+01 + -9.233718758664240e+01 -9.239400108840672e+01 -9.245083940581294e+01 -9.250770248979978e+01 -9.256459040628322e+01 + -9.262150322244982e+01 -9.267844089559186e+01 -9.273540337476760e+01 -9.279239068599267e+01 -9.284940287335907e+01 + -9.290643997630693e+01 -9.296350201607783e+01 -9.302058894577094e+01 -9.307770072730455e+01 -9.313483742601555e+01 + -9.319199910633068e+01 -9.324918572561810e+01 -9.330639723351504e+01 -9.336363365579297e+01 -9.342089503640302e+01 + -9.347818141588093e+01 -9.353549281584256e+01 -9.359282918563940e+01 -9.365019048477910e+01 -9.370757678565749e+01 + -9.376498815769901e+01 -9.382242454555492e+01 -9.387988589305337e+01 -9.393737226550313e+01 -9.399488373202897e+01 + -9.405242025553964e+01 -9.410998178945039e+01 -9.416756835541781e+01 -9.422517999301114e+01 -9.428281674520871e+01 + -9.434047863667399e+01 -9.439816561540189e+01 -9.445587763836596e+01 -9.451361477512259e+01 -9.457137709520302e+01 + -9.462916455545547e+01 -9.468697710379740e+01 -9.474481476510589e+01 -9.480267758244509e+01 -9.486056559466863e+01 + -9.491847882335075e+01 -9.497641722515867e+01 -9.503438076487508e+01 -9.509236950465109e+01 -9.515038350409563e+01 + -9.520842271528107e+01 -9.526648709103007e+01 -9.532457669470300e+01 -9.538269159175374e+01 -9.544083174547335e+01 + -9.549899710997526e+01 -9.555718770482461e+01 -9.561540356780063e+01 -9.567364474408794e+01 -9.573191126075703e+01 + -9.579020306501620e+01 -9.584852011272490e+01 -9.590686247420874e+01 -9.596523021978578e+01 -9.602362330527772e+01 + -9.608204167783254e+01 -9.614048536439948e+01 -9.619895441016116e+01 -9.625744885343293e+01 -9.631596871403326e+01 + -9.637451394466026e+01 -9.643308450797647e+01 -9.649168047362274e+01 -9.655030190767742e+01 -9.660894875499127e+01 + -9.666762096089710e+01 -9.672631859388268e+01 -9.678504172537357e+01 -9.684379031539257e+01 -9.690256431417546e+01 + -9.696136374421286e+01 -9.702018864639355e+01 -9.707903906294442e+01 -9.713791501832830e+01 -9.719681646461351e+01 + -9.725574336170810e+01 -9.731469577327378e+01 -9.737367376351882e+01 -9.743267729508464e+01 -9.749170632178308e+01 + -9.755076086367355e+01 -9.760984095895955e+01 -9.766894665217343e+01 -9.772807797034233e+01 -9.778723486414395e+01 + -9.784641729236439e+01 -9.790562532257231e+01 -9.796485902036660e+01 -9.802411833468516e+01 -9.808340321418262e+01 + -9.814271372304191e+01 -9.820204992860188e+01 -9.826141179529722e+01 -9.832079927766843e+01 -9.838021239358226e+01 + -9.843965117935535e+01 -9.849911568177785e+01 -9.855860593025675e+01 -9.861812187419362e+01 -9.867766347002308e+01 + -9.873723078231735e+01 -9.879682387670165e+01 -9.885644271487612e+01 -9.891608724974174e+01 -9.897575750292785e+01 + -9.903545351466867e+01 -9.909517533088989e+01 -9.915492297862031e+01 -9.921469640360959e+01 -9.927449556058966e+01 + -9.933432052149955e+01 -9.939417135686639e+01 -9.945404801436261e+01 -9.951395044077229e+01 -9.957387870218038e+01 + -9.963383286719130e+01 -9.969381289518709e+01 -9.975381873630593e+01 -9.981385041293248e+01 -9.987390796877466e+01 + -9.993399146058783e+01 -9.999410091983435e+01 -1.000542362637563e+02 -1.001143974249114e+02 -1.001745845113392e+02 + -1.002347976270743e+02 -1.002950366846517e+02 -1.003553015922550e+02 -1.004155924321621e+02 -1.004759093011103e+02 + -1.005362521795820e+02 -1.005966210292817e+02 -1.006570158530568e+02 -1.007174366671700e+02 -1.007778835004040e+02 + -1.008383563749385e+02 -1.008988552740233e+02 -1.009593801813489e+02 -1.010199311212978e+02 -1.010805081231472e+02 + -1.011411111950619e+02 -1.012017403376325e+02 -1.012623955422635e+02 -1.013230768099676e+02 -1.013837841893743e+02 + -1.014445177207514e+02 -1.015052773633014e+02 -1.015660630775449e+02 -1.016268749103392e+02 -1.016877129150088e+02 + -1.017485770844115e+02 -1.018094673966629e+02 -1.018703838313761e+02 -1.019313263923028e+02 -1.019922951782496e+02 + -1.020532902664119e+02 -1.021143115524854e+02 -1.021753589342455e+02 -1.022364324992857e+02 -1.022975323519374e+02 + -1.023586584736673e+02 -1.024198108268543e+02 -1.024809894203941e+02 -1.025421942728475e+02 -1.026034253949216e+02 + -1.026646827901934e+02 -1.027259664415750e+02 -1.027872763473731e+02 -1.028486125881369e+02 -1.029099752254547e+02 + -1.029713641628286e+02 -1.030327793161952e+02 -1.030942208093169e+02 -1.031556887637190e+02 -1.032171830841550e+02 + -1.032787036718354e+02 -1.033402506305696e+02 -1.034018240681317e+02 -1.034634239055545e+02 -1.035250500515010e+02 + -1.035867025518952e+02 -1.036483814821213e+02 -1.037100868981441e+02 -1.037718188237329e+02 -1.038335771732939e+02 + -1.038953618747522e+02 -1.039571730194689e+02 -1.040190107055651e+02 -1.040808748947658e+02 -1.041427655331822e+02 + -1.042046826408667e+02 -1.042666262524425e+02 -1.043285963868752e+02 -1.043905930564436e+02 -1.044526162623378e+02 + -1.045146660069125e+02 -1.045767423082721e+02 -1.046388451777543e+02 -1.047009745838822e+02 -1.047631305085241e+02 + -1.048253130297424e+02 -1.048875222165416e+02 -1.049497580055002e+02 -1.050120203310284e+02 -1.050743092512860e+02 + -1.051366248384456e+02 -1.051989670969791e+02 -1.052613360137520e+02 -1.053237315729033e+02 -1.053861537661844e+02 + -1.054486026185219e+02 -1.055110781583045e+02 -1.055735803945944e+02 -1.056361093274371e+02 -1.056986649401382e+02 + -1.057612472323176e+02 -1.058238562855892e+02 -1.058864921618116e+02 -1.059491547618286e+02 -1.060118440001799e+02 + -1.060745600072047e+02 -1.061373029070868e+02 -1.062000725835928e+02 -1.062628689188559e+02 -1.063256920288941e+02 + -1.063885420424685e+02 -1.064514189054312e+02 -1.065143225392365e+02 -1.065772529506575e+02 -1.066402101774261e+02 + -1.067031942957903e+02 -1.067662053568374e+02 -1.068292432724951e+02 -1.068923079625714e+02 -1.069553995175528e+02 + -1.070185180380394e+02 -1.070816634944072e+02 -1.071448358336418e+02 -1.072080350393896e+02 -1.072712611247882e+02 + -1.073345141842783e+02 -1.073977942922143e+02 -1.074611013613008e+02 -1.075244353055826e+02 -1.075877962061142e+02 + -1.076511841502191e+02 -1.077145990832866e+02 -1.077780409492339e+02 -1.078415098280245e+02 -1.079050057992970e+02 + -1.079685288053471e+02 -1.080320787786834e+02 -1.080956557500093e+02 -1.081592597729443e+02 -1.082228908945775e+02 + -1.082865491424036e+02 -1.083502344720692e+02 -1.084139468448718e+02 -1.084776863165616e+02 -1.085414529440200e+02 + -1.086052466942038e+02 -1.086690675238350e+02 -1.087329154386204e+02 -1.087967904674474e+02 -1.088606926829425e+02 + -1.089246221377382e+02 -1.089885787607543e+02 -1.090525624876805e+02 -1.091165734050004e+02 -1.091806115963225e+02 + -1.092446769829633e+02 -1.093087694909110e+02 -1.093728892271333e+02 -1.094370362953419e+02 -1.095012106052476e+02 + -1.095654120623545e+02 -1.096296407493415e+02 -1.096938967647426e+02 -1.097581800933404e+02 -1.098224906984946e+02 + -1.098868285716250e+02 -1.099511937236656e+02 -1.100155862155477e+02 -1.100800060933800e+02 -1.101444532939841e+02 + -1.102089277564002e+02 -1.102734295378303e+02 -1.103379587096266e+02 -1.104025152815812e+02 -1.104670992426730e+02 + -1.105317105601886e+02 -1.105963492199813e+02 -1.106610153038629e+02 -1.107257088820756e+02 -1.107904298826226e+02 + -1.108551782361634e+02 -1.109199540262203e+02 -1.109847573373186e+02 -1.110495881051325e+02 -1.111144462586115e+02 + -1.111793318486534e+02 -1.112442449476576e+02 -1.113091855920787e+02 -1.113741537899001e+02 -1.114391494711626e+02 + -1.115041725824562e+02 -1.115692232145109e+02 -1.116343014623147e+02 -1.116994072937479e+02 -1.117645406555522e+02 + -1.118297015370191e+02 -1.118948899532702e+02 -1.119601059801944e+02 -1.120253496750247e+02 -1.120906209596036e+02 + -1.121559197660155e+02 -1.122212462027017e+02 -1.122866003728487e+02 -1.123519821822644e+02 -1.124173915349786e+02 + -1.124828285252852e+02 -1.125482932599049e+02 -1.126137857050017e+02 -1.126793058037530e+02 -1.127448535479451e+02 + -1.128104289543148e+02 -1.128760320907921e+02 -1.129416630123176e+02 -1.130073216706816e+02 -1.130730080183262e+02 + -1.131387221134510e+02 -1.132044640167948e+02 -1.132702336934948e+02 -1.133360310978225e+02 -1.134018562361866e+02 + -1.134677091387784e+02 -1.135335898787815e+02 -1.135994985091588e+02 -1.136654349589990e+02 -1.137313991629182e+02 + -1.137973912015162e+02 -1.138634111582333e+02 -1.139294589818884e+02 -1.139955346168527e+02 -1.140616381243277e+02 + -1.141277695680233e+02 -1.141939289048548e+02 -1.142601160860919e+02 -1.143263311472162e+02 -1.143925741390390e+02 + -1.144588450894802e+02 -1.145251440101338e+02 -1.145914708701818e+02 -1.146578256494022e+02 -1.147242084123678e+02 + -1.147906192149256e+02 -1.148570579932248e+02 -1.149235246826633e+02 -1.149900193353325e+02 -1.150565420227369e+02 + -1.151230927773426e+02 -1.151896716067799e+02 -1.152562784583746e+02 -1.153229132947855e+02 -1.153895762003063e+02 + -1.154562672526404e+02 -1.155229863814943e+02 -1.155897335150450e+02 -1.156565087233475e+02 -1.157233120892246e+02 + -1.157901436046917e+02 -1.158570032371645e+02 -1.159238909464663e+02 -1.159908067231330e+02 -1.160577506881430e+02 + -1.161247229415995e+02 -1.161917233696630e+02 -1.162587518588770e+02 -1.163258085112608e+02 -1.163928934406831e+02 + -1.164600065929374e+02 -1.165271479034755e+02 -1.165943174344564e+02 -1.166615152526160e+02 -1.167287413162901e+02 + -1.167959955757904e+02 -1.168632780577301e+02 -1.169305888112216e+02 -1.169979278990717e+02 -1.170652953548001e+02 + -1.171326910810820e+02 -1.172001149975291e+02 -1.172675672223445e+02 -1.173350478778825e+02 -1.174025569045121e+02 + -1.174700942215011e+02 -1.175376598456954e+02 -1.176052538191002e+02 -1.176728761867799e+02 -1.177405269796691e+02 + -1.178082061691247e+02 -1.178759137299273e+02 -1.179436497101298e+02 -1.180114141509050e+02 -1.180792069926326e+02 + -1.181470281872303e+02 -1.182148778335583e+02 -1.182827560287664e+02 -1.183506627162192e+02 -1.184185978220269e+02 + -1.184865613570652e+02 -1.185545533602401e+02 -1.186225738978121e+02 -1.186906230193939e+02 -1.187587006806511e+02 + -1.188268068350639e+02 -1.188949415213182e+02 -1.189631047837780e+02 -1.190312966043158e+02 -1.190995169567162e+02 + -1.191677658449030e+02 -1.192360432941998e+02 -1.193043493853908e+02 -1.193726841751893e+02 -1.194410475685670e+02 + -1.195094394794060e+02 -1.195778600089746e+02 -1.196463092648311e+02 -1.197147871923100e+02 -1.197832937276135e+02 + -1.198518289326376e+02 -1.199203928745778e+02 -1.199889855161324e+02 -1.200576068078755e+02 -1.201262567563797e+02 + -1.201949353935382e+02 -1.202636427965272e+02 -1.203323790196208e+02 -1.204011439802014e+02 -1.204699376081542e+02 + -1.205387600202684e+02 -1.206076113241917e+02 -1.206764914041025e+02 -1.207454001431820e+02 -1.208143376440890e+02 + -1.208833040296615e+02 -1.209522992839752e+02 -1.210213233653680e+02 -1.210903762679893e+02 -1.211594580022500e+02 + -1.212285686077949e+02 -1.212977081155049e+02 -1.213668764919694e+02 -1.214360737100132e+02 -1.215052998316942e+02 + -1.215745549154533e+02 -1.216438389160294e+02 -1.217131517838345e+02 -1.217824935556734e+02 -1.218518642837182e+02 + -1.219212639952166e+02 -1.219906927020717e+02 -1.220601503797327e+02 -1.221296370078328e+02 -1.221991526191948e+02 + -1.222686972509000e+02 -1.223382709038720e+02 -1.224078735702578e+02 -1.224775052432531e+02 -1.225471659287695e+02 + -1.226168556825330e+02 -1.226865745477072e+02 -1.227563224673916e+02 -1.228260993926653e+02 -1.228959054065903e+02 + -1.229657405910973e+02 -1.230356048916106e+02 -1.231054982500379e+02 -1.231754207307278e+02 -1.232453724007864e+02 + -1.233153532159101e+02 -1.233853631242201e+02 -1.234554021549459e+02 -1.235254703591199e+02 -1.235955677938801e+02 + -1.236656944915691e+02 -1.237358503792446e+02 -1.238060353939673e+02 -1.238762496180971e+02 -1.239464931371069e+02 + -1.240167659036240e+02 -1.240870678602586e+02 -1.241573990423949e+02 -1.242277595040581e+02 -1.242981492810638e+02 + -1.243685683872523e+02 -1.244390167667736e+02 -1.245094943779347e+02 -1.245800013053605e+02 -1.246505376299316e+02 + -1.247211032912332e+02 -1.247916982296097e+02 -1.248623225297382e+02 -1.249329762770640e+02 -1.250036594157741e+02 + -1.250743718736609e+02 -1.251451136541969e+02 -1.252158847947410e+02 -1.252866853925174e+02 -1.253575155184925e+02 + -1.254283750787370e+02 -1.254992639825418e+02 -1.255701823169751e+02 -1.256411301759969e+02 -1.257121075033584e+02 + -1.257831142369608e+02 -1.258541504415142e+02 -1.259252161922362e+02 -1.259963114795672e+02 -1.260674362758903e+02 + -1.261385905661348e+02 -1.262097743537985e+02 -1.262809877041053e+02 -1.263522306696565e+02 -1.264235031908370e+02 + -1.264948052148923e+02 -1.265661368287249e+02 -1.266374981169807e+02 -1.267088890156212e+02 -1.267803094502130e+02 + -1.268517594534262e+02 -1.269232390831601e+02 -1.269947483911282e+02 -1.270662874069690e+02 -1.271378560782095e+02 + -1.272094543594662e+02 -1.272810823158284e+02 -1.273527400123002e+02 -1.274244274030747e+02 -1.274961444355319e+02 + -1.275678911406106e+02 -1.276396675704015e+02 -1.277114737780431e+02 -1.277833097950603e+02 -1.278551755654751e+02 + -1.279270710424012e+02 -1.279989963028243e+02 -1.280709514152536e+02 -1.281429362904217e+02 -1.282149508513121e+02 + -1.282869952276877e+02 -1.283590695463467e+02 -1.284311737154509e+02 -1.285033076302067e+02 -1.285754713526335e+02 + -1.286476649682441e+02 -1.287198884897120e+02 -1.287921419051992e+02 -1.288644251776617e+02 -1.289367382880697e+02 + -1.290090813146567e+02 -1.290814543319980e+02 -1.291538573027727e+02 -1.292262901737162e+02 -1.292987529396840e+02 + -1.293712456190937e+02 -1.294437682764910e+02 -1.295163209673579e+02 -1.295889036647941e+02 -1.296615163353197e+02 + -1.297341590015173e+02 -1.298068316903185e+02 -1.298795343899871e+02 -1.299522670904091e+02 -1.300250298266263e+02 + -1.300978226354063e+02 -1.301706455152632e+02 -1.302434984561237e+02 -1.303163814518184e+02 -1.303892945098205e+02 + -1.304622376882688e+02 -1.305352110313897e+02 -1.306082144770936e+02 -1.306812479731976e+02 -1.307543116134598e+02 + -1.308274054850011e+02 -1.309005295024521e+02 -1.309736835845235e+02 -1.310468678387340e+02 -1.311200823754845e+02 + -1.311933271278942e+02 -1.312666020134129e+02 -1.313399070640916e+02 -1.314132423401880e+02 -1.314866079001839e+02 + -1.315600037753056e+02 -1.316334298895329e+02 -1.317068861777292e+02 -1.317803727255405e+02 -1.318538896215189e+02 + -1.319274368150577e+02 -1.320010142454794e+02 -1.320746219509807e+02 -1.321482599879661e+02 -1.322219283867981e+02 + -1.322956271602158e+02 -1.323693562765047e+02 -1.324431157110688e+02 -1.325169055122373e+02 -1.325907257242561e+02 + -1.326645763021127e+02 -1.327384572099461e+02 -1.328123685377604e+02 -1.328863103680995e+02 -1.329602826278048e+02 + -1.330342852393407e+02 -1.331083182633673e+02 -1.331823817787306e+02 -1.332564757988239e+02 -1.333306003141445e+02 + -1.334047552890586e+02 -1.334789407033280e+02 -1.335531566244299e+02 -1.336274031130300e+02 -1.337016801148342e+02 + -1.337759875748336e+02 -1.338503255501201e+02 -1.339246941130952e+02 -1.339990932852997e+02 -1.340735230609586e+02 + -1.341479833758948e+02 -1.342224741891434e+02 -1.342969956109889e+02 -1.343715477431406e+02 -1.344461305017541e+02 + -1.345207438015131e+02 -1.345953877367626e+02 -1.346700624038786e+02 -1.347447677276981e+02 -1.348195036263442e+02 + -1.348942701626209e+02 -1.349690674171868e+02 -1.350438953974369e+02 -1.351187540921076e+02 -1.351936434885642e+02 + -1.352685635848754e+02 -1.353435144232942e+02 -1.354184960414874e+02 -1.354935084145923e+02 -1.355685515128237e+02 + -1.356436253492364e+02 -1.357187299541088e+02 -1.357938653837732e+02 -1.358690316768758e+02 -1.359442287752637e+02 + -1.360194566279880e+02 -1.360947153097144e+02 -1.361700048911278e+02 -1.362453253013760e+02 -1.363206764782614e+02 + -1.363960585357406e+02 -1.364714715821978e+02 -1.365469155275740e+02 -1.366223902703805e+02 -1.366978958618521e+02 + -1.367734323848502e+02 -1.368489998960226e+02 -1.369245984210613e+02 -1.370002278880492e+02 -1.370758882331093e+02 + -1.371515795221331e+02 -1.372273018270698e+02 -1.373030551143317e+02 -1.373788393429953e+02 -1.374546545483291e+02 + -1.375305007816427e+02 -1.376063780822184e+02 -1.376822864668756e+02 -1.377582258746108e+02 -1.378341962588316e+02 + -1.379101977084133e+02 -1.379862303093919e+02 -1.380622940009784e+02 -1.381383887192652e+02 -1.382145145346940e+02 + -1.382906715205862e+02 -1.383668596274320e+02 -1.384430787972570e+02 -1.385193290610606e+02 -1.385956104734610e+02 + -1.386719230945808e+02 -1.387482669582360e+02 -1.388246419875133e+02 -1.389010481148665e+02 -1.389774854209464e+02 + -1.390539539951986e+02 -1.391304538140523e+02 -1.392069848343242e+02 -1.392835470473980e+02 -1.393601404693719e+02 + -1.394367651806349e+02 -1.395134212422815e+02 -1.395901085739362e+02 -1.396668271002043e+02 -1.397435769070855e+02 + -1.398203580874878e+02 -1.398971706005607e+02 -1.399740143977720e+02 -1.400508895336226e+02 -1.401277960614956e+02 + -1.402047339272718e+02 -1.402817030764181e+02 -1.403587035602461e+02 -1.404357354502877e+02 -1.405127987931110e+02 + -1.405898936026113e+02 -1.406670197869564e+02 -1.407441772794584e+02 -1.408213662197336e+02 -1.408985867371466e+02 + -1.409758387137537e+02 -1.410531220224061e+02 -1.411304367464428e+02 -1.412077829961380e+02 -1.412851607790223e+02 + -1.413625700771281e+02 -1.414400108732392e+02 -1.415174831646232e+02 -1.415949870057306e+02 -1.416725224388105e+02 + -1.417500894001226e+02 -1.418276878351835e+02 -1.419053178325258e+02 -1.419829794809226e+02 -1.420606727270934e+02 + -1.421383975074728e+02 -1.422161538594082e+02 -1.422939418408956e+02 -1.423717614916131e+02 -1.424496128273150e+02 + -1.425274957863782e+02 -1.426054103213069e+02 -1.426833565184944e+02 -1.427613344645970e+02 -1.428393441134355e+02 + -1.429173854035838e+02 -1.429954583454632e+02 -1.430735629773860e+02 -1.431516993773805e+02 -1.432298676007922e+02 + -1.433080675725197e+02 -1.433862992191345e+02 -1.434645626043482e+02 -1.435428578032951e+02 -1.436211847996638e+02 + -1.436995435672099e+02 -1.437779341314036e+02 -1.438563565210897e+02 -1.439348107268960e+02 -1.440132967358192e+02 + -1.440918145585468e+02 -1.441703642214681e+02 -1.442489457900865e+02 -1.443275593072134e+02 -1.444062046857781e+02 + -1.444848818522611e+02 -1.445635909172288e+02 -1.446423319927847e+02 -1.447211050130976e+02 -1.447999098925679e+02 + -1.448787466444589e+02 -1.449576153140356e+02 -1.450365159757091e+02 -1.451154486823820e+02 -1.451944133717774e+02 + -1.452734099863848e+02 -1.453524386029381e+02 -1.454314992962476e+02 -1.455105919991844e+02 -1.455897166474813e+02 + -1.456688733302556e+02 -1.457480621396693e+02 -1.458272830266799e+02 -1.459065359271370e+02 -1.459858208576615e+02 + -1.460651378591126e+02 -1.461444869885314e+02 -1.462238682831965e+02 -1.463032816851561e+02 -1.463827271416525e+02 + -1.464622047159361e+02 -1.465417144784923e+02 -1.466212564127396e+02 -1.467008304928943e+02 -1.467804367434297e+02 + -1.468600751934606e+02 -1.469397458404120e+02 -1.470194486722770e+02 -1.470991836710121e+02 -1.471789508433917e+02 + -1.472587503015001e+02 -1.473385821300154e+02 -1.474184461986837e+02 -1.474983423870870e+02 -1.475782708290815e+02 + -1.476582316674545e+02 -1.477382248264445e+02 -1.478182502096616e+02 -1.478983078567520e+02 -1.479783978350921e+02 + -1.480585201869469e+02 -1.481386749269736e+02 -1.482188619845118e+02 -1.482990813088785e+02 -1.483793330146163e+02 + -1.484596172099193e+02 -1.485399338123612e+02 -1.486202827323657e+02 -1.487006640423751e+02 -1.487810778248495e+02 + -1.488615240403001e+02 -1.489420026412511e+02 -1.490225136702235e+02 -1.491030571832025e+02 -1.491836332000337e+02 + -1.492642417202360e+02 -1.493448826981615e+02 -1.494255561054278e+02 -1.495062620278810e+02 -1.495870005487025e+02 + -1.496677716261896e+02 -1.497485751994623e+02 -1.498294112558179e+02 -1.499102798158717e+02 -1.499911809853331e+02 + -1.500721148441144e+02 -1.501530812838450e+02 -1.502340802026938e+02 -1.503151117132690e+02 -1.503961759364751e+02 + -1.504772728119622e+02 -1.505584022645880e+02 -1.506395643412949e+02 -1.507207591024668e+02 -1.508019865401696e+02 + -1.508832466324269e+02 -1.509645393694111e+02 -1.510458647628492e+02 -1.511272228985386e+02 -1.512086138412552e+02 + -1.512900374976176e+02 -1.513714937855876e+02 -1.514529828266537e+02 -1.515345047392310e+02 -1.516160594259147e+02 + -1.516976467776822e+02 -1.517792668548592e+02 -1.518609197460578e+02 -1.519426054836894e+02 -1.520243240750476e+02 + -1.521060754831553e+02 -1.521878596792744e+02 -1.522696767118938e+02 -1.523515266305248e+02 -1.524334094115421e+02 + -1.525153250314230e+02 -1.525972735401888e+02 -1.526792549864990e+02 -1.527612693400200e+02 -1.528433165631959e+02 + -1.529253966685747e+02 -1.530075096900777e+02 -1.530896556970147e+02 -1.531718347321965e+02 -1.532540466970516e+02 + -1.533362915133235e+02 -1.534185693253995e+02 -1.535008802693854e+02 -1.535832242256197e+02 -1.536656010621809e+02 + -1.537480108538752e+02 -1.538304537113657e+02 -1.539129296820158e+02 -1.539954387715506e+02 -1.540779808824423e+02 + -1.541605559457948e+02 -1.542431641104905e+02 -1.543258055115917e+02 -1.544084800111010e+02 -1.544911874726015e+02 + -1.545739280390565e+02 -1.546567018609975e+02 -1.547395088398511e+02 -1.548223488576198e+02 -1.549052219677139e+02 + -1.549881282595875e+02 -1.550710677954614e+02 -1.551540406026988e+02 -1.552370465964632e+02 -1.553200857053796e+02 + -1.554031580241178e+02 -1.554862636500489e+02 -1.555694025253043e+02 -1.556525745801794e+02 -1.557357798528659e+02 + -1.558190184045264e+02 -1.559022902803117e+02 -1.559855954979769e+02 -1.560689339817060e+02 -1.561523056771075e+02 + -1.562357107090587e+02 -1.563191491909100e+02 -1.564026210106382e+02 -1.564861260558312e+02 -1.565696644378976e+02 + -1.566532362813955e+02 -1.567368415396626e+02 -1.568204801387562e+02 -1.569041520668287e+02 -1.569878573487146e+02 + -1.570715960938785e+02 -1.571553683828581e+02 -1.572391740958522e+02 -1.573230131265335e+02 -1.574068856228085e+02 + -1.574907917295132e+02 -1.575747313249683e+02 -1.576587042737324e+02 -1.577427106518309e+02 -1.578267505715277e+02 + -1.579108240785769e+02 -1.579949311783184e+02 -1.580790717809458e+02 -1.581632458187553e+02 -1.582474534075981e+02 + -1.583316946623155e+02 -1.584159695101536e+02 -1.585002778727259e+02 -1.585846198367120e+02 -1.586689954874005e+02 + -1.587534047394542e+02 -1.588378475061590e+02 -1.589223238659185e+02 -1.590068339195322e+02 -1.590913776922658e+02 + -1.591759551748261e+02 -1.592605662952183e+02 -1.593452110061037e+02 -1.594298894214712e+02 -1.595146016508511e+02 + -1.595993476246111e+02 -1.596841272537272e+02 -1.597689405507699e+02 -1.598537875632453e+02 -1.599386683768111e+02 + -1.600235830481832e+02 -1.601085314801616e+02 -1.601935135899282e+02 -1.602785295061083e+02 -1.603635793509372e+02 + -1.604486630096468e+02 -1.605337803660765e+02 -1.606189315354990e+02 -1.607041166452176e+02 -1.607893356392255e+02 + -1.608745884397152e+02 -1.609598750649831e+02 -1.610451955612870e+02 -1.611305499906227e+02 -1.612159383917271e+02 + -1.613013606945609e+02 -1.613868168398436e+02 -1.614723069201057e+02 -1.615578310304217e+02 -1.616433891242326e+02 + -1.617289811339727e+02 -1.618146070496823e+02 -1.619002668955830e+02 -1.619859607750138e+02 -1.620716887676450e+02 + -1.621574507793529e+02 -1.622432467219253e+02 -1.623290767045893e+02 -1.624149408340039e+02 -1.625008390091176e+02 + -1.625867711331680e+02 -1.626727373342588e+02 -1.627587377384768e+02 -1.628447722389764e+02 -1.629308407201184e+02 + -1.630169432640222e+02 -1.631030799800713e+02 -1.631892508889492e+02 -1.632754559784962e+02 -1.633616951938801e+02 + -1.634479685044198e+02 -1.635342760187116e+02 -1.636206178291233e+02 -1.637069938238325e+02 -1.637934038942077e+02 + -1.638798481485683e+02 -1.639663267112721e+02 -1.640528395538795e+02 -1.641393866180353e+02 -1.642259678785196e+02 + -1.643125833411851e+02 -1.643992331030405e+02 -1.644859172470150e+02 -1.645726357085657e+02 -1.646593884180614e+02 + -1.647461754329907e+02 -1.648329968179324e+02 -1.649198525387065e+02 -1.650067425502886e+02 -1.650936668630355e+02 + -1.651806255134507e+02 -1.652676185872448e+02 -1.653546461444497e+02 -1.654417080931755e+02 -1.655288043499995e+02 + -1.656159350172886e+02 -1.657031001994683e+02 -1.657902998234105e+02 -1.658775338117127e+02 -1.659648022474274e+02 + -1.660521052162188e+02 -1.661394426537408e+02 -1.662268144894047e+02 -1.663142207776613e+02 -1.664016615975541e+02 + -1.664891370014617e+02 -1.665766470055737e+02 -1.666641915079906e+02 -1.667517704334961e+02 -1.668393839316945e+02 + -1.669270321420214e+02 -1.670147149384157e+02 -1.671024321837371e+02 -1.671901839620226e+02 -1.672779703889409e+02 + -1.673657914855093e+02 -1.674536472385115e+02 -1.675415375924466e+02 -1.676294625158688e+02 -1.677174221158364e+02 + -1.678054164853866e+02 -1.678934455229663e+02 -1.679815091339810e+02 -1.680696074462591e+02 -1.681577405863894e+02 + -1.682459084535819e+02 -1.683341109324726e+02 -1.684223480767776e+02 -1.685106199767677e+02 -1.685989266998525e+02 + -1.686872682758898e+02 -1.687756446073924e+02 -1.688640556163956e+02 -1.689525014303699e+02 -1.690409821718389e+02 + -1.691294977381033e+02 -1.692180480141565e+02 -1.693066330609834e+02 -1.693952529706734e+02 -1.694839077837423e+02 + -1.695725975104607e+02 -1.696613220916933e+02 -1.697500814887782e+02 -1.698388758143547e+02 -1.699277051650943e+02 + -1.700165694224996e+02 -1.701054684738952e+02 -1.701944024450633e+02 -1.702833714670375e+02 -1.703723754534025e+02 + -1.704614143033400e+02 -1.705504880758685e+02 -1.706395968591658e+02 -1.707287406982126e+02 -1.708179196055015e+02 + -1.709071335067704e+02 -1.709963823462651e+02 -1.710856662290167e+02 -1.711749852543236e+02 -1.712643393377691e+02 + -1.713537283867857e+02 -1.714431524599174e+02 -1.715326116432521e+02 -1.716221059819435e+02 -1.717116354891412e+02 + -1.718012000909151e+02 -1.718907997312464e+02 -1.719804345128430e+02 -1.720701045346718e+02 -1.721598097220100e+02 + -1.722495499971131e+02 -1.723393254438396e+02 -1.724291361494486e+02 -1.725189820532021e+02 -1.726088630837053e+02 + -1.726987792749333e+02 -1.727887306891670e+02 -1.728787173965418e+02 -1.729687394350333e+02 -1.730587967061244e+02 + -1.731488891286860e+02 -1.732390168276344e+02 -1.733291799265234e+02 -1.734193783374131e+02 -1.735096119603506e+02 + -1.735998808588243e+02 -1.736901851222248e+02 -1.737805247801124e+02 -1.738708998286339e+02 -1.739613101901119e+02 + -1.740517558114003e+02 -1.741422368113012e+02 -1.742327533050288e+02 -1.743233052214973e+02 -1.744138924793676e+02 + -1.745045151425876e+02 -1.745951732822802e+02 -1.746858668529805e+02 -1.747765958032038e+02 -1.748673601739718e+02 + -1.749581600245709e+02 -1.750489953948396e+02 -1.751398663036498e+02 -1.752307727054541e+02 -1.753217145616989e+02 + -1.754126919262226e+02 -1.755037048571098e+02 -1.755947533370347e+02 -1.756858373371216e+02 -1.757769568577038e+02 + -1.758681119173357e+02 -1.759593025782490e+02 -1.760505288876894e+02 -1.761417907892832e+02 -1.762330882344909e+02 + -1.763244213097290e+02 -1.764157900964081e+02 -1.765071945209611e+02 -1.765986345094344e+02 -1.766901101413071e+02 + -1.767816215026837e+02 -1.768731685527375e+02 -1.769647512369523e+02 -1.770563695729838e+02 -1.771480236027573e+02 + -1.772397133931058e+02 -1.773314389867134e+02 -1.774232003047593e+02 -1.775149972814722e+02 -1.776068300247813e+02 + -1.776986986385443e+02 -1.777906030366335e+02 -1.778825431235826e+02 -1.779745189565556e+02 -1.780665306226855e+02 + -1.781585781763529e+02 -1.782506616334199e+02 -1.783427808884287e+02 -1.784349358629673e+02 -1.785271267081259e+02 + -1.786193535668995e+02 -1.787116163204012e+02 -1.788039148425030e+02 -1.788962492399977e+02 -1.789886196318098e+02 + -1.790810259524725e+02 -1.791734681201561e+02 -1.792659461719689e+02 -1.793584601742520e+02 -1.794510101913400e+02 + -1.795435962594126e+02 -1.796362183040394e+02 -1.797288762617232e+02 -1.798215702233099e+02 -1.799143002757676e+02 + -1.800070663362093e+02 -1.800998683262517e+02 -1.801927063553792e+02 -1.802855805315161e+02 -1.803784907684791e+02 + -1.804714369692463e+02 -1.805644191875481e+02 -1.806574375103104e+02 -1.807504920064915e+02 -1.808435827084130e+02 + -1.809367095198169e+02 -1.810298723599504e+02 -1.811230713386593e+02 -1.812163065647390e+02 -1.813095779521854e+02 + -1.814028854036152e+02 -1.814962289709267e+02 -1.815896087407728e+02 -1.816830247895420e+02 -1.817764771515762e+02 + -1.818699657032943e+02 -1.819634903439186e+02 -1.820570512218083e+02 -1.821506484855823e+02 -1.822442820357622e+02 + -1.823379517614509e+02 -1.824316577541746e+02 -1.825254001134493e+02 -1.826191787683301e+02 -1.827129936397535e+02 + -1.828068447866412e+02 -1.829007322929544e+02 -1.829946562048259e+02 -1.830886165373395e+02 -1.831826132192083e+02 + -1.832766461922778e+02 -1.833707155372913e+02 -1.834648213380734e+02 -1.835589635518759e+02 -1.836531421229175e+02 + -1.837473570698571e+02 -1.838416084358642e+02 -1.839358962877114e+02 -1.840302206684350e+02 -1.841245815025237e+02 + -1.842189787235884e+02 -1.843134124202761e+02 -1.844078826806361e+02 -1.845023894352911e+02 -1.845969326205561e+02 + -1.846915123529413e+02 -1.847861287393624e+02 -1.848807816681596e+02 -1.849754710227848e+02 -1.850701968857076e+02 + -1.851649593688754e+02 -1.852597585031284e+02 -1.853545942804591e+02 -1.854494666185751e+02 -1.855443754618861e+02 + -1.856393209358935e+02 -1.857343031604275e+02 -1.858293220515437e+02 -1.859243775087027e+02 -1.860194695687597e+02 + -1.861145983033516e+02 -1.862097637858479e+02 -1.863049660540466e+02 -1.864002050017272e+02 -1.864954805431744e+02 + -1.865907928187129e+02 -1.866861419596013e+02 -1.867815278347963e+02 -1.868769503164351e+02 -1.869724095516791e+02 + -1.870679056966096e+02 -1.871634386679672e+02 -1.872590083560524e+02 -1.873546147847470e+02 -1.874502580123688e+02 + -1.875459381013990e+02 -1.876416550903780e+02 -1.877374089179168e+02 -1.878331995340542e+02 -1.879290270344656e+02 + -1.880248915055781e+02 -1.881207928511883e+02 -1.882167309755823e+02 -1.883127059676341e+02 -1.884087179360091e+02 + -1.885047668839511e+02 -1.886008527852007e+02 -1.886969756009047e+02 -1.887931353152428e+02 -1.888893320171184e+02 + -1.889855657829229e+02 -1.890818365342772e+02 -1.891781441947396e+02 -1.892744888503877e+02 -1.893708705921393e+02 + -1.894672893677523e+02 -1.895637451161106e+02 -1.896602378837592e+02 -1.897567677352667e+02 -1.898533346996371e+02 + -1.899499387807097e+02 -1.900465799172331e+02 -1.901432580674921e+02 -1.902399733330072e+02 -1.903367258125687e+02 + -1.904335154508099e+02 -1.905303421711713e+02 -1.906272059664800e+02 -1.907241068668330e+02 -1.908210449820209e+02 + -1.909180203947948e+02 -1.910150330000556e+02 -1.911120827002041e+02 -1.912091696154924e+02 -1.913062938635582e+02 + -1.914034553337337e+02 -1.915006539182285e+02 -1.915978897490666e+02 -1.916951629619544e+02 -1.917924734675151e+02 + -1.918898211586861e+02 -1.919872060827436e+02 -1.920846283161583e+02 -1.921820878978424e+02 -1.922795848438701e+02 + -1.923771191165239e+02 -1.924746906889474e+02 -1.925722996315181e+02 -1.926699460069926e+02 -1.927676297504074e+02 + -1.928653507913461e+02 -1.929631091652971e+02 -1.930609049367203e+02 -1.931587381800568e+02 -1.932566089358633e+02 + -1.933545170991796e+02 -1.934524625825225e+02 -1.935504455138344e+02 -1.936484660231147e+02 -1.937465240331655e+02 + -1.938446194535055e+02 -1.939427523477156e+02 -1.940409227930324e+02 -1.941391307672549e+02 -1.942373762317632e+02 + -1.943356591817002e+02 -1.944339796386271e+02 -1.945323376960147e+02 -1.946307334225392e+02 -1.947291667157886e+02 + -1.948276374816129e+02 -1.949261458299981e+02 -1.950246918758956e+02 -1.951232755499811e+02 -1.952218967672293e+02 + -1.953205555640852e+02 -1.954192520091347e+02 -1.955179861780584e+02 -1.956167581109271e+02 -1.957155676982765e+02 + -1.958144148511486e+02 -1.959132997121442e+02 -1.960122224157670e+02 -1.961111828325720e+02 -1.962101808324193e+02 + -1.963092165463342e+02 -1.964082901163006e+02 -1.965074014669716e+02 -1.966065505047830e+02 -1.967057372806285e+02 + -1.968049618689787e+02 -1.969042242941536e+02 -1.970035245570506e+02 -1.971028626150270e+02 -1.972022384428475e+02 + -1.973016521284466e+02 -1.974011037520065e+02 -1.975005932495305e+02 -1.976001205455443e+02 -1.976996856628438e+02 + -1.977992886519515e+02 -1.978989295760255e+02 -1.979986084767589e+02 -1.980983252973461e+02 -1.981980799861144e+02 + -1.982978726104215e+02 -1.983977032396124e+02 -1.984975718319531e+02 -1.985974783450467e+02 -1.986974228449224e+02 + -1.987974053983538e+02 -1.988974259666649e+02 -1.989974844962869e+02 -1.990975809795281e+02 -1.991977154414513e+02 + -1.992978879922588e+02 -1.993980987169082e+02 -1.994983475142392e+02 -1.995986342853965e+02 -1.996989591268633e+02 + -1.997993221398394e+02 -1.998997232490551e+02 -2.000001623829878e+02 -2.001006396615730e+02 -2.002011551976202e+02 + -2.003017088839768e+02 -2.004023006006677e+02 -2.005029303963877e+02 -2.006035983645368e+02 -2.007043046086661e+02 + -2.008050491826254e+02 -2.009058319313084e+02 -2.010066527248718e+02 -2.011075117434797e+02 -2.012084091672780e+02 + -2.013093448663347e+02 -2.014103186854462e+02 -2.015113306783989e+02 -2.016123809487723e+02 -2.017134695903300e+02 + -2.018145966520298e+02 -2.019157620134241e+02 -2.020169655668574e+02 -2.021182074252480e+02 -2.022194877090834e+02 + -2.023208063485549e+02 -2.024221632682046e+02 -2.025235585602719e+02 -2.026249923196053e+02 -2.027264644837921e+02 + -2.028279749730532e+02 -2.029295237954015e+02 -2.030311109992572e+02 -2.031327367068774e+02 -2.032344010007734e+02 + -2.033361037306376e+02 -2.034378447601810e+02 -2.035396242420057e+02 -2.036414423389593e+02 -2.037432989659801e+02 + -2.038451940079258e+02 -2.039471274772405e+02 -2.040490994323931e+02 -2.041511099883670e+02 -2.042531592234435e+02 + -2.043552470125819e+02 -2.044573732391661e+02 -2.045595380236004e+02 -2.046617414909655e+02 -2.047639835480296e+02 + -2.048662640993485e+02 -2.049685832589404e+02 -2.050709411450770e+02 -2.051733376835843e+02 -2.052757727854042e+02 + -2.053782464943871e+02 -2.054807588829732e+02 -2.055833100050551e+02 -2.056858998827895e+02 -2.057885284299405e+02 + -2.058911955783421e+02 -2.059939014405005e+02 -2.060966461276917e+02 -2.061994295656012e+02 -2.063022516666823e+02 + -2.064051124760526e+02 -2.065080120661920e+02 -2.066109504863692e+02 -2.067139277576765e+02 -2.068169438117121e+02 + -2.069199985973326e+02 -2.070230922219201e+02 -2.071262247789163e+02 -2.072293961474789e+02 -2.073326062201854e+02 + -2.074358551575783e+02 -2.075391431180403e+02 -2.076424699833530e+02 -2.077458356179337e+02 -2.078492400933438e+02 + -2.079526835133251e+02 -2.080561659031989e+02 -2.081596872578975e+02 -2.082632475292167e+02 -2.083668466898186e+02 + -2.084704848389632e+02 -2.085741620623951e+02 -2.086778782651976e+02 -2.087816333480700e+02 -2.088854273748348e+02 + -2.089892604383302e+02 -2.090931325843364e+02 -2.091970438282278e+02 -2.093009941108145e+02 -2.094049833841979e+02 + -2.095090117202067e+02 -2.096130791905716e+02 -2.097171857469022e+02 -2.098213313423286e+02 -2.099255160561849e+02 + -2.100297399619016e+02 -2.101340029830976e+02 -2.102383050403986e+02 -2.103426461922712e+02 -2.104470265253758e+02 + -2.105514461013085e+02 -2.106559049410852e+02 -2.107604029284658e+02 -2.108649399745926e+02 -2.109695162373935e+02 + -2.110741318706494e+02 -2.111787867647689e+02 -2.112834807867834e+02 -2.113882139735869e+02 -2.114929864074473e+02 + -2.115977981822681e+02 -2.117026493533424e+02 -2.118075398098887e+02 -2.119124694556393e+02 -2.120174384184601e+02 + -2.121224468216736e+02 -2.122274945462991e+02 -2.123325814769304e+02 -2.124377077547605e+02 -2.125428735238108e+02 + -2.126480786828185e+02 -2.127533231155498e+02 -2.128586068911697e+02 -2.129639301084739e+02 -2.130692927993837e+02 + -2.131746949622090e+02 -2.132801365276879e+02 -2.133856174488912e+02 -2.134911378357916e+02 -2.135966977951921e+02 + -2.137022972643151e+02 -2.138079361581469e+02 -2.139136144723085e+02 -2.140193322420075e+02 -2.141250895801643e+02 + -2.142308865713384e+02 -2.143367231089345e+02 -2.144425990899214e+02 -2.145485146166798e+02 -2.146544697958461e+02 + -2.147604645456698e+02 -2.148664987887291e+02 -2.149725726533044e+02 -2.150786862586875e+02 -2.151848394825147e+02 + -2.152910321964648e+02 -2.153972644900385e+02 -2.155035364828845e+02 -2.156098481974242e+02 -2.157161996246267e+02 + -2.158225907268823e+02 -2.159290214790141e+02 -2.160354919341570e+02 -2.161420021424622e+02 -2.162485520638355e+02 + -2.163551416576007e+02 -2.164617709709994e+02 -2.165684400663080e+02 -2.166751489780245e+02 -2.167818977145845e+02 + -2.168886862079515e+02 -2.169955144082682e+02 -2.171023824148656e+02 -2.172092903208214e+02 -2.173162380450137e+02 + -2.174232255130703e+02 -2.175302528518165e+02 -2.176373201799158e+02 -2.177444273821862e+02 -2.178515743317612e+02 + -2.179587610888773e+02 -2.180659877532527e+02 -2.181732543954297e+02 -2.182805610486399e+02 -2.183879076260487e+02 + -2.184952940541088e+02 -2.186027204324891e+02 -2.187101868605661e+02 -2.188176932633304e+02 -2.189252395535715e+02 + -2.190328257696591e+02 -2.191404519835346e+02 -2.192481182758485e+02 -2.193558246894080e+02 -2.194635711069396e+02 + -2.195713574321837e+02 -2.196791838130171e+02 -2.197870503917547e+02 -2.198949570443306e+02 -2.200029036478261e+02 + -2.201108903502962e+02 -2.202189173008489e+02 -2.203269843818326e+02 -2.204350914576510e+02 -2.205432385876858e+02 + -2.206514258738742e+02 -2.207596533933995e+02 -2.208679211808499e+02 -2.209762291251867e+02 -2.210845771334710e+02 + -2.211929653307878e+02 -2.213013938407175e+02 -2.214098625627986e+02 -2.215183713969045e+02 -2.216269204682873e+02 + -2.217355099024502e+02 -2.218441396005216e+02 -2.219528094497077e+02 -2.220615195058979e+02 -2.221702698646027e+02 + -2.222790606111339e+02 -2.223878917838657e+02 -2.224967632436199e+02 -2.226056748766821e+02 -2.227146268487432e+02 + -2.228236193240230e+02 -2.229326521814535e+02 -2.230417252803019e+02 -2.231508386864637e+02 -2.232599925050409e+02 + -2.233691867913336e+02 -2.234784215614204e+02 -2.235876967242961e+02 -2.236970122086523e+02 -2.238063681290529e+02 + -2.239157646015454e+02 -2.240252015622403e+02 -2.241346789340316e+02 -2.242441967668838e+02 -2.243537551247286e+02 + -2.244633540002964e+02 -2.245729933685804e+02 -2.246826732048266e+02 -2.247923935126906e+02 -2.249021544092157e+02 + -2.250119559889259e+02 -2.251217981428817e+02 -2.252316807628839e+02 -2.253416039471573e+02 -2.254515678046834e+02 + -2.255615722810486e+02 -2.256716173029860e+02 -2.257817028852108e+02 -2.258918290784169e+02 -2.260019959892315e+02 + -2.261122036854213e+02 -2.262224520233766e+02 -2.263327408802082e+02 -2.264430704272837e+02 -2.265534408332552e+02 + -2.266638519616550e+02 -2.267743036660735e+02 -2.268847960654481e+02 -2.269953292962885e+02 -2.271059033000460e+02 + -2.272165179952407e+02 -2.273271734037251e+02 -2.274378695801794e+02 -2.275486066072624e+02 -2.276593845334010e+02 + -2.277702032421150e+02 -2.278810626343348e+02 -2.279919628455381e+02 -2.281029040172474e+02 -2.282138860806176e+02 + -2.283249089376286e+02 -2.284359725839265e+02 -2.285470770593814e+02 -2.286582224870930e+02 -2.287694089544078e+02 + -2.288806363224278e+02 -2.289919044640359e+02 -2.291032135254801e+02 -2.292145636582007e+02 -2.293259547610424e+02 + -2.294373867252146e+02 -2.295488596639802e+02 -2.296603736910369e+02 -2.297719286997702e+02 -2.298835245768747e+02 + -2.299951614025932e+02 -2.301068392919157e+02 -2.302185583052736e+02 -2.303303184582155e+02 -2.304421196413199e+02 + -2.305539617649887e+02 -2.306658449438852e+02 -2.307777692999738e+02 -2.308897347801602e+02 -2.310017413072381e+02 + -2.311137888826106e+02 -2.312258775426401e+02 -2.313380073849178e+02 -2.314501784790464e+02 -2.315623907214496e+02 + -2.316746440227619e+02 -2.317869385236417e+02 -2.318992743527083e+02 -2.320116513604021e+02 -2.321240694060221e+02 + -2.322365286624793e+02 -2.323490293043759e+02 -2.324615711994689e+02 -2.325741541998047e+02 -2.326867784014305e+02 + -2.327994439322068e+02 -2.329121508032486e+02 -2.330248989898164e+02 -2.331376884404961e+02 -2.332505191272475e+02 + -2.333633911421986e+02 -2.334763045743060e+02 -2.335892593796759e+02 -2.337022554911374e+02 -2.338152928812627e+02 + -2.339283715644559e+02 -2.340414916827054e+02 -2.341546533474617e+02 -2.342678564204413e+02 -2.343811007676228e+02 + -2.344943865217682e+02 -2.346077138212040e+02 -2.347210825597340e+02 -2.348344926295532e+02 -2.349479441609453e+02 + -2.350614372851493e+02 -2.351749718991416e+02 -2.352885478850955e+02 -2.354021653002366e+02 -2.355158242429473e+02 + -2.356295248011875e+02 -2.357432670145577e+02 -2.358570507396431e+02 -2.359708758587992e+02 -2.360847425404777e+02 + -2.361986509531367e+02 -2.363126009791645e+02 -2.364265924750662e+02 -2.365406254798825e+02 -2.366547000814751e+02 + -2.367688163804559e+02 -2.368829744348273e+02 -2.369971741194025e+02 -2.371114153287764e+02 -2.372256982198593e+02 + -2.373400229428812e+02 -2.374543893590377e+02 -2.375687973238754e+02 -2.376832469593778e+02 -2.377977384043928e+02 + -2.379122715987879e+02 -2.380268464580362e+02 -2.381414629990116e+02 -2.382561212769444e+02 -2.383708213990897e+02 + -2.384855634334210e+02 -2.386003472387607e+02 -2.387151726904082e+02 -2.388300399387221e+02 -2.389449491374237e+02 + -2.390599001786255e+02 -2.391748929369255e+02 -2.392899274784697e+02 -2.394050039061344e+02 -2.395201222781684e+02 + -2.396352826134916e+02 -2.397504848183333e+02 -2.398657288168898e+02 -2.399810147179146e+02 -2.400963426277219e+02 + -2.402117124583125e+02 -2.403271241258893e+02 -2.404425777577767e+02 -2.405580734795174e+02 -2.406736111984077e+02 + -2.407891907995794e+02 -2.409048122977546e+02 -2.410204757554728e+02 -2.411361812969551e+02 -2.412519290053517e+02 + -2.413677187378485e+02 -2.414835503650167e+02 -2.415994240369316e+02 -2.417153399089511e+02 -2.418312978780588e+02 + -2.419472978191357e+02 -2.420633397770240e+02 -2.421794238369657e+02 -2.422955500758429e+02 -2.424117185344053e+02 + -2.425279291172331e+02 -2.426441817421263e+02 -2.427604765159341e+02 -2.428768135466203e+02 -2.429931927575585e+02 + -2.431096140668555e+02 -2.432260775561414e+02 -2.433425833145866e+02 -2.434591312980004e+02 -2.435757214497087e+02 + -2.436923537964655e+02 -2.438090283895336e+02 -2.439257452947832e+02 -2.440425045463603e+02 -2.441593060369063e+02 + -2.442761496825792e+02 -2.443930356351059e+02 -2.445099640393889e+02 -2.446269347774639e+02 -2.447439477225602e+02 + -2.448610029755453e+02 -2.449781006544274e+02 -2.450952407181387e+02 -2.452124231032676e+02 -2.453296478161015e+02 + -2.454469148921256e+02 -2.455642244139170e+02 -2.456815764363974e+02 -2.457989708567751e+02 -2.459164075868465e+02 + -2.460338867544718e+02 -2.461514084874868e+02 -2.462689726975661e+02 -2.463865792818051e+02 -2.465042282951439e+02 + -2.466219198202147e+02 -2.467396538925739e+02 -2.468574305187124e+02 -2.469752496359336e+02 -2.470931112029433e+02 + -2.472110153332446e+02 -2.473289621270786e+02 -2.474469514768406e+02 -2.475649832814832e+02 -2.476830576740329e+02 + -2.478011747871381e+02 -2.479193345178656e+02 -2.480375367456449e+02 -2.481557815149384e+02 -2.482740689103307e+02 + -2.483923990118631e+02 -2.485107718618152e+02 -2.486291873559622e+02 -2.487476454083695e+02 -2.488661461527674e+02 + -2.489846897184250e+02 -2.491032759971039e+02 -2.492219048675295e+02 -2.493405763937896e+02 -2.494592906781626e+02 + -2.495780477903268e+02 -2.496968477531592e+02 -2.498156904349301e+02 -2.499345757349562e+02 -2.500535038313474e+02 + -2.501724748933778e+02 -2.502914887761886e+02 -2.504105453266259e+02 -2.505296446724864e+02 -2.506487869586733e+02 + -2.507679721175656e+02 -2.508872000588222e+02 -2.510064708137437e+02 -2.511257844438344e+02 -2.512451410097723e+02 + -2.513645405425343e+02 -2.514839829551193e+02 -2.516034681806881e+02 -2.517229963510282e+02 -2.518425675906852e+02 + -2.519621817966139e+02 -2.520818388494823e+02 -2.522015387924022e+02 -2.523212817096907e+02 -2.524410676880414e+02 + -2.525608967718439e+02 -2.526807688338955e+02 -2.528006837687293e+02 -2.529206417294141e+02 -2.530406428681973e+02 + -2.531606870755077e+02 -2.532807742357317e+02 -2.534009044709059e+02 -2.535210779031462e+02 -2.536412944172385e+02 + -2.537615538911017e+02 -2.538818564125164e+02 -2.540022021028112e+02 -2.541225910076441e+02 -2.542430231270507e+02 + -2.543634983542462e+02 -2.544840166121418e+02 -2.546045780492533e+02 -2.547251828099108e+02 -2.548458307960956e+02 + -2.549665218842466e+02 -2.550872560909815e+02 -2.552080334828205e+02 -2.553288541857174e+02 -2.554497182835964e+02 + -2.555706256328296e+02 -2.556915761009198e+02 -2.558125698274442e+02 -2.559336069560756e+02 -2.560546873747970e+02 + -2.561758109689862e+02 -2.562969778692906e+02 -2.564181882127723e+02 -2.565394419168841e+02 -2.566607388759341e+02 + -2.567820791112567e+02 -2.569034626862424e+02 -2.570248897054782e+02 -2.571463602359873e+02 -2.572678741533426e+02 + -2.573894313462550e+02 -2.575110319474426e+02 -2.576326760938784e+02 -2.577543636955484e+02 -2.578760946446893e+02 + -2.579978689895271e+02 -2.581196868133063e+02 -2.582415481833543e+02 -2.583634531275302e+02 -2.584854015317316e+02 + -2.586073933093156e+02 -2.587294286254374e+02 -2.588515076317444e+02 -2.589736301740566e+02 -2.590957960996737e+02 + -2.592180055676404e+02 -2.593402587446819e+02 -2.594625555165019e+02 -2.595848957490105e+02 -2.597072795099639e+02 + -2.598297069067293e+02 -2.599521780032740e+02 -2.600746928207452e+02 -2.601972512524080e+02 -2.603198532148209e+02 + -2.604424988455961e+02 -2.605651882765137e+02 -2.606879213949725e+02 -2.608106980758151e+02 -2.609335183880386e+02 + -2.610563824372016e+02 -2.611792902809524e+02 -2.613022419394243e+02 -2.614252373306019e+02 -2.615482763897488e+02 + -2.616713592233935e+02 -2.617944859260970e+02 -2.619176563732862e+02 -2.620408704583867e+02 -2.621641283659552e+02 + -2.622874302706103e+02 -2.624107760160917e+02 -2.625341654302978e+02 -2.626575986086381e+02 -2.627810756876698e+02 + -2.629045967010318e+02 -2.630281616427657e+02 -2.631517704514422e+02 -2.632754230861743e+02 -2.633991196437133e+02 + -2.635228602105341e+02 -2.636466446943674e+02 -2.637704729984163e+02 -2.638943451865159e+02 -2.640182613561179e+02 + -2.641422215785110e+02 -2.642662258795402e+02 -2.643902741294400e+02 -2.645143662245587e+02 -2.646385023213122e+02 + -2.647626825745115e+02 -2.648869068724856e+02 -2.650111750962730e+02 -2.651354873642347e+02 -2.652598438005879e+02 + -2.653842443156531e+02 -2.655086888035231e+02 -2.656331773072787e+02 -2.657577099091213e+02 -2.658822866987512e+02 + -2.660069077230897e+02 -2.661315728504449e+02 -2.662562819710931e+02 -2.663810352417937e+02 -2.665058328192844e+02 + -2.666306745937331e+02 -2.667555604333347e+02 -2.668804903849584e+02 -2.670054645383429e+02 -2.671304829760297e+02 + -2.672555457413816e+02 -2.673806527282453e+02 -2.675058038464400e+02 -2.676309992191929e+02 -2.677562389652032e+02 + -2.678815229716541e+02 -2.680068511277727e+02 -2.681322235624782e+02 -2.682576404136338e+02 -2.683831016151858e+02 + -2.685086070756685e+02 -2.686341568058856e+02 -2.687597508516357e+02 -2.688853892964312e+02 -2.690110721950252e+02 + -2.691367994494158e+02 -2.692625709807897e+02 -2.693883869398372e+02 -2.695142474621058e+02 -2.696401523930688e+02 + -2.697661015819900e+02 -2.698920951833660e+02 -2.700181333642693e+02 -2.701442160368443e+02 -2.702703430840482e+02 + -2.703965145270174e+02 -2.705227304331903e+02 -2.706489909170355e+02 -2.707752960482972e+02 -2.709016456707917e+02 + -2.710280396495872e+02 -2.711544781606855e+02 -2.712809613853167e+02 -2.714074892146895e+02 -2.715340615102555e+02 + -2.716606783044584e+02 -2.717873396730564e+02 -2.719140456940721e+02 -2.720407964136753e+02 -2.721675917483545e+02 + -2.722944316245073e+02 -2.724213161378437e+02 -2.725482453844213e+02 -2.726752192923742e+02 -2.728022377909456e+02 + -2.729293009817382e+02 -2.730564089616648e+02 -2.731835616365174e+02 -2.733107589046467e+02 -2.734380008257563e+02 + -2.735652874983575e+02 -2.736926190148396e+02 -2.738199954194386e+02 -2.739474165698984e+02 -2.740748823405867e+02 + -2.742023928588563e+02 -2.743299482670098e+02 -2.744575485141638e+02 -2.745851935229188e+02 -2.747128833029967e+02 + -2.748406178969678e+02 -2.749683973916734e+02 -2.750962218440648e+02 -2.752240911472609e+02 -2.753520052060601e+02 + -2.754799641358123e+02 -2.756079680559450e+02 -2.757360168916492e+02 -2.758641105650285e+02 -2.759922491800748e+02 + -2.761204328366440e+02 -2.762486614361617e+02 -2.763769348745897e+02 -2.765052532244616e+02 -2.766336165883748e+02 + -2.767620250126050e+02 -2.768904785041199e+02 -2.770189769689730e+02 -2.771475203398639e+02 -2.772761087569904e+02 + -2.774047423518460e+02 -2.775334210136085e+02 -2.776621446145333e+02 -2.777909132015001e+02 -2.779197268642361e+02 + -2.780485856892346e+02 -2.781774897218528e+02 -2.783064388461343e+02 -2.784354329669438e+02 -2.785644722337429e+02 + -2.786935567875348e+02 -2.788226864908934e+02 -2.789518612068105e+02 -2.790810810783757e+02 -2.792103462555617e+02 + -2.793396566357773e+02 -2.794690121008859e+02 -2.795984127231330e+02 -2.797278586088501e+02 -2.798573498103315e+02 + -2.799868863353985e+02 -2.801164680680156e+02 -2.802460949220819e+02 -2.803757670550874e+02 -2.805054846206144e+02 + -2.806352475130235e+02 -2.807650555997772e+02 -2.808949088999684e+02 -2.810248074853591e+02 -2.811547514867556e+02 + -2.812847409903677e+02 -2.814147758449749e+02 -2.815448559108459e+02 -2.816749813316353e+02 -2.818051522586102e+02 + -2.819353685901064e+02 -2.820656302199222e+02 -2.821959372766401e+02 -2.823262898869716e+02 -2.824566879353637e+02 + -2.825871312931868e+02 -2.827176200217700e+02 -2.828481542276227e+02 -2.829787340080183e+02 -2.831093594072626e+02 + -2.832400302670260e+02 -2.833707464559445e+02 -2.835015081531469e+02 -2.836323155420096e+02 -2.837631685124079e+02 + -2.838940669226656e+02 -2.840250107984012e+02 -2.841560002155769e+02 -2.842870352842360e+02 -2.844181160721325e+02 + -2.845492424437817e+02 -2.846804142799303e+02 -2.848116317294889e+02 -2.849428949404899e+02 -2.850742037892878e+02 + -2.852055581519247e+02 -2.853369581748677e+02 -2.854684040068092e+02 -2.855998955349205e+02 -2.857314326251873e+02 + -2.858630153203723e+02 -2.859946437114748e+02 -2.861263179056654e+02 -2.862580379663874e+02 -2.863898037660037e+02 + -2.865216151879669e+02 -2.866534723511688e+02 -2.867853753832939e+02 -2.869173242117615e+02 -2.870493187426322e+02 + -2.871813589967982e+02 -2.873134450373917e+02 -2.874455769816758e+02 -2.875777549027032e+02 -2.877099786425546e+02 + -2.878422480619707e+02 -2.879745633273037e+02 -2.881069246090204e+02 -2.882393317884377e+02 -2.883717847366556e+02 + -2.885042835730584e+02 -2.886368284288774e+02 -2.887694192344474e+02 -2.889020558953364e+02 -2.890347384189399e+02 + -2.891674668528066e+02 -2.893002413032724e+02 -2.894330618447220e+02 -2.895659283649483e+02 -2.896988407604515e+02 + -2.898317991491523e+02 -2.899648036558058e+02 -2.900978542110840e+02 -2.902309507220182e+02 -2.903640931951591e+02 + -2.904972816775983e+02 -2.906305162790740e+02 -2.907637970750559e+02 -2.908971239412933e+02 -2.910304967707643e+02 + -2.911639157250792e+02 -2.912973809535366e+02 -2.914308922875549e+02 -2.915644495654761e+02 -2.916980529712119e+02 + -2.918317026983915e+02 -2.919653986339440e+02 -2.920991406314096e+02 -2.922329287174719e+02 -2.923667629702973e+02 + -2.925006435008390e+02 -2.926345703772706e+02 -2.927685434638595e+02 -2.929025626397000e+02 -2.930366280470975e+02 + -2.931707398343328e+02 -2.933048979103752e+02 -2.934391021578708e+02 -2.935733525934834e+02 -2.937076492857184e+02 + -2.938419923764308e+02 -2.939763819565550e+02 -2.941108178399977e+02 -2.942452998623305e+02 -2.943798282228154e+02 + -2.945144031200941e+02 -2.946490243866398e+02 -2.947836918481424e+02 -2.949184056693277e+02 -2.950531660302706e+02 + -2.951879728334102e+02 -2.953228259514730e+02 -2.954577254159683e+02 -2.955926713017622e+02 -2.957276636983648e+02 + -2.958627026572042e+02 -2.959977880627373e+02 -2.961329198152110e+02 -2.962680980450039e+02 -2.964033228802077e+02 + -2.965385942096344e+02 -2.966739119278574e+02 -2.968092761917713e+02 -2.969446871501122e+02 -2.970801446566606e+02 + -2.972156485544735e+02 -2.973511989386669e+02 -2.974867959450954e+02 -2.976224396205114e+02 -2.977581299655766e+02 + -2.978938668856917e+02 -2.980296503111913e+02 -2.981654803674056e+02 -2.983013571739824e+02 -2.984372806328453e+02 + -2.985732506311156e+02 -2.987092672144286e+02 -2.988453304703744e+02 -2.989814404958496e+02 -2.991175973412398e+02 + -2.992538008615809e+02 -2.993900509369414e+02 -2.995263477428711e+02 -2.996626914493826e+02 -2.997990819088619e+02 + -2.999355189707111e+02 -3.000720027900217e+02 -3.002085335269560e+02 -3.003451110562723e+02 -3.004817352353309e+02 + -3.006184061373012e+02 -3.007551238767678e+02 -3.008918885181671e+02 -3.010287000846923e+02 -3.011655584847104e+02 + -3.013024636430795e+02 -3.014394156654455e+02 -3.015764146559894e+02 -3.017134605322491e+02 -3.018505532010304e+02 + -3.019876927128527e+02 -3.021248791518991e+02 -3.022621125932933e+02 -3.023993930706231e+02 -3.025367204603900e+02 + -3.026740946641424e+02 -3.028115158406990e+02 -3.029489841386069e+02 -3.030864994080570e+02 -3.032240615026816e+02 + -3.033616705882347e+02 -3.034993268395738e+02 -3.036370301558538e+02 -3.037747804087723e+02 -3.039125776359002e+02 + -3.040504219146317e+02 -3.041883133157825e+02 -3.043262518737324e+02 -3.044642374836954e+02 -3.046022700638564e+02 + -3.047403497634464e+02 -3.048784767248004e+02 -3.050166508316213e+02 -3.051548719471290e+02 -3.052931401112401e+02 + -3.054314554166776e+02 -3.055698179906950e+02 -3.057082279030724e+02 -3.058466849591645e+02 -3.059851889955948e+02 + -3.061237402384871e+02 -3.062623389075358e+02 -3.064009848072192e+02 -3.065396777363650e+02 -3.066784178864098e+02 + -3.068172054654241e+02 -3.069560403554044e+02 -3.070949224023651e+02 -3.072338516344630e+02 -3.073728281334552e+02 + -3.075118520133569e+02 -3.076509233435525e+02 -3.077900419826468e+02 -3.079292078053290e+02 -3.080684209614084e+02 + -3.082076816048298e+02 -3.083469896309615e+02 -3.084863449149456e+02 -3.086257475095906e+02 -3.087651975081579e+02 + -3.089046949880547e+02 -3.090442399817611e+02 -3.091838323579038e+02 -3.093234720151574e+02 -3.094631591362355e+02 + -3.096028938900603e+02 -3.097426761063483e+02 -3.098825056148365e+02 -3.100223825845469e+02 -3.101623071983122e+02 + -3.103022793549238e+02 -3.104422989228102e+02 -3.105823659329897e+02 -3.107224804626276e+02 -3.108626426108901e+02 + -3.110028524323948e+02 -3.111431097815640e+02 -3.112834145351391e+02 -3.114237668593314e+02 -3.115641669247677e+02 + -3.117046146302696e+02 -3.118451098470761e+02 -3.119856526079039e+02 -3.121262429897644e+02 -3.122668810853719e+02 + -3.124075669478935e+02 -3.125483004566077e+02 -3.126890815070839e+02 -3.128299102339429e+02 -3.129707867704560e+02 + -3.131117110054437e+02 -3.132526828292356e+02 -3.133937023826453e+02 -3.135347698019019e+02 -3.136758849544115e+02 + -3.138170476993112e+02 -3.139582581314797e+02 -3.140995163841689e+02 -3.142408225083815e+02 -3.143821765079714e+02 + -3.145235782804463e+02 -3.146650277504123e+02 -3.148065250572144e+02 -3.149480703283944e+02 -3.150896634295446e+02 + -3.152313042212708e+02 -3.153729928061792e+02 -3.155147293192109e+02 -3.156565137826469e+02 -3.157983461803634e+02 + -3.159402264552761e+02 -3.160821545730877e+02 -3.162241306316100e+02 -3.163661547129774e+02 -3.165082267045055e+02 + -3.166503465083330e+02 -3.167925142807053e+02 -3.169347301718565e+02 -3.170769940538677e+02 -3.172193057829434e+02 + -3.173616654299331e+02 -3.175040731106142e+02 -3.176465289058318e+02 -3.177890328440690e+02 -3.179315847792938e+02 + -3.180741845934695e+02 -3.182168324550577e+02 -3.183595285351408e+02 -3.185022727287870e+02 -3.186450649049847e+02 + -3.187879051044167e+02 -3.189307934072479e+02 -3.190737298798787e+02 -3.192167145562098e+02 -3.193597473539087e+02 + -3.195028282067584e+02 -3.196459572292360e+02 -3.197891345287240e+02 -3.199323600035334e+02 -3.200756335516368e+02 + -3.202189552787263e+02 -3.203623252990410e+02 -3.205057435532916e+02 -3.206492099607363e+02 -3.207927245283494e+02 + -3.209362873029775e+02 -3.210798984032395e+02 -3.212235579095965e+02 -3.213672656781062e+02 -3.215110215776564e+02 + -3.216548257528610e+02 -3.217986783602123e+02 -3.219425793279964e+02 -3.220865285490494e+02 -3.222305260026159e+02 + -3.223745717228416e+02 -3.225186658770672e+02 -3.226628085862362e+02 -3.228069996525048e+02 -3.229512388959131e+02 + -3.230955265268207e+02 -3.232398627556209e+02 -3.233842474025269e+02 -3.235286802821290e+02 -3.236731615767077e+02 + -3.238176914785998e+02 -3.239622698526831e+02 -3.241068965416273e+02 -3.242515716267282e+02 -3.243962952303619e+02 + -3.245410674006047e+02 -3.246858881442026e+02 -3.248307573768830e+02 -3.249756750377737e+02 -3.251206412506237e+02 + -3.252656561247559e+02 -3.254107195271718e+02 -3.255558313340717e+02 -3.257009917007768e+02 -3.258462007853361e+02 + -3.259914584775946e+02 -3.261367646471811e+02 -3.262821193510638e+02 -3.264275226864755e+02 -3.265729747243638e+02 + -3.267184754961565e+02 -3.268640249014856e+02 -3.270096228564299e+02 -3.271552694746495e+02 -3.273009648690628e+02 + -3.274467089520415e+02 -3.275925016223748e+02 -3.277383429250694e+02 -3.278842329472037e+02 -3.280301717979274e+02 + -3.281761595333842e+02 -3.283221959756238e+02 -3.284682809773962e+02 -3.286144147483458e+02 -3.287605974914733e+02 + -3.289068290263132e+02 -3.290531091681708e+02 -3.291994380988984e+02 -3.293458160115122e+02 -3.294922427771376e+02 + -3.296387182388717e+02 -3.297852424495862e+02 -3.299318155124273e+02 -3.300784375218649e+02 -3.302251085265343e+02 + -3.303718284004092e+02 -3.305185970357408e+02 -3.306654145725511e+02 -3.308122811494171e+02 -3.309591966513669e+02 + -3.311061609508276e+02 -3.312531741233722e+02 -3.314002362831168e+02 -3.315473474952068e+02 -3.316945077733321e+02 + -3.318417169743284e+02 -3.319889749946440e+02 -3.321362820460264e+02 -3.322836383216903e+02 -3.324310436254205e+02 + -3.325784977579187e+02 -3.327260008969810e+02 -3.328735532388732e+02 -3.330211546766479e+02 -3.331688050699581e+02 + -3.333165044480712e+02 -3.334642528918999e+02 -3.336120505193238e+02 -3.337598974031960e+02 -3.339077933992973e+02 + -3.340557383761620e+02 -3.342037324704123e+02 -3.343517758263186e+02 -3.344998683506588e+02 -3.346480099317598e+02 + -3.347962006216366e+02 -3.349444405123485e+02 -3.350927296924430e+02 -3.352410681997821e+02 -3.353894558729969e+02 + -3.355378925848257e+02 -3.356863785436656e+02 -3.358349139484366e+02 -3.359834986244929e+02 -3.361321323883865e+02 + -3.362808153950241e+02 -3.364295478191028e+02 -3.365783295761255e+02 -3.367271605486342e+02 -3.368760407465185e+02 + -3.370249702279324e+02 -3.371739491167402e+02 -3.373229774932894e+02 -3.374720551981496e+02 -3.376211820935624e+02 + -3.377703583682330e+02 -3.379195842066430e+02 -3.380688594499171e+02 -3.382181839217990e+02 -3.383675577198622e+02 + -3.385169809890102e+02 -3.386664537896355e+02 -3.388159761271593e+02 -3.389655478716282e+02 -3.391151689236262e+02 + -3.392648394412631e+02 -3.394145595795439e+02 -3.395643292235305e+02 -3.397141482525620e+02 -3.398640167930273e+02 + -3.400139349724158e+02 -3.401639026755699e+02 -3.403139197760493e+02 -3.404639863449279e+02 -3.406141024957107e+02 + -3.407642683141136e+02 -3.409144838324194e+02 -3.410647488969659e+02 -3.412150633828331e+02 -3.413654274660125e+02 + -3.415158413252182e+02 -3.416663048491409e+02 -3.418168178992377e+02 -3.419673805180489e+02 -3.421179927901010e+02 + -3.422686547867838e+02 -3.424193665441726e+02 -3.425701279702224e+02 -3.427209389917095e+02 -3.428717997388184e+02 + -3.430227103286458e+02 -3.431736706225328e+02 -3.433246804902436e+02 -3.434757400909901e+02 -3.436268495884827e+02 + -3.437780088749811e+02 -3.439292178162220e+02 -3.440804764432992e+02 -3.442317848369893e+02 -3.443831431114438e+02 + -3.445345513395477e+02 -3.446860093957458e+02 -3.448375171638715e+02 -3.449890747637513e+02 -3.451406823209921e+02 + -3.452923397483303e+02 -3.454440469383874e+02 -3.455958039161959e+02 -3.457476107544265e+02 -3.458994675838882e+02 + -3.460513744837874e+02 -3.462033312687789e+02 -3.463553377809081e+02 -3.465073942363314e+02 -3.466595008454457e+02 + -3.468116574214998e+02 -3.469638637732855e+02 -3.471161200889126e+02 -3.472684265676839e+02 -3.474207830743587e+02 + -3.475731894457752e+02 -3.477256457416318e+02 -3.478781520698926e+02 -3.480307085087305e+02 -3.481833150905516e+02 + -3.483359716944890e+02 -3.484886782275422e+02 -3.486414348614480e+02 -3.487942417546251e+02 -3.489470987474849e+02 + -3.491000056682386e+02 -3.492529626143035e+02 -3.494059697303613e+02 -3.495590270809477e+02 -3.497121346735108e+02 + -3.498652923672977e+02 -3.500185000578142e+02 -3.501717579338015e+02 -3.503250661735650e+02 -3.504784246204307e+02 + -3.506318331106053e+02 -3.507852917867942e+02 -3.509388008057230e+02 -3.510923600737020e+02 -3.512459694729739e+02 + -3.513996290399252e+02 -3.515533388531561e+02 -3.517070990059733e+02 -3.518609095547224e+02 -3.520147703931951e+02 + -3.521686814254426e+02 -3.523226427591028e+02 -3.524766545004363e+02 -3.526307165466042e+02 -3.527848288024159e+02 + -3.529389914123712e+02 -3.530932045168612e+02 -3.532474680001527e+02 -3.534017817301934e+02 -3.535561457657783e+02 + -3.537105602073667e+02 -3.538650251312291e+02 -3.540195405716707e+02 -3.541741064193253e+02 -3.543287225825957e+02 + -3.544833891846346e+02 -3.546381063473606e+02 -3.547928739730113e+02 -3.549476919508821e+02 -3.551025603381796e+02 + -3.552574792297605e+02 -3.554124487031720e+02 -3.555674687945711e+02 -3.557225393918643e+02 -3.558776604020463e+02 + -3.560328319567154e+02 -3.561880541805177e+02 -3.563433269456882e+02 -3.564986501330765e+02 -3.566540239103983e+02 + -3.568094484429710e+02 -3.569649235996524e+02 -3.571204492251743e+02 -3.572760253642205e+02 -3.574316521198430e+02 + -3.575873296286128e+02 -3.577430579645793e+02 -3.578988369181832e+02 -3.580546663122107e+02 -3.582105463824335e+02 + -3.583664773634632e+02 -3.585224590722860e+02 -3.586784912980774e+02 -3.588345741363943e+02 -3.589907077420278e+02 + -3.591468922003262e+02 -3.593031275347307e+02 -3.594594135904955e+02 -3.596157502414973e+02 -3.597721376542854e+02 + -3.599285759961583e+02 -3.600850651447366e+02 -3.602416049709182e+02 -3.603981956083848e+02 -3.605548371920680e+02 + -3.607115295991184e+02 -3.608682726958015e+02 -3.610250665626241e+02 -3.611819113190277e+02 -3.613388070259530e+02 + -3.614957536972620e+02 -3.616527512170044e+02 -3.618097994957786e+02 -3.619668986801910e+02 -3.621240489112448e+02 + -3.622812500715253e+02 -3.624385020268735e+02 -3.625958048345691e+02 -3.627531585959862e+02 -3.629105633974360e+02 + -3.630680192762735e+02 -3.632255260890885e+02 -3.633830837209757e+02 -3.635406923518125e+02 -3.636983521500620e+02 + -3.638560629437486e+02 -3.640138245654421e+02 -3.641716372063300e+02 -3.643295010634408e+02 -3.644874159985495e+02 + -3.646453818454157e+02 -3.648033986609884e+02 -3.649614665547653e+02 -3.651195856232492e+02 -3.652777559169987e+02 + -3.654359773157880e+02 -3.655942497193339e+02 -3.657525732779061e+02 -3.659109481367831e+02 -3.660693741707290e+02 + -3.662278512419212e+02 -3.663863794327037e+02 -3.665449588644519e+02 -3.667035895945005e+02 -3.668622716357800e+02 + -3.670210048876434e+02 -3.671797892763418e+02 -3.673386249492966e+02 -3.674975120447079e+02 -3.676564504427247e+02 + -3.678154400208724e+02 -3.679744809042344e+02 -3.681335732252156e+02 -3.682927168979475e+02 -3.684519118222935e+02 + -3.686111580593141e+02 -3.687704557033292e+02 -3.689298048205014e+02 -3.690892054329191e+02 -3.692486574145354e+02 + -3.694081606700869e+02 -3.695677153755793e+02 -3.697273216946131e+02 -3.698869794698993e+02 -3.700466885253786e+02 + -3.702064489307988e+02 -3.703662608017668e+02 -3.705261241915196e+02 -3.706860391012269e+02 -3.708460053861607e+02 + -3.710060229388483e+02 -3.711660919467376e+02 -3.713262125796104e+02 -3.714863846416646e+02 -3.716466079328989e+02 + -3.718068826020972e+02 -3.719672088201144e+02 -3.721275864973102e+02 -3.722880155098476e+02 -3.724484958575989e+02 + -3.726090275883345e+02 -3.727696108177087e+02 -3.729302456171431e+02 -3.730909318132427e+02 -3.732516692484294e+02 + -3.734124580732086e+02 -3.735732984485285e+02 -3.737341902690280e+02 -3.738951333966488e+02 -3.740561278288502e+02 + -3.742171736164895e+02 -3.743782708884933e+02 -3.745394197314636e+02 -3.747006199846337e+02 -3.748618715145197e+02 + -3.750231745441332e+02 -3.751845292967938e+02 -3.753459356405600e+02 -3.755073934398666e+02 -3.756689028999150e+02 + -3.758304642401999e+02 -3.759920773966298e+02 -3.761537422764503e+02 -3.763154589558405e+02 -3.764772275566993e+02 + -3.766390482148706e+02 -3.768009210261144e+02 -3.769628459119104e+02 -3.771248228066682e+02 -3.772868518707951e+02 + -3.774489332703654e+02 -3.776110669681248e+02 -3.777732529036114e+02 -3.779354911268638e+02 -3.780977817328078e+02 + -3.782601248854201e+02 -3.784225207068740e+02 -3.785849690830777e+02 -3.787474699201715e+02 -3.789100234414875e+02 + -3.790726298611719e+02 -3.792352890394379e+02 -3.793980008403989e+02 -3.795607654977005e+02 -3.797235832511840e+02 + -3.798864539959452e+02 -3.800493775732837e+02 -3.802123539540593e+02 -3.803753831256555e+02 -3.805384650119894e+02 + -3.807015994897982e+02 -3.808647863105625e+02 -3.810280252452890e+02 -3.811913162683451e+02 -3.813546593533040e+02 + -3.815180542672069e+02 -3.816815007606327e+02 -3.818449987248433e+02 -3.820085480876401e+02 -3.821721487823003e+02 + -3.823358007029311e+02 -3.824995035814819e+02 -3.826632571794644e+02 -3.828270615387958e+02 -3.829909166775790e+02 + -3.831548222382581e+02 -3.833187778788636e+02 -3.834827836954302e+02 -3.836468397830658e+02 -3.838109457951704e+02 + -3.839751013606573e+02 -3.841393064522010e+02 -3.843035610985582e+02 -3.844678652090594e+02 -3.846322186342679e+02 + -3.847966211091070e+02 -3.849610723938522e+02 -3.851255724658270e+02 -3.852901213276589e+02 -3.854547188661456e+02 + -3.856193651039130e+02 -3.857840607227301e+02 -3.859488064858506e+02 -3.861136028233281e+02 -3.862784501283425e+02 + -3.864433489797775e+02 -3.866083000045549e+02 -3.867733038360474e+02 -3.869383610689728e+02 -3.871034721369783e+02 + -3.872686374886131e+02 -3.874338577931016e+02 -3.875991337168530e+02 -3.877644656943423e+02 -3.879298541437876e+02 + -3.880952996503134e+02 -3.882608028487801e+02 -3.884263644060860e+02 -3.885919849359946e+02 -3.887576648076931e+02 + -3.889234044110585e+02 -3.890892044633024e+02 -3.892550656828005e+02 -3.894209884652491e+02 -3.895869732058733e+02 + -3.897530206206903e+02 -3.899191314265681e+02 -3.900853060229904e+02 -3.902515447813749e+02 -3.904178482782592e+02 + -3.905842171832736e+02 -3.907506523333024e+02 -3.909171542011455e+02 -3.910837216360146e+02 -3.912503530200719e+02 + -3.914170464908692e+02 -3.915838000867597e+02 -3.917506116939103e+02 -3.919174791997058e+02 -3.920844006485843e+02 + -3.922513741233318e+02 -3.924183977030698e+02 -3.925854694180132e+02 -3.927525871064144e+02 -3.929197486330507e+02 + -3.930869521607613e+02 -3.932541958513385e+02 -3.934214775643266e+02 -3.935887951493436e+02 -3.937561467185514e+02 + -3.939235303999417e+02 -3.940909441222876e+02 -3.942583857858931e+02 -3.944258533764072e+02 -3.945933449213566e+02 + -3.947608585304349e+02 -3.949283922804248e+02 -3.950959440342958e+02 -3.952635116636291e+02 -3.954310932882606e+02 + -3.955986870327357e+02 -3.957662907921835e+02 -3.959339024467546e+02 -3.961015200461023e+02 -3.962691416638499e+02 + 1.070000000000000e-01 1.069682658750319e-01 1.069365186252596e-01 1.069047582677665e-01 1.068729848196356e-01 + 1.068411982979503e-01 1.068093987197937e-01 1.067775861022493e-01 1.067457604624000e-01 1.067139218173294e-01 + 1.066820701841205e-01 1.066502055798566e-01 1.066183280216209e-01 1.065864375264968e-01 1.065545341115673e-01 + 1.065226177939159e-01 1.064906885906257e-01 1.064587465187799e-01 1.064267915954618e-01 1.063948238377547e-01 + 1.063628432627417e-01 1.063308498875062e-01 1.062988437291314e-01 1.062668248047005e-01 1.062347931312967e-01 + 1.062027487260033e-01 1.061706916059036e-01 1.061386217880807e-01 1.061065392896180e-01 1.060744441275985e-01 + 1.060423363191058e-01 1.060102158812228e-01 1.059780828310330e-01 1.059459371856195e-01 1.059137789620655e-01 + 1.058816081774544e-01 1.058494248488693e-01 1.058172289933936e-01 1.057850206281103e-01 1.057527997701029e-01 + 1.057205664364545e-01 1.056883206442483e-01 1.056560624105677e-01 1.056237917524958e-01 1.055915086871159e-01 + 1.055592132315112e-01 1.055269054027650e-01 1.054945852179606e-01 1.054622526941811e-01 1.054299078485097e-01 + 1.053975506980299e-01 1.053651812598247e-01 1.053327995509774e-01 1.053004055885713e-01 1.052679993896897e-01 + 1.052355809714157e-01 1.052031503508325e-01 1.051707075450236e-01 1.051382525710719e-01 1.051057854460610e-01 + 1.050733061870738e-01 1.050408148111938e-01 1.050083113355042e-01 1.049757957770881e-01 1.049432681530288e-01 + 1.049107284804097e-01 1.048781767763138e-01 1.048456130578245e-01 1.048130373420250e-01 1.047804496459986e-01 + 1.047478499868284e-01 1.047152383815977e-01 1.046826148473898e-01 1.046499794012880e-01 1.046173320603753e-01 + 1.045846728417352e-01 1.045520017624508e-01 1.045193188396054e-01 1.044866240902822e-01 1.044539175315645e-01 + 1.044211991805354e-01 1.043884690542783e-01 1.043557271698764e-01 1.043229735444130e-01 1.042902081949712e-01 + 1.042574311386343e-01 1.042246423924855e-01 1.041918419736082e-01 1.041590298990855e-01 1.041262061860007e-01 + 1.040933708514369e-01 1.040605239124776e-01 1.040276653862059e-01 1.039947952897050e-01 1.039619136400582e-01 + 1.039290204543487e-01 1.038961157496599e-01 1.038631995430748e-01 1.038302718516768e-01 1.037973326925491e-01 + 1.037643820827749e-01 1.037314200394375e-01 1.036984465796201e-01 1.036654617204061e-01 1.036324654788785e-01 + 1.035994578721206e-01 1.035664389172158e-01 1.035334086312472e-01 1.035003670312980e-01 1.034673141344516e-01 + 1.034342499577912e-01 1.034011745183999e-01 1.033680878333612e-01 1.033349899197580e-01 1.033018807946739e-01 + 1.032687604751918e-01 1.032356289783953e-01 1.032024863213673e-01 1.031693325211913e-01 1.031361675949504e-01 + 1.031029915597278e-01 1.030698044326069e-01 1.030366062306709e-01 1.030033969710030e-01 1.029701766706864e-01 + 1.029369453468044e-01 1.029037030164402e-01 1.028704496966771e-01 1.028371854045984e-01 1.028039101572872e-01 + 1.027706239718267e-01 1.027373268653004e-01 1.027040188547913e-01 1.026706999573827e-01 1.026373701901580e-01 + 1.026040295702002e-01 1.025706781145926e-01 1.025373158404186e-01 1.025039427647613e-01 1.024705589047040e-01 + 1.024371642773299e-01 1.024037588997223e-01 1.023703427889643e-01 1.023369159621393e-01 1.023034784363305e-01 + 1.022700302286212e-01 1.022365713560945e-01 1.022031018358337e-01 1.021696216849221e-01 1.021361309204428e-01 + 1.021026295594792e-01 1.020691176191145e-01 1.020355951164319e-01 1.020020620685147e-01 1.019685184924461e-01 + 1.019349644053093e-01 1.019013998241876e-01 1.018678247661643e-01 1.018342392483225e-01 1.018006432877456e-01 + 1.017670369015167e-01 1.017334201067191e-01 1.016997929204361e-01 1.016661553597508e-01 1.016325074417466e-01 + 1.015988491835066e-01 1.015651806021141e-01 1.015315017146524e-01 1.014978125382047e-01 1.014641130898543e-01 + 1.014304033866843e-01 1.013966834457780e-01 1.013629532842187e-01 1.013292129190896e-01 1.012954623674739e-01 + 1.012617016464549e-01 1.012279307731159e-01 1.011941497645400e-01 1.011603586378106e-01 1.011265574100107e-01 + 1.010927460982239e-01 1.010589247195331e-01 1.010250932910217e-01 1.009912518297729e-01 1.009574003528701e-01 + 1.009235388773963e-01 1.008896674204348e-01 1.008557859990690e-01 1.008218946303820e-01 1.007879933314571e-01 + 1.007540821193774e-01 1.007201610112264e-01 1.006862300240872e-01 1.006522891750429e-01 1.006183384811770e-01 + 1.005843779595726e-01 1.005504076273130e-01 1.005164275014813e-01 1.004824375991610e-01 1.004484379374351e-01 + 1.004144285333870e-01 1.003804094040999e-01 1.003463805666569e-01 1.003123420381414e-01 1.002782938356367e-01 + 1.002442359762259e-01 1.002101684769922e-01 1.001760913550190e-01 1.001420046273895e-01 1.001079083111869e-01 + 1.000738024234945e-01 1.000396869813954e-01 1.000055620019730e-01 9.997142750231042e-02 9.993728349949102e-02 + 9.990313001059796e-02 9.986896705271456e-02 9.983479464292398e-02 9.980061279830947e-02 9.976642153595434e-02 + 9.973222087294174e-02 9.969801082635499e-02 9.966379141327726e-02 9.962956265079187e-02 9.959532455598200e-02 + 9.956107714593093e-02 9.952682043772192e-02 9.949255444843813e-02 9.945827919516288e-02 9.942399469497937e-02 + 9.938970096497086e-02 9.935539802222057e-02 9.932108588381178e-02 9.928676456682770e-02 9.925243408835159e-02 + 9.921809446546671e-02 9.918374571525623e-02 9.914938785480347e-02 9.911502090119163e-02 9.908064487150398e-02 + 9.904625978282372e-02 9.901186565223413e-02 9.897746249681845e-02 9.894305033365988e-02 9.890862917984172e-02 + 9.887419905244718e-02 9.883975996855951e-02 9.880531194526194e-02 9.877085499963774e-02 9.873638914877009e-02 + 9.870191440974231e-02 9.866743079963761e-02 9.863293833553920e-02 9.859843703453038e-02 9.856392691369432e-02 + 9.852940799011436e-02 9.849488028087365e-02 9.846034380305550e-02 9.842579857374308e-02 9.839124461001970e-02 + 9.835668192896858e-02 9.832211054767293e-02 9.828753048321603e-02 9.825294175268109e-02 9.821834437315143e-02 + 9.818373836171017e-02 9.814912373544066e-02 9.811450051142606e-02 9.807986870674969e-02 9.804522833849474e-02 + 9.801057942374444e-02 9.797592197958208e-02 9.794125602309085e-02 9.790658157135405e-02 9.787189864145487e-02 + 9.783720725047659e-02 9.780250741550246e-02 9.776779915361565e-02 9.773308248189948e-02 9.769835741743713e-02 + 9.766362397731190e-02 9.762888217860698e-02 9.759413203840565e-02 9.755937357379113e-02 9.752460680184671e-02 + 9.748983173965557e-02 9.745504840430097e-02 9.742025681286617e-02 9.738545698243438e-02 9.735064893008888e-02 + 9.731583267291286e-02 9.728100822798963e-02 9.724617561240236e-02 9.721133484323437e-02 9.717648593756885e-02 + 9.714162891248904e-02 9.710676378507821e-02 9.707189057241956e-02 9.703700929159639e-02 9.700211995969188e-02 + 9.696722259378933e-02 9.693231721097194e-02 9.689740382832296e-02 9.686248246292567e-02 9.682755313186324e-02 + 9.679261585221899e-02 9.675767064107609e-02 9.672271751551782e-02 9.668775649262741e-02 9.665278758948814e-02 + 9.661781082318323e-02 9.658282621079586e-02 9.654783376940938e-02 9.651283351610694e-02 9.647782546797186e-02 + 9.644280964208730e-02 9.640778605553657e-02 9.637275472540287e-02 9.633771566876947e-02 9.630266890271960e-02 + 9.626761444433649e-02 9.623255231070338e-02 9.619748251890356e-02 9.616240508602021e-02 9.612732002913663e-02 + 9.609222736533599e-02 9.605712711170160e-02 9.602201928531666e-02 9.598690390326445e-02 9.595178098262819e-02 + 9.591665054049109e-02 9.588151259393644e-02 9.584636716004745e-02 9.581121425590743e-02 9.577605389859950e-02 + 9.574088610520702e-02 9.570571089281314e-02 9.567052827850117e-02 9.563533827935435e-02 9.560014091245586e-02 + 9.556493619488900e-02 9.552972414373699e-02 9.549450477608308e-02 9.545927810901049e-02 9.542404415960248e-02 + 9.538880294494230e-02 9.535355448211316e-02 9.531829878819836e-02 9.528303588028109e-02 9.524776577544461e-02 + 9.521248849077216e-02 9.517720404334697e-02 9.514191245025229e-02 9.510661372857139e-02 9.507130789538748e-02 + 9.503599496778380e-02 9.500067496284360e-02 9.496534789765015e-02 9.493001378928664e-02 9.489467265483635e-02 + 9.485932451138250e-02 9.482396937600834e-02 9.478860726579713e-02 9.475323819783207e-02 9.471786218919645e-02 + 9.468247925697347e-02 9.464708941824643e-02 9.461169269009850e-02 9.457628908961296e-02 9.454087863387305e-02 + 9.450546133996199e-02 9.447003722496307e-02 9.443460630595948e-02 9.439916860003450e-02 9.436372412427137e-02 + 9.432827289575330e-02 9.429281493156354e-02 9.425735024878537e-02 9.422187886450198e-02 9.418640079579664e-02 + 9.415091605975259e-02 9.411542467345307e-02 9.407992665398136e-02 9.404442201842063e-02 9.400891078385415e-02 + 9.397339296736518e-02 9.393786858603695e-02 9.390233765695270e-02 9.386680019719568e-02 9.383125622384911e-02 + 9.379570575399625e-02 9.376014880472036e-02 9.372458539310466e-02 9.368901553623238e-02 9.365343925118678e-02 + 9.361785655505112e-02 9.358226746490858e-02 9.354667199784246e-02 9.351107017093598e-02 9.347546200127239e-02 + 9.343984750593494e-02 9.340422670200685e-02 9.336859960657137e-02 9.333296623671174e-02 9.329732660951121e-02 + 9.326168074205300e-02 9.322602865142039e-02 9.319037035469660e-02 9.315470586896488e-02 9.311903521130845e-02 + 9.308335839881057e-02 9.304767544855448e-02 9.301198637762342e-02 9.297629120310064e-02 9.294058994206936e-02 + 9.290488261161287e-02 9.286916922881436e-02 9.283344981075708e-02 9.279772437452428e-02 9.276199293719922e-02 + 9.272625551586512e-02 9.269051212760523e-02 9.265476278950278e-02 9.261900751864104e-02 9.258324633210324e-02 + 9.254747924697261e-02 9.251170628033240e-02 9.247592744926583e-02 9.244014277085617e-02 9.240435226218666e-02 + 9.236855594034055e-02 9.233275382240104e-02 9.229694592545142e-02 9.226113226657491e-02 9.222531286285476e-02 + 9.218948773137420e-02 9.215365688921646e-02 9.211782035346482e-02 9.208197814120249e-02 9.204613026951274e-02 + 9.201027675547878e-02 9.197441761618388e-02 9.193855286871126e-02 9.190268253014419e-02 9.186680661756588e-02 + 9.183092514805957e-02 9.179503813870854e-02 9.175914560659600e-02 9.172324756880521e-02 9.168734404241941e-02 + 9.165143504452181e-02 9.161552059219569e-02 9.157960070252427e-02 9.154367539259080e-02 9.150774467947854e-02 + 9.147180858027071e-02 9.143586711205055e-02 9.139992029190132e-02 9.136396813690625e-02 9.132801066414858e-02 + 9.129204789071155e-02 9.125607983367841e-02 9.122010651013239e-02 9.118412793715676e-02 9.114814413183472e-02 + 9.111215511124955e-02 9.107616089248448e-02 9.104016149262276e-02 9.100415692874760e-02 9.096814721794225e-02 + 9.093213237728998e-02 9.089611242387401e-02 9.086008737477760e-02 9.082405724708396e-02 9.078802205787638e-02 + 9.075198182423806e-02 9.071593656325225e-02 9.067988629200220e-02 9.064383102757116e-02 9.060777078704237e-02 + 9.057170558749904e-02 9.053563544602444e-02 9.049956037970180e-02 9.046348040561442e-02 9.042739554084545e-02 + 9.039130580247817e-02 9.035521120759583e-02 9.031911177328168e-02 9.028300751661894e-02 9.024689845469086e-02 + 9.021078460458068e-02 9.017466598337168e-02 9.013854260814702e-02 9.010241449599002e-02 9.006628166398388e-02 + 9.003014412921184e-02 8.999400190875718e-02 8.995785501970310e-02 8.992170347913286e-02 8.988554730412972e-02 + 8.984938651177689e-02 8.981322111915761e-02 8.977705114335516e-02 8.974087660145275e-02 8.970469751053363e-02 + 8.966851388768103e-02 8.963232574997822e-02 8.959613311450842e-02 8.955993599835491e-02 8.952373441860086e-02 + 8.948752839232957e-02 8.945131793662427e-02 8.941510306856817e-02 8.937888380524456e-02 8.934266016373665e-02 + 8.930643216112769e-02 8.927019981450095e-02 8.923396314093963e-02 8.919772215752698e-02 8.916147688134625e-02 + 8.912522732948071e-02 8.908897351901354e-02 8.905271546702803e-02 8.901645319060740e-02 8.898018670683491e-02 + 8.894391603279379e-02 8.890764118556729e-02 8.887136218223864e-02 8.883507903989107e-02 8.879879177560786e-02 + 8.876250040647221e-02 8.872620494956741e-02 8.868990542197666e-02 8.865360184078323e-02 8.861729422307035e-02 + 8.858098258592126e-02 8.854466694641919e-02 8.850834732164740e-02 8.847202372868912e-02 8.843569618462761e-02 + 8.839936470654611e-02 8.836302931152785e-02 8.832669001665606e-02 8.829034683901400e-02 8.825399979568492e-02 + 8.821764890375206e-02 8.818129418029862e-02 8.814493564240788e-02 8.810857330716310e-02 8.807220719164749e-02 + 8.803583731294432e-02 8.799946368813677e-02 8.796308633430815e-02 8.792670526854167e-02 8.789032050792057e-02 + 8.785393206952812e-02 8.781753997044753e-02 8.778114422776205e-02 8.774474485855495e-02 8.770834187990943e-02 + 8.767193530890875e-02 8.763552516263615e-02 8.759911145817488e-02 8.756269421260816e-02 8.752627344301928e-02 + 8.748984916649143e-02 8.745342140010788e-02 8.741699016095185e-02 8.738055546610660e-02 8.734411733265539e-02 + 8.730767577768141e-02 8.727123081826793e-02 8.723478247149821e-02 8.719833075445547e-02 8.716187568422298e-02 + 8.712541727788393e-02 8.708895555252159e-02 8.705249052521923e-02 8.701602221306004e-02 8.697955063312730e-02 + 8.694307580250422e-02 8.690659773827408e-02 8.687011645752010e-02 8.683363197732555e-02 8.679714431477362e-02 + 8.676065348694757e-02 8.672415951093065e-02 8.668766240380611e-02 8.665116218265721e-02 8.661465886456714e-02 + 8.657815246661917e-02 8.654164300589655e-02 8.650513049948251e-02 8.646861496446030e-02 8.643209641791315e-02 + 8.639557487692430e-02 8.635905035857701e-02 8.632252287995451e-02 8.628599245814005e-02 8.624945911021686e-02 + 8.621292285326819e-02 8.617638370437727e-02 8.613984168062737e-02 8.610329679910171e-02 8.606674907688353e-02 + 8.603019853105608e-02 8.599364517870259e-02 8.595708903690633e-02 8.592053012275053e-02 8.588396845331842e-02 + 8.584740404569323e-02 8.581083691695822e-02 8.577426708419665e-02 8.573769456449173e-02 8.570111937492672e-02 + 8.566454153258486e-02 8.562796105454940e-02 8.559137795790356e-02 8.555479225973059e-02 8.551820397711374e-02 + 8.548161312713624e-02 8.544501972688134e-02 8.540842379343229e-02 8.537182534387232e-02 8.533522439528468e-02 + 8.529862096475260e-02 8.526201506935933e-02 8.522540672618811e-02 8.518879595232219e-02 8.515218276484479e-02 + 8.511556718083918e-02 8.507894921738858e-02 8.504232889157626e-02 8.500570622048544e-02 8.496908122119934e-02 + 8.493245391080124e-02 8.489582430637438e-02 8.485919242500198e-02 8.482255828376728e-02 8.478592189975355e-02 + 8.474928329004400e-02 8.471264247172190e-02 8.467599946187047e-02 8.463935427757298e-02 8.460270693591267e-02 + 8.456605745397273e-02 8.452940584883646e-02 8.449275213758706e-02 8.445609633730780e-02 8.441943846508193e-02 + 8.438277853799266e-02 8.434611657312326e-02 8.430945258755695e-02 8.427278659837699e-02 8.423611862266661e-02 + 8.419944867750905e-02 8.416277677998756e-02 8.412610294718537e-02 8.408942719618576e-02 8.405274954407191e-02 + 8.401607000792713e-02 8.397938860483460e-02 8.394270535187759e-02 8.390602026613936e-02 8.386933336470312e-02 + 8.383264466465212e-02 8.379595418306962e-02 8.375926193703884e-02 8.372256794364304e-02 8.368587221996546e-02 + 8.364917478308932e-02 8.361247565009787e-02 8.357577483807437e-02 8.353907236410206e-02 8.350236824526415e-02 + 8.346566249864391e-02 8.342895514132459e-02 8.339224619038943e-02 8.335553566292164e-02 8.331882357600448e-02 + 8.328210994672121e-02 8.324539479215504e-02 8.320867812938924e-02 8.317195997550704e-02 8.313524034759166e-02 + 8.309851926272641e-02 8.306179673799445e-02 8.302507279047908e-02 8.298834743726349e-02 8.295162069543097e-02 + 8.291489258206473e-02 8.287816311424805e-02 8.284143230906414e-02 8.280470018359624e-02 8.276796675492762e-02 + 8.273123204014149e-02 8.269449605632111e-02 8.265775882054972e-02 8.262102034991055e-02 8.258428066148686e-02 + 8.254753977236187e-02 8.251079769961885e-02 8.247405446034105e-02 8.243731007161166e-02 8.240056455051395e-02 + 8.236381791413117e-02 8.232707017954656e-02 8.229032136384334e-02 8.225357148410478e-02 8.221682055741411e-02 + 8.218006860085458e-02 8.214331563150944e-02 8.210656166646188e-02 8.206980672279519e-02 8.203305081759260e-02 + 8.199629396793737e-02 8.195953619091272e-02 8.192277750360188e-02 8.188601792308813e-02 8.184925746645468e-02 + 8.181249615078479e-02 8.177573399316168e-02 8.173897101066861e-02 8.170220722038883e-02 8.166544263940556e-02 + 8.162867728480205e-02 8.159191117366156e-02 8.155514432306732e-02 8.151837675010254e-02 8.148160847185050e-02 + 8.144483950539445e-02 8.140806986781760e-02 8.137129957620320e-02 8.133452864763450e-02 8.129775709919475e-02 + 8.126098494796720e-02 8.122421221103504e-02 8.118743890548155e-02 8.115066504838998e-02 8.111389065684355e-02 + 8.107711574792552e-02 8.104034033871912e-02 8.100356444630759e-02 8.096678808777417e-02 8.093001128020215e-02 + 8.089323404067471e-02 8.085645638627510e-02 8.081967833408658e-02 8.078289990119239e-02 8.074612110467576e-02 + 8.070934196161997e-02 8.067256248910820e-02 8.063578270422375e-02 8.059900262404983e-02 8.056222226566968e-02 + 8.052544164616657e-02 8.048866078262369e-02 8.045187969212433e-02 8.041509839175172e-02 8.037831689858911e-02 + 8.034153522971973e-02 8.030475340222681e-02 8.026797143319361e-02 8.023118933970336e-02 8.019440713883932e-02 + 8.015762484768471e-02 8.012084248332278e-02 8.008406006283678e-02 8.004727760330994e-02 8.001049512182555e-02 + 7.997371263546676e-02 7.993693016131688e-02 7.990014771645915e-02 7.986336531797676e-02 7.982658298295300e-02 + 7.978980072847111e-02 7.975301857161432e-02 7.971623652946590e-02 7.967945461910902e-02 7.964267285762699e-02 + 7.960589126210302e-02 7.956910984962039e-02 7.953232863726228e-02 7.949554764211197e-02 7.945876688125271e-02 + 7.942198637176773e-02 7.938520613074028e-02 7.934842617525358e-02 7.931164652239087e-02 7.927486718923542e-02 + 7.923808819287045e-02 7.920130955037924e-02 7.916453127884499e-02 7.912775339535094e-02 7.909097591698037e-02 + 7.905419886081648e-02 7.901742224394255e-02 7.898064608344180e-02 7.894387039639746e-02 7.890709519989279e-02 + 7.887032051101103e-02 7.883354634683543e-02 7.879677272444922e-02 7.875999966093565e-02 7.872322717337794e-02 + 7.868645527885937e-02 7.864968399446313e-02 7.861291333727252e-02 7.857614332437074e-02 7.853937397284104e-02 + 7.850260529976670e-02 7.846583732223091e-02 7.842907005731693e-02 7.839230352210801e-02 7.835553773368738e-02 + 7.831877270913830e-02 7.828200846554398e-02 7.824524501998768e-02 7.820848238955266e-02 7.817172059132216e-02 + 7.813495964237939e-02 7.809819955980761e-02 7.806144036069006e-02 7.802468206210998e-02 7.798792468115062e-02 + 7.795116823489523e-02 7.791441274042703e-02 7.787765821482928e-02 7.784090467518520e-02 7.780415213857807e-02 + 7.776740062209107e-02 7.773065014280750e-02 7.769390071781057e-02 7.765715236418354e-02 7.762040509900967e-02 + 7.758365893937215e-02 7.754691390235426e-02 7.751017000503922e-02 7.747342726451029e-02 7.743668569785070e-02 + 7.739994532214370e-02 7.736320615447252e-02 7.732646821192042e-02 7.728973151157063e-02 7.725299607050642e-02 + 7.721626190581099e-02 7.717952903456758e-02 7.714279747385946e-02 7.710606724076986e-02 7.706933835238206e-02 + 7.703261082577922e-02 7.699588467804465e-02 7.695915992626157e-02 7.692243658751323e-02 7.688571467888285e-02 + 7.684899421745368e-02 7.681227522030898e-02 7.677555770453198e-02 7.673884168720593e-02 7.670212718541405e-02 + 7.666541421623961e-02 7.662870279676583e-02 7.659199294407595e-02 7.655528467525324e-02 7.651857800738091e-02 + 7.648187295754222e-02 7.644516954282041e-02 7.640846778029871e-02 7.637176768706039e-02 7.633506928018867e-02 + 7.629837257676678e-02 7.626167759387799e-02 7.622498434860552e-02 7.618829285803264e-02 7.615160313924255e-02 + 7.611491520931853e-02 7.607822908534380e-02 7.604154478440163e-02 7.600486232357523e-02 7.596818171994783e-02 + 7.593150299060271e-02 7.589482615262309e-02 7.585815122309225e-02 7.582147821909338e-02 7.578480715770973e-02 + 7.574813805602458e-02 7.571147093112113e-02 7.567480580008265e-02 7.563814267999236e-02 7.560148158793352e-02 + 7.556482254098935e-02 7.552816555624312e-02 7.549151065077807e-02 7.545485784167741e-02 7.541820714602442e-02 + 7.538155858090231e-02 7.534491216339434e-02 7.530826791058375e-02 7.527162583955378e-02 7.523498596738766e-02 + 7.519834831116866e-02 7.516171288797999e-02 7.512507971490495e-02 7.508844880902671e-02 7.505182018742854e-02 + 7.501519386719367e-02 7.497856986540538e-02 7.494194819914687e-02 7.490532888550142e-02 7.486871194155223e-02 + 7.483209738438257e-02 7.479548523107570e-02 7.475887549871482e-02 7.472226820438319e-02 7.468566336516404e-02 + 7.464906099814063e-02 7.461246112039621e-02 7.457586374901400e-02 7.453926890107723e-02 7.450267659366919e-02 + 7.446608684387307e-02 7.442949966877216e-02 7.439291508544965e-02 7.435633311098883e-02 7.431975376247291e-02 + 7.428317705698513e-02 7.424660301160878e-02 7.421003164342704e-02 7.417346296952319e-02 7.413689700698045e-02 + 7.410033377288210e-02 7.406377328431132e-02 7.402721555835140e-02 7.399066061208556e-02 7.395410846259706e-02 + 7.391755912696915e-02 7.388101262228504e-02 7.384446896562798e-02 7.380792817408122e-02 7.377139026472800e-02 + 7.373485525465158e-02 7.369832316093516e-02 7.366179400066203e-02 7.362526779091538e-02 7.358874454877849e-02 + 7.355222429133459e-02 7.351570703566694e-02 7.347919279885876e-02 7.344268159799329e-02 7.340617345015378e-02 + 7.336966837242348e-02 7.333316638188561e-02 7.329666749562345e-02 7.326017173072021e-02 7.322367910425913e-02 + 7.318718963332346e-02 7.315070333499644e-02 7.311422022636133e-02 7.307774032450136e-02 7.304126364649975e-02 + 7.300479020943977e-02 7.296832003040465e-02 7.293185312647765e-02 7.289538951474199e-02 7.285892921228092e-02 + 7.282247223617767e-02 7.278601860351550e-02 7.274956833137766e-02 7.271312143684736e-02 7.267667793700786e-02 + 7.264023784894239e-02 7.260380118973422e-02 7.256736797646657e-02 7.253093822622268e-02 7.249451195608582e-02 + 7.245808918313920e-02 7.242166992446607e-02 7.238525419714967e-02 7.234884201827325e-02 7.231243340492007e-02 + 7.227602837417331e-02 7.223962694311627e-02 7.220322912883217e-02 7.216683494840427e-02 7.213044441891579e-02 + 7.209405755744998e-02 7.205767438109009e-02 7.202129490691934e-02 7.198491915202099e-02 7.194854713347830e-02 + 7.191217886837446e-02 7.187581437379276e-02 7.183945366681642e-02 7.180309676452867e-02 7.176674368401278e-02 + 7.173039444235199e-02 7.169404905662952e-02 7.165770754392863e-02 7.162136992133256e-02 7.158503620592453e-02 + 7.154870641478780e-02 7.151238056500563e-02 7.147605867366123e-02 7.143974075783785e-02 7.140342683461876e-02 + 7.136711692108716e-02 7.133081103432631e-02 7.129450919141947e-02 7.125821140944985e-02 7.122191770550071e-02 + 7.118562809665530e-02 7.114934259999683e-02 7.111306123260858e-02 7.107678401157377e-02 7.104051095397565e-02 + 7.100424207689746e-02 7.096797739742244e-02 7.093171693263382e-02 7.089546069961486e-02 7.085920871544882e-02 + 7.082296099721888e-02 7.078671756200834e-02 7.075047842690044e-02 7.071424360897838e-02 7.067801312532543e-02 + 7.064178699302483e-02 7.060556522915983e-02 7.056934785081363e-02 7.053313487506954e-02 7.049692631901075e-02 + 7.046072219972052e-02 7.042452253428211e-02 7.038832733977872e-02 7.035213663329361e-02 7.031595043191004e-02 + 7.027976875271123e-02 7.024359161278042e-02 7.020741902920087e-02 7.017125101905583e-02 7.013508759942851e-02 + 7.009892878740216e-02 7.006277460006004e-02 7.002662505448538e-02 6.999048016776144e-02 6.995433995697144e-02 + 6.991820443919861e-02 6.988207363152622e-02 6.984594755103750e-02 6.980982621481568e-02 6.977370963994402e-02 + 6.973759784350578e-02 6.970149084258416e-02 6.966538865426242e-02 6.962929129562380e-02 6.959319878375156e-02 + 6.955711113572893e-02 6.952102836863913e-02 6.948495049956542e-02 6.944887754559105e-02 6.941280952379927e-02 + 6.937674645127329e-02 6.934068834509637e-02 6.930463522235174e-02 6.926858710012268e-02 6.923254399549238e-02 + 6.919650592554411e-02 6.916047290736112e-02 6.912444495802665e-02 6.908842209462392e-02 6.905240433423616e-02 + 6.901639169394666e-02 6.898038419083864e-02 6.894438184199533e-02 6.890838466449999e-02 6.887239267543585e-02 + 6.883640589188617e-02 6.880042433093415e-02 6.876444800966307e-02 6.872847694515619e-02 6.869251115449670e-02 + 6.865655065476786e-02 6.862059546305292e-02 6.858464559643512e-02 6.854870107199770e-02 6.851276190682393e-02 + 6.847682811799699e-02 6.844089972260017e-02 6.840497673771671e-02 6.836905918042983e-02 6.833314706782279e-02 + 6.829724041697882e-02 6.826133924498116e-02 6.822544356891308e-02 6.818955340585779e-02 6.815366877289854e-02 + 6.811778968711857e-02 6.808191616560114e-02 6.804604822542948e-02 6.801018588368681e-02 6.797432915745642e-02 + 6.793847806382150e-02 6.790263261986533e-02 6.786679284267115e-02 6.783095874932217e-02 6.779513035690166e-02 + 6.775930768249286e-02 6.772349074317900e-02 6.768767955604332e-02 6.765187413816909e-02 6.761607450663952e-02 + 6.758028067853786e-02 6.754449267094738e-02 6.750871050095128e-02 6.747293418563281e-02 6.743716374207524e-02 + 6.740139918736179e-02 6.736564053857570e-02 6.732988781280023e-02 6.729414102711860e-02 6.725840019861405e-02 + 6.722266534436987e-02 6.718693648146923e-02 6.715121362699542e-02 6.711549679803168e-02 6.707978601166123e-02 + 6.704408128496732e-02 6.700838263503321e-02 6.697269007894212e-02 6.693700363377729e-02 6.690132331662198e-02 + 6.686564914455943e-02 6.682998113467287e-02 6.679431930404556e-02 6.675866366976070e-02 6.672301424890158e-02 + 6.668737105855144e-02 6.665173411579348e-02 6.661610343771096e-02 6.658047904138716e-02 6.654486094390526e-02 + 6.650924916234854e-02 6.647364371380024e-02 6.643804461534360e-02 6.640245188406185e-02 6.636686553703826e-02 + 6.633128559135604e-02 6.629571206409844e-02 6.626014497234871e-02 6.622458433319009e-02 6.618903016370581e-02 + 6.615348248097914e-02 6.611794130209329e-02 6.608240664413152e-02 6.604687852417708e-02 6.601135695931318e-02 + 6.597584196662311e-02 6.594033356319007e-02 6.590483176609731e-02 6.586933659242808e-02 6.583384805926563e-02 + 6.579836618369318e-02 6.576289098279399e-02 6.572742247365128e-02 6.569196067334833e-02 6.565650559896835e-02 + 6.562105726759460e-02 6.558561569631030e-02 6.555018090219872e-02 6.551475290234308e-02 6.547933171382664e-02 + 6.544391735373260e-02 6.540850983914427e-02 6.537310918714484e-02 6.533771541481756e-02 6.530232853924568e-02 + 6.526694857751246e-02 6.523157554670111e-02 6.519620946389489e-02 6.516085034617702e-02 6.512549821063078e-02 + 6.509015307433939e-02 6.505481495438609e-02 6.501948386785412e-02 6.498415983182672e-02 6.494884286338716e-02 + 6.491353297961865e-02 6.487823019760443e-02 6.484293453442776e-02 6.480764600717190e-02 6.477236463292005e-02 + 6.473709042875546e-02 6.470182341176141e-02 6.466656359902111e-02 6.463131100761778e-02 6.459606565463470e-02 + 6.456082755715510e-02 6.452559673226224e-02 6.449037319703932e-02 6.445515696856961e-02 6.441994806393636e-02 + 6.438474650022280e-02 6.434955229451217e-02 6.431436546388770e-02 6.427918602543267e-02 6.424401399623028e-02 + 6.420884939336380e-02 6.417369223391646e-02 6.413854253497149e-02 6.410340031361215e-02 6.406826558692170e-02 + 6.403313837198334e-02 6.399801868588033e-02 6.396290654569593e-02 6.392780196851335e-02 6.389270497141585e-02 + 6.385761557148667e-02 6.382253378580906e-02 6.378745963146625e-02 6.375239312554147e-02 6.371733428511799e-02 + 6.368228312727903e-02 6.364723966910786e-02 6.361220392768768e-02 6.357717592010177e-02 6.354215566343337e-02 + 6.350714317476568e-02 6.347213847118198e-02 6.343714156976551e-02 6.340215248759951e-02 6.336717124176720e-02 + 6.333219784935186e-02 6.329723232743668e-02 6.326227469310496e-02 6.322732496343991e-02 6.319238315552476e-02 + 6.315744928644278e-02 6.312252337327721e-02 6.308760543311126e-02 6.305269548302821e-02 6.301779354011129e-02 + 6.298289962144372e-02 6.294801374410877e-02 6.291313592518968e-02 6.287826618176968e-02 6.284340453093201e-02 + 6.280855098975993e-02 6.277370557533665e-02 6.273886830474544e-02 6.270403919506955e-02 6.266921826339220e-02 + 6.263440552679662e-02 6.259960100236607e-02 6.256480470718381e-02 6.253001665833306e-02 6.249523687289707e-02 + 6.246046536795907e-02 6.242570216060229e-02 6.239094726791002e-02 6.235620070696547e-02 6.232146249485187e-02 + 6.228673264865250e-02 6.225201118545055e-02 6.221729812232930e-02 6.218259347637199e-02 6.214789726466187e-02 + 6.211320950428215e-02 6.207853021231610e-02 6.204385940584693e-02 6.200919710195792e-02 6.197454331773228e-02 + 6.193989807025328e-02 6.190526137660414e-02 6.187063325386812e-02 6.183601371912845e-02 6.180140278946837e-02 + 6.176680048197113e-02 6.173220681371997e-02 6.169762180179813e-02 6.166304546328885e-02 6.162847781527538e-02 + 6.159391887484095e-02 6.155936865906880e-02 6.152482718504219e-02 6.149029446984435e-02 6.145577053055853e-02 + 6.142125538426796e-02 6.138674904805590e-02 6.135225153900557e-02 6.131776287420022e-02 6.128328307072310e-02 + 6.124881214565744e-02 6.121435011608650e-02 6.117989699909349e-02 6.114545281176169e-02 6.111101757117431e-02 + 6.107659129441460e-02 6.104217399856583e-02 6.100776570071121e-02 6.097336641793399e-02 6.093897616731742e-02 + 6.090459496594473e-02 6.087022283089916e-02 6.083585977926396e-02 6.080150582812238e-02 6.076716099455765e-02 + 6.073282529565302e-02 6.069849874849172e-02 6.066418137015700e-02 6.062987317773211e-02 6.059557418830027e-02 + 6.056128441894475e-02 6.052700388674876e-02 6.049273260879557e-02 6.045847060216841e-02 6.042421788395052e-02 + 6.038997447122514e-02 6.035574038107552e-02 6.032151563058490e-02 6.028730023683652e-02 6.025309421691362e-02 + 6.021889758789946e-02 6.018471036687725e-02 6.015053257093025e-02 6.011636421714171e-02 6.008220532259485e-02 + 6.004805590437293e-02 6.001391597955918e-02 5.997978556523686e-02 5.994566467848918e-02 5.991155333639943e-02 + 5.987745155605081e-02 5.984335935452657e-02 5.980927674890997e-02 5.977520375628423e-02 5.974114039373261e-02 + 5.970708667833834e-02 5.967304262718466e-02 5.963900825735483e-02 5.960498358593206e-02 5.957096862999962e-02 + 5.953696340664075e-02 5.950296793293869e-02 5.946898222597666e-02 5.943500630283793e-02 5.940104018060574e-02 + 5.936708387636331e-02 5.933313740719390e-02 5.929920079018074e-02 5.926527404240709e-02 5.923135718095618e-02 + 5.919745022291125e-02 5.916355318535554e-02 5.912966608537230e-02 5.909578894004478e-02 5.906192176645620e-02 + 5.902806458168981e-02 5.899421740282887e-02 5.896038024695659e-02 5.892655313115624e-02 5.889273607251104e-02 + 5.885892908810425e-02 5.882513219501910e-02 5.879134541033884e-02 5.875756875114671e-02 5.872380223452595e-02 + 5.869004587755981e-02 5.865629969733151e-02 5.862256371092430e-02 5.858883793542144e-02 5.855512238790617e-02 + 5.852141708546170e-02 5.848772204517131e-02 5.845403728411822e-02 5.842036281938568e-02 5.838669866805692e-02 + 5.835304484721521e-02 5.831940137394376e-02 5.828576826532585e-02 5.825214553844467e-02 5.821853321038349e-02 + 5.818493129822556e-02 5.815133981905412e-02 5.811775878995240e-02 5.808418822800365e-02 5.805062815029110e-02 + 5.801707857389801e-02 5.798353951590760e-02 5.795001099340315e-02 5.791649302346786e-02 5.788298562318499e-02 + 5.784948880963779e-02 5.781600259990949e-02 5.778252701108333e-02 5.774906206024256e-02 5.771560776447041e-02 + 5.768216414085015e-02 5.764873120646499e-02 5.761530897839819e-02 5.758189747373298e-02 5.754849670955262e-02 + 5.751510670294033e-02 5.748172747097936e-02 5.744835903075296e-02 5.741500139934437e-02 5.738165459383683e-02 + 5.734831863131357e-02 5.731499352885785e-02 5.728167930355290e-02 5.724837597248197e-02 5.721508355272830e-02 + 5.718180206137512e-02 5.714853151550570e-02 5.711527193220325e-02 5.708202332855103e-02 5.704878572163228e-02 + 5.701555912853024e-02 5.698234356632816e-02 5.694913905210926e-02 5.691594560295680e-02 5.688276323595402e-02 + 5.684959196818416e-02 5.681643181673045e-02 5.678328279867616e-02 5.675014493110452e-02 5.671701823109875e-02 + 5.668390271574211e-02 5.665079840211785e-02 5.661770530730920e-02 5.658462344839940e-02 5.655155284247171e-02 + 5.651849350660935e-02 5.648544545789557e-02 5.645240871341362e-02 5.641938329024674e-02 5.638636920547815e-02 + 5.635336647619112e-02 5.632037511946889e-02 5.628739515239468e-02 5.625442659205174e-02 5.622146945552333e-02 + 5.618852375989267e-02 5.615558952224302e-02 5.612266675965761e-02 5.608975548921968e-02 5.605685572801247e-02 + 5.602396749311925e-02 5.599109080162322e-02 5.595822567060765e-02 5.592537211715578e-02 5.589253015835084e-02 + 5.585969981127608e-02 5.582688109301474e-02 5.579407402065006e-02 5.576127861126528e-02 5.572849488194366e-02 + 5.569572284976842e-02 5.566296253182280e-02 5.563021394519008e-02 5.559747710695345e-02 5.556475203419618e-02 + 5.553203874400151e-02 5.549933725345269e-02 5.546664757963294e-02 5.543396973962551e-02 5.540130375051366e-02 + 5.536864962938060e-02 5.533600739330961e-02 5.530337705938389e-02 5.527075864468672e-02 5.523815216630132e-02 + 5.520555764131094e-02 5.517297508679882e-02 5.514040451984819e-02 5.510784595754230e-02 5.507529941696442e-02 + 5.504276491519774e-02 5.501024246932555e-02 5.497773209643106e-02 5.494523381359754e-02 5.491274763790820e-02 + 5.488027358644629e-02 5.484781167629507e-02 5.481536192453777e-02 5.478292434825763e-02 5.475049896453790e-02 + 5.471808579046181e-02 5.468568484311261e-02 5.465329613957354e-02 5.462091969692785e-02 5.458855553225877e-02 + 5.455620366264955e-02 5.452386410518342e-02 5.449153687694363e-02 5.445922199501343e-02 5.442691947647604e-02 + 5.439462933841474e-02 5.436235159791274e-02 5.433008627205328e-02 5.429783337791962e-02 5.426559293259499e-02 + 5.423336495316264e-02 5.420114945670580e-02 5.416894646030773e-02 5.413675598105167e-02 5.410457803602083e-02 + 5.407241264229849e-02 5.404025981696787e-02 5.400811957711223e-02 5.397599193981480e-02 5.394387692215881e-02 + 5.391177454122753e-02 5.387968481410418e-02 5.384760775787202e-02 5.381554338961427e-02 5.378349172641418e-02 + 5.375145278535501e-02 5.371942658351998e-02 5.368741313799234e-02 5.365541246585533e-02 5.362342458419220e-02 + 5.359144951008617e-02 5.355948726062051e-02 5.352753785287844e-02 5.349560130394321e-02 5.346367763089808e-02 + 5.343176685082626e-02 5.339986898081100e-02 5.336798403793557e-02 5.333611203928318e-02 5.330425300193709e-02 + 5.327240694298052e-02 5.324057387949673e-02 5.320875382856897e-02 5.317694680728046e-02 5.314515283271445e-02 + 5.311337192195419e-02 5.308160409208292e-02 5.304984936018387e-02 5.301810774334029e-02 5.298637925860694e-02 + 5.295466392210174e-02 5.292296174881576e-02 5.289127275367324e-02 5.285959695159842e-02 5.282793435751552e-02 + 5.279628498634878e-02 5.276464885302243e-02 5.273302597246069e-02 5.270141635958780e-02 5.266982002932800e-02 + 5.263823699660550e-02 5.260666727634453e-02 5.257511088346935e-02 5.254356783290417e-02 5.251203813957321e-02 + 5.248052181840073e-02 5.244901888431094e-02 5.241752935222807e-02 5.238605323707637e-02 5.235459055378005e-02 + 5.232314131726334e-02 5.229170554245050e-02 5.226028324426572e-02 5.222887443763326e-02 5.219747913747734e-02 + 5.216609735872220e-02 5.213472911629205e-02 5.210337442511115e-02 5.207203330010370e-02 5.204070575619395e-02 + 5.200939180830615e-02 5.197809147136448e-02 5.194680476029321e-02 5.191553169001656e-02 5.188427227545876e-02 + 5.185302653154403e-02 5.182179447319664e-02 5.179057611534077e-02 5.175937147290068e-02 5.172818056080060e-02 + 5.169700339396475e-02 5.166583998731737e-02 5.163469035578269e-02 5.160355451428494e-02 5.157243247774834e-02 + 5.154132426109714e-02 5.151022987925555e-02 5.147914934714782e-02 5.144808267969817e-02 5.141702989183084e-02 + 5.138599099847005e-02 5.135496601454004e-02 5.132395495496503e-02 5.129295783466926e-02 5.126197466857695e-02 + 5.123100547161235e-02 5.120005025869967e-02 5.116910904476317e-02 5.113818184472704e-02 5.110726867351554e-02 + 5.107636954605289e-02 5.104548447726333e-02 5.101461348207109e-02 5.098375657540039e-02 5.095291377217546e-02 + 5.092208508732055e-02 5.089127053575987e-02 5.086047013241765e-02 5.082968389221815e-02 5.079891183008556e-02 + 5.076815396094415e-02 5.073741029971812e-02 5.070668086133172e-02 5.067596566070917e-02 5.064526471277472e-02 + 5.061457803245257e-02 5.058390563466697e-02 5.055324753434216e-02 5.052260374640234e-02 5.049197428577178e-02 + 5.046135916737467e-02 5.043075840613528e-02 5.040017201697781e-02 5.036960001482652e-02 5.033904241460560e-02 + 5.030849923123931e-02 5.027797047965189e-02 5.024745617476754e-02 5.021695633151052e-02 5.018647096480505e-02 + 5.015600008957535e-02 5.012554372074565e-02 5.009510187324022e-02 5.006467456198324e-02 5.003426180189897e-02 + 5.000386360791163e-02 4.997347999494546e-02 4.994311097792468e-02 4.991275657177353e-02 4.988241679141623e-02 + 4.985209165177702e-02 4.982178116778014e-02 4.979148535434980e-02 4.976120422641023e-02 4.973093779888569e-02 + 4.970068608670038e-02 4.967044910477855e-02 4.964022686804442e-02 4.961001939142222e-02 4.957982668983620e-02 + 4.954964877821057e-02 4.951948567146956e-02 4.948933738453741e-02 4.945920393233836e-02 4.942908532979662e-02 + 4.939898159183643e-02 4.936889273338203e-02 4.933881876935763e-02 4.930875971468749e-02 4.927871558429582e-02 + 4.924868639310685e-02 4.921867215604481e-02 4.918867288803395e-02 4.915868860399848e-02 4.912871931886263e-02 + 4.909876504755066e-02 4.906882580498677e-02 4.903890160609520e-02 4.900899246580018e-02 4.897909839902595e-02 + 4.894921942069672e-02 4.891935554573676e-02 4.888950678907025e-02 4.885967316562146e-02 4.882985469031461e-02 + 4.880005137807392e-02 4.877026324382362e-02 4.874049030248797e-02 4.871073256899117e-02 4.868099005825745e-02 + 4.865126278521108e-02 4.862155076477624e-02 4.859185401187720e-02 4.856217254143816e-02 4.853250636838338e-02 + 4.850285550763707e-02 4.847321997412347e-02 4.844359978276680e-02 4.841399494849130e-02 4.838440548622121e-02 + 4.835483141088075e-02 4.832527273739414e-02 4.829572948068564e-02 4.826620165567946e-02 4.823668927729983e-02 + 4.820719236047098e-02 4.817771092011715e-02 4.814824497116257e-02 4.811879452853147e-02 4.808935960714807e-02 + 4.805994022193662e-02 4.803053638782134e-02 4.800114811972645e-02 4.797177543257621e-02 4.794241834129482e-02 + 4.791307686080653e-02 4.788375100603556e-02 4.785444079190614e-02 4.782514623334252e-02 4.779586734526891e-02 + 4.776660414260955e-02 4.773735664028868e-02 4.770812485323050e-02 4.767890879635927e-02 4.764970848459921e-02 + 4.762052393287456e-02 4.759135515610954e-02 4.756220216922838e-02 4.753306498715533e-02 4.750394362481459e-02 + 4.747483809713041e-02 4.744574841902701e-02 4.741667460542864e-02 4.738761667125952e-02 4.735857463144388e-02 + 4.732954850090595e-02 4.730053829456995e-02 4.727154402736015e-02 4.724256571420073e-02 4.721360337001596e-02 + 4.718465700973005e-02 4.715572664826723e-02 4.712681230055175e-02 4.709791398150782e-02 4.706903170605968e-02 + 4.704016548913156e-02 4.701131534564769e-02 4.698248129053231e-02 4.695366333870963e-02 4.692486150510391e-02 + 4.689607580463934e-02 4.686730625224018e-02 4.683855286283068e-02 4.680981565133503e-02 4.678109463267748e-02 + 4.675238982178226e-02 4.672370123357359e-02 4.669502888297572e-02 4.666637278491287e-02 4.663773295430927e-02 + 4.660910940608916e-02 4.658050215517676e-02 4.655191121649629e-02 4.652333660497202e-02 4.649477833552815e-02 + 4.646623642308891e-02 4.643771088257853e-02 4.640920172892127e-02 4.638070897704132e-02 4.635223264186294e-02 + 4.632377273831036e-02 4.629532928130779e-02 4.626690228577947e-02 4.623849176664965e-02 4.621009773884253e-02 + 4.618172021728237e-02 4.615335921689338e-02 4.612501475259979e-02 4.609668683932586e-02 4.606837549199577e-02 + 4.604008072553380e-02 4.601180255486416e-02 4.598354099491107e-02 4.595529606059879e-02 4.592706776685152e-02 + 4.589885612859351e-02 4.587066116074899e-02 4.584248287824218e-02 4.581432129599732e-02 4.578617642893863e-02 + 4.575804829199037e-02 4.572993690007673e-02 4.570184226812196e-02 4.567376441105030e-02 4.564570334378597e-02 + 4.561765908125320e-02 4.558963163837623e-02 4.556162103007928e-02 4.553362727128659e-02 4.550565037692238e-02 + 4.547769036191089e-02 4.544974724117636e-02 4.542182102964300e-02 4.539391174223504e-02 4.536601939387674e-02 + 4.533814399949231e-02 4.531028557400597e-02 4.528244413234197e-02 4.525461968942453e-02 4.522681226017790e-02 + 4.519902185952628e-02 4.517124850239393e-02 4.514349220370505e-02 4.511575297838390e-02 4.508803084135470e-02 + 4.506032580754168e-02 4.503263789186907e-02 4.500496710926111e-02 4.497731347464200e-02 4.494967700293602e-02 + 4.492205770906736e-02 4.489445560796028e-02 4.486687071453899e-02 4.483930304372771e-02 4.481175261045071e-02 + 4.478421942963219e-02 4.475670351619640e-02 4.472920488506756e-02 4.470172355116988e-02 4.467425952942764e-02 + 4.464681283476502e-02 4.461938348210628e-02 4.459197148637566e-02 4.456457686249737e-02 4.453719962539564e-02 + 4.450983978999472e-02 4.448249737121881e-02 4.445517238399217e-02 4.442786484323902e-02 4.440057476388359e-02 + 4.437330216085012e-02 4.434604704906282e-02 4.431880944344595e-02 4.429158935892372e-02 4.426438681042035e-02 + 4.423720181286010e-02 4.421003438116718e-02 4.418288453026584e-02 4.415575227508029e-02 4.412863763053477e-02 + 4.410154061155352e-02 4.407446123306075e-02 4.404739950998071e-02 4.402035545723762e-02 4.399332908975571e-02 + 4.396632042245923e-02 4.393932947027238e-02 4.391235624811941e-02 4.388540077092456e-02 4.385846305361203e-02 + 4.383154311110608e-02 4.380464095833093e-02 4.377775661021081e-02 4.375089008166996e-02 4.372404138763258e-02 + 4.369721054302294e-02 4.367039756276526e-02 4.364360246178376e-02 4.361682525500267e-02 4.359006595734623e-02 + 4.356332458373868e-02 4.353660114910423e-02 4.350989566836711e-02 4.348320815645158e-02 4.345653862828184e-02 + 4.342988709878214e-02 4.340325358287669e-02 4.337663809548974e-02 4.335004065154552e-02 4.332346126596825e-02 + 4.329689995368217e-02 4.327035672961151e-02 4.324383160868049e-02 4.321732460581335e-02 4.319083573593433e-02 + 4.316436501396765e-02 4.313791245483754e-02 4.311147807346823e-02 4.308506188478395e-02 4.305866390370894e-02 + 4.303228414516742e-02 4.300592262408363e-02 4.297957935538180e-02 4.295325435398616e-02 4.292694763482094e-02 + 4.290065921281035e-02 4.287438910287866e-02 4.284813731995007e-02 4.282190387894883e-02 4.279568879479917e-02 + 4.276949208242530e-02 4.274331375675147e-02 4.271715383270192e-02 4.269101232520085e-02 4.266488924917250e-02 + 4.263878461954113e-02 4.261269845123093e-02 4.258663075916616e-02 4.256058155827103e-02 4.253455086346980e-02 + 4.250853868968667e-02 4.248254505184589e-02 4.245656996487169e-02 4.243061344368828e-02 4.240467550321991e-02 + 4.237875615839081e-02 4.235285542412521e-02 4.232697331534734e-02 4.230110984698143e-02 4.227526503395169e-02 + 4.224943889118240e-02 4.222363143359775e-02 4.219784267612198e-02 4.217207263367933e-02 4.214632132119402e-02 + 4.212058875359029e-02 4.209487494579236e-02 4.206917991272448e-02 4.204350366931086e-02 4.201784623047573e-02 + 4.199220761114335e-02 4.196658782623791e-02 4.194098689068368e-02 4.191540481940486e-02 4.188984162732570e-02 + 4.186429732937041e-02 4.183877194046326e-02 4.181326547552844e-02 4.178777794949019e-02 4.176230937727277e-02 + 4.173685977380037e-02 4.171142915399725e-02 4.168601753278764e-02 4.166062492509574e-02 4.163525134584580e-02 + 4.160989680996207e-02 4.158456133236876e-02 4.155924492799010e-02 4.153394761175032e-02 4.150866939857367e-02 + 4.148341030338436e-02 4.145817034110662e-02 4.143294952666470e-02 4.140774787498282e-02 4.138256540098521e-02 + 4.135740211959609e-02 4.133225804573972e-02 4.130713319434030e-02 4.128202758032209e-02 4.125694121860929e-02 + 4.123187412412615e-02 4.120682631179690e-02 4.118179779654577e-02 4.115678859329698e-02 4.113179871697477e-02 + 4.110682818250337e-02 4.108187700480702e-02 4.105694519880994e-02 4.103203277943635e-02 4.100713976161051e-02 + 4.098226616025662e-02 4.095741199029894e-02 4.093257726666168e-02 4.090776200426908e-02 4.088296621804536e-02 + 4.085818992291476e-02 4.083343313380151e-02 4.080869586562985e-02 4.078397813332400e-02 4.075927995180818e-02 + 4.073460133600665e-02 4.070994230084361e-02 4.068530286124331e-02 4.066068303212998e-02 4.063608282842784e-02 + 4.061150226506113e-02 4.058694135695408e-02 4.056240011903092e-02 4.053787856621588e-02 4.051337671343318e-02 + 4.048889457560707e-02 4.046443216766178e-02 4.043998950452153e-02 4.041556660111054e-02 4.039116347235307e-02 + 4.036678013317334e-02 4.034241659849556e-02 4.031807288324400e-02 4.029374900234285e-02 4.026944497071637e-02 + 4.024516080328877e-02 4.022089651498431e-02 4.019665212072718e-02 4.017242763544165e-02 4.014822307405193e-02 + 4.012403845148225e-02 4.009987378265685e-02 4.007572908249996e-02 4.005160436593580e-02 4.002749964788860e-02 + 4.000341494328261e-02 3.997935026862905e-02 3.995530565020248e-02 3.993128111798760e-02 3.990727670197625e-02 + 3.988329243216027e-02 3.985932833853151e-02 3.983538445108181e-02 3.981146079980302e-02 3.978755741468697e-02 + 3.976367432572553e-02 3.973981156291052e-02 3.971596915623379e-02 3.969214713568721e-02 3.966834553126258e-02 + 3.964456437295178e-02 3.962080369074663e-02 3.959706351463900e-02 3.957334387462071e-02 3.954964480068362e-02 + 3.952596632281957e-02 3.950230847102040e-02 3.947867127527795e-02 3.945505476558409e-02 3.943145897193063e-02 + 3.940788392430945e-02 3.938432965271236e-02 3.936079618713123e-02 3.933728355755788e-02 3.931379179398419e-02 + 3.929032092640197e-02 3.926687098480308e-02 3.924344199917935e-02 3.922003399952266e-02 3.919664701582481e-02 + 3.917328107807769e-02 3.914993621627309e-02 3.912661246040292e-02 3.910330984045896e-02 3.908002838643308e-02 + 3.905676812831715e-02 3.903352909610298e-02 3.901031131978242e-02 3.898711482934733e-02 3.896393965478955e-02 + 3.894078582610091e-02 3.891765337327326e-02 3.889454232629846e-02 3.887145271516833e-02 3.884838456987474e-02 + 3.882533792040951e-02 3.880231279676451e-02 3.877930922893155e-02 3.875632724690252e-02 3.873336688066923e-02 + 3.871042816022353e-02 3.868751111555727e-02 3.866461577666229e-02 3.864174217353044e-02 3.861889033615356e-02 + 3.859606029452349e-02 3.857325207863209e-02 3.855046571847119e-02 3.852770124403264e-02 3.850495868530828e-02 + 3.848223807228996e-02 3.845953943496952e-02 3.843686280333881e-02 3.841420820738967e-02 3.839157567711395e-02 + 3.836896524250349e-02 3.834637693355013e-02 3.832381078024572e-02 3.830126681258209e-02 3.827874506055112e-02 + 3.825624555414461e-02 3.823376832335444e-02 3.821131339817244e-02 3.818888080859045e-02 3.816647058460032e-02 + 3.814408275619389e-02 3.812171735336303e-02 3.809937440609954e-02 3.807705394439530e-02 3.805475599824214e-02 + 3.803248059763190e-02 3.801022777255643e-02 3.798799755300758e-02 3.796578996897719e-02 3.794360505045710e-02 + 3.792144282743916e-02 3.789930332991522e-02 3.787718658787710e-02 3.785509263131667e-02 3.783302149022577e-02 + 3.781097319459624e-02 3.778894777441992e-02 3.776694525968866e-02 3.774496568039430e-02 3.772300906652870e-02 + 3.770107544808367e-02 3.767916485505110e-02 3.765727731742280e-02 3.763541286519063e-02 3.761357152834642e-02 + 3.759175333688204e-02 3.756995832078931e-02 3.754818651006007e-02 3.752643793468620e-02 3.750471262465951e-02 + 3.748301060997186e-02 3.746133192061509e-02 3.743967658658105e-02 3.741804463786157e-02 3.739643610444850e-02 + 3.737485101633371e-02 3.735328940350900e-02 3.733175129596625e-02 3.731023672369729e-02 3.728874571669397e-02 + 3.726727830494812e-02 3.724583451845160e-02 3.722441438719625e-02 3.720301794117391e-02 3.718164521037644e-02 + 3.716029622479566e-02 3.713897101442343e-02 3.711766960925159e-02 3.709639203927199e-02 3.707513833447647e-02 + 3.705390852485687e-02 3.703270264040504e-02 3.701152071111283e-02 3.699036276697207e-02 3.696922883797462e-02 + 3.694811895411231e-02 3.692703314537699e-02 3.690597144176051e-02 3.688493387325471e-02 3.686392046985143e-02 + 3.684293126154253e-02 3.682196627831984e-02 3.680102555017520e-02 3.678010910710046e-02 3.675921697908748e-02 + 3.673834919612807e-02 3.671750578821411e-02 3.669668678533742e-02 3.667589221748987e-02 3.665512211466327e-02 + 3.663437650684950e-02 3.661365542404037e-02 3.659295889622776e-02 3.657228695340348e-02 3.655163962555941e-02 + 3.653101694268735e-02 3.651041893477919e-02 3.648984563182674e-02 3.646929706382188e-02 3.644877326075641e-02 + 3.642827425262220e-02 3.640780006941109e-02 3.638735074111494e-02 3.636692629772557e-02 3.634652676923484e-02 + 3.632615218563458e-02 3.630580257691665e-02 3.628547797307289e-02 3.626517840409513e-02 3.624490389997524e-02 + 3.622465449070505e-02 3.620443020627639e-02 3.618423107668113e-02 3.616405713191111e-02 3.614390840195816e-02 + 3.612378491681414e-02 3.610368670647089e-02 3.608361380092025e-02 3.606356623015406e-02 3.604354402416417e-02 + 3.602354721294244e-02 3.600357582648069e-02 3.598362989477077e-02 3.596370944780453e-02 3.594381451557382e-02 + 3.592394512807047e-02 3.590410131528634e-02 3.588428310721326e-02 3.586449053384308e-02 3.584472362516764e-02 + 3.582498241117880e-02 3.580526692186839e-02 3.578557718722826e-02 3.576591323725024e-02 3.574627510192620e-02 + 3.572666281124797e-02 3.570707639520740e-02 3.568751588379632e-02 3.566798130700659e-02 3.564847269483005e-02 + 3.562899007725854e-02 3.560953348428391e-02 3.559010294589800e-02 3.557069849209266e-02 3.555132015285974e-02 + 3.553196795819106e-02 3.551264193807849e-02 3.549334212251386e-02 3.547406854148901e-02 3.545482122499580e-02 + 3.543560020302607e-02 3.541640550557167e-02 3.539723716262443e-02 3.537809520417620e-02 3.535897966021882e-02 + 3.533989056074414e-02 3.532082793574401e-02 3.530179181521027e-02 3.528278222913475e-02 3.526379920750932e-02 + 3.524484278032580e-02 3.522591297757607e-02 3.520700982925193e-02 3.518813336534525e-02 3.516928361584787e-02 + 3.515046061075164e-02 3.513166438004838e-02 3.511289495372998e-02 3.509415236178823e-02 3.507543663421501e-02 + 3.505674780100216e-02 3.503808589214152e-02 3.501945093762493e-02 3.500084296744425e-02 3.498226201159130e-02 + 3.496370810005795e-02 3.494518126283602e-02 3.492668152991737e-02 3.490820893129385e-02 3.488976349695729e-02 + 3.487134525689954e-02 3.485295424111245e-02 3.483459047958785e-02 3.481625400231760e-02 3.479794483929353e-02 + 3.477966302050750e-02 3.476140857595134e-02 3.474318153561690e-02 3.472498192949603e-02 3.470680978758058e-02 + 3.468866513986237e-02 3.467054801633326e-02 3.465245844698509e-02 3.463439646180971e-02 3.461636209079897e-02 + 3.459835536394470e-02 3.458037631123875e-02 3.456242496267296e-02 3.454450134823919e-02 3.452660549792927e-02 + 3.450873744173504e-02 3.449089720964835e-02 3.447308483166107e-02 3.445530033776500e-02 3.443754375795202e-02 + 3.441981512221395e-02 3.440211446054266e-02 3.438444180292995e-02 3.436679717936773e-02 3.434918061984778e-02 + 3.433159215436199e-02 3.431403181290218e-02 3.429649962546020e-02 3.427899562202789e-02 3.426151983259711e-02 + 3.424407228715969e-02 3.422665301570748e-02 3.420926204823232e-02 3.419189941472606e-02 3.417456514518054e-02 + 3.415725926958761e-02 3.413998181793911e-02 3.412273282022688e-02 3.410551230644278e-02 3.408832030657864e-02 + 3.407115685062630e-02 3.405402196857762e-02 3.403691569042444e-02 3.401983804615860e-02 3.400278906577194e-02 + 3.398576877925633e-02 3.396877721660357e-02 3.395181440780554e-02 3.393488038285408e-02 3.391797517174103e-02 + 3.390109880445821e-02 3.388425131099751e-02 3.386743272135074e-02 3.385064306550976e-02 3.383388237346641e-02 + 3.381715067521254e-02 3.380044800073998e-02 3.378377438004059e-02 3.376712984310620e-02 3.375051441992868e-02 + 3.373392814049984e-02 3.371737103481155e-02 3.370084313285564e-02 3.368434446462396e-02 3.366787506010836e-02 + 3.365143466564878e-02 3.363501887624541e-02 3.361862209777612e-02 3.360224500875989e-02 3.358588827878357e-02 + 3.356955147090725e-02 3.355323458431880e-02 3.353693766165054e-02 3.352066065506343e-02 3.350440352193865e-02 + 3.348816624199871e-02 3.347194881659273e-02 3.345575121630599e-02 3.343957340404732e-02 3.342341535303144e-02 + 3.340727704441876e-02 3.339115845430404e-02 3.337505954322636e-02 3.335898029706669e-02 3.334292070921326e-02 + 3.332688074834195e-02 3.331086037969291e-02 3.329485957414917e-02 3.327887831864652e-02 3.326291658484171e-02 + 3.324697433542376e-02 3.323105156623186e-02 3.321514826023114e-02 3.319926437839098e-02 3.318339989412266e-02 + 3.316755478754796e-02 3.315172903929034e-02 3.313592261295018e-02 3.312013548124740e-02 3.310436764153749e-02 + 3.308861906981869e-02 3.307288973180764e-02 3.305717959801665e-02 3.304148865245999e-02 3.302581687574703e-02 + 3.301016422142487e-02 3.299453067800234e-02 3.297891624809741e-02 3.296332088425066e-02 3.294774455685354e-02 + 3.293218725810471e-02 3.291664896225673e-02 3.290112963401578e-02 3.288562923879117e-02 3.287014777263271e-02 + 3.285468522369568e-02 3.283924155670871e-02 3.282381674440858e-02 3.280841076589561e-02 3.279302360243119e-02 + 3.277765521941309e-02 3.276230558706894e-02 3.274697470113698e-02 3.273166254219040e-02 3.271636907936865e-02 + 3.270109428250347e-02 3.268583813280482e-02 3.267060061307020e-02 3.265538168459424e-02 3.264018132671115e-02 + 3.262499953449712e-02 3.260983628233858e-02 3.259469153939318e-02 3.257956527754512e-02 3.256445748091834e-02 + 3.254936812698490e-02 3.253429718174427e-02 3.251924463148387e-02 3.250421046229880e-02 3.248919464552218e-02 + 3.247419715298105e-02 3.245921796288541e-02 3.244425706251369e-02 3.242931441545717e-02 3.241438998652282e-02 + 3.239948378141620e-02 3.238459577882156e-02 3.236972593925531e-02 3.235487424670715e-02 3.234004068301546e-02 + 3.232522522137563e-02 3.231042782696456e-02 3.229564848261764e-02 3.228088718700101e-02 3.226614390644563e-02 + 3.225141860917057e-02 3.223671128042128e-02 3.222202190260593e-02 3.220735044835789e-02 3.219269687989033e-02 + 3.217806118663362e-02 3.216344336205739e-02 3.214884337811092e-02 3.213426120193776e-02 3.211969680852602e-02 + 3.210515019435922e-02 3.209062132655478e-02 3.207611016186721e-02 3.206161670288540e-02 3.204714093648681e-02 + 3.203268282961075e-02 3.201824236239234e-02 3.200381951210604e-02 3.198941424912934e-02 3.197502654604618e-02 + 3.196065638811887e-02 3.194630377248257e-02 3.193196866763873e-02 3.191765104079724e-02 3.190335087680102e-02 + 3.188906815766901e-02 3.187480285784819e-02 3.186055494296534e-02 3.184632440204734e-02 3.183211122836238e-02 + 3.181791538780577e-02 3.180373685568510e-02 3.178957561657719e-02 3.177543165075891e-02 3.176130492904844e-02 + 3.174719542079285e-02 3.173310312097031e-02 3.171902801589959e-02 3.170497007535993e-02 3.169092927256592e-02 + 3.167690558660036e-02 3.166289900092451e-02 3.164890948767075e-02 3.163493702375719e-02 3.162098160094597e-02 + 3.160704320149037e-02 3.159312179836957e-02 3.157921735868882e-02 3.156532987076624e-02 3.155145932224658e-02 + 3.153760566663864e-02 3.152376889172848e-02 3.150994900180672e-02 3.149614595827410e-02 3.148235973399625e-02 + 3.146859031868535e-02 3.145483769408502e-02 3.144110182886523e-02 3.142738268687409e-02 3.141368026942635e-02 + 3.139999456778463e-02 3.138632554513814e-02 3.137267318073906e-02 3.135903745883740e-02 3.134541835839263e-02 + 3.133181584694165e-02 3.131822989974722e-02 3.130466051752389e-02 3.129110768114365e-02 3.127757136018487e-02 + 3.126405153214003e-02 3.125054818119363e-02 3.123706128835145e-02 3.122359081277034e-02 3.121013674152311e-02 + 3.119669908223311e-02 3.118327780512727e-02 3.116987287740892e-02 3.115648427590923e-02 3.114311198755302e-02 + 3.112975599208620e-02 3.111641625878769e-02 3.110309278026453e-02 3.108978554429882e-02 3.107649451605467e-02 + 3.106321967573116e-02 3.104996101093369e-02 3.103671850522385e-02 3.102349212552239e-02 3.101028184118182e-02 + 3.099708765215899e-02 3.098390954305432e-02 3.097074748653887e-02 3.095760146577434e-02 3.094447145973171e-02 + 3.093135744175442e-02 3.091825938652267e-02 3.090517727892404e-02 3.089211111199125e-02 3.087906086415095e-02 + 3.086602651045607e-02 3.085300802884278e-02 3.084000540267990e-02 3.082701861024971e-02 3.081404762072755e-02 + 3.080109242772720e-02 3.078815302348911e-02 3.077522937271052e-02 3.076232145526043e-02 3.074942925853004e-02 + 3.073655275969265e-02 3.072369193358731e-02 3.071084675893487e-02 3.069801722815575e-02 3.068520332655950e-02 + 3.067240502926292e-02 3.065962230727411e-02 3.064685514336771e-02 3.063410352936318e-02 3.062136743092317e-02 + 3.060864682743443e-02 3.059594172387181e-02 3.058325209340110e-02 3.057057790484611e-02 3.055791914232513e-02 + 3.054527578866520e-02 3.053264782274670e-02 3.052003521936738e-02 3.050743796632342e-02 3.049485605420712e-02 + 3.048228945948342e-02 3.046973815764381e-02 3.045720212753895e-02 3.044468135532321e-02 3.043217582076147e-02 + 3.041968549967531e-02 3.040721038082923e-02 3.039475044749309e-02 3.038230567464306e-02 3.036987604544383e-02 + 3.035746154526919e-02 3.034506215632694e-02 3.033267784558463e-02 3.032030859116679e-02 3.030795439680851e-02 + 3.029561524020229e-02 3.028329109283977e-02 3.027098194217670e-02 3.025868776986960e-02 3.024640855125834e-02 + 3.023414425922958e-02 3.022189488753165e-02 3.020966043396606e-02 3.019744085927903e-02 3.018523614254973e-02 + 3.017304628070488e-02 3.016087124712451e-02 3.014871101490015e-02 3.013656556629268e-02 3.012443489643160e-02 + 3.011231899192166e-02 3.010021782348693e-02 3.008813136953290e-02 3.007605961443153e-02 3.006400254477032e-02 + 3.005196013216448e-02 3.003993235442936e-02 3.002791921520012e-02 3.001592069144608e-02 3.000393675083135e-02 + 2.999196738372897e-02 2.998001257673401e-02 2.996807230790781e-02 2.995614654679549e-02 2.994423528130847e-02 + 2.993233851118915e-02 2.992045620999083e-02 2.990858835120550e-02 2.989673491731453e-02 2.988489589805536e-02 + 2.987307127537464e-02 2.986126102011340e-02 2.984946511909828e-02 2.983768356331996e-02 2.982591633787642e-02 + 2.981416341477938e-02 2.980242477098497e-02 2.979070040412034e-02 2.977899028736241e-02 2.976729439085326e-02 + 2.975561271768286e-02 2.974394525020974e-02 2.973229195799546e-02 2.972065283153817e-02 2.970902785474345e-02 + 2.969741700233630e-02 2.968582025251779e-02 2.967423759388233e-02 2.966266902120933e-02 2.965111450751603e-02 + 2.963957402972690e-02 2.962804757853395e-02 2.961653513685447e-02 2.960503668212408e-02 2.959355219023237e-02 + 2.958208165129883e-02 2.957062505724755e-02 2.955918238857859e-02 2.954775362079399e-02 2.953633873283637e-02 + 2.952493771681483e-02 2.951355054848872e-02 2.950217720053436e-02 2.949081767862442e-02 2.947947196700992e-02 + 2.946814003034778e-02 2.945682185755054e-02 2.944551743582863e-02 2.943422674341014e-02 2.942294975870480e-02 + 2.941168646812421e-02 2.940043686618776e-02 2.938920093147064e-02 2.937797864134186e-02 2.936676998172867e-02 + 2.935557493479196e-02 2.934439347979633e-02 2.933322559583284e-02 2.932207127373048e-02 2.931093050463312e-02 + 2.929980326285230e-02 2.928868953142686e-02 2.927758929945683e-02 2.926650254799867e-02 2.925542925398767e-02 + 2.924436939550082e-02 2.923332296415483e-02 2.922228995044700e-02 2.921127033783603e-02 2.920026410004271e-02 + 2.918927122033416e-02 2.917829169471517e-02 2.916732549176795e-02 2.915637258777840e-02 2.914543298801943e-02 + 2.913450667577263e-02 2.912359362430894e-02 2.911269381274288e-02 2.910180723305731e-02 2.909093387402745e-02 + 2.908007369930849e-02 2.906922669822638e-02 2.905839287303405e-02 2.904757219714476e-02 2.903676465199738e-02 + 2.902597022808873e-02 2.901518890157972e-02 2.900442065055892e-02 2.899366546087253e-02 2.898292332562971e-02 + 2.897219423070421e-02 2.896147815085827e-02 2.895077507160809e-02 2.894008498122344e-02 2.892940786384609e-02 + 2.891874369517828e-02 2.890809245634708e-02 2.889745414621765e-02 2.888682874769054e-02 2.887621623583590e-02 + 2.886561659425123e-02 2.885502981116054e-02 2.884445587294774e-02 2.883389475319686e-02 2.882334643970105e-02 + 2.881281093000496e-02 2.880228819979298e-02 2.879177822929067e-02 2.878128100842524e-02 2.877079651898801e-02 + 2.876032473884395e-02 2.874986564740009e-02 2.873941924390505e-02 2.872898552052601e-02 2.871856444638324e-02 + 2.870815600507148e-02 2.869776018641480e-02 2.868737697516582e-02 2.867700634591397e-02 2.866664827916806e-02 + 2.865630278319325e-02 2.864596983917359e-02 2.863564941328856e-02 2.862534149829953e-02 2.861504608429113e-02 + 2.860476315234840e-02 2.859449267740666e-02 2.858423464566411e-02 2.857398905422620e-02 2.856375588402207e-02 + 2.855353511594846e-02 2.854332673804624e-02 2.853313073796621e-02 2.852294709429606e-02 2.851277577543872e-02 + 2.850261678440491e-02 2.849247012219593e-02 2.848233575178603e-02 2.847221365657614e-02 2.846210383116990e-02 + 2.845200625935100e-02 2.844192091752946e-02 2.843184778466237e-02 2.842178686053369e-02 2.841173813547823e-02 + 2.840170158739025e-02 2.839167719418843e-02 2.838166494245600e-02 2.837166482484053e-02 2.836167681707307e-02 + 2.835170090137019e-02 2.834173707461769e-02 2.833178532393912e-02 2.832184563033358e-02 2.831191797277370e-02 + 2.830200233825938e-02 2.829209871310940e-02 2.828220707523810e-02 2.827232741579271e-02 2.826245972853687e-02 + 2.825260399229306e-02 2.824276019064247e-02 2.823292831178126e-02 2.822310834132040e-02 2.821330025651807e-02 + 2.820350403438503e-02 2.819371967866794e-02 2.818394718049788e-02 2.817418651237375e-02 2.816443766090156e-02 + 2.815470061416237e-02 2.814497535504664e-02 2.813526186206681e-02 2.812556012131105e-02 2.811587013236315e-02 + 2.810619188120791e-02 2.809652534562629e-02 2.808687050311100e-02 2.807722734684383e-02 2.806759586949595e-02 + 2.805797603975531e-02 2.804836784541272e-02 2.803877128655403e-02 2.802918634812817e-02 2.801961300908425e-02 + 2.801005124931340e-02 2.800050106254358e-02 2.799096243185147e-02 2.798143533065562e-02 2.797191976200169e-02 + 2.796241571829330e-02 2.795292316767612e-02 2.794344209750147e-02 2.793397250080147e-02 2.792451436474921e-02 + 2.791506766429417e-02 2.790563238187514e-02 2.789620852426368e-02 2.788679607109519e-02 2.787739499448651e-02 + 2.786800529276515e-02 2.785862695250820e-02 2.784925995023579e-02 2.783990426851568e-02 2.783055990112446e-02 + 2.782122684523413e-02 2.781190507602721e-02 2.780259457625915e-02 2.779329533996523e-02 2.778400734510273e-02 + 2.777473057425486e-02 2.776546502209671e-02 2.775621067523501e-02 2.774696751775778e-02 2.773773553529171e-02 + 2.772851471226555e-02 2.771930503638066e-02 2.771010650156085e-02 2.770091908311444e-02 2.769174275675288e-02 + 2.768257752750487e-02 2.767342338343482e-02 2.766428030170250e-02 2.765514827509389e-02 2.764602728937508e-02 + 2.763691732224667e-02 2.762781835629091e-02 2.761873038318760e-02 2.760965340016332e-02 2.760058738918467e-02 + 2.759153233095657e-02 2.758248821223181e-02 2.757345502668101e-02 2.756443275844788e-02 2.755542137569210e-02 + 2.754642087861812e-02 2.753743126859248e-02 2.752845251726651e-02 2.751948461051369e-02 2.751052754088128e-02 + 2.750158129051000e-02 2.749264584112846e-02 2.748372117908398e-02 2.747480730190011e-02 2.746590419839729e-02 + 2.745701184777745e-02 2.744813023052759e-02 2.743925933666562e-02 2.743039916197098e-02 2.742154968107790e-02 + 2.741271087850060e-02 2.740388275814067e-02 2.739506530469222e-02 2.738625849608251e-02 2.737746231424592e-02 + 2.736867675514432e-02 2.735990180809817e-02 2.735113743878892e-02 2.734238364845174e-02 2.733364044336462e-02 + 2.732490778587926e-02 2.731618566204183e-02 2.730747407386686e-02 2.729877300249025e-02 2.729008242908668e-02 + 2.728140234030172e-02 2.727273272900814e-02 2.726407358354408e-02 2.725542488697956e-02 2.724678662927163e-02 + 2.723815879907967e-02 2.722954137935252e-02 2.722093434732608e-02 2.721233769152850e-02 2.720375141931018e-02 + 2.719517551218435e-02 2.718660994644712e-02 2.717805471481514e-02 2.716950980584153e-02 2.716097520393317e-02 + 2.715245089289530e-02 2.714393686286031e-02 2.713543310581999e-02 2.712693960497614e-02 2.711845634782483e-02 + 2.710998332519429e-02 2.710152051958041e-02 2.709306791441093e-02 2.708462549834906e-02 2.707619326918369e-02 + 2.706777121480425e-02 2.705935930907671e-02 2.705095754483260e-02 2.704256591454058e-02 2.703418439795306e-02 + 2.702581298145425e-02 2.701745165546447e-02 2.700910041075726e-02 2.700075923746808e-02 2.699242812272907e-02 + 2.698410704764140e-02 2.697579599978723e-02 2.696749496984126e-02 2.695920394125775e-02 2.695092290187428e-02 + 2.694265184396634e-02 2.693439075649869e-02 2.692613962541774e-02 2.691789843589869e-02 2.690966718080280e-02 + 2.690144584430361e-02 2.689323440003169e-02 2.688503284907665e-02 2.687684119009101e-02 2.686865940030225e-02 + 2.686048746353486e-02 2.685232536881714e-02 2.684417310662326e-02 2.683603066151065e-02 2.682789801897943e-02 + 2.681977517552054e-02 2.681166212021913e-02 2.680355883616239e-02 2.679546530889016e-02 2.678738152752996e-02 + 2.677930748200765e-02 2.677124315479004e-02 2.676318853591112e-02 2.675514362231527e-02 2.674710839396962e-02 + 2.673908283555094e-02 2.673106694339361e-02 2.672306070150655e-02 2.671506409151823e-02 2.670707710108217e-02 + 2.669909972943648e-02 2.669113197027321e-02 2.668317379682501e-02 2.667522519875436e-02 2.666728617090520e-02 + 2.665935669311371e-02 2.665143675159882e-02 2.664352634032146e-02 2.663562545659268e-02 2.662773408361464e-02 + 2.661985219717407e-02 2.661197979572226e-02 2.660411687169956e-02 2.659626340488144e-02 2.658841937631547e-02 + 2.658058477937751e-02 2.657275961893512e-02 2.656494387358596e-02 2.655713752275513e-02 2.654934056348008e-02 + 2.654155298332925e-02 2.653377476657220e-02 2.652600590198415e-02 2.651824638075199e-02 2.651049619255404e-02 + 2.650275532091429e-02 2.649502375487615e-02 2.648730148802552e-02 2.647958851263073e-02 2.647188480891689e-02 + 2.646419035368700e-02 2.645650515131691e-02 2.644882919484906e-02 2.644116246069965e-02 2.643350494181170e-02 + 2.642585663084689e-02 2.641821751242615e-02 2.641058756892747e-02 2.640296679007395e-02 2.639535517653221e-02 + 2.638775271175803e-02 2.638015937698240e-02 2.637257516664822e-02 2.636500007332271e-02 2.635743408373907e-02 + 2.634987717633525e-02 2.634232934391862e-02 2.633479058525924e-02 2.632726088227431e-02 2.631974022390311e-02 + 2.631222860499385e-02 2.630472600717760e-02 2.629723241433261e-02 2.628974781674581e-02 2.628227220621198e-02 + 2.627480557677242e-02 2.626734792215179e-02 2.625989921852152e-02 2.625245945041883e-02 2.624502862403611e-02 + 2.623760671958282e-02 2.623019371536040e-02 2.622278961237779e-02 2.621539440295659e-02 2.620800807254220e-02 + 2.620063060674004e-02 2.619326199404739e-02 2.618590222410475e-02 2.617855128386046e-02 2.617120916522779e-02 + 2.616387586230346e-02 2.615655135861502e-02 2.614923564213544e-02 2.614192870720641e-02 2.613463054125929e-02 + 2.612734112755428e-02 2.612006044964381e-02 2.611278850871195e-02 2.610552530050819e-02 2.609827080222275e-02 + 2.609102500359168e-02 2.608378789925431e-02 2.607655947900249e-02 2.606933972466179e-02 2.606212861946312e-02 + 2.605492616097670e-02 2.604773234503024e-02 2.604054716124884e-02 2.603337058950191e-02 2.602620261873257e-02 + 2.601904324395194e-02 2.601189244598317e-02 2.600475021758196e-02 2.599761656283118e-02 2.599049145836681e-02 + 2.598337488632347e-02 2.597626684662969e-02 2.596916733159564e-02 2.596207632537513e-02 2.595499380688753e-02 + 2.594791977426907e-02 2.594085422650568e-02 2.593379714560815e-02 2.592674851872178e-02 2.591970833661526e-02 + 2.591267658830654e-02 2.590565326173340e-02 2.589863834578747e-02 2.589163183398775e-02 2.588463371701131e-02 + 2.587764398252935e-02 2.587066261956569e-02 2.586368961749470e-02 2.585672496539723e-02 2.584976865103265e-02 + 2.584282066471713e-02 2.583588100000093e-02 2.582894964599770e-02 2.582202659070586e-02 2.581511182332461e-02 + 2.580820533343631e-02 2.580130710958863e-02 2.579441713875388e-02 2.578753541579036e-02 2.578066193633965e-02 + 2.577379668579866e-02 2.576693964640701e-02 2.576009080523955e-02 2.575325016689414e-02 2.574641771694009e-02 + 2.573959342940173e-02 2.573277731100565e-02 2.572596935753856e-02 2.571916954588383e-02 2.571237786264848e-02 + 2.570559430241213e-02 2.569881886299849e-02 2.569205152414907e-02 2.568529227185872e-02 2.567854111122693e-02 + 2.567179802594942e-02 2.566506299732867e-02 2.565833602386073e-02 2.565161709921462e-02 2.564490620914589e-02 + 2.563820333139000e-02 2.563150846268354e-02 2.562482160754986e-02 2.561814274902439e-02 2.561147187258114e-02 + 2.560480896924013e-02 2.559815402833877e-02 2.559150703774291e-02 2.558486798572520e-02 2.557823686789989e-02 + 2.557161367849433e-02 2.556499840587265e-02 2.555839103232124e-02 2.555179154834854e-02 2.554519995829834e-02 + 2.553861624178350e-02 2.553204037844031e-02 2.552547237202886e-02 2.551891221538829e-02 2.551235989397021e-02 + 2.550581539575596e-02 2.549927871458803e-02 2.549274984258965e-02 2.548622875540724e-02 2.547971544999134e-02 + 2.547320993631275e-02 2.546671219025347e-02 2.546022219347805e-02 2.545373994243675e-02 2.544726542971977e-02 + 2.544079864501286e-02 2.543433957656028e-02 2.542788821576999e-02 2.542144455508066e-02 2.541500858637495e-02 + 2.540858030019949e-02 2.540215968413957e-02 2.539574672197945e-02 2.538934140646816e-02 2.538294373410821e-02 + 2.537655369660362e-02 2.537017128263758e-02 2.536379648098229e-02 2.535742928550868e-02 2.535106968465225e-02 + 2.534471766277936e-02 2.533837321084466e-02 2.533203632423742e-02 2.532570699881585e-02 2.531938521813243e-02 + 2.531307097096266e-02 2.530676425602581e-02 2.530046505932213e-02 2.529417336607690e-02 2.528788916915281e-02 + 2.528161246489754e-02 2.527534324609989e-02 2.526908149634068e-02 2.526282720495094e-02 2.525658036572961e-02 + 2.525034097275206e-02 2.524410901058027e-02 2.523788446449190e-02 2.523166734234336e-02 2.522545763237074e-02 + 2.521925530838600e-02 2.521306037097086e-02 2.520687281776321e-02 2.520069263496993e-02 2.519451980442291e-02 + 2.518835431925369e-02 2.518219618546694e-02 2.517604538654039e-02 2.516990190396150e-02 2.516376573127799e-02 + 2.515763686639562e-02 2.515151530112912e-02 2.514540101358030e-02 2.513929399756280e-02 2.513319425347670e-02 + 2.512710177240427e-02 2.512101654329324e-02 2.511493855506050e-02 2.510886779787783e-02 2.510280425830826e-02 + 2.509674792451250e-02 2.509069880343641e-02 2.508465688466923e-02 2.507862214067907e-02 2.507259457630134e-02 + 2.506657418922008e-02 2.506056095604422e-02 2.505455486579475e-02 2.504855591546334e-02 2.504256410459500e-02 + 2.503657941982099e-02 2.503060184642849e-02 2.502463137903613e-02 2.501866800626509e-02 2.501271171663477e-02 + 2.500676250820755e-02 2.500082037092928e-02 2.499488529135626e-02 2.498895726677344e-02 2.498303628979692e-02 + 2.497712234741346e-02 2.497121542814719e-02 2.496531552247531e-02 2.495942262282587e-02 2.495353672310340e-02 + 2.494765781766853e-02 2.494178589943900e-02 2.493592095223772e-02 2.493006296439117e-02 2.492421193524048e-02 + 2.491836784922406e-02 2.491253069345717e-02 2.490670047398909e-02 2.490087718065651e-02 2.489506079631419e-02 + 2.488925131370227e-02 2.488344872747560e-02 2.487765302865731e-02 2.487186419727612e-02 2.486608223223404e-02 + 2.486030714174834e-02 2.485453889875117e-02 2.484877749156952e-02 2.484302292908405e-02 2.483727519324232e-02 + 2.483153426549052e-02 2.482580013961989e-02 2.482007281919668e-02 2.481435229933991e-02 2.480863855780388e-02 + 2.480293158683973e-02 2.479723138421890e-02 2.479153794250162e-02 2.478585124573938e-02 2.478017128120043e-02 + 2.477449805440481e-02 2.476883155587847e-02 2.476317176818658e-02 2.475751868877601e-02 2.475187231076201e-02 + 2.474623262098153e-02 2.474059960704484e-02 2.473497326224523e-02 2.472935358498410e-02 2.472374056978996e-02 + 2.471813420423485e-02 2.471253447111526e-02 2.470694136984621e-02 2.470135489678424e-02 2.469577503399494e-02 + 2.469020177298829e-02 2.468463511029760e-02 2.467907504169421e-02 2.467352155791407e-02 2.466797464651026e-02 + 2.466243429488579e-02 2.465690049712254e-02 2.465137324948606e-02 2.464585254039273e-02 2.464033836402688e-02 + 2.463483071739735e-02 2.462932958374225e-02 2.462383495186045e-02 2.461834681928389e-02 2.461286517898853e-02 + 2.460739002108202e-02 2.460192133524253e-02 2.459645911917798e-02 2.459100336526309e-02 2.458555405446716e-02 + 2.458011118496141e-02 2.457467475465895e-02 2.456924474486533e-02 2.456382114921245e-02 2.455840396700115e-02 + 2.455299319041756e-02 2.454758880740113e-02 2.454219080674820e-02 2.453679918638537e-02 2.453141393576077e-02 + 2.452603503863916e-02 2.452066249180092e-02 2.451529629410615e-02 2.450993644073534e-02 2.450458291517292e-02 + 2.449923570627392e-02 2.449389481263279e-02 2.448856022075961e-02 2.448323192252920e-02 2.447790992354739e-02 + 2.447259420740984e-02 2.446728475663024e-02 2.446198157303190e-02 2.445668465268695e-02 2.445139398411770e-02 + 2.444610955000165e-02 2.444083134675017e-02 2.443555937646448e-02 2.443029362647454e-02 2.442503408583922e-02 + 2.441978074770511e-02 2.441453360513738e-02 2.440929264714783e-02 2.440405786136508e-02 2.439882924944217e-02 + 2.439360680824694e-02 2.438839052372590e-02 2.438318038826778e-02 2.437797639360750e-02 2.437277852674977e-02 + 2.436758678074824e-02 2.436240115296091e-02 2.435722164202054e-02 2.435204823529888e-02 2.434688091817521e-02 + 2.434171968740183e-02 2.433656453724402e-02 2.433141545805634e-02 2.432627243782077e-02 2.432113546933723e-02 + 2.431600455029639e-02 2.431087967900234e-02 2.430576084399959e-02 2.430064802749307e-02 2.429554123205279e-02 + 2.429044044976694e-02 2.428534565606734e-02 2.428025685952290e-02 2.427517406275088e-02 2.427009724038350e-02 + 2.426502638834353e-02 2.425996150697585e-02 2.425490258288459e-02 2.424984960255012e-02 2.424480255754471e-02 + 2.423976144931379e-02 2.423472627405213e-02 2.422969702193537e-02 2.422467367993699e-02 2.421965624107330e-02 + 2.421464470176334e-02 2.420963904926960e-02 2.420463927567678e-02 2.419964537946393e-02 2.419465735323985e-02 + 2.418967518800793e-02 2.418469887545246e-02 2.417972840901141e-02 2.417476377855392e-02 2.416980496962540e-02 + 2.416485198688481e-02 2.415990483049387e-02 2.415496347565664e-02 2.415002792020104e-02 2.414509816788697e-02 + 2.414017420064829e-02 2.413525600526027e-02 2.413034357711665e-02 2.412543691925479e-02 2.412053602209589e-02 + 2.411564086852338e-02 2.411075145960207e-02 2.410586778967854e-02 2.410098984367492e-02 2.409611761892932e-02 + 2.409125110932578e-02 2.408639030144091e-02 2.408153519631380e-02 2.407668578962185e-02 2.407184206146642e-02 + 2.406700400909483e-02 2.406217163125833e-02 2.405734491326586e-02 2.405252385052364e-02 2.404770844026444e-02 + 2.404289866819192e-02 2.403809452984102e-02 2.403329602484744e-02 2.402850314011094e-02 2.402371586479471e-02 + 2.401893419282938e-02 2.401415812045089e-02 2.400938764313821e-02 2.400462275334547e-02 2.399986343578922e-02 + 2.399510968520409e-02 2.399036150812855e-02 2.398561888480285e-02 2.398088180164008e-02 2.397615026865237e-02 + 2.397142427338870e-02 2.396670380040281e-02 2.396198885088599e-02 2.395727942113068e-02 2.395257549962209e-02 + 2.394787706723708e-02 2.394318412617158e-02 2.393849668455232e-02 2.393381472012022e-02 2.392913822141401e-02 + 2.392446719065216e-02 2.391980162598514e-02 2.391514151312970e-02 2.391048683154523e-02 2.390583758880722e-02 + 2.390119378770886e-02 2.389655541357522e-02 2.389192245255953e-02 2.388729489743550e-02 2.388267274893805e-02 + 2.387805599705324e-02 2.387344463051915e-02 2.386883864637205e-02 2.386423804212813e-02 2.385964281176755e-02 + 2.385505294183017e-02 2.385046842474073e-02 2.384588925674739e-02 2.384131543037479e-02 2.383674693675093e-02 + 2.383218376863605e-02 2.382762592698097e-02 2.382307340607612e-02 2.381852619200930e-02 2.381398427584630e-02 + 2.380944765139419e-02 2.380491631418275e-02 2.380039026147703e-02 2.379586948695320e-02 2.379135397827495e-02 + 2.378684372855616e-02 2.378233873403001e-02 2.377783899070361e-02 2.377334448688785e-02 2.376885521259772e-02 + 2.376437117173840e-02 2.375989235311110e-02 2.375541874056297e-02 2.375095033967465e-02 2.374648714507580e-02 + 2.374202914136664e-02 2.373757632537944e-02 2.373312869288914e-02 2.372868623536894e-02 2.372424894471153e-02 + 2.371981681484819e-02 2.371538984133524e-02 2.371096801501392e-02 2.370655132827953e-02 2.370213977833190e-02 + 2.369773335765337e-02 2.369333205880069e-02 2.368893587883010e-02 2.368454481046802e-02 2.368015884444250e-02 + 2.367577797334512e-02 2.367140218742613e-02 2.366703147963686e-02 2.366266585606776e-02 2.365830530976384e-02 + 2.365394982335759e-02 2.364959939168465e-02 2.364525401200215e-02 2.364091367903051e-02 2.363657837870221e-02 + 2.363224810602428e-02 2.362792286773459e-02 2.362360264929340e-02 2.361928743769403e-02 2.361497723470610e-02 + 2.361067203383207e-02 2.360637182449869e-02 2.360207659794005e-02 2.359778635431920e-02 2.359350109143980e-02 + 2.358922079027601e-02 2.358494544772182e-02 2.358067506765588e-02 2.357640963547734e-02 2.357214914179353e-02 + 2.356789358468287e-02 2.356364296127548e-02 2.355939726289868e-02 2.355515647729875e-02 2.355092060314220e-02 + 2.354668963726047e-02 2.354246356971432e-02 2.353824239065819e-02 2.353402609608870e-02 2.352981468856027e-02 + 2.352560815209497e-02 2.352140647526573e-02 2.351720967050562e-02 2.351301772305351e-02 2.350883061252196e-02 + 2.350464834642137e-02 2.350047092197861e-02 2.349629832802946e-02 2.349213055910952e-02 2.348796760574937e-02 + 2.348380945835795e-02 2.347965612326723e-02 2.347550759163322e-02 2.347136384068571e-02 2.346722487769892e-02 + 2.346309070523777e-02 2.345896130833473e-02 2.345483667635093e-02 2.345071680463291e-02 2.344660169327714e-02 + 2.344249133136094e-02 2.343838570884467e-02 2.343428482723373e-02 2.343018868068117e-02 2.342609726030811e-02 + 2.342201056195244e-02 2.341792857876926e-02 2.341385130156056e-02 2.340977872164902e-02 2.340571083589386e-02 + 2.340164764377465e-02 2.339758913684304e-02 2.339353530825718e-02 2.338948615385810e-02 2.338544166438565e-02 + 2.338140183238109e-02 2.337736665460082e-02 2.337333612670094e-02 2.336931024309368e-02 2.336528899670786e-02 + 2.336127237782067e-02 2.335726037932775e-02 2.335325300092871e-02 2.334925023614406e-02 2.334525207670920e-02 + 2.334125851951941e-02 2.333726955725296e-02 2.333328518197435e-02 2.332930539416707e-02 2.332533018620607e-02 + 2.332135954429912e-02 2.331739346348105e-02 2.331343194297124e-02 2.330947498175055e-02 2.330552256758802e-02 + 2.330157469245372e-02 2.329763135682490e-02 2.329369255310137e-02 2.328975827131819e-02 2.328582850377367e-02 + 2.328190324900185e-02 2.327798250467623e-02 2.327406626164597e-02 2.327015451465238e-02 2.326624725851670e-02 + 2.326234448228765e-02 2.325844618291867e-02 2.325455236057939e-02 2.325066300636415e-02 2.324677811186985e-02 + 2.324289767062798e-02 2.323902167622130e-02 2.323515012509116e-02 2.323128301561370e-02 2.322742034088871e-02 + 2.322356209250113e-02 2.321970826255392e-02 2.321585884544971e-02 2.321201383858435e-02 2.320817324137425e-02 + 2.320433704277431e-02 2.320050523099401e-02 2.319667780275936e-02 2.319285475700314e-02 2.318903609087885e-02 + 2.318522179577433e-02 2.318141186586264e-02 2.317760629632794e-02 2.317380507773795e-02 2.317000820301008e-02 + 2.316621566880872e-02 2.316242747510807e-02 2.315864361575457e-02 2.315486407850317e-02 2.315108885694486e-02 + 2.314731794816131e-02 2.314355135044316e-02 2.313978905662257e-02 2.313603105913640e-02 2.313227735329952e-02 + 2.312852793585061e-02 2.312478280157292e-02 2.312104194073204e-02 2.311730534704967e-02 2.311357301587891e-02 + 2.310984494137890e-02 2.310612112341407e-02 2.310240155989217e-02 2.309868623130452e-02 2.309497513592190e-02 + 2.309126828241582e-02 2.308756565023808e-02 2.308386723175103e-02 2.308017303542274e-02 2.307648304592169e-02 + 2.307279725617671e-02 2.306911567493640e-02 2.306543828441958e-02 2.306176507302976e-02 2.305809605235563e-02 + 2.305443121050249e-02 2.305077053229759e-02 2.304711401909808e-02 2.304346166830784e-02 2.303981347406350e-02 + 2.303616943085239e-02 2.303252953349069e-02 2.302889377643319e-02 2.302526215247478e-02 2.302163465435939e-02 + 2.301801127709388e-02 2.301439202296127e-02 2.301077688440331e-02 2.300716584594829e-02 2.300355891234385e-02 + 2.299995607931316e-02 2.299635732709070e-02 2.299276266087610e-02 2.298917208378683e-02 2.298558558107965e-02 + 2.298200314503575e-02 2.297842477288603e-02 2.297485046311076e-02 2.297128020911345e-02 2.296771400315858e-02 + 2.296415184168031e-02 2.296059371667762e-02 2.295703962066644e-02 2.295348955785851e-02 2.294994352217295e-02 + 2.294640149900077e-02 2.294286348264926e-02 2.293932947451599e-02 2.293579947717141e-02 2.293227347444131e-02 + 2.292875145668869e-02 2.292523342863249e-02 2.292171938675970e-02 2.291820932208030e-02 2.291470322329688e-02 + 2.291120108573121e-02 2.290770290936340e-02 2.290420869564250e-02 2.290071843254762e-02 2.289723210840996e-02 + 2.289374972996874e-02 2.289027128684278e-02 2.288679676284003e-02 2.288332616596880e-02 2.287985949623025e-02 + 2.287639674290211e-02 2.287293789614104e-02 2.286948295143698e-02 2.286603190794522e-02 2.286258475709644e-02 + 2.285914149325583e-02 2.285570211629635e-02 2.285226661817064e-02 2.284883499242224e-02 2.284540723897847e-02 + 2.284198334984975e-02 2.283856331588243e-02 2.283514713353579e-02 2.283173480111027e-02 2.282832631556901e-02 + 2.282492166909090e-02 2.282152085461623e-02 2.281812386736860e-02 2.281473070606539e-02 2.281134136558116e-02 + 2.280795583769253e-02 2.280457411713410e-02 2.280119619914733e-02 2.279782207936136e-02 2.279445175627783e-02 + 2.279108522557549e-02 2.278772247795469e-02 2.278436350274908e-02 2.278100829770330e-02 2.277765687156956e-02 + 2.277430921150676e-02 2.277096530368425e-02 2.276762515226868e-02 2.276428875675497e-02 2.276095610802096e-02 + 2.275762718728153e-02 2.275430199700514e-02 2.275098054723153e-02 2.274766282325953e-02 2.274434881806882e-02 + 2.274103853245654e-02 2.273773195657694e-02 2.273442908251650e-02 2.273112990748000e-02 2.272783443024632e-02 + 2.272454264587135e-02 2.272125454541999e-02 2.271797012768606e-02 2.271468938883630e-02 2.271141231743784e-02 + 2.270813891155475e-02 2.270486917113991e-02 2.270160309030139e-02 2.269834065991423e-02 2.269508187421201e-02 + 2.269182673791773e-02 2.268857524219826e-02 2.268532737305624e-02 2.268208313254210e-02 2.267884251722086e-02 + 2.267560551920548e-02 2.267237214108131e-02 2.266914237609957e-02 2.266591620883689e-02 2.266269364166427e-02 + 2.265947467384046e-02 2.265625929499294e-02 2.265304750285308e-02 2.264983929495161e-02 2.264663466331073e-02 + 2.264343359962570e-02 2.264023610100446e-02 2.263704217283995e-02 2.263385180078203e-02 2.263066497176033e-02 + 2.262748170200772e-02 2.262430198020481e-02 2.262112578516977e-02 2.261795313211606e-02 2.261478401664109e-02 + 2.261161841743119e-02 2.260845633522814e-02 2.260529777070043e-02 2.260214271924124e-02 2.259899117823321e-02 + 2.259584314154298e-02 2.259269859890657e-02 2.258955754741791e-02 2.258641998536936e-02 2.258328590829124e-02 + 2.258015531052365e-02 2.257702818646037e-02 2.257390453172050e-02 2.257078434461123e-02 2.256766762198980e-02 + 2.256455435398716e-02 2.256144453344060e-02 2.255833815784602e-02 2.255523523027356e-02 2.255213574452021e-02 + 2.254903968810603e-02 2.254594705829782e-02 2.254285785514665e-02 2.253977207653749e-02 2.253668970834607e-02 + 2.253361074658835e-02 2.253053520058667e-02 2.252746305460894e-02 2.252439429792020e-02 2.252132894054988e-02 + 2.251826697539277e-02 2.251520839162438e-02 2.251215318778324e-02 2.250910135797150e-02 2.250605289615611e-02 + 2.250300780314812e-02 2.249996607511807e-02 2.249692770517706e-02 2.249389268897849e-02 2.249086101912092e-02 + 2.248783268793952e-02 2.248480769791340e-02 2.248178604607573e-02 2.247876772289102e-02 2.247575272657626e-02 + 2.247274105420605e-02 2.246973269884927e-02 2.246672765673356e-02 2.246372592391256e-02 2.246072749418018e-02 + 2.245773236145919e-02 2.245474052366870e-02 2.245175198466864e-02 2.244876673416187e-02 2.244578475935081e-02 + 2.244280606154297e-02 2.243983064008646e-02 2.243685849064164e-02 2.243388960632717e-02 2.243092397966235e-02 + 2.242796160524575e-02 2.242500248562306e-02 2.242204661762487e-02 2.241909399183298e-02 2.241614460666303e-02 + 2.241319845819517e-02 2.241025553754803e-02 2.240731584245553e-02 2.240437937032112e-02 2.240144611432051e-02 + 2.239851607018801e-02 2.239558923444239e-02 2.239266560299412e-02 2.238974517661811e-02 2.238682795331298e-02 + 2.238391391839321e-02 2.238100306495051e-02 2.237809539304577e-02 2.237519090301935e-02 2.237228958954325e-02 + 2.236939144530989e-02 2.236649647337483e-02 2.236360466636645e-02 2.236071600836286e-02 2.235783050633204e-02 + 2.235494816009726e-02 2.235206895420678e-02 2.234919288912077e-02 2.234631996540050e-02 2.234345017408028e-02 + 2.234058350741709e-02 2.233771996217690e-02 2.233485954108143e-02 2.233200223848051e-02 2.232914804618978e-02 + 2.232629696222737e-02 2.232344898389008e-02 2.232060410657171e-02 2.231776232362639e-02 2.231492363175558e-02 + 2.231208802922137e-02 2.230925550831191e-02 2.230642606279709e-02 2.230359969032392e-02 2.230077639232617e-02 + 2.229795616382932e-02 2.229513899284023e-02 2.229232488215048e-02 2.228951382986107e-02 2.228670582046145e-02 + 2.228390085767177e-02 2.228109894426768e-02 2.227830006461064e-02 2.227550421765863e-02 2.227271140560883e-02 + 2.226992161633195e-02 2.226713484518715e-02 2.226435109357777e-02 2.226157036041665e-02 2.225879263594571e-02 + 2.225601790864145e-02 2.225324618600033e-02 2.225047746610503e-02 2.224771173578603e-02 2.224494899695189e-02 + 2.224218924606724e-02 2.223943246967720e-02 2.223667867147697e-02 2.223392785229840e-02 2.223117999944780e-02 + 2.222843510958861e-02 2.222569318138216e-02 2.222295420869658e-02 2.222021819230338e-02 2.221748513172378e-02 + 2.221475501403353e-02 2.221202783347761e-02 2.220930358964832e-02 2.220658227937696e-02 2.220386389978368e-02 + 2.220114844711944e-02 2.219843591216284e-02 2.219572629440826e-02 2.219301959936691e-02 2.219031581219321e-02 + 2.218761492468887e-02 2.218491694233576e-02 2.218222185562244e-02 2.217952965986671e-02 2.217684036403281e-02 + 2.217415395419634e-02 2.217147041795686e-02 2.216878976537657e-02 2.216611199005385e-02 2.216343708084910e-02 + 2.216076504044857e-02 2.215809586407636e-02 2.215542954392592e-02 2.215276608232491e-02 2.215010547339664e-02 + 2.214744770611955e-02 2.214479278225410e-02 2.214214070177000e-02 2.213949145934428e-02 2.213684504847090e-02 + 2.213420146383213e-02 2.213156070201421e-02 2.212892275987791e-02 2.212628763520102e-02 2.212365532631548e-02 + 2.212102582567219e-02 2.211839912707401e-02 2.211577523186081e-02 2.211315413883962e-02 2.211053584219323e-02 + 2.210792033053083e-02 2.210530760247808e-02 2.210269766011106e-02 2.210009049378774e-02 2.209748609987134e-02 + 2.209488448015577e-02 2.209228563063591e-02 2.208968954607055e-02 2.208709622107550e-02 2.208450564887732e-02 + 2.208191782589816e-02 2.207933275252874e-02 2.207675042560285e-02 2.207417084119970e-02 2.207159399606388e-02 + 2.206901988424427e-02 2.206644850045388e-02 2.206387984291528e-02 2.206131390816773e-02 2.205875069196218e-02 + 2.205619019101501e-02 2.205363240248722e-02 2.205107732226570e-02 2.204852494231603e-02 2.204597526222870e-02 + 2.204342828418220e-02 2.204088399409952e-02 2.203834238815479e-02 2.203580347352047e-02 2.203326724064265e-02 + 2.203073368487589e-02 2.202820281109562e-02 2.202567460568826e-02 2.202314905892956e-02 2.202062617713913e-02 + 2.201810595951965e-02 2.201558839960293e-02 2.201307348855861e-02 2.201056122699519e-02 2.200805161543166e-02 + 2.200554464185156e-02 2.200304030240887e-02 2.200053859846551e-02 2.199803952619762e-02 2.199554308107517e-02 + 2.199304925941878e-02 2.199055805969111e-02 2.198806947716193e-02 2.198558350490501e-02 2.198310014348315e-02 + 2.198061939050182e-02 2.197814123774413e-02 2.197566568143648e-02 2.197319271829654e-02 2.197072234409288e-02 + 2.196825456242376e-02 2.196578937054303e-02 2.196332674903257e-02 2.196086670076693e-02 2.195840923401799e-02 + 2.195595433798292e-02 2.195350200785295e-02 2.195105224287541e-02 2.194860503638501e-02 2.194616038337459e-02 + 2.194371828086876e-02 2.194127872478465e-02 2.193884171275727e-02 2.193640724439015e-02 2.193397531871202e-02 + 2.193154592984012e-02 2.192911906730429e-02 2.192669472874541e-02 2.192427291582612e-02 2.192185362988310e-02 + 2.191943685926103e-02 2.191702259589666e-02 2.191461084837004e-02 2.191220161094460e-02 2.190979487232746e-02 + 2.190739062981033e-02 2.190498888177591e-02 2.190258962778606e-02 2.190019287048831e-02 2.189779860038415e-02 + 2.189540680312951e-02 2.189301748590321e-02 2.189063064823816e-02 2.188824627921663e-02 2.188586438035036e-02 + 2.188348494945867e-02 2.188110797669410e-02 2.187873346273279e-02 2.187636140793982e-02 2.187399180563438e-02 + 2.187162464701073e-02 2.186925992764394e-02 2.186689765219864e-02 2.186453782016761e-02 2.186218042520733e-02 + 2.185982545624109e-02 2.185747291143151e-02 2.185512279286289e-02 2.185277509428750e-02 2.185042981497303e-02 + 2.184808695595145e-02 2.184574650317918e-02 2.184340845337333e-02 2.184107281435048e-02 2.183873957690715e-02 + 2.183640873122354e-02 2.183408027442373e-02 2.183175421068970e-02 2.182943053984947e-02 2.182710925220595e-02 + 2.182479034512406e-02 2.182247381639650e-02 2.182015965839264e-02 2.181784786935527e-02 2.181553844939510e-02 + 2.181323139439093e-02 2.181092669994856e-02 2.180862436262286e-02 2.180632438083940e-02 2.180402674952244e-02 + 2.180173146217098e-02 2.179943851892379e-02 2.179714791838810e-02 2.179485965603752e-02 2.179257372764807e-02 + 2.179029013045416e-02 2.178800886254997e-02 2.178572991731780e-02 2.178345329019238e-02 2.178117898198011e-02 + 2.177890698980304e-02 2.177663730909087e-02 2.177436993586566e-02 2.177210486810286e-02 2.176984210277431e-02 + 2.176758163245009e-02 2.176532345522340e-02 2.176306757137086e-02 2.176081397536724e-02 2.175856266623576e-02 + 2.175631364444715e-02 2.175406689861889e-02 2.175182242380624e-02 2.174958022311289e-02 2.174734029291431e-02 + 2.174510262809328e-02 2.174286722491656e-02 2.174063408336708e-02 2.173840320169586e-02 2.173617457340815e-02 + 2.173394819180500e-02 2.173172405255836e-02 2.172950215559655e-02 2.172728250040623e-02 2.172506508580887e-02 + 2.172284990969628e-02 2.172063696250313e-02 2.171842623537083e-02 2.171621773566752e-02 2.171401146093844e-02 + 2.171180740120238e-02 2.170960555830954e-02 2.170740592901658e-02 2.170520850408856e-02 2.170301328419004e-02 + 2.170082027006994e-02 2.169862945830807e-02 2.169644084240343e-02 2.169425441572978e-02 2.169207017401216e-02 + 2.168988812007480e-02 2.168770825534887e-02 2.168553057272023e-02 2.168335506533793e-02 2.168118172867985e-02 + 2.167901056214399e-02 2.167684156632982e-02 2.167467473989915e-02 2.167251007478243e-02 2.167034756604321e-02 + 2.166818721221639e-02 2.166602901099679e-02 2.166387295840019e-02 2.166171905012346e-02 2.165956728718834e-02 + 2.165741766632386e-02 2.165527017845730e-02 2.165312482355555e-02 2.165098160273919e-02 2.164884051303741e-02 + 2.164670154730472e-02 2.164456469954934e-02 2.164242996946321e-02 2.164029735885670e-02 2.163816686523918e-02 + 2.163603847533059e-02 2.163391219068715e-02 2.163178801684997e-02 2.162966593882407e-02 2.162754595404139e-02 + 2.162542806873079e-02 2.162331227177066e-02 2.162119856181649e-02 2.161908694674025e-02 2.161697741144211e-02 + 2.161486994763257e-02 2.161276456243416e-02 2.161066125301312e-02 2.160856001324272e-02 2.160646083892226e-02 + 2.160436373197112e-02 2.160226869104043e-02 2.160017570438035e-02 2.159808476849354e-02 2.159599588501710e-02 + 2.159390905460169e-02 2.159182427010056e-02 2.158974152429478e-02 2.158766082444429e-02 2.158558216760809e-02 + 2.158350554187339e-02 2.158143094233737e-02 2.157935837033232e-02 2.157728782941571e-02 2.157521931196140e-02 + 2.157315281164952e-02 2.157108832745493e-02 2.156902585566251e-02 2.156696539445298e-02 2.156490694526656e-02 + 2.156285049964247e-02 2.156079605212440e-02 2.155874360997529e-02 2.155669316474123e-02 2.155464470676604e-02 + 2.155259824484399e-02 2.155055377365348e-02 2.154851128035285e-02 2.154647076406023e-02 2.154443222886153e-02 + 2.154239567713112e-02 2.154036109691455e-02 2.153832848380287e-02 2.153629784162443e-02 2.153426916110383e-02 + 2.153224243839968e-02 2.153021767928900e-02 2.152819487735599e-02 2.152617402486068e-02 2.152415511969989e-02 + 2.152213816346627e-02 2.152012315489333e-02 2.151811008517867e-02 2.151609895106827e-02 2.151408975350627e-02 + 2.151208249405811e-02 2.151007716412923e-02 2.150807375412716e-02 2.150607227139823e-02 2.150407271389111e-02 + 2.150207507178008e-02 2.150007934512424e-02 2.149808553345600e-02 2.149609363244227e-02 2.149410363369511e-02 + 2.149211553597770e-02 2.149012934592863e-02 2.148814505588094e-02 2.148616265955859e-02 2.148418215959600e-02 + 2.148220354775919e-02 2.148022681859241e-02 2.147825198020547e-02 2.147627902590631e-02 2.147430794498996e-02 + 2.147233873858447e-02 2.147037140717467e-02 2.146840594879004e-02 2.146644235912430e-02 2.146448063553682e-02 + 2.146252077578778e-02 2.146056277288728e-02 2.145860662318243e-02 2.145665232726965e-02 2.145469988438242e-02 + 2.145274929256557e-02 2.145080054831608e-02 2.144885364454498e-02 2.144690857746641e-02 2.144496534942983e-02 + 2.144302395654175e-02 2.144108439499599e-02 2.143914666610025e-02 2.143721076355154e-02 2.143527668029283e-02 + 2.143334441800114e-02 2.143141397685691e-02 2.142948535268880e-02 2.142755853497146e-02 2.142563352602930e-02 + 2.142371033388222e-02 2.142178894500280e-02 2.141986935358769e-02 2.141795156402302e-02 2.141603556793572e-02 + 2.141412136230918e-02 2.141220895321441e-02 2.141029833297722e-02 2.140838949470163e-02 2.140648244009975e-02 + 2.140457716697424e-02 2.140267367166504e-02 2.140077195168551e-02 2.139887200433115e-02 2.139697382547902e-02 + 2.139507740888590e-02 2.139318275720074e-02 2.139128987343195e-02 2.138939874415982e-02 2.138750936775835e-02 + 2.138562175102568e-02 2.138373588641631e-02 2.138185176599392e-02 2.137996938652284e-02 2.137808875223814e-02 + 2.137620986251236e-02 2.137433270909064e-02 2.137245728978030e-02 2.137058360186242e-02 2.136871163953864e-02 + 2.136684140688612e-02 2.136497290390506e-02 2.136310611597474e-02 2.136124104345297e-02 2.135937769212130e-02 + 2.135751605860686e-02 2.135565613610374e-02 2.135379791822062e-02 2.135194140402438e-02 2.135008659417071e-02 + 2.134823348788390e-02 2.134638207760105e-02 2.134453236032835e-02 2.134268433814086e-02 2.134083800772077e-02 + 2.133899336411597e-02 2.133715040305821e-02 2.133530912424798e-02 2.133346952672500e-02 2.133163160670673e-02 + 2.132979536297411e-02 2.132796079152963e-02 2.132612788229375e-02 2.132429663915477e-02 2.132246706798375e-02 + 2.132063916037057e-02 2.131881290769116e-02 2.131698830582932e-02 2.131516535978050e-02 2.131334407028698e-02 + 2.131152443198118e-02 2.130970643552249e-02 2.130789007885127e-02 2.130607536669811e-02 2.130426229682303e-02 + 2.130245086421657e-02 2.130064106313053e-02 2.129883288837854e-02 2.129702633875496e-02 2.129522141788389e-02 + 2.129341812290223e-02 2.129161644909972e-02 2.128981639414264e-02 2.128801795585396e-02 2.128622113110773e-02 + 2.128442591509673e-02 2.128263230760480e-02 2.128084030772261e-02 2.127904990395241e-02 2.127726109953179e-02 + 2.127547390424031e-02 2.127368830171838e-02 2.127190428479188e-02 2.127012186038021e-02 2.126834102886177e-02 + 2.126656178481652e-02 2.126478411995624e-02 2.126300803603507e-02 2.126123353191450e-02 2.125946059821390e-02 + 2.125768923851055e-02 2.125591945439615e-02 2.125415123382016e-02 2.125238457915817e-02 2.125061949358618e-02 + 2.124885596288304e-02 2.124709398735697e-02 2.124533357303348e-02 2.124357470952245e-02 2.124181739435340e-02 + 2.124006163206048e-02 2.123830741948956e-02 2.123655475001017e-02 2.123480361731545e-02 2.123305402409987e-02 + 2.123130596739953e-02 2.122955943693203e-02 2.122781443910126e-02 2.122607097723360e-02 2.122432904130337e-02 + 2.122258862659696e-02 2.122084973282204e-02 2.121911236175234e-02 2.121737650789419e-02 2.121564216387619e-02 + 2.121390932803162e-02 2.121217800425756e-02 2.121044819455527e-02 2.120871988671843e-02 2.120699307684077e-02 + 2.120526776795157e-02 2.120354395552526e-02 2.120182163603621e-02 2.120010080901829e-02 2.119838147500087e-02 + 2.119666363123091e-02 2.119494727091758e-02 2.119323238927472e-02 2.119151898655034e-02 2.118980706773010e-02 + 2.118809662574528e-02 2.118638765303925e-02 2.118468015121633e-02 2.118297411864271e-02 2.118126955146517e-02 + 2.117956644637810e-02 2.117786480292237e-02 2.117616462067450e-02 2.117446589411339e-02 2.117276862084477e-02 + 2.117107280130004e-02 2.116937843379139e-02 2.116768551256503e-02 2.116599403067535e-02 2.116430399205533e-02 + 2.116261539753040e-02 2.116092824074994e-02 2.115924251858398e-02 2.115755822756320e-02 2.115587536308644e-02 + 2.115419393062315e-02 2.115251393109511e-02 2.115083534999197e-02 2.114915818684827e-02 2.114748244571777e-02 + 2.114580812117730e-02 2.114413521000233e-02 2.114246371011731e-02 2.114079361630021e-02 2.113912493113981e-02 + 2.113745765864524e-02 2.113579178347091e-02 2.113412730283017e-02 2.113246422731517e-02 2.113080255018658e-02 + 2.112914226466844e-02 2.112748336987266e-02 2.112582586239263e-02 2.112416973838773e-02 2.112251499585494e-02 + 2.112086163946853e-02 2.111920966923609e-02 2.111755907231158e-02 2.111590984741022e-02 2.111426199652882e-02 + 2.111261551330255e-02 2.111097039854193e-02 2.110932665501722e-02 2.110768427494188e-02 2.110604325159932e-02 + 2.110440358337455e-02 2.110276527755971e-02 2.110112832954347e-02 2.109949272542061e-02 2.109785847270291e-02 + 2.109622557382813e-02 2.109459401840321e-02 2.109296380279178e-02 2.109133492634166e-02 2.108970738897449e-02 + 2.108808119187406e-02 2.108645633261542e-02 2.108483280177793e-02 2.108321059649476e-02 2.108158971816587e-02 + 2.107997016818712e-02 2.107835194176262e-02 2.107673503228282e-02 2.107511943992769e-02 2.107350516482023e-02 + 2.107189220511111e-02 2.107028055587330e-02 2.106867021606288e-02 2.106706118735907e-02 2.106545346293816e-02 + 2.106384703796383e-02 2.106224191316689e-02 2.106063808955507e-02 2.105903556250238e-02 2.105743432153898e-02 + 2.105583437513380e-02 2.105423572746437e-02 2.105263836035830e-02 2.105104227142354e-02 2.104944746729932e-02 + 2.104785395134047e-02 2.104626171573087e-02 2.104467074966839e-02 2.104308105452007e-02 2.104149263222363e-02 + 2.103990548218236e-02 2.103831959968388e-02 2.103673498293864e-02 2.103515163200819e-02 2.103356953798411e-02 + 2.103198869775456e-02 2.103040911733209e-02 2.102883079574534e-02 2.102725372695269e-02 2.102567790273802e-02 + 2.102410332486244e-02 2.102252999507990e-02 2.102095790737760e-02 2.101938706174730e-02 2.101781745879964e-02 + 2.101624909192282e-02 2.101468195450770e-02 2.101311604447429e-02 2.101155137000445e-02 2.100998792857284e-02 + 2.100842571064132e-02 2.100686471849675e-02 2.100530495078897e-02 2.100374640001838e-02 2.100218906014547e-02 + 2.100063293273019e-02 2.099907802537045e-02 2.099752433031871e-02 2.099597184169578e-02 2.099442056340826e-02 + 2.099287048844137e-02 2.099132161182849e-02 2.098977394056553e-02 2.098822746767990e-02 2.098668218492037e-02 + 2.098513809937855e-02 2.098359520656010e-02 2.098205349870481e-02 2.098051298433238e-02 2.097897365788888e-02 + 2.097743550607582e-02 2.097589853771057e-02 2.097436275317134e-02 2.097282814179318e-02 2.097129470444368e-02 + 2.096976244194844e-02 2.096823135057212e-02 2.096670142502171e-02 2.096517266432222e-02 2.096364507294766e-02 + 2.096211864290872e-02 2.096059336882086e-02 2.095906925902597e-02 2.095754630598820e-02 2.095602449947026e-02 + 2.095450384463222e-02 2.095298434369944e-02 2.095146599313072e-02 2.094994878341327e-02 2.094843271500539e-02 + 2.094691779352117e-02 2.094540401073429e-02 2.094389136288097e-02 2.094237985194064e-02 2.094086947133280e-02 + 2.093936021927527e-02 2.093785210108921e-02 2.093634511142213e-02 2.093483924325246e-02 2.093333449385128e-02 + 2.093183086645815e-02 2.093032836253444e-02 2.092882697593887e-02 2.092732670311165e-02 2.092582754108962e-02 + 2.092432948474122e-02 2.092283253800634e-02 2.092133670446908e-02 2.091984196956714e-02 2.091834833166288e-02 + 2.091685579922333e-02 2.091536436905392e-02 2.091387403364116e-02 2.091238478662568e-02 2.091089663391256e-02 + 2.090940957508328e-02 2.090792359986955e-02 2.090643871032298e-02 2.090495490818039e-02 2.090347218811059e-02 + 2.090199054718417e-02 2.090050998308706e-02 2.089903049243704e-02 2.089755207414248e-02 2.089607472810411e-02 + 2.089459845325996e-02 2.089312324594328e-02 2.089164910255710e-02 2.089017602427597e-02 2.088870401009232e-02 + 2.088723305634642e-02 2.088576315893389e-02 2.088429431601771e-02 2.088282652696964e-02 2.088135978615913e-02 + 2.087989409321534e-02 2.087842945395569e-02 2.087696586275656e-02 2.087550331287119e-02 2.087404180207852e-02 + 2.087258132736208e-02 2.087112188861259e-02 2.086966349090147e-02 2.086820612891688e-02 2.086674979608584e-02 + 2.086529449590395e-02 2.086384022331517e-02 2.086238697045790e-02 2.086093474039187e-02 2.085948353444753e-02 + 2.085803335091995e-02 2.085658418796912e-02 2.085513604081134e-02 2.085368890289571e-02 2.085224277300881e-02 + 2.085079765267601e-02 2.084935354393509e-02 2.084791044341373e-02 2.084646834711395e-02 2.084502725286095e-02 + 2.084358715744794e-02 2.084214805848912e-02 2.084070995598070e-02 2.083927284909677e-02 2.083783673573611e-02 + 2.083640161226469e-02 2.083496747523998e-02 2.083353432223483e-02 2.083210215303235e-02 2.083067096927498e-02 + 2.082924077044086e-02 2.082781154460241e-02 2.082638329211299e-02 2.082495602309350e-02 2.082352972509603e-02 + 2.082210439277076e-02 2.082068003454410e-02 2.081925664261260e-02 2.081783421113447e-02 2.081641274508624e-02 + 2.081499224082686e-02 2.081357269450268e-02 2.081215410878219e-02 2.081073647873721e-02 2.080931979776872e-02 + 2.080790406592918e-02 2.080648928500749e-02 2.080507545608266e-02 2.080366257645188e-02 2.080225063919177e-02 + 2.080083963814898e-02 2.079942957984240e-02 2.079802046255642e-02 2.079661227641324e-02 2.079520502452446e-02 + 2.079379870732677e-02 2.079239331877295e-02 2.079098886066600e-02 2.078958533155146e-02 2.078818272238310e-02 + 2.078678103594075e-02 2.078538027480030e-02 2.078398043169412e-02 2.078258150517176e-02 2.078118349582184e-02 + 2.077978640032045e-02 2.077839021518007e-02 2.077699493798996e-02 2.077560056860569e-02 2.077420710626992e-02 + 2.077281454908150e-02 2.077142289397691e-02 2.077003213665487e-02 2.076864227381708e-02 2.076725331084939e-02 + 2.076586524753700e-02 2.076447807479244e-02 2.076309178893910e-02 2.076170639200464e-02 2.076032188924749e-02 + 2.075893827075576e-02 2.075755552867013e-02 2.075617367037054e-02 2.075479269394757e-02 2.075341259415677e-02 + 2.075203337133167e-02 2.075065502119062e-02 2.074927754004291e-02 2.074790093527532e-02 2.074652520196147e-02 + 2.074515032814618e-02 2.074377631824518e-02 2.074240317461906e-02 2.074103089389617e-02 2.073965947285912e-02 + 2.073828890806665e-02 2.073691919635770e-02 2.073555033844026e-02 2.073418233381763e-02 2.073281517823886e-02 + 2.073144886803073e-02 2.073008340377233e-02 2.072871879147831e-02 2.072735502222402e-02 2.072599208688765e-02 + 2.072462999392301e-02 2.072326873860233e-02 2.072190831224300e-02 2.072054872378210e-02 2.071918997148765e-02 + 2.071783204556565e-02 2.071647494755481e-02 2.071511867766477e-02 2.071376323196711e-02 2.071240860565183e-02 + 2.071105479791370e-02 2.070970181180314e-02 2.070834964331268e-02 2.070699828917085e-02 2.070564775075080e-02 + 2.070429802727900e-02 2.070294911380581e-02 2.070160100113699e-02 2.070025369244763e-02 2.069890719322030e-02 + 2.069756149841416e-02 2.069621660331007e-02 2.069487250616514e-02 2.069352920972353e-02 2.069218670843115e-02 + 2.069084499406914e-02 2.068950407478504e-02 2.068816395008570e-02 2.068682460979861e-02 2.068548605525363e-02 + 2.068414828647597e-02 2.068281129879088e-02 2.068147509294542e-02 2.068013966727868e-02 2.067880501481977e-02 + 2.067747113766845e-02 2.067613803889334e-02 2.067480571527677e-02 2.067347415977921e-02 2.067214336769299e-02 + 2.067081334319025e-02 2.066948408776949e-02 2.066815559807265e-02 2.066682786498898e-02 2.066550088830383e-02 + 2.066417467341183e-02 2.066284921698086e-02 2.066152451475288e-02 2.066020056372571e-02 2.065887736182303e-02 + 2.065755490839281e-02 2.065623320354572e-02 2.065491224367795e-02 2.065359202675738e-02 2.065227255436574e-02 + 2.065095382314874e-02 2.064963582941213e-02 2.064831857270797e-02 2.064700204957123e-02 2.064568625651786e-02 + 2.064437119414936e-02 2.064305686324694e-02 2.064174326345409e-02 2.064043039179931e-02 2.063911824280925e-02 + 2.063780681176866e-02 2.063649610237503e-02 2.063518611610314e-02 2.063387684909248e-02 2.063256829217405e-02 + 2.063126044539576e-02 2.062995331851188e-02 2.062864690334512e-02 2.062734119190086e-02 2.062603618600375e-02 + 2.062473188642144e-02 2.062342829221786e-02 2.062212540064643e-02 2.062082320714733e-02 2.061952170915304e-02 + 2.061822091004314e-02 2.061692080716460e-02 2.061562139605911e-02 2.061432267954307e-02 2.061302465323251e-02 + 2.061172730955065e-02 2.061043065371613e-02 2.060913468523504e-02 2.060783939685846e-02 2.060654478913799e-02 + 2.060525086119714e-02 2.060395760866959e-02 2.060266503271371e-02 2.060137313244415e-02 2.060008190215519e-02 + 2.059879134465455e-02 2.059750146004468e-02 2.059621223782829e-02 2.059492368052522e-02 2.059363579225837e-02 + 2.059234856405708e-02 2.059106199328788e-02 2.058977608130871e-02 2.058849082556723e-02 2.058720622498806e-02 + 2.058592227959311e-02 2.058463898696043e-02 2.058335634281647e-02 2.058207434376584e-02 2.058079299573017e-02 + 2.057951229614279e-02 2.057823223269817e-02 2.057695281356401e-02 2.057567404187197e-02 2.057439590387300e-02 + 2.057311839681732e-02 2.057184152455586e-02 2.057056529173392e-02 2.056928969078429e-02 2.056801471376779e-02 + 2.056674036634529e-02 2.056546664830153e-02 2.056419355486686e-02 2.056292108306100e-02 2.056164923170236e-02 + 2.056037800067255e-02 2.055910738924650e-02 2.055783739340399e-02 2.055656800859636e-02 2.055529924146672e-02 + 2.055403109005562e-02 2.055276354110791e-02 2.055149659755915e-02 2.055023026272679e-02 2.054896453244645e-02 + 2.054769940766287e-02 2.054643488681757e-02 2.054517096062926e-02 2.054390763218316e-02 2.054264490512525e-02 + 2.054138276915942e-02 2.054012122328143e-02 2.053886027085424e-02 2.053759990682471e-02 2.053634012878631e-02 + 2.053508093799464e-02 2.053382233647706e-02 2.053256431985532e-02 2.053130687980379e-02 2.053005001911220e-02 + 2.052879373804411e-02 2.052753803104820e-02 2.052628289842169e-02 2.052502834052905e-02 2.052377435424499e-02 + 2.052252093383405e-02 2.052126807833591e-02 2.052001579579881e-02 2.051876408076618e-02 2.051751292558091e-02 + 2.051626233431153e-02 2.051501230108543e-02 2.051376281904528e-02 2.051251389905356e-02 2.051126553806812e-02 + 2.051001772450580e-02 2.050877046477720e-02 2.050752375748313e-02 2.050627759308629e-02 2.050503197764233e-02 + 2.050378691120845e-02 2.050254238346269e-02 2.050129839647772e-02 2.050005495152270e-02 2.049881204279591e-02 + 2.049756967049427e-02 2.049632783497685e-02 2.049508653204386e-02 2.049384576061373e-02 2.049260552085964e-02 + 2.049136581124810e-02 2.049012662828215e-02 2.048888796855573e-02 2.048764983217528e-02 2.048641222055239e-02 + 2.048517513365279e-02 2.048393856449956e-02 2.048270250702790e-02 2.048146696002243e-02 2.048023193267689e-02 + 2.047899742444990e-02 2.047776342204647e-02 2.047652992557144e-02 2.047529693666283e-02 2.047406445284291e-02 + 2.047283247820367e-02 2.047160101124722e-02 2.047037003705319e-02 2.046913955996649e-02 2.046790958805229e-02 + 2.046668011290463e-02 2.046545112747173e-02 2.046422263048016e-02 2.046299462941648e-02 2.046176712182623e-02 + 2.046054009863872e-02 2.045931356011635e-02 2.045808750875261e-02 2.045686194483555e-02 2.045563685869128e-02 + 2.045441224888558e-02 2.045318812405373e-02 2.045196447539730e-02 2.045074129851060e-02 2.044951860203706e-02 + 2.044829637561388e-02 2.044707461146781e-02 2.044585332076453e-02 2.044463250090934e-02 2.044341214478788e-02 + 2.044219225389736e-02 2.044097282684260e-02 2.043975385980242e-02 2.043853534979080e-02 2.043731729516990e-02 + 2.043609969584751e-02 2.043488255365452e-02 2.043366586840525e-02 2.043244963622695e-02 2.043123384788510e-02 + 2.043001850356880e-02 2.042880361352058e-02 2.042758917125052e-02 2.042637516923373e-02 2.042516160738241e-02 + 2.042394848596822e-02 2.042273580364956e-02 2.042152355668345e-02 2.042031174421715e-02 2.041910036711696e-02 + 2.041788942589821e-02 2.041667891618270e-02 2.041546883283581e-02 2.041425917723074e-02 2.041304994671302e-02 + 2.041184113736942e-02 2.041063275507356e-02 2.040942479864618e-02 2.040821725911453e-02 2.040701013329647e-02 + 2.040580342336421e-02 2.040459713364973e-02 2.040339125626194e-02 2.040218578748979e-02 2.040098073437600e-02 + 2.039977609190064e-02 2.039857185194057e-02 2.039736801200263e-02 2.039616457948628e-02 2.039496155847034e-02 + 2.039375893548800e-02 2.039255670811317e-02 2.039135487906758e-02 2.039015344139171e-02 2.038895239754324e-02 + 2.038775175394349e-02 2.038655150008423e-02 2.038535163468296e-02 2.038415216492024e-02 2.038295307932101e-02 + 2.038175437156158e-02 2.038055604740632e-02 2.037935811014152e-02 2.037816055719221e-02 2.037696338008003e-02 + 2.037576657774965e-02 2.037457015197002e-02 2.037337410306159e-02 2.037217842811476e-02 2.037098312337542e-02 + 2.036978818702816e-02 2.036859361901312e-02 2.036739941883561e-02 2.036620558232109e-02 2.036501210897116e-02 + 2.036381899981477e-02 2.036262624936801e-02 2.036143385733716e-02 2.036024182706139e-02 2.035905014947786e-02 + 2.035785882153747e-02 2.035666784977269e-02 2.035547723079831e-02 2.035428696142468e-02 2.035309704319765e-02 + 2.035190747134853e-02 2.035071824110532e-02 2.034952935293085e-02 2.034834080749865e-02 2.034715260430401e-02 + 2.034596474052595e-02 2.034477721202228e-02 2.034359001578161e-02 2.034240315367684e-02 2.034121662664043e-02 + 2.034003043357028e-02 2.033884457132868e-02 2.033765903741480e-02 2.033647382949949e-02 2.033528894162872e-02 + 2.033410437471255e-02 2.033292013620119e-02 2.033173621775026e-02 2.033055261459435e-02 2.032936933387398e-02 + 2.032818637173341e-02 2.032700371995237e-02 2.032582137330103e-02 2.032463934032926e-02 2.032345762721536e-02 + 2.032227621977112e-02 2.032109511380310e-02 2.031991431266943e-02 2.031873381713771e-02 2.031755362367381e-02 + 2.031637372822898e-02 2.031519413522404e-02 2.031401484060572e-02 2.031283583475656e-02 2.031165712768451e-02 + 2.031047872082618e-02 2.030930060067025e-02 2.030812276414845e-02 2.030694521582938e-02 2.030576796297434e-02 + 2.030459099391277e-02 2.030341430130414e-02 2.030223789822972e-02 2.030106177803277e-02 2.029988592949474e-02 + 2.029871035725545e-02 2.029753506661443e-02 2.029636005659757e-02 2.029518531267896e-02 2.029401083596470e-02 + 2.029283663654064e-02 2.029166270589052e-02 2.029048903923464e-02 2.028931563858370e-02 2.028814250195392e-02 + 2.028696962711050e-02 2.028579701358946e-02 2.028462466440920e-02 2.028345257575578e-02 2.028228073462766e-02 + 2.028110914546667e-02 2.027993781542017e-02 2.027876674182124e-02 2.027759591671596e-02 2.027642533515473e-02 + 2.027525500323221e-02 2.027408491983729e-02 2.027291508043819e-02 2.027174548650143e-02 2.027057613494678e-02 + 2.026940701983228e-02 2.026823814087089e-02 2.026706949898955e-02 2.026590109425394e-02 2.026473292320746e-02 + 2.026356498366547e-02 2.026239727592488e-02 2.026122979922282e-02 2.026006255023894e-02 2.025889552388743e-02 + 2.025772872449768e-02 2.025656215399196e-02 2.025539580342713e-02 2.025422967119250e-02 2.025306375830951e-02 + 2.025189806183918e-02 2.025073258129647e-02 2.024956731656576e-02 2.024840226339874e-02 2.024723742127980e-02 + 2.024607279125879e-02 2.024490836776212e-02 2.024374415071052e-02 2.024258014353189e-02 2.024141633571028e-02 + 2.024025272656142e-02 2.023908932762591e-02 2.023792612793740e-02 2.023676312010299e-02 2.023560031179207e-02 + 2.023443769779265e-02 2.023327527310789e-02 2.023211304323675e-02 2.023095100708355e-02 2.022978916007167e-02 + 2.022862749919407e-02 2.022746602379288e-02 2.022630473371739e-02 2.022514362648272e-02 2.022398270121405e-02 + 2.022282195791762e-02 2.022166139402294e-02 2.022050100551405e-02 2.021934078921764e-02 2.021818074920451e-02 + 2.021702088593813e-02 2.021586119314628e-02 2.021470166428228e-02 2.021354230080554e-02 2.021238311308448e-02 + 2.021122409287018e-02 2.021006523025651e-02 2.020890652716039e-02 2.020774798484683e-02 2.020658960393083e-02 + 2.020543138529554e-02 2.020427332378045e-02 2.020311541298552e-02 2.020195765397637e-02 2.020080004744672e-02 + 2.019964259236717e-02 2.019848528642001e-02 2.019732812869024e-02 2.019617111926010e-02 2.019501425544548e-02 + 2.019385753379127e-02 2.019270095135025e-02 2.019154450793482e-02 2.019038820298517e-02 2.018923203417478e-02 + 2.018807600019563e-02 2.018692010151906e-02 2.018576433995726e-02 2.018460870891364e-02 2.018345320296787e-02 + 2.018229782843392e-02 2.018114258172615e-02 2.017998745649097e-02 2.017883245877245e-02 2.017767758620927e-02 + 2.017652283054322e-02 2.017536819223788e-02 2.017421367319040e-02 2.017305927292809e-02 2.017190498313902e-02 + 2.017075080461503e-02 2.016959674752286e-02 2.016844280049332e-02 2.016728895684716e-02 2.016613522539111e-02 + 2.016498159847723e-02 2.016382807033869e-02 2.016267465040216e-02 2.016152133310211e-02 2.016036811076429e-02 + 2.015921498985646e-02 2.015806197025070e-02 2.015690904702832e-02 2.015575621731957e-02 2.015460347791708e-02 + 2.015345082711757e-02 2.015229826996444e-02 2.015114580452791e-02 2.014999342256183e-02 2.014884112402139e-02 + 2.014768891079059e-02 2.014653678283008e-02 2.014538473229735e-02 2.014423275838842e-02 2.014308087159530e-02 + 2.014192906336537e-02 2.014077732405132e-02 2.013962565684693e-02 2.013847406112768e-02 2.013732253607323e-02 + 2.013617108558620e-02 2.013501970367529e-02 2.013386838304751e-02 2.013271713092954e-02 2.013156594450895e-02 + 2.013041481517404e-02 2.012926374836556e-02 2.012811274375330e-02 2.012696179396415e-02 2.012581089842930e-02 + 2.012466005832842e-02 2.012350927388322e-02 2.012235854139777e-02 2.012120785897021e-02 2.012005722808521e-02 + 2.011890664240422e-02 2.011775609861771e-02 2.011660560342765e-02 2.011545514995805e-02 2.011430473248947e-02 + 2.011315436328775e-02 2.011200403690588e-02 2.011085374071231e-02 2.010970347811273e-02 2.010855325123000e-02 + 2.010740305829795e-02 2.010625289543029e-02 2.010510276184403e-02 2.010395265874816e-02 2.010280258124321e-02 + 2.010165252783862e-02 2.010050250168409e-02 2.009935249835288e-02 2.009820251528310e-02 2.009705255512517e-02 + 2.009590261098061e-02 2.009475267797075e-02 2.009360276160796e-02 2.009245286068316e-02 2.009130297235736e-02 + 2.009015309860190e-02 2.008900323371492e-02 2.008785337125678e-02 2.008670351711407e-02 2.008555367122358e-02 + 2.008440382812401e-02 2.008325398588614e-02 2.008210414433437e-02 2.008095430334925e-02 2.007980445913736e-02 + 2.007865461009197e-02 2.007750475755383e-02 2.007635489836262e-02 2.007520502856765e-02 2.007405514609401e-02 + 2.007290525369839e-02 2.007175535352643e-02 2.007060544261636e-02 2.006945551378952e-02 2.006830556246986e-02 + 2.006715559358176e-02 2.006600560685722e-02 2.006485559907452e-02 2.006370557035152e-02 2.006255552017783e-02 + 2.006140544519211e-02 2.006025533608720e-02 2.005910519424486e-02 2.005795502866486e-02 2.005680483150780e-02 + 2.005565460068358e-02 2.005450434307724e-02 2.005335404752871e-02 2.005220370751987e-02 2.005105333078331e-02 + 2.004990291380246e-02 2.004875245256121e-02 2.004760195075808e-02 2.004645140541610e-02 2.004530081249103e-02 + 2.004415017386308e-02 2.004299948719255e-02 2.004184874893760e-02 2.004069796075558e-02 2.003954711861807e-02 + 2.003839621652469e-02 2.003724525928808e-02 2.003609424691447e-02 2.003494317431652e-02 2.003379204407136e-02 + 2.003264085311753e-02 2.003148959193977e-02 2.003033826577724e-02 2.002918687817827e-02 2.002803542325049e-02 + 2.002688389828578e-02 2.002573230084169e-02 2.002458062668545e-02 2.002342887779152e-02 2.002227705716231e-02 + 2.002112516254241e-02 2.001997318998642e-02 2.001882113644655e-02 2.001766900292078e-02 2.001651678857442e-02 + 2.001536448981540e-02 2.001421210083374e-02 2.001305962366636e-02 2.001190706486020e-02 2.001075441600587e-02 + 2.000960167234195e-02 2.000844883687991e-02 2.000729590520412e-02 2.000614287591466e-02 2.000498975435740e-02 + 2.000383653574291e-02 2.000268321490327e-02 2.000152979351511e-02 2.000037626872929e-02 1.999922263743778e-02 + 1.999806890154111e-02 1.999691505794393e-02 1.999576110265488e-02 1.999460703886217e-02 1.999345286480270e-02 + 1.999229857569377e-02 1.999114417297134e-02 1.998998965543275e-02 1.998883501902821e-02 1.998768026399775e-02 + 1.998652538946059e-02 1.998537039260291e-02 1.998421527483334e-02 1.998306003351848e-02 1.998190465988335e-02 + 1.998074915750420e-02 1.997959352937345e-02 1.997843776879367e-02 1.997728187765045e-02 1.997612585705249e-02 + 1.997496969649909e-02 1.997381339760593e-02 1.997265696528752e-02 1.997150039002939e-02 1.997034367059401e-02 + 1.996918681208352e-02 1.996802981226081e-02 1.996687266788810e-02 1.996571537594770e-02 1.996455793197006e-02 + 1.996340033608642e-02 1.996224259309599e-02 1.996108470119043e-02 1.995992665416334e-02 1.995876844505867e-02 + 1.995761008193637e-02 1.995645156786617e-02 1.995529288784624e-02 1.995413404457776e-02 1.995297504246996e-02 + 1.995181586885687e-02 1.995065652904149e-02 1.994949703248385e-02 1.994833736513130e-02 1.994717752162546e-02 + 1.994601750553184e-02 1.994485731663886e-02 1.994369695406686e-02 1.994253641736701e-02 1.994137570693218e-02 + 1.994021481716852e-02 1.993905373876526e-02 1.993789248152490e-02 1.993673104732284e-02 1.993556942048493e-02 + 1.993440760773439e-02 1.993324561433191e-02 1.993208342679873e-02 1.993092104568069e-02 1.992975847582151e-02 + 1.992859571315939e-02 1.992743275300710e-02 1.992626959353599e-02 1.992510623927749e-02 1.992394268911061e-02 + 1.992277893654564e-02 1.992161497535049e-02 1.992045080942924e-02 1.991928644769617e-02 1.991812187931771e-02 + 1.991695709651699e-02 1.991579210148713e-02 1.991462689658082e-02 1.991346148075462e-02 1.991229584907280e-02 + 1.991113000189043e-02 1.990996393932216e-02 1.990879765723607e-02 1.990763115454515e-02 1.990646443148474e-02 + 1.990529748687400e-02 1.990413031580006e-02 1.990296291532720e-02 1.990179529310021e-02 1.990062744303953e-02 + 1.989945935329500e-02 1.989829103342642e-02 1.989712248515872e-02 1.989595370004318e-02 1.989478467737964e-02 + 1.989361541884726e-02 1.989244592499573e-02 1.989127618925862e-02 1.989010620674421e-02 1.988893597834538e-02 + 1.988776550466197e-02 1.988659478703524e-02 1.988542382727661e-02 1.988425261506333e-02 1.988308114268849e-02 + 1.988190942098788e-02 1.988073745006194e-02 1.987956522359536e-02 1.987839274079954e-02 1.987722000000555e-02 + 1.987604699732070e-02 1.987487372670402e-02 1.987370019241589e-02 1.987252640362364e-02 1.987135234678179e-02 + 1.987017801708705e-02 1.986900342417090e-02 1.986782856130232e-02 1.986665342124566e-02 1.986547800516037e-02 + 1.986430231940191e-02 1.986312636323797e-02 1.986195012209680e-02 1.986077359858922e-02 1.985959679883774e-02 + 1.985841971608161e-02 1.985724235007767e-02 1.985606470192896e-02 1.985488676268764e-02 1.985370853173279e-02 + 1.985253001389235e-02 1.985135120589531e-02 1.985017210671596e-02 1.984899271721913e-02 1.984781303008921e-02 + 1.984663304141680e-02 1.984545275323681e-02 1.984427216416261e-02 1.984309127447186e-02 1.984191008724042e-02 + 1.984072859600846e-02 1.983954679442092e-02 1.983836468369445e-02 1.983718226650526e-02 1.983599954091759e-02 + 1.983481649574990e-02 1.983363313683907e-02 1.983244947316962e-02 1.983126549121019e-02 1.983008118452795e-02 + 1.982889655650101e-02 1.982771161407836e-02 1.982652635127155e-02 1.982534075477381e-02 1.982415483542671e-02 + 1.982296859699974e-02 1.982178202865004e-02 1.982059512679342e-02 1.981940789099672e-02 1.981822032140366e-02 + 1.981703241807743e-02 1.981584417989424e-02 1.981465560415464e-02 1.981346669171603e-02 1.981227744136961e-02 + 1.981108784415540e-02 1.980989790130036e-02 1.980870761757638e-02 1.980751698807925e-02 1.980632600934410e-02 + 1.980513468056937e-02 1.980394300171975e-02 1.980275097143216e-02 1.980155858653555e-02 1.980036584235624e-02 + 1.979917273943820e-02 1.979797928262491e-02 1.979678546489206e-02 1.979559128379798e-02 1.979439674657348e-02 + 1.979320184217468e-02 1.979200656369760e-02 1.979081092352834e-02 1.978961491694981e-02 1.978841853542797e-02 + 1.978722178317891e-02 1.978602465925507e-02 1.978482715855289e-02 1.978362927697639e-02 1.978243101628911e-02 + 1.978123238058121e-02 1.978003336668686e-02 1.977883396860304e-02 1.977763418131442e-02 1.977643400902304e-02 + 1.977523345232920e-02 1.977403250607500e-02 1.977283117205557e-02 1.977162944865208e-02 1.977042732702634e-02 + 1.976922480613855e-02 1.976802188997964e-02 1.976681858355301e-02 1.976561487769950e-02 1.976441076369096e-02 + 1.976320624890566e-02 1.976200133147697e-02 1.976079600616600e-02 1.975959027757971e-02 1.975838414138116e-02 + 1.975717758909272e-02 1.975597062600439e-02 1.975476325369590e-02 1.975355546738499e-02 1.975234726242962e-02 + 1.975113863825908e-02 1.974992959762522e-02 1.974872013640206e-02 1.974751025163228e-02 1.974629994489470e-02 + 1.974508921425132e-02 1.974387805573186e-02 1.974266646519683e-02 1.974145444319864e-02 1.974024199150465e-02 + 1.973902910920840e-02 1.973781579519036e-02 1.973660204598839e-02 1.973538785240977e-02 1.973417321684443e-02 + 1.973295814730416e-02 1.973174263781577e-02 1.973052668253849e-02 1.972931027913797e-02 1.972809342747564e-02 + 1.972687612827085e-02 1.972565838187941e-02 1.972444018482310e-02 1.972322153363352e-02 1.972200242687443e-02 + 1.972078286440720e-02 1.971956284541047e-02 1.971834236691286e-02 1.971712142485657e-02 1.971590001741145e-02 + 1.971467814826898e-02 1.971345581852119e-02 1.971223302479186e-02 1.971100975804211e-02 1.970978601823674e-02 + 1.970856181065497e-02 1.970733713228995e-02 1.970611197806177e-02 1.970488634450282e-02 1.970366023582840e-02 + 1.970243364879734e-02 1.970120657299705e-02 1.969997901837739e-02 1.969875098677333e-02 1.969752246217473e-02 + 1.969629345274012e-02 1.969506396226801e-02 1.969383397141272e-02 1.969260348756574e-02 1.969137252109090e-02 + 1.969014105730648e-02 1.968890909233832e-02 1.968767662961491e-02 1.968644366805134e-02 1.968521020635475e-02 + 1.968397624286150e-02 1.968274177331172e-02 1.968150679588088e-02 1.968027131148579e-02 1.967903532058098e-02 + 1.967779882218197e-02 1.967656181292412e-02 1.967532428489620e-02 1.967408623811289e-02 1.967284768294825e-02 + 1.967160860971293e-02 1.967036900987211e-02 1.966912889102269e-02 1.966788825153749e-02 1.966664708600774e-02 + 1.966540539310703e-02 1.966416317292449e-02 1.966292042476060e-02 1.966167714455673e-02 1.966043333167102e-02 + 1.965918898702837e-02 1.965794410650064e-02 1.965669868705162e-02 1.965545272765306e-02 1.965420622710374e-02 + 1.965295918609461e-02 1.965171160585919e-02 1.965046347855766e-02 1.964921480087875e-02 1.964796557872257e-02 + 1.964671580769246e-02 1.964546548231519e-02 1.964421460325605e-02 1.964296317129598e-02 1.964171118580111e-02 + 1.964045864365522e-02 1.963920554157133e-02 1.963795187629582e-02 1.963669764477085e-02 1.963544284945441e-02 + 1.963418749362842e-02 1.963293156932153e-02 1.963167507295046e-02 1.963041800662418e-02 1.962916036936736e-02 + 1.962790216073956e-02 1.962664338014056e-02 1.962538401760687e-02 1.962412407160046e-02 1.962286355381917e-02 + 1.962160245501161e-02 1.962034076606272e-02 1.961907849332115e-02 1.961781563715828e-02 1.961655219371613e-02 + 1.961528815879130e-02 1.961402353224150e-02 1.961275831461461e-02 1.961149250160691e-02 1.961022609250104e-02 + 1.960895908768241e-02 1.960769148013132e-02 1.960642326897369e-02 1.960515445887448e-02 1.960388504699325e-02 + 1.960261502901453e-02 1.960134440209794e-02 1.960007316755673e-02 1.959880132269796e-02 1.959752885956289e-02 + 1.959625578572781e-02 1.959498210471557e-02 1.959370780282661e-02 1.959243287776576e-02 1.959115733236078e-02 + 1.958988116575855e-02 1.958860437570835e-02 1.958732696070351e-02 1.958604892230215e-02 1.958477025538254e-02 + 1.958349095293616e-02 1.958221102005211e-02 1.958093045820349e-02 1.957964926225915e-02 1.957836742427244e-02 + 1.957708494595253e-02 1.957580183693370e-02 1.957451808573694e-02 1.957323368588814e-02 1.957194864588927e-02 + 1.957066295908808e-02 1.956937661864716e-02 1.956808962863577e-02 1.956680198857452e-02 1.956551369740821e-02 + 1.956422475810978e-02 1.956293516289206e-02 1.956164490198652e-02 1.956035397935251e-02 1.955906239928264e-02 + 1.955777016187055e-02 1.955647725858155e-02 1.955518368630142e-02 1.955388944730695e-02 1.955259453790914e-02 + 1.955129895574477e-02 1.955000270138056e-02 1.954870577278503e-02 1.954740816848287e-02 1.954610988870274e-02 + 1.954481093111385e-02 1.954351129226784e-02 1.954221096901902e-02 1.954090996078360e-02 1.953960826724446e-02 + 1.953830588603245e-02 1.953700281656794e-02 1.953569905855491e-02 1.953439460897686e-02 1.953308946443935e-02 + 1.953178362233442e-02 1.953047708245082e-02 1.952916984426731e-02 1.952786190592496e-02 1.952655326324738e-02 + 1.952524391408689e-02 1.952393385929222e-02 1.952262309949111e-02 1.952131163370209e-02 1.951999945844595e-02 + 1.951868656751035e-02 1.951737295829730e-02 1.951605863555755e-02 1.951474359789877e-02 1.951342784097203e-02 + 1.951211136184995e-02 1.951079415956861e-02 1.950947623396647e-02 1.950815758387342e-02 1.950683820574165e-02 + 1.950551809587482e-02 1.950419725560715e-02 1.950287568354725e-02 1.950155337574423e-02 1.950023033242808e-02 + 1.949890655251627e-02 1.949758203322258e-02 1.949625677745909e-02 1.949493078034667e-02 1.949360402739089e-02 + 1.949227653112452e-02 1.949094829757290e-02 1.948961930480046e-02 1.948828955781861e-02 1.948695906691206e-02 + 1.948562782150981e-02 1.948429581598615e-02 1.948296304982478e-02 1.948162952319633e-02 1.948029523591830e-02 + 1.947896018726217e-02 1.947762437581102e-02 1.947628779922486e-02 1.947495045397724e-02 1.947361233489661e-02 + 1.947227344348770e-02 1.947093378593678e-02 1.946959335022997e-02 1.946825212971076e-02 1.946691013283964e-02 + 1.946556736109183e-02 1.946422381089845e-02 1.946287947598024e-02 1.946153435147304e-02 1.946018843640089e-02 + 1.945884173551620e-02 1.945749424593349e-02 1.945614596164208e-02 1.945479688244431e-02 1.945344700980195e-02 + 1.945209634356683e-02 1.945074487666461e-02 1.944939260492236e-02 1.944803952905332e-02 1.944668565282712e-02 + 1.944533097303948e-02 1.944397548026850e-02 1.944261917903520e-02 1.944126207147254e-02 1.943990414971487e-02 + 1.943854540610747e-02 1.943718584222317e-02 1.943582547177293e-02 1.943446428245481e-02 1.943310226105812e-02 + 1.943173942068859e-02 1.943037575924362e-02 1.942901126749138e-02 1.942764594793762e-02 1.942627979717840e-02 + 1.942491280913776e-02 1.942354498868186e-02 1.942217633546996e-02 1.942080684436220e-02 1.941943651933332e-02 + 1.941806535493775e-02 1.941669333695301e-02 1.941532047644210e-02 1.941394677715704e-02 1.941257222315028e-02 + 1.941119681542690e-02 1.940982056035791e-02 1.940844345901757e-02 1.940706550055424e-02 1.940568667678698e-02 + 1.940430699663802e-02 1.940292645883611e-02 1.940154505765652e-02 1.940016279578962e-02 1.939877966977487e-02 + 1.939739567223053e-02 1.939601080219835e-02 1.939462506233509e-02 1.939323845462366e-02 1.939185096971125e-02 + 1.939046260516801e-02 1.938907336764642e-02 1.938768325184633e-02 1.938629225021856e-02 1.938490035911401e-02 + 1.938350758330235e-02 1.938211392651081e-02 1.938071938447496e-02 1.937932394922459e-02 1.937792761695239e-02 + 1.937653039473651e-02 1.937513227779157e-02 1.937373325789699e-02 1.937233333934693e-02 1.937093252080456e-02 + 1.936953079702195e-02 1.936812816928827e-02 1.936672463690015e-02 1.936532019607867e-02 1.936391484345597e-02 + 1.936250857586552e-02 1.936110139138094e-02 1.935969329410197e-02 1.935828428412852e-02 1.935687435366041e-02 + 1.935546349795341e-02 1.935405171682407e-02 1.935263901452006e-02 1.935122538845629e-02 1.934981083240821e-02 + 1.934839534117787e-02 1.934697891910190e-02 1.934556156924906e-02 1.934414327695751e-02 1.934272404361874e-02 + 1.934130387854031e-02 1.933988276959641e-02 1.933846071416343e-02 1.933703771882020e-02 1.933561377409585e-02 + 1.933418887831357e-02 1.933276303945045e-02 1.933133624375953e-02 1.932990848653697e-02 1.932847978247962e-02 + 1.932705012296452e-02 1.932561949662077e-02 1.932418790536504e-02 1.932275535526071e-02 1.932132184669807e-02 + 1.931988736608416e-02 1.931845191123332e-02 1.931701548648173e-02 1.931557809132799e-02 1.931413972218449e-02 + 1.931270037603072e-02 1.931126005688787e-02 1.930981875761609e-02 1.930837646527647e-02 1.930693319154590e-02 + 1.930548893938918e-02 1.930404369700001e-02 1.930259746628386e-02 1.930115024647330e-02 1.929970202824377e-02 + 1.929825281461415e-02 1.929680260792617e-02 1.929535140092010e-02 1.929389919235001e-02 1.929244598266550e-02 + 1.929099176842190e-02 1.928953654639375e-02 1.928808031414528e-02 1.928662307035359e-02 1.928516481711372e-02 + 1.928370555611205e-02 1.928224527966380e-02 1.928078398206115e-02 1.927932166173262e-02 1.927785831899656e-02 + 1.927639395364510e-02 1.927492856464996e-02 1.927346215243780e-02 1.927199471282116e-02 1.927052623652251e-02 + 1.926905672766994e-02 1.926758618873705e-02 1.926611461056382e-02 1.926464199150991e-02 1.926316833245443e-02 + 1.926169363057714e-02 1.926021788634381e-02 1.925874109903830e-02 1.925726325940621e-02 1.925578436860509e-02 + 1.925430443199749e-02 1.925282343948819e-02 1.925134138889128e-02 1.924985828498051e-02 1.924837411847957e-02 + 1.924688888599618e-02 1.924540259377309e-02 1.924391524090012e-02 1.924242682077230e-02 1.924093732460676e-02 + 1.923944675829762e-02 1.923795512510602e-02 1.923646241448938e-02 1.923496862521413e-02 1.923347375911634e-02 + 1.923197781292445e-02 1.923048078180134e-02 1.922898266296426e-02 1.922748346006174e-02 1.922598317069195e-02 + 1.922448178990142e-02 1.922297932164773e-02 1.922147575963824e-02 1.921997109174737e-02 1.921846532805457e-02 + 1.921695846861228e-02 1.921545049993734e-02 1.921394143207274e-02 1.921243126559395e-02 1.921091998083786e-02 + 1.920940758472120e-02 1.920789408374423e-02 1.920637946562360e-02 1.920486373146851e-02 1.920334688393281e-02 + 1.920182891329169e-02 1.920030981699324e-02 1.919878959725658e-02 1.919726825432456e-02 1.919574578635056e-02 + 1.919422218928470e-02 1.919269745661605e-02 1.919117158884151e-02 1.918964459045353e-02 1.918811645370936e-02 + 1.918658717454346e-02 1.918505675553962e-02 1.918352519296369e-02 1.918199248296462e-02 1.918045862469436e-02 + 1.917892361805418e-02 1.917738746182788e-02 1.917585015265352e-02 1.917431168820606e-02 1.917277206550804e-02 + 1.917123127946213e-02 1.916968933132487e-02 1.916814622316750e-02 1.916660194885779e-02 1.916505650873668e-02 + 1.916350990423480e-02 1.916196212155291e-02 1.916041316033273e-02 1.915886303062994e-02 1.915731172194125e-02 + 1.915575922930148e-02 1.915420555876758e-02 1.915265070860661e-02 1.915109467332810e-02 1.914953744666585e-02 + 1.914797902645569e-02 1.914641941412443e-02 1.914485861314037e-02 1.914329661713828e-02 1.914173341932142e-02 + 1.914016902223032e-02 1.913860342379879e-02 1.913703662029905e-02 1.913546861279183e-02 1.913389939805644e-02 + 1.913232897075573e-02 1.913075733118505e-02 1.912918447844714e-02 1.912761040908805e-02 1.912603511839811e-02 + 1.912445860715432e-02 1.912288088009771e-02 1.912130192853472e-02 1.911972174626816e-02 1.911814033569584e-02 + 1.911655769224527e-02 1.911497381452394e-02 1.911338870990516e-02 1.911180236957772e-02 1.911021478317005e-02 + 1.910862595492130e-02 1.910703588697045e-02 1.910544457683553e-02 1.910385201685182e-02 1.910225820527016e-02 + 1.910066314375077e-02 1.909906682830796e-02 1.909746925477876e-02 1.909587042200599e-02 1.909427033688354e-02 + 1.909266899402551e-02 1.909106637643193e-02 1.908946249114346e-02 1.908785734491775e-02 1.908625093213804e-02 + 1.908464324204344e-02 1.908303427175084e-02 1.908142403234494e-02 1.907981251534393e-02 1.907819971100440e-02 + 1.907658562789714e-02 1.907497026158614e-02 1.907335360333112e-02 1.907173565762024e-02 1.907011642370295e-02 + 1.906849589616872e-02 1.906687407274958e-02 1.906525095073851e-02 1.906362652703246e-02 1.906200080112851e-02 + 1.906037377260159e-02 1.905874543999789e-02 1.905711580005939e-02 1.905548484883143e-02 1.905385258297056e-02 + 1.905221900422594e-02 1.905058411108648e-02 1.904894789413228e-02 1.904731035325132e-02 1.904567149183364e-02 + 1.904403130952197e-02 1.904238980136186e-02 1.904074696113758e-02 1.903910278612417e-02 1.903745727544392e-02 + 1.903581042868199e-02 1.903416224385271e-02 1.903251272055347e-02 1.903086185871027e-02 1.902920965236104e-02 + 1.902755609551852e-02 1.902590118543579e-02 1.902424492713456e-02 1.902258731926820e-02 1.902092835050054e-02 + 1.901926802409253e-02 1.901760634215130e-02 1.901594329530476e-02 1.901427888303375e-02 1.901261310655987e-02 + 1.901094596056572e-02 1.900927744335199e-02 1.900760755425454e-02 1.900593628837979e-02 1.900426364429972e-02 + 1.900258962310978e-02 1.900091422355684e-02 1.899923743835855e-02 1.899755925950979e-02 1.899587969656637e-02 + 1.899419874741247e-02 1.899251639645128e-02 1.899083265299966e-02 1.898914752052511e-02 1.898746098477085e-02 + 1.898577304386013e-02 1.898408369969058e-02 1.898239295076986e-02 1.898070079269564e-02 1.897900722255288e-02 + 1.897731224261929e-02 1.897561584849886e-02 1.897391803334516e-02 1.897221879605241e-02 1.897051814026927e-02 + 1.896881606767167e-02 1.896711256470153e-02 1.896540762798833e-02 1.896370126437186e-02 1.896199347193909e-02 + 1.896028424413336e-02 1.895857357350164e-02 1.895686146124061e-02 1.895514791045918e-02 1.895343292131205e-02 + 1.895171648302300e-02 1.894999858923527e-02 1.894827924721451e-02 1.894655845419708e-02 1.894483620522033e-02 + 1.894311250187257e-02 1.894138733732357e-02 1.893966070463249e-02 1.893793261072514e-02 1.893620305335951e-02 + 1.893447202418282e-02 1.893273952309081e-02 1.893100555094376e-02 1.892927010627177e-02 1.892753318110494e-02 + 1.892579477108063e-02 1.892405487784487e-02 1.892231350329449e-02 1.892057064453369e-02 1.891882629307712e-02 + 1.891708044683251e-02 1.891533310610873e-02 1.891358427035544e-02 1.891183393696100e-02 1.891008210291091e-02 + 1.890832876617924e-02 1.890657392211156e-02 1.890481756749361e-02 1.890305970669826e-02 1.890130033664154e-02 + 1.889953944876527e-02 1.889777703845312e-02 1.889601310905792e-02 1.889424766560776e-02 1.889248069356991e-02 + 1.889071219005931e-02 1.888894216610460e-02 1.888717060771540e-02 1.888539750970531e-02 1.888362288621832e-02 + 1.888184672351093e-02 1.888006901097801e-02 1.887828976119468e-02 1.887650896887177e-02 1.887472662448569e-02 + 1.887294273026847e-02 1.887115728373587e-02 1.886937028132879e-02 1.886758172601296e-02 1.886579161241305e-02 + 1.886399993232671e-02 1.886220669095003e-02 1.886041188581822e-02 1.885861550746470e-02 1.885681755698847e-02 + 1.885501803485419e-02 1.885321693733238e-02 1.885141425906957e-02 1.884960999916156e-02 1.884780416185130e-02 + 1.884599674103886e-02 1.884418772927479e-02 1.884237712445391e-02 1.884056492700234e-02 1.883875113673901e-02 + 1.883693574995443e-02 1.883511876102816e-02 1.883330016667216e-02 1.883147997149076e-02 1.882965817385698e-02 + 1.882783476601560e-02 1.882600973926643e-02 1.882418309568715e-02 1.882235484340025e-02 1.882052497417560e-02 + 1.881869348031539e-02 1.881686035975185e-02 1.881502561164409e-02 1.881318923741505e-02 1.881135123913003e-02 + 1.880951160558249e-02 1.880767032900146e-02 1.880582741534564e-02 1.880398286136111e-02 1.880213666245483e-02 + 1.880028882149621e-02 1.879843933370182e-02 1.879658819228311e-02 1.879473539862031e-02 1.879288094991765e-02 + 1.879102484097325e-02 1.878916707209326e-02 1.878730764191372e-02 1.878544654683108e-02 1.878358378459472e-02 + 1.878171935183507e-02 1.877985324430765e-02 1.877798546179407e-02 1.877611600228067e-02 1.877424486050507e-02 + 1.877237203778229e-02 1.877049753324887e-02 1.876862133863330e-02 1.876674345293673e-02 1.876486387617420e-02 + 1.876298260257535e-02 1.876109963059111e-02 1.875921496034764e-02 1.875732858848502e-02 1.875544051216185e-02 + 1.875355072885378e-02 1.875165923449702e-02 1.874976602623304e-02 1.874787110336161e-02 1.874597446797304e-02 + 1.874407611425766e-02 1.874217603022874e-02 1.874027422146802e-02 1.873837068906284e-02 1.873646542198345e-02 + 1.873455842189881e-02 1.873264969164939e-02 1.873073922656172e-02 1.872882701964194e-02 1.872691306648714e-02 + 1.872499736923527e-02 1.872307992509612e-02 1.872116072949887e-02 1.871923978227258e-02 1.871731708186487e-02 + 1.871539262387551e-02 1.871346640021372e-02 1.871153841041527e-02 1.870960865979342e-02 1.870767714578883e-02 + 1.870574386089293e-02 1.870380879685916e-02 1.870187195798613e-02 1.869993334446320e-02 1.869799294696750e-02 + 1.869605076691687e-02 1.869410680376838e-02 1.869216104730458e-02 1.869021349836844e-02 1.868826416022470e-02 + 1.868631302853863e-02 1.868436009644664e-02 1.868240535897862e-02 1.868044881818047e-02 1.867849047172725e-02 + 1.867653031474529e-02 1.867456834731333e-02 1.867260456736053e-02 1.867063897034608e-02 1.866867155351236e-02 + 1.866670231459311e-02 1.866473125095620e-02 1.866275835809391e-02 1.866078363356833e-02 1.865880707775009e-02 + 1.865682868564128e-02 1.865484845476688e-02 1.865286638889887e-02 1.865088247751579e-02 1.864889671303901e-02 + 1.864690910747520e-02 1.864491965354244e-02 1.864292833855512e-02 1.864093516946379e-02 1.863894014384585e-02 + 1.863694325319922e-02 1.863494449952898e-02 1.863294388193027e-02 1.863094139526787e-02 1.862893703607748e-02 + 1.862693080034535e-02 1.862492268387857e-02 1.862291268732941e-02 1.862090081042848e-02 1.861888704957227e-02 + 1.861687140151818e-02 1.861485386231105e-02 1.861283442704270e-02 1.861081309610335e-02 1.860878986806025e-02 + 1.860676473338590e-02 1.860473769529663e-02 1.860270875778476e-02 1.860067790615180e-02 1.859864513789995e-02 + 1.859661045850656e-02 1.859457386260990e-02 1.859253534675110e-02 1.859049490946049e-02 1.858845254228221e-02 + 1.858640824383296e-02 1.858436201966219e-02 1.858231386031445e-02 1.858026376148910e-02 1.857821173011040e-02 + 1.857615775674864e-02 1.857410183289329e-02 1.857204396224591e-02 1.856998414158087e-02 1.856792236630606e-02 + 1.856585863699762e-02 1.856379295088432e-02 1.856172530348682e-02 1.855965569223371e-02 1.855758411493529e-02 + 1.855551056872843e-02 1.855343504862798e-02 1.855135755357239e-02 1.854927808391809e-02 1.854719662999937e-02 + 1.854511318947389e-02 1.854302776884543e-02 1.854094036342127e-02 1.853885096469986e-02 1.853675956540365e-02 + 1.853466616668727e-02 1.853257077183708e-02 1.853047338096206e-02 1.852837398473379e-02 1.852627257507170e-02 + 1.852416915520061e-02 1.852206372211816e-02 1.851995627104085e-02 1.851784680396669e-02 1.851573531468755e-02 + 1.851362179508880e-02 1.851150625260910e-02 1.850938868433302e-02 1.850726907790290e-02 1.850514743267316e-02 + 1.850302375022463e-02 1.850089802974987e-02 1.849877026321467e-02 1.849664044568886e-02 1.849450857919205e-02 + 1.849237466328984e-02 1.849023869225825e-02 1.848810065567833e-02 1.848596056072587e-02 1.848381841125062e-02 + 1.848167418759208e-02 1.847952788817062e-02 1.847737952020788e-02 1.847522908039946e-02 1.847307656165976e-02 + 1.847092195736722e-02 1.846876526733367e-02 1.846660649126623e-02 1.846444562782898e-02 1.846228267641075e-02 + 1.846011763022634e-02 1.845795047822359e-02 1.845578122357826e-02 1.845360986824314e-02 1.845143640646702e-02 + 1.844926083412144e-02 1.844708314829677e-02 1.844490334652741e-02 1.844272142526039e-02 1.844053738232335e-02 + 1.843835121884711e-02 1.843616292877729e-02 1.843397250473794e-02 1.843177994759022e-02 1.842958525561723e-02 + 1.842738842512387e-02 1.842518945510765e-02 1.842298833954339e-02 1.842078507029563e-02 1.841857965103055e-02 + 1.841637208298309e-02 1.841416236088061e-02 1.841195047731196e-02 1.840973642948215e-02 1.840752022011446e-02 + 1.840530184216091e-02 1.840308128892246e-02 1.840085856103635e-02 1.839863365911139e-02 1.839640658087383e-02 + 1.839417731924000e-02 1.839194587083986e-02 1.838971223370895e-02 1.838747640300020e-02 1.838523837692452e-02 + 1.838299815548432e-02 1.838075573582631e-02 1.837851111106092e-02 1.837626427462707e-02 1.837401523350234e-02 + 1.837176398539980e-02 1.836951051641877e-02 1.836725482529124e-02 1.836499691387402e-02 1.836273678151691e-02 + 1.836047442118306e-02 1.835820982858270e-02 1.835594300692513e-02 1.835367394977665e-02 1.835140264983480e-02 + 1.834912910825698e-02 1.834685332362546e-02 1.834457529066184e-02 1.834229500068380e-02 1.834001245612868e-02 + 1.833772766191195e-02 1.833544060380268e-02 1.833315127769170e-02 1.833085968975407e-02 1.832856583633842e-02 + 1.832626971106521e-02 1.832397130817964e-02 1.832167062581619e-02 1.831936766045366e-02 1.831706240632338e-02 + 1.831475486820015e-02 1.831244504576387e-02 1.831013292472488e-02 1.830781850356614e-02 1.830550178468002e-02 + 1.830318276421879e-02 1.830086143845657e-02 1.829853780375753e-02 1.829621185558813e-02 1.829388359300937e-02 + 1.829155301569956e-02 1.828922011662799e-02 1.828688489153528e-02 1.828454733892483e-02 1.828220745351499e-02 + 1.827986523367206e-02 1.827752068069898e-02 1.827517378500067e-02 1.827282454323407e-02 1.827047296291425e-02 + 1.826811903643735e-02 1.826576275326505e-02 1.826340410954280e-02 1.826104310998728e-02 1.825867975496676e-02 + 1.825631402943589e-02 1.825394593365713e-02 1.825157547349511e-02 1.824920264235266e-02 1.824682743095013e-02 + 1.824444983334214e-02 1.824206985531418e-02 1.823968749396920e-02 1.823730273947125e-02 1.823491559405069e-02 + 1.823252605635143e-02 1.823013411851380e-02 1.822773977727079e-02 1.822534302885856e-02 1.822294386817581e-02 + 1.822054229933361e-02 1.821813832218229e-02 1.821573192447362e-02 1.821332310276354e-02 1.821091185568656e-02 + 1.820849817689734e-02 1.820608206836350e-02 1.820366353310689e-02 1.820124256311412e-02 1.819881915016099e-02 + 1.819639328969794e-02 1.819396498477247e-02 1.819153423068764e-02 1.818910101812068e-02 1.818666535246774e-02 + 1.818422723286477e-02 1.818178664914423e-02 1.817934360000525e-02 1.817689808189780e-02 1.817445008627356e-02 + 1.817199961756547e-02 1.816954667558178e-02 1.816709124568389e-02 1.816463332917677e-02 1.816217292950077e-02 + 1.815971003769815e-02 1.815724465123547e-02 1.815477676809149e-02 1.815230637650250e-02 1.814983348051392e-02 + 1.814735808823705e-02 1.814488018072306e-02 1.814239975267995e-02 1.813991681262074e-02 1.813743135508509e-02 + 1.813494337086823e-02 1.813245285281114e-02 1.812995980445686e-02 1.812746422731492e-02 1.812496611573551e-02 + 1.812246546481565e-02 1.811996226848969e-02 1.811745651920204e-02 1.811494821957559e-02 1.811243737133842e-02 + 1.810992396481434e-02 1.810740799805441e-02 1.810488947142559e-02 1.810236837745802e-02 1.809984471224923e-02 + 1.809731847419077e-02 1.809478965788605e-02 1.809225826197647e-02 1.808972428730369e-02 1.808718772623545e-02 + 1.808464857219165e-02 1.808210682315950e-02 1.807956248210254e-02 1.807701554512131e-02 1.807446599893149e-02 + 1.807191384222250e-02 1.806935907649996e-02 1.806680169977935e-02 1.806424171112906e-02 1.806167910639137e-02 + 1.805911387430984e-02 1.805654601234490e-02 1.805397552118165e-02 1.805140239539148e-02 1.804882663464111e-02 + 1.804624823872755e-02 1.804366719439020e-02 1.804108350087335e-02 1.803849716547347e-02 1.803590817366155e-02 + 1.803331652090480e-02 1.803072221546651e-02 1.802812524400898e-02 1.802552559998909e-02 1.802292329257977e-02 + 1.802031831251088e-02 1.801771065083283e-02 1.801510031065072e-02 1.801248728509480e-02 1.800987156794499e-02 + 1.800725316456288e-02 1.800463207196059e-02 1.800200828229563e-02 1.799938179038418e-02 1.799675259135415e-02 + 1.799412068157979e-02 1.799148606152016e-02 1.798884872978088e-02 1.798620868169797e-02 1.798356590941466e-02 + 1.798092041139825e-02 1.797827219073602e-02 1.797562123473000e-02 1.797296753674024e-02 1.797031110360818e-02 + 1.796765193280976e-02 1.796499001786419e-02 1.796232535287627e-02 1.795965793501132e-02 1.795698776183851e-02 + 1.795431482887613e-02 1.795163913285315e-02 1.794896067070983e-02 1.794627943785036e-02 1.794359543174794e-02 + 1.794090865000600e-02 1.793821908548673e-02 1.793552673496832e-02 1.793283159877326e-02 1.793013367385930e-02 + 1.792743295577707e-02 1.792472944026945e-02 1.792202312682011e-02 1.791931400976357e-02 1.791660207728341e-02 + 1.791388733234035e-02 1.791116977642004e-02 1.790844939977351e-02 1.790572620127331e-02 1.790300018053203e-02 + 1.790027132960331e-02 1.789753964610457e-02 1.789480512776976e-02 1.789206776371137e-02 1.788932755546883e-02 + 1.788658450796398e-02 1.788383860557862e-02 1.788108984645815e-02 1.787833823870088e-02 1.787558376650758e-02 + 1.787282642238153e-02 1.787006621288861e-02 1.786730313584615e-02 1.786453718506033e-02 1.786176835331611e-02 + 1.785899663566110e-02 1.785622203220682e-02 1.785344454733639e-02 1.785066416506327e-02 1.784788087479271e-02 + 1.784509469481547e-02 1.784230561688990e-02 1.783951362363962e-02 1.783671871969004e-02 1.783392090351773e-02 + 1.783112016693977e-02 1.782831650359620e-02 1.782550991644932e-02 1.782270041052123e-02 1.781988796773664e-02 + 1.781707258188517e-02 1.781425426228424e-02 1.781143299909701e-02 1.780860878344276e-02 1.780578161636334e-02 + 1.780295150019453e-02 1.780011843142990e-02 1.779728239750767e-02 1.779444339320670e-02 1.779160141853593e-02 + 1.778875647528820e-02 1.778590855799184e-02 1.778305765851556e-02 1.778020377358821e-02 1.777734690358035e-02 + 1.777448704738365e-02 1.777162419310320e-02 1.776875833746895e-02 1.776588948369731e-02 1.776301762263940e-02 + 1.776014274927566e-02 1.775726486578331e-02 1.775438397030816e-02 1.775150005486545e-02 1.774861310790110e-02 + 1.774572313526677e-02 1.774283013776283e-02 1.773993409898065e-02 1.773703502220879e-02 1.773413291089222e-02 + 1.773122774923129e-02 1.772831953604024e-02 1.772540827370780e-02 1.772249394894422e-02 1.771957656009896e-02 + 1.771665611194296e-02 1.771373259698992e-02 1.771080600888477e-02 1.770787634473108e-02 1.770494360249459e-02 + 1.770200777818149e-02 1.769906886558849e-02 1.769612685929023e-02 1.769318175770428e-02 1.769023356261796e-02 + 1.768728226707501e-02 1.768432786370409e-02 1.768137035050212e-02 1.767840972761326e-02 1.767544598996190e-02 + 1.767247912224100e-02 1.766950912887429e-02 1.766653601772543e-02 1.766355977437013e-02 1.766058039164660e-02 + 1.765759786981226e-02 1.765461220736955e-02 1.765162339764906e-02 1.764863143247870e-02 1.764563631444012e-02 + 1.764263804044564e-02 1.763963660052613e-02 1.763663199590508e-02 1.763362422648862e-02 1.763061328532627e-02 + 1.762759916389677e-02 1.762458185742205e-02 1.762156136756127e-02 1.761853769290762e-02 1.761551082691653e-02 + 1.761248075761478e-02 1.760944748669641e-02 1.760641101894919e-02 1.760337134551661e-02 1.760032845807722e-02 + 1.759728235211478e-02 1.759423302856655e-02 1.759118048266074e-02 1.758812470690578e-02 1.758506570645847e-02 + 1.758200347417691e-02 1.757893799151254e-02 1.757586926700291e-02 1.757279730534286e-02 1.756972209521438e-02 + 1.756664362962799e-02 1.756356190543487e-02 1.756047692143249e-02 1.755738866974527e-02 1.755429714394244e-02 + 1.755120234663686e-02 1.754810427470094e-02 1.754500292288027e-02 1.754189829041229e-02 1.753879037098419e-02 + 1.753567915477636e-02 1.753256463576890e-02 1.752944681640228e-02 1.752632570156945e-02 1.752320127895599e-02 + 1.752007354011609e-02 1.751694248500407e-02 1.751380811099548e-02 1.751067041466748e-02 1.750752939229762e-02 + 1.750438503712632e-02 1.750123734468025e-02 1.749808631552286e-02 1.749493194526630e-02 1.749177422703599e-02 + 1.748861315463852e-02 1.748544872591071e-02 1.748228094036503e-02 1.747910979560325e-02 1.747593528635296e-02 + 1.747275740493088e-02 1.746957614261004e-02 1.746639150171011e-02 1.746320348827029e-02 1.746001208402579e-02 + 1.745681728232032e-02 1.745361909228664e-02 1.745041750587895e-02 1.744721251527593e-02 1.744400411995098e-02 + 1.744079231626219e-02 1.743757709612158e-02 1.743435844889677e-02 1.743113638300998e-02 1.742791090294012e-02 + 1.742468198827393e-02 1.742144963687445e-02 1.741821385208018e-02 1.741497462017237e-02 1.741173194001650e-02 + 1.740848581625378e-02 1.740523623716524e-02 1.740198319673262e-02 1.739872669626729e-02 1.739546673433575e-02 + 1.739220330474240e-02 1.738893639777237e-02 1.738566600801745e-02 1.738239213410604e-02 1.737911477739739e-02 + 1.737583393441487e-02 1.737254959973500e-02 1.736926176792087e-02 1.736597043319887e-02 1.736267559029083e-02 + 1.735937723525189e-02 1.735607536431420e-02 1.735276997535949e-02 1.734946106967137e-02 1.734614863942214e-02 + 1.734283267462293e-02 1.733951317984790e-02 1.733619014933173e-02 1.733286356952035e-02 1.732953344236944e-02 + 1.732619976822115e-02 1.732286254123125e-02 1.731952175476255e-02 1.731617740506982e-02 1.731282949118149e-02 + 1.730947800429541e-02 1.730612293897103e-02 1.730276429900506e-02 1.729940207772190e-02 1.729603626710180e-02 + 1.729266686687025e-02 1.728929387127552e-02 1.728591727431661e-02 1.728253707811547e-02 1.727915327486350e-02 + 1.727576585445017e-02 1.727237482415143e-02 1.726898017713387e-02 1.726558189725253e-02 1.726217999255776e-02 + 1.725877446141184e-02 1.725536528836806e-02 1.725195247427305e-02 1.724853602088567e-02 1.724511592318061e-02 + 1.724169217016580e-02 1.723826475637563e-02 1.723483368674653e-02 1.723139894995541e-02 1.722796053633534e-02 + 1.722451845482723e-02 1.722107270070567e-02 1.721762326419149e-02 1.721417014587169e-02 1.721071333868621e-02 + 1.720725283251134e-02 1.720378862838028e-02 1.720032072298445e-02 1.719684910908383e-02 1.719337378669194e-02 + 1.718989475327181e-02 1.718641200187306e-02 1.718292552719872e-02 1.717943532374793e-02 1.717594138625576e-02 + 1.717244371734551e-02 1.716894231509765e-02 1.716543716617480e-02 1.716192826455456e-02 1.715841561099909e-02 + 1.715489920993168e-02 1.715137904713604e-02 1.714785510917266e-02 1.714432741097788e-02 1.714079594608009e-02 + 1.713726069602739e-02 1.713372166332687e-02 1.713017885016558e-02 1.712663225240283e-02 1.712308185705881e-02 + 1.711952765873538e-02 1.711596966109396e-02 1.711240786053498e-02 1.710884225051524e-02 1.710527282476134e-02 + 1.710169958307061e-02 1.709812252022495e-02 1.709454162136748e-02 1.709095688985418e-02 1.708736832996113e-02 + 1.708377593024533e-02 1.708017968752960e-02 1.707657960032946e-02 1.707297565703870e-02 1.706936785401023e-02 + 1.706575619189593e-02 1.706214066346443e-02 1.705852126552140e-02 1.705489799818787e-02 1.705127085519305e-02 + 1.704763983091843e-02 1.704400492089210e-02 1.704036611449886e-02 1.703672340943711e-02 1.703307681394708e-02 + 1.702942631772786e-02 1.702577190966809e-02 1.702211358937508e-02 1.701845135582294e-02 1.701478520463906e-02 + 1.701111512687454e-02 1.700744111902223e-02 1.700376317991698e-02 1.700008130526762e-02 1.699639548886451e-02 + 1.699270572517141e-02 1.698901201362202e-02 1.698531434790372e-02 1.698161271901581e-02 1.697790713038581e-02 + 1.697419757947398e-02 1.697048405591379e-02 1.696676655885514e-02 1.696304508413142e-02 1.695931962055792e-02 + 1.695559016575875e-02 1.695185672007940e-02 1.694811928170539e-02 1.694437784303563e-02 1.694063239701608e-02 + 1.693688294268234e-02 1.693312947555357e-02 1.692937198914621e-02 1.692561047849961e-02 1.692184494218333e-02 + 1.691807537819241e-02 1.691430177590003e-02 1.691052413380094e-02 1.690674245501956e-02 1.690295672392027e-02 + 1.689916693403359e-02 1.689537309141036e-02 1.689157519031890e-02 1.688777322481082e-02 1.688396719247375e-02 + 1.688015708323470e-02 1.687634289028026e-02 1.687252461641300e-02 1.686870225976892e-02 1.686487581335405e-02 + 1.686104526641643e-02 1.685721061978611e-02 1.685337187596560e-02 1.684952902423863e-02 1.684568205626177e-02 + 1.684183096806695e-02 1.683797575916921e-02 1.683411642637722e-02 1.683025296370582e-02 1.682638536598722e-02 + 1.682251363071521e-02 1.681863775630957e-02 1.681475773295268e-02 1.681087355358095e-02 1.680698521822956e-02 + 1.680309272743823e-02 1.679919607564722e-02 1.679529524908240e-02 1.679139024683375e-02 1.678748107079098e-02 + 1.678356771499038e-02 1.677965016895157e-02 1.677572842703558e-02 1.677180249929987e-02 1.676787237703614e-02 + 1.676393804299063e-02 1.675999950051788e-02 1.675605674951069e-02 1.675210978219402e-02 1.674815858725950e-02 + 1.674420316518524e-02 1.674024352454331e-02 1.673627964747038e-02 1.673231152527195e-02 1.672833916857912e-02 + 1.672436256552257e-02 1.672038170373856e-02 1.671639658470834e-02 1.671240720840105e-02 1.670841357063555e-02 + 1.670441566220705e-02 1.670041347959014e-02 1.669640702110204e-02 1.669239628051189e-02 1.668838125191250e-02 + 1.668436193143650e-02 1.668033831890629e-02 1.667631040878886e-02 1.667227819212758e-02 1.666824166734860e-02 + 1.666420083129591e-02 1.666015567735254e-02 1.665610620005455e-02 1.665205239678242e-02 1.664799426695549e-02 + 1.664393180284348e-02 1.663986499713315e-02 1.663579384792829e-02 1.663171835503466e-02 1.662763851356003e-02 + 1.662355430939835e-02 1.661946574092143e-02 1.661537281150426e-02 1.661127551677910e-02 1.660717384720702e-02 + 1.660306779425839e-02 1.659895736095696e-02 1.659484254425630e-02 1.659072333444665e-02 1.658659972465595e-02 + 1.658247171530552e-02 1.657833931027815e-02 1.657420249617699e-02 1.657006126301349e-02 1.656591561144095e-02 + 1.656176553662080e-02 1.655761103381663e-02 1.655345210211223e-02 1.654928873901935e-02 1.654512093811135e-02 + 1.654094868807454e-02 1.653677198858015e-02 1.653259084096055e-02 1.652840523447503e-02 1.652421516561530e-02 + 1.652002063436291e-02 1.651582163151349e-02 1.651161815099949e-02 1.650741019156900e-02 1.650319775344297e-02 + 1.649898082810461e-02 1.649475940168675e-02 1.649053348141889e-02 1.648630306850305e-02 1.648206814836095e-02 + 1.647782871114676e-02 1.647358475732917e-02 1.646933629656457e-02 1.646508330893651e-02 1.646082578033714e-02 + 1.645656373337251e-02 1.645229715576629e-02 1.644802602626009e-02 1.644375035674409e-02 1.643947014097659e-02 + 1.643518536281393e-02 1.643089602671802e-02 1.642660213310334e-02 1.642230367492405e-02 1.641800064388943e-02 + 1.641369303446324e-02 1.640938084474308e-02 1.640506407467653e-02 1.640074271742540e-02 1.639641675907646e-02 + 1.639208620097271e-02 1.638775104513307e-02 1.638341128505268e-02 1.637906691499287e-02 1.637471792980197e-02 + 1.637036432400064e-02 1.636600609175647e-02 1.636164322915392e-02 1.635727573684415e-02 1.635290360792794e-02 + 1.634852683359730e-02 1.634414541697593e-02 1.633975935494602e-02 1.633536863669590e-02 1.633097325119221e-02 + 1.632657319870386e-02 1.632216848742881e-02 1.631775910539292e-02 1.631334504210032e-02 1.630892629731235e-02 + 1.630450287107613e-02 1.630007475715268e-02 1.629564194133085e-02 1.629120442381021e-02 1.628676220752001e-02 + 1.628231528645751e-02 1.627786365361661e-02 1.627340730437480e-02 1.626894623909321e-02 1.626448044809207e-02 + 1.626000991935131e-02 1.625553465710418e-02 1.625105466086324e-02 1.624656992364918e-02 1.624208044008659e-02 + 1.623758620493278e-02 1.623308721259990e-02 1.622858345750622e-02 1.622407493651434e-02 1.621956164908100e-02 + 1.621504359102545e-02 1.621052075671857e-02 1.620599314061202e-02 1.620146073758967e-02 1.619692354185834e-02 + 1.619238154678624e-02 1.618783475477294e-02 1.618328316706134e-02 1.617872676957040e-02 1.617416555535298e-02 + 1.616959952441603e-02 1.616502867670949e-02 1.616045300241566e-02 1.615587248863419e-02 1.615128714307292e-02 + 1.614669696726644e-02 1.614210195036420e-02 1.613750207990814e-02 1.613289735436475e-02 1.612828778261194e-02 + 1.612367334765880e-02 1.611905403879705e-02 1.611442986870223e-02 1.610980082722066e-02 1.610516690212456e-02 + 1.610052809916244e-02 1.609588441136000e-02 1.609123582829610e-02 1.608658235171540e-02 1.608192397521171e-02 + 1.607726068992654e-02 1.607259250083978e-02 1.606791940362701e-02 1.606324138657220e-02 1.605855844962495e-02 + 1.605387058768025e-02 1.604917779011535e-02 1.604448006054786e-02 1.603977739874237e-02 1.603506979420087e-02 + 1.603035723984084e-02 1.602563973257448e-02 1.602091727188371e-02 1.601618984720332e-02 1.601145745295015e-02 + 1.600672010067149e-02 1.600197777942985e-02 1.599723047266619e-02 1.599247818462375e-02 1.598772091449355e-02 + 1.598295865408641e-02 1.597819139147786e-02 1.597341912912636e-02 1.596864187530068e-02 1.596385961058315e-02 + 1.595907232771693e-02 1.595428003613896e-02 1.594948272828454e-02 1.594468039178993e-02 1.593987301780130e-02 + 1.593506061365002e-02 1.593024318102167e-02 1.592542070422077e-02 1.592059317798925e-02 1.591576060279083e-02 + 1.591092297799217e-02 1.590608029141302e-02 1.590123253274349e-02 1.589637971157846e-02 1.589152182656434e-02 + 1.588665886609507e-02 1.588179081847464e-02 1.587691768450550e-02 1.587203947045915e-02 1.586715616213467e-02 + 1.586226775168990e-02 1.585737424168921e-02 1.585247562649581e-02 1.584757190117160e-02 1.584266306445842e-02 + 1.583774911091078e-02 1.583283003450806e-02 1.582790583090947e-02 1.582297649499978e-02 1.581804202355953e-02 + 1.581310241701619e-02 1.580815766650671e-02 1.580320776320766e-02 1.579825271139450e-02 1.579329250537274e-02 + 1.578832713506978e-02 1.578335660262603e-02 1.577838090296324e-02 1.577340002574811e-02 1.576841397243399e-02 + 1.576342274326813e-02 1.575842633194578e-02 1.575342472205075e-02 1.574841791148685e-02 1.574340591569888e-02 + 1.573838872006093e-02 1.573336631006632e-02 1.572833869008299e-02 1.572330586230670e-02 1.571826781924578e-02 + 1.571322454052314e-02 1.570817603062760e-02 1.570312230059812e-02 1.569806333998715e-02 1.569299913693516e-02 + 1.568792968457186e-02 1.568285498663007e-02 1.567777503779379e-02 1.567268982728102e-02 1.566759935997030e-02 + 1.566250363482262e-02 1.565740264102256e-02 1.565229637077196e-02 1.564718482295817e-02 1.564206800099241e-02 + 1.563694589151567e-02 1.563181848599405e-02 1.562668579194260e-02 1.562154780177149e-02 1.561640450642917e-02 + 1.561125590888111e-02 1.560610200797837e-02 1.560094279515962e-02 1.559577825343192e-02 1.559060838842812e-02 + 1.558543321151646e-02 1.558025270088283e-02 1.557506685188879e-02 1.556987567405825e-02 1.556467915294808e-02 + 1.555947727806998e-02 1.555427005014520e-02 1.554905747326830e-02 1.554383954557267e-02 1.553861625685508e-02 + 1.553338760005679e-02 1.552815357203842e-02 1.552291417232042e-02 1.551766939022104e-02 1.551241921985975e-02 + 1.550716367246923e-02 1.550190274051892e-02 1.549663640983429e-02 1.549136467943576e-02 1.548608754911306e-02 + 1.548080501516420e-02 1.547551706650131e-02 1.547022370107663e-02 1.546492492363977e-02 1.545962073006300e-02 + 1.545431111106912e-02 1.544899605692932e-02 1.544367557060635e-02 1.543834964941066e-02 1.543301828099291e-02 + 1.542768146907574e-02 1.542233921474585e-02 1.541699150599057e-02 1.541163833967913e-02 1.540627971422265e-02 + 1.540091562222576e-02 1.539554606062004e-02 1.539017102808156e-02 1.538479052048013e-02 1.537940453376258e-02 + 1.537401306270197e-02 1.536861609811398e-02 1.536321364249661e-02 1.535780570199338e-02 1.535239225620149e-02 + 1.534697329939463e-02 1.534154884369051e-02 1.533611887960563e-02 1.533068339829330e-02 1.532524239983298e-02 + 1.531979587995433e-02 1.531434383110085e-02 1.530888624554550e-02 1.530342313142362e-02 1.529795449144603e-02 + 1.529248030485156e-02 1.528700056732233e-02 1.528151528324413e-02 1.527602445059826e-02 1.527052806021316e-02 + 1.526502610370102e-02 1.525951858764995e-02 1.525400550804322e-02 1.524848685322667e-02 1.524296262660809e-02 + 1.523743282528689e-02 1.523189743753784e-02 1.522635646012132e-02 1.522080989370855e-02 1.521525773883866e-02 + 1.520969998584297e-02 1.520413662809972e-02 1.519856766896251e-02 1.519299310438481e-02 1.518741292689401e-02 + 1.518182713051541e-02 1.517623571498702e-02 1.517063867977171e-02 1.516503601659771e-02 1.515942772580205e-02 + 1.515381380882217e-02 1.514819425008754e-02 1.514256904339338e-02 1.513693819284546e-02 1.513130169987854e-02 + 1.512565955837021e-02 1.512001175774349e-02 1.511435830052952e-02 1.510869918485496e-02 1.510303439909880e-02 + 1.509736393861015e-02 1.509168780464220e-02 1.508600600178219e-02 1.508031852355242e-02 1.507462535986425e-02 + 1.506892650464710e-02 1.506322195838325e-02 1.505751172137055e-02 1.505179578553525e-02 1.504607414992266e-02 + 1.504034681527993e-02 1.503461377008154e-02 1.502887501067205e-02 1.502313053999477e-02 1.501738035243006e-02 + 1.501162444030474e-02 1.500586279803602e-02 1.500009542963074e-02 1.499432233574762e-02 1.498854350912934e-02 + 1.498275894315130e-02 1.497696863387312e-02 1.497117258012378e-02 1.496537077480856e-02 1.495956321394884e-02 + 1.495374990400090e-02 1.494793083920974e-02 1.494210600904758e-02 1.493627541059610e-02 1.493043904648383e-02 + 1.492459691659297e-02 1.491874900408085e-02 1.491289530722370e-02 1.490703583623931e-02 1.490117058646935e-02 + 1.489529954725381e-02 1.488942270892006e-02 1.488354007804980e-02 1.487765165385858e-02 1.487175742273507e-02 + 1.486585738883519e-02 1.485995155398175e-02 1.485403990610964e-02 1.484812243988829e-02 1.484219915557141e-02 + 1.483627005584607e-02 1.483033513203473e-02 1.482439437542072e-02 1.481844779264578e-02 1.481249538141862e-02 + 1.480653713381494e-02 1.480057304868135e-02 1.479460312202780e-02 1.478862734716873e-02 1.478264572087699e-02 + 1.477665824308106e-02 1.477066491441443e-02 1.476466572742758e-02 1.475866067903805e-02 1.475264977269339e-02 + 1.474663299844858e-02 1.474061034872640e-02 1.473458182710518e-02 1.472854743115566e-02 1.472250715651883e-02 + 1.471646100132783e-02 1.471040896256117e-02 1.470435103749897e-02 1.469828722554372e-02 1.469221751827344e-02 + 1.468614190646898e-02 1.468006039547928e-02 1.467397298615093e-02 1.466787967378610e-02 1.466178045636883e-02 + 1.465567533041493e-02 1.464956428982840e-02 1.464344732703370e-02 1.463732444018100e-02 1.463119563426315e-02 + 1.462506090797482e-02 1.461892025637629e-02 1.461277367320199e-02 1.460662115516677e-02 1.460046270026797e-02 + 1.459429830605704e-02 1.458812796887011e-02 1.458195168595082e-02 1.457576945823491e-02 1.456958128559711e-02 + 1.456338716422361e-02 1.455718708308891e-02 1.455098103823577e-02 1.454476903226018e-02 1.453855106504101e-02 + 1.453232713525658e-02 1.452609724028033e-02 1.451986137384772e-02 1.451361953112174e-02 1.450737171027855e-02 + 1.450111790831084e-02 1.449485812287890e-02 1.448859235383744e-02 1.448232060352556e-02 1.447604287018101e-02 + 1.446975914267516e-02 1.446346941597466e-02 1.445717368938523e-02 1.445087196279080e-02 1.444456423724572e-02 + 1.443825051237331e-02 1.443193078136921e-02 1.442560503975330e-02 1.441927328581930e-02 1.441293551683267e-02 + 1.440659172970616e-02 1.440024192165075e-02 1.439388609177658e-02 1.438752424156573e-02 1.438115637277796e-02 + 1.437478247503487e-02 1.436840254149195e-02 1.436201657648160e-02 1.435562457263202e-02 1.434922652522855e-02 + 1.434282244486077e-02 1.433641232984850e-02 1.432999617114929e-02 1.432357396196595e-02 1.431714570255755e-02 + 1.431071139387867e-02 1.430427102559402e-02 1.429782460021014e-02 1.429137212732056e-02 1.428491359501307e-02 + 1.427844899676062e-02 1.427197833606156e-02 1.426550161130239e-02 1.425901881685885e-02 1.425252994564961e-02 + 1.424603499980085e-02 1.423953398385027e-02 1.423302689906778e-02 1.422651373475527e-02 1.421999448399202e-02 + 1.421346915585374e-02 1.420693774198730e-02 1.420040023237321e-02 1.419385663850131e-02 1.418730696003290e-02 + 1.418075118751426e-02 1.417418931634679e-02 1.416762135086922e-02 1.416104729584521e-02 1.415446713263836e-02 + 1.414788085973522e-02 1.414128849363525e-02 1.413469002361970e-02 1.412808544052846e-02 1.412147474772301e-02 + 1.411485794712882e-02 1.410823503604182e-02 1.410160600672222e-02 1.409497085818714e-02 1.408832959214252e-02 + 1.408168220875668e-02 1.407502870564407e-02 1.406836907961611e-02 1.406170332864153e-02 1.405503144837146e-02 + 1.404835343608425e-02 1.404166929852345e-02 1.403497903248639e-02 1.402828262916828e-02 1.402158009603205e-02 + 1.401487143048169e-02 1.400815661918214e-02 1.400143566703935e-02 1.399470857625501e-02 1.398797534046779e-02 + 1.398123596549795e-02 1.397449045134991e-02 1.396773878380821e-02 1.396098096640959e-02 1.395421700271061e-02 + 1.394744688102961e-02 1.394067060648909e-02 1.393388818692338e-02 1.392709961198955e-02 1.392030488001634e-02 + 1.391350399327543e-02 1.390669694254475e-02 1.389988372719557e-02 1.389306435287330e-02 1.388623881438261e-02 + 1.387940711188756e-02 1.387256925103053e-02 1.386572522405790e-02 1.385887502683316e-02 1.385201866296698e-02 + 1.384515612379329e-02 1.383828740611332e-02 1.383141252098464e-02 1.382453146615934e-02 1.381764423695148e-02 + 1.381075083621117e-02 1.380385125926009e-02 1.379694549932224e-02 1.379003355634722e-02 1.378311543405784e-02 + 1.377619113577579e-02 1.376926065784134e-02 1.376232399626086e-02 1.375538114862362e-02 1.374843211529037e-02 + 1.374147689626999e-02 1.373451549097131e-02 1.372754790081035e-02 1.372057412482435e-02 1.371359415880417e-02 + 1.370660800191563e-02 1.369961565562416e-02 1.369261712158748e-02 1.368561239160383e-02 1.367860146147292e-02 + 1.367158434223160e-02 1.366456103295884e-02 1.365753152816715e-02 1.365049582984413e-02 1.364345393626983e-02 + 1.363640584363454e-02 1.362935155197557e-02 1.362229106201978e-02 1.361522437421294e-02 1.360815148809621e-02 + 1.360107240365773e-02 1.359398712117658e-02 1.358689563898480e-02 1.357979795217255e-02 1.357269405533802e-02 + 1.356558396017600e-02 1.355846767355538e-02 1.355134518540141e-02 1.354421648973967e-02 1.353708158728038e-02 + 1.352994048497773e-02 1.352279317412557e-02 1.351563964921714e-02 1.350847993234027e-02 1.350131401794928e-02 + 1.349414188812881e-02 1.348696355361660e-02 1.347977901858603e-02 1.347258827670450e-02 1.346539132112732e-02 + 1.345818815687027e-02 1.345097879723517e-02 1.344376323611521e-02 1.343654146470481e-02 1.342931348024562e-02 + 1.342207929164266e-02 1.341483890125029e-02 1.340759229714105e-02 1.340033948592649e-02 1.339308047488992e-02 + 1.338581525615185e-02 1.337854383232506e-02 1.337126620737807e-02 1.336398237245951e-02 1.335669232490426e-02 + 1.334939606999042e-02 1.334209361886319e-02 1.333478496691931e-02 1.332747010093965e-02 1.332014902896288e-02 + 1.331282175723704e-02 1.330548828381385e-02 1.329814860211957e-02 1.329080271412866e-02 1.328345063097246e-02 + 1.327609234424045e-02 1.326872784914616e-02 1.326135715657202e-02 1.325398026514318e-02 1.324659716972378e-02 + 1.323920787031880e-02 1.323181236976987e-02 1.322441067219326e-02 1.321700278123619e-02 1.320958869473772e-02 + 1.320216840889533e-02 1.319474192647233e-02 1.318730924299288e-02 1.317987035320805e-02 1.317242527523754e-02 + 1.316497401404441e-02 1.315751655750498e-02 1.315005290457417e-02 1.314258305915991e-02 1.313510702533477e-02 + 1.312762479749873e-02 1.312013637454663e-02 1.311264176674524e-02 1.310514097528989e-02 1.309763399743803e-02 + 1.309012083240218e-02 1.308260148524151e-02 1.307507595779872e-02 1.306754423810231e-02 1.306000633130083e-02 + 1.305246225068735e-02 1.304491199415833e-02 1.303735555888092e-02 1.302979294561730e-02 1.302222416114251e-02 + 1.301464920127586e-02 1.300706805512286e-02 1.299948074007148e-02 1.299188726392925e-02 1.298428761376350e-02 + 1.297668178953030e-02 1.296906979917289e-02 1.296145165196894e-02 1.295382733572278e-02 1.294619684321666e-02 + 1.293856019418804e-02 1.293091739361701e-02 1.292326843600229e-02 1.291561331594024e-02 1.290795203962965e-02 + 1.290028461406370e-02 1.289261102589192e-02 1.288493127982097e-02 1.287724539399148e-02 1.286955336728896e-02 + 1.286185519483855e-02 1.285415087393522e-02 1.284644040779901e-02 1.283872379943217e-02 1.283100105007112e-02 + 1.282327216499671e-02 1.281553714651719e-02 1.280779599126801e-02 1.280004870582322e-02 1.279229529551004e-02 + 1.278453575462785e-02 1.277677008230648e-02 1.276899828322272e-02 1.276122036637128e-02 1.275343633303281e-02 + 1.274564618082443e-02 1.273784991358546e-02 1.273004753391990e-02 1.272223904101719e-02 1.271442442957637e-02 + 1.270660370794978e-02 1.269877689384363e-02 1.269094397773904e-02 1.268310495443295e-02 1.267525983383190e-02 + 1.266740862159357e-02 1.265955131610305e-02 1.265168790986125e-02 1.264381841321034e-02 1.263594283614933e-02 + 1.262806117310012e-02 1.262017342951705e-02 1.261227961209872e-02 1.260437971406514e-02 1.259647373729069e-02 + 1.258856168925583e-02 1.258064357239260e-02 1.257271939240096e-02 1.256478915520078e-02 1.255685285459754e-02 + 1.254891049173029e-02 1.254096207570647e-02 1.253300760376554e-02 1.252504707668881e-02 1.251708050378790e-02 + 1.250910789128773e-02 1.250112924190730e-02 1.249314455497329e-02 1.248515382942968e-02 1.247715706626537e-02 + 1.246915427066142e-02 1.246114545004359e-02 1.245313061093009e-02 1.244510975519442e-02 1.243708288271855e-02 + 1.242904999334644e-02 1.242101108960597e-02 1.241296617602342e-02 1.240491525784085e-02 1.239685833832253e-02 + 1.238879542265411e-02 1.238072651672425e-02 1.237265161832934e-02 1.236457072972670e-02 1.235648385971585e-02 + 1.234839100475330e-02 1.234029216644840e-02 1.233218735967670e-02 1.232407658450629e-02 1.231595983825897e-02 + 1.230783712734204e-02 1.229970846199802e-02 1.229157384500942e-02 1.228343326032102e-02 1.227528672233900e-02 + 1.226713425500730e-02 1.225897584359588e-02 1.225081148758153e-02 1.224264120133804e-02 1.223446498720786e-02 + 1.222628284514866e-02 1.221809477711035e-02 1.220990079161559e-02 1.220170089405064e-02 1.219349508434973e-02 + 1.218528336781141e-02 1.217706575082829e-02 1.216884223701085e-02 1.216061282093886e-02 1.215237750559525e-02 + 1.214413631491834e-02 1.213588924765066e-02 1.212763629639266e-02 1.211937747504947e-02 1.211111278696468e-02 + 1.210284222899338e-02 1.209456580676226e-02 1.208628352659129e-02 1.207799539529086e-02 1.206970142400196e-02 + 1.206140161359375e-02 1.205309595715539e-02 1.204478446558403e-02 1.203646714593309e-02 1.202814399601385e-02 + 1.201981502726849e-02 1.201148024892713e-02 1.200313965960066e-02 1.199479326438714e-02 1.198644106975963e-02 + 1.197808307814890e-02 1.196971928979660e-02 1.196134970757412e-02 1.195297434273665e-02 1.194459320579336e-02 + 1.193620630286995e-02 1.192781363156250e-02 1.191941519457288e-02 1.191101099930699e-02 1.190260104978759e-02 + 1.189418535108248e-02 1.188576391078268e-02 1.187733673904143e-02 1.186890383909906e-02 1.186046520717658e-02 + 1.185202085452967e-02 1.184357078721630e-02 1.183511499765447e-02 1.182665350164435e-02 1.181818631619212e-02 + 1.180971343948878e-02 1.180123487113532e-02 1.179275061618258e-02 1.178426068678883e-02 1.177576508273127e-02 + 1.176726380098327e-02 1.175875685721244e-02 1.175024426443667e-02 1.174172602804813e-02 1.173320214474543e-02 + 1.172467261918110e-02 1.171613746318596e-02 1.170759667473828e-02 1.169905025976067e-02 1.169049823639713e-02 + 1.168194060529573e-02 1.167337736787376e-02 1.166480853596695e-02 1.165623411322526e-02 1.164765410079015e-02 + 1.163906850325271e-02 1.163047732858534e-02 1.162188058835008e-02 1.161327829716097e-02 1.160467045202270e-02 + 1.159605704763531e-02 1.158743810702480e-02 1.157881363156412e-02 1.157018361041755e-02 1.156154807040710e-02 + 1.155290702254676e-02 1.154426045745637e-02 1.153560838867705e-02 1.152695082724772e-02 1.151828777265603e-02 + 1.150961922666123e-02 1.150094519786783e-02 1.149226570234640e-02 1.148358074611148e-02 1.147489033148848e-02 + 1.146619446355201e-02 1.145749315215113e-02 1.144878640491215e-02 1.144007421936342e-02 1.143135660500108e-02 + 1.142263357779597e-02 1.141390514531738e-02 1.140517131031360e-02 1.139643207471360e-02 1.138768744746770e-02 + 1.137893743736065e-02 1.137018205114591e-02 1.136142129485616e-02 1.135265517811921e-02 1.134388371322748e-02 + 1.133510690045416e-02 1.132632474439678e-02 1.131753726104511e-02 1.130874445081251e-02 1.129994631541456e-02 + 1.129114287234474e-02 1.128233413053084e-02 1.127352009524980e-02 1.126470077646612e-02 1.125587617975814e-02 + 1.124704630615814e-02 1.123821115477194e-02 1.122937074388692e-02 1.122052509984340e-02 1.121167421843202e-02 + 1.120281809651728e-02 1.119395674175946e-02 1.118509017235879e-02 1.117621839625571e-02 1.116734140890626e-02 + 1.115845922925729e-02 1.114957187162777e-02 1.114067933143962e-02 1.113178161769016e-02 1.112287874451852e-02 + 1.111397072153178e-02 1.110505754694771e-02 1.109613922373310e-02 1.108721577854856e-02 1.107828721826434e-02 + 1.106935353946150e-02 1.106041475521090e-02 1.105147087839408e-02 1.104252191603393e-02 1.103356786436798e-02 + 1.102460873384026e-02 1.101564454870664e-02 1.100667531791245e-02 1.099770104268406e-02 1.098872172333136e-02 + 1.097973737703280e-02 1.097074801492989e-02 1.096175363206450e-02 1.095275424291130e-02 1.094374986633713e-02 + 1.093474051123777e-02 1.092572618232803e-02 1.091670688531980e-02 1.090768263148204e-02 1.089865342255811e-02 + 1.088961926240844e-02 1.088058018050034e-02 1.087153618780464e-02 1.086248727940419e-02 1.085343346361914e-02 + 1.084437475261139e-02 1.083531115780061e-02 1.082624268419920e-02 1.081716934144050e-02 1.080809114559821e-02 + 1.079900810312026e-02 1.078992022093278e-02 1.078082751184906e-02 1.077172998533364e-02 1.076262764813011e-02 + 1.075352050586474e-02 1.074440857092024e-02 1.073529185762834e-02 1.072617037570664e-02 1.071704413251609e-02 + 1.070791313635956e-02 1.069877740113652e-02 1.068963693244828e-02 1.068049173224424e-02 1.067134181766250e-02 + 1.066218720670161e-02 1.065302791162099e-02 1.064386393117340e-02 1.063469527249458e-02 1.062552195483164e-02 + 1.061634397913101e-02 1.060716135205155e-02 1.059797409807024e-02 1.058878223029125e-02 1.057958575437316e-02 + 1.057038467384018e-02 1.056117900039964e-02 1.055196874533382e-02 1.054275390960051e-02 1.053353451406393e-02 + 1.052431058354873e-02 1.051508211263400e-02 1.050584910821505e-02 1.049661158906674e-02 1.048736956269110e-02 + 1.047812303544552e-02 1.046887201730896e-02 1.045961652742825e-02 1.045035657823219e-02 1.044109217270465e-02 + 1.043182332652317e-02 1.042255005238709e-02 1.041327235213399e-02 1.040399023555266e-02 1.039470371859749e-02 + 1.038541282005145e-02 1.037611754740451e-02 1.036681790639924e-02 1.035751391340543e-02 1.034820558036888e-02 + 1.033889291336949e-02 1.032957591435120e-02 1.032025460242317e-02 1.031092900384275e-02 1.030159911688449e-02 + 1.029226495054825e-02 1.028292652729243e-02 1.027358385071069e-02 1.026423692589549e-02 1.025488576741323e-02 + 1.024553039300053e-02 1.023617081698821e-02 1.022680704740226e-02 1.021743909457171e-02 1.020806697035185e-02 + 1.019869068658227e-02 1.018931025066223e-02 1.017992567348438e-02 1.017053697875713e-02 1.016114417776936e-02 + 1.015174727399650e-02 1.014234627700861e-02 1.013294120450803e-02 1.012353207457940e-02 1.011411888599992e-02 + 1.010470164920459e-02 1.009528038851809e-02 1.008585511657422e-02 1.007642584330934e-02 1.006699257991301e-02 + 1.005755533847607e-02 1.004811412861271e-02 1.003866895746225e-02 1.002921984502842e-02 1.001976681035788e-02 + 1.001030986009602e-02 1.000084900502786e-02 9.991384259025663e-03 9.981915635495017e-03 9.972443141719819e-03 + 9.962966786689603e-03 9.953486595586885e-03 9.944002583039199e-03 9.934514754395770e-03 9.925023122335749e-03 + 9.915527701693664e-03 9.906028505794947e-03 9.896525539473492e-03 9.887018817044350e-03 9.877508364713565e-03 + 9.867994191756903e-03 9.858476305769829e-03 9.848954721540815e-03 9.839429453723526e-03 9.829900512927632e-03 + 9.820367904529967e-03 9.810831649938153e-03 9.801291772225836e-03 9.791748277276684e-03 9.782201174956444e-03 + 9.772650480173910e-03 9.763096209214261e-03 9.753538370443265e-03 9.743976971083063e-03 9.734412038356991e-03 + 9.724843589152831e-03 9.715271627378256e-03 9.705696167153652e-03 9.696117225097080e-03 9.686534815487291e-03 + 9.676948943754414e-03 9.667359623576509e-03 9.657766883492007e-03 9.648170733986708e-03 9.638571181819185e-03 + 9.628968243024477e-03 9.619361933494769e-03 9.609752265452595e-03 9.600139245296816e-03 9.590522893495216e-03 + 9.580903234511828e-03 9.571280275331249e-03 9.561654026946651e-03 9.552024506017841e-03 9.542391727779683e-03 + 9.532755702177183e-03 9.523116437885958e-03 9.513473960404769e-03 9.503828289303256e-03 9.494179431678001e-03 + 9.484527400058637e-03 9.474872210511853e-03 9.465213879778082e-03 9.455552415295903e-03 9.445887829718797e-03 + 9.436220151655284e-03 9.426549394486200e-03 9.416875565725477e-03 9.407198681221749e-03 9.397518758018270e-03 + 9.387835810148322e-03 9.378149843813783e-03 9.368460878589471e-03 9.358768941430739e-03 9.349074041571485e-03 + 9.339376189353358e-03 9.329675400879622e-03 9.319971694171958e-03 9.310265081086165e-03 9.300555568605354e-03 + 9.290843182951191e-03 9.281127946492163e-03 9.271409865969660e-03 9.261688954922952e-03 9.251965230660204e-03 + 9.242238709904914e-03 9.232509401801155e-03 9.222777318787652e-03 9.213042489474691e-03 9.203304930168641e-03 + 9.193564649383718e-03 9.183821661973759e-03 9.174075985705271e-03 9.164327637046287e-03 9.154576623077591e-03 + 9.144822962285418e-03 9.135066683045857e-03 9.125307796249328e-03 9.115546312613307e-03 9.105782249286811e-03 + 9.096015624756502e-03 9.086246452281876e-03 9.076474739187750e-03 9.066700510968253e-03 9.056923792083085e-03 + 9.047144590189744e-03 9.037362919662660e-03 9.027578799121916e-03 9.017792245480461e-03 9.008003268928564e-03 + 8.998211881680073e-03 8.988418113610518e-03 8.978621982540696e-03 8.968823496265647e-03 8.959022672124209e-03 + 8.949219528590024e-03 8.939414081469170e-03 8.929606339864140e-03 8.919796321979990e-03 8.909984056877767e-03 + 8.900169557867096e-03 8.890352835957138e-03 8.880533907981049e-03 8.870712793191068e-03 8.860889506593549e-03 + 8.851064055633283e-03 8.841236465905915e-03 8.831406764712287e-03 8.821574959648875e-03 8.811741064546590e-03 + 8.801905099237244e-03 8.792067082696866e-03 8.782227026145442e-03 8.772384940188230e-03 8.762540855386065e-03 + 8.752694792574688e-03 8.742846759945761e-03 8.732996774006149e-03 8.723144854408183e-03 8.713291019755398e-03 + 8.703435278608567e-03 8.693577647775636e-03 8.683718159456632e-03 8.673856827661263e-03 8.663993662505663e-03 + 8.654128683145933e-03 8.644261909320558e-03 8.634393356690426e-03 8.624523033451901e-03 8.614650964506795e-03 + 8.604777179373340e-03 8.594901686657006e-03 8.585024500118565e-03 8.575145640490715e-03 8.565265126670765e-03 + 8.555382971806235e-03 8.545499187654319e-03 8.535613803632294e-03 8.525726842250045e-03 8.515838312646278e-03 + 8.505948232174527e-03 8.496056621077198e-03 8.486163497882877e-03 8.476268872748003e-03 8.466372762116349e-03 + 8.456475199094931e-03 8.446576199856061e-03 8.436675774300739e-03 8.426773941795081e-03 8.416870722731803e-03 + 8.406966134358667e-03 8.397060186389057e-03 8.387152901959176e-03 8.377244311160385e-03 8.367334425300299e-03 + 8.357423258296441e-03 8.347510830980188e-03 8.337597163605794e-03 8.327682270401855e-03 8.317766161869340e-03 + 8.307848867754637e-03 8.297930413816063e-03 8.288010810083676e-03 8.278090072673102e-03 8.268168221765407e-03 + 8.258245278027963e-03 8.248321253600945e-03 8.238396163758082e-03 8.228470040664376e-03 8.218542903042886e-03 + 8.208614761992156e-03 8.198685637447353e-03 8.188755549837494e-03 8.178824516773604e-03 8.168892549578916e-03 + 8.158959670459199e-03 8.149025910256038e-03 8.139091282816925e-03 8.129155801857130e-03 8.119219487437710e-03 + 8.109282361690508e-03 8.099344440765549e-03 8.089405733754036e-03 8.079466270417937e-03 8.069526079135253e-03 + 8.059585169010465e-03 8.049643556954327e-03 8.039701265060109e-03 8.029758314127560e-03 8.019814717074126e-03 + 8.009870488264625e-03 7.999925660293698e-03 7.989980254561855e-03 7.980034282561204e-03 7.970087763203990e-03 + 7.960140717914167e-03 7.950193166721423e-03 7.940245120231920e-03 7.930296599391260e-03 7.920347637831796e-03 + 7.910398250263278e-03 7.900448449763646e-03 7.890498257622273e-03 7.880547695356892e-03 7.870596780430528e-03 + 7.860645524802819e-03 7.850693955430419e-03 7.840742100859013e-03 7.830789973961963e-03 7.820837591210042e-03 + 7.810884973654219e-03 7.800932143705464e-03 7.790979115476222e-03 7.781025902060369e-03 7.771072537550891e-03 + 7.761119045304192e-03 7.751165435253132e-03 7.741211727248220e-03 7.731257943744334e-03 7.721304105116559e-03 + 7.711350222852130e-03 7.701396316987202e-03 7.691442422531397e-03 7.681488555826352e-03 7.671534729460651e-03 + 7.661580965493510e-03 7.651627286213397e-03 7.641673709645761e-03 7.631720246474624e-03 7.621766924002147e-03 + 7.611813774300424e-03 7.601860809420407e-03 7.591908045212342e-03 7.581955503946372e-03 7.572003208680656e-03 + 7.562051174726026e-03 7.552099414296815e-03 7.542147961065804e-03 7.532196840825635e-03 7.522246063843738e-03 + 7.512295650102864e-03 7.502345622322073e-03 7.492396000716249e-03 7.482446799189802e-03 7.472498037196947e-03 + 7.462549747897286e-03 7.452601950331629e-03 7.442654658211039e-03 7.432707892744488e-03 7.422761676416634e-03 + 7.412816028768508e-03 7.402870961455420e-03 7.392926500328647e-03 7.382982678429822e-03 7.373039508794957e-03 + 7.363097007225734e-03 7.353155196864952e-03 7.343214100532815e-03 7.333273734782904e-03 7.323334112197604e-03 + 7.313395265021593e-03 7.303457220900774e-03 7.293519991033275e-03 7.283583594600794e-03 7.273648054943689e-03 + 7.263713394446934e-03 7.253779626580373e-03 7.243846768480717e-03 7.233914855435080e-03 7.223983908518886e-03 + 7.214053940460562e-03 7.204124972417771e-03 7.194197027491048e-03 7.184270126394881e-03 7.174344280726286e-03 + 7.164419514784642e-03 7.154495863236941e-03 7.144573340914020e-03 7.134651962993328e-03 7.124731752265264e-03 + 7.114812732100897e-03 7.104894920638768e-03 7.094978330575343e-03 7.085062992246606e-03 7.075148934793896e-03 + 7.065236171017366e-03 7.055324719420953e-03 7.045414603125002e-03 7.035505845669364e-03 7.025598461448587e-03 + 7.015692466009597e-03 7.005787894887785e-03 6.995884771371198e-03 6.985983107977662e-03 6.976082925249031e-03 + 6.966184246523457e-03 6.956287093797063e-03 6.946391479271966e-03 6.936497425652844e-03 6.926604968509339e-03 + 6.916714124366364e-03 6.906824907731460e-03 6.896937340931554e-03 6.887051448149962e-03 6.877167248699087e-03 + 6.867284753979424e-03 6.857403994050719e-03 6.847525000658012e-03 6.837647785670592e-03 6.827772367409923e-03 + 6.817898770109592e-03 6.808027016717447e-03 6.798157122708669e-03 6.788289103240300e-03 6.778422992931511e-03 + 6.768558816798320e-03 6.758696587557012e-03 6.748836325648165e-03 6.738978054348659e-03 6.729121795949092e-03 + 6.719267563927435e-03 6.709415379633438e-03 6.699565278400954e-03 6.689717278120727e-03 6.679871393303892e-03 + 6.670027647355804e-03 6.660186063525513e-03 6.650346660981845e-03 6.640509452367944e-03 6.630674466396449e-03 + 6.620841735868644e-03 6.611011273308148e-03 6.601183096392477e-03 6.591357229649247e-03 6.581533696087914e-03 + 6.571712512145987e-03 6.561893692372858e-03 6.552077270290561e-03 6.542263272668194e-03 6.532451712617284e-03 + 6.522642609933696e-03 6.512835987879551e-03 6.503031869590782e-03 6.493230268870023e-03 6.483431205156500e-03 + 6.473634714105858e-03 6.463840816056773e-03 6.454049525191551e-03 6.444260863046832e-03 6.434474853362258e-03 + 6.424691517208967e-03 6.414910866799055e-03 6.405132928351729e-03 6.395357735592168e-03 6.385585303753894e-03 + 6.375815649717760e-03 6.366048796411005e-03 6.356284767471845e-03 6.346523580477974e-03 6.336765248927921e-03 + 6.327009805730009e-03 6.317257279178600e-03 6.307507681412946e-03 6.297761032647583e-03 6.288017356862164e-03 + 6.278276676438099e-03 6.268539005625230e-03 6.258804362658888e-03 6.249072783406197e-03 6.239344289504087e-03 + 6.229618894349891e-03 6.219896619699197e-03 6.210177489065160e-03 6.200461523673893e-03 6.190748736475173e-03 + 6.181039151999554e-03 6.171332804226705e-03 6.161629709556120e-03 6.151929884103313e-03 6.142233350147177e-03 + 6.132540131644584e-03 6.122850247356021e-03 6.113163710170625e-03 6.103480551213418e-03 6.093800800141988e-03 + 6.084124469547710e-03 6.074451578566364e-03 6.064782150905211e-03 6.055116209626953e-03 6.045453769994722e-03 + 6.035794848740185e-03 6.026139480474754e-03 6.016487688229946e-03 6.006839485237500e-03 5.997194892776407e-03 + 5.987553934341584e-03 5.977916631713333e-03 5.968282997802390e-03 5.958653055343909e-03 5.949026838944569e-03 + 5.939404365780911e-03 5.929785651209331e-03 5.920170717549854e-03 5.910559587858684e-03 5.900952281370824e-03 + 5.891348811852907e-03 5.881749208142844e-03 5.872153500225121e-03 5.862561701850070e-03 5.852973831530551e-03 + 5.843389912374926e-03 5.833809966833203e-03 5.824234011006907e-03 5.814662060999971e-03 5.805094150375409e-03 + 5.795530303292347e-03 5.785970532524381e-03 5.776414859211175e-03 5.766863306294991e-03 5.757315894674337e-03 + 5.747772638659374e-03 5.738233559732430e-03 5.728698691311226e-03 5.719168051719483e-03 5.709641656042984e-03 + 5.700119526414031e-03 5.690601685377130e-03 5.681088152168133e-03 5.671578940158426e-03 5.662074076665564e-03 + 5.652573592801510e-03 5.643077502877857e-03 5.633585823810169e-03 5.624098577633230e-03 5.614615788052954e-03 + 5.605137471831965e-03 5.595663642810052e-03 5.586194333773162e-03 5.576729570469775e-03 5.567269364923084e-03 + 5.557813736696195e-03 5.548362708847973e-03 5.538916303890826e-03 5.529474534822445e-03 5.520037420561356e-03 + 5.510604996543656e-03 5.501177281279281e-03 5.491754287530179e-03 5.482336037985177e-03 5.472922555453679e-03 + 5.463513859119052e-03 5.454109961206277e-03 5.444710887376439e-03 5.435316669896643e-03 5.425927322428118e-03 + 5.416542861379438e-03 5.407163309793553e-03 5.397788689388935e-03 5.388419016905312e-03 5.379054306533677e-03 + 5.369694588817857e-03 5.360339890208465e-03 5.350990223294556e-03 5.341645606645782e-03 5.332306062415535e-03 + 5.322971612709802e-03 5.313642271564683e-03 5.304318056285795e-03 5.294999000250198e-03 5.285685123732157e-03 + 5.276376439554206e-03 5.267072968338082e-03 5.257774732353860e-03 5.248481751732874e-03 5.239194038865901e-03 + 5.229911616755654e-03 5.220634516968343e-03 5.211362754853240e-03 5.202096346092698e-03 5.192835312362628e-03 + 5.183579674966123e-03 5.174329450821569e-03 5.165084652994387e-03 5.155845310548846e-03 5.146611450951191e-03 + 5.137383086378589e-03 5.128160234647254e-03 5.118942917508807e-03 5.109731156137037e-03 5.100524965000140e-03 + 5.091324360054826e-03 5.082129373049942e-03 5.072940025255639e-03 5.063756329149303e-03 5.054578304260502e-03 + 5.045405972366202e-03 5.036239353680495e-03 5.027078459118392e-03 5.017923310123222e-03 5.008773940483098e-03 + 4.999630364315774e-03 4.990492594829337e-03 4.981360654331298e-03 4.972234563790402e-03 4.963114339923834e-03 + 4.953999995020500e-03 4.944891556281875e-03 4.935789051765770e-03 4.926692493194353e-03 4.917601897109304e-03 + 4.908517284729773e-03 4.899438676825864e-03 4.890366088012707e-03 4.881299532722441e-03 4.872239041569468e-03 + 4.863184636415129e-03 4.854136328649667e-03 4.845094137498133e-03 4.836058083872883e-03 4.827028186746977e-03 + 4.818004458681770e-03 4.808986918914880e-03 4.799975597861264e-03 4.790970512088721e-03 4.781971675128856e-03 + 4.772979106768043e-03 4.763992827229902e-03 4.755012853632298e-03 4.746039197549013e-03 4.737071883993436e-03 + 4.728110941197518e-03 4.719156380399636e-03 4.710208217424537e-03 4.701266473663848e-03 4.692331168251817e-03 + 4.683402315353613e-03 4.674479928383867e-03 4.665564036556664e-03 4.656654662394768e-03 4.647751816371710e-03 + 4.638855516650367e-03 4.629965783672686e-03 4.621082635909843e-03 4.612206084994354e-03 4.603336148102954e-03 + 4.594472856159325e-03 4.585616225744373e-03 4.576766268345947e-03 4.567923003199363e-03 4.559086450091263e-03 + 4.550256626033265e-03 4.541433541986122e-03 4.532617220194613e-03 4.523807688535670e-03 4.515004959722835e-03 + 4.506209047920159e-03 4.497419972185719e-03 4.488637751873642e-03 4.479862401381760e-03 4.471093932025212e-03 + 4.462332371280023e-03 4.453577742726973e-03 4.444830056583276e-03 4.436089328917552e-03 4.427355578888171e-03 + 4.418628824988929e-03 4.409909078668640e-03 4.401196354933857e-03 4.392490684030716e-03 4.383792083151365e-03 + 4.375100562120779e-03 4.366416138313078e-03 4.357738831525952e-03 4.349068659591380e-03 4.340405630957790e-03 + 4.331749765364269e-03 4.323101091949651e-03 4.314459623208851e-03 4.305825371349630e-03 4.297198354190413e-03 + 4.288578590720092e-03 4.279966095343473e-03 4.271360877578565e-03 4.262762963097229e-03 4.254172376200769e-03 + 4.245589126222103e-03 4.237013227440267e-03 4.228444697962537e-03 4.219883556022182e-03 4.211329813254019e-03 + 4.202783482548908e-03 4.194244591796649e-03 4.185713159116739e-03 4.177189194188086e-03 4.168672712320958e-03 + 4.160163731860882e-03 4.151662270610665e-03 4.143168336754119e-03 4.134681947397693e-03 4.126203130809124e-03 + 4.117731899759874e-03 4.109268265260960e-03 4.100812244167818e-03 4.092363854125291e-03 4.083923109325604e-03 + 4.075490018959178e-03 4.067064605609816e-03 4.058646892914489e-03 4.050236890474988e-03 4.041834611549669e-03 + 4.033440073099425e-03 4.025053291802670e-03 4.016674279190388e-03 4.008303046950822e-03 3.999939621219669e-03 + 3.991584019864232e-03 3.983236251035503e-03 3.974896329846703e-03 3.966564273682151e-03 3.958240098637734e-03 + 3.949923812376889e-03 3.941615430268695e-03 3.933314980874398e-03 3.925022475755094e-03 3.916737923312982e-03 + 3.908461340476090e-03 3.900192744628528e-03 3.891932149238224e-03 3.883679560814138e-03 3.875435000263637e-03 + 3.867198492508630e-03 3.858970045729460e-03 3.850749670926077e-03 3.842537384120139e-03 3.834333202377867e-03 + 3.826137136626801e-03 3.817949195349815e-03 3.809769403427763e-03 3.801597779587331e-03 3.793434330750140e-03 + 3.785279069923421e-03 3.777132013373491e-03 3.768993177352847e-03 3.760862568898475e-03 3.752740200334732e-03 + 3.744626099044159e-03 3.736520277340854e-03 3.728422742215669e-03 3.720333508785603e-03 3.712252593018920e-03 + 3.704180008090329e-03 3.696115760631814e-03 3.688059868276574e-03 3.680012354362612e-03 3.671973228138760e-03 + 3.663942499526064e-03 3.655920182566113e-03 3.647906292785413e-03 3.639900840938008e-03 3.631903834337251e-03 + 3.623915295229000e-03 3.615935242250758e-03 3.607963681828620e-03 3.600000626081414e-03 3.592046089865790e-03 + 3.584100087061132e-03 3.576162625323692e-03 3.568233715505030e-03 3.560313381862740e-03 3.552401637255495e-03 + 3.544498488187401e-03 3.536603947761108e-03 3.528718030587010e-03 3.520840749407267e-03 3.512972109975055e-03 + 3.505112127471606e-03 3.497260824593953e-03 3.489418209893856e-03 3.481584291815555e-03 3.473759083632174e-03 + 3.465942599385497e-03 3.458134849136788e-03 3.450335838875430e-03 3.442545588595099e-03 3.434764116831954e-03 + 3.426991428902786e-03 3.419227535146918e-03 3.411472449427477e-03 3.403726185233638e-03 3.395988749408295e-03 + 3.388260149964055e-03 3.380540409506120e-03 3.372829541439428e-03 3.365127551327278e-03 3.357434450344299e-03 + 3.349750251864305e-03 3.342074968176267e-03 3.334408603200120e-03 3.326751169911567e-03 3.319102691777129e-03 + 3.311463175183513e-03 3.303832626198486e-03 3.296211059114474e-03 3.288598486024217e-03 3.280994915398627e-03 + 3.273400352769854e-03 3.265814815709593e-03 3.258238322074859e-03 3.250670876135365e-03 3.243112486983179e-03 + 3.235563167624456e-03 3.228022929479646e-03 3.220491779361285e-03 3.212969724272006e-03 3.205456783570964e-03 + 3.197952970426890e-03 3.190458290104943e-03 3.182972751519780e-03 3.175496366385864e-03 3.168029146873250e-03 + 3.160571096621216e-03 3.153122225636278e-03 3.145682555500280e-03 3.138252093348739e-03 3.130830843615626e-03 + 3.123418817816768e-03 3.116016027518625e-03 3.108622481356378e-03 3.101238183229207e-03 3.093863147897005e-03 + 3.086497392737253e-03 3.079140921752824e-03 3.071793741871484e-03 3.064455864252268e-03 3.057127299904285e-03 + 3.049808055146270e-03 3.042498134791386e-03 3.035197556645182e-03 3.027906333235584e-03 3.020624467536793e-03 + 3.013351968343262e-03 3.006088846580162e-03 2.998835112089031e-03 2.991590768047797e-03 2.984355822285627e-03 + 2.977130294631421e-03 2.969914192263928e-03 2.962707518230782e-03 2.955510282832787e-03 2.948322496039390e-03 + 2.941144165204636e-03 2.933975293458325e-03 2.926815893073326e-03 2.919665980487675e-03 2.912525559332239e-03 + 2.905394635071103e-03 2.898273217656210e-03 2.891161316595433e-03 2.884058936906487e-03 2.876966081111658e-03 + 2.869882766189157e-03 2.862809005041444e-03 2.855744798230348e-03 2.848690153100023e-03 2.841645079496137e-03 + 2.834609585256340e-03 2.827583673848185e-03 2.820567351490293e-03 2.813560634590312e-03 2.806563530531927e-03 + 2.799576041999259e-03 2.792598177467573e-03 2.785629945309582e-03 2.778671351607254e-03 2.771722398039775e-03 + 2.764783095014263e-03 2.757853459091809e-03 2.750933492568204e-03 2.744023198517816e-03 2.737122585640385e-03 + 2.730231662189404e-03 2.723350432970404e-03 2.716478899800820e-03 2.709617075896625e-03 2.702764973241287e-03 + 2.695922593060963e-03 2.689089940152226e-03 2.682267022316270e-03 2.675453847914084e-03 2.668650418902243e-03 + 2.661856738145520e-03 2.655072822033232e-03 2.648298678030288e-03 2.641534306206961e-03 2.634779712258937e-03 + 2.628034904058933e-03 2.621299888635041e-03 2.614574665771587e-03 2.607859242632423e-03 2.601153634957146e-03 + 2.594457844452072e-03 2.587771872555374e-03 2.581095727373358e-03 2.574429415266960e-03 2.567772939497474e-03 + 2.561126300777387e-03 2.554489510835181e-03 2.547862581281132e-03 2.541245510713479e-03 2.534638303078699e-03 + 2.528040966193904e-03 2.521453505493298e-03 2.514875922225054e-03 2.508308218200437e-03 2.501750407164573e-03 + 2.495202496081871e-03 2.488664484118587e-03 2.482136376281468e-03 2.475618178705269e-03 2.469109895957427e-03 + 2.462611527825166e-03 2.456123079328407e-03 2.449644563898542e-03 2.443175984269443e-03 2.436717340526153e-03 + 2.430268636964234e-03 2.423829879853036e-03 2.417401073311931e-03 2.410982215756923e-03 2.404573315098301e-03 + 2.398174382071132e-03 2.391785416912405e-03 2.385406421217447e-03 2.379037399546287e-03 2.372678357701878e-03 + 2.366329296305038e-03 2.359990214012962e-03 2.353661123666590e-03 2.347342032379030e-03 2.341032936953993e-03 + 2.334733840455562e-03 2.328444748068140e-03 2.322165663885325e-03 2.315896586946297e-03 2.309637519733881e-03 + 2.303388473653537e-03 2.297149451184649e-03 2.290920451297887e-03 2.284701476927273e-03 2.278492533074980e-03 + 2.272293622898508e-03 2.266104742447669e-03 2.259925897918875e-03 2.253757100645447e-03 2.247598348619136e-03 + 2.241449641489242e-03 2.235310983406359e-03 2.229182378556762e-03 2.223063827011661e-03 2.216955326220785e-03 + 2.210856885615230e-03 2.204768511855369e-03 2.198690202073136e-03 2.192621957162963e-03 2.186563780523993e-03 + 2.180515675851768e-03 2.174477640514074e-03 2.168449674335647e-03 2.162431789038673e-03 2.156423986093689e-03 + 2.150426261719325e-03 2.144438618887063e-03 2.138461061015507e-03 2.132493589319895e-03 2.126536199820428e-03 + 2.120588896234097e-03 2.114651688169617e-03 2.108724573757348e-03 2.102807551461262e-03 2.096900623831682e-03 + 2.091003792760502e-03 2.085117057433877e-03 2.079240415028002e-03 2.073373872799373e-03 2.067517436442142e-03 + 2.061671101563673e-03 2.055834867994772e-03 2.050008738194652e-03 2.044192713868095e-03 2.038386792128391e-03 + 2.032590971333173e-03 2.026805260662020e-03 2.021029661329869e-03 2.015264168518725e-03 2.009508783500123e-03 + 2.003763508166370e-03 1.998028342654997e-03 1.992303282805534e-03 1.986588330078225e-03 1.980883492165770e-03 + 1.975188767039759e-03 1.969504151730439e-03 1.963829647004430e-03 1.958165254218237e-03 1.952510971963634e-03 + 1.946866794889960e-03 1.941232728159857e-03 1.935608777640074e-03 1.929994938329363e-03 1.924391207914093e-03 + 1.918797587114099e-03 1.913214077256622e-03 1.907640674795718e-03 1.902077375557082e-03 1.896524186430478e-03 + 1.890981108949087e-03 1.885448138032121e-03 1.879925272541809e-03 1.874412513138102e-03 1.868909859971047e-03 + 1.863417306389931e-03 1.857934851379391e-03 1.852462503653811e-03 1.847000259754348e-03 1.841548114039762e-03 + 1.836106066817225e-03 1.830674118529854e-03 1.825252266916765e-03 1.819840505202892e-03 1.814438836319749e-03 + 1.809047265638602e-03 1.803665787133681e-03 1.798294397101445e-03 1.792933095135866e-03 1.787581880369786e-03 + 1.782240749155103e-03 1.776909697172910e-03 1.771588728179710e-03 1.766277842767543e-03 1.760977035675204e-03 + 1.755686304337379e-03 1.750405647484752e-03 1.745135063548007e-03 1.739874546386865e-03 1.734624093589025e-03 + 1.729383711586370e-03 1.724153396315838e-03 1.718933140719367e-03 1.713722944309894e-03 1.708522806163372e-03 + 1.703332722978997e-03 1.698152687791741e-03 1.692982700783420e-03 1.687822765464940e-03 1.682672875794938e-03 + 1.677533027054054e-03 1.672403217813849e-03 1.667283446525115e-03 1.662173708173832e-03 1.657073995739192e-03 + 1.651984312946546e-03 1.646904660364047e-03 1.641835029387390e-03 1.636775416468660e-03 1.631725820220986e-03 + 1.626686238226539e-03 1.621656663682810e-03 1.616637091835148e-03 1.611627526662728e-03 1.606627964700548e-03 + 1.601638398623349e-03 1.596658825754688e-03 1.591689243408400e-03 1.586729647378206e-03 1.581780030725023e-03 + 1.576840391697073e-03 1.571910732264727e-03 1.566991046477593e-03 1.562081328242421e-03 1.557181574037859e-03 + 1.552291781114454e-03 1.547411944138861e-03 1.542542055154552e-03 1.537682115822498e-03 1.532832126356767e-03 + 1.527992077470792e-03 1.523161963747274e-03 1.518341782422417e-03 1.513531530571088e-03 1.508731200913292e-03 + 1.503940786876937e-03 1.499160290964809e-03 1.494389709200610e-03 1.489629032745148e-03 1.484878257820629e-03 + 1.480137381279299e-03 1.475406398389162e-03 1.470685299850305e-03 1.465974082141071e-03 1.461272748080975e-03 + 1.456581290224651e-03 1.451899700275850e-03 1.447227974089072e-03 1.442566108566721e-03 1.437914097994959e-03 + 1.433271932504185e-03 1.428639611034298e-03 1.424017133356480e-03 1.419404490680891e-03 1.414801676491448e-03 + 1.410208686553135e-03 1.405625516589791e-03 1.401052158609908e-03 1.396488604511052e-03 1.391934855472548e-03 + 1.387390907364871e-03 1.382856750165021e-03 1.378332378783991e-03 1.373817788890047e-03 1.369312974750468e-03 + 1.364817927255285e-03 1.360332641059443e-03 1.355857116711623e-03 1.351391347026849e-03 1.346935323100728e-03 + 1.342489039284644e-03 1.338052491255308e-03 1.333625672740901e-03 1.329208572800934e-03 1.324801188462658e-03 + 1.320403519143769e-03 1.316015555822497e-03 1.311637290544184e-03 1.307268717472159e-03 1.302909831116118e-03 + 1.298560623326278e-03 1.294221085253892e-03 1.289891216124110e-03 1.285571011566486e-03 1.281260461060531e-03 + 1.276959557618139e-03 1.272668295740209e-03 1.268386669608614e-03 1.264114669618853e-03 1.259852288349743e-03 + 1.255599524419093e-03 1.251356371085625e-03 1.247122819189722e-03 1.242898861265979e-03 1.238684491359706e-03 + 1.234479702756933e-03 1.230284484841117e-03 1.226098832748256e-03 1.221922744434409e-03 1.217756210326720e-03 + 1.213599221362577e-03 1.209451770765583e-03 1.205313852635065e-03 1.201185458480448e-03 1.197066577985755e-03 + 1.192957208640432e-03 1.188857345511447e-03 1.184766976969275e-03 1.180686095693037e-03 1.176614695732404e-03 + 1.172552769621902e-03 1.168500307042727e-03 1.164457299537124e-03 1.160423745213695e-03 1.156399636114517e-03 + 1.152384961360659e-03 1.148379714206853e-03 1.144383887440774e-03 1.140397472403066e-03 1.136420458871837e-03 + 1.132452840804467e-03 1.128494614815977e-03 1.124545770440235e-03 1.120606297984056e-03 1.116676190709075e-03 + 1.112755440623707e-03 1.108844038267568e-03 1.104941973598277e-03 1.101049242215234e-03 1.097165838523137e-03 + 1.093291750933755e-03 1.089426970747485e-03 1.085571490835547e-03 1.081725303225761e-03 1.077888396808512e-03 + 1.074060761522748e-03 1.070242395009795e-03 1.066433289590875e-03 1.062633433332422e-03 1.058842817553080e-03 + 1.055061434373011e-03 1.051289275348505e-03 1.047526329409495e-03 1.043772588486000e-03 1.040028047931513e-03 + 1.036292698203525e-03 1.032566529042292e-03 1.028849531681517e-03 1.025141697676040e-03 1.021443017315572e-03 + 1.017753479165712e-03 1.014073077446178e-03 1.010401806565697e-03 1.006739654876394e-03 1.003086612170896e-03 + 9.994426698862881e-04 9.958078198244436e-04 9.921820510029489e-04 9.885653522799815e-04 9.849577193159157e-04 + 9.813591440739670e-04 9.777696142556011e-04 9.741891204675346e-04 9.706176542328248e-04 9.670552065524777e-04 + 9.635017651512704e-04 9.599573207794398e-04 9.564218691437683e-04 9.528953995809905e-04 9.493779002331982e-04 + 9.458693621672339e-04 9.423697766254766e-04 9.388791334439822e-04 9.353974200435674e-04 9.319246293443443e-04 + 9.284607555133966e-04 9.250057861419034e-04 9.215597102726345e-04 9.181225189615299e-04 9.146942031524666e-04 + 9.112747514066988e-04 9.078641516289516e-04 9.044623983719834e-04 9.010694834242857e-04 8.976853937790154e-04 + 8.943101192935385e-04 8.909436508104612e-04 8.875859786393426e-04 8.842370902316334e-04 8.808969751654204e-04 + 8.775656281905130e-04 8.742430385918343e-04 8.709291937982416e-04 8.676240840155020e-04 8.643276998573467e-04 + 8.610400308208924e-04 8.577610636611962e-04 8.544907899714905e-04 8.512292035626933e-04 8.479762917886125e-04 + 8.447320428739457e-04 8.414964471843920e-04 8.382694949325988e-04 8.350511744137459e-04 8.318414728923707e-04 + 8.286403836395943e-04 8.254478982373706e-04 8.222640032931049e-04 8.190886878204532e-04 8.159219419987107e-04 + 8.127637556794064e-04 8.096141160179775e-04 8.064730115089579e-04 8.033404360997527e-04 8.002163789609624e-04 + 7.971008268111541e-04 7.939937692507287e-04 7.908951962853333e-04 7.878050969946667e-04 7.847234577702081e-04 + 7.816502689905088e-04 7.785855239466778e-04 7.755292098590464e-04 7.724813142232633e-04 7.694418267842021e-04 + 7.664107372089749e-04 7.633880335334087e-04 7.603737023812342e-04 7.573677358642847e-04 7.543701253849379e-04 + 7.513808572285544e-04 7.483999196962093e-04 7.454273024026923e-04 7.424629947358947e-04 7.395069836664074e-04 + 7.365592567622367e-04 7.336198070174806e-04 7.306886236388442e-04 7.277656929130117e-04 7.248510036837761e-04 + 7.219445453636994e-04 7.190463067357669e-04 7.161562739946586e-04 7.132744364309508e-04 7.104007867132190e-04 + 7.075353120392018e-04 7.046779992824802e-04 7.018288375861283e-04 6.989878161882759e-04 6.961549229362052e-04 + 6.933301438820412e-04 6.905134700383686e-04 6.877048926511914e-04 6.849043978549774e-04 6.821119732944710e-04 + 6.793276080246700e-04 6.765512910034699e-04 6.737830090783149e-04 6.710227490756584e-04 6.682705030776122e-04 + 6.655262603091742e-04 6.627900067379164e-04 6.600617305924390e-04 6.573414207627890e-04 6.546290656955580e-04 + 6.519246513982958e-04 6.492281662548372e-04 6.465396024423735e-04 6.438589471596415e-04 6.411861867028291e-04 + 6.385213096762252e-04 6.358643049114898e-04 6.332151601148890e-04 6.305738609661260e-04 6.279403974635571e-04 + 6.253147606410383e-04 6.226969365620930e-04 6.200869123319087e-04 6.174846765257772e-04 6.148902176504979e-04 + 6.123035224628875e-04 6.097245772740803e-04 6.071533733723410e-04 6.045898999580564e-04 6.020341426510520e-04 + 5.994860891934145e-04 5.969457280748620e-04 5.944130474177512e-04 5.918880332091087e-04 5.893706730594447e-04 + 5.868609584534629e-04 5.843588766665737e-04 5.818644136544619e-04 5.793775576682911e-04 5.768982970317317e-04 + 5.744266191686133e-04 5.719625097277512e-04 5.695059578510202e-04 5.670569542308351e-04 5.646154849082753e-04 + 5.621815365284883e-04 5.597550972743215e-04 5.573361553519681e-04 5.549246974872960e-04 5.525207095632259e-04 + 5.501241820142805e-04 5.477351040267441e-04 5.453534610951853e-04 5.429792405131840e-04 5.406124304314462e-04 + 5.382530187447214e-04 5.359009913605971e-04 5.335563351904396e-04 5.312190411682156e-04 5.288890968140364e-04 + 5.265664878332606e-04 5.242512018091515e-04 5.219432267978740e-04 5.196425502978362e-04 5.173491576918976e-04 + 5.150630373381158e-04 5.127841797796618e-04 5.105125710953982e-04 5.082481974966798e-04 5.059910467933278e-04 + 5.037411069671739e-04 5.014983647643853e-04 4.992628057533249e-04 4.970344196034297e-04 4.948131954905409e-04 + 4.925991188614672e-04 4.903921766298550e-04 4.881923566574878e-04 4.859996466359864e-04 4.838140324815327e-04 + 4.816355005995136e-04 4.794640414647377e-04 4.772996426854546e-04 4.751422896755638e-04 4.729919697488023e-04 + 4.708486707166207e-04 4.687123799720691e-04 4.665830828962369e-04 4.644607671738101e-04 4.623454230212830e-04 + 4.602370366779194e-04 4.581355941018685e-04 4.560410828358216e-04 4.539534906171381e-04 4.518728041821612e-04 + 4.497990089033435e-04 4.477320938149108e-04 4.456720481170030e-04 4.436188572707195e-04 4.415725078895158e-04 + 4.395329875976124e-04 4.375002838422590e-04 4.354743826722610e-04 4.334552702201095e-04 4.314429363226086e-04 + 4.294373687059989e-04 4.274385527576286e-04 4.254464755700176e-04 4.234611247199864e-04 4.214824874479911e-04 + 4.195105492176435e-04 4.175452972239935e-04 4.155867214135851e-04 4.136348082067204e-04 4.116895433467350e-04 + 4.097509141339746e-04 4.078189081189173e-04 4.058935120995524e-04 4.039747114386321e-04 4.020624945699733e-04 + 4.001568506324645e-04 3.982577652062802e-04 3.963652246433777e-04 3.944792163840573e-04 3.925997278951708e-04 + 3.907267452820787e-04 3.888602542761684e-04 3.870002443827855e-04 3.851467035420477e-04 3.832996170232135e-04 + 3.814589716941001e-04 3.796247550166885e-04 3.777969542187427e-04 3.759755548771444e-04 3.741605437648361e-04 + 3.723519105456335e-04 3.705496418343326e-04 3.687537232626712e-04 3.669641420580878e-04 3.651808856652343e-04 + 3.634039408935104e-04 3.616332930379869e-04 3.598689301103073e-04 3.581108413327368e-04 3.563590123412032e-04 + 3.546134293224166e-04 3.528740796868620e-04 3.511409507353364e-04 3.494140287293094e-04 3.476932993968030e-04 + 3.459787517007610e-04 3.442703736842207e-04 3.425681507579447e-04 3.408720696736798e-04 3.391821178070990e-04 + 3.374982823340253e-04 3.358205489790399e-04 3.341489042294683e-04 3.324833375391577e-04 3.308238358267097e-04 + 3.291703846864138e-04 3.275229711235071e-04 3.258815824857735e-04 3.242462057388915e-04 3.226168264116891e-04 + 3.209934320343741e-04 3.193760116170641e-04 3.177645512713499e-04 3.161590371207419e-04 3.145594562690266e-04 + 3.129657961319975e-04 3.113780432227079e-04 3.097961831114660e-04 3.082202043645004e-04 3.066500952444524e-04 + 3.050858414009347e-04 3.035274294402161e-04 3.019748466354355e-04 3.004280802320956e-04 2.988871162192853e-04 + 2.973519409077311e-04 2.958225434173786e-04 2.942989109163873e-04 2.927810290941792e-04 2.912688849504159e-04 + 2.897624658129895e-04 2.882617587216531e-04 2.867667493909568e-04 2.852774250910157e-04 2.837937747837379e-04 + 2.823157848000407e-04 2.808434412718301e-04 2.793767313619733e-04 2.779156424588856e-04 2.764601612241833e-04 + 2.750102732798498e-04 2.735659669757869e-04 2.721272307826111e-04 2.706940504177620e-04 2.692664125118005e-04 + 2.678443044384447e-04 2.664277133531666e-04 2.650166254907073e-04 2.636110271946842e-04 2.622109073508727e-04 + 2.608162534146021e-04 2.594270512444905e-04 2.580432877716125e-04 2.566649503351083e-04 2.552920261463284e-04 + 2.539245011192165e-04 2.525623623480746e-04 2.512055988243127e-04 2.498541971146173e-04 2.485081433825346e-04 + 2.471674249383843e-04 2.458320291468696e-04 2.445019428356345e-04 2.431771519464020e-04 2.418576445147758e-04 + 2.405434090455539e-04 2.392344316436903e-04 2.379306989304936e-04 2.366321982706708e-04 2.353389171046539e-04 + 2.340508418959193e-04 2.327679588365217e-04 2.314902568213100e-04 2.302177235947735e-04 2.289503450019842e-04 + 2.276881081822984e-04 2.264310006278554e-04 2.251790095285085e-04 2.239321211178975e-04 2.226903224828012e-04 + 2.214536025966827e-04 2.202219483393713e-04 2.189953459440866e-04 2.177737827672056e-04 2.165572463172210e-04 + 2.153457236927424e-04 2.141392010208329e-04 2.129376661694288e-04 2.117411078009580e-04 2.105495123800498e-04 + 2.093628666254358e-04 2.081811579562958e-04 2.070043738711933e-04 2.058325011765904e-04 2.046655262979033e-04 + 2.035034378928387e-04 2.023462239716796e-04 2.011938707312936e-04 2.000463653117907e-04 1.989036953143001e-04 + 1.977658482429478e-04 1.966328105707422e-04 1.955045692837424e-04 1.943811134060168e-04 1.932624302421221e-04 + 1.921485062157297e-04 1.910393287336514e-04 1.899348854684124e-04 1.888351638115297e-04 1.877401500482506e-04 + 1.866498319949601e-04 1.855641985831636e-04 1.844832365124926e-04 1.834069326310023e-04 1.823352746298841e-04 + 1.812682501147551e-04 1.802058461455679e-04 1.791480493724017e-04 1.780948483852737e-04 1.770462314872484e-04 + 1.760021851824818e-04 1.749626967491274e-04 1.739277539439587e-04 1.728973444305181e-04 1.718714550470096e-04 + 1.708500728855944e-04 1.698331869571933e-04 1.688207849549946e-04 1.678128535713188e-04 1.668093803524777e-04 + 1.658103531111011e-04 1.648157594964937e-04 1.638255861976382e-04 1.628398210066413e-04 1.618584529166454e-04 + 1.608814690931768e-04 1.599088565742865e-04 1.589406031206167e-04 1.579766966509897e-04 1.570171246224424e-04 + 1.560618738321770e-04 1.551109328208930e-04 1.541642902068764e-04 1.532219328717612e-04 1.522838482661923e-04 + 1.513500243337891e-04 1.504204489591066e-04 1.494951093483970e-04 1.485739927662749e-04 1.476570882997282e-04 + 1.467443839796364e-04 1.458358667202351e-04 1.449315243896633e-04 1.440313449862068e-04 1.431353162531848e-04 + 1.422434254066872e-04 1.413556604013758e-04 1.404720102486319e-04 1.395924625558734e-04 1.387170046489957e-04 + 1.378456244430427e-04 1.369783100559194e-04 1.361150493062282e-04 1.352558293490397e-04 1.344006387024136e-04 + 1.335494662293593e-04 1.327022993333140e-04 1.318591256583063e-04 1.310199332689028e-04 1.301847103692820e-04 + 1.293534446013900e-04 1.285261234477974e-04 1.277027359881715e-04 1.268832706365997e-04 1.260677147052468e-04 + 1.252560562359565e-04 1.244482834803957e-04 1.236443845356053e-04 1.228443469528238e-04 1.220481588198588e-04 + 1.212558093699401e-04 1.204672865809282e-04 1.196825780471873e-04 1.189016720308052e-04 1.181245568536085e-04 + 1.173512205995857e-04 1.165816508484800e-04 1.158158362776897e-04 1.150537660210759e-04 1.142954277590100e-04 + 1.135408094568152e-04 1.127898995954114e-04 1.120426864956402e-04 1.112991581353023e-04 1.105593024093304e-04 + 1.098231085283700e-04 1.090905652465313e-04 1.083616601800625e-04 1.076363816399760e-04 1.069147182196831e-04 + 1.061966583782502e-04 1.054821899944032e-04 1.047713013150353e-04 1.040639818640637e-04 1.033602200082437e-04 + 1.026600035826387e-04 1.019633211976323e-04 1.012701615275282e-04 1.005805130149820e-04 9.989436355203399e-05 + 9.921170194739147e-05 9.853251765411631e-05 9.785679881782247e-05 9.718453366352614e-05 9.651571091087277e-05 + 9.585031930594751e-05 9.518834724915350e-05 9.452978284703146e-05 9.387461543789448e-05 9.322283420353250e-05 + 9.257442723618249e-05 9.192938310286574e-05 9.128769066247626e-05 9.064933872161225e-05 9.001431561187756e-05 + 8.938260983500139e-05 8.875421104519957e-05 8.812910809646098e-05 8.750728925694059e-05 8.688874335824857e-05 + 8.627345936363417e-05 8.566142611724158e-05 8.505263195150667e-05 8.444706587898619e-05 8.384471762172232e-05 + 8.324557578035348e-05 8.264962891132210e-05 8.205686604727953e-05 8.146727626544971e-05 8.088084838175318e-05 + 8.029757088191735e-05 7.971743327705584e-05 7.914042512047892e-05 7.856653495630607e-05 7.799575166346450e-05 + 7.742806441871695e-05 7.686346239245813e-05 7.630193435494130e-05 7.574346911053080e-05 7.518805653837606e-05 + 7.463568593117825e-05 7.408634594826592e-05 7.354002575090044e-05 7.299671464423979e-05 7.245640185167563e-05 + 7.191907614532941e-05 7.138472679150608e-05 7.085334380230530e-05 7.032491623916224e-05 6.979943301854977e-05 + 6.927688351841825e-05 6.875725716877753e-05 6.824054320182008e-05 6.772673050550591e-05 6.721580881996242e-05 + 6.670776807704407e-05 6.620259726868480e-05 6.570028562031883e-05 6.520082266140781e-05 6.470419793220322e-05 + 6.421040064958054e-05 6.371941996817583e-05 6.323124601185380e-05 6.274586851226631e-05 6.226327655003573e-05 + 6.178345963615301e-05 6.130640743984757e-05 6.083210957777482e-05 6.036055527561582e-05 5.989173409263222e-05 + 5.942563633391719e-05 5.896225154191688e-05 5.850156903007261e-05 5.804357852627766e-05 5.758826983099529e-05 + 5.713563260712647e-05 5.668565617514362e-05 5.623833053838233e-05 5.579364600051564e-05 5.535159201768813e-05 + 5.491215819134343e-05 5.447533442712218e-05 5.404111064124177e-05 5.360947650466450e-05 5.318042157160001e-05 + 5.275393622516995e-05 5.233001062811153e-05 5.190863431238880e-05 5.148979716458554e-05 5.107348923404401e-05 + 5.065970053025621e-05 5.024842074849432e-05 4.983963979263951e-05 4.943334827635427e-05 4.902953621108006e-05 + 4.862819332553702e-05 4.822930973793706e-05 4.783287562882953e-05 4.743888107972067e-05 4.704731588033618e-05 + 4.665817033540254e-05 4.627143510842172e-05 4.588710014690383e-05 4.550515545082771e-05 4.512559130332447e-05 + 4.474839802715817e-05 4.437356575264515e-05 4.400108444300858e-05 4.363094478314062e-05 4.326313737450849e-05 + 4.289765220307346e-05 4.253447954450777e-05 4.217360984935306e-05 4.181503354031293e-05 4.145874078526325e-05 + 4.110472186234567e-05 4.075296770939578e-05 4.040346881442376e-05 4.005621534517384e-05 3.971119780891244e-05 + 3.936840678851008e-05 3.902783280379881e-05 3.868946611492773e-05 3.835329736378580e-05 3.801931758461789e-05 + 3.768751721520911e-05 3.735788667634669e-05 3.703041665089796e-05 3.670509786268472e-05 3.638192090588934e-05 + 3.606087620758478e-05 3.574195476070656e-05 3.542514758568229e-05 3.511044516462031e-05 3.479783817623805e-05 + 3.448731747191980e-05 3.417887390941621e-05 3.387249813623169e-05 3.356818082938366e-05 3.326591326488256e-05 + 3.296568640239042e-05 3.266749086476883e-05 3.237131756688427e-05 3.207715751232477e-05 3.178500166911470e-05 + 3.149484077201404e-05 3.120666582870710e-05 3.092046825328168e-05 3.063623897047349e-05 3.035396883732847e-05 + 3.007364895961203e-05 2.979527048619034e-05 2.951882447255356e-05 2.924430180184470e-05 2.897169381596313e-05 + 2.870099196601076e-05 2.843218722351712e-05 2.816527069305565e-05 2.790023364581556e-05 2.763706736588794e-05 + 2.737576298520704e-05 2.711631161938774e-05 2.685870489191871e-05 2.660293422952212e-05 2.634899073350601e-05 + 2.609686574272242e-05 2.584655068622352e-05 2.559803697386157e-05 2.535131582907573e-05 2.510637865851451e-05 + 2.486321726016628e-05 2.462182305120829e-05 2.438218734168926e-05 2.414430166313400e-05 2.390815760058303e-05 + 2.367374667612129e-05 2.344106023464476e-05 2.321008999935892e-05 2.298082786356460e-05 2.275326527748312e-05 + 2.252739378233606e-05 2.230320509258137e-05 2.208069093512809e-05 2.185984291941186e-05 2.164065260635458e-05 + 2.142311199522572e-05 2.120721298028661e-05 2.099294714303281e-05 2.078030625998752e-05 2.056928220029127e-05 + 2.035986682231265e-05 2.015205183896797e-05 1.994582907956633e-05 1.974119073954575e-05 1.953812872162773e-05 + 1.933663479825456e-05 1.913670094979531e-05 1.893831919578259e-05 1.874148151575467e-05 1.854617976080873e-05 + 1.835240605058427e-05 1.816015268982217e-05 1.796941162992672e-05 1.778017486956627e-05 1.759243456762222e-05 + 1.740618289118282e-05 1.722141193137039e-05 1.703811372777776e-05 1.685628066375182e-05 1.667590509374455e-05 + 1.649697910104339e-05 1.631949489857415e-05 1.614344479286407e-05 1.596882111103627e-05 1.579561606259506e-05 + 1.562382191518076e-05 1.545343126338709e-05 1.528443649706141e-05 1.511682986511545e-05 1.495060379262073e-05 + 1.478575075387210e-05 1.462226320346460e-05 1.446013347627832e-05 1.429935410828208e-05 1.413991783947596e-05 + 1.398181711799591e-05 1.382504440087988e-05 1.366959229690567e-05 1.351545344207288e-05 1.336262041089977e-05 + 1.321108569966174e-05 1.306084210743495e-05 1.291188246012095e-05 1.276419932540445e-05 1.261778537439798e-05 + 1.247263337350260e-05 1.232873611168182e-05 1.218608628547451e-05 1.204467661277090e-05 1.190450010670460e-05 + 1.176554964839514e-05 1.162781797531038e-05 1.149129796332477e-05 1.135598253898601e-05 1.122186462622714e-05 + 1.108893706038782e-05 1.095719281332111e-05 1.082662505098182e-05 1.069722672643097e-05 1.056899077370047e-05 + 1.044191025341683e-05 1.031597825830204e-05 1.019118784797653e-05 1.006753201372614e-05 9.945003972957807e-06 + 9.823597003224701e-06 9.703304169766936e-06 9.584118614966616e-06 9.466033570975281e-06 9.349042284940899e-06 + 9.233137946012443e-06 9.118313747892748e-06 9.004563126071509e-06 8.891879438415634e-06 8.780255908737012e-06 + 8.669685879934477e-06 8.560162746518096e-06 8.451679906731882e-06 8.344230688978416e-06 8.237808513777729e-06 + 8.132406985376577e-06 8.028019552616531e-06 7.924639629701503e-06 7.822260741691212e-06 7.720876445763237e-06 + 7.620480284148957e-06 7.521065743540658e-06 7.422626477381218e-06 7.325156218634066e-06 7.228648532638821e-06 + 7.133097034958690e-06 7.038495423985100e-06 6.944837416133499e-06 6.852116691729515e-06 6.760326924607246e-06 + 6.669461983453847e-06 6.579515704432944e-06 6.490481806747385e-06 6.402354101863004e-06 6.315126452251840e-06 + 6.228792731669073e-06 6.143346764859859e-06 6.058782435540508e-06 5.975093791198315e-06 5.892274772590937e-06 + 5.810319279027480e-06 5.729221306547671e-06 5.648974882411472e-06 5.569574030477156e-06 5.491012732167998e-06 + 5.413285091010444e-06 5.336385298912571e-06 5.260307420244722e-06 5.185045547999291e-06 5.110593849728286e-06 + 5.036946516955677e-06 4.964097720721464e-06 4.892041619202182e-06 4.820772525961763e-06 4.750284753859853e-06 + 4.680572517390150e-06 4.611630102585562e-06 4.543451844884654e-06 4.476032095169469e-06 4.409365173309600e-06 + 4.343445435493855e-06 4.278267378107974e-06 4.213825432046252e-06 4.150113986510229e-06 4.087127510654963e-06 + 4.024860505544460e-06 3.963307478207591e-06 3.902462905546128e-06 3.842321351732513e-06 3.782877469285005e-06 + 3.724125818875267e-06 3.666060976275786e-06 3.608677584308628e-06 3.551970310325800e-06 3.495933813913828e-06 + 3.440562742860537e-06 3.385851865026623e-06 3.331795968547279e-06 3.278389763636986e-06 3.225628015585682e-06 + 3.173505536483180e-06 3.122017155106099e-06 3.071157684657154e-06 3.020921961442045e-06 2.971304937503200e-06 + 2.922301530764381e-06 2.873906622400171e-06 2.826115159163556e-06 2.778922119160790e-06 2.732322492500433e-06 + 2.686311250918327e-06 2.640883427466542e-06 2.596034137909800e-06 2.551758437600915e-06 2.508051388712647e-06 + 2.464908112415978e-06 2.422323753722291e-06 2.380293459852445e-06 2.338812372063220e-06 2.297875719562253e-06 + 2.257478763762930e-06 2.217616712073996e-06 2.178284811840686e-06 2.139478353112250e-06 2.101192645402220e-06 + 2.063422994293474e-06 2.026164721213360e-06 1.989413239181793e-06 1.953163950788084e-06 1.917412231009713e-06 + 1.882153506609316e-06 1.847383234461138e-06 1.813096887995954e-06 1.779289933937322e-06 1.745957881749227e-06 + 1.713096313387221e-06 1.680700776153704e-06 1.648766820412035e-06 1.617290047665242e-06 1.586266083282953e-06 + 1.555690561349229e-06 1.525559115412809e-06 1.495867444877275e-06 1.466611286844381e-06 1.437786342321971e-06 + 1.409388342689011e-06 1.381413059137875e-06 1.353856283643994e-06 1.326713811980504e-06 1.299981452903499e-06 + 1.273655087535907e-06 1.247730601634883e-06 1.222203862466376e-06 1.197070780161529e-06 1.172327293218336e-06 + 1.147969358200551e-06 1.123992934949297e-06 1.100394014305713e-06 1.077168647815731e-06 1.054312872343777e-06 + 1.031822727943270e-06 1.009694299029158e-06 9.879236928228051e-07 9.665070295488333e-07 9.454404356909418e-07 + 9.247200854784831e-07 9.043421911847067e-07 8.843029477247774e-07 8.645985728173436e-07 8.452253193362285e-07 + 8.261794626052351e-07 8.074572875932502e-07 7.890550921071068e-07 7.709692301619030e-07 7.531960701353248e-07 + 7.357319715620587e-07 7.185733287203112e-07 7.017165630618881e-07 6.851581162834306e-07 6.688944388625421e-07 + 6.529220052598067e-07 6.372373411274385e-07 6.218369717692920e-07 6.067174274527125e-07 5.918752755194360e-07 + 5.773071063798692e-07 5.630095271034721e-07 5.489791556312369e-07 5.352126455394792e-07 5.217066864180125e-07 + 5.084579644193884e-07 4.954631845887763e-07 4.827190834887087e-07 4.702224204045173e-07 4.579699684713550e-07 + 4.459585154334098e-07 4.341848919935187e-07 4.226459485782965e-07 4.113385363883691e-07 4.002595352312233e-07 + 3.894058504065020e-07 3.787744086301839e-07 3.683621500987016e-07 3.581660355932383e-07 3.481830676805770e-07 + 3.384102581524441e-07 3.288446273745833e-07 3.194832275224818e-07 3.103231330843525e-07 3.013614373207315e-07 + 2.925952486098954e-07 2.840217031010630e-07 2.756379695267500e-07 2.674412234106971e-07 2.594286576386206e-07 + 2.515974937029081e-07 2.439449754383926e-07 2.364683632309526e-07 2.291649345383248e-07 2.220320002407473e-07 + 2.150668931442167e-07 2.082669548865648e-07 2.016295514473211e-07 1.951520727682157e-07 1.888319311586693e-07 + 1.826665552837694e-07 1.766533931743509e-07 1.707899271779558e-07 1.650736547045015e-07 1.595020857916059e-07 + 1.540727581256184e-07 1.487832309302349e-07 1.436310837043274e-07 1.386139140291348e-07 1.337293426531939e-07 + 1.289750194034745e-07 1.243486077550924e-07 1.198477884856861e-07 1.154702687444825e-07 1.112137774078364e-07 + 1.070760615754017e-07 1.030548878714015e-07 9.914804983102429e-08 9.535336319532080e-08 9.166865877274502e-08 + 8.809178921148019e-08 8.462062987184363e-08 8.125307865123530e-08 7.798705169188094e-08 7.482048486743137e-08 + 7.175134265372113e-08 6.877760756933380e-08 6.589727849023001e-08 6.310837918621049e-08 6.040895419177239e-08 + 5.779706919084610e-08 5.527080986023133e-08 5.282828275733461e-08 5.046762055622123e-08 4.818697371034567e-08 + 4.598451068334482e-08 4.385842456607357e-08 4.180692971968811e-08 3.982825980405518e-08 3.792066966127786e-08 + 3.608243718277188e-08 3.431186206040581e-08 3.260726312426322e-08 3.096697968233847e-08 2.938937298745983e-08 + 2.787282684203093e-08 2.641574418968914e-08 2.501654849393015e-08 2.367368813134603e-08 2.238563078881267e-08 + 2.115086344400587e-08 1.996789606940446e-08 1.883525886916157e-08 1.775150390948272e-08 1.671520402936120e-08 + 1.572495208680648e-08 1.477936511938296e-08 1.387707990026544e-08 1.301675220490221e-08 1.219706138041649e-08 + 1.141670750179082e-08 1.067441065312196e-08 9.968913113355902e-09 9.298978133402818e-09 8.663390331238368e-09 + 8.060955677291694e-09 7.490500025975069e-09 6.950870854385858e-09 6.440937996309972e-09 5.959590797852082e-09 + 5.505739944416565e-09 5.078318901633865e-09 4.676280806472903e-09 4.298600029449081e-09 3.944272776496124e-09 + 3.612315204086912e-09 3.301765808464261e-09 3.011683971683484e-09 2.741149022073358e-09 2.489263438950313e-09 + 2.255150010734707e-09 2.037951439802415e-09 1.836833426869985e-09 1.650981924522248e-09 1.479603458288696e-09 + 1.321927088896133e-09 1.177201927023745e-09 1.044698361371603e-09 9.237089042804517e-10 8.135457713165132e-10 + 7.135428727606122e-10 6.230561233086797e-10 5.414610837010692e-10 4.681552957722881e-10 4.025579739718386e-10 + 3.441080911031397e-10 2.922668865200973e-10 2.465167169238545e-10 2.063598966733955e-10 1.713213823559041e-10 + 1.409467301732644e-10 1.148017117805301e-10 9.247489436372923e-11 7.357503403670199e-11 5.773147403071901e-11 + 4.459623415664643e-11 3.384125546419585e-11 2.515956035071991e-11 1.826656159304613e-11 1.289741553721677e-11 + 8.808852910154413e-12 5.779611749592996e-12 3.608107240050744e-12 2.114775563702074e-12 1.141629414770904e-12 + 5.504076981088132e-13 2.252028793998774e-13 7.135404618680312e-14 1.400208835054596e-14 2.858282411901289e-16 + 0.000000000000000e+00 3.280907692410757e+00 6.559093802140417e+00 9.834554467967374e+00 1.310728583537977e+01 + 1.637728405657552e+01 1.964454529046227e+01 2.290906570265743e+01 2.617084146548816e+01 2.942986875799139e+01 + 3.268614376591378e+01 3.593966268171175e+01 3.919042170455148e+01 4.243841704030890e+01 4.568364490156970e+01 + 4.892610150762930e+01 5.216578308449292e+01 5.540268586487547e+01 5.863680608820168e+01 6.186814000060598e+01 + 6.509668385493259e+01 6.832243391073550e+01 7.154538643427834e+01 7.476553769853463e+01 7.798288398318758e+01 + 8.119742157463018e+01 8.440914676596513e+01 8.761805585700493e+01 9.082414515427180e+01 9.402741097099775e+01 + 9.722784962712448e+01 1.004254574493035e+02 1.036202307708961e+02 1.068121659319733e+02 1.100012592793157e+02 + 1.131875071664140e+02 1.163709059534683e+02 1.195514520073887e+02 1.227291417017950e+02 1.259039714170167e+02 + 1.290759375400930e+02 1.322450364647731e+02 1.354112645915156e+02 1.385746183274891e+02 1.417350940865720e+02 + 1.448926882893522e+02 1.480473973631275e+02 1.511992177419055e+02 1.543481458664036e+02 1.574941781840487e+02 + 1.606373111489777e+02 1.637775412220371e+02 1.669148648707833e+02 1.700492785694823e+02 1.731807787991100e+02 + 1.763093620473519e+02 1.794350248086033e+02 1.825577635839695e+02 1.856775748812652e+02 1.887944552150149e+02 + 1.919084011064531e+02 1.950194090835239e+02 1.981274756808810e+02 2.012325974398883e+02 2.043347709086188e+02 + 2.074339926418558e+02 2.105302592010923e+02 2.136235671545306e+02 2.167139130770834e+02 2.198012935503726e+02 + 2.228857051627302e+02 2.259671445091978e+02 2.290456081915269e+02 2.321210928181784e+02 2.351935950043234e+02 + 2.382631113718425e+02 2.413296385493261e+02 2.443931731720744e+02 2.474537118820972e+02 2.505112513281143e+02 + 2.535657881655549e+02 2.566173190565586e+02 2.596658406699738e+02 2.627113496813596e+02 2.657538427729843e+02 + 2.687933166338259e+02 2.718297679595726e+02 2.748631934526219e+02 2.778935898220815e+02 2.809209537837683e+02 + 2.839452820602094e+02 2.869665713806416e+02 2.899848184810112e+02 2.930000201039745e+02 2.960121729988974e+02 + 2.990212739218558e+02 3.020273196356349e+02 3.050303069097302e+02 3.080302325203465e+02 3.110270932503987e+02 + 3.140208858895110e+02 3.170116072340180e+02 3.199992540869634e+02 3.229838232581013e+02 3.259653115638948e+02 + 3.289437158275174e+02 3.319190328788521e+02 3.348912595544916e+02 3.378603926977383e+02 3.408264291586049e+02 + 3.437893657938130e+02 3.467491994667945e+02 3.497059270476910e+02 3.526595454133537e+02 3.556100514473437e+02 + 3.585574420399318e+02 3.615017140880985e+02 3.644428644955341e+02 3.673808901726388e+02 3.703157880365222e+02 + 3.732475550110041e+02 3.761761880266134e+02 3.791016840205897e+02 3.820240399368814e+02 3.849432527261474e+02 + 3.878593193457557e+02 3.907722367597846e+02 3.936820019390219e+02 3.965886118609651e+02 3.994920635098217e+02 + 4.023923538765087e+02 4.052894799586530e+02 4.081834387605912e+02 4.110742272933696e+02 4.139618425747443e+02 + 4.168462816291812e+02 4.197275414878559e+02 4.226056191886540e+02 4.254805117761704e+02 4.283522163017099e+02 + 4.312207298232872e+02 4.340860494056267e+02 4.369481721201628e+02 4.398070950450389e+02 4.426628152651090e+02 + 4.455153298719365e+02 4.483646359637945e+02 4.512107306456656e+02 4.540536110292430e+02 4.568932742329288e+02 + 4.597297173818351e+02 4.625629376077841e+02 4.653929320493071e+02 4.682196978516460e+02 4.710432321667516e+02 + 4.738635321532851e+02 4.766805949766169e+02 4.794944178088276e+02 4.823049978287075e+02 4.851123322217564e+02 + 4.879164181801841e+02 4.907172529029099e+02 4.935148335955632e+02 4.963091574704831e+02 4.991002217467178e+02 + 5.018880236500261e+02 5.046725604128764e+02 5.074538292744463e+02 5.102318274806237e+02 5.130065522840063e+02 + 5.157780009439010e+02 5.185461707263250e+02 5.213110589040049e+02 5.240726627563774e+02 5.268309795695885e+02 + 5.295860066364945e+02 5.323377412566609e+02 5.350861807363634e+02 5.378313223885873e+02 5.405731635330272e+02 + 5.433117014960885e+02 5.460469336108854e+02 5.487788572172420e+02 5.515074696616928e+02 5.542327682974811e+02 + 5.569547504845609e+02 5.596734135895950e+02 5.623887549859570e+02 5.651007720537292e+02 5.678094621797045e+02 + 5.705148227573850e+02 5.732168511869830e+02 5.759155448754203e+02 5.786109012363282e+02 5.813029176900482e+02 + 5.839915916636313e+02 5.866769205908384e+02 5.893589019121401e+02 5.920375330747167e+02 5.947128115324583e+02 + 5.973847347459648e+02 6.000533001825459e+02 6.027185053162206e+02 6.053803476277183e+02 6.080388246044777e+02 + 6.106939337406476e+02 6.133456725370861e+02 6.159940385013617e+02 6.186390291477520e+02 6.212806419972447e+02 + 6.239188745775372e+02 6.265537244230364e+02 6.291851890748597e+02 6.318132660808333e+02 6.344379529954938e+02 + 6.370592473800871e+02 6.396771468025696e+02 6.422916488376064e+02 6.449027510665734e+02 6.475104510775553e+02 + 6.501147464653474e+02 6.527156348314542e+02 6.553131137840901e+02 6.579071809381794e+02 6.604978339153558e+02 + 6.630850703439634e+02 6.656688878590552e+02 6.682492841023947e+02 6.708262567224546e+02 6.733998033744177e+02 + 6.759699217201766e+02 6.785366094283333e+02 6.810998641742000e+02 6.836596836397980e+02 6.862160655138592e+02 + 6.887690074918247e+02 6.913185072758453e+02 6.938645625747821e+02 6.964071711042051e+02 6.989463305863949e+02 + 7.014820387503412e+02 7.040142933317441e+02 7.065430920730126e+02 7.090684327232666e+02 7.115903130383348e+02 + 7.141087307807558e+02 7.166236837197782e+02 7.191351696313601e+02 7.216431862981700e+02 7.241477315095852e+02 + 7.266488030616937e+02 7.291463987572921e+02 7.316405164058881e+02 7.341311538236981e+02 7.366183088336488e+02 + 7.391019792653765e+02 7.415821629552270e+02 7.440588577462564e+02 7.465320614882301e+02 7.490017720376235e+02 + 7.514679872576214e+02 7.539307050181191e+02 7.563899231957208e+02 7.588456396737411e+02 7.612978523422037e+02 + 7.637465590978424e+02 7.661917578441014e+02 7.686334464911333e+02 7.710716229558018e+02 7.735062851616793e+02 + 7.759374310390485e+02 7.783650585249019e+02 7.807891655629417e+02 7.832097501035795e+02 7.856268101039369e+02 + 7.880403435278453e+02 7.904503483458460e+02 7.928568225351897e+02 7.952597640798369e+02 7.976591709704585e+02 + 8.000550412044341e+02 8.024473727858536e+02 8.048361637255169e+02 8.072214120409334e+02 8.096031157563222e+02 + 8.119812729026120e+02 8.143558815174417e+02 8.167269396451593e+02 8.190944453368236e+02 8.214583966502021e+02 + 8.238187916497725e+02 8.261756284067224e+02 8.285289049989487e+02 8.308786195110586e+02 8.332247700343684e+02 + 8.355673546669050e+02 8.379063715134042e+02 8.402418186853124e+02 8.425736943007848e+02 8.449019964846872e+02 + 8.472267233685945e+02 8.495478730907921e+02 8.518654437962743e+02 8.541794336367457e+02 8.564898407706205e+02 + 8.587966633630226e+02 8.610998995857861e+02 8.633995476174539e+02 8.656956056432798e+02 8.679880718552264e+02 + 8.702769444519665e+02 8.725622216388828e+02 8.748439016280670e+02 8.771219826383219e+02 8.793964628951586e+02 + 8.816673406307990e+02 8.839346140841741e+02 8.861982815009252e+02 8.884583411334027e+02 8.907147912406675e+02 + 8.929676300884897e+02 8.952168559493493e+02 8.974624671024361e+02 8.997044618336495e+02 9.019428384355992e+02 + 9.041775952076036e+02 9.064087304556922e+02 9.086362424926032e+02 9.108601296377846e+02 9.130803902173951e+02 + 9.152970225643020e+02 9.175100250180832e+02 9.197193959250255e+02 9.219251336381268e+02 9.241272365170935e+02 + 9.263257029283417e+02 9.285205312449986e+02 9.307117198468995e+02 9.328992671205907e+02 9.350831714593277e+02 + 9.372634312630761e+02 9.394400449385104e+02 9.416130108990160e+02 9.437823275646871e+02 9.459479933623287e+02 + 9.481100067254541e+02 9.502683660942876e+02 9.524230699157629e+02 9.545741166435229e+02 9.567215047379214e+02 + 9.588652326660207e+02 9.610052989015940e+02 9.631417019251231e+02 9.652744402238004e+02 9.674035122915279e+02 + 9.695289166289172e+02 9.716506517432896e+02 9.737687161486764e+02 9.758831083658184e+02 9.779938269221661e+02 + 9.801008703518804e+02 9.822042371958310e+02 9.843039260015983e+02 9.863999353234714e+02 9.884922637224498e+02 + 9.905809097662435e+02 9.926658720292703e+02 9.947471490926598e+02 9.968247395442500e+02 9.988986419785891e+02 + 1.000968854996935e+03 1.003035377207256e+03 1.005098207224229e+03 1.007157343669241e+03 1.009212785170389e+03 + 1.011264530362480e+03 1.013312577887031e+03 1.015356926392268e+03 1.017397574533126e+03 1.019434520971252e+03 + 1.021467764375000e+03 1.023497303419437e+03 1.025523136786337e+03 1.027545263164185e+03 1.029563681248175e+03 + 1.031578389740212e+03 1.033589387348909e+03 1.035596672789591e+03 1.037600244784291e+03 1.039600102061752e+03 + 1.041596243357428e+03 1.043588667413480e+03 1.045577372978782e+03 1.047562358808916e+03 1.049543623666173e+03 + 1.051521166319557e+03 1.053494985544777e+03 1.055465080124256e+03 1.057431448847125e+03 1.059394090509224e+03 + 1.061353003913104e+03 1.063308187868025e+03 1.065259641189957e+03 1.067207362701581e+03 1.069151351232285e+03 + 1.071091605618170e+03 1.073028124702043e+03 1.074960907333424e+03 1.076889952368542e+03 1.078815258670335e+03 + 1.080736825108451e+03 1.082654650559248e+03 1.084568733905793e+03 1.086479074037864e+03 1.088385669851947e+03 + 1.090288520251241e+03 1.092187624145651e+03 1.094082980451794e+03 1.095974588092995e+03 1.097862445999292e+03 + 1.099746553107428e+03 1.101626908360861e+03 1.103503510709754e+03 1.105376359110983e+03 1.107245452528133e+03 + 1.109110789931497e+03 1.110972370298081e+03 1.112830192611597e+03 1.114684255862470e+03 1.116534559047833e+03 + 1.118381101171529e+03 1.120223881244111e+03 1.122062898282842e+03 1.123898151311694e+03 1.125729639361349e+03 + 1.127557361469200e+03 1.129381316679347e+03 1.131201504042604e+03 1.133017922616489e+03 1.134830571465235e+03 + 1.136639449659783e+03 1.138444556277782e+03 1.140245890403593e+03 1.142043451128286e+03 1.143837237549640e+03 + 1.145627248772146e+03 1.147413483907002e+03 1.149195942072117e+03 1.150974622392110e+03 1.152749523998310e+03 + 1.154520646028755e+03 1.156287987628192e+03 1.158051547948079e+03 1.159811326146585e+03 1.161567321388586e+03 + 1.163319532845669e+03 1.165067959696131e+03 1.166812601124979e+03 1.168553456323928e+03 1.170290524491405e+03 + 1.172023804832545e+03 1.173753296559195e+03 1.175478998889909e+03 1.177200911049953e+03 1.178919032271301e+03 + 1.180633361792637e+03 1.182343898859357e+03 1.184050642723563e+03 1.185753592644071e+03 1.187452747886402e+03 + 1.189148107722792e+03 1.190839671432183e+03 1.192527438300227e+03 1.194211407619287e+03 1.195891578688435e+03 + 1.197567950813455e+03 1.199240523306837e+03 1.200909295487783e+03 1.202574266682204e+03 1.204235436222721e+03 + 1.205892803448666e+03 1.207546367706079e+03 1.209196128347710e+03 1.210842084733019e+03 1.212484236228177e+03 + 1.214122582206062e+03 1.215757122046265e+03 1.217387855135084e+03 1.219014780865528e+03 1.220637898637316e+03 + 1.222257207856876e+03 1.223872707937346e+03 1.225484398298575e+03 1.227092278367119e+03 1.228696347576247e+03 + 1.230296605365935e+03 1.231893051182870e+03 1.233485684480449e+03 1.235074504718779e+03 1.236659511364675e+03 + 1.238240703891664e+03 1.239818081779981e+03 1.241391644516571e+03 1.242961391595090e+03 1.244527322515903e+03 + 1.246089436786084e+03 1.247647733919417e+03 1.249202213436398e+03 1.250752874864230e+03 1.252299717736826e+03 + 1.253842741594810e+03 1.255381945985516e+03 1.256917330462986e+03 1.258448894587972e+03 1.259976637927938e+03 + 1.261500560057056e+03 1.263020660556207e+03 1.264536939012984e+03 1.266049395021687e+03 1.267558028183329e+03 + 1.269062838105629e+03 1.270563824403019e+03 1.272060986696640e+03 1.273554324614341e+03 1.275043837790682e+03 + 1.276529525866934e+03 1.278011388491075e+03 1.279489425317796e+03 1.280963636008494e+03 1.282434020231280e+03 + 1.283900577660971e+03 1.285363307979095e+03 1.286822210873891e+03 1.288277286040307e+03 1.289728533179999e+03 + 1.291175952001336e+03 1.292619542219393e+03 1.294059303555960e+03 1.295495235739530e+03 1.296927338505312e+03 + 1.298355611595221e+03 1.299780054757883e+03 1.301200667748633e+03 1.302617450329516e+03 1.304030402269289e+03 + 1.305439523343415e+03 1.306844813334069e+03 1.308246272030136e+03 1.309643899227210e+03 1.311037694727594e+03 + 1.312427658340302e+03 1.313813789881058e+03 1.315196089172293e+03 1.316574556043153e+03 1.317949190329488e+03 + 1.319319991873862e+03 1.320686960525546e+03 1.322050096140523e+03 1.323409398581483e+03 1.324764867717829e+03 + 1.326116503425671e+03 1.327464305587830e+03 1.328808274093838e+03 1.330148408839934e+03 1.331484709729068e+03 + 1.332817176670901e+03 1.334145809581802e+03 1.335470608384850e+03 1.336791573009835e+03 1.338108703393256e+03 + 1.339421999478320e+03 1.340731461214948e+03 1.342037088559766e+03 1.343338881476113e+03 1.344636839934036e+03 + 1.345930963910293e+03 1.347221253388351e+03 1.348507708358388e+03 1.349790328817288e+03 1.351069114768650e+03 + 1.352344066222779e+03 1.353615183196692e+03 1.354882465714113e+03 1.356145913805479e+03 1.357405527507935e+03 + 1.358661306865335e+03 1.359913251928245e+03 1.361161362753938e+03 1.362405639406399e+03 1.363646081956323e+03 + 1.364882690481112e+03 1.366115465064880e+03 1.367344405798451e+03 1.368569512779358e+03 1.369790786111843e+03 + 1.371008225906858e+03 1.372221832282067e+03 1.373431605361840e+03 1.374637545277261e+03 1.375839652166119e+03 + 1.377037926172918e+03 1.378232367448867e+03 1.379422976151887e+03 1.380609752446609e+03 1.381792696504374e+03 + 1.382971808503231e+03 1.384147088627939e+03 1.385318537069970e+03 1.386486154027501e+03 1.387649939705423e+03 + 1.388809894315333e+03 1.389966018075540e+03 1.391118311211063e+03 1.392266773953630e+03 1.393411406541678e+03 + 1.394552209220356e+03 1.395689182241520e+03 1.396822325863737e+03 1.397951640352285e+03 1.399077125979150e+03 + 1.400198783023028e+03 1.401316611769325e+03 1.402430612510158e+03 1.403540785544351e+03 1.404647131177441e+03 + 1.405749649721672e+03 1.406848341496000e+03 1.407943206826088e+03 1.409034246044311e+03 1.410121459489754e+03 + 1.411204847508209e+03 1.412284410452182e+03 1.413360148680885e+03 1.414432062560241e+03 1.415500152462884e+03 + 1.416564418768155e+03 1.417624861862108e+03 1.418681482137504e+03 1.419734279993815e+03 1.420783255837224e+03 + 1.421828410080621e+03 1.422869743143608e+03 1.423907255452495e+03 1.424940947440303e+03 1.425970819546763e+03 + 1.426996872218314e+03 1.428019105908108e+03 1.429037521076003e+03 1.430052118188569e+03 1.431062897719085e+03 + 1.432069860147540e+03 1.433073005960632e+03 1.434072335651771e+03 1.435067849721075e+03 1.436059548675370e+03 + 1.437047433028196e+03 1.438031503299800e+03 1.439011760017138e+03 1.439988203713878e+03 1.440960834930396e+03 + 1.441929654213780e+03 1.442894662117825e+03 1.443855859203037e+03 1.444813246036631e+03 1.445766823192535e+03 + 1.446716591251382e+03 1.447662550800518e+03 1.448604702433997e+03 1.449543046752585e+03 1.450477584363755e+03 + 1.451408315881691e+03 1.452335241927287e+03 1.453258363128147e+03 1.454177680118583e+03 1.455093193539620e+03 + 1.456004904038989e+03 1.456912812271134e+03 1.457816918897206e+03 1.458717224585068e+03 1.459613730009291e+03 + 1.460506435851157e+03 1.461395342798658e+03 1.462280451546494e+03 1.463161762796076e+03 1.464039277255525e+03 + 1.464912995639670e+03 1.465782918670054e+03 1.466649047074924e+03 1.467511381589240e+03 1.468369922954673e+03 + 1.469224671919600e+03 1.470075629239112e+03 1.470922795675006e+03 1.471766171995790e+03 1.472605758976684e+03 + 1.473441557399614e+03 1.474273568053219e+03 1.475101791732846e+03 1.475926229240551e+03 1.476746881385102e+03 + 1.477563748981976e+03 1.478376832853358e+03 1.479186133828146e+03 1.479991652741944e+03 1.480793390437068e+03 + 1.481591347762545e+03 1.482385525574108e+03 1.483175924734204e+03 1.483962546111986e+03 1.484745390583318e+03 + 1.485524459030776e+03 1.486299752343644e+03 1.487071271417914e+03 1.487839017156289e+03 1.488602990468185e+03 + 1.489363192269722e+03 1.490119623483735e+03 1.490872285039765e+03 1.491621177874064e+03 1.492366302929595e+03 + 1.493107661156030e+03 1.493845253509749e+03 1.494579080953843e+03 1.495309144458115e+03 1.496035444999074e+03 + 1.496757983559942e+03 1.497476761130647e+03 1.498191778707831e+03 1.498903037294843e+03 1.499610537901742e+03 + 1.500314281545298e+03 1.501014269248990e+03 1.501710502043006e+03 1.502402980964245e+03 1.503091707056315e+03 + 1.503776681369534e+03 1.504457904960931e+03 1.505135378894241e+03 1.505809104239914e+03 1.506479082075105e+03 + 1.507145313483682e+03 1.507807799556220e+03 1.508466541390007e+03 1.509121540089038e+03 1.509772796764020e+03 + 1.510420312532367e+03 1.511064088518205e+03 1.511704125852369e+03 1.512340425672404e+03 1.512972989122564e+03 + 1.513601817353814e+03 1.514226911523828e+03 1.514848272796989e+03 1.515465902344391e+03 1.516079801343838e+03 + 1.516689970979842e+03 1.517296412443626e+03 1.517899126933124e+03 1.518498115652977e+03 1.519093379814537e+03 + 1.519684920635866e+03 1.520272739341736e+03 1.520856837163628e+03 1.521437215339733e+03 1.522013875114953e+03 + 1.522586817740897e+03 1.523156044475887e+03 1.523721556584951e+03 1.524283355339831e+03 1.524841442018975e+03 + 1.525395817907543e+03 1.525946484297405e+03 1.526493442487138e+03 1.527036693782033e+03 1.527576239494086e+03 + 1.528112080942007e+03 1.528644219451213e+03 1.529172656353831e+03 1.529697392988700e+03 1.530218430701367e+03 + 1.530735770844087e+03 1.531249414775829e+03 1.531759363862268e+03 1.532265619475790e+03 1.532768182995492e+03 + 1.533267055807180e+03 1.533762239303368e+03 1.534253734883281e+03 1.534741543952856e+03 1.535225667924735e+03 + 1.535706108218275e+03 1.536182866259539e+03 1.536655943481301e+03 1.537125341323045e+03 1.537591061230964e+03 + 1.538053104657961e+03 1.538511473063650e+03 1.538966167914353e+03 1.539417190683102e+03 1.539864542849641e+03 + 1.540308225900420e+03 1.540748241328602e+03 1.541184590634058e+03 1.541617275323370e+03 1.542046296909827e+03 + 1.542471656913432e+03 1.542893356860894e+03 1.543311398285634e+03 1.543725782727782e+03 1.544136511734178e+03 + 1.544543586858370e+03 1.544947009660620e+03 1.545346781707894e+03 1.545742904573873e+03 1.546135379838945e+03 + 1.546524209090207e+03 1.546909393921469e+03 1.547290935933248e+03 1.547668836732771e+03 1.548043097933976e+03 + 1.548413721157510e+03 1.548780708030729e+03 1.549144060187701e+03 1.549503779269201e+03 1.549859866922715e+03 + 1.550212324802440e+03 1.550561154569281e+03 1.550906357890854e+03 1.551247936441483e+03 1.551585891902203e+03 + 1.551920225960758e+03 1.552250940311604e+03 1.552578036655905e+03 1.552901516701533e+03 1.553221382163073e+03 + 1.553537634761818e+03 1.553850276225772e+03 1.554159308289647e+03 1.554464732694865e+03 1.554766551189559e+03 + 1.555064765528572e+03 1.555359377473454e+03 1.555650388792468e+03 1.555937801260586e+03 1.556221616659488e+03 + 1.556501836777564e+03 1.556778463409917e+03 1.557051498358356e+03 1.557320943431401e+03 1.557586800444283e+03 + 1.557849071218940e+03 1.558107757584023e+03 1.558362861374890e+03 1.558614384433611e+03 1.558862328608964e+03 + 1.559106695756438e+03 1.559347487738230e+03 1.559584706423249e+03 1.559818353687112e+03 1.560048431412147e+03 + 1.560274941487391e+03 1.560497885808591e+03 1.560717266278204e+03 1.560933084805396e+03 1.561145343306044e+03 + 1.561354043702732e+03 1.561559187924758e+03 1.561760777908126e+03 1.561958815595552e+03 1.562153302936461e+03 + 1.562344241886987e+03 1.562531634409975e+03 1.562715482474979e+03 1.562895788058264e+03 1.563072553142803e+03 + 1.563245779718279e+03 1.563415469781085e+03 1.563581625334326e+03 1.563744248387813e+03 1.563903340958068e+03 + 1.564058905068325e+03 1.564210942748526e+03 1.564359456035321e+03 1.564504446972073e+03 1.564645917608853e+03 + 1.564783870002442e+03 1.564918306216331e+03 1.565049228320720e+03 1.565176638392519e+03 1.565300538515349e+03 + 1.565420930779540e+03 1.565537817282130e+03 1.565651200126870e+03 1.565761081424219e+03 1.565867463291344e+03 + 1.565970347852125e+03 1.566069737237150e+03 1.566165633583717e+03 1.566258039035835e+03 1.566346955744220e+03 + 1.566432385866300e+03 1.566514331566212e+03 1.566592795014803e+03 1.566667778389629e+03 1.566739283874957e+03 + 1.566807313661764e+03 1.566871869947734e+03 1.566932954937263e+03 1.566990570841457e+03 1.567044719878131e+03 + 1.567095404271811e+03 1.567142626253729e+03 1.567186388061831e+03 1.567226691940771e+03 1.567263540141913e+03 + 1.567296934923331e+03 1.567326878549808e+03 1.567353373292836e+03 1.567376421430620e+03 1.567396025248071e+03 + 1.567412187036812e+03 1.567424909095176e+03 1.567434193728203e+03 1.567440043247646e+03 1.567442459971967e+03 + 1.567441446226336e+03 1.567437004342634e+03 1.567429136659453e+03 1.567417845522091e+03 1.567403133282561e+03 + 1.567385002299581e+03 1.567363454938582e+03 1.567338493571702e+03 1.567310120577791e+03 1.567278338342408e+03 + 1.567243149257822e+03 1.567204555723011e+03 1.567162560143663e+03 1.567117164932177e+03 1.567068372507660e+03 + 1.567016185295929e+03 1.566960605729512e+03 1.566901636247646e+03 1.566839279296277e+03 1.566773537328063e+03 + 1.566704412802369e+03 1.566631908185271e+03 1.566556025949555e+03 1.566476768574717e+03 1.566394138546961e+03 + 1.566308138359204e+03 1.566218770511069e+03 1.566126037508891e+03 1.566029941865714e+03 1.565930486101294e+03 + 1.565827672742092e+03 1.565721504321283e+03 1.565611983378751e+03 1.565499112461087e+03 1.565382894121595e+03 + 1.565263330920288e+03 1.565140425423888e+03 1.565014180205826e+03 1.564884597846246e+03 1.564751680931997e+03 + 1.564615432056643e+03 1.564475853820452e+03 1.564332948830408e+03 1.564186719700199e+03 1.564037169050227e+03 + 1.563884299507601e+03 1.563728113706142e+03 1.563568614286379e+03 1.563405803895550e+03 1.563239685187607e+03 + 1.563070260823207e+03 1.562897533469719e+03 1.562721505801220e+03 1.562542180498501e+03 1.562359560249057e+03 + 1.562173647747097e+03 1.561984445693539e+03 1.561791956796009e+03 1.561596183768845e+03 1.561397129333092e+03 + 1.561194796216507e+03 1.560989187153558e+03 1.560780304885418e+03 1.560568152159974e+03 1.560352731731822e+03 + 1.560134046362267e+03 1.559912098819323e+03 1.559686891877715e+03 1.559458428318879e+03 1.559226710930956e+03 + 1.558991742508803e+03 1.558753525853981e+03 1.558512063774766e+03 1.558267359086140e+03 1.558019414609795e+03 + 1.557768233174136e+03 1.557513817614273e+03 1.557256170772030e+03 1.556995295495938e+03 1.556731194641239e+03 + 1.556463871069885e+03 1.556193327650536e+03 1.555919567258564e+03 1.555642592776049e+03 1.555362407091783e+03 + 1.555079013101264e+03 1.554792413706704e+03 1.554502611817021e+03 1.554209610347846e+03 1.553913412221517e+03 + 1.553614020367084e+03 1.553311437720305e+03 1.553005667223649e+03 1.552696711826295e+03 1.552384574484129e+03 + 1.552069258159750e+03 1.551750765822466e+03 1.551429100448294e+03 1.551104265019960e+03 1.550776262526902e+03 + 1.550445095965265e+03 1.550110768337907e+03 1.549773282654394e+03 1.549432641931000e+03 1.549088849190713e+03 + 1.548741907463227e+03 1.548391819784946e+03 1.548038589198987e+03 1.547682218755173e+03 1.547322711510039e+03 + 1.546960070526829e+03 1.546594298875496e+03 1.546225399632705e+03 1.545853375881829e+03 1.545478230712950e+03 + 1.545099967222861e+03 1.544718588515066e+03 1.544334097699777e+03 1.543946497893915e+03 1.543555792221112e+03 + 1.543161983811711e+03 1.542765075802762e+03 1.542365071338026e+03 1.541961973567975e+03 1.541555785649789e+03 + 1.541146510747358e+03 1.540734152031283e+03 1.540318712678874e+03 1.539900195874149e+03 1.539478604807839e+03 + 1.539053942677383e+03 1.538626212686929e+03 1.538195418047336e+03 1.537761561976173e+03 1.537324647697717e+03 + 1.536884678442957e+03 1.536441657449592e+03 1.535995587962026e+03 1.535546473231378e+03 1.535094316515475e+03 + 1.534639121078853e+03 1.534180890192759e+03 1.533719627135150e+03 1.533255335190690e+03 1.532788017650757e+03 + 1.532317677813435e+03 1.531844318983518e+03 1.531367944472514e+03 1.530888557598635e+03 1.530406161686807e+03 + 1.529920760068664e+03 1.529432356082550e+03 1.528940953073517e+03 1.528446554393331e+03 1.527949163400464e+03 + 1.527448783460099e+03 1.526945417944129e+03 1.526439070231157e+03 1.525929743706494e+03 1.525417441762163e+03 + 1.524902167796895e+03 1.524383925216131e+03 1.523862717432025e+03 1.523338547863434e+03 1.522811419935932e+03 + 1.522281337081799e+03 1.521748302740024e+03 1.521212320356308e+03 1.520673393383061e+03 1.520131525279401e+03 + 1.519586719511159e+03 1.519038979550873e+03 1.518488308877793e+03 1.517934710977876e+03 1.517378189343791e+03 + 1.516818747474916e+03 1.516256388877339e+03 1.515691117063858e+03 1.515122935553979e+03 1.514551847873920e+03 + 1.513977857556607e+03 1.513400968141679e+03 1.512821183175479e+03 1.512238506211065e+03 1.511652940808203e+03 + 1.511064490533368e+03 1.510473158959745e+03 1.509878949667230e+03 1.509281866242427e+03 1.508681912278651e+03 + 1.508079091375926e+03 1.507473407140987e+03 1.506864863187277e+03 1.506253463134950e+03 1.505639210610869e+03 + 1.505022109248608e+03 1.504402162688449e+03 1.503779374577385e+03 1.503153748569118e+03 1.502525288324061e+03 + 1.501893997509335e+03 1.501259879798773e+03 1.500622938872914e+03 1.499983178419011e+03 1.499340602131025e+03 + 1.498695213709626e+03 1.498047016862194e+03 1.497396015302820e+03 1.496742212752304e+03 1.496085612938155e+03 + 1.495426219594593e+03 1.494764036462547e+03 1.494099067289655e+03 1.493431315830267e+03 1.492760785845442e+03 + 1.492087481102946e+03 1.491411405377259e+03 1.490732562449567e+03 1.490050956107769e+03 1.489366590146471e+03 + 1.488679468366991e+03 1.487989594577355e+03 1.487296972592300e+03 1.486601606233272e+03 1.485903499328426e+03 + 1.485202655712629e+03 1.484499079227457e+03 1.483792773721193e+03 1.483083743048834e+03 1.482371991072084e+03 + 1.481657521659358e+03 1.480940338685780e+03 1.480220446033183e+03 1.479497847590113e+03 1.478772547251821e+03 + 1.478044548920272e+03 1.477313856504138e+03 1.476580473918802e+03 1.475844405086357e+03 1.475105653935605e+03 + 1.474364224402058e+03 1.473620120427938e+03 1.472873345962177e+03 1.472123904960415e+03 1.471371801385004e+03 + 1.470617039205005e+03 1.469859622396187e+03 1.469099554941032e+03 1.468336840828730e+03 1.467571484055180e+03 + 1.466803488622991e+03 1.466032858541484e+03 1.465259597826687e+03 1.464483710501340e+03 1.463705200594890e+03 + 1.462924072143496e+03 1.462140329190026e+03 1.461353975784058e+03 1.460565015981880e+03 1.459773453846489e+03 + 1.458979293447591e+03 1.458182538861605e+03 1.457383194171656e+03 1.456581263467582e+03 1.455776750845927e+03 + 1.454969660409948e+03 1.454159996269611e+03 1.453347762541590e+03 1.452532963349272e+03 1.451715602822750e+03 + 1.450895685098830e+03 1.450073214321026e+03 1.449248194639563e+03 1.448420630211373e+03 1.447590525200101e+03 + 1.446757883776100e+03 1.445922710116434e+03 1.445085008404874e+03 1.444244782831905e+03 1.443402037594718e+03 + 1.442556776897215e+03 1.441709004950008e+03 1.440858725970420e+03 1.440005944182481e+03 1.439150663816933e+03 + 1.438292889111226e+03 1.437432624309523e+03 1.436569873662692e+03 1.435704641428314e+03 1.434836931870678e+03 + 1.433966749260786e+03 1.433094097876346e+03 1.432218982001777e+03 1.431341405928208e+03 1.430461373953479e+03 + 1.429578890382137e+03 1.428693959525441e+03 1.427806585701360e+03 1.426916773234569e+03 1.426024526456458e+03 + 1.425129849705122e+03 1.424232747325370e+03 1.423333223668719e+03 1.422431283093393e+03 1.421526929964331e+03 + 1.420620168653178e+03 1.419711003538289e+03 1.418799439004731e+03 1.417885479444278e+03 1.416969129255415e+03 + 1.416050392843337e+03 1.415129274619950e+03 1.414205779003866e+03 1.413279910420411e+03 1.412351673301618e+03 + 1.411421072086230e+03 1.410488111219700e+03 1.409552795154193e+03 1.408615128348581e+03 1.407675115268446e+03 + 1.406732760386080e+03 1.405788068180486e+03 1.404841043137375e+03 1.403891689749170e+03 1.402940012515001e+03 + 1.401986015940709e+03 1.401029704538846e+03 1.400071082828672e+03 1.399110155336157e+03 1.398146926593981e+03 + 1.397181401141535e+03 1.396213583524918e+03 1.395243478296938e+03 1.394271090017116e+03 1.393296423251680e+03 + 1.392319482573570e+03 1.391340272562432e+03 1.390358797804626e+03 1.389375062893219e+03 1.388389072427989e+03 + 1.387400831015423e+03 1.386410343268718e+03 1.385417613807782e+03 1.384422647259231e+03 1.383425448256391e+03 + 1.382426021439299e+03 1.381424371454700e+03 1.380420502956051e+03 1.379414420603515e+03 1.378406129063970e+03 + 1.377395633010999e+03 1.376382937124898e+03 1.375368046092671e+03 1.374350964608031e+03 1.373331697371403e+03 + 1.372310249089921e+03 1.371286624477428e+03 1.370260828254477e+03 1.369232865148331e+03 1.368202739892964e+03 + 1.367170457229056e+03 1.366136021904002e+03 1.365099438671902e+03 1.364060712293568e+03 1.363019847536522e+03 + 1.361976849174995e+03 1.360931721989928e+03 1.359884470768972e+03 1.358835100306487e+03 1.357783615403544e+03 + 1.356730020867921e+03 1.355674321514110e+03 1.354616522163310e+03 1.353556627643430e+03 1.352494642789090e+03 + 1.351430572441617e+03 1.350364421449050e+03 1.349296194666138e+03 1.348225896954338e+03 1.347153533181818e+03 + 1.346079108223457e+03 1.345002626960841e+03 1.343924094282267e+03 1.342843515082743e+03 1.341760894263984e+03 + 1.340676236734416e+03 1.339589547409177e+03 1.338500831210112e+03 1.337410093065776e+03 1.336317337911434e+03 + 1.335222570689062e+03 1.334125796347346e+03 1.333027019841677e+03 1.331926246134163e+03 1.330823480193616e+03 + 1.329718726995561e+03 1.328611991522230e+03 1.327503278762568e+03 1.326392593712228e+03 1.325279941373571e+03 + 1.324165326755672e+03 1.323048754874311e+03 1.321930230751983e+03 1.320809759417887e+03 1.319687345907936e+03 + 1.318562995264752e+03 1.317436712537665e+03 1.316308502782716e+03 1.315178371062656e+03 1.314046322446946e+03 + 1.312912362011755e+03 1.311776494839963e+03 1.310638726021160e+03 1.309499060651645e+03 1.308357503834428e+03 + 1.307214060679228e+03 1.306068736302473e+03 1.304921535827301e+03 1.303772464383560e+03 1.302621527107810e+03 + 1.301468729143317e+03 1.300314075640058e+03 1.299157571754721e+03 1.297999222650704e+03 1.296839033498112e+03 + 1.295677009473761e+03 1.294513155761180e+03 1.293347477550602e+03 1.292179980038974e+03 1.291010668429951e+03 + 1.289839547933899e+03 1.288666623767893e+03 1.287491901155716e+03 1.286315385327865e+03 1.285137081521542e+03 + 1.283956994980662e+03 1.282775130955849e+03 1.281591494704436e+03 1.280406091490466e+03 1.279218926584693e+03 + 1.278030005264579e+03 1.276839332814297e+03 1.275646914524728e+03 1.274452755693465e+03 1.273256861624810e+03 + 1.272059237629775e+03 1.270859889026079e+03 1.269658821138155e+03 1.268456039297144e+03 1.267251548840895e+03 + 1.266045355113969e+03 1.264837463467636e+03 1.263627879259876e+03 1.262416607855379e+03 1.261203654625543e+03 + 1.259989024948479e+03 1.258772724209004e+03 1.257554757798647e+03 1.256335131115646e+03 1.255113849564950e+03 + 1.253890918558217e+03 1.252666343513813e+03 1.251440129856817e+03 1.250212283019015e+03 1.248982808438904e+03 + 1.247751711561691e+03 1.246518997839292e+03 1.245284672730334e+03 1.244048741700151e+03 1.242811210220790e+03 + 1.241572083771006e+03 1.240331367836264e+03 1.239089067908740e+03 1.237845189487317e+03 1.236599738077590e+03 + 1.235352719191863e+03 1.234104138349150e+03 1.232854001075175e+03 1.231602312902370e+03 1.230349079369880e+03 + 1.229094306023557e+03 1.227837998415964e+03 1.226580162106373e+03 1.225320802660766e+03 1.224059925651835e+03 + 1.222797536658982e+03 1.221533641268318e+03 1.220268245072664e+03 1.219001353671552e+03 1.217732972671222e+03 + 1.216463107684624e+03 1.215191764331420e+03 1.213918948237977e+03 1.212644665037377e+03 1.211368920369408e+03 + 1.210091719880570e+03 1.208813069224072e+03 1.207532974059833e+03 1.206251440054480e+03 1.204968472881353e+03 + 1.203684078220499e+03 1.202398261758676e+03 1.201111029189351e+03 1.199822386212701e+03 1.198532338535615e+03 + 1.197240891871687e+03 1.195948051941225e+03 1.194653824471246e+03 1.193358215195474e+03 1.192061229854346e+03 + 1.190762874195007e+03 1.189463153971313e+03 1.188162074943828e+03 1.186859642879827e+03 1.185555863553295e+03 + 1.184250742744927e+03 1.182944286242125e+03 1.181636499839004e+03 1.180327389336388e+03 1.179016960541809e+03 + 1.177705219269511e+03 1.176392171340446e+03 1.175077822582277e+03 1.173762178829377e+03 1.172445245922827e+03 + 1.171127029710419e+03 1.169807536046655e+03 1.168486770792745e+03 1.167164739816612e+03 1.165841448992886e+03 + 1.164516904202907e+03 1.163191111334726e+03 1.161864076283103e+03 1.160535804949508e+03 1.159206303242120e+03 + 1.157875577075829e+03 1.156543632372233e+03 1.155210475059642e+03 1.153876111073074e+03 1.152540546354257e+03 + 1.151203786851631e+03 1.149865838520342e+03 1.148526707322247e+03 1.147186399225916e+03 1.145844920206624e+03 + 1.144502276246358e+03 1.143158473333815e+03 1.141813517464402e+03 1.140467414640234e+03 1.139120170870139e+03 + 1.137771792169650e+03 1.136422284561014e+03 1.135071654073185e+03 1.133719906741829e+03 1.132367048609320e+03 + 1.131013085724743e+03 1.129658024143891e+03 1.128301869929270e+03 1.126944629150092e+03 1.125586307882280e+03 + 1.124226912208469e+03 1.122866448218001e+03 1.121504922006928e+03 1.120142339678013e+03 1.118778707340729e+03 + 1.117414031111256e+03 1.116048317112488e+03 1.114681571474025e+03 1.113313800332179e+03 1.111945009829970e+03 + 1.110575206117129e+03 1.109204395350097e+03 1.107832583692024e+03 1.106459777312770e+03 1.105085982388904e+03 + 1.103711205103706e+03 1.102335451647166e+03 1.100958728215983e+03 1.099581041013564e+03 1.098202396250028e+03 + 1.096822800142205e+03 1.095442258913632e+03 1.094060778794555e+03 1.092678366021934e+03 1.091295026839436e+03 + 1.089910767497437e+03 1.088525594253023e+03 1.087139513369993e+03 1.085752531118851e+03 1.084364653776815e+03 + 1.082975887627809e+03 1.081586238962469e+03 1.080195714078142e+03 1.078804319278880e+03 1.077412060875450e+03 + 1.076018945185327e+03 1.074624978532693e+03 1.073230167248444e+03 1.071834517670182e+03 1.070438036142223e+03 + 1.069040729015589e+03 1.067642602648012e+03 1.066243663403937e+03 1.064843917654515e+03 1.063443371777609e+03 + 1.062042032157791e+03 1.060639905186343e+03 1.059236997261256e+03 1.057833314787232e+03 1.056428864175682e+03 + 1.055023651844726e+03 1.053617684219196e+03 1.052210967730631e+03 1.050803508817282e+03 1.049395313897890e+03 + 1.047986388534756e+03 1.046576737255851e+03 1.045166364529164e+03 1.043755274824231e+03 1.042343472612131e+03 + 1.040930962365484e+03 1.039517748558457e+03 1.038103835666756e+03 1.036689228167636e+03 1.035273930539893e+03 + 1.033857947263865e+03 1.032441282821436e+03 1.031023941696033e+03 1.029605928372625e+03 1.028187247337727e+03 + 1.026767903079397e+03 1.025347900087235e+03 1.023927242852386e+03 1.022505935867538e+03 1.021083983626923e+03 + 1.019661390626317e+03 1.018238161363038e+03 1.016814300335948e+03 1.015389812045455e+03 1.013964700993507e+03 + 1.012538971683598e+03 1.011112628620765e+03 1.009685676311588e+03 1.008258119264191e+03 1.006829961988242e+03 + 1.005401208994952e+03 1.003971864797076e+03 1.002541933908912e+03 1.001111420846301e+03 9.996803301266303e+02 + 9.982486662688275e+02 9.968164337933661e+02 9.953836372222621e+02 9.939502810790750e+02 9.925163698889086e+02 + 9.910819081784098e+02 9.896469004757686e+02 9.882113513107199e+02 9.867752652145410e+02 9.853386467200531e+02 + 9.839015003616214e+02 9.824638306751541e+02 9.810256421981031e+02 9.795869394694643e+02 9.781477270297768e+02 + 9.767080094211232e+02 9.752677911871300e+02 9.738270768729670e+02 9.723858710253478e+02 9.709441781925295e+02 + 9.695020029243127e+02 9.680593497720415e+02 9.666162232886040e+02 9.651726280284314e+02 9.637285685474986e+02 + 9.622840494033246e+02 9.608390751549712e+02 9.593936503630440e+02 9.579477795896925e+02 9.565014673986094e+02 + 9.550547183550314e+02 9.536075370257383e+02 9.521599279790540e+02 9.507118957848456e+02 9.492634450145238e+02 + 9.478145802410424e+02 9.463653060389005e+02 9.449156269841388e+02 9.434655476543426e+02 9.420150726286407e+02 + 9.405642064877048e+02 9.391129538137513e+02 9.376613191905399e+02 9.362093072033728e+02 9.347569224390970e+02 + 9.333041694861028e+02 9.318510529343232e+02 9.303975773752362e+02 9.289437474018629e+02 9.274895676087672e+02 + 9.260350425920570e+02 9.245801769493847e+02 9.231249752799448e+02 9.216694421844763e+02 9.202135822652619e+02 + 9.187574001261273e+02 9.173009003724419e+02 9.158440876111187e+02 9.143869664506148e+02 9.129295415009306e+02 + 9.114718173736089e+02 9.100137986817383e+02 9.085554900399494e+02 9.070968960644165e+02 9.056380213728581e+02 + 9.041788705845360e+02 9.027194483202552e+02 9.012597592023648e+02 8.997998078547574e+02 8.983395989028686e+02 + 8.968791369736786e+02 8.954184266957105e+02 8.939574726990309e+02 8.924962796152502e+02 8.910348520775226e+02 + 8.895731947205452e+02 8.881113121805595e+02 8.866492090953504e+02 8.851868901042455e+02 8.837243598481174e+02 + 8.822616229693809e+02 8.807986841119955e+02 8.793355479214636e+02 8.778722190448314e+02 8.764087021306887e+02 + 8.749450018291686e+02 8.734811227919481e+02 8.720170696722481e+02 8.705528471248323e+02 8.690884598060085e+02 + 8.676239123736278e+02 8.661592094870851e+02 8.646943558073189e+02 8.632293559968109e+02 8.617642147195870e+02 + 8.602989366412162e+02 8.588335264288111e+02 8.573679887510280e+02 8.559023282780669e+02 8.544365496816713e+02 + 8.529706576351281e+02 8.515046568132680e+02 8.500385518924651e+02 8.485723475506371e+02 8.471060484672456e+02 + 8.456396593232956e+02 8.441731848013352e+02 8.427066295854568e+02 8.412399983612960e+02 8.397732958160319e+02 + 8.383065266383875e+02 8.368396955186294e+02 8.353728071485672e+02 8.339058662215547e+02 8.324388774324890e+02 + 8.309718454778108e+02 8.295047750555044e+02 8.280376708650979e+02 8.265705376076626e+02 8.251033799858133e+02 + 8.236362027037090e+02 8.221690104670519e+02 8.207018079830875e+02 8.192345999606056e+02 8.177673911099388e+02 + 8.163001861429635e+02 8.148329897731001e+02 8.133658067153123e+02 8.118986416861073e+02 8.104314994035359e+02 + 8.089643845871925e+02 8.074973019582153e+02 8.060302562392853e+02 8.045632521546285e+02 8.030962944300132e+02 + 8.016293877927517e+02 8.001625369717000e+02 7.986957466972576e+02 7.972290217013673e+02 7.957623667175162e+02 + 7.942957864807344e+02 7.928292857275953e+02 7.913628691962167e+02 7.898965416262595e+02 7.884303077589279e+02 + 7.869641723369706e+02 7.854981401046790e+02 7.840322158078881e+02 7.825664041939773e+02 7.811007100118686e+02 + 7.796351380120283e+02 7.781696929464658e+02 7.767043795687346e+02 7.752392026339312e+02 7.737741668986956e+02 + 7.723092771212124e+02 7.708445380612087e+02 7.693799544799557e+02 7.679155311402681e+02 7.664512728065041e+02 + 7.649871842445651e+02 7.635232702218972e+02 7.620595355074889e+02 7.605959848718730e+02 7.591326230871256e+02 + 7.576694549268664e+02 7.562064851662584e+02 7.547437185820088e+02 7.532811599523681e+02 7.518188140571300e+02 + 7.503566856776325e+02 7.488947795967565e+02 7.474331005989271e+02 7.459716534701122e+02 7.445104429978242e+02 + 7.430494739711182e+02 7.415887511805935e+02 7.401282794183929e+02 7.386680634782024e+02 7.372081081552518e+02 + 7.357484182463149e+02 7.342889985497084e+02 7.328298538652926e+02 7.313709889944722e+02 7.299124087401947e+02 + 7.284541179069513e+02 7.269961213007771e+02 7.255384237292504e+02 7.240810300014931e+02 7.226239449281712e+02 + 7.211671733214938e+02 7.197107199952134e+02 7.182545897646269e+02 7.167987874465738e+02 7.153433178594373e+02 + 7.138881858231457e+02 7.124333961591685e+02 7.109789536905207e+02 7.095248632417597e+02 7.080711296389870e+02 + 7.066177577098478e+02 7.051647522835304e+02 7.037121181907675e+02 7.022598602638342e+02 7.008079833365500e+02 + 6.993564922442782e+02 6.979053918239249e+02 6.964546869139400e+02 6.950043823543177e+02 6.935544829865950e+02 + 6.921049936538523e+02 6.906559192007142e+02 6.892072644733491e+02 6.877590343194680e+02 6.863112335883264e+02 + 6.848638671307228e+02 6.834169397989994e+02 6.819704564470420e+02 6.805244219302806e+02 6.790788411056876e+02 + 6.776337188317796e+02 6.761890599686175e+02 6.747448693778041e+02 6.733011519224871e+02 6.718579124673579e+02 + 6.704151558786504e+02 6.689728870241429e+02 6.675311107731571e+02 6.660898319965579e+02 6.646490555667547e+02 + 6.632087863576994e+02 6.617690292448882e+02 6.603297891053608e+02 6.588910708177000e+02 6.574528792620325e+02 + 6.560152193200289e+02 6.545780958749028e+02 6.531415138114120e+02 6.517054780158572e+02 6.502699933760831e+02 + 6.488350647814780e+02 6.474006971229736e+02 6.459668952930450e+02 6.445336641857116e+02 6.431010086965356e+02 + 6.416689337226230e+02 6.402374441626239e+02 6.388065449167315e+02 6.373762408866819e+02 6.359465369757564e+02 + 6.345174380887786e+02 6.330889491321157e+02 6.316610750136796e+02 6.302338206429247e+02 6.288071909308491e+02 + 6.273811907899951e+02 6.259558251344477e+02 6.245310988798360e+02 6.231070169433332e+02 6.216835842436550e+02 + 6.202608057010611e+02 6.188386862373554e+02 6.174172307758844e+02 6.159964442415383e+02 6.145763315607522e+02 + 6.131568976615030e+02 6.117381474733122e+02 6.103200859272448e+02 6.089027179559087e+02 6.074860484934565e+02 + 6.060700824755835e+02 6.046548248395288e+02 6.032402805240755e+02 6.018264544695495e+02 6.004133516178208e+02 + 5.990009769123031e+02 5.975893352979532e+02 5.961784317212720e+02 5.947682711303036e+02 5.933588584746357e+02 + 5.919501987053994e+02 5.905422967752705e+02 5.891351576384668e+02 5.877287862507508e+02 5.863231875694282e+02 + 5.849183665533477e+02 5.835143281629030e+02 5.821110773600302e+02 5.807086191082091e+02 5.793069583724634e+02 + 5.779061001193606e+02 5.765060493170109e+02 5.751068109350690e+02 5.737083899447330e+02 5.723107913187440e+02 + 5.709140200313871e+02 5.695180810584912e+02 5.681229793774282e+02 5.667287199671144e+02 5.653353078080089e+02 + 5.639427478821145e+02 5.625510451729782e+02 5.611602046656897e+02 5.597702313468828e+02 5.583811302047351e+02 + 5.569929062289672e+02 5.556055644108436e+02 5.542191097431725e+02 5.528335472203050e+02 5.514488818381369e+02 + 5.500651185941068e+02 5.486822624871968e+02 5.473003185179330e+02 5.459192916883851e+02 5.445391870021655e+02 + 5.431600094644319e+02 5.417817640818839e+02 5.404044558627653e+02 5.390280898168637e+02 5.376526709555103e+02 + 5.362782042915790e+02 5.349046948394886e+02 5.335321476152006e+02 5.321605676362202e+02 5.307899599215965e+02 + 5.294203294919217e+02 5.280516813693320e+02 5.266840205775071e+02 5.253173521416702e+02 5.239516810885877e+02 + 5.225870124465707e+02 5.212233512454725e+02 5.198607025166908e+02 5.184990712931668e+02 5.171384626093851e+02 + 5.157788815013741e+02 5.144203330067055e+02 5.130628221644946e+02 5.117063540154008e+02 5.103509336016263e+02 + 5.089965659669175e+02 5.076432561565640e+02 5.062910092173990e+02 5.049398301977998e+02 5.035897241476866e+02 + 5.022406961185235e+02 5.008927511633182e+02 4.995458943366220e+02 4.982001306945292e+02 4.968554652946787e+02 + 4.955119031962524e+02 4.941694494599757e+02 4.928281091481178e+02 4.914878873244913e+02 4.901487890544524e+02 + 4.888108194049014e+02 4.874739834442815e+02 4.861382862425793e+02 4.848037328713260e+02 4.834703284035954e+02 + 4.821380779140055e+02 4.808069864787175e+02 4.794770591754360e+02 4.781483010834104e+02 4.768207172834317e+02 + 4.754943128578365e+02 4.741690928905032e+02 4.728450624668552e+02 4.715222266738587e+02 4.702005906000235e+02 + 4.688801593354034e+02 4.675609379715956e+02 4.662429316017405e+02 4.649261453205227e+02 4.636105842241698e+02 + 4.622962534104534e+02 4.609831579786886e+02 4.596713030297340e+02 4.583606936659914e+02 4.570513349914071e+02 + 4.557432321114703e+02 4.544363901332138e+02 4.531308141652141e+02 4.518265093175915e+02 4.505234807020092e+02 + 4.492217334316751e+02 4.479212726213398e+02 4.466221033872973e+02 4.453242308473862e+02 4.440276601209875e+02 + 4.427323963290266e+02 4.414384445939725e+02 4.401458100398370e+02 4.388544977921764e+02 4.375645129780900e+02 + 4.362758607262207e+02 4.349885461667554e+02 4.337025744314242e+02 4.324179506535007e+02 4.311346799678025e+02 + 4.298527675106906e+02 4.285722184200691e+02 4.272930378353866e+02 4.260152308976346e+02 4.247388027493482e+02 + 4.234637585346064e+02 4.221901033990317e+02 4.209178424897899e+02 4.196469809555908e+02 4.183775239466873e+02 + 4.171094766148764e+02 4.158428441134982e+02 4.145776315974367e+02 4.133138442231195e+02 4.120514871485177e+02 + 4.107905655331455e+02 4.095310845380616e+02 4.082730493258674e+02 4.070164650607085e+02 4.057613369082738e+02 + 4.045076700357962e+02 4.032554696120511e+02 4.020047408073589e+02 4.007554887935824e+02 3.995077187441286e+02 + 3.982614358339480e+02 3.970166452395346e+02 3.957733521389259e+02 3.945315617117033e+02 3.932912791389912e+02 + 3.920525096034583e+02 3.908152582893162e+02 3.895795303823206e+02 3.883453310697706e+02 3.871126655405087e+02 + 3.858815389849212e+02 3.846519565949380e+02 3.834239235640323e+02 3.821974450872211e+02 3.809725263610652e+02 + 3.797491725836686e+02 3.785273889546788e+02 3.773071806752873e+02 3.760885529482291e+02 3.748715109777822e+02 + 3.736560599697692e+02 3.724422051315553e+02 3.712299516720498e+02 3.700193048017055e+02 3.688102697325187e+02 + 3.676028516780295e+02 3.663970558533210e+02 3.651928874750207e+02 3.639903517612993e+02 3.627894539318706e+02 + 3.615901992079928e+02 3.603925928124674e+02 3.591966399696389e+02 3.580023459053963e+02 3.568097158471716e+02 + 3.556187550239405e+02 3.544294686662223e+02 3.532418620060801e+02 3.520559402771199e+02 3.508717087144923e+02 + 3.496891725548904e+02 3.485083370365518e+02 3.473292073992571e+02 3.461517888843309e+02 3.449760867346407e+02 + 3.438021061945983e+02 3.426298525101589e+02 3.414593309288210e+02 3.402905466996269e+02 3.391235050731623e+02 + 3.379582113015570e+02 3.367946706384836e+02 3.356328883391590e+02 3.344728696603431e+02 3.333146198603399e+02 + 3.321581441989965e+02 3.310034479377038e+02 3.298505363393963e+02 3.286994146685523e+02 3.275500881911931e+02 + 3.264025621748842e+02 3.252568418887342e+02 3.241129326033955e+02 3.229708395910641e+02 3.218305681254797e+02 + 3.206921234819250e+02 3.195555109372272e+02 3.184207357697562e+02 3.172878032594259e+02 3.161567186876940e+02 + 3.150274873375612e+02 3.139001144935722e+02 3.127746054418153e+02 3.116509654699221e+02 3.105291998670680e+02 + 3.094093139239718e+02 3.082913129328962e+02 3.071752021876472e+02 3.060609869835743e+02 3.049486726175709e+02 + 3.038382643880739e+02 3.027297675950632e+02 3.016231875400634e+02 3.005185295261418e+02 2.994157988579094e+02 + 2.983150008415209e+02 2.972161407846750e+02 2.961192239966130e+02 2.950242557881208e+02 2.939312414715272e+02 + 2.928401863607048e+02 2.917510957710699e+02 2.906639750195822e+02 2.895788294247451e+02 2.884956643066055e+02 + 2.874144849867538e+02 2.863352967883243e+02 2.852581050359946e+02 2.841829150559857e+02 2.831097321760628e+02 + 2.820385617255341e+02 2.809694090352515e+02 2.799022794376108e+02 2.788371782665511e+02 2.777741108575549e+02 + 2.767130825476488e+02 2.756540986754025e+02 2.745971645809293e+02 2.735422856058867e+02 2.724894670934750e+02 + 2.714387143884384e+02 2.703900328370648e+02 2.693434277871856e+02 2.682989045881756e+02 2.672564685909533e+02 + 2.662161251479810e+02 2.651778796132642e+02 2.641417373423522e+02 2.631077036923379e+02 2.620757840218578e+02 + 2.610459836910915e+02 2.600183080617631e+02 2.589927624971394e+02 2.579693523620314e+02 2.569480830227931e+02 + 2.559289598473227e+02 2.549119882050614e+02 2.538971734669946e+02 2.528845210056507e+02 2.518740361951020e+02 + 2.508657244109642e+02 2.498595910303967e+02 2.488556414321026e+02 2.478538809963281e+02 2.468543151048638e+02 + 2.458569491410431e+02 2.448617884897432e+02 2.438688385373852e+02 2.428781046719333e+02 2.418895922828956e+02 + 2.409033067613238e+02 2.399192534998131e+02 2.389374378925019e+02 2.379578653350729e+02 2.369805412247519e+02 + 2.360054709603084e+02 2.350326599420553e+02 2.340621135718494e+02 2.330938372530911e+02 2.321278363907239e+02 + 2.311641163912353e+02 2.302026826626565e+02 2.292435406145617e+02 2.282866956580692e+02 2.273321532058407e+02 + 2.263799186720815e+02 2.254299974725404e+02 2.244823950245099e+02 2.235371167468261e+02 2.225941680598685e+02 + 2.216535543855603e+02 2.207152811473682e+02 2.197793537703028e+02 2.188457776809178e+02 2.179145583073106e+02 + 2.169857010791227e+02 2.160592114275385e+02 2.151350947852860e+02 2.142133565866376e+02 2.132940022674083e+02 + 2.123770372649571e+02 2.114624670181867e+02 2.105502969675431e+02 2.096405325550162e+02 2.087331792241393e+02 + 2.078282424199890e+02 2.069257275891860e+02 2.060256401798943e+02 2.051279856418216e+02 2.042327694262190e+02 + 2.033399969858813e+02 2.024496737751469e+02 2.015618052498977e+02 2.006763968675590e+02 1.997934540871004e+02 + 1.989129823690343e+02 1.980349871754169e+02 1.971594739698481e+02 1.962864482174713e+02 1.954159153849736e+02 + 1.945478809405854e+02 1.936823503540812e+02 1.928193290967781e+02 1.919588226415381e+02 1.911008364627658e+02 + 1.902453760364096e+02 1.893924468399617e+02 1.885420543524577e+02 1.876942040544768e+02 1.868489014281417e+02 + 1.860061519571189e+02 1.851659611266184e+02 1.843283344233937e+02 1.834932773357418e+02 1.826607953535034e+02 + 1.818308939680629e+02 1.810035786723481e+02 1.801788549608304e+02 1.793567283295249e+02 1.785372042759901e+02 + 1.777202882993282e+02 1.769059859001850e+02 1.760943025807497e+02 1.752852438447554e+02 1.744788151974785e+02 + 1.736750221457390e+02 1.728738701979007e+02 1.720753648638706e+02 1.712795116550998e+02 1.704863160845825e+02 + 1.696957836668566e+02 1.689079199180039e+02 1.681227303556493e+02 1.673402204989617e+02 1.665603958686532e+02 + 1.657832619869799e+02 1.650088243777409e+02 1.642370885662795e+02 1.634680600794823e+02 1.627017444457793e+02 + 1.619381471951445e+02 1.611772738590951e+02 1.604191299706921e+02 1.596637210645399e+02 1.589110526767867e+02 + 1.581611303451241e+02 1.574139596087874e+02 1.566695460085554e+02 1.559278950867503e+02 1.551890123872385e+02 + 1.544529034554292e+02 1.537195738382757e+02 1.529890290842748e+02 1.522612747434666e+02 1.515363163674351e+02 + 1.508141595093076e+02 1.500948097237555e+02 1.493782725669932e+02 1.486645535967789e+02 1.479536583724143e+02 + 1.472455924547449e+02 1.465403614061596e+02 1.458379707905909e+02 1.451384261735148e+02 1.444417331219514e+02 + 1.437478972044633e+02 1.430569239911578e+02 1.423688190536853e+02 1.416835879652396e+02 1.410012363005585e+02 + 1.403217696359229e+02 1.396451935491577e+02 1.389715136196312e+02 1.383007354282553e+02 1.376328645574854e+02 + 1.369679065913208e+02 1.363058671153038e+02 1.356467517165207e+02 1.349905659836014e+02 1.343373155067194e+02 + 1.336870058775913e+02 1.330396426894780e+02 1.323952315371832e+02 1.317537780170550e+02 1.311152877269845e+02 + 1.304797662664065e+02 1.298472192362996e+02 1.292176522391855e+02 1.285910708791301e+02 1.279674807617425e+02 + 1.273468874941753e+02 1.267292966851250e+02 1.261147139448316e+02 1.255031448850783e+02 1.248945951191923e+02 + 1.242890702620443e+02 1.236865759300485e+02 1.230871177411627e+02 1.224907013148884e+02 1.218973322722703e+02 + 1.213070162358971e+02 1.207197588299010e+02 1.201355656799576e+02 1.195544424132864e+02 1.189763946586499e+02 + 1.184014280463548e+02 1.178295482082510e+02 1.172607607777323e+02 1.166950713897357e+02 1.161324856807421e+02 + 1.155730092887757e+02 1.150166478534045e+02 1.144634070157400e+02 1.139132924184372e+02 1.133663097056950e+02 + 1.128224645232555e+02 1.122817625184044e+02 1.117442093399712e+02 1.112098106383290e+02 1.106785720653942e+02 + 1.101504843345202e+02 1.096253193854976e+02 1.091027814759659e+02 1.085828903190926e+02 1.080656662057070e+02 + 1.075510744401853e+02 1.070391017583160e+02 1.065297369211215e+02 1.060229642403793e+02 1.055187689946627e+02 + 1.050171373101604e+02 1.045180558156006e+02 1.040215103049707e+02 1.035274865113781e+02 1.030359706887152e+02 + 1.025469492169604e+02 1.020604083357866e+02 1.015763340040288e+02 1.010947131078929e+02 1.006155327791835e+02 + 1.001387792631148e+02 9.966443911893010e+01 9.919249927205091e+01 9.872294669690289e+01 9.825576811144268e+01 + 9.779095024426459e+01 9.732848086108395e+01 9.686834738339628e+01 9.641053663288847e+01 9.595503591883143e+01 + 9.550183276437639e+01 9.505091470489599e+01 9.460226894357737e+01 9.415588307372171e+01 9.371174549820027e+01 + 9.326984390100915e+01 9.283016578095182e+01 9.239269910989660e+01 9.195743199867270e+01 9.152435246657959e+01 + 9.109344822825337e+01 9.066470776170968e+01 9.023811990175319e+01 8.981367265385576e+01 8.939135422700863e+01 + 8.897115319588202e+01 8.855305819940260e+01 8.813705766268812e+01 8.772313993524557e+01 8.731129428898021e+01 + 8.690150981214184e+01 8.649377498492467e+01 8.608807868460502e+01 8.568441000539183e+01 8.528275807208179e+01 + 8.488311171021131e+01 8.448546000255536e+01 8.408979283578468e+01 8.369609949978657e+01 8.330436902264381e+01 + 8.291459088961614e+01 8.252675470341519e+01 8.214085000107356e+01 8.175686603719873e+01 8.137479266933553e+01 + 8.099462018292702e+01 8.061633811896954e+01 8.023993612969721e+01 7.986540422509246e+01 7.949273245617202e+01 + 7.912191071864751e+01 7.875292880591886e+01 7.838577728963824e+01 7.802044667908689e+01 7.765692688210476e+01 + 7.729520814701189e+01 7.693528093921003e+01 7.657713574044320e+01 7.622076279877933e+01 7.586615250876412e+01 + 7.551329599462582e+01 7.516218394284439e+01 7.481280673973237e+01 7.446515517211270e+01 7.411922012543234e+01 + 7.377499243991551e+01 7.343246273248482e+01 7.309162206375170e+01 7.275246194060588e+01 7.241497325488510e+01 + 7.207914691168762e+01 7.174497413637995e+01 7.141244624067238e+01 7.108155440657860e+01 7.075228964021176e+01 + 7.042464364044737e+01 7.009860816502822e+01 6.977417437950896e+01 6.945133371117183e+01 6.913007780419414e+01 + 6.881039831641085e+01 6.849228672098478e+01 6.817573455985929e+01 6.786073404036127e+01 6.754727706019318e+01 + 6.723535518365489e+01 6.692496029976250e+01 6.661608442214438e+01 6.630871955818391e+01 6.600285747074972e+01 + 6.569849025826812e+01 6.539561050984807e+01 6.509421028016476e+01 6.479428156422156e+01 6.449581665898590e+01 + 6.419880794007263e+01 6.390324769379086e+01 6.360912802573969e+01 6.331644161216560e+01 6.302518126952705e+01 + 6.273533924838438e+01 6.244690800283556e+01 6.215988021335375e+01 6.187424856554645e+01 6.159000558852496e+01 + 6.130714382209544e+01 6.102565642873360e+01 6.074553634647369e+01 6.046677613965124e+01 6.018936867893675e+01 + 5.991330696615304e+01 5.963858400265185e+01 5.936519255461710e+01 5.909312563142009e+01 5.882237675846172e+01 + 5.855293899151076e+01 5.828480526925385e+01 5.801796883717194e+01 5.775242299813667e+01 5.748816098906929e+01 + 5.722517588172157e+01 5.696346118973321e+01 5.670301063052477e+01 5.644381744585571e+01 5.618587497447161e+01 + 5.592917675378749e+01 5.567371639288440e+01 5.541948735564524e+01 5.516648303666721e+01 5.491469740133566e+01 + 5.466412430128952e+01 5.441475721341882e+01 5.416658984866251e+01 5.391961604526729e+01 5.367382965707854e+01 + 5.342922435049869e+01 5.318579394824101e+01 5.294353276046760e+01 5.270243471566913e+01 5.246249358126801e+01 + 5.222370341980431e+01 5.198605834991378e+01 5.174955243603662e+01 5.151417956992881e+01 5.127993401538280e+01 + 5.104681029539683e+01 5.081480246751264e+01 5.058390465007635e+01 5.035411117607305e+01 5.012541641928832e+01 + 4.989781463692880e+01 4.967129999443014e+01 4.944586717469857e+01 4.922151081792142e+01 4.899822516393252e+01 + 4.877600466591702e+01 4.855484391176263e+01 4.833473749525371e+01 4.811567985888949e+01 4.789766553100244e+01 + 4.768068948486052e+01 4.746474643299185e+01 4.724983089968822e+01 4.703593761581940e+01 4.682306140175855e+01 + 4.661119706938157e+01 4.640033923440899e+01 4.619048280117971e+01 4.598162297433280e+01 4.577375454810339e+01 + 4.556687232031752e+01 4.536097129194708e+01 4.515604651624491e+01 4.495209295916556e+01 4.474910546848848e+01 + 4.454707932343867e+01 4.434600983627007e+01 4.414589194663536e+01 4.394672075425581e+01 4.374849149110094e+01 + 4.355119939554362e+01 4.335483958155968e+01 4.315940720272008e+01 4.296489783321342e+01 4.277130684141869e+01 + 4.257862938067940e+01 4.238686082011235e+01 4.219599659307687e+01 4.200603211268383e+01 4.181696265307154e+01 + 4.162878369849639e+01 4.144149102922540e+01 4.125508008000694e+01 4.106954625154178e+01 4.088488514080404e+01 + 4.070109237453877e+01 4.051816351991027e+01 4.033609404369983e+01 4.015487975529847e+01 3.997451654390139e+01 + 3.979499995457292e+01 3.961632565249730e+01 3.943848943565658e+01 3.926148710146721e+01 3.908531435163689e+01 + 3.890996689581685e+01 3.873544082272831e+01 3.856173207783515e+01 3.838883637414560e+01 3.821674961156019e+01 + 3.804546776546066e+01 3.787498680517137e+01 3.770530255859592e+01 3.753641100849845e+01 3.736830845518836e+01 + 3.720099088344971e+01 3.703445420945200e+01 3.686869456603723e+01 3.670370808841574e+01 3.653949085950763e+01 + 3.637603888796111e+01 3.621334844811717e+01 3.605141592615973e+01 3.589023740445852e+01 3.572980904042850e+01 + 3.557012712196481e+01 3.541118795282225e+01 3.525298774403768e+01 3.509552267323749e+01 3.493878928773343e+01 + 3.478278404343990e+01 3.462750313614663e+01 3.447294293878365e+01 3.431909990161546e+01 3.416597046087814e+01 + 3.401355094900445e+01 3.386183779648810e+01 3.371082772101448e+01 3.356051721064496e+01 3.341090265530899e+01 + 3.326198061398263e+01 3.311374767636361e+01 3.296620040125966e+01 3.281933525310492e+01 3.267314891432770e+01 + 3.252763821351709e+01 3.238279969616838e+01 3.223862995512887e+01 3.209512571750849e+01 3.195228370249094e+01 + 3.181010057023420e+01 3.166857295105629e+01 3.152769775432829e+01 3.138747186368265e+01 3.124789194582367e+01 + 3.110895478177638e+01 3.097065722333928e+01 3.083299612203396e+01 3.069596823521478e+01 3.055957038379009e+01 + 3.042379968490992e+01 3.028865305190764e+01 3.015412726448298e+01 3.002021927954454e+01 2.988692608783410e+01 + 2.975424465393443e+01 2.962217185358958e+01 2.949070472525562e+01 2.935984046863818e+01 2.922957605244617e+01 + 2.909990844798608e+01 2.897083474125067e+01 2.884235205411202e+01 2.871445744621140e+01 2.858714789194334e+01 + 2.846042066311678e+01 2.833427304434733e+01 2.820870204788112e+01 2.808370481822039e+01 2.795927858955916e+01 + 2.783542056310479e+01 2.771212788710439e+01 2.758939774558937e+01 2.746722754519704e+01 2.734561457842300e+01 + 2.722455602005491e+01 2.710404915757552e+01 2.698409131619408e+01 2.686467981339180e+01 2.674581188504884e+01 + 2.662748489299116e+01 2.650969637323688e+01 2.639244364869198e+01 2.627572402574995e+01 2.615953493480668e+01 + 2.604387380499337e+01 2.592873803144385e+01 2.581412497154068e+01 2.570003216993883e+01 2.558645721031992e+01 + 2.547339748309297e+01 2.536085044648649e+01 2.524881363723968e+01 2.513728460374055e+01 2.502626081142699e+01 + 2.491573971820056e+01 2.480571905896494e+01 2.469619646153339e+01 2.458716938319504e+01 2.447863542000312e+01 + 2.437059221927192e+01 2.426303741725681e+01 2.415596854366440e+01 2.404938323139217e+01 2.394327933047775e+01 + 2.383765447837906e+01 2.373250626120992e+01 2.362783239922733e+01 2.352363062421024e+01 2.341989863680159e+01 + 2.331663407933185e+01 2.321383475989216e+01 2.311149855755017e+01 2.300962316438995e+01 2.290820631357202e+01 + 2.280724581327735e+01 2.270673948178020e+01 2.260668508940155e+01 2.250708039173678e+01 2.240792334786956e+01 + 2.230921186720802e+01 2.221094371595302e+01 2.211311674173436e+01 2.201572884123411e+01 2.191877792312015e+01 + 2.182226182065280e+01 2.172617842216956e+01 2.163052579410284e+01 2.153530186271772e+01 2.144050449256298e+01 + 2.134613164544727e+01 2.125218130870039e+01 2.115865145244560e+01 2.106553997668644e+01 2.097284492087666e+01 + 2.088056441996010e+01 2.078869643251129e+01 2.069723893213309e+01 2.060618996606658e+01 2.051554761096601e+01 + 2.042530989859754e+01 2.033547481777502e+01 2.024604054022628e+01 2.015700522393599e+01 2.006836688994228e+01 + 1.998012363072147e+01 1.989227358045817e+01 1.980481486918973e+01 1.971774557717947e+01 1.963106382303616e+01 + 1.954476789103884e+01 1.945885594703988e+01 1.937332608222908e+01 1.928817649453870e+01 1.920340539662878e+01 + 1.911901098077130e+01 1.903499138773951e+01 1.895134486255558e+01 1.886806974988112e+01 1.878516424109755e+01 + 1.870262653275597e+01 1.862045489823334e+01 1.853864761644500e+01 1.845720293609644e+01 1.837611907561623e+01 + 1.829539441141390e+01 1.821502731690405e+01 1.813501600648008e+01 1.805535878852776e+01 1.797605402680784e+01 + 1.789710004813803e+01 1.781849513976010e+01 1.774023761822760e+01 1.766232596769640e+01 1.758475857461898e+01 + 1.750753373031707e+01 1.743064982368309e+01 1.735410526816905e+01 1.727789846424588e+01 1.720202775432962e+01 + 1.712649156263800e+01 1.705128842771503e+01 1.697641675133914e+01 1.690187492053174e+01 1.682766139576636e+01 + 1.675377465125957e+01 1.668021313537254e+01 1.660697525047803e+01 1.653405953620346e+01 1.646146456303875e+01 + 1.638918876353225e+01 1.631723061252691e+01 1.624558863577738e+01 1.617426136715184e+01 1.610324729276991e+01 + 1.603254489420701e+01 1.596215281065743e+01 1.589206962268447e+01 1.582229381597797e+01 1.575282394813798e+01 + 1.568365860435203e+01 1.561479636559848e+01 1.554623575841051e+01 1.547797536749664e+01 1.541001389568697e+01 + 1.534234992945672e+01 1.527498202635700e+01 1.520790881496337e+01 1.514112893627654e+01 1.507464101206718e+01 + 1.500844361854594e+01 1.494253544400039e+01 1.487691522461213e+01 1.481158156982783e+01 1.474653311471545e+01 + 1.468176854391490e+01 1.461728655322583e+01 1.455308580005108e+01 1.448916492494823e+01 1.442552270891503e+01 + 1.436215789907635e+01 1.429906914560298e+01 1.423625515786986e+01 1.417371467503432e+01 1.411144643634281e+01 + 1.404944913182382e+01 1.398772148936426e+01 1.392626235467004e+01 1.386507047757601e+01 1.380414456703780e+01 + 1.374348339923097e+01 1.368308576360786e+01 1.362295043539383e+01 1.356307614411792e+01 1.350346171009224e+01 + 1.344410601461897e+01 1.338500782259274e+01 1.332616591200318e+01 1.326757911048049e+01 1.320924625504148e+01 + 1.315116615215319e+01 1.309333758418828e+01 1.303575945915385e+01 1.297843067064863e+01 1.292135001185642e+01 + 1.286451632934388e+01 1.280792850075226e+01 1.275158540067995e+01 1.269548586414703e+01 1.263962874841400e+01 + 1.258401302186647e+01 1.252863758019894e+01 1.247350127006052e+01 1.241860299544399e+01 1.236394167532885e+01 + 1.230951622025856e+01 1.225532549825102e+01 1.220136844757296e+01 1.214764407513537e+01 1.209415128431592e+01 + 1.204088897936275e+01 1.198785611322907e+01 1.193505164847797e+01 1.188247452422181e+01 1.183012365035161e+01 + 1.177799804372636e+01 1.172609672645034e+01 1.167441862559045e+01 1.162296270435431e+01 1.157172795813644e+01 + 1.152071338824009e+01 1.146991795771504e+01 1.141934063624516e+01 1.136898050295155e+01 1.131883658051165e+01 + 1.126890783457083e+01 1.121919328583311e+01 1.116969196974251e+01 1.112040291453270e+01 1.107132511138846e+01 + 1.102245760367597e+01 1.097379950683186e+01 1.092534984778681e+01 1.087710764406476e+01 1.082907196010627e+01 + 1.078124186863284e+01 1.073361642501848e+01 1.068619465441603e+01 1.063897567074718e+01 1.059195860734133e+01 + 1.054514250814830e+01 1.049852644360809e+01 1.045210951602862e+01 1.040589083229813e+01 1.035986946911022e+01 + 1.031404450080543e+01 1.026841510170119e+01 1.022298040707346e+01 1.017773949095798e+01 1.013269147478631e+01 + 1.008783549702620e+01 1.004317069189082e+01 9.998696157456914e+00 9.954411030186206e+00 9.910314523784715e+00 + 9.866405774945729e+00 9.822683900561229e+00 9.779148062474189e+00 9.735797433007823e+00 9.692631171490490e+00 + 9.649648402951970e+00 9.606848328743531e+00 9.564230182014787e+00 9.521793107635142e+00 9.479536270440141e+00 + 9.437458869806633e+00 9.395560106559989e+00 9.353839157926716e+00 9.312295192835592e+00 9.270927467731591e+00 + 9.229735216231479e+00 9.188717610212938e+00 9.147873860369382e+00 9.107203196336844e+00 9.066704846764596e+00 + 9.026378005702853e+00 8.986221892357717e+00 8.946235805206038e+00 8.906418978693665e+00 8.866770619316361e+00 + 8.827289975974383e+00 8.787976307390357e+00 8.748828863538764e+00 8.709846863139358e+00 8.671029583554503e+00 + 8.632376341244221e+00 8.593886376949055e+00 8.555558939921891e+00 8.517393311170933e+00 8.479388776756116e+00 + 8.441544603229096e+00 8.403860042243403e+00 8.366334424744339e+00 8.328967072292842e+00 8.291757243124138e+00 + 8.254704227472720e+00 8.217807335382002e+00 8.181065876905594e+00 8.144479133106664e+00 8.108046399433587e+00 + 8.071767047639053e+00 8.035640397926882e+00 7.999665736506032e+00 7.963842390434660e+00 7.928169696145141e+00 + 7.892646983285742e+00 7.857273552651162e+00 7.822048750599857e+00 7.786971968025827e+00 7.752042529333232e+00 + 7.717259758863888e+00 7.682623011133142e+00 7.648131647347260e+00 7.613785013617140e+00 7.579582436948184e+00 + 7.545523312250220e+00 7.511607037617057e+00 7.477832951167176e+00 7.444200413093294e+00 7.410708803334905e+00 + 7.377357505498556e+00 7.344145878673218e+00 7.311073286547245e+00 7.278139163173499e+00 7.245342906306997e+00 + 7.212683876663248e+00 7.180161467446147e+00 7.147775082852699e+00 7.115524124234772e+00 7.083407965702390e+00 + 7.051426016132217e+00 7.019577732801474e+00 6.987862512275252e+00 6.956279745475502e+00 6.924828855941318e+00 + 6.893509269882150e+00 6.862320401692200e+00 6.831261647888545e+00 6.800332460884749e+00 6.769532305211046e+00 + 6.738860589806862e+00 6.708316738463165e+00 6.677900193977888e+00 6.647610403615440e+00 6.617446795946176e+00 + 6.587408797932629e+00 6.557495898186097e+00 6.527707560796614e+00 6.498043211862364e+00 6.468502306113241e+00 + 6.439084309299234e+00 6.409788685242900e+00 6.380614873655190e+00 6.351562339061567e+00 6.322630595895343e+00 + 6.293819108127046e+00 6.265127326375664e+00 6.236554729526047e+00 6.208100805116588e+00 6.179765032202197e+00 + 6.151546864740690e+00 6.123445807150094e+00 6.095461385258917e+00 6.067593067877628e+00 6.039840335121551e+00 + 6.012202688508743e+00 5.984679633169969e+00 5.957270656961056e+00 5.929975240292937e+00 5.902792923627279e+00 + 5.875723232013562e+00 5.848765648702115e+00 5.821919682493143e+00 5.795184854142510e+00 5.768560683026402e+00 + 5.742046666390822e+00 5.715642318587924e+00 5.689347205919744e+00 5.663160851223163e+00 5.637082758311135e+00 + 5.611112458697719e+00 5.585249491519008e+00 5.559493390584049e+00 5.533843667789125e+00 5.508299872311603e+00 + 5.482861578646651e+00 5.457528314665947e+00 5.432299611523626e+00 5.407175018586152e+00 5.382154093094761e+00 + 5.357236378022760e+00 5.332421403106363e+00 5.307708752059064e+00 5.283098003376689e+00 5.258588694187007e+00 + 5.234180379291222e+00 5.209872626694981e+00 5.185665008050016e+00 5.161557074183171e+00 5.137548383980142e+00 + 5.113638545797982e+00 5.089827134282968e+00 5.066113702430728e+00 5.042497830741953e+00 5.018979105007048e+00 + 4.995557105455633e+00 4.972231392615168e+00 4.949001558388967e+00 4.925867224885915e+00 4.902827967986653e+00 + 4.879883363679411e+00 4.857033008673309e+00 4.834276503129009e+00 4.811613436797770e+00 4.789043387081744e+00 + 4.766565977795326e+00 4.744180833573695e+00 4.721887536130310e+00 4.699685684376157e+00 4.677574891583497e+00 + 4.655554772271826e+00 4.633624922898647e+00 4.611784942911348e+00 4.590034481232405e+00 4.568373160121153e+00 + 4.546800575450856e+00 4.525316347519302e+00 4.503920103923871e+00 4.482611469298424e+00 4.461390048788094e+00 + 4.440255471271009e+00 4.419207398665950e+00 4.398245451269402e+00 4.377369245425554e+00 4.356578419383048e+00 + 4.335872613273037e+00 4.315251459075552e+00 4.294714576337845e+00 4.274261622204341e+00 4.253892261314030e+00 + 4.233606119889290e+00 4.213402835603544e+00 4.193282059746365e+00 4.173243445650493e+00 4.153286631923412e+00 + 4.133411255497697e+00 4.113616998652003e+00 4.093903524786619e+00 4.074270469191258e+00 4.054717490515994e+00 + 4.035244253601178e+00 4.015850419023907e+00 3.996535633568783e+00 3.977299560905666e+00 3.958141896495164e+00 + 3.939062301025637e+00 3.920060427447142e+00 3.901135950094528e+00 3.882288544897898e+00 3.863517881118590e+00 + 3.844823615448907e+00 3.826205437051391e+00 3.807663047653544e+00 3.789196110563124e+00 3.770804297342049e+00 + 3.752487294212357e+00 3.734244789018890e+00 3.716076457976182e+00 3.697981972490954e+00 3.679961043694115e+00 + 3.662013372248035e+00 3.644138631063968e+00 3.626336509775109e+00 3.608606705542072e+00 3.590948914412318e+00 + 3.573362819793663e+00 3.555848115085657e+00 3.538404523614169e+00 3.521031745026515e+00 3.503729467883798e+00 + 3.486497394134707e+00 3.469335231734055e+00 3.452242686325544e+00 3.435219448952052e+00 3.418265234650198e+00 + 3.401379774604279e+00 3.384562769850576e+00 3.367813923930398e+00 3.351132951883403e+00 3.334519571031865e+00 + 3.317973491801103e+00 3.301494419647167e+00 3.285082090084510e+00 3.268736234671993e+00 3.252456560777042e+00 + 3.236242786971220e+00 3.220094639575606e+00 3.204011846234647e+00 3.187994121490988e+00 3.172041185626448e+00 + 3.156152791161071e+00 3.140328668842820e+00 3.124568535295174e+00 3.108872124034968e+00 3.093239171871656e+00 + 3.077669412161458e+00 3.062162565910707e+00 3.046718374098970e+00 3.031336596904380e+00 3.016016966139392e+00 + 3.000759212810465e+00 2.985563079528153e+00 2.970428312130104e+00 2.955354650145179e+00 2.940341825152254e+00 + 2.925389598488303e+00 2.910497731503551e+00 2.895665957526404e+00 2.880894022713473e+00 2.866181682137055e+00 + 2.851528688498591e+00 2.836934785005289e+00 2.822399718118186e+00 2.807923264019232e+00 2.793505182293368e+00 + 2.779145216423770e+00 2.764843124903896e+00 2.750598669795774e+00 2.736411610868753e+00 2.722281698431688e+00 + 2.708208697067331e+00 2.694192390113966e+00 2.680232535961204e+00 2.666328890540199e+00 2.652481222662398e+00 + 2.638689303226956e+00 2.624952898002155e+00 2.611271764144950e+00 2.597645683492627e+00 2.584074442444535e+00 + 2.570557801667266e+00 2.557095530257868e+00 2.543687406599445e+00 2.530333209423413e+00 2.517032707379746e+00 + 2.503785668122807e+00 2.490591889861845e+00 2.477451158950901e+00 2.464363243138197e+00 2.451327922049569e+00 + 2.438344980862380e+00 2.425414204994132e+00 2.412535368413293e+00 2.399708255484590e+00 2.386932671907132e+00 + 2.374208401602455e+00 2.361535223009603e+00 2.348912926727443e+00 2.336341305706971e+00 2.323820149408004e+00 + 2.311349238873846e+00 2.298928374328811e+00 2.286557363678248e+00 2.274235992966902e+00 2.261964052364815e+00 + 2.249741340335214e+00 2.237567658215990e+00 2.225442798573621e+00 2.213366549457367e+00 2.201338726388740e+00 + 2.189359138707274e+00 2.177427577694549e+00 2.165543843493499e+00 2.153707741170415e+00 2.141919076444355e+00 + 2.130177647034976e+00 2.118483256831743e+00 2.106835728234196e+00 2.095234867960482e+00 2.083680476325080e+00 + 2.072172364176171e+00 2.060710343839133e+00 2.049294224696878e+00 2.037923808395575e+00 2.026598913260298e+00 + 2.015319367985618e+00 2.004084979196668e+00 1.992895556108562e+00 1.981750916950703e+00 1.970650881000152e+00 + 1.959595261684839e+00 1.948583868145923e+00 1.937616532016987e+00 1.926693081878526e+00 1.915813328267264e+00 + 1.904977090405082e+00 1.894184192977273e+00 1.883434460875044e+00 1.872727710477953e+00 1.862063762090873e+00 + 1.851442457083682e+00 1.840863622251705e+00 1.830327074965862e+00 1.819832643502570e+00 1.809380158797907e+00 + 1.798969449793061e+00 1.788600336572885e+00 1.778272652771865e+00 1.767986244795942e+00 1.757740938619203e+00 + 1.747536560606076e+00 1.737372946411540e+00 1.727249932639099e+00 1.717167351154095e+00 1.707125028541288e+00 + 1.697122811212298e+00 1.687160545804055e+00 1.677238060829077e+00 1.667355192130723e+00 1.657511781312863e+00 + 1.647707669880958e+00 1.637942692337234e+00 1.628216684763444e+00 1.618529503053863e+00 1.608880992276723e+00 + 1.599270986915247e+00 1.589699330823691e+00 1.580165870897195e+00 1.570670452975510e+00 1.561212914561866e+00 + 1.551793103249197e+00 1.542410880472349e+00 1.533066090216831e+00 1.523758574579748e+00 1.514488184288800e+00 + 1.505254771462676e+00 1.496058184704016e+00 1.486898266759950e+00 1.477774877044576e+00 1.468687878023066e+00 + 1.459637114930725e+00 1.450622438289068e+00 1.441643704572125e+00 1.432700770639202e+00 1.423793487269355e+00 + 1.414921704769478e+00 1.406085292220042e+00 1.397284110913275e+00 1.388518010515092e+00 1.379786849127615e+00 + 1.371090488107240e+00 1.362428788219066e+00 1.353801602746353e+00 1.345208792137069e+00 1.336650231141558e+00 + 1.328125779708811e+00 1.319635294146069e+00 1.311178639017341e+00 1.302755680403749e+00 1.294366281732825e+00 + 1.286010300246468e+00 1.277687607130681e+00 1.269398079017509e+00 1.261141576506052e+00 1.252917963373013e+00 + 1.244727109229262e+00 1.236568884548108e+00 1.228443154841189e+00 1.220349783647821e+00 1.212288651549746e+00 + 1.204259634287000e+00 1.196262595500517e+00 1.188297406122070e+00 1.180363940507803e+00 1.172462072687314e+00 + 1.164591670206239e+00 1.156752605274376e+00 1.148944764287503e+00 1.141168021685895e+00 1.133422246839356e+00 + 1.125707316556084e+00 1.118023109341937e+00 1.110369501923575e+00 1.102746365022667e+00 1.095153580538906e+00 + 1.087591037394418e+00 1.080058609806265e+00 1.072556173728377e+00 1.065083611042832e+00 1.057640804167975e+00 + 1.050227631677888e+00 1.042843969448370e+00 1.035489708218281e+00 1.028164736497249e+00 1.020868930712798e+00 + 1.013602173363602e+00 1.006364350528145e+00 9.991553480860069e-01 9.919750464549014e-01 9.848233287198007e-01 + 9.777000916381701e-01 9.706052224312447e-01 9.635386022157533e-01 9.565001191688937e-01 9.494896630661879e-01 + 9.425071223228538e-01 9.355523797940184e-01 9.286253271866921e-01 9.217258644183214e-01 9.148538781303724e-01 + 9.080092551050607e-01 9.011918879859632e-01 8.944016703005543e-01 8.876384924746002e-01 8.809022413584221e-01 + 8.741928168976413e-01 8.675101190938330e-01 8.608540359442419e-01 8.542244603473701e-01 8.476212889430066e-01 + 8.410444181391276e-01 8.344937399710189e-01 8.279691476350027e-01 8.214705470141707e-01 8.149978368018493e-01 + 8.085509088588196e-01 8.021296614287111e-01 7.957339944800463e-01 7.893638070383275e-01 7.830189931350516e-01 + 7.766994532966268e-01 7.704050967403675e-01 7.641358215802615e-01 7.578915247022724e-01 7.516721083807270e-01 + 7.454774759379389e-01 7.393075284143857e-01 7.331621629407183e-01 7.270412875750237e-01 7.209448123528730e-01 + 7.148726361079928e-01 7.088246610576617e-01 7.028007931997213e-01 6.968009387204053e-01 6.908250000358214e-01 + 6.848728793751606e-01 6.789444908271167e-01 6.730397435251165e-01 6.671585392499849e-01 6.613007849024644e-01 + 6.554663896318030e-01 6.496552624588109e-01 6.438673070778183e-01 6.381024319556428e-01 6.323605552121262e-01 + 6.266415850605696e-01 6.209454272475601e-01 6.152719929073242e-01 6.096211942955035e-01 6.039929419697414e-01 + 5.983871423673978e-01 5.928037109278776e-01 5.872425665727200e-01 5.817036179262789e-01 5.761867757580472e-01 + 5.706919545755328e-01 5.652190691753797e-01 5.597680312855905e-01 5.543387515608681e-01 5.489311514266204e-01 + 5.435451491959484e-01 5.381806555529779e-01 5.328375858091706e-01 5.275158573424954e-01 5.222153871968650e-01 + 5.169360885007255e-01 5.116778775087658e-01 5.064406794925096e-01 5.012244118255510e-01 4.960289886382637e-01 + 4.908543290552675e-01 4.857003532629381e-01 4.805669801867241e-01 4.754541247133137e-01 4.703617092625736e-01 + 4.652896609026711e-01 4.602378967146020e-01 4.552063350475851e-01 4.501948983226124e-01 4.452035092771810e-01 + 4.402320879227842e-01 4.352805523654864e-01 4.303488309750054e-01 4.254368504386150e-01 4.205445290166767e-01 + 4.156717895856258e-01 4.108185573527897e-01 4.059847567861119e-01 4.011703090912549e-01 3.963751374739253e-01 + 3.915991740467544e-01 3.868423443729578e-01 3.821045699452743e-01 3.773857771630841e-01 3.726858934536713e-01 + 3.680048452743795e-01 3.633425553945757e-01 3.586989523890614e-01 3.540739701811214e-01 3.494675340422360e-01 + 3.448795694018267e-01 3.403100055229290e-01 3.357587720701978e-01 3.312257966625470e-01 3.267110046986084e-01 + 3.222143302305144e-01 3.177357072575733e-01 3.132750617821559e-01 3.088323230437107e-01 3.044074228278458e-01 + 3.000002929514869e-01 2.956108619814004e-01 2.912390591663653e-01 2.868848226223222e-01 2.825480855369588e-01 + 2.782287763584979e-01 2.739268276304007e-01 2.696421732978619e-01 2.653747469077652e-01 2.611244782932083e-01 + 2.568913016367161e-01 2.526751570146955e-01 2.484759769388697e-01 2.442936932048949e-01 2.401282413902519e-01 + 2.359795575701045e-01 2.318475761710866e-01 2.277322290127450e-01 2.236334554284879e-01 2.195511960314929e-01 + 2.154853836729677e-01 2.114359536211432e-01 2.074028437636633e-01 2.033859920182897e-01 1.993853337119912e-01 + 1.954008040589642e-01 1.914323463143237e-01 1.874799002688242e-01 1.835434007181165e-01 1.796227861758036e-01 + 1.757179964922509e-01 1.718289711649378e-01 1.679556465242757e-01 1.640979620393169e-01 1.602558632656972e-01 + 1.564292893436780e-01 1.526181778855338e-01 1.488224700413446e-01 1.450421075715582e-01 1.412770310767497e-01 + 1.375271785489454e-01 1.337924939887067e-01 1.300729236356154e-01 1.263684067750867e-01 1.226788841702678e-01 + 1.190042991249222e-01 1.153445951805052e-01 1.116997137432381e-01 1.080695954417651e-01 1.044541881911586e-01 + 1.008534377603918e-01 9.726728475975084e-02 9.369567294988820e-02 9.013854752144720e-02 8.659585347215112e-02 + 8.306753302147955e-02 7.955353046975124e-02 7.605379621791922e-02 7.256827534889604e-02 6.909691079142652e-02 + 6.563964883225221e-02 6.219643640409570e-02 5.876721959493493e-02 5.535194193553600e-02 5.195055179453398e-02 + 4.856300050562060e-02 4.518923308325209e-02 4.182919528191363e-02 3.848283536820589e-02 3.515010193539807e-02 + 3.183094185890936e-02 2.852530077920949e-02 2.523313079087341e-02 2.195438300307553e-02 1.868900335629075e-02 + 1.543694036357313e-02 1.219814405293583e-02 8.972564385828061e-03 5.760148923624660e-03 2.560846417529306e-03 + -6.253884489496408e-04 -3.798605206001689e-03 -6.958856024607482e-03 -1.010619000899848e-02 -1.324065554473652e-02 + -1.636230159824732e-02 -1.947117958312726e-02 -2.256733711284757e-02 -2.565081832749929e-02 -2.872167302619957e-02 + -3.177995089902724e-02 -3.482569914268617e-02 -3.785896464500105e-02 -4.087979562235380e-02 -4.388824175488684e-02 + -4.688434717766576e-02 -4.986815604286890e-02 -5.283971753775529e-02 -5.579907881824794e-02 -5.874628546589089e-02 + -6.168138307363240e-02 -6.460441923558070e-02 -6.751544105442296e-02 -7.041449003639784e-02 -7.330161087707579e-02 + -7.617685125406765e-02 -7.904025608548425e-02 -8.189186951723537e-02 -8.473173608907363e-02 -8.755990257827875e-02 + -9.037641289395969e-02 -9.318130717201861e-02 -9.597463047763352e-02 -9.875642835115833e-02 -1.015267439140877e-01 + -1.042856199263307e-01 -1.070331001684683e-01 -1.097692300567918e-01 -1.124940502948268e-01 -1.152076007898061e-01 + -1.179099262631479e-01 -1.206010699593113e-01 -1.232810735016665e-01 -1.259499784255051e-01 -1.286078279418341e-01 + -1.312546653333709e-01 -1.338905286984875e-01 -1.365154583874092e-01 -1.391294979538990e-01 -1.417326885345280e-01 + -1.443250704192513e-01 -1.469066841433861e-01 -1.494775722507627e-01 -1.520377752494497e-01 -1.545873297590701e-01 + -1.571262765202916e-01 -1.596546572452540e-01 -1.621725113907878e-01 -1.646798779801165e-01 -1.671767967821347e-01 + -1.696633092874520e-01 -1.721394530811854e-01 -1.746052643091513e-01 -1.770607836101869e-01 -1.795060506428017e-01 + -1.819411034225526e-01 -1.843659798390828e-01 -1.867807191554161e-01 -1.891853611111403e-01 -1.915799407499077e-01 + -1.939644945120454e-01 -1.963390621459183e-01 -1.987036813730624e-01 -2.010583889984393e-01 -2.034032219467188e-01 + -2.057382189127211e-01 -2.080634172465200e-01 -2.103788504106409e-01 -2.126845552585028e-01 -2.149805700057577e-01 + -2.172669307458855e-01 -2.195436731393316e-01 -2.218108333786645e-01 -2.240684493062661e-01 -2.263165556286022e-01 + -2.285551851690127e-01 -2.307843748874083e-01 -2.330041611277884e-01 -2.352145785311434e-01 -2.374156618282909e-01 + -2.396074467707450e-01 -2.417899696732801e-01 -2.439632627554057e-01 -2.461273590292558e-01 -2.482822949571798e-01 + -2.504281050002428e-01 -2.525648226666662e-01 -2.546924818382261e-01 -2.568111176810049e-01 -2.589207645010757e-01 + -2.610214530059819e-01 -2.631132165202481e-01 -2.651960899948890e-01 -2.672701065219724e-01 -2.693352987894519e-01 + -2.713916998229662e-01 -2.734393439668777e-01 -2.754782632038173e-01 -2.775084874639143e-01 -2.795300503441993e-01 + -2.815429852855671e-01 -2.835473240274155e-01 -2.855430981234691e-01 -2.875303400246380e-01 -2.895090831627840e-01 + -2.914793573631382e-01 -2.934411924374482e-01 -2.953946213942734e-01 -2.973396760049649e-01 -2.992763870705049e-01 + -3.012047853752455e-01 -3.031249029054077e-01 -3.050367713048046e-01 -3.069404187491607e-01 -3.088358754333808e-01 + -3.107231733999588e-01 -3.126023429151826e-01 -3.144734138246973e-01 -3.163364162512183e-01 -3.181913814969073e-01 + -3.200383391593082e-01 -3.218773166629695e-01 -3.237083442965246e-01 -3.255314526206347e-01 -3.273466708133588e-01 + -3.291540279174764e-01 -3.309535535062730e-01 -3.327452779044484e-01 -3.345292286746930e-01 -3.363054329977739e-01 + -3.380739209920870e-01 -3.398347217688169e-01 -3.415878634526212e-01 -3.433333743100879e-01 -3.450712833788954e-01 + -3.468016195958206e-01 -3.485244091566739e-01 -3.502396793974815e-01 -3.519474593420066e-01 -3.536477770380763e-01 + -3.553406598299846e-01 -3.570261348354672e-01 -3.587042307855341e-01 -3.603749751839582e-01 -3.620383929731605e-01 + -3.636945116923384e-01 -3.653433594409278e-01 -3.669849628231984e-01 -3.686193482790397e-01 -3.702465427747400e-01 + -3.718665743211436e-01 -3.734794684043725e-01 -3.750852495624684e-01 -3.766839451194457e-01 -3.782755819189342e-01 + -3.798601858648072e-01 -3.814377826321034e-01 -3.830083986549013e-01 -3.845720606417443e-01 -3.861287926090124e-01 + -3.876786193539286e-01 -3.892215675502101e-01 -3.907576628594260e-01 -3.922869303026715e-01 -3.938093947284727e-01 + -3.953250822556230e-01 -3.968340182497304e-01 -3.983362256494206e-01 -3.998317293097848e-01 -4.013205549386248e-01 + -4.028027272117153e-01 -4.042782703087232e-01 -4.057472086115670e-01 -4.072095677082399e-01 -4.086653712889545e-01 + -4.101146418277140e-01 -4.115574040934622e-01 -4.129936826934361e-01 -4.144235014035024e-01 -4.158468836578273e-01 + -4.172638535617268e-01 -4.186744357650895e-01 -4.200786523524958e-01 -4.214765258006608e-01 -4.228680805923657e-01 + -4.242533401481378e-01 -4.256323273241845e-01 -4.270050650780072e-01 -4.283715771591216e-01 -4.297318868367957e-01 + -4.310860152683936e-01 -4.324339850671611e-01 -4.337758197699306e-01 -4.351115419219263e-01 -4.364411736856622e-01 + -4.377647373653272e-01 -4.390822563519974e-01 -4.403937525793140e-01 -4.416992465950099e-01 -4.429987609092939e-01 + -4.442923180804305e-01 -4.455799398898891e-01 -4.468616477876415e-01 -4.481374637930542e-01 -4.494074106490894e-01 + -4.506715085877422e-01 -4.519297779021105e-01 -4.531822412097039e-01 -4.544289201442401e-01 -4.556698355752103e-01 + -4.569050083194456e-01 -4.581344599890250e-01 -4.593582121055255e-01 -4.605762842891920e-01 -4.617886970897419e-01 + -4.629954719556403e-01 -4.641966295426422e-01 -4.653921902577345e-01 -4.665821746143150e-01 -4.677666038635413e-01 + -4.689454981292748e-01 -4.701188761476531e-01 -4.712867586709557e-01 -4.724491664926360e-01 -4.736061192593240e-01 + -4.747576368456714e-01 -4.759037394682022e-01 -4.770444475543998e-01 -4.781797800875144e-01 -4.793097558338887e-01 + -4.804343950164401e-01 -4.815537175042383e-01 -4.826677426390972e-01 -4.837764894228364e-01 -4.848799775883490e-01 + -4.859782270303963e-01 -4.870712557287352e-01 -4.881590823344398e-01 -4.892417265305033e-01 -4.903192072931410e-01 + -4.913915433426016e-01 -4.924587534540600e-01 -4.935208569593936e-01 -4.945778724869024e-01 -4.956298174121960e-01 + -4.966767104426105e-01 -4.977185705977166e-01 -4.987554161795947e-01 -4.997872652579317e-01 -5.008141361357437e-01 + -5.018360477540788e-01 -5.028530175622089e-01 -5.038650625463708e-01 -5.048722015765362e-01 -5.058744527800632e-01 + -5.068718334710337e-01 -5.078643614554021e-01 -5.088520548881869e-01 -5.098349318298798e-01 -5.108130088001350e-01 + -5.117863028619736e-01 -5.127548322161382e-01 -5.137186142245088e-01 -5.146776659499980e-01 -5.156320045833772e-01 + -5.165816478015819e-01 -5.175266128170244e-01 -5.184669156304091e-01 -5.194025733016244e-01 -5.203336032597101e-01 + -5.212600221732120e-01 -5.221818466804444e-01 -5.230990936596679e-01 -5.240117804553392e-01 -5.249199232262068e-01 + -5.258235374392936e-01 -5.267226400387954e-01 -5.276172478389746e-01 -5.285073771019844e-01 -5.293930438910602e-01 + -5.302742646986305e-01 -5.311510563423283e-01 -5.320234339437281e-01 -5.328914129379527e-01 -5.337550101355577e-01 + -5.346142414983102e-01 -5.354691226448078e-01 -5.363196694209366e-01 -5.371658979374595e-01 -5.380078240078261e-01 + -5.388454624615836e-01 -5.396788287704753e-01 -5.405079388378121e-01 -5.413328081929075e-01 -5.421534521210617e-01 + -5.429698859177164e-01 -5.437821254261226e-01 -5.445901856060492e-01 -5.453940806517681e-01 -5.461938261275164e-01 + -5.469894375147514e-01 -5.477809296410460e-01 -5.485683172596564e-01 -5.493516154047422e-01 -5.501308394233321e-01 + -5.509060035978606e-01 -5.516771220917993e-01 -5.524442098036262e-01 -5.532072816062331e-01 -5.539663521228516e-01 + -5.547214355736525e-01 -5.554725467511782e-01 -5.562197004144761e-01 -5.569629099559865e-01 -5.577021895124128e-01 + -5.584375539231472e-01 -5.591690174427206e-01 -5.598965939391384e-01 -5.606202972403660e-01 -5.613401421520022e-01 + -5.620561426054913e-01 -5.627683113219669e-01 -5.634766626491997e-01 -5.641812109417922e-01 -5.648819696019924e-01 + -5.655789522526887e-01 -5.662721727674018e-01 -5.669616451334641e-01 -5.676473824290281e-01 -5.683293976251365e-01 + -5.690077046537543e-01 -5.696823171027902e-01 -5.703532481968968e-01 -5.710205111045815e-01 -5.716841193018837e-01 + -5.723440862989044e-01 -5.730004247377283e-01 -5.736531475408438e-01 -5.743022680808630e-01 -5.749477994635019e-01 + -5.755897545119250e-01 -5.762281459317424e-01 -5.768629872133108e-01 -5.774942912813225e-01 -5.781220698864685e-01 + -5.787463360372200e-01 -5.793671029370097e-01 -5.799843829591812e-01 -5.805981885004621e-01 -5.812085322229668e-01 + -5.818154271777390e-01 -5.824188854500640e-01 -5.830189187855023e-01 -5.836155400127914e-01 -5.842087616519486e-01 + -5.847985957903102e-01 -5.853850545399070e-01 -5.859681502822114e-01 -5.865478954643482e-01 -5.871243015837295e-01 + -5.876973804424807e-01 -5.882671445115567e-01 -5.888336058093040e-01 -5.893967761301214e-01 -5.899566672475657e-01 + -5.905132912554449e-01 -5.910666600004119e-01 -5.916167846344484e-01 -5.921636769312483e-01 -5.927073488739303e-01 + -5.932478119884005e-01 -5.937850777230974e-01 -5.943191576345895e-01 -5.948500635775013e-01 -5.953778067525587e-01 + -5.959023980172641e-01 -5.964238491804477e-01 -5.969421717317064e-01 -5.974573766302176e-01 -5.979694750153504e-01 + -5.984784782975928e-01 -5.989843980133127e-01 -5.994872448737363e-01 -5.999870296226286e-01 -6.004837635008013e-01 + -6.009774575116591e-01 -6.014681225640990e-01 -6.019557696406324e-01 -6.024404098188824e-01 -6.029220539582525e-01 + -6.034007123251734e-01 -6.038763957092128e-01 -6.043491151546724e-01 -6.048188811990667e-01 -6.052857043294740e-01 + -6.057495951725935e-01 -6.062105647034982e-01 -6.066686232996821e-01 -6.071237808282512e-01 -6.075760480581535e-01 + -6.080254356249652e-01 -6.084719536597242e-01 -6.089156123708600e-01 -6.093564221655233e-01 -6.097943936088406e-01 + -6.102295366277345e-01 -6.106618611466814e-01 -6.110913776082281e-01 -6.115180960018122e-01 -6.119420262061138e-01 + -6.123631785057825e-01 -6.127815629923925e-01 -6.131971895415724e-01 -6.136100679122567e-01 -6.140202079254689e-01 + -6.144276194632986e-01 -6.148323123693087e-01 -6.152342964516117e-01 -6.156335814880438e-01 -6.160301772367670e-01 + -6.164240932773791e-01 -6.168153390131846e-01 -6.172039241057757e-01 -6.175898582479540e-01 -6.179731510100582e-01 + -6.183538118537011e-01 -6.187318502245757e-01 -6.191072755983122e-01 -6.194800972241303e-01 -6.198503243163954e-01 + -6.202179663089392e-01 -6.205830326036273e-01 -6.209455324825972e-01 -6.213054750121583e-01 -6.216628693834372e-01 + -6.220177248671027e-01 -6.223700505100402e-01 -6.227198553511943e-01 -6.230671484590707e-01 -6.234119388224310e-01 + -6.237542354039819e-01 -6.240940471906395e-01 -6.244313833278470e-01 -6.247662526956897e-01 -6.250986637315333e-01 + -6.254286253149073e-01 -6.257561464374979e-01 -6.260812358699522e-01 -6.264039022632663e-01 -6.267241542804416e-01 + -6.270420007239386e-01 -6.273574502418447e-01 -6.276705113436000e-01 -6.279811924920996e-01 -6.282895022600340e-01 + -6.285954492669960e-01 -6.288990419377586e-01 -6.292002887596219e-01 -6.294991982474318e-01 -6.297957785295903e-01 + -6.300900379535952e-01 -6.303819851813233e-01 -6.306716282540937e-01 -6.309589752809680e-01 -6.312440348023121e-01 + -6.315268150763020e-01 -6.318073241903770e-01 -6.320855701836068e-01 -6.323615610879741e-01 -6.326353050044859e-01 + -6.329068101802829e-01 -6.331760846635813e-01 -6.334431363818833e-01 -6.337079733473078e-01 -6.339706034520735e-01 + -6.342310345121693e-01 -6.344892744839461e-01 -6.347453312805855e-01 -6.349992127114430e-01 -6.352509264768633e-01 + -6.355004804526597e-01 -6.357478826585540e-01 -6.359931404400122e-01 -6.362362612918424e-01 -6.364772532644518e-01 + -6.367161239398067e-01 -6.369528807876881e-01 -6.371875315012039e-01 -6.374200836672138e-01 -6.376505447719858e-01 + -6.378789222449943e-01 -6.381052236017390e-01 -6.383294563385360e-01 -6.385516277126226e-01 -6.387717451483415e-01 + -6.389898161925324e-01 -6.392058481779943e-01 -6.394198483013303e-01 -6.396318237129481e-01 -6.398417817583982e-01 + -6.400497298004382e-01 -6.402556751053731e-01 -6.404596246811356e-01 -6.406615856182318e-01 -6.408615652398488e-01 + -6.410595705960431e-01 -6.412556087124355e-01 -6.414496867908267e-01 -6.416418117430738e-01 -6.418319904244396e-01 + -6.420202299552208e-01 -6.422065373268501e-01 -6.423909194238488e-01 -6.425733831564441e-01 -6.427539354568388e-01 + -6.429325832107947e-01 -6.431093330874931e-01 -6.432841919278923e-01 -6.434571667152847e-01 -6.436282640341581e-01 + -6.437974905134223e-01 -6.439648529819666e-01 -6.441303582355420e-01 -6.442940129046214e-01 -6.444558234243410e-01 + -6.446157964842297e-01 -6.447739387669796e-01 -6.449302567289288e-01 -6.450847570451982e-01 -6.452374463418470e-01 + -6.453883308317777e-01 -6.455374170518916e-01 -6.456847116523639e-01 -6.458302208459006e-01 -6.459739509825424e-01 + -6.461159085765001e-01 -6.462561000624228e-01 -6.463945317857885e-01 -6.465312099893501e-01 -6.466661407794220e-01 + -6.467993305071421e-01 -6.469307857586633e-01 -6.470605124176557e-01 -6.471885165505020e-01 -6.473148048129491e-01 + -6.474393831451855e-01 -6.475622574433044e-01 -6.476834341411803e-01 -6.478029193005811e-01 -6.479207188186653e-01 + -6.480368387749067e-01 -6.481512852365653e-01 -6.482640642356557e-01 -6.483751817763184e-01 -6.484846438333333e-01 + -6.485924563559199e-01 -6.486986252696630e-01 -6.488031563964390e-01 -6.489060555062011e-01 -6.490073285956434e-01 + -6.491069816182633e-01 -6.492050203757027e-01 -6.493014505946639e-01 -6.493962779796888e-01 -6.494895082497514e-01 + -6.495811472172135e-01 -6.496712006463234e-01 -6.497596741452655e-01 -6.498465734697708e-01 -6.499319043537729e-01 + -6.500156722751166e-01 -6.500978828758883e-01 -6.501785418212779e-01 -6.502576544563589e-01 -6.503352264336196e-01 + -6.504112635780723e-01 -6.504857712206107e-01 -6.505587548117625e-01 -6.506302199692129e-01 -6.507001719669850e-01 + -6.507686161481057e-01 -6.508355580770583e-01 -6.509010033515999e-01 -6.509649573333303e-01 -6.510274250599254e-01 + -6.510884119408136e-01 -6.511479234691252e-01 -6.512059649357221e-01 -6.512625414820176e-01 -6.513176583196066e-01 + -6.513713209657690e-01 -6.514235346566493e-01 -6.514743044494572e-01 -6.515236355351222e-01 -6.515715331668240e-01 + -6.516180025498758e-01 -6.516630486086969e-01 -6.517066764698182e-01 -6.517488914696901e-01 -6.517896986474616e-01 + -6.518291029696229e-01 -6.518671094474887e-01 -6.519037232298822e-01 -6.519389493677847e-01 -6.519727927034696e-01 + -6.520052582102593e-01 -6.520363509344871e-01 -6.520660759114448e-01 -6.520944379877177e-01 -6.521214419863292e-01 + -6.521470929034477e-01 -6.521713955379932e-01 -6.521943546611896e-01 -6.522159753870301e-01 -6.522362625000242e-01 + -6.522552205660485e-01 -6.522728545508729e-01 -6.522891692872490e-01 -6.523041693781095e-01 -6.523178594474156e-01 + -6.523302443147758e-01 -6.523413289626511e-01 -6.523511179648659e-01 -6.523596158248584e-01 -6.523668271884714e-01 + -6.523727568212391e-01 -6.523774093997819e-01 -6.523807893579161e-01 -6.523829012952149e-01 -6.523837498990516e-01 + -6.523833397960367e-01 -6.523816754611410e-01 -6.523787613199525e-01 -6.523746019358498e-01 -6.523692018302728e-01 + -6.523625654555820e-01 -6.523546972248629e-01 -6.523456017173497e-01 -6.523352835702680e-01 -6.523237468711672e-01 + -6.523109959032295e-01 -6.522970353197415e-01 -6.522818693382445e-01 -6.522655022842732e-01 -6.522479388337681e-01 + -6.522291831409690e-01 -6.522092393163972e-01 -6.521881118419591e-01 -6.521658050464721e-01 -6.521423231008568e-01 + -6.521176700882644e-01 -6.520918504277817e-01 -6.520648685798258e-01 -6.520367284462982e-01 -6.520074341903623e-01 + -6.519769901852531e-01 -6.519454004576026e-01 -6.519126690272374e-01 -6.518788000417296e-01 -6.518437978790763e-01 + -6.518076667685843e-01 -6.517704106505043e-01 -6.517320333460206e-01 -6.516925389358605e-01 -6.516519318553129e-01 + -6.516102158220000e-01 -6.515673946405215e-01 -6.515234728464969e-01 -6.514784543315630e-01 -6.514323427842886e-01 + -6.513851423523833e-01 -6.513368570527661e-01 -6.512874907235414e-01 -6.512370470939771e-01 -6.511855301990920e-01 + -6.511329442190841e-01 -6.510792928715797e-01 -6.510245798816351e-01 -6.509688091361985e-01 -6.509119847142907e-01 + -6.508541103488035e-01 -6.507951894034477e-01 -6.507352259931611e-01 -6.506742241942834e-01 -6.506121876059120e-01 + -6.505491199228429e-01 -6.504850249436106e-01 -6.504199065016956e-01 -6.503537680222150e-01 -6.502866130342899e-01 + -6.502184457971011e-01 -6.501492700279957e-01 -6.500790890906794e-01 -6.500079066129352e-01 -6.499357263329657e-01 + -6.498625519683058e-01 -6.497883869826074e-01 -6.497132350047277e-01 -6.496370998048885e-01 -6.495599847614121e-01 + -6.494818934475555e-01 -6.494028297363450e-01 -6.493227969968260e-01 -6.492417985197620e-01 -6.491598378013752e-01 + -6.490769185970405e-01 -6.489930446200032e-01 -6.489082192796405e-01 -6.488224457999440e-01 -6.487357275334984e-01 + -6.486480682838258e-01 -6.485594713376021e-01 -6.484699398068251e-01 -6.483794774339799e-01 -6.482880877536140e-01 + -6.481957740532812e-01 -6.481025397024727e-01 -6.480083880017639e-01 -6.479133221889776e-01 -6.478173456351086e-01 + -6.477204618036257e-01 -6.476226741599570e-01 -6.475239858039916e-01 -6.474243999826228e-01 -6.473239202990485e-01 + -6.472225498463482e-01 -6.471202916312221e-01 -6.470171489638400e-01 -6.469131252405815e-01 -6.468082238277443e-01 + -6.467024479420175e-01 -6.465958006550642e-01 -6.464882850509053e-01 -6.463799044773618e-01 -6.462706620382276e-01 + -6.461605607272912e-01 -6.460496040101232e-01 -6.459377950690467e-01 -6.458251367734501e-01 -6.457116323868038e-01 + -6.455972850655802e-01 -6.454820977029684e-01 -6.453660732942879e-01 -6.452492150754419e-01 -6.451315264887545e-01 + -6.450130102914885e-01 -6.448936692680686e-01 -6.447735068128447e-01 -6.446525260129213e-01 -6.445307296530088e-01 + -6.444081203587793e-01 -6.442847014715996e-01 -6.441604765089356e-01 -6.440354480546840e-01 -6.439096188724848e-01 + -6.437829920095609e-01 -6.436555704731397e-01 -6.435273570693492e-01 -6.433983545533010e-01 -6.432685663163126e-01 + -6.431379953365300e-01 -6.430066439769492e-01 -6.428745153347271e-01 -6.427416124750638e-01 -6.426079380140648e-01 + -6.424734947555180e-01 -6.423382856273998e-01 -6.422023135830728e-01 -6.420655814260000e-01 -6.419280919255173e-01 + -6.417898479598759e-01 -6.416508523135933e-01 -6.415111076305331e-01 -6.413706163966455e-01 -6.412293816393564e-01 + -6.410874066048897e-01 -6.409446936267265e-01 -6.408012453136449e-01 -6.406570646910840e-01 -6.405121544270317e-01 + -6.403665170374713e-01 -6.402201550644944e-01 -6.400730715072882e-01 -6.399252691822962e-01 -6.397767504407681e-01 + -6.396275180930010e-01 -6.394775749890055e-01 -6.393269236107165e-01 -6.391755662191552e-01 -6.390235053902433e-01 + -6.388707445708105e-01 -6.387172861694177e-01 -6.385631322023312e-01 -6.384082857966726e-01 -6.382527494896121e-01 + -6.380965253642142e-01 -6.379396162401521e-01 -6.377820248167250e-01 -6.376237535602883e-01 -6.374648052204416e-01 + -6.373051823107587e-01 -6.371448870124290e-01 -6.369839218821269e-01 -6.368222895078627e-01 -6.366599923302766e-01 + -6.364970329561520e-01 -6.363334139746031e-01 -6.361691377885151e-01 -6.360042067688202e-01 -6.358386233547334e-01 + -6.356723901317635e-01 -6.355055093799952e-01 -6.353379833438523e-01 -6.351698147827204e-01 -6.350010061497325e-01 + -6.348315596278746e-01 -6.346614776297652e-01 -6.344907627044540e-01 -6.343194173354602e-01 -6.341474433478579e-01 + -6.339748431233465e-01 -6.338016197812808e-01 -6.336277753787244e-01 -6.334533118997744e-01 -6.332782318265875e-01 + -6.331025376588558e-01 -6.329262316544187e-01 -6.327493157114107e-01 -6.325717923863455e-01 -6.323936643403999e-01 + -6.322149336030685e-01 -6.320356024195775e-01 -6.318556731749607e-01 -6.316751480498738e-01 -6.314940290711796e-01 + -6.313123183267710e-01 -6.311300184615836e-01 -6.309471319109403e-01 -6.307636607640942e-01 -6.305796070902886e-01 + -6.303949730482692e-01 -6.302097608691579e-01 -6.300239725606558e-01 -6.298376103756032e-01 -6.296506769748604e-01 + -6.294631743864889e-01 -6.292751044804592e-01 -6.290864694027335e-01 -6.288972714311484e-01 -6.287075127245377e-01 + -6.285171950849623e-01 -6.283263208775478e-01 -6.281348926187029e-01 -6.279429120773061e-01 -6.277503812180564e-01 + -6.275573022752827e-01 -6.273636774541002e-01 -6.271695087389834e-01 -6.269747979757735e-01 -6.267795473573458e-01 + -6.265837591630624e-01 -6.263874355834504e-01 -6.261905784094625e-01 -6.259931895045528e-01 -6.257952710369122e-01 + -6.255968250363517e-01 -6.253978534898084e-01 -6.251983584520242e-01 -6.249983420853732e-01 -6.247978064572296e-01 + -6.245967533125147e-01 -6.243951846742302e-01 -6.241931026018996e-01 -6.239905086686763e-01 -6.237874050561640e-01 + -6.235837942608177e-01 -6.233796778475696e-01 -6.231750576026635e-01 -6.229699356978790e-01 -6.227643140512986e-01 + -6.225581944126894e-01 -6.223515785171654e-01 -6.221444686516174e-01 -6.219368669106876e-01 -6.217287748516653e-01 + -6.215201944179222e-01 -6.213111276341791e-01 -6.211015763012264e-01 -6.208915420627059e-01 -6.206810267189914e-01 + -6.204700325606027e-01 -6.202585614407183e-01 -6.200466150025669e-01 -6.198341952555039e-01 -6.196213039807257e-01 + -6.194079427661365e-01 -6.191941133919308e-01 -6.189798178811384e-01 -6.187650583625046e-01 -6.185498365366234e-01 + -6.183341539791172e-01 -6.181180123373080e-01 -6.179014136693182e-01 -6.176843597571294e-01 -6.174668518753883e-01 + -6.172488922358068e-01 -6.170304830078728e-01 -6.168116255085183e-01 -6.165923213940302e-01 -6.163725725542526e-01 + -6.161523808379610e-01 -6.159317477445455e-01 -6.157106747923912e-01 -6.154891641891720e-01 -6.152672177134336e-01 + -6.150448367622374e-01 -6.148220230127394e-01 -6.145987783325538e-01 -6.143751045698781e-01 -6.141510029326600e-01 + -6.139264750393221e-01 -6.137015231470567e-01 -6.134761489851926e-01 -6.132503540152313e-01 -6.130241396532106e-01 + -6.127975076851865e-01 -6.125704598048077e-01 -6.123429972989166e-01 -6.121151221351967e-01 -6.118868363314907e-01 + -6.116581411278224e-01 -6.114290380220153e-01 -6.111995287783158e-01 -6.109696151823703e-01 -6.107392985450728e-01 + -6.105085801024925e-01 -6.102774622058419e-01 -6.100459465922933e-01 -6.098140342484372e-01 -6.095817267256873e-01 + -6.093490257933440e-01 -6.091159331809802e-01 -6.088824500709522e-01 -6.086485779905337e-01 -6.084143191489354e-01 + -6.081796748129595e-01 -6.079446461968719e-01 -6.077092351925356e-01 -6.074734432434898e-01 -6.072372716150822e-01 + -6.070007218360295e-01 -6.067637956065657e-01 -6.065264946232775e-01 -6.062888203126375e-01 -6.060507740692458e-01 + -6.058123573561740e-01 -6.055735718185850e-01 -6.053344188005130e-01 -6.050948994718379e-01 -6.048550157592759e-01 + -6.046147693250087e-01 -6.043741612917217e-01 -6.041331930896253e-01 -6.038918662688606e-01 -6.036501823335466e-01 + -6.034081424814672e-01 -6.031657481058161e-01 -6.029230011393863e-01 -6.026799028730719e-01 -6.024364544399844e-01 + -6.021926574869638e-01 -6.019485136055120e-01 -6.017040241022006e-01 -6.014591897708976e-01 -6.012140122415236e-01 + -6.009684936432825e-01 -6.007226351565053e-01 -6.004764378633045e-01 -6.002299030368295e-01 -5.999830322604393e-01 + -5.997358269112610e-01 -5.994882881008079e-01 -5.992404174674395e-01 -5.989922165630734e-01 -5.987436865327392e-01 + -5.984948286273432e-01 -5.982456442781595e-01 -5.979961350600861e-01 -5.977463018616249e-01 -5.974961457245347e-01 + -5.972456688462123e-01 -5.969948725706038e-01 -5.967437577688297e-01 -5.964923259025159e-01 -5.962405782771161e-01 + -5.959885160038786e-01 -5.957361402849749e-01 -5.954834525607696e-01 -5.952304544228757e-01 -5.949771471628894e-01 + -5.947235319540697e-01 -5.944696099654433e-01 -5.942153825546195e-01 -5.939608509107162e-01 -5.937060159741117e-01 + -5.934508794411635e-01 -5.931954428951332e-01 -5.929397071302310e-01 -5.926836734445704e-01 -5.924273432987167e-01 + -5.921707177793331e-01 -5.919137978828047e-01 -5.916565847753502e-01 -5.913990801532651e-01 -5.911412853604616e-01 + -5.908832013941032e-01 -5.906248293335863e-01 -5.903661704565201e-01 -5.901072261246485e-01 -5.898479972855557e-01 + -5.895884850905705e-01 -5.893286910470348e-01 -5.890686164387193e-01 -5.888082623596927e-01 -5.885476297953414e-01 + -5.882867200485414e-01 -5.880255342895034e-01 -5.877640732646211e-01 -5.875023385228563e-01 -5.872403317009627e-01 + -5.869780535979796e-01 -5.867155052441069e-01 -5.864526878805291e-01 -5.861896026754034e-01 -5.859262506932092e-01 + -5.856626329801135e-01 -5.853987507817091e-01 -5.851346053972879e-01 -5.848701980701103e-01 -5.846055297559873e-01 + -5.843406014627009e-01 -5.840754143260567e-01 -5.838099692919883e-01 -5.835442675863415e-01 -5.832783108438364e-01 + -5.830120998737411e-01 -5.827456354637697e-01 -5.824789190313094e-01 -5.822119517157962e-01 -5.819447343999242e-01 + -5.816772678604962e-01 -5.814095534384316e-01 -5.811415926659900e-01 -5.808733865100626e-01 -5.806049358083534e-01 + -5.803362414940428e-01 -5.800673049021045e-01 -5.797981269727348e-01 -5.795287083747186e-01 -5.792590507223763e-01 + -5.789891553127540e-01 -5.787190227795775e-01 -5.784486540773595e-01 -5.781780503537821e-01 -5.779072127885909e-01 + -5.776361421027820e-01 -5.773648392415993e-01 -5.770933058481036e-01 -5.768215427543451e-01 -5.765495506173008e-01 + -5.762773307782053e-01 -5.760048843724456e-01 -5.757322122309633e-01 -5.754593149355522e-01 -5.751861936930261e-01 + -5.749128500443350e-01 -5.746392847733658e-01 -5.743654986749642e-01 -5.740914927526973e-01 -5.738172681170074e-01 + -5.735428256834612e-01 -5.732681661997935e-01 -5.729932909950833e-01 -5.727182011898047e-01 -5.724428973589288e-01 + -5.721673806475209e-01 -5.718916522032619e-01 -5.716157126986885e-01 -5.713395629769044e-01 -5.710632040862346e-01 + -5.707866372440725e-01 -5.705098634203313e-01 -5.702328834166335e-01 -5.699556980810941e-01 -5.696783084118523e-01 + -5.694007154024264e-01 -5.691229196446771e-01 -5.688449222662509e-01 -5.685667247951188e-01 -5.682883277592247e-01 + -5.680097317796297e-01 -5.677309379467054e-01 -5.674519473718960e-01 -5.671727608332666e-01 -5.668933787438524e-01 + -5.666138024324125e-01 -5.663340332775648e-01 -5.660540719736767e-01 -5.657739191147048e-01 -5.654935755198692e-01 + -5.652130424887296e-01 -5.649323205844615e-01 -5.646514102596061e-01 -5.643703131320561e-01 -5.640890302500955e-01 + -5.638075621229782e-01 -5.635259096013298e-01 -5.632440735413435e-01 -5.629620547371306e-01 -5.626798540413637e-01 + -5.623974724401825e-01 -5.621149109968532e-01 -5.618321704141040e-01 -5.615492514232792e-01 -5.612661549867731e-01 + -5.609828820346520e-01 -5.606994332802816e-01 -5.604158091721365e-01 -5.601320109850756e-01 -5.598480400285579e-01 + -5.595638966628304e-01 -5.592795815381203e-01 -5.589950956088516e-01 -5.587104398719418e-01 -5.584256150214867e-01 + -5.581406216413944e-01 -5.578554608147975e-01 -5.575701335442586e-01 -5.572846406020895e-01 -5.569989825973618e-01 + -5.567131602740183e-01 -5.564271745453506e-01 -5.561410260628522e-01 -5.558547156725416e-01 -5.555682445647333e-01 + -5.552816133007876e-01 -5.549948224318785e-01 -5.547078730025937e-01 -5.544207659049382e-01 -5.541335017868810e-01 + -5.538460810525171e-01 -5.535585047530838e-01 -5.532707741030544e-01 -5.529828895161875e-01 -5.526948516856666e-01 + -5.524066615722431e-01 -5.521183198617187e-01 -5.518298271294942e-01 -5.515411840216864e-01 -5.512523916981388e-01 + -5.509634510475757e-01 -5.506743625070015e-01 -5.503851268106821e-01 -5.500957448096843e-01 -5.498062173123895e-01 + -5.495165448046009e-01 -5.492267279674086e-01 -5.489367680360671e-01 -5.486466657159732e-01 -5.483564214808752e-01 + -5.480660360175322e-01 -5.477755101695411e-01 -5.474848446983241e-01 -5.471940399297857e-01 -5.469030967097296e-01 + -5.466120162347039e-01 -5.463207992130580e-01 -5.460294461220425e-01 -5.457379574365921e-01 -5.454463341419615e-01 + -5.451545769787555e-01 -5.448626863052353e-01 -5.445706629798505e-01 -5.442785079610155e-01 -5.439862220351145e-01 + -5.436938056623958e-01 -5.434012594168094e-01 -5.431085842649811e-01 -5.428157805859503e-01 -5.425228488112607e-01 + -5.422297902211034e-01 -5.419366056396356e-01 -5.416432955189590e-01 -5.413498603513526e-01 -5.410563008101139e-01 + -5.407626176406882e-01 -5.404688113584152e-01 -5.401748827259091e-01 -5.398808327262222e-01 -5.395866619984641e-01 + -5.392923710452394e-01 -5.389979603718316e-01 -5.387034307479797e-01 -5.384087828255361e-01 -5.381140170098579e-01 + -5.378191341794292e-01 -5.375241352697128e-01 -5.372290208939874e-01 -5.369337913756430e-01 -5.366384472427702e-01 + -5.363429897090184e-01 -5.360474189692397e-01 -5.357517350808286e-01 -5.354559397287709e-01 -5.351600336380363e-01 + -5.348640167550405e-01 -5.345678898586708e-01 -5.342716537895550e-01 -5.339753091509816e-01 -5.336788560795809e-01 + -5.333822952812678e-01 -5.330856281219807e-01 -5.327888549366336e-01 -5.324919760228772e-01 -5.321949921530423e-01 + -5.318979038948367e-01 -5.316007117591099e-01 -5.313034163655616e-01 -5.310060185016283e-01 -5.307085188690476e-01 + -5.304109178113635e-01 -5.301132159560333e-01 -5.298154141057816e-01 -5.295175129068631e-01 -5.292195125739295e-01 + -5.289214133220888e-01 -5.286232164928936e-01 -5.283249229043371e-01 -5.280265326905970e-01 -5.277280463629660e-01 + -5.274294646406563e-01 -5.271307882435877e-01 -5.268320172699235e-01 -5.265331522204252e-01 -5.262341943956992e-01 + -5.259351442515741e-01 -5.256360020246456e-01 -5.253367683007200e-01 -5.250374438802079e-01 -5.247380293156688e-01 + -5.244385244793137e-01 -5.241389303158239e-01 -5.238392481089597e-01 -5.235394779437145e-01 -5.232396201567239e-01 + -5.229396754457293e-01 -5.226396444439171e-01 -5.223395275325885e-01 -5.220393250130385e-01 -5.217390378529512e-01 + -5.214386667612969e-01 -5.211382119631184e-01 -5.208376739941909e-01 -5.205370535049869e-01 -5.202363510969753e-01 + -5.199355670763710e-01 -5.196347019022574e-01 -5.193337564915598e-01 -5.190327313042545e-01 -5.187316266472318e-01 + -5.184304431068453e-01 -5.181291813913007e-01 -5.178278420262173e-01 -5.175264249304404e-01 -5.172249309061349e-01 + -5.169233612064826e-01 -5.166217158673360e-01 -5.163199951550123e-01 -5.160181998004911e-01 -5.157163303784532e-01 + -5.154143871836301e-01 -5.151123703899823e-01 -5.148102810445049e-01 -5.145081200022412e-01 -5.142058873966443e-01 + -5.139035834879907e-01 -5.136012088439446e-01 -5.132987643470369e-01 -5.129962500176725e-01 -5.126936660139045e-01 + -5.123910137907831e-01 -5.120882937169244e-01 -5.117855056864241e-01 -5.114826505830118e-01 -5.111797289351894e-01 + -5.108767409175631e-01 -5.105736869791608e-01 -5.102705678009448e-01 -5.099673841164564e-01 -5.096641361609235e-01 + -5.093608243087677e-01 -5.090574492425100e-01 -5.087540114820200e-01 -5.084505112619658e-01 -5.081469486274651e-01 + -5.078433245912960e-01 -5.075396400795943e-01 -5.072358951124865e-01 -5.069320899536702e-01 -5.066282251477461e-01 + -5.063243014155288e-01 -5.060203189866231e-01 -5.057162780382299e-01 -5.054121795257869e-01 -5.051080240346536e-01 + -5.048038117428125e-01 -5.044995428560932e-01 -5.041952179946867e-01 -5.038908379779851e-01 -5.035864027540428e-01 + -5.032819126747086e-01 -5.029773687584369e-01 -5.026727713803431e-01 -5.023681207203433e-01 -5.020634170773620e-01 + -5.017586611304518e-01 -5.014538534087800e-01 -5.011489939472488e-01 -5.008440834008399e-01 -5.005391225202214e-01 + -5.002341114848970e-01 -4.999290507534227e-01 -4.996239408965545e-01 -4.993187821357916e-01 -4.990135746184980e-01 + -4.987083187010172e-01 -4.984030154770353e-01 -4.980976654859903e-01 -4.977922686591017e-01 -4.974868253646026e-01 + -4.971813362150598e-01 -4.968758018164073e-01 -4.965702219796178e-01 -4.962645970518764e-01 -4.959589283986423e-01 + -4.956532161259331e-01 -4.953474601672504e-01 -4.950416611894621e-01 -4.947358197709370e-01 -4.944299362131679e-01 + -4.941240104625670e-01 -4.938180432013966e-01 -4.935120353360559e-01 -4.932059869696777e-01 -4.928998983832586e-01 + -4.925937700937396e-01 -4.922876025288242e-01 -4.919813957951697e-01 -4.916751499430368e-01 -4.913688660561277e-01 + -4.910625447982750e-01 -4.907561860728009e-01 -4.904497902858990e-01 -4.901433579647613e-01 -4.898368894758774e-01 + -4.895303847877975e-01 -4.892238442443610e-01 -4.889172690570770e-01 -4.886106594399146e-01 -4.883040152916479e-01 + -4.879973371198497e-01 -4.876906255185612e-01 -4.873838808516193e-01 -4.870771028969680e-01 -4.867702923235035e-01 + -4.864634502410182e-01 -4.861565765237592e-01 -4.858496713307078e-01 -4.855427352755911e-01 -4.852357685536697e-01 + -4.849287714451036e-01 -4.846217444589359e-01 -4.843146879997467e-01 -4.840076025123002e-01 -4.837004885060202e-01 + -4.833933461066379e-01 -4.830861755003688e-01 -4.827789772517898e-01 -4.824717516127337e-01 -4.821644988235214e-01 + -4.818572195031119e-01 -4.815499140763169e-01 -4.812425828318353e-01 -4.809352261296052e-01 -4.806278443199989e-01 + -4.803204376463540e-01 -4.800130060714603e-01 -4.797055501717924e-01 -4.793980709573083e-01 -4.790905684347367e-01 + -4.787830426340720e-01 -4.784754939887473e-01 -4.781679231200341e-01 -4.778603302286951e-01 -4.775527150015833e-01 + -4.772450784284375e-01 -4.769374213667171e-01 -4.766297434623847e-01 -4.763220450397429e-01 -4.760143266869929e-01 + -4.757065886153464e-01 -4.753988310011543e-01 -4.750910541528841e-01 -4.747832586964973e-01 -4.744754450010169e-01 + -4.741676132522562e-01 -4.738597638648681e-01 -4.735518971269201e-01 -4.732440131603057e-01 -4.729361121339242e-01 + -4.726281945136708e-01 -4.723202610280838e-01 -4.720123119889466e-01 -4.717043475548789e-01 -4.713963678930571e-01 + -4.710883732580126e-01 -4.707803639362851e-01 -4.704723402372425e-01 -4.701643027667922e-01 -4.698562520096238e-01 + -4.695481878708884e-01 -4.692401107063794e-01 -4.689320210638210e-01 -4.686239190614940e-01 -4.683158048406638e-01 + -4.680076787162389e-01 -4.676995413185929e-01 -4.673913930202820e-01 -4.670832339045677e-01 -4.667750641928977e-01 + -4.664668842720264e-01 -4.661586945788764e-01 -4.658504950199774e-01 -4.655422858974875e-01 -4.652340682220931e-01 + -4.649258420178881e-01 -4.646176071935555e-01 -4.643093642460228e-01 -4.640011135361189e-01 -4.636928552533583e-01 + -4.633845894780055e-01 -4.630763167063440e-01 -4.627680375263447e-01 -4.624597520114774e-01 -4.621514604268375e-01 + -4.618431632080228e-01 -4.615348605890552e-01 -4.612265525685530e-01 -4.609182391698630e-01 -4.606099213200685e-01 + -4.603015994943055e-01 -4.599932734377760e-01 -4.596849434943749e-01 -4.593766101319814e-01 -4.590682736286037e-01 + -4.587599339472412e-01 -4.584515913122191e-01 -4.581432465762054e-01 -4.578348999443045e-01 -4.575265513883392e-01 + -4.572182012155285e-01 -4.569098498253546e-01 -4.566014974456956e-01 -4.562931438038699e-01 -4.559847894939479e-01 + -4.556764355440957e-01 -4.553680818446301e-01 -4.550597283221777e-01 -4.547513752454754e-01 -4.544430231318768e-01 + -4.541346721146189e-01 -4.538263219879204e-01 -4.535179736207505e-01 -4.532096276207381e-01 -4.529012837320638e-01 + -4.525929421989657e-01 -4.522846033793929e-01 -4.519762674029318e-01 -4.516679344715044e-01 -4.513596049388520e-01 + -4.510512793496801e-01 -4.507429578901284e-01 -4.504346405869434e-01 -4.501263277269192e-01 -4.498180196893253e-01 + -4.495097167463535e-01 -4.492014186979058e-01 -4.488931259139300e-01 -4.485848392328776e-01 -4.482765586745183e-01 + -4.479682843350483e-01 -4.476600166157323e-01 -4.473517555800268e-01 -4.470435013321629e-01 -4.467352542154915e-01 + -4.464270145748750e-01 -4.461187827567155e-01 -4.458105590951706e-01 -4.455023436689998e-01 -4.451941365719282e-01 + -4.448859382022067e-01 -4.445777486373541e-01 -4.442695679571050e-01 -4.439613968717006e-01 -4.436532356916815e-01 + -4.433450843880059e-01 -4.430369431657580e-01 -4.427288122616561e-01 -4.424206918620519e-01 -4.421125820372482e-01 + -4.418044832064567e-01 -4.414963960811867e-01 -4.411883204960218e-01 -4.408802564087612e-01 -4.405722043668788e-01 + -4.402641646390490e-01 -4.399561373068210e-01 -4.396481224088197e-01 -4.393401203468038e-01 -4.390321316119934e-01 + -4.387241564347777e-01 -4.384161947343386e-01 -4.381082465266398e-01 -4.378003125430411e-01 -4.374923928277115e-01 + -4.371844871230922e-01 -4.368765963346815e-01 -4.365687207997857e-01 -4.362608601883623e-01 -4.359530147661063e-01 + -4.356451849773876e-01 -4.353373711547212e-01 -4.350295729831375e-01 -4.347217906709347e-01 -4.344140253247259e-01 + -4.341062767701542e-01 -4.337985447574569e-01 -4.334908298973194e-01 -4.331831324142745e-01 -4.328754522838512e-01 + -4.325677895304312e-01 -4.322601446380396e-01 -4.319525182069930e-01 -4.316449103351276e-01 -4.313373209430619e-01 + -4.310297500384340e-01 -4.307221981580691e-01 -4.304146654764764e-01 -4.301071518609876e-01 -4.297996578556980e-01 + -4.294921838432407e-01 -4.291847298181669e-01 -4.288772959356691e-01 -4.285698824691314e-01 -4.282624896947286e-01 + -4.279551173581843e-01 -4.276477655542056e-01 -4.273404353166645e-01 -4.270331268873108e-01 -4.267258400671970e-01 + -4.264185747737768e-01 -4.261113314513503e-01 -4.258041105111009e-01 -4.254969114260224e-01 -4.251897346526543e-01 + -4.248825811839114e-01 -4.245754507348872e-01 -4.242683433304872e-01 -4.239612594489042e-01 -4.236541990429175e-01 + -4.233471621233121e-01 -4.230401489624036e-01 -4.227331599159186e-01 -4.224261953202194e-01 -4.221192554076946e-01 + -4.218123401221037e-01 -4.215054495276057e-01 -4.211985840665567e-01 -4.208917437341202e-01 -4.205849285470991e-01 + -4.202781391077526e-01 -4.199713756820169e-01 -4.196646382796324e-01 -4.193579269625680e-01 -4.190512419898234e-01 + -4.187445835885104e-01 -4.184379514023820e-01 -4.181313458657921e-01 -4.178247679943504e-01 -4.175182174706034e-01 + -4.172116941638125e-01 -4.169051985589959e-01 -4.165987308801878e-01 -4.162922910262470e-01 -4.159858787333477e-01 + -4.156794948456864e-01 -4.153731400237493e-01 -4.150668138055245e-01 -4.147605162480433e-01 -4.144542477033889e-01 + -4.141480084083939e-01 -4.138417983331389e-01 -4.135356175072968e-01 -4.132294665425894e-01 -4.129233456523720e-01 + -4.126172547353913e-01 -4.123111939769975e-01 -4.120051637027982e-01 -4.116991641480549e-01 -4.113931948631621e-01 + -4.110872561089984e-01 -4.107813489720965e-01 -4.104754732505308e-01 -4.101696286974395e-01 -4.098638156566466e-01 + -4.095580344057681e-01 -4.092522850492459e-01 -4.089465675148873e-01 -4.086408821301867e-01 -4.083352292811099e-01 + -4.080296090087697e-01 -4.077240214925531e-01 -4.074184669621912e-01 -4.071129454474836e-01 -4.068074568206541e-01 + -4.065020011172992e-01 -4.061965792344674e-01 -4.058911914234347e-01 -4.055858372701102e-01 -4.052805169731385e-01 + -4.049752308691225e-01 -4.046699791746853e-01 -4.043647616984872e-01 -4.040595785275335e-01 -4.037544302850327e-01 + -4.034493171430220e-01 -4.031442391412985e-01 -4.028391964411297e-01 -4.025341890399178e-01 -4.022292169515432e-01 + -4.019242804318620e-01 -4.016193797575413e-01 -4.013145151618574e-01 -4.010096867767989e-01 -4.007048946739946e-01 + -4.004001389575452e-01 -4.000954199442892e-01 -3.997907376333255e-01 -3.994860918450180e-01 -3.991814831388100e-01 + -3.988769118682245e-01 -3.985723779299208e-01 -3.982678813725196e-01 -3.979634224118638e-01 -3.976590013430957e-01 + -3.973546179557737e-01 -3.970502723184750e-01 -3.967459652757308e-01 -3.964416967373386e-01 -3.961374664325438e-01 + -3.958332748416728e-01 -3.955291221412219e-01 -3.952250082276700e-01 -3.949209329883424e-01 -3.946168969005399e-01 + -3.943129006192436e-01 -3.940089438207542e-01 -3.937050264421336e-01 -3.934011488327164e-01 -3.930973111392007e-01 + -3.927935133510078e-01 -3.924897554398895e-01 -3.921860379028622e-01 -3.918823611410527e-01 -3.915787251272155e-01 + -3.912751296302741e-01 -3.909715747221262e-01 -3.906680610479274e-01 -3.903645884467465e-01 -3.900611567141484e-01 + -3.897577665105899e-01 -3.894544180732338e-01 -3.891511112918067e-01 -3.888478460867855e-01 -3.885446227676595e-01 + -3.882414417069796e-01 -3.879383024897914e-01 -3.876352053351357e-01 -3.873321510269954e-01 -3.870291394376005e-01 + -3.867261704550462e-01 -3.864232442776043e-01 -3.861203610538394e-01 -3.858175208256477e-01 -3.855147235659399e-01 + -3.852119696012977e-01 -3.849092593053318e-01 -3.846065928280623e-01 -3.843039700003283e-01 -3.840013907871894e-01 + -3.836988557264463e-01 -3.833963646642737e-01 -3.830939173673272e-01 -3.827915146861536e-01 -3.824891567344230e-01 + -3.821868431312930e-01 -3.818845742897094e-01 -3.815823505036508e-01 -3.812801717050347e-01 -3.809780375081945e-01 + -3.806759481537249e-01 -3.803739045452896e-01 -3.800719066553854e-01 -3.797699542729503e-01 -3.794680474344709e-01 + -3.791661864151066e-01 -3.788643713579414e-01 -3.785626020610045e-01 -3.782608787892401e-01 -3.779592019649877e-01 + -3.776575717504184e-01 -3.773559879986245e-01 -3.770544506277551e-01 -3.767529601718599e-01 -3.764515165488658e-01 + -3.761501194541416e-01 -3.758487697291592e-01 -3.755474675286999e-01 -3.752462123142175e-01 -3.749450044400430e-01 + -3.746438442933219e-01 -3.743427319385532e-01 -3.740416670860849e-01 -3.737406497610264e-01 -3.734396805632812e-01 + -3.731387597991040e-01 -3.728378873981389e-01 -3.725370629746288e-01 -3.722362869751284e-01 -3.719355598195744e-01 + -3.716348809475082e-01 -3.713342505611615e-01 -3.710336692885385e-01 -3.707331373206220e-01 -3.704326544188714e-01 + -3.701322203470578e-01 -3.698318357923215e-01 -3.695315007664240e-01 -3.692312147431765e-01 -3.689309784821330e-01 + -3.686307923312130e-01 -3.683306558583173e-01 -3.680305692832940e-01 -3.677305328772401e-01 -3.674305466155561e-01 + -3.671306102835627e-01 -3.668307239979260e-01 -3.665308885123383e-01 -3.662311039528895e-01 -3.659313700864294e-01 + -3.656316867340536e-01 -3.653320542170925e-01 -3.650324728818179e-01 -3.647329423252613e-01 -3.644334627823841e-01 + -3.641340348652060e-01 -3.638346584224414e-01 -3.635353333854674e-01 -3.632360599381753e-01 -3.629368383087880e-01 + -3.626376683911322e-01 -3.623385498640058e-01 -3.620394834143431e-01 -3.617404694429358e-01 -3.614415075289109e-01 + -3.611425978472304e-01 -3.608437406892576e-01 -3.605449360396625e-01 -3.602461837170217e-01 -3.599474837636126e-01 + -3.596488368123176e-01 -3.593502429497555e-01 -3.590517019950174e-01 -3.587532141258951e-01 -3.584547794364419e-01 + -3.581563978967544e-01 -3.578580694598877e-01 -3.575597943932133e-01 -3.572615731273898e-01 -3.569634054963255e-01 + -3.566652915450074e-01 -3.563672316398869e-01 -3.560692255181004e-01 -3.557712730433470e-01 -3.554733745722332e-01 + -3.551755304325120e-01 -3.548777407381354e-01 -3.545800053200450e-01 -3.542823243820459e-01 -3.539846981602633e-01 + -3.536871265064687e-01 -3.533896092936707e-01 -3.530921466577667e-01 -3.527947392696623e-01 -3.524973870763591e-01 + -3.522000896417020e-01 -3.519028473926252e-01 -3.516056606257513e-01 -3.513085292624320e-01 -3.510114529438408e-01 + -3.507144318797571e-01 -3.504174668509267e-01 -3.501205576763053e-01 -3.498237041407538e-01 -3.495269064579332e-01 + -3.492301648012658e-01 -3.489334792023763e-01 -3.486368495320163e-01 -3.483402759532310e-01 -3.480437587608516e-01 + -3.477472981563033e-01 -3.474508940116457e-01 -3.471545462266357e-01 -3.468582552838557e-01 -3.465620210594309e-01 + -3.462658431862374e-01 -3.459697223261950e-01 -3.456736587298253e-01 -3.453776521244075e-01 -3.450817025977070e-01 + -3.447858103250944e-01 -3.444899754033867e-01 -3.441941976114102e-01 -3.438984770490408e-01 -3.436028143288083e-01 + -3.433072093931014e-01 -3.430116620696204e-01 -3.427161725111446e-01 -3.424207408695913e-01 -3.421253671506906e-01 + -3.418300511322294e-01 -3.415347931565998e-01 -3.412395936962896e-01 -3.409444525560181e-01 -3.406493696743920e-01 + -3.403543451949735e-01 -3.400593792856730e-01 -3.397644718554241e-01 -3.394696227303268e-01 -3.391748324448361e-01 + -3.388801012525273e-01 -3.385854289098167e-01 -3.382908154719833e-01 -3.379962610967925e-01 -3.377017658856785e-01 + -3.374073296405456e-01 -3.371129523992028e-01 -3.368186347618567e-01 -3.365243767275647e-01 -3.362301780997549e-01 + -3.359360390044588e-01 -3.356419595939377e-01 -3.353479398983790e-01 -3.350539796822969e-01 -3.347600792157354e-01 + -3.344662390001809e-01 -3.341724588683134e-01 -3.338787387386647e-01 -3.335850787505256e-01 -3.332914790393797e-01 + -3.329979395469141e-01 -3.327044601082655e-01 -3.324110411740308e-01 -3.321176830325031e-01 -3.318243854727410e-01 + -3.315311485033696e-01 -3.312379722613320e-01 -3.309448568815591e-01 -3.306518021855764e-01 -3.303588081394571e-01 + -3.300658753265905e-01 -3.297730038003383e-01 -3.294801933460689e-01 -3.291874440822869e-01 -3.288947561448500e-01 + -3.286021295596533e-01 -3.283095641084477e-01 -3.280170600152969e-01 -3.277246178092963e-01 -3.274322373144385e-01 + -3.271399184133136e-01 -3.268476612759387e-01 -3.265554660369243e-01 -3.262633326374516e-01 -3.259712608638953e-01 + -3.256792511518811e-01 -3.253873038511834e-01 -3.250954187049387e-01 -3.248035957166725e-01 -3.245118350464998e-01 + -3.242201368055027e-01 -3.239285008232202e-01 -3.236369270127419e-01 -3.233454159517716e-01 -3.230539677655248e-01 + -3.227625822208953e-01 -3.224712593689608e-01 -3.221799993547627e-01 -3.218888022707884e-01 -3.215976678728723e-01 + -3.213065962862219e-01 -3.210155880538063e-01 -3.207246430922022e-01 -3.204337612603162e-01 -3.201429426545060e-01 + -3.198521874188910e-01 -3.195614955407240e-01 -3.192708667833873e-01 -3.189803015317205e-01 -3.186898001852494e-01 + -3.183993624745159e-01 -3.181089883645859e-01 -3.178186780215274e-01 -3.175284315788672e-01 -3.172382488912609e-01 + -3.169481298117736e-01 -3.166580748847834e-01 -3.163680842820584e-01 -3.160781577505636e-01 -3.157882953403168e-01 + -3.154984971942622e-01 -3.152087634033934e-01 -3.149190937439705e-01 -3.146294882798918e-01 -3.143399475483734e-01 + -3.140504715109739e-01 -3.137610600081304e-01 -3.134717131245625e-01 -3.131824310053718e-01 -3.128932136614712e-01 + -3.126040608259110e-01 -3.123149728003283e-01 -3.120259500284038e-01 -3.117369923103007e-01 -3.114480995811182e-01 + -3.111592719695180e-01 -3.108705096041851e-01 -3.105818123704323e-01 -3.102931800853200e-01 -3.100046132424714e-01 + -3.097161120700553e-01 -3.094276763275429e-01 -3.091393060498078e-01 -3.088510013669117e-01 -3.085627623567511e-01 + -3.082745888090075e-01 -3.079864807413559e-01 -3.076984387104112e-01 -3.074104627037881e-01 -3.071225525229602e-01 + -3.068347082674415e-01 -3.065469300647063e-01 -3.062592179233167e-01 -3.059715715883658e-01 -3.056839913222955e-01 + -3.053964776128304e-01 -3.051090302429263e-01 -3.048216491115613e-01 -3.045343343664140e-01 -3.042470861256498e-01 + -3.039599042912569e-01 -3.036727886539801e-01 -3.033857396783212e-01 -3.030987576532087e-01 -3.028118423290159e-01 + -3.025249936916685e-01 -3.022382118572411e-01 -3.019514969324824e-01 -3.016648487319269e-01 -3.013782672163520e-01 + -3.010917529380510e-01 -3.008053059332530e-01 -3.005189259718208e-01 -3.002326131255288e-01 -2.999463675243501e-01 + -2.996601892115071e-01 -2.993740779431134e-01 -2.990880338991673e-01 -2.988020575697556e-01 -2.985161488129333e-01 + -2.982303074956766e-01 -2.979445337070337e-01 -2.976588275957710e-01 -2.973731891105994e-01 -2.970876179949718e-01 + -2.968021146693378e-01 -2.965166794729635e-01 -2.962313121299224e-01 -2.959460126205053e-01 -2.956607810824475e-01 + -2.953756176130727e-01 -2.950905220348498e-01 -2.948054942542040e-01 -2.945205348259674e-01 -2.942356438398593e-01 + -2.939508210351428e-01 -2.936660664737455e-01 -2.933813802767271e-01 -2.930967624892026e-01 -2.928122128931882e-01 + -2.925277316158055e-01 -2.922433191494531e-01 -2.919589753765323e-01 -2.916747001400424e-01 -2.913904935350139e-01 + -2.911063557118664e-01 -2.908222866434848e-01 -2.905382860439090e-01 -2.902543542778646e-01 -2.899704917370004e-01 + -2.896866981425306e-01 -2.894029734511842e-01 -2.891193178139609e-01 -2.888357313345801e-01 -2.885522138545054e-01 + -2.882687652243500e-01 -2.879853859636904e-01 -2.877020762131379e-01 -2.874188357014512e-01 -2.871356645025479e-01 + -2.868525627422169e-01 -2.865695304469716e-01 -2.862865673963798e-01 -2.860036736642309e-01 -2.857208497673618e-01 + -2.854380956360413e-01 -2.851554110854154e-01 -2.848727961880673e-01 -2.845902510831507e-01 -2.843077757793696e-01 + -2.840253700094237e-01 -2.837430340397069e-01 -2.834607682748240e-01 -2.831785725328111e-01 -2.828964467316310e-01 + -2.826143909542473e-01 -2.823324053101364e-01 -2.820504896922502e-01 -2.817686439371250e-01 -2.814868685136343e-01 + -2.812051636152371e-01 -2.809235289745332e-01 -2.806419646055033e-01 -2.803604706362606e-01 -2.800790471610514e-01 + -2.797976939416736e-01 -2.795164109639519e-01 -2.792351987736799e-01 -2.789540573481899e-01 -2.786729864814172e-01 + -2.783919862645312e-01 -2.781110567914744e-01 -2.778301980476193e-01 -2.775494098202491e-01 -2.772686923282846e-01 + -2.769880459823117e-01 -2.767074706347814e-01 -2.764269661749121e-01 -2.761465326612197e-01 -2.758661702373058e-01 + -2.755858788282252e-01 -2.753056582075042e-01 -2.750255088041456e-01 -2.747454308713073e-01 -2.744654241403574e-01 + -2.741854886058927e-01 -2.739056243892176e-01 -2.736258315782464e-01 -2.733461099674180e-01 -2.730664595012521e-01 + -2.727868807168794e-01 -2.725073736368404e-01 -2.722279380246611e-01 -2.719485739535283e-01 -2.716692815376729e-01 + -2.713900607905190e-01 -2.711109114418696e-01 -2.708318336740216e-01 -2.705528279896257e-01 -2.702738942089605e-01 + -2.699950321750810e-01 -2.697162419812612e-01 -2.694375237750356e-01 -2.691588774953904e-01 -2.688803028674867e-01 + -2.686018002777490e-01 -2.683233700490228e-01 -2.680450119322323e-01 -2.677667258920440e-01 -2.674885120321642e-01 + -2.672103704327183e-01 -2.669323009240009e-01 -2.666543034142266e-01 -2.663763784024609e-01 -2.660985259744725e-01 + -2.658207458961011e-01 -2.655430381891060e-01 -2.652654029648259e-01 -2.649878402880381e-01 -2.647103499069445e-01 + -2.644329319184849e-01 -2.641555868035665e-01 -2.638783144422805e-01 -2.636011146840161e-01 -2.633239876271375e-01 + -2.630469333706403e-01 -2.627699518665801e-01 -2.624930428881614e-01 -2.622162067361601e-01 -2.619394437425979e-01 + -2.616627537197243e-01 -2.613861365959049e-01 -2.611095924398818e-01 -2.608331213683194e-01 -2.605567232565551e-01 + -2.602803979638560e-01 -2.600041459185203e-01 -2.597279672559259e-01 -2.594518617711524e-01 -2.591758294668244e-01 + -2.588998704444723e-01 -2.586239847880919e-01 -2.583481722507706e-01 -2.580724328621725e-01 -2.577967671126083e-01 + -2.575211749406902e-01 -2.572456561780725e-01 -2.569702108956164e-01 -2.566948391959332e-01 -2.564195410517088e-01 + -2.561443162003717e-01 -2.558691649278121e-01 -2.555940876367002e-01 -2.553190840839927e-01 -2.550441541814838e-01 + -2.547692980445108e-01 -2.544945157803290e-01 -2.542198072584164e-01 -2.539451722830000e-01 -2.536706112997469e-01 + -2.533961245035316e-01 -2.531217116489478e-01 -2.528473727232912e-01 -2.525731078267265e-01 -2.522989170513077e-01 + -2.520248001810547e-01 -2.517507572028029e-01 -2.514767886096237e-01 -2.512028943623831e-01 -2.509290742545349e-01 + -2.506553283625735e-01 -2.503816568034038e-01 -2.501080595782905e-01 -2.498345364108095e-01 -2.495610875124447e-01 + -2.492877133133172e-01 -2.490144136112123e-01 -2.487411882994743e-01 -2.484680374856057e-01 -2.481949612635986e-01 + -2.479219595287280e-01 -2.476490320734136e-01 -2.473761793087864e-01 -2.471034014703498e-01 -2.468306982957061e-01 + -2.465580697844871e-01 -2.462855160432138e-01 -2.460130371204629e-01 -2.457406328233614e-01 -2.454683031113906e-01 + -2.451960484794311e-01 -2.449238689415910e-01 -2.446517642712055e-01 -2.443797345227543e-01 -2.441077797933181e-01 + -2.438359000947776e-01 -2.435640951889690e-01 -2.432923652315951e-01 -2.430207106571287e-01 -2.427491313175689e-01 + -2.424776270783986e-01 -2.422061980074125e-01 -2.419348442072336e-01 -2.416635656192684e-01 -2.413923620306189e-01 + -2.411212337762792e-01 -2.408501811283544e-01 -2.405792038734625e-01 -2.403083019688687e-01 -2.400374754936993e-01 + -2.397667245256450e-01 -2.394960488977194e-01 -2.392254485194238e-01 -2.389549238762380e-01 -2.386844750244205e-01 + -2.384141017100180e-01 -2.381438039886236e-01 -2.378735819631148e-01 -2.376034356560101e-01 -2.373333648418426e-01 + -2.370633696160408e-01 -2.367934504134751e-01 -2.365236071336530e-01 -2.362538396334552e-01 -2.359841479713349e-01 + -2.357145322333765e-01 -2.354449923780104e-01 -2.351755281955192e-01 -2.349061399838227e-01 -2.346368280467886e-01 + -2.343675921502802e-01 -2.340984322401892e-01 -2.338293484224673e-01 -2.335603407944267e-01 -2.332914091991481e-01 + -2.330225534791031e-01 -2.327537740958542e-01 -2.324850711724544e-01 -2.322164444575208e-01 -2.319478939696494e-01 + -2.316794198107119e-01 -2.314110220364787e-01 -2.311427004172850e-01 -2.308744549913938e-01 -2.306062862221652e-01 + -2.303381940399467e-01 -2.300701782673901e-01 -2.298022389505013e-01 -2.295343762055658e-01 -2.292665900251787e-01 + -2.289988801367178e-01 -2.287312467963517e-01 -2.284636903804389e-01 -2.281962106639611e-01 -2.279288075702767e-01 + -2.276614812041137e-01 -2.273942316314865e-01 -2.271270587234099e-01 -2.268599623216859e-01 -2.265929428586625e-01 + -2.263260004971463e-01 -2.260591349680134e-01 -2.257923462859340e-01 -2.255256345570404e-01 -2.252589998316905e-01 + -2.249924418873443e-01 -2.247259607239798e-01 -2.244595568451081e-01 -2.241932301870257e-01 -2.239269805236896e-01 + -2.236608079513920e-01 -2.233947125724077e-01 -2.231286943677930e-01 -2.228627530899186e-01 -2.225968889349937e-01 + -2.223311022938890e-01 -2.220653929888047e-01 -2.217997609137618e-01 -2.215342061492806e-01 -2.212687287997047e-01 + -2.210033287645195e-01 -2.207380058226258e-01 -2.204727603658667e-01 -2.202075926188733e-01 -2.199425023254976e-01 + -2.196774894791217e-01 -2.194125541827232e-01 -2.191476964953657e-01 -2.188829162198361e-01 -2.186182133017065e-01 + -2.183535882155842e-01 -2.180890409721393e-01 -2.178245713492862e-01 -2.175601793915103e-01 -2.172958651996608e-01 + -2.170316287941991e-01 -2.167674699222372e-01 -2.165033887351043e-01 -2.162393856655618e-01 -2.159754605317784e-01 + -2.157116131976179e-01 -2.154478437626437e-01 -2.151841523053365e-01 -2.149205387568082e-01 -2.146570029331132e-01 + -2.143935451423346e-01 -2.141301656253313e-01 -2.138668641770334e-01 -2.136036407648879e-01 -2.133404954698548e-01 + -2.130774283590253e-01 -2.128144392711416e-01 -2.125515281171839e-01 -2.122886953403734e-01 -2.120259409959825e-01 + -2.117632648531722e-01 -2.115006669388265e-01 -2.112381473557379e-01 -2.109757061544524e-01 -2.107133431005909e-01 + -2.104510582708100e-01 -2.101888520817322e-01 -2.099267244352251e-01 -2.096646751892664e-01 -2.094027043922436e-01 + -2.091408121382980e-01 -2.088789983898283e-01 -2.086172629233026e-01 -2.083556060294393e-01 -2.080940280081475e-01 + -2.078325286261216e-01 -2.075711078316715e-01 -2.073097657230958e-01 -2.070485023681648e-01 -2.067873176254528e-01 + -2.065262113703670e-01 -2.062651840261599e-01 -2.060042356935543e-01 -2.057433661320316e-01 -2.054825753736384e-01 + -2.052218635119340e-01 -2.049612305777034e-01 -2.047006763593381e-01 -2.044402009029163e-01 -2.041798046444743e-01 + -2.039194875091236e-01 -2.036592493288050e-01 -2.033990901597007e-01 -2.031390101041152e-01 -2.028790091364410e-01 + -2.026190869860804e-01 -2.023592439213894e-01 -2.020994803209571e-01 -2.018397959336108e-01 -2.015801906636277e-01 + -2.013206646163115e-01 -2.010612178968381e-01 -2.008018503846473e-01 -2.005425618909167e-01 -2.002833527994660e-01 + -2.000242232866459e-01 -1.997651731545872e-01 -1.995062023757428e-01 -1.992473110134654e-01 -1.989884991329442e-01 + -1.987297665552775e-01 -1.984711132804359e-01 -1.982125397288479e-01 -1.979540458641874e-01 -1.976956315048893e-01 + -1.974372966986851e-01 -1.971790415364275e-01 -1.969208660181268e-01 -1.966627699138122e-01 -1.964047534115951e-01 + -1.961468168792641e-01 -1.958889601415059e-01 -1.956311830976701e-01 -1.953734858227050e-01 -1.951158683885618e-01 + -1.948583307060198e-01 -1.946008726082255e-01 -1.943434944554087e-01 -1.940861964418109e-01 -1.938289783248288e-01 + -1.935718400929853e-01 -1.933147818435645e-01 -1.930578036445209e-01 -1.928009053047615e-01 -1.925440867668252e-01 + -1.922873484836986e-01 -1.920306904586313e-01 -1.917741124759950e-01 -1.915176145882685e-01 -1.912611968971867e-01 + -1.910048594156118e-01 -1.907486018758652e-01 -1.904924244300230e-01 -1.902363275204000e-01 -1.899803109613821e-01 + -1.897243746214878e-01 -1.894685186111405e-01 -1.892127429944364e-01 -1.889570476814606e-01 -1.887014324762902e-01 + -1.884458977092228e-01 -1.881904436322386e-01 -1.879350700181010e-01 -1.876797768445363e-01 -1.874245641980662e-01 + -1.871694321106837e-01 -1.869143804464632e-01 -1.866594091449939e-01 -1.864045185802509e-01 -1.861497088150435e-01 + -1.858949796742653e-01 -1.856403311585743e-01 -1.853857633524328e-01 -1.851312763093270e-01 -1.848768697910832e-01 + -1.846225438828809e-01 -1.843682990131126e-01 -1.841141350478542e-01 -1.838600518410295e-01 -1.836060494900988e-01 + -1.833521280737523e-01 -1.830982875326949e-01 -1.828445276569093e-01 -1.825908487213151e-01 -1.823372510073639e-01 + -1.820837342990139e-01 -1.818302985608840e-01 -1.815769438919524e-01 -1.813236703339543e-01 -1.810704777470943e-01 + -1.808173660274447e-01 -1.805643355946649e-01 -1.803113865319381e-01 -1.800585185867421e-01 -1.798057318207557e-01 + -1.795530263298101e-01 -1.793004021140676e-01 -1.790478589821669e-01 -1.787953969871552e-01 -1.785430165333783e-01 + -1.782907175616041e-01 -1.780384999147782e-01 -1.777863636186671e-01 -1.775343087850783e-01 -1.772823354138563e-01 + -1.770304432439544e-01 -1.767786324996124e-01 -1.765269035206169e-01 -1.762752561209628e-01 -1.760236902365481e-01 + -1.757722059508868e-01 -1.755208033072168e-01 -1.752694821962465e-01 -1.750182424985018e-01 -1.747670845873172e-01 + -1.745160085943736e-01 -1.742650142826787e-01 -1.740141016708582e-01 -1.737632708599284e-01 -1.735125219002990e-01 + -1.732618545819516e-01 -1.730112688968157e-01 -1.727607652962038e-01 -1.725103437360838e-01 -1.722600040199003e-01 + -1.720097462053399e-01 -1.717595703957765e-01 -1.715094765937824e-01 -1.712594645505801e-01 -1.710095344617568e-01 + -1.707596867053610e-01 -1.705099210652020e-01 -1.702602374503936e-01 -1.700106359820640e-01 -1.697611167032507e-01 + -1.695116795170456e-01 -1.692623242857098e-01 -1.690130513415946e-01 -1.687638608735592e-01 -1.685147526839133e-01 + -1.682657267304136e-01 -1.680167830834059e-01 -1.677679218434041e-01 -1.675191428301483e-01 -1.672704459776749e-01 + -1.670218317162355e-01 -1.667733000505553e-01 -1.665248507843929e-01 -1.662764839848620e-01 -1.660281997331086e-01 + -1.657799980211539e-01 -1.655318786421316e-01 -1.652838417439954e-01 -1.650358877061586e-01 -1.647880163635810e-01 + -1.645402275978841e-01 -1.642925215033296e-01 -1.640448981629310e-01 -1.637973575048030e-01 -1.635498993322754e-01 + -1.633025239587731e-01 -1.630552316214122e-01 -1.628080220971913e-01 -1.625608953706327e-01 -1.623138515347123e-01 + -1.620668906280902e-01 -1.618200125176413e-01 -1.615732171440627e-01 -1.613265048790783e-01 -1.610798757703294e-01 + -1.608333296326273e-01 -1.605868664946396e-01 -1.603404864451659e-01 -1.600941895233320e-01 -1.598479755194739e-01 + -1.596018445089071e-01 -1.593557968710357e-01 -1.591098325274174e-01 -1.588639513462271e-01 -1.586181533501567e-01 + -1.583724386633118e-01 -1.581268072684121e-01 -1.578812589110151e-01 -1.576357938605635e-01 -1.573904124176000e-01 + -1.571451143885420e-01 -1.568998997115455e-01 -1.566547684551118e-01 -1.564097207009810e-01 -1.561647563377750e-01 + -1.559198752534892e-01 -1.556750777971572e-01 -1.554303640753041e-01 -1.551857339241298e-01 -1.549411873472499e-01 + -1.546967244117141e-01 -1.544523451583313e-01 -1.542080493972972e-01 -1.539638371771692e-01 -1.537197089019022e-01 + -1.534756644902717e-01 -1.532317037874507e-01 -1.529878268669247e-01 -1.527440338285302e-01 -1.525003246495042e-01 + -1.522566990917994e-01 -1.520131573865194e-01 -1.517696998607227e-01 -1.515263263105132e-01 -1.512830366842278e-01 + -1.510398310896279e-01 -1.507967095609423e-01 -1.505536719818633e-01 -1.503107182379510e-01 -1.500678487166025e-01 + -1.498250635429138e-01 -1.495823624607518e-01 -1.493397455183047e-01 -1.490972128240516e-01 -1.488547643939502e-01 + -1.486124000468938e-01 -1.483701197975273e-01 -1.481279240643807e-01 -1.478858128086334e-01 -1.476437858541442e-01 + -1.474018432575297e-01 -1.471599850901578e-01 -1.469182113447434e-01 -1.466765218581870e-01 -1.464349167991909e-01 + -1.461933964691583e-01 -1.459519607332137e-01 -1.457106095126376e-01 -1.454693428712828e-01 -1.452281609001614e-01 + -1.449870635167667e-01 -1.447460505411944e-01 -1.445051223204885e-01 -1.442642790465533e-01 -1.440235204958664e-01 + -1.437828466645076e-01 -1.435422576460715e-01 -1.433017535021517e-01 -1.430613340788666e-01 -1.428209993367665e-01 + -1.425807496580667e-01 -1.423405850452980e-01 -1.421005053276286e-01 -1.418605105748216e-01 -1.416206008760722e-01 + -1.413807762310167e-01 -1.411410364179444e-01 -1.409013815814383e-01 -1.406618121114770e-01 -1.404223278620860e-01 + -1.401829287142080e-01 -1.399436147388266e-01 -1.397043860171121e-01 -1.394652424999606e-01 -1.392261840277533e-01 + -1.389872108800275e-01 -1.387483232704581e-01 -1.385095210193419e-01 -1.382708041155041e-01 -1.380321726381191e-01 + -1.377936266235328e-01 -1.375551659356028e-01 -1.373167905196480e-01 -1.370785007699294e-01 -1.368402967462084e-01 + -1.366021782602805e-01 -1.363641453151502e-01 -1.361261980034910e-01 -1.358883363925467e-01 -1.356505602730137e-01 + -1.354128697173978e-01 -1.351752651019714e-01 -1.349377463365720e-01 -1.347003133096952e-01 -1.344629660943524e-01 + -1.342257047644556e-01 -1.339885292721434e-01 -1.337514394288152e-01 -1.335144355004790e-01 -1.332775177574095e-01 + -1.330406860095451e-01 -1.328039402156265e-01 -1.325672804621033e-01 -1.323307068237664e-01 -1.320942191803451e-01 + -1.318578174250235e-01 -1.316215019436967e-01 -1.313852728254415e-01 -1.311491298574344e-01 -1.309130730812647e-01 + -1.306771025967214e-01 -1.304412184433993e-01 -1.302054204167683e-01 -1.299697085633917e-01 -1.297340833011096e-01 + -1.294985445422908e-01 -1.292630921400970e-01 -1.290277262032818e-01 -1.287924468024440e-01 -1.285572538860320e-01 + -1.283221472565841e-01 -1.280871271607027e-01 -1.278521939245786e-01 -1.276173473594251e-01 -1.273825873815436e-01 + -1.271479140654554e-01 -1.269133275291332e-01 -1.266788276689478e-01 -1.264444143112885e-01 -1.262100878411512e-01 + -1.259758484249543e-01 -1.257416958580221e-01 -1.255076301118343e-01 -1.252736512740011e-01 -1.250397594556589e-01 + -1.248059544551782e-01 -1.245722362561283e-01 -1.243386053032582e-01 -1.241050615437150e-01 -1.238716047916152e-01 + -1.236382351439431e-01 -1.234049527007845e-01 -1.231717574487822e-01 -1.229386491649988e-01 -1.227056280466961e-01 + -1.224726944551588e-01 -1.222398481939305e-01 -1.220070891810755e-01 -1.217744175349468e-01 -1.215418333321439e-01 + -1.213093364896874e-01 -1.210769268543440e-01 -1.208446047468073e-01 -1.206123703546746e-01 -1.203802234985189e-01 + -1.201481641556592e-01 -1.199161924040098e-01 -1.196843083373426e-01 -1.194525118101599e-01 -1.192208027778711e-01 + -1.189891816158967e-01 -1.187576483334740e-01 -1.185262027772708e-01 -1.182948450325541e-01 -1.180635751718018e-01 + -1.178323931740712e-01 -1.176012988598141e-01 -1.173702923768903e-01 -1.171393740841554e-01 -1.169085438684581e-01 + -1.166778016318426e-01 -1.164471474323627e-01 -1.162165813372163e-01 -1.159861033094216e-01 -1.157557132288848e-01 + -1.155254113554128e-01 -1.152951978878259e-01 -1.150650726784410e-01 -1.148350356935617e-01 -1.146050869998271e-01 + -1.143752266983624e-01 -1.141454546633286e-01 -1.139157708150553e-01 -1.136861755297615e-01 -1.134566688685596e-01 + -1.132272506625232e-01 -1.129979209389772e-01 -1.127686797968139e-01 -1.125395272939830e-01 -1.123104632216639e-01 + -1.120814876598629e-01 -1.118526009932446e-01 -1.116238031362107e-01 -1.113950939743172e-01 -1.111664735714766e-01 + -1.109379420230661e-01 -1.107094992989161e-01 -1.104811452047023e-01 -1.102528800189790e-01 -1.100247040176238e-01 + -1.097966169898620e-01 -1.095686189066022e-01 -1.093407098806465e-01 -1.091128899944971e-01 -1.088851591239916e-01 + -1.086575171512236e-01 -1.084299644451029e-01 -1.082025011238454e-01 -1.079751270251657e-01 -1.077478421434466e-01 + -1.075206465724022e-01 -1.072935404061887e-01 -1.070665234272605e-01 -1.068395956686409e-01 -1.066127575621145e-01 + -1.063860090403522e-01 -1.061593499609373e-01 -1.059327804074918e-01 -1.057063004552603e-01 -1.054799100848440e-01 + -1.052536091459819e-01 -1.050273978363624e-01 -1.048012764247322e-01 -1.045752447992682e-01 -1.043493029044653e-01 + -1.041234507912105e-01 -1.038976885616201e-01 -1.036720161437409e-01 -1.034464334142674e-01 -1.032209407082870e-01 + -1.029955381585720e-01 -1.027702255852857e-01 -1.025450030256683e-01 -1.023198705766582e-01 -1.020948282803886e-01 + -1.018698759615270e-01 -1.016450136357437e-01 -1.014202417243671e-01 -1.011955602054591e-01 -1.009709689162001e-01 + -1.007464679013254e-01 -1.005220572777319e-01 -1.002977370772110e-01 -1.000735070732387e-01 -9.984936745539402e-02 + -9.962531858349888e-02 -9.940136027998529e-02 -9.917749246814733e-02 -9.895371525770333e-02 -9.873002873335845e-02 + -9.850643282337790e-02 -9.828292738770521e-02 -9.805951276903688e-02 -9.783618914357473e-02 -9.761295629040607e-02 + -9.738981424317925e-02 -9.716676311420755e-02 -9.694380293900719e-02 -9.672093359332221e-02 -9.649815506782670e-02 + -9.627546771326484e-02 -9.605287156919239e-02 -9.583036651098850e-02 -9.560795255252680e-02 -9.538562978098189e-02 + -9.516339824129488e-02 -9.494125774199282e-02 -9.471920843970391e-02 -9.449725071216948e-02 -9.427538438593883e-02 + -9.405360936874554e-02 -9.383192580278800e-02 -9.361033376064058e-02 -9.338883317577901e-02 -9.316742389906425e-02 + -9.294610622995669e-02 -9.272488039403920e-02 -9.250374621386263e-02 -9.228270367992475e-02 -9.206175287916113e-02 + -9.184089387273792e-02 -9.162012656935895e-02 -9.139945093572596e-02 -9.117886729658348e-02 -9.095837571294788e-02 + -9.073797605928635e-02 -9.051766837713708e-02 -9.029745274779008e-02 -9.007732920697027e-02 -8.985729759887780e-02 + -8.963735802530043e-02 -8.941751083887589e-02 -8.919775594907166e-02 -8.897809325953572e-02 -8.875852286193828e-02 + -8.853904483959285e-02 -8.831965916578795e-02 -8.810036569419880e-02 -8.788116467295366e-02 -8.766205635082600e-02 + -8.744304058057480e-02 -8.722411733824492e-02 -8.700528670561582e-02 -8.678654875532379e-02 -8.656790339361393e-02 + -8.634935054757228e-02 -8.613089058374623e-02 -8.591252359970507e-02 -8.569424942256174e-02 -8.547606809595372e-02 + -8.525797972327777e-02 -8.503998436304407e-02 -8.482208183975883e-02 -8.460427219735964e-02 -8.438655581333676e-02 + -8.416893266387415e-02 -8.395140264416648e-02 -8.373396580036768e-02 -8.351662221748458e-02 -8.329937190808817e-02 + -8.308221474187347e-02 -8.286515089972675e-02 -8.264818063381729e-02 -8.243130387381740e-02 -8.221452057360500e-02 + -8.199783077068876e-02 -8.178123458056528e-02 -8.156473193866548e-02 -8.134832272179610e-02 -8.113200727104515e-02 + -8.091578573554094e-02 -8.069965795549490e-02 -8.048362394306618e-02 -8.026768379237301e-02 -8.005183759034226e-02 + -7.983608519016389e-02 -7.962042660317335e-02 -7.940486220827629e-02 -7.918939199917317e-02 -7.897401585103307e-02 + -7.875873382193239e-02 -7.854354599947752e-02 -7.832845240531904e-02 -7.811345290511561e-02 -7.789854765910142e-02 + -7.768373695009409e-02 -7.746902070156129e-02 -7.725439886068521e-02 -7.703987147751143e-02 -7.682543865920169e-02 + -7.661110037032860e-02 -7.639685648697914e-02 -7.618270730319152e-02 -7.596865299784139e-02 -7.575469343456721e-02 + -7.554082861289950e-02 -7.532705861915691e-02 -7.511338355056779e-02 -7.489980327273796e-02 -7.468631776375068e-02 + -7.447292742489155e-02 -7.425963225373161e-02 -7.404643208981297e-02 -7.383332706618533e-02 -7.362031725942129e-02 + -7.340740264369265e-02 -7.319458312424655e-02 -7.298185885257603e-02 -7.276923011698885e-02 -7.255669681825400e-02 + -7.234425890125808e-02 -7.213191646645117e-02 -7.191966959969415e-02 -7.170751827394115e-02 -7.149546237742448e-02 + -7.128350216363183e-02 -7.107163782537941e-02 -7.085986923051370e-02 -7.064819639413342e-02 -7.043661941815849e-02 + -7.022513838389523e-02 -7.001375316964638e-02 -6.980246372359999e-02 -6.959127044971054e-02 -6.938017339783993e-02 + -6.916917238807876e-02 -6.895826751099868e-02 -6.874745887832359e-02 -6.853674652264935e-02 -6.832613029387129e-02 + -6.811561029537151e-02 -6.790518687416305e-02 -6.769485994872884e-02 -6.748462944761908e-02 -6.727449549181348e-02 + -6.706445814195625e-02 -6.685451736224034e-02 -6.664467305023641e-02 -6.643492546019260e-02 -6.622527482862205e-02 + -6.601572100856345e-02 -6.580626400049541e-02 -6.559690390732385e-02 -6.538764078471235e-02 -6.517847455920224e-02 + -6.496940519404462e-02 -6.476043303620643e-02 -6.455155816426872e-02 -6.434278041275177e-02 -6.413409988235154e-02 + -6.392551667227454e-02 -6.371703078482928e-02 -6.350864213121965e-02 -6.330035079826633e-02 -6.309215709125325e-02 + -6.288406097171770e-02 -6.267606236590158e-02 -6.246816137578116e-02 -6.226035810132791e-02 -6.205265253482506e-02 + -6.184504450634240e-02 -6.163753424009603e-02 -6.143012204113525e-02 -6.122280779495761e-02 -6.101559145710207e-02 + -6.080847310111580e-02 -6.060145284620669e-02 -6.039453063876327e-02 -6.018770637541451e-02 -5.998098039534337e-02 + -5.977435284136760e-02 -5.956782355675167e-02 -5.936139258218223e-02 -5.915506002510895e-02 -5.894882595975996e-02 + -5.874269025717062e-02 -5.853665294379332e-02 -5.833071438748900e-02 -5.812487459491447e-02 -5.791913345983549e-02 + -5.771349104248068e-02 -5.750794745476003e-02 -5.730250273990040e-02 -5.709715674449271e-02 -5.689190963313420e-02 + -5.668676170442684e-02 -5.648171287301057e-02 -5.627676311138611e-02 -5.607191251359627e-02 -5.586716116856662e-02 + -5.566250902085241e-02 -5.545795595276776e-02 -5.525350230977423e-02 -5.504914828197500e-02 -5.484489368806074e-02 + -5.464073856561743e-02 -5.443668303623681e-02 -5.423272717677420e-02 -5.402887087270093e-02 -5.382511411736842e-02 + -5.362145727556954e-02 -5.341790037997223e-02 -5.321444331788154e-02 -5.301108618236487e-02 -5.280782907094528e-02 + -5.260467200594416e-02 -5.240161485390568e-02 -5.219865776343095e-02 -5.199580105954085e-02 -5.179304465507040e-02 + -5.159038850941820e-02 -5.138783273765680e-02 -5.118537740030552e-02 -5.098302246878324e-02 -5.078076787428482e-02 + -5.057861387937131e-02 -5.037656068404879e-02 -5.017460818262723e-02 -4.997275637519877e-02 -4.977100534878579e-02 + -4.956935521374012e-02 -4.936780587637167e-02 -4.916635729330274e-02 -4.896500983679772e-02 -4.876376358063662e-02 + -4.856261839799727e-02 -4.836157437280066e-02 -4.816063160553166e-02 -4.795979012910388e-02 -4.775904981223175e-02 + -4.755841077230219e-02 -4.735787336181510e-02 -4.715743752596301e-02 -4.695710319390285e-02 -4.675687045398216e-02 + -4.655673941737810e-02 -4.635671009364274e-02 -4.615678236145827e-02 -4.595695644691457e-02 -4.575723258610617e-02 + -4.555761069075770e-02 -4.535809077212207e-02 -4.515867291944397e-02 -4.495935719937229e-02 -4.476014355843901e-02 + -4.456103197632578e-02 -4.436202279051898e-02 -4.416311608901573e-02 -4.396431172960501e-02 -4.376560979706327e-02 + -4.356701040970479e-02 -4.336851362154585e-02 -4.317011930970618e-02 -4.297182755295056e-02 -4.277363871130811e-02 + -4.257555275870079e-02 -4.237756961321195e-02 -4.217968936488893e-02 -4.198191211978222e-02 -4.178423789759614e-02 + -4.158666657665847e-02 -4.138919837391426e-02 -4.119183356383482e-02 -4.099457203865310e-02 -4.079741379048268e-02 + -4.060035892668235e-02 -4.040340754077800e-02 -4.020655958670875e-02 -4.000981499812348e-02 -3.981317410229721e-02 + -3.961663704352115e-02 -3.942020369405195e-02 -3.922387410519079e-02 -3.902764838570288e-02 -3.883152661169272e-02 + -3.863550868276464e-02 -3.843959464464100e-02 -3.824378485096525e-02 -3.804807931112070e-02 -3.785247793879744e-02 + -3.765698082240899e-02 -3.746158806803077e-02 -3.726629970906549e-02 -3.707111562537097e-02 -3.687603600301111e-02 + -3.668106114329449e-02 -3.648619095542227e-02 -3.629142541706046e-02 -3.609676463615045e-02 -3.590220871216067e-02 + -3.570775761915167e-02 -3.551341127587861e-02 -3.531916998478909e-02 -3.512503392646860e-02 -3.493100298239093e-02 + -3.473707719308593e-02 -3.454325666569649e-02 -3.434954148093054e-02 -3.415593156072503e-02 -3.396242692622412e-02 + -3.376902792182854e-02 -3.357573459185429e-02 -3.338254684613227e-02 -3.318946476737597e-02 -3.299648846264201e-02 + -3.280361798076661e-02 -3.261085320981364e-02 -3.241819429994710e-02 -3.222564156785773e-02 -3.203319495411584e-02 + -3.184085442350271e-02 -3.164862007407277e-02 -3.145649201602077e-02 -3.126447024597763e-02 -3.107255466700169e-02 + -3.088074555671056e-02 -3.068904313085425e-02 -3.049744727803826e-02 -3.030595802638682e-02 -3.011457548570120e-02 + -2.992329974875160e-02 -2.973213075050443e-02 -2.954106848293515e-02 -2.935011329195715e-02 -2.915926525661732e-02 + -2.896852427673346e-02 -2.877789042941862e-02 -2.858736382466336e-02 -2.839694452567641e-02 -2.820663243092813e-02 + -2.801642765839682e-02 -2.782633053619610e-02 -2.763634102981755e-02 -2.744645909471058e-02 -2.725668483048721e-02 + -2.706701834793413e-02 -2.687745966148872e-02 -2.668800867127078e-02 -2.649866562411629e-02 -2.630943076513501e-02 + -2.612030399888650e-02 -2.593128533989631e-02 -2.574237489560391e-02 -2.555357276907920e-02 -2.536487891525730e-02 + -2.517629330290238e-02 -2.498781626631630e-02 -2.479944791947400e-02 -2.461118815951395e-02 -2.442303705775731e-02 + -2.423499472682666e-02 -2.404706124098910e-02 -2.385923651050157e-02 -2.367152062237768e-02 -2.348391391197065e-02 + -2.329641637680258e-02 -2.310902796361102e-02 -2.292174876507744e-02 -2.273457889435020e-02 -2.254751838574287e-02 + -2.236056713942959e-02 -2.217372537079298e-02 -2.198699334983061e-02 -2.180037099746794e-02 -2.161385831877313e-02 + -2.142745542221016e-02 -2.124116241611923e-02 -2.105497927356034e-02 -2.086890594375282e-02 -2.068294274565517e-02 + -2.049708982965088e-02 -2.031134709508492e-02 -2.012571460207244e-02 -1.994019246558534e-02 -1.975478077426674e-02 + -1.956947944878238e-02 -1.938428854559868e-02 -1.919920840769478e-02 -1.901423906121075e-02 -1.882938044349050e-02 + -1.864463264867233e-02 -1.845999578941159e-02 -1.827546991282947e-02 -1.809105492490821e-02 -1.790675101318496e-02 + -1.772255847013706e-02 -1.753847723077995e-02 -1.735450728912205e-02 -1.717064875577919e-02 -1.698690174123156e-02 + -1.680326624034783e-02 -1.661974219495428e-02 -1.643632989539235e-02 -1.625302952284425e-02 -1.606984099009794e-02 + -1.588676434582367e-02 -1.570379970237604e-02 -1.552094715767664e-02 -1.533820665109939e-02 -1.515557821470722e-02 + -1.497306218983010e-02 -1.479065863118324e-02 -1.460836746737021e-02 -1.442618879376636e-02 -1.424412272699600e-02 + -1.406216932715821e-02 -1.388032850365394e-02 -1.369860041414062e-02 -1.351698537084881e-02 -1.333548332713773e-02 + -1.315409426742165e-02 -1.297281830737383e-02 -1.279165555870565e-02 -1.261060603011550e-02 -1.242966965324022e-02 + -1.224884670128487e-02 -1.206813738892206e-02 -1.188754163203305e-02 -1.170705946859269e-02 -1.152669101347058e-02 + -1.134643637569507e-02 -1.116629550991553e-02 -1.098626842139487e-02 -1.080635544822676e-02 -1.062655668128806e-02 + -1.044687204494093e-02 -1.026730162280993e-02 -1.008784553433474e-02 -9.908503858526582e-03 -9.729276511698201e-03 + -9.550163618928804e-03 -9.371165505355611e-03 -9.192282154920128e-03 -9.013513542246960e-03 -8.834859775588668e-03 + -8.656320970291077e-03 -8.477897155130903e-03 -8.299588259899083e-03 -8.121394531144674e-03 -7.943316209259341e-03 + -7.765353219198069e-03 -7.587505591333328e-03 -7.409773443860054e-03 -7.232156891183837e-03 -7.054655906230881e-03 + -6.877270474033493e-03 -6.700000921715352e-03 -6.522847372218281e-03 -6.345809748257097e-03 -6.168888131399519e-03 + -5.992082642122597e-03 -5.815393366379400e-03 -5.638820235869921e-03 -5.462363348533388e-03 -5.286023033805962e-03 + -5.109799304673499e-03 -4.933692127821829e-03 -4.757701606393674e-03 -4.581827861470766e-03 -4.406070940931505e-03 + -4.230430770274698e-03 -4.054907567997104e-03 -3.879501600335772e-03 -3.704212807069328e-03 -3.529041210474627e-03 + -3.353986930090703e-03 -3.179050081041732e-03 -3.004230655593028e-03 -2.829528626659512e-03 -2.654944304289923e-03 + -2.480477843039907e-03 -2.306129168890747e-03 -2.131898354626704e-03 -1.957785522367332e-03 -1.783790769612464e-03 + -1.609914041309663e-03 -1.436155409326836e-03 -1.262515208025358e-03 -1.088993476198761e-03 -9.155901719868249e-04 + -7.423054008843995e-04 -5.691392854771952e-04 -3.960918865957833e-04 -2.231631331613931e-04 -5.035321608514060e-05 + 1.223375771945329e-04 2.949092895407656e-04 4.673619084872533e-04 6.396953140537370e-04 8.119093865188150e-04 + 9.840041155727759e-04 1.155979539871523e-03 1.327835367602612e-03 1.499571413663267e-03 1.671187748049661e-03 + 1.842684305331169e-03 2.014060960896812e-03 2.185317608856639e-03 2.356454289147141e-03 2.527470954200780e-03 + 2.698367270832486e-03 2.869143169831049e-03 3.039798698561594e-03 3.210333755176400e-03 3.380748214685887e-03 + 3.551042001872539e-03 3.721215182132198e-03 3.891267592694254e-03 4.061198929412137e-03 4.231009214636464e-03 + 4.400698444839332e-03 4.570266499650065e-03 4.739713256426893e-03 4.909038688279234e-03 5.078242841339914e-03 + 5.247325443294046e-03 5.416286280121805e-03 5.585125417934797e-03 5.753842797319914e-03 5.922438289361948e-03 + 6.090911784292105e-03 6.259263304936011e-03 6.427492823105761e-03 6.595600012759487e-03 6.763584774419725e-03 + 6.931447157908777e-03 7.099187064683324e-03 7.266804368739545e-03 7.434298984071849e-03 7.601670964899477e-03 + 7.768920175905106e-03 7.936046303989365e-03 8.103049345026314e-03 8.269929303195386e-03 8.436686062480435e-03 + 8.603319496825714e-03 8.769829559891583e-03 8.936216298209541e-03 9.102479469308070e-03 9.268618835503980e-03 + 9.434634442417017e-03 9.600526244002849e-03 9.766294116521254e-03 9.931937936947469e-03 1.009745771049027e-02 + 1.026285342997890e-02 1.042812477681206e-02 1.059327162144324e-02 1.075829401681754e-02 1.092319186819127e-02 + 1.108796504594824e-02 1.125261345370748e-02 1.141713713772357e-02 1.158153598704318e-02 1.174580967555363e-02 + 1.190995817803677e-02 1.207398151021485e-02 1.223787955540131e-02 1.240165218070774e-02 1.256529932365555e-02 + 1.272882103806231e-02 1.289221710280211e-02 1.305548725320952e-02 1.321863152957668e-02 1.338164989105289e-02 + 1.354454220587777e-02 1.370730835288826e-02 1.386994832163190e-02 1.403246211588375e-02 1.419484943187744e-02 + 1.435711010999991e-02 1.451924419921884e-02 1.468125161270911e-02 1.484313222013652e-02 1.500488591571896e-02 + 1.516651273046586e-02 1.532801257754355e-02 1.548938513124086e-02 1.565063033579857e-02 1.581174821092933e-02 + 1.597273864701365e-02 1.613360150922888e-02 1.629433671764488e-02 1.645494432276120e-02 1.661542413184349e-02 + 1.677577586209575e-02 1.693599953321696e-02 1.709609511287956e-02 1.725606247097126e-02 1.741590148147653e-02 + 1.757561211738663e-02 1.773519439308624e-02 1.789464801957598e-02 1.805397280960725e-02 1.821316881163111e-02 + 1.837223594327105e-02 1.853117406905512e-02 1.868998307594014e-02 1.884866298214414e-02 1.900721372338833e-02 + 1.916563497459167e-02 1.932392665507269e-02 1.948208878919649e-02 1.964012126059438e-02 1.979802393750615e-02 + 1.995579673545799e-02 2.011343968946751e-02 2.027095263124555e-02 2.042833526879373e-02 2.058558759933038e-02 + 2.074270959919291e-02 2.089970114286997e-02 2.105656209513535e-02 2.121329241031374e-02 2.136989211400533e-02 + 2.152636093833320e-02 2.168269866776463e-02 2.183890534086288e-02 2.199498088647827e-02 2.215092516911965e-02 + 2.230673806408907e-02 2.246241957468516e-02 2.261796965793072e-02 2.277338799181243e-02 2.292867446749406e-02 + 2.308382911412376e-02 2.323885181888266e-02 2.339374244699652e-02 2.354850090287507e-02 2.370312721409915e-02 + 2.385762123470989e-02 2.401198266010886e-02 2.416621147301771e-02 2.432030765671687e-02 2.447427107682733e-02 + 2.462810160176357e-02 2.478179917471193e-02 2.493536381795363e-02 2.508879528739230e-02 2.524209334527653e-02 + 2.539525801488748e-02 2.554828923354157e-02 2.570118686847216e-02 2.585395079171064e-02 2.600658098606827e-02 + 2.615907742012537e-02 2.631143978762620e-02 2.646366795301069e-02 2.661576194257877e-02 2.676772164859378e-02 + 2.691954693391293e-02 2.707123769272043e-02 2.722279394328245e-02 2.737421556407061e-02 2.752550224474631e-02 + 2.767665393933695e-02 2.782767063812680e-02 2.797855221700411e-02 2.812929853552858e-02 2.827990951702357e-02 + 2.843038519104858e-02 2.858072533585580e-02 2.873092969062032e-02 2.888099827101270e-02 2.903093101911967e-02 + 2.918072779556083e-02 2.933038847140823e-02 2.947991301658642e-02 2.962930141213865e-02 2.977855336278226e-02 + 2.992766870509821e-02 3.007664746318324e-02 3.022548953626840e-02 3.037419478553557e-02 3.052276309616091e-02 + 3.067119447416764e-02 3.081948881896879e-02 3.096764581778017e-02 3.111566540198458e-02 3.126354756710210e-02 + 3.141129218718559e-02 3.155889912410548e-02 3.170636829125183e-02 3.185369970791438e-02 3.200089317518744e-02 + 3.214794841776677e-02 3.229486543634106e-02 3.244164418203412e-02 3.258828451581320e-02 3.273478630264194e-02 + 3.288114949586567e-02 3.302737408530167e-02 3.317345979235018e-02 3.331940642975919e-02 3.346521401820098e-02 + 3.361088246101045e-02 3.375641161607764e-02 3.390180136352038e-02 3.404705169548587e-02 3.419216253016829e-02 + 3.433713355905806e-02 3.448196468652563e-02 3.462665590981111e-02 3.477120710939272e-02 3.491561814527116e-02 + 3.505988891618091e-02 3.520401943397326e-02 3.534800952666442e-02 3.549185891051008e-02 3.563556756111654e-02 + 3.577913543618631e-02 3.592256240340591e-02 3.606584831947614e-02 3.620899312153205e-02 3.635199681091714e-02 + 3.649485912620978e-02 3.663757985375464e-02 3.678015900636063e-02 3.692259649832257e-02 3.706489218607827e-02 + 3.720704593508108e-02 3.734905772908955e-02 3.749092751022131e-02 3.763265496742431e-02 3.777423997951684e-02 + 3.791568254953915e-02 3.805698256030369e-02 3.819813986869797e-02 3.833915436267914e-02 3.848002605018682e-02 + 3.862075477984065e-02 3.876134025391093e-02 3.890178243600422e-02 3.904208129158644e-02 3.918223668100989e-02 + 3.932224846044379e-02 3.946211655605483e-02 3.960184097189857e-02 3.974142146457355e-02 3.988085779819951e-02 + 4.002014997942075e-02 4.015929792921669e-02 4.029830150192959e-02 4.043716055991190e-02 4.057587507004282e-02 + 4.071444498657769e-02 4.085287001066611e-02 4.099114999824743e-02 4.112928495212512e-02 4.126727475679569e-02 + 4.140511926665246e-02 4.154281836167219e-02 4.168037204269245e-02 4.181778018003033e-02 4.195504246778908e-02 + 4.209215884913708e-02 4.222912929605258e-02 4.236595366776428e-02 4.250263182248033e-02 4.263916367566677e-02 + 4.277554922465009e-02 4.291178824859961e-02 4.304788049654025e-02 4.318382596138427e-02 4.331962457087349e-02 + 4.345527617981602e-02 4.359078064797250e-02 4.372613792550029e-02 4.386134797486977e-02 4.399641051415262e-02 + 4.413132537776133e-02 4.426609256403441e-02 4.440071196061698e-02 4.453518342174363e-02 4.466950682320869e-02 + 4.480368214879805e-02 4.493770928728694e-02 4.507158793990715e-02 4.520531802497359e-02 4.533889951667943e-02 + 4.547233228082954e-02 4.560561616979211e-02 4.573875108353129e-02 4.587173702317195e-02 4.600457379177124e-02 + 4.613726112101928e-02 4.626979898466685e-02 4.640218731770854e-02 4.653442597807410e-02 4.666651481740990e-02 + 4.679845378497393e-02 4.693024287357150e-02 4.706188178521280e-02 4.719337030512012e-02 4.732470843170088e-02 + 4.745589609974604e-02 4.758693317708736e-02 4.771781949014568e-02 4.784855500276729e-02 4.797913963655120e-02 + 4.810957311625792e-02 4.823985532440599e-02 4.836998622519359e-02 4.849996572088229e-02 4.862979364778694e-02 + 4.875946986129576e-02 4.888899438454671e-02 4.901836703838853e-02 4.914758752328308e-02 4.927665585368439e-02 + 4.940557196434897e-02 4.953433564666962e-02 4.966294680168561e-02 4.979140536998770e-02 4.991971127467005e-02 + 5.004786430086550e-02 5.017586426593462e-02 5.030371111424699e-02 5.043140473941395e-02 5.055894500969876e-02 + 5.068633180855401e-02 5.081356509387767e-02 5.094064477169723e-02 5.106757053524139e-02 5.119434226596677e-02 + 5.132095996453229e-02 5.144742351517578e-02 5.157373274644007e-02 5.169988750799723e-02 5.182588783131492e-02 + 5.195173357105356e-02 5.207742440366903e-02 5.220296027189056e-02 5.232834113948501e-02 5.245356688434039e-02 + 5.257863735375337e-02 5.270355244318054e-02 5.282831211610928e-02 5.295291615700908e-02 5.307736435753736e-02 + 5.320165668494783e-02 5.332579302368824e-02 5.344977322479061e-02 5.357359720391287e-02 5.369726488407797e-02 + 5.382077614890905e-02 5.394413077320572e-02 5.406732861255047e-02 5.419036960275756e-02 5.431325364836510e-02 + 5.443598061485443e-02 5.455855035736775e-02 5.468096283548277e-02 5.480321791614200e-02 5.492531533836561e-02 + 5.504725504027442e-02 5.516903696522249e-02 5.529066094250196e-02 5.541212681912044e-02 5.553343451105355e-02 + 5.565458402054679e-02 5.577557512714444e-02 5.589640757833542e-02 5.601708136214176e-02 5.613759637012277e-02 + 5.625795242697428e-02 5.637814944133901e-02 5.649818735356010e-02 5.661806606948155e-02 5.673778531909066e-02 + 5.685734496106067e-02 5.697674499811992e-02 5.709598525886500e-02 5.721506557962035e-02 5.733398588420521e-02 + 5.745274613557275e-02 5.757134619305772e-02 5.768978576165893e-02 5.780806477237931e-02 5.792618319490116e-02 + 5.804414085654030e-02 5.816193759992416e-02 5.827957333255503e-02 5.839704805764100e-02 5.851436157058919e-02 + 5.863151359019340e-02 5.874850407742044e-02 5.886533297606138e-02 5.898200016057164e-02 5.909850545490182e-02 + 5.921484876799358e-02 5.933103006596772e-02 5.944704910278828e-02 5.956290569090495e-02 5.967859979076014e-02 + 5.979413129454921e-02 5.990950006107775e-02 6.002470595625681e-02 6.013974894676900e-02 6.025462892974234e-02 + 6.036934559538653e-02 6.048389882575328e-02 6.059828859366181e-02 6.071251478747773e-02 6.082657726499330e-02 + 6.094047589468096e-02 6.105421060960093e-02 6.116778124880510e-02 6.128118760026364e-02 6.139442960439424e-02 + 6.150750715787331e-02 6.162042008748835e-02 6.173316829355946e-02 6.184575170612789e-02 6.195817023946892e-02 + 6.207042366308074e-02 6.218251178412997e-02 6.229443455021107e-02 6.240619187345142e-02 6.251778362644587e-02 + 6.262920965673664e-02 6.274046989094115e-02 6.285156423838029e-02 6.296249246083868e-02 6.307325441937692e-02 + 6.318385004239983e-02 6.329427920287174e-02 6.340454177652059e-02 6.351463766120390e-02 6.362456678994362e-02 + 6.373432899407734e-02 6.384392402667542e-02 6.395335181995393e-02 6.406261231361865e-02 6.417170537725830e-02 + 6.428063082883417e-02 6.438938856382127e-02 6.449797859582693e-02 6.460640069400744e-02 6.471465460887021e-02 + 6.482274028565467e-02 6.493065766530991e-02 6.503840663024645e-02 6.514598697176463e-02 6.525339863731919e-02 + 6.536064160053869e-02 6.546771556229376e-02 6.557462036169828e-02 6.568135597564134e-02 6.578792228094754e-02 + 6.589431913461476e-02 6.600054641494822e-02 6.610660407274732e-02 6.621249195669229e-02 6.631820979208959e-02 + 6.642375751800587e-02 6.652913508526218e-02 6.663434233390064e-02 6.673937912206085e-02 6.684424535139094e-02 + 6.694894096694531e-02 6.705346576057515e-02 6.715781952052316e-02 6.726200223606826e-02 6.736601378290344e-02 + 6.746985396850236e-02 6.757352270136854e-02 6.767701992273348e-02 6.778034554033589e-02 6.788349929667206e-02 + 6.798648102682574e-02 6.808929069330329e-02 6.819192820375723e-02 6.829439341428477e-02 6.839668615716293e-02 + 6.849880637697058e-02 6.860075397106770e-02 6.870252870886938e-02 6.880413046413429e-02 6.890555915577500e-02 + 6.900681468090485e-02 6.910789689150486e-02 6.920880565820778e-02 6.930954094436353e-02 6.941010257623929e-02 + 6.951049032497619e-02 6.961070411466443e-02 6.971074386483528e-02 6.981060945693285e-02 6.991030074013053e-02 + 7.000981760721879e-02 7.010915998226322e-02 7.020832768385020e-02 7.030732053981503e-02 7.040613843777971e-02 + 7.050478130476578e-02 7.060324902125202e-02 7.070154139632766e-02 7.079965841104072e-02 7.089759998592053e-02 + 7.099536579014293e-02 7.109295574922263e-02 7.119036986301433e-02 7.128760792254588e-02 7.138466979343019e-02 + 7.148155540894172e-02 7.157826467726322e-02 7.167479742578257e-02 7.177115345207208e-02 7.186733268619028e-02 + 7.196333504975572e-02 7.205916041090092e-02 7.215480858692887e-02 7.225027948023270e-02 7.234557308374470e-02 + 7.244068916926014e-02 7.253562753252076e-02 7.263038813284139e-02 7.272497087062332e-02 7.281937559790036e-02 + 7.291360215228662e-02 7.300765049821943e-02 7.310152057265214e-02 7.319521208383468e-02 7.328872490709243e-02 + 7.338205901635925e-02 7.347521425841259e-02 7.356819049091311e-02 7.366098761637971e-02 7.375360558736099e-02 + 7.384604424623381e-02 7.393830334347133e-02 7.403038279875497e-02 7.412228254437477e-02 7.421400245985316e-02 + 7.430554241104276e-02 7.439690229021774e-02 7.448808202204141e-02 7.457908141717452e-02 7.466990029970315e-02 + 7.476053861745356e-02 7.485099625058683e-02 7.494127304678436e-02 7.503136889191833e-02 7.512128371784581e-02 + 7.521101743547498e-02 7.530056981436373e-02 7.538994071268737e-02 7.547913007544443e-02 7.556813780083994e-02 + 7.565696374971752e-02 7.574560777501017e-02 7.583406981695588e-02 7.592234975180168e-02 7.601044736291800e-02 + 7.609836256769248e-02 7.618609528331391e-02 7.627364535037680e-02 7.636101265407126e-02 7.644819711937149e-02 + 7.653519868718589e-02 7.662201715447789e-02 7.670865230880411e-02 7.679510411035856e-02 7.688137246970578e-02 + 7.696745724207896e-02 7.705335828035317e-02 7.713907552614908e-02 7.722460893765626e-02 7.730995825366380e-02 + 7.739512330293280e-02 7.748010405365591e-02 7.756490042829636e-02 7.764951228919105e-02 7.773393946198498e-02 + 7.781818189157449e-02 7.790223948237281e-02 7.798611201876808e-02 7.806979939436651e-02 7.815330154059554e-02 + 7.823661834982702e-02 7.831974966729814e-02 7.840269536418043e-02 7.848545542109749e-02 7.856802968700778e-02 + 7.865041794492959e-02 7.873262009221961e-02 7.881463606524114e-02 7.889646578364969e-02 7.897810905385311e-02 + 7.905956578813299e-02 7.914083598393755e-02 7.922191938944982e-02 7.930281582198326e-02 7.938352526916173e-02 + 7.946404763288464e-02 7.954438277705837e-02 7.962453057021987e-02 7.970449093695484e-02 7.978426377009373e-02 + 7.986384886265184e-02 7.994324611178145e-02 8.002245546069972e-02 8.010147680163558e-02 8.018030998339011e-02 + 8.025895486859348e-02 8.033741142939121e-02 8.041567953647351e-02 8.049375898816008e-02 8.057164970191152e-02 + 8.064935159117341e-02 8.072686453538828e-02 8.080418841559016e-02 8.088132313650849e-02 8.095826861741187e-02 + 8.103502469212946e-02 8.111159121525567e-02 8.118796811657426e-02 8.126415526945288e-02 8.134015254787534e-02 + 8.141595988122388e-02 8.149157718184835e-02 8.156700432424771e-02 8.164224113093393e-02 8.171728750211138e-02 + 8.179214337283539e-02 8.186680860558979e-02 8.194128308109257e-02 8.201556671181809e-02 8.208965942384167e-02 + 8.216356107347705e-02 8.223727146913333e-02 8.231079055026533e-02 8.238411825286719e-02 8.245725445426123e-02 + 8.253019901019013e-02 8.260295182089074e-02 8.267551284923887e-02 8.274788192985057e-02 8.282005889192648e-02 + 8.289204367192234e-02 8.296383619751495e-02 8.303543635380874e-02 8.310684396376640e-02 8.317805898151856e-02 + 8.324908138250064e-02 8.331991092178788e-02 8.339054746670159e-02 8.346099098907200e-02 8.353124136246602e-02 + 8.360129848004999e-02 8.367116227251760e-02 8.374083263302687e-02 8.381030943134427e-02 8.387959252741883e-02 + 8.394868181167527e-02 8.401757720093640e-02 8.408627862550171e-02 8.415478594369409e-02 8.422309904154775e-02 + 8.429121790707177e-02 8.435914237533512e-02 8.442687225429805e-02 8.449440750560887e-02 8.456174803803686e-02 + 8.462889372267089e-02 8.469584447602406e-02 8.476260023136410e-02 8.482916090148240e-02 8.489552630009754e-02 + 8.496169630228255e-02 8.502767086164854e-02 8.509344988672647e-02 8.515903326018803e-02 8.522442086136313e-02 + 8.528961263471936e-02 8.535460848680074e-02 8.541940824041729e-02 8.548401181612168e-02 8.554841915131453e-02 + 8.561263012321893e-02 8.567664461211427e-02 8.574046253447680e-02 8.580408386832587e-02 8.586750845589863e-02 + 8.593073610333024e-02 8.599376680387132e-02 8.605660047760594e-02 8.611923696874126e-02 8.618167618396408e-02 + 8.624391807608472e-02 8.630596259724549e-02 8.636780954833972e-02 8.642945878839840e-02 8.649091029427977e-02 + 8.655216396695875e-02 8.661321970043215e-02 8.667407742210617e-02 8.673473702989365e-02 8.679519841504303e-02 + 8.685546148336530e-02 8.691552612855238e-02 8.697539224666265e-02 8.703505975750943e-02 8.709452857692032e-02 + 8.715379861893667e-02 8.721286980508075e-02 8.727174201224434e-02 8.733041510377958e-02 8.738888903629666e-02 + 8.744716372671989e-02 8.750523904187274e-02 8.756311491392924e-02 8.762079127795709e-02 8.767826803995526e-02 + 8.773554506310657e-02 8.779262223690780e-02 8.784949951260017e-02 8.790617682173207e-02 8.796265406226209e-02 + 8.801893109931651e-02 8.807500788687952e-02 8.813088437660771e-02 8.818656039674132e-02 8.824203585227545e-02 + 8.829731070095961e-02 8.835238486000704e-02 8.840725822106667e-02 8.846193068214857e-02 8.851640221803356e-02 + 8.857067273700293e-02 8.862474207580676e-02 8.867861014722141e-02 8.873227689758616e-02 8.878574227696898e-02 + 8.883900618220902e-02 8.889206851560667e-02 8.894492921167085e-02 8.899758815302622e-02 8.905004524008538e-02 + 8.910230044719054e-02 8.915435367300073e-02 8.920620479173334e-02 8.925785373448247e-02 8.930930045917142e-02 + 8.936054490961548e-02 8.941158695191696e-02 8.946242647641844e-02 8.951306341364354e-02 8.956349771969928e-02 + 8.961372931388180e-02 8.966375808278661e-02 8.971358396554302e-02 8.976320688963368e-02 8.981262675341668e-02 + 8.986184348935064e-02 8.991085703129179e-02 8.995966729258320e-02 9.000827417122792e-02 9.005667759770250e-02 + 9.010487756379584e-02 9.015287394264000e-02 9.020066659275561e-02 9.024825550203337e-02 9.029564061179933e-02 + 9.034282181894199e-02 9.038979902630290e-02 9.043657218570805e-02 9.048314126656666e-02 9.052950615463343e-02 + 9.057566675480395e-02 9.062162300961238e-02 9.066737484935303e-02 9.071292219781772e-02 9.075826498061153e-02 + 9.080340315127385e-02 9.084833664156222e-02 9.089306533771581e-02 9.093758915627431e-02 9.098190804149961e-02 + 9.102602195783284e-02 9.106993084471440e-02 9.111363462196023e-02 9.115713320054021e-02 9.120042650346059e-02 + 9.124351446434358e-02 9.128639702175202e-02 9.132907412994692e-02 9.137154573427010e-02 9.141381170435277e-02 + 9.145587198962597e-02 9.149772660800266e-02 9.153937542844172e-02 9.158081834977004e-02 9.162205535599281e-02 + 9.166308637778346e-02 9.170391133536025e-02 9.174453017072061e-02 9.178494285856946e-02 9.182514933661440e-02 + 9.186514945794547e-02 9.190494319482566e-02 9.194453054665523e-02 9.198391140758180e-02 9.202308569543158e-02 + 9.206205336702038e-02 9.210081441034919e-02 9.213936875086109e-02 9.217771627651770e-02 9.221585694962209e-02 + 9.225379072840771e-02 9.229151754885842e-02 9.232903734819613e-02 9.236635007909103e-02 9.240345570404732e-02 + 9.244035413434255e-02 9.247704529963750e-02 9.251352918345666e-02 9.254980573968512e-02 9.258587489795035e-02 + 9.262173657649034e-02 9.265739073985793e-02 9.269283735974691e-02 9.272807636276849e-02 9.276310769047050e-02 + 9.279793130272118e-02 9.283254716719631e-02 9.286695521394739e-02 9.290115536246511e-02 9.293514761281572e-02 + 9.296893192325742e-02 9.300250819824006e-02 9.303587638369953e-02 9.306903645092859e-02 9.310198837852499e-02 + 9.313473209662422e-02 9.316726755984403e-02 9.319959477466139e-02 9.323171364631608e-02 9.326362408592948e-02 + 9.329532610133226e-02 9.332681964339190e-02 9.335810464438972e-02 9.338918108249107e-02 9.342004893308628e-02 + 9.345070815580041e-02 9.348115868437977e-02 9.351140046962789e-02 9.354143348306601e-02 9.357125770365762e-02 + 9.360087308621738e-02 9.363027956518245e-02 9.365947710363894e-02 9.368846567300493e-02 9.371724524372237e-02 + 9.374581578300241e-02 9.377417725111503e-02 9.380232960142115e-02 9.383027280206080e-02 9.385800682788301e-02 + 9.388553164914089e-02 9.391284719773688e-02 9.393995342276806e-02 9.396685035781838e-02 9.399353796706621e-02 + 9.402001617537038e-02 9.404628495786660e-02 9.407234429781461e-02 9.409819417117830e-02 9.412383453169183e-02 + 9.414926534580341e-02 9.417448659641373e-02 9.419949825736050e-02 9.422430029380560e-02 9.424889267135104e-02 + 9.427327539998738e-02 9.429744844865905e-02 9.432141171534560e-02 9.434516522540957e-02 9.436870900006604e-02 + 9.439204294634228e-02 9.441516705436934e-02 9.443808133745002e-02 9.446078573953387e-02 9.448328023801857e-02 + 9.450556483411636e-02 9.452763950923013e-02 9.454950421611270e-02 9.457115890701832e-02 9.459260360830167e-02 + 9.461383832574666e-02 9.463486302352626e-02 9.465567765409444e-02 9.467628220109425e-02 9.469667668274938e-02 + 9.471686106967921e-02 9.473683533004949e-02 9.475659945563136e-02 9.477615343325803e-02 9.479549725292793e-02 + 9.481463091432241e-02 9.483355439545672e-02 9.485226766778346e-02 9.487077071788189e-02 9.488906353992572e-02 + 9.490714613644993e-02 9.492501852119042e-02 9.494268066964073e-02 9.496013253895599e-02 9.497737414244060e-02 + 9.499440547543551e-02 9.501122651272445e-02 9.502783728094538e-02 9.504423778187990e-02 9.506042797340242e-02 + 9.507640785191551e-02 9.509217742006319e-02 9.510773667189122e-02 9.512308563868060e-02 9.513822432123879e-02 + 9.515315264231193e-02 9.516787063845662e-02 9.518237836728226e-02 9.519667577724227e-02 9.521076284349063e-02 + 9.522463958294539e-02 9.523830604498588e-02 9.525176221483619e-02 9.526500804718509e-02 9.527804359769618e-02 + 9.529086886623650e-02 9.530348379689602e-02 9.531588845120076e-02 9.532808286166987e-02 9.534006699012688e-02 + 9.535184085361241e-02 9.536340447105748e-02 9.537475783364874e-02 9.538590095359538e-02 9.539683385237334e-02 + 9.540755654711666e-02 9.541806903829181e-02 9.542837132640679e-02 9.543846343230179e-02 9.544834536597921e-02 + 9.545801714100983e-02 9.546747880593646e-02 9.547673036184304e-02 9.548577178084619e-02 9.549460309483834e-02 + 9.550322434581640e-02 9.551163556335956e-02 9.551983673903520e-02 9.552782788036314e-02 9.553560902903191e-02 + 9.554318022933674e-02 9.555054148771730e-02 9.555769276632298e-02 9.556463412975340e-02 9.557136563747151e-02 + 9.557788725689133e-02 9.558419903459103e-02 9.559030102901959e-02 9.559619321427665e-02 9.560187562136102e-02 + 9.560734830883322e-02 9.561261127917654e-02 9.561766456108449e-02 9.562250820572099e-02 9.562714223416331e-02 + 9.563156666435306e-02 9.563578152405575e-02 9.563978686682097e-02 9.564358272631937e-02 9.564716910782914e-02 + 9.565054604965099e-02 9.565371359980702e-02 9.565667179877529e-02 9.565942066526258e-02 9.566196023293236e-02 + 9.566429057683135e-02 9.566641172752892e-02 9.566832368940979e-02 9.567002647518966e-02 9.567152016429874e-02 + 9.567280484915060e-02 9.567388053004788e-02 9.567474721294261e-02 9.567540493730267e-02 9.567585379392737e-02 + 9.567609383300600e-02 9.567612506298810e-02 9.567594754568214e-02 9.567556133790830e-02 9.567496647244744e-02 + 9.567416299512438e-02 9.567315095370396e-02 9.567193039196389e-02 9.567050136232016e-02 9.566886392120964e-02 + 9.566701812558283e-02 9.566496403827787e-02 9.566270170884209e-02 9.566023115264767e-02 9.565755243736668e-02 + 9.565466564791879e-02 9.565157080775241e-02 9.564826797386157e-02 9.564475723264595e-02 9.564103864027859e-02 + 9.563711223757489e-02 9.563297806735498e-02 9.562863621895812e-02 9.562408675116861e-02 9.561932968250994e-02 + 9.561436511583814e-02 9.560919313325968e-02 9.560381374743886e-02 9.559822704785555e-02 9.559243313048145e-02 + 9.558643203289170e-02 9.558022378864620e-02 9.557380846466877e-02 9.556718619530349e-02 9.556035703327785e-02 + 9.555332100122134e-02 9.554607821247386e-02 9.553862873475936e-02 9.553097259908433e-02 9.552310989218279e-02 + 9.551504070130773e-02 9.550676510186747e-02 9.549828317393894e-02 9.548959500356741e-02 9.548070067318166e-02 + 9.547160021295119e-02 9.546229369018946e-02 9.545278124506257e-02 9.544306292579091e-02 9.543313878273989e-02 + 9.542300894892854e-02 9.541267351639289e-02 9.540213254817664e-02 9.539138610562420e-02 9.538043425774057e-02 + 9.536927709152246e-02 9.535791472882026e-02 9.534634726779553e-02 9.533457478138217e-02 9.532259734256758e-02 + 9.531041503990305e-02 9.529802797105680e-02 9.528543620462085e-02 9.527263983869082e-02 9.525963900525855e-02 + 9.524643375927100e-02 9.523302417643500e-02 9.521941040061487e-02 9.520559252291068e-02 9.519157060486365e-02 + 9.517734471153570e-02 9.516291499670615e-02 9.514828160467456e-02 9.513344455080376e-02 9.511840393248631e-02 + 9.510315989360162e-02 9.508771251519674e-02 9.507206189457258e-02 9.505620814925633e-02 9.504015138530268e-02 + 9.502389169582724e-02 9.500742917228551e-02 9.499076394524120e-02 9.497389612890822e-02 9.495682580659018e-02 + 9.493955308203066e-02 9.492207807526097e-02 9.490440091330225e-02 9.488652168366014e-02 9.486844048723730e-02 + 9.485015747906970e-02 9.483167277063544e-02 9.481298644119306e-02 9.479409856622809e-02 9.477500930738031e-02 + 9.475571884085587e-02 9.473622721810367e-02 9.471653454723004e-02 9.469664098786204e-02 9.467654664635866e-02 + 9.465625162221861e-02 9.463575602621152e-02 9.461505999415500e-02 9.459416367044585e-02 9.457306719633034e-02 + 9.455177068421998e-02 9.453027423759350e-02 9.450857796468222e-02 9.448668199276268e-02 9.446458647203468e-02 + 9.444229157255099e-02 9.441979739649474e-02 9.439710403006842e-02 9.437421161454676e-02 9.435112031829759e-02 + 9.432783029179438e-02 9.430434160094567e-02 9.428065438538669e-02 9.425676883924589e-02 9.423268508508292e-02 + 9.420840322981890e-02 9.418392339716981e-02 9.415924578030670e-02 9.413437051700123e-02 9.410929767030043e-02 + 9.408402741009517e-02 9.405855992335012e-02 9.403289535840260e-02 9.400703383941893e-02 9.398097549341558e-02 + 9.395472046838550e-02 9.392826889502673e-02 9.390162091553057e-02 9.387477672023849e-02 9.384773645864139e-02 + 9.382050025947151e-02 9.379306828457251e-02 9.376544068778003e-02 9.373761760606118e-02 9.370959916011609e-02 + 9.368138552427184e-02 9.365297690930323e-02 9.362437342817573e-02 9.359557520850639e-02 9.356658243379877e-02 + 9.353739529945312e-02 9.350801394425273e-02 9.347843843855524e-02 9.344866901272440e-02 9.341870589097585e-02 + 9.338854915644307e-02 9.335819897637819e-02 9.332765555734250e-02 9.329691906420928e-02 9.326598960092489e-02 + 9.323486729288316e-02 9.320355242698486e-02 9.317204517635257e-02 9.314034562740874e-02 9.310845398153604e-02 + 9.307637042858882e-02 9.304409511565054e-02 9.301162817412864e-02 9.297896979469056e-02 9.294612022999450e-02 + 9.291307963943660e-02 9.287984815938743e-02 9.284642594887814e-02 9.281281319942865e-02 9.277901009754375e-02 + 9.274501679883909e-02 9.271083349621308e-02 9.267646039527271e-02 9.264189767811302e-02 9.260714551564306e-02 + 9.257220408228978e-02 9.253707357624473e-02 9.250175417101536e-02 9.246624602802385e-02 9.243054935165987e-02 + 9.239466434718238e-02 9.235859120974489e-02 9.232233012999355e-02 9.228588129454922e-02 9.224924488066757e-02 + 9.221242103323031e-02 9.217540995047416e-02 9.213821191347883e-02 9.210082709355732e-02 9.206325564930115e-02 + 9.202549780755387e-02 9.198755374602623e-02 9.194942363528436e-02 9.191110769995278e-02 9.187260614753277e-02 + 9.183391917841241e-02 9.179504701848260e-02 9.175598985687712e-02 9.171674785963810e-02 9.167732123351167e-02 + 9.163771019528422e-02 9.159791495855178e-02 9.155793572040530e-02 9.151777270193290e-02 9.147742614628342e-02 + 9.143689622063791e-02 9.139618310892414e-02 9.135528705455570e-02 9.131420824439858e-02 9.127294688450004e-02 + 9.123150325806001e-02 9.118987755991119e-02 9.114806996063474e-02 9.110608069642255e-02 9.106390998608170e-02 + 9.102155802996120e-02 9.097902503011562e-02 9.093631123402490e-02 9.089341690732793e-02 9.085034224655422e-02 + 9.080708743846595e-02 9.076365269164367e-02 9.072003828369785e-02 9.067624443485320e-02 9.063227129485288e-02 + 9.058811915193726e-02 9.054378827004000e-02 9.049927881221763e-02 9.045459103770109e-02 9.040972520178260e-02 + 9.036468147234690e-02 9.031946007844127e-02 9.027406127956829e-02 9.022848531585773e-02 9.018273243214560e-02 + 9.013680287341128e-02 9.009069686920407e-02 9.004441462623869e-02 8.999795635152021e-02 8.995132231203949e-02 + 8.990451276610797e-02 8.985752795281814e-02 8.981036812557305e-02 8.976303351703613e-02 8.971552434037033e-02 + 8.966784087291869e-02 8.961998334831080e-02 8.957195192338249e-02 8.952374693198487e-02 8.947536869631613e-02 + 8.942681737354224e-02 8.937809319632291e-02 8.932919644498671e-02 8.928012738635183e-02 8.923088623240803e-02 + 8.918147319450437e-02 8.913188858291199e-02 8.908213269254797e-02 8.903220577223506e-02 8.898210800726358e-02 + 8.893183965769864e-02 8.888140104180198e-02 8.883079233855783e-02 8.878001380541380e-02 8.872906581842580e-02 + 8.867794859494142e-02 8.862666233412557e-02 8.857520730323154e-02 8.852358381153494e-02 8.847179212845252e-02 + 8.841983243253916e-02 8.836770502123131e-02 8.831541022882371e-02 8.826294830990469e-02 8.821031949641793e-02 + 8.815752403748606e-02 8.810456224863354e-02 8.805143437639511e-02 8.799814063336710e-02 8.794468134879541e-02 + 8.789105684257616e-02 8.783726738270531e-02 8.778331316928159e-02 8.772919447874153e-02 8.767491167446911e-02 + 8.762046495069514e-02 8.756585454037039e-02 8.751108081839833e-02 8.745614408581825e-02 8.740104459021790e-02 + 8.734578256007368e-02 8.729035830815834e-02 8.723477214343743e-02 8.717902426868683e-02 8.712311501918556e-02 + 8.706704476846663e-02 8.701081371877695e-02 8.695442211628683e-02 8.689787027644420e-02 8.684115853767592e-02 + 8.678428714435096e-02 8.672725629439892e-02 8.667006642064547e-02 8.661271785522098e-02 8.655521075244504e-02 + 8.649754543067346e-02 8.643972223965939e-02 8.638174147222141e-02 8.632360334916610e-02 8.626530814542391e-02 + 8.620685627786050e-02 8.614824804295058e-02 8.608948367410735e-02 8.603056343813603e-02 8.597148768708160e-02 + 8.591225676580187e-02 8.585287085352321e-02 8.579333027004854e-02 8.573363543090719e-02 8.567378659419787e-02 + 8.561378404241062e-02 8.555362810687137e-02 8.549331906471129e-02 8.543285719635127e-02 8.537224281446841e-02 + 8.531147627953188e-02 8.525055791649624e-02 8.518948798167383e-02 8.512826679756995e-02 8.506689470133286e-02 + 8.500537199311337e-02 8.494369892596923e-02 8.488187579804041e-02 8.481990305210670e-02 8.475778099074194e-02 + 8.469550984763315e-02 8.463308996695838e-02 8.457052168539449e-02 8.450780530789033e-02 8.444494110975011e-02 + 8.438192942971584e-02 8.431877065438623e-02 8.425546507059704e-02 8.419201297696736e-02 8.412841471805475e-02 + 8.406467061549007e-02 8.400078097306259e-02 8.393674609180030e-02 8.387256634619757e-02 8.380824209666674e-02 + 8.374377362095807e-02 8.367916122870038e-02 8.361440526888680e-02 8.354950611900661e-02 8.348446403538942e-02 + 8.341927927704872e-02 8.335395233905314e-02 8.328848356223681e-02 8.322287316371958e-02 8.315712149574238e-02 + 8.309122893699929e-02 8.302519583647612e-02 8.295902243510637e-02 8.289270907781640e-02 8.282625623697057e-02 + 8.275966417678003e-02 8.269293318851907e-02 8.262606370095599e-02 8.255905601211083e-02 8.249191039312886e-02 + 8.242462718945633e-02 8.235720681988298e-02 8.228964967784431e-02 8.222195602541869e-02 8.215412621284769e-02 + 8.208616062445039e-02 8.201805954142698e-02 8.194982329150195e-02 8.188145225476894e-02 8.181294680713293e-02 + 8.174430731452863e-02 8.167553412282050e-02 8.160662752890076e-02 8.153758789030935e-02 8.146841562526554e-02 + 8.139911098330359e-02 8.132967428676124e-02 8.126010603531450e-02 8.119040656216225e-02 8.112057615694021e-02 + 8.105061517994502e-02 8.098052402265073e-02 8.091030303880128e-02 8.083995248093376e-02 8.076947276447492e-02 + 8.069886435754116e-02 8.062812754457355e-02 8.055726265736828e-02 8.048627008799529e-02 8.041515020636995e-02 + 8.034390332540668e-02 8.027252974489747e-02 8.020102993492553e-02 8.012940431195667e-02 8.005765317555476e-02 + 7.998577686939379e-02 7.991377577220368e-02 7.984165027334414e-02 7.976940065907111e-02 7.969702727793032e-02 + 7.962453065567111e-02 7.955191112254574e-02 7.947916895239987e-02 7.940630455590227e-02 7.933331833212637e-02 + 7.926021063894960e-02 7.918698178217287e-02 7.911363216326053e-02 7.904016223823181e-02 7.896657235187955e-02 + 7.889286283938438e-02 7.881903406306398e-02 7.874508643443230e-02 7.867102031060058e-02 7.859683599526633e-02 + 7.852253395767629e-02 7.844811463098400e-02 7.837357831424305e-02 7.829892537205134e-02 7.822415619643758e-02 + 7.814927116484589e-02 7.807427062910767e-02 7.799915496813195e-02 7.792392464520610e-02 7.784858004657273e-02 + 7.777312150359181e-02 7.769754936428309e-02 7.762186403791040e-02 7.754606594385612e-02 7.747015537442642e-02 + 7.739413273994507e-02 7.731799855521804e-02 7.724175314852555e-02 7.716539684747571e-02 7.708893004657069e-02 + 7.701235315053030e-02 7.693566653742440e-02 7.685887055661017e-02 7.678196565918903e-02 7.670495227727288e-02 + 7.662783073280909e-02 7.655060142689749e-02 7.647326478202995e-02 7.639582115595660e-02 7.631827089499127e-02 + 7.624061438211467e-02 7.616285210329320e-02 7.608498447266238e-02 7.600701183814436e-02 7.592893457493513e-02 + 7.585075308733022e-02 7.577246778116596e-02 7.569407897223836e-02 7.561558707997214e-02 7.553699264667676e-02 + 7.545829602219666e-02 7.537949752159374e-02 7.530059752746436e-02 7.522159652110559e-02 7.514249491290788e-02 + 7.506329293711217e-02 7.498399108869409e-02 7.490458989985715e-02 7.482508965268882e-02 7.474549074308040e-02 + 7.466579363230305e-02 7.458599868473173e-02 7.450610623924510e-02 7.442611667561436e-02 7.434603053570255e-02 + 7.426584824442337e-02 7.418557009969678e-02 7.410519651333995e-02 7.402472793153594e-02 7.394416477978479e-02 + 7.386350736456949e-02 7.378275607823381e-02 7.370191147772952e-02 7.362097394239986e-02 7.353994380500382e-02 + 7.345882147239775e-02 7.337760740248925e-02 7.329630201371148e-02 7.321490559729334e-02 7.313341861868546e-02 + 7.305184160923943e-02 7.297017492620234e-02 7.288841893034562e-02 7.280657402242413e-02 7.272464064227188e-02 + 7.264261917439505e-02 7.256050997585588e-02 7.247831356170273e-02 7.239603038649280e-02 7.231366079163171e-02 + 7.223120520116612e-02 7.214866404160214e-02 7.206603769517569e-02 7.198332653777370e-02 7.190053098792457e-02 + 7.181765153838118e-02 7.173468863077177e-02 7.165164265282598e-02 7.156851395212357e-02 7.148530298289761e-02 + 7.140201021117390e-02 7.131863593482980e-02 7.123518058493326e-02 7.115164469180060e-02 7.106802866653637e-02 + 7.098433289103630e-02 7.090055775733806e-02 7.081670370962735e-02 7.073277114629017e-02 7.064876042084919e-02 + 7.056467204467058e-02 7.048050649359339e-02 7.039626411522021e-02 7.031194531783586e-02 7.022755055007633e-02 + 7.014308026270048e-02 7.005853477507426e-02 6.997391445865883e-02 6.988921994223606e-02 6.980445161374127e-02 + 6.971960976161336e-02 6.963469490630880e-02 6.954970749457975e-02 6.946464787470261e-02 6.937951638488904e-02 + 6.929431352344900e-02 6.920903988440608e-02 6.912369577614699e-02 6.903828154824053e-02 6.895279768813133e-02 + 6.886724462309453e-02 6.878162274040467e-02 6.869593242264821e-02 6.861017418575431e-02 6.852434851303352e-02 + 6.843845573229547e-02 6.835249626715924e-02 6.826647058722328e-02 6.818037912112360e-02 6.809422221022603e-02 + 6.800800023353686e-02 6.792171381432285e-02 6.783536337902803e-02 6.774894920974223e-02 6.766247176656806e-02 + 6.757593152448671e-02 6.748932891036163e-02 6.740266425451470e-02 6.731593799992638e-02 6.722915072040272e-02 + 6.714230278026269e-02 6.705539454984789e-02 6.696842651283096e-02 6.688139909018249e-02 6.679431266253504e-02 + 6.670716761081900e-02 6.661996446504156e-02 6.653270374249923e-02 6.644538575792285e-02 6.635801090742725e-02 + 6.627057965598744e-02 6.618309245387675e-02 6.609554968705872e-02 6.600795173819872e-02 6.592029914958422e-02 + 6.583259238307172e-02 6.574483179767340e-02 6.565701780669353e-02 6.556915085921187e-02 6.548123140723705e-02 + 6.539325979064996e-02 6.530523643565112e-02 6.521716192687264e-02 6.512903665438342e-02 6.504086097557776e-02 + 6.495263535156262e-02 6.486436022769713e-02 6.477603601048113e-02 6.468766306269763e-02 6.459924187637454e-02 + 6.451077298036002e-02 6.442225675573160e-02 6.433369358016772e-02 6.424508387319842e-02 6.415642813133042e-02 + 6.406772674084167e-02 6.397898002556264e-02 6.389018858464109e-02 6.380135290132970e-02 6.371247325592760e-02 + 6.362355010153516e-02 6.353458392277617e-02 6.344557514446422e-02 6.335652411846264e-02 6.326743126079815e-02 + 6.317829713990436e-02 6.308912216326193e-02 6.299990668862973e-02 6.291065117630994e-02 6.282135608306753e-02 + 6.273202182393535e-02 6.264264873955985e-02 6.255323731562341e-02 6.246378810230178e-02 6.237430143094801e-02 + 6.228477769978175e-02 6.219521740601344e-02 6.210562097707054e-02 6.201598879095212e-02 6.192632121693314e-02 + 6.183661876812600e-02 6.174688193928092e-02 6.165711112558074e-02 6.156730673780070e-02 6.147746920022401e-02 + 6.138759893800432e-02 6.129769633241683e-02 6.120776180293847e-02 6.111779589683188e-02 6.102779903735479e-02 + 6.093777158500626e-02 6.084771398591046e-02 6.075762667844817e-02 6.066751007308262e-02 6.057736455111417e-02 + 6.048719057054321e-02 6.039698864588414e-02 6.030675917961215e-02 6.021650256672047e-02 6.012621923377075e-02 + 6.003590961818356e-02 5.994557411659043e-02 5.985521308639186e-02 5.976482706463886e-02 5.967441656528669e-02 + 5.958398192281734e-02 5.949352353003544e-02 5.940304183449088e-02 5.931253730252380e-02 5.922201027916447e-02 + 5.913146112197507e-02 5.904089044032181e-02 5.895029868043596e-02 5.885968615096351e-02 5.876905326755812e-02 + 5.867840050492581e-02 5.858772833116550e-02 5.849703703991720e-02 5.840632705235495e-02 5.831559896255584e-02 + 5.822485314806121e-02 5.813408997000494e-02 5.804330987759122e-02 5.795251328764216e-02 5.786170059865808e-02 + 5.777087221384987e-02 5.768002859772193e-02 5.758917021647553e-02 5.749829746896256e-02 5.740741077575853e-02 + 5.731651056875526e-02 5.722559725171274e-02 5.713467118430270e-02 5.704373274635539e-02 5.695278249332581e-02 + 5.686182088614487e-02 5.677084826809927e-02 5.667986504336005e-02 5.658887165217444e-02 5.649786853613976e-02 + 5.640685602792318e-02 5.631583453941855e-02 5.622480462822738e-02 5.613376666437993e-02 5.604272100502515e-02 + 5.595166813210956e-02 5.586060845174765e-02 5.576954232437998e-02 5.567847012652845e-02 5.558739236715193e-02 + 5.549630955542323e-02 5.540522197136583e-02 5.531413002536285e-02 5.522303422299683e-02 5.513193492275553e-02 + 5.504083247717721e-02 5.494972729209355e-02 5.485861988753332e-02 5.476751071228679e-02 5.467640010379995e-02 + 5.458528846418693e-02 5.449417622493567e-02 5.440306381105370e-02 5.431195155656662e-02 5.422083985771245e-02 + 5.412972927459819e-02 5.403862019627870e-02 5.394751295390937e-02 5.385640797531270e-02 5.376530569364821e-02 + 5.367420650537214e-02 5.358311072889269e-02 5.349201882499156e-02 5.340093132499041e-02 5.330984856991542e-02 + 5.321877091980749e-02 5.312769879767464e-02 5.303663263591166e-02 5.294557280318667e-02 5.285451962473617e-02 + 5.276347361952855e-02 5.267243525955664e-02 5.258140485845194e-02 5.249038280640431e-02 5.239936952998326e-02 + 5.230836544276557e-02 5.221737088032564e-02 5.212638621732711e-02 5.203541199430900e-02 5.194444860919033e-02 + 5.185349638284296e-02 5.176255572471577e-02 5.167162705674897e-02 5.158071077330502e-02 5.148980718747074e-02 + 5.139891673261619e-02 5.130803993485430e-02 5.121717713356427e-02 5.112632867301793e-02 5.103549496777923e-02 + 5.094467643725986e-02 5.085387344650644e-02 5.076308630673339e-02 5.067231551219451e-02 5.058156153920812e-02 + 5.049082469322039e-02 5.040010534612100e-02 5.030940391348503e-02 5.021872080090227e-02 5.012805633824483e-02 + 5.003741087422633e-02 4.994678493647212e-02 4.985617892926745e-02 4.976559315779018e-02 4.967502801470126e-02 + 4.958448390876292e-02 4.949396122643934e-02 4.940346027599988e-02 4.931298146262254e-02 4.922252530167843e-02 + 4.913209213539834e-02 4.904168229174269e-02 4.895129616994274e-02 4.886093417404704e-02 4.877059666413559e-02 + 4.868028394034647e-02 4.858999646754281e-02 4.849973472130898e-02 4.840949900241633e-02 4.831928966152828e-02 + 4.822910709871525e-02 4.813895171199074e-02 4.804882382564480e-02 4.795872376124456e-02 4.786865202942978e-02 + 4.777860903855367e-02 4.768859507592742e-02 4.759861051627762e-02 4.750865575639699e-02 4.741873117406014e-02 + 4.732883706721817e-02 4.723897381137243e-02 4.714914191200375e-02 4.705934171189571e-02 4.696957351961628e-02 + 4.687983771740974e-02 4.679013469431771e-02 4.670046480338604e-02 4.661082833156779e-02 4.652122571187634e-02 + 4.643165741520618e-02 4.634212373882778e-02 4.625262501422293e-02 4.616316162482947e-02 4.607373395212459e-02 + 4.598434231610999e-02 4.589498701904484e-02 4.580566854223844e-02 4.571638729424802e-02 4.562714355109129e-02 + 4.553793766452621e-02 4.544877001582995e-02 4.535964097502848e-02 4.527055082898004e-02 4.518149992236756e-02 + 4.509248874970542e-02 4.500351765014129e-02 4.491458690878355e-02 4.482569689376779e-02 4.473684797939540e-02 + 4.464804050747698e-02 4.455927474828068e-02 4.447055110499822e-02 4.438187004531898e-02 4.429323185876936e-02 + 4.420463685202721e-02 4.411608538888854e-02 4.402757783926076e-02 4.393911451733543e-02 4.385069570127949e-02 + 4.376232184208732e-02 4.367399334643604e-02 4.358571047769912e-02 4.349747356709084e-02 4.340928298020802e-02 + 4.332113907381294e-02 4.323304212320113e-02 4.314499244129432e-02 4.305699050668390e-02 4.296903665620930e-02 + 4.288113115167341e-02 4.279327434447749e-02 4.270546659199307e-02 4.261770822231841e-02 4.252999949469098e-02 + 4.244234077853745e-02 4.235473252680039e-02 4.226717502474875e-02 4.217966855846760e-02 4.209221347273914e-02 + 4.200481011967518e-02 4.191745880279663e-02 4.183015977695443e-02 4.174291346429643e-02 4.165572027077732e-02 + 4.156858044734360e-02 4.148149429654668e-02 4.139446216241891e-02 4.130748439363172e-02 4.122056125606220e-02 + 4.113369302794675e-02 4.104688016346336e-02 4.096012300095512e-02 4.087342178434451e-02 4.078677683583759e-02 + 4.070018849668031e-02 4.061365708919899e-02 4.052718285106741e-02 4.044076611819490e-02 4.035440733833207e-02 + 4.026810678092279e-02 4.018186470341873e-02 4.009568143909095e-02 4.000955732298062e-02 3.992349264534106e-02 + 3.983748763759326e-02 3.975154269055037e-02 3.966565820546299e-02 3.957983441649049e-02 3.949407160357907e-02 + 3.940837009289332e-02 3.932273021031552e-02 3.923715221270428e-02 3.915163635394041e-02 3.906618306202975e-02 + 3.898079266950179e-02 3.889546539672872e-02 3.881020154253283e-02 3.872500143016262e-02 3.863986536923758e-02 + 3.855479358615301e-02 3.846978637959592e-02 3.838484417257106e-02 3.829996723484980e-02 3.821515580420295e-02 + 3.813041018714970e-02 3.804573069687705e-02 3.796111761198420e-02 3.787657114752344e-02 3.779209165765486e-02 + 3.770767953120019e-02 3.762333499040284e-02 3.753905829251161e-02 3.745484974542636e-02 3.737070965331050e-02 + 3.728663825939783e-02 3.720263578933122e-02 3.711870264209954e-02 3.703483914671073e-02 3.695104550519348e-02 + 3.686732199057993e-02 3.678366890490292e-02 3.670008654113079e-02 3.661657511036890e-02 3.653313487804630e-02 + 3.644976625150438e-02 3.636646948823320e-02 3.628324479604935e-02 3.620009246605282e-02 3.611701279349350e-02 + 3.603400604041686e-02 3.595107239910939e-02 3.586821219020735e-02 3.578542579441001e-02 3.570271341631447e-02 + 3.562007528519529e-02 3.553751169069794e-02 3.545502291550906e-02 3.537260919186706e-02 3.529027072401183e-02 + 3.520800787214007e-02 3.512582095428173e-02 3.504371015751370e-02 3.496167573051010e-02 3.487971795476078e-02 + 3.479783710598274e-02 3.471603337811516e-02 3.463430699965583e-02 3.455265835796009e-02 3.447108770848941e-02 + 3.438959523450754e-02 3.430818119554624e-02 3.422684586511945e-02 3.414558949343227e-02 3.406441225419257e-02 + 3.398331443038755e-02 3.390229638782512e-02 3.382135832287533e-02 3.374050043789544e-02 3.365972299780525e-02 + 3.357902626321113e-02 3.349841045119794e-02 3.341787574130316e-02 3.333742246166845e-02 3.325705092272905e-02 + 3.317676129391954e-02 3.309655379649919e-02 3.301642868788483e-02 3.293638622159571e-02 3.285642658240021e-02 + 3.277654996949401e-02 3.269675673538998e-02 3.261704712715797e-02 3.253742130855802e-02 3.245787951722746e-02 + 3.237842200259459e-02 3.229904899349424e-02 3.221976065258773e-02 3.214055722659278e-02 3.206143905506719e-02 + 3.198240632628265e-02 3.190345921865954e-02 3.182459797365254e-02 3.174582282841434e-02 3.166713398447476e-02 + 3.158853160183031e-02 3.151001597036992e-02 3.143158738592136e-02 3.135324600516137e-02 3.127499202279022e-02 + 3.119682567104914e-02 3.111874718036912e-02 3.104075672462514e-02 3.096285447683152e-02 3.088504075536903e-02 + 3.080731579690068e-02 3.072967974437236e-02 3.065213281019982e-02 3.057467522135681e-02 3.049730718652442e-02 + 3.042002885157935e-02 3.034284042889533e-02 3.026574223701538e-02 3.018873445294931e-02 3.011181722724549e-02 + 3.003499077734359e-02 2.995825532248887e-02 2.988161104857855e-02 2.980505808548691e-02 2.972859668986686e-02 + 2.965222714891759e-02 2.957594959806504e-02 2.949976420500935e-02 2.942367118266701e-02 2.934767073798247e-02 + 2.927176302885600e-02 2.919594820074298e-02 2.912022654108078e-02 2.904459827654108e-02 2.896906352751058e-02 + 2.889362247668933e-02 2.881827533028623e-02 2.874302228403363e-02 2.866786346167200e-02 2.859279903706265e-02 + 2.851782931145582e-02 2.844295445253672e-02 2.836817458182308e-02 2.829348988995876e-02 2.821890057629359e-02 + 2.814440681221589e-02 2.807000870175516e-02 2.799570646465742e-02 2.792150037589211e-02 2.784739055623231e-02 + 2.777337714638600e-02 2.769946033688953e-02 2.762564030841585e-02 2.755191720229608e-02 2.747829114116882e-02 + 2.740476237631904e-02 2.733133112357609e-02 2.725799748998750e-02 2.718476162641247e-02 2.711162371095654e-02 + 2.703858392279279e-02 2.696564237390275e-02 2.689279920452167e-02 2.682005468428394e-02 2.674740897239565e-02 + 2.667486216835663e-02 2.660241443488607e-02 2.653006594727732e-02 2.645781686062815e-02 2.638566726160998e-02 + 2.631361733435826e-02 2.624166733570949e-02 2.616981737012440e-02 2.609806754771221e-02 2.602641803533937e-02 + 2.595486900051258e-02 2.588342056814261e-02 2.581207282360541e-02 2.574082599292273e-02 2.566968028470076e-02 + 2.559863577456860e-02 2.552769259041796e-02 2.545685089381796e-02 2.538611083889939e-02 2.531547252137675e-02 + 2.524493605061727e-02 2.517450166747065e-02 2.510416952086314e-02 2.503393968681819e-02 2.496381230163825e-02 + 2.489378751859868e-02 2.482386547683629e-02 2.475404624292582e-02 2.468432996264991e-02 2.461471687229032e-02 + 2.454520706873932e-02 2.447580063686782e-02 2.440649771598710e-02 2.433729844997764e-02 2.426820294893469e-02 + 2.419921127712116e-02 2.413032362216684e-02 2.406154017790910e-02 2.399286100816565e-02 2.392428621229386e-02 + 2.385581592554643e-02 2.378745028409909e-02 2.371918936700126e-02 2.365103325041379e-02 2.358298215018098e-02 + 2.351503620457756e-02 2.344719546326070e-02 2.337946004127276e-02 2.331183006962702e-02 2.324430566419196e-02 + 2.317688687789637e-02 2.310957382435168e-02 2.304236671579298e-02 2.297526563441205e-02 2.290827063843882e-02 + 2.284138184722980e-02 2.277459938171355e-02 2.270792333404544e-02 2.264135374860772e-02 2.257489077729924e-02 + 2.250853459738779e-02 2.244228525780410e-02 2.237614283279474e-02 2.231010743473913e-02 2.224417917668724e-02 + 2.217835812285958e-02 2.211264432248330e-02 2.204703795931322e-02 2.198153916317220e-02 2.191614796666107e-02 + 2.185086445220271e-02 2.178568872592581e-02 2.172062089111306e-02 2.165566098457172e-02 2.159080908357505e-02 + 2.152606537366001e-02 2.146142993110024e-02 2.139690279242156e-02 2.133248404619538e-02 2.126817379406035e-02 + 2.120397211607284e-02 2.113987903003668e-02 2.107589465469217e-02 2.101201915594272e-02 2.094825256288664e-02 + 2.088459492231405e-02 2.082104632696408e-02 2.075760686991806e-02 2.069427660166107e-02 2.063105554609518e-02 + 2.056794384972622e-02 2.050494162894281e-02 2.044204890243054e-02 2.037926573000831e-02 2.031659219454509e-02 + 2.025402837653619e-02 2.019157429898307e-02 2.012923000978476e-02 2.006699566765361e-02 2.000487133731908e-02 + 1.994285703240835e-02 1.988095281849638e-02 1.981915877663429e-02 1.975747497137283e-02 1.969590139839621e-02 + 1.963443814246610e-02 1.957308535571834e-02 1.951184305296579e-02 1.945071125524195e-02 1.938969003470093e-02 + 1.932877945979973e-02 1.926797956444602e-02 1.920729035294688e-02 1.914671194302782e-02 1.908624443873623e-02 + 1.902588783798898e-02 1.896564217312377e-02 1.890550750534374e-02 1.884548390173623e-02 1.878557136933607e-02 + 1.872576992282937e-02 1.866607969751645e-02 1.860650074902563e-02 1.854703306920867e-02 1.848767670108510e-02 + 1.842843170242723e-02 1.836929811895166e-02 1.831027593341436e-02 1.825136519709141e-02 1.819256603897189e-02 + 1.813387846842225e-02 1.807530248298604e-02 1.801683812530333e-02 1.795848544988909e-02 1.790024447932676e-02 + 1.784211518704799e-02 1.778409766075985e-02 1.772619199567190e-02 1.766839817113224e-02 1.761071619932593e-02 + 1.755314612276550e-02 1.749568797940397e-02 1.743834176385679e-02 1.738110747126647e-02 1.732398520795971e-02 + 1.726697501687009e-02 1.721007686976607e-02 1.715329079150987e-02 1.709661681774517e-02 1.704005496995066e-02 + 1.698360522175755e-02 1.692726759648597e-02 1.687104219632033e-02 1.681492902190890e-02 1.675892805218375e-02 + 1.670303930866012e-02 1.664726282100333e-02 1.659159859573434e-02 1.653604659349284e-02 1.648060687061485e-02 + 1.642527950537791e-02 1.637006446137386e-02 1.631496172845883e-02 1.625997133117372e-02 1.620509328829045e-02 + 1.615032758053278e-02 1.609567417924041e-02 1.604113316306734e-02 1.598670456411958e-02 1.593238833576510e-02 + 1.587818448257840e-02 1.582409302120838e-02 1.577011395254391e-02 1.571624723647299e-02 1.566249287063067e-02 + 1.560885093721684e-02 1.555532142372995e-02 1.550190428691725e-02 1.544859953345741e-02 1.539540716895692e-02 + 1.534232718045593e-02 1.528935952298772e-02 1.523650422043375e-02 1.518376132655854e-02 1.513113080051426e-02 + 1.507861261080395e-02 1.502620675643192e-02 1.497391324399307e-02 1.492173204313831e-02 1.486966309840608e-02 + 1.481770646058926e-02 1.476586215324725e-02 1.471413011485714e-02 1.466251032223325e-02 1.461100277337298e-02 + 1.455960746411957e-02 1.450832433725036e-02 1.445715335761371e-02 1.440609458945226e-02 1.435514801148310e-02 + 1.430431355790390e-02 1.425359121341204e-02 1.420298097105418e-02 1.415248280845771e-02 1.410209665546564e-02 + 1.405182250942155e-02 1.400166041623447e-02 1.395161031395394e-02 1.390167215017196e-02 1.385184591619880e-02 + 1.380213159317199e-02 1.375252913341631e-02 1.370303846818604e-02 1.365365962256361e-02 1.360439260851619e-02 + 1.355523734898775e-02 1.350619380184460e-02 1.345726194685572e-02 1.340844175819677e-02 1.335973317080697e-02 + 1.331113613029375e-02 1.326265067233158e-02 1.321427676765317e-02 1.316601433678336e-02 1.311786334248669e-02 + 1.306982375879771e-02 1.302189555021592e-02 1.297407863461756e-02 1.292637298076667e-02 1.287877861455418e-02 + 1.283129547339001e-02 1.278392348592105e-02 1.273666261347862e-02 1.268951282495219e-02 1.264247406704279e-02 + 1.259554625321822e-02 1.254872937642621e-02 1.250202343522368e-02 1.245542834900525e-02 1.240894405313941e-02 + 1.236257050462080e-02 1.231630767029411e-02 1.227015547343941e-02 1.222411383176151e-02 1.217818275998809e-02 + 1.213236222220244e-02 1.208665212384520e-02 1.204105241018576e-02 1.199556303854240e-02 1.195018395838791e-02 + 1.190491507365890e-02 1.185975632952753e-02 1.181470773836339e-02 1.176976922480089e-02 1.172494069835479e-02 + 1.168022211004454e-02 1.163561340968965e-02 1.159111452823667e-02 1.154672536811994e-02 1.150244589927961e-02 + 1.145827610670764e-02 1.141421589534856e-02 1.137026518661645e-02 1.132642392502224e-02 1.128269205281729e-02 + 1.123906948383837e-02 1.119555612518262e-02 1.115215196588227e-02 1.110885695891592e-02 1.106567099667937e-02 + 1.102259400831050e-02 1.097962593601935e-02 1.093676671505125e-02 1.089401623812122e-02 1.085137442757511e-02 + 1.080884127911701e-02 1.076641671182367e-02 1.072410061923310e-02 1.068189293399554e-02 1.063979359231152e-02 + 1.059780251428707e-02 1.055591958418482e-02 1.051414475108346e-02 1.047247799305691e-02 1.043091920126454e-02 + 1.038946827795377e-02 1.034812515386981e-02 1.030688975996647e-02 1.026576200007446e-02 1.022474176231751e-02 + 1.018382901647819e-02 1.014302370834395e-02 1.010232571551464e-02 1.006173495028295e-02 1.002125134058496e-02 + 9.980874808217161e-03 9.940605238090998e-03 9.900442533803457e-03 9.860386673211879e-03 9.820437566105797e-03 + 9.780595089730604e-03 9.740859166502601e-03 9.701229717604148e-03 9.661706648486619e-03 9.622289837555094e-03 + 9.582979211676392e-03 9.543774731762645e-03 9.504676285752028e-03 9.465683761437204e-03 9.426797070527869e-03 + 9.388016130061547e-03 9.349340837763126e-03 9.310771071700266e-03 9.272306774287777e-03 9.233947879847340e-03 + 9.195694263233465e-03 9.157545820041815e-03 9.119502462398593e-03 9.081564104605406e-03 9.043730620594144e-03 + 9.006001891771507e-03 8.968377884117109e-03 8.930858503326412e-03 8.893443610144467e-03 8.856133108771761e-03 + 8.818926910576046e-03 8.781824915337199e-03 8.744826984807866e-03 8.707933026764444e-03 8.671142997995955e-03 + 8.634456771198624e-03 8.597874217863410e-03 8.561395247729468e-03 8.525019762147885e-03 8.488747643810387e-03 + 8.452578758551675e-03 8.416513035074836e-03 8.380550402064440e-03 8.344690718755845e-03 8.308933866062409e-03 + 8.273279745485652e-03 8.237728259206089e-03 8.202279277607399e-03 8.166932668725525e-03 8.131688373197346e-03 + 8.096546291813443e-03 8.061506280849479e-03 8.026568229604077e-03 7.991732033790425e-03 7.956997581179438e-03 + 7.922364735477982e-03 7.887833385768220e-03 7.853403460644042e-03 7.819074838170454e-03 7.784847385209607e-03 + 7.750720988388416e-03 7.716695538073770e-03 7.682770912288046e-03 7.648946965667346e-03 7.615223607644973e-03 + 7.581600758648286e-03 7.548078272068747e-03 7.514656018308716e-03 7.481333888256649e-03 7.448111767084748e-03 + 7.414989518558892e-03 7.381967002509678e-03 7.349044141005179e-03 7.316220829119200e-03 7.283496916229069e-03 + 7.250872276568530e-03 7.218346796125786e-03 7.185920358959778e-03 7.153592811909379e-03 7.121364026156801e-03 + 7.089233934032213e-03 7.057202401526107e-03 7.025269274784423e-03 6.993434437254338e-03 6.961697770726437e-03 + 6.930059144137623e-03 6.898518406074085e-03 6.867075445461445e-03 6.835730169890301e-03 6.804482436531050e-03 + 6.773332103630715e-03 6.742279042830752e-03 6.711323134446215e-03 6.680464239400761e-03 6.649702204950062e-03 + 6.619036937093537e-03 6.588468325547939e-03 6.557996212108587e-03 6.527620458965777e-03 6.497340941897300e-03 + 6.467157538628341e-03 6.437070090473932e-03 6.407078453159759e-03 6.377182548096138e-03 6.347382238649846e-03 + 6.317677359750170e-03 6.288067782822399e-03 6.258553381641384e-03 6.229134019133821e-03 6.199809533909972e-03 + 6.170579803332374e-03 6.141444731866248e-03 6.112404164377095e-03 6.083457948651627e-03 6.054605954063168e-03 + 6.025848047899531e-03 5.997184082520315e-03 5.968613898555075e-03 5.940137388272029e-03 5.911754435973001e-03 + 5.883464876798197e-03 5.855268565478542e-03 5.827165369238958e-03 5.799155152943781e-03 5.771237757858197e-03 + 5.743413031370796e-03 5.715680873423079e-03 5.688041146137241e-03 5.660493683352233e-03 5.633038344713090e-03 + 5.605674994693767e-03 5.578403490874967e-03 5.551223666073857e-03 5.524135383482108e-03 5.497138538622371e-03 + 5.470232973711985e-03 5.443418527865922e-03 5.416695061766649e-03 5.390062436684385e-03 5.363520500801443e-03 + 5.337069085950208e-03 5.310708070645691e-03 5.284437334686721e-03 5.258256709167105e-03 5.232166039984466e-03 + 5.206165186351173e-03 5.180254006079314e-03 5.154432337116667e-03 5.128700017566677e-03 5.103056934758595e-03 + 5.077502948400768e-03 5.052037887552509e-03 5.026661602896529e-03 5.001373950974750e-03 4.976174783805283e-03 + 4.951063931174483e-03 4.926041244835856e-03 4.901106610871052e-03 4.876259869861805e-03 4.851500854152867e-03 + 4.826829416485723e-03 4.802245411238555e-03 4.777748682676776e-03 4.753339057595283e-03 4.729016402174706e-03 + 4.704780591018902e-03 4.680631452386119e-03 4.656568824906738e-03 4.632592561043116e-03 4.608702512089780e-03 + 4.584898512841469e-03 4.561180394112987e-03 4.537548032865621e-03 4.514001286180084e-03 4.490539978046344e-03 + 4.467163952568486e-03 4.443873060291688e-03 4.420667147623122e-03 4.397546041481102e-03 4.374509584352294e-03 + 4.351557654555007e-03 4.328690090868674e-03 4.305906719484884e-03 4.283207387010587e-03 4.260591942258349e-03 + 4.238060226010617e-03 4.215612060889534e-03 4.193247302342208e-03 4.170965820265097e-03 4.148767441443334e-03 + 4.126651998168965e-03 4.104619336614093e-03 4.082669303050944e-03 4.060801730082235e-03 4.039016442831475e-03 + 4.017313308452854e-03 3.995692181792875e-03 3.974152883344686e-03 3.952695251163741e-03 3.931319130911208e-03 + 3.910024364917125e-03 3.888810777810686e-03 3.867678204037116e-03 3.846626514691173e-03 3.825655547709963e-03 + 3.804765124734014e-03 3.783955087456414e-03 3.763225279741349e-03 3.742575538839424e-03 3.722005684569956e-03 + 3.701515563829318e-03 3.681105042529648e-03 3.660773945892437e-03 3.640522100973796e-03 3.620349349516141e-03 + 3.600255533338096e-03 3.580240483202974e-03 3.560304020332013e-03 3.540446002992503e-03 3.520666284206718e-03 + 3.500964682823155e-03 3.481341031384374e-03 3.461795171007476e-03 3.442326941040924e-03 3.422936165061433e-03 + 3.403622671201535e-03 3.384386323473485e-03 3.365226959961049e-03 3.346144399498565e-03 3.327138478378434e-03 + 3.308209036536853e-03 3.289355909461925e-03 3.270578915351533e-03 3.251877893639187e-03 3.233252706195778e-03 + 3.214703178029928e-03 3.196229132118811e-03 3.177830406368320e-03 3.159506839403438e-03 3.141258260810600e-03 + 3.123084488811596e-03 3.104985374197366e-03 3.086960768611876e-03 3.069010490077185e-03 3.051134366997480e-03 + 3.033332237019262e-03 3.015603936903380e-03 2.997949290147841e-03 2.980368120588831e-03 2.962860285290425e-03 + 2.945425622240710e-03 2.928063948810786e-03 2.910775098113858e-03 2.893558906982335e-03 2.876415208617919e-03 + 2.859343821344898e-03 2.842344578930633e-03 2.825417338731532e-03 2.808561926446875e-03 2.791778162629514e-03 + 2.775065882662152e-03 2.758424922052246e-03 2.741855109318431e-03 2.725356262118107e-03 2.708928224810950e-03 + 2.692570847204586e-03 2.676283947708203e-03 2.660067352018658e-03 2.643920895408666e-03 2.627844412630983e-03 + 2.611837727127577e-03 2.595900659591014e-03 2.580033062057212e-03 2.564234773200918e-03 2.548505609580814e-03 + 2.532845401329118e-03 2.517253983314282e-03 2.501731188088862e-03 2.486276834298587e-03 2.470890751027053e-03 + 2.455572791828030e-03 2.440322784214469e-03 2.425140547489158e-03 2.410025914370114e-03 2.394978718743150e-03 + 2.379998789312335e-03 2.365085943631231e-03 2.350240020749269e-03 2.335460868942443e-03 2.320748308349550e-03 + 2.306102163022297e-03 2.291522266200105e-03 2.277008450857895e-03 2.262560541519312e-03 2.248178358404482e-03 + 2.233861748393963e-03 2.219610550590767e-03 2.205424582540762e-03 2.191303672653564e-03 2.177247654150935e-03 + 2.163256358437406e-03 2.149329606085116e-03 2.135467224025938e-03 2.121669062135428e-03 2.107934949596006e-03 + 2.094264705479671e-03 2.080658161247730e-03 2.067115150052171e-03 2.053635501035216e-03 2.040219032033609e-03 + 2.026865578574763e-03 2.013574988607888e-03 2.000347084189316e-03 1.987181688126059e-03 1.974078632294973e-03 + 1.961037750159034e-03 1.948058867783843e-03 1.935141804192390e-03 1.922286403096425e-03 1.909492504980594e-03 + 1.896759928265229e-03 1.884088500763132e-03 1.871478055631251e-03 1.858928424089599e-03 1.846439428400912e-03 + 1.834010894228015e-03 1.821642669213327e-03 1.809334584628213e-03 1.797086460037203e-03 1.784898126770644e-03 + 1.772769417737367e-03 1.760700162615002e-03 1.748690181778845e-03 1.736739308394668e-03 1.724847388831493e-03 + 1.713014248130287e-03 1.701239709792772e-03 1.689523605558227e-03 1.677865768960374e-03 1.666266027776910e-03 + 1.654724201747776e-03 1.643240132443950e-03 1.631813662093462e-03 1.620444610863358e-03 1.609132806416696e-03 + 1.597878082462674e-03 1.586680271167799e-03 1.575539197124769e-03 1.564454685806544e-03 1.553426583192850e-03 + 1.542454723186195e-03 1.531538926942232e-03 1.520679025889417e-03 1.509874853790604e-03 1.499126242122267e-03 + 1.488433013507451e-03 1.477795000037597e-03 1.467212048115432e-03 1.456683985464255e-03 1.446210636719452e-03 + 1.435791835117153e-03 1.425427414393694e-03 1.415117204211151e-03 1.404861027594662e-03 1.394658724273689e-03 + 1.384510137356095e-03 1.374415090575271e-03 1.364373412382042e-03 1.354384937246215e-03 1.344449499301808e-03 + 1.334566925970926e-03 1.324737043332181e-03 1.314959696939330e-03 1.305234723823342e-03 1.295561947265019e-03 + 1.285941199528206e-03 1.276372315963847e-03 1.266855130463658e-03 1.257389468322312e-03 1.247975161599065e-03 + 1.238612057815808e-03 1.229299987951490e-03 1.220038778115428e-03 1.210828263449681e-03 1.201668279419893e-03 + 1.192558658328712e-03 1.183499226491516e-03 1.174489822883548e-03 1.165530291825810e-03 1.156620461345326e-03 + 1.147760161971411e-03 1.138949229776032e-03 1.130187500878873e-03 1.121474806129454e-03 1.112810973708310e-03 + 1.104195848566657e-03 1.095629271185936e-03 1.087111069073448e-03 1.078641075658101e-03 1.070219127753748e-03 + 1.061845062287274e-03 1.053518708913237e-03 1.045239900848634e-03 1.037008485418972e-03 1.028824298155823e-03 + 1.020687168641753e-03 1.012596933141099e-03 1.004553429894111e-03 9.965564952721074e-04 9.886059579764911e-04 + 9.807016577383673e-04 9.728434421263681e-04 9.650311428619217e-04 9.572645925441391e-04 9.495436296868831e-04 + 9.418680934992058e-04 9.342378189983833e-04 9.266526374013966e-04 9.191123940951565e-04 9.116169327210938e-04 + 9.041660846048507e-04 8.967596865276394e-04 8.893975784458786e-04 8.820795994475233e-04 8.748055834052338e-04 + 8.675753662309574e-04 8.603887967412885e-04 8.532457145816050e-04 8.461459528881801e-04 8.390893515597134e-04 + 8.320757512954288e-04 8.251049910410551e-04 8.181769052102455e-04 8.112913354889369e-04 8.044481307476467e-04 + 7.976471276304203e-04 7.908881626723219e-04 7.841710779271092e-04 7.774957151422038e-04 7.708619131557394e-04 + 7.642695077220146e-04 7.577183458379644e-04 7.512082748417916e-04 7.447391309361296e-04 7.383107537219758e-04 + 7.319229861740803e-04 7.255756719189899e-04 7.192686493738265e-04 7.130017570250109e-04 7.067748463319056e-04 + 7.005877618919097e-04 6.944403408515077e-04 6.883324261093659e-04 6.822638623160529e-04 6.762344932684062e-04 + 6.702441573916524e-04 6.642926986443232e-04 6.583799694858947e-04 6.525058122102392e-04 6.466700672293728e-04 + 6.408725793807691e-04 6.351131947715911e-04 6.293917574305099e-04 6.237081070877600e-04 6.180620932909059e-04 + 6.124535677685099e-04 6.068823714677426e-04 6.013483481700967e-04 5.958513451670206e-04 5.903912096703989e-04 + 5.849677853780454e-04 5.795809154020751e-04 5.742304534677881e-04 5.689162489783443e-04 5.636381442526738e-04 + 5.583959863498279e-04 5.531896240506697e-04 5.480189055622431e-04 5.428836748799696e-04 5.377837797240800e-04 + 5.327190759830209e-04 5.276894110958636e-04 5.226946300477827e-04 5.177345825024617e-04 5.128091188465486e-04 + 5.079180879528710e-04 5.030613351067660e-04 4.982387130290541e-04 4.934500776624026e-04 4.886952758062522e-04 + 4.839741558713263e-04 4.792865695826084e-04 4.746323688630657e-04 4.700114029595036e-04 4.654235198613055e-04 + 4.608685766627245e-04 4.563464280591107e-04 4.518569219186994e-04 4.473999099762359e-04 4.429752457691277e-04 + 4.385827824909558e-04 4.342223700107388e-04 4.298938604566902e-04 4.255971135329090e-04 4.213319826090788e-04 + 4.170983180859963e-04 4.128959744299958e-04 4.087248069577171e-04 4.045846700338900e-04 4.004754147907325e-04 + 3.963968979642262e-04 3.923489801919561e-04 3.883315144592717e-04 3.843443544269981e-04 3.803873568608614e-04 + 3.764603788261386e-04 3.725632754784107e-04 3.686959004384349e-04 3.648581147870281e-04 3.610497787686854e-04 + 3.572707463878945e-04 3.535208745539621e-04 3.498000220657478e-04 3.461080477383748e-04 3.424448076363575e-04 + 3.388101589386426e-04 3.352039657815740e-04 3.316260877532703e-04 3.280763812137888e-04 3.245547060139738e-04 + 3.210609229167205e-04 3.175948921405597e-04 3.141564711604799e-04 3.107455215081982e-04 3.073619088757455e-04 + 3.040054927848886e-04 3.006761327105527e-04 2.973736909925681e-04 2.940980303881470e-04 2.908490123115160e-04 + 2.876264965105581e-04 2.844303488008553e-04 2.812604353029198e-04 2.781166164989417e-04 2.749987551423296e-04 + 2.719067158817455e-04 2.688403633742989e-04 2.657995602462465e-04 2.627841695326067e-04 2.597940603791381e-04 + 2.568290988582687e-04 2.538891477672460e-04 2.509740728301346e-04 2.480837407612393e-04 2.452180180501483e-04 + 2.423767689150773e-04 2.395598604007145e-04 2.367671637065971e-04 2.339985452156380e-04 2.312538707417314e-04 + 2.285330086975239e-04 2.258358279521211e-04 2.231621965330517e-04 2.205119809474630e-04 2.178850522930381e-04 + 2.152812827957872e-04 2.127005401044592e-04 2.101426932429596e-04 2.076076129630843e-04 2.050951703707553e-04 + 2.026052350574154e-04 2.001376764695323e-04 1.976923692963255e-04 1.952691863631026e-04 1.928679973631469e-04 + 1.904886744667185e-04 1.881310908124045e-04 1.857951194428946e-04 1.834806317739651e-04 1.811875010647571e-04 + 1.789156043640377e-04 1.766648152326652e-04 1.744350063601967e-04 1.722260526922104e-04 1.700378296945535e-04 + 1.678702123432160e-04 1.657230742438847e-04 1.635962925697728e-04 1.614897461072756e-04 1.594033097074569e-04 + 1.573368592094730e-04 1.552902721810668e-04 1.532634264532060e-04 1.512561988693490e-04 1.492684659352835e-04 + 1.473001083560244e-04 1.453510059716440e-04 1.434210358729406e-04 1.415100771164913e-04 1.396180097223186e-04 + 1.377447137267307e-04 1.358900680130841e-04 1.340539526362652e-04 1.322362510498252e-04 1.304368442346035e-04 + 1.286556121626104e-04 1.268924368411170e-04 1.251472007379926e-04 1.234197860690376e-04 1.217100740639766e-04 + 1.200179485071157e-04 1.183432949752447e-04 1.166859960758634e-04 1.150459349477667e-04 1.134229962637926e-04 + 1.118170649981152e-04 1.102280255615328e-04 1.086557620076939e-04 1.071001616642248e-04 1.055611117192228e-04 + 1.040384970703678e-04 1.025322040262462e-04 1.010421198490596e-04 9.956813202096472e-05 9.811012722455996e-05 + 9.666799283658755e-05 9.524161921027426e-05 9.383089505710078e-05 9.243570803818307e-05 9.105594759252440e-05 + 8.969150364397068e-05 8.834226604286881e-05 8.700812397260034e-05 8.568896841419017e-05 8.438469212608002e-05 + 8.309518568825200e-05 8.182033994906239e-05 8.056004718218619e-05 7.931419998170841e-05 7.808269064296404e-05 + 7.686541112857092e-05 7.566225594198306e-05 7.447311991364301e-05 7.329789600792314e-05 7.213647827366786e-05 + 7.098876170896106e-05 6.985464163907488e-05 6.873401282606521e-05 6.762677039259616e-05 6.653281205307769e-05 + 6.545203459530543e-05 6.438433381335806e-05 6.332960688869456e-05 6.228775159650499e-05 6.125866586213212e-05 + 6.024224709312662e-05 5.923839394811549e-05 5.824700680510711e-05 5.726798458845817e-05 5.630122626966778e-05 + 5.534663202079377e-05 5.440410243697520e-05 5.347353805513213e-05 5.255483915897720e-05 5.164790790372327e-05 + 5.075264706713765e-05 4.986895809670387e-05 4.899674321102013e-05 4.813590548272275e-05 4.728634834520723e-05 + 4.644797500988253e-05 4.562068892036128e-05 4.480439551815946e-05 4.399899988301035e-05 4.320440633696577e-05 + 4.242052030402665e-05 4.164724778526068e-05 4.088449502887978e-05 4.013216802138054e-05 3.939017361734100e-05 + 3.865842020891389e-05 3.793681530287127e-05 3.722526637683801e-05 3.652368195642655e-05 3.583197100166348e-05 + 3.515004257550265e-05 3.447780563338777e-05 3.381517049939420e-05 3.316204825033269e-05 3.251834908257212e-05 + 3.188398376275541e-05 3.125886384349450e-05 3.064290126992314e-05 3.003600797392098e-05 2.943809607683111e-05 + 2.884907925556903e-05 2.826887119646782e-05 2.769738505988399e-05 2.713453488302094e-05 2.658023526748751e-05 + 2.603440114263312e-05 2.549694738792051e-05 2.496778949423694e-05 2.444684425976710e-05 2.393402805764408e-05 + 2.342925723948219e-05 2.293244905822871e-05 2.244352120797989e-05 2.196239159983278e-05 2.148897818423003e-05 + 2.102319990982268e-05 2.056497650699234e-05 2.011422722229805e-05 1.967087173846936e-05 1.923483045310688e-05 + 1.880602417859793e-05 1.838437386840237e-05 1.796980069033951e-05 1.756222699777835e-05 1.716157539169325e-05 + 1.676776819323897e-05 1.638072842752046e-05 1.600037965967140e-05 1.562664583506045e-05 1.525945101785764e-05 + 1.489871974108943e-05 1.454437762041471e-05 1.419635018600421e-05 1.385456300630342e-05 1.351894241351905e-05 + 1.318941519258516e-05 1.286590843459537e-05 1.254834939298960e-05 1.223666606495489e-05 1.193078719950152e-05 + 1.163064137727749e-05 1.133615754527981e-05 1.104726530816775e-05 1.076389469662666e-05 1.048597599093073e-05 + 1.021343974753131e-05 9.946217419267380e-06 9.684240838620889e-06 9.427441790773100e-06 9.175752643853506e-06 + 8.929106280098344e-06 8.687435997194528e-06 8.450675338936148e-06 8.218758257424963e-06 7.991619584870982e-06 + 7.769194298227330e-06 7.551417507621627e-06 7.338224987041431e-06 7.129552955942858e-06 6.925337997222138e-06 + 6.725516977155444e-06 6.530027335862672e-06 6.338807194551445e-06 6.151794769434223e-06 5.968928615355085e-06 + 5.790147878391894e-06 5.615392155261267e-06 5.444601365246586e-06 5.277715758699128e-06 5.114676291438329e-06 + 4.955424365336747e-06 4.799901525655197e-06 4.648049820836300e-06 4.499811793985402e-06 4.355130438087899e-06 + 4.213949069835453e-06 4.076211399540344e-06 3.941861865039729e-06 3.810845196499976e-06 3.683106361660463e-06 + 3.558590910585118e-06 3.437244835818923e-06 3.319014541070219e-06 3.203846795533912e-06 3.091688852089737e-06 + 2.982488579295818e-06 2.876194109656037e-06 2.772753925582794e-06 2.672117063800105e-06 2.574233014808049e-06 + 2.479051643033932e-06 2.386523210361943e-06 2.296598552297165e-06 2.209228971591383e-06 2.124366069775506e-06 + 2.041961906232304e-06 1.961969019732135e-06 1.884340423438541e-06 1.809029507182080e-06 1.735990071613592e-06 + 1.665176534356502e-06 1.596543687803830e-06 1.530046658503296e-06 1.465641105678908e-06 1.403283128309336e-06 + 1.342929271825179e-06 1.284536503035511e-06 1.228062233226246e-06 1.173464436795038e-06 1.120701460082181e-06 + 1.069732028902882e-06 1.020515399241352e-06 9.730112822753146e-07 9.271798002921477e-07 8.829815278752155e-07 + 8.403775374680640e-07 7.993293716485992e-07 7.597989809176624e-07 7.217487560416926e-07 6.851415619710593e-07 + 6.499407524191172e-07 6.161100929136179e-07 5.836137918783888e-07 5.524166028233452e-07 5.224836968385216e-07 + 4.937806609639881e-07 4.662735849361845e-07 4.399289991547822e-07 4.147139110260500e-07 3.905957813609555e-07 + 3.675425084859321e-07 3.455225231396512e-07 3.245046871736890e-07 3.044582778536548e-07 2.853530928283095e-07 + 2.671593859185241e-07 2.498478511400059e-07 2.333896726605378e-07 2.177564985206194e-07 2.029204500538344e-07 + 1.888541210793108e-07 1.755305458522738e-07 1.629232393506973e-07 1.510062144201093e-07 1.397539174372155e-07 + 1.291412703741045e-07 1.191437050672961e-07 1.097370923617762e-07 1.008977778162274e-07 9.260259669902208e-08 + 8.482883141984319e-08 7.755426670738778e-08 7.075715683240311e-08 6.441620467100832e-08 5.851063608240125e-08 + 5.302013495440350e-08 4.792483459927075e-08 4.320538955913144e-08 3.884291294265582e-08 3.481898425658018e-08 + 3.111569527451850e-08 2.771559342817648e-08 2.460171067137196e-08 2.175758348333717e-08 1.916719757773861e-08 + 1.681503457183268e-08 1.468607978947252e-08 1.276576812429566e-08 1.104003874048358e-08 9.495328649625366e-09 + 8.118528715645258e-09 6.897042498203040e-09 5.818760232281117e-09 4.872032311209139e-09 4.045732447740840e-09 + 3.329210679517489e-09 2.712284881132093e-09 2.185301687016959e-09 1.739076161987666e-09 1.364901589086205e-09 + 1.054599065845252e-09 8.004535320102697e-10 5.952414597054672e-10 4.322622496028902e-10 3.052766304104823e-10 + 2.085502003918036e-10 1.368642901349301e-10 8.546164059834664e-11 5.010215808832263e-11 2.705311520847365e-11 + 1.304599438344934e-11 5.339090781311160e-12 1.692041320615927e-12 3.321208355096226e-13 6.781366937015517e-15 diff --git a/examples/SPIN/dev/in.spin.cobalt b/examples/SPIN/dev/in.spin.cobalt new file mode 100644 index 0000000000..4b0d7c3e64 --- /dev/null +++ b/examples/SPIN/dev/in.spin.cobalt @@ -0,0 +1,125 @@ +################### +#######Init######## +################### + +clear +units metal +dimension 3 +#boundary p p p +boundary p p p + +#newton off + +#setting atom_style to spin: +atom_style spin + +#Define sort for paramagnetic simulations (if no pair interaction) +#atom_modify sort 1000 4.0 + +atom_modify map array + +########################### +#######Create atoms######## +########################### + +lattice fcc 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box + +####################### +#######Settings######## +####################### + +#isolating 1 atom into a group +group single_spin id 10 + +#Setting one or more properties of one or more atoms. +mass 1 58.93 + +#Setting spins orientation and moment +set group all spin/random 31 1.72 +#set group all spin 1.72 0.0 0.0 1.0 +#set group single_spin spin/random 11 1.72 + +#velocity all create 200 4928459 rot yes dist gaussian +velocity all create 200 4928459 rot yes dist gaussian + +#Magneto-mechanic interactions for bulk fcc Cobalt +#pair_style pair/spin/exchange 4.0 +#pair_style eam/alloy +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 + +pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co +#pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co + +#pair_style pair/spin/exchange 4.0 +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +#pair_coeff * * exchange 4.0 -0.0446928 0.003496 1.4885 +#pair_coeff * * exchange 4.0 0.0 0.003496 1.4885 +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +#pair_coeff * * pair/spin/exchange exchange 2.5 0.0446928 0.003496 1.4885 +#pair_coeff * * pair/spin/exchange exchange 4.0 0.0 0.003496 1.4885 + +#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) +#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 +#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 + +#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.0 0.864159 2.13731 + +#Define a skin distance, update neigh list every +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 +#neighbor 1.0 bin +#neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +#fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.01 0.0 0.0 1.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +#fix 2 all langevin/spin 0.0 0.1 0.0 21 +#fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all integration/spin lattice yes +#fix 3 all integration/spin lattice no + +#compute real time, total magnetization, magnetic energy, and spin temperature +#Iteration | Time | Mx | My | Mz | |M| | Em | Tm + +#Setting the timestep for the simulation (in ps) +timestep 0.0001 + +################## +#######run######## +################## + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 +#variable test equal etotal-0.5*c_out_mag[6] + +thermo 10 +thermo_style custom step time v_magnorm v_emag temp etotal +thermo_modify format float %20.15g + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 10 +#run 1000 + diff --git a/examples/SPIN/dev/in.spin.kagome b/examples/SPIN/dev/in.spin.kagome new file mode 100644 index 0000000000..c51c35ff73 --- /dev/null +++ b/examples/SPIN/dev/in.spin.kagome @@ -0,0 +1,126 @@ +################### +#######Init######## +################### + +clear +#setting units to metal (Ang, picosecs, eV, ...): +units metal + +#setting dimension of the system (N=2 or 3): +dimension 3 + +#setting boundary conditions. (p for periodic, f for fixed, ...) +boundary p p p +#boundary f f f + +#setting atom_style to spin: +atom_style spin + +#Define sort for paramagnetic simulations (if no pair interaction) +#atom_modify sort 1000 4.0 + +#why? +atom_modify map array + +#newton off for pair spin in SEQNEI +#newton off off + +########################### +#######Create atoms######## +########################### + +#Lattice constant of fcc Cobalt +lattice fcc 3.54 +#lattice sc 2.50 + +#Test Kagome +#variable a equal sqrt(3.0)/8.0 +#variable b equal 3.0*sqrt(3.0)/8.0 +#variable c equal sqrt(3.0)/4.0 + +#lattice custom 2.5 a1 1.0 0.0 0.0 & +# a2 0.0 1.0 0.0 & +# a3 0.0 0.0 1.0 & +# basis 0.0 $a 0.0 & +# basis 0.25 $a 0.0 & +# basis 0.375 0.0 0.0 & +# basis 0.25 $b 0.0 & +# basis 0.5 $b 0.0 & +# basis 0.625 $c 0.0 + +#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen +#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) +region box block 0.0 5.0 0.0 5.0 0.0 5.0 + +#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. +create_box 1 box + +#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... +#Entries: atom type, +create_atoms 1 box + +#Replicating NxNxN the entire set of atoms +#replicate 1 1 1 + + +####################### +#######Settings######## +####################### + +#Setting one or more properties of one or more atoms. +#Setting mass +mass 1 1.0 +#set group all mass 1.0 +#Setting spins orientation and moment +#set group all spin/random 11 1.72 +set group all spin 1.72 1.0 0.0 0.0 + +#Magnetic exchange interaction coefficient for bulk fcc Cobalt +pair_style pair/spin 4.0 +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 +#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) +#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 +#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 + +#Define a skin distance, update neigh list every +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 0.0 bin +neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 +#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +#fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 2 all langevin/spin 1.0 0.1 0.0 21 +#fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all nve/spin mpi + +#compute real time, total magnetization, magnetic energy, and spin temperature +#Iteration | Time | Mx | My | Mz | |M| | Em | Tm +compute mag all compute/spin +fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g + +#Setting the timestep for the simulation (in ps) +timestep 0.0001 + +################## +#######run######## +################## + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 2000 +#run 1 + diff --git a/examples/SPIN/read_restart/in.spin.read_data b/examples/SPIN/read_restart/in.spin.read_data new file mode 100644 index 0000000000..81d654ad5b --- /dev/null +++ b/examples/SPIN/read_restart/in.spin.read_data @@ -0,0 +1,88 @@ +################### +#######Init######## +################### + +clear +units metal +dimension 3 +boundary p p p +#boundary f f f + +#setting atom_style to spin: +atom_style spin + +atom_modify map array + +########################### +#######Create atoms######## +########################### + +read_data ../examples/SPIN/Norm_randXY_8x8x32_test.data + +####################### +#######Settings######## +####################### + +#Setting one or more properties of one or more atoms. +mass 1 58.93 + +#velocity all create 200 4928459 rot yes dist gaussian + +#Magneto-mechanic interactions for bulk fcc Cobalt +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 + +# cobalt eam potential +pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co + +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 + +#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) +pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 + +#Define a skin distance, update neigh list every +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 1.0 bin +neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all integration/spin serial + +#Setting the timestep for the simulation (in ps) +timestep 0.0001 + +################## +#######run######## +################## + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 + +thermo 10 +thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo_modify format float %20.15g + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 1 dump.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 10 +#run 10000 + diff --git a/examples/SPIN/read_restart/in.spin.restart b/examples/SPIN/read_restart/in.spin.restart new file mode 100644 index 0000000000..2e3a465cab --- /dev/null +++ b/examples/SPIN/read_restart/in.spin.restart @@ -0,0 +1,89 @@ +# read a dump file for a sim. of magnetic cobalt + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# check why? +atom_modify map array + +lattice fcc 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box + +read_dump ../examples/SPIN/Norm_randXY_8x8x32.dump 0 x y z box yes + +create_atoms 1 box + +# setting mass, mag. moments, and interactions + +mass 1 58.93 + +#Setting spins orientation and moment +#set group all spin/random 31 1.72 +set group all spin 1.72 0.0 0.0 1.0 +set group single_spin spin/random 11 1.72 + +velocity all create 200 4928459 rot yes dist gaussian + +#Magneto-mechanic interactions for bulk fcc Cobalt +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 + +# cobalt eam potential +pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co + +#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 + +#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) +pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 + +#Define a skin distance, update neigh list every +#neighbor 1.0 bin +#neigh_modify every 10 check yes delay 20 +neighbor 1.0 bin +neigh_modify every 1 check no delay 0 + +#Magnetic field fix +#Type | Intensity (T or eV) | Direction +fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 + +#Fix Langevin spins (merging damping and temperature) +#Temp | Alpha_trans | Alpha_long | Seed +fix 2 all langevin/spin 0.0 0.0 0.0 21 + +#Magnetic integration fix +fix 3 all integration/spin serial + +#Setting the timestep for the simulation (in ps) +timestep 0.0001 + +################## +#######run######## +################## + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 + +thermo 10 +thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo_modify format float %20.15g + +#Dump the positions and spin directions of magnetic particles (vmd format) +dump 1 all custom 20 dump.lammpstrj type x y z spx spy spz + +#Running the simulations for N timesteps +run 100 +#run 10000 + diff --git a/examples/SPIN/skyrmion/in.spin.skyrmion b/examples/SPIN/skyrmion/in.spin.skyrmion new file mode 100644 index 0000000000..b2f1f62057 --- /dev/null +++ b/examples/SPIN/skyrmion/in.spin.skyrmion @@ -0,0 +1,55 @@ +# fcc cobalt in a 3d box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p f + +# check why? +atom_modify map array + +lattice fcc 3.54 +region box block 0.0 50.0 0.0 50.0 0.0 4.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.93 + +set group all spin/random 31 1.72 + +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +pair_style hybrid/overlay pair/spin/exchange 4.0 pair/spin/soc/dmi 2.6 +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff * * pair/spin/soc/dmi dmi 2.6 0.01 0.0 0.0 1.0 +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all force/spin anisotropy 0.0001 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.1 0.0 21 + +fix 3 all integration/spin lattice no + +timestep 0.0002 + +# define output and run + +compute out_mag all compute/spin +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 + +thermo_style custom step time v_magnorm v_emag etotal +thermo 50 + +dump 1 all custom 50 dump_skyrmion.lammpstrj type x y z spx spy spz + +run 10000 + diff --git a/examples/SPIN/vmd/prepare_vmd.sh b/examples/SPIN/vmd/prepare_vmd.sh new file mode 100755 index 0000000000..fa62c6e109 --- /dev/null +++ b/examples/SPIN/vmd/prepare_vmd.sh @@ -0,0 +1,91 @@ +#!/bin/bash +# example prepare_vmd.sh /home/jtranch/Documents/lammps/src/dump_VSRSV.lammpstrj +# you will get a return file + +echo "vmd script for file $1 is preparing..." + +timestamp(){ + date +%s +} + +TS=$(timestamp) +FILE=view_${TS}.vmd + +cat >${FILE} <] [resolution ] [radius ] [filled ]"} + # defaults + set scale 2.0 + set res 50 + set radius 0.1 + set filled yes + + if {[llength \$args] < 3} { + error "wrong # args: should be \$usage" + } + set mol [lindex \$args 0] + set center [lindex \$args 1] + set vector [lindex \$args 2] + if {[llength \$center] != 3 || [llength \$vector] != 3} { + error "wrong type of args: should be \$usage" + } + + foreach {flag value} [lrange \$args 3 end] { + switch -glob \$flag { + scale {set scale \$value} + res* {set res \$value} + rad* {set radius \$value} + fill* {set filled \$value} + default {error "unknown option '\$flag': should be \$usage" } + } + } + + set vechalf [vecscale [expr \$scale * 0.5] \$vector] + return [list \\ + [graphics \$mol color yellow]\\ + [graphics \$mol cylinder [vecsub \$center \$vechalf]\\ + [vecadd \$center [vecscale 0.7 \$vechalf]] \\ + radius \$radius resolution \$res filled \$filled] \\ + [graphics \$mol color orange]\\ + [graphics \$mol cone [vecadd \$center [vecscale 0.6 \$vechalf]] \\ + [vecadd \$center \$vechalf] radius [expr \$radius * 2.5] \\ + resolution \$res]] +} + +proc vmd_draw_spin {args} { + global molid + graphics \$molid delete all + set frame [molinfo \$molid get frame] + set natoms [molinfo \$molid get numatoms] + for {set i 0} {\$i < \$natoms} {incr i} { + set sel [atomselect top "index \$i"] + set coords [lindex [\$sel get {x y z}] \$molid] + set velocities [lindex [\$sel get {vx vy vz}] \$molid] + draw vector \$coords \$velocities + set uvx [lindex [\$sel get {vx}] \$molid] + set uvy [lindex [\$sel get {vy}] \$molid] + set uvz [lindex [\$sel get {vz}] \$molid] + \$sel set user [vecadd [vecadd [vecscale \$uvy \$uvy] [vecscale \$uvz \$uvz] ] [vecscale \$uvx \$uvx]] + \$sel set user \$uvy + #draw vector \$coords {0.0 uvy 0.0} + } + #pbc box -color 3 +} + +proc enable_trace {} { + global vmd_frame + trace variable vmd_frame([molinfo top]) w vmd_draw_spin +} + +set molid [mol addfile {$1} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] +scale by 0.5 +animate style Loop +enable_trace +EOF +echo "$FILE is ready..." diff --git a/examples/SPIN/vmd/vmd_nano.vmd b/examples/SPIN/vmd/vmd_nano.vmd new file mode 100644 index 0000000000..f9e3454270 --- /dev/null +++ b/examples/SPIN/vmd/vmd_nano.vmd @@ -0,0 +1,79 @@ +proc vmd_draw_arrow {mol start end} { + set middle [vecadd $start [vecscale 0.9 [vecsub $end $start]]] + graphics $mol cylinder $start $middle radius 0.05 + graphics $mol cone $middle $end radius 0.01 color 3 +} + +proc vmd_draw_vector {args} { + set usage {"draw vector {x1 y1 z1} {x2 y2 z2} [scale ] [resolution ] [radius ] [filled ]"} + # defaults + set scale 2.0 + set res 50 + set radius 0.1 + set filled yes + + if {[llength $args] < 3} { + error "wrong # args: should be $usage" + } + set mol [lindex $args 0] + set center [lindex $args 1] + set vector [lindex $args 2] + if {[llength $center] != 3 || [llength $vector] != 3} { + error "wrong type of args: should be $usage" + } + + foreach {flag value} [lrange $args 3 end] { + switch -glob $flag { + scale {set scale $value} + res* {set res $value} + rad* {set radius $value} + fill* {set filled $value} + default {error "unknown option '$flag': should be $usage" } + } + } + + set vechalf [vecscale [expr $scale * 0.5] $vector] + return [list \ + [graphics $mol color yellow]\ + [graphics $mol cylinder [vecsub $center $vechalf]\ + [vecadd $center [vecscale 0.7 $vechalf]] \ + radius $radius resolution $res filled $filled] \ + [graphics $mol color orange]\ + [graphics $mol cone [vecadd $center [vecscale 0.6 $vechalf]] \ + [vecadd $center $vechalf] radius [expr $radius * 2.5] \ + resolution $res]] +} + +proc vmd_draw_spin {args} { + global molid + graphics $molid delete all + set frame [molinfo $molid get frame] + set natoms [molinfo $molid get numatoms] + for {set i 0} {$i < $natoms} {incr i} { + set sel [atomselect top "index $i"] +# set sel [atomselect top "index 1200"] + set coords [lindex [$sel get {x y z}] $molid] + set velocities [lindex [$sel get {vx vy vz}] $molid] + draw vector $coords $velocities + set uvx [lindex [$sel get {vx}] $molid] + set uvy [lindex [$sel get {vy}] $molid] + set uvz [lindex [$sel get {vz}] $molid] + $sel set user [vecadd [vecadd [vecscale $uvy $uvy] [vecscale $uvz $uvz] ] [vecscale $uvx $uvx]] + $sel set user $uvy + #draw vector $coords {0.0 uvy 0.0} + } + #pbc box -color 3 +} + +proc enable_trace {} { + global vmd_frame + trace variable vmd_frame([molinfo top]) w vmd_draw_spin + } + +set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] +scale by 0.5 +animate style Loop +enable_trace + + + -- GitLab From b422480002bdb7d7f39a726f040d32c494d24c94 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 13 Feb 2018 07:23:48 -0700 Subject: [PATCH 072/675] Commit JT 021318 --- doc/src/fix_langevin_spin.txt | 18 +- examples/SPIN/bfo/in.spin.bfo | 66 +- examples/SPIN/cobalt/in.spin.cobalt | 4 +- .../SPIN/curie_temperature/in.spin.cobalt | 2 +- examples/SPIN/dev/in.spin.cobalt | 23 +- examples/SPIN/iron/Fe_Mishin2006.eam.alloy | 15009 ++++++++ examples/SPIN/iron/fe_dd.dat | 19 + examples/SPIN/iron/in.spin.iron | 59 + examples/SPIN/nickel/Ni99.eam.alloy | 30006 ++++++++++++++++ examples/SPIN/nickel/in.spin.nickel | 59 + examples/SPIN/read_restart/in.spin.read_data | 2 +- examples/SPIN/skyrmion/in.spin.skyrmion | 92 +- src/SPIN/fix_langevin_spin.cpp | 16 +- src/SPIN/fix_langevin_spin.h | 2 +- 14 files changed, 45281 insertions(+), 96 deletions(-) create mode 100644 examples/SPIN/iron/Fe_Mishin2006.eam.alloy create mode 100644 examples/SPIN/iron/fe_dd.dat create mode 100644 examples/SPIN/iron/in.spin.iron create mode 100644 examples/SPIN/nickel/Ni99.eam.alloy create mode 100644 examples/SPIN/nickel/in.spin.nickel diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index 71b305dd01..6216ed33ca 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -16,13 +16,12 @@ ID, group-ID are documented in "fix"_fix.html command :ulb,l langevin/spin = style name of this fix command :l T = desired temperature of the bath (temperature units, K in metal units) :l Tdamp = transverse magnetic damping parameter (adim) :l -Ldamp = longitudinal magnetic damping parameter (adim) :l seed = random number seed to use for white noise (positive integer) :l :ule [Examples:] -fix 2 all langevin/spin 300.0 0.01 0.0 21 :pre +fix 2 all langevin/spin 300.0 0.01 21 :pre [Description:] @@ -36,6 +35,8 @@ the following stochastic differential equation: :c,image(Eqs/fix_langevin_spin_sLLG.jpg) with lambda the transverse damping, and eta a random verctor. +This equation is referred to as the stochastic Landau-Lifshitz-Gilbert (sLLG) +equation. The components of eta are drawn from a Gaussian probability law. Their amplitude is defined as a proportion of the temperature of the external thermostat T (in K @@ -43,6 +44,16 @@ in metal units). More details about this implementation are reported in "(Tranchida)"_#Tranchida1. +Note: due to the form of the sLLG equation, this fix has to be the last defined +magnetic fix before the integration/spin fix. As an example: + +fix 1 all force/spin zeeman 0.01 0.0 0.0 1.0 +fix 2 all langevin/spin 300.0 0.01 21 +fix 3 all integration/spin lattice yes :pre + +is correct, but defining a force/spin command after the langevin/spin command +would send an error message. + Note: The random # {seed} must be a positive integer. A Marsaglia random number generator is used. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. @@ -71,6 +82,9 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. The numerical integration has to be performed with {fix/integration/spin} when {langevin/spin} is enabled. +This fix has to be the last defined magnetic fix before the integration fix +("fix integration spin"_fix_integration_spin.html). + [Related commands:] "fix integration spin"_fix_integration_spin.html, diff --git a/examples/SPIN/bfo/in.spin.bfo b/examples/SPIN/bfo/in.spin.bfo index a760bd9dc1..91dd8aac8c 100644 --- a/examples/SPIN/bfo/in.spin.bfo +++ b/examples/SPIN/bfo/in.spin.bfo @@ -1,55 +1,55 @@ -# sc iron atoms in bismuth oxide +# layer sc iron atoms (in the [001] plane) in bismuth oxide clear -units metal -atom_style spin +units metal +atom_style spin -dimension 3 -boundary p p p +dimension 3 +boundary p p f # check why? -atom_modify map array +atom_modify map array -lattice sc 3.96 -region box block 0.0 34.0 0.0 34.0 0.0 5.0 -create_box 1 box -create_atoms 1 box +lattice sc 3.96 +region box block 0.0 34.0 0.0 34.0 0.0 5.0 +create_box 1 box +create_atoms 1 box # setting mass, mag. moments, and interactions for bfo mass 1 1.0 -set group all spin/random 11 2.50 +set group all spin/random 11 2.50 -pair_style hybrid/overlay pair/spin/exchange 6.0 pair/spin/me 4.5 -pair_coeff * * pair/spin/exchange exchange 6.0 -0.01575 0.0 1.965 -pair_coeff * * pair/spin/me me 4.5 0.000109 1.0 1.0 1.0 +pair_style hybrid/overlay pair/spin/exchange 6.0 pair/spin/me 4.5 +pair_coeff * * pair/spin/exchange exchange 6.0 -0.01575 0.0 1.965 +#pair_coeff * * pair/spin/me me 4.5 0.000109 1.0 1.0 1.0 +pair_coeff * * pair/spin/me me 4.5 0.00109 1.0 1.0 1.0 -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 -fix 1 all force/spin anisotropy 0.0000035 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 1 all force/spin anisotropy 0.0000033 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.1 21 +fix 3 all integration/spin lattice no -fix 3 all integration/spin lattice no +timestep 0.0002 -timestep 0.0001 +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] -variable mag_force equal f_1 +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 thermo_style custom step time v_magnorm v_emag temp etotal -thermo 10 +thermo 50 -#dump 1 all custom 100 dump_spin_BFO.lammpstrj type x y z spx spy spz +dump 1 all custom 100 dump_spin_BFO.lammpstrj type x y z spx spy spz -run 10000 +run 20000 diff --git a/examples/SPIN/cobalt/in.spin.cobalt b/examples/SPIN/cobalt/in.spin.cobalt index 2cb1f7d182..8d1ac3c557 100644 --- a/examples/SPIN/cobalt/in.spin.cobalt +++ b/examples/SPIN/cobalt/in.spin.cobalt @@ -31,8 +31,8 @@ pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 -fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 1 all force/spin zeeman 0.01 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 fix 3 all integration/spin lattice yes diff --git a/examples/SPIN/curie_temperature/in.spin.cobalt b/examples/SPIN/curie_temperature/in.spin.cobalt index 2cb1f7d182..09ac4abb0b 100644 --- a/examples/SPIN/curie_temperature/in.spin.cobalt +++ b/examples/SPIN/curie_temperature/in.spin.cobalt @@ -32,7 +32,7 @@ neighbor 0.1 bin neigh_modify every 10 check yes delay 20 fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.1 0.0 21 +fix 2 all langevin/spin 0.0 0.1 21 fix 3 all integration/spin lattice yes diff --git a/examples/SPIN/dev/in.spin.cobalt b/examples/SPIN/dev/in.spin.cobalt index 4b0d7c3e64..2ec13f2cef 100644 --- a/examples/SPIN/dev/in.spin.cobalt +++ b/examples/SPIN/dev/in.spin.cobalt @@ -48,10 +48,10 @@ velocity all create 200 4928459 rot yes dist gaussian #Magneto-mechanic interactions for bulk fcc Cobalt #pair_style pair/spin/exchange 4.0 #pair_style eam/alloy -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * eam/alloy ../examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy Co #pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co #pair_style pair/spin/exchange 4.0 @@ -67,7 +67,7 @@ pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 #pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 #type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 +pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 #pair_coeff * * pair/spin/soc/neel neel 4.0 0.0 0.864159 2.13731 #Define a skin distance, update neigh list every @@ -78,13 +78,13 @@ neigh_modify every 10 check yes delay 20 #Magnetic field fix #Type | Intensity (T or eV) | Direction -#fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 +fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.01 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) #Temp | Alpha_trans | Alpha_long | Seed #fix 2 all langevin/spin 0.0 0.1 0.0 21 -#fix 2 all langevin/spin 0.0 0.0 0.0 21 +fix 2 all langevin/spin 0.0 0.0 21 #Magnetic integration fix fix 3 all integration/spin lattice yes @@ -112,14 +112,15 @@ variable tmag equal c_out_mag[7] variable mag_force equal f_1 #variable test equal etotal-0.5*c_out_mag[6] -thermo 10 -thermo_style custom step time v_magnorm v_emag temp etotal +thermo 50 +#thermo_style custom step time v_magnorm v_tmag temp etotal +thermo_style custom step time pe ke v_emag etotal thermo_modify format float %20.15g #Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz +#dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz #Running the simulations for N timesteps -run 10 -#run 1000 +#run 10 +run 200000 diff --git a/examples/SPIN/iron/Fe_Mishin2006.eam.alloy b/examples/SPIN/iron/Fe_Mishin2006.eam.alloy new file mode 100644 index 0000000000..69231bb7ee --- /dev/null +++ b/examples/SPIN/iron/Fe_Mishin2006.eam.alloy @@ -0,0 +1,15009 @@ +comment 1 +comment 2 +Converted by Ganga P Purja Pun using C++ code on Mon Nov 3 10:48:17 2014 +1 Fe +5001 2.400000000000000e-03 5001 1.134673400048920e-03 5.673367000244601e+00 +26 5.584700000000000e+01 2.855300000000000e+00 BCC + 0.000000000000000e+00 + -2.338738741480766e-02 + -4.628214468925276e-02 + -6.912258036387915e-02 + -9.175603963501618e-02 + -1.141497214000000e-01 + -1.363388222824136e-01 + -1.583226111166723e-01 + -1.800965752913192e-01 + -2.016645989796093e-01 + -2.230289901000000e-01 + -2.441907391820846e-01 + -2.651515164004249e-01 + -2.859130554412839e-01 + -3.064769176965011e-01 + -3.268446844000000e-01 + -3.470179531091855e-01 + -3.669982968636285e-01 + -3.867872784635140e-01 + -4.063864535839295e-01 + -4.257973671999999e-01 + -4.450215551034667e-01 + -4.640605423684923e-01 + -4.829158454463851e-01 + -5.015889707095635e-01 + -5.200814146000000e-01 + -5.383946650297390e-01 + -5.565301991603658e-01 + -5.744894857268537e-01 + -5.922739837155686e-01 + -6.098851423000000e-01 + -6.273244022645037e-01 + -6.445931939756846e-01 + -6.616929394780281e-01 + -6.786250511352716e-01 + -6.953909318999999e-01 + -7.119919765952718e-01 + -7.284295696432279e-01 + -7.447050873484842e-01 + -7.608198966551055e-01 + -7.767753551999997e-01 + -7.925728126189590e-01 + -8.082136084644670e-01 + -8.236990743647939e-01 + -8.390305327768360e-01 + -8.542092970000001e-01 + -8.692366724924486e-01 + -8.841139549244775e-01 + -8.988424321942350e-01 + -9.134233831702263e-01 + -9.278580778000000e-01 + -9.421477783833053e-01 + -9.562937376266863e-01 + -9.702972006149804e-01 + -9.841594035897939e-01 + -9.978815741999999e-01 + -1.011464932626877e+00 + -1.024910689374227e+00 + -1.038220047492379e+00 + -1.051394201530088e+00 + -1.064434338000000e+00 + -1.077341636148692e+00 + -1.090117264995124e+00 + -1.102762386491716e+00 + -1.115278154872840e+00 + -1.127665716000000e+00 + -1.139926208397942e+00 + -1.152060761127338e+00 + -1.164070496370367e+00 + -1.175956528594255e+00 + -1.187719964000000e+00 + -1.199361901614307e+00 + -1.210883431375302e+00 + -1.222285636497208e+00 + -1.233569592577916e+00 + -1.244736367000000e+00 + -1.255787020138112e+00 + -1.266722603828963e+00 + -1.277544163022812e+00 + -1.288252734706093e+00 + -1.298849349000000e+00 + -1.309335029515858e+00 + -1.319710789766606e+00 + -1.329977637188551e+00 + -1.340136572985217e+00 + -1.350188590000000e+00 + -1.360134674013246e+00 + -1.369975802739515e+00 + -1.379712947700534e+00 + -1.389347073262624e+00 + -1.398879136000000e+00 + -1.408310086019347e+00 + -1.417640866058629e+00 + -1.426872412303706e+00 + -1.436005653062347e+00 + -1.445041510000000e+00 + -1.453980898788701e+00 + -1.462824726507764e+00 + -1.471573894410746e+00 + -1.480229297407323e+00 + -1.488791823000000e+00 + -1.497262352264216e+00 + -1.505641758273629e+00 + -1.513930908641532e+00 + -1.522130664940848e+00 + -1.530241881000000e+00 + -1.538265404312065e+00 + -1.546202075663511e+00 + -1.554052729949587e+00 + -1.561818194964572e+00 + -1.569499292000000e+00 + -1.577096836740392e+00 + -1.584611637631811e+00 + -1.592044497451960e+00 + -1.599396212413425e+00 + -1.606667572000000e+00 + -1.613859360067553e+00 + -1.620972353850301e+00 + -1.628007324820493e+00 + -1.634965037585305e+00 + -1.641846251000000e+00 + -1.648651718746855e+00 + -1.655382187120556e+00 + -1.662038397074428e+00 + -1.668621083574689e+00 + -1.675130975000000e+00 + -1.681568794320005e+00 + -1.687935258528783e+00 + -1.694231079461267e+00 + -1.700456962682860e+00 + -1.706613607000000e+00 + -1.712701705964896e+00 + -1.718721948142722e+00 + -1.724675016499694e+00 + -1.730561586828580e+00 + -1.736382330000000e+00 + -1.742137912457411e+00 + -1.747828994017656e+00 + -1.753456229026646e+00 + -1.759020265526974e+00 + -1.764521747000000e+00 + -1.769961312537754e+00 + -1.775339594027171e+00 + -1.780657218386706e+00 + -1.785914807192779e+00 + -1.791112977000000e+00 + -1.796252339747382e+00 + -1.801333500673453e+00 + -1.806357060360666e+00 + -1.811323614328498e+00 + -1.816233753000000e+00 + -1.821088062150410e+00 + -1.825887120985276e+00 + -1.830631504346673e+00 + -1.835321782397329e+00 + -1.839958520000000e+00 + -1.844542277375300e+00 + -1.849073608812209e+00 + -1.853553064572349e+00 + -1.857981190434394e+00 + -1.862358526000000e+00 + -1.866685606181999e+00 + -1.870962962067843e+00 + -1.875191119963197e+00 + -1.879370599902195e+00 + -1.883501918000000e+00 + -1.887585586736770e+00 + -1.891622112755978e+00 + -1.895611998485404e+00 + -1.899555741651499e+00 + -1.903453835000000e+00 + -1.907306767129976e+00 + -1.911115021853308e+00 + -1.914879078883785e+00 + -1.918599413067872e+00 + -1.922276495000000e+00 + -1.925910791456493e+00 + -1.929502763824010e+00 + -1.933052869645757e+00 + -1.936561562187136e+00 + -1.940029290000000e+00 + -1.943456497684402e+00 + -1.946843625242175e+00 + -1.950191109032846e+00 + -1.953499381145042e+00 + -1.956768869000000e+00 + -1.959999996258605e+00 + -1.963193182622893e+00 + -1.966348843806269e+00 + -1.969467390558660e+00 + -1.972549230000000e+00 + -1.975594766012145e+00 + -1.978604397775412e+00 + -1.981578520793180e+00 + -1.984517526364655e+00 + -1.987421802000000e+00 + -1.990291731861874e+00 + -1.993127695559656e+00 + -1.995930069364364e+00 + -1.998699225767272e+00 + -2.001435533000000e+00 + -2.004139355858378e+00 + -2.006811055538481e+00 + -2.009450989763890e+00 + -2.012059511961222e+00 + -2.014636972000000e+00 + -2.017183716742461e+00 + -2.019700089231340e+00 + -2.022186429001382e+00 + -2.024643071393187e+00 + -2.027070349000000e+00 + -2.029468591629637e+00 + -2.031838124095820e+00 + -2.034179268100215e+00 + -2.036492342201070e+00 + -2.038777662000000e+00 + -2.041035540156417e+00 + -2.043266284490031e+00 + -2.045470200083453e+00 + -2.047647589335177e+00 + -2.049798751000000e+00 + -2.051923980684690e+00 + -2.054023570214561e+00 + -2.056097808968247e+00 + -2.058146983649728e+00 + -2.060171377000000e+00 + -2.062171268551674e+00 + -2.064146934640815e+00 + -2.066098649159696e+00 + -2.068026683134947e+00 + -2.069931304000000e+00 + -2.071812776276246e+00 + -2.073671361471072e+00 + -2.075507318519566e+00 + -2.077320903301032e+00 + -2.079112369000000e+00 + -2.080881966139512e+00 + -2.082629940879466e+00 + -2.084356537486872e+00 + -2.086061998635378e+00 + -2.087746563000000e+00 + -2.089410466229110e+00 + -2.091053941828707e+00 + -2.092677220771137e+00 + -2.094280530723314e+00 + -2.095864097000000e+00 + -2.097428142794787e+00 + -2.098972888139794e+00 + -2.100498550462023e+00 + -2.102005344216306e+00 + -2.103493482000000e+00 + -2.104963174393948e+00 + -2.106414628045970e+00 + -2.107848047779690e+00 + -2.109263636820768e+00 + -2.110661595000000e+00 + -2.112042119471926e+00 + -2.113405405101743e+00 + -2.114751645122076e+00 + -2.116081030815763e+00 + -2.117393750000000e+00 + -2.118689987937912e+00 + -2.119969928191390e+00 + -2.121233752504371e+00 + -2.122481640223532e+00 + -2.123713768000000e+00 + -2.124930310308645e+00 + -2.126131439345980e+00 + -2.127317325650607e+00 + -2.128488137848567e+00 + -2.129644042000000e+00 + -2.130785202020548e+00 + -2.131911779449632e+00 + -2.133023934312029e+00 + -2.134121824962966e+00 + -2.135205607000000e+00 + -2.136275433910872e+00 + -2.137331457489147e+00 + -2.138373827747866e+00 + -2.139402692469194e+00 + -2.140418197999999e+00 + -2.141420489142081e+00 + -2.142409707722756e+00 + -2.143385994030927e+00 + -2.144349486926974e+00 + -2.145300323000000e+00 + -2.146238637076898e+00 + -2.147164562479522e+00 + -2.148078231051947e+00 + -2.148979772720135e+00 + -2.149869315000000e+00 + -2.150746983835218e+00 + -2.151612904662093e+00 + -2.152467200947815e+00 + -2.153309993218032e+00 + -2.154141401000000e+00 + -2.154961542883784e+00 + -2.155770535619624e+00 + -2.156568494253713e+00 + -2.157355531798206e+00 + -2.158131760000000e+00 + -2.158897289576013e+00 + -2.159652229917454e+00 + -2.160396688379106e+00 + -2.161130769707277e+00 + -2.161854579000000e+00 + -2.162568220747540e+00 + -2.163271795520776e+00 + -2.163965403104795e+00 + -2.164649143391419e+00 + -2.165323114000000e+00 + -2.165987410839904e+00 + -2.166642128874188e+00 + -2.167287362019562e+00 + -2.167923202786971e+00 + -2.168549742000000e+00 + -2.169167069289456e+00 + -2.169775273557456e+00 + -2.170374442741976e+00 + -2.170964663390078e+00 + -2.171546020000000e+00 + -2.172118595836383e+00 + -2.172682474202094e+00 + -2.173237737093693e+00 + -2.173784464448991e+00 + -2.174322736000000e+00 + -2.174852630794634e+00 + -2.175374225221640e+00 + -2.175887595177988e+00 + -2.176392816678372e+00 + -2.176889964000000e+00 + -2.177379110090651e+00 + -2.177860327096639e+00 + -2.178333686466943e+00 + -2.178799258747679e+00 + -2.179257113000000e+00 + -2.179707317299531e+00 + -2.180149939409128e+00 + -2.180585046165010e+00 + -2.181012703042297e+00 + -2.181432975000000e+00 + -2.181845926509731e+00 + -2.182251621108717e+00 + -2.182650121032542e+00 + -2.183041486916871e+00 + -2.183425780000000e+00 + -2.183803061402426e+00 + -2.184173389857596e+00 + -2.184536823542827e+00 + -2.184893420600431e+00 + -2.185243238000000e+00 + -2.185586332004080e+00 + -2.185922759056265e+00 + -2.186252574500474e+00 + -2.186575831916728e+00 + -2.186892585000000e+00 + -2.187202887393400e+00 + -2.187506791832633e+00 + -2.187804350256584e+00 + -2.188095613705712e+00 + -2.188380633000000e+00 + -2.188659458643119e+00 + -2.188932140238827e+00 + -2.189198726845117e+00 + -2.189459267002233e+00 + -2.189713809000000e+00 + -2.189962400732430e+00 + -2.190205089044370e+00 + -2.190441920581333e+00 + -2.190672942002169e+00 + -2.190898199000000e+00 + -2.191117736662499e+00 + -2.191331600149922e+00 + -2.191539834109547e+00 + -2.191742482380937e+00 + -2.191939589000000e+00 + -2.192131197889608e+00 + -2.192317351831708e+00 + -2.192498093290244e+00 + -2.192673464653123e+00 + -2.192843508000000e+00 + -2.193008265149897e+00 + -2.193167777657277e+00 + -2.193322086821774e+00 + -2.193471233640668e+00 + -2.193615259000000e+00 + -2.193754203483761e+00 + -2.193888106693908e+00 + -2.194017008313546e+00 + -2.194140948496115e+00 + -2.194259967000000e+00 + -2.194374103230534e+00 + -2.194483396307522e+00 + -2.194587885225862e+00 + -2.194687608881331e+00 + -2.194782606000000e+00 + -2.194872915200472e+00 + -2.194958575082935e+00 + -2.195039623893670e+00 + -2.195116099394696e+00 + -2.195188040000000e+00 + -2.195255484352944e+00 + -2.195318470219860e+00 + -2.195377035223315e+00 + -2.195431217130485e+00 + -2.195481054000000e+00 + -2.195526583926446e+00 + -2.195567844428364e+00 + -2.195604873029958e+00 + -2.195637707516086e+00 + -2.195666386000000e+00 + -2.195690946583878e+00 + -2.195711426545218e+00 + -2.195727863658885e+00 + -2.195740296673043e+00 + -2.195748763000000e+00 + -2.195753299607926e+00 + -2.195753945356280e+00 + -2.195750739132009e+00 + -2.195743719093693e+00 + -2.195732923000000e+00 + -2.195718388771941e+00 + -2.195700155840199e+00 + -2.195678263244660e+00 + -2.195652748934943e+00 + -2.195623652000000e+00 + -2.195591012099144e+00 + -2.195554867993407e+00 + -2.195515258985693e+00 + -2.195472225489285e+00 + -2.195425807000000e+00 + -2.195376042760528e+00 + -2.195322973614639e+00 + -2.195266640267298e+00 + -2.195207082686241e+00 + -2.195144342000000e+00 + -2.195078459809379e+00 + -2.195009476453377e+00 + -2.194937433066797e+00 + -2.194862372466152e+00 + -2.194784337000000e+00 + -2.194703368615792e+00 + -2.194619509257747e+00 + -2.194532801771278e+00 + -2.194443290305841e+00 + -2.194351018000000e+00 + -2.194256027737437e+00 + -2.194158364279782e+00 + -2.194058072250755e+00 + -2.193955195446114e+00 + -2.193849779000000e+00 + -2.193741868885436e+00 + -2.193631510785602e+00 + -2.193518750557477e+00 + -2.193403634464252e+00 + -2.193286209000000e+00 + -2.193166521091908e+00 + -2.193044618884907e+00 + -2.192920550384463e+00 + -2.192794362988794e+00 + -2.192666105000000e+00 + -2.192535825071375e+00 + -2.192403570783236e+00 + -2.192269389306454e+00 + -2.192133327558461e+00 + -2.191995432000000e+00 + -2.191855748732582e+00 + -2.191714323538803e+00 + -2.191571201647935e+00 + -2.191426427571225e+00 + -2.191280046000000e+00 + -2.191132101498374e+00 + -2.190982637495000e+00 + -2.190831697104933e+00 + -2.190679323369808e+00 + -2.190525559000000e+00 + -2.190370446239990e+00 + -2.190214026313205e+00 + -2.190056340263544e+00 + -2.189897429222788e+00 + -2.189737334000000e+00 + -2.189576094894156e+00 + -2.189413751026334e+00 + -2.189250341662785e+00 + -2.189085906605225e+00 + -2.188920484000000e+00 + -2.188754111167896e+00 + -2.188586826517446e+00 + -2.188418667831656e+00 + -2.188249671505532e+00 + -2.188079874000000e+00 + -2.187909311655257e+00 + -2.187738019850499e+00 + -2.187566033827133e+00 + -2.187393388939138e+00 + -2.187220120000000e+00 + -2.187046261198758e+00 + -2.186871845656608e+00 + -2.186696906557450e+00 + -2.186521477499284e+00 + -2.186345591000000e+00 + -2.186169278929348e+00 + -2.185992573469870e+00 + -2.185815507881449e+00 + -2.185638116930091e+00 + -2.185460435000000e+00 + -2.185282496723147e+00 + -2.185104339046128e+00 + -2.184925999471230e+00 + -2.184747515559985e+00 + -2.184568926000000e+00 + -2.184390270419004e+00 + -2.184211589307456e+00 + -2.184032923638580e+00 + -2.183854314918697e+00 + -2.183675806000000e+00 + -2.183497440664645e+00 + -2.183319263062145e+00 + -2.183141318226586e+00 + -2.182963652427783e+00 + -2.182786312000000e+00 + -2.182609343803448e+00 + -2.182432796909005e+00 + -2.182256720850984e+00 + -2.182081165100584e+00 + -2.181906180000000e+00 + -2.181731816772078e+00 + -2.181558127901617e+00 + -2.181385166690271e+00 + -2.181212987245827e+00 + -2.181041644000000e+00 + -2.180871191888493e+00 + -2.180701687214938e+00 + -2.180533187286951e+00 + -2.180365750436408e+00 + -2.180199435000000e+00 + -2.180034299706266e+00 + -2.179870405073628e+00 + -2.179707812476292e+00 + -2.179546583956951e+00 + -2.179386782000000e+00 + -2.179228469569652e+00 + -2.179071710572415e+00 + -2.178916570209873e+00 + -2.178763115274171e+00 + -2.178611412000000e+00 + -2.178461526719817e+00 + -2.178313527960817e+00 + -2.178167485170301e+00 + -2.178023468394170e+00 + -2.177881548000000e+00 + -2.177741794911888e+00 + -2.177604281585152e+00 + -2.177469081134519e+00 + -2.177336267165003e+00 + -2.177205914000000e+00 + -2.177078096781969e+00 + -2.176952892179310e+00 + -2.176830377266735e+00 + -2.176710629289710e+00 + -2.176593727000000e+00 + -2.176479750089725e+00 + -2.176368778170715e+00 + -2.176260892035270e+00 + -2.176156174290115e+00 + -2.176054707000000e+00 + -2.175956572480315e+00 + -2.175861855847520e+00 + -2.175770642395214e+00 + -2.175683016800304e+00 + -2.175599066000000e+00 + -2.175518878125867e+00 + -2.175442540126260e+00 + -2.175370140365612e+00 + -2.175301769822078e+00 + -2.175237519000000e+00 + -2.175177478422601e+00 + -2.175121740498959e+00 + -2.175070398200953e+00 + -2.175023544771637e+00 + -2.174981275000000e+00 + -2.174943684570890e+00 + -2.174910868831887e+00 + -2.174882924320826e+00 + -2.174859949548785e+00 + -2.174842043000000e+00 + -2.174829303331104e+00 + -2.174821830410927e+00 + -2.174819725228089e+00 + -2.174823090027552e+00 + -2.174832027000000e+00 + -2.174846638699704e+00 + -2.174867029559900e+00 + -2.174893304738549e+00 + -2.174925569834485e+00 + -2.174963931000000e+00 + -2.175008495084293e+00 + -2.175059370394289e+00 + -2.175116665887380e+00 + -2.175180491027200e+00 + -2.175250956000000e+00 + -2.175328171805043e+00 + -2.175412250937077e+00 + -2.175503306357684e+00 + -2.175601451271103e+00 + -2.175706800000000e+00 + -2.175819467765500e+00 + -2.175939570549688e+00 + -2.176067225041086e+00 + -2.176202548787411e+00 + -2.176345660000000e+00 + -2.176496677644949e+00 + -2.176655722183164e+00 + -2.176822914601843e+00 + -2.176998376191533e+00 + -2.177182229000000e+00 + -2.177374595921169e+00 + -2.177575601341799e+00 + -2.177785370087074e+00 + -2.178004027196875e+00 + -2.178231699000000e+00 + -2.178468512862275e+00 + -2.178714597011325e+00 + -2.178970080062299e+00 + -2.179235091002944e+00 + -2.179509760000000e+00 + -2.179794218272507e+00 + -2.180088598277346e+00 + -2.180393032665419e+00 + -2.180707654074028e+00 + -2.181032597000000e+00 + -2.181367997183408e+00 + -2.181713990526695e+00 + -2.182070713375897e+00 + -2.182438302803596e+00 + -2.182816897000000e+00 + -2.183206635150288e+00 + -2.183607657686531e+00 + -2.184020105275964e+00 + -2.184444118610974e+00 + -2.184879840000000e+00 + -2.185327412889597e+00 + -2.185786981109685e+00 + -2.186258689137973e+00 + -2.186742682377725e+00 + -2.187239107000000e+00 + -2.187748109862624e+00 + -2.188269838801850e+00 + -2.188804442677439e+00 + -2.189352071523296e+00 + -2.189912875000000e+00 + -2.190487003093955e+00 + -2.191074608322116e+00 + -2.191675843787203e+00 + -2.192290862610885e+00 + -2.192919819000000e+00 + -2.193562867915730e+00 + -2.194220164552147e+00 + -2.194891865404003e+00 + -2.195578128862665e+00 + -2.196279113000000e+00 + -2.196994976008069e+00 + -2.197725877814248e+00 + -2.198471979076637e+00 + -2.199233441010543e+00 + -2.200010426000000e+00 + -2.200803097224683e+00 + -2.201611618154960e+00 + -2.202436152922896e+00 + -2.203276866629103e+00 + -2.204133924999999e+00 + -2.205007494076377e+00 + -2.205897739759803e+00 + -2.206804828380775e+00 + -2.207728927012060e+00 + -2.208670203000000e+00 + -2.209628824019662e+00 + -2.210604958519273e+00 + -2.211598775212799e+00 + -2.212610442959744e+00 + -2.213640131000000e+00 + -2.214688008997179e+00 + -2.215754247358006e+00 + -2.216839016713686e+00 + -2.217942487809252e+00 + -2.219064832000000e+00 + -2.220206221175054e+00 + -2.221366827800435e+00 + -2.222546824259503e+00 + -2.223746382727115e+00 + -2.224965677000000e+00 + -2.226204881636015e+00 + -2.227464170011377e+00 + -2.228743716360184e+00 + -2.230043696636770e+00 + -2.231364286000000e+00 + -2.232705659360148e+00 + -2.234067993079961e+00 + -2.235451464138931e+00 + -2.236856249856844e+00 + -2.238282527000000e+00 + -2.239730472524265e+00 + -2.241200265638654e+00 + -2.242692085287406e+00 + -2.244206109271373e+00 + -2.245742517000000e+00 + -2.247301488882056e+00 + -2.248883204910052e+00 + -2.250487845315945e+00 + -2.252115590911750e+00 + -2.253766623000000e+00 + -2.255441123360801e+00 + -2.257139274542631e+00 + -2.258861259219423e+00 + -2.260607260005651e+00 + -2.262377460000000e+00 + -2.264172042724291e+00 + -2.265991192137124e+00 + -2.267835092970031e+00 + -2.269703930922391e+00 + -2.271597891000000e+00 + -2.273517158096056e+00 + -2.275461918662951e+00 + -2.277432359442962e+00 + -2.279428667085979e+00 + -2.281451029000000e+00 + -2.283499633104788e+00 + -2.285574667389452e+00 + -2.287676320195930e+00 + -2.289804780398682e+00 + -2.291960237000000e+00 + -2.294142879454985e+00 + -2.296352898805551e+00 + -2.298590485768695e+00 + -2.300855830078550e+00 + -2.303149122999999e+00 + -2.305470556795997e+00 + -2.307820323545887e+00 + -2.310198615647936e+00 + -2.312605626084681e+00 + -2.315041548000000e+00 + -2.317506574745174e+00 + -2.320000900224320e+00 + -2.322524719122656e+00 + -2.325078227061991e+00 + -2.327661619000000e+00 + -2.330275089774933e+00 + -2.332918835677479e+00 + -2.335593053485966e+00 + -2.338297940187764e+00 + -2.341033693000000e+00 + -2.343800509406319e+00 + -2.346598587410773e+00 + -2.349428125303093e+00 + -2.352289321686241e+00 + -2.355182376000000e+00 + -2.358107488272472e+00 + -2.361064858786305e+00 + -2.364054687769198e+00 + -2.367077175375671e+00 + -2.370132523000000e+00 + -2.373220932737141e+00 + -2.376342606269360e+00 + -2.379497745810629e+00 + -2.382686554578887e+00 + -2.385909236000000e+00 + -2.389165993580208e+00 + -2.392457030846979e+00 + -2.395782552198058e+00 + -2.399142763298191e+00 + -2.402537869000000e+00 + -2.405968074028050e+00 + -2.409433584975734e+00 + -2.412934608682329e+00 + -2.416471351683178e+00 + -2.420044020999999e+00 + -2.423652824137149e+00 + -2.427297969206864e+00 + -2.430979664728804e+00 + -2.434698119632543e+00 + -2.438453543000000e+00 + -2.442246144168148e+00 + -2.446076133195298e+00 + -2.449943720571852e+00 + -2.453849117184546e+00 + -2.457792534000000e+00 + -2.461774182279110e+00 + -2.465794274341647e+00 + -2.469853022790889e+00 + -2.473950640299041e+00 + -2.478087340000000e+00 + -2.482263335430129e+00 + -2.486478840559030e+00 + -2.490734069661931e+00 + -2.495029237377275e+00 + -2.499364559000000e+00 + -2.503740250274207e+00 + -2.508156527124766e+00 + -2.512613605692700e+00 + -2.517111702474631e+00 + -2.521651035000000e+00 + -2.526231821279088e+00 + -2.530854278665131e+00 + -2.535518625205626e+00 + -2.540225080261870e+00 + -2.544973863000000e+00 + -2.549765192573217e+00 + -2.554599288888442e+00 + -2.559476372494764e+00 + -2.564396664604125e+00 + -2.569360386000000e+00 + -2.574367757513646e+00 + -2.579419001423863e+00 + -2.584514340338642e+00 + -2.589653996851589e+00 + -2.594838193999999e+00 + -2.600067155253186e+00 + -2.605341104662645e+00 + -2.610660266783872e+00 + -2.616024866689215e+00 + -2.621435129000000e+00 + -2.626891278432673e+00 + -2.632393541366548e+00 + -2.637942144571998e+00 + -2.643537314797249e+00 + -2.649179279000000e+00 + -2.654868264471787e+00 + -2.660604499292826e+00 + -2.666388211776204e+00 + -2.672219630341834e+00 + -2.678098984000000e+00 + -2.684026502306392e+00 + -2.690002415494505e+00 + -2.696026954017429e+00 + -2.702100348331385e+00 + -2.708222828000000e+00 + -2.714394620651795e+00 + -2.720615948464916e+00 + -2.726887030965477e+00 + -2.733208085290139e+00 + -2.739579324000000e+00 + -2.746000955816228e+00 + -2.752473185385865e+00 + -2.758996214641690e+00 + -2.765570242469367e+00 + -2.772195463000000e+00 + -2.778872066776275e+00 + -2.785600241574056e+00 + -2.792380171842594e+00 + -2.799212037606767e+00 + -2.806096015000000e+00 + -2.813032277129447e+00 + -2.820020994035244e+00 + -2.827062331911353e+00 + -2.834156451970738e+00 + -2.841303512999999e+00 + -2.848503671252426e+00 + -2.855757077985244e+00 + -2.863063881095023e+00 + -2.870424224890850e+00 + -2.877838249999999e+00 + -2.885306093928394e+00 + -2.892827890388094e+00 + -2.900403769651381e+00 + -2.908033857857018e+00 + -2.915718277999999e+00 + -2.923457150039019e+00 + -2.931250588977881e+00 + -2.939098706889091e+00 + -2.947001612872150e+00 + -2.954959411999998e+00 + -2.962972205810575e+00 + -2.971040091434060e+00 + -2.979163163083816e+00 + -2.987341511831155e+00 + -2.995575224999998e+00 + -3.003864386499012e+00 + -3.012209075546996e+00 + -3.020609368336417e+00 + -3.029065337835770e+00 + -3.037577052999999e+00 + -3.046144579520789e+00 + -3.054767979666142e+00 + -3.063447312238444e+00 + -3.072182631692820e+00 + -3.080973988999999e+00 + -3.089821432099915e+00 + -3.098725004829577e+00 + -3.107684748048404e+00 + -3.116700699185534e+00 + -3.125772890999999e+00 + -3.134901352715559e+00 + -3.144086110699870e+00 + -3.153327188100508e+00 + -3.162624603843408e+00 + -3.171978372999998e+00 + -3.181388507546933e+00 + -3.190855016073102e+00 + -3.200377903469057e+00 + -3.209957169965227e+00 + -3.219592812999998e+00 + -3.229284827363896e+00 + -3.239033203402719e+00 + -3.248837927724427e+00 + -3.258698982652799e+00 + -3.268616347999998e+00 + -3.278590000914418e+00 + -3.288619913401403e+00 + -3.298706054004673e+00 + -3.308848387625167e+00 + -3.319046875999998e+00 + -3.329301477934322e+00 + -3.339612147844228e+00 + -3.349978836592516e+00 + -3.360401490990458e+00 + -3.370880054999998e+00 + -3.381414469596773e+00 + -3.392004670266620e+00 + -3.402650589976440e+00 + -3.413352159446950e+00 + -3.424109303999998e+00 + -3.434921945057392e+00 + -3.445790001867386e+00 + -3.456713390096515e+00 + -3.467692020464062e+00 + -3.478725800999998e+00 + -3.489814636890736e+00 + -3.500958427789171e+00 + -3.512157070764700e+00 + -3.523410460589800e+00 + -3.534718486999998e+00 + -3.546081035880271e+00 + -3.557497990199610e+00 + -3.568969229634993e+00 + -3.580494629586285e+00 + -3.592074061999998e+00 + -3.603707395759104e+00 + -3.615394495446970e+00 + -3.627135222559569e+00 + -3.638929435115233e+00 + -3.650776987000000e+00 + -3.662677728742245e+00 + -3.674631507325805e+00 + -3.686638166579447e+00 + -3.698697546469576e+00 + -3.710809483000000e+00 + -3.722973808828209e+00 + -3.735190352595157e+00 + -3.747458940125227e+00 + -3.759779394010754e+00 + -3.772151532000000e+00 + -3.784575168342916e+00 + -3.797050115062026e+00 + -3.809576180292756e+00 + -3.822153166803174e+00 + -3.834780875000000e+00 + -3.847459102820189e+00 + -3.860187643203489e+00 + -3.872966285667494e+00 + -3.885794816080159e+00 + -3.898673017000000e+00 + -3.911600667911320e+00 + -3.924577543724543e+00 + -3.937603416269590e+00 + -3.950678053996523e+00 + -3.963801221000000e+00 + -3.976972678103186e+00 + -3.990192183512261e+00 + -4.003459491521890e+00 + -4.016774351164608e+00 + -4.030136509000000e+00 + -4.043545709147031e+00 + -4.057001691149858e+00 + -4.070504190840202e+00 + -4.084052939835804e+00 + -4.097647667000000e+00 + -4.111288098419088e+00 + -4.124973955231095e+00 + -4.138704955371648e+00 + -4.152480813397504e+00 + -4.166301240000000e+00 + -4.180165942572286e+00 + -4.194074624537170e+00 + -4.208026986370140e+00 + -4.222022725101974e+00 + -4.236061533000000e+00 + -4.250143098846027e+00 + -4.264267108996074e+00 + -4.278433246261039e+00 + -4.292641188627767e+00 + -4.306890611000000e+00 + -4.321181185386233e+00 + -4.335512579090955e+00 + -4.349884456391911e+00 + -4.364296478350024e+00 + -4.378748302000000e+00 + -4.393239580901771e+00 + -4.407769964394226e+00 + -4.422339098999587e+00 + -4.436946628138934e+00 + -4.451592191000000e+00 + -4.466275423153566e+00 + -4.480995955945297e+00 + -4.495753418053649e+00 + -4.510547435209278e+00 + -4.525377628000000e+00 + -4.540243613376725e+00 + -4.555145006346341e+00 + -4.570081418154680e+00 + -4.585052454714511e+00 + -4.600057719000000e+00 + -4.615096811360685e+00 + -4.630169328028963e+00 + -4.645274861878902e+00 + -4.660413001844071e+00 + -4.675583333000000e+00 + -4.690785437259527e+00 + -4.706018892955582e+00 + -4.721283275134317e+00 + -4.736578154793736e+00 + -4.751903099000000e+00 + -4.767257671719769e+00 + -4.782641433752779e+00 + -4.798053942304498e+00 + -4.813494749953581e+00 + -4.828963406000000e+00 + -4.844459456896403e+00 + -4.859982445123970e+00 + -4.875531909767719e+00 + -4.891107385884028e+00 + -4.906708405000000e+00 + -4.922334495555203e+00 + -4.937985181840751e+00 + -4.953659984814029e+00 + -4.969358421588884e+00 + -4.985080006000000e+00 + -5.000824248840914e+00 + -5.016590656340991e+00 + -5.032378731598668e+00 + -5.048187974277996e+00 + -5.064017880000000e+00 + -5.079867940973151e+00 + -5.095737645459726e+00 + -5.111626480823102e+00 + -5.127533934923204e+00 + -5.143459499999997e+00 + -5.159402672483111e+00 + -5.175362954369220e+00 + -5.191339851303958e+00 + -5.207332872891304e+00 + -5.223341533999998e+00 + -5.239365353688981e+00 + -5.255403855076862e+00 + -5.271456565155025e+00 + -5.287523015792912e+00 + -5.303602743999997e+00 + -5.319695290809813e+00 + -5.335800201177900e+00 + -5.351917023850607e+00 + -5.368045312413205e+00 + -5.384184625999997e+00 + -5.400334527792659e+00 + -5.416494583936292e+00 + -5.432664365069262e+00 + -5.448843447960337e+00 + -5.465031412999998e+00 + -5.481227843963791e+00 + -5.497432330198948e+00 + -5.513644465003656e+00 + -5.529863846001168e+00 + -5.546090074999998e+00 + -5.562322757794160e+00 + -5.578561506278419e+00 + -5.594805935740466e+00 + -5.611055664858841e+00 + -5.627310317999997e+00 + -5.643569523867812e+00 + -5.659832914603254e+00 + -5.676100126691991e+00 + -5.692370802379017e+00 + -5.708644587999997e+00 + -5.724921133351554e+00 + -5.741200092816319e+00 + -5.757481124931912e+00 + -5.773763893288205e+00 + -5.790048065999996e+00 + -5.806333315035348e+00 + -5.822619317227983e+00 + -5.838905753168464e+00 + -5.855192307810226e+00 + -5.871478670999998e+00 + -5.887764536642293e+00 + -5.904049603224381e+00 + -5.920333573291820e+00 + -5.936616154283948e+00 + -5.952897057999997e+00 + -5.969175999997380e+00 + -5.985452700712029e+00 + -6.001726884408804e+00 + -6.017998279848357e+00 + -6.034266620999998e+00 + -6.050531645917840e+00 + -6.066793096565948e+00 + -6.083050719154321e+00 + -6.099304265265417e+00 + -6.115553489999997e+00 + -6.131798152082848e+00 + -6.148038016850530e+00 + -6.164272852974367e+00 + -6.180502432221914e+00 + -6.196726531999996e+00 + -6.212944934149927e+00 + -6.229157424398349e+00 + -6.245363792906498e+00 + -6.261563835474968e+00 + -6.277757350999996e+00 + -6.293944141712862e+00 + -6.310124016459128e+00 + -6.326296787703612e+00 + -6.342462271423720e+00 + -6.358620288999997e+00 + -6.374770666045148e+00 + -6.390913231950829e+00 + -6.407047820441565e+00 + -6.423174270811367e+00 + -6.439292425999997e+00 + -6.455402132459349e+00 + -6.471503242529590e+00 + -6.487595612302881e+00 + -6.503679101824962e+00 + -6.519753575999998e+00 + -6.535818903908587e+00 + -6.551874959678351e+00 + -6.567921621040533e+00 + -6.583958769810407e+00 + -6.599986292999997e+00 + -6.616004081814032e+00 + -6.632012031732002e+00 + -6.648010042213294e+00 + -6.663998017633650e+00 + -6.679975866999997e+00 + -6.695943503153600e+00 + -6.711900843425355e+00 + -6.727847809100131e+00 + -6.743784326279565e+00 + -6.759710325999998e+00 + -6.775625743222601e+00 + -6.791530516957345e+00 + -6.807424590371784e+00 + -6.823307911868753e+00 + -6.839180434000000e+00 + -6.855042113095231e+00 + -6.870892911056689e+00 + -6.886732793343159e+00 + -6.902561729209182e+00 + -6.918379693000000e+00 + -6.934186663377454e+00 + -6.949982623974822e+00 + -6.965767562024019e+00 + -6.981541468861679e+00 + -6.997304341000000e+00 + -7.013056179149240e+00 + -7.028796988372566e+00 + -7.044526777567921e+00 + -7.060245560311449e+00 + -7.075953355000000e+00 + -7.091650184045992e+00 + -7.107336074531737e+00 + -7.123011057484204e+00 + -7.138675168614964e+00 + -7.154328448000000e+00 + -7.169970939523060e+00 + -7.185602692089082e+00 + -7.201223758621499e+00 + -7.216834196750369e+00 + -7.232434069000000e+00 + -7.248023441650831e+00 + -7.263602384451917e+00 + -7.279170972021925e+00 + -7.294729285389790e+00 + -7.310277408000000e+00 + -7.325815426345584e+00 + -7.341343434315181e+00 + -7.356861529294433e+00 + -7.372369811668458e+00 + -7.387868387000000e+00 + -7.403357365322682e+00 + -7.418836861854650e+00 + -7.434306995371617e+00 + -7.449767888578398e+00 + -7.465219669000000e+00 + -7.480662468362842e+00 + -7.496096423635060e+00 + -7.511521675509539e+00 + -7.526938368822738e+00 + -7.542346653000000e+00 + -7.557746681513402e+00 + -7.573138613106206e+00 + -7.588522610348394e+00 + -7.603898840111169e+00 + -7.619267474000000e+00 + -7.634628687556104e+00 + -7.649982660818226e+00 + -7.665329578157865e+00 + -7.680669629212444e+00 + -7.696003007000000e+00 + -7.711329908041110e+00 + -7.726650535322031e+00 + -7.741965095546557e+00 + -7.757273799081691e+00 + -7.772576861000000e+00 + -7.787874500482072e+00 + -7.803166941820082e+00 + -7.818454413357075e+00 + -7.833737148083599e+00 + -7.849015383000000e+00 + -7.864289358883056e+00 + -7.879559322305754e+00 + -7.894825523493435e+00 + -7.910088216491122e+00 + -7.925347660000000e+00 + -7.940604117030949e+00 + -7.955857856656654e+00 + -7.971109151088187e+00 + -7.986358275553978e+00 + -8.001605510999999e+00 + -8.016851143003514e+00 + -8.032095461580266e+00 + -8.047338760488806e+00 + -8.062581337981985e+00 + -8.077823497000001e+00 + -8.093065544394179e+00 + -8.108307791577566e+00 + -8.123550554205780e+00 + -8.138794153086785e+00 + -8.154038912999997e+00 + -8.169285162395173e+00 + -8.184533235306290e+00 + -8.199783469410583e+00 + -8.215036206329255e+00 + -8.230291792999997e+00 + -8.245550580528674e+00 + -8.260812923863309e+00 + -8.276079182235739e+00 + -8.291349720375887e+00 + -8.306624906999998e+00 + -8.321905114401627e+00 + -8.337190720129563e+00 + -8.352482105562956e+00 + -8.367779656388556e+00 + -8.383083762999997e+00 + -8.398394819954635e+00 + -8.413713227271362e+00 + -8.429039388338369e+00 + -8.444373710123081e+00 + -8.459716604999997e+00 + -8.475068489773328e+00 + -8.490429785807564e+00 + -8.505800918193746e+00 + -8.521182316459129e+00 + -8.536574414999997e+00 + -8.551977652264261e+00 + -8.567392471335332e+00 + -8.582819319266729e+00 + -8.598258647834163e+00 + -8.613710912999998e+00 + -8.629176574613023e+00 + -8.644656098315155e+00 + -8.660149953296175e+00 + -8.675658612460374e+00 + -8.691182553999997e+00 + -8.706722260346437e+00 + -8.722278218076596e+00 + -8.737850917931995e+00 + -8.753440855866357e+00 + -8.769048531999996e+00 + -8.784674450012169e+00 + -8.800319118245726e+00 + -8.815983049456063e+00 + -8.831666761752983e+00 + -8.847370776999997e+00 + -8.863095620572640e+00 + -8.878841823409489e+00 + -8.894609920288579e+00 + -8.910400450202564e+00 + -8.926213956999996e+00 + -8.942050988642462e+00 + -8.957912097948702e+00 + -8.973797841249739e+00 + -8.989708778929735e+00 + -9.005645476999996e+00 + -9.021608505891232e+00 + -9.037598440089864e+00 + -9.053615857732957e+00 + -9.069661341483132e+00 + -9.085735478999997e+00 + -9.101838862125330e+00 + -9.117972087538210e+00 + -9.134135755396374e+00 + -9.150330469883286e+00 + -9.166556840999997e+00 + -9.182815483079517e+00 + -9.199107013675079e+00 + -9.215432054583626e+00 + -9.231791233265957e+00 + -9.248185180999997e+00 + -9.264614532683632e+00 + -9.281079929109534e+00 + -9.297582014702897e+00 + -9.314121437654787e+00 + -9.330698850999996e+00 + -9.347314912003528e+00 + -9.363970283188971e+00 + -9.380665630745685e+00 + -9.397401624940878e+00 + -9.414178940999998e+00 + -9.430998258244742e+00 + -9.447860260503859e+00 + -9.464765635761319e+00 + -9.481715077019253e+00 + -9.498709280999996e+00 + -9.515748948037771e+00 + -9.532834784442173e+00 + -9.549967500513571e+00 + -9.567147810785697e+00 + -9.584376433999996e+00 + -9.601654092679016e+00 + -9.618981514566920e+00 + -9.636359431588877e+00 + -9.653788580476306e+00 + -9.671269701999998e+00 + -9.688803540653204e+00 + -9.706390846469759e+00 + -9.724032373152683e+00 + -9.741728878390186e+00 + -9.759481124999997e+00 + -9.777289880050315e+00 + -9.795155915261526e+00 + -9.813080006095444e+00 + -9.831062932433847e+00 + -9.849105478999997e+00 + -9.867208434586416e+00 + -9.885372592754736e+00 + -9.903598750780114e+00 + -9.921887710289466e+00 + -9.940240277999996e+00 + -9.958657264807959e+00 + -9.977139486156000e+00 + -9.995687760994512e+00 + -1.001430291248964e+01 + -1.003298577000000e+01 + -1.005173716741557e+01 + -1.007055794170109e+01 + -1.008944893313717e+01 + -1.010841098632109e+01 + -1.012744495000000e+01 + -1.014655167843811e+01 + -1.016573203809090e+01 + -1.018498689280856e+01 + -1.020431709913334e+01 + -1.022372353000000e+01 + -1.024320706932260e+01 + -1.026276860085199e+01 + -1.028240900753776e+01 + -1.030212917226508e+01 + -1.032192999000000e+01 + -1.034181236270672e+01 + -1.036177718920571e+01 + -1.038182537682789e+01 + -1.040195784652257e+01 + -1.042217551000000e+01 + -1.044247927800797e+01 + -1.046287008429113e+01 + -1.048334886197221e+01 + -1.050391653528098e+01 + -1.052457404000000e+01 + -1.054532232135862e+01 + -1.056616233045517e+01 + -1.058709501821704e+01 + -1.060812133414642e+01 + -1.062924224000000e+01 + -1.065045870478386e+01 + -1.067177169452023e+01 + -1.069318217826154e+01 + -1.071469113174534e+01 + -1.073629954000000e+01 + -1.075800839260036e+01 + -1.077981867489276e+01 + -1.080173138018267e+01 + -1.082374751517595e+01 + -1.084586808000000e+01 + -1.086809407471729e+01 + -1.089042651905600e+01 + -1.091286643223940e+01 + -1.093541482646511e+01 + -1.095807273000000e+01 + -1.098084118002027e+01 + -1.100372120627546e+01 + -1.102671384288809e+01 + -1.104982013415814e+01 + -1.107304113000000e+01 + -1.109637788366843e+01 + -1.111983144958023e+01 + -1.114340288661973e+01 + -1.116709326043168e+01 + -1.119090364000000e+01 + -1.121483509746141e+01 + -1.123888871051257e+01 + -1.126306556352589e+01 + -1.128736674843474e+01 + -1.131179335000000e+01 + -1.133634645465832e+01 + -1.136102717560643e+01 + -1.138583662099362e+01 + -1.141077588304154e+01 + -1.143584608000000e+01 + -1.146104834278586e+01 + -1.148638378227322e+01 + -1.151185351768562e+01 + -1.153745868860526e+01 + -1.156320043000000e+01 + -1.158907987623694e+01 + -1.161509817570602e+01 + -1.164125647703402e+01 + -1.166755592508495e+01 + -1.169399768000000e+01 + -1.172058291041322e+01 + -1.174731277861368e+01 + -1.177418844974534e+01 + -1.180121109657743e+01 + -1.182838189999999e+01 + -1.185570204579555e+01 + -1.188317272006268e+01 + -1.191079511332836e+01 + -1.193857042312863e+01 + -1.196649984999999e+01 + -1.199458459773775e+01 + -1.202282587700695e+01 + -1.205122490269986e+01 + -1.207978289369385e+01 + -1.210850107000000e+01 + -1.213738065440104e+01 + -1.216642287877588e+01 + -1.219562898067898e+01 + -1.222500020303083e+01 + -1.225453779000000e+01 + -1.228424298812801e+01 + -1.231411705144751e+01 + -1.234416123799292e+01 + -1.237437680934280e+01 + -1.240476502999999e+01 + -1.243532716862228e+01 + -1.246606450371358e+01 + -1.249697831672881e+01 + -1.252806989018327e+01 + -1.255934050999999e+01 + -1.259079146663310e+01 + -1.262242406008652e+01 + -1.265423959346900e+01 + -1.268623937120698e+01 + -1.271842469999999e+01 + -1.275079689157634e+01 + -1.278335727210730e+01 + -1.281610716656313e+01 + -1.284904789393346e+01 + -1.288218078999999e+01 + -1.291550719883721e+01 + -1.294902845305343e+01 + -1.298274589252790e+01 + -1.301666087289315e+01 + -1.305077474999999e+01 + -1.308508888000826e+01 + -1.311960462335401e+01 + -1.315432334734565e+01 + -1.318924642810263e+01 + -1.322437523999999e+01 + -1.325971115825294e+01 + -1.329525556797775e+01 + -1.333100986045822e+01 + -1.336697543256989e+01 + -1.340315367999999e+01 + -1.343954599979837e+01 + -1.347615379884262e+01 + -1.351297848978655e+01 + -1.355002149050285e+01 + -1.358728421999999e+01 + -1.362476809975143e+01 + -1.366247455932581e+01 + -1.370040503112116e+01 + -1.373856094968169e+01 + -1.377694375999999e+01 + -1.381555491216690e+01 + -1.385439585021465e+01 + -1.389346802391279e+01 + -1.393277289476898e+01 + -1.397231192999999e+01 + -1.401208659972945e+01 + -1.405209837359219e+01 + -1.409234872413346e+01 + -1.413283912961124e+01 + -1.417357107999999e+01 + -1.421454607102127e+01 + -1.425576559243092e+01 + -1.429723113890712e+01 + -1.433894421536596e+01 + -1.438090632999999e+01 + -1.442311899332400e+01 + -1.446558371903957e+01 + -1.450830202765583e+01 + -1.455127544879836e+01 + -1.459450550999999e+01 + -1.463799373973040e+01 + -1.468174167767078e+01 + -1.472575086722947e+01 + -1.477002285383887e+01 + -1.481455918999999e+01 + -1.485936143285468e+01 + -1.490443114031971e+01 + -1.494976987417127e+01 + -1.499537920245961e+01 + -1.504126069999999e+01 + -1.508741594534576e+01 + -1.513384651602358e+01 + -1.518055399754435e+01 + -1.522753998778076e+01 + -1.527480607999999e+01 + -1.532235386668537e+01 + -1.537018495189360e+01 + -1.541830094448208e+01 + -1.546670345694024e+01 + -1.551539410999999e+01 + -1.556437452805486e+01 + -1.561364632974880e+01 + -1.566321114034704e+01 + -1.571307059764629e+01 + -1.576322633999999e+01 + -1.581368000886133e+01 + -1.586443325932826e+01 + -1.591548774371123e+01 + -1.596684510633198e+01 + -1.601850700999999e+01 + -1.607047512763592e+01 + -1.612275112310131e+01 + -1.617533666634843e+01 + -1.622823344044972e+01 + -1.628144312999999e+01 + -1.633496741991010e+01 + -1.638880799548294e+01 + -1.644296655089035e+01 + -1.649744479372194e+01 + -1.655224442999999e+01 + -1.660736716535794e+01 + -1.666281471098534e+01 + -1.671858878335293e+01 + -1.677469110504862e+01 + -1.683112339999999e+01 + -1.688788739643611e+01 + -1.694498483759857e+01 + -1.700241746523662e+01 + -1.706018701398879e+01 + -1.711829522999999e+01 + -1.717674386844329e+01 + -1.723553468924849e+01 + -1.729466945458232e+01 + -1.735414992865347e+01 + -1.741397788000000e+01 + -1.747415508099178e+01 + -1.753468330867943e+01 + -1.759556434768274e+01 + -1.765679999203036e+01 + -1.771839203000000e+01 + -1.778034225038387e+01 + -1.784265246094084e+01 + -1.790532446959567e+01 + -1.796836007816754e+01 + -1.803176110000000e+01 + -1.809552935720682e+01 + -1.815966667575656e+01 + -1.822417488078262e+01 + -1.828905579597735e+01 + -1.835431126000000e+01 + -1.841994311958100e+01 + -1.848595321475806e+01 + -1.855234338946741e+01 + -1.861911549709020e+01 + -1.868627140000000e+01 + -1.875381296458075e+01 + -1.882174205218422e+01 + -1.889006052915166e+01 + -1.895877027181235e+01 + -1.902787316000000e+01 + -1.909737107797965e+01 + -1.916726592078253e+01 + -1.923755957952593e+01 + -1.930825393714747e+01 + -1.937935090000000e+01 + -1.945085238647674e+01 + -1.952276030080435e+01 + -1.959507655061933e+01 + -1.966780305499929e+01 + -1.974094174000000e+01 + -1.981449453618971e+01 + -1.988846337667131e+01 + -1.996285019538828e+01 + -2.003765692760933e+01 + -2.011288552000000e+01 + -2.018853792621815e+01 + -2.026461609876727e+01 + -2.034112199510926e+01 + -2.041805758075517e+01 + -2.049542482000000e+01 + -2.057322568006621e+01 + -2.065146214471047e+01 + -2.073013619484967e+01 + -2.080924980240138e+01 + -2.088880495999999e+01 + -2.096880367169853e+01 + -2.104924793164823e+01 + -2.113013973534757e+01 + -2.121148108557274e+01 + -2.129327399999999e+01 + -2.137552050224973e+01 + -2.145822260294134e+01 + -2.154138232011573e+01 + -2.162500168821614e+01 + -2.170908273999999e+01 + -2.179362750931509e+01 + -2.187863804236205e+01 + -2.196411638687395e+01 + -2.205006458870765e+01 + -2.213648469999998e+01 + -2.222337877888525e+01 + -2.231074889087196e+01 + -2.239859710699802e+01 + -2.248692550346576e+01 + -2.257573614999999e+01 + -2.266503111825121e+01 + -2.275481250533621e+01 + -2.284508240538831e+01 + -2.293584289979252e+01 + -2.302709608999998e+01 + -2.311884408797131e+01 + -2.321108899308483e+01 + -2.330383291176923e+01 + -2.339707796636268e+01 + -2.349082627999998e+01 + -2.358507997580010e+01 + -2.367984117841246e+01 + -2.377511201965127e+01 + -2.387089464198777e+01 + -2.396719118999998e+01 + -2.406400380890314e+01 + -2.416133464354705e+01 + -2.425918584868402e+01 + -2.435755959379285e+01 + -2.445645803999998e+01 + -2.455588334675619e+01 + -2.465583769169985e+01 + -2.475632325621871e+01 + -2.485734222078360e+01 + -2.495889676999998e+01 + -2.506098909313465e+01 + -2.516362138717989e+01 + -2.526679585042222e+01 + -2.537051468121954e+01 + -2.547478008999998e+01 + -2.557959429416147e+01 + -2.568495950782481e+01 + -2.579087794894506e+01 + -2.589735184307986e+01 + -2.600438342000000e+01 + -2.611197491414786e+01 + -2.622012856937007e+01 + -2.632884662779481e+01 + -2.643813132670684e+01 + -2.654798492000000e+01 + -2.665840967182968e+01 + -2.676940784333127e+01 + -2.688098169572292e+01 + -2.699313349264397e+01 + -2.710586551000000e+01 + -2.721918002998715e+01 + -2.733307932892397e+01 + -2.744756569229334e+01 + -2.756264142140602e+01 + -2.767830881000000e+01 + -2.779457014947893e+01 + -2.791142774510221e+01 + -2.802888390934165e+01 + -2.814694096000261e+01 + -2.826560121000000e+01 + -2.838486697334714e+01 + -2.850474058224100e+01 + -2.862522436986088e+01 + -2.874632066501767e+01 + -2.886803181000000e+01 + -2.899036015446983e+01 + -2.911330804180568e+01 + -2.923687781925054e+01 + -2.936107184331833e+01 + -2.948589248000000e+01 + -2.961134209910011e+01 + -2.973742306338333e+01 + -2.986413774439124e+01 + -2.999148852946843e+01 + -3.011947780000000e+01 + -3.024810793640462e+01 + -3.037738133418102e+01 + -3.050730039248281e+01 + -3.063786751048302e+01 + -3.076908508999995e+01 + -3.090095553801825e+01 + -3.103348127528379e+01 + -3.116666472242296e+01 + -3.130050829541340e+01 + -3.143501442000000e+01 + -3.157018552904646e+01 + -3.170602405762165e+01 + -3.184253244456109e+01 + -3.197971313442012e+01 + -3.211756857999995e+01 + -3.225610123724459e+01 + -3.239531355479052e+01 + -3.253520799120049e+01 + -3.267578702273956e+01 + -3.281705312000000e+01 + -3.295900875199519e+01 + -3.310165640007095e+01 + -3.324499854981137e+01 + -3.338903768896250e+01 + -3.353377630999994e+01 + -3.367921690900354e+01 + -3.382536198480008e+01 + -3.397221404252836e+01 + -3.411977559608952e+01 + -3.426804916000000e+01 + -3.441703725062087e+01 + -3.456674239208418e+01 + -3.471716711255165e+01 + -3.486831394366235e+01 + -3.502018541999994e+01 + -3.517278408030963e+01 + -3.532611247314257e+01 + -3.548017315006599e+01 + -3.563496866378715e+01 + -3.579050157000000e+01 + -3.594677442911821e+01 + -3.610378981290209e+01 + -3.626155029281482e+01 + -3.642005843692588e+01 + -3.657931682999995e+01 + -3.673932806450152e+01 + -3.690009471994529e+01 + -3.706161938636306e+01 + -3.722390467398576e+01 + -3.738695318000000e+01 + -3.755076749872251e+01 + -3.771535025114206e+01 + -3.788070405790332e+01 + -3.804683152981476e+01 + -3.821373528999994e+01 + -3.838141797088579e+01 + -3.854988220802454e+01 + -3.871913063690455e+01 + -3.888916589260551e+01 + -3.905999062000000e+01 + -3.923160747217621e+01 + -3.940401910958111e+01 + -3.957722819105772e+01 + -3.975123737141870e+01 + -3.992604931999993e+01 + -4.010166671506960e+01 + -4.027809223215413e+01 + -4.045532854769397e+01 + -4.063337834194039e+01 + -4.081224431000000e+01 + -4.099192915380458e+01 + -4.117243556512365e+01 + -4.135376624213356e+01 + -4.153592389680070e+01 + -4.171891123999993e+01 + -4.190273098404973e+01 + -4.208738585293229e+01 + -4.227287857304115e+01 + -4.245921187066173e+01 + -4.264638848000000e+01 + -4.283441114000928e+01 + -4.302328258823673e+01 + -4.321300556988346e+01 + -4.340358284230594e+01 + -4.359501715999993e+01 + -4.378731127802528e+01 + -4.398046796379431e+01 + -4.417448998677844e+01 + -4.436938011574802e+01 + -4.456514113000000e+01 + -4.476177581459606e+01 + -4.495928695037842e+01 + -4.515767732491430e+01 + -4.535694973791337e+01 + -4.555710698999992e+01 + -4.575815188265746e+01 + -4.596008722124420e+01 + -4.616291581815827e+01 + -4.636664049491562e+01 + -4.657126407000000e+01 + -4.677678936329625e+01 + -4.698321921012249e+01 + -4.719055644645270e+01 + -4.739880390447049e+01 + -4.760796442999992e+01 + -4.781804087601476e+01 + -4.802903608806237e+01 + -4.824095291782189e+01 + -4.845379422957746e+01 + -4.866756289000000e+01 + -4.888226176793614e+01 + -4.909789373759357e+01 + -4.931446167624577e+01 + -4.953196846445736e+01 + -4.975041698999991e+01 + -4.996981014490353e+01 + -5.019015082042799e+01 + -5.041144191483806e+01 + -5.063368633767777e+01 + -5.085688700000000e+01 + -5.108104681363623e+01 + -5.130616869222998e+01 + -5.153225555529192e+01 + -5.175931033093434e+01 + -5.198733594999992e+01 + -5.221633534632925e+01 + -5.244631146064819e+01 + -5.267726723814258e+01 + -5.290920562821528e+01 + -5.314212958000000e+01 + -5.337604204603855e+01 + -5.361094599406351e+01 + -5.384684439089011e+01 + -5.408374019738633e+01 + -5.432163638999991e+01 + -5.456053595406303e+01 + -5.480044186892415e+01 + -5.504135712069162e+01 + -5.528328470761400e+01 + -5.552622762000000e+01 + -5.577018884907901e+01 + -5.601517141284037e+01 + -5.626117832498171e+01 + -5.650821258404100e+01 + -5.675627720999991e+01 + -5.700537523542541e+01 + -5.725550968441112e+01 + -5.750668358361924e+01 + -5.775889996777224e+01 + -5.801216188000000e+01 + -5.826647236807500e+01 + -5.852183447842080e+01 + -5.877825126017432e+01 + -5.903572576827786e+01 + -5.929426106999990e+01 + -5.955386023803142e+01 + -5.981452633626228e+01 + -6.007626243395679e+01 + -6.033907161265666e+01 + -6.060295696000000e+01 + -6.086792156620618e+01 + -6.113396851889991e+01 + -6.140110091270849e+01 + -6.166932185413050e+01 + -6.193863444999990e+01 + -6.220904180836374e+01 + -6.248054704389698e+01 + -6.275315327303672e+01 + -6.302686361375484e+01 + -6.330168120000000e+01 + -6.357760917255472e+01 + -6.385465065869710e+01 + -6.413280879313753e+01 + -6.441208672717147e+01 + -6.469248761000000e+01 + -6.497401459207148e+01 + -6.525667083785252e+01 + -6.554045951020694e+01 + -6.582538376572784e+01 + -6.611144677999999e+01 + -6.639865173804421e+01 + -6.668700181225154e+01 + -6.697650018322166e+01 + -6.726715004865791e+01 + -6.755895460000001e+01 + -6.785191702754956e+01 + -6.814604053706709e+01 + -6.844132833746227e+01 + -6.873778363702108e+01 + -6.903540965000001e+01 + -6.933420959649558e+01 + -6.963418670433917e+01 + -6.993534420146086e+01 + -7.023768531400407e+01 + -7.054121327999999e+01 + -7.084593134500037e+01 + -7.115184275353549e+01 + -7.145895075432828e+01 + -7.176725860332733e+01 + -7.207676955999989e+01 + -7.238748688676215e+01 + -7.269941385037480e+01 + -7.301255372170849e+01 + -7.332690977697268e+01 + -7.364248530000000e+01 + -7.395928357816831e+01 + -7.427730789465394e+01 + -7.459656154154558e+01 + -7.491704782593285e+01 + -7.523877004999987e+01 + -7.556173151464178e+01 + -7.588593553169946e+01 + -7.621138541944168e+01 + -7.653808450163682e+01 + -7.686603610000000e+01 + -7.719524353805981e+01 + -7.752571015313293e+01 + -7.785743928572181e+01 + -7.819043427631229e+01 + -7.852469846999988e+01 + -7.886023521608357e+01 + -7.919704786882774e+01 + -7.953513978918475e+01 + -7.987451434652237e+01 + -8.021517491000000e+01 + -8.055712484895521e+01 + -8.090036753598372e+01 + -8.124490635250547e+01 + -8.159074469172391e+01 + -8.193788593999987e+01 + -8.228633348416081e+01 + -8.263609073313938e+01 + -8.298716109541151e+01 + -8.333954797103145e+01 + -8.369325477000000e+01 + -8.404828491028280e+01 + -8.440464181412719e+01 + -8.476232890793086e+01 + -8.512134962287996e+01 + -8.548170738999985e+01 + -8.584340564352934e+01 + -8.620644783199920e+01 + -8.657083740482393e+01 + -8.693657780824788e+01 + -8.730367250000000e+01 + -8.767212494371194e+01 + -8.804193859639375e+01 + -8.841311692593891e+01 + -8.878566341870939e+01 + -8.915958154999986e+01 + -8.953487479168578e+01 + -8.991154663471849e+01 + -9.028960057395298e+01 + -9.066904010318096e+01 + -9.104986872000001e+01 + -9.143208992686800e+01 + -9.181570723560402e+01 + -9.220072416114067e+01 + -9.258714421980083e+01 + -9.297497092999986e+01 + -9.336420781525349e+01 + -9.375485841426487e+01 + -9.414692626313253e+01 + -9.454041488965315e+01 + -9.493532784000000e+01 + -9.533166867059026e+01 + -9.572944092950100e+01 + -9.612864816948191e+01 + -9.652929395407540e+01 + -9.693138184999984e+01 + -9.733491542620831e+01 + -9.773989825487583e+01 + -9.814633391500892e+01 + -9.855422599474231e+01 + -9.896357808000000e+01 + -9.937439375553778e+01 + -9.978667660951464e+01 + -1.002004302498873e+02 + -1.006156583113964e+02 + -1.010323643999998e+02 + -1.014505521033422e+02 + -1.018702250167552e+02 + -1.022913867648504e+02 + -1.027140410123223e+02 + -1.031381914000000e+02 + -1.035638415489902e+02 + -1.039909950728156e+02 + -1.044196556182856e+02 + -1.048498268814360e+02 + -1.052815124999998e+02 + -1.057147160851634e+02 + -1.061494413040264e+02 + -1.065856918490972e+02 + -1.070234714266025e+02 + -1.074627837000000e+02 + -1.079036323073108e+02 + -1.083460208994117e+02 + -1.087899531790557e+02 + -1.092354329168266e+02 + -1.096824637999998e+02 + -1.101310494754678e+02 + -1.105811936593542e+02 + -1.110329000832090e+02 + -1.114861724712110e+02 + -1.119410145000000e+02 + -1.123974298499644e+02 + -1.128554223365672e+02 + -1.133149957276709e+02 + -1.137761536721920e+02 + -1.142388998999998e+02 + -1.147032381951767e+02 + -1.151691723223398e+02 + -1.156367060267053e+02 + -1.161058430340008e+02 + -1.165765871000000e+02 + -1.170489420136372e+02 + -1.175229116129598e+02 + -1.179984996644491e+02 + -1.184757098197581e+02 + -1.189545458999998e+02 + -1.194350118004852e+02 + -1.199171112501401e+02 + -1.204008480035419e+02 + -1.208862259161727e+02 + -1.213732488000000e+02 + -1.218619204419225e+02 + -1.223522446637547e+02 + -1.228442252993658e+02 + -1.233378661832514e+02 + -1.238331710999998e+02 + -1.243301438371392e+02 + -1.248287883218059e+02 + -1.253291084262349e+02 + -1.258311078947497e+02 + -1.263347906000000e+02 + -1.268401604692280e+02 + -1.273472212887372e+02 + -1.278559768940106e+02 + -1.283664312433523e+02 + -1.288785881999998e+02 + -1.293924515790011e+02 + -1.299080252758494e+02 + -1.304253131892150e+02 + -1.309443191941241e+02 + -1.314650472000000e+02 + -1.319875011267033e+02 + -1.325116848422910e+02 + -1.330376022476014e+02 + -1.335652573069860e+02 + -1.340946538999998e+02 + -1.346257958892211e+02 + -1.351586873010075e+02 + -1.356933320835031e+02 + -1.362297340185993e+02 + -1.367678971000000e+02 + -1.373078254089903e+02 + -1.378495227933144e+02 + -1.383929931342302e+02 + -1.389382404506380e+02 + -1.394852686999998e+02 + -1.400340818144768e+02 + -1.405846838138316e+02 + -1.411370786853171e+02 + -1.416912703410207e+02 + -1.422472628000000e+02 + -1.428050601118040e+02 + -1.433646661562381e+02 + -1.439260848884736e+02 + -1.444893204354731e+02 + -1.450543767999998e+02 + -1.456212579173106e+02 + -1.461899678121767e+02 + -1.467605105156440e+02 + -1.473328900351724e+02 + -1.479071104000000e+02 + -1.484831756560318e+02 + -1.490610898537698e+02 + -1.496408570188282e+02 + -1.502224811435522e+02 + -1.508059663000000e+02 + -1.513913165938295e+02 + -1.519785360517816e+02 + -1.525676287092765e+02 + -1.531585986433134e+02 + -1.537514498999998e+02 + -1.543461865304275e+02 + -1.549428126935839e+02 + -1.555413324987964e+02 + -1.561417499433451e+02 + -1.567440691000000e+02 + -1.573482940967384e+02 + -1.579544290618548e+02 + -1.585624781173004e+02 + -1.591724453723425e+02 + -1.597843348999998e+02 + -1.603981507727703e+02 + -1.610138971515657e+02 + -1.616315781879854e+02 + -1.622511979884414e+02 + -1.628727607000000e+02 + -1.634962704824068e+02 + -1.641217314319286e+02 + -1.647491476962519e+02 + -1.653785235159056e+02 + -1.660098629999998e+02 + -1.666431702132707e+02 + -1.672784494025457e+02 + -1.679157047805161e+02 + -1.685549404452619e+02 + -1.691961606000000e+02 + -1.698393694891200e+02 + -1.704845712252935e+02 + -1.711317699673001e+02 + -1.717809699904770e+02 + -1.724321754999998e+02 + -1.730853906636835e+02 + -1.737406197069920e+02 + -1.743978668390772e+02 + -1.750571362267288e+02 + -1.757184321000000e+02 + -1.763817587329360e+02 + -1.770471204015179e+02 + -1.777145213342737e+02 + -1.783839656916257e+02 + -1.790554576999997e+02 + -1.797290016348361e+02 + -1.804046017812607e+02 + -1.810822624074922e+02 + -1.817619877551305e+02 + -1.824437821000000e+02 + -1.831276497291853e+02 + -1.838135948809234e+02 + -1.845016218201234e+02 + -1.851917348679873e+02 + -1.858839382999998e+02 + -1.865782363787204e+02 + -1.872746334451072e+02 + -1.879731338116912e+02 + -1.886737417231232e+02 + -1.893764615000000e+02 + -1.900812975069574e+02 + -1.907882540726982e+02 + -1.914973354967214e+02 + -1.922085460544087e+02 + -1.929218900999998e+02 + -1.936373720194894e+02 + -1.943549961169706e+02 + -1.950747667123967e+02 + -1.957966881820183e+02 + -1.965207649000000e+02 + -1.972470012275908e+02 + -1.979754014928308e+02 + -1.987059700466389e+02 + -1.994387112870401e+02 + -2.001736295999997e+02 + -2.009107293657797e+02 + -2.016500149830146e+02 + -2.023914908231823e+02 + -2.031351612174878e+02 + -2.038810306000000e+02 + -2.046291034502658e+02 + -2.053793841544099e+02 + -2.061318770718700e+02 + -2.068865865659776e+02 + -2.076435170999997e+02 + -2.084026731731890e+02 + -2.091640591716557e+02 + -2.099276794995817e+02 + -2.106935386300690e+02 + -2.114616410000000e+02 + -2.122319910255027e+02 + -2.130045931490896e+02 + -2.137794518362718e+02 + -2.145565715736208e+02 + -2.153359567999997e+02 + -2.161176119510612e+02 + -2.169015415764713e+02 + -2.176877501734888e+02 + -2.184762421224458e+02 + -2.192670219000000e+02 + -2.200600940505141e+02 + -2.208554631128035e+02 + -2.216531335679009e+02 + -2.224531098207831e+02 + -2.232553963999997e+02 + -2.240599978997985e+02 + -2.248669188401317e+02 + -2.256761637092654e+02 + -2.264877369816284e+02 + -2.273016432000000e+02 + -2.281178869415660e+02 + -2.289364727411434e+02 + -2.297574051254879e+02 + -2.305806886273285e+02 + -2.314063277999997e+02 + -2.322343272067604e+02 + -2.330646913987978e+02 + -2.338974249389632e+02 + -2.347325324124834e+02 + -2.355700184000000e+02 + -2.364098874788788e+02 + -2.372521442301691e+02 + -2.380967932316097e+02 + -2.389438390563173e+02 + -2.397932862999997e+02 + -2.406451395699314e+02 + -2.414994034603918e+02 + -2.423560825773335e+02 + -2.432151815494090e+02 + -2.440767050000000e+02 + -2.449406575494712e+02 + -2.458070438246558e+02 + -2.466758684438366e+02 + -2.475471360143982e+02 + -2.484208511999996e+02 + -2.492970186823550e+02 + -2.501756430678903e+02 + -2.510567289807632e+02 + -2.519402811010791e+02 + -2.528263041000000e+02 + -2.537148026392507e+02 + -2.546057813786489e+02 + -2.554992449908618e+02 + -2.563951981686694e+02 + -2.572936455999996e+02 + -2.581945919701986e+02 + -2.590980419711499e+02 + -2.600040002856254e+02 + -2.609124715849065e+02 + -2.618234606000000e+02 + -2.627369720784054e+02 + -2.636530106775519e+02 + -2.645715811006028e+02 + -2.654926881465747e+02 + -2.664163364999997e+02 + -2.673425308135112e+02 + -2.682712759281322e+02 + -2.692025766270102e+02 + -2.701364375396030e+02 + -2.710728634000000e+02 + -2.720118590149941e+02 + -2.729534291763713e+02 + -2.738975786300543e+02 + -2.748443120676544e+02 + -2.757936342999997e+02 + -2.767455501787848e+02 + -2.777000643997414e+02 + -2.786571816989448e+02 + -2.796169069311608e+02 + -2.805792449000000e+02 + -2.815442003833780e+02 + -2.825117782146733e+02 + -2.834819832031981e+02 + -2.844548201023671e+02 + -2.854302936999997e+02 + -2.864084088239409e+02 + -2.873891703596309e+02 + -2.883725831483384e+02 + -2.893586519481404e+02 + -2.903473816000000e+02 + -2.913387769892773e+02 + -2.923328429461174e+02 + -2.933295843055886e+02 + -2.943290059327143e+02 + -2.953311126999996e+02 + -2.963359094688269e+02 + -2.973434010446480e+02 + -2.983535922946355e+02 + -2.993664881931061e+02 + -3.003820936000000e+02 + -3.014004133189056e+02 + -3.024214522481863e+02 + -3.034452153213495e+02 + -3.044717074825456e+02 + -3.055009335999997e+02 + -3.065328985120693e+02 + -3.075676071368449e+02 + -3.086050644279766e+02 + -3.096452753553112e+02 + -3.106882447999996e+02 + -3.117339776182681e+02 + -3.127824787990806e+02 + -3.138337533166528e+02 + -3.148878060732492e+02 + -3.159446419999996e+02 + -3.170042660531784e+02 + -3.180666831989414e+02 + -3.191318984100575e+02 + -3.201999166629245e+02 + -3.212707428999996e+02 + -3.223443820580361e+02 + -3.234208391391681e+02 + -3.245001191331626e+02 + -3.255822269890704e+02 + -3.266671677000000e+02 + -3.277549462905472e+02 + -3.288455677875165e+02 + -3.299390371822755e+02 + -3.310353594166140e+02 + -3.321345394999996e+02 + -3.332365824854958e+02 + -3.343414934139734e+02 + -3.354492773045120e+02 + -3.365599391517927e+02 + -3.376734840000000e+02 + -3.387899169180687e+02 + -3.399092429402671e+02 + -3.410314670886827e+02 + -3.421565943845668e+02 + -3.432846298999996e+02 + -3.444155787253185e+02 + -3.455494458929433e+02 + -3.466862364711880e+02 + -3.478259555971263e+02 + -3.489686083000000e+02 + -3.501141995805723e+02 + -3.512627346186799e+02 + -3.524142185495274e+02 + -3.535686563776662e+02 + -3.547260531999996e+02 + -3.558864141649047e+02 + -3.570497443588797e+02 + -3.582160488781844e+02 + -3.593853328562213e+02 + -3.605576014000000e+02 + -3.617328596203877e+02 + -3.629111127187760e+02 + -3.640923658296630e+02 + -3.652766239636252e+02 + -3.664638922999996e+02 + -3.676541760949210e+02 + -3.688474804479435e+02 + -3.700438104641370e+02 + -3.712431713192604e+02 + -3.724455682000000e+02 + -3.736510062917217e+02 + -3.748594907617601e+02 + -3.760710267615897e+02 + -3.772856194324323e+02 + -3.785032739999995e+02 + -3.797239957155368e+02 + -3.809477897125092e+02 + -3.821746611611994e+02 + -3.834046153278488e+02 + -3.846376574000000e+02 + -3.858737925371631e+02 + -3.871130260109560e+02 + -3.883553630688227e+02 + -3.896008088834330e+02 + -3.908493686999996e+02 + -3.921010477895665e+02 + -3.933558513233559e+02 + -3.946137845264227e+02 + -3.958748527376295e+02 + -3.971390612000000e+02 + -3.984064151109821e+02 + -3.996769197585321e+02 + -4.009505804131749e+02 + -4.022274022910074e+02 + -4.035073906999995e+02 + -4.047905509809469e+02 + -4.060768883569506e+02 + -4.073664080804837e+02 + -4.086591154923789e+02 + -4.099550159000000e+02 + -4.112541145837781e+02 + -4.125564168232350e+02 + -4.138619279264533e+02 + -4.151706532436620e+02 + -4.164825980999995e+02 + -4.177977678009782e+02 + -4.191161676484082e+02 + -4.204378029703449e+02 + -4.217626791355866e+02 + -4.230908015000000e+02 + -4.244221753941545e+02 + -4.257568060915354e+02 + -4.270946989435893e+02 + -4.284358594322071e+02 + -4.297802928999995e+02 + -4.311280046181774e+02 + -4.324789999621266e+02 + -4.338332843406102e+02 + -4.351908631680312e+02 + -4.365517418000000e+02 + -4.379159255766193e+02 + -4.392834199290754e+02 + -4.406542302894571e+02 + -4.420283620541414e+02 + -4.434058205999995e+02 + -4.447866113008026e+02 + -4.461707395611302e+02 + -4.475582108324218e+02 + -4.489490306166049e+02 + -4.503432043000000e+02 + -4.517407372272212e+02 + -4.531416348857516e+02 + -4.545459027469901e+02 + -4.559535462055746e+02 + -4.573645706999994e+02 + -4.587789817092769e+02 + -4.601967847429616e+02 + -4.616179852648949e+02 + -4.630425886631084e+02 + -4.644706004000000e+02 + -4.659020259847504e+02 + -4.673368709042424e+02 + -4.687751406384571e+02 + -4.702168406679589e+02 + -4.716619764999995e+02 + -4.731105536500806e+02 + -4.745625775980045e+02 + -4.760180538297375e+02 + -4.774769878558138e+02 + -4.789393852000000e+02 + -4.804052513950263e+02 + -4.818745919803221e+02 + -4.833474124743740e+02 + -4.848237183656923e+02 + -4.863035151999994e+02 + -4.877868085453354e+02 + -4.892736039052198e+02 + -4.907639068268139e+02 + -4.922577229425711e+02 + -4.937550578000000e+02 + -4.952559169027076e+02 + -4.967603058178435e+02 + -4.982682301416788e+02 + -4.997796954853789e+02 + -5.012947073999994e+02 + -5.028132714194502e+02 + -5.043353931676896e+02 + -5.058610782730644e+02 + -5.073903323321115e+02 + -5.089231609000000e+02 + -5.104595695386481e+02 + -5.119995639358939e+02 + -5.135431497453484e+02 + -5.150903325247945e+02 + -5.166411178999995e+02 + -5.181955115300345e+02 + -5.197535190105982e+02 + -5.213151459679927e+02 + -5.228803980937674e+02 + -5.244492810000000e+02 + -5.260218002787250e+02 + -5.275979616609960e+02 + -5.291777708470047e+02 + -5.307612334400695e+02 + -5.323483550999995e+02 + -5.339391415258532e+02 + -5.355335984055753e+02 + -5.371317314077364e+02 + -5.387335461786030e+02 + -5.403390484000000e+02 + -5.419482437848817e+02 + -5.435611380730882e+02 + -5.451777369746786e+02 + -5.467980461477442e+02 + -5.484220712999994e+02 + -5.500498181706811e+02 + -5.516812924850077e+02 + -5.533164999617454e+02 + -5.549554463178829e+02 + -5.565981372999994e+02 + -5.582445786620732e+02 + -5.598947761113077e+02 + -5.615487353817318e+02 + -5.632064622631164e+02 + -5.648679624999994e+02 + -5.665332418238921e+02 + -5.682023060429622e+02 + -5.698751609401672e+02 + -5.715518122344557e+02 + -5.732322656999993e+02 + -5.749165271427032e+02 + -5.766046023386582e+02 + -5.782964970855437e+02 + -5.799922172195480e+02 + -5.816917684999994e+02 + -5.833951566715182e+02 + -5.851023876259811e+02 + -5.868134672043320e+02 + -5.885284011210334e+02 + -5.902471951999993e+02 + -5.919698553287222e+02 + -5.936963873375214e+02 + -5.954267970459595e+02 + -5.971610902818754e+02 + -5.988992728999993e+02 + -6.006413507613062e+02 + -6.023873296844711e+02 + -6.041372155081436e+02 + -6.058910141182311e+02 + -6.076487313999993e+02 + -6.094103732273231e+02 + -6.111759454411804e+02 + -6.129454539033432e+02 + -6.147189045204622e+02 + -6.164963032000001e+02 + -6.182776558378988e+02 + -6.200629682925465e+02 + -6.218522464515877e+02 + -6.236454962577363e+02 + -6.254427235999993e+02 + -6.272439343587159e+02 + -6.290491345295636e+02 + -6.308583300588987e+02 + -6.326715267788347e+02 + -6.344887306000001e+02 + -6.363099474872770e+02 + -6.381351833941451e+02 + -6.399644442896572e+02 + -6.417977361628546e+02 + -6.436350648999993e+02 + -6.454764363684590e+02 + -6.473218566292518e+02 + -6.491713317125350e+02 + -6.510248675271151e+02 + -6.528824700000000e+02 + -6.547441451008573e+02 + -6.566098988943567e+02 + -6.584797373808955e+02 + -6.603536664383599e+02 + -6.622316920999993e+02 + -6.641138204605409e+02 + -6.660000574329696e+02 + -6.678904089961051e+02 + -6.697848812885560e+02 + -6.716834803000000e+02 + -6.735862119462199e+02 + -6.754930822688247e+02 + -6.774040973560088e+02 + -6.793192633079277e+02 + -6.812385860999992e+02 + -6.831620716800010e+02 + -6.850897262089175e+02 + -6.870215557906422e+02 + -6.889575663679858e+02 + -6.908977640000001e+02 + -6.928421548145254e+02 + -6.947907448778678e+02 + -6.967435402481692e+02 + -6.987005469959722e+02 + -7.006617711999993e+02 + -7.026272189534540e+02 + -7.045968963883171e+02 + -7.065708096021641e+02 + -7.085489646318440e+02 + -7.105313676000000e+02 + -7.125180246666655e+02 + -7.145089419064375e+02 + -7.165041254104643e+02 + -7.185035813280965e+02 + -7.205073157999993e+02 + -7.225153349567163e+02 + -7.245276449240899e+02 + -7.265442518464891e+02 + -7.285651618951177e+02 + -7.305903812000000e+02 + -7.326199158832851e+02 + -7.346537721472801e+02 + -7.366919561576724e+02 + -7.387344740033407e+02 + -7.407813318999993e+02 + -7.428325361060332e+02 + -7.448880927069067e+02 + -7.469480078569493e+02 + -7.490122878703525e+02 + -7.510809389000000e+02 + -7.531539670309830e+02 + -7.552313785295614e+02 + -7.573131796529314e+02 + -7.593993765758833e+02 + -7.614899754999992e+02 + -7.635849826556215e+02 + -7.656844042998581e+02 + -7.677882466626152e+02 + -7.698965159244972e+02 + -7.720092183000000e+02 + -7.741263600422619e+02 + -7.762479474594095e+02 + -7.783739868214470e+02 + -7.805044843222228e+02 + -7.826394461999992e+02 + -7.847788787331309e+02 + -7.869227882276110e+02 + -7.890711809493379e+02 + -7.912240631015031e+02 + -7.933814410000000e+02 + -7.955433210068886e+02 + -7.977097093640062e+02 + -7.998806123337483e+02 + -8.020560362523712e+02 + -8.042359873999992e+02 + -8.064204720446323e+02 + -8.086094965664213e+02 + -8.108030673053524e+02 + -8.130011905039750e+02 + -8.152038725000000e+02 + -8.174111196729889e+02 + -8.196229383028856e+02 + -8.218393347070877e+02 + -8.240603152936806e+02 + -8.262858863999992e+02 + -8.285160543327190e+02 + -8.307508254786889e+02 + -8.329902062108882e+02 + -8.352342028550189e+02 + -8.374828218000000e+02 + -8.397360694583805e+02 + -8.419939521636865e+02 + -8.442564762682848e+02 + -8.465236481828920e+02 + -8.487954742999991e+02 + -8.510719610066617e+02 + -8.533531147279726e+02 + -8.556389418758610e+02 + -8.579294488297842e+02 + -8.602246420000000e+02 + -8.625245278111681e+02 + -8.648291126593311e+02 + -8.671384029773127e+02 + -8.694524052578884e+02 + -8.717711258999991e+02 + -8.740945712693658e+02 + -8.764227478547659e+02 + -8.787556621558366e+02 + -8.810933206360036e+02 + -8.834357297000000e+02 + -8.857828957473700e+02 + -8.881348253000285e+02 + -8.904915248639498e+02 + -8.928530008754832e+02 + -8.952192597999992e+02 + -8.975903081273602e+02 + -8.999661523549036e+02 + -9.023467989915350e+02 + -9.047322545556517e+02 + -9.071225255000001e+02 + -9.095176182642568e+02 + -9.119175394073789e+02 + -9.143222954857910e+02 + -9.167318930073794e+02 + -9.191463384999990e+02 + -9.215656384936522e+02 + -9.239897994653498e+02 + -9.264188279352956e+02 + -9.288527305046009e+02 + -9.312915136999991e+02 + -9.337351840217814e+02 + -9.361837480744202e+02 + -9.386372124507991e+02 + -9.410955836845210e+02 + -9.435588682999991e+02 + -9.460270728408829e+02 + -9.485002039375468e+02 + -9.509782681943145e+02 + -9.534612721474879e+02 + -9.559492223999991e+02 + -9.584421255818636e+02 + -9.609399882443452e+02 + -9.634428169536077e+02 + -9.659506183300578e+02 + -9.684633989999990e+02 + -9.709811655949806e+02 + -9.735039247636544e+02 + -9.760316831188370e+02 + -9.785644472182881e+02 + -9.811022236999991e+02 + -9.836450192407020e+02 + -9.861928404528198e+02 + -9.887456939756197e+02 + -9.913035865101050e+02 + -9.938665246999991e+02 + -9.964345151588749e+02 + -9.990075645416573e+02 + -1.001585679508894e+03 + -1.004168866725833e+03 + -1.006757132999999e+03 + -1.009350485088950e+03 + -1.011948929193798e+03 + -1.014552472017065e+03 + -1.017161121149714e+03 + -1.019774882999999e+03 + -1.022393763477281e+03 + -1.025017769745607e+03 + -1.027646908706880e+03 + -1.030281186449000e+03 + -1.032920609999999e+03 + -1.035565186772393e+03 + -1.038214923106640e+03 + -1.040869825393126e+03 + -1.043529900494233e+03 + -1.046195154999999e+03 + -1.048865595518282e+03 + -1.051541229525064e+03 + -1.054222063914517e+03 + -1.056908104442841e+03 + -1.059599357999999e+03 + -1.062295832060889e+03 + -1.064997533253958e+03 + -1.067704468147946e+03 + -1.070416643533965e+03 + -1.073134066000000e+03 + -1.075856742179453e+03 + -1.078584679453085e+03 + -1.081317884808236e+03 + -1.084056364390976e+03 + -1.086800124999999e+03 + -1.089549173751501e+03 + -1.092303517161580e+03 + -1.095063162007773e+03 + -1.097828115663242e+03 + -1.100598385000000e+03 + -1.103373976558467e+03 + -1.106154896984741e+03 + -1.108941153067517e+03 + -1.111732751768433e+03 + -1.114529699999999e+03 + -1.117332004656191e+03 + -1.120139672719820e+03 + -1.122952711033347e+03 + -1.125771126202256e+03 + -1.128594925000000e+03 + -1.131424114391635e+03 + -1.134258701616623e+03 + -1.137098693726371e+03 + -1.139944097362279e+03 + -1.142794918999999e+03 + -1.145651165298781e+03 + -1.148512843975744e+03 + -1.151379962155369e+03 + -1.154252525751212e+03 + -1.157130542000000e+03 + -1.160014018647746e+03 + -1.162902961796701e+03 + -1.165797378002409e+03 + -1.168697275086654e+03 + -1.171602659999999e+03 + -1.174513539162380e+03 + -1.177429919411751e+03 + -1.180351807863387e+03 + -1.183279211838743e+03 + -1.186212138000000e+03 + -1.189150592852472e+03 + -1.192094584016226e+03 + -1.195044118757429e+03 + -1.197999203418656e+03 + -1.200959844999999e+03 + -1.203926050837031e+03 + -1.206897827704460e+03 + -1.209875182550288e+03 + -1.212858122751144e+03 + -1.215846655000000e+03 + -1.218840785789916e+03 + -1.221840522671824e+03 + -1.224845872987532e+03 + -1.227856843385819e+03 + -1.230873440999999e+03 + -1.233895673111333e+03 + -1.236923546192640e+03 + -1.239957067026041e+03 + -1.242996243170224e+03 + -1.246041082000000e+03 + -1.249091590572761e+03 + -1.252147775334870e+03 + -1.255209643154299e+03 + -1.258277201722480e+03 + -1.261350457999999e+03 + -1.264429418673061e+03 + -1.267514091394071e+03 + -1.270604483350415e+03 + -1.273700600740823e+03 + -1.276802451000000e+03 + -1.279910042060014e+03 + -1.283023380429426e+03 + -1.286142472688095e+03 + -1.289267326090673e+03 + -1.292397947999999e+03 + -1.295534345774196e+03 + -1.298676526619691e+03 + -1.301824497524618e+03 + -1.304978265240164e+03 + -1.308137837000000e+03 + -1.311303220289759e+03 + -1.314474422298625e+03 + -1.317651449999705e+03 + -1.320834310180745e+03 + -1.324023009999999e+03 + -1.327217556910311e+03 + -1.330417958531748e+03 + -1.333624221890711e+03 + -1.336836353161044e+03 + -1.340054360000000e+03 + -1.343278250622039e+03 + -1.346508031450468e+03 + -1.349743709083262e+03 + -1.352985291084887e+03 + -1.356232784999999e+03 + -1.359486198143600e+03 + -1.362745537187869e+03 + -1.366010809195683e+03 + -1.369282022032803e+03 + -1.372559183000000e+03 + -1.375842299046690e+03 + -1.379131377356324e+03 + -1.382426425045151e+03 + -1.385727449081319e+03 + -1.389034456999999e+03 + -1.392347456524483e+03 + -1.395666454635196e+03 + -1.398991458464414e+03 + -1.402322475610563e+03 + -1.405659513000000e+03 + -1.409002577344138e+03 + -1.412351676333446e+03 + -1.415706817605260e+03 + -1.419068008353351e+03 + -1.422435255999999e+03 + -1.425808567964313e+03 + -1.429187950969556e+03 + -1.432573411998037e+03 + -1.435964958719179e+03 + -1.439362599000000e+03 + -1.442766340439504e+03 + -1.446176189225631e+03 + -1.449592152360744e+03 + -1.453014238529275e+03 + -1.456442454999999e+03 + -1.459876808245435e+03 + -1.463317305593544e+03 + -1.466763954627232e+03 + -1.470216762966463e+03 + -1.473675738000000e+03 + -1.477140887005819e+03 + -1.480612217422037e+03 + -1.484089736511155e+03 + -1.487573451238554e+03 + -1.491063368999999e+03 + -1.494559497483912e+03 + -1.498061844364458e+03 + -1.501570417048641e+03 + -1.505085222548716e+03 + -1.508606267999999e+03 + -1.512133560790714e+03 + -1.515667108906144e+03 + -1.519206919999463e+03 + -1.522753000996140e+03 + -1.526305358999999e+03 + -1.529864001422905e+03 + -1.533428936276007e+03 + -1.537000171179230e+03 + -1.540577712963951e+03 + -1.544161568999999e+03 + -1.547751747018138e+03 + -1.551348254621497e+03 + -1.554951099280540e+03 + -1.558560288310355e+03 + -1.562175828999999e+03 + -1.565797728689906e+03 + -1.569425994958102e+03 + -1.573060635400619e+03 + -1.576701657553543e+03 + -1.580349068999999e+03 + -1.584002877314684e+03 + -1.587663089901193e+03 + -1.591329713983250e+03 + -1.595002756657312e+03 + -1.598682225999999e+03 + -1.602368130282464e+03 + -1.606060476003810e+03 + -1.609759270166310e+03 + -1.613464521194204e+03 + -1.617176236999999e+03 + -1.620894424965112e+03 + -1.624619091996676e+03 + -1.628350245392540e+03 + -1.632087893195996e+03 + -1.635832042999999e+03 + -1.639582702219653e+03 + -1.643339878880967e+03 + -1.647103580589531e+03 + -1.650873814125992e+03 + -1.654650586999999e+03 + -1.658433907212865e+03 + -1.662223782656940e+03 + -1.666020220927786e+03 + -1.669823229228366e+03 + -1.673632814999999e+03 + -1.677448985879331e+03 + -1.681271749582079e+03 + -1.685101113981527e+03 + -1.688937087086922e+03 + -1.692779675999999e+03 + -1.696628887589857e+03 + -1.700484730162859e+03 + -1.704347211664743e+03 + -1.708216339003609e+03 + -1.712092119999999e+03 + -1.715974562928047e+03 + -1.719863675285195e+03 + -1.723759464515762e+03 + -1.727661938269359e+03 + -1.731571103999999e+03 + -1.735486969207614e+03 + -1.739409542118944e+03 + -1.743338830603560e+03 + -1.747274841733617e+03 + -1.751217582999999e+03 + -1.755167062315964e+03 + -1.759123288009624e+03 + -1.763086267739076e+03 + -1.767056008086542e+03 + -1.771032516999999e+03 + -1.775015803098183e+03 + -1.779005873908525e+03 + -1.783002736756524e+03 + -1.787006399126180e+03 + -1.791016869000000e+03 + -1.795034154506543e+03 + -1.799058263107071e+03 + -1.803089202321619e+03 + -1.807126980015989e+03 + -1.811171603999998e+03 + -1.815223082025504e+03 + -1.819281421835726e+03 + -1.823346631247284e+03 + -1.827418718154363e+03 + -1.831497690000000e+03 + -1.835583554215247e+03 + -1.839676319355180e+03 + -1.843775993459518e+03 + -1.847882583413063e+03 + -1.851996096999998e+03 + -1.856116542493618e+03 + -1.860243927542824e+03 + -1.864378259929794e+03 + -1.868519547846306e+03 + -1.872667799000000e+03 + -1.876823020804590e+03 + -1.880985220849939e+03 + -1.885154407199114e+03 + -1.889330588466962e+03 + -1.893513771999998e+03 + -1.897703964771626e+03 + -1.901901175652285e+03 + -1.906105412964281e+03 + -1.910316683519642e+03 + -1.914534995000000e+03 + -1.918760355678869e+03 + -1.922992773607248e+03 + -1.927232256642219e+03 + -1.931478812455566e+03 + -1.935732448999998e+03 + -1.939993174351127e+03 + -1.944260996306766e+03 + -1.948535922544343e+03 + -1.952817960710870e+03 + -1.957107119000000e+03 + -1.961403405774432e+03 + -1.965706828656891e+03 + -1.970017395435863e+03 + -1.974335114379128e+03 + -1.978659992999998e+03 + -1.982992038634364e+03 + -1.987331259958815e+03 + -1.991677665406797e+03 + -1.996031262526477e+03 + -2.000392059000000e+03 + -2.004760062662544e+03 + -2.009135281420714e+03 + -2.013517723394651e+03 + -2.017907396963966e+03 + -2.022304309999998e+03 + -2.026708470129302e+03 + -2.031119885371980e+03 + -2.035538563783372e+03 + -2.039964513323241e+03 + -2.044397742000000e+03 + -2.048838257821666e+03 + -2.053286068652342e+03 + -2.057741182613919e+03 + -2.062203608203423e+03 + -2.066673352999998e+03 + -2.071150424296029e+03 + -2.075634830690161e+03 + -2.080126580708826e+03 + -2.084625682242698e+03 + -2.089132143000000e+03 + -2.093645970720743e+03 + -2.098167173603271e+03 + -2.102695759983049e+03 + -2.107231738184183e+03 + -2.111775115999998e+03 + -2.116325901057278e+03 + -2.120884101683680e+03 + -2.125449726108530e+03 + -2.130022782163747e+03 + -2.134603278000000e+03 + -2.139191221924691e+03 + -2.143786621957349e+03 + -2.148389485981318e+03 + -2.152999821836896e+03 + -2.157617637999998e+03 + -2.162242943074696e+03 + -2.166875744534069e+03 + -2.171516050262848e+03 + -2.176163869133622e+03 + -2.180819209000000e+03 + -2.185482077327040e+03 + -2.190152482871076e+03 + -2.194830433950524e+03 + -2.199515937814626e+03 + -2.204209002999998e+03 + -2.208909638535144e+03 + -2.213617851857877e+03 + -2.218333650781778e+03 + -2.223057044225780e+03 + -2.227788040000000e+03 + -2.232526645541351e+03 + -2.237272869895315e+03 + -2.242026721580949e+03 + -2.246788207788726e+03 + -2.251557336999999e+03 + -2.256334118250544e+03 + -2.261118559161676e+03 + -2.265910667352767e+03 + -2.270710451040453e+03 + -2.275517918999998e+03 + -2.280333080014267e+03 + -2.285155941593499e+03 + -2.289986511539142e+03 + -2.294824798563590e+03 + -2.299670810999998e+03 + -2.304524556927484e+03 + -2.309386044592275e+03 + -2.314255282195762e+03 + -2.319132277836808e+03 + -2.324017039999998e+03 + -2.328909577220459e+03 + -2.333809897224200e+03 + -2.338718008145149e+03 + -2.343633918994289e+03 + -2.348557637999998e+03 + -2.353489172912608e+03 + -2.358428531797252e+03 + -2.363375723128402e+03 + -2.368330755820120e+03 + -2.373293637999998e+03 + -2.378264377427878e+03 + -2.383242982526706e+03 + -2.388229461889857e+03 + -2.393223824063392e+03 + -2.398226076999998e+03 + -2.403236228525699e+03 + -2.408254287477974e+03 + -2.413280262494937e+03 + -2.418314161547432e+03 + -2.423355992999998e+03 + -2.428405765403690e+03 + -2.433463486890615e+03 + -2.438529165661329e+03 + -2.443602810190047e+03 + -2.448684428999998e+03 + -2.453774030522361e+03 + -2.458871622761939e+03 + -2.463977214083831e+03 + -2.469090813490053e+03 + -2.474212428999998e+03 + -2.479342068313477e+03 + -2.484479740528551e+03 + -2.489625454539379e+03 + -2.494779218375099e+03 + -2.499941039999998e+03 + -2.505110927624773e+03 + -2.510288890409285e+03 + -2.515474937052364e+03 + -2.520669075212765e+03 + -2.525871312999998e+03 + -2.531081658990217e+03 + -2.536300122220549e+03 + -2.541526711425658e+03 + -2.546761434689014e+03 + -2.552004299999998e+03 + -2.557255315555890e+03 + -2.562514490474060e+03 + -2.567781833501355e+03 + -2.573057352510476e+03 + -2.578341055999998e+03 + -2.583632952807378e+03 + -2.588933051312229e+03 + -2.594241359879810e+03 + -2.599557887014108e+03 + -2.604882640999998e+03 + -2.610215630196411e+03 + -2.615556863841929e+03 + -2.620906350516468e+03 + -2.626264097579904e+03 + -2.631630113999998e+03 + -2.637004409331177e+03 + -2.642386991059378e+03 + -2.647777867311749e+03 + -2.653177047878767e+03 + -2.658584540999998e+03 + -2.664000354190328e+03 + -2.669424496446296e+03 + -2.674856976816473e+03 + -2.680297803844182e+03 + -2.685746985999998e+03 + -2.691204531699670e+03 + -2.696670449221115e+03 + -2.702144747143579e+03 + -2.707627434527642e+03 + -2.713118519999998e+03 + -2.718618011850782e+03 + -2.724125918263655e+03 + -2.729642247949266e+03 + -2.735167010382318e+03 + -2.740700213999998e+03 + -2.746241866699575e+03 + -2.751791977076697e+03 + -2.757350554006517e+03 + -2.762917606479738e+03 + -2.768493143000000e+03 + -2.774077171851313e+03 + -2.779669701724049e+03 + -2.785270741295763e+03 + -2.790880299095185e+03 + -2.796498383999998e+03 + -2.802125004968091e+03 + -2.807760170344632e+03 + -2.813403888501788e+03 + -2.819056168106567e+03 + -2.824717018000000e+03 + -2.830386447079949e+03 + -2.836064464083062e+03 + -2.841751077483182e+03 + -2.847446295475182e+03 + -2.853150126999998e+03 + -2.858862581346520e+03 + -2.864583667200011e+03 + -2.870313392988722e+03 + -2.876051767015894e+03 + -2.881798798000000e+03 + -2.887554494917011e+03 + -2.893318866668325e+03 + -2.899091922031221e+03 + -2.904873669618204e+03 + -2.910664117999998e+03 + -2.916463275808826e+03 + -2.922271151990944e+03 + -2.928087755363771e+03 + -2.933913094445438e+03 + -2.939747178000000e+03 + -2.945590014959967e+03 + -2.951441614226611e+03 + -2.957301984588625e+03 + -2.963171134666888e+03 + -2.969049072999998e+03 + -2.974935808208847e+03 + -2.980831349417174e+03 + -2.986735705755709e+03 + -2.992648886132359e+03 + -2.998570899000000e+03 + -3.004501752659864e+03 + -3.010441455936329e+03 + -3.016390017858416e+03 + -3.022347447554316e+03 + -3.028313753999998e+03 + -3.034288946006182e+03 + -3.040273032141582e+03 + -3.046266021078663e+03 + -3.052267921739149e+03 + -3.058278743000000e+03 + -3.064298493698561e+03 + -3.070327182685398e+03 + -3.076364818827055e+03 + -3.082411411001809e+03 + -3.088466967999998e+03 + -3.094531498652569e+03 + -3.100605012177602e+03 + -3.106687517554494e+03 + -3.112779023262762e+03 + -3.118879538000000e+03 + -3.124989070695736e+03 + -3.131107630527278e+03 + -3.137235226491168e+03 + -3.143371867254447e+03 + -3.149517561999998e+03 + -3.155672319953097e+03 + -3.161836149115856e+03 + -3.168009058152651e+03 + -3.174191057129923e+03 + -3.180382155000000e+03 + -3.186582360055111e+03 + -3.192791681144167e+03 + -3.199010127274887e+03 + -3.205237707493432e+03 + -3.211474430999998e+03 + -3.217720306909038e+03 + -3.223975343611381e+03 + -3.230239549889151e+03 + -3.236512935355519e+03 + -3.242795509000000e+03 + -3.249087279482800e+03 + -3.255388255944051e+03 + -3.261698447489179e+03 + -3.268017862963467e+03 + -3.274346510999998e+03 + -3.280684400401313e+03 + -3.287031541121871e+03 + -3.293387942369432e+03 + -3.299753611888159e+03 + -3.306128559000000e+03 + -3.312512793688797e+03 + -3.318906324190636e+03 + -3.325309159228279e+03 + -3.331721308860119e+03 + -3.338142781999998e+03 + -3.344573586933190e+03 + -3.351013732692941e+03 + -3.357463228591956e+03 + -3.363922084041577e+03 + -3.370390307999997e+03 + -3.376867909193196e+03 + -3.383354896616435e+03 + -3.389851279509897e+03 + -3.396357067337695e+03 + -3.402872268999997e+03 + -3.409396893188545e+03 + -3.415930949268335e+03 + -3.422474446597307e+03 + -3.429027394238212e+03 + -3.435589800999997e+03 + -3.442161675674332e+03 + -3.448743027574159e+03 + -3.455333866086035e+03 + -3.461934200499129e+03 + -3.468544039999997e+03 + -3.475163393634110e+03 + -3.481792270131310e+03 + -3.488430678432703e+03 + -3.495078627927044e+03 + -3.501736127999997e+03 + -3.508403187927853e+03 + -3.515079816661691e+03 + -3.521766023349286e+03 + -3.528461817510494e+03 + -3.535167207999998e+03 + -3.541882203477436e+03 + -3.548606813620608e+03 + -3.555341047964333e+03 + -3.562084915431213e+03 + -3.568838424999997e+03 + -3.575601585773337e+03 + -3.582374407066678e+03 + -3.589156898185297e+03 + -3.595949068354316e+03 + -3.602750926999998e+03 + -3.609562483468940e+03 + -3.616383746264014e+03 + -3.623214724488114e+03 + -3.630055428392298e+03 + -3.636905866999997e+03 + -3.643766048793625e+03 + -3.650635983516456e+03 + -3.657515680680700e+03 + -3.664405149014039e+03 + -3.671304397999997e+03 + -3.678213437374473e+03 + -3.685132275760156e+03 + -3.692060922035369e+03 + -3.698999385901594e+03 + -3.705947676999997e+03 + -3.712905804797643e+03 + -3.719873778403308e+03 + -3.726851606752037e+03 + -3.733839298718909e+03 + -3.740836863999997e+03 + -3.747844312547997e+03 + -3.754861653211674e+03 + -3.761888895074585e+03 + -3.768926047955085e+03 + -3.775973120999997e+03 + -3.783030123074376e+03 + -3.790097063813473e+03 + -3.797173952745452e+03 + -3.804260798968512e+03 + -3.811357611999997e+03 + -3.818464401472386e+03 + -3.825581176303607e+03 + -3.832707945585785e+03 + -3.839844718954238e+03 + -3.846991505999998e+03 + -3.854148316201428e+03 + -3.861315158822798e+03 + -3.868492043129635e+03 + -3.875678978458987e+03 + -3.882875973999997e+03 + -3.890083038997269e+03 + -3.897300183310783e+03 + -3.904527416633095e+03 + -3.911764748154242e+03 + -3.919012186999997e+03 + -3.926269742452437e+03 + -3.933537424464352e+03 + -3.940815242621297e+03 + -3.948103205720294e+03 + -3.955401322999997e+03 + -3.962709604107895e+03 + -3.970028058998795e+03 + -3.977356697163350e+03 + -3.984695527326294e+03 + -3.992044558999997e+03 + -3.999403802144854e+03 + -4.006773266302151e+03 + -4.014152960820400e+03 + -4.021542894928240e+03 + -4.028943077999997e+03 + -4.036353519583599e+03 + -4.043774229513202e+03 + -4.051205217431756e+03 + -4.058646492564995e+03 + -4.066098063999997e+03 + -4.073559940995820e+03 + -4.081032133755226e+03 + -4.088514652104142e+03 + -4.096007504979870e+03 + -4.103510702000000e+03 + -4.111024253097677e+03 + -4.118548167510886e+03 + -4.126082454416708e+03 + -4.133627123225803e+03 + -4.141182184000000e+03 + -4.148747646853033e+03 + -4.156323520486682e+03 + -4.163909814098826e+03 + -4.171506538118098e+03 + -4.179113701999993e+03 + -4.186731314728609e+03 + -4.194359386189681e+03 + -4.201997926116393e+03 + -4.209646943720986e+03 + -4.217306449000000e+03 + -4.224976452122954e+03 + -4.232656961817923e+03 + -4.240347987240753e+03 + -4.248049538718602e+03 + -4.255761626000000e+03 + -4.263484258397591e+03 + -4.271217445246016e+03 + -4.278961196276451e+03 + -4.286715521743729e+03 + -4.294480431000000e+03 + -4.302255933066315e+03 + -4.310042038085233e+03 + -4.317838756007569e+03 + -4.325646096087124e+03 + -4.333464067999995e+03 + -4.341292681602012e+03 + -4.349131946225953e+03 + -4.356981871466000e+03 + -4.364842467485710e+03 + -4.372713744000000e+03 + -4.380595710372718e+03 + -4.388488375861229e+03 + -4.396391750264422e+03 + -4.404305844160006e+03 + -4.412230667000000e+03 + -4.420166227736474e+03 + -4.428112536405837e+03 + -4.436069603088062e+03 + -4.444037437481978e+03 + -4.452016049000000e+03 + -4.460005447074678e+03 + -4.468005641867199e+03 + -4.476016643204103e+03 + -4.484038460200805e+03 + -4.492071102999995e+03 + -4.500114582060231e+03 + -4.508168906299815e+03 + -4.516234085098625e+03 + -4.524310129075975e+03 + -4.532397048000000e+03 + -4.540494851104932e+03 + -4.548603547974418e+03 + -4.556723148595408e+03 + -4.564853663376500e+03 + -4.572995102000000e+03 + -4.581147473755137e+03 + -4.589310788334117e+03 + -4.597485055595826e+03 + -4.605670285497996e+03 + -4.613866488000000e+03 + -4.622073673035890e+03 + -4.630291850451470e+03 + -4.638521029781397e+03 + -4.646761220207367e+03 + -4.655012431999994e+03 + -4.663274675842531e+03 + -4.671547961173437e+03 + -4.679832297267551e+03 + -4.688127693710799e+03 + -4.696434161000000e+03 + -4.704751709752170e+03 + -4.713080348793824e+03 + -4.721420087561993e+03 + -4.729770937031085e+03 + -4.738132907000000e+03 + -4.746506006604411e+03 + -4.754890245715343e+03 + -4.763285634540516e+03 + -4.771692183448750e+03 + -4.780109901999994e+03 + -4.788538799466528e+03 + -4.796978886096308e+03 + -4.805430172162917e+03 + -4.813892667577567e+03 + -4.822366381999994e+03 + -4.830851325088147e+03 + -4.839347507060687e+03 + -4.847854938123849e+03 + -4.856373628221604e+03 + -4.864903587000000e+03 + -4.873444824101478e+03 + -4.881997349859994e+03 + -4.890561174364984e+03 + -4.899136307099045e+03 + -4.907722758000000e+03 + -4.916320537362784e+03 + -4.924929655587317e+03 + -4.933550122528648e+03 + -4.942181947260091e+03 + -4.950825139999994e+03 + -4.959479711457802e+03 + -4.968145671175524e+03 + -4.976823028809056e+03 + -4.985511794647833e+03 + -4.994211978999993e+03 + -5.002923592007461e+03 + -5.011646643245516e+03 + -5.020381142480443e+03 + -5.029127099988444e+03 + -5.037884526000000e+03 + -5.046653430641881e+03 + -5.055433823857634e+03 + -5.064225715527905e+03 + -5.073029115529123e+03 + -5.081844034000000e+03 + -5.090670481166524e+03 + -5.099508466925161e+03 + -5.108358001180135e+03 + -5.117219094017154e+03 + -5.126091755999993e+03 + -5.134975997626908e+03 + -5.143871827953957e+03 + -5.152779256704796e+03 + -5.161698295082459e+03 + -5.170628952999993e+03 + -5.179571239778229e+03 + -5.188525166029071e+03 + -5.197490742130520e+03 + -5.206467977662855e+03 + -5.215456883000000e+03 + -5.224457468752808e+03 + -5.233469744262066e+03 + -5.242493719420175e+03 + -5.251529405361101e+03 + -5.260576812000000e+03 + -5.269635948683524e+03 + -5.278706825911151e+03 + -5.287789454172008e+03 + -5.296883843495917e+03 + -5.305990003999993e+03 + -5.315107945871962e+03 + -5.324237679253967e+03 + -5.333379214299059e+03 + -5.342532561186867e+03 + -5.351697729999993e+03 + -5.360874730862462e+03 + -5.370063574314554e+03 + -5.379264270604972e+03 + -5.388476829418795e+03 + -5.397701261000000e+03 + -5.406937575887649e+03 + -5.416185784228891e+03 + -5.425445896082409e+03 + -5.434717921547790e+03 + -5.444001871000000e+03 + -5.453297754883592e+03 + -5.462605583222671e+03 + -5.471925366229407e+03 + -5.481257114511772e+03 + -5.490600837999993e+03 + -5.499956546429602e+03 + -5.509324250592133e+03 + -5.518703961068116e+03 + -5.528095687743725e+03 + -5.537499440999993e+03 + -5.546915231361128e+03 + -5.556343068498348e+03 + -5.565782962476614e+03 + -5.575234924238452e+03 + -5.584698964000000e+03 + -5.594175091687396e+03 + -5.603663318133420e+03 + -5.613163653827974e+03 + -5.622676108416792e+03 + -5.632200692000000e+03 + -5.641737415094019e+03 + -5.651286288507457e+03 + -5.660847322604374e+03 + -5.670420527008017e+03 + -5.680005911999993e+03 + -5.689603488367688e+03 + -5.699213267038800e+03 + -5.708835258184300e+03 + -5.718469470901945e+03 + -5.728115915999992e+03 + -5.737774605002216e+03 + -5.747445547634946e+03 + -5.757128753652110e+03 + -5.766824233562706e+03 + -5.776531998000000e+03 + -5.786252057564687e+03 + -5.795984422575620e+03 + -5.805729103393980e+03 + -5.815486110517342e+03 + -5.825255454000000e+03 + -5.835037143865786e+03 + -5.844831191184440e+03 + -5.854637606668529e+03 + -5.864456400127173e+03 + -5.874287581999993e+03 + -5.884131163070459e+03 + -5.893987153665426e+03 + -5.903855564090225e+03 + -5.913736404781277e+03 + -5.923629686000000e+03 + -5.933535418061928e+03 + -5.943453611973397e+03 + -5.953384278439786e+03 + -5.963327427438455e+03 + -5.973283069000000e+03 + -5.983251213525049e+03 + -5.993231872573540e+03 + -6.003225056744913e+03 + -6.013230774891098e+03 + -6.023249038000000e+03 + -6.033279857947543e+03 + -6.043323244258373e+03 + -6.053379206808452e+03 + -6.063447756872029e+03 + -6.073528904999992e+03 + -6.083622661322729e+03 + -6.093729036471069e+03 + -6.103848041095609e+03 + -6.113979685699232e+03 + -6.124123981000000e+03 + -6.134280937646101e+03 + -6.144450565430006e+03 + -6.154632874755873e+03 + -6.164827877191976e+03 + -6.175035583000000e+03 + -6.185256001935748e+03 + -6.195489145360168e+03 + -6.205735024246584e+03 + -6.215993648382001e+03 + -6.226265028000000e+03 + -6.236549173839082e+03 + -6.246846097225249e+03 + -6.257155808917487e+03 + -6.267478318647532e+03 + -6.277813636999993e+03 + -6.288161775039973e+03 + -6.298522743318929e+03 + -6.308896552332133e+03 + -6.319283212690151e+03 + -6.329682735000000e+03 + -6.340095129841887e+03 + -6.350520407726451e+03 + -6.360958579315570e+03 + -6.371409655512612e+03 + -6.381873647000000e+03 + -6.392350564293673e+03 + -6.402840417873253e+03 + -6.413343218449801e+03 + -6.423858977046060e+03 + -6.434387704000000e+03 + -6.444929409479182e+03 + -6.455484104800415e+03 + -6.466051800878468e+03 + -6.476632507643834e+03 + -6.487226235999992e+03 + -6.497832997260840e+03 + -6.508452801649206e+03 + -6.519085659445890e+03 + -6.529731581482401e+03 + -6.540390579000000e+03 + -6.551062663116751e+03 + -6.561747843536938e+03 + -6.572446130639311e+03 + -6.583157536279329e+03 + -6.593882071000000e+03 + -6.604619744763902e+03 + -6.615370568925604e+03 + -6.626134554413510e+03 + -6.636911711064461e+03 + -6.647702049999992e+03 + -6.658505582840396e+03 + -6.669322319643610e+03 + -6.680152270785791e+03 + -6.690995447680221e+03 + -6.701851860999993e+03 + -6.712721521095499e+03 + -6.723604439166686e+03 + -6.734500626205399e+03 + -6.745410092579864e+03 + -6.756332849000000e+03 + -6.767268906377159e+03 + -6.778218275408767e+03 + -6.789180966973428e+03 + -6.800156992270870e+03 + -6.811146362000000e+03 + -6.822149086596000e+03 + -6.833165176809022e+03 + -6.844194643583943e+03 + -6.855237498022965e+03 + -6.866293750999992e+03 + -6.877363413246921e+03 + -6.888446495554016e+03 + -6.899543008749155e+03 + -6.910652963678518e+03 + -6.921776370999992e+03 + -6.932913241460104e+03 + -6.944063586638155e+03 + -6.955227417524035e+03 + -6.966404743973952e+03 + -6.977595577000000e+03 + -6.988799928187199e+03 + -7.000017808173458e+03 + -7.011249227729020e+03 + -7.022494198140058e+03 + -7.033752730000000e+03 + -7.045024833685246e+03 + -7.056310520605544e+03 + -7.067609802022496e+03 + -7.078922688575014e+03 + -7.090249190999992e+03 + -7.101589320140114e+03 + -7.112943086874141e+03 + -7.124310502404821e+03 + -7.135691578318693e+03 + -7.147086324999992e+03 + -7.158494752468790e+03 + -7.169916872475182e+03 + -7.181352696510882e+03 + -7.192802235036809e+03 + -7.204265499000000e+03 + -7.215742499578333e+03 + -7.227233247391960e+03 + -7.238737753333357e+03 + -7.250256028887258e+03 + -7.261788085000000e+03 + -7.273333932305611e+03 + -7.284893581718426e+03 + -7.296467044458082e+03 + -7.308054332025791e+03 + -7.319655454999992e+03 + -7.331270423697963e+03 + -7.342899249833889e+03 + -7.354541944862027e+03 + -7.366198519315069e+03 + -7.377868983999992e+03 + -7.389553350032372e+03 + -7.401251628839381e+03 + -7.412963831476617e+03 + -7.424689968390403e+03 + -7.436430051000000e+03 + -7.448184091042194e+03 + -7.459952098877861e+03 + -7.471734085033887e+03 + -7.483530060856024e+03 + -7.495340038000000e+03 + -7.507164027981260e+03 + -7.519002041143363e+03 + -7.530854088088799e+03 + -7.542720180263871e+03 + -7.554600328999991e+03 + -7.566494545476364e+03 + -7.578402840747203e+03 + -7.590325225748156e+03 + -7.602261711334166e+03 + -7.614212308999990e+03 + -7.626177030375796e+03 + -7.638155885970103e+03 + -7.650148886679111e+03 + -7.662156044359298e+03 + -7.674177370000000e+03 + -7.686212874133715e+03 + -7.698262567927072e+03 + -7.710326462858042e+03 + -7.722404570574414e+03 + -7.734496902000000e+03 + -7.746603467726753e+03 + -7.758724278933637e+03 + -7.770859347070250e+03 + -7.783008683730720e+03 + -7.795172299999991e+03 + -7.807350206747154e+03 + -7.819542415323729e+03 + -7.831748936928582e+03 + -7.843969782379609e+03 + -7.856204962999991e+03 + -7.868454490389281e+03 + -7.880718375856472e+03 + -7.892996630459527e+03 + -7.905289265033489e+03 + -7.917596291000000e+03 + -7.929917719977670e+03 + -7.942253562811284e+03 + -7.954603830544003e+03 + -7.966968534806996e+03 + -7.979347687000000e+03 + -7.991741298275563e+03 + -8.004149379532312e+03 + -8.016571941875890e+03 + -8.029008996834256e+03 + -8.041460555999991e+03 + -8.053926630829063e+03 + -8.066407232164392e+03 + -8.078902371093302e+03 + -8.091412059283156e+03 + -8.103936307999991e+03 + -8.116475128348727e+03 + -8.129028531951320e+03 + -8.141596530160446e+03 + -8.154179133753471e+03 + -8.166776354000000e+03 + -8.179388202500601e+03 + -8.192014690774517e+03 + -8.204655830155478e+03 + -8.217311631752342e+03 + -8.229982107000000e+03 + -8.242667267443709e+03 + -8.255367124181290e+03 + -8.268081688506129e+03 + -8.280810972124258e+03 + -8.293554985999990e+03 + -8.306313740930424e+03 + -8.319087249046417e+03 + -8.331875522237864e+03 + -8.344678571514016e+03 + -8.357496408000001e+03 + -8.370329042981793e+03 + -8.383176487893126e+03 + -8.396038754236946e+03 + -8.408915853538949e+03 + -8.421807796999999e+03 + -8.434714595760075e+03 + -8.447636261558551e+03 + -8.460572806112319e+03 + -8.473524240852536e+03 + -8.486490577000000e+03 + -8.499471825734363e+03 + -8.512467998550057e+03 + -8.525479106914012e+03 + -8.538505162160651e+03 + -8.551546175999989e+03 + -8.564602160205039e+03 + -8.577673125806519e+03 + -8.590759084111069e+03 + -8.603860047081474e+03 + -8.616976026000000e+03 + -8.630107031891077e+03 + -8.643253076647045e+03 + -8.656414171854482e+03 + -8.669590328370747e+03 + -8.682781558000001e+03 + -8.695987872906602e+03 + -8.709209284090668e+03 + -8.722445802791402e+03 + -8.735697441007769e+03 + -8.748964210000000e+03 + -8.762246120773598e+03 + -8.775543185390141e+03 + -8.788855415760128e+03 + -8.802182823160678e+03 + -8.815525418999991e+03 + -8.828883214778334e+03 + -8.842256221886048e+03 + -8.855644451817980e+03 + -8.869047916276779e+03 + -8.882466627000000e+03 + -8.895900595656447e+03 + -8.909349833599377e+03 + -8.922814352320849e+03 + -8.936294163622882e+03 + -8.949789279000001e+03 + -8.963299709806102e+03 + -8.976825467697834e+03 + -8.990366564425331e+03 + -9.003923011733321e+03 + -9.017494820999989e+03 + -9.031082003570244e+03 + -9.044684571593196e+03 + -9.058302536801553e+03 + -9.071935910043938e+03 + -9.085584702999991e+03 + -9.099248927805194e+03 + -9.112928596071970e+03 + -9.126623719398038e+03 + -9.140334309541779e+03 + -9.154060378000000e+03 + -9.167801936143134e+03 + -9.181558995552323e+03 + -9.195331568052554e+03 + -9.209119665711642e+03 + -9.222923300000000e+03 + -9.236742482191501e+03 + -9.250577224366738e+03 + -9.264427538348678e+03 + -9.278293435300837e+03 + -9.292174926999989e+03 + -9.306072025514850e+03 + -9.319984742353185e+03 + -9.333913089239737e+03 + -9.347857078372264e+03 + -9.361816720999988e+03 + -9.375792028076301e+03 + -9.389783011923670e+03 + -9.403789684689073e+03 + -9.417812057757259e+03 + -9.431850143000000e+03 + -9.445903952452922e+03 + -9.459973497383473e+03 + -9.474058789280491e+03 + -9.488159840242311e+03 + -9.502276662000000e+03 + -9.516409266099370e+03 + -9.530557664431180e+03 + -9.544721868948835e+03 + -9.558901891554557e+03 + -9.573097743999990e+03 + -9.587309437907974e+03 + -9.601536984771086e+03 + -9.615780396443668e+03 + -9.630039685320193e+03 + -9.644314862999989e+03 + -9.658605940694017e+03 + -9.672912930240365e+03 + -9.687235843732506e+03 + -9.701574693379191e+03 + -9.715929491000001e+03 + -9.730300248146514e+03 + -9.744686976337332e+03 + -9.759089687418043e+03 + -9.773508393705906e+03 + -9.787943106999999e+03 + -9.802393838806964e+03 + -9.816860600913731e+03 + -9.831343405392694e+03 + -9.845842264577648e+03 + -9.860357189999990e+03 + -9.874888192875391e+03 + -9.889435285292540e+03 + -9.903998479577405e+03 + -9.918577788007758e+03 + -9.933173221999989e+03 + -9.947784792760667e+03 + -9.962412512866247e+03 + -9.977056394630243e+03 + -9.991716449514770e+03 + -1.000639269000000e+04 + -1.002108512827329e+04 + -1.003579377260607e+04 + -1.005051863510592e+04 + -1.006525973450424e+04 + -1.008001708000000e+04 + -1.009479067738785e+04 + -1.010958054488143e+04 + -1.012438669671707e+04 + -1.013920913701616e+04 + -1.015404787999999e+04 + -1.016890294387830e+04 + -1.018377433451942e+04 + -1.019866206104612e+04 + -1.021356614193473e+04 + -1.022848658999999e+04 + -1.024342341422066e+04 + -1.025837662498870e+04 + -1.027334623400460e+04 + -1.028833225445739e+04 + -1.030333470000000e+04 + -1.031835358368700e+04 + -1.033338891534757e+04 + -1.034844070623467e+04 + -1.036350897076085e+04 + -1.037859372000000e+04 + -1.039369496373519e+04 + -1.040881271589677e+04 + -1.042394698923176e+04 + -1.043909779325773e+04 + -1.045426513999999e+04 + -1.046944904320307e+04 + -1.048464951626011e+04 + -1.049986657147346e+04 + -1.051510021951631e+04 + -1.053035046999999e+04 + -1.054561733346490e+04 + -1.056090082649770e+04 + -1.057620096382862e+04 + -1.059151775501402e+04 + -1.060685121000000e+04 + -1.062220133982168e+04 + -1.063756815769902e+04 + -1.065295167679853e+04 + -1.066835190951487e+04 + -1.068376887000000e+04 + -1.069920257172756e+04 + -1.071465302083269e+04 + -1.073012022736731e+04 + -1.074560420973240e+04 + -1.076110497999999e+04 + -1.077662254698522e+04 + -1.079215692468130e+04 + -1.080770812602064e+04 + -1.082327616047952e+04 + -1.083886103999999e+04 + -1.085446277832030e+04 + -1.087008138917964e+04 + -1.088571688451933e+04 + -1.090136927381244e+04 + -1.091703857000000e+04 + -1.093272478707855e+04 + -1.094842793381667e+04 + -1.096414802233435e+04 + -1.097988507119364e+04 + -1.099563909000000e+04 + -1.101141008471468e+04 + -1.102719807131307e+04 + -1.104300306633410e+04 + -1.105882508291791e+04 + -1.107466412999999e+04 + -1.109052021511841e+04 + -1.110639335038349e+04 + -1.112228355101184e+04 + -1.113819083451417e+04 + -1.115411520999999e+04 + -1.117005668368749e+04 + -1.118601527242516e+04 + -1.120199099177015e+04 + -1.121798385114509e+04 + -1.123399386000000e+04 + -1.125002102929127e+04 + -1.126606537454743e+04 + -1.128212691149971e+04 + -1.129820565394142e+04 + -1.131430161000000e+04 + -1.133041478676655e+04 + -1.134654520134832e+04 + -1.136269286880464e+04 + -1.137885779750048e+04 + -1.139503999999999e+04 + -1.141123949060806e+04 + -1.142745627830015e+04 + -1.144369037489935e+04 + -1.145994179819328e+04 + -1.147621056000000e+04 + -1.149249666929363e+04 + -1.150880014040390e+04 + -1.152512098586926e+04 + -1.154145921396878e+04 + -1.155781484000000e+04 + -1.157418788116290e+04 + -1.159057834325663e+04 + -1.160698623573862e+04 + -1.162341157750990e+04 + -1.163985437999999e+04 + -1.165631465167572e+04 + -1.167279241049137e+04 + -1.168928767028212e+04 + -1.170580043559586e+04 + -1.172233071999999e+04 + -1.173887854137991e+04 + -1.175544390951204e+04 + -1.177202683447122e+04 + -1.178862732998528e+04 + -1.180524541000000e+04 + -1.182188108744826e+04 + -1.183853437152247e+04 + -1.185520527417456e+04 + -1.187189381268968e+04 + -1.188860000000000e+04 + -1.190532384555031e+04 + -1.192206535739879e+04 + -1.193882454957090e+04 + -1.195560144455150e+04 + -1.197239604999999e+04 + -1.198920836801576e+04 + -1.200603841862060e+04 + -1.202288622005816e+04 + -1.203975178087160e+04 + -1.205663510999999e+04 + -1.207353621858988e+04 + -1.209045512337030e+04 + -1.210739183876488e+04 + -1.212434637372514e+04 + -1.214131874000000e+04 + -1.215830895146994e+04 + -1.217531702204386e+04 + -1.219234296344827e+04 + -1.220938678454126e+04 + -1.222644850000000e+04 + -1.224352812665298e+04 + -1.226062567426862e+04 + -1.227774115320455e+04 + -1.229487457740941e+04 + -1.231202595999999e+04 + -1.232919531361497e+04 + -1.234638265190763e+04 + -1.236358798719477e+04 + -1.238081132944854e+04 + -1.239805268999999e+04 + -1.241531208224867e+04 + -1.243258952373459e+04 + -1.244988502746729e+04 + -1.246719859854622e+04 + -1.248453025000000e+04 + -1.250187999937352e+04 + -1.251924785997314e+04 + -1.253663384322633e+04 + -1.255403795942784e+04 + -1.257146022000000e+04 + -1.258890063824787e+04 + -1.260635923174130e+04 + -1.262383601348307e+04 + -1.264133098848631e+04 + -1.265884416999999e+04 + -1.267637557565735e+04 + -1.269392521755929e+04 + -1.271149310837373e+04 + -1.272907926320349e+04 + -1.274668368999999e+04 + -1.276430639533002e+04 + -1.278194739917555e+04 + -1.279960671868295e+04 + -1.281728436173200e+04 + -1.283498034000000e+04 + -1.285269466774105e+04 + -1.287042735763161e+04 + -1.288817842259290e+04 + -1.290594787633268e+04 + -1.292373573000000e+04 + -1.294154199365508e+04 + -1.295936667981993e+04 + -1.297720980264566e+04 + -1.299507137776778e+04 + -1.301295141999999e+04 + -1.303084994203483e+04 + -1.304876695061188e+04 + -1.306670245535235e+04 + -1.308465647270176e+04 + -1.310262901999999e+04 + -1.312062011245361e+04 + -1.313862975604251e+04 + -1.315665796055223e+04 + -1.317470474462057e+04 + -1.319277012000000e+04 + -1.321085409533674e+04 + -1.322895668661698e+04 + -1.324707790969205e+04 + -1.326521777718879e+04 + -1.328337630000000e+04 + -1.330155348851537e+04 + -1.331974935491385e+04 + -1.333796391362056e+04 + -1.335619718140170e+04 + -1.337444916999999e+04 + -1.339271988874384e+04 + -1.341100935082290e+04 + -1.342931756987852e+04 + -1.344764455872234e+04 + -1.346599032999999e+04 + -1.348435489664480e+04 + -1.350273827293541e+04 + -1.352114047045672e+04 + -1.353956149695641e+04 + -1.355800137000000e+04 + -1.357646010972569e+04 + -1.359493772045508e+04 + -1.361343421245217e+04 + -1.363194960986463e+04 + -1.365048392000000e+04 + -1.366903714425879e+04 + -1.368760930691950e+04 + -1.370620042690972e+04 + -1.372481050688227e+04 + -1.374343955999999e+04 + -1.376208760473736e+04 + -1.378075465005087e+04 + -1.379944070672178e+04 + -1.381814579185646e+04 + -1.383686991999999e+04 + -1.385561310323773e+04 + -1.387437535187516e+04 + -1.389315667691767e+04 + -1.391195709130158e+04 + -1.393077661000000e+04 + -1.394961524865979e+04 + -1.396847302075987e+04 + -1.398734993803961e+04 + -1.400624601054151e+04 + -1.402516125000000e+04 + -1.404409566989268e+04 + -1.406304928589068e+04 + -1.408202211294199e+04 + -1.410101416389908e+04 + -1.412002544999999e+04 + -1.413905598164077e+04 + -1.415810576964489e+04 + -1.417717482985645e+04 + -1.419626318438561e+04 + -1.421537083999999e+04 + -1.423449779870650e+04 + -1.425364408441530e+04 + -1.427280971628262e+04 + -1.429199469812906e+04 + -1.431119904000000e+04 + -1.433042275698022e+04 + -1.434966586475864e+04 + -1.436892837784737e+04 + -1.438821030874347e+04 + -1.440751167000000e+04 + -1.442683247464153e+04 + -1.444617273693482e+04 + -1.446553246845352e+04 + -1.448491167696990e+04 + -1.450431037999999e+04 + -1.452372859766022e+04 + -1.454316633455064e+04 + -1.456262360064903e+04 + -1.458210041914065e+04 + -1.460159679999998e+04 + -1.462111274782618e+04 + -1.464064828275210e+04 + -1.466020342227678e+04 + -1.467977817411577e+04 + -1.469937255000000e+04 + -1.471898656425745e+04 + -1.473862022905967e+04 + -1.475827355783788e+04 + -1.477794656667906e+04 + -1.479763927000000e+04 + -1.481735168022591e+04 + -1.483708380678435e+04 + -1.485683566151257e+04 + -1.487660726097236e+04 + -1.489639861999999e+04 + -1.491620975095499e+04 + -1.493604066191429e+04 + -1.495589136614776e+04 + -1.497576188555746e+04 + -1.499565223000000e+04 + -1.501556240451360e+04 + -1.503549242791256e+04 + -1.505544231896391e+04 + -1.507541209051985e+04 + -1.509540175000000e+04 + -1.511541130465759e+04 + -1.513544077375174e+04 + -1.515549017500820e+04 + -1.517555951933053e+04 + -1.519564881999999e+04 + -1.521575809081157e+04 + -1.523588734003694e+04 + -1.525603658036919e+04 + -1.527620583277191e+04 + -1.529639510999998e+04 + -1.531660442034102e+04 + -1.533683377728779e+04 + -1.535708319443415e+04 + -1.537735268372974e+04 + -1.539764226000000e+04 + -1.541795193921473e+04 + -1.543828173411788e+04 + -1.545863165713528e+04 + -1.547900172144165e+04 + -1.549939194000000e+04 + -1.551980232569260e+04 + -1.554023289178161e+04 + -1.556068365093051e+04 + -1.558115461506463e+04 + -1.560164579999999e+04 + -1.562215722197032e+04 + -1.564268888875843e+04 + -1.566324081295743e+04 + -1.568381301679686e+04 + -1.570440550999999e+04 + -1.572501829745089e+04 + -1.574565139909988e+04 + -1.576630483256334e+04 + -1.578697860613842e+04 + -1.580767273000000e+04 + -1.582838721786272e+04 + -1.584912209052793e+04 + -1.586987736246908e+04 + -1.589065303680525e+04 + -1.591144913000000e+04 + -1.593226566336701e+04 + -1.595310264072689e+04 + -1.597396007256353e+04 + -1.599483798518879e+04 + -1.601573638999999e+04 + -1.603665529105288e+04 + -1.605759470511345e+04 + -1.607855464838671e+04 + -1.609953513161670e+04 + -1.612053616999998e+04 + -1.614155778004294e+04 + -1.616259997081388e+04 + -1.618366275348782e+04 + -1.620474614514243e+04 + -1.622585016000000e+04 + -1.624697481007329e+04 + -1.626812010728422e+04 + -1.628928606592670e+04 + -1.631047270337715e+04 + -1.633168003000000e+04 + -1.635290805454565e+04 + -1.637415679800609e+04 + -1.639542627592296e+04 + -1.641671649164588e+04 + -1.643802745999998e+04 + -1.645935920179283e+04 + -1.648071172935930e+04 + -1.650208505431875e+04 + -1.652347919039644e+04 + -1.654489414999998e+04 + -1.656632994566724e+04 + -1.658778659427021e+04 + -1.660926410974226e+04 + -1.663076250029903e+04 + -1.665228178000000e+04 + -1.667382196574960e+04 + -1.669538306946903e+04 + -1.671696510420377e+04 + -1.673856808645374e+04 + -1.676019203000000e+04 + -1.678183694695306e+04 + -1.680350285053965e+04 + -1.682518975366077e+04 + -1.684689766850574e+04 + -1.686862660999998e+04 + -1.689037659405139e+04 + -1.691214763326874e+04 + -1.693393974023558e+04 + -1.695575292860696e+04 + -1.697758720999999e+04 + -1.699944259677470e+04 + -1.702131910964586e+04 + -1.704321676352935e+04 + -1.706513556209216e+04 + -1.708707552000000e+04 + -1.710903665790321e+04 + -1.713101898938551e+04 + -1.715302252479822e+04 + -1.717504727292061e+04 + -1.719709325000000e+04 + -1.721916047545785e+04 + -1.724124896174670e+04 + -1.726335872072246e+04 + -1.728548976595536e+04 + -1.730764210999998e+04 + -1.732981576548871e+04 + -1.735201074834581e+04 + -1.737422707347338e+04 + -1.739646475299950e+04 + -1.741872379999999e+04 + -1.744100422776899e+04 + -1.746330604747148e+04 + -1.748562927386205e+04 + -1.750797392735042e+04 + -1.753034002000000e+04 + -1.755272756012299e+04 + -1.757513656385630e+04 + -1.759756704698003e+04 + -1.762001902165879e+04 + -1.764249250000000e+04 + -1.766498749503509e+04 + -1.768750402279969e+04 + -1.771004209797560e+04 + -1.773260173223158e+04 + -1.775518293999998e+04 + -1.777778573725219e+04 + -1.780041013823985e+04 + -1.782305615380817e+04 + -1.784572379125812e+04 + -1.786841306999998e+04 + -1.789112401297027e+04 + -1.791385662520795e+04 + -1.793661091551944e+04 + -1.795938690506571e+04 + -1.798218461000000e+04 + -1.800500404157250e+04 + -1.802784520726593e+04 + -1.805070812126097e+04 + -1.807359280836476e+04 + -1.809649928000000e+04 + -1.811942754077938e+04 + -1.814237760512274e+04 + -1.816534949154946e+04 + -1.818834322012563e+04 + -1.821135879999998e+04 + -1.823439623670011e+04 + -1.825745554979138e+04 + -1.828053675712656e+04 + -1.830363986886144e+04 + -1.832676489999998e+04 + -1.834991186721417e+04 + -1.837308077964562e+04 + -1.839627164834952e+04 + -1.841948449011883e+04 + -1.844271932000000e+04 + -1.846597615248214e+04 + -1.848925500551537e+04 + -1.851255589141731e+04 + -1.853587881367952e+04 + -1.855922379000000e+04 + -1.858259084403384e+04 + -1.860597998459446e+04 + -1.862939122130964e+04 + -1.865282457086503e+04 + -1.867628004999998e+04 + -1.869975767367864e+04 + -1.872325745125265e+04 + -1.874677939400045e+04 + -1.877032351829797e+04 + -1.879388983999998e+04 + -1.881747837395618e+04 + -1.884108913346766e+04 + -1.886472213066709e+04 + -1.888837737699991e+04 + -1.891205489000000e+04 + -1.893575468867888e+04 + -1.895947678210836e+04 + -1.898322118083019e+04 + -1.900698790146692e+04 + -1.903077696000000e+04 + -1.905458837122149e+04 + -1.907842214817702e+04 + -1.910227830328199e+04 + -1.912615684887913e+04 + -1.915005779999998e+04 + -1.917398117252360e+04 + -1.919792697876641e+04 + -1.922189523162585e+04 + -1.924588594641727e+04 + -1.926989913999998e+04 + -1.929393482787026e+04 + -1.931799301676958e+04 + -1.934207372057390e+04 + -1.936617696590223e+04 + -1.939030276000000e+04 + -1.941445110358184e+04 + -1.943862202401437e+04 + -1.946281554213054e+04 + -1.948703165938676e+04 + -1.951127038999998e+04 + -1.953553175531375e+04 + -1.955981576784185e+04 + -1.958412243887696e+04 + -1.960845178142548e+04 + -1.963280380999998e+04 + -1.965717854010317e+04 + -1.968157598764983e+04 + -1.970599616682758e+04 + -1.973043908928781e+04 + -1.975490477000000e+04 + -1.977939322508017e+04 + -1.980390446612710e+04 + -1.982843850672890e+04 + -1.985299536464853e+04 + -1.987757505000000e+04 + -1.990217757132781e+04 + -1.992680295149982e+04 + -1.995145120910892e+04 + -1.997612235106852e+04 + -2.000081638999998e+04 + -2.002553334291399e+04 + -2.005027322692212e+04 + -2.007503605456619e+04 + -2.009982183242756e+04 + -2.012463057999998e+04 + -2.014946232050470e+04 + -2.017431705750974e+04 + -2.019919480128925e+04 + -2.022409557869796e+04 + -2.024901940000000e+04 + -2.027396626876084e+04 + -2.029893620825063e+04 + -2.032392923791251e+04 + -2.034894536415857e+04 + -2.037398460000000e+04 + -2.039904696273123e+04 + -2.042413246681671e+04 + -2.044924112749899e+04 + -2.047437296177629e+04 + -2.049952797999998e+04 + -2.052470619105544e+04 + -2.054990761544010e+04 + -2.057513226917888e+04 + -2.060038015795331e+04 + -2.062565129999998e+04 + -2.065094571854568e+04 + -2.067626342205840e+04 + -2.070160442063917e+04 + -2.072696873225083e+04 + -2.075235637000000e+04 + -2.077776734528838e+04 + -2.080320167696219e+04 + -2.082865938214449e+04 + -2.085414047244347e+04 + -2.087964496000000e+04 + -2.090517285805777e+04 + -2.093072418166662e+04 + -2.095629894648643e+04 + -2.098189716820891e+04 + -2.100751885999998e+04 + -2.103316403410750e+04 + -2.105883270565323e+04 + -2.108452489048020e+04 + -2.111024060421226e+04 + -2.113597985999998e+04 + -2.116174267011207e+04 + -2.118752904964539e+04 + -2.121333901446366e+04 + -2.123917258027344e+04 + -2.126502976000000e+04 + -2.129091056582378e+04 + -2.131681501406569e+04 + -2.134274311932949e+04 + -2.136869489244911e+04 + -2.139467035000000e+04 + -2.142066951097057e+04 + -2.144669238829770e+04 + -2.147273899344209e+04 + -2.149880933837191e+04 + -2.152490343999998e+04 + -2.155102131698669e+04 + -2.157716298229367e+04 + -2.160332844744082e+04 + -2.162951772437019e+04 + -2.165573082999998e+04 + -2.168196778300156e+04 + -2.170822859627157e+04 + -2.173451328139519e+04 + -2.176082185053812e+04 + -2.178715432000000e+04 + -2.181351070821111e+04 + -2.183989103150391e+04 + -2.186629530288904e+04 + -2.189272353140778e+04 + -2.191917573000000e+04 + -2.194565191497987e+04 + -2.197215210512397e+04 + -2.199867631637375e+04 + -2.202522455969623e+04 + -2.205179684999998e+04 + -2.207839320363563e+04 + -2.210501363148952e+04 + -2.213165814783550e+04 + -2.215832677350680e+04 + -2.218501951999998e+04 + -2.221173639532642e+04 + -2.223847741910094e+04 + -2.226524260850044e+04 + -2.229203197306979e+04 + -2.231884553000000e+04 + -2.234568329890952e+04 + -2.237254528774074e+04 + -2.239943150806158e+04 + -2.242634198094407e+04 + -2.245327672000000e+04 + -2.248023573585785e+04 + -2.250721904853940e+04 + -2.253422667413636e+04 + -2.256125861967753e+04 + -2.258831489999998e+04 + -2.261539553480252e+04 + -2.264250054093014e+04 + -2.266962993052693e+04 + -2.269678371062339e+04 + -2.272396189999998e+04 + -2.275116452153000e+04 + -2.277839158301363e+04 + -2.280564309534358e+04 + -2.283291907950545e+04 + -2.286021955000000e+04 + -2.288754451771620e+04 + -2.291489399812011e+04 + -2.294226800704672e+04 + -2.296966655917324e+04 + -2.299708967000000e+04 + -2.302453735490683e+04 + -2.305200962641978e+04 + -2.307950649734620e+04 + -2.310702798236498e+04 + -2.313457409999998e+04 + -2.316214486856879e+04 + -2.318974029613145e+04 + -2.321736039447026e+04 + -2.324500518448656e+04 + -2.327267467999998e+04 + -2.330036889175501e+04 + -2.332808783850466e+04 + -2.335583153764027e+04 + -2.338360000121357e+04 + -2.341139324000000e+04 + -2.343921126672951e+04 + -2.346705410394532e+04 + -2.349492176951476e+04 + -2.352281427072812e+04 + -2.355073162000000e+04 + -2.357867383414989e+04 + -2.360664093193761e+04 + -2.363463292919098e+04 + -2.366264983684289e+04 + -2.369069166999998e+04 + -2.371875844507638e+04 + -2.374685017193912e+04 + -2.377496686591387e+04 + -2.380310855200050e+04 + -2.383127523999998e+04 + -2.385946693403709e+04 + -2.388768365690810e+04 + -2.391592542840760e+04 + -2.394419225713039e+04 + -2.397248416000000e+04 + -2.400080115691363e+04 + -2.402914325571854e+04 + -2.405751046800998e+04 + -2.408590281513924e+04 + -2.411432031000000e+04 + -2.414276296293371e+04 + -2.417123079796694e+04 + -2.419972383203242e+04 + -2.422824206706797e+04 + -2.425678551999998e+04 + -2.428535421485334e+04 + -2.431394816200073e+04 + -2.434256737430352e+04 + -2.437121187300517e+04 + -2.439988166999998e+04 + -2.442857677325164e+04 + -2.445729720103540e+04 + -2.448604297194451e+04 + -2.451481410082247e+04 + -2.454361060000000e+04 + -2.457243248182022e+04 + -2.460127976431730e+04 + -2.463015246522100e+04 + -2.465905059942621e+04 + -2.468797417999998e+04 + -2.471692321945616e+04 + -2.474589773222362e+04 + -2.477489773480251e+04 + -2.480392324581322e+04 + -2.483297427999998e+04 + -2.486205084917968e+04 + -2.489115296405446e+04 + -2.492028064024748e+04 + -2.494943390068509e+04 + -2.497861275999998e+04 + -2.500781722863925e+04 + -2.503704732334474e+04 + -2.506630305872901e+04 + -2.509558444448151e+04 + -2.512489150000000e+04 + -2.515422424757818e+04 + -2.518358269497819e+04 + -2.521296685328307e+04 + -2.524237674371633e+04 + -2.527181237999998e+04 + -2.530127377273551e+04 + -2.533076094162915e+04 + -2.536027390311031e+04 + -2.538981266594794e+04 + -2.541937724999998e+04 + -2.544896767801531e+04 + -2.547858395406606e+04 + -2.550822608802068e+04 + -2.553789410507042e+04 + -2.556758802000000e+04 + -2.559730784246711e+04 + -2.562705359189478e+04 + -2.565682528525429e+04 + -2.568662293247029e+04 + -2.571644655000000e+04 + -2.574629615713407e+04 + -2.577617176604459e+04 + -2.580607338891535e+04 + -2.583600104095400e+04 + -2.586595473999998e+04 + -2.589593450400127e+04 + -2.592594034522632e+04 + -2.595597227610649e+04 + -2.598603031176017e+04 + -2.601611446999998e+04 + -2.604622476879967e+04 + -2.607636122042706e+04 + -2.610652383730750e+04 + -2.613671263455693e+04 + -2.616692763000000e+04 + -2.619716884161440e+04 + -2.622743628160562e+04 + -2.625772996246335e+04 + -2.628804989951923e+04 + -2.631839611000000e+04 + -2.634876861165059e+04 + -2.637916741999917e+04 + -2.640959254907723e+04 + -2.644004401148305e+04 + -2.647052181999998e+04 + -2.650102598983489e+04 + -2.653155654491748e+04 + -2.656211350103963e+04 + -2.659269685960091e+04 + -2.662330663999998e+04 + -2.665394286925502e+04 + -2.668460555517195e+04 + -2.671529470758218e+04 + -2.674601034670874e+04 + -2.677675249000000e+04 + -2.680752115154265e+04 + -2.683831634157976e+04 + -2.686913807564717e+04 + -2.689998637786448e+04 + -2.693086126000000e+04 + -2.696176272916689e+04 + -2.699269080763921e+04 + -2.702364551500381e+04 + -2.705462686113689e+04 + -2.708563485999998e+04 + -2.711666952809900e+04 + -2.714773087942122e+04 + -2.717881892991400e+04 + -2.720993369901594e+04 + -2.724107519999998e+04 + -2.727224344400496e+04 + -2.730343845029767e+04 + -2.733466023562860e+04 + -2.736590881019403e+04 + -2.739718419000000e+04 + -2.742848639412166e+04 + -2.745981543741902e+04 + -2.749117133427855e+04 + -2.752255410001475e+04 + -2.755396375000000e+04 + -2.758540029934807e+04 + -2.761686376223195e+04 + -2.764835415476579e+04 + -2.767987149599797e+04 + -2.771141579999997e+04 + -2.774298707825893e+04 + -2.777458534547961e+04 + -2.780621061813955e+04 + -2.783786291408934e+04 + -2.786954224999998e+04 + -2.790124864062599e+04 + -2.793298209650868e+04 + -2.796474263269793e+04 + -2.799653027215609e+04 + -2.802834503000000e+04 + -2.806018691678819e+04 + -2.809205594694776e+04 + -2.812395213748840e+04 + -2.815587550739401e+04 + -2.818782607000000e+04 + -2.821980383662756e+04 + -2.825180882556652e+04 + -2.828384105454396e+04 + -2.831590053775406e+04 + -2.834798728999998e+04 + -2.838010132665882e+04 + -2.841224266303304e+04 + -2.844441131398464e+04 + -2.847660729395342e+04 + -2.850883061999998e+04 + -2.854108131015271e+04 + -2.857335937943549e+04 + -2.860566484233479e+04 + -2.863799771378746e+04 + -2.867035801000000e+04 + -2.870274574643904e+04 + -2.873516093256026e+04 + -2.876760358436649e+04 + -2.880007372909855e+04 + -2.883257138000000e+04 + -2.886509654365616e+04 + -2.889764923870952e+04 + -2.893022948372628e+04 + -2.896283729252707e+04 + -2.899547267999998e+04 + -2.902813566168059e+04 + -2.906082625190441e+04 + -2.909354446650575e+04 + -2.912629032389195e+04 + -2.915906383999998e+04 + -2.919186502919167e+04 + -2.922469390650106e+04 + -2.925755048733507e+04 + -2.929043478725063e+04 + -2.932334682000000e+04 + -2.935628660019129e+04 + -2.938925415043921e+04 + -2.942224948806936e+04 + -2.945527261979538e+04 + -2.948832356000000e+04 + -2.952140232838030e+04 + -2.955450894361826e+04 + -2.958764342089699e+04 + -2.962080577090842e+04 + -2.965399600999997e+04 + -2.968721415715336e+04 + -2.972046022629084e+04 + -2.975373423280592e+04 + -2.978703619592538e+04 + -2.982036612999997e+04 + -2.985372404652352e+04 + -2.988710995909819e+04 + -2.992052388535540e+04 + -2.995396584761164e+04 + -2.998743586000000e+04 + -3.002093393306212e+04 + -3.005446008516229e+04 + -3.008801433415196e+04 + -3.012159669410924e+04 + -3.015520717999998e+04 + -3.018884580728562e+04 + -3.022251259030155e+04 + -3.025620754490144e+04 + -3.028993068950620e+04 + -3.032368203999997e+04 + -3.035746161072607e+04 + -3.039126941699663e+04 + -3.042510547393189e+04 + -3.045896979612689e+04 + -3.049286239999998e+04 + -3.052678330335746e+04 + -3.056073252467363e+04 + -3.059471007984014e+04 + -3.062871598061521e+04 + -3.066275024000000e+04 + -3.069681287356475e+04 + -3.073090390293319e+04 + -3.076502334621974e+04 + -3.079917121404217e+04 + -3.083334751999997e+04 + -3.086755228023463e+04 + -3.090178551167921e+04 + -3.093604723225209e+04 + -3.097033746063074e+04 + -3.100465620999998e+04 + -3.103900349175437e+04 + -3.107337932446759e+04 + -3.110778372555016e+04 + -3.114221670819769e+04 + -3.117667828999997e+04 + -3.121116848957679e+04 + -3.124568731744623e+04 + -3.128023478769976e+04 + -3.131481092268889e+04 + -3.134941574000000e+04 + -3.138404925321087e+04 + -3.141871147408727e+04 + -3.145340241670125e+04 + -3.148812209933996e+04 + -3.152287053999997e+04 + -3.155764775577736e+04 + -3.159245376185456e+04 + -3.162728857279384e+04 + -3.166215220315186e+04 + -3.169704466999997e+04 + -3.173196599132658e+04 + -3.176691618227545e+04 + -3.180189525721778e+04 + -3.183690323068162e+04 + -3.187194012000000e+04 + -3.190700594323912e+04 + -3.194210071422084e+04 + -3.197722444868163e+04 + -3.201237716636405e+04 + -3.204755888000000e+04 + -3.208276960047787e+04 + -3.211800935023939e+04 + -3.215327814773632e+04 + -3.218857600158763e+04 + -3.222390292999997e+04 + -3.225925895535199e+04 + -3.229464408973093e+04 + -3.233005834462857e+04 + -3.236550173499735e+04 + -3.240097427999997e+04 + -3.243647600017841e+04 + -3.247200691143220e+04 + -3.250756702669824e+04 + -3.254315635678932e+04 + -3.257877492000000e+04 + -3.261442273792899e+04 + -3.265009982555360e+04 + -3.268580619650297e+04 + -3.272154186523808e+04 + -3.275730685000000e+04 + -3.279310116911321e+04 + -3.282892483177912e+04 + -3.286477785354587e+04 + -3.290066026202923e+04 + -3.293657206999998e+04 + -3.297251328378459e+04 + -3.300848392497173e+04 + -3.304448401407080e+04 + -3.308051356412061e+04 + -3.311657258999998e+04 + -3.315266110752813e+04 + -3.318877912993135e+04 + -3.322492667413289e+04 + -3.326110376297835e+04 + -3.329731041000000e+04 + -3.333354662539115e+04 + -3.336981243131684e+04 + -3.340610784669931e+04 + -3.344243288124504e+04 + -3.347878755000000e+04 + -3.351517187197135e+04 + -3.355158586607149e+04 + -3.358802954742114e+04 + -3.362450292603845e+04 + -3.366100601999997e+04 + -3.369753885113907e+04 + -3.373410143432544e+04 + -3.377069378324004e+04 + -3.380731591267414e+04 + -3.384396783999997e+04 + -3.388064958319757e+04 + -3.391736115628571e+04 + -3.395410257481684e+04 + -3.399087385786547e+04 + -3.402767502000000e+04 + -3.406450607498593e+04 + -3.410136704569621e+04 + -3.413825794940452e+04 + -3.417517879208190e+04 + -3.421212959000000e+04 + -3.424911036577375e+04 + -3.428612113814977e+04 + -3.432316192150666e+04 + -3.436023272579379e+04 + -3.439733356999998e+04 + -3.443446447621852e+04 + -3.447162545467578e+04 + -3.450881651888796e+04 + -3.454603769159935e+04 + -3.458328898999997e+04 + -3.462057042742187e+04 + -3.465788201822977e+04 + -3.469522377879945e+04 + -3.473259572783916e+04 + -3.476999788000000e+04 + -3.480743024920274e+04 + -3.484489285737491e+04 + -3.488238572274076e+04 + -3.491990885516477e+04 + -3.495746227000000e+04 + -3.499504598627476e+04 + -3.503266002163332e+04 + -3.507030439252002e+04 + -3.510797911399110e+04 + -3.514568419999997e+04 + -3.518341966538968e+04 + -3.522118553105182e+04 + -3.525898181605689e+04 + -3.529680853433678e+04 + -3.533466569999997e+04 + -3.537255332834070e+04 + -3.541047143775194e+04 + -3.544842004484196e+04 + -3.548639916273562e+04 + -3.552440881000000e+04 + -3.556244900769237e+04 + -3.560051977192599e+04 + -3.563862111528000e+04 + -3.567675304773126e+04 + -3.571491559000000e+04 + -3.575310876677514e+04 + -3.579133259025522e+04 + -3.582958707123636e+04 + -3.586787222387752e+04 + -3.590618806999997e+04 + -3.594453463328037e+04 + -3.598291192576281e+04 + -3.602131995866808e+04 + -3.605975874687618e+04 + -3.609822830999997e+04 + -3.613672866872384e+04 + -3.617525983663845e+04 + -3.621382182906358e+04 + -3.625241466608051e+04 + -3.629103836000000e+04 + -3.632969292147818e+04 + -3.636837837559645e+04 + -3.640709474306420e+04 + -3.644584203277781e+04 + -3.648462026000000e+04 + -3.652342944409004e+04 + -3.656226960170399e+04 + -3.660114075023598e+04 + -3.664004290875195e+04 + -3.667897608999997e+04 + -3.671794030512006e+04 + -3.675693557547587e+04 + -3.679596192058374e+04 + -3.683501935339895e+04 + -3.687410788999997e+04 + -3.691322754870546e+04 + -3.695237834723054e+04 + -3.699156030212950e+04 + -3.703077342834224e+04 + -3.707001774000000e+04 + -3.710929325203417e+04 + -3.714859998429457e+04 + -3.718793795692067e+04 + -3.722730718808447e+04 + -3.726670768999997e+04 + -3.730613947399677e+04 + -3.734560256273038e+04 + -3.738509697431393e+04 + -3.742462271654350e+04 + -3.746417980999997e+04 + -3.750376828013417e+04 + -3.754338813660564e+04 + -3.758303939267375e+04 + -3.762272207245150e+04 + -3.766243618999997e+04 + -3.770218175518502e+04 + -3.774195878945678e+04 + -3.778176731257176e+04 + -3.782160733741773e+04 + -3.786147888000000e+04 + -3.790138195864309e+04 + -3.794131659132003e+04 + -3.798128279431332e+04 + -3.802128058166662e+04 + -3.806130996999997e+04 + -3.810137097737330e+04 + -3.814146362046005e+04 + -3.818158791697343e+04 + -3.822174388615621e+04 + -3.826193153999997e+04 + -3.830215088938532e+04 + -3.834240195971708e+04 + -3.838268477130731e+04 + -3.842299933188884e+04 + -3.846334565999997e+04 + -3.850372377842891e+04 + -3.854413369633216e+04 + -3.858457542816681e+04 + -3.862504900090371e+04 + -3.866555443000000e+04 + -3.870609172486966e+04 + -3.874666090332934e+04 + -3.878726198409722e+04 + -3.882789498399841e+04 + -3.886855991999997e+04 + -3.890925680946781e+04 + -3.894998567054054e+04 + -3.899074651957592e+04 + -3.903153937021765e+04 + -3.907236423999997e+04 + -3.911322114736439e+04 + -3.915411010384250e+04 + -3.919503112747372e+04 + -3.923598424716172e+04 + -3.927696946999997e+04 + -3.931798680038228e+04 + -3.935903628964794e+04 + -3.940011793259103e+04 + -3.944123164809230e+04 + -3.948237770000000e+04 + -3.952355620675491e+04 + -3.956476584662273e+04 + -3.960600801403134e+04 + -3.964728735507886e+04 + -3.968859104999997e+04 + 1.819886919039960e+01 + 1.816405130921966e+01 + 1.812918280091599e+01 + 1.809426424653407e+01 + 1.805929622711938e+01 + 1.802427932371738e+01 + 1.798921411737356e+01 + 1.795410118913339e+01 + 1.791894112004234e+01 + 1.788373449114589e+01 + 1.784848188348950e+01 + 1.781318387811866e+01 + 1.777784105607885e+01 + 1.774245399841551e+01 + 1.770702328617416e+01 + 1.767154950040025e+01 + 1.763603322213927e+01 + 1.760047503243666e+01 + 1.756487551233793e+01 + 1.752923524288855e+01 + 1.749355480513398e+01 + 1.745783478011969e+01 + 1.742207574889119e+01 + 1.738627829249391e+01 + 1.735044299197335e+01 + 1.731457042837498e+01 + 1.727866118274428e+01 + 1.724271583612671e+01 + 1.720673496956776e+01 + 1.717071916411290e+01 + 1.713466900080759e+01 + 1.709858506069732e+01 + 1.706246792482757e+01 + 1.702631817424381e+01 + 1.699013638999150e+01 + 1.695392315311613e+01 + 1.691767904466317e+01 + 1.688140464567809e+01 + 1.684510053720637e+01 + 1.680876730029348e+01 + 1.677240551598491e+01 + 1.673601576532611e+01 + 1.669959862936258e+01 + 1.666315468913977e+01 + 1.662668452570318e+01 + 1.659018872009826e+01 + 1.655366785337049e+01 + 1.651712250656536e+01 + 1.648055326072833e+01 + 1.644396069690488e+01 + 1.640734539614049e+01 + 1.637070793948063e+01 + 1.633404890797076e+01 + 1.629736888265638e+01 + 1.626066844458294e+01 + 1.622394817479593e+01 + 1.618720865434082e+01 + 1.615045046426309e+01 + 1.611367418560821e+01 + 1.607688039942165e+01 + 1.604006968674890e+01 + 1.600324262863542e+01 + 1.596639980612668e+01 + 1.592954180026817e+01 + 1.589266919210536e+01 + 1.585578256268371e+01 + 1.581888249304872e+01 + 1.578196956424585e+01 + 1.574504435732057e+01 + 1.570810745331836e+01 + 1.567115943328470e+01 + 1.563420087826506e+01 + 1.559723236930490e+01 + 1.556025448744972e+01 + 1.552326781374499e+01 + 1.548627292923617e+01 + 1.544927041496875e+01 + 1.541226085198818e+01 + 1.537524482133997e+01 + 1.533822290406956e+01 + 1.530119568122245e+01 + 1.526416373384410e+01 + 1.522712764298000e+01 + 1.519008798967561e+01 + 1.515304535497640e+01 + 1.511600031992786e+01 + 1.507895346557546e+01 + 1.504190537296467e+01 + 1.500485662314096e+01 + 1.496780779714983e+01 + 1.493075947603672e+01 + 1.489371224084713e+01 + 1.485666667262652e+01 + 1.481962335242037e+01 + 1.478258286127416e+01 + 1.474554578023335e+01 + 1.470851269034343e+01 + 1.467148417264987e+01 + 1.463446080819813e+01 + 1.459744317803371e+01 + 1.456043186320207e+01 + 1.452342744474869e+01 + 1.448643050371903e+01 + 1.444944162115858e+01 + 1.441246137811282e+01 + 1.437549035562720e+01 + 1.433852913474722e+01 + 1.430157829651834e+01 + 1.426463842198604e+01 + 1.422771009219579e+01 + 1.419079388819307e+01 + 1.415389039102334e+01 + 1.411700018173210e+01 + 1.408012384136481e+01 + 1.404326195096694e+01 + 1.400641509158398e+01 + 1.396958384426139e+01 + 1.393276879004464e+01 + 1.389597050997923e+01 + 1.385918958511061e+01 + 1.382242659648426e+01 + 1.378568212514566e+01 + 1.374895675214029e+01 + 1.371225105851361e+01 + 1.367556562531110e+01 + 1.363890103357824e+01 + 1.360225786436050e+01 + 1.356563669870335e+01 + 1.352903811765228e+01 + 1.349246270225274e+01 + 1.345591103355023e+01 + 1.341938369259021e+01 + 1.338288126041816e+01 + 1.334640431807955e+01 + 1.330995344661985e+01 + 1.327352922708455e+01 + 1.323713224051912e+01 + 1.320076306796902e+01 + 1.316442229047974e+01 + 1.312811048909675e+01 + 1.309182824486553e+01 + 1.305557613883154e+01 + 1.301935475204027e+01 + 1.298316466553718e+01 + 1.294700646036776e+01 + 1.291088071757748e+01 + 1.287478801821181e+01 + 1.283872894331622e+01 + 1.280270407393619e+01 + 1.276671399111720e+01 + 1.273075927590472e+01 + 1.269484050934423e+01 + 1.265895827248119e+01 + 1.262311314636109e+01 + 1.258730571202939e+01 + 1.255153655053158e+01 + 1.251580624291313e+01 + 1.248011537021950e+01 + 1.244446451349619e+01 + 1.240885425378865e+01 + 1.237328517214237e+01 + 1.233775784960283e+01 + 1.230227286721548e+01 + 1.226683080602582e+01 + 1.223143224707931e+01 + 1.219607777142142e+01 + 1.216076796009764e+01 + 1.212550339415344e+01 + 1.209028465463429e+01 + 1.205511232258567e+01 + 1.201998697905305e+01 + 1.198490920508190e+01 + 1.194987958171770e+01 + 1.191489869000593e+01 + 1.187996711099206e+01 + 1.184508542572157e+01 + 1.181025421523992e+01 + 1.177547406059259e+01 + 1.174074554282507e+01 + 1.170606924298281e+01 + 1.167144574211130e+01 + 1.163687562125602e+01 + 1.160235946146243e+01 + 1.156789784377601e+01 + 1.153349134924223e+01 + 1.149914055890657e+01 + 1.146484605381452e+01 + 1.143060841501152e+01 + 1.139642822354308e+01 + 1.136230606045464e+01 + 1.132824250679170e+01 + 1.129423814359974e+01 + 1.126029355192421e+01 + 1.122640931281059e+01 + 1.119258600730437e+01 + 1.115882421645102e+01 + 1.112512452129600e+01 + 1.109148750288479e+01 + 1.105791374226288e+01 + 1.102440382047573e+01 + 1.099095831856882e+01 + 1.095757781758762e+01 + 1.092426289857761e+01 + 1.089101414258426e+01 + 1.085783213065305e+01 + 1.082471744382945e+01 + 1.079167066315892e+01 + 1.075869236968697e+01 + 1.072578314445905e+01 + 1.069294356852064e+01 + 1.066017422291721e+01 + 1.062747568869424e+01 + 1.059484854689720e+01 + 1.056229337857157e+01 + 1.052981076476282e+01 + 1.049740128651643e+01 + 1.046506552487787e+01 + 1.043280406089261e+01 + 1.040061747560614e+01 + 1.036850635006392e+01 + 1.033647126531143e+01 + 1.030451280239414e+01 + 1.027263154235754e+01 + 1.024082806624708e+01 + 1.020910295510825e+01 + 1.017745678998653e+01 + 1.014589015192738e+01 + 1.011440362197629e+01 + 1.008299778117872e+01 + 1.005167321058014e+01 + 1.002043049122605e+01 + 9.989270204161905e+00 + 9.958192930433185e+00 + 9.927199251085362e+00 + 9.896289747163912e+00 + 9.865464999714312e+00 + 9.834725589782032e+00 + 9.804072098412551e+00 + 9.773505106651340e+00 + 9.743025195543877e+00 + 9.712632946135633e+00 + 9.682328939472086e+00 + 9.652113756598707e+00 + 9.621987978560973e+00 + 9.591952186404358e+00 + 9.562006961174337e+00 + 9.532152883916382e+00 + 9.502390535675973e+00 + 9.472720497498580e+00 + 9.443143350429677e+00 + 9.413659675514742e+00 + 9.384270053799249e+00 + 9.354975066328668e+00 + 9.325775294148480e+00 + 9.296671318304156e+00 + 9.267663719841170e+00 + 9.238753079804999e+00 + 9.209939979241115e+00 + 9.181224999194994e+00 + 9.152608720712111e+00 + 9.124091724837941e+00 + 9.095674592617954e+00 + 9.067357905097630e+00 + 9.039142243322441e+00 + 9.011028188337864e+00 + 8.983016292445305e+00 + 8.955106689123129e+00 + 8.927299195109086e+00 + 8.899593619314148e+00 + 8.871989770649284e+00 + 8.844487458025464e+00 + 8.817086490353660e+00 + 8.789786676544839e+00 + 8.762587825509975e+00 + 8.735489746160036e+00 + 8.708492247405990e+00 + 8.681595138158814e+00 + 8.654798227329470e+00 + 8.628101323828931e+00 + 8.601504236568170e+00 + 8.575006774458155e+00 + 8.548608746409855e+00 + 8.522309961334242e+00 + 8.496110228142285e+00 + 8.470009355744955e+00 + 8.444007153053219e+00 + 8.418103428978053e+00 + 8.392297992430423e+00 + 8.366590652321301e+00 + 8.340981217561657e+00 + 8.315469497062459e+00 + 8.290055299734679e+00 + 8.264738434489287e+00 + 8.239518710237252e+00 + 8.214395935889545e+00 + 8.189369920357137e+00 + 8.164440472550996e+00 + 8.139607401382095e+00 + 8.114870515761401e+00 + 8.090229624599887e+00 + 8.065684536808520e+00 + 8.041235061298275e+00 + 8.016881006980118e+00 + 7.992622182765018e+00 + 7.968458397563950e+00 + 7.944389460287880e+00 + 7.920415179847782e+00 + 7.896535365154623e+00 + 7.872749825119373e+00 + 7.849058368653004e+00 + 7.825460804666484e+00 + 7.801956942070785e+00 + 7.778546589776878e+00 + 7.755229556695729e+00 + 7.732005651738313e+00 + 7.708874683815599e+00 + 7.685836461838553e+00 + 7.662890794718152e+00 + 7.640037491365358e+00 + 7.617276360691148e+00 + 7.594607211606489e+00 + 7.572029853022352e+00 + 7.549544093849708e+00 + 7.527149742999527e+00 + 7.504846609382777e+00 + 7.482634501910429e+00 + 7.460513229493455e+00 + 7.438482601042820e+00 + 7.416542425469502e+00 + 7.394692511684465e+00 + 7.372932668598682e+00 + 7.351262705123121e+00 + 7.329682430168755e+00 + 7.308191652646553e+00 + 7.286790181467484e+00 + 7.265477825542517e+00 + 7.244254393782626e+00 + 7.223119695098779e+00 + 7.202073538401945e+00 + 7.181115732603097e+00 + 7.160246086613204e+00 + 7.139464409343233e+00 + 7.118770509704159e+00 + 7.098164196606950e+00 + 7.077645278962576e+00 + 7.057213565682006e+00 + 7.036868865676214e+00 + 7.016610987856166e+00 + 6.996439741132834e+00 + 6.976354934417186e+00 + 6.956356376620197e+00 + 6.936443876652832e+00 + 6.916617243426063e+00 + 6.896876285850862e+00 + 6.877220812838198e+00 + 6.857650633299039e+00 + 6.838165556144358e+00 + 6.818765390285123e+00 + 6.799449944632306e+00 + 6.780219028096876e+00 + 6.761072449589803e+00 + 6.742010018022058e+00 + 6.723031542304612e+00 + 6.704136831348434e+00 + 6.685325694064492e+00 + 6.666597939363759e+00 + 6.647953376157203e+00 + 6.629391813355797e+00 + 6.610913059870509e+00 + 6.592516924612310e+00 + 6.574203216492170e+00 + 6.555971744421058e+00 + 6.537822317309946e+00 + 6.519754744069803e+00 + 6.501768833611600e+00 + 6.483864394846306e+00 + 6.466041236684891e+00 + 6.448299168038327e+00 + 6.430637997817582e+00 + 6.413057534933630e+00 + 6.395557588297437e+00 + 6.378137966819973e+00 + 6.360798479412210e+00 + 6.343538934985117e+00 + 6.326359142449666e+00 + 6.309258910716826e+00 + 6.292238048697567e+00 + 6.275296365302859e+00 + 6.258433669443673e+00 + 6.241649770030978e+00 + 6.224944475975745e+00 + 6.208317596188945e+00 + 6.191768939581546e+00 + 6.175298315064517e+00 + 6.158905531548833e+00 + 6.142590397945462e+00 + 6.126352723165372e+00 + 6.110192316119535e+00 + 6.094108985718921e+00 + 6.078102540874499e+00 + 6.062172790497243e+00 + 6.046319543498117e+00 + 6.030542608788095e+00 + 6.014841795278149e+00 + 5.999216911879244e+00 + 5.983667767502356e+00 + 5.968194171058448e+00 + 5.952795931458497e+00 + 5.937472857613470e+00 + 5.922224758434336e+00 + 5.907051442832068e+00 + 5.891952719717633e+00 + 5.876928398002004e+00 + 5.861978286596150e+00 + 5.847102194411042e+00 + 5.832299930357648e+00 + 5.817571303346941e+00 + 5.802916122289888e+00 + 5.788334196097460e+00 + 5.773825333680629e+00 + 5.759389343950365e+00 + 5.745026035817635e+00 + 5.730735218193414e+00 + 5.716516699988668e+00 + 5.702370290114368e+00 + 5.688295797481486e+00 + 5.674293031000990e+00 + 5.660361799583851e+00 + 5.646501912141039e+00 + 5.632713177583526e+00 + 5.618995404822279e+00 + 5.605348402768269e+00 + 5.591771980332467e+00 + 5.578265946425844e+00 + 5.564830109959368e+00 + 5.551464279844009e+00 + 5.538168264990741e+00 + 5.524941874310529e+00 + 5.511784916714348e+00 + 5.498697201113163e+00 + 5.485678536417949e+00 + 5.472728731539672e+00 + 5.459847595389306e+00 + 5.447031950668924e+00 + 5.434258417587328e+00 + 5.421509378931341e+00 + 5.408790202589383e+00 + 5.396101725502927e+00 + 5.383442552149385e+00 + 5.370812984345576e+00 + 5.358213038980171e+00 + 5.345642546622406e+00 + 5.333101463094469e+00 + 5.320589727671893e+00 + 5.308107264570896e+00 + 5.295654006874094e+00 + 5.283229887334054e+00 + 5.270834837715376e+00 + 5.258468789944041e+00 + 5.246131676000384e+00 + 5.233823428164784e+00 + 5.221543979540164e+00 + 5.209293263422158e+00 + 5.197071212820756e+00 + 5.184877759775030e+00 + 5.172712837552656e+00 + 5.160576380473933e+00 + 5.148468322098453e+00 + 5.136388595958436e+00 + 5.124337135726472e+00 + 5.112313875048248e+00 + 5.100318748362747e+00 + 5.088351690727316e+00 + 5.076412636057685e+00 + 5.064501518839616e+00 + 5.052618274474592e+00 + 5.040762837425790e+00 + 5.028935142799786e+00 + 5.017135126690616e+00 + 5.005362723409764e+00 + 4.993617868159293e+00 + 4.981900498164465e+00 + 4.970210548621045e+00 + 4.958547954855285e+00 + 4.946912653797631e+00 + 4.935304581602165e+00 + 4.923723674430540e+00 + 4.912169869219803e+00 + 4.900643102722201e+00 + 4.889143311682699e+00 + 4.877670433140317e+00 + 4.866224404407401e+00 + 4.854805162838305e+00 + 4.843412645620055e+00 + 4.832046790470948e+00 + 4.820707535433044e+00 + 4.809394818449872e+00 + 4.798108577205163e+00 + 4.786848749644187e+00 + 4.775615274885523e+00 + 4.764408091170769e+00 + 4.753227136475494e+00 + 4.742072350593207e+00 + 4.730943672320340e+00 + 4.719841039761676e+00 + 4.708764392793848e+00 + 4.697713670947889e+00 + 4.686688813308958e+00 + 4.675689760077749e+00 + 4.664716450776882e+00 + 4.653768824355144e+00 + 4.642846821849820e+00 + 4.631950383864691e+00 + 4.621079449911801e+00 + 4.610233960271208e+00 + 4.599413855814052e+00 + 4.588619077726644e+00 + 4.577849566594633e+00 + 4.567105263324451e+00 + 4.556386109499332e+00 + 4.545692045920192e+00 + 4.535023013830533e+00 + 4.524378955558838e+00 + 4.513759812087895e+00 + 4.503165524982657e+00 + 4.492596037765430e+00 + 4.482051291649467e+00 + 4.471531227881555e+00 + 4.461035790191556e+00 + 4.450564920902143e+00 + 4.440118561957067e+00 + 4.429696656605228e+00 + 4.419299148008472e+00 + 4.408925979093191e+00 + 4.398577092681390e+00 + 4.388252432408600e+00 + 4.377951941955149e+00 + 4.367675563647617e+00 + 4.357423241911437e+00 + 4.347194921954801e+00 + 4.336990545878941e+00 + 4.326810057907454e+00 + 4.316653403787664e+00 + 4.306520526395858e+00 + 4.296411370095723e+00 + 4.286325880845187e+00 + 4.276264002847886e+00 + 4.266225680614548e+00 + 4.256210859410026e+00 + 4.246219484255977e+00 + 4.236251500111860e+00 + 4.226306852214246e+00 + 4.216385487075638e+00 + 4.206487350454588e+00 + 4.196612386873075e+00 + 4.186760542346591e+00 + 4.176931763412669e+00 + 4.167125996517556e+00 + 4.157343187931778e+00 + 4.147583283659849e+00 + 4.137846229598449e+00 + 4.128131973158434e+00 + 4.118440461620333e+00 + 4.108771640965568e+00 + 4.099125458381889e+00 + 4.089501861348100e+00 + 4.079900796648449e+00 + 4.070322211621146e+00 + 4.060766054068578e+00 + 4.051232271987449e+00 + 4.041720812903752e+00 + 4.032231624389123e+00 + 4.022764654839604e+00 + 4.013319852102482e+00 + 4.003897163974346e+00 + 3.994496539375360e+00 + 3.985117927005318e+00 + 3.975761275162846e+00 + 3.966426531955261e+00 + 3.957113646635731e+00 + 3.947822569087183e+00 + 3.938553247905866e+00 + 3.929305631685672e+00 + 3.920079669524097e+00 + 3.910875311427285e+00 + 3.901692507178291e+00 + 3.892531206204140e+00 + 3.883391358396833e+00 + 3.874272913657344e+00 + 3.865175821793835e+00 + 3.856100032879644e+00 + 3.847045497225832e+00 + 3.838012165320722e+00 + 3.828999987558789e+00 + 3.820008914413926e+00 + 3.811038896595444e+00 + 3.802089885254187e+00 + 3.793161831237620e+00 + 3.784254684890362e+00 + 3.775368398252875e+00 + 3.766502923100440e+00 + 3.757658209579520e+00 + 3.748834209295840e+00 + 3.740030874433959e+00 + 3.731248156753105e+00 + 3.722486008117639e+00 + 3.713744380387517e+00 + 3.705023225280349e+00 + 3.696322495070079e+00 + 3.687642142318910e+00 + 3.678982119432947e+00 + 3.670342378801804e+00 + 3.661722872867589e+00 + 3.653123554235752e+00 + 3.644544376023881e+00 + 3.635985291634798e+00 + 3.627446254192749e+00 + 3.618927216218316e+00 + 3.610428130335504e+00 + 3.601948951051534e+00 + 3.593489632231203e+00 + 3.585050126838500e+00 + 3.576630388153148e+00 + 3.568230370457688e+00 + 3.559850028500160e+00 + 3.551489315016799e+00 + 3.543148183918080e+00 + 3.534826590807976e+00 + 3.526524489935861e+00 + 3.518241835011243e+00 + 3.509978579991082e+00 + 3.501734680809670e+00 + 3.493510092697708e+00 + 3.485304769188242e+00 + 3.477118665289576e+00 + 3.468951736765370e+00 + 3.460803939385451e+00 + 3.452675227557384e+00 + 3.444565556219660e+00 + 3.436474882078371e+00 + 3.428403160505571e+00 + 3.420350346590145e+00 + 3.412316396304707e+00 + 3.404301265792477e+00 + 3.396304911176187e+00 + 3.388327288491305e+00 + 3.380368354160161e+00 + 3.372428064623584e+00 + 3.364506375833607e+00 + 3.356603244211646e+00 + 3.348718626640740e+00 + 3.340852480236101e+00 + 3.333004761693424e+00 + 3.325175427644580e+00 + 3.317364435527293e+00 + 3.309571742493616e+00 + 3.301797305408617e+00 + 3.294041081414062e+00 + 3.286303028194412e+00 + 3.278583103726798e+00 + 3.270881265443555e+00 + 3.263197471011956e+00 + 3.255531678390248e+00 + 3.247883845209004e+00 + 3.240253929642225e+00 + 3.232641890347850e+00 + 3.225047684908113e+00 + 3.217471271425511e+00 + 3.209912608923088e+00 + 3.202371655667555e+00 + 3.194848370181972e+00 + 3.187342711658790e+00 + 3.179854638881827e+00 + 3.172384110380890e+00 + 3.164931084707051e+00 + 3.157495521384956e+00 + 3.150077380058776e+00 + 3.142676619877814e+00 + 3.135293200073600e+00 + 3.127927079946843e+00 + 3.120578218905895e+00 + 3.113246577218404e+00 + 3.105932114937815e+00 + 3.098634790846833e+00 + 3.091354565058342e+00 + 3.084091398271724e+00 + 3.076845250485478e+00 + 3.069616081755534e+00 + 3.062403852244847e+00 + 3.055208522175611e+00 + 3.048030052549899e+00 + 3.040868404439169e+00 + 3.033723537524932e+00 + 3.026595412527113e+00 + 3.019483991059011e+00 + 3.012389234177664e+00 + 3.005311102428361e+00 + 2.998249556405217e+00 + 2.991204558170310e+00 + 2.984176069441633e+00 + 2.977164051262350e+00 + 2.970168464749357e+00 + 2.963189271462946e+00 + 2.956226433370632e+00 + 2.949279912203107e+00 + 2.942349669912605e+00 + 2.935435668735732e+00 + 2.928537870478263e+00 + 2.921656236941307e+00 + 2.914790730227295e+00 + 2.907941313056430e+00 + 2.901107948114753e+00 + 2.894290597705669e+00 + 2.887489224186201e+00 + 2.880703790004707e+00 + 2.873934257778331e+00 + 2.867180590721052e+00 + 2.860442752157053e+00 + 2.853720705060128e+00 + 2.847014412004529e+00 + 2.840323835735203e+00 + 2.833648939802342e+00 + 2.826989688360529e+00 + 2.820346045051714e+00 + 2.813717971838249e+00 + 2.807105432809830e+00 + 2.800508392739872e+00 + 2.793926814285955e+00 + 2.787360661385112e+00 + 2.780809898806732e+00 + 2.774274490318202e+00 + 2.767754399418414e+00 + 2.761249589980850e+00 + 2.754760027276096e+00 + 2.748285675987487e+00 + 2.741826499952791e+00 + 2.735382462817888e+00 + 2.728953529693038e+00 + 2.722539666591989e+00 + 2.716140837199994e+00 + 2.709757005928732e+00 + 2.703388138477217e+00 + 2.697034199719776e+00 + 2.690695154612969e+00 + 2.684370968516638e+00 + 2.678061606722120e+00 + 2.671767034388748e+00 + 2.665487216663756e+00 + 2.659222119420964e+00 + 2.652971708466898e+00 + 2.646735949170681e+00 + 2.640514807328682e+00 + 2.634308248813400e+00 + 2.628116239351709e+00 + 2.621938745026414e+00 + 2.615775731978081e+00 + 2.609627166192403e+00 + 2.603493014125890e+00 + 2.597373242133807e+00 + 2.591267815972944e+00 + 2.585176702619338e+00 + 2.579099869106871e+00 + 2.573037281022092e+00 + 2.566988905295047e+00 + 2.560954709471109e+00 + 2.554934660124372e+00 + 2.548928723658388e+00 + 2.542936866838776e+00 + 2.536959057454498e+00 + 2.530995262744329e+00 + 2.525045449466102e+00 + 2.519109584724339e+00 + 2.513187636248425e+00 + 2.507279571988880e+00 + 2.501385358975255e+00 + 2.495504964649074e+00 + 2.489638357011514e+00 + 2.483785503877440e+00 + 2.477946372993181e+00 + 2.472120932153270e+00 + 2.466309149445497e+00 + 2.460510993028623e+00 + 2.454726431004756e+00 + 2.448955431279121e+00 + 2.443197962222979e+00 + 2.437453992749473e+00 + 2.431723490873920e+00 + 2.426006424702946e+00 + 2.420302763016215e+00 + 2.414612474849150e+00 + 2.408935529060812e+00 + 2.403271894158963e+00 + 2.397621539164549e+00 + 2.391984432987164e+00 + 2.386360544006294e+00 + 2.380749841635097e+00 + 2.375152295549876e+00 + 2.369567874852914e+00 + 2.363996548806182e+00 + 2.358438286639424e+00 + 2.352893057314327e+00 + 2.347360830870365e+00 + 2.341841577523073e+00 + 2.336335266205249e+00 + 2.330841866367291e+00 + 2.325361348038680e+00 + 2.319893681430557e+00 + 2.314438836350213e+00 + 2.308996782525400e+00 + 2.303567490482044e+00 + 2.298150930506590e+00 + 2.292747072570897e+00 + 2.287355886755380e+00 + 2.281977343203661e+00 + 2.276611412298537e+00 + 2.271258065216148e+00 + 2.265917272602903e+00 + 2.260589004572198e+00 + 2.255273232290290e+00 + 2.249969926489583e+00 + 2.244679057245269e+00 + 2.239400595715412e+00 + 2.234134513404378e+00 + 2.228880781619142e+00 + 2.223639370658599e+00 + 2.218410251587366e+00 + 2.213193396784469e+00 + 2.207988776668006e+00 + 2.202796362022329e+00 + 2.197616125439223e+00 + 2.192448038696543e+00 + 2.187292072961057e+00 + 2.182148199232985e+00 + 2.177016389630072e+00 + 2.171896616273634e+00 + 2.166788850281173e+00 + 2.161693063906081e+00 + 2.156609229682959e+00 + 2.151537319229026e+00 + 2.146477304323076e+00 + 2.141429157241363e+00 + 2.136392850965788e+00 + 2.131368357474257e+00 + 2.126355648357996e+00 + 2.121354696293322e+00 + 2.116365474412895e+00 + 2.111387955644702e+00 + 2.106422111701483e+00 + 2.101467915161587e+00 + 2.096525339256323e+00 + 2.091594356269759e+00 + 2.086674939419586e+00 + 2.081767062556874e+00 + 2.076870697792070e+00 + 2.071985817585338e+00 + 2.067112395385072e+00 + 2.062250405333861e+00 + 2.057399820685575e+00 + 2.052560613690088e+00 + 2.047732757766644e+00 + 2.042916226752948e+00 + 2.038110994473384e+00 + 2.033317034456518e+00 + 2.028534320143143e+00 + 2.023762825026766e+00 + 2.019002522786289e+00 + 2.014253387371010e+00 + 2.009515392980107e+00 + 2.004788513366984e+00 + 2.000072722331970e+00 + 1.995367994084281e+00 + 1.990674302528751e+00 + 1.985991621875054e+00 + 1.981319927135009e+00 + 1.976659192144684e+00 + 1.972009390577169e+00 + 1.967370497271926e+00 + 1.962742487042732e+00 + 1.958125334423246e+00 + 1.953519013586483e+00 + 1.948923499307053e+00 + 1.944338766657414e+00 + 1.939764790288013e+00 + 1.935201544608222e+00 + 1.930649004305472e+00 + 1.926107145248571e+00 + 1.921575942429786e+00 + 1.917055370205972e+00 + 1.912545403920843e+00 + 1.908046018818900e+00 + 1.903557190023903e+00 + 1.899078893306255e+00 + 1.894611103753838e+00 + 1.890153795996532e+00 + 1.885706946418488e+00 + 1.881270530851602e+00 + 1.876844524133795e+00 + 1.872428902057808e+00 + 1.868023640555410e+00 + 1.863628715350075e+00 + 1.859244102235784e+00 + 1.854869776995271e+00 + 1.850505715382929e+00 + 1.846151893336109e+00 + 1.841808287113597e+00 + 1.837474873250078e+00 + 1.833151627500553e+00 + 1.828838525627810e+00 + 1.824535544058799e+00 + 1.820242659570220e+00 + 1.815959848693184e+00 + 1.811687087278560e+00 + 1.807424351697017e+00 + 1.803171618832717e+00 + 1.798928865872756e+00 + 1.794696068965575e+00 + 1.790473204047284e+00 + 1.786260248130819e+00 + 1.782057178544553e+00 + 1.777863972462110e+00 + 1.773680606381003e+00 + 1.769507057021776e+00 + 1.765343301422396e+00 + 1.761189316819223e+00 + 1.757045080431908e+00 + 1.752910569457795e+00 + 1.748785761158555e+00 + 1.744670632638435e+00 + 1.740565161064786e+00 + 1.736469324420783e+00 + 1.732383100261040e+00 + 1.728306465595185e+00 + 1.724239397824929e+00 + 1.720181874717039e+00 + 1.716133874165168e+00 + 1.712095373335323e+00 + 1.708066350172305e+00 + 1.704046783495335e+00 + 1.700036650108550e+00 + 1.696035927584721e+00 + 1.692044595228792e+00 + 1.688062630443701e+00 + 1.684090010658294e+00 + 1.680126714513943e+00 + 1.676172720475745e+00 + 1.672228006742128e+00 + 1.668292551293985e+00 + 1.664366332353613e+00 + 1.660449328407859e+00 + 1.656541518177628e+00 + 1.652642880144113e+00 + 1.648753392536404e+00 + 1.644873033459887e+00 + 1.641001782122826e+00 + 1.637139617814172e+00 + 1.633286518510287e+00 + 1.629442462986198e+00 + 1.625607430332010e+00 + 1.621781398816242e+00 + 1.617964347766720e+00 + 1.614156256896447e+00 + 1.610357104501046e+00 + 1.606566869528149e+00 + 1.602785531410984e+00 + 1.599013068753329e+00 + 1.595249460964023e+00 + 1.591494688099418e+00 + 1.587748729316499e+00 + 1.584011563661260e+00 + 1.580283170366302e+00 + 1.576563528988570e+00 + 1.572852618951484e+00 + 1.569150419635379e+00 + 1.565456911345500e+00 + 1.561772073862832e+00 + 1.558095886092752e+00 + 1.554428327545355e+00 + 1.550769378486889e+00 + 1.547119019605569e+00 + 1.543477229774924e+00 + 1.539843988467248e+00 + 1.536219276909035e+00 + 1.532603074921508e+00 + 1.528995362108325e+00 + 1.525396118748853e+00 + 1.521805324624735e+00 + 1.518222960029189e+00 + 1.514649006474386e+00 + 1.511083443428444e+00 + 1.507526250258141e+00 + 1.503977408416516e+00 + 1.500436898413773e+00 + 1.496904700394939e+00 + 1.493380795245864e+00 + 1.489865163193006e+00 + 1.486357784560608e+00 + 1.482858641108495e+00 + 1.479367713055452e+00 + 1.475884980161266e+00 + 1.472410424507970e+00 + 1.468944026943859e+00 + 1.465485767394345e+00 + 1.462035627142284e+00 + 1.458593587684006e+00 + 1.455159630175685e+00 + 1.451733734815932e+00 + 1.448315882934573e+00 + 1.444906056735074e+00 + 1.441504236540235e+00 + 1.438110403156542e+00 + 1.434724538391589e+00 + 1.431346623689521e+00 + 1.427976640530080e+00 + 1.424614570482120e+00 + 1.421260394583763e+00 + 1.417914094214416e+00 + 1.414575651360096e+00 + 1.411245047472556e+00 + 1.407922264020345e+00 + 1.404607282835409e+00 + 1.401300085863839e+00 + 1.398000654669480e+00 + 1.394708970355802e+00 + 1.391425015768138e+00 + 1.388148773421020e+00 + 1.384880223867722e+00 + 1.381619349200565e+00 + 1.378366132070768e+00 + 1.375120554406545e+00 + 1.371882598139520e+00 + 1.368652245409923e+00 + 1.365429478679455e+00 + 1.362214280063096e+00 + 1.359006631544336e+00 + 1.355806515436745e+00 + 1.352613914349998e+00 + 1.349428810943258e+00 + 1.346251187518860e+00 + 1.343081026346772e+00 + 1.339918309785753e+00 + 1.336763020411036e+00 + 1.333615141050152e+00 + 1.330474654669161e+00 + 1.327341544046787e+00 + 1.324215791384803e+00 + 1.321097378844990e+00 + 1.317986290481943e+00 + 1.314882509034005e+00 + 1.311786015892630e+00 + 1.308696795174431e+00 + 1.305614830505543e+00 + 1.302540104058677e+00 + 1.299472598550161e+00 + 1.296412297281467e+00 + 1.293359183920592e+00 + 1.290313241355424e+00 + 1.287274452437336e+00 + 1.284242800425524e+00 + 1.281218268758570e+00 + 1.278200840971845e+00 + 1.275190500607243e+00 + 1.272187230813499e+00 + 1.269191014801793e+00 + 1.266201836184906e+00 + 1.263219678244913e+00 + 1.260244524601725e+00 + 1.257276359774731e+00 + 1.254315166659556e+00 + 1.251360928048363e+00 + 1.248413628680403e+00 + 1.245473252809453e+00 + 1.242539783866816e+00 + 1.239613204552696e+00 + 1.236693499248504e+00 + 1.233780652886690e+00 + 1.230874648458874e+00 + 1.227975469917747e+00 + 1.225083101914005e+00 + 1.222197528080320e+00 + 1.219318732110022e+00 + 1.216446698153004e+00 + 1.213581411119631e+00 + 1.210722855169846e+00 + 1.207871013783067e+00 + 1.205025871252235e+00 + 1.202187412198626e+00 + 1.199355621285526e+00 + 1.196530482820713e+00 + 1.193711981112556e+00 + 1.190900100540550e+00 + 1.188094825240966e+00 + 1.185296139829988e+00 + 1.182504029475636e+00 + 1.179718478336080e+00 + 1.176939470878376e+00 + 1.174166992368249e+00 + 1.171401026812090e+00 + 1.168641558834780e+00 + 1.165888574598542e+00 + 1.163142057955574e+00 + 1.160401992993886e+00 + 1.157668365957760e+00 + 1.154941161055026e+00 + 1.152220362585152e+00 + 1.149505957086653e+00 + 1.146797929075238e+00 + 1.144096262593592e+00 + 1.141400943461258e+00 + 1.138711957183691e+00 + 1.136029288721929e+00 + 1.133352922646698e+00 + 1.130682844729473e+00 + 1.128019040871752e+00 + 1.125361495026299e+00 + 1.122710192813904e+00 + 1.120065120718956e+00 + 1.117426263156838e+00 + 1.114793605478939e+00 + 1.112167133798269e+00 + 1.109546832911627e+00 + 1.106932688501257e+00 + 1.104324686965964e+00 + 1.101722813149718e+00 + 1.099127052563592e+00 + 1.096537391606932e+00 + 1.093953815681381e+00 + 1.091376310184498e+00 + 1.088804860939953e+00 + 1.086239454210304e+00 + 1.083680075729654e+00 + 1.081126710640132e+00 + 1.078579345517792e+00 + 1.076037966489376e+00 + 1.073502558540405e+00 + 1.070973108232868e+00 + 1.068449602380304e+00 + 1.065932027008114e+00 + 1.063420367175204e+00 + 1.060914608734753e+00 + 1.058414739347230e+00 + 1.055920744292059e+00 + 1.053432609053344e+00 + 1.050950321750202e+00 + 1.048473868029229e+00 + 1.046003233045439e+00 + 1.043538404185668e+00 + 1.041079368203120e+00 + 1.038626111099421e+00 + 1.036178618557632e+00 + 1.033736877638818e+00 + 1.031300875738098e+00 + 1.028870598541307e+00 + 1.026446032279889e+00 + 1.024027163804816e+00 + 1.021613979927458e+00 + 1.019206467749757e+00 + 1.016804614201984e+00 + 1.014408404816817e+00 + 1.012017826403038e+00 + 1.009632866898133e+00 + 1.007253512894913e+00 + 1.004879750675442e+00 + 1.002511566831996e+00 + 1.000148949144661e+00 + 9.977918847145494e-01 + 9.954403597206510e-01 + 9.930943614528360e-01 + 9.907538771638876e-01 + 9.884188936740620e-01 + 9.860893982148410e-01 + 9.837653780132122e-01 + 9.814468200970017e-01 + 9.791337116433633e-01 + 9.768260399168340e-01 + 9.745237922184445e-01 + 9.722269558574113e-01 + 9.699355181124353e-01 + 9.676494662336389e-01 + 9.653687876978898e-01 + 9.630934699744002e-01 + 9.608235003289306e-01 + 9.585588662885656e-01 + 9.562995554410040e-01 + 9.540455551859868e-01 + 9.517968530931009e-01 + 9.495534368089285e-01 + 9.473152938858177e-01 + 9.450824119343849e-01 + 9.428547786515334e-01 + 9.406323818265262e-01 + 9.384152091378831e-01 + 9.362032482272097e-01 + 9.339964869112888e-01 + 9.317949130473703e-01 + 9.295985145023118e-01 + 9.274072791539573e-01 + 9.252211948367504e-01 + 9.230402494034374e-01 + 9.208644309329761e-01 + 9.186937274260252e-01 + 9.165281267878318e-01 + 9.143676170947915e-01 + 9.122121864230248e-01 + 9.100618228160294e-01 + 9.079165144228375e-01 + 9.057762494101416e-01 + 9.036410159434681e-01 + 9.015108022852656e-01 + 8.993855966397851e-01 + 8.972653871281971e-01 + 8.951501621417270e-01 + 8.930399100640233e-01 + 8.909346191274636e-01 + 8.888342777366450e-01 + 8.867388743114113e-01 + 8.846483971822027e-01 + 8.825628348501290e-01 + 8.804821758633001e-01 + 8.784064086961259e-01 + 8.763355218399448e-01 + 8.742695038377348e-01 + 8.722083433110044e-01 + 8.701520288632569e-01 + 8.681005490981059e-01 + 8.660538926659707e-01 + 8.640120483003465e-01 + 8.619750047630993e-01 + 8.599427507590320e-01 + 8.579152750196485e-01 + 8.558925663402844e-01 + 8.538746136199826e-01 + 8.518614056598554e-01 + 8.498529312415619e-01 + 8.478491793952468e-01 + 8.458501390477595e-01 + 8.438557990450950e-01 + 8.418661484572341e-01 + 8.398811762963594e-01 + 8.379008715007146e-01 + 8.359252231704962e-01 + 8.339542204095658e-01 + 8.319878522912720e-01 + 8.300261079597043e-01 + 8.280689765769632e-01 + 8.261164473121154e-01 + 8.241685093974929e-01 + 8.222251520716921e-01 + 8.202863645582569e-01 + 8.183521361157176e-01 + 8.164224560764958e-01 + 8.144973138478017e-01 + 8.125766987264839e-01 + 8.106606000443977e-01 + 8.087490072689457e-01 + 8.068419098143643e-01 + 8.049392971238847e-01 + 8.030411587461223e-01 + 8.011474841608780e-01 + 7.992582628576694e-01 + 7.973734844327619e-01 + 7.954931384582111e-01 + 7.936172145055983e-01 + 7.917457022017643e-01 + 7.898785912282000e-01 + 7.880158712799969e-01 + 7.861575320154112e-01 + 7.843035631939634e-01 + 7.824539546080472e-01 + 7.806086959262468e-01 + 7.787677769423338e-01 + 7.769311875560446e-01 + 7.750989176225404e-01 + 7.732709569908990e-01 + 7.714472955211897e-01 + 7.696279231052234e-01 + 7.678128297211314e-01 + 7.660020053954494e-01 + 7.641954400346342e-01 + 7.623931236302374e-01 + 7.605950462809293e-01 + 7.588011979868697e-01 + 7.570115688113509e-01 + 7.552261489288551e-01 + 7.534449284973839e-01 + 7.516678976340316e-01 + 7.498950464317325e-01 + 7.481263651057625e-01 + 7.463618439154999e-01 + 7.446014731170009e-01 + 7.428452429690515e-01 + 7.410931437272748e-01 + 7.393451656574506e-01 + 7.376012991597445e-01 + 7.358615346418724e-01 + 7.341258624174279e-01 + 7.323942728636854e-01 + 7.306667564033948e-01 + 7.289433034811010e-01 + 7.272239046205010e-01 + 7.255085503342084e-01 + 7.237972310231134e-01 + 7.220899372662432e-01 + 7.203866596915919e-01 + 7.186873887451811e-01 + 7.169921150530395e-01 + 7.153008293485266e-01 + 7.136135222426403e-01 + 7.119301843519804e-01 + 7.102508063464710e-01 + 7.085753789925818e-01 + 7.069038930034782e-01 + 7.052363390742027e-01 + 7.035727080638011e-01 + 7.019129907750439e-01 + 7.002571779481277e-01 + 6.986052604437083e-01 + 6.969572291357313e-01 + 6.953130748988353e-01 + 6.936727887020229e-01 + 6.920363614522840e-01 + 6.904037839913317e-01 + 6.887750473773369e-01 + 6.871501426160253e-01 + 6.855290605871678e-01 + 6.839117924040222e-01 + 6.822983292013320e-01 + 6.806886620123715e-01 + 6.790827818618205e-01 + 6.774806798407976e-01 + 6.758823471448717e-01 + 6.742877749381793e-01 + 6.726969543916550e-01 + 6.711098767181217e-01 + 6.695265330883416e-01 + 6.679469147191758e-01 + 6.663710129607012e-01 + 6.647988190816884e-01 + 6.632303243195694e-01 + 6.616655199754741e-01 + 6.601043974442724e-01 + 6.585469481315596e-01 + 6.569931633409668e-01 + 6.554430344698831e-01 + 6.538965529680326e-01 + 6.523537102216029e-01 + 6.508144977390269e-01 + 6.492789070902356e-01 + 6.477469297088367e-01 + 6.462185570471877e-01 + 6.446937806333431e-01 + 6.431725921186934e-01 + 6.416549831028872e-01 + 6.401409451291091e-01 + 6.386304698205402e-01 + 6.371235488250266e-01 + 6.356201737964903e-01 + 6.341203364004929e-01 + 6.326240283504814e-01 + 6.311312414023209e-01 + 6.296419672600960e-01 + 6.281561976359686e-01 + 6.266739242956670e-01 + 6.251951391194286e-01 + 6.237198339322255e-01 + 6.222480004492102e-01 + 6.207796305731890e-01 + 6.193147162378443e-01 + 6.178532493027741e-01 + 6.163952216645050e-01 + 6.149406252489860e-01 + 6.134894519984210e-01 + 6.120416938491114e-01 + 6.105973427932988e-01 + 6.091563909278429e-01 + 6.077188302116784e-01 + 6.062846526061169e-01 + 6.048538502614210e-01 + 6.034264152733694e-01 + 6.020023397068369e-01 + 6.005816156757759e-01 + 5.991642353027361e-01 + 5.977501907311656e-01 + 5.963394741611191e-01 + 5.949320777981851e-01 + 5.935279938331314e-01 + 5.921272144271874e-01 + 5.907297318514260e-01 + 5.893355384452119e-01 + 5.879446264415406e-01 + 5.865569881004723e-01 + 5.851726157460215e-01 + 5.837915017610071e-01 + 5.824136384878618e-01 + 5.810390182425506e-01 + 5.796676334763571e-01 + 5.782994765837256e-01 + 5.769345398883866e-01 + 5.755728159164172e-01 + 5.742142971757567e-01 + 5.728589760824728e-01 + 5.715068451452269e-01 + 5.701578968814059e-01 + 5.688121237820786e-01 + 5.674695184134964e-01 + 5.661300733449661e-01 + 5.647937811172017e-01 + 5.634606343850478e-01 + 5.621306258016221e-01 + 5.608037479323033e-01 + 5.594799934047830e-01 + 5.581593548937616e-01 + 5.568418251014721e-01 + 5.555273967809645e-01 + 5.542160626584934e-01 + 5.529078153599613e-01 + 5.516026476869607e-01 + 5.503005524879265e-01 + 5.490015224489507e-01 + 5.477055503706971e-01 + 5.464126291394721e-01 + 5.451227516109934e-01 + 5.438359105997491e-01 + 5.425520989229732e-01 + 5.412713094911021e-01 + 5.399935352390902e-01 + 5.387187691034094e-01 + 5.374470040087604e-01 + 5.361782329113639e-01 + 5.349124487848638e-01 + 5.336496445514358e-01 + 5.323898132502169e-01 + 5.311329480044003e-01 + 5.298790417206248e-01 + 5.286280874266170e-01 + 5.273800783238198e-01 + 5.261350074387794e-01 + 5.248928678300107e-01 + 5.236536526638225e-01 + 5.224173550711992e-01 + 5.211839681868924e-01 + 5.199534851768893e-01 + 5.187258992380968e-01 + 5.175012035574781e-01 + 5.162793913049719e-01 + 5.150604557657682e-01 + 5.138443902158373e-01 + 5.126311878387027e-01 + 5.114208419243966e-01 + 5.102133457996210e-01 + 5.090086927559088e-01 + 5.078068761246483e-01 + 5.066078892445277e-01 + 5.054117254264059e-01 + 5.042183780707232e-01 + 5.030278406156905e-01 + 5.018401064512819e-01 + 5.006551689399448e-01 + 4.994730214827681e-01 + 4.982936576173500e-01 + 4.971170708196209e-01 + 4.959432545161117e-01 + 4.947722021784954e-01 + 4.936039073158257e-01 + 4.924383634713059e-01 + 4.912755642215030e-01 + 4.901155031029966e-01 + 4.889581736357913e-01 + 4.878035694426762e-01 + 4.866516841617155e-01 + 4.855025114095978e-01 + 4.843560447562852e-01 + 4.832122778219742e-01 + 4.820712043014287e-01 + 4.809328179063641e-01 + 4.797971123302187e-01 + 4.786640812406847e-01 + 4.775337183184862e-01 + 4.764060173050261e-01 + 4.752809720122764e-01 + 4.741585762111217e-01 + 4.730388236459319e-01 + 4.719217080626099e-01 + 4.708072233097221e-01 + 4.696953632391141e-01 + 4.685861216425942e-01 + 4.674794923970907e-01 + 4.663754693817960e-01 + 4.652740464091041e-01 + 4.641752174102053e-01 + 4.630789763262008e-01 + 4.619853169869301e-01 + 4.608942333544824e-01 + 4.598057194461572e-01 + 4.587197692038988e-01 + 4.576363766028796e-01 + 4.565555356433393e-01 + 4.554772403132010e-01 + 4.544014845983438e-01 + 4.533282625263808e-01 + 4.522575682421708e-01 + 4.511893957834002e-01 + 4.501237391381080e-01 + 4.490605924783677e-01 + 4.479999499003729e-01 + 4.469418054464263e-01 + 4.458861533467765e-01 + 4.448329877503518e-01 + 4.437823027182840e-01 + 4.427340924804984e-01 + 4.416883512661691e-01 + 4.406450732493647e-01 + 4.396042525949710e-01 + 4.385658835318161e-01 + 4.375299603591805e-01 + 4.364964773180230e-01 + 4.354654286529535e-01 + 4.344368086449737e-01 + 4.334106115882546e-01 + 4.323868317973252e-01 + 4.313654636098987e-01 + 4.303465013528135e-01 + 4.293299393608014e-01 + 4.283157719943348e-01 + 4.273039936389254e-01 + 4.262945986862648e-01 + 4.252875815207442e-01 + 4.242829365388910e-01 + 4.232806581737543e-01 + 4.222807409163533e-01 + 4.212831792180283e-01 + 4.202879675160039e-01 + 4.192951002821390e-01 + 4.183045720190468e-01 + 4.173163772308877e-01 + 4.163305103895081e-01 + 4.153469660738844e-01 + 4.143657388899517e-01 + 4.133868232899575e-01 + 4.124102138463511e-01 + 4.114359052122226e-01 + 4.104638919136763e-01 + 4.094941685453110e-01 + 4.085267297797091e-01 + 4.075615702608746e-01 + 4.065986846247451e-01 + 4.056380675149961e-01 + 4.046797136100241e-01 + 4.037236175791848e-01 + 4.027697740867438e-01 + 4.018181778668817e-01 + 4.008688236537185e-01 + 3.999217061664900e-01 + 3.989768201804763e-01 + 3.980341604347806e-01 + 3.970937216243767e-01 + 3.961554986257766e-01 + 3.952194862561716e-01 + 3.942856791749246e-01 + 3.933540722797152e-01 + 3.924246604937682e-01 + 3.914974386057962e-01 + 3.905724013991230e-01 + 3.896495437210211e-01 + 3.887288605266558e-01 + 3.878103467384126e-01 + 3.868939972364765e-01 + 3.859798068708922e-01 + 3.850677705778728e-01 + 3.841578833358520e-01 + 3.832501400994028e-01 + 3.823445358203205e-01 + 3.814410654593080e-01 + 3.805397240004402e-01 + 3.796405064500310e-01 + 3.787434078281850e-01 + 3.778484231550217e-01 + 3.769555474293507e-01 + 3.760647756653435e-01 + 3.751761029803938e-01 + 3.742895244689736e-01 + 3.734050351897463e-01 + 3.725226302131253e-01 + 3.716423046174657e-01 + 3.707640535037849e-01 + 3.698878720450124e-01 + 3.690137553825144e-01 + 3.681416986254492e-01 + 3.672716969834960e-01 + 3.664037456169829e-01 + 3.655378396196581e-01 + 3.646739742353085e-01 + 3.638121447254376e-01 + 3.629523462980791e-01 + 3.620945741078652e-01 + 3.612388233782960e-01 + 3.603850894480597e-01 + 3.595333675652969e-01 + 3.586836529581271e-01 + 3.578359408972814e-01 + 3.569902267099870e-01 + 3.561465057284826e-01 + 3.553047732480240e-01 + 3.544650245489661e-01 + 3.536272549462773e-01 + 3.527914598373741e-01 + 3.519576346281267e-01 + 3.511257746893044e-01 + 3.502958753213151e-01 + 3.494679319027064e-01 + 3.486419398734283e-01 + 3.478178946841421e-01 + 3.469957917542031e-01 + 3.461756264906874e-01 + 3.453573943334770e-01 + 3.445410907466465e-01 + 3.437267112053919e-01 + 3.429142511753236e-01 + 3.421037061357636e-01 + 3.412950715914754e-01 + 3.404883430871680e-01 + 3.396835161220511e-01 + 3.388805861778083e-01 + 3.380795488742585e-01 + 3.372803997559251e-01 + 3.364831342820857e-01 + 3.356877480644493e-01 + 3.348942367473924e-01 + 3.341025959445759e-01 + 3.333128211902062e-01 + 3.325249080644813e-01 + 3.317388522349806e-01 + 3.309546493345364e-01 + 3.301722950123494e-01 + 3.293917849546400e-01 + 3.286131147929292e-01 + 3.278362801760134e-01 + 3.270612768173198e-01 + 3.262881004205997e-01 + 3.255167466776044e-01 + 3.247472112772871e-01 + 3.239794899591130e-01 + 3.232135784952971e-01 + 3.224494726613195e-01 + 3.216871681318617e-01 + 3.209266606147330e-01 + 3.201679460077643e-01 + 3.194110200806869e-01 + 3.186558785671545e-01 + 3.179025173467112e-01 + 3.171509322207308e-01 + 3.164011189537259e-01 + 3.156530734030461e-01 + 3.149067914068442e-01 + 3.141622688005587e-01 + 3.134195014964591e-01 + 3.126784853846941e-01 + 3.119392163234083e-01 + 3.112016901727622e-01 + 3.104659028247113e-01 + 3.097318502149898e-01 + 3.089995283319454e-01 + 3.082689330721005e-01 + 3.075400602663161e-01 + 3.068129059444455e-01 + 3.060874661234649e-01 + 3.053637367362504e-01 + 3.046417137079979e-01 + 3.039213930418579e-01 + 3.032027708160949e-01 + 3.024858429572295e-01 + 3.017706054435225e-01 + 3.010570543910775e-01 + 3.003451858060657e-01 + 2.996349956970866e-01 + 2.989264801519126e-01 + 2.982196352437723e-01 + 2.975144570351090e-01 + 2.968109415899733e-01 + 2.961090850010212e-01 + 2.954088833712375e-01 + 2.947103327960572e-01 + 2.940134293733013e-01 + 2.933181692489545e-01 + 2.926245486550200e-01 + 2.919325636534309e-01 + 2.912422103009782e-01 + 2.905534849067459e-01 + 2.898663836341845e-01 + 2.891809025716850e-01 + 2.884970379499296e-01 + 2.878147859946116e-01 + 2.871341429080666e-01 + 2.864551048929091e-01 + 2.857776681836698e-01 + 2.851018290276999e-01 + 2.844275836247271e-01 + 2.837549281975342e-01 + 2.830838590248334e-01 + 2.824143724756855e-01 + 2.817464648036653e-01 + 2.810801321714598e-01 + 2.804153709678348e-01 + 2.797521775256636e-01 + 2.790905480675208e-01 + 2.784304789557904e-01 + 2.777719665515425e-01 + 2.771150071618110e-01 + 2.764595971293084e-01 + 2.758057328280932e-01 + 2.751534106502780e-01 + 2.745026269461392e-01 + 2.738533780697315e-01 + 2.732056604090851e-01 + 2.725594703611444e-01 + 2.719148043516682e-01 + 2.712716588414341e-01 + 2.706300302048149e-01 + 2.699899148252890e-01 + 2.693513091897057e-01 + 2.687142097803046e-01 + 2.680786130525787e-01 + 2.674445154290628e-01 + 2.668119133864937e-01 + 2.661808034370396e-01 + 2.655511820876730e-01 + 2.649230457933240e-01 + 2.642963910212357e-01 + 2.636712143601993e-01 + 2.630475123173707e-01 + 2.624252813696634e-01 + 2.618045181320832e-01 + 2.611852191534089e-01 + 2.605673809346502e-01 + 2.599510000768786e-01 + 2.593360731482656e-01 + 2.587225966857610e-01 + 2.581105673020023e-01 + 2.574999816218594e-01 + 2.568908362541323e-01 + 2.562831277681717e-01 + 2.556768527608984e-01 + 2.550720078808991e-01 + 2.544685898158210e-01 + 2.538665952029344e-01 + 2.532660206235198e-01 + 2.526668627769018e-01 + 2.520691183671673e-01 + 2.514727840477828e-01 + 2.508778564832650e-01 + 2.502843323450471e-01 + 2.496922083184503e-01 + 2.491014811741685e-01 + 2.485121476502302e-01 + 2.479242043768022e-01 + 2.473376480750936e-01 + 2.467524755330193e-01 + 2.461686835577825e-01 + 2.455862688342147e-01 + 2.450052280577099e-01 + 2.444255580815592e-01 + 2.438472556710649e-01 + 2.432703175621061e-01 + 2.426947405763887e-01 + 2.421205215374063e-01 + 2.415476572469543e-01 + 2.409761444715131e-01 + 2.404059800179439e-01 + 2.398371607406130e-01 + 2.392696835287547e-01 + 2.387035451998669e-01 + 2.381387425460481e-01 + 2.375752724876774e-01 + 2.370131319015487e-01 + 2.364523176042576e-01 + 2.358928264341899e-01 + 2.353346553264918e-01 + 2.347778012643444e-01 + 2.342222610470114e-01 + 2.336680315481888e-01 + 2.331151097630285e-01 + 2.325634926002070e-01 + 2.320131769932555e-01 + 2.314641599195968e-01 + 2.309164382391606e-01 + 2.303700088852327e-01 + 2.298248689205450e-01 + 2.292810152383314e-01 + 2.287384447851956e-01 + 2.281971546639490e-01 + 2.276571417710518e-01 + 2.271184030444375e-01 + 2.265809356255705e-01 + 2.260447364485637e-01 + 2.255098024678978e-01 + 2.249761308577043e-01 + 2.244437185775247e-01 + 2.239125625576918e-01 + 2.233826599324974e-01 + 2.228540078061592e-01 + 2.223266032159731e-01 + 2.218004431318401e-01 + 2.212755246546400e-01 + 2.207518449320089e-01 + 2.202294009962271e-01 + 2.197081899542086e-01 + 2.191882089472320e-01 + 2.186694550184439e-01 + 2.181519252528444e-01 + 2.176356167922184e-01 + 2.171205268020538e-01 + 2.166066524055817e-01 + 2.160939907132310e-01 + 2.155825389406823e-01 + 2.150722942170351e-01 + 2.145632535999474e-01 + 2.140554143128364e-01 + 2.135487735713488e-01 + 2.130433285376680e-01 + 2.125390763961598e-01 + 2.120360143225986e-01 + 2.115341394866721e-01 + 2.110334491301104e-01 + 2.105339404911263e-01 + 2.100356107692428e-01 + 2.095384571593845e-01 + 2.090424768875718e-01 + 2.085476672286868e-01 + 2.080540254649787e-01 + 2.075615488420417e-01 + 2.070702345483775e-01 + 2.065800798220710e-01 + 2.060910819584345e-01 + 2.056032383022174e-01 + 2.051165461242101e-01 + 2.046310026800104e-01 + 2.041466052775261e-01 + 2.036633511978056e-01 + 2.031812377402102e-01 + 2.027002622847228e-01 + 2.022204221329609e-01 + 2.017417145657832e-01 + 2.012641369577989e-01 + 2.007876866366623e-01 + 2.003123609141739e-01 + 1.998381571847571e-01 + 1.993650728223044e-01 + 1.988931051658790e-01 + 1.984222515391579e-01 + 1.979525093566432e-01 + 1.974838760798574e-01 + 1.970163490394448e-01 + 1.965499255924087e-01 + 1.960846031634822e-01 + 1.956203792216227e-01 + 1.951572511456189e-01 + 1.946952162469976e-01 + 1.942342720345011e-01 + 1.937744160087473e-01 + 1.933156455855021e-01 + 1.928579581617409e-01 + 1.924013511601302e-01 + 1.919458220512063e-01 + 1.914913683490730e-01 + 1.910379875218400e-01 + 1.905856769690048e-01 + 1.901344342343178e-01 + 1.896842568245793e-01 + 1.892351421122624e-01 + 1.887870876905098e-01 + 1.883400911382459e-01 + 1.878941498265747e-01 + 1.874492612709913e-01 + 1.870054230608876e-01 + 1.865626327533365e-01 + 1.861208878413260e-01 + 1.856801858136446e-01 + 1.852405242290795e-01 + 1.848019006561455e-01 + 1.843643126785636e-01 + 1.839277579090688e-01 + 1.834922338318696e-01 + 1.830577379260484e-01 + 1.826242679175190e-01 + 1.821918214082343e-01 + 1.817603959062191e-01 + 1.813299890419420e-01 + 1.809005984096844e-01 + 1.804722215715290e-01 + 1.800448561676805e-01 + 1.796184998471616e-01 + 1.791931502428031e-01 + 1.787688049585256e-01 + 1.783454616010165e-01 + 1.779231178061076e-01 + 1.775017712916434e-01 + 1.770814197185338e-01 + 1.766620606643876e-01 + 1.762436917707559e-01 + 1.758263107475443e-01 + 1.754099153420786e-01 + 1.749945031691721e-01 + 1.745800718793870e-01 + 1.741666192327871e-01 + 1.737541428912765e-01 + 1.733426405128906e-01 + 1.729321098263452e-01 + 1.725225486037993e-01 + 1.721139545737653e-01 + 1.717063253659770e-01 + 1.712996586978482e-01 + 1.708939523524782e-01 + 1.704892041326627e-01 + 1.700854117308264e-01 + 1.696825728315613e-01 + 1.692806852413719e-01 + 1.688797467224855e-01 + 1.684797550119726e-01 + 1.680807078836749e-01 + 1.676826031516292e-01 + 1.672854386236076e-01 + 1.668892120257625e-01 + 1.664939211364053e-01 + 1.660995637803862e-01 + 1.657061377653481e-01 + 1.653136408872399e-01 + 1.649220709518862e-01 + 1.645314258210089e-01 + 1.641417032838678e-01 + 1.637529010922642e-01 + 1.633650171697226e-01 + 1.629780493848234e-01 + 1.625919955117979e-01 + 1.622068533722165e-01 + 1.618226208359533e-01 + 1.614392958070308e-01 + 1.610568761629498e-01 + 1.606753597398519e-01 + 1.602947443525945e-01 + 1.599150279328092e-01 + 1.595362083976419e-01 + 1.591582835876941e-01 + 1.587812513806259e-01 + 1.584051096895935e-01 + 1.580298564486488e-01 + 1.576554895336735e-01 + 1.572820068494865e-01 + 1.569094063844064e-01 + 1.565376859935812e-01 + 1.561668435389086e-01 + 1.557968770322644e-01 + 1.554277844430587e-01 + 1.550595637013555e-01 + 1.546922127252644e-01 + 1.543257294352004e-01 + 1.539601117962810e-01 + 1.535953578647676e-01 + 1.532314655336160e-01 + 1.528684326732572e-01 + 1.525062574192351e-01 + 1.521449377506904e-01 + 1.517844715391133e-01 + 1.514248568043021e-01 + 1.510660915767141e-01 + 1.507081738546517e-01 + 1.503511015850067e-01 + 1.499948728018673e-01 + 1.496394855976185e-01 + 1.492849379312514e-01 + 1.489312277844460e-01 + 1.485783532079666e-01 + 1.482263122946834e-01 + 1.478751030581660e-01 + 1.475247234388987e-01 + 1.471751715323068e-01 + 1.468264454469171e-01 + 1.464785432366154e-01 + 1.461314629165984e-01 + 1.457852025452889e-01 + 1.454397602433564e-01 + 1.450951340257908e-01 + 1.447513219420110e-01 + 1.444083221508569e-01 + 1.440661327109938e-01 + 1.437247516822454e-01 + 1.433841772072484e-01 + 1.430444073901374e-01 + 1.427054403077353e-01 + 1.423672740371242e-01 + 1.420299067307786e-01 + 1.416933365389871e-01 + 1.413575615237460e-01 + 1.410225798197031e-01 + 1.406883895901710e-01 + 1.403549889435149e-01 + 1.400223760032770e-01 + 1.396905489310608e-01 + 1.393595059398338e-01 + 1.390292451224472e-01 + 1.386997645496112e-01 + 1.383710625136722e-01 + 1.380431371824567e-01 + 1.377159866326167e-01 + 1.373896091055998e-01 + 1.370640027752214e-01 + 1.367391657592925e-01 + 1.364150963290927e-01 + 1.360917926783734e-01 + 1.357692529162330e-01 + 1.354474752994454e-01 + 1.351264580487222e-01 + 1.348061993122180e-01 + 1.344866973181728e-01 + 1.341679503229942e-01 + 1.338499565682958e-01 + 1.335327142013654e-01 + 1.332162214320106e-01 + 1.329004765902875e-01 + 1.325854779258548e-01 + 1.322712236439755e-01 + 1.319577119415115e-01 + 1.316449410589970e-01 + 1.313329092858229e-01 + 1.310216149439378e-01 + 1.307110562100912e-01 + 1.304012313067827e-01 + 1.300921386594473e-01 + 1.297837764741680e-01 + 1.294761429396481e-01 + 1.291692364743583e-01 + 1.288630553353233e-01 + 1.285575977268189e-01 + 1.282528620001082e-01 + 1.279488464604472e-01 + 1.276455493846629e-01 + 1.273429690961771e-01 + 1.270411039265308e-01 + 1.267399521912149e-01 + 1.264395121606617e-01 + 1.261397821624623e-01 + 1.258407605612416e-01 + 1.255424456647032e-01 + 1.252448358003494e-01 + 1.249479293256652e-01 + 1.246517245985584e-01 + 1.243562199440227e-01 + 1.240614136699035e-01 + 1.237673041530004e-01 + 1.234738897833225e-01 + 1.231811689369122e-01 + 1.228891399541342e-01 + 1.225978011897444e-01 + 1.223071510285007e-01 + 1.220171878485729e-01 + 1.217279100221359e-01 + 1.214393159216827e-01 + 1.211514039479249e-01 + 1.208641725134118e-01 + 1.205776200272462e-01 + 1.202917448643591e-01 + 1.200065453999493e-01 + 1.197220200388544e-01 + 1.194381672203820e-01 + 1.191549853738593e-01 + 1.188724728867774e-01 + 1.185906281982059e-01 + 1.183094497403516e-01 + 1.180289358802264e-01 + 1.177490851172322e-01 + 1.174698959467804e-01 + 1.171913666738082e-01 + 1.169134957966049e-01 + 1.166362818664215e-01 + 1.163597231976005e-01 + 1.160838182295854e-01 + 1.158085654926154e-01 + 1.155339634301463e-01 + 1.152600105152270e-01 + 1.149867052503320e-01 + 1.147140461081585e-01 + 1.144420315115333e-01 + 1.141706598827868e-01 + 1.138999297876022e-01 + 1.136298397724347e-01 + 1.133603883121320e-01 + 1.130915738073908e-01 + 1.128233947404400e-01 + 1.125558496925181e-01 + 1.122889371862514e-01 + 1.120226557224089e-01 + 1.117570037925019e-01 + 1.114919798574519e-01 + 1.112275824488763e-01 + 1.109638101830490e-01 + 1.107006615250319e-01 + 1.104381349837027e-01 + 1.101762291935612e-01 + 1.099149425817940e-01 + 1.096542736337556e-01 + 1.093942210611990e-01 + 1.091347833750166e-01 + 1.088759590309823e-01 + 1.086177465849946e-01 + 1.083601446468375e-01 + 1.081031518187680e-01 + 1.078467666394599e-01 + 1.075909876365943e-01 + 1.073358133695979e-01 + 1.070812424691808e-01 + 1.068272734935852e-01 + 1.065739049762412e-01 + 1.063211355273724e-01 + 1.060689637753818e-01 + 1.058173883167701e-01 + 1.055664076522099e-01 + 1.053160204177178e-01 + 1.050662253083730e-01 + 1.048170208178578e-01 + 1.045684055544151e-01 + 1.043203782231123e-01 + 1.040729373745031e-01 + 1.038260815947437e-01 + 1.035798095388146e-01 + 1.033341198496129e-01 + 1.030890111353506e-01 + 1.028444819874746e-01 + 1.026005310752415e-01 + 1.023571570589419e-01 + 1.021143585605686e-01 + 1.018721342063349e-01 + 1.016304826397723e-01 + 1.013894025261397e-01 + 1.011488925387934e-01 + 1.009089513225976e-01 + 1.006695774897203e-01 + 1.004307697412456e-01 + 1.001925267601519e-01 + 9.995484714928184e-02 + 9.971772961029543e-02 + 9.948117285600222e-02 + 9.924517553207431e-02 + 9.900973631553432e-02 + 9.877485389836264e-02 + 9.854052696321766e-02 + 9.830675420513860e-02 + 9.807353432053509e-02 + 9.784086599274402e-02 + 9.760874792461041e-02 + 9.737717882679013e-02 + 9.714615739564664e-02 + 9.691568233864475e-02 + 9.668575237168565e-02 + 9.645636620785530e-02 + 9.622752256709627e-02 + 9.599922017186617e-02 + 9.577145773476621e-02 + 9.554423398421420e-02 + 9.531754766036228e-02 + 9.509139748951084e-02 + 9.486578220406576e-02 + 9.464070054491446e-02 + 9.441615125061270e-02 + 9.419213306609350e-02 + 9.396864474309072e-02 + 9.374568502973517e-02 + 9.352325267700241e-02 + 9.330134644110695e-02 + 9.307996508088016e-02 + 9.285910736057421e-02 + 9.263877204899980e-02 + 9.241895790580944e-02 + 9.219966369924239e-02 + 9.198088821288498e-02 + 9.176263021506216e-02 + 9.154488848131032e-02 + 9.132766180778470e-02 + 9.111094897456264e-02 + 9.089474876186458e-02 + 9.067905996494766e-02 + 9.046388137755315e-02 + 9.024921179550818e-02 + 9.003505002157913e-02 + 8.982139485394958e-02 + 8.960824509461397e-02 + 8.939559956013639e-02 + 8.918345705664489e-02 + 8.897181638949078e-02 + 8.876067638185769e-02 + 8.855003585659860e-02 + 8.833989363307079e-02 + 8.813024852794749e-02 + 8.792109937217552e-02 + 8.771244500411417e-02 + 8.750428424959714e-02 + 8.729661594151820e-02 + 8.708943892038122e-02 + 8.688275202450782e-02 + 8.667655409894154e-02 + 8.647084399500883e-02 + 8.626562056133152e-02 + 8.606088264727801e-02 + 8.585662910508592e-02 + 8.565285879275303e-02 + 8.544957056834111e-02 + 8.524676329099723e-02 + 8.504443583456130e-02 + 8.484258706983651e-02 + 8.464121585953427e-02 + 8.444032107793580e-02 + 8.423990160173883e-02 + 8.403995630660985e-02 + 8.384048408000297e-02 + 8.364148380739438e-02 + 8.344295436518863e-02 + 8.324489464319758e-02 + 8.304730353631981e-02 + 8.285017993778075e-02 + 8.265352274723796e-02 + 8.245733086610936e-02 + 8.226160319325253e-02 + 8.206633863307464e-02 + 8.187153609323948e-02 + 8.167719448173898e-02 + 8.148331271120264e-02 + 8.128988969775824e-02 + 8.109692435907066e-02 + 8.090441561287741e-02 + 8.071236238052074e-02 + 8.052076359329230e-02 + 8.032961817777003e-02 + 8.013892505875637e-02 + 7.994868317110082e-02 + 7.975889145271257e-02 + 7.956954884117817e-02 + 7.938065427030368e-02 + 7.919220668490153e-02 + 7.900420503735811e-02 + 7.881664826626886e-02 + 7.862953532075569e-02 + 7.844286516277023e-02 + 7.825663674598571e-02 + 7.807084902471831e-02 + 7.788550095723919e-02 + 7.770059150356423e-02 + 7.751611963202924e-02 + 7.733208431808952e-02 + 7.714848452080215e-02 + 7.696531920714285e-02 + 7.678258736267791e-02 + 7.660028796508990e-02 + 7.641841999039113e-02 + 7.623698241865759e-02 + 7.605597423593993e-02 + 7.587539442823407e-02 + 7.569524197859213e-02 + 7.551551588287067e-02 + 7.533621514035872e-02 + 7.515733874432233e-02 + 7.497888568830134e-02 + 7.480085497230264e-02 + 7.462324560850588e-02 + 7.444605660139321e-02 + 7.426928695221670e-02 + 7.409293566891996e-02 + 7.391700176673981e-02 + 7.374148426439617e-02 + 7.356638217848553e-02 + 7.339169452681224e-02 + 7.321742033027905e-02 + 7.304355861552074e-02 + 7.287010840815517e-02 + 7.269706873346385e-02 + 7.252443862192341e-02 + 7.235221710900047e-02 + 7.218040323296335e-02 + 7.200899602923243e-02 + 7.183799453782064e-02 + 7.166739780328910e-02 + 7.149720486628935e-02 + 7.132741477295296e-02 + 7.115802657678706e-02 + 7.098903933028558e-02 + 7.082045208266741e-02 + 7.065226388294948e-02 + 7.048447379884398e-02 + 7.031708089501212e-02 + 7.015008422428966e-02 + 6.998348285005500e-02 + 6.981727584178653e-02 + 6.965146227138255e-02 + 6.948604121024822e-02 + 6.932101172952453e-02 + 6.915637290177927e-02 + 6.899212381049466e-02 + 6.882826353831664e-02 + 6.866479115768206e-02 + 6.850170575553913e-02 + 6.833900642241270e-02 + 6.817669223943085e-02 + 6.801476230171261e-02 + 6.785321570853013e-02 + 6.769205154760372e-02 + 6.753126891476798e-02 + 6.737086691265436e-02 + 6.721084464422118e-02 + 6.705120121123045e-02 + 6.689193571639933e-02 + 6.673304726820108e-02 + 6.657453497707803e-02 + 6.641639795452120e-02 + 6.625863531334618e-02 + 6.610124617104705e-02 + 6.594422964866814e-02 + 6.578758486543299e-02 + 6.563131094165708e-02 + 6.547540700031643e-02 + 6.531987216906585e-02 + 6.516470557837332e-02 + 6.500990635997374e-02 + 6.485547364331327e-02 + 6.470140656204018e-02 + 6.454770425495959e-02 + 6.439436585565442e-02 + 6.424139050518185e-02 + 6.408877735587415e-02 + 6.393652554954243e-02 + 6.378463422860429e-02 + 6.363310254304622e-02 + 6.348192964216136e-02 + 6.333111467891862e-02 + 6.318065681259971e-02 + 6.303055519506789e-02 + 6.288080898167979e-02 + 6.273141734118348e-02 + 6.258237943694549e-02 + 6.243369443027962e-02 + 6.228536148636779e-02 + 6.213737977420020e-02 + 6.198974846629291e-02 + 6.184246673830131e-02 + 6.169553375986874e-02 + 6.154894870195880e-02 + 6.140271075002260e-02 + 6.125681908485271e-02 + 6.111127288458502e-02 + 6.096607133498923e-02 + 6.082121362330186e-02 + 6.067669893778977e-02 + 6.053252647002724e-02 + 6.038869541057570e-02 + 6.024520494995262e-02 + 6.010205428441878e-02 + 5.995924261312039e-02 + 5.981676913606451e-02 + 5.967463305068377e-02 + 5.953283356000520e-02 + 5.939136987405440e-02 + 5.925024120274393e-02 + 5.910944675075109e-02 + 5.896898572024133e-02 + 5.882885733338872e-02 + 5.868906080796419e-02 + 5.854959534943303e-02 + 5.841046018167366e-02 + 5.827165452667381e-02 + 5.813317759547484e-02 + 5.799502862000658e-02 + 5.785720683145133e-02 + 5.771971144629215e-02 + 5.758254169802959e-02 + 5.744569682168989e-02 + 5.730917604038396e-02 + 5.717297859181381e-02 + 5.703710371771920e-02 + 5.690155065150715e-02 + 5.676631863514842e-02 + 5.663140691176988e-02 + 5.649681471550019e-02 + 5.636254129818796e-02 + 5.622858591623749e-02 + 5.609494780637568e-02 + 5.596162621719655e-02 + 5.582862040612746e-02 + 5.569592962469259e-02 + 5.556355312969728e-02 + 5.543149018219354e-02 + 5.529974004038473e-02 + 5.516830196534387e-02 + 5.503717522021812e-02 + 5.490635906464716e-02 + 5.477585276550550e-02 + 5.464565559606692e-02 + 5.451576682310098e-02 + 5.438618571514530e-02 + 5.425691154653305e-02 + 5.412794360021059e-02 + 5.399928115030668e-02 + 5.387092346220070e-02 + 5.374286982722595e-02 + 5.361511953114147e-02 + 5.348767184376742e-02 + 5.336052605560348e-02 + 5.323368145967647e-02 + 5.310713734132736e-02 + 5.298089299097181e-02 + 5.285494769998652e-02 + 5.272930075794034e-02 + 5.260395145882699e-02 + 5.247889910164562e-02 + 5.235414299012888e-02 + 5.222968242359068e-02 + 5.210551670083303e-02 + 5.198164512479836e-02 + 5.185806699751586e-02 + 5.173478162567831e-02 + 5.161178832737659e-02 + 5.148908640731603e-02 + 5.136667516904735e-02 + 5.124455393713079e-02 + 5.112272202541198e-02 + 5.100117874145336e-02 + 5.087992340415878e-02 + 5.075895533879782e-02 + 5.063827387090040e-02 + 5.051787831631814e-02 + 5.039776799903027e-02 + 5.027794224956293e-02 + 5.015840039018700e-02 + 5.003914174911826e-02 + 4.992016566217095e-02 + 4.980147146451835e-02 + 4.968305848565534e-02 + 4.956492605368701e-02 + 4.944707351707827e-02 + 4.932950021762891e-02 + 4.921220548403189e-02 + 4.909518865563611e-02 + 4.897844908008390e-02 + 4.886198610990230e-02 + 4.874579909103274e-02 + 4.862988736593407e-02 + 4.851425027765261e-02 + 4.839888718215429e-02 + 4.828379743688660e-02 + 4.816898039344981e-02 + 4.805443540666063e-02 + 4.794016183433197e-02 + 4.782615903628512e-02 + 4.771242637003347e-02 + 4.759896319572905e-02 + 4.748576888074151e-02 + 4.737284278529100e-02 + 4.726018427180961e-02 + 4.714779271742187e-02 + 4.703566749191604e-02 + 4.692380796083007e-02 + 4.681221349433169e-02 + 4.670088346648602e-02 + 4.658981725459431e-02 + 4.647901423861556e-02 + 4.636847379587147e-02 + 4.625819530165282e-02 + 4.614817813294777e-02 + 4.603842167462240e-02 + 4.592892531626435e-02 + 4.581968844113481e-02 + 4.571071043517037e-02 + 4.560199068716930e-02 + 4.549352858172214e-02 + 4.538532351139604e-02 + 4.527737487551017e-02 + 4.516968206047602e-02 + 4.506224446147816e-02 + 4.495506148526871e-02 + 4.484813252205796e-02 + 4.474145696749865e-02 + 4.463503423038843e-02 + 4.452886371233129e-02 + 4.442294481444441e-02 + 4.431727694184067e-02 + 4.421185950249874e-02 + 4.410669190344264e-02 + 4.400177354999718e-02 + 4.389710385863231e-02 + 4.379268224561385e-02 + 4.368850811842072e-02 + 4.358458089102907e-02 + 4.348089998166713e-02 + 4.337746480946211e-02 + 4.327427479290449e-02 + 4.317132935104961e-02 + 4.306862790538591e-02 + 4.296616988021409e-02 + 4.286395470044128e-02 + 4.276198178905291e-02 + 4.266025057462805e-02 + 4.255876048879523e-02 + 4.245751096050290e-02 + 4.235650142249979e-02 + 4.225573130868781e-02 + 4.215520004666404e-02 + 4.205490707118502e-02 + 4.195485182346907e-02 + 4.185503374212908e-02 + 4.175545226547943e-02 + 4.165610683241490e-02 + 4.155699688308426e-02 + 4.145812186261490e-02 + 4.135948121993713e-02 + 4.126107439911159e-02 + 4.116290084444992e-02 + 4.106496000347922e-02 + 4.096725133001662e-02 + 4.086977427671171e-02 + 4.077252829257245e-02 + 4.067551282880393e-02 + 4.057872734137224e-02 + 4.048217129089726e-02 + 4.038584413229004e-02 + 4.028974532214836e-02 + 4.019387432351806e-02 + 4.009823059884492e-02 + 4.000281360871143e-02 + 3.990762281263916e-02 + 3.981265768084040e-02 + 3.971791768404272e-02 + 3.962340228400397e-02 + 3.952911094818634e-02 + 3.943504314911767e-02 + 3.934119836154264e-02 + 3.924757605343093e-02 + 3.915417569553582e-02 + 3.906099677494528e-02 + 3.896803876462888e-02 + 3.887530113159737e-02 + 3.878278335807980e-02 + 3.869048493136602e-02 + 3.859840533540703e-02 + 3.850654403935494e-02 + 3.841490053099362e-02 + 3.832347430867683e-02 + 3.823226484521238e-02 + 3.814127162485314e-02 + 3.805049414568009e-02 + 3.795993189727254e-02 + 3.786958436838804e-02 + 3.777945104950908e-02 + 3.768953143238456e-02 + 3.759982501241896e-02 + 3.751033128919119e-02 + 3.742104976390229e-02 + 3.733197993101921e-02 + 3.724312127956968e-02 + 3.715447331892652e-02 + 3.706603555538170e-02 + 3.697780748276271e-02 + 3.688978860838169e-02 + 3.680197844047203e-02 + 3.671437648083043e-02 + 3.662698223859462e-02 + 3.653979522528233e-02 + 3.645281495050149e-02 + 3.636604092401768e-02 + 3.627947265609178e-02 + 3.619310965841749e-02 + 3.610695145022991e-02 + 3.602099755007137e-02 + 3.593524746722872e-02 + 3.584970072102484e-02 + 3.576435683502647e-02 + 3.567921532660211e-02 + 3.559427571435374e-02 + 3.550953752116312e-02 + 3.542500027693078e-02 + 3.534066350384148e-02 + 3.525652672170999e-02 + 3.517258946309138e-02 + 3.508885125628003e-02 + 3.500531162678291e-02 + 3.492197010940873e-02 + 3.483882623525817e-02 + 3.475587953263527e-02 + 3.467312953919303e-02 + 3.459057578876406e-02 + 3.450821781198862e-02 + 3.442605515251815e-02 + 3.434408734999198e-02 + 3.426231393723483e-02 + 3.418073445581654e-02 + 3.409934844816886e-02 + 3.401815545480084e-02 + 3.393715501912345e-02 + 3.385634668688416e-02 + 3.377573000557660e-02 + 3.369530452244349e-02 + 3.361506978424043e-02 + 3.353502533757853e-02 + 3.345517073173793e-02 + 3.337550551749302e-02 + 3.329602924688495e-02 + 3.321674147756795e-02 + 3.313764176353938e-02 + 3.305872964905672e-02 + 3.298000469915312e-02 + 3.290146647870388e-02 + 3.282311452928582e-02 + 3.274494841443989e-02 + 3.266696770524984e-02 + 3.258917195579586e-02 + 3.251156072835543e-02 + 3.243413358906379e-02 + 3.235689009597382e-02 + 3.227982981604406e-02 + 3.220295232152501e-02 + 3.212625717796667e-02 + 3.204974395335523e-02 + 3.197341221860803e-02 + 3.189726154412311e-02 + 3.182129149811844e-02 + 3.174550164996338e-02 + 3.166989158019418e-02 + 3.159446086552403e-02 + 3.151920907660396e-02 + 3.144413578635114e-02 + 3.136924057603768e-02 + 3.129452303273958e-02 + 3.121998273049806e-02 + 3.114561924523454e-02 + 3.107143216011856e-02 + 3.099742105799270e-02 + 3.092358552474080e-02 + 3.084992514925186e-02 + 3.077643951122557e-02 + 3.070312819305190e-02 + 3.062999078663620e-02 + 3.055702688363699e-02 + 3.048423607160382e-02 + 3.041161793396379e-02 + 3.033917207015753e-02 + 3.026689807846873e-02 + 3.019479554128978e-02 + 3.012286404982057e-02 + 3.005110320361238e-02 + 2.997951260681279e-02 + 2.990809185255966e-02 + 2.983684053226568e-02 + 2.976575824919644e-02 + 2.969484460522792e-02 + 2.962409920087884e-02 + 2.955352163824170e-02 + 2.948311151647172e-02 + 2.941286843696999e-02 + 2.934279201383451e-02 + 2.927288185012002e-02 + 2.920313754405053e-02 + 2.913355871301240e-02 + 2.906414496442064e-02 + 2.899489589842786e-02 + 2.892581113440367e-02 + 2.885689028447655e-02 + 2.878813295173805e-02 + 2.871953875071393e-02 + 2.865110730129668e-02 + 2.858283822298987e-02 + 2.851473112218837e-02 + 2.844678561226344e-02 + 2.837900131834860e-02 + 2.831137785774055e-02 + 2.824391484910513e-02 + 2.817661191561155e-02 + 2.810946867322990e-02 + 2.804248474261467e-02 + 2.797565975421473e-02 + 2.790899332866750e-02 + 2.784248508684310e-02 + 2.777613465729838e-02 + 2.770994166752542e-02 + 2.764390574354870e-02 + 2.757802651096095e-02 + 2.751230360164656e-02 + 2.744673664902718e-02 + 2.738132528259552e-02 + 2.731606912935157e-02 + 2.725096782054994e-02 + 2.718602099881922e-02 + 2.712122829441404e-02 + 2.705658933533107e-02 + 2.699210376654040e-02 + 2.692777122629619e-02 + 2.686359134766074e-02 + 2.679956376855050e-02 + 2.673568813034148e-02 + 2.667196407449100e-02 + 2.660839123653040e-02 + 2.654496925932325e-02 + 2.648169779209303e-02 + 2.641857647953893e-02 + 2.635560496230991e-02 + 2.629278288047702e-02 + 2.623010988365326e-02 + 2.616758562366618e-02 + 2.610520975031933e-02 + 2.604298190560967e-02 + 2.598090173551063e-02 + 2.591896889422694e-02 + 2.585718303968204e-02 + 2.579554382343284e-02 + 2.573405088890056e-02 + 2.567270388987125e-02 + 2.561150248485746e-02 + 2.555044633271165e-02 + 2.548953508798725e-02 + 2.542876840653832e-02 + 2.536814594843316e-02 + 2.530766736730480e-02 + 2.524733231969847e-02 + 2.518714047250964e-02 + 2.512709148651639e-02 + 2.506718502244662e-02 + 2.500742074738894e-02 + 2.494779831751132e-02 + 2.488831739145854e-02 + 2.482897764751662e-02 + 2.476977875068464e-02 + 2.471072035836960e-02 + 2.465180213557270e-02 + 2.459302375909131e-02 + 2.453438490494015e-02 + 2.447588522684439e-02 + 2.441752439632618e-02 + 2.435930209686822e-02 + 2.430121799563831e-02 + 2.424327176191257e-02 + 2.418546306971884e-02 + 2.412779159320392e-02 + 2.407025701015483e-02 + 2.401285899981317e-02 + 2.395559723318545e-02 + 2.389847138352894e-02 + 2.384148113010493e-02 + 2.378462615809818e-02 + 2.372790614977233e-02 + 2.367132078182184e-02 + 2.361486973012364e-02 + 2.355855267628842e-02 + 2.350236930912776e-02 + 2.344631931433045e-02 + 2.339040237260871e-02 + 2.333461816188979e-02 + 2.327896637661412e-02 + 2.322344670789084e-02 + 2.316805883183489e-02 + 2.311280243515378e-02 + 2.305767721100430e-02 + 2.300268285332459e-02 + 2.294781904779433e-02 + 2.289308548135576e-02 + 2.283848185163481e-02 + 2.278400785322520e-02 + 2.272966317657758e-02 + 2.267544750906289e-02 + 2.262136054576819e-02 + 2.256740198705395e-02 + 2.251357153295969e-02 + 2.245986887460843e-02 + 2.240629370372433e-02 + 2.235284572997816e-02 + 2.229952464835474e-02 + 2.224633014749699e-02 + 2.219326193897085e-02 + 2.214031972536749e-02 + 2.208750320104361e-02 + 2.203481207216736e-02 + 2.198224604054712e-02 + 2.192980480490446e-02 + 2.187748807809197e-02 + 2.182529556587840e-02 + 2.177322696546572e-02 + 2.172128198614426e-02 + 2.166946034002218e-02 + 2.161776173674180e-02 + 2.156618587797776e-02 + 2.151473246970182e-02 + 2.146340122648612e-02 + 2.141219186176581e-02 + 2.136110408595206e-02 + 2.131013760699968e-02 + 2.125929213929720e-02 + 2.120856739943827e-02 + 2.115796310282077e-02 + 2.110747896148574e-02 + 2.105711468773744e-02 + 2.100686999708853e-02 + 2.095674460640470e-02 + 2.090673823470377e-02 + 2.085685060390323e-02 + 2.080708143284909e-02 + 2.075743043865024e-02 + 2.070789733896461e-02 + 2.065848185338519e-02 + 2.060918370358626e-02 + 2.056000261352416e-02 + 2.051093830731156e-02 + 2.046199050841276e-02 + 2.041315893918832e-02 + 2.036444332670061e-02 + 2.031584339811113e-02 + 2.026735887003067e-02 + 2.021898947028043e-02 + 2.017073493461869e-02 + 2.012259498752183e-02 + 2.007456935661649e-02 + 2.002665777297167e-02 + 1.997885996051357e-02 + 1.993117564943755e-02 + 1.988360457741823e-02 + 1.983614647798445e-02 + 1.978880107994216e-02 + 1.974156811085027e-02 + 1.969444731166336e-02 + 1.964743841723802e-02 + 1.960054115227784e-02 + 1.955375525837354e-02 + 1.950708047707909e-02 + 1.946051654129042e-02 + 1.941406318497287e-02 + 1.936772014474174e-02 + 1.932148716119990e-02 + 1.927536398140690e-02 + 1.922935034564512e-02 + 1.918344598004621e-02 + 1.913765063001423e-02 + 1.909196404425976e-02 + 1.904638595925336e-02 + 1.900091612254435e-02 + 1.895555428061772e-02 + 1.891030016469744e-02 + 1.886515352637163e-02 + 1.882011411999479e-02 + 1.877518167521970e-02 + 1.873035594232305e-02 + 1.868563668110157e-02 + 1.864102363246424e-02 + 1.859651653826993e-02 + 1.855211514697215e-02 + 1.850781921692858e-02 + 1.846362849811174e-02 + 1.841954273425713e-02 + 1.837556167722399e-02 + 1.833168508274460e-02 + 1.828791270638760e-02 + 1.824424429587613e-02 + 1.820067960186819e-02 + 1.815721838079814e-02 + 1.811386039242822e-02 + 1.807060539155448e-02 + 1.802745312809132e-02 + 1.798440336027523e-02 + 1.794145584667328e-02 + 1.789861034396235e-02 + 1.785586661445831e-02 + 1.781322441713358e-02 + 1.777068350457842e-02 + 1.772824363606736e-02 + 1.768590457480606e-02 + 1.764366608520215e-02 + 1.760152792777148e-02 + 1.755948986314423e-02 + 1.751755165530868e-02 + 1.747571306959304e-02 + 1.743397386795286e-02 + 1.739233380686453e-02 + 1.735079266012027e-02 + 1.730935019969591e-02 + 1.726800617515195e-02 + 1.722676035861175e-02 + 1.718561252878033e-02 + 1.714456244423200e-02 + 1.710360987245781e-02 + 1.706275458478830e-02 + 1.702199634263978e-02 + 1.698133492251816e-02 + 1.694077010510486e-02 + 1.690030164730331e-02 + 1.685992932068962e-02 + 1.681965290804600e-02 + 1.677947217681714e-02 + 1.673938689521877e-02 + 1.669939683666028e-02 + 1.665950177991986e-02 + 1.661970150205939e-02 + 1.657999577711447e-02 + 1.654038437906895e-02 + 1.650086708478969e-02 + 1.646144367321789e-02 + 1.642211391798679e-02 + 1.638287759543946e-02 + 1.634373448754158e-02 + 1.630468437732129e-02 + 1.626572704186934e-02 + 1.622686225251448e-02 + 1.618808979718675e-02 + 1.614940946170872e-02 + 1.611082101996680e-02 + 1.607232425440962e-02 + 1.603391895041710e-02 + 1.599560489122978e-02 + 1.595738185903658e-02 + 1.591924963852954e-02 + 1.588120801872957e-02 + 1.584325677844977e-02 + 1.580539569909259e-02 + 1.576762457813194e-02 + 1.572994319938502e-02 + 1.569235134492561e-02 + 1.565484881311209e-02 + 1.561743538476679e-02 + 1.558011083839993e-02 + 1.554287497958433e-02 + 1.550572759639263e-02 + 1.546866846769255e-02 + 1.543169739218311e-02 + 1.539481416304957e-02 + 1.535801856691179e-02 + 1.532131039389481e-02 + 1.528468944222785e-02 + 1.524815551153465e-02 + 1.521170838270258e-02 + 1.517534784896265e-02 + 1.513907371629201e-02 + 1.510288577422132e-02 + 1.506678381600347e-02 + 1.503076764230081e-02 + 1.499483704594779e-02 + 1.495899182406707e-02 + 1.492323178010325e-02 + 1.488755670734373e-02 + 1.485196640180961e-02 + 1.481646066682016e-02 + 1.478103929846549e-02 + 1.474570209596410e-02 + 1.471044886603309e-02 + 1.467527940456368e-02 + 1.464019351058384e-02 + 1.460519099481427e-02 + 1.457027165550810e-02 + 1.453543528903122e-02 + 1.450068170024789e-02 + 1.446601069487559e-02 + 1.443142207965322e-02 + 1.439691566271563e-02 + 1.436249124410753e-02 + 1.432814862414793e-02 + 1.429388761459182e-02 + 1.425970802314729e-02 + 1.422560965483165e-02 + 1.419159231701311e-02 + 1.415765581387266e-02 + 1.412379995194592e-02 + 1.409002455116132e-02 + 1.405632941792580e-02 + 1.402271435207008e-02 + 1.398917917303820e-02 + 1.395572369124169e-02 + 1.392234770932106e-02 + 1.388905104392205e-02 + 1.385583350997071e-02 + 1.382269491788422e-02 + 1.378963507987753e-02 + 1.375665380791922e-02 + 1.372375091366015e-02 + 1.369092621121959e-02 + 1.365817951715469e-02 + 1.362551064978645e-02 + 1.359291942581090e-02 + 1.356040565686591e-02 + 1.352796915179558e-02 + 1.349560973812908e-02 + 1.346332723540702e-02 + 1.343112144483463e-02 + 1.339899219360082e-02 + 1.336693930891053e-02 + 1.333496260043193e-02 + 1.330306188734133e-02 + 1.327123699224855e-02 + 1.323948773476910e-02 + 1.320781393642416e-02 + 1.317621541705235e-02 + 1.314469199166208e-02 + 1.311324348463446e-02 + 1.308186972415766e-02 + 1.305057053367403e-02 + 1.301934573289238e-02 + 1.298819514247371e-02 + 1.295711859027024e-02 + 1.292611590142988e-02 + 1.289518689817567e-02 + 1.286433140253433e-02 + 1.283354924175516e-02 + 1.280284024626999e-02 + 1.277220424320462e-02 + 1.274164105512193e-02 + 1.271115050454398e-02 + 1.268073242580564e-02 + 1.265038664885281e-02 + 1.262011299771964e-02 + 1.258991130045622e-02 + 1.255978138928737e-02 + 1.252972309744999e-02 + 1.249973624798444e-02 + 1.246982067106488e-02 + 1.243997620568067e-02 + 1.241020267461013e-02 + 1.238049990730756e-02 + 1.235086774662455e-02 + 1.232130602051964e-02 + 1.229181455798258e-02 + 1.226239319685087e-02 + 1.223304176770951e-02 + 1.220376010347082e-02 + 1.217454804486660e-02 + 1.214540542341299e-02 + 1.211633207079968e-02 + 1.208732782681391e-02 + 1.205839252771904e-02 + 1.202952600673308e-02 + 1.200072809652295e-02 + 1.197199864009422e-02 + 1.194333748171596e-02 + 1.191474445503102e-02 + 1.188621939116683e-02 + 1.185776212675846e-02 + 1.182937251288597e-02 + 1.180105038815069e-02 + 1.177279558400601e-02 + 1.174460794107161e-02 + 1.171648730396891e-02 + 1.168843351609301e-02 + 1.166044641171630e-02 + 1.163252583370262e-02 + 1.160467163102319e-02 + 1.157688364263099e-02 + 1.154916170933044e-02 + 1.152150567570712e-02 + 1.149391538555893e-02 + 1.146639068095789e-02 + 1.143893140447911e-02 + 1.141153740781534e-02 + 1.138420853673168e-02 + 1.135694462854312e-02 + 1.132974552839056e-02 + 1.130261108533809e-02 + 1.127554114921167e-02 + 1.124853556496432e-02 + 1.122159417997002e-02 + 1.119471684585664e-02 + 1.116790340283271e-02 + 1.114115369710312e-02 + 1.111446758944324e-02 + 1.108784492177717e-02 + 1.106128553754357e-02 + 1.103478929728668e-02 + 1.100835604711145e-02 + 1.098198563223047e-02 + 1.095567791133747e-02 + 1.092943273475230e-02 + 1.090324994987072e-02 + 1.087712940981543e-02 + 1.085107096608238e-02 + 1.082507447053145e-02 + 1.079913977931768e-02 + 1.077326674497864e-02 + 1.074745521859533e-02 + 1.072170505538783e-02 + 1.069601611066200e-02 + 1.067038823886727e-02 + 1.064482129354728e-02 + 1.061931513219808e-02 + 1.059386961330933e-02 + 1.056848458681972e-02 + 1.054315990640127e-02 + 1.051789543133304e-02 + 1.049269102209236e-02 + 1.046754653920045e-02 + 1.044246184044743e-02 + 1.041743677288729e-02 + 1.039247119540387e-02 + 1.036756497988909e-02 + 1.034271797805630e-02 + 1.031793004647734e-02 + 1.029320105343422e-02 + 1.026853085073464e-02 + 1.024391929539164e-02 + 1.021936625852857e-02 + 1.019487159885800e-02 + 1.017043517132599e-02 + 1.014605683522427e-02 + 1.012173646293816e-02 + 1.009747392058842e-02 + 1.007326905588179e-02 + 1.004912173629082e-02 + 1.002503183346208e-02 + 1.000099920653610e-02 + 9.977023717087764e-03 + 9.953105229386335e-03 + 9.929243608872406e-03 + 9.905438720973011e-03 + 9.881690430827046e-03 + 9.857998603258316e-03 + 9.834363104786413e-03 + 9.810783802355094e-03 + 9.787260560990621e-03 + 9.763793247942843e-03 + 9.740381731591760e-03 + 9.717025877967826e-03 + 9.693725554510663e-03 + 9.670480630152000e-03 + 9.647290973567844e-03 + 9.624156453317901e-03 + 9.601076938062841e-03 + 9.578052297039983e-03 + 9.555082399653962e-03 + 9.532167115690399e-03 + 9.509306316445141e-03 + 9.486499872512266e-03 + 9.463747653553711e-03 + 9.441049530896879e-03 + 9.418405376662433e-03 + 9.395815063104617e-03 + 9.373278461427175e-03 + 9.350795443499088e-03 + 9.328365882617906e-03 + 9.305989651970981e-03 + 9.283666624824176e-03 + 9.261396674723778e-03 + 9.239179675408710e-03 + 9.217015500757821e-03 + 9.194904024947497e-03 + 9.172845123632957e-03 + 9.150838672277813e-03 + 9.128884544858834e-03 + 9.106982617538152e-03 + 9.085132766987650e-03 + 9.063334868396023e-03 + 9.041588798714301e-03 + 9.019894435479832e-03 + 8.998251654894885e-03 + 8.976660334271958e-03 + 8.955120351755344e-03 + 8.933631585369030e-03 + 8.912193913264732e-03 + 8.890807213885918e-03 + 8.869471366214972e-03 + 8.848186249259440e-03 + 8.826951742251321e-03 + 8.805767725383001e-03 + 8.784634078744540e-03 + 8.763550682317645e-03 + 8.742517416743529e-03 + 8.721534162832835e-03 + 8.700600801502468e-03 + 8.679717214101214e-03 + 8.658883282492529e-03 + 8.638098888885700e-03 + 8.617363915025602e-03 + 8.596678243443276e-03 + 8.576041757693640e-03 + 8.555454340593486e-03 + 8.534915875110577e-03 + 8.514426244844865e-03 + 8.493985333674233e-03 + 8.473593025909724e-03 + 8.453249206335058e-03 + 8.432953759374154e-03 + 8.412706569850796e-03 + 8.392507523503252e-03 + 8.372356505624580e-03 + 8.352253401838657e-03 + 8.332198098800467e-03 + 8.312190482450988e-03 + 8.292230438871008e-03 + 8.272317855399050e-03 + 8.252452619663047e-03 + 8.232634619050869e-03 + 8.212863740331295e-03 + 8.193139871755427e-03 + 8.173462902270600e-03 + 8.153832719956143e-03 + 8.134249213438031e-03 + 8.114712271802299e-03 + 8.095221784035302e-03 + 8.075777639824947e-03 + 8.056379729417138e-03 + 8.037027942938956e-03 + 8.017722170154111e-03 + 7.998462301028743e-03 + 7.979248227381455e-03 + 7.960079840401237e-03 + 7.940957030626293e-03 + 7.921879690329333e-03 + 7.902847711453821e-03 + 7.883860985421759e-03 + 7.864919405368889e-03 + 7.846022864037674e-03 + 7.827171253341911e-03 + 7.808364466777525e-03 + 7.789602397948123e-03 + 7.770884940051978e-03 + 7.752211987488857e-03 + 7.733583434567862e-03 + 7.714999174963997e-03 + 7.696459103766686e-03 + 7.677963116338556e-03 + 7.659511107448910e-03 + 7.641102971817726e-03 + 7.622738605046243e-03 + 7.604417904226960e-03 + 7.586140765207791e-03 + 7.567907083543369e-03 + 7.549716755813157e-03 + 7.531569679511053e-03 + 7.513465752109027e-03 + 7.495404870064185e-03 + 7.477386931039745e-03 + 7.459411833357052e-03 + 7.441479474804043e-03 + 7.423589753808636e-03 + 7.405742569108545e-03 + 7.387937818890154e-03 + 7.370175402616828e-03 + 7.352455220325825e-03 + 7.334777170378787e-03 + 7.317141152312192e-03 + 7.299547066866589e-03 + 7.281994814230038e-03 + 7.264484294760120e-03 + 7.247015409129196e-03 + 7.229588058070396e-03 + 7.212202142721502e-03 + 7.194857564639825e-03 + 7.177554225359851e-03 + 7.160292026920549e-03 + 7.143070871828701e-03 + 7.125890661781023e-03 + 7.108751299151369e-03 + 7.091652687463649e-03 + 7.074594729473165e-03 + 7.057577328092346e-03 + 7.040600386920140e-03 + 7.023663809440293e-03 + 7.006767499621119e-03 + 6.989911362283671e-03 + 6.973095301761098e-03 + 6.956319222246642e-03 + 6.939583028242014e-03 + 6.922886624933184e-03 + 6.906229917977133e-03 + 6.889612813237578e-03 + 6.873035215956658e-03 + 6.856497031627250e-03 + 6.839998167124653e-03 + 6.823538528849983e-03 + 6.807118022950776e-03 + 6.790736556102037e-03 + 6.774394036012678e-03 + 6.758090370503938e-03 + 6.741825465874382e-03 + 6.725599229831710e-03 + 6.709411571076730e-03 + 6.693262397262002e-03 + 6.677151616823099e-03 + 6.661079138883049e-03 + 6.645044871881905e-03 + 6.629048724424302e-03 + 6.613090605727208e-03 + 6.597170426169362e-03 + 6.581288095176429e-03 + 6.565443521393368e-03 + 6.549636616015259e-03 + 6.533867289690503e-03 + 6.518135451870410e-03 + 6.502441013826720e-03 + 6.486783886693610e-03 + 6.471163980906190e-03 + 6.455581208648475e-03 + 6.440035481784445e-03 + 6.424526710952946e-03 + 6.409054808194274e-03 + 6.393619686148648e-03 + 6.378221257389647e-03 + 6.362859434216829e-03 + 6.347534129405275e-03 + 6.332245256702231e-03 + 6.316992728926398e-03 + 6.301776458848883e-03 + 6.286596360249587e-03 + 6.271452347303485e-03 + 6.256344334335297e-03 + 6.241272235637497e-03 + 6.226235965289892e-03 + 6.211235437617355e-03 + 6.196270567881593e-03 + 6.181341271239764e-03 + 6.166447462747857e-03 + 6.151589057705613e-03 + 6.136765971896623e-03 + 6.121978121401951e-03 + 6.107225422158738e-03 + 6.092507790132517e-03 + 6.077825141615326e-03 + 6.063177393866219e-03 + 6.048564463915550e-03 + 6.033986268442907e-03 + 6.019442724444331e-03 + 6.004933749322879e-03 + 5.990459260846786e-03 + 5.976019176895193e-03 + 5.961613415583682e-03 + 5.947241895231883e-03 + 5.932904533953020e-03 + 5.918601250164555e-03 + 5.904331962789744e-03 + 5.890096590861083e-03 + 5.875895053571317e-03 + 5.861727270328322e-03 + 5.847593160694864e-03 + 5.833492644473149e-03 + 5.819425641715960e-03 + 5.805392072163253e-03 + 5.791391855962741e-03 + 5.777424914193254e-03 + 5.763491167389796e-03 + 5.749590536018355e-03 + 5.735722941127108e-03 + 5.721888304505554e-03 + 5.708086547766434e-03 + 5.694317591457392e-03 + 5.680581357894303e-03 + 5.666877769868901e-03 + 5.653206748498332e-03 + 5.639568216215936e-03 + 5.625962096156960e-03 + 5.612388310444156e-03 + 5.598846782244085e-03 + 5.585337435180374e-03 + 5.571860191464977e-03 + 5.558414974887664e-03 + 5.545001710146245e-03 + 5.531620319651646e-03 + 5.518270727342278e-03 + 5.504952858629092e-03 + 5.491666637149790e-03 + 5.478411987013346e-03 + 5.465188833301630e-03 + 5.451997101098349e-03 + 5.438836715460566e-03 + 5.425707601454353e-03 + 5.412609684284744e-03 + 5.399542889597323e-03 + 5.386507143481766e-03 + 5.373502371672819e-03 + 5.360528500347250e-03 + 5.347585456320476e-03 + 5.334673165238440e-03 + 5.321791553290573e-03 + 5.308940548233661e-03 + 5.296120077396591e-03 + 5.283330067535706e-03 + 5.270570445063373e-03 + 5.257841138170363e-03 + 5.245142075198895e-03 + 5.232473183108559e-03 + 5.219834389656078e-03 + 5.207225623450342e-03 + 5.194646813662877e-03 + 5.182097888019903e-03 + 5.169578774433769e-03 + 5.157089403379224e-03 + 5.144629703265777e-03 + 5.132199601938705e-03 + 5.119799030212023e-03 + 5.107427917986021e-03 + 5.095086194230444e-03 + 5.082773788422456e-03 + 5.070490630851877e-03 + 5.058236652191947e-03 + 5.046011782411770e-03 + 5.033815952050060e-03 + 5.021649092096963e-03 + 5.009511132708167e-03 + 4.997402004872952e-03 + 4.985321640554899e-03 + 4.973269971256597e-03 + 4.961246927915243e-03 + 4.949252441362114e-03 + 4.937286444284467e-03 + 4.925348869112448e-03 + 4.913439647407981e-03 + 4.901558711796497e-03 + 4.889705994683389e-03 + 4.877881427891544e-03 + 4.866084944974813e-03 + 4.854316479151838e-03 + 4.842575962313763e-03 + 4.830863328342665e-03 + 4.819178511323663e-03 + 4.807521444209243e-03 + 4.795892060902922e-03 + 4.784290295384500e-03 + 4.772716080911616e-03 + 4.761169351999607e-03 + 4.749650043687660e-03 + 4.738158090505544e-03 + 4.726693426328077e-03 + 4.715255985490762e-03 + 4.703845704177584e-03 + 4.692462517255530e-03 + 4.681106359266913e-03 + 4.669777166671382e-03 + 4.658474874679097e-03 + 4.647199418051047e-03 + 4.635950733693824e-03 + 4.624728757814554e-03 + 4.613533426035275e-03 + 4.602364675085555e-03 + 4.591222441193854e-03 + 4.580106660340010e-03 + 4.569017270133631e-03 + 4.557954207729684e-03 + 4.546917409606468e-03 + 4.535906813063030e-03 + 4.524922355662980e-03 + 4.513963975024341e-03 + 4.503031608847450e-03 + 4.492125194604706e-03 + 4.481244669721014e-03 + 4.470389973075004e-03 + 4.459561043403103e-03 + 4.448757818627942e-03 + 4.437980237157132e-03 + 4.427228237584914e-03 + 4.416501758569245e-03 + 4.405800739475310e-03 + 4.395125119625431e-03 + 4.384474837838549e-03 + 4.373849833628650e-03 + 4.363250046735974e-03 + 4.352675416676511e-03 + 4.342125883231542e-03 + 4.331601386396421e-03 + 4.321101866314548e-03 + 4.310627263408189e-03 + 4.300177518182486e-03 + 4.289752570999768e-03 + 4.279352362569397e-03 + 4.268976833692708e-03 + 4.258625924837488e-03 + 4.248299577436886e-03 + 4.237997733292803e-03 + 4.227720333115902e-03 + 4.217467318344088e-03 + 4.207238631130676e-03 + 4.197034213451204e-03 + 4.186854006892898e-03 + 4.176697952964437e-03 + 4.166565994071401e-03 + 4.156458073034852e-03 + 4.146374132669977e-03 + 4.136314114934178e-03 + 4.126277962231265e-03 + 4.116265617785051e-03 + 4.106277025130100e-03 + 4.096312127225507e-03 + 4.086370866498099e-03 + 4.076453186851077e-03 + 4.066559032318193e-03 + 4.056688346384167e-03 + 4.046841072375552e-03 + 4.037017154234894e-03 + 4.027216536753351e-03 + 4.017439163691562e-03 + 4.007684978984143e-03 + 3.997953927616382e-03 + 3.988245954341580e-03 + 3.978561003853811e-03 + 3.968899020987378e-03 + 3.959259950174110e-03 + 3.949643736363211e-03 + 3.940050325917084e-03 + 3.930479663940112e-03 + 3.920931695287086e-03 + 3.911406366153988e-03 + 3.901903622192779e-03 + 3.892423408886956e-03 + 3.882965672529350e-03 + 3.873530359308857e-03 + 3.864117415340676e-03 + 3.854726787040829e-03 + 3.845358421069152e-03 + 3.836012264203419e-03 + 3.826688263119290e-03 + 3.817386364639579e-03 + 3.808106515834866e-03 + 3.798848664119608e-03 + 3.789612756624806e-03 + 3.780398740246358e-03 + 3.771206562411011e-03 + 3.762036171140922e-03 + 3.752887514765301e-03 + 3.743760540740341e-03 + 3.734655196719529e-03 + 3.725571430980986e-03 + 3.716509192135922e-03 + 3.707468428387338e-03 + 3.698449087559120e-03 + 3.689451119263604e-03 + 3.680474472533827e-03 + 3.671519094850921e-03 + 3.662584935894309e-03 + 3.653671945297336e-03 + 3.644780071212910e-03 + 3.635909263417586e-03 + 3.627059471971036e-03 + 3.618230645951014e-03 + 3.609422734605362e-03 + 3.600635687799489e-03 + 3.591869456282116e-03 + 3.583123989955615e-03 + 3.574399238584414e-03 + 3.565695152845392e-03 + 3.557011682930304e-03 + 3.548348778903569e-03 + 3.539706391532652e-03 + 3.531084471778191e-03 + 3.522482970666699e-03 + 3.513901839239252e-03 + 3.505341028388093e-03 + 3.496800489111114e-03 + 3.488280173119797e-03 + 3.479780031892506e-03 + 3.471300016604386e-03 + 3.462840078578430e-03 + 3.454400170006921e-03 + 3.445980243580072e-03 + 3.437580250715228e-03 + 3.429200142992534e-03 + 3.420839872683964e-03 + 3.412499392748279e-03 + 3.404178655562702e-03 + 3.395877612913789e-03 + 3.387596218304602e-03 + 3.379334424898988e-03 + 3.371092184764359e-03 + 3.362869450661228e-03 + 3.354666175991870e-03 + 3.346482314543412e-03 + 3.338317819175880e-03 + 3.330172642972068e-03 + 3.322046740007612e-03 + 3.313940064235304e-03 + 3.305852569386344e-03 + 3.297784208976364e-03 + 3.289734936574093e-03 + 3.281704706272533e-03 + 3.273693473070924e-03 + 3.265701191257636e-03 + 3.257727814803984e-03 + 3.249773298074863e-03 + 3.241837595979994e-03 + 3.233920663596386e-03 + 3.226022455622204e-03 + 3.218142926555998e-03 + 3.210282031163023e-03 + 3.202439725215123e-03 + 3.194615964134223e-03 + 3.186810703067027e-03 + 3.179023897602838e-03 + 3.171255503398923e-03 + 3.163505475998486e-03 + 3.155773770652277e-03 + 3.148060343553685e-03 + 3.140365151430291e-03 + 3.132688149313277e-03 + 3.125029293443853e-03 + 3.117388541383308e-03 + 3.109765848736372e-03 + 3.102161171408776e-03 + 3.094574466373093e-03 + 3.087005690728782e-03 + 3.079454801280003e-03 + 3.071921754555924e-03 + 3.064406507880629e-03 + 3.056909018530570e-03 + 3.049429243338136e-03 + 3.041967139485151e-03 + 3.034522664377966e-03 + 3.027095775562892e-03 + 3.019686430816400e-03 + 3.012294588055786e-03 + 3.004920205212209e-03 + 2.997563239705405e-03 + 2.990223649173174e-03 + 2.982901392198357e-03 + 2.975596427311395e-03 + 2.968308712822513e-03 + 2.961038206776656e-03 + 2.953784867392937e-03 + 2.946548653201694e-03 + 2.939329523194637e-03 + 2.932127436582907e-03 + 2.924942352269057e-03 + 2.917774228121468e-03 + 2.910623023643702e-03 + 2.903488699056754e-03 + 2.896371212514376e-03 + 2.889270523304112e-03 + 2.882186591679052e-03 + 2.875119376658924e-03 + 2.868068837676741e-03 + 2.861034934776638e-03 + 2.854017627809473e-03 + 2.847016876513213e-03 + 2.840032640686938e-03 + 2.833064880681456e-03 + 2.826113557103426e-03 + 2.819178630449384e-03 + 2.812260060105674e-03 + 2.805357806481411e-03 + 2.798471831428214e-03 + 2.791602094948384e-03 + 2.784748557109701e-03 + 2.777911179108391e-03 + 2.771089922400815e-03 + 2.764284748007964e-03 + 2.757495616304825e-03 + 2.750722488782177e-03 + 2.743965327115693e-03 + 2.737224092409578e-03 + 2.730498746008289e-03 + 2.723789249648372e-03 + 2.717095565426717e-03 + 2.710417654358784e-03 + 2.703755477800617e-03 + 2.697108999073383e-03 + 2.690478179939920e-03 + 2.683862981660020e-03 + 2.677263366970269e-03 + 2.670679298051182e-03 + 2.664110736894467e-03 + 2.657557646411518e-03 + 2.651019989061974e-03 + 2.644497727126834e-03 + 2.637990823748049e-03 + 2.631499241776077e-03 + 2.625022943767310e-03 + 2.618561892619121e-03 + 2.612116051581085e-03 + 2.605685383984310e-03 + 2.599269852507916e-03 + 2.592869420565223e-03 + 2.586484052278204e-03 + 2.580113710814501e-03 + 2.573758359383719e-03 + 2.567417961609419e-03 + 2.561092481362380e-03 + 2.554781882413309e-03 + 2.548486128464411e-03 + 2.542205184036424e-03 + 2.535939013422343e-03 + 2.529687580238901e-03 + 2.523450848436006e-03 + 2.517228782352248e-03 + 2.511021346720505e-03 + 2.504828506444104e-03 + 2.498650225958320e-03 + 2.492486468967693e-03 + 2.486337200680032e-03 + 2.480202386472821e-03 + 2.474081990653096e-03 + 2.467975978460781e-03 + 2.461884315215007e-03 + 2.455806965243642e-03 + 2.449743893777428e-03 + 2.443695066608286e-03 + 2.437660449328877e-03 + 2.431640007119714e-03 + 2.425633705211946e-03 + 2.419641509634817e-03 + 2.413663385966202e-03 + 2.407699299632079e-03 + 2.401749216909934e-03 + 2.395813103777745e-03 + 2.389890925926915e-03 + 2.383982649399740e-03 + 2.378088240561300e-03 + 2.372207665865560e-03 + 2.366340891258303e-03 + 2.360487883037754e-03 + 2.354648608018378e-03 + 2.348823033118129e-03 + 2.343011124539103e-03 + 2.337212848054228e-03 + 2.331428171390765e-03 + 2.325657062040943e-03 + 2.319899486412222e-03 + 2.314155410784699e-03 + 2.308424802407836e-03 + 2.302707629600105e-03 + 2.297003858807791e-03 + 2.291313456815245e-03 + 2.285636391934661e-03 + 2.279972631361444e-03 + 2.274322142294874e-03 + 2.268684892803898e-03 + 2.263060850445441e-03 + 2.257449982675230e-03 + 2.251852257331842e-03 + 2.246267642469826e-03 + 2.240696106224612e-03 + 2.235137616698782e-03 + 2.229592141925271e-03 + 2.224059650030012e-03 + 2.218540109447705e-03 + 2.213033488566449e-03 + 2.207539755750870e-03 + 2.202058879448589e-03 + 2.196590827868759e-03 + 2.191135569406817e-03 + 2.185693073538250e-03 + 2.180263309295804e-03 + 2.174846245146934e-03 + 2.169441849486111e-03 + 2.164050091629877e-03 + 2.158670941358884e-03 + 2.153304367034930e-03 + 2.147950337590323e-03 + 2.142608822828710e-03 + 2.137279792340324e-03 + 2.131963215445541e-03 + 2.126659061301170e-03 + 2.121367299363035e-03 + 2.116087899310018e-03 + 2.110820830985273e-03 + 2.105566064252215e-03 + 2.100323568822542e-03 + 2.095093314356113e-03 + 2.089875271479949e-03 + 2.084669410319118e-03 + 2.079475699908646e-03 + 2.074294110902819e-03 + 2.069124614088778e-03 + 2.063967179294363e-03 + 2.058821776747180e-03 + 2.053688376991423e-03 + 2.048566950718572e-03 + 2.043457468582260e-03 + 2.038359901240009e-03 + 2.033274219398007e-03 + 2.028200393563254e-03 + 2.023138394473247e-03 + 2.018088193625467e-03 + 2.013049761808302e-03 + 2.008023069533293e-03 + 2.003008088023720e-03 + 1.998004788922133e-03 + 1.993013143739461e-03 + 1.988033123025423e-03 + 1.983064698401174e-03 + 1.978107841939004e-03 + 1.973162523959716e-03 + 1.968228716337500e-03 + 1.963306391971906e-03 + 1.958395521239848e-03 + 1.953496075620802e-03 + 1.948608028019931e-03 + 1.943731350228688e-03 + 1.938866013789267e-03 + 1.934011990485791e-03 + 1.929169252901841e-03 + 1.924337773155020e-03 + 1.919517522737516e-03 + 1.914708474346116e-03 + 1.909910600724645e-03 + 1.905123874118434e-03 + 1.900348266781407e-03 + 1.895583751238830e-03 + 1.890830300301618e-03 + 1.886087886140893e-03 + 1.881356481302734e-03 + 1.876636059328014e-03 + 1.871926593048255e-03 + 1.867228054886164e-03 + 1.862540417322874e-03 + 1.857863653843670e-03 + 1.853197738035545e-03 + 1.848542642643349e-03 + 1.843898340659710e-03 + 1.839264805482605e-03 + 1.834642010884087e-03 + 1.830029929675155e-03 + 1.825428534756660e-03 + 1.820837800826725e-03 + 1.816257700994342e-03 + 1.811688207883416e-03 + 1.807129296515363e-03 + 1.802580940478343e-03 + 1.798043112569654e-03 + 1.793515787775185e-03 + 1.788998939681262e-03 + 1.784492541016137e-03 + 1.779996567290557e-03 + 1.775510992946437e-03 + 1.771035790955467e-03 + 1.766570935188881e-03 + 1.762116400368900e-03 + 1.757672161650980e-03 + 1.753238193179788e-03 + 1.748814468721301e-03 + 1.744400962234815e-03 + 1.739997649147064e-03 + 1.735604504535336e-03 + 1.731221502449809e-03 + 1.726848617398671e-03 + 1.722485824273258e-03 + 1.718133098140551e-03 + 1.713790413411143e-03 + 1.709457744960287e-03 + 1.705135068710917e-03 + 1.700822359316501e-03 + 1.696519591326764e-03 + 1.692226740206531e-03 + 1.687943780998710e-03 + 1.683670689031842e-03 + 1.679407440586236e-03 + 1.675154010255336e-03 + 1.670910372590760e-03 + 1.666676504276520e-03 + 1.662452380680008e-03 + 1.658237976786625e-03 + 1.654033269138933e-03 + 1.649838233189823e-03 + 1.645652843894769e-03 + 1.641477077483747e-03 + 1.637310910181093e-03 + 1.633154317979306e-03 + 1.629007276710043e-03 + 1.624869761977525e-03 + 1.620741749539434e-03 + 1.616623216289868e-03 + 1.612514138626602e-03 + 1.608414492386588e-03 + 1.604324254066237e-03 + 1.600243399893093e-03 + 1.596171905775712e-03 + 1.592109748332882e-03 + 1.588056904380057e-03 + 1.584013350591343e-03 + 1.579979063015354e-03 + 1.575954018417919e-03 + 1.571938194458784e-03 + 1.567931567017785e-03 + 1.563934112240304e-03 + 1.559945807641685e-03 + 1.555966630779868e-03 + 1.551996558434039e-03 + 1.548035566441649e-03 + 1.544083632647983e-03 + 1.540140734902817e-03 + 1.536206849423688e-03 + 1.532281953055403e-03 + 1.528366023373284e-03 + 1.524459038476067e-03 + 1.520560975283225e-03 + 1.516671810636623e-03 + 1.512791522697568e-03 + 1.508920088807869e-03 + 1.505057486015793e-03 + 1.501203692209861e-03 + 1.497358685322736e-03 + 1.493522443062933e-03 + 1.489694942724099e-03 + 1.485876162194853e-03 + 1.482066079697174e-03 + 1.478264672890618e-03 + 1.474471919644568e-03 + 1.470687798121700e-03 + 1.466912286519041e-03 + 1.463145362594138e-03 + 1.459387003990816e-03 + 1.455637189563730e-03 + 1.451895897787254e-03 + 1.448163106500405e-03 + 1.444438793947980e-03 + 1.440722938760434e-03 + 1.437015519703072e-03 + 1.433316514691718e-03 + 1.429625901910583e-03 + 1.425943660193772e-03 + 1.422269768088744e-03 + 1.418604204318803e-03 + 1.414946947952337e-03 + 1.411297977567125e-03 + 1.407657271824714e-03 + 1.404024809794961e-03 + 1.400400570139807e-03 + 1.396784531434119e-03 + 1.393176672533590e-03 + 1.389576972970703e-03 + 1.385985412235932e-03 + 1.382401969107074e-03 + 1.378826622443783e-03 + 1.375259351219489e-03 + 1.371700134514839e-03 + 1.368148952079336e-03 + 1.364605783757036e-03 + 1.361070608632290e-03 + 1.357543405835987e-03 + 1.354024154621594e-03 + 1.350512834317403e-03 + 1.347009424934256e-03 + 1.343513906652181e-03 + 1.340026258589547e-03 + 1.336546459739890e-03 + 1.333074489680093e-03 + 1.329610329681042e-03 + 1.326153959375566e-03 + 1.322705357081586e-03 + 1.319264503327096e-03 + 1.315831378649060e-03 + 1.312405962942001e-03 + 1.308988235813027e-03 + 1.305578177302038e-03 + 1.302175767936687e-03 + 1.298780987783750e-03 + 1.295393816813521e-03 + 1.292014235092867e-03 + 1.288642222828844e-03 + 1.285277760581296e-03 + 1.281920829182064e-03 + 1.278571408463430e-03 + 1.275229478684235e-03 + 1.271895021211065e-03 + 1.268568016022571e-03 + 1.265248443161927e-03 + 1.261936283866222e-03 + 1.258631518851812e-03 + 1.255334128626978e-03 + 1.252044093890807e-03 + 1.248761395151665e-03 + 1.245486013113075e-03 + 1.242217929129610e-03 + 1.238957124307338e-03 + 1.235703579418827e-03 + 1.232457274959363e-03 + 1.229218191838193e-03 + 1.225986311430220e-03 + 1.222761615473843e-03 + 1.219544084856006e-03 + 1.216333699988417e-03 + 1.213130441964228e-03 + 1.209934292565758e-03 + 1.206745233676102e-03 + 1.203563245963205e-03 + 1.200388310525061e-03 + 1.197220409053557e-03 + 1.194059523052293e-03 + 1.190905633902454e-03 + 1.187758723052301e-03 + 1.184618772531461e-03 + 1.181485763720917e-03 + 1.178359677471923e-03 + 1.175240496495629e-03 + 1.172128202790389e-03 + 1.169022777016151e-03 + 1.165924201427151e-03 + 1.162832457974330e-03 + 1.159747527667428e-03 + 1.156669393342115e-03 + 1.153598037513975e-03 + 1.150533441195656e-03 + 1.147475586343000e-03 + 1.144424455192698e-03 + 1.141380029693999e-03 + 1.138342292070108e-03 + 1.135311224784675e-03 + 1.132286810371483e-03 + 1.129269030382949e-03 + 1.126257866687504e-03 + 1.123253302806332e-03 + 1.120255320585528e-03 + 1.117263901594027e-03 + 1.114279029333705e-03 + 1.111300685926414e-03 + 1.108328853214485e-03 + 1.105363515126287e-03 + 1.102404653695880e-03 + 1.099452250276090e-03 + 1.096506289065756e-03 + 1.093566752790314e-03 + 1.090633622975802e-03 + 1.087706882683815e-03 + 1.084786514992603e-03 + 1.081872502714538e-03 + 1.078964828755093e-03 + 1.076063476054719e-03 + 1.073168427526746e-03 + 1.070279665938792e-03 + 1.067397174442816e-03 + 1.064520936417689e-03 + 1.061650934087830e-03 + 1.058787150577005e-03 + 1.055929570192933e-03 + 1.053078175257412e-03 + 1.050232948596978e-03 + 1.047393874491941e-03 + 1.044560935952646e-03 + 1.041734115621369e-03 + 1.038913396581877e-03 + 1.036098763274602e-03 + 1.033290199394467e-03 + 1.030487686748966e-03 + 1.027691209748195e-03 + 1.024900752824401e-03 + 1.022116298137994e-03 + 1.019337829638554e-03 + 1.016565331581354e-03 + 1.013798786681050e-03 + 1.011038178744547e-03 + 1.008283492069452e-03 + 1.005534710312413e-03 + 1.002791817167788e-03 + 1.000054796401326e-03 + 9.973236317525795e-04 + 9.945983071579347e-04 + 9.918788066535795e-04 + 9.891651141399331e-04 + 9.864572135795289e-04 + 9.837550890187182e-04 + 9.810587245440681e-04 + 9.783681042165289e-04 + 9.756832121036981e-04 + 9.730040324093254e-04 + 9.703305493295432e-04 + 9.676627470403841e-04 + 9.650006098016114e-04 + 9.623441219373007e-04 + 9.596932677964791e-04 + 9.570480316324495e-04 + 9.544083978205768e-04 + 9.517743508934125e-04 + 9.491458752396962e-04 + 9.465229553012878e-04 + 9.439055756501852e-04 + 9.412937207895038e-04 + 9.386873752809525e-04 + 9.360865238076440e-04 + 9.334911509791107e-04 + 9.309012414140627e-04 + 9.283167798171848e-04 + 9.257377509839119e-04 + 9.231641396993918e-04 + 9.205959306774516e-04 + 9.180331088080401e-04 + 9.154756590138127e-04 + 9.129235660962607e-04 + 9.103768149701878e-04 + 9.078353906321772e-04 + 9.052992780955343e-04 + 9.027684623946166e-04 + 9.002429285800444e-04 + 8.977226617159664e-04 + 8.952076469091944e-04 + 8.926978693026045e-04 + 8.901933140640126e-04 + 8.876939664445818e-04 + 8.851998117353022e-04 + 8.827108351548252e-04 + 8.802270219825557e-04 + 8.777483575705740e-04 + 8.752748272927118e-04 + 8.728064165680979e-04 + 8.703431108522175e-04 + 8.678848955854838e-04 + 8.654317562117358e-04 + 8.629836782258149e-04 + 8.605406473168484e-04 + 8.581026490766350e-04 + 8.556696689660546e-04 + 8.532416927295966e-04 + 8.508187061075220e-04 + 8.484006947265324e-04 + 8.459876443379812e-04 + 8.435795407180884e-04 + 8.411763696276702e-04 + 8.387781169670006e-04 + 8.363847686436173e-04 + 8.339963104952486e-04 + 8.316127284703911e-04 + 8.292340085393665e-04 + 8.268601366269382e-04 + 8.244910987818749e-04 + 8.221268810991789e-04 + 8.197674696351961e-04 + 8.174128504795555e-04 + 8.150630097863373e-04 + 8.127179337987174e-04 + 8.103776086785577e-04 + 8.080420206116735e-04 + 8.057111559859151e-04 + 8.033850010442538e-04 + 8.010635420033148e-04 + 7.987467653572807e-04 + 7.964346575211490e-04 + 7.941272048473775e-04 + 7.918243938145987e-04 + 7.895262109139402e-04 + 7.872326426395918e-04 + 7.849436755404454e-04 + 7.826592961986925e-04 + 7.803794912312032e-04 + 7.781042473133076e-04 + 7.758335511109105e-04 + 7.735673892815593e-04 + 7.713057485643111e-04 + 7.690486157536814e-04 + 7.667959776727836e-04 + 7.645478211004869e-04 + 7.623041328912646e-04 + 7.600649000053854e-04 + 7.578301093264215e-04 + 7.555997477583347e-04 + 7.533738022910566e-04 + 7.511522599897612e-04 + 7.489351079282785e-04 + 7.467223331578882e-04 + 7.445139227962291e-04 + 7.423098639775247e-04 + 7.401101438263767e-04 + 7.379147496119391e-04 + 7.357236686066337e-04 + 7.335368879604144e-04 + 7.313543950177981e-04 + 7.291761771981462e-04 + 7.270022218267318e-04 + 7.248325162821272e-04 + 7.226670479949025e-04 + 7.205058044241288e-04 + 7.183487730730944e-04 + 7.161959414766152e-04 + 7.140472971809699e-04 + 7.119028277561113e-04 + 7.097625208231147e-04 + 7.076263641063239e-04 + 7.054943452576004e-04 + 7.033664519218169e-04 + 7.012426719956601e-04 + 6.991229932510109e-04 + 6.970074033540157e-04 + 6.948958902400331e-04 + 6.927884418689321e-04 + 6.906850461485944e-04 + 6.885856909689247e-04 + 6.864903643067344e-04 + 6.843990542306164e-04 + 6.823117487354689e-04 + 6.802284359113009e-04 + 6.781491039842488e-04 + 6.760737410664455e-04 + 6.740023352773578e-04 + 6.719348748282754e-04 + 6.698713480434448e-04 + 6.678117432465053e-04 + 6.657560487034911e-04 + 6.637042527655789e-04 + 6.616563438432147e-04 + 6.596123103782944e-04 + 6.575721408025738e-04 + 6.555358236048545e-04 + 6.535033473936704e-04 + 6.514747007198682e-04 + 6.494498721244171e-04 + 6.474288502266283e-04 + 6.454116237722280e-04 + 6.433981815196293e-04 + 6.413885120963034e-04 + 6.393826043225120e-04 + 6.373804471016686e-04 + 6.353820291728463e-04 + 6.333873394523912e-04 + 6.313963669651093e-04 + 6.294091005879305e-04 + 6.274255292885601e-04 + 6.254456421348147e-04 + 6.234694281911996e-04 + 6.214968766042923e-04 + 6.195279765738893e-04 + 6.175627172048796e-04 + 6.156010877068991e-04 + 6.136430774102346e-04 + 6.116886755862946e-04 + 6.097378715435904e-04 + 6.077906546697107e-04 + 6.058470144286753e-04 + 6.039069402835228e-04 + 6.019704216802507e-04 + 6.000374481409778e-04 + 5.981080092530985e-04 + 5.961820946588096e-04 + 5.942596940083503e-04 + 5.923407969721301e-04 + 5.904253932616448e-04 + 5.885134726736782e-04 + 5.866050250202793e-04 + 5.847000400980857e-04 + 5.827985078791194e-04 + 5.809004183470366e-04 + 5.790057613579966e-04 + 5.771145269606196e-04 + 5.752267052829598e-04 + 5.733422863841403e-04 + 5.714612604000550e-04 + 5.695836175305099e-04 + 5.677093480037018e-04 + 5.658384420678564e-04 + 5.639708900266142e-04 + 5.621066823022896e-04 + 5.602458092869138e-04 + 5.583882613744714e-04 + 5.565340290827777e-04 + 5.546831029664671e-04 + 5.528354736013446e-04 + 5.509911316015094e-04 + 5.491500676402182e-04 + 5.473122724461832e-04 + 5.454777367810608e-04 + 5.436464514412940e-04 + 5.418184072613321e-04 + 5.399935951226492e-04 + 5.381720060069473e-04 + 5.363536309736959e-04 + 5.345384609776805e-04 + 5.327264870731968e-04 + 5.309177004752346e-04 + 5.291120923593077e-04 + 5.273096539494221e-04 + 5.255103765544823e-04 + 5.237142514407170e-04 + 5.219212699733492e-04 + 5.201314236865307e-04 + 5.183447040146093e-04 + 5.165611024246747e-04 + 5.147806105331874e-04 + 5.130032200114061e-04 + 5.112289225530487e-04 + 5.094577098620987e-04 + 5.076895736854020e-04 + 5.059245058583464e-04 + 5.041624983517820e-04 + 5.024035430839573e-04 + 5.006476319990773e-04 + 4.988947572035529e-04 + 4.971449107942239e-04 + 4.953980848818115e-04 + 4.936542716805855e-04 + 4.919134634956966e-04 + 4.901756526846954e-04 + 4.884408316006080e-04 + 4.867089926403434e-04 + 4.849801282731475e-04 + 4.832542310892493e-04 + 4.815312937309208e-04 + 4.798113088560132e-04 + 4.780942690954599e-04 + 4.763801672259719e-04 + 4.746689961731605e-04 + 4.729607488395965e-04 + 4.712554181333483e-04 + 4.695529970142063e-04 + 4.678534786182833e-04 + 4.661568561056742e-04 + 4.644631226216267e-04 + 4.627722714285577e-04 + 4.610842958399921e-04 + 4.593991892076899e-04 + 4.577169450300335e-04 + 4.560375568336446e-04 + 4.543610181249096e-04 + 4.526873225594637e-04 + 4.510164638467393e-04 + 4.493484356950898e-04 + 4.476832319569833e-04 + 4.460208465382815e-04 + 4.443612733350173e-04 + 4.427045064285867e-04 + 4.410505399510805e-04 + 4.393993679504339e-04 + 4.377509846774214e-04 + 4.361053844834223e-04 + 4.344625616662297e-04 + 4.328225106365193e-04 + 4.311852259097922e-04 + 4.295507020701359e-04 + 4.279189337521271e-04 + 4.262899156467061e-04 + 4.246636425301464e-04 + 4.230401092565931e-04 + 4.214193107478168e-04 + 4.198012419839599e-04 + 4.181858979868060e-04 + 4.165732738692198e-04 + 4.149633649793705e-04 + 4.133561665739344e-04 + 4.117516738453971e-04 + 4.101498823326724e-04 + 4.085507876181731e-04 + 4.069543852399522e-04 + 4.053606707914893e-04 + 4.037696400086752e-04 + 4.021812887746215e-04 + 4.005956129436248e-04 + 3.990126084760660e-04 + 3.974322714846641e-04 + 3.958545980293214e-04 + 3.942795842513983e-04 + 3.927072264688036e-04 + 3.911375211195356e-04 + 3.895704646516968e-04 + 3.880060534869329e-04 + 3.864442842922655e-04 + 3.848851538066537e-04 + 3.833286587063809e-04 + 3.817747958651508e-04 + 3.802235622593628e-04 + 3.786749548688228e-04 + 3.771289708205180e-04 + 3.755856073392733e-04 + 3.740448616816441e-04 + 3.725067311649692e-04 + 3.709712132043737e-04 + 3.694383053790672e-04 + 3.679080053579325e-04 + 3.663803108503057e-04 + 3.648552195606523e-04 + 3.633327293646475e-04 + 3.618128382932607e-04 + 3.602955444344858e-04 + 3.587808459078391e-04 + 3.572687408998931e-04 + 3.557592277792442e-04 + 3.542523049927096e-04 + 3.527479710408145e-04 + 3.512462245019904e-04 + 3.497470640500036e-04 + 3.482504884770882e-04 + 3.467564967437580e-04 + 3.452650877985240e-04 + 3.437762605764859e-04 + 3.422900143250168e-04 + 3.408063483640538e-04 + 3.393252619896345e-04 + 3.378467546103840e-04 + 3.363708257653936e-04 + 3.348974751341996e-04 + 3.334267024660963e-04 + 3.319585075646510e-04 + 3.304928903038992e-04 + 3.290298507212495e-04 + 3.275693889604049e-04 + 3.261115052402690e-04 + 3.246561999078441e-04 + 3.232034733603981e-04 + 3.217533259984899e-04 + 3.203057585048498e-04 + 3.188607716794152e-04 + 3.174183662346357e-04 + 3.159785430822741e-04 + 3.145413032833238e-04 + 3.131066479369465e-04 + 3.116745782136557e-04 + 3.102450954058189e-04 + 3.088182010197684e-04 + 3.073938965650610e-04 + 3.059721835802734e-04 + 3.045530637916020e-04 + 3.031365390386899e-04 + 3.017226112552691e-04 + 3.003112824793533e-04 + 2.989025548234045e-04 + 2.974964304955006e-04 + 2.960929118913988e-04 + 2.946920014422941e-04 + 2.932937016150965e-04 + 2.918980151023185e-04 + 2.905049446767149e-04 + 2.891144931550728e-04 + 2.877266634923031e-04 + 2.863414587568181e-04 + 2.849588821248430e-04 + 2.835789368717610e-04 + 2.822016263526234e-04 + 2.808269540128114e-04 + 2.794549234525530e-04 + 2.780855383858511e-04 + 2.767188026160350e-04 + 2.753547199733251e-04 + 2.739932944362576e-04 + 2.726345302253411e-04 + 2.712784314751994e-04 + 2.699250024118205e-04 + 2.685742475595017e-04 + 2.672261714415124e-04 + 2.658807786371782e-04 + 2.645380739000219e-04 + 2.631980619957597e-04 + 2.618607478073471e-04 + 2.605261365239288e-04 + 2.591942332540738e-04 + 2.578650431168888e-04 + 2.565385715181067e-04 + 2.552148239188000e-04 + 2.538938058269625e-04 + 2.525755228940477e-04 + 2.512599808919393e-04 + 2.499471856899045e-04 + 2.486371432244064e-04 + 2.473298595107682e-04 + 2.460253406646765e-04 + 2.447235929605613e-04 + 2.434246227773826e-04 + 2.421284365723855e-04 + 2.408350408491505e-04 + 2.395444422583646e-04 + 2.382566475978551e-04 + 2.369716636126905e-04 + 2.356894972066169e-04 + 2.344101555067014e-04 + 2.331336455922197e-04 + 2.318599746393059e-04 + 2.305891500038487e-04 + 2.293211790903458e-04 + 2.280560693749351e-04 + 2.267938284406659e-04 + 2.255344639796373e-04 + 2.242779837481179e-04 + 2.230243955584571e-04 + 2.217737074088738e-04 + 2.205259273750273e-04 + 2.192810635194828e-04 + 2.180391240377155e-04 + 2.168001172473318e-04 + 2.155640515683406e-04 + 2.143309354202995e-04 + 2.131007772856537e-04 + 2.118735858306198e-04 + 2.106493698084787e-04 + 2.094281380089542e-04 + 2.082098992208740e-04 + 2.069946624015073e-04 + 2.057824366286796e-04 + 2.045732309577213e-04 + 2.033670545521807e-04 + 2.021639166762670e-04 + 2.009638266139778e-04 + 1.997667937615743e-04 + 1.985728276099416e-04 + 1.973819376249420e-04 + 1.961941334186818e-04 + 1.950094247288422e-04 + 1.938278211445808e-04 + 1.926493324216112e-04 + 1.914739685443153e-04 + 1.903017394244089e-04 + 1.891326549660665e-04 + 1.879667251315557e-04 + 1.868039600691931e-04 + 1.856443699312781e-04 + 1.844879648170397e-04 + 1.833347550402995e-04 + 1.821847509305592e-04 + 1.810379627269367e-04 + 1.798944008330572e-04 + 1.787540757117569e-04 + 1.776169978023503e-04 + 1.764831776083264e-04 + 1.753526257075039e-04 + 1.742253527510645e-04 + 1.731013693254543e-04 + 1.719806860311682e-04 + 1.708633135911149e-04 + 1.697492627671219e-04 + 1.686385443331759e-04 + 1.675311690584120e-04 + 1.664271477052953e-04 + 1.653264910845736e-04 + 1.642292101438652e-04 + 1.631353157524277e-04 + 1.620448187436031e-04 + 1.609577300754615e-04 + 1.598740606888992e-04 + 1.587938214812250e-04 + 1.577170233258566e-04 + 1.566436772168694e-04 + 1.555737942159133e-04 + 1.545073851968179e-04 + 1.534444610998845e-04 + 1.523850329588589e-04 + 1.513291117056277e-04 + 1.502767082718022e-04 + 1.492278336091406e-04 + 1.481824986061289e-04 + 1.471407142013266e-04 + 1.461024913960903e-04 + 1.450678410475480e-04 + 1.440367739871709e-04 + 1.430093010797408e-04 + 1.419854331666308e-04 + 1.409651810501559e-04 + 1.399485554884026e-04 + 1.389355672434459e-04 + 1.379262270311977e-04 + 1.369205454852166e-04 + 1.359185332657421e-04 + 1.349202010239166e-04 + 1.339255593445051e-04 + 1.329346186642912e-04 + 1.319473893926901e-04 + 1.309638820305585e-04 + 1.299841069283569e-04 + 1.290080743627276e-04 + 1.280357946577360e-04 + 1.270672779908064e-04 + 1.261025344295187e-04 + 1.251415740258344e-04 + 1.241844068414831e-04 + 1.232310428585276e-04 + 1.222814917974582e-04 + 1.213357634573326e-04 + 1.203938676644921e-04 + 1.194558139769228e-04 + 1.185216119071049e-04 + 1.175912709437735e-04 + 1.166648004395201e-04 + 1.157422096820540e-04 + 1.148235078941047e-04 + 1.139087041565015e-04 + 1.129978074560730e-04 + 1.120908266963163e-04 + 1.111877706801771e-04 + 1.102886481165339e-04 + 1.093934676008822e-04 + 1.085022375478793e-04 + 1.076149663238430e-04 + 1.067316622735248e-04 + 1.058523335072715e-04 + 1.049769880021785e-04 + 1.041056336506420e-04 + 1.032382782134568e-04 + 1.023749293560659e-04 + 1.015155946454073e-04 + 1.006602814254268e-04 + 9.980899691604087e-05 + 9.896174827822380e-05 + 9.811854249648769e-05 + 9.727938640362722e-05 + 9.644428669167931e-05 + 9.561324990949941e-05 + 9.478628247235907e-05 + 9.396339064407664e-05 + 9.314458052650697e-05 + 9.232985807344924e-05 + 9.151922908266137e-05 + 9.071269919463392e-05 + 8.991027389908417e-05 + 8.911195851702552e-05 + 8.831775819982511e-05 + 8.752767793866873e-05 + 8.674172256023528e-05 + 8.595989672073575e-05 + 8.518220490590348e-05 + 8.440865141920385e-05 + 8.363924039733809e-05 + 8.287397580722622e-05 + 8.211286142104977e-05 + 8.135590084051729e-05 + 8.060309749193613e-05 + 7.985445459658365e-05 + 7.910997520302950e-05 + 7.836966218298747e-05 + 7.763351820320998e-05 + 7.690154574559998e-05 + 7.617374709914362e-05 + 7.545012436145964e-05 + 7.473067944430294e-05 + 7.401541405207780e-05 + 7.330432968888297e-05 + 7.259742767376570e-05 + 7.189470911942744e-05 + 7.119617492698978e-05 + 7.050182580949816e-05 + 6.981166227552030e-05 + 6.912568461899398e-05 + 6.844389294104750e-05 + 6.776628713300132e-05 + 6.709286687130013e-05 + 6.642363163388969e-05 + 6.575858067871575e-05 + 6.509771305493562e-05 + 6.444102761503343e-05 + 6.378852298738557e-05 + 6.314019758583242e-05 + 6.249604962295056e-05 + 6.185607708979005e-05 + 6.122027775903875e-05 + 6.058864919749181e-05 + 5.996118875684596e-05 + 5.933789356597989e-05 + 5.871876053888907e-05 + 5.810378637807827e-05 + 5.749296757228591e-05 + 5.688630039241354e-05 + 5.628378087841946e-05 + 5.568540486517338e-05 + 5.509116797959273e-05 + 5.450106561933422e-05 + 5.391509296529475e-05 + 5.333324497665832e-05 + 5.275551640753726e-05 + 5.218190179953343e-05 + 5.161239545977182e-05 + 5.104699148146081e-05 + 5.048568375913861e-05 + 4.992846596763329e-05 + 4.937533154817934e-05 + 4.882627374147808e-05 + 4.828128557792042e-05 + 4.774035986717692e-05 + 4.720348921279551e-05 + 4.667066599018748e-05 + 4.614188237688400e-05 + 4.561713035194944e-05 + 4.509640165438987e-05 + 4.457968783032909e-05 + 4.406698023190481e-05 + 4.355826996891768e-05 + 4.305354796420506e-05 + 4.255280495560636e-05 + 4.205603144616347e-05 + 4.156321774032957e-05 + 4.107435395613752e-05 + 4.058942999665175e-05 + 4.010843556869507e-05 + 3.963136019085871e-05 + 3.915819316952545e-05 + 3.868892361719641e-05 + 3.822354046226270e-05 + 3.776203244031561e-05 + 3.730438809005640e-05 + 3.685059575689182e-05 + 3.640064360230198e-05 + 3.595451960373741e-05 + 3.551221155134442e-05 + 3.507370705450421e-05 + 3.463899354241650e-05 + 3.420805825588243e-05 + 3.378088825986720e-05 + 3.335747045272196e-05 + 3.293779155463552e-05 + 3.252183811026268e-05 + 3.210959649877579e-05 + 3.170105292073684e-05 + 3.129619341367949e-05 + 3.089500386055728e-05 + 3.049746997239612e-05 + 3.010357730585059e-05 + 2.971331126487755e-05 + 2.932665707619367e-05 + 2.894359982344077e-05 + 2.856412445132613e-05 + 2.818821573877814e-05 + 2.781585831987375e-05 + 2.744703669454755e-05 + 2.708173520948728e-05 + 2.671993807124836e-05 + 2.636162935767626e-05 + 2.600679300301263e-05 + 2.565541280257304e-05 + 2.530747242805460e-05 + 2.496295542635910e-05 + 2.462184521206604e-05 + 2.428412507785163e-05 + 2.394977819771233e-05 + 2.361878762181457e-05 + 2.329113628448998e-05 + 2.296680701293541e-05 + 2.264578251757474e-05 + 2.232804539557172e-05 + 2.201357814530585e-05 + 2.170236315904943e-05 + 2.139438272306276e-05 + 2.108961903561866e-05 + 2.078805419745760e-05 + 2.048967020582218e-05 + 2.019444897050880e-05 + 1.990237231614296e-05 + 1.961342197777572e-05 + 1.932757961462368e-05 + 1.904482680353188e-05 + 1.876514502948172e-05 + 1.848851571515060e-05 + 1.821492021640795e-05 + 1.794433980831370e-05 + 1.767675569461099e-05 + 1.741214902258527e-05 + 1.715050088166273e-05 + 1.689179228451716e-05 + 1.663600419203502e-05 + 1.638311752659296e-05 + 1.613311314360082e-05 + 1.588597184706167e-05 + 1.564167440067926e-05 + 1.540020151829502e-05 + 1.516153387453479e-05 + 1.492565211244357e-05 + 1.469253682958783e-05 + 1.446216858599219e-05 + 1.423452791421707e-05 + 1.400959531801727e-05 + 1.378735127470914e-05 + 1.356777623611474e-05 + 1.335085063337062e-05 + 1.313655487876277e-05 + 1.292486936494610e-05 + 1.271577446639333e-05 + 1.250925054517824e-05 + 1.230527796605363e-05 + 1.210383708165599e-05 + 1.190490823144681e-05 + 1.170847175649016e-05 + 1.151450799717159e-05 + 1.132299729345123e-05 + 1.113391999104486e-05 + 1.094725644586371e-05 + 1.076298702423590e-05 + 1.058109209097755e-05 + 1.040155202830912e-05 + 1.022434724511555e-05 + 1.004945815519835e-05 + 9.876865191434875e-06 + 9.706548817576976e-06 + 9.538489515829050e-06 + 9.372667791395497e-06 + 9.209064181113714e-06 + 9.047659251528417e-06 + 8.888433598428113e-06 + 8.731367852817854e-06 + 8.576442682615395e-06 + 8.423638791088146e-06 + 8.272936922653283e-06 + 8.124317863654203e-06 + 7.977762440936675e-06 + 7.833251528895281e-06 + 7.690766049713759e-06 + 7.550286971453687e-06 + 7.411795314787993e-06 + 7.275272152381047e-06 + 7.140698608042407e-06 + 7.008055865069554e-06 + 6.877325162999093e-06 + 6.748487797069182e-06 + 6.621525126924672e-06 + 6.496418573295794e-06 + 6.373149617974847e-06 + 6.251699810845691e-06 + 6.132050767139283e-06 + 6.014184168887862e-06 + 5.898081770597224e-06 + 5.783725394973654e-06 + 5.671096936050662e-06 + 5.560178365641361e-06 + 5.450951726966341e-06 + 5.343399138917566e-06 + 5.237502802602254e-06 + 5.133244993336976e-06 + 5.030608065950253e-06 + 4.929574461382145e-06 + 4.830126698086031e-06 + 4.732247378331277e-06 + 4.635919192753656e-06 + 4.541124912789582e-06 + 4.447847398958468e-06 + 4.356069602328335e-06 + 4.265774557056776e-06 + 4.176945389932598e-06 + 4.089565320281935e-06 + 4.003617653697645e-06 + 3.919085793399028e-06 + 3.835953236362346e-06 + 3.754203567594348e-06 + 3.673820472678765e-06 + 3.594787733829004e-06 + 3.517089224074456e-06 + 3.440708918621393e-06 + 3.365630891050476e-06 + 3.291839308866544e-06 + 3.219318444550688e-06 + 3.148052669614368e-06 + 3.078026451876596e-06 + 3.009224366838337e-06 + 2.941631088840265e-06 + 2.875231390541817e-06 + 2.810010156134118e-06 + 2.745952369256776e-06 + 2.683043113446972e-06 + 2.621267584374269e-06 + 2.560611078236376e-06 + 2.501058994098514e-06 + 2.442596843868032e-06 + 2.385210240033010e-06 + 2.328884899906223e-06 + 2.273606655048426e-06 + 2.219361438179688e-06 + 2.166135288678882e-06 + 2.113914360085187e-06 + 2.062684907096663e-06 + 2.012433292648363e-06 + 1.963145994708785e-06 + 1.914809593193956e-06 + 1.867410777738679e-06 + 1.820936351687259e-06 + 1.775373220609589e-06 + 1.730708401732302e-06 + 1.686929024947410e-06 + 1.644022323067757e-06 + 1.601975642837270e-06 + 1.560776441656341e-06 + 1.520412279298016e-06 + 1.480870830315665e-06 + 1.442139880698395e-06 + 1.404207319625165e-06 + 1.367061149777226e-06 + 1.330689483155573e-06 + 1.295080535963615e-06 + 1.260222640873472e-06 + 1.226104237141460e-06 + 1.192713867093549e-06 + 1.160040189500492e-06 + 1.128071969424555e-06 + 1.096798076008267e-06 + 1.066207493417804e-06 + 1.036289310659725e-06 + 1.007032721493895e-06 + 9.784270338592895e-07 + 9.504616588874799e-07 + 9.231261128777845e-07 + 8.964100256766087e-07 + 8.703031286825232e-07 + 8.447952585150839e-07 + 8.198763641874936e-07 + 7.955364948286083e-07 + 7.717658049346632e-07 + 7.485545598914059e-07 + 7.258931238786546e-07 + 7.037719665410901e-07 + 6.821816664988581e-07 + 6.611128998791421e-07 + 6.405564483055948e-07 + 6.205032003278225e-07 + 6.009441408121614e-07 + 5.818703600152187e-07 + 5.632730528626383e-07 + 5.451435094097432e-07 + 5.274731247677268e-07 + 5.102533965000488e-07 + 4.934759162480692e-07 + 4.771323800991179e-07 + 4.612145841662162e-07 + 4.457144176881476e-07 + 4.306238737382497e-07 + 4.159350428538716e-07 + 4.016401077051372e-07 + 3.877313539402903e-07 + 3.742011622647174e-07 + 3.610420046499709e-07 + 3.482464547968944e-07 + 3.358071790150475e-07 + 3.237169340794661e-07 + 3.119685770955318e-07 + 3.005550554375413e-07 + 2.894694062090586e-07 + 2.787047650882795e-07 + 2.682543557659438e-07 + 2.581114909968296e-07 + 2.482695801165890e-07 + 2.387221182727572e-07 + 2.294626890008751e-07 + 2.204849703818711e-07 + 2.117827241548630e-07 + 2.033497996067267e-07 + 1.951801384624956e-07 + 1.872677641420447e-07 + 1.796067867093452e-07 + 1.721914062527642e-07 + 1.650159027896018e-07 + 1.580746421942365e-07 + 1.513620776690125e-07 + 1.448727406655565e-07 + 1.386012477684331e-07 + 1.325423000867771e-07 + 1.266906752868051e-07 + 1.210412352836648e-07 + 1.155889239131470e-07 + 1.103287600176973e-07 + 1.052558455547364e-07 + 1.003653617115032e-07 + 9.565256321109978e-08 + 9.111278671292873e-08 + 8.674144556415159e-08 + 8.253402527034383e-08 + 7.848609177536523e-08 + 7.459328520671134e-08 + 7.085131661573615e-08 + 6.725597593242166e-08 + 6.380312478868793e-08 + 6.048869454868003e-08 + 5.730869376312298e-08 + 5.425920030057914e-08 + 5.133636064443935e-08 + 4.853639660958214e-08 + 4.585559704969457e-08 + 4.329031836991616e-08 + 4.083699031045398e-08 + 3.849210751108346e-08 + 3.625223113812888e-08 + 3.411399355038575e-08 + 3.207408998824199e-08 + 3.012928121511996e-08 + 2.827639696078167e-08 + 2.651232793166280e-08 + 2.483402934338396e-08 + 2.323852311474514e-08 + 2.172289034680298e-08 + 2.028427559044146e-08 + 1.891988778877689e-08 + 1.762699339728036e-08 + 1.640292125402531e-08 + 1.524506224991720e-08 + 1.415086320949184e-08 + 1.311783222446413e-08 + 1.214353712508316e-08 + 1.122560019257377e-08 + 1.036170378687137e-08 + 9.549587722603005e-09 + 8.787044877843281e-09 + 8.071926961605364e-09 + 7.402140903161946e-09 + 6.775645388472587e-09 + 6.190456604129221e-09 + 5.644643792323680e-09 + 5.136326726146161e-09 + 4.663681262833891e-09 + 4.224934232596794e-09 + 3.818361845837701e-09 + 3.442294891302550e-09 + 3.095113141246544e-09 + 2.775244665814773e-09 + 2.481170514027403e-09 + 2.211418834557044e-09 + 1.964565051498559e-09 + 1.739235878927056e-09 + 1.534103359980556e-09 + 1.347885831336700e-09 + 1.179351163642234e-09 + 1.027310894648576e-09 + 8.906218977827446e-10 + 7.681887799049897e-10 + 6.589582548472836e-10 + 5.619214238374888e-10 + 4.761152985830568e-10 + 4.006175343477256e-10 + 3.345492227248809e-10 + 2.770755362128679e-10 + 2.274009179016229e-10 + 1.847722840116674e-10 + 1.484788129161787e-10 + 1.178476648704315e-10 + 9.224748788184573e-11 + 7.108739902161543e-11 + 5.381328706422649e-11 + 3.991151299277479e-11 + 2.890715266694438e-11 + 2.036091648096713e-11 + 1.387293445657948e-11 + 9.080348320515963e-12 + 5.654863833225597e-12 + 3.306507674167889e-12 + 1.780689492983021e-12 + 8.563646514161430e-13 + 3.496037276049943e-13 + 1.104943293034196e-13 + 2.161027650041889e-14 + 5.028049336448720e-16 + 0.000000000000000e+00 + 0.000000000000000e+00 + 7.485272593961791e+04 + 1.493519318697679e+05 + 2.234970831294996e+05 + 2.972876533345640e+05 + 3.707231243774131e+05 + 4.438029864272003e+05 + 5.165267379297798e+05 + 5.888938856077072e+05 + 6.609039444602393e+05 + 7.325564377633340e+05 + 8.038508970696502e+05 + 8.747868622085482e+05 + 9.453638812860892e+05 + 1.015581510685036e+06 + 1.085439315064852e+06 + 1.154936867361703e+06 + 1.224073748788454e+06 + 1.292849548834672e+06 + 1.361263865266626e+06 + 1.429316304127287e+06 + 1.497006479736322e+06 + 1.564334014690106e+06 + 1.631298539861710e+06 + 1.697899694400910e+06 + 1.764137125734180e+06 + 1.830010489564698e+06 + 1.895519449872339e+06 + 1.960663678913685e+06 + 2.025442857222013e+06 + 2.089856673607306e+06 + 2.153904825156247e+06 + 2.217587017232217e+06 + 2.280902963475303e+06 + 2.343852385802290e+06 + 2.406435014406665e+06 + 2.468650587758616e+06 + 2.530498852605031e+06 + 2.591979563969503e+06 + 2.653092485152322e+06 + 2.713837387730482e+06 + 2.774214051557675e+06 + 2.834222264764299e+06 + 2.893861823757447e+06 + 2.953132533220919e+06 + 3.012034206115212e+06 + 3.070566663677527e+06 + 3.128729735421764e+06 + 3.186523259138526e+06 + 3.243947080895115e+06 + 3.301001055035538e+06 + 3.357685044180497e+06 + 3.413998919227402e+06 + 3.469942559350358e+06 + 3.525515852000176e+06 + 3.580718692904367e+06 + 3.635550986067140e+06 + 3.690012643769410e+06 + 3.744103586568788e+06 + 3.797823743299592e+06 + 3.851173051072835e+06 + 3.904151455276238e+06 + 3.956758909574216e+06 + 4.008995375907890e+06 + 4.060860824495079e+06 + 4.112355233830309e+06 + 4.163478590684799e+06 + 4.214230890106475e+06 + 4.264612135419963e+06 + 4.314622338226588e+06 + 4.364261518404378e+06 + 4.413529704108060e+06 + 4.462426931769069e+06 + 4.510953246095533e+06 + 4.559108700072286e+06 + 4.606893354960858e+06 + 4.654307280299488e+06 + 4.701350553903108e+06 + 4.748023261863358e+06 + 4.794325498548575e+06 + 4.840257366603798e+06 + 4.885818976950768e+06 + 4.931010448787929e+06 + 4.975831909590418e+06 + 5.020283495110085e+06 + 5.064365349375471e+06 + 5.108077624691823e+06 + 5.151420481641092e+06 + 5.194394089081923e+06 + 5.236998624149668e+06 + 5.279234272256376e+06 + 5.321101227090800e+06 + 5.362599690618395e+06 + 5.403729873081312e+06 + 5.444491992998408e+06 + 5.484886277165242e+06 + 5.524912960654069e+06 + 5.564572286813851e+06 + 5.603864507270245e+06 + 5.642789881925615e+06 + 5.681348678959022e+06 + 5.719541174826232e+06 + 5.757367654259708e+06 + 5.794828410268617e+06 + 5.831923744138825e+06 + 5.868653965432902e+06 + 5.905019391990117e+06 + 5.941020349926441e+06 + 5.976657173634544e+06 + 6.011930205783804e+06 + 6.046839797320290e+06 + 6.081386307466779e+06 + 6.115570103722748e+06 + 6.149391561864376e+06 + 6.182851065944540e+06 + 6.215949008292822e+06 + 6.248685789515501e+06 + 6.281061818495561e+06 + 6.313077512392686e+06 + 6.344733296643257e+06 + 6.376029604960365e+06 + 6.406966879333793e+06 + 6.437545570030033e+06 + 6.467766135592271e+06 + 6.497629042840399e+06 + 6.527134766871008e+06 + 6.556283791057392e+06 + 6.585076607049545e+06 + 6.613513714774162e+06 + 6.641595622434638e+06 + 6.669322846511072e+06 + 6.696695911760264e+06 + 6.723715351215711e+06 + 6.750381706187615e+06 + 6.776695526262878e+06 + 6.802657369305105e+06 + 6.828267801454599e+06 + 6.853527397128366e+06 + 6.878436739020114e+06 + 6.902996418100249e+06 + 6.927207033615881e+06 + 6.951069193090819e+06 + 6.974583512325577e+06 + 6.997750615397365e+06 + 7.020571134660101e+06 + 7.043045710744397e+06 + 7.065174992557568e+06 + 7.086959637283633e+06 + 7.108400310383311e+06 + 7.129497685594021e+06 + 7.150252444929884e+06 + 7.170665278681723e+06 + 7.190736885417059e+06 + 7.210467971980117e+06 + 7.229859253491821e+06 + 7.248911453349800e+06 + 7.267625303228384e+06 + 7.286001543078595e+06 + 7.304040921128170e+06 + 7.321744193881537e+06 + 7.339112126119829e+06 + 7.356145490900878e+06 + 7.372845069559221e+06 + 7.389211651706094e+06 + 7.405246035229432e+06 + 7.420949026293878e+06 + 7.436321439340766e+06 + 7.451364097088138e+06 + 7.466077830530737e+06 + 7.480463478940005e+06 + 7.494521889864086e+06 + 7.508253919127826e+06 + 7.521660430832772e+06 + 7.534742297357169e+06 + 7.547500399355968e+06 + 7.559935625760819e+06 + 7.572048873780073e+06 + 7.583841048898782e+06 + 7.595313064878696e+06 + 7.606465843758276e+06 + 7.617300315852673e+06 + 7.627817419753745e+06 + 7.638018102330050e+06 + 7.647903318726848e+06 + 7.657474032366097e+06 + 7.666731214946462e+06 + 7.675675846443305e+06 + 7.684308915108687e+06 + 7.692631417471377e+06 + 7.700644358336839e+06 + 7.708348750787240e+06 + 7.715745616181449e+06 + 7.722835984155037e+06 + 7.729620892620270e+06 + 7.736101387766127e+06 + 7.742278524058277e+06 + 7.748153364239094e+06 + 7.753726979327655e+06 + 7.759000448619737e+06 + 7.763974859687817e+06 + 7.768651308381077e+06 + 7.773030898825390e+06 + 7.777114743423343e+06 + 7.780903962854218e+06 + 7.784399686073998e+06 + 7.787603050315368e+06 + 7.790515201087713e+06 + 7.793137292177119e+06 + 7.795470485646380e+06 + 7.797515951834979e+06 + 7.799274869359110e+06 + 7.800748425111664e+06 + 7.801937814262233e+06 + 7.802844240257111e+06 + 7.803468914819297e+06 + 7.803813057948484e+06 + 7.803877897921070e+06 + 7.803664671290156e+06 + 7.803174622885538e+06 + 7.802409005813722e+06 + 7.801369081457905e+06 + 7.800056119477995e+06 + 7.798471397810592e+06 + 7.796616202669007e+06 + 7.794491828543244e+06 + 7.792099578200010e+06 + 7.789440762682715e+06 + 7.786516701311473e+06 + 7.783328721683091e+06 + 7.779878159671083e+06 + 7.776166359425665e+06 + 7.772194673373749e+06 + 7.767964462218953e+06 + 7.763477094941595e+06 + 7.758733948798692e+06 + 7.753736409323964e+06 + 7.748485870327833e+06 + 7.742983733897421e+06 + 7.737231410396548e+06 + 7.731230318465743e+06 + 7.724981885022229e+06 + 7.718487545259933e+06 + 7.711748742649483e+06 + 7.704766928938209e+06 + 7.697543564150140e+06 + 7.690080116586007e+06 + 7.682378062823243e+06 + 7.674438887715982e+06 + 7.666264084395060e+06 + 7.657855154268012e+06 + 7.649213607019073e+06 + 7.640340960609185e+06 + 7.631238741275986e+06 + 7.621908483533815e+06 + 7.612351730173716e+06 + 7.602570032263434e+06 + 7.592564949147409e+06 + 7.582338048446788e+06 + 7.571890906059416e+06 + 7.561225106159844e+06 + 7.550342241199316e+06 + 7.539243911905785e+06 + 7.527931727283904e+06 + 7.516407304615024e+06 + 7.504672269457198e+06 + 7.492728241314434e+06 + 7.480576638153253e+06 + 7.468218723741564e+06 + 7.455655760425863e+06 + 7.442889013018662e+06 + 7.429919748798485e+06 + 7.416749237509867e+06 + 7.403378751363355e+06 + 7.389809565035504e+06 + 7.376042955668893e+06 + 7.362080202872100e+06 + 7.347922588719724e+06 + 7.333571397752370e+06 + 7.319027916976659e+06 + 7.304293435865226e+06 + 7.289369246356713e+06 + 7.274256642855777e+06 + 7.258956922233087e+06 + 7.243471383825325e+06 + 7.227801329435183e+06 + 7.211948063331366e+06 + 7.195912892248592e+06 + 7.179697125387593e+06 + 7.163302074415106e+06 + 7.146729053463890e+06 + 7.129979379132709e+06 + 7.113054370486340e+06 + 7.095955349055575e+06 + 7.078683638837219e+06 + 7.061240566294081e+06 + 7.043627460354994e+06 + 7.025845652414794e+06 + 7.007896476334333e+06 + 6.989781268440476e+06 + 6.971501367526096e+06 + 6.953058114850082e+06 + 6.934452854137335e+06 + 6.915686931578767e+06 + 6.896761695831302e+06 + 6.877678498017876e+06 + 6.858438691727439e+06 + 6.839043633014950e+06 + 6.819494680401385e+06 + 6.799793194873727e+06 + 6.779940539884974e+06 + 6.759938081354136e+06 + 6.739787187666233e+06 + 6.719489229672301e+06 + 6.699045580689385e+06 + 6.678457616500544e+06 + 6.657726715354848e+06 + 6.636854257967380e+06 + 6.615841627519235e+06 + 6.594690209657516e+06 + 6.573401392495350e+06 + 6.551976566611862e+06 + 6.530417125052197e+06 + 6.508724463327511e+06 + 6.486899979414972e+06 + 6.464945073757762e+06 + 6.442861149265066e+06 + 6.420649611312096e+06 + 6.398311867740063e+06 + 6.375849328856199e+06 + 6.353263407433745e+06 + 6.330555518711952e+06 + 6.307727080396090e+06 + 6.284779512657427e+06 + 6.261714238133261e+06 + 6.238532681926889e+06 + 6.215236271607627e+06 + 6.191826437210800e+06 + 6.168304611237747e+06 + 6.144672228655818e+06 + 6.120930726898375e+06 + 6.097081545864792e+06 + 6.073126127920459e+06 + 6.049065917896771e+06 + 6.024902363091142e+06 + 6.000636913266994e+06 + 5.976271020653763e+06 + 5.951806139946896e+06 + 5.927243728307854e+06 + 5.902585245364108e+06 + 5.877832153209144e+06 + 5.852985916402456e+06 + 5.828048001969552e+06 + 5.803019879401957e+06 + 5.777903020657199e+06 + 5.752698900158828e+06 + 5.727408994796395e+06 + 5.702034783925475e+06 + 5.676577749367647e+06 + 5.651039375410506e+06 + 5.625421148807654e+06 + 5.599724558778713e+06 + 5.573951097009313e+06 + 5.548102257651095e+06 + 5.522179537321717e+06 + 5.496184435104840e+06 + 5.470118452550147e+06 + 5.443983093673326e+06 + 5.417779864956085e+06 + 5.391510275346133e+06 + 5.365175836257203e+06 + 5.338778061569033e+06 + 5.312318467627374e+06 + 5.285798573243992e+06 + 5.259219899696662e+06 + 5.232583970729172e+06 + 5.205892312551324e+06 + 5.179146453838928e+06 + 5.152347925733812e+06 + 5.125498261843814e+06 + 5.098598998242779e+06 + 5.071651673470572e+06 + 5.044657828533064e+06 + 5.017619006902143e+06 + 4.990536754515706e+06 + 4.963412619777663e+06 + 4.936248153557934e+06 + 4.909044909192459e+06 + 4.881804442483181e+06 + 4.854528311698059e+06 + 4.827218077571064e+06 + 4.799875303302180e+06 + 4.772501554557402e+06 + 4.745098399468737e+06 + 4.717667408634203e+06 + 4.690210155117837e+06 + 4.662728214449679e+06 + 4.635223164625784e+06 + 4.607696586108224e+06 + 4.580150061825077e+06 + 4.552585177170437e+06 + 4.525003520004408e+06 + 4.497406680653105e+06 + 4.469796251908661e+06 + 4.442173829029216e+06 + 4.414541009738924e+06 + 4.386899394227949e+06 + 4.359250585152469e+06 + 4.331596187634676e+06 + 4.303937809262771e+06 + 4.276277060090966e+06 + 4.248615552639492e+06 + 4.220954901894585e+06 + 4.193296725308497e+06 + 4.165642642799490e+06 + 4.137994276751838e+06 + 4.110353252015833e+06 + 4.082721195907769e+06 + 4.055099738209962e+06 + 4.027490511170732e+06 + 3.999895149504419e+06 + 3.972315290391369e+06 + 3.944752573477943e+06 + 3.917208640876513e+06 + 3.889685137165464e+06 + 3.862183709389194e+06 + 3.834706007058111e+06 + 3.807253682148634e+06 + 3.779828389103201e+06 + 3.752431784830255e+06 + 3.725065528704253e+06 + 3.697731282565667e+06 + 3.670430710720977e+06 + 3.643165479942679e+06 + 3.615937259469279e+06 + 3.588747721005293e+06 + 3.561598538721256e+06 + 3.534491389253709e+06 + 3.507427951705208e+06 + 3.480409907644318e+06 + 3.453438941105620e+06 + 3.426516738589706e+06 + 3.399644989063177e+06 + 3.372825383958653e+06 + 3.346070405300663e+06 + 3.319465764034668e+06 + 3.293075510459727e+06 + 3.266878224028187e+06 + 3.240869303162930e+06 + 3.215052515525467e+06 + 3.189425288821125e+06 + 3.163986116962672e+06 + 3.138734196986282e+06 + 3.113668261011591e+06 + 3.088787111422079e+06 + 3.064089610843659e+06 + 3.039574592322599e+06 + 3.015240898358055e+06 + 2.991087379108502e+06 + 2.967112887579310e+06 + 2.943316282301805e+06 + 2.919696425519270e+06 + 2.896252185185970e+06 + 2.872982434032476e+06 + 2.849886048305633e+06 + 2.826961910405915e+06 + 2.804208907130155e+06 + 2.781625929123051e+06 + 2.759211873644148e+06 + 2.736965641930875e+06 + 2.714886139213983e+06 + 2.692972277509980e+06 + 2.671222972611625e+06 + 2.649637144535781e+06 + 2.628213719738566e+06 + 2.606951628696007e+06 + 2.585849806893141e+06 + 2.564907195391811e+06 + 2.544122739173453e+06 + 2.523495389008342e+06 + 2.503024101022326e+06 + 2.482707834844927e+06 + 2.462545556054412e+06 + 2.442536236120740e+06 + 2.422678849863131e+06 + 2.402972377820649e+06 + 2.383415806334849e+06 + 2.364008125120872e+06 + 2.344748329835404e+06 + 2.325635421794777e+06 + 2.306668405813749e+06 + 2.287846292982958e+06 + 2.269168099757709e+06 + 2.250632846050586e+06 + 2.232239558087812e+06 + 2.213987266957964e+06 + 2.195875007435864e+06 + 2.177901821473463e+06 + 2.160066755143500e+06 + 2.142368857948063e+06 + 2.124807187017495e+06 + 2.107380803567688e+06 + 2.090088772295509e+06 + 2.072930165358991e+06 + 2.055904058912681e+06 + 2.039009532618940e+06 + 2.022245673041180e+06 + 2.005611571515091e+06 + 1.989106323649552e+06 + 1.972729030298793e+06 + 1.956478797095825e+06 + 1.940354734917566e+06 + 1.924355960016194e+06 + 1.908481592593613e+06 + 1.892730757829583e+06 + 1.877102587255698e+06 + 1.861596215902473e+06 + 1.846210783186639e+06 + 1.830945435012332e+06 + 1.815799321323061e+06 + 1.800771597138300e+06 + 1.785861422681660e+06 + 1.771067961851037e+06 + 1.756390384114008e+06 + 1.741827864373811e+06 + 1.727379581118251e+06 + 1.713044718232857e+06 + 1.698822464839031e+06 + 1.684712013805151e+06 + 1.670712563808684e+06 + 1.656823318006428e+06 + 1.643043483055245e+06 + 1.629372271790869e+06 + 1.615808901794204e+06 + 1.602352594044968e+06 + 1.589002574975609e+06 + 1.575758076322615e+06 + 1.562618333634041e+06 + 1.549582587186907e+06 + 1.536650081999105e+06 + 1.523820067124634e+06 + 1.511091797064626e+06 + 1.498464530780005e+06 + 1.485937531189585e+06 + 1.473510066471004e+06 + 1.461181408848471e+06 + 1.448950834625962e+06 + 1.436817625926470e+06 + 1.424781068397768e+06 + 1.412840451407005e+06 + 1.400995070309470e+06 + 1.389244224245752e+06 + 1.377587216393601e+06 + 1.366023355231714e+06 + 1.354551952598923e+06 + 1.343172324427429e+06 + 1.331883792566280e+06 + 1.320685682335073e+06 + 1.309577322956444e+06 + 1.298558048406515e+06 + 1.287627196362487e+06 + 1.276784109496439e+06 + 1.266028134784103e+06 + 1.255358622320226e+06 + 1.244774926866806e+06 + 1.234276408467881e+06 + 1.223862430240984e+06 + 1.213532358913532e+06 + 1.203285566621101e+06 + 1.193121428991948e+06 + 1.183039325468658e+06 + 1.173038640304339e+06 + 1.163118761212139e+06 + 1.153279079987504e+06 + 1.143518992564451e+06 + 1.133837898317260e+06 + 1.124235201394960e+06 + 1.114710310121780e+06 + 1.105262636013577e+06 + 1.095891594215875e+06 + 1.086596604396163e+06 + 1.077377090233802e+06 + 1.068232479242110e+06 + 1.059162202266971e+06 + 1.050165693700918e+06 + 1.041242393088349e+06 + 1.032391743039430e+06 + 1.023613189178869e+06 + 1.014906181731556e+06 + 1.006270174355871e+06 + 9.977046244036794e+05 + 9.892089935677024e+05 + 9.807827465832273e+05 + 9.724253516436865e+05 + 9.641362810046984e+05 + 9.559150102252770e+05 + 9.477610188719215e+05 + 9.396737899139688e+05 + 9.316528091743080e+05 + 9.236975665277143e+05 + 9.158075561735997e+05 + 9.079822751134991e+05 + 9.002212236533747e+05 + 8.925239057014534e+05 + 8.848898281604102e+05 + 8.773185021612709e+05 + 8.698094424648809e+05 + 8.623621663528095e+05 + 8.549761944053203e+05 + 8.476510510446843e+05 + 8.403862637513808e+05 + 8.331813638606276e+05 + 8.260358860837971e+05 + 8.189493675787508e+05 + 8.119213484350282e+05 + 8.049513730504208e+05 + 7.980389891667470e+05 + 7.911837471192866e+05 + 7.843852003599521e+05 + 7.776429053419405e+05 + 7.709564221446526e+05 + 7.643253140173181e+05 + 7.577491471803443e+05 + 7.512274911598503e+05 + 7.447599180231568e+05 + 7.383460026539576e+05 + 7.319853241781880e+05 + 7.256774641850799e+05 + 7.194220067146936e+05 + 7.132185395309449e+05 + 7.070666529520636e+05 + 7.009659400728574e+05 + 6.949159975085063e+05 + 6.889164244086053e+05 + 6.829668228095188e+05 + 6.770667979456050e+05 + 6.712159574726904e+05 + 6.654139120281750e+05 + 6.596602754201142e+05 + 6.539546638052445e+05 + 6.482966962660485e+05 + 6.426859949531512e+05 + 6.371221843431445e+05 + 6.316048918617199e+05 + 6.261337478197705e+05 + 6.207083848228143e+05 + 6.153284385055641e+05 + 6.099935472682050e+05 + 6.047033517354903e+05 + 5.994574954765684e+05 + 5.942556247644721e+05 + 5.890973881315375e+05 + 5.839824370501742e+05 + 5.789104255366600e+05 + 5.738810098259439e+05 + 5.688938490610282e+05 + 5.639486048510919e+05 + 5.590449410545636e+05 + 5.541825244030216e+05 + 5.493610239467514e+05 + 5.445801109611018e+05 + 5.398394595653637e+05 + 5.351387461239359e+05 + 5.304776492529869e+05 + 5.258558503354813e+05 + 5.212730328842620e+05 + 5.167288826663374e+05 + 5.122230881980868e+05 + 5.077553400369428e+05 + 5.033253309731948e+05 + 4.989327564601310e+05 + 4.945773139811803e+05 + 4.902587033143605e+05 + 4.859766266490913e+05 + 4.817307881770549e+05 + 4.775208945372272e+05 + 4.733466546121029e+05 + 4.692077791818720e+05 + 4.651039814988278e+05 + 4.610349770333872e+05 + 4.570004830895544e+05 + 4.530002193970305e+05 + 4.490339078641191e+05 + 4.451012721716975e+05 + 4.412020383482487e+05 + 4.373359346346440e+05 + 4.335026910461138e+05 + 4.297020398291695e+05 + 4.259337153289251e+05 + 4.221974536699117e+05 + 4.184929932504728e+05 + 4.148200744355357e+05 + 4.111784393468680e+05 + 4.075678324287459e+05 + 4.039879999559653e+05 + 4.004386899065928e+05 + 3.969196525836200e+05 + 3.934306400492930e+05 + 3.899714060581240e+05 + 3.865417066557175e+05 + 3.831412995849459e+05 + 3.797699442729113e+05 + 3.764274023566474e+05 + 3.731134371233769e+05 + 3.698278135622827e+05 + 3.665702987827645e+05 + 3.633406615280775e+05 + 3.601386722825769e+05 + 3.569641034535824e+05 + 3.538167290782596e+05 + 3.506963250581825e+05 + 3.476026690576235e+05 + 3.445355402744773e+05 + 3.414947198014101e+05 + 3.384799905288533e+05 + 3.354911367821696e+05 + 3.325279446663284e+05 + 3.295902021531574e+05 + 3.266776986085196e+05 + 3.237902250531212e+05 + 3.209275743946921e+05 + 3.180895409646722e+05 + 3.152759207164211e+05 + 3.124865112943467e+05 + 3.097211117598721e+05 + 3.069795229448014e+05 + 3.042615472339510e+05 + 3.015669883675390e+05 + 2.988956518738279e+05 + 2.962473447339852e+05 + 2.936218752484120e+05 + 2.910190535228683e+05 + 2.884386911235514e+05 + 2.858806009067059e+05 + 2.833445973150213e+05 + 2.808304963224871e+05 + 2.783381153152796e+05 + 2.758672731341289e+05 + 2.734177900017136e+05 + 2.709894875428715e+05 + 2.685821889451269e+05 + 2.661957187314447e+05 + 2.638299027837526e+05 + 2.614845683836235e+05 + 2.591595441417535e+05 + 2.568546601323142e+05 + 2.545697477628685e+05 + 2.523046396706559e+05 + 2.500591699434964e+05 + 2.478331740644226e+05 + 2.456264886409644e+05 + 2.434389516128850e+05 + 2.412704023657298e+05 + 2.391206814330098e+05 + 2.369896306904384e+05 + 2.348770933197599e+05 + 2.327829136173563e+05 + 2.307069372775990e+05 + 2.286490111745211e+05 + 2.266089832623643e+05 + 2.245867029748616e+05 + 2.225820209237310e+05 + 2.205947887183862e+05 + 2.186248592921233e+05 + 2.166720868039439e+05 + 2.147363264605261e+05 + 2.128174347706827e+05 + 2.109152693889452e+05 + 2.090296889843596e+05 + 2.071605535077064e+05 + 2.053077240108720e+05 + 2.034710625599661e+05 + 2.016504325007521e+05 + 1.998456982030229e+05 + 1.980567250370223e+05 + 1.962833797138016e+05 + 1.945255298870997e+05 + 1.927830441323482e+05 + 1.910557922964590e+05 + 1.893436452442803e+05 + 1.876464748512476e+05 + 1.859641540986015e+05 + 1.842965568967865e+05 + 1.826435581738182e+05 + 1.810050340354470e+05 + 1.793808614993985e+05 + 1.777709185575675e+05 + 1.761750842223128e+05 + 1.745932384546507e+05 + 1.730252623268235e+05 + 1.714710377603550e+05 + 1.699304475698536e+05 + 1.684033757560533e+05 + 1.668897071565261e+05 + 1.653893274220018e+05 + 1.639021233234161e+05 + 1.624279825159149e+05 + 1.609667934564489e+05 + 1.595184456811041e+05 + 1.580828296015031e+05 + 1.566598363968120e+05 + 1.552493582649543e+05 + 1.538512882702573e+05 + 1.524655202573447e+05 + 1.510919491064028e+05 + 1.497304705096718e+05 + 1.483809809029638e+05 + 1.470433777326744e+05 + 1.457175592117312e+05 + 1.444034242942686e+05 + 1.431008729933990e+05 + 1.418098060421684e+05 + 1.405301248671864e+05 + 1.392617319094920e+05 + 1.380045303259556e+05 + 1.367584239714278e+05 + 1.355233176631985e+05 + 1.342991169575939e+05 + 1.330857281367400e+05 + 1.318830583220329e+05 + 1.306910153813551e+05 + 1.295095079605118e+05 + 1.283384454277201e+05 + 1.271777378619642e+05 + 1.260272961737778e+05 + 1.248870320778846e+05 + 1.237568578844075e+05 + 1.226366865814357e+05 + 1.215264320654815e+05 + 1.204260088572700e+05 + 1.193353321256488e+05 + 1.182543179024696e+05 + 1.171828828329888e+05 + 1.161209441971572e+05 + 1.150684200368906e+05 + 1.140252290172446e+05 + 1.129912905290012e+05 + 1.119665246989244e+05 + 1.109508522377596e+05 + 1.099441945145749e+05 + 1.089464735474612e+05 + 1.079576119759672e+05 + 1.069775332658437e+05 + 1.060061613940063e+05 + 1.050434208615313e+05 + 1.040892370245828e+05 + 1.031435357647047e+05 + 1.022062434696232e+05 + 1.012772873208916e+05 + 1.003565950684523e+05 + 9.944409498683986e+04 + 9.853971604124359e+04 + 9.764338777276211e+04 + 9.675504027159151e+04 + 9.587460425195689e+04 + 9.500201099602232e+04 + 9.413719236230559e+04 + 9.328008081668093e+04 + 9.243060935253548e+04 + 9.158871152497102e+04 + 9.075432150057999e+04 + 8.992737394814150e+04 + 8.910780408381460e+04 + 8.829554772812854e+04 + 8.749054118346877e+04 + 8.669272128864085e+04 + 8.590202548133289e+04 + 8.511839166524833e+04 + 8.434175826486869e+04 + 8.357206428147563e+04 + 8.280924917713979e+04 + 8.205325293940101e+04 + 8.130401609766987e+04 + 8.056147962909786e+04 + 7.982558503959214e+04 + 7.909627435336930e+04 + 7.837349003289423e+04 + 7.765717506702039e+04 + 7.694727293156023e+04 + 7.624372753229675e+04 + 7.554648331079309e+04 + 7.485548516457589e+04 + 7.417067840840557e+04 + 7.349200889763620e+04 + 7.281942291879337e+04 + 7.215286716185752e+04 + 7.149228885123666e+04 + 7.083763563584826e+04 + 7.018885556144921e+04 + 6.954589717270633e+04 + 6.890870943981725e+04 + 6.827724174191867e+04 + 6.765144392787226e+04 + 6.703126624692857e+04 + 6.641665935636370e+04 + 6.580757439267423e+04 + 6.520396286738058e+04 + 6.460577668030654e+04 + 6.401296820028803e+04 + 6.342549017134596e+04 + 6.284329573351656e+04 + 6.226633845994343e+04 + 6.169457228450359e+04 + 6.112795154311772e+04 + 6.056643099463883e+04 + 6.000996574136701e+04 + 5.945851127624574e+04 + 5.891202351267684e+04 + 5.837045869755570e+04 + 5.783377345558033e+04 + 5.730192482224794e+04 + 5.677487016169035e+04 + 5.625256720967715e+04 + 5.573497408983271e+04 + 5.522204924870504e+04 + 5.471375150828325e+04 + 5.421004006036229e+04 + 5.371087441354901e+04 + 5.321621444975662e+04 + 5.272602039469258e+04 + 5.224025278120609e+04 + 5.175887251825204e+04 + 5.128184085536604e+04 + 5.080911934597862e+04 + 5.034066989608183e+04 + 4.987645473684455e+04 + 4.941643640415772e+04 + 4.896057778639881e+04 + 4.850884207769758e+04 + 4.806119277190277e+04 + 4.761759372195903e+04 + 4.717800906318111e+04 + 4.674240321587012e+04 + 4.631074096205200e+04 + 4.588298735942246e+04 + 4.545910774537743e+04 + 4.503906779825089e+04 + 4.462283347373459e+04 + 4.421037101686000e+04 + 4.380164697651120e+04 + 4.339662816996042e+04 + 4.299528171729217e+04 + 4.259757504220949e+04 + 4.220347581706527e+04 + 4.181295199605238e+04 + 4.142597183433527e+04 + 4.104250383855765e+04 + 4.066251680332360e+04 + 4.028597979815155e+04 + 3.991286213370509e+04 + 3.954313341370015e+04 + 3.917676350485435e+04 + 3.881372250661203e+04 + 3.845398080843414e+04 + 3.809750905736740e+04 + 3.774427812448402e+04 + 3.739425915595785e+04 + 3.704742356207799e+04 + 3.670374297805164e+04 + 3.636318929176292e+04 + 3.602573463927982e+04 + 3.569135138416072e+04 + 3.536001215672983e+04 + 3.503168981923036e+04 + 3.470635744840465e+04 + 3.438398837321134e+04 + 3.406455615393208e+04 + 3.374803457309094e+04 + 3.343439765983423e+04 + 3.312361965186892e+04 + 3.281567499925836e+04 + 3.251053841177231e+04 + 3.220818480242078e+04 + 3.190858928930939e+04 + 3.161172723179306e+04 + 3.131757418548949e+04 + 3.102610591483113e+04 + 3.073729842710719e+04 + 3.045112791454117e+04 + 3.016757076691534e+04 + 2.988660361584138e+04 + 2.960820327321778e+04 + 2.933234674204399e+04 + 2.905901125674980e+04 + 2.878817423326317e+04 + 2.851981328372868e+04 + 2.825390622682930e+04 + 2.799043106146120e+04 + 2.772936599846356e+04 + 2.747068942978120e+04 + 2.721437991599866e+04 + 2.696041623625263e+04 + 2.670877735469368e+04 + 2.645944239579323e+04 + 2.621239068106394e+04 + 2.596760172331024e+04 + 2.572505519859007e+04 + 2.548473096648493e+04 + 2.524660907253227e+04 + 2.501066972455740e+04 + 2.477689330466365e+04 + 2.454526037995217e+04 + 2.431575168300119e+04 + 2.408834810912627e+04 + 2.386303072521571e+04 + 2.363978076395976e+04 + 2.341857962988761e+04 + 2.319940888531031e+04 + 2.298225025100848e+04 + 2.276708562349589e+04 + 2.255389704384009e+04 + 2.234266670372097e+04 + 2.213337697918792e+04 + 2.192601038403303e+04 + 2.172054957464747e+04 + 2.151697738916041e+04 + 2.131527680276242e+04 + 2.111543093252480e+04 + 2.091742306098243e+04 + 2.072123660422193e+04 + 2.052685512482519e+04 + 2.033426234716574e+04 + 2.014344212098682e+04 + 1.995437843426629e+04 + 1.976705544479930e+04 + 1.958145743480243e+04 + 1.939756881213320e+04 + 1.921537413684756e+04 + 1.903485810052154e+04 + 1.885600554387774e+04 + 1.867880143037429e+04 + 1.850323084111479e+04 + 1.832927901452323e+04 + 1.815693131178678e+04 + 1.798617320994377e+04 + 1.781699034075772e+04 + 1.764936845332217e+04 + 1.748329340510924e+04 + 1.731875119617678e+04 + 1.715572795110660e+04 + 1.699420990919751e+04 + 1.683418344358223e+04 + 1.667563503873475e+04 + 1.651855128954979e+04 + 1.636291893365341e+04 + 1.620872481606836e+04 + 1.605595588699932e+04 + 1.590459923143625e+04 + 1.575464203906202e+04 + 1.560607160533683e+04 + 1.545887535681969e+04 + 1.531304082443131e+04 + 1.516855564487381e+04 + 1.502540756956110e+04 + 1.488358445432479e+04 + 1.474307426938193e+04 + 1.460386509288249e+04 + 1.446594509814283e+04 + 1.432930256776952e+04 + 1.419392589719183e+04 + 1.405980357729324e+04 + 1.392692420658459e+04 + 1.379527648729671e+04 + 1.366484921045415e+04 + 1.353563127160237e+04 + 1.340761167272577e+04 + 1.328077950662285e+04 + 1.315512397004589e+04 + 1.303063434970357e+04 + 1.290730001970431e+04 + 1.278511047006237e+04 + 1.266405528001385e+04 + 1.254412410683634e+04 + 1.242530670538782e+04 + 1.230759293022181e+04 + 1.219097272173875e+04 + 1.207543611008671e+04 + 1.196097321598039e+04 + 1.184757424417080e+04 + 1.173522949287449e+04 + 1.162392934478714e+04 + 1.151366426384512e+04 + 1.140442480834694e+04 + 1.129620161634352e+04 + 1.118898540470730e+04 + 1.108276698378667e+04 + 1.097753724013271e+04 + 1.087328713748510e+04 + 1.077000773143687e+04 + 1.066769015148828e+04 + 1.056632560317495e+04 + 1.046590537899618e+04 + 1.036642084361778e+04 + 1.026786343864257e+04 + 1.017022468912003e+04 + 1.007349618928313e+04 + 9.977669609110566e+03 + 9.882736699245763e+03 + 9.788689277747368e+03 + 9.695519238085319e+03 + 9.603218551128393e+03 + 9.511779252802526e+03 + 9.421193453258842e+03 + 9.331453338088948e+03 + 9.242551155902798e+03 + 9.154479227014926e+03 + 9.067229945268125e+03 + 8.980795767109534e+03 + 8.895169220035050e+03 + 8.810342900070031e+03 + 8.726309463870590e+03 + 8.643061639313548e+03 + 8.560592220958239e+03 + 8.478894062727115e+03 + 8.397960086705119e+03 + 8.317783279679375e+03 + 8.238356687487571e+03 + 8.159673421912185e+03 + 8.081726656780256e+03 + 8.004509624589081e+03 + 7.928015622553179e+03 + 7.852238006535134e+03 + 7.777170190090504e+03 + 7.702805651284038e+03 + 7.629137923269694e+03 + 7.556160595291118e+03 + 7.483867321684783e+03 + 7.412251809739373e+03 + 7.341307820993124e+03 + 7.271029178292266e+03 + 7.201409756944273e+03 + 7.132443488123264e+03 + 7.064124361053455e+03 + 6.996446414793790e+03 + 6.929403743407001e+03 + 6.862990497342477e+03 + 6.797200875139910e+03 + 6.732029129721631e+03 + 6.667469570161823e+03 + 6.603516551523545e+03 + 6.540164480186692e+03 + 6.477407817185619e+03 + 6.415241069687017e+03 + 6.353658796883785e+03 + 6.292655608307650e+03 + 6.232226157518487e+03 + 6.172365149982773e+03 + 6.113067340658933e+03 + 6.054327527853383e+03 + 5.996140560115221e+03 + 5.938501333076975e+03 + 5.881404784939355e+03 + 5.824845903828315e+03 + 5.768819722461626e+03 + 5.713321315085574e+03 + 5.658345805472132e+03 + 5.603888359764917e+03 + 5.549944184846402e+03 + 5.496508537213697e+03 + 5.443576713947663e+03 + 5.391144051368102e+03 + 5.339205932358427e+03 + 5.287757780134069e+03 + 5.236795058291703e+03 + 5.186313275265001e+03 + 5.136307977685731e+03 + 5.086774751617681e+03 + 5.037709226449485e+03 + 4.989107068721900e+03 + 4.940963984504954e+03 + 4.893275721702213e+03 + 4.846038063285039e+03 + 4.799246830729600e+03 + 4.752897888312231e+03 + 4.706987133608333e+03 + 4.661510499922751e+03 + 4.616463963202395e+03 + 4.571843532909213e+03 + 4.527645253893021e+03 + 4.483865209302220e+03 + 4.440499515324517e+03 + 4.397544325863069e+03 + 4.354995830474305e+03 + 4.312850249817291e+03 + 4.271103841242844e+03 + 4.229752898292512e+03 + 4.188793745275323e+03 + 4.148222740634546e+03 + 4.108036277499050e+03 + 4.068230779797937e+03 + 4.028802705831530e+03 + 3.989748546349355e+03 + 3.951064821861195e+03 + 3.912748086813885e+03 + 3.874794926585441e+03 + 3.837201956255947e+03 + 3.799965825835211e+03 + 3.763083213042953e+03 + 3.726550823283946e+03 + 3.690365398229224e+03 + 3.654523706502605e+03 + 3.619022543185401e+03 + 3.583858737044133e+03 + 3.549029144619817e+03 + 3.514530650270483e+03 + 3.480360168271582e+03 + 3.446514639490202e+03 + 3.412991033253400e+03 + 3.379786348393921e+03 + 3.346897609451590e+03 + 3.314321868815865e+03 + 3.282056205761040e+03 + 3.250097724763853e+03 + 3.218443559530467e+03 + 3.187090870156345e+03 + 3.156036839918450e+03 + 3.125278679259401e+03 + 3.094813626126841e+03 + 3.064638941053712e+03 + 3.034751909739014e+03 + 3.005149845581890e+03 + 2.975830084543172e+03 + 2.946789986568892e+03 + 2.918026936797055e+03 + 2.889538343339952e+03 + 2.861321641252218e+03 + 2.833374286700636e+03 + 2.805693756659566e+03 + 2.778277556469224e+03 + 2.751123212016022e+03 + 2.724228269242043e+03 + 2.697590301914011e+03 + 2.671206904109025e+03 + 2.645075688971241e+03 + 2.619194294405700e+03 + 2.593560380141823e+03 + 2.568171626715687e+03 + 2.543025737542386e+03 + 2.518120435211838e+03 + 2.493453462030127e+03 + 2.469022585172818e+03 + 2.444825590018873e+03 + 2.420860280374604e+03 + 2.397124484732366e+03 + 2.373616049394018e+03 + 2.350332838436762e+03 + 2.327272738609171e+03 + 2.304433655218562e+03 + 2.281813512846715e+03 + 2.259410255601743e+03 + 2.237221844685107e+03 + 2.215246260811306e+03 + 2.193481506123082e+03 + 2.171925598942706e+03 + 2.150576574458654e+03 + 2.129432488764117e+03 + 2.108491414442484e+03 + 2.087751441300839e+03 + 2.067210678851041e+03 + 2.046867252353801e+03 + 2.026719303565292e+03 + 2.006764993817073e+03 + 1.987002500493615e+03 + 1.967430017215378e+03 + 1.948045754608514e+03 + 1.928847939062915e+03 + 1.909834815497017e+03 + 1.891004644375446e+03 + 1.872355700452609e+03 + 1.853886275802303e+03 + 1.835594678424827e+03 + 1.817479231062563e+03 + 1.799538272810955e+03 + 1.781770158220284e+03 + 1.764173256646331e+03 + 1.746745953278825e+03 + 1.729486647489427e+03 + 1.712393752933919e+03 + 1.695465699568615e+03 + 1.678700930817119e+03 + 1.662097903850073e+03 + 1.645655091966725e+03 + 1.629370981458450e+03 + 1.613244072202941e+03 + 1.597272880432907e+03 + 1.581455933682248e+03 + 1.565791771294578e+03 + 1.550278951289465e+03 + 1.534916043199639e+03 + 1.519701626827566e+03 + 1.504634298568118e+03 + 1.489712666891078e+03 + 1.474935351996483e+03 + 1.460300988758884e+03 + 1.445808223853118e+03 + 1.431455716350942e+03 + 1.417242138357507e+03 + 1.403166173386480e+03 + 1.389226518010158e+03 + 1.375421881007569e+03 + 1.361750982089843e+03 + 1.348212553926219e+03 + 1.334805341072190e+03 + 1.321528098720046e+03 + 1.308379594477261e+03 + 1.295358607457036e+03 + 1.282463927300085e+03 + 1.269694355823267e+03 + 1.257048705895313e+03 + 1.244525800699936e+03 + 1.232124475203576e+03 + 1.219843575042076e+03 + 1.207681956049559e+03 + 1.195638485404256e+03 + 1.183712040621380e+03 + 1.171901509388141e+03 + 1.160205790292893e+03 + 1.148623791762007e+03 + 1.137154432301071e+03 + 1.125796641257775e+03 + 1.114549357263016e+03 + 1.103411528660030e+03 + 1.092382114454342e+03 + 1.081460082700689e+03 + 1.070644411095300e+03 + 1.059934087579793e+03 + 1.049328108720195e+03 + 1.038825480494848e+03 + 1.028425218971371e+03 + 1.018126348582361e+03 + 1.007927902927668e+03 + 9.978289254104482e+02 + 9.878284675679866e+02 + 9.779255898738762e+02 + 9.681193621623704e+02 + 9.584088623012988e+02 + 9.487931771658360e+02 + 9.392714022763922e+02 + 9.298426409505287e+02 + 9.205060057185552e+02 + 9.112606172437117e+02 + 9.021056036681564e+02 + 8.930401022331439e+02 + 8.840632580637879e+02 + 8.751742235821227e+02 + 8.663721600224155e+02 + 8.576562363107178e+02 + 8.490256285516970e+02 + 8.404795212594149e+02 + 8.320171064683727e+02 + 8.236375833541338e+02 + 8.153401590664150e+02 + 8.071240480244585e+02 + 7.989884718119321e+02 + 7.909326598382663e+02 + 7.829558483527250e+02 + 7.750572805483002e+02 + 7.672362073200991e+02 + 7.594918862313154e+02 + 7.518235817392584e+02 + 7.442305655888715e+02 + 7.367121158939042e+02 + 7.292675176279554e+02 + 7.218960630476328e+02 + 7.145970504767349e+02 + 7.073697847820883e+02 + 7.002135778527235e+02 + 6.931277475695276e+02 + 6.861116184218383e+02 + 6.791645215373005e+02 + 6.722857937677298e+02 + 6.654747784472139e+02 + 6.587308253877042e+02 + 6.520532900189463e+02 + 6.454415341582659e+02 + 6.388949257382737e+02 + 6.324128381494658e+02 + 6.259946511571761e+02 + 6.196397502963263e+02 + 6.133475264197438e+02 + 6.071173768094372e+02 + 6.009487042352257e+02 + 5.948409165626937e+02 + 5.887934278801442e+02 + 5.828056577149104e+02 + 5.768770306335107e+02 + 5.710069770500405e+02 + 5.651949326339243e+02 + 5.594403381224611e+02 + 5.537426401234757e+02 + 5.481012901152631e+02 + 5.425157443662293e+02 + 5.369854648776029e+02 + 5.315099185870243e+02 + 5.260885773011631e+02 + 5.207209179649268e+02 + 5.154064223119497e+02 + 5.101445770921985e+02 + 5.049348740937783e+02 + 4.997768095346806e+02 + 4.946698844046663e+02 + 4.896136047862775e+02 + 4.846074811232588e+02 + 4.796510285618583e+02 + 4.747437670096575e+02 + 4.698852205388910e+02 + 4.650749179071526e+02 + 4.603123926691712e+02 + 4.555971823563725e+02 + 4.509288288727789e+02 + 4.463068788207030e+02 + 4.417308827523721e+02 + 4.372003955530256e+02 + 4.327149765501697e+02 + 4.282741889383891e+02 + 4.238776002586995e+02 + 4.195247821802792e+02 + 4.152153101301976e+02 + 4.109487639564401e+02 + 4.067247273397822e+02 + 4.025427875685178e+02 + 3.984025363858318e+02 + 3.943035692477232e+02 + 3.902454851077117e+02 + 3.862278871965347e+02 + 3.822503823673904e+02 + 3.783125809462488e+02 + 3.744140974100913e+02 + 3.705545496319825e+02 + 3.667335588488600e+02 + 3.629507504654170e+02 + 3.592057531920941e+02 + 3.554981990087823e+02 + 3.518277237997781e+02 + 3.481939667588409e+02 + 3.445965704231110e+02 + 3.410351808614133e+02 + 3.375094474036331e+02 + 3.340190228447264e+02 + 3.305635632260179e+02 + 3.271427276872922e+02 + 3.237561788604219e+02 + 3.204035826343936e+02 + 3.170846077594078e+02 + 3.137989262426811e+02 + 3.105462135925898e+02 + 3.073261480789523e+02 + 3.041384108878384e+02 + 3.009826866110996e+02 + 2.978586626197819e+02 + 2.947660292278245e+02 + 2.917044799774912e+02 + 2.886737110898206e+02 + 2.856734216347172e+02 + 2.827033138205502e+02 + 2.797630925185924e+02 + 2.768524653868921e+02 + 2.739711430162750e+02 + 2.711188386172004e+02 + 2.682952682417776e+02 + 2.655001507075566e+02 + 2.627332073441469e+02 + 2.599941621974095e+02 + 2.572827420191948e+02 + 2.545986760992428e+02 + 2.519416963867954e+02 + 2.493115374004747e+02 + 2.467079361520411e+02 + 2.441306322519956e+02 + 2.415793676749632e+02 + 2.390538868162835e+02 + 2.365539368283623e+02 + 2.340792670618049e+02 + 2.316296291092408e+02 + 2.292047772816256e+02 + 2.268044680583002e+02 + 2.244284601550858e+02 + 2.220765149177526e+02 + 2.197483957886078e+02 + 2.174438683808943e+02 + 2.151627007150871e+02 + 2.129046628991759e+02 + 2.106695273325222e+02 + 2.084570687245048e+02 + 2.062670637405841e+02 + 2.040992912166423e+02 + 2.019535322675416e+02 + 1.998295699356443e+02 + 1.977271893831886e+02 + 1.956461779038128e+02 + 1.935863247355415e+02 + 1.915474213798307e+02 + 1.895292611678483e+02 + 1.875316391958052e+02 + 1.855543528482985e+02 + 1.835972014670904e+02 + 1.816599861324650e+02 + 1.797425099308505e+02 + 1.778445779263947e+02 + 1.759659969484732e+02 + 1.741065756739388e+02 + 1.722661246609050e+02 + 1.704444562587039e+02 + 1.686413847511611e+02 + 1.668567261386198e+02 + 1.650902980928235e+02 + 1.633419201885993e+02 + 1.616114136777071e+02 + 1.598986014805750e+02 + 1.582033083619683e+02 + 1.565253606828442e+02 + 1.548645864376032e+02 + 1.532208154238845e+02 + 1.515938789750561e+02 + 1.499836100268175e+02 + 1.483898432531407e+02 + 1.468124148175615e+02 + 1.452511624739094e+02 + 1.437059256375598e+02 + 1.421765451600804e+02 + 1.406628634671130e+02 + 1.391647245894945e+02 + 1.376819739463268e+02 + 1.362144585029153e+02 + 1.347620267668397e+02 + 1.333245285902542e+02 + 1.319018153476916e+02 + 1.304937399101563e+02 + 1.291001564496927e+02 + 1.277209206089626e+02 + 1.263558894821456e+02 + 1.250049214462411e+02 + 1.236678763269726e+02 + 1.223446153162142e+02 + 1.210350008534558e+02 + 1.197388968258891e+02 + 1.184561684202564e+02 + 1.171866820332312e+02 + 1.159303054814129e+02 + 1.146869078350233e+02 + 1.134563593521917e+02 + 1.122385316718855e+02 + 1.110332976232454e+02 + 1.098405311979204e+02 + 1.086601077608261e+02 + 1.074919038117468e+02 + 1.063357969778381e+02 + 1.051916662270612e+02 + 1.040593916259906e+02 + 1.029388543466298e+02 + 1.018299368341955e+02 + 1.007325226151947e+02 + 9.964649633160360e+01 + 9.857174381861689e+01 + 9.750815195741964e+01 + 9.645560874783912e+01 + 9.541400332430685e+01 + 9.438322582683587e+01 + 9.336316750654088e+01 + 9.235372071959520e+01 + 9.135477878367931e+01 + 9.036623609174318e+01 + 8.938798812110527e+01 + 8.841993128541375e+01 + 8.746196304638978e+01 + 8.651398190997742e+01 + 8.557588728936869e+01 + 8.464757961904559e+01 + 8.372896034435935e+01 + 8.281993180539014e+01 + 8.192039735296085e+01 + 8.103026128111058e+01 + 8.014942874495698e+01 + 7.927780590401203e+01 + 7.841529983858037e+01 + 7.756181847617736e+01 + 7.671727071446733e+01 + 7.588156631674119e+01 + 7.505461587372024e+01 + 7.423633095310755e+01 + 7.342662394299153e+01 + 7.262540803009301e+01 + 7.183259736215271e+01 + 7.104810687905130e+01 + 7.027185230277652e+01 + 6.950375028269488e+01 + 6.874371822566854e+01 + 6.799167430460268e+01 + 6.724753760248480e+01 + 6.651122793902957e+01 + 6.578266588744034e+01 + 6.506177289160765e+01 + 6.434847109859102e+01 + 6.364268339115934e+01 + 6.294433351272004e+01 + 6.225334589309644e+01 + 6.156964567793161e+01 + 6.089315882540817e+01 + 6.022381196253272e+01 + 5.956153243192431e+01 + 5.890624835784802e+01 + 5.825788851805937e+01 + 5.761638239540161e+01 + 5.698166019812880e+01 + 5.635365277455941e+01 + 5.573229169643452e+01 + 5.511750921575248e+01 + 5.450923819422894e+01 + 5.390741220139490e+01 + 5.331196548214332e+01 + 5.272283288224639e+01 + 5.213994992103501e+01 + 5.156325275682114e+01 + 5.099267813956413e+01 + 5.042816349744366e+01 + 4.986964685712531e+01 + 4.931706681520628e+01 + 4.877036264381848e+01 + 4.822947419115650e+01 + 4.769434186145065e+01 + 4.716490671386568e+01 + 4.664111036072763e+01 + 4.612289496053356e+01 + 4.561020331071316e+01 + 4.510297873475514e+01 + 4.460116508782800e+01 + 4.410470685618211e+01 + 4.361354903662819e+01 + 4.312763714409483e+01 + 4.264691728541290e+01 + 4.217133607138089e+01 + 4.170084064118655e+01 + 4.123537869187841e+01 + 4.077489840121474e+01 + 4.031934846724150e+01 + 3.986867813088396e+01 + 3.942283710103097e+01 + 3.898177559914080e+01 + 3.854544435810492e+01 + 3.811379455962712e+01 + 3.768677789368684e+01 + 3.726434656726136e+01 + 3.684645322013298e+01 + 3.643305096011807e+01 + 3.602409338288954e+01 + 3.561953452360934e+01 + 3.521932891649128e+01 + 3.482343153306697e+01 + 3.443179775085747e+01 + 3.404438343901749e+01 + 3.366114490993698e+01 + 3.328203887889210e+01 + 3.290702252020257e+01 + 3.253605343510379e+01 + 3.216908962260722e+01 + 3.180608952699355e+01 + 3.144701200592500e+01 + 3.109181631097627e+01 + 3.074046212448961e+01 + 3.039290952642646e+01 + 3.004911898312090e+01 + 2.970905136572861e+01 + 2.937266792505025e+01 + 2.903993030352619e+01 + 2.871080057194543e+01 + 2.838524113862799e+01 + 2.806321475945346e+01 + 2.774468462701056e+01 + 2.742961427426368e+01 + 2.711796757973106e+01 + 2.680970882898042e+01 + 2.650480264209962e+01 + 2.620321398820359e+01 + 2.590490820737408e+01 + 2.560985096325826e+01 + 2.531800827674159e+01 + 2.502934653543958e+01 + 2.474383242809609e+01 + 2.446143296972707e+01 + 2.418211555345684e+01 + 2.390584787621480e+01 + 2.363259794654911e+01 + 2.336233413255323e+01 + 2.309502509558490e+01 + 2.283063979379989e+01 + 2.256914753657127e+01 + 2.231051792982671e+01 + 2.205472087402378e+01 + 2.180172658443576e+01 + 2.155150556919213e+01 + 2.130402866286656e+01 + 2.105926696778129e+01 + 2.081719185319289e+01 + 2.057777503962135e+01 + 2.034098850331043e+01 + 2.010680447006149e+01 + 1.987519550063876e+01 + 1.964613442528577e+01 + 1.941959432580914e+01 + 1.919554855827313e+01 + 1.897397075515799e+01 + 1.875483482712853e+01 + 1.853811494931854e+01 + 1.832378554313712e+01 + 1.811182128985819e+01 + 1.790219714756028e+01 + 1.769488831219516e+01 + 1.748987022919803e+01 + 1.728711861052799e+01 + 1.708660939866258e+01 + 1.688831878332332e+01 + 1.669222321036695e+01 + 1.649829934690638e+01 + 1.630652410217020e+01 + 1.611687463464447e+01 + 1.592932831698975e+01 + 1.574386275792588e+01 + 1.556045580679505e+01 + 1.537908552081595e+01 + 1.519973018767385e+01 + 1.502236832516821e+01 + 1.484697865494502e+01 + 1.467354012841447e+01 + 1.450203191274907e+01 + 1.433243337158686e+01 + 1.416472409674524e+01 + 1.399888388846149e+01 + 1.383489273805109e+01 + 1.367273085728561e+01 + 1.351237865788487e+01 + 1.335381673920349e+01 + 1.319702591751814e+01 + 1.304198719993403e+01 + 1.288868177614133e+01 + 1.273709104714046e+01 + 1.258719659672914e+01 + 1.243898018736778e+01 + 1.229242378719869e+01 + 1.214750954184370e+01 + 1.200421977308728e+01 + 1.186253699764556e+01 + 1.172244390266849e+01 + 1.158392335040491e+01 + 1.144695839482221e+01 + 1.131153225250660e+01 + 1.117762830926809e+01 + 1.104523013501555e+01 + 1.091432145806843e+01 + 1.078488617566414e+01 + 1.065690836231677e+01 + 1.053037224372639e+01 + 1.040526220941685e+01 + 1.028156282144551e+01 + 1.015925878941852e+01 + 1.003833498402321e+01 + 9.918776439618298e+00 + 9.800568334039683e+00 + 9.683696005431957e+00 + 9.568144946174611e+00 + 9.453900787919052e+00 + 9.340949322860192e+00 + 9.229276489267212e+00 + 9.118868359446189e+00 + 9.009711163642070e+00 + 8.901791273796370e+00 + 8.795095191785947e+00 + 8.689609570648638e+00 + 8.585321201853549e+00 + 8.482217005296002e+00 + 8.380284046581689e+00 + 8.279509523576925e+00 + 8.179880760330461e+00 + 8.081385224417300e+00 + 7.984010508389771e+00 + 7.887744326863491e+00 + 7.792574535206823e+00 + 7.698489109519010e+00 + 7.605476146133772e+00 + 7.513523878187234e+00 + 7.422620653280592e+00 + 7.332754935473541e+00 + 7.243915322674125e+00 + 7.156090524556396e+00 + 7.069269365741123e+00 + 6.983440797017198e+00 + 6.898593877074525e+00 + 6.814717779007339e+00 + 6.731801797516630e+00 + 6.649835331100769e+00 + 6.568807890289103e+00 + 6.488709103685009e+00 + 6.409528699865692e+00 + 6.331256515961359e+00 + 6.253882503643640e+00 + 6.177396712290002e+00 + 6.101789297547966e+00 + 6.027050522250886e+00 + 5.953170745278158e+00 + 5.880140434362498e+00 + 5.807950156612827e+00 + 5.736590570385212e+00 + 5.666052441485230e+00 + 5.596326632559173e+00 + 5.527404095182261e+00 + 5.459275884510260e+00 + 5.391933149962507e+00 + 5.325367127621260e+00 + 5.259569151260657e+00 + 5.194530647433734e+00 + 5.130243129823101e+00 + 5.066698206416531e+00 + 5.003887570881058e+00 + 4.941803001453549e+00 + 4.880436373900456e+00 + 4.819779643419130e+00 + 4.759824844738533e+00 + 4.700564110200850e+00 + 4.641989649988083e+00 + 4.584093751736625e+00 + 4.526868793565781e+00 + 4.470307230074105e+00 + 4.414401594729965e+00 + 4.359144507919768e+00 + 4.304528662004969e+00 + 4.250546825086277e+00 + 4.197191851627622e+00 + 4.144456666159979e+00 + 4.092334266478478e+00 + 4.040817732600400e+00 + 3.989900213340690e+00 + 3.939574930757155e+00 + 3.889835183170760e+00 + 3.840674335613269e+00 + 3.792085827136757e+00 + 3.744063169627271e+00 + 3.696599938809659e+00 + 3.649689781941428e+00 + 3.603326418080199e+00 + 3.557503628382808e+00 + 3.512215261374414e+00 + 3.467455236465362e+00 + 3.423217534816642e+00 + 3.379496201686086e+00 + 3.336285348654454e+00 + 3.293579148649655e+00 + 3.251371841226642e+00 + 3.209657725464606e+00 + 3.168431157939940e+00 + 3.127686563504146e+00 + 3.087418425005168e+00 + 3.047621281181530e+00 + 3.008289735457784e+00 + 2.969418446796439e+00 + 2.931002129285814e+00 + 2.893035560502260e+00 + 2.855513571053400e+00 + 2.818431044951714e+00 + 2.781782927380857e+00 + 2.745564215550934e+00 + 2.709769959926351e+00 + 2.674395268211684e+00 + 2.639435297946605e+00 + 2.604885259637663e+00 + 2.570740420206636e+00 + 2.536996093812299e+00 + 2.503647644969884e+00 + 2.470690493614489e+00 + 2.438120105903952e+00 + 2.405931997235836e+00 + 2.374121735683807e+00 + 2.342684934097179e+00 + 2.311617253784086e+00 + 2.280914406216957e+00 + 2.250572146781167e+00 + 2.220586279273893e+00 + 2.190952653478714e+00 + 2.161667162009881e+00 + 2.132725747880213e+00 + 2.104124396422602e+00 + 2.075859132902099e+00 + 2.047926031580743e+00 + 2.020321209266692e+00 + 1.993040822266800e+00 + 1.966081073072867e+00 + 1.939438205166541e+00 + 1.913108500802827e+00 + 1.887088286918805e+00 + 1.861373929947225e+00 + 1.835961834345823e+00 + 1.810848447621857e+00 + 1.786030255213551e+00 + 1.761503779943143e+00 + 1.737265586321442e+00 + 1.713312275115213e+00 + 1.689640483715834e+00 + 1.666246890168493e+00 + 1.643128207113473e+00 + 1.620281182788458e+00 + 1.597702604935450e+00 + 1.575389294699183e+00 + 1.553338108095691e+00 + 1.531545938928566e+00 + 1.510009713407906e+00 + 1.488726392261371e+00 + 1.467692971937850e+00 + 1.446906480207705e+00 + 1.426363979153670e+00 + 1.406062564959602e+00 + 1.385999363940103e+00 + 1.366171536058216e+00 + 1.346576274130787e+00 + 1.327210800124654e+00 + 1.308072368828510e+00 + 1.289158266486426e+00 + 1.270465807665891e+00 + 1.251992339187792e+00 + 1.233735237889272e+00 + 1.215691907984316e+00 + 1.197859785096899e+00 + 1.180236333919823e+00 + 1.162819045897185e+00 + 1.145605442741095e+00 + 1.128593073973588e+00 + 1.111779515284567e+00 + 1.095162371880828e+00 + 1.078739275475473e+00 + 1.062507883334588e+00 + 1.046465881646835e+00 + 1.030610981874106e+00 + 1.014940920295882e+00 + 9.994534611152829e-01 + 9.841463930086627e-01 + 9.690175291593270e-01 + 9.540647093618980e-01 + 9.392857969051628e-01 + 9.246786792729085e-01 + 9.102412696338000e-01 + 8.959715035501604e-01 + 8.818673402027871e-01 + 8.679267639726700e-01 + 8.541477806828601e-01 + 8.405284189410931e-01 + 8.270667316623297e-01 + 8.137607925445277e-01 + 8.006086976874616e-01 + 7.876085666023992e-01 + 7.747585387876328e-01 + 7.620567754307064e-01 + 7.495014602973783e-01 + 7.370907966216457e-01 + 7.248230088485250e-01 + 7.126963429559050e-01 + 7.007090638413013e-01 + 6.888594572109231e-01 + 6.771458292779966e-01 + 6.655665045807759e-01 + 6.541198279036498e-01 + 6.428041637825399e-01 + 6.316178947210964e-01 + 6.205594229105623e-01 + 6.096271692194244e-01 + 5.988195719936049e-01 + 5.881350889221284e-01 + 5.775721954595900e-01 + 5.671293841176136e-01 + 5.568051664208875e-01 + 5.465980707194322e-01 + 5.365066418737608e-01 + 5.265294432641988e-01 + 5.166650544231339e-01 + 5.069120710261563e-01 + 4.972691065208522e-01 + 4.877347899800689e-01 + 4.783077664492044e-01 + 4.689866979017357e-01 + 4.597702612073233e-01 + 4.506571489021905e-01 + 4.416460700276524e-01 + 4.327357479310139e-01 + 4.239249212044141e-01 + 4.152123442913231e-01 + 4.065967853823845e-01 + 3.980770275573000e-01 + 3.896518691214699e-01 + 3.813201217302061e-01 + 3.730806117264635e-01 + 3.649321798861945e-01 + 3.568736798624809e-01 + 3.489039797704173e-01 + 3.410219613244947e-01 + 3.332265187013593e-01 + 3.255165605086018e-01 + 3.178910083898543e-01 + 3.103487958586359e-01 + 3.028888701360887e-01 + 2.955101913786422e-01 + 2.882117315106021e-01 + 2.809924755137371e-01 + 2.738514204626846e-01 + 2.667875748867065e-01 + 2.597999604522775e-01 + 2.528876103054370e-01 + 2.460495685714950e-01 + 2.392848919788540e-01 + 2.325926484518769e-01 + 2.259719167857841e-01 + 2.194217877354759e-01 + 2.129413627175208e-01 + 2.065297538274627e-01 + 2.001860848470379e-01 + 1.939094897086202e-01 + 1.876991127051828e-01 + 1.815541094417414e-01 + 1.754736452756007e-01 + 1.694568956974621e-01 + 1.635030470498157e-01 + 1.576112950508609e-01 + 1.517808453564031e-01 + 1.460109140364644e-01 + 1.403007261766342e-01 + 1.346495165784953e-01 + 1.290565300180611e-01 + 1.235210199704221e-01 + 1.180422494287421e-01 + 1.126194909047226e-01 + 1.072520253105725e-01 + 1.019391428882170e-01 + 9.668014295417104e-02 + 9.147433293860986e-02 + 8.632102939670111e-02 + 8.121955756354367e-02 + 7.616925052308399e-02 + 7.116945022739722e-02 + 6.621950693894064e-02 + 6.131877854698166e-02 + 5.646663155698649e-02 + 5.166244039926220e-02 + 4.690558691983024e-02 + 4.219546135291571e-02 + 3.753146148005052e-02 + 3.291299228995687e-02 + 2.833946692296159e-02 + 2.381030573044091e-02 + 1.932493608562982e-02 + 1.488279323951757e-02 + 1.048331933378767e-02 + 6.125963364112487e-03 + 1.810181928441051e-03 + -2.464561780353438e-03 + -6.698797872311066e-03 + -1.089304914227914e-02 + -1.504783206514415e-02 + -1.916365656771068e-02 + -2.324102555134537e-02 + -2.728043585421590e-02 + -3.128237791440187e-02 + -3.524733543518016e-02 + -3.917578628623598e-02 + -4.306820207473552e-02 + -4.692504798332473e-02 + -5.074678357205704e-02 + -5.453386225593208e-02 + -5.828673132987599e-02 + -6.200583267980977e-02 + -6.569160218738558e-02 + -6.934446987831328e-02 + -7.296486055963237e-02 + -7.655319319650564e-02 + -8.010988114185758e-02 + -8.363533270338043e-02 + -8.712995053780122e-02 + -9.059413193193132e-02 + -9.402826926020177e-02 + -9.743274938790861e-02 + -1.008079541064505e-01 + -1.041542604608216e-01 + -1.074720401131623e-01 + -1.107616598682374e-01 + -1.140234819193764e-01 + -1.172578632830942e-01 + -1.204651563472630e-01 + -1.236457089966172e-01 + -1.267998640735528e-01 + -1.299279600346222e-01 + -1.330303309819349e-01 + -1.361073061299021e-01 + -1.391592104828469e-01 + -1.421863647988072e-01 + -1.451890851855495e-01 + -1.481676836992942e-01 + -1.511224682100277e-01 + -1.540537421399553e-01 + -1.569618050599837e-01 + -1.598469524764272e-01 + -1.627094755828420e-01 + -1.655496618778017e-01 + -1.683677949236447e-01 + -1.711641541517163e-01 + -1.739390154343296e-01 + -1.766926508045859e-01 + -1.794253283544359e-01 + -1.821373127460387e-01 + -1.848288648981078e-01 + -1.875002419786971e-01 + -1.901516978443653e-01 + -1.927834826976386e-01 + -1.953958431846420e-01 + -1.979890227559544e-01 + -2.005632612952037e-01 + -2.031187952951354e-01 + -2.056558581586019e-01 + -2.081746798356756e-01 + -2.106754870586183e-01 + -2.131585035595214e-01 + -2.156239496932611e-01 + -2.180720427808593e-01 + -2.205029972492180e-01 + -2.229170242226580e-01 + -2.253143319488933e-01 + -2.276951258807381e-01 + -2.300596082676421e-01 + -2.324079786235529e-01 + -2.347404337552020e-01 + -2.370571673694448e-01 + -2.393583705568364e-01 + -2.416442317867498e-01 + -2.439149365965413e-01 + -2.461706679522762e-01 + -2.484116061949506e-01 + -2.506379289887288e-01 + -2.528498115997045e-01 + -2.550474267213886e-01 + -2.572309443123204e-01 + -2.594005320626763e-01 + -2.615563552809436e-01 + -2.636985766193694e-01 + -2.658273564814242e-01 + -2.679428529152917e-01 + -2.700452216727706e-01 + -2.721346163277996e-01 + -2.742111879420810e-01 + -2.762750854486131e-01 + -2.783264557785196e-01 + -2.803654434689624e-01 + -2.823921908087395e-01 + -2.844068381756654e-01 + -2.864095239109061e-01 + -2.884003839950212e-01 + -2.903795524955394e-01 + -2.923471617904532e-01 + -2.943033420191942e-01 + -2.962482212763220e-01 + -2.981819256807660e-01 + -3.001045795717013e-01 + -3.020163055275332e-01 + -3.039172239885258e-01 + -3.058074538261057e-01 + -3.076871122705734e-01 + -3.095563141516905e-01 + -3.114151727559051e-01 + -3.132637999546681e-01 + -3.151023057635463e-01 + -3.169307984585886e-01 + -3.187493845723606e-01 + -3.205581689117248e-01 + -3.223572548745565e-01 + -3.241467443749414e-01 + -3.259267374142799e-01 + -3.276973325691862e-01 + -3.294586270053045e-01 + -3.312107160890871e-01 + -3.329536937962613e-01 + -3.346876527428858e-01 + -3.364126840777460e-01 + -3.381288775295205e-01 + -3.398363212268976e-01 + -3.415351019703767e-01 + -3.432253052941175e-01 + -3.449070152459444e-01 + -3.465803145779997e-01 + -3.482452848007116e-01 + -3.499020059501182e-01 + -3.515505568826250e-01 + -3.531910152859590e-01 + -3.548234573752725e-01 + -3.564479582224311e-01 + -3.580645917875246e-01 + -3.596734306319520e-01 + -3.612745463110025e-01 + -3.628680093075062e-01 + -3.644538885605036e-01 + -3.660322520458910e-01 + -3.676031668332329e-01 + -3.691666987516095e-01 + -3.707229124779602e-01 + -3.722718716670178e-01 + -3.738136390608672e-01 + -3.753482761467254e-01 + -3.768758432749062e-01 + -3.783964002465877e-01 + -3.799100056353694e-01 + -3.814167166997948e-01 + -3.829165900177774e-01 + -3.844096813827866e-01 + -3.858960456354959e-01 + -3.873757364088854e-01 + -3.888488064600710e-01 + -3.903153077375676e-01 + -3.917752913452379e-01 + -3.932288075353338e-01 + -3.946759055987133e-01 + -3.961166339473677e-01 + -3.975510402779339e-01 + -3.989791715122148e-01 + -4.004010735521537e-01 + -4.018167915706618e-01 + -4.032263700983349e-01 + -4.046298528561717e-01 + -4.060272827301947e-01 + -4.074187016384220e-01 + -4.088041511045764e-01 + -4.101836719923956e-01 + -4.115573039941210e-01 + -4.129250863351419e-01 + -4.142870577221169e-01 + -4.156432559911067e-01 + -4.169937183587125e-01 + -4.183384813924751e-01 + -4.196775807600287e-01 + -4.210110517890521e-01 + -4.223389293056927e-01 + -4.236612469859990e-01 + -4.249780381358575e-01 + -4.262893357128523e-01 + -4.275951718561576e-01 + -4.288955781548201e-01 + -4.301905856512787e-01 + -4.314802245948859e-01 + -4.327645248125306e-01 + -4.340435157401011e-01 + -4.353172261319986e-01 + -4.365856843065750e-01 + -4.378489181140523e-01 + -4.391069545111200e-01 + -4.403598201489721e-01 + -4.416075414900063e-01 + -4.428501441617211e-01 + -4.440876533447125e-01 + -4.453200938994337e-01 + -4.465474900663732e-01 + -4.477698656375739e-01 + -4.489872440132049e-01 + -4.501996482091757e-01 + -4.514071007293397e-01 + -4.526096234423685e-01 + -4.538072381973440e-01 + -4.549999664346564e-01 + -4.561878287239103e-01 + -4.573708454564815e-01 + -4.585490367840940e-01 + -4.597224223838171e-01 + -4.608910215483196e-01 + -4.620548532229073e-01 + -4.632139359470852e-01 + -4.643682878385313e-01 + -4.655179266829866e-01 + -4.666628700026897e-01 + -4.678031349656974e-01 + -4.689387384105899e-01 + -4.700696968538801e-01 + -4.711960263436956e-01 + -4.723177425902391e-01 + -4.734348612979066e-01 + -4.745473978039702e-01 + -4.756553669920032e-01 + -4.767587833133353e-01 + -4.778576611599107e-01 + -4.789520147944609e-01 + -4.800418577229591e-01 + -4.811272034289876e-01 + -4.822080654661853e-01 + -4.832844566828151e-01 + -4.843563896207272e-01 + -4.854238767122197e-01 + -4.864869303811440e-01 + -4.875455627166793e-01 + -4.885997853037442e-01 + -4.896496095260600e-01 + -4.906950466868944e-01 + -4.917361080077966e-01 + -4.927728043326091e-01 + -4.938051461993963e-01 + -4.948331438840640e-01 + -4.958568075736277e-01 + -4.968761473512240e-01 + -4.978911731225704e-01 + -4.989018945002663e-01 + -4.999083208482176e-01 + -5.009104613021941e-01 + -5.019083248972503e-01 + -5.029019205602130e-01 + -5.038912570358333e-01 + -5.048763428126108e-01 + -5.058571862004539e-01 + -5.068337954285524e-01 + -5.078061785541023e-01 + -5.087743434557772e-01 + -5.097382978215317e-01 + -5.106980492175714e-01 + -5.116536051046018e-01 + -5.126049728172039e-01 + -5.135521595357905e-01 + -5.144951722594635e-01 + -5.154340177423219e-01 + -5.163687027408718e-01 + -5.172992340140365e-01 + -5.182256180631845e-01 + -5.191478612397169e-01 + -5.200659697981208e-01 + -5.209799499565910e-01 + -5.218898077706294e-01 + -5.227955490891694e-01 + -5.236971796844924e-01 + -5.245947053253370e-01 + -5.254881317688337e-01 + -5.263774645512288e-01 + -5.272627090126604e-01 + -5.281438703531137e-01 + -5.290209539977515e-01 + -5.298939652703512e-01 + -5.307629091340913e-01 + -5.316277904778723e-01 + -5.324886142110474e-01 + -5.333453852986519e-01 + -5.341981085648844e-01 + -5.350467886587517e-01 + -5.358914300418783e-01 + -5.367320373706596e-01 + -5.375686152841432e-01 + -5.384011680734792e-01 + -5.392297001047128e-01 + -5.400542157871245e-01 + -5.408747194069761e-01 + -5.416912150785628e-01 + -5.425037068232484e-01 + -5.433121987186342e-01 + -5.441166948984431e-01 + -5.449171994793097e-01 + -5.457137163885653e-01 + -5.465062494211190e-01 + -5.472948023341125e-01 + -5.480793790518950e-01 + -5.488599834110802e-01 + -5.496366191273470e-01 + -5.504092899443518e-01 + -5.511779994928784e-01 + -5.519427513029639e-01 + -5.527035490710489e-01 + -5.534603964642170e-01 + -5.542132970155166e-01 + -5.549622540841348e-01 + -5.557072711574547e-01 + -5.564483519201564e-01 + -5.571854997347668e-01 + -5.579187179919134e-01 + -5.586480102698358e-01 + -5.593733798207278e-01 + -5.600948299343745e-01 + -5.608123641702291e-01 + -5.615259858006734e-01 + -5.622356980349319e-01 + -5.629415042452564e-01 + -5.636434078437447e-01 + -5.643414121719204e-01 + -5.650355204128609e-01 + -5.657257359067179e-01 + -5.664120620074502e-01 + -5.670945018655422e-01 + -5.677730587569899e-01 + -5.684477360210265e-01 + -5.691185368946378e-01 + -5.697854646230838e-01 + -5.704485224954847e-01 + -5.711077138615709e-01 + -5.717630418949810e-01 + -5.724145097236072e-01 + -5.730621208149326e-01 + -5.737058785857441e-01 + -5.743457862811681e-01 + -5.749818469287452e-01 + -5.756140639044424e-01 + -5.762424408221788e-01 + -5.768669806578469e-01 + -5.774876866716016e-01 + -5.781045625480883e-01 + -5.787176116189466e-01 + -5.793268371095267e-01 + -5.799322422747063e-01 + -5.805338304985933e-01 + -5.811316053198213e-01 + -5.817255703521417e-01 + -5.823157287697720e-01 + -5.829020838792335e-01 + -5.834846393919914e-01 + -5.840633987477251e-01 + -5.846383653791880e-01 + -5.852095428966003e-01 + -5.857769347455314e-01 + -5.863405444497650e-01 + -5.869003757905312e-01 + -5.874564321893059e-01 + -5.880087171065591e-01 + -5.885572344676900e-01 + -5.891019879107314e-01 + -5.896429809482692e-01 + -5.901802172691951e-01 + -5.907137006344829e-01 + -5.912434348345698e-01 + -5.917694236578408e-01 + -5.922916709366750e-01 + -5.928101804947136e-01 + -5.933249560457028e-01 + -5.938360014505492e-01 + -5.943433207019595e-01 + -5.948469177828256e-01 + -5.953467966083078e-01 + -5.958429610716830e-01 + -5.963354151930935e-01 + -5.968241629967538e-01 + -5.973092085065336e-01 + -5.977905558475627e-01 + -5.982682091919279e-01 + -5.987421727060626e-01 + -5.992124504335189e-01 + -5.996790465513929e-01 + -6.001419654039183e-01 + -6.006012111567195e-01 + -6.010567880969444e-01 + -6.015087007096906e-01 + -6.019569532209035e-01 + -6.024015499278780e-01 + -6.028424953542454e-01 + -6.032797938560218e-01 + -6.037134498528102e-01 + -6.041434679778884e-01 + -6.045698527611498e-01 + -6.049926086966888e-01 + -6.054117403213235e-01 + -6.058272522301629e-01 + -6.062391491063152e-01 + -6.066474357377917e-01 + -6.070521167750024e-01 + -6.074531969194140e-01 + -6.078506811508277e-01 + -6.082445741313003e-01 + -6.086348804777613e-01 + -6.090216052590219e-01 + -6.094047534940796e-01 + -6.097843300758768e-01 + -6.101603397998798e-01 + -6.105327877567767e-01 + -6.109016791586246e-01 + -6.112670188349342e-01 + -6.116288118244032e-01 + -6.119870634033990e-01 + -6.123417788015699e-01 + -6.126929631816058e-01 + -6.130406216857481e-01 + -6.133847595846266e-01 + -6.137253821544012e-01 + -6.140624946688724e-01 + -6.143961025253998e-01 + -6.147262111225434e-01 + -6.150528258526081e-01 + -6.153759522847098e-01 + -6.156955958775930e-01 + -6.160117619293205e-01 + -6.163244560848270e-01 + -6.166336840291214e-01 + -6.169394513190288e-01 + -6.172417635406579e-01 + -6.175406263458638e-01 + -6.178360454670117e-01 + -6.181280266570051e-01 + -6.184165756494230e-01 + -6.187016981615432e-01 + -6.189834001775048e-01 + -6.192616876391890e-01 + -6.195365661632112e-01 + -6.198080416901866e-01 + -6.200761202902517e-01 + -6.203408078682074e-01 + -6.206021103982113e-01 + -6.208600339819080e-01 + -6.211145848662764e-01 + -6.213657689929696e-01 + -6.216135922609831e-01 + -6.218580610691606e-01 + -6.220991816188346e-01 + -6.223369599996067e-01 + -6.225714026287344e-01 + -6.228025157602012e-01 + -6.230303055354752e-01 + -6.232547783843585e-01 + -6.234759406837302e-01 + -6.236937987287140e-01 + -6.239083589372102e-01 + -6.241196278170006e-01 + -6.243276119301496e-01 + -6.245323178052680e-01 + -6.247337518435782e-01 + -6.249319204108740e-01 + -6.251268303788342e-01 + -6.253184884524475e-01 + -6.255069009766967e-01 + -6.256920746682559e-01 + -6.258740163701917e-01 + -6.260527328726909e-01 + -6.262282307801417e-01 + -6.264005167589047e-01 + -6.265695976839164e-01 + -6.267354804070123e-01 + -6.268981717782514e-01 + -6.270576786775590e-01 + -6.272140080071444e-01 + -6.273671666729116e-01 + -6.275171615794166e-01 + -6.276639997579259e-01 + -6.278076882572314e-01 + -6.279482340166599e-01 + -6.280856440870369e-01 + -6.282199255881125e-01 + -6.283510856176625e-01 + -6.284791313265480e-01 + -6.286040698559974e-01 + -6.287259082244099e-01 + -6.288446536460758e-01 + -6.289603134448759e-01 + -6.290728947784819e-01 + -6.291824049507972e-01 + -6.292888513285516e-01 + -6.293922409846477e-01 + -6.294925812787570e-01 + -6.295898797737625e-01 + -6.296841435561055e-01 + -6.297753800606519e-01 + -6.298635970427606e-01 + -6.299488015475858e-01 + -6.300310009429952e-01 + -6.301102030719377e-01 + -6.301864151575183e-01 + -6.302596446383568e-01 + -6.303298993873763e-01 + -6.303971867419816e-01 + -6.304615141097702e-01 + -6.305228892569528e-01 + -6.305813198299395e-01 + -6.306368133767261e-01 + -6.306893774095105e-01 + -6.307390196514921e-01 + -6.307857478830511e-01 + -6.308295697989852e-01 + -6.308704929504492e-01 + -6.309085250312678e-01 + -6.309436740902202e-01 + -6.309759477467396e-01 + -6.310053535533821e-01 + -6.310318994644450e-01 + -6.310555933584764e-01 + -6.310764430051494e-01 + -6.310944561130111e-01 + -6.311096405770181e-01 + -6.311220043955681e-01 + -6.311315554778594e-01 + -6.311383016234806e-01 + -6.311422506666780e-01 + -6.311434107412031e-01 + -6.311417897164122e-01 + -6.311373953205278e-01 + -6.311302357049288e-01 + -6.311203189243589e-01 + -6.311076528624781e-01 + -6.310922454230109e-01 + -6.310741047155799e-01 + -6.310532389686786e-01 + -6.310296560496979e-01 + -6.310033639455465e-01 + -6.309743708604478e-01 + -6.309426848479184e-01 + -6.309083139781310e-01 + -6.308712663782245e-01 + -6.308315500367087e-01 + -6.307891730465176e-01 + -6.307441436976022e-01 + -6.306964701860184e-01 + -6.306461606431758e-01 + -6.305932231701467e-01 + -6.305376659121696e-01 + -6.304794970062023e-01 + -6.304187245700347e-01 + -6.303553569805046e-01 + -6.302894025962669e-01 + -6.302208694979176e-01 + -6.301497657748981e-01 + -6.300760996409697e-01 + -6.299998795100692e-01 + -6.299211136514613e-01 + -6.298398102240708e-01 + -6.297559773915322e-01 + -6.296696236381925e-01 + -6.295807574013027e-01 + -6.294893864698483e-01 + -6.293955192818200e-01 + -6.292991645521353e-01 + -6.292003301703828e-01 + -6.290990243894826e-01 + -6.289952557946986e-01 + -6.288890326523825e-01 + -6.287803632353285e-01 + -6.286692558944412e-01 + -6.285557190083507e-01 + -6.284397608763040e-01 + -6.283213897612988e-01 + -6.282006141317734e-01 + -6.280774423035318e-01 + -6.279518824496017e-01 + -6.278239431715447e-01 + -6.276936329659792e-01 + -6.275609600561086e-01 + -6.274259327786519e-01 + -6.272885594754783e-01 + -6.271488484695774e-01 + -6.270068083043618e-01 + -6.268624473656752e-01 + -6.267157737459064e-01 + -6.265667960682418e-01 + -6.264155229504741e-01 + -6.262619625962428e-01 + -6.261061232036680e-01 + -6.259480131935671e-01 + -6.257876413121770e-01 + -6.256250157840939e-01 + -6.254601447340036e-01 + -6.252930366972961e-01 + -6.251237002207461e-01 + -6.249521437614608e-01 + -6.247783756272571e-01 + -6.246024042025771e-01 + -6.244242378628240e-01 + -6.242438848129136e-01 + -6.240613535991787e-01 + -6.238766528797192e-01 + -6.236897908519111e-01 + -6.235007757894835e-01 + -6.233096161276966e-01 + -6.231163203935827e-01 + -6.229208970207127e-01 + -6.227233543185018e-01 + -6.225237005131427e-01 + -6.223219439896936e-01 + -6.221180932821515e-01 + -6.219121568092019e-01 + -6.217041429518334e-01 + -6.214940600654550e-01 + -6.212819164164759e-01 + -6.210677203231969e-01 + -6.208514802076882e-01 + -6.206332045396580e-01 + -6.204129016762088e-01 + -6.201905798335827e-01 + -6.199662474146647e-01 + -6.197399127976954e-01 + -6.195115842446862e-01 + -6.192812702436963e-01 + -6.190489791767655e-01 + -6.188147191241502e-01 + -6.185784984898128e-01 + -6.183403256742428e-01 + -6.181002088023494e-01 + -6.178581563548247e-01 + -6.176141767575239e-01 + -6.173682779492388e-01 + -6.171204683326561e-01 + -6.168707564823446e-01 + -6.166191506410910e-01 + -6.163656588303806e-01 + -6.161102891648960e-01 + -6.158530502595377e-01 + -6.155939503803246e-01 + -6.153329975648972e-01 + -6.150702000825419e-01 + -6.148055662334609e-01 + -6.145391042808102e-01 + -6.142708224010276e-01 + -6.140007288452335e-01 + -6.137288318637003e-01 + -6.134551394181680e-01 + -6.131796597624336e-01 + -6.129024013716257e-01 + -6.126233721919256e-01 + -6.123425803085120e-01 + -6.120600340492245e-01 + -6.117757414641359e-01 + -6.114897106263320e-01 + -6.112019497520672e-01 + -6.109124671249474e-01 + -6.106212708396386e-01 + -6.103283687668304e-01 + -6.100337690977098e-01 + -6.097374799911853e-01 + -6.094395093910078e-01 + -6.091398653642833e-01 + -6.088385561024087e-01 + -6.085355898356886e-01 + -6.082309742898534e-01 + -6.079247173286892e-01 + -6.076168274335947e-01 + -6.073073125569597e-01 + -6.069961804304546e-01 + -6.066834389911383e-01 + -6.063690964791788e-01 + -6.060531610171422e-01 + -6.057356401425160e-01 + -6.054165419100932e-01 + -6.050958745176729e-01 + -6.047736455801236e-01 + -6.044498630713394e-01 + -6.041245351487873e-01 + -6.037976695799242e-01 + -6.034692741523835e-01 + -6.031393567367498e-01 + -6.028079252312161e-01 + -6.024749874110954e-01 + -6.021405510415967e-01 + -6.018046242357692e-01 + -6.014672148046522e-01 + -6.011283302871711e-01 + -6.007879786053585e-01 + -6.004461675660895e-01 + -6.001029047914931e-01 + -5.997581981158361e-01 + -5.994120553308485e-01 + -5.990644841299763e-01 + -5.987154923482985e-01 + -5.983650876334137e-01 + -5.980132773866208e-01 + -5.976600693793478e-01 + -5.973054714798371e-01 + -5.969494914365839e-01 + -5.965921366499265e-01 + -5.962334146660923e-01 + -5.958733334161985e-01 + -5.955119002909084e-01 + -5.951491227180785e-01 + -5.947850085981863e-01 + -5.944195652847630e-01 + -5.940528001366523e-01 + -5.936847210858313e-01 + -5.933153356463837e-01 + -5.929446511281147e-01 + -5.925726749957585e-01 + -5.921994146776245e-01 + -5.918248776317639e-01 + -5.914490714685531e-01 + -5.910720036664838e-01 + -5.906936815737919e-01 + -5.903141124838686e-01 + -5.899333037986367e-01 + -5.895512629817115e-01 + -5.891679973989596e-01 + -5.887835143677140e-01 + -5.883978211708401e-01 + -5.880109250637769e-01 + -5.876228334774148e-01 + -5.872335538851382e-01 + -5.868430932520374e-01 + -5.864514587624869e-01 + -5.860586578978172e-01 + -5.856646978273519e-01 + -5.852695857497323e-01 + -5.848733289413443e-01 + -5.844759343592291e-01 + -5.840774091773326e-01 + -5.836777608879199e-01 + -5.832769964405170e-01 + -5.828751228494087e-01 + -5.824721474461222e-01 + -5.820680771414760e-01 + -5.816629188869962e-01 + -5.812566799399100e-01 + -5.808493672421570e-01 + -5.804409877894702e-01 + -5.800315488931496e-01 + -5.796210574409676e-01 + -5.792095201878247e-01 + -5.787969440874288e-01 + -5.783833362006023e-01 + -5.779687035684036e-01 + -5.775530530727403e-01 + -5.771363914738108e-01 + -5.767187255974381e-01 + -5.763000625573806e-01 + -5.758804091701334e-01 + -5.754597721176316e-01 + -5.750381583420940e-01 + -5.746155745735496e-01 + -5.741920274506414e-01 + -5.737675239291555e-01 + -5.733420708457294e-01 + -5.729156748671344e-01 + -5.724883426083383e-01 + -5.720600807791615e-01 + -5.716308961653045e-01 + -5.712007954599810e-01 + -5.707697852850102e-01 + -5.703378722272431e-01 + -5.699050629355835e-01 + -5.694713639828742e-01 + -5.690367818720566e-01 + -5.686013232951076e-01 + -5.681649948578290e-01 + -5.677278029894381e-01 + -5.672897541841998e-01 + -5.668508549514105e-01 + -5.664111117923113e-01 + -5.659705312703284e-01 + -5.655291198708162e-01 + -5.650868839171556e-01 + -5.646438297396282e-01 + -5.641999637601537e-01 + -5.637552925169101e-01 + -5.633098223391846e-01 + -5.628635595080524e-01 + -5.624165104013904e-01 + -5.619686812129524e-01 + -5.615200782186582e-01 + -5.610707080464411e-01 + -5.606205767194389e-01 + -5.601696901727680e-01 + -5.597180550627928e-01 + -5.592656777039943e-01 + -5.588125640834879e-01 + -5.583587201544192e-01 + -5.579041522213387e-01 + -5.574488666805684e-01 + -5.569928694014434e-01 + -5.565361664370690e-01 + -5.560787640439252e-01 + -5.556206683493946e-01 + -5.551618853326125e-01 + -5.547024208857518e-01 + -5.542422809960397e-01 + -5.537814718214656e-01 + -5.533199995563840e-01 + -5.528578699065892e-01 + -5.523950887012330e-01 + -5.519316620139326e-01 + -5.514675956847120e-01 + -5.510028956792654e-01 + -5.505375681122012e-01 + -5.500716185256428e-01 + -5.496050526609592e-01 + -5.491378767346244e-01 + -5.486700964364043e-01 + -5.482017173715276e-01 + -5.477327453596050e-01 + -5.472631862648399e-01 + -5.467930458019109e-01 + -5.463223294669347e-01 + -5.458510432287255e-01 + -5.453791929736209e-01 + -5.449067840000759e-01 + -5.444338218966174e-01 + -5.439603123952597e-01 + -5.434862611282417e-01 + -5.430116738240560e-01 + -5.425365561436022e-01 + -5.420609134355956e-01 + -5.415847511352451e-01 + -5.411080748136494e-01 + -5.406308901525899e-01 + -5.401532026526268e-01 + -5.396750177177082e-01 + -5.391963408895222e-01 + -5.387171774649071e-01 + -5.382375326730170e-01 + -5.377574122460893e-01 + -5.372768215524759e-01 + -5.367957656717409e-01 + -5.363142502106338e-01 + -5.358322806031541e-01 + -5.353498619928253e-01 + -5.348669995911720e-01 + -5.343836987381033e-01 + -5.338999648334884e-01 + -5.334158029976483e-01 + -5.329312184607295e-01 + -5.324462166033185e-01 + -5.319608023124877e-01 + -5.314749807283198e-01 + -5.309887574568507e-01 + -5.305021373834015e-01 + -5.300151254489873e-01 + -5.295277270550899e-01 + -5.290399471460621e-01 + -5.285517906644440e-01 + -5.280632628772480e-01 + -5.275743687930865e-01 + -5.270851133485194e-01 + -5.265955015863814e-01 + -5.261055383771222e-01 + -5.256152286457003e-01 + -5.251245776074701e-01 + -5.246335901741112e-01 + -5.241422711040373e-01 + -5.236506252667474e-01 + -5.231586574906982e-01 + -5.226663726352896e-01 + -5.221737757253558e-01 + -5.216808715970676e-01 + -5.211876649797802e-01 + -5.206941607382560e-01 + -5.202003635069621e-01 + -5.197062778404161e-01 + -5.192119087096243e-01 + -5.187172609937223e-01 + -5.182223393579939e-01 + -5.177271482807863e-01 + -5.172316923981860e-01 + -5.167359765148800e-01 + -5.162400053033168e-01 + -5.157437833544083e-01 + -5.152473152222008e-01 + -5.147506055161414e-01 + -5.142536587718484e-01 + -5.137564794429633e-01 + -5.132590721404230e-01 + -5.127614414610688e-01 + -5.122635918987255e-01 + -5.117655278912282e-01 + -5.112672538418732e-01 + -5.107687741570007e-01 + -5.102700934318621e-01 + -5.097712161511054e-01 + -5.092721464952894e-01 + -5.087728887586368e-01 + -5.082734473837237e-01 + -5.077738269224511e-01 + -5.072740315773641e-01 + -5.067740655070005e-01 + -5.062739331645890e-01 + -5.057736389339202e-01 + -5.052731870571522e-01 + -5.047725816027976e-01 + -5.042718267556677e-01 + -5.037709267723895e-01 + -5.032698858620083e-01 + -5.027687082997551e-01 + -5.022673983228978e-01 + -5.017659599138892e-01 + -5.012643972224838e-01 + -5.007627144504877e-01 + -5.002609154317549e-01 + -4.997590043686060e-01 + -4.992569856498065e-01 + -4.987548629163329e-01 + -4.982526401066572e-01 + -4.977503215591422e-01 + -4.972479113357710e-01 + -4.967454132608579e-01 + -4.962428310876830e-01 + -4.957401690448965e-01 + -4.952374311333114e-01 + -4.947346209581790e-01 + -4.942317423902789e-01 + -4.937287995168010e-01 + -4.932257964768885e-01 + -4.927227367709692e-01 + -4.922196239985463e-01 + -4.917164622446805e-01 + -4.912132554897460e-01 + -4.907100074652099e-01 + -4.902067216434476e-01 + -4.897034018910860e-01 + -4.892000521396699e-01 + -4.886966760659724e-01 + -4.881932772071136e-01 + -4.876898592264887e-01 + -4.871864261030248e-01 + -4.866829812293292e-01 + -4.861795280147214e-01 + -4.856760706607693e-01 + -4.851726126266216e-01 + -4.846691571189501e-01 + -4.841657080652781e-01 + -4.836622690168214e-01 + -4.831588433295234e-01 + -4.826554347812969e-01 + -4.821520468729375e-01 + -4.816486828820545e-01 + -4.811453462713459e-01 + -4.806420406166251e-01 + -4.801387695127853e-01 + -4.796355363816449e-01 + -4.791323444815042e-01 + -4.786291970695780e-01 + -4.781260978727254e-01 + -4.776230503252043e-01 + -4.771200574973888e-01 + -4.766171228253449e-01 + -4.761142497486388e-01 + -4.756114415594656e-01 + -4.751087014547341e-01 + -4.746060327035595e-01 + -4.741034386828772e-01 + -4.736009226286348e-01 + -4.730984877717556e-01 + -4.725961373913972e-01 + -4.720938746127822e-01 + -4.715917026117559e-01 + -4.710896247171748e-01 + -4.705876440070008e-01 + -4.700857635192827e-01 + -4.695839864443119e-01 + -4.690823160197067e-01 + -4.685807553687465e-01 + -4.680793073815264e-01 + -4.675779752270572e-01 + -4.670767621237579e-01 + -4.665756710130068e-01 + -4.660747048828000e-01 + -4.655738667469987e-01 + -4.650731595624170e-01 + -4.645725864569897e-01 + -4.640721505529091e-01 + -4.635718546060059e-01 + -4.630717014390969e-01 + -4.625716940204364e-01 + -4.620718354412200e-01 + -4.615721285948061e-01 + -4.610725762550177e-01 + -4.605731814392849e-01 + -4.600739469669758e-01 + -4.595748755034438e-01 + -4.590759700613133e-01 + -4.585772335293120e-01 + -4.580786685902926e-01 + -4.575802780165928e-01 + -4.570820645542124e-01 + -4.565840309327809e-01 + -4.560861801183225e-01 + -4.555885148408127e-01 + -4.550910375242214e-01 + -4.545937511574892e-01 + -4.540966585092119e-01 + -4.535997618400510e-01 + -4.531030641427475e-01 + -4.526065682230286e-01 + -4.521102761991050e-01 + -4.516141909960451e-01 + -4.511183155232459e-01 + -4.506226519976986e-01 + -4.501272029129367e-01 + -4.496319709853875e-01 + -4.491369589904647e-01 + -4.486421693813144e-01 + -4.481476045149588e-01 + -4.476532669406306e-01 + -4.471591591812127e-01 + -4.466652837454304e-01 + -4.461716431800687e-01 + -4.456782399407630e-01 + -4.451850764283579e-01 + -4.446921550770006e-01 + -4.441994783152980e-01 + -4.437070485743053e-01 + -4.432148683148817e-01 + -4.427229399164072e-01 + -4.422312656936392e-01 + -4.417398479943503e-01 + -4.412486891611525e-01 + -4.407577915365379e-01 + -4.402671575060104e-01 + -4.397767893532367e-01 + -4.392866892910770e-01 + -4.387968597340107e-01 + -4.383073029681190e-01 + -4.378180210879689e-01 + -4.373290163087382e-01 + -4.368402909924953e-01 + -4.363518475687816e-01 + -4.358636880897754e-01 + -4.353758146064535e-01 + -4.348882293452391e-01 + -4.344009344375495e-01 + -4.339139321041776e-01 + -4.334272247184532e-01 + -4.329408142509990e-01 + -4.324547026649819e-01 + -4.319688922210647e-01 + -4.314833850702666e-01 + -4.309981832317592e-01 + -4.305132886299618e-01 + -4.300287034407881e-01 + -4.295444298858639e-01 + -4.290604699557538e-01 + -4.285768254794737e-01 + -4.280934983815344e-01 + -4.276104909880938e-01 + -4.271278053251724e-01 + -4.266454431999359e-01 + -4.261634065006114e-01 + -4.256816972235624e-01 + -4.252003173934318e-01 + -4.247192689049444e-01 + -4.242385536499166e-01 + -4.237581735472888e-01 + -4.232781305399061e-01 + -4.227984264773803e-01 + -4.223190631457318e-01 + -4.218400424415704e-01 + -4.213613663598799e-01 + -4.208830368540804e-01 + -4.204050553934426e-01 + -4.199274237890383e-01 + -4.194501442515862e-01 + -4.189732183034799e-01 + -4.184966476302857e-01 + -4.180204343198091e-01 + -4.175445800025869e-01 + -4.170690862458790e-01 + -4.165939547960728e-01 + -4.161191875920802e-01 + -4.156447863485650e-01 + -4.151707524172177e-01 + -4.146970878143395e-01 + -4.142237944432959e-01 + -4.137508735370036e-01 + -4.132783267358912e-01 + -4.128061559031381e-01 + -4.123343628419361e-01 + -4.118629489726368e-01 + -4.113919157251955e-01 + -4.109212649651476e-01 + -4.104509983224866e-01 + -4.099811172669397e-01 + -4.095116233202941e-01 + -4.090425181490535e-01 + -4.085738034100841e-01 + -4.081054804950061e-01 + -4.076375508831032e-01 + -4.071700161671795e-01 + -4.067028779692610e-01 + -4.062361376606066e-01 + -4.057697965353959e-01 + -4.053038563335837e-01 + -4.048383186645677e-01 + -4.043731849141807e-01 + -4.039084564103662e-01 + -4.034441345521896e-01 + -4.029802208230617e-01 + -4.025167167043049e-01 + -4.020536236099443e-01 + -4.015909428779320e-01 + -4.011286758375757e-01 + -4.006668238996902e-01 + -4.002053885607212e-01 + -3.997443712200008e-01 + -3.992837731698375e-01 + -3.988235956310492e-01 + -3.983638399923307e-01 + -3.979045076012857e-01 + -3.974455996644362e-01 + -3.969871175556028e-01 + -3.965290626455606e-01 + -3.960714361699136e-01 + -3.956142393772600e-01 + -3.951574735515524e-01 + -3.947011399985758e-01 + -3.942452398354794e-01 + -3.937897742524872e-01 + -3.933347447660869e-01 + -3.928801524442024e-01 + -3.924259983101159e-01 + -3.919722839283850e-01 + -3.915190103656777e-01 + -3.910661784756895e-01 + -3.906137895655892e-01 + -3.901618450499643e-01 + -3.897103461604648e-01 + -3.892592935529919e-01 + -3.888086884121152e-01 + -3.883585322771145e-01 + -3.879088261485191e-01 + -3.874595710701922e-01 + -3.870107681556456e-01 + -3.865624182556531e-01 + -3.861145225228043e-01 + -3.856670823544472e-01 + -3.852200986473037e-01 + -3.847735723987576e-01 + -3.843275047747315e-01 + -3.838818965026468e-01 + -3.834367486164244e-01 + -3.829920625791138e-01 + -3.825478392535004e-01 + -3.821040794322394e-01 + -3.816607841213338e-01 + -3.812179544462010e-01 + -3.807755914230820e-01 + -3.803336958584798e-01 + -3.798922686597118e-01 + -3.794513108818827e-01 + -3.790108236907996e-01 + -3.785708078449803e-01 + -3.781312640889848e-01 + -3.776921934895628e-01 + -3.772535969260590e-01 + -3.768154752452403e-01 + -3.763778294637203e-01 + -3.759406605249527e-01 + -3.755039692439986e-01 + -3.750677562951532e-01 + -3.746320226741715e-01 + -3.741967693787305e-01 + -3.737619968727901e-01 + -3.733277061470673e-01 + -3.728938983949728e-01 + -3.724605741247380e-01 + -3.720277341192338e-01 + -3.715953793429491e-01 + -3.711635103186269e-01 + -3.707321278978636e-01 + -3.703012331728173e-01 + -3.698708267439747e-01 + -3.694409092657609e-01 + -3.690114815572269e-01 + -3.685825444178367e-01 + -3.681540985405766e-01 + -3.677261445488677e-01 + -3.672986832474148e-01 + -3.668717154245260e-01 + -3.664452417818624e-01 + -3.660192630178876e-01 + -3.655937798167319e-01 + -3.651687928442244e-01 + -3.647443027770453e-01 + -3.643203103057334e-01 + -3.638968161236534e-01 + -3.634738208501973e-01 + -3.630513251204181e-01 + -3.626293296340570e-01 + -3.622078349959966e-01 + -3.617868418102546e-01 + -3.613663507559756e-01 + -3.609463624258993e-01 + -3.605268773947004e-01 + -3.601078962972172e-01 + -3.596894197319259e-01 + -3.592714482724653e-01 + -3.588539824938156e-01 + -3.584370229705016e-01 + -3.580205702765974e-01 + -3.576046249835235e-01 + -3.571891876270012e-01 + -3.567742587321382e-01 + -3.563598388637925e-01 + -3.559459285557617e-01 + -3.555325283179373e-01 + -3.551196386794110e-01 + -3.547072601423791e-01 + -3.542953931967586e-01 + -3.538840383835105e-01 + -3.534731961849680e-01 + -3.530628670336623e-01 + -3.526530514374770e-01 + -3.522437498876279e-01 + -3.518349628366106e-01 + -3.514266907403692e-01 + -3.510189340474827e-01 + -3.506116931966672e-01 + -3.502049686305037e-01 + -3.497987607886671e-01 + -3.493930701015490e-01 + -3.489878969787067e-01 + -3.485832418243141e-01 + -3.481791050461803e-01 + -3.477754870557839e-01 + -3.473723882547367e-01 + -3.469698090253131e-01 + -3.465677497415546e-01 + -3.461662107762984e-01 + -3.457651925045610e-01 + -3.453646952920019e-01 + -3.449647194961470e-01 + -3.445652654674211e-01 + -3.441663335489293e-01 + -3.437679240760669e-01 + -3.433700373751777e-01 + -3.429726737709668e-01 + -3.425758335909973e-01 + -3.421795171685511e-01 + -3.417837248082679e-01 + -3.413884567949557e-01 + -3.409937134173290e-01 + -3.405994949798623e-01 + -3.402058017865278e-01 + -3.398126341027504e-01 + -3.394199921921239e-01 + -3.390278763247643e-01 + -3.386362867748747e-01 + -3.382452237948665e-01 + -3.378546876227794e-01 + -3.374646785249709e-01 + -3.370751967392704e-01 + -3.366862424749215e-01 + -3.362978159833941e-01 + -3.359099174981644e-01 + -3.355225472182573e-01 + -3.351357053498810e-01 + -3.347493921057998e-01 + -3.343636076973308e-01 + -3.339783523006465e-01 + -3.335936261089775e-01 + -3.332094293460974e-01 + -3.328257621547543e-01 + -3.324426246881435e-01 + -3.320600171619409e-01 + -3.316779397280902e-01 + -3.312963925265998e-01 + -3.309153757279716e-01 + -3.305348894653861e-01 + -3.301549338737799e-01 + -3.297755091265357e-01 + -3.293966153413448e-01 + -3.290182526215280e-01 + -3.286404211114115e-01 + -3.282631209285871e-01 + -3.278863521751846e-01 + -3.275101149642331e-01 + -3.271344093953196e-01 + -3.267592355617253e-01 + -3.263845935667566e-01 + -3.260104834866909e-01 + -3.256369053882101e-01 + -3.252638593756906e-01 + -3.248913455268053e-01 + -3.245193638907094e-01 + -3.241479145199382e-01 + -3.237769974872735e-01 + -3.234066128661293e-01 + -3.230367606622389e-01 + -3.226674409186036e-01 + -3.222986537192250e-01 + -3.219303990783447e-01 + -3.215626770146125e-01 + -3.211954875680534e-01 + -3.208288307426270e-01 + -3.204627065455645e-01 + -3.200971150001409e-01 + -3.197320561103191e-01 + -3.193675298795836e-01 + -3.190035363166080e-01 + -3.186400754009213e-01 + -3.182771471114187e-01 + -3.179147514432106e-01 + -3.175528883799994e-01 + -3.171915578921511e-01 + -3.168307599394173e-01 + -3.164704945026028e-01 + -3.161107615528752e-01 + -3.157515610223091e-01 + -3.153928928534279e-01 + -3.150347570035595e-01 + -3.146771534412893e-01 + -3.143200821026652e-01 + -3.139635429048980e-01 + -3.136075357713601e-01 + -3.132520606345795e-01 + -3.128971174301287e-01 + -3.125427060850263e-01 + -3.121888265003789e-01 + -3.118354785699559e-01 + -3.114826622209773e-01 + -3.111303773636806e-01 + -3.107786238863177e-01 + -3.104274016699458e-01 + -3.100767106006651e-01 + -3.097265505731036e-01 + -3.093769214901858e-01 + -3.090278232197667e-01 + -3.086792556057311e-01 + -3.083312185528201e-01 + -3.079837119302323e-01 + -3.076367355606988e-01 + -3.072902893338402e-01 + -3.069443731087555e-01 + -3.065989866918071e-01 + -3.062541299629242e-01 + -3.059098027895394e-01 + -3.055660049841727e-01 + -3.052227363624680e-01 + -3.048799967605036e-01 + -3.045377860349815e-01 + -3.041961039937703e-01 + -3.038549504461246e-01 + -3.035143252370935e-01 + -3.031742281687436e-01 + -3.028346590287212e-01 + -3.024956176228422e-01 + -3.021571037727226e-01 + -3.018191172891879e-01 + -3.014816579447884e-01 + -3.011447255196590e-01 + -3.008083198102758e-01 + -3.004724406299011e-01 + -3.001370877400161e-01 + -2.998022608844934e-01 + -2.994679598576119e-01 + -2.991341844426006e-01 + -2.988009344054493e-01 + -2.984682095047237e-01 + -2.981360094999961e-01 + -2.978043341494513e-01 + -2.974731831997393e-01 + -2.971425563888731e-01 + -2.968124534589884e-01 + -2.964828741880918e-01 + -2.961538183196636e-01 + -2.958252855581221e-01 + -2.954972756291568e-01 + -2.951697882690829e-01 + -2.948428232168150e-01 + -2.945163801997789e-01 + -2.941904589349781e-01 + -2.938650591314966e-01 + -2.935401805013078e-01 + -2.932158227514122e-01 + -2.928919855851135e-01 + -2.925686687341852e-01 + -2.922458719001491e-01 + -2.919235947316832e-01 + -2.916018369508684e-01 + -2.912805982685433e-01 + -2.909598783275820e-01 + -2.906396768390501e-01 + -2.903199935181080e-01 + -2.900008280188033e-01 + -2.896821799916231e-01 + -2.893640491090957e-01 + -2.890464350819901e-01 + -2.887293375718574e-01 + -2.884127562142981e-01 + -2.880966906629407e-01 + -2.877811406014185e-01 + -2.874661057081589e-01 + -2.871515856017081e-01 + -2.868375799224188e-01 + -2.865240883310016e-01 + -2.862111104788733e-01 + -2.858986460098822e-01 + -2.855866945593247e-01 + -2.852752557499685e-01 + -2.849643292069009e-01 + -2.846539145659956e-01 + -2.843440114851778e-01 + -2.840346195818731e-01 + -2.837257384382189e-01 + -2.834173676812886e-01 + -2.831095069534547e-01 + -2.828021558855677e-01 + -2.824953140398479e-01 + -2.821889810170294e-01 + -2.818831564761255e-01 + -2.815778399984394e-01 + -2.812730311718642e-01 + -2.809687296216254e-01 + -2.806649349155874e-01 + -2.803616466281044e-01 + -2.800588643758425e-01 + -2.797565877594176e-01 + -2.794548163592918e-01 + -2.791535497376408e-01 + -2.788527874670974e-01 + -2.785525291296920e-01 + -2.782527743138438e-01 + -2.779535226034689e-01 + -2.776547735631448e-01 + -2.773565267276963e-01 + -2.770587816777879e-01 + -2.767615379983304e-01 + -2.764647952191276e-01 + -2.761685529026718e-01 + -2.758728106207560e-01 + -2.755775679024411e-01 + -2.752828243050798e-01 + -2.749885793975552e-01 + -2.746948327088052e-01 + -2.744015837838452e-01 + -2.741088321749212e-01 + -2.738165773969221e-01 + -2.735248189792139e-01 + -2.732335564721672e-01 + -2.729427894286903e-01 + -2.726525173657923e-01 + -2.723627397775934e-01 + -2.720734562117226e-01 + -2.717846661993187e-01 + -2.714963692431568e-01 + -2.712085648712142e-01 + -2.709212526021956e-01 + -2.706344319386959e-01 + -2.703481024077038e-01 + -2.700622635195931e-01 + -2.697769147573882e-01 + -2.694920556414950e-01 + -2.692076856844960e-01 + -2.689238043678598e-01 + -2.686404111894522e-01 + -2.683575056539274e-01 + -2.680750872618156e-01 + -2.677931554956217e-01 + -2.675117098420171e-01 + -2.672307498062658e-01 + -2.669502748541435e-01 + -2.666702844564393e-01 + -2.663907781339158e-01 + -2.661117553567487e-01 + -2.658332155842312e-01 + -2.655551583220328e-01 + -2.652775830228958e-01 + -2.650004891310402e-01 + -2.647238761635896e-01 + -2.644477435849875e-01 + -2.641720908275026e-01 + -2.638969173638899e-01 + -2.636222226679477e-01 + -2.633480062028563e-01 + -2.630742674151484e-01 + -2.628010057675256e-01 + -2.625282207270022e-01 + -2.622559117157733e-01 + -2.619840781930577e-01 + -2.617127196438671e-01 + -2.614418354712815e-01 + -2.611714251171109e-01 + -2.609014880694051e-01 + -2.606320237300626e-01 + -2.603630315312080e-01 + -2.600945109576975e-01 + -2.598264614192900e-01 + -2.595588823272051e-01 + -2.592917731268140e-01 + -2.590251332515323e-01 + -2.587589621335352e-01 + -2.584932592080277e-01 + -2.582280238899204e-01 + -2.579632555996659e-01 + -2.576989537753064e-01 + -2.574351178135512e-01 + -2.571717471205571e-01 + -2.569088411498421e-01 + -2.566463993032694e-01 + -2.563844209736399e-01 + -2.561229055922761e-01 + -2.558618525664796e-01 + -2.556012613001373e-01 + -2.553411312228936e-01 + -2.550814617199114e-01 + -2.548222521633088e-01 + -2.545635019702024e-01 + -2.543052105636615e-01 + -2.540473773489130e-01 + -2.537900016856341e-01 + -2.535330829668063e-01 + -2.532766206092137e-01 + -2.530206140025920e-01 + -2.527650625373169e-01 + -2.525099656058339e-01 + -2.522553225882911e-01 + -2.520011328519368e-01 + -2.517473957689335e-01 + -2.514941107682424e-01 + -2.512412772287477e-01 + -2.509888944763962e-01 + -2.507369619085763e-01 + -2.504854789235316e-01 + -2.502344448942996e-01 + -2.499838591881081e-01 + -2.497337211675947e-01 + -2.494840301941274e-01 + -2.492347856449565e-01 + -2.489859868896926e-01 + -2.487376332816026e-01 + -2.484897241934407e-01 + -2.482422589923619e-01 + -2.479952370263670e-01 + -2.477486576676466e-01 + -2.475025202765806e-01 + -2.472568241776227e-01 + -2.470115687463755e-01 + -2.467667533575219e-01 + -2.465223773319763e-01 + -2.462784400223504e-01 + -2.460349407926405e-01 + -2.457918789841980e-01 + -2.455492539346369e-01 + -2.453070649885519e-01 + -2.450653115068263e-01 + -2.448239928212929e-01 + -2.445831082525867e-01 + -2.443426571517872e-01 + -2.441026388729581e-01 + -2.438630527595843e-01 + -2.436238981283992e-01 + -2.433851743000419e-01 + -2.431468806082007e-01 + -2.429090164035606e-01 + -2.426715810065056e-01 + -2.424345737214870e-01 + -2.421979939156839e-01 + -2.419618409122474e-01 + -2.417261139893861e-01 + -2.414908125047008e-01 + -2.412559357926221e-01 + -2.410214831428485e-01 + -2.407874538901436e-01 + -2.405538473594189e-01 + -2.403206628448788e-01 + -2.400878996494245e-01 + -2.398555571012901e-01 + -2.396236345489386e-01 + -2.393921312730178e-01 + -2.391610465589564e-01 + -2.389303797400675e-01 + -2.387001301206918e-01 + -2.384702970040557e-01 + -2.382408797142012e-01 + -2.380118775445049e-01 + -2.377832897784107e-01 + -2.375551157141706e-01 + -2.373273546676602e-01 + -2.371000059435911e-01 + -2.368730688080822e-01 + -2.366465425799626e-01 + -2.364204265795865e-01 + -2.361947200488833e-01 + -2.359694222928865e-01 + -2.357445326362645e-01 + -2.355200503199650e-01 + -2.352959746331166e-01 + -2.350723049000333e-01 + -2.348490404054174e-01 + -2.346261804119323e-01 + -2.344037241869703e-01 + -2.341816710532240e-01 + -2.339600202844186e-01 + -2.337387711161095e-01 + -2.335179228570654e-01 + -2.332974748051559e-01 + -2.330774262250223e-01 + -2.328577763695832e-01 + -2.326385245095027e-01 + -2.324196699339893e-01 + -2.322012119071908e-01 + -2.319831496985562e-01 + -2.317654825913850e-01 + -2.315482098501277e-01 + -2.313313307350805e-01 + -2.311148445095759e-01 + -2.308987504304352e-01 + -2.306830477605995e-01 + -2.304677357746768e-01 + -2.302528137313455e-01 + -2.300382808821649e-01 + -2.298241364802842e-01 + -2.296103797849810e-01 + -2.293970100645507e-01 + -2.291840265929282e-01 + -2.289714285853380e-01 + -2.287592152687787e-01 + -2.285473859575702e-01 + -2.283359398767679e-01 + -2.281248762354934e-01 + -2.279141943457151e-01 + -2.277038934347241e-01 + -2.274939727028900e-01 + -2.272844314557521e-01 + -2.270752689260884e-01 + -2.268664843063303e-01 + -2.266580768713468e-01 + -2.264500458690802e-01 + -2.262423905203003e-01 + -2.260351100742427e-01 + -2.258282037663114e-01 + -2.256216708189812e-01 + -2.254155104759721e-01 + -2.252097219699820e-01 + -2.250043045201664e-01 + -2.247992573593203e-01 + -2.245945797283117e-01 + -2.243902708632074e-01 + -2.241863299547213e-01 + -2.239827562297785e-01 + -2.237795489631809e-01 + -2.235767073479459e-01 + -2.233742305913306e-01 + -2.231721179508258e-01 + -2.229703686190215e-01 + -2.227689817967141e-01 + -2.225679567331226e-01 + -2.223672926389324e-01 + -2.221669887137792e-01 + -2.219670441735496e-01 + -2.217674582593449e-01 + -2.215682301863681e-01 + -2.213693591068690e-01 + -2.211708442449674e-01 + -2.209726848493868e-01 + -2.207748801280919e-01 + -2.205774292618204e-01 + -2.203803314334422e-01 + -2.201835858632719e-01 + -2.199871917828554e-01 + -2.197911484006530e-01 + -2.195954548584606e-01 + -2.194001103587555e-01 + -2.192051141421317e-01 + -2.190104654040938e-01 + -2.188161633272981e-01 + -2.186222070944807e-01 + -2.184285959003400e-01 + -2.182353289399314e-01 + -2.180424054040691e-01 + -2.178498244760091e-01 + -2.176575853577229e-01 + -2.174656872563868e-01 + -2.172741293153170e-01 + -2.170829107184905e-01 + -2.168920306960583e-01 + -2.167014883907840e-01 + -2.165112829716549e-01 + -2.163214136638050e-01 + -2.161318796380734e-01 + -2.159426800456078e-01 + -2.157538140457635e-01 + -2.155652808465100e-01 + -2.153770796378261e-01 + -2.151892095617934e-01 + -2.150016698096599e-01 + -2.148144595574814e-01 + -2.146275779264766e-01 + -2.144410241083473e-01 + -2.142547972973645e-01 + -2.140688966286696e-01 + -2.138833212713278e-01 + -2.136980704068839e-01 + -2.135131431962469e-01 + -2.133285387811797e-01 + -2.131442563097479e-01 + -2.129602949644751e-01 + -2.127766538888946e-01 + -2.125933322205115e-01 + -2.124103291538361e-01 + -2.122276438425608e-01 + -2.120452754131807e-01 + -2.118632230196053e-01 + -2.116814858091140e-01 + -2.115000629262062e-01 + -2.113189535366684e-01 + -2.111381567835468e-01 + -2.109576717897184e-01 + -2.107774976942802e-01 + -2.105976336477213e-01 + -2.104180788038142e-01 + -2.102388322993181e-01 + -2.100598932684242e-01 + -2.098812608470688e-01 + -2.097029341689293e-01 + -2.095249123662445e-01 + -2.093471945702010e-01 + -2.091697799107427e-01 + -2.089926675162990e-01 + -2.088158565139439e-01 + -2.086393460309292e-01 + -2.084631351904399e-01 + -2.082872231124364e-01 + -2.081116089361562e-01 + -2.079362917906518e-01 + -2.077612707758083e-01 + -2.075865450013143e-01 + -2.074121135936494e-01 + -2.072379756933602e-01 + -2.070641303864229e-01 + -2.068905767613353e-01 + -2.067173139701657e-01 + -2.065443411403108e-01 + -2.063716573678470e-01 + -2.061992617242399e-01 + -2.060271533191409e-01 + -2.058553312792487e-01 + -2.056837947057731e-01 + -2.055125426973447e-01 + -2.053415743575506e-01 + -2.051708887985432e-01 + -2.050004850901530e-01 + -2.048303622987561e-01 + -2.046605195888223e-01 + -2.044909560501713e-01 + -2.043216707137636e-01 + -2.041526627003059e-01 + -2.039839311053935e-01 + -2.038154749924674e-01 + -2.036472934779214e-01 + -2.034793856435669e-01 + -2.033117505334730e-01 + -2.031443872603400e-01 + -2.029772949053144e-01 + -2.028104725040109e-01 + -2.026439191805672e-01 + -2.024776340229360e-01 + -2.023116160442759e-01 + -2.021458643362796e-01 + -2.019803779931268e-01 + -2.018151560674621e-01 + -2.016501976152565e-01 + -2.014855017030598e-01 + -2.013210674074579e-01 + -2.011568937830132e-01 + -2.009929798869589e-01 + -2.008293247967324e-01 + -2.006659275530022e-01 + -2.005027871933542e-01 + -2.003399027889975e-01 + -2.001772733993469e-01 + -2.000148980648089e-01 + -1.998527758076494e-01 + -1.996909056937942e-01 + -1.995292867991256e-01 + -1.993679181495860e-01 + -1.992067987609143e-01 + -1.990459276660739e-01 + -1.988853039482369e-01 + -1.987249266385540e-01 + -1.985647947339026e-01 + -1.984049072747179e-01 + -1.982452632992336e-01 + -1.980858618372365e-01 + -1.979267019229292e-01 + -1.977677825816225e-01 + -1.976091028269504e-01 + -1.974506616652059e-01 + -1.972924581269546e-01 + -1.971344912595772e-01 + -1.969767600601777e-01 + -1.968192635197257e-01 + -1.966620006473419e-01 + -1.965049704914111e-01 + -1.963481720619957e-01 + -1.961916043159508e-01 + -1.960352662866058e-01 + -1.958791570023236e-01 + -1.957232754408347e-01 + -1.955676205736371e-01 + -1.954121914050787e-01 + -1.952569869811404e-01 + -1.951020062511957e-01 + -1.949472481743376e-01 + -1.947927118000400e-01 + -1.946383960967118e-01 + -1.944843000224015e-01 + -1.943304226010136e-01 + -1.941767627996486e-01 + -1.940233195719773e-01 + -1.938700919198527e-01 + -1.937170788011597e-01 + -1.935642791691659e-01 + -1.934116920404960e-01 + -1.932593163702813e-01 + -1.931071510855982e-01 + -1.929551951739442e-01 + -1.928034476111422e-01 + -1.926519073523142e-01 + -1.925005733427448e-01 + -1.923494445333268e-01 + -1.921985198850023e-01 + -1.920477983694047e-01 + -1.918972789099489e-01 + -1.917469604078139e-01 + -1.915968418647559e-01 + -1.914469222323946e-01 + -1.912972003977130e-01 + -1.911476753153419e-01 + -1.909983459354311e-01 + -1.908492111828614e-01 + -1.907002699990133e-01 + -1.905515213021572e-01 + -1.904029639829450e-01 + -1.902545969863778e-01 + -1.901064192518998e-01 + -1.899584296832387e-01 + -1.898106271909556e-01 + -1.896630106872466e-01 + -1.895155790805884e-01 + -1.893683312769490e-01 + -1.892212661839438e-01 + -1.890743827110565e-01 + -1.889276797429612e-01 + -1.887811561730439e-01 + -1.886348109311961e-01 + -1.884886428944042e-01 + -1.883426509295119e-01 + -1.881968339481026e-01 + -1.880511908244114e-01 + -1.879057204210790e-01 + -1.877604216379617e-01 + -1.876152933660684e-01 + -1.874703344759240e-01 + -1.873255438107255e-01 + -1.871809202288037e-01 + -1.870364626111082e-01 + -1.868921698587295e-01 + -1.867480408184902e-01 + -1.866040743068453e-01 + -1.864602692045282e-01 + -1.863166243684211e-01 + -1.861731386269271e-01 + -1.860298108368848e-01 + -1.858866398430710e-01 + -1.857436244746902e-01 + -1.856007635808946e-01 + -1.854580560069532e-01 + -1.853155005825300e-01 + -1.851730961153894e-01 + -1.850308414342497e-01 + -1.848887353926573e-01 + -1.847467767859671e-01 + -1.846049644137440e-01 + -1.844632971091011e-01 + -1.843217736893654e-01 + -1.841803929497542e-01 + -1.840391536710132e-01 + -1.838980546953601e-01 + -1.837570948428414e-01 + -1.836162728527662e-01 + -1.834755875142904e-01 + -1.833350376404768e-01 + -1.831946220322505e-01 + -1.830543394615971e-01 + -1.829141886951903e-01 + -1.827741685199023e-01 + -1.826342777082210e-01 + -1.824945150204152e-01 + -1.823548792146146e-01 + -1.822153690716325e-01 + -1.820759833652730e-01 + -1.819367208114371e-01 + -1.817975801678411e-01 + -1.816585602158104e-01 + -1.815196596908165e-01 + -1.813808773333636e-01 + -1.812422118861797e-01 + -1.811036620617022e-01 + -1.809652266051679e-01 + -1.808269042761388e-01 + -1.806886937510042e-01 + -1.805505937426575e-01 + -1.804126030135119e-01 + -1.802747202867512e-01 + -1.801369442562599e-01 + -1.799992736029428e-01 + -1.798617070428147e-01 + -1.797242432859927e-01 + -1.795868810229852e-01 + -1.794496189531687e-01 + -1.793124557648680e-01 + -1.791753901302353e-01 + -1.790384207459855e-01 + -1.789015462957270e-01 + -1.787647654308534e-01 + -1.786280768266134e-01 + -1.784914791546937e-01 + -1.783549710639760e-01 + -1.782185512276328e-01 + -1.780822183108111e-01 + -1.779459709418989e-01 + -1.778098077766785e-01 + -1.776737274641330e-01 + -1.775377286080068e-01 + -1.774018098685905e-01 + -1.772659699092733e-01 + -1.771302073149079e-01 + -1.769945207098710e-01 + -1.768589087303928e-01 + -1.767233699571559e-01 + -1.765879030229077e-01 + -1.764525065751527e-01 + -1.763171791703831e-01 + -1.761819193770276e-01 + -1.760467257991546e-01 + -1.759115970764966e-01 + -1.757765317826701e-01 + -1.756415284467932e-01 + -1.755065856823099e-01 + -1.753717020824757e-01 + -1.752368761936218e-01 + -1.751021065398607e-01 + -1.749673916979465e-01 + -1.748327302843573e-01 + -1.746981207950505e-01 + -1.745635617515470e-01 + -1.744290517410085e-01 + -1.742945892830799e-01 + -1.741601728915786e-01 + -1.740258011048612e-01 + -1.738914724532109e-01 + -1.737571854631234e-01 + -1.736229386541751e-01 + -1.734887304969607e-01 + -1.733545594900176e-01 + -1.732204242005106e-01 + -1.730863230847530e-01 + -1.729522545880760e-01 + -1.728182172369972e-01 + -1.726842095169024e-01 + -1.725502298924380e-01 + -1.724162768405715e-01 + -1.722823488297978e-01 + -1.721484443102564e-01 + -1.720145617082366e-01 + -1.718806995062888e-01 + -1.717468561876117e-01 + -1.716130301380271e-01 + -1.714792197950507e-01 + -1.713454236195253e-01 + -1.712116399980747e-01 + -1.710778673588311e-01 + -1.709441041583024e-01 + -1.708103487974718e-01 + -1.706765996579921e-01 + -1.705428551238503e-01 + -1.704091136122197e-01 + -1.702753735243250e-01 + -1.701416332337174e-01 + -1.700078910979654e-01 + -1.698741454939726e-01 + -1.697403948188084e-01 + -1.696066374424440e-01 + -1.694728717024124e-01 + -1.693390959182572e-01 + -1.692053084687103e-01 + -1.690715077127793e-01 + -1.689376919605925e-01 + -1.688038595533757e-01 + -1.686700088249354e-01 + -1.685361380772680e-01 + -1.684022456043037e-01 + -1.682683297240474e-01 + -1.681343887869522e-01 + -1.680004210524648e-01 + -1.678664247764668e-01 + -1.677323982879569e-01 + -1.675983398888628e-01 + -1.674642478421112e-01 + -1.673301203727337e-01 + -1.671959557470875e-01 + -1.670617522514179e-01 + -1.669275081523977e-01 + -1.667932216748827e-01 + -1.666588910302535e-01 + -1.665245144618999e-01 + -1.663900902261115e-01 + -1.662556165573334e-01 + -1.661210916150787e-01 + -1.659865136192500e-01 + -1.658518808205523e-01 + -1.657171913793817e-01 + -1.655824434869752e-01 + -1.654476353589082e-01 + -1.653127651402884e-01 + -1.651778310039089e-01 + -1.650428311475997e-01 + -1.649077636947325e-01 + -1.647726268054878e-01 + -1.646374186795111e-01 + -1.645021374143022e-01 + -1.643667811219276e-01 + -1.642313479645375e-01 + -1.640958360797542e-01 + -1.639602435821208e-01 + -1.638245685678920e-01 + -1.636888091342957e-01 + -1.635529633807896e-01 + -1.634170294056715e-01 + -1.632810052843662e-01 + -1.631448890987297e-01 + -1.630086789505001e-01 + -1.628723728914803e-01 + -1.627359689604526e-01 + -1.625994652175857e-01 + -1.624628597296842e-01 + -1.623261505411777e-01 + -1.621893356498993e-01 + -1.620524130844338e-01 + -1.619153808874262e-01 + -1.617782370829140e-01 + -1.616409796594323e-01 + -1.615036066042981e-01 + -1.613661159511956e-01 + -1.612285056749289e-01 + -1.610907737177844e-01 + -1.609529180644884e-01 + -1.608149367058714e-01 + -1.606768276166446e-01 + -1.605385887249777e-01 + -1.604002179666082e-01 + -1.602617132920370e-01 + -1.601230726507729e-01 + -1.599842939686116e-01 + -1.598453751511857e-01 + -1.597063141136520e-01 + -1.595671087574746e-01 + -1.594277569704320e-01 + -1.592882566576958e-01 + -1.591486057239582e-01 + -1.590088020577491e-01 + -1.588688434990599e-01 + -1.587287278927537e-01 + -1.585884531125515e-01 + -1.584480170419727e-01 + -1.583074175205078e-01 + -1.581666523320080e-01 + -1.580257193426469e-01 + -1.578846164090064e-01 + -1.577433413163997e-01 + -1.576018918624315e-01 + -1.574602658488709e-01 + -1.573184610699215e-01 + -1.571764753211041e-01 + -1.570343063929105e-01 + -1.568919520623428e-01 + -1.567494100904384e-01 + -1.566066782348808e-01 + -1.564637542612438e-01 + -1.563206358983480e-01 + -1.561773208679784e-01 + -1.560338069324230e-01 + -1.558900918260982e-01 + -1.557461732592160e-01 + -1.556020489404925e-01 + -1.554577165574562e-01 + -1.553131737930803e-01 + -1.551684183667380e-01 + -1.550234479797016e-01 + -1.548782603038531e-01 + -1.547328529851514e-01 + -1.545872236759721e-01 + -1.544413700402710e-01 + -1.542952897416497e-01 + -1.541489804232354e-01 + -1.540024397056934e-01 + -1.538556652055174e-01 + -1.537086545589509e-01 + -1.535614054107616e-01 + -1.534139153265976e-01 + -1.532661818894184e-01 + -1.531182027303390e-01 + -1.529699754364569e-01 + -1.528214975805129e-01 + -1.526727667337492e-01 + -1.525237804315604e-01 + -1.523745362382714e-01 + -1.522250317710374e-01 + -1.520752645246755e-01 + -1.519252320010430e-01 + -1.517749318043420e-01 + -1.516243614355856e-01 + -1.514735183783821e-01 + -1.513224001894709e-01 + -1.511710043669709e-01 + -1.510193283881065e-01 + -1.508673697644896e-01 + -1.507151259726486e-01 + -1.505625944726656e-01 + -1.504097727456887e-01 + -1.502566582737337e-01 + -1.501032485283334e-01 + -1.499495409558064e-01 + -1.497955329817901e-01 + -1.496412220312461e-01 + -1.494866055649385e-01 + -1.493316810218445e-01 + -1.491764458131949e-01 + -1.490208973395277e-01 + -1.488650330073115e-01 + -1.487088502321930e-01 + -1.485523464347014e-01 + -1.483955190026080e-01 + -1.482383652905619e-01 + -1.480808826638546e-01 + -1.479230685198502e-01 + -1.477649202713839e-01 + -1.476064352431592e-01 + -1.474476107543291e-01 + -1.472884441602761e-01 + -1.471289328556787e-01 + -1.469690741904771e-01 + -1.468088654425319e-01 + -1.466483039513407e-01 + -1.464873870643751e-01 + -1.463261120992439e-01 + -1.461644763685366e-01 + -1.460024771711030e-01 + -1.458401117873900e-01 + -1.456773775256328e-01 + -1.455142717039091e-01 + -1.453507916253095e-01 + -1.451869345373153e-01 + -1.450226976893540e-01 + -1.448580783981553e-01 + -1.446930739597145e-01 + -1.445276816274984e-01 + -1.443618986028185e-01 + -1.441957221635531e-01 + -1.440291496154044e-01 + -1.438621781832398e-01 + -1.436948050802729e-01 + -1.435270275400491e-01 + -1.433588428498931e-01 + -1.431902482406432e-01 + -1.430212409022274e-01 + -1.428518180756519e-01 + -1.426819769869911e-01 + -1.425117148424586e-01 + -1.423410288662751e-01 + -1.421699162875700e-01 + -1.419983743276740e-01 + -1.418264001727286e-01 + -1.416539910114460e-01 + -1.414811440470098e-01 + -1.413078564852965e-01 + -1.411341255423312e-01 + -1.409599484327010e-01 + -1.407853222965617e-01 + -1.406102443173973e-01 + -1.404347117561954e-01 + -1.402587217519092e-01 + -1.400822714659246e-01 + -1.399053581557436e-01 + -1.397279789611117e-01 + -1.395501310267636e-01 + -1.393718115937786e-01 + -1.391930178402762e-01 + -1.390137469173205e-01 + -1.388339959972602e-01 + -1.386537622953096e-01 + -1.384730430031857e-01 + -1.382918352262208e-01 + -1.381101361784074e-01 + -1.379279430940128e-01 + -1.377452530885734e-01 + -1.375620633453186e-01 + -1.373783710804598e-01 + -1.371941734475252e-01 + -1.370094676273606e-01 + -1.368242508215203e-01 + -1.366385202106050e-01 + -1.364522729969404e-01 + -1.362655063841710e-01 + -1.360782175127518e-01 + -1.358904035964053e-01 + -1.357020618930480e-01 + -1.355131895302153e-01 + -1.353237837054462e-01 + -1.351338416922692e-01 + -1.349433606493001e-01 + -1.347523377766847e-01 + -1.345607703467432e-01 + -1.343686555800670e-01 + -1.341759906744941e-01 + -1.339827728348106e-01 + -1.337889993407819e-01 + -1.335946674413715e-01 + -1.333997743261954e-01 + -1.332043172962129e-01 + -1.330082936252972e-01 + -1.328117004983506e-01 + -1.326145352418741e-01 + -1.324167951779929e-01 + -1.322184775207451e-01 + -1.320195795498869e-01 + -1.318200985870884e-01 + -1.316200319613715e-01 + -1.314193769770063e-01 + -1.312181309395709e-01 + -1.310162911860090e-01 + -1.308138550466099e-01 + -1.306108198680959e-01 + -1.304071830473609e-01 + -1.302029419358534e-01 + -1.299980938748928e-01 + -1.297926362720222e-01 + -1.295865665431496e-01 + -1.293798820977739e-01 + -1.291725803345192e-01 + -1.289646586840201e-01 + -1.287561146028010e-01 + -1.285469455426532e-01 + -1.283371489741077e-01 + -1.281267223855238e-01 + -1.279156632656401e-01 + -1.277039691180485e-01 + -1.274916374652222e-01 + -1.272786658468367e-01 + -1.270650518164191e-01 + -1.268507929437779e-01 + -1.266358868257778e-01 + -1.264203310530910e-01 + -1.262041232080785e-01 + -1.259872609212462e-01 + -1.257697418614985e-01 + -1.255515637216261e-01 + -1.253327241582721e-01 + -1.251132208452764e-01 + -1.248930515084944e-01 + -1.246722139029198e-01 + -1.244507057917270e-01 + -1.242285249387353e-01 + -1.240056691417677e-01 + -1.237821362222557e-01 + -1.235579240163024e-01 + -1.233330303641722e-01 + -1.231074531412701e-01 + -1.228811902909497e-01 + -1.226542397328350e-01 + -1.224265993926709e-01 + -1.221982672554952e-01 + -1.219692413178169e-01 + -1.217395195880366e-01 + -1.215091001037845e-01 + -1.212779809466277e-01 + -1.210461602256936e-01 + -1.208136360512357e-01 + -1.205804065871132e-01 + -1.203464700244819e-01 + -1.201118245085727e-01 + -1.198764682774020e-01 + -1.196403996473917e-01 + -1.194036168896808e-01 + -1.191661183059585e-01 + -1.189279022478277e-01 + -1.186889671039581e-01 + -1.184493112863093e-01 + -1.182089332317922e-01 + -1.179678314226111e-01 + -1.177260043675167e-01 + -1.174834505981953e-01 + -1.172401686820595e-01 + -1.169961572351099e-01 + -1.167514149230550e-01 + -1.165059404117411e-01 + -1.162597324012717e-01 + -1.160127896494247e-01 + -1.157651109471359e-01 + -1.155166951180050e-01 + -1.152675410245315e-01 + -1.150176475647009e-01 + -1.147670136740031e-01 + -1.145156383362403e-01 + -1.142635205942373e-01 + -1.140106595167702e-01 + -1.137570541746248e-01 + -1.135027037005393e-01 + -1.132476072885310e-01 + -1.129917641930528e-01 + -1.127351736954119e-01 + -1.124778350964029e-01 + -1.122197477241451e-01 + -1.119609110122396e-01 + -1.117013244465126e-01 + -1.114409874638995e-01 + -1.111798996306716e-01 + -1.109180606010562e-01 + -1.106554699641756e-01 + -1.103921273860412e-01 + -1.101280326261970e-01 + -1.098631854961093e-01 + -1.095975858385727e-01 + -1.093312335328026e-01 + -1.090641285282797e-01 + -1.087962708201439e-01 + -1.085276604456853e-01 + -1.082582975002112e-01 + -1.079881821487157e-01 + -1.077173146235393e-01 + -1.074456951780328e-01 + -1.071733241222459e-01 + -1.069002018428373e-01 + -1.066263287812705e-01 + -1.063517054311524e-01 + -1.060763323447030e-01 + -1.058002101349244e-01 + -1.055233394662503e-01 + -1.052457210591484e-01 + -1.049673557111256e-01 + -1.046882442747131e-01 + -1.044083876525769e-01 + -1.041277868396362e-01 + -1.038464428925467e-01 + -1.035643569070283e-01 + -1.032815300276830e-01 + -1.029979634724506e-01 + -1.027136585692167e-01 + -1.024286166734134e-01 + -1.021428391952729e-01 + -1.018563276648054e-01 + -1.015690836461885e-01 + -1.012811087487812e-01 + -1.009924046817547e-01 + -1.007029732152899e-01 + -1.004128161832720e-01 + -1.001219355157012e-01 + -9.983033318947014e-02 + -9.953801123789381e-02 + -9.924497181065381e-02 + -9.895121710675164e-02 + -9.865674937610269e-02 + -9.836157098451072e-02 + -9.806568435550449e-02 + -9.776909196067303e-02 + -9.747179635418697e-02 + -9.717380018935569e-02 + -9.687510621844479e-02 + -9.657571724434684e-02 + -9.627563612429342e-02 + -9.597486578738405e-02 + -9.567340928055243e-02 + -9.537126972794066e-02 + -9.506845031433311e-02 + -9.476495428226560e-02 + -9.446078497156121e-02 + -9.415594584893169e-02 + -9.385044042616277e-02 + -9.354427227181475e-02 + -9.323744504129654e-02 + -9.292996250412121e-02 + -9.262182850819620e-02 + -9.231304696021701e-02 + -9.200362185853247e-02 + -9.169355729461479e-02 + -9.138285746240042e-02 + -9.107152658866502e-02 + -9.075956898041553e-02 + -9.044698911371001e-02 + -9.013379148226228e-02 + -8.981998063663986e-02 + -8.950556130228651e-02 + -8.919053824746566e-02 + -8.887491629233073e-02 + -8.855870039130662e-02 + -8.824189556852820e-02 + -8.792450692262105e-02 + -8.760653968435946e-02 + -8.728799913331863e-02 + -8.696889060279582e-02 + -8.664921956673162e-02 + -8.632899159487925e-02 + -8.600821233560418e-02 + -8.568688750540578e-02 + -8.536502290181033e-02 + -8.504262441718942e-02 + -8.471969805751253e-02 + -8.439624991228166e-02 + -8.407228614692197e-02 + -8.374781300392073e-02 + -8.342283682562317e-02 + -8.309736406563741e-02 + -8.277140122021633e-02 + -8.244495489588025e-02 + -8.211803185128563e-02 + -8.179063884910803e-02 + -8.146278271646745e-02 + -8.113447041766966e-02 + -8.080570906396743e-02 + -8.047650581443898e-02 + -8.014686781276095e-02 + -7.981680240792462e-02 + -7.948631704884632e-02 + -7.915541916537581e-02 + -7.882411634928695e-02 + -7.849241630024972e-02 + -7.816032674199919e-02 + -7.782785552351333e-02 + -7.749501058768483e-02 + -7.716179991262426e-02 + -7.682823159405887e-02 + -7.649431382724470e-02 + -7.616005485767063e-02 + -7.582546305035900e-02 + -7.549054686796573e-02 + -7.515531479419155e-02 + -7.481977542018518e-02 + -7.448393744841550e-02 + -7.414780964186224e-02 + -7.381140084542565e-02 + -7.347471999131863e-02 + -7.313777608894645e-02 + -7.280057821330421e-02 + -7.246313551410177e-02 + -7.212545725749871e-02 + -7.178755277686714e-02 + -7.144943146088469e-02 + -7.111110278446059e-02 + -7.077257629326426e-02 + -7.043386160590276e-02 + -7.009496843792977e-02 + -6.975590657859251e-02 + -6.941668588038064e-02 + -6.907731623736572e-02 + -6.873780762436528e-02 + -6.839817013263073e-02 + -6.805841390025939e-02 + -6.771854911509186e-02 + -6.737858603607710e-02 + -6.703853501790490e-02 + -6.669840646610939e-02 + -6.635821080020089e-02 + -6.601795854049251e-02 + -6.567766029345612e-02 + -6.533732672933422e-02 + -6.499696856244534e-02 + -6.465659655384894e-02 + -6.431622152906083e-02 + -6.397585437117004e-02 + -6.363550601749234e-02 + -6.329518746487584e-02 + -6.295490977261127e-02 + -6.261468405232740e-02 + -6.227452144919842e-02 + -6.193443314782195e-02 + -6.159443038613483e-02 + -6.125452449175782e-02 + -6.091472682299209e-02 + -6.057504875634485e-02 + -6.023550170757411e-02 + -5.989609715178513e-02 + -5.955684662483948e-02 + -5.921776169220818e-02 + -5.887885392543541e-02 + -5.854013491232313e-02 + -5.820161634720029e-02 + -5.786330995026137e-02 + -5.752522743033200e-02 + -5.718738052319666e-02 + -5.684978102238282e-02 + -5.651244078415603e-02 + -5.617537160914179e-02 + -5.583858533460867e-02 + -5.550209389764803e-02 + -5.516590918758542e-02 + -5.483004310132478e-02 + -5.449450760284144e-02 + -5.415931467224975e-02 + -5.382447627285256e-02 + -5.349000433169809e-02 + -5.315591089010736e-02 + -5.282220800586091e-02 + -5.248890761304951e-02 + -5.215602173570349e-02 + -5.182356244333215e-02 + -5.149154173522678e-02 + -5.115997163165661e-02 + -5.082886416999516e-02 + -5.049823136495267e-02 + -5.016808523392447e-02 + -4.983843779429676e-02 + -4.950930104255546e-02 + -4.918068697018742e-02 + -4.885260756307724e-02 + -4.852507478656667e-02 + -4.819810059193260e-02 + -4.787169691654435e-02 + -4.754587567726797e-02 + -4.722064876717863e-02 + -4.689602805511645e-02 + -4.657202539266345e-02 + -4.624865260469157e-02 + -4.592592148337583e-02 + -4.560384379218360e-02 + -4.528243126408893e-02 + -4.496169559628109e-02 + -4.464164845065374e-02 + -4.432230145577399e-02 + -4.400366620090135e-02 + -4.368575422918912e-02 + -4.336857704568598e-02 + -4.305214611378011e-02 + -4.273647284209545e-02 + -4.242156859535529e-02 + -4.210744469338823e-02 + -4.179411239819886e-02 + -4.148158291999365e-02 + -4.116986741259326e-02 + -4.085897697584740e-02 + -4.054892265423421e-02 + -4.023971542131075e-02 + -3.993136619382251e-02 + -3.962388583123071e-02 + -3.931728511726146e-02 + -3.901157477126550e-02 + -3.870676544906659e-02 + -3.840286772630143e-02 + -3.809989211312446e-02 + -3.779784905219891e-02 + -3.749674889469364e-02 + -3.719660192057603e-02 + -3.689741833904486e-02 + -3.659920826728452e-02 + -3.630198174507707e-02 + -3.600574873447752e-02 + -3.571051910326670e-02 + -3.541630263528623e-02 + -3.512310902944081e-02 + -3.483094789226868e-02 + -3.453982873906083e-02 + -3.424976098893085e-02 + -3.396075396966352e-02 + -3.367281691959212e-02 + -3.338595897696143e-02 + -3.310018917253339e-02 + -3.281551644593574e-02 + -3.253194963945627e-02 + -3.224949747985180e-02 + -3.196816859917648e-02 + -3.168797153104005e-02 + -3.140891468854379e-02 + -3.113100638362195e-02 + -3.085425482400445e-02 + -3.057866810270934e-02 + -3.030425420554928e-02 + -3.003102099769914e-02 + -2.975897623664901e-02 + -2.948812757423692e-02 + -2.921848253324668e-02 + -2.895004852283206e-02 + -2.868283284398848e-02 + -2.841684266935389e-02 + -2.815208505554401e-02 + -2.788856694668657e-02 + -2.762629515277662e-02 + -2.736527636581735e-02 + -2.710551716378724e-02 + -2.684702399109470e-02 + -2.658980317107453e-02 + -2.633386090723251e-02 + -2.607920326420626e-02 + -2.582583618939347e-02 + -2.557376551170278e-02 + -2.532299691452088e-02 + -2.507353595904179e-02 + -2.482538808499682e-02 + -2.457855859507147e-02 + -2.433305266394129e-02 + -2.408887533435539e-02 + -2.384603151841623e-02 + -2.360452600145211e-02 + -2.336436343201402e-02 + -2.312554832609387e-02 + -2.288808507226996e-02 + -2.265197791904223e-02 + -2.241723098404469e-02 + -2.218384825955722e-02 + -2.195183359578144e-02 + -2.172119070564114e-02 + -2.149192317903017e-02 + -2.126403446983029e-02 + -2.103752788800763e-02 + -2.081240661670658e-02 + -2.058867370373213e-02 + -2.036633206151460e-02 + -2.014538447470562e-02 + -1.992583358220780e-02 + -1.970768189350454e-02 + -1.949093179354288e-02 + -1.927558551890179e-02 + -1.906164517346932e-02 + -1.884911273803516e-02 + -1.863799005561765e-02 + -1.842827883084014e-02 + -1.821998063919436e-02 + -1.801309692347624e-02 + -1.780762899421212e-02 + -1.760357803216378e-02 + -1.740094507853177e-02 + -1.719973104881908e-02 + -1.699993673354589e-02 + -1.680156278321953e-02 + -1.660460972117107e-02 + -1.640907794332531e-02 + -1.621496771146485e-02 + -1.602227916433384e-02 + -1.583101231371427e-02 + -1.564116703862817e-02 + -1.545274309883748e-02 + -1.526574012772238e-02 + -1.508015761914186e-02 + -1.489599495303444e-02 + -1.471325139301425e-02 + -1.453192606709004e-02 + -1.435201798658663e-02 + -1.417352604127694e-02 + -1.399644899327932e-02 + -1.382078549302728e-02 + -1.364653407164367e-02 + -1.347369313289915e-02 + -1.330226097046918e-02 + -1.313223576283522e-02 + -1.296361556501821e-02 + -1.279639832327015e-02 + -1.263058187022890e-02 + -1.246616392163480e-02 + -1.230314208589229e-02 + -1.214151385550256e-02 + -1.198127661271531e-02 + -1.182242763705999e-02 + -1.166496409538715e-02 + -1.150888304589847e-02 + -1.135418144553720e-02 + -1.120085614521435e-02 + -1.104890388968280e-02 + -1.089832132231912e-02 + -1.074910498405016e-02 + -1.060125131793449e-02 + -1.045475666967276e-02 + -1.030961728045836e-02 + -1.016582929759894e-02 + -1.002338877483435e-02 + -9.882291666582974e-03 + -9.742533838318660e-03 + -9.604111064390042e-03 + -9.467019020603698e-03 + -9.331253297647066e-03 + -9.196809399717920e-03 + -9.063682741005771e-03 + -8.931868652392608e-03 + -8.801362376326071e-03 + -8.672159070075210e-03 + -8.544253813557785e-03 + -8.417641603575709e-03 + -8.292317355716863e-03 + -8.168275911736944e-03 + -8.045512032694060e-03 + -7.924020397696789e-03 + -7.803795618017998e-03 + -7.684832236645861e-03 + -7.567124714929550e-03 + -7.450667444285828e-03 + -7.335454748033539e-03 + -7.221480883382279e-03 + -7.108740043647531e-03 + -6.997226348639058e-03 + -6.886933855315346e-03 + -6.777856561420043e-03 + -6.669988397445708e-03 + -6.563323236817328e-03 + -6.457854897474280e-03 + -6.353577131920331e-03 + -6.250483639666226e-03 + -6.148568068731946e-03 + -6.047824005897748e-03 + -5.948244987599076e-03 + -5.849824501347084e-03 + -5.752555978513681e-03 + -5.656432807264865e-03 + -5.561448332218353e-03 + -5.467595840626229e-03 + -5.374868578311233e-03 + -5.283259752176146e-03 + -5.192762521793490e-03 + -5.103370006626977e-03 + -5.015075286629148e-03 + -4.927871401782054e-03 + -4.841751355904269e-03 + -4.756708115524279e-03 + -4.672734611342882e-03 + -4.589823741835811e-03 + -4.507968371897898e-03 + -4.427161334111035e-03 + -4.347395432360992e-03 + -4.268663440821394e-03 + -4.190958105123732e-03 + -4.114272145237943e-03 + -4.038598254543495e-03 + -3.963929102325757e-03 + -3.890257335680627e-03 + -3.817575578228647e-03 + -3.745876433060482e-03 + -3.675152484340320e-03 + -3.605396296371936e-03 + -3.536600416225055e-03 + -3.468757375181376e-03 + -3.401859688514519e-03 + -3.335899857279008e-03 + -3.270870369624132e-03 + -3.206763701552144e-03 + -3.143572317880366e-03 + -3.081288673370167e-03 + -3.019905214426235e-03 + -2.959414379161780e-03 + -2.899808598243805e-03 + -2.841080297295089e-03 + -2.783221897187762e-03 + -2.726225814481816e-03 + -2.670084462721576e-03 + -2.614790253659214e-03 + -2.560335598217736e-03 + -2.506712907773368e-03 + -2.453914594305456e-03 + -2.401933071402304e-03 + -2.350760756079694e-03 + -2.300390068609935e-03 + -2.250813433830373e-03 + -2.202023282926124e-03 + -2.154012052729510e-03 + -2.106772187286276e-03 + -2.060296139752280e-03 + -2.014576371403607e-03 + -1.969605353508076e-03 + -1.925375568654703e-03 + -1.881879509874747e-03 + -1.839109683164610e-03 + -1.797058608044933e-03 + -1.755718816706420e-03 + -1.715082857166331e-03 + -1.675143293280333e-03 + -1.635892703443056e-03 + -1.597323683697497e-03 + -1.559428848712492e-03 + -1.522200830321536e-03 + -1.485632280183934e-03 + -1.449715870092584e-03 + -1.414444291041649e-03 + -1.379810256474448e-03 + -1.345806501791486e-03 + -1.312425783716085e-03 + -1.279660883530597e-03 + -1.247504606026809e-03 + -1.215949779407020e-03 + -1.184989258561609e-03 + -1.154615923413642e-03 + -1.124822679454977e-03 + -1.095602461024569e-03 + -1.066948228352973e-03 + -1.038852968864840e-03 + -1.011309701783447e-03 + -9.843114734261671e-04 + -9.578513585924095e-04 + -9.319224654553773e-04 + -9.065179311555053e-04 + -8.816309237062864e-04 + -8.572546450286300e-04 + -8.333823272254078e-04 + -8.100072355517002e-04 + -7.871226705798197e-04 + -7.647219641139264e-04 + -7.427984826268421e-04 + -7.213456295816899e-04 + -7.003568409622573e-04 + -6.798255887472549e-04 + -6.597453829223955e-04 + -6.401097674232178e-04 + -6.209123240167792e-04 + -6.021466729184949e-04 + -5.838064694784330e-04 + -5.658854088227745e-04 + -5.483772251938055e-04 + -5.312756891491387e-04 + -5.145746125261390e-04 + -4.982678466736966e-04 + -4.823492804447342e-04 + -4.668128456938979e-04 + -4.516525141842837e-04 + -4.368622962674093e-04 + -4.224362466667431e-04 + -4.083684605074392e-04 + -3.946530726767535e-04 + -3.812842634726816e-04 + -3.682562540846601e-04 + -3.555633067280622e-04 + -3.431997298953713e-04 + -3.311598733734528e-04 + -3.194381292167991e-04 + -3.080289365424697e-04 + -2.969267761950205e-04 + -2.861261725181284e-04 + -2.756216974519896e-04 + -2.654079650780054e-04 + -2.554796342192304e-04 + -2.458314117831762e-04 + -2.364580472261255e-04 + -2.273543358783364e-04 + -2.185151214599497e-04 + -2.099352907310207e-04 + -2.016097775283348e-04 + -1.935335642058985e-04 + -1.857016766078902e-04 + -1.781091887621722e-04 + -1.707512232636694e-04 + -1.636229467286454e-04 + -1.567195750846747e-04 + -1.500363727286114e-04 + -1.435686485603325e-04 + -1.373117617901810e-04 + -1.312611200233150e-04 + -1.254121759173047e-04 + -1.197604333131590e-04 + -1.143014443478538e-04 + -1.090308067994204e-04 + -1.039441703359566e-04 + -9.903723276260782e-05 + -9.430573818110019e-05 + -8.974548326970851e-05 + -8.535231263786576e-05 + -8.112211782233505e-05 + -7.705084341917009e-05 + -7.313448187442813e-05 + -6.936907333027644e-05 + -6.575071119249467e-05 + -6.227553658275769e-05 + -5.893973914900695e-05 + -5.573956203853484e-05 + -5.267129595161032e-05 + -4.973128084575291e-05 + -4.691591029739419e-05 + -4.422162539456759e-05 + -4.164491727590835e-05 + -3.918233061143914e-05 + -3.683045757249665e-05 + -3.458594118927672e-05 + -3.244547785270521e-05 + -3.040581149216269e-05 + -2.846373767254703e-05 + -2.661610506551807e-05 + -2.485980997915884e-05 + -2.319180110803831e-05 + -2.160907991664170e-05 + -2.010869565536285e-05 + -1.868775067119526e-05 + -1.734339969669114e-05 + -1.607284546059277e-05 + -1.487334444060605e-05 + -1.374220506933501e-05 + -1.267678404087566e-05 + -1.167449238525668e-05 + -1.073279264625808e-05 + -9.849195952118955e-06 + -9.021268250139948e-06 + -8.246626567968640e-06 + -7.522936912951058e-06 + -6.847920492700095e-06 + -6.219349168072015e-06 + -5.635044236568559e-06 + -5.092882470932048e-06 + -4.590790895044201e-06 + -4.126746487291455e-06 + -3.698781859286729e-06 + -3.304979520120749e-06 + -2.943472506918129e-06 + -2.612449510984778e-06 + -2.310148834845521e-06 + -2.034859929271865e-06 + -1.784927798002038e-06 + -1.558746837246077e-06 + -1.354763241038800e-06 + -1.171478551126456e-06 + -1.007443551831214e-06 + -8.612614901318561e-07 + -7.315906671893518e-07 + -6.171385461507109e-07 + -5.166657190198488e-07 + -4.289874671965282e-07 + -3.529682224298676e-07 + -2.875261969469119e-07 + -2.316338735426513e-07 + -1.843129441850586e-07 + -1.446395043479685e-07 + -1.117434618507405e-07 + -8.480406305106530e-08 + -6.305553831873507e-08 + -4.578544870958251e-08 + -3.233089380928512e-08 + -2.208448022054805e-08 + -1.449165750478591e-08 + -9.047683233008124e-09 + -5.303766739728543e-09 + -2.863504097386866e-09 + -1.380623394721897e-09 + -5.650641971230870e-10 + -1.790372475752245e-10 + -3.511990521548007e-11 + -8.192061809269277e-13 + 0.000000000000000e+00 diff --git a/examples/SPIN/iron/fe_dd.dat b/examples/SPIN/iron/fe_dd.dat new file mode 100644 index 0000000000..a4b4c9a0d7 --- /dev/null +++ b/examples/SPIN/iron/fe_dd.dat @@ -0,0 +1,19 @@ + 6 8 + Optimal parameter set + 1 4.100199340884814 F + 2 1.565647547483517 F + 1 0.9332056681088162 T 3.000000000000000 + 2 -1.162558782567700 T 2.866666666666670 + 3 -0.3502026949249225 T 2.733333333333330 + 4 0.4287820835430028 T 2.600000000000000 + 5 4.907925057809273 T 2.400000000000000 + 6 -5.307049068415304 T 2.300000000000000 + 1 -0.1960674387419232 F 4.100000000000000 + 2 0.3687525935422963 F 3.800000000000000 + 3 -1.505333614924853 F 3.500000000000000 + 4 4.948907078156191 T 3.200000000000000 + 5 -4.894613262753399 T 2.900000000000000 + 6 3.468897724782442 T 2.600000000000000 + 7 -1.792218099820337 T 2.400000000000000 + 8 80.22069592246987 T 2.300000000000000 + diff --git a/examples/SPIN/iron/in.spin.iron b/examples/SPIN/iron/in.spin.iron new file mode 100644 index 0000000000..254c094bd8 --- /dev/null +++ b/examples/SPIN/iron/in.spin.iron @@ -0,0 +1,59 @@ +# bcc iron in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# check why? +atom_modify map array + +lattice bcc 2.8665 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 + +set group all spin/random 31 2.2 +velocity all create 100 4928459 rot yes dist gaussian + +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 3.5 +pair_coeff * * eam/alloy ../examples/SPIN/iron/Fe_Mishin2006.eam.alloy Fe +pair_coeff * * pair/spin/exchange exchange 4.0 0.025498 0.281 1.999 +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all integration/spin lattice yes + +timestep 0.0001 + + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 + +thermo_style custom step time v_magnorm v_emag temp etotal +thermo 50 + +dump 1 all custom 50 dump_iron.lammpstrj type x y z spx spy spz + +run 10000 + diff --git a/examples/SPIN/nickel/Ni99.eam.alloy b/examples/SPIN/nickel/Ni99.eam.alloy new file mode 100644 index 0000000000..458f550462 --- /dev/null +++ b/examples/SPIN/nickel/Ni99.eam.alloy @@ -0,0 +1,30006 @@ + Ni EAM from Phys. Rev. B 59, 3393 (1999) in the LAMMPS setfl format. + Conversion by C. A. Becker from Y. Mishin files. + 14 February 2009. http://www.ctcms.nist.gov/potentials + 1 Ni +10000 0.2000000000000000E-03 10000 0.5803750000000001E-03 0.5803750000000000E+01 + 28 0.5871000000E+02 0.3520000000E+01 fcc + -0.3097002992599740E-10 + -0.6727670264584218E-03 + -0.1347243064545615E-02 + -0.2023426205791608E-02 + -0.2701314510756404E-02 + -0.3380906040000000E-02 + -0.4062198854082398E-02 + -0.4745191013563596E-02 + -0.5429880579003596E-02 + -0.6116265610962398E-02 + -0.6804344169999999E-02 + -0.7494114316748643E-02 + -0.8185574112129526E-02 + -0.8878721617136087E-02 + -0.9573554892761765E-02 + -0.1027007200000000E-01 + -0.1096827099948303E-01 + -0.1166814995039830E-01 + -0.1236970691157206E-01 + -0.1307293994183054E-01 + -0.1377784710000000E-01 + -0.1448442644595924E-01 + -0.1519267604379728E-01 + -0.1590259395865570E-01 + -0.1661417825567608E-01 + -0.1732742700000000E-01 + -0.1804233825508002E-01 + -0.1875891007761259E-01 + -0.1947714052260515E-01 + -0.2019702764506515E-01 + -0.2091856950000000E-01 + -0.2164176414412070E-01 + -0.2236660964095237E-01 + -0.2309310405572369E-01 + -0.2382124545366335E-01 + -0.2455103190000000E-01 + -0.2528246145883719E-01 + -0.2601553218977792E-01 + -0.2675024215130006E-01 + -0.2748658940188147E-01 + -0.2822457200000000E-01 + -0.2896418800453053E-01 + -0.2970543547593594E-01 + -0.3044831247507606E-01 + -0.3119281706281080E-01 + -0.3193894730000000E-01 + -0.3268670124784067E-01 + -0.3343607696887835E-01 + -0.3418707252599569E-01 + -0.3493968598207534E-01 + -0.3569391540000000E-01 + -0.3644975884170676E-01 + -0.3720721436535066E-01 + -0.3796628002814116E-01 + -0.3872695388728778E-01 + -0.3948923400000001E-01 + -0.4025311842453228E-01 + -0.4101860522331904E-01 + -0.4178569245983965E-01 + -0.4255437819757351E-01 + -0.4332466050000000E-01 + -0.4409653742976412E-01 + -0.4487000704617322E-01 + -0.4564506740770026E-01 + -0.4642171657281820E-01 + -0.4719995259999999E-01 + -0.4797977354841125E-01 + -0.4876117747998810E-01 + -0.4954416245735933E-01 + -0.5032872654315370E-01 + -0.5111486780000000E-01 + -0.5190258429019084E-01 + -0.5269187407467433E-01 + -0.5348273521406237E-01 + -0.5427516576896696E-01 + -0.5506916380000001E-01 + -0.5586472736762538E-01 + -0.5666185453171461E-01 + -0.5746054335199116E-01 + -0.5826079188817847E-01 + -0.5906259819999999E-01 + -0.5986596034730766E-01 + -0.6067087639046727E-01 + -0.6147734438997301E-01 + -0.6228536240631919E-01 + -0.6309492849999999E-01 + -0.6390604073194393E-01 + -0.6471869716481633E-01 + -0.6553289586171678E-01 + -0.6634863488574481E-01 + -0.6716591230000001E-01 + -0.6798472616651658E-01 + -0.6880507454306740E-01 + -0.6962695548635994E-01 + -0.7045036705310162E-01 + -0.7127530729999999E-01 + -0.7210177428518970E-01 + -0.7292976607251402E-01 + -0.7375928072724351E-01 + -0.7459031631464868E-01 + -0.7542287089999999E-01 + -0.7625694254712466E-01 + -0.7709252931407646E-01 + -0.7792962925746595E-01 + -0.7876824043390363E-01 + -0.7960836090000000E-01 + -0.8044998871351170E-01 + -0.8129312193678011E-01 + -0.8213775863329264E-01 + -0.8298389686653678E-01 + -0.8383153470000002E-01 + -0.8468067019642851E-01 + -0.8553130141560315E-01 + -0.8638342641656356E-01 + -0.8723704325834930E-01 + -0.8809214999999998E-01 + -0.8894874470077433E-01 + -0.8980682542080732E-01 + -0.9066639022045317E-01 + -0.9152743716006601E-01 + -0.9238996430000000E-01 + -0.9325396970207423E-01 + -0.9411945143396757E-01 + -0.9498640756482377E-01 + -0.9585483616378665E-01 + -0.9672473530000001E-01 + -0.9759610303892876E-01 + -0.9846893743132247E-01 + -0.9934323652425178E-01 + -0.1002189983647874E+00 + -0.1010962210000000E+00 + -0.1019749024790107E+00 + -0.1028550408591426E+00 + -0.1037366341997692E+00 + -0.1046196805602638E+00 + -0.1055041780000000E+00 + -0.1063901245826283E+00 + -0.1072775183889071E+00 + -0.1081663575038717E+00 + -0.1090566400125575E+00 + -0.1099483640000000E+00 + -0.1108415275424761E+00 + -0.1117361286812292E+00 + -0.1126321654487442E+00 + -0.1135296358775062E+00 + -0.1144285380000000E+00 + -0.1153288698554673E+00 + -0.1162306295101762E+00 + -0.1171338150371514E+00 + -0.1180384245094178E+00 + -0.1189444560000000E+00 + -0.1198519075796547E+00 + -0.1207607773100661E+00 + -0.1216710632506501E+00 + -0.1225827634608227E+00 + -0.1234958760000000E+00 + -0.1244103989299138E+00 + -0.1253263303215595E+00 + -0.1262436682482483E+00 + -0.1271624107832914E+00 + -0.1280825560000000E+00 + -0.1290041019646900E+00 + -0.1299270467156959E+00 + -0.1308513882843568E+00 + -0.1317771247020118E+00 + -0.1327042540000000E+00 + -0.1336327742193260E+00 + -0.1345626834396567E+00 + -0.1354939797503245E+00 + -0.1364266612406614E+00 + -0.1373607260000000E+00 + -0.1382961721100057E+00 + -0.1392329976216770E+00 + -0.1401712005783454E+00 + -0.1411107790233426E+00 + -0.1420517310000000E+00 + -0.1429940545566510E+00 + -0.1439377477616352E+00 + -0.1448828086882939E+00 + -0.1458292354099684E+00 + -0.1467770260000000E+00 + -0.1477261785273903E+00 + -0.1486766910437822E+00 + -0.1496285615964790E+00 + -0.1505817882327838E+00 + -0.1515363690000000E+00 + -0.1524923019497878E+00 + -0.1534495851512360E+00 + -0.1544082166777901E+00 + -0.1553681946028962E+00 + -0.1563295170000000E+00 + -0.1572921819374586E+00 + -0.1582561874632742E+00 + -0.1592215316203605E+00 + -0.1601882124516313E+00 + -0.1611562280000000E+00 + -0.1621255763163781E+00 + -0.1630962554836676E+00 + -0.1640682635927679E+00 + -0.1650415987345788E+00 + -0.1660162590000000E+00 + -0.1669922424690290E+00 + -0.1679695471780558E+00 + -0.1689481711525680E+00 + -0.1699281124180534E+00 + -0.1709093690000000E+00 + -0.1718919389355058E+00 + -0.1728758203081095E+00 + -0.1738610112129604E+00 + -0.1748475097452076E+00 + -0.1758353140000000E+00 + -0.1768244220609480E+00 + -0.1778148319655062E+00 + -0.1788065417395904E+00 + -0.1797995494091165E+00 + -0.1807938530000000E+00 + -0.1817894505487023E+00 + -0.1827863401338657E+00 + -0.1837845198446779E+00 + -0.1847839877703268E+00 + -0.1857847420000000E+00 + -0.1867867806162429E+00 + -0.1877901016750312E+00 + -0.1887947032256979E+00 + -0.1898005833175765E+00 + -0.1908077400000000E+00 + -0.1918161713223261E+00 + -0.1928258753340099E+00 + -0.1938368500845305E+00 + -0.1948490936233674E+00 + -0.1958626040000000E+00 + -0.1968773792704526E+00 + -0.1978934175169296E+00 + -0.1989107168281803E+00 + -0.1999292752929539E+00 + -0.2009490910000000E+00 + -0.2019701620278634E+00 + -0.2029924864142719E+00 + -0.2040160621867486E+00 + -0.2050408873728169E+00 + -0.2060669600000000E+00 + -0.2070942781060936E+00 + -0.2081228397699829E+00 + -0.2091526430808254E+00 + -0.2101836861277786E+00 + -0.2112159670000000E+00 + -0.2122494837797621E+00 + -0.2132842345217966E+00 + -0.2143202172739500E+00 + -0.2153574300840689E+00 + -0.2163958710000000E+00 + -0.2174355380708581E+00 + -0.2184764293508309E+00 + -0.2195185428953748E+00 + -0.2205618767599458E+00 + -0.2216064290000000E+00 + -0.2226521976728057E+00 + -0.2236991808428797E+00 + -0.2247473765765509E+00 + -0.2257967829401480E+00 + -0.2268473980000000E+00 + -0.2278992198219190E+00 + -0.2289522464696501E+00 + -0.2300064760064217E+00 + -0.2310619064954622E+00 + -0.2321185360000000E+00 + -0.2331763625835183E+00 + -0.2342353843105199E+00 + -0.2352955992457623E+00 + -0.2363570054540031E+00 + -0.2374196010000000E+00 + -0.2384833839480078E+00 + -0.2395483523602704E+00 + -0.2406145042985292E+00 + -0.2416818378245253E+00 + -0.2427503510000000E+00 + -0.2438200418804506E+00 + -0.2448909084963985E+00 + -0.2459629488721211E+00 + -0.2470361610318958E+00 + -0.2481105430000000E+00 + -0.2491860928181898E+00 + -0.2502628085981357E+00 + -0.2513406884689866E+00 + -0.2524197305598917E+00 + -0.2534999330000000E+00 + -0.2545812938947902E+00 + -0.2556638112550589E+00 + -0.2567474830679327E+00 + -0.2578323073205376E+00 + -0.2589182820000000E+00 + -0.2600054051146495E+00 + -0.2610936747576285E+00 + -0.2621830890432828E+00 + -0.2632736460859581E+00 + -0.2643653440000000E+00 + -0.2654581808866119E+00 + -0.2665521547944270E+00 + -0.2676472637589362E+00 + -0.2687435058156303E+00 + -0.2698408790000000E+00 + -0.2709393813549029E+00 + -0.2720390109526633E+00 + -0.2731397658729723E+00 + -0.2742416441955208E+00 + -0.2753446440000001E+00 + -0.2764487633577766E+00 + -0.2775540003069199E+00 + -0.2786603528771749E+00 + -0.2797678190982865E+00 + -0.2808763970000000E+00 + -0.2819860846219910E+00 + -0.2830968800436575E+00 + -0.2842087813543286E+00 + -0.2853217866433332E+00 + -0.2864358940000000E+00 + -0.2875511015062599E+00 + -0.2886674072144504E+00 + -0.2897848091695110E+00 + -0.2909033054163811E+00 + -0.2920228940000000E+00 + -0.2931435729689697E+00 + -0.2942653403865410E+00 + -0.2953881943196275E+00 + -0.2965121328351427E+00 + -0.2976371540000000E+00 + -0.2987632558818618E+00 + -0.2998904365513857E+00 + -0.3010186940799789E+00 + -0.3021480265390481E+00 + -0.3032784320000000E+00 + -0.3044099085275836E+00 + -0.3055424541599161E+00 + -0.3066760669284569E+00 + -0.3078107448646650E+00 + -0.3089464860000000E+00 + -0.3100832883758039E+00 + -0.3112211500729498E+00 + -0.3123600691821938E+00 + -0.3135000437942919E+00 + -0.3146410720000000E+00 + -0.3157831518812009E+00 + -0.3169262814842847E+00 + -0.3180704588467680E+00 + -0.3192156820061674E+00 + -0.3203619490000000E+00 + -0.3215092578753922E+00 + -0.3226576067179112E+00 + -0.3238069936227342E+00 + -0.3249574166850380E+00 + -0.3261088740000000E+00 + -0.3272613636492300E+00 + -0.3284148836600702E+00 + -0.3295694320462954E+00 + -0.3307250068216803E+00 + -0.3318816060000000E+00 + -0.3330392276076874E+00 + -0.3341978697218079E+00 + -0.3353575304320846E+00 + -0.3365182078282408E+00 + -0.3376799000000000E+00 + -0.3388426050320200E+00 + -0.3400063209886981E+00 + -0.3411710459293662E+00 + -0.3423367779133562E+00 + -0.3435035150000001E+00 + -0.3446712552482323E+00 + -0.3458399967153993E+00 + -0.3470097374584502E+00 + -0.3481804755343341E+00 + -0.3493522090000001E+00 + -0.3505249359110509E+00 + -0.3516986543177048E+00 + -0.3528733622688330E+00 + -0.3540490578133076E+00 + -0.3552257390000000E+00 + -0.3564034038835642E+00 + -0.3575820505417822E+00 + -0.3587616770582179E+00 + -0.3599422815164359E+00 + -0.3611238620000000E+00 + -0.3623064165866925E+00 + -0.3634899433311671E+00 + -0.3646744402822954E+00 + -0.3658599054889491E+00 + -0.3670463370000000E+00 + -0.3682337328656660E+00 + -0.3694220911415499E+00 + -0.3706114098846007E+00 + -0.3718016871517678E+00 + -0.3729929210000000E+00 + -0.3741851094866437E+00 + -0.3753782506706337E+00 + -0.3765723426113018E+00 + -0.3777673833679800E+00 + -0.3789633710000000E+00 + -0.3801603035717592E+00 + -0.3813581791679154E+00 + -0.3825569958781921E+00 + -0.3837567517923126E+00 + -0.3849574450000000E+00 + -0.3861590735783198E+00 + -0.3873616355537047E+00 + -0.3885651289399299E+00 + -0.3897695517507700E+00 + -0.3909749020000000E+00 + -0.3921811777149620E+00 + -0.3933883769772658E+00 + -0.3945964978820887E+00 + -0.3958055385246077E+00 + -0.3970154970000000E+00 + -0.3982263713938326E+00 + -0.3994381597532322E+00 + -0.4006508601157155E+00 + -0.4018644705187992E+00 + -0.4030789890000000E+00 + -0.4042944136057078E+00 + -0.4055107424178054E+00 + -0.4067279735270493E+00 + -0.4079461050241954E+00 + -0.4091651350000000E+00 + -0.4103850615353364E+00 + -0.4116058826715460E+00 + -0.4128275964400875E+00 + -0.4140502008724193E+00 + -0.4152736940000001E+00 + -0.4164980738609467E+00 + -0.4177233385200106E+00 + -0.4189494860486010E+00 + -0.4201765145181276E+00 + -0.4214044220000000E+00 + -0.4226332065648767E+00 + -0.4238628662804119E+00 + -0.4250933992135089E+00 + -0.4263248034310704E+00 + -0.4275570770000000E+00 + -0.4287902179835463E+00 + -0.4300242244303417E+00 + -0.4312590943853637E+00 + -0.4324948258935907E+00 + -0.4337314170000001E+00 + -0.4349688657569378E+00 + -0.4362071702462213E+00 + -0.4374463285570359E+00 + -0.4386863387785671E+00 + -0.4399271990000001E+00 + -0.4411689073007027E+00 + -0.4424114617207733E+00 + -0.4436548602904925E+00 + -0.4448991010401412E+00 + -0.4461441820000001E+00 + -0.4473901012082516E+00 + -0.4486368567346858E+00 + -0.4498844466569941E+00 + -0.4511328690528684E+00 + -0.4523821220000000E+00 + -0.4536322035702910E+00 + -0.4548831118124838E+00 + -0.4561348447695311E+00 + -0.4573874004843857E+00 + -0.4586407770000000E+00 + -0.4598949723665846E+00 + -0.4611499846633793E+00 + -0.4624058119768816E+00 + -0.4636624523935894E+00 + -0.4649199040000000E+00 + -0.4661781648753710E+00 + -0.4674372330699995E+00 + -0.4686971066269424E+00 + -0.4699577835892569E+00 + -0.4712192620000001E+00 + -0.4724815399079317E+00 + -0.4737446153846232E+00 + -0.4750084865073490E+00 + -0.4762731513533832E+00 + -0.4775386080000000E+00 + -0.4788048545169025E+00 + -0.4800718889435077E+00 + -0.4813397093116620E+00 + -0.4826083136532107E+00 + -0.4838777000000000E+00 + -0.4851478663924586E+00 + -0.4864188109053456E+00 + -0.4876905316220035E+00 + -0.4889630266257743E+00 + -0.4902362940000000E+00 + -0.4915103318252636E+00 + -0.4927851381711098E+00 + -0.4940607111043243E+00 + -0.4953370486916925E+00 + -0.4966141490000000E+00 + -0.4978920100904873E+00 + -0.4991706300022152E+00 + -0.5004500067686994E+00 + -0.5017301384234557E+00 + -0.5030110230000000E+00 + -0.5042926585407873E+00 + -0.5055750431240295E+00 + -0.5068581748368781E+00 + -0.5081420517664846E+00 + -0.5094266720000000E+00 + -0.5107120336183639E+00 + -0.5119981346776670E+00 + -0.5132849732277881E+00 + -0.5145725473186062E+00 + -0.5158608550000000E+00 + -0.5171498943217574E+00 + -0.5184396633333028E+00 + -0.5197301600839696E+00 + -0.5210213826230908E+00 + -0.5223133290000001E+00 + -0.5236059972706064E+00 + -0.5248993855171219E+00 + -0.5261934918283342E+00 + -0.5274883142930310E+00 + -0.5287838510000000E+00 + -0.5300801000278169E+00 + -0.5313770594142096E+00 + -0.5326747271866940E+00 + -0.5339731013727853E+00 + -0.5352721799999999E+00 + -0.5365719611061256E+00 + -0.5378724427700394E+00 + -0.5391736230808903E+00 + -0.5404755001278274E+00 + -0.5417780720000001E+00 + -0.5430813367796803E+00 + -0.5443852925216328E+00 + -0.5456899372737452E+00 + -0.5469952690839051E+00 + -0.5483012860000001E+00 + -0.5496079860711535E+00 + -0.5509153673514299E+00 + -0.5522234278961297E+00 + -0.5535321657605530E+00 + -0.5548415790000001E+00 + -0.5561516656717062E+00 + -0.5574624238406480E+00 + -0.5587738515737366E+00 + -0.5600859469378835E+00 + -0.5613987080000000E+00 + -0.5627121328260215E+00 + -0.5640262194779782E+00 + -0.5653409660169241E+00 + -0.5666563705039134E+00 + -0.5679724310000001E+00 + -0.5692891455682080E+00 + -0.5706065122794398E+00 + -0.5719245292065675E+00 + -0.5732431944224635E+00 + -0.5745625060000000E+00 + -0.5758824620051469E+00 + -0.5772030604762635E+00 + -0.5785242994448065E+00 + -0.5798461769422331E+00 + -0.5811686910000001E+00 + -0.5824918396592048E+00 + -0.5838156209995070E+00 + -0.5851400331102068E+00 + -0.5864650740806045E+00 + -0.5877907420000001E+00 + -0.5891170349500342E+00 + -0.5904439509817088E+00 + -0.5917714881383663E+00 + -0.5930996444633494E+00 + -0.5944284180000000E+00 + -0.5957578067966589E+00 + -0.5970878089216580E+00 + -0.5984184224483279E+00 + -0.5997496454499984E+00 + -0.6010814760000000E+00 + -0.6024139121673305E+00 + -0.6037469520036590E+00 + -0.6050805935563223E+00 + -0.6064148348726569E+00 + -0.6077496740000000E+00 + -0.6090851089900191E+00 + -0.6104211379117058E+00 + -0.6117577588383832E+00 + -0.6130949698433737E+00 + -0.6144327690000000E+00 + -0.6157711543765933E+00 + -0.6171101240215174E+00 + -0.6184496759781450E+00 + -0.6197898082898484E+00 + -0.6211305190000001E+00 + -0.6224718061596080E+00 + -0.6238136678502244E+00 + -0.6251561021610367E+00 + -0.6264991071812326E+00 + -0.6278426809999999E+00 + -0.6291868216969746E+00 + -0.6305315273135852E+00 + -0.6318767958817084E+00 + -0.6332226254332211E+00 + -0.6345690140000000E+00 + -0.6359159596204932E+00 + -0.6372634603594346E+00 + -0.6386115142881295E+00 + -0.6399601194778828E+00 + -0.6413092740000002E+00 + -0.6426589759250525E+00 + -0.6440092233206763E+00 + -0.6453600142537739E+00 + -0.6467113467912476E+00 + -0.6480632190000001E+00 + -0.6494156289432972E+00 + -0.6507685746698606E+00 + -0.6521220542247753E+00 + -0.6534760656531268E+00 + -0.6548306070000001E+00 + -0.6561856763177588E+00 + -0.6575412716878816E+00 + -0.6588973911991247E+00 + -0.6602540329402453E+00 + -0.6616111950000001E+00 + -0.6629688754576675E+00 + -0.6643270723546135E+00 + -0.6656857837227258E+00 + -0.6670450075938922E+00 + -0.6684047420000000E+00 + -0.6697649849795714E+00 + -0.6711257345976645E+00 + -0.6724869889259720E+00 + -0.6738487460361863E+00 + -0.6752110040000000E+00 + -0.6765737608880472E+00 + -0.6779370147667287E+00 + -0.6793007637013865E+00 + -0.6806650057573627E+00 + -0.6820297390000000E+00 + -0.6833949614922398E+00 + -0.6847606712874212E+00 + -0.6861268664364828E+00 + -0.6874935449903628E+00 + -0.6888607049999999E+00 + -0.6902283445189937E+00 + -0.6915964616115868E+00 + -0.6929650543446830E+00 + -0.6943341207851860E+00 + -0.6957036590000000E+00 + -0.6970736670557854E+00 + -0.6984441430182319E+00 + -0.6998150849527855E+00 + -0.7011864909248926E+00 + -0.7025583590000000E+00 + -0.7039306872418645E+00 + -0.7053034737074859E+00 + -0.7066767164521751E+00 + -0.7080504135312430E+00 + -0.7094245630000000E+00 + -0.7107991629127569E+00 + -0.7121742113198247E+00 + -0.7135497062705136E+00 + -0.7149256458141352E+00 + -0.7163020280000000E+00 + -0.7176788508831081E+00 + -0.7190561125412160E+00 + -0.7204338110577700E+00 + -0.7218119445162160E+00 + -0.7231905110000000E+00 + -0.7245695085868111E+00 + -0.7259489353313116E+00 + -0.7273287892824062E+00 + -0.7287090684890006E+00 + -0.7300897710000001E+00 + -0.7314708948656477E+00 + -0.7328524381415384E+00 + -0.7342343988846052E+00 + -0.7356167751517814E+00 + -0.7369995650000000E+00 + -0.7383827664865987E+00 + -0.7397663776705354E+00 + -0.7411503966111726E+00 + -0.7425348213678734E+00 + -0.7439196500000000E+00 + -0.7453048805719576E+00 + -0.7466905111683202E+00 + -0.7480765398787038E+00 + -0.7494629647927250E+00 + -0.7508497840000000E+00 + -0.7522369955775710E+00 + -0.7536245975521841E+00 + -0.7550125879380119E+00 + -0.7564009647492265E+00 + -0.7577897260000000E+00 + -0.7591788697177586E+00 + -0.7605683939829429E+00 + -0.7619582968892482E+00 + -0.7633485765303690E+00 + -0.7647392310000000E+00 + -0.7661302583833949E+00 + -0.7675216567320434E+00 + -0.7689134240889947E+00 + -0.7703055584972973E+00 + -0.7716980580000000E+00 + -0.7730909206446619E+00 + -0.7744841444968825E+00 + -0.7758777276267725E+00 + -0.7772716681044416E+00 + -0.7786659640000000E+00 + -0.7800606133819580E+00 + -0.7814556143124260E+00 + -0.7828509648519153E+00 + -0.7842466630609364E+00 + -0.7856427070000001E+00 + -0.7870390947315067E+00 + -0.7884358243254132E+00 + -0.7898328938535667E+00 + -0.7912303013878134E+00 + -0.7926280449999999E+00 + -0.7940261227560155E+00 + -0.7954245326979206E+00 + -0.7968232728618178E+00 + -0.7982223412838099E+00 + -0.7996217359999999E+00 + -0.8010214550524303E+00 + -0.8024214965069037E+00 + -0.8038218584351618E+00 + -0.8052225389089466E+00 + -0.8066235360000000E+00 + -0.8080248477782618E+00 + -0.8094264723064637E+00 + -0.8108284076455345E+00 + -0.8122306518564036E+00 + -0.8136332030000002E+00 + -0.8150360591385216E+00 + -0.8164392183392408E+00 + -0.8178426786706995E+00 + -0.8192464382014389E+00 + -0.8206504950000003E+00 + -0.8220548471316521E+00 + -0.8234594926485730E+00 + -0.8248644295996678E+00 + -0.8262696560338418E+00 + -0.8276751700000002E+00 + -0.8290809695508703E+00 + -0.8304870527544678E+00 + -0.8318934176826303E+00 + -0.8333000624071952E+00 + -0.8347069850000002E+00 + -0.8361141835288670E+00 + -0.8375216560455561E+00 + -0.8389294005978119E+00 + -0.8403374152333784E+00 + -0.8417456980000001E+00 + -0.8431542469496616E+00 + -0.8445630601513075E+00 + -0.8459721356781229E+00 + -0.8473814716032921E+00 + -0.8487910660000001E+00 + -0.8502009169364870E+00 + -0.8516110224612138E+00 + -0.8530213806176974E+00 + -0.8544319894494540E+00 + -0.8558428470000001E+00 + -0.8572539513203912E+00 + -0.8586653004918377E+00 + -0.8600768926030884E+00 + -0.8614887257428929E+00 + -0.8629007979999999E+00 + -0.8643131074539486E+00 + -0.8657256521474361E+00 + -0.8671384301139492E+00 + -0.8685514393869751E+00 + -0.8699646780000000E+00 + -0.8713781439918144E+00 + -0.8727918354224183E+00 + -0.8742057503571152E+00 + -0.8756198868612080E+00 + -0.8770342430000000E+00 + -0.8784488168427943E+00 + -0.8798636064748912E+00 + -0.8812786099855911E+00 + -0.8826938254641942E+00 + -0.8841092510000001E+00 + -0.8855248846690088E+00 + -0.8869407244940174E+00 + -0.8883567684845213E+00 + -0.8897730146500166E+00 + -0.8911894609999999E+00 + -0.8926061055611703E+00 + -0.8940229464290399E+00 + -0.8954399817163244E+00 + -0.8968572095357391E+00 + -0.8982746280000001E+00 + -0.8996922352063102E+00 + -0.9011100291898234E+00 + -0.9025280079701819E+00 + -0.9039461695670267E+00 + -0.9053645120000001E+00 + -0.9067830333015895E+00 + -0.9082017315556666E+00 + -0.9096206048589492E+00 + -0.9110396513081543E+00 + -0.9124588690000000E+00 + -0.9138782560193320E+00 + -0.9152978104035102E+00 + -0.9167175301780222E+00 + -0.9181374133683560E+00 + -0.9195574580000001E+00 + -0.9209776621090821E+00 + -0.9223980237742929E+00 + -0.9238185410849622E+00 + -0.9252392121304212E+00 + -0.9266600350000001E+00 + -0.9280810077763395E+00 + -0.9295021285153192E+00 + -0.9309233952661293E+00 + -0.9323448060779594E+00 + -0.9337663590000000E+00 + -0.9351880520815607E+00 + -0.9366098833724312E+00 + -0.9380318509225212E+00 + -0.9394539527817409E+00 + -0.9408761869999999E+00 + -0.9422985516334183E+00 + -0.9437210447629564E+00 + -0.9451436644757854E+00 + -0.9465664088590764E+00 + -0.9479892760000000E+00 + -0.9494122639767667E+00 + -0.9508353708317435E+00 + -0.9522585945983368E+00 + -0.9536819333099535E+00 + -0.9551053849999999E+00 + -0.9565289477075154E+00 + -0.9579526194940703E+00 + -0.9593763984268671E+00 + -0.9608002825731095E+00 + -0.9622242699999999E+00 + -0.9636483587771716E+00 + -0.9650725469839758E+00 + -0.9664968327021942E+00 + -0.9679212140136084E+00 + -0.9693456890000000E+00 + -0.9707702557357985E+00 + -0.9721949122660268E+00 + -0.9736196566283557E+00 + -0.9750444868604564E+00 + -0.9764694010000000E+00 + -0.9778943970876346E+00 + -0.9793194731759174E+00 + -0.9807446273203826E+00 + -0.9821698575765655E+00 + -0.9835951620000000E+00 + -0.9850205386496635E+00 + -0.9864459855983039E+00 + -0.9878715009221130E+00 + -0.9892970826972814E+00 + -0.9907227290000000E+00 + -0.9921484379137118E+00 + -0.9935742075508660E+00 + -0.9950000360311647E+00 + -0.9964259214743089E+00 + -0.9978518619999999E+00 + -0.9992778556874898E+00 + -0.1000703900454231E+01 + -0.1002129994177228E+01 + -0.1003556134733483E+01 + -0.1004982320000000E+01 + -0.1006408547912330E+01 + -0.1007834816640209E+01 + -0.1009261124411924E+01 + -0.1010687469455760E+01 + -0.1012113850000000E+01 + -0.1013540264247193E+01 + -0.1014966710296932E+01 + -0.1016393186223075E+01 + -0.1017819690099479E+01 + -0.1019246220000000E+01 + -0.1020672773978901E+01 + -0.1022099350012064E+01 + -0.1023525946055777E+01 + -0.1024952560066326E+01 + -0.1026379190000000E+01 + -0.1027805833837203E+01 + -0.1029232489654812E+01 + -0.1030659155553818E+01 + -0.1032085829635217E+01 + -0.1033512510000000E+01 + -0.1034939194752286E+01 + -0.1036365882008690E+01 + -0.1037792569888951E+01 + -0.1039219256512808E+01 + -0.1040645940000000E+01 + -0.1042072618433653E+01 + -0.1043499289750430E+01 + -0.1044925951850381E+01 + -0.1046352602633554E+01 + -0.1047779240000000E+01 + -0.1049205861913103E+01 + -0.1050632466589591E+01 + -0.1052059052309527E+01 + -0.1053485617352976E+01 + -0.1054912160000000E+01 + -0.1056338678473936E+01 + -0.1057765170771208E+01 + -0.1059191634831511E+01 + -0.1060618068594543E+01 + -0.1062044470000000E+01 + -0.1063470836991153E+01 + -0.1064897167525579E+01 + -0.1066323459564428E+01 + -0.1067749711068851E+01 + -0.1069175920000000E+01 + -0.1070602084361450E+01 + -0.1072028202326477E+01 + -0.1073454272110778E+01 + -0.1074880291930053E+01 + -0.1076306260000000E+01 + -0.1077732174523045E+01 + -0.1079158033648515E+01 + -0.1080583835512462E+01 + -0.1082009578250939E+01 + -0.1083435260000000E+01 + -0.1084860878826370E+01 + -0.1086286432519466E+01 + -0.1087711918799377E+01 + -0.1089137335386192E+01 + -0.1090562680000000E+01 + -0.1091987950491475E+01 + -0.1093413145233622E+01 + -0.1094838262730032E+01 + -0.1096263301484295E+01 + -0.1097688260000000E+01 + -0.1099113136647731E+01 + -0.1100537929266045E+01 + -0.1101962635560494E+01 + -0.1103387253236629E+01 + -0.1104811780000000E+01 + -0.1106236213637602E+01 + -0.1107660552262198E+01 + -0.1109084794067992E+01 + -0.1110508937249191E+01 + -0.1111932980000000E+01 + -0.1113356920481861E+01 + -0.1114780756725164E+01 + -0.1116204486727537E+01 + -0.1117628108486607E+01 + -0.1119051620000000E+01 + -0.1120475019314954E+01 + -0.1121898304677145E+01 + -0.1123321474381859E+01 + -0.1124744526724382E+01 + -0.1126167460000000E+01 + -0.1127590272418323E+01 + -0.1129012961846257E+01 + -0.1130435526065028E+01 + -0.1131857962855866E+01 + -0.1133280270000000E+01 + -0.1134702445331753E+01 + -0.1136124486897829E+01 + -0.1137546392798029E+01 + -0.1138968161132153E+01 + -0.1140389790000000E+01 + -0.1141811277534666E+01 + -0.1143232622002427E+01 + -0.1144653821702856E+01 + -0.1146074874935522E+01 + -0.1147495780000000E+01 + -0.1148916535089584E+01 + -0.1150337137972463E+01 + -0.1151757586310550E+01 + -0.1153177877765758E+01 + -0.1154598010000000E+01 + -0.1156017980826999E+01 + -0.1157437788667722E+01 + -0.1158857432094945E+01 + -0.1160276909681446E+01 + -0.1161696220000000E+01 + -0.1163115361442419E+01 + -0.1164534331676649E+01 + -0.1165953128189669E+01 + -0.1167371748468459E+01 + -0.1168790190000000E+01 + -0.1170208450443324E+01 + -0.1171626528145682E+01 + -0.1173044421626378E+01 + -0.1174462129404716E+01 + -0.1175879650000000E+01 + -0.1177296981824284E+01 + -0.1178714122860622E+01 + -0.1180131070984817E+01 + -0.1181547824072675E+01 + -0.1182964380000000E+01 + -0.1184380736659541E+01 + -0.1185796892011832E+01 + -0.1187212844034353E+01 + -0.1188628590704582E+01 + -0.1190044130000000E+01 + -0.1191459459937552E+01 + -0.1192874578692051E+01 + -0.1194289484477772E+01 + -0.1195704175508996E+01 + -0.1197118650000000E+01 + -0.1198532906150250E+01 + -0.1199946942099966E+01 + -0.1201360755974558E+01 + -0.1202774345899433E+01 + -0.1204187710000000E+01 + -0.1205600846341448E+01 + -0.1207013752748084E+01 + -0.1208426426983996E+01 + -0.1209838866813272E+01 + -0.1211251070000000E+01 + -0.1212663034403960E+01 + -0.1214074758267699E+01 + -0.1215486239929458E+01 + -0.1216897477727479E+01 + -0.1218308470000000E+01 + -0.1219719215002715E+01 + -0.1221129710661121E+01 + -0.1222539954818171E+01 + -0.1223949945316813E+01 + -0.1225359680000000E+01 + -0.1226769156785182E+01 + -0.1228178373887816E+01 + -0.1229587329597859E+01 + -0.1230996022205268E+01 + -0.1232404450000000E+01 + -0.1233812611216557E+01 + -0.1235220503867615E+01 + -0.1236628125910394E+01 + -0.1238035475302116E+01 + -0.1239442550000000E+01 + -0.1240849347948590E+01 + -0.1242255867041724E+01 + -0.1243662105160563E+01 + -0.1245068060186268E+01 + -0.1246473730000000E+01 + -0.1247879112589083E+01 + -0.1249284206365488E+01 + -0.1250689009847353E+01 + -0.1252093521552812E+01 + -0.1253497740000000E+01 + -0.1254901663535080E+01 + -0.1256305289816322E+01 + -0.1257708616330024E+01 + -0.1259111640562484E+01 + -0.1260514360000000E+01 + -0.1261916772310598E+01 + -0.1263318875889224E+01 + -0.1264720669312550E+01 + -0.1266122151157251E+01 + -0.1267523320000000E+01 + -0.1268924174262527E+01 + -0.1270324711746783E+01 + -0.1271724930099776E+01 + -0.1273124826968513E+01 + -0.1274524400000000E+01 + -0.1275923646959295E+01 + -0.1277322566083645E+01 + -0.1278721155728347E+01 + -0.1280119414248700E+01 + -0.1281517340000000E+01 + -0.1282914931260295E+01 + -0.1284312185998639E+01 + -0.1285709102106835E+01 + -0.1287105677476688E+01 + -0.1288501910000000E+01 + -0.1289897797599524E+01 + -0.1291293338321799E+01 + -0.1292688530244312E+01 + -0.1294083371444550E+01 + -0.1295477860000000E+01 + -0.1296871994021610E+01 + -0.1298265771754167E+01 + -0.1299659191475919E+01 + -0.1301052251465114E+01 + -0.1302444950000000E+01 + -0.1303837285274037E+01 + -0.1305229255141535E+01 + -0.1306620857372014E+01 + -0.1308012089734995E+01 + -0.1309402950000000E+01 + -0.1310793436002241E+01 + -0.1312183545839693E+01 + -0.1313573277676026E+01 + -0.1314962629674906E+01 + -0.1316351600000000E+01 + -0.1317740186797000E+01 + -0.1319128388139692E+01 + -0.1320516202083883E+01 + -0.1321903626685383E+01 + -0.1323290660000000E+01 + -0.1324677300089759E+01 + -0.1326063545041540E+01 + -0.1327449392948443E+01 + -0.1328834841903564E+01 + -0.1330219890000000E+01 + -0.1331604535323967E+01 + -0.1332988775934148E+01 + -0.1334372609882346E+01 + -0.1335756035220363E+01 + -0.1337139050000000E+01 + -0.1338521652294376E+01 + -0.1339903840261869E+01 + -0.1341285612082174E+01 + -0.1342666965934986E+01 + -0.1344047900000000E+01 + -0.1345428412378532E+01 + -0.1346808500858379E+01 + -0.1348188163148960E+01 + -0.1349567396959694E+01 + -0.1350946200000000E+01 + -0.1352324570111499E+01 + -0.1353702505664618E+01 + -0.1355080005161988E+01 + -0.1356457067106239E+01 + -0.1357833690000000E+01 + -0.1359209872215474E+01 + -0.1360585611603149E+01 + -0.1361960905883088E+01 + -0.1363335752775351E+01 + -0.1364710150000000E+01 + -0.1366084095346607E+01 + -0.1367457586882785E+01 + -0.1368830622745660E+01 + -0.1370203201072357E+01 + -0.1371575320000000E+01 + -0.1372946977678100E+01 + -0.1374318172305711E+01 + -0.1375688902094272E+01 + -0.1377059165255222E+01 + -0.1378428960000000E+01 + -0.1379798284500993E+01 + -0.1381167136774371E+01 + -0.1382535514797253E+01 + -0.1383903416546757E+01 + -0.1385270840000000E+01 + -0.1386637783117929E+01 + -0.1388004243796804E+01 + -0.1389370219916715E+01 + -0.1390735709357751E+01 + -0.1392100710000000E+01 + -0.1393465219827292E+01 + -0.1394829237238412E+01 + -0.1396192760735887E+01 + -0.1397555788822241E+01 + -0.1398918320000000E+01 + -0.1400280352612904E+01 + -0.1401641884369548E+01 + -0.1403002912819739E+01 + -0.1404363435513287E+01 + -0.1405723450000000E+01 + -0.1407082953961092E+01 + -0.1408441945603397E+01 + -0.1409800423265157E+01 + -0.1411158385284611E+01 + -0.1412515830000000E+01 + -0.1413872755702730E+01 + -0.1415229160496864E+01 + -0.1416585042439634E+01 + -0.1417940399588269E+01 + -0.1419295230000000E+01 + -0.1420649531707991E+01 + -0.1422003302649146E+01 + -0.1423356540736307E+01 + -0.1424709243882311E+01 + -0.1426061410000000E+01 + -0.1427413037065308E+01 + -0.1428764123306551E+01 + -0.1430114667015139E+01 + -0.1431464666482485E+01 + -0.1432814120000000E+01 + -0.1434163025790778E+01 + -0.1435511381804651E+01 + -0.1436859185923136E+01 + -0.1438206436027746E+01 + -0.1439553130000000E+01 + -0.1440899265771580E+01 + -0.1442244841474844E+01 + -0.1443589855292318E+01 + -0.1444934305406528E+01 + -0.1446278190000000E+01 + -0.1447621507202902E+01 + -0.1448964254935973E+01 + -0.1450306431067593E+01 + -0.1451648033466142E+01 + -0.1452989060000000E+01 + -0.1454329508616810E+01 + -0.1455669377581263E+01 + -0.1457008665237310E+01 + -0.1458347369928905E+01 + -0.1459685490000000E+01 + -0.1461023023689857E+01 + -0.1462359968818976E+01 + -0.1463696323103167E+01 + -0.1465032084258238E+01 + -0.1466367250000000E+01 + -0.1467701818143762E+01 + -0.1469035786902833E+01 + -0.1470369154590023E+01 + -0.1471701919518142E+01 + -0.1473034080000000E+01 + -0.1474365634295096E+01 + -0.1475696580449693E+01 + -0.1477026916456741E+01 + -0.1478356640309193E+01 + -0.1479685750000000E+01 + -0.1481014243555853E+01 + -0.1482342119138396E+01 + -0.1483669374943013E+01 + -0.1484996009165086E+01 + -0.1486322020000000E+01 + -0.1487647405561492E+01 + -0.1488972163636723E+01 + -0.1490296291931208E+01 + -0.1491619788150462E+01 + -0.1492942650000000E+01 + -0.1494264875318178E+01 + -0.1495586462474712E+01 + -0.1496907409972156E+01 + -0.1498227716313067E+01 + -0.1499547380000000E+01 + -0.1500866399405795E+01 + -0.1502184772384430E+01 + -0.1503502496660168E+01 + -0.1504819569957270E+01 + -0.1506135990000000E+01 + -0.1507451754578641E+01 + -0.1508766861747567E+01 + -0.1510081309627173E+01 + -0.1511395096337852E+01 + -0.1512708220000000E+01 + -0.1514020678759639E+01 + -0.1515332470865300E+01 + -0.1516643594591142E+01 + -0.1517954048211323E+01 + -0.1519263830000000E+01 + -0.1520572938142802E+01 + -0.1521881370471232E+01 + -0.1523189124728261E+01 + -0.1524496198656859E+01 + -0.1525802590000000E+01 + -0.1527108296589152E+01 + -0.1528413316609773E+01 + -0.1529717648335817E+01 + -0.1531021290041242E+01 + -0.1532324240000000E+01 + -0.1533626496460591E+01 + -0.1534928057569679E+01 + -0.1536228921448471E+01 + -0.1537529086218176E+01 + -0.1538828550000000E+01 + -0.1540127310848486E+01 + -0.1541425366551514E+01 + -0.1542722714830299E+01 + -0.1544019353406056E+01 + -0.1545315280000000E+01 + -0.1546610492465466E+01 + -0.1547904989184265E+01 + -0.1549198768670332E+01 + -0.1550491829437600E+01 + -0.1551784170000000E+01 + -0.1553075788729653E+01 + -0.1554366683431425E+01 + -0.1555656851768371E+01 + -0.1556946291403545E+01 + -0.1558235000000000E+01 + -0.1559522975335924E+01 + -0.1560810215650035E+01 + -0.1562096719296183E+01 + -0.1563382484628221E+01 + -0.1564667510000000E+01 + -0.1565951793686653E+01 + -0.1567235333648437E+01 + -0.1568518127766896E+01 + -0.1569800173923570E+01 + -0.1571081470000000E+01 + -0.1572362013917468E+01 + -0.1573641803756217E+01 + -0.1574920837636232E+01 + -0.1576199113677498E+01 + -0.1577476630000000E+01 + -0.1578753384723478E+01 + -0.1580029375966696E+01 + -0.1581304601848176E+01 + -0.1582579060486437E+01 + -0.1583852750000000E+01 + -0.1585125668468621E+01 + -0.1586397813816998E+01 + -0.1587669183931065E+01 + -0.1588939776696754E+01 + -0.1590209590000000E+01 + -0.1591478621802038E+01 + -0.1592746870365311E+01 + -0.1594014334027565E+01 + -0.1595281011126546E+01 + -0.1596546900000000E+01 + -0.1597811998883229E+01 + -0.1599076305601760E+01 + -0.1600339817878676E+01 + -0.1601602533437062E+01 + -0.1602864450000000E+01 + -0.1604125565385048E+01 + -0.1605385877787652E+01 + -0.1606645385497732E+01 + -0.1607904086805208E+01 + -0.1609161980000000E+01 + -0.1610419063336581E+01 + -0.1611675334927634E+01 + -0.1612930792850397E+01 + -0.1614185435182107E+01 + -0.1615439260000000E+01 + -0.1616692265348630E+01 + -0.1617944449141812E+01 + -0.1619195809260680E+01 + -0.1620446343586365E+01 + -0.1621696050000000E+01 + -0.1622944926468901E+01 + -0.1624192971305118E+01 + -0.1625440182906884E+01 + -0.1626686559672434E+01 + -0.1627932100000000E+01 + -0.1629176802135766E+01 + -0.1630420663717716E+01 + -0.1631663682231782E+01 + -0.1632905855163900E+01 + -0.1634147180000000E+01 + -0.1635387654428034E+01 + -0.1636627276944019E+01 + -0.1637866046245986E+01 + -0.1639103961031969E+01 + -0.1640341020000000E+01 + -0.1641577221672096E+01 + -0.1642812563866209E+01 + -0.1644047044224274E+01 + -0.1645280660388226E+01 + -0.1646513410000000E+01 + -0.1647745290803581E+01 + -0.1648976300951145E+01 + -0.1650206438696919E+01 + -0.1651435702295129E+01 + -0.1652664090000000E+01 + -0.1653891599993581E+01 + -0.1655118230169211E+01 + -0.1656343978348050E+01 + -0.1657568842351259E+01 + -0.1658792820000000E+01 + -0.1660015909222094E+01 + -0.1661238108372012E+01 + -0.1662459415910881E+01 + -0.1663679830299834E+01 + -0.1664899350000000E+01 + -0.1666117973358041E+01 + -0.1667335698262743E+01 + -0.1668552522488425E+01 + -0.1669768443809405E+01 + -0.1670983460000000E+01 + -0.1672197568865742E+01 + -0.1673410768337016E+01 + -0.1674623056375418E+01 + -0.1675834430942547E+01 + -0.1677044890000000E+01 + -0.1678254431578990E+01 + -0.1679463053989193E+01 + -0.1680670755609901E+01 + -0.1681877534820406E+01 + -0.1683083390000000E+01 + -0.1684288319458298E+01 + -0.1685492321226211E+01 + -0.1686695393264976E+01 + -0.1687897533535827E+01 + -0.1689098740000000E+01 + -0.1690299010587819E+01 + -0.1691498343105962E+01 + -0.1692696735330195E+01 + -0.1693894185036286E+01 + -0.1695090690000000E+01 + -0.1696286248110426E+01 + -0.1697480857709941E+01 + -0.1698674517254243E+01 + -0.1699867225199029E+01 + -0.1701058980000000E+01 + -0.1702249780010476E+01 + -0.1703439623174274E+01 + -0.1704628507332834E+01 + -0.1705816430327595E+01 + -0.1707003390000000E+01 + -0.1708189384247670E+01 + -0.1709374411192964E+01 + -0.1710558469014423E+01 + -0.1711741555890587E+01 + -0.1712923670000000E+01 + -0.1714104809478843E+01 + -0.1715284972293870E+01 + -0.1716464156369475E+01 + -0.1717642359630054E+01 + -0.1718819580000000E+01 + -0.1719995815436956E+01 + -0.1721171064031555E+01 + -0.1722345323907675E+01 + -0.1723518593189197E+01 + -0.1724690870000000E+01 + -0.1725862152453332E+01 + -0.1727032438619911E+01 + -0.1728201726559825E+01 + -0.1729370014333159E+01 + -0.1730537300000000E+01 + -0.1731703581629716E+01 + -0.1732868857328800E+01 + -0.1734033125213026E+01 + -0.1735196383398168E+01 + -0.1736358630000000E+01 + -0.1737519863107803E+01 + -0.1738680080704888E+01 + -0.1739839280748071E+01 + -0.1740997461194169E+01 + -0.1742154620000000E+01 + -0.1743310755139071E+01 + -0.1744465864651650E+01 + -0.1745619946594692E+01 + -0.1746772999025156E+01 + -0.1747925020000000E+01 + -0.1749076007615912E+01 + -0.1750225960128515E+01 + -0.1751374875833161E+01 + -0.1752522753025205E+01 + -0.1753669590000000E+01 + -0.1754815384957279E+01 + -0.1755960135714291E+01 + -0.1757103839992664E+01 + -0.1758246495514024E+01 + -0.1759388100000000E+01 + -0.1760528651274970E+01 + -0.1761668147574319E+01 + -0.1762806587236184E+01 + -0.1763943968598698E+01 + -0.1765080290000000E+01 + -0.1766215549702839E+01 + -0.1767349745668430E+01 + -0.1768482875782601E+01 + -0.1769614937931181E+01 + -0.1770745930000000E+01 + -0.1771875849913672E+01 + -0.1773004695751959E+01 + -0.1774132465633411E+01 + -0.1775259157676575E+01 + -0.1776384770000000E+01 + -0.1777509300722472E+01 + -0.1778632747963731E+01 + -0.1779755109843754E+01 + -0.1780876384482518E+01 + -0.1781996570000000E+01 + -0.1783115664476438E+01 + -0.1784233665833114E+01 + -0.1785350571951572E+01 + -0.1786466380713352E+01 + -0.1787581090000000E+01 + -0.1788694697771776E+01 + -0.1789807202303812E+01 + -0.1790918601949961E+01 + -0.1792028895064073E+01 + -0.1793138080000000E+01 + -0.1794246154996460E+01 + -0.1795353117831638E+01 + -0.1796458966168587E+01 + -0.1797563697670356E+01 + -0.1798667310000000E+01 + -0.1799769800962384E+01 + -0.1800871168929635E+01 + -0.1801971412415694E+01 + -0.1803070529934502E+01 + -0.1804168520000000E+01 + -0.1805265380994003E+01 + -0.1806361110769822E+01 + -0.1807455707048638E+01 + -0.1808549167551636E+01 + -0.1809641490000000E+01 + -0.1810732672181603E+01 + -0.1811822712151079E+01 + -0.1812911608029754E+01 + -0.1813999357938953E+01 + -0.1815085960000000E+01 + -0.1816171412359586E+01 + -0.1817255713265862E+01 + -0.1818338860992345E+01 + -0.1819420853812552E+01 + -0.1820501690000000E+01 + -0.1821581367740054E+01 + -0.1822659884865474E+01 + -0.1823737239120866E+01 + -0.1824813428250839E+01 + -0.1825888450000000E+01 + -0.1826962302200198E+01 + -0.1828034983032243E+01 + -0.1829106490764191E+01 + -0.1830176823664092E+01 + -0.1831245980000000E+01 + -0.1832313958019157E+01 + -0.1833380755885553E+01 + -0.1834446371742373E+01 + -0.1835510803732795E+01 + -0.1836574050000000E+01 + -0.1837636108603178E+01 + -0.1838696977265544E+01 + -0.1839756653626321E+01 + -0.1840815135324732E+01 + -0.1841872420000000E+01 + -0.1842928505968134E+01 + -0.1843983394252273E+01 + -0.1845037086552347E+01 + -0.1846089584568281E+01 + -0.1847140890000000E+01 + -0.1848191004324290E+01 + -0.1849239928125363E+01 + -0.1850287661764292E+01 + -0.1851334205602147E+01 + -0.1852379560000000E+01 + -0.1853423725534708E+01 + -0.1854466703646274E+01 + -0.1855508495990486E+01 + -0.1856549104223132E+01 + -0.1857588530000000E+01 + -0.1858626774816877E+01 + -0.1859663839529540E+01 + -0.1860699724833765E+01 + -0.1861734431425326E+01 + -0.1862767960000000E+01 + -0.1863800311357784E+01 + -0.1864831486715566E+01 + -0.1865861487394456E+01 + -0.1866890314715564E+01 + -0.1867917970000000E+01 + -0.1868944454471988E+01 + -0.1869969768968197E+01 + -0.1870993914228414E+01 + -0.1872016890992420E+01 + -0.1873038700000000E+01 + -0.1874059342114266E+01 + -0.1875078818691645E+01 + -0.1876097131211891E+01 + -0.1877114281154757E+01 + -0.1878130270000000E+01 + -0.1879145099070948E+01 + -0.1880158769065224E+01 + -0.1881171280524026E+01 + -0.1882182633988552E+01 + -0.1883192830000000E+01 + -0.1884201869281944E+01 + -0.1885209753287462E+01 + -0.1886216483652008E+01 + -0.1887222062011036E+01 + -0.1888226490000000E+01 + -0.1889229769081277E+01 + -0.1890231900024929E+01 + -0.1891232883427944E+01 + -0.1892232719887306E+01 + -0.1893231410000000E+01 + -0.1894228954472950E+01 + -0.1895225354452821E+01 + -0.1896220611196217E+01 + -0.1897214725959742E+01 + -0.1898207700000000E+01 + -0.1899199534546926E+01 + -0.1900190230723788E+01 + -0.1901179789627187E+01 + -0.1902168212353725E+01 + -0.1903155500000000E+01 + -0.1904141653659347E+01 + -0.1905126674412027E+01 + -0.1906110563335034E+01 + -0.1907093321505360E+01 + -0.1908074950000000E+01 + -0.1909055449855686E+01 + -0.1910034821948104E+01 + -0.1911013067112679E+01 + -0.1911990186184836E+01 + -0.1912966180000000E+01 + -0.1913941049477910E+01 + -0.1914914795875558E+01 + -0.1915887420534251E+01 + -0.1916858924795296E+01 + -0.1917829310000000E+01 + -0.1918798577432676E+01 + -0.1919766728149666E+01 + -0.1920733763150317E+01 + -0.1921699683433979E+01 + -0.1922664490000000E+01 + -0.1923628183831387E+01 + -0.1924590765845781E+01 + -0.1925552236944481E+01 + -0.1926512598028788E+01 + -0.1927471850000000E+01 + -0.1928429993801777E+01 + -0.1929387030547213E+01 + -0.1930342961391760E+01 + -0.1931297787490872E+01 + -0.1932251510000000E+01 + -0.1933204130081505E+01 + -0.1934155648925368E+01 + -0.1935106067728479E+01 + -0.1936055387687727E+01 + -0.1937003610000000E+01 + -0.1937950735792205E+01 + -0.1938896765911316E+01 + -0.1939841701134325E+01 + -0.1940785542238222E+01 + -0.1941728290000000E+01 + -0.1942669945309675E+01 + -0.1943610509509368E+01 + -0.1944549984054222E+01 + -0.1945488370399385E+01 + -0.1946425670000000E+01 + -0.1947361884169094E+01 + -0.1948297013651213E+01 + -0.1949231059048786E+01 + -0.1950164020964239E+01 + -0.1951095900000000E+01 + -0.1952026696893950E+01 + -0.1952956412925780E+01 + -0.1953885049510635E+01 + -0.1954812608063661E+01 + -0.1955739090000000E+01 + -0.1956664496655107E+01 + -0.1957588829045667E+01 + -0.1958512088108673E+01 + -0.1959434274781120E+01 + -0.1960355390000000E+01 + -0.1961275434725622E+01 + -0.1962194410011552E+01 + -0.1963112316934671E+01 + -0.1964029156571860E+01 + -0.1964944930000000E+01 + -0.1965859638282405E+01 + -0.1966773282428126E+01 + -0.1967685863432643E+01 + -0.1968597382291440E+01 + -0.1969507840000000E+01 + -0.1970417237584755E+01 + -0.1971325576195945E+01 + -0.1972232857014756E+01 + -0.1973139081222378E+01 + -0.1974044250000000E+01 + -0.1974948364498572E+01 + -0.1975851425748096E+01 + -0.1976753434748333E+01 + -0.1977654392499047E+01 + -0.1978554300000000E+01 + -0.1979453158260955E+01 + -0.1980350968331672E+01 + -0.1981247731271912E+01 + -0.1982143448141435E+01 + -0.1983038120000000E+01 + -0.1983931747897608E+01 + -0.1984824332845216E+01 + -0.1985715875844020E+01 + -0.1986606377895216E+01 + -0.1987495840000000E+01 + -0.1988384263188612E+01 + -0.1989271648607464E+01 + -0.1990157997432009E+01 + -0.1991043310837703E+01 + -0.1991927590000000E+01 + -0.1992810836067943E+01 + -0.1993693050084929E+01 + -0.1994574233067943E+01 + -0.1995454386033972E+01 + -0.1996333510000000E+01 + -0.1997211605979616E+01 + -0.1998088674972822E+01 + -0.1998964717976218E+01 + -0.1999839735986410E+01 + -0.2000713730000000E+01 + -0.2001586701053592E+01 + -0.2002458650343786E+01 + -0.2003329579107185E+01 + -0.2004199488580389E+01 + -0.2005068380000000E+01 + -0.2005936254526017E+01 + -0.2006803113012035E+01 + -0.2007668956235043E+01 + -0.2008533784972034E+01 + -0.2009397600000000E+01 + -0.2010260402202338E+01 + -0.2011122192888076E+01 + -0.2011982973472644E+01 + -0.2012842745371474E+01 + -0.2013701510000000E+01 + -0.2014559268664628E+01 + -0.2015416022235663E+01 + -0.2016271771474384E+01 + -0.2017126517142070E+01 + -0.2017980260000000E+01 + -0.2018833000899149E+01 + -0.2019684741049272E+01 + -0.2020535481749822E+01 + -0.2021385224300247E+01 + -0.2022233970000000E+01 + -0.2023081720058775E+01 + -0.2023928475327246E+01 + -0.2024774236566329E+01 + -0.2025619004536941E+01 + -0.2026462780000000E+01 + -0.2027305563825750E+01 + -0.2028147357321744E+01 + -0.2028988161904863E+01 + -0.2029827978991988E+01 + -0.2030666810000000E+01 + -0.2031504656238226E+01 + -0.2032341518585780E+01 + -0.2033177397814221E+01 + -0.2034012294695107E+01 + -0.2034846210000000E+01 + -0.2035679144581345E+01 + -0.2036511099615137E+01 + -0.2037342076358256E+01 + -0.2038172076067583E+01 + -0.2039001100000000E+01 + -0.2039829149356393E+01 + -0.2040656225113673E+01 + -0.2041482328192757E+01 + -0.2042307459514560E+01 + -0.2043131620000000E+01 + -0.2043954810633082E+01 + -0.2044777032650171E+01 + -0.2045598287350718E+01 + -0.2046418576034176E+01 + -0.2047237900000000E+01 + -0.2048056260431277E+01 + -0.2048873658045645E+01 + -0.2049690093444373E+01 + -0.2050505567228734E+01 + -0.2051320080000000E+01 + -0.2052133632521807E+01 + -0.2052946226207252E+01 + -0.2053757862631791E+01 + -0.2054568543370888E+01 + -0.2055378270000000E+01 + -0.2056187043961492E+01 + -0.2056994866165350E+01 + -0.2057801737388461E+01 + -0.2058607658407714E+01 + -0.2059412630000000E+01 + -0.2060216652992222E+01 + -0.2061019728411349E+01 + -0.2061821857334365E+01 + -0.2062623040838254E+01 + -0.2063423280000000E+01 + -0.2064222575909619E+01 + -0.2065020929709253E+01 + -0.2065818342554079E+01 + -0.2066614815599269E+01 + -0.2067410350000000E+01 + -0.2068204946889302E+01 + -0.2068998607311637E+01 + -0.2069791332289320E+01 + -0.2070583122844669E+01 + -0.2071373980000000E+01 + -0.2072163904773171E+01 + -0.2072952898164199E+01 + -0.2073740961168642E+01 + -0.2074528094782056E+01 + -0.2075314300000000E+01 + -0.2076099577858014E+01 + -0.2076883929551567E+01 + -0.2077667356316114E+01 + -0.2078449859387107E+01 + -0.2079231440000000E+01 + -0.2080012099314775E+01 + -0.2080791838189532E+01 + -0.2081570657406902E+01 + -0.2082348557749515E+01 + -0.2083125540000000E+01 + -0.2083901605042888E+01 + -0.2084676754170306E+01 + -0.2085450988776279E+01 + -0.2086224310254835E+01 + -0.2086996720000000E+01 + -0.2087768219313674E+01 + -0.2088538809129247E+01 + -0.2089308490287983E+01 + -0.2090077263631146E+01 + -0.2090845130000000E+01 + -0.2091612090262418E+01 + -0.2092378145392707E+01 + -0.2093143296391789E+01 + -0.2093907544260580E+01 + -0.2094670890000000E+01 + -0.2095433334676657E+01 + -0.2096194879619924E+01 + -0.2096955526224861E+01 + -0.2097715275886533E+01 + -0.2098474130000000E+01 + -0.2099232089830954E+01 + -0.2099989156127599E+01 + -0.2100745329508766E+01 + -0.2101500610593289E+01 + -0.2102255000000000E+01 + -0.2103008498479527E+01 + -0.2103761107309682E+01 + -0.2104512827900074E+01 + -0.2105263661660310E+01 + -0.2106013610000000E+01 + -0.2106762674250939E+01 + -0.2107510855433674E+01 + -0.2108258154490939E+01 + -0.2109004572365469E+01 + -0.2109750110000000E+01 + -0.2110494768356718E+01 + -0.2111238548475624E+01 + -0.2111981451416171E+01 + -0.2112723478237812E+01 + -0.2113464630000000E+01 + -0.2114204907762189E+01 + -0.2114944312583829E+01 + -0.2115682845524376E+01 + -0.2116420507643282E+01 + -0.2117157300000000E+01 + -0.2117893223634530E+01 + -0.2118628279509060E+01 + -0.2119362468566325E+01 + -0.2120095791749060E+01 + -0.2120828250000000E+01 + -0.2121559844339694E+01 + -0.2122290576099934E+01 + -0.2123020446690328E+01 + -0.2123749457520481E+01 + -0.2124477610000000E+01 + -0.2125204905406697E+01 + -0.2125931344491205E+01 + -0.2126656927872366E+01 + -0.2127381656169018E+01 + -0.2128105530000000E+01 + -0.2128828550113520E+01 + -0.2129550717775245E+01 + -0.2130272034380210E+01 + -0.2130992501323450E+01 + -0.2131712120000000E+01 + -0.2132430891739225E+01 + -0.2133148817607817E+01 + -0.2133865898606795E+01 + -0.2134582135737182E+01 + -0.2135297530000000E+01 + -0.2136012082369579E+01 + -0.2136725793713489E+01 + -0.2137438664872609E+01 + -0.2138150696687819E+01 + -0.2138861890000000E+01 + -0.2139572245742460E+01 + -0.2140281765218229E+01 + -0.2140990449822769E+01 + -0.2141698300951539E+01 + -0.2142405320000000E+01 + -0.2143111508260582E+01 + -0.2143816866613595E+01 + -0.2144521395836316E+01 + -0.2145225096706025E+01 + -0.2145927970000000E+01 + -0.2146630016575211E+01 + -0.2147331237607391E+01 + -0.2148031634351966E+01 + -0.2148731208064361E+01 + -0.2149429960000000E+01 + -0.2150127891358575E+01 + -0.2150825003116841E+01 + -0.2151521296195820E+01 + -0.2152216771516532E+01 + -0.2152911430000000E+01 + -0.2153605272630490E+01 + -0.2154298300645245E+01 + -0.2154990515344756E+01 + -0.2155681918029511E+01 + -0.2156372510000000E+01 + -0.2157062292439468E+01 + -0.2157751266062180E+01 + -0.2158439431465158E+01 + -0.2159126789245424E+01 + -0.2159813340000000E+01 + -0.2160499084491641E+01 + -0.2161184024146037E+01 + -0.2161868160554612E+01 + -0.2162551495308792E+01 + -0.2163234030000000E+01 + -0.2163915766073970E+01 + -0.2164596704393673E+01 + -0.2165276845676392E+01 + -0.2165956190639407E+01 + -0.2166634740000000E+01 + -0.2167312494572481E+01 + -0.2167989455559270E+01 + -0.2168665624259820E+01 + -0.2169341001973580E+01 + -0.2170015590000000E+01 + -0.2170689389556110E+01 + -0.2171362401529247E+01 + -0.2172034626724329E+01 + -0.2172706065946275E+01 + -0.2173376720000000E+01 + -0.2174046589763083E+01 + -0.2174715676403743E+01 + -0.2175383981162862E+01 + -0.2176051505281321E+01 + -0.2176718250000000E+01 + -0.2177384216511561E+01 + -0.2178049405815782E+01 + -0.2178713818864223E+01 + -0.2179377456608443E+01 + -0.2180040320000000E+01 + -0.2180702410030674E+01 + -0.2181363727853129E+01 + -0.2182024274660246E+01 + -0.2182684051644908E+01 + -0.2183343060000000E+01 + -0.2184001300885741E+01 + -0.2184658775331702E+01 + -0.2185315484334793E+01 + -0.2185971428891923E+01 + -0.2186626610000000E+01 + -0.2187281028666363E+01 + -0.2187934685940063E+01 + -0.2188587582880582E+01 + -0.2189239720547401E+01 + -0.2189891100000000E+01 + -0.2190541722288809E+01 + -0.2191191588428048E+01 + -0.2191840699422881E+01 + -0.2192489056278476E+01 + -0.2193136660000000E+01 + -0.2193783511618400E+01 + -0.2194429612267749E+01 + -0.2195074963107896E+01 + -0.2195719565298696E+01 + -0.2196363420000000E+01 + -0.2197006528357589E+01 + -0.2197648891460959E+01 + -0.2198290510385534E+01 + -0.2198931386206740E+01 + -0.2199571520000000E+01 + -0.2200210912791244E+01 + -0.2200849565408416E+01 + -0.2201487478629966E+01 + -0.2202124653234344E+01 + -0.2202761090000000E+01 + -0.2203396789837438E+01 + -0.2204031754185379E+01 + -0.2204665984614602E+01 + -0.2205299482695883E+01 + -0.2205932250000000E+01 + -0.2206564287939007E+01 + -0.2207195597290068E+01 + -0.2207826178671625E+01 + -0.2208456032702122E+01 + -0.2209085160000000E+01 + -0.2209713561286536E+01 + -0.2210341237694350E+01 + -0.2210968190458895E+01 + -0.2211594420815627E+01 + -0.2212219930000000E+01 + -0.2212844719234849E+01 + -0.2213468789692533E+01 + -0.2214092142532793E+01 + -0.2214714778915369E+01 + -0.2215336700000000E+01 + -0.2215957906894068E+01 + -0.2216578400495518E+01 + -0.2217198181649933E+01 + -0.2217817251202899E+01 + -0.2218435610000000E+01 + -0.2219053258948877E+01 + -0.2219670199205396E+01 + -0.2220286431987475E+01 + -0.2220901958513037E+01 + -0.2221516780000000E+01 + -0.2222130897630422E+01 + -0.2222744312442900E+01 + -0.2223357025440167E+01 + -0.2223969037624956E+01 + -0.2224580350000000E+01 + -0.2225190963569435E+01 + -0.2225800879343005E+01 + -0.2226410098331857E+01 + -0.2227018621547140E+01 + -0.2227626450000000E+01 + -0.2228233584731840E+01 + -0.2228840026905082E+01 + -0.2229445777712404E+01 + -0.2230050838346485E+01 + -0.2230655210000000E+01 + -0.2231258893823207E+01 + -0.2231861890796668E+01 + -0.2232464201858526E+01 + -0.2233065827946923E+01 + -0.2233666770000000E+01 + -0.2234267029015335E+01 + -0.2234866606228247E+01 + -0.2235465502933492E+01 + -0.2236063720425825E+01 + -0.2236661260000000E+01 + -0.2237258122835453E+01 + -0.2237854309650342E+01 + -0.2238449821047505E+01 + -0.2239044657629778E+01 + -0.2239638820000000E+01 + -0.2240232308922852E+01 + -0.2240825125810384E+01 + -0.2241417272236490E+01 + -0.2242008749775064E+01 + -0.2242599560000000E+01 + -0.2243189704353141E+01 + -0.2243779183748125E+01 + -0.2244367998966538E+01 + -0.2244956150789967E+01 + -0.2245543640000000E+01 + -0.2246130467424585E+01 + -0.2246716634077119E+01 + -0.2247302141017360E+01 + -0.2247886989305068E+01 + -0.2248471180000000E+01 + -0.2249054714188520E+01 + -0.2249637593063402E+01 + -0.2250219817844024E+01 + -0.2250801389749764E+01 + -0.2251382310000000E+01 + -0.2251962579741335E+01 + -0.2252542199829274E+01 + -0.2253121171046544E+01 + -0.2253699494175877E+01 + -0.2254277170000000E+01 + -0.2254854199406139E+01 + -0.2255430583699503E+01 + -0.2256006324289798E+01 + -0.2256581422586728E+01 + -0.2257155880000000E+01 + -0.2257729697834109E+01 + -0.2258302876972714E+01 + -0.2258875418194264E+01 + -0.2259447322277210E+01 + -0.2260018590000000E+01 + -0.2260589222217426E+01 + -0.2261159220089643E+01 + -0.2261728584853147E+01 + -0.2262297317744434E+01 + -0.2262865420000000E+01 + -0.2263432892816187E+01 + -0.2263999737228715E+01 + -0.2264565954233149E+01 + -0.2265131544825056E+01 + -0.2265696510000000E+01 + -0.2266260850757827E+01 + -0.2266824568115499E+01 + -0.2267387663094257E+01 + -0.2267950136715343E+01 + -0.2268511990000000E+01 + -0.2269073223992506E+01 + -0.2269633839829290E+01 + -0.2270193838669822E+01 + -0.2270753221673570E+01 + -0.2271311990000000E+01 + -0.2271870144792151E+01 + -0.2272427687127339E+01 + -0.2272984618066453E+01 + -0.2273540938670377E+01 + -0.2274096650000000E+01 + -0.2274651753078891E+01 + -0.2275206248781352E+01 + -0.2275760137944368E+01 + -0.2276313421404922E+01 + -0.2276866100000000E+01 + -0.2277418174652285E+01 + -0.2277969646627252E+01 + -0.2278520517276077E+01 + -0.2279070787949935E+01 + -0.2279620460000000E+01 + -0.2280169534711970E+01 + -0.2280718013109639E+01 + -0.2281265896151323E+01 + -0.2281813184795337E+01 + -0.2282359880000000E+01 + -0.2282905982739834E+01 + -0.2283451494054191E+01 + -0.2283996414998631E+01 + -0.2284540746628714E+01 + -0.2285084490000000E+01 + -0.2285627646168695E+01 + -0.2286170216193598E+01 + -0.2286712201134153E+01 + -0.2287253602049805E+01 + -0.2287794420000000E+01 + -0.2288334656025384E+01 + -0.2288874311091416E+01 + -0.2289413386144756E+01 + -0.2289951882132064E+01 + -0.2290489800000000E+01 + -0.2291027140769767E+01 + -0.2291563905760737E+01 + -0.2292100096366823E+01 + -0.2292635713981940E+01 + -0.2293170760000000E+01 + -0.2293705235695548E+01 + -0.2294239141865637E+01 + -0.2294772479187953E+01 + -0.2295305248340180E+01 + -0.2295837450000000E+01 + -0.2296369084928044E+01 + -0.2296900154216715E+01 + -0.2297430659041365E+01 + -0.2297960600577343E+01 + -0.2298489980000000E+01 + -0.2299018798512279E+01 + -0.2299547057427503E+01 + -0.2300074758086587E+01 + -0.2300601901830448E+01 + -0.2301128490000000E+01 + -0.2301654523822839E+01 + -0.2302180004073272E+01 + -0.2302704931412286E+01 + -0.2303229306500867E+01 + -0.2303753130000000E+01 + -0.2304276402676365E+01 + -0.2304799125719407E+01 + -0.2305321300424268E+01 + -0.2305842928086086E+01 + -0.2306364010000000E+01 + -0.2306884547391703E+01 + -0.2307404541209098E+01 + -0.2307923992330641E+01 + -0.2308442901634790E+01 + -0.2308961270000000E+01 + -0.2309479098396825E+01 + -0.2309996388164202E+01 + -0.2310513140733168E+01 + -0.2311029357534755E+01 + -0.2311545040000000E+01 + -0.2312060189420999E+01 + -0.2312574806534094E+01 + -0.2313088891936690E+01 + -0.2313602446226191E+01 + -0.2314115470000000E+01 + -0.2314627963999180E+01 + -0.2315139929539422E+01 + -0.2315651368080073E+01 + -0.2316162281080483E+01 + -0.2316672670000000E+01 + -0.2317182536182281E+01 + -0.2317691880508220E+01 + -0.2318200703743017E+01 + -0.2318709006651877E+01 + -0.2319216790000000E+01 + -0.2319724054631696E+01 + -0.2320230801707701E+01 + -0.2320737032467858E+01 + -0.2321242748152010E+01 + -0.2321747950000000E+01 + -0.2322252639210935E+01 + -0.2322756816820978E+01 + -0.2323260483825552E+01 + -0.2323763641220085E+01 + -0.2324266290000000E+01 + -0.2324768431164563E+01 + -0.2325270065728390E+01 + -0.2325771194709935E+01 + -0.2326271819127654E+01 + -0.2326771940000000E+01 + -0.2327271558370813E+01 + -0.2327770675385465E+01 + -0.2328269292214710E+01 + -0.2328767410029303E+01 + -0.2329265030000000E+01 + -0.2329762153272185E+01 + -0.2330258780889753E+01 + -0.2330754913871228E+01 + -0.2331250553235136E+01 + -0.2331745700000000E+01 + -0.2332240355180449E+01 + -0.2332734519775527E+01 + -0.2333228194780379E+01 + -0.2333721381190155E+01 + -0.2334214080000000E+01 + -0.2334706292246020E+01 + -0.2335198019128143E+01 + -0.2335689261887257E+01 + -0.2336180021764247E+01 + -0.2336670300000000E+01 + -0.2337160097755474E+01 + -0.2337649415871903E+01 + -0.2338138255110597E+01 + -0.2338626616232860E+01 + -0.2339114500000000E+01 + -0.2339601907292087E+01 + -0.2340088839464244E+01 + -0.2340575297990358E+01 + -0.2341061284344314E+01 + -0.2341546800000000E+01 + -0.2342031846276179E+01 + -0.2342516423871121E+01 + -0.2343000533327974E+01 + -0.2343484175189884E+01 + -0.2343967350000000E+01 + -0.2344450058483198E+01 + -0.2344932302091272E+01 + -0.2345414082457748E+01 + -0.2345895401216149E+01 + -0.2346376260000000E+01 + -0.2346856660271031E+01 + -0.2347336602803790E+01 + -0.2347816088201035E+01 + -0.2348295117065520E+01 + -0.2348773690000000E+01 + -0.2349251807712681E+01 + -0.2349729471333566E+01 + -0.2350206682098112E+01 + -0.2350683441241771E+01 + -0.2351159750000000E+01 + -0.2351635609598247E+01 + -0.2352111021221945E+01 + -0.2352585986046518E+01 + -0.2353060505247394E+01 + -0.2353534580000000E+01 + -0.2354008211414330E+01 + -0.2354481400338655E+01 + -0.2354954147555815E+01 + -0.2355426453848651E+01 + -0.2355898320000000E+01 + -0.2356369746904433E+01 + -0.2356840735903435E+01 + -0.2357311288450220E+01 + -0.2357781405998004E+01 + -0.2358251090000000E+01 + -0.2358720341767938E+01 + -0.2359189162047606E+01 + -0.2359657551443304E+01 + -0.2360125510559335E+01 + -0.2360593040000000E+01 + -0.2361060140503814E+01 + -0.2361526813346142E+01 + -0.2361993059936563E+01 + -0.2362458881684657E+01 + -0.2362924280000000E+01 + -0.2363389256216808E+01 + -0.2363853811367827E+01 + -0.2364317946410444E+01 + -0.2364781662302040E+01 + -0.2365244960000000E+01 + -0.2365707840468958E+01 + -0.2366170304702550E+01 + -0.2366632353701663E+01 + -0.2367093988467184E+01 + -0.2367555210000000E+01 + -0.2368016019347361E+01 + -0.2368476417741973E+01 + -0.2368936406462904E+01 + -0.2369395986789224E+01 + -0.2369855160000000E+01 + -0.2370313927261598E+01 + -0.2370772289289558E+01 + -0.2371230246686721E+01 + -0.2371687800055922E+01 + -0.2372144950000000E+01 + -0.2372601697286250E+01 + -0.2373058043339795E+01 + -0.2373513989750214E+01 + -0.2373969538107089E+01 + -0.2374424690000000E+01 + -0.2374879446873404E+01 + -0.2375333809591264E+01 + -0.2375787778872422E+01 + -0.2376241355435721E+01 + -0.2376694540000000E+01 + -0.2377147333380137E+01 + -0.2377599736775150E+01 + -0.2378051751480095E+01 + -0.2378503378790027E+01 + -0.2378954620000000E+01 + -0.2379405476326050E+01 + -0.2379855948668136E+01 + -0.2380306037847197E+01 + -0.2380755744684172E+01 + -0.2381205070000000E+01 + -0.2381654014675663E+01 + -0.2382102579832305E+01 + -0.2382550766651117E+01 + -0.2382998576313286E+01 + -0.2383446010000000E+01 + -0.2383893068891301E+01 + -0.2384339754162643E+01 + -0.2384786066988334E+01 + -0.2385232008542684E+01 + -0.2385677580000000E+01 + -0.2386122782479135E+01 + -0.2386567616877124E+01 + -0.2387012084035546E+01 + -0.2387456184795978E+01 + -0.2387899920000000E+01 + -0.2388343290552158E+01 + -0.2388786297608860E+01 + -0.2389228942389484E+01 + -0.2389671226113405E+01 + -0.2390113150000000E+01 + -0.2390554715232235E+01 + -0.2390995922847436E+01 + -0.2391436773846519E+01 + -0.2391877269230402E+01 + -0.2392317410000000E+01 + -0.2392757197158904E+01 + -0.2393196631721398E+01 + -0.2393635714704440E+01 + -0.2394074447124988E+01 + -0.2394512830000000E+01 + -0.2394950864372149E+01 + -0.2395388551386972E+01 + -0.2395825892215720E+01 + -0.2396262888029646E+01 + -0.2396699540000000E+01 + -0.2397135849272500E+01 + -0.2397571816890714E+01 + -0.2398007443872680E+01 + -0.2398442731236430E+01 + -0.2398877680000000E+01 + -0.2399312291177854E+01 + -0.2399746565770171E+01 + -0.2400180504773562E+01 + -0.2400614109184635E+01 + -0.2401047380000000E+01 + -0.2401480318256086E+01 + -0.2401912925148601E+01 + -0.2402345201913073E+01 + -0.2402777149785030E+01 + -0.2403208770000000E+01 + -0.2403640063717802E+01 + -0.2404071031795424E+01 + -0.2404501675014145E+01 + -0.2404931994155244E+01 + -0.2405361990000000E+01 + -0.2405791663432705E+01 + -0.2406221015749701E+01 + -0.2406650048350346E+01 + -0.2407078762633993E+01 + -0.2407507160000000E+01 + -0.2407935241751379E+01 + -0.2408363008805771E+01 + -0.2408790461984474E+01 + -0.2409217602108784E+01 + -0.2409644430000000E+01 + -0.2410070946521779E+01 + -0.2410497152707215E+01 + -0.2410923049631762E+01 + -0.2411348638370872E+01 + -0.2411773920000000E+01 + -0.2412198895601505E+01 + -0.2412623566285368E+01 + -0.2413047933168480E+01 + -0.2413471997367728E+01 + -0.2413895760000000E+01 + -0.2414319222192202E+01 + -0.2414742385111311E+01 + -0.2415165249934318E+01 + -0.2415587817838217E+01 + -0.2416010090000000E+01 + -0.2416432067549685E+01 + -0.2416853751429388E+01 + -0.2417275142534248E+01 + -0.2417696241759405E+01 + -0.2418117050000000E+01 + -0.2418537568169057E+01 + -0.2418957797251139E+01 + -0.2419377738248691E+01 + -0.2419797392164163E+01 + -0.2420216760000000E+01 + -0.2420635842814087E+01 + -0.2421054641886059E+01 + -0.2421473158550988E+01 + -0.2421891394143944E+01 + -0.2422309350000000E+01 + -0.2422727027374593E+01 + -0.2423144427204624E+01 + -0.2423561550347359E+01 + -0.2423978397660062E+01 + -0.2424394970000000E+01 + -0.2424811268247538E+01 + -0.2425227293375442E+01 + -0.2425643046379577E+01 + -0.2426058528255808E+01 + -0.2426473740000000E+01 + -0.2426888682675253E+01 + -0.2427303357613607E+01 + -0.2427717766214333E+01 + -0.2428131909876706E+01 + -0.2428545790000000E+01 + -0.2428959407851449E+01 + -0.2429372764170132E+01 + -0.2429785859563092E+01 + -0.2430198694637367E+01 + -0.2430611270000000E+01 + -0.2431023586398951E+01 + -0.2431435645145864E+01 + -0.2431847447693301E+01 + -0.2432258995493825E+01 + -0.2432670290000000E+01 + -0.2433081332552746E+01 + -0.2433492124046412E+01 + -0.2433902665263706E+01 + -0.2434312956987333E+01 + -0.2434723000000000E+01 + -0.2435132795150065E+01 + -0.2435542343548487E+01 + -0.2435951646371877E+01 + -0.2436360704796844E+01 + -0.2436769520000000E+01 + -0.2437178093166994E+01 + -0.2437586425519640E+01 + -0.2437994518288788E+01 + -0.2438402372705291E+01 + -0.2438809990000000E+01 + -0.2439217371301957E+01 + -0.2439624517332955E+01 + -0.2440031428712974E+01 + -0.2440438106061995E+01 + -0.2440844550000000E+01 + -0.2441250761305177E+01 + -0.2441656741388541E+01 + -0.2442062491819318E+01 + -0.2442468014166729E+01 + -0.2442873310000000E+01 + -0.2443278380757336E+01 + -0.2443683227352880E+01 + -0.2444087850569755E+01 + -0.2444492251191087E+01 + -0.2444896430000000E+01 + -0.2445300387825478E+01 + -0.2445704125679940E+01 + -0.2446107644621663E+01 + -0.2446510945708924E+01 + -0.2446914030000000E+01 + -0.2447316898580750E+01 + -0.2447719552647359E+01 + -0.2448121993423593E+01 + -0.2448524222133218E+01 + -0.2448926240000000E+01 + -0.2449328048171521E+01 + -0.2449729647490623E+01 + -0.2450131038723965E+01 + -0.2450532222638205E+01 + -0.2450933200000000E+01 + -0.2451333971693167E+01 + -0.2451734539070149E+01 + -0.2452134903600548E+01 + -0.2452535066753964E+01 + -0.2452935030000000E+01 + -0.2453334794655812E+01 + -0.2453734361428781E+01 + -0.2454133730873845E+01 + -0.2454532903545939E+01 + -0.2454931880000000E+01 + -0.2455330660963585E+01 + -0.2455729247854726E+01 + -0.2456127642264074E+01 + -0.2456525845782281E+01 + -0.2456923860000000E+01 + -0.2457321686369848E+01 + -0.2457719325792316E+01 + -0.2458116779029860E+01 + -0.2458514046844936E+01 + -0.2458911130000000E+01 + -0.2459308029317021E+01 + -0.2459704745856009E+01 + -0.2460101280736486E+01 + -0.2460497635077976E+01 + -0.2460893810000000E+01 + -0.2461289806602069E+01 + -0.2461685625903649E+01 + -0.2462081268904195E+01 + -0.2462476736603160E+01 + -0.2462872030000000E+01 + -0.2463267150114703E+01 + -0.2463662098049395E+01 + -0.2464056874926735E+01 + -0.2464451481869384E+01 + -0.2464845920000000E+01 + -0.2465240190459119E+01 + -0.2465634294458772E+01 + -0.2466028233228866E+01 + -0.2466422007999306E+01 + -0.2466815620000000E+01 + -0.2467209070368822E+01 + -0.2467602359875518E+01 + -0.2467995489197804E+01 + -0.2468388459013393E+01 + -0.2468781270000000E+01 + -0.2469173922945594E+01 + -0.2469566419079156E+01 + -0.2469958759739921E+01 + -0.2470350946267124E+01 + -0.2470742980000000E+01 + -0.2471134862248802E+01 + -0.2471526594207858E+01 + -0.2471918177042513E+01 + -0.2472309611918111E+01 + -0.2472700900000000E+01 + -0.2473092042379196E+01 + -0.2473483039849411E+01 + -0.2473873893130028E+01 + -0.2474264602940430E+01 + -0.2474655170000000E+01 + -0.2475045595114412E+01 + -0.2475435879434497E+01 + -0.2475826024197376E+01 + -0.2476216030640170E+01 + -0.2476605900000000E+01 + -0.2476995633323156E+01 + -0.2477385230892601E+01 + -0.2477774692800468E+01 + -0.2478164019138891E+01 + -0.2478553210000000E+01 + -0.2478942265432965E+01 + -0.2479331185315099E+01 + -0.2479719969480751E+01 + -0.2480108617764268E+01 + -0.2480497130000000E+01 + -0.2480885506064982E+01 + -0.2481273746007001E+01 + -0.2481661849916528E+01 + -0.2482049817884037E+01 + -0.2482437650000000E+01 + -0.2482825346307105E+01 + -0.2483212906656897E+01 + -0.2483600330853137E+01 + -0.2483987618699584E+01 + -0.2484374770000000E+01 + -0.2484761784626599E+01 + -0.2485148662725412E+01 + -0.2485535404510926E+01 + -0.2485922010197626E+01 + -0.2486308480000000E+01 + -0.2486694814066501E+01 + -0.2487081012281457E+01 + -0.2487467074463162E+01 + -0.2487853000429911E+01 + -0.2488238790000000E+01 + -0.2488624443027397E+01 + -0.2489009959508763E+01 + -0.2489395339476429E+01 + -0.2489780582962731E+01 + -0.2490165690000000E+01 + -0.2490550660623911E+01 + -0.2490935494883494E+01 + -0.2491320192831122E+01 + -0.2491704754519167E+01 + -0.2492089180000000E+01 + -0.2492473469276961E+01 + -0.2492857622157262E+01 + -0.2493241638399082E+01 + -0.2493625517760602E+01 + -0.2494009260000000E+01 + -0.2494392864988245E+01 + -0.2494776333047458E+01 + -0.2495159664612548E+01 + -0.2495542860118425E+01 + -0.2495925920000000E+01 + -0.2496308844530060E+01 + -0.2496691633332908E+01 + -0.2497074285870726E+01 + -0.2497456801605696E+01 + -0.2497839180000000E+01 + -0.2498221420651516E+01 + -0.2498603523700912E+01 + -0.2498985489424548E+01 + -0.2499367318098790E+01 + -0.2499749010000000E+01 + -0.2500130565343875E+01 + -0.2500511984103447E+01 + -0.2500893266191081E+01 + -0.2501274411519144E+01 + -0.2501655420000000E+01 + -0.2502036291572984E+01 + -0.2502417026285302E+01 + -0.2502797624211127E+01 + -0.2503178085424636E+01 + -0.2503558410000000E+01 + -0.2503938597964190E+01 + -0.2504318649155347E+01 + -0.2504698563364410E+01 + -0.2505078340382315E+01 + -0.2505457980000000E+01 + -0.2505837482090259E+01 + -0.2506216846853312E+01 + -0.2506596074571235E+01 + -0.2506975165526105E+01 + -0.2507354120000000E+01 + -0.2507732938154775E+01 + -0.2508111619671406E+01 + -0.2508490164110651E+01 + -0.2508868571033263E+01 + -0.2509246840000000E+01 + -0.2509624970730641E+01 + -0.2510002963581062E+01 + -0.2510380819066163E+01 + -0.2510758537700843E+01 + -0.2511136120000000E+01 + -0.2511513566282660E+01 + -0.2511890876084344E+01 + -0.2512268048744698E+01 + -0.2512645083603368E+01 + -0.2513021980000000E+01 + -0.2513398737498718E+01 + -0.2513775356561561E+01 + -0.2514151837875045E+01 + -0.2514528182125686E+01 + -0.2514904390000000E+01 + -0.2515280461962466E+01 + -0.2515656397589411E+01 + -0.2516032196235122E+01 + -0.2516407857253889E+01 + -0.2516783380000000E+01 + -0.2517158764011417E+01 + -0.2517534009560796E+01 + -0.2517909117104467E+01 + -0.2518284087098758E+01 + -0.2518658920000000E+01 + -0.2519033616151866E+01 + -0.2519408175447406E+01 + -0.2519782597667013E+01 + -0.2520156882591080E+01 + -0.2520531030000000E+01 + -0.2520905039701117E+01 + -0.2521278911609578E+01 + -0.2521652645667481E+01 + -0.2522026241816922E+01 + -0.2522399700000000E+01 + -0.2522773020163664E+01 + -0.2523146202274280E+01 + -0.2523519246303063E+01 + -0.2523892152221231E+01 + -0.2524264920000000E+01 + -0.2524637549644223E+01 + -0.2525010041293300E+01 + -0.2525382395120265E+01 + -0.2525754611298154E+01 + -0.2526126690000000E+01 + -0.2526498631339440E+01 + -0.2526870435192517E+01 + -0.2527242101375874E+01 + -0.2527613629706154E+01 + -0.2527985020000000E+01 + -0.2528356272118014E+01 + -0.2528727386096629E+01 + -0.2529098362016238E+01 + -0.2529469199957231E+01 + -0.2529839900000000E+01 + -0.2530210462188503E+01 + -0.2530580886420965E+01 + -0.2530951172559175E+01 + -0.2531321320464923E+01 + -0.2531691330000000E+01 + -0.2532061201047972E+01 + -0.2532430933579510E+01 + -0.2532800527587062E+01 + -0.2533169983063077E+01 + -0.2533539300000000E+01 + -0.2533908478419610E+01 + -0.2534277518460995E+01 + -0.2534646420292576E+01 + -0.2535015184082771E+01 + -0.2535383810000000E+01 + -0.2535752298153590E+01 + -0.2536120648416509E+01 + -0.2536488860602633E+01 + -0.2536856934525838E+01 + -0.2537224870000000E+01 + -0.2537592666886029E+01 + -0.2537960325232968E+01 + -0.2538327845136892E+01 + -0.2538695226693878E+01 + -0.2539062470000000E+01 + -0.2539429575102293E+01 + -0.2539796541851619E+01 + -0.2540163370049799E+01 + -0.2540530059498653E+01 + -0.2540896610000000E+01 + -0.2541263021424799E+01 + -0.2541629293920555E+01 + -0.2541995427703912E+01 + -0.2542361422991513E+01 + -0.2542727280000000E+01 + -0.2543092998878511E+01 + -0.2543458579506160E+01 + -0.2543824021694553E+01 + -0.2544189325255297E+01 + -0.2544554490000000E+01 + -0.2544919515781155E+01 + -0.2545284402614804E+01 + -0.2545649150557876E+01 + -0.2546013759667298E+01 + -0.2546378230000000E+01 + -0.2546742561596869E+01 + -0.2547106754434624E+01 + -0.2547470808473945E+01 + -0.2547834723675511E+01 + -0.2548198500000000E+01 + -0.2548562137431371E+01 + -0.2548925636046700E+01 + -0.2549288995946344E+01 + -0.2549652217230658E+01 + -0.2550015300000000E+01 + -0.2550378244277649E+01 + -0.2550741049778576E+01 + -0.2551103716140680E+01 + -0.2551466243001856E+01 + -0.2551828630000000E+01 + -0.2552190876898036E+01 + -0.2552552983958995E+01 + -0.2552914951570936E+01 + -0.2553276780121918E+01 + -0.2553638470000000E+01 + -0.2554000021490209E+01 + -0.2554361434465446E+01 + -0.2554722708695578E+01 + -0.2555083843950473E+01 + -0.2555444840000000E+01 + -0.2555805696661127E+01 + -0.2556166413939222E+01 + -0.2556526991886754E+01 + -0.2556887430556190E+01 + -0.2557247730000000E+01 + -0.2557607890265282E+01 + -0.2557967911377665E+01 + -0.2558327793357407E+01 + -0.2558687536224765E+01 + -0.2559047140000000E+01 + -0.2559406604677743E+01 + -0.2559765930150117E+01 + -0.2560125116283619E+01 + -0.2560484162944749E+01 + -0.2560843070000000E+01 + -0.2561201837343748E+01 + -0.2561560464981869E+01 + -0.2561918952948116E+01 + -0.2562277301276242E+01 + -0.2562635510000000E+01 + -0.2562993579147266E+01 + -0.2563351508722408E+01 + -0.2563709298723917E+01 + -0.2564066949150284E+01 + -0.2564424460000000E+01 + -0.2564781831267189E+01 + -0.2565139062928501E+01 + -0.2565496154956218E+01 + -0.2565853107322623E+01 + -0.2566209920000000E+01 + -0.2566566592983980E+01 + -0.2566923126363591E+01 + -0.2567279520251213E+01 + -0.2567635774759223E+01 + -0.2567991890000000E+01 + -0.2568347865996893E+01 + -0.2568703702417134E+01 + -0.2569059398838930E+01 + -0.2569414954840484E+01 + -0.2569770370000000E+01 + -0.2570125644068450E+01 + -0.2570480777487871E+01 + -0.2570835770873067E+01 + -0.2571190624838842E+01 + -0.2571545340000000E+01 + -0.2571899916769308E+01 + -0.2572254354751382E+01 + -0.2572608653348802E+01 + -0.2572962811964149E+01 + -0.2573316830000000E+01 + -0.2573670707014319E+01 + -0.2574024443186601E+01 + -0.2574378038851723E+01 + -0.2574731494344564E+01 + -0.2575084810000000E+01 + -0.2575437986053415E+01 + -0.2575791022342212E+01 + -0.2576143918604303E+01 + -0.2576496674577596E+01 + -0.2576849290000000E+01 + -0.2577201764692022E+01 + -0.2577554098804549E+01 + -0.2577906292571065E+01 + -0.2578258346225054E+01 + -0.2578610260000000E+01 + -0.2578962034058498E+01 + -0.2579313668279593E+01 + -0.2579665162471438E+01 + -0.2580016516442188E+01 + -0.2580367730000000E+01 + -0.2580718802993984E+01 + -0.2581069735437080E+01 + -0.2581420527383184E+01 + -0.2581771178886192E+01 + -0.2582121690000000E+01 + -0.2582472060765565E+01 + -0.2582822291172087E+01 + -0.2583172381195826E+01 + -0.2583522330813044E+01 + -0.2583872140000000E+01 + -0.2584221808743756E+01 + -0.2584571337074573E+01 + -0.2584920725033512E+01 + -0.2585269972661634E+01 + -0.2585619080000000E+01 + -0.2585968047059410E+01 + -0.2586316873729619E+01 + -0.2586665559870124E+01 + -0.2587014105340419E+01 + -0.2587362510000000E+01 + -0.2587710773738605E+01 + -0.2588058896566949E+01 + -0.2588406878525991E+01 + -0.2588754719656688E+01 + -0.2589102420000000E+01 + -0.2589449979586171E+01 + -0.2589797398402585E+01 + -0.2590144676425914E+01 + -0.2590491813632829E+01 + -0.2590838810000000E+01 + -0.2591185665516713E+01 + -0.2591532380222711E+01 + -0.2591878954170352E+01 + -0.2592225387411996E+01 + -0.2592571680000000E+01 + -0.2592917831946978E+01 + -0.2593263843106572E+01 + -0.2593609713292676E+01 + -0.2593955442319186E+01 + -0.2594301030000000E+01 + -0.2594646476215373E+01 + -0.2594991781111002E+01 + -0.2595336944898944E+01 + -0.2595681967791258E+01 + -0.2596026850000000E+01 + -0.2596371591671531E+01 + -0.2596716192689422E+01 + -0.2597060652871548E+01 + -0.2597404972035783E+01 + -0.2597749150000000E+01 + -0.2598093186618503E+01 + -0.2598437081891309E+01 + -0.2598780835854863E+01 + -0.2599124448545612E+01 + -0.2599467920000000E+01 + -0.2599811250254457E+01 + -0.2600154439345342E+01 + -0.2600497487308999E+01 + -0.2600840394181771E+01 + -0.2601183160000000E+01 + -0.2601525784763671E+01 + -0.2601868268327324E+01 + -0.2602210610509142E+01 + -0.2602552811127307E+01 + -0.2602894870000000E+01 + -0.2603236787010861E+01 + -0.2603578562305362E+01 + -0.2603920196094432E+01 + -0.2604261688589002E+01 + -0.2604603040000000E+01 + -0.2604944250472886E+01 + -0.2605285319891229E+01 + -0.2605626248073129E+01 + -0.2605967034836687E+01 + -0.2606307680000000E+01 + -0.2606648183417597E+01 + -0.2606988545089723E+01 + -0.2607328765053051E+01 + -0.2607668843344252E+01 + -0.2608008780000000E+01 + -0.2608348575056724E+01 + -0.2608688228549877E+01 + -0.2609027740514668E+01 + -0.2609367110986306E+01 + -0.2609706340000000E+01 + -0.2610045427555506E+01 + -0.2610384373510768E+01 + -0.2610723177688277E+01 + -0.2611061839910524E+01 + -0.2611400360000000E+01 + -0.2611738737841252E+01 + -0.2612076973567052E+01 + -0.2612415067372225E+01 + -0.2612753019451599E+01 + -0.2613090830000000E+01 + -0.2613428499159484E+01 + -0.2613766026861025E+01 + -0.2614103412982823E+01 + -0.2614440657403081E+01 + -0.2614777760000000E+01 + -0.2615114720640810E+01 + -0.2615451539148849E+01 + -0.2615788215336484E+01 + -0.2616124749016079E+01 + -0.2616461140000000E+01 + -0.2616797388197276E+01 + -0.2617133493903578E+01 + -0.2617469457511243E+01 + -0.2617805279412606E+01 + -0.2618140960000000E+01 + -0.2618476499530088E+01 + -0.2618811897716838E+01 + -0.2619147154138543E+01 + -0.2619482268373500E+01 + -0.2619817240000000E+01 + -0.2620152068722373E+01 + -0.2620486754749071E+01 + -0.2620821298414584E+01 + -0.2621155700053398E+01 + -0.2621489960000000E+01 + -0.2621824078460423E+01 + -0.2622158055126878E+01 + -0.2622491889563122E+01 + -0.2622825581332910E+01 + -0.2623159130000000E+01 + -0.2623492535275936E+01 + -0.2623825797463416E+01 + -0.2624158917012929E+01 + -0.2624491894374961E+01 + -0.2624824730000000E+01 + -0.2625157424195835E+01 + -0.2625489976699457E+01 + -0.2625822387105163E+01 + -0.2626154655007246E+01 + -0.2626486780000000E+01 + -0.2626818761780727E+01 + -0.2627150600458755E+01 + -0.2627482296246419E+01 + -0.2627813849356056E+01 + -0.2628145260000000E+01 + -0.2628476528361259E+01 + -0.2628807654505525E+01 + -0.2629138638469161E+01 + -0.2629469480288532E+01 + -0.2629800180000000E+01 + -0.2630130737574238E+01 + -0.2630461152719147E+01 + -0.2630791425076936E+01 + -0.2631121554289817E+01 + -0.2631451540000000E+01 + -0.2631781381981792E+01 + -0.2632111080537891E+01 + -0.2632440636103094E+01 + -0.2632770049112198E+01 + -0.2633099320000000E+01 + -0.2633428449058597E+01 + -0.2633757436009292E+01 + -0.2634086280430688E+01 + -0.2634414981901390E+01 + -0.2634743540000000E+01 + -0.2635071954423820E+01 + -0.2635400225344942E+01 + -0.2635728353054153E+01 + -0.2636056337842243E+01 + -0.2636384180000000E+01 + -0.2636711879726122E+01 + -0.2637039436850941E+01 + -0.2637366851112700E+01 + -0.2637694122249639E+01 + -0.2638021250000000E+01 + -0.2638348234191692E+01 + -0.2638675075011293E+01 + -0.2639001772735048E+01 + -0.2639328327639202E+01 + -0.2639654740000000E+01 + -0.2639981009987110E+01 + -0.2640307137343886E+01 + -0.2640633121707108E+01 + -0.2640958962713553E+01 + -0.2641284660000000E+01 + -0.2641610213299871E+01 + -0.2641935622733164E+01 + -0.2642260888516522E+01 + -0.2642586010866586E+01 + -0.2642910990000000E+01 + -0.2643235826093407E+01 + -0.2643560519163458E+01 + -0.2643885069186806E+01 + -0.2644209476140102E+01 + -0.2644533740000000E+01 + -0.2644857860726501E+01 + -0.2645181838213004E+01 + -0.2645505672336256E+01 + -0.2645829362973005E+01 + -0.2646152910000000E+01 + -0.2646476313320589E+01 + -0.2646799572944528E+01 + -0.2647122688908171E+01 + -0.2647445661247876E+01 + -0.2647768490000000E+01 + -0.2648091175191143E+01 + -0.2648413716808887E+01 + -0.2648736114831060E+01 + -0.2649058369235489E+01 + -0.2649380480000000E+01 + -0.2649702447114840E+01 + -0.2650024270619924E+01 + -0.2650345950567589E+01 + -0.2650667487010169E+01 + -0.2650988880000000E+01 + -0.2651310129549499E+01 + -0.2651631235511417E+01 + -0.2651952197698584E+01 + -0.2652273015923834E+01 + -0.2652593690000000E+01 + -0.2652914219807163E+01 + -0.2653234605494409E+01 + -0.2653554847278074E+01 + -0.2653874945374492E+01 + -0.2654194900000000E+01 + -0.2654514711301848E+01 + -0.2654834379150945E+01 + -0.2655153903349120E+01 + -0.2655473283698196E+01 + -0.2655792520000000E+01 + -0.2656111612105447E+01 + -0.2656430560061808E+01 + -0.2656749363965447E+01 + -0.2657068023912724E+01 + -0.2657386540000000E+01 + -0.2657704912276366E+01 + -0.2658023140601821E+01 + -0.2658341224789093E+01 + -0.2658659164650910E+01 + -0.2658976960000000E+01 + -0.2659294610709091E+01 + -0.2659612116890909E+01 + -0.2659929478718181E+01 + -0.2660246696363636E+01 + -0.2660563770000000E+01 + -0.2660880699767273E+01 + -0.2661197485674546E+01 + -0.2661514127698182E+01 + -0.2661830625814546E+01 + -0.2662146980000000E+01 + -0.2662463190221819E+01 + -0.2662779256410909E+01 + -0.2663095178489091E+01 + -0.2663410956378182E+01 + -0.2663726590000000E+01 + -0.2664042079265455E+01 + -0.2664357424041818E+01 + -0.2664672624185455E+01 + -0.2664987679552727E+01 + -0.2665302590000000E+01 + -0.2665617355436364E+01 + -0.2665931975981819E+01 + -0.2666246451809091E+01 + -0.2666560783090909E+01 + -0.2666874970000000E+01 + -0.2667189012669091E+01 + -0.2667502911070909E+01 + -0.2667816665138181E+01 + -0.2668130274803636E+01 + -0.2668443740000000E+01 + -0.2668757060687274E+01 + -0.2669070236934547E+01 + -0.2669383268838184E+01 + -0.2669696156494547E+01 + -0.2670008900000000E+01 + -0.2670321499381815E+01 + -0.2670633954390903E+01 + -0.2670946264709083E+01 + -0.2671258430018176E+01 + -0.2671570450000000E+01 + -0.2671882324425466E+01 + -0.2672194053421841E+01 + -0.2672505637205483E+01 + -0.2672817075992751E+01 + -0.2673128370000000E+01 + -0.2673439519396323E+01 + -0.2673750524161734E+01 + -0.2674061384228985E+01 + -0.2674372099530824E+01 + -0.2674682670000000E+01 + -0.2674993095589247E+01 + -0.2675303376331224E+01 + -0.2675613512278579E+01 + -0.2675923503483956E+01 + -0.2676233350000000E+01 + -0.2676543051846693E+01 + -0.2676852608913369E+01 + -0.2677162021056698E+01 + -0.2677471288133351E+01 + -0.2677780410000000E+01 + -0.2678089386543982E+01 + -0.2678398217775301E+01 + -0.2678706903734630E+01 + -0.2679015444462639E+01 + -0.2679323840000000E+01 + -0.2679632090377380E+01 + -0.2679940195585427E+01 + -0.2680248155604784E+01 + -0.2680555970416093E+01 + -0.2680863640000000E+01 + -0.2681171164346499E+01 + -0.2681478543482993E+01 + -0.2681785777446237E+01 + -0.2682092866272988E+01 + -0.2682399810000000E+01 + -0.2682706608636626E+01 + -0.2683013262082604E+01 + -0.2683319770210268E+01 + -0.2683626132891955E+01 + -0.2683932350000000E+01 + -0.2684238421427000E+01 + -0.2684544347146595E+01 + -0.2684850127152691E+01 + -0.2685155761439192E+01 + -0.2685461250000000E+01 + -0.2685766592855377E+01 + -0.2686071790131016E+01 + -0.2686376841978967E+01 + -0.2686681748551278E+01 + -0.2686986510000000E+01 + -0.2687291126431491E+01 + -0.2687595597769340E+01 + -0.2687899923891443E+01 + -0.2688204104675698E+01 + -0.2688508140000000E+01 + -0.2688812029738658E+01 + -0.2689115773751624E+01 + -0.2689419371895261E+01 + -0.2689722824025932E+01 + -0.2690026130000000E+01 + -0.2690329289733876E+01 + -0.2690632303384164E+01 + -0.2690935171167513E+01 + -0.2691237893300575E+01 + -0.2691540470000000E+01 + -0.2691842901405837E+01 + -0.2692145187351722E+01 + -0.2692447327594688E+01 + -0.2692749321891770E+01 + -0.2693051170000000E+01 + -0.2693352871762776E+01 + -0.2693654427368950E+01 + -0.2693955837093735E+01 + -0.2694257101212346E+01 + -0.2694558220000000E+01 + -0.2694859193623058E+01 + -0.2695160021812480E+01 + -0.2695460704190372E+01 + -0.2695761240378843E+01 + -0.2696061630000000E+01 + -0.2696361872784991E+01 + -0.2696661968901132E+01 + -0.2696961918624776E+01 + -0.2697261722232280E+01 + -0.2697561380000000E+01 + -0.2697860892116977E+01 + -0.2698160258422995E+01 + -0.2698459478670525E+01 + -0.2698758552612036E+01 + -0.2699057480000000E+01 + -0.2699356260667102E+01 + -0.2699654894766889E+01 + -0.2699953382533125E+01 + -0.2700251724199574E+01 + -0.2700549920000000E+01 + -0.2700847970094618E+01 + -0.2701145874349451E+01 + -0.2701443632556975E+01 + -0.2701741244509667E+01 + -0.2702038710000000E+01 + -0.2702336028874429E+01 + -0.2702633201195309E+01 + -0.2702930227078975E+01 + -0.2703227106641761E+01 + -0.2703523840000000E+01 + -0.2703820427207669E+01 + -0.2704116868069314E+01 + -0.2704413162327125E+01 + -0.2704709309723290E+01 + -0.2705005310000000E+01 + -0.2705301163014897E+01 + -0.2705596869087436E+01 + -0.2705892428652527E+01 + -0.2706187842145079E+01 + -0.2706483110000000E+01 + -0.2706778232492745E+01 + -0.2707073209260943E+01 + -0.2707368039782768E+01 + -0.2707662723536396E+01 + -0.2707957260000000E+01 + -0.2708251648774125E+01 + -0.2708545889948794E+01 + -0.2708839983736401E+01 + -0.2709133930349339E+01 + -0.2709427730000000E+01 + -0.2709721382890755E+01 + -0.2710014889183880E+01 + -0.2710308249031628E+01 + -0.2710601462586250E+01 + -0.2710894530000000E+01 + -0.2711187451342854E+01 + -0.2711480226355683E+01 + -0.2711772854697087E+01 + -0.2712065336025660E+01 + -0.2712357670000000E+01 + -0.2712649856377830E+01 + -0.2712941895313385E+01 + -0.2713233787060025E+01 + -0.2713525531871109E+01 + -0.2713817130000000E+01 + -0.2714108581625824E+01 + -0.2714399886630775E+01 + -0.2714691044822815E+01 + -0.2714982056009903E+01 + -0.2715272920000000E+01 + -0.2715563636638873E+01 + -0.2715854205923514E+01 + -0.2716144627888717E+01 + -0.2716434902569280E+01 + -0.2716725030000000E+01 + -0.2717015010218682E+01 + -0.2717304843275171E+01 + -0.2717594529222318E+01 + -0.2717884068112976E+01 + -0.2718173460000000E+01 + -0.2718462704886398E+01 + -0.2718751802575806E+01 + -0.2719040752822014E+01 + -0.2719329555378815E+01 + -0.2719618210000000E+01 + -0.2719906716555727E+01 + -0.2720195075381609E+01 + -0.2720483286929629E+01 + -0.2720771351651766E+01 + -0.2721059270000000E+01 + -0.2721347042250697E+01 + -0.2721634667977758E+01 + -0.2721922146579471E+01 + -0.2722209477454123E+01 + -0.2722496660000000E+01 + -0.2722783693801487E+01 + -0.2723070579187358E+01 + -0.2723357316672487E+01 + -0.2723643906771743E+01 + -0.2723930350000000E+01 + -0.2724216646703355E+01 + -0.2724502796552808E+01 + -0.2724788799050583E+01 + -0.2725074653698905E+01 + -0.2725360360000000E+01 + -0.2725645917625092E+01 + -0.2725931326921410E+01 + -0.2726216588405181E+01 + -0.2726501702592635E+01 + -0.2726786670000000E+01 + -0.2727071490956277E+01 + -0.2727356165041554E+01 + -0.2727640691648694E+01 + -0.2727925070170555E+01 + -0.2728209300000000E+01 + -0.2728493380709801E+01 + -0.2728777312592374E+01 + -0.2729061096120047E+01 + -0.2729344731765146E+01 + -0.2729628220000000E+01 + -0.2729911561164519E+01 + -0.2730194755068950E+01 + -0.2730477801391121E+01 + -0.2730760699808861E+01 + -0.2731043450000000E+01 + -0.2731326051752121E+01 + -0.2731608505291826E+01 + -0.2731890810955471E+01 + -0.2732172969079410E+01 + -0.2732454980000000E+01 + -0.2732736843906995E+01 + -0.2733018560403745E+01 + -0.2733300128946997E+01 + -0.2733581548993499E+01 + -0.2733862820000000E+01 + -0.2734143941579898E+01 + -0.2734424913973195E+01 + -0.2734705737576543E+01 + -0.2734986412786594E+01 + -0.2735266940000000E+01 + -0.2735547319533413E+01 + -0.2735827551383476E+01 + -0.2736107635466833E+01 + -0.2736387571700127E+01 + -0.2736667360000000E+01 + -0.2736947000286452E+01 + -0.2737226492492901E+01 + -0.2737505836556125E+01 + -0.2737785032412899E+01 + -0.2738064080000000E+01 + -0.2738342979240783E+01 + -0.2738621730004921E+01 + -0.2738900332148668E+01 + -0.2739178785528277E+01 + -0.2739457090000000E+01 + -0.2739735245470418E+01 + -0.2740013252047416E+01 + -0.2740291109889204E+01 + -0.2740568819153995E+01 + -0.2740846380000000E+01 + -0.2741123792557545E+01 + -0.2741401056845416E+01 + -0.2741678172854515E+01 + -0.2741955140575743E+01 + -0.2742231960000000E+01 + -0.2742508631099402E+01 + -0.2742785153770919E+01 + -0.2743061527892736E+01 + -0.2743337753343035E+01 + -0.2743613830000000E+01 + -0.2743889757764846E+01 + -0.2744165536630907E+01 + -0.2744441166614544E+01 + -0.2744716647732120E+01 + -0.2744991980000000E+01 + -0.2745267163441213E+01 + -0.2745542198105455E+01 + -0.2745817084049091E+01 + -0.2746091821328485E+01 + -0.2746366410000000E+01 + -0.2746640850070303E+01 + -0.2746915141347273E+01 + -0.2747189283589091E+01 + -0.2747463276553940E+01 + -0.2747737120000000E+01 + -0.2748010813797576E+01 + -0.2748284358265455E+01 + -0.2748557753834545E+01 + -0.2748831000935757E+01 + -0.2749104100000000E+01 + -0.2749377051299394E+01 + -0.2749649854470909E+01 + -0.2749922508992727E+01 + -0.2750195014343031E+01 + -0.2750467370000000E+01 + -0.2750739575564849E+01 + -0.2751011631130909E+01 + -0.2751283536914546E+01 + -0.2751555293132121E+01 + -0.2751826900000000E+01 + -0.2752098357721212E+01 + -0.2752369666445455E+01 + -0.2752640826309092E+01 + -0.2752911837448485E+01 + -0.2753182700000000E+01 + -0.2753453414030302E+01 + -0.2753723979327271E+01 + -0.2753994395609089E+01 + -0.2754264662593938E+01 + -0.2754534780000000E+01 + -0.2754804747597579E+01 + -0.2755074565365462E+01 + -0.2755344233334555E+01 + -0.2755613751535765E+01 + -0.2755883120000000E+01 + -0.2756152338779381E+01 + -0.2756421408010882E+01 + -0.2756690327852694E+01 + -0.2756959098463003E+01 + -0.2757227720000000E+01 + -0.2757496192564898E+01 + -0.2757764516031009E+01 + -0.2758032690214671E+01 + -0.2758300714932222E+01 + -0.2758568590000000E+01 + -0.2758836315281029E+01 + -0.2759103890825083E+01 + -0.2759371316728622E+01 + -0.2759638593088108E+01 + -0.2759905720000000E+01 + -0.2760172697510986E+01 + -0.2760439525468659E+01 + -0.2760706203670840E+01 + -0.2760972731915346E+01 + -0.2761239110000000E+01 + -0.2761505337795027E+01 + -0.2761771415460280E+01 + -0.2762037343228020E+01 + -0.2762303121330506E+01 + -0.2762568750000000E+01 + -0.2762834229388907E+01 + -0.2763099559330221E+01 + -0.2763364739577082E+01 + -0.2763629769882628E+01 + -0.2763894650000000E+01 + -0.2764159379769344E+01 + -0.2764423959378835E+01 + -0.2764688389103654E+01 + -0.2764952669218982E+01 + -0.2765216800000000E+01 + -0.2765480781613716E+01 + -0.2765744613794439E+01 + -0.2766008296168304E+01 + -0.2766271828361446E+01 + -0.2766535210000000E+01 + -0.2766798440815791E+01 + -0.2767061520963408E+01 + -0.2767324450703129E+01 + -0.2767587230295234E+01 + -0.2767849860000000E+01 + -0.2768112340003119E+01 + -0.2768374670191929E+01 + -0.2768636850379179E+01 + -0.2768898880377619E+01 + -0.2769160760000000E+01 + -0.2769422489091733E+01 + -0.2769684067628877E+01 + -0.2769945495620156E+01 + -0.2770206773074289E+01 + -0.2770467900000000E+01 + -0.2770728876429950E+01 + -0.2770989702492561E+01 + -0.2771250378340198E+01 + -0.2771510904125223E+01 + -0.2771771280000000E+01 + -0.2772031506068468E+01 + -0.2772291582240877E+01 + -0.2772551508379051E+01 + -0.2772811284344817E+01 + -0.2773070910000000E+01 + -0.2773330385216178E+01 + -0.2773589709903932E+01 + -0.2773848883983598E+01 + -0.2774107907375509E+01 + -0.2774366780000000E+01 + -0.2774625501786821E+01 + -0.2774884072703394E+01 + -0.2775142492726556E+01 + -0.2775400761833146E+01 + -0.2775658880000000E+01 + -0.2775916847236537E+01 + -0.2776174663682490E+01 + -0.2776432329510175E+01 + -0.2776689844891907E+01 + -0.2776947210000000E+01 + -0.2777204424947033E+01 + -0.2777461489606645E+01 + -0.2777718403792740E+01 + -0.2777975167319224E+01 + -0.2778231780000000E+01 + -0.2778488241695333E+01 + -0.2778744552450931E+01 + -0.2779000712358863E+01 + -0.2779256721511196E+01 + -0.2779512580000000E+01 + -0.2779768287871635E+01 + -0.2780023844989631E+01 + -0.2780279251171809E+01 + -0.2780534506235992E+01 + -0.2780789610000000E+01 + -0.2781044562338126E+01 + -0.2781299363350544E+01 + -0.2781554013193899E+01 + -0.2781808512024836E+01 + -0.2782062860000000E+01 + -0.2782317057255860E+01 + -0.2782571103848192E+01 + -0.2782824999812593E+01 + -0.2783078745184662E+01 + -0.2783332340000000E+01 + -0.2783585784238431E+01 + -0.2783839077656688E+01 + -0.2784092219955729E+01 + -0.2784345210836514E+01 + -0.2784598050000000E+01 + -0.2784850737230414E+01 + -0.2785103272645055E+01 + -0.2785355656444489E+01 + -0.2785607888829282E+01 + -0.2785859970000000E+01 + -0.2786111900119912E+01 + -0.2786363679203093E+01 + -0.2786615307226317E+01 + -0.2786866784166361E+01 + -0.2787118110000000E+01 + -0.2787369284689937E+01 + -0.2787620308142575E+01 + -0.2787871180250245E+01 + -0.2788121900905277E+01 + -0.2788372470000000E+01 + -0.2788622887440341E+01 + -0.2788873153186608E+01 + -0.2789123267212705E+01 + -0.2789373229492534E+01 + -0.2789623040000000E+01 + -0.2789872698748698E+01 + -0.2790122205910991E+01 + -0.2790371561698936E+01 + -0.2790620766324587E+01 + -0.2790869820000000E+01 + -0.2791118722844868E+01 + -0.2791367474609427E+01 + -0.2791616074951553E+01 + -0.2791864523529119E+01 + -0.2792112820000000E+01 + -0.2792360964111832E+01 + -0.2792608955971300E+01 + -0.2792856795774853E+01 + -0.2793104483718937E+01 + -0.2793352020000000E+01 + -0.2793599404787804E+01 + -0.2793846638145371E+01 + -0.2794093720109035E+01 + -0.2794340650715133E+01 + -0.2794587430000000E+01 + -0.2794834057936951E+01 + -0.2795080534247216E+01 + -0.2795326858589006E+01 + -0.2795573030620531E+01 + -0.2795819050000000E+01 + -0.2796064916504393E+01 + -0.2796310630385764E+01 + -0.2796556192014940E+01 + -0.2796801601762743E+01 + -0.2797046860000000E+01 + -0.2797291967005479E+01 + -0.2797536922689727E+01 + -0.2797781726871235E+01 + -0.2798026379368496E+01 + -0.2798270880000000E+01 + -0.2798515228593692E+01 + -0.2798759425015329E+01 + -0.2799003469140120E+01 + -0.2799247360843273E+01 + -0.2799491100000000E+01 + -0.2799734686539752E+01 + -0.2799978120608957E+01 + -0.2800221402408286E+01 + -0.2800464532138410E+01 + -0.2800707510000000E+01 + -0.2800950336127299E+01 + -0.2801193010388842E+01 + -0.2801435532586735E+01 + -0.2801677902523086E+01 + -0.2801920120000000E+01 + -0.2802162184871051E+01 + -0.2802404097195675E+01 + -0.2802645857084773E+01 + -0.2802887464649248E+01 + -0.2803128920000000E+01 + -0.2803370223188495E+01 + -0.2803611374028457E+01 + -0.2803852372274171E+01 + -0.2804093217679923E+01 + -0.2804333910000000E+01 + -0.2804574449094966E+01 + -0.2804814835250496E+01 + -0.2805055068858543E+01 + -0.2805295150311060E+01 + -0.2805535080000000E+01 + -0.2805774858191640E+01 + -0.2806014484649558E+01 + -0.2806253959011656E+01 + -0.2806493280915836E+01 + -0.2806732450000000E+01 + -0.2806971465978474E+01 + -0.2807210328871273E+01 + -0.2807449038774835E+01 + -0.2807687595785598E+01 + -0.2807926000000000E+01 + -0.2808164251494464E+01 + -0.2808402350265352E+01 + -0.2808640296289006E+01 + -0.2808878089541774E+01 + -0.2809115730000000E+01 + -0.2809353217643669E+01 + -0.2809590552467321E+01 + -0.2809827734469140E+01 + -0.2810064763647306E+01 + -0.2810301640000000E+01 + -0.2810538363530862E+01 + -0.2810774934265363E+01 + -0.2811011352234433E+01 + -0.2811247617469002E+01 + -0.2811483730000000E+01 + -0.2811719689832885E+01 + -0.2811955496871228E+01 + -0.2812191150993129E+01 + -0.2812426652076686E+01 + -0.2812662000000000E+01 + -0.2812897194657598E+01 + -0.2813132236009724E+01 + -0.2813367124033051E+01 + -0.2813601858704253E+01 + -0.2813836440000000E+01 + -0.2814070867936724E+01 + -0.2814305142689876E+01 + -0.2814539264474666E+01 + -0.2814773233506305E+01 + -0.2815007050000000E+01 + -0.2815240714075509E+01 + -0.2815474225470773E+01 + -0.2815707583828284E+01 + -0.2815940788790529E+01 + -0.2816173840000000E+01 + -0.2816406737201243E+01 + -0.2816639480547032E+01 + -0.2816872070292199E+01 + -0.2817104506691578E+01 + -0.2817336790000000E+01 + -0.2817568920399522E+01 + -0.2817800897781102E+01 + -0.2818032721962919E+01 + -0.2818264392763159E+01 + -0.2818495910000000E+01 + -0.2818727273520670E+01 + -0.2818958483288565E+01 + -0.2819189539296124E+01 + -0.2819420441535789E+01 + -0.2819651190000000E+01 + -0.2819881784717800E+01 + -0.2820112225864642E+01 + -0.2820342513652585E+01 + -0.2820572648293685E+01 + -0.2820802630000000E+01 + -0.2821032458888133E+01 + -0.2821262134692869E+01 + -0.2821491657053538E+01 + -0.2821721025609472E+01 + -0.2821950240000000E+01 + -0.2822179299969669E+01 + -0.2822408205683884E+01 + -0.2822636957413264E+01 + -0.2822865555428429E+01 + -0.2823094000000000E+01 + -0.2823322291313192E+01 + -0.2823550429211598E+01 + -0.2823778413453409E+01 + -0.2824006243796813E+01 + -0.2824233920000000E+01 + -0.2824461441897565E+01 + -0.2824688809629725E+01 + -0.2824916023413102E+01 + -0.2825143083464320E+01 + -0.2825369990000000E+01 + -0.2825596743176549E+01 + -0.2825823342909503E+01 + -0.2826049789054184E+01 + -0.2826276081465909E+01 + -0.2826502220000000E+01 + -0.2826728204516240E+01 + -0.2826954034892262E+01 + -0.2827179711010165E+01 + -0.2827405232752045E+01 + -0.2827630600000000E+01 + -0.2827855812678493E+01 + -0.2828080870881449E+01 + -0.2828305774745158E+01 + -0.2828530524405911E+01 + -0.2828755120000000E+01 + -0.2828979561649789E+01 + -0.2829203849421944E+01 + -0.2829427983369204E+01 + -0.2829651963544310E+01 + -0.2829875790000000E+01 + -0.2830099462722350E+01 + -0.2830322981430776E+01 + -0.2830546345778025E+01 + -0.2830769555416850E+01 + -0.2830992610000000E+01 + -0.2831215509300810E+01 + -0.2831438253574955E+01 + -0.2831660843198695E+01 + -0.2831883278548290E+01 + -0.2832105560000000E+01 + -0.2832327687834410E+01 + -0.2832549661949405E+01 + -0.2832771482147195E+01 + -0.2832993148229990E+01 + -0.2833214660000000E+01 + -0.2833436017281549E+01 + -0.2833657219987424E+01 + -0.2833878268052524E+01 + -0.2834099161411749E+01 + -0.2834319900000000E+01 + -0.2834540483759393E+01 + -0.2834760912660900E+01 + -0.2834981186682711E+01 + -0.2835201305803015E+01 + -0.2835421270000000E+01 + -0.2835641079280881E+01 + -0.2835860733768977E+01 + -0.2836080233616633E+01 + -0.2836299578976192E+01 + -0.2836518770000000E+01 + -0.2836737806797083E+01 + -0.2836956689303192E+01 + -0.2837175417410759E+01 + -0.2837393991012218E+01 + -0.2837612410000000E+01 + -0.2837830674250788E+01 + -0.2838048783578257E+01 + -0.2838266737780332E+01 + -0.2838484536654938E+01 + -0.2838702180000000E+01 + -0.2838919667719766E+01 + -0.2839137000143781E+01 + -0.2839354177707913E+01 + -0.2839571200848030E+01 + -0.2839788070000000E+01 + -0.2840004785430148E+01 + -0.2840221346726620E+01 + -0.2840437753308018E+01 + -0.2840654004592944E+01 + -0.2840870100000000E+01 + -0.2841086039119642E+01 + -0.2841301822229740E+01 + -0.2841517449780016E+01 + -0.2841732922220195E+01 + -0.2841948240000000E+01 + -0.2842163403451284E+01 + -0.2842378412434421E+01 + -0.2842593266691917E+01 + -0.2842807965966275E+01 + -0.2843022510000000E+01 + -0.2843236898595222E+01 + -0.2843451131792575E+01 + -0.2843665209692316E+01 + -0.2843879132394705E+01 + -0.2844092900000000E+01 + -0.2844306512567827E+01 + -0.2844519969995280E+01 + -0.2844733272138819E+01 + -0.2844946418854905E+01 + -0.2845159410000000E+01 + -0.2845372245453470E+01 + -0.2845584925186307E+01 + -0.2845797449192409E+01 + -0.2846009817465674E+01 + -0.2846222030000000E+01 + -0.2846434086818293E+01 + -0.2846645988059493E+01 + -0.2846857733891546E+01 + -0.2847069324482400E+01 + -0.2847280760000000E+01 + -0.2847492040553356E+01 + -0.2847703166015720E+01 + -0.2847914136201406E+01 + -0.2848124950924728E+01 + -0.2848335610000000E+01 + -0.2848546113288283E+01 + -0.2848756460837628E+01 + -0.2848966652742830E+01 + -0.2849176689098689E+01 + -0.2849386570000000E+01 + -0.2849596295493512E+01 + -0.2849805865433770E+01 + -0.2850015279627273E+01 + -0.2850224537880517E+01 + -0.2850433640000000E+01 + -0.2850642585857671E+01 + -0.2850851375587291E+01 + -0.2851060009388077E+01 + -0.2851268487459241E+01 + -0.2851476810000000E+01 + -0.2851684977155806E+01 + -0.2851892988857065E+01 + -0.2852100844980421E+01 + -0.2852308545402518E+01 + -0.2852516090000000E+01 + -0.2852723478639105E+01 + -0.2852930711144449E+01 + -0.2853137787330240E+01 + -0.2853344707010687E+01 + -0.2853551470000000E+01 + -0.2853758076207774E+01 + -0.2853964525925142E+01 + -0.2854170819538622E+01 + -0.2854376957434735E+01 + -0.2854582940000000E+01 + -0.2854788767489800E+01 + -0.2854994439634986E+01 + -0.2855199956035271E+01 + -0.2855405316290371E+01 + -0.2855610520000000E+01 + -0.2855815566873024E+01 + -0.2856020457054914E+01 + -0.2856225190800292E+01 + -0.2856429768363780E+01 + -0.2856634190000000E+01 + -0.2856838455898103E+01 + -0.2857042565985358E+01 + -0.2857246520123561E+01 + -0.2857450318174509E+01 + -0.2857653960000000E+01 + -0.2857857445454563E+01 + -0.2858060774363655E+01 + -0.2858263946545465E+01 + -0.2858466961818184E+01 + -0.2858669820000000E+01 + -0.2858872521003645E+01 + -0.2859075065120023E+01 + -0.2859277452734578E+01 + -0.2859479684232755E+01 + -0.2859681760000000E+01 + -0.2859883680290855E+01 + -0.2860085444836253E+01 + -0.2860287053236222E+01 + -0.2860488505090795E+01 + -0.2860689800000000E+01 + -0.2860890937672935E+01 + -0.2861091918254967E+01 + -0.2861292742000532E+01 + -0.2861493409164065E+01 + -0.2861693920000000E+01 + -0.2861894274697405E+01 + -0.2862094473183878E+01 + -0.2862294515321648E+01 + -0.2862494400972945E+01 + -0.2862694130000000E+01 + -0.2862893702257444E+01 + -0.2863093117569521E+01 + -0.2863292375752875E+01 + -0.2863491476624153E+01 + -0.2863690420000000E+01 + -0.2863889205792819E+01 + -0.2864087834298040E+01 + -0.2864286305906851E+01 + -0.2864484621010442E+01 + -0.2864682780000000E+01 + -0.2864880783131282E+01 + -0.2865078630118322E+01 + -0.2865276320539720E+01 + -0.2865473853974079E+01 + -0.2865671230000000E+01 + -0.2865868448322052E+01 + -0.2866065509148673E+01 + -0.2866262412814269E+01 + -0.2866459159653243E+01 + -0.2866655750000000E+01 + -0.2866852184060509E+01 + -0.2867048461526985E+01 + -0.2867244581963206E+01 + -0.2867440544932952E+01 + -0.2867636350000000E+01 + -0.2867831996875913E+01 + -0.2868027485863387E+01 + -0.2868222817412906E+01 + -0.2868417991974950E+01 + -0.2868613010000000E+01 + -0.2868807871795840E+01 + -0.2869002577099465E+01 + -0.2869197125505169E+01 + -0.2869391516607249E+01 + -0.2869585750000000E+01 + -0.2869779825380725E+01 + -0.2869973742858753E+01 + -0.2870167502646417E+01 + -0.2870361104956055E+01 + -0.2870554550000000E+01 + -0.2870747837961260E+01 + -0.2870940968905526E+01 + -0.2871133942869162E+01 + -0.2871326759888532E+01 + -0.2871519420000000E+01 + -0.2871711923174237E+01 + -0.2871904269119144E+01 + -0.2872096457476934E+01 + -0.2872288487889816E+01 + -0.2872480360000000E+01 + -0.2872672073581795E+01 + -0.2872863628937897E+01 + -0.2873055026503102E+01 + -0.2873246266712204E+01 + -0.2873437350000000E+01 + -0.2873628276658586E+01 + -0.2873819046409269E+01 + -0.2874009658830660E+01 + -0.2874200113501367E+01 + -0.2874390410000000E+01 + -0.2874580548023862E+01 + -0.2874770527745027E+01 + -0.2874960349454259E+01 + -0.2875150013442329E+01 + -0.2875339520000000E+01 + -0.2875528869325966E+01 + -0.2875718061250625E+01 + -0.2875907095512302E+01 + -0.2876095971849318E+01 + -0.2876284690000000E+01 + -0.2876473249792273E+01 + -0.2876661651412472E+01 + -0.2876849895136534E+01 + -0.2877037981240398E+01 + -0.2877225910000000E+01 + -0.2877413681584942E+01 + -0.2877601295739488E+01 + -0.2877788752101561E+01 + -0.2877976050309090E+01 + -0.2878163190000000E+01 + -0.2878350170907956E+01 + -0.2878536993149578E+01 + -0.2878723656937221E+01 + -0.2878910162483242E+01 + -0.2879096510000000E+01 + -0.2879282699663232E+01 + -0.2879468731502203E+01 + -0.2879654605509557E+01 + -0.2879840321677941E+01 + -0.2880025880000000E+01 + -0.2880211280439115E+01 + -0.2880396522841611E+01 + -0.2880581607024551E+01 + -0.2880766532804993E+01 + -0.2880951300000000E+01 + -0.2881135908500307E+01 + -0.2881320358491351E+01 + -0.2881504650232240E+01 + -0.2881688783982087E+01 + -0.2881872760000000E+01 + -0.2882056578439655E+01 + -0.2882240239032985E+01 + -0.2882423741406488E+01 + -0.2882607085186660E+01 + -0.2882790270000000E+01 + -0.2882973295581072E+01 + -0.2883156162096708E+01 + -0.2883338869821809E+01 + -0.2883521419031273E+01 + -0.2883703810000000E+01 + -0.2883886042916057E+01 + -0.2884068117620182E+01 + -0.2884250033866278E+01 + -0.2884431791408249E+01 + -0.2884613390000000E+01 + -0.2884794829474699E+01 + -0.2884976109982564E+01 + -0.2885157231753081E+01 + -0.2885338195015732E+01 + -0.2885519000000000E+01 + -0.2885699646865148E+01 + -0.2885880135489560E+01 + -0.2886060465681398E+01 + -0.2886240637248823E+01 + -0.2886420650000000E+01 + -0.2886600503784707E+01 + -0.2886780198619194E+01 + -0.2886959734561327E+01 + -0.2887139111668974E+01 + -0.2887318330000000E+01 + -0.2887497389596023E+01 + -0.2887676290433663E+01 + -0.2887855032473292E+01 + -0.2888033615675281E+01 + -0.2888212040000000E+01 + -0.2888390305431201E+01 + -0.2888568412046153E+01 + -0.2888746359945504E+01 + -0.2888924149229903E+01 + -0.2889101780000000E+01 + -0.2889279252279173E+01 + -0.2889456565781726E+01 + -0.2889633720144693E+01 + -0.2889810715005106E+01 + -0.2889987550000000E+01 + -0.2890164224892105E+01 + -0.2890340739946940E+01 + -0.2890517095555724E+01 + -0.2890693292109671E+01 + -0.2890869330000000E+01 + -0.2891045209512407E+01 + -0.2891220930510511E+01 + -0.2891396492752412E+01 + -0.2891571895996208E+01 + -0.2891747140000000E+01 + -0.2891922224578268E+01 + -0.2892097149771016E+01 + -0.2892271915674630E+01 + -0.2892446522385496E+01 + -0.2892620970000000E+01 + -0.2892795258574522E+01 + -0.2892969388005426E+01 + -0.2893143358149068E+01 + -0.2893317168861807E+01 + -0.2893490820000000E+01 + -0.2893664311443642E+01 + -0.2893837643167280E+01 + -0.2894010815169097E+01 + -0.2894183827447275E+01 + -0.2894356680000000E+01 + -0.2894529372850908E+01 + -0.2894701906125453E+01 + -0.2894874279974544E+01 + -0.2895046494549090E+01 + -0.2895218550000000E+01 + -0.2895390446432728E+01 + -0.2895562183770909E+01 + -0.2895733761892727E+01 + -0.2895905180676363E+01 + -0.2896076440000000E+01 + -0.2896247539738182E+01 + -0.2896418479750910E+01 + -0.2896589259894547E+01 + -0.2896759880025456E+01 + -0.2896930340000000E+01 + -0.2897100639734542E+01 + -0.2897270779385448E+01 + -0.2897440759169083E+01 + -0.2897610579301812E+01 + -0.2897780240000000E+01 + -0.2897949741403648E+01 + -0.2898119083347295E+01 + -0.2898288265589120E+01 + -0.2898457287887296E+01 + -0.2898626150000000E+01 + -0.2898794851770868E+01 + -0.2898963393385370E+01 + -0.2899131775114439E+01 + -0.2899299997229005E+01 + -0.2899468060000000E+01 + -0.2899635963592882E+01 + -0.2899803707751224E+01 + -0.2899971292113125E+01 + -0.2900138716316684E+01 + -0.2900305980000000E+01 + -0.2900473082897602E+01 + -0.2900640025129732E+01 + -0.2900806806913062E+01 + -0.2900973428464260E+01 + -0.2901139890000000E+01 + -0.2901306191696709E+01 + -0.2901472333569847E+01 + -0.2901638315594631E+01 + -0.2901804137746276E+01 + -0.2901969800000000E+01 + -0.2902135302315561E+01 + -0.2902300644590879E+01 + -0.2902465826708417E+01 + -0.2902630848550637E+01 + -0.2902795710000000E+01 + -0.2902960410961048E+01 + -0.2903124951426637E+01 + -0.2903289331411702E+01 + -0.2903453550931178E+01 + -0.2903617610000000E+01 + -0.2903781508640247E+01 + -0.2903945246902573E+01 + -0.2904108824844776E+01 + -0.2904272242524652E+01 + -0.2904435500000000E+01 + -0.2904598597277964E+01 + -0.2904761534163070E+01 + -0.2904924310409196E+01 + -0.2905086925770215E+01 + -0.2905249380000000E+01 + -0.2905411672967899E+01 + -0.2905573805005144E+01 + -0.2905735776558440E+01 + -0.2905897588074490E+01 + -0.2906059240000000E+01 + -0.2906220732610441E+01 + -0.2906382065496353E+01 + -0.2906543238077044E+01 + -0.2906704249771824E+01 + -0.2906865100000000E+01 + -0.2907025788350339E+01 + -0.2907186315089445E+01 + -0.2907346680653382E+01 + -0.2907506885478212E+01 + -0.2907666930000000E+01 + -0.2907826814548204E+01 + -0.2907986539025867E+01 + -0.2908146103229429E+01 + -0.2908305506955326E+01 + -0.2908464750000000E+01 + -0.2908623832176844E+01 + -0.2908782753367085E+01 + -0.2908941513468903E+01 + -0.2909100112380481E+01 + -0.2909258550000000E+01 + -0.2909416826264418E+01 + -0.2909574941265792E+01 + -0.2909732895134958E+01 + -0.2909890688002749E+01 + -0.2910048320000000E+01 + -0.2910205791245486E+01 + -0.2910363101809748E+01 + -0.2910520251751266E+01 + -0.2910677241128523E+01 + -0.2910834070000000E+01 + -0.2910990738353638E+01 + -0.2911147245895218E+01 + -0.2911303592259979E+01 + -0.2911459777083159E+01 + -0.2911615800000000E+01 + -0.2911771660779960E+01 + -0.2911927359729380E+01 + -0.2912082897288819E+01 + -0.2912238273898840E+01 + -0.2912393490000000E+01 + -0.2912548545886521E+01 + -0.2912703441267263E+01 + -0.2912858175704743E+01 + -0.2913012748761483E+01 + -0.2913167160000000E+01 + -0.2913321409113955E+01 + -0.2913475496321570E+01 + -0.2913629421972207E+01 + -0.2913783186415230E+01 + -0.2913936790000000E+01 + -0.2914090232937660E+01 + -0.2914243514886460E+01 + -0.2914396635366430E+01 + -0.2914549593897600E+01 + -0.2914702390000000E+01 + -0.2914855023375408E+01 + -0.2915007494452593E+01 + -0.2915159803842075E+01 + -0.2915311952154371E+01 + -0.2915463940000000E+01 + -0.2915615767800710E+01 + -0.2915767435223168E+01 + -0.2915918941745271E+01 + -0.2916070286844916E+01 + -0.2916221470000000E+01 + -0.2916372490781752E+01 + -0.2916523349134734E+01 + -0.2916674045096840E+01 + -0.2916824578705964E+01 + -0.2916974950000000E+01 + -0.2917125159072282E+01 + -0.2917275206237896E+01 + -0.2917425091867370E+01 + -0.2917574816331229E+01 + -0.2917724380000000E+01 + -0.2917873783089121E+01 + -0.2918023025193682E+01 + -0.2918172105753681E+01 + -0.2918321024209120E+01 + -0.2918469780000000E+01 + -0.2918618372731233E+01 + -0.2918766802667378E+01 + -0.2918915070237907E+01 + -0.2919063175872291E+01 + -0.2919211120000000E+01 + -0.2919358902945947E+01 + -0.2919506524616805E+01 + -0.2919653984814691E+01 + -0.2919801283341717E+01 + -0.2919948420000000E+01 + -0.2920095394604979E+01 + -0.2920242207025399E+01 + -0.2920388857143329E+01 + -0.2920535344840840E+01 + -0.2920681670000000E+01 + -0.2920827832554136E+01 + -0.2920973832641598E+01 + -0.2921119670451991E+01 + -0.2921265346174923E+01 + -0.2921410860000000E+01 + -0.2921556212058477E+01 + -0.2921701402248210E+01 + -0.2921846430408706E+01 + -0.2921991296379467E+01 + -0.2922136000000000E+01 + -0.2922280541131955E+01 + -0.2922424919725560E+01 + -0.2922569135753187E+01 + -0.2922713189187210E+01 + -0.2922857080000000E+01 + -0.2923000808213703E+01 + -0.2923144374049550E+01 + -0.2923287777778546E+01 + -0.2923431019671695E+01 + -0.2923574100000000E+01 + -0.2923717018893234E+01 + -0.2923859775916240E+01 + -0.2924002370492629E+01 + -0.2924144802046012E+01 + -0.2924287070000000E+01 + -0.2924429173973361E+01 + -0.2924571114365489E+01 + -0.2924712891770938E+01 + -0.2924854506784257E+01 + -0.2924995960000000E+01 + -0.2925137251853323E+01 + -0.2925278382141802E+01 + -0.2925419350503620E+01 + -0.2925560156576958E+01 + -0.2925700800000000E+01 + -0.2925841280453349E+01 + -0.2925981597787303E+01 + -0.2926121751894583E+01 + -0.2926261742667908E+01 + -0.2926401570000000E+01 + -0.2926541233853281E+01 + -0.2926680734468985E+01 + -0.2926820072158048E+01 + -0.2926959247231408E+01 + -0.2927098260000000E+01 + -0.2927237110693528E+01 + -0.2927375799216758E+01 + -0.2927514325393225E+01 + -0.2927652689046461E+01 + -0.2927790890000000E+01 + -0.2927928928092608E+01 + -0.2928066803223982E+01 + -0.2928204515309052E+01 + -0.2928342064262749E+01 + -0.2928479450000000E+01 + -0.2928616672456040E+01 + -0.2928753731647313E+01 + -0.2928890627610565E+01 + -0.2929027360382545E+01 + -0.2929163930000000E+01 + -0.2929300336483232E+01 + -0.2929436579786768E+01 + -0.2929572659848687E+01 + -0.2929708576607071E+01 + -0.2929844330000000E+01 + -0.2929979920011030E+01 + -0.2930115346805616E+01 + -0.2930250610594688E+01 + -0.2930385711589172E+01 + -0.2930520650000000E+01 + -0.2930655425952646E+01 + -0.2930790039230766E+01 + -0.2930924489532563E+01 + -0.2931058776556240E+01 + -0.2931192900000000E+01 + -0.2931326859618388E+01 + -0.2931460655391321E+01 + -0.2931594287355060E+01 + -0.2931727755545866E+01 + -0.2931861060000000E+01 + -0.2931994200773805E+01 + -0.2932127178003952E+01 + -0.2932259991847197E+01 + -0.2932392642460295E+01 + -0.2932525130000000E+01 + -0.2932657454566395E+01 + -0.2932789616032872E+01 + -0.2932921614216151E+01 + -0.2933053448932954E+01 + -0.2933185120000000E+01 + -0.2933316627280618E+01 + -0.2933447970824563E+01 + -0.2933579150728199E+01 + -0.2933710167087890E+01 + -0.2933841020000000E+01 + -0.2933971709511135E+01 + -0.2934102235468878E+01 + -0.2934232597671052E+01 + -0.2934362795915485E+01 + -0.2934492830000000E+01 + -0.2934622699794842E+01 + -0.2934752405459927E+01 + -0.2934881947227591E+01 + -0.2935011325330170E+01 + -0.2935140540000000E+01 + -0.2935269591389499E+01 + -0.2935398479331416E+01 + -0.2935527203578584E+01 + -0.2935655763883834E+01 + -0.2935784160000000E+01 + -0.2935912391767163E+01 + -0.2936040459374409E+01 + -0.2936168363098074E+01 + -0.2936296103214492E+01 + -0.2936423680000000E+01 + -0.2936551093621847E+01 + -0.2936678343810946E+01 + -0.2936805430189120E+01 + -0.2936932352378196E+01 + -0.2937059110000000E+01 + -0.2937185702785447E+01 + -0.2937312130901809E+01 + -0.2937438394625447E+01 + -0.2937564494232723E+01 + -0.2937690430000000E+01 + -0.2937816202116366E+01 + -0.2937941810421821E+01 + -0.2938067254669093E+01 + -0.2938192534610911E+01 + -0.2938317650000000E+01 + -0.2938442600669090E+01 + -0.2938567386770908E+01 + -0.2938692008538181E+01 + -0.2938816466203636E+01 + -0.2938940760000000E+01 + -0.2939064890087274E+01 + -0.2939188856334547E+01 + -0.2939312658538184E+01 + -0.2939436296494547E+01 + -0.2939559770000000E+01 + -0.2939683078901815E+01 + -0.2939806223250903E+01 + -0.2939929203149083E+01 + -0.2940052018698176E+01 + -0.2940174670000000E+01 + -0.2940297157105466E+01 + -0.2940419479861841E+01 + -0.2940541638065483E+01 + -0.2940663631512750E+01 + -0.2940785460000000E+01 + -0.2940907123396322E+01 + -0.2941028621861733E+01 + -0.2941149955628984E+01 + -0.2941271124930823E+01 + -0.2941392130000000E+01 + -0.2941512970989246E+01 + -0.2941633647731225E+01 + -0.2941754159978580E+01 + -0.2941874507483957E+01 + -0.2941994690000000E+01 + -0.2942114707366693E+01 + -0.2942234559773369E+01 + -0.2942354247496698E+01 + -0.2942473770813352E+01 + -0.2942593130000000E+01 + -0.2942712325223982E+01 + -0.2942831356215301E+01 + -0.2942950222594629E+01 + -0.2943068923982638E+01 + -0.2943187460000000E+01 + -0.2943305830377381E+01 + -0.2943424035285428E+01 + -0.2943542075004785E+01 + -0.2943659949816095E+01 + -0.2943777660000000E+01 + -0.2943895205746496E+01 + -0.2944012586882987E+01 + -0.2944129803146230E+01 + -0.2944246854272982E+01 + -0.2944363740000000E+01 + -0.2944480460156636E+01 + -0.2944597014942624E+01 + -0.2944713404650294E+01 + -0.2944829629571976E+01 + -0.2944945690000000E+01 + -0.2945061586106961E+01 + -0.2945177317586517E+01 + -0.2945292884012593E+01 + -0.2945408284959112E+01 + -0.2945523520000000E+01 + -0.2945638588855521E+01 + -0.2945753491831309E+01 + -0.2945868229379336E+01 + -0.2945982801951574E+01 + -0.2946097210000000E+01 + -0.2946211453830953E+01 + -0.2946325533168248E+01 + -0.2946439447590066E+01 + -0.2946553196674590E+01 + -0.2946666780000000E+01 + -0.2946780197260665E+01 + -0.2946893448615700E+01 + -0.2947006534340400E+01 + -0.2947119454710067E+01 + -0.2947232210000000E+01 + -0.2947344800406385E+01 + -0.2947457225808956E+01 + -0.2947569486008335E+01 + -0.2947681580805142E+01 + -0.2947793510000000E+01 + -0.2947905273433795E+01 + -0.2948016871108478E+01 + -0.2948128303066262E+01 + -0.2948239569349365E+01 + -0.2948350670000000E+01 + -0.2948461605058434E+01 + -0.2948572374557133E+01 + -0.2948682978526616E+01 + -0.2948793416997399E+01 + -0.2948903690000000E+01 + -0.2949013797532470E+01 + -0.2949123739462990E+01 + -0.2949233515627275E+01 + -0.2949343125861040E+01 + -0.2949452570000000E+01 + -0.2949561847931688E+01 + -0.2949670959750908E+01 + -0.2949779905604284E+01 + -0.2949888685638441E+01 + -0.2949997300000000E+01 + -0.2950105748820781E+01 + -0.2950214032173379E+01 + -0.2950322150115587E+01 + -0.2950430102705197E+01 + -0.2950537890000000E+01 + -0.2950645511985191E+01 + -0.2950752968355576E+01 + -0.2950860258733366E+01 + -0.2950967382740771E+01 + -0.2951074340000000E+01 + -0.2951181130278457E+01 + -0.2951287753924316E+01 + -0.2951394211430948E+01 + -0.2951500503291719E+01 + -0.2951606630000000E+01 + -0.2951712591860984E+01 + -0.2951818388427160E+01 + -0.2951924019062844E+01 + -0.2952029483132353E+01 + -0.2952134780000000E+01 + -0.2952239909237611E+01 + -0.2952344871247047E+01 + -0.2952449666637676E+01 + -0.2952554296018871E+01 + -0.2952658760000000E+01 + -0.2952763059028573E+01 + -0.2952867192904655E+01 + -0.2952971161266451E+01 + -0.2953074963752164E+01 + -0.2953178600000000E+01 + -0.2953282069688098E+01 + -0.2953385372654334E+01 + -0.2953488508776522E+01 + -0.2953591477932473E+01 + -0.2953694280000000E+01 + -0.2953796914939038E+01 + -0.2953899383038010E+01 + -0.2954001684667464E+01 + -0.2954103820197945E+01 + -0.2954205790000000E+01 + -0.2954307594315751E+01 + -0.2954409232873624E+01 + -0.2954510705273622E+01 + -0.2954612011115747E+01 + -0.2954713150000000E+01 + -0.2954814121637958E+01 + -0.2954914926187492E+01 + -0.2955015563918047E+01 + -0.2955116035099068E+01 + -0.2955216340000000E+01 + -0.2955316478812418E+01 + -0.2955416451416409E+01 + -0.2955516257614192E+01 + -0.2955615897207983E+01 + -0.2955715370000000E+01 + -0.2955814675832373E+01 + -0.2955913814706873E+01 + -0.2956012786665188E+01 + -0.2956111591749002E+01 + -0.2956210230000000E+01 + -0.2956308701458093E+01 + -0.2956407006156097E+01 + -0.2956505144125055E+01 + -0.2956603115396009E+01 + -0.2956700920000000E+01 + -0.2956798557935255E+01 + -0.2956896029068736E+01 + -0.2956993333234590E+01 + -0.2957090470266962E+01 + -0.2957187440000000E+01 + -0.2957284242320887E+01 + -0.2957380877328957E+01 + -0.2957477345176585E+01 + -0.2957573646016141E+01 + -0.2957669780000000E+01 + -0.2957765747261198E+01 + -0.2957861547855434E+01 + -0.2957957181819071E+01 + -0.2958052649188472E+01 + -0.2958147950000000E+01 + -0.2958243084234320E+01 + -0.2958338051649305E+01 + -0.2958432851947130E+01 + -0.2958527484829970E+01 + -0.2958621950000000E+01 + -0.2958716247241522E+01 + -0.2958810376667346E+01 + -0.2958904338472409E+01 + -0.2958998132851648E+01 + -0.2959091760000000E+01 + -0.2959185220079593E+01 + -0.2959278513121312E+01 + -0.2959371639123235E+01 + -0.2959464598083439E+01 + -0.2959557390000000E+01 + -0.2959650014840108E+01 + -0.2959742472447406E+01 + -0.2959834762634650E+01 + -0.2959926885214597E+01 + -0.2960018840000000E+01 + -0.2960110626879974E+01 + -0.2960202246049062E+01 + -0.2960293697778163E+01 + -0.2960384982338176E+01 + -0.2960476100000000E+01 + -0.2960567050919994E+01 + -0.2960657834796345E+01 + -0.2960748451212699E+01 + -0.2960838899752702E+01 + -0.2960929180000000E+01 + -0.2961019291680051E+01 + -0.2961109235085559E+01 + -0.2961199010651042E+01 + -0.2961288618811017E+01 + -0.2961378060000000E+01 + -0.2961467334519803E+01 + -0.2961556442141418E+01 + -0.2961645382503132E+01 + -0.2961734155243231E+01 + -0.2961822760000000E+01 + -0.2961911196480736E+01 + -0.2961999464668766E+01 + -0.2962087564616429E+01 + -0.2962175496376061E+01 + -0.2962263260000000E+01 + -0.2962350855557253E+01 + -0.2962438283183516E+01 + -0.2962525543031151E+01 + -0.2962612635252524E+01 + -0.2962699560000000E+01 + -0.2962786317370250E+01 + -0.2962872907237170E+01 + -0.2962959329418966E+01 + -0.2963045583733841E+01 + -0.2963131670000000E+01 + -0.2963217588081749E+01 + -0.2963303338027804E+01 + -0.2963388919932984E+01 + -0.2963474333892110E+01 + -0.2963559580000000E+01 + -0.2963644658302757E+01 + -0.2963729568651616E+01 + -0.2963814310849097E+01 + -0.2963898884697719E+01 + -0.2963983290000000E+01 + -0.2964067526627224E+01 + -0.2964151594725732E+01 + -0.2964235494510628E+01 + -0.2964319226197016E+01 + -0.2964402790000000E+01 + -0.2964486186068345E+01 + -0.2964569414285455E+01 + -0.2964652474468392E+01 + -0.2964735366434219E+01 + -0.2964818090000000E+01 + -0.2964900645019394E+01 + -0.2964983031492448E+01 + -0.2965065249455805E+01 + -0.2965147298946107E+01 + -0.2965229180000000E+01 + -0.2965310892654079E+01 + -0.2965392436944755E+01 + -0.2965473812908391E+01 + -0.2965555020581352E+01 + -0.2965636060000000E+01 + -0.2965716931164290E+01 + -0.2965797633928533E+01 + -0.2965878168110632E+01 + -0.2965958533528487E+01 + -0.2966038730000000E+01 + -0.2966118757408761E+01 + -0.2966198615901111E+01 + -0.2966278305689081E+01 + -0.2966357826984701E+01 + -0.2966437180000000E+01 + -0.2966516364880667E+01 + -0.2966595381507022E+01 + -0.2966674229693043E+01 + -0.2966752909252710E+01 + -0.2966831420000000E+01 + -0.2966909761788572E+01 + -0.2966987934630802E+01 + -0.2967065938578746E+01 + -0.2967143773684460E+01 + -0.2967221440000000E+01 + -0.2967298937565046E+01 + -0.2967376266369771E+01 + -0.2967453426391973E+01 + -0.2967530417609451E+01 + -0.2967607240000000E+01 + -0.2967683893551245E+01 + -0.2967760378290114E+01 + -0.2967836694253360E+01 + -0.2967912841477738E+01 + -0.2967988820000000E+01 + -0.2968064629829973E+01 + -0.2968140270869773E+01 + -0.2968215742994585E+01 + -0.2968291046079599E+01 + -0.2968366180000000E+01 + -0.2968441144648861E+01 + -0.2968515939990795E+01 + -0.2968590566008298E+01 + -0.2968665022683867E+01 + -0.2968739310000000E+01 + -0.2968813427974581E+01 + -0.2968887376767047E+01 + -0.2968961156572222E+01 + -0.2969034767584931E+01 + -0.2969108210000000E+01 + -0.2969181483932815E+01 + -0.2969254589181018E+01 + -0.2969327525462814E+01 + -0.2969400292496406E+01 + -0.2969472890000000E+01 + -0.2969545317734158E+01 + -0.2969617575628879E+01 + -0.2969689663656522E+01 + -0.2969761581789443E+01 + -0.2969833330000000E+01 + -0.2969904908330553E+01 + -0.2969976317103465E+01 + -0.2970047556711100E+01 + -0.2970118627545824E+01 + -0.2970189530000000E+01 + -0.2970260264303629E+01 + -0.2970330830037261E+01 + -0.2970401226619076E+01 + -0.2970471453467262E+01 + -0.2970541510000000E+01 + -0.2970611395814928E+01 + -0.2970681111227493E+01 + -0.2970750656732594E+01 + -0.2970820032825130E+01 + -0.2970889240000000E+01 + -0.2970958278596657E+01 + -0.2971027148332767E+01 + -0.2971095848770548E+01 + -0.2971164379472219E+01 + -0.2971232740000000E+01 + -0.2971300930038443E+01 + -0.2971368949761440E+01 + -0.2971436799465215E+01 + -0.2971504479445993E+01 + -0.2971571990000000E+01 + -0.2971639331329571E+01 + -0.2971706503261475E+01 + -0.2971773505528595E+01 + -0.2971840337863810E+01 + -0.2971907000000000E+01 + -0.2971973491763275E+01 + -0.2972039813352660E+01 + -0.2972105965060407E+01 + -0.2972171947178769E+01 + -0.2972237760000000E+01 + -0.2972303403697329E+01 + -0.2972368877967886E+01 + -0.2972434182389779E+01 + -0.2972499316541115E+01 + -0.2972564280000000E+01 + -0.2972629072487410E+01 + -0.2972693694295796E+01 + -0.2972758145860477E+01 + -0.2972822427616772E+01 + -0.2972886540000000E+01 + -0.2972950483313031E+01 + -0.2973014257328930E+01 + -0.2973077861688314E+01 + -0.2973141296031799E+01 + -0.2973204560000000E+01 + -0.2973267653300468E+01 + -0.2973330575908485E+01 + -0.2973393327866268E+01 + -0.2973455909216034E+01 + -0.2973518320000000E+01 + -0.2973580560285099E+01 + -0.2973642630237132E+01 + -0.2973704530046615E+01 + -0.2973766259904065E+01 + -0.2973827820000000E+01 + -0.2973889210439136E+01 + -0.2973950430982988E+01 + -0.2974011481307273E+01 + -0.2974072361087705E+01 + -0.2974133070000000E+01 + -0.2974193607798358E+01 + -0.2974253974550916E+01 + -0.2974314170404294E+01 + -0.2974374195505115E+01 + -0.2974434050000000E+01 + -0.2974493734047433E+01 + -0.2974553247853351E+01 + -0.2974612591635552E+01 + -0.2974671765611835E+01 + -0.2974730770000000E+01 + -0.2974789604891909E+01 + -0.2974848269875682E+01 + -0.2974906764413499E+01 + -0.2974965087967545E+01 + -0.2975023240000000E+01 + -0.2975081220144929E+01 + -0.2975139028723922E+01 + -0.2975196666230450E+01 + -0.2975254133157986E+01 + -0.2975311430000000E+01 + -0.2975368557088375E+01 + -0.2975425514108632E+01 + -0.2975482300584701E+01 + -0.2975538916040513E+01 + -0.2975595360000000E+01 + -0.2975651632141571E+01 + -0.2975707732761552E+01 + -0.2975763662310748E+01 + -0.2975819421239963E+01 + -0.2975875010000000E+01 + -0.2975930428905341E+01 + -0.2975985677725160E+01 + -0.2976040756092309E+01 + -0.2976095663639638E+01 + -0.2976150400000000E+01 + -0.2976204964877068E+01 + -0.2976259358257810E+01 + -0.2976313580200019E+01 + -0.2976367630761485E+01 + -0.2976421510000000E+01 + -0.2976475217986389E+01 + -0.2976528754843601E+01 + -0.2976582120707618E+01 + -0.2976635315714424E+01 + -0.2976688340000000E+01 + -0.2976741193657378E+01 + -0.2976793876607789E+01 + -0.2976846388729510E+01 + -0.2976898729900821E+01 + -0.2976950900000000E+01 + -0.2977002898904097E+01 + -0.2977054726485244E+01 + -0.2977106382614343E+01 + -0.2977157867162294E+01 + -0.2977209180000000E+01 + -0.2977260321046232E+01 + -0.2977311290411234E+01 + -0.2977362088253120E+01 + -0.2977412714730004E+01 + -0.2977463170000000E+01 + -0.2977513454190976E+01 + -0.2977563567309820E+01 + -0.2977613509333177E+01 + -0.2977663280237689E+01 + -0.2977712880000000E+01 + -0.2977762308589865E+01 + -0.2977811565949486E+01 + -0.2977860652014173E+01 + -0.2977909566719240E+01 + -0.2977958310000000E+01 + -0.2978006881769563E+01 + -0.2978055281852238E+01 + -0.2978103510050131E+01 + -0.2978151566165350E+01 + -0.2978199450000000E+01 + -0.2978247161451881E+01 + -0.2978294700801562E+01 + -0.2978342068425302E+01 + -0.2978389264699361E+01 + -0.2978436290000000E+01 + -0.2978483144582910E+01 + -0.2978529828221513E+01 + -0.2978576340568661E+01 + -0.2978622681277205E+01 + -0.2978668850000000E+01 + -0.2978714846456477E+01 + -0.2978760670632385E+01 + -0.2978806322580055E+01 + -0.2978851802351817E+01 + -0.2978897110000000E+01 + -0.2978942245591184E+01 + -0.2978987209248947E+01 + -0.2979032001111118E+01 + -0.2979076621315527E+01 + -0.2979121070000000E+01 + -0.2979165347258789E+01 + -0.2979209453011828E+01 + -0.2979253387135472E+01 + -0.2979297149506078E+01 + -0.2979340740000000E+01 + -0.2979384158493661E+01 + -0.2979427404863743E+01 + -0.2979470478986995E+01 + -0.2979513380740164E+01 + -0.2979556110000000E+01 + -0.2979598666686568E+01 + -0.2979641050893201E+01 + -0.2979683262756550E+01 + -0.2979725302413267E+01 + -0.2979767170000000E+01 + -0.2979808865640068E+01 + -0.2979850389403453E+01 + -0.2979891741346805E+01 + -0.2979932921526770E+01 + -0.2979973930000000E+01 + -0.2980014766753159E+01 + -0.2980055431492985E+01 + -0.2980095923856231E+01 + -0.2980136243479651E+01 + -0.2980176390000000E+01 + -0.2980216363187294E+01 + -0.2980256163344606E+01 + -0.2980295790908270E+01 + -0.2980335246314623E+01 + -0.2980374530000000E+01 + -0.2980413642257665E+01 + -0.2980452582808593E+01 + -0.2980491351230688E+01 + -0.2980529947101856E+01 + -0.2980568370000000E+01 + -0.2980606619622048E+01 + -0.2980644696141024E+01 + -0.2980682599848976E+01 + -0.2980720331037952E+01 + -0.2980757890000000E+01 + -0.2980795276934144E+01 + -0.2980832491667311E+01 + -0.2980869533933407E+01 + -0.2980906403466335E+01 + -0.2980943100000000E+01 + -0.2980979623361378E+01 + -0.2981015973749732E+01 + -0.2981052151457396E+01 + -0.2981088156776708E+01 + -0.2981123990000000E+01 + -0.2981159651300345E+01 + -0.2981195140373762E+01 + -0.2981230456797007E+01 + -0.2981265600146834E+01 + -0.2981300570000000E+01 + -0.2981335366077241E+01 + -0.2981369988675219E+01 + -0.2981404438234576E+01 + -0.2981438715195956E+01 + -0.2981472820000000E+01 + -0.2981506752950691E+01 + -0.2981540513805363E+01 + -0.2981574102184689E+01 + -0.2981607517709344E+01 + -0.2981640760000000E+01 + -0.2981673828759996E+01 + -0.2981706724023331E+01 + -0.2981739445906668E+01 + -0.2981771994526669E+01 + -0.2981804370000000E+01 + -0.2981836572409324E+01 + -0.2981868601701313E+01 + -0.2981900457788640E+01 + -0.2981932140583978E+01 + -0.2981963650000000E+01 + -0.2981994986002707E+01 + -0.2982026148771416E+01 + -0.2982057138538771E+01 + -0.2982087955537418E+01 + -0.2982118600000000E+01 + -0.2982149072059847E+01 + -0.2982179371453023E+01 + -0.2982209497816275E+01 + -0.2982239450786351E+01 + -0.2982269230000000E+01 + -0.2982298835197905E+01 + -0.2982328266536494E+01 + -0.2982357524276130E+01 + -0.2982386608677177E+01 + -0.2982415520000000E+01 + -0.2982444258428534E+01 + -0.2982472823841004E+01 + -0.2982501216039207E+01 + -0.2982529434824940E+01 + -0.2982557480000000E+01 + -0.2982585351407960E+01 + -0.2982613049059493E+01 + -0.2982640573007045E+01 + -0.2982667923303065E+01 + -0.2982695100000000E+01 + -0.2982722103139626E+01 + -0.2982748932721027E+01 + -0.2982775588732615E+01 + -0.2982802071162801E+01 + -0.2982828380000000E+01 + -0.2982854515233537E+01 + -0.2982880476856401E+01 + -0.2982906264862497E+01 + -0.2982931879245729E+01 + -0.2982957320000000E+01 + -0.2982982587126227E+01 + -0.2983007680653369E+01 + -0.2983032600617397E+01 + -0.2983057347054284E+01 + -0.2983081920000000E+01 + -0.2983106319461557E+01 + -0.2983130545330125E+01 + -0.2983154597467915E+01 + -0.2983178475737137E+01 + -0.2983202180000000E+01 + -0.2983225710147546E+01 + -0.2983249066186131E+01 + -0.2983272248150944E+01 + -0.2983295256077171E+01 + -0.2983318090000000E+01 + -0.2983340749948260E+01 + -0.2983363235925350E+01 + -0.2983385547928309E+01 + -0.2983407685954179E+01 + -0.2983429650000000E+01 + -0.2983451440059414E+01 + -0.2983473056112470E+01 + -0.2983494498135820E+01 + -0.2983515766106113E+01 + -0.2983536860000000E+01 + -0.2983557779814084E+01 + -0.2983578525624770E+01 + -0.2983599097528414E+01 + -0.2983619495621372E+01 + -0.2983639720000000E+01 + -0.2983659770684250E+01 + -0.2983679647388451E+01 + -0.2983699349750527E+01 + -0.2983718877408402E+01 + -0.2983738230000000E+01 + -0.2983757407288917E+01 + -0.2983776409541428E+01 + -0.2983795237149481E+01 + -0.2983813890505023E+01 + -0.2983832370000000E+01 + -0.2983850675920083E+01 + -0.2983868808125838E+01 + -0.2983886766371550E+01 + -0.2983904550411508E+01 + -0.2983922160000000E+01 + -0.2983939594950750E+01 + -0.2983956855315223E+01 + -0.2983973941204321E+01 + -0.2983990852728946E+01 + -0.2984007590000000E+01 + -0.2984024153076918E+01 + -0.2984040541813273E+01 + -0.2984056756011168E+01 + -0.2984072795472708E+01 + -0.2984088660000000E+01 + -0.2984104349461576E+01 + -0.2984119863991685E+01 + -0.2984135203791007E+01 + -0.2984150369060219E+01 + -0.2984165360000000E+01 + -0.2984180176756778E+01 + -0.2984194819259986E+01 + -0.2984209287384804E+01 + -0.2984223581006415E+01 + -0.2984237700000000E+01 + -0.2984251644231311E+01 + -0.2984265413528372E+01 + -0.2984279007709778E+01 + -0.2984292426594123E+01 + -0.2984305670000000E+01 + -0.2984318737837978E+01 + -0.2984331630386526E+01 + -0.2984344348016084E+01 + -0.2984356891097094E+01 + -0.2984369260000000E+01 + -0.2984381454976774E+01 + -0.2984393475805524E+01 + -0.2984405322145886E+01 + -0.2984416993657499E+01 + -0.2984428490000000E+01 + -0.2984439810894923E+01 + -0.2984450956311377E+01 + -0.2984461926280371E+01 + -0.2984472720832910E+01 + -0.2984483340000000E+01 + -0.2984493783843537E+01 + -0.2984504052548968E+01 + -0.2984514146332631E+01 + -0.2984524065410863E+01 + -0.2984533810000000E+01 + -0.2984543380210932E+01 + -0.2984552775732752E+01 + -0.2984561996149107E+01 + -0.2984571041043641E+01 + -0.2984579910000000E+01 + -0.2984588602752736E+01 + -0.2984597119640023E+01 + -0.2984605461150943E+01 + -0.2984613627774575E+01 + -0.2984621620000000E+01 + -0.2984629438138125E+01 + -0.2984637081787156E+01 + -0.2984644550367124E+01 + -0.2984651843298061E+01 + -0.2984658960000000E+01 + -0.2984665900054765E+01 + -0.2984672663691355E+01 + -0.2984679251300563E+01 + -0.2984685663273180E+01 + -0.2984691900000000E+01 + -0.2984697961802816E+01 + -0.2984703848727424E+01 + -0.2984709560750626E+01 + -0.2984715097849218E+01 + -0.2984720460000000E+01 + -0.2984725647133973E+01 + -0.2984730658998947E+01 + -0.2984735495296935E+01 + -0.2984740155729948E+01 + -0.2984744640000000E+01 + -0.2984748947901293E+01 + -0.2984753079596787E+01 + -0.2984757035341636E+01 + -0.2984760815390990E+01 + -0.2984764420000000E+01 + -0.2984767849340857E+01 + -0.2984771103253904E+01 + -0.2984774181496522E+01 + -0.2984777083826094E+01 + -0.2984779810000000E+01 + -0.2984782359855279E+01 + -0.2984784733547597E+01 + -0.2984786931312275E+01 + -0.2984788953384636E+01 + -0.2984790800000000E+01 + -0.2984792471318025E+01 + -0.2984793967195706E+01 + -0.2984795287414375E+01 + -0.2984796431755363E+01 + -0.2984797400000000E+01 + -0.2984798191992621E+01 + -0.2984798807829577E+01 + -0.2984799247670222E+01 + -0.2984799511673911E+01 + -0.2984799600000000E+01 + -0.2984799513031492E+01 + -0.2984799252045987E+01 + -0.2984798818544737E+01 + -0.2984798214028991E+01 + -0.2984797440000000E+01 + -0.2984796498041413E+01 + -0.2984795390066475E+01 + -0.2984794118070830E+01 + -0.2984792684050124E+01 + -0.2984791090000000E+01 + -0.2984789337842857E+01 + -0.2984787429208114E+01 + -0.2984785365651942E+01 + -0.2984783148730513E+01 + -0.2984780780000000E+01 + -0.2984778261067157E+01 + -0.2984775593741069E+01 + -0.2984772779881402E+01 + -0.2984769821347824E+01 + -0.2984766720000000E+01 + -0.2984763477648514E+01 + -0.2984760095907610E+01 + -0.2984756576342450E+01 + -0.2984752920518193E+01 + -0.2984749130000000E+01 + -0.2984745206418787E+01 + -0.2984741151668489E+01 + -0.2984736967708798E+01 + -0.2984732656499405E+01 + -0.2984728220000000E+01 + -0.2984723660116339E+01 + -0.2984718978538433E+01 + -0.2984714176902358E+01 + -0.2984709256844188E+01 + -0.2984704220000000E+01 + -0.2984699067995857E+01 + -0.2984693802417778E+01 + -0.2984688424841771E+01 + -0.2984682936843842E+01 + -0.2984677340000000E+01 + -0.2984671635980233E+01 + -0.2984665826830454E+01 + -0.2984659914690560E+01 + -0.2984653901700443E+01 + -0.2984647790000000E+01 + -0.2984641581603212E+01 + -0.2984635278020405E+01 + -0.2984628880635992E+01 + -0.2984622390834386E+01 + -0.2984615810000000E+01 + -0.2984609139606921E+01 + -0.2984602381487927E+01 + -0.2984595537565473E+01 + -0.2984588609762013E+01 + -0.2984581600000000E+01 + -0.2984574510129107E+01 + -0.2984567341707887E+01 + -0.2984560096222115E+01 + -0.2984552775157561E+01 + -0.2984545380000000E+01 + -0.2984537912356651E+01 + -0.2984530374320522E+01 + -0.2984522768106067E+01 + -0.2984515095927742E+01 + -0.2984507360000000E+01 + -0.2984499562364288E+01 + -0.2984491704370024E+01 + -0.2984483787193616E+01 + -0.2984475812011471E+01 + -0.2984467780000000E+01 + -0.2984459692506194E+01 + -0.2984451551559381E+01 + -0.2984443359359470E+01 + -0.2984435118106373E+01 + -0.2984426830000000E+01 + -0.2984418497130934E+01 + -0.2984410121152453E+01 + -0.2984401703608504E+01 + -0.2984393246043037E+01 + -0.2984384750000000E+01 + -0.2984376217050066E+01 + -0.2984367648870806E+01 + -0.2984359047166513E+01 + -0.2984350413641479E+01 + -0.2984341750000000E+01 + -0.2984333057948799E+01 + -0.2984324339204322E+01 + -0.2984315595485445E+01 + -0.2984306828511045E+01 + -0.2984298040000000E+01 + -0.2984289231714739E+01 + -0.2984280405591909E+01 + -0.2984271563611709E+01 + -0.2984262707754339E+01 + -0.2984253840000000E+01 + -0.2984244962232245E+01 + -0.2984236075948044E+01 + -0.2984227182547720E+01 + -0.2984218283431598E+01 + -0.2984209380000000E+01 + -0.2984200473756281E+01 + -0.2984191566615916E+01 + -0.2984182660597411E+01 + -0.2984173757719270E+01 + -0.2984164860000000E+01 + -0.2984155969382631E+01 + -0.2984147087508291E+01 + -0.2984138215942636E+01 + -0.2984129356251321E+01 + -0.2984120510000000E+01 + -0.2984111678793197E+01 + -0.2984102864390919E+01 + -0.2984094068592043E+01 + -0.2984085293195444E+01 + -0.2984076540000000E+01 + -0.2984067810804581E+01 + -0.2984059107408033E+01 + -0.2984050431609194E+01 + -0.2984041785206903E+01 + -0.2984033170000000E+01 + -0.2984024587748479E+01 + -0.2984016040056951E+01 + -0.2984007528491183E+01 + -0.2983999054616944E+01 + -0.2983990620000000E+01 + -0.2983982226281506E+01 + -0.2983973875404166E+01 + -0.2983965569386073E+01 + -0.2983957310245320E+01 + -0.2983949100000000E+01 + -0.2983940940565499E+01 + -0.2983932833446387E+01 + -0.2983924780044524E+01 + -0.2983916781761774E+01 + -0.2983908840000000E+01 + -0.2983900956256496E+01 + -0.2983893132410286E+01 + -0.2983885370435829E+01 + -0.2983877672307581E+01 + -0.2983870040000000E+01 + -0.2983862475448517E+01 + -0.2983854980432467E+01 + -0.2983847556692158E+01 + -0.2983840205967900E+01 + -0.2983832930000000E+01 + -0.2983825730509436E+01 + -0.2983818609139846E+01 + -0.2983811567515540E+01 + -0.2983804607260822E+01 + -0.2983797730000000E+01 + -0.2983790937393741E+01 + -0.2983784231248148E+01 + -0.2983777613405684E+01 + -0.2983771085708814E+01 + -0.2983764650000000E+01 + -0.2983758308075601E+01 + -0.2983752061547562E+01 + -0.2983745911981723E+01 + -0.2983739860943922E+01 + -0.2983733910000000E+01 + -0.2983728060783854E+01 + -0.2983722315201604E+01 + -0.2983716675227427E+01 + -0.2983711142835499E+01 + -0.2983705720000000E+01 + -0.2983700408628984E+01 + -0.2983695210366024E+01 + -0.2983690126788573E+01 + -0.2983685159474081E+01 + -0.2983680310000000E+01 + -0.2983675579980210E+01 + -0.2983670971174299E+01 + -0.2983666485378284E+01 + -0.2983662124388179E+01 + -0.2983657890000000E+01 + -0.2983653784010175E+01 + -0.2983649808216778E+01 + -0.2983645964418293E+01 + -0.2983642254413205E+01 + -0.2983638680000000E+01 + -0.2983635242939089E+01 + -0.2983631944838588E+01 + -0.2983628787268544E+01 + -0.2983625771799000E+01 + -0.2983622900000000E+01 + -0.2983620173513470E+01 + -0.2983617594268868E+01 + -0.2983615164267530E+01 + -0.2983612885510794E+01 + -0.2983610760000000E+01 + -0.2983608789647029E+01 + -0.2983606976005940E+01 + -0.2983605320541336E+01 + -0.2983603824717822E+01 + -0.2983602490000000E+01 + -0.2983601317898414E+01 + -0.2983600310107373E+01 + -0.2983599468367124E+01 + -0.2983598794417917E+01 + -0.2983598290000000E+01 + -0.2983597956919315E+01 + -0.2983597797244570E+01 + -0.2983597813110168E+01 + -0.2983598006650511E+01 + -0.2983598380000000E+01 + -0.2983598935144328E+01 + -0.2983599673474348E+01 + -0.2983600596232204E+01 + -0.2983601704660040E+01 + -0.2983603000000000E+01 + -0.2983604483623374E+01 + -0.2983606157418037E+01 + -0.2983608023401015E+01 + -0.2983610083589328E+01 + -0.2983612340000000E+01 + -0.2983614794602178E+01 + -0.2983617449173502E+01 + -0.2983620305443738E+01 + -0.2983623365142649E+01 + -0.2983626630000000E+01 + -0.2983630101727915E+01 + -0.2983633781967953E+01 + -0.2983637672344035E+01 + -0.2983641774480077E+01 + -0.2983646090000000E+01 + -0.2983650620566163E+01 + -0.2983655367994684E+01 + -0.2983660334140124E+01 + -0.2983665520857043E+01 + -0.2983670930000000E+01 + -0.2983676563367436E+01 + -0.2983682422533312E+01 + -0.2983688509015470E+01 + -0.2983694824331752E+01 + -0.2983701370000000E+01 + -0.2983708147644094E+01 + -0.2983715159312069E+01 + -0.2983722407157997E+01 + -0.2983729893335950E+01 + -0.2983737620000000E+01 + -0.2983745589176186E+01 + -0.2983753802378411E+01 + -0.2983762260992542E+01 + -0.2983770966404449E+01 + -0.2983779920000000E+01 + -0.2983789123251160E+01 + -0.2983798577974287E+01 + -0.2983808286071833E+01 + -0.2983818249446253E+01 + -0.2983828470000000E+01 + -0.2983838949579172E+01 + -0.2983849689804442E+01 + -0.2983860692240125E+01 + -0.2983871958450540E+01 + -0.2983883490000000E+01 + -0.2983895288512152E+01 + -0.2983907355847947E+01 + -0.2983919693927667E+01 + -0.2983932304671591E+01 + -0.2983945190000000E+01 + -0.2983958351812222E+01 + -0.2983971791923771E+01 + -0.2983985512129209E+01 + -0.2983999514223098E+01 + -0.2984013800000000E+01 + -0.2984028371198961E+01 + -0.2984043229336970E+01 + -0.2984058375875497E+01 + -0.2984073812276017E+01 + -0.2984089540000000E+01 + -0.2984105560591932E+01 + -0.2984121875928350E+01 + -0.2984138487968801E+01 + -0.2984155398672835E+01 + -0.2984172610000000E+01 + -0.2984190123873308E+01 + -0.2984207942069630E+01 + -0.2984226066329297E+01 + -0.2984244498392643E+01 + -0.2984263240000000E+01 + -0.2984282292874834E+01 + -0.2984301658673131E+01 + -0.2984321339034011E+01 + -0.2984341335596595E+01 + -0.2984361650000000E+01 + -0.2984382283907358E+01 + -0.2984403239077848E+01 + -0.2984424517294658E+01 + -0.2984446120340979E+01 + -0.2984468050000000E+01 + -0.2984490308055733E+01 + -0.2984512896295479E+01 + -0.2984535816507357E+01 + -0.2984559070479491E+01 + -0.2984582660000000E+01 + -0.2984606586829708E+01 + -0.2984630852620238E+01 + -0.2984655458995913E+01 + -0.2984680407581060E+01 + -0.2984705700000000E+01 + -0.2984731337905436E+01 + -0.2984757323063572E+01 + -0.2984783657268990E+01 + -0.2984810342316272E+01 + -0.2984837380000000E+01 + -0.2984864772108550E+01 + -0.2984892520405476E+01 + -0.2984920626648127E+01 + -0.2984949092593852E+01 + -0.2984977920000000E+01 + -0.2985007110620365E+01 + -0.2985036666194525E+01 + -0.2985066588458503E+01 + -0.2985096879148320E+01 + -0.2985127540000000E+01 + -0.2985158572769989E+01 + -0.2985189979296424E+01 + -0.2985221761437864E+01 + -0.2985253921052869E+01 + -0.2985286460000000E+01 + -0.2985319380059679E+01 + -0.2985352682699782E+01 + -0.2985386369310044E+01 + -0.2985420441280205E+01 + -0.2985454900000000E+01 + -0.2985489746991294E+01 + -0.2985524984304450E+01 + -0.2985560614121960E+01 + -0.2985596638626313E+01 + -0.2985633060000000E+01 + -0.2985669880295146E+01 + -0.2985707101042417E+01 + -0.2985744723642116E+01 + -0.2985782749494543E+01 + -0.2985821180000000E+01 + -0.2985860016628123E+01 + -0.2985899261125881E+01 + -0.2985938915309577E+01 + -0.2985978980995516E+01 + -0.2986019460000000E+01 + -0.2986060354152363E+01 + -0.2986101665334060E+01 + -0.2986143395439575E+01 + -0.2986185546363394E+01 + -0.2986228120000000E+01 + -0.2986271118202424E+01 + -0.2986314542657879E+01 + -0.2986358395012121E+01 + -0.2986402676910909E+01 + -0.2986447390000000E+01 + -0.2986492535917939E+01 + -0.2986538116274424E+01 + -0.2986584132671938E+01 + -0.2986630586712969E+01 + -0.2986677480000000E+01 + -0.2986724814205820E+01 + -0.2986772591284426E+01 + -0.2986820813260124E+01 + -0.2986869482157215E+01 + -0.2986918600000000E+01 + -0.2986968168698784E+01 + -0.2987018189707871E+01 + -0.2987068664367566E+01 + -0.2987119594018174E+01 + -0.2987170980000000E+01 + -0.2987222823799046E+01 + -0.2987275127484092E+01 + -0.2987327893269615E+01 + -0.2987381123370092E+01 + -0.2987434820000000E+01 + -0.2987488985225034E+01 + -0.2987543620515764E+01 + -0.2987598727193976E+01 + -0.2987654306581459E+01 + -0.2987710360000000E+01 + -0.2987766888900818E+01 + -0.2987823895252853E+01 + -0.2987881381154481E+01 + -0.2987939348704072E+01 + -0.2987997800000000E+01 + -0.2988056737011696E+01 + -0.2988116161192823E+01 + -0.2988176073868102E+01 + -0.2988236476362254E+01 + -0.2988297370000000E+01 + -0.2988358756252399E+01 + -0.2988420637175856E+01 + -0.2988483014973114E+01 + -0.2988545891846914E+01 + -0.2988609270000000E+01 + -0.2988673151498708E+01 + -0.2988737537863753E+01 + -0.2988802430479444E+01 + -0.2988867830730090E+01 + -0.2988933740000000E+01 + -0.2989000159752768E+01 + -0.2989067091769131E+01 + -0.2989134537909110E+01 + -0.2989202500032726E+01 + -0.2989270980000000E+01 + -0.2989339979650218E+01 + -0.2989409500739722E+01 + -0.2989479545004116E+01 + -0.2989550114179007E+01 + -0.2989621210000000E+01 + -0.2989692834206360E+01 + -0.2989764988551983E+01 + -0.2989837674794427E+01 + -0.2989910894691247E+01 + -0.2989984650000000E+01 + -0.2990058942484344E+01 + -0.2990133773932346E+01 + -0.2990209146138177E+01 + -0.2990285060896005E+01 + -0.2990361520000000E+01 + -0.2990438525216264E+01 + -0.2990516078198631E+01 + -0.2990594180572866E+01 + -0.2990672833964733E+01 + -0.2990752040000000E+01 + -0.2990831800330598E+01 + -0.2990912116713128E+01 + -0.2990992990930359E+01 + -0.2991074424765061E+01 + -0.2991156420000000E+01 + -0.2991238978421344E+01 + -0.2991322101828855E+01 + -0.2991405792025695E+01 + -0.2991490050815023E+01 + -0.2991574880000000E+01 + -0.2991660281344025E+01 + -0.2991746256451449E+01 + -0.2991832806886861E+01 + -0.2991919934214849E+01 + -0.2992007640000000E+01 + -0.2992095925882555E+01 + -0.2992184793805347E+01 + -0.2992274245786862E+01 + -0.2992364283845585E+01 + -0.2992454910000000E+01 + -0.2992546126165757E+01 + -0.2992637933847164E+01 + -0.2992730334445692E+01 + -0.2992823329362813E+01 + -0.2992916920000000E+01 + -0.2993011107854417E+01 + -0.2993105894805998E+01 + -0.2993201282830370E+01 + -0.2993297273903162E+01 + -0.2993393870000000E+01 + -0.2993491073056576E+01 + -0.2993588884848845E+01 + -0.2993687307112826E+01 + -0.2993786341584538E+01 + -0.2993885990000000E+01 + -0.2993986254079278E+01 + -0.2994087135478622E+01 + -0.2994188635838326E+01 + -0.2994290756798687E+01 + -0.2994393500000000E+01 + -0.2994496867106312E+01 + -0.2994600859876670E+01 + -0.2994705480093872E+01 + -0.2994810729540716E+01 + -0.2994916610000000E+01 + -0.2995023123255476E+01 + -0.2995130271094702E+01 + -0.2995238055306190E+01 + -0.2995346477678452E+01 + -0.2995455540000000E+01 + -0.2995565244031786E+01 + -0.2995675591424524E+01 + -0.2995786583801369E+01 + -0.2995898222785476E+01 + -0.2996010510000000E+01 + -0.2996123447097381E+01 + -0.2996237035847202E+01 + -0.2996351278048333E+01 + -0.2996466175499643E+01 + -0.2996581730000000E+01 + -0.2996697943338691E+01 + -0.2996814817266668E+01 + -0.2996932353525299E+01 + -0.2997050553855953E+01 + -0.2997169420000000E+01 + -0.2997288953707855E+01 + -0.2997409156766127E+01 + -0.2997530030970472E+01 + -0.2997651578116544E+01 + -0.2997773800000000E+01 + -0.2997896698389888E+01 + -0.2998020274948823E+01 + -0.2998144531312815E+01 + -0.2998269469117871E+01 + -0.2998395090000000E+01 + -0.2998521395612594E+01 + -0.2998648387678580E+01 + -0.2998776067938269E+01 + -0.2998904438131972E+01 + -0.2999033500000000E+01 + -0.2999163255319737E+01 + -0.2999293706016857E+01 + -0.2999424854054110E+01 + -0.2999556701394241E+01 + -0.2999689250000000E+01 + -0.2999822501748459E+01 + -0.2999956458173991E+01 + -0.3000091120725293E+01 + -0.3000226490851063E+01 + -0.3000362570000000E+01 + -0.3000499359686428E+01 + -0.3000636861687180E+01 + -0.3000775077844719E+01 + -0.3000914010001505E+01 + -0.3001053660000000E+01 + -0.3001194029665832E+01 + -0.3001335120757290E+01 + -0.3001476935015833E+01 + -0.3001619474182917E+01 + -0.3001762740000000E+01 + -0.3001906734210248E+01 + -0.3002051458563662E+01 + -0.3002196914811952E+01 + -0.3002343104706828E+01 + -0.3002490030000000E+01 + -0.3002637692453177E+01 + -0.3002786093868063E+01 + -0.3002935236056361E+01 + -0.3003085120829772E+01 + -0.3003235750000000E+01 + -0.3003387125337044E+01 + -0.3003539248444086E+01 + -0.3003692120882607E+01 + -0.3003845744214085E+01 + -0.3004000120000000E+01 + -0.3004155249878648E+01 + -0.3004311135795592E+01 + -0.3004467779773212E+01 + -0.3004625183833888E+01 + -0.3004783350000000E+01 + -0.3004942280188364E+01 + -0.3005101975893546E+01 + -0.3005262438504545E+01 + -0.3005423669410363E+01 + -0.3005585670000000E+01 + -0.3005748441767894E+01 + -0.3005911986630225E+01 + -0.3006076306608609E+01 + -0.3006241403724661E+01 + -0.3006407280000000E+01 + -0.3006573937380060E+01 + -0.3006741377505555E+01 + -0.3006909601941021E+01 + -0.3007078612250991E+01 + -0.3007248410000000E+01 + -0.3007418996791867E+01 + -0.3007590374387555E+01 + -0.3007762544587308E+01 + -0.3007935509191374E+01 + -0.3008109270000000E+01 + -0.3008283828812470E+01 + -0.3008459187424226E+01 + -0.3008635347629746E+01 + -0.3008812311223511E+01 + -0.3008990080000000E+01 + -0.3009168655718251E+01 + -0.3009348039995542E+01 + -0.3009528234413706E+01 + -0.3009709240554581E+01 + -0.3009891060000000E+01 + -0.3010073694394524E+01 + -0.3010257145633608E+01 + -0.3010441415675429E+01 + -0.3010626506478167E+01 + -0.3010812420000000E+01 + -0.3010999158143653E+01 + -0.3011186722590029E+01 + -0.3011375114964579E+01 + -0.3011564336892753E+01 + -0.3011754390000000E+01 + -0.3011945275910866E+01 + -0.3012136996246277E+01 + -0.3012329552626255E+01 + -0.3012522946670822E+01 + -0.3012717180000000E+01 + -0.3012912254292884E+01 + -0.3013108171464863E+01 + -0.3013304933490400E+01 + -0.3013502542343959E+01 + -0.3013701000000000E+01 + -0.3013900308357599E+01 + -0.3014100469014271E+01 + -0.3014301483492144E+01 + -0.3014503353313345E+01 + -0.3014706080000000E+01 + -0.3014909665156721E+01 + -0.3015114110718052E+01 + -0.3015319418701024E+01 + -0.3015525591122663E+01 + -0.3015732630000000E+01 + -0.3015940537255518E+01 + -0.3016149314433520E+01 + -0.3016358962983762E+01 + -0.3016569484356003E+01 + -0.3016780880000000E+01 + -0.3016993151421208E+01 + -0.3017206300347870E+01 + -0.3017420328563929E+01 + -0.3017635237853325E+01 + -0.3017851030000000E+01 + -0.3018067706819652E+01 + -0.3018285270255001E+01 + -0.3018503722280525E+01 + -0.3018723064870699E+01 + -0.3018943300000000E+01 + -0.3019164429540185E+01 + -0.3019386454952125E+01 + -0.3019609377593974E+01 + -0.3019833198823882E+01 + -0.3020057920000000E+01 + -0.3020283542619609E+01 + -0.3020510068736498E+01 + -0.3020737500543581E+01 + -0.3020965840233777E+01 + -0.3021195090000000E+01 + -0.3021425251901379E+01 + -0.3021656327461885E+01 + -0.3021888318071702E+01 + -0.3022121225121012E+01 + -0.3022355050000000E+01 + -0.3022589794174876E+01 + -0.3022825459415963E+01 + -0.3023062047569612E+01 + -0.3023299560482174E+01 + -0.3023538000000000E+01 + -0.3023777367959117E+01 + -0.3024017666154262E+01 + -0.3024258896369849E+01 + -0.3024501060390290E+01 + -0.3024744160000000E+01 + -0.3024988196948655E+01 + -0.3025233172846987E+01 + -0.3025479089270992E+01 + -0.3025725947796664E+01 + -0.3025973750000000E+01 + -0.3026222497526263E+01 + -0.3026472192297789E+01 + -0.3026722836306184E+01 + -0.3026974431543053E+01 + -0.3027226980000000E+01 + -0.3027480483586294E+01 + -0.3027734943881857E+01 + -0.3027990362384273E+01 + -0.3028246740591125E+01 + -0.3028504080000000E+01 + -0.3028762382208559E+01 + -0.3029021649214781E+01 + -0.3029281883116725E+01 + -0.3029543086012445E+01 + -0.3029805260000000E+01 + -0.3030068407019468E+01 + -0.3030332528379016E+01 + -0.3030597625228829E+01 + -0.3030863698719095E+01 + -0.3031130750000000E+01 + -0.3031398780433566E+01 + -0.3031667792229154E+01 + -0.3031937787807959E+01 + -0.3032208769591176E+01 + -0.3032480740000000E+01 + -0.3032753701246267E+01 + -0.3033027654704369E+01 + -0.3033302601539337E+01 + -0.3033578542916203E+01 + -0.3033855480000000E+01 + -0.3034133414101365E+01 + -0.3034412347113370E+01 + -0.3034692281074693E+01 + -0.3034973218024010E+01 + -0.3035255160000000E+01 + -0.3035538108988272E+01 + -0.3035822066762151E+01 + -0.3036107035041894E+01 + -0.3036393015547758E+01 + -0.3036680010000000E+01 + -0.3036968020105550E+01 + -0.3037257047518029E+01 + -0.3037547093877733E+01 + -0.3037838160824959E+01 + -0.3038130250000000E+01 + -0.3038423363069531E+01 + -0.3038717501805735E+01 + -0.3039012668007174E+01 + -0.3039308863472408E+01 + -0.3039606090000000E+01 + -0.3039904349376326E+01 + -0.3040203643339030E+01 + -0.3040503973613571E+01 + -0.3040805341925408E+01 + -0.3041107750000000E+01 + -0.3041411199585165E+01 + -0.3041715692518145E+01 + -0.3042021230658543E+01 + -0.3042327815865961E+01 + -0.3042635450000000E+01 + -0.3042944134843017E+01 + -0.3043253871868391E+01 + -0.3043564662472257E+01 + -0.3043876508050748E+01 + -0.3044189410000000E+01 + -0.3044503369842768E+01 + -0.3044818389608291E+01 + -0.3045134471452431E+01 + -0.3045451617531047E+01 + -0.3045769830000000E+01 + -0.3046089110905911E+01 + -0.3046409461858442E+01 + -0.3046730884358019E+01 + -0.3047053379905064E+01 + -0.3047376950000000E+01 + -0.3047701596213588E+01 + -0.3048027320397937E+01 + -0.3048354124475492E+01 + -0.3048682010368698E+01 + -0.3049010980000000E+01 + -0.3049341035199735E+01 + -0.3049672177429807E+01 + -0.3050004408060011E+01 + -0.3050337728460144E+01 + -0.3050672140000000E+01 + -0.3051007644187473E+01 + -0.3051344243082836E+01 + -0.3051681938884464E+01 + -0.3052020733790728E+01 + -0.3052360630000000E+01 + -0.3052701629570376E+01 + -0.3053043733998848E+01 + -0.3053386944642132E+01 + -0.3053731262856944E+01 + -0.3054076690000000E+01 + -0.3054423227531024E+01 + -0.3054770877321772E+01 + -0.3055119641347008E+01 + -0.3055469521581496E+01 + -0.3055820520000000E+01 + -0.3056172638545528E+01 + -0.3056525879034064E+01 + -0.3056880243249836E+01 + -0.3057235732977072E+01 + -0.3057592350000000E+01 + -0.3057950096046865E+01 + -0.3058308972621973E+01 + -0.3058668981173649E+01 + -0.3059030123150217E+01 + -0.3059392400000000E+01 + -0.3059755813267015E+01 + -0.3060120364878045E+01 + -0.3060486056855568E+01 + -0.3060852891222062E+01 + -0.3061220870000000E+01 + -0.3061589995125078E+01 + -0.3061960268185847E+01 + -0.3062331690684078E+01 + -0.3062704264121539E+01 + -0.3063077990000000E+01 + -0.3063452869912676E+01 + -0.3063828905818567E+01 + -0.3064206099768120E+01 + -0.3064584453811782E+01 + -0.3064963970000000E+01 + -0.3065344650264220E+01 + -0.3065726496059887E+01 + -0.3066109508723443E+01 + -0.3066493689591333E+01 + -0.3066879040000000E+01 + -0.3067265561430444E+01 + -0.3067653255941887E+01 + -0.3068042125738109E+01 + -0.3068432173022887E+01 + -0.3068823400000000E+01 + -0.3069215808734005E+01 + -0.3069609400732564E+01 + -0.3070004177364122E+01 + -0.3070400139997120E+01 + -0.3070797290000000E+01 + -0.3071195628833539E+01 + -0.3071595158327855E+01 + -0.3071995880405402E+01 + -0.3072397796988633E+01 + -0.3072800910000001E+01 + -0.3073205221291840E+01 + -0.3073610732436015E+01 + -0.3074017444934269E+01 + -0.3074425360288350E+01 + -0.3074834480000000E+01 + -0.3075244805679103E+01 + -0.3075656339368087E+01 + -0.3076069083217521E+01 + -0.3076483039377970E+01 + -0.3076898210000000E+01 + -0.3077314597111750E+01 + -0.3077732202251636E+01 + -0.3078151026835648E+01 + -0.3078571072279773E+01 + -0.3078992340000000E+01 + -0.3079414831473900E+01 + -0.3079838548425370E+01 + -0.3080263492639890E+01 + -0.3080689665902941E+01 + -0.3081117070000000E+01 + -0.3081545706752651E+01 + -0.3081975578126884E+01 + -0.3082406686124791E+01 + -0.3082839032748466E+01 + -0.3083272620000000E+01 + -0.3083707449755496E+01 + -0.3084143523387094E+01 + -0.3084580842140944E+01 + -0.3085019407263197E+01 + -0.3085459220000001E+01 + -0.3085900281745365E+01 + -0.3086342594484740E+01 + -0.3086786160351432E+01 + -0.3087230981478749E+01 + -0.3087677060000000E+01 + -0.3088124397983044E+01 + -0.3088572997233948E+01 + -0.3089022859493330E+01 + -0.3089473986501808E+01 + -0.3089926380000001E+01 + -0.3090380041682459E+01 + -0.3090834973059469E+01 + -0.3091291175595250E+01 + -0.3091748650754020E+01 + -0.3092207400000000E+01 + -0.3092667424887122E+01 + -0.3093128727328178E+01 + -0.3093591309325672E+01 + -0.3094055172882111E+01 + -0.3094520320000000E+01 + -0.3094986752609054E+01 + -0.3095454472347821E+01 + -0.3095923480782062E+01 + -0.3096393779477535E+01 + -0.3096865370000000E+01 + -0.3097338253956666E+01 + -0.3097812433120540E+01 + -0.3098287909306082E+01 + -0.3098764684327749E+01 + -0.3099242760000001E+01 + -0.3099722138124286E+01 + -0.3100202820450021E+01 + -0.3100684808713613E+01 + -0.3101168104651470E+01 + -0.3101652710000000E+01 + -0.3102138626506194E+01 + -0.3102625855959380E+01 + -0.3103114400159468E+01 + -0.3103604260906371E+01 + -0.3104095440000001E+01 + -0.3104587939210939E+01 + -0.3105081760192461E+01 + -0.3105576904568514E+01 + -0.3106073373963045E+01 + -0.3106571170000000E+01 + -0.3107070294330052E+01 + -0.3107570748710776E+01 + -0.3108072534926475E+01 + -0.3108575654761449E+01 + -0.3109080110000000E+01 + -0.3109585902428854E+01 + -0.3110093033844433E+01 + -0.3110601506045585E+01 + -0.3111111320831158E+01 + -0.3111622480000000E+01 + -0.3112134985314534E+01 + -0.3112648838391493E+01 + -0.3113164040811185E+01 + -0.3113680594153918E+01 + -0.3114198500000001E+01 + -0.3114717759993009E+01 + -0.3115238376029595E+01 + -0.3115760350069676E+01 + -0.3116283684073172E+01 + -0.3116808380000000E+01 + -0.3117334439753431E+01 + -0.3117861865010130E+01 + -0.3118390657390113E+01 + -0.3118920818513398E+01 + -0.3119452350000000E+01 + -0.3119985253473270E+01 + -0.3120519530569888E+01 + -0.3121055182929872E+01 + -0.3121592212193238E+01 + -0.3122130620000000E+01 + -0.3122670408033493E+01 + -0.3123211578150319E+01 + -0.3123754132250399E+01 + -0.3124298072233652E+01 + -0.3124843400000001E+01 + -0.3125390117432760E+01 + -0.3125938226348836E+01 + -0.3126487728548533E+01 + -0.3127038625832153E+01 + -0.3127590920000000E+01 + -0.3128144612795470E+01 + -0.3128699705734338E+01 + -0.3129256200275470E+01 + -0.3129814097877735E+01 + -0.3130373400000000E+01 + -0.3130934108185359E+01 + -0.3131496224313812E+01 + -0.3132059750349586E+01 + -0.3132624688256906E+01 + -0.3133191040000000E+01 + -0.3133758807503094E+01 + -0.3134327992530415E+01 + -0.3134898596806188E+01 + -0.3135470622054641E+01 + -0.3136044070000001E+01 + -0.3136618942362266E+01 + -0.3137195240844530E+01 + -0.3137772967145662E+01 + -0.3138352122964530E+01 + -0.3138932710000000E+01 + -0.3139514729927847E+01 + -0.3140098184331468E+01 + -0.3140683074771165E+01 + -0.3141269402807241E+01 + -0.3141857170000001E+01 + -0.3142446378006349E+01 + -0.3143037028869602E+01 + -0.3143629124729682E+01 + -0.3144222667726508E+01 + -0.3144817660000000E+01 + -0.3145414103566762E+01 + -0.3146011999950128E+01 + -0.3146611350550112E+01 + -0.3147212156766730E+01 + -0.3147814420000001E+01 + -0.3148418141726604E+01 + -0.3149023323729889E+01 + -0.3149629967869873E+01 + -0.3150238076006572E+01 + -0.3150847650000000E+01 + -0.3151458691686826E+01 + -0.3152071202810318E+01 + -0.3152685185090397E+01 + -0.3153300640246985E+01 + -0.3153917570000000E+01 + -0.3154535976086096E+01 + -0.3155155860308841E+01 + -0.3155777224488539E+01 + -0.3156400070445491E+01 + -0.3157024400000000E+01 + -0.3157650214928795E+01 + -0.3158277516834320E+01 + -0.3158906307275448E+01 + -0.3159536587811050E+01 + -0.3160168360000000E+01 + -0.3160801625478726E+01 + -0.3161436386193880E+01 + -0.3162072644169671E+01 + -0.3162710401430308E+01 + -0.3163349660000000E+01 + -0.3163990421796303E+01 + -0.3164632688310163E+01 + -0.3165276460925870E+01 + -0.3165921741027719E+01 + -0.3166568530000000E+01 + -0.3167216829336062E+01 + -0.3167866640965471E+01 + -0.3168517966926849E+01 + -0.3169170809258818E+01 + -0.3169825170000000E+01 + -0.3170481051099451E+01 + -0.3171138454147956E+01 + -0.3171797380646736E+01 + -0.3172457832097011E+01 + -0.3173119810000000E+01 + -0.3173783315946138E+01 + -0.3174448351882707E+01 + -0.3175114919846208E+01 + -0.3175783021873139E+01 + -0.3176452660000000E+01 + -0.3177123836156003E+01 + -0.3177796551841218E+01 + -0.3178470808448433E+01 + -0.3179146607370432E+01 + -0.3179823950000000E+01 + -0.3180502837829853E+01 + -0.3181183272752420E+01 + -0.3181865256760060E+01 + -0.3182548791845134E+01 + -0.3183233880000000E+01 + -0.3183920523164587E+01 + -0.3184608723069104E+01 + -0.3185298481391327E+01 + -0.3185989799809033E+01 + -0.3186682680000000E+01 + -0.3187377122711798E+01 + -0.3188073124971165E+01 + -0.3188770682874633E+01 + -0.3189469792518734E+01 + -0.3190170450000000E+01 + -0.3190872651428223E+01 + -0.3191576392966239E+01 + -0.3192281670790143E+01 + -0.3192988481076031E+01 + -0.3193696820000000E+01 + -0.3194406683735311E+01 + -0.3195118068443882E+01 + -0.3195830970284798E+01 + -0.3196545385417143E+01 + -0.3197261310000000E+01 + -0.3197978740190535E+01 + -0.3198697672138235E+01 + -0.3199418101990667E+01 + -0.3200140025895399E+01 + -0.3200863440000000E+01 + -0.3201588340462550E+01 + -0.3202314723483180E+01 + -0.3203042585272535E+01 + -0.3203771922041260E+01 + -0.3204502730000000E+01 + -0.3205235005319268E+01 + -0.3205968744009048E+01 + -0.3206703942039194E+01 + -0.3207440595379561E+01 + -0.3208178700000000E+01 + -0.3208918251940381E+01 + -0.3209659247520630E+01 + -0.3210401683130688E+01 + -0.3211145555160497E+01 + -0.3211890860000000E+01 + -0.3212637593959210E+01 + -0.3213385753028435E+01 + -0.3214135333118055E+01 + -0.3214886330138450E+01 + -0.3215638740000000E+01 + -0.3216392558702780E+01 + -0.3217147782605631E+01 + -0.3217904408157093E+01 + -0.3218662431805703E+01 + -0.3219421850000000E+01 + -0.3220182659069676E+01 + -0.3220944854869044E+01 + -0.3221708433133575E+01 + -0.3222473389598737E+01 + -0.3223239720000000E+01 + -0.3224007420218519E+01 + -0.3224776486718194E+01 + -0.3225546916108608E+01 + -0.3226318704999348E+01 + -0.3227091850000000E+01 + -0.3227866347576249E+01 + -0.3228642193618184E+01 + -0.3229419383871994E+01 + -0.3230197914083870E+01 + -0.3230977780000000E+01 + -0.3231758977476486E+01 + -0.3232541502809072E+01 + -0.3233325352403415E+01 + -0.3234110522665172E+01 + -0.3234897010000000E+01 + -0.3235684810757810E+01 + -0.3236473921065532E+01 + -0.3237264336994348E+01 + -0.3238056054615443E+01 + -0.3238849070000000E+01 + -0.3239643379252275E+01 + -0.3240438978608804E+01 + -0.3241235864339195E+01 + -0.3242034032713058E+01 + -0.3242833480000000E+01 + -0.3243634202393092E+01 + -0.3244436195779255E+01 + -0.3245239455968871E+01 + -0.3246043978772325E+01 + -0.3246849760000000E+01 + -0.3247656795575358E+01 + -0.3248465081874179E+01 + -0.3249274615385320E+01 + -0.3250085392597641E+01 + -0.3250897410000000E+01 + -0.3251710664025477E+01 + -0.3252525150884032E+01 + -0.3253340866729849E+01 + -0.3254157807717111E+01 + -0.3254975970000000E+01 + -0.3255795349682736E+01 + -0.3256615942669694E+01 + -0.3257437744815282E+01 + -0.3258260751973914E+01 + -0.3259084960000000E+01 + -0.3259910364843579E+01 + -0.3260736962837196E+01 + -0.3261564750409024E+01 + -0.3262393723987235E+01 + -0.3263223880000000E+01 + -0.3264055214782947E+01 + -0.3264887724301522E+01 + -0.3265721404428622E+01 + -0.3266556251037148E+01 + -0.3267392260000000E+01 + -0.3268229427304632E+01 + -0.3269067749396718E+01 + -0.3269907222836488E+01 + -0.3270747844184172E+01 + -0.3271589610000000E+01 + -0.3272432516718526E+01 + -0.3273276560271607E+01 + -0.3274121736465424E+01 + -0.3274968041106162E+01 + -0.3275815470000000E+01 + -0.3276664019021266E+01 + -0.3277513684316857E+01 + -0.3278364462101815E+01 + -0.3279216348591183E+01 + -0.3280069340000000E+01 + -0.3280923432556411E+01 + -0.3281778622540966E+01 + -0.3282634906247314E+01 + -0.3283492279969108E+01 + -0.3284350740000000E+01 + -0.3285210282593090E+01 + -0.3286070903839283E+01 + -0.3286932599788929E+01 + -0.3287795366492385E+01 + -0.3288659200000000E+01 + -0.3289524096351227E+01 + -0.3290390051541905E+01 + -0.3291257061556969E+01 + -0.3292125122381355E+01 + -0.3292994230000000E+01 + -0.3293864380482002E+01 + -0.3294735570233100E+01 + -0.3295607795743198E+01 + -0.3296481053502197E+01 + -0.3297355340000000E+01 + -0.3298230651640768E+01 + -0.3299106984485697E+01 + -0.3299984334510242E+01 + -0.3300862697689857E+01 + -0.3301742070000000E+01 + -0.3302622447434928E+01 + -0.3303503826064115E+01 + -0.3304386201975837E+01 + -0.3305269571258373E+01 + -0.3306153930000000E+01 + -0.3307039274299521E+01 + -0.3307925600297846E+01 + -0.3308812904146410E+01 + -0.3309701181996649E+01 + -0.3310590430000000E+01 + -0.3311480644326988E+01 + -0.3312371821224503E+01 + -0.3313263956958524E+01 + -0.3314157047795030E+01 + -0.3315051090000000E+01 + -0.3315946079832526E+01 + -0.3316842013524143E+01 + -0.3317738887299496E+01 + -0.3318636697383233E+01 + -0.3319535440000000E+01 + -0.3320435111302909E+01 + -0.3321335707158928E+01 + -0.3322237223363493E+01 + -0.3323139655712039E+01 + -0.3324043000000000E+01 + -0.3324947252155841E+01 + -0.3325852408640146E+01 + -0.3326758466046531E+01 + -0.3327665420968611E+01 + -0.3328573270000000E+01 + -0.3329482009593729E+01 + -0.3330391635640489E+01 + -0.3331302143890384E+01 + -0.3332213530093519E+01 + -0.3333125790000000E+01 + -0.3334038919469241E+01 + -0.3334952914797898E+01 + -0.3335867772391933E+01 + -0.3336783488657313E+01 + -0.3337700060000000E+01 + -0.3338617482769305E+01 + -0.3339535753087921E+01 + -0.3340454867021883E+01 + -0.3341374820637231E+01 + -0.3342295610000000E+01 + -0.3343217231213537E+01 + -0.3344139680530420E+01 + -0.3345062954240534E+01 + -0.3345987048633766E+01 + -0.3346911960000000E+01 + -0.3347837684536546E+01 + -0.3348764218070401E+01 + -0.3349691556335982E+01 + -0.3350619695067708E+01 + -0.3351548630000000E+01 + -0.3352478357040278E+01 + -0.3353408872787979E+01 + -0.3354340174015540E+01 + -0.3355272257495401E+01 + -0.3356205120000000E+01 + -0.3357138758102341E+01 + -0.3358073167577685E+01 + -0.3359008344001859E+01 + -0.3359944282950688E+01 + -0.3360880980000000E+01 + -0.3361818430870359E+01 + -0.3362756631861281E+01 + -0.3363695579417025E+01 + -0.3364635269981846E+01 + -0.3365575700000000E+01 + -0.3366516865856226E+01 + -0.3367458763697190E+01 + -0.3368401389610041E+01 + -0.3369344739681928E+01 + -0.3370288810000000E+01 + -0.3371233596664738E+01 + -0.3372179095829959E+01 + -0.3373125303662811E+01 + -0.3374072216330441E+01 + -0.3375019830000000E+01 + -0.3375968140844820E+01 + -0.3376917145062973E+01 + -0.3377866838858717E+01 + -0.3378817218436307E+01 + -0.3379768280000000E+01 + -0.3380720019715981E+01 + -0.3381672433598147E+01 + -0.3382625517622323E+01 + -0.3383579267764332E+01 + -0.3384533680000000E+01 + -0.3385488750371255E+01 + -0.3386444475184437E+01 + -0.3387400850811992E+01 + -0.3388357873626365E+01 + -0.3389315540000000E+01 + -0.3390273846239001E+01 + -0.3391232788384105E+01 + -0.3392192362409709E+01 + -0.3393152564290209E+01 + -0.3394113390000000E+01 + -0.3395074835552742E+01 + -0.3396036897119143E+01 + -0.3396999570909172E+01 + -0.3397962853132801E+01 + -0.3398926740000000E+01 + -0.3399891227710031E+01 + -0.3400856312419324E+01 + -0.3401821990273603E+01 + -0.3402788257418587E+01 + -0.3403755110000000E+01 + -0.3404722544167135E+01 + -0.3405690556083562E+01 + -0.3406659141916422E+01 + -0.3407628297832854E+01 + -0.3408598020000000E+01 + -0.3409568304581428E+01 + -0.3410539147726425E+01 + -0.3411510545580710E+01 + -0.3412482494289996E+01 + -0.3413454990000000E+01 + -0.3414428028867153E+01 + -0.3415401607090736E+01 + -0.3416375720880742E+01 + -0.3417350366447165E+01 + -0.3418325540000000E+01 + -0.3419301237709959E+01 + -0.3420277455590630E+01 + -0.3421254189616323E+01 + -0.3422231435761344E+01 + -0.3423209190000000E+01 + -0.3424187448373012E+01 + -0.3425166207186744E+01 + -0.3426145462813969E+01 + -0.3427125211627462E+01 + -0.3428105450000000E+01 + -0.3429086174237991E+01 + -0.3430067380382393E+01 + -0.3431049064407801E+01 + -0.3432031222288805E+01 + -0.3433013850000000E+01 + -0.3433996943555024E+01 + -0.3434980499123684E+01 + -0.3435964512914832E+01 + -0.3436948981137320E+01 + -0.3437933900000000E+01 + -0.3438919265701914E+01 + -0.3439905074402871E+01 + -0.3440891322252873E+01 + -0.3441878005401915E+01 + -0.3442865120000000E+01 + -0.3443852662197319E+01 + -0.3444840628144831E+01 + -0.3445829013993681E+01 + -0.3446817815895021E+01 + -0.3447807030000000E+01 + -0.3448796652468807E+01 + -0.3449786679497806E+01 + -0.3450777107292402E+01 + -0.3451767932057998E+01 + -0.3452759150000000E+01 + -0.3453750757287452E+01 + -0.3454742749943947E+01 + -0.3455735123956715E+01 + -0.3456727875312989E+01 + -0.3457721000000000E+01 + -0.3458714494061384E+01 + -0.3459708353766406E+01 + -0.3460702575440737E+01 + -0.3461697155410045E+01 + -0.3462692090000000E+01 + -0.3463687375507010E+01 + -0.3464683008110427E+01 + -0.3465678983960338E+01 + -0.3466675299206833E+01 + -0.3467671950000000E+01 + -0.3468668932470575E+01 + -0.3469666242671885E+01 + -0.3470663876637910E+01 + -0.3471661830402623E+01 + -0.3472660100000000E+01 + -0.3473658681490692E+01 + -0.3474657571042032E+01 + -0.3475656764848026E+01 + -0.3476656259102680E+01 + -0.3477656050000000E+01 + -0.3478656133726657E+01 + -0.3479656506439986E+01 + -0.3480657164289987E+01 + -0.3481658103426658E+01 + -0.3482659320000000E+01 + -0.3483660810162679E+01 + -0.3484662570078024E+01 + -0.3485664595912029E+01 + -0.3486666883830690E+01 + -0.3487669430000000E+01 + -0.3488672230582624E+01 + -0.3489675281727915E+01 + -0.3490678579581893E+01 + -0.3491682120290582E+01 + -0.3492685900000000E+01 + -0.3493689914866822E+01 + -0.3494694161090316E+01 + -0.3495698634880398E+01 + -0.3496703332446987E+01 + -0.3497708250000000E+01 + -0.3498713383710086E+01 + -0.3499718729590822E+01 + -0.3500724283616514E+01 + -0.3501730041761472E+01 + -0.3502736000000000E+01 + -0.3503742154372833E+01 + -0.3504748501186398E+01 + -0.3505755036813546E+01 + -0.3506761757627129E+01 + -0.3507768660000000E+01 + -0.3508775740238581E+01 + -0.3509782994383586E+01 + -0.3510790418409300E+01 + -0.3511798008290011E+01 + -0.3512805760000000E+01 + -0.3513813669552843E+01 + -0.3514821733119259E+01 + -0.3515829946909253E+01 + -0.3516838307132831E+01 + -0.3517846810000000E+01 + -0.3518855451710045E+01 + -0.3519864228419377E+01 + -0.3520873136273687E+01 + -0.3521882171418665E+01 + -0.3522891330000000E+01 + -0.3523900608166976E+01 + -0.3524910002083233E+01 + -0.3525919507916001E+01 + -0.3526929121832513E+01 + -0.3527938840000000E+01 + -0.3528948658582051E+01 + -0.3529958573727692E+01 + -0.3530968581582307E+01 + -0.3531978678291283E+01 + -0.3532988860000000E+01 + -0.3533999122864821E+01 + -0.3535009463086000E+01 + -0.3536019876874769E+01 + -0.3537030360442359E+01 + -0.3538040910000000E+01 + -0.3539051521718665E+01 + -0.3540062191608306E+01 + -0.3541072915638613E+01 + -0.3542083689779281E+01 + -0.3543094510000000E+01 + -0.3544105372340517E+01 + -0.3545116273120777E+01 + -0.3546127208730779E+01 + -0.3547138175560520E+01 + -0.3548149170000000E+01 + -0.3549160188359267E+01 + -0.3550171226628585E+01 + -0.3551182280718269E+01 + -0.3552193346538637E+01 + -0.3553204420000002E+01 + -0.3554215497102416E+01 + -0.3555226574204883E+01 + -0.3556237647756144E+01 + -0.3557248714204936E+01 + -0.3558259770000000E+01 + -0.3559270811471073E+01 + -0.3560281834471884E+01 + -0.3561292834737158E+01 + -0.3562303808001623E+01 + -0.3563314750000001E+01 + -0.3564325656613293E+01 + -0.3565336524307582E+01 + -0.3566347349695225E+01 + -0.3567358129388579E+01 + -0.3568368860000000E+01 + -0.3569379537995760E+01 + -0.3570390159257792E+01 + -0.3571400719521944E+01 + -0.3572411214524065E+01 + -0.3573421640000001E+01 + -0.3574431991803669E+01 + -0.3575442266261251E+01 + -0.3576452459817000E+01 + -0.3577462568915166E+01 + -0.3578472590000000E+01 + -0.3579482519429569E+01 + -0.3580492353217205E+01 + -0.3581502087290057E+01 + -0.3582511717575274E+01 + -0.3583521240000001E+01 + -0.3584530650558057E+01 + -0.3585539945509929E+01 + -0.3586549121182773E+01 + -0.3587558173903745E+01 + -0.3588567100000000E+01 + -0.3589575895778207E+01 + -0.3590584557463082E+01 + -0.3591593081258853E+01 + -0.3592601463369751E+01 + -0.3593609700000001E+01 + -0.3594617787289118E+01 + -0.3595625721117747E+01 + -0.3596633497301817E+01 + -0.3597641111657258E+01 + -0.3598648560000000E+01 + -0.3599655838265326E+01 + -0.3600662942865936E+01 + -0.3601669870333883E+01 + -0.3602676617201221E+01 + -0.3603683180000001E+01 + -0.3604689555169579E+01 + -0.3605695738778512E+01 + -0.3606701726802655E+01 + -0.3607707515217865E+01 + -0.3608713100000000E+01 + -0.3609718477136360E+01 + -0.3610723642660021E+01 + -0.3611728592615501E+01 + -0.3612733323047322E+01 + -0.3613737830000001E+01 + -0.3614742109564982E+01 + -0.3615746158021406E+01 + -0.3616749971695341E+01 + -0.3617753546912850E+01 + -0.3618756880000000E+01 + -0.3619759967243715E+01 + -0.3620762804774355E+01 + -0.3621765388683137E+01 + -0.3622767715061281E+01 + -0.3623769780000001E+01 + -0.3624771579620158E+01 + -0.3625773110161174E+01 + -0.3626774367892111E+01 + -0.3627775349082032E+01 + -0.3628776050000000E+01 + -0.3629776466835656E+01 + -0.3630776595460953E+01 + -0.3631776431668422E+01 + -0.3632775971250594E+01 + -0.3633775210000001E+01 + -0.3634774143837220E+01 + -0.3635772769195016E+01 + -0.3636771082634204E+01 + -0.3637769080715594E+01 + -0.3638766760000000E+01 + -0.3639764116935469E+01 + -0.3640761147518985E+01 + -0.3641757847634766E+01 + -0.3642754213167031E+01 + -0.3643750240000001E+01 + -0.3644745924100908E+01 + -0.3645741261769048E+01 + -0.3646736249386736E+01 + -0.3647730883336283E+01 + -0.3648725160000000E+01 + -0.3649719076580905E+01 + -0.3650712633564825E+01 + -0.3651705832258294E+01 + -0.3652698673967841E+01 + -0.3653691160000001E+01 + -0.3654683291735475E+01 + -0.3655675070851652E+01 + -0.3656666499100091E+01 + -0.3657657578232354E+01 + -0.3658648310000000E+01 + -0.3659638696157200E+01 + -0.3660628738468571E+01 + -0.3661618438701342E+01 + -0.3662607798622742E+01 + -0.3663596820000001E+01 + -0.3664585504515728E+01 + -0.3665573853514066E+01 + -0.3666561868254540E+01 + -0.3667549549996677E+01 + -0.3668536900000000E+01 + -0.3669523919619893E+01 + -0.3670510610595168E+01 + -0.3671496974760498E+01 + -0.3672483013950552E+01 + -0.3673468730000001E+01 + -0.3674454124684703E+01 + -0.3675439199545262E+01 + -0.3676423956063470E+01 + -0.3677408395721119E+01 + -0.3678392520000000E+01 + -0.3679376330441301E+01 + -0.3680359828823788E+01 + -0.3681343016985625E+01 + -0.3682325896764975E+01 + -0.3683308470000001E+01 + -0.3684290738430097E+01 + -0.3685272703399588E+01 + -0.3686254366154032E+01 + -0.3687235727938983E+01 + -0.3688216790000000E+01 + -0.3689197553678314E+01 + -0.3690178020697861E+01 + -0.3691158192878250E+01 + -0.3692138072039093E+01 + -0.3693117660000001E+01 + -0.3694096958536647E+01 + -0.3695075969248968E+01 + -0.3696054693692967E+01 + -0.3697033133424644E+01 + -0.3698011290000000E+01 + -0.3698989164975102E+01 + -0.3699966759906268E+01 + -0.3700944076349884E+01 + -0.3701921115862333E+01 + -0.3702897880000001E+01 + -0.3703874370362950E+01 + -0.3704850588725962E+01 + -0.3705826536907499E+01 + -0.3706802216726025E+01 + -0.3707777630000000E+01 + -0.3708752778453104E+01 + -0.3709727663429888E+01 + -0.3710702286180120E+01 + -0.3711676647953567E+01 + -0.3712650750000001E+01 + -0.3713624593664636E+01 + -0.3714598180674487E+01 + -0.3715571512852022E+01 + -0.3716544592019705E+01 + -0.3717517420000000E+01 + -0.3718489998568358E+01 + -0.3719462329312165E+01 + -0.3720434413771793E+01 + -0.3721406253487614E+01 + -0.3722377850000001E+01 + -0.3723349204861935E+01 + -0.3724320319676854E+01 + -0.3725291196060805E+01 + -0.3726261835629838E+01 + -0.3727232240000000E+01 + -0.3728202410783905E+01 + -0.3729172349580423E+01 + -0.3730142057984988E+01 + -0.3731111537593035E+01 + -0.3732080790000001E+01 + -0.3733049816802447E+01 + -0.3734018619601457E+01 + -0.3734987199999244E+01 + -0.3735955559598021E+01 + -0.3736923700000000E+01 + -0.3737891622806311E+01 + -0.3738859329613752E+01 + -0.3739826822018037E+01 + -0.3740794101614882E+01 + -0.3741761170000001E+01 + -0.3742728028772311E+01 + -0.3743694679543538E+01 + -0.3744661123928609E+01 + -0.3745627363542454E+01 + -0.3746593400000000E+01 + -0.3747559234904450E+01 + -0.3748524869812102E+01 + -0.3749490306267529E+01 + -0.3750455545815304E+01 + -0.3751420590000001E+01 + -0.3752385440409892E+01 + -0.3753350098808056E+01 + -0.3754314567001275E+01 + -0.3755278846796330E+01 + -0.3756242940000000E+01 + -0.3757206848335988E+01 + -0.3758170573195677E+01 + -0.3759134115887372E+01 + -0.3760097477719378E+01 + -0.3761060660000000E+01 + -0.3762023664086160E+01 + -0.3762986491529239E+01 + -0.3763949143929239E+01 + -0.3764911622886159E+01 + -0.3765873930000000E+01 + -0.3766836066919378E+01 + -0.3767798035487372E+01 + -0.3768759837595677E+01 + -0.3769721475135988E+01 + -0.3770682950000000E+01 + -0.3771644263996330E+01 + -0.3772605418601275E+01 + -0.3773566415208056E+01 + -0.3774527255209891E+01 + -0.3775487940000000E+01 + -0.3776448471015304E+01 + -0.3777408849867529E+01 + -0.3778369078212102E+01 + -0.3779329157704450E+01 + -0.3780289090000000E+01 + -0.3781248876742455E+01 + -0.3782208519528609E+01 + -0.3783168019943537E+01 + -0.3784127379572310E+01 + -0.3785086600000000E+01 + -0.3786045682814881E+01 + -0.3787004629618037E+01 + -0.3787963442013752E+01 + -0.3788922121606311E+01 + -0.3789880670000000E+01 + -0.3790839088798022E+01 + -0.3791797379599245E+01 + -0.3792755544001457E+01 + -0.3793713583602447E+01 + -0.3794671500000000E+01 + -0.3795629294793035E+01 + -0.3796586969584987E+01 + -0.3797544525980422E+01 + -0.3798501965583905E+01 + -0.3799459290000000E+01 + -0.3800416500829840E+01 + -0.3801373599660808E+01 + -0.3802330588076856E+01 + -0.3803287467661937E+01 + -0.3804244240000000E+01 + -0.3805200906687611E+01 + -0.3806157469371786E+01 + -0.3807113929712156E+01 + -0.3808070289368350E+01 + -0.3809026550000000E+01 + -0.3809982713219720E+01 + -0.3810938780452051E+01 + -0.3811894753074523E+01 + -0.3812850632464663E+01 + -0.3813806420000000E+01 + -0.3814762117153516E+01 + -0.3815717725780015E+01 + -0.3816673247829756E+01 + -0.3817628685252998E+01 + -0.3818584040000000E+01 + -0.3819539313926219E+01 + -0.3820494508507893E+01 + -0.3821449625126457E+01 + -0.3822404665163348E+01 + -0.3823359630000000E+01 + -0.3824314521061611E+01 + -0.3825269339948417E+01 + -0.3826224088304419E+01 + -0.3827178767773614E+01 + -0.3828133380000000E+01 + -0.3829087926627340E+01 + -0.3830042409298439E+01 + -0.3830996829655869E+01 + -0.3831951189342199E+01 + -0.3832905490000000E+01 + -0.3833859733229033E+01 + -0.3834813920457827E+01 + -0.3835768053072106E+01 + -0.3836722132457589E+01 + -0.3837676160000000E+01 + -0.3838630137176530E+01 + -0.3839584065830252E+01 + -0.3840537947895708E+01 + -0.3841491785307443E+01 + -0.3842445580000000E+01 + -0.3843399333824849E+01 + -0.3844353048301169E+01 + -0.3845306724865064E+01 + -0.3846260364952639E+01 + -0.3847213970000000E+01 + -0.3848167541444074E+01 + -0.3849121080725075E+01 + -0.3850074589284038E+01 + -0.3851028068562001E+01 + -0.3851981520000000E+01 + -0.3852934945118856E+01 + -0.3853888345758535E+01 + -0.3854841723838785E+01 + -0.3855795081279357E+01 + -0.3856748420000000E+01 + -0.3857701741840501E+01 + -0.3858655048320786E+01 + -0.3859608340880822E+01 + -0.3860561620960571E+01 + -0.3861514890000000E+01 + -0.3862468149439144E+01 + -0.3863421400718324E+01 + -0.3864374645277931E+01 + -0.3865327884558359E+01 + -0.3866281120000000E+01 + -0.3867234353122925E+01 + -0.3868187585765922E+01 + -0.3869140819847455E+01 + -0.3870094057285992E+01 + -0.3871047300000000E+01 + -0.3872000549829157E+01 + -0.3872953808297994E+01 + -0.3873907076852251E+01 + -0.3874860356937673E+01 + -0.3875813650000000E+01 + -0.3876766957480447E+01 + -0.3877720280802105E+01 + -0.3878673621383540E+01 + -0.3879626980643317E+01 + -0.3880580360000000E+01 + -0.3881533760969060E+01 + -0.3882487185453590E+01 + -0.3883440635453590E+01 + -0.3884394112969060E+01 + -0.3885347620000000E+01 + -0.3886301158403316E+01 + -0.3887254729463539E+01 + -0.3888208334322102E+01 + -0.3889161974120444E+01 + -0.3890115650000000E+01 + -0.3891069363257676E+01 + -0.3892023115812259E+01 + -0.3892976909738003E+01 + -0.3893930747109165E+01 + -0.3894884630000000E+01 + -0.3895838560325977E+01 + -0.3896792539367426E+01 + -0.3897746568245885E+01 + -0.3898700648082896E+01 + -0.3899654780000000E+01 + -0.3900608965278412E+01 + -0.3901563205838039E+01 + -0.3902517503758459E+01 + -0.3903471861119253E+01 + -0.3904426280000000E+01 + -0.3905380762320374E+01 + -0.3906335309360421E+01 + -0.3907289922240281E+01 + -0.3908244602080094E+01 + -0.3909199350000000E+01 + -0.3910154167280094E+01 + -0.3911109055840280E+01 + -0.3912064017760420E+01 + -0.3913019055120373E+01 + -0.3913974170000000E+01 + -0.3914929364319253E+01 + -0.3915884639358460E+01 + -0.3916839996238039E+01 + -0.3917795436078412E+01 + -0.3918750960000000E+01 + -0.3919706569282896E+01 + -0.3920662265845884E+01 + -0.3921618051767426E+01 + -0.3922573929125978E+01 + -0.3923529900000000E+01 + -0.3924485966309165E+01 + -0.3925442129338004E+01 + -0.3926398390212260E+01 + -0.3927354750057677E+01 + -0.3928311210000000E+01 + -0.3929267771320443E+01 + -0.3930224435922101E+01 + -0.3931181205863538E+01 + -0.3932138083203316E+01 + -0.3933095070000000E+01 + -0.3934052168169059E+01 + -0.3935009379053590E+01 + -0.3935966703853590E+01 + -0.3936924143769060E+01 + -0.3937881700000000E+01 + -0.3938839373843317E+01 + -0.3939797166983540E+01 + -0.3940755081202104E+01 + -0.3941713118280446E+01 + -0.3942671280000000E+01 + -0.3943629568137673E+01 + -0.3944587984452252E+01 + -0.3945546530697994E+01 + -0.3946505208629158E+01 + -0.3947464020000000E+01 + -0.3948422966485992E+01 + -0.3949382049447454E+01 + -0.3950341270165921E+01 + -0.3951300629922925E+01 + -0.3952260130000000E+01 + -0.3953219771758359E+01 + -0.3954179556877932E+01 + -0.3955139487118324E+01 + -0.3956099564239144E+01 + -0.3957059790000000E+01 + -0.3958020166160571E+01 + -0.3958980694480821E+01 + -0.3959941376720785E+01 + -0.3960902214640500E+01 + -0.3961863210000000E+01 + -0.3962824364479357E+01 + -0.3963785679438786E+01 + -0.3964747156158536E+01 + -0.3965708795918857E+01 + -0.3966670600000000E+01 + -0.3967632569762001E+01 + -0.3968594706884037E+01 + -0.3969557013125074E+01 + -0.3970519490244073E+01 + -0.3971482140000000E+01 + -0.3972444964152639E+01 + -0.3973407964465065E+01 + -0.3974371142701170E+01 + -0.3975334500624850E+01 + -0.3976298040000000E+01 + -0.3977261762507442E+01 + -0.3978225669495706E+01 + -0.3979189762230249E+01 + -0.3980154041976528E+01 + -0.3981118510000000E+01 + -0.3982083167657592E+01 + -0.3983048016672112E+01 + -0.3984013058857835E+01 + -0.3984978296029039E+01 + -0.3985943730000000E+01 + -0.3986909362542188E+01 + -0.3987875195255846E+01 + -0.3988841229698410E+01 + -0.3989807467427316E+01 + -0.3990773910000000E+01 + -0.3991740558973655E+01 + -0.3992707415904503E+01 + -0.3993674482348524E+01 + -0.3994641759861696E+01 + -0.3995609250000000E+01 + -0.3996576954363192E+01 + -0.3997544874726142E+01 + -0.3998513012907496E+01 + -0.3999481370725900E+01 + -0.4000449950000000E+01 + -0.4001418752453575E+01 + -0.4002387779430929E+01 + -0.4003357032181494E+01 + -0.4004326511954706E+01 + -0.4005296220000000E+01 + -0.4006266157662507E+01 + -0.4007236326670145E+01 + -0.4008206728846530E+01 + -0.4009177366015277E+01 + -0.4010148240000000E+01 + -0.4011119352576398E+01 + -0.4012090705328492E+01 + -0.4013062299792388E+01 + -0.4014034137504190E+01 + -0.4015006220000000E+01 + -0.4015978548831904E+01 + -0.4016951125615889E+01 + -0.4017923951983922E+01 + -0.4018897029567969E+01 + -0.4019870360000000E+01 + -0.4020843944895987E+01 + -0.4021817785807951E+01 + -0.4022791884271922E+01 + -0.4023766241823929E+01 + -0.4024740860000000E+01 + -0.4025715740384148E+01 + -0.4026690884752306E+01 + -0.4027666294928390E+01 + -0.4028641972736316E+01 + -0.4029617920000000E+01 + -0.4030594138447421E+01 + -0.4031570629422824E+01 + -0.4032547394174516E+01 + -0.4033524433950806E+01 + -0.4034501750000000E+01 + -0.4035479343666168E+01 + -0.4036457216676401E+01 + -0.4037435370853549E+01 + -0.4038413808020465E+01 + -0.4039392530000000E+01 + -0.4040371538567908E+01 + -0.4041350835311573E+01 + -0.4042330421771286E+01 + -0.4043310299487332E+01 + -0.4044290470000000E+01 + -0.4045270934862199E+01 + -0.4046251695677304E+01 + -0.4047232754061310E+01 + -0.4048214111630210E+01 + -0.4049195770000000E+01 + -0.4050177730783295E+01 + -0.4051159995579208E+01 + -0.4052142565983474E+01 + -0.4053125443591826E+01 + -0.4054108630000000E+01 + -0.4055092126804620E+01 + -0.4056075935605864E+01 + -0.4057060058004797E+01 + -0.4058044495602487E+01 + -0.4059029250000000E+01 + -0.4060014322798223E+01 + -0.4060999715597334E+01 + -0.4061985429997336E+01 + -0.4062971467598223E+01 + -0.4063957830000000E+01 + -0.4064944518802488E+01 + -0.4065931535604798E+01 + -0.4066918882005864E+01 + -0.4067906559604620E+01 + -0.4068894570000000E+01 + -0.4069882914791825E+01 + -0.4070871595583473E+01 + -0.4071860613979209E+01 + -0.4072849971583296E+01 + -0.4073839670000000E+01 + -0.4074829710830211E+01 + -0.4075820095661310E+01 + -0.4076810826077304E+01 + -0.4077801903662198E+01 + -0.4078793330000000E+01 + -0.4079785106687330E+01 + -0.4080777235371285E+01 + -0.4081769717711575E+01 + -0.4082762555367910E+01 + -0.4083755750000000E+01 + -0.4084749303220466E+01 + -0.4085743216453549E+01 + -0.4086737491076400E+01 + -0.4087732128466167E+01 + -0.4088727130000000E+01 + -0.4089722497150804E+01 + -0.4090718231774514E+01 + -0.4091714335822824E+01 + -0.4092710811247422E+01 + -0.4093707660000000E+01 + -0.4094704883936316E+01 + -0.4095702484528390E+01 + -0.4096700463152305E+01 + -0.4097698821184147E+01 + -0.4098697560000000E+01 + -0.4099696681023928E+01 + -0.4100696185871922E+01 + -0.4101696076207952E+01 + -0.4102696353695988E+01 + -0.4103697020000000E+01 + -0.4104698076767972E+01 + -0.4105699525583923E+01 + -0.4106701368015889E+01 + -0.4107703605631903E+01 + -0.4108706240000000E+01 + -0.4109709272704188E+01 + -0.4110712705392387E+01 + -0.4111716539728493E+01 + -0.4112720777376398E+01 + -0.4113725420000000E+01 + -0.4114730469215276E+01 + -0.4115735926446529E+01 + -0.4116741793070144E+01 + -0.4117748070462506E+01 + -0.4118754760000000E+01 + -0.4119761863154706E+01 + -0.4120769381781494E+01 + -0.4121777317830929E+01 + -0.4122785673253577E+01 + -0.4123794450000000E+01 + -0.4124803649925900E+01 + -0.4125813274507496E+01 + -0.4126823325126142E+01 + -0.4127833803163192E+01 + -0.4128844710000000E+01 + -0.4129856047061696E+01 + -0.4130867815948523E+01 + -0.4131880018304504E+01 + -0.4132892655773657E+01 + -0.4133905730000000E+01 + -0.4134919242627317E+01 + -0.4135933195298410E+01 + -0.4136947589655846E+01 + -0.4137962427342187E+01 + -0.4138977710000000E+01 + -0.4139993439229039E+01 + -0.4141009616457835E+01 + -0.4142026243072111E+01 + -0.4143043320457593E+01 + -0.4144060850000000E+01 + -0.4145078833176528E+01 + -0.4146097271830248E+01 + -0.4147116167895705E+01 + -0.4148135523307441E+01 + -0.4149155340000000E+01 + -0.4150175619824850E+01 + -0.4151196364301169E+01 + -0.4152217574865064E+01 + -0.4153239252952640E+01 + -0.4154261400000000E+01 + -0.4155284017444074E+01 + -0.4156307106725073E+01 + -0.4157330669284037E+01 + -0.4158354706562000E+01 + -0.4159379220000000E+01 + -0.4160404211118856E+01 + -0.4161429681758535E+01 + -0.4162455633838786E+01 + -0.4163482069279358E+01 + -0.4164508990000000E+01 + -0.4165536397840500E+01 + -0.4166564294320785E+01 + -0.4167592680880820E+01 + -0.4168621558960570E+01 + -0.4169650930000000E+01 + -0.4170680795439144E+01 + -0.4171711156718324E+01 + -0.4172742015277931E+01 + -0.4173773372558360E+01 + -0.4174805230000001E+01 + -0.4175837589122925E+01 + -0.4176870451765921E+01 + -0.4177903819847455E+01 + -0.4178937695285992E+01 + -0.4179972080000000E+01 + -0.4181006975829157E+01 + -0.4182042384297994E+01 + -0.4183078306852251E+01 + -0.4184114744937673E+01 + -0.4185151700000001E+01 + -0.4186189173480446E+01 + -0.4187227166802104E+01 + -0.4188265681383539E+01 + -0.4189304718643316E+01 + -0.4190344280000000E+01 + -0.4191384366969060E+01 + -0.4192424981453591E+01 + -0.4193466125453592E+01 + -0.4194507800969063E+01 + -0.4195550010000001E+01 + -0.4196592754403313E+01 + -0.4197636035463531E+01 + -0.4198679854322093E+01 + -0.4199724212120437E+01 + -0.4200769110000000E+01 + -0.4201814549257692E+01 + -0.4202860531812289E+01 + -0.4203907059738040E+01 + -0.4204954135109196E+01 + -0.4206001760000001E+01 + -0.4207049936325927E+01 + -0.4208098665367319E+01 + -0.4209147948245750E+01 + -0.4210197786082787E+01 + -0.4211248180000000E+01 + -0.4212299131278609E+01 + -0.4213350641838439E+01 + -0.4214402713758964E+01 + -0.4215455349119661E+01 + -0.4216508550000001E+01 + -0.4217562318319639E+01 + -0.4218616655358927E+01 + -0.4219671562238396E+01 + -0.4220727040078577E+01 + -0.4221783090000000E+01 + -0.4222839713282840E+01 + -0.4223896911845857E+01 + -0.4224954687767453E+01 + -0.4226013043126033E+01 + -0.4227071980000001E+01 + -0.4228131500309002E+01 + -0.4229191605337647E+01 + -0.4230252296211793E+01 + -0.4231313574057293E+01 + -0.4232375440000000E+01 + -0.4233437895321158E+01 + -0.4234500941923558E+01 + -0.4235564581865378E+01 + -0.4236628817204800E+01 + -0.4237693650000001E+01 + -0.4238759082166369E+01 + -0.4239825115048124E+01 + -0.4240891749846695E+01 + -0.4241958987763510E+01 + -0.4243026830000000E+01 + -0.4244095277853370E+01 + -0.4245164333003950E+01 + -0.4246233997227844E+01 + -0.4247304272301159E+01 + -0.4248375160000001E+01 + -0.4249446662100151E+01 + -0.4250518780376079E+01 + -0.4251591516601933E+01 + -0.4252664872551858E+01 + -0.4253738850000000E+01 + -0.4254813450626033E+01 + -0.4255888675731739E+01 + -0.4256964526524429E+01 + -0.4258041004211414E+01 + -0.4259118110000001E+01 + -0.4260195845235721E+01 + -0.4261274211816968E+01 + -0.4262353211780355E+01 + -0.4263432847162495E+01 + -0.4264513120000000E+01 + -0.4265594032191088E+01 + -0.4266675585080393E+01 + -0.4267757779874154E+01 + -0.4268840617778611E+01 + -0.4269924100000001E+01 + -0.4271008227839929E+01 + -0.4272093002981462E+01 + -0.4273178427203030E+01 + -0.4274264502283066E+01 + -0.4275351230000000E+01 + -0.4276438612129199E+01 + -0.4277526650433762E+01 + -0.4278615346673726E+01 + -0.4279704702609127E+01 + -0.4280794720000001E+01 + -0.4281885400523280E+01 + -0.4282976745523492E+01 + -0.4284068756262066E+01 + -0.4285161434000426E+01 + -0.4286254780000000E+01 + -0.4287348795617686E+01 + -0.4288443482592271E+01 + -0.4289538842758013E+01 + -0.4290634877949170E+01 + -0.4291731590000001E+01 + -0.4292828980685978E+01 + -0.4293927051547425E+01 + -0.4295025804065885E+01 + -0.4296125239722897E+01 + -0.4297225360000000E+01 + -0.4298326166438409E+01 + -0.4299427660818032E+01 + -0.4300529844978450E+01 + -0.4301632720759246E+01 + -0.4302736290000001E+01 + -0.4303840554440389E+01 + -0.4304945515420450E+01 + -0.4306051174180317E+01 + -0.4307157531960122E+01 + -0.4308264590000000E+01 + -0.4309372349640042E+01 + -0.4310480812620175E+01 + -0.4311589980780288E+01 + -0.4312699855960267E+01 + -0.4313810440000001E+01 + -0.4314921734679448E+01 + -0.4316033741538853E+01 + -0.4317146462058536E+01 + -0.4318259897718812E+01 + -0.4319374050000000E+01 + -0.4320488920442173E+01 + -0.4321604510824417E+01 + -0.4322720822985575E+01 + -0.4323837858764489E+01 + -0.4324955620000001E+01 + -0.4326074108431864E+01 + -0.4327193325403481E+01 + -0.4328313272159166E+01 + -0.4329433949943234E+01 + -0.4330555360000000E+01 + -0.4331677503670375E+01 + -0.4332800382681662E+01 + -0.4333923998857762E+01 + -0.4335048354022574E+01 + -0.4336173450000001E+01 + -0.4337299288566638E+01 + -0.4338425871309872E+01 + -0.4339553199769787E+01 + -0.4340681275486468E+01 + -0.4341810100000000E+01 + -0.4342939674863079E+01 + -0.4344070001678855E+01 + -0.4345201082063092E+01 + -0.4346332917631552E+01 + -0.4347465510000001E+01 + -0.4348598860781049E+01 + -0.4349732971574711E+01 + -0.4350867843977848E+01 + -0.4352003479587323E+01 + -0.4353139880000000E+01 + -0.4354277046812728E+01 + -0.4355414981622305E+01 + -0.4356553686025519E+01 + -0.4357693161619156E+01 + -0.4358833410000001E+01 + -0.4359974432768041E+01 + -0.4361116231536069E+01 + -0.4362258807920076E+01 + -0.4363402163536056E+01 + -0.4364546300000000E+01 + -0.4365691218915110E+01 + -0.4366836921833421E+01 + -0.4367983410294178E+01 + -0.4369130685836622E+01 + -0.4370278750000001E+01 + -0.4371427604371520E+01 + -0.4372577250730246E+01 + -0.4373727690903213E+01 + -0.4374878926717454E+01 + -0.4376030960000000E+01 + -0.4377183792478816E+01 + -0.4378337425485595E+01 + -0.4379491860252968E+01 + -0.4380647098013561E+01 + -0.4381803140000001E+01 + -0.4382959987553220E+01 + -0.4384117642447371E+01 + -0.4385276106564913E+01 + -0.4386435381788303E+01 + -0.4387595470000000E+01 + -0.4388756372988309E+01 + -0.4389918092164923E+01 + -0.4391080628847382E+01 + -0.4392243984353228E+01 + -0.4393408160000001E+01 + -0.4394573157213547E+01 + -0.4395738977852940E+01 + -0.4396905623885560E+01 + -0.4398073097278786E+01 + -0.4399241400000000E+01 + -0.4400410533917508E+01 + -0.4401580500503322E+01 + -0.4402751301130382E+01 + -0.4403922937171628E+01 + -0.4405095410000001E+01 + -0.4406268721036426E+01 + -0.4407442871893776E+01 + -0.4408617864232915E+01 + -0.4409793699714703E+01 + -0.4410970380000000E+01 + -0.4412147906736795E+01 + -0.4413326281521576E+01 + -0.4414505505937961E+01 + -0.4415685581569563E+01 + -0.4416866510000001E+01 + -0.4418048292816398E+01 + -0.4419230931619921E+01 + -0.4420414428015244E+01 + -0.4421598783607045E+01 + -0.4422784000000000E+01 + -0.4423970078797618E+01 + -0.4425157021598746E+01 + -0.4426344830001066E+01 + -0.4427533505602257E+01 + -0.4428723050000000E+01 + -0.4429913464793131E+01 + -0.4431104751585095E+01 + -0.4432296911980494E+01 + -0.4433489947583928E+01 + -0.4434683860000000E+01 + -0.4435878650829861E+01 + -0.4437074321660876E+01 + -0.4438270874076959E+01 + -0.4439468309662029E+01 + -0.4440666630000000E+01 + -0.4441865836687426E+01 + -0.4443065931371404E+01 + -0.4444266915711669E+01 + -0.4445468791367956E+01 + -0.4446671560000000E+01 + -0.4447875223220438E+01 + -0.4449079782453514E+01 + -0.4450285239076369E+01 + -0.4451491594466150E+01 + -0.4452698850000000E+01 + -0.4453907007150822E+01 + -0.4455116067774545E+01 + -0.4456326033822856E+01 + -0.4457536907247445E+01 + -0.4458748690000000E+01 + -0.4459961383936277E+01 + -0.4461174990528312E+01 + -0.4462389511152208E+01 + -0.4463604947184069E+01 + -0.4464821300000000E+01 + -0.4466038571024071E+01 + -0.4467256761872210E+01 + -0.4468475874208314E+01 + -0.4469695909696279E+01 + -0.4470916870000000E+01 + -0.4472138756767443E+01 + -0.4473361571582852E+01 + -0.4474585316014538E+01 + -0.4475809991630817E+01 + -0.4477035600000000E+01 + -0.4478262142706159E+01 + -0.4479489621396385E+01 + -0.4480718037733533E+01 + -0.4481947393380454E+01 + -0.4483177690000000E+01 + -0.4484408929207927E+01 + -0.4485641112431609E+01 + -0.4486874241051329E+01 + -0.4488108316447366E+01 + -0.4489343340000000E+01 + -0.4490579313182137E+01 + -0.4491816237837177E+01 + -0.4493054115901149E+01 + -0.4494292949310081E+01 + -0.4495532740000000E+01 + -0.4496773489823530E+01 + -0.4498015200299685E+01 + -0.4499257872864074E+01 + -0.4500501508952310E+01 + -0.4501746110000000E+01 + -0.4502991677443745E+01 + -0.4504238212724085E+01 + -0.4505485717282554E+01 + -0.4506734192560682E+01 + -0.4507983640000000E+01 + -0.4509234061121495E+01 + -0.4510485457763977E+01 + -0.4511737831845711E+01 + -0.4512991185284964E+01 + -0.4514245520000000E+01 + -0.4515500837830278E+01 + -0.4516757140300010E+01 + -0.4518014428854604E+01 + -0.4519272704939465E+01 + -0.4520531970000000E+01 + -0.4521792225477399E+01 + -0.4523053472795988E+01 + -0.4524315713375877E+01 + -0.4525578948637178E+01 + -0.4526843180000000E+01 + -0.4528108408980129E+01 + -0.4529374637476042E+01 + -0.4530641867481890E+01 + -0.4531910100991826E+01 + -0.4533179340000000E+01 + -0.4534449586362088E+01 + -0.4535720841379849E+01 + -0.4536993106216566E+01 + -0.4538266382035523E+01 + -0.4539540670000000E+01 + -0.4540815971411522E+01 + -0.4542092288124565E+01 + -0.4543369622131847E+01 + -0.4544647975426086E+01 + -0.4545927350000000E+01 + -0.4547207747751829E+01 + -0.4548489170201896E+01 + -0.4549771618776049E+01 + -0.4551055094900135E+01 + -0.4552339600000000E+01 + -0.4553625135501167E+01 + -0.4554911702827853E+01 + -0.4556199303403957E+01 + -0.4557487938653375E+01 + -0.4558777610000000E+01 + -0.4560068318963508E+01 + -0.4561360067446692E+01 + -0.4562652857448121E+01 + -0.4563946690966367E+01 + -0.4565241570000000E+01 + -0.4566537496404801E+01 + -0.4567834471465380E+01 + -0.4569132496323559E+01 + -0.4570431572121159E+01 + -0.4571731700000000E+01 + -0.4573032881257292E+01 + -0.4574335117811792E+01 + -0.4575638411737646E+01 + -0.4576942765109000E+01 + -0.4578248180000000E+01 + -0.4579554658326035E+01 + -0.4580862201367454E+01 + -0.4582170810245858E+01 + -0.4583480486082841E+01 + -0.4584791230000000E+01 + -0.4586103043278578E+01 + -0.4587415927838396E+01 + -0.4588729885758927E+01 + -0.4590044919119638E+01 + -0.4591361030000000E+01 + -0.4592678220319659E+01 + -0.4593996491358965E+01 + -0.4595315844238439E+01 + -0.4596636280078609E+01 + -0.4597957800000000E+01 + -0.4599280405282786E+01 + -0.4600604097845749E+01 + -0.4601928879767318E+01 + -0.4603254753125925E+01 + -0.4604581720000000E+01 + -0.4605909782309194E+01 + -0.4607238941338041E+01 + -0.4608569198212289E+01 + -0.4609900554057691E+01 + -0.4611233010000000E+01 + -0.4612566567320436E+01 + -0.4613901227922092E+01 + -0.4615236993863531E+01 + -0.4616573867203312E+01 + -0.4617911850000000E+01 + -0.4619250944169061E+01 + -0.4620591151053593E+01 + -0.4621932471853592E+01 + -0.4623274907769060E+01 + -0.4624618460000000E+01 + -0.4625963129843316E+01 + -0.4627308918983539E+01 + -0.4628655829202105E+01 + -0.4630003862280446E+01 + -0.4631353020000000E+01 + -0.4632703304137672E+01 + -0.4634054716452250E+01 + -0.4635407258697992E+01 + -0.4636760932629156E+01 + -0.4638115740000000E+01 + -0.4639471682485996E+01 + -0.4640828761447462E+01 + -0.4642186978165930E+01 + -0.4643546333922933E+01 + -0.4644906830000000E+01 + -0.4646268467758345E+01 + -0.4647631248877904E+01 + -0.4648995175118288E+01 + -0.4650360248239115E+01 + -0.4651726470000000E+01 + -0.4653093842160623E+01 + -0.4654462366480928E+01 + -0.4655832044720921E+01 + -0.4657202878640609E+01 + -0.4658574870000000E+01 + -0.4659948020479160E+01 + -0.4661322331438385E+01 + -0.4662697804158031E+01 + -0.4664074439918450E+01 + -0.4665452240000000E+01 + -0.4666831205762737E+01 + -0.4668211338885532E+01 + -0.4669592641126958E+01 + -0.4670975114245590E+01 + -0.4672358760000000E+01 + -0.4673743580149892E+01 + -0.4675129576459487E+01 + -0.4676516750694137E+01 + -0.4677905104619191E+01 + -0.4679294640000000E+01 + -0.4680685358517696E+01 + -0.4682077261516521E+01 + -0.4683470350256498E+01 + -0.4684864625997650E+01 + -0.4686260090000000E+01 + -0.4687656743619326E+01 + -0.4689054588594432E+01 + -0.4690453626759872E+01 + -0.4691853859950209E+01 + -0.4693255290000000E+01 + -0.4694657918685000E+01 + -0.4696061747545757E+01 + -0.4697466778064014E+01 + -0.4698873011721513E+01 + -0.4700280450000000E+01 + -0.4701689094440671E+01 + -0.4703098946822541E+01 + -0.4704510008984074E+01 + -0.4705922282763738E+01 + -0.4707335770000000E+01 + -0.4708750472432315E+01 + -0.4710166391404083E+01 + -0.4711583528159694E+01 + -0.4713001883943536E+01 + -0.4714421460000000E+01 + -0.4715842257670070E+01 + -0.4717264278681128E+01 + -0.4718687524857150E+01 + -0.4720111998022115E+01 + -0.4721537700000000E+01 + -0.4722964632567404E+01 + -0.4724392797311406E+01 + -0.4725822195771706E+01 + -0.4727252829488005E+01 + -0.4728684700000000E+01 + -0.4730117808860313E+01 + -0.4731552157673248E+01 + -0.4732987748056024E+01 + -0.4734424581625867E+01 + -0.4735862660000000E+01 + -0.4737301984791344E+01 + -0.4738742557595609E+01 + -0.4740184380004202E+01 + -0.4741627453608529E+01 + -0.4743071780000000E+01 + -0.4744517360774309E+01 + -0.4745964197544317E+01 + -0.4747412291927169E+01 + -0.4748861645540014E+01 + -0.4750312260000000E+01 + -0.4751764136911420E+01 + -0.4753217277827130E+01 + -0.4754671684287128E+01 + -0.4756127357831419E+01 + -0.4757584300000000E+01 + -0.4759042512380013E+01 + -0.4760501996747169E+01 + -0.4761962754924317E+01 + -0.4763424788734311E+01 + -0.4764888100000000E+01 + -0.4766352690448530E+01 + -0.4767818561424202E+01 + -0.4769285714175608E+01 + -0.4770754149951343E+01 + -0.4772223870000000E+01 + -0.4773694875665867E+01 + -0.4775167168676024E+01 + -0.4776640750853249E+01 + -0.4778115624020316E+01 + -0.4779591790000000E+01 + -0.4781069250568002E+01 + -0.4782548007311700E+01 + -0.4784028061771398E+01 + -0.4785509415487397E+01 + -0.4786992070000000E+01 + -0.4788476026862125E+01 + -0.4789961287677171E+01 + -0.4791447854061156E+01 + -0.4792935727630094E+01 + -0.4794424910000000E+01 + -0.4795915402783498E+01 + -0.4797407207579615E+01 + -0.4798900325983983E+01 + -0.4800394759592233E+01 + -0.4801890510000000E+01 + -0.4803387578803882E+01 + -0.4804885967604368E+01 + -0.4806385678002913E+01 + -0.4807886711600972E+01 + -0.4809389070000000E+01 + -0.4810892754800971E+01 + -0.4812397767602913E+01 + -0.4813904110004369E+01 + -0.4815411783603883E+01 + -0.4816920790000000E+01 + -0.4818431130792232E+01 + -0.4819942807583978E+01 + -0.4821455821979610E+01 + -0.4822970175583494E+01 + -0.4824485870000000E+01 + -0.4826002906830102E+01 + -0.4827521287661175E+01 + -0.4829041014077196E+01 + -0.4830562087662145E+01 + -0.4832084510000000E+01 + -0.4833608282687360E+01 + -0.4835133407371321E+01 + -0.4836659885711604E+01 + -0.4838187719367924E+01 + -0.4839716910000000E+01 + -0.4841247459220458E+01 + -0.4842779368453540E+01 + -0.4844312639076392E+01 + -0.4845847272466163E+01 + -0.4847383270000000E+01 + -0.4848920633150806E+01 + -0.4850459363774517E+01 + -0.4851999463822827E+01 + -0.4853540935247424E+01 + -0.4855083780000000E+01 + -0.4856627999936316E+01 + -0.4858173596528390E+01 + -0.4859720571152305E+01 + -0.4861268925184146E+01 + -0.4862818660000000E+01 + -0.4864369777023929E+01 + -0.4865922277871922E+01 + -0.4867476164207953E+01 + -0.4869031437695989E+01 + -0.4870588100000000E+01 + -0.4872146152767971E+01 + -0.4873705597583922E+01 + -0.4875266436015888E+01 + -0.4876828669631903E+01 + -0.4878392300000000E+01 + -0.4879957328704188E+01 + -0.4881523757392387E+01 + -0.4883091587728493E+01 + -0.4884660821376399E+01 + -0.4886231460000000E+01 + -0.4887803505215277E+01 + -0.4889376958446530E+01 + -0.4890951821070145E+01 + -0.4892528094462506E+01 + -0.4894105780000000E+01 + -0.4895684879154707E+01 + -0.4897265393781494E+01 + -0.4898847325830930E+01 + -0.4900430677253578E+01 + -0.4902015450000000E+01 + -0.4903601645925900E+01 + -0.4905189266507495E+01 + -0.4906778313126141E+01 + -0.4908368787163191E+01 + -0.4909960690000000E+01 + -0.4911554023061696E+01 + -0.4913148787948524E+01 + -0.4914744986304505E+01 + -0.4916342619773657E+01 + -0.4917941690000000E+01 + -0.4919542198627316E+01 + -0.4921144147298410E+01 + -0.4922747537655845E+01 + -0.4924352371342187E+01 + -0.4925958650000000E+01 + -0.4927566375229039E+01 + -0.4929175548457836E+01 + -0.4930786171072113E+01 + -0.4932398244457594E+01 + -0.4934011770000000E+01 + -0.4935626749176527E+01 + -0.4937243183830248E+01 + -0.4938861075895705E+01 + -0.4940480427307441E+01 + -0.4942101240000000E+01 + -0.4943723515824850E+01 + -0.4945347256301170E+01 + -0.4946972462865066E+01 + -0.4948599136952641E+01 + -0.4950227280000000E+01 + -0.4951856893444073E+01 + -0.4953487978725073E+01 + -0.4955120537284037E+01 + -0.4956754570562000E+01 + -0.4958390080000000E+01 + -0.4960027067118856E+01 + -0.4961665533758535E+01 + -0.4963305481838788E+01 + -0.4964946913279359E+01 + -0.4966589830000000E+01 + -0.4968234233840500E+01 + -0.4969880126320785E+01 + -0.4971527508880820E+01 + -0.4973176382960570E+01 + -0.4974826750000000E+01 + -0.4976478611439144E+01 + -0.4978131968718324E+01 + -0.4979786823277934E+01 + -0.4981443176558361E+01 + -0.4983101030000000E+01 + -0.4984760385122924E+01 + -0.4986421243765920E+01 + -0.4988083607847453E+01 + -0.4989747479285990E+01 + -0.4991412860000000E+01 + -0.4993079751829157E+01 + -0.4994748156297994E+01 + -0.4996418074852252E+01 + -0.4998089508937675E+01 + -0.4999762460000000E+01 + -0.5001436929480446E+01 + -0.5003112918802104E+01 + -0.5004790429383539E+01 + -0.5006469462643316E+01 + -0.5008150020000000E+01 + -0.5009832102969059E+01 + -0.5011515713453590E+01 + -0.5013200853453590E+01 + -0.5014887524969062E+01 + -0.5016575730000001E+01 + -0.5018265470403317E+01 + -0.5019956747463539E+01 + -0.5021649562322102E+01 + -0.5023343916120444E+01 + -0.5025039810000000E+01 + -0.5026737245257676E+01 + -0.5028436223812259E+01 + -0.5030136747738004E+01 + -0.5031838819109167E+01 + -0.5033542440000002E+01 + -0.5035247612325979E+01 + -0.5036954337367426E+01 + -0.5038662616245885E+01 + -0.5040372450082896E+01 + -0.5042083840000000E+01 + -0.5043796787278412E+01 + -0.5045511293838039E+01 + -0.5047227361758459E+01 + -0.5048944993119255E+01 + -0.5050664190000002E+01 + -0.5052384954320376E+01 + -0.5054107287360422E+01 + -0.5055831190240281E+01 + -0.5057556664080094E+01 + -0.5059283710000000E+01 + -0.5061012329280094E+01 + -0.5062742523840281E+01 + -0.5064474295760420E+01 + -0.5066207647120376E+01 + -0.5067942580000002E+01 + -0.5069679096319255E+01 + -0.5071417197358461E+01 + -0.5073156884238040E+01 + -0.5074898158078413E+01 + -0.5076641020000000E+01 + -0.5078385471282895E+01 + -0.5080131513845884E+01 + -0.5081879149767425E+01 + -0.5083628381125980E+01 + -0.5085379210000002E+01 + -0.5087131638309168E+01 + -0.5088885667338007E+01 + -0.5090641298212262E+01 + -0.5092398532057678E+01 + -0.5094157370000000E+01 + -0.5095917813320440E+01 + -0.5097679863922094E+01 + -0.5099443523863529E+01 + -0.5101208795203310E+01 + -0.5102975680000002E+01 + -0.5104744180169075E+01 + -0.5106514297053620E+01 + -0.5108286031853626E+01 + -0.5110059385769088E+01 + -0.5111834360000000E+01 + -0.5113610955843264E+01 + -0.5115389174983433E+01 + -0.5117169019201969E+01 + -0.5118950490280339E+01 + -0.5120733590000002E+01 + -0.5122518320137872E+01 + -0.5124304682452654E+01 + -0.5126092678698500E+01 + -0.5127882310629564E+01 + -0.5129673580000000E+01 + -0.5131466488485256E+01 + -0.5133261037445960E+01 + -0.5135057228164037E+01 + -0.5136855061921411E+01 + -0.5138654540000002E+01 + -0.5140455663761109E+01 + -0.5142258434883510E+01 + -0.5144062855125357E+01 + -0.5145868926244804E+01 + -0.5147676650000000E+01 + -0.5149486028150319E+01 + -0.5151297062460008E+01 + -0.5153109754694540E+01 + -0.5154924106619382E+01 + -0.5156740120000002E+01 + -0.5158557796517622E+01 + -0.5160377137516461E+01 + -0.5162198144256490E+01 + -0.5164020817997679E+01 + -0.5165845160000000E+01 + -0.5167671171619203E+01 + -0.5169498854594155E+01 + -0.5171328210759507E+01 + -0.5173159241949907E+01 + -0.5174991950000002E+01 + -0.5176826336685571E+01 + -0.5178662403546920E+01 + -0.5180500152065484E+01 + -0.5182339583722699E+01 + -0.5184180700000000E+01 + -0.5186023502438518E+01 + -0.5187867992818167E+01 + -0.5189714172978557E+01 + -0.5191562044759301E+01 + -0.5193411610000002E+01 + -0.5195262870440360E+01 + -0.5197115827420413E+01 + -0.5198970482180288E+01 + -0.5200826835960108E+01 + -0.5202684890000000E+01 + -0.5204544645640049E+01 + -0.5206406104620184E+01 + -0.5208269268780295E+01 + -0.5210134139960273E+01 + -0.5212000720000002E+01 + -0.5213869010679446E+01 + -0.5215739013538850E+01 + -0.5217610730058532E+01 + -0.5219484161718810E+01 + -0.5221359310000000E+01 + -0.5223236176442175E+01 + -0.5225114762824420E+01 + -0.5226995070985579E+01 + -0.5228877102764491E+01 + -0.5230760860000002E+01 + -0.5232646344431862E+01 + -0.5234533557403474E+01 + -0.5236422500159157E+01 + -0.5238313173943227E+01 + -0.5240205580000000E+01 + -0.5242099719670388E+01 + -0.5243995594681689E+01 + -0.5245893206857796E+01 + -0.5247792558022602E+01 + -0.5249693650000002E+01 + -0.5251596484566590E+01 + -0.5253501063309773E+01 + -0.5255407387769662E+01 + -0.5257315459486367E+01 + -0.5259225280000000E+01 + -0.5261136850863261E+01 + -0.5263050173679226E+01 + -0.5264965250063560E+01 + -0.5266882081631930E+01 + -0.5268800670000002E+01 + -0.5270721016780367E+01 + -0.5272643123573324E+01 + -0.5274566991976100E+01 + -0.5276492623585916E+01 + -0.5278420020000000E+01 + -0.5280349182815278E+01 + -0.5282280113627482E+01 + -0.5284212814032047E+01 + -0.5286147285624408E+01 + -0.5288083530000002E+01 + -0.5290021548758526E+01 + -0.5291961343516751E+01 + -0.5293902915895715E+01 + -0.5295846267516453E+01 + -0.5297791400000000E+01 + -0.5299738314950626E+01 + -0.5301687013905519E+01 + -0.5303637498385099E+01 + -0.5305589769909786E+01 + -0.5307543830000002E+01 + -0.5309499680238974E+01 + -0.5311457322461178E+01 + -0.5313416758563894E+01 + -0.5315377990444406E+01 + -0.5317341020000000E+01 + -0.5319305848973484E+01 + -0.5321272478489777E+01 + -0.5323240909519329E+01 + -0.5325211143032588E+01 + -0.5327183180000001E+01 + -0.5329157021627094E+01 + -0.5331132670059714E+01 + -0.5333110127678787E+01 + -0.5335089396865241E+01 + -0.5337070480000000E+01 + -0.5339053379238146E+01 + -0.5341038095831372E+01 + -0.5343024630805524E+01 + -0.5345012985186451E+01 + -0.5347003160000002E+01 + -0.5348995156380326E+01 + -0.5350988975894803E+01 + -0.5352984620219119E+01 + -0.5354982091028956E+01 + -0.5356981390000000E+01 + -0.5358982518840556E+01 + -0.5360985479389419E+01 + -0.5362990273518004E+01 + -0.5364996903097725E+01 + -0.5367005370000003E+01 + -0.5369015676017452E+01 + -0.5371027822627523E+01 + -0.5373041811228870E+01 + -0.5375057643220144E+01 + -0.5377075320000000E+01 + -0.5379094843009645E+01 + -0.5381116213860496E+01 + -0.5383139434206525E+01 + -0.5385164505701702E+01 + -0.5387191430000002E+01 + -0.5389220208743972E+01 + -0.5391250843530496E+01 + -0.5393283335945034E+01 + -0.5395317687573048E+01 + -0.5397353900000000E+01 + -0.5399391974814471E+01 + -0.5401431913617524E+01 + -0.5403473718013342E+01 + -0.5405517389606106E+01 + -0.5407562930000003E+01 + -0.5409610340798146E+01 + -0.5411659623599410E+01 + -0.5413710780001601E+01 + -0.5415763811602528E+01 + -0.5417818720000000E+01 + -0.5419875506792953E+01 + -0.5421934173584844E+01 + -0.5423994721980257E+01 + -0.5426057153583781E+01 + -0.5428121470000002E+01 + -0.5430187672830045E+01 + -0.5432255763661218E+01 + -0.5434325744077369E+01 + -0.5436397615662347E+01 + -0.5438471380000000E+01 + -0.5440547038686873E+01 + -0.5442624593370289E+01 + -0.5444704045710269E+01 + -0.5446785397366833E+01 + -0.5448868650000002E+01 + -0.5450953805222468E+01 + -0.5453040864457629E+01 + -0.5455129829081556E+01 + -0.5457220700470322E+01 + -0.5459313480000000E+01 + -0.5461408169143263E+01 + -0.5463504769759202E+01 + -0.5465603283803509E+01 + -0.5467703713231877E+01 + -0.5469806060000003E+01 + -0.5471910325964482E+01 + -0.5474016512585567E+01 + -0.5476124621224410E+01 + -0.5478234653242169E+01 + -0.5480346610000000E+01 + -0.5482460492918813E+01 + -0.5484576303658537E+01 + -0.5486694043938854E+01 + -0.5488813715479448E+01 + -0.5490935320000000E+01 + -0.5493058859160269E+01 + -0.5495184334380288E+01 + -0.5497311747020175E+01 + -0.5499441098440041E+01 + -0.5501572390000000E+01 + -0.5503705623160122E+01 + -0.5505840799780316E+01 + -0.5507977921820449E+01 + -0.5510116991240388E+01 + -0.5512258010000000E+01 + -0.5514400979959247E+01 + -0.5516545902578452E+01 + -0.5518692779218033E+01 + -0.5520841611238409E+01 + -0.5522992400000000E+01 + -0.5525145146922896E+01 + -0.5527299853665884E+01 + -0.5529456521947425E+01 + -0.5531615153485976E+01 + -0.5533775750000000E+01 + -0.5535938313149172E+01 + -0.5538102844358015E+01 + -0.5540269344992272E+01 + -0.5542437816417687E+01 + -0.5544608260000000E+01 + -0.5546780677200426E+01 + -0.5548955069862066E+01 + -0.5551131439923492E+01 + -0.5553309789323279E+01 + -0.5555490120000000E+01 + -0.5557672433809129E+01 + -0.5559856732273728E+01 + -0.5562043016833763E+01 + -0.5564231288929199E+01 + -0.5566421550000000E+01 + -0.5568613801483066E+01 + -0.5570808044803030E+01 + -0.5573004281381461E+01 + -0.5575202512639929E+01 + -0.5577402740000000E+01 + -0.5579604964978612E+01 + -0.5581809189474155E+01 + -0.5584015415480394E+01 + -0.5586223644991089E+01 + -0.5588433880000000E+01 + -0.5590646122362495E+01 + -0.5592860373380355E+01 + -0.5595076634216968E+01 + -0.5597294906035720E+01 + -0.5599515190000000E+01 + -0.5601737487411413E+01 + -0.5603961800124430E+01 + -0.5606188130131739E+01 + -0.5608416479426032E+01 + -0.5610646850000000E+01 + -0.5612879243751859E+01 + -0.5615113662201934E+01 + -0.5617350106776081E+01 + -0.5619588578900152E+01 + -0.5621829080000000E+01 + -0.5624071611501157E+01 + -0.5626316174827838E+01 + -0.5628562771403941E+01 + -0.5630811402653364E+01 + -0.5633062070000000E+01 + -0.5635314774963525E+01 + -0.5637569519446723E+01 + -0.5639826305448159E+01 + -0.5642085134966397E+01 + -0.5644346010000000E+01 + -0.5646608932404748E+01 + -0.5648873903465272E+01 + -0.5651140924323423E+01 + -0.5653409996121049E+01 + -0.5655681120000000E+01 + -0.5657954297257489E+01 + -0.5660229529812193E+01 + -0.5662506819738152E+01 + -0.5664786169109407E+01 + -0.5667067580000000E+01 + -0.5669351054325299E+01 + -0.5671636593365960E+01 + -0.5673924198243974E+01 + -0.5676213870081325E+01 + -0.5678505610000000E+01 + -0.5680799419281324E+01 + -0.5683095299843973E+01 + -0.5685393253765959E+01 + -0.5687693283125297E+01 + -0.5689995390000000E+01 + -0.5692299576309408E+01 + -0.5694605843338152E+01 + -0.5696914192212193E+01 + -0.5699224624057489E+01 + -0.5701537140000000E+01 + -0.5703851741321049E+01 + -0.5706168429923423E+01 + -0.5708487207865272E+01 + -0.5710808077204748E+01 + -0.5713131040000000E+01 + -0.5715456098166398E+01 + -0.5717783253048159E+01 + -0.5720112505846722E+01 + -0.5722443857763524E+01 + -0.5724777310000000E+01 + -0.5727112863853367E+01 + -0.5729450521003948E+01 + -0.5731790283227846E+01 + -0.5734132152301162E+01 + -0.5736476130000000E+01 + -0.5738822218100139E+01 + -0.5741170418376053E+01 + -0.5743520732601898E+01 + -0.5745873162551830E+01 + -0.5748227710000000E+01 + -0.5750584376626085E+01 + -0.5752943163731845E+01 + -0.5755304072524563E+01 + -0.5757667104211521E+01 + -0.5760032260000000E+01 + -0.5762399541235525E+01 + -0.5764768949816569E+01 + -0.5767140487779851E+01 + -0.5769514157162089E+01 + -0.5771889960000000E+01 + -0.5774267898191824E+01 + -0.5776647973081888E+01 + -0.5779030185876039E+01 + -0.5781414537780127E+01 + -0.5783801030000000E+01 + -0.5786189663837181E+01 + -0.5788580440975887E+01 + -0.5790973363195998E+01 + -0.5793368432277407E+01 + -0.5795765650000000E+01 + -0.5798165018139450E+01 + -0.5800566538454574E+01 + -0.5802970212699973E+01 + -0.5805376042630247E+01 + -0.5807784030000000E+01 + -0.5810194176485015E+01 + -0.5812606483445820E+01 + -0.5815020952164113E+01 + -0.5817437583921604E+01 + -0.5819856380000000E+01 + -0.5822277341760485E+01 + -0.5824700470882153E+01 + -0.5827125769123580E+01 + -0.5829553238243338E+01 + -0.5831982880000000E+01 + -0.5834414696153045E+01 + -0.5836848688465571E+01 + -0.5839284858701570E+01 + -0.5841723208625047E+01 + -0.5844163740000000E+01 + -0.5846606454507334E+01 + -0.5849051353495571E+01 + -0.5851498438230142E+01 + -0.5853947709976476E+01 + -0.5856399170000000E+01 + -0.5858852819657622E+01 + -0.5861308660672150E+01 + -0.5863766694857866E+01 + -0.5866226924029054E+01 + -0.5868689350000000E+01 + -0.5871153974542181E+01 + -0.5873620799255837E+01 + -0.5876089825698403E+01 + -0.5878561055427313E+01 + -0.5881034490000000E+01 + -0.5883510130973657E+01 + -0.5885987979904507E+01 + -0.5888468038348527E+01 + -0.5890950307861697E+01 + -0.5893434790000000E+01 + -0.5895921486363192E+01 + -0.5898410398726141E+01 + -0.5900901528907495E+01 + -0.5903394878725900E+01 + -0.5905890450000000E+01 + -0.5908388244453575E+01 + -0.5910888263430930E+01 + -0.5913390508181495E+01 + -0.5915894979954707E+01 + -0.5918401680000000E+01 + -0.5920910609662506E+01 + -0.5923421770670144E+01 + -0.5925935164846529E+01 + -0.5928450794015276E+01 + -0.5930968660000000E+01 + -0.5933488764576397E+01 + -0.5936011109328494E+01 + -0.5938535695792390E+01 + -0.5941062525504192E+01 + -0.5943591600000000E+01 + -0.5946122920831904E+01 + -0.5948656489615889E+01 + -0.5951192307983922E+01 + -0.5953730377567969E+01 + -0.5956270700000000E+01 + -0.5958813276895987E+01 + -0.5961358109807954E+01 + -0.5963905200271925E+01 + -0.5966454549823931E+01 + -0.5969006160000000E+01 + -0.5971560032384148E+01 + -0.5974116168752306E+01 + -0.5976674570928389E+01 + -0.5979235240736315E+01 + -0.5981798180000000E+01 + -0.5984363390447421E+01 + -0.5986930873422826E+01 + -0.5989500630174518E+01 + -0.5992072661950807E+01 + -0.5994646970000000E+01 + -0.5997223555666167E+01 + -0.5999802420676399E+01 + -0.6002383566853548E+01 + -0.6004966996020463E+01 + -0.6007552710000000E+01 + -0.6010140710567908E+01 + -0.6012730999311576E+01 + -0.6015323577771288E+01 + -0.6017918447487334E+01 + -0.6020515610000000E+01 + -0.6023115066862199E+01 + -0.6025716819677304E+01 + -0.6028320870061309E+01 + -0.6030927219630208E+01 + -0.6033535870000000E+01 + -0.6036146822783294E+01 + -0.6038760079579211E+01 + -0.6041375641983476E+01 + -0.6043993511591828E+01 + -0.6046613690000000E+01 + -0.6049236178804621E+01 + -0.6051860979605864E+01 + -0.6054488094004796E+01 + -0.6057117523602486E+01 + -0.6059749270000000E+01 + -0.6062383334798223E+01 + -0.6065019719597338E+01 + -0.6067658425997338E+01 + -0.6070299455598226E+01 + -0.6072942810000000E+01 + -0.6075588490802486E+01 + -0.6078236499604795E+01 + -0.6080886838005860E+01 + -0.6083539507604616E+01 + -0.6086194510000000E+01 + -0.6088851846791830E+01 + -0.6091511519583484E+01 + -0.6094173529979220E+01 + -0.6096837879583306E+01 + -0.6099504570000000E+01 + -0.6102173602830196E+01 + -0.6104844979661281E+01 + -0.6107518702077266E+01 + -0.6110194771662168E+01 + -0.6112873190000000E+01 + -0.6115553958687384E+01 + -0.6118237079371392E+01 + -0.6120922553711712E+01 + -0.6123610383368020E+01 + -0.6126300570000000E+01 + -0.6128993115220268E+01 + -0.6131688020453148E+01 + -0.6134385287075894E+01 + -0.6137084916465758E+01 + -0.6139786910000000E+01 + -0.6142491269151540E+01 + -0.6145197995776009E+01 + -0.6147907091824711E+01 + -0.6150618559248940E+01 + -0.6153332400000000E+01 + -0.6156048615933569E+01 + -0.6158767208522813E+01 + -0.6161488179145272E+01 + -0.6164211529178487E+01 + -0.6166937260000000E+01 + -0.6169665373034181E+01 + -0.6172395869892734E+01 + -0.6175128752234200E+01 + -0.6177864021717110E+01 + -0.6180601680000000E+01 + -0.6183341728729707E+01 + -0.6186084169506248E+01 + -0.6188829003917934E+01 + -0.6191576233553080E+01 + -0.6194325860000000E+01 + -0.6197077884846986E+01 + -0.6199832309682269E+01 + -0.6202589136094061E+01 + -0.6205348365670568E+01 + -0.6208110000000000E+01 + -0.6210874040682345E+01 + -0.6213640489364673E+01 + -0.6216409347705828E+01 + -0.6219180617364654E+01 + -0.6221954300000000E+01 + -0.6224730397223631E+01 + -0.6227508910459034E+01 + -0.6230289841082625E+01 + -0.6233073190470810E+01 + -0.6235858960000000E+01 + -0.6238647151143130E+01 + -0.6241437765759188E+01 + -0.6244230805803681E+01 + -0.6247026273232115E+01 + -0.6249824170000000E+01 + -0.6252624497963846E+01 + -0.6255427258584208E+01 + -0.6258232453222650E+01 + -0.6261040083240727E+01 + -0.6263850150000000E+01 + -0.6266662654921483E+01 + -0.6269477599663976E+01 + -0.6272294985945726E+01 + -0.6275114815484984E+01 + -0.6277937090000000E+01 + -0.6280761811150216E+01 + -0.6283588980359882E+01 + -0.6286418598994441E+01 + -0.6289250668419333E+01 + -0.6292085190000000E+01 + -0.6294922165197647E+01 + -0.6297761595856494E+01 + -0.6300603483916516E+01 + -0.6303447831317691E+01 + -0.6306294640000000E+01 + -0.6309143911819191E+01 + -0.6311995648294136E+01 + -0.6314849850859490E+01 + -0.6317706520949895E+01 + -0.6320565660000000E+01 + -0.6323427269445589E+01 + -0.6326291350726957E+01 + -0.6329157905285530E+01 + -0.6332026934562734E+01 + -0.6334898440000000E+01 + -0.6337772423118450E+01 + -0.6340648885758030E+01 + -0.6343527829838388E+01 + -0.6346409257279164E+01 + -0.6349293170000000E+01 + -0.6352179569840608E+01 + -0.6355068458320919E+01 + -0.6357959836880927E+01 + -0.6360853706960621E+01 + -0.6363750070000000E+01 + -0.6366648927439115E+01 + -0.6369550280718287E+01 + -0.6372454131277906E+01 + -0.6375360480558348E+01 + -0.6378269330000000E+01 + -0.6381180681122932E+01 + -0.6384094535765930E+01 + -0.6387010895847460E+01 + -0.6389929763285993E+01 + -0.6392851140000000E+01 + -0.6395775027829155E+01 + -0.6398701428297992E+01 + -0.6401630342852253E+01 + -0.6404561772937675E+01 + -0.6407495720000000E+01 + -0.6410432185480445E+01 + -0.6413371170802104E+01 + -0.6416312677383538E+01 + -0.6419256706643314E+01 + -0.6422203260000000E+01 + -0.6425152338969059E+01 + -0.6428103945453589E+01 + -0.6431058081453593E+01 + -0.6434014748969063E+01 + -0.6436973950000000E+01 + -0.6439935686403315E+01 + -0.6442899959463536E+01 + -0.6445866770322099E+01 + -0.6448836120120441E+01 + -0.6451808010000000E+01 + -0.6454782441257676E+01 + -0.6457759415812259E+01 + -0.6460738935738006E+01 + -0.6463721003109169E+01 + -0.6466705620000000E+01 + -0.6469692788325977E+01 + -0.6472682509367425E+01 + -0.6475674784245882E+01 + -0.6478669614082892E+01 + -0.6481667000000000E+01 + -0.6484666943278412E+01 + -0.6487669445838038E+01 + -0.6490674509758459E+01 + -0.6493682137119256E+01 + -0.6496692330000004E+01 + -0.6499705090320377E+01 + -0.6502720419360423E+01 + -0.6505738318240282E+01 + -0.6508758788080094E+01 + -0.6511781830000000E+01 + -0.6514807445280094E+01 + -0.6517835635840281E+01 + -0.6520866403760421E+01 + -0.6523899751120378E+01 + -0.6526935680000004E+01 + -0.6529974192319256E+01 + -0.6533015289358461E+01 + -0.6536058972238040E+01 + -0.6539105242078414E+01 + -0.6542154100000000E+01 + -0.6545205547282896E+01 + -0.6548259585845885E+01 + -0.6551316217767425E+01 + -0.6554375445125981E+01 + -0.6557437270000004E+01 + -0.6560501694309170E+01 + -0.6563568719338008E+01 + -0.6566638346212263E+01 + -0.6569710576057679E+01 + -0.6572785410000000E+01 + -0.6575862849320440E+01 + -0.6578942895922094E+01 + -0.6582025551863528E+01 + -0.6585110819203312E+01 + -0.6588198700000004E+01 + -0.6591289196169077E+01 + -0.6594382309053620E+01 + -0.6597478039853627E+01 + -0.6600576389769089E+01 + -0.6603677360000000E+01 + -0.6606780951843263E+01 + -0.6609887166983432E+01 + -0.6612996007201969E+01 + -0.6616107474280340E+01 + -0.6619221570000003E+01 + -0.6622338296137873E+01 + -0.6625457654452654E+01 + -0.6628579646698499E+01 + -0.6631704274629564E+01 + -0.6634831540000000E+01 + -0.6637961444485257E+01 + -0.6641093989445962E+01 + -0.6644229176164039E+01 + -0.6647367005921415E+01 + -0.6650507480000004E+01 + -0.6653650599761106E+01 + -0.6656796366883502E+01 + -0.6659944783125347E+01 + -0.6663095850244796E+01 + -0.6666249570000000E+01 + -0.6669405944150332E+01 + -0.6672564974460037E+01 + -0.6675726662694576E+01 + -0.6678891010619413E+01 + -0.6682058020000004E+01 + -0.6685227692517570E+01 + -0.6688400029516354E+01 + -0.6691575032256354E+01 + -0.6694752701997571E+01 + -0.6697933040000000E+01 + -0.6701116047619399E+01 + -0.6704301726594555E+01 + -0.6707490078760012E+01 + -0.6710681105950315E+01 + -0.6713874810000004E+01 + -0.6717071192684837E+01 + -0.6720270255545428E+01 + -0.6723472000063601E+01 + -0.6726676427721183E+01 + -0.6729883540000000E+01 + -0.6733093338441266E+01 + -0.6736305824823744E+01 + -0.6739521000985590E+01 + -0.6742738868764961E+01 + -0.6745959430000004E+01 + -0.6749182686430109E+01 + -0.6752408639399602E+01 + -0.6755637290154041E+01 + -0.6758868639938988E+01 + -0.6762102690000000E+01 + -0.6765339441678312E+01 + -0.6768578896697858E+01 + -0.6771821056878248E+01 + -0.6775065924039097E+01 + -0.6778313500000004E+01 + -0.6781563786536650E+01 + -0.6784816785248971E+01 + -0.6788072497692968E+01 + -0.6791330925424645E+01 + -0.6794592070000000E+01 + -0.6797855932975101E+01 + -0.6801122515906268E+01 + -0.6804391820349884E+01 + -0.6807663847862337E+01 + -0.6810938600000004E+01 + -0.6814216078362952E+01 + -0.6817496284725963E+01 + -0.6820779220907499E+01 + -0.6824064888726024E+01 + -0.6827353290000000E+01 + -0.6830644426453104E+01 + -0.6833938299429890E+01 + -0.6837234910180122E+01 + -0.6840534259953573E+01 + -0.6843836350000004E+01 + -0.6847141181664634E+01 + -0.6850448756674481E+01 + -0.6853759076852013E+01 + -0.6857072144019697E+01 + -0.6860387960000000E+01 + -0.6863706526568372E+01 + -0.6867027845312194E+01 + -0.6870351917771830E+01 + -0.6873678745487648E+01 + -0.6877008330000003E+01 + -0.6880340672861885E+01 + -0.6883675775676748E+01 + -0.6887013640060671E+01 + -0.6890354267629729E+01 + -0.6893697660000000E+01 + -0.6897043818784102E+01 + -0.6900392745580823E+01 + -0.6903744441985493E+01 + -0.6907098909593442E+01 + -0.6910456150000004E+01 + -0.6913816164801713E+01 + -0.6917178955599964E+01 + -0.6920544523997361E+01 + -0.6923912871596505E+01 + -0.6927284000000000E+01 + -0.6930657910809059E+01 + -0.6934034605619329E+01 + -0.6937414086025069E+01 + -0.6940796353620541E+01 + -0.6944181410000003E+01 + -0.6947569256762060E+01 + -0.6950959895522726E+01 + -0.6954353327902363E+01 + -0.6957749555521334E+01 + -0.6961148580000000E+01 + -0.6964550402942712E+01 + -0.6967955025889776E+01 + -0.6971362450365483E+01 + -0.6974772677894126E+01 + -0.6978185710000004E+01 + -0.6981601548267095E+01 + -0.6985020194518175E+01 + -0.6988441650635709E+01 + -0.6991865918502162E+01 + -0.6995293000000000E+01 + -0.6998722896868919E+01 + -0.7002155610277533E+01 + -0.7005591141251688E+01 + -0.7009029490817228E+01 + -0.7012470660000004E+01 + -0.7015914650017237E+01 + -0.7019361462851700E+01 + -0.7022811100677545E+01 + -0.7026263565668928E+01 + -0.7029718860000000E+01 + -0.7033176985702147E+01 + -0.7036637944235678E+01 + -0.7040101736918136E+01 + -0.7043568365067062E+01 + -0.7047037830000003E+01 + -0.7050510133094183E+01 + -0.7053985275965593E+01 + -0.7057463260289913E+01 + -0.7060944087742822E+01 + -0.7064427760000000E+01 + -0.7067914278721136E+01 + -0.7071403645501961E+01 + -0.7074895861922220E+01 + -0.7078390929561651E+01 + -0.7081888850000004E+01 + -0.7085389624821280E+01 + -0.7088893255626567E+01 + -0.7092399744021215E+01 + -0.7095909091610576E+01 + -0.7099421300000000E+01 + -0.7102936370793757E+01 + -0.7106454305591782E+01 + -0.7109975105992930E+01 + -0.7113498773596051E+01 + -0.7117025310000003E+01 + -0.7120554716803698E+01 + -0.7124086995606308E+01 + -0.7127622148007071E+01 + -0.7131160175605223E+01 + -0.7134701080000000E+01 + -0.7138244862791466E+01 + -0.7141791525582995E+01 + -0.7145341069978793E+01 + -0.7148893497583059E+01 + -0.7152448810000004E+01 + -0.7156007008830446E+01 + -0.7159568095661714E+01 + -0.7163132072077763E+01 + -0.7166698939662541E+01 + -0.7170268700000000E+01 + -0.7173841354686766E+01 + -0.7177416905370157E+01 + -0.7180995353710165E+01 + -0.7184576701366781E+01 + -0.7188160950000004E+01 + -0.7191748101222498E+01 + -0.7195338156457666E+01 + -0.7198931117081585E+01 + -0.7202526984470337E+01 + -0.7206125760000000E+01 + -0.7209727445143256E+01 + -0.7213332041759192E+01 + -0.7216939551803501E+01 + -0.7220549977231873E+01 + -0.7224163320000004E+01 + -0.7227779581964486E+01 + -0.7231398764585570E+01 + -0.7235020869224413E+01 + -0.7238645897242170E+01 + -0.7242273850000000E+01 + -0.7245904728918813E+01 + -0.7249538535658537E+01 + -0.7253175271938853E+01 + -0.7256814939479447E+01 + -0.7260457540000004E+01 + -0.7264103075160270E+01 + -0.7267751546380289E+01 + -0.7271402955020176E+01 + -0.7275057302440042E+01 + -0.7278714590000000E+01 + -0.7282374819160122E+01 + -0.7286037991780316E+01 + -0.7289704109820449E+01 + -0.7293373175240388E+01 + -0.7297045190000005E+01 + -0.7300720155959249E+01 + -0.7304398074578453E+01 + -0.7308078947218034E+01 + -0.7311762775238410E+01 + -0.7315449560000000E+01 + -0.7319139302922896E+01 + -0.7322832005665885E+01 + -0.7326527669947424E+01 + -0.7330226297485976E+01 + -0.7333927890000004E+01 + -0.7337632449149173E+01 + -0.7341339976358015E+01 + -0.7345050472992273E+01 + -0.7348763940417687E+01 + -0.7352480380000000E+01 + -0.7356199793200426E+01 + -0.7359922181862065E+01 + -0.7363647547923492E+01 + -0.7367375893323279E+01 + -0.7371107220000000E+01 + -0.7374841529809131E+01 + -0.7378578824273729E+01 + -0.7382319104833763E+01 + -0.7386062372929199E+01 + -0.7389808630000000E+01 + -0.7393557877483065E+01 + -0.7397310116803030E+01 + -0.7401065349381462E+01 + -0.7404823576639929E+01 + -0.7408584800000000E+01 + -0.7412349020978613E+01 + -0.7416116241474156E+01 + -0.7419886463480395E+01 + -0.7423659688991088E+01 + -0.7427435920000000E+01 + -0.7431215158362495E+01 + -0.7434997405380354E+01 + -0.7438782662216967E+01 + -0.7442570930035720E+01 + -0.7446362210000000E+01 + -0.7450156503411415E+01 + -0.7453953812124431E+01 + -0.7457754138131740E+01 + -0.7461557483426033E+01 + -0.7465363850000000E+01 + -0.7469173239751858E+01 + -0.7472985654201934E+01 + -0.7476801094776080E+01 + -0.7480619562900151E+01 + -0.7484441060000000E+01 + -0.7488265587501158E+01 + -0.7492093146827838E+01 + -0.7495923739403942E+01 + -0.7499757366653364E+01 + -0.7503594030000000E+01 + -0.7507433730963525E+01 + -0.7511276471446724E+01 + -0.7515122253448160E+01 + -0.7518971078966398E+01 + -0.7522822950000000E+01 + -0.7526677868404750E+01 + -0.7530535835465273E+01 + -0.7534396852323424E+01 + -0.7538260920121050E+01 + -0.7542128040000000E+01 + -0.7545998213257489E+01 + -0.7549871441812192E+01 + -0.7553747727738151E+01 + -0.7557627073109407E+01 + -0.7561509480000000E+01 + -0.7565394950325300E+01 + -0.7569283485365961E+01 + -0.7573175086243974E+01 + -0.7577069754081324E+01 + -0.7580967490000000E+01 + -0.7584868295281324E+01 + -0.7588772171843973E+01 + -0.7592679121765959E+01 + -0.7596589147125297E+01 + -0.7600502250000000E+01 + -0.7604418432309410E+01 + -0.7608337695338154E+01 + -0.7612260040212195E+01 + -0.7616185468057490E+01 + -0.7620113980000000E+01 + -0.7624045577321049E+01 + -0.7627980261923423E+01 + -0.7631918035865271E+01 + -0.7635858901204747E+01 + -0.7639802860000000E+01 + -0.7643749914166399E+01 + -0.7647700065048159E+01 + -0.7651653313846722E+01 + -0.7655609661763523E+01 + -0.7659569110000000E+01 + -0.7663531659853367E+01 + -0.7667497313003947E+01 + -0.7671466071227846E+01 + -0.7675437936301162E+01 + -0.7679412910000000E+01 + -0.7683390994100141E+01 + -0.7687372190376054E+01 + -0.7691356500601899E+01 + -0.7695343926551830E+01 + -0.7699334470000000E+01 + -0.7703328132626085E+01 + -0.7707324915731846E+01 + -0.7711324820524563E+01 + -0.7715327848211521E+01 + -0.7719334000000000E+01 + -0.7723343277235527E+01 + -0.7727355681816570E+01 + -0.7731371215779851E+01 + -0.7735389881162089E+01 + -0.7739411680000000E+01 + -0.7743436614191824E+01 + -0.7747464685081887E+01 + -0.7751495893876038E+01 + -0.7755530241780126E+01 + -0.7759567730000000E+01 + -0.7763608359837185E+01 + -0.7767652132975887E+01 + -0.7771699051195999E+01 + -0.7775749116277408E+01 + -0.7779802330000000E+01 + -0.7783858694139450E+01 + -0.7787918210454574E+01 + -0.7791980880699973E+01 + -0.7796046706630248E+01 + -0.7800115690000000E+01 + -0.7804187832485020E+01 + -0.7808263135445821E+01 + -0.7812341600164114E+01 + -0.7816423227921605E+01 + -0.7820508020000000E+01 + -0.7824595977760485E+01 + -0.7828687102882154E+01 + -0.7832781397123580E+01 + -0.7836878862243339E+01 + -0.7840979500000000E+01 + -0.7845083312153050E+01 + -0.7849190300465572E+01 + -0.7853300466701571E+01 + -0.7857413812625048E+01 + -0.7861530340000000E+01 + -0.7865650050507334E+01 + -0.7869772945495572E+01 + -0.7873899026230143E+01 + -0.7878028293976477E+01 + -0.7882160750000000E+01 + -0.7886296395657618E+01 + -0.7890435232672145E+01 + -0.7894577262857858E+01 + -0.7898722488029048E+01 + -0.7902870910000000E+01 + -0.7907022530542190E+01 + -0.7911177351255858E+01 + -0.7915335373698429E+01 + -0.7919496599427334E+01 + -0.7923661030000000E+01 + -0.7927828666973618E+01 + -0.7931999511904430E+01 + -0.7936173566348429E+01 + -0.7940350831861618E+01 + -0.7944531310000000E+01 + -0.7948715002363336E+01 + -0.7952901910726435E+01 + -0.7957092036907865E+01 + -0.7961285382726197E+01 + -0.7965481950000000E+01 + -0.7969681740453036E+01 + -0.7973884755429838E+01 + -0.7978090996180116E+01 + -0.7982300463953597E+01 + -0.7986513160000000E+01 + -0.7990729085664518E+01 + -0.7994948242674227E+01 + -0.7999170632851678E+01 + -0.8003396258019420E+01 + -0.8007625120000000E+01 + -0.8011857220568892E+01 + -0.8016092561313261E+01 + -0.8020331143773179E+01 + -0.8024572969488734E+01 + -0.8028818040000001E+01 + -0.8033066356859914E+01 + -0.8037317921672749E+01 + -0.8041572736055628E+01 + -0.8045830801625669E+01 + -0.8050092120000000E+01 + -0.8054356692791451E+01 + -0.8058624521595748E+01 + -0.8062895608004313E+01 + -0.8067169953608588E+01 + -0.8071447559999999E+01 + -0.8075728428774278E+01 + -0.8080012561544278E+01 + -0.8084299959927135E+01 + -0.8088590625539995E+01 + -0.8092884560000000E+01 + -0.8097181764911428E+01 + -0.8101482241827146E+01 + -0.8105785992287144E+01 + -0.8110093017831430E+01 + -0.8114403319999999E+01 + -0.8118716900380006E+01 + -0.8123033760747155E+01 + -0.8127353902924302E+01 + -0.8131677328734298E+01 + -0.8136004040000000E+01 + -0.8140334038448541E+01 + -0.8144667325424228E+01 + -0.8149003902175641E+01 + -0.8153343769951372E+01 + -0.8157686930000001E+01 + -0.8162033383665827E+01 + -0.8166383132675943E+01 + -0.8170736178853145E+01 + -0.8175092524020229E+01 + -0.8179452169999999E+01 + -0.8183815118568147E+01 + -0.8188181371311998E+01 + -0.8192550929771775E+01 + -0.8196923795487702E+01 + -0.8201299970000001E+01 + -0.8205679454861587E+01 + -0.8210062251676076E+01 + -0.8214448362059773E+01 + -0.8218837787628978E+01 + -0.8223230530000000E+01 + -0.8227626590785508E+01 + -0.8232025971583703E+01 + -0.8236428673989137E+01 + -0.8240834699596382E+01 + -0.8245244050000000E+01 + -0.8249656726796378E+01 + -0.8254072731589133E+01 + -0.8258492065983699E+01 + -0.8262914731585507E+01 + -0.8267340730000001E+01 + -0.8271770062828978E+01 + -0.8276202731659772E+01 + -0.8280638738076073E+01 + -0.8285078083661583E+01 + -0.8289520769999999E+01 + -0.8293966798687709E+01 + -0.8298416171371795E+01 + -0.8302868889712027E+01 + -0.8307324955368172E+01 + -0.8311784370000000E+01 + -0.8316247135220181E+01 + -0.8320713252453047E+01 + -0.8325182723075814E+01 + -0.8329655548465723E+01 + -0.8334131729999999E+01 + -0.8338611269151562E+01 + -0.8343094167776034E+01 + -0.8347580427824724E+01 + -0.8352070051248942E+01 + -0.8356563039999999E+01 + -0.8361059395933566E+01 + -0.8365559120522818E+01 + -0.8370062215145282E+01 + -0.8374568681178499E+01 + -0.8379078520000000E+01 + -0.8383591733034168E+01 + -0.8388108321892707E+01 + -0.8392628288234160E+01 + -0.8397151633717076E+01 + -0.8401678360000000E+01 + -0.8406208468729759E+01 + -0.8410741961506359E+01 + -0.8415278839918074E+01 + -0.8419819105553193E+01 + -0.8424362759999999E+01 + -0.8428909804846791E+01 + -0.8433460241681875E+01 + -0.8438014072093560E+01 + -0.8442571297670163E+01 + -0.8447131920000000E+01 + -0.8451695940683068E+01 + -0.8456263361366146E+01 + -0.8460834183707684E+01 + -0.8465408409366150E+01 + -0.8469986040000000E+01 + -0.8474567077220934E+01 + -0.8479151522453561E+01 + -0.8483739377075718E+01 + -0.8488330642465249E+01 + -0.8492925319999999E+01 + -0.8497523411153189E+01 + -0.8502124917779609E+01 + -0.8506729841829438E+01 + -0.8511338185252845E+01 + -0.8515949950000000E+01 + -0.8520565137926305E+01 + -0.8525183750507997E+01 + -0.8529805789126538E+01 + -0.8534431255163383E+01 + -0.8539060149999999E+01 + -0.8543692475061587E+01 + -0.8548328231948389E+01 + -0.8552967422304404E+01 + -0.8557610047773610E+01 + -0.8562256110000000E+01 + -0.8566905610627341E+01 + -0.8571558551298438E+01 + -0.8576214933655862E+01 + -0.8580874759342191E+01 + -0.8585538030000000E+01 + -0.8590204747229045E+01 + -0.8594874912457854E+01 + -0.8599548527072146E+01 + -0.8604225592457622E+01 + -0.8608906110000000E+01 + -0.8613590081176476E+01 + -0.8618277507830142E+01 + -0.8622968391895570E+01 + -0.8627662735307331E+01 + -0.8632360540000001E+01 + -0.8637061807825047E+01 + -0.8641766540301569E+01 + -0.8646474738865575E+01 + -0.8651186404953052E+01 + -0.8655901540000000E+01 + -0.8660620145443337E+01 + -0.8665342222723577E+01 + -0.8670067773282151E+01 + -0.8674796798560481E+01 + -0.8679529300000000E+01 + -0.8684265279121604E+01 + -0.8689004737764112E+01 + -0.8693747677845824E+01 + -0.8698494101285023E+01 + -0.8703244010000001E+01 + -0.8707997405830247E+01 + -0.8712754290299971E+01 + -0.8717514664854571E+01 + -0.8722278530939446E+01 + -0.8727045889999999E+01 + -0.8731816743477406E+01 + -0.8736591092795997E+01 + -0.8741368939375890E+01 + -0.8746150284637187E+01 + -0.8750935130000000E+01 + -0.8755723476980126E+01 + -0.8760515327476036E+01 + -0.8765310683481884E+01 + -0.8770109546991819E+01 + -0.8774911919999999E+01 + -0.8779717804362088E+01 + -0.8784527201379849E+01 + -0.8789340112216571E+01 + -0.8794156538035528E+01 + -0.8798976480000000E+01 + -0.8803799939411521E+01 + -0.8808626918124562E+01 + -0.8813457418131844E+01 + -0.8818291441426082E+01 + -0.8823128990000001E+01 + -0.8827970065751829E+01 + -0.8832814670201898E+01 + -0.8837662804776057E+01 + -0.8842514470900143E+01 + -0.8847369670000001E+01 + -0.8852228403501162E+01 + -0.8857090672827845E+01 + -0.8861956479403945E+01 + -0.8866825824653363E+01 + -0.8871698710000000E+01 + -0.8876575136963522E+01 + -0.8881455107446721E+01 + -0.8886338623448163E+01 + -0.8891225686966401E+01 + -0.8896116299999999E+01 + -0.8901010464404745E+01 + -0.8905908181465268E+01 + -0.8910809452323418E+01 + -0.8915714278121044E+01 + -0.8920622659999999E+01 + -0.8925534599257489E+01 + -0.8930450097812193E+01 + -0.8935369157738156E+01 + -0.8940291781109412E+01 + -0.8945217970000000E+01 + -0.8950147726325296E+01 + -0.8955081051365955E+01 + -0.8960017946243967E+01 + -0.8964958412081318E+01 + -0.8969902449999999E+01 + -0.8974850061281325E+01 + -0.8979801247843975E+01 + -0.8984756011765967E+01 + -0.8989714355125305E+01 + -0.8994676280000006E+01 + -0.8999641788309408E+01 + -0.9004610881338147E+01 + -0.9009583560212185E+01 + -0.9014559826057482E+01 + -0.9019539679999999E+01 + -0.9024523123321062E+01 + -0.9029510157923451E+01 + -0.9034500785865312E+01 + -0.9039495009204781E+01 + -0.9044492830000005E+01 + -0.9049494250166349E+01 + -0.9054499271048055E+01 + -0.9059507893846590E+01 + -0.9064520119763417E+01 + -0.9069535950000001E+01 + -0.9074555385853561E+01 + -0.9079578429004341E+01 + -0.9084605081228347E+01 + -0.9089635344301566E+01 + -0.9094669220000005E+01 + -0.9099706710099420E+01 + -0.9104747816374589E+01 + -0.9109792540600051E+01 + -0.9114840884550343E+01 + -0.9119892849999999E+01 + -0.9124948438628779E+01 + -0.9130007651737314E+01 + -0.9135070490531460E+01 + -0.9140136956217077E+01 + -0.9145207050000005E+01 + -0.9150280773225472E+01 + -0.9155358127796157E+01 + -0.9160439115754111E+01 + -0.9165523739141374E+01 + -0.9170612000000000E+01 + -0.9175703900229351E+01 + -0.9180799441158069E+01 + -0.9185898623972109E+01 + -0.9191001449857440E+01 + -0.9196107920000005E+01 + -0.9201218035697130E+01 + -0.9206331798691574E+01 + -0.9211449210837454E+01 + -0.9216570273988891E+01 + -0.9221694990000000E+01 + -0.9226823360662143E+01 + -0.9231955387515646E+01 + -0.9237091072038078E+01 + -0.9242230415707013E+01 + -0.9247373420000006E+01 + -0.9252520086454307E+01 + -0.9257670416845848E+01 + -0.9262824413010238E+01 + -0.9267982076783087E+01 + -0.9273143409999999E+01 + -0.9278308414400652E+01 + -0.9283477091340977E+01 + -0.9288649442080976E+01 + -0.9293825467880655E+01 + -0.9299005170000005E+01 + -0.9304188549783094E+01 + -0.9309375608910248E+01 + -0.9314566349145858E+01 + -0.9319760772254313E+01 + -0.9324958880000001E+01 + -0.9330160674146988E+01 + -0.9335366156458042E+01 + -0.9340575328695600E+01 + -0.9345788192622113E+01 + -0.9351004750000005E+01 + -0.9356225002508960E+01 + -0.9361448951497593E+01 + -0.9366676598231745E+01 + -0.9371907943977265E+01 + -0.9377142989999999E+01 + -0.9382381737657184E+01 + -0.9387624188671602E+01 + -0.9392870344857428E+01 + -0.9398120208028843E+01 + -0.9403373780000006E+01 + -0.9408631062542314E+01 + -0.9413892057256009E+01 + -0.9419156765698549E+01 + -0.9424425189427392E+01 + -0.9429697330000000E+01 + -0.9434973188973583E+01 + -0.9440252767904381E+01 + -0.9445536068348389E+01 + -0.9450823091861603E+01 + -0.9456113840000006E+01 + -0.9461408314363361E+01 + -0.9466706516726472E+01 + -0.9472008448907904E+01 + -0.9477314112726225E+01 + -0.9482623510000000E+01 + -0.9487936642452992E+01 + -0.9493253511429746E+01 + -0.9498574118180004E+01 + -0.9503898463953515E+01 + -0.9509226550000005E+01 + -0.9514558377664679E+01 + -0.9519893948674547E+01 + -0.9525233264852078E+01 + -0.9530576328019741E+01 + -0.9535923140000000E+01 + -0.9541273702568311E+01 + -0.9546628017312077E+01 + -0.9551986085771686E+01 + -0.9557347909487538E+01 + -0.9562713490000006E+01 + -0.9568082828862085E+01 + -0.9573455927677152E+01 + -0.9578832788061179E+01 + -0.9584213411630136E+01 + -0.9589597800000000E+01 + -0.9594985954783365E+01 + -0.9600377877579328E+01 + -0.9605773569983608E+01 + -0.9611173033591932E+01 + -0.9616576270000005E+01 + -0.9621983280804461E+01 + -0.9627394067605541E+01 + -0.9632808632004393E+01 + -0.9638226975602164E+01 + -0.9643649099999999E+01 + -0.9649075006798807E+01 + -0.9654504697598519E+01 + -0.9659938173998826E+01 + -0.9665375437599430E+01 + -0.9670816490000005E+01 + -0.9676261332800319E+01 + -0.9681709967600391E+01 + -0.9687162396000304E+01 + -0.9692618619600145E+01 + -0.9698078640000000E+01 + -0.9703542458799934E+01 + -0.9709010077599935E+01 + -0.9714481497999968E+01 + -0.9719956721600006E+01 + -0.9725435750000006E+01 + -0.9730918584799955E+01 + -0.9736405227599882E+01 + -0.9741895679999836E+01 + -0.9747389943599860E+01 + -0.9752888020000000E+01 + -0.9758389910800272E+01 + -0.9763895617600557E+01 + -0.9769405142000705E+01 + -0.9774918485600576E+01 + -0.9780435650000005E+01 + -0.9785956636798970E+01 + -0.9791481447597899E+01 + -0.9797010083997348E+01 + -0.9802542547597865E+01 + -0.9808078840000000E+01 + -0.9813618962803872E+01 + -0.9819162917607860E+01 + -0.9824710706009913E+01 + -0.9830262329607976E+01 + -0.9835817790000005E+01 + -0.9841377088785555E+01 + -0.9846940227570670E+01 + -0.9852507207963008E+01 + -0.9858078031570232E+01 + -0.9863652699999999E+01 + -0.9869231214853929E+01 + -0.9874813577709478E+01 + -0.9880399790138062E+01 + -0.9885989853711097E+01 + -0.9891583770000006E+01 + -0.9897181540598737E+01 + -0.9902783167191426E+01 + -0.9908388651484751E+01 + -0.9913997995185383E+01 + -0.9919611200000000E+01 + -0.9925228267551145E+01 + -0.9930849199124832E+01 + -0.9936473995922947E+01 + -0.9942102659147375E+01 + -0.9947735190000007E+01 + -0.9953371589996694E+01 + -0.9959011861909252E+01 + -0.9964656008823463E+01 + -0.9970304033825117E+01 + -0.9975955940000000E+01 + -0.9981611729662097E+01 + -0.9987271402038179E+01 + -0.9992934955583211E+01 + -0.9998602388752163E+01 + -0.1000427370000001E+02 + -0.1000994888879493E+02 + -0.1001562795865804E+02 + -0.1002131091412370E+02 + -0.1002699775972624E+02 + -0.1003268850000000E+02 + -0.1003838313883822E+02 + -0.1004408167756967E+02 + -0.1004978411688200E+02 + -0.1005549045746290E+02 + -0.1006120070000001E+02 + -0.1006691484545222E+02 + -0.1007263289586331E+02 + -0.1007835485354830E+02 + -0.1008408072082219E+02 + -0.1008981050000000E+02 + -0.1009554419295295E+02 + -0.1010128179977712E+02 + -0.1010702332012482E+02 + -0.1011276875364834E+02 + -0.1011851810000001E+02 + -0.1012427135953601E+02 + -0.1013002853542823E+02 + -0.1013578963155244E+02 + -0.1014155465178444E+02 + -0.1014732360000000E+02 + -0.1015309647930304E+02 + -0.1015887328970999E+02 + -0.1016465403046543E+02 + -0.1017043870081391E+02 + -0.1017622730000001E+02 + -0.1018201982805184E+02 + -0.1018781628813180E+02 + -0.1019361668418585E+02 + -0.1019942102015993E+02 + -0.1020522930000000E+02 + -0.1021104152688962E+02 + -0.1021685770096281E+02 + -0.1022267782159118E+02 + -0.1022850188814637E+02 + -0.1023432990000001E+02 + -0.1024016185718969E+02 + -0.1024599776241698E+02 + -0.1025183761904943E+02 + -0.1025768143045458E+02 + -0.1026352920000000E+02 + -0.1026938093075166E+02 + -0.1027523662456931E+02 + -0.1028109628301113E+02 + -0.1028695990763530E+02 + -0.1029282750000001E+02 + -0.1029869906140368E+02 + -0.1030457459210579E+02 + -0.1031045409210607E+02 + -0.1031633756140423E+02 + -0.1032222500000000E+02 + -0.1032811640843363E+02 + -0.1033401178940753E+02 + -0.1033991114616460E+02 + -0.1034581448194778E+02 + -0.1035172180000001E+02 + -0.1035763310326179E+02 + -0.1036354839346411E+02 + -0.1036946767203554E+02 + -0.1037539094040464E+02 + -0.1038131820000000E+02 + -0.1038724945211922E+02 + -0.1039318469753605E+02 + -0.1039912393689327E+02 + -0.1040506717083366E+02 + -0.1041101440000001E+02 + -0.1041696562506133E+02 + -0.1042292084679170E+02 + -0.1042888006599140E+02 + -0.1043484328346073E+02 + -0.1044081050000000E+02 + -0.1044678171723546E+02 + -0.1045275694009717E+02 + -0.1045873617434116E+02 + -0.1046471942572343E+02 + -0.1047070670000001E+02 + -0.1047669800119683E+02 + -0.1048269332641961E+02 + -0.1048869267104398E+02 + -0.1049469603044557E+02 + -0.1050070340000000E+02 + -0.1050671477717722E+02 + -0.1051273016782438E+02 + -0.1051874957988293E+02 + -0.1052477302129432E+02 + -0.1053080050000001E+02 + -0.1053683202209428E+02 + -0.1054286758628286E+02 + -0.1054890718942430E+02 + -0.1055495082837716E+02 + -0.1056099850000000E+02 + -0.1056705020244567E+02 + -0.1057310593904419E+02 + -0.1057916571441987E+02 + -0.1058522953319704E+02 + -0.1059129740000000E+02 + -0.1059736931852306E+02 + -0.1060344528874040E+02 + -0.1060952530969621E+02 + -0.1061560938043468E+02 + -0.1062169750000000E+02 + -0.1062778966826213E+02 + -0.1063388588839425E+02 + -0.1063998616439529E+02 + -0.1064609050026423E+02 + -0.1065219890000000E+02 + -0.1065831136682842E+02 + -0.1066442790088262E+02 + -0.1067054850152262E+02 + -0.1067667316810841E+02 + -0.1068280190000000E+02 + -0.1068893469722422E+02 + -0.1069507156247528E+02 + -0.1070121249911423E+02 + -0.1070735751050212E+02 + -0.1071350660000000E+02 + -0.1071965977067472E+02 + -0.1072581702441627E+02 + -0.1073197836282047E+02 + -0.1073814378748311E+02 + -0.1074431330000000E+02 + -0.1075048690167693E+02 + -0.1075666459265966E+02 + -0.1076284637280392E+02 + -0.1076903224196546E+02 + -0.1077522220000000E+02 + -0.1078141624741755E+02 + -0.1078761438734509E+02 + -0.1079381662356385E+02 + -0.1080002295985507E+02 + -0.1080623340000000E+02 + -0.1081244794705288E+02 + -0.1081866660116001E+02 + -0.1082488936174070E+02 + -0.1083111622821426E+02 + -0.1083734720000000E+02 + -0.1084358227717095E+02 + -0.1084982146241490E+02 + -0.1085606475907338E+02 + -0.1086231217048791E+02 + -0.1086856370000000E+02 + -0.1087481935066336E+02 + -0.1088107912438042E+02 + -0.1088734302276580E+02 + -0.1089361104743412E+02 + -0.1089988320000000E+02 + -0.1090615948177563E+02 + -0.1091243989286343E+02 + -0.1091872443306342E+02 + -0.1092501310217561E+02 + -0.1093130590000000E+02 + -0.1093760282703415E+02 + -0.1094390388656587E+02 + -0.1095020908258051E+02 + -0.1095651841906343E+02 + -0.1096283190000000E+02 + -0.1096914952848777E+02 + -0.1097547130407310E+02 + -0.1098179722541454E+02 + -0.1098812729117066E+02 + -0.1099446150000000E+02 + -0.1100079985181477E+02 + -0.1100714235154175E+02 + -0.1101348900536133E+02 + -0.1101983981945395E+02 + -0.1102619480000000E+02 + -0.1103255395145314E+02 + -0.1103891727135992E+02 + -0.1104528475554013E+02 + -0.1105165639981356E+02 + -0.1105803220000000E+02 + -0.1106441215357267E+02 + -0.1107079626461858E+02 + -0.1107718453887815E+02 + -0.1108357698209181E+02 + -0.1108997360000000E+02 + -0.1109637439745617E+02 + -0.1110277937576578E+02 + -0.1110918853534730E+02 + -0.1111560187661921E+02 + -0.1112201940000000E+02 + -0.1112844110620266E+02 + -0.1113486699711834E+02 + -0.1114129707493268E+02 + -0.1114773134183134E+02 + -0.1115416980000000E+02 + -0.1116061245133318E+02 + -0.1116705929656088E+02 + -0.1117351033612200E+02 + -0.1117996557045541E+02 + -0.1118642500000000E+02 + -0.1119288862526464E+02 + -0.1119935644703815E+02 + -0.1120582846617933E+02 + -0.1121230468354702E+02 + -0.1121878510000000E+02 + -0.1122526971720828E+02 + -0.1123175854008655E+02 + -0.1123825157436067E+02 + -0.1124474882575653E+02 + -0.1125125030000000E+02 + -0.1125775600110226E+02 + -0.1126426592621569E+02 + -0.1127078007077800E+02 + -0.1127729843022687E+02 + -0.1128382100000000E+02 + -0.1129034777758270E+02 + -0.1129687876865069E+02 + -0.1130341398092734E+02 + -0.1130995342213599E+02 + -0.1131649710000000E+02 + -0.1132304502056697E+02 + -0.1132959718318155E+02 + -0.1133615358551265E+02 + -0.1134271422522916E+02 + -0.1134927910000000E+02 + -0.1135584820814943E+02 + -0.1136242155062312E+02 + -0.1136899912902209E+02 + -0.1137558094494738E+02 + -0.1138216700000000E+02 + -0.1138875729643534E+02 + -0.1139535183912602E+02 + -0.1140195063359904E+02 + -0.1140855368538137E+02 + -0.1141516100000000E+02 + -0.1142177258130923E+02 + -0.1142838842647280E+02 + -0.1143500853098174E+02 + -0.1144163289032713E+02 + -0.1144826150000000E+02 + -0.1145489435752772E+02 + -0.1146153146858279E+02 + -0.1146817284087400E+02 + -0.1147481848211014E+02 + -0.1148146840000000E+02 + -0.1148812260057987E+02 + -0.1149478108319603E+02 + -0.1150144384552225E+02 + -0.1150811088523232E+02 + -0.1151478220000000E+02 + -0.1152145778815281E+02 + -0.1152813765063312E+02 + -0.1153482178903702E+02 + -0.1154151020496061E+02 + -0.1154820290000000E+02 + -0.1155489987640889E+02 + -0.1156160113907152E+02 + -0.1156830669352968E+02 + -0.1157501654532524E+02 + -0.1158173070000000E+02 + -0.1158844916141161E+02 + -0.1159517192668085E+02 + -0.1160189899124428E+02 + -0.1160863035053847E+02 + -0.1161536600000000E+02 + -0.1162210593714465E+02 + -0.1162885016780509E+02 + -0.1163559869989320E+02 + -0.1164235154132088E+02 + -0.1164910870000000E+02 + -0.1165587018200980E+02 + -0.1166263598609882E+02 + -0.1166940610918294E+02 + -0.1167618054817804E+02 + -0.1168295930000000E+02 + -0.1168974236281615E+02 + -0.1169652973979963E+02 + -0.1170332143537504E+02 + -0.1171011745396696E+02 + -0.1171691780000000E+02 + -0.1172372247712561E+02 + -0.1173053148590267E+02 + -0.1173734482611693E+02 + -0.1174416249755412E+02 + -0.1175098450000000E+02 + -0.1175781083348140E+02 + -0.1176464149898967E+02 + -0.1177147649775723E+02 + -0.1177831583101653E+02 + -0.1178515950000000E+02 + -0.1179200750654877E+02 + -0.1179885985493866E+02 + -0.1180571655005416E+02 + -0.1181257759677978E+02 + -0.1181944300000000E+02 + -0.1182631276352350E+02 + -0.1183318688685568E+02 + -0.1184006536842611E+02 + -0.1184694820666436E+02 + -0.1185383540000000E+02 + -0.1186072694735723E+02 + -0.1186762284963864E+02 + -0.1187452310824143E+02 + -0.1188142772456282E+02 + -0.1188833670000000E+02 + -0.1189525003664758E+02 + -0.1190216773938977E+02 + -0.1190908981380816E+02 + -0.1191601626548437E+02 + -0.1192294710000000E+02 + -0.1192988232125246E+02 + -0.1193682192640232E+02 + -0.1194376591092595E+02 + -0.1195071427029972E+02 + -0.1195766700000000E+02 + -0.1196462409754258E+02 + -0.1197158556860096E+02 + -0.1197855142088804E+02 + -0.1198552166211675E+02 + -0.1199249630000000E+02 + -0.1199947534057723E+02 + -0.1200645878319388E+02 + -0.1201344662552191E+02 + -0.1202043886523330E+02 + -0.1202743550000000E+02 + -0.1203443652814851E+02 + -0.1204144195062354E+02 + -0.1204845176902430E+02 + -0.1205546598495005E+02 + -0.1206248460000000E+02 + -0.1206950761642872E+02 + -0.1207653503911199E+02 + -0.1208356687358089E+02 + -0.1209060312536653E+02 + -0.1209764380000000E+02 + -0.1210468890133660E+02 + -0.1211173842652852E+02 + -0.1211879237105213E+02 + -0.1212585073038383E+02 + -0.1213291350000000E+02 + -0.1213998067742488E+02 + -0.1214705226837397E+02 + -0.1215412828061062E+02 + -0.1216120872189818E+02 + -0.1216829360000000E+02 + -0.1217538292096389E+02 + -0.1218247668397562E+02 + -0.1218957488650540E+02 + -0.1219667752602345E+02 + -0.1220378460000000E+02 + -0.1221089610671954E+02 + -0.1221801204772356E+02 + -0.1222513242536781E+02 + -0.1223225724200804E+02 + -0.1223938650000000E+02 + -0.1224652020175794E+02 + -0.1225365834993013E+02 + -0.1226080094722335E+02 + -0.1226794799634439E+02 + -0.1227509950000000E+02 + -0.1228225546064872E+02 + -0.1228941587975594E+02 + -0.1229658075853880E+02 + -0.1230375009821444E+02 + -0.1231092390000000E+02 + -0.1231810216524720E+02 + -0.1232528489584612E+02 + -0.1233247209382145E+02 + -0.1233966376119785E+02 + -0.1234685990000000E+02 + -0.1235406051196250E+02 + -0.1236126559765958E+02 + -0.1236847515737542E+02 + -0.1237568919139417E+02 + -0.1238290770000000E+02 + -0.1239013068370281E+02 + -0.1239735814391554E+02 + -0.1240459008227686E+02 + -0.1241182650042546E+02 + -0.1241906740000000E+02 + -0.1242631278282626E+02 + -0.1243356265147827E+02 + -0.1244081700871715E+02 + -0.1244807585730401E+02 + -0.1245533920000000E+02 + -0.1246260703939216E+02 + -0.1246987937737139E+02 + -0.1247715621565455E+02 + -0.1248443755595847E+02 + -0.1249172340000000E+02 + -0.1249901374920511E+02 + -0.1250630860383618E+02 + -0.1251360796386469E+02 + -0.1252091182926213E+02 + -0.1252822020000000E+02 + -0.1253553307658739E+02 + -0.1254285046168389E+02 + -0.1255017235848670E+02 + -0.1255749877019300E+02 + -0.1256482970000000E+02 + -0.1257216515084532E+02 + -0.1257950512462826E+02 + -0.1258684962298854E+02 + -0.1259419864756588E+02 + -0.1260155220000000E+02 + -0.1260891028163131E+02 + -0.1261627289260305E+02 + -0.1262364003275913E+02 + -0.1263101170194348E+02 + -0.1263838790000000E+02 + -0.1264576862742942E+02 + -0.1265315388735954E+02 + -0.1266054368357494E+02 + -0.1266793801986023E+02 + -0.1267533690000000E+02 + -0.1268274032705101E+02 + -0.1269014830115880E+02 + -0.1269756082174109E+02 + -0.1270497788821558E+02 + -0.1271239950000000E+02 + -0.1271982565716654E+02 + -0.1272725636240527E+02 + -0.1273469161906073E+02 + -0.1274213143047746E+02 + -0.1274957580000000E+02 + -0.1275702473068282E+02 + -0.1276447822442010E+02 + -0.1277193628281598E+02 + -0.1277939890747458E+02 + -0.1278686610000000E+02 + -0.1279433786170220E+02 + -0.1280181419271432E+02 + -0.1280929509287535E+02 + -0.1281678056202425E+02 + -0.1282427060000000E+02 + -0.1283176520730839E+02 + -0.1283926438712259E+02 + -0.1284676814328261E+02 + -0.1285427647962841E+02 + -0.1286178940000000E+02 + -0.1286930690746423E+02 + -0.1287682900199530E+02 + -0.1288435568279425E+02 + -0.1289188694906213E+02 + -0.1289942280000000E+02 + -0.1290696323563468E+02 + -0.1291450825929621E+02 + -0.1292205787514040E+02 + -0.1292961208732306E+02 + -0.1293717090000001E+02 + -0.1294473431639705E+02 + -0.1295230233601988E+02 + -0.1295987495744419E+02 + -0.1296745217924567E+02 + -0.1297503400000000E+02 + -0.1298262041957716E+02 + -0.1299021144302430E+02 + -0.1299780707668287E+02 + -0.1300540732689429E+02 + -0.1301301220000001E+02 + -0.1302062170049433E+02 + -0.1302823582548294E+02 + -0.1303585457022439E+02 + -0.1304347792997723E+02 + -0.1305110590000000E+02 + -0.1305873847764556E+02 + -0.1306637566864398E+02 + -0.1307401748081962E+02 + -0.1308166392199684E+02 + -0.1308931500000001E+02 + -0.1309697072092343E+02 + -0.1310463108394116E+02 + -0.1311229608649718E+02 + -0.1311996572603546E+02 + -0.1312764000000000E+02 + -0.1313531890666073E+02 + -0.1314300244759139E+02 + -0.1315069062519170E+02 + -0.1315838344186134E+02 + -0.1316608090000001E+02 + -0.1317378300203367E+02 + -0.1318148975049328E+02 + -0.1318920114793606E+02 + -0.1319691719691922E+02 + -0.1320463790000000E+02 + -0.1321236325960464E+02 + -0.1322009327763553E+02 + -0.1322782795586411E+02 + -0.1323556729606179E+02 + -0.1324331130000001E+02 + -0.1325105996914780E+02 + -0.1325881330376462E+02 + -0.1326657130380755E+02 + -0.1327433396923366E+02 + -0.1328210130000000E+02 + -0.1328987329660420E+02 + -0.1329764996170600E+02 + -0.1330543129850571E+02 + -0.1331321731020362E+02 + -0.1332100800000001E+02 + -0.1332880337083543E+02 + -0.1333660342461139E+02 + -0.1334440816296963E+02 + -0.1335221758755192E+02 + -0.1336003170000000E+02 + -0.1336785050165412E+02 + -0.1337567399264847E+02 + -0.1338350217281577E+02 + -0.1339133504198873E+02 + -0.1339917260000001E+02 + -0.1340701484734812E+02 + -0.1341486178719473E+02 + -0.1342271342336728E+02 + -0.1343056975969322E+02 + -0.1343843080000000E+02 + -0.1344629654735342E+02 + -0.1345416700177264E+02 + -0.1346204216251514E+02 + -0.1346992202883844E+02 + -0.1347780660000001E+02 + -0.1348569587603820E+02 + -0.1349358986011473E+02 + -0.1350148855617217E+02 + -0.1350939196815307E+02 + -0.1351730010000000E+02 + -0.1352521295489380E+02 + -0.1353313053296845E+02 + -0.1354105283359619E+02 + -0.1354897985614930E+02 + -0.1355691160000001E+02 + -0.1356484806518660E+02 + -0.1357278925441148E+02 + -0.1358073517104306E+02 + -0.1358868581844976E+02 + -0.1359664120000000E+02 + -0.1360460131875981E+02 + -0.1361256617658565E+02 + -0.1362053577503158E+02 + -0.1362851011565168E+02 + -0.1363648920000001E+02 + -0.1364447302937417E+02 + -0.1365246160404594E+02 + -0.1366045492403062E+02 + -0.1366845298934354E+02 + -0.1367645580000000E+02 + -0.1368446335654354E+02 + -0.1369247566163062E+02 + -0.1370049271844593E+02 + -0.1370851453017417E+02 + -0.1371654110000001E+02 + -0.1372457243085168E+02 + -0.1373260852463159E+02 + -0.1374064938298565E+02 + -0.1374869500755981E+02 + -0.1375674540000000E+02 + -0.1376480056164976E+02 + -0.1377286049264306E+02 + -0.1378092519281148E+02 + -0.1378899466198661E+02 + -0.1379706890000001E+02 + -0.1380514790734929E+02 + -0.1381323168719618E+02 + -0.1382132024336842E+02 + -0.1382941357969378E+02 + -0.1383751170000000E+02 + -0.1384561460735311E+02 + -0.1385372230177225E+02 + -0.1386183478251483E+02 + -0.1386995204883829E+02 + -0.1387807410000001E+02 + -0.1388620093603828E+02 + -0.1389433256011484E+02 + -0.1390246897617225E+02 + -0.1391061018815311E+02 + -0.1391875620000000E+02 + -0.1392690701489378E+02 + -0.1393506263296842E+02 + -0.1394322305359617E+02 + -0.1395138827614929E+02 + -0.1395955830000001E+02 + -0.1396773312518661E+02 + -0.1397591275441149E+02 + -0.1398409719104307E+02 + -0.1399228643844976E+02 + -0.1400048050000000E+02 + -0.1400867937875981E+02 + -0.1401688307658565E+02 + -0.1402509159503158E+02 + -0.1403330493565168E+02 + -0.1404152310000001E+02 + -0.1404974608937417E+02 + -0.1405797390404594E+02 + -0.1406620654403063E+02 + -0.1407444400934354E+02 + -0.1408268630000000E+02 + -0.1409093341654354E+02 + -0.1409918536163062E+02 + -0.1410744213844594E+02 + -0.1411570375017417E+02 + -0.1412397020000001E+02 + -0.1413224149085168E+02 + -0.1414051762463159E+02 + -0.1414879860298565E+02 + -0.1415708442755981E+02 + -0.1416537510000000E+02 + -0.1417367062164976E+02 + -0.1418197099264306E+02 + -0.1419027621281149E+02 + -0.1419858628198661E+02 + -0.1420690120000001E+02 + -0.1421522096734929E+02 + -0.1422354558719618E+02 + -0.1423187506336842E+02 + -0.1424020939969378E+02 + -0.1424854860000000E+02 + -0.1425689266735311E+02 + -0.1426524160177225E+02 + -0.1427359540251483E+02 + -0.1428195406883829E+02 + -0.1429031760000001E+02 + -0.1429868599603829E+02 + -0.1430705926011484E+02 + -0.1431543739617225E+02 + -0.1432382040815311E+02 + -0.1433220830000000E+02 + -0.1434060107489378E+02 + -0.1434899873296842E+02 + -0.1435740127359617E+02 + -0.1436580869614928E+02 + -0.1437422100000001E+02 + -0.1438263818518661E+02 + -0.1439106025441149E+02 + -0.1439948721104307E+02 + -0.1440791905844976E+02 + -0.1441635580000000E+02 + -0.1442479743875981E+02 + -0.1443324397658565E+02 + -0.1444169541503158E+02 + -0.1445015175565168E+02 + -0.1445861300000001E+02 + -0.1446707914937417E+02 + -0.1447555020404594E+02 + -0.1448402616403063E+02 + -0.1449250702934354E+02 + -0.1450099280000000E+02 + -0.1450948347654354E+02 + -0.1451797906163062E+02 + -0.1452647955844594E+02 + -0.1453498497017417E+02 + -0.1454349530000001E+02 + -0.1455201055085168E+02 + -0.1456053072463158E+02 + -0.1456905582298564E+02 + -0.1457758584755981E+02 + -0.1458612080000000E+02 + -0.1459466068164977E+02 + -0.1460320549264308E+02 + -0.1461175523281150E+02 + -0.1462030990198662E+02 + -0.1462886950000001E+02 + -0.1463743402734926E+02 + -0.1464600348719612E+02 + -0.1465457788336835E+02 + -0.1466315721969372E+02 + -0.1467174150000000E+02 + -0.1468033072735322E+02 + -0.1468892490177247E+02 + -0.1469752402251512E+02 + -0.1470612808883851E+02 + -0.1471473710000001E+02 + -0.1472335105603787E+02 + -0.1473196996011400E+02 + -0.1474059381617119E+02 + -0.1474922262815226E+02 + -0.1475785640000000E+02 + -0.1476649513489533E+02 + -0.1477513883297156E+02 + -0.1478378749360014E+02 + -0.1479244111615247E+02 + -0.1480109970000001E+02 + -0.1480976324518083E+02 + -0.1481843175439976E+02 + -0.1482710523102827E+02 + -0.1483578367843786E+02 + -0.1484446710000000E+02 + -0.1485315549878137E+02 + -0.1486184887662942E+02 + -0.1487054723508678E+02 + -0.1487925057569610E+02 + -0.1488795890000001E+02 + -0.1489667220929369E+02 + -0.1490539050388257E+02 + -0.1491411378382460E+02 + -0.1492284204917775E+02 + -0.1493157530000000E+02 + -0.1494031353684389E+02 + -0.1494905676224034E+02 + -0.1495780497921484E+02 + -0.1496655819079290E+02 + -0.1497531640000001E+02 + -0.1498407960973075E+02 + -0.1499284782235608E+02 + -0.1500162104011604E+02 + -0.1501039926525067E+02 + -0.1501918250000000E+02 + -0.1502797074583313E+02 + -0.1503676400113535E+02 + -0.1504556226352100E+02 + -0.1505436553060444E+02 + -0.1506317380000001E+02 + -0.1507198707093674E+02 + -0.1508080534910253E+02 + -0.1508962864179994E+02 + -0.1509845695633157E+02 + -0.1510729030000000E+02 + -0.1511612867841993E+02 + -0.1512497209045456E+02 + -0.1513382053327923E+02 + -0.1514267400406927E+02 + -0.1515153250000001E+02 + -0.1516039601938356E+02 + -0.1516926456507924E+02 + -0.1517813814108314E+02 + -0.1518701675139136E+02 + -0.1519590040000000E+02 + -0.1520478909044586E+02 + -0.1521368282442851E+02 + -0.1522258160318824E+02 + -0.1523148542796531E+02 + -0.1524039430000001E+02 + -0.1524930822043302E+02 + -0.1525822719000673E+02 + -0.1526715120936393E+02 + -0.1527608027914742E+02 + -0.1528501440000000E+02 + -0.1529395357262209E+02 + -0.1530289779794461E+02 + -0.1531184707695608E+02 + -0.1532080141064503E+02 + -0.1532976080000001E+02 + -0.1533872524667862E+02 + -0.1534769475501486E+02 + -0.1535666933001178E+02 + -0.1536564897667247E+02 + -0.1537463370000000E+02 + -0.1538362350386346E+02 + -0.1539261838759600E+02 + -0.1540161834939682E+02 + -0.1541062338746509E+02 + -0.1541963350000001E+02 + -0.1542864868586757E+02 + -0.1543766894660115E+02 + -0.1544669428440094E+02 + -0.1545572470146716E+02 + -0.1546476020000000E+02 + -0.1547380078226630E+02 + -0.1548284645079943E+02 + -0.1549189720819942E+02 + -0.1550095305706627E+02 + -0.1551001400000000E+02 + -0.1551908003946726E+02 + -0.1552815117740114E+02 + -0.1553722741560140E+02 + -0.1554630875586777E+02 + -0.1555539520000000E+02 + -0.1556448674946471E+02 + -0.1557358340439603E+02 + -0.1558268516459501E+02 + -0.1559179202986266E+02 + -0.1560090400000000E+02 + -0.1561002107547393E+02 + -0.1561914325941473E+02 + -0.1562827055561857E+02 + -0.1563740296788161E+02 + -0.1564654050000000E+02 + -0.1565568315503960E+02 + -0.1566483093314506E+02 + -0.1567398383373071E+02 + -0.1568314185621091E+02 + -0.1569230500000000E+02 + -0.1570147326516768E+02 + -0.1571064665440506E+02 + -0.1571982517105859E+02 + -0.1572900881847475E+02 + -0.1573819760000000E+02 + -0.1574739151868970E+02 + -0.1575659057643475E+02 + -0.1576579477483495E+02 + -0.1577500411549010E+02 + -0.1578421860000000E+02 + -0.1579343822967355E+02 + -0.1580266300465597E+02 + -0.1581189292480163E+02 + -0.1582112798996486E+02 + -0.1583036820000000E+02 + -0.1583961355541615E+02 + -0.1584886405934139E+02 + -0.1585811971555855E+02 + -0.1586738052785048E+02 + -0.1587664650000000E+02 + -0.1588591763506187E+02 + -0.1589519393317849E+02 + -0.1590447539376417E+02 + -0.1591376201623323E+02 + -0.1592305380000000E+02 + -0.1593235074513639E+02 + -0.1594165285434469E+02 + -0.1595096013098480E+02 + -0.1596027257841660E+02 + -0.1596959020000000E+02 + -0.1597891299879260E+02 + -0.1598824097664278E+02 + -0.1599757413509666E+02 + -0.1600691247570036E+02 + -0.1601625600000000E+02 + -0.1602560470929327E+02 + -0.1603495860388424E+02 + -0.1604431768382858E+02 + -0.1605368194918194E+02 + -0.1606305140000000E+02 + -0.1607242603683435E+02 + -0.1608180586222027E+02 + -0.1609119087918903E+02 + -0.1610058109077186E+02 + -0.1610997650000000E+02 + -0.1611937710976938E+02 + -0.1612878292243469E+02 + -0.1613819394021531E+02 + -0.1614761016533062E+02 + -0.1615703160000000E+02 + -0.1616645824568816E+02 + -0.1617589010084099E+02 + -0.1618532716314975E+02 + -0.1619476943030567E+02 + -0.1620421690000000E+02 + -0.1621366957147804E+02 + -0.1622312745020139E+02 + -0.1623259054318572E+02 + -0.1624205885744670E+02 + -0.1625153240000000E+02 + -0.1626101117639970E+02 + -0.1627049518635346E+02 + -0.1627998442810738E+02 + -0.1628947889990753E+02 + -0.1629897860000000E+02 + -0.1630848352692320E+02 + -0.1631799368038479E+02 + -0.1632750906038479E+02 + -0.1633702966692320E+02 + 0.7624349897230946E+00 + 0.7617205676605572E+00 + 0.7610066492605887E+00 + 0.7602932343327278E+00 + 0.7595803226865119E+00 + 0.7588679141314785E+00 + 0.7581560084771660E+00 + 0.7574446055331121E+00 + 0.7567337051088545E+00 + 0.7560233070139311E+00 + 0.7553134110578801E+00 + 0.7546040170502391E+00 + 0.7538951248005457E+00 + 0.7531867341183382E+00 + 0.7524788448131545E+00 + 0.7517714566945322E+00 + 0.7510645695720093E+00 + 0.7503581832551236E+00 + 0.7496522975534128E+00 + 0.7489469122764150E+00 + 0.7482420272336681E+00 + 0.7475376422347098E+00 + 0.7468337570890777E+00 + 0.7461303716063106E+00 + 0.7454274855959453E+00 + 0.7447250988675204E+00 + 0.7440232112305734E+00 + 0.7433218224946423E+00 + 0.7426209324692650E+00 + 0.7419205409639789E+00 + 0.7412206477883226E+00 + 0.7405212527518335E+00 + 0.7398223556640495E+00 + 0.7391239563345087E+00 + 0.7384260545727488E+00 + 0.7377286501883074E+00 + 0.7370317429907230E+00 + 0.7363353327895328E+00 + 0.7356394193942750E+00 + 0.7349440026144876E+00 + 0.7342490822597084E+00 + 0.7335546581394747E+00 + 0.7328607300633252E+00 + 0.7321672978407971E+00 + 0.7314743612814287E+00 + 0.7307819201947576E+00 + 0.7300899743903219E+00 + 0.7293985236776594E+00 + 0.7287075678663078E+00 + 0.7280171067658053E+00 + 0.7273271401856894E+00 + 0.7266376679354978E+00 + 0.7259486898247689E+00 + 0.7252602056630401E+00 + 0.7245722152598500E+00 + 0.7238847184247355E+00 + 0.7231977149672351E+00 + 0.7225112046968865E+00 + 0.7218251874232273E+00 + 0.7211396629557958E+00 + 0.7204546311041298E+00 + 0.7197700916777670E+00 + 0.7190860444862450E+00 + 0.7184024893391023E+00 + 0.7177194260458764E+00 + 0.7170368544161050E+00 + 0.7163547742593261E+00 + 0.7156731853850779E+00 + 0.7149920876028979E+00 + 0.7143114807223241E+00 + 0.7136313645528942E+00 + 0.7129517389041462E+00 + 0.7122726035856180E+00 + 0.7115939584068476E+00 + 0.7109158031773724E+00 + 0.7102381377067307E+00 + 0.7095609618044600E+00 + 0.7088842752800986E+00 + 0.7082080779431839E+00 + 0.7075323696032541E+00 + 0.7068571500698471E+00 + 0.7061824191525004E+00 + 0.7055081766607523E+00 + 0.7048344224041403E+00 + 0.7041611561922023E+00 + 0.7034883778344765E+00 + 0.7028160871405005E+00 + 0.7021442839198125E+00 + 0.7014729679819496E+00 + 0.7008021391364503E+00 + 0.7001317971928525E+00 + 0.6994619419606936E+00 + 0.6987925732495118E+00 + 0.6981236908688448E+00 + 0.6974552946282309E+00 + 0.6967873843372074E+00 + 0.6961199598053125E+00 + 0.6954530208420837E+00 + 0.6947865672570592E+00 + 0.6941205988597769E+00 + 0.6934551154597745E+00 + 0.6927901168665899E+00 + 0.6921256028897611E+00 + 0.6914615733388258E+00 + 0.6907980280233216E+00 + 0.6901349667527872E+00 + 0.6894723893367596E+00 + 0.6888102955847771E+00 + 0.6881486853063774E+00 + 0.6874875583110985E+00 + 0.6868269144084779E+00 + 0.6861667534080540E+00 + 0.6855070751193646E+00 + 0.6848478793519471E+00 + 0.6841891659153396E+00 + 0.6835309346190801E+00 + 0.6828731852727065E+00 + 0.6822159176857565E+00 + 0.6815591316677681E+00 + 0.6809028270282789E+00 + 0.6802470035768269E+00 + 0.6795916611229500E+00 + 0.6789367994761861E+00 + 0.6782824184460732E+00 + 0.6776285178421489E+00 + 0.6769750974739511E+00 + 0.6763221571510176E+00 + 0.6756696966828866E+00 + 0.6750177158790955E+00 + 0.6743662145491827E+00 + 0.6737151925026856E+00 + 0.6730646495491424E+00 + 0.6724145854980906E+00 + 0.6717650001590685E+00 + 0.6711158933416135E+00 + 0.6704672648552639E+00 + 0.6698191145095571E+00 + 0.6691714421140313E+00 + 0.6685242474782244E+00 + 0.6678775304116742E+00 + 0.6672312907239187E+00 + 0.6665855282244950E+00 + 0.6659402427229420E+00 + 0.6652954340287971E+00 + 0.6646511019515979E+00 + 0.6640072463008828E+00 + 0.6633638668861894E+00 + 0.6627209635170555E+00 + 0.6620785360030189E+00 + 0.6614365841536179E+00 + 0.6607951077783898E+00 + 0.6601541066868728E+00 + 0.6595135806886048E+00 + 0.6588735295931234E+00 + 0.6582339532099666E+00 + 0.6575948513486725E+00 + 0.6569562238187785E+00 + 0.6563180704298228E+00 + 0.6556803909913431E+00 + 0.6550431853128775E+00 + 0.6544064532039638E+00 + 0.6537701944741395E+00 + 0.6531344089329430E+00 + 0.6524990963899116E+00 + 0.6518642566545836E+00 + 0.6512298895364967E+00 + 0.6505959948451889E+00 + 0.6499625723901980E+00 + 0.6493296219810616E+00 + 0.6486971434273182E+00 + 0.6480651365385048E+00 + 0.6474336011241597E+00 + 0.6468025369938211E+00 + 0.6461719439570266E+00 + 0.6455418218233135E+00 + 0.6449121704022205E+00 + 0.6442829895032851E+00 + 0.6436542789360454E+00 + 0.6430260385100388E+00 + 0.6423982680348034E+00 + 0.6417709673198770E+00 + 0.6411441361747978E+00 + 0.6405177744091035E+00 + 0.6398918818323316E+00 + 0.6392664582540206E+00 + 0.6386415034837079E+00 + 0.6380170173309314E+00 + 0.6373929996052288E+00 + 0.6367694501161387E+00 + 0.6361463686731980E+00 + 0.6355237550859454E+00 + 0.6349016091639181E+00 + 0.6342799307166544E+00 + 0.6336587195536920E+00 + 0.6330379754845690E+00 + 0.6324176983188230E+00 + 0.6317978878659916E+00 + 0.6311785439356132E+00 + 0.6305596663372254E+00 + 0.6299412548803662E+00 + 0.6293233093745734E+00 + 0.6287058296293848E+00 + 0.6280888154543383E+00 + 0.6274722666589716E+00 + 0.6268561830528229E+00 + 0.6262405644454301E+00 + 0.6256254106463306E+00 + 0.6250107214650626E+00 + 0.6243964967111639E+00 + 0.6237827361941724E+00 + 0.6231694397236258E+00 + 0.6225566071090620E+00 + 0.6219442381600193E+00 + 0.6213323326860349E+00 + 0.6207208904966470E+00 + 0.6201099114013937E+00 + 0.6194993952098125E+00 + 0.6188893417314412E+00 + 0.6182797507758179E+00 + 0.6176706221524806E+00 + 0.6170619556709669E+00 + 0.6164537511408145E+00 + 0.6158460083715617E+00 + 0.6152387271727461E+00 + 0.6146319073539055E+00 + 0.6140255487245780E+00 + 0.6134196510943015E+00 + 0.6128142142726134E+00 + 0.6122092380690523E+00 + 0.6116047222931552E+00 + 0.6110006667544607E+00 + 0.6103970712625062E+00 + 0.6097939356268300E+00 + 0.6091912596569693E+00 + 0.6085890431624627E+00 + 0.6079872859528477E+00 + 0.6073859878376620E+00 + 0.6067851486264438E+00 + 0.6061847681287307E+00 + 0.6055848461540609E+00 + 0.6049853825119717E+00 + 0.6043863770120018E+00 + 0.6037878294636880E+00 + 0.6031897396765693E+00 + 0.6025921074601827E+00 + 0.6019949326240665E+00 + 0.6013982149777584E+00 + 0.6008019543307961E+00 + 0.6002061504927179E+00 + 0.5996108032730614E+00 + 0.5990159124813644E+00 + 0.5984214779271651E+00 + 0.5978274994200010E+00 + 0.5972339767694098E+00 + 0.5966409097849300E+00 + 0.5960482982760991E+00 + 0.5954561420524547E+00 + 0.5948644409235352E+00 + 0.5942731946988782E+00 + 0.5936824031880215E+00 + 0.5930920662005031E+00 + 0.5925021835458607E+00 + 0.5919127550336323E+00 + 0.5913237804733557E+00 + 0.5907352596745689E+00 + 0.5901471924468096E+00 + 0.5895595785996156E+00 + 0.5889724179425251E+00 + 0.5883857102850757E+00 + 0.5877994554368051E+00 + 0.5872136532072517E+00 + 0.5866283034059530E+00 + 0.5860434058424468E+00 + 0.5854589603262710E+00 + 0.5848749666669637E+00 + 0.5842914246740624E+00 + 0.5837083341571053E+00 + 0.5831256949256303E+00 + 0.5825435067891749E+00 + 0.5819617695572772E+00 + 0.5813804830394749E+00 + 0.5807996470453061E+00 + 0.5802192613843085E+00 + 0.5796393258660199E+00 + 0.5790598402999786E+00 + 0.5784808044957220E+00 + 0.5779022182627880E+00 + 0.5773240814107147E+00 + 0.5767463937490397E+00 + 0.5761691550873012E+00 + 0.5755923652350369E+00 + 0.5750160240017845E+00 + 0.5744401311970819E+00 + 0.5738646866304672E+00 + 0.5732896901114780E+00 + 0.5727151414496523E+00 + 0.5721410404545281E+00 + 0.5715673869356430E+00 + 0.5709941807025352E+00 + 0.5704214215647420E+00 + 0.5698491093318018E+00 + 0.5692772438132522E+00 + 0.5687058248186312E+00 + 0.5681348521574767E+00 + 0.5675643256393263E+00 + 0.5669942450737182E+00 + 0.5664246102701897E+00 + 0.5658554210382796E+00 + 0.5652866771875249E+00 + 0.5647183785274638E+00 + 0.5641505248676343E+00 + 0.5635831160175741E+00 + 0.5630161517868208E+00 + 0.5624496319849128E+00 + 0.5618835564213878E+00 + 0.5613179249057834E+00 + 0.5607527372476376E+00 + 0.5601879932564884E+00 + 0.5596236927418737E+00 + 0.5590598355133309E+00 + 0.5584964213803985E+00 + 0.5579334501526137E+00 + 0.5573709216395151E+00 + 0.5568088356506400E+00 + 0.5562471919955266E+00 + 0.5556859904837125E+00 + 0.5551252309247357E+00 + 0.5545649131281341E+00 + 0.5540050369034454E+00 + 0.5534456020602075E+00 + 0.5528866084079587E+00 + 0.5523280557562362E+00 + 0.5517699439145781E+00 + 0.5512122726925226E+00 + 0.5506550418996072E+00 + 0.5500982513453698E+00 + 0.5495419008393483E+00 + 0.5489859901910807E+00 + 0.5484305192101048E+00 + 0.5478754877059582E+00 + 0.5473208954881792E+00 + 0.5467667423663052E+00 + 0.5462130281498745E+00 + 0.5456597526484249E+00 + 0.5451069156714939E+00 + 0.5445545170286195E+00 + 0.5440025565293399E+00 + 0.5434510339831928E+00 + 0.5428999491997157E+00 + 0.5423493019884472E+00 + 0.5417990921589243E+00 + 0.5412493195206856E+00 + 0.5406999838832683E+00 + 0.5401510850562109E+00 + 0.5396026228490508E+00 + 0.5390545970713263E+00 + 0.5385070075325748E+00 + 0.5379598540423345E+00 + 0.5374131364101430E+00 + 0.5368668544455383E+00 + 0.5363210079580584E+00 + 0.5357755967572411E+00 + 0.5352306206526240E+00 + 0.5346860794537452E+00 + 0.5341419729701427E+00 + 0.5335983010113540E+00 + 0.5330550633869172E+00 + 0.5325122599063699E+00 + 0.5319698903792506E+00 + 0.5314279546150966E+00 + 0.5308864524234458E+00 + 0.5303453836138363E+00 + 0.5298047479958058E+00 + 0.5292645453788922E+00 + 0.5287247755726333E+00 + 0.5281854383865672E+00 + 0.5276465336302314E+00 + 0.5271080611131640E+00 + 0.5265700206449029E+00 + 0.5260324120349860E+00 + 0.5254952350929507E+00 + 0.5249584896283355E+00 + 0.5244221754506779E+00 + 0.5238862923695161E+00 + 0.5233508401943874E+00 + 0.5228158187348301E+00 + 0.5222812278003818E+00 + 0.5217470672005806E+00 + 0.5212133367449643E+00 + 0.5206800362430708E+00 + 0.5201471655044376E+00 + 0.5196147243386031E+00 + 0.5190827125551049E+00 + 0.5185511299634809E+00 + 0.5180199763732690E+00 + 0.5174892515940068E+00 + 0.5169589554352328E+00 + 0.5164290877064842E+00 + 0.5158996482172990E+00 + 0.5153706367772153E+00 + 0.5148420531957707E+00 + 0.5143138972825034E+00 + 0.5137861688469511E+00 + 0.5132588676986513E+00 + 0.5127319936471425E+00 + 0.5122055465019622E+00 + 0.5116795260726484E+00 + 0.5111539321687388E+00 + 0.5106287645997714E+00 + 0.5101040231752839E+00 + 0.5095797077048144E+00 + 0.5090558179979006E+00 + 0.5085323538640805E+00 + 0.5080093151128917E+00 + 0.5074867015538723E+00 + 0.5069645129965602E+00 + 0.5064427492504930E+00 + 0.5059214101252090E+00 + 0.5054004954302456E+00 + 0.5048800049751410E+00 + 0.5043599385694328E+00 + 0.5038402960226590E+00 + 0.5033210771443574E+00 + 0.5028022817440662E+00 + 0.5022839096313227E+00 + 0.5017659606156651E+00 + 0.5012484345066312E+00 + 0.5007313311137590E+00 + 0.5002146502465863E+00 + 0.4996983917146507E+00 + 0.4991825553274903E+00 + 0.4986671408946432E+00 + 0.4981521482256467E+00 + 0.4976375771300389E+00 + 0.4971234274173579E+00 + 0.4966096988971414E+00 + 0.4960963913789272E+00 + 0.4955835046722533E+00 + 0.4950710385866573E+00 + 0.4945589929316774E+00 + 0.4940473675168512E+00 + 0.4935361621517169E+00 + 0.4930253766458121E+00 + 0.4925150108086746E+00 + 0.4920050644498424E+00 + 0.4914955373788533E+00 + 0.4909864294052452E+00 + 0.4904777403385559E+00 + 0.4899694699883234E+00 + 0.4894616181640856E+00 + 0.4889541846753802E+00 + 0.4884471693317449E+00 + 0.4879405719427180E+00 + 0.4874343923178372E+00 + 0.4869286302666401E+00 + 0.4864232855986649E+00 + 0.4859183581234495E+00 + 0.4854138476505315E+00 + 0.4849097539894487E+00 + 0.4844060769497393E+00 + 0.4839028163409409E+00 + 0.4833999719725916E+00 + 0.4828975436542290E+00 + 0.4823955311953911E+00 + 0.4818939344056158E+00 + 0.4813927530944410E+00 + 0.4808919870714043E+00 + 0.4803916361460439E+00 + 0.4798917001278975E+00 + 0.4793921788265029E+00 + 0.4788930720513982E+00 + 0.4783943796121209E+00 + 0.4778961013182092E+00 + 0.4773982369792008E+00 + 0.4769007864046336E+00 + 0.4764037494040455E+00 + 0.4759071257869743E+00 + 0.4754109153629579E+00 + 0.4749151179415342E+00 + 0.4744197333322408E+00 + 0.4739247613446159E+00 + 0.4734302017881975E+00 + 0.4729360544725230E+00 + 0.4724423192071305E+00 + 0.4719489958015577E+00 + 0.4714560840653428E+00 + 0.4709635838080234E+00 + 0.4704714948391374E+00 + 0.4699798169682229E+00 + 0.4694885500048174E+00 + 0.4689976937584589E+00 + 0.4685072480386854E+00 + 0.4680172126550345E+00 + 0.4675275874170444E+00 + 0.4670383721342526E+00 + 0.4665495666161974E+00 + 0.4660611706724163E+00 + 0.4655731841124473E+00 + 0.4650856067458281E+00 + 0.4645984383820967E+00 + 0.4641116788307911E+00 + 0.4636253279014491E+00 + 0.4631393854036084E+00 + 0.4626538511468069E+00 + 0.4621687249405826E+00 + 0.4616840065944732E+00 + 0.4611996959180169E+00 + 0.4607157927207512E+00 + 0.4602322968122141E+00 + 0.4597492080019434E+00 + 0.4592665260994771E+00 + 0.4587842509143528E+00 + 0.4583023822561086E+00 + 0.4578209199342823E+00 + 0.4573398637584119E+00 + 0.4568592135380351E+00 + 0.4563789690826898E+00 + 0.4558991302019138E+00 + 0.4554196967052450E+00 + 0.4549406684022213E+00 + 0.4544620451023808E+00 + 0.4539838266152609E+00 + 0.4535060127503997E+00 + 0.4530286033173351E+00 + 0.4525515981256048E+00 + 0.4520749969847469E+00 + 0.4515987997042991E+00 + 0.4511230060937994E+00 + 0.4506476159627855E+00 + 0.4501726291207953E+00 + 0.4496980453773666E+00 + 0.4492238645420376E+00 + 0.4487500864243458E+00 + 0.4482767108338292E+00 + 0.4478037375800258E+00 + 0.4473311664724732E+00 + 0.4468589973207094E+00 + 0.4463872299342722E+00 + 0.4459158641226995E+00 + 0.4454448996955293E+00 + 0.4449743364622993E+00 + 0.4445041742325475E+00 + 0.4440344128158115E+00 + 0.4435650520216294E+00 + 0.4430960916595390E+00 + 0.4426275315390782E+00 + 0.4421593714697847E+00 + 0.4416916112611967E+00 + 0.4412242507228518E+00 + 0.4407572896642878E+00 + 0.4402907278950427E+00 + 0.4398245652246543E+00 + 0.4393588014626607E+00 + 0.4388934364185996E+00 + 0.4384284699020088E+00 + 0.4379639017224261E+00 + 0.4374997316893897E+00 + 0.4370359596124369E+00 + 0.4365725853011061E+00 + 0.4361096085649350E+00 + 0.4356470292134613E+00 + 0.4351848470562231E+00 + 0.4347230619027582E+00 + 0.4342616735626042E+00 + 0.4338006818452994E+00 + 0.4333400865603814E+00 + 0.4328798875173882E+00 + 0.4324200845258574E+00 + 0.4319606773953272E+00 + 0.4315016659353353E+00 + 0.4310430499554194E+00 + 0.4305848292651177E+00 + 0.4301270036739678E+00 + 0.4296695729915077E+00 + 0.4292125370272753E+00 + 0.4287558955908085E+00 + 0.4282996484916447E+00 + 0.4278437955393224E+00 + 0.4273883365433791E+00 + 0.4269332713133528E+00 + 0.4264785996587813E+00 + 0.4260243213892025E+00 + 0.4255704363141542E+00 + 0.4251169442431743E+00 + 0.4246638449858008E+00 + 0.4242111383515712E+00 + 0.4237588241500238E+00 + 0.4233069021906962E+00 + 0.4228553722831264E+00 + 0.4224042342368521E+00 + 0.4219534878614113E+00 + 0.4215031329663418E+00 + 0.4210531693611816E+00 + 0.4206035968554683E+00 + 0.4201544152587401E+00 + 0.4197056243805345E+00 + 0.4192572240303896E+00 + 0.4188092140178432E+00 + 0.4183615941524331E+00 + 0.4179143642436974E+00 + 0.4174675241011737E+00 + 0.4170210735344001E+00 + 0.4165750123529141E+00 + 0.4161293403662540E+00 + 0.4156840573839574E+00 + 0.4152391632155622E+00 + 0.4147946576706064E+00 + 0.4143505405586276E+00 + 0.4139068116891639E+00 + 0.4134634708717531E+00 + 0.4130205179159329E+00 + 0.4125779526312414E+00 + 0.4121357748272164E+00 + 0.4116939843133957E+00 + 0.4112525808993173E+00 + 0.4108115643945189E+00 + 0.4103709346085384E+00 + 0.4099306913509136E+00 + 0.4094908344311826E+00 + 0.4090513636588832E+00 + 0.4086122788435532E+00 + 0.4081735797947303E+00 + 0.4077352663219526E+00 + 0.4072973382347578E+00 + 0.4068597953426838E+00 + 0.4064226374552687E+00 + 0.4059858643820501E+00 + 0.4055494759325660E+00 + 0.4051134719163541E+00 + 0.4046778521429523E+00 + 0.4042426164218986E+00 + 0.4038077645627308E+00 + 0.4033732963749869E+00 + 0.4029392116682045E+00 + 0.4025055102519216E+00 + 0.4020721919356761E+00 + 0.4016392565290057E+00 + 0.4012067038414484E+00 + 0.4007745336825421E+00 + 0.4003427458618247E+00 + 0.3999113401888339E+00 + 0.3994803164731077E+00 + 0.3990496745241837E+00 + 0.3986194141516001E+00 + 0.3981895351648948E+00 + 0.3977600373736052E+00 + 0.3973309205872696E+00 + 0.3969021846154258E+00 + 0.3964738292676115E+00 + 0.3960458543533646E+00 + 0.3956182596822230E+00 + 0.3951910450637247E+00 + 0.3947642103074074E+00 + 0.3943377552228091E+00 + 0.3939116796194675E+00 + 0.3934859833069205E+00 + 0.3930606660947060E+00 + 0.3926357277923620E+00 + 0.3922111682094261E+00 + 0.3917869871554363E+00 + 0.3913631844399306E+00 + 0.3909397598724466E+00 + 0.3905167132625222E+00 + 0.3900940444196956E+00 + 0.3896717531535042E+00 + 0.3892498392734862E+00 + 0.3888283025891794E+00 + 0.3884071429101216E+00 + 0.3879863600458505E+00 + 0.3875659538059042E+00 + 0.3871459239998206E+00 + 0.3867262704371374E+00 + 0.3863069929273926E+00 + 0.3858880912801240E+00 + 0.3854695653048694E+00 + 0.3850514148111667E+00 + 0.3846336396085539E+00 + 0.3842162395065687E+00 + 0.3837992143147489E+00 + 0.3833825638426327E+00 + 0.3829662878997576E+00 + 0.3825503862956618E+00 + 0.3821348588398827E+00 + 0.3817197053419586E+00 + 0.3813049256114271E+00 + 0.3808905194578263E+00 + 0.3804764866906939E+00 + 0.3800628271195678E+00 + 0.3796495405539858E+00 + 0.3792366268034859E+00 + 0.3788240856776058E+00 + 0.3784119169858835E+00 + 0.3780001205378569E+00 + 0.3775886961430637E+00 + 0.3771776436110419E+00 + 0.3767669627513292E+00 + 0.3763566533734637E+00 + 0.3759467152869831E+00 + 0.3755371483014253E+00 + 0.3751279522263281E+00 + 0.3747191268712296E+00 + 0.3743106720456673E+00 + 0.3739025875591794E+00 + 0.3734948732213035E+00 + 0.3730875288415778E+00 + 0.3726805542295399E+00 + 0.3722739491947276E+00 + 0.3718677135466789E+00 + 0.3714618470949317E+00 + 0.3710563496490237E+00 + 0.3706512210184931E+00 + 0.3702464610128774E+00 + 0.3698420694417147E+00 + 0.3694380461145427E+00 + 0.3690343908408994E+00 + 0.3686311034303225E+00 + 0.3682281836923500E+00 + 0.3678256314365196E+00 + 0.3674234464723694E+00 + 0.3670216286094373E+00 + 0.3666201776572609E+00 + 0.3662190934253782E+00 + 0.3658183757233270E+00 + 0.3654180243606451E+00 + 0.3650180391468707E+00 + 0.3646184198915414E+00 + 0.3642191664041951E+00 + 0.3638202784943696E+00 + 0.3634217559716028E+00 + 0.3630235986454327E+00 + 0.3626258063253970E+00 + 0.3622283788210337E+00 + 0.3618313159418806E+00 + 0.3614346174974755E+00 + 0.3610382832973562E+00 + 0.3606423131510608E+00 + 0.3602467068681271E+00 + 0.3598514642580930E+00 + 0.3594565851304961E+00 + 0.3590620692948745E+00 + 0.3586679165607660E+00 + 0.3582741267377085E+00 + 0.3578806996352397E+00 + 0.3574876350628977E+00 + 0.3570949328302203E+00 + 0.3567025927467453E+00 + 0.3563106146220107E+00 + 0.3559189982655541E+00 + 0.3555277434869135E+00 + 0.3551368500956269E+00 + 0.3547463179012320E+00 + 0.3543561467132667E+00 + 0.3539663363412689E+00 + 0.3535768865947765E+00 + 0.3531877972833271E+00 + 0.3527990682164590E+00 + 0.3524106992037098E+00 + 0.3520226900546173E+00 + 0.3516350405787196E+00 + 0.3512477505855544E+00 + 0.3508608198846595E+00 + 0.3504742482855728E+00 + 0.3500880355978324E+00 + 0.3497021816309759E+00 + 0.3493166861945412E+00 + 0.3489315490980663E+00 + 0.3485467701510890E+00 + 0.3481623491631471E+00 + 0.3477782859437784E+00 + 0.3473945803025210E+00 + 0.3470112320489126E+00 + 0.3466282409924911E+00 + 0.3462456069427944E+00 + 0.3458633297093603E+00 + 0.3454814091017266E+00 + 0.3450998449294315E+00 + 0.3447186370020123E+00 + 0.3443377851290074E+00 + 0.3439572891199545E+00 + 0.3435771487843913E+00 + 0.3431973639318557E+00 + 0.3428179343718858E+00 + 0.3424388599140192E+00 + 0.3420601403677940E+00 + 0.3416817755427478E+00 + 0.3413037652484187E+00 + 0.3409261092943444E+00 + 0.3405488074900629E+00 + 0.3401718596451119E+00 + 0.3397952655690295E+00 + 0.3394190250713533E+00 + 0.3390431379616213E+00 + 0.3386676040493714E+00 + 0.3382924231441413E+00 + 0.3379175950554690E+00 + 0.3375431195928925E+00 + 0.3371689965659494E+00 + 0.3367952257841776E+00 + 0.3364218070571152E+00 + 0.3360487401942998E+00 + 0.3356760250052694E+00 + 0.3353036612995618E+00 + 0.3349316488867149E+00 + 0.3345599875762666E+00 + 0.3341886771777546E+00 + 0.3338177175007171E+00 + 0.3334471083546915E+00 + 0.3330768495492161E+00 + 0.3327069408938285E+00 + 0.3323373821980666E+00 + 0.3319681732714685E+00 + 0.3315993139235717E+00 + 0.3312308039639143E+00 + 0.3308626432020341E+00 + 0.3304948314474689E+00 + 0.3301273685097566E+00 + 0.3297602541984352E+00 + 0.3293934883230425E+00 + 0.3290270706931163E+00 + 0.3286610011181944E+00 + 0.3282952794078148E+00 + 0.3279299053715153E+00 + 0.3275648788188338E+00 + 0.3272001995593081E+00 + 0.3268358674024761E+00 + 0.3264718821578758E+00 + 0.3261082436350449E+00 + 0.3257449516435211E+00 + 0.3253820059928426E+00 + 0.3250194064925472E+00 + 0.3246571529521727E+00 + 0.3242952451812569E+00 + 0.3239336829893378E+00 + 0.3235724661859530E+00 + 0.3232115945806406E+00 + 0.3228510679829385E+00 + 0.3224908862023845E+00 + 0.3221310490485164E+00 + 0.3217715563308722E+00 + 0.3214124078589896E+00 + 0.3210536034424065E+00 + 0.3206951428906608E+00 + 0.3203370260132904E+00 + 0.3199792526198331E+00 + 0.3196218225198269E+00 + 0.3192647355228094E+00 + 0.3189079914383188E+00 + 0.3185515900758926E+00 + 0.3181955312450689E+00 + 0.3178398147553856E+00 + 0.3174844404163805E+00 + 0.3171294080375914E+00 + 0.3167747174285562E+00 + 0.3164203683988127E+00 + 0.3160663607578989E+00 + 0.3157126943153525E+00 + 0.3153593688807117E+00 + 0.3150063842635140E+00 + 0.3146537402732974E+00 + 0.3143014367195997E+00 + 0.3139494734119589E+00 + 0.3135978501599128E+00 + 0.3132465667729993E+00 + 0.3128956230607560E+00 + 0.3125450188327212E+00 + 0.3121947538984325E+00 + 0.3118448280674278E+00 + 0.3114952411492449E+00 + 0.3111459929534219E+00 + 0.3107970832894963E+00 + 0.3104485119670062E+00 + 0.3101002787954895E+00 + 0.3097523835844840E+00 + 0.3094048261435276E+00 + 0.3090576062821580E+00 + 0.3087107238099132E+00 + 0.3083641785363312E+00 + 0.3080179702709496E+00 + 0.3076720988233064E+00 + 0.3073265640029395E+00 + 0.3069813656193866E+00 + 0.3066365034821858E+00 + 0.3062919774008748E+00 + 0.3059477871849914E+00 + 0.3056039326440736E+00 + 0.3052604135876593E+00 + 0.3049172298252864E+00 + 0.3045743811664925E+00 + 0.3042318674208157E+00 + 0.3038896883977937E+00 + 0.3035478439069645E+00 + 0.3032063337578659E+00 + 0.3028651577600359E+00 + 0.3025243157230121E+00 + 0.3021838074563326E+00 + 0.3018436327695351E+00 + 0.3015037914721575E+00 + 0.3011642833737378E+00 + 0.3008251082838138E+00 + 0.3004862660119232E+00 + 0.3001477563676041E+00 + 0.2998095791603943E+00 + 0.2994717341998315E+00 + 0.2991342212954537E+00 + 0.2987970402567989E+00 + 0.2984601908934046E+00 + 0.2981236730148090E+00 + 0.2977874864305500E+00 + 0.2974516309501651E+00 + 0.2971161063831924E+00 + 0.2967809125391698E+00 + 0.2964460492276350E+00 + 0.2961115162581262E+00 + 0.2957773134401807E+00 + 0.2954434405833370E+00 + 0.2951098974971325E+00 + 0.2947766839911052E+00 + 0.2944437998747931E+00 + 0.2941112449577339E+00 + 0.2937790190494654E+00 + 0.2934471219595258E+00 + 0.2931155534974526E+00 + 0.2927843134727839E+00 + 0.2924534016950575E+00 + 0.2921228179738112E+00 + 0.2917925621185828E+00 + 0.2914626339389104E+00 + 0.2911330332443317E+00 + 0.2908037598443845E+00 + 0.2904748135486068E+00 + 0.2901461941665366E+00 + 0.2898179015077114E+00 + 0.2894899353816693E+00 + 0.2891622955979481E+00 + 0.2888349819660857E+00 + 0.2885079942956200E+00 + 0.2881813323960888E+00 + 0.2878549960770299E+00 + 0.2875289851479813E+00 + 0.2872032994184808E+00 + 0.2868779386980662E+00 + 0.2865529027962755E+00 + 0.2862281915226465E+00 + 0.2859038046867171E+00 + 0.2855797420980251E+00 + 0.2852560035661083E+00 + 0.2849325889005048E+00 + 0.2846094979107522E+00 + 0.2842867304063885E+00 + 0.2839642861969516E+00 + 0.2836421650919792E+00 + 0.2833203669010094E+00 + 0.2829988914335799E+00 + 0.2826777384992286E+00 + 0.2823569079074933E+00 + 0.2820363994679120E+00 + 0.2817162129900226E+00 + 0.2813963482833627E+00 + 0.2810768051574704E+00 + 0.2807575834218835E+00 + 0.2804386828861398E+00 + 0.2801201033597773E+00 + 0.2798018446523337E+00 + 0.2794839065733470E+00 + 0.2791662889323550E+00 + 0.2788489915388956E+00 + 0.2785320142025066E+00 + 0.2782153567327260E+00 + 0.2778990189390914E+00 + 0.2775830006311409E+00 + 0.2772673016184124E+00 + 0.2769519217104436E+00 + 0.2766368607167724E+00 + 0.2763221184469367E+00 + 0.2760076947104743E+00 + 0.2756935893169232E+00 + 0.2753798020758212E+00 + 0.2750663327967061E+00 + 0.2747531812891158E+00 + 0.2744403473625882E+00 + 0.2741278308266612E+00 + 0.2738156314908725E+00 + 0.2735037491647602E+00 + 0.2731921836578618E+00 + 0.2728809347797156E+00 + 0.2725700023398592E+00 + 0.2722593861478305E+00 + 0.2719490860131675E+00 + 0.2716391017454080E+00 + 0.2713294331540896E+00 + 0.2710200800487506E+00 + 0.2707110422389285E+00 + 0.2704023195341613E+00 + 0.2700939117439869E+00 + 0.2697858186779432E+00 + 0.2694780401455679E+00 + 0.2691705759563991E+00 + 0.2688634259199745E+00 + 0.2685565898458320E+00 + 0.2682500675435095E+00 + 0.2679438588225447E+00 + 0.2676379634924756E+00 + 0.2673323813628401E+00 + 0.2670271122431761E+00 + 0.2667221559430213E+00 + 0.2664175122719137E+00 + 0.2661131810393910E+00 + 0.2658091620549913E+00 + 0.2655054551282523E+00 + 0.2652020600687119E+00 + 0.2648989766859080E+00 + 0.2645962047893784E+00 + 0.2642937441886610E+00 + 0.2639915946932937E+00 + 0.2636897561128144E+00 + 0.2633882282567607E+00 + 0.2630870109346708E+00 + 0.2627861039560824E+00 + 0.2624855071305333E+00 + 0.2621852202675616E+00 + 0.2618852431767048E+00 + 0.2615855756675011E+00 + 0.2612862175494883E+00 + 0.2609871686322042E+00 + 0.2606884287251865E+00 + 0.2603899976379734E+00 + 0.2600918751801026E+00 + 0.2597940611611118E+00 + 0.2594965553905392E+00 + 0.2591993576779225E+00 + 0.2589024678327994E+00 + 0.2586058856647080E+00 + 0.2583096109831862E+00 + 0.2580136435977716E+00 + 0.2577179833180022E+00 + 0.2574226299534161E+00 + 0.2571275833135507E+00 + 0.2568328432079442E+00 + 0.2565384094461344E+00 + 0.2562442818376591E+00 + 0.2559504601920561E+00 + 0.2556569443188636E+00 + 0.2553637340276191E+00 + 0.2550708291278605E+00 + 0.2547782294291258E+00 + 0.2544859347409529E+00 + 0.2541939448728796E+00 + 0.2539022596344436E+00 + 0.2536108788351831E+00 + 0.2533198022846356E+00 + 0.2530290297923393E+00 + 0.2527385611678318E+00 + 0.2524483962206511E+00 + 0.2521585347603350E+00 + 0.2518689765964215E+00 + 0.2515797215384483E+00 + 0.2512907693959534E+00 + 0.2510021199784745E+00 + 0.2507137730955495E+00 + 0.2504257285567165E+00 + 0.2501379861715130E+00 + 0.2498505457494773E+00 + 0.2495634071001468E+00 + 0.2492765700330597E+00 + 0.2489900343577536E+00 + 0.2487037998837666E+00 + 0.2484178664206366E+00 + 0.2481322337779011E+00 + 0.2478469017650983E+00 + 0.2475618701917660E+00 + 0.2472771388674420E+00 + 0.2469927076016642E+00 + 0.2467085762039704E+00 + 0.2464247444838986E+00 + 0.2461412122509866E+00 + 0.2458579793147722E+00 + 0.2455750454847933E+00 + 0.2452924105705878E+00 + 0.2450100743816935E+00 + 0.2447280367276484E+00 + 0.2444462974179902E+00 + 0.2441648562622569E+00 + 0.2438837130699862E+00 + 0.2436028676507161E+00 + 0.2433223198139845E+00 + 0.2430420693693291E+00 + 0.2427621161262879E+00 + 0.2424824598943988E+00 + 0.2422031004831995E+00 + 0.2419240377022280E+00 + 0.2416452713610221E+00 + 0.2413668012691197E+00 + 0.2410886272360586E+00 + 0.2408107490713767E+00 + 0.2405331665846119E+00 + 0.2402558795853020E+00 + 0.2399788878829849E+00 + 0.2397021912871985E+00 + 0.2394257896074806E+00 + 0.2391496826533692E+00 + 0.2388738702344019E+00 + 0.2385983521601168E+00 + 0.2383231282400517E+00 + 0.2380481982837444E+00 + 0.2377735621007329E+00 + 0.2374992195005548E+00 + 0.2372251702927483E+00 + 0.2369514142868512E+00 + 0.2366779512924011E+00 + 0.2364047811189361E+00 + 0.2361319035759940E+00 + 0.2358593184731126E+00 + 0.2355870256198300E+00 + 0.2353150248256838E+00 + 0.2350433159002119E+00 + 0.2347718986529523E+00 + 0.2345007728934428E+00 + 0.2342299384312212E+00 + 0.2339593950758254E+00 + 0.2336891426367933E+00 + 0.2334191809236627E+00 + 0.2331495097459716E+00 + 0.2328801289132577E+00 + 0.2326110382350590E+00 + 0.2323422375209133E+00 + 0.2320737265803584E+00 + 0.2318055052229322E+00 + 0.2315375732581727E+00 + 0.2312699304956177E+00 + 0.2310025767448049E+00 + 0.2307355118152723E+00 + 0.2304687355165578E+00 + 0.2302022476581992E+00 + 0.2299360480497343E+00 + 0.2296701365007012E+00 + 0.2294045128206375E+00 + 0.2291391768190812E+00 + 0.2288741283055702E+00 + 0.2286093670896423E+00 + 0.2283448929808353E+00 + 0.2280807057886871E+00 + 0.2278168053227357E+00 + 0.2275531913925188E+00 + 0.2272898638075743E+00 + 0.2270268223774401E+00 + 0.2267640669116541E+00 + 0.2265015972197540E+00 + 0.2262394131112779E+00 + 0.2259775143957636E+00 + 0.2257159008827487E+00 + 0.2254545723817715E+00 + 0.2251935287023695E+00 + 0.2249327696540806E+00 + 0.2246722950464430E+00 + 0.2244121046889942E+00 + 0.2241521983912722E+00 + 0.2238925759628149E+00 + 0.2236332372131602E+00 + 0.2233741819518457E+00 + 0.2231154099884096E+00 + 0.2228569211323896E+00 + 0.2225987151933235E+00 + 0.2223407919807494E+00 + 0.2220831513042048E+00 + 0.2218257929732280E+00 + 0.2215687167973565E+00 + 0.2213119225861282E+00 + 0.2210554101490812E+00 + 0.2207991792957533E+00 + 0.2205432298356822E+00 + 0.2202875615784059E+00 + 0.2200321743334622E+00 + 0.2197770679103889E+00 + 0.2195222421187241E+00 + 0.2192676967680055E+00 + 0.2190134316677709E+00 + 0.2187594466275583E+00 + 0.2185057414569056E+00 + 0.2182523159653504E+00 + 0.2179991699624308E+00 + 0.2177463032576847E+00 + 0.2174937156606497E+00 + 0.2172414069808639E+00 + 0.2169893770278652E+00 + 0.2167376256111912E+00 + 0.2164861525403800E+00 + 0.2162349576249694E+00 + 0.2159840406744972E+00 + 0.2157334014985014E+00 + 0.2154830399065198E+00 + 0.2152329557080901E+00 + 0.2149831487127504E+00 + 0.2147336187300386E+00 + 0.2144843655694922E+00 + 0.2142353890406494E+00 + 0.2139866889530480E+00 + 0.2137382651162258E+00 + 0.2134901173397207E+00 + 0.2132422454330706E+00 + 0.2129946492058133E+00 + 0.2127473284674867E+00 + 0.2125002830276286E+00 + 0.2122535126957770E+00 + 0.2120070172814697E+00 + 0.2117607965942444E+00 + 0.2115148504436392E+00 + 0.2112691786391920E+00 + 0.2110237809904403E+00 + 0.2107786573069223E+00 + 0.2105338073981758E+00 + 0.2102892310737387E+00 + 0.2100449281431487E+00 + 0.2098008984159438E+00 + 0.2095571417016618E+00 + 0.2093136578098406E+00 + 0.2090704465500180E+00 + 0.2088275077317320E+00 + 0.2085848411645204E+00 + 0.2083424466579209E+00 + 0.2081003240214717E+00 + 0.2078584730647104E+00 + 0.2076168935971749E+00 + 0.2073755854284030E+00 + 0.2071345483679329E+00 + 0.2068937822253021E+00 + 0.2066532868100486E+00 + 0.2064130619317103E+00 + 0.2061731073998251E+00 + 0.2059334230239307E+00 + 0.2056940086135650E+00 + 0.2054548639782660E+00 + 0.2052159889275715E+00 + 0.2049773832710193E+00 + 0.2047390468181473E+00 + 0.2045009793784934E+00 + 0.2042631807615954E+00 + 0.2040256507769913E+00 + 0.2037883892342188E+00 + 0.2035513959428159E+00 + 0.2033146707123203E+00 + 0.2030782133522700E+00 + 0.2028420236722028E+00 + 0.2026061014816567E+00 + 0.2023704465901694E+00 + 0.2021350588072787E+00 + 0.2018999379425227E+00 + 0.2016650838054392E+00 + 0.2014304962055659E+00 + 0.2011961749524407E+00 + 0.2009621198556018E+00 + 0.2007283307245866E+00 + 0.2004948073689332E+00 + 0.2002615495981795E+00 + 0.2000285572218632E+00 + 0.1997958300495224E+00 + 0.1995633678906947E+00 + 0.1993311705549182E+00 + 0.1990992378517306E+00 + 0.1988675695906698E+00 + 0.1986361655812737E+00 + 0.1984050256330801E+00 + 0.1981741495556270E+00 + 0.1979435371584522E+00 + 0.1977131882510935E+00 + 0.1974831026430888E+00 + 0.1972532801439759E+00 + 0.1970237205632928E+00 + 0.1967944237105773E+00 + 0.1965653893953672E+00 + 0.1963366174272005E+00 + 0.1961081076156150E+00 + 0.1958798597701484E+00 + 0.1956518737003389E+00 + 0.1954241492157242E+00 + 0.1951966861258420E+00 + 0.1949694842402304E+00 + 0.1947425433684272E+00 + 0.1945158633199702E+00 + 0.1942894439043973E+00 + 0.1940632849312464E+00 + 0.1938373862100553E+00 + 0.1936117475503619E+00 + 0.1933863687617041E+00 + 0.1931612496536197E+00 + 0.1929363900356466E+00 + 0.1927117897173227E+00 + 0.1924874485081857E+00 + 0.1922633662177737E+00 + 0.1920395426556245E+00 + 0.1918159776312758E+00 + 0.1915926709542656E+00 + 0.1913696224341317E+00 + 0.1911468318804120E+00 + 0.1909242991026445E+00 + 0.1907020239103668E+00 + 0.1904800061131169E+00 + 0.1902582455204328E+00 + 0.1900367419418521E+00 + 0.1898154951869129E+00 + 0.1895945050651529E+00 + 0.1893737713861099E+00 + 0.1891532939593221E+00 + 0.1889330725943270E+00 + 0.1887131071006627E+00 + 0.1884933972878669E+00 + 0.1882739429654776E+00 + 0.1880547439430325E+00 + 0.1878358000300697E+00 + 0.1876171110361269E+00 + 0.1873986767707420E+00 + 0.1871804970434529E+00 + 0.1869625716637973E+00 + 0.1867449004413133E+00 + 0.1865274831855387E+00 + 0.1863103197060113E+00 + 0.1860934098122689E+00 + 0.1858767533138495E+00 + 0.1856603500202909E+00 + 0.1854441997411309E+00 + 0.1852283022859076E+00 + 0.1850126574641586E+00 + 0.1847972650854219E+00 + 0.1845821249592353E+00 + 0.1843672368951368E+00 + 0.1841526007026640E+00 + 0.1839382161913551E+00 + 0.1837240831707477E+00 + 0.1835102014503798E+00 + 0.1832965708397892E+00 + 0.1830831911485138E+00 + 0.1828700621860914E+00 + 0.1826571837620600E+00 + 0.1824445556859573E+00 + 0.1822321777673213E+00 + 0.1820200498156897E+00 + 0.1818081716406006E+00 + 0.1815965430515916E+00 + 0.1813851638582009E+00 + 0.1811740338699660E+00 + 0.1809631528964250E+00 + 0.1807525207471157E+00 + 0.1805421372315759E+00 + 0.1803320021593435E+00 + 0.1801221153399565E+00 + 0.1799124765829526E+00 + 0.1797030856978697E+00 + 0.1794939424942457E+00 + 0.1792850467816184E+00 + 0.1790763983695257E+00 + 0.1788679970675055E+00 + 0.1786598426850956E+00 + 0.1784519350318340E+00 + 0.1782442739172584E+00 + 0.1780368591509067E+00 + 0.1778296905423169E+00 + 0.1776227679010267E+00 + 0.1774160910365739E+00 + 0.1772096597584967E+00 + 0.1770034738763326E+00 + 0.1767975331996196E+00 + 0.1765918375378957E+00 + 0.1763863867006986E+00 + 0.1761811804975662E+00 + 0.1759762187380364E+00 + 0.1757715012316469E+00 + 0.1755670277879359E+00 + 0.1753627982164409E+00 + 0.1751588123267000E+00 + 0.1749550699282510E+00 + 0.1747515708306318E+00 + 0.1745483148433801E+00 + 0.1743453017760339E+00 + 0.1741425314381312E+00 + 0.1739400036392096E+00 + 0.1737377181888071E+00 + 0.1735356748964615E+00 + 0.1733338735717108E+00 + 0.1731323140240927E+00 + 0.1729309960631452E+00 + 0.1727299194984060E+00 + 0.1725290841394132E+00 + 0.1723284897957044E+00 + 0.1721281362768177E+00 + 0.1719280233922908E+00 + 0.1717281509516616E+00 + 0.1715285187644680E+00 + 0.1713291266402479E+00 + 0.1711299743885391E+00 + 0.1709310618188795E+00 + 0.1707323887408069E+00 + 0.1705339549638592E+00 + 0.1703357602975743E+00 + 0.1701378045514901E+00 + 0.1699400875351443E+00 + 0.1697426090580749E+00 + 0.1695453689298197E+00 + 0.1693483669599166E+00 + 0.1691516029579035E+00 + 0.1689550767333182E+00 + 0.1687587880956986E+00 + 0.1685627368545825E+00 + 0.1683669228195079E+00 + 0.1681713458000125E+00 + 0.1679760056056343E+00 + 0.1677809020459111E+00 + 0.1675860349303808E+00 + 0.1673914040685812E+00 + 0.1671970092700502E+00 + 0.1670028503443257E+00 + 0.1668089271009455E+00 + 0.1666152393494475E+00 + 0.1664217868993695E+00 + 0.1662285695602495E+00 + 0.1660355871416253E+00 + 0.1658428394530347E+00 + 0.1656503263040157E+00 + 0.1654580475041060E+00 + 0.1652660028628436E+00 + 0.1650741921897662E+00 + 0.1648826152944119E+00 + 0.1646912719863183E+00 + 0.1645001620750235E+00 + 0.1643092853700653E+00 + 0.1641186416809815E+00 + 0.1639282308173100E+00 + 0.1637380525885886E+00 + 0.1635481068043553E+00 + 0.1633583932741478E+00 + 0.1631689118075041E+00 + 0.1629796622139620E+00 + 0.1627906443030595E+00 + 0.1626018578843342E+00 + 0.1624133027673241E+00 + 0.1622249787615671E+00 + 0.1620368856766011E+00 + 0.1618490233219639E+00 + 0.1616613915071933E+00 + 0.1614739900418273E+00 + 0.1612868187354037E+00 + 0.1610998773974603E+00 + 0.1609131658375350E+00 + 0.1607266838651657E+00 + 0.1605404312898904E+00 + 0.1603544079212466E+00 + 0.1601686135687725E+00 + 0.1599830480420059E+00 + 0.1597977111504845E+00 + 0.1596126027037463E+00 + 0.1594277225113292E+00 + 0.1592430703827710E+00 + 0.1590586461276095E+00 + 0.1588744495553827E+00 + 0.1586904804756283E+00 + 0.1585067386978843E+00 + 0.1583232240316885E+00 + 0.1581399362865789E+00 + 0.1579568752720931E+00 + 0.1577740407977692E+00 + 0.1575914326731450E+00 + 0.1574090507077584E+00 + 0.1572268947111471E+00 + 0.1570449644928491E+00 + 0.1568632598624022E+00 + 0.1566817806293444E+00 + 0.1565005266032134E+00 + 0.1563194975935472E+00 + 0.1561386934098835E+00 + 0.1559581138617603E+00 + 0.1557777587587155E+00 + 0.1555976279102868E+00 + 0.1554177211260122E+00 + 0.1552380382154295E+00 + 0.1550585789880765E+00 + 0.1548793432534913E+00 + 0.1547003308212116E+00 + 0.1545215415007751E+00 + 0.1543429751017200E+00 + 0.1541646314335839E+00 + 0.1539865103059048E+00 + 0.1538086115282206E+00 + 0.1536309349100691E+00 + 0.1534534802609880E+00 + 0.1532762473905155E+00 + 0.1530992361081892E+00 + 0.1529224462235471E+00 + 0.1527458775461270E+00 + 0.1525695298854668E+00 + 0.1523934030511043E+00 + 0.1522174968525774E+00 + 0.1520418110994240E+00 + 0.1518663456011820E+00 + 0.1516911001673891E+00 + 0.1515160746075833E+00 + 0.1513412687313025E+00 + 0.1511666823480845E+00 + 0.1509923152674671E+00 + 0.1508181672989882E+00 + 0.1506442382521857E+00 + 0.1504705279365975E+00 + 0.1502970361617615E+00 + 0.1501237627372154E+00 + 0.1499507074724971E+00 + 0.1497778701771445E+00 + 0.1496052506606956E+00 + 0.1494328487326880E+00 + 0.1492606642026598E+00 + 0.1490886968801487E+00 + 0.1489169465746927E+00 + 0.1487454130958295E+00 + 0.1485740962530972E+00 + 0.1484029958560334E+00 + 0.1482321117141762E+00 + 0.1480614436370632E+00 + 0.1478909914342325E+00 + 0.1477207549152219E+00 + 0.1475507338895693E+00 + 0.1473809281668124E+00 + 0.1472113375564893E+00 + 0.1470419618681377E+00 + 0.1468728009112954E+00 + 0.1467038544955004E+00 + 0.1465351224302907E+00 + 0.1463666045252038E+00 + 0.1461983005897779E+00 + 0.1460302104335507E+00 + 0.1458623338660600E+00 + 0.1456946706968438E+00 + 0.1455272207354399E+00 + 0.1453599837913863E+00 + 0.1451929596742206E+00 + 0.1450261481934809E+00 + 0.1448595491587049E+00 + 0.1446931623794307E+00 + 0.1445269876651958E+00 + 0.1443610248255384E+00 + 0.1441952736699962E+00 + 0.1440297340081071E+00 + 0.1438644056494089E+00 + 0.1436992884034396E+00 + 0.1435343820797370E+00 + 0.1433696864878390E+00 + 0.1432052014372833E+00 + 0.1430409267376079E+00 + 0.1428768621983507E+00 + 0.1427130076290495E+00 + 0.1425493628392422E+00 + 0.1423859276384666E+00 + 0.1422227018362606E+00 + 0.1420596852421621E+00 + 0.1418968776657090E+00 + 0.1417342789164390E+00 + 0.1415718888038901E+00 + 0.1414097071376000E+00 + 0.1412477337271069E+00 + 0.1410859683819483E+00 + 0.1409244109116623E+00 + 0.1407630611257867E+00 + 0.1406019188338593E+00 + 0.1404409838454180E+00 + 0.1402802559700007E+00 + 0.1401197350171452E+00 + 0.1399594207963895E+00 + 0.1397993131172713E+00 + 0.1396394117893286E+00 + 0.1394797166220991E+00 + 0.1393202274251208E+00 + 0.1391609440079316E+00 + 0.1390018661800692E+00 + 0.1388429937510716E+00 + 0.1386843265304766E+00 + 0.1385258643278221E+00 + 0.1383676069526459E+00 + 0.1382095542144860E+00 + 0.1380517059228801E+00 + 0.1378940618873662E+00 + 0.1377366219174821E+00 + 0.1375793858227656E+00 + 0.1374223534127547E+00 + 0.1372655244969872E+00 + 0.1371088988850010E+00 + 0.1369524763863339E+00 + 0.1367962568105237E+00 + 0.1366402399671084E+00 + 0.1364844256656259E+00 + 0.1363288137156139E+00 + 0.1361734039266104E+00 + 0.1360181961081532E+00 + 0.1358631900697802E+00 + 0.1357083856210292E+00 + 0.1355537825714380E+00 + 0.1353993807305448E+00 + 0.1352451799078871E+00 + 0.1350911799130029E+00 + 0.1349373805554301E+00 + 0.1347837816447065E+00 + 0.1346303829903700E+00 + 0.1344771844019585E+00 + 0.1343241856890098E+00 + 0.1341713866610618E+00 + 0.1340187871276523E+00 + 0.1338663868983192E+00 + 0.1337141857826005E+00 + 0.1335621835900338E+00 + 0.1334103801301572E+00 + 0.1332587752125084E+00 + 0.1331073686466254E+00 + 0.1329561602420459E+00 + 0.1328051498083080E+00 + 0.1326543371549493E+00 + 0.1325037220915079E+00 + 0.1323533044275215E+00 + 0.1322030839725281E+00 + 0.1320530605360653E+00 + 0.1319032339276713E+00 + 0.1317536039568838E+00 + 0.1316041704332407E+00 + 0.1314549331662797E+00 + 0.1313058919655390E+00 + 0.1311570466405561E+00 + 0.1310083970008692E+00 + 0.1308599428560159E+00 + 0.1307116840155342E+00 + 0.1305636202889619E+00 + 0.1304157514858369E+00 + 0.1302680774156971E+00 + 0.1301205978880802E+00 + 0.1299733127125243E+00 + 0.1298262216985671E+00 + 0.1296793246557466E+00 + 0.1295326213936004E+00 + 0.1293861117216668E+00 + 0.1292397954494832E+00 + 0.1290936723865877E+00 + 0.1289477423425182E+00 + 0.1288020051268125E+00 + 0.1286564605490084E+00 + 0.1285111084186439E+00 + 0.1283659485452567E+00 + 0.1282209807383848E+00 + 0.1280762048075661E+00 + 0.1279316205623383E+00 + 0.1277872278122394E+00 + 0.1276430263668072E+00 + 0.1274990160355795E+00 + 0.1273551966280944E+00 + 0.1272115679538895E+00 + 0.1270681298225028E+00 + 0.1269248820434721E+00 + 0.1267818244263353E+00 + 0.1266389567806304E+00 + 0.1264962789158950E+00 + 0.1263537906416671E+00 + 0.1262114917674846E+00 + 0.1260693821028853E+00 + 0.1259274614574071E+00 + 0.1257857296405878E+00 + 0.1256441864619653E+00 + 0.1255028317310776E+00 + 0.1253616652574624E+00 + 0.1252206868506576E+00 + 0.1250798963202010E+00 + 0.1249392934756306E+00 + 0.1247988781264842E+00 + 0.1246586500822997E+00 + 0.1245186091526148E+00 + 0.1243787551469676E+00 + 0.1242390878748959E+00 + 0.1240996071459374E+00 + 0.1239603127696302E+00 + 0.1238212045555120E+00 + 0.1236822823131207E+00 + 0.1235435458519942E+00 + 0.1234049949816704E+00 + 0.1232666295116870E+00 + 0.1231284492515821E+00 + 0.1229904540108933E+00 + 0.1228526435991587E+00 + 0.1227150178259160E+00 + 0.1225775765007032E+00 + 0.1224403194330580E+00 + 0.1223032464325184E+00 + 0.1221663573086223E+00 + 0.1220296518709074E+00 + 0.1218931299289117E+00 + 0.1217567912921730E+00 + 0.1216206357702291E+00 + 0.1214846631726181E+00 + 0.1213488733088776E+00 + 0.1212132659885456E+00 + 0.1210778410211599E+00 + 0.1209425982162584E+00 + 0.1208075373833790E+00 + 0.1206726583320596E+00 + 0.1205379608718379E+00 + 0.1204034448122519E+00 + 0.1202691099628394E+00 + 0.1201349561331383E+00 + 0.1200009831326864E+00 + 0.1198671907710218E+00 + 0.1197335788576820E+00 + 0.1196001472022051E+00 + 0.1194668956141289E+00 + 0.1193338239029913E+00 + 0.1192009318783301E+00 + 0.1190682193496832E+00 + 0.1189356861265885E+00 + 0.1188033320185838E+00 + 0.1186711568352070E+00 + 0.1185391603859960E+00 + 0.1184073424804886E+00 + 0.1182757029282227E+00 + 0.1181442415387361E+00 + 0.1180129581215667E+00 + 0.1178818524862525E+00 + 0.1177509244423311E+00 + 0.1176201737993406E+00 + 0.1174896003668188E+00 + 0.1173592039543035E+00 + 0.1172289843713326E+00 + 0.1170989414274440E+00 + 0.1169690749321754E+00 + 0.1168393846950649E+00 + 0.1167098705256503E+00 + 0.1165805322334694E+00 + 0.1164513696280601E+00 + 0.1163223825189601E+00 + 0.1161935707157076E+00 + 0.1160649340278402E+00 + 0.1159364722648959E+00 + 0.1158081852350412E+00 + 0.1156800727077109E+00 + 0.1155521344091331E+00 + 0.1154243700876352E+00 + 0.1152967797438994E+00 + 0.1151693635278388E+00 + 0.1150421215243876E+00 + 0.1149150534980028E+00 + 0.1147881591176792E+00 + 0.1146614381504509E+00 + 0.1145348905940602E+00 + 0.1144085164780389E+00 + 0.1142823157852228E+00 + 0.1141562884412152E+00 + 0.1140304343577770E+00 + 0.1139047533248796E+00 + 0.1137792450531783E+00 + 0.1136539092998480E+00 + 0.1135287460777471E+00 + 0.1134037554846401E+00 + 0.1132789375689667E+00 + 0.1131542922504441E+00 + 0.1130298194265027E+00 + 0.1129055189279256E+00 + 0.1127813904957070E+00 + 0.1126574338762215E+00 + 0.1125336489735723E+00 + 0.1124100358048814E+00 + 0.1122865943768332E+00 + 0.1121633246191859E+00 + 0.1120402264332794E+00 + 0.1119172996983063E+00 + 0.1117945442295265E+00 + 0.1116719598323020E+00 + 0.1115495463970067E+00 + 0.1114273039399882E+00 + 0.1113052324801307E+00 + 0.1111833319177621E+00 + 0.1110616020598124E+00 + 0.1109400427197493E+00 + 0.1108186537715272E+00 + 0.1106974351138618E+00 + 0.1105763866723557E+00 + 0.1104555084588072E+00 + 0.1103348005005955E+00 + 0.1102142627071129E+00 + 0.1100938947952747E+00 + 0.1099736964737426E+00 + 0.1098536676215590E+00 + 0.1097338082652612E+00 + 0.1096141184243163E+00 + 0.1094945980288708E+00 + 0.1093752469686141E+00 + 0.1092560651236919E+00 + 0.1091370523408226E+00 + 0.1090182084594577E+00 + 0.1088995333381389E+00 + 0.1087810268697286E+00 + 0.1086626889531737E+00 + 0.1085445195400366E+00 + 0.1084265186319153E+00 + 0.1083086862177388E+00 + 0.1081910221631889E+00 + 0.1080735262722596E+00 + 0.1079561983688415E+00 + 0.1078390383579368E+00 + 0.1077220461647446E+00 + 0.1076052217141765E+00 + 0.1074885649305735E+00 + 0.1073720757359900E+00 + 0.1072557539971979E+00 + 0.1071395995232261E+00 + 0.1070236121322388E+00 + 0.1069077917548508E+00 + 0.1067921383837871E+00 + 0.1066766520035956E+00 + 0.1065613325596249E+00 + 0.1064461799860041E+00 + 0.1063311941488662E+00 + 0.1062163747653027E+00 + 0.1061017215391516E+00 + 0.1059872343685887E+00 + 0.1058729133747695E+00 + 0.1057587586713067E+00 + 0.1056447701587270E+00 + 0.1055309476078406E+00 + 0.1054172908096444E+00 + 0.1053037996641021E+00 + 0.1051904741048072E+00 + 0.1050773140631439E+00 + 0.1049643194651141E+00 + 0.1048514902343991E+00 + 0.1047388262393760E+00 + 0.1046263272786956E+00 + 0.1045139931579731E+00 + 0.1044018238226781E+00 + 0.1042898193120113E+00 + 0.1041779796330868E+00 + 0.1040663046063921E+00 + 0.1039547939885106E+00 + 0.1038434476133090E+00 + 0.1037322655226022E+00 + 0.1036212477890569E+00 + 0.1035103943163781E+00 + 0.1033997047740745E+00 + 0.1032891788347053E+00 + 0.1031788164553294E+00 + 0.1030686178027440E+00 + 0.1029585829949791E+00 + 0.1028487118192399E+00 + 0.1027390039368166E+00 + 0.1026294590925855E+00 + 0.1025200772816691E+00 + 0.1024108585446711E+00 + 0.1023018028642554E+00 + 0.1021929101347316E+00 + 0.1020841802414314E+00 + 0.1019756130446915E+00 + 0.1018672083845924E+00 + 0.1017589661060417E+00 + 0.1016508860912839E+00 + 0.1015429682383212E+00 + 0.1014352124649540E+00 + 0.1013276187545061E+00 + 0.1012201871030947E+00 + 0.1011129174478695E+00 + 0.1010058096269574E+00 + 0.1008988634690835E+00 + 0.1007920788043738E+00 + 0.1006854554642014E+00 + 0.1005789932926792E+00 + 0.1004726922322534E+00 + 0.1003665522712680E+00 + 0.1002605733874879E+00 + 0.1001547555186375E+00 + 0.1000490985928232E+00 + 0.9994360250004279E-01 + 0.9983826705974208E-01 + 0.9973309208650425E-01 + 0.9962807745637008E-01 + 0.9952322310548921E-01 + 0.9941852896915854E-01 + 0.9931399495335912E-01 + 0.9920962094895714E-01 + 0.9910540684793745E-01 + 0.9900135254740473E-01 + 0.9889745794581613E-01 + 0.9879372294683970E-01 + 0.9869014746479184E-01 + 0.9858673141444758E-01 + 0.9848347468846319E-01 + 0.9838037715573343E-01 + 0.9827743868762077E-01 + 0.9817465919133088E-01 + 0.9807203859445391E-01 + 0.9796957681761564E-01 + 0.9786727374842902E-01 + 0.9776512926508156E-01 + 0.9766314325255920E-01 + 0.9756131561120803E-01 + 0.9745964624361536E-01 + 0.9735813505658742E-01 + 0.9725678196190891E-01 + 0.9715558686987833E-01 + 0.9705454967097728E-01 + 0.9695367024327048E-01 + 0.9685294846998808E-01 + 0.9675238426174126E-01 + 0.9665197753783513E-01 + 0.9655172820575913E-01 + 0.9645163614343998E-01 + 0.9635170122486482E-01 + 0.9625192334754074E-01 + 0.9615230243947949E-01 + 0.9605283842780263E-01 + 0.9595353120235107E-01 + 0.9585438062725501E-01 + 0.9575538657371981E-01 + 0.9565654895621790E-01 + 0.9555786770452269E-01 + 0.9545934273537762E-01 + 0.9536097392933389E-01 + 0.9526276116105402E-01 + 0.9516470432142041E-01 + 0.9506680332444789E-01 + 0.9496905808501088E-01 + 0.9487146850462853E-01 + 0.9477403447469019E-01 + 0.9467675588633352E-01 + 0.9457963263069605E-01 + 0.9448266459891812E-01 + 0.9438585168741504E-01 + 0.9428919380885427E-01 + 0.9419269087877748E-01 + 0.9409634279750016E-01 + 0.9400014944144033E-01 + 0.9390411068663495E-01 + 0.9380822643804510E-01 + 0.9371249662474284E-01 + 0.9361692117065957E-01 + 0.9352149995774861E-01 + 0.9342623284970635E-01 + 0.9333111972302664E-01 + 0.9323616049831507E-01 + 0.9314135510538211E-01 + 0.9304670345458133E-01 + 0.9295220542262877E-01 + 0.9285786088406358E-01 + 0.9276366973641620E-01 + 0.9266963189827264E-01 + 0.9257574728577410E-01 + 0.9248201578921698E-01 + 0.9238843728646778E-01 + 0.9229501166135780E-01 + 0.9220173882078054E-01 + 0.9210861867709792E-01 + 0.9201565113911215E-01 + 0.9192283610883855E-01 + 0.9183017348714733E-01 + 0.9173766316601638E-01 + 0.9164530502847828E-01 + 0.9155309895908454E-01 + 0.9146104485966834E-01 + 0.9136914264123968E-01 + 0.9127739221340416E-01 + 0.9118579347943884E-01 + 0.9109434634090551E-01 + 0.9100305069373238E-01 + 0.9091190642198651E-01 + 0.9082091340870150E-01 + 0.9073007154986680E-01 + 0.9063938075578687E-01 + 0.9054884093697545E-01 + 0.9045845199851943E-01 + 0.9036821384232823E-01 + 0.9027812636742032E-01 + 0.9018818945931248E-01 + 0.9009840299956334E-01 + 0.9000876687885469E-01 + 0.8991928100911334E-01 + 0.8982994530492860E-01 + 0.8974075966896265E-01 + 0.8965172398939915E-01 + 0.8956283815453672E-01 + 0.8947410206414059E-01 + 0.8938551562537057E-01 + 0.8929707874255664E-01 + 0.8920879130443225E-01 + 0.8912065319462595E-01 + 0.8903266430833451E-01 + 0.8894482457060150E-01 + 0.8885713391047366E-01 + 0.8876959222624981E-01 + 0.8868219937520243E-01 + 0.8859495521525986E-01 + 0.8850785965095106E-01 + 0.8842091261987390E-01 + 0.8833411405368342E-01 + 0.8824746384484438E-01 + 0.8816096187151006E-01 + 0.8807460801500582E-01 + 0.8798840216579695E-01 + 0.8790234421621612E-01 + 0.8781643407123049E-01 + 0.8773067165434821E-01 + 0.8764505688845697E-01 + 0.8755958966438126E-01 + 0.8747426984792867E-01 + 0.8738909731043684E-01 + 0.8730407196408875E-01 + 0.8721919373760560E-01 + 0.8713446254898488E-01 + 0.8704987828197117E-01 + 0.8696544081367248E-01 + 0.8688115003177613E-01 + 0.8679700584105886E-01 + 0.8671300814760233E-01 + 0.8662915685307958E-01 + 0.8654545185538357E-01 + 0.8646189305269946E-01 + 0.8637848034627796E-01 + 0.8629521363874380E-01 + 0.8621209283068298E-01 + 0.8612911781544382E-01 + 0.8604628848481227E-01 + 0.8596360473397031E-01 + 0.8588106646414559E-01 + 0.8579867357716610E-01 + 0.8571642597438705E-01 + 0.8563432355671820E-01 + 0.8555236622458624E-01 + 0.8547055387454652E-01 + 0.8538888640123648E-01 + 0.8530736369885076E-01 + 0.8522598565989386E-01 + 0.8514475217649455E-01 + 0.8506366314590931E-01 + 0.8498271847546445E-01 + 0.8490191807354389E-01 + 0.8482126184572048E-01 + 0.8474074969465827E-01 + 0.8466038152153022E-01 + 0.8458015721478919E-01 + 0.8450007665593198E-01 + 0.8442013973142577E-01 + 0.8434034634987029E-01 + 0.8426069642589663E-01 + 0.8418118986657069E-01 + 0.8410182656254339E-01 + 0.8402260640253383E-01 + 0.8394352928166793E-01 + 0.8386459510235296E-01 + 0.8378580376725431E-01 + 0.8370715517759260E-01 + 0.8362864923371742E-01 + 0.8355028583536461E-01 + 0.8347206487932574E-01 + 0.8339398626148611E-01 + 0.8331604987551485E-01 + 0.8323825560976188E-01 + 0.8316060335224496E-01 + 0.8308309300700582E-01 + 0.8300572449809582E-01 + 0.8292849774814592E-01 + 0.8285141264740664E-01 + 0.8277446906463737E-01 + 0.8269766687388518E-01 + 0.8262100598016261E-01 + 0.8254448629898633E-01 + 0.8246810774163169E-01 + 0.8239187020806716E-01 + 0.8231577359634684E-01 + 0.8223981780210682E-01 + 0.8216400271766382E-01 + 0.8208832823560980E-01 + 0.8201279425567583E-01 + 0.8193740068280521E-01 + 0.8186214742021459E-01 + 0.8178703435987089E-01 + 0.8171206138950684E-01 + 0.8163722840303272E-01 + 0.8156253531262525E-01 + 0.8148798203356938E-01 + 0.8141356846729263E-01 + 0.8133929449429582E-01 + 0.8126515999445715E-01 + 0.8119116486542755E-01 + 0.8111730901912340E-01 + 0.8104359236676380E-01 + 0.8097001481206705E-01 + 0.8089657625561850E-01 + 0.8082327659493584E-01 + 0.8075011571749895E-01 + 0.8067709350880449E-01 + 0.8060420985971833E-01 + 0.8053146467003449E-01 + 0.8045885784070428E-01 + 0.8038638927849446E-01 + 0.8031405889530037E-01 + 0.8024186660054117E-01 + 0.8016981228333703E-01 + 0.8009789582342995E-01 + 0.8002611710641006E-01 + 0.7995447603942419E-01 + 0.7988297253450395E-01 + 0.7981160649992150E-01 + 0.7974037783705800E-01 + 0.7966928644621595E-01 + 0.7959833222027770E-01 + 0.7952751504493739E-01 + 0.7945683480668111E-01 + 0.7938629140135735E-01 + 0.7931588472959338E-01 + 0.7924561469390814E-01 + 0.7917548120436573E-01 + 0.7910548417288020E-01 + 0.7903562350160181E-01 + 0.7896589907292863E-01 + 0.7889631076743048E-01 + 0.7882685847999609E-01 + 0.7875754212075083E-01 + 0.7868836160020713E-01 + 0.7861931682545553E-01 + 0.7855040770165978E-01 + 0.7848163412860540E-01 + 0.7841299598178625E-01 + 0.7834449312990134E-01 + 0.7827612546031119E-01 + 0.7820789290210453E-01 + 0.7813979538922533E-01 + 0.7807183283065405E-01 + 0.7800400510619059E-01 + 0.7793631209489877E-01 + 0.7786875368597366E-01 + 0.7780132977489664E-01 + 0.7773404025926334E-01 + 0.7766688504688112E-01 + 0.7759986404876049E-01 + 0.7753297717017924E-01 + 0.7746622430222246E-01 + 0.7739960533399136E-01 + 0.7733312016118818E-01 + 0.7726676868799435E-01 + 0.7720055081858535E-01 + 0.7713446645005446E-01 + 0.7706851547465794E-01 + 0.7700269778524570E-01 + 0.7693701327854399E-01 + 0.7687146185264300E-01 + 0.7680604340977748E-01 + 0.7674075786355301E-01 + 0.7667560512911607E-01 + 0.7661058510304510E-01 + 0.7654569765569326E-01 + 0.7648094265757871E-01 + 0.7641632001018587E-01 + 0.7635182963826006E-01 + 0.7628747146324501E-01 + 0.7622324538220342E-01 + 0.7615915128272373E-01 + 0.7609518905417401E-01 + 0.7603135859141091E-01 + 0.7596765979035998E-01 + 0.7590409254857934E-01 + 0.7584065676616437E-01 + 0.7577735234351016E-01 + 0.7571417918235933E-01 + 0.7565113718556677E-01 + 0.7558822625469661E-01 + 0.7552544628196544E-01 + 0.7546279715556675E-01 + 0.7540027876910196E-01 + 0.7533789103455804E-01 + 0.7527563386764484E-01 + 0.7521350717060270E-01 + 0.7515151082261477E-01 + 0.7508964470169937E-01 + 0.7502790870717622E-01 + 0.7496630275768744E-01 + 0.7490482676903678E-01 + 0.7484348062898194E-01 + 0.7478226421192851E-01 + 0.7472117740137083E-01 + 0.7466022011541327E-01 + 0.7459939228018129E-01 + 0.7453869380619239E-01 + 0.7447812457450240E-01 + 0.7441768446348016E-01 + 0.7435737336479333E-01 + 0.7429719118336010E-01 + 0.7423713782431662E-01 + 0.7417721318963620E-01 + 0.7411741717962917E-01 + 0.7405774969349360E-01 + 0.7399821062581329E-01 + 0.7393879986996771E-01 + 0.7387951732062627E-01 + 0.7382036287514673E-01 + 0.7376133643152877E-01 + 0.7370243789609644E-01 + 0.7364366718428385E-01 + 0.7358502420913476E-01 + 0.7352650885488528E-01 + 0.7346812098906963E-01 + 0.7340986048777593E-01 + 0.7335172726812079E-01 + 0.7329372125916174E-01 + 0.7323584237460878E-01 + 0.7317809049279713E-01 + 0.7312046548771533E-01 + 0.7306296725372457E-01 + 0.7300559570968137E-01 + 0.7294835077356932E-01 + 0.7289123233670320E-01 + 0.7283424027336622E-01 + 0.7277737446419908E-01 + 0.7272063482448942E-01 + 0.7266402128076956E-01 + 0.7260753374702498E-01 + 0.7255117210519888E-01 + 0.7249493623251883E-01 + 0.7243882601926845E-01 + 0.7238284137298456E-01 + 0.7232698220151579E-01 + 0.7227124840130518E-01 + 0.7221563986077983E-01 + 0.7216015647059983E-01 + 0.7210479813541467E-01 + 0.7204956476492779E-01 + 0.7199445626695368E-01 + 0.7193947254393893E-01 + 0.7188461349725555E-01 + 0.7182987902163454E-01 + 0.7177526900215526E-01 + 0.7172078332384539E-01 + 0.7166642188238348E-01 + 0.7161218458167897E-01 + 0.7155807132537264E-01 + 0.7150408201396040E-01 + 0.7145021654667799E-01 + 0.7139647482270726E-01 + 0.7134285674107126E-01 + 0.7128936220079441E-01 + 0.7123599110302269E-01 + 0.7118274335229548E-01 + 0.7112961885276945E-01 + 0.7107661749661933E-01 + 0.7102373916584437E-01 + 0.7097098374468746E-01 + 0.7091835113614654E-01 + 0.7086584125154143E-01 + 0.7081345400035893E-01 + 0.7076118928553833E-01 + 0.7070904700851398E-01 + 0.7065702706433736E-01 + 0.7060512933681067E-01 + 0.7055335370927464E-01 + 0.7050170007900427E-01 + 0.7045016835627418E-01 + 0.7039875845126050E-01 + 0.7034747026924854E-01 + 0.7029630371312468E-01 + 0.7024525868147034E-01 + 0.7019433505615101E-01 + 0.7014353271509234E-01 + 0.7009285155229956E-01 + 0.7004229149303952E-01 + 0.6999185246489731E-01 + 0.6994153436472933E-01 + 0.6989133705790302E-01 + 0.6984126041264984E-01 + 0.6979130433695692E-01 + 0.6974146876033622E-01 + 0.6969175360401945E-01 + 0.6964215875236325E-01 + 0.6959268407978524E-01 + 0.6954332947277770E-01 + 0.6949409484376465E-01 + 0.6944498010814154E-01 + 0.6939598517020508E-01 + 0.6934710992175880E-01 + 0.6929835425394049E-01 + 0.6924971805789162E-01 + 0.6920120122475587E-01 + 0.6915280364904897E-01 + 0.6910452524160373E-01 + 0.6905636591814322E-01 + 0.6900832558329105E-01 + 0.6896040411529767E-01 + 0.6891260138925548E-01 + 0.6886491730376054E-01 + 0.6881735178647784E-01 + 0.6876990476378461E-01 + 0.6872257612521564E-01 + 0.6867536573609046E-01 + 0.6862827346865954E-01 + 0.6858129923486883E-01 + 0.6853444295997967E-01 + 0.6848770456085752E-01 + 0.6844108393223881E-01 + 0.6839458096517264E-01 + 0.6834819554687659E-01 + 0.6830192755935900E-01 + 0.6825577688601870E-01 + 0.6820974343430314E-01 + 0.6816382712904940E-01 + 0.6811802789003113E-01 + 0.6807234560416909E-01 + 0.6802678014614348E-01 + 0.6798133140058983E-01 + 0.6793599928129166E-01 + 0.6789078370703972E-01 + 0.6784568458090945E-01 + 0.6780070178247357E-01 + 0.6775583519058443E-01 + 0.6771108470301800E-01 + 0.6766645023259392E-01 + 0.6762193169110420E-01 + 0.6757752898060875E-01 + 0.6753324199914537E-01 + 0.6748907064406301E-01 + 0.6744501481051484E-01 + 0.6740107439320857E-01 + 0.6735724928681950E-01 + 0.6731353938596969E-01 + 0.6726994458537929E-01 + 0.6722646478164896E-01 + 0.6718309987302193E-01 + 0.6713984975895409E-01 + 0.6709671434765465E-01 + 0.6705369355133604E-01 + 0.6701078727655069E-01 + 0.6696799540931875E-01 + 0.6692531783110489E-01 + 0.6688275443124945E-01 + 0.6684030511338463E-01 + 0.6679796978249169E-01 + 0.6675574834010407E-01 + 0.6671364068444698E-01 + 0.6667164671393327E-01 + 0.6662976632970673E-01 + 0.6658799943429115E-01 + 0.6654634592844583E-01 + 0.6650480570578372E-01 + 0.6646337865814199E-01 + 0.6642206468039481E-01 + 0.6638086367349862E-01 + 0.6633977553913166E-01 + 0.6629880017888906E-01 + 0.6625793749427835E-01 + 0.6621718738623134E-01 + 0.6617654975019089E-01 + 0.6613602447853960E-01 + 0.6609561146484672E-01 + 0.6605531060815294E-01 + 0.6601512180903889E-01 + 0.6597504496945805E-01 + 0.6593507999440198E-01 + 0.6589522678886834E-01 + 0.6585548524565054E-01 + 0.6581585524341225E-01 + 0.6577633666260560E-01 + 0.6573692941174533E-01 + 0.6569763341658806E-01 + 0.6565844859642994E-01 + 0.6561937483701518E-01 + 0.6558041201365627E-01 + 0.6554156001226486E-01 + 0.6550281874472499E-01 + 0.6546418812653455E-01 + 0.6542566806244148E-01 + 0.6538725844351684E-01 + 0.6534895916016293E-01 + 0.6531077010547159E-01 + 0.6527269117435398E-01 + 0.6523472226252631E-01 + 0.6519686327000482E-01 + 0.6515911409829498E-01 + 0.6512147464831903E-01 + 0.6508394481941132E-01 + 0.6504652451066667E-01 + 0.6500921362244717E-01 + 0.6497201205688765E-01 + 0.6493491971585747E-01 + 0.6489793649557209E-01 + 0.6486106228804090E-01 + 0.6482429698617599E-01 + 0.6478764048913965E-01 + 0.6475109269849789E-01 + 0.6471465351588290E-01 + 0.6467832284311108E-01 + 0.6464210058196535E-01 + 0.6460598663021619E-01 + 0.6456998087945874E-01 + 0.6453408322121922E-01 + 0.6449829355452840E-01 + 0.6446261178455376E-01 + 0.6442703781502256E-01 + 0.6439157153835474E-01 + 0.6435621284215371E-01 + 0.6432096161958416E-01 + 0.6428581778251843E-01 + 0.6425078124657480E-01 + 0.6421585191417002E-01 + 0.6418102966534455E-01 + 0.6414631437896795E-01 + 0.6411170595294963E-01 + 0.6407720430230539E-01 + 0.6404280934047680E-01 + 0.6400852096381103E-01 + 0.6397433906059929E-01 + 0.6394026352169652E-01 + 0.6390629424770379E-01 + 0.6387243114148802E-01 + 0.6383867410508135E-01 + 0.6380502303895568E-01 + 0.6377147784331891E-01 + 0.6373803841628787E-01 + 0.6370470465391570E-01 + 0.6367147645156903E-01 + 0.6363835369933240E-01 + 0.6360533628454111E-01 + 0.6357242410075024E-01 + 0.6353961706747564E-01 + 0.6350691511085842E-01 + 0.6347431813855867E-01 + 0.6344182602010731E-01 + 0.6340943862142565E-01 + 0.6337715583783712E-01 + 0.6334497759653659E-01 + 0.6331290382323563E-01 + 0.6328093441296005E-01 + 0.6324906924312023E-01 + 0.6321730819494799E-01 + 0.6318565116835043E-01 + 0.6315409806863448E-01 + 0.6312264880007591E-01 + 0.6309130326459717E-01 + 0.6306006136361471E-01 + 0.6302892299276404E-01 + 0.6299788804079630E-01 + 0.6296695639749706E-01 + 0.6293612796890715E-01 + 0.6290540267134754E-01 + 0.6287478041591719E-01 + 0.6284426108590479E-01 + 0.6281384455568125E-01 + 0.6278353071357938E-01 + 0.6275331948320967E-01 + 0.6272321079301330E-01 + 0.6269320454558090E-01 + 0.6266330060967023E-01 + 0.6263349885404313E-01 + 0.6260379917704745E-01 + 0.6257420149762258E-01 + 0.6254470573120202E-01 + 0.6251531177059933E-01 + 0.6248601950054734E-01 + 0.6245682881242304E-01 + 0.6242773961624664E-01 + 0.6239875182510247E-01 + 0.6236986534336193E-01 + 0.6234108006285625E-01 + 0.6231239587458616E-01 + 0.6228381267167161E-01 + 0.6225533034885464E-01 + 0.6222694880158802E-01 + 0.6219866792964005E-01 + 0.6217048763449061E-01 + 0.6214240781716569E-01 + 0.6211442837726564E-01 + 0.6208654921412533E-01 + 0.6205877022778809E-01 + 0.6203109131941941E-01 + 0.6200351239011466E-01 + 0.6197603333805889E-01 + 0.6194865405898931E-01 + 0.6192137444785719E-01 + 0.6189419439448916E-01 + 0.6186711378646187E-01 + 0.6184013251863103E-01 + 0.6181325051108787E-01 + 0.6178646768914685E-01 + 0.6175978395829931E-01 + 0.6173319918944453E-01 + 0.6170671325128775E-01 + 0.6168032603826372E-01 + 0.6165403746858340E-01 + 0.6162784745872569E-01 + 0.6160175590387615E-01 + 0.6157576268888105E-01 + 0.6154986770344219E-01 + 0.6152407085624518E-01 + 0.6149837206048925E-01 + 0.6147277122224647E-01 + 0.6144726823387158E-01 + 0.6142186298624566E-01 + 0.6139655537226432E-01 + 0.6137134528686781E-01 + 0.6134623262545356E-01 + 0.6132121728676411E-01 + 0.6129629917133519E-01 + 0.6127147818006835E-01 + 0.6124675421536312E-01 + 0.6122212717999621E-01 + 0.6119759697247940E-01 + 0.6117316348225787E-01 + 0.6114882659805405E-01 + 0.6112458622092585E-01 + 0.6110044226568401E-01 + 0.6107639464573291E-01 + 0.6105244325245504E-01 + 0.6102858796421775E-01 + 0.6100482866426107E-01 + 0.6098116525995417E-01 + 0.6095759766585367E-01 + 0.6093412579042824E-01 + 0.6091074952782837E-01 + 0.6088746877010345E-01 + 0.6086428340776708E-01 + 0.6084119332945158E-01 + 0.6081819842546441E-01 + 0.6079529860717443E-01 + 0.6077249379965873E-01 + 0.6074978392109177E-01 + 0.6072716885155888E-01 + 0.6070464845851641E-01 + 0.6068222262230823E-01 + 0.6065989125687318E-01 + 0.6063765428120985E-01 + 0.6061551159991262E-01 + 0.6059346309818090E-01 + 0.6057150866120415E-01 + 0.6054964819242931E-01 + 0.6052788160837832E-01 + 0.6050620882157334E-01 + 0.6048462971900523E-01 + 0.6046314417825403E-01 + 0.6044175208557116E-01 + 0.6042045335231824E-01 + 0.6039924789416482E-01 + 0.6037813561597445E-01 + 0.6035711640660704E-01 + 0.6033619015424212E-01 + 0.6031535675654443E-01 + 0.6029461611864701E-01 + 0.6027396814451986E-01 + 0.6025341272903331E-01 + 0.6023294976333661E-01 + 0.6021257914072001E-01 + 0.6019230076138779E-01 + 0.6017211452693503E-01 + 0.6015202033929890E-01 + 0.6013201810097460E-01 + 0.6011210771410073E-01 + 0.6009228907349159E-01 + 0.6007256206762443E-01 + 0.6005292658709055E-01 + 0.6003338253984632E-01 + 0.6001392984170822E-01 + 0.5999456840128694E-01 + 0.5997529810129167E-01 + 0.5995611881879810E-01 + 0.5993703044505050E-01 + 0.5991803289675057E-01 + 0.5989912609220270E-01 + 0.5988030992755570E-01 + 0.5986158427790124E-01 + 0.5984294902132799E-01 + 0.5982440406812513E-01 + 0.5980594934468940E-01 + 0.5978758476922359E-01 + 0.5976931022682599E-01 + 0.5975112559443238E-01 + 0.5973303075893339E-01 + 0.5971502562695553E-01 + 0.5969711010704359E-01 + 0.5967928409762966E-01 + 0.5966154748658910E-01 + 0.5964390016292615E-01 + 0.5962634203105105E-01 + 0.5960887300387821E-01 + 0.5959149299084304E-01 + 0.5957420188555206E-01 + 0.5955699957724233E-01 + 0.5953988595870147E-01 + 0.5952286093049528E-01 + 0.5950592439426261E-01 + 0.5948907625290999E-01 + 0.5947231641079776E-01 + 0.5945564477107377E-01 + 0.5943906122299543E-01 + 0.5942256564736926E-01 + 0.5940615792957193E-01 + 0.5938983797816620E-01 + 0.5937360570884231E-01 + 0.5935746102919715E-01 + 0.5934140382720278E-01 + 0.5932543398826955E-01 + 0.5930955141067800E-01 + 0.5929375600892585E-01 + 0.5927804769696584E-01 + 0.5926242636941502E-01 + 0.5924689190793895E-01 + 0.5923144419637158E-01 + 0.5921608313182127E-01 + 0.5920080861595237E-01 + 0.5918562055292296E-01 + 0.5917051885358116E-01 + 0.5915550342959715E-01 + 0.5914057417954869E-01 + 0.5912573098387687E-01 + 0.5911097372307344E-01 + 0.5909630229702669E-01 + 0.5908171661991646E-01 + 0.5906721660383091E-01 + 0.5905280214592169E-01 + 0.5903847313765612E-01 + 0.5902422947042021E-01 + 0.5901007103539032E-01 + 0.5899599772386282E-01 + 0.5898200943624817E-01 + 0.5896810608684740E-01 + 0.5895428758982845E-01 + 0.5894055383832141E-01 + 0.5892690470841720E-01 + 0.5891334008028717E-01 + 0.5889985986562525E-01 + 0.5888646398941582E-01 + 0.5887315236798020E-01 + 0.5885992488875066E-01 + 0.5884678143322709E-01 + 0.5883372188663332E-01 + 0.5882074614044285E-01 + 0.5880785408752594E-01 + 0.5879504563578170E-01 + 0.5878232070648338E-01 + 0.5876967921784736E-01 + 0.5875712106081856E-01 + 0.5874464611362049E-01 + 0.5873225425988934E-01 + 0.5871994540351093E-01 + 0.5870771945297664E-01 + 0.5869557630994886E-01 + 0.5868351586345489E-01 + 0.5867153800169450E-01 + 0.5865964262479777E-01 + 0.5864782964455680E-01 + 0.5863609897181457E-01 + 0.5862445050490821E-01 + 0.5861288413573083E-01 + 0.5860139975612179E-01 + 0.5858999725791896E-01 + 0.5857867653300223E-01 + 0.5856743747945073E-01 + 0.5855628000800435E-01 + 0.5854520403051429E-01 + 0.5853420944744424E-01 + 0.5852329614703146E-01 + 0.5851246401818464E-01 + 0.5850171296234656E-01 + 0.5849104288808444E-01 + 0.5848045369957432E-01 + 0.5846994528049566E-01 + 0.5845951750871734E-01 + 0.5844917027476147E-01 + 0.5843890349771861E-01 + 0.5842871710010197E-01 + 0.5841861098877228E-01 + 0.5840858505212793E-01 + 0.5839863917811682E-01 + 0.5838877326151708E-01 + 0.5837898720138433E-01 + 0.5836928089535737E-01 + 0.5835965423350233E-01 + 0.5835010710349695E-01 + 0.5834063940178829E-01 + 0.5833125104674654E-01 + 0.5832194195969094E-01 + 0.5831271204567765E-01 + 0.5830356118868187E-01 + 0.5829448927164075E-01 + 0.5828549618215715E-01 + 0.5827658181104977E-01 + 0.5826774605315657E-01 + 0.5825898882586445E-01 + 0.5825031005451948E-01 + 0.5824170965022400E-01 + 0.5823318748457051E-01 + 0.5822474342288730E-01 + 0.5821637735592146E-01 + 0.5820808921065109E-01 + 0.5819987891473813E-01 + 0.5819174636529158E-01 + 0.5818369143626050E-01 + 0.5817571400570397E-01 + 0.5816781398153546E-01 + 0.5815999128338132E-01 + 0.5815224582167643E-01 + 0.5814457747847055E-01 + 0.5813698613060647E-01 + 0.5812947166970587E-01 + 0.5812203401057174E-01 + 0.5811467306904223E-01 + 0.5810738874419675E-01 + 0.5810018092115276E-01 + 0.5809304948737325E-01 + 0.5808599435010411E-01 + 0.5807901542518975E-01 + 0.5807211262163035E-01 + 0.5806528582486610E-01 + 0.5805853491540260E-01 + 0.5805185978233923E-01 + 0.5804526032962377E-01 + 0.5803873646248892E-01 + 0.5803228808243338E-01 + 0.5802591508753830E-01 + 0.5801961737613466E-01 + 0.5801339484956668E-01 + 0.5800724741062686E-01 + 0.5800117496003389E-01 + 0.5799517739056309E-01 + 0.5798925459313706E-01 + 0.5798340646323746E-01 + 0.5797763290503331E-01 + 0.5797193382332799E-01 + 0.5796630911501168E-01 + 0.5796075866901887E-01 + 0.5795528237550888E-01 + 0.5794988013885728E-01 + 0.5794455187098430E-01 + 0.5793929748075515E-01 + 0.5793411686376300E-01 + 0.5792900991207608E-01 + 0.5792397651750687E-01 + 0.5791901657132968E-01 + 0.5791412996513483E-01 + 0.5790931660114961E-01 + 0.5790457639334745E-01 + 0.5789990925425332E-01 + 0.5789531507539593E-01 + 0.5789079373601701E-01 + 0.5788634511981496E-01 + 0.5788196913231568E-01 + 0.5787766568548573E-01 + 0.5787343468846165E-01 + 0.5786927604379157E-01 + 0.5786518965283074E-01 + 0.5786117540829961E-01 + 0.5785723319244241E-01 + 0.5785336288851632E-01 + 0.5784956439885703E-01 + 0.5784583763809712E-01 + 0.5784218251768131E-01 + 0.5783859893115019E-01 + 0.5783508676616918E-01 + 0.5783164591500672E-01 + 0.5782827628180622E-01 + 0.5782497777242304E-01 + 0.5782175028546378E-01 + 0.5781859370986880E-01 + 0.5781550793491610E-01 + 0.5781249286327576E-01 + 0.5780954840711583E-01 + 0.5780667447642921E-01 + 0.5780387096720227E-01 + 0.5780113777030951E-01 + 0.5779847477771102E-01 + 0.5779588188449315E-01 + 0.5779335898631539E-01 + 0.5779090597975946E-01 + 0.5778852276275986E-01 + 0.5778620923385720E-01 + 0.5778396529919746E-01 + 0.5778179087085715E-01 + 0.5777968585808932E-01 + 0.5777765015050398E-01 + 0.5777568362976245E-01 + 0.5777378618217992E-01 + 0.5777195770893396E-01 + 0.5777019811413623E-01 + 0.5776850730110211E-01 + 0.5776688517186148E-01 + 0.5776533162792990E-01 + 0.5776384656379410E-01 + 0.5776242986791748E-01 + 0.5776108143097778E-01 + 0.5775980116145090E-01 + 0.5775858897578658E-01 + 0.5775744478255652E-01 + 0.5775636846233963E-01 + 0.5775535988973371E-01 + 0.5775441895764811E-01 + 0.5775354559156778E-01 + 0.5775273971886893E-01 + 0.5775200123661684E-01 + 0.5775133001334275E-01 + 0.5775072592006660E-01 + 0.5775018885769299E-01 + 0.5774971874192546E-01 + 0.5774931548555124E-01 + 0.5774897898945522E-01 + 0.5774870915157873E-01 + 0.5774850586813115E-01 + 0.5774836903192256E-01 + 0.5774829853558805E-01 + 0.5774829427715579E-01 + 0.5774835616023024E-01 + 0.5774848408792156E-01 + 0.5774867795629941E-01 + 0.5774893765758550E-01 + 0.5774926308497915E-01 + 0.5774965413613996E-01 + 0.5775011070997128E-01 + 0.5775063270926617E-01 + 0.5775122004525173E-01 + 0.5775187262977047E-01 + 0.5775259036035775E-01 + 0.5775337311829860E-01 + 0.5775422078557675E-01 + 0.5775513326091877E-01 + 0.5775611045313772E-01 + 0.5775715226778252E-01 + 0.5775825859376356E-01 + 0.5775942931495194E-01 + 0.5776066432676662E-01 + 0.5776196355233472E-01 + 0.5776332691810550E-01 + 0.5776475432392799E-01 + 0.5776624563645376E-01 + 0.5776780072327695E-01 + 0.5776941948857644E-01 + 0.5777110186079875E-01 + 0.5777284776259037E-01 + 0.5777465708258899E-01 + 0.5777652969790745E-01 + 0.5777846549262131E-01 + 0.5778046436934385E-01 + 0.5778252623368658E-01 + 0.5778465098911699E-01 + 0.5778683853616093E-01 + 0.5778908877484548E-01 + 0.5779140160125015E-01 + 0.5779377690857373E-01 + 0.5779621459053478E-01 + 0.5779871454441725E-01 + 0.5780127666885019E-01 + 0.5780390086552822E-01 + 0.5780658704518642E-01 + 0.5780933512000386E-01 + 0.5781214499009886E-01 + 0.5781501653738655E-01 + 0.5781794964321937E-01 + 0.5782094420404044E-01 + 0.5782400012839837E-01 + 0.5782711732285819E-01 + 0.5783029567813646E-01 + 0.5783353507833782E-01 + 0.5783683541606108E-01 + 0.5784019661184725E-01 + 0.5784361859167767E-01 + 0.5784710126098148E-01 + 0.5785064449103304E-01 + 0.5785424815119673E-01 + 0.5785791213516634E-01 + 0.5786163635808013E-01 + 0.5786542073426960E-01 + 0.5786926516627959E-01 + 0.5787316955121260E-01 + 0.5787713378592408E-01 + 0.5788115776647445E-01 + 0.5788524138872596E-01 + 0.5788938454689734E-01 + 0.5789358713219657E-01 + 0.5789784903598423E-01 + 0.5790217015992582E-01 + 0.5790655041566407E-01 + 0.5791098971364490E-01 + 0.5791548795049475E-01 + 0.5792004501579054E-01 + 0.5792466080099000E-01 + 0.5792933520543063E-01 + 0.5793406813046158E-01 + 0.5793885947859906E-01 + 0.5794370915471886E-01 + 0.5794861706349296E-01 + 0.5795358309701174E-01 + 0.5795860713398557E-01 + 0.5796368905539579E-01 + 0.5796882877059451E-01 + 0.5797402620490031E-01 + 0.5797928127671348E-01 + 0.5798459387227349E-01 + 0.5798996386875592E-01 + 0.5799539115229720E-01 + 0.5800087562905956E-01 + 0.5800641720761385E-01 + 0.5801201578705827E-01 + 0.5801767125542430E-01 + 0.5802338350146542E-01 + 0.5802915242880363E-01 + 0.5803497795028118E-01 + 0.5804085997577869E-01 + 0.5804679839951952E-01 + 0.5805279311080315E-01 + 0.5805884400205532E-01 + 0.5806495097343979E-01 + 0.5807111392634075E-01 + 0.5807733276383718E-01 + 0.5808360739118380E-01 + 0.5808993771251043E-01 + 0.5809632361601601E-01 + 0.5810276497902512E-01 + 0.5810926168468265E-01 + 0.5811581365012591E-01 + 0.5812242080436959E-01 + 0.5812908306095985E-01 + 0.5813580029098099E-01 + 0.5814257235885191E-01 + 0.5814939915495949E-01 + 0.5815628060634699E-01 + 0.5816321664072158E-01 + 0.5817020715546986E-01 + 0.5817725202521560E-01 + 0.5818435112841232E-01 + 0.5819150437112452E-01 + 0.5819871167013702E-01 + 0.5820597293587523E-01 + 0.5821328805932136E-01 + 0.5822065692788039E-01 + 0.5822807943568669E-01 + 0.5823555548732719E-01 + 0.5824308498782851E-01 + 0.5825066783452454E-01 + 0.5825830391840135E-01 + 0.5826599313133656E-01 + 0.5827373537283679E-01 + 0.5828153054569074E-01 + 0.5828937855176736E-01 + 0.5829727928977669E-01 + 0.5830523265779099E-01 + 0.5831323855631556E-01 + 0.5832129689001820E-01 + 0.5832940756336940E-01 + 0.5833757046909821E-01 + 0.5834578548928924E-01 + 0.5835405250794929E-01 + 0.5836237142736179E-01 + 0.5837074215850610E-01 + 0.5837916461095758E-01 + 0.5838763868879618E-01 + 0.5839616429473304E-01 + 0.5840474132345587E-01 + 0.5841336965451659E-01 + 0.5842204916685635E-01 + 0.5843077976378684E-01 + 0.5843956137288771E-01 + 0.5844839391842925E-01 + 0.5845727728581571E-01 + 0.5846621134003058E-01 + 0.5847519595566238E-01 + 0.5848423104841588E-01 + 0.5849331654471632E-01 + 0.5850245235900977E-01 + 0.5851163838078996E-01 + 0.5852087449665361E-01 + 0.5853016059918586E-01 + 0.5853949658752185E-01 + 0.5854888236040971E-01 + 0.5855831780933518E-01 + 0.5856780282157602E-01 + 0.5857733728944722E-01 + 0.5858692112908521E-01 + 0.5859655426354009E-01 + 0.5860623660331557E-01 + 0.5861596803001517E-01 + 0.5862574842161166E-01 + 0.5863557766999642E-01 + 0.5864545568378659E-01 + 0.5865538237130593E-01 + 0.5866535762616180E-01 + 0.5867538133256851E-01 + 0.5868545337983671E-01 + 0.5869557368467082E-01 + 0.5870574217265108E-01 + 0.5871595875546140E-01 + 0.5872622330932463E-01 + 0.5873653570525183E-01 + 0.5874689582881377E-01 + 0.5875730358481077E-01 + 0.5876775887930962E-01 + 0.5877826161771107E-01 + 0.5878881170494807E-01 + 0.5879940904570651E-01 + 0.5881005354328948E-01 + 0.5882074510049558E-01 + 0.5883148361575731E-01 + 0.5884226897515389E-01 + 0.5885310106275153E-01 + 0.5886397977056409E-01 + 0.5887490500214929E-01 + 0.5888587666175091E-01 + 0.5889689465028186E-01 + 0.5890795886608244E-01 + 0.5891906920784187E-01 + 0.5893022557695713E-01 + 0.5894142787590875E-01 + 0.5895267600494293E-01 + 0.5896396985727158E-01 + 0.5897530932478235E-01 + 0.5898669430292611E-01 + 0.5899812469285034E-01 + 0.5900960039621096E-01 + 0.5902112131462232E-01 + 0.5903268734966342E-01 + 0.5904429840208959E-01 + 0.5905595436665047E-01 + 0.5906765513543258E-01 + 0.5907940060232041E-01 + 0.5909119066752995E-01 + 0.5910302523266063E-01 + 0.5911490419930248E-01 + 0.5912682746902885E-01 + 0.5913879494318199E-01 + 0.5915080651843753E-01 + 0.5916286208711972E-01 + 0.5917496154207411E-01 + 0.5918710478178749E-01 + 0.5919929170751201E-01 + 0.5921152222078073E-01 + 0.5922379622414683E-01 + 0.5923611362037229E-01 + 0.5924847430742015E-01 + 0.5926087817392917E-01 + 0.5927332510807398E-01 + 0.5928581501262934E-01 + 0.5929834780532286E-01 + 0.5931092340122976E-01 + 0.5932354168461060E-01 + 0.5933620252305181E-01 + 0.5934890579300224E-01 + 0.5936165141007956E-01 + 0.5937443930045595E-01 + 0.5938726937822087E-01 + 0.5940014153153033E-01 + 0.5941305564551812E-01 + 0.5942601161488286E-01 + 0.5943900934508370E-01 + 0.5945204874131511E-01 + 0.5946512969999604E-01 + 0.5947825211231065E-01 + 0.5949141587072619E-01 + 0.5950462087425283E-01 + 0.5951786702387961E-01 + 0.5953115422167094E-01 + 0.5954448237224340E-01 + 0.5955785138026711E-01 + 0.5957126113935978E-01 + 0.5958471152947760E-01 + 0.5959820243175990E-01 + 0.5961173375152493E-01 + 0.5962530540997362E-01 + 0.5963891732501123E-01 + 0.5965256939526949E-01 + 0.5966626151290615E-01 + 0.5967999356741577E-01 + 0.5969376544129870E-01 + 0.5970757701632983E-01 + 0.5972142819200411E-01 + 0.5973531889189392E-01 + 0.5974924903924144E-01 + 0.5976321852934166E-01 + 0.5977722723729249E-01 + 0.5979127504252815E-01 + 0.5980536185330710E-01 + 0.5981948758861990E-01 + 0.5983365215823695E-01 + 0.5984785544495233E-01 + 0.5986209732690223E-01 + 0.5987637769527842E-01 + 0.5989069646078594E-01 + 0.5990505353536106E-01 + 0.5991944882519964E-01 + 0.5993388223193671E-01 + 0.5994835365520109E-01 + 0.5996286298194880E-01 + 0.5997741009390369E-01 + 0.5999199487947657E-01 + 0.6000661724883547E-01 + 0.6002127711642467E-01 + 0.6003597438745839E-01 + 0.6005070895196231E-01 + 0.6006548069893494E-01 + 0.6008028952445073E-01 + 0.6009513533076159E-01 + 0.6011001802025518E-01 + 0.6012493749477694E-01 + 0.6013989365592441E-01 + 0.6015488640337832E-01 + 0.6016991562990008E-01 + 0.6018498122673739E-01 + 0.6020008308974091E-01 + 0.6021522112310951E-01 + 0.6023039523154434E-01 + 0.6024560531164798E-01 + 0.6026085125225647E-01 + 0.6027613294361257E-01 + 0.6029145029057831E-01 + 0.6030680320539844E-01 + 0.6032219159682567E-01 + 0.6033761535933443E-01 + 0.6035307438381953E-01 + 0.6036856856263958E-01 + 0.6038409779108283E-01 + 0.6039966196483089E-01 + 0.6041526098068738E-01 + 0.6043089473663780E-01 + 0.6044656313161116E-01 + 0.6046226607305134E-01 + 0.6047800347314677E-01 + 0.6049377523959144E-01 + 0.6050958125970452E-01 + 0.6052542141513055E-01 + 0.6054129559394762E-01 + 0.6055720369846439E-01 + 0.6057314563285733E-01 + 0.6058912130013030E-01 + 0.6060513060193036E-01 + 0.6062117343918417E-01 + 0.6063724970580489E-01 + 0.6065335929139895E-01 + 0.6066950208844716E-01 + 0.6068567800410345E-01 + 0.6070188695007941E-01 + 0.6071812883296297E-01 + 0.6073440354679512E-01 + 0.6075071098372058E-01 + 0.6076705103544906E-01 + 0.6078342359313714E-01 + 0.6079982854898679E-01 + 0.6081626580860259E-01 + 0.6083273528664916E-01 + 0.6084923689364937E-01 + 0.6086577051608856E-01 + 0.6088233603214035E-01 + 0.6089893332891504E-01 + 0.6091556231779816E-01 + 0.6093222291402317E-01 + 0.6094891502218105E-01 + 0.6096563853198487E-01 + 0.6098239333253881E-01 + 0.6099917932003628E-01 + 0.6101599639594166E-01 + 0.6103284446220724E-01 + 0.6104972342304355E-01 + 0.6106663318352531E-01 + 0.6108357364284465E-01 + 0.6110054468246156E-01 + 0.6111754618080796E-01 + 0.6113457803387242E-01 + 0.6115164016464847E-01 + 0.6116873249690885E-01 + 0.6118585492950142E-01 + 0.6120300734090338E-01 + 0.6122018961157054E-01 + 0.6123740163991993E-01 + 0.6125464333201618E-01 + 0.6127191459230902E-01 + 0.6128921531974213E-01 + 0.6130654541212967E-01 + 0.6132390476902495E-01 + 0.6134129329292732E-01 + 0.6135871088631290E-01 + 0.6137615744577051E-01 + 0.6139363286260265E-01 + 0.6141113702897046E-01 + 0.6142866984522559E-01 + 0.6144623121557712E-01 + 0.6146382104207310E-01 + 0.6148143921861554E-01 + 0.6149908563722944E-01 + 0.6151676019228565E-01 + 0.6153446278253654E-01 + 0.6155219330746973E-01 + 0.6156995167230470E-01 + 0.6158773778791444E-01 + 0.6160555156359793E-01 + 0.6162339289267093E-01 + 0.6164126166013522E-01 + 0.6165915775206655E-01 + 0.6167708105929988E-01 + 0.6169503147395814E-01 + 0.6171300889604542E-01 + 0.6173101324181629E-01 + 0.6174904442908003E-01 + 0.6176710236360448E-01 + 0.6178518693811190E-01 + 0.6180329804424602E-01 + 0.6182143556940591E-01 + 0.6183959939855535E-01 + 0.6185778942038327E-01 + 0.6187600554095889E-01 + 0.6189424767136377E-01 + 0.6191251571940182E-01 + 0.6193080958540367E-01 + 0.6194912916856163E-01 + 0.6196747436478368E-01 + 0.6198584506606887E-01 + 0.6200424116486919E-01 + 0.6202266256133760E-01 + 0.6204110916049448E-01 + 0.6205958086523670E-01 + 0.6207807756710473E-01 + 0.6209659915400275E-01 + 0.6211514552071023E-01 + 0.6213371657936701E-01 + 0.6215231224446022E-01 + 0.6217093241666165E-01 + 0.6218957697857208E-01 + 0.6220824581248969E-01 + 0.6222693881255625E-01 + 0.6224565588115191E-01 + 0.6226439692149564E-01 + 0.6228316184067806E-01 + 0.6230195054716862E-01 + 0.6232076294563370E-01 + 0.6233959893008635E-01 + 0.6235845839270641E-01 + 0.6237734122652413E-01 + 0.6239624732579276E-01 + 0.6241517658513632E-01 + 0.6243412890326758E-01 + 0.6245310418202696E-01 + 0.6247210232294393E-01 + 0.6249112322503456E-01 + 0.6251016678631939E-01 + 0.6252923290652173E-01 + 0.6254832149066890E-01 + 0.6256743244465421E-01 + 0.6258656566405642E-01 + 0.6260572102812551E-01 + 0.6262489841611503E-01 + 0.6264409773212147E-01 + 0.6266331890112626E-01 + 0.6268256184448071E-01 + 0.6270182645265246E-01 + 0.6272111260255432E-01 + 0.6274042017737827E-01 + 0.6275974908224331E-01 + 0.6277909922690210E-01 + 0.6279847051220255E-01 + 0.6281786282346273E-01 + 0.6283727604550577E-01 + 0.6285671008448222E-01 + 0.6287616486623968E-01 + 0.6289564031281056E-01 + 0.6291513630930835E-01 + 0.6293465272293100E-01 + 0.6295418942981446E-01 + 0.6297374634098794E-01 + 0.6299332337578632E-01 + 0.6301292044223733E-01 + 0.6303253742661843E-01 + 0.6305217421340235E-01 + 0.6307183070276352E-01 + 0.6309150681080457E-01 + 0.6311120245173509E-01 + 0.6313091751597456E-01 + 0.6315065188119737E-01 + 0.6317040543090503E-01 + 0.6319017807412886E-01 + 0.6320996972669937E-01 + 0.6322978029611802E-01 + 0.6324960967219063E-01 + 0.6326945774274794E-01 + 0.6328932440371715E-01 + 0.6330920956004738E-01 + 0.6332911311632721E-01 + 0.6334903496852601E-01 + 0.6336897500752224E-01 + 0.6338893312579115E-01 + 0.6340890922376079E-01 + 0.6342890320422931E-01 + 0.6344891496869892E-01 + 0.6346894441562535E-01 + 0.6348899144311706E-01 + 0.6350905595235268E-01 + 0.6352913784826953E-01 + 0.6354923703487486E-01 + 0.6356935340254541E-01 + 0.6358948683279114E-01 + 0.6360963721078852E-01 + 0.6362980444207526E-01 + 0.6364998843894279E-01 + 0.6367018911014268E-01 + 0.6369040635519928E-01 + 0.6371064007213057E-01 + 0.6373089015795315E-01 + 0.6375115650833583E-01 + 0.6377143901866979E-01 + 0.6379173758188914E-01 + 0.6381205208916941E-01 + 0.6383238243385594E-01 + 0.6385272852244422E-01 + 0.6387309026627401E-01 + 0.6389346757231897E-01 + 0.6391386033491722E-01 + 0.6393426844613696E-01 + 0.6395469179796020E-01 + 0.6397513028224140E-01 + 0.6399558379152147E-01 + 0.6401605222911881E-01 + 0.6403653550683277E-01 + 0.6405703353444299E-01 + 0.6407754620674712E-01 + 0.6409807341242026E-01 + 0.6411861504344991E-01 + 0.6413917100251769E-01 + 0.6415974119438105E-01 + 0.6418032551924124E-01 + 0.6420092386987552E-01 + 0.6422153613855488E-01 + 0.6424216222072127E-01 + 0.6426280201455846E-01 + 0.6428345541973776E-01 + 0.6430412234636782E-01 + 0.6432480270927854E-01 + 0.6434549641514378E-01 + 0.6436620334141332E-01 + 0.6438692335917441E-01 + 0.6440765635449742E-01 + 0.6442840224035784E-01 + 0.6444916093204034E-01 + 0.6446993233440391E-01 + 0.6449071634240431E-01 + 0.6451151285144510E-01 + 0.6453232176398194E-01 + 0.6455314298599600E-01 + 0.6457397641938068E-01 + 0.6459482194965861E-01 + 0.6461567945835140E-01 + 0.6463654883618024E-01 + 0.6465742999209402E-01 + 0.6467832283703039E-01 + 0.6469922727803037E-01 + 0.6472014321806957E-01 + 0.6474107055834844E-01 + 0.6476200918504902E-01 + 0.6478295897606779E-01 + 0.6480391981688161E-01 + 0.6482489162695648E-01 + 0.6484587433507805E-01 + 0.6486686785136674E-01 + 0.6488787204507886E-01 + 0.6490888678105142E-01 + 0.6492991195365157E-01 + 0.6495094749109054E-01 + 0.6497199332033341E-01 + 0.6499304933499911E-01 + 0.6501411540843072E-01 + 0.6503519142005533E-01 + 0.6505627728077551E-01 + 0.6507737291115832E-01 + 0.6509847821922888E-01 + 0.6511959308262005E-01 + 0.6514071737511197E-01 + 0.6516185099443517E-01 + 0.6518299386848216E-01 + 0.6520414592405387E-01 + 0.6522530705108456E-01 + 0.6524647711482860E-01 + 0.6526765598728916E-01 + 0.6528884358016769E-01 + 0.6531003981875551E-01 + 0.6533124462008039E-01 + 0.6535245787894666E-01 + 0.6537367948638357E-01 + 0.6539490932967103E-01 + 0.6541614729089789E-01 + 0.6543739325346389E-01 + 0.6545864712447152E-01 + 0.6547990882847753E-01 + 0.6550117828525325E-01 + 0.6552245538260517E-01 + 0.6554373999618935E-01 + 0.6556503201041703E-01 + 0.6558633133587172E-01 + 0.6560763788783435E-01 + 0.6562895157251411E-01 + 0.6565027228230208E-01 + 0.6567159990842479E-01 + 0.6569293434204752E-01 + 0.6571427547428590E-01 + 0.6573562319853719E-01 + 0.6575697742393450E-01 + 0.6577833806624066E-01 + 0.6579970503295528E-01 + 0.6582107820411047E-01 + 0.6584245745431363E-01 + 0.6586384267759588E-01 + 0.6588523380056842E-01 + 0.6590663075118163E-01 + 0.6592803342405254E-01 + 0.6594944168415182E-01 + 0.6597085540066950E-01 + 0.6599227448342239E-01 + 0.6601369886116725E-01 + 0.6603512845354992E-01 + 0.6605656314620612E-01 + 0.6607800281700936E-01 + 0.6609944735203097E-01 + 0.6612089665250110E-01 + 0.6614235062146332E-01 + 0.6616380916579122E-01 + 0.6618527219610037E-01 + 0.6620673962118591E-01 + 0.6622821133263861E-01 + 0.6624968721318956E-01 + 0.6627116714855294E-01 + 0.6629265103700483E-01 + 0.6631413878006876E-01 + 0.6633563028226241E-01 + 0.6635712545421496E-01 + 0.6637862420677618E-01 + 0.6640012643704264E-01 + 0.6642163202735273E-01 + 0.6644314086074234E-01 + 0.6646465283424853E-01 + 0.6648616785286193E-01 + 0.6650768582065170E-01 + 0.6652920663704833E-01 + 0.6655073020016094E-01 + 0.6657225640934357E-01 + 0.6659378516675956E-01 + 0.6661531637480696E-01 + 0.6663684993114315E-01 + 0.6665838572783690E-01 + 0.6667992365716506E-01 + 0.6670146361731075E-01 + 0.6672300551015367E-01 + 0.6674454923745098E-01 + 0.6676609470004509E-01 + 0.6678764179848409E-01 + 0.6680919043211944E-01 + 0.6683074049731355E-01 + 0.6685229188987742E-01 + 0.6687384450205297E-01 + 0.6689539822145834E-01 + 0.6691695293712506E-01 + 0.6693850855999290E-01 + 0.6696006501609359E-01 + 0.6698162222466739E-01 + 0.6700318006456490E-01 + 0.6702473840037571E-01 + 0.6704629711203387E-01 + 0.6706785612202784E-01 + 0.6708941535969744E-01 + 0.6711097473231962E-01 + 0.6713253411574181E-01 + 0.6715409338511009E-01 + 0.6717565244044668E-01 + 0.6719721120061956E-01 + 0.6721876958075940E-01 + 0.6724032746922166E-01 + 0.6726188474386295E-01 + 0.6728344128989178E-01 + 0.6730499701521477E-01 + 0.6732655183202763E-01 + 0.6734810564866498E-01 + 0.6736965836740866E-01 + 0.6739120988936397E-01 + 0.6741276010469353E-01 + 0.6743430889444877E-01 + 0.6745585614271934E-01 + 0.6747740175724660E-01 + 0.6749894565604580E-01 + 0.6752048774893793E-01 + 0.6754202791755615E-01 + 0.6756356603770462E-01 + 0.6758510200127121E-01 + 0.6760663572791716E-01 + 0.6762816713928443E-01 + 0.6764969614175470E-01 + 0.6767122262775015E-01 + 0.6769274648836516E-01 + 0.6771426760817643E-01 + 0.6773578586862966E-01 + 0.6775730115882213E-01 + 0.6777881339708509E-01 + 0.6780032250856895E-01 + 0.6782182840220536E-01 + 0.6784333095603968E-01 + 0.6786483004557376E-01 + 0.6788632556768102E-01 + 0.6790781744070849E-01 + 0.6792930558109016E-01 + 0.6795078987949498E-01 + 0.6797227021292613E-01 + 0.6799374646441838E-01 + 0.6801521854314324E-01 + 0.6803668636515436E-01 + 0.6805814983797386E-01 + 0.6807960885118149E-01 + 0.6810106329239978E-01 + 0.6812251305781103E-01 + 0.6814395805304514E-01 + 0.6816539818318461E-01 + 0.6818683334274772E-01 + 0.6820826342007424E-01 + 0.6822968830680008E-01 + 0.6825110791052031E-01 + 0.6827252214352159E-01 + 0.6829393091229894E-01 + 0.6831533410987573E-01 + 0.6833673162741101E-01 + 0.6835812335761973E-01 + 0.6837950919510378E-01 + 0.6840088903491447E-01 + 0.6842226277600066E-01 + 0.6844363031982193E-01 + 0.6846499156760777E-01 + 0.6848634641915331E-01 + 0.6850769477378371E-01 + 0.6852903653130632E-01 + 0.6855037159277146E-01 + 0.6857169985937230E-01 + 0.6859302123004913E-01 + 0.6861433560073972E-01 + 0.6863564286682039E-01 + 0.6865694291898821E-01 + 0.6867823564462333E-01 + 0.6869952093537139E-01 + 0.6872079870841031E-01 + 0.6874206889021739E-01 + 0.6876333139293495E-01 + 0.6878458608769209E-01 + 0.6880583283884557E-01 + 0.6882707153711348E-01 + 0.6884830211185472E-01 + 0.6886952449308494E-01 + 0.6889073857391546E-01 + 0.6891194421869563E-01 + 0.6893314129724928E-01 + 0.6895432972046407E-01 + 0.6897550941583452E-01 + 0.6899668030171924E-01 + 0.6901784226731098E-01 + 0.6903899519616957E-01 + 0.6906013898153175E-01 + 0.6908127353224860E-01 + 0.6910239875757634E-01 + 0.6912351454888393E-01 + 0.6914462078222060E-01 + 0.6916571733782853E-01 + 0.6918680413055844E-01 + 0.6920788109075698E-01 + 0.6922894813558328E-01 + 0.6925000513533279E-01 + 0.6927105195026915E-01 + 0.6929208846897778E-01 + 0.6931311463039855E-01 + 0.6933413037639093E-01 + 0.6935513560200818E-01 + 0.6937613015826570E-01 + 0.6939711390154804E-01 + 0.6941808674699455E-01 + 0.6943904863882264E-01 + 0.6945999950694591E-01 + 0.6948093922416296E-01 + 0.6950186764941222E-01 + 0.6952278466545301E-01 + 0.6954369020176914E-01 + 0.6956458419180813E-01 + 0.6958546653313109E-01 + 0.6960633708621353E-01 + 0.6962719571533448E-01 + 0.6964804233637655E-01 + 0.6966887689340910E-01 + 0.6968969931639467E-01 + 0.6971050947219003E-01 + 0.6973130721050655E-01 + 0.6975209240813449E-01 + 0.6977286500054568E-01 + 0.6979362492966979E-01 + 0.6981437210177087E-01 + 0.6983510638262633E-01 + 0.6985582763877090E-01 + 0.6987653576797354E-01 + 0.6989723068680904E-01 + 0.6991791230951588E-01 + 0.6993858053765467E-01 + 0.6995923526891513E-01 + 0.6997987639958561E-01 + 0.7000050382259677E-01 + 0.7002111743052502E-01 + 0.7004171712087172E-01 + 0.7006230279728111E-01 + 0.7008287436319190E-01 + 0.7010343171490594E-01 + 0.7012397474399386E-01 + 0.7014450334314825E-01 + 0.7016501741163873E-01 + 0.7018551685096526E-01 + 0.7020600156288646E-01 + 0.7022647144984344E-01 + 0.7024692641425987E-01 + 0.7026736635285453E-01 + 0.7028779115452389E-01 + 0.7030820070868392E-01 + 0.7032859491974918E-01 + 0.7034897370307264E-01 + 0.7036933697023551E-01 + 0.7038968460834348E-01 + 0.7041001649529790E-01 + 0.7043033251742495E-01 + 0.7045063258594920E-01 + 0.7047091661647262E-01 + 0.7049118451395062E-01 + 0.7051143616727929E-01 + 0.7053167146461808E-01 + 0.7055189030358910E-01 + 0.7057209258940091E-01 + 0.7059227822610361E-01 + 0.7061244710839977E-01 + 0.7063259912709414E-01 + 0.7065273417542218E-01 + 0.7067285215463236E-01 + 0.7069295296758771E-01 + 0.7071303651531895E-01 + 0.7073310269581318E-01 + 0.7075315140700864E-01 + 0.7077318255124819E-01 + 0.7079319603475486E-01 + 0.7081319176146961E-01 + 0.7083316961687645E-01 + 0.7085312947794248E-01 + 0.7087307123106430E-01 + 0.7089299479722016E-01 + 0.7091290010506151E-01 + 0.7093278706214148E-01 + 0.7095265553738710E-01 + 0.7097250539697861E-01 + 0.7099233653703174E-01 + 0.7101214888262964E-01 + 0.7103194235726228E-01 + 0.7105171686051746E-01 + 0.7107147227979733E-01 + 0.7109120850383044E-01 + 0.7111092542713204E-01 + 0.7113062294569693E-01 + 0.7115030095681676E-01 + 0.7116995936040349E-01 + 0.7118959805673754E-01 + 0.7120921694745547E-01 + 0.7122881593563545E-01 + 0.7124839492344447E-01 + 0.7126795380352467E-01 + 0.7128749246316092E-01 + 0.7130701079430658E-01 + 0.7132650871032881E-01 + 0.7134598613058003E-01 + 0.7136544295866797E-01 + 0.7138487906303741E-01 + 0.7140429430846118E-01 + 0.7142368859347227E-01 + 0.7144306185602227E-01 + 0.7146241403213152E-01 + 0.7148174501197614E-01 + 0.7150105465731959E-01 + 0.7152034283833265E-01 + 0.7153960946976882E-01 + 0.7155885448038298E-01 + 0.7157807778643442E-01 + 0.7159727927327786E-01 + 0.7161645882169500E-01 + 0.7163561631697877E-01 + 0.7165475165021030E-01 + 0.7167386471435400E-01 + 0.7169295542125196E-01 + 0.7171202369562475E-01 + 0.7173106945557151E-01 + 0.7175009258049181E-01 + 0.7176909293626689E-01 + 0.7178807040305475E-01 + 0.7180702490018632E-01 + 0.7182595635332235E-01 + 0.7184486467292577E-01 + 0.7186374974801869E-01 + 0.7188261146632563E-01 + 0.7190144972017897E-01 + 0.7192026440536838E-01 + 0.7193905541824997E-01 + 0.7195782265821801E-01 + 0.7197656602584621E-01 + 0.7199528542198991E-01 + 0.7201398074835429E-01 + 0.7203265190674503E-01 + 0.7205129879531860E-01 + 0.7206992130656651E-01 + 0.7208851933279396E-01 + 0.7210709277132993E-01 + 0.7212564152364652E-01 + 0.7214416549134515E-01 + 0.7216266457606643E-01 + 0.7218113867946761E-01 + 0.7219958770127716E-01 + 0.7221801153469371E-01 + 0.7223641007158212E-01 + 0.7225478320751911E-01 + 0.7227313084442778E-01 + 0.7229145288473635E-01 + 0.7230974922861323E-01 + 0.7232801977417925E-01 + 0.7234626442005326E-01 + 0.7236448306938148E-01 + 0.7238267562746280E-01 + 0.7240084199526736E-01 + 0.7241898205739956E-01 + 0.7243709569470854E-01 + 0.7245518279895001E-01 + 0.7247324328244287E-01 + 0.7249127705925522E-01 + 0.7250928403138897E-01 + 0.7252726408883722E-01 + 0.7254521712172446E-01 + 0.7256314302596126E-01 + 0.7258104170049653E-01 + 0.7259891304679632E-01 + 0.7261675697678251E-01 + 0.7263457340503791E-01 + 0.7265236223309552E-01 + 0.7267012333532222E-01 + 0.7268785658344829E-01 + 0.7270556186969962E-01 + 0.7272323910870743E-01 + 0.7274088821499224E-01 + 0.7275850909049215E-01 + 0.7277610162985887E-01 + 0.7279366572928200E-01 + 0.7281120129256223E-01 + 0.7282870822569636E-01 + 0.7284618642789059E-01 + 0.7286363578271910E-01 + 0.7288105617196125E-01 + 0.7289844749041140E-01 + 0.7291580964849487E-01 + 0.7293314255708321E-01 + 0.7295044612156092E-01 + 0.7296772024381239E-01 + 0.7298496482308141E-01 + 0.7300217974513288E-01 + 0.7301936489137171E-01 + 0.7303652015184563E-01 + 0.7305364543864266E-01 + 0.7307074066700103E-01 + 0.7308780573962821E-01 + 0.7310484054269101E-01 + 0.7312184496253603E-01 + 0.7313881890266119E-01 + 0.7315576227860428E-01 + 0.7317267500219198E-01 + 0.7318955696219009E-01 + 0.7320640803904670E-01 + 0.7322322811897069E-01 + 0.7324001710449425E-01 + 0.7325677490095860E-01 + 0.7327350141085287E-01 + 0.7329019653252620E-01 + 0.7330686016416453E-01 + 0.7332349220639006E-01 + 0.7334009256170559E-01 + 0.7335666113160199E-01 + 0.7337319781066537E-01 + 0.7338970249071864E-01 + 0.7340617506564757E-01 + 0.7342261543584251E-01 + 0.7343902350296750E-01 + 0.7345539916865272E-01 + 0.7347174233447428E-01 + 0.7348805290172153E-01 + 0.7350433076678055E-01 + 0.7352057582187790E-01 + 0.7353678795992523E-01 + 0.7355296707979391E-01 + 0.7356911308299662E-01 + 0.7358522587112006E-01 + 0.7360130534596815E-01 + 0.7361735140935037E-01 + 0.7363336395943763E-01 + 0.7364934288799550E-01 + 0.7366528808648100E-01 + 0.7368119945331941E-01 + 0.7369707689342951E-01 + 0.7371292031070156E-01 + 0.7372872959856123E-01 + 0.7374450464530725E-01 + 0.7376024534348236E-01 + 0.7377595160228743E-01 + 0.7379162333490870E-01 + 0.7380726044636432E-01 + 0.7382286282581090E-01 + 0.7383843036100823E-01 + 0.7385396294992061E-01 + 0.7386946050095755E-01 + 0.7388492292092881E-01 + 0.7390035009747863E-01 + 0.7391574190788663E-01 + 0.7393109823672229E-01 + 0.7394641900060917E-01 + 0.7396170412478170E-01 + 0.7397695352089528E-01 + 0.7399216707147803E-01 + 0.7400734465566567E-01 + 0.7402248616331216E-01 + 0.7403759149632270E-01 + 0.7405266055772442E-01 + 0.7406769325557454E-01 + 0.7408268950092920E-01 + 0.7409764920085022E-01 + 0.7411257224290313E-01 + 0.7412745850879395E-01 + 0.7414230788651537E-01 + 0.7415712027898129E-01 + 0.7417189559118411E-01 + 0.7418663372511190E-01 + 0.7420133457904101E-01 + 0.7421599805124510E-01 + 0.7423062404269865E-01 + 0.7424521245614945E-01 + 0.7425976319292528E-01 + 0.7427427614653393E-01 + 0.7428875120786681E-01 + 0.7430318827133286E-01 + 0.7431758724059466E-01 + 0.7433194802066118E-01 + 0.7434627050981684E-01 + 0.7436055459721387E-01 + 0.7437480017231755E-01 + 0.7438900713773399E-01 + 0.7440317540556069E-01 + 0.7441730488579297E-01 + 0.7443139547450457E-01 + 0.7444544706258593E-01 + 0.7445945954198947E-01 + 0.7447343280779220E-01 + 0.7448736675565466E-01 + 0.7450126128213872E-01 + 0.7451511628515275E-01 + 0.7452893166320052E-01 + 0.7454270732239764E-01 + 0.7455644317490405E-01 + 0.7457013913009693E-01 + 0.7458379507749004E-01 + 0.7459741089839983E-01 + 0.7461098647904164E-01 + 0.7462452172160454E-01 + 0.7463801653146862E-01 + 0.7465147081104252E-01 + 0.7466488445784792E-01 + 0.7467825736921220E-01 + 0.7469158944720994E-01 + 0.7470488059805771E-01 + 0.7471813072571536E-01 + 0.7473133971604628E-01 + 0.7474450744664827E-01 + 0.7475763380406857E-01 + 0.7477071870731469E-01 + 0.7478376208253556E-01 + 0.7479676383862226E-01 + 0.7480972385318432E-01 + 0.7482264200156340E-01 + 0.7483551818113311E-01 + 0.7484835231038395E-01 + 0.7486114430558745E-01 + 0.7487389405694623E-01 + 0.7488660144150589E-01 + 0.7489926634265131E-01 + 0.7491188866966275E-01 + 0.7492446833826559E-01 + 0.7493700525578393E-01 + 0.7494949931273705E-01 + 0.7496195039788534E-01 + 0.7497435840610111E-01 + 0.7498672323869098E-01 + 0.7499904479748441E-01 + 0.7501132298638662E-01 + 0.7502355771045883E-01 + 0.7503574887077397E-01 + 0.7504789635048434E-01 + 0.7506000002779278E-01 + 0.7507205979432960E-01 + 0.7508407557140705E-01 + 0.7509604728361824E-01 + 0.7510797483453340E-01 + 0.7511985810341053E-01 + 0.7513169696966044E-01 + 0.7514349132908539E-01 + 0.7515524108754706E-01 + 0.7516694615000688E-01 + 0.7517860641620286E-01 + 0.7519022178424888E-01 + 0.7520179215317098E-01 + 0.7521331742422808E-01 + 0.7522479749894574E-01 + 0.7523623227631306E-01 + 0.7524762165209565E-01 + 0.7525896552149003E-01 + 0.7527026377522388E-01 + 0.7528151630100571E-01 + 0.7529272299091759E-01 + 0.7530388376171976E-01 + 0.7531499853869308E-01 + 0.7532606723344975E-01 + 0.7533708972050651E-01 + 0.7534806586856108E-01 + 0.7535899556517269E-01 + 0.7536987872425334E-01 + 0.7538071526094336E-01 + 0.7539150507998661E-01 + 0.7540224807840134E-01 + 0.7541294415302209E-01 + 0.7542359320068175E-01 + 0.7543419511821112E-01 + 0.7544474980036078E-01 + 0.7545525713561665E-01 + 0.7546571701153177E-01 + 0.7547612932984348E-01 + 0.7548649401409441E-01 + 0.7549681098784920E-01 + 0.7550708014463963E-01 + 0.7551730135346602E-01 + 0.7552747448695312E-01 + 0.7553759944798692E-01 + 0.7554767615233022E-01 + 0.7555770451208521E-01 + 0.7556768442693642E-01 + 0.7557761579396660E-01 + 0.7558749850983770E-01 + 0.7559733247049929E-01 + 0.7560711757169937E-01 + 0.7561685370665439E-01 + 0.7562654076630889E-01 + 0.7563617864322552E-01 + 0.7564576724325266E-01 + 0.7565530647849219E-01 + 0.7566479625698329E-01 + 0.7567423647148255E-01 + 0.7568362701122700E-01 + 0.7569296776978987E-01 + 0.7570225864883850E-01 + 0.7571149955088469E-01 + 0.7572069037751511E-01 + 0.7572983102940439E-01 + 0.7573892140679412E-01 + 0.7574796140645256E-01 + 0.7575695092334229E-01 + 0.7576588985178503E-01 + 0.7577477808350523E-01 + 0.7578361550959556E-01 + 0.7579240202755420E-01 + 0.7580113754807936E-01 + 0.7580982198308229E-01 + 0.7581845523340485E-01 + 0.7582703718790325E-01 + 0.7583556773590278E-01 + 0.7584404677735632E-01 + 0.7585247421831056E-01 + 0.7586084996218384E-01 + 0.7586917389989905E-01 + 0.7587744591880201E-01 + 0.7588566591424200E-01 + 0.7589383379980320E-01 + 0.7590194949106364E-01 + 0.7591001288646002E-01 + 0.7591802386403921E-01 + 0.7592598230283355E-01 + 0.7593388810644314E-01 + 0.7594174119398699E-01 + 0.7594954147906440E-01 + 0.7595728884554204E-01 + 0.7596498316776058E-01 + 0.7597262433333871E-01 + 0.7598021226340480E-01 + 0.7598774688377887E-01 + 0.7599522810013344E-01 + 0.7600265579180193E-01 + 0.7601002983759038E-01 + 0.7601735013241909E-01 + 0.7602461658241104E-01 + 0.7603182909286549E-01 + 0.7603898756303474E-01 + 0.7604609189001388E-01 + 0.7605314197281937E-01 + 0.7606013771585170E-01 + 0.7606707902425890E-01 + 0.7607396579395655E-01 + 0.7608079790758755E-01 + 0.7608757524784222E-01 + 0.7609429771334426E-01 + 0.7610096521489835E-01 + 0.7610757766276038E-01 + 0.7611413496166819E-01 + 0.7612063701417139E-01 + 0.7612708371776179E-01 + 0.7613347495422685E-01 + 0.7613981060258003E-01 + 0.7614609055886779E-01 + 0.7615231474608573E-01 + 0.7615848308814339E-01 + 0.7616459548377332E-01 + 0.7617065181055446E-01 + 0.7617665194829906E-01 + 0.7618259579766411E-01 + 0.7618848326844974E-01 + 0.7619431426548515E-01 + 0.7620008867627590E-01 + 0.7620580638475932E-01 + 0.7621146728948636E-01 + 0.7621707131447942E-01 + 0.7622261838483674E-01 + 0.7622810839602944E-01 + 0.7623354121618174E-01 + 0.7623891671639584E-01 + 0.7624423480020033E-01 + 0.7624949538684990E-01 + 0.7625469838959631E-01 + 0.7625984369817855E-01 + 0.7626493119676364E-01 + 0.7626996077958893E-01 + 0.7627493236025138E-01 + 0.7627984585384985E-01 + 0.7628470115909635E-01 + 0.7628949815808888E-01 + 0.7629423673353402E-01 + 0.7629891678045571E-01 + 0.7630353820047282E-01 + 0.7630810089686319E-01 + 0.7631260477975248E-01 + 0.7631704976104535E-01 + 0.7632143574297873E-01 + 0.7632576260726247E-01 + 0.7633003023355517E-01 + 0.7633423851760062E-01 + 0.7633838737305609E-01 + 0.7634247671317786E-01 + 0.7634650643738451E-01 + 0.7635047643692583E-01 + 0.7635438660310669E-01 + 0.7635823682800092E-01 + 0.7636202700393064E-01 + 0.7636575702831805E-01 + 0.7636942681056315E-01 + 0.7637303626154079E-01 + 0.7637658528384304E-01 + 0.7638007376992738E-01 + 0.7638350161168990E-01 + 0.7638686870169060E-01 + 0.7639017493292100E-01 + 0.7639342020018752E-01 + 0.7639660440793077E-01 + 0.7639972746378712E-01 + 0.7640278927475243E-01 + 0.7640578974615063E-01 + 0.7640872878272013E-01 + 0.7641160627585447E-01 + 0.7641442209899932E-01 + 0.7641717612633208E-01 + 0.7641986825882283E-01 + 0.7642249841660681E-01 + 0.7642506651829420E-01 + 0.7642757247094476E-01 + 0.7643001617735470E-01 + 0.7643239753248526E-01 + 0.7643471640869612E-01 + 0.7643697267479612E-01 + 0.7643916622634301E-01 + 0.7644129699846429E-01 + 0.7644336492691740E-01 + 0.7644536990785717E-01 + 0.7644731180629267E-01 + 0.7644919049170520E-01 + 0.7645100586894539E-01 + 0.7645275785730950E-01 + 0.7645444636948650E-01 + 0.7645607129682692E-01 + 0.7645763252649729E-01 + 0.7645912995165699E-01 + 0.7646056347522512E-01 + 0.7646193300084272E-01 + 0.7646323842901205E-01 + 0.7646447965752278E-01 + 0.7646565658472692E-01 + 0.7646676911384104E-01 + 0.7646781715028068E-01 + 0.7646880059485374E-01 + 0.7646971933187702E-01 + 0.7647057324211199E-01 + 0.7647136221777945E-01 + 0.7647208617166550E-01 + 0.7647274501807444E-01 + 0.7647333865820243E-01 + 0.7647386698080137E-01 + 0.7647432987525082E-01 + 0.7647472724032687E-01 + 0.7647505897950029E-01 + 0.7647532499531379E-01 + 0.7647552518648114E-01 + 0.7647565945078285E-01 + 0.7647572768839900E-01 + 0.7647572980426122E-01 + 0.7647566570338443E-01 + 0.7647553527897689E-01 + 0.7647533841193544E-01 + 0.7647507498485467E-01 + 0.7647474490186829E-01 + 0.7647434807898604E-01 + 0.7647388442747815E-01 + 0.7647335383706744E-01 + 0.7647275619156577E-01 + 0.7647209138528067E-01 + 0.7647135933548449E-01 + 0.7647055996163830E-01 + 0.7646969315791321E-01 + 0.7646875878951226E-01 + 0.7646775672418954E-01 + 0.7646668687413354E-01 + 0.7646554917853523E-01 + 0.7646434356681535E-01 + 0.7646306991827244E-01 + 0.7646172809680863E-01 + 0.7646031798099179E-01 + 0.7645883948490992E-01 + 0.7645729252754796E-01 + 0.7645567701435568E-01 + 0.7645399283374688E-01 + 0.7645223987376836E-01 + 0.7645041803124284E-01 + 0.7644852720886465E-01 + 0.7644656730928169E-01 + 0.7644453823429247E-01 + 0.7644243988540045E-01 + 0.7644027216161669E-01 + 0.7643803495526407E-01 + 0.7643572815767829E-01 + 0.7643335166574059E-01 + 0.7643090538400545E-01 + 0.7642838921693429E-01 + 0.7642580305980465E-01 + 0.7642314680113513E-01 + 0.7642042033187241E-01 + 0.7641762355886932E-01 + 0.7641475639502049E-01 + 0.7641181874787115E-01 + 0.7640881050899358E-01 + 0.7640573156710017E-01 + 0.7640258181671799E-01 + 0.7639936116122572E-01 + 0.7639606950444506E-01 + 0.7639270674535386E-01 + 0.7638927277901122E-01 + 0.7638576749968046E-01 + 0.7638219079691739E-01 + 0.7637854255829701E-01 + 0.7637482267912982E-01 + 0.7637103108037469E-01 + 0.7636716768800513E-01 + 0.7636323240634493E-01 + 0.7635922510342509E-01 + 0.7635514564557282E-01 + 0.7635099393218225E-01 + 0.7634676989204041E-01 + 0.7634247345038816E-01 + 0.7633810449714808E-01 + 0.7633366290578745E-01 + 0.7632914855802847E-01 + 0.7632456136637290E-01 + 0.7631990125027820E-01 + 0.7631516811522516E-01 + 0.7631036184086527E-01 + 0.7630548230491624E-01 + 0.7630052940401209E-01 + 0.7629550305325684E-01 + 0.7629040316658077E-01 + 0.7628522964101531E-01 + 0.7627998236489454E-01 + 0.7627466122879998E-01 + 0.7626926613283890E-01 + 0.7626379697956192E-01 + 0.7625825367122186E-01 + 0.7625263610946408E-01 + 0.7624694419567689E-01 + 0.7624117782645749E-01 + 0.7623533689326472E-01 + 0.7622942128814707E-01 + 0.7622343091143008E-01 + 0.7621736566813829E-01 + 0.7621122546094562E-01 + 0.7620501018152184E-01 + 0.7619871971842090E-01 + 0.7619235396685999E-01 + 0.7618591283708255E-01 + 0.7617939624109173E-01 + 0.7617280408148698E-01 + 0.7616613624978862E-01 + 0.7615939263712781E-01 + 0.7615257313739166E-01 + 0.7614567764619102E-01 + 0.7613870605947448E-01 + 0.7613165827477851E-01 + 0.7612453419015449E-01 + 0.7611733370731089E-01 + 0.7611005673708615E-01 + 0.7610270319139030E-01 + 0.7609527296940809E-01 + 0.7608776595384788E-01 + 0.7608018202732040E-01 + 0.7607252108512935E-01 + 0.7606478303131731E-01 + 0.7605696776979569E-01 + 0.7604907520274740E-01 + 0.7604110523174063E-01 + 0.7603305775550961E-01 + 0.7602493266494443E-01 + 0.7601672984976914E-01 + 0.7600844920839634E-01 + 0.7600009065160895E-01 + 0.7599165409040827E-01 + 0.7598313942518436E-01 + 0.7597454654829273E-01 + 0.7596587535178484E-01 + 0.7595712572704403E-01 + 0.7594829756519442E-01 + 0.7593939076244328E-01 + 0.7593040523063086E-01 + 0.7592134088437410E-01 + 0.7591219762480171E-01 + 0.7590297533190975E-01 + 0.7589367388500333E-01 + 0.7588429318285391E-01 + 0.7587483314043235E-01 + 0.7586529367081214E-01 + 0.7585567467002672E-01 + 0.7584597602671170E-01 + 0.7583619763199339E-01 + 0.7582633938561967E-01 + 0.7581640118919491E-01 + 0.7580638294552335E-01 + 0.7579628455948004E-01 + 0.7578610593546008E-01 + 0.7577584696437634E-01 + 0.7576550752481548E-01 + 0.7575508749857450E-01 + 0.7574458679677734E-01 + 0.7573400534462722E-01 + 0.7572334305912020E-01 + 0.7571259982565670E-01 + 0.7570177552219705E-01 + 0.7569087003572821E-01 + 0.7567988327041713E-01 + 0.7566881513218528E-01 + 0.7565766552298575E-01 + 0.7564643434078642E-01 + 0.7563512148371638E-01 + 0.7562372685293379E-01 + 0.7561225035120228E-01 + 0.7560069187947194E-01 + 0.7558905133093667E-01 + 0.7557732859675747E-01 + 0.7556552357195201E-01 + 0.7555363615964364E-01 + 0.7554166626378414E-01 + 0.7552961378294004E-01 + 0.7551747860973752E-01 + 0.7550526063682889E-01 + 0.7549295976025615E-01 + 0.7548057587804279E-01 + 0.7546810889069162E-01 + 0.7545555871030812E-01 + 0.7544292525237271E-01 + 0.7543020841949231E-01 + 0.7541740808435016E-01 + 0.7540452411611936E-01 + 0.7539155640842564E-01 + 0.7537850488452859E-01 + 0.7536536946766087E-01 + 0.7535215006011273E-01 + 0.7533884655069176E-01 + 0.7532545882842129E-01 + 0.7531198678463995E-01 + 0.7529843031145886E-01 + 0.7528478930660867E-01 + 0.7527106368228719E-01 + 0.7525725335263188E-01 + 0.7524335821709631E-01 + 0.7522937815557471E-01 + 0.7521531304810374E-01 + 0.7520116279457922E-01 + 0.7518692730896570E-01 + 0.7517260650317486E-01 + 0.7515820027528426E-01 + 0.7514370851838141E-01 + 0.7512913117610043E-01 + 0.7511446833648422E-01 + 0.7509972011295060E-01 + 0.7508488660630887E-01 + 0.7506996789889687E-01 + 0.7505496407145049E-01 + 0.7503987520269318E-01 + 0.7502470136978100E-01 + 0.7500944265170545E-01 + 0.7499409913981086E-01 + 0.7497867093043382E-01 + 0.7496315811658182E-01 + 0.7494756078065040E-01 + 0.7493187900302292E-01 + 0.7491611287000288E-01 + 0.7490026247744051E-01 + 0.7488432792143723E-01 + 0.7486830928724043E-01 + 0.7485220665080703E-01 + 0.7483602008870691E-01 + 0.7481974968424614E-01 + 0.7480339552374532E-01 + 0.7478695769484158E-01 + 0.7477043628977238E-01 + 0.7475383140175344E-01 + 0.7473714312070856E-01 + 0.7472037153071200E-01 + 0.7470351671532306E-01 + 0.7468657875989505E-01 + 0.7466955775146822E-01 + 0.7465245377679426E-01 + 0.7463526691968827E-01 + 0.7461799726251297E-01 + 0.7460064489022740E-01 + 0.7458320989804353E-01 + 0.7456569238362343E-01 + 0.7454809243580661E-01 + 0.7453041012613730E-01 + 0.7451264552492827E-01 + 0.7449479872147663E-01 + 0.7447686982468710E-01 + 0.7445885894132520E-01 + 0.7444076614970239E-01 + 0.7442259151259700E-01 + 0.7440433509782585E-01 + 0.7438599699597176E-01 + 0.7436757730384526E-01 + 0.7434907611713156E-01 + 0.7433049352907819E-01 + 0.7431182963232773E-01 + 0.7429308451116245E-01 + 0.7427425824037968E-01 + 0.7425535089544544E-01 + 0.7423636256433756E-01 + 0.7421729334256266E-01 + 0.7419814332443959E-01 + 0.7417891259798308E-01 + 0.7415960124927603E-01 + 0.7414020936124798E-01 + 0.7412073700927319E-01 + 0.7410118426795620E-01 + 0.7408155122390924E-01 + 0.7406183797871352E-01 + 0.7404204463415903E-01 + 0.7402217128322508E-01 + 0.7400221801305332E-01 + 0.7398218490785257E-01 + 0.7396207203642506E-01 + 0.7394187946237625E-01 + 0.7392160726205560E-01 + 0.7390125554566600E-01 + 0.7388082442858007E-01 + 0.7386031400914960E-01 + 0.7383972436240066E-01 + 0.7381905556180060E-01 + 0.7379830768259071E-01 + 0.7377748080130527E-01 + 0.7375657499765636E-01 + 0.7373559037051171E-01 + 0.7371452702593708E-01 + 0.7369338506207992E-01 + 0.7367216455370872E-01 + 0.7365086557148938E-01 + 0.7362948819634450E-01 + 0.7360803252465896E-01 + 0.7358649865356524E-01 + 0.7356488667171954E-01 + 0.7354319666098639E-01 + 0.7352142870381019E-01 + 0.7349958288788404E-01 + 0.7347765930308780E-01 + 0.7345565803589953E-01 + 0.7343357916162622E-01 + 0.7341142275343935E-01 + 0.7338918889535028E-01 + 0.7336687768936417E-01 + 0.7334448923862734E-01 + 0.7332202363603400E-01 + 0.7329948096545202E-01 + 0.7327686130984566E-01 + 0.7325416474763172E-01 + 0.7323139135512995E-01 + 0.7320854121240471E-01 + 0.7318561441321885E-01 + 0.7316261105439756E-01 + 0.7313953122686289E-01 + 0.7311637501073609E-01 + 0.7309314248549149E-01 + 0.7306983374157470E-01 + 0.7304644888004154E-01 + 0.7302298799926922E-01 + 0.7299945117088475E-01 + 0.7297583845288558E-01 + 0.7295214991401959E-01 + 0.7292838566714885E-01 + 0.7290454583616514E-01 + 0.7288063052102918E-01 + 0.7285663977337546E-01 + 0.7283257364038169E-01 + 0.7280843220425465E-01 + 0.7278421558441139E-01 + 0.7275992389886589E-01 + 0.7273555723455615E-01 + 0.7271111566095161E-01 + 0.7268659924998477E-01 + 0.7266200808561635E-01 + 0.7263734225521906E-01 + 0.7261260184847240E-01 + 0.7258778696020400E-01 + 0.7256289768562169E-01 + 0.7253793411014770E-01 + 0.7251289630778488E-01 + 0.7248778435312518E-01 + 0.7246259833435088E-01 + 0.7243733834806222E-01 + 0.7241200448912867E-01 + 0.7238659684305525E-01 + 0.7236111549240411E-01 + 0.7233556052096645E-01 + 0.7230993201557312E-01 + 0.7228423006346329E-01 + 0.7225845474988290E-01 + 0.7223260615752172E-01 + 0.7220668436954632E-01 + 0.7218068947720617E-01 + 0.7215462157726186E-01 + 0.7212848076378490E-01 + 0.7210226711511078E-01 + 0.7207598070408162E-01 + 0.7204962160940033E-01 + 0.7202318992584022E-01 + 0.7199668575075529E-01 + 0.7197010917459772E-01 + 0.7194346027808807E-01 + 0.7191673914184928E-01 + 0.7188994585565327E-01 + 0.7186308051613262E-01 + 0.7183614321791254E-01 + 0.7180913404194394E-01 + 0.7178205306387433E-01 + 0.7175490036165762E-01 + 0.7172767602029923E-01 + 0.7170038012618313E-01 + 0.7167301276824933E-01 + 0.7164557403940364E-01 + 0.7161806403258573E-01 + 0.7159048283562207E-01 + 0.7156283053212478E-01 + 0.7153510720590218E-01 + 0.7150731294303098E-01 + 0.7147944783056253E-01 + 0.7145151195466632E-01 + 0.7142350539851593E-01 + 0.7139542824471517E-01 + 0.7136728058088392E-01 + 0.7133906250321344E-01 + 0.7131077410808859E-01 + 0.7128241547939325E-01 + 0.7125398668969125E-01 + 0.7122548781333392E-01 + 0.7119691894204373E-01 + 0.7116828017579837E-01 + 0.7113957160941177E-01 + 0.7111079331805808E-01 + 0.7108194537238538E-01 + 0.7105302785364687E-01 + 0.7102404086307810E-01 + 0.7099498450378112E-01 + 0.7096585887097660E-01 + 0.7093666405204559E-01 + 0.7090740013236195E-01 + 0.7087806718242606E-01 + 0.7084866526493265E-01 + 0.7081919445155045E-01 + 0.7078965485189181E-01 + 0.7076004658540446E-01 + 0.7073036975346193E-01 + 0.7070062441983438E-01 + 0.7067081064431208E-01 + 0.7064092850597779E-01 + 0.7061097810499261E-01 + 0.7058095954126625E-01 + 0.7055087290140740E-01 + 0.7052071826432680E-01 + 0.7049049571153044E-01 + 0.7046020533709710E-01 + 0.7042984723874881E-01 + 0.7039942150738368E-01 + 0.7036892821820009E-01 + 0.7033836744450108E-01 + 0.7030773926955290E-01 + 0.7027704378858082E-01 + 0.7024628109702164E-01 + 0.7021545128463819E-01 + 0.7018455443757604E-01 + 0.7015359064038938E-01 + 0.7012255996964117E-01 + 0.7009146249931697E-01 + 0.7006029831093498E-01 + 0.7002906750520875E-01 + 0.6999777018564784E-01 + 0.6996640644704883E-01 + 0.6993497637271386E-01 + 0.6990348004507102E-01 + 0.6987191754540029E-01 + 0.6984028895417604E-01 + 0.6980859435195399E-01 + 0.6977683381985972E-01 + 0.6974500743923161E-01 + 0.6971311529768447E-01 + 0.6968115750057104E-01 + 0.6964913415595536E-01 + 0.6961704535167829E-01 + 0.6958489114624079E-01 + 0.6955267159826618E-01 + 0.6952038680279101E-01 + 0.6948803688294309E-01 + 0.6945562195511200E-01 + 0.6942314208712054E-01 + 0.6939059732736803E-01 + 0.6935798773744553E-01 + 0.6932531342052872E-01 + 0.6929257448774729E-01 + 0.6925977103805781E-01 + 0.6922690315097815E-01 + 0.6919397090470387E-01 + 0.6916097438469915E-01 + 0.6912791368259063E-01 + 0.6909478888823751E-01 + 0.6906160007718963E-01 + 0.6902834731865973E-01 + 0.6899503069095291E-01 + 0.6896165030423733E-01 + 0.6892820627542084E-01 + 0.6889469870281946E-01 + 0.6886112765204036E-01 + 0.6882749318606490E-01 + 0.6879379538204490E-01 + 0.6876003433032995E-01 + 0.6872621012159906E-01 + 0.6869232284510733E-01 + 0.6865837258941281E-01 + 0.6862435944464480E-01 + 0.6859028350706375E-01 + 0.6855614487433083E-01 + 0.6852194363323243E-01 + 0.6848767984944977E-01 + 0.6845335358709244E-01 + 0.6841896493066983E-01 + 0.6838451398556024E-01 + 0.6835000085654972E-01 + 0.6831542563422321E-01 + 0.6828078840149039E-01 + 0.6824608924022559E-01 + 0.6821132822814223E-01 + 0.6817650544185938E-01 + 0.6814162096380755E-01 + 0.6810667488887550E-01 + 0.6807166731330570E-01 + 0.6803659832601050E-01 + 0.6800146800766528E-01 + 0.6796627643943936E-01 + 0.6793102371224825E-01 + 0.6789570992281493E-01 + 0.6786033516499941E-01 + 0.6782489951846255E-01 + 0.6778940305859570E-01 + 0.6775384586401135E-01 + 0.6771822802096363E-01 + 0.6768254961684007E-01 + 0.6764681073990769E-01 + 0.6761101147951960E-01 + 0.6757515192549714E-01 + 0.6753923217243036E-01 + 0.6750325231803832E-01 + 0.6746721245576536E-01 + 0.6743111265573631E-01 + 0.6739495298028208E-01 + 0.6735873350351858E-01 + 0.6732245433054428E-01 + 0.6728611557109558E-01 + 0.6724971731813709E-01 + 0.6721325964186987E-01 + 0.6717674261219663E-01 + 0.6714016631705309E-01 + 0.6710353085739234E-01 + 0.6706683633100284E-01 + 0.6703008281490125E-01 + 0.6699327037838136E-01 + 0.6695639909928699E-01 + 0.6691946908043458E-01 + 0.6688248042892622E-01 + 0.6684543323872212E-01 + 0.6680832758416262E-01 + 0.6677116353848235E-01 + 0.6673394118271057E-01 + 0.6669666060406241E-01 + 0.6665932189035911E-01 + 0.6662192513235578E-01 + 0.6658447042201745E-01 + 0.6654695785041175E-01 + 0.6650938750568485E-01 + 0.6647175947531427E-01 + 0.6643407384126333E-01 + 0.6639633067643245E-01 + 0.6635853005394200E-01 + 0.6632067206625432E-01 + 0.6628275682269848E-01 + 0.6624478442899440E-01 + 0.6620675495935124E-01 + 0.6616866847359439E-01 + 0.6613052504041460E-01 + 0.6609232476075128E-01 + 0.6605406774271127E-01 + 0.6601575408463999E-01 + 0.6597738386719985E-01 + 0.6593895716946541E-01 + 0.6590047407640791E-01 + 0.6586193467864688E-01 + 0.6582333906566835E-01 + 0.6578468731540690E-01 + 0.6574597949997052E-01 + 0.6570721569714902E-01 + 0.6566839600774238E-01 + 0.6562952053825204E-01 + 0.6559058938483259E-01 + 0.6555160262295451E-01 + 0.6551256032588720E-01 + 0.6547346257346087E-01 + 0.6543430945240909E-01 + 0.6539510105016475E-01 + 0.6535583745771785E-01 + 0.6531651876803817E-01 + 0.6527714507274935E-01 + 0.6523771645735455E-01 + 0.6519823300564818E-01 + 0.6515869480208019E-01 + 0.6511910193254926E-01 + 0.6507945448314787E-01 + 0.6503975253996580E-01 + 0.6499999618909000E-01 + 0.6496018551648488E-01 + 0.6492032060678571E-01 + 0.6488040154381269E-01 + 0.6484042841258320E-01 + 0.6480040130414661E-01 + 0.6476032031142553E-01 + 0.6472018552586745E-01 + 0.6467999703531215E-01 + 0.6463975492688565E-01 + 0.6459945928133683E-01 + 0.6455911017131476E-01 + 0.6451870767066993E-01 + 0.6447825187459620E-01 + 0.6443774289269884E-01 + 0.6439718082895338E-01 + 0.6435656575448947E-01 + 0.6431589772909283E-01 + 0.6427517682416574E-01 + 0.6423440314262743E-01 + 0.6419357679243200E-01 + 0.6415269786987262E-01 + 0.6411176645495937E-01 + 0.6407078262695558E-01 + 0.6402974647170206E-01 + 0.6398865807992467E-01 + 0.6394751754051331E-01 + 0.6390632493021913E-01 + 0.6386508032113838E-01 + 0.6382378379288439E-01 + 0.6378243544772290E-01 + 0.6374103539195252E-01 + 0.6369958371948556E-01 + 0.6365808050520414E-01 + 0.6361652582278559E-01 + 0.6357491975266311E-01 + 0.6353326238078537E-01 + 0.6349155379421639E-01 + 0.6344979408666374E-01 + 0.6340798335465959E-01 + 0.6336612168959198E-01 + 0.6332420916559900E-01 + 0.6328224585337949E-01 + 0.6324023183634504E-01 + 0.6319816721941746E-01 + 0.6315605210869273E-01 + 0.6311388659302983E-01 + 0.6307167074582720E-01 + 0.6302940464108815E-01 + 0.6298708836182552E-01 + 0.6294472199529042E-01 + 0.6290230562965588E-01 + 0.6285983935643773E-01 + 0.6281732326791170E-01 + 0.6277475745442802E-01 + 0.6273214200274412E-01 + 0.6268947699901179E-01 + 0.6264676252461873E-01 + 0.6260399865625890E-01 + 0.6256118547159588E-01 + 0.6251832305857507E-01 + 0.6247541151048361E-01 + 0.6243245092059939E-01 + 0.6238944138197220E-01 + 0.6234638298756174E-01 + 0.6230327582566844E-01 + 0.6226011997499704E-01 + 0.6221691551315710E-01 + 0.6217366252009448E-01 + 0.6213036107828357E-01 + 0.6208701127174450E-01 + 0.6204361319861511E-01 + 0.6200016696512368E-01 + 0.6195667267143932E-01 + 0.6191313038927277E-01 + 0.6186954018215520E-01 + 0.6182590212288495E-01 + 0.6178221630536308E-01 + 0.6173848282634793E-01 + 0.6169470178050514E-01 + 0.6165087326001252E-01 + 0.6160699735617730E-01 + 0.6156307415211463E-01 + 0.6151910372576789E-01 + 0.6147508615555417E-01 + 0.6143102152275093E-01 + 0.6138690990957106E-01 + 0.6134275140471611E-01 + 0.6129854611324537E-01 + 0.6125429414224421E-01 + 0.6120999557863409E-01 + 0.6116565048299110E-01 + 0.6112125891652692E-01 + 0.6107682097152743E-01 + 0.6103233676186868E-01 + 0.6098780639516875E-01 + 0.6094322994053036E-01 + 0.6089860745332819E-01 + 0.6085393900435552E-01 + 0.6080922470756940E-01 + 0.6076446468391978E-01 + 0.6071965902998126E-01 + 0.6067480780730648E-01 + 0.6062991107625017E-01 + 0.6058496891956643E-01 + 0.6053998143712382E-01 + 0.6049494872746804E-01 + 0.6044987087785154E-01 + 0.6040474797105623E-01 + 0.6035958008987247E-01 + 0.6031436731715227E-01 + 0.6026910973585862E-01 + 0.6022380743522358E-01 + 0.6017846051439237E-01 + 0.6013306907216722E-01 + 0.6008763318648280E-01 + 0.6004215291775077E-01 + 0.5999662833091406E-01 + 0.5995105952748769E-01 + 0.5990544662501859E-01 + 0.5985978973189559E-01 + 0.5981408892462360E-01 + 0.5976834427290649E-01 + 0.5972255585325947E-01 + 0.5967672375406270E-01 + 0.5963084806480632E-01 + 0.5958492887337206E-01 + 0.5953896626615761E-01 + 0.5949296032896609E-01 + 0.5944691114323529E-01 + 0.5940081878828720E-01 + 0.5935468334886272E-01 + 0.5930850493060741E-01 + 0.5926228364402716E-01 + 0.5921601958015767E-01 + 0.5916971279262706E-01 + 0.5912336333225477E-01 + 0.5907697128362575E-01 + 0.5903053676553896E-01 + 0.5898405989492566E-01 + 0.5893754075777870E-01 + 0.5889097942353587E-01 + 0.5884437596442328E-01 + 0.5879773046529114E-01 + 0.5875104301437776E-01 + 0.5870431370104187E-01 + 0.5865754261701906E-01 + 0.5861072985425820E-01 + 0.5856387550216557E-01 + 0.5851697964731772E-01 + 0.5847004237557533E-01 + 0.5842306376693653E-01 + 0.5837604389794102E-01 + 0.5832898284741315E-01 + 0.5828188070530450E-01 + 0.5823473756488497E-01 + 0.5818755351941675E-01 + 0.5814032866214291E-01 + 0.5809306308609365E-01 + 0.5804575687714115E-01 + 0.5799841011240390E-01 + 0.5795102286893141E-01 + 0.5790359522922072E-01 + 0.5785612727930840E-01 + 0.5780861910617813E-01 + 0.5776107080153757E-01 + 0.5771348245865614E-01 + 0.5766585416840177E-01 + 0.5761818601539557E-01 + 0.5757047808328411E-01 + 0.5752273045688295E-01 + 0.5747494322257877E-01 + 0.5742711646679203E-01 + 0.5737925027491451E-01 + 0.5733134473160244E-01 + 0.5728339992824429E-01 + 0.5723541599636494E-01 + 0.5718739308227177E-01 + 0.5713933133507262E-01 + 0.5709123091188980E-01 + 0.5704309197130858E-01 + 0.5699491467331509E-01 + 0.5694669917996649E-01 + 0.5689844565255665E-01 + 0.5685015423801367E-01 + 0.5680182507197432E-01 + 0.5675345829427716E-01 + 0.5670505407474189E-01 + 0.5665661259542432E-01 + 0.5660813402895312E-01 + 0.5655961851761163E-01 + 0.5651106619773053E-01 + 0.5646247721369566E-01 + 0.5641385172300346E-01 + 0.5636518988472924E-01 + 0.5631649186465851E-01 + 0.5626775783437250E-01 + 0.5621898796174297E-01 + 0.5617018238554859E-01 + 0.5612134123142303E-01 + 0.5607246463564851E-01 + 0.5602355277273401E-01 + 0.5597460582556374E-01 + 0.5592562396338083E-01 + 0.5587660733096147E-01 + 0.5582755607100436E-01 + 0.5577847033606225E-01 + 0.5572935028803745E-01 + 0.5568019608840781E-01 + 0.5563100789199479E-01 + 0.5558178585029587E-01 + 0.5553253011387508E-01 + 0.5548324082968456E-01 + 0.5543391814385680E-01 + 0.5538456221261074E-01 + 0.5533517321212635E-01 + 0.5528575132019666E-01 + 0.5523629669642819E-01 + 0.5518680948147457E-01 + 0.5513728981562941E-01 + 0.5508773784417203E-01 + 0.5503815371512895E-01 + 0.5498853758169276E-01 + 0.5493888961980122E-01 + 0.5488921001159692E-01 + 0.5483949892219204E-01 + 0.5478975647945842E-01 + 0.5473998280724657E-01 + 0.5469017805622592E-01 + 0.5464034240776869E-01 + 0.5459047604284050E-01 + 0.5454057911999892E-01 + 0.5449065178419209E-01 + 0.5444069418116683E-01 + 0.5439070646155495E-01 + 0.5434068877749980E-01 + 0.5429064128346678E-01 + 0.5424056413953858E-01 + 0.5419045750646819E-01 + 0.5414032153912136E-01 + 0.5409015638495792E-01 + 0.5403996219181941E-01 + 0.5398973911796249E-01 + 0.5393948732860785E-01 + 0.5388920698882091E-01 + 0.5383889826211012E-01 + 0.5378856131143537E-01 + 0.5373819629068906E-01 + 0.5368780332944530E-01 + 0.5363738255383304E-01 + 0.5358693411647472E-01 + 0.5353645820663146E-01 + 0.5348595501402426E-01 + 0.5343542469724766E-01 + 0.5338486739200103E-01 + 0.5333428323533500E-01 + 0.5328367237587214E-01 + 0.5323303496663304E-01 + 0.5318237116371869E-01 + 0.5313168113237659E-01 + 0.5308096503944155E-01 + 0.5303022304560495E-01 + 0.5297945530221155E-01 + 0.5292866195964120E-01 + 0.5287784316535444E-01 + 0.5282699906445153E-01 + 0.5277612980553254E-01 + 0.5272523556175312E-01 + 0.5267431651660168E-01 + 0.5262337284104151E-01 + 0.5257240466445140E-01 + 0.5252141210794344E-01 + 0.5247039531707218E-01 + 0.5241935447834283E-01 + 0.5236828978019663E-01 + 0.5231720137410866E-01 + 0.5226608937871326E-01 + 0.5221495391792150E-01 + 0.5216379516521901E-01 + 0.5211261331717544E-01 + 0.5206140855738973E-01 + 0.5201018102118797E-01 + 0.5195893083290583E-01 + 0.5190765812974948E-01 + 0.5185636307269643E-01 + 0.5180504582531049E-01 + 0.5175370655156937E-01 + 0.5170234541585447E-01 + 0.5165096258156549E-01 + 0.5159955820342264E-01 + 0.5154813243168171E-01 + 0.5149668541635465E-01 + 0.5144521730660347E-01 + 0.5139372825141225E-01 + 0.5134221840561835E-01 + 0.5129068793599241E-01 + 0.5123913701042762E-01 + 0.5118756578816760E-01 + 0.5113597441918499E-01 + 0.5108436305290024E-01 + 0.5103273183778385E-01 + 0.5098108092176730E-01 + 0.5092941045642048E-01 + 0.5087772060998109E-01 + 0.5082601155539636E-01 + 0.5077428345395870E-01 + 0.5072253644069482E-01 + 0.5067077064781071E-01 + 0.5061898623188380E-01 + 0.5056718337818906E-01 + 0.5051536227020730E-01 + 0.5046352305308028E-01 + 0.5041166584798230E-01 + 0.5035979078428675E-01 + 0.5030789803503451E-01 + 0.5025598778710815E-01 + 0.5020406021308991E-01 + 0.5015211544986662E-01 + 0.5010015362929936E-01 + 0.5004817490056590E-01 + 0.4999617943525225E-01 + 0.4994416740530925E-01 + 0.4989213896840445E-01 + 0.4984009427237707E-01 + 0.4978803346520765E-01 + 0.4973595669678349E-01 + 0.4968386411766935E-01 + 0.4963175588167553E-01 + 0.4957963215159034E-01 + 0.4952749309173495E-01 + 0.4947533886609961E-01 + 0.4942316963820386E-01 + 0.4937098557008257E-01 + 0.4931878680264402E-01 + 0.4926657346080934E-01 + 0.4921434567630429E-01 + 0.4916210362664279E-01 + 0.4910984750726874E-01 + 0.4905757749790193E-01 + 0.4900529372981209E-01 + 0.4895299632530036E-01 + 0.4890068542565514E-01 + 0.4884836120189568E-01 + 0.4879602382705564E-01 + 0.4874367346441130E-01 + 0.4869131026912389E-01 + 0.4863893439562710E-01 + 0.4858654599493040E-01 + 0.4853414521655781E-01 + 0.4848173221230305E-01 + 0.4842930714173850E-01 + 0.4837687016604260E-01 + 0.4832442144195968E-01 + 0.4827196111858547E-01 + 0.4821948934454577E-01 + 0.4816700627411867E-01 + 0.4811451206674713E-01 + 0.4806200688177500E-01 + 0.4800949087623626E-01 + 0.4795696420605619E-01 + 0.4790442702777703E-01 + 0.4785187950031527E-01 + 0.4779932178312219E-01 + 0.4774675403227608E-01 + 0.4769417639743992E-01 + 0.4764158902776478E-01 + 0.4758899207719233E-01 + 0.4753638570447208E-01 + 0.4748377006849946E-01 + 0.4743114532758868E-01 + 0.4737851163974638E-01 + 0.4732586916200315E-01 + 0.4727321804726499E-01 + 0.4722055844733985E-01 + 0.4716789051319001E-01 + 0.4711521439400205E-01 + 0.4706253023902872E-01 + 0.4700983820553618E-01 + 0.4695713845962488E-01 + 0.4690443116724747E-01 + 0.4685171648821143E-01 + 0.4679899457873459E-01 + 0.4674626559433900E-01 + 0.4669352968747274E-01 + 0.4664078700967722E-01 + 0.4658803771258697E-01 + 0.4653528194805279E-01 + 0.4648251986799852E-01 + 0.4642975162576120E-01 + 0.4637697737638927E-01 + 0.4632419727578558E-01 + 0.4627141148855765E-01 + 0.4621862018491388E-01 + 0.4616582353074108E-01 + 0.4611302166867390E-01 + 0.4606021473374069E-01 + 0.4600740287109233E-01 + 0.4595458625193811E-01 + 0.4590176505121967E-01 + 0.4584893942739154E-01 + 0.4579610951695948E-01 + 0.4574327545639424E-01 + 0.4569043740184100E-01 + 0.4563759552337453E-01 + 0.4558474998965005E-01 + 0.4553190095924116E-01 + 0.4547904858704771E-01 + 0.4542619302749256E-01 + 0.4537333443365267E-01 + 0.4532047295833008E-01 + 0.4526760875245445E-01 + 0.4521474196421394E-01 + 0.4516187274233747E-01 + 0.4510900124709917E-01 + 0.4505612764776127E-01 + 0.4500325211146889E-01 + 0.4495037478988446E-01 + 0.4489749582841656E-01 + 0.4484461537615841E-01 + 0.4479173359394684E-01 + 0.4473885064484262E-01 + 0.4468596668526955E-01 + 0.4463308186095472E-01 + 0.4458019631745295E-01 + 0.4452731021437744E-01 + 0.4447442372336863E-01 + 0.4442153701358422E-01 + 0.4436865023301945E-01 + 0.4431576352020535E-01 + 0.4426287701762056E-01 + 0.4420999088183242E-01 + 0.4415710527253746E-01 + 0.4410422035142913E-01 + 0.4405133628374674E-01 + 0.4399845323470282E-01 + 0.4394557136144137E-01 + 0.4389269081352348E-01 + 0.4383981174038615E-01 + 0.4378693429287449E-01 + 0.4373405862252945E-01 + 0.4368118488212154E-01 + 0.4362831322923567E-01 + 0.4357544382263265E-01 + 0.4352257682026098E-01 + 0.4346971237847736E-01 + 0.4341685065351498E-01 + 0.4336399180309705E-01 + 0.4331113598648548E-01 + 0.4325828336236443E-01 + 0.4320543408335862E-01 + 0.4315258829878701E-01 + 0.4309974615922102E-01 + 0.4304690782086350E-01 + 0.4299407344146589E-01 + 0.4294124318016483E-01 + 0.4288841719909475E-01 + 0.4283559566035775E-01 + 0.4278277871368116E-01 + 0.4272996649476102E-01 + 0.4267715914122088E-01 + 0.4262435681910356E-01 + 0.4257155971154282E-01 + 0.4251876799486808E-01 + 0.4246598181106031E-01 + 0.4241320129167852E-01 + 0.4236042658020151E-01 + 0.4230765784865889E-01 + 0.4225489527277066E-01 + 0.4220213901072806E-01 + 0.4214938919888306E-01 + 0.4209664597384919E-01 + 0.4204390949188792E-01 + 0.4199117992227105E-01 + 0.4193845743315788E-01 + 0.4188574218538671E-01 + 0.4183303433730861E-01 + 0.4178033404274975E-01 + 0.4172764144353306E-01 + 0.4167495667976853E-01 + 0.4162227990281374E-01 + 0.4156961127943117E-01 + 0.4151695097718235E-01 + 0.4146429915929514E-01 + 0.4141165598584054E-01 + 0.4135902161414054E-01 + 0.4130639618523880E-01 + 0.4125377983406986E-01 + 0.4120117270694246E-01 + 0.4114857498370401E-01 + 0.4109598684990678E-01 + 0.4104340846658669E-01 + 0.4099083995784167E-01 + 0.4093828144691091E-01 + 0.4088573309196065E-01 + 0.4083319507912746E-01 + 0.4078066759009976E-01 + 0.4072815077095749E-01 + 0.4067564475294999E-01 + 0.4062314967592117E-01 + 0.4057066570801993E-01 + 0.4051819302303669E-01 + 0.4046573178432994E-01 + 0.4041328213795191E-01 + 0.4036084422882601E-01 + 0.4030841821112813E-01 + 0.4025600424717527E-01 + 0.4020360249836179E-01 + 0.4015121311691915E-01 + 0.4009883625085560E-01 + 0.4004647205029280E-01 + 0.3999412067313826E-01 + 0.3994178227906068E-01 + 0.3988945702654148E-01 + 0.3983714507189089E-01 + 0.3978484657124846E-01 + 0.3973256168207629E-01 + 0.3968029056311464E-01 + 0.3962803337263766E-01 + 0.3957579026446880E-01 + 0.3952356139016528E-01 + 0.3947134690089356E-01 + 0.3941914694630660E-01 + 0.3936696167570931E-01 + 0.3931479124340423E-01 + 0.3926263581378075E-01 + 0.3921049555233467E-01 + 0.3915837062180728E-01 + 0.3910626118201548E-01 + 0.3905416739132701E-01 + 0.3900208939542774E-01 + 0.3895002733287894E-01 + 0.3889798134709760E-01 + 0.3884595160382055E-01 + 0.3879393827505568E-01 + 0.3874194152507910E-01 + 0.3868996150091961E-01 + 0.3863799834754040E-01 + 0.3858605221815998E-01 + 0.3853412327562447E-01 + 0.3848221168232666E-01 + 0.3843031758968920E-01 + 0.3837844114234418E-01 + 0.3832658248851605E-01 + 0.3827474179505137E-01 + 0.3822291923462504E-01 + 0.3817111497037421E-01 + 0.3811932914188007E-01 + 0.3806756188551645E-01 + 0.3801581335141033E-01 + 0.3796408370731471E-01 + 0.3791237312172388E-01 + 0.3786068175795299E-01 + 0.3780900977578810E-01 + 0.3775735733207184E-01 + 0.3770572456747010E-01 + 0.3765411161701420E-01 + 0.3760251862783692E-01 + 0.3755094578021790E-01 + 0.3749939325951646E-01 + 0.3744786122563033E-01 + 0.3739634980257722E-01 + 0.3734485911411830E-01 + 0.3729338931917892E-01 + 0.3724194060303889E-01 + 0.3719051314637643E-01 + 0.3713910709693002E-01 + 0.3708772258967144E-01 + 0.3703635976496611E-01 + 0.3698501877966254E-01 + 0.3693369979377963E-01 + 0.3688240297029830E-01 + 0.3683112847679195E-01 + 0.3677987648033163E-01 + 0.3672864713307797E-01 + 0.3667744057490927E-01 + 0.3662625694715441E-01 + 0.3657509640393148E-01 + 0.3652395910485096E-01 + 0.3647284521054902E-01 + 0.3642175488505792E-01 + 0.3637068829307417E-01 + 0.3631964559513150E-01 + 0.3626862694465354E-01 + 0.3621763249400036E-01 + 0.3616666238840789E-01 + 0.3611571676666445E-01 + 0.3606479577049130E-01 + 0.3601389956663077E-01 + 0.3596302833370835E-01 + 0.3591218224473707E-01 + 0.3586136145133141E-01 + 0.3581056610007933E-01 + 0.3575979633841370E-01 + 0.3570905231535857E-01 + 0.3565833418057093E-01 + 0.3560764209410638E-01 + 0.3555697622635812E-01 + 0.3550633674597175E-01 + 0.3545572380207826E-01 + 0.3540513753357360E-01 + 0.3535457808256645E-01 + 0.3530404560501579E-01 + 0.3525354026052210E-01 + 0.3520306221049077E-01 + 0.3515261162008031E-01 + 0.3510218865464059E-01 + 0.3505179347202948E-01 + 0.3500142622192418E-01 + 0.3495108705372188E-01 + 0.3490077611817198E-01 + 0.3485049356680626E-01 + 0.3480023955219642E-01 + 0.3475001423172796E-01 + 0.3469981776418785E-01 + 0.3464965030761723E-01 + 0.3459951201834113E-01 + 0.3454940305249199E-01 + 0.3449932356775474E-01 + 0.3444927372367692E-01 + 0.3439925367933183E-01 + 0.3434926358711524E-01 + 0.3429930359516781E-01 + 0.3424937385335891E-01 + 0.3419947452092017E-01 + 0.3414960576011178E-01 + 0.3409976772897985E-01 + 0.3404996057483567E-01 + 0.3400018444355033E-01 + 0.3395043949077827E-01 + 0.3390072588507364E-01 + 0.3385104379495492E-01 + 0.3380139337697374E-01 + 0.3375177477929086E-01 + 0.3370218815043729E-01 + 0.3365263364210507E-01 + 0.3360311140712651E-01 + 0.3355362159881322E-01 + 0.3350416437182649E-01 + 0.3345473988118290E-01 + 0.3340534828788485E-01 + 0.3335598976161438E-01 + 0.3330666447146560E-01 + 0.3325737256749950E-01 + 0.3320811418510230E-01 + 0.3315888946326320E-01 + 0.3310969856686058E-01 + 0.3306054167111973E-01 + 0.3301141894289111E-01 + 0.3296233052265752E-01 + 0.3291327654593202E-01 + 0.3286425716048968E-01 + 0.3281527253367492E-01 + 0.3276632283430154E-01 + 0.3271740822629432E-01 + 0.3266852886943534E-01 + 0.3261968492124451E-01 + 0.3257087652371395E-01 + 0.3252210381196284E-01 + 0.3247336693070502E-01 + 0.3242466605825776E-01 + 0.3237600138001894E-01 + 0.3232737305988558E-01 + 0.3227878122394947E-01 + 0.3223022599593536E-01 + 0.3218170752941885E-01 + 0.3213322600576208E-01 + 0.3208478160478139E-01 + 0.3203637448497259E-01 + 0.3198800479439876E-01 + 0.3193967267965246E-01 + 0.3189137828188631E-01 + 0.3184312174103193E-01 + 0.3179490320916563E-01 + 0.3174672286191979E-01 + 0.3169858087700381E-01 + 0.3165047741716550E-01 + 0.3160241262985513E-01 + 0.3155438666196802E-01 + 0.3150639966166485E-01 + 0.3145845177778989E-01 + 0.3141054316276234E-01 + 0.3136267398445556E-01 + 0.3131484441486368E-01 + 0.3126705461495045E-01 + 0.3121930472204779E-01 + 0.3117159487110116E-01 + 0.3112392521607961E-01 + 0.3107629593231779E-01 + 0.3102870719373556E-01 + 0.3098115914760812E-01 + 0.3093365192534417E-01 + 0.3088618566544707E-01 + 0.3083876054167924E-01 + 0.3079137673837591E-01 + 0.3074403442555882E-01 + 0.3069673373932063E-01 + 0.3064947481139655E-01 + 0.3060225779292218E-01 + 0.3055508285897251E-01 + 0.3050795018405550E-01 + 0.3046085991836030E-01 + 0.3041381219612857E-01 + 0.3036680715612123E-01 + 0.3031984496292051E-01 + 0.3027292578974476E-01 + 0.3022604980271433E-01 + 0.3017921714929396E-01 + 0.3013242797409927E-01 + 0.3008568242933148E-01 + 0.3003898067748117E-01 + 0.2999232288105042E-01 + 0.2994570919272863E-01 + 0.2989913975812602E-01 + 0.2985261472526069E-01 + 0.2980613425756946E-01 + 0.2975969852421956E-01 + 0.2971330768988663E-01 + 0.2966696190612763E-01 + 0.2962066132211667E-01 + 0.2957440608669986E-01 + 0.2952819634823423E-01 + 0.2948203225583406E-01 + 0.2943591397109633E-01 + 0.2938984166551891E-01 + 0.2934381550746364E-01 + 0.2929783564236987E-01 + 0.2925190220622884E-01 + 0.2920601534196517E-01 + 0.2916017521505924E-01 + 0.2911438199547605E-01 + 0.2906863584791258E-01 + 0.2902293692841178E-01 + 0.2897728539211510E-01 + 0.2893168139240317E-01 + 0.2888612508112157E-01 + 0.2884061661006518E-01 + 0.2879515613103445E-01 + 0.2874974379583220E-01 + 0.2870437975689054E-01 + 0.2865906416891122E-01 + 0.2861379718715921E-01 + 0.2856857897185355E-01 + 0.2852340969218247E-01 + 0.2847828951748541E-01 + 0.2843321860020247E-01 + 0.2838819707659481E-01 + 0.2834322508498952E-01 + 0.2829830278675346E-01 + 0.2825343035486782E-01 + 0.2820860795748758E-01 + 0.2816383574303150E-01 + 0.2811911385501991E-01 + 0.2807444244431851E-01 + 0.2802982167646847E-01 + 0.2798525171806884E-01 + 0.2794073271838800E-01 + 0.2789626480847001E-01 + 0.2785184812272068E-01 + 0.2780748283602978E-01 + 0.2776316914580532E-01 + 0.2771890723632259E-01 + 0.2767469723202262E-01 + 0.2763053924075201E-01 + 0.2758643339666305E-01 + 0.2754237989198831E-01 + 0.2749837892556352E-01 + 0.2745443066106035E-01 + 0.2741053522152972E-01 + 0.2736669273061833E-01 + 0.2732290334296874E-01 + 0.2727916723222362E-01 + 0.2723548456977674E-01 + 0.2719185551443944E-01 + 0.2714828022110462E-01 + 0.2710475884319250E-01 + 0.2706129153052796E-01 + 0.2701787843254357E-01 + 0.2697451970409293E-01 + 0.2693121550691073E-01 + 0.2688796600238046E-01 + 0.2684477134205037E-01 + 0.2680163167083178E-01 + 0.2675854713682261E-01 + 0.2671551790654117E-01 + 0.2667254415285938E-01 + 0.2662962603955667E-01 + 0.2658676370576629E-01 + 0.2654395728681473E-01 + 0.2650120693300431E-01 + 0.2645851281553732E-01 + 0.2641587510611169E-01 + 0.2637329396144645E-01 + 0.2633076952714224E-01 + 0.2628830195007497E-01 + 0.2624589138668222E-01 + 0.2620353799706940E-01 + 0.2616124194066765E-01 + 0.2611900337485751E-01 + 0.2607682245662100E-01 + 0.2603469934207941E-01 + 0.2599263418603258E-01 + 0.2595062714264651E-01 + 0.2590867835755632E-01 + 0.2586678796943662E-01 + 0.2582495612290617E-01 + 0.2578318300536203E-01 + 0.2574146882237490E-01 + 0.2569981373518301E-01 + 0.2565821775652994E-01 + 0.2561668086802082E-01 + 0.2557520304128213E-01 + 0.2553378423106545E-01 + 0.2549242439037445E-01 + 0.2545112346995609E-01 + 0.2540988141853428E-01 + 0.2536869818619476E-01 + 0.2532757373421888E-01 + 0.2528650802915134E-01 + 0.2524550103065230E-01 + 0.2520455267263549E-01 + 0.2516366288318158E-01 + 0.2512283160693535E-01 + 0.2508205881942415E-01 + 0.2504134449844967E-01 + 0.2500068859719347E-01 + 0.2496009104459474E-01 + 0.2491955177125502E-01 + 0.2487907073140823E-01 + 0.2483864789155944E-01 + 0.2479828321541175E-01 + 0.2475797665461346E-01 + 0.2471772815769857E-01 + 0.2467753767473135E-01 + 0.2463740515892598E-01 + 0.2459733056384608E-01 + 0.2455731384203011E-01 + 0.2451735494490772E-01 + 0.2447745382408301E-01 + 0.2443761043344098E-01 + 0.2439782472817307E-01 + 0.2435809666160235E-01 + 0.2431842617834648E-01 + 0.2427881322053437E-01 + 0.2423925773586039E-01 + 0.2419975968468344E-01 + 0.2416031902898180E-01 + 0.2412093572645742E-01 + 0.2408160972973112E-01 + 0.2404234099064459E-01 + 0.2400312945558701E-01 + 0.2396397506750727E-01 + 0.2392487777172611E-01 + 0.2388583752606162E-01 + 0.2384685429233879E-01 + 0.2380792803003779E-01 + 0.2376905869272530E-01 + 0.2373024623293790E-01 + 0.2369149059875811E-01 + 0.2365279173245244E-01 + 0.2361414957692685E-01 + 0.2357556408836463E-01 + 0.2353703523216897E-01 + 0.2349856297086839E-01 + 0.2346014724939319E-01 + 0.2342178800640433E-01 + 0.2338348518684476E-01 + 0.2334523875323508E-01 + 0.2330704867095613E-01 + 0.2326891489619379E-01 + 0.2323083737193028E-01 + 0.2319281604050540E-01 + 0.2315485084986034E-01 + 0.2311694175221388E-01 + 0.2307908870096654E-01 + 0.2304129165641970E-01 + 0.2300355058160276E-01 + 0.2296586543431471E-01 + 0.2292823615609581E-01 + 0.2289066268551818E-01 + 0.2285314497238548E-01 + 0.2281568298425066E-01 + 0.2277827668898420E-01 + 0.2274092603308136E-01 + 0.2270363094509821E-01 + 0.2266639135726058E-01 + 0.2262920723222653E-01 + 0.2259207854598651E-01 + 0.2255500526750986E-01 + 0.2251798734132322E-01 + 0.2248102470673536E-01 + 0.2244411730763884E-01 + 0.2240726509590672E-01 + 0.2237046802450385E-01 + 0.2233372605221962E-01 + 0.2229703914321378E-01 + 0.2226040725942251E-01 + 0.2222383034316942E-01 + 0.2218730832727796E-01 + 0.2215084114953592E-01 + 0.2211442876706091E-01 + 0.2207807114161980E-01 + 0.2204176823539215E-01 + 0.2200552001134999E-01 + 0.2196932643186331E-01 + 0.2193318744302002E-01 + 0.2189710297441872E-01 + 0.2186107295823477E-01 + 0.2182509735682172E-01 + 0.2178917614867228E-01 + 0.2175330930455566E-01 + 0.2171749676150381E-01 + 0.2168173844758348E-01 + 0.2164603430220121E-01 + 0.2161038428881188E-01 + 0.2157478837365238E-01 + 0.2153924651491865E-01 + 0.2150375866186173E-01 + 0.2146832476348615E-01 + 0.2143294477107900E-01 + 0.2139761863727312E-01 + 0.2136234631503454E-01 + 0.2132712775883644E-01 + 0.2129196292358802E-01 + 0.2125685176068323E-01 + 0.2122179421326995E-01 + 0.2118679022358027E-01 + 0.2115183974286619E-01 + 0.2111694273340394E-01 + 0.2108209915746531E-01 + 0.2104730896940155E-01 + 0.2101257211842055E-01 + 0.2097788855435455E-01 + 0.2094325823082444E-01 + 0.2090868110270183E-01 + 0.2087415712256910E-01 + 0.2083968623705774E-01 + 0.2080526839186891E-01 + 0.2077090353370886E-01 + 0.2073659161063389E-01 + 0.2070233257194729E-01 + 0.2066812638239856E-01 + 0.2063397301777382E-01 + 0.2059987244787650E-01 + 0.2056582460553162E-01 + 0.2053182940996835E-01 + 0.2049788679325437E-01 + 0.2046399672453859E-01 + 0.2043015917942080E-01 + 0.2039637412328724E-01 + 0.2036264150643249E-01 + 0.2032896127769743E-01 + 0.2029533338224585E-01 + 0.2026175776235299E-01 + 0.2022823436269200E-01 + 0.2019476314439600E-01 + 0.2016134407531062E-01 + 0.2012797711532254E-01 + 0.2009466219874891E-01 + 0.2006139925502168E-01 + 0.2002818822907931E-01 + 0.1999502909108361E-01 + 0.1996192181293318E-01 + 0.1992886635618319E-01 + 0.1989586267345979E-01 + 0.1986291071542022E-01 + 0.1983001042023089E-01 + 0.1979716172041801E-01 + 0.1976436455637909E-01 + 0.1973161889667993E-01 + 0.1969892471603445E-01 + 0.1966628197736260E-01 + 0.1963369062244283E-01 + 0.1960115059115922E-01 + 0.1956866182978967E-01 + 0.1953622429067538E-01 + 0.1950383792726657E-01 + 0.1947150270030468E-01 + 0.1943921857416984E-01 + 0.1940698550794143E-01 + 0.1937480343954006E-01 + 0.1934267230170476E-01 + 0.1931059203631707E-01 + 0.1927856260334103E-01 + 0.1924658396486031E-01 + 0.1921465608284952E-01 + 0.1918277891916998E-01 + 0.1915095243386518E-01 + 0.1911917656983753E-01 + 0.1908745126054932E-01 + 0.1905577644365055E-01 + 0.1902415207575416E-01 + 0.1899257811871639E-01 + 0.1896105453446028E-01 + 0.1892958128505449E-01 + 0.1889815833214481E-01 + 0.1886678562424625E-01 + 0.1883546309485007E-01 + 0.1880419067835796E-01 + 0.1877296832774466E-01 + 0.1874179600725817E-01 + 0.1871067367971758E-01 + 0.1867960130011384E-01 + 0.1864857882101815E-01 + 0.1861760619155981E-01 + 0.1858668335254630E-01 + 0.1855581024396451E-01 + 0.1852498682072199E-01 + 0.1849421305648469E-01 + 0.1846348892413845E-01 + 0.1843281437249930E-01 + 0.1840218933429767E-01 + 0.1837161374437051E-01 + 0.1834108755076145E-01 + 0.1831061070603922E-01 + 0.1828018316739229E-01 + 0.1824980490438086E-01 + 0.1821947588826805E-01 + 0.1818919607468162E-01 + 0.1815896539763917E-01 + 0.1812878379049305E-01 + 0.1809865119941719E-01 + 0.1806856758001097E-01 + 0.1803853288838544E-01 + 0.1800854708245643E-01 + 0.1797861012082369E-01 + 0.1794872196077374E-01 + 0.1791888255568113E-01 + 0.1788909185814640E-01 + 0.1785934981793904E-01 + 0.1782965638052367E-01 + 0.1780001149125218E-01 + 0.1777041509947381E-01 + 0.1774086715776782E-01 + 0.1771136761934794E-01 + 0.1768191644115642E-01 + 0.1765251358170369E-01 + 0.1762315899902971E-01 + 0.1759385264960011E-01 + 0.1756459448943802E-01 + 0.1753538446581801E-01 + 0.1750622251136572E-01 + 0.1747710855852479E-01 + 0.1744804256249743E-01 + 0.1741902449869299E-01 + 0.1739005433995100E-01 + 0.1736113203385905E-01 + 0.1733225751625342E-01 + 0.1730343072846921E-01 + 0.1727465163233314E-01 + 0.1724592019430525E-01 + 0.1721723637246303E-01 + 0.1718860010941097E-01 + 0.1716001134640381E-01 + 0.1713147003174167E-01 + 0.1710297612059614E-01 + 0.1707452956814846E-01 + 0.1704613032718441E-01 + 0.1701777834925818E-01 + 0.1698947358609744E-01 + 0.1696121599018234E-01 + 0.1693300551418487E-01 + 0.1690484211059365E-01 + 0.1687672573152410E-01 + 0.1684865632906893E-01 + 0.1682063385591468E-01 + 0.1679265826538370E-01 + 0.1676472951055400E-01 + 0.1673684754179909E-01 + 0.1670901230795876E-01 + 0.1668122376030497E-01 + 0.1665348186130513E-01 + 0.1662578657657968E-01 + 0.1659813786213682E-01 + 0.1657053565233518E-01 + 0.1654297987905441E-01 + 0.1651547048933899E-01 + 0.1648800744808003E-01 + 0.1646059072024915E-01 + 0.1643322026032466E-01 + 0.1640589601622862E-01 + 0.1637861793698638E-01 + 0.1635138597775425E-01 + 0.1632420009562281E-01 + 0.1629706024277471E-01 + 0.1626996635915277E-01 + 0.1624291838323731E-01 + 0.1621591626943275E-01 + 0.1618895999273820E-01 + 0.1616204952737622E-01 + 0.1613518482034848E-01 + 0.1610836579993674E-01 + 0.1608159239879712E-01 + 0.1605486457655004E-01 + 0.1602818230232285E-01 + 0.1600154553799549E-01 + 0.1597495422537838E-01 + 0.1594840830304372E-01 + 0.1592190771925899E-01 + 0.1589545243607953E-01 + 0.1586904241620204E-01 + 0.1584267761633984E-01 + 0.1581635798868085E-01 + 0.1579008348436902E-01 + 0.1576385404862409E-01 + 0.1573766962434859E-01 + 0.1571153015855753E-01 + 0.1568543561091295E-01 + 0.1565938594343426E-01 + 0.1563338111430383E-01 + 0.1560742107569898E-01 + 0.1558150577908640E-01 + 0.1555563517277750E-01 + 0.1552980920246084E-01 + 0.1550402781428365E-01 + 0.1547829095822543E-01 + 0.1545259858592768E-01 + 0.1542695065107127E-01 + 0.1540134711428106E-01 + 0.1537578793758165E-01 + 0.1535027307635693E-01 + 0.1532480247454345E-01 + 0.1529937607518959E-01 + 0.1527399382615663E-01 + 0.1524865567970129E-01 + 0.1522336158897403E-01 + 0.1519811151298097E-01 + 0.1517290541353611E-01 + 0.1514774324919466E-01 + 0.1512262496605047E-01 + 0.1509755050725872E-01 + 0.1507251981861579E-01 + 0.1504753285093907E-01 + 0.1502258955590329E-01 + 0.1499768989201429E-01 + 0.1497283382463022E-01 + 0.1494802131692580E-01 + 0.1492325230971424E-01 + 0.1489852673196929E-01 + 0.1487384451997674E-01 + 0.1484920564145962E-01 + 0.1482461007239666E-01 + 0.1480005777759262E-01 + 0.1477554869839501E-01 + 0.1475108277348714E-01 + 0.1472665994963483E-01 + 0.1470228018250925E-01 + 0.1467794342796492E-01 + 0.1465364963905609E-01 + 0.1462939876720229E-01 + 0.1460519076396873E-01 + 0.1458102558170545E-01 + 0.1455690317299387E-01 + 0.1453282349041560E-01 + 0.1450878648655256E-01 + 0.1448479211397127E-01 + 0.1446084032472631E-01 + 0.1443693107025252E-01 + 0.1441306430218269E-01 + 0.1438923997487174E-01 + 0.1436545804442512E-01 + 0.1434171846475439E-01 + 0.1431802117807012E-01 + 0.1429436612276763E-01 + 0.1427075324672007E-01 + 0.1424718252217860E-01 + 0.1422365392478601E-01 + 0.1420016741077163E-01 + 0.1417672291053523E-01 + 0.1415332035428567E-01 + 0.1412995969336355E-01 + 0.1410664089406268E-01 + 0.1408336392091037E-01 + 0.1406012872619622E-01 + 0.1403693525775586E-01 + 0.1401378346538247E-01 + 0.1399067330447229E-01 + 0.1396760473129899E-01 + 0.1394457769618580E-01 + 0.1392159214074842E-01 + 0.1389864800678314E-01 + 0.1387574524935058E-01 + 0.1385288383383178E-01 + 0.1383006372330846E-01 + 0.1380728486396349E-01 + 0.1378454719515853E-01 + 0.1376185066110994E-01 + 0.1373919522148462E-01 + 0.1371658083894939E-01 + 0.1369400747253738E-01 + 0.1367147507542864E-01 + 0.1364898359993162E-01 + 0.1362653299234038E-01 + 0.1360412319380670E-01 + 0.1358175414772834E-01 + 0.1355942581527029E-01 + 0.1353713816553813E-01 + 0.1351489115941283E-01 + 0.1349268472863392E-01 + 0.1347051879875098E-01 + 0.1344839331601091E-01 + 0.1342630826339460E-01 + 0.1340426362624049E-01 + 0.1338225936070061E-01 + 0.1336029539551343E-01 + 0.1333837166074570E-01 + 0.1331648810625676E-01 + 0.1329464469168398E-01 + 0.1327284137471405E-01 + 0.1325107810509890E-01 + 0.1322935483068154E-01 + 0.1320767150418434E-01 + 0.1318602808788355E-01 + 0.1316442454474067E-01 + 0.1314286082741041E-01 + 0.1312133687791447E-01 + 0.1309985263873434E-01 + 0.1307840806121141E-01 + 0.1305700310151778E-01 + 0.1303563771460698E-01 + 0.1301431184988612E-01 + 0.1299302545527480E-01 + 0.1297177848409234E-01 + 0.1295057090133809E-01 + 0.1292940267295695E-01 + 0.1290827374800643E-01 + 0.1288718405640659E-01 + 0.1286613352960933E-01 + 0.1284512212618431E-01 + 0.1282414982099999E-01 + 0.1280321658467860E-01 + 0.1278232236604851E-01 + 0.1276146710730399E-01 + 0.1274065075055273E-01 + 0.1271987323769912E-01 + 0.1269913451102809E-01 + 0.1267843452735671E-01 + 0.1265777326159746E-01 + 0.1263715068740070E-01 + 0.1261656674957839E-01 + 0.1259602137385722E-01 + 0.1257551449216656E-01 + 0.1255504607202918E-01 + 0.1253461609298929E-01 + 0.1251422452192579E-01 + 0.1249387129210045E-01 + 0.1247355633162004E-01 + 0.1245327958418459E-01 + 0.1243304101483907E-01 + 0.1241284058945874E-01 + 0.1239267826411883E-01 + 0.1237255398775960E-01 + 0.1235246770956861E-01 + 0.1233241938121620E-01 + 0.1231240895530578E-01 + 0.1229243638500112E-01 + 0.1227250162511029E-01 + 0.1225260463064851E-01 + 0.1223274535140347E-01 + 0.1221292372929118E-01 + 0.1219313970638844E-01 + 0.1217339323765922E-01 + 0.1215368428838194E-01 + 0.1213401282165902E-01 + 0.1211437878383188E-01 + 0.1209478211426549E-01 + 0.1207522275705067E-01 + 0.1205570067181978E-01 + 0.1203621582132829E-01 + 0.1201676816461920E-01 + 0.1199735765458037E-01 + 0.1197798424324302E-01 + 0.1195864787752413E-01 + 0.1193934849984299E-01 + 0.1192008605428310E-01 + 0.1190086049879008E-01 + 0.1188167179769489E-01 + 0.1186251991148533E-01 + 0.1184340478652614E-01 + 0.1182432636598620E-01 + 0.1180528459488842E-01 + 0.1178627942164429E-01 + 0.1176731079564153E-01 + 0.1174837867957064E-01 + 0.1172948304897314E-01 + 0.1171062387579173E-01 + 0.1169180109658468E-01 + 0.1167301462990283E-01 + 0.1165426440409371E-01 + 0.1163555038783115E-01 + 0.1161687255992380E-01 + 0.1159823088648810E-01 + 0.1157962530804056E-01 + 0.1156105576237535E-01 + 0.1154252219641934E-01 + 0.1152402456678978E-01 + 0.1150556283004322E-01 + 0.1148713693761536E-01 + 0.1146874683806678E-01 + 0.1145039248207113E-01 + 0.1143207382999721E-01 + 0.1141379084492338E-01 + 0.1139554348393513E-01 + 0.1137733169075814E-01 + 0.1135915540749879E-01 + 0.1134101458202003E-01 + 0.1132290916889476E-01 + 0.1130483912294920E-01 + 0.1128680439762981E-01 + 0.1126880494552957E-01 + 0.1125084071876348E-01 + 0.1123291166710242E-01 + 0.1121501773959292E-01 + 0.1119715888958782E-01 + 0.1117933508106738E-01 + 0.1116154627924361E-01 + 0.1114379243506367E-01 + 0.1112607348120278E-01 + 0.1110838935067889E-01 + 0.1109073999577698E-01 + 0.1107312538190371E-01 + 0.1105554547275003E-01 + 0.1103800022094480E-01 + 0.1102048957525567E-01 + 0.1100301348559802E-01 + 0.1098557190503826E-01 + 0.1096816478715620E-01 + 0.1095079208456253E-01 + 0.1093345374850295E-01 + 0.1091614973030967E-01 + 0.1089887998403230E-01 + 0.1088164446575596E-01 + 0.1086444312981419E-01 + 0.1084727591922657E-01 + 0.1083014277263393E-01 + 0.1081304363657216E-01 + 0.1079597848159412E-01 + 0.1077894728253349E-01 + 0.1076194999841924E-01 + 0.1074498656378758E-01 + 0.1072805691169775E-01 + 0.1071116098564938E-01 + 0.1069429873773783E-01 + 0.1067747012213252E-01 + 0.1066067510579435E-01 + 0.1064391366117268E-01 + 0.1062718575224148E-01 + 0.1061049131426560E-01 + 0.1059383027662173E-01 + 0.1057720258208107E-01 + 0.1056060819627688E-01 + 0.1054404708640904E-01 + 0.1052751920677072E-01 + 0.1051102449998061E-01 + 0.1049456290877965E-01 + 0.1047813438019764E-01 + 0.1046173886330009E-01 + 0.1044537631189699E-01 + 0.1042904669760049E-01 + 0.1041274999603958E-01 + 0.1039648616457477E-01 + 0.1038025512618429E-01 + 0.1036405680124856E-01 + 0.1034789113750847E-01 + 0.1033175810988918E-01 + 0.1031565769255264E-01 + 0.1029958984247924E-01 + 0.1028355450764313E-01 + 0.1026755163573869E-01 + 0.1025158117361991E-01 + 0.1023564306792970E-01 + 0.1021973726670864E-01 + 0.1020386372090165E-01 + 0.1018802238200394E-01 + 0.1017221320661218E-01 + 0.1015643615689036E-01 + 0.1014069119406479E-01 + 0.1012497826709746E-01 + 0.1010929731786040E-01 + 0.1009364829018222E-01 + 0.1007803113742931E-01 + 0.1006244581574005E-01 + 0.1004689227898474E-01 + 0.1003137047582124E-01 + 0.1001588035434838E-01 + 0.1000042186823025E-01 + 0.9984994977803435E-02 + 0.9969599643070676E-02 + 0.9954235815722010E-02 + 0.9938903442153922E-02 + 0.9923602469657471E-02 + 0.9908332850623619E-02 + 0.9893094539096378E-02 + 0.9877887488554038E-02 + 0.9862711651033218E-02 + 0.9847566978356994E-02 + 0.9832453422844644E-02 + 0.9817370937469361E-02 + 0.9802319475138024E-02 + 0.9787298987310427E-02 + 0.9772309424432121E-02 + 0.9757350737315321E-02 + 0.9742422879023950E-02 + 0.9727525803432556E-02 + 0.9712659463804828E-02 + 0.9697823811677026E-02 + 0.9683018798293603E-02 + 0.9668244375443175E-02 + 0.9653500495702819E-02 + 0.9638787111707046E-02 + 0.9624104176025096E-02 + 0.9609451641175786E-02 + 0.9594829459585592E-02 + 0.9580237583089300E-02 + 0.9565675963285329E-02 + 0.9551144551970211E-02 + 0.9536643301563476E-02 + 0.9522172164606477E-02 + 0.9507731093641404E-02 + 0.9493320041211833E-02 + 0.9478938959832972E-02 + 0.9464587801526660E-02 + 0.9450266517896820E-02 + 0.9435975060616880E-02 + 0.9421713381962499E-02 + 0.9407481434475727E-02 + 0.9393279170699762E-02 + 0.9379106543177745E-02 + 0.9364963504449106E-02 + 0.9350850006730154E-02 + 0.9336766001669519E-02 + 0.9322711440881465E-02 + 0.9308686276452654E-02 + 0.9294690460909026E-02 + 0.9280723946793474E-02 + 0.9266786686650288E-02 + 0.9252878633024480E-02 + 0.9238999738296220E-02 + 0.9225149954205056E-02 + 0.9211329232337578E-02 + 0.9197537524591184E-02 + 0.9183774783465619E-02 + 0.9170040961527276E-02 + 0.9156336011285113E-02 + 0.9142659885189264E-02 + 0.9129012535654525E-02 + 0.9115393914793485E-02 + 0.9101803974555685E-02 + 0.9088242666775605E-02 + 0.9074709942796686E-02 + 0.9061205753835171E-02 + 0.9047730052114920E-02 + 0.9034282792017212E-02 + 0.9020863928130842E-02 + 0.9007473413020303E-02 + 0.8994111196977750E-02 + 0.8980777230348124E-02 + 0.8967471465286719E-02 + 0.8954193855026251E-02 + 0.8940944352525102E-02 + 0.8927722909349713E-02 + 0.8914529476649781E-02 + 0.8901364006238826E-02 + 0.8888226451503078E-02 + 0.8875116766031088E-02 + 0.8862034902533482E-02 + 0.8848980812637915E-02 + 0.8835954447906797E-02 + 0.8822955759920561E-02 + 0.8809984700271571E-02 + 0.8797041220787797E-02 + 0.8784125274563753E-02 + 0.8771236815117018E-02 + 0.8758375795466131E-02 + 0.8745542167319314E-02 + 0.8732735882176595E-02 + 0.8719956891720656E-02 + 0.8707205147881627E-02 + 0.8694480602616071E-02 + 0.8681783207999304E-02 + 0.8669112916192363E-02 + 0.8656469679525236E-02 + 0.8643853451331591E-02 + 0.8631264185317370E-02 + 0.8618701834393017E-02 + 0.8606166349149975E-02 + 0.8593657679788045E-02 + 0.8581175778037785E-02 + 0.8568720597912334E-02 + 0.8556292093474754E-02 + 0.8543890216656212E-02 + 0.8531514917697866E-02 + 0.8519166147120185E-02 + 0.8506843857632928E-02 + 0.8494548002847754E-02 + 0.8482278536153491E-02 + 0.8470035410208549E-02 + 0.8457818577514333E-02 + 0.8445627989909299E-02 + 0.8433463598143485E-02 + 0.8421325352945724E-02 + 0.8409213206496068E-02 + 0.8397127112238765E-02 + 0.8385067023583785E-02 + 0.8373032893364274E-02 + 0.8361024674150404E-02 + 0.8349042318137157E-02 + 0.8337085776172772E-02 + 0.8325154998813783E-02 + 0.8313249937712628E-02 + 0.8301370546504655E-02 + 0.8289516778974114E-02 + 0.8277688587631184E-02 + 0.8265885923767005E-02 + 0.8254108738725016E-02 + 0.8242356984706500E-02 + 0.8230630614344847E-02 + 0.8218929580257017E-02 + 0.8207253834980580E-02 + 0.8195603331031078E-02 + 0.8183978020640803E-02 + 0.8172377855476317E-02 + 0.8160802787154340E-02 + 0.8149252767728516E-02 + 0.8137727749711759E-02 + 0.8126227685640854E-02 + 0.8114752528073046E-02 + 0.8103302229576897E-02 + 0.8091876742561654E-02 + 0.8080476018723793E-02 + 0.8069100009562611E-02 + 0.8057748666975142E-02 + 0.8046421943735977E-02 + 0.8035119792712687E-02 + 0.8023842166040261E-02 + 0.8012589015007976E-02 + 0.8001360290984326E-02 + 0.7990155946707276E-02 + 0.7978975935753805E-02 + 0.7967820211444264E-02 + 0.7956688725760208E-02 + 0.7945581430266985E-02 + 0.7934498276538957E-02 + 0.7923439216172766E-02 + 0.7912404200789933E-02 + 0.7901393182804613E-02 + 0.7890406115636635E-02 + 0.7879442952685563E-02 + 0.7868503646299102E-02 + 0.7857588148115613E-02 + 0.7846696409741277E-02 + 0.7835828382677366E-02 + 0.7824984018389847E-02 + 0.7814163268945285E-02 + 0.7803366088036023E-02 + 0.7792592429591211E-02 + 0.7781842245902969E-02 + 0.7771115486980261E-02 + 0.7760412102872096E-02 + 0.7749732046595151E-02 + 0.7739075273367588E-02 + 0.7728441737816772E-02 + 0.7717831390577091E-02 + 0.7707244180752733E-02 + 0.7696680058531258E-02 + 0.7686138977365982E-02 + 0.7675620891306878E-02 + 0.7665125753561766E-02 + 0.7654653516046150E-02 + 0.7644204130604887E-02 + 0.7633777549721334E-02 + 0.7623373726399457E-02 + 0.7612992613420762E-02 + 0.7602634161914125E-02 + 0.7592298322306588E-02 + 0.7581985045707532E-02 + 0.7571694285515617E-02 + 0.7561425995595256E-02 + 0.7551180128888786E-02 + 0.7540956636780349E-02 + 0.7530755470540989E-02 + 0.7520576582151105E-02 + 0.7510419924226675E-02 + 0.7500285449396595E-02 + 0.7490173110215348E-02 + 0.7480082859202442E-02 + 0.7470014648711063E-02 + 0.7459968430476026E-02 + 0.7449944156091437E-02 + 0.7439941777468363E-02 + 0.7429961247108659E-02 + 0.7420002517576117E-02 + 0.7410065541378606E-02 + 0.7400150270968888E-02 + 0.7390256658761847E-02 + 0.7380384656859760E-02 + 0.7370534217202655E-02 + 0.7360705291617630E-02 + 0.7350897831469214E-02 + 0.7341111788008776E-02 + 0.7331347113478764E-02 + 0.7321603762160454E-02 + 0.7311881688518744E-02 + 0.7302180845230164E-02 + 0.7292501183038082E-02 + 0.7282842652639032E-02 + 0.7273205205220927E-02 + 0.7263588792252927E-02 + 0.7253993365702507E-02 + 0.7244418879823156E-02 + 0.7234865289520560E-02 + 0.7225332548025888E-02 + 0.7215820604762114E-02 + 0.7206329408712087E-02 + 0.7196858911630465E-02 + 0.7187409068563579E-02 + 0.7177979834489322E-02 + 0.7168571161456850E-02 + 0.7159182999668490E-02 + 0.7149815299616592E-02 + 0.7140468013435569E-02 + 0.7131141093787326E-02 + 0.7121834493545038E-02 + 0.7112548166113339E-02 + 0.7103282064948381E-02 + 0.7094036142293545E-02 + 0.7084810348809489E-02 + 0.7075604635152041E-02 + 0.7066418953284704E-02 + 0.7057253256078509E-02 + 0.7048107496343896E-02 + 0.7038981626438013E-02 + 0.7029875598556600E-02 + 0.7020789364998155E-02 + 0.7011722878348775E-02 + 0.7002676091235932E-02 + 0.6993648955870851E-02 + 0.6984641423867398E-02 + 0.6975653446828939E-02 + 0.6966684976886124E-02 + 0.6957735966572000E-02 + 0.6948806368432059E-02 + 0.6939896135026763E-02 + 0.6931005218922346E-02 + 0.6922133572457913E-02 + 0.6913281147267867E-02 + 0.6904447894858402E-02 + 0.6895633767245033E-02 + 0.6886838717247755E-02 + 0.6878062697707463E-02 + 0.6869305660609085E-02 + 0.6860567557219614E-02 + 0.6851848338989342E-02 + 0.6843147958847712E-02 + 0.6834466370371812E-02 + 0.6825803526760267E-02 + 0.6817159379896205E-02 + 0.6808533881378676E-02 + 0.6799926982763036E-02 + 0.6791338635528721E-02 + 0.6782768791209854E-02 + 0.6774217402582375E-02 + 0.6765684423566514E-02 + 0.6757169807808673E-02 + 0.6748673506395909E-02 + 0.6740195469176314E-02 + 0.6731735646931611E-02 + 0.6723293994062627E-02 + 0.6714870465822514E-02 + 0.6706465015502660E-02 + 0.6698077592629731E-02 + 0.6689708146404668E-02 + 0.6681356628392640E-02 + 0.6673022992551686E-02 + 0.6664707192795899E-02 + 0.6656409181669919E-02 + 0.6648128910986452E-02 + 0.6639866332740124E-02 + 0.6631621399733831E-02 + 0.6623394064982190E-02 + 0.6615184280735688E-02 + 0.6606991997625261E-02 + 0.6598817166131160E-02 + 0.6590659738298575E-02 + 0.6582519667912580E-02 + 0.6574396908697922E-02 + 0.6566291412820480E-02 + 0.6558203131527536E-02 + 0.6550132016248737E-02 + 0.6542078019340247E-02 + 0.6534041093434119E-02 + 0.6526021191138120E-02 + 0.6518018265003085E-02 + 0.6510032267558570E-02 + 0.6502063150887358E-02 + 0.6494110866526471E-02 + 0.6486175366047636E-02 + 0.6478256601817756E-02 + 0.6470354526719843E-02 + 0.6462469093440808E-02 + 0.6454600253577753E-02 + 0.6446747958368081E-02 + 0.6438912159641324E-02 + 0.6431092810765376E-02 + 0.6423289865333865E-02 + 0.6415503276069040E-02 + 0.6407732994523188E-02 + 0.6399978972186551E-02 + 0.6392241160817948E-02 + 0.6384519512368001E-02 + 0.6376813978814023E-02 + 0.6369124512267298E-02 + 0.6361451064888697E-02 + 0.6353793589191325E-02 + 0.6346152038703067E-02 + 0.6338526367107877E-02 + 0.6330916526733866E-02 + 0.6323322467906900E-02 + 0.6315744140932447E-02 + 0.6308181498285668E-02 + 0.6300634494145170E-02 + 0.6293103082337428E-02 + 0.6285587214045021E-02 + 0.6278086839372763E-02 + 0.6270601909219726E-02 + 0.6263132377038712E-02 + 0.6255678196778296E-02 + 0.6248239321400239E-02 + 0.6240815702262071E-02 + 0.6233407290615418E-02 + 0.6226014038448859E-02 + 0.6218635898386783E-02 + 0.6211272823063478E-02 + 0.6203924765031412E-02 + 0.6196591676806142E-02 + 0.6189273510732186E-02 + 0.6181970218545123E-02 + 0.6174681751848361E-02 + 0.6167408062557983E-02 + 0.6160149103150218E-02 + 0.6152904826160373E-02 + 0.6145675184140655E-02 + 0.6138460129659284E-02 + 0.6131259615206222E-02 + 0.6124073592610396E-02 + 0.6116902013371073E-02 + 0.6109744829219700E-02 + 0.6102601992818913E-02 + 0.6095473457058330E-02 + 0.6088359174312074E-02 + 0.6081259095935165E-02 + 0.6074173173208144E-02 + 0.6067101358528529E-02 + 0.6060043605456564E-02 + 0.6052999867470249E-02 + 0.6045970096757292E-02 + 0.6038954244795197E-02 + 0.6031952263127078E-02 + 0.6024964103618562E-02 + 0.6017989718224742E-02 + 0.6011029058959892E-02 + 0.6004082077967553E-02 + 0.5997148727431640E-02 + 0.5990228960227642E-02 + 0.5983322730021881E-02 + 0.5976429990330189E-02 + 0.5969550692593582E-02 + 0.5962684786994466E-02 + 0.5955832224242953E-02 + 0.5948992957736737E-02 + 0.5942166941696533E-02 + 0.5935354129251918E-02 + 0.5928554470894804E-02 + 0.5921767916771779E-02 + 0.5914994418662990E-02 + 0.5908233930401120E-02 + 0.5901486405821120E-02 + 0.5894751797195539E-02 + 0.5888030055753389E-02 + 0.5881321132876165E-02 + 0.5874624980888190E-02 + 0.5867941552436028E-02 + 0.5861270800133173E-02 + 0.5854612676503611E-02 + 0.5847967134048620E-02 + 0.5841334124915766E-02 + 0.5834713600763974E-02 + 0.5828105513248810E-02 + 0.5821509814478234E-02 + 0.5814926456892554E-02 + 0.5808355392986606E-02 + 0.5801796575542716E-02 + 0.5795249957451864E-02 + 0.5788715491030785E-02 + 0.5782193126887907E-02 + 0.5775682815343477E-02 + 0.5769184508308944E-02 + 0.5762698160113922E-02 + 0.5756223725194283E-02 + 0.5749761156436870E-02 + 0.5743310405477429E-02 + 0.5736871423815498E-02 + 0.5730444162260152E-02 + 0.5724028571330426E-02 + 0.5717624602427058E-02 + 0.5711232209869330E-02 + 0.5704851348554766E-02 + 0.5698481971587270E-02 + 0.5692124029069092E-02 + 0.5685777470940920E-02 + 0.5679442249471309E-02 + 0.5673118318994559E-02 + 0.5666805633536591E-02 + 0.5660504144191768E-02 + 0.5654213800691087E-02 + 0.5647934553765783E-02 + 0.5641666357856051E-02 + 0.5635409168235191E-02 + 0.5629162938156274E-02 + 0.5622927617145422E-02 + 0.5616703154433266E-02 + 0.5610489501590383E-02 + 0.5604286612468197E-02 + 0.5598094440893534E-02 + 0.5591912939657856E-02 + 0.5585742061020697E-02 + 0.5579581757088405E-02 + 0.5573431979357297E-02 + 0.5567292679172590E-02 + 0.5561163808637613E-02 + 0.5555045321399361E-02 + 0.5548937171233165E-02 + 0.5542839310364527E-02 + 0.5536751689359556E-02 + 0.5530674258845142E-02 + 0.5524606970841611E-02 + 0.5518549778159042E-02 + 0.5512502633576712E-02 + 0.5506465489692173E-02 + 0.5500438299049513E-02 + 0.5494421013844645E-02 + 0.5488413585489692E-02 + 0.5482415965322961E-02 + 0.5476428105728340E-02 + 0.5470449960319527E-02 + 0.5464481482647083E-02 + 0.5458522624775326E-02 + 0.5452573337840577E-02 + 0.5446633573244538E-02 + 0.5440703283812277E-02 + 0.5434782422818431E-02 + 0.5428870942712170E-02 + 0.5422968793885041E-02 + 0.5417075926466813E-02 + 0.5411192292639363E-02 + 0.5405317847237086E-02 + 0.5399452545044133E-02 + 0.5393596337974698E-02 + 0.5387749175970440E-02 + 0.5381911009402489E-02 + 0.5376081791302405E-02 + 0.5370261475639241E-02 + 0.5364450015771062E-02 + 0.5358647363364519E-02 + 0.5352853469801390E-02 + 0.5347068286696459E-02 + 0.5341291765995605E-02 + 0.5335523859678055E-02 + 0.5329764519840909E-02 + 0.5324013698670368E-02 + 0.5318271348496433E-02 + 0.5312537422548475E-02 + 0.5306811874407399E-02 + 0.5301094657024632E-02 + 0.5295385721417142E-02 + 0.5289685018242606E-02 + 0.5283992498812338E-02 + 0.5278308115459978E-02 + 0.5272631820656164E-02 + 0.5266963567678894E-02 + 0.5261303310476942E-02 + 0.5255651002563964E-02 + 0.5250006594214153E-02 + 0.5244370034297940E-02 + 0.5238741273127858E-02 + 0.5233120265958653E-02 + 0.5227506969066899E-02 + 0.5221901336137785E-02 + 0.5216303316392066E-02 + 0.5210712858750078E-02 + 0.5205129914901994E-02 + 0.5199554439066035E-02 + 0.5193986385306237E-02 + 0.5188425705714494E-02 + 0.5182872351437585E-02 + 0.5177326273867897E-02 + 0.5171787425353837E-02 + 0.5166255758471752E-02 + 0.5160731225890359E-02 + 0.5155213780453884E-02 + 0.5149703374972551E-02 + 0.5144199961018123E-02 + 0.5138703488920746E-02 + 0.5133213909250132E-02 + 0.5127731175219945E-02 + 0.5122255241442854E-02 + 0.5116786062011997E-02 + 0.5111323588766843E-02 + 0.5105867772951605E-02 + 0.5100418565991268E-02 + 0.5094975919690135E-02 + 0.5089539785915949E-02 + 0.5084110116967762E-02 + 0.5078686865619613E-02 + 0.5073269984580495E-02 + 0.5067859425649152E-02 + 0.5062455140093149E-02 + 0.5057057079503569E-02 + 0.5051665197029129E-02 + 0.5046279446275173E-02 + 0.5040899780262347E-02 + 0.5035526150654565E-02 + 0.5030158508930105E-02 + 0.5024796806775723E-02 + 0.5019440996130488E-02 + 0.5014091028958844E-02 + 0.5008746857344262E-02 + 0.5003408433446692E-02 + 0.4998075709621028E-02 + 0.4992748639240991E-02 + 0.4987427176012153E-02 + 0.4982111272751601E-02 + 0.4976800879992601E-02 + 0.4971495947946757E-02 + 0.4966196428472316E-02 + 0.4960902275617123E-02 + 0.4955613443411958E-02 + 0.4950329883660124E-02 + 0.4945051546589586E-02 + 0.4939778382774506E-02 + 0.4934510345017362E-02 + 0.4929247386931245E-02 + 0.4923989461877095E-02 + 0.4918736522493629E-02 + 0.4913488521277779E-02 + 0.4908245410009790E-02 + 0.4903007139421804E-02 + 0.4897773660262939E-02 + 0.4892544924804676E-02 + 0.4887320886502266E-02 + 0.4882101498752409E-02 + 0.4876886714362697E-02 + 0.4871676485902862E-02 + 0.4866470765519448E-02 + 0.4861269504020410E-02 + 0.4856072651967152E-02 + 0.4850880161114440E-02 + 0.4845691985138176E-02 + 0.4840508077811111E-02 + 0.4835328391550221E-02 + 0.4830152877613920E-02 + 0.4824981487351464E-02 + 0.4819814173055126E-02 + 0.4814650887438432E-02 + 0.4809491583124085E-02 + 0.4804336212407828E-02 + 0.4799184727515151E-02 + 0.4794037080830890E-02 + 0.4788893225022497E-02 + 0.4783753112752836E-02 + 0.4778616695993339E-02 + 0.4773483926066307E-02 + 0.4768354754224918E-02 + 0.4763229131357982E-02 + 0.4758107008174451E-02 + 0.4752988337475419E-02 + 0.4747873080280323E-02 + 0.4742761199725404E-02 + 0.4737652671429403E-02 + 0.4732547495437539E-02 + 0.4727445674566445E-02 + 0.4722347210153393E-02 + 0.4717252102010288E-02 + 0.4712160349776410E-02 + 0.4707071952133758E-02 + 0.4701986907242681E-02 + 0.4696905213397090E-02 + 0.4691826869498038E-02 + 0.4686751874613736E-02 + 0.4681680228043223E-02 + 0.4676611929584579E-02 + 0.4671546979081859E-02 + 0.4666485375822665E-02 + 0.4661427118464339E-02 + 0.4656372205702818E-02 + 0.4651320637000673E-02 + 0.4646272412281009E-02 + 0.4641227531319975E-02 + 0.4636185993146946E-02 + 0.4631147796564461E-02 + 0.4626112940467355E-02 + 0.4621081423971395E-02 + 0.4616053246221611E-02 + 0.4611028406253878E-02 + 0.4606006902968223E-02 + 0.4600988735288387E-02 + 0.4595973902525484E-02 + 0.4590962404246859E-02 + 0.4585954240071775E-02 + 0.4580949409877019E-02 + 0.4575947913625456E-02 + 0.4570949750729806E-02 + 0.4565954919144351E-02 + 0.4560963416610948E-02 + 0.4555975242031638E-02 + 0.4550990395895659E-02 + 0.4546008878663173E-02 + 0.4541030688817656E-02 + 0.4536055823404230E-02 + 0.4531084280051458E-02 + 0.4526116060127766E-02 + 0.4521151166404057E-02 + 0.4516189599861818E-02 + 0.4511231356210507E-02 + 0.4506276430257636E-02 + 0.4501324820292203E-02 + 0.4496376529842788E-02 + 0.4491431562575325E-02 + 0.4486489917467978E-02 + 0.4481551589749061E-02 + 0.4476616575119211E-02 + 0.4471684873201633E-02 + 0.4466756485251484E-02 + 0.4461831412240468E-02 + 0.4456909654195782E-02 + 0.4451991210935764E-02 + 0.4447076081114991E-02 + 0.4442164261459648E-02 + 0.4437255748680814E-02 + 0.4432350542552848E-02 + 0.4427448645542560E-02 + 0.4422550059675050E-02 + 0.4417654782909941E-02 + 0.4412762811335347E-02 + 0.4407874142057730E-02 + 0.4402988775926772E-02 + 0.4398106714628227E-02 + 0.4393227958335552E-02 + 0.4388352504459997E-02 + 0.4383480350212063E-02 + 0.4378611494822042E-02 + 0.4373745939470290E-02 + 0.4368883685172158E-02 + 0.4364024730846023E-02 + 0.4359169074343721E-02 + 0.4354316713665229E-02 + 0.4349467647445337E-02 + 0.4344621874485154E-02 + 0.4339779394340510E-02 + 0.4334940208088667E-02 + 0.4330104316897224E-02 + 0.4325271719564249E-02 + 0.4320442412374953E-02 + 0.4315616391894716E-02 + 0.4310793658574859E-02 + 0.4305974215047263E-02 + 0.4301158062998100E-02 + 0.4296345199732707E-02 + 0.4291535621327513E-02 + 0.4286729325435715E-02 + 0.4281926313223563E-02 + 0.4277126586270566E-02 + 0.4272330144268195E-02 + 0.4267536984708406E-02 + 0.4262747105115397E-02 + 0.4257960504729194E-02 + 0.4253177183850815E-02 + 0.4248397142559565E-02 + 0.4243620379739221E-02 + 0.4238846893899167E-02 + 0.4234076683920417E-02 + 0.4229309749600752E-02 + 0.4224546090865139E-02 + 0.4219785707200051E-02 + 0.4215028597530585E-02 + 0.4210274760740985E-02 + 0.4205524195663324E-02 + 0.4200776901094162E-02 + 0.4196032875994678E-02 + 0.4191292120254639E-02 + 0.4186554634086947E-02 + 0.4181820417056120E-02 + 0.4177089466953010E-02 + 0.4172361781299721E-02 + 0.4167637359102841E-02 + 0.4162916201458482E-02 + 0.4158198309477336E-02 + 0.4153483682224437E-02 + 0.4148772317233395E-02 + 0.4144064212278050E-02 + 0.4139359366872473E-02 + 0.4134657781204414E-02 + 0.4129959455181044E-02 + 0.4125264387853203E-02 + 0.4120572578107626E-02 + 0.4115884024702206E-02 + 0.4111198726195252E-02 + 0.4106516681213055E-02 + 0.4101837889792744E-02 + 0.4097162353132386E-02 + 0.4092490072039152E-02 + 0.4087821044329293E-02 + 0.4083155266536353E-02 + 0.4078492736111977E-02 + 0.4073833453624679E-02 + 0.4069177420288540E-02 + 0.4064524636396621E-02 + 0.4059875100670856E-02 + 0.4055228811685420E-02 + 0.4050585768124067E-02 + 0.4045945968769616E-02 + 0.4041309412549515E-02 + 0.4036676099504532E-02 + 0.4032046030203560E-02 + 0.4027419204420567E-02 + 0.4022795618928889E-02 + 0.4018175269819704E-02 + 0.4013558155656322E-02 + 0.4008944279651939E-02 + 0.4004333645343160E-02 + 0.3999726251944233E-02 + 0.3995122094377281E-02 + 0.3990521167949134E-02 + 0.3985923473024012E-02 + 0.3981329012615578E-02 + 0.3976737788636359E-02 + 0.3972149798290110E-02 + 0.3967565037559013E-02 + 0.3962983504124637E-02 + 0.3958405199197761E-02 + 0.3953830124356990E-02 + 0.3949258279246783E-02 + 0.3944689661402032E-02 + 0.3940124268406796E-02 + 0.3935562099411470E-02 + 0.3931003154471430E-02 + 0.3926447433565224E-02 + 0.3921894936261754E-02 + 0.3917345662010344E-02 + 0.3912799610213157E-02 + 0.3908256780164015E-02 + 0.3903717171120880E-02 + 0.3899180781664700E-02 + 0.3894647609565197E-02 + 0.3890117652723157E-02 + 0.3885590911081244E-02 + 0.3881067385881640E-02 + 0.3876547077875721E-02 + 0.3872029985152786E-02 + 0.3867516104941612E-02 + 0.3863005435494100E-02 + 0.3858497977665126E-02 + 0.3853993732680960E-02 + 0.3849492700312676E-02 + 0.3844994878414865E-02 + 0.3840500264777677E-02 + 0.3836008858054948E-02 + 0.3831520657505427E-02 + 0.3827035662423492E-02 + 0.3822553872238071E-02 + 0.3818075286426656E-02 + 0.3813599904579114E-02 + 0.3809127726602119E-02 + 0.3804658752441284E-02 + 0.3800192981211345E-02 + 0.3795730410823645E-02 + 0.3791271039180946E-02 + 0.3786814865468643E-02 + 0.3782361889859964E-02 + 0.3777912112388366E-02 + 0.3773465532014639E-02 + 0.3769022147271367E-02 + 0.3764581956991453E-02 + 0.3760144960952428E-02 + 0.3755711159109707E-02 + 0.3751280550983021E-02 + 0.3746853135397648E-02 + 0.3742428911132001E-02 + 0.3738007877227506E-02 + 0.3733590032948209E-02 + 0.3729175377492849E-02 + 0.3724763909533792E-02 + 0.3720355627510736E-02 + 0.3715950530400249E-02 + 0.3711548619054365E-02 + 0.3707149894714977E-02 + 0.3702754357014496E-02 + 0.3698362002758651E-02 + 0.3693972828582221E-02 + 0.3689586833460957E-02 + 0.3685204018547233E-02 + 0.3680824384871983E-02 + 0.3676447931797036E-02 + 0.3672074657868420E-02 + 0.3667704561686472E-02 + 0.3663337642083886E-02 + 0.3658973897953158E-02 + 0.3654613328597289E-02 + 0.3650255934114522E-02 + 0.3645901714640767E-02 + 0.3641550669035324E-02 + 0.3637202794853724E-02 + 0.3632858089839128E-02 + 0.3628516554006928E-02 + 0.3624178188598410E-02 + 0.3619842994287445E-02 + 0.3615510969241881E-02 + 0.3611182110956685E-02 + 0.3606856417722890E-02 + 0.3602533889535082E-02 + 0.3598214526585085E-02 + 0.3593898328424683E-02 + 0.3589585293887665E-02 + 0.3585275421774997E-02 + 0.3580968710942634E-02 + 0.3576665160279195E-02 + 0.3572364768817484E-02 + 0.3568067536283154E-02 + 0.3563773462608983E-02 + 0.3559482547346219E-02 + 0.3555194789142854E-02 + 0.3550910186537993E-02 + 0.3546628738826024E-02 + 0.3542350446232263E-02 + 0.3538075308905254E-02 + 0.3533803325401027E-02 + 0.3529534493232495E-02 + 0.3525268810343659E-02 + 0.3521006277093233E-02 + 0.3516746894646205E-02 + 0.3512490663345658E-02 + 0.3508237581377399E-02 + 0.3503987646588016E-02 + 0.3499740857260527E-02 + 0.3495497212269269E-02 + 0.3491256710606639E-02 + 0.3487019352296841E-02 + 0.3482785138107574E-02 + 0.3478554068515841E-02 + 0.3474326142154801E-02 + 0.3470101356972846E-02 + 0.3465879711122202E-02 + 0.3461661203351651E-02 + 0.3457445832532347E-02 + 0.3453233598316899E-02 + 0.3449024501522535E-02 + 0.3444818542944987E-02 + 0.3440615721560198E-02 + 0.3436416034902354E-02 + 0.3432219480756235E-02 + 0.3428026058855393E-02 + 0.3423835769735603E-02 + 0.3419648613312505E-02 + 0.3415464587487396E-02 + 0.3411283689772241E-02 + 0.3407105918896348E-02 + 0.3402931275586436E-02 + 0.3398759760696697E-02 + 0.3394591374029838E-02 + 0.3390426114473196E-02 + 0.3386263980807613E-02 + 0.3382104971241961E-02 + 0.3377949083724549E-02 + 0.3373796316726796E-02 + 0.3369646670608459E-02 + 0.3365500146147595E-02 + 0.3361356743500817E-02 + 0.3357216461700908E-02 + 0.3353079299637747E-02 + 0.3348945255676489E-02 + 0.3344814327680479E-02 + 0.3340686513732485E-02 + 0.3336561813944652E-02 + 0.3332440229450872E-02 + 0.3328321760802418E-02 + 0.3324206406182790E-02 + 0.3320094163187384E-02 + 0.3315985030133071E-02 + 0.3311879006776394E-02 + 0.3307776093043249E-02 + 0.3303676288820166E-02 + 0.3299579593952319E-02 + 0.3295486008157339E-02 + 0.3291395529952215E-02 + 0.3287308157186878E-02 + 0.3283223888057369E-02 + 0.3279142722337960E-02 + 0.3275064660241005E-02 + 0.3270989701472633E-02 + 0.3266917844622626E-02 + 0.3262849088159198E-02 + 0.3258783431380174E-02 + 0.3254720874540651E-02 + 0.3250661417796009E-02 + 0.3246605059644693E-02 + 0.3242551797570626E-02 + 0.3238501629544567E-02 + 0.3234454556034252E-02 + 0.3230410578280212E-02 + 0.3226369696555032E-02 + 0.3222331908768308E-02 + 0.3218297212503412E-02 + 0.3214265606356048E-02 + 0.3210237090205479E-02 + 0.3206211664003438E-02 + 0.3202189327575793E-02 + 0.3198170080663515E-02 + 0.3194153922827159E-02 + 0.3190140852633650E-02 + 0.3186130868307068E-02 + 0.3182123968208681E-02 + 0.3178120151071884E-02 + 0.3174119415710446E-02 + 0.3170121761765398E-02 + 0.3166127190031054E-02 + 0.3162135701263797E-02 + 0.3158147294473890E-02 + 0.3154161967376981E-02 + 0.3150179717879617E-02 + 0.3146200545263058E-02 + 0.3142224449335376E-02 + 0.3138251429996068E-02 + 0.3134281487416052E-02 + 0.3130314621792873E-02 + 0.3126350831916203E-02 + 0.3122390114416427E-02 + 0.3118432465937899E-02 + 0.3114477886343029E-02 + 0.3110526378116857E-02 + 0.3106577943234456E-02 + 0.3102632579595777E-02 + 0.3098690283371056E-02 + 0.3094751051755001E-02 + 0.3090814885385365E-02 + 0.3086881785604496E-02 + 0.3082951752727664E-02 + 0.3079024785335270E-02 + 0.3075100881863416E-02 + 0.3071180041185024E-02 + 0.3067262262564150E-02 + 0.3063347545237298E-02 + 0.3059435888118367E-02 + 0.3055527289969777E-02 + 0.3051621749768109E-02 + 0.3047719267289652E-02 + 0.3043819842492082E-02 + 0.3039923474868318E-02 + 0.3036030163045853E-02 + 0.3032139905593618E-02 + 0.3028252701881955E-02 + 0.3024368552069482E-02 + 0.3020487456184622E-02 + 0.3016609412820584E-02 + 0.3012734419826246E-02 + 0.3008862475369952E-02 + 0.3004993578969473E-02 + 0.3001127730491837E-02 + 0.2997264929793531E-02 + 0.2993405176709305E-02 + 0.2989548471038578E-02 + 0.2985694811713028E-02 + 0.2981844196726882E-02 + 0.2977996624139287E-02 + 0.2974152093116338E-02 + 0.2970310603457378E-02 + 0.2966472154992452E-02 + 0.2962636747658957E-02 + 0.2958804381422188E-02 + 0.2954975055549824E-02 + 0.2951148767723928E-02 + 0.2947325515464081E-02 + 0.2943505298102758E-02 + 0.2939688117124079E-02 + 0.2935873973854259E-02 + 0.2932062866433309E-02 + 0.2928254790993203E-02 + 0.2924449744463212E-02 + 0.2920647728036252E-02 + 0.2916848744268616E-02 + 0.2913052794169977E-02 + 0.2909259874856201E-02 + 0.2905469982876568E-02 + 0.2901683116206053E-02 + 0.2897899274679288E-02 + 0.2894118458292195E-02 + 0.2890340667506570E-02 + 0.2886565903107376E-02 + 0.2882794165440484E-02 + 0.2879025452293077E-02 + 0.2875259760541825E-02 + 0.2871497087859400E-02 + 0.2867737434143367E-02 + 0.2863980799667378E-02 + 0.2860227184258721E-02 + 0.2856476587104446E-02 + 0.2852729007385105E-02 + 0.2848984444915014E-02 + 0.2845242899991898E-02 + 0.2841504372569909E-02 + 0.2837768860319539E-02 + 0.2834036360009295E-02 + 0.2830306869348702E-02 + 0.2826580388971689E-02 + 0.2822856920061226E-02 + 0.2819136462790318E-02 + 0.2815419015737696E-02 + 0.2811704577368808E-02 + 0.2807993146615291E-02 + 0.2804284722799606E-02 + 0.2800579305183625E-02 + 0.2796876892506791E-02 + 0.2793177483279976E-02 + 0.2789481076475767E-02 + 0.2785787672662567E-02 + 0.2782097272740028E-02 + 0.2778409876557915E-02 + 0.2774725482140374E-02 + 0.2771044087361594E-02 + 0.2767365690748975E-02 + 0.2763690291431559E-02 + 0.2760017888613656E-02 + 0.2756348481926275E-02 + 0.2752682071206918E-02 + 0.2749018656085724E-02 + 0.2745358235391314E-02 + 0.2741700807763418E-02 + 0.2738046372244525E-02 + 0.2734394928649522E-02 + 0.2730746476860340E-02 + 0.2727101016280256E-02 + 0.2723458545828377E-02 + 0.2719819064395372E-02 + 0.2716182570808709E-02 + 0.2712549063862073E-02 + 0.2708918542570216E-02 + 0.2705291006894945E-02 + 0.2701666457046501E-02 + 0.2698044892432155E-02 + 0.2694426310758273E-02 + 0.2690810709575464E-02 + 0.2687198088142346E-02 + 0.2683588447615445E-02 + 0.2679981789034355E-02 + 0.2676378111214177E-02 + 0.2672777411659879E-02 + 0.2669179688239879E-02 + 0.2665584940635623E-02 + 0.2661993169066746E-02 + 0.2658404373358837E-02 + 0.2654818552414147E-02 + 0.2651235705005592E-02 + 0.2647655829998112E-02 + 0.2644078926369065E-02 + 0.2640504993131749E-02 + 0.2636934029640459E-02 + 0.2633366035470723E-02 + 0.2629801010234304E-02 + 0.2626238953715836E-02 + 0.2622679865756322E-02 + 0.2619123745786729E-02 + 0.2615570592173690E-02 + 0.2612020403119315E-02 + 0.2608473177072147E-02 + 0.2604928912811432E-02 + 0.2601387609225680E-02 + 0.2597849266355228E-02 + 0.2594313885062460E-02 + 0.2590781465876330E-02 + 0.2587252007241275E-02 + 0.2583725506836020E-02 + 0.2580201962830316E-02 + 0.2576681374811334E-02 + 0.2573163742621780E-02 + 0.2569649066204589E-02 + 0.2566137345650680E-02 + 0.2562628580951381E-02 + 0.2559122770381130E-02 + 0.2555619910867146E-02 + 0.2552119999688187E-02 + 0.2548623036697432E-02 + 0.2545129022796994E-02 + 0.2541637958599172E-02 + 0.2538149843778946E-02 + 0.2534664677817867E-02 + 0.2531182459766570E-02 + 0.2527703187975627E-02 + 0.2524226860746107E-02 + 0.2520753476640704E-02 + 0.2517283034447726E-02 + 0.2513815533133922E-02 + 0.2510350972939179E-02 + 0.2506889354677604E-02 + 0.2503430678628134E-02 + 0.2499974943153736E-02 + 0.2496522146194439E-02 + 0.2493072286001284E-02 + 0.2489625361382188E-02 + 0.2486181371250515E-02 + 0.2482740315513837E-02 + 0.2479302195021458E-02 + 0.2475867010416782E-02 + 0.2472434760309606E-02 + 0.2469005442296055E-02 + 0.2465579054401710E-02 + 0.2462155596384971E-02 + 0.2458735068430483E-02 + 0.2455317470291899E-02 + 0.2451902800871502E-02 + 0.2448491058973330E-02 + 0.2445082243441860E-02 + 0.2441676353163622E-02 + 0.2438273387093453E-02 + 0.2434873344812854E-02 + 0.2431476226248019E-02 + 0.2428082031118699E-02 + 0.2424690758216646E-02 + 0.2421302406079882E-02 + 0.2417916973729405E-02 + 0.2414534461240524E-02 + 0.2411154868790495E-02 + 0.2407778195455950E-02 + 0.2404404439055633E-02 + 0.2401033597474422E-02 + 0.2397665670040076E-02 + 0.2394300656955184E-02 + 0.2390938558208589E-02 + 0.2387579372676130E-02 + 0.2384223098892798E-02 + 0.2380869735764978E-02 + 0.2377519283096367E-02 + 0.2374171740810851E-02 + 0.2370827108378281E-02 + 0.2367485384698313E-02 + 0.2364146568635928E-02 + 0.2360810659074446E-02 + 0.2357477654909404E-02 + 0.2354147555149305E-02 + 0.2350820359421985E-02 + 0.2347496067566448E-02 + 0.2344174679191251E-02 + 0.2340856193287606E-02 + 0.2337540608744495E-02 + 0.2334227924451580E-02 + 0.2330918139299428E-02 + 0.2327611252215793E-02 + 0.2324307262646269E-02 + 0.2321006170416707E-02 + 0.2317707975264490E-02 + 0.2314412676330252E-02 + 0.2311120272528357E-02 + 0.2307830762746568E-02 + 0.2304544145795008E-02 + 0.2301260420478628E-02 + 0.2297979586125548E-02 + 0.2294701642858474E-02 + 0.2291426590781265E-02 + 0.2288154428624518E-02 + 0.2284885154010385E-02 + 0.2281618764834759E-02 + 0.2278355261091249E-02 + 0.2275094643654710E-02 + 0.2271836913005824E-02 + 0.2268582068312893E-02 + 0.2265330108468397E-02 + 0.2262081031985312E-02 + 0.2258834836741801E-02 + 0.2255591520649013E-02 + 0.2252351083364744E-02 + 0.2249113526095879E-02 + 0.2245878849768237E-02 + 0.2242647052727592E-02 + 0.2239418132120508E-02 + 0.2236192085896015E-02 + 0.2232968914979097E-02 + 0.2229748620961911E-02 + 0.2226531203737971E-02 + 0.2223316660068945E-02 + 0.2220104986486038E-02 + 0.2216896181871066E-02 + 0.2213690247395848E-02 + 0.2210487184132432E-02 + 0.2207286991463922E-02 + 0.2204089667906224E-02 + 0.2200895212045500E-02 + 0.2197703622784722E-02 + 0.2194514899109828E-02 + 0.2191329040267203E-02 + 0.2188146046033262E-02 + 0.2184965916230297E-02 + 0.2181788650196857E-02 + 0.2178614246753856E-02 + 0.2175442704725344E-02 + 0.2172274023214468E-02 + 0.2169108201482429E-02 + 0.2165945238672162E-02 + 0.2162785133378476E-02 + 0.2159627884043491E-02 + 0.2156473489904154E-02 + 0.2153321951985331E-02 + 0.2150173271489074E-02 + 0.2147027447514299E-02 + 0.2143884476687630E-02 + 0.2140744355748781E-02 + 0.2137607084267400E-02 + 0.2134472663579192E-02 + 0.2131341094618582E-02 + 0.2128212376141517E-02 + 0.2125086506214651E-02 + 0.2121963483575619E-02 + 0.2118843308633864E-02 + 0.2115725982008702E-02 + 0.2112611502551928E-02 + 0.2109499866831998E-02 + 0.2106391071524108E-02 + 0.2103285116575199E-02 + 0.2100182004179583E-02 + 0.2097081736028301E-02 + 0.2093984310704292E-02 + 0.2090889725695519E-02 + 0.2087797978904227E-02 + 0.2084709069380188E-02 + 0.2081622996374266E-02 + 0.2078539759360487E-02 + 0.2075459358129859E-02 + 0.2072381792453561E-02 + 0.2069307061463033E-02 + 0.2066235163806396E-02 + 0.2063166098251049E-02 + 0.2060099864396813E-02 + 0.2057036462168890E-02 + 0.2053975891251824E-02 + 0.2050918150589577E-02 + 0.2047863238986676E-02 + 0.2044811155375744E-02 + 0.2041761898889593E-02 + 0.2038715468670135E-02 + 0.2035671863719629E-02 + 0.2032631082924352E-02 + 0.2029593125231535E-02 + 0.2026557990046747E-02 + 0.2023525676974067E-02 + 0.2020496185664279E-02 + 0.2017469515924854E-02 + 0.2014445667589570E-02 + 0.2011424639918558E-02 + 0.2008406431184259E-02 + 0.2005391039579735E-02 + 0.2002378463655803E-02 + 0.1999368702289613E-02 + 0.1996361754500123E-02 + 0.1993357620342721E-02 + 0.1990356300369211E-02 + 0.1987357794842657E-02 + 0.1984362102917492E-02 + 0.1981369223482890E-02 + 0.1978379155195650E-02 + 0.1975391896271279E-02 + 0.1972407444911384E-02 + 0.1969425800134676E-02 + 0.1966446961778554E-02 + 0.1963470929689874E-02 + 0.1960497703479107E-02 + 0.1957527282631722E-02 + 0.1954559666608160E-02 + 0.1951594854767757E-02 + 0.1948632846439673E-02 + 0.1945673640400319E-02 + 0.1942717234267084E-02 + 0.1939763625589965E-02 + 0.1936812814079629E-02 + 0.1933864801824694E-02 + 0.1930919590705868E-02 + 0.1927977179247428E-02 + 0.1925037564016308E-02 + 0.1922100742068719E-02 + 0.1919166712882950E-02 + 0.1916235476650048E-02 + 0.1913307033463335E-02 + 0.1910381383189329E-02 + 0.1907458525633601E-02 + 0.1904538459641030E-02 + 0.1901621182894861E-02 + 0.1898706693184259E-02 + 0.1895794990325515E-02 + 0.1892886075437032E-02 + 0.1889979949243492E-02 + 0.1887076610286947E-02 + 0.1884176056395377E-02 + 0.1881278285686713E-02 + 0.1878383297024602E-02 + 0.1875491089406245E-02 + 0.1872601662462987E-02 + 0.1869715016668916E-02 + 0.1866831152487150E-02 + 0.1863950069466394E-02 + 0.1861071766509050E-02 + 0.1858196242427282E-02 + 0.1855323495583492E-02 + 0.1852453524176866E-02 + 0.1849586326761752E-02 + 0.1846721902905072E-02 + 0.1843860252354499E-02 + 0.1841001374940158E-02 + 0.1838145270612646E-02 + 0.1835291939247130E-02 + 0.1832441379428834E-02 + 0.1829593588740472E-02 + 0.1826748565099259E-02 + 0.1823906308790980E-02 + 0.1821066821056266E-02 + 0.1818230102350705E-02 + 0.1815396150636039E-02 + 0.1812564963397036E-02 + 0.1809736539143539E-02 + 0.1806910878034628E-02 + 0.1804087980323761E-02 + 0.1801267845300954E-02 + 0.1798450471433440E-02 + 0.1795635857314196E-02 + 0.1792824002655827E-02 + 0.1790014907670745E-02 + 0.1787208572126073E-02 + 0.1784404994212114E-02 + 0.1781604171779705E-02 + 0.1778806103353412E-02 + 0.1776010788652108E-02 + 0.1773218227519448E-02 + 0.1770428419844910E-02 + 0.1767641365560982E-02 + 0.1764857064424730E-02 + 0.1762075514728864E-02 + 0.1759296714043501E-02 + 0.1756520660557263E-02 + 0.1753747354905193E-02 + 0.1750976798312736E-02 + 0.1748208990833218E-02 + 0.1745443930227595E-02 + 0.1742681614044002E-02 + 0.1739922041113077E-02 + 0.1737165211587129E-02 + 0.1734411125587393E-02 + 0.1731659782380207E-02 + 0.1728911180766315E-02 + 0.1726165319555921E-02 + 0.1723422197621111E-02 + 0.1720681813852501E-02 + 0.1717944167443871E-02 + 0.1715209258244023E-02 + 0.1712477086165271E-02 + 0.1709747650483776E-02 + 0.1707020949755638E-02 + 0.1704296982596333E-02 + 0.1701575748657762E-02 + 0.1698857248214053E-02 + 0.1696141481168664E-02 + 0.1693428445578448E-02 + 0.1690718138942189E-02 + 0.1688010559738898E-02 + 0.1685305708791000E-02 + 0.1682603587223706E-02 + 0.1679904194748778E-02 + 0.1677207529319961E-02 + 0.1674513588830574E-02 + 0.1671822371769030E-02 + 0.1669133877017131E-02 + 0.1666448103705303E-02 + 0.1663765052276705E-02 + 0.1661084723616628E-02 + 0.1658407117796778E-02 + 0.1655732232732701E-02 + 0.1653060066012041E-02 + 0.1650390616319049E-02 + 0.1647723883837386E-02 + 0.1645059868783615E-02 + 0.1642398570340210E-02 + 0.1639739986937622E-02 + 0.1637084117195452E-02 + 0.1634430960984078E-02 + 0.1631780518642563E-02 + 0.1629132789847089E-02 + 0.1626487772322296E-02 + 0.1623845463464957E-02 + 0.1621205862277774E-02 + 0.1618568970178999E-02 + 0.1615934788603659E-02 + 0.1613303316092200E-02 + 0.1610674548870969E-02 + 0.1608048483680215E-02 + 0.1605425121189081E-02 + 0.1602804463700057E-02 + 0.1600186512539299E-02 + 0.1597571265824276E-02 + 0.1594958721026810E-02 + 0.1592348876257987E-02 + 0.1589741730687588E-02 + 0.1587137283598083E-02 + 0.1584535534514887E-02 + 0.1581936483176834E-02 + 0.1579340129259444E-02 + 0.1576746471900754E-02 + 0.1574155509991492E-02 + 0.1571567242438093E-02 + 0.1568981668208824E-02 + 0.1566398786287658E-02 + 0.1563818595818635E-02 + 0.1561241096238071E-02 + 0.1558666287031964E-02 + 0.1556094168088032E-02 + 0.1553524739681621E-02 + 0.1550958001833056E-02 + 0.1548393952242273E-02 + 0.1545832587429715E-02 + 0.1543273904848486E-02 + 0.1540717905768519E-02 + 0.1538164592415697E-02 + 0.1535613965533818E-02 + 0.1533066022880947E-02 + 0.1530520761896514E-02 + 0.1527978181040832E-02 + 0.1525438279856248E-02 + 0.1522901057870052E-02 + 0.1520366513959520E-02 + 0.1517834646637383E-02 + 0.1515305454728833E-02 + 0.1512778938487725E-02 + 0.1510255098568453E-02 + 0.1507733935117808E-02 + 0.1505215447152323E-02 + 0.1502699633526032E-02 + 0.1500186492787772E-02 + 0.1497676023131044E-02 + 0.1495168222819381E-02 + 0.1492663091104460E-02 + 0.1490160627848582E-02 + 0.1487660832872233E-02 + 0.1485163705739976E-02 + 0.1482669245935937E-02 + 0.1480177452905326E-02 + 0.1477688325997533E-02 + 0.1475201864526598E-02 + 0.1472718067022958E-02 + 0.1470236931014484E-02 + 0.1467758454179219E-02 + 0.1465282636892171E-02 + 0.1462809481362997E-02 + 0.1460338989156655E-02 + 0.1457871158021137E-02 + 0.1455405984374764E-02 + 0.1452943465647286E-02 + 0.1450483602036087E-02 + 0.1448026394185040E-02 + 0.1445571841711370E-02 + 0.1443119942788035E-02 + 0.1440670695604757E-02 + 0.1438224100147630E-02 + 0.1435780157746775E-02 + 0.1433338869262316E-02 + 0.1430900232402140E-02 + 0.1428464243654982E-02 + 0.1426030900544677E-02 + 0.1423600203744105E-02 + 0.1421172154503694E-02 + 0.1418746753026555E-02 + 0.1416323997894642E-02 + 0.1413903887576173E-02 + 0.1411486420961161E-02 + 0.1409071597286484E-02 + 0.1406659415763792E-02 + 0.1404249875355148E-02 + 0.1401842974915640E-02 + 0.1399438713450489E-02 + 0.1397037090472970E-02 + 0.1394638105604237E-02 + 0.1392241758530198E-02 + 0.1389848049047178E-02 + 0.1387456976922823E-02 + 0.1385068541163775E-02 + 0.1382682740089106E-02 + 0.1380299572005053E-02 + 0.1377919035311603E-02 + 0.1375541128453219E-02 + 0.1373165850542822E-02 + 0.1370793203203849E-02 + 0.1368423188629322E-02 + 0.1366055806863978E-02 + 0.1363691053914138E-02 + 0.1361328925461123E-02 + 0.1358969419927842E-02 + 0.1356612538458053E-02 + 0.1354258282184408E-02 + 0.1351906651104218E-02 + 0.1349557644620368E-02 + 0.1347211261954453E-02 + 0.1344867501591127E-02 + 0.1342526361823384E-02 + 0.1340187841115481E-02 + 0.1337851938287145E-02 + 0.1335518652230736E-02 + 0.1333187982605957E-02 + 0.1330859929908992E-02 + 0.1328534494586262E-02 + 0.1326211676160068E-02 + 0.1323891473619104E-02 + 0.1321573885779884E-02 + 0.1319258910686241E-02 + 0.1316946546160810E-02 + 0.1314636790952526E-02 + 0.1312329645936274E-02 + 0.1310025112234903E-02 + 0.1307723189371179E-02 + 0.1305423874951608E-02 + 0.1303127166610818E-02 + 0.1300833063592197E-02 + 0.1298541566162409E-02 + 0.1296252674380566E-02 + 0.1293966387141301E-02 + 0.1291682702962888E-02 + 0.1289401620722884E-02 + 0.1287123140212508E-02 + 0.1284847261355249E-02 + 0.1282573983644617E-02 + 0.1280303306008137E-02 + 0.1278035227330797E-02 + 0.1275769746445715E-02 + 0.1273506862149695E-02 + 0.1271246573398095E-02 + 0.1268988880070738E-02 + 0.1266733782379351E-02 + 0.1264481279906106E-02 + 0.1262231370457084E-02 + 0.1259984051556468E-02 + 0.1257739322177526E-02 + 0.1255497183391062E-02 + 0.1253257636299851E-02 + 0.1251020680029693E-02 + 0.1248786312184663E-02 + 0.1246554530564652E-02 + 0.1244325334494160E-02 + 0.1242098723906106E-02 + 0.1239874698715082E-02 + 0.1237653258773357E-02 + 0.1235434403909837E-02 + 0.1233218133229303E-02 + 0.1231004444682908E-02 + 0.1228793336189068E-02 + 0.1226584806882719E-02 + 0.1224378856927863E-02 + 0.1222175486374196E-02 + 0.1219974694204431E-02 + 0.1217776478929881E-02 + 0.1215580839354192E-02 + 0.1213387775306957E-02 + 0.1211197286834669E-02 + 0.1209009373430030E-02 + 0.1206824033613681E-02 + 0.1204641265859908E-02 + 0.1202461069696777E-02 + 0.1200283445631605E-02 + 0.1198108393905464E-02 + 0.1195935912280388E-02 + 0.1193765997307483E-02 + 0.1191598646442355E-02 + 0.1189433860682261E-02 + 0.1187271641875530E-02 + 0.1185111990933453E-02 + 0.1182954906953029E-02 + 0.1180800388783519E-02 + 0.1178648434317799E-02 + 0.1176499040472518E-02 + 0.1174352204469686E-02 + 0.1172207926749598E-02 + 0.1170066209487864E-02 + 0.1167927054109962E-02 + 0.1165790458725995E-02 + 0.1163656420555720E-02 + 0.1161524937744165E-02 + 0.1159396010415186E-02 + 0.1157269638916497E-02 + 0.1155145822708728E-02 + 0.1153024560257906E-02 + 0.1150905850081340E-02 + 0.1148789691780158E-02 + 0.1146676085599795E-02 + 0.1144565031444619E-02 + 0.1142456527535043E-02 + 0.1140350571587599E-02 + 0.1138247162020785E-02 + 0.1136146298913972E-02 + 0.1134047982559873E-02 + 0.1131952212323189E-02 + 0.1129858986425376E-02 + 0.1127768303172189E-02 + 0.1125680162704210E-02 + 0.1123594566363134E-02 + 0.1121511514903934E-02 + 0.1119431005817650E-02 + 0.1117353035506524E-02 + 0.1115277601660537E-02 + 0.1113204705347103E-02 + 0.1111134348138028E-02 + 0.1109066529798482E-02 + 0.1107001247647183E-02 + 0.1104938498995588E-02 + 0.1102878283415671E-02 + 0.1100820602107473E-02 + 0.1098765455946760E-02 + 0.1096712843648498E-02 + 0.1094662763125643E-02 + 0.1092615212433146E-02 + 0.1090570190042913E-02 + 0.1088527694527858E-02 + 0.1086487725844562E-02 + 0.1084450286010615E-02 + 0.1082415376985779E-02 + 0.1080382997205187E-02 + 0.1078353142313110E-02 + 0.1076325808420268E-02 + 0.1074300995281107E-02 + 0.1072278704149369E-02 + 0.1070258935902686E-02 + 0.1068241690187609E-02 + 0.1066226966396729E-02 + 0.1064214763528360E-02 + 0.1062205079934222E-02 + 0.1060197913922225E-02 + 0.1058193264093091E-02 + 0.1056191129302297E-02 + 0.1054191508553695E-02 + 0.1052194401903883E-02 + 0.1050199809888861E-02 + 0.1048207732759283E-02 + 0.1046218169730222E-02 + 0.1044231119779803E-02 + 0.1042246581499369E-02 + 0.1040264552781193E-02 + 0.1038285031521431E-02 + 0.1036308017258992E-02 + 0.1034333511102881E-02 + 0.1032361513957601E-02 + 0.1030392024464492E-02 + 0.1028425040126065E-02 + 0.1026460558899951E-02 + 0.1024498580602508E-02 + 0.1022539105511603E-02 + 0.1020582133361475E-02 + 0.1018627662802204E-02 + 0.1016675692381222E-02 + 0.1014726221298919E-02 + 0.1012779249441166E-02 + 0.1010834776665368E-02 + 0.1008892802246546E-02 + 0.1006953325136379E-02 + 0.1005016344227449E-02 + 0.1003081858163994E-02 + 0.1001149865523232E-02 + 0.9992203653409282E-03 + 0.9972933576633423E-03 + 0.9953688426497582E-03 + 0.9934468198016937E-03 + 0.9915272878621103E-03 + 0.9896102455642748E-03 + 0.9876956919920570E-03 + 0.9857836264438927E-03 + 0.9838740482126129E-03 + 0.9819669565479027E-03 + 0.9800623506859758E-03 + 0.9781602298488940E-03 + 0.9762605932241637E-03 + 0.9743634399940621E-03 + 0.9724687693388825E-03 + 0.9705765804363901E-03 + 0.9686868724675330E-03 + 0.9667996446544796E-03 + 0.9649148962471855E-03 + 0.9630326264959901E-03 + 0.9611528346505640E-03 + 0.9592755199603092E-03 + 0.9574006816581088E-03 + 0.9555283189321518E-03 + 0.9536584309630740E-03 + 0.9517910169276146E-03 + 0.9499260759970859E-03 + 0.9480636073465792E-03 + 0.9462036102101791E-03 + 0.9443460838657163E-03 + 0.9424910275778242E-03 + 0.9406384405229307E-03 + 0.9387883218436942E-03 + 0.9369406707159108E-03 + 0.9350954864150161E-03 + 0.9332527682338894E-03 + 0.9314125153967698E-03 + 0.9295747270226666E-03 + 0.9277394022313224E-03 + 0.9259065402996979E-03 + 0.9240761406328312E-03 + 0.9222482025991754E-03 + 0.9204227252873604E-03 + 0.9185997076672788E-03 + 0.9167791487711346E-03 + 0.9149610478405108E-03 + 0.9131454041607846E-03 + 0.9113322170289646E-03 + 0.9095214857617183E-03 + 0.9077132096732560E-03 + 0.9059073879952184E-03 + 0.9041040198853702E-03 + 0.9023031045027775E-03 + 0.9005046410370721E-03 + 0.8987086286922180E-03 + 0.8969150666665017E-03 + 0.8951239541367619E-03 + 0.8933352902751180E-03 + 0.8915490742796584E-03 + 0.8897653053968075E-03 + 0.8879839828782322E-03 + 0.8862051059749014E-03 + 0.8844286739371027E-03 + 0.8826546860099398E-03 + 0.8808831413932483E-03 + 0.8791140392633848E-03 + 0.8773473787984688E-03 + 0.8755831591847050E-03 + 0.8738213796104366E-03 + 0.8720620392717288E-03 + 0.8703051373805113E-03 + 0.8685506731536329E-03 + 0.8667986458868100E-03 + 0.8650490549609231E-03 + 0.8633018997012410E-03 + 0.8615571788398240E-03 + 0.8598148907695459E-03 + 0.8580750338524950E-03 + 0.8563376063271010E-03 + 0.8546026063961985E-03 + 0.8528700322699841E-03 + 0.8511398821754046E-03 + 0.8494121543428204E-03 + 0.8476868470376825E-03 + 0.8459639585671127E-03 + 0.8442434872374577E-03 + 0.8425254313192799E-03 + 0.8408097890606070E-03 + 0.8390965586938968E-03 + 0.8373857383733597E-03 + 0.8356773262282985E-03 + 0.8339713204520843E-03 + 0.8322677193992567E-03 + 0.8305665214460081E-03 + 0.8288677248396425E-03 + 0.8271713276594500E-03 + 0.8254773279919405E-03 + 0.8237857241612474E-03 + 0.8220965146562156E-03 + 0.8204096979088892E-03 + 0.8187252720063432E-03 + 0.8170432349129897E-03 + 0.8153635847207008E-03 + 0.8136863198773092E-03 + 0.8120114388881628E-03 + 0.8103389400595852E-03 + 0.8086688214126031E-03 + 0.8070010809591787E-03 + 0.8053357169024535E-03 + 0.8036727275913101E-03 + 0.8020121113735936E-03 + 0.8003538665670858E-03 + 0.7986979914776677E-03 + 0.7970444843756672E-03 + 0.7953933434213649E-03 + 0.7937445667546216E-03 + 0.7920981525674888E-03 + 0.7904540991344053E-03 + 0.7888124047334529E-03 + 0.7871730675812758E-03 + 0.7855360858430498E-03 + 0.7839014577114314E-03 + 0.7822691815879952E-03 + 0.7806392559656732E-03 + 0.7790116792164664E-03 + 0.7773864492942353E-03 + 0.7757635640659339E-03 + 0.7741430216583661E-03 + 0.7725248206499444E-03 + 0.7709089596468330E-03 + 0.7692954369083873E-03 + 0.7676842503747300E-03 + 0.7660753980197210E-03 + 0.7644688781855512E-03 + 0.7628646893925069E-03 + 0.7612628300691782E-03 + 0.7596632982877680E-03 + 0.7580660920360973E-03 + 0.7564712094302291E-03 + 0.7548786488320408E-03 + 0.7532884086267245E-03 + 0.7517004870946414E-03 + 0.7501148824101618E-03 + 0.7485315927556997E-03 + 0.7469506164297451E-03 + 0.7453719517927432E-03 + 0.7437955971652409E-03 + 0.7422215506947529E-03 + 0.7406498104830439E-03 + 0.7390803747132944E-03 + 0.7375132417410928E-03 + 0.7359484099395268E-03 + 0.7343858775574317E-03 + 0.7328256427056624E-03 + 0.7312677035020987E-03 + 0.7297120582109762E-03 + 0.7281587051826834E-03 + 0.7266076427483741E-03 + 0.7250588691422849E-03 + 0.7235123825698942E-03 + 0.7219681812504659E-03 + 0.7204262634355894E-03 + 0.7188866273807521E-03 + 0.7173492713168640E-03 + 0.7158141934448342E-03 + 0.7142813919724604E-03 + 0.7127508652093788E-03 + 0.7112226115312385E-03 + 0.7096966292692255E-03 + 0.7081729165123861E-03 + 0.7066514712698885E-03 + 0.7051322916597437E-03 + 0.7036153760823909E-03 + 0.7021007229811598E-03 + 0.7005883307032814E-03 + 0.6990781974671158E-03 + 0.6975703214793667E-03 + 0.6960647009118861E-03 + 0.6945613339116536E-03 + 0.6930602186472836E-03 + 0.6915613534189501E-03 + 0.6900647365751088E-03 + 0.6885703664246274E-03 + 0.6870782411622458E-03 + 0.6855883589638222E-03 + 0.6841007180852450E-03 + 0.6826153169004910E-03 + 0.6811321537799381E-03 + 0.6796512268926009E-03 + 0.6781725342495852E-03 + 0.6766960739003101E-03 + 0.6752218441764901E-03 + 0.6737498435248015E-03 + 0.6722800703423749E-03 + 0.6708125228668105E-03 + 0.6693471993036456E-03 + 0.6678840978417079E-03 + 0.6664232166426959E-03 + 0.6649645538699113E-03 + 0.6635081077595193E-03 + 0.6620538766104708E-03 + 0.6606018587280754E-03 + 0.6591520524496385E-03 + 0.6577044561268775E-03 + 0.6562590680471214E-03 + 0.6548158862682532E-03 + 0.6533749087988518E-03 + 0.6519361338055292E-03 + 0.6504995597376770E-03 + 0.6490651850646173E-03 + 0.6476330080588753E-03 + 0.6462030268066677E-03 + 0.6447752394068253E-03 + 0.6433496441249936E-03 + 0.6419262393099123E-03 + 0.6405050232923264E-03 + 0.6390859943292692E-03 + 0.6376691506592433E-03 + 0.6362544904853078E-03 + 0.6348420119405880E-03 + 0.6334317131553398E-03 + 0.6320235923914714E-03 + 0.6306176480477932E-03 + 0.6292138785199192E-03 + 0.6278122821130943E-03 + 0.6264128570828986E-03 + 0.6250156016465390E-03 + 0.6236205138540619E-03 + 0.6222275917102719E-03 + 0.6208368333878584E-03 + 0.6194482374257437E-03 + 0.6180618024012753E-03 + 0.6166775265998310E-03 + 0.6152954079732893E-03 + 0.6139154444883081E-03 + 0.6125376344642710E-03 + 0.6111619764342832E-03 + 0.6097884688519239E-03 + 0.6084171097646395E-03 + 0.6070478970957423E-03 + 0.6056808289562356E-03 + 0.6043159039102628E-03 + 0.6029531205796676E-03 + 0.6015924772510513E-03 + 0.6002339717902515E-03 + 0.5988776020711818E-03 + 0.5975233663909160E-03 + 0.5961712633288308E-03 + 0.5948212914126252E-03 + 0.5934734488580896E-03 + 0.5921277337745434E-03 + 0.5907841442743709E-03 + 0.5894426784784539E-03 + 0.5881033345128584E-03 + 0.5867661106726563E-03 + 0.5854310054861211E-03 + 0.5840980174764241E-03 + 0.5827671448581561E-03 + 0.5814383856194382E-03 + 0.5801117377852645E-03 + 0.5787871996386817E-03 + 0.5774647695605015E-03 + 0.5761444458934458E-03 + 0.5748262268665643E-03 + 0.5735101106879576E-03 + 0.5721960955687687E-03 + 0.5708841797247530E-03 + 0.5695743613766762E-03 + 0.5682666388196172E-03 + 0.5669610104085985E-03 + 0.5656574744738832E-03 + 0.5643560291640003E-03 + 0.5630566725511867E-03 + 0.5617594027931393E-03 + 0.5604642183306041E-03 + 0.5591711176599832E-03 + 0.5578800990784326E-03 + 0.5565911605500613E-03 + 0.5553043000262161E-03 + 0.5540195158118127E-03 + 0.5527368065251602E-03 + 0.5514561707310448E-03 + 0.5501776064984151E-03 + 0.5489011116659039E-03 + 0.5476266842078862E-03 + 0.5463543226023670E-03 + 0.5450840254413474E-03 + 0.5438157911465954E-03 + 0.5425496178262142E-03 + 0.5412855035584725E-03 + 0.5400234465082454E-03 + 0.5387634449247235E-03 + 0.5375054970670750E-03 + 0.5362496012505494E-03 + 0.5349957558191885E-03 + 0.5337439590750948E-03 + 0.5324942091477074E-03 + 0.5312465041230682E-03 + 0.5300008422007061E-03 + 0.5287572218109440E-03 + 0.5275156414054463E-03 + 0.5262760992616854E-03 + 0.5250385934708342E-03 + 0.5238031221317295E-03 + 0.5225696835074105E-03 + 0.5213382759538710E-03 + 0.5201088978059651E-03 + 0.5188815472973244E-03 + 0.5176562226327976E-03 + 0.5164329220308238E-03 + 0.5152116437403979E-03 + 0.5139923860141018E-03 + 0.5127751470863804E-03 + 0.5115599251703613E-03 + 0.5103467184840497E-03 + 0.5091355253131322E-03 + 0.5079263439855182E-03 + 0.5067191728116208E-03 + 0.5055140100096293E-03 + 0.5043108537686058E-03 + 0.5031097023179142E-03 + 0.5019105539872410E-03 + 0.5007134071194650E-03 + 0.4995182599746052E-03 + 0.4983251107056912E-03 + 0.4971339574617373E-03 + 0.4959447984304567E-03 + 0.4947576318261458E-03 + 0.4935724558877491E-03 + 0.4923892689911225E-03 + 0.4912080695602378E-03 + 0.4900288559400501E-03 + 0.4888516262572567E-03 + 0.4876763786034502E-03 + 0.4865031111772341E-03 + 0.4853318223291138E-03 + 0.4841625104142585E-03 + 0.4829951736876145E-03 + 0.4818298103284555E-03 + 0.4806664185325298E-03 + 0.4795049966119200E-03 + 0.4783455429241420E-03 + 0.4771880557729369E-03 + 0.4760325332968789E-03 + 0.4748789736045123E-03 + 0.4737273748967853E-03 + 0.4725777355190163E-03 + 0.4714300538234371E-03 + 0.4702843280675584E-03 + 0.4691405564302975E-03 + 0.4679987371050640E-03 + 0.4668588684051124E-03 + 0.4657209486955674E-03 + 0.4645849762856470E-03 + 0.4634509492932358E-03 + 0.4623188657971550E-03 + 0.4611887240114503E-03 + 0.4600605223828540E-03 + 0.4589342593702122E-03 + 0.4578099332194584E-03 + 0.4566875419824017E-03 + 0.4555670837388920E-03 + 0.4544485568490369E-03 + 0.4533319598070865E-03 + 0.4522172910169542E-03 + 0.4511045485364174E-03 + 0.4499937303425208E-03 + 0.4488848345677095E-03 + 0.4477778596393002E-03 + 0.4466728040118045E-03 + 0.4455696660075012E-03 + 0.4444684438162455E-03 + 0.4433691356254111E-03 + 0.4422717396519841E-03 + 0.4411762541286005E-03 + 0.4400826773008611E-03 + 0.4389910074685965E-03 + 0.4379012429458054E-03 + 0.4368133820201741E-03 + 0.4357274229242653E-03 + 0.4346433638834918E-03 + 0.4335612031173611E-03 + 0.4324809388388957E-03 + 0.4314025692689600E-03 + 0.4303260927115002E-03 + 0.4292515075188891E-03 + 0.4281788120071184E-03 + 0.4271080043179248E-03 + 0.4260390825421395E-03 + 0.4249720448633331E-03 + 0.4239068896799965E-03 + 0.4228436154179370E-03 + 0.4217822204017065E-03 + 0.4207227028334772E-03 + 0.4196650609094162E-03 + 0.4186092928407513E-03 + 0.4175553968483775E-03 + 0.4165033711695556E-03 + 0.4154532141266781E-03 + 0.4144049240698417E-03 + 0.4133584992844322E-03 + 0.4123139378896674E-03 + 0.4112712379817626E-03 + 0.4102303977914243E-03 + 0.4091914157279877E-03 + 0.4081542902046651E-03 + 0.4071190195230622E-03 + 0.4060856019059470E-03 + 0.4050540355635478E-03 + 0.4040243186423302E-03 + 0.4029964492656495E-03 + 0.4019704256272083E-03 + 0.4009462461211353E-03 + 0.3999239091749715E-03 + 0.3989034131121196E-03 + 0.3978847561038689E-03 + 0.3968679363166577E-03 + 0.3958529520262237E-03 + 0.3948398015932035E-03 + 0.3938284833551437E-03 + 0.3928189954835140E-03 + 0.3918113360828770E-03 + 0.3908055033116987E-03 + 0.3898014954995762E-03 + 0.3887993110087552E-03 + 0.3877989481270183E-03 + 0.3868004050224008E-03 + 0.3858036798603427E-03 + 0.3848087709507160E-03 + 0.3838156767266735E-03 + 0.3828243955959612E-03 + 0.3818349257504234E-03 + 0.3808472652855748E-03 + 0.3798614123401525E-03 + 0.3788773652066138E-03 + 0.3778951222111738E-03 + 0.3769146816762285E-03 + 0.3759360419173965E-03 + 0.3749592012451254E-03 + 0.3739841578779864E-03 + 0.3730109099484007E-03 + 0.3720394555991665E-03 + 0.3710697930863906E-03 + 0.3701019207220446E-03 + 0.3691358368225929E-03 + 0.3681715397205867E-03 + 0.3672090277518094E-03 + 0.3662482991643072E-03 + 0.3652893520346523E-03 + 0.3643321844297467E-03 + 0.3633767946636584E-03 + 0.3624231813050252E-03 + 0.3614713428906472E-03 + 0.3605212775519061E-03 + 0.3595729831995188E-03 + 0.3586264578540606E-03 + 0.3576817000255725E-03 + 0.3567387083563662E-03 + 0.3557974812449109E-03 + 0.3548580165631614E-03 + 0.3539203121285751E-03 + 0.3529843661681356E-03 + 0.3520501773721398E-03 + 0.3511177444108771E-03 + 0.3501870654805792E-03 + 0.3492581384930360E-03 + 0.3483309614382718E-03 + 0.3474055327059051E-03 + 0.3464818508065262E-03 + 0.3455599141271745E-03 + 0.3446397207596529E-03 + 0.3437212687573022E-03 + 0.3428045563392278E-03 + 0.3418895819305917E-03 + 0.3409763439581330E-03 + 0.3400648407129885E-03 + 0.3391550703966942E-03 + 0.3382470312081756E-03 + 0.3373407213408325E-03 + 0.3364361389863216E-03 + 0.3355332824028631E-03 + 0.3346321500249126E-03 + 0.3337327403110896E-03 + 0.3328350515161285E-03 + 0.3319390816161735E-03 + 0.3310448285919074E-03 + 0.3301522907623137E-03 + 0.3292614666922588E-03 + 0.3283723548963052E-03 + 0.3274849535503821E-03 + 0.3265992607035195E-03 + 0.3257152744781413E-03 + 0.3248329932129971E-03 + 0.3239524152848314E-03 + 0.3230735389852912E-03 + 0.3221963624781005E-03 + 0.3213208839259912E-03 + 0.3204471016430370E-03 + 0.3195750140642287E-03 + 0.3187046195955012E-03 + 0.3178359164226944E-03 + 0.3169689026401928E-03 + 0.3161035763897094E-03 + 0.3152399359685096E-03 + 0.3143779797054476E-03 + 0.3135177059209172E-03 + 0.3126591129213077E-03 + 0.3118021990078336E-03 + 0.3109469624107141E-03 + 0.3100934012978490E-03 + 0.3092415138593649E-03 + 0.3083912984707530E-03 + 0.3075427535927302E-03 + 0.3066958776002430E-03 + 0.3058506685547908E-03 + 0.3050071244481683E-03 + 0.3041652434192205E-03 + 0.3033250238750672E-03 + 0.3024864642475669E-03 + 0.3016495628867151E-03 + 0.3008143180635607E-03 + 0.2999807280416537E-03 + 0.2991487910478340E-03 + 0.2983185052902977E-03 + 0.2974898689970584E-03 + 0.2966628804769767E-03 + 0.2958375380590662E-03 + 0.2950138400295420E-03 + 0.2941917845884504E-03 + 0.2933713699282567E-03 + 0.2925525943119062E-03 + 0.2917354560770011E-03 + 0.2909199535535461E-03 + 0.2901060849633905E-03 + 0.2892938484677616E-03 + 0.2884832422692885E-03 + 0.2876742647603954E-03 + 0.2868669143864734E-03 + 0.2860611894826023E-03 + 0.2852570881383866E-03 + 0.2844546084162918E-03 + 0.2836537485623963E-03 + 0.2828545070364513E-03 + 0.2820568822882140E-03 + 0.2812608725260972E-03 + 0.2804664758094521E-03 + 0.2796736902461899E-03 + 0.2788825141995081E-03 + 0.2780929461124670E-03 + 0.2773049843570652E-03 + 0.2765186271302041E-03 + 0.2757338726038006E-03 + 0.2749507190058421E-03 + 0.2741691646360196E-03 + 0.2733892077997311E-03 + 0.2726108468152208E-03 + 0.2718340800094623E-03 + 0.2710589056833364E-03 + 0.2702853219903599E-03 + 0.2695133270327974E-03 + 0.2687429189858186E-03 + 0.2679740962238308E-03 + 0.2672068571537445E-03 + 0.2664412001264462E-03 + 0.2656771234140534E-03 + 0.2649146252818515E-03 + 0.2641537039820106E-03 + 0.2633943577568894E-03 + 0.2626365848437175E-03 + 0.2618803834490426E-03 + 0.2611257517675780E-03 + 0.2603726880404562E-03 + 0.2596211906496786E-03 + 0.2588712580023744E-03 + 0.2581228884178072E-03 + 0.2573760800793198E-03 + 0.2566308311637314E-03 + 0.2558871399330211E-03 + 0.2551450047191570E-03 + 0.2544044238446946E-03 + 0.2536653955515129E-03 + 0.2529279180469354E-03 + 0.2521919895498343E-03 + 0.2514576083184592E-03 + 0.2507247726201357E-03 + 0.2499934807829270E-03 + 0.2492637312384063E-03 + 0.2485355224158583E-03 + 0.2478088525059900E-03 + 0.2470837194840664E-03 + 0.2463601213634024E-03 + 0.2456380565181745E-03 + 0.2449175234935368E-03 + 0.2441985207625656E-03 + 0.2434810465238489E-03 + 0.2427650989121995E-03 + 0.2420506761310150E-03 + 0.2413377765125449E-03 + 0.2406263984000346E-03 + 0.2399165400638706E-03 + 0.2392081997021672E-03 + 0.2385013755173453E-03 + 0.2377960657775378E-03 + 0.2370922687852623E-03 + 0.2363899828442797E-03 + 0.2356892062623143E-03 + 0.2349899373478700E-03 + 0.2342921743700419E-03 + 0.2335959155161946E-03 + 0.2329011589675158E-03 + 0.2322079030127240E-03 + 0.2315161460576913E-03 + 0.2308258865002725E-03 + 0.2301371225985096E-03 + 0.2294498525297669E-03 + 0.2287640744897626E-03 + 0.2280797867642861E-03 + 0.2273969876653252E-03 + 0.2267156754989503E-03 + 0.2260358485576642E-03 + 0.2253575051314093E-03 + 0.2246806434883641E-03 + 0.2240052618706543E-03 + 0.2233313585156232E-03 + 0.2226589316235661E-03 + 0.2219879793712279E-03 + 0.2213184999739315E-03 + 0.2206504918494039E-03 + 0.2199839534807089E-03 + 0.2193188832731806E-03 + 0.2186552794346314E-03 + 0.2179931401426085E-03 + 0.2173324635999621E-03 + 0.2166732480428241E-03 + 0.2160154917121873E-03 + 0.2153591928827959E-03 + 0.2147043498530072E-03 + 0.2140509609196842E-03 + 0.2133990243682361E-03 + 0.2127485384799530E-03 + 0.2120995015383886E-03 + 0.2114519118335033E-03 + 0.2108057676562126E-03 + 0.2101610672890395E-03 + 0.2095178090023782E-03 + 0.2088759910684405E-03 + 0.2082356118007848E-03 + 0.2075966695447811E-03 + 0.2069591626183022E-03 + 0.2063230891556164E-03 + 0.2056884472178180E-03 + 0.2050552349698271E-03 + 0.2044234509021598E-03 + 0.2037930935658015E-03 + 0.2031641613136528E-03 + 0.2025366521832132E-03 + 0.2019105642001063E-03 + 0.2012858956712063E-03 + 0.2006626451411608E-03 + 0.2000408111200120E-03 + 0.1994203918119480E-03 + 0.1988013852860973E-03 + 0.1981837896584902E-03 + 0.1975676032105498E-03 + 0.1969528242599104E-03 + 0.1963394511444263E-03 + 0.1957274822374178E-03 + 0.1951169159108496E-03 + 0.1945077504367523E-03 + 0.1938999839943418E-03 + 0.1932936147725137E-03 + 0.1926886410679534E-03 + 0.1920850612299633E-03 + 0.1914828735722840E-03 + 0.1908820762693897E-03 + 0.1902826674629984E-03 + 0.1896846454136636E-03 + 0.1890880086118991E-03 + 0.1884927555658002E-03 + 0.1878988845755125E-03 + 0.1873063937290478E-03 + 0.1867152811202796E-03 + 0.1861255449850121E-03 + 0.1855371836355360E-03 + 0.1849501953958998E-03 + 0.1843645786377197E-03 + 0.1837803317450695E-03 + 0.1831974530333864E-03 + 0.1826159406714078E-03 + 0.1820357928136698E-03 + 0.1814570077481780E-03 + 0.1808795839124963E-03 + 0.1803035197308238E-03 + 0.1797288134056042E-03 + 0.1791554630075325E-03 + 0.1785834666542385E-03 + 0.1780128226976414E-03 + 0.1774435295598969E-03 + 0.1768755856146685E-03 + 0.1763089891209319E-03 + 0.1757437383220908E-03 + 0.1751798314960871E-03 + 0.1746172669633867E-03 + 0.1740560430401850E-03 + 0.1734961579610934E-03 + 0.1729376099073435E-03 + 0.1723803970843188E-03 + 0.1718245178320376E-03 + 0.1712699705354553E-03 + 0.1707167535536616E-03 + 0.1701648651779059E-03 + 0.1696143036877895E-03 + 0.1690650673340479E-03 + 0.1685171543283576E-03 + 0.1679705628838842E-03 + 0.1674252912715835E-03 + 0.1668813378040106E-03 + 0.1663387007880031E-03 + 0.1657973784906030E-03 + 0.1652573691641241E-03 + 0.1647186710924959E-03 + 0.1641812826516309E-03 + 0.1636452022325552E-03 + 0.1631104281447980E-03 + 0.1625769585765626E-03 + 0.1620447917111397E-03 + 0.1615139258091455E-03 + 0.1609843591923878E-03 + 0.1604560901766465E-03 + 0.1599291170260192E-03 + 0.1594034379833594E-03 + 0.1588790513278425E-03 + 0.1583559554562136E-03 + 0.1578341487871659E-03 + 0.1573136296166651E-03 + 0.1567943960395271E-03 + 0.1562764461415981E-03 + 0.1557597781839527E-03 + 0.1552443905800378E-03 + 0.1547302817343282E-03 + 0.1542174499456282E-03 + 0.1537058934646492E-03 + 0.1531956105500348E-03 + 0.1526865994898274E-03 + 0.1521788585786456E-03 + 0.1516723861082236E-03 + 0.1511671803650924E-03 + 0.1506632396350157E-03 + 0.1501605621990904E-03 + 0.1496591463339570E-03 + 0.1491589903194819E-03 + 0.1486600924642947E-03 + 0.1481624510914978E-03 + 0.1476660644947619E-03 + 0.1471709308494415E-03 + 0.1466770483021515E-03 + 0.1461844151161130E-03 + 0.1456930297869585E-03 + 0.1452028908290271E-03 + 0.1447139965344511E-03 + 0.1442263449622111E-03 + 0.1437399341841971E-03 + 0.1432547625008862E-03 + 0.1427708283396052E-03 + 0.1422881301006114E-03 + 0.1418066660573277E-03 + 0.1413264344479528E-03 + 0.1408474335381211E-03 + 0.1403696616538990E-03 + 0.1398931171265510E-03 + 0.1394177982012748E-03 + 0.1389437030240656E-03 + 0.1384708297566083E-03 + 0.1379991767898947E-03 + 0.1375287426551550E-03 + 0.1370595258164154E-03 + 0.1365915243934699E-03 + 0.1361247363997453E-03 + 0.1356591599920297E-03 + 0.1351947936766559E-03 + 0.1347316360062584E-03 + 0.1342696853147672E-03 + 0.1338089396591271E-03 + 0.1333493970963484E-03 + 0.1328910559038259E-03 + 0.1324339145073387E-03 + 0.1319779713140323E-03 + 0.1315232246123129E-03 + 0.1310696726496624E-03 + 0.1306173136854064E-03 + 0.1301661460109810E-03 + 0.1297161679230459E-03 + 0.1292673777117507E-03 + 0.1288197736581653E-03 + 0.1283733540433198E-03 + 0.1279281171571218E-03 + 0.1274840612960531E-03 + 0.1270411847516826E-03 + 0.1265994857841539E-03 + 0.1261589626416113E-03 + 0.1257196136111871E-03 + 0.1252814370970576E-03 + 0.1248444315228314E-03 + 0.1244085951711940E-03 + 0.1239739261089328E-03 + 0.1235404223999052E-03 + 0.1231080823581290E-03 + 0.1226769045012718E-03 + 0.1222468873180342E-03 + 0.1218180290550109E-03 + 0.1213903278561545E-03 + 0.1209637819023919E-03 + 0.1205383894992436E-03 + 0.1201141489777851E-03 + 0.1196910586390952E-03 + 0.1192691167336390E-03 + 0.1188483215111581E-03 + 0.1184286713000339E-03 + 0.1180101644989865E-03 + 0.1175927994890871E-03 + 0.1171765744946313E-03 + 0.1167614876663899E-03 + 0.1163475372042859E-03 + 0.1159347214923548E-03 + 0.1155230389564732E-03 + 0.1151124879302678E-03 + 0.1147030665757634E-03 + 0.1142947730424926E-03 + 0.1138876056182094E-03 + 0.1134815627264675E-03 + 0.1130766427763985E-03 + 0.1126728440005685E-03 + 0.1122701645400776E-03 + 0.1118686025833392E-03 + 0.1114681565176985E-03 + 0.1110688247812526E-03 + 0.1106706057114281E-03 + 0.1102734974389321E-03 + 0.1098774980771522E-03 + 0.1094826059532497E-03 + 0.1090888196250798E-03 + 0.1086961376219544E-03 + 0.1083045580768477E-03 + 0.1079140788962723E-03 + 0.1075246980950096E-03 + 0.1071364141990796E-03 + 0.1067492258808416E-03 + 0.1063631316181609E-03 + 0.1059781294473570E-03 + 0.1055942173519507E-03 + 0.1052113935751350E-03 + 0.1048296566679480E-03 + 0.1044490051718370E-03 + 0.1040694373195974E-03 + 0.1036909511497273E-03 + 0.1033135447487489E-03 + 0.1029372164654915E-03 + 0.1025619647326653E-03 + 0.1021877879320230E-03 + 0.1018146843171315E-03 + 0.1014426521229366E-03 + 0.1010716896313376E-03 + 0.1007017951854104E-03 + 0.1003329671262076E-03 + 0.9996520371615018E-04 + 0.9959850316317985E-04 + 0.9923286368936815E-04 + 0.9886828360409561E-04 + 0.9850476124778179E-04 + 0.9814229494216733E-04 + 0.9778088295681886E-04 + 0.9742052355262821E-04 + 0.9706121500736034E-04 + 0.9670295562296040E-04 + 0.9634574370191659E-04 + 0.9598957752725873E-04 + 0.9563445536719152E-04 + 0.9528037549392131E-04 + 0.9492733620769190E-04 + 0.9457533581980913E-04 + 0.9422437263045788E-04 + 0.9387444490529715E-04 + 0.9352555090362634E-04 + 0.9317768890362649E-04 + 0.9283085721325200E-04 + 0.9248505414186603E-04 + 0.9214027797818027E-04 + 0.9179652699361164E-04 + 0.9145379946094019E-04 + 0.9111209366655551E-04 + 0.9077140790279319E-04 + 0.9043174045861189E-04 + 0.9009308961124631E-04 + 0.8975545363549067E-04 + 0.8941883081317480E-04 + 0.8908321943834753E-04 + 0.8874861780609040E-04 + 0.8841502420777282E-04 + 0.8808243693134777E-04 + 0.8775085426314943E-04 + 0.8742027447749807E-04 + 0.8709069584290516E-04 + 0.8676211663265924E-04 + 0.8643453513851810E-04 + 0.8610794965665114E-04 + 0.8578235848138426E-04 + 0.8545775990351832E-04 + 0.8513415221278104E-04 + 0.8481153368309764E-04 + 0.8448990257243050E-04 + 0.8416925714154754E-04 + 0.8384959568316344E-04 + 0.8353091650703950E-04 + 0.8321321791768993E-04 + 0.8289649819653036E-04 + 0.8258075561880951E-04 + 0.8226598845986812E-04 + 0.8195219499524578E-04 + 0.8163937350058523E-04 + 0.8132752225372478E-04 + 0.8101663953493766E-04 + 0.8070672362513685E-04 + 0.8039777281049542E-04 + 0.8008978538027957E-04 + 0.7978275962213914E-04 + 0.7947669381583742E-04 + 0.7917158623880011E-04 + 0.7886743517119699E-04 + 0.7856423889961478E-04 + 0.7826199571119372E-04 + 0.7796070388082543E-04 + 0.7766036166846366E-04 + 0.7736096733543953E-04 + 0.7706251916979862E-04 + 0.7676501547689512E-04 + 0.7646845455695912E-04 + 0.7617283468148626E-04 + 0.7587815411247833E-04 + 0.7558441111535928E-04 + 0.7529160396444823E-04 + 0.7499973093565354E-04 + 0.7470879031188574E-04 + 0.7441878038544571E-04 + 0.7412969944823300E-04 + 0.7384154577801427E-04 + 0.7355431764248321E-04 + 0.7326801330900670E-04 + 0.7298263104429713E-04 + 0.7269816911483515E-04 + 0.7241462579381725E-04 + 0.7213199937375904E-04 + 0.7185028815040074E-04 + 0.7156949040751039E-04 + 0.7128960441120436E-04 + 0.7101062842652636E-04 + 0.7073256072379786E-04 + 0.7045539957747558E-04 + 0.7017914326133412E-04 + 0.6990379004388561E-04 + 0.6962933819150088E-04 + 0.6935578597529199E-04 + 0.6908313168155019E-04 + 0.6881137359945182E-04 + 0.6854051000867319E-04 + 0.6827053917347120E-04 + 0.6800145935661067E-04 + 0.6773326881942938E-04 + 0.6746596582203651E-04 + 0.6719954862768391E-04 + 0.6693401552330407E-04 + 0.6666936480649582E-04 + 0.6640559476334301E-04 + 0.6614270363879399E-04 + 0.6588068966890035E-04 + 0.6561955111214203E-04 + 0.6535928626711421E-04 + 0.6509989343508284E-04 + 0.6484137088624525E-04 + 0.6458371686140487E-04 + 0.6432692960335684E-04 + 0.6407100738119233E-04 + 0.6381594847709461E-04 + 0.6356175116968920E-04 + 0.6330841372313227E-04 + 0.6305593439803748E-04 + 0.6280431145987903E-04 + 0.6255354318372303E-04 + 0.6230362784498416E-04 + 0.6205456369992444E-04 + 0.6180634898490071E-04 + 0.6155898193928437E-04 + 0.6131246083959740E-04 + 0.6106678398277365E-04 + 0.6082194965641786E-04 + 0.6057795610603652E-04 + 0.6033480156559752E-04 + 0.6009248428301763E-04 + 0.5985100253662439E-04 + 0.5961035460807334E-04 + 0.5937053875900256E-04 + 0.5913155322819867E-04 + 0.5889339625566750E-04 + 0.5865606610778881E-04 + 0.5841956106691138E-04 + 0.5818387940892507E-04 + 0.5794901937686017E-04 + 0.5771497920369500E-04 + 0.5748175713279807E-04 + 0.5724935143261640E-04 + 0.5701776037505040E-04 + 0.5678698222289215E-04 + 0.5655701522751270E-04 + 0.5632785763907709E-04 + 0.5609950770188514E-04 + 0.5587196365632792E-04 + 0.5564522374682128E-04 + 0.5541928624025539E-04 + 0.5519414941117230E-04 + 0.5496981152417479E-04 + 0.5474627081727811E-04 + 0.5452352552423840E-04 + 0.5430157388491069E-04 + 0.5408041414755936E-04 + 0.5386004456139746E-04 + 0.5364046338029014E-04 + 0.5342166886151327E-04 + 0.5320365926024337E-04 + 0.5298643281830707E-04 + 0.5276998777247778E-04 + 0.5255432236322953E-04 + 0.5233943484204997E-04 + 0.5212532346234065E-04 + 0.5191198647078787E-04 + 0.5169942210388847E-04 + 0.5148762859720913E-04 + 0.5127660418504904E-04 + 0.5106634710068572E-04 + 0.5085685557992164E-04 + 0.5064812787609029E-04 + 0.5044016224987750E-04 + 0.5023295695188863E-04 + 0.5002651019938107E-04 + 0.4982082020302778E-04 + 0.4961588519444865E-04 + 0.4941170344026125E-04 + 0.4920827320840745E-04 + 0.4900559272946234E-04 + 0.4880366020089780E-04 + 0.4860247382420752E-04 + 0.4840203184065139E-04 + 0.4820233250995062E-04 + 0.4800337408512617E-04 + 0.4780515479421561E-04 + 0.4760767285952507E-04 + 0.4741092650364760E-04 + 0.4721491394970395E-04 + 0.4701963342099335E-04 + 0.4682508314346151E-04 + 0.4663126134562957E-04 + 0.4643816625654196E-04 + 0.4624579610885582E-04 + 0.4605414913707872E-04 + 0.4586322357100460E-04 + 0.4567301762107300E-04 + 0.4548352949282753E-04 + 0.4529475739927379E-04 + 0.4510669956858787E-04 + 0.4491935423057396E-04 + 0.4473271960951180E-04 + 0.4454679392377491E-04 + 0.4436157539111995E-04 + 0.4417706222609895E-04 + 0.4399325264145018E-04 + 0.4381014485059658E-04 + 0.4362773707017129E-04 + 0.4344602751770712E-04 + 0.4326501440681103E-04 + 0.4308469594227516E-04 + 0.4290507032800453E-04 + 0.4272613577777441E-04 + 0.4254789051695139E-04 + 0.4237033276909392E-04 + 0.4219346073035047E-04 + 0.4201727257978094E-04 + 0.4184176650297342E-04 + 0.4166694071999013E-04 + 0.4149279346178588E-04 + 0.4131932294710956E-04 + 0.4114652736433958E-04 + 0.4097440489745578E-04 + 0.4080295373983172E-04 + 0.4063217209695916E-04 + 0.4046205817449193E-04 + 0.4029261016998317E-04 + 0.4012382627542698E-04 + 0.3995570468346006E-04 + 0.3978824359097267E-04 + 0.3962144119635014E-04 + 0.3945529569523449E-04 + 0.3928980527570010E-04 + 0.3912496812462065E-04 + 0.3896078243333115E-04 + 0.3879724639949661E-04 + 0.3863435821999797E-04 + 0.3847211607333683E-04 + 0.3831051812414605E-04 + 0.3814956254062319E-04 + 0.3798924751571490E-04 + 0.3782957125203187E-04 + 0.3767053194493202E-04 + 0.3751212776748858E-04 + 0.3735435688858933E-04 + 0.3719721748125494E-04 + 0.3704070772495612E-04 + 0.3688482579938166E-04 + 0.3672956987845772E-04 + 0.3657493813133028E-04 + 0.3642092872739062E-04 + 0.3626753983878205E-04 + 0.3611476963884073E-04 + 0.3596261629967487E-04 + 0.3581107798919425E-04 + 0.3566015287438207E-04 + 0.3550983911959993E-04 + 0.3536013488469946E-04 + 0.3521103832929683E-04 + 0.3506254761711467E-04 + 0.3491466091561624E-04 + 0.3476737639043650E-04 + 0.3462069219154953E-04 + 0.3447460646143847E-04 + 0.3432911734874347E-04 + 0.3418422302564378E-04 + 0.3403992166972889E-04 + 0.3389621143966383E-04 + 0.3375309045822097E-04 + 0.3361055684536916E-04 + 0.3346860874876164E-04 + 0.3332724434376066E-04 + 0.3318646180301143E-04 + 0.3304625926392434E-04 + 0.3290663484530024E-04 + 0.3276758667067462E-04 + 0.3262911288430431E-04 + 0.3249121163590162E-04 + 0.3235388107240995E-04 + 0.3221711933497285E-04 + 0.3208092456363278E-04 + 0.3194529488821069E-04 + 0.3181022842728842E-04 + 0.3167572329964572E-04 + 0.3154177763190361E-04 + 0.3140838955525154E-04 + 0.3127555720065672E-04 + 0.3114327869777090E-04 + 0.3101155217585241E-04 + 0.3088037576270394E-04 + 0.3074974758275379E-04 + 0.3061966575951109E-04 + 0.3049012840180854E-04 + 0.3036113360075085E-04 + 0.3023267944913650E-04 + 0.3010476407152765E-04 + 0.2997738561286600E-04 + 0.2985054220929889E-04 + 0.2972423194904825E-04 + 0.2959845290469814E-04 + 0.2947320316500900E-04 + 0.2934848086025903E-04 + 0.2922428412658689E-04 + 0.2910061107140311E-04 + 0.2897745976398204E-04 + 0.2885482827286952E-04 + 0.2873271469170213E-04 + 0.2861111713183208E-04 + 0.2849003370226863E-04 + 0.2836946249610355E-04 + 0.2824940160064671E-04 + 0.2812984910215758E-04 + 0.2801080308392695E-04 + 0.2789226162861261E-04 + 0.2777422281325625E-04 + 0.2765668470669985E-04 + 0.2753964537835045E-04 + 0.2742310291601002E-04 + 0.2730705542175971E-04 + 0.2719150099165116E-04 + 0.2707643767975603E-04 + 0.2696186352324201E-04 + 0.2684777657086400E-04 + 0.2673417490816213E-04 + 0.2662105662769407E-04 + 0.2650841980644776E-04 + 0.2639626249638680E-04 + 0.2628458274728578E-04 + 0.2617337861015993E-04 + 0.2606264813708330E-04 + 0.2595238938058481E-04 + 0.2584260039629047E-04 + 0.2573327924120647E-04 + 0.2562442396818368E-04 + 0.2551603261542893E-04 + 0.2540810321802992E-04 + 0.2530063381986628E-04 + 0.2519362248038664E-04 + 0.2508706725934218E-04 + 0.2498096618996232E-04 + 0.2487531728062326E-04 + 0.2477011854215676E-04 + 0.2466536801358919E-04 + 0.2456106374784262E-04 + 0.2445720379060809E-04 + 0.2435378615886147E-04 + 0.2425080886257864E-04 + 0.2414826991563285E-04 + 0.2404616733950846E-04 + 0.2394449915644245E-04 + 0.2384326338555080E-04 + 0.2374245804273641E-04 + 0.2364208114281232E-04 + 0.2354213069180785E-04 + 0.2344260469097365E-04 + 0.2334350114268486E-04 + 0.2324481805443246E-04 + 0.2314655343507598E-04 + 0.2304870528877916E-04 + 0.2295127160956976E-04 + 0.2285425039015403E-04 + 0.2275763962318867E-04 + 0.2266143730127485E-04 + 0.2256564141634450E-04 + 0.2247024995331100E-04 + 0.2237526089287877E-04 + 0.2228067221443792E-04 + 0.2218648189126666E-04 + 0.2209268789480516E-04 + 0.2199928820191740E-04 + 0.2190628080241741E-04 + 0.2181366368748749E-04 + 0.2172143482985254E-04 + 0.2162959217930838E-04 + 0.2153813368470491E-04 + 0.2144705730072350E-04 + 0.2135636098589596E-04 + 0.2126604270257209E-04 + 0.2117610043344610E-04 + 0.2108653216800490E-04 + 0.2099733585587131E-04 + 0.2090850934118491E-04 + 0.2082005046287370E-04 + 0.2073195758475607E-04 + 0.2064422978751074E-04 + 0.2055686621593782E-04 + 0.2046986618677686E-04 + 0.2038322914166357E-04 + 0.2029695451464272E-04 + 0.2021104167673007E-04 + 0.2012548997532720E-04 + 0.2004029876205308E-04 + 0.1995546740103162E-04 + 0.1987099525861729E-04 + 0.1978688169825945E-04 + 0.1970312607904308E-04 + 0.1961972775912630E-04 + 0.1953668608770254E-04 + 0.1945400040680608E-04 + 0.1937167005997799E-04 + 0.1928969440233630E-04 + 0.1920807279380263E-04 + 0.1912680458304898E-04 + 0.1904588908197437E-04 + 0.1896532559528755E-04 + 0.1888511344936612E-04 + 0.1880525200643343E-04 + 0.1872574062999789E-04 + 0.1864657864538306E-04 + 0.1856776534440688E-04 + 0.1848930002092356E-04 + 0.1841118199292229E-04 + 0.1833341058948315E-04 + 0.1825598513575345E-04 + 0.1817890494237707E-04 + 0.1810216931667715E-04 + 0.1802577756318579E-04 + 0.1794972898134754E-04 + 0.1787402287003069E-04 + 0.1779865852734255E-04 + 0.1772363525065644E-04 + 0.1764895233631991E-04 + 0.1757460907215692E-04 + 0.1750060474166315E-04 + 0.1742693862829205E-04 + 0.1735361001546279E-04 + 0.1728061818655306E-04 + 0.1720796242049997E-04 + 0.1713564198730549E-04 + 0.1706365615591488E-04 + 0.1699200419566105E-04 + 0.1692068537628685E-04 + 0.1684969896647512E-04 + 0.1677904422447737E-04 + 0.1670872040270205E-04 + 0.1663872675521945E-04 + 0.1656906254388435E-04 + 0.1649972703270406E-04 + 0.1643071947735489E-04 + 0.1636203911498761E-04 + 0.1629368518013429E-04 + 0.1622565690360986E-04 + 0.1615795351190623E-04 + 0.1609057423310252E-04 + 0.1602351831533003E-04 + 0.1595678501909744E-04 + 0.1589037359559382E-04 + 0.1582428324825604E-04 + 0.1575851316559477E-04 + 0.1569306255031554E-04 + 0.1562793064008034E-04 + 0.1556311667716354E-04 + 0.1549861987872017E-04 + 0.1543443942980192E-04 + 0.1537057451529318E-04 + 0.1530702434412061E-04 + 0.1524378814154734E-04 + 0.1518086512691821E-04 + 0.1511825448464796E-04 + 0.1505595538699322E-04 + 0.1499396701285372E-04 + 0.1493228855929305E-04 + 0.1487091922619349E-04 + 0.1480985820171293E-04 + 0.1474910465753407E-04 + 0.1468865776429942E-04 + 0.1462851669545200E-04 + 0.1456868062652814E-04 + 0.1450914873110828E-04 + 0.1444992017020579E-04 + 0.1439099409997904E-04 + 0.1433236967993959E-04 + 0.1427404607979379E-04 + 0.1421602247090759E-04 + 0.1415829800888032E-04 + 0.1410087182493411E-04 + 0.1404374304947782E-04 + 0.1398691083402439E-04 + 0.1393037434742315E-04 + 0.1387413275348135E-04 + 0.1381818517702771E-04 + 0.1376253072620334E-04 + 0.1370716851568039E-04 + 0.1365209768235625E-04 + 0.1359731736773663E-04 + 0.1354282670792533E-04 + 0.1348862482982689E-04 + 0.1343471085870798E-04 + 0.1338108390555560E-04 + 0.1332774306846915E-04 + 0.1327468744625539E-04 + 0.1322191614693619E-04 + 0.1316942828289680E-04 + 0.1311722296616547E-04 + 0.1306529930733411E-04 + 0.1301365641655326E-04 + 0.1296229339275182E-04 + 0.1291120931378928E-04 + 0.1286040325577099E-04 + 0.1280987430767639E-04 + 0.1275962157124823E-04 + 0.1270964414576976E-04 + 0.1265994110387018E-04 + 0.1261051150423953E-04 + 0.1256135441084405E-04 + 0.1251246891021034E-04 + 0.1246385409469216E-04 + 0.1241550904628978E-04 + 0.1236743282554062E-04 + 0.1231962449014679E-04 + 0.1227208309325628E-04 + 0.1222480768305809E-04 + 0.1217779730850652E-04 + 0.1213105102873730E-04 + 0.1208456790875799E-04 + 0.1203834700936055E-04 + 0.1199238737137375E-04 + 0.1194668802983983E-04 + 0.1190124802460665E-04 + 0.1185606640653891E-04 + 0.1181114222751025E-04 + 0.1176647452221659E-04 + 0.1172206230480483E-04 + 0.1167790458953995E-04 + 0.1163400040580230E-04 + 0.1159034879257497E-04 + 0.1154694878795406E-04 + 0.1150379942463216E-04 + 0.1146089973352287E-04 + 0.1141824873269694E-04 + 0.1137584540762773E-04 + 0.1133368873939013E-04 + 0.1129177773689002E-04 + 0.1125011144562409E-04 + 0.1120868891026950E-04 + 0.1116750913248553E-04 + 0.1112657108385435E-04 + 0.1108587373990038E-04 + 0.1104541610257111E-04 + 0.1100519718330302E-04 + 0.1096521598709183E-04 + 0.1092547150076364E-04 + 0.1088596270807539E-04 + 0.1084668859805372E-04 + 0.1080764816734466E-04 + 0.1076884041223137E-04 + 0.1073026431468616E-04 + 0.1069191884567808E-04 + 0.1065380297658132E-04 + 0.1061591568322319E-04 + 0.1057825594320584E-04 + 0.1054082273389849E-04 + 0.1050361503192795E-04 + 0.1046663181360112E-04 + 0.1042987204395077E-04 + 0.1039333467006828E-04 + 0.1035701863862637E-04 + 0.1032092291670648E-04 + 0.1028504648863444E-04 + 0.1024938833572335E-04 + 0.1021394741347715E-04 + 0.1017872266600977E-04 + 0.1014371303921106E-04 + 0.1010891748532671E-04 + 0.1007433495796015E-04 + 0.1003996440866817E-04 + 0.1000580478541977E-04 + 0.9971855035756583E-05 + 0.9938114105918372E-05 + 0.9904580940936560E-05 + 0.9871254485314347E-05 + 0.9838133679618123E-05 + 0.9805217462493856E-05 + 0.9772504772481884E-05 + 0.9739994547763992E-05 + 0.9707685726419982E-05 + 0.9675577244702275E-05 + 0.9643668035329199E-05 + 0.9611957030574480E-05 + 0.9580443161737870E-05 + 0.9549125359125931E-05 + 0.9518002552793368E-05 + 0.9487073670888222E-05 + 0.9456337640531681E-05 + 0.9425793388451492E-05 + 0.9395439839719460E-05 + 0.9365275918953905E-05 + 0.9335300549588890E-05 + 0.9305512652528689E-05 + 0.9275911148376185E-05 + 0.9246494958425529E-05 + 0.9217263004744563E-05 + 0.9188214209001444E-05 + 0.9159347488276930E-05 + 0.9130661756927982E-05 + 0.9102155929814295E-05 + 0.9073828924387060E-05 + 0.9045679658871045E-05 + 0.9017707050145274E-05 + 0.8989910011908588E-05 + 0.8962287457387305E-05 + 0.8934838299340582E-05 + 0.8907561449953242E-05 + 0.8880455821412422E-05 + 0.8853520326351122E-05 + 0.8826753877694063E-05 + 0.8800155388122121E-05 + 0.8773723768980293E-05 + 0.8747457931167315E-05 + 0.8721356785277802E-05 + 0.8695419241111335E-05 + 0.8669644208350722E-05 + 0.8644030597175579E-05 + 0.8618577318437113E-05 + 0.8593283283000613E-05 + 0.8568147401274382E-05 + 0.8543168583337819E-05 + 0.8518345739178962E-05 + 0.8493677778279935E-05 + 0.8469163609936203E-05 + 0.8444802144331900E-05 + 0.8420592294233282E-05 + 0.8396532972847808E-05 + 0.8372623092032967E-05 + 0.8348861561637557E-05 + 0.8325247291502102E-05 + 0.8301779193884398E-05 + 0.8278456182954177E-05 + 0.8255277172903314E-05 + 0.8232241077722618E-05 + 0.8209346811320518E-05 + 0.8186593288103659E-05 + 0.8163979424088810E-05 + 0.8141504135627454E-05 + 0.8119166339787396E-05 + 0.8096964954809957E-05 + 0.8074898899072334E-05 + 0.8052967091442637E-05 + 0.8031168451215818E-05 + 0.8009501898168113E-05 + 0.7987966355586151E-05 + 0.7966560748353474E-05 + 0.7945284001281556E-05 + 0.7924135038893112E-05 + 0.7903112785662927E-05 + 0.7882216167637153E-05 + 0.7861444113698463E-05 + 0.7840795553129144E-05 + 0.7820269417367987E-05 + 0.7799864639912434E-05 + 0.7779580154589411E-05 + 0.7759414897313972E-05 + 0.7739367805050801E-05 + 0.7719437815110309E-05 + 0.7699623866154690E-05 + 0.7679924897203949E-05 + 0.7660339849903828E-05 + 0.7640867671130003E-05 + 0.7621507308398869E-05 + 0.7602257709756561E-05 + 0.7583117823804741E-05 + 0.7564086599610165E-05 + 0.7545162990426796E-05 + 0.7526345951830949E-05 + 0.7507634440208175E-05 + 0.7489027415442838E-05 + 0.7470523838402978E-05 + 0.7452122671750603E-05 + 0.7433822882096409E-05 + 0.7415623436635002E-05 + 0.7397523304301517E-05 + 0.7379521456036220E-05 + 0.7361616863402953E-05 + 0.7343808503507463E-05 + 0.7326095356843063E-05 + 0.7308476404462130E-05 + 0.7290950629953624E-05 + 0.7273517017700755E-05 + 0.7256174554573606E-05 + 0.7238922233499666E-05 + 0.7221759048390709E-05 + 0.7204683996067653E-05 + 0.7187696077033634E-05 + 0.7170794292293636E-05 + 0.7153977646117546E-05 + 0.7137245144972313E-05 + 0.7120595796550294E-05 + 0.7104028615111417E-05 + 0.7087542617182074E-05 + 0.7071136821323922E-05 + 0.7054810251588794E-05 + 0.7038561933012527E-05 + 0.7022390893663378E-05 + 0.7006296165829626E-05 + 0.6990276782483631E-05 + 0.6974331781848006E-05 + 0.6958460206031453E-05 + 0.6942661098096330E-05 + 0.6926933506447554E-05 + 0.6911276481534966E-05 + 0.6895689076373351E-05 + 0.6880170351655332E-05 + 0.6864719369557339E-05 + 0.6849335195208450E-05 + 0.6834016898258688E-05 + 0.6818763549095648E-05 + 0.6803574223890454E-05 + 0.6788448003519708E-05 + 0.6773383970009429E-05 + 0.6758381212408598E-05 + 0.6743438822742477E-05 + 0.6728555895163114E-05 + 0.6713731530877050E-05 + 0.6698964832601785E-05 + 0.6684254906295379E-05 + 0.6669600863379960E-05 + 0.6655001816206678E-05 + 0.6640456884771191E-05 + 0.6625965195902461E-05 + 0.6611525877262548E-05 + 0.6597138061124381E-05 + 0.6582800881922060E-05 + 0.6568513476859854E-05 + 0.6554274993376540E-05 + 0.6540084581319711E-05 + 0.6525941394168639E-05 + 0.6511844592153695E-05 + 0.6497793336488901E-05 + 0.6483786793922736E-05 + 0.6469824136638032E-05 + 0.6455904538056680E-05 + 0.6442027180454311E-05 + 0.6428191250690286E-05 + 0.6414395937371975E-05 + 0.6400640436173278E-05 + 0.6386923944629203E-05 + 0.6373245665526333E-05 + 0.6359604812428349E-05 + 0.6346000600368341E-05 + 0.6332432248258063E-05 + 0.6318898979192516E-05 + 0.6305400017528191E-05 + 0.6291934598054932E-05 + 0.6278501961520616E-05 + 0.6265101350610600E-05 + 0.6251732016612966E-05 + 0.6238393213307477E-05 + 0.6225084198253494E-05 + 0.6211804237584552E-05 + 0.6198552598831991E-05 + 0.6185328556396458E-05 + 0.6172131392817425E-05 + 0.6158960391736004E-05 + 0.6145814843872186E-05 + 0.6132694044399468E-05 + 0.6119597290903966E-05 + 0.6106523893004586E-05 + 0.6093473164179599E-05 + 0.6080444420980387E-05 + 0.6067436987673646E-05 + 0.6054450189894897E-05 + 0.6041483360184125E-05 + 0.6028535840071835E-05 + 0.6015606972373173E-05 + 0.6002696108642582E-05 + 0.5989802606485939E-05 + 0.5976925825366607E-05 + 0.5964065134698958E-05 + 0.5951219907440363E-05 + 0.5938389520044989E-05 + 0.5925573358696723E-05 + 0.5912770811392697E-05 + 0.5899981272592227E-05 + 0.5887204146007764E-05 + 0.5874438836652233E-05 + 0.5861684758186515E-05 + 0.5848941330856540E-05 + 0.5836207976746889E-05 + 0.5823484128662239E-05 + 0.5810769223637116E-05 + 0.5798062701832758E-05 + 0.5785364013054318E-05 + 0.5772672609078522E-05 + 0.5759987948699655E-05 + 0.5747309501770048E-05 + 0.5734636739469014E-05 + 0.5721969139006482E-05 + 0.5709306182639366E-05 + 0.5696647354815891E-05 + 0.5683992154595245E-05 + 0.5671340087418796E-05 + 0.5658690660774437E-05 + 0.5646043389103284E-05 + 0.5633397788426913E-05 + 0.5620753381879984E-05 + 0.5608109704944997E-05 + 0.5595466294713987E-05 + 0.5582822695752365E-05 + 0.5570178459496661E-05 + 0.5557533138906358E-05 + 0.5544886297158004E-05 + 0.5532237502362571E-05 + 0.5519586326003632E-05 + 0.5506932352369351E-05 + 0.5494275168849857E-05 + 0.5481614366786492E-05 + 0.5468949545085390E-05 + 0.5456280303966907E-05 + 0.5443606254422871E-05 + 0.5430927018323061E-05 + 0.5418242218787227E-05 + 0.5405551485917766E-05 + 0.5392854453540154E-05 + 0.5380150758625447E-05 + 0.5367440051426854E-05 + 0.5354721985772276E-05 + 0.5341996220595755E-05 + 0.5329262425627649E-05 + 0.5316520272193284E-05 + 0.5303769437833326E-05 + 0.5291009606982756E-05 + 0.5278240465547691E-05 + 0.5265461710867275E-05 + 0.5252673047002397E-05 + 0.5239874180534516E-05 + 0.5227064829628815E-05 + 0.5214244715905807E-05 + 0.5201413564701225E-05 + 0.5188571110038049E-05 + 0.5175717087425296E-05 + 0.5162851240699790E-05 + 0.5149973323847924E-05 + 0.5137083092192359E-05 + 0.5124180309482628E-05 + 0.5111264744924703E-05 + 0.5098336170175233E-05 + 0.5085394369405950E-05 + 0.5072439130929867E-05 + 0.5059470246084420E-05 + 0.5046487514035580E-05 + 0.5033490735406540E-05 + 0.5020479719416072E-05 + 0.5007454286797448E-05 + 0.4994414259586778E-05 + 0.4981359466459278E-05 + 0.4968289740820232E-05 + 0.4955204918327045E-05 + 0.4942104847376837E-05 + 0.4928989381043378E-05 + 0.4915858375277821E-05 + 0.4902711694282084E-05 + 0.4889549203866972E-05 + 0.4876370776970004E-05 + 0.4863176297029018E-05 + 0.4849965648775905E-05 + 0.4836738723883817E-05 + 0.4823495419463182E-05 + 0.4810235634517936E-05 + 0.4796959279635958E-05 + 0.4783666270117490E-05 + 0.4770356523745922E-05 + 0.4757029966193645E-05 + 0.4743686524810073E-05 + 0.4730326134099587E-05 + 0.4716948740171466E-05 + 0.4703554290437173E-05 + 0.4690142736604861E-05 + 0.4676714034081511E-05 + 0.4663268140169718E-05 + 0.4649805025356932E-05 + 0.4636324666066774E-05 + 0.4622827040771273E-05 + 0.4609312135122524E-05 + 0.4595779936425725E-05 + 0.4582230437312171E-05 + 0.4568663639932618E-05 + 0.4555079547692784E-05 + 0.4541478169587733E-05 + 0.4527859519897741E-05 + 0.4514223614492064E-05 + 0.4500570480778371E-05 + 0.4486900151905338E-05 + 0.4473212662430351E-05 + 0.4459508052322417E-05 + 0.4445786362931688E-05 + 0.4432047641026135E-05 + 0.4418291944057250E-05 + 0.4404519330934140E-05 + 0.4390729865675985E-05 + 0.4376923617609495E-05 + 0.4363100657164392E-05 + 0.4349261062838029E-05 + 0.4335404917557833E-05 + 0.4321532306208683E-05 + 0.4307643322107219E-05 + 0.4293738060913562E-05 + 0.4279816622052922E-05 + 0.4265879113153890E-05 + 0.4251925643066445E-05 + 0.4237956324815841E-05 + 0.4223971276191133E-05 + 0.4209970616079522E-05 + 0.4195954472318118E-05 + 0.4181922978160932E-05 + 0.4167876268221442E-05 + 0.4153814483423785E-05 + 0.4139737766635995E-05 + 0.4125646263232600E-05 + 0.4111540124629758E-05 + 0.4097419503318874E-05 + 0.4083284558369400E-05 + 0.4069135457097365E-05 + 0.4054972367601284E-05 + 0.4040795461143076E-05 + 0.4026604911092601E-05 + 0.4012400892487849E-05 + 0.3998183589302569E-05 + 0.3983953188560985E-05 + 0.3969709879364161E-05 + 0.3955453856355824E-05 + 0.3941185315179608E-05 + 0.3926904455228704E-05 + 0.3912611481063776E-05 + 0.3898306598059841E-05 + 0.3883990017679596E-05 + 0.3869661955848292E-05 + 0.3855322629255948E-05 + 0.3840972258649160E-05 + 0.3826611066311847E-05 + 0.3812239277288557E-05 + 0.3797857124804223E-05 + 0.3783464843619711E-05 + 0.3769062669976234E-05 + 0.3754650842359805E-05 + 0.3740229599832397E-05 + 0.3725799187691833E-05 + 0.3711359856261005E-05 + 0.3696911856567237E-05 + 0.3682455443486690E-05 + 0.3667990873510092E-05 + 0.3653518404528295E-05 + 0.3639038299031541E-05 + 0.3624550820499937E-05 + 0.3610056235601716E-05 + 0.3595554816327655E-05 + 0.3581046835320845E-05 + 0.3566532567960656E-05 + 0.3552012292049085E-05 + 0.3537486286003139E-05 + 0.3522954832325675E-05 + 0.3508418215415277E-05 + 0.3493876720707201E-05 + 0.3479330637404046E-05 + 0.3464780255598670E-05 + 0.3450225868003625E-05 + 0.3435667772152774E-05 + 0.3421106266151611E-05 + 0.3406541649270198E-05 + 0.3391974221911251E-05 + 0.3377404285100216E-05 + 0.3362832144848640E-05 + 0.3348258109723590E-05 + 0.3333682488669827E-05 + 0.3319105592091733E-05 + 0.3304527730779386E-05 + 0.3289949217336963E-05 + 0.3275370368053573E-05 + 0.3260791499761718E-05 + 0.3246212931795869E-05 + 0.3231634986163506E-05 + 0.3217057985063907E-05 + 0.3202482251295535E-05 + 0.3187908107995743E-05 + 0.3173335879016451E-05 + 0.3158765891447311E-05 + 0.3144198473306153E-05 + 0.3129633954081382E-05 + 0.3115072666563266E-05 + 0.3100514943991144E-05 + 0.3085961119571612E-05 + 0.3071411526472767E-05 + 0.3056866498051072E-05 + 0.3042326369775631E-05 + 0.3027791478431717E-05 + 0.3013262161170478E-05 + 0.2998738756899664E-05 + 0.2984221605085256E-05 + 0.2969711045934504E-05 + 0.2955207421496457E-05 + 0.2940711074103333E-05 + 0.2926222346154239E-05 + 0.2911741580134710E-05 + 0.2897269118633995E-05 + 0.2882805305481094E-05 + 0.2868350485355171E-05 + 0.2853905002904821E-05 + 0.2839469202511764E-05 + 0.2825043428465480E-05 + 0.2810628026271223E-05 + 0.2796223344785677E-05 + 0.2781829733389925E-05 + 0.2767447539158527E-05 + 0.2753077105895585E-05 + 0.2738718777415804E-05 + 0.2724372901294625E-05 + 0.2710039827943604E-05 + 0.2695719907366263E-05 + 0.2681413486540134E-05 + 0.2667120911261758E-05 + 0.2652842527410352E-05 + 0.2638578681126150E-05 + 0.2624329718618002E-05 + 0.2610095987238502E-05 + 0.2595877836125050E-05 + 0.2581675614348924E-05 + 0.2567489667275682E-05 + 0.2553320337199141E-05 + 0.2539167966791544E-05 + 0.2525032902067574E-05 + 0.2510915490486704E-05 + 0.2496816078462329E-05 + 0.2482735008826106E-05 + 0.2468672623644528E-05 + 0.2454629264699855E-05 + 0.2440605273285965E-05 + 0.2426600990651672E-05 + 0.2412616758106858E-05 + 0.2398652917017019E-05 + 0.2384709808329561E-05 + 0.2370787769644997E-05 + 0.2356887136963943E-05 + 0.2343008246520916E-05 + 0.2329151435474626E-05 + 0.2315317041185955E-05 + 0.2301505399126660E-05 + 0.2287716841188199E-05 + 0.2273951698848134E-05 + 0.2260210303248718E-05 + 0.2246492985196722E-05 + 0.2232800075298495E-05 + 0.2219131902492394E-05 + 0.2205488794836151E-05 + 0.2191871079516271E-05 + 0.2178279080072759E-05 + 0.2164713119081292E-05 + 0.2151173518795934E-05 + 0.2137660600797695E-05 + 0.2124174686508284E-05 + 0.2110716095301704E-05 + 0.2097285144302008E-05 + 0.2083882150294803E-05 + 0.2070507427800215E-05 + 0.2057161290019658E-05 + 0.2043844049704625E-05 + 0.2030556017567093E-05 + 0.2017297503712249E-05 + 0.2004068816395666E-05 + 0.1990870259592295E-05 + 0.1977702136655053E-05 + 0.1964564750335761E-05 + 0.1951458402660667E-05 + 0.1938383395370850E-05 + 0.1925340027418816E-05 + 0.1912328595969099E-05 + 0.1899349397178586E-05 + 0.1886402722070886E-05 + 0.1873488859991211E-05 + 0.1860608099999008E-05 + 0.1847760730423291E-05 + 0.1834947039400635E-05 + 0.1822167311922278E-05 + 0.1809421828806370E-05 + 0.1796710870481073E-05 + 0.1784034716028053E-05 + 0.1771393643578921E-05 + 0.1758787930315806E-05 + 0.1746217847975431E-05 + 0.1733683666316670E-05 + 0.1721185654138708E-05 + 0.1708724077519049E-05 + 0.1696299202027660E-05 + 0.1683911291857010E-05 + 0.1671560609189519E-05 + 0.1659247415689793E-05 + 0.1646971967590755E-05 + 0.1634734516911202E-05 + 0.1622535315394978E-05 + 0.1610374613707879E-05 + 0.1598252662081014E-05 + 0.1586169708886456E-05 + 0.1574125996625550E-05 + 0.1562121766627604E-05 + 0.1550157259218876E-05 + 0.1538232713114637E-05 + 0.1526348366548031E-05 + 0.1514504451844873E-05 + 0.1502701196294559E-05 + 0.1490938827022936E-05 + 0.1479217571139426E-05 + 0.1467537655745954E-05 + 0.1455899305805943E-05 + 0.1444302738763541E-05 + 0.1432748170398665E-05 + 0.1421235815375925E-05 + 0.1409765886386188E-05 + 0.1398338595682855E-05 + 0.1386954150691706E-05 + 0.1375612754316762E-05 + 0.1364314609035300E-05 + 0.1353059915239912E-05 + 0.1341848872296368E-05 + 0.1330681678170305E-05 + 0.1319558525372934E-05 + 0.1308479605063388E-05 + 0.1297445106281072E-05 + 0.1286455213927100E-05 + 0.1275510112274743E-05 + 0.1264609981980699E-05 + 0.1253754999980947E-05 + 0.1242945342686211E-05 + 0.1232181183203477E-05 + 0.1221462692843518E-05 + 0.1210790041740324E-05 + 0.1200163394973214E-05 + 0.1189582916232470E-05 + 0.1179048767170613E-05 + 0.1168561105045538E-05 + 0.1158120086431687E-05 + 0.1147725864667240E-05 + 0.1137378589433267E-05 + 0.1127078409822468E-05 + 0.1116825470795853E-05 + 0.1106619914838360E-05 + 0.1096461883376525E-05 + 0.1086351512854607E-05 + 0.1076288938199998E-05 + 0.1066274292802973E-05 + 0.1056307706386973E-05 + 0.1046389308025257E-05 + 0.1036519222743535E-05 + 0.1026697570541839E-05 + 0.1016924470864196E-05 + 0.1007200040247109E-05 + 0.9975243933081844E-06 + 0.9878976435822848E-06 + 0.9783198989174224E-06 + 0.9687912652401995E-06 + 0.9593118468677787E-06 + 0.9498817438656582E-06 + 0.9405010555337082E-06 + 0.9311698780812755E-06 + 0.9218883034991116E-06 + 0.9126564231938392E-06 + 0.9034743247206443E-06 + 0.8943420928385958E-06 + 0.8852598114407156E-06 + 0.8762275595561436E-06 + 0.8672454143912200E-06 + 0.8583134515109279E-06 + 0.8494317416726902E-06 + 0.8406003547071251E-06 + 0.8318193577182523E-06 + 0.8230888137162674E-06 + 0.8144087851299421E-06 + 0.8057793305269172E-06 + 0.7972005053932172E-06 + 0.7886723644295602E-06 + 0.7801949575969363E-06 + 0.7717683328888215E-06 + 0.7633925368566583E-06 + 0.7550676113682654E-06 + 0.7467935973013323E-06 + 0.7385705328992247E-06 + 0.7303984520501892E-06 + 0.7222773880346027E-06 + 0.7142073704686637E-06 + 0.7061884257551094E-06 + 0.6982205795893864E-06 + 0.6903038531186074E-06 + 0.6824382654009911E-06 + 0.6746238342065168E-06 + 0.6668605726673893E-06 + 0.6591484928381376E-06 + 0.6514876043106393E-06 + 0.6438779121892715E-06 + 0.6363194209444931E-06 + 0.6288121316620843E-06 + 0.6213560421671819E-06 + 0.6139511496432406E-06 + 0.6065974469193920E-06 + 0.5992949246153552E-06 + 0.5920435721347644E-06 + 0.5848433740334330E-06 + 0.5776943136269059E-06 + 0.5705963721824478E-06 + 0.5635495268483020E-06 + 0.5565537541484521E-06 + 0.5496090272714024E-06 + 0.5427153158764528E-06 + 0.5358725890223592E-06 + 0.5290808116067484E-06 + 0.5223399461977436E-06 + 0.5156499543403273E-06 + 0.5090107930849852E-06 + 0.5024224182076757E-06 + 0.4958847835341011E-06 + 0.4893978385556888E-06 + 0.4829615320808422E-06 + 0.4765758098777304E-06 + 0.4702406141805605E-06 + 0.4639558866798447E-06 + 0.4577215652876562E-06 + 0.4515375855851034E-06 + 0.4454038822127005E-06 + 0.4393203852594868E-06 + 0.4332870233838145E-06 + 0.4273037235370630E-06 + 0.4213704084724784E-06 + 0.4154870002380198E-06 + 0.4096534182144143E-06 + 0.4038695783755031E-06 + 0.3981353961637267E-06 + 0.3924507831611813E-06 + 0.3868156483284007E-06 + 0.3812298998771784E-06 + 0.3756934421037644E-06 + 0.3702061779389951E-06 + 0.3647680087203611E-06 + 0.3593788314435065E-06 + 0.3540385423181470E-06 + 0.3487470351055996E-06 + 0.3435042001287173E-06 + 0.3383099272143726E-06 + 0.3331641027810562E-06 + 0.3280666107014818E-06 + 0.3230173341751046E-06 + 0.3180161525683699E-06 + 0.3130629437664068E-06 + 0.3081575842786451E-06 + 0.3032999464575278E-06 + 0.2984899018343359E-06 + 0.2937273197306885E-06 + 0.2890120660536766E-06 + 0.2843440062315021E-06 + 0.2797230026135880E-06 + 0.2751489150217092E-06 + 0.2706216026842837E-06 + 0.2661409211938914E-06 + 0.2617067245872479E-06 + 0.2573188656890221E-06 + 0.2529771932615631E-06 + 0.2486815551896402E-06 + 0.2444317975466054E-06 + 0.2402277633228960E-06 + 0.2360692950478712E-06 + 0.2319562321564043E-06 + 0.2278884112921362E-06 + 0.2238656685984259E-06 + 0.2198878370683095E-06 + 0.2159547482039634E-06 + 0.2120662324949148E-06 + 0.2082221166668618E-06 + 0.2044222265468629E-06 + 0.2006663861862903E-06 + 0.1969544163043717E-06 + 0.1932861371478735E-06 + 0.1896613665789783E-06 + 0.1860799200972954E-06 + 0.1825416127196799E-06 + 0.1790462560794021E-06 + 0.1755936600413814E-06 + 0.1721836336816515E-06 + 0.1688159828454558E-06 + 0.1654905125248079E-06 + 0.1622070261953125E-06 + 0.1589653241907978E-06 + 0.1557652063664204E-06 + 0.1526064701905636E-06 + 0.1494889105341490E-06 + 0.1464123218756948E-06 + 0.1433764960734339E-06 + 0.1403812234752557E-06 + 0.1374262936754578E-06 + 0.1345114928459430E-06 + 0.1316366061586424E-06 + 0.1288014175666548E-06 + 0.1260057082312268E-06 + 0.1232492588619582E-06 + 0.1205318481420193E-06 + 0.1178532523318530E-06 + 0.1152132473115287E-06 + 0.1126116062539515E-06 + 0.1100481006131070E-06 + 0.1075225013062501E-06 + 0.1050345766081114E-06 + 0.1025840939360849E-06 + 0.1001708195180040E-06 + 0.9779451656500477E-07 + 0.9545494777588960E-07 + 0.9315187420804525E-07 + 0.9088505476204741E-07 + 0.8865424800984156E-07 + 0.8645921015959424E-07 + 0.8429969576769068E-07 + 0.8217545890910184E-07 + 0.8008625106635790E-07 + 0.7803182278973576E-07 + 0.7601192370141962E-07 + 0.7402630081539348E-07 + 0.7207470066073768E-07 + 0.7015686829153332E-07 + 0.6827254663045870E-07 + 0.6642147829765744E-07 + 0.6460340388155990E-07 + 0.6281806240940673E-07 + 0.6106519250442548E-07 + 0.5934453043257769E-07 + 0.5765581152051182E-07 + 0.5599877034284896E-07 + 0.5437313913079716E-07 + 0.5277864963922838E-07 + 0.5121503235698222E-07 + 0.4968201575942023E-07 + 0.4817932804163794E-07 + 0.4670669565521869E-07 + 0.4526384357941694E-07 + 0.4385049645986499E-07 + 0.4246637685684110E-07 + 0.4111120641082522E-07 + 0.3978470615375257E-07 + 0.3848659501514017E-07 + 0.3721659145542494E-07 + 0.3597441287951810E-07 + 0.3475977484287624E-07 + 0.3357239264036065E-07 + 0.3241198008138421E-07 + 0.3127824959727312E-07 + 0.3017091334828970E-07 + 0.2908968170978850E-07 + 0.2803426418682033E-07 + 0.2700436979112619E-07 + 0.2599970564657991E-07 + 0.2501997841298010E-07 + 0.2406489390399068E-07 + 0.2313415629795483E-07 + 0.2222746953385027E-07 + 0.2134453629923359E-07 + 0.2048505800645788E-07 + 0.1964873584645747E-07 + 0.1883526950219546E-07 + 0.1804435784496106E-07 + 0.1727569936387682E-07 + 0.1652899093314275E-07 + 0.1580392898765513E-07 + 0.1510020928206024E-07 + 0.1441752611887658E-07 + 0.1375557357856084E-07 + 0.1311404473629176E-07 + 0.1249263154204051E-07 + 0.1189102576639504E-07 + 0.1130891793224932E-07 + 0.1074599782209759E-07 + 0.1020195492658394E-07 + 0.9676477380078513E-08 + 0.9169252908012705E-08 + 0.8679968716306854E-08 + 0.8208310784273248E-08 + 0.7753964891347240E-08 + 0.7316616027630792E-08 + 0.6895948212501615E-08 + 0.6491645321691415E-08 + 0.6103390237294080E-08 + 0.5730865192058381E-08 + 0.5373752205182884E-08 + 0.5031732210905771E-08 + 0.4704485780613156E-08 + 0.4391693103727141E-08 + 0.4093033370971466E-08 + 0.3808185597905455E-08 + 0.3536828210561680E-08 + 0.3278638838030937E-08 + 0.3033294997626480E-08 + 0.2800473458925649E-08 + 0.2579850453889582E-08 + 0.2371102066325824E-08 + 0.2173903563644896E-08 + 0.1987929910506128E-08 + 0.1812855807576849E-08 + 0.1648355190453705E-08 + 0.1494101849161830E-08 + 0.1349769170490019E-08 + 0.1215029941633985E-08 + 0.1089556867847725E-08 + 0.9730221368385021E-09 + 0.8650975272068095E-09 + 0.7654547232242232E-09 + 0.6737648520559249E-09 + 0.5896988119939683E-09 + 0.5129273418258451E-09 + 0.4431206678583689E-09 + 0.3799489097542708E-09 + 0.3230819454538914E-09 + 0.2721892571953410E-09 + 0.2269402741465802E-09 + 0.1870041281684092E-09 + 0.1520496928780415E-09 + 0.1217457928249455E-09 + 0.9576094849258155E-10 + 0.7376354214115687E-10 + 0.5542188313021286E-10 + 0.4040402149759292E-10 + 0.2837794809470561E-10 + 0.1901156053272153E-10 + 0.1197258820481473E-10 + 0.6928737487361236E-11 + 0.3547601037696740E-11 + 0.1496663006411428E-11 + 0.4434065953337260E-12 + 0.5534356026380010E-13 + 0.0000000000000000E+00 + 0.1939304866001054E+00 + 0.3874703898474606E+00 + 0.5806201046391736E+00 + 0.7733800256954890E+00 + 0.9657505475597874E+00 + 0.1157732064598588E+01 + 0.1349324971001545E+01 + 0.1540529660781451E+01 + 0.1731346527774235E+01 + 0.1921775965638961E+01 + 0.2111818367857834E+01 + 0.2301474127736192E+01 + 0.2490743638402511E+01 + 0.2679627292808404E+01 + 0.2868125483728622E+01 + 0.3056238603761051E+01 + 0.3243967045326716E+01 + 0.3431311200669775E+01 + 0.3618271461857528E+01 + 0.3804848220780407E+01 + 0.3991041869151986E+01 + 0.4176852798508969E+01 + 0.4362281400211204E+01 + 0.4547328065441673E+01 + 0.4731993185206492E+01 + 0.4916277150334918E+01 + 0.5100180351479344E+01 + 0.5283703179115298E+01 + 0.5466846023541446E+01 + 0.5649609274879590E+01 + 0.5831993323074672E+01 + 0.6013998557894766E+01 + 0.6195625368931088E+01 + 0.6376874145597987E+01 + 0.6557745277132948E+01 + 0.6738239152596601E+01 + 0.6918356160872703E+01 + 0.7098096690668148E+01 + 0.7277461130512979E+01 + 0.7456449868760361E+01 + 0.7635063293586603E+01 + 0.7813301792991152E+01 + 0.7991165754796590E+01 + 0.8168655566648635E+01 + 0.8345771616016142E+01 + 0.8522514290191106E+01 + 0.8698883976288657E+01 + 0.8874881061247056E+01 + 0.9050505931827713E+01 + 0.9225758974615163E+01 + 0.9400640576017086E+01 + 0.9575151122264291E+01 + 0.9749290999410738E+01 + 0.9923060593333503E+01 + 0.1009646028973282E+02 + 0.1026949047413204E+02 + 0.1044215153187767E+02 + 0.1061444384813935E+02 + 0.1078636780790984E+02 + 0.1095792379600505E+02 + 0.1112911219706403E+02 + 0.1129993339554896E+02 + 0.1147038777574515E+02 + 0.1164047572176108E+02 + 0.1181019761752832E+02 + 0.1197955384680162E+02 + 0.1214854479315882E+02 + 0.1231717084000094E+02 + 0.1248543237055213E+02 + 0.1265332976785965E+02 + 0.1282086341479392E+02 + 0.1298803369404850E+02 + 0.1315484098814006E+02 + 0.1332128567940844E+02 + 0.1348736815001659E+02 + 0.1365308878195062E+02 + 0.1381844795701975E+02 + 0.1398344605685637E+02 + 0.1414808346291598E+02 + 0.1431236055647723E+02 + 0.1447627771864188E+02 + 0.1463983533033488E+02 + 0.1480303377230428E+02 + 0.1496587342512126E+02 + 0.1512835466918017E+02 + 0.1529047788469846E+02 + 0.1545224345171673E+02 + 0.1561365175009874E+02 + 0.1577470315953135E+02 + 0.1593539805952459E+02 + 0.1609573682941160E+02 + 0.1625571984834868E+02 + 0.1641534749531523E+02 + 0.1657462014911383E+02 + 0.1673353818837019E+02 + 0.1689210199153312E+02 + 0.1705031193687462E+02 + 0.1720816840248977E+02 + 0.1736567176629684E+02 + 0.1752282240603720E+02 + 0.1767962069927537E+02 + 0.1783606702339902E+02 + 0.1799216175561892E+02 + 0.1814790527296902E+02 + 0.1830329795230638E+02 + 0.1845834017031122E+02 + 0.1861303230348686E+02 + 0.1876737472815978E+02 + 0.1892136782047961E+02 + 0.1907501195641908E+02 + 0.1922830751177409E+02 + 0.1938125486216367E+02 + 0.1953385438302998E+02 + 0.1968610644963831E+02 + 0.1983801143707710E+02 + 0.1998956972025794E+02 + 0.2014078167391551E+02 + 0.2029164767260767E+02 + 0.2044216809071542E+02 + 0.2059234330244286E+02 + 0.2074217368181725E+02 + 0.2089165960268898E+02 + 0.2104080143873160E+02 + 0.2118959956344175E+02 + 0.2133805435013926E+02 + 0.2148616617196706E+02 + 0.2163393540189123E+02 + 0.2178136241270097E+02 + 0.2192844757700866E+02 + 0.2207519126724977E+02 + 0.2222159385568293E+02 + 0.2236765571438991E+02 + 0.2251337721527559E+02 + 0.2265875873006802E+02 + 0.2280380063031839E+02 + 0.2294850328740097E+02 + 0.2309286707251323E+02 + 0.2323689235667577E+02 + 0.2338057951073228E+02 + 0.2352392890534964E+02 + 0.2366694091101782E+02 + 0.2380961589804998E+02 + 0.2395195423658237E+02 + 0.2409395629657440E+02 + 0.2423562244780860E+02 + 0.2437695305989067E+02 + 0.2451794850224941E+02 + 0.2465860914413678E+02 + 0.2479893535462786E+02 + 0.2493892750262089E+02 + 0.2507858595683722E+02 + 0.2521791108582135E+02 + 0.2535690325794094E+02 + 0.2549556284138672E+02 + 0.2563389020417264E+02 + 0.2577188571413573E+02 + 0.2590954973893618E+02 + 0.2604688264605730E+02 + 0.2618388480280556E+02 + 0.2632055657631055E+02 + 0.2645689833352499E+02 + 0.2659291044122477E+02 + 0.2672859326600888E+02 + 0.2686394717429947E+02 + 0.2699897253234182E+02 + 0.2713366970620434E+02 + 0.2726803906177858E+02 + 0.2740208096477923E+02 + 0.2753579578074413E+02 + 0.2766918387503422E+02 + 0.2780224561283362E+02 + 0.2793498135914957E+02 + 0.2806739147881243E+02 + 0.2819947633647570E+02 + 0.2833123629661605E+02 + 0.2846267172353326E+02 + 0.2859378298135025E+02 + 0.2872457043401307E+02 + 0.2885503444529093E+02 + 0.2898517537877614E+02 + 0.2911499359788419E+02 + 0.2924448946585368E+02 + 0.2937366334574634E+02 + 0.2950251560044707E+02 + 0.2963104659266386E+02 + 0.2975925668492789E+02 + 0.2988714623959343E+02 + 0.3001471561883792E+02 + 0.3014196518466192E+02 + 0.3026889529888912E+02 + 0.3039550632316636E+02 + 0.3052179861896364E+02 + 0.3064777254757403E+02 + 0.3077342847011382E+02 + 0.3089876674752236E+02 + 0.3102378774056218E+02 + 0.3114849180981895E+02 + 0.3127287931570146E+02 + 0.3139695061844164E+02 + 0.3152070607809456E+02 + 0.3164414605453843E+02 + 0.3176727090747458E+02 + 0.3189008099642750E+02 + 0.3201257668074481E+02 + 0.3213475831959725E+02 + 0.3225662627197873E+02 + 0.3237818089670625E+02 + 0.3249942255241999E+02 + 0.3262035159758326E+02 + 0.3274096839048248E+02 + 0.3286127328922724E+02 + 0.3298126665175023E+02 + 0.3310094883580732E+02 + 0.3322032019897749E+02 + 0.3333938109866286E+02 + 0.3345813189208867E+02 + 0.3357657293630334E+02 + 0.3369470458817841E+02 + 0.3381252720440852E+02 + 0.3393004114151149E+02 + 0.3404724675582828E+02 + 0.3416414440352293E+02 + 0.3428073444058268E+02 + 0.3439701722281791E+02 + 0.3451299310586207E+02 + 0.3462866244517180E+02 + 0.3474402559602687E+02 + 0.3485908291353018E+02 + 0.3497383475260776E+02 + 0.3508828146800879E+02 + 0.3520242341430559E+02 + 0.3531626094589360E+02 + 0.3542979441699139E+02 + 0.3554302418164070E+02 + 0.3565595059370640E+02 + 0.3576857400687646E+02 + 0.3588089477466205E+02 + 0.3599291325039740E+02 + 0.3610462978723993E+02 + 0.3621604473817019E+02 + 0.3632715845599185E+02 + 0.3643797129333174E+02 + 0.3654848360263980E+02 + 0.3665869573618913E+02 + 0.3676860804607598E+02 + 0.3687822088421964E+02 + 0.3698753460236269E+02 + 0.3709654955207075E+02 + 0.3720526608473256E+02 + 0.3731368455156007E+02 + 0.3742180530358833E+02 + 0.3752962869167549E+02 + 0.3763715506650291E+02 + 0.3774438477857502E+02 + 0.3785131817821944E+02 + 0.3795795561558688E+02 + 0.3806429744065123E+02 + 0.3817034400320949E+02 + 0.3827609565288181E+02 + 0.3838155273911146E+02 + 0.3848671561116486E+02 + 0.3859158461813156E+02 + 0.3869616010892427E+02 + 0.3880044243227881E+02 + 0.3890443193675413E+02 + 0.3900812897073234E+02 + 0.3911153388241869E+02 + 0.3921464701984154E+02 + 0.3931746873085240E+02 + 0.3941999936312594E+02 + 0.3952223926415994E+02 + 0.3962418878127530E+02 + 0.3972584826161609E+02 + 0.3982721805214953E+02 + 0.3992829849966594E+02 + 0.4002908995077877E+02 + 0.4012959275192467E+02 + 0.4022980724936333E+02 + 0.4032973378917767E+02 + 0.4042937271727370E+02 + 0.4052872437938056E+02 + 0.4062778912105056E+02 + 0.4072656728765914E+02 + 0.4082505922440483E+02 + 0.4092326527630935E+02 + 0.4102118578821754E+02 + 0.4111882110479737E+02 + 0.4121617157053995E+02 + 0.4131323752975955E+02 + 0.4141001932659354E+02 + 0.4150651730500244E+02 + 0.4160273180876991E+02 + 0.4169866318150277E+02 + 0.4179431176663093E+02 + 0.4188967790740745E+02 + 0.4198476194690858E+02 + 0.4207956422803362E+02 + 0.4217408509350508E+02 + 0.4226832488586857E+02 + 0.4236228394749284E+02 + 0.4245596262056979E+02 + 0.4254936124711444E+02 + 0.4264248016896495E+02 + 0.4273531972778265E+02 + 0.4282788026505195E+02 + 0.4292016212208044E+02 + 0.4301216563999884E+02 + 0.4310389115976098E+02 + 0.4319533902214386E+02 + 0.4328650956774759E+02 + 0.4337740313699546E+02 + 0.4346802007013384E+02 + 0.4355836070723228E+02 + 0.4364842538818343E+02 + 0.4373821445270312E+02 + 0.4382772824033028E+02 + 0.4391696709042701E+02 + 0.4400593134217851E+02 + 0.4409462133459313E+02 + 0.4418303740650239E+02 + 0.4427117989656090E+02 + 0.4435904914324642E+02 + 0.4444664548485988E+02 + 0.4453396925952529E+02 + 0.4462102080518983E+02 + 0.4470780045962383E+02 + 0.4479430856042073E+02 + 0.4488054544499713E+02 + 0.4496651145059273E+02 + 0.4505220691427041E+02 + 0.4513763217291616E+02 + 0.4522278756323910E+02 + 0.4530767342177153E+02 + 0.4539229008486884E+02 + 0.4547663788870958E+02 + 0.4556071716929544E+02 + 0.4564452826245124E+02 + 0.4572807150382491E+02 + 0.4581134722888756E+02 + 0.4589435577293342E+02 + 0.4597709747107984E+02 + 0.4605957265826736E+02 + 0.4614178166925959E+02 + 0.4622372483864332E+02 + 0.4630540250082845E+02 + 0.4638681499004804E+02 + 0.4646796264035829E+02 + 0.4654884578563848E+02 + 0.4662946475959113E+02 + 0.4670981989574182E+02 + 0.4678991152743924E+02 + 0.4686973998785532E+02 + 0.4694930560998503E+02 + 0.4702860872664653E+02 + 0.4710764967048111E+02 + 0.4718642877395317E+02 + 0.4726494636935030E+02 + 0.4734320278878316E+02 + 0.4742119836418557E+02 + 0.4749893342731455E+02 + 0.4757640830975015E+02 + 0.4765362334289564E+02 + 0.4773057885797738E+02 + 0.4780727518604490E+02 + 0.4788371265797083E+02 + 0.4795989160445098E+02 + 0.4803581235600425E+02 + 0.4811147524297274E+02 + 0.4818688059552161E+02 + 0.4826202874363921E+02 + 0.4833692001713702E+02 + 0.4841155474564963E+02 + 0.4848593325863481E+02 + 0.4856005588537342E+02 + 0.4863392295496948E+02 + 0.4870753479635017E+02 + 0.4878089173826577E+02 + 0.4885399410928969E+02 + 0.4892684223781853E+02 + 0.4899943645207196E+02 + 0.4907177708009286E+02 + 0.4914386444974718E+02 + 0.4921569888872405E+02 + 0.4928728072453571E+02 + 0.4935861028451754E+02 + 0.4942968789582810E+02 + 0.4950051388544900E+02 + 0.4957108858018506E+02 + 0.4964141230666424E+02 + 0.4971148539133760E+02 + 0.4978130816047933E+02 + 0.4985088094018680E+02 + 0.4992020405638046E+02 + 0.4998927783480397E+02 + 0.5005810260102408E+02 + 0.5012667868043065E+02 + 0.5019500639823675E+02 + 0.5026308607947851E+02 + 0.5033091804901527E+02 + 0.5039850263152945E+02 + 0.5046584015152664E+02 + 0.5053293093333554E+02 + 0.5059977530110802E+02 + 0.5066637357881903E+02 + 0.5073272609026675E+02 + 0.5079883315907240E+02 + 0.5086469510868039E+02 + 0.5093031226235828E+02 + 0.5099568494319671E+02 + 0.5106081347410950E+02 + 0.5112569817783361E+02 + 0.5119033937692910E+02 + 0.5125473739377920E+02 + 0.5131889255059027E+02 + 0.5138280516939182E+02 + 0.5144647557203644E+02 + 0.5150990408019994E+02 + 0.5157309101538120E+02 + 0.5163603669890225E+02 + 0.5169874145190831E+02 + 0.5176120559536765E+02 + 0.5182342945007175E+02 + 0.5188541333663520E+02 + 0.5194715757549570E+02 + 0.5200866248691414E+02 + 0.5206992839097451E+02 + 0.5213095560758394E+02 + 0.5219174445647270E+02 + 0.5225229525719421E+02 + 0.5231260832912502E+02 + 0.5237268399146482E+02 + 0.5243252256323639E+02 + 0.5249212436328572E+02 + 0.5255148971028191E+02 + 0.5261061892271719E+02 + 0.5266951231890691E+02 + 0.5272817021698958E+02 + 0.5278659293492684E+02 + 0.5284478079050348E+02 + 0.5290273410132740E+02 + 0.5296045318482969E+02 + 0.5301793835826449E+02 + 0.5307518993870914E+02 + 0.5313220824306411E+02 + 0.5318899358805300E+02 + 0.5324554629022255E+02 + 0.5330186666594261E+02 + 0.5335795503140624E+02 + 0.5341381170262955E+02 + 0.5346943699545182E+02 + 0.5352483122553549E+02 + 0.5357999470836609E+02 + 0.5363492775925234E+02 + 0.5368963069332607E+02 + 0.5374410382554224E+02 + 0.5379834747067896E+02 + 0.5385236194333748E+02 + 0.5390614755794215E+02 + 0.5395970462874051E+02 + 0.5401303346980320E+02 + 0.5406613439502403E+02 + 0.5411900771811990E+02 + 0.5417165375263090E+02 + 0.5422407281192020E+02 + 0.5427626520917416E+02 + 0.5432823125740224E+02 + 0.5437997126943708E+02 + 0.5443148555793438E+02 + 0.5448277443537305E+02 + 0.5453383821405512E+02 + 0.5458467720610573E+02 + 0.5463529172347318E+02 + 0.5468568207792890E+02 + 0.5473584858106749E+02 + 0.5478579154430660E+02 + 0.5483551127888712E+02 + 0.5488500809587300E+02 + 0.5493428230615136E+02 + 0.5498333422043246E+02 + 0.5503216414924970E+02 + 0.5508077240295959E+02 + 0.5512915929174179E+02 + 0.5517732512559913E+02 + 0.5522527021435751E+02 + 0.5527299486766602E+02 + 0.5532049939499687E+02 + 0.5536778410564541E+02 + 0.5541484930873013E+02 + 0.5546169531319264E+02 + 0.5550832242779771E+02 + 0.5555473096113321E+02 + 0.5560092122161019E+02 + 0.5564689351746285E+02 + 0.5569264815674845E+02 + 0.5573818544734745E+02 + 0.5578350569696343E+02 + 0.5582860921312309E+02 + 0.5587349630317630E+02 + 0.5591816727429605E+02 + 0.5596262243347845E+02 + 0.5600686208754281E+02 + 0.5605088654313148E+02 + 0.5609469610671003E+02 + 0.5613829108456709E+02 + 0.5618167178281452E+02 + 0.5622483850738725E+02 + 0.5626779156404336E+02 + 0.5631053125836409E+02 + 0.5635305789575379E+02 + 0.5639537178143993E+02 + 0.5643747322047317E+02 + 0.5647936251772727E+02 + 0.5652103997789914E+02 + 0.5656250590550883E+02 + 0.5660376060489951E+02 + 0.5664480438023750E+02 + 0.5668563753551224E+02 + 0.5672626037453633E+02 + 0.5676667320094551E+02 + 0.5680687631819862E+02 + 0.5684687002957769E+02 + 0.5688665463818785E+02 + 0.5692623044695735E+02 + 0.5696559775863761E+02 + 0.5700475687580321E+02 + 0.5704370810085180E+02 + 0.5708245173600422E+02 + 0.5712098808330443E+02 + 0.5715931744461952E+02 + 0.5719744012163971E+02 + 0.5723535641587838E+02 + 0.5727306662867203E+02 + 0.5731057106118033E+02 + 0.5734787001438605E+02 + 0.5738496378909509E+02 + 0.5742185268593651E+02 + 0.5745853700536250E+02 + 0.5749501704764840E+02 + 0.5753129311289266E+02 + 0.5756736550101689E+02 + 0.5760323451176583E+02 + 0.5763890044470734E+02 + 0.5767436359923244E+02 + 0.5770962427455529E+02 + 0.5774468276971315E+02 + 0.5777953938356647E+02 + 0.5781419441479881E+02 + 0.5784864816191685E+02 + 0.5788290092325043E+02 + 0.5791695299695250E+02 + 0.5795080468099920E+02 + 0.5798445627318975E+02 + 0.5801790807114655E+02 + 0.5805116037231510E+02 + 0.5808421347396407E+02 + 0.5811706767318523E+02 + 0.5814972326689350E+02 + 0.5818218055182699E+02 + 0.5821443982454687E+02 + 0.5824650138143750E+02 + 0.5827836551870632E+02 + 0.5831003253238396E+02 + 0.5834150271832418E+02 + 0.5837277637220386E+02 + 0.5840385378952301E+02 + 0.5843473526560481E+02 + 0.5846542109559554E+02 + 0.5849591157446464E+02 + 0.5852620699700469E+02 + 0.5855630765783136E+02 + 0.5858621385138355E+02 + 0.5861592587192320E+02 + 0.5864544401353544E+02 + 0.5867476857012853E+02 + 0.5870389983543385E+02 + 0.5873283810300593E+02 + 0.5876158366622245E+02 + 0.5879013681828418E+02 + 0.5881849785221510E+02 + 0.5884666706086227E+02 + 0.5887464473689588E+02 + 0.5890243117280932E+02 + 0.5893002666091904E+02 + 0.5895743149336467E+02 + 0.5898464596210899E+02 + 0.5901167035893788E+02 + 0.5903850497546038E+02 + 0.5906515010310865E+02 + 0.5909160603313801E+02 + 0.5911787305662691E+02 + 0.5914395146447690E+02 + 0.5916984154741274E+02 + 0.5919554359598225E+02 + 0.5922105790055645E+02 + 0.5924638475132945E+02 + 0.5927152443831852E+02 + 0.5929647725136406E+02 + 0.5932124348012960E+02 + 0.5934582341410185E+02 + 0.5937021734259059E+02 + 0.5939442555472878E+02 + 0.5941844833947252E+02 + 0.5944228598560100E+02 + 0.5946593878171661E+02 + 0.5948940701624485E+02 + 0.5951269097743432E+02 + 0.5953579095335683E+02 + 0.5955870723190729E+02 + 0.5958144010080369E+02 + 0.5960398984758726E+02 + 0.5962635675962230E+02 + 0.5964854112409628E+02 + 0.5967054322801978E+02 + 0.5969236335822654E+02 + 0.5971400180137341E+02 + 0.5973545884394040E+02 + 0.5975673477223064E+02 + 0.5977782987237043E+02 + 0.5979874443030916E+02 + 0.5981947873181941E+02 + 0.5984003306249684E+02 + 0.5986040770776028E+02 + 0.5988060295285168E+02 + 0.5990061908283614E+02 + 0.5992045638260193E+02 + 0.5994011513686039E+02 + 0.5995959563014603E+02 + 0.5997889814681649E+02 + 0.5999802297105256E+02 + 0.6001697038685816E+02 + 0.6003574067806035E+02 + 0.6005433412830931E+02 + 0.6007275102107838E+02 + 0.6009099163966403E+02 + 0.6010905626718584E+02 + 0.6012694518658657E+02 + 0.6014465868063209E+02 + 0.6016219703191142E+02 + 0.6017956052283670E+02 + 0.6019674943564324E+02 + 0.6021376405238943E+02 + 0.6023060465495684E+02 + 0.6024727152505019E+02 + 0.6026376494419729E+02 + 0.6028008519374914E+02 + 0.6029623255487982E+02 + 0.6031220730858660E+02 + 0.6032800973568983E+02 + 0.6034364011683305E+02 + 0.6035909873248291E+02 + 0.6037438586292921E+02 + 0.6038950178828489E+02 + 0.6040444678848600E+02 + 0.6041922114329174E+02 + 0.6043382513228444E+02 + 0.6044825903486959E+02 + 0.6046252313027583E+02 + 0.6047661769755487E+02 + 0.6049054301558164E+02 + 0.6050429936305412E+02 + 0.6051788701849350E+02 + 0.6053130626024407E+02 + 0.6054455736647325E+02 + 0.6055764061517164E+02 + 0.6057055628415294E+02 + 0.6058330465105397E+02 + 0.6059588599333475E+02 + 0.6060830058827838E+02 + 0.6062054871299112E+02 + 0.6063263064440235E+02 + 0.6064454665926463E+02 + 0.6065629703415360E+02 + 0.6066788204546808E+02 + 0.6067930196943000E+02 + 0.6069055708208443E+02 + 0.6070164765929960E+02 + 0.6071257397676685E+02 + 0.6072333631000070E+02 + 0.6073393493433872E+02 + 0.6074437012494172E+02 + 0.6075464215679358E+02 + 0.6076475130470132E+02 + 0.6077469784329513E+02 + 0.6078448204702831E+02 + 0.6079410419017733E+02 + 0.6080356454684174E+02 + 0.6081286339094429E+02 + 0.6082200099623081E+02 + 0.6083097763627031E+02 + 0.6083979358445491E+02 + 0.6084844911399987E+02 + 0.6085694449794362E+02 + 0.6086528000914770E+02 + 0.6087345592029677E+02 + 0.6088147250389863E+02 + 0.6088933003228426E+02 + 0.6089702877760773E+02 + 0.6090456901184629E+02 + 0.6091195100680028E+02 + 0.6091917503409322E+02 + 0.6092624136517171E+02 + 0.6093315027130555E+02 + 0.6093990202358764E+02 + 0.6094649689293404E+02 + 0.6095293515008392E+02 + 0.6095921706559961E+02 + 0.6096534290986653E+02 + 0.6097131295309332E+02 + 0.6097712746531170E+02 + 0.6098278671637654E+02 + 0.6098829097596582E+02 + 0.6099364051358069E+02 + 0.6099883559854546E+02 + 0.6100387650000751E+02 + 0.6100876348693740E+02 + 0.6101349682812882E+02 + 0.6101807679219859E+02 + 0.6102250364758667E+02 + 0.6102677766255620E+02 + 0.6103089910519336E+02 + 0.6103486824340756E+02 + 0.6103868534493127E+02 + 0.6104235067732019E+02 + 0.6104586450795306E+02 + 0.6104922710403184E+02 + 0.6105243873258156E+02 + 0.6105549966045042E+02 + 0.6105841015430973E+02 + 0.6106117048065397E+02 + 0.6106378090580077E+02 + 0.6106624169589087E+02 + 0.6106855311688811E+02 + 0.6107071543457954E+02 + 0.6107272891457529E+02 + 0.6107459382230865E+02 + 0.6107631042303607E+02 + 0.6107787898183709E+02 + 0.6107929976361442E+02 + 0.6108057303309388E+02 + 0.6108169905482448E+02 + 0.6108267809317831E+02 + 0.6108351041235058E+02 + 0.6108419627635973E+02 + 0.6108473594904725E+02 + 0.6108512969407782E+02 + 0.6108537777493921E+02 + 0.6108548045494237E+02 + 0.6108543799722134E+02 + 0.6108525066473335E+02 + 0.6108491872025875E+02 + 0.6108444242640100E+02 + 0.6108382204558673E+02 + 0.6108305784006568E+02 + 0.6108215007191072E+02 + 0.6108109900301790E+02 + 0.6107990489510640E+02 + 0.6107856800971851E+02 + 0.6107708860821965E+02 + 0.6107546695179840E+02 + 0.6107370330146647E+02 + 0.6107179791805869E+02 + 0.6106975106223310E+02 + 0.6106756299447077E+02 + 0.6106523397507597E+02 + 0.6106276426417611E+02 + 0.6106015412172170E+02 + 0.6105740380748645E+02 + 0.6105451358106709E+02 + 0.6105148370188363E+02 + 0.6104831442917910E+02 + 0.6104500602201976E+02 + 0.6104155873929495E+02 + 0.6103797283971714E+02 + 0.6103424858182198E+02 + 0.6103038622396822E+02 + 0.6102638602433775E+02 + 0.6102224824093563E+02 + 0.6101797313159003E+02 + 0.6101356095395226E+02 + 0.6100901196549675E+02 + 0.6100432642352111E+02 + 0.6099950458514603E+02 + 0.6099454670731540E+02 + 0.6098945304679621E+02 + 0.6098422386017859E+02 + 0.6097885940387577E+02 + 0.6097335993412423E+02 + 0.6096772570698343E+02 + 0.6096195697833611E+02 + 0.6095605400388806E+02 + 0.6095001703916827E+02 + 0.6094384633952878E+02 + 0.6093754216014484E+02 + 0.6093110475601480E+02 + 0.6092453438196017E+02 + 0.6091783129262560E+02 + 0.6091099574247887E+02 + 0.6090402798581085E+02 + 0.6089692827673563E+02 + 0.6088969686919035E+02 + 0.6088233401693537E+02 + 0.6087483997355415E+02 + 0.6086721499245327E+02 + 0.6085945932686246E+02 + 0.6085157322983460E+02 + 0.6084355695424569E+02 + 0.6083541075279485E+02 + 0.6082713487800442E+02 + 0.6081872958221975E+02 + 0.6081019511760945E+02 + 0.6080153173616517E+02 + 0.6079273968970175E+02 + 0.6078381922985717E+02 + 0.6077477060809249E+02 + 0.6076559407569200E+02 + 0.6075628988376301E+02 + 0.6074685828323609E+02 + 0.6073729952486490E+02 + 0.6072761385922617E+02 + 0.6071780153671984E+02 + 0.6070786280756898E+02 + 0.6069779792181976E+02 + 0.6068760712934155E+02 + 0.6067729067982681E+02 + 0.6066684882279114E+02 + 0.6065628180757328E+02 + 0.6064558988333508E+02 + 0.6063477329906161E+02 + 0.6062383230356102E+02 + 0.6061276714546457E+02 + 0.6060157807322671E+02 + 0.6059026533512500E+02 + 0.6057882917926010E+02 + 0.6056726985355591E+02 + 0.6055558760575939E+02 + 0.6054378268344063E+02 + 0.6053185533399288E+02 + 0.6051980580463256E+02 + 0.6050763434239915E+02 + 0.6049534119415534E+02 + 0.6048292660658690E+02 + 0.6047039082620277E+02 + 0.6045773409933505E+02 + 0.6044495667213892E+02 + 0.6043205879059273E+02 + 0.6041904070049795E+02 + 0.6040590264747918E+02 + 0.6039264487698421E+02 + 0.6037926763428393E+02 + 0.6036577116447237E+02 + 0.6035215571246668E+02 + 0.6033842152300715E+02 + 0.6032456884065723E+02 + 0.6031059790980349E+02 + 0.6029650897465567E+02 + 0.6028230227924659E+02 + 0.6026797806743225E+02 + 0.6025353658289178E+02 + 0.6023897806912740E+02 + 0.6022430276946453E+02 + 0.6020951092705172E+02 + 0.6019460278486064E+02 + 0.6017957858568607E+02 + 0.6016443857214598E+02 + 0.6014918298668142E+02 + 0.6013381207155663E+02 + 0.6011832606885898E+02 + 0.6010272522049892E+02 + 0.6008700976821011E+02 + 0.6007117995354930E+02 + 0.6005523601789641E+02 + 0.6003917820245445E+02 + 0.6002300674824963E+02 + 0.6000672189613123E+02 + 0.5999032388677171E+02 + 0.5997381296066668E+02 + 0.5995718935813483E+02 + 0.5994045331931803E+02 + 0.5992360508418128E+02 + 0.5990664489251272E+02 + 0.5988957298392361E+02 + 0.5987238959784837E+02 + 0.5985509497354452E+02 + 0.5983768935009277E+02 + 0.5982017296639691E+02 + 0.5980254606118393E+02 + 0.5978480887300388E+02 + 0.5976696164023003E+02 + 0.5974900460105870E+02 + 0.5973093799350944E+02 + 0.5971276205542485E+02 + 0.5969447702447074E+02 + 0.5967608313813599E+02 + 0.5965758063373266E+02 + 0.5963896974839596E+02 + 0.5962025071908418E+02 + 0.5960142378257881E+02 + 0.5958248917548443E+02 + 0.5956344713422876E+02 + 0.5954429789506270E+02 + 0.5952504169406024E+02 + 0.5950567876711853E+02 + 0.5948620934995784E+02 + 0.5946663367812162E+02 + 0.5944695198697639E+02 + 0.5942716451171187E+02 + 0.5940727148734086E+02 + 0.5938727314869935E+02 + 0.5936716973044644E+02 + 0.5934696146706435E+02 + 0.5932664859285848E+02 + 0.5930623134195732E+02 + 0.5928570994831254E+02 + 0.5926508464569892E+02 + 0.5924435566771437E+02 + 0.5922352324777998E+02 + 0.5920258761913993E+02 + 0.5918154901486155E+02 + 0.5916040766783532E+02 + 0.5913916381077484E+02 + 0.5911781767621687E+02 + 0.5909636949652128E+02 + 0.5907481950387108E+02 + 0.5905316793027244E+02 + 0.5903141500755464E+02 + 0.5900956096737013E+02 + 0.5898760604119447E+02 + 0.5896555046032633E+02 + 0.5894339445588760E+02 + 0.5892113825882322E+02 + 0.5889878209990131E+02 + 0.5887632620971315E+02 + 0.5885377081867309E+02 + 0.5883111615701866E+02 + 0.5880836245481054E+02 + 0.5878550994193251E+02 + 0.5876255884809152E+02 + 0.5873950940281763E+02 + 0.5871636183546404E+02 + 0.5869311637520712E+02 + 0.5866977325104632E+02 + 0.5864633269180429E+02 + 0.5862279492612678E+02 + 0.5859916018248268E+02 + 0.5857542868916400E+02 + 0.5855160067428593E+02 + 0.5852767636578676E+02 + 0.5850365599142793E+02 + 0.5847953977879404E+02 + 0.5845532795529277E+02 + 0.5843102074815499E+02 + 0.5840661838443469E+02 + 0.5838212109100899E+02 + 0.5835752909457814E+02 + 0.5833284262166556E+02 + 0.5830806189861777E+02 + 0.5828318715160444E+02 + 0.5825821860661839E+02 + 0.5823315648947555E+02 + 0.5820800102581502E+02 + 0.5818275244109901E+02 + 0.5815741096061288E+02 + 0.5813197680946511E+02 + 0.5810645021258736E+02 + 0.5808083139473435E+02 + 0.5805512058048403E+02 + 0.5802931799423742E+02 + 0.5800342386021869E+02 + 0.5797743840247517E+02 + 0.5795136184487730E+02 + 0.5792519441111866E+02 + 0.5789893632471600E+02 + 0.5787258780900918E+02 + 0.5784614908716116E+02 + 0.5781962038215811E+02 + 0.5779300191680930E+02 + 0.5776629391374713E+02 + 0.5773949659542715E+02 + 0.5771261018412805E+02 + 0.5768563490195162E+02 + 0.5765857097082285E+02 + 0.5763141861248982E+02 + 0.5760417804852377E+02 + 0.5757684950031906E+02 + 0.5754943318909317E+02 + 0.5752192933588678E+02 + 0.5749433816156365E+02 + 0.5746665988681070E+02 + 0.5743889473213796E+02 + 0.5741104291787865E+02 + 0.5738310466418908E+02 + 0.5735508019104869E+02 + 0.5732696971826012E+02 + 0.5729877346544909E+02 + 0.5727049165206446E+02 + 0.5724212449737825E+02 + 0.5721367222048561E+02 + 0.5718513504030481E+02 + 0.5715651317557728E+02 + 0.5712780684486759E+02 + 0.5709901626656340E+02 + 0.5707014165887555E+02 + 0.5704118323983803E+02 + 0.5701214122730793E+02 + 0.5698301583896549E+02 + 0.5695380729231409E+02 + 0.5692451580468024E+02 + 0.5689514159321361E+02 + 0.5686568487488696E+02 + 0.5683614586649623E+02 + 0.5680652478466050E+02 + 0.5677682184582194E+02 + 0.5674703726624590E+02 + 0.5671717126202085E+02 + 0.5668722404905839E+02 + 0.5665719584309329E+02 + 0.5662708685968342E+02 + 0.5659689731420980E+02 + 0.5656662742187657E+02 + 0.5653627739771105E+02 + 0.5650584745656368E+02 + 0.5647533781310799E+02 + 0.5644474868184073E+02 + 0.5641408027708169E+02 + 0.5638333281297388E+02 + 0.5635250650348342E+02 + 0.5632160156239954E+02 + 0.5629061820333465E+02 + 0.5625955663972427E+02 + 0.5622841708482705E+02 + 0.5619719975172480E+02 + 0.5616590485332247E+02 + 0.5613453260234810E+02 + 0.5610308321135292E+02 + 0.5607155689271129E+02 + 0.5603995385862066E+02 + 0.5600827432110169E+02 + 0.5597651849199811E+02 + 0.5594468658297681E+02 + 0.5591277880552784E+02 + 0.5588079537096436E+02 + 0.5584873649042267E+02 + 0.5581660237486224E+02 + 0.5578439323506560E+02 + 0.5575210928163851E+02 + 0.5571975072500981E+02 + 0.5568731777543145E+02 + 0.5565481064297862E+02 + 0.5562222953754954E+02 + 0.5558957466886562E+02 + 0.5555684624647141E+02 + 0.5552404447973458E+02 + 0.5549116957784591E+02 + 0.5545822174981939E+02 + 0.5542520120449206E+02 + 0.5539210815052419E+02 + 0.5535894279639911E+02 + 0.5532570535042331E+02 + 0.5529239602072641E+02 + 0.5525901501526123E+02 + 0.5522556254180363E+02 + 0.5519203880795268E+02 + 0.5515844402113053E+02 + 0.5512477838858251E+02 + 0.5509104211737707E+02 + 0.5505723541440582E+02 + 0.5502335848638344E+02 + 0.5498941153984784E+02 + 0.5495539478116000E+02 + 0.5492130841650406E+02 + 0.5488715265188730E+02 + 0.5485292769314012E+02 + 0.5481863374591607E+02 + 0.5478427101569184E+02 + 0.5474983970776724E+02 + 0.5471534002726524E+02 + 0.5468077217913192E+02 + 0.5464613636813654E+02 + 0.5461143279887143E+02 + 0.5457666167575214E+02 + 0.5454182320301727E+02 + 0.5450691758472863E+02 + 0.5447194502477112E+02 + 0.5443690572685279E+02 + 0.5440179989450486E+02 + 0.5436662773108161E+02 + 0.5433138943976056E+02 + 0.5429608522354226E+02 + 0.5426071528525046E+02 + 0.5422527982753205E+02 + 0.5418977905285702E+02 + 0.5415421316351853E+02 + 0.5411858236163288E+02 + 0.5408288684913946E+02 + 0.5404712682780085E+02 + 0.5401130249920274E+02 + 0.5397541406475396E+02 + 0.5393946172568649E+02 + 0.5390344568305541E+02 + 0.5386736613773898E+02 + 0.5383122329043859E+02 + 0.5379501734167874E+02 + 0.5375874849180710E+02 + 0.5372241694099444E+02 + 0.5368602288923471E+02 + 0.5364956653634494E+02 + 0.5361304808196537E+02 + 0.5357646772555930E+02 + 0.5353982566641324E+02 + 0.5350312210363678E+02 + 0.5346635723616267E+02 + 0.5342953126274681E+02 + 0.5339264438196819E+02 + 0.5335569679222900E+02 + 0.5331868869175452E+02 + 0.5328162027859320E+02 + 0.5324449175061658E+02 + 0.5320730330551940E+02 + 0.5317005514081949E+02 + 0.5313274745385780E+02 + 0.5309538044179849E+02 + 0.5305795430162880E+02 + 0.5302046923015911E+02 + 0.5298292542402297E+02 + 0.5294532307967701E+02 + 0.5290766239340105E+02 + 0.5286994356129804E+02 + 0.5283216677929404E+02 + 0.5279433224313826E+02 + 0.5275644014840306E+02 + 0.5271849069048393E+02 + 0.5268048406459946E+02 + 0.5264242046579144E+02 + 0.5260430008892476E+02 + 0.5256612312868744E+02 + 0.5252788977959067E+02 + 0.5248960023596874E+02 + 0.5245125469197911E+02 + 0.5241285334160234E+02 + 0.5237439637864215E+02 + 0.5233588399672541E+02 + 0.5229731638930211E+02 + 0.5225869374964535E+02 + 0.5222001627085142E+02 + 0.5218128414583973E+02 + 0.5214249756735279E+02 + 0.5210365672795631E+02 + 0.5206476182003907E+02 + 0.5202581303581301E+02 + 0.5198681056731326E+02 + 0.5194775460639801E+02 + 0.5190864534474863E+02 + 0.5186948297386962E+02 + 0.5183026768508860E+02 + 0.5179099966955635E+02 + 0.5175167911824678E+02 + 0.5171230622195692E+02 + 0.5167288117130698E+02 + 0.5163340415674023E+02 + 0.5159387536852318E+02 + 0.5155429499674536E+02 + 0.5151466323131956E+02 + 0.5147498026198160E+02 + 0.5143524627829051E+02 + 0.5139546146962841E+02 + 0.5135562602520057E+02 + 0.5131574013403543E+02 + 0.5127580398498452E+02 + 0.5123581776672253E+02 + 0.5119578166774728E+02 + 0.5115569587637974E+02 + 0.5111556058076398E+02 + 0.5107537596886727E+02 + 0.5103514222847996E+02 + 0.5099485954721556E+02 + 0.5095452811251072E+02 + 0.5091414811162522E+02 + 0.5087371973164195E+02 + 0.5083324315946700E+02 + 0.5079271858182956E+02 + 0.5075214618528194E+02 + 0.5071152615619962E+02 + 0.5067085868078119E+02 + 0.5063014394504840E+02 + 0.5058938213484611E+02 + 0.5054857343584236E+02 + 0.5050771803352827E+02 + 0.5046681611321815E+02 + 0.5042586786004941E+02 + 0.5038487345898260E+02 + 0.5034383309480145E+02 + 0.5030274695211276E+02 + 0.5026161521534652E+02 + 0.5022043806875583E+02 + 0.5017921569641695E+02 + 0.5013794828222923E+02 + 0.5009663600991522E+02 + 0.5005527906302055E+02 + 0.5001387762491403E+02 + 0.4997243187878758E+02 + 0.4993094200765626E+02 + 0.4988940819435830E+02 + 0.4984783062155501E+02 + 0.4980620947173088E+02 + 0.4976454492719351E+02 + 0.4972283717007367E+02 + 0.4968108638232523E+02 + 0.4963929274572522E+02 + 0.4959745644187381E+02 + 0.4955557765219427E+02 + 0.4951365655793306E+02 + 0.4947169334015976E+02 + 0.4942968817976703E+02 + 0.4938764125747076E+02 + 0.4934555275380993E+02 + 0.4930342284914663E+02 + 0.4926125172366613E+02 + 0.4921903955737683E+02 + 0.4917678653011024E+02 + 0.4913449282152106E+02 + 0.4909215861108706E+02 + 0.4904978407810918E+02 + 0.4900736940171153E+02 + 0.4896491476084129E+02 + 0.4892242033426881E+02 + 0.4887988630058761E+02 + 0.4883731283821429E+02 + 0.4879470012538861E+02 + 0.4875204834017346E+02 + 0.4870935766045491E+02 + 0.4866662826394207E+02 + 0.4862386032816731E+02 + 0.4858105403048606E+02 + 0.4853820954807686E+02 + 0.4849532705794149E+02 + 0.4845240673690478E+02 + 0.4840944876161471E+02 + 0.4836645330854241E+02 + 0.4832342055398216E+02 + 0.4828035067405137E+02 + 0.4823724384469056E+02 + 0.4819410024166341E+02 + 0.4815092004055676E+02 + 0.4810770341678052E+02 + 0.4806445054556781E+02 + 0.4802116160197483E+02 + 0.4797783676088096E+02 + 0.4793447619698870E+02 + 0.4789108008482366E+02 + 0.4784764859873464E+02 + 0.4780418191289353E+02 + 0.4776068020129538E+02 + 0.4771714363775838E+02 + 0.4767357239592384E+02 + 0.4762996664925622E+02 + 0.4758632657104312E+02 + 0.4754265233439525E+02 + 0.4749894411224651E+02 + 0.4745520207735386E+02 + 0.4741142640229746E+02 + 0.4736761725948060E+02 + 0.4732377482112970E+02 + 0.4727989925929428E+02 + 0.4723599074584704E+02 + 0.4719204945248382E+02 + 0.4714807555072355E+02 + 0.4710406921190837E+02 + 0.4706003060720347E+02 + 0.4701595990759726E+02 + 0.4697185728390123E+02 + 0.4692772290675003E+02 + 0.4688355694660145E+02 + 0.4683935957373640E+02 + 0.4679513095825892E+02 + 0.4675087127009623E+02 + 0.4670658067899866E+02 + 0.4666225935453965E+02 + 0.4661790746611585E+02 + 0.4657352518294696E+02 + 0.4652911267407587E+02 + 0.4648467010836860E+02 + 0.4644019765451429E+02 + 0.4639569548102524E+02 + 0.4635116375623687E+02 + 0.4630660264830774E+02 + 0.4626201232521954E+02 + 0.4621739295477715E+02 + 0.4617274470460848E+02 + 0.4612806774216467E+02 + 0.4608336223471997E+02 + 0.4603862834937174E+02 + 0.4599386625304054E+02 + 0.4594907611247000E+02 + 0.4590425809422690E+02 + 0.4585941236470120E+02 + 0.4581453909010595E+02 + 0.4576963843647737E+02 + 0.4572471056967478E+02 + 0.4567975565538067E+02 + 0.4563477385910064E+02 + 0.4558976534616349E+02 + 0.4554473028172104E+02 + 0.4549966883074836E+02 + 0.4545458115804360E+02 + 0.4540946742822806E+02 + 0.4536432780574616E+02 + 0.4531916245486551E+02 + 0.4527397153967679E+02 + 0.4522875522409386E+02 + 0.4518351367185369E+02 + 0.4513824704651642E+02 + 0.4509295551146528E+02 + 0.4504763922990669E+02 + 0.4500229836487016E+02 + 0.4495693307920838E+02 + 0.4491154353559713E+02 + 0.4486612989653536E+02 + 0.4482069232434516E+02 + 0.4477523098117174E+02 + 0.4472974602898346E+02 + 0.4468423762957176E+02 + 0.4463870594455133E+02 + 0.4459315113535990E+02 + 0.4454757336325837E+02 + 0.4450197278933079E+02 + 0.4445634957448433E+02 + 0.4441070387944927E+02 + 0.4436503586477910E+02 + 0.4431934569085039E+02 + 0.4427363351786284E+02 + 0.4422789950583934E+02 + 0.4418214381462585E+02 + 0.4413636660389152E+02 + 0.4409056803312863E+02 + 0.4404474826165257E+02 + 0.4399890744860186E+02 + 0.4395304575293823E+02 + 0.4390716333344645E+02 + 0.4386126034873450E+02 + 0.4381533695723345E+02 + 0.4376939331719753E+02 + 0.4372342958670412E+02 + 0.4367744592365370E+02 + 0.4363144248576991E+02 + 0.4358541943059953E+02 + 0.4353937691551247E+02 + 0.4349331509770177E+02 + 0.4344723413418362E+02 + 0.4340113418179735E+02 + 0.4335501539720539E+02 + 0.4330887793689336E+02 + 0.4326272195716999E+02 + 0.4321654761416713E+02 + 0.4317035506383979E+02 + 0.4312414446196615E+02 + 0.4307791596414742E+02 + 0.4303166972580807E+02 + 0.4298540590219565E+02 + 0.4293912464838082E+02 + 0.4289282611925742E+02 + 0.4284651046954242E+02 + 0.4280017785377592E+02 + 0.4275382842632115E+02 + 0.4270746234136448E+02 + 0.4266107975291543E+02 + 0.4261468081480665E+02 + 0.4256826568069391E+02 + 0.4252183450405614E+02 + 0.4247538743819541E+02 + 0.4242892463623688E+02 + 0.4238244625112892E+02 + 0.4233595243564298E+02 + 0.4228944334237367E+02 + 0.4224291912373872E+02 + 0.4219637993197903E+02 + 0.4214982591915861E+02 + 0.4210325723716461E+02 + 0.4205667403770732E+02 + 0.4201007647232015E+02 + 0.4196346469235969E+02 + 0.4191683884900564E+02 + 0.4187019909326081E+02 + 0.4182354557595120E+02 + 0.4177687844772592E+02 + 0.4173019785905719E+02 + 0.4168350396024044E+02 + 0.4163679690139415E+02 + 0.4159007683245999E+02 + 0.4154334390320278E+02 + 0.4149659826321042E+02 + 0.4144984006189398E+02 + 0.4140306944848770E+02 + 0.4135628657204888E+02 + 0.4130949158145803E+02 + 0.4126268462541876E+02 + 0.4121586585245780E+02 + 0.4116903541092507E+02 + 0.4112219344899359E+02 + 0.4107534011465952E+02 + 0.4102847555574216E+02 + 0.4098159991988395E+02 + 0.4093471335455045E+02 + 0.4088781600703040E+02 + 0.4084090802443563E+02 + 0.4079398955370112E+02 + 0.4074706074158500E+02 + 0.4070012173466854E+02 + 0.4065317267935611E+02 + 0.4060621372187526E+02 + 0.4055924500827666E+02 + 0.4051226668443411E+02 + 0.4046527889604456E+02 + 0.4041828178862809E+02 + 0.4037127550752788E+02 + 0.4032426019791034E+02 + 0.4027723600476493E+02 + 0.4023020307290429E+02 + 0.4018316154696417E+02 + 0.4013611157140348E+02 + 0.4008905329050425E+02 + 0.4004198684837168E+02 + 0.3999491238893404E+02 + 0.3994783005594282E+02 + 0.3990073999297258E+02 + 0.3985364234342104E+02 + 0.3980653725050908E+02 + 0.3975942485728067E+02 + 0.3971230530660297E+02 + 0.3966517874116623E+02 + 0.3961804530348387E+02 + 0.3957090513589242E+02 + 0.3952375838055157E+02 + 0.3947660517944412E+02 + 0.3942944567437606E+02 + 0.3938228000697643E+02 + 0.3933510831869752E+02 + 0.3928793075081463E+02 + 0.3924074744442632E+02 + 0.3919355854045417E+02 + 0.3914636417964301E+02 + 0.3909916450256071E+02 + 0.3905195964959835E+02 + 0.3900474976097009E+02 + 0.3895753497671328E+02 + 0.3891031543668835E+02 + 0.3886309128057892E+02 + 0.3881586264789170E+02 + 0.3876862967795660E+02 + 0.3872139250992658E+02 + 0.3867415128277781E+02 + 0.3862690613530956E+02 + 0.3857965720614425E+02 + 0.3853240463372745E+02 + 0.3848514855632782E+02 + 0.3843788911203722E+02 + 0.3839062643877059E+02 + 0.3834336067426604E+02 + 0.3829609195608482E+02 + 0.3824882042161130E+02 + 0.3820154620805297E+02 + 0.3815426945244052E+02 + 0.3810699029162770E+02 + 0.3805970886229145E+02 + 0.3801242530093182E+02 + 0.3796513974387204E+02 + 0.3791785232725838E+02 + 0.3787056318706037E+02 + 0.3782327245907059E+02 + 0.3777598027890478E+02 + 0.3772868678200184E+02 + 0.3768139210362378E+02 + 0.3763409637885574E+02 + 0.3758679974260603E+02 + 0.3753950232960608E+02 + 0.3749220427441042E+02 + 0.3744490571139680E+02 + 0.3739760677476603E+02 + 0.3735030759854210E+02 + 0.3730300831657210E+02 + 0.3725570906252632E+02 + 0.3720840996989809E+02 + 0.3716111117200400E+02 + 0.3711381280198365E+02 + 0.3706651499279989E+02 + 0.3701921787723859E+02 + 0.3697192158790888E+02 + 0.3692462625724293E+02 + 0.3687733201749613E+02 + 0.3683003900074690E+02 + 0.3678274733889690E+02 + 0.3673545716367086E+02 + 0.3668816860661671E+02 + 0.3664088179910542E+02 + 0.3659359687233123E+02 + 0.3654631395731137E+02 + 0.3649903318488632E+02 + 0.3645175468571964E+02 + 0.3640447859029807E+02 + 0.3635720502893143E+02 + 0.3630993413175271E+02 + 0.3626266602871804E+02 + 0.3621540084960669E+02 + 0.3616813872402106E+02 + 0.3612087978138663E+02 + 0.3607362415095216E+02 + 0.3602637196178938E+02 + 0.3597912334279327E+02 + 0.3593187842268191E+02 + 0.3588463732999653E+02 + 0.3583740019310145E+02 + 0.3579016714018420E+02 + 0.3574293829925539E+02 + 0.3569571379814878E+02 + 0.3564849376452128E+02 + 0.3560127832585295E+02 + 0.3555406760944691E+02 + 0.3550686174242954E+02 + 0.3545966085175025E+02 + 0.3541246506418165E+02 + 0.3536527450631943E+02 + 0.3531808930458250E+02 + 0.3527090958521279E+02 + 0.3522373547427551E+02 + 0.3517656709765889E+02 + 0.3512940458107433E+02 + 0.3508224805005641E+02 + 0.3503509762996278E+02 + 0.3498795344597426E+02 + 0.3494081562309483E+02 + 0.3489368428615156E+02 + 0.3484655955979468E+02 + 0.3479944156849759E+02 + 0.3475233043655673E+02 + 0.3470522628809181E+02 + 0.3465812924704555E+02 + 0.3461103943718390E+02 + 0.3456395698209589E+02 + 0.3451688200519372E+02 + 0.3446981462971270E+02 + 0.3442275497871132E+02 + 0.3437570317507114E+02 + 0.3432865934149692E+02 + 0.3428162360051652E+02 + 0.3423459607448097E+02 + 0.3418757688556437E+02 + 0.3414056615576406E+02 + 0.3409356400690041E+02 + 0.3404657056061701E+02 + 0.3399958593838053E+02 + 0.3395261026148081E+02 + 0.3390564365103082E+02 + 0.3385868622796665E+02 + 0.3381173811304755E+02 + 0.3376479942685590E+02 + 0.3371787028979722E+02 + 0.3367095082210013E+02 + 0.3362404114381646E+02 + 0.3357714137482110E+02 + 0.3353025163481212E+02 + 0.3348337204331073E+02 + 0.3343650271966127E+02 + 0.3338964378303118E+02 + 0.3334279535241110E+02 + 0.3329595754661476E+02 + 0.3324913048427905E+02 + 0.3320231428386398E+02 + 0.3315550906365273E+02 + 0.3310871494175157E+02 + 0.3306193203608993E+02 + 0.3301516046442038E+02 + 0.3296840034431864E+02 + 0.3292165179318352E+02 + 0.3287491492823704E+02 + 0.3282818986652428E+02 + 0.3278147672491349E+02 + 0.3273477562009607E+02 + 0.3268808666858654E+02 + 0.3264140998672259E+02 + 0.3259474569066497E+02 + 0.3254809389639765E+02 + 0.3250145471972768E+02 + 0.3245482827628530E+02 + 0.3240821468152382E+02 + 0.3236161405071977E+02 + 0.3231502649897270E+02 + 0.3226845214120543E+02 + 0.3222189109216382E+02 + 0.3217534346641692E+02 + 0.3212880937835687E+02 + 0.3208228894219902E+02 + 0.3203578227198176E+02 + 0.3198928948156670E+02 + 0.3194281068463854E+02 + 0.3189634599470514E+02 + 0.3184989552509748E+02 + 0.3180345938896971E+02 + 0.3175703769929906E+02 + 0.3171063056888593E+02 + 0.3166423811035390E+02 + 0.3161786043614956E+02 + 0.3157149765854281E+02 + 0.3152514988962654E+02 + 0.3147881724131685E+02 + 0.3143249982535296E+02 + 0.3138619775329724E+02 + 0.3133991113653514E+02 + 0.3129364008627536E+02 + 0.3124738471354960E+02 + 0.3120114512921280E+02 + 0.3115492144394299E+02 + 0.3110871376824137E+02 + 0.3106252221243221E+02 + 0.3101634688666302E+02 + 0.3097018790090434E+02 + 0.3092404536494992E+02 + 0.3087791938841660E+02 + 0.3083181008074442E+02 + 0.3078571755119646E+02 + 0.3073964190885906E+02 + 0.3069358326264157E+02 + 0.3064754172127658E+02 + 0.3060151739331973E+02 + 0.3055551038714989E+02 + 0.3050952081096899E+02 + 0.3046354877280211E+02 + 0.3041759438049751E+02 + 0.3037165774172654E+02 + 0.3032573896398372E+02 + 0.3027983815458666E+02 + 0.3023395542067619E+02 + 0.3018809086921618E+02 + 0.3014224460699370E+02 + 0.3009641674061893E+02 + 0.3005060737652522E+02 + 0.3000481662096900E+02 + 0.2995904458002990E+02 + 0.2991329135961063E+02 + 0.2986755706543708E+02 + 0.2982184180305825E+02 + 0.2977614567784631E+02 + 0.2973046879499650E+02 + 0.2968481125952729E+02 + 0.2963917317628020E+02 + 0.2959355464991996E+02 + 0.2954795578493436E+02 + 0.2950237668563440E+02 + 0.2945681745615416E+02 + 0.2941127820045092E+02 + 0.2936575902230503E+02 + 0.2932026002532000E+02 + 0.2927478131292251E+02 + 0.2922932298836231E+02 + 0.2918388515471236E+02 + 0.2913846791486871E+02 + 0.2909307137155057E+02 + 0.2904769562730026E+02 + 0.2900234078448327E+02 + 0.2895700694528820E+02 + 0.2891169421172680E+02 + 0.2886640268563395E+02 + 0.2882113246866769E+02 + 0.2877588366230915E+02 + 0.2873065636786265E+02 + 0.2868545068645560E+02 + 0.2864026671903859E+02 + 0.2859510456638530E+02 + 0.2854996432909260E+02 + 0.2850484610758045E+02 + 0.2845975000209198E+02 + 0.2841467611269343E+02 + 0.2836962453927420E+02 + 0.2832459538154680E+02 + 0.2827958873904691E+02 + 0.2823460471113334E+02 + 0.2818964339698799E+02 + 0.2814470489561597E+02 + 0.2809978930584546E+02 + 0.2805489672632784E+02 + 0.2801002725553757E+02 + 0.2796518099177230E+02 + 0.2792035803315275E+02 + 0.2787555847762285E+02 + 0.2783078242294960E+02 + 0.2778602996672320E+02 + 0.2774130120635693E+02 + 0.2769659623908726E+02 + 0.2765191516197374E+02 + 0.2760725807189910E+02 + 0.2756262506556919E+02 + 0.2751801623951301E+02 + 0.2747343169008268E+02 + 0.2742887151345347E+02 + 0.2738433580562377E+02 + 0.2733982466241512E+02 + 0.2729533817947219E+02 + 0.2725087645226281E+02 + 0.2720643957607790E+02 + 0.2716202764603158E+02 + 0.2711764075706105E+02 + 0.2707327900392665E+02 + 0.2702894248121192E+02 + 0.2698463128332345E+02 + 0.2694034550449105E+02 + 0.2689608523876759E+02 + 0.2685185058002913E+02 + 0.2680764162197484E+02 + 0.2676345845812706E+02 + 0.2671930118183121E+02 + 0.2667516988625592E+02 + 0.2663106466439287E+02 + 0.2658698560905696E+02 + 0.2654293281288618E+02 + 0.2649890636834168E+02 + 0.2645490636770769E+02 + 0.2641093290309169E+02 + 0.2636698606642418E+02 + 0.2632306594945885E+02 + 0.2627917264377253E+02 + 0.2623530624076521E+02 + 0.2619146683165991E+02 + 0.2614765450750294E+02 + 0.2610386935916362E+02 + 0.2606011147733449E+02 + 0.2601638095253117E+02 + 0.2597267787509244E+02 + 0.2592900233518023E+02 + 0.2588535442277959E+02 + 0.2584173422769871E+02 + 0.2579814183959639E+02 + 0.2575457734873136E+02 + 0.2571104084605421E+02 + 0.2566753242189894E+02 + 0.2562405216135619E+02 + 0.2558060014633142E+02 + 0.2553717645904302E+02 + 0.2549378118412771E+02 + 0.2545041440681042E+02 + 0.2540707621020039E+02 + 0.2536376667266999E+02 + 0.2532048587204795E+02 + 0.2527723389654711E+02 + 0.2523401084718430E+02 + 0.2519081682398296E+02 + 0.2514765190747457E+02 + 0.2510451616539342E+02 + 0.2506140966796749E+02 + 0.2501833250086585E+02 + 0.2497528475478540E+02 + 0.2493226651941805E+02 + 0.2488927788209136E+02 + 0.2484631892950741E+02 + 0.2480338974402735E+02 + 0.2476049040221218E+02 + 0.2471762098066529E+02 + 0.2467478156435795E+02 + 0.2463197224422467E+02 + 0.2458919310871536E+02 + 0.2454644423145830E+02 + 0.2450372568047153E+02 + 0.2446103752725250E+02 + 0.2441837985380711E+02 + 0.2437575274399885E+02 + 0.2433315628746615E+02 + 0.2429059058250826E+02 + 0.2424805572628846E+02 + 0.2420555178935458E+02 + 0.2416307882118439E+02 + 0.2412063687675065E+02 + 0.2407822605292353E+02 + 0.2403584646367830E+02 + 0.2399349820920654E+02 + 0.2395118134539735E+02 + 0.2390889591932241E+02 + 0.2386664199724102E+02 + 0.2382441967693676E+02 + 0.2378222905803769E+02 + 0.2374007022310883E+02 + 0.2369794323987966E+02 + 0.2365584817695954E+02 + 0.2361378511451031E+02 + 0.2357175413784401E+02 + 0.2352975532987395E+02 + 0.2348778876525418E+02 + 0.2344585451664240E+02 + 0.2340395265662331E+02 + 0.2336208325780481E+02 + 0.2332024639287624E+02 + 0.2327844213961753E+02 + 0.2323667058065470E+02 + 0.2319493179763818E+02 + 0.2315322586357434E+02 + 0.2311155284703697E+02 + 0.2306991281880666E+02 + 0.2302830585918611E+02 + 0.2298673205069234E+02 + 0.2294519147109259E+02 + 0.2290368418887968E+02 + 0.2286221027155519E+02 + 0.2282076979335444E+02 + 0.2277936283557459E+02 + 0.2273798947876540E+02 + 0.2269664979456133E+02 + 0.2265534384957525E+02 + 0.2261407171219866E+02 + 0.2257283345963480E+02 + 0.2253162917139814E+02 + 0.2249045892407209E+02 + 0.2244932278800626E+02 + 0.2240822083248444E+02 + 0.2236715312438407E+02 + 0.2232611972784334E+02 + 0.2228512070826791E+02 + 0.2224415614817061E+02 + 0.2220322614044513E+02 + 0.2216233077086315E+02 + 0.2212147008972289E+02 + 0.2208064413623633E+02 + 0.2203985296610495E+02 + 0.2199909667545614E+02 + 0.2195837536575968E+02 + 0.2191768911736426E+02 + 0.2187703798395878E+02 + 0.2183642201800119E+02 + 0.2179584128007600E+02 + 0.2175529583616271E+02 + 0.2171478575467311E+02 + 0.2167431111774748E+02 + 0.2163387201213243E+02 + 0.2159346851499576E+02 + 0.2155310067794742E+02 + 0.2151276854853931E+02 + 0.2147247219165665E+02 + 0.2143221169634985E+02 + 0.2139198715152386E+02 + 0.2135179862066448E+02 + 0.2131164614841687E+02 + 0.2127152978393257E+02 + 0.2123144960806021E+02 + 0.2119140571364724E+02 + 0.2115139818033312E+02 + 0.2111142704846067E+02 + 0.2107149235129230E+02 + 0.2103159414683172E+02 + 0.2099173253102116E+02 + 0.2095190760111278E+02 + 0.2091211942537460E+02 + 0.2087236804848928E+02 + 0.2083265351697382E+02 + 0.2079297589601936E+02 + 0.2075333525861215E+02 + 0.2071373167711701E+02 + 0.2067416522212404E+02 + 0.2063463596362714E+02 + 0.2059514396443899E+02 + 0.2055568927540757E+02 + 0.2051627194660616E+02 + 0.2047689203852612E+02 + 0.2043754962093948E+02 + 0.2039824476359040E+02 + 0.2035897753458275E+02 + 0.2031974800116116E+02 + 0.2028055622829655E+02 + 0.2024140227303250E+02 + 0.2020228619048505E+02 + 0.2016320804146072E+02 + 0.2012416789748793E+02 + 0.2008516583046685E+02 + 0.2004620189779994E+02 + 0.2000727614266853E+02 + 0.1996838861014090E+02 + 0.1992953936857627E+02 + 0.1989072849829358E+02 + 0.1985195607454541E+02 + 0.1981322215173817E+02 + 0.1977452677880547E+02 + 0.1973587001161754E+02 + 0.1969725192045920E+02 + 0.1965867257667414E+02 + 0.1962013203659303E+02 + 0.1958163034039005E+02 + 0.1954316752981847E+02 + 0.1950474367193918E+02 + 0.1946635884817317E+02 + 0.1942801313338775E+02 + 0.1938970657208562E+02 + 0.1935143919995382E+02 + 0.1931321106511181E+02 + 0.1927502224409924E+02 + 0.1923687281666467E+02 + 0.1919876284412204E+02 + 0.1916069236600362E+02 + 0.1912266142180444E+02 + 0.1908467006677181E+02 + 0.1904671836598025E+02 + 0.1900880638375573E+02 + 0.1897093418048789E+02 + 0.1893310181518655E+02 + 0.1889530934545532E+02 + 0.1885755682564375E+02 + 0.1881984430937071E+02 + 0.1878217184730412E+02 + 0.1874453948633245E+02 + 0.1870694727428874E+02 + 0.1866939527646804E+02 + 0.1863188357019044E+02 + 0.1859441222645112E+02 + 0.1855698127939342E+02 + 0.1851959074995463E+02 + 0.1848224067448159E+02 + 0.1844493113260962E+02 + 0.1840766221090919E+02 + 0.1837043397539079E+02 + 0.1833324646273361E+02 + 0.1829609970773576E+02 + 0.1825899375336745E+02 + 0.1822192864876424E+02 + 0.1818490444527056E+02 + 0.1814792120834074E+02 + 0.1811097900888609E+02 + 0.1807407790899573E+02 + 0.1803721794380510E+02 + 0.1800039914335100E+02 + 0.1796362155390727E+02 + 0.1792688524740838E+02 + 0.1789019029658566E+02 + 0.1785353675158251E+02 + 0.1781692464363396E+02 + 0.1778035400598283E+02 + 0.1774382489168955E+02 + 0.1770733736235618E+02 + 0.1767089147572284E+02 + 0.1763448727654494E+02 + 0.1759812480669606E+02 + 0.1756180411250089E+02 + 0.1752552524813827E+02 + 0.1748928826834300E+02 + 0.1745309322628082E+02 + 0.1741694017366260E+02 + 0.1738082916179010E+02 + 0.1734476024030386E+02 + 0.1730873345794993E+02 + 0.1727274885982304E+02 + 0.1723680647760061E+02 + 0.1720090633972738E+02 + 0.1716504849028154E+02 + 0.1712923300339817E+02 + 0.1709345995546327E+02 + 0.1705772939899588E+02 + 0.1702204136244651E+02 + 0.1698639587433296E+02 + 0.1695079297505806E+02 + 0.1691523271126062E+02 + 0.1687971512983326E+02 + 0.1684424027908884E+02 + 0.1680880820759307E+02 + 0.1677341896457110E+02 + 0.1673807260083503E+02 + 0.1670276916702311E+02 + 0.1666750870735575E+02 + 0.1663229125896391E+02 + 0.1659711685955833E+02 + 0.1656198555826707E+02 + 0.1652689741084915E+02 + 0.1649185246846486E+02 + 0.1645685076066216E+02 + 0.1642189231047824E+02 + 0.1638697715286505E+02 + 0.1635210535085948E+02 + 0.1631727697076104E+02 + 0.1628249205811198E+02 + 0.1624775063323103E+02 + 0.1621305271710201E+02 + 0.1617839835841201E+02 + 0.1614378762369947E+02 + 0.1610922057360422E+02 + 0.1607469723657138E+02 + 0.1604021763031496E+02 + 0.1600578178426057E+02 + 0.1597138975846454E+02 + 0.1593704161731395E+02 + 0.1590273740720747E+02 + 0.1586847715053947E+02 + 0.1583426086902920E+02 + 0.1580008860016235E+02 + 0.1576596039258667E+02 + 0.1573187629441860E+02 + 0.1569783635002706E+02 + 0.1566384060229691E+02 + 0.1562988909237101E+02 + 0.1559598185673580E+02 + 0.1556211893089185E+02 + 0.1552830035009795E+02 + 0.1549452614934664E+02 + 0.1546079636369340E+02 + 0.1542711103196594E+02 + 0.1539347019590318E+02 + 0.1535987389750422E+02 + 0.1532632218092896E+02 + 0.1529281509111184E+02 + 0.1525935266825286E+02 + 0.1522593493783754E+02 + 0.1519256192235635E+02 + 0.1515923365056544E+02 + 0.1512595016149098E+02 + 0.1509271149541336E+02 + 0.1505951770093772E+02 + 0.1502636883380258E+02 + 0.1499326494550323E+02 + 0.1496020605531510E+02 + 0.1492719216791477E+02 + 0.1489422329775423E+02 + 0.1486129949477656E+02 + 0.1482842081655782E+02 + 0.1479558731028801E+02 + 0.1476279900474839E+02 + 0.1473005592667558E+02 + 0.1469735810329427E+02 + 0.1466470556227900E+02 + 0.1463209833299067E+02 + 0.1459953646003675E+02 + 0.1456701999551689E+02 + 0.1453454898561270E+02 + 0.1450212345337440E+02 + 0.1446974341601779E+02 + 0.1443740889435366E+02 + 0.1440511991647057E+02 + 0.1437287651150900E+02 + 0.1434067871752638E+02 + 0.1430852658183441E+02 + 0.1427642015059239E+02 + 0.1424435945634543E+02 + 0.1421234452409329E+02 + 0.1418037537896027E+02 + 0.1414845204761234E+02 + 0.1411657455701871E+02 + 0.1408474293740880E+02 + 0.1405295722631908E+02 + 0.1402121746184441E+02 + 0.1398952367446149E+02 + 0.1395787588599359E+02 + 0.1392627411875299E+02 + 0.1389471840704302E+02 + 0.1386320879234377E+02 + 0.1383174531165583E+02 + 0.1380032798016893E+02 + 0.1376895680628734E+02 + 0.1373763180940102E+02 + 0.1370635303562459E+02 + 0.1367512053447851E+02 + 0.1364393434091402E+02 + 0.1361279447168811E+02 + 0.1358170094343153E+02 + 0.1355065378724497E+02 + 0.1351965304379730E+02 + 0.1348869874954289E+02 + 0.1345779091766070E+02 + 0.1342692955329116E+02 + 0.1339611467275926E+02 + 0.1336534632257505E+02 + 0.1333462455365382E+02 + 0.1330394939685652E+02 + 0.1327332085551318E+02 + 0.1324273893270630E+02 + 0.1321220365848349E+02 + 0.1318171508258133E+02 + 0.1315127325021541E+02 + 0.1312087817695147E+02 + 0.1309052986703575E+02 + 0.1306022833105547E+02 + 0.1302997359884228E+02 + 0.1299976570360187E+02 + 0.1296960467675442E+02 + 0.1293949054710423E+02 + 0.1290942334266421E+02 + 0.1287940308466177E+02 + 0.1284942978882831E+02 + 0.1281950347240475E+02 + 0.1278962416511517E+02 + 0.1275979190180831E+02 + 0.1273000671063934E+02 + 0.1270026859807160E+02 + 0.1267057756614114E+02 + 0.1264093363116327E+02 + 0.1261133683338395E+02 + 0.1258178721440557E+02 + 0.1255228480130389E+02 + 0.1252282960829248E+02 + 0.1249342164918047E+02 + 0.1246406093932310E+02 + 0.1243474749468757E+02 + 0.1240548133418790E+02 + 0.1237626248801363E+02 + 0.1234709098868553E+02 + 0.1231796685639078E+02 + 0.1228889008880913E+02 + 0.1225986068237930E+02 + 0.1223087866320054E+02 + 0.1220194408616956E+02 + 0.1217305700255156E+02 + 0.1214421742294802E+02 + 0.1211542533705808E+02 + 0.1208668074118714E+02 + 0.1205798365996562E+02 + 0.1202933412508033E+02 + 0.1200073216257721E+02 + 0.1197217778723632E+02 + 0.1194367101245289E+02 + 0.1191521185515023E+02 + 0.1188680033602710E+02 + 0.1185843647536139E+02 + 0.1183012028901064E+02 + 0.1180185179025658E+02 + 0.1177363099309712E+02 + 0.1174545791557398E+02 + 0.1171733257674269E+02 + 0.1168925499425748E+02 + 0.1166122518285557E+02 + 0.1163324315677365E+02 + 0.1160530893180925E+02 + 0.1157742252561990E+02 + 0.1154958395556427E+02 + 0.1152179323621767E+02 + 0.1149405038035479E+02 + 0.1146635540098397E+02 + 0.1143870831317736E+02 + 0.1141110913253324E+02 + 0.1138355787392793E+02 + 0.1135605455071508E+02 + 0.1132859917587569E+02 + 0.1130119176279746E+02 + 0.1127383232544450E+02 + 0.1124652087764691E+02 + 0.1121925743302852E+02 + 0.1119204200501463E+02 + 0.1116487460670349E+02 + 0.1113775525019472E+02 + 0.1111068394711856E+02 + 0.1108366070927483E+02 + 0.1105668554925238E+02 + 0.1102975847961388E+02 + 0.1100287951227688E+02 + 0.1097604865832146E+02 + 0.1094926592858193E+02 + 0.1092253133352671E+02 + 0.1089584488330327E+02 + 0.1086920658812971E+02 + 0.1084261645966913E+02 + 0.1081607451003687E+02 + 0.1078958075060052E+02 + 0.1076313519081053E+02 + 0.1073673783960903E+02 + 0.1071038870608258E+02 + 0.1068408779964537E+02 + 0.1065783512954373E+02 + 0.1063163070435819E+02 + 0.1060547453208647E+02 + 0.1057936662078185E+02 + 0.1055330698009432E+02 + 0.1052729562025992E+02 + 0.1050133255072457E+02 + 0.1047541777867287E+02 + 0.1044955131067538E+02 + 0.1042373315400618E+02 + 0.1039796331727777E+02 + 0.1037224180897926E+02 + 0.1034656863563022E+02 + 0.1032094380194300E+02 + 0.1029536731273748E+02 + 0.1026983917544960E+02 + 0.1024435939866882E+02 + 0.1021892799017130E+02 + 0.1019354495512649E+02 + 0.1016821029795525E+02 + 0.1014292402381480E+02 + 0.1011768613941954E+02 + 0.1009249665140821E+02 + 0.1006735556421815E+02 + 0.1004226288008806E+02 + 0.1001721860144277E+02 + 0.9992222734637442E+01 + 0.9967275288013241E+01 + 0.9942376268426239E+01 + 0.9917525676965367E+01 + 0.9892723513078479E+01 + 0.9867969778614690E+01 + 0.9843264480642114E+01 + 0.9818607626590035E+01 + 0.9793999219940810E+01 + 0.9769439259864909E+01 + 0.9744927745494875E+01 + 0.9720464679429268E+01 + 0.9696050066204220E+01 + 0.9671683909938940E+01 + 0.9647366213336239E+01 + 0.9623096978552589E+01 + 0.9598876206912873E+01 + 0.9574703898061404E+01 + 0.9550580051299164E+01 + 0.9526504667486236E+01 + 0.9502477749399242E+01 + 0.9478499299619800E+01 + 0.9454569318942118E+01 + 0.9430687806950676E+01 + 0.9406854763008424E+01 + 0.9383070186186394E+01 + 0.9359334075338031E+01 + 0.9335646430004703E+01 + 0.9312007251772741E+01 + 0.9288416542335757E+01 + 0.9264874300609973E+01 + 0.9241380521892527E+01 + 0.9217935201363034E+01 + 0.9194538338041742E+01 + 0.9171189933600273E+01 + 0.9147889989119269E+01 + 0.9124638502742569E+01 + 0.9101435471433447E+01 + 0.9078280891660349E+01 + 0.9055174758831395E+01 + 0.9032117068059282E+01 + 0.9009107816557389E+01 + 0.8986147004682254E+01 + 0.8963234632603735E+01 + 0.8940370696220501E+01 + 0.8917555188081694E+01 + 0.8894788101065517E+01 + 0.8872069431780579E+01 + 0.8849399178225168E+01 + 0.8826777337805186E+01 + 0.8804203906432290E+01 + 0.8781678879567968E+01 + 0.8759202251824069E+01 + 0.8736774016560954E+01 + 0.8714394166915604E+01 + 0.8692062696850543E+01 + 0.8669779601003654E+01 + 0.8647544873981904E+01 + 0.8625358511117298E+01 + 0.8603220507963973E+01 + 0.8581130859140083E+01 + 0.8559089556427713E+01 + 0.8537096590855528E+01 + 0.8515151954414959E+01 + 0.8493255640939621E+01 + 0.8471407644236226E+01 + 0.8449607956866663E+01 + 0.8427856570216909E+01 + 0.8406153475560931E+01 + 0.8384498664895800E+01 + 0.8362892130481150E+01 + 0.8341333864400140E+01 + 0.8319823858563387E+01 + 0.8298362104697944E+01 + 0.8276948593868399E+01 + 0.8255583316021980E+01 + 0.8234266260860261E+01 + 0.8212997419015290E+01 + 0.8191776782079662E+01 + 0.8170604341246030E+01 + 0.8149480085012829E+01 + 0.8128404000331775E+01 + 0.8107376074994333E+01 + 0.8086396301128120E+01 + 0.8065464671897439E+01 + 0.8044581177960257E+01 + 0.8023745804787339E+01 + 0.8002958537112583E+01 + 0.7982219362371501E+01 + 0.7961528271070983E+01 + 0.7940885253564911E+01 + 0.7920290298478816E+01 + 0.7899743393331350E+01 + 0.7879244525492695E+01 + 0.7858793682378155E+01 + 0.7838390851286897E+01 + 0.7818036018660848E+01 + 0.7797729169154648E+01 + 0.7777470287075874E+01 + 0.7757259359080991E+01 + 0.7737096374781712E+01 + 0.7716981323513935E+01 + 0.7696914190936385E+01 + 0.7676894960223033E+01 + 0.7656923614741366E+01 + 0.7637000139946053E+01 + 0.7617124521873092E+01 + 0.7597296746348585E+01 + 0.7577516798940641E+01 + 0.7557784664995406E+01 + 0.7538100328470249E+01 + 0.7518463771496818E+01 + 0.7498874976084905E+01 + 0.7479333926543476E+01 + 0.7459840608797538E+01 + 0.7440395008242942E+01 + 0.7420997107743071E+01 + 0.7401646889100358E+01 + 0.7382344334461621E+01 + 0.7363089427341671E+01 + 0.7343882151341743E+01 + 0.7324722489112938E+01 + 0.7305610421973272E+01 + 0.7286545931027259E+01 + 0.7267528998220456E+01 + 0.7248559606131348E+01 + 0.7229637737002538E+01 + 0.7210763371700606E+01 + 0.7191936490414682E+01 + 0.7173157073496803E+01 + 0.7154425102249004E+01 + 0.7135740558015512E+01 + 0.7117103421549062E+01 + 0.7098513672744995E+01 + 0.7079971291226003E+01 + 0.7061476255953393E+01 + 0.7043028545286496E+01 + 0.7024628137792484E+01 + 0.7006275014933865E+01 + 0.6987969159403082E+01 + 0.6969710552406519E+01 + 0.6951499170210664E+01 + 0.6933334987834449E+01 + 0.6915217981588244E+01 + 0.6897148130283654E+01 + 0.6879125412854034E+01 + 0.6861149808467364E+01 + 0.6843221296510275E+01 + 0.6825339855915045E+01 + 0.6807505462960592E+01 + 0.6789718092491063E+01 + 0.6771977719759888E+01 + 0.6754284322274376E+01 + 0.6736637877967826E+01 + 0.6719038363706878E+01 + 0.6701485754400720E+01 + 0.6683980024635103E+01 + 0.6666521150670825E+01 + 0.6649109110548137E+01 + 0.6631743881889667E+01 + 0.6614425438944807E+01 + 0.6597153753996721E+01 + 0.6579928799963830E+01 + 0.6562750553357610E+01 + 0.6545618991561268E+01 + 0.6528534090146542E+01 + 0.6511495820887682E+01 + 0.6494504154968799E+01 + 0.6477559065878815E+01 + 0.6460660529810181E+01 + 0.6443808522667053E+01 + 0.6427003017222726E+01 + 0.6410243984252089E+01 + 0.6393531394704953E+01 + 0.6376865221286046E+01 + 0.6360245437123679E+01 + 0.6343672015462154E+01 + 0.6327144930093910E+01 + 0.6310664154700357E+01 + 0.6294229661277659E+01 + 0.6277841419723495E+01 + 0.6261499399692475E+01 + 0.6245203571483021E+01 + 0.6228953905770522E+01 + 0.6212750373249262E+01 + 0.6196592945501164E+01 + 0.6180481594297929E+01 + 0.6164416291191388E+01 + 0.6148397007445273E+01 + 0.6132423714082210E+01 + 0.6116496379999806E+01 + 0.6100614971191131E+01 + 0.6084779453565022E+01 + 0.6068989797217320E+01 + 0.6053245975319191E+01 + 0.6037547960166482E+01 + 0.6021895719033953E+01 + 0.6006289217148281E+01 + 0.5990728420890814E+01 + 0.5975213300519982E+01 + 0.5959743826844129E+01 + 0.5944319968494545E+01 + 0.5928941690843341E+01 + 0.5913608958924603E+01 + 0.5898321739407487E+01 + 0.5883080000267769E+01 + 0.5867883709290553E+01 + 0.5852732833708574E+01 + 0.5837627340414432E+01 + 0.5822567195892289E+01 + 0.5807552365686886E+01 + 0.5792582815005862E+01 + 0.5777658509285643E+01 + 0.5762779414479295E+01 + 0.5747945496435098E+01 + 0.5733156721003428E+01 + 0.5718413054018449E+01 + 0.5703714460927333E+01 + 0.5689060905339685E+01 + 0.5674452349899871E+01 + 0.5659888757470624E+01 + 0.5645370092256475E+01 + 0.5630896318640060E+01 + 0.5616467401291801E+01 + 0.5602083305579260E+01 + 0.5587743996698245E+01 + 0.5573449437682183E+01 + 0.5559199589424050E+01 + 0.5544994412756600E+01 + 0.5530833870173381E+01 + 0.5516717924946454E+01 + 0.5502646540174618E+01 + 0.5488619678775101E+01 + 0.5474637303477586E+01 + 0.5460699375918112E+01 + 0.5446805855667111E+01 + 0.5432956701947149E+01 + 0.5419151875692190E+01 + 0.5405391339710926E+01 + 0.5391675056648162E+01 + 0.5378002988100918E+01 + 0.5364375094986478E+01 + 0.5350791337702458E+01 + 0.5337251674927107E+01 + 0.5323756064711705E+01 + 0.5310304465665721E+01 + 0.5296896837912234E+01 + 0.5283533141623177E+01 + 0.5270213336629207E+01 + 0.5256937382388877E+01 + 0.5243705238105157E+01 + 0.5230516862092983E+01 + 0.5217372212037399E+01 + 0.5204271245588392E+01 + 0.5191213921018955E+01 + 0.5178200196679597E+01 + 0.5165230030832405E+01 + 0.5152303381793930E+01 + 0.5139420207707795E+01 + 0.5126580465423436E+01 + 0.5113784110150139E+01 + 0.5101031096913693E+01 + 0.5088321381856606E+01 + 0.5075654921844591E+01 + 0.5063031673747766E+01 + 0.5050451595224216E+01 + 0.5037914644097487E+01 + 0.5025420777027619E+01 + 0.5012969947734822E+01 + 0.5000562109299187E+01 + 0.4988197215871830E+01 + 0.4975875223230100E+01 + 0.4963596087089143E+01 + 0.4951359762668048E+01 + 0.4939166204763059E+01 + 0.4927015367891404E+01 + 0.4914907205803636E+01 + 0.4902841671835123E+01 + 0.4890818719166555E+01 + 0.4878838300887341E+01 + 0.4866900369923249E+01 + 0.4855004879143551E+01 + 0.4843151781435511E+01 + 0.4831341029598380E+01 + 0.4819572577573283E+01 + 0.4807846380235390E+01 + 0.4796162391748306E+01 + 0.4784520561996847E+01 + 0.4772920838878581E+01 + 0.4761363171435000E+01 + 0.4749847513165106E+01 + 0.4738373818372603E+01 + 0.4726942039442838E+01 + 0.4715552125542187E+01 + 0.4704204025475397E+01 + 0.4692897690462207E+01 + 0.4681633073945053E+01 + 0.4670410128698458E+01 + 0.4659228802609126E+01 + 0.4648089041089911E+01 + 0.4636990790853516E+01 + 0.4625934004229913E+01 + 0.4614918634752037E+01 + 0.4603944633659394E+01 + 0.4593011947935142E+01 + 0.4582120523943317E+01 + 0.4571270308580443E+01 + 0.4560461249287768E+01 + 0.4549693293670053E+01 + 0.4538966392032361E+01 + 0.4528280496047242E+01 + 0.4517635555956312E+01 + 0.4507031516370629E+01 + 0.4496468320262381E+01 + 0.4485945912564016E+01 + 0.4475464242594031E+01 + 0.4465023260004259E+01 + 0.4454622912210499E+01 + 0.4444263144151860E+01 + 0.4433943900608599E+01 + 0.4423665127696006E+01 + 0.4413426772245441E+01 + 0.4403228780694976E+01 + 0.4393071098230126E+01 + 0.4382953669532648E+01 + 0.4372876439026840E+01 + 0.4362839350779950E+01 + 0.4352842348684088E+01 + 0.4342885377608994E+01 + 0.4332968383665840E+01 + 0.4323091312763836E+01 + 0.4313254109351169E+01 + 0.4303456716859786E+01 + 0.4293699078266604E+01 + 0.4283981134990868E+01 + 0.4274302827812382E+01 + 0.4264664098920513E+01 + 0.4255064894481626E+01 + 0.4245505161086913E+01 + 0.4235984842333295E+01 + 0.4226503877841254E+01 + 0.4217062206967477E+01 + 0.4207659771452821E+01 + 0.4198296514697185E+01 + 0.4188972379604042E+01 + 0.4179687306772759E+01 + 0.4170441235835762E+01 + 0.4161234107196158E+01 + 0.4152065863841793E+01 + 0.4142936449040856E+01 + 0.4133845803877732E+01 + 0.4124793866284246E+01 + 0.4115780573910143E+01 + 0.4106805866460220E+01 + 0.4097869685221813E+01 + 0.4088971971047344E+01 + 0.4080112662593102E+01 + 0.4071291697507015E+01 + 0.4062509014107751E+01 + 0.4053764553289539E+01 + 0.4045058256293680E+01 + 0.4036390062349186E+01 + 0.4027759907513015E+01 + 0.4019167727485501E+01 + 0.4010613459671258E+01 + 0.4002097042927858E+01 + 0.3993618415886353E+01 + 0.3985177516253584E+01 + 0.3976774281217564E+01 + 0.3968408647973538E+01 + 0.3960080554220316E+01 + 0.3951789937617896E+01 + 0.3943536734661051E+01 + 0.3935320879893214E+01 + 0.3927142307541112E+01 + 0.3919000952772581E+01 + 0.3910896751642844E+01 + 0.3902829640231966E+01 + 0.3894799555823746E+01 + 0.3886806436215552E+01 + 0.3878850217849458E+01 + 0.3870930832280027E+01 + 0.3863048209723300E+01 + 0.3855202283000621E+01 + 0.3847392990291471E+01 + 0.3839620270105995E+01 + 0.3831884057150737E+01 + 0.3824184282162198E+01 + 0.3816520875823022E+01 + 0.3808893771584922E+01 + 0.3801302904349439E+01 + 0.3793748208344082E+01 + 0.3786229615348013E+01 + 0.3778747056333649E+01 + 0.3771300463362561E+01 + 0.3763889771106266E+01 + 0.3756514914340169E+01 + 0.3749175825059516E+01 + 0.3741872432092516E+01 + 0.3734604664246636E+01 + 0.3727372453698936E+01 + 0.3720175734609583E+01 + 0.3713014440233736E+01 + 0.3705888499901225E+01 + 0.3698797841603685E+01 + 0.3691742394123051E+01 + 0.3684722088426692E+01 + 0.3677736855645863E+01 + 0.3670786626487318E+01 + 0.3663871331169565E+01 + 0.3656990899644327E+01 + 0.3650145260884421E+01 + 0.3643334343145339E+01 + 0.3636558074714680E+01 + 0.3629816384944488E+01 + 0.3623109203432206E+01 + 0.3616436459133201E+01 + 0.3609798079581379E+01 + 0.3603193991933042E+01 + 0.3596624123725671E+01 + 0.3590088403096983E+01 + 0.3583586758081268E+01 + 0.3577119116828047E+01 + 0.3570685407524380E+01 + 0.3564285557803150E+01 + 0.3557919492785699E+01 + 0.3551587136521805E+01 + 0.3545288414019925E+01 + 0.3539023253527156E+01 + 0.3532791583718824E+01 + 0.3526593331494946E+01 + 0.3520428421140222E+01 + 0.3514296776653421E+01 + 0.3508198323528076E+01 + 0.3502132988436230E+01 + 0.3496100697525877E+01 + 0.3490101374123721E+01 + 0.3484134940257803E+01 + 0.3478201318705024E+01 + 0.3472300435174682E+01 + 0.3466432215833562E+01 + 0.3460596586092734E+01 + 0.3454793470215549E+01 + 0.3449022792123921E+01 + 0.3443284474299178E+01 + 0.3437578437918255E+01 + 0.3431904604166020E+01 + 0.3426262895845327E+01 + 0.3420653236417837E+01 + 0.3415075549108366E+01 + 0.3409529756738548E+01 + 0.3404015781891889E+01 + 0.3398533546461182E+01 + 0.3393082971214928E+01 + 0.3387663976683597E+01 + 0.3382276484278182E+01 + 0.3376920416268290E+01 + 0.3371595694584585E+01 + 0.3366302239222745E+01 + 0.3361039969090460E+01 + 0.3355808803695600E+01 + 0.3350608665624798E+01 + 0.3345439478107946E+01 + 0.3340301161783768E+01 + 0.3335193632178999E+01 + 0.3330116804195051E+01 + 0.3325070596895463E+01 + 0.3320054933834865E+01 + 0.3315069738150313E+01 + 0.3310114928158263E+01 + 0.3305190419350959E+01 + 0.3300296127604147E+01 + 0.3295431971364062E+01 + 0.3290597869683931E+01 + 0.3285793741434693E+01 + 0.3281019505303685E+01 + 0.3276275079739079E+01 + 0.3271560381190275E+01 + 0.3266875323778139E+01 + 0.3262219821715714E+01 + 0.3257593793531298E+01 + 0.3252997160393524E+01 + 0.3248429842137267E+01 + 0.3243891752282066E+01 + 0.3239382802210165E+01 + 0.3234902904999047E+01 + 0.3230451978255120E+01 + 0.3226029940104779E+01 + 0.3221636707522139E+01 + 0.3217272196038752E+01 + 0.3212936320814653E+01 + 0.3208628995487325E+01 + 0.3204350132585731E+01 + 0.3200099644783259E+01 + 0.3195877446556082E+01 + 0.3191683452901359E+01 + 0.3187517578421880E+01 + 0.3183379736945854E+01 + 0.3179269842021744E+01 + 0.3175187807246668E+01 + 0.3171133546365314E+01 + 0.3167106972911716E+01 + 0.3163107999448212E+01 + 0.3159136537755126E+01 + 0.3155192499493909E+01 + 0.3151275796652304E+01 + 0.3147386341235019E+01 + 0.3143524044698953E+01 + 0.3139688817192129E+01 + 0.3135880568497275E+01 + 0.3132099210431249E+01 + 0.3128344658111510E+01 + 0.3124616826503054E+01 + 0.3120915625656594E+01 + 0.3117240961490663E+01 + 0.3113592740321924E+01 + 0.3109970873336541E+01 + 0.3106375273738814E+01 + 0.3102805853608561E+01 + 0.3099262521572986E+01 + 0.3095745185386224E+01 + 0.3092253753573249E+01 + 0.3088788136127849E+01 + 0.3085348242982668E+01 + 0.3081933983025341E+01 + 0.3078545264170100E+01 + 0.3075181994090108E+01 + 0.3071844080049201E+01 + 0.3068531429018594E+01 + 0.3065243948340530E+01 + 0.3061981547294972E+01 + 0.3058744135477642E+01 + 0.3055531621222490E+01 + 0.3052343910619517E+01 + 0.3049180909370797E+01 + 0.3046042523644997E+01 + 0.3042928660082044E+01 + 0.3039839225029157E+01 + 0.3036774123396866E+01 + 0.3033733259245341E+01 + 0.3030716537524837E+01 + 0.3027723867598900E+01 + 0.3024755159853084E+01 + 0.3021810320940863E+01 + 0.3018889249848348E+01 + 0.3015991844653833E+01 + 0.3013118009637762E+01 + 0.3010267655961683E+01 + 0.3007440694251856E+01 + 0.3004637027528966E+01 + 0.3001856554278419E+01 + 0.2999099174007641E+01 + 0.2996364792037968E+01 + 0.2993653315279563E+01 + 0.2990964648965482E+01 + 0.2988298694657612E+01 + 0.2985655353286622E+01 + 0.2983034527259018E+01 + 0.2980436120814638E+01 + 0.2977860037869140E+01 + 0.2975306179077367E+01 + 0.2972774442923024E+01 + 0.2970264728732420E+01 + 0.2967776941260934E+01 + 0.2965310986926451E+01 + 0.2962866769327909E+01 + 0.2960444185065271E+01 + 0.2958043129572793E+01 + 0.2955663502552742E+01 + 0.2953305209471177E+01 + 0.2950968155597864E+01 + 0.2948652240264499E+01 + 0.2946357358530404E+01 + 0.2944083406033878E+01 + 0.2941830283269231E+01 + 0.2939597892390959E+01 + 0.2937386134842869E+01 + 0.2935194910359739E+01 + 0.2933024118200678E+01 + 0.2930873656296965E+01 + 0.2928743420715180E+01 + 0.2926633307381334E+01 + 0.2924543214779573E+01 + 0.2922473043352630E+01 + 0.2920422693054130E+01 + 0.2918392061241135E+01 + 0.2916381044109015E+01 + 0.2914389537824483E+01 + 0.2912417438874410E+01 + 0.2910464643665920E+01 + 0.2908531048680545E+01 + 0.2906616550633207E+01 + 0.2904721046122319E+01 + 0.2902844432061764E+01 + 0.2900986605610533E+01 + 0.2899147463368834E+01 + 0.2897326898861839E+01 + 0.2895524804132187E+01 + 0.2893741072567508E+01 + 0.2891975602813611E+01 + 0.2890228294505487E+01 + 0.2888499043831113E+01 + 0.2886787740976567E+01 + 0.2885094275521696E+01 + 0.2883418540639916E+01 + 0.2881760432883155E+01 + 0.2880119848579617E+01 + 0.2878496682355621E+01 + 0.2876890827901841E+01 + 0.2875302178309033E+01 + 0.2873730624861238E+01 + 0.2872176058264707E+01 + 0.2870638369965408E+01 + 0.2869117453042046E+01 + 0.2867613200600068E+01 + 0.2866125505493596E+01 + 0.2864654260322932E+01 + 0.2863199357350394E+01 + 0.2861760687224421E+01 + 0.2860338139626506E+01 + 0.2858931604805579E+01 + 0.2857540976164836E+01 + 0.2856166147830706E+01 + 0.2854807011322554E+01 + 0.2853463452709494E+01 + 0.2852135357334464E+01 + 0.2850822614829832E+01 + 0.2849525119733939E+01 + 0.2848242766224650E+01 + 0.2846975443423712E+01 + 0.2845723037328715E+01 + 0.2844485434338496E+01 + 0.2843262523743311E+01 + 0.2842054195589892E+01 + 0.2840860339494757E+01 + 0.2839680844294488E+01 + 0.2838515598544652E+01 + 0.2837364490233571E+01 + 0.2836227406686161E+01 + 0.2835104235008345E+01 + 0.2833994862060276E+01 + 0.2832899174477136E+01 + 0.2831817058871407E+01 + 0.2830748402555193E+01 + 0.2829693092957717E+01 + 0.2828651017182398E+01 + 0.2827622061767196E+01 + 0.2826606113013611E+01 + 0.2825603057448259E+01 + 0.2824612781975357E+01 + 0.2823635173219871E+01 + 0.2822670115710901E+01 + 0.2821717492395901E+01 + 0.2820777186379397E+01 + 0.2819849082866010E+01 + 0.2818933067738718E+01 + 0.2818029026431329E+01 + 0.2817136843400433E+01 + 0.2816256402782624E+01 + 0.2815387589028978E+01 + 0.2814530287159357E+01 + 0.2813684381939455E+01 + 0.2812849755797553E+01 + 0.2812026289247390E+01 + 0.2811213863086006E+01 + 0.2810412361462944E+01 + 0.2809621669823669E+01 + 0.2808841672645227E+01 + 0.2808072251617527E+01 + 0.2807313287716228E+01 + 0.2806564661998291E+01 + 0.2805826255778477E+01 + 0.2805097950255156E+01 + 0.2804379626914743E+01 + 0.2803671167476592E+01 + 0.2802972453514117E+01 + 0.2802283366587438E+01 + 0.2801603788152714E+01 + 0.2800933599118817E+01 + 0.2800272678875677E+01 + 0.2799620906333912E+01 + 0.2798978161214373E+01 + 0.2798344324877767E+01 + 0.2797719278579341E+01 + 0.2797102900792923E+01 + 0.2796495067289088E+01 + 0.2795895654178171E+01 + 0.2795304542814077E+01 + 0.2794721617142463E+01 + 0.2794146759142823E+01 + 0.2793579843240258E+01 + 0.2793020741820773E+01 + 0.2792469330627312E+01 + 0.2791925492392408E+01 + 0.2791389110329670E+01 + 0.2790860062103882E+01 + 0.2790338219480489E+01 + 0.2789823454424782E+01 + 0.2789315645200771E+01 + 0.2788814673544470E+01 + 0.2788320419889577E+01 + 0.2787832759200677E+01 + 0.2787351564761240E+01 + 0.2786876710194012E+01 + 0.2786408070111963E+01 + 0.2785945519178410E+01 + 0.2785488934207472E+01 + 0.2785038194561131E+01 + 0.2784593179120656E+01 + 0.2784153761537559E+01 + 0.2783719812144721E+01 + 0.2783291201760849E+01 + 0.2782867804663146E+01 + 0.2782449496095806E+01 + 0.2782036151385688E+01 + 0.2781627646330937E+01 + 0.2781223856595946E+01 + 0.2780824655664850E+01 + 0.2780429914270175E+01 + 0.2780039502956779E+01 + 0.2779653294187135E+01 + 0.2779271161676928E+01 + 0.2778892978926623E+01 + 0.2778518618908240E+01 + 0.2778147954289763E+01 + 0.2777780857172172E+01 + 0.2777417198418150E+01 + 0.2777056848545123E+01 + 0.2776699678750747E+01 + 0.2776345561270367E+01 + 0.2775994368161743E+01 + 0.2775645970027761E+01 + 0.2775300236331764E+01 + 0.2774957036569377E+01 + 0.2774616241564826E+01 + 0.2774277722547688E+01 + 0.2773941350093065E+01 + 0.2773606993148473E+01 + 0.2773274520212892E+01 + 0.2772943800192315E+01 + 0.2772614702728056E+01 + 0.2772287097378594E+01 + 0.2771960853855910E+01 + 0.2771635841967354E+01 + 0.2771311930971853E+01 + 0.2770988987297230E+01 + 0.2770666876045879E+01 + 0.2770345463370640E+01 + 0.2770024619447467E+01 + 0.2769704215134547E+01 + 0.2769384118818012E+01 + 0.2769064194777112E+01 + 0.2768744306864522E+01 + 0.2768424321563757E+01 + 0.2768104107730607E+01 + 0.2767783534037924E+01 + 0.2767462468221224E+01 + 0.2767140777474592E+01 + 0.2766818327814774E+01 + 0.2766494981326374E+01 + 0.2766170599048912E+01 + 0.2765845044767994E+01 + 0.2765518187623145E+01 + 0.2765189897055233E+01 + 0.2764860039233492E+01 + 0.2764528477063280E+01 + 0.2764195073269223E+01 + 0.2763859691618402E+01 + 0.2763522196339605E+01 + 0.2763182451228717E+01 + 0.2762840318822903E+01 + 0.2762495661200688E+01 + 0.2762148341581795E+01 + 0.2761798225765982E+01 + 0.2761445179611864E+01 + 0.2761089065885993E+01 + 0.2760729743984623E+01 + 0.2760367073327168E+01 + 0.2760000916904324E+01 + 0.2759631139703306E+01 + 0.2759257605955578E+01 + 0.2758880176886865E+01 + 0.2758498712713812E+01 + 0.2758113073706302E+01 + 0.2757723120498230E+01 + 0.2757328713627488E+01 + 0.2756929713797423E+01 + 0.2756525981947811E+01 + 0.2756117378903043E+01 + 0.2755703765788566E+01 + 0.2755285003856781E+01 + 0.2754860953657930E+01 + 0.2754431472814529E+01 + 0.2753996417873756E+01 + 0.2753555646705012E+01 + 0.2753109020845020E+01 + 0.2752656402206374E+01 + 0.2752197650503046E+01 + 0.2751732622599009E+01 + 0.2751261175153597E+01 + 0.2750783166780084E+01 + 0.2750298457412403E+01 + 0.2749806906221594E+01 + 0.2749308368620419E+01 + 0.2748802698545403E+01 + 0.2748289751641220E+01 + 0.2747769388738957E+01 + 0.2747241471377862E+01 + 0.2746705857992797E+01 + 0.2746162402584218E+01 + 0.2745610958712216E+01 + 0.2745051380961828E+01 + 0.2744483524669128E+01 + 0.2743907245359290E+01 + 0.2743322400646468E+01 + 0.2742728848874425E+01 + 0.2742126446852387E+01 + 0.2741515046937953E+01 + 0.2740894500505915E+01 + 0.2740264661437055E+01 + 0.2739625387735786E+01 + 0.2738976537367335E+01 + 0.2738317963810514E+01 + 0.2737649516702314E+01 + 0.2736971046322972E+01 + 0.2736282409689572E+01 + 0.2735583466712316E+01 + 0.2734874074181687E+01 + 0.2734154078355194E+01 + 0.2733423323118169E+01 + 0.2732681659421084E+01 + 0.2731928950821208E+01 + 0.2731165061151226E+01 + 0.2730389836605993E+01 + 0.2729603106894466E+01 + 0.2728804710667133E+01 + 0.2727994566617481E+01 + 0.2727172632694448E+01 + 0.2726338878521841E+01 + 0.2725493318299303E+01 + 0.2724635977090849E+01 + 0.2723766876238637E+01 + 0.2722886029801277E+01 + 0.2721993451046089E+01 + 0.2721089153718592E+01 + 0.2720173152054040E+01 + 0.2719245460221757E+01 + 0.2718306091319123E+01 + 0.2717355057876741E+01 + 0.2716392373426995E+01 + 0.2715418055776556E+01 + 0.2714432123906192E+01 + 0.2713434594331037E+01 + 0.2712425478224843E+01 + 0.2711404786217251E+01 + 0.2710372532514437E+01 + 0.2709328735348719E+01 + 0.2708273412763306E+01 + 0.2707206578235267E+01 + 0.2706128242525871E+01 + 0.2705038417526083E+01 + 0.2703937120665319E+01 + 0.2702824371067955E+01 + 0.2701700186486546E+01 + 0.2700564581359884E+01 + 0.2699417569642245E+01 + 0.2698259164271288E+01 + 0.2697089376918855E+01 + 0.2695908219685094E+01 + 0.2694715710423051E+01 + 0.2693511870783412E+01 + 0.2692296721013244E+01 + 0.2691070273248351E+01 + 0.2689832536921087E+01 + 0.2688583523752928E+01 + 0.2687323251457192E+01 + 0.2686051738713787E+01 + 0.2684769002567673E+01 + 0.2683475057826066E+01 + 0.2682169919258967E+01 + 0.2680853602939694E+01 + 0.2679526125894251E+01 + 0.2678187504657000E+01 + 0.2676837752501467E+01 + 0.2675476881504352E+01 + 0.2674104905527170E+01 + 0.2672721843599101E+01 + 0.2671327715678237E+01 + 0.2669922539516348E+01 + 0.2668506329544559E+01 + 0.2667079099969409E+01 + 0.2665640865328509E+01 + 0.2664191640429286E+01 + 0.2662731440465058E+01 + 0.2661260283006597E+01 + 0.2659778186628361E+01 + 0.2658285168916827E+01 + 0.2656781244158302E+01 + 0.2655266426025423E+01 + 0.2653740730454385E+01 + 0.2652204177091155E+01 + 0.2650656785684533E+01 + 0.2649098570965778E+01 + 0.2647529543282488E+01 + 0.2645949713927269E+01 + 0.2644359102295943E+01 + 0.2642757731513730E+01 + 0.2641145622769937E+01 + 0.2639522790078630E+01 + 0.2637889245871558E+01 + 0.2636245004230688E+01 + 0.2634590082211554E+01 + 0.2632924497248970E+01 + 0.2631248267556267E+01 + 0.2629561412095964E+01 + 0.2627863949471237E+01 + 0.2626155894715124E+01 + 0.2624437261069970E+01 + 0.2622708062875624E+01 + 0.2620968318861197E+01 + 0.2619218048876622E+01 + 0.2617457271307122E+01 + 0.2615686001566715E+01 + 0.2613904254791424E+01 + 0.2612112047397210E+01 + 0.2610309397148671E+01 + 0.2608496321864222E+01 + 0.2606672838985737E+01 + 0.2604838965759654E+01 + 0.2602994719471381E+01 + 0.2601140117477191E+01 + 0.2599275177177657E+01 + 0.2597399916136707E+01 + 0.2595514352239738E+01 + 0.2593618503416817E+01 + 0.2591712386793635E+01 + 0.2589796018558459E+01 + 0.2587869414980477E+01 + 0.2585932593489293E+01 + 0.2583985572240853E+01 + 0.2582028369344322E+01 + 0.2580061002489842E+01 + 0.2578083489260096E+01 + 0.2576095847480007E+01 + 0.2574098095520505E+01 + 0.2572090251834847E+01 + 0.2570072333852951E+01 + 0.2568044357692576E+01 + 0.2566006339601516E+01 + 0.2563958298168629E+01 + 0.2561900253578767E+01 + 0.2559832225675660E+01 + 0.2557754232072393E+01 + 0.2555666289629168E+01 + 0.2553568415082103E+01 + 0.2551460624778390E+01 + 0.2549342935077281E+01 + 0.2547215364765434E+01 + 0.2545077936014890E+01 + 0.2542930670979897E+01 + 0.2540773587511114E+01 + 0.2538606700262527E+01 + 0.2536430024351834E+01 + 0.2534243578116461E+01 + 0.2532047381153332E+01 + 0.2529841452802279E+01 + 0.2527625811550565E+01 + 0.2525400475754913E+01 + 0.2523165463973594E+01 + 0.2520920795057553E+01 + 0.2518666487898261E+01 + 0.2516402561175851E+01 + 0.2514129033403451E+01 + 0.2511845923249720E+01 + 0.2509553250313428E+01 + 0.2507251034609368E+01 + 0.2504939295164100E+01 + 0.2502618047604293E+01 + 0.2500287306906818E+01 + 0.2497947091152410E+01 + 0.2495597423665818E+01 + 0.2493238328071914E+01 + 0.2490869823393627E+01 + 0.2488491924518368E+01 + 0.2486104646770865E+01 + 0.2483708009870528E+01 + 0.2481302035627670E+01 + 0.2478886745361412E+01 + 0.2476462158412971E+01 + 0.2474028293686613E+01 + 0.2471585170066886E+01 + 0.2469132806373147E+01 + 0.2466671221412285E+01 + 0.2464200433257143E+01 + 0.2461720459255791E+01 + 0.2459231317206219E+01 + 0.2456733028918291E+01 + 0.2454225618309231E+01 + 0.2451709107956810E+01 + 0.2449183514673785E+01 + 0.2446648853809433E+01 + 0.2444105142911021E+01 + 0.2441552404032729E+01 + 0.2438990659743094E+01 + 0.2436419930661317E+01 + 0.2433840235288500E+01 + 0.2431251592019594E+01 + 0.2428654018983071E+01 + 0.2426047534167401E+01 + 0.2423432156497849E+01 + 0.2420807909137555E+01 + 0.2418174816492878E+01 + 0.2415532900519658E+01 + 0.2412882177532826E+01 + 0.2410222663201425E+01 + 0.2407554376865936E+01 + 0.2404877342237244E+01 + 0.2402191582880939E+01 + 0.2399497117467735E+01 + 0.2396793961581118E+01 + 0.2394082132045829E+01 + 0.2391361652237773E+01 + 0.2388632547662489E+01 + 0.2385894841371774E+01 + 0.2383148550155476E+01 + 0.2380393689936454E+01 + 0.2377630279956899E+01 + 0.2374858343797873E+01 + 0.2372077905101111E+01 + 0.2369288984096844E+01 + 0.2366491598648442E+01 + 0.2363685767284149E+01 + 0.2360871512503937E+01 + 0.2358048858249926E+01 + 0.2355217826793977E+01 + 0.2352378435656202E+01 + 0.2349530701611368E+01 + 0.2346674644298523E+01 + 0.2343810287469323E+01 + 0.2340937655016325E+01 + 0.2338056767721405E+01 + 0.2335167643990952E+01 + 0.2332270302734263E+01 + 0.2329364766332714E+01 + 0.2326451058566504E+01 + 0.2323529202225521E+01 + 0.2320599216929752E+01 + 0.2317661121728238E+01 + 0.2314714936936051E+01 + 0.2311760684856914E+01 + 0.2308798387901351E+01 + 0.2305828066785591E+01 + 0.2302849740804408E+01 + 0.2299863429638813E+01 + 0.2296869155895231E+01 + 0.2293866943485362E+01 + 0.2290856815549637E+01 + 0.2287838792450428E+01 + 0.2284812893980087E+01 + 0.2281779140517193E+01 + 0.2278737553440731E+01 + 0.2275688154336889E+01 + 0.2272630966367992E+01 + 0.2269566014156887E+01 + 0.2266493321754163E+01 + 0.2263412907874932E+01 + 0.2260324788656194E+01 + 0.2257228981975905E+01 + 0.2254125512416049E+01 + 0.2251014406190901E+01 + 0.2247895688132937E+01 + 0.2244769380378633E+01 + 0.2241635504728745E+01 + 0.2238494081634487E+01 + 0.2235345130175459E+01 + 0.2232188669750604E+01 + 0.2229024723011340E+01 + 0.2225853314369803E+01 + 0.2222674467953487E+01 + 0.2219488206479083E+01 + 0.2216294552305364E+01 + 0.2213093527223368E+01 + 0.2209885151779597E+01 + 0.2206669446467522E+01 + 0.2203446434051355E+01 + 0.2200216139825554E+01 + 0.2196978588857246E+01 + 0.2193733802166186E+01 + 0.2190481798390571E+01 + 0.2187222597065458E+01 + 0.2183956222060571E+01 + 0.2180682698563458E+01 + 0.2177402051046685E+01 + 0.2174114302251850E+01 + 0.2170819474689663E+01 + 0.2167517590547672E+01 + 0.2164208671609857E+01 + 0.2160892739697554E+01 + 0.2157569817042206E+01 + 0.2154239926153688E+01 + 0.2150903090025672E+01 + 0.2147559334070051E+01 + 0.2144208684521958E+01 + 0.2140851165236831E+01 + 0.2137486793809112E+01 + 0.2134115586978042E+01 + 0.2130737566993370E+01 + 0.2127352763520534E+01 + 0.2123961206306233E+01 + 0.2120562918685339E+01 + 0.2117157919406017E+01 + 0.2113746227778649E+01 + 0.2110327866924913E+01 + 0.2106902861394375E+01 + 0.2103471235618415E+01 + 0.2100033013615184E+01 + 0.2096588219334000E+01 + 0.2093136875577418E+01 + 0.2089679003432474E+01 + 0.2086214624136926E+01 + 0.2082743763009811E+01 + 0.2079266448594051E+01 + 0.2075782708514264E+01 + 0.2072292563479000E+01 + 0.2068796031383648E+01 + 0.2065293131876009E+01 + 0.2061783890204079E+01 + 0.2058268332762316E+01 + 0.2054746485654697E+01 + 0.2051218374488547E+01 + 0.2047684024720568E+01 + 0.2044143459387960E+01 + 0.2040596699436895E+01 + 0.2037043766074572E+01 + 0.2033484682791825E+01 + 0.2029919474131832E+01 + 0.2026348164947618E+01 + 0.2022770781095501E+01 + 0.2019187348669249E+01 + 0.2015597892490347E+01 + 0.2012002435065242E+01 + 0.2008400998761083E+01 + 0.2004793607546759E+01 + 0.2001180286916505E+01 + 0.1997561062211203E+01 + 0.1993935956732079E+01 + 0.1990304992774944E+01 + 0.1986668193454214E+01 + 0.1983025585083659E+01 + 0.1979377194789412E+01 + 0.1975723048304266E+01 + 0.1972063168562281E+01 + 0.1968397578244531E+01 + 0.1964726301295662E+01 + 0.1961049362979179E+01 + 0.1957366788628499E+01 + 0.1953678603382176E+01 + 0.1949984832286089E+01 + 0.1946285500251220E+01 + 0.1942580631481653E+01 + 0.1938870250010867E+01 + 0.1935154380336906E+01 + 0.1931433047937662E+01 + 0.1927706278434568E+01 + 0.1923974097019227E+01 + 0.1920236528384978E+01 + 0.1916493597252073E+01 + 0.1912745328626284E+01 + 0.1908991747700092E+01 + 0.1905232879683196E+01 + 0.1901468749729310E+01 + 0.1897699382997699E+01 + 0.1893924804708298E+01 + 0.1890145040181291E+01 + 0.1886360114776541E+01 + 0.1882570053765957E+01 + 0.1878774882301937E+01 + 0.1874974625582298E+01 + 0.1871169309112165E+01 + 0.1867358958613577E+01 + 0.1863543599781266E+01 + 0.1859723257990641E+01 + 0.1855897958529269E+01 + 0.1852067726850404E+01 + 0.1848232588797849E+01 + 0.1844392570303197E+01 + 0.1840547697112215E+01 + 0.1836697994700237E+01 + 0.1832843488573744E+01 + 0.1828984204563125E+01 + 0.1825120168746305E+01 + 0.1821251407191131E+01 + 0.1817377945701098E+01 + 0.1813499809999375E+01 + 0.1809617025882816E+01 + 0.1805729619303893E+01 + 0.1801837616272552E+01 + 0.1797941042933517E+01 + 0.1794039925619743E+01 + 0.1790134290687114E+01 + 0.1786224164147384E+01 + 0.1782309571739547E+01 + 0.1778390539310132E+01 + 0.1774467093316706E+01 + 0.1770539260493847E+01 + 0.1766607067476578E+01 + 0.1762670540489288E+01 + 0.1758729705697674E+01 + 0.1754784589330597E+01 + 0.1750835217700781E+01 + 0.1746881617167321E+01 + 0.1742923814285673E+01 + 0.1738961835789798E+01 + 0.1734995708431347E+01 + 0.1731025458836195E+01 + 0.1727051113589073E+01 + 0.1723072699330627E+01 + 0.1719090242821041E+01 + 0.1715103770872624E+01 + 0.1711113310243621E+01 + 0.1707118887564125E+01 + 0.1703120529487691E+01 + 0.1699118262880953E+01 + 0.1695112114819716E+01 + 0.1691102112413701E+01 + 0.1687088282748467E+01 + 0.1683070652913130E+01 + 0.1679049249938307E+01 + 0.1675024100512248E+01 + 0.1670995231261762E+01 + 0.1666962669214982E+01 + 0.1662926442186111E+01 + 0.1658886578088928E+01 + 0.1654843104188751E+01 + 0.1650796047051586E+01 + 0.1646745433317949E+01 + 0.1642691290432261E+01 + 0.1638633646310520E+01 + 0.1634572528781725E+01 + 0.1630507965132924E+01 + 0.1626439982519873E+01 + 0.1622368608261807E+01 + 0.1618293870006199E+01 + 0.1614215795468032E+01 + 0.1610134412203718E+01 + 0.1606049747576537E+01 + 0.1601961829006357E+01 + 0.1597870684358341E+01 + 0.1593776341789122E+01 + 0.1589678829401402E+01 + 0.1585578174864814E+01 + 0.1581474405733586E+01 + 0.1577367549699162E+01 + 0.1573257634747274E+01 + 0.1569144688933099E+01 + 0.1565028740199165E+01 + 0.1560909816332045E+01 + 0.1556787945157289E+01 + 0.1552663154773130E+01 + 0.1548535473476144E+01 + 0.1544404929574270E+01 + 0.1540271551265690E+01 + 0.1536135366730961E+01 + 0.1531996404154312E+01 + 0.1527854691671938E+01 + 0.1523710257440100E+01 + 0.1519563129704245E+01 + 0.1515413336823050E+01 + 0.1511260907198702E+01 + 0.1507105869330997E+01 + 0.1502948251801753E+01 + 0.1498788083222078E+01 + 0.1494625392204221E+01 + 0.1490460207380903E+01 + 0.1486292557311986E+01 + 0.1482122470264402E+01 + 0.1477949974480367E+01 + 0.1473775098558448E+01 + 0.1469597871637951E+01 + 0.1465418322913178E+01 + 0.1461236481226845E+01 + 0.1457052375133946E+01 + 0.1452866033243476E+01 + 0.1448677484419207E+01 + 0.1444486757654344E+01 + 0.1440293881958520E+01 + 0.1436098886316163E+01 + 0.1431901799732194E+01 + 0.1427702651244505E+01 + 0.1423501469924016E+01 + 0.1419298284876791E+01 + 0.1415093125285407E+01 + 0.1410886020405313E+01 + 0.1406676999499354E+01 + 0.1402466091646335E+01 + 0.1398253325853518E+01 + 0.1394038731288372E+01 + 0.1389822337640012E+01 + 0.1385604174744922E+01 + 0.1381384272199317E+01 + 0.1377162659111094E+01 + 0.1372939364570085E+01 + 0.1368714417881549E+01 + 0.1364487848567326E+01 + 0.1360259686222604E+01 + 0.1356029960767693E+01 + 0.1351798702311231E+01 + 0.1347565940815966E+01 + 0.1343331705510259E+01 + 0.1339096025453380E+01 + 0.1334858930103040E+01 + 0.1330620449720115E+01 + 0.1326380614681506E+01 + 0.1322139454988245E+01 + 0.1317897000222414E+01 + 0.1313653280011469E+01 + 0.1309408324384361E+01 + 0.1305162163618864E+01 + 0.1300914827967720E+01 + 0.1296666347428190E+01 + 0.1292416751945059E+01 + 0.1288166071483667E+01 + 0.1283914336013759E+01 + 0.1279661575541684E+01 + 0.1275407820371735E+01 + 0.1271153101162871E+01 + 0.1266897448593662E+01 + 0.1262640892991721E+01 + 0.1258383464469955E+01 + 0.1254125193209462E+01 + 0.1249866109633336E+01 + 0.1245606244266345E+01 + 0.1241345627661451E+01 + 0.1237084290392101E+01 + 0.1232822263060346E+01 + 0.1228559576202968E+01 + 0.1224296260258648E+01 + 0.1220032345706421E+01 + 0.1215767863280141E+01 + 0.1211502843904122E+01 + 0.1207237318518043E+01 + 0.1202971317970243E+01 + 0.1198704873096594E+01 + 0.1194438014715560E+01 + 0.1190170773534757E+01 + 0.1185903180272620E+01 + 0.1181635265866900E+01 + 0.1177367061561911E+01 + 0.1173098598637531E+01 + 0.1168829908109992E+01 + 0.1164561020796975E+01 + 0.1160291967597207E+01 + 0.1156022779801318E+01 + 0.1151753488878348E+01 + 0.1147484126224311E+01 + 0.1143214722929405E+01 + 0.1138945310051130E+01 + 0.1134675918794746E+01 + 0.1130406580584005E+01 + 0.1126137326887360E+01 + 0.1121868189114729E+01 + 0.1117599198630515E+01 + 0.1113330386862859E+01 + 0.1109061785519805E+01 + 0.1104793426453159E+01 + 0.1100525341397711E+01 + 0.1096257561588202E+01 + 0.1091990118178056E+01 + 0.1087723042706956E+01 + 0.1083456367376716E+01 + 0.1079190124462320E+01 + 0.1074924345752627E+01 + 0.1070659062580424E+01 + 0.1066394306351660E+01 + 0.1062130109001098E+01 + 0.1057866502742213E+01 + 0.1053603519756919E+01 + 0.1049341191998216E+01 + 0.1045079551387978E+01 + 0.1040818629936822E+01 + 0.1036558459797987E+01 + 0.1032299073164294E+01 + 0.1028040502109765E+01 + 0.1023782778584347E+01 + 0.1019525934596888E+01 + 0.1015270002502136E+01 + 0.1011015014859021E+01 + 0.1006761004174390E+01 + 0.1002508002606307E+01 + 0.9982560422418139E+00 + 0.9940051553718641E+00 + 0.9897553746914635E+00 + 0.9855067329680791E+00 + 0.9812592627288435E+00 + 0.9770129962231646E+00 + 0.9727679657530324E+00 + 0.9685242040429634E+00 + 0.9642817440853428E+00 + 0.9600406187922257E+00 + 0.9558008605375617E+00 + 0.9515625015544538E+00 + 0.9473255743761783E+00 + 0.9430901122110589E+00 + 0.9388561483857616E+00 + 0.9346237159276381E+00 + 0.9303928474819745E+00 + 0.9261635757168490E+00 + 0.9219359335290955E+00 + 0.9177099539784411E+00 + 0.9134856701599347E+00 + 0.9092631152016113E+00 + 0.9050423222643522E+00 + 0.9008233244577955E+00 + 0.8966061547005618E+00 + 0.8923908459143046E+00 + 0.8881774313682497E+00 + 0.8839659447965699E+00 + 0.8797564199580595E+00 + 0.8755488900904894E+00 + 0.8713433880599883E+00 + 0.8671399468476304E+00 + 0.8629386000256821E+00 + 0.8587393814097352E+00 + 0.8545423247055339E+00 + 0.8503474632284796E+00 + 0.8461548302524722E+00 + 0.8419644592812901E+00 + 0.8377763841491607E+00 + 0.8335906387398044E+00 + 0.8294072568371012E+00 + 0.8252262721512709E+00 + 0.8210477184114239E+00 + 0.8168716293043403E+00 + 0.8126980385182351E+00 + 0.8085269797989533E+00 + 0.8043584870069104E+00 + 0.8001925940532651E+00 + 0.7960293349610418E+00 + 0.7918687439174735E+00 + 0.7877108551438025E+00 + 0.7835557026815428E+00 + 0.7794033204175239E+00 + 0.7752537422853298E+00 + 0.7711070024077333E+00 + 0.7669631350126184E+00 + 0.7628221743651602E+00 + 0.7586841547777881E+00 + 0.7545491105980661E+00 + 0.7504170760960228E+00 + 0.7462880853721613E+00 + 0.7421621725541715E+00 + 0.7380393721531059E+00 + 0.7339197190525281E+00 + 0.7298032481306159E+00 + 0.7256899938454968E+00 + 0.7215799904569733E+00 + 0.7174732723258481E+00 + 0.7133698741312559E+00 + 0.7092698306571147E+00 + 0.7051731766069346E+00 + 0.7010799464878216E+00 + 0.6969901748201237E+00 + 0.6929038963673805E+00 + 0.6888211461498289E+00 + 0.6847419592173184E+00 + 0.6806663705129697E+00 + 0.6765944149342066E+00 + 0.6725261273924929E+00 + 0.6684615427505890E+00 + 0.6644006958811247E+00 + 0.6603436217234410E+00 + 0.6562903553254444E+00 + 0.6522409317817459E+00 + 0.6481953863292981E+00 + 0.6441537543658695E+00 + 0.6401160713029034E+00 + 0.6360823722904677E+00 + 0.6320526923288632E+00 + 0.6280270665224106E+00 + 0.6240055303823370E+00 + 0.6199881195704298E+00 + 0.6159748696403325E+00 + 0.6119658158290626E+00 + 0.6079609933576105E+00 + 0.6039604376459461E+00 + 0.5999641843603341E+00 + 0.5959722691943805E+00 + 0.5919847276267568E+00 + 0.5880015949997257E+00 + 0.5840229067725815E+00 + 0.5800486989314790E+00 + 0.5760790076684799E+00 + 0.5721138690300802E+00 + 0.5681533186047556E+00 + 0.5641973919338708E+00 + 0.5602461247625227E+00 + 0.5562995531100626E+00 + 0.5523577130330288E+00 + 0.5484206404176626E+00 + 0.5444883710304499E+00 + 0.5405609407131063E+00 + 0.5366383856313393E+00 + 0.5327207420969576E+00 + 0.5288080464100507E+00 + 0.5249003347663239E+00 + 0.5209976433669858E+00 + 0.5171000083621538E+00 + 0.5132074658042884E+00 + 0.5093200517832488E+00 + 0.5054378026869952E+00 + 0.5015607551553995E+00 + 0.4976889458161465E+00 + 0.4938224109636026E+00 + 0.4899611867673048E+00 + 0.4861053095416390E+00 + 0.4822548160158862E+00 + 0.4784097430310909E+00 + 0.4745701272881877E+00 + 0.4707360052246750E+00 + 0.4669074132869620E+00 + 0.4630843880556774E+00 + 0.4592669662362675E+00 + 0.4554551845945777E+00 + 0.4516490801207031E+00 + 0.4478486899288961E+00 + 0.4440540510228486E+00 + 0.4402651998951283E+00 + 0.4364821729458813E+00 + 0.4327050069676101E+00 + 0.4289337394644452E+00 + 0.4251684080241443E+00 + 0.4214090496949325E+00 + 0.4176557009874912E+00 + 0.4139083985017730E+00 + 0.4101671795973473E+00 + 0.4064320820489203E+00 + 0.4027031434904791E+00 + 0.3989804008430824E+00 + 0.3952638908660430E+00 + 0.3915536505958723E+00 + 0.3878497176114963E+00 + 0.3841521295834829E+00 + 0.3804609240745477E+00 + 0.3767761385261990E+00 + 0.3730978103930362E+00 + 0.3694259770415064E+00 + 0.3657606758006982E+00 + 0.3621019441035771E+00 + 0.3584498197529364E+00 + 0.3548043406825562E+00 + 0.3511655446968307E+00 + 0.3475334692587515E+00 + 0.3439081518196150E+00 + 0.3402896301310443E+00 + 0.3366779422991650E+00 + 0.3330731264503148E+00 + 0.3294752203767480E+00 + 0.3258842616691766E+00 + 0.3223002880349144E+00 + 0.3187233376720640E+00 + 0.3151534489602759E+00 + 0.3115906600843906E+00 + 0.3080350086803029E+00 + 0.3044865323356873E+00 + 0.3009452691029239E+00 + 0.2974112576380766E+00 + 0.2938845366345182E+00 + 0.2903651443584150E+00 + 0.2868531187854460E+00 + 0.2833484979605053E+00 + 0.2798513202133619E+00 + 0.2763616239977563E+00 + 0.2728794477778288E+00 + 0.2694048299863738E+00 + 0.2659378090778803E+00 + 0.2624784235423419E+00 + 0.2590267119064279E+00 + 0.2555827127326072E+00 + 0.2521464646549092E+00 + 0.2487180063701468E+00 + 0.2452973765798858E+00 + 0.2418846138295477E+00 + 0.2384797566216621E+00 + 0.2350828435923456E+00 + 0.2316939137282307E+00 + 0.2283130061092226E+00 + 0.2249401597097581E+00 + 0.2215754133157101E+00 + 0.2182188057310515E+00 + 0.2148703758822939E+00 + 0.2115301628049758E+00 + 0.2081982055647264E+00 + 0.2048745432214976E+00 + 0.2015592148510336E+00 + 0.1982522595635533E+00 + 0.1949537165079194E+00 + 0.1916636248672601E+00 + 0.1883820238667283E+00 + 0.1851089527804457E+00 + 0.1818444509142821E+00 + 0.1785885575494833E+00 + 0.1753413119465266E+00 + 0.1721027534344558E+00 + 0.1688729216851291E+00 + 0.1656518565554833E+00 + 0.1624395976136944E+00 + 0.1592361832026094E+00 + 0.1560416514084168E+00 + 0.1528560425122109E+00 + 0.1496794010311411E+00 + 0.1465117713086196E+00 + 0.1433531810518414E+00 + 0.1402036409163216E+00 + 0.1370631592161317E+00 + 0.1339317297497557E+00 + 0.1308093384482862E+00 + 0.1276959719730077E+00 + 0.1245916205667902E+00 + 0.1214962754281801E+00 + 0.1184099273299164E+00 + 0.1153325661514474E+00 + 0.1122641816453037E+00 + 0.1092047637083437E+00 + 0.1061543024023497E+00 + 0.1031127877729508E+00 + 0.1000802097761329E+00 + 0.9705655830657214E-01 + 0.9404182324608685E-01 + 0.9103599449130245E-01 + 0.8803906192979683E-01 + 0.8505101542360494E-01 + 0.8207184480063495E-01 + 0.7910153986782371E-01 + 0.7614009043043558E-01 + 0.7318748629626853E-01 + 0.7024371725138069E-01 + 0.6730877301743046E-01 + 0.6438264326710465E-01 + 0.6146531766356520E-01 + 0.5855678590649958E-01 + 0.5565703769502616E-01 + 0.5276606269146988E-01 + 0.4988385049279519E-01 + 0.4701039066982330E-01 + 0.4414567280328236E-01 + 0.4128968649435135E-01 + 0.3844242132401938E-01 + 0.3560386680301459E-01 + 0.3277401238589357E-01 + 0.2995284751852551E-01 + 0.2714036169659822E-01 + 0.2433654442226846E-01 + 0.2154138515914242E-01 + 0.1875487329510447E-01 + 0.1597699818872967E-01 + 0.1320774919461631E-01 + 0.1044711567098940E-01 + 0.7695086958371582E-02 + 0.4951652373763177E-02 + 0.2216801211493422E-02 + -0.5094772536422055E-03 + -0.3227193766958579E-02 + -0.5936359093434104E-02 + -0.8636984017077198E-02 + -0.1132907934027337E-01 + -0.1401265588455412E-01 + -0.1668772449192131E-01 + -0.1935429602556171E-01 + -0.2201238136808683E-01 + -0.2466199141985363E-01 + -0.2730313709917522E-01 + -0.2993582934333923E-01 + -0.3256007910665527E-01 + -0.3517589736169495E-01 + -0.3778329510008180E-01 + -0.4038228333182754E-01 + -0.4297287308611709E-01 + -0.4555507541880093E-01 + -0.4812890141834796E-01 + -0.5069436219344283E-01 + -0.5325146886080857E-01 + -0.5580023254565571E-01 + -0.5834066439252994E-01 + -0.6087277556917242E-01 + -0.6339657726459730E-01 + -0.6591208068681469E-01 + -0.6841929706178438E-01 + -0.7091823763445558E-01 + -0.7340891366968605E-01 + -0.7589133645284639E-01 + -0.7836551728866388E-01 + -0.8083146749855420E-01 + -0.8328919842049025E-01 + -0.8573872141291250E-01 + -0.8818004786597557E-01 + -0.9061318919605434E-01 + -0.9303815683705791E-01 + -0.9545496223376077E-01 + -0.9786361684785856E-01 + -0.1002641321506600E+00 + -0.1026565196113197E+00 + -0.1050407907166593E+00 + -0.1074169570104263E+00 + -0.1097850300992458E+00 + -0.1121450216055298E+00 + -0.1144969431055990E+00 + -0.1168408061549004E+00 + -0.1191766223416569E+00 + -0.1215044033437772E+00 + -0.1238241608804171E+00 + -0.1261359066755339E+00 + -0.1284396524367565E+00 + -0.1307354098855330E+00 + -0.1330231907571977E+00 + -0.1353030067994877E+00 + -0.1375748697809505E+00 + -0.1398387915136812E+00 + -0.1420947838454725E+00 + -0.1443428586403210E+00 + -0.1465830277623076E+00 + -0.1488153030881631E+00 + -0.1510396965163362E+00 + -0.1532562199710925E+00 + -0.1554648853970214E+00 + -0.1576657047538427E+00 + -0.1598586900147453E+00 + -0.1620438531730326E+00 + -0.1642212062589910E+00 + -0.1663907613353591E+00 + -0.1685525304789232E+00 + -0.1707065257508673E+00 + -0.1728527592182673E+00 + -0.1749912429792637E+00 + -0.1771219891868807E+00 + -0.1792450100199484E+00 + -0.1813603176645588E+00 + -0.1834679243075660E+00 + -0.1855678421539083E+00 + -0.1876600834334899E+00 + -0.1897446604001602E+00 + -0.1918215853262616E+00 + -0.1938908704967366E+00 + -0.1959525282129900E+00 + -0.1980065708019690E+00 + -0.2000530106308260E+00 + -0.2020918600901994E+00 + -0.2041231315725217E+00 + -0.2061468374598224E+00 + -0.2081629901516123E+00 + -0.2101716020867978E+00 + -0.2121726857416452E+00 + -0.2141662536141086E+00 + -0.2161523182348363E+00 + -0.2181308921601088E+00 + -0.2201019879315371E+00 + -0.2220656179829819E+00 + -0.2240217947391646E+00 + -0.2259705307788945E+00 + -0.2279118389522057E+00 + -0.2298457321484663E+00 + -0.2317722231018563E+00 + -0.2336913243936188E+00 + -0.2356030486115184E+00 + -0.2375074083149398E+00 + -0.2394044160576877E+00 + -0.2412940844892596E+00 + -0.2431764265972887E+00 + -0.2450514554706892E+00 + -0.2469191840591571E+00 + -0.2487796250044607E+00 + -0.2506327909326622E+00 + -0.2524786946372879E+00 + -0.2543173490917988E+00 + -0.2561487672906775E+00 + -0.2579729621838983E+00 + -0.2597899467041377E+00 + -0.2615997338182850E+00 + -0.2634023365835516E+00 + -0.2651977680966870E+00 + -0.2669860413848942E+00 + -0.2687671692919512E+00 + -0.2705411646596871E+00 + -0.2723080405750397E+00 + -0.2740678104131862E+00 + -0.2758204875622762E+00 + -0.2775660851778530E+00 + -0.2793046162754428E+00 + -0.2810360938760532E+00 + -0.2827605309620917E+00 + -0.2844779405169948E+00 + -0.2861883357442548E+00 + -0.2878917303738231E+00 + -0.2895881382228178E+00 + -0.2912775726790564E+00 + -0.2929600465624074E+00 + -0.2946355727121690E+00 + -0.2963041645055044E+00 + -0.2979658356998538E+00 + -0.2996206000066153E+00 + -0.3012684707361462E+00 + -0.3029094610678352E+00 + -0.3045435842767993E+00 + -0.3061708538724022E+00 + -0.3077912834206108E+00 + -0.3094048865018736E+00 + -0.3110116767089604E+00 + -0.3126116676432988E+00 + -0.3142048727748946E+00 + -0.3157913054776722E+00 + -0.3173709791886337E+00 + -0.3189439076658204E+00 + -0.3205101048063201E+00 + -0.3220695844693082E+00 + -0.3236223603537943E+00 + -0.3251684461430724E+00 + -0.3267078555244700E+00 + -0.3282406021804378E+00 + -0.3297666998038018E+00 + -0.3312861619908377E+00 + -0.3327990022596481E+00 + -0.3343052342263492E+00 + -0.3358048721176612E+00 + -0.3372979304395030E+00 + -0.3387844234261221E+00 + -0.3402643643188948E+00 + -0.3417377661665767E+00 + -0.3432046426654638E+00 + -0.3446650086276848E+00 + -0.3461188789492888E+00 + -0.3475662676183287E+00 + -0.3490071877851574E+00 + -0.3504416527107287E+00 + -0.3518696766813945E+00 + -0.3532912744914911E+00 + -0.3547064607335657E+00 + -0.3561152491532403E+00 + -0.3575176533089522E+00 + -0.3589136870686084E+00 + -0.3603033648781801E+00 + -0.3616867012593667E+00 + -0.3630637105807907E+00 + -0.3644344070553944E+00 + -0.3657988048989365E+00 + -0.3671569182671733E+00 + -0.3685087612926076E+00 + -0.3698543481606367E+00 + -0.3711936932222846E+00 + -0.3725268108870478E+00 + -0.3738537155600779E+00 + -0.3751744216154813E+00 + -0.3764889434419037E+00 + -0.3777972954939820E+00 + -0.3790994922977202E+00 + -0.3803955483823198E+00 + -0.3816854781006803E+00 + -0.3829692957093493E+00 + -0.3842470155594779E+00 + -0.3855186523895344E+00 + -0.3867842210668653E+00 + -0.3880437363294048E+00 + -0.3892972125843941E+00 + -0.3905446642118290E+00 + -0.3917861057419071E+00 + -0.3930215518845037E+00 + -0.3942510173786658E+00 + -0.3954745169828091E+00 + -0.3966920654747281E+00 + -0.3979036776139166E+00 + -0.3991093679782423E+00 + -0.4003091510983034E+00 + -0.4015030416607138E+00 + -0.4026910547277674E+00 + -0.4038732054332278E+00 + -0.4050495087051520E+00 + -0.4062199791878619E+00 + -0.4073846315368629E+00 + -0.4085434806069737E+00 + -0.4096965414012297E+00 + -0.4108438289368518E+00 + -0.4119853582027577E+00 + -0.4131211441896297E+00 + -0.4142512019001378E+00 + -0.4153755463351400E+00 + -0.4164941925124709E+00 + -0.4176071555466488E+00 + -0.4187144506860795E+00 + -0.4198160931810073E+00 + -0.4209120978853889E+00 + -0.4220024793451868E+00 + -0.4230872522668136E+00 + -0.4241664323779729E+00 + -0.4252400358356743E+00 + -0.4263080783850502E+00 + -0.4273705744001891E+00 + -0.4284275380062243E+00 + -0.4294789841058033E+00 + -0.4305249288573675E+00 + -0.4315653885060343E+00 + -0.4326003784705542E+00 + -0.4336299134572507E+00 + -0.4346540082594946E+00 + -0.4356726783796042E+00 + -0.4366859396514507E+00 + -0.4376938077989443E+00 + -0.4386962980968839E+00 + -0.4396934257359529E+00 + -0.4406852060485988E+00 + -0.4416716546067113E+00 + -0.4426527870225087E+00 + -0.4436286188851758E+00 + -0.4445991657629605E+00 + -0.4455644432402341E+00 + -0.4465244669071523E+00 + -0.4474792523664176E+00 + -0.4484288152692407E+00 + -0.4493731714025115E+00 + -0.4503123365998838E+00 + -0.4512463265044912E+00 + -0.4521751563628090E+00 + -0.4530988414134033E+00 + -0.4540173974639395E+00 + -0.4549308409153895E+00 + -0.4558391881331971E+00 + -0.4567424547225850E+00 + -0.4576406558776729E+00 + -0.4585338070011543E+00 + -0.4594219243759062E+00 + -0.4603050245413243E+00 + -0.4611831237248739E+00 + -0.4620562374472980E+00 + -0.4629243811612068E+00 + -0.4637875706077155E+00 + -0.4646458218560034E+00 + -0.4654991510171697E+00 + -0.4663475742813414E+00 + -0.4671911078943602E+00 + -0.4680297680777923E+00 + -0.4688635708538481E+00 + -0.4696925321964417E+00 + -0.4705166680603854E+00 + -0.4713359943269270E+00 + -0.4721505268932449E+00 + -0.4729602820605314E+00 + -0.4737652766340389E+00 + -0.4745655274025638E+00 + -0.4753610503527655E+00 + -0.4761518609402832E+00 + -0.4769379748038949E+00 + -0.4777194085635374E+00 + -0.4784961791880650E+00 + -0.4792683034254667E+00 + -0.4800357973962107E+00 + -0.4807986771364833E+00 + -0.4815569588858761E+00 + -0.4823106591583858E+00 + -0.4830597944996034E+00 + -0.4838043813827083E+00 + -0.4845444362326128E+00 + -0.4852799755138186E+00 + -0.4860110158447547E+00 + -0.4867375739143601E+00 + -0.4874596662847291E+00 + -0.4881773091009295E+00 + -0.4888905184530672E+00 + -0.4895993108528650E+00 + -0.4903037034445800E+00 + -0.4910037134148326E+00 + -0.4916993575024962E+00 + -0.4923906520874643E+00 + -0.4930776135953130E+00 + -0.4937602587290551E+00 + -0.4944386043198559E+00 + -0.4951126672094942E+00 + -0.4957824642287258E+00 + -0.4964480122203512E+00 + -0.4971093279687002E+00 + -0.4977664281468694E+00 + -0.4984193294412635E+00 + -0.4990680486813819E+00 + -0.4997126028261979E+00 + -0.5003530088525109E+00 + -0.5009892837147439E+00 + -0.5016214443672039E+00 + -0.5022495077874375E+00 + -0.5028734909871532E+00 + -0.5034934110007512E+00 + -0.5041092848746996E+00 + -0.5047211296613466E+00 + -0.5053289624323853E+00 + -0.5059328003112634E+00 + -0.5065326604724549E+00 + -0.5071285600938865E+00 + -0.5077205162226933E+00 + -0.5083085458479387E+00 + -0.5088926660133760E+00 + -0.5094728939305484E+00 + -0.5100492468685888E+00 + -0.5106217421299980E+00 + -0.5111903970652234E+00 + -0.5117552290404063E+00 + -0.5123162552525885E+00 + -0.5128734927158226E+00 + -0.5134269585074412E+00 + -0.5139766702564739E+00 + -0.5145226459139986E+00 + -0.5150649032972224E+00 + -0.5156034595234445E+00 + -0.5161383315240620E+00 + -0.5166695364346142E+00 + -0.5171970918276364E+00 + -0.5177210153499370E+00 + -0.5182413245917728E+00 + -0.5187580370732116E+00 + -0.5192711703300979E+00 + -0.5197807419355084E+00 + -0.5202867694930585E+00 + -0.5207892706323106E+00 + -0.5212882630349930E+00 + -0.5217837644124942E+00 + -0.5222757924364053E+00 + -0.5227643646498327E+00 + -0.5232494985942481E+00 + -0.5237312119023515E+00 + -0.5242095223194014E+00 + -0.5246844476264841E+00 + -0.5251560057549821E+00 + -0.5256242147459250E+00 + -0.5260890926146767E+00 + -0.5265506571284742E+00 + -0.5270089259792156E+00 + -0.5274639168798715E+00 + -0.5279156475681639E+00 + -0.5283641358049969E+00 + -0.5288093995175506E+00 + -0.5292514568618003E+00 + -0.5296903260250241E+00 + -0.5301260251522972E+00 + -0.5305585723614161E+00 + -0.5309879857256110E+00 + -0.5314142829375509E+00 + -0.5318374815522150E+00 + -0.5322575993992441E+00 + -0.5326746551153505E+00 + -0.5330886674999781E+00 + -0.5334996548719166E+00 + -0.5339076347849181E+00 + -0.5343126247877997E+00 + -0.5347146432043992E+00 + -0.5351137090075172E+00 + -0.5355098410637710E+00 + -0.5359030572231493E+00 + -0.5362933749044804E+00 + -0.5366808118497081E+00 + -0.5370653868679341E+00 + -0.5374471190071222E+00 + -0.5378260269324827E+00 + -0.5382021286336041E+00 + -0.5385754420755420E+00 + -0.5389459857431550E+00 + -0.5393137785987353E+00 + -0.5396788395303646E+00 + -0.5400411865580523E+00 + -0.5404008372943850E+00 + -0.5407578096996505E+00 + -0.5411121230172689E+00 + -0.5414637968061503E+00 + -0.5418128500250589E+00 + -0.5421593004713569E+00 + -0.5425031658622915E+00 + -0.5428444647155058E+00 + -0.5431832163532613E+00 + -0.5435194400795359E+00 + -0.5438531545627926E+00 + -0.5441843781432830E+00 + -0.5445131292655891E+00 + -0.5448394267690314E+00 + -0.5451632896111226E+00 + -0.5454847366293758E+00 + -0.5458037863874066E+00 + -0.5461204574409919E+00 + -0.5464347686440116E+00 + -0.5467467391775406E+00 + -0.5470563882252149E+00 + -0.5473637346542085E+00 + -0.5476687971545021E+00 + -0.5479715944671018E+00 + -0.5482721455147309E+00 + -0.5485704692877215E+00 + -0.5488665848766532E+00 + -0.5491605115796076E+00 + -0.5494522687315985E+00 + -0.5497418753754849E+00 + -0.5500293501955326E+00 + -0.5503147118953578E+00 + -0.5505979794652792E+00 + -0.5508791720872387E+00 + -0.5511583089998084E+00 + -0.5514354096423315E+00 + -0.5517104935328044E+00 + -0.5519835799933554E+00 + -0.5522546878104827E+00 + -0.5525238357117117E+00 + -0.5527910428652103E+00 + -0.5530563290203575E+00 + -0.5533197139671535E+00 + -0.5535812172751086E+00 + -0.5538408583630361E+00 + -0.5540986565064774E+00 + -0.5543546300639568E+00 + -0.5546087970667243E+00 + -0.5548611716020732E+00 + -0.5551117564528491E+00 + -0.5553605524091160E+00 + -0.5556075608774314E+00 + -0.5558527841673920E+00 + -0.5560962246216125E+00 + -0.5563378839460223E+00 + -0.5565777633506553E+00 + -0.5568158641360885E+00 + -0.5570521882728158E+00 + -0.5572867380041943E+00 + -0.5575195154057488E+00 + -0.5577505220104663E+00 + -0.5579797592504039E+00 + -0.5582072288615295E+00 + -0.5584329330687497E+00 + -0.5586568741124625E+00 + -0.5588790536737154E+00 + -0.5590994729545979E+00 + -0.5593181332626234E+00 + -0.5595350367835184E+00 + -0.5597501860982085E+00 + -0.5599635834911767E+00 + -0.5601752301838960E+00 + -0.5603851271702346E+00 + -0.5605932759341060E+00 + -0.5607996788292244E+00 + -0.5610043382871227E+00 + -0.5612072564377383E+00 + -0.5614084351272664E+00 + -0.5616078761629203E+00 + -0.5618055811001238E+00 + -0.5620015513709193E+00 + -0.5621957885502837E+00 + -0.5623882947719713E+00 + -0.5625790723076685E+00 + -0.5627681231900199E+00 + -0.5629554489796302E+00 + -0.5631410512004673E+00 + -0.5633249317696314E+00 + -0.5635070930106371E+00 + -0.5636875371976407E+00 + -0.5638662659418045E+00 + -0.5640432804931267E+00 + -0.5642185823183440E+00 + -0.5643921738427747E+00 + -0.5645640577542005E+00 + -0.5647342362331280E+00 + -0.5649027103565329E+00 + -0.5650694810898896E+00 + -0.5652345503099054E+00 + -0.5653979209279195E+00 + -0.5655595958024696E+00 + -0.5657195766056370E+00 + -0.5658778642957878E+00 + -0.5660344600628871E+00 + -0.5661893662686373E+00 + -0.5663425856332664E+00 + -0.5664941204994153E+00 + -0.5666439722991658E+00 + -0.5667921423457499E+00 + -0.5669386324098444E+00 + -0.5670834448323612E+00 + -0.5672265819605455E+00 + -0.5673680457527608E+00 + -0.5675078379103785E+00 + -0.5676459601617792E+00 + -0.5677824143961669E+00 + -0.5679172025593441E+00 + -0.5680503267096364E+00 + -0.5681817891995291E+00 + -0.5683115924205406E+00 + -0.5684397382401189E+00 + -0.5685662278056745E+00 + -0.5686910622907714E+00 + -0.5688142439250916E+00 + -0.5689357757098201E+00 + -0.5690556604532731E+00 + -0.5691738996645275E+00 + -0.5692904943652811E+00 + -0.5694054459724864E+00 + -0.5695187570675856E+00 + -0.5696304304387470E+00 + -0.5697404683317674E+00 + -0.5698488721722852E+00 + -0.5699556433573076E+00 + -0.5700607838785042E+00 + -0.5701642962051391E+00 + -0.5702661827436913E+00 + -0.5703664453631222E+00 + -0.5704650857097183E+00 + -0.5705621055962573E+00 + -0.5706575073780891E+00 + -0.5707512935194947E+00 + -0.5708434661484541E+00 + -0.5709340268321297E+00 + -0.5710229771103200E+00 + -0.5711103189569880E+00 + -0.5711960547291142E+00 + -0.5712801867793429E+00 + -0.5713627173070818E+00 + -0.5714436484425940E+00 + -0.5715229822128841E+00 + -0.5716007202618227E+00 + -0.5716768641514879E+00 + -0.5717514158128079E+00 + -0.5718243778500886E+00 + -0.5718957529211385E+00 + -0.5719655432220962E+00 + -0.5720337505021952E+00 + -0.5721003765318212E+00 + -0.5721654234019837E+00 + -0.5722288933686422E+00 + -0.5722907886282701E+00 + -0.5723511111211030E+00 + -0.5724098627249397E+00 + -0.5724670454139362E+00 + -0.5725226613542517E+00 + -0.5725767127358404E+00 + -0.5726292017023395E+00 + -0.5726801303479458E+00 + -0.5727295007744142E+00 + -0.5727773151566858E+00 + -0.5728235757121604E+00 + -0.5728682846080910E+00 + -0.5729114437722798E+00 + -0.5729530550674715E+00 + -0.5729931205309194E+00 + -0.5730316425863950E+00 + -0.5730686237041186E+00 + -0.5731040660907310E+00 + -0.5731379716444515E+00 + -0.5731703422666328E+00 + -0.5732011800605877E+00 + -0.5732304872559362E+00 + -0.5732582660827527E+00 + -0.5732845187522687E+00 + -0.5733092474716164E+00 + -0.5733324543959164E+00 + -0.5733541415474458E+00 + -0.5733743109322097E+00 + -0.5733929646191461E+00 + -0.5734101047572012E+00 + -0.5734257335198347E+00 + -0.5734398532918529E+00 + -0.5734524666032906E+00 + -0.5734635758866710E+00 + -0.5734731829952593E+00 + -0.5734812895815661E+00 + -0.5734878975336374E+00 + -0.5734930093815591E+00 + -0.5734966277601828E+00 + -0.5734987549810795E+00 + -0.5734993928982686E+00 + -0.5734985433660959E+00 + -0.5734962087092618E+00 + -0.5734923916063170E+00 + -0.5734870946309365E+00 + -0.5734803196258978E+00 + -0.5734720681518604E+00 + -0.5734623420898972E+00 + -0.5734511442936249E+00 + -0.5734384777928121E+00 + -0.5734243449534214E+00 + -0.5734087471087243E+00 + -0.5733916855693622E+00 + -0.5733731627210991E+00 + -0.5733531818373670E+00 + -0.5733317460451679E+00 + -0.5733088572305691E+00 + -0.5732845167472911E+00 + -0.5732587262132533E+00 + -0.5732314881427865E+00 + -0.5732028052402002E+00 + -0.5731726800500747E+00 + -0.5731411148415246E+00 + -0.5731081118539301E+00 + -0.5730736732264756E+00 + -0.5730378010077692E+00 + -0.5730004972890969E+00 + -0.5729617645077489E+00 + -0.5729216052671998E+00 + -0.5728800220837541E+00 + -0.5728370171327729E+00 + -0.5727925925114605E+00 + -0.5727467503296041E+00 + -0.5726994927183399E+00 + -0.5726508218218854E+00 + -0.5726007399764519E+00 + -0.5725492497094492E+00 + -0.5724963535511327E+00 + -0.5724420539606951E+00 + -0.5723863533614103E+00 + -0.5723292540758001E+00 + -0.5722707579954511E+00 + -0.5722108669029939E+00 + -0.5721495829537091E+00 + -0.5720869090761102E+00 + -0.5720228482757975E+00 + -0.5719574029527498E+00 + -0.5718905748442602E+00 + -0.5718223657213510E+00 + -0.5717527780140443E+00 + -0.5716818145354250E+00 + -0.5716094779842766E+00 + -0.5715357704910757E+00 + -0.5714606940230052E+00 + -0.5713842507826882E+00 + -0.5713064435114862E+00 + -0.5712272750154438E+00 + -0.5711467476572764E+00 + -0.5710648632663999E+00 + -0.5709816236946917E+00 + -0.5708970313892142E+00 + -0.5708110891779564E+00 + -0.5707237997912216E+00 + -0.5706351654043747E+00 + -0.5705451880146637E+00 + -0.5704538698402134E+00 + -0.5703612136585747E+00 + -0.5702672223265561E+00 + -0.5701718982480016E+00 + -0.5700752432276125E+00 + -0.5699772590882718E+00 + -0.5698779484004099E+00 + -0.5697773142603962E+00 + -0.5696753596400054E+00 + -0.5695720867060675E+00 + -0.5694674973365627E+00 + -0.5693615935558896E+00 + -0.5692543777992466E+00 + -0.5691458525781829E+00 + -0.5690360205003644E+00 + -0.5689248843116972E+00 + -0.5688124467417666E+00 + -0.5686987100717507E+00 + -0.5685836762371347E+00 + -0.5684673472522414E+00 + -0.5683497256898768E+00 + -0.5682308143482636E+00 + -0.5681106159523615E+00 + -0.5679891329883379E+00 + -0.5678663678970361E+00 + -0.5677423230672790E+00 + -0.5676170008030574E+00 + -0.5674904034097680E+00 + -0.5673625333091902E+00 + -0.5672333930223080E+00 + -0.5671029850782137E+00 + -0.5669713120246282E+00 + -0.5668383764191537E+00 + -0.5667041807615748E+00 + -0.5665687273421884E+00 + -0.5664320184095755E+00 + -0.5662940563845411E+00 + -0.5661548439891017E+00 + -0.5660143839743984E+00 + -0.5658726790081461E+00 + -0.5657297316804741E+00 + -0.5655855445392733E+00 + -0.5654401197903209E+00 + -0.5652934594730215E+00 + -0.5651455657813863E+00 + -0.5649964415086144E+00 + -0.5648460895941216E+00 + -0.5646945127415284E+00 + -0.5645417131934991E+00 + -0.5643876931544208E+00 + -0.5642324551282298E+00 + -0.5640760019255733E+00 + -0.5639183363584024E+00 + -0.5637594610980168E+00 + -0.5635993787409777E+00 + -0.5634380918194908E+00 + -0.5632756025803535E+00 + -0.5631119131956158E+00 + -0.5629470259729251E+00 + -0.5627809435079067E+00 + -0.5626136684378926E+00 + -0.5624452034587877E+00 + -0.5622755513320187E+00 + -0.5621047148145307E+00 + -0.5619326965529542E+00 + -0.5617594991292992E+00 + -0.5615851251122679E+00 + -0.5614095769996484E+00 + -0.5612328572696551E+00 + -0.5610549683707845E+00 + -0.5608759126772317E+00 + -0.5606956925619987E+00 + -0.5605143106549805E+00 + -0.5603317699029184E+00 + -0.5601480732396192E+00 + -0.5599632231794813E+00 + -0.5597772219623693E+00 + -0.5595900719291027E+00 + -0.5594017759794127E+00 + -0.5592123372021140E+00 + -0.5590217584123797E+00 + -0.5588300417002483E+00 + -0.5586371890527891E+00 + -0.5584432030112324E+00 + -0.5582480868687431E+00 + -0.5580518439226440E+00 + -0.5578544767560601E+00 + -0.5576559874367820E+00 + -0.5574563781082614E+00 + -0.5572556514265324E+00 + -0.5570538102403310E+00 + -0.5568508573307801E+00 + -0.5566467952749697E+00 + -0.5564416266185736E+00 + -0.5562353540911226E+00 + -0.5560279806954900E+00 + -0.5558195094316507E+00 + -0.5556099428614417E+00 + -0.5553992831991796E+00 + -0.5551875327042637E+00 + -0.5549746939904176E+00 + -0.5547607698193380E+00 + -0.5545457629886283E+00 + -0.5543296764042893E+00 + -0.5541125129945765E+00 + -0.5538942755403554E+00 + -0.5536749665780763E+00 + -0.5534545886239615E+00 + -0.5532331441981828E+00 + -0.5530106358247032E+00 + -0.5527870660646599E+00 + -0.5525624377418785E+00 + -0.5523367538018382E+00 + -0.5521100171705477E+00 + -0.5518822306935594E+00 + -0.5516533971982046E+00 + -0.5514235192895002E+00 + -0.5511925991670516E+00 + -0.5509606390198489E+00 + -0.5507276416793601E+00 + -0.5504936105932830E+00 + -0.5502585491299246E+00 + -0.5500224597479693E+00 + -0.5497853444480856E+00 + -0.5495472054883973E+00 + -0.5493080461694597E+00 + -0.5490678700525447E+00 + -0.5488266801839412E+00 + -0.5485844785762178E+00 + -0.5483412671453084E+00 + -0.5480970484287862E+00 + -0.5478518256188590E+00 + -0.5476056019076575E+00 + -0.5473583801615786E+00 + -0.5471101630668350E+00 + -0.5468609533247407E+00 + -0.5466107537034000E+00 + -0.5463595669918991E+00 + -0.5461073960289187E+00 + -0.5458542437592993E+00 + -0.5456001131336735E+00 + -0.5453450067715911E+00 + -0.5450889269090959E+00 + -0.5448318758332116E+00 + -0.5445738565951924E+00 + -0.5443148727167237E+00 + -0.5440549275460037E+00 + -0.5437940235176487E+00 + -0.5435321627842583E+00 + -0.5432693478023377E+00 + -0.5430055817688027E+00 + -0.5427408679842100E+00 + -0.5424752093736136E+00 + -0.5422086083838336E+00 + -0.5419410674746167E+00 + -0.5416725896217259E+00 + -0.5414031781506875E+00 + -0.5411328362572940E+00 + -0.5408615663636340E+00 + -0.5405893706260700E+00 + -0.5403162515659700E+00 + -0.5400422126914086E+00 + -0.5397672576637954E+00 + -0.5394913894464308E+00 + -0.5392146100255648E+00 + -0.5389369213818773E+00 + -0.5386583264230154E+00 + -0.5383788287465514E+00 + -0.5380984318525054E+00 + -0.5378171385144162E+00 + -0.5375349512284292E+00 + -0.5372518726000626E+00 + -0.5369679055608188E+00 + -0.5366830531053109E+00 + -0.5363973182083167E+00 + -0.5361107038125272E+00 + -0.5358232128526214E+00 + -0.5355348481361740E+00 + -0.5352456123673970E+00 + -0.5349555082750674E+00 + -0.5346645387646499E+00 + -0.5343727068184712E+00 + -0.5340800154085207E+00 + -0.5337864674644068E+00 + -0.5334920659091436E+00 + -0.5331968136685298E+00 + -0.5329007136710945E+00 + -0.5326037688500533E+00 + -0.5323059821764527E+00 + -0.5320073566556025E+00 + -0.5317078952747131E+00 + -0.5314076008508648E+00 + -0.5311064761224805E+00 + -0.5308045238766518E+00 + -0.5305017470763126E+00 + -0.5301981487276414E+00 + -0.5298937318453472E+00 + -0.5295884994575354E+00 + -0.5292824545892824E+00 + -0.5289756001095606E+00 + -0.5286679387334204E+00 + -0.5283594732080205E+00 + -0.5280502066008770E+00 + -0.5277401421475360E+00 + -0.5274292830576033E+00 + -0.5271176324174065E+00 + -0.5268051932823648E+00 + -0.5264919685469398E+00 + -0.5261779607707969E+00 + -0.5258631724883449E+00 + -0.5255476066058177E+00 + -0.5252312664320220E+00 + -0.5249141552796800E+00 + -0.5245962762739712E+00 + -0.5242776324337526E+00 + -0.5239582267356796E+00 + -0.5236380619567619E+00 + -0.5233171408190823E+00 + -0.5229954662577223E+00 + -0.5226730416896991E+00 + -0.5223498705858829E+00 + -0.5220259559157174E+00 + -0.5217013000513586E+00 + -0.5213759054097450E+00 + -0.5210497752846573E+00 + -0.5207229135251610E+00 + -0.5203953237676203E+00 + -0.5200670084920242E+00 + -0.5197379698090618E+00 + -0.5194082102378442E+00 + -0.5190777333250725E+00 + -0.5187465427726760E+00 + -0.5184146420045504E+00 + -0.5180820340799626E+00 + -0.5177487220171132E+00 + -0.5174147085905726E+00 + -0.5170799964062503E+00 + -0.5167445881678407E+00 + -0.5164084871500051E+00 + -0.5160716968331661E+00 + -0.5157342205423470E+00 + -0.5153960611613305E+00 + -0.5150572215016902E+00 + -0.5147177044851779E+00 + -0.5143775131908273E+00 + -0.5140366507257751E+00 + -0.5136951203966079E+00 + -0.5133529256631782E+00 + -0.5130100698977666E+00 + -0.5126665558675247E+00 + -0.5123223861014513E+00 + -0.5119775633526354E+00 + -0.5116320910674745E+00 + -0.5112859728242219E+00 + -0.5109392118844179E+00 + -0.5105918110065387E+00 + -0.5102437729334966E+00 + -0.5098951008663289E+00 + -0.5095457983916446E+00 + -0.5091958690188432E+00 + -0.5088453155949964E+00 + -0.5084941406780011E+00 + -0.5081423470104571E+00 + -0.5077899379719653E+00 + -0.5074369170805597E+00 + -0.5070832877223492E+00 + -0.5067290530511130E+00 + -0.5063742161957727E+00 + -0.5060187802062051E+00 + -0.5056627480595004E+00 + -0.5053061227526738E+00 + -0.5049489074477796E+00 + -0.5045911053884185E+00 + -0.5042327198061431E+00 + -0.5038737538758018E+00 + -0.5035142107610263E+00 + -0.5031540936588208E+00 + -0.5027934058277265E+00 + -0.5024321505298984E+00 + -0.5020703308899709E+00 + -0.5017079498930435E+00 + -0.5013450105398599E+00 + -0.5009815160099633E+00 + -0.5006174695799935E+00 + -0.5002528745191125E+00 + -0.4998877340509865E+00 + -0.4995220513891831E+00 + -0.4991558297501346E+00 + -0.4987890723531369E+00 + -0.4984217824215230E+00 + -0.4980539632144556E+00 + -0.4976856180306887E+00 + -0.4973167501571802E+00 + -0.4969473627119559E+00 + -0.4965774587144066E+00 + -0.4962070412263974E+00 + -0.4958361135088817E+00 + -0.4954646788841714E+00 + -0.4950927406513822E+00 + -0.4947203020511862E+00 + -0.4943473663194437E+00 + -0.4939739367332495E+00 + -0.4936000166195279E+00 + -0.4932256092982531E+00 + -0.4928507179428326E+00 + -0.4924753456323171E+00 + -0.4920994954661825E+00 + -0.4917231706498147E+00 + -0.4913463744258602E+00 + -0.4909691101474185E+00 + -0.4905913814503466E+00 + -0.4902131920080496E+00 + -0.4898345450549730E+00 + -0.4894554432339376E+00 + -0.4890758892112596E+00 + -0.4886958865009138E+00 + -0.4883154392243672E+00 + -0.4879345512336226E+00 + -0.4875532246819653E+00 + -0.4871714610979067E+00 + -0.4867892622228116E+00 + -0.4864066304127118E+00 + -0.4860235681333121E+00 + -0.4856400777283657E+00 + -0.4852561613601501E+00 + -0.4848718211906108E+00 + -0.4844870595775634E+00 + -0.4841018790333835E+00 + -0.4837162819680573E+00 + -0.4833302700703969E+00 + -0.4829438447355103E+00 + -0.4825570077185740E+00 + -0.4821697619299329E+00 + -0.4817821105036827E+00 + -0.4813940559188151E+00 + -0.4810055995856408E+00 + -0.4806167428628498E+00 + -0.4802274879250732E+00 + -0.4798378376526787E+00 + -0.4794477948421023E+00 + -0.4790573614747903E+00 + -0.4786665391645218E+00 + -0.4782753297471794E+00 + -0.4778837358543181E+00 + -0.4774917602929865E+00 + -0.4770994055172342E+00 + -0.4767066733456334E+00 + -0.4763135655470592E+00 + -0.4759200842088583E+00 + -0.4755262317209489E+00 + -0.4751320104942120E+00 + -0.4747374230005808E+00 + -0.4743424717435648E+00 + -0.4739471590565630E+00 + -0.4735514865894000E+00 + -0.4731554558268430E+00 + -0.4727590687519346E+00 + -0.4723623283331492E+00 + -0.4719652376317990E+00 + -0.4715677990833918E+00 + -0.4711700144704881E+00 + -0.4707718855801184E+00 + -0.4703734145187346E+00 + -0.4699746035697920E+00 + -0.4695754550255905E+00 + -0.4691759712028380E+00 + -0.4687761544266401E+00 + -0.4683760070655300E+00 + -0.4679755315807085E+00 + -0.4675747304382777E+00 + -0.4671736058336697E+00 + -0.4667721596518652E+00 + -0.4663703937996172E+00 + -0.4659683105852579E+00 + -0.4655659125620288E+00 + -0.4651632022210971E+00 + -0.4647601817218587E+00 + -0.4643568531231504E+00 + -0.4639532186240328E+00 + -0.4635492807606535E+00 + -0.4631450421118873E+00 + -0.4627405049286097E+00 + -0.4623356710481818E+00 + -0.4619305423285613E+00 + -0.4615251211848034E+00 + -0.4611194104055257E+00 + -0.4607134127047418E+00 + -0.4603071303376961E+00 + -0.4599005654037808E+00 + -0.4594937200543254E+00 + -0.4590865965774446E+00 + -0.4586791972844214E+00 + -0.4582715244373546E+00 + -0.4578635802295306E+00 + -0.4574553668628197E+00 + -0.4570468867079820E+00 + -0.4566381422606477E+00 + -0.4562291359920797E+00 + -0.4558198701954756E+00 + -0.4554103470975019E+00 + -0.4550005689250794E+00 + -0.4545905379026283E+00 + -0.4541802562576047E+00 + -0.4537697263335482E+00 + -0.4533589506497901E+00 + -0.4529479317292926E+00 + -0.4525366718869529E+00 + -0.4521251732696282E+00 + -0.4517134380648455E+00 + -0.4513014687633011E+00 + -0.4508892679845777E+00 + -0.4504768382153900E+00 + -0.4500641814959637E+00 + -0.4496512997783169E+00 + -0.4492381952276958E+00 + -0.4488248703657526E+00 + -0.4484113277472752E+00 + -0.4479975698772997E+00 + -0.4475835992168408E+00 + -0.4471694182115711E+00 + -0.4467550291875217E+00 + -0.4463404344159684E+00 + -0.4459256361810184E+00 + -0.4455106368102937E+00 + -0.4450954386427194E+00 + -0.4446800440008529E+00 + -0.4442644551753944E+00 + -0.4438486744587914E+00 + -0.4434327042233249E+00 + -0.4430165469193026E+00 + -0.4426002050184602E+00 + -0.4421836811361139E+00 + -0.4417669779625285E+00 + -0.4413500980142895E+00 + -0.4409330430855937E+00 + -0.4405158147896600E+00 + -0.4400984152443240E+00 + -0.4396808475954661E+00 + -0.4392631150909489E+00 + -0.4388452203124050E+00 + -0.4384271651264850E+00 + -0.4380089514175486E+00 + -0.4375905815767119E+00 + -0.4371720582837409E+00 + -0.4367533841805277E+00 + -0.4363345617130056E+00 + -0.4359155932718581E+00 + -0.4354964811159920E+00 + -0.4350772272048017E+00 + -0.4346578334772945E+00 + -0.4342383024820286E+00 + -0.4338186374856766E+00 + -0.4333988417063456E+00 + -0.4329789173364850E+00 + -0.4325588659273531E+00 + -0.4321386892282252E+00 + -0.4317183900433855E+00 + -0.4312979715134061E+00 + -0.4308774364424935E+00 + -0.4304567867910796E+00 + -0.4300360244042445E+00 + -0.4296151516257435E+00 + -0.4291941714447404E+00 + -0.4287730868514303E+00 + -0.4283519002778403E+00 + -0.4279306137721354E+00 + -0.4275092294134344E+00 + -0.4270877494928015E+00 + -0.4266661763775534E+00 + -0.4262445125635206E+00 + -0.4258227608987807E+00 + -0.4254009242870655E+00 + -0.4249790053131184E+00 + -0.4245570061064774E+00 + -0.4241349287732781E+00 + -0.4237127755652804E+00 + -0.4232905488449770E+00 + -0.4228682510387276E+00 + -0.4224458849521777E+00 + -0.4220234535409350E+00 + -0.4216009595589648E+00 + -0.4211784051344391E+00 + -0.4207557922813510E+00 + -0.4203331232888184E+00 + -0.4199104008761875E+00 + -0.4194876277909289E+00 + -0.4190648065910535E+00 + -0.4186419396771735E+00 + -0.4182190294376588E+00 + -0.4177960781968887E+00 + -0.4173730882524758E+00 + -0.4169500620557132E+00 + -0.4165270025795561E+00 + -0.4161039129044673E+00 + -0.4156807956421865E+00 + -0.4152576525937256E+00 + -0.4148344855160516E+00 + -0.4144112968580647E+00 + -0.4139880897017044E+00 + -0.4135648670899505E+00 + -0.4131416315518193E+00 + -0.4127183853704835E+00 + -0.4122951308781587E+00 + -0.4118718705948774E+00 + -0.4114486070860389E+00 + -0.4110253428273812E+00 + -0.4106020801222282E+00 + -0.4101788212740050E+00 + -0.4097555690021084E+00 + -0.4093323264438336E+00 + -0.4089090966549182E+00 + -0.4084858817725558E+00 + -0.4080626834475915E+00 + -0.4076395036210204E+00 + -0.4072163454794179E+00 + -0.4067932125382616E+00 + -0.4063701077848335E+00 + -0.4059470330933394E+00 + -0.4055239902172241E+00 + -0.4051009814247196E+00 + -0.4046780095519679E+00 + -0.4042550774537689E+00 + -0.4038321878580559E+00 + -0.4034093434194309E+00 + -0.4029865467575588E+00 + -0.4025638003240380E+00 + -0.4021411065225616E+00 + -0.4017184678703592E+00 + -0.4012958871461861E+00 + -0.4008733671606386E+00 + -0.4004509104915776E+00 + -0.4000285194342858E+00 + -0.3996061962733385E+00 + -0.3991839433490874E+00 + -0.3987617630384243E+00 + -0.3983396578460512E+00 + -0.3979176309396149E+00 + -0.3974956857051890E+00 + -0.3970738251298085E+00 + -0.3966520511688882E+00 + -0.3962303656272880E+00 + -0.3958087708072278E+00 + -0.3953872696731338E+00 + -0.3949658652061507E+00 + -0.3945445599754598E+00 + -0.3941233562588277E+00 + -0.3937022564322222E+00 + -0.3932812634776872E+00 + -0.3928603805994121E+00 + -0.3924396107087226E+00 + -0.3920189558751549E+00 + -0.3915984180265993E+00 + -0.3911779994291015E+00 + -0.3907577028435425E+00 + -0.3903375310828003E+00 + -0.3899174871252895E+00 + -0.3894975740789084E+00 + -0.3890777949345421E+00 + -0.3886581518782912E+00 + -0.3882386467718419E+00 + -0.3878192817610508E+00 + -0.3874000598936451E+00 + -0.3869809843932640E+00 + -0.3865620581864068E+00 + -0.3861432837188928E+00 + -0.3857246634026468E+00 + -0.3853061997944522E+00 + -0.3848878955754105E+00 + -0.3844697534085915E+00 + -0.3840517757825479E+00 + -0.3836339651087071E+00 + -0.3832163239583419E+00 + -0.3827988554640612E+00 + -0.3823815628788899E+00 + -0.3819644489862654E+00 + -0.3815475157333092E+00 + -0.3811307650156931E+00 + -0.3807141994193844E+00 + -0.3802978221798334E+00 + -0.3798816364999336E+00 + -0.3794656450872678E+00 + -0.3790498504053212E+00 + -0.3786342549411228E+00 + -0.3782188612760062E+00 + -0.3778036720165138E+00 + -0.3773886898495691E+00 + -0.3769739176178755E+00 + -0.3765593581782911E+00 + -0.3761450142492730E+00 + -0.3757308884062125E+00 + -0.3753169832258282E+00 + -0.3749033013443407E+00 + -0.3744898454313184E+00 + -0.3740766181457074E+00 + -0.3736636220921054E+00 + -0.3732508598619454E+00 + -0.3728383341186811E+00 + -0.3724260476795940E+00 + -0.3720140033832412E+00 + -0.3716022040529368E+00 + -0.3711906524944258E+00 + -0.3707793515094858E+00 + -0.3703683038499335E+00 + -0.3699575122382861E+00 + -0.3695469793368246E+00 + -0.3691367075083610E+00 + -0.3687266990264935E+00 + -0.3683169564493234E+00 + -0.3679074830144861E+00 + -0.3674982820463782E+00 + -0.3670893563426639E+00 + -0.3666807080436239E+00 + -0.3662723393144505E+00 + -0.3658642531026644E+00 + -0.3654564528750414E+00 + -0.3650489419054716E+00 + -0.3646417223561600E+00 + -0.3642347960143896E+00 + -0.3638281651607059E+00 + -0.3634218333842254E+00 + -0.3630158044717756E+00 + -0.3626100813650950E+00 + -0.3622046658465706E+00 + -0.3617995597028588E+00 + -0.3613947659226468E+00 + -0.3609902883716867E+00 + -0.3605861306861377E+00 + -0.3601822949710797E+00 + -0.3597787827568211E+00 + -0.3593755960555305E+00 + -0.3589727383006882E+00 + -0.3585702131804814E+00 + -0.3581680239424569E+00 + -0.3577661731684446E+00 + -0.3573646633860045E+00 + -0.3569634971124116E+00 + -0.3565626768570370E+00 + -0.3561622051694957E+00 + -0.3557620848651853E+00 + -0.3553623188714652E+00 + -0.3549629101335460E+00 + -0.3545638616492985E+00 + -0.3541651764255246E+00 + -0.3537668572168160E+00 + -0.3533689063577005E+00 + -0.3529713261746761E+00 + -0.3525741195526181E+00 + -0.3521772898684455E+00 + -0.3517808404284817E+00 + -0.3513847738566450E+00 + -0.3509890924629856E+00 + -0.3505937986866361E+00 + -0.3501988954395014E+00 + -0.3498043857427303E+00 + -0.3494102726105405E+00 + -0.3490165590427381E+00 + -0.3486232480259572E+00 + -0.3482303422570526E+00 + -0.3478378441525716E+00 + -0.3474457561699069E+00 + -0.3470540812041517E+00 + -0.3466628223744666E+00 + -0.3462719827169396E+00 + -0.3458815649165292E+00 + -0.3454915715715691E+00 + -0.3451020054507572E+00 + -0.3447128696650453E+00 + -0.3443241673537037E+00 + -0.3439359012784459E+00 + -0.3435480737996397E+00 + -0.3431606873214851E+00 + -0.3427737448488144E+00 + -0.3423872497251113E+00 + -0.3420012052100817E+00 + -0.3416156141593147E+00 + -0.3412304793151022E+00 + -0.3408458033435045E+00 + -0.3404615887382021E+00 + -0.3400778379832050E+00 + -0.3396945539424292E+00 + -0.3393117399229704E+00 + -0.3389293992289614E+00 + -0.3385475348350071E+00 + -0.3381661495122874E+00 + -0.3377852459918713E+00 + -0.3374048268104772E+00 + -0.3370248944454520E+00 + -0.3366454516089791E+00 + -0.3362665015910651E+00 + -0.3358880477634703E+00 + -0.3355100932042938E+00 + -0.3351326406143136E+00 + -0.3347556926807061E+00 + -0.3343792522110942E+00 + -0.3340033220958473E+00 + -0.3336279052132238E+00 + -0.3332530043556781E+00 + -0.3328786222869672E+00 + -0.3325047618500460E+00 + -0.3321314261017154E+00 + -0.3317586181342200E+00 + -0.3313863409218343E+00 + -0.3310145972716205E+00 + -0.3306433899808275E+00 + -0.3302727218641595E+00 + -0.3299025957498785E+00 + -0.3295330144879118E+00 + -0.3291639810528318E+00 + -0.3287954984687946E+00 + -0.3284275697785307E+00 + -0.3280601980768548E+00 + -0.3276933864670725E+00 + -0.3273271378714832E+00 + -0.3269614549303872E+00 + -0.3265963402667311E+00 + -0.3262317965945514E+00 + -0.3258678267033029E+00 + -0.3255044334477102E+00 + -0.3251416201157136E+00 + -0.3247793901826884E+00 + -0.3244177469008700E+00 + -0.3240566927597400E+00 + -0.3236962300946459E+00 + -0.3233363617034188E+00 + -0.3229770911731997E+00 + -0.3226184221297757E+00 + -0.3222603574118880E+00 + -0.3219028991454600E+00 + -0.3215460495485982E+00 + -0.3211898117631744E+00 + -0.3208341893712931E+00 + -0.3204791858052692E+00 + -0.3201248039166993E+00 + -0.3197710464226687E+00 + -0.3194179161328974E+00 + -0.3190654160301241E+00 + -0.3187135491126413E+00 + -0.3183623182594678E+00 + -0.3180117262309471E+00 + -0.3176617758337600E+00 + -0.3173124703194712E+00 + -0.3169638131742165E+00 + -0.3166158077427708E+00 + -0.3162684567609531E+00 + -0.3159217628067466E+00 + -0.3155757285580066E+00 + -0.3152303568986257E+00 + -0.3148856507478261E+00 + -0.3145416132437080E+00 + -0.3141982477634144E+00 + -0.3138555576698882E+00 + -0.3135135460421077E+00 + -0.3131722157954787E+00 + -0.3128315696800679E+00 + -0.3124916096757892E+00 + -0.3121523375323764E+00 + -0.3118137535274405E+00 + -0.3114758545510498E+00 + -0.3111386370255180E+00 + -0.3108020976755132E+00 + -0.3104662335893353E+00 + -0.3101310418699286E+00 + -0.3097965195668053E+00 + -0.3094626636944581E+00 + -0.3091294712199018E+00 + -0.3087969388764982E+00 + -0.3084650633201568E+00 + -0.3081338413598155E+00 + -0.3078032701988100E+00 + -0.3074733470965984E+00 + -0.3071440691609726E+00 + -0.3068154333003812E+00 + -0.3064874364017475E+00 + -0.3061600752789619E+00 + -0.3058333466938378E+00 + -0.3055072474329608E+00 + -0.3051817744463739E+00 + -0.3048569247413902E+00 + -0.3045326952985825E+00 + -0.3042090830274760E+00 + -0.3038860848228428E+00 + -0.3035636975723052E+00 + -0.3032419181543217E+00 + -0.3029207434464293E+00 + -0.3026001703575466E+00 + -0.3022801958202051E+00 + -0.3019608167584401E+00 + -0.3016420300511259E+00 + -0.3013238325574616E+00 + -0.3010062211392853E+00 + -0.3006891926726007E+00 + -0.3003727440343301E+00 + -0.3000568721175845E+00 + -0.2997415738429223E+00 + -0.2994268461266292E+00 + -0.2991126858070563E+00 + -0.2987990896560469E+00 + -0.2984860544561545E+00 + -0.2981735770999113E+00 + -0.2978616545271047E+00 + -0.2975502836508222E+00 + -0.2972394612966058E+00 + -0.2969291842690556E+00 + -0.2966194493933521E+00 + -0.2963102535329377E+00 + -0.2960015935513242E+00 + -0.2956934662802451E+00 + -0.2953858685216406E+00 + -0.2950787970796346E+00 + -0.2947722488040360E+00 + -0.2944662205656785E+00 + -0.2941607092196506E+00 + -0.2938557115667821E+00 + -0.2935512243928220E+00 + -0.2932472444982278E+00 + -0.2929437687145394E+00 + -0.2926407938734273E+00 + -0.2923383167778459E+00 + -0.2920363342014241E+00 + -0.2917348429189091E+00 + -0.2914338397486720E+00 + -0.2911333215314511E+00 + -0.2908332850941156E+00 + -0.2905337272111664E+00 + -0.2902346446410377E+00 + -0.2899360341526903E+00 + -0.2896378925407278E+00 + -0.2893402166004708E+00 + -0.2890430031164870E+00 + -0.2887462488615888E+00 + -0.2884499506069302E+00 + -0.2881541051366152E+00 + -0.2878587092413929E+00 + -0.2875637596973699E+00 + -0.2872692532195059E+00 + -0.2869751865025718E+00 + -0.2866815562787846E+00 + -0.2863883593728873E+00 + -0.2860955926189029E+00 + -0.2858032527821739E+00 + -0.2855113365438360E+00 + -0.2852198405827575E+00 + -0.2849287616403377E+00 + -0.2846380964981004E+00 + -0.2843478419312456E+00 + -0.2840579946884624E+00 + -0.2837685515077568E+00 + -0.2834795091101956E+00 + -0.2831908641766914E+00 + -0.2829026133802234E+00 + -0.2826147534274961E+00 + -0.2823272810719590E+00 + -0.2820401930664642E+00 + -0.2817534861410943E+00 + -0.2814671570087541E+00 + -0.2811812023757572E+00 + -0.2808956189240812E+00 + -0.2806104033249761E+00 + -0.2803255522652075E+00 + -0.2800410624819747E+00 + -0.2797569307186778E+00 + -0.2794731536733186E+00 + -0.2791897279774134E+00 + -0.2789066502580344E+00 + -0.2786239171939942E+00 + -0.2783415255046324E+00 + -0.2780594719050437E+00 + -0.2777777530888836E+00 + -0.2774963657393972E+00 + -0.2772153065220239E+00 + -0.2769345720505305E+00 + -0.2766541589268141E+00 + -0.2763740638024686E+00 + -0.2760942834125231E+00 + -0.2758148144929541E+00 + -0.2755356536962401E+00 + -0.2752567976016772E+00 + -0.2749782427941879E+00 + -0.2746999859367632E+00 + -0.2744220237266003E+00 + -0.2741443528422213E+00 + -0.2738669699009668E+00 + -0.2735898715044587E+00 + -0.2733130542664357E+00 + -0.2730365148247701E+00 + -0.2727602498174760E+00 + -0.2724842558794226E+00 + -0.2722085296423560E+00 + -0.2719330677323947E+00 + -0.2716578667479819E+00 + -0.2713829232722679E+00 + -0.2711082338979390E+00 + -0.2708337952644880E+00 + -0.2705596040210103E+00 + -0.2702856567901645E+00 + -0.2700119501443953E+00 + -0.2697384806488307E+00 + -0.2694652448917680E+00 + -0.2691922394860333E+00 + -0.2689194610396690E+00 + -0.2686469061252583E+00 + -0.2683745712944543E+00 + -0.2681024531069793E+00 + -0.2678305481688890E+00 + -0.2675588530972120E+00 + -0.2672873644890709E+00 + -0.2670160789008020E+00 + -0.2667449928808053E+00 + -0.2664741029699681E+00 + -0.2662034057009080E+00 + -0.2659328976088434E+00 + -0.2656625752871112E+00 + -0.2653924353636858E+00 + -0.2651224744463635E+00 + -0.2648526890500308E+00 + -0.2645830756588564E+00 + -0.2643136307758180E+00 + -0.2640443509538190E+00 + -0.2637752327508565E+00 + -0.2635062727172398E+00 + -0.2632374673942275E+00 + -0.2629688133184392E+00 + -0.2627003070044649E+00 + -0.2624319449511469E+00 + -0.2621637236613414E+00 + -0.2618956396738729E+00 + -0.2616276895382685E+00 + -0.2613598697962720E+00 + -0.2610921769730241E+00 + -0.2608246075881202E+00 + -0.2605571581333778E+00 + -0.2602898250628751E+00 + -0.2600226048290232E+00 + -0.2597554939331498E+00 + -0.2594884889122388E+00 + -0.2592215862969709E+00 + -0.2589547825869496E+00 + -0.2586880742682058E+00 + -0.2584214578221048E+00 + -0.2581549297214031E+00 + -0.2578884864350060E+00 + -0.2576221244253261E+00 + -0.2573558401462352E+00 + -0.2570896300529393E+00 + -0.2568234906718434E+00 + -0.2565574185870132E+00 + -0.2562914103312102E+00 + -0.2560254620831943E+00 + -0.2557595698695901E+00 + -0.2554937303387239E+00 + -0.2552279422278991E+00 + -0.2549622047158817E+00 + -0.2546965174135792E+00 + -0.2544308806635746E+00 + -0.2541652948729009E+00 + -0.2538997603262509E+00 + -0.2536342771985610E+00 + -0.2533688456610310E+00 + -0.2531034658856468E+00 + -0.2528381380447967E+00 + -0.2525728623211279E+00 + -0.2523076389353391E+00 + -0.2520424681169145E+00 + -0.2517773500798728E+00 + -0.2515122850092935E+00 + -0.2512472730880986E+00 + -0.2509823145204795E+00 + -0.2507174095315920E+00 + -0.2504525583450045E+00 + -0.2501877611618111E+00 + -0.2499230181714641E+00 + -0.2496583295654910E+00 + -0.2493936955442168E+00 + -0.2491291163102790E+00 + -0.2488645920617556E+00 + -0.2486001229872505E+00 + -0.2483357092751006E+00 + -0.2480713511360388E+00 + -0.2478070488050354E+00 + -0.2475428025131153E+00 + -0.2472786124391672E+00 + -0.2470144787322210E+00 + -0.2467504015583297E+00 + -0.2464863811637155E+00 + -0.2462224178176956E+00 + -0.2459585117559429E+00 + -0.2456946631373579E+00 + -0.2454308721115010E+00 + -0.2451671388681167E+00 + -0.2449034636447260E+00 + -0.2446398466784645E+00 + -0.2443762881697049E+00 + -0.2441127882956320E+00 + -0.2438493472423471E+00 + -0.2435859652435304E+00 + -0.2433226425481370E+00 + -0.2430593793712508E+00 + -0.2427961758423774E+00 + -0.2425330320797209E+00 + -0.2422699482785252E+00 + -0.2420069247347040E+00 + -0.2417439617443209E+00 + -0.2414810595163719E+00 + -0.2412182181993646E+00 + -0.2409554379487168E+00 + -0.2406927189664271E+00 + -0.2404300614711662E+00 + -0.2401674656728951E+00 + -0.2399049317570051E+00 + -0.2396424599053106E+00 + -0.2393800503307638E+00 + -0.2391177032910336E+00 + -0.2388554190437653E+00 + -0.2385931977935405E+00 + -0.2383310397044034E+00 + -0.2380689449433535E+00 + -0.2378069137027128E+00 + -0.2375449461848790E+00 + -0.2372830425994019E+00 + -0.2370212031778005E+00 + -0.2367594281554637E+00 + -0.2364977177385192E+00 + -0.2362360720867583E+00 + -0.2359744913591069E+00 + -0.2357129757690422E+00 + -0.2354515255758781E+00 + -0.2351901410348475E+00 + -0.2349288223608327E+00 + -0.2346675697510689E+00 + -0.2344063833964599E+00 + -0.2341452634661092E+00 + -0.2338842101248784E+00 + -0.2336232235731401E+00 + -0.2333623040730926E+00 + -0.2331014518905791E+00 + -0.2328406672383420E+00 + -0.2325799502801278E+00 + -0.2323193011815499E+00 + -0.2320587201378290E+00 + -0.2317982073585791E+00 + -0.2315377630550323E+00 + -0.2312773874440500E+00 + -0.2310170807439445E+00 + -0.2307568431766359E+00 + -0.2304966749708946E+00 + -0.2302365763552883E+00 + -0.2299765475334102E+00 + -0.2297165886835368E+00 + -0.2294566999838964E+00 + -0.2291968816220849E+00 + -0.2289371337907454E+00 + -0.2286774566956093E+00 + -0.2284178505980665E+00 + -0.2281583157742225E+00 + -0.2278988524518057E+00 + -0.2276394607557527E+00 + -0.2273801408012290E+00 + -0.2271208927971902E+00 + -0.2268617170570096E+00 + -0.2266026138881492E+00 + -0.2263435834793317E+00 + -0.2260846259492303E+00 + -0.2258257414346841E+00 + -0.2255669301635344E+00 + -0.2253081923907634E+00 + -0.2250495283524833E+00 + -0.2247909382403562E+00 + -0.2245324222403675E+00 + -0.2242739805602063E+00 + -0.2240156134340956E+00 + -0.2237573210960669E+00 + -0.2234991037579686E+00 + -0.2232409616172606E+00 + -0.2229828948727991E+00 + -0.2227249037318821E+00 + -0.2224669884046530E+00 + -0.2222091490983622E+00 + -0.2219513860126084E+00 + -0.2216936993461621E+00 + -0.2214360893121239E+00 + -0.2211785561428333E+00 + -0.2209211000705933E+00 + -0.2206637213079546E+00 + -0.2204064200533684E+00 + -0.2201491965067420E+00 + -0.2198920508781133E+00 + -0.2196349833812965E+00 + -0.2193779942242847E+00 + -0.2191210835981059E+00 + -0.2188642516914409E+00 + -0.2186074987269140E+00 + -0.2183508249773089E+00 + -0.2180942307146205E+00 + -0.2178377161346273E+00 + -0.2175812813731959E+00 + -0.2173249265753467E+00 + -0.2170686519575637E+00 + -0.2168124577655592E+00 + -0.2165563442403022E+00 + -0.2163003116070456E+00 + -0.2160443600878875E+00 + -0.2157884898993495E+00 + -0.2155327012488215E+00 + -0.2152769943427561E+00 + -0.2150213693846733E+00 + -0.2147658265755684E+00 + -0.2145103661197405E+00 + -0.2142549882462988E+00 + -0.2139996931956145E+00 + -0.2137444811973635E+00 + -0.2134893524426183E+00 + -0.2132343071139166E+00 + -0.2129793453962257E+00 + -0.2127244674788215E+00 + -0.2124696735543754E+00 + -0.2122149638761624E+00 + -0.2119603387549849E+00 + -0.2117057984878869E+00 + -0.2114513432364767E+00 + -0.2111969730947371E+00 + -0.2109426881891843E+00 + -0.2106884887775907E+00 + -0.2104343751501807E+00 + -0.2101803475659967E+00 + -0.2099264062222441E+00 + -0.2096725513092882E+00 + -0.2094187830266781E+00 + -0.2091651015835366E+00 + -0.2089115071909762E+00 + -0.2086580000740826E+00 + -0.2084045804656816E+00 + -0.2081512485960099E+00 + -0.2078980046831681E+00 + -0.2076448489418947E+00 + -0.2073917815746044E+00 + -0.2071388027566717E+00 + -0.2068859126614055E+00 + -0.2066331115056855E+00 + -0.2063803995562736E+00 + -0.2061277770791687E+00 + -0.2058752443018205E+00 + -0.2056228014282913E+00 + -0.2053704486596263E+00 + -0.2051181861833296E+00 + -0.2048660141828221E+00 + -0.2046139328560464E+00 + -0.2043619424360017E+00 + -0.2041100431608396E+00 + -0.2038582352642912E+00 + -0.2036065189745013E+00 + -0.2033548945187843E+00 + -0.2031033621177415E+00 + -0.2028519219875112E+00 + -0.2026005743400294E+00 + -0.2023493193642069E+00 + -0.2020981572411364E+00 + -0.2018470881662523E+00 + -0.2015961123733687E+00 + -0.2013452301026329E+00 + -0.2010944415891535E+00 + -0.2008437470610360E+00 + -0.2005931467456575E+00 + -0.2003426408663395E+00 + -0.2000922296434414E+00 + -0.1998419132919628E+00 + -0.1995916919939686E+00 + -0.1993415659190620E+00 + -0.1990915352627814E+00 + -0.1988416002978483E+00 + -0.1985917613104904E+00 + -0.1983420185360154E+00 + -0.1980923721321856E+00 + -0.1978428222550312E+00 + -0.1975933691369711E+00 + -0.1973440130722227E+00 + -0.1970947543421079E+00 + -0.1968455931262779E+00 + -0.1965965295616142E+00 + -0.1963475638082467E+00 + -0.1960986961036894E+00 + -0.1958499267014110E+00 + -0.1956012558464601E+00 + -0.1953526837697063E+00 + -0.1951042107002143E+00 + -0.1948558368571745E+00 + -0.1946075624510109E+00 + -0.1943593876926031E+00 + -0.1941113127982288E+00 + -0.1938633379867205E+00 + -0.1936154634744082E+00 + -0.1933676894681366E+00 + -0.1931200161727781E+00 + -0.1928724438093006E+00 + -0.1926249726283414E+00 + -0.1923776028819156E+00 + -0.1921303347799321E+00 + -0.1918831684911989E+00 + -0.1916361041906065E+00 + -0.1913891421204223E+00 + -0.1911422825576242E+00 + -0.1908955257683783E+00 + -0.1906488719729403E+00 + -0.1904023213797972E+00 + -0.1901558741904615E+00 + -0.1899095305921568E+00 + -0.1896632907716048E+00 + -0.1894171549466602E+00 + -0.1891711233685504E+00 + -0.1889251962868273E+00 + -0.1886793739176696E+00 + -0.1884336564583462E+00 + -0.1881880441150421E+00 + -0.1879425371354644E+00 + -0.1876971357791318E+00 + -0.1874518402780356E+00 + -0.1872066508020044E+00 + -0.1869615675143772E+00 + -0.1867165906409185E+00 + -0.1864717204809069E+00 + -0.1862269573283428E+00 + -0.1859823013702125E+00 + -0.1857377527266014E+00 + -0.1854933115447200E+00 + -0.1852489781151858E+00 + -0.1850047527741529E+00 + -0.1847606358042069E+00 + -0.1845166273540153E+00 + -0.1842727275532520E+00 + -0.1840289365904077E+00 + -0.1837852547300907E+00 + -0.1835416822388902E+00 + -0.1832982193431410E+00 + -0.1830548662414945E+00 + -0.1828116231379595E+00 + -0.1825684902698161E+00 + -0.1823254678861455E+00 + -0.1820825562276434E+00 + -0.1818397555116024E+00 + -0.1815970659513474E+00 + -0.1813544877595199E+00 + -0.1811120211477586E+00 + -0.1808696663293207E+00 + -0.1806274235412909E+00 + -0.1803852930388102E+00 + -0.1801432750696549E+00 + -0.1799013698314108E+00 + -0.1796595775020428E+00 + -0.1794178982760806E+00 + -0.1791763323989914E+00 + -0.1789348801258339E+00 + -0.1786935416970875E+00 + -0.1784523173303397E+00 + -0.1782112072408457E+00 + -0.1779702116371053E+00 + -0.1777293307220085E+00 + -0.1774885647065665E+00 + -0.1772479138604395E+00 + -0.1770073784788003E+00 + -0.1767669588249693E+00 + -0.1765266550527617E+00 + -0.1762864672934175E+00 + -0.1760463957420387E+00 + -0.1758064407038643E+00 + -0.1755666024902061E+00 + -0.1753268813150694E+00 + -0.1750872773035279E+00 + -0.1748477905937566E+00 + -0.1746084214547452E+00 + -0.1743691702183225E+00 + -0.1741300371875015E+00 + -0.1738910225537273E+00 + -0.1736521264821639E+00 + -0.1734133491626473E+00 + -0.1731746908319074E+00 + -0.1729361517310908E+00 + -0.1726977320802859E+00 + -0.1724594320784388E+00 + -0.1722212519303717E+00 + -0.1719831919016922E+00 + -0.1717452522902705E+00 + -0.1715074333686748E+00 + -0.1712697353005738E+00 + -0.1710321582211128E+00 + -0.1707947023160712E+00 + -0.1705573678775536E+00 + -0.1703201552089664E+00 + -0.1700830645525030E+00 + -0.1698460960828432E+00 + -0.1696092499758650E+00 + -0.1693725264546873E+00 + -0.1691359257700673E+00 + -0.1688994481743319E+00 + -0.1686630939252375E+00 + -0.1684268632820940E+00 + -0.1681907564736788E+00 + -0.1679547736577179E+00 + -0.1677189149838576E+00 + -0.1674831806671410E+00 + -0.1672475710018279E+00 + -0.1670120862816941E+00 + -0.1667767267386498E+00 + -0.1665414925648181E+00 + -0.1663063839626830E+00 + -0.1660714011925197E+00 + -0.1658365445335564E+00 + -0.1656018142283968E+00 + -0.1653672104252165E+00 + -0.1651327332593055E+00 + -0.1648983829511955E+00 + -0.1646641598349054E+00 + -0.1644300642438128E+00 + -0.1641960963970311E+00 + -0.1639622564327721E+00 + -0.1637285445021802E+00 + -0.1634949608423970E+00 + -0.1632615057219539E+00 + -0.1630281794021109E+00 + -0.1627949821230463E+00 + -0.1625619141212535E+00 + -0.1623289756323330E+00 + -0.1620961668905373E+00 + -0.1618634881281808E+00 + -0.1616309395486439E+00 + -0.1613985213327909E+00 + -0.1611662336728863E+00 + -0.1609340768398076E+00 + -0.1607020511362514E+00 + -0.1604701568348986E+00 + -0.1602383941126775E+00 + -0.1600067631285104E+00 + -0.1597752641018366E+00 + -0.1595438973496093E+00 + -0.1593126631908668E+00 + -0.1590815618235223E+00 + -0.1588505933418461E+00 + -0.1586197578614909E+00 + -0.1583890556803837E+00 + -0.1581584871780567E+00 + -0.1579280526889944E+00 + -0.1576977523869271E+00 + -0.1574675864105279E+00 + -0.1572375549312555E+00 + -0.1570076581787758E+00 + -0.1567778963899387E+00 + -0.1565482698248827E+00 + -0.1563187787656474E+00 + -0.1560894234884267E+00 + -0.1558602042131707E+00 + -0.1556311211320571E+00 + -0.1554021744416258E+00 + -0.1551733643561794E+00 + -0.1549446910946433E+00 + -0.1547161549017424E+00 + -0.1544877560726738E+00 + -0.1542594949054882E+00 + -0.1540313716224482E+00 + -0.1538033863675618E+00 + -0.1535755392924143E+00 + -0.1533478306528600E+00 + -0.1531202607616979E+00 + -0.1528928299109478E+00 + -0.1526655382987030E+00 + -0.1524383860975467E+00 + -0.1522113735091422E+00 + -0.1519845007980393E+00 + -0.1517577682360957E+00 + -0.1515311760661519E+00 + -0.1513047244981273E+00 + -0.1510784137436637E+00 + -0.1508522440508491E+00 + -0.1506262156897308E+00 + -0.1504003289191343E+00 + -0.1501745839412775E+00 + -0.1499489809412502E+00 + -0.1497235201269774E+00 + -0.1494982017610067E+00 + -0.1492730261132458E+00 + -0.1490479934277707E+00 + -0.1488231039164450E+00 + -0.1485983577920541E+00 + -0.1483737553021413E+00 + -0.1481492967173033E+00 + -0.1479249822983683E+00 + -0.1477008122503201E+00 + -0.1474767867593065E+00 + -0.1472529060321457E+00 + -0.1470291703304627E+00 + -0.1468055799244364E+00 + -0.1465821350614828E+00 + -0.1463588359578014E+00 + -0.1461356828292208E+00 + -0.1459126759167440E+00 + -0.1456898154797407E+00 + -0.1454671017751310E+00 + -0.1452445350419384E+00 + -0.1450221155125034E+00 + -0.1447998434119561E+00 + -0.1445777189440699E+00 + -0.1443557423091638E+00 + -0.1441339137304163E+00 + -0.1439122334654226E+00 + -0.1436907017742775E+00 + -0.1434693189102553E+00 + -0.1432480851211843E+00 + -0.1430270006540503E+00 + -0.1428060657506539E+00 + -0.1425852806506818E+00 + -0.1423646455833703E+00 + -0.1421441607435803E+00 + -0.1419238263197638E+00 + -0.1417036425422429E+00 + -0.1414836097107712E+00 + -0.1412637281282542E+00 + -0.1410439980331837E+00 + -0.1408244196073656E+00 + -0.1406049930384523E+00 + -0.1403857185731753E+00 + -0.1401665964855499E+00 + -0.1399476270401163E+00 + -0.1397288104660798E+00 + -0.1395101469847237E+00 + -0.1392916368241500E+00 + -0.1390732802248760E+00 + -0.1388550774281708E+00 + -0.1386370286614136E+00 + -0.1384191341385573E+00 + -0.1382013940798057E+00 + -0.1379838087632570E+00 + -0.1377663784965501E+00 + -0.1375491035627976E+00 + -0.1373319841442318E+00 + -0.1371150203977737E+00 + -0.1368982125164589E+00 + -0.1366815607661780E+00 + -0.1364650654212311E+00 + -0.1362487267445960E+00 + -0.1360325449872204E+00 + -0.1358165203983424E+00 + -0.1356006532155329E+00 + -0.1353849436698414E+00 + -0.1351693919929907E+00 + -0.1349539984198139E+00 + -0.1347387631860800E+00 + -0.1345236865280299E+00 + -0.1343087686828634E+00 + -0.1340940098878319E+00 + -0.1338794103757816E+00 + -0.1336649703744062E+00 + -0.1334506901132536E+00 + -0.1332365698447667E+00 + -0.1330226098356000E+00 + -0.1328088103464175E+00 + -0.1325951716062407E+00 + -0.1323816938342295E+00 + -0.1321683772636503E+00 + -0.1319552221625100E+00 + -0.1317422288034012E+00 + -0.1315293974301061E+00 + -0.1313167282494512E+00 + -0.1311042214670089E+00 + -0.1308918773023390E+00 + -0.1306796959845571E+00 + -0.1304676777511017E+00 + -0.1302558228848632E+00 + -0.1300441316846501E+00 + -0.1298326044246585E+00 + -0.1296212413114653E+00 + -0.1294100425406405E+00 + -0.1291990083273106E+00 + -0.1289881389141405E+00 + -0.1287774345461446E+00 + -0.1285668954712867E+00 + -0.1283565219397628E+00 + -0.1281463142048483E+00 + -0.1279362725383875E+00 + -0.1277263972194697E+00 + -0.1275166885013606E+00 + -0.1273071465585744E+00 + -0.1270977715516816E+00 + -0.1268885636978106E+00 + -0.1266795233017745E+00 + -0.1264706506730876E+00 + -0.1262619460722978E+00 + -0.1260534097196225E+00 + -0.1258450418362505E+00 + -0.1256368426582845E+00 + -0.1254288124282760E+00 + -0.1252209513889384E+00 + -0.1250132597832626E+00 + -0.1248057378542528E+00 + -0.1245983858364848E+00 + -0.1243912039500822E+00 + -0.1241841924163627E+00 + -0.1239773515059796E+00 + -0.1237706815342590E+00 + -0.1235641828049659E+00 + -0.1233578555169586E+00 + -0.1231516998192856E+00 + -0.1229457158921858E+00 + -0.1227399040343632E+00 + -0.1225342645720577E+00 + -0.1223287977851554E+00 + -0.1221235038661374E+00 + -0.1219183829999621E+00 + -0.1217134354195435E+00 + -0.1215086614054834E+00 + -0.1213040612367540E+00 + -0.1210996351587925E+00 + -0.1208953833994804E+00 + -0.1206913061900135E+00 + -0.1204874037759067E+00 + -0.1202836764064308E+00 + -0.1200801243218768E+00 + -0.1198767477437770E+00 + -0.1196735468930706E+00 + -0.1194705220364940E+00 + -0.1192676734907956E+00 + -0.1190650015653769E+00 + -0.1188625064691595E+00 + -0.1186601883529522E+00 + -0.1184580473922448E+00 + -0.1182560838810338E+00 + -0.1180542981478190E+00 + -0.1178526904814341E+00 + -0.1176512610793430E+00 + -0.1174500101275657E+00 + -0.1172489378549867E+00 + -0.1170480445419122E+00 + -0.1168473304692768E+00 + -0.1166467958894872E+00 + -0.1164464410367980E+00 + -0.1162462661452437E+00 + -0.1160462714489292E+00 + -0.1158464571820630E+00 + -0.1156468235915209E+00 + -0.1154473709563182E+00 + -0.1152480995595871E+00 + -0.1150490096439971E+00 + -0.1148501013988311E+00 + -0.1146513750159494E+00 + -0.1144528307679571E+00 + -0.1142544689841172E+00 + -0.1140562899749094E+00 + -0.1138582939341964E+00 + -0.1136604810138652E+00 + -0.1134628514050890E+00 + -0.1132654054101073E+00 + -0.1130681433499696E+00 + -0.1128710655075651E+00 + -0.1126741721103894E+00 + -0.1124774633825461E+00 + -0.1122809395615660E+00 + -0.1120846008953504E+00 + -0.1118884476321137E+00 + -0.1116924800199398E+00 + -0.1114966983069053E+00 + -0.1113011027362151E+00 + -0.1111056935356156E+00 + -0.1109104709304105E+00 + -0.1107154351802830E+00 + -0.1105205865997446E+00 + -0.1103259255037525E+00 + -0.1101314521280502E+00 + -0.1099371666412522E+00 + -0.1097430692199352E+00 + -0.1095491601139476E+00 + -0.1093554396056245E+00 + -0.1091619079760246E+00 + -0.1089685655009975E+00 + -0.1087754124550036E+00 + -0.1085824490841077E+00 + -0.1083896755843773E+00 + -0.1081970921503285E+00 + -0.1080046990471793E+00 + -0.1078124966059821E+00 + -0.1076204851465660E+00 + -0.1074286648754778E+00 + -0.1072370359438460E+00 + -0.1070455985344375E+00 + -0.1068543529544101E+00 + -0.1066632995408240E+00 + -0.1064724385805817E+00 + -0.1062817702631796E+00 + -0.1060912947699092E+00 + -0.1059010123522905E+00 + -0.1057109233336638E+00 + -0.1055210280322209E+00 + -0.1053313266876812E+00 + -0.1051418194974004E+00 + -0.1049525066689073E+00 + -0.1047633884554160E+00 + -0.1045744651224962E+00 + -0.1043857369232565E+00 + -0.1041972040840099E+00 + -0.1040088668292945E+00 + -0.1038207254303305E+00 + -0.1036327802107667E+00 + -0.1034450314876810E+00 + -0.1032574794793046E+00 + -0.1030701243450162E+00 + -0.1028829662659994E+00 + -0.1026960055323384E+00 + -0.1025092424669285E+00 + -0.1023226773703108E+00 + -0.1021363104898676E+00 + -0.1019501420649383E+00 + -0.1017641723209152E+00 + -0.1015784014659572E+00 + -0.1013928297126596E+00 + -0.1012074573384321E+00 + -0.1010222846632319E+00 + -0.1008373119936332E+00 + -0.1006525395596861E+00 + -0.1004679675658672E+00 + -0.1002835962286256E+00 + -0.1000994257958166E+00 + -0.9991545652068373E-01 + -0.9973168866647322E-01 + -0.9954812250996859E-01 + -0.9936475832717383E-01 + -0.9918159636926816E-01 + -0.9899863686953951E-01 + -0.9881588006682009E-01 + -0.9863332623531132E-01 + -0.9845097566241517E-01 + -0.9826882861978540E-01 + -0.9808688533292747E-01 + -0.9790514601920448E-01 + -0.9772361090525504E-01 + -0.9754228023152811E-01 + -0.9736115424222685E-01 + -0.9718023322170193E-01 + -0.9699951748617597E-01 + -0.9681900734126025E-01 + -0.9663870301467689E-01 + -0.9645860470207403E-01 + -0.9627871262083067E-01 + -0.9609902705893470E-01 + -0.9591954831821973E-01 + -0.9574027666475224E-01 + -0.9556121230577366E-01 + -0.9538235544570826E-01 + -0.9520370633639221E-01 + -0.9502526527100537E-01 + -0.9484703253873217E-01 + -0.9466900838754812E-01 + -0.9449119304666619E-01 + -0.9431358675786864E-01 + -0.9413618980842550E-01 + -0.9395900249556506E-01 + -0.9378202508168080E-01 + -0.9360525776601460E-01 + -0.9342870074460837E-01 + -0.9325235428619038E-01 + -0.9307621872910039E-01 + -0.9290029440140884E-01 + -0.9272458151946442E-01 + -0.9254908024330996E-01 + -0.9237379076083359E-01 + -0.9219871337337155E-01 + -0.9202384841061237E-01 + -0.9184919617473691E-01 + -0.9167475691284430E-01 + -0.9150053086524526E-01 + -0.9132651826463867E-01 + -0.9115271933571478E-01 + -0.9097913430616677E-01 + -0.9080576343560031E-01 + -0.9063260700141131E-01 + -0.9045966528260696E-01 + -0.9028693856422677E-01 + -0.9011442713294080E-01 + -0.8994213125018401E-01 + -0.8977005112156357E-01 + -0.8959818694733990E-01 + -0.8942653899066471E-01 + -0.8925510758734545E-01 + -0.8908389306822382E-01 + -0.8891289566522554E-01 + -0.8874211554965237E-01 + -0.8857155290882515E-01 + -0.8840120801418523E-01 + -0.8823108116338069E-01 + -0.8806117264609902E-01 + -0.8789148273240512E-01 + -0.8772201168945109E-01 + -0.8755275978276472E-01 + -0.8738372727579030E-01 + -0.8721491442936685E-01 + -0.8704632147291505E-01 + -0.8687794861466959E-01 + -0.8670979607714690E-01 + -0.8654186416428212E-01 + -0.8637415320818288E-01 + -0.8620666350928905E-01 + -0.8603939528198287E-01 + -0.8587234872709850E-01 + -0.8570552408408171E-01 + -0.8553892164625347E-01 + -0.8537254170907939E-01 + -0.8520638454051031E-01 + -0.8504045038808998E-01 + -0.8487473949915652E-01 + -0.8470925212240426E-01 + -0.8454398850709833E-01 + -0.8437894891191171E-01 + -0.8421413362365522E-01 + -0.8404954293404360E-01 + -0.8388517710895018E-01 + -0.8372103637451566E-01 + -0.8355712095450867E-01 + -0.8339343108828434E-01 + -0.8322996702792949E-01 + -0.8306672903098372E-01 + -0.8290371738990217E-01 + -0.8274093241203897E-01 + -0.8257837439657813E-01 + -0.8241604361494849E-01 + -0.8225394033242777E-01 + -0.8209206478187610E-01 + -0.8193041714128178E-01 + -0.8176899758888519E-01 + -0.8160780640810426E-01 + -0.8144684397667406E-01 + -0.8128611065794644E-01 + -0.8112560667592044E-01 + -0.8096533218909761E-01 + -0.8080528738571758E-01 + -0.8064547256608305E-01 + -0.8048588805622574E-01 + -0.8032653413704416E-01 + -0.8016741100519553E-01 + -0.8000851884985600E-01 + -0.7984985789808059E-01 + -0.7969142841423096E-01 + -0.7953323065941071E-01 + -0.7937526485162303E-01 + -0.7921753118651069E-01 + -0.7906002987578580E-01 + -0.7890276119845405E-01 + -0.7874572545078290E-01 + -0.7858892289123769E-01 + -0.7843235370038211E-01 + -0.7827601805078539E-01 + -0.7811991615699780E-01 + -0.7796404827898118E-01 + -0.7780841467714607E-01 + -0.7765301559321841E-01 + -0.7749785125824859E-01 + -0.7734292190823978E-01 + -0.7718822780244519E-01 + -0.7703376920675542E-01 + -0.7687954635705853E-01 + -0.7672555942087764E-01 + -0.7657180855888114E-01 + -0.7641829401478196E-01 + -0.7626501613097724E-01 + -0.7611197524360243E-01 + -0.7595917155219928E-01 + -0.7580660517012055E-01 + -0.7565427623962999E-01 + -0.7550218505889699E-01 + -0.7535033197610757E-01 + -0.7519871729133948E-01 + -0.7504734118321461E-01 + -0.7489620381262563E-01 + -0.7474530538300711E-01 + -0.7459464615334738E-01 + -0.7444422638581669E-01 + -0.7429404633454164E-01 + -0.7414410624808410E-01 + -0.7399440636985847E-01 + -0.7384494691401291E-01 + -0.7369572808431231E-01 + -0.7354675010559580E-01 + -0.7339801326154648E-01 + -0.7324951784527769E-01 + -0.7310126410832720E-01 + -0.7295325224248710E-01 + -0.7280548243587606E-01 + -0.7265795489021354E-01 + -0.7251066981761623E-01 + -0.7236362744162873E-01 + -0.7221682805729924E-01 + -0.7207027198801429E-01 + -0.7192395952421524E-01 + -0.7177789085363378E-01 + -0.7163206614470054E-01 + -0.7148648560059908E-01 + -0.7134114947942390E-01 + -0.7119605804372196E-01 + -0.7105121154816965E-01 + -0.7090661024084866E-01 + -0.7076225436671858E-01 + -0.7061814414932810E-01 + -0.7047427980287456E-01 + -0.7033066155049996E-01 + -0.7018728964625142E-01 + -0.7004416435070727E-01 + -0.6990128590834807E-01 + -0.6975865453557586E-01 + -0.6961627044697789E-01 + -0.6947413387627343E-01 + -0.6933224507482972E-01 + -0.6919060429465183E-01 + -0.6904921178708810E-01 + -0.6890806780320568E-01 + -0.6876717258830584E-01 + -0.6862652636533621E-01 + -0.6848612935199582E-01 + -0.6834598177589207E-01 + -0.6820608388361188E-01 + -0.6806643592424301E-01 + -0.6792703815378958E-01 + -0.6778789083525904E-01 + -0.6764899422615095E-01 + -0.6751034853033257E-01 + -0.6737195392300210E-01 + -0.6723381059937539E-01 + -0.6709591884147679E-01 + -0.6695827895443385E-01 + -0.6682089120880365E-01 + -0.6668375580172315E-01 + -0.6654687292310594E-01 + -0.6641024282221673E-01 + -0.6627386581435060E-01 + -0.6613774220715576E-01 + -0.6600187219288398E-01 + -0.6586625589574403E-01 + -0.6573089347126222E-01 + -0.6559578522862863E-01 + -0.6546093152270450E-01 + -0.6532633265271980E-01 + -0.6519198878723868E-01 + -0.6505790007827056E-01 + -0.6492406675078009E-01 + -0.6479048911890509E-01 + -0.6465716749461299E-01 + -0.6452410209973291E-01 + -0.6439129309756536E-01 + -0.6425874066833491E-01 + -0.6412644508754082E-01 + -0.6399440666226477E-01 + -0.6386262567342788E-01 + -0.6373110233376539E-01 + -0.6359983684576292E-01 + -0.6346882943909339E-01 + -0.6333808037994213E-01 + -0.6320758993480292E-01 + -0.6307735833903204E-01 + -0.6294738580574975E-01 + -0.6281767255344955E-01 + -0.6268821883519258E-01 + -0.6255902491679526E-01 + -0.6243009105271189E-01 + -0.6230141746443927E-01 + -0.6217300436792135E-01 + -0.6204485199562775E-01 + -0.6191696060442611E-01 + -0.6178933045264595E-01 + -0.6166196178992620E-01 + -0.6153485485909092E-01 + -0.6140800990501163E-01 + -0.6128142718704445E-01 + -0.6115510697049333E-01 + -0.6102904950556416E-01 + -0.6090325499386759E-01 + -0.6077772362764459E-01 + -0.6065245562084770E-01 + -0.6052745122272588E-01 + -0.6040271068706705E-01 + -0.6027823428989461E-01 + -0.6015402232644224E-01 + -0.6003007508189383E-01 + -0.5990639276126320E-01 + -0.5978297553337808E-01 + -0.5965982359474049E-01 + -0.5953693724109947E-01 + -0.5941431678984323E-01 + -0.5929196250776246E-01 + -0.5916987457087004E-01 + -0.5904805314902718E-01 + -0.5892649848065011E-01 + -0.5880521086918207E-01 + -0.5868419061425581E-01 + -0.5856343796140049E-01 + -0.5844295312917223E-01 + -0.5832273633600947E-01 + -0.5820278780053505E-01 + -0.5808310774166195E-01 + -0.5796369640544272E-01 + -0.5784455409155417E-01 + -0.5772568110346542E-01 + -0.5760707768058242E-01 + -0.5748874399556643E-01 + -0.5737068022696227E-01 + -0.5725288663826401E-01 + -0.5713536353979083E-01 + -0.5701811122599442E-01 + -0.5690112991863834E-01 + -0.5678441981954708E-01 + -0.5666798115466191E-01 + -0.5655181420257911E-01 + -0.5643591924712760E-01 + -0.5632029651891617E-01 + -0.5620494618764052E-01 + -0.5608986842958165E-01 + -0.5597506352712074E-01 + -0.5586053182708797E-01 + -0.5574627365314457E-01 + -0.5563228920979878E-01 + -0.5551857866501090E-01 + -0.5540514221682503E-01 + -0.5529198013602733E-01 + -0.5517909270353016E-01 + -0.5506648017432340E-01 + -0.5495414277078150E-01 + -0.5484208071444825E-01 + -0.5473029424152315E-01 + -0.5461878359802075E-01 + -0.5450754903796732E-01 + -0.5439659085818267E-01 + -0.5428590937011268E-01 + -0.5417550484175316E-01 + -0.5406537742445376E-01 + -0.5395552725224908E-01 + -0.5384595454985700E-01 + -0.5373665966734009E-01 + -0.5362764295637778E-01 + -0.5351890466152321E-01 + -0.5341044494857728E-01 + -0.5330226399504818E-01 + -0.5319436206148497E-01 + -0.5308673943999223E-01 + -0.5297939640001463E-01 + -0.5287233314322841E-01 + -0.5276554985996079E-01 + -0.5265904680736399E-01 + -0.5255282434418874E-01 + -0.5244688282836401E-01 + -0.5234122246567892E-01 + -0.5223584333895889E-01 + -0.5213074555842400E-01 + -0.5202592944705412E-01 + -0.5192139541739069E-01 + -0.5181714382291959E-01 + -0.5171317482040142E-01 + -0.5160948852697011E-01 + -0.5150608513438636E-01 + -0.5140296495937245E-01 + -0.5130012832728397E-01 + -0.5119757550039038E-01 + -0.5109530668494385E-01 + -0.5099332209110285E-01 + -0.5089162197393308E-01 + -0.5079020660943768E-01 + -0.5068907626388274E-01 + -0.5058823116704529E-01 + -0.5048767154047459E-01 + -0.5038739761910501E-01 + -0.5028740966253682E-01 + -0.5018770793307691E-01 + -0.5008829269272173E-01 + -0.4998916420316616E-01 + -0.4989032272350614E-01 + -0.4979176848986626E-01 + -0.4969350172658666E-01 + -0.4959552266510913E-01 + -0.4949783156625061E-01 + -0.4940042869834596E-01 + -0.4930331432040152E-01 + -0.4920648867234151E-01 + -0.4910995199132690E-01 + -0.4901370450178048E-01 + -0.4891774641447232E-01 + -0.4882207794816037E-01 + -0.4872669940619160E-01 + -0.4863161113993159E-01 + -0.4853681346992135E-01 + -0.4844230657293494E-01 + -0.4834809058494233E-01 + -0.4825416569418183E-01 + -0.4816053220660816E-01 + -0.4806719044298689E-01 + -0.4797414068100017E-01 + -0.4788138314760333E-01 + -0.4778891806644302E-01 + -0.4769674565624265E-01 + -0.4760486613266591E-01 + -0.4751327972857394E-01 + -0.4742198676448767E-01 + -0.4733098758871029E-01 + -0.4724028249839102E-01 + -0.4714987166293957E-01 + -0.4705975523353327E-01 + -0.4696993341282175E-01 + -0.4688040647002827E-01 + -0.4679117468007648E-01 + -0.4670223833335110E-01 + -0.4661359773089822E-01 + -0.4652525315962119E-01 + -0.4643720482443074E-01 + -0.4634945290136545E-01 + -0.4626199760205353E-01 + -0.4617483923656980E-01 + -0.4608797813068644E-01 + -0.4600141454980036E-01 + -0.4591514867340123E-01 + -0.4582918067973516E-01 + -0.4574351082416840E-01 + -0.4565813942042071E-01 + -0.4557306677460674E-01 + -0.4548829313485740E-01 + -0.4540381872663414E-01 + -0.4531964377573877E-01 + -0.4523576850908554E-01 + -0.4515219315433948E-01 + -0.4506891796998829E-01 + -0.4498594326272746E-01 + -0.4490326933982790E-01 + -0.4482089644616369E-01 + -0.4473882477474194E-01 + -0.4465705452330529E-01 + -0.4457558593434507E-01 + -0.4449441926979235E-01 + -0.4441355480232254E-01 + -0.4433299284086958E-01 + -0.4425273370141710E-01 + -0.4417277763802521E-01 + -0.4409312479794534E-01 + -0.4401377532379785E-01 + -0.4393472947483794E-01 + -0.4385598761686198E-01 + -0.4377755010338992E-01 + -0.4369941715774498E-01 + -0.4362158894083221E-01 + -0.4354406564315423E-01 + -0.4346684756922453E-01 + -0.4338993505030585E-01 + -0.4331332836999552E-01 + -0.4323702772119048E-01 + -0.4316103328872304E-01 + -0.4308534530518668E-01 + -0.4300996405109326E-01 + -0.4293488980691885E-01 + -0.4286012283336978E-01 + -0.4278566338071394E-01 + -0.4271151170403275E-01 + -0.4263766807900613E-01 + -0.4256413278665856E-01 + -0.4249090608118520E-01 + -0.4241798816038272E-01 + -0.4234537921685229E-01 + -0.4227307949531300E-01 + -0.4220108929791443E-01 + -0.4212940892751039E-01 + -0.4205803866326205E-01 + -0.4198697877052699E-01 + -0.4191622950576302E-01 + -0.4184579108399262E-01 + -0.4177566370812585E-01 + -0.4170584760096089E-01 + -0.4163634303142257E-01 + -0.4156715027490000E-01 + -0.4149826960263927E-01 + -0.4142970128085615E-01 + -0.4136144557386085E-01 + -0.4129350272673285E-01 + -0.4122587297220257E-01 + -0.4115855654723319E-01 + -0.4109155371193047E-01 + -0.4102486473403435E-01 + -0.4095848988197487E-01 + -0.4089242942583560E-01 + -0.4082668363557419E-01 + -0.4076125276286851E-01 + -0.4069613703505056E-01 + -0.4063133668066949E-01 + -0.4056685196613399E-01 + -0.4050268318466716E-01 + -0.4043883061706627E-01 + -0.4037529446740255E-01 + -0.4031207491186980E-01 + -0.4024917216909969E-01 + -0.4018658657885474E-01 + -0.4012431850107083E-01 + -0.4006236822455472E-01 + -0.4000073593397229E-01 + -0.3993942180990153E-01 + -0.3987842609628649E-01 + -0.3981774908639415E-01 + -0.3975739106818738E-01 + -0.3969735228579662E-01 + -0.3963763296568845E-01 + -0.3957823334390193E-01 + -0.3951915368687501E-01 + -0.3946039426707879E-01 + -0.3940195535495052E-01 + -0.3934383721760870E-01 + -0.3928604012127016E-01 + -0.3922856432055118E-01 + -0.3917141006015598E-01 + -0.3911457758338734E-01 + -0.3905806712524218E-01 + -0.3900187891703249E-01 + -0.3894601320436690E-01 + -0.3889047028321210E-01 + -0.3883525046043470E-01 + -0.3878035401938632E-01 + -0.3872578120161618E-01 + -0.3867153224406757E-01 + -0.3861760737637042E-01 + -0.3856400682128627E-01 + -0.3851073081021842E-01 + -0.3845777964801074E-01 + -0.3840515367584034E-01 + -0.3835285317761144E-01 + -0.3830087821098761E-01 + -0.3824922877578846E-01 + -0.3819790459222541E-01 + -0.3814690483319456E-01 + -0.3809622860983516E-01 + -0.3804587508801994E-01 + -0.3799584349011865E-01 + -0.3794613303877981E-01 + -0.3789674293946698E-01 + -0.3784767238801223E-01 + -0.3779892058183612E-01 + -0.3775048672765391E-01 + -0.3770237003427650E-01 + -0.3765456970393578E-01 + -0.3760708492529590E-01 + -0.3755991488511687E-01 + -0.3751305878039131E-01 + -0.3746651581978639E-01 + -0.3742028521092071E-01 + -0.3737436614877038E-01 + -0.3732875782048289E-01 + -0.3728345941444802E-01 + -0.3723847012783513E-01 + -0.3719378916007655E-01 + -0.3714941570633056E-01 + -0.3710534895232097E-01 + -0.3706158808212933E-01 + -0.3701813228748376E-01 + -0.3697498076977607E-01 + -0.3693213272955672E-01 + -0.3688958735579715E-01 + -0.3684734382961050E-01 + -0.3680540133307997E-01 + -0.3676375905683504E-01 + -0.3672241619401300E-01 + -0.3668137193372545E-01 + -0.3664062545534394E-01 + -0.3660017593634906E-01 + -0.3656002256190259E-01 + -0.3652016452789427E-01 + -0.3648060102950606E-01 + -0.3644133124818143E-01 + -0.3640235435520315E-01 + -0.3636366952318346E-01 + -0.3632527593706731E-01 + -0.3628717278607417E-01 + -0.3624935925631823E-01 + -0.3621183452585370E-01 + -0.3617459777081424E-01 + -0.3613764816812084E-01 + -0.3610098489617132E-01 + -0.3606460713285880E-01 + -0.3602851405390212E-01 + -0.3599270483316496E-01 + -0.3595717864469694E-01 + -0.3592193466738729E-01 + -0.3588697208180669E-01 + -0.3585229006619901E-01 + -0.3581788779246581E-01 + -0.3578376443077692E-01 + -0.3574991915222095E-01 + -0.3571635112978816E-01 + -0.3568305953590311E-01 + -0.3565004353825236E-01 + -0.3561730230028581E-01 + -0.3558483498618354E-01 + -0.3555264077046658E-01 + -0.3552071883211270E-01 + -0.3548906834644014E-01 + -0.3545768847684147E-01 + -0.3542657838357147E-01 + -0.3539573722843073E-01 + -0.3536516417652186E-01 + -0.3533485839284196E-01 + -0.3530481904299903E-01 + -0.3527504529317191E-01 + -0.3524553630865297E-01 + -0.3521629125106401E-01 + -0.3518730927987679E-01 + -0.3515858955506943E-01 + -0.3513013124048119E-01 + -0.3510193350048090E-01 + -0.3507399549566667E-01 + -0.3504631637961302E-01 + -0.3501889530477645E-01 + -0.3499173142903470E-01 + -0.3496482391605383E-01 + -0.3493817192875668E-01 + -0.3491177462484379E-01 + -0.3488563115883231E-01 + -0.3485974068403588E-01 + -0.3483410235048121E-01 + -0.3480871530687074E-01 + -0.3478357870499766E-01 + -0.3475869170425241E-01 + -0.3473405346435432E-01 + -0.3470966313811546E-01 + -0.3468551987039023E-01 + -0.3466162280562152E-01 + -0.3463797109406773E-01 + -0.3461456388936746E-01 + -0.3459140034368908E-01 + -0.3456847960380476E-01 + -0.3454580081440228E-01 + -0.3452336312142912E-01 + -0.3450116567478545E-01 + -0.3447920762437727E-01 + -0.3445748811545916E-01 + -0.3443600628748755E-01 + -0.3441476127943511E-01 + -0.3439375223513422E-01 + -0.3437297830154477E-01 + -0.3435243862437194E-01 + -0.3433213234450903E-01 + -0.3431205860079723E-01 + -0.3429221653271334E-01 + -0.3427260528247466E-01 + -0.3425322399226500E-01 + -0.3423407180262949E-01 + -0.3421514785203891E-01 + -0.3419645127807063E-01 + -0.3417798121475657E-01 + -0.3415973679332815E-01 + -0.3414171714576111E-01 + -0.3412392141208697E-01 + -0.3410634873510734E-01 + -0.3408899825394020E-01 + -0.3407186909765134E-01 + -0.3405496039300305E-01 + -0.3403827127012726E-01 + -0.3402180086469486E-01 + -0.3400554831214741E-01 + -0.3398951274431172E-01 + -0.3397369328993708E-01 + -0.3395808907724736E-01 + -0.3394269923475987E-01 + -0.3392752289079041E-01 + -0.3391255917315120E-01 + -0.3389780720931252E-01 + -0.3388326612620796E-01 + -0.3386893504924016E-01 + -0.3385481310160398E-01 + -0.3384089940603863E-01 + -0.3382719309009316E-01 + -0.3381369328561351E-01 + -0.3380039912266004E-01 + -0.3378730971973383E-01 + -0.3377442418954602E-01 + -0.3376174164683629E-01 + -0.3374926121568974E-01 + -0.3373698202192696E-01 + -0.3372490318813592E-01 + -0.3371302383132409E-01 + -0.3370134306751595E-01 + -0.3368986001546028E-01 + -0.3367857379660947E-01 + -0.3366748353143996E-01 + -0.3365658833500695E-01 + -0.3364588731925040E-01 + -0.3363537959590651E-01 + -0.3362506427778796E-01 + -0.3361494047758305E-01 + -0.3360500731018845E-01 + -0.3359526389570782E-01 + -0.3358570935410427E-01 + -0.3357634279690334E-01 + -0.3356716332647348E-01 + -0.3355817004501918E-01 + -0.3354936206269978E-01 + -0.3354073849403203E-01 + -0.3353229845209414E-01 + -0.3352404104506382E-01 + -0.3351596537928362E-01 + -0.3350807056064036E-01 + -0.3350035569471910E-01 + -0.3349281988663291E-01 + -0.3348546224300963E-01 + -0.3347828187240771E-01 + -0.3347127788253906E-01 + -0.3346444937571672E-01 + -0.3345779545060674E-01 + -0.3345131520602525E-01 + -0.3344500774424856E-01 + -0.3343887216828516E-01 + -0.3343290757934889E-01 + -0.3342711307497022E-01 + -0.3342148775175238E-01 + -0.3341603071113988E-01 + -0.3341074106113968E-01 + -0.3340561790859468E-01 + -0.3340066034566572E-01 + -0.3339586745405068E-01 + -0.3339123831819716E-01 + -0.3338677204250884E-01 + -0.3338246773820770E-01 + -0.3337832450836338E-01 + -0.3337434143403992E-01 + -0.3337051759221187E-01 + -0.3336685207160844E-01 + -0.3336334397825487E-01 + -0.3335999241804924E-01 + -0.3335679648192726E-01 + -0.3335375524916140E-01 + -0.3335086779998906E-01 + -0.3334813322595781E-01 + -0.3334555062278998E-01 + -0.3334311908286753E-01 + -0.3334083768927667E-01 + -0.3333870552288821E-01 + -0.3333672166825292E-01 + -0.3333488521613411E-01 + -0.3333319525700265E-01 + -0.3333165087506898E-01 + -0.3333025114915323E-01 + -0.3332899515817697E-01 + -0.3332788198652620E-01 + -0.3332691072068519E-01 + -0.3332608044571303E-01 + -0.3332539024307766E-01 + -0.3332483919300505E-01 + -0.3332442637421966E-01 + -0.3332415086324229E-01 + -0.3332401173595431E-01 + -0.3332400806971011E-01 + -0.3332413894319481E-01 + -0.3332440343440954E-01 + -0.3332480061928366E-01 + -0.3332532957243992E-01 + -0.3332598936887449E-01 + -0.3332677908670990E-01 + -0.3332769780437289E-01 + -0.3332874459705985E-01 + -0.3332991853424233E-01 + -0.3333121868433306E-01 + -0.3333264411773079E-01 + -0.3333419390687672E-01 + -0.3333586712363787E-01 + -0.3333766283820841E-01 + -0.3333958011961538E-01 + -0.3334161803659341E-01 + -0.3334377565854679E-01 + -0.3334605205463348E-01 + -0.3334844629178673E-01 + -0.3335095743283081E-01 + -0.3335358453970597E-01 + -0.3335632667799740E-01 + -0.3335918291745281E-01 + -0.3336215232699280E-01 + -0.3336523396967408E-01 + -0.3336842690483045E-01 + -0.3337173019170199E-01 + -0.3337514289147880E-01 + -0.3337866406554179E-01 + -0.3338229277608689E-01 + -0.3338602808802463E-01 + -0.3338986906600926E-01 + -0.3339381476854624E-01 + -0.3339786424669073E-01 + -0.3340201655111017E-01 + -0.3340627073918903E-01 + -0.3341062587251683E-01 + -0.3341508101173051E-01 + -0.3341963521439796E-01 + -0.3342428753667419E-01 + -0.3342903703191704E-01 + -0.3343388274707754E-01 + -0.3343882372774431E-01 + -0.3344385902578786E-01 + -0.3344898770180072E-01 + -0.3345420881593108E-01 + -0.3345952142046895E-01 + -0.3346492456187770E-01 + -0.3347041728609073E-01 + -0.3347599863943950E-01 + -0.3348166766804333E-01 + -0.3348742341907054E-01 + -0.3349326494384242E-01 + -0.3349919129391177E-01 + -0.3350520151742791E-01 + -0.3351129465774550E-01 + -0.3351746975728950E-01 + -0.3352372585774811E-01 + -0.3353006200010618E-01 + -0.3353647722559556E-01 + -0.3354297058042238E-01 + -0.3354954111250548E-01 + -0.3355618786685593E-01 + -0.3356290988032718E-01 + -0.3356970618773707E-01 + -0.3357657582840543E-01 + -0.3358351784941323E-01 + -0.3359053129740705E-01 + -0.3359761520687514E-01 + -0.3360476860163910E-01 + -0.3361199050714551E-01 + -0.3361927996742559E-01 + -0.3362663603467502E-01 + -0.3363405775494180E-01 + -0.3364154415344061E-01 + -0.3364909425032513E-01 + -0.3365670707262656E-01 + -0.3366438166029007E-01 + -0.3367211705380147E-01 + -0.3367991228651259E-01 + -0.3368776638492342E-01 + -0.3369567837529987E-01 + -0.3370364728836631E-01 + -0.3371167215680910E-01 + -0.3371975201145895E-01 + -0.3372788587734839E-01 + -0.3373607277765114E-01 + -0.3374431173856621E-01 + -0.3375260179290700E-01 + -0.3376094197347584E-01 + -0.3376933130509994E-01 + -0.3377776880425279E-01 + -0.3378625348753961E-01 + -0.3379478438131104E-01 + -0.3380336051708186E-01 + -0.3381198092311530E-01 + -0.3382064461484373E-01 + -0.3382935060372971E-01 + -0.3383809790692209E-01 + -0.3384688555481355E-01 + -0.3385571257873055E-01 + -0.3386457799906253E-01 + -0.3387348082365857E-01 + -0.3388242005986533E-01 + -0.3389139472249702E-01 + -0.3390040383072043E-01 + -0.3390944640357078E-01 + -0.3391852146135371E-01 + -0.3392762802436556E-01 + -0.3393676510881167E-01 + -0.3394593172173220E-01 + -0.3395512686848831E-01 + -0.3396434956069539E-01 + -0.3397359881805895E-01 + -0.3398287365949755E-01 + -0.3399217309378324E-01 + -0.3400149612265674E-01 + -0.3401084174914443E-01 + -0.3402020898672747E-01 + -0.3402959685211920E-01 + -0.3403900435768365E-01 + -0.3404843050497560E-01 + -0.3405787429335706E-01 + -0.3406733472616129E-01 + -0.3407681081248876E-01 + -0.3408630156106863E-01 + -0.3409580597624156E-01 + -0.3410532305894392E-01 + -0.3411485180998030E-01 + -0.3412439123275110E-01 + -0.3413394033129807E-01 + -0.3414349810886347E-01 + -0.3415306356742880E-01 + -0.3416263570826874E-01 + -0.3417221353181488E-01 + -0.3418179603751174E-01 + -0.3419138222394822E-01 + -0.3420097108511358E-01 + -0.3421056161113949E-01 + -0.3422015279329252E-01 + -0.3422974363483514E-01 + -0.3423933314379682E-01 + -0.3424892032270390E-01 + -0.3425850415695806E-01 + -0.3426808362802961E-01 + -0.3427765772453755E-01 + -0.3428722544758255E-01 + -0.3429678579849694E-01 + -0.3430633776933665E-01 + -0.3431588034378581E-01 + -0.3432541250563515E-01 + -0.3433493324559112E-01 + -0.3434444155730554E-01 + -0.3435393643253196E-01 + -0.3436341685744221E-01 + -0.3437288181648854E-01 + -0.3438233029565190E-01 + -0.3439176128425822E-01 + -0.3440117377134247E-01 + -0.3441056674210429E-01 + -0.3441993917795899E-01 + -0.3442929006023112E-01 + -0.3443861837512113E-01 + -0.3444792311108453E-01 + -0.3445720325324246E-01 + -0.3446645777459701E-01 + -0.3447568564463274E-01 + -0.3448488583993883E-01 + -0.3449405735233055E-01 + -0.3450319917454089E-01 + -0.3451231028656105E-01 + -0.3452138965465348E-01 + -0.3453043624516994E-01 + -0.3453944903703524E-01 + -0.3454842701612662E-01 + -0.3455736916563063E-01 + -0.3456627445796239E-01 + -0.3457514186202521E-01 + -0.3458397034735958E-01 + -0.3459275888569172E-01 + -0.3460150644868467E-01 + -0.3461021201160347E-01 + -0.3461887455409867E-01 + -0.3462749305454922E-01 + -0.3463606647961407E-01 + -0.3464459378834757E-01 + -0.3465307394179545E-01 + -0.3466150591422446E-01 + -0.3466988868374470E-01 + -0.3467822122337199E-01 + -0.3468650249415506E-01 + -0.3469473145495674E-01 + -0.3470290707021145E-01 + -0.3471102831180162E-01 + -0.3471909415077535E-01 + -0.3472710354728696E-01 + -0.3473505545375274E-01 + -0.3474294882457301E-01 + -0.3475078262912612E-01 + -0.3475855584175766E-01 + -0.3476626743194684E-01 + -0.3477391635658358E-01 + -0.3478150156992432E-01 + -0.3478902202684178E-01 + -0.3479647668334463E-01 + -0.3480386449522337E-01 + -0.3481118442102512E-01 + -0.3481843542126530E-01 + -0.3482561645551606E-01 + -0.3483272647998652E-01 + -0.3483976444920857E-01 + -0.3484672931701904E-01 + -0.3485362003631635E-01 + -0.3486043555939125E-01 + -0.3486717484035002E-01 + -0.3487383683649955E-01 + -0.3488042050448467E-01 + -0.3488692479315556E-01 + -0.3489334864473062E-01 + -0.3489969100188313E-01 + -0.3490595081549420E-01 + -0.3491212703971645E-01 + -0.3491821862690955E-01 + -0.3492422452459232E-01 + -0.3493014367878939E-01 + -0.3493597503498443E-01 + -0.3494171753814548E-01 + -0.3494737013282208E-01 + -0.3495293176599396E-01 + -0.3495840138683557E-01 + -0.3496377794309354E-01 + -0.3496906037419313E-01 + -0.3497424761523301E-01 + -0.3497933860221499E-01 + -0.3498433227634965E-01 + -0.3498922757966529E-01 + -0.3499402345401216E-01 + -0.3499871884142634E-01 + -0.3500331268341750E-01 + -0.3500780392000795E-01 + -0.3501219148972130E-01 + -0.3501647433011094E-01 + -0.3502065137492560E-01 + -0.3502472155561198E-01 + -0.3502868380480911E-01 + -0.3503253706222175E-01 + -0.3503628026899635E-01 + -0.3503991236068813E-01 + -0.3504343226164317E-01 + -0.3504683889461862E-01 + -0.3505013119149283E-01 + -0.3505330809435078E-01 + -0.3505636854404237E-01 + -0.3505931146818778E-01 + -0.3506213578637329E-01 + -0.3506484041991183E-01 + -0.3506742430099468E-01 + -0.3506988636463871E-01 + -0.3507222554194983E-01 + -0.3507444075563344E-01 + -0.3507653092680395E-01 + -0.3507849497959217E-01 + -0.3508033184194162E-01 + -0.3508204044103271E-01 + -0.3508361969812651E-01 + -0.3508506853043958E-01 + -0.3508638585667701E-01 + -0.3508757060626766E-01 + -0.3508862171179819E-01 + -0.3508953809931930E-01 + -0.3509031867881393E-01 + -0.3509096235739322E-01 + -0.3509146804957397E-01 + -0.3509183468001551E-01 + -0.3509206117325103E-01 + -0.3509214644913816E-01 + -0.3509208942403142E-01 + -0.3509188901344313E-01 + -0.3509154413110108E-01 + -0.3509105368971306E-01 + -0.3509041660209722E-01 + -0.3508963178247543E-01 + -0.3508869814486053E-01 + -0.3508761460330020E-01 + -0.3508638007216757E-01 + -0.3508499346500818E-01 + -0.3508345368976911E-01 + -0.3508175964987758E-01 + -0.3507991024926824E-01 + -0.3507790439921572E-01 + -0.3507574101364733E-01 + -0.3507341900500227E-01 + -0.3507093728218472E-01 + -0.3506829475290016E-01 + -0.3506549032202869E-01 + -0.3506252289021727E-01 + -0.3505939135736930E-01 + -0.3505609462584001E-01 + -0.3505263160002117E-01 + -0.3504900118435572E-01 + -0.3504520228673560E-01 + -0.3504123381629526E-01 + -0.3503709467794547E-01 + -0.3503278376298257E-01 + -0.3502829995930962E-01 + -0.3502364216248282E-01 + -0.3501880928222792E-01 + -0.3501380022877478E-01 + -0.3500861390219157E-01 + -0.3500324919288445E-01 + -0.3499770499075789E-01 + -0.3499198018877966E-01 + -0.3498607368115615E-01 + -0.3497998436283401E-01 + -0.3497371113335346E-01 + -0.3496725289293201E-01 + -0.3496060853711805E-01 + -0.3495377695279056E-01 + -0.3494675702547681E-01 + -0.3493954764449203E-01 + -0.3493214770311881E-01 + -0.3492455609426192E-01 + -0.3491677171010412E-01 + -0.3490879344217257E-01 + -0.3490062018016633E-01 + -0.3489225080767132E-01 + -0.3488368420618074E-01 + -0.3487491925941201E-01 + -0.3486595485662474E-01 + -0.3485678988720886E-01 + -0.3484742323691943E-01 + -0.3483785378743691E-01 + -0.3482808041998933E-01 + -0.3481810201860705E-01 + -0.3480791746879455E-01 + -0.3479752565492965E-01 + -0.3478692545795190E-01 + -0.3477611575734447E-01 + -0.3476509543191219E-01 + -0.3475386335963756E-01 + -0.3474241841795905E-01 + -0.3473075948622157E-01 + -0.3471888544631330E-01 + -0.3470679517922672E-01 + -0.3469448755904150E-01 + -0.3468196145502783E-01 + -0.3466921573758577E-01 + -0.3465624928635213E-01 + -0.3464306098373380E-01 + -0.3462964970555268E-01 + -0.3461601431094707E-01 + -0.3460215365634304E-01 + -0.3458806662170360E-01 + -0.3457375211972669E-01 + -0.3455920905787559E-01 + -0.3454443624374910E-01 + -0.3452943241140358E-01 + -0.3451419644091394E-01 + -0.3449872812238317E-01 + -0.3448302759119587E-01 + -0.3446709504933410E-01 + -0.3445093089456134E-01 + -0.3443453556060621E-01 + -0.3441790945383600E-01 + -0.3440105293888731E-01 + -0.3438396637781914E-01 + -0.3436665014393898E-01 + -0.3434910461969003E-01 + -0.3433133018714537E-01 + -0.3431332722254642E-01 + -0.3429509609983372E-01 + -0.3427663719428475E-01 + -0.3425795088502984E-01 + -0.3423903755220068E-01 + -0.3421989757613335E-01 + -0.3420053133732945E-01 + -0.3418093921641335E-01 + -0.3416112159184794E-01 + -0.3414107884020703E-01 + -0.3412081133884031E-01 + -0.3410031946991865E-01 + -0.3407960361799496E-01 + -0.3405866416565449E-01 + -0.3403750148749659E-01 + -0.3401611595654068E-01 + -0.3399450795204961E-01 + -0.3397267786458598E-01 + -0.3395062608588609E-01 + -0.3392835300176806E-01 + -0.3390585899228698E-01 + -0.3388314443727250E-01 + -0.3386020971477796E-01 + -0.3383705520206917E-01 + -0.3381368127894468E-01 + -0.3379008833482017E-01 + -0.3376627676173628E-01 + -0.3374224694688776E-01 + -0.3371799926732924E-01 + -0.3369353409941214E-01 + -0.3366885182768834E-01 + -0.3364395284547239E-01 + -0.3361883754579706E-01 + -0.3359350631252371E-01 + -0.3356795952442738E-01 + -0.3354219756193204E-01 + -0.3351622081235314E-01 + -0.3349002966515883E-01 + -0.3346362451006448E-01 + -0.3343700573701324E-01 + -0.3341017373606859E-01 + -0.3338312889325920E-01 + -0.3335587158982150E-01 + -0.3332840220774628E-01 + -0.3330072113803133E-01 + -0.3327282877739731E-01 + -0.3324472552103984E-01 + -0.3321641175488745E-01 + -0.3318788786210785E-01 + -0.3315915422779929E-01 + -0.3313021124149058E-01 + -0.3310105929361491E-01 + -0.3307169877508196E-01 + -0.3304213007734135E-01 + -0.3301235359227611E-01 + -0.3298236971398793E-01 + -0.3295217883818514E-01 + -0.3292178135919985E-01 + -0.3289117766216845E-01 + -0.3286036812915593E-01 + -0.3282935314676690E-01 + -0.3279813311370876E-01 + -0.3276670843089915E-01 + -0.3273507949562307E-01 + -0.3270324669989114E-01 + -0.3267121043545540E-01 + -0.3263897109292929E-01 + -0.3260652906212821E-01 + -0.3257388473393007E-01 + -0.3254103850474293E-01 + -0.3250799077329709E-01 + -0.3247474193731430E-01 + -0.3244129239086410E-01 + -0.3240764252754823E-01 + -0.3237379274251377E-01 + -0.3233974343317813E-01 + -0.3230549499714476E-01 + -0.3227104782808261E-01 + -0.3223640231643495E-01 + -0.3220155885427370E-01 + -0.3216651784443458E-01 + -0.3213127969456677E-01 + -0.3209584480834526E-01 + -0.3206021357518035E-01 + -0.3202438638173741E-01 + -0.3198836362270048E-01 + -0.3195214570638345E-01 + -0.3191573304217892E-01 + -0.3187912602978132E-01 + -0.3184232506005486E-01 + -0.3180533052445334E-01 + -0.3176814282001272E-01 + -0.3173076234657927E-01 + -0.3169318950601074E-01 + -0.3165542470702003E-01 + -0.3161746836008155E-01 + -0.3157932086827141E-01 + -0.3154098262037270E-01 + -0.3150245400431557E-01 + -0.3146373542030487E-01 + -0.3142482728085158E-01 + -0.3138572999818439E-01 + -0.3134644397513999E-01 + -0.3130696960970735E-01 + -0.3126730730040111E-01 + -0.3122745744732629E-01 + -0.3118742045121242E-01 + -0.3114719671539117E-01 + -0.3110678664836819E-01 + -0.3106619065937613E-01 + -0.3102540915368099E-01 + -0.3098444253215344E-01 + -0.3094329119596844E-01 + -0.3090195554946851E-01 + -0.3086043599895243E-01 + -0.3081873295125067E-01 + -0.3077684681463582E-01 + -0.3073477799797635E-01 + -0.3069252690710316E-01 + -0.3065009394045691E-01 + -0.3060747949593869E-01 + -0.3056468398124986E-01 + -0.3052170781589511E-01 + -0.3047855141896582E-01 + -0.3043521519397951E-01 + -0.3039169953453604E-01 + -0.3034800483773643E-01 + -0.3030413151890298E-01 + -0.3026007999949433E-01 + -0.3021585069604861E-01 + -0.3017144401203520E-01 + -0.3012686034913433E-01 + -0.3008210011196611E-01 + -0.3003716370897518E-01 + -0.2999205154938917E-01 + -0.2994676404635630E-01 + -0.2990130161587437E-01 + -0.2985566467331253E-01 + -0.2980985362875241E-01 + -0.2976386889051614E-01 + -0.2971771086788977E-01 + -0.2967137997243722E-01 + -0.2962487661631010E-01 + -0.2957820121044495E-01 + -0.2953135416388099E-01 + -0.2948433588617600E-01 + -0.2943714679371171E-01 + -0.2938978730823458E-01 + -0.2934225784986317E-01 + -0.2929455882568138E-01 + -0.2924669063766724E-01 + -0.2919865369256672E-01 + -0.2915044841172616E-01 + -0.2910207521949371E-01 + -0.2905353453425107E-01 + -0.2900482676461547E-01 + -0.2895595231886473E-01 + -0.2890691161102055E-01 + -0.2885770506005181E-01 + -0.2880833308526665E-01 + -0.2875879610570369E-01 + -0.2870909454042546E-01 + -0.2865922880737850E-01 + -0.2860919931992330E-01 + -0.2855900649063166E-01 + -0.2850865073419151E-01 + -0.2845813246884476E-01 + -0.2840745211337037E-01 + -0.2835661008555573E-01 + -0.2830560680227339E-01 + -0.2825444268095283E-01 + -0.2820311814212857E-01 + -0.2815163360799914E-01 + -0.2809998950041553E-01 + -0.2804818623906238E-01 + -0.2799622424328208E-01 + -0.2794410393195342E-01 + -0.2789182572280000E-01 + -0.2783939003365059E-01 + -0.2778679728287508E-01 + -0.2773404788939390E-01 + -0.2768114227318523E-01 + -0.2762808086182850E-01 + -0.2757486408716478E-01 + -0.2752149237756916E-01 + -0.2746796614520051E-01 + -0.2741428579800969E-01 + -0.2736045175158238E-01 + -0.2730646443771541E-01 + -0.2725232429030731E-01 + -0.2719803173647540E-01 + -0.2714358719562212E-01 + -0.2708899108700181E-01 + -0.2703424383038819E-01 + -0.2697934584596975E-01 + -0.2692429755608499E-01 + -0.2686909939254433E-01 + -0.2681375179020467E-01 + -0.2675825517905657E-01 + -0.2670260997708434E-01 + -0.2664681660089802E-01 + -0.2659087547320771E-01 + -0.2653478702425330E-01 + -0.2647855168446255E-01 + -0.2642216987817817E-01 + -0.2636564202580484E-01 + -0.2630896855016750E-01 + -0.2625214988651823E-01 + -0.2619518647447343E-01 + -0.2613807874754355E-01 + -0.2608082712261219E-01 + -0.2602343201427102E-01 + -0.2596589384702601E-01 + -0.2590821305885437E-01 + -0.2585039008811315E-01 + -0.2579242536192628E-01 + -0.2573431929931292E-01 + -0.2567607232176287E-01 + -0.2561768486562714E-01 + -0.2555915737299538E-01 + -0.2550049028180806E-01 + -0.2544168401725921E-01 + -0.2538273900246976E-01 + -0.2532365566361519E-01 + -0.2526443443134071E-01 + -0.2520507573698115E-01 + -0.2514558001346052E-01 + -0.2508594769502639E-01 + -0.2502617921573408E-01 + -0.2496627500662972E-01 + -0.2490623549765775E-01 + -0.2484606112014876E-01 + -0.2478575230939623E-01 + -0.2472530950168525E-01 + -0.2466473313181955E-01 + -0.2460402363197857E-01 + -0.2454318143437563E-01 + -0.2448220697235718E-01 + -0.2442110068029693E-01 + -0.2435986299269120E-01 + -0.2429849434306509E-01 + -0.2423699516463467E-01 + -0.2417536589198993E-01 + -0.2411360696405149E-01 + -0.2405171882089171E-01 + -0.2398970189949299E-01 + -0.2392755663098221E-01 + -0.2386528344630927E-01 + -0.2380288278142326E-01 + -0.2374035507710893E-01 + -0.2367770077431035E-01 + -0.2361492031177482E-01 + -0.2355201412725880E-01 + -0.2348898265776179E-01 + -0.2342582633646754E-01 + -0.2336254559581932E-01 + -0.2329914087343374E-01 + -0.2323561261709694E-01 + -0.2317196127566742E-01 + -0.2310818728852558E-01 + -0.2304429108498402E-01 + -0.2298027309523154E-01 + -0.2291613376056068E-01 + -0.2285187352860834E-01 + -0.2278749284522661E-01 + -0.2272299214698482E-01 + -0.2265837186803535E-01 + -0.2259363244687584E-01 + -0.2252877433137151E-01 + -0.2246379797061076E-01 + -0.2239870380570561E-01 + -0.2233349226843280E-01 + -0.2226816379149233E-01 + -0.2220271882113744E-01 + -0.2213715781210087E-01 + -0.2207148121646703E-01 + -0.2200568947131351E-01 + -0.2193978300919397E-01 + -0.2187376226807478E-01 + -0.2180762769890384E-01 + -0.2174137975460551E-01 + -0.2167501888044335E-01 + -0.2160854551180109E-01 + -0.2154196008449100E-01 + -0.2147526304506472E-01 + -0.2140845484746692E-01 + -0.2134153594392610E-01 + -0.2127450677505673E-01 + -0.2120736777759228E-01 + -0.2114011939247146E-01 + -0.2107276207170453E-01 + -0.2100529626930045E-01 + -0.2093772243520325E-01 + -0.2087004101352942E-01 + -0.2080225244828199E-01 + -0.2073435718498505E-01 + -0.2066635567036559E-01 + -0.2059824835160215E-01 + -0.2053003567720996E-01 + -0.2046171809638010E-01 + -0.2039329605931123E-01 + -0.2032477001873406E-01 + -0.2025614042797185E-01 + -0.2018740773486441E-01 + -0.2011857237861757E-01 + -0.2004963479859304E-01 + -0.1998059544547093E-01 + -0.1991145477929085E-01 + -0.1984221325890204E-01 + -0.1977287133131195E-01 + -0.1970342943859424E-01 + -0.1963388802651247E-01 + -0.1956424755275487E-01 + -0.1949450847766834E-01 + -0.1942467125705522E-01 + -0.1935473633878294E-01 + -0.1928470417018349E-01 + -0.1921457519903278E-01 + -0.1914434987353279E-01 + -0.1907402864312289E-01 + -0.1900361196520332E-01 + -0.1893310030108767E-01 + -0.1886249411018731E-01 + -0.1879179384396361E-01 + -0.1872099995220404E-01 + -0.1865011288476078E-01 + -0.1857913309138439E-01 + -0.1850806102235138E-01 + -0.1843689713525127E-01 + -0.1836564189493711E-01 + -0.1829429576541228E-01 + -0.1822285919839294E-01 + -0.1815133263927871E-01 + -0.1807971653646670E-01 + -0.1800801135034246E-01 + -0.1793621754459638E-01 + -0.1786433557950216E-01 + -0.1779236590795952E-01 + -0.1772030898228219E-01 + -0.1764816525799931E-01 + -0.1757593519412406E-01 + -0.1750361925002830E-01 + -0.1743121788472726E-01 + -0.1735873155713796E-01 + -0.1728616072609786E-01 + -0.1721350584915466E-01 + -0.1714076738365909E-01 + -0.1706794578661063E-01 + -0.1699504151387461E-01 + -0.1692205502152435E-01 + -0.1684898677071627E-01 + -0.1677583722864777E-01 + -0.1670260686225133E-01 + -0.1662929612884420E-01 + -0.1655590547971634E-01 + -0.1648243536881064E-01 + -0.1640888626333231E-01 + -0.1633525863494719E-01 + -0.1626155294946425E-01 + -0.1618776965739413E-01 + -0.1611390920733482E-01 + -0.1603997205904402E-01 + -0.1596595868689635E-01 + -0.1589186956568807E-01 + -0.1581770515979572E-01 + -0.1574346592637393E-01 + -0.1566915232264424E-01 + -0.1559476480589297E-01 + -0.1552030383359663E-01 + -0.1544576986818952E-01 + -0.1537116338562833E-01 + -0.1529648486421704E-01 + -0.1522173477066773E-01 + -0.1514691355478666E-01 + -0.1507202166624106E-01 + -0.1499705956926018E-01 + -0.1492202773934730E-01 + -0.1484692665128693E-01 + -0.1477175677192934E-01 + -0.1469651856510994E-01 + -0.1462121249473565E-01 + -0.1454583902442306E-01 + -0.1447039861795554E-01 + -0.1439489174062220E-01 + -0.1431931885996172E-01 + -0.1424368044393607E-01 + -0.1416797696058271E-01 + -0.1409220887804237E-01 + -0.1401637666452812E-01 + -0.1394048078720751E-01 + -0.1386452171292894E-01 + -0.1378849991042769E-01 + -0.1371241585439350E-01 + -0.1363627002093791E-01 + -0.1356006287976445E-01 + -0.1348379488912762E-01 + -0.1340746650682401E-01 + -0.1333107820056782E-01 + -0.1325463044731318E-01 + -0.1317812372402681E-01 + -0.1310155850313231E-01 + -0.1302493525496336E-01 + -0.1294825444990183E-01 + -0.1287151655784470E-01 + -0.1279472204876192E-01 + -0.1271787139273872E-01 + -0.1264096505984319E-01 + -0.1256400352042342E-01 + -0.1248698724644876E-01 + -0.1240991671153833E-01 + -0.1233279238973176E-01 + -0.1225561475626829E-01 + -0.1217838428715199E-01 + -0.1210110145724227E-01 + -0.1202376673557531E-01 + -0.1194638058981384E-01 + -0.1186894349069044E-01 + -0.1179145591521949E-01 + -0.1171391834138333E-01 + -0.1163633124556402E-01 + -0.1155869510231729E-01 + -0.1148101038601290E-01 + -0.1140327756782710E-01 + -0.1132549711713967E-01 + -0.1124766950560085E-01 + -0.1116979521496986E-01 + -0.1109187473021379E-01 + -0.1101390853235522E-01 + -0.1093589709272549E-01 + -0.1085784088158710E-01 + -0.1077974037352717E-01 + -0.1070159604840336E-01 + -0.1062340838616758E-01 + -0.1054517786143782E-01 + -0.1046690494542488E-01 + -0.1038859011159983E-01 + -0.1031023384482010E-01 + -0.1023183663391453E-01 + -0.1015339896306385E-01 + -0.1007492130383040E-01 + -0.9996404126054017E-02 + -0.9917847904594741E-02 + -0.9839253121024740E-02 + -0.9760620257552221E-02 + -0.9681949795580525E-02 + -0.9603242216003750E-02 + -0.9524497999506462E-02 + -0.9445717624343457E-02 + -0.9366901568027565E-02 + -0.9288050309613121E-02 + -0.9209164332164093E-02 + -0.9130244119636009E-02 + -0.9051290153930848E-02 + -0.8972302913765656E-02 + -0.8893282878028494E-02 + -0.8814230528967652E-02 + -0.8735146351546515E-02 + -0.8656030830617421E-02 + -0.8576884448374722E-02 + -0.8497707686068319E-02 + -0.8418501025120888E-02 + -0.8339264946960425E-02 + -0.8259999933248636E-02 + -0.8180706468054050E-02 + -0.8101385039230179E-02 + -0.8022036134901837E-02 + -0.7942660237784839E-02 + -0.7863257825918000E-02 + -0.7783829378491680E-02 + -0.7704375382967545E-02 + -0.7624896330714945E-02 + -0.7545392710703132E-02 + -0.7465865002525650E-02 + -0.7386313683929389E-02 + -0.7306739239436844E-02 + -0.7227142165618781E-02 + -0.7147522959949431E-02 + -0.7067882107527659E-02 + -0.6988220081627103E-02 + -0.6908537356718291E-02 + -0.6828834419659647E-02 + -0.6749111763673560E-02 + -0.6669369881939442E-02 + -0.6589609266510516E-02 + -0.6509830409322116E-02 + -0.6430033799029898E-02 + -0.6350219917492796E-02 + -0.6270389246160210E-02 + -0.6190542271193655E-02 + -0.6110679483691971E-02 + -0.6030801375155773E-02 + -0.5950908436627521E-02 + -0.5871001159008980E-02 + -0.5791080032733735E-02 + -0.5711145545286710E-02 + -0.5631198183520958E-02 + -0.5551238436725732E-02 + -0.5471266799255529E-02 + -0.5391283766170850E-02 + -0.5311289827008324E-02 + -0.5231285464891114E-02 + -0.5151271163833493E-02 + -0.5071247419059823E-02 + -0.4991214732758112E-02 + -0.4911173604317981E-02 + -0.4831124517698231E-02 + -0.4751067952253240E-02 + -0.4671004394109726E-02 + -0.4590934345566477E-02 + -0.4510858311325753E-02 + -0.4430776787673381E-02 + -0.4350690260154232E-02 + -0.4270599214379392E-02 + -0.4190504142693633E-02 + -0.4110405542063642E-02 + -0.4030303909233330E-02 + -0.3950199738104642E-02 + -0.3870093521762986E-02 + -0.3789985753788075E-02 + -0.3709876928669334E-02 + -0.3629767541264500E-02 + -0.3549658086950024E-02 + -0.3469549061726362E-02 + -0.3389440961780372E-02 + -0.3309334282227049E-02 + -0.3229229517452910E-02 + -0.3149127162342410E-02 + -0.3069027713709071E-02 + -0.2988931669259825E-02 + -0.2908839526340094E-02 + -0.2828751780698332E-02 + -0.2748668928002811E-02 + -0.2668591465003126E-02 + -0.2588519889972770E-02 + -0.2508454701473380E-02 + -0.2428396397140903E-02 + -0.2348345473904189E-02 + -0.2268302429058896E-02 + -0.2188267761156684E-02 + -0.2108241969425487E-02 + -0.2028225553049951E-02 + -0.1948219010473658E-02 + -0.1868222840187032E-02 + -0.1788237541122716E-02 + -0.1708263612788371E-02 + -0.1628301554955356E-02 + -0.1548351867292245E-02 + -0.1468415049402612E-02 + -0.1388491601206269E-02 + -0.1308582023475904E-02 + -0.1228686817517284E-02 + -0.1148806484555534E-02 + -0.1068941524825315E-02 + -0.9890924385281032E-03 + -0.9092597265504841E-03 + -0.8294438908391150E-03 + -0.7496454336603882E-03 + -0.6698648570934628E-03 + -0.5901026630376702E-03 + -0.5103593536046908E-03 + -0.4306354309793693E-03 + -0.3509313975044001E-03 + -0.2712477557941280E-03 + -0.1915850088030850E-03 + -0.1119436597598246E-03 + -0.3232421222440159E-04 + 0.4727282982610436E-04 + 0.1268469621984346E-03 + 0.2063976818972677E-03 + 0.2859244872412911E-03 + 0.3654268750961762E-03 + 0.4449043293595126E-03 + 0.5243563264020056E-03 + 0.6037823411706201E-03 + 0.6831818433797617E-03 + 0.7625543010493794E-03 + 0.8418991821886737E-03 + 0.9212159551172682E-03 + 0.1000504087986244E-02 + 0.1079763049182976E-02 + 0.1158992307422384E-02 + 0.1238191331176205E-02 + 0.1317359588481039E-02 + 0.1396496547001827E-02 + 0.1475601674145550E-02 + 0.1554674437090533E-02 + 0.1633714302763026E-02 + 0.1712720737849995E-02 + 0.1791693208834697E-02 + 0.1870631181955842E-02 + 0.1949534123551751E-02 + 0.2028401500170316E-02 + 0.2107232778084797E-02 + 0.2186027422743378E-02 + 0.2264784898942118E-02 + 0.2343504671416145E-02 + 0.2422186205843836E-02 + 0.2500828968070693E-02 + 0.2579432423400384E-02 + 0.2657996036092227E-02 + 0.2736519270010787E-02 + 0.2815001588895974E-02 + 0.2893442456422575E-02 + 0.2971841336058423E-02 + 0.3050197691593045E-02 + 0.3128510986999340E-02 + 0.3206780685921299E-02 + 0.3285006251233432E-02 + 0.3363187145348154E-02 + 0.3441322830579022E-02 + 0.3519412769483932E-02 + 0.3597456424458465E-02 + 0.3675453257750447E-02 + 0.3753402731523534E-02 + 0.3831304307674385E-02 + 0.3909157447469662E-02 + 0.3986961611605305E-02 + 0.4064716260728175E-02 + 0.4142420856822543E-02 + 0.4220074862310698E-02 + 0.4297677738048521E-02 + 0.4375228940119254E-02 + 0.4452727923439971E-02 + 0.4530174148425691E-02 + 0.4607567085245179E-02 + 0.4684906204173874E-02 + 0.4762190962513524E-02 + 0.4839420805596669E-02 + 0.4916595180198372E-02 + 0.4993713550165419E-02 + 0.5070775387471317E-02 + 0.5147780159991723E-02 + 0.5224727320383406E-02 + 0.5301616317476875E-02 + 0.5378446602956172E-02 + 0.5455217634220610E-02 + 0.5531928869273783E-02 + 0.5608579770286180E-02 + 0.5685169803647012E-02 + 0.5761698434293186E-02 + 0.5838165114208035E-02 + 0.5914569288333206E-02 + 0.5990910404758941E-02 + 0.6067187926184449E-02 + 0.6143401318997890E-02 + 0.6219550044546436E-02 + 0.6295633553784708E-02 + 0.6371651296171256E-02 + 0.6447602722490847E-02 + 0.6523487285030995E-02 + 0.6599304436785634E-02 + 0.6675053639508352E-02 + 0.6750734360006197E-02 + 0.6826346061353490E-02 + 0.6901888189470384E-02 + 0.6977360185006023E-02 + 0.7052761494145965E-02 + 0.7128091576401808E-02 + 0.7203349892872329E-02 + 0.7278535901076135E-02 + 0.7353649054218524E-02 + 0.7428688804825172E-02 + 0.7503654603136488E-02 + 0.7578545897818909E-02 + 0.7653362138344365E-02 + 0.7728102779712876E-02 + 0.7802767278578886E-02 + 0.7877355089966924E-02 + 0.7951865665080737E-02 + 0.8026298454295800E-02 + 0.8100652907793077E-02 + 0.8174928475581043E-02 + 0.8249124607616675E-02 + 0.8323240756294140E-02 + 0.8397276375673666E-02 + 0.8471230918881833E-02 + 0.8545103834529110E-02 + 0.8618894569403448E-02 + 0.8692602571899021E-02 + 0.8766227295530440E-02 + 0.8839768194420802E-02 + 0.8913224717376153E-02 + 0.8986596305476123E-02 + 0.9059882399579388E-02 + 0.9133082450165485E-02 + 0.9206195915207848E-02 + 0.9279222251830451E-02 + 0.9352160911574515E-02 + 0.9425011343552232E-02 + 0.9497772994238504E-02 + 0.9570445302258259E-02 + 0.9643027704605228E-02 + 0.9715519648058809E-02 + 0.9787920595460340E-02 + 0.9860230009887150E-02 + 0.9932447336184202E-02 + 0.1000457200343864E-01 + 0.1007660344277755E-01 + 0.1014854110600270E-01 + 0.1022038445410075E-01 + 0.1029213294426255E-01 + 0.1036378602064623E-01 + 0.1043534312432398E-01 + 0.1050680369751619E-01 + 0.1057816718470500E-01 + 0.1064943303043209E-01 + 0.1072060068015614E-01 + 0.1079166958019113E-01 + 0.1086263917659160E-01 + 0.1093350891476881E-01 + 0.1100427823968434E-01 + 0.1107494659605985E-01 + 0.1114551342843367E-01 + 0.1121597818110506E-01 + 0.1128634029817211E-01 + 0.1135659922358451E-01 + 0.1142675440103173E-01 + 0.1149680527355775E-01 + 0.1156675128354503E-01 + 0.1163659187329877E-01 + 0.1170632648674942E-01 + 0.1177595456860506E-01 + 0.1184547556355120E-01 + 0.1191488891700108E-01 + 0.1198419407436973E-01 + 0.1205339047821393E-01 + 0.1212247756515514E-01 + 0.1219145477093220E-01 + 0.1226032153475689E-01 + 0.1232907729984753E-01 + 0.1239772150950734E-01 + 0.1246625360793881E-01 + 0.1253467303978957E-01 + 0.1260297924904851E-01 + 0.1267117167741507E-01 + 0.1273924976570551E-01 + 0.1280721295371899E-01 + 0.1287506067916226E-01 + 0.1294279237922894E-01 + 0.1301040749143162E-01 + 0.1307790545374961E-01 + 0.1314528570444626E-01 + 0.1321254768755404E-01 + 0.1327969085087242E-01 + 0.1334671463993886E-01 + 0.1341361848859648E-01 + 0.1348040182653121E-01 + 0.1354706408790203E-01 + 0.1361360471928230E-01 + 0.1368002316890306E-01 + 0.1374631887635448E-01 + 0.1381249126939347E-01 + 0.1387853977564823E-01 + 0.1394446383612342E-01 + 0.1401026290157948E-01 + 0.1407593642005730E-01 + 0.1414148382278383E-01 + 0.1420690453445382E-01 + 0.1427219798490263E-01 + 0.1433736361978889E-01 + 0.1440240088736386E-01 + 0.1446730922833268E-01 + 0.1453208807207008E-01 + 0.1459673684721114E-01 + 0.1466125498929086E-01 + 0.1472564193936525E-01 + 0.1478989713763286E-01 + 0.1485402001875753E-01 + 0.1491801001493017E-01 + 0.1498186655934547E-01 + 0.1504558908913018E-01 + 0.1510917704200288E-01 + 0.1517262985410805E-01 + 0.1523594695912862E-01 + 0.1529912779051892E-01 + 0.1536217178589474E-01 + 0.1542507838653464E-01 + 0.1548784703215366E-01 + 0.1555047715106113E-01 + 0.1561296816612687E-01 + 0.1567531950405830E-01 + 0.1573753060647186E-01 + 0.1579960091815224E-01 + 0.1586152987700123E-01 + 0.1592331690844197E-01 + 0.1598496143672996E-01 + 0.1604646289479299E-01 + 0.1610782072400197E-01 + 0.1616903436488295E-01 + 0.1623010324943454E-01 + 0.1629102680515259E-01 + 0.1635180446072583E-01 + 0.1641243565066276E-01 + 0.1647291981075395E-01 + 0.1653325637360184E-01 + 0.1659344476558339E-01 + 0.1665348441238241E-01 + 0.1671337474693537E-01 + 0.1677311520995819E-01 + 0.1683270524137403E-01 + 0.1689214427168355E-01 + 0.1695143172594019E-01 + 0.1701056702966127E-01 + 0.1706954961166085E-01 + 0.1712837890152090E-01 + 0.1718705433061977E-01 + 0.1724557533469210E-01 + 0.1730394134974065E-01 + 0.1736215180803279E-01 + 0.1742020613748906E-01 + 0.1747810376542671E-01 + 0.1753584411762575E-01 + 0.1759342661881072E-01 + 0.1765085069561957E-01 + 0.1770811578552394E-01 + 0.1776522132924542E-01 + 0.1782216676081054E-01 + 0.1787895149794113E-01 + 0.1793557495596868E-01 + 0.1799203656238757E-01 + 0.1804833576047955E-01 + 0.1810447199311119E-01 + 0.1816044468729251E-01 + 0.1821625325906129E-01 + 0.1827189712566888E-01 + 0.1832737571365101E-01 + 0.1838268845265610E-01 + 0.1843783477431618E-01 + 0.1849281411617151E-01 + 0.1854762591635915E-01 + 0.1860226960268711E-01 + 0.1865674458839690E-01 + 0.1871105028637659E-01 + 0.1876518612370906E-01 + 0.1881915153814009E-01 + 0.1887294596600751E-01 + 0.1892656883432401E-01 + 0.1898001956630357E-01 + 0.1903329758552750E-01 + 0.1908640231725028E-01 + 0.1913933318685723E-01 + 0.1919208962036295E-01 + 0.1924467104490613E-01 + 0.1929707688752289E-01 + 0.1934930657546344E-01 + 0.1940135953611308E-01 + 0.1945323519608862E-01 + 0.1950493297798584E-01 + 0.1955645230251661E-01 + 0.1960779259198544E-01 + 0.1965895327475936E-01 + 0.1970993378027872E-01 + 0.1976073353589641E-01 + 0.1981135196555052E-01 + 0.1986178849257716E-01 + 0.1991204253929708E-01 + 0.1996211352708354E-01 + 0.2001200087792656E-01 + 0.2006170402069428E-01 + 0.2011122238742052E-01 + 0.2016055540683994E-01 + 0.2020970249576634E-01 + 0.2025866306804427E-01 + 0.2030743654317524E-01 + 0.2035602235162903E-01 + 0.2040441992455065E-01 + 0.2045262868516699E-01 + 0.2050064804877150E-01 + 0.2054847743134598E-01 + 0.2059611626008471E-01 + 0.2064356396799568E-01 + 0.2069081998487826E-01 + 0.2073788372751413E-01 + 0.2078475460909004E-01 + 0.2083143204776297E-01 + 0.2087791547238518E-01 + 0.2092420431276072E-01 + 0.2097029799348595E-01 + 0.2101619593344982E-01 + 0.2106189755095982E-01 + 0.2110740226354634E-01 + 0.2115270948818229E-01 + 0.2119781864362325E-01 + 0.2124272915797232E-01 + 0.2128744046189434E-01 + 0.2133195198124960E-01 + 0.2137626313108052E-01 + 0.2142037332483912E-01 + 0.2146428198084036E-01 + 0.2150798852333207E-01 + 0.2155149237649980E-01 + 0.2159479296213335E-01 + 0.2163788970039560E-01 + 0.2168078201157311E-01 + 0.2172346931777356E-01 + 0.2176595104153102E-01 + 0.2180822660291602E-01 + 0.2185029541605907E-01 + 0.2189215689412738E-01 + 0.2193381045767979E-01 + 0.2197525553718029E-01 + 0.2201649156247645E-01 + 0.2205751794896699E-01 + 0.2209833410176480E-01 + 0.2213893942880698E-01 + 0.2217933335706727E-01 + 0.2221951532028268E-01 + 0.2225948474609949E-01 + 0.2229924104522729E-01 + 0.2233878362531276E-01 + 0.2237811190090301E-01 + 0.2241722529674552E-01 + 0.2245612323787940E-01 + 0.2249480514464023E-01 + 0.2253327043365336E-01 + 0.2257151852132393E-01 + 0.2260954882457761E-01 + 0.2264736076040350E-01 + 0.2268495374628576E-01 + 0.2272232720180450E-01 + 0.2275948054674746E-01 + 0.2279641319998109E-01 + 0.2283312457903893E-01 + 0.2286961410122728E-01 + 0.2290588118564954E-01 + 0.2294192525290842E-01 + 0.2297774572222155E-01 + 0.2301334200375375E-01 + 0.2304871350349189E-01 + 0.2308385963185025E-01 + 0.2311877981552776E-01 + 0.2315347348455281E-01 + 0.2318794006266091E-01 + 0.2322217896261767E-01 + 0.2325618959599700E-01 + 0.2328997137728907E-01 + 0.2332352372370520E-01 + 0.2335684605175748E-01 + 0.2338993777299675E-01 + 0.2342279829640174E-01 + 0.2345542703479091E-01 + 0.2348782341682601E-01 + 0.2351998687478645E-01 + 0.2355191682980476E-01 + 0.2358361268144244E-01 + 0.2361507382719887E-01 + 0.2364629968031139E-01 + 0.2367728967024370E-01 + 0.2370804322571822E-01 + 0.2373855976347567E-01 + 0.2376883869362091E-01 + 0.2379887942645956E-01 + 0.2382868137427979E-01 + 0.2385824394974356E-01 + 0.2388756656703716E-01 + 0.2391664864392169E-01 + 0.2394548959840551E-01 + 0.2397408884798154E-01 + 0.2400244580959107E-01 + 0.2403055989971496E-01 + 0.2405843053245235E-01 + 0.2408605712037597E-01 + 0.2411343907417498E-01 + 0.2414057579639178E-01 + 0.2416746668699155E-01 + 0.2419411116667395E-01 + 0.2422050870603523E-01 + 0.2424665879502352E-01 + 0.2427256135519689E-01 + 0.2429821684496494E-01 + 0.2432362575416089E-01 + 0.2434878854411843E-01 + 0.2437370565742303E-01 + 0.2439837753847906E-01 + 0.2442280464224371E-01 + 0.2444698742741193E-01 + 0.2447092634998362E-01 + 0.2449462185837136E-01 + 0.2451807440014263E-01 + 0.2454128443084245E-01 + 0.2456425241682557E-01 + 0.2458697882452113E-01 + 0.2460946410747385E-01 + 0.2463170870993048E-01 + 0.2465371307853615E-01 + 0.2467547767446938E-01 + 0.2469700296452700E-01 + 0.2471828941363284E-01 + 0.2473933748065162E-01 + 0.2476014762357859E-01 + 0.2478072030179716E-01 + 0.2480105597664407E-01 + 0.2482115510978844E-01 + 0.2484101816198648E-01 + 0.2486064559331839E-01 + 0.2488003786466375E-01 + 0.2489919544096276E-01 + 0.2491811878900091E-01 + 0.2493680837423824E-01 + 0.2495526465717610E-01 + 0.2497348809757554E-01 + 0.2499147915971870E-01 + 0.2500923831519955E-01 + 0.2502676603618681E-01 + 0.2504406278853259E-01 + 0.2506112903257230E-01 + 0.2507796522973474E-01 + 0.2509457184951092E-01 + 0.2511094936524682E-01 + 0.2512709824884078E-01 + 0.2514301896614203E-01 + 0.2515871198187178E-01 + 0.2517417776494941E-01 + 0.2518941679173593E-01 + 0.2520442953938253E-01 + 0.2521921648002455E-01 + 0.2523377808096649E-01 + 0.2524811480987053E-01 + 0.2526222713721682E-01 + 0.2527611553504986E-01 + 0.2528978047699238E-01 + 0.2530322244219602E-01 + 0.2531644191139755E-01 + 0.2532943936303523E-01 + 0.2534221527064076E-01 + 0.2535477010736357E-01 + 0.2536710434584936E-01 + 0.2537921845819374E-01 + 0.2539111291765290E-01 + 0.2540278820675924E-01 + 0.2541424481336753E-01 + 0.2542548322308491E-01 + 0.2543650391015719E-01 + 0.2544730734583771E-01 + 0.2545789400558316E-01 + 0.2546826437387982E-01 + 0.2547841893651486E-01 + 0.2548835817480764E-01 + 0.2549808256483048E-01 + 0.2550759258342705E-01 + 0.2551688871662439E-01 + 0.2552597145622932E-01 + 0.2553484129316325E-01 + 0.2554349871237193E-01 + 0.2555194419710920E-01 + 0.2556017822962465E-01 + 0.2556820128929780E-01 + 0.2557601385547355E-01 + 0.2558361641418762E-01 + 0.2559100945996051E-01 + 0.2559819348743218E-01 + 0.2560516898285983E-01 + 0.2561193642688506E-01 + 0.2561849630248192E-01 + 0.2562484910510466E-01 + 0.2563099533473340E-01 + 0.2563693548731914E-01 + 0.2564267004731284E-01 + 0.2564819949754970E-01 + 0.2565352432608305E-01 + 0.2565864502819668E-01 + 0.2566356209979717E-01 + 0.2566827603456019E-01 + 0.2567278732456122E-01 + 0.2567709646270854E-01 + 0.2568120394597532E-01 + 0.2568511027307587E-01 + 0.2568881594189076E-01 + 0.2569232144720035E-01 + 0.2569562728342695E-01 + 0.2569873394560124E-01 + 0.2570164192954547E-01 + 0.2570435173144856E-01 + 0.2570686384857033E-01 + 0.2570917877910006E-01 + 0.2571129702213440E-01 + 0.2571321908135043E-01 + 0.2571494546254648E-01 + 0.2571647666888431E-01 + 0.2571781319394781E-01 + 0.2571895552962813E-01 + 0.2571990417680446E-01 + 0.2572065965148542E-01 + 0.2572122247061103E-01 + 0.2572159313599225E-01 + 0.2572177213579661E-01 + 0.2572175996021957E-01 + 0.2572155711753550E-01 + 0.2572116412473604E-01 + 0.2572058149652926E-01 + 0.2571980973807981E-01 + 0.2571884935253141E-01 + 0.2571770084422849E-01 + 0.2571636471953041E-01 + 0.2571484148533445E-01 + 0.2571313165039638E-01 + 0.2571123572531850E-01 + 0.2570915422089461E-01 + 0.2570688764683251E-01 + 0.2570443651240347E-01 + 0.2570180132805138E-01 + 0.2569898260827073E-01 + 0.2569598086880870E-01 + 0.2569279662371009E-01 + 0.2568943038318660E-01 + 0.2568588265733446E-01 + 0.2568215395973969E-01 + 0.2567824480776766E-01 + 0.2567415571878910E-01 + 0.2566988720592712E-01 + 0.2566543977996939E-01 + 0.2566081395332657E-01 + 0.2565601024511035E-01 + 0.2565102917657846E-01 + 0.2564587126831750E-01 + 0.2564053703901068E-01 + 0.2563502700737028E-01 + 0.2562934169417305E-01 + 0.2562348162261281E-01 + 0.2561744731563371E-01 + 0.2561123928897872E-01 + 0.2560485805391106E-01 + 0.2559830412444812E-01 + 0.2559157802816253E-01 + 0.2558468029720145E-01 + 0.2557761146088881E-01 + 0.2557037204093144E-01 + 0.2556296255809183E-01 + 0.2555538353390520E-01 + 0.2554763549083566E-01 + 0.2553971895199072E-01 + 0.2553163444492093E-01 + 0.2552338250037143E-01 + 0.2551496364905391E-01 + 0.2550637841978242E-01 + 0.2549762734086611E-01 + 0.2548871093905159E-01 + 0.2547962973617361E-01 + 0.2547038425360120E-01 + 0.2546097502122743E-01 + 0.2545140258115853E-01 + 0.2544166747593756E-01 + 0.2543177023668576E-01 + 0.2542171138579755E-01 + 0.2541149144672506E-01 + 0.2540111094976074E-01 + 0.2539057042809636E-01 + 0.2537987041704274E-01 + 0.2536901145792333E-01 + 0.2535799409336872E-01 + 0.2534681886004762E-01 + 0.2533548628496239E-01 + 0.2532399689505786E-01 + 0.2531235122710287E-01 + 0.2530054982622025E-01 + 0.2528859323677972E-01 + 0.2527648199403489E-01 + 0.2526421662936879E-01 + 0.2525179767695836E-01 + 0.2523922568008181E-01 + 0.2522650118417999E-01 + 0.2521362473143296E-01 + 0.2520059685808240E-01 + 0.2518741810037998E-01 + 0.2517408900210772E-01 + 0.2516061011406593E-01 + 0.2514698198606884E-01 + 0.2513320515573225E-01 + 0.2511928015485724E-01 + 0.2510520751965908E-01 + 0.2509098780283377E-01 + 0.2507662156123555E-01 + 0.2506210934523638E-01 + 0.2504745169238958E-01 + 0.2503264913942134E-01 + 0.2501770223267734E-01 + 0.2500261152831666E-01 + 0.2498737758219317E-01 + 0.2497200094102807E-01 + 0.2495648214674903E-01 + 0.2494082174379042E-01 + 0.2492502028669388E-01 + 0.2490907833291536E-01 + 0.2489299643564146E-01 + 0.2487677513860211E-01 + 0.2486041498486693E-01 + 0.2484391652668723E-01 + 0.2482728032657448E-01 + 0.2481050694664491E-01 + 0.2479359693665799E-01 + 0.2477655083914276E-01 + 0.2475936920016462E-01 + 0.2474205258222327E-01 + 0.2472460155294342E-01 + 0.2470701667479823E-01 + 0.2468929849767609E-01 + 0.2467144757006880E-01 + 0.2465346444699226E-01 + 0.2463534969143336E-01 + 0.2461710386664875E-01 + 0.2459872753034809E-01 + 0.2458022123670853E-01 + 0.2456158554163385E-01 + 0.2454282100941128E-01 + 0.2452392820731811E-01 + 0.2450490770017533E-01 + 0.2448576004589223E-01 + 0.2446648580153892E-01 + 0.2444708552617930E-01 + 0.2442755978147622E-01 + 0.2440790912987787E-01 + 0.2438813413864792E-01 + 0.2436823537859926E-01 + 0.2434821341992629E-01 + 0.2432806882722925E-01 + 0.2430780216321291E-01 + 0.2428741399087681E-01 + 0.2426690487354111E-01 + 0.2424627537488134E-01 + 0.2422552606222705E-01 + 0.2420465750820933E-01 + 0.2418367028590291E-01 + 0.2416256496468977E-01 + 0.2414134211108785E-01 + 0.2412000229249076E-01 + 0.2409854608110363E-01 + 0.2407697405128158E-01 + 0.2405528677628773E-01 + 0.2403348482518797E-01 + 0.2401156876646200E-01 + 0.2398953917103561E-01 + 0.2396739661366077E-01 + 0.2394514166961063E-01 + 0.2392277491269403E-01 + 0.2390029691548305E-01 + 0.2387770825142793E-01 + 0.2385500949908471E-01 + 0.2383220123949313E-01 + 0.2380928405155426E-01 + 0.2378625850567745E-01 + 0.2376312517064561E-01 + 0.2373988462121249E-01 + 0.2371653744269006E-01 + 0.2369308422146041E-01 + 0.2366952553778371E-01 + 0.2364586196608171E-01 + 0.2362209408134393E-01 + 0.2359822246328622E-01 + 0.2357424769414736E-01 + 0.2355017035618880E-01 + 0.2352599103081922E-01 + 0.2350171029945092E-01 + 0.2347732874367850E-01 + 0.2345284694517100E-01 + 0.2342826548592045E-01 + 0.2340358494966851E-01 + 0.2337880592197872E-01 + 0.2335392898889982E-01 + 0.2332895473792475E-01 + 0.2330388375747845E-01 + 0.2327871663467494E-01 + 0.2325345394973279E-01 + 0.2322809628117391E-01 + 0.2320264421157078E-01 + 0.2317709833207429E-01 + 0.2315145923523805E-01 + 0.2312572751404050E-01 + 0.2309990376190460E-01 + 0.2307398857178096E-01 + 0.2304798252853008E-01 + 0.2302188621217418E-01 + 0.2299570020493564E-01 + 0.2296942509920551E-01 + 0.2294306149073119E-01 + 0.2291660997473032E-01 + 0.2289007114470353E-01 + 0.2286344559411649E-01 + 0.2283673391572457E-01 + 0.2280993670130506E-01 + 0.2278305454278029E-01 + 0.2275608803156285E-01 + 0.2272903775881708E-01 + 0.2270190431693945E-01 + 0.2267468830389541E-01 + 0.2264739031976365E-01 + 0.2262001096429505E-01 + 0.2259255083584769E-01 + 0.2256501053268863E-01 + 0.2253739064870095E-01 + 0.2250969177154426E-01 + 0.2248191448951662E-01 + 0.2245405940296135E-01 + 0.2242612712122366E-01 + 0.2239811825229397E-01 + 0.2237003339294042E-01 + 0.2234187313581530E-01 + 0.2231363807545950E-01 + 0.2228532881152823E-01 + 0.2225694594488700E-01 + 0.2222849007766047E-01 + 0.2219996181374643E-01 + 0.2217136175734748E-01 + 0.2214269051108493E-01 + 0.2211394867634703E-01 + 0.2208513685454374E-01 + 0.2205625564580488E-01 + 0.2202730564988582E-01 + 0.2199828746950285E-01 + 0.2196920171657933E-01 + 0.2194004900508702E-01 + 0.2191082994124914E-01 + 0.2188154511800578E-01 + 0.2185219512786757E-01 + 0.2182278057482134E-01 + 0.2179330207315529E-01 + 0.2176376023709094E-01 + 0.2173415567556255E-01 + 0.2170448899517972E-01 + 0.2167476080273081E-01 + 0.2164497170492795E-01 + 0.2161512230868108E-01 + 0.2158521322021798E-01 + 0.2155524504424371E-01 + 0.2152521838582977E-01 + 0.2149513385640590E-01 + 0.2146499207365728E-01 + 0.2143479365450181E-01 + 0.2140453920461742E-01 + 0.2137422932399643E-01 + 0.2134386461616677E-01 + 0.2131344569858928E-01 + 0.2128297319250729E-01 + 0.2125244771328338E-01 + 0.2122186986388575E-01 + 0.2119124024634157E-01 + 0.2116055947166254E-01 + 0.2112982816053849E-01 + 0.2109904693367261E-01 + 0.2106821640463158E-01 + 0.2103733718302778E-01 + 0.2100640987910074E-01 + 0.2097543510515797E-01 + 0.2094441347431319E-01 + 0.2091334560047386E-01 + 0.2088223209897688E-01 + 0.2085107358566943E-01 + 0.2081987067859122E-01 + 0.2078862399832811E-01 + 0.2075733416490648E-01 + 0.2072600178756002E-01 + 0.2069462746883174E-01 + 0.2066321181525849E-01 + 0.2063175545327281E-01 + 0.2060025901586679E-01 + 0.2056872312900921E-01 + 0.2053714840054699E-01 + 0.2050553543591193E-01 + 0.2047388484648123E-01 + 0.2044219725129490E-01 + 0.2041047327028523E-01 + 0.2037871352501302E-01 + 0.2034691863825813E-01 + 0.2031508923209079E-01 + 0.2028322592300919E-01 + 0.2025132932571681E-01 + 0.2021940005639530E-01 + 0.2018743873483507E-01 + 0.2015544598171603E-01 + 0.2012342241913690E-01 + 0.2009136867110348E-01 + 0.2005928536142970E-01 + 0.2002717310522653E-01 + 0.1999503251103916E-01 + 0.1996286418963180E-01 + 0.1993066876554914E-01 + 0.1989844686895481E-01 + 0.1986619912816628E-01 + 0.1983392616512001E-01 + 0.1980162860070437E-01 + 0.1976930705281828E-01 + 0.1973696213447715E-01 + 0.1970459445906195E-01 + 0.1967220464933046E-01 + 0.1963979333594396E-01 + 0.1960736114849449E-01 + 0.1957490870537829E-01 + 0.1954243662025849E-01 + 0.1950994550943097E-01 + 0.1947743599763195E-01 + 0.1944490871163382E-01 + 0.1941236427767665E-01 + 0.1937980332085946E-01 + 0.1934722646600550E-01 + 0.1931463432979570E-01 + 0.1928202752143899E-01 + 0.1924940665223392E-01 + 0.1921677235066304E-01 + 0.1918412525366875E-01 + 0.1915146599497563E-01 + 0.1911879519491870E-01 + 0.1908611347083467E-01 + 0.1905342143963313E-01 + 0.1902071971714283E-01 + 0.1898800891963362E-01 + 0.1895528967091687E-01 + 0.1892256260242600E-01 + 0.1888982834516067E-01 + 0.1885708752085361E-01 + 0.1882434074642508E-01 + 0.1879158863979851E-01 + 0.1875883182245309E-01 + 0.1872607091702215E-01 + 0.1869330654528612E-01 + 0.1866053932689935E-01 + 0.1862776988166689E-01 + 0.1859499883447591E-01 + 0.1856222681582544E-01 + 0.1852945445539959E-01 + 0.1849668236894204E-01 + 0.1846391116410768E-01 + 0.1843114145270007E-01 + 0.1839837386573567E-01 + 0.1836560904011615E-01 + 0.1833284760413256E-01 + 0.1830009016552525E-01 + 0.1826733732972910E-01 + 0.1823458971573291E-01 + 0.1820184795900034E-01 + 0.1816911269463768E-01 + 0.1813638453897007E-01 + 0.1810366409624702E-01 + 0.1807095197457405E-01 + 0.1803824880244738E-01 + 0.1800555521528382E-01 + 0.1797287184092107E-01 + 0.1794019928707064E-01 + 0.1790753815869081E-01 + 0.1787488907077386E-01 + 0.1784225265167372E-01 + 0.1780962953006264E-01 + 0.1777702032307485E-01 + 0.1774442563969571E-01 + 0.1771184609100828E-01 + 0.1767928230023912E-01 + 0.1764673489524990E-01 + 0.1761420449898699E-01 + 0.1758169171969869E-01 + 0.1754919716334759E-01 + 0.1751672144222086E-01 + 0.1748426517780246E-01 + 0.1745182899217249E-01 + 0.1741941350150238E-01 + 0.1738701931738986E-01 + 0.1735464705175036E-01 + 0.1732229731790404E-01 + 0.1728997072990819E-01 + 0.1725766790304165E-01 + 0.1722538945587366E-01 + 0.1719313600774869E-01 + 0.1716090817112048E-01 + 0.1712870654708049E-01 + 0.1709653173644037E-01 + 0.1706438434944233E-01 + 0.1703226500449391E-01 + 0.1700017431985177E-01 + 0.1696811290893811E-01 + 0.1693608138314781E-01 + 0.1690408035149277E-01 + 0.1687211041384192E-01 + 0.1684017216832007E-01 + 0.1680826622054150E-01 + 0.1677639318930748E-01 + 0.1674455369435698E-01 + 0.1671274834151036E-01 + 0.1668097772342604E-01 + 0.1664924243410579E-01 + 0.1661754308123386E-01 + 0.1658588027944716E-01 + 0.1655425464119884E-01 + 0.1652266676927935E-01 + 0.1649111726427573E-01 + 0.1645960672536456E-01 + 0.1642813574867670E-01 + 0.1639670493036710E-01 + 0.1636531487044763E-01 + 0.1633396617292983E-01 + 0.1630265944158334E-01 + 0.1627139527398100E-01 + 0.1624017426440907E-01 + 0.1620899700835625E-01 + 0.1617786410587611E-01 + 0.1614677615845251E-01 + 0.1611573376349079E-01 + 0.1608473750918535E-01 + 0.1605378798290343E-01 + 0.1602288577700727E-01 + 0.1599203148952712E-01 + 0.1596122571835054E-01 + 0.1593046905411853E-01 + 0.1589976208318414E-01 + 0.1586910539174187E-01 + 0.1583849956449986E-01 + 0.1580794518589694E-01 + 0.1577744284299759E-01 + 0.1574699312883767E-01 + 0.1571659663734068E-01 + 0.1568625395480640E-01 + 0.1565596565790048E-01 + 0.1562573232327620E-01 + 0.1559555453221844E-01 + 0.1556543286918764E-01 + 0.1553536791749518E-01 + 0.1550536025269813E-01 + 0.1547541044787883E-01 + 0.1544551907932535E-01 + 0.1541568673148382E-01 + 0.1538591399016795E-01 + 0.1535620143265506E-01 + 0.1532654962434750E-01 + 0.1529695913014536E-01 + 0.1526743051707599E-01 + 0.1523796435379385E-01 + 0.1520856121011430E-01 + 0.1517922166149472E-01 + 0.1514994628568307E-01 + 0.1512073565576810E-01 + 0.1509159033049550E-01 + 0.1506251086621280E-01 + 0.1503349782252780E-01 + 0.1500455176387040E-01 + 0.1497567325497342E-01 + 0.1494686285557855E-01 + 0.1491812112144821E-01 + 0.1488944860870701E-01 + 0.1486084587537135E-01 + 0.1483231348039201E-01 + 0.1480385197996543E-01 + 0.1477546192062877E-01 + 0.1474714384718193E-01 + 0.1471889830945782E-01 + 0.1469072586554228E-01 + 0.1466262707384330E-01 + 0.1463460248027724E-01 + 0.1460665261971470E-01 + 0.1457877802801396E-01 + 0.1455097925008957E-01 + 0.1452325683518916E-01 + 0.1449561132978633E-01 + 0.1446804326944420E-01 + 0.1444055318738097E-01 + 0.1441314161531567E-01 + 0.1438580908201146E-01 + 0.1435855611631103E-01 + 0.1433138325154270E-01 + 0.1430429102540834E-01 + 0.1427727997493427E-01 + 0.1425035062803417E-01 + 0.1422350350805587E-01 + 0.1419673913756412E-01 + 0.1417005803538247E-01 + 0.1414346071953328E-01 + 0.1411694770685901E-01 + 0.1409051951157386E-01 + 0.1406417664794111E-01 + 0.1403791963499352E-01 + 0.1401174899684902E-01 + 0.1398566525596940E-01 + 0.1395966891431546E-01 + 0.1393376046233576E-01 + 0.1390794039449497E-01 + 0.1388220922343211E-01 + 0.1385656746708355E-01 + 0.1383101563526866E-01 + 0.1380555421928795E-01 + 0.1378018370815361E-01 + 0.1375490459292728E-01 + 0.1372971736704230E-01 + 0.1370462252417829E-01 + 0.1367962055726390E-01 + 0.1365471195883765E-01 + 0.1362989722005743E-01 + 0.1360517682425663E-01 + 0.1358055125242222E-01 + 0.1355602098365810E-01 + 0.1353158649208319E-01 + 0.1350724825123026E-01 + 0.1348300673510799E-01 + 0.1345886241828092E-01 + 0.1343481577512915E-01 + 0.1341086727506952E-01 + 0.1338701738417334E-01 + 0.1336326656774485E-01 + 0.1333961528621667E-01 + 0.1331606399842922E-01 + 0.1329261316254893E-01 + 0.1326926323455087E-01 + 0.1324601467013693E-01 + 0.1322286792250837E-01 + 0.1319982344123699E-01 + 0.1317688167531411E-01 + 0.1315404306698381E-01 + 0.1313130805344097E-01 + 0.1310867707187895E-01 + 0.1308615055932722E-01 + 0.1306372895286206E-01 + 0.1304141268980286E-01 + 0.1301920220784119E-01 + 0.1299709794470637E-01 + 0.1297510032729205E-01 + 0.1295320976546468E-01 + 0.1293142666828893E-01 + 0.1290975145379940E-01 + 0.1288818454750339E-01 + 0.1286672637326088E-01 + 0.1284537734059767E-01 + 0.1282413785293097E-01 + 0.1280300831407906E-01 + 0.1278198912891507E-01 + 0.1276108070261669E-01 + 0.1274028343646098E-01 + 0.1271959772489466E-01 + 0.1269902396150807E-01 + 0.1267856253366079E-01 + 0.1265821382304563E-01 + 0.1263797821162437E-01 + 0.1261785608412206E-01 + 0.1259784782666771E-01 + 0.1257795382227436E-01 + 0.1255817444166508E-01 + 0.1253851005275312E-01 + 0.1251896102269322E-01 + 0.1249952771706812E-01 + 0.1248021050112376E-01 + 0.1246100973353145E-01 + 0.1244192576637857E-01 + 0.1242295895161736E-01 + 0.1240410964149527E-01 + 0.1238537818848226E-01 + 0.1236676494261193E-01 + 0.1234827024316346E-01 + 0.1232989442665771E-01 + 0.1231163782728418E-01 + 0.1229350077420236E-01 + 0.1227548359589881E-01 + 0.1225758661677144E-01 + 0.1223981015670775E-01 + 0.1222215453555289E-01 + 0.1220462007398642E-01 + 0.1218720709322675E-01 + 0.1216991591110676E-01 + 0.1215274682902390E-01 + 0.1213570014361743E-01 + 0.1211877615045059E-01 + 0.1210197514244418E-01 + 0.1208529741221887E-01 + 0.1206874325172421E-01 + 0.1205231295207504E-01 + 0.1203600680355191E-01 + 0.1201982508628306E-01 + 0.1200376807391780E-01 + 0.1198783603820471E-01 + 0.1197202924103825E-01 + 0.1195634794115699E-01 + 0.1194079239857503E-01 + 0.1192536287643226E-01 + 0.1191005963826206E-01 + 0.1189488294017670E-01 + 0.1187983302840012E-01 + 0.1186491014773143E-01 + 0.1185011453216408E-01 + 0.1183544640808372E-01 + 0.1182090600271686E-01 + 0.1180649354876800E-01 + 0.1179220928097946E-01 + 0.1177805342768065E-01 + 0.1176402619877979E-01 + 0.1175012780100181E-01 + 0.1173635844177322E-01 + 0.1172271832951156E-01 + 0.1170920767198404E-01 + 0.1169582666495674E-01 + 0.1168257549488931E-01 + 0.1166945434804038E-01 + 0.1165646341060763E-01 + 0.1164360286880031E-01 + 0.1163087290450157E-01 + 0.1161827368577461E-01 + 0.1160580537797660E-01 + 0.1159346814494767E-01 + 0.1158126214805593E-01 + 0.1156918754788597E-01 + 0.1155724449440611E-01 + 0.1154543312852992E-01 + 0.1153375359078370E-01 + 0.1152220602072034E-01 + 0.1151079055748161E-01 + 0.1149950733699501E-01 + 0.1148835648377790E-01 + 0.1147733811979653E-01 + 0.1146645236091144E-01 + 0.1145569931214155E-01 + 0.1144507907744970E-01 + 0.1143459176146579E-01 + 0.1142423746944703E-01 + 0.1141401630435239E-01 + 0.1140392834977511E-01 + 0.1139397367976733E-01 + 0.1138415236931353E-01 + 0.1137446449727769E-01 + 0.1136491014343123E-01 + 0.1135548938083750E-01 + 0.1134620226943721E-01 + 0.1133704886719583E-01 + 0.1132802922088808E-01 + 0.1131914336576283E-01 + 0.1131039133735480E-01 + 0.1130177317881481E-01 + 0.1129328893743836E-01 + 0.1128493865421610E-01 + 0.1127672234242988E-01 + 0.1126864000779768E-01 + 0.1126069165765573E-01 + 0.1125287730285426E-01 + 0.1124519695429451E-01 + 0.1123765061145338E-01 + 0.1123023826088574E-01 + 0.1122295988798989E-01 + 0.1121581547352851E-01 + 0.1120880499547138E-01 + 0.1120192842935430E-01 + 0.1119518573917100E-01 + 0.1118857688537286E-01 + 0.1118210182524891E-01 + 0.1117576050859055E-01 + 0.1116955288393481E-01 + 0.1116347889547333E-01 + 0.1115753848200726E-01 + 0.1115173158020054E-01 + 0.1114605810559747E-01 + 0.1114051795976990E-01 + 0.1113511104693461E-01 + 0.1112983728728370E-01 + 0.1112469660634000E-01 + 0.1111968891470909E-01 + 0.1111481408359571E-01 + 0.1111007197819990E-01 + 0.1110546248568183E-01 + 0.1110098552323589E-01 + 0.1109664100917173E-01 + 0.1109242884807675E-01 + 0.1108834893454787E-01 + 0.1108440116287117E-01 + 0.1108058542714105E-01 + 0.1107690162133173E-01 + 0.1107334963176978E-01 + 0.1106992932244816E-01 + 0.1106664055322649E-01 + 0.1106348318462194E-01 + 0.1106045707818124E-01 + 0.1105756209433979E-01 + 0.1105479807570355E-01 + 0.1105216485061462E-01 + 0.1104966224671740E-01 + 0.1104729009016213E-01 + 0.1104504820642049E-01 + 0.1104293641734041E-01 + 0.1104095453316397E-01 + 0.1103910236152456E-01 + 0.1103737969840866E-01 + 0.1103578632059836E-01 + 0.1103432200334339E-01 + 0.1103298652872312E-01 + 0.1103177968479875E-01 + 0.1103070125545498E-01 + 0.1102975099198037E-01 + 0.1102892863060634E-01 + 0.1102823391000126E-01 + 0.1102766657833470E-01 + 0.1102722638571126E-01 + 0.1102691307022337E-01 + 0.1102672634816147E-01 + 0.1102666593325787E-01 + 0.1102673153672847E-01 + 0.1102692286735714E-01 + 0.1102723963123752E-01 + 0.1102768151335458E-01 + 0.1102824818789242E-01 + 0.1102893932994882E-01 + 0.1102975461915600E-01 + 0.1103069373608729E-01 + 0.1103175634924249E-01 + 0.1103294210298126E-01 + 0.1103425063859343E-01 + 0.1103568159671429E-01 + 0.1103723461729631E-01 + 0.1103890933812152E-01 + 0.1104070537777522E-01 + 0.1104262234400134E-01 + 0.1104465984328103E-01 + 0.1104681747760341E-01 + 0.1104909484752874E-01 + 0.1105149154856649E-01 + 0.1105400716522901E-01 + 0.1105664127994305E-01 + 0.1105939346180157E-01 + 0.1106226326441580E-01 + 0.1106525024038976E-01 + 0.1106835394284760E-01 + 0.1107157392515242E-01 + 0.1107490973582525E-01 + 0.1107836089988181E-01 + 0.1108192693480243E-01 + 0.1108560735521182E-01 + 0.1108940166904670E-01 + 0.1109330938287293E-01 + 0.1109732999700602E-01 + 0.1110146300383541E-01 + 0.1110570789399808E-01 + 0.1111006414527915E-01 + 0.1111453122664705E-01 + 0.1111910860477636E-01 + 0.1112379573555257E-01 + 0.1112859207092712E-01 + 0.1113349705824818E-01 + 0.1113851013275474E-01 + 0.1114363072728134E-01 + 0.1114885826805414E-01 + 0.1115419217211755E-01 + 0.1115963185471607E-01 + 0.1116517671853509E-01 + 0.1117082615679839E-01 + 0.1117657956080516E-01 + 0.1118243631267012E-01 + 0.1118839579077794E-01 + 0.1119445737051951E-01 + 0.1120062041882133E-01 + 0.1120688430060686E-01 + 0.1121324837062139E-01 + 0.1121971196802858E-01 + 0.1122627442986274E-01 + 0.1123293508437480E-01 + 0.1123969325254123E-01 + 0.1124654825356203E-01 + 0.1125349939750884E-01 + 0.1126054599036030E-01 + 0.1126768733410806E-01 + 0.1127492271811047E-01 + 0.1128225142873166E-01 + 0.1128967274606582E-01 + 0.1129718593975740E-01 + 0.1130479027765374E-01 + 0.1131248501811110E-01 + 0.1132026941088231E-01 + 0.1132814270386190E-01 + 0.1133610413500550E-01 + 0.1134415293737629E-01 + 0.1135228833911875E-01 + 0.1136050955098436E-01 + 0.1136881577935983E-01 + 0.1137720622940361E-01 + 0.1138568010428511E-01 + 0.1139423660612319E-01 + 0.1140287492516823E-01 + 0.1141159423989541E-01 + 0.1142039372639640E-01 + 0.1142927254688825E-01 + 0.1143822985614713E-01 + 0.1144726480722897E-01 + 0.1145637654747573E-01 + 0.1146556422240944E-01 + 0.1147482697081488E-01 + 0.1148416391792122E-01 + 0.1149357418670985E-01 + 0.1150305689393203E-01 + 0.1151261114958720E-01 + 0.1152223606186491E-01 + 0.1153193072764613E-01 + 0.1154169423711390E-01 + 0.1155152567720007E-01 + 0.1156142412154622E-01 + 0.1157138863961929E-01 + 0.1158141829779674E-01 + 0.1159151215591431E-01 + 0.1160166927229806E-01 + 0.1161188869726983E-01 + 0.1162216947165508E-01 + 0.1163251063474660E-01 + 0.1164291121892925E-01 + 0.1165337025203887E-01 + 0.1166388675782096E-01 + 0.1167445974094635E-01 + 0.1168508819961186E-01 + 0.1169577113244187E-01 + 0.1170650753984320E-01 + 0.1171729642180649E-01 + 0.1172813676515863E-01 + 0.1173902753955255E-01 + 0.1174996771301091E-01 + 0.1176095625266798E-01 + 0.1177199212489826E-01 + 0.1178307429262693E-01 + 0.1179420170102708E-01 + 0.1180537328858805E-01 + 0.1181658799353096E-01 + 0.1182784475420128E-01 + 0.1183914250840275E-01 + 0.1185048018473341E-01 + 0.1186185669868614E-01 + 0.1187327096368286E-01 + 0.1188472188365182E-01 + 0.1189620835510626E-01 + 0.1190772927375588E-01 + 0.1191928353393280E-01 + 0.1193087002912355E-01 + 0.1194248764743554E-01 + 0.1195413526118944E-01 + 0.1196581173924305E-01 + 0.1197751595111940E-01 + 0.1198924676769629E-01 + 0.1200100305846705E-01 + 0.1201278367424337E-01 + 0.1202458744996493E-01 + 0.1203641322096178E-01 + 0.1204825983211908E-01 + 0.1206012613225687E-01 + 0.1207201096425058E-01 + 0.1208391315147088E-01 + 0.1209583151261079E-01 + 0.1210776486322156E-01 + 0.1211971201373544E-01 + 0.1213167177356780E-01 + 0.1214364295101535E-01 + 0.1215562435329857E-01 + 0.1216761478574058E-01 + 0.1217961304209658E-01 + 0.1219161791020446E-01 + 0.1220362817675374E-01 + 0.1221564262564932E-01 + 0.1222766003968063E-01 + 0.1223967919661984E-01 + 0.1225169886503045E-01 + 0.1226371781193461E-01 + 0.1227573480353232E-01 + 0.1228774860519577E-01 + 0.1229975798083807E-01 + 0.1231176168548589E-01 + 0.1232375846912709E-01 + 0.1233574708039060E-01 + 0.1234772626403214E-01 + 0.1235969476336870E-01 + 0.1237165132216382E-01 + 0.1238359468575655E-01 + 0.1239552359883647E-01 + 0.1240743679480631E-01 + 0.1241933299448791E-01 + 0.1243121091840076E-01 + 0.1244306929576691E-01 + 0.1245490686075479E-01 + 0.1246672234376713E-01 + 0.1247851445883057E-01 + 0.1249028191466456E-01 + 0.1250202342042024E-01 + 0.1251373768703350E-01 + 0.1252542342533463E-01 + 0.1253707934952395E-01 + 0.1254870417807908E-01 + 0.1256029662800756E-01 + 0.1257185540139105E-01 + 0.1258337919035243E-01 + 0.1259486668815871E-01 + 0.1260631659755250E-01 + 0.1261772762406714E-01 + 0.1262909847133537E-01 + 0.1264042783890942E-01 + 0.1265171442512917E-01 + 0.1266295692423309E-01 + 0.1267415402510785E-01 + 0.1268530441614327E-01 + 0.1269640679067809E-01 + 0.1270745984545602E-01 + 0.1271846227667874E-01 + 0.1272941277957237E-01 + 0.1274031004864736E-01 + 0.1275115277617970E-01 + 0.1276193964901998E-01 + 0.1277266935268388E-01 + 0.1278334057785678E-01 + 0.1279395202319385E-01 + 0.1280450238724618E-01 + 0.1281499036425272E-01 + 0.1282541464492347E-01 + 0.1283577392058179E-01 + 0.1284606689039938E-01 + 0.1285629225644723E-01 + 0.1286644871719529E-01 + 0.1287653496068295E-01 + 0.1288654967255966E-01 + 0.1289649154907519E-01 + 0.1290635930420637E-01 + 0.1291615165255025E-01 + 0.1292586729864523E-01 + 0.1293550493821103E-01 + 0.1294506326845755E-01 + 0.1295454100348334E-01 + 0.1296393686477491E-01 + 0.1297324957036831E-01 + 0.1298247782716189E-01 + 0.1299162033925304E-01 + 0.1300067582214947E-01 + 0.1300964301240697E-01 + 0.1301852064783229E-01 + 0.1302730745551426E-01 + 0.1303600215227969E-01 + 0.1304460345634265E-01 + 0.1305311010497905E-01 + 0.1306152084478532E-01 + 0.1306983442199133E-01 + 0.1307804958265169E-01 + 0.1308616507240820E-01 + 0.1309417964006818E-01 + 0.1310209204127214E-01 + 0.1310990103224902E-01 + 0.1311760537474596E-01 + 0.1312520383632542E-01 + 0.1313269518514759E-01 + 0.1314007819664629E-01 + 0.1314735165006244E-01 + 0.1315451432593185E-01 + 0.1316156501213406E-01 + 0.1316850249825261E-01 + 0.1317532557806441E-01 + 0.1318203305518953E-01 + 0.1318862373433832E-01 + 0.1319509642612214E-01 + 0.1320144994802937E-01 + 0.1320768311843410E-01 + 0.1321379476572646E-01 + 0.1321978372423176E-01 + 0.1322564882863595E-01 + 0.1323138891689225E-01 + 0.1323700282766210E-01 + 0.1324248940860416E-01 + 0.1324784752999643E-01 + 0.1325307606513952E-01 + 0.1325817388839058E-01 + 0.1326313987556949E-01 + 0.1326797290335890E-01 + 0.1327267186282924E-01 + 0.1327723565458732E-01 + 0.1328166318066262E-01 + 0.1328595335201379E-01 + 0.1329010508239244E-01 + 0.1329411729089913E-01 + 0.1329798891183963E-01 + 0.1330171888193729E-01 + 0.1330530614850094E-01 + 0.1330874967374876E-01 + 0.1331204842073548E-01 + 0.1331520135390977E-01 + 0.1331820743864203E-01 + 0.1332106564526172E-01 + 0.1332377497684044E-01 + 0.1332633444872475E-01 + 0.1332874307407632E-01 + 0.1333099986023436E-01 + 0.1333310381349737E-01 + 0.1333505396166599E-01 + 0.1333684936569214E-01 + 0.1333848908862955E-01 + 0.1333997218739311E-01 + 0.1334129771382900E-01 + 0.1334246472496065E-01 + 0.1334347231696022E-01 + 0.1334431960238562E-01 + 0.1334500569226360E-01 + 0.1334552969315394E-01 + 0.1334589071065258E-01 + 0.1334608786927392E-01 + 0.1334612032569183E-01 + 0.1334598723981357E-01 + 0.1334568777964611E-01 + 0.1334522112040538E-01 + 0.1334458643859009E-01 + 0.1334378292086793E-01 + 0.1334280975850224E-01 + 0.1334166615231563E-01 + 0.1334035133939117E-01 + 0.1333886456502541E-01 + 0.1333720507758144E-01 + 0.1333537213138327E-01 + 0.1333336498206497E-01 + 0.1333118290555730E-01 + 0.1332882519772620E-01 + 0.1332629115640245E-01 + 0.1332358009134214E-01 + 0.1332069131834741E-01 + 0.1331762416064422E-01 + 0.1331437797277975E-01 + 0.1331095211725574E-01 + 0.1330734596301529E-01 + 0.1330355889248643E-01 + 0.1329959029013362E-01 + 0.1329543955582493E-01 + 0.1329110610606885E-01 + 0.1328658936057166E-01 + 0.1328188876441812E-01 + 0.1327700377710199E-01 + 0.1327193386183383E-01 + 0.1326667849890408E-01 + 0.1326123717342625E-01 + 0.1325560938106366E-01 + 0.1324979464166776E-01 + 0.1324379247877172E-01 + 0.1323760243166508E-01 + 0.1323122405834799E-01 + 0.1322465691942140E-01 + 0.1321790059409430E-01 + 0.1321095467323165E-01 + 0.1320381875422780E-01 + 0.1319649246768534E-01 + 0.1318897545476067E-01 + 0.1318126735985323E-01 + 0.1317336783569249E-01 + 0.1316527653690460E-01 + 0.1315699314584688E-01 + 0.1314851738103894E-01 + 0.1313984896386816E-01 + 0.1313098762241303E-01 + 0.1312193308935997E-01 + 0.1311268510364294E-01 + 0.1310324343988445E-01 + 0.1309360788536919E-01 + 0.1308377823491909E-01 + 0.1307375430443257E-01 + 0.1306353591379319E-01 + 0.1305312290166692E-01 + 0.1304251513364686E-01 + 0.1303171247820707E-01 + 0.1302071481606697E-01 + 0.1300952203726944E-01 + 0.1299813403837379E-01 + 0.1298655075630128E-01 + 0.1297477214390365E-01 + 0.1296279815867183E-01 + 0.1295062877232355E-01 + 0.1293826395964185E-01 + 0.1292570371480472E-01 + 0.1291294806255502E-01 + 0.1289999703129919E-01 + 0.1288685066548466E-01 + 0.1287350902299795E-01 + 0.1285997216722816E-01 + 0.1284624019778424E-01 + 0.1283231323014349E-01 + 0.1281819138390408E-01 + 0.1280387479244122E-01 + 0.1278936359241609E-01 + 0.1277465794195534E-01 + 0.1275975803639874E-01 + 0.1274466407552849E-01 + 0.1272937627165479E-01 + 0.1271389484862174E-01 + 0.1269822003511046E-01 + 0.1268235209451946E-01 + 0.1266629130709472E-01 + 0.1265003795895094E-01 + 0.1263359235787568E-01 + 0.1261695481710503E-01 + 0.1260012566548144E-01 + 0.1258310526159022E-01 + 0.1256589396831474E-01 + 0.1254849216697925E-01 + 0.1253090025753909E-01 + 0.1251311864412669E-01 + 0.1249514775982827E-01 + 0.1247698805327447E-01 + 0.1245863997920393E-01 + 0.1244010401712093E-01 + 0.1242138065337822E-01 + 0.1240247038603155E-01 + 0.1238337373763015E-01 + 0.1236409123498002E-01 + 0.1234462343099178E-01 + 0.1232497090751996E-01 + 0.1230513424987584E-01 + 0.1228511406103445E-01 + 0.1226491095447703E-01 + 0.1224452555017502E-01 + 0.1222395849729168E-01 + 0.1220321045392524E-01 + 0.1218228209094644E-01 + 0.1216117410869414E-01 + 0.1213988721247832E-01 + 0.1211842212442531E-01 + 0.1209677958709474E-01 + 0.1207496034708881E-01 + 0.1205296518038865E-01 + 0.1203079488213300E-01 + 0.1200845025117545E-01 + 0.1198593210284875E-01 + 0.1196324125820923E-01 + 0.1194037855226703E-01 + 0.1191734485559135E-01 + 0.1189414104514726E-01 + 0.1187076801416966E-01 + 0.1184722667756321E-01 + 0.1182351795377252E-01 + 0.1179964278357135E-01 + 0.1177560212377150E-01 + 0.1175139693605339E-01 + 0.1172702820685009E-01 + 0.1170249693196932E-01 + 0.1167780411804629E-01 + 0.1165295080197688E-01 + 0.1162793802666613E-01 + 0.1160276684726405E-01 + 0.1157743833674973E-01 + 0.1155195357172616E-01 + 0.1152631365625013E-01 + 0.1150051971600101E-01 + 0.1147457288096364E-01 + 0.1144847430311367E-01 + 0.1142222514367954E-01 + 0.1139582657160150E-01 + 0.1136927977925702E-01 + 0.1134258596436390E-01 + 0.1131574634204532E-01 + 0.1128876215533745E-01 + 0.1126163465112898E-01 + 0.1123436509117487E-01 + 0.1120695475011107E-01 + 0.1117940490736868E-01 + 0.1115171687142842E-01 + 0.1112389196417102E-01 + 0.1109593151304198E-01 + 0.1106783686357801E-01 + 0.1103960936598795E-01 + 0.1101125038891130E-01 + 0.1098276133347660E-01 + 0.1095414360500169E-01 + 0.1092539861511489E-01 + 0.1089652778144753E-01 + 0.1086753252669034E-01 + 0.1083841430949980E-01 + 0.1080917460675461E-01 + 0.1077981490046701E-01 + 0.1075033669057610E-01 + 0.1072074148201338E-01 + 0.1069103078886081E-01 + 0.1066120614261679E-01 + 0.1063126907811975E-01 + 0.1060122114853493E-01 + 0.1057106392604644E-01 + 0.1054079898706618E-01 + 0.1051042793409507E-01 + 0.1047995238427853E-01 + 0.1044937395763575E-01 + 0.1041869428385395E-01 + 0.1038791499586227E-01 + 0.1035703774033669E-01 + 0.1032606419308596E-01 + 0.1029499603476562E-01 + 0.1026383495811109E-01 + 0.1023258266954487E-01 + 0.1020124087835313E-01 + 0.1016981130977309E-01 + 0.1013829569899284E-01 + 0.1010669578794727E-01 + 0.1007501334819912E-01 + 0.1004325016093236E-01 + 0.1001140800915472E-01 + 0.9979488679191945E-02 + 0.9947493959105369E-02 + 0.9915425659118096E-02 + 0.9883285617054760E-02 + 0.9851075673888001E-02 + 0.9818797679465281E-02 + 0.9786453489813535E-02 + 0.9754044965937798E-02 + 0.9721573992061988E-02 + 0.9689042460855170E-02 + 0.9656452263558379E-02 + 0.9623805286232960E-02 + 0.9591103416472038E-02 + 0.9558348619330291E-02 + 0.9525542966361446E-02 + 0.9492688492268421E-02 + 0.9459786600263211E-02 + 0.9426838230564940E-02 + 0.9393844266766440E-02 + 0.9360805308797698E-02 + 0.9327721849364810E-02 + 0.9294594410013549E-02 + 0.9261423598040912E-02 + 0.9228210036661977E-02 + 0.9194954342088540E-02 + 0.9161657119772428E-02 + 0.9128318976402518E-02 + 0.9094940549388539E-02 + 0.9061522500961706E-02 + 0.9028065492310665E-02 + 0.8994570171031931E-02 + 0.8961037179182572E-02 + 0.8927467171310100E-02 + 0.8893860842599789E-02 + 0.8860218896762433E-02 + 0.8826542031952421E-02 + 0.8792830936842645E-02 + 0.8759086300483929E-02 + 0.8725308831126686E-02 + 0.8691499254063718E-02 + 0.8657658296277559E-02 + 0.8623786691237598E-02 + 0.8589885175591229E-02 + 0.8555954489598170E-02 + 0.8521995385889534E-02 + 0.8488008620222344E-02 + 0.8453994952787545E-02 + 0.8419955151669994E-02 + 0.8385889986332767E-02 + 0.8351800231800175E-02 + 0.8317686668516904E-02 + 0.8283550079125368E-02 + 0.8249391260950278E-02 + 0.8215211019009294E-02 + 0.8181010159739275E-02 + 0.8146789494088370E-02 + 0.8112549834410427E-02 + 0.8078291993100411E-02 + 0.8044016782283109E-02 + 0.8009725015156855E-02 + 0.7975417526196358E-02 + 0.7941095172593366E-02 + 0.7906758810712575E-02 + 0.7872409274992556E-02 + 0.7838047387620407E-02 + 0.7803673979234373E-02 + 0.7769289918402732E-02 + 0.7734896084715498E-02 + 0.7700493349592731E-02 + 0.7666082565642508E-02 + 0.7631664583683829E-02 + 0.7597240269521426E-02 + 0.7562810506492284E-02 + 0.7528376178890350E-02 + 0.7493938167025126E-02 + 0.7459497348861108E-02 + 0.7425054604328222E-02 + 0.7390610822051241E-02 + 0.7356166893666220E-02 + 0.7321723712388629E-02 + 0.7287282174804812E-02 + 0.7252843178338074E-02 + 0.7218407620976333E-02 + 0.7183976401327863E-02 + 0.7149550418807954E-02 + 0.7115130578476756E-02 + 0.7080717789385527E-02 + 0.7046312960318396E-02 + 0.7011916996381805E-02 + 0.6977530801636257E-02 + 0.6943155284164209E-02 + 0.6908791362481825E-02 + 0.6874439957140388E-02 + 0.6840101985986145E-02 + 0.6805778362868812E-02 + 0.6771470001688695E-02 + 0.6737177816791506E-02 + 0.6702902722951752E-02 + 0.6668645636075519E-02 + 0.6634407477207656E-02 + 0.6600189169630535E-02 + 0.6565991634058844E-02 + 0.6531815782543486E-02 + 0.6497662525882165E-02 + 0.6463532781044394E-02 + 0.6429427474423206E-02 + 0.6395347533038476E-02 + 0.6361293875228189E-02 + 0.6327267412194604E-02 + 0.6293269055818707E-02 + 0.6259299722119026E-02 + 0.6225360329117402E-02 + 0.6191451793981885E-02 + 0.6157575030041138E-02 + 0.6123730950117840E-02 + 0.6089920468636940E-02 + 0.6056144502508865E-02 + 0.6022403968617840E-02 + 0.5988699772285826E-02 + 0.5955032808332989E-02 + 0.5921403972492567E-02 + 0.5887814168377456E-02 + 0.5854264303563134E-02 + 0.5820755284521393E-02 + 0.5787288012415390E-02 + 0.5753863387403111E-02 + 0.5720482306845200E-02 + 0.5687145662469481E-02 + 0.5653854345502710E-02 + 0.5620609243021030E-02 + 0.5587411237946146E-02 + 0.5554261213236273E-02 + 0.5521160051066378E-02 + 0.5488108633367224E-02 + 0.5455107840566503E-02 + 0.5422158545605470E-02 + 0.5389261619694556E-02 + 0.5356417931877235E-02 + 0.5323628346272786E-02 + 0.5290893726572172E-02 + 0.5258214933628223E-02 + 0.5225592825138909E-02 + 0.5193028258208379E-02 + 0.5160522082549759E-02 + 0.5128075143715485E-02 + 0.5095688286438586E-02 + 0.5063362350590241E-02 + 0.5031098174839430E-02 + 0.4998896595041542E-02 + 0.4966758440092561E-02 + 0.4934684538040908E-02 + 0.4902675712198624E-02 + 0.4870732780088441E-02 + 0.4838856558678874E-02 + 0.4807047859286770E-02 + 0.4775307489720653E-02 + 0.4743636256312159E-02 + 0.4712034956589694E-02 + 0.4680504385412693E-02 + 0.4649045335198185E-02 + 0.4617658591603798E-02 + 0.4586344939341204E-02 + 0.4555105157587589E-02 + 0.4523940018071052E-02 + 0.4492850291791244E-02 + 0.4461836743435935E-02 + 0.4430900133327063E-02 + 0.4400041220327131E-02 + 0.4369260753842663E-02 + 0.4338559480033078E-02 + 0.4307938142343143E-02 + 0.4277397475958885E-02 + 0.4246938214728230E-02 + 0.4216561086623043E-02 + 0.4186266810903144E-02 + 0.4156056105954453E-02 + 0.4125929683667890E-02 + 0.4095888250956042E-02 + 0.4065932513224707E-02 + 0.4036063165351770E-02 + 0.4006280898138656E-02 + 0.3976586399581843E-02 + 0.3946980348258255E-02 + 0.3917463421016420E-02 + 0.3888036289225494E-02 + 0.3858699615288703E-02 + 0.3829454060556019E-02 + 0.3800300278186230E-02 + 0.3771238914389009E-02 + 0.3742270614118079E-02 + 0.3713396013185406E-02 + 0.3684615743465454E-02 + 0.3655930433509085E-02 + 0.3627340699620508E-02 + 0.3598847155546570E-02 + 0.3570450410446540E-02 + 0.3542151065173172E-02 + 0.3513949719487401E-02 + 0.3485846964113598E-02 + 0.3457843381322201E-02 + 0.3429939552021760E-02 + 0.3402136046994004E-02 + 0.3374433432142716E-02 + 0.3346832270642714E-02 + 0.3319333114478689E-02 + 0.3291936513012011E-02 + 0.3264643010275147E-02 + 0.3237453139690926E-02 + 0.3210367433279111E-02 + 0.3183386414594805E-02 + 0.3156510598474291E-02 + 0.3129740498463564E-02 + 0.3103076618251960E-02 + 0.3076519456255371E-02 + 0.3050069508038555E-02 + 0.3023727256322777E-02 + 0.2997493180432578E-02 + 0.2971367754741344E-02 + 0.2945351442729765E-02 + 0.2919444706341911E-02 + 0.2893647999810351E-02 + 0.2867961768626324E-02 + 0.2842386456857616E-02 + 0.2816922497002086E-02 + 0.2791570314685700E-02 + 0.2766330333302316E-02 + 0.2741202965236234E-02 + 0.2716188619618886E-02 + 0.2691287700244867E-02 + 0.2666500597960368E-02 + 0.2641827701638492E-02 + 0.2617269393022982E-02 + 0.2592826044966432E-02 + 0.2568498028985782E-02 + 0.2544285705819979E-02 + 0.2520189429136558E-02 + 0.2496209550090554E-02 + 0.2472346406326722E-02 + 0.2448600331004586E-02 + 0.2424971653594335E-02 + 0.2401460693617964E-02 + 0.2378067768865151E-02 + 0.2354793188399062E-02 + 0.2331637249324251E-02 + 0.2308600247278565E-02 + 0.2285682468331939E-02 + 0.2262884191632384E-02 + 0.2240205694216812E-02 + 0.2217647240791554E-02 + 0.2195209091497626E-02 + 0.2172891502336688E-02 + 0.2150694717007302E-02 + 0.2128618976893292E-02 + 0.2106664515896414E-02 + 0.2084831556638471E-02 + 0.2063120320295515E-02 + 0.2041531018861673E-02 + 0.2020063857013423E-02 + 0.1998719037389791E-02 + 0.1977496749823275E-02 + 0.1956397178863731E-02 + 0.1935420505368430E-02 + 0.1914566898066782E-02 + 0.1893836523164534E-02 + 0.1873229540035440E-02 + 0.1852746096720443E-02 + 0.1832386339718484E-02 + 0.1812150406034969E-02 + 0.1792038424350188E-02 + 0.1772050521663366E-02 + 0.1752186814107527E-02 + 0.1732447412839619E-02 + 0.1712832425014341E-02 + 0.1693341943269279E-02 + 0.1673976056912187E-02 + 0.1654734850313328E-02 + 0.1635618398825994E-02 + 0.1616626776365082E-02 + 0.1597760046242946E-02 + 0.1579018261553117E-02 + 0.1560401473815303E-02 + 0.1541909724601288E-02 + 0.1523543050433030E-02 + 0.1505301484439409E-02 + 0.1487185046188783E-02 + 0.1469193751778569E-02 + 0.1451327612426217E-02 + 0.1433586629542456E-02 + 0.1415970802956027E-02 + 0.1398480122460170E-02 + 0.1381114567225495E-02 + 0.1363874114972382E-02 + 0.1346758734549592E-02 + 0.1329768389824089E-02 + 0.1312903041632748E-02 + 0.1296162637511237E-02 + 0.1279547121198475E-02 + 0.1263056431469222E-02 + 0.1246690496110529E-02 + 0.1230449241134159E-02 + 0.1214332584687863E-02 + 0.1198340435781675E-02 + 0.1182472701933622E-02 + 0.1166729280446089E-02 + 0.1151110062293921E-02 + 0.1135614935922009E-02 + 0.1120243777774138E-02 + 0.1104996460475266E-02 + 0.1089872852439947E-02 + 0.1074872811824274E-02 + 0.1059996194957457E-02 + 0.1045242850076564E-02 + 0.1030612615098843E-02 + 0.1016105326522685E-02 + 0.1001720812409997E-02 + 0.9874588950629947E-03 + 0.9733193943477826E-03 + 0.9593021174896160E-03 + 0.9454068672446269E-03 + 0.9316334428750308E-03 + 0.9179816342896782E-03 + 0.9044512295775554E-03 + 0.8910420094988087E-03 + 0.8777537445583988E-03 + 0.8645862038161106E-03 + 0.8515391479913927E-03 + 0.8386123315424490E-03 + 0.8258055068774345E-03 + 0.8131184150974880E-03 + 0.8005507928581739E-03 + 0.7881023734333892E-03 + 0.7757728801292467E-03 + 0.7635620341693562E-03 + 0.7514695508265579E-03 + 0.7394951362450088E-03 + 0.7276384951310716E-03 + 0.7158993232632782E-03 + 0.7042773090619823E-03 + 0.6927721393767197E-03 + 0.6813834923920402E-03 + 0.6701110424991707E-03 + 0.6589544604527214E-03 + 0.6479134051517967E-03 + 0.6369875328254192E-03 + 0.6261764953154501E-03 + 0.6154799371030483E-03 + 0.6048975013705611E-03 + 0.5944288227138048E-03 + 0.5840735279636911E-03 + 0.5738312424048313E-03 + 0.5637015824355264E-03 + 0.5536841601569533E-03 + 0.5437785849624211E-03 + 0.5339844566544452E-03 + 0.5243013726086909E-03 + 0.5147289254415355E-03 + 0.5052666989913723E-03 + 0.4959142756670483E-03 + 0.4866712309233808E-03 + 0.4775371333202157E-03 + 0.4685115500132952E-03 + 0.4595940397405917E-03 + 0.4507841567464901E-03 + 0.4420814528966363E-03 + 0.4334854708937166E-03 + 0.4249957508740726E-03 + 0.4166118287600452E-03 + 0.4083332319551756E-03 + 0.4001594864056431E-03 + 0.3920901119367184E-03 + 0.3841246217275437E-03 + 0.3762625276713139E-03 + 0.3685033339258548E-03 + 0.3608465400974015E-03 + 0.3532916436972928E-03 + 0.3458381335178898E-03 + 0.3384854956457351E-03 + 0.3312332126209122E-03 + 0.3240807591431363E-03 + 0.3170276084579640E-03 + 0.3100732281796711E-03 + 0.3032170792313252E-03 + 0.2964586213434195E-03 + 0.2897973073956186E-03 + 0.2832325858301362E-03 + 0.2767639032713943E-03 + 0.2703906982454935E-03 + 0.2641124064897449E-03 + 0.2579284606409964E-03 + 0.2518382858414457E-03 + 0.2458413057417910E-03 + 0.2399369392008067E-03 + 0.2341245988552033E-03 + 0.2284036962090158E-03 + 0.2227736363194619E-03 + 0.2172338196606508E-03 + 0.2117836451856175E-03 + 0.2064225047666852E-03 + 0.2011497875639716E-03 + 0.1959648800374431E-03 + 0.1908671615246180E-03 + 0.1858560098237531E-03 + 0.1809307985290471E-03 + 0.1760908952743890E-03 + 0.1713356666263223E-03 + 0.1666644735678320E-03 + 0.1620766727271112E-03 + 0.1575716193860349E-03 + 0.1531486622661487E-03 + 0.1488071473091148E-03 + 0.1445464182114696E-03 + 0.1403658122534545E-03 + 0.1362646651880238E-03 + 0.1322423090983333E-03 + 0.1282980703935176E-03 + 0.1244312744576781E-03 + 0.1206412418543072E-03 + 0.1169272890299781E-03 + 0.1132887312516158E-03 + 0.1097248778850381E-03 + 0.1062350355309414E-03 + 0.1028185089023097E-03 + 0.9947459689989167E-04 + 0.9620259690012068E-04 + 0.9300180320980296E-04 + 0.8987150497564889E-04 + 0.8681099035969108E-04 + 0.8381954325168175E-04 + 0.8089644355451544E-04 + 0.7804097014962887E-04 + 0.7525239686628469E-04 + 0.7252999491486802E-04 + 0.6987303391938210E-04 + 0.6728077828719760E-04 + 0.6475249091222024E-04 + 0.6228743208703945E-04 + 0.5988485735986844E-04 + 0.5754402132825130E-04 + 0.5526417504748514E-04 + 0.5304456596752146E-04 + 0.5088444063394384E-04 + 0.4878304118696667E-04 + 0.4673960725014998E-04 + 0.4475337712964836E-04 + 0.4282358457795878E-04 + 0.4094946187841432E-04 + 0.3913023918887614E-04 + 0.3736514248745631E-04 + 0.3565339684346688E-04 + 0.3399422434183759E-04 + 0.3238684376370964E-04 + 0.3083047309114476E-04 + 0.2932432664995721E-04 + 0.2786761646422446E-04 + 0.2645955346734757E-04 + 0.2509934470420159E-04 + 0.2378619581960758E-04 + 0.2251931073485630E-04 + 0.2129788974375229E-04 + 0.2012113227632945E-04 + 0.1898823536224467E-04 + 0.1789839315332321E-04 + 0.1685079908935014E-04 + 0.1584464360627278E-04 + 0.1487911506161557E-04 + 0.1395340091983927E-04 + 0.1306668546291450E-04 + 0.1221815168656361E-04 + 0.1140698122328145E-04 + 0.1063235267814338E-04 + 0.9893443850223772E-05 + 0.9189430657773389E-05 + 0.8519486593402665E-05 + 0.7882784516467728E-05 + 0.7278494935608439E-05 + 0.6705786573873675E-05 + 0.6163827423523596E-05 + 0.5651782975288672E-05 + 0.5168817578752733E-05 + 0.4714094542607022E-05 + 0.4286774801891125E-05 + 0.3886018564304183E-05 + 0.3510984618126240E-05 + 0.3160829806119420E-05 + 0.2834710411024186E-05 + 0.2531780998702286E-05 + 0.2251194705673445E-05 + 0.1992104074532935E-05 + 0.1753659819102016E-05 + 0.1535011699446480E-05 + 0.1335308706819185E-05 + 0.1153698121804797E-05 + 0.9893265964069983E-06 + 0.8413397937480116E-06 + 0.7088819770183164E-06 + 0.5910969229666829E-06 + 0.4871272699961916E-06 + 0.3961146220277366E-06 + 0.3172001065531827E-06 + 0.2495236941769535E-06 + 0.1922246407671419E-06 + 0.1444416614955101E-06 + 0.1053124328882129E-06 + 0.7397412700923994E-07 + 0.4956332050161572E-07 + 0.3121579423557010E-07 + 0.1806692087863425E-07 + 0.9251422554216926E-08 + 0.3903384615269487E-08 + 0.1156542889210542E-08 + 0.1443625144722101E-09 diff --git a/examples/SPIN/nickel/in.spin.nickel b/examples/SPIN/nickel/in.spin.nickel new file mode 100644 index 0000000000..09ac4abb0b --- /dev/null +++ b/examples/SPIN/nickel/in.spin.nickel @@ -0,0 +1,59 @@ +# fcc cobalt in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# check why? +atom_modify map array + +lattice fcc 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.93 + +set group all spin/random 31 1.72 +velocity all create 100 4928459 rot yes dist gaussian + +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_coeff * * eam/alloy ../examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.1 21 + +fix 3 all integration/spin lattice yes + +timestep 0.0001 + + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 + +thermo_style custom step time v_magnorm v_emag temp etotal +thermo 10 + +#dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz + +run 1000 + diff --git a/examples/SPIN/read_restart/in.spin.read_data b/examples/SPIN/read_restart/in.spin.read_data index 81d654ad5b..7e9519ae3f 100644 --- a/examples/SPIN/read_restart/in.spin.read_data +++ b/examples/SPIN/read_restart/in.spin.read_data @@ -52,7 +52,7 @@ fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) #Temp | Alpha_trans | Alpha_long | Seed -fix 2 all langevin/spin 0.0 0.0 0.0 21 +fix 2 all langevin/spin 0.0 0.0 21 #Magnetic integration fix fix 3 all integration/spin serial diff --git a/examples/SPIN/skyrmion/in.spin.skyrmion b/examples/SPIN/skyrmion/in.spin.skyrmion index b2f1f62057..4897dc48a2 100644 --- a/examples/SPIN/skyrmion/in.spin.skyrmion +++ b/examples/SPIN/skyrmion/in.spin.skyrmion @@ -1,55 +1,81 @@ -# fcc cobalt in a 3d box +# initial variables -clear -units metal -atom_style spin +# dimensions of the box and of each layer +variable box_size equal 50.0 +variable ir_thick equal 4.0 +variable fe_thick equal 0.5 +variable pd_thick equal 0.5 -dimension 3 -boundary p p f +variable fe_hi equal ${ir_thick}+${fe_thick} +variable pd_hi equal ${ir_thick}+${fe_thick}+${pd_thick} + + +units metal +atom_style spin + +dimension 3 +boundary p p f # check why? -atom_modify map array +atom_modify map array -lattice fcc 3.54 -region box block 0.0 50.0 0.0 50.0 0.0 4.0 -create_box 1 box -create_atoms 1 box +lattice fcc 3.839 orient x 1 -1 0 orient y 1 1 -2 orient z 1 1 1 +region box block 0.0 ${box_size} 0.0 ${box_size} 0.0 ${pd_hi} +region box_ir block 0.0 ${box_size} 0.0 ${box_size} 0.0 ${ir_thick} +region box_fe block 0.0 ${box_size} 0.0 ${box_size} ${ir_thick} ${fe_hi} +region box_pd block 0.0 ${box_size} 0.0 ${box_size} ${fe_hi} ${pd_hi} -# setting mass, mag. moments, and interactions for cobalt +create_box 3 box -mass 1 58.93 +create_atoms 1 region box_ir +create_atoms 2 region box_fe +create_atoms 3 region box_pd + +group ir_atoms region box_ir +group fe_atoms region box_fe +group pd_atoms region box_pd + +# setting mass, mag. moments, and interactions for cobalt -set group all spin/random 31 1.72 +mass 1 192.217 # mass of Ir atoms +mass 2 55.845 # mass of Fe atoms +mass 3 106.42 # mass of Pd atoms -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_style hybrid/overlay pair/spin/exchange 4.0 pair/spin/soc/dmi 2.6 -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 -pair_coeff * * pair/spin/soc/dmi dmi 2.6 0.01 0.0 0.0 1.0 -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 +set group ir_atoms spin/random 31 0.01 # has to set a length for LAMMPS to be happy +set group fe_atoms spin/random 89 2.7 +set group pd_atoms spin/random 55 0.3 -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +pair_style hybrid/overlay pair/spin/exchange 4.0 +#pair_style hybrid/overlay pair/spin/exchange 4.0 pair/spin/soc/dmi 2.6 +pair_coeff * * pair/spin/exchange exchange 4.0 0.0 0.003496 1.4885 +pair_coeff 2 2 pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +#pair_coeff * * pair/spin/soc/dmi dmi 2.6 0.01 0.0 0.0 1.0 +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 -fix 1 all force/spin anisotropy 0.0001 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.1 0.0 21 +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 -fix 3 all integration/spin lattice no +fix 1 fe_atoms force/spin anisotropy 0.0001 0.0 0.0 1.0 +fix 2 all force/spin zeeman 0.1 0.0 0.0 1.0 +fix 3 all langevin/spin 0.0 0.1 21 +fix 4 all integration/spin lattice no timestep 0.0002 # define output and run -compute out_mag all compute/spin -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] -variable mag_force equal f_1 +compute out_mag all compute/spin +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] +variable mag_force equal f_1 thermo_style custom step time v_magnorm v_emag etotal -thermo 50 +thermo 10 -dump 1 all custom 50 dump_skyrmion.lammpstrj type x y z spx spy spz +dump 1 all custom 50 dump_skyrmion.lammpstrj type x y z spx spy spz -run 10000 +run 1000 diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index b017e20ae3..2a7f49b0e6 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -51,7 +51,7 @@ using namespace MathConst; FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), id_temp(NULL), random(NULL) { - if (narg != 7) error->all(FLERR,"Illegal langevin/spin command"); + if (narg != 6) error->all(FLERR,"Illegal langevin/spin command"); dynamic_group_allow = 1; scalar_flag = 1; @@ -61,8 +61,7 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : temp = force->numeric(FLERR,arg[3]); alpha_t = force->numeric(FLERR,arg[4]); - alpha_l = force->numeric(FLERR,arg[5]); - seed = force->inumeric(FLERR,arg[6]); + seed = force->inumeric(FLERR,arg[5]); if (alpha_t < 0.0) { error->all(FLERR,"Illegal langevin/spin command"); @@ -72,14 +71,6 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : tdamp_flag = 1; } - if (alpha_l < 0.0) { - error->all(FLERR,"Illegal langevin/spin command"); - } else if (alpha_l == 0.0) { - ldamp_flag = 0; - } else { - ldamp_flag = 1; - } - if (temp < 0.0) { error->all(FLERR,"Illegal langevin/spin command"); } else if (temp == 0.0) { @@ -119,7 +110,8 @@ int FixLangevinSpin::setmask() void FixLangevinSpin::init() { - // warn if any fix comes after this one + // fix_langevin_spin has to be the last defined fix + int after = 0; int flag_force = 0; int flag_lang = 0; diff --git a/src/SPIN/fix_langevin_spin.h b/src/SPIN/fix_langevin_spin.h index d95f5c08c7..276f03499a 100644 --- a/src/SPIN/fix_langevin_spin.h +++ b/src/SPIN/fix_langevin_spin.h @@ -39,7 +39,7 @@ class FixLangevinSpin : public Fix { protected: double *spi, *fmi; - double alpha_t, alpha_l; // transverse and longitudunal damping coeff. + double alpha_t; // transverse mag. damping double dts; // magnetic timestep double temp; // spin bath temperature double D,sigma; // bath intensity var. -- GitLab From eab737a45c9c32993880c78b97b60012b8ab526a Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 13 Feb 2018 13:06:10 -0700 Subject: [PATCH 073/675] Delete Co_PurjaPun_2012.eam.alloy --- examples/SPIN/Co_PurjaPun_2012.eam.alloy | 6006 ---------------------- 1 file changed, 6006 deletions(-) delete mode 100644 examples/SPIN/Co_PurjaPun_2012.eam.alloy diff --git a/examples/SPIN/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/Co_PurjaPun_2012.eam.alloy deleted file mode 100644 index 3af058baf7..0000000000 --- a/examples/SPIN/Co_PurjaPun_2012.eam.alloy +++ /dev/null @@ -1,6006 +0,0 @@ -Cobalt EAM potential: G. P. Purja Pun and Y. Mishin, Phys. Rev. B xx, 004100 (2012) (in press) -Data below r = 1.5 A is extrapolated. F(Rho) data not extrapolated. -Created on Wed Sep 26 17:29:54 2012 -1 Co -10000 4.788742913000000e-04 10000 6.499539000000001e-04 6.499539000000000e+00 -27 5.893320000000000e+01 2.507000000000000e+00 hcp - -1.680303080000000e-02 -1.879913964471138e-02 -2.091739081044659e-02 -2.303564197615629e-02 -2.503175082079116e-02 - -2.681996612041136e-02 -2.846010103933253e-02 -3.003179469400266e-02 -3.154842562124295e-02 -3.300931506782415e-02 - -3.442381570000001e-02 -3.580233366714632e-02 -3.714945763166951e-02 -3.846832763111274e-02 -3.976210669053554e-02 - -4.103374908125148e-02 -4.228535107207521e-02 -4.351872320172212e-02 -4.473539109100971e-02 -4.593674531110434e-02 - -4.712392115246503e-02 -4.829795108118731e-02 -4.945971154662068e-02 -5.061001094949964e-02 -5.174954151284258e-02 - -5.287894548568519e-02 -5.399878139884967e-02 -5.510957102742049e-02 -5.621177284174523e-02 -5.730581735016625e-02 - -5.839208651773948e-02 -5.947094067448531e-02 -6.054270215356945e-02 -6.160767623453070e-02 -6.266613797925552e-02 - -6.371834880435967e-02 -6.476454576302854e-02 -6.580495483863194e-02 -6.683978209870683e-02 -6.786922452279202e-02 - -6.889346265426707e-02 -6.991266949659354e-02 -7.092700432972064e-02 -7.193662011890395e-02 -7.294165829413661e-02 - -7.394225494811188e-02 -7.493853635958479e-02 -7.593062425993033e-02 -7.691863200494162e-02 -7.790266905197404e-02 - -7.888283764021425e-02 -7.985923664258643e-02 -8.083195868513401e-02 -8.180109346997461e-02 -8.276672525040257e-02 - -8.372893572415932e-02 -8.468780181559693e-02 -8.564339820511864e-02 -8.659579537072190e-02 -8.754506181558984e-02 - -8.849126234605453e-02 -8.943446001410092e-02 -9.037471455117625e-02 -9.131208412841478e-02 -9.224662399623559e-02 - -9.317838801321032e-02 -9.410742739123597e-02 -9.503379209498646e-02 -9.595752974691800e-02 -9.687868684755546e-02 - -9.779730775191570e-02 -9.871343580120046e-02 -9.962711242685958e-02 -1.005383781439554e-01 -1.014472717117523e-01 - -1.023538310651938e-01 -1.032580925977369e-01 -1.041600919387366e-01 -1.050598632026273e-01 -1.059574398208095e-01 - -1.068528540074704e-01 -1.077461373458066e-01 -1.086373201122683e-01 -1.095264320028559e-01 -1.104135016985198e-01 - -1.112985573626335e-01 -1.121816261033156e-01 -1.130627345294291e-01 -1.139419083080692e-01 -1.148191726662944e-01 - -1.156945520127823e-01 -1.165680703406650e-01 -1.174397507992727e-01 -1.183096161572101e-01 -1.191776885039839e-01 - -1.200439895800373e-01 -1.209085404086571e-01 -1.217713616730546e-01 -1.226324734132936e-01 -1.234918953788508e-01 - -1.243496468000000e-01 -1.252057466264230e-01 -1.260602132046348e-01 -1.269130646065986e-01 -1.277643184092350e-01 - -1.286139919512837e-01 -1.294621021138015e-01 -1.303086655551642e-01 -1.311536985007052e-01 -1.319972169590798e-01 - -1.328392365052704e-01 -1.336797725161469e-01 -1.345188400098036e-01 -1.353564538215464e-01 -1.361926284143060e-01 - -1.370273780803152e-01 -1.378607168013910e-01 -1.386926583917836e-01 -1.395232163058920e-01 -1.403524038515728e-01 - -1.411802341103638e-01 -1.420067200256853e-01 -1.428318742148069e-01 -1.436557091565456e-01 -1.444782371020595e-01 - -1.452994701862315e-01 -1.461194203065015e-01 -1.469380992388567e-01 -1.477555185109162e-01 -1.485716895480879e-01 - -1.493866236153044e-01 -1.502003318703277e-01 -1.510128252027127e-01 -1.518241144121522e-01 -1.526342102070998e-01 - -1.534431232126203e-01 -1.542508638114616e-01 -1.550574422930448e-01 -1.558628688157988e-01 -1.566671534698807e-01 - -1.574703062033520e-01 -1.582723368973844e-01 -1.590732553076882e-01 -1.598730711132973e-01 -1.606717938120008e-01 - -1.614694328459875e-01 -1.622659976162905e-01 -1.630614974730487e-01 -1.638559416039789e-01 -1.646493391351259e-01 - -1.654416991082678e-01 -1.662330305252601e-01 -1.670233423125346e-01 -1.678126433512354e-01 -1.686009424167802e-01 - -1.693882482431861e-01 -1.701745695045948e-01 -1.709599148401449e-01 -1.717442928088396e-01 -1.725277119385885e-01 - -1.733101807130639e-01 -1.740917075837066e-01 -1.748723009172683e-01 -1.756519690655456e-01 -1.764307204052008e-01 - -1.772085632840185e-01 -1.779855059094047e-01 -1.787615564692287e-01 -1.795367232135896e-01 -1.803110143830451e-01 - -1.810844381177561e-01 -1.818570025406103e-01 -1.826287158057983e-01 -1.833995860626770e-01 -1.841696214099643e-01 - -1.849388299454831e-01 -1.857072198141128e-01 -1.864747991526175e-01 -1.872415760182443e-01 -1.880075584641173e-01 - -1.887727546063884e-01 -1.895371725773110e-01 -1.903008205105196e-01 -1.910637065418589e-01 -1.918258388146347e-01 - -1.925872254807121e-01 -1.933478747187342e-01 -1.941077947209150e-01 -1.948669937069724e-01 -1.956254799127480e-01 - -1.963832616110719e-01 -1.971403470967068e-01 -1.978967447151567e-01 -1.986524628291068e-01 -1.994075098192274e-01 - -2.001618941005484e-01 -2.009156242075518e-01 -2.016687086990372e-01 -2.024211561116226e-01 -2.031729750127928e-01 - -2.039241741156804e-01 -2.046747621691974e-01 -2.054247479197256e-01 -2.061741401521784e-01 -2.069229478081280e-01 - -2.076711798806499e-01 -2.084188454121736e-01 -2.091659534755806e-01 -2.099125132162076e-01 -2.106585338443872e-01 - -2.114040247579823e-01 -2.121489953974893e-01 -2.128934551864067e-01 -2.136374136027109e-01 -2.143808803592873e-01 - -2.151238652468154e-01 -2.158663781322411e-01 -2.166084289346303e-01 -2.173500277052638e-01 -2.180911845646947e-01 - -2.188319097783510e-01 -2.195722136949507e-01 -2.203121068514981e-01 -2.210515998518519e-01 -2.217907033790026e-01 - -2.225294282016381e-01 -2.232677853521022e-01 -2.240057859531163e-01 -2.247434412252567e-01 -2.254807624804862e-01 - -2.262177612984613e-01 -2.269544493586047e-01 -2.276908384717110e-01 -2.284269405581227e-01 -2.291627678450005e-01 - -2.298983326532392e-01 -2.306336473718499e-01 -2.313687245044682e-01 -2.321035769451089e-01 -2.328382177230701e-01 - -2.335726600184018e-01 -2.343069171312917e-01 -2.350410026917230e-01 -2.357749304696442e-01 -2.365087144650665e-01 - -2.372423688046511e-01 -2.379759078915950e-01 -2.387093462817347e-01 -2.394426988649284e-01 -2.401759806938325e-01 - -2.409092071382775e-01 -2.416423937275558e-01 -2.423755563116356e-01 -2.431087109081851e-01 -2.438418738849959e-01 - -2.445750618045980e-01 -2.453082916583512e-01 -2.460415806101058e-01 -2.467749460848467e-01 -2.475084057095742e-01 - -2.482419776582159e-01 -2.489756803241430e-01 -2.497095324315720e-01 -2.504435529132133e-01 -2.511777612049070e-01 - -2.519121769824342e-01 -2.526468203782122e-01 -2.533817117688987e-01 -2.541168720514789e-01 -2.548523223627430e-01 - -2.555880842783758e-01 -2.563241796571988e-01 -2.570606310516858e-01 -2.577974612919421e-01 -2.585346936249472e-01 - -2.592723515924181e-01 -2.600104594981498e-01 -2.607490419576605e-01 -2.614881240712832e-01 -2.622277312727207e-01 - -2.629678898443362e-01 -2.637086264051527e-01 -2.644499680721714e-01 -2.651919423187013e-01 -2.659345775453039e-01 - -2.666779025531186e-01 -2.674219468183432e-01 -2.681667401972407e-01 -2.689123133912765e-01 -2.696586975492495e-01 - -2.704059247640904e-01 -2.711540275538941e-01 -2.719030391932789e-01 -2.726529934197978e-01 -2.734039250662187e-01 - -2.741558694758598e-01 -2.749088629390239e-01 -2.756629422674556e-01 -2.764181454116789e-01 -2.771745108563868e-01 - -2.779320780841674e-01 -2.786908871694924e-01 -2.794509795564719e-01 -2.802123972949423e-01 -2.809751834880072e-01 - -2.817393818716988e-01 -2.825050376604960e-01 -2.832721967688652e-01 -2.840409064327807e-01 -2.848112145951165e-01 - -2.855831707048412e-01 -2.863568249759762e-01 -2.871322291766564e-01 -2.879094358829076e-01 -2.886884993482028e-01 - -2.894694746623641e-01 -2.902524185831628e-01 -2.910373887617654e-01 -2.918244447549689e-01 -2.926136470970381e-01 - -2.934050583264800e-01 -2.941987419693519e-01 -2.949947634976693e-01 -2.957931894604184e-01 -2.965940887685082e-01 - -2.973975314584912e-01 -2.982035897075678e-01 -2.990123368838905e-01 -2.998238489787670e-01 -3.006382032814213e-01 - -3.014554796495834e-01 -3.022757592753754e-01 -3.030991261199829e-01 -3.039256655881672e-01 -3.047554660899296e-01 - -3.055886175640754e-01 -3.064252130593845e-01 -3.072653472379187e-01 -3.081091181048918e-01 -3.089566254021406e-01 - -3.098079724748395e-01 -3.106632645082006e-01 -3.115226104442510e-01 -3.123861211846884e-01 -3.132539117130802e-01 - -3.141260990998875e-01 -3.150028046812773e-01 -3.158841520361693e-01 -3.167702694487885e-01 -3.176612875689104e-01 - -3.185573418032087e-01 -3.194585700942650e-01 -3.203651157713922e-01 -3.212771249044592e-01 -3.221947491388281e-01 - -3.231181430183639e-01 -3.240474671054514e-01 -3.249828850672117e-01 -3.259245669711927e-01 -3.268726862299913e-01 - -3.278274232359761e-01 -3.287889619469540e-01 -3.297574936027157e-01 -3.307332132733838e-01 -3.317163240684192e-01 - -3.327070332351553e-01 -3.337055565330767e-01 -3.347121141277095e-01 -3.357269352965953e-01 -3.367502540927247e-01 - -3.377823145588749e-01 -3.388233658450175e-01 -3.398736675401181e-01 -3.409334847493447e-01 -3.420030942036733e-01 - -3.430827786115977e-01 -3.441728329658748e-01 -3.452735586625544e-01 -3.463852704265985e-01 -3.475082899277179e-01 - -3.486429532857090e-01 -3.497896041380748e-01 -3.509486017430585e-01 -3.521203134619261e-01 -3.533051234472958e-01 - -3.545034246605078e-01 -3.557156285064298e-01 -3.569421559513399e-01 -3.581834477636310e-01 -3.594399550688090e-01 - -3.607121506187135e-01 -3.620005184199024e-01 -3.633055658714727e-01 -3.646278119965309e-01 -3.659677989216845e-01 - -3.673260803339768e-01 -3.687032330586966e-01 -3.700998457090232e-01 -3.715165309114429e-01 -3.729539131544640e-01 - -3.744126403613781e-01 -3.758933720658462e-01 -3.773967908082255e-01 -3.789235902651524e-01 -3.804744856516886e-01 - -3.820502023195389e-01 -3.836514846285581e-01 -3.852790856353807e-01 -3.869337741756033e-01 -3.886163256972291e-01 - -3.903275263189269e-01 -3.920681658458204e-01 -3.938390381581898e-01 -3.956409370872805e-01 -3.974746521930466e-01 - -3.993409682701225e-01 -4.012406553231547e-01 -4.031744727439548e-01 -4.051431522629808e-01 -4.071474082130475e-01 - -4.091879129977703e-01 -4.112653138348391e-01 -4.133801991274390e-01 -4.155331235094092e-01 -4.177245653517079e-01 - -4.199549603385881e-01 -4.222246496703586e-01 -4.245339230260172e-01 -4.268829584832519e-01 -4.292718744431503e-01 - -4.317006622016948e-01 -4.341692468068394e-01 -4.366774154195978e-01 -4.392248845800756e-01 -4.418112262316757e-01 - -4.444359401252420e-01 -4.470983818380713e-01 -4.497978365893122e-01 -4.525334523390530e-01 -4.553043120100788e-01 - -4.581093756350076e-01 -4.609475466791835e-01 -4.638176252290113e-01 -4.667183660407072e-01 -4.696484459287199e-01 - -4.726065094563343e-01 -4.755911501239359e-01 -4.786009429283761e-01 -4.816344399152602e-01 -4.846901882843556e-01 - -4.877667388033212e-01 -4.908626497957108e-01 -4.939765062407663e-01 -4.971069114027755e-01 -5.002525150305011e-01 - -5.034119937007041e-01 -5.065840848176727e-01 -5.097675587133593e-01 -5.129612566028576e-01 -5.161640565945169e-01 - -5.193749134865747e-01 -5.225928209640586e-01 -5.258168515692775e-01 -5.290461169135583e-01 -5.322798060270272e-01 - -5.355171460831645e-01 -5.387574394100244e-01 -5.420000245805213e-01 -5.452443099924439e-01 -5.484897376520451e-01 - -5.517358141745681e-01 -5.549820769247875e-01 -5.582281216566209e-01 -5.614735718423751e-01 -5.647181034387753e-01 - -5.679614169890416e-01 -5.712032588979591e-01 -5.744433972991336e-01 -5.776816413798681e-01 -5.809178193507762e-01 - -5.841517944620215e-01 -5.873834463985003e-01 -5.906126855444893e-01 -5.938394364748391e-01 -5.970636498273136e-01 - -6.002852884426439e-01 -6.035043379105128e-01 -6.067207941645156e-01 -6.099346717649501e-01 -6.131459940881434e-01 - -6.163548011478311e-01 -6.195611404873568e-01 -6.227650731310865e-01 -6.259666663617727e-01 -6.291659990146931e-01 - -6.323631552654742e-01 -6.355582290986170e-01 -6.387513188871106e-01 -6.419425307490256e-01 -6.451319745539882e-01 - -6.483197674327603e-01 -6.515060293214946e-01 -6.546908841167685e-01 -6.578744572836812e-01 -6.610568766009968e-01 - -6.642382709221243e-01 -6.674187710853904e-01 -6.705985088370179e-01 -6.737776175698923e-01 -6.769562312911304e-01 - -6.801344848181089e-01 -6.833125134999645e-01 -6.864904540026142e-01 -6.896684434132225e-01 -6.928466191871651e-01 - -6.960251190039876e-01 -6.992040810717012e-01 -7.023836437724149e-01 -7.055639456561626e-01 -7.087451254024176e-01 - -7.119273220404884e-01 -7.151106745784721e-01 -7.182953215897911e-01 -7.214814016245582e-01 -7.246690535743215e-01 - -7.278584163200112e-01 -7.310496283586513e-01 -7.342428280442573e-01 -7.374381535427195e-01 -7.406357429444993e-01 - -7.438357342264661e-01 -7.470382651689156e-01 -7.502434728794412e-01 -7.534514943101106e-01 -7.566624664635970e-01 - -7.598765262236051e-01 -7.630938099473661e-01 -7.663144537782537e-01 -7.695385935306881e-01 -7.727663648349232e-01 - -7.759979029135046e-01 -7.792333428394971e-01 -7.824728194957561e-01 -7.857164675195603e-01 -7.889644207560909e-01 - -7.922168128628783e-01 -7.954737775389469e-01 -7.987354483417761e-01 -8.020019582211745e-01 -8.052734399002169e-01 - -8.085500258027153e-01 -8.118318481538471e-01 -8.151190386835121e-01 -8.184117289678831e-01 -8.217100504635063e-01 - -8.250141343769457e-01 -8.283241110344656e-01 -8.316401105683494e-01 -8.349622632152548e-01 -8.382906990624389e-01 - -8.416255474951805e-01 -8.449669376504778e-01 -8.483149983741850e-01 -8.516698583310095e-01 -8.550316457522134e-01 - -8.584004886419279e-01 -8.617765145292081e-01 -8.651598508088844e-01 -8.685506248139727e-01 -8.719489622521989e-01 - -8.753549823919468e-01 -8.787687997490927e-01 -8.821905162688262e-01 -8.856202278084699e-01 -8.890580184445617e-01 - -8.925039663319011e-01 -8.959581377191167e-01 -8.994205926453692e-01 -9.028913782181163e-01 -9.063705352609543e-01 - -9.098580923937473e-01 -9.133540718558304e-01 -9.168584825681617e-01 -9.203713268261465e-01 -9.238925937413506e-01 - -9.274222656928153e-01 -9.309603113133150e-01 -9.345066924037853e-01 -9.380613571840678e-01 -9.416242468397124e-01 - -9.451952880001965e-01 -9.487744002152808e-01 -9.523614892719469e-01 -9.559564538973973e-01 -9.595591783425093e-01 - -9.631695396882074e-01 -9.667874008119273e-01 -9.704126174878044e-01 -9.740450312802591e-01 -9.776844767743714e-01 - -9.813307748475731e-01 -9.849837394560669e-01 -9.886431705787867e-01 -9.923088615430331e-01 -9.959805930468456e-01 - -9.996581394281877e-01 -1.003341262213973e+00 -1.007029716826452e+00 -1.010723247080268e+00 -1.014421591236032e+00 - -1.018124476945841e+00 -1.021831626529500e+00 -1.025542751586175e+00 -1.029257558992056e+00 -1.032975747452084e+00 - -1.036697011770175e+00 -1.040421039317395e+00 -1.044147513860548e+00 -1.047876112182243e+00 -1.051606508161453e+00 - -1.055338371046766e+00 -1.059071368055605e+00 -1.062805162911107e+00 -1.066539417837194e+00 -1.070273792555226e+00 - -1.074007946119602e+00 -1.077741537419413e+00 -1.081474225260823e+00 -1.085205668283577e+00 -1.088935525821090e+00 - -1.092663460147868e+00 -1.096389134999202e+00 -1.100112217012435e+00 -1.103832374788097e+00 -1.107549281877421e+00 - -1.111262614364874e+00 -1.114972053517157e+00 -1.118677283811066e+00 -1.122377997381517e+00 -1.126073890115035e+00 - -1.129764665246453e+00 -1.133450029987863e+00 -1.137129700112097e+00 -1.140803395884355e+00 -1.144470846978575e+00 - -1.148131787996958e+00 -1.151785963846005e+00 -1.155433124321719e+00 -1.159073028473816e+00 -1.162705440550504e+00 - -1.166330136340245e+00 -1.169946897198408e+00 -1.173555515207745e+00 -1.177155787675114e+00 -1.180747522076412e+00 - -1.184330531453910e+00 -1.187904640946331e+00 -1.191469681045491e+00 -1.195025491559137e+00 -1.198571917630371e+00 - -1.202108816427798e+00 -1.205636050425976e+00 -1.209153491297797e+00 -1.212661015717853e+00 -1.216158511169199e+00 - -1.219645870103956e+00 -1.223122994042052e+00 -1.226589789250444e+00 -1.230046171916402e+00 -1.233492062734542e+00 - -1.236927390508550e+00 -1.240352088211073e+00 -1.243766097381527e+00 -1.247169363751694e+00 -1.250561841256042e+00 - -1.253943487695246e+00 -1.257314268132119e+00 -1.260674151007197e+00 -1.264023111009775e+00 -1.267361126327042e+00 - -1.270688182889021e+00 -1.274004269717549e+00 -1.277309380458899e+00 -1.280603511471348e+00 -1.283886665336751e+00 - -1.287158847447705e+00 -1.290420068216200e+00 -1.293670340397085e+00 -1.296909681097245e+00 -1.300138109654688e+00 - -1.303355649979877e+00 -1.306562327924205e+00 -1.309758172530325e+00 -1.312943214678930e+00 -1.316117489411603e+00 - -1.319281033477409e+00 -1.322433886294459e+00 -1.325576088655014e+00 -1.328707684178879e+00 -1.331828717822939e+00 - -1.334939237064845e+00 -1.338039290534788e+00 -1.341128928952336e+00 -1.344208204044806e+00 -1.347277169481128e+00 - -1.350335879836220e+00 -1.353384391367341e+00 -1.356422761075585e+00 -1.359451047255056e+00 -1.362469308854003e+00 - -1.365477606144248e+00 -1.368475999956682e+00 -1.371464552034891e+00 -1.374443324607048e+00 -1.377412380926959e+00 - -1.380371784452904e+00 -1.383321598435415e+00 -1.386261886043311e+00 -1.389192710326296e+00 -1.392114134331963e+00 - -1.395026221218571e+00 -1.397929034013782e+00 -1.400822635112213e+00 -1.403707086730599e+00 -1.406582451007194e+00 - -1.409448790047375e+00 -1.412306165903488e+00 -1.415154640386279e+00 -1.417994274393129e+00 -1.420825128672226e+00 - -1.423647264288326e+00 -1.426460742270041e+00 -1.429265623184807e+00 -1.432061967292326e+00 -1.434849834082543e+00 - -1.437629282863016e+00 -1.440400372981510e+00 -1.443163163644870e+00 -1.445917713456040e+00 -1.448664080745027e+00 - -1.451402323353998e+00 -1.454132498983212e+00 -1.456854665253158e+00 -1.459568879518891e+00 -1.462275198153495e+00 - -1.464973677286479e+00 -1.467664373054985e+00 -1.470347341460922e+00 -1.473022637957602e+00 -1.475690317602213e+00 - -1.478350434416031e+00 -1.481003042251009e+00 -1.483648195317718e+00 -1.486285947650543e+00 -1.488916352220507e+00 - -1.491539461636770e+00 -1.494155328124374e+00 -1.496764003712290e+00 -1.499365540029296e+00 -1.501959988475343e+00 - -1.504547399935251e+00 -1.507127824972320e+00 -1.509701313378898e+00 -1.512267914702716e+00 -1.514827678283996e+00 - -1.517380653263305e+00 -1.519926888190102e+00 -1.522466431291609e+00 -1.524999330097196e+00 -1.527525631932397e+00 - -1.530045384005255e+00 -1.532558633226744e+00 -1.535065425437065e+00 -1.537565806237489e+00 -1.540059821344337e+00 - -1.542547516227056e+00 -1.545028935252552e+00 -1.547504122520188e+00 -1.549973122161691e+00 -1.552435978060152e+00 - -1.554892733071735e+00 -1.557343429814709e+00 -1.559788110982664e+00 -1.562226819032855e+00 -1.564659595401864e+00 - -1.567086481207361e+00 -1.569507517312065e+00 -1.571922744465970e+00 -1.574332203223133e+00 -1.576735933784567e+00 - -1.579133975135047e+00 -1.581526366095511e+00 -1.583913146047792e+00 -1.586294354132112e+00 -1.588670027961349e+00 - -1.591040204840321e+00 -1.593404922368944e+00 -1.595764217997401e+00 -1.598118128281829e+00 -1.600466689560657e+00 - -1.602809938195509e+00 -1.605147910317183e+00 -1.607480641109968e+00 -1.609808165462235e+00 -1.612130518025190e+00 - -1.614447733364541e+00 -1.616759845941160e+00 -1.619066889913862e+00 -1.621368898338053e+00 -1.623665904067572e+00 - -1.625957940253400e+00 -1.628245039905108e+00 -1.630527235169479e+00 -1.632804557955816e+00 -1.635077040086276e+00 - -1.637344713164072e+00 -1.639607608003776e+00 -1.641865755216986e+00 -1.644119185392045e+00 -1.646367929030376e+00 - -1.648612016308968e+00 -1.650851477080719e+00 -1.653086340226579e+00 -1.655316634503563e+00 -1.657542389144867e+00 - -1.659763633269537e+00 -1.661980395063818e+00 -1.664192702419508e+00 -1.666400582983419e+00 -1.668604064251645e+00 - -1.670803173362428e+00 -1.672997937236383e+00 -1.675188382281491e+00 -1.677374534802169e+00 -1.679556421201192e+00 - -1.681734067628149e+00 -1.683907499121518e+00 -1.686076740528519e+00 -1.688241817042459e+00 -1.690402753749855e+00 - -1.692559574964003e+00 -1.694712304797627e+00 -1.696860967334408e+00 -1.699005586454806e+00 -1.701146185255449e+00 - -1.703282786721620e+00 -1.705415414177082e+00 -1.707544090831449e+00 -1.709668839099297e+00 -1.711789681156861e+00 - -1.713906639022084e+00 -1.716019734585396e+00 -1.718128989385494e+00 -1.720234424849230e+00 -1.722336062307809e+00 - -1.724433922917529e+00 -1.726528027230686e+00 -1.728618395721282e+00 -1.730705049154116e+00 -1.732788008101886e+00 - -1.734867292078088e+00 -1.736942920442919e+00 -1.739014913002594e+00 -1.741083289547465e+00 -1.743148069358425e+00 - -1.745209271450225e+00 -1.747266914282488e+00 -1.749321016270471e+00 -1.751371596207075e+00 -1.753418672811714e+00 - -1.755462264132180e+00 -1.757502388000569e+00 -1.759539062057792e+00 -1.761572303881055e+00 -1.763602130983907e+00 - -1.765628560778196e+00 -1.767651610332621e+00 -1.769671296580689e+00 -1.771687636258316e+00 -1.773700645994041e+00 - -1.775710342184503e+00 -1.777716741146727e+00 -1.779719859111176e+00 -1.781719712181211e+00 -1.783716316038327e+00 - -1.785709686327057e+00 -1.787699838965949e+00 -1.789686789700248e+00 -1.791670553307960e+00 -1.793651144443631e+00 - -1.795628578235185e+00 -1.797602869852874e+00 -1.799574034162875e+00 -1.801542085839167e+00 -1.803507039091021e+00 - -1.805468908052258e+00 -1.807427707019619e+00 -1.809383450209764e+00 -1.811336151356113e+00 -1.813285824110837e+00 - -1.815232482284336e+00 -1.817176139592257e+00 -1.819116809213001e+00 -1.821054504262256e+00 -1.822989238142106e+00 - -1.824921024174149e+00 -1.826849875071642e+00 -1.828775803432498e+00 -1.830698822001605e+00 -1.832618943490715e+00 - -1.834536180332052e+00 -1.836450544855570e+00 -1.838362049261658e+00 -1.840270705693083e+00 -1.842176526191684e+00 - -1.844079522732226e+00 -1.845979707122125e+00 -1.847877091069540e+00 -1.849771686052976e+00 -1.851663503515020e+00 - -1.853552554984233e+00 -1.855438851906239e+00 -1.857322405308933e+00 -1.859203226114476e+00 -1.861081325239847e+00 - -1.862956713608023e+00 -1.864829402171162e+00 -1.866699401811557e+00 -1.868566723102871e+00 -1.870431376467943e+00 - -1.872293372034969e+00 -1.874152719980291e+00 -1.876009430967454e+00 -1.877863515541558e+00 -1.879714983286677e+00 - -1.881563843740828e+00 -1.883410107218835e+00 -1.885253783963326e+00 -1.887094883151373e+00 -1.888933413891583e+00 - -1.890769386084288e+00 -1.892602809677417e+00 -1.894433694017575e+00 -1.896262048252058e+00 -1.898087881332244e+00 - -1.899911202238771e+00 -1.901732020265218e+00 -1.903550344662578e+00 -1.905366184198560e+00 -1.907179547502340e+00 - -1.908990443132265e+00 -1.910798879695625e+00 -1.912604866066330e+00 -1.914408411061036e+00 -1.916209523000752e+00 - -1.918008210058423e+00 -1.919804480310377e+00 -1.921598341888620e+00 -1.923389803244497e+00 -1.925178872754823e+00 - -1.926965558178970e+00 -1.928749867237572e+00 -1.930531808113790e+00 -1.932311388923252e+00 -1.934088617048956e+00 - -1.935863499807747e+00 -1.937636044984464e+00 -1.939406260367225e+00 -1.941174153289245e+00 -1.942939731044444e+00 - -1.944703001224463e+00 -1.946463971324967e+00 -1.948222648160018e+00 -1.949979038559213e+00 -1.951733150095908e+00 - -1.953484990331042e+00 -1.955234566032130e+00 -1.956981883796339e+00 -1.958726950332857e+00 -1.960469772453529e+00 - -1.962210357268799e+00 -1.963948711773954e+00 -1.965684842205069e+00 -1.967418754747339e+00 -1.969150456141664e+00 - -1.970879953151972e+00 -1.972607252078582e+00 -1.974332359180596e+00 -1.976055281015821e+00 -1.977776024078765e+00 - -1.979494594312026e+00 -1.981210997612849e+00 -1.982925240248993e+00 -1.984637328483028e+00 -1.986347268186276e+00 - -1.988055065135925e+00 -1.989760725123873e+00 -1.991464254028801e+00 -1.993165658061782e+00 -1.994864943305917e+00 - -1.996562115000000e+00 -1.998257178352118e+00 -1.999950139291834e+00 -2.001641003786081e+00 -2.003329777229788e+00 - -2.005016464899233e+00 -2.006701072168050e+00 -2.008383604435580e+00 -2.010064067106614e+00 -2.011742465557514e+00 - -2.013418805045480e+00 -2.015093090790721e+00 -2.016765327984645e+00 -2.018435521788566e+00 -2.020103677272243e+00 - -2.021769799450648e+00 -2.023433893211152e+00 -2.025095963440481e+00 -2.026756015150358e+00 -2.028414053372033e+00 - -2.030070083089858e+00 -2.031724109167109e+00 -2.033376136029651e+00 -2.035026168111125e+00 -2.036674210313675e+00 - -2.038320267543339e+00 -2.039964344253219e+00 -2.041606444873179e+00 -2.043246574193053e+00 -2.044884736927830e+00 - -2.046520937133174e+00 -2.048155178894251e+00 -2.049787467073582e+00 -2.051417806490505e+00 -2.053046201014273e+00 - -2.054672654449746e+00 -2.056297171294283e+00 -2.057919756136151e+00 -2.059540413234731e+00 -2.061159146675282e+00 - -2.062775960175462e+00 -2.064390857518372e+00 -2.066003843116474e+00 -2.067614921377108e+00 -2.069224096057763e+00 - -2.070831370870978e+00 -2.072436749999330e+00 -2.074040237602111e+00 -2.075641837275425e+00 -2.077241552544816e+00 - -2.078839387216755e+00 -2.080435345153352e+00 -2.082029430158359e+00 -2.083621645967183e+00 -2.085211996100236e+00 - -2.086800484128769e+00 -2.088387114042385e+00 -2.089971889736969e+00 -2.091554814315162e+00 -2.093135890870968e+00 - -2.094715123257078e+00 -2.096292515329556e+00 -2.097868070199266e+00 -2.099441790929908e+00 -2.101013681141721e+00 - -2.102583744473837e+00 -2.104151984084442e+00 -2.105718403103298e+00 -2.107283005027429e+00 -2.108845793364375e+00 - -2.110406771296459e+00 -2.111965941910842e+00 -2.113523308239219e+00 -2.115078873308544e+00 -2.116632640182243e+00 - -2.118184611994434e+00 -2.119734792125529e+00 -2.121283183887100e+00 -2.122829790069075e+00 -2.124374613416041e+00 - -2.125917657012881e+00 -2.127458923984833e+00 -2.128998417278243e+00 -2.130536139767974e+00 -2.132072094221826e+00 - -2.133606283403289e+00 -2.135138710165668e+00 -2.136669377406417e+00 -2.138198288109766e+00 -2.139725445172409e+00 - -2.141250851054121e+00 -2.142774508270670e+00 -2.144296419998729e+00 -2.145816589318136e+00 -2.147335018260493e+00 - -2.148851708859426e+00 -2.150366664204882e+00 -2.151879887475646e+00 -2.153391381149525e+00 -2.154901147551277e+00 - -2.156409189094421e+00 -2.157915508301146e+00 -2.159420108039566e+00 -2.160922991060322e+00 -2.162424159298261e+00 - -2.163923614721020e+00 -2.165421360243191e+00 -2.166917398765767e+00 -2.168411732188371e+00 -2.169904362385663e+00 - -2.171395292133801e+00 -2.172884524283159e+00 -2.174372061079477e+00 -2.175857904621596e+00 -2.177342057025400e+00 - -2.178824520458782e+00 -2.180305297280612e+00 -2.181784389836284e+00 -2.183261800226323e+00 -2.184737530553230e+00 - -2.186211583172279e+00 -2.187683960396664e+00 -2.189154664118480e+00 -2.190623696232450e+00 -2.192091059064924e+00 - -2.193556754973807e+00 -2.195020786011611e+00 -2.196483154140098e+00 -2.197943861263397e+00 -2.199402909290797e+00 - -2.200860300209873e+00 -2.202316036078389e+00 -2.203770119156592e+00 -2.205222551620105e+00 -2.206673335103553e+00 - -2.208122471221687e+00 -2.209569962050753e+00 -2.211015809743800e+00 -2.212460016299604e+00 -2.213902583604158e+00 - -2.215343513246597e+00 -2.216782806815468e+00 -2.218220466193829e+00 -2.219656493330310e+00 -2.221090890141300e+00 - -2.222523658493742e+00 -2.223954800089009e+00 -2.225384316635711e+00 -2.226812210036953e+00 -2.228238482128524e+00 - -2.229663134282465e+00 -2.231086167933421e+00 -2.232507585230206e+00 -2.233927388263609e+00 -2.235345578178182e+00 - -2.236762156112363e+00 -2.238177124126393e+00 -2.239590484325721e+00 -2.241002238074839e+00 -2.242412386688506e+00 - -2.243820932023517e+00 -2.245227875877045e+00 -2.246633219265731e+00 -2.248036963296034e+00 -2.249439110214208e+00 - -2.250839662216949e+00 -2.252238620162919e+00 -2.253635984842608e+00 -2.255031758111861e+00 -2.256425941987018e+00 - -2.257818538061035e+00 -2.259209547728066e+00 -2.260598972010440e+00 -2.261986811976363e+00 -2.263373069249392e+00 - -2.264757745520950e+00 -2.266140842198597e+00 -2.267522360622610e+00 -2.268902302148032e+00 -2.270280668153553e+00 - -2.271657460097697e+00 -2.273032679375423e+00 -2.274406327047590e+00 -2.275778404191426e+00 -2.277148912283742e+00 - -2.278517852852843e+00 -2.279885227233438e+00 -2.281251036662961e+00 -2.282615282183361e+00 -2.283977964870765e+00 - -2.285339086133513e+00 -2.286698647429660e+00 -2.288056650083893e+00 -2.289413095312870e+00 -2.290767984034498e+00 - -2.292121317209354e+00 -2.293473096267451e+00 -2.294823322630535e+00 -2.296171997217860e+00 -2.297519120939147e+00 - -2.298864695168495e+00 -2.300208721271999e+00 -2.301551200119357e+00 -2.302892132586471e+00 -2.304231520070443e+00 - -2.305569363951571e+00 -2.306905665021753e+00 -2.308240424043668e+00 -2.309573642251534e+00 -2.310905320943594e+00 - -2.312235461202651e+00 -2.313564064009707e+00 -2.314891130153991e+00 -2.316216660462560e+00 -2.317540656105554e+00 - -2.318863118293744e+00 -2.320184048057342e+00 -2.321503446385586e+00 -2.322821314284393e+00 -2.324137652689092e+00 - -2.325452462235987e+00 -2.326765743634779e+00 -2.328077498187803e+00 -2.329387727168217e+00 -2.330696431139842e+00 - -2.332003610675342e+00 -2.333309267092103e+00 -2.334613401701304e+00 -2.335916015044585e+00 -2.337217107588464e+00 - -2.338516680268511e+00 -2.339814734134101e+00 -2.341111270220800e+00 -2.342406289434137e+00 -2.343699792173311e+00 - -2.344991778936741e+00 -2.346282251126043e+00 -2.347571210092017e+00 -2.348858656078995e+00 -2.350144589310363e+00 - -2.351429011032167e+00 -2.352711922533504e+00 -2.353993324252988e+00 -2.355273216536063e+00 -2.356551600205969e+00 - -2.357828476165661e+00 -2.359103845159169e+00 -2.360377707896761e+00 -2.361650065112589e+00 -2.362920917562625e+00 - -2.364190266066228e+00 -2.365458111389245e+00 -2.366724454020086e+00 -2.367989294422349e+00 -2.369252633237819e+00 - -2.370514471195048e+00 -2.371774809191487e+00 -2.373033648052395e+00 -2.374290988145372e+00 -2.375546829856004e+00 - -2.376801174099476e+00 -2.378054021758188e+00 -2.379305373053798e+00 -2.380555228228685e+00 -2.381803588268867e+00 - -2.383050454170042e+00 -2.384295826222999e+00 -2.385539704659158e+00 -2.386782090177350e+00 -2.388022983519428e+00 - -2.389262385131917e+00 -2.390500295440986e+00 -2.391736715086700e+00 -2.392971644747536e+00 -2.394205085041701e+00 - -2.395437036486230e+00 -2.396667499253712e+00 -2.397896473568759e+00 -2.399123960208524e+00 -2.400349959968320e+00 - -2.401574473163553e+00 -2.402797500049246e+00 -2.404019041118798e+00 -2.405239096931802e+00 -2.406457668074259e+00 - -2.407674755052769e+00 -2.408890358029935e+00 -2.410104477201394e+00 -2.411317113238899e+00 -2.412528266823138e+00 - -2.413737938194389e+00 -2.414946127524263e+00 -2.416152835150093e+00 -2.417358061488310e+00 -2.418561807106014e+00 - -2.419764072540869e+00 -2.420964858062149e+00 -2.422164163883997e+00 -2.423361990268478e+00 -2.424558337539998e+00 - -2.425753206224426e+00 -2.426946596778449e+00 -2.428138509180588e+00 -2.429328943436301e+00 -2.430517900136966e+00 - -2.431705379929064e+00 -2.432891383093559e+00 -2.434075909789072e+00 -2.435258960050367e+00 -2.436440534002261e+00 - -2.437620632253666e+00 -2.438799255363957e+00 -2.439976403210287e+00 -2.441152075652963e+00 -2.442326273167121e+00 - -2.443498996281469e+00 -2.444670245124171e+00 -2.445840019720089e+00 -2.447008320081434e+00 -2.448175146330043e+00 - -2.449340499038912e+00 -2.450504378726154e+00 -2.451666785239187e+00 -2.452827718349615e+00 -2.453987178196479e+00 - -2.455145165027037e+00 -2.456301679153984e+00 -2.457456720843679e+00 -2.458610290111703e+00 -2.459762386895362e+00 - -2.460913011069636e+00 -2.462062162618941e+00 -2.463209842027783e+00 -2.464356049701044e+00 -2.465500785225038e+00 - -2.466644048210323e+00 -2.467785839182998e+00 -2.468926158651886e+00 -2.470065006141172e+00 -2.471202381154697e+00 - -2.472338284099561e+00 -2.473472715451581e+00 -2.474605675058163e+00 -2.475737162666682e+00 -2.476867178252799e+00 - -2.477995721814551e+00 -2.479122793211214e+00 -2.480248392312651e+00 -2.481372519169843e+00 -2.482495173828069e+00 - -2.483616356128687e+00 -2.484736065895716e+00 -2.485854303087743e+00 -2.486971067738408e+00 -2.488086360047014e+00 - -2.489200180083995e+00 -2.490312527238630e+00 -2.491423400907520e+00 -2.492532801197714e+00 -2.493640728315912e+00 - -2.494747182157012e+00 -2.495852162518061e+00 -2.496955669116524e+00 -2.498057701682506e+00 -2.499158260076250e+00 - -2.500257344205291e+00 -2.501354954036191e+00 -2.502451089487258e+00 -2.503545750224782e+00 -2.504638935878569e+00 - -2.505730646184535e+00 -2.506820880947837e+00 -2.507909640144502e+00 -2.508996923692245e+00 -2.510082731104683e+00 - -2.511167061905791e+00 -2.512249916065080e+00 -2.513331293568936e+00 -2.514411194025691e+00 -2.515489616993924e+00 - -2.516566562211253e+00 -2.517642029416175e+00 -2.518716018171676e+00 -2.519788528087044e+00 -2.520859559132313e+00 - -2.521929111272669e+00 -2.522997184093166e+00 -2.524063777123772e+00 -2.525128890054233e+00 -2.526192522577199e+00 - -2.527254674237163e+00 -2.528315344566595e+00 -2.529374533198041e+00 -2.530432239809303e+00 -2.531488464159136e+00 - -2.532543206017777e+00 -2.533596465120445e+00 -2.534648241083385e+00 -2.535698533081969e+00 -2.536747340380982e+00 - -2.537794663043710e+00 -2.538840501172024e+00 -2.539884854223596e+00 -2.540927721482817e+00 -2.541969102185147e+00 - -2.543008995720672e+00 -2.544047402146914e+00 -2.545084321505733e+00 -2.546119753108897e+00 -2.547153696148885e+00 - -2.548186150071097e+00 -2.549217114438763e+00 -2.550246589033513e+00 -2.551274573561718e+00 -2.552301067210345e+00 - -2.553326069170913e+00 -2.554349579172571e+00 -2.555371597001575e+00 -2.556392122135012e+00 -2.557411153995589e+00 - -2.558428692097672e+00 -2.559444735964176e+00 -2.560459285060548e+00 -2.561472338773803e+00 -2.562483896234721e+00 - -2.563493956701396e+00 -2.564502520197407e+00 -2.565509586690590e+00 -2.566515155160310e+00 -2.567519224484451e+00 - -2.568521794123430e+00 -2.569522863722881e+00 -2.570522433086768e+00 -2.571520501879673e+00 -2.572517069050324e+00 - -2.573512133570669e+00 -2.574505695221420e+00 -2.575497753777856e+00 -2.576488308184784e+00 -2.577477357385580e+00 - -2.578464901148367e+00 -2.579450939304331e+00 -2.580435471112168e+00 -2.581418495678755e+00 -2.582400012076188e+00 - -2.583380019545771e+00 -2.584358518040427e+00 -2.585335507388502e+00 -2.586310986208430e+00 -2.587284953146766e+00 - -2.588257408172476e+00 -2.589228351266687e+00 -2.590197781136742e+00 -2.591165696464199e+00 -2.592132097101227e+00 - -2.593096982965479e+00 -2.594060353065933e+00 -2.595022206300420e+00 -2.595982542030859e+00 -2.596941359648237e+00 - -2.597898658195753e+00 -2.598854436786441e+00 -2.599808695160485e+00 -2.600761432999720e+00 -2.601712649125437e+00 - -2.602662342322502e+00 -2.603610512090611e+00 -2.604557157983472e+00 -2.605502279056006e+00 -2.606445874333086e+00 - -2.607387943218189e+00 -2.608328485131743e+00 -2.609267499183389e+00 -2.610204984445080e+00 -2.611140940148811e+00 - -2.612075365584592e+00 -2.613008260114454e+00 -2.613939623006402e+00 -2.614869453080320e+00 -2.615797749224179e+00 - -2.616724511046408e+00 -2.617649738126216e+00 -2.618573429205448e+00 -2.619495583026503e+00 -2.620416199171340e+00 - -2.621335277249019e+00 -2.622252816137456e+00 -2.623168814653865e+00 -2.624083272103795e+00 -2.624996187859330e+00 - -2.625907561070358e+00 -2.626817390806325e+00 -2.627725676037143e+00 -2.628632415761536e+00 -2.629537609193020e+00 - -2.630441255587996e+00 -2.631343354159609e+00 -2.632243904045731e+00 -2.633142904126422e+00 -2.634040353337229e+00 - -2.634936251093461e+00 -2.635830596765059e+00 -2.636723389060725e+00 -2.637614626713354e+00 -2.638504309213838e+00 - -2.639392436080191e+00 -2.640279006180904e+00 -2.641164018251881e+00 -2.642047471148195e+00 -2.642929363899640e+00 - -2.643809696115713e+00 -2.644688467316341e+00 -2.645565676083456e+00 -2.646441320932559e+00 -2.647315401051427e+00 - -2.648187915755844e+00 -2.649058864201336e+00 -2.649928245427330e+00 -2.650796058169106e+00 -2.651662301248424e+00 - -2.652526974137104e+00 -2.653390076247662e+00 -2.654251606105329e+00 -2.655111562238285e+00 -2.655969944073783e+00 - -2.656826751086593e+00 -2.657681982042466e+00 -2.658535635661370e+00 -2.659387711189145e+00 -2.660238207837736e+00 - -2.661087124157626e+00 -2.661934458755756e+00 -2.662780211126336e+00 -2.663624380741185e+00 -2.664466966095276e+00 - -2.665307965694397e+00 -2.666147379064445e+00 -2.666985205710447e+00 -2.667821444033845e+00 -2.668656092405469e+00 - -2.669489150177272e+00 -2.670320616801000e+00 -2.671150491146469e+00 -2.671978771965001e+00 -2.672805458115896e+00 - -2.673630548501148e+00 -2.674454042085555e+00 -2.675275937884819e+00 -2.676096235055446e+00 -2.676914932653945e+00 - -2.677732029196031e+00 -2.678547523253807e+00 -2.679361414165717e+00 -2.680173701269736e+00 -2.680984383135636e+00 - -2.681793458321363e+00 -2.682600926105787e+00 -2.683406785794135e+00 -2.684211036076172e+00 -2.685013675548027e+00 - -2.685814703046789e+00 -2.686614117528503e+00 -2.687411918184072e+00 -2.688208104155523e+00 -2.689002674154484e+00 - -2.689795626844247e+00 -2.690586961125131e+00 -2.691376675931391e+00 -2.692164770096012e+00 -2.692951242468673e+00 - -2.693736092067127e+00 -2.694519317933390e+00 -2.695300919038479e+00 -2.696080894259941e+00 -2.696859242172434e+00 - -2.697635961409562e+00 -2.698411051143577e+00 -2.699184510529523e+00 -2.699956338114957e+00 -2.700726532498006e+00 - -2.701495093086574e+00 -2.702262019208106e+00 -2.703027309058428e+00 -2.703790960874505e+00 -2.704552974189474e+00 - -2.705313348537555e+00 -2.706072082161119e+00 -2.706829173257158e+00 -2.707584621133000e+00 -2.708338425191227e+00 - -2.709090584105120e+00 -2.709841096442358e+00 -2.710589961077480e+00 -2.711337176962203e+00 -2.712082743050078e+00 - -2.712826658235913e+00 -2.713568921177743e+00 -2.714309530527581e+00 -2.715048485150131e+00 -2.715785783993005e+00 - -2.716521426122757e+00 -2.717255410569124e+00 -2.717987736095623e+00 -2.718718401385704e+00 -2.719447405068731e+00 - -2.720174745881186e+00 -2.720900423042079e+00 -2.721624435690877e+00 -2.722346782166338e+00 -2.723067460855530e+00 - -2.723786471139474e+00 -2.724503812410580e+00 -2.725219483112852e+00 -2.725933481634188e+00 -2.726645807086471e+00 - -2.727356458650697e+00 -2.728065435060333e+00 -2.728772734953498e+00 -2.729478357034439e+00 -2.730182300087997e+00 - -2.730884563155262e+00 -2.731585145263588e+00 -2.732284045129153e+00 -2.732981261442558e+00 -2.733676793103288e+00 - -2.734370639038562e+00 -2.735062798077667e+00 -2.735753269071118e+00 -2.736442051052291e+00 -2.737129142959769e+00 - -2.737814543170111e+00 -2.738498250131983e+00 -2.739180263144520e+00 -2.739860581563291e+00 -2.740539204119172e+00 - -2.741216129405992e+00 -2.741891356094071e+00 -2.742564882952538e+00 -2.743236709069217e+00 -2.743906833523784e+00 - -2.744575255044610e+00 -2.745241972311204e+00 -2.745906984158941e+00 -2.746570289467025e+00 -2.747231887134115e+00 - -2.747891776057501e+00 -2.748549955109537e+00 -2.749206423158993e+00 -2.749861179085207e+00 -2.750514221765824e+00 - -2.751165550061125e+00 -2.751815162841771e+00 -2.752463059037292e+00 -2.753109237554207e+00 -2.753753697148108e+00 - -2.754396436622574e+00 -2.755037455124055e+00 -2.755676751755156e+00 -2.756314325100252e+00 -2.756950173779785e+00 - -2.757584297076699e+00 -2.758216694281619e+00 -2.758847364053396e+00 -2.759476305000437e+00 -2.760103516161140e+00 - -2.760728996610216e+00 -2.761352745137616e+00 -2.761974760563591e+00 -2.762595042114344e+00 -2.763213589016364e+00 - -2.763830400091322e+00 -2.764445474113015e+00 -2.765058810068553e+00 -2.765670407011266e+00 -2.766280264046035e+00 - -2.766888380201558e+00 -2.767494754150214e+00 -2.768099384646222e+00 -2.768702271127474e+00 -2.769303413030783e+00 - -2.769902809104988e+00 -2.770500458053093e+00 -2.771096359082754e+00 -2.771690511445131e+00 -2.772282914060774e+00 - -2.772873565847032e+00 -2.773462466039048e+00 -2.774049613856528e+00 -2.774635008139637e+00 -2.775218647762881e+00 - -2.775800532117688e+00 -2.776380660598635e+00 -2.776959032095993e+00 -2.777535645483684e+00 -2.778110500074552e+00 - -2.778683595228330e+00 -2.779254930053368e+00 -2.779824503611819e+00 -2.780392315032438e+00 -2.780958363471580e+00 - -2.781522648129417e+00 -2.782085168237396e+00 -2.782645923108263e+00 -2.783204912027138e+00 -2.783762134087364e+00 - -2.784317588365996e+00 -2.784871274066723e+00 -2.785423190471204e+00 -2.785973337046338e+00 -2.786521713227682e+00 - -2.787068318140169e+00 -2.787613150927563e+00 -2.788156211119559e+00 -2.788697498201977e+00 -2.789237011099205e+00 - -2.789774748795882e+00 -2.790310711079109e+00 -2.790844897774500e+00 -2.791377308059270e+00 -2.791907941021321e+00 - -2.792436796039691e+00 -2.792963872575855e+00 -2.793489170129877e+00 -2.794012688183935e+00 -2.794534426110070e+00 - -2.795054383269529e+00 -2.795572559090522e+00 -2.796088953089790e+00 -2.796603565071232e+00 -2.797116394731634e+00 - -2.797627441052200e+00 -2.798136703104035e+00 -2.798644181033428e+00 -2.799149874997305e+00 -2.799653784119957e+00 - -2.800155907491874e+00 -2.800656245100958e+00 -2.801154796934787e+00 -2.801651562082218e+00 -2.802146539693571e+00 - -2.802639730063738e+00 -2.803131133478864e+00 -2.803620749045517e+00 -2.804108575856467e+00 -2.804594614128865e+00 - -2.805078864118387e+00 -2.805561325110418e+00 -2.806041996375143e+00 -2.806520878092229e+00 -2.806997970489045e+00 - -2.807473273074300e+00 -2.807946785293329e+00 -2.808418507056632e+00 -2.808888438355500e+00 -2.809356579039224e+00 - -2.809822928959404e+00 -2.810287488118900e+00 -2.810750256531227e+00 -2.811211234101264e+00 -2.811670420689050e+00 - -2.812127816083888e+00 -2.812583420143096e+00 -2.813037233066774e+00 -2.813489255065615e+00 -2.813939486049919e+00 - -2.814387925944586e+00 -2.814834575033324e+00 -2.815279433542374e+00 -2.815722501109326e+00 -2.816163777438837e+00 - -2.816603263092504e+00 -2.817040958671196e+00 -2.817476864075942e+00 -2.817910979131784e+00 -2.818343304059641e+00 - -2.818773839208482e+00 -2.819202585043600e+00 -2.819629541969078e+00 -2.820054710027820e+00 -2.820478089265513e+00 - -2.820899680100151e+00 -2.821319482977751e+00 -2.821737498084143e+00 -2.822153725615352e+00 -2.822568166068396e+00 - -2.822980820018520e+00 -2.823391688052908e+00 -2.823800770674544e+00 -2.824208068037681e+00 -2.824613580315654e+00 - -2.825017308106835e+00 -2.825419252121360e+00 -2.825819413091381e+00 -2.826217791658008e+00 -2.826614388076187e+00 - -2.827009202624378e+00 -2.827402236061253e+00 -2.827793489256864e+00 -2.828182963046578e+00 -2.828570658171722e+00 - -2.828956575032161e+00 -2.829340714052488e+00 -2.829723076097664e+00 -2.830103662132774e+00 -2.830482473083023e+00 - -2.830859509823491e+00 -2.831234773068641e+00 -2.831608263528317e+00 -2.831979982054516e+00 -2.832349929557777e+00 - -2.832718107040651e+00 -2.833084515526141e+00 -2.833449156027042e+00 -2.833812029550204e+00 -2.834173137088914e+00 - -2.834532479620883e+00 -2.834890058075082e+00 -2.835245873448821e+00 -2.835599927061508e+00 -2.835952220243667e+00 - -2.836302754048190e+00 -2.836651529530672e+00 -2.836998548035129e+00 -2.837343810883671e+00 -2.837687319022324e+00 - -2.838029073490917e+00 -2.838369076080591e+00 -2.838707328586376e+00 -2.839043832067564e+00 -2.839378587474163e+00 - -2.839711596054793e+00 -2.840042859259108e+00 -2.840372379042276e+00 -2.840700157280677e+00 -2.841026195030013e+00 - -2.841350493343512e+00 -2.841673054085180e+00 -2.841993879190829e+00 -2.842312970072699e+00 -2.842630328108386e+00 - -2.842945955060471e+00 -2.843259852775203e+00 -2.843572023048496e+00 -2.843882467617769e+00 -2.844191188036773e+00 - -2.844498185884593e+00 -2.844803463025301e+00 -2.845107021413000e+00 -2.845408863076932e+00 -2.845708990020076e+00 - -2.846007404065244e+00 -2.846304107050338e+00 -2.846599101053807e+00 -2.846892388135785e+00 -2.847183970042619e+00 - -2.847473848570861e+00 -2.847762026031680e+00 -2.848048504803730e+00 -2.848333287020989e+00 -2.848616374754612e+00 - -2.848897770069131e+00 -2.849177475073159e+00 -2.849455492058227e+00 -2.849731823327478e+00 -2.850006471047571e+00 - -2.850279437434387e+00 -2.850550725037162e+00 -2.850820336439234e+00 -2.851088274026996e+00 -2.851354540133094e+00 - -2.851619137072155e+00 -2.851882067200814e+00 -2.852143333061782e+00 -2.852402937208544e+00 -2.852660882051651e+00 - -2.852917170055367e+00 -2.853171804041764e+00 -2.853424786850297e+00 -2.853676121032120e+00 -2.853925809140160e+00 - -2.854173854022716e+00 -2.854420258509995e+00 -2.854665025064492e+00 -2.854908156206457e+00 -2.855149655054884e+00 - -2.855389524765914e+00 -2.855627768045515e+00 -2.855864387531145e+00 -2.856099386036384e+00 -2.856332766480263e+00 - -2.856564532027491e+00 -2.856794685864488e+00 -2.857023231018833e+00 -2.857250170456676e+00 -2.857475507057297e+00 - -2.857699243787178e+00 -2.857921384048440e+00 -2.858141931205942e+00 -2.858360888039817e+00 -2.858578257403886e+00 - -2.858794043031427e+00 -2.859008248642304e+00 -2.859220877023269e+00 -2.859431930941042e+00 -2.859641414015340e+00 - -2.859849329964776e+00 -2.860055682050569e+00 -2.860260473522559e+00 -2.860463708042447e+00 -2.860665389218646e+00 - -2.860865520034553e+00 -2.861064103583913e+00 -2.861261144026887e+00 -2.861456645505078e+00 -2.861650611019446e+00 - -2.861843043539793e+00 -2.862033947051935e+00 -2.862223325674870e+00 -2.862411183044306e+00 -2.862597522669464e+00 - -2.862782348036900e+00 -2.862965662765951e+00 -2.863147471029718e+00 -2.863327776966641e+00 -2.863506584022756e+00 - -2.863683895649960e+00 -2.863859716016013e+00 -2.864034049304372e+00 -2.864206899045429e+00 -2.864378268816853e+00 - -2.864548163038503e+00 -2.864716586175495e+00 -2.864883542031795e+00 -2.865049034317118e+00 -2.865213067025303e+00 - -2.865375644227383e+00 -2.865536770019026e+00 -2.865696448531390e+00 -2.865854684012960e+00 -2.866011480747103e+00 - -2.866166843039399e+00 -2.866320775137251e+00 -2.866473281033156e+00 -2.866624364792500e+00 -2.866774031027124e+00 - -2.866922284373643e+00 -2.867069129021301e+00 -2.867214569108258e+00 -2.867358609015685e+00 -2.867501253183005e+00 - -2.867642506039625e+00 -2.867782372075631e+00 -2.867920856033839e+00 -2.868057962606175e+00 -2.868193696028257e+00 - -2.868328060561013e+00 -2.868461061022879e+00 -2.868592702303233e+00 -2.868722989017701e+00 -2.868851925722842e+00 - -2.868979517012722e+00 -2.869105767524959e+00 -2.869230682033886e+00 -2.869354265317122e+00 -2.869476522028743e+00 - -2.869597456891174e+00 -2.869717075023798e+00 -2.869835381525858e+00 -2.869952381019048e+00 -2.870068078133983e+00 - -2.870182478014490e+00 -2.870295585788873e+00 -2.870407406010122e+00 -2.870517943287246e+00 -2.870627203028626e+00 - -2.870735190678368e+00 -2.870841911024103e+00 -2.870947368779615e+00 -2.871051569019769e+00 -2.871154516959833e+00 - -2.871256218015620e+00 -2.871356677487263e+00 -2.871455900011655e+00 -2.871553890297982e+00 -2.871650654007871e+00 - -2.871746196881877e+00 -2.871840524023838e+00 -2.871933640394619e+00 -2.872025551019907e+00 -2.872116261043417e+00 - -2.872205776016155e+00 -2.872294101539941e+00 -2.872381243012580e+00 -2.872467205758066e+00 -2.872551995009178e+00 - -2.872635615995248e+00 -2.872718074023048e+00 -2.872799374482606e+00 -2.872879523019508e+00 -2.872958525324841e+00 - -2.873036387016140e+00 -2.873113113575017e+00 -2.873188710012942e+00 -2.873263181462381e+00 -2.873336534009911e+00 - -2.873408773769060e+00 -2.873479906007045e+00 -2.873549935889074e+00 -2.873618869018622e+00 -2.873686711126628e+00 - -2.873753468015626e+00 -2.873819145455355e+00 -2.873883749012791e+00 -2.873947284262238e+00 -2.874009757010115e+00 - -2.874071173064448e+00 -2.874131538007598e+00 -2.874190857408149e+00 -2.874249137005235e+00 -2.874306382592947e+00 - -2.874362600014657e+00 -2.874417795154723e+00 -2.874471974012172e+00 -2.874525142492177e+00 -2.874577306009839e+00 - -2.874628470067637e+00 -2.874678641007656e+00 -2.874727825164796e+00 -2.874776028005620e+00 -2.874823254939239e+00 - -2.874869512013286e+00 -2.874914805384953e+00 -2.874959141011137e+00 -2.875002524843012e+00 -2.875044963009132e+00 - -2.875086461553842e+00 -2.875127026007268e+00 -2.875166661990855e+00 -2.875205376005544e+00 -2.875243174521211e+00 - -2.875280063003956e+00 -2.875316046953741e+00 -2.875351133009737e+00 -2.875385327829893e+00 -2.875418637008044e+00 - -2.875451066029114e+00 -2.875482621006486e+00 -2.875513308222273e+00 -2.875543134005058e+00 -2.875572104616458e+00 - -2.875600226003760e+00 -2.875627504088381e+00 -2.875653945002586e+00 -2.875679554924722e+00 -2.875704340006628e+00 - -2.875728306365356e+00 -2.875751460005359e+00 -2.875773807024162e+00 -2.875795354004213e+00 -2.875816107441742e+00 - -2.875836073003188e+00 -2.875855256356105e+00 -2.875873664002281e+00 -2.875891302525273e+00 -2.875908178001488e+00 - -2.875924296429527e+00 -2.875939664003940e+00 -2.875954287022889e+00 -2.875968172003060e+00 -2.875981325374513e+00 - -2.875993753002293e+00 -2.876005460745149e+00 -2.876016455001635e+00 -2.876026742281703e+00 -2.876036329001085e+00 - -2.876045221511428e+00 -2.876053426002279e+00 -2.876060948682664e+00 -2.876067796001651e+00 -2.876073974394489e+00 - -2.876079490001126e+00 -2.876084348997735e+00 -2.876088558000703e+00 -2.876092123620084e+00 -2.876095052000378e+00 - -2.876097349275196e+00 -2.876099022000147e+00 -2.876100076780735e+00 -2.876100520000039e+00 -2.876100357977497e+00 - -2.876099597000405e+00 -2.876098243435337e+00 -2.876096303998139e+00 -2.876093785401991e+00 -2.876090694000126e+00 - -2.876087036076098e+00 -2.876082817994697e+00 -2.876078046153286e+00 -2.876072726998279e+00 -2.876066867041051e+00 - -2.876060473003754e+00 -2.876053551562065e+00 -2.876046108994973e+00 -2.876038151582050e+00 -2.876029686001908e+00 - -2.876020718975022e+00 -2.876011256990315e+00 -2.876001306494705e+00 -2.875990873998654e+00 -2.875979966015766e+00 - -2.875968589008655e+00 -2.875956749461299e+00 -2.875944453994101e+00 -2.875931709272467e+00 -2.875918522005370e+00 - -2.875904898821941e+00 -2.875890845988358e+00 -2.875876369796106e+00 -2.875861477000839e+00 -2.875846174460938e+00 - -2.875830468981534e+00 -2.875814367182402e+00 -2.875797874995170e+00 -2.875780998493851e+00 -2.875763745010153e+00 - -2.875746121853747e+00 -2.875728134988475e+00 -2.875709790337169e+00 -2.875691095004476e+00 -2.875672056151185e+00 - -2.875652679980860e+00 -2.875632972639220e+00 -2.875612940997824e+00 -2.875592591983200e+00 -2.875571932015899e+00 - -2.875550967463832e+00 -2.875529704990307e+00 -2.875508151305197e+00 -2.875486313009207e+00 -2.875464196688727e+00 - -2.875441808982035e+00 -2.875419156538716e+00 -2.875396246001703e+00 -2.875373083982446e+00 -2.875349676973115e+00 - -2.875326031456047e+00 -2.875302153993497e+00 -2.875278051224424e+00 -2.875253730014671e+00 -2.875229197164465e+00 - -2.875204458984698e+00 -2.875179521740897e+00 -2.875154392006447e+00 -2.875129076470253e+00 -2.875103581975416e+00 - -2.875077915323747e+00 -2.875052082997684e+00 -2.875026091410789e+00 -2.874999947020509e+00 -2.874973656330889e+00 - -2.874947225988491e+00 -2.874920662667701e+00 -2.874893973011697e+00 -2.874867163623783e+00 -2.874840240978976e+00 - -2.874813211559227e+00 -2.874786082002508e+00 -2.874758858958694e+00 -2.874731548969249e+00 -2.874704158521300e+00 - -2.874676693993052e+00 -2.874649161850167e+00 -2.874621569017096e+00 -2.874593922351292e+00 -2.874566227983435e+00 - -2.874538491996276e+00 -2.874510721007613e+00 -2.874482921761722e+00 -2.874455100973768e+00 -2.874427265275985e+00 - -2.874399420998023e+00 -2.874371574431975e+00 -2.874343732022288e+00 -2.874315900299783e+00 -2.874288085988434e+00 - -2.874260295776052e+00 -2.874232536012641e+00 -2.874204812974258e+00 -2.874177132978955e+00 -2.874149502426689e+00 - -2.874121928003048e+00 -2.874094416390038e+00 -2.874066973969692e+00 -2.874039607056358e+00 -2.874012321993617e+00 - -2.873985125156578e+00 -2.873958023017241e+00 -2.873931022092817e+00 -2.873904128984454e+00 -2.873877350227203e+00 - -2.873850692007775e+00 -2.873824160475146e+00 -2.873797761975665e+00 -2.873771502947487e+00 -2.873745389998629e+00 - -2.873719429664607e+00 -2.873693628021065e+00 -2.873667991196405e+00 -2.873642525989910e+00 -2.873617239207638e+00 - -2.873592137011854e+00 -2.873567225478465e+00 -2.873542510981722e+00 -2.873517999984164e+00 -2.873493699003122e+00 - -2.873469614539558e+00 -2.873445752974173e+00 -2.873422120664412e+00 -2.873398723994974e+00 -2.873375569341346e+00 - -2.873352663014937e+00 -2.873330011368907e+00 -2.873307620987516e+00 -2.873285498440290e+00 -2.873263650006746e+00 - -2.873242081977908e+00 -2.873220800980854e+00 -2.873199813610778e+00 -2.873179125999297e+00 -2.873158744269642e+00 - -2.873138674975094e+00 -2.873118924733721e+00 -2.873099499992696e+00 -2.873080407078925e+00 -2.873061652009151e+00 - -2.873043240951156e+00 -2.873025180987050e+00 -2.873007479104932e+00 -2.872990141002529e+00 -2.872973172348110e+00 - -2.872956579982463e+00 -2.872940370832477e+00 -2.872924550996914e+00 -2.872909126514257e+00 -2.872894104009989e+00 - -2.872879490127201e+00 -2.872865290992410e+00 -2.872851512733995e+00 -2.872838162004323e+00 -2.872825245427317e+00 - -2.872812768989124e+00 -2.872800738661925e+00 -2.872789160999820e+00 -2.872778042642130e+00 -2.872767389987160e+00 - -2.872757209355336e+00 -2.872747506996586e+00 -2.872738289140315e+00 -2.872729562004331e+00 -2.872721331833777e+00 - -2.872713604994726e+00 -2.872706387896571e+00 -2.872699687001068e+00 -2.872693508692679e+00 -2.872687858994343e+00 - -2.872682743943764e+00 -2.872678169999229e+00 -2.872674143639194e+00 -2.872670671002211e+00 -2.872667758252759e+00 - -2.872665411998920e+00 -2.872663638727966e+00 -2.872662444000314e+00 -2.872661833458480e+00 -2.872661814000242e+00 - -2.872662392564575e+00 -2.872663574999996e+00 -2.872665367034357e+00 -2.872667775003300e+00 -2.872670805307676e+00 - -2.872674464001362e+00 -2.872678757122995e+00 -2.872683690997219e+00 -2.872689271947241e+00 -2.872695506004511e+00 - -2.872702399218003e+00 -2.872709957998547e+00 -2.872718188690384e+00 -2.872727097009549e+00 -2.872736688669513e+00 - -2.872746970001709e+00 -2.872757947412680e+00 -2.872769626991446e+00 -2.872782014787135e+00 -2.872795117006809e+00 - -2.872808939808297e+00 -2.872823488994544e+00 -2.872838770359238e+00 -2.872854790013944e+00 -2.872871554154958e+00 - -2.872889068999627e+00 -2.872907340687168e+00 -2.872926375023218e+00 -2.872946177789640e+00 -2.872966755006795e+00 - -2.872988112738970e+00 -2.873010256987659e+00 -2.873033193743455e+00 -2.873056929016149e+00 -2.873081468798353e+00 - -2.873106818994782e+00 -2.873132985471494e+00 -2.873159974027786e+00 -2.873187790508094e+00 -2.873216441004140e+00 - -2.873245931584463e+00 -2.873276267977569e+00 -2.873307455856915e+00 -2.873339501015828e+00 -2.873372409342765e+00 - -2.873406186986854e+00 -2.873440840030674e+00 -2.873476374029945e+00 -2.873512794459630e+00 -2.873550106998518e+00 - -2.873588317466817e+00 -2.873627432046586e+00 -2.873667456808100e+00 -2.873708397012657e+00 -2.873750257967860e+00 - -2.873793045975522e+00 -2.873836767295967e+00 -2.873881427029366e+00 -2.873927030237608e+00 -2.873973582989610e+00 - -2.874021091436191e+00 -2.874069561048740e+00 -2.874118997257345e+00 -2.874169406006314e+00 -2.874220793186470e+00 - -2.874273163960479e+00 -2.874326523535612e+00 -2.874380878025728e+00 -2.874436233504353e+00 -2.874492594977105e+00 - -2.874549967456173e+00 -2.874608357047944e+00 -2.874667769870749e+00 -2.874728210996486e+00 -2.874789685444839e+00 - -2.874852199073056e+00 -2.874915757808161e+00 -2.874980367018717e+00 -2.875046031956011e+00 -2.875112757960702e+00 - -2.875180550448241e+00 -2.875249415043884e+00 -2.875319357389408e+00 -2.875390382982873e+00 -2.875462497200150e+00 - -2.875535705072081e+00 -2.875610011724477e+00 -2.875685423008027e+00 -2.875761944747628e+00 -2.875839581940104e+00 - -2.875918339524430e+00 -2.875998223036253e+00 -2.876079238083328e+00 -2.876161389965175e+00 -2.876244683897332e+00 - -2.876329125067640e+00 -2.876414718675390e+00 -2.876501469993362e+00 -2.876589384334920e+00 -2.876678467102276e+00 - -2.876768723646439e+00 -2.876860159024752e+00 -2.876952778311590e+00 -2.877046586943105e+00 -2.877141590285005e+00 - -2.877237793059432e+00 -2.877335200055582e+00 -2.877433816974432e+00 -2.877533649470098e+00 -2.877634702097487e+00 - -2.877736979404358e+00 -2.877840487009089e+00 -2.877945230580227e+00 -2.878051214916385e+00 -2.878158444703550e+00 - -2.878266925047163e+00 -2.878376661120778e+00 -2.878487657950954e+00 -2.878599920558564e+00 -2.878713454088738e+00 - -2.878828263638601e+00 -2.878944353988982e+00 -2.879061729871082e+00 -2.879180396133895e+00 -2.879300357745253e+00 - -2.879421620030550e+00 -2.879544188234639e+00 -2.879668066922659e+00 -2.879793260582870e+00 -2.879919774075741e+00 - -2.880047612428619e+00 -2.880176780964157e+00 -2.880307284823274e+00 -2.880439128124635e+00 -2.880572315044195e+00 - -2.880706851009318e+00 -2.880842741491739e+00 -2.880979990889281e+00 -2.881118603470176e+00 -2.881258584058220e+00 - -2.881399937594580e+00 -2.881542668934350e+00 -2.881686782880171e+00 -2.881832284110943e+00 -2.881979177270132e+00 - -2.882127466983199e+00 -2.882277157822698e+00 -2.882428254167564e+00 -2.882580760515876e+00 -2.882734682035907e+00 - -2.882890023809088e+00 -2.883046789899305e+00 -2.883204984344022e+00 -2.883364612092550e+00 -2.883525678164890e+00 - -2.883688186951939e+00 -2.883852142755886e+00 -2.884017550153203e+00 -2.884184413751485e+00 -2.884352738008543e+00 - -2.884522527349429e+00 -2.884693786217942e+00 -2.884866519029743e+00 -2.885040730069195e+00 -2.885216423722596e+00 - -2.885393604915286e+00 -2.885572278454246e+00 -2.885752448133968e+00 -2.885934117732660e+00 -2.886117291975880e+00 - -2.886301975695701e+00 -2.886488173202934e+00 -2.886675888645447e+00 -2.886865126040629e+00 -2.887055889528861e+00 - -2.887248183873006e+00 -2.887442013779875e+00 -2.887637383109605e+00 -2.887834295673936e+00 -2.888032755937675e+00 - -2.888232768417303e+00 -2.888434337182880e+00 -2.888637466267979e+00 -2.888842160006608e+00 -2.889048422705334e+00 - -2.889256258260521e+00 -2.889465670586525e+00 -2.889676664079871e+00 -2.889889243164732e+00 -2.890103411893701e+00 - -2.890319174230825e+00 -2.890536534157536e+00 -2.890755495690120e+00 -2.890976062966901e+00 -2.891198240133124e+00 - -2.891422031239666e+00 -2.891647440271526e+00 -2.891874471044534e+00 -2.892103127449178e+00 -2.892333413843735e+00 - -2.892565334531329e+00 -2.892798893126666e+00 -2.893034093211137e+00 -2.893270938921286e+00 -2.893509434394119e+00 - -2.893749583213363e+00 -2.893991388990754e+00 -2.894234856003367e+00 -2.894479988544211e+00 -2.894726790304690e+00 - -2.894975264880993e+00 -2.895225416090045e+00 -2.895477247800793e+00 -2.895730763869547e+00 -2.895985968110420e+00 - -2.896242864181383e+00 -2.896501455784724e+00 -2.896761746956156e+00 -2.897023741664482e+00 -2.897287443277443e+00 - -2.897552855132549e+00 -2.897819981047455e+00 -2.898088824960355e+00 -2.898359390811481e+00 -2.898631682423090e+00 - -2.898905703143506e+00 -2.899181456336644e+00 -2.899458945902694e+00 -2.899738175745144e+00 -2.900019149244370e+00 - -2.900301869748365e+00 -2.900586340998689e+00 -2.900872566741790e+00 -2.901160550350105e+00 -2.901450295205248e+00 - -2.901741805099525e+00 -2.902035083835090e+00 -2.902330134842785e+00 -2.902626961482952e+00 -2.902925567205262e+00 - -2.903225955501619e+00 -2.903528129943548e+00 -2.903832094083243e+00 -2.904137851315957e+00 -2.904445404943298e+00 - -2.904754758049239e+00 -2.905065913908475e+00 -2.905378876776237e+00 -2.905693650730528e+00 -2.906010238159916e+00 - -2.906328641477237e+00 -2.906648864881840e+00 -2.906970912612057e+00 -2.907294787275635e+00 -2.907620491421319e+00 - -2.907948028992455e+00 -2.908277404008211e+00 -2.908608619396449e+00 -2.908941677961907e+00 -2.909276583108139e+00 - -2.909613338320582e+00 -2.909951946813384e+00 -2.910292411733319e+00 -2.910634736228945e+00 -2.910978923497479e+00 - -2.911324976928991e+00 -2.911672899876866e+00 -2.912022695354926e+00 -2.912374366346152e+00 -2.912727916049746e+00 - -2.913083347735332e+00 -2.913440664738005e+00 -2.913799870293631e+00 -2.914160967175702e+00 -2.914523958205600e+00 - -2.914888846858668e+00 -2.915255636613397e+00 -2.915624330306910e+00 -2.915994930711883e+00 -2.916367440984558e+00 - -2.916741864289805e+00 -2.917118203443422e+00 -2.917496461287171e+00 -2.917876641115726e+00 -2.918258746264796e+00 - -2.918642779781321e+00 -2.919028744569610e+00 -2.919416643252220e+00 -2.919806478556714e+00 -2.920198253912409e+00 - -2.920591972698769e+00 -2.920987637394092e+00 -2.921385250442034e+00 -2.921784815048848e+00 -2.922186334507697e+00 - -2.922589811696789e+00 -2.922995249368979e+00 -2.923402650190686e+00 -2.923812016928122e+00 -2.924223352833133e+00 - -2.924636661116357e+00 -2.925051944337972e+00 -2.925469204994078e+00 -2.925888445974902e+00 -2.926309670222330e+00 - -2.926732880490753e+00 -2.927158079512877e+00 -2.927585270122142e+00 -2.928014455203420e+00 -2.928445637746579e+00 - -2.928878820641719e+00 -2.929314006274898e+00 -2.929751197043434e+00 -2.930190395893735e+00 -2.930631605816839e+00 - -2.931074829433217e+00 -2.931520069294359e+00 -2.931967328046430e+00 -2.932416608452995e+00 -2.932867913652596e+00 - -2.933321246608101e+00 -2.933776609204709e+00 -2.934234003435805e+00 -2.934693432805196e+00 -2.935154900804807e+00 - -2.935618409368617e+00 -2.936083960365691e+00 -2.936551556963400e+00 -2.937021202354904e+00 -2.937492898538196e+00 - -2.937966647468766e+00 -2.938442452127255e+00 -2.938920315642269e+00 -2.939400240709141e+00 -2.939882229846171e+00 - -2.940366285296803e+00 -2.940852409365155e+00 -2.941340604872910e+00 -2.941830874578781e+00 -2.942323220472084e+00 - -2.942817644603974e+00 -2.943314150042391e+00 -2.943812739919231e+00 -2.944313416605433e+00 -2.944816182292809e+00 - -2.945321039217627e+00 -2.945827989752984e+00 -2.946337036774817e+00 -2.946848183049044e+00 -2.947361430398659e+00 - -2.947876780695535e+00 -2.948394236949976e+00 -2.948913802216184e+00 -2.949435478585527e+00 -2.949959268045502e+00 - -2.950485173130951e+00 -2.951013196489051e+00 -2.951543340668991e+00 -2.952075608036040e+00 -2.952610000317780e+00 - -2.953146519451356e+00 -2.953685168849877e+00 -2.954225951787981e+00 -2.954768869510503e+00 -2.955313923227115e+00 - -2.955861116036636e+00 -2.956410451196468e+00 -2.956961930709160e+00 -2.957515556348660e+00 -2.958071330229310e+00 - -2.958629254704319e+00 -2.959189332741965e+00 -2.959751567143614e+00 -2.960315959427935e+00 -2.960882511105170e+00 - -2.961451224934558e+00 -2.962022103774683e+00 -2.962595149632548e+00 -2.963170364371659e+00 -2.963747750133120e+00 - -2.964327309260061e+00 -2.964909044626116e+00 -2.965492958892178e+00 -2.966079053337689e+00 -2.966667329311879e+00 - -2.967257789824588e+00 -2.967850437973655e+00 -2.968445275548303e+00 -2.969042304161408e+00 -2.969641526029084e+00 - -2.970242943489398e+00 -2.970846558764995e+00 -2.971452374012471e+00 -2.972060391239641e+00 -2.972670612566008e+00 - -2.973283040706606e+00 -2.973897678221620e+00 -2.974514526456296e+00 -2.975133586785449e+00 -2.975754861917081e+00 - -2.976378354633252e+00 -2.977004066679083e+00 -2.977631999719257e+00 -2.978262156133669e+00 -2.978894538388579e+00 - -2.979529148580497e+00 -2.980165988659094e+00 -2.980805060356407e+00 -2.981446365534977e+00 -2.982089906796993e+00 - -2.982735686662750e+00 -2.983383706585328e+00 -2.984033968085205e+00 -2.984686474019655e+00 -2.985341227187940e+00 - -2.985998228820469e+00 -2.986657480057624e+00 -2.987318983248517e+00 -2.987982740990944e+00 -2.988648755668708e+00 - -2.989317029403636e+00 -2.989987563483614e+00 -2.990660359350691e+00 -2.991335419897486e+00 -2.992012747963469e+00 - -2.992692344724977e+00 -2.993374211287029e+00 -2.994058350132512e+00 -2.994744763907397e+00 -2.995433454532118e+00 - -2.996124423756546e+00 -2.996817673373822e+00 -2.997513205283444e+00 -2.998211021767050e+00 -2.998911125033880e+00 - -2.999613516621449e+00 -3.000318198120732e+00 -3.001025172008281e+00 -3.001734440748973e+00 -3.002446005875424e+00 - -3.003159868783688e+00 -3.003876031255844e+00 -3.004594495323234e+00 -3.005315263628241e+00 -3.006038338638268e+00 - -3.006763721509772e+00 -3.007491413411925e+00 -3.008221416875716e+00 -3.008953734497098e+00 -3.009688367770095e+00 - -3.010425318036306e+00 -3.011164587129571e+00 -3.011906177113799e+00 -3.012650090480955e+00 -3.013396329533748e+00 - -3.014144895389836e+00 -3.014895789237767e+00 -3.015649013734712e+00 -3.016404571515447e+00 -3.017162463656545e+00 - -3.017922691248400e+00 -3.018685256994897e+00 -3.019450163571901e+00 -3.020217411929727e+00 -3.020987002987051e+00 - -3.021758939261538e+00 -3.022533223477289e+00 -3.023309857585168e+00 -3.024088843221124e+00 -3.024870181534668e+00 - -3.025653873871900e+00 -3.026439922851719e+00 -3.027228331077071e+00 -3.028019099814318e+00 -3.028812230192102e+00 - -3.029607724124773e+00 -3.030405583764245e+00 -3.031205811426982e+00 -3.032008409239547e+00 -3.032813378404362e+00 - -3.033620720145768e+00 -3.034430436699938e+00 -3.035242530366928e+00 -3.036057002690514e+00 -3.036873855182042e+00 - -3.037693089979441e+00 -3.038514709166424e+00 -3.039338713983260e+00 -3.040165105664532e+00 -3.040993886265523e+00 - -3.041825058080565e+00 -3.042658623539453e+00 -3.043494584770202e+00 -3.044332942558215e+00 -3.045173697755793e+00 - -3.046016852825442e+00 -3.046862410359265e+00 -3.047710371857544e+00 -3.048560738605269e+00 -3.049413512118055e+00 - -3.050268694173960e+00 -3.051126287370169e+00 -3.051986294136892e+00 -3.052848715417321e+00 -3.053713552140092e+00 - -3.054580806662679e+00 -3.055450481419417e+00 -3.056322577723267e+00 -3.057197096839233e+00 -3.058074040961857e+00 - -3.058953412280709e+00 -3.059835212035924e+00 -3.060719441405425e+00 -3.061606102267731e+00 -3.062495196777212e+00 - -3.063386727491054e+00 -3.064280696619269e+00 -3.065177104580330e+00 -3.066075951959016e+00 -3.066977241796834e+00 - -3.067880977177860e+00 -3.068787158899685e+00 -3.069695787543252e+00 -3.070606865109353e+00 -3.071520393938529e+00 - -3.072436376310475e+00 -3.073354814200677e+00 -3.074275708428639e+00 -3.075199059975246e+00 -3.076124871622891e+00 - -3.077053146054635e+00 -3.077983883754724e+00 -3.078917085313194e+00 -3.079852753942089e+00 -3.080790892784741e+00 - -3.081731502087634e+00 -3.082674582011150e+00 -3.083620135268097e+00 -3.084568164866139e+00 -3.085518672439932e+00 - -3.086471659270948e+00 -3.087427126600947e+00 -3.088385075921834e+00 -3.089345509765843e+00 -3.090308430518810e+00 - -3.091273838940665e+00 -3.092241735746584e+00 -3.093212123098609e+00 -3.094185003484481e+00 -3.095160379247863e+00 - -3.096138252358965e+00 -3.097118623438258e+00 -3.098101493262150e+00 -3.099086864580523e+00 -3.100074740150514e+00 - -3.101065120784818e+00 -3.102058007230942e+00 -3.103053401920080e+00 -3.104051307417155e+00 -3.105051725138318e+00 - -3.106054656274756e+00 -3.107060102266563e+00 -3.108068064811119e+00 -3.109078546386035e+00 -3.110091549326776e+00 - -3.111107074619999e+00 -3.112125123273996e+00 -3.113145697732417e+00 -3.114168800386244e+00 -3.115194431980418e+00 - -3.116222593318652e+00 -3.117253287085768e+00 -3.118286516039464e+00 -3.119322281347848e+00 -3.120360583948459e+00 - -3.121401425446115e+00 -3.122444807777008e+00 -3.123490733535526e+00 -3.124539205035892e+00 -3.125590222813487e+00 - -3.126643787500575e+00 -3.127699901895779e+00 -3.128758568841378e+00 -3.129819789187914e+00 -3.130883563634097e+00 - -3.131949894263071e+00 -3.133018783446947e+00 -3.134090233329311e+00 -3.135164245759380e+00 -3.136240821637432e+00 - -3.137319962039862e+00 -3.138401669696502e+00 -3.139485947209752e+00 -3.140572795018887e+00 -3.141662213641400e+00 - -3.142754206070774e+00 -3.143848775370422e+00 -3.144945922407469e+00 -3.146045647810740e+00 -3.147147953452156e+00 - -3.148252841552866e+00 -3.149360314487843e+00 -3.150470374336312e+00 -3.151583021840677e+00 -3.152698257836541e+00 - -3.153816084869129e+00 -3.154936505573740e+00 -3.156059521236365e+00 -3.157185132934072e+00 -3.158313342257567e+00 - -3.159444151127381e+00 -3.160577562269707e+00 -3.161713578058511e+00 -3.162852198653188e+00 -3.163993424406347e+00 - -3.165137258658042e+00 -3.166283704751602e+00 -3.167432763056018e+00 -3.168584433853514e+00 -3.169738720053572e+00 - -3.170895624664928e+00 -3.172055148466089e+00 -3.173217292044841e+00 -3.174382057456326e+00 -3.175549447119023e+00 - -3.176719463437418e+00 -3.177892108465135e+00 -3.179067382866334e+00 -3.180245287430775e+00 -3.181425824840074e+00 - -3.182608997807819e+00 -3.183794807283624e+00 -3.184983254083125e+00 -3.186174340249998e+00 -3.187368068149750e+00 - -3.188564440207163e+00 -3.189763458501066e+00 -3.190965123667219e+00 -3.192169436468204e+00 -3.193376399616980e+00 - -3.194586015855556e+00 -3.195798286091764e+00 -3.197013211234878e+00 -3.198230794034108e+00 -3.199451037209393e+00 - -3.200673941523666e+00 -3.201899507599942e+00 -3.203127737458575e+00 -3.204358633517069e+00 -3.205592198384193e+00 - -3.206828434306502e+00 -3.208067341890413e+00 -3.209308921829809e+00 -3.210553176808560e+00 -3.211800109598040e+00 - -3.213049721329648e+00 -3.214302012941719e+00 -3.215556986240311e+00 -3.216814643392485e+00 -3.218074987141617e+00 - -3.219338019837523e+00 -3.220603741679474e+00 -3.221872153094758e+00 -3.223143257573258e+00 -3.224417058543514e+00 - -3.225693556126080e+00 -3.226972750453261e+00 -3.228254645012327e+00 -3.229539243310538e+00 -3.230826545580160e+00 - -3.232116551831102e+00 -3.233409264458852e+00 -3.234704686394765e+00 -3.236002820328103e+00 -3.237303668413965e+00 - -3.238607230912866e+00 -3.239913508296335e+00 -3.241222503774527e+00 -3.242534220589764e+00 -3.243848659374397e+00 - -3.245165820540432e+00 -3.246485706228452e+00 -3.247808319087641e+00 -3.249133662073000e+00 -3.250461737608715e+00 - -3.251792545689908e+00 -3.253126086515263e+00 -3.254462363526813e+00 -3.255801380232294e+00 -3.257143137158927e+00 - -3.258487634736825e+00 -3.259834875988172e+00 -3.261184864013611e+00 -3.262537599635538e+00 -3.263893083453904e+00 - -3.265251317457108e+00 -3.266612304094287e+00 -3.267976046269084e+00 -3.269342546452898e+00 -3.270711804933652e+00 - -3.272083822201368e+00 -3.273458601737915e+00 -3.274836147008249e+00 -3.276216458417835e+00 -3.277599536106921e+00 - -3.278985382214368e+00 -3.280373999474050e+00 -3.281765391001240e+00 -3.283159559381294e+00 -3.284556504698475e+00 - -3.285956227223949e+00 -3.287358730477579e+00 -3.288764018003004e+00 -3.290172090190266e+00 -3.291582947391597e+00 - -3.292996592961586e+00 -3.294413030263101e+00 -3.295832259689772e+00 -3.297254281509102e+00 -3.298679098453292e+00 - -3.300106713632883e+00 -3.301537129207062e+00 -3.302970346938195e+00 -3.304406367952729e+00 -3.305845193592728e+00 - -3.307286826698660e+00 -3.308731270022015e+00 -3.310178524459931e+00 -3.311628590794006e+00 -3.313081471198005e+00 - -3.314537168271639e+00 -3.315995684926260e+00 -3.317457023622331e+00 -3.318921184705128e+00 -3.320388168757214e+00 - -3.321857979425488e+00 -3.323330620242623e+00 -3.324806091220061e+00 -3.326284392457951e+00 -3.327765527932510e+00 - -3.329249501635255e+00 -3.330736313742837e+00 -3.332225964151081e+00 -3.333718455447356e+00 -3.335213790816533e+00 - -3.336711973141963e+00 -3.338213004741188e+00 -3.339716885970061e+00 -3.341223617428788e+00 -3.342733202656698e+00 - -3.344245645175923e+00 -3.345760945500658e+00 -3.347279103963591e+00 -3.348800123179309e+00 -3.350324006237700e+00 - -3.351850755847976e+00 -3.353380374190363e+00 -3.354912861709826e+00 -3.356448219173252e+00 -3.357986450370467e+00 - -3.359527558984502e+00 -3.361071545248283e+00 -3.362618409368982e+00 -3.364168154900880e+00 -3.365720785489059e+00 - -3.367276301794712e+00 -3.368834704260551e+00 -3.370395995439248e+00 -3.371960178388195e+00 -3.373527256073704e+00 - -3.375097230883950e+00 -3.376670102985606e+00 -3.378245872877927e+00 -3.379824544611959e+00 -3.381406122149057e+00 - -3.382990605539988e+00 -3.384577994855671e+00 -3.386168294158221e+00 -3.387761507524905e+00 -3.389357635102426e+00 - -3.390956676825633e+00 -3.392558635712520e+00 -3.394163515324364e+00 -3.395771318312439e+00 -3.397382046745834e+00 - -3.398995701274896e+00 -3.400612282828281e+00 -3.402231794866633e+00 -3.403854240867662e+00 -3.405479621845378e+00 - -3.407107938586081e+00 -3.408739193428916e+00 -3.410373389185216e+00 -3.412010529002203e+00 -3.413650615518111e+00 - -3.415293648999326e+00 -3.416939629995896e+00 -3.418588562564371e+00 -3.420240450691449e+00 -3.421895294577897e+00 - -3.423553094414080e+00 -3.425213854134680e+00 -3.426877577792018e+00 -3.428544266164663e+00 -3.430213919689846e+00 - -3.431886540713168e+00 -3.433562132145608e+00 -3.435240697251321e+00 -3.436922238808692e+00 -3.438606757299870e+00 - -3.440294253397158e+00 -3.441984730829699e+00 -3.443678193368453e+00 -3.445374641894819e+00 -3.447074077051543e+00 - -3.448776501416308e+00 -3.450481918039497e+00 -3.452190329927366e+00 -3.453901739641781e+00 -3.455616148011183e+00 - -3.457333556082980e+00 -3.459053967513855e+00 -3.460777385853499e+00 -3.462503811614361e+00 -3.464233245386620e+00 - -3.465965691108627e+00 -3.467701152771073e+00 -3.469439631225878e+00 -3.471181127031554e+00 -3.472925642711720e+00 - -3.474673181335264e+00 -3.476423746187027e+00 -3.478177340029919e+00 -3.479933963323171e+00 -3.481693616824597e+00 - -3.483456304790008e+00 -3.485222031388338e+00 -3.486990796943019e+00 -3.488762601570069e+00 -3.490537448401365e+00 - -3.492315341151373e+00 -3.494096282849095e+00 -3.495880275915030e+00 -3.497667321021135e+00 -3.499457419173128e+00 - -3.501250574460328e+00 -3.503046790838973e+00 -3.504846068649357e+00 -3.506648408298966e+00 -3.508453814079994e+00 - -3.510262290280344e+00 -3.512073837286068e+00 -3.513888455301771e+00 -3.515706147708129e+00 -3.517526918395819e+00 - -3.519350770119465e+00 -3.521177705073145e+00 -3.523007724344773e+00 -3.524840829328240e+00 -3.526677023747485e+00 - -3.528516311267811e+00 -3.530358692989965e+00 -3.532204169811781e+00 -3.534052744384031e+00 -3.535904419874647e+00 - -3.537759199767289e+00 -3.539617087002065e+00 -3.541478082029144e+00 -3.543342185630307e+00 -3.545209402403708e+00 - -3.547079736777425e+00 -3.548953188682862e+00 -3.550829758143615e+00 -3.552709450048714e+00 -3.554592269345012e+00 - -3.556478216345227e+00 -3.558367291032073e+00 -3.560259496702344e+00 -3.562154837300620e+00 -3.564053316048536e+00 - -3.565954935512961e+00 -3.567859696364639e+00 -3.569767599635964e+00 -3.571678649702049e+00 -3.573592850895430e+00 - -3.575510204035641e+00 -3.577430709619281e+00 -3.579354370364244e+00 -3.581281189700099e+00 -3.583211171681835e+00 - -3.585144319721653e+00 -3.587080634035166e+00 -3.589020115063184e+00 -3.590962767343901e+00 -3.592908595415016e+00 - -3.594857599714854e+00 -3.596809780701911e+00 -3.598765143014713e+00 -3.600723691343250e+00 -3.602685426403352e+00 - -3.604650348553174e+00 -3.606618460694309e+00 -3.608589766473437e+00 -3.610564269974137e+00 -3.612541974573128e+00 - -3.614522880382737e+00 -3.616506987803558e+00 -3.618494301653613e+00 -3.620484826823921e+00 -3.622478564080036e+00 - -3.624475513850586e+00 -3.626475679341938e+00 -3.628479064392689e+00 -3.630485672592619e+00 -3.632495506905407e+00 - -3.634508568039156e+00 -3.636524857004877e+00 -3.638544378280809e+00 -3.640567136287224e+00 -3.642593131745308e+00 - -3.644622365423449e+00 -3.646654841977913e+00 -3.648690566065893e+00 -3.650729538460438e+00 -3.652771759626902e+00 - -3.654817232683972e+00 -3.656865961450936e+00 -3.658917949896158e+00 -3.660973201344661e+00 -3.663031716399031e+00 - -3.665093495929850e+00 -3.667158544602091e+00 -3.669226867066577e+00 -3.671298464123134e+00 -3.673373336353373e+00 - -3.675451487317045e+00 -3.677532921173144e+00 -3.679617641499514e+00 -3.681705651197185e+00 -3.683796951041065e+00 - -3.685891542158701e+00 -3.687989429214330e+00 -3.690090616811484e+00 -3.692195105774196e+00 -3.694302896934788e+00 - -3.696413994938233e+00 -3.698528404463948e+00 -3.700646126516483e+00 -3.702767161822413e+00 -3.704891513671268e+00 - -3.707019186005269e+00 -3.709150182814482e+00 -3.711284507419287e+00 -3.713422160413482e+00 -3.715563142750310e+00 - -3.717707459547388e+00 -3.719855115839397e+00 -3.722006112164920e+00 -3.724160448777861e+00 -3.726318129289493e+00 - -3.728479158099316e+00 -3.730643539402395e+00 -3.732811276589775e+00 -3.734982370040845e+00 -3.737156820495128e+00 - -3.739334633144358e+00 -3.741515813112657e+00 -3.743700360801490e+00 -3.745888276640612e+00 -3.748079565895588e+00 - -3.750274233918474e+00 -3.752472281571475e+00 -3.754673709335501e+00 -3.756878520656135e+00 -3.759086719721971e+00 - -3.761298310728990e+00 -3.763513297133539e+00 -3.765731679426046e+00 -3.767953458457793e+00 -3.770178639489403e+00 - -3.772407227784000e+00 -3.774639224205367e+00 -3.776874629489326e+00 -3.779113448259203e+00 -3.781355685279774e+00 - -3.783601341994148e+00 -3.785850419525435e+00 -3.788102921038436e+00 -3.790358850378410e+00 -3.792618212070778e+00 - -3.794881010002580e+00 -3.797147244827153e+00 -3.799416917428862e+00 -3.801690032849888e+00 -3.803966596190487e+00 - -3.806246608625402e+00 -3.808530070983860e+00 -3.810816986638503e+00 -3.813107359693981e+00 -3.815401194639556e+00 - -3.817698495297397e+00 -3.819999262436677e+00 -3.822303497093916e+00 -3.824611204428034e+00 -3.826922389548483e+00 - -3.829237053244454e+00 -3.831555196353405e+00 -3.833876824226091e+00 -3.836201942201953e+00 -3.838530551061888e+00 - -3.840862651326505e+00 -3.843198247033778e+00 -3.845537342919513e+00 -3.847879942993476e+00 -3.850226050562932e+00 - -3.852575666851148e+00 -3.854928793361406e+00 -3.857285434801036e+00 -3.859645595950435e+00 -3.862009278678248e+00 - -3.864376484523473e+00 -3.866747216618300e+00 -3.869121478726629e+00 -3.871499275546047e+00 -3.873880611182955e+00 - -3.876265486445322e+00 -3.878653902389424e+00 -3.881045864363169e+00 -3.883441377687285e+00 -3.885840443282151e+00 - -3.888243062046155e+00 -3.890649239190073e+00 -3.893058980047241e+00 -3.895472286128841e+00 -3.897889158595383e+00 - -3.900309601026809e+00 -3.902733617656517e+00 -3.905161212912323e+00 -3.907592390603840e+00 -3.910027151873432e+00 - -3.912465498159137e+00 -3.914907434748928e+00 -3.917352966879188e+00 -3.919802095729995e+00 -3.922254822259626e+00 - -3.924711150595445e+00 -3.927171085542605e+00 -3.929634631448325e+00 -3.932101791843537e+00 -3.934572567451927e+00 - -3.937046959532740e+00 -3.939524974294695e+00 -3.942006617767883e+00 -3.944491890318428e+00 -3.946980792233828e+00 - -3.949473329151056e+00 -3.951969506957779e+00 -3.954469327195002e+00 -3.956972790971958e+00 -3.959479902017460e+00 - -3.961990664762499e+00 -3.964505083827194e+00 -3.967023163167552e+00 -3.969544903893966e+00 -3.972070307479498e+00 - -3.974599379693463e+00 -3.977132126179292e+00 -3.979668547780628e+00 -3.982208645099321e+00 -3.984752422569858e+00 - -3.987299885436030e+00 -3.989851038346246e+00 -3.992405885069993e+00 -3.994964426456437e+00 -3.997526663815754e+00 - -4.000092603222488e+00 -4.002662250581340e+00 -4.005235606353252e+00 -4.007812671084819e+00 -4.010393451108941e+00 - -4.012977952843547e+00 -4.015566177260363e+00 -4.018158124897606e+00 -4.020753800005660e+00 -4.023353207686703e+00 - -4.025956352737950e+00 -4.028563239140089e+00 -4.031173867912699e+00 -4.033788240453579e+00 -4.036406362634527e+00 - -4.039028240314873e+00 -4.041653874830120e+00 -4.044283267179555e+00 -4.046916421541453e+00 -4.049553342894448e+00 - -4.052194036239657e+00 -4.054838505774454e+00 -4.057486752458788e+00 -4.060138777601743e+00 -4.062794587146426e+00 - -4.065454187011838e+00 -4.068117578386588e+00 -4.070784762448621e+00 -4.073455745063631e+00 -4.076130532171974e+00 - -4.078809125324914e+00 -4.081491525652789e+00 -4.084177736991329e+00 -4.086867764089578e+00 -4.089561612644448e+00 - -4.092259287473573e+00 -4.094960788929582e+00 -4.097666117736884e+00 -4.100375280572002e+00 -4.103088284211306e+00 - -4.105805129878449e+00 -4.108525818267906e+00 -4.111250353510137e+00 -4.113978740671802e+00 -4.116710985128399e+00 - -4.119447091422845e+00 -4.122187060458915e+00 -4.124930893522407e+00 -4.127678597066370e+00 -4.130430177441071e+00 - -4.133185635418395e+00 -4.135944971791250e+00 -4.138708193015015e+00 -4.141475305696859e+00 -4.144246311388639e+00 - -4.147021211130915e+00 -4.149800008974389e+00 -4.152582709893380e+00 -4.155369319546537e+00 -4.158159842709882e+00 - -4.160954279944561e+00 -4.163752632239020e+00 -4.166554906505763e+00 -4.169361109687737e+00 -4.172171242925584e+00 - -4.174985306927709e+00 -4.177803306475812e+00 -4.180625247195196e+00 -4.183451134012302e+00 -4.186280970992621e+00 - -4.189114759456745e+00 -4.191952501240072e+00 -4.194794202982180e+00 -4.197639871116617e+00 -4.200489506448629e+00 - -4.203343109834506e+00 -4.206200687962978e+00 -4.209062247657938e+00 -4.211927790451525e+00 -4.214797317400862e+00 - -4.217670832954751e+00 -4.220548342457539e+00 -4.223429851444060e+00 -4.226315364591702e+00 -4.229204882957573e+00 - -4.232098408004153e+00 -4.234995946435681e+00 -4.237897504949240e+00 -4.240803084971501e+00 -4.243712687544032e+00 - -4.246626317438374e+00 -4.249543980343883e+00 -4.252465681891192e+00 -4.255391426705907e+00 -4.258321215452209e+00 - -4.261255049361277e+00 -4.264192935893713e+00 -4.267134882389568e+00 -4.270080889477248e+00 -4.273030957691918e+00 - -4.275985093907401e+00 -4.278943305249538e+00 -4.281905593513557e+00 -4.284871959946388e+00 -4.287842408932329e+00 - -4.290816945777364e+00 -4.293795576336856e+00 -4.296778305653331e+00 -4.299765134968560e+00 -4.302756065899131e+00 - -4.305751105361620e+00 -4.308750260118541e+00 -4.311753531016159e+00 -4.314760919008608e+00 -4.317772431397722e+00 - -4.320788075591533e+00 -4.323807853075197e+00 -4.326831764792573e+00 -4.329859815445223e+00 -4.332892010759197e+00 - -4.335928356800809e+00 -4.338968858700405e+00 -4.342013517504197e+00 -4.345062334602749e+00 -4.348115316848165e+00 - -4.351172471198577e+00 -4.354233799574710e+00 -4.357299303495111e+00 -4.360368987907023e+00 -4.363442858590077e+00 - -4.366520921224746e+00 -4.369603180592436e+00 -4.372689637977453e+00 -4.375780295145305e+00 -4.378875159283436e+00 - -4.381974237486932e+00 -4.385077531059527e+00 -4.388185041309383e+00 -4.391296775353732e+00 -4.394412740393244e+00 - -4.397532938153312e+00 -4.400657369887305e+00 -4.403786040435705e+00 -4.406918955633090e+00 -4.410056121703311e+00 - -4.413197543940346e+00 -4.416343223529426e+00 -4.419493162052248e+00 -4.422647366785128e+00 -4.425805845047289e+00 - -4.428968598634965e+00 -4.432135628892382e+00 -4.435306940878729e+00 -4.438482540596634e+00 -4.441662434107552e+00 - -4.444846626509031e+00 -4.448035118984182e+00 -4.451227913265940e+00 -4.454425017200977e+00 -4.457626438485681e+00 - -4.460832178101560e+00 -4.464042236947444e+00 -4.467256622306292e+00 -4.470475341701105e+00 -4.473698397230936e+00 - -4.476925790483307e+00 -4.480157526423565e+00 -4.483393610985775e+00 -4.486634050601043e+00 -4.489878850742320e+00 - -4.493128012552872e+00 -4.496381537630165e+00 -4.499639433718156e+00 -4.502901708553144e+00 -4.506168363694287e+00 - -4.509439400268067e+00 -4.512714823847340e+00 -4.515994641019672e+00 -4.519278857985080e+00 -4.522567479881829e+00 - -4.525860507988668e+00 -4.529157944122721e+00 -4.532459796114085e+00 -4.535766071688615e+00 -4.539076772142213e+00 - -4.542391898765175e+00 -4.545711459255270e+00 -4.549035461446213e+00 -4.552363907308053e+00 -4.555696798263391e+00 - -4.559034139408705e+00 -4.562375936904542e+00 -4.565722197493832e+00 -4.569072926948550e+00 -4.572428126574475e+00 - -4.575787798129616e+00 -4.579151949647104e+00 -4.582520589075836e+00 -4.585893717752653e+00 -4.589271336639746e+00 - -4.592653451812744e+00 -4.596040070428725e+00 -4.599431198857142e+00 -4.602826842289216e+00 -4.606227001990830e+00 - -4.609631679831751e+00 -4.613040884022596e+00 -4.616454622677202e+00 -4.619872897181441e+00 -4.623295708819967e+00 - -4.626723065200532e+00 -4.630154974192006e+00 -4.633591438384649e+00 -4.637032459790966e+00 -4.640478043391029e+00 - -4.643928195196958e+00 -4.647382922381489e+00 -4.650842231139545e+00 -4.654306122594169e+00 -4.657774598295235e+00 - -4.661247666571815e+00 -4.664725335805659e+00 -4.668207607810025e+00 -4.671694483876048e+00 -4.675185969774820e+00 - -4.678682072408495e+00 -4.682182798723523e+00 -4.685688154522786e+00 -4.689198140990583e+00 -4.692712759891060e+00 - -4.696232019926335e+00 -4.699755929666950e+00 -4.703284490219185e+00 -4.706817702626076e+00 -4.710355575141943e+00 - -4.713898116290367e+00 -4.717445328460708e+00 -4.720997213393779e+00 -4.724553776370427e+00 -4.728115023824750e+00 - -4.731680963263822e+00 -4.735251601139764e+00 -4.738826938611875e+00 -4.742406977241646e+00 -4.745991725492132e+00 - -4.749581191958943e+00 -4.753175378866366e+00 -4.756774287871428e+00 -4.760377924733439e+00 -4.763986296289299e+00 - -4.767599409584012e+00 -4.771217270615820e+00 -4.774839880987831e+00 -4.778467242836293e+00 -4.782099364825118e+00 - -4.785736255481164e+00 -4.789377916255392e+00 -4.793024348603915e+00 -4.796675561079348e+00 -4.800331562360717e+00 - -4.803992354536202e+00 -4.807657939173200e+00 -4.811328322346788e+00 -4.815003511262576e+00 -4.818683513140625e+00 - -4.822368334073276e+00 -4.826057975627521e+00 -4.829752439872078e+00 -4.833451735407881e+00 -4.837155870922971e+00 - -4.840864848921632e+00 -4.844578671297884e+00 -4.848297343688468e+00 -4.852020872870312e+00 -4.855749266438375e+00 - -4.859482530948563e+00 -4.863220667982479e+00 -4.866963679596293e+00 -4.870711574718753e+00 -4.874464362148352e+00 - -4.878222043289993e+00 -4.881984619584831e+00 -4.885752100012597e+00 -4.889524493673498e+00 -4.893301802611106e+00 - -4.897084028340568e+00 -4.900871177319985e+00 -4.904663257144151e+00 -4.908460275011687e+00 -4.912262236942902e+00 - -4.916069144641015e+00 -4.919881000415621e+00 -4.923697813318887e+00 -4.927519592402767e+00 -4.931346339975771e+00 - -4.935178057730553e+00 -4.939014751639765e+00 -4.942856428895341e+00 -4.946703097286389e+00 -4.950554763469543e+00 - -4.954411428974413e+00 -4.958273095882141e+00 -4.962139773607051e+00 -4.966011471374763e+00 -4.969888190322918e+00 - -4.973769931656962e+00 -4.977656704941523e+00 -4.981548519919207e+00 -4.985445378685372e+00 -4.989347282670139e+00 - -4.993254238289898e+00 -4.997166253181426e+00 -5.001083334876794e+00 -5.005005489750602e+00 -5.008932719652265e+00 - -5.012865027026571e+00 -5.016802421224969e+00 -5.020744911403345e+00 -5.024692499028711e+00 -5.028645185619313e+00 - -5.032602980587180e+00 -5.036565893470627e+00 -5.040533926419334e+00 -5.044507081015939e+00 -5.048485363963517e+00 - -5.052468783200935e+00 -5.056457346489804e+00 -5.060451060330298e+00 -5.064449926354071e+00 -5.068453946757710e+00 - -5.072463130865962e+00 -5.076477488052552e+00 -5.080497020758939e+00 -5.084521730904982e+00 -5.088551625256381e+00 - -5.092586711696772e+00 -5.096626997735727e+00 -5.100672489712744e+00 -5.104723189661156e+00 -5.108779100266077e+00 - -5.112840231125939e+00 -5.116906591587866e+00 -5.120978183080382e+00 -5.125055007124604e+00 -5.129137073530554e+00 - -5.133224392250169e+00 -5.137316965514153e+00 -5.141414794882011e+00 -5.145517886949661e+00 -5.149626249667421e+00 - -5.153739891366810e+00 -5.157858819095347e+00 -5.161983034383363e+00 -5.166112539324860e+00 -5.170247343785729e+00 - -5.174387457616170e+00 -5.178532882831751e+00 -5.182683620936045e+00 -5.186839679219287e+00 -5.191001066208124e+00 - -5.195167789588259e+00 -5.199339855740569e+00 -5.203517266667578e+00 -5.207700025095241e+00 -5.211888141021600e+00 - -5.216081624199723e+00 -5.220280476130696e+00 -5.224484698310884e+00 -5.228694300469721e+00 -5.232909292611727e+00 - -5.237129677608738e+00 -5.241355457600706e+00 -5.245586638932716e+00 -5.249823229255573e+00 -5.254065237237846e+00 - -5.258312670369801e+00 -5.262565530410686e+00 -5.266823819583928e+00 -5.271087547700648e+00 -5.275356724632263e+00 - -5.279631352903723e+00 -5.283911434448228e+00 -5.288196976178466e+00 -5.292487986327965e+00 -5.296784473434150e+00 - -5.301086444698075e+00 -5.305393901671405e+00 -5.309706846569482e+00 -5.314025289911748e+00 -5.318349242027271e+00 - -5.322678704179561e+00 -5.327013677718438e+00 -5.331354173404511e+00 -5.335700202105029e+00 -5.340051765703035e+00 - -5.344408865432155e+00 -5.348771508912536e+00 -5.353139705124518e+00 -5.357513462102698e+00 -5.361892786505948e+00 - -5.366277680435933e+00 -5.370668146715638e+00 -5.375064195610523e+00 -5.379465837274747e+00 -5.383873073974794e+00 - -5.388285907439377e+00 -5.392704345133761e+00 -5.397128395890300e+00 -5.401558068273167e+00 -5.405993369375257e+00 - -5.410434300672517e+00 -5.414880864443758e+00 -5.419333071796174e+00 -5.423790933634701e+00 -5.428254451226888e+00 - -5.432723625834648e+00 -5.437198468334746e+00 -5.441678989715544e+00 -5.446165191796978e+00 -5.450657075821366e+00 - -5.455154649888983e+00 -5.459657923508107e+00 -5.464166904961132e+00 -5.468681600997277e+00 -5.473202013458992e+00 - -5.477728145011161e+00 -5.482260006515158e+00 -5.486797608759512e+00 -5.491340954044872e+00 -5.495890044003880e+00 - -5.500444886085005e+00 -5.505005489175888e+00 -5.509571862105057e+00 -5.514144012303452e+00 -5.518721941670775e+00 - -5.523305652810777e+00 -5.527895156674663e+00 -5.532490463993778e+00 -5.537091576272570e+00 -5.541698495053784e+00 - -5.546311231260242e+00 -5.550929796018560e+00 -5.555554191890502e+00 -5.560184420697174e+00 -5.564820489861896e+00 - -5.569462408240030e+00 -5.574110184812914e+00 -5.578763827204064e+00 -5.583423337479740e+00 -5.588088718319627e+00 - -5.592759980414353e+00 -5.597437134453794e+00 -5.602120183113874e+00 -5.606809128447821e+00 -5.611503978032022e+00 - -5.616204740842362e+00 -5.620911425929568e+00 -5.625624040919794e+00 -5.630342587666039e+00 -5.635067068763208e+00 - -5.639797495546991e+00 -5.644533879170592e+00 -5.649276221316504e+00 -5.654024523642824e+00 -5.658778797180806e+00 - -5.663539053129186e+00 -5.668305293983524e+00 -5.673077521581335e+00 -5.677855743831122e+00 -5.682639970117403e+00 - -5.687430209657800e+00 -5.692226470164904e+00 -5.697028753498052e+00 -5.701837062188433e+00 -5.706651407307890e+00 - -5.711471800003379e+00 -5.716298243181697e+00 -5.721130739014699e+00 -5.725969294974640e+00 -5.730813920019088e+00 - -5.735664623746429e+00 -5.740521414337008e+00 -5.745384293658165e+00 -5.750253264219532e+00 -5.755128337412918e+00 - -5.760009524502356e+00 -5.764896827358567e+00 -5.769790247833362e+00 -5.774689797096235e+00 -5.779595486532854e+00 - -5.784507319075965e+00 -5.789425296924678e+00 -5.794349427796488e+00 -5.799279720850703e+00 -5.804216185495535e+00 - -5.809158829710795e+00 -5.814107655513784e+00 -5.819062665706917e+00 -5.824023872195552e+00 -5.828991286593848e+00 - -5.833964910248241e+00 -5.838944744496904e+00 -5.843930800912663e+00 -5.848923091405570e+00 -5.853921618999967e+00 - -5.858926385866531e+00 -5.863937399646989e+00 -5.868954669511408e+00 -5.873978205272220e+00 -5.879008015280387e+00 - -5.884044101398642e+00 -5.889086466127434e+00 -5.894135121006329e+00 -5.899190077679159e+00 -5.904251339167730e+00 - -5.909318907675908e+00 -5.914392790757818e+00 -5.919472997569684e+00 -5.924559538325873e+00 -5.929652421747786e+00 - -5.934751649526802e+00 -5.939857223994977e+00 -5.944969157077114e+00 -5.950087460588470e+00 -5.955212136313389e+00 - -5.960343186070434e+00 -5.965480621845905e+00 -5.970624455737114e+00 -5.975774690117698e+00 -5.980931326619691e+00 - -5.986094373632355e+00 -5.991263841186835e+00 -5.996439739124646e+00 -6.001622075628632e+00 -6.006810852436582e+00 - -6.012006072105073e+00 -6.017207746910874e+00 -6.022415889122929e+00 -6.027630501258702e+00 -6.032851585034692e+00 - -6.038079148714933e+00 -6.043313202169935e+00 -6.048553755148549e+00 -6.053800815867540e+00 -6.059054386536941e+00 - -6.064314470164098e+00 -6.069581078952353e+00 -6.074854224823474e+00 -6.080133909377011e+00 -6.085420134277816e+00 - -6.090712911774160e+00 -6.096012254273324e+00 -6.101318164235261e+00 -6.106630643404864e+00 -6.111949700614082e+00 - -6.117275346267099e+00 -6.122607589969956e+00 -6.127946439669295e+00 -6.133291897472249e+00 -6.138643966380033e+00 - -6.144002658809652e+00 -6.149367987035877e+00 -6.154739953348771e+00 -6.160118559324411e+00 -6.165503813667637e+00 - -6.170895726810269e+00 -6.176294308963303e+00 -6.181699568610070e+00 -6.187111507544039e+00 -6.192530128394146e+00 - -6.197955443821025e+00 -6.203387466288188e+00 -6.208826197438971e+00 -6.214271638855750e+00 -6.219723802697215e+00 - -6.225182701452046e+00 -6.230648338352550e+00 -6.236120715733020e+00 -6.241599841591995e+00 -6.247085725644578e+00 - -6.252578378807894e+00 -6.258077810320607e+00 -6.263584021505486e+00 -6.269097014385768e+00 -6.274616801702433e+00 - -6.280143396389799e+00 -6.285676801437800e+00 -6.291217018848358e+00 -6.296764056615736e+00 -6.302317924554712e+00 - -6.307878633769864e+00 -6.313446193664602e+00 -6.319020605547922e+00 -6.324601871487839e+00 -6.330190004682891e+00 - -6.335785018206249e+00 -6.341386913499118e+00 -6.346995691980793e+00 -6.352611366614864e+00 -6.358233950592316e+00 - -6.363863446469443e+00 -6.369499855900457e+00 -6.375143187565898e+00 -6.380793451939097e+00 -6.386450659638202e+00 - -6.392114819555641e+00 -6.397785933536126e+00 -6.403464004233896e+00 -6.409149044588990e+00 -6.414841067513965e+00 - -6.420540075525660e+00 -6.426246070301758e+00 -6.431959060559017e+00 -6.437679056917068e+00 -6.443406070567963e+00 - -6.449140110779302e+00 -6.454881178548420e+00 -6.460629275812415e+00 -6.466384416537711e+00 -6.472146614484319e+00 - -6.477915870557313e+00 -6.483692185657911e+00 -6.489475573526882e+00 -6.495266048141532e+00 -6.501063611585819e+00 - -6.506868264986595e+00 -6.512680017535606e+00 -6.518498880384615e+00 -6.524324864460620e+00 -6.530157978732819e+00 - -6.535998224564008e+00 -6.541845604255500e+00 -6.547700131469085e+00 -6.553561819849423e+00 -6.559430671612207e+00 - -6.565306688088189e+00 -6.571189878497283e+00 -6.577080253965905e+00 -6.582977825357318e+00 -6.588882601649868e+00 - -6.594794584545345e+00 -6.600713776640095e+00 -6.606640191385222e+00 -6.612573842086468e+00 -6.618514730613387e+00 - -6.624462858757332e+00 -6.630418239433046e+00 -6.636380885778538e+00 -6.642350800701542e+00 -6.648327986279747e+00 - -6.654312451500913e+00 -6.660304207148021e+00 -6.666303264274883e+00 -6.672309632144893e+00 -6.678323312588955e+00 - -6.684344308236361e+00 -6.690372632342481e+00 -6.696408298209058e+00 -6.702451308697293e+00 -6.708501665794167e+00 - -6.714559378430309e+00 -6.720624457416141e+00 -6.726696914137652e+00 -6.732776758078630e+00 -6.738863990538500e+00 - -6.744958613795213e+00 -6.751060642225177e+00 -6.757170089911689e+00 -6.763286957667176e+00 -6.769411246357500e+00 - -6.775542970333119e+00 -6.781682144164359e+00 -6.787828769816468e+00 -6.793982848306231e+00 -6.800144389461610e+00 - -6.806313405086916e+00 -6.812489906080716e+00 -6.818673901333698e+00 -6.824865392610781e+00 -6.831064382650163e+00 - -6.837270885208925e+00 -6.843484914029985e+00 -6.849706471780753e+00 -6.855935560196301e+00 -6.862172188357874e+00 - -6.868416367348060e+00 -6.874668108908677e+00 -6.880927422841348e+00 -6.887194310527692e+00 -6.893468774218006e+00 - -6.899750828057308e+00 -6.906040486046904e+00 -6.912337749718504e+00 -6.918642620544160e+00 -6.924955112226868e+00 - -6.931275238742860e+00 -6.937603002930438e+00 -6.943938406703657e+00 -6.950281459417487e+00 -6.956632172330878e+00 - -6.962990556877839e+00 -6.969356622516854e+00 -6.975730370629293e+00 -6.982111803620415e+00 -6.988500936068168e+00 - -6.994897782349220e+00 -7.001302343862422e+00 -7.007714621896787e+00 -7.014134630279748e+00 -7.020562383120512e+00 - -7.026997883116998e+00 -7.033441132058707e+00 -7.039892139512705e+00 -7.046350916975187e+00 -7.052817475881351e+00 - -7.059291825658977e+00 -7.065773967767182e+00 -7.072263904706783e+00 -7.078761651114045e+00 -7.085267221537997e+00 - -7.091780618043302e+00 -7.098301841735545e+00 -7.104830902368316e+00 -7.111367811800725e+00 -7.117912581665987e+00 - -7.124465221496127e+00 -7.131025732644298e+00 -7.137594117517873e+00 -7.144170390919956e+00 -7.150754567380619e+00 - -7.157346647942116e+00 -7.163946633668109e+00 -7.170554539195697e+00 -7.177170379365883e+00 -7.183794156261903e+00 - -7.190425870988396e+00 -7.197065533493338e+00 -7.203713155838439e+00 -7.210368749697043e+00 -7.217032324589560e+00 - -7.223703881813015e+00 -7.230383423705708e+00 -7.237070964994412e+00 -7.243766520390449e+00 -7.250470092154861e+00 - -7.257181681552523e+00 -7.263901298313877e+00 -7.270628954301988e+00 -7.277364661444877e+00 -7.284108429522252e+00 - -7.290860259655573e+00 -7.297620154032538e+00 -7.304388127764033e+00 -7.311164195737019e+00 -7.317948359019635e+00 - -7.324740618617562e+00 -7.331540989105481e+00 -7.338349485298712e+00 -7.345166109406192e+00 -7.351990862719772e+00 - -7.358823755469352e+00 -7.365664799915581e+00 -7.372514007504119e+00 -7.379371387574386e+00 -7.386236941855793e+00 - -7.393110673113762e+00 -7.399992595867711e+00 -7.406882724521767e+00 -7.413781061264927e+00 -7.420687607444220e+00 - -7.427602373253923e+00 -7.434525370953283e+00 -7.441456612214240e+00 -7.448396106579596e+00 -7.455343855662903e+00 - -7.462299862106879e+00 -7.469264140600134e+00 -7.476236705537742e+00 -7.483217558094771e+00 -7.490206699573982e+00 - -7.497204145008848e+00 -7.504209909607961e+00 -7.511223995549668e+00 -7.518246403916826e+00 -7.525277144440522e+00 - -7.532316229110418e+00 -7.539363670302306e+00 -7.546419478207750e+00 -7.553483653895294e+00 -7.560556199398457e+00 - -7.567637129733686e+00 -7.574726459966183e+00 -7.581824192373288e+00 -7.588930328179804e+00 -7.596044877188221e+00 - -7.603167851392376e+00 -7.610299262973792e+00 -7.617439121971403e+00 -7.624587429666054e+00 -7.631744188388593e+00 - -7.638909413427992e+00 -7.646083119762239e+00 -7.653265308167305e+00 -7.660455979470388e+00 -7.667655148905554e+00 - -7.674862831955687e+00 -7.682079030692125e+00 -7.689303746121935e+00 -7.696536988406601e+00 -7.703778769965018e+00 - -7.711029103091334e+00 -7.718287997777487e+00 -7.725555454931286e+00 -7.732831476489904e+00 -7.740116077592081e+00 - -7.747409273463959e+00 -7.754711066479733e+00 -7.762021457991705e+00 -7.769340458116517e+00 -7.776668079072852e+00 - -7.784004332723263e+00 -7.791349228774319e+00 -7.798702768664788e+00 -7.806064954991001e+00 -7.813435803247359e+00 - -7.820815328504128e+00 -7.828203531237023e+00 -7.835600412067597e+00 -7.843005986795347e+00 -7.850420271453628e+00 - -7.857843267833355e+00 -7.865274976500961e+00 -7.872715407367362e+00 -7.880164572827870e+00 -7.887622485870939e+00 - -7.895089157097287e+00 -7.902564586963549e+00 -7.910048776908389e+00 -7.917541742442640e+00 -7.925043499243823e+00 - -7.932554049584044e+00 -7.940073394568305e+00 -7.947601544038569e+00 -7.955138510136092e+00 -7.962684305462377e+00 - -7.970238940357911e+00 -7.977802415658878e+00 -7.985374733292938e+00 -7.992955909057959e+00 -8.000545958501995e+00 - -8.008144882303682e+00 -8.015752681155906e+00 -8.023369370677967e+00 -8.030994966700497e+00 -8.038629470973136e+00 - -8.046272884117311e+00 -8.053925216322545e+00 -8.061586480220186e+00 -8.069256688640843e+00 -8.076935852017314e+00 - -8.084623970991846e+00 -8.092321047230506e+00 -8.100027096285098e+00 -8.107742133772728e+00 -8.115466161685978e+00 - -8.123199180963685e+00 -8.130941201954130e+00 -8.138692237272345e+00 -8.146452299190864e+00 -8.154221397655556e+00 - -8.161999533648068e+00 -8.169786709369063e+00 -8.177582940859525e+00 -8.185388243772254e+00 -8.193202618367051e+00 - -8.201026064968486e+00 -8.208858599553158e+00 -8.216700238370747e+00 -8.224550983111227e+00 -8.232410834288519e+00 - -8.240279802271914e+00 -8.248157899820946e+00 -8.256045139400785e+00 -8.263941531127587e+00 -8.271847076015916e+00 - -8.279761776165609e+00 -8.287685647119202e+00 -8.295618704371698e+00 -8.303560949785306e+00 -8.311512384182917e+00 - -8.319473017862927e+00 -8.327442863513763e+00 -8.335421933908444e+00 -8.343410239406900e+00 -8.351407780632112e+00 - -8.359414559352070e+00 -8.367430591651793e+00 -8.375455893292965e+00 -8.383490464426892e+00 -8.391534305333888e+00 - -8.399587432420665e+00 -8.407649862295598e+00 -8.415721596247392e+00 -8.423802634359653e+00 -8.431892987215194e+00 - -8.439992667917126e+00 -8.448101689150496e+00 -8.456220061058572e+00 -8.464347784035521e+00 -8.472484859778373e+00 - -8.480631304944675e+00 -8.488787135775029e+00 -8.496952351881781e+00 -8.505126952972617e+00 -8.513310955764712e+00 - -8.521504377280520e+00 -8.529707218754108e+00 -8.537919480083488e+00 -8.546141171610756e+00 -8.554372306334406e+00 - -8.562612897434500e+00 -8.570862955488629e+00 -8.579122480482935e+00 -8.587391473585072e+00 -8.595669951280222e+00 - -8.603957930092136e+00 -8.612255411381385e+00 -8.620562395277888e+00 -8.628878892152137e+00 -8.637204914976417e+00 - -8.645540476889700e+00 -8.653885588365707e+00 -8.662240249050400e+00 -8.670604460002718e+00 -8.678978238761259e+00 - -8.687361602440037e+00 -8.695754549975142e+00 -8.704157080317993e+00 -8.712569210659231e+00 -8.720990958572770e+00 - -8.729422324926496e+00 -8.737863309144757e+00 -8.746313921583734e+00 -8.754774175423437e+00 -8.763244084207386e+00 - -8.771723658743657e+00 -8.780212898534927e+00 -8.788711804325507e+00 -8.797220393131562e+00 -8.805738681960509e+00 - -8.814266671512945e+00 -8.822804361262596e+00 -8.831351762082482e+00 -8.839908887544672e+00 -8.848475750618142e+00 - -8.857052361519681e+00 -8.865638720060298e+00 -8.874234827408518e+00 -8.882840700568694e+00 -8.891456356239988e+00 - -8.900081794065120e+00 -8.908717013654563e+00 -8.917362031546196e+00 -8.926016864607513e+00 -8.934681514097109e+00 - -8.943355979966887e+00 -8.952040272550780e+00 -8.960734404827180e+00 -8.969438389970174e+00 -8.978152238557112e+00 - -8.986875950582608e+00 -8.995609527224275e+00 -9.004352984974421e+00 -9.013106340348738e+00 -9.021869594641789e+00 - -9.030642747850949e+00 -9.039425810005964e+00 -9.048218793898496e+00 -9.057021713335553e+00 -9.065834579375275e+00 - -9.074657391064932e+00 -9.083490148798390e+00 -9.092332870366718e+00 -9.101185573233034e+00 -9.110048256151465e+00 - -9.118920917820537e+00 -9.127803575425368e+00 -9.136696246597257e+00 -9.145598932265708e+00 -9.154511631860180e+00 - -9.163434355511646e+00 -9.172367116215408e+00 -9.181309927722621e+00 -9.190262801063124e+00 -9.199225735625708e+00 - -9.208198731948572e+00 -9.217181806808554e+00 -9.226174977077383e+00 -9.235178243767663e+00 -9.244191606592038e+00 - -9.253215075922315e+00 -9.262248664894432e+00 -9.271292387041701e+00 -9.280346253080740e+00 -9.289410262064051e+00 - -9.298484414471314e+00 -9.307568728155069e+00 -9.316663220573421e+00 -9.325767890233902e+00 -9.334882735648362e+00 - -9.344007774296474e+00 -9.353143024056331e+00 -9.362288485431986e+00 -9.371444157433135e+00 -9.380610050466057e+00 - -9.389786177888119e+00 -9.398972553464475e+00 -9.408169188076664e+00 -9.417376080663951e+00 -9.426593231436920e+00 - -9.435820657633688e+00 -9.445058376575700e+00 -9.454306388890288e+00 -9.463564693828612e+00 -9.472833301831271e+00 - -9.482112226230582e+00 -9.491401480736307e+00 -9.500701076124317e+00 -9.510011011057383e+00 -9.519331285649606e+00 - -9.528661917933491e+00 -9.538002925632075e+00 -9.547354307312132e+00 -9.556716061430350e+00 -9.566088205159264e+00 - -9.575470756067922e+00 -9.584863714595665e+00 -9.594267079809105e+00 -9.603680862413734e+00 -9.613105076017005e+00 - -9.622539734195460e+00 -9.631984847535897e+00 -9.641440414697058e+00 -9.650906435763309e+00 -9.660382928449559e+00 - -9.669869910482992e+00 -9.679367382009378e+00 -9.688875341677877e+00 -9.698393799732578e+00 -9.707922769547205e+00 - -9.717462265419133e+00 -9.727012298576232e+00 -9.736572867044643e+00 -9.746143970285512e+00 -9.755725626701739e+00 - -9.765317854403191e+00 -9.774920651385886e+00 -9.784534015610914e+00 -9.794157965013451e+00 -9.803792517858509e+00 - -9.813437673756464e+00 -9.823093430886084e+00 -9.832759800354408e+00 -9.842436796281985e+00 -9.852124431915341e+00 - -9.861822717446652e+00 -9.871531651724764e+00 -9.881251235098006e+00 -9.890981485255914e+00 -9.900722419735771e+00 - -9.910474038124631e+00 -9.920236338721825e+00 -9.930009332625946e+00 -9.939793033953066e+00 -9.949587456089942e+00 - -9.959392609292857e+00 -9.969208492025555e+00 -9.979035104343238e+00 -9.988872464459540e+00 -9.998720590171930e+00 - -1.000857947945488e+01 -1.001844913033355e+01 -1.002832956085879e+01 -1.003822078906736e+01 -1.004812281291406e+01 - -1.005803562971182e+01 -1.006795925428782e+01 -1.007789370360111e+01 -1.008783898562387e+01 -1.009779510571246e+01 - -1.010776206774677e+01 -1.011773987740720e+01 -1.012772854905251e+01 -1.013772809631413e+01 -1.014773852123577e+01 - -1.015775982444731e+01 -1.016779201251112e+01 -1.017783509576905e+01 -1.018788909374848e+01 -1.019795402262726e+01 - -1.020802987599985e+01 -1.021811664796306e+01 -1.022821435720666e+01 -1.023832302389762e+01 -1.024844264951883e+01 - -1.025857323411911e+01 -1.026871479069502e+01 -1.027886733277511e+01 -1.028903086306819e+01 -1.029920538356622e+01 - -1.030939090421369e+01 -1.031958743714735e+01 -1.032979499532081e+01 -1.034001358910991e+01 -1.035024321776280e+01 - -1.036048388191000e+01 -1.037073559883907e+01 -1.038099838556339e+01 -1.039127224134250e+01 -1.040155716512729e+01 - -1.041185317238784e+01 -1.042216027887615e+01 -1.043247848495290e+01 -1.044280779013644e+01 -1.045314820596725e+01 - -1.046349974688984e+01 -1.047386242694284e+01 -1.048423625623699e+01 -1.049462122957744e+01 -1.050501734396915e+01 - -1.051542462052187e+01 -1.052584308069211e+01 -1.053627272321853e+01 -1.054671354447971e+01 -1.055716555413174e+01 - -1.056762876571201e+01 -1.057810319500591e+01 -1.058858885406686e+01 -1.059908573777257e+01 -1.060959384260205e+01 - -1.062011318861535e+01 -1.063064379594653e+01 -1.064118566144451e+01 -1.065173878128750e+01 -1.066230317225584e+01 - -1.067287885251234e+01 -1.068346582514766e+01 -1.069406409086973e+01 -1.070467365592747e+01 -1.071529452946521e+01 - -1.072592672666786e+01 -1.073657026057826e+01 -1.074722512963040e+01 -1.075789133336255e+01 -1.076856889033910e+01 - -1.077925781838790e+01 -1.078995811336476e+01 -1.080066977044343e+01 -1.081139280404170e+01 -1.082212723175914e+01 - -1.083287306467895e+01 -1.084363031023443e+01 -1.085439896777578e+01 -1.086517903841335e+01 -1.087597053838113e+01 - -1.088677348334085e+01 -1.089758787154147e+01 -1.090841370173705e+01 -1.091925099211483e+01 -1.093009976068779e+01 - -1.094096000533889e+01 -1.095183172286895e+01 -1.096271492588021e+01 -1.097360962990334e+01 -1.098451584638146e+01 - -1.099543358339704e+01 -1.100636283967740e+01 -1.101730361593110e+01 -1.102825593014644e+01 -1.103921979985815e+01 - -1.105019522350652e+01 -1.106118219809120e+01 -1.107218073394329e+01 -1.108319084475604e+01 -1.109421254433972e+01 - -1.110524584310812e+01 -1.111629073777213e+01 -1.112734722664297e+01 -1.113841532813614e+01 -1.114949506055284e+01 - -1.116058642163307e+01 -1.117168940919924e+01 -1.118280404196459e+01 -1.119393033845125e+01 -1.120506829552628e+01 - -1.121621790821428e+01 -1.122737918582522e+01 -1.123855214233318e+01 -1.124973679608346e+01 -1.126093316109601e+01 - -1.127214122971816e+01 -1.128336099568353e+01 -1.129459247994368e+01 -1.130583570391351e+01 -1.131709066364352e+01 - -1.132835735316995e+01 -1.133963578383626e+01 -1.135092597165251e+01 -1.136222793398803e+01 -1.137354168289046e+01 - -1.138486720776133e+01 -1.139620450077960e+01 -1.140755358788016e+01 -1.141891449467379e+01 -1.143028721171902e+01 - -1.144167172931863e+01 -1.145306807180483e+01 -1.146447626363145e+01 -1.147589629570943e+01 -1.148732815744427e+01 - -1.149877186576219e+01 -1.151022744176966e+01 -1.152169489577362e+01 -1.153317423307527e+01 -1.154466544975234e+01 - -1.155616854500299e+01 -1.156768353973055e+01 -1.157921045411968e+01 -1.159074928377541e+01 -1.160230002278200e+01 - -1.161386268372032e+01 -1.162543728297182e+01 -1.163702383362365e+01 -1.164862234413445e+01 -1.166023280774309e+01 - -1.167185522083641e+01 -1.168348960761297e+01 -1.169513599109641e+01 -1.170679436179895e+01 -1.171846471050954e+01 - -1.173014706163534e+01 -1.174184143967664e+01 -1.175354783588804e+01 -1.176526623959987e+01 -1.177699666569085e+01 - -1.178873913359907e+01 -1.180049365545172e+01 -1.181226023874721e+01 -1.182403887977966e+01 -1.183582957710202e+01 - -1.184763234950681e+01 -1.185944721571250e+01 -1.187127417390187e+01 -1.188311322026980e+01 -1.189496436359524e+01 - -1.190682761635663e+01 -1.191870299324639e+01 -1.193059050542573e+01 -1.194249014771712e+01 -1.195440191732676e+01 - -1.196632583733436e+01 -1.197826192918009e+01 -1.199021018187259e+01 -1.200217058481946e+01 -1.201414316145583e+01 - -1.202612793653577e+01 -1.203812490606177e+01 -1.205013406283600e+01 -1.206215541561094e+01 -1.207418897775090e+01 - -1.208623476511758e+01 -1.209829279023755e+01 -1.211036304979982e+01 -1.212244554104682e+01 -1.213454027927224e+01 - -1.214664728029985e+01 -1.215876654402256e+01 -1.217089806888390e+01 -1.218304186346073e+01 -1.219519793969503e+01 - -1.220736631285608e+01 -1.221954699446002e+01 -1.223173997768314e+01 -1.224394525782826e+01 -1.225616285704409e+01 - -1.226839279716718e+01 -1.228063507193962e+01 -1.229288967419984e+01 -1.230515662126608e+01 -1.231743593190913e+01 - -1.232972760623024e+01 -1.234203164189830e+01 -1.235434804552219e+01 -1.236667682754052e+01 -1.237901800477097e+01 - -1.239137159078778e+01 -1.240373757981251e+01 -1.241611596680448e+01 -1.242850676902663e+01 -1.244091000477032e+01 - -1.245332567413717e+01 -1.246575377485128e+01 -1.247819431331654e+01 -1.249064729993889e+01 -1.250311275245252e+01 - -1.251559068470151e+01 -1.252808108764087e+01 -1.254058395403090e+01 -1.255309930674196e+01 -1.256562716858205e+01 - -1.257816753199971e+01 -1.259072038911156e+01 -1.260328576106586e+01 -1.261586366917709e+01 -1.262845410639316e+01 - -1.264105706405277e+01 -1.265367255542431e+01 -1.266630059802175e+01 -1.267894120441173e+01 -1.269159438291520e+01 - -1.270426012981745e+01 -1.271693844300063e+01 -1.272962933876972e+01 -1.274233283335257e+01 -1.275504892424538e+01 - -1.276777760888006e+01 -1.278051890316245e+01 -1.279327282335948e+01 -1.280603936870822e+01 -1.281881853703964e+01 - -1.283161033759003e+01 -1.284441478278821e+01 -1.285723188642777e+01 -1.287006165845383e+01 -1.288290409205257e+01 - -1.289575918258311e+01 -1.290862695085492e+01 -1.292150741744502e+01 -1.293440057655018e+01 -1.294730642109768e+01 - -1.296022496531707e+01 -1.297315622664438e+01 -1.298610021403966e+01 -1.299905693252094e+01 -1.301202637981436e+01 - -1.302500855607946e+01 -1.303800347850134e+01 -1.305101116311717e+01 -1.306403160434687e+01 -1.307706479749205e+01 - -1.309011076299821e+01 -1.310316952145874e+01 -1.311624106891474e+01 -1.312932539865738e+01 -1.314242251753035e+01 - -1.315553243732881e+01 -1.316865517610136e+01 -1.318179074759510e+01 -1.319493914209791e+01 -1.320810035188408e+01 - -1.322127440063306e+01 -1.323446131182036e+01 -1.324766107670098e+01 -1.326087368408213e+01 -1.327409914520021e+01 - -1.328733747660298e+01 -1.330058869365459e+01 -1.331385280702646e+01 -1.332712980980294e+01 -1.334041969690924e+01 - -1.335372248822127e+01 -1.336703820316815e+01 -1.338036683444133e+01 -1.339370837465144e+01 -1.340706284282357e+01 - -1.342043025877972e+01 -1.343381061911550e+01 -1.344720391854233e+01 -1.346061016746156e+01 -1.347402937953320e+01 - -1.348746156576247e+01 -1.350090673400032e+01 -1.351436488213541e+01 -1.352783600940468e+01 -1.354132013040003e+01 - -1.355481725974633e+01 -1.356832739684519e+01 -1.358185053959114e+01 -1.359538669507347e+01 -1.360893587411229e+01 - -1.362249809325635e+01 -1.363607336498644e+01 -1.364966167978290e+01 -1.366326303005515e+01 -1.367687743792930e+01 - -1.369050492543861e+01 -1.370414548452841e+01 -1.371779910680898e+01 -1.373146581263829e+01 -1.374514562258463e+01 - -1.375883852931014e+01 -1.377254452369323e+01 -1.378626361738342e+01 -1.379999582664259e+01 -1.381374116541099e+01 - -1.382749964295472e+01 -1.384127125216480e+01 -1.385505598801133e+01 -1.386885387015567e+01 -1.388266491822051e+01 - -1.389648912698253e+01 -1.391032648926665e+01 -1.392417701493663e+01 -1.393804071810552e+01 -1.395191761284479e+01 - -1.396580770902492e+01 -1.397971099975399e+01 -1.399362747983656e+01 -1.400755716762526e+01 -1.402150008127576e+01 - -1.403545621460787e+01 -1.404942556175519e+01 -1.406340814244217e+01 -1.407740397661280e+01 -1.409141305949836e+01 - -1.410543538386059e+01 -1.411947095729565e+01 -1.413351979216372e+01 -1.414758190504674e+01 -1.416165730817942e+01 - -1.417574599218579e+01 -1.418984794931155e+01 -1.420396319989974e+01 -1.421809176459019e+01 -1.423223363711269e+01 - -1.424638880961032e+01 -1.426055729478944e+01 -1.427473910897708e+01 -1.428893426241975e+01 -1.430314276106135e+01 - -1.431736459971596e+01 -1.433159977568000e+01 -1.434584830730895e+01 -1.436011021230267e+01 -1.437438548467938e+01 - -1.438867411856965e+01 -1.440297613223502e+01 -1.441729154417122e+01 -1.443162034967981e+01 -1.444596254173529e+01 - -1.446031812719803e+01 -1.447468711827448e+01 -1.448906953466952e+01 -1.450346539077074e+01 -1.451787467219810e+01 - -1.453229736674074e+01 -1.454673349963205e+01 -1.456118309651608e+01 -1.457564614723534e+01 -1.459012263904241e+01 - -1.460461258463169e+01 -1.461911600163362e+01 -1.463363290198108e+01 -1.464816329304780e+01 -1.466270716966852e+01 - -1.467726452861927e+01 -1.469183538698022e+01 -1.470641976118071e+01 -1.472101764474266e+01 -1.473562903182180e+01 - -1.475025394201659e+01 -1.476489239431922e+01 -1.477954437985420e+01 -1.479420988900897e+01 -1.480888893709030e+01 - -1.482358154289730e+01 -1.483828771427918e+01 -1.485300745484606e+01 -1.486774076220148e+01 -1.488248763590571e+01 - -1.489724808935241e+01 -1.491202213620220e+01 -1.492680977735018e+01 -1.494161101188853e+01 -1.495642584446314e+01 - -1.497125428281713e+01 -1.498609634152866e+01 -1.500095203243959e+01 -1.501582134961145e+01 -1.503070428834008e+01 - -1.504560086663885e+01 -1.506051110171047e+01 -1.507543498479744e+01 -1.509037250787217e+01 -1.510532369178669e+01 - -1.512028855781273e+01 -1.513526710002122e+01 -1.515025931004586e+01 -1.516526519697226e+01 -1.518028477406786e+01 - -1.519531805387558e+01 -1.521036504514735e+01 -1.522542574219565e+01 -1.524050014105165e+01 -1.525558825906066e+01 - -1.527069011317451e+01 -1.528580569745696e+01 -1.530093500454836e+01 -1.531607804428359e+01 -1.533123483115148e+01 - -1.534640538106230e+01 -1.536158970459035e+01 -1.537678778954449e+01 -1.539199962605270e+01 -1.540722523628471e+01 - -1.542246464244602e+01 -1.543771783484346e+01 -1.545298480379291e+01 -1.546826557154514e+01 -1.548356016030771e+01 - -1.549886856018057e+01 -1.551419075889859e+01 -1.552952676684366e+01 -1.554487659991805e+01 -1.556024027345857e+01 - -1.557561779759322e+01 -1.559100916218038e+01 -1.560641435912106e+01 -1.562183340875659e+01 -1.563726633124305e+01 - -1.565271311755539e+01 -1.566817375858786e+01 -1.568364827409284e+01 -1.569913668435983e+01 -1.571463898296877e+01 - -1.573015516140282e+01 -1.574568522946743e+01 -1.576122920078429e+01 -1.577678708591764e+01 -1.579235889192325e+01 - -1.580794461488044e+01 -1.582354425266206e+01 -1.583915782129173e+01 -1.585478533595468e+01 -1.587042679033195e+01 - -1.588608217713541e+01 -1.590175150670428e+01 -1.591743479377280e+01 -1.593313205302798e+01 -1.594884329356461e+01 - -1.596456850215542e+01 -1.598030766876410e+01 -1.599606081844003e+01 -1.601182797567503e+01 -1.602760912764517e+01 - -1.604340426053651e+01 -1.605921339389068e+01 -1.607503654929621e+01 -1.609087372317365e+01 -1.610672490846679e+01 - -1.612259010938000e+01 -1.613846933535691e+01 -1.615436260553746e+01 -1.617026993400350e+01 -1.618619130490810e+01 - -1.620212670496088e+01 -1.621807616102629e+01 -1.623403970021593e+01 -1.625001731047507e+01 -1.626600897617460e+01 - -1.628201470655392e+01 -1.629803451699528e+01 -1.631406842258372e+01 -1.633011643368945e+01 -1.634617854212047e+01 - -1.636225474110459e+01 -1.637834504811086e+01 -1.639444948009596e+01 -1.641056802772599e+01 -1.642670068226715e+01 - -1.644284746367691e+01 -1.645900839255391e+01 -1.647518346337059e+01 -1.649137266740475e+01 -1.650757600928198e+01 - -1.652379349905581e+01 -1.654002515514406e+01 -1.655627099138395e+01 -1.657253099492616e+01 -1.658880515436409e+01 - -1.660509349074862e+01 -1.662139602569388e+01 -1.663771275060954e+01 -1.665404365442992e+01 -1.667038874639235e+01 - -1.668674804082613e+01 -1.670312155212567e+01 -1.671950928959044e+01 -1.673591124207530e+01 -1.675232740091000e+01 - -1.676875778776886e+01 -1.678520242381186e+01 -1.680166129779755e+01 -1.681813439803682e+01 -1.683462174345131e+01 - -1.685112335404732e+01 -1.686763922355921e+01 -1.688416934305047e+01 -1.690071371917313e+01 -1.691727236387981e+01 - -1.693384529473730e+01 -1.695043252373442e+01 -1.696703403493436e+01 -1.698364981519248e+01 -1.700027989045860e+01 - -1.701692428668450e+01 -1.703358299073511e+01 -1.705025598664567e+01 -1.706694328621936e+01 -1.708364490699094e+01 - -1.710036086165371e+01 -1.711709115711999e+01 -1.713383578201967e+01 -1.715059472804424e+01 -1.716736801741393e+01 - -1.718415567151382e+01 -1.720095767785962e+01 -1.721777402421613e+01 -1.723460473321376e+01 -1.725144982735173e+01 - -1.726830929373925e+01 -1.728518311723097e+01 -1.730207130905323e+01 -1.731897388644410e+01 -1.733589086431708e+01 - -1.735282225151622e+01 -1.736976803493245e+01 -1.738672820398455e+01 -1.740370278015603e+01 -1.742069178532102e+01 - -1.743769521085149e+01 -1.745471304524893e+01 -1.747174529603476e+01 -1.748879197614670e+01 -1.750585310116775e+01 - -1.752292868122209e+01 -1.754001870195336e+01 -1.755712315207324e+01 -1.757424205704595e+01 -1.759137544124289e+01 - -1.760852328791187e+01 -1.762568558032359e+01 -1.764286234296404e+01 -1.766005360135051e+01 -1.767725934391039e+01 - -1.769447955614261e+01 -1.771171424892207e+01 -1.772896343807829e+01 -1.774622713388326e+01 -1.776350534196338e+01 - -1.778079805492016e+01 -1.779810526797336e+01 -1.781542699984077e+01 -1.783276326793605e+01 -1.785011406095838e+01 - -1.786747936642481e+01 -1.788485919583838e+01 -1.790225356596892e+01 -1.791966249066770e+01 -1.793708597750879e+01 - -1.795452401187612e+01 -1.797197658287230e+01 -1.798944371666477e+01 -1.800692543788475e+01 -1.802442172795408e+01 - -1.804193256819016e+01 -1.805945798270200e+01 -1.807699799758296e+01 -1.809455260407236e+01 -1.811212178929598e+01 - -1.812970555877947e+01 -1.814730392419934e+01 -1.816491690343573e+01 -1.818254450889657e+01 -1.820018672489731e+01 - -1.821784353770839e+01 -1.823551496951270e+01 -1.825320104351004e+01 -1.827090175105552e+01 -1.828861707995103e+01 - -1.830634703563002e+01 -1.832409162961503e+01 -1.834185088015348e+01 -1.835962479982180e+01 -1.837741337178776e+01 - -1.839521658191638e+01 -1.841303445627024e+01 -1.843086702044687e+01 -1.844871425798603e+01 -1.846657615155986e+01 - -1.848445272242748e+01 -1.850234399331442e+01 -1.852024995422484e+01 -1.853817059263430e+01 -1.855610591862525e+01 - -1.857405594751762e+01 -1.859202069297440e+01 -1.861000016303027e+01 -1.862799434486363e+01 -1.864600322762024e+01 - -1.866402682917165e+01 -1.868206516860479e+01 -1.870011824114266e+01 -1.871818603889838e+01 -1.873626856540951e+01 - -1.875436582948875e+01 -1.877247784962497e+01 -1.879060463922456e+01 -1.880874618168810e+01 -1.882690246254704e+01 - -1.884507350586227e+01 -1.886325933574866e+01 -1.888145993800745e+01 -1.889967529731236e+01 -1.891790543214035e+01 - -1.893615036295555e+01 -1.895441008436764e+01 -1.897268458788422e+01 -1.899097387845919e+01 -1.900927796546465e+01 - -1.902759686249918e+01 -1.904593057916082e+01 -1.906427910481893e+01 -1.908264243109121e+01 -1.910102057881749e+01 - -1.911941356739387e+01 -1.913782138121961e+01 -1.915624400568942e+01 -1.917468146517671e+01 -1.919313378404767e+01 - -1.921160094766128e+01 -1.923008293912871e+01 -1.924857977157690e+01 -1.926709146357444e+01 -1.928561802544077e+01 - -1.930415946120927e+01 -1.932271575801813e+01 -1.934128690695999e+01 -1.935987293184044e+01 -1.937847385553680e+01 - -1.939708966450047e+01 -1.941572034241033e+01 -1.943436589828115e+01 -1.945302634705033e+01 -1.947170170200994e+01 - -1.949039197138318e+01 -1.950909714476303e+01 -1.952781721398065e+01 -1.954655219845012e+01 -1.956530211609402e+01 - -1.958406695128608e+01 -1.960284668959667e+01 -1.962164135493148e+01 -1.964045097168231e+01 -1.965927552785040e+01 - -1.967811500826448e+01 -1.969696942145404e+01 -1.971583878200212e+01 -1.973472310500559e+01 -1.975362239928199e+01 - -1.977253664801789e+01 -1.979146583743514e+01 -1.981040999152762e+01 -1.982936913462439e+01 -1.984834325462312e+01 - -1.986733233626431e+01 -1.988633638809098e+01 -1.990535542475069e+01 -1.992438946150660e+01 -1.994343850724086e+01 - -1.996250254469571e+01 -1.998158155988759e+01 -2.000067557806942e+01 -2.001978462401460e+01 -2.003890868134189e+01 - -2.005804773353269e+01 -2.007720180467363e+01 -2.009637091866160e+01 -2.011555505802958e+01 -2.013475420367532e+01 - -2.015396837131929e+01 -2.017319758216888e+01 -2.019244184455664e+01 -2.021170116029698e+01 -2.023097551800653e+01 - -2.025026491057744e+01 -2.026956936120177e+01 -2.028888889127859e+01 -2.030822348473533e+01 -2.032757312336421e+01 - -2.034693781788847e+01 -2.036631758558183e+01 -2.038571244098909e+01 -2.040512239225047e+01 -2.042454742461679e+01 - -2.044398752597867e+01 -2.046344271767523e+01 -2.048291302072143e+01 -2.050239842138679e+01 -2.052189890581644e+01 - -2.054141449440303e+01 -2.056094520839277e+01 -2.058049103819856e+01 -2.060005197091200e+01 -2.061962801117254e+01 - -2.063921916971323e+01 -2.065882546409381e+01 -2.067844690614864e+01 -2.069808347798381e+01 -2.071773516441981e+01 - -2.073740199086278e+01 -2.075708398272239e+01 -2.077678112483692e+01 -2.079649339928443e+01 -2.081622081767353e+01 - -2.083596339752241e+01 -2.085572115045732e+01 -2.087549408142252e+01 -2.089528217452614e+01 -2.091508541798258e+01 - -2.093490383726751e+01 -2.095473745703866e+01 -2.097458626142068e+01 -2.099445023367205e+01 -2.101432939411960e+01 - -2.103422376365449e+01 -2.105413332835716e+01 -2.107405807288499e+01 -2.109399801101360e+01 -2.111395316146354e+01 - -2.113392353361706e+01 -2.115390913036233e+01 -2.117390993794961e+01 -2.119392594678185e+01 -2.121395718051052e+01 - -2.123400366165125e+01 -2.125406537492771e+01 -2.127414230292253e+01 -2.129423445744600e+01 -2.131434185603574e+01 - -2.133446450991120e+01 -2.135460242400538e+01 -2.137475558442359e+01 -2.139492398094176e+01 -2.141510763684612e+01 - -2.143530657354728e+01 -2.145552077144329e+01 -2.147575021223202e+01 -2.149599492382317e+01 -2.151625493458459e+01 - -2.153653022850520e+01 -2.155682078515937e+01 -2.157712661084235e+01 -2.159744772002078e+01 -2.161778413312624e+01 - -2.163813586321833e+01 -2.165850288790379e+01 -2.167888518769065e+01 -2.169928279014487e+01 -2.171969572392566e+01 - -2.174012397500749e+01 -2.176056752455845e+01 -2.178102637720577e+01 -2.180150054539059e+01 -2.182199004935065e+01 - -2.184249490264348e+01 -2.186301508430896e+01 -2.188355057625899e+01 -2.190410140641098e+01 -2.192466760199104e+01 - -2.194524914145450e+01 -2.196584600311797e+01 -2.198645821351363e+01 -2.200708580045210e+01 -2.202772874864248e+01 - -2.204838703903658e+01 -2.206906068065864e+01 -2.208974968965916e+01 -2.211045408262128e+01 -2.213117386881762e+01 - -2.215190902784613e+01 -2.217265954271720e+01 -2.219342543976576e+01 -2.221420674565993e+01 -2.223500344507609e+01 - -2.225581551916326e+01 -2.227664297695268e+01 -2.229748583458740e+01 -2.231834410877561e+01 -2.233921780886325e+01 - -2.236010691418214e+01 -2.238101140757746e+01 -2.240193131596196e+01 -2.242286666626994e+01 -2.244381744145418e+01 - -2.246478362333585e+01 -2.248576523319086e+01 -2.250676229308250e+01 -2.252777478876882e+01 -2.254880270395783e+01 - -2.256984605046237e+01 -2.259090484578745e+01 -2.261197910210208e+01 -2.263306882483333e+01 -2.265417399777652e+01 - -2.267529460825966e+01 -2.269643067937303e+01 -2.271758223358744e+01 -2.273874925513337e+01 -2.275993172840441e+01 - -2.278112967668665e+01 -2.280234312326570e+01 -2.282357205253301e+01 -2.284481644618636e+01 -2.286607631404299e+01 - -2.288735167241803e+01 -2.290864253549898e+01 -2.292994891082159e+01 -2.295127078144212e+01 -2.297260813386354e+01 - -2.299396099285480e+01 -2.301532938287575e+01 -2.303671328888409e+01 -2.305811269234469e+01 -2.307952760025338e+01 - -2.310095802706863e+01 -2.312240399156859e+01 -2.314386550544134e+01 -2.316534254769484e+01 -2.318683510020089e+01 - -2.320834318896662e+01 -2.322986684000025e+01 -2.325140603517923e+01 -2.327296075598023e+01 -2.329453102640753e+01 - -2.331611687084991e+01 -2.333771827270656e+01 -2.335933521295700e+01 -2.338096770389138e+01 -2.340261576396985e+01 - -2.342427940502197e+01 -2.344595863230511e+01 -2.346765343141823e+01 -2.348936379112492e+01 -2.351108973250527e+01 - -2.353283127622654e+01 -2.355458840898814e+01 -2.357636111469370e+01 -2.359814940003157e+01 -2.361995327887107e+01 - -2.364177277102066e+01 -2.366360788867084e+01 -2.368545860760097e+01 -2.370732490730504e+01 -2.372920681854641e+01 - -2.375110437181196e+01 -2.377301754521346e+01 -2.379494631547129e+01 -2.381689070611525e+01 -2.383885074279985e+01 - -2.386082641286912e+01 -2.388281770027697e+01 -2.390482461372720e+01 -2.392684716763744e+01 -2.394888537453080e+01 - -2.397093924094647e+01 -2.399300875138237e+01 -2.401509389381072e+01 -2.403719469214220e+01 -2.405931116939521e+01 - -2.408144330908079e+01 -2.410359109227195e+01 -2.412575452979684e+01 -2.414793363861520e+01 -2.417012843045825e+01 - -2.419233891107258e+01 -2.421456506749473e+01 -2.423680688969797e+01 -2.425906439811232e+01 -2.428133761196757e+01 - -2.430362651523593e+01 -2.432593109247103e+01 -2.434825136580965e+01 -2.437058735754595e+01 -2.439293905302052e+01 - -2.441530643508021e+01 -2.443768951355032e+01 -2.446008830475372e+01 -2.448250282402539e+01 -2.450493307947941e+01 - -2.452737905133441e+01 -2.454984072340254e+01 -2.457231812176549e+01 -2.459481127247106e+01 -2.461732015916192e+01 - -2.463984476198997e+01 -2.466238508954903e+01 -2.468494115731883e+01 -2.470751297988127e+01 -2.473010056541401e+01 - -2.475270389737600e+01 -2.477532296279144e+01 -2.479795778766421e+01 -2.482060839605179e+01 -2.484327476524651e+01 - -2.486595687297807e+01 -2.488865474549064e+01 -2.491136841050829e+01 -2.493409785316058e+01 -2.495684305468689e+01 - -2.497960402336061e+01 -2.500238077436705e+01 -2.502517332350563e+01 -2.504798167938967e+01 -2.507080582127416e+01 - -2.509364573240812e+01 -2.511650144137505e+01 -2.513937297643642e+01 -2.516226031923135e+01 -2.518516344740990e+01 - -2.520808236928804e+01 -2.523101710100030e+01 -2.525396765928963e+01 -2.527693405405919e+01 -2.529991626724470e+01 - -2.532291428361040e+01 -2.534592812720204e+01 -2.536895782110043e+01 -2.539200334524508e+01 -2.541506468057373e+01 - -2.543814185515816e+01 -2.546123489657537e+01 -2.548434378328921e+01 -2.550746849096137e+01 -2.553060903315797e+01 - -2.555376543163097e+01 -2.557693770297151e+01 -2.560012585444837e+01 -2.562332986120158e+01 -2.564654970308929e+01 - -2.566978541097076e+01 -2.569303701597250e+01 -2.571630449928904e+01 -2.573958783754457e+01 -2.576288703901380e+01 - -2.578620212017663e+01 -2.580953309868325e+01 -2.583287998467666e+01 -2.585624275710073e+01 -2.587962139846310e+01 - -2.590301593672573e+01 -2.592642639921134e+01 -2.594985276523152e+01 -2.597329501305775e+01 -2.599675316481207e+01 - -2.602022724494944e+01 -2.604371724340627e+01 -2.606722314554395e+01 -2.609074495294231e+01 -2.611428267453130e+01 - -2.613783633242288e+01 -2.616140594232113e+01 -2.618499148111656e+01 -2.620859292804694e+01 -2.623221031055255e+01 - -2.625584365675950e+01 -2.627949294933480e+01 -2.630315816707157e+01 -2.632683931872623e+01 -2.635053642045652e+01 - -2.637424948806206e+01 -2.639797853015353e+01 -2.642172352694394e+01 -2.644548446269175e+01 -2.646926136623515e+01 - -2.649305426487780e+01 -2.651686313520573e+01 -2.654068795336410e+01 -2.656452874445229e+01 -2.658838553565089e+01 - -2.661225831351167e+01 -2.663614706041860e+01 -2.666005178271351e+01 -2.668397249386109e+01 -2.670790921185966e+01 - -2.673186194785124e+01 -2.675583068101895e+01 -2.677981539336416e+01 -2.680381611012034e+01 -2.682783285712106e+01 - -2.685186561936856e+01 -2.687591437786270e+01 -2.689997913842517e+01 -2.692405991477839e+01 -2.694815672742597e+01 - -2.697226958936361e+01 -2.699639847677425e+01 -2.702054336911223e+01 -2.704470429573021e+01 -2.706888128546201e+01 - -2.709307431516761e+01 -2.711728336172764e+01 -2.714150845407871e+01 -2.716574962162754e+01 -2.719000684360529e+01 - -2.721428009605862e+01 -2.723856939247152e+01 -2.726287475352885e+01 -2.728719619128178e+01 -2.731153370993099e+01 - -2.733588729090867e+01 -2.736025692081293e+01 -2.738464262967399e+01 -2.740904444482641e+01 -2.743346233939021e+01 - -2.745789628706843e+01 -2.748234631811058e+01 -2.750681246441337e+01 -2.753129470791622e+01 -2.755579302585287e+01 - -2.758030742659158e+01 -2.760483792680023e+01 -2.762938454521084e+01 -2.765394729250735e+01 -2.767852614511706e+01 - -2.770312108289846e+01 -2.772773213369129e+01 -2.775235932608502e+01 -2.777700264368704e+01 -2.780166206614083e+01 - -2.782633760221619e+01 -2.785102926812099e+01 -2.787573708068912e+01 -2.790046104903706e+01 -2.792520115078565e+01 - -2.794995736764946e+01 -2.797472972921345e+01 -2.799951826412358e+01 -2.802432294939970e+01 -2.804914376169005e+01 - -2.807398072778233e+01 -2.809883387567351e+01 -2.812370318805837e+01 -2.814858864438241e+01 -2.817349025639583e+01 - -2.819840804241009e+01 -2.822334201467696e+01 -2.824829217820057e+01 -2.827325851505399e+01 -2.829824101147483e+01 - -2.832323969328987e+01 -2.834825458594292e+01 -2.837328567375688e+01 -2.839833293713809e+01 -2.842339638194745e+01 - -2.844847602232610e+01 -2.847357188008160e+01 -2.849868396869187e+01 -2.852381226064981e+01 -2.854895673259501e+01 - -2.857411741873861e+01 -2.859929435285462e+01 -2.862448750939692e+01 -2.864969686163745e+01 -2.867492243744038e+01 - -2.870016426611871e+01 -2.872542232818885e+01 -2.875069660076976e+01 -2.877598709618692e+01 -2.880129383482867e+01 - -2.882661683412842e+01 -2.885195610246809e+01 -2.887731161497835e+01 -2.890268335136361e+01 -2.892807134287440e+01 - -2.895347562064698e+01 -2.897889616381469e+01 -2.900433294736006e+01 -2.902978598166526e+01 -2.905525528595928e+01 - -2.908074087945912e+01 -2.910624277257485e+01 -2.913176094050105e+01 -2.915729536236611e+01 -2.918284606824940e+01 - -2.920841308797334e+01 -2.923399639938179e+01 -2.925959597987842e+01 -2.928521185708459e+01 -2.931084405942344e+01 - -2.933649256830759e+01 -2.936215736109871e+01 -2.938783844596477e+01 -2.941353583979598e+01 -2.943924956356517e+01 - -2.946497963001566e+01 -2.949072601489006e+01 -2.951648869675137e+01 -2.954226770244480e+01 -2.956806305999476e+01 - -2.959387475386040e+01 -2.961970276467950e+01 -2.964554710136948e+01 -2.967140778023144e+01 -2.969728481882160e+01 - -2.972317822671904e+01 -2.974908798033929e+01 -2.977501406036931e+01 -2.980095649774566e+01 -2.982691532231985e+01 - -2.985289050935425e+01 -2.987888203414534e+01 -2.990488992671488e+01 -2.993091421806754e+01 -2.995695488841446e+01 - -2.998301191396682e+01 -3.000908530572931e+01 -3.003517508294127e+01 -3.006128126298706e+01 -3.008740385472813e+01 - -3.011354283478899e+01 -3.013969818396866e+01 -3.016586993200092e+01 -3.019205810852835e+01 -3.021826269389396e+01 - -3.024448366459688e+01 -3.027072103106001e+01 -3.029697481234801e+01 -3.032324502816885e+01 -3.034953168930138e+01 - -3.037583477016444e+01 -3.040215424919064e+01 -3.042849015722735e+01 -3.045484252487287e+01 -3.048121132931426e+01 - -3.050759654718701e+01 -3.053399820633122e+01 -3.056041633582694e+01 -3.058685091850949e+01 -3.061330193277164e+01 - -3.063976938548045e+01 -3.066625329189824e+01 -3.069275367239408e+01 -3.071927054017274e+01 -3.074580387467516e+01 - -3.077235365736276e+01 -3.079891991154272e+01 -3.082550266154129e+01 -3.085210189391538e+01 -3.087871759159065e+01 - -3.090534976073683e+01 -3.093199841535169e+01 -3.095866357750086e+01 -3.098534526117247e+01 -3.101204343997652e+01 - -3.103875809113482e+01 -3.106548924669440e+01 -3.109223693806243e+01 -3.111900113926174e+01 -3.114578182447812e+01 - -3.117257902593346e+01 -3.119939277712214e+01 -3.122622305859262e+01 -3.125306984560579e+01 -3.127993314521812e+01 - -3.130681297362548e+01 -3.133370935178603e+01 -3.136062229292185e+01 -3.138755177454848e+01 -3.141449777743489e+01 - -3.144146033107010e+01 -3.146843946420585e+01 -3.149543515392452e+01 -3.152244737446985e+01 -3.154947614039987e+01 - -3.157652147508332e+01 -3.160358339681746e+01 -3.163066191390917e+01 -3.165775699977537e+01 -3.168486863280270e+01 - -3.171199684614663e+01 -3.173914167265754e+01 -3.176630308919665e+01 -3.179348107134120e+01 -3.182067564552154e+01 - -3.184788683989369e+01 -3.187511463866380e+01 -3.190235902163426e+01 -3.192961999494226e+01 -3.195689757352222e+01 - -3.198419178116283e+01 -3.201150263346307e+01 -3.203883010440887e+01 -3.206617417058478e+01 -3.209353486058297e+01 - -3.212091220418486e+01 -3.214830618392138e+01 -3.217571677868305e+01 -3.220314400004898e+01 -3.223058786708538e+01 - -3.225804839611857e+01 -3.228552559489243e+01 -3.231301943956095e+01 -3.234052991162765e+01 -3.236805704558397e+01 - -3.239560087404328e+01 -3.242316136911894e+01 -3.245073850255218e+01 -3.247833230509534e+01 -3.250594280965240e+01 - -3.253356999872297e+01 -3.256121385028732e+01 -3.258887437465276e+01 -3.261655158960600e+01 -3.264424551052439e+01 - -3.267195614529539e+01 -3.269968347425627e+01 -3.272742748229857e+01 -3.275518820008119e+01 -3.278296565603427e+01 - -3.281075982390590e+01 -3.283857067801981e+01 -3.286639824968410e+01 -3.289424257141810e+01 -3.292210362360176e+01 - -3.294998138240963e+01 -3.297787585933321e+01 -3.300578707421773e+01 -3.303371504500630e+01 -3.306165978102434e+01 - -3.308962125902853e+01 -3.311759946003357e+01 -3.314559441465483e+01 -3.317360615365304e+01 -3.320163465877013e+01 - -3.322967990687330e+01 -3.325774190434956e+01 -3.328582066713852e+01 -3.331391621987054e+01 -3.334202857831301e+01 - -3.337015771409062e+01 -3.339830360273710e+01 -3.342646627956469e+01 -3.345464577921614e+01 -3.348284207387808e+01 - -3.351105513572078e+01 -3.353928499930519e+01 -3.356753169996216e+01 -3.359579521371194e+01 -3.362407551222610e+01 - -3.365237260909204e+01 -3.368068652715969e+01 -3.370901728441355e+01 -3.373736488954338e+01 -3.376572931892538e+01 - -3.379411055342771e+01 -3.382250862419983e+01 -3.385092356238306e+01 -3.387935534880526e+01 -3.390780395979943e+01 - -3.393626940403256e+01 -3.396475169950308e+01 -3.399325086920118e+01 -3.402176692682492e+01 -3.405029984391190e+01 - -3.407884959628061e+01 -3.410741621903333e+01 -3.413599974690003e+01 -3.416460015383780e+01 -3.419321741347679e+01 - -3.422185155891206e+01 -3.425050262370409e+01 -3.427917058381036e+01 -3.430785541111823e+01 -3.433655711883738e+01 - -3.436527572977491e+01 -3.439401126380553e+01 -3.442276373145798e+01 -3.445153310880944e+01 -3.448031937598221e+01 - -3.450912256373026e+01 -3.453794270224409e+01 -3.456677976882821e+01 -3.459563373771100e+01 -3.462450462370172e+01 - -3.465339245071625e+01 -3.468229723851619e+01 -3.471121899611902e+01 -3.474015769371995e+01 -3.476911330776019e+01 - -3.479808587848705e+01 -3.482707544447295e+01 -3.485608197378501e+01 -3.488510543365825e+01 -3.491414585850467e+01 - -3.494320328527482e+01 -3.497227769389696e+01 -3.500136905869145e+01 -3.503047738856913e+01 -3.505960270226024e+01 - -3.508874502318216e+01 -3.511790436512474e+01 -3.514708069868058e+01 -3.517627399907308e+01 -3.520548430324607e+01 - -3.523471164812467e+01 -3.526395600883895e+01 -3.529321735592740e+01 -3.532249570335686e+01 -3.535179107461137e+01 - -3.538110348781549e+01 -3.541043295179184e+01 -3.543977944351469e+01 -3.546914294470585e+01 -3.549852348792567e+01 - -3.552792110371767e+01 -3.555733576371960e+01 -3.558676744035331e+01 -3.561621616808287e+01 -3.564568198278825e+01 - -3.567516486397158e+01 -3.570466478590109e+01 -3.573418175828719e+01 -3.576371580017962e+01 -3.579326693254331e+01 - -3.582283516733191e+01 -3.585242047853867e+01 -3.588202284498269e+01 -3.591164230274704e+01 -3.594127888660625e+01 - -3.597093256883734e+01 -3.600060331833949e+01 -3.603029115299790e+01 -3.605999610029281e+01 -3.608971817709886e+01 - -3.611945738978410e+01 -3.614921371329605e+01 -3.617898712799953e+01 -3.620877766734910e+01 -3.623858536391516e+01 - -3.626841019364145e+01 -3.629825213180558e+01 -3.632811120764664e+01 -3.635798745148868e+01 -3.638788084403422e+01 - -3.641779136227628e+01 -3.644771901799147e+01 -3.647766383142195e+01 -3.650762582188893e+01 -3.653760499949427e+01 - -3.656760133838370e+01 -3.659761481766282e+01 -3.662764547223315e+01 -3.665769333671685e+01 -3.668775838882340e+01 - -3.671784060113342e+01 -3.674793998262476e+01 -3.677805655273779e+01 -3.680819033636626e+01 -3.683834134900049e+01 - -3.686850956306390e+01 -3.689869495454472e+01 -3.692889755675729e+01 -3.695911740229619e+01 -3.698935446355054e+01 - -3.701960871343802e+01 -3.704988018719579e+01 -3.708016892120266e+01 -3.711047489408478e+01 -3.714079807933708e+01 - -3.717113848768184e+01 -3.720149613882988e+01 -3.723187105121882e+01 -3.726226323497034e+01 -3.729267266821555e+01 - -3.732309933333587e+01 -3.735354326170426e+01 -3.738400448395760e+01 -3.741448297879693e+01 -3.744497872108128e+01 - -3.747549172223736e+01 -3.750602200310610e+01 -3.753656958561755e+01 -3.756713448177913e+01 -3.759771666281819e+01 - -3.762831610507856e+01 -3.765893284615005e+01 -3.768956692232328e+01 -3.772021830344675e+01 -3.775088695941269e+01 - -3.778157292673024e+01 -3.781227624306894e+01 -3.784299688412320e+01 -3.787373482086582e+01 -3.790449006735824e+01 - -3.793526264738479e+01 -3.796605258053289e+01 -3.799685987630166e+01 -3.802768450803411e+01 -3.805852645435349e+01 - -3.808938575116029e+01 -3.812026243387959e+01 -3.815115647875793e+01 -3.818206785737669e+01 -3.821299658183555e+01 - -3.824394267407146e+01 -3.827490615485264e+01 -3.830588703573063e+01 -3.833688529255877e+01 -3.836790090523419e+01 - -3.839893390552727e+01 -3.842998432385276e+01 -3.846105213333004e+01 -3.849213730842061e+01 -3.852323988624988e+01 - -3.855435990371658e+01 -3.858549733414936e+01 -3.861665214665468e+01 -3.864782435702053e+01 -3.867901399128823e+01 - -3.871022106983104e+01 -3.874144560188923e+01 -3.877268755783931e+01 -3.880394691415978e+01 -3.883522371060106e+01 - -3.886651798555487e+01 -3.889782970870629e+01 -3.892915884903668e+01 -3.896050544141922e+01 -3.899186952243698e+01 - -3.902325106962145e+01 -3.905465005558139e+01 -3.908606649228560e+01 -3.911750040150871e+01 -3.914895180488885e+01 - -3.918042071436301e+01 -3.921190710320024e+01 -3.924341094905042e+01 -3.927493228575462e+01 -3.930647114756201e+01 - -3.933802751416320e+01 -3.936960136044893e+01 -3.940119269666864e+01 -3.943280154239230e+01 -3.946442791911308e+01 - -3.949607183932866e+01 -3.952773327763106e+01 -3.955941221301939e+01 -3.959110868002649e+01 -3.962282271157864e+01 - -3.965455427864192e+01 -3.968630335291520e+01 -3.971806997098832e+01 -3.974985417066340e+01 -3.978165592970123e+01 - -3.981347522024374e+01 -3.984531205199855e+01 -3.987716644515135e+01 -3.990903842423468e+01 -3.994092800366619e+01 - -3.997283515305731e+01 -4.000475984705376e+01 -4.003670212524431e+01 -4.006866202678586e+01 -4.010063952416471e+01 - -4.013263458527370e+01 -4.016464722630246e+01 -4.019667747391531e+01 -4.022872534837892e+01 -4.026079085897078e+01 - -4.029287397740929e+01 -4.032497468131004e+01 -4.035709300943645e+01 -4.038922899883853e+01 -4.042138261856475e+01 - -4.045355383733334e+01 -4.048574269054266e+01 -4.051794921541258e+01 -4.055017338976896e+01 -4.058241518694505e+01 - -4.061467462169752e+01 -4.064695171778673e+01 -4.067924649356458e+01 -4.071155895737036e+01 -4.074388908290122e+01 - -4.077623684962312e+01 -4.080860229471885e+01 -4.084098545450960e+01 -4.087338630415373e+01 -4.090580481395003e+01 - -4.093824099592192e+01 -4.097069487270115e+01 -4.100316646762842e+01 -4.103565579436854e+01 -4.106816282717386e+01 - -4.110068754422534e+01 -4.113322997883087e+01 -4.116579016300655e+01 -4.119836806847471e+01 -4.123096366815907e+01 - -4.126357700008218e+01 -4.129620810254014e+01 -4.132885694982463e+01 -4.136152351139461e+01 -4.139420780138244e+01 - -4.142690984447184e+01 -4.145962966287846e+01 -4.149236726828771e+01 -4.152512263273182e+01 -4.155789573295193e+01 - -4.159068660417814e+01 -4.162349528189675e+01 -4.165632174413023e+01 -4.168916596438000e+01 -4.172202795552684e+01 - -4.175490773972726e+01 -4.178780533686147e+01 -4.182072075745918e+01 -4.185365397692470e+01 -4.188660497553830e+01 - -4.191957378820953e+01 -4.195256044830271e+01 -4.198556492837179e+01 -4.201858720098863e+01 -4.205162729960676e+01 - -4.208468525919077e+01 -4.211776105986812e+01 -4.215085467691669e+01 -4.218396612105321e+01 -4.221709541226407e+01 - -4.225024257217616e+01 -4.228340761361360e+01 -4.231659051254899e+01 -4.234979124870078e+01 -4.238300985362200e+01 - -4.241624635885866e+01 -4.244950074409413e+01 -4.248277298525672e+01 -4.251606309511715e+01 -4.254937109530931e+01 - -4.258269700607782e+01 -4.261604083828603e+01 -4.264940256666174e+01 -4.268278217100897e+01 -4.271617968757233e+01 - -4.274959515039267e+01 -4.278302852825576e+01 -4.281647979114838e+01 -4.284994897911630e+01 -4.288343613339240e+01 - -4.291694122989936e+01 -4.295046423857267e+01 -4.298400517070971e+01 -4.301756404788966e+01 -4.305114089145757e+01 - -4.308473571388112e+01 -4.311834849235274e+01 -4.315197920801049e+01 -4.318562789305037e+01 -4.321929457904871e+01 - -4.325297924404543e+01 -4.328668186207582e+01 -4.332040244469275e+01 -4.335414101381126e+01 -4.338789759527743e+01 - -4.342167220389723e+01 -4.345546480638487e+01 -4.348927537558045e+01 -4.352310395691921e+01 -4.355695059370569e+01 - -4.359081524812669e+01 -4.362469788222823e+01 -4.365859853861065e+01 -4.369251726260594e+01 -4.372645402991838e+01 - -4.376040880917880e+01 -4.379438161035186e+01 -4.382837245512241e+01 -4.386238137072252e+01 -4.389640837367813e+01 - -4.393045343214298e+01 -4.396451651875527e+01 -4.399859767246311e+01 -4.403269693263155e+01 -4.406681427398399e+01 - -4.410094966630350e+01 -4.413510312425358e+01 -4.416927467295284e+01 -4.420346433446015e+01 -4.423767212069691e+01 - -4.427189800609401e+01 -4.430614196966567e+01 -4.434040404624994e+01 -4.437468426893484e+01 -4.440898260798443e+01 - -4.444329903479183e+01 -4.447763358808973e+01 -4.451198630763288e+01 -4.454635716992501e+01 -4.458074614621454e+01 - -4.461515324997958e+01 -4.464957850449220e+01 -4.468402192997090e+01 -4.471848353715485e+01 -4.475296330191956e+01 - -4.478746120505344e+01 -4.482197728186011e+01 -4.485651156648301e+01 -4.489106403390974e+01 -4.492563465506775e+01 - -4.496022344379944e+01 -4.499483042484561e+01 -4.502945562362576e+01 -4.506409905435962e+01 -4.509876068578905e+01 - -4.513344049220396e+01 -4.516813851556444e+01 -4.520285479589762e+01 -4.523758929782897e+01 -4.527234198687941e+01 - -4.530711290755342e+01 -4.534190210524451e+01 -4.537670954991925e+01 -4.541153520580425e+01 -4.544637908959269e+01 - -4.548124122972980e+01 -4.551612164920255e+01 -4.555102035951307e+01 -4.558593733168242e+01 -4.562087254236648e+01 - -4.565582603124118e+01 -4.569079783605451e+01 -4.572578792382265e+01 -4.576079626235065e+01 -4.579582289333027e+01 - -4.583086785976433e+01 -4.586593113601344e+01 -4.590101269036680e+01 -4.593611253546989e+01 -4.597123069530716e+01 - -4.600636719486254e+01 -4.604152204856955e+01 -4.607669522766013e+01 -4.611188670797630e+01 -4.614709652700154e+01 - -4.618232472227299e+01 -4.621757126990104e+01 -4.625283614113306e+01 -4.628811934919114e+01 -4.632342091751210e+01 - -4.635874086841728e+01 -4.639407921460932e+01 -4.642943593143147e+01 -4.646481099859044e+01 -4.650020445060623e+01 - -4.653561632090474e+01 -4.657104658372261e+01 -4.660649521327068e+01 -4.664196224284595e+01 -4.667744770698098e+01 - -4.671295158606459e+01 -4.674847385553061e+01 -4.678401452513644e+01 -4.681957361522331e+01 -4.685515115414413e+01 - -4.689074715945064e+01 -4.692636159747788e+01 -4.696199443933372e+01 -4.699764572643400e+01 -4.703331550121288e+01 - -4.706900373987032e+01 -4.710471041222129e+01 -4.714043552877479e+01 -4.717617911151273e+01 -4.721194118761495e+01 - -4.724772177397794e+01 -4.728352084116666e+01 -4.731933836391387e+01 -4.735517437995513e+01 -4.739102892624472e+01 - -4.742690197360956e+01 -4.746279349304486e+01 -4.749870352234630e+01 -4.753463210070628e+01 -4.757057920610364e+01 - -4.760654481072343e+01 -4.764252892478859e+01 -4.767853156968457e+01 -4.771455277340900e+01 -4.775059255327958e+01 - -4.778665087728216e+01 -4.782272771801416e+01 -4.785882311585065e+01 -4.789493711157514e+01 -4.793106967982698e+01 - -4.796722079021173e+01 -4.800339045834357e+01 -4.803957871014897e+01 -4.807578556679541e+01 -4.811201103905631e+01 - -4.814825510088780e+01 -4.818451773166895e+01 -4.822079896928767e+01 -4.825709884980719e+01 -4.829341734348342e+01 - -4.832975442115909e+01 -4.836611012183125e+01 -4.840248448526336e+01 -4.843887748613056e+01 -4.847528909416636e+01 - -4.851171932442625e+01 -4.854816820273300e+01 -4.858463575265701e+01 -4.862112198691646e+01 -4.865762687707282e+01 - -4.869415040003414e+01 -4.873069259525141e+01 -4.876725350118260e+01 -4.880383308977095e+01 -4.884043132904604e+01 - -4.887704823789731e+01 -4.891368384608068e+01 -4.895033817595851e+01 -4.898701123776245e+01 -4.902370300059485e+01 - -4.906041344002308e+01 -4.909714259860375e+01 -4.913389051725400e+01 -4.917065716334413e+01 -4.920744250429804e+01 - -4.924424658130064e+01 -4.928106943700116e+01 -4.931791104614518e+01 -4.935477137752828e+01 -4.939165044404930e+01 - -4.942854827009338e+01 -4.946546488188807e+01 -4.950240029454247e+01 -4.953935447684974e+01 -4.957632740294361e+01 - -4.961331911463601e+01 -4.965032965315336e+01 -4.968735898970213e+01 -4.972440709120082e+01 -4.976147397743583e+01 - -4.979855967878247e+01 -4.983566421510402e+01 -4.987278759472007e+01 -4.990992979028766e+01 -4.994709078100569e+01 - -4.998427060790318e+01 -5.002146930959274e+01 -5.005868685319148e+01 -5.009592320640078e+01 -5.013317841075434e+01 - -5.017045250915469e+01 -5.020774547614742e+01 -5.024505728017924e+01 -5.028238793365752e+01 -5.031973746104961e+01 - -5.035710589110189e+01 -5.039449324090066e+01 -5.043189947661289e+01 -5.046932456973549e+01 -5.050676856400442e+01 - -5.054423150327239e+01 -5.058171335962052e+01 -5.061921409929316e+01 -5.065673373695915e+01 -5.069427229950105e+01 - -5.073182981423184e+01 -5.076940629607507e+01 -5.080700170996615e+01 -5.084461602753602e+01 -5.088224929718589e+01 - -5.091990156525010e+01 -5.095757279302548e+01 -5.099526294209112e+01 -5.103297206019221e+01 -5.107070019605169e+01 - -5.110844731613729e+01 -5.114621338143406e+01 -5.118399841325091e+01 -5.122180244526444e+01 -5.125962550029841e+01 - -5.129746758802490e+01 -5.133532867636215e+01 -5.137320874011100e+01 -5.141110782335645e+01 -5.144902596945006e+01 - -5.148696314952589e+01 -5.152491932947918e+01 -5.156289452646703e+01 -5.160088876945014e+01 -5.163890208334180e+01 - -5.167693448081514e+01 -5.171498592963017e+01 -5.175305640369855e+01 -5.179114594645165e+01 -5.182925460014935e+01 - -5.186738233284598e+01 -5.190552911234031e+01 -5.194369497961412e+01 -5.198187997663295e+01 -5.202008407611459e+01 - -5.205830724580739e+01 -5.209654950282933e+01 -5.213481087573764e+01 -5.217309138947744e+01 -5.221139105690054e+01 - -5.224970984609732e+01 -5.228804773087789e+01 -5.232640475269200e+01 -5.236478095346914e+01 -5.240317630941821e+01 - -5.244159079031952e+01 -5.248002440595931e+01 -5.251847717885386e+01 -5.255694914243367e+01 -5.259544031823210e+01 - -5.263395066927961e+01 -5.267248016335085e+01 -5.271102884570031e+01 -5.274959676081755e+01 -5.278818387265291e+01 - -5.282679014593192e+01 -5.286541562901994e+01 -5.290406037048660e+01 -5.294272433607927e+01 -5.298140748616263e+01 - -5.302010984239256e+01 -5.305883143892672e+01 -5.309757229863885e+01 -5.313633243133304e+01 -5.317511180581835e+01 - -5.321391039785607e+01 -5.325272825201081e+01 -5.329156541074357e+01 -5.333042183929739e+01 -5.336929750308754e+01 - -5.340819244543594e+01 -5.344710671111962e+01 -5.348604027282968e+01 -5.352499309722418e+01 -5.356396519891433e+01 - -5.360295660504364e+01 -5.364196734493171e+01 -5.368099743556814e+01 -5.372004684244607e+01 -5.375911553606044e+01 - -5.379820355840945e+01 -5.383731095277006e+01 -5.387643769603123e+01 -5.391558375867469e+01 -5.395474915194053e+01 - -5.399393389872404e+01 -5.403313802778240e+01 -5.407236155707715e+01 -5.411160445552515e+01 -5.415086669663323e+01 - -5.419014832131279e+01 -5.422944936941720e+01 -5.426876980916325e+01 -5.430810960961936e+01 -5.434746881489674e+01 - -5.438684746929877e+01 -5.442624554285502e+01 -5.446566300018413e+01 -5.450509985853421e+01 -5.454455614758906e+01 - -5.458403189414573e+01 -5.462352711279953e+01 -5.466304177222543e+01 -5.470257584656953e+01 -5.474212937778257e+01 - -5.478170240720980e+01 -5.482129490597043e+01 -5.486090684084346e+01 -5.490053823147309e+01 -5.494018910890276e+01 - -5.497985949690793e+01 -5.501954940653937e+01 -5.505925880521750e+01 -5.509898766755921e+01 -5.513873604059781e+01 - -5.517850396943321e+01 -5.521829141901578e+01 -5.525809835354192e+01 -5.529792481434151e+01 -5.533777084523449e+01 - -5.537763642286803e+01 -5.541752151714192e+01 -5.545742613813913e+01 -5.549735030880384e+01 -5.553729406334213e+01 - -5.557725742375872e+01 -5.561724035199087e+01 -5.565724281465346e+01 -5.569726485713910e+01 -5.573730652628086e+01 - -5.577736779589668e+01 -5.581744863307357e+01 -5.585754905099014e+01 -5.589766907536871e+01 -5.593780873601526e+01 - -5.597796805069111e+01 -5.601814698489535e+01 -5.605834550959182e+01 -5.609856366986563e+01 -5.613880151023810e+01 - -5.617905899885479e+01 -5.621933610311022e+01 -5.625963286377015e+01 -5.629994932270948e+01 -5.634028545286861e+01 - -5.638064122221132e+01 -5.642101664772899e+01 -5.646141175844968e+01 -5.650182658252075e+01 -5.654226113528433e+01 - -5.658271538174220e+01 -5.662318929319503e+01 -5.666368291647893e+01 -5.670419629786259e+01 -5.674472940580990e+01 - -5.678528220346420e+01 -5.682585471049146e+01 -5.686644695909487e+01 -5.690705897510426e+01 -5.694769077129006e+01 - -5.698834231455854e+01 -5.702901357847642e+01 -5.706970460911611e+01 -5.711041545084194e+01 -5.715114606868026e+01 - -5.719189642778805e+01 -5.723266657318249e+01 -5.727345655110785e+01 -5.731426633285666e+01 -5.735509588339112e+01 - -5.739594521730356e+01 -5.743681436264626e+01 -5.747770335168147e+01 -5.751861220364783e+01 -5.755954088147938e+01 - -5.760048935348805e+01 -5.764145766580183e+01 -5.768244586550730e+01 -5.772345392571002e+01 -5.776448181276131e+01 - -5.780552953997691e+01 -5.784659713354442e+01 -5.788768462417462e+01 -5.792879202998626e+01 -5.796991931420698e+01 - -5.801106644664837e+01 -5.805223347834903e+01 -5.809342045860209e+01 -5.813462734849197e+01 -5.817585410820936e+01 - -5.821710078257841e+01 -5.825836741928538e+01 -5.829965399283203e+01 -5.834096047087346e+01 -5.838228686686274e+01 - -5.842363320676851e+01 -5.846499952082397e+01 -5.850638582715609e+01 -5.854779209120221e+01 -5.858921828442874e+01 - -5.863066445510763e+01 -5.867213065032231e+01 -5.871361683559694e+01 -5.875512297138874e+01 -5.879664907944645e+01 - -5.883819519466417e+01 -5.887976134322624e+01 -5.892134753756825e+01 -5.896295374384051e+01 -5.900457993500612e+01 - -5.904622615756436e+01 -5.908789245663575e+01 -5.912957879828990e+01 -5.917128514850664e+01 -5.921301155195771e+01 - -5.925475805384439e+01 -5.929652462279476e+01 -5.933831122286624e+01 -5.938011787640643e+01 -5.942194461763230e+01 - -5.946379146994821e+01 -5.950565844408734e+01 -5.954754551091072e+01 -5.958945264733813e+01 -5.963137989439624e+01 - -5.967332729249499e+01 -5.971529481547052e+01 -5.975728243227523e+01 -5.979929015889982e+01 -5.984131802305070e+01 - -5.988336605225896e+01 -5.992543426246962e+01 -5.996752262345901e+01 -6.000963111046766e+01 -6.005175976676178e+01 - -6.009390863383608e+01 -6.013607767807394e+01 -6.017826686618813e+01 -6.022047624132026e+01 -6.026270584835797e+01 - -6.030495566274465e+01 -6.034722565381767e+01 -6.038951583593452e+01 -6.043182623512069e+01 -6.047415687905394e+01 - -6.051650778421003e+01 -6.055887892060463e+01 -6.060127026325783e+01 -6.064368185366749e+01 -6.068611373308907e+01 - -6.072856587533070e+01 -6.077103824887340e+01 -6.081353086833690e+01 -6.085604376132918e+01 -6.089857696127247e+01 - -6.094113048823596e+01 -6.098370430306234e+01 -6.102629837247437e+01 -6.106891274594116e+01 -6.111154747264118e+01 - -6.115420251784390e+01 -6.119687784580902e+01 -6.123957350066591e+01 -6.128228952841628e+01 -6.132502590268162e+01 - -6.136778259056138e+01 -6.141055960544676e+01 -6.145335697380811e+01 -6.149617472814099e+01 -6.153901288864162e+01 - -6.158187142028389e+01 -6.162475029314290e+01 -6.166764955292113e+01 -6.171056924466600e+01 -6.175350933517737e+01 - -6.179646979123154e+01 -6.183945065775757e+01 -6.188245198047678e+01 -6.192547373012725e+01 -6.196851587175868e+01 - -6.201157842265037e+01 -6.205466141333163e+01 -6.209776487510229e+01 -6.214088882566958e+01 -6.218403322759970e+01 - -6.222719804958889e+01 -6.227038333999444e+01 -6.231358914752139e+01 -6.235681544260558e+01 -6.240006218936849e+01 - -6.244332940494305e+01 -6.248661712010740e+01 -6.252992536720910e+01 -6.257325416420860e+01 -6.261660346994837e+01 - -6.265997325077347e+01 -6.270336356215701e+01 -6.274677445777788e+01 -6.279020589501037e+01 -6.283365783085999e+01 - -6.287713031716163e+01 -6.292062340781234e+01 -6.296413707012920e+01 -6.300767126475596e+01 -6.305122601222295e+01 - -6.309480134635203e+01 -6.313839729424505e+01 -6.318201386936521e+01 -6.322565103734121e+01 -6.326930877093868e+01 - -6.331298711930568e+01 -6.335668613058504e+01 -6.340040577251647e+01 -6.344414600718050e+01 -6.348790685442323e+01 - -6.353168834759008e+01 -6.357549051625812e+01 -6.361931337593239e+01 -6.366315688959789e+01 -6.370702102749119e+01 - -6.375090584137499e+01 -6.379481138078580e+01 -6.383873760482961e+01 -6.388268447297220e+01 -6.392665203654889e+01 - -6.397064034897519e+01 -6.401464938011861e+01 -6.405867909237229e+01 -6.410272950177993e+01 -6.414680063823367e+01 - -6.419089253336912e+01 -6.423500520539493e+01 -6.427913861706836e+01 -6.432329273774181e+01 -6.436746761859949e+01 - -6.441166331065573e+01 -6.445587978241413e+01 -6.450011699516882e+01 -6.454437496388719e+01 -6.458865371852110e+01 - -6.463295329528786e+01 -6.467727371608086e+01 -6.472161493923234e+01 -6.476597692945877e+01 -6.481035974057480e+01 - -6.485476342551981e+01 -6.489918794463497e+01 -6.494363325783405e+01 -6.498809941591921e+01 -6.503258647107099e+01 - -6.507709439009531e+01 -6.512162313341831e+01 -6.516617272132122e+01 -6.521074318787740e+01 -6.525533456247440e+01 - -6.529994686059398e+01 -6.534458004678092e+01 -6.538923409250538e+01 -6.543390904787570e+01 -6.547860496211884e+01 - -6.552332180229843e+01 -6.556805952953434e+01 -6.561281816333469e+01 -6.565759773746066e+01 -6.570239828429803e+01 - -6.574721982146080e+01 -6.579206230885156e+01 -6.583692571363754e+01 -6.588181008975629e+01 -6.592671548982709e+01 - -6.597164187442638e+01 -6.601658920334479e+01 -6.606155752527242e+01 -6.610654689090467e+01 -6.615155727005924e+01 - -6.619658862652422e+01 -6.624164098084657e+01 -6.628671436645676e+01 -6.633180881156068e+01 -6.637692433038681e+01 - -6.642206088647883e+01 -6.646721845110714e+01 -6.651239707713407e+01 -6.655759681603797e+01 -6.660281763216933e+01 - -6.664805948389387e+01 -6.669332239276561e+01 -6.673860639512726e+01 -6.678391152328841e+01 -6.682923779433044e+01 - -6.687458516845543e+01 -6.691995361277515e+01 -6.696534317891920e+01 -6.701075391795754e+01 -6.705618579420361e+01 - -6.710163877100581e+01 -6.714711289460833e+01 -6.719260821321966e+01 -6.723812470001026e+01 -6.728366232121398e+01 - -6.732922109035582e+01 -6.737480103488133e+01 -6.742040219062761e+01 -6.746602458035952e+01 -6.751166816616187e+01 - -6.755733291529161e+01 -6.760301887637438e+01 -6.764872609859751e+01 -6.769445455202660e+01 -6.774020420051386e+01 - -6.778597506217976e+01 -6.783176716876942e+01 -6.787758055225885e+01 -6.792341523092826e+01 -6.796927116804379e+01 - -6.801514833341810e+01 -6.806104677806347e+01 -6.810696655123587e+01 -6.815290761396663e+01 -6.819886992772128e+01 - -6.824485354392678e+01 -6.829085851532395e+01 -6.833688480994840e+01 -6.838293238885097e+01 -6.842900126984890e+01 - -6.847509148538957e+01 -6.852120306967514e+01 -6.856733604269469e+01 -6.861349036583006e+01 -6.865966600658993e+01 - -6.870586301559659e+01 -6.875208144399036e+01 -6.879832126187024e+01 -6.884458243234171e+01 -6.889086497157696e+01 - -6.893716890990422e+01 -6.898349428120915e+01 -6.902984110598732e+01 -6.907620934761650e+01 -6.912259897511596e+01 - -6.916901003718877e+01 -6.921544258172949e+01 -6.926189657371528e+01 -6.930837197817074e+01 -6.935486884322755e+01 - -6.940138721768092e+01 -6.944792706987337e+01 -6.949448836290087e+01 -6.954107111932564e+01 -6.958767537490402e+01 - -6.963430115870300e+01 -6.968094848498497e+01 -6.972761731548312e+01 -6.977430762020695e+01 -6.982101945480034e+01 - -6.986775287255249e+01 -6.991450783170005e+01 -6.996128429032680e+01 -7.000808230095708e+01 -7.005490191787665e+01 - -7.010174310797666e+01 -7.014860583121035e+01 -7.019549010717337e+01 -7.024239597049470e+01 -7.028932345629492e+01 - -7.033627258446040e+01 -7.038324331344937e+01 -7.043023560838913e+01 -7.047724952251053e+01 -7.052428510987777e+01 - -7.057134233978515e+01 -7.061842117397924e+01 -7.066552162878578e+01 -7.071264373512433e+01 -7.075978752771100e+01 - -7.080695302731498e+01 -7.085414019512091e+01 -7.090134899910394e+01 -7.094857949398551e+01 -7.099583173235354e+01 - -7.104310567151599e+01 -7.109040126922885e+01 -7.113771858031990e+01 -7.118505766125368e+01 -7.123241847797109e+01 - -7.127980098937178e+01 -7.132720521671429e+01 -7.137463119544236e+01 -7.142207895538176e+01 -7.146954851252747e+01 - -7.151703983316882e+01 -7.156455289009196e+01 -7.161208773177542e+01 -7.165964440570248e+01 -7.170722287968356e+01 - -7.175482311646741e+01 -7.180244513822917e+01 -7.185008898098621e+01 -7.189775467669884e+01 -7.194544224180910e+01 - -7.199315163474331e+01 -7.204088282234626e+01 -7.208863586315185e+01 -7.213641081375658e+01 -7.218420763131780e+01 - -7.223202627227879e+01 -7.227986678966526e+01 -7.232772923884254e+01 -7.237561358795277e+01 -7.242351979769759e+01 - -7.247144788623903e+01 -7.251939788668284e+01 -7.256736983444897e+01 -7.261536375015235e+01 -7.266337959287341e+01 - -7.271141732841731e+01 -7.275947701102203e+01 -7.280755869538000e+01 -7.285566234956853e+01 -7.290378793432680e+01 - -7.295193546765573e+01 -7.300010498266862e+01 -7.304829651566631e+01 -7.309651008753943e+01 -7.314474565435016e+01 - -7.319300317971540e+01 -7.324128272229925e+01 -7.328958433981238e+01 -7.333790799110540e+01 -7.338625363374130e+01 - -7.343462131899291e+01 -7.348301110053259e+01 -7.353142294792167e+01 -7.357985682361442e+01 -7.362831274574745e+01 - -7.367679074711965e+01 -7.372529086349638e+01 -7.377381311579366e+01 -7.382235746256312e+01 -7.387092386912651e+01 - -7.391951239025020e+01 -7.396812308115555e+01 -7.401675590943988e+01 -7.406541083531380e+01 -7.411408787706513e+01 - -7.416278706814910e+01 -7.421150844461324e+01 -7.426025202733783e+01 -7.430901777394124e+01 -7.435780564940528e+01 - -7.440661571142732e+01 -7.445544801616209e+01 -7.450430252087864e+01 -7.455317918285648e+01 -7.460207805830268e+01 - -7.465099920497126e+01 -7.469994258787753e+01 -7.474890816454140e+01 -7.479789595523943e+01 -7.484690599592756e+01 - -7.489593832252380e+01 -7.494499295533201e+01 -7.499406985223764e+01 -7.504316897827101e+01 -7.509229038945979e+01 - -7.514143414169166e+01 -7.519060019929748e+01 -7.523978851997632e+01 -7.528899912645726e+01 -7.533823205657275e+01 - -7.538748734353926e+01 -7.543676500532445e+01 -7.548606500351643e+01 -7.553538730703876e+01 -7.558473197053598e+01 - -7.563409904619321e+01 -7.568348849063742e+01 -7.573290026170078e+01 -7.578233441759443e+01 -7.583179101796470e+01 - -7.588127002782028e+01 -7.593077140392674e+01 -7.598029516471465e+01 -7.602984134475692e+01 -7.607940998153097e+01 - -7.612900109746634e+01 -7.617861465189691e+01 -7.622825061065345e+01 -7.627790902865043e+01 -7.632758996032740e+01 - -7.637729336914126e+01 -7.642701921265419e+01 -7.647676751583191e+01 -7.652653831849052e+01 -7.657633165244424e+01 - -7.662614753370475e+01 -7.667598592307560e+01 -7.672584678949215e+01 -7.677573018962489e+01 -7.682563617769370e+01 - -7.687556471038147e+01 -7.692551574474433e+01 -7.697548933686781e+01 -7.702548554509247e+01 -7.707550433774978e+01 - -7.712554567498073e+01 -7.717560957417300e+01 -7.722569606768573e+01 -7.727580519051753e+01 -7.732593696392289e+01 - -7.737609135154067e+01 -7.742626832278943e+01 -7.747646792782194e+01 -7.752669021677298e+01 -7.757693515897095e+01 - -7.762720271798948e+01 -7.767749291518889e+01 -7.772780578562232e+01 -7.777814136132783e+01 -7.782849965970544e+01 - -7.787888064261847e+01 -7.792928427988689e+01 -7.797971062869398e+01 -7.803015974345008e+01 -7.808063158011076e+01 - -7.813112609521906e+01 -7.818164334612277e+01 -7.823218339188995e+01 -7.828274619766600e+01 -7.833333172107952e+01 - -7.838393998361434e+01 -7.843457102192369e+01 -7.848522486948340e+01 -7.853590154498607e+01 -7.858660101116894e+01 - -7.863732323758104e+01 -7.868806827697425e+01 -7.873883618163512e+01 -7.878962691878654e+01 -7.884044044940295e+01 - -7.889127679452803e+01 -7.894213598992800e+01 -7.899301807018992e+01 -7.904392305456564e+01 -7.909485090214494e+01 - -7.914580158005610e+01 -7.919677514774288e+01 -7.924777166238927e+01 -7.929879107982515e+01 -7.934983335558289e+01 - -7.940089854535901e+01 -7.945198670709752e+01 -7.950309780756868e+01 -7.955423180605224e+01 -7.960538872303847e+01 - -7.965656859466247e+01 -7.970777145842827e+01 -7.975899733555858e+01 -7.981024618078136e+01 -7.986151795697417e+01 - -7.991281272610696e+01 -7.996413054847572e+01 -8.001547137858779e+01 -8.006683517069925e+01 -8.011822198384908e+01 - -8.016963187855384e+01 -8.022106481645797e+01 -8.027252075224854e+01 -8.032399971165485e+01 -8.037550173585385e+01 - -8.042702685677139e+01 -8.047857509055929e+01 -8.053014639952434e+01 -8.058174075328817e+01 -8.063335820457638e+01 - -8.068499880610621e+01 -8.073666252745771e+01 -8.078834933088126e+01 -8.084005923244513e+01 -8.089179226408041e+01 - -8.094354846735196e+01 -8.099532786819320e+01 -8.104713042037783e+01 -8.109895608507813e+01 -8.115080492521992e+01 - -8.120267700205356e+01 -8.125457226837462e+01 -8.130649067623317e+01 -8.135843228315183e+01 -8.141039715010918e+01 - -8.146238524643556e+01 -8.151439653208425e+01 -8.156643102114791e+01 -8.161848874447259e+01 -8.167056974577932e+01 - -8.172267405314662e+01 -8.177480161920819e+01 -8.182695240289546e+01 -8.187912646377457e+01 -8.193132386298609e+01 - -8.198354456733288e+01 -8.203578853472443e+01 -8.208805578183410e+01 -8.214034634197473e+01 -8.219266025625411e+01 - -8.224499755029157e+01 -8.229735817995817e+01 -8.234974210798764e+01 -8.240214939431286e+01 -8.245458009683706e+01 - -8.250703416814667e+01 -8.255951156203467e+01 -8.261201234243612e+01 -8.266453657428882e+01 -8.271708421639993e+01 - -8.276965521981012e+01 -8.282224961062391e+01 -8.287486743131451e+01 -8.292750871476633e+01 -8.298017347733835e+01 - -8.303286167887651e+01 -8.308557328775250e+01 -8.313830836295337e+01 -8.319106696215761e+01 -8.324384904719405e+01 - -8.329665457280116e+01 -8.334948356120523e+01 -8.340233605179664e+01 -8.345521208513452e+01 -8.350811168407860e+01 - -8.356103479952203e+01 -8.361398139085040e+01 -8.366695152338559e+01 -8.371994526125894e+01 -8.377296255790387e+01 - -8.382600336547402e+01 -8.387906774170159e+01 -8.393215574692768e+01 -8.398526734635097e+01 -8.403840249721476e+01 - -8.409156122008268e+01 -8.414474355213920e+01 -8.419794953373223e+01 -8.425117918830632e+01 -8.430443246852916e+01 - -8.435770933516140e+01 -8.441100985211256e+01 -8.446433408298962e+01 -8.451768198704093e+01 -8.457105351533237e+01 - -8.462444869055821e+01 -8.467786755329161e+01 -8.473131014399300e+01 -8.478477648534972e+01 -8.483826652906932e+01 - -8.489178023573824e+01 -8.494531767243778e+01 -8.499887890373510e+01 -8.505246387764603e+01 -8.510607254206460e+01 - -8.515970496094809e+01 -8.521336120130535e+01 -8.526704122628841e+01 -8.532074498941530e+01 -8.537447250952404e+01 - -8.542822382319736e+01 -8.548199897267675e+01 -8.553579798342942e+01 -8.558962080816578e+01 -8.564346740685433e+01 - -8.569733784125194e+01 -8.575123217367282e+01 -8.580515036687339e+01 -8.585909237532205e+01 -8.591305821989287e+01 - -8.596704793875205e+01 -8.602106157282915e+01 -8.607509914567974e+01 -8.612916060859980e+01 -8.618324592155754e+01 - -8.623735515146925e+01 -8.629148836331387e+01 -8.634564550737286e+01 -8.639982653295500e+01 -8.645403150017543e+01 - -8.650826047252751e+01 -8.656251341621210e+01 -8.661679028858919e+01 -8.667109110894766e+01 -8.672541591317201e+01 - -8.677976474159972e+01 -8.683413761829634e+01 -8.688853449778628e+01 -8.694295534179228e+01 -8.699740021037117e+01 - -8.705186916402354e+01 -8.710636216669133e+01 -8.716087917454270e+01 -8.721542020920894e+01 -8.726998530877070e+01 - -8.732457451164281e+01 -8.737918783967393e+01 -8.743382524811331e+01 -8.748848670054353e+01 -8.754317226047976e+01 - -8.759788198894785e+01 -8.765261583708421e+01 -8.770737375634857e+01 -8.776215580938322e+01 -8.781696206132678e+01 - -8.787179247612183e+01 -8.792664700860111e+01 -8.798152567835336e+01 -8.803642852212045e+01 -8.809135558050070e+01 - -8.814630687756171e+01 -8.820128236739042e+01 -8.825628201129771e+01 -8.831130586947003e+01 -8.836635400284558e+01 - -8.842142637649435e+01 -8.847652294770472e+01 -8.853164373850628e+01 -8.858678878695027e+01 -8.864195813043362e+01 - -8.869715178945941e+01 -8.875236971760948e+01 -8.880761187808301e+01 -8.886287833946902e+01 -8.891816916696094e+01 - -8.897348430677987e+01 -8.902882370531137e+01 -8.908418742857141e+01 -8.913957554536425e+01 -8.919498801601753e+01 - -8.925042479199006e+01 -8.930588589774098e+01 -8.936137137472512e+01 -8.941688125937962e+01 -8.947241557120560e+01 - -8.952797426697802e+01 -8.958355731201681e+01 -8.963916476854843e+01 -8.969479669732335e+01 -8.975045305628245e+01 - -8.980613379692392e+01 -8.986183894778455e+01 -8.991756855389235e+01 -8.997332264920152e+01 -9.002910125051302e+01 - -9.008490431708829e+01 -9.014073181666647e+01 -9.019658380843681e+01 -9.025246034941333e+01 -9.030836139645970e+01 - -9.036428690661128e+01 -9.042023693773967e+01 -9.047621154925669e+01 -9.053221070589892e+01 -9.058823436476921e+01 - -9.064428254711031e+01 -9.070035529106499e+01 -9.075645263823618e+01 -9.081257461289793e+01 -9.086872116654884e+01 - -9.092489225918972e+01 -9.098108795760594e+01 -9.103730832657459e+01 -9.109355331605536e+01 -9.114982287548730e+01 - -9.120611706704364e+01 -9.126243595579022e+01 -9.131877950563008e+01 -9.137514767186437e+01 -9.143154047654943e+01 - -9.148795795857168e+01 -9.154440015738282e+01 -9.160086709537343e+01 -9.165735872612346e+01 -9.171387501169491e+01 - -9.177041601688784e+01 -9.182698180564800e+01 -9.188357233576582e+01 -9.194018755741556e+01 -9.199682749646104e+01 - -9.205349219658670e+01 -9.211018169707003e+01 -9.216689601912306e+01 -9.222363511610273e+01 -9.228039895018067e+01 - -9.233718758664240e+01 -9.239400108840672e+01 -9.245083940581294e+01 -9.250770248979978e+01 -9.256459040628322e+01 - -9.262150322244982e+01 -9.267844089559186e+01 -9.273540337476760e+01 -9.279239068599267e+01 -9.284940287335907e+01 - -9.290643997630693e+01 -9.296350201607783e+01 -9.302058894577094e+01 -9.307770072730455e+01 -9.313483742601555e+01 - -9.319199910633068e+01 -9.324918572561810e+01 -9.330639723351504e+01 -9.336363365579297e+01 -9.342089503640302e+01 - -9.347818141588093e+01 -9.353549281584256e+01 -9.359282918563940e+01 -9.365019048477910e+01 -9.370757678565749e+01 - -9.376498815769901e+01 -9.382242454555492e+01 -9.387988589305337e+01 -9.393737226550313e+01 -9.399488373202897e+01 - -9.405242025553964e+01 -9.410998178945039e+01 -9.416756835541781e+01 -9.422517999301114e+01 -9.428281674520871e+01 - -9.434047863667399e+01 -9.439816561540189e+01 -9.445587763836596e+01 -9.451361477512259e+01 -9.457137709520302e+01 - -9.462916455545547e+01 -9.468697710379740e+01 -9.474481476510589e+01 -9.480267758244509e+01 -9.486056559466863e+01 - -9.491847882335075e+01 -9.497641722515867e+01 -9.503438076487508e+01 -9.509236950465109e+01 -9.515038350409563e+01 - -9.520842271528107e+01 -9.526648709103007e+01 -9.532457669470300e+01 -9.538269159175374e+01 -9.544083174547335e+01 - -9.549899710997526e+01 -9.555718770482461e+01 -9.561540356780063e+01 -9.567364474408794e+01 -9.573191126075703e+01 - -9.579020306501620e+01 -9.584852011272490e+01 -9.590686247420874e+01 -9.596523021978578e+01 -9.602362330527772e+01 - -9.608204167783254e+01 -9.614048536439948e+01 -9.619895441016116e+01 -9.625744885343293e+01 -9.631596871403326e+01 - -9.637451394466026e+01 -9.643308450797647e+01 -9.649168047362274e+01 -9.655030190767742e+01 -9.660894875499127e+01 - -9.666762096089710e+01 -9.672631859388268e+01 -9.678504172537357e+01 -9.684379031539257e+01 -9.690256431417546e+01 - -9.696136374421286e+01 -9.702018864639355e+01 -9.707903906294442e+01 -9.713791501832830e+01 -9.719681646461351e+01 - -9.725574336170810e+01 -9.731469577327378e+01 -9.737367376351882e+01 -9.743267729508464e+01 -9.749170632178308e+01 - -9.755076086367355e+01 -9.760984095895955e+01 -9.766894665217343e+01 -9.772807797034233e+01 -9.778723486414395e+01 - -9.784641729236439e+01 -9.790562532257231e+01 -9.796485902036660e+01 -9.802411833468516e+01 -9.808340321418262e+01 - -9.814271372304191e+01 -9.820204992860188e+01 -9.826141179529722e+01 -9.832079927766843e+01 -9.838021239358226e+01 - -9.843965117935535e+01 -9.849911568177785e+01 -9.855860593025675e+01 -9.861812187419362e+01 -9.867766347002308e+01 - -9.873723078231735e+01 -9.879682387670165e+01 -9.885644271487612e+01 -9.891608724974174e+01 -9.897575750292785e+01 - -9.903545351466867e+01 -9.909517533088989e+01 -9.915492297862031e+01 -9.921469640360959e+01 -9.927449556058966e+01 - -9.933432052149955e+01 -9.939417135686639e+01 -9.945404801436261e+01 -9.951395044077229e+01 -9.957387870218038e+01 - -9.963383286719130e+01 -9.969381289518709e+01 -9.975381873630593e+01 -9.981385041293248e+01 -9.987390796877466e+01 - -9.993399146058783e+01 -9.999410091983435e+01 -1.000542362637563e+02 -1.001143974249114e+02 -1.001745845113392e+02 - -1.002347976270743e+02 -1.002950366846517e+02 -1.003553015922550e+02 -1.004155924321621e+02 -1.004759093011103e+02 - -1.005362521795820e+02 -1.005966210292817e+02 -1.006570158530568e+02 -1.007174366671700e+02 -1.007778835004040e+02 - -1.008383563749385e+02 -1.008988552740233e+02 -1.009593801813489e+02 -1.010199311212978e+02 -1.010805081231472e+02 - -1.011411111950619e+02 -1.012017403376325e+02 -1.012623955422635e+02 -1.013230768099676e+02 -1.013837841893743e+02 - -1.014445177207514e+02 -1.015052773633014e+02 -1.015660630775449e+02 -1.016268749103392e+02 -1.016877129150088e+02 - -1.017485770844115e+02 -1.018094673966629e+02 -1.018703838313761e+02 -1.019313263923028e+02 -1.019922951782496e+02 - -1.020532902664119e+02 -1.021143115524854e+02 -1.021753589342455e+02 -1.022364324992857e+02 -1.022975323519374e+02 - -1.023586584736673e+02 -1.024198108268543e+02 -1.024809894203941e+02 -1.025421942728475e+02 -1.026034253949216e+02 - -1.026646827901934e+02 -1.027259664415750e+02 -1.027872763473731e+02 -1.028486125881369e+02 -1.029099752254547e+02 - -1.029713641628286e+02 -1.030327793161952e+02 -1.030942208093169e+02 -1.031556887637190e+02 -1.032171830841550e+02 - -1.032787036718354e+02 -1.033402506305696e+02 -1.034018240681317e+02 -1.034634239055545e+02 -1.035250500515010e+02 - -1.035867025518952e+02 -1.036483814821213e+02 -1.037100868981441e+02 -1.037718188237329e+02 -1.038335771732939e+02 - -1.038953618747522e+02 -1.039571730194689e+02 -1.040190107055651e+02 -1.040808748947658e+02 -1.041427655331822e+02 - -1.042046826408667e+02 -1.042666262524425e+02 -1.043285963868752e+02 -1.043905930564436e+02 -1.044526162623378e+02 - -1.045146660069125e+02 -1.045767423082721e+02 -1.046388451777543e+02 -1.047009745838822e+02 -1.047631305085241e+02 - -1.048253130297424e+02 -1.048875222165416e+02 -1.049497580055002e+02 -1.050120203310284e+02 -1.050743092512860e+02 - -1.051366248384456e+02 -1.051989670969791e+02 -1.052613360137520e+02 -1.053237315729033e+02 -1.053861537661844e+02 - -1.054486026185219e+02 -1.055110781583045e+02 -1.055735803945944e+02 -1.056361093274371e+02 -1.056986649401382e+02 - -1.057612472323176e+02 -1.058238562855892e+02 -1.058864921618116e+02 -1.059491547618286e+02 -1.060118440001799e+02 - -1.060745600072047e+02 -1.061373029070868e+02 -1.062000725835928e+02 -1.062628689188559e+02 -1.063256920288941e+02 - -1.063885420424685e+02 -1.064514189054312e+02 -1.065143225392365e+02 -1.065772529506575e+02 -1.066402101774261e+02 - -1.067031942957903e+02 -1.067662053568374e+02 -1.068292432724951e+02 -1.068923079625714e+02 -1.069553995175528e+02 - -1.070185180380394e+02 -1.070816634944072e+02 -1.071448358336418e+02 -1.072080350393896e+02 -1.072712611247882e+02 - -1.073345141842783e+02 -1.073977942922143e+02 -1.074611013613008e+02 -1.075244353055826e+02 -1.075877962061142e+02 - -1.076511841502191e+02 -1.077145990832866e+02 -1.077780409492339e+02 -1.078415098280245e+02 -1.079050057992970e+02 - -1.079685288053471e+02 -1.080320787786834e+02 -1.080956557500093e+02 -1.081592597729443e+02 -1.082228908945775e+02 - -1.082865491424036e+02 -1.083502344720692e+02 -1.084139468448718e+02 -1.084776863165616e+02 -1.085414529440200e+02 - -1.086052466942038e+02 -1.086690675238350e+02 -1.087329154386204e+02 -1.087967904674474e+02 -1.088606926829425e+02 - -1.089246221377382e+02 -1.089885787607543e+02 -1.090525624876805e+02 -1.091165734050004e+02 -1.091806115963225e+02 - -1.092446769829633e+02 -1.093087694909110e+02 -1.093728892271333e+02 -1.094370362953419e+02 -1.095012106052476e+02 - -1.095654120623545e+02 -1.096296407493415e+02 -1.096938967647426e+02 -1.097581800933404e+02 -1.098224906984946e+02 - -1.098868285716250e+02 -1.099511937236656e+02 -1.100155862155477e+02 -1.100800060933800e+02 -1.101444532939841e+02 - -1.102089277564002e+02 -1.102734295378303e+02 -1.103379587096266e+02 -1.104025152815812e+02 -1.104670992426730e+02 - -1.105317105601886e+02 -1.105963492199813e+02 -1.106610153038629e+02 -1.107257088820756e+02 -1.107904298826226e+02 - -1.108551782361634e+02 -1.109199540262203e+02 -1.109847573373186e+02 -1.110495881051325e+02 -1.111144462586115e+02 - -1.111793318486534e+02 -1.112442449476576e+02 -1.113091855920787e+02 -1.113741537899001e+02 -1.114391494711626e+02 - -1.115041725824562e+02 -1.115692232145109e+02 -1.116343014623147e+02 -1.116994072937479e+02 -1.117645406555522e+02 - -1.118297015370191e+02 -1.118948899532702e+02 -1.119601059801944e+02 -1.120253496750247e+02 -1.120906209596036e+02 - -1.121559197660155e+02 -1.122212462027017e+02 -1.122866003728487e+02 -1.123519821822644e+02 -1.124173915349786e+02 - -1.124828285252852e+02 -1.125482932599049e+02 -1.126137857050017e+02 -1.126793058037530e+02 -1.127448535479451e+02 - -1.128104289543148e+02 -1.128760320907921e+02 -1.129416630123176e+02 -1.130073216706816e+02 -1.130730080183262e+02 - -1.131387221134510e+02 -1.132044640167948e+02 -1.132702336934948e+02 -1.133360310978225e+02 -1.134018562361866e+02 - -1.134677091387784e+02 -1.135335898787815e+02 -1.135994985091588e+02 -1.136654349589990e+02 -1.137313991629182e+02 - -1.137973912015162e+02 -1.138634111582333e+02 -1.139294589818884e+02 -1.139955346168527e+02 -1.140616381243277e+02 - -1.141277695680233e+02 -1.141939289048548e+02 -1.142601160860919e+02 -1.143263311472162e+02 -1.143925741390390e+02 - -1.144588450894802e+02 -1.145251440101338e+02 -1.145914708701818e+02 -1.146578256494022e+02 -1.147242084123678e+02 - -1.147906192149256e+02 -1.148570579932248e+02 -1.149235246826633e+02 -1.149900193353325e+02 -1.150565420227369e+02 - -1.151230927773426e+02 -1.151896716067799e+02 -1.152562784583746e+02 -1.153229132947855e+02 -1.153895762003063e+02 - -1.154562672526404e+02 -1.155229863814943e+02 -1.155897335150450e+02 -1.156565087233475e+02 -1.157233120892246e+02 - -1.157901436046917e+02 -1.158570032371645e+02 -1.159238909464663e+02 -1.159908067231330e+02 -1.160577506881430e+02 - -1.161247229415995e+02 -1.161917233696630e+02 -1.162587518588770e+02 -1.163258085112608e+02 -1.163928934406831e+02 - -1.164600065929374e+02 -1.165271479034755e+02 -1.165943174344564e+02 -1.166615152526160e+02 -1.167287413162901e+02 - -1.167959955757904e+02 -1.168632780577301e+02 -1.169305888112216e+02 -1.169979278990717e+02 -1.170652953548001e+02 - -1.171326910810820e+02 -1.172001149975291e+02 -1.172675672223445e+02 -1.173350478778825e+02 -1.174025569045121e+02 - -1.174700942215011e+02 -1.175376598456954e+02 -1.176052538191002e+02 -1.176728761867799e+02 -1.177405269796691e+02 - -1.178082061691247e+02 -1.178759137299273e+02 -1.179436497101298e+02 -1.180114141509050e+02 -1.180792069926326e+02 - -1.181470281872303e+02 -1.182148778335583e+02 -1.182827560287664e+02 -1.183506627162192e+02 -1.184185978220269e+02 - -1.184865613570652e+02 -1.185545533602401e+02 -1.186225738978121e+02 -1.186906230193939e+02 -1.187587006806511e+02 - -1.188268068350639e+02 -1.188949415213182e+02 -1.189631047837780e+02 -1.190312966043158e+02 -1.190995169567162e+02 - -1.191677658449030e+02 -1.192360432941998e+02 -1.193043493853908e+02 -1.193726841751893e+02 -1.194410475685670e+02 - -1.195094394794060e+02 -1.195778600089746e+02 -1.196463092648311e+02 -1.197147871923100e+02 -1.197832937276135e+02 - -1.198518289326376e+02 -1.199203928745778e+02 -1.199889855161324e+02 -1.200576068078755e+02 -1.201262567563797e+02 - -1.201949353935382e+02 -1.202636427965272e+02 -1.203323790196208e+02 -1.204011439802014e+02 -1.204699376081542e+02 - -1.205387600202684e+02 -1.206076113241917e+02 -1.206764914041025e+02 -1.207454001431820e+02 -1.208143376440890e+02 - -1.208833040296615e+02 -1.209522992839752e+02 -1.210213233653680e+02 -1.210903762679893e+02 -1.211594580022500e+02 - -1.212285686077949e+02 -1.212977081155049e+02 -1.213668764919694e+02 -1.214360737100132e+02 -1.215052998316942e+02 - -1.215745549154533e+02 -1.216438389160294e+02 -1.217131517838345e+02 -1.217824935556734e+02 -1.218518642837182e+02 - -1.219212639952166e+02 -1.219906927020717e+02 -1.220601503797327e+02 -1.221296370078328e+02 -1.221991526191948e+02 - -1.222686972509000e+02 -1.223382709038720e+02 -1.224078735702578e+02 -1.224775052432531e+02 -1.225471659287695e+02 - -1.226168556825330e+02 -1.226865745477072e+02 -1.227563224673916e+02 -1.228260993926653e+02 -1.228959054065903e+02 - -1.229657405910973e+02 -1.230356048916106e+02 -1.231054982500379e+02 -1.231754207307278e+02 -1.232453724007864e+02 - -1.233153532159101e+02 -1.233853631242201e+02 -1.234554021549459e+02 -1.235254703591199e+02 -1.235955677938801e+02 - -1.236656944915691e+02 -1.237358503792446e+02 -1.238060353939673e+02 -1.238762496180971e+02 -1.239464931371069e+02 - -1.240167659036240e+02 -1.240870678602586e+02 -1.241573990423949e+02 -1.242277595040581e+02 -1.242981492810638e+02 - -1.243685683872523e+02 -1.244390167667736e+02 -1.245094943779347e+02 -1.245800013053605e+02 -1.246505376299316e+02 - -1.247211032912332e+02 -1.247916982296097e+02 -1.248623225297382e+02 -1.249329762770640e+02 -1.250036594157741e+02 - -1.250743718736609e+02 -1.251451136541969e+02 -1.252158847947410e+02 -1.252866853925174e+02 -1.253575155184925e+02 - -1.254283750787370e+02 -1.254992639825418e+02 -1.255701823169751e+02 -1.256411301759969e+02 -1.257121075033584e+02 - -1.257831142369608e+02 -1.258541504415142e+02 -1.259252161922362e+02 -1.259963114795672e+02 -1.260674362758903e+02 - -1.261385905661348e+02 -1.262097743537985e+02 -1.262809877041053e+02 -1.263522306696565e+02 -1.264235031908370e+02 - -1.264948052148923e+02 -1.265661368287249e+02 -1.266374981169807e+02 -1.267088890156212e+02 -1.267803094502130e+02 - -1.268517594534262e+02 -1.269232390831601e+02 -1.269947483911282e+02 -1.270662874069690e+02 -1.271378560782095e+02 - -1.272094543594662e+02 -1.272810823158284e+02 -1.273527400123002e+02 -1.274244274030747e+02 -1.274961444355319e+02 - -1.275678911406106e+02 -1.276396675704015e+02 -1.277114737780431e+02 -1.277833097950603e+02 -1.278551755654751e+02 - -1.279270710424012e+02 -1.279989963028243e+02 -1.280709514152536e+02 -1.281429362904217e+02 -1.282149508513121e+02 - -1.282869952276877e+02 -1.283590695463467e+02 -1.284311737154509e+02 -1.285033076302067e+02 -1.285754713526335e+02 - -1.286476649682441e+02 -1.287198884897120e+02 -1.287921419051992e+02 -1.288644251776617e+02 -1.289367382880697e+02 - -1.290090813146567e+02 -1.290814543319980e+02 -1.291538573027727e+02 -1.292262901737162e+02 -1.292987529396840e+02 - -1.293712456190937e+02 -1.294437682764910e+02 -1.295163209673579e+02 -1.295889036647941e+02 -1.296615163353197e+02 - -1.297341590015173e+02 -1.298068316903185e+02 -1.298795343899871e+02 -1.299522670904091e+02 -1.300250298266263e+02 - -1.300978226354063e+02 -1.301706455152632e+02 -1.302434984561237e+02 -1.303163814518184e+02 -1.303892945098205e+02 - -1.304622376882688e+02 -1.305352110313897e+02 -1.306082144770936e+02 -1.306812479731976e+02 -1.307543116134598e+02 - -1.308274054850011e+02 -1.309005295024521e+02 -1.309736835845235e+02 -1.310468678387340e+02 -1.311200823754845e+02 - -1.311933271278942e+02 -1.312666020134129e+02 -1.313399070640916e+02 -1.314132423401880e+02 -1.314866079001839e+02 - -1.315600037753056e+02 -1.316334298895329e+02 -1.317068861777292e+02 -1.317803727255405e+02 -1.318538896215189e+02 - -1.319274368150577e+02 -1.320010142454794e+02 -1.320746219509807e+02 -1.321482599879661e+02 -1.322219283867981e+02 - -1.322956271602158e+02 -1.323693562765047e+02 -1.324431157110688e+02 -1.325169055122373e+02 -1.325907257242561e+02 - -1.326645763021127e+02 -1.327384572099461e+02 -1.328123685377604e+02 -1.328863103680995e+02 -1.329602826278048e+02 - -1.330342852393407e+02 -1.331083182633673e+02 -1.331823817787306e+02 -1.332564757988239e+02 -1.333306003141445e+02 - -1.334047552890586e+02 -1.334789407033280e+02 -1.335531566244299e+02 -1.336274031130300e+02 -1.337016801148342e+02 - -1.337759875748336e+02 -1.338503255501201e+02 -1.339246941130952e+02 -1.339990932852997e+02 -1.340735230609586e+02 - -1.341479833758948e+02 -1.342224741891434e+02 -1.342969956109889e+02 -1.343715477431406e+02 -1.344461305017541e+02 - -1.345207438015131e+02 -1.345953877367626e+02 -1.346700624038786e+02 -1.347447677276981e+02 -1.348195036263442e+02 - -1.348942701626209e+02 -1.349690674171868e+02 -1.350438953974369e+02 -1.351187540921076e+02 -1.351936434885642e+02 - -1.352685635848754e+02 -1.353435144232942e+02 -1.354184960414874e+02 -1.354935084145923e+02 -1.355685515128237e+02 - -1.356436253492364e+02 -1.357187299541088e+02 -1.357938653837732e+02 -1.358690316768758e+02 -1.359442287752637e+02 - -1.360194566279880e+02 -1.360947153097144e+02 -1.361700048911278e+02 -1.362453253013760e+02 -1.363206764782614e+02 - -1.363960585357406e+02 -1.364714715821978e+02 -1.365469155275740e+02 -1.366223902703805e+02 -1.366978958618521e+02 - -1.367734323848502e+02 -1.368489998960226e+02 -1.369245984210613e+02 -1.370002278880492e+02 -1.370758882331093e+02 - -1.371515795221331e+02 -1.372273018270698e+02 -1.373030551143317e+02 -1.373788393429953e+02 -1.374546545483291e+02 - -1.375305007816427e+02 -1.376063780822184e+02 -1.376822864668756e+02 -1.377582258746108e+02 -1.378341962588316e+02 - -1.379101977084133e+02 -1.379862303093919e+02 -1.380622940009784e+02 -1.381383887192652e+02 -1.382145145346940e+02 - -1.382906715205862e+02 -1.383668596274320e+02 -1.384430787972570e+02 -1.385193290610606e+02 -1.385956104734610e+02 - -1.386719230945808e+02 -1.387482669582360e+02 -1.388246419875133e+02 -1.389010481148665e+02 -1.389774854209464e+02 - -1.390539539951986e+02 -1.391304538140523e+02 -1.392069848343242e+02 -1.392835470473980e+02 -1.393601404693719e+02 - -1.394367651806349e+02 -1.395134212422815e+02 -1.395901085739362e+02 -1.396668271002043e+02 -1.397435769070855e+02 - -1.398203580874878e+02 -1.398971706005607e+02 -1.399740143977720e+02 -1.400508895336226e+02 -1.401277960614956e+02 - -1.402047339272718e+02 -1.402817030764181e+02 -1.403587035602461e+02 -1.404357354502877e+02 -1.405127987931110e+02 - -1.405898936026113e+02 -1.406670197869564e+02 -1.407441772794584e+02 -1.408213662197336e+02 -1.408985867371466e+02 - -1.409758387137537e+02 -1.410531220224061e+02 -1.411304367464428e+02 -1.412077829961380e+02 -1.412851607790223e+02 - -1.413625700771281e+02 -1.414400108732392e+02 -1.415174831646232e+02 -1.415949870057306e+02 -1.416725224388105e+02 - -1.417500894001226e+02 -1.418276878351835e+02 -1.419053178325258e+02 -1.419829794809226e+02 -1.420606727270934e+02 - -1.421383975074728e+02 -1.422161538594082e+02 -1.422939418408956e+02 -1.423717614916131e+02 -1.424496128273150e+02 - -1.425274957863782e+02 -1.426054103213069e+02 -1.426833565184944e+02 -1.427613344645970e+02 -1.428393441134355e+02 - -1.429173854035838e+02 -1.429954583454632e+02 -1.430735629773860e+02 -1.431516993773805e+02 -1.432298676007922e+02 - -1.433080675725197e+02 -1.433862992191345e+02 -1.434645626043482e+02 -1.435428578032951e+02 -1.436211847996638e+02 - -1.436995435672099e+02 -1.437779341314036e+02 -1.438563565210897e+02 -1.439348107268960e+02 -1.440132967358192e+02 - -1.440918145585468e+02 -1.441703642214681e+02 -1.442489457900865e+02 -1.443275593072134e+02 -1.444062046857781e+02 - -1.444848818522611e+02 -1.445635909172288e+02 -1.446423319927847e+02 -1.447211050130976e+02 -1.447999098925679e+02 - -1.448787466444589e+02 -1.449576153140356e+02 -1.450365159757091e+02 -1.451154486823820e+02 -1.451944133717774e+02 - -1.452734099863848e+02 -1.453524386029381e+02 -1.454314992962476e+02 -1.455105919991844e+02 -1.455897166474813e+02 - -1.456688733302556e+02 -1.457480621396693e+02 -1.458272830266799e+02 -1.459065359271370e+02 -1.459858208576615e+02 - -1.460651378591126e+02 -1.461444869885314e+02 -1.462238682831965e+02 -1.463032816851561e+02 -1.463827271416525e+02 - -1.464622047159361e+02 -1.465417144784923e+02 -1.466212564127396e+02 -1.467008304928943e+02 -1.467804367434297e+02 - -1.468600751934606e+02 -1.469397458404120e+02 -1.470194486722770e+02 -1.470991836710121e+02 -1.471789508433917e+02 - -1.472587503015001e+02 -1.473385821300154e+02 -1.474184461986837e+02 -1.474983423870870e+02 -1.475782708290815e+02 - -1.476582316674545e+02 -1.477382248264445e+02 -1.478182502096616e+02 -1.478983078567520e+02 -1.479783978350921e+02 - -1.480585201869469e+02 -1.481386749269736e+02 -1.482188619845118e+02 -1.482990813088785e+02 -1.483793330146163e+02 - -1.484596172099193e+02 -1.485399338123612e+02 -1.486202827323657e+02 -1.487006640423751e+02 -1.487810778248495e+02 - -1.488615240403001e+02 -1.489420026412511e+02 -1.490225136702235e+02 -1.491030571832025e+02 -1.491836332000337e+02 - -1.492642417202360e+02 -1.493448826981615e+02 -1.494255561054278e+02 -1.495062620278810e+02 -1.495870005487025e+02 - -1.496677716261896e+02 -1.497485751994623e+02 -1.498294112558179e+02 -1.499102798158717e+02 -1.499911809853331e+02 - -1.500721148441144e+02 -1.501530812838450e+02 -1.502340802026938e+02 -1.503151117132690e+02 -1.503961759364751e+02 - -1.504772728119622e+02 -1.505584022645880e+02 -1.506395643412949e+02 -1.507207591024668e+02 -1.508019865401696e+02 - -1.508832466324269e+02 -1.509645393694111e+02 -1.510458647628492e+02 -1.511272228985386e+02 -1.512086138412552e+02 - -1.512900374976176e+02 -1.513714937855876e+02 -1.514529828266537e+02 -1.515345047392310e+02 -1.516160594259147e+02 - -1.516976467776822e+02 -1.517792668548592e+02 -1.518609197460578e+02 -1.519426054836894e+02 -1.520243240750476e+02 - -1.521060754831553e+02 -1.521878596792744e+02 -1.522696767118938e+02 -1.523515266305248e+02 -1.524334094115421e+02 - -1.525153250314230e+02 -1.525972735401888e+02 -1.526792549864990e+02 -1.527612693400200e+02 -1.528433165631959e+02 - -1.529253966685747e+02 -1.530075096900777e+02 -1.530896556970147e+02 -1.531718347321965e+02 -1.532540466970516e+02 - -1.533362915133235e+02 -1.534185693253995e+02 -1.535008802693854e+02 -1.535832242256197e+02 -1.536656010621809e+02 - -1.537480108538752e+02 -1.538304537113657e+02 -1.539129296820158e+02 -1.539954387715506e+02 -1.540779808824423e+02 - -1.541605559457948e+02 -1.542431641104905e+02 -1.543258055115917e+02 -1.544084800111010e+02 -1.544911874726015e+02 - -1.545739280390565e+02 -1.546567018609975e+02 -1.547395088398511e+02 -1.548223488576198e+02 -1.549052219677139e+02 - -1.549881282595875e+02 -1.550710677954614e+02 -1.551540406026988e+02 -1.552370465964632e+02 -1.553200857053796e+02 - -1.554031580241178e+02 -1.554862636500489e+02 -1.555694025253043e+02 -1.556525745801794e+02 -1.557357798528659e+02 - -1.558190184045264e+02 -1.559022902803117e+02 -1.559855954979769e+02 -1.560689339817060e+02 -1.561523056771075e+02 - -1.562357107090587e+02 -1.563191491909100e+02 -1.564026210106382e+02 -1.564861260558312e+02 -1.565696644378976e+02 - -1.566532362813955e+02 -1.567368415396626e+02 -1.568204801387562e+02 -1.569041520668287e+02 -1.569878573487146e+02 - -1.570715960938785e+02 -1.571553683828581e+02 -1.572391740958522e+02 -1.573230131265335e+02 -1.574068856228085e+02 - -1.574907917295132e+02 -1.575747313249683e+02 -1.576587042737324e+02 -1.577427106518309e+02 -1.578267505715277e+02 - -1.579108240785769e+02 -1.579949311783184e+02 -1.580790717809458e+02 -1.581632458187553e+02 -1.582474534075981e+02 - -1.583316946623155e+02 -1.584159695101536e+02 -1.585002778727259e+02 -1.585846198367120e+02 -1.586689954874005e+02 - -1.587534047394542e+02 -1.588378475061590e+02 -1.589223238659185e+02 -1.590068339195322e+02 -1.590913776922658e+02 - -1.591759551748261e+02 -1.592605662952183e+02 -1.593452110061037e+02 -1.594298894214712e+02 -1.595146016508511e+02 - -1.595993476246111e+02 -1.596841272537272e+02 -1.597689405507699e+02 -1.598537875632453e+02 -1.599386683768111e+02 - -1.600235830481832e+02 -1.601085314801616e+02 -1.601935135899282e+02 -1.602785295061083e+02 -1.603635793509372e+02 - -1.604486630096468e+02 -1.605337803660765e+02 -1.606189315354990e+02 -1.607041166452176e+02 -1.607893356392255e+02 - -1.608745884397152e+02 -1.609598750649831e+02 -1.610451955612870e+02 -1.611305499906227e+02 -1.612159383917271e+02 - -1.613013606945609e+02 -1.613868168398436e+02 -1.614723069201057e+02 -1.615578310304217e+02 -1.616433891242326e+02 - -1.617289811339727e+02 -1.618146070496823e+02 -1.619002668955830e+02 -1.619859607750138e+02 -1.620716887676450e+02 - -1.621574507793529e+02 -1.622432467219253e+02 -1.623290767045893e+02 -1.624149408340039e+02 -1.625008390091176e+02 - -1.625867711331680e+02 -1.626727373342588e+02 -1.627587377384768e+02 -1.628447722389764e+02 -1.629308407201184e+02 - -1.630169432640222e+02 -1.631030799800713e+02 -1.631892508889492e+02 -1.632754559784962e+02 -1.633616951938801e+02 - -1.634479685044198e+02 -1.635342760187116e+02 -1.636206178291233e+02 -1.637069938238325e+02 -1.637934038942077e+02 - -1.638798481485683e+02 -1.639663267112721e+02 -1.640528395538795e+02 -1.641393866180353e+02 -1.642259678785196e+02 - -1.643125833411851e+02 -1.643992331030405e+02 -1.644859172470150e+02 -1.645726357085657e+02 -1.646593884180614e+02 - -1.647461754329907e+02 -1.648329968179324e+02 -1.649198525387065e+02 -1.650067425502886e+02 -1.650936668630355e+02 - -1.651806255134507e+02 -1.652676185872448e+02 -1.653546461444497e+02 -1.654417080931755e+02 -1.655288043499995e+02 - -1.656159350172886e+02 -1.657031001994683e+02 -1.657902998234105e+02 -1.658775338117127e+02 -1.659648022474274e+02 - -1.660521052162188e+02 -1.661394426537408e+02 -1.662268144894047e+02 -1.663142207776613e+02 -1.664016615975541e+02 - -1.664891370014617e+02 -1.665766470055737e+02 -1.666641915079906e+02 -1.667517704334961e+02 -1.668393839316945e+02 - -1.669270321420214e+02 -1.670147149384157e+02 -1.671024321837371e+02 -1.671901839620226e+02 -1.672779703889409e+02 - -1.673657914855093e+02 -1.674536472385115e+02 -1.675415375924466e+02 -1.676294625158688e+02 -1.677174221158364e+02 - -1.678054164853866e+02 -1.678934455229663e+02 -1.679815091339810e+02 -1.680696074462591e+02 -1.681577405863894e+02 - -1.682459084535819e+02 -1.683341109324726e+02 -1.684223480767776e+02 -1.685106199767677e+02 -1.685989266998525e+02 - -1.686872682758898e+02 -1.687756446073924e+02 -1.688640556163956e+02 -1.689525014303699e+02 -1.690409821718389e+02 - -1.691294977381033e+02 -1.692180480141565e+02 -1.693066330609834e+02 -1.693952529706734e+02 -1.694839077837423e+02 - -1.695725975104607e+02 -1.696613220916933e+02 -1.697500814887782e+02 -1.698388758143547e+02 -1.699277051650943e+02 - -1.700165694224996e+02 -1.701054684738952e+02 -1.701944024450633e+02 -1.702833714670375e+02 -1.703723754534025e+02 - -1.704614143033400e+02 -1.705504880758685e+02 -1.706395968591658e+02 -1.707287406982126e+02 -1.708179196055015e+02 - -1.709071335067704e+02 -1.709963823462651e+02 -1.710856662290167e+02 -1.711749852543236e+02 -1.712643393377691e+02 - -1.713537283867857e+02 -1.714431524599174e+02 -1.715326116432521e+02 -1.716221059819435e+02 -1.717116354891412e+02 - -1.718012000909151e+02 -1.718907997312464e+02 -1.719804345128430e+02 -1.720701045346718e+02 -1.721598097220100e+02 - -1.722495499971131e+02 -1.723393254438396e+02 -1.724291361494486e+02 -1.725189820532021e+02 -1.726088630837053e+02 - -1.726987792749333e+02 -1.727887306891670e+02 -1.728787173965418e+02 -1.729687394350333e+02 -1.730587967061244e+02 - -1.731488891286860e+02 -1.732390168276344e+02 -1.733291799265234e+02 -1.734193783374131e+02 -1.735096119603506e+02 - -1.735998808588243e+02 -1.736901851222248e+02 -1.737805247801124e+02 -1.738708998286339e+02 -1.739613101901119e+02 - -1.740517558114003e+02 -1.741422368113012e+02 -1.742327533050288e+02 -1.743233052214973e+02 -1.744138924793676e+02 - -1.745045151425876e+02 -1.745951732822802e+02 -1.746858668529805e+02 -1.747765958032038e+02 -1.748673601739718e+02 - -1.749581600245709e+02 -1.750489953948396e+02 -1.751398663036498e+02 -1.752307727054541e+02 -1.753217145616989e+02 - -1.754126919262226e+02 -1.755037048571098e+02 -1.755947533370347e+02 -1.756858373371216e+02 -1.757769568577038e+02 - -1.758681119173357e+02 -1.759593025782490e+02 -1.760505288876894e+02 -1.761417907892832e+02 -1.762330882344909e+02 - -1.763244213097290e+02 -1.764157900964081e+02 -1.765071945209611e+02 -1.765986345094344e+02 -1.766901101413071e+02 - -1.767816215026837e+02 -1.768731685527375e+02 -1.769647512369523e+02 -1.770563695729838e+02 -1.771480236027573e+02 - -1.772397133931058e+02 -1.773314389867134e+02 -1.774232003047593e+02 -1.775149972814722e+02 -1.776068300247813e+02 - -1.776986986385443e+02 -1.777906030366335e+02 -1.778825431235826e+02 -1.779745189565556e+02 -1.780665306226855e+02 - -1.781585781763529e+02 -1.782506616334199e+02 -1.783427808884287e+02 -1.784349358629673e+02 -1.785271267081259e+02 - -1.786193535668995e+02 -1.787116163204012e+02 -1.788039148425030e+02 -1.788962492399977e+02 -1.789886196318098e+02 - -1.790810259524725e+02 -1.791734681201561e+02 -1.792659461719689e+02 -1.793584601742520e+02 -1.794510101913400e+02 - -1.795435962594126e+02 -1.796362183040394e+02 -1.797288762617232e+02 -1.798215702233099e+02 -1.799143002757676e+02 - -1.800070663362093e+02 -1.800998683262517e+02 -1.801927063553792e+02 -1.802855805315161e+02 -1.803784907684791e+02 - -1.804714369692463e+02 -1.805644191875481e+02 -1.806574375103104e+02 -1.807504920064915e+02 -1.808435827084130e+02 - -1.809367095198169e+02 -1.810298723599504e+02 -1.811230713386593e+02 -1.812163065647390e+02 -1.813095779521854e+02 - -1.814028854036152e+02 -1.814962289709267e+02 -1.815896087407728e+02 -1.816830247895420e+02 -1.817764771515762e+02 - -1.818699657032943e+02 -1.819634903439186e+02 -1.820570512218083e+02 -1.821506484855823e+02 -1.822442820357622e+02 - -1.823379517614509e+02 -1.824316577541746e+02 -1.825254001134493e+02 -1.826191787683301e+02 -1.827129936397535e+02 - -1.828068447866412e+02 -1.829007322929544e+02 -1.829946562048259e+02 -1.830886165373395e+02 -1.831826132192083e+02 - -1.832766461922778e+02 -1.833707155372913e+02 -1.834648213380734e+02 -1.835589635518759e+02 -1.836531421229175e+02 - -1.837473570698571e+02 -1.838416084358642e+02 -1.839358962877114e+02 -1.840302206684350e+02 -1.841245815025237e+02 - -1.842189787235884e+02 -1.843134124202761e+02 -1.844078826806361e+02 -1.845023894352911e+02 -1.845969326205561e+02 - -1.846915123529413e+02 -1.847861287393624e+02 -1.848807816681596e+02 -1.849754710227848e+02 -1.850701968857076e+02 - -1.851649593688754e+02 -1.852597585031284e+02 -1.853545942804591e+02 -1.854494666185751e+02 -1.855443754618861e+02 - -1.856393209358935e+02 -1.857343031604275e+02 -1.858293220515437e+02 -1.859243775087027e+02 -1.860194695687597e+02 - -1.861145983033516e+02 -1.862097637858479e+02 -1.863049660540466e+02 -1.864002050017272e+02 -1.864954805431744e+02 - -1.865907928187129e+02 -1.866861419596013e+02 -1.867815278347963e+02 -1.868769503164351e+02 -1.869724095516791e+02 - -1.870679056966096e+02 -1.871634386679672e+02 -1.872590083560524e+02 -1.873546147847470e+02 -1.874502580123688e+02 - -1.875459381013990e+02 -1.876416550903780e+02 -1.877374089179168e+02 -1.878331995340542e+02 -1.879290270344656e+02 - -1.880248915055781e+02 -1.881207928511883e+02 -1.882167309755823e+02 -1.883127059676341e+02 -1.884087179360091e+02 - -1.885047668839511e+02 -1.886008527852007e+02 -1.886969756009047e+02 -1.887931353152428e+02 -1.888893320171184e+02 - -1.889855657829229e+02 -1.890818365342772e+02 -1.891781441947396e+02 -1.892744888503877e+02 -1.893708705921393e+02 - -1.894672893677523e+02 -1.895637451161106e+02 -1.896602378837592e+02 -1.897567677352667e+02 -1.898533346996371e+02 - -1.899499387807097e+02 -1.900465799172331e+02 -1.901432580674921e+02 -1.902399733330072e+02 -1.903367258125687e+02 - -1.904335154508099e+02 -1.905303421711713e+02 -1.906272059664800e+02 -1.907241068668330e+02 -1.908210449820209e+02 - -1.909180203947948e+02 -1.910150330000556e+02 -1.911120827002041e+02 -1.912091696154924e+02 -1.913062938635582e+02 - -1.914034553337337e+02 -1.915006539182285e+02 -1.915978897490666e+02 -1.916951629619544e+02 -1.917924734675151e+02 - -1.918898211586861e+02 -1.919872060827436e+02 -1.920846283161583e+02 -1.921820878978424e+02 -1.922795848438701e+02 - -1.923771191165239e+02 -1.924746906889474e+02 -1.925722996315181e+02 -1.926699460069926e+02 -1.927676297504074e+02 - -1.928653507913461e+02 -1.929631091652971e+02 -1.930609049367203e+02 -1.931587381800568e+02 -1.932566089358633e+02 - -1.933545170991796e+02 -1.934524625825225e+02 -1.935504455138344e+02 -1.936484660231147e+02 -1.937465240331655e+02 - -1.938446194535055e+02 -1.939427523477156e+02 -1.940409227930324e+02 -1.941391307672549e+02 -1.942373762317632e+02 - -1.943356591817002e+02 -1.944339796386271e+02 -1.945323376960147e+02 -1.946307334225392e+02 -1.947291667157886e+02 - -1.948276374816129e+02 -1.949261458299981e+02 -1.950246918758956e+02 -1.951232755499811e+02 -1.952218967672293e+02 - -1.953205555640852e+02 -1.954192520091347e+02 -1.955179861780584e+02 -1.956167581109271e+02 -1.957155676982765e+02 - -1.958144148511486e+02 -1.959132997121442e+02 -1.960122224157670e+02 -1.961111828325720e+02 -1.962101808324193e+02 - -1.963092165463342e+02 -1.964082901163006e+02 -1.965074014669716e+02 -1.966065505047830e+02 -1.967057372806285e+02 - -1.968049618689787e+02 -1.969042242941536e+02 -1.970035245570506e+02 -1.971028626150270e+02 -1.972022384428475e+02 - -1.973016521284466e+02 -1.974011037520065e+02 -1.975005932495305e+02 -1.976001205455443e+02 -1.976996856628438e+02 - -1.977992886519515e+02 -1.978989295760255e+02 -1.979986084767589e+02 -1.980983252973461e+02 -1.981980799861144e+02 - -1.982978726104215e+02 -1.983977032396124e+02 -1.984975718319531e+02 -1.985974783450467e+02 -1.986974228449224e+02 - -1.987974053983538e+02 -1.988974259666649e+02 -1.989974844962869e+02 -1.990975809795281e+02 -1.991977154414513e+02 - -1.992978879922588e+02 -1.993980987169082e+02 -1.994983475142392e+02 -1.995986342853965e+02 -1.996989591268633e+02 - -1.997993221398394e+02 -1.998997232490551e+02 -2.000001623829878e+02 -2.001006396615730e+02 -2.002011551976202e+02 - -2.003017088839768e+02 -2.004023006006677e+02 -2.005029303963877e+02 -2.006035983645368e+02 -2.007043046086661e+02 - -2.008050491826254e+02 -2.009058319313084e+02 -2.010066527248718e+02 -2.011075117434797e+02 -2.012084091672780e+02 - -2.013093448663347e+02 -2.014103186854462e+02 -2.015113306783989e+02 -2.016123809487723e+02 -2.017134695903300e+02 - -2.018145966520298e+02 -2.019157620134241e+02 -2.020169655668574e+02 -2.021182074252480e+02 -2.022194877090834e+02 - -2.023208063485549e+02 -2.024221632682046e+02 -2.025235585602719e+02 -2.026249923196053e+02 -2.027264644837921e+02 - -2.028279749730532e+02 -2.029295237954015e+02 -2.030311109992572e+02 -2.031327367068774e+02 -2.032344010007734e+02 - -2.033361037306376e+02 -2.034378447601810e+02 -2.035396242420057e+02 -2.036414423389593e+02 -2.037432989659801e+02 - -2.038451940079258e+02 -2.039471274772405e+02 -2.040490994323931e+02 -2.041511099883670e+02 -2.042531592234435e+02 - -2.043552470125819e+02 -2.044573732391661e+02 -2.045595380236004e+02 -2.046617414909655e+02 -2.047639835480296e+02 - -2.048662640993485e+02 -2.049685832589404e+02 -2.050709411450770e+02 -2.051733376835843e+02 -2.052757727854042e+02 - -2.053782464943871e+02 -2.054807588829732e+02 -2.055833100050551e+02 -2.056858998827895e+02 -2.057885284299405e+02 - -2.058911955783421e+02 -2.059939014405005e+02 -2.060966461276917e+02 -2.061994295656012e+02 -2.063022516666823e+02 - -2.064051124760526e+02 -2.065080120661920e+02 -2.066109504863692e+02 -2.067139277576765e+02 -2.068169438117121e+02 - -2.069199985973326e+02 -2.070230922219201e+02 -2.071262247789163e+02 -2.072293961474789e+02 -2.073326062201854e+02 - -2.074358551575783e+02 -2.075391431180403e+02 -2.076424699833530e+02 -2.077458356179337e+02 -2.078492400933438e+02 - -2.079526835133251e+02 -2.080561659031989e+02 -2.081596872578975e+02 -2.082632475292167e+02 -2.083668466898186e+02 - -2.084704848389632e+02 -2.085741620623951e+02 -2.086778782651976e+02 -2.087816333480700e+02 -2.088854273748348e+02 - -2.089892604383302e+02 -2.090931325843364e+02 -2.091970438282278e+02 -2.093009941108145e+02 -2.094049833841979e+02 - -2.095090117202067e+02 -2.096130791905716e+02 -2.097171857469022e+02 -2.098213313423286e+02 -2.099255160561849e+02 - -2.100297399619016e+02 -2.101340029830976e+02 -2.102383050403986e+02 -2.103426461922712e+02 -2.104470265253758e+02 - -2.105514461013085e+02 -2.106559049410852e+02 -2.107604029284658e+02 -2.108649399745926e+02 -2.109695162373935e+02 - -2.110741318706494e+02 -2.111787867647689e+02 -2.112834807867834e+02 -2.113882139735869e+02 -2.114929864074473e+02 - -2.115977981822681e+02 -2.117026493533424e+02 -2.118075398098887e+02 -2.119124694556393e+02 -2.120174384184601e+02 - -2.121224468216736e+02 -2.122274945462991e+02 -2.123325814769304e+02 -2.124377077547605e+02 -2.125428735238108e+02 - -2.126480786828185e+02 -2.127533231155498e+02 -2.128586068911697e+02 -2.129639301084739e+02 -2.130692927993837e+02 - -2.131746949622090e+02 -2.132801365276879e+02 -2.133856174488912e+02 -2.134911378357916e+02 -2.135966977951921e+02 - -2.137022972643151e+02 -2.138079361581469e+02 -2.139136144723085e+02 -2.140193322420075e+02 -2.141250895801643e+02 - -2.142308865713384e+02 -2.143367231089345e+02 -2.144425990899214e+02 -2.145485146166798e+02 -2.146544697958461e+02 - -2.147604645456698e+02 -2.148664987887291e+02 -2.149725726533044e+02 -2.150786862586875e+02 -2.151848394825147e+02 - -2.152910321964648e+02 -2.153972644900385e+02 -2.155035364828845e+02 -2.156098481974242e+02 -2.157161996246267e+02 - -2.158225907268823e+02 -2.159290214790141e+02 -2.160354919341570e+02 -2.161420021424622e+02 -2.162485520638355e+02 - -2.163551416576007e+02 -2.164617709709994e+02 -2.165684400663080e+02 -2.166751489780245e+02 -2.167818977145845e+02 - -2.168886862079515e+02 -2.169955144082682e+02 -2.171023824148656e+02 -2.172092903208214e+02 -2.173162380450137e+02 - -2.174232255130703e+02 -2.175302528518165e+02 -2.176373201799158e+02 -2.177444273821862e+02 -2.178515743317612e+02 - -2.179587610888773e+02 -2.180659877532527e+02 -2.181732543954297e+02 -2.182805610486399e+02 -2.183879076260487e+02 - -2.184952940541088e+02 -2.186027204324891e+02 -2.187101868605661e+02 -2.188176932633304e+02 -2.189252395535715e+02 - -2.190328257696591e+02 -2.191404519835346e+02 -2.192481182758485e+02 -2.193558246894080e+02 -2.194635711069396e+02 - -2.195713574321837e+02 -2.196791838130171e+02 -2.197870503917547e+02 -2.198949570443306e+02 -2.200029036478261e+02 - -2.201108903502962e+02 -2.202189173008489e+02 -2.203269843818326e+02 -2.204350914576510e+02 -2.205432385876858e+02 - -2.206514258738742e+02 -2.207596533933995e+02 -2.208679211808499e+02 -2.209762291251867e+02 -2.210845771334710e+02 - -2.211929653307878e+02 -2.213013938407175e+02 -2.214098625627986e+02 -2.215183713969045e+02 -2.216269204682873e+02 - -2.217355099024502e+02 -2.218441396005216e+02 -2.219528094497077e+02 -2.220615195058979e+02 -2.221702698646027e+02 - -2.222790606111339e+02 -2.223878917838657e+02 -2.224967632436199e+02 -2.226056748766821e+02 -2.227146268487432e+02 - -2.228236193240230e+02 -2.229326521814535e+02 -2.230417252803019e+02 -2.231508386864637e+02 -2.232599925050409e+02 - -2.233691867913336e+02 -2.234784215614204e+02 -2.235876967242961e+02 -2.236970122086523e+02 -2.238063681290529e+02 - -2.239157646015454e+02 -2.240252015622403e+02 -2.241346789340316e+02 -2.242441967668838e+02 -2.243537551247286e+02 - -2.244633540002964e+02 -2.245729933685804e+02 -2.246826732048266e+02 -2.247923935126906e+02 -2.249021544092157e+02 - -2.250119559889259e+02 -2.251217981428817e+02 -2.252316807628839e+02 -2.253416039471573e+02 -2.254515678046834e+02 - -2.255615722810486e+02 -2.256716173029860e+02 -2.257817028852108e+02 -2.258918290784169e+02 -2.260019959892315e+02 - -2.261122036854213e+02 -2.262224520233766e+02 -2.263327408802082e+02 -2.264430704272837e+02 -2.265534408332552e+02 - -2.266638519616550e+02 -2.267743036660735e+02 -2.268847960654481e+02 -2.269953292962885e+02 -2.271059033000460e+02 - -2.272165179952407e+02 -2.273271734037251e+02 -2.274378695801794e+02 -2.275486066072624e+02 -2.276593845334010e+02 - -2.277702032421150e+02 -2.278810626343348e+02 -2.279919628455381e+02 -2.281029040172474e+02 -2.282138860806176e+02 - -2.283249089376286e+02 -2.284359725839265e+02 -2.285470770593814e+02 -2.286582224870930e+02 -2.287694089544078e+02 - -2.288806363224278e+02 -2.289919044640359e+02 -2.291032135254801e+02 -2.292145636582007e+02 -2.293259547610424e+02 - -2.294373867252146e+02 -2.295488596639802e+02 -2.296603736910369e+02 -2.297719286997702e+02 -2.298835245768747e+02 - -2.299951614025932e+02 -2.301068392919157e+02 -2.302185583052736e+02 -2.303303184582155e+02 -2.304421196413199e+02 - -2.305539617649887e+02 -2.306658449438852e+02 -2.307777692999738e+02 -2.308897347801602e+02 -2.310017413072381e+02 - -2.311137888826106e+02 -2.312258775426401e+02 -2.313380073849178e+02 -2.314501784790464e+02 -2.315623907214496e+02 - -2.316746440227619e+02 -2.317869385236417e+02 -2.318992743527083e+02 -2.320116513604021e+02 -2.321240694060221e+02 - -2.322365286624793e+02 -2.323490293043759e+02 -2.324615711994689e+02 -2.325741541998047e+02 -2.326867784014305e+02 - -2.327994439322068e+02 -2.329121508032486e+02 -2.330248989898164e+02 -2.331376884404961e+02 -2.332505191272475e+02 - -2.333633911421986e+02 -2.334763045743060e+02 -2.335892593796759e+02 -2.337022554911374e+02 -2.338152928812627e+02 - -2.339283715644559e+02 -2.340414916827054e+02 -2.341546533474617e+02 -2.342678564204413e+02 -2.343811007676228e+02 - -2.344943865217682e+02 -2.346077138212040e+02 -2.347210825597340e+02 -2.348344926295532e+02 -2.349479441609453e+02 - -2.350614372851493e+02 -2.351749718991416e+02 -2.352885478850955e+02 -2.354021653002366e+02 -2.355158242429473e+02 - -2.356295248011875e+02 -2.357432670145577e+02 -2.358570507396431e+02 -2.359708758587992e+02 -2.360847425404777e+02 - -2.361986509531367e+02 -2.363126009791645e+02 -2.364265924750662e+02 -2.365406254798825e+02 -2.366547000814751e+02 - -2.367688163804559e+02 -2.368829744348273e+02 -2.369971741194025e+02 -2.371114153287764e+02 -2.372256982198593e+02 - -2.373400229428812e+02 -2.374543893590377e+02 -2.375687973238754e+02 -2.376832469593778e+02 -2.377977384043928e+02 - -2.379122715987879e+02 -2.380268464580362e+02 -2.381414629990116e+02 -2.382561212769444e+02 -2.383708213990897e+02 - -2.384855634334210e+02 -2.386003472387607e+02 -2.387151726904082e+02 -2.388300399387221e+02 -2.389449491374237e+02 - -2.390599001786255e+02 -2.391748929369255e+02 -2.392899274784697e+02 -2.394050039061344e+02 -2.395201222781684e+02 - -2.396352826134916e+02 -2.397504848183333e+02 -2.398657288168898e+02 -2.399810147179146e+02 -2.400963426277219e+02 - -2.402117124583125e+02 -2.403271241258893e+02 -2.404425777577767e+02 -2.405580734795174e+02 -2.406736111984077e+02 - -2.407891907995794e+02 -2.409048122977546e+02 -2.410204757554728e+02 -2.411361812969551e+02 -2.412519290053517e+02 - -2.413677187378485e+02 -2.414835503650167e+02 -2.415994240369316e+02 -2.417153399089511e+02 -2.418312978780588e+02 - -2.419472978191357e+02 -2.420633397770240e+02 -2.421794238369657e+02 -2.422955500758429e+02 -2.424117185344053e+02 - -2.425279291172331e+02 -2.426441817421263e+02 -2.427604765159341e+02 -2.428768135466203e+02 -2.429931927575585e+02 - -2.431096140668555e+02 -2.432260775561414e+02 -2.433425833145866e+02 -2.434591312980004e+02 -2.435757214497087e+02 - -2.436923537964655e+02 -2.438090283895336e+02 -2.439257452947832e+02 -2.440425045463603e+02 -2.441593060369063e+02 - -2.442761496825792e+02 -2.443930356351059e+02 -2.445099640393889e+02 -2.446269347774639e+02 -2.447439477225602e+02 - -2.448610029755453e+02 -2.449781006544274e+02 -2.450952407181387e+02 -2.452124231032676e+02 -2.453296478161015e+02 - -2.454469148921256e+02 -2.455642244139170e+02 -2.456815764363974e+02 -2.457989708567751e+02 -2.459164075868465e+02 - -2.460338867544718e+02 -2.461514084874868e+02 -2.462689726975661e+02 -2.463865792818051e+02 -2.465042282951439e+02 - -2.466219198202147e+02 -2.467396538925739e+02 -2.468574305187124e+02 -2.469752496359336e+02 -2.470931112029433e+02 - -2.472110153332446e+02 -2.473289621270786e+02 -2.474469514768406e+02 -2.475649832814832e+02 -2.476830576740329e+02 - -2.478011747871381e+02 -2.479193345178656e+02 -2.480375367456449e+02 -2.481557815149384e+02 -2.482740689103307e+02 - -2.483923990118631e+02 -2.485107718618152e+02 -2.486291873559622e+02 -2.487476454083695e+02 -2.488661461527674e+02 - -2.489846897184250e+02 -2.491032759971039e+02 -2.492219048675295e+02 -2.493405763937896e+02 -2.494592906781626e+02 - -2.495780477903268e+02 -2.496968477531592e+02 -2.498156904349301e+02 -2.499345757349562e+02 -2.500535038313474e+02 - -2.501724748933778e+02 -2.502914887761886e+02 -2.504105453266259e+02 -2.505296446724864e+02 -2.506487869586733e+02 - -2.507679721175656e+02 -2.508872000588222e+02 -2.510064708137437e+02 -2.511257844438344e+02 -2.512451410097723e+02 - -2.513645405425343e+02 -2.514839829551193e+02 -2.516034681806881e+02 -2.517229963510282e+02 -2.518425675906852e+02 - -2.519621817966139e+02 -2.520818388494823e+02 -2.522015387924022e+02 -2.523212817096907e+02 -2.524410676880414e+02 - -2.525608967718439e+02 -2.526807688338955e+02 -2.528006837687293e+02 -2.529206417294141e+02 -2.530406428681973e+02 - -2.531606870755077e+02 -2.532807742357317e+02 -2.534009044709059e+02 -2.535210779031462e+02 -2.536412944172385e+02 - -2.537615538911017e+02 -2.538818564125164e+02 -2.540022021028112e+02 -2.541225910076441e+02 -2.542430231270507e+02 - -2.543634983542462e+02 -2.544840166121418e+02 -2.546045780492533e+02 -2.547251828099108e+02 -2.548458307960956e+02 - -2.549665218842466e+02 -2.550872560909815e+02 -2.552080334828205e+02 -2.553288541857174e+02 -2.554497182835964e+02 - -2.555706256328296e+02 -2.556915761009198e+02 -2.558125698274442e+02 -2.559336069560756e+02 -2.560546873747970e+02 - -2.561758109689862e+02 -2.562969778692906e+02 -2.564181882127723e+02 -2.565394419168841e+02 -2.566607388759341e+02 - -2.567820791112567e+02 -2.569034626862424e+02 -2.570248897054782e+02 -2.571463602359873e+02 -2.572678741533426e+02 - -2.573894313462550e+02 -2.575110319474426e+02 -2.576326760938784e+02 -2.577543636955484e+02 -2.578760946446893e+02 - -2.579978689895271e+02 -2.581196868133063e+02 -2.582415481833543e+02 -2.583634531275302e+02 -2.584854015317316e+02 - -2.586073933093156e+02 -2.587294286254374e+02 -2.588515076317444e+02 -2.589736301740566e+02 -2.590957960996737e+02 - -2.592180055676404e+02 -2.593402587446819e+02 -2.594625555165019e+02 -2.595848957490105e+02 -2.597072795099639e+02 - -2.598297069067293e+02 -2.599521780032740e+02 -2.600746928207452e+02 -2.601972512524080e+02 -2.603198532148209e+02 - -2.604424988455961e+02 -2.605651882765137e+02 -2.606879213949725e+02 -2.608106980758151e+02 -2.609335183880386e+02 - -2.610563824372016e+02 -2.611792902809524e+02 -2.613022419394243e+02 -2.614252373306019e+02 -2.615482763897488e+02 - -2.616713592233935e+02 -2.617944859260970e+02 -2.619176563732862e+02 -2.620408704583867e+02 -2.621641283659552e+02 - -2.622874302706103e+02 -2.624107760160917e+02 -2.625341654302978e+02 -2.626575986086381e+02 -2.627810756876698e+02 - -2.629045967010318e+02 -2.630281616427657e+02 -2.631517704514422e+02 -2.632754230861743e+02 -2.633991196437133e+02 - -2.635228602105341e+02 -2.636466446943674e+02 -2.637704729984163e+02 -2.638943451865159e+02 -2.640182613561179e+02 - -2.641422215785110e+02 -2.642662258795402e+02 -2.643902741294400e+02 -2.645143662245587e+02 -2.646385023213122e+02 - -2.647626825745115e+02 -2.648869068724856e+02 -2.650111750962730e+02 -2.651354873642347e+02 -2.652598438005879e+02 - -2.653842443156531e+02 -2.655086888035231e+02 -2.656331773072787e+02 -2.657577099091213e+02 -2.658822866987512e+02 - -2.660069077230897e+02 -2.661315728504449e+02 -2.662562819710931e+02 -2.663810352417937e+02 -2.665058328192844e+02 - -2.666306745937331e+02 -2.667555604333347e+02 -2.668804903849584e+02 -2.670054645383429e+02 -2.671304829760297e+02 - -2.672555457413816e+02 -2.673806527282453e+02 -2.675058038464400e+02 -2.676309992191929e+02 -2.677562389652032e+02 - -2.678815229716541e+02 -2.680068511277727e+02 -2.681322235624782e+02 -2.682576404136338e+02 -2.683831016151858e+02 - -2.685086070756685e+02 -2.686341568058856e+02 -2.687597508516357e+02 -2.688853892964312e+02 -2.690110721950252e+02 - -2.691367994494158e+02 -2.692625709807897e+02 -2.693883869398372e+02 -2.695142474621058e+02 -2.696401523930688e+02 - -2.697661015819900e+02 -2.698920951833660e+02 -2.700181333642693e+02 -2.701442160368443e+02 -2.702703430840482e+02 - -2.703965145270174e+02 -2.705227304331903e+02 -2.706489909170355e+02 -2.707752960482972e+02 -2.709016456707917e+02 - -2.710280396495872e+02 -2.711544781606855e+02 -2.712809613853167e+02 -2.714074892146895e+02 -2.715340615102555e+02 - -2.716606783044584e+02 -2.717873396730564e+02 -2.719140456940721e+02 -2.720407964136753e+02 -2.721675917483545e+02 - -2.722944316245073e+02 -2.724213161378437e+02 -2.725482453844213e+02 -2.726752192923742e+02 -2.728022377909456e+02 - -2.729293009817382e+02 -2.730564089616648e+02 -2.731835616365174e+02 -2.733107589046467e+02 -2.734380008257563e+02 - -2.735652874983575e+02 -2.736926190148396e+02 -2.738199954194386e+02 -2.739474165698984e+02 -2.740748823405867e+02 - -2.742023928588563e+02 -2.743299482670098e+02 -2.744575485141638e+02 -2.745851935229188e+02 -2.747128833029967e+02 - -2.748406178969678e+02 -2.749683973916734e+02 -2.750962218440648e+02 -2.752240911472609e+02 -2.753520052060601e+02 - -2.754799641358123e+02 -2.756079680559450e+02 -2.757360168916492e+02 -2.758641105650285e+02 -2.759922491800748e+02 - -2.761204328366440e+02 -2.762486614361617e+02 -2.763769348745897e+02 -2.765052532244616e+02 -2.766336165883748e+02 - -2.767620250126050e+02 -2.768904785041199e+02 -2.770189769689730e+02 -2.771475203398639e+02 -2.772761087569904e+02 - -2.774047423518460e+02 -2.775334210136085e+02 -2.776621446145333e+02 -2.777909132015001e+02 -2.779197268642361e+02 - -2.780485856892346e+02 -2.781774897218528e+02 -2.783064388461343e+02 -2.784354329669438e+02 -2.785644722337429e+02 - -2.786935567875348e+02 -2.788226864908934e+02 -2.789518612068105e+02 -2.790810810783757e+02 -2.792103462555617e+02 - -2.793396566357773e+02 -2.794690121008859e+02 -2.795984127231330e+02 -2.797278586088501e+02 -2.798573498103315e+02 - -2.799868863353985e+02 -2.801164680680156e+02 -2.802460949220819e+02 -2.803757670550874e+02 -2.805054846206144e+02 - -2.806352475130235e+02 -2.807650555997772e+02 -2.808949088999684e+02 -2.810248074853591e+02 -2.811547514867556e+02 - -2.812847409903677e+02 -2.814147758449749e+02 -2.815448559108459e+02 -2.816749813316353e+02 -2.818051522586102e+02 - -2.819353685901064e+02 -2.820656302199222e+02 -2.821959372766401e+02 -2.823262898869716e+02 -2.824566879353637e+02 - -2.825871312931868e+02 -2.827176200217700e+02 -2.828481542276227e+02 -2.829787340080183e+02 -2.831093594072626e+02 - -2.832400302670260e+02 -2.833707464559445e+02 -2.835015081531469e+02 -2.836323155420096e+02 -2.837631685124079e+02 - -2.838940669226656e+02 -2.840250107984012e+02 -2.841560002155769e+02 -2.842870352842360e+02 -2.844181160721325e+02 - -2.845492424437817e+02 -2.846804142799303e+02 -2.848116317294889e+02 -2.849428949404899e+02 -2.850742037892878e+02 - -2.852055581519247e+02 -2.853369581748677e+02 -2.854684040068092e+02 -2.855998955349205e+02 -2.857314326251873e+02 - -2.858630153203723e+02 -2.859946437114748e+02 -2.861263179056654e+02 -2.862580379663874e+02 -2.863898037660037e+02 - -2.865216151879669e+02 -2.866534723511688e+02 -2.867853753832939e+02 -2.869173242117615e+02 -2.870493187426322e+02 - -2.871813589967982e+02 -2.873134450373917e+02 -2.874455769816758e+02 -2.875777549027032e+02 -2.877099786425546e+02 - -2.878422480619707e+02 -2.879745633273037e+02 -2.881069246090204e+02 -2.882393317884377e+02 -2.883717847366556e+02 - -2.885042835730584e+02 -2.886368284288774e+02 -2.887694192344474e+02 -2.889020558953364e+02 -2.890347384189399e+02 - -2.891674668528066e+02 -2.893002413032724e+02 -2.894330618447220e+02 -2.895659283649483e+02 -2.896988407604515e+02 - -2.898317991491523e+02 -2.899648036558058e+02 -2.900978542110840e+02 -2.902309507220182e+02 -2.903640931951591e+02 - -2.904972816775983e+02 -2.906305162790740e+02 -2.907637970750559e+02 -2.908971239412933e+02 -2.910304967707643e+02 - -2.911639157250792e+02 -2.912973809535366e+02 -2.914308922875549e+02 -2.915644495654761e+02 -2.916980529712119e+02 - -2.918317026983915e+02 -2.919653986339440e+02 -2.920991406314096e+02 -2.922329287174719e+02 -2.923667629702973e+02 - -2.925006435008390e+02 -2.926345703772706e+02 -2.927685434638595e+02 -2.929025626397000e+02 -2.930366280470975e+02 - -2.931707398343328e+02 -2.933048979103752e+02 -2.934391021578708e+02 -2.935733525934834e+02 -2.937076492857184e+02 - -2.938419923764308e+02 -2.939763819565550e+02 -2.941108178399977e+02 -2.942452998623305e+02 -2.943798282228154e+02 - -2.945144031200941e+02 -2.946490243866398e+02 -2.947836918481424e+02 -2.949184056693277e+02 -2.950531660302706e+02 - -2.951879728334102e+02 -2.953228259514730e+02 -2.954577254159683e+02 -2.955926713017622e+02 -2.957276636983648e+02 - -2.958627026572042e+02 -2.959977880627373e+02 -2.961329198152110e+02 -2.962680980450039e+02 -2.964033228802077e+02 - -2.965385942096344e+02 -2.966739119278574e+02 -2.968092761917713e+02 -2.969446871501122e+02 -2.970801446566606e+02 - -2.972156485544735e+02 -2.973511989386669e+02 -2.974867959450954e+02 -2.976224396205114e+02 -2.977581299655766e+02 - -2.978938668856917e+02 -2.980296503111913e+02 -2.981654803674056e+02 -2.983013571739824e+02 -2.984372806328453e+02 - -2.985732506311156e+02 -2.987092672144286e+02 -2.988453304703744e+02 -2.989814404958496e+02 -2.991175973412398e+02 - -2.992538008615809e+02 -2.993900509369414e+02 -2.995263477428711e+02 -2.996626914493826e+02 -2.997990819088619e+02 - -2.999355189707111e+02 -3.000720027900217e+02 -3.002085335269560e+02 -3.003451110562723e+02 -3.004817352353309e+02 - -3.006184061373012e+02 -3.007551238767678e+02 -3.008918885181671e+02 -3.010287000846923e+02 -3.011655584847104e+02 - -3.013024636430795e+02 -3.014394156654455e+02 -3.015764146559894e+02 -3.017134605322491e+02 -3.018505532010304e+02 - -3.019876927128527e+02 -3.021248791518991e+02 -3.022621125932933e+02 -3.023993930706231e+02 -3.025367204603900e+02 - -3.026740946641424e+02 -3.028115158406990e+02 -3.029489841386069e+02 -3.030864994080570e+02 -3.032240615026816e+02 - -3.033616705882347e+02 -3.034993268395738e+02 -3.036370301558538e+02 -3.037747804087723e+02 -3.039125776359002e+02 - -3.040504219146317e+02 -3.041883133157825e+02 -3.043262518737324e+02 -3.044642374836954e+02 -3.046022700638564e+02 - -3.047403497634464e+02 -3.048784767248004e+02 -3.050166508316213e+02 -3.051548719471290e+02 -3.052931401112401e+02 - -3.054314554166776e+02 -3.055698179906950e+02 -3.057082279030724e+02 -3.058466849591645e+02 -3.059851889955948e+02 - -3.061237402384871e+02 -3.062623389075358e+02 -3.064009848072192e+02 -3.065396777363650e+02 -3.066784178864098e+02 - -3.068172054654241e+02 -3.069560403554044e+02 -3.070949224023651e+02 -3.072338516344630e+02 -3.073728281334552e+02 - -3.075118520133569e+02 -3.076509233435525e+02 -3.077900419826468e+02 -3.079292078053290e+02 -3.080684209614084e+02 - -3.082076816048298e+02 -3.083469896309615e+02 -3.084863449149456e+02 -3.086257475095906e+02 -3.087651975081579e+02 - -3.089046949880547e+02 -3.090442399817611e+02 -3.091838323579038e+02 -3.093234720151574e+02 -3.094631591362355e+02 - -3.096028938900603e+02 -3.097426761063483e+02 -3.098825056148365e+02 -3.100223825845469e+02 -3.101623071983122e+02 - -3.103022793549238e+02 -3.104422989228102e+02 -3.105823659329897e+02 -3.107224804626276e+02 -3.108626426108901e+02 - -3.110028524323948e+02 -3.111431097815640e+02 -3.112834145351391e+02 -3.114237668593314e+02 -3.115641669247677e+02 - -3.117046146302696e+02 -3.118451098470761e+02 -3.119856526079039e+02 -3.121262429897644e+02 -3.122668810853719e+02 - -3.124075669478935e+02 -3.125483004566077e+02 -3.126890815070839e+02 -3.128299102339429e+02 -3.129707867704560e+02 - -3.131117110054437e+02 -3.132526828292356e+02 -3.133937023826453e+02 -3.135347698019019e+02 -3.136758849544115e+02 - -3.138170476993112e+02 -3.139582581314797e+02 -3.140995163841689e+02 -3.142408225083815e+02 -3.143821765079714e+02 - -3.145235782804463e+02 -3.146650277504123e+02 -3.148065250572144e+02 -3.149480703283944e+02 -3.150896634295446e+02 - -3.152313042212708e+02 -3.153729928061792e+02 -3.155147293192109e+02 -3.156565137826469e+02 -3.157983461803634e+02 - -3.159402264552761e+02 -3.160821545730877e+02 -3.162241306316100e+02 -3.163661547129774e+02 -3.165082267045055e+02 - -3.166503465083330e+02 -3.167925142807053e+02 -3.169347301718565e+02 -3.170769940538677e+02 -3.172193057829434e+02 - -3.173616654299331e+02 -3.175040731106142e+02 -3.176465289058318e+02 -3.177890328440690e+02 -3.179315847792938e+02 - -3.180741845934695e+02 -3.182168324550577e+02 -3.183595285351408e+02 -3.185022727287870e+02 -3.186450649049847e+02 - -3.187879051044167e+02 -3.189307934072479e+02 -3.190737298798787e+02 -3.192167145562098e+02 -3.193597473539087e+02 - -3.195028282067584e+02 -3.196459572292360e+02 -3.197891345287240e+02 -3.199323600035334e+02 -3.200756335516368e+02 - -3.202189552787263e+02 -3.203623252990410e+02 -3.205057435532916e+02 -3.206492099607363e+02 -3.207927245283494e+02 - -3.209362873029775e+02 -3.210798984032395e+02 -3.212235579095965e+02 -3.213672656781062e+02 -3.215110215776564e+02 - -3.216548257528610e+02 -3.217986783602123e+02 -3.219425793279964e+02 -3.220865285490494e+02 -3.222305260026159e+02 - -3.223745717228416e+02 -3.225186658770672e+02 -3.226628085862362e+02 -3.228069996525048e+02 -3.229512388959131e+02 - -3.230955265268207e+02 -3.232398627556209e+02 -3.233842474025269e+02 -3.235286802821290e+02 -3.236731615767077e+02 - -3.238176914785998e+02 -3.239622698526831e+02 -3.241068965416273e+02 -3.242515716267282e+02 -3.243962952303619e+02 - -3.245410674006047e+02 -3.246858881442026e+02 -3.248307573768830e+02 -3.249756750377737e+02 -3.251206412506237e+02 - -3.252656561247559e+02 -3.254107195271718e+02 -3.255558313340717e+02 -3.257009917007768e+02 -3.258462007853361e+02 - -3.259914584775946e+02 -3.261367646471811e+02 -3.262821193510638e+02 -3.264275226864755e+02 -3.265729747243638e+02 - -3.267184754961565e+02 -3.268640249014856e+02 -3.270096228564299e+02 -3.271552694746495e+02 -3.273009648690628e+02 - -3.274467089520415e+02 -3.275925016223748e+02 -3.277383429250694e+02 -3.278842329472037e+02 -3.280301717979274e+02 - -3.281761595333842e+02 -3.283221959756238e+02 -3.284682809773962e+02 -3.286144147483458e+02 -3.287605974914733e+02 - -3.289068290263132e+02 -3.290531091681708e+02 -3.291994380988984e+02 -3.293458160115122e+02 -3.294922427771376e+02 - -3.296387182388717e+02 -3.297852424495862e+02 -3.299318155124273e+02 -3.300784375218649e+02 -3.302251085265343e+02 - -3.303718284004092e+02 -3.305185970357408e+02 -3.306654145725511e+02 -3.308122811494171e+02 -3.309591966513669e+02 - -3.311061609508276e+02 -3.312531741233722e+02 -3.314002362831168e+02 -3.315473474952068e+02 -3.316945077733321e+02 - -3.318417169743284e+02 -3.319889749946440e+02 -3.321362820460264e+02 -3.322836383216903e+02 -3.324310436254205e+02 - -3.325784977579187e+02 -3.327260008969810e+02 -3.328735532388732e+02 -3.330211546766479e+02 -3.331688050699581e+02 - -3.333165044480712e+02 -3.334642528918999e+02 -3.336120505193238e+02 -3.337598974031960e+02 -3.339077933992973e+02 - -3.340557383761620e+02 -3.342037324704123e+02 -3.343517758263186e+02 -3.344998683506588e+02 -3.346480099317598e+02 - -3.347962006216366e+02 -3.349444405123485e+02 -3.350927296924430e+02 -3.352410681997821e+02 -3.353894558729969e+02 - -3.355378925848257e+02 -3.356863785436656e+02 -3.358349139484366e+02 -3.359834986244929e+02 -3.361321323883865e+02 - -3.362808153950241e+02 -3.364295478191028e+02 -3.365783295761255e+02 -3.367271605486342e+02 -3.368760407465185e+02 - -3.370249702279324e+02 -3.371739491167402e+02 -3.373229774932894e+02 -3.374720551981496e+02 -3.376211820935624e+02 - -3.377703583682330e+02 -3.379195842066430e+02 -3.380688594499171e+02 -3.382181839217990e+02 -3.383675577198622e+02 - -3.385169809890102e+02 -3.386664537896355e+02 -3.388159761271593e+02 -3.389655478716282e+02 -3.391151689236262e+02 - -3.392648394412631e+02 -3.394145595795439e+02 -3.395643292235305e+02 -3.397141482525620e+02 -3.398640167930273e+02 - -3.400139349724158e+02 -3.401639026755699e+02 -3.403139197760493e+02 -3.404639863449279e+02 -3.406141024957107e+02 - -3.407642683141136e+02 -3.409144838324194e+02 -3.410647488969659e+02 -3.412150633828331e+02 -3.413654274660125e+02 - -3.415158413252182e+02 -3.416663048491409e+02 -3.418168178992377e+02 -3.419673805180489e+02 -3.421179927901010e+02 - -3.422686547867838e+02 -3.424193665441726e+02 -3.425701279702224e+02 -3.427209389917095e+02 -3.428717997388184e+02 - -3.430227103286458e+02 -3.431736706225328e+02 -3.433246804902436e+02 -3.434757400909901e+02 -3.436268495884827e+02 - -3.437780088749811e+02 -3.439292178162220e+02 -3.440804764432992e+02 -3.442317848369893e+02 -3.443831431114438e+02 - -3.445345513395477e+02 -3.446860093957458e+02 -3.448375171638715e+02 -3.449890747637513e+02 -3.451406823209921e+02 - -3.452923397483303e+02 -3.454440469383874e+02 -3.455958039161959e+02 -3.457476107544265e+02 -3.458994675838882e+02 - -3.460513744837874e+02 -3.462033312687789e+02 -3.463553377809081e+02 -3.465073942363314e+02 -3.466595008454457e+02 - -3.468116574214998e+02 -3.469638637732855e+02 -3.471161200889126e+02 -3.472684265676839e+02 -3.474207830743587e+02 - -3.475731894457752e+02 -3.477256457416318e+02 -3.478781520698926e+02 -3.480307085087305e+02 -3.481833150905516e+02 - -3.483359716944890e+02 -3.484886782275422e+02 -3.486414348614480e+02 -3.487942417546251e+02 -3.489470987474849e+02 - -3.491000056682386e+02 -3.492529626143035e+02 -3.494059697303613e+02 -3.495590270809477e+02 -3.497121346735108e+02 - -3.498652923672977e+02 -3.500185000578142e+02 -3.501717579338015e+02 -3.503250661735650e+02 -3.504784246204307e+02 - -3.506318331106053e+02 -3.507852917867942e+02 -3.509388008057230e+02 -3.510923600737020e+02 -3.512459694729739e+02 - -3.513996290399252e+02 -3.515533388531561e+02 -3.517070990059733e+02 -3.518609095547224e+02 -3.520147703931951e+02 - -3.521686814254426e+02 -3.523226427591028e+02 -3.524766545004363e+02 -3.526307165466042e+02 -3.527848288024159e+02 - -3.529389914123712e+02 -3.530932045168612e+02 -3.532474680001527e+02 -3.534017817301934e+02 -3.535561457657783e+02 - -3.537105602073667e+02 -3.538650251312291e+02 -3.540195405716707e+02 -3.541741064193253e+02 -3.543287225825957e+02 - -3.544833891846346e+02 -3.546381063473606e+02 -3.547928739730113e+02 -3.549476919508821e+02 -3.551025603381796e+02 - -3.552574792297605e+02 -3.554124487031720e+02 -3.555674687945711e+02 -3.557225393918643e+02 -3.558776604020463e+02 - -3.560328319567154e+02 -3.561880541805177e+02 -3.563433269456882e+02 -3.564986501330765e+02 -3.566540239103983e+02 - -3.568094484429710e+02 -3.569649235996524e+02 -3.571204492251743e+02 -3.572760253642205e+02 -3.574316521198430e+02 - -3.575873296286128e+02 -3.577430579645793e+02 -3.578988369181832e+02 -3.580546663122107e+02 -3.582105463824335e+02 - -3.583664773634632e+02 -3.585224590722860e+02 -3.586784912980774e+02 -3.588345741363943e+02 -3.589907077420278e+02 - -3.591468922003262e+02 -3.593031275347307e+02 -3.594594135904955e+02 -3.596157502414973e+02 -3.597721376542854e+02 - -3.599285759961583e+02 -3.600850651447366e+02 -3.602416049709182e+02 -3.603981956083848e+02 -3.605548371920680e+02 - -3.607115295991184e+02 -3.608682726958015e+02 -3.610250665626241e+02 -3.611819113190277e+02 -3.613388070259530e+02 - -3.614957536972620e+02 -3.616527512170044e+02 -3.618097994957786e+02 -3.619668986801910e+02 -3.621240489112448e+02 - -3.622812500715253e+02 -3.624385020268735e+02 -3.625958048345691e+02 -3.627531585959862e+02 -3.629105633974360e+02 - -3.630680192762735e+02 -3.632255260890885e+02 -3.633830837209757e+02 -3.635406923518125e+02 -3.636983521500620e+02 - -3.638560629437486e+02 -3.640138245654421e+02 -3.641716372063300e+02 -3.643295010634408e+02 -3.644874159985495e+02 - -3.646453818454157e+02 -3.648033986609884e+02 -3.649614665547653e+02 -3.651195856232492e+02 -3.652777559169987e+02 - -3.654359773157880e+02 -3.655942497193339e+02 -3.657525732779061e+02 -3.659109481367831e+02 -3.660693741707290e+02 - -3.662278512419212e+02 -3.663863794327037e+02 -3.665449588644519e+02 -3.667035895945005e+02 -3.668622716357800e+02 - -3.670210048876434e+02 -3.671797892763418e+02 -3.673386249492966e+02 -3.674975120447079e+02 -3.676564504427247e+02 - -3.678154400208724e+02 -3.679744809042344e+02 -3.681335732252156e+02 -3.682927168979475e+02 -3.684519118222935e+02 - -3.686111580593141e+02 -3.687704557033292e+02 -3.689298048205014e+02 -3.690892054329191e+02 -3.692486574145354e+02 - -3.694081606700869e+02 -3.695677153755793e+02 -3.697273216946131e+02 -3.698869794698993e+02 -3.700466885253786e+02 - -3.702064489307988e+02 -3.703662608017668e+02 -3.705261241915196e+02 -3.706860391012269e+02 -3.708460053861607e+02 - -3.710060229388483e+02 -3.711660919467376e+02 -3.713262125796104e+02 -3.714863846416646e+02 -3.716466079328989e+02 - -3.718068826020972e+02 -3.719672088201144e+02 -3.721275864973102e+02 -3.722880155098476e+02 -3.724484958575989e+02 - -3.726090275883345e+02 -3.727696108177087e+02 -3.729302456171431e+02 -3.730909318132427e+02 -3.732516692484294e+02 - -3.734124580732086e+02 -3.735732984485285e+02 -3.737341902690280e+02 -3.738951333966488e+02 -3.740561278288502e+02 - -3.742171736164895e+02 -3.743782708884933e+02 -3.745394197314636e+02 -3.747006199846337e+02 -3.748618715145197e+02 - -3.750231745441332e+02 -3.751845292967938e+02 -3.753459356405600e+02 -3.755073934398666e+02 -3.756689028999150e+02 - -3.758304642401999e+02 -3.759920773966298e+02 -3.761537422764503e+02 -3.763154589558405e+02 -3.764772275566993e+02 - -3.766390482148706e+02 -3.768009210261144e+02 -3.769628459119104e+02 -3.771248228066682e+02 -3.772868518707951e+02 - -3.774489332703654e+02 -3.776110669681248e+02 -3.777732529036114e+02 -3.779354911268638e+02 -3.780977817328078e+02 - -3.782601248854201e+02 -3.784225207068740e+02 -3.785849690830777e+02 -3.787474699201715e+02 -3.789100234414875e+02 - -3.790726298611719e+02 -3.792352890394379e+02 -3.793980008403989e+02 -3.795607654977005e+02 -3.797235832511840e+02 - -3.798864539959452e+02 -3.800493775732837e+02 -3.802123539540593e+02 -3.803753831256555e+02 -3.805384650119894e+02 - -3.807015994897982e+02 -3.808647863105625e+02 -3.810280252452890e+02 -3.811913162683451e+02 -3.813546593533040e+02 - -3.815180542672069e+02 -3.816815007606327e+02 -3.818449987248433e+02 -3.820085480876401e+02 -3.821721487823003e+02 - -3.823358007029311e+02 -3.824995035814819e+02 -3.826632571794644e+02 -3.828270615387958e+02 -3.829909166775790e+02 - -3.831548222382581e+02 -3.833187778788636e+02 -3.834827836954302e+02 -3.836468397830658e+02 -3.838109457951704e+02 - -3.839751013606573e+02 -3.841393064522010e+02 -3.843035610985582e+02 -3.844678652090594e+02 -3.846322186342679e+02 - -3.847966211091070e+02 -3.849610723938522e+02 -3.851255724658270e+02 -3.852901213276589e+02 -3.854547188661456e+02 - -3.856193651039130e+02 -3.857840607227301e+02 -3.859488064858506e+02 -3.861136028233281e+02 -3.862784501283425e+02 - -3.864433489797775e+02 -3.866083000045549e+02 -3.867733038360474e+02 -3.869383610689728e+02 -3.871034721369783e+02 - -3.872686374886131e+02 -3.874338577931016e+02 -3.875991337168530e+02 -3.877644656943423e+02 -3.879298541437876e+02 - -3.880952996503134e+02 -3.882608028487801e+02 -3.884263644060860e+02 -3.885919849359946e+02 -3.887576648076931e+02 - -3.889234044110585e+02 -3.890892044633024e+02 -3.892550656828005e+02 -3.894209884652491e+02 -3.895869732058733e+02 - -3.897530206206903e+02 -3.899191314265681e+02 -3.900853060229904e+02 -3.902515447813749e+02 -3.904178482782592e+02 - -3.905842171832736e+02 -3.907506523333024e+02 -3.909171542011455e+02 -3.910837216360146e+02 -3.912503530200719e+02 - -3.914170464908692e+02 -3.915838000867597e+02 -3.917506116939103e+02 -3.919174791997058e+02 -3.920844006485843e+02 - -3.922513741233318e+02 -3.924183977030698e+02 -3.925854694180132e+02 -3.927525871064144e+02 -3.929197486330507e+02 - -3.930869521607613e+02 -3.932541958513385e+02 -3.934214775643266e+02 -3.935887951493436e+02 -3.937561467185514e+02 - -3.939235303999417e+02 -3.940909441222876e+02 -3.942583857858931e+02 -3.944258533764072e+02 -3.945933449213566e+02 - -3.947608585304349e+02 -3.949283922804248e+02 -3.950959440342958e+02 -3.952635116636291e+02 -3.954310932882606e+02 - -3.955986870327357e+02 -3.957662907921835e+02 -3.959339024467546e+02 -3.961015200461023e+02 -3.962691416638499e+02 - 1.070000000000000e-01 1.069682658750319e-01 1.069365186252596e-01 1.069047582677665e-01 1.068729848196356e-01 - 1.068411982979503e-01 1.068093987197937e-01 1.067775861022493e-01 1.067457604624000e-01 1.067139218173294e-01 - 1.066820701841205e-01 1.066502055798566e-01 1.066183280216209e-01 1.065864375264968e-01 1.065545341115673e-01 - 1.065226177939159e-01 1.064906885906257e-01 1.064587465187799e-01 1.064267915954618e-01 1.063948238377547e-01 - 1.063628432627417e-01 1.063308498875062e-01 1.062988437291314e-01 1.062668248047005e-01 1.062347931312967e-01 - 1.062027487260033e-01 1.061706916059036e-01 1.061386217880807e-01 1.061065392896180e-01 1.060744441275985e-01 - 1.060423363191058e-01 1.060102158812228e-01 1.059780828310330e-01 1.059459371856195e-01 1.059137789620655e-01 - 1.058816081774544e-01 1.058494248488693e-01 1.058172289933936e-01 1.057850206281103e-01 1.057527997701029e-01 - 1.057205664364545e-01 1.056883206442483e-01 1.056560624105677e-01 1.056237917524958e-01 1.055915086871159e-01 - 1.055592132315112e-01 1.055269054027650e-01 1.054945852179606e-01 1.054622526941811e-01 1.054299078485097e-01 - 1.053975506980299e-01 1.053651812598247e-01 1.053327995509774e-01 1.053004055885713e-01 1.052679993896897e-01 - 1.052355809714157e-01 1.052031503508325e-01 1.051707075450236e-01 1.051382525710719e-01 1.051057854460610e-01 - 1.050733061870738e-01 1.050408148111938e-01 1.050083113355042e-01 1.049757957770881e-01 1.049432681530288e-01 - 1.049107284804097e-01 1.048781767763138e-01 1.048456130578245e-01 1.048130373420250e-01 1.047804496459986e-01 - 1.047478499868284e-01 1.047152383815977e-01 1.046826148473898e-01 1.046499794012880e-01 1.046173320603753e-01 - 1.045846728417352e-01 1.045520017624508e-01 1.045193188396054e-01 1.044866240902822e-01 1.044539175315645e-01 - 1.044211991805354e-01 1.043884690542783e-01 1.043557271698764e-01 1.043229735444130e-01 1.042902081949712e-01 - 1.042574311386343e-01 1.042246423924855e-01 1.041918419736082e-01 1.041590298990855e-01 1.041262061860007e-01 - 1.040933708514369e-01 1.040605239124776e-01 1.040276653862059e-01 1.039947952897050e-01 1.039619136400582e-01 - 1.039290204543487e-01 1.038961157496599e-01 1.038631995430748e-01 1.038302718516768e-01 1.037973326925491e-01 - 1.037643820827749e-01 1.037314200394375e-01 1.036984465796201e-01 1.036654617204061e-01 1.036324654788785e-01 - 1.035994578721206e-01 1.035664389172158e-01 1.035334086312472e-01 1.035003670312980e-01 1.034673141344516e-01 - 1.034342499577912e-01 1.034011745183999e-01 1.033680878333612e-01 1.033349899197580e-01 1.033018807946739e-01 - 1.032687604751918e-01 1.032356289783953e-01 1.032024863213673e-01 1.031693325211913e-01 1.031361675949504e-01 - 1.031029915597278e-01 1.030698044326069e-01 1.030366062306709e-01 1.030033969710030e-01 1.029701766706864e-01 - 1.029369453468044e-01 1.029037030164402e-01 1.028704496966771e-01 1.028371854045984e-01 1.028039101572872e-01 - 1.027706239718267e-01 1.027373268653004e-01 1.027040188547913e-01 1.026706999573827e-01 1.026373701901580e-01 - 1.026040295702002e-01 1.025706781145926e-01 1.025373158404186e-01 1.025039427647613e-01 1.024705589047040e-01 - 1.024371642773299e-01 1.024037588997223e-01 1.023703427889643e-01 1.023369159621393e-01 1.023034784363305e-01 - 1.022700302286212e-01 1.022365713560945e-01 1.022031018358337e-01 1.021696216849221e-01 1.021361309204428e-01 - 1.021026295594792e-01 1.020691176191145e-01 1.020355951164319e-01 1.020020620685147e-01 1.019685184924461e-01 - 1.019349644053093e-01 1.019013998241876e-01 1.018678247661643e-01 1.018342392483225e-01 1.018006432877456e-01 - 1.017670369015167e-01 1.017334201067191e-01 1.016997929204361e-01 1.016661553597508e-01 1.016325074417466e-01 - 1.015988491835066e-01 1.015651806021141e-01 1.015315017146524e-01 1.014978125382047e-01 1.014641130898543e-01 - 1.014304033866843e-01 1.013966834457780e-01 1.013629532842187e-01 1.013292129190896e-01 1.012954623674739e-01 - 1.012617016464549e-01 1.012279307731159e-01 1.011941497645400e-01 1.011603586378106e-01 1.011265574100107e-01 - 1.010927460982239e-01 1.010589247195331e-01 1.010250932910217e-01 1.009912518297729e-01 1.009574003528701e-01 - 1.009235388773963e-01 1.008896674204348e-01 1.008557859990690e-01 1.008218946303820e-01 1.007879933314571e-01 - 1.007540821193774e-01 1.007201610112264e-01 1.006862300240872e-01 1.006522891750429e-01 1.006183384811770e-01 - 1.005843779595726e-01 1.005504076273130e-01 1.005164275014813e-01 1.004824375991610e-01 1.004484379374351e-01 - 1.004144285333870e-01 1.003804094040999e-01 1.003463805666569e-01 1.003123420381414e-01 1.002782938356367e-01 - 1.002442359762259e-01 1.002101684769922e-01 1.001760913550190e-01 1.001420046273895e-01 1.001079083111869e-01 - 1.000738024234945e-01 1.000396869813954e-01 1.000055620019730e-01 9.997142750231042e-02 9.993728349949102e-02 - 9.990313001059796e-02 9.986896705271456e-02 9.983479464292398e-02 9.980061279830947e-02 9.976642153595434e-02 - 9.973222087294174e-02 9.969801082635499e-02 9.966379141327726e-02 9.962956265079187e-02 9.959532455598200e-02 - 9.956107714593093e-02 9.952682043772192e-02 9.949255444843813e-02 9.945827919516288e-02 9.942399469497937e-02 - 9.938970096497086e-02 9.935539802222057e-02 9.932108588381178e-02 9.928676456682770e-02 9.925243408835159e-02 - 9.921809446546671e-02 9.918374571525623e-02 9.914938785480347e-02 9.911502090119163e-02 9.908064487150398e-02 - 9.904625978282372e-02 9.901186565223413e-02 9.897746249681845e-02 9.894305033365988e-02 9.890862917984172e-02 - 9.887419905244718e-02 9.883975996855951e-02 9.880531194526194e-02 9.877085499963774e-02 9.873638914877009e-02 - 9.870191440974231e-02 9.866743079963761e-02 9.863293833553920e-02 9.859843703453038e-02 9.856392691369432e-02 - 9.852940799011436e-02 9.849488028087365e-02 9.846034380305550e-02 9.842579857374308e-02 9.839124461001970e-02 - 9.835668192896858e-02 9.832211054767293e-02 9.828753048321603e-02 9.825294175268109e-02 9.821834437315143e-02 - 9.818373836171017e-02 9.814912373544066e-02 9.811450051142606e-02 9.807986870674969e-02 9.804522833849474e-02 - 9.801057942374444e-02 9.797592197958208e-02 9.794125602309085e-02 9.790658157135405e-02 9.787189864145487e-02 - 9.783720725047659e-02 9.780250741550246e-02 9.776779915361565e-02 9.773308248189948e-02 9.769835741743713e-02 - 9.766362397731190e-02 9.762888217860698e-02 9.759413203840565e-02 9.755937357379113e-02 9.752460680184671e-02 - 9.748983173965557e-02 9.745504840430097e-02 9.742025681286617e-02 9.738545698243438e-02 9.735064893008888e-02 - 9.731583267291286e-02 9.728100822798963e-02 9.724617561240236e-02 9.721133484323437e-02 9.717648593756885e-02 - 9.714162891248904e-02 9.710676378507821e-02 9.707189057241956e-02 9.703700929159639e-02 9.700211995969188e-02 - 9.696722259378933e-02 9.693231721097194e-02 9.689740382832296e-02 9.686248246292567e-02 9.682755313186324e-02 - 9.679261585221899e-02 9.675767064107609e-02 9.672271751551782e-02 9.668775649262741e-02 9.665278758948814e-02 - 9.661781082318323e-02 9.658282621079586e-02 9.654783376940938e-02 9.651283351610694e-02 9.647782546797186e-02 - 9.644280964208730e-02 9.640778605553657e-02 9.637275472540287e-02 9.633771566876947e-02 9.630266890271960e-02 - 9.626761444433649e-02 9.623255231070338e-02 9.619748251890356e-02 9.616240508602021e-02 9.612732002913663e-02 - 9.609222736533599e-02 9.605712711170160e-02 9.602201928531666e-02 9.598690390326445e-02 9.595178098262819e-02 - 9.591665054049109e-02 9.588151259393644e-02 9.584636716004745e-02 9.581121425590743e-02 9.577605389859950e-02 - 9.574088610520702e-02 9.570571089281314e-02 9.567052827850117e-02 9.563533827935435e-02 9.560014091245586e-02 - 9.556493619488900e-02 9.552972414373699e-02 9.549450477608308e-02 9.545927810901049e-02 9.542404415960248e-02 - 9.538880294494230e-02 9.535355448211316e-02 9.531829878819836e-02 9.528303588028109e-02 9.524776577544461e-02 - 9.521248849077216e-02 9.517720404334697e-02 9.514191245025229e-02 9.510661372857139e-02 9.507130789538748e-02 - 9.503599496778380e-02 9.500067496284360e-02 9.496534789765015e-02 9.493001378928664e-02 9.489467265483635e-02 - 9.485932451138250e-02 9.482396937600834e-02 9.478860726579713e-02 9.475323819783207e-02 9.471786218919645e-02 - 9.468247925697347e-02 9.464708941824643e-02 9.461169269009850e-02 9.457628908961296e-02 9.454087863387305e-02 - 9.450546133996199e-02 9.447003722496307e-02 9.443460630595948e-02 9.439916860003450e-02 9.436372412427137e-02 - 9.432827289575330e-02 9.429281493156354e-02 9.425735024878537e-02 9.422187886450198e-02 9.418640079579664e-02 - 9.415091605975259e-02 9.411542467345307e-02 9.407992665398136e-02 9.404442201842063e-02 9.400891078385415e-02 - 9.397339296736518e-02 9.393786858603695e-02 9.390233765695270e-02 9.386680019719568e-02 9.383125622384911e-02 - 9.379570575399625e-02 9.376014880472036e-02 9.372458539310466e-02 9.368901553623238e-02 9.365343925118678e-02 - 9.361785655505112e-02 9.358226746490858e-02 9.354667199784246e-02 9.351107017093598e-02 9.347546200127239e-02 - 9.343984750593494e-02 9.340422670200685e-02 9.336859960657137e-02 9.333296623671174e-02 9.329732660951121e-02 - 9.326168074205300e-02 9.322602865142039e-02 9.319037035469660e-02 9.315470586896488e-02 9.311903521130845e-02 - 9.308335839881057e-02 9.304767544855448e-02 9.301198637762342e-02 9.297629120310064e-02 9.294058994206936e-02 - 9.290488261161287e-02 9.286916922881436e-02 9.283344981075708e-02 9.279772437452428e-02 9.276199293719922e-02 - 9.272625551586512e-02 9.269051212760523e-02 9.265476278950278e-02 9.261900751864104e-02 9.258324633210324e-02 - 9.254747924697261e-02 9.251170628033240e-02 9.247592744926583e-02 9.244014277085617e-02 9.240435226218666e-02 - 9.236855594034055e-02 9.233275382240104e-02 9.229694592545142e-02 9.226113226657491e-02 9.222531286285476e-02 - 9.218948773137420e-02 9.215365688921646e-02 9.211782035346482e-02 9.208197814120249e-02 9.204613026951274e-02 - 9.201027675547878e-02 9.197441761618388e-02 9.193855286871126e-02 9.190268253014419e-02 9.186680661756588e-02 - 9.183092514805957e-02 9.179503813870854e-02 9.175914560659600e-02 9.172324756880521e-02 9.168734404241941e-02 - 9.165143504452181e-02 9.161552059219569e-02 9.157960070252427e-02 9.154367539259080e-02 9.150774467947854e-02 - 9.147180858027071e-02 9.143586711205055e-02 9.139992029190132e-02 9.136396813690625e-02 9.132801066414858e-02 - 9.129204789071155e-02 9.125607983367841e-02 9.122010651013239e-02 9.118412793715676e-02 9.114814413183472e-02 - 9.111215511124955e-02 9.107616089248448e-02 9.104016149262276e-02 9.100415692874760e-02 9.096814721794225e-02 - 9.093213237728998e-02 9.089611242387401e-02 9.086008737477760e-02 9.082405724708396e-02 9.078802205787638e-02 - 9.075198182423806e-02 9.071593656325225e-02 9.067988629200220e-02 9.064383102757116e-02 9.060777078704237e-02 - 9.057170558749904e-02 9.053563544602444e-02 9.049956037970180e-02 9.046348040561442e-02 9.042739554084545e-02 - 9.039130580247817e-02 9.035521120759583e-02 9.031911177328168e-02 9.028300751661894e-02 9.024689845469086e-02 - 9.021078460458068e-02 9.017466598337168e-02 9.013854260814702e-02 9.010241449599002e-02 9.006628166398388e-02 - 9.003014412921184e-02 8.999400190875718e-02 8.995785501970310e-02 8.992170347913286e-02 8.988554730412972e-02 - 8.984938651177689e-02 8.981322111915761e-02 8.977705114335516e-02 8.974087660145275e-02 8.970469751053363e-02 - 8.966851388768103e-02 8.963232574997822e-02 8.959613311450842e-02 8.955993599835491e-02 8.952373441860086e-02 - 8.948752839232957e-02 8.945131793662427e-02 8.941510306856817e-02 8.937888380524456e-02 8.934266016373665e-02 - 8.930643216112769e-02 8.927019981450095e-02 8.923396314093963e-02 8.919772215752698e-02 8.916147688134625e-02 - 8.912522732948071e-02 8.908897351901354e-02 8.905271546702803e-02 8.901645319060740e-02 8.898018670683491e-02 - 8.894391603279379e-02 8.890764118556729e-02 8.887136218223864e-02 8.883507903989107e-02 8.879879177560786e-02 - 8.876250040647221e-02 8.872620494956741e-02 8.868990542197666e-02 8.865360184078323e-02 8.861729422307035e-02 - 8.858098258592126e-02 8.854466694641919e-02 8.850834732164740e-02 8.847202372868912e-02 8.843569618462761e-02 - 8.839936470654611e-02 8.836302931152785e-02 8.832669001665606e-02 8.829034683901400e-02 8.825399979568492e-02 - 8.821764890375206e-02 8.818129418029862e-02 8.814493564240788e-02 8.810857330716310e-02 8.807220719164749e-02 - 8.803583731294432e-02 8.799946368813677e-02 8.796308633430815e-02 8.792670526854167e-02 8.789032050792057e-02 - 8.785393206952812e-02 8.781753997044753e-02 8.778114422776205e-02 8.774474485855495e-02 8.770834187990943e-02 - 8.767193530890875e-02 8.763552516263615e-02 8.759911145817488e-02 8.756269421260816e-02 8.752627344301928e-02 - 8.748984916649143e-02 8.745342140010788e-02 8.741699016095185e-02 8.738055546610660e-02 8.734411733265539e-02 - 8.730767577768141e-02 8.727123081826793e-02 8.723478247149821e-02 8.719833075445547e-02 8.716187568422298e-02 - 8.712541727788393e-02 8.708895555252159e-02 8.705249052521923e-02 8.701602221306004e-02 8.697955063312730e-02 - 8.694307580250422e-02 8.690659773827408e-02 8.687011645752010e-02 8.683363197732555e-02 8.679714431477362e-02 - 8.676065348694757e-02 8.672415951093065e-02 8.668766240380611e-02 8.665116218265721e-02 8.661465886456714e-02 - 8.657815246661917e-02 8.654164300589655e-02 8.650513049948251e-02 8.646861496446030e-02 8.643209641791315e-02 - 8.639557487692430e-02 8.635905035857701e-02 8.632252287995451e-02 8.628599245814005e-02 8.624945911021686e-02 - 8.621292285326819e-02 8.617638370437727e-02 8.613984168062737e-02 8.610329679910171e-02 8.606674907688353e-02 - 8.603019853105608e-02 8.599364517870259e-02 8.595708903690633e-02 8.592053012275053e-02 8.588396845331842e-02 - 8.584740404569323e-02 8.581083691695822e-02 8.577426708419665e-02 8.573769456449173e-02 8.570111937492672e-02 - 8.566454153258486e-02 8.562796105454940e-02 8.559137795790356e-02 8.555479225973059e-02 8.551820397711374e-02 - 8.548161312713624e-02 8.544501972688134e-02 8.540842379343229e-02 8.537182534387232e-02 8.533522439528468e-02 - 8.529862096475260e-02 8.526201506935933e-02 8.522540672618811e-02 8.518879595232219e-02 8.515218276484479e-02 - 8.511556718083918e-02 8.507894921738858e-02 8.504232889157626e-02 8.500570622048544e-02 8.496908122119934e-02 - 8.493245391080124e-02 8.489582430637438e-02 8.485919242500198e-02 8.482255828376728e-02 8.478592189975355e-02 - 8.474928329004400e-02 8.471264247172190e-02 8.467599946187047e-02 8.463935427757298e-02 8.460270693591267e-02 - 8.456605745397273e-02 8.452940584883646e-02 8.449275213758706e-02 8.445609633730780e-02 8.441943846508193e-02 - 8.438277853799266e-02 8.434611657312326e-02 8.430945258755695e-02 8.427278659837699e-02 8.423611862266661e-02 - 8.419944867750905e-02 8.416277677998756e-02 8.412610294718537e-02 8.408942719618576e-02 8.405274954407191e-02 - 8.401607000792713e-02 8.397938860483460e-02 8.394270535187759e-02 8.390602026613936e-02 8.386933336470312e-02 - 8.383264466465212e-02 8.379595418306962e-02 8.375926193703884e-02 8.372256794364304e-02 8.368587221996546e-02 - 8.364917478308932e-02 8.361247565009787e-02 8.357577483807437e-02 8.353907236410206e-02 8.350236824526415e-02 - 8.346566249864391e-02 8.342895514132459e-02 8.339224619038943e-02 8.335553566292164e-02 8.331882357600448e-02 - 8.328210994672121e-02 8.324539479215504e-02 8.320867812938924e-02 8.317195997550704e-02 8.313524034759166e-02 - 8.309851926272641e-02 8.306179673799445e-02 8.302507279047908e-02 8.298834743726349e-02 8.295162069543097e-02 - 8.291489258206473e-02 8.287816311424805e-02 8.284143230906414e-02 8.280470018359624e-02 8.276796675492762e-02 - 8.273123204014149e-02 8.269449605632111e-02 8.265775882054972e-02 8.262102034991055e-02 8.258428066148686e-02 - 8.254753977236187e-02 8.251079769961885e-02 8.247405446034105e-02 8.243731007161166e-02 8.240056455051395e-02 - 8.236381791413117e-02 8.232707017954656e-02 8.229032136384334e-02 8.225357148410478e-02 8.221682055741411e-02 - 8.218006860085458e-02 8.214331563150944e-02 8.210656166646188e-02 8.206980672279519e-02 8.203305081759260e-02 - 8.199629396793737e-02 8.195953619091272e-02 8.192277750360188e-02 8.188601792308813e-02 8.184925746645468e-02 - 8.181249615078479e-02 8.177573399316168e-02 8.173897101066861e-02 8.170220722038883e-02 8.166544263940556e-02 - 8.162867728480205e-02 8.159191117366156e-02 8.155514432306732e-02 8.151837675010254e-02 8.148160847185050e-02 - 8.144483950539445e-02 8.140806986781760e-02 8.137129957620320e-02 8.133452864763450e-02 8.129775709919475e-02 - 8.126098494796720e-02 8.122421221103504e-02 8.118743890548155e-02 8.115066504838998e-02 8.111389065684355e-02 - 8.107711574792552e-02 8.104034033871912e-02 8.100356444630759e-02 8.096678808777417e-02 8.093001128020215e-02 - 8.089323404067471e-02 8.085645638627510e-02 8.081967833408658e-02 8.078289990119239e-02 8.074612110467576e-02 - 8.070934196161997e-02 8.067256248910820e-02 8.063578270422375e-02 8.059900262404983e-02 8.056222226566968e-02 - 8.052544164616657e-02 8.048866078262369e-02 8.045187969212433e-02 8.041509839175172e-02 8.037831689858911e-02 - 8.034153522971973e-02 8.030475340222681e-02 8.026797143319361e-02 8.023118933970336e-02 8.019440713883932e-02 - 8.015762484768471e-02 8.012084248332278e-02 8.008406006283678e-02 8.004727760330994e-02 8.001049512182555e-02 - 7.997371263546676e-02 7.993693016131688e-02 7.990014771645915e-02 7.986336531797676e-02 7.982658298295300e-02 - 7.978980072847111e-02 7.975301857161432e-02 7.971623652946590e-02 7.967945461910902e-02 7.964267285762699e-02 - 7.960589126210302e-02 7.956910984962039e-02 7.953232863726228e-02 7.949554764211197e-02 7.945876688125271e-02 - 7.942198637176773e-02 7.938520613074028e-02 7.934842617525358e-02 7.931164652239087e-02 7.927486718923542e-02 - 7.923808819287045e-02 7.920130955037924e-02 7.916453127884499e-02 7.912775339535094e-02 7.909097591698037e-02 - 7.905419886081648e-02 7.901742224394255e-02 7.898064608344180e-02 7.894387039639746e-02 7.890709519989279e-02 - 7.887032051101103e-02 7.883354634683543e-02 7.879677272444922e-02 7.875999966093565e-02 7.872322717337794e-02 - 7.868645527885937e-02 7.864968399446313e-02 7.861291333727252e-02 7.857614332437074e-02 7.853937397284104e-02 - 7.850260529976670e-02 7.846583732223091e-02 7.842907005731693e-02 7.839230352210801e-02 7.835553773368738e-02 - 7.831877270913830e-02 7.828200846554398e-02 7.824524501998768e-02 7.820848238955266e-02 7.817172059132216e-02 - 7.813495964237939e-02 7.809819955980761e-02 7.806144036069006e-02 7.802468206210998e-02 7.798792468115062e-02 - 7.795116823489523e-02 7.791441274042703e-02 7.787765821482928e-02 7.784090467518520e-02 7.780415213857807e-02 - 7.776740062209107e-02 7.773065014280750e-02 7.769390071781057e-02 7.765715236418354e-02 7.762040509900967e-02 - 7.758365893937215e-02 7.754691390235426e-02 7.751017000503922e-02 7.747342726451029e-02 7.743668569785070e-02 - 7.739994532214370e-02 7.736320615447252e-02 7.732646821192042e-02 7.728973151157063e-02 7.725299607050642e-02 - 7.721626190581099e-02 7.717952903456758e-02 7.714279747385946e-02 7.710606724076986e-02 7.706933835238206e-02 - 7.703261082577922e-02 7.699588467804465e-02 7.695915992626157e-02 7.692243658751323e-02 7.688571467888285e-02 - 7.684899421745368e-02 7.681227522030898e-02 7.677555770453198e-02 7.673884168720593e-02 7.670212718541405e-02 - 7.666541421623961e-02 7.662870279676583e-02 7.659199294407595e-02 7.655528467525324e-02 7.651857800738091e-02 - 7.648187295754222e-02 7.644516954282041e-02 7.640846778029871e-02 7.637176768706039e-02 7.633506928018867e-02 - 7.629837257676678e-02 7.626167759387799e-02 7.622498434860552e-02 7.618829285803264e-02 7.615160313924255e-02 - 7.611491520931853e-02 7.607822908534380e-02 7.604154478440163e-02 7.600486232357523e-02 7.596818171994783e-02 - 7.593150299060271e-02 7.589482615262309e-02 7.585815122309225e-02 7.582147821909338e-02 7.578480715770973e-02 - 7.574813805602458e-02 7.571147093112113e-02 7.567480580008265e-02 7.563814267999236e-02 7.560148158793352e-02 - 7.556482254098935e-02 7.552816555624312e-02 7.549151065077807e-02 7.545485784167741e-02 7.541820714602442e-02 - 7.538155858090231e-02 7.534491216339434e-02 7.530826791058375e-02 7.527162583955378e-02 7.523498596738766e-02 - 7.519834831116866e-02 7.516171288797999e-02 7.512507971490495e-02 7.508844880902671e-02 7.505182018742854e-02 - 7.501519386719367e-02 7.497856986540538e-02 7.494194819914687e-02 7.490532888550142e-02 7.486871194155223e-02 - 7.483209738438257e-02 7.479548523107570e-02 7.475887549871482e-02 7.472226820438319e-02 7.468566336516404e-02 - 7.464906099814063e-02 7.461246112039621e-02 7.457586374901400e-02 7.453926890107723e-02 7.450267659366919e-02 - 7.446608684387307e-02 7.442949966877216e-02 7.439291508544965e-02 7.435633311098883e-02 7.431975376247291e-02 - 7.428317705698513e-02 7.424660301160878e-02 7.421003164342704e-02 7.417346296952319e-02 7.413689700698045e-02 - 7.410033377288210e-02 7.406377328431132e-02 7.402721555835140e-02 7.399066061208556e-02 7.395410846259706e-02 - 7.391755912696915e-02 7.388101262228504e-02 7.384446896562798e-02 7.380792817408122e-02 7.377139026472800e-02 - 7.373485525465158e-02 7.369832316093516e-02 7.366179400066203e-02 7.362526779091538e-02 7.358874454877849e-02 - 7.355222429133459e-02 7.351570703566694e-02 7.347919279885876e-02 7.344268159799329e-02 7.340617345015378e-02 - 7.336966837242348e-02 7.333316638188561e-02 7.329666749562345e-02 7.326017173072021e-02 7.322367910425913e-02 - 7.318718963332346e-02 7.315070333499644e-02 7.311422022636133e-02 7.307774032450136e-02 7.304126364649975e-02 - 7.300479020943977e-02 7.296832003040465e-02 7.293185312647765e-02 7.289538951474199e-02 7.285892921228092e-02 - 7.282247223617767e-02 7.278601860351550e-02 7.274956833137766e-02 7.271312143684736e-02 7.267667793700786e-02 - 7.264023784894239e-02 7.260380118973422e-02 7.256736797646657e-02 7.253093822622268e-02 7.249451195608582e-02 - 7.245808918313920e-02 7.242166992446607e-02 7.238525419714967e-02 7.234884201827325e-02 7.231243340492007e-02 - 7.227602837417331e-02 7.223962694311627e-02 7.220322912883217e-02 7.216683494840427e-02 7.213044441891579e-02 - 7.209405755744998e-02 7.205767438109009e-02 7.202129490691934e-02 7.198491915202099e-02 7.194854713347830e-02 - 7.191217886837446e-02 7.187581437379276e-02 7.183945366681642e-02 7.180309676452867e-02 7.176674368401278e-02 - 7.173039444235199e-02 7.169404905662952e-02 7.165770754392863e-02 7.162136992133256e-02 7.158503620592453e-02 - 7.154870641478780e-02 7.151238056500563e-02 7.147605867366123e-02 7.143974075783785e-02 7.140342683461876e-02 - 7.136711692108716e-02 7.133081103432631e-02 7.129450919141947e-02 7.125821140944985e-02 7.122191770550071e-02 - 7.118562809665530e-02 7.114934259999683e-02 7.111306123260858e-02 7.107678401157377e-02 7.104051095397565e-02 - 7.100424207689746e-02 7.096797739742244e-02 7.093171693263382e-02 7.089546069961486e-02 7.085920871544882e-02 - 7.082296099721888e-02 7.078671756200834e-02 7.075047842690044e-02 7.071424360897838e-02 7.067801312532543e-02 - 7.064178699302483e-02 7.060556522915983e-02 7.056934785081363e-02 7.053313487506954e-02 7.049692631901075e-02 - 7.046072219972052e-02 7.042452253428211e-02 7.038832733977872e-02 7.035213663329361e-02 7.031595043191004e-02 - 7.027976875271123e-02 7.024359161278042e-02 7.020741902920087e-02 7.017125101905583e-02 7.013508759942851e-02 - 7.009892878740216e-02 7.006277460006004e-02 7.002662505448538e-02 6.999048016776144e-02 6.995433995697144e-02 - 6.991820443919861e-02 6.988207363152622e-02 6.984594755103750e-02 6.980982621481568e-02 6.977370963994402e-02 - 6.973759784350578e-02 6.970149084258416e-02 6.966538865426242e-02 6.962929129562380e-02 6.959319878375156e-02 - 6.955711113572893e-02 6.952102836863913e-02 6.948495049956542e-02 6.944887754559105e-02 6.941280952379927e-02 - 6.937674645127329e-02 6.934068834509637e-02 6.930463522235174e-02 6.926858710012268e-02 6.923254399549238e-02 - 6.919650592554411e-02 6.916047290736112e-02 6.912444495802665e-02 6.908842209462392e-02 6.905240433423616e-02 - 6.901639169394666e-02 6.898038419083864e-02 6.894438184199533e-02 6.890838466449999e-02 6.887239267543585e-02 - 6.883640589188617e-02 6.880042433093415e-02 6.876444800966307e-02 6.872847694515619e-02 6.869251115449670e-02 - 6.865655065476786e-02 6.862059546305292e-02 6.858464559643512e-02 6.854870107199770e-02 6.851276190682393e-02 - 6.847682811799699e-02 6.844089972260017e-02 6.840497673771671e-02 6.836905918042983e-02 6.833314706782279e-02 - 6.829724041697882e-02 6.826133924498116e-02 6.822544356891308e-02 6.818955340585779e-02 6.815366877289854e-02 - 6.811778968711857e-02 6.808191616560114e-02 6.804604822542948e-02 6.801018588368681e-02 6.797432915745642e-02 - 6.793847806382150e-02 6.790263261986533e-02 6.786679284267115e-02 6.783095874932217e-02 6.779513035690166e-02 - 6.775930768249286e-02 6.772349074317900e-02 6.768767955604332e-02 6.765187413816909e-02 6.761607450663952e-02 - 6.758028067853786e-02 6.754449267094738e-02 6.750871050095128e-02 6.747293418563281e-02 6.743716374207524e-02 - 6.740139918736179e-02 6.736564053857570e-02 6.732988781280023e-02 6.729414102711860e-02 6.725840019861405e-02 - 6.722266534436987e-02 6.718693648146923e-02 6.715121362699542e-02 6.711549679803168e-02 6.707978601166123e-02 - 6.704408128496732e-02 6.700838263503321e-02 6.697269007894212e-02 6.693700363377729e-02 6.690132331662198e-02 - 6.686564914455943e-02 6.682998113467287e-02 6.679431930404556e-02 6.675866366976070e-02 6.672301424890158e-02 - 6.668737105855144e-02 6.665173411579348e-02 6.661610343771096e-02 6.658047904138716e-02 6.654486094390526e-02 - 6.650924916234854e-02 6.647364371380024e-02 6.643804461534360e-02 6.640245188406185e-02 6.636686553703826e-02 - 6.633128559135604e-02 6.629571206409844e-02 6.626014497234871e-02 6.622458433319009e-02 6.618903016370581e-02 - 6.615348248097914e-02 6.611794130209329e-02 6.608240664413152e-02 6.604687852417708e-02 6.601135695931318e-02 - 6.597584196662311e-02 6.594033356319007e-02 6.590483176609731e-02 6.586933659242808e-02 6.583384805926563e-02 - 6.579836618369318e-02 6.576289098279399e-02 6.572742247365128e-02 6.569196067334833e-02 6.565650559896835e-02 - 6.562105726759460e-02 6.558561569631030e-02 6.555018090219872e-02 6.551475290234308e-02 6.547933171382664e-02 - 6.544391735373260e-02 6.540850983914427e-02 6.537310918714484e-02 6.533771541481756e-02 6.530232853924568e-02 - 6.526694857751246e-02 6.523157554670111e-02 6.519620946389489e-02 6.516085034617702e-02 6.512549821063078e-02 - 6.509015307433939e-02 6.505481495438609e-02 6.501948386785412e-02 6.498415983182672e-02 6.494884286338716e-02 - 6.491353297961865e-02 6.487823019760443e-02 6.484293453442776e-02 6.480764600717190e-02 6.477236463292005e-02 - 6.473709042875546e-02 6.470182341176141e-02 6.466656359902111e-02 6.463131100761778e-02 6.459606565463470e-02 - 6.456082755715510e-02 6.452559673226224e-02 6.449037319703932e-02 6.445515696856961e-02 6.441994806393636e-02 - 6.438474650022280e-02 6.434955229451217e-02 6.431436546388770e-02 6.427918602543267e-02 6.424401399623028e-02 - 6.420884939336380e-02 6.417369223391646e-02 6.413854253497149e-02 6.410340031361215e-02 6.406826558692170e-02 - 6.403313837198334e-02 6.399801868588033e-02 6.396290654569593e-02 6.392780196851335e-02 6.389270497141585e-02 - 6.385761557148667e-02 6.382253378580906e-02 6.378745963146625e-02 6.375239312554147e-02 6.371733428511799e-02 - 6.368228312727903e-02 6.364723966910786e-02 6.361220392768768e-02 6.357717592010177e-02 6.354215566343337e-02 - 6.350714317476568e-02 6.347213847118198e-02 6.343714156976551e-02 6.340215248759951e-02 6.336717124176720e-02 - 6.333219784935186e-02 6.329723232743668e-02 6.326227469310496e-02 6.322732496343991e-02 6.319238315552476e-02 - 6.315744928644278e-02 6.312252337327721e-02 6.308760543311126e-02 6.305269548302821e-02 6.301779354011129e-02 - 6.298289962144372e-02 6.294801374410877e-02 6.291313592518968e-02 6.287826618176968e-02 6.284340453093201e-02 - 6.280855098975993e-02 6.277370557533665e-02 6.273886830474544e-02 6.270403919506955e-02 6.266921826339220e-02 - 6.263440552679662e-02 6.259960100236607e-02 6.256480470718381e-02 6.253001665833306e-02 6.249523687289707e-02 - 6.246046536795907e-02 6.242570216060229e-02 6.239094726791002e-02 6.235620070696547e-02 6.232146249485187e-02 - 6.228673264865250e-02 6.225201118545055e-02 6.221729812232930e-02 6.218259347637199e-02 6.214789726466187e-02 - 6.211320950428215e-02 6.207853021231610e-02 6.204385940584693e-02 6.200919710195792e-02 6.197454331773228e-02 - 6.193989807025328e-02 6.190526137660414e-02 6.187063325386812e-02 6.183601371912845e-02 6.180140278946837e-02 - 6.176680048197113e-02 6.173220681371997e-02 6.169762180179813e-02 6.166304546328885e-02 6.162847781527538e-02 - 6.159391887484095e-02 6.155936865906880e-02 6.152482718504219e-02 6.149029446984435e-02 6.145577053055853e-02 - 6.142125538426796e-02 6.138674904805590e-02 6.135225153900557e-02 6.131776287420022e-02 6.128328307072310e-02 - 6.124881214565744e-02 6.121435011608650e-02 6.117989699909349e-02 6.114545281176169e-02 6.111101757117431e-02 - 6.107659129441460e-02 6.104217399856583e-02 6.100776570071121e-02 6.097336641793399e-02 6.093897616731742e-02 - 6.090459496594473e-02 6.087022283089916e-02 6.083585977926396e-02 6.080150582812238e-02 6.076716099455765e-02 - 6.073282529565302e-02 6.069849874849172e-02 6.066418137015700e-02 6.062987317773211e-02 6.059557418830027e-02 - 6.056128441894475e-02 6.052700388674876e-02 6.049273260879557e-02 6.045847060216841e-02 6.042421788395052e-02 - 6.038997447122514e-02 6.035574038107552e-02 6.032151563058490e-02 6.028730023683652e-02 6.025309421691362e-02 - 6.021889758789946e-02 6.018471036687725e-02 6.015053257093025e-02 6.011636421714171e-02 6.008220532259485e-02 - 6.004805590437293e-02 6.001391597955918e-02 5.997978556523686e-02 5.994566467848918e-02 5.991155333639943e-02 - 5.987745155605081e-02 5.984335935452657e-02 5.980927674890997e-02 5.977520375628423e-02 5.974114039373261e-02 - 5.970708667833834e-02 5.967304262718466e-02 5.963900825735483e-02 5.960498358593206e-02 5.957096862999962e-02 - 5.953696340664075e-02 5.950296793293869e-02 5.946898222597666e-02 5.943500630283793e-02 5.940104018060574e-02 - 5.936708387636331e-02 5.933313740719390e-02 5.929920079018074e-02 5.926527404240709e-02 5.923135718095618e-02 - 5.919745022291125e-02 5.916355318535554e-02 5.912966608537230e-02 5.909578894004478e-02 5.906192176645620e-02 - 5.902806458168981e-02 5.899421740282887e-02 5.896038024695659e-02 5.892655313115624e-02 5.889273607251104e-02 - 5.885892908810425e-02 5.882513219501910e-02 5.879134541033884e-02 5.875756875114671e-02 5.872380223452595e-02 - 5.869004587755981e-02 5.865629969733151e-02 5.862256371092430e-02 5.858883793542144e-02 5.855512238790617e-02 - 5.852141708546170e-02 5.848772204517131e-02 5.845403728411822e-02 5.842036281938568e-02 5.838669866805692e-02 - 5.835304484721521e-02 5.831940137394376e-02 5.828576826532585e-02 5.825214553844467e-02 5.821853321038349e-02 - 5.818493129822556e-02 5.815133981905412e-02 5.811775878995240e-02 5.808418822800365e-02 5.805062815029110e-02 - 5.801707857389801e-02 5.798353951590760e-02 5.795001099340315e-02 5.791649302346786e-02 5.788298562318499e-02 - 5.784948880963779e-02 5.781600259990949e-02 5.778252701108333e-02 5.774906206024256e-02 5.771560776447041e-02 - 5.768216414085015e-02 5.764873120646499e-02 5.761530897839819e-02 5.758189747373298e-02 5.754849670955262e-02 - 5.751510670294033e-02 5.748172747097936e-02 5.744835903075296e-02 5.741500139934437e-02 5.738165459383683e-02 - 5.734831863131357e-02 5.731499352885785e-02 5.728167930355290e-02 5.724837597248197e-02 5.721508355272830e-02 - 5.718180206137512e-02 5.714853151550570e-02 5.711527193220325e-02 5.708202332855103e-02 5.704878572163228e-02 - 5.701555912853024e-02 5.698234356632816e-02 5.694913905210926e-02 5.691594560295680e-02 5.688276323595402e-02 - 5.684959196818416e-02 5.681643181673045e-02 5.678328279867616e-02 5.675014493110452e-02 5.671701823109875e-02 - 5.668390271574211e-02 5.665079840211785e-02 5.661770530730920e-02 5.658462344839940e-02 5.655155284247171e-02 - 5.651849350660935e-02 5.648544545789557e-02 5.645240871341362e-02 5.641938329024674e-02 5.638636920547815e-02 - 5.635336647619112e-02 5.632037511946889e-02 5.628739515239468e-02 5.625442659205174e-02 5.622146945552333e-02 - 5.618852375989267e-02 5.615558952224302e-02 5.612266675965761e-02 5.608975548921968e-02 5.605685572801247e-02 - 5.602396749311925e-02 5.599109080162322e-02 5.595822567060765e-02 5.592537211715578e-02 5.589253015835084e-02 - 5.585969981127608e-02 5.582688109301474e-02 5.579407402065006e-02 5.576127861126528e-02 5.572849488194366e-02 - 5.569572284976842e-02 5.566296253182280e-02 5.563021394519008e-02 5.559747710695345e-02 5.556475203419618e-02 - 5.553203874400151e-02 5.549933725345269e-02 5.546664757963294e-02 5.543396973962551e-02 5.540130375051366e-02 - 5.536864962938060e-02 5.533600739330961e-02 5.530337705938389e-02 5.527075864468672e-02 5.523815216630132e-02 - 5.520555764131094e-02 5.517297508679882e-02 5.514040451984819e-02 5.510784595754230e-02 5.507529941696442e-02 - 5.504276491519774e-02 5.501024246932555e-02 5.497773209643106e-02 5.494523381359754e-02 5.491274763790820e-02 - 5.488027358644629e-02 5.484781167629507e-02 5.481536192453777e-02 5.478292434825763e-02 5.475049896453790e-02 - 5.471808579046181e-02 5.468568484311261e-02 5.465329613957354e-02 5.462091969692785e-02 5.458855553225877e-02 - 5.455620366264955e-02 5.452386410518342e-02 5.449153687694363e-02 5.445922199501343e-02 5.442691947647604e-02 - 5.439462933841474e-02 5.436235159791274e-02 5.433008627205328e-02 5.429783337791962e-02 5.426559293259499e-02 - 5.423336495316264e-02 5.420114945670580e-02 5.416894646030773e-02 5.413675598105167e-02 5.410457803602083e-02 - 5.407241264229849e-02 5.404025981696787e-02 5.400811957711223e-02 5.397599193981480e-02 5.394387692215881e-02 - 5.391177454122753e-02 5.387968481410418e-02 5.384760775787202e-02 5.381554338961427e-02 5.378349172641418e-02 - 5.375145278535501e-02 5.371942658351998e-02 5.368741313799234e-02 5.365541246585533e-02 5.362342458419220e-02 - 5.359144951008617e-02 5.355948726062051e-02 5.352753785287844e-02 5.349560130394321e-02 5.346367763089808e-02 - 5.343176685082626e-02 5.339986898081100e-02 5.336798403793557e-02 5.333611203928318e-02 5.330425300193709e-02 - 5.327240694298052e-02 5.324057387949673e-02 5.320875382856897e-02 5.317694680728046e-02 5.314515283271445e-02 - 5.311337192195419e-02 5.308160409208292e-02 5.304984936018387e-02 5.301810774334029e-02 5.298637925860694e-02 - 5.295466392210174e-02 5.292296174881576e-02 5.289127275367324e-02 5.285959695159842e-02 5.282793435751552e-02 - 5.279628498634878e-02 5.276464885302243e-02 5.273302597246069e-02 5.270141635958780e-02 5.266982002932800e-02 - 5.263823699660550e-02 5.260666727634453e-02 5.257511088346935e-02 5.254356783290417e-02 5.251203813957321e-02 - 5.248052181840073e-02 5.244901888431094e-02 5.241752935222807e-02 5.238605323707637e-02 5.235459055378005e-02 - 5.232314131726334e-02 5.229170554245050e-02 5.226028324426572e-02 5.222887443763326e-02 5.219747913747734e-02 - 5.216609735872220e-02 5.213472911629205e-02 5.210337442511115e-02 5.207203330010370e-02 5.204070575619395e-02 - 5.200939180830615e-02 5.197809147136448e-02 5.194680476029321e-02 5.191553169001656e-02 5.188427227545876e-02 - 5.185302653154403e-02 5.182179447319664e-02 5.179057611534077e-02 5.175937147290068e-02 5.172818056080060e-02 - 5.169700339396475e-02 5.166583998731737e-02 5.163469035578269e-02 5.160355451428494e-02 5.157243247774834e-02 - 5.154132426109714e-02 5.151022987925555e-02 5.147914934714782e-02 5.144808267969817e-02 5.141702989183084e-02 - 5.138599099847005e-02 5.135496601454004e-02 5.132395495496503e-02 5.129295783466926e-02 5.126197466857695e-02 - 5.123100547161235e-02 5.120005025869967e-02 5.116910904476317e-02 5.113818184472704e-02 5.110726867351554e-02 - 5.107636954605289e-02 5.104548447726333e-02 5.101461348207109e-02 5.098375657540039e-02 5.095291377217546e-02 - 5.092208508732055e-02 5.089127053575987e-02 5.086047013241765e-02 5.082968389221815e-02 5.079891183008556e-02 - 5.076815396094415e-02 5.073741029971812e-02 5.070668086133172e-02 5.067596566070917e-02 5.064526471277472e-02 - 5.061457803245257e-02 5.058390563466697e-02 5.055324753434216e-02 5.052260374640234e-02 5.049197428577178e-02 - 5.046135916737467e-02 5.043075840613528e-02 5.040017201697781e-02 5.036960001482652e-02 5.033904241460560e-02 - 5.030849923123931e-02 5.027797047965189e-02 5.024745617476754e-02 5.021695633151052e-02 5.018647096480505e-02 - 5.015600008957535e-02 5.012554372074565e-02 5.009510187324022e-02 5.006467456198324e-02 5.003426180189897e-02 - 5.000386360791163e-02 4.997347999494546e-02 4.994311097792468e-02 4.991275657177353e-02 4.988241679141623e-02 - 4.985209165177702e-02 4.982178116778014e-02 4.979148535434980e-02 4.976120422641023e-02 4.973093779888569e-02 - 4.970068608670038e-02 4.967044910477855e-02 4.964022686804442e-02 4.961001939142222e-02 4.957982668983620e-02 - 4.954964877821057e-02 4.951948567146956e-02 4.948933738453741e-02 4.945920393233836e-02 4.942908532979662e-02 - 4.939898159183643e-02 4.936889273338203e-02 4.933881876935763e-02 4.930875971468749e-02 4.927871558429582e-02 - 4.924868639310685e-02 4.921867215604481e-02 4.918867288803395e-02 4.915868860399848e-02 4.912871931886263e-02 - 4.909876504755066e-02 4.906882580498677e-02 4.903890160609520e-02 4.900899246580018e-02 4.897909839902595e-02 - 4.894921942069672e-02 4.891935554573676e-02 4.888950678907025e-02 4.885967316562146e-02 4.882985469031461e-02 - 4.880005137807392e-02 4.877026324382362e-02 4.874049030248797e-02 4.871073256899117e-02 4.868099005825745e-02 - 4.865126278521108e-02 4.862155076477624e-02 4.859185401187720e-02 4.856217254143816e-02 4.853250636838338e-02 - 4.850285550763707e-02 4.847321997412347e-02 4.844359978276680e-02 4.841399494849130e-02 4.838440548622121e-02 - 4.835483141088075e-02 4.832527273739414e-02 4.829572948068564e-02 4.826620165567946e-02 4.823668927729983e-02 - 4.820719236047098e-02 4.817771092011715e-02 4.814824497116257e-02 4.811879452853147e-02 4.808935960714807e-02 - 4.805994022193662e-02 4.803053638782134e-02 4.800114811972645e-02 4.797177543257621e-02 4.794241834129482e-02 - 4.791307686080653e-02 4.788375100603556e-02 4.785444079190614e-02 4.782514623334252e-02 4.779586734526891e-02 - 4.776660414260955e-02 4.773735664028868e-02 4.770812485323050e-02 4.767890879635927e-02 4.764970848459921e-02 - 4.762052393287456e-02 4.759135515610954e-02 4.756220216922838e-02 4.753306498715533e-02 4.750394362481459e-02 - 4.747483809713041e-02 4.744574841902701e-02 4.741667460542864e-02 4.738761667125952e-02 4.735857463144388e-02 - 4.732954850090595e-02 4.730053829456995e-02 4.727154402736015e-02 4.724256571420073e-02 4.721360337001596e-02 - 4.718465700973005e-02 4.715572664826723e-02 4.712681230055175e-02 4.709791398150782e-02 4.706903170605968e-02 - 4.704016548913156e-02 4.701131534564769e-02 4.698248129053231e-02 4.695366333870963e-02 4.692486150510391e-02 - 4.689607580463934e-02 4.686730625224018e-02 4.683855286283068e-02 4.680981565133503e-02 4.678109463267748e-02 - 4.675238982178226e-02 4.672370123357359e-02 4.669502888297572e-02 4.666637278491287e-02 4.663773295430927e-02 - 4.660910940608916e-02 4.658050215517676e-02 4.655191121649629e-02 4.652333660497202e-02 4.649477833552815e-02 - 4.646623642308891e-02 4.643771088257853e-02 4.640920172892127e-02 4.638070897704132e-02 4.635223264186294e-02 - 4.632377273831036e-02 4.629532928130779e-02 4.626690228577947e-02 4.623849176664965e-02 4.621009773884253e-02 - 4.618172021728237e-02 4.615335921689338e-02 4.612501475259979e-02 4.609668683932586e-02 4.606837549199577e-02 - 4.604008072553380e-02 4.601180255486416e-02 4.598354099491107e-02 4.595529606059879e-02 4.592706776685152e-02 - 4.589885612859351e-02 4.587066116074899e-02 4.584248287824218e-02 4.581432129599732e-02 4.578617642893863e-02 - 4.575804829199037e-02 4.572993690007673e-02 4.570184226812196e-02 4.567376441105030e-02 4.564570334378597e-02 - 4.561765908125320e-02 4.558963163837623e-02 4.556162103007928e-02 4.553362727128659e-02 4.550565037692238e-02 - 4.547769036191089e-02 4.544974724117636e-02 4.542182102964300e-02 4.539391174223504e-02 4.536601939387674e-02 - 4.533814399949231e-02 4.531028557400597e-02 4.528244413234197e-02 4.525461968942453e-02 4.522681226017790e-02 - 4.519902185952628e-02 4.517124850239393e-02 4.514349220370505e-02 4.511575297838390e-02 4.508803084135470e-02 - 4.506032580754168e-02 4.503263789186907e-02 4.500496710926111e-02 4.497731347464200e-02 4.494967700293602e-02 - 4.492205770906736e-02 4.489445560796028e-02 4.486687071453899e-02 4.483930304372771e-02 4.481175261045071e-02 - 4.478421942963219e-02 4.475670351619640e-02 4.472920488506756e-02 4.470172355116988e-02 4.467425952942764e-02 - 4.464681283476502e-02 4.461938348210628e-02 4.459197148637566e-02 4.456457686249737e-02 4.453719962539564e-02 - 4.450983978999472e-02 4.448249737121881e-02 4.445517238399217e-02 4.442786484323902e-02 4.440057476388359e-02 - 4.437330216085012e-02 4.434604704906282e-02 4.431880944344595e-02 4.429158935892372e-02 4.426438681042035e-02 - 4.423720181286010e-02 4.421003438116718e-02 4.418288453026584e-02 4.415575227508029e-02 4.412863763053477e-02 - 4.410154061155352e-02 4.407446123306075e-02 4.404739950998071e-02 4.402035545723762e-02 4.399332908975571e-02 - 4.396632042245923e-02 4.393932947027238e-02 4.391235624811941e-02 4.388540077092456e-02 4.385846305361203e-02 - 4.383154311110608e-02 4.380464095833093e-02 4.377775661021081e-02 4.375089008166996e-02 4.372404138763258e-02 - 4.369721054302294e-02 4.367039756276526e-02 4.364360246178376e-02 4.361682525500267e-02 4.359006595734623e-02 - 4.356332458373868e-02 4.353660114910423e-02 4.350989566836711e-02 4.348320815645158e-02 4.345653862828184e-02 - 4.342988709878214e-02 4.340325358287669e-02 4.337663809548974e-02 4.335004065154552e-02 4.332346126596825e-02 - 4.329689995368217e-02 4.327035672961151e-02 4.324383160868049e-02 4.321732460581335e-02 4.319083573593433e-02 - 4.316436501396765e-02 4.313791245483754e-02 4.311147807346823e-02 4.308506188478395e-02 4.305866390370894e-02 - 4.303228414516742e-02 4.300592262408363e-02 4.297957935538180e-02 4.295325435398616e-02 4.292694763482094e-02 - 4.290065921281035e-02 4.287438910287866e-02 4.284813731995007e-02 4.282190387894883e-02 4.279568879479917e-02 - 4.276949208242530e-02 4.274331375675147e-02 4.271715383270192e-02 4.269101232520085e-02 4.266488924917250e-02 - 4.263878461954113e-02 4.261269845123093e-02 4.258663075916616e-02 4.256058155827103e-02 4.253455086346980e-02 - 4.250853868968667e-02 4.248254505184589e-02 4.245656996487169e-02 4.243061344368828e-02 4.240467550321991e-02 - 4.237875615839081e-02 4.235285542412521e-02 4.232697331534734e-02 4.230110984698143e-02 4.227526503395169e-02 - 4.224943889118240e-02 4.222363143359775e-02 4.219784267612198e-02 4.217207263367933e-02 4.214632132119402e-02 - 4.212058875359029e-02 4.209487494579236e-02 4.206917991272448e-02 4.204350366931086e-02 4.201784623047573e-02 - 4.199220761114335e-02 4.196658782623791e-02 4.194098689068368e-02 4.191540481940486e-02 4.188984162732570e-02 - 4.186429732937041e-02 4.183877194046326e-02 4.181326547552844e-02 4.178777794949019e-02 4.176230937727277e-02 - 4.173685977380037e-02 4.171142915399725e-02 4.168601753278764e-02 4.166062492509574e-02 4.163525134584580e-02 - 4.160989680996207e-02 4.158456133236876e-02 4.155924492799010e-02 4.153394761175032e-02 4.150866939857367e-02 - 4.148341030338436e-02 4.145817034110662e-02 4.143294952666470e-02 4.140774787498282e-02 4.138256540098521e-02 - 4.135740211959609e-02 4.133225804573972e-02 4.130713319434030e-02 4.128202758032209e-02 4.125694121860929e-02 - 4.123187412412615e-02 4.120682631179690e-02 4.118179779654577e-02 4.115678859329698e-02 4.113179871697477e-02 - 4.110682818250337e-02 4.108187700480702e-02 4.105694519880994e-02 4.103203277943635e-02 4.100713976161051e-02 - 4.098226616025662e-02 4.095741199029894e-02 4.093257726666168e-02 4.090776200426908e-02 4.088296621804536e-02 - 4.085818992291476e-02 4.083343313380151e-02 4.080869586562985e-02 4.078397813332400e-02 4.075927995180818e-02 - 4.073460133600665e-02 4.070994230084361e-02 4.068530286124331e-02 4.066068303212998e-02 4.063608282842784e-02 - 4.061150226506113e-02 4.058694135695408e-02 4.056240011903092e-02 4.053787856621588e-02 4.051337671343318e-02 - 4.048889457560707e-02 4.046443216766178e-02 4.043998950452153e-02 4.041556660111054e-02 4.039116347235307e-02 - 4.036678013317334e-02 4.034241659849556e-02 4.031807288324400e-02 4.029374900234285e-02 4.026944497071637e-02 - 4.024516080328877e-02 4.022089651498431e-02 4.019665212072718e-02 4.017242763544165e-02 4.014822307405193e-02 - 4.012403845148225e-02 4.009987378265685e-02 4.007572908249996e-02 4.005160436593580e-02 4.002749964788860e-02 - 4.000341494328261e-02 3.997935026862905e-02 3.995530565020248e-02 3.993128111798760e-02 3.990727670197625e-02 - 3.988329243216027e-02 3.985932833853151e-02 3.983538445108181e-02 3.981146079980302e-02 3.978755741468697e-02 - 3.976367432572553e-02 3.973981156291052e-02 3.971596915623379e-02 3.969214713568721e-02 3.966834553126258e-02 - 3.964456437295178e-02 3.962080369074663e-02 3.959706351463900e-02 3.957334387462071e-02 3.954964480068362e-02 - 3.952596632281957e-02 3.950230847102040e-02 3.947867127527795e-02 3.945505476558409e-02 3.943145897193063e-02 - 3.940788392430945e-02 3.938432965271236e-02 3.936079618713123e-02 3.933728355755788e-02 3.931379179398419e-02 - 3.929032092640197e-02 3.926687098480308e-02 3.924344199917935e-02 3.922003399952266e-02 3.919664701582481e-02 - 3.917328107807769e-02 3.914993621627309e-02 3.912661246040292e-02 3.910330984045896e-02 3.908002838643308e-02 - 3.905676812831715e-02 3.903352909610298e-02 3.901031131978242e-02 3.898711482934733e-02 3.896393965478955e-02 - 3.894078582610091e-02 3.891765337327326e-02 3.889454232629846e-02 3.887145271516833e-02 3.884838456987474e-02 - 3.882533792040951e-02 3.880231279676451e-02 3.877930922893155e-02 3.875632724690252e-02 3.873336688066923e-02 - 3.871042816022353e-02 3.868751111555727e-02 3.866461577666229e-02 3.864174217353044e-02 3.861889033615356e-02 - 3.859606029452349e-02 3.857325207863209e-02 3.855046571847119e-02 3.852770124403264e-02 3.850495868530828e-02 - 3.848223807228996e-02 3.845953943496952e-02 3.843686280333881e-02 3.841420820738967e-02 3.839157567711395e-02 - 3.836896524250349e-02 3.834637693355013e-02 3.832381078024572e-02 3.830126681258209e-02 3.827874506055112e-02 - 3.825624555414461e-02 3.823376832335444e-02 3.821131339817244e-02 3.818888080859045e-02 3.816647058460032e-02 - 3.814408275619389e-02 3.812171735336303e-02 3.809937440609954e-02 3.807705394439530e-02 3.805475599824214e-02 - 3.803248059763190e-02 3.801022777255643e-02 3.798799755300758e-02 3.796578996897719e-02 3.794360505045710e-02 - 3.792144282743916e-02 3.789930332991522e-02 3.787718658787710e-02 3.785509263131667e-02 3.783302149022577e-02 - 3.781097319459624e-02 3.778894777441992e-02 3.776694525968866e-02 3.774496568039430e-02 3.772300906652870e-02 - 3.770107544808367e-02 3.767916485505110e-02 3.765727731742280e-02 3.763541286519063e-02 3.761357152834642e-02 - 3.759175333688204e-02 3.756995832078931e-02 3.754818651006007e-02 3.752643793468620e-02 3.750471262465951e-02 - 3.748301060997186e-02 3.746133192061509e-02 3.743967658658105e-02 3.741804463786157e-02 3.739643610444850e-02 - 3.737485101633371e-02 3.735328940350900e-02 3.733175129596625e-02 3.731023672369729e-02 3.728874571669397e-02 - 3.726727830494812e-02 3.724583451845160e-02 3.722441438719625e-02 3.720301794117391e-02 3.718164521037644e-02 - 3.716029622479566e-02 3.713897101442343e-02 3.711766960925159e-02 3.709639203927199e-02 3.707513833447647e-02 - 3.705390852485687e-02 3.703270264040504e-02 3.701152071111283e-02 3.699036276697207e-02 3.696922883797462e-02 - 3.694811895411231e-02 3.692703314537699e-02 3.690597144176051e-02 3.688493387325471e-02 3.686392046985143e-02 - 3.684293126154253e-02 3.682196627831984e-02 3.680102555017520e-02 3.678010910710046e-02 3.675921697908748e-02 - 3.673834919612807e-02 3.671750578821411e-02 3.669668678533742e-02 3.667589221748987e-02 3.665512211466327e-02 - 3.663437650684950e-02 3.661365542404037e-02 3.659295889622776e-02 3.657228695340348e-02 3.655163962555941e-02 - 3.653101694268735e-02 3.651041893477919e-02 3.648984563182674e-02 3.646929706382188e-02 3.644877326075641e-02 - 3.642827425262220e-02 3.640780006941109e-02 3.638735074111494e-02 3.636692629772557e-02 3.634652676923484e-02 - 3.632615218563458e-02 3.630580257691665e-02 3.628547797307289e-02 3.626517840409513e-02 3.624490389997524e-02 - 3.622465449070505e-02 3.620443020627639e-02 3.618423107668113e-02 3.616405713191111e-02 3.614390840195816e-02 - 3.612378491681414e-02 3.610368670647089e-02 3.608361380092025e-02 3.606356623015406e-02 3.604354402416417e-02 - 3.602354721294244e-02 3.600357582648069e-02 3.598362989477077e-02 3.596370944780453e-02 3.594381451557382e-02 - 3.592394512807047e-02 3.590410131528634e-02 3.588428310721326e-02 3.586449053384308e-02 3.584472362516764e-02 - 3.582498241117880e-02 3.580526692186839e-02 3.578557718722826e-02 3.576591323725024e-02 3.574627510192620e-02 - 3.572666281124797e-02 3.570707639520740e-02 3.568751588379632e-02 3.566798130700659e-02 3.564847269483005e-02 - 3.562899007725854e-02 3.560953348428391e-02 3.559010294589800e-02 3.557069849209266e-02 3.555132015285974e-02 - 3.553196795819106e-02 3.551264193807849e-02 3.549334212251386e-02 3.547406854148901e-02 3.545482122499580e-02 - 3.543560020302607e-02 3.541640550557167e-02 3.539723716262443e-02 3.537809520417620e-02 3.535897966021882e-02 - 3.533989056074414e-02 3.532082793574401e-02 3.530179181521027e-02 3.528278222913475e-02 3.526379920750932e-02 - 3.524484278032580e-02 3.522591297757607e-02 3.520700982925193e-02 3.518813336534525e-02 3.516928361584787e-02 - 3.515046061075164e-02 3.513166438004838e-02 3.511289495372998e-02 3.509415236178823e-02 3.507543663421501e-02 - 3.505674780100216e-02 3.503808589214152e-02 3.501945093762493e-02 3.500084296744425e-02 3.498226201159130e-02 - 3.496370810005795e-02 3.494518126283602e-02 3.492668152991737e-02 3.490820893129385e-02 3.488976349695729e-02 - 3.487134525689954e-02 3.485295424111245e-02 3.483459047958785e-02 3.481625400231760e-02 3.479794483929353e-02 - 3.477966302050750e-02 3.476140857595134e-02 3.474318153561690e-02 3.472498192949603e-02 3.470680978758058e-02 - 3.468866513986237e-02 3.467054801633326e-02 3.465245844698509e-02 3.463439646180971e-02 3.461636209079897e-02 - 3.459835536394470e-02 3.458037631123875e-02 3.456242496267296e-02 3.454450134823919e-02 3.452660549792927e-02 - 3.450873744173504e-02 3.449089720964835e-02 3.447308483166107e-02 3.445530033776500e-02 3.443754375795202e-02 - 3.441981512221395e-02 3.440211446054266e-02 3.438444180292995e-02 3.436679717936773e-02 3.434918061984778e-02 - 3.433159215436199e-02 3.431403181290218e-02 3.429649962546020e-02 3.427899562202789e-02 3.426151983259711e-02 - 3.424407228715969e-02 3.422665301570748e-02 3.420926204823232e-02 3.419189941472606e-02 3.417456514518054e-02 - 3.415725926958761e-02 3.413998181793911e-02 3.412273282022688e-02 3.410551230644278e-02 3.408832030657864e-02 - 3.407115685062630e-02 3.405402196857762e-02 3.403691569042444e-02 3.401983804615860e-02 3.400278906577194e-02 - 3.398576877925633e-02 3.396877721660357e-02 3.395181440780554e-02 3.393488038285408e-02 3.391797517174103e-02 - 3.390109880445821e-02 3.388425131099751e-02 3.386743272135074e-02 3.385064306550976e-02 3.383388237346641e-02 - 3.381715067521254e-02 3.380044800073998e-02 3.378377438004059e-02 3.376712984310620e-02 3.375051441992868e-02 - 3.373392814049984e-02 3.371737103481155e-02 3.370084313285564e-02 3.368434446462396e-02 3.366787506010836e-02 - 3.365143466564878e-02 3.363501887624541e-02 3.361862209777612e-02 3.360224500875989e-02 3.358588827878357e-02 - 3.356955147090725e-02 3.355323458431880e-02 3.353693766165054e-02 3.352066065506343e-02 3.350440352193865e-02 - 3.348816624199871e-02 3.347194881659273e-02 3.345575121630599e-02 3.343957340404732e-02 3.342341535303144e-02 - 3.340727704441876e-02 3.339115845430404e-02 3.337505954322636e-02 3.335898029706669e-02 3.334292070921326e-02 - 3.332688074834195e-02 3.331086037969291e-02 3.329485957414917e-02 3.327887831864652e-02 3.326291658484171e-02 - 3.324697433542376e-02 3.323105156623186e-02 3.321514826023114e-02 3.319926437839098e-02 3.318339989412266e-02 - 3.316755478754796e-02 3.315172903929034e-02 3.313592261295018e-02 3.312013548124740e-02 3.310436764153749e-02 - 3.308861906981869e-02 3.307288973180764e-02 3.305717959801665e-02 3.304148865245999e-02 3.302581687574703e-02 - 3.301016422142487e-02 3.299453067800234e-02 3.297891624809741e-02 3.296332088425066e-02 3.294774455685354e-02 - 3.293218725810471e-02 3.291664896225673e-02 3.290112963401578e-02 3.288562923879117e-02 3.287014777263271e-02 - 3.285468522369568e-02 3.283924155670871e-02 3.282381674440858e-02 3.280841076589561e-02 3.279302360243119e-02 - 3.277765521941309e-02 3.276230558706894e-02 3.274697470113698e-02 3.273166254219040e-02 3.271636907936865e-02 - 3.270109428250347e-02 3.268583813280482e-02 3.267060061307020e-02 3.265538168459424e-02 3.264018132671115e-02 - 3.262499953449712e-02 3.260983628233858e-02 3.259469153939318e-02 3.257956527754512e-02 3.256445748091834e-02 - 3.254936812698490e-02 3.253429718174427e-02 3.251924463148387e-02 3.250421046229880e-02 3.248919464552218e-02 - 3.247419715298105e-02 3.245921796288541e-02 3.244425706251369e-02 3.242931441545717e-02 3.241438998652282e-02 - 3.239948378141620e-02 3.238459577882156e-02 3.236972593925531e-02 3.235487424670715e-02 3.234004068301546e-02 - 3.232522522137563e-02 3.231042782696456e-02 3.229564848261764e-02 3.228088718700101e-02 3.226614390644563e-02 - 3.225141860917057e-02 3.223671128042128e-02 3.222202190260593e-02 3.220735044835789e-02 3.219269687989033e-02 - 3.217806118663362e-02 3.216344336205739e-02 3.214884337811092e-02 3.213426120193776e-02 3.211969680852602e-02 - 3.210515019435922e-02 3.209062132655478e-02 3.207611016186721e-02 3.206161670288540e-02 3.204714093648681e-02 - 3.203268282961075e-02 3.201824236239234e-02 3.200381951210604e-02 3.198941424912934e-02 3.197502654604618e-02 - 3.196065638811887e-02 3.194630377248257e-02 3.193196866763873e-02 3.191765104079724e-02 3.190335087680102e-02 - 3.188906815766901e-02 3.187480285784819e-02 3.186055494296534e-02 3.184632440204734e-02 3.183211122836238e-02 - 3.181791538780577e-02 3.180373685568510e-02 3.178957561657719e-02 3.177543165075891e-02 3.176130492904844e-02 - 3.174719542079285e-02 3.173310312097031e-02 3.171902801589959e-02 3.170497007535993e-02 3.169092927256592e-02 - 3.167690558660036e-02 3.166289900092451e-02 3.164890948767075e-02 3.163493702375719e-02 3.162098160094597e-02 - 3.160704320149037e-02 3.159312179836957e-02 3.157921735868882e-02 3.156532987076624e-02 3.155145932224658e-02 - 3.153760566663864e-02 3.152376889172848e-02 3.150994900180672e-02 3.149614595827410e-02 3.148235973399625e-02 - 3.146859031868535e-02 3.145483769408502e-02 3.144110182886523e-02 3.142738268687409e-02 3.141368026942635e-02 - 3.139999456778463e-02 3.138632554513814e-02 3.137267318073906e-02 3.135903745883740e-02 3.134541835839263e-02 - 3.133181584694165e-02 3.131822989974722e-02 3.130466051752389e-02 3.129110768114365e-02 3.127757136018487e-02 - 3.126405153214003e-02 3.125054818119363e-02 3.123706128835145e-02 3.122359081277034e-02 3.121013674152311e-02 - 3.119669908223311e-02 3.118327780512727e-02 3.116987287740892e-02 3.115648427590923e-02 3.114311198755302e-02 - 3.112975599208620e-02 3.111641625878769e-02 3.110309278026453e-02 3.108978554429882e-02 3.107649451605467e-02 - 3.106321967573116e-02 3.104996101093369e-02 3.103671850522385e-02 3.102349212552239e-02 3.101028184118182e-02 - 3.099708765215899e-02 3.098390954305432e-02 3.097074748653887e-02 3.095760146577434e-02 3.094447145973171e-02 - 3.093135744175442e-02 3.091825938652267e-02 3.090517727892404e-02 3.089211111199125e-02 3.087906086415095e-02 - 3.086602651045607e-02 3.085300802884278e-02 3.084000540267990e-02 3.082701861024971e-02 3.081404762072755e-02 - 3.080109242772720e-02 3.078815302348911e-02 3.077522937271052e-02 3.076232145526043e-02 3.074942925853004e-02 - 3.073655275969265e-02 3.072369193358731e-02 3.071084675893487e-02 3.069801722815575e-02 3.068520332655950e-02 - 3.067240502926292e-02 3.065962230727411e-02 3.064685514336771e-02 3.063410352936318e-02 3.062136743092317e-02 - 3.060864682743443e-02 3.059594172387181e-02 3.058325209340110e-02 3.057057790484611e-02 3.055791914232513e-02 - 3.054527578866520e-02 3.053264782274670e-02 3.052003521936738e-02 3.050743796632342e-02 3.049485605420712e-02 - 3.048228945948342e-02 3.046973815764381e-02 3.045720212753895e-02 3.044468135532321e-02 3.043217582076147e-02 - 3.041968549967531e-02 3.040721038082923e-02 3.039475044749309e-02 3.038230567464306e-02 3.036987604544383e-02 - 3.035746154526919e-02 3.034506215632694e-02 3.033267784558463e-02 3.032030859116679e-02 3.030795439680851e-02 - 3.029561524020229e-02 3.028329109283977e-02 3.027098194217670e-02 3.025868776986960e-02 3.024640855125834e-02 - 3.023414425922958e-02 3.022189488753165e-02 3.020966043396606e-02 3.019744085927903e-02 3.018523614254973e-02 - 3.017304628070488e-02 3.016087124712451e-02 3.014871101490015e-02 3.013656556629268e-02 3.012443489643160e-02 - 3.011231899192166e-02 3.010021782348693e-02 3.008813136953290e-02 3.007605961443153e-02 3.006400254477032e-02 - 3.005196013216448e-02 3.003993235442936e-02 3.002791921520012e-02 3.001592069144608e-02 3.000393675083135e-02 - 2.999196738372897e-02 2.998001257673401e-02 2.996807230790781e-02 2.995614654679549e-02 2.994423528130847e-02 - 2.993233851118915e-02 2.992045620999083e-02 2.990858835120550e-02 2.989673491731453e-02 2.988489589805536e-02 - 2.987307127537464e-02 2.986126102011340e-02 2.984946511909828e-02 2.983768356331996e-02 2.982591633787642e-02 - 2.981416341477938e-02 2.980242477098497e-02 2.979070040412034e-02 2.977899028736241e-02 2.976729439085326e-02 - 2.975561271768286e-02 2.974394525020974e-02 2.973229195799546e-02 2.972065283153817e-02 2.970902785474345e-02 - 2.969741700233630e-02 2.968582025251779e-02 2.967423759388233e-02 2.966266902120933e-02 2.965111450751603e-02 - 2.963957402972690e-02 2.962804757853395e-02 2.961653513685447e-02 2.960503668212408e-02 2.959355219023237e-02 - 2.958208165129883e-02 2.957062505724755e-02 2.955918238857859e-02 2.954775362079399e-02 2.953633873283637e-02 - 2.952493771681483e-02 2.951355054848872e-02 2.950217720053436e-02 2.949081767862442e-02 2.947947196700992e-02 - 2.946814003034778e-02 2.945682185755054e-02 2.944551743582863e-02 2.943422674341014e-02 2.942294975870480e-02 - 2.941168646812421e-02 2.940043686618776e-02 2.938920093147064e-02 2.937797864134186e-02 2.936676998172867e-02 - 2.935557493479196e-02 2.934439347979633e-02 2.933322559583284e-02 2.932207127373048e-02 2.931093050463312e-02 - 2.929980326285230e-02 2.928868953142686e-02 2.927758929945683e-02 2.926650254799867e-02 2.925542925398767e-02 - 2.924436939550082e-02 2.923332296415483e-02 2.922228995044700e-02 2.921127033783603e-02 2.920026410004271e-02 - 2.918927122033416e-02 2.917829169471517e-02 2.916732549176795e-02 2.915637258777840e-02 2.914543298801943e-02 - 2.913450667577263e-02 2.912359362430894e-02 2.911269381274288e-02 2.910180723305731e-02 2.909093387402745e-02 - 2.908007369930849e-02 2.906922669822638e-02 2.905839287303405e-02 2.904757219714476e-02 2.903676465199738e-02 - 2.902597022808873e-02 2.901518890157972e-02 2.900442065055892e-02 2.899366546087253e-02 2.898292332562971e-02 - 2.897219423070421e-02 2.896147815085827e-02 2.895077507160809e-02 2.894008498122344e-02 2.892940786384609e-02 - 2.891874369517828e-02 2.890809245634708e-02 2.889745414621765e-02 2.888682874769054e-02 2.887621623583590e-02 - 2.886561659425123e-02 2.885502981116054e-02 2.884445587294774e-02 2.883389475319686e-02 2.882334643970105e-02 - 2.881281093000496e-02 2.880228819979298e-02 2.879177822929067e-02 2.878128100842524e-02 2.877079651898801e-02 - 2.876032473884395e-02 2.874986564740009e-02 2.873941924390505e-02 2.872898552052601e-02 2.871856444638324e-02 - 2.870815600507148e-02 2.869776018641480e-02 2.868737697516582e-02 2.867700634591397e-02 2.866664827916806e-02 - 2.865630278319325e-02 2.864596983917359e-02 2.863564941328856e-02 2.862534149829953e-02 2.861504608429113e-02 - 2.860476315234840e-02 2.859449267740666e-02 2.858423464566411e-02 2.857398905422620e-02 2.856375588402207e-02 - 2.855353511594846e-02 2.854332673804624e-02 2.853313073796621e-02 2.852294709429606e-02 2.851277577543872e-02 - 2.850261678440491e-02 2.849247012219593e-02 2.848233575178603e-02 2.847221365657614e-02 2.846210383116990e-02 - 2.845200625935100e-02 2.844192091752946e-02 2.843184778466237e-02 2.842178686053369e-02 2.841173813547823e-02 - 2.840170158739025e-02 2.839167719418843e-02 2.838166494245600e-02 2.837166482484053e-02 2.836167681707307e-02 - 2.835170090137019e-02 2.834173707461769e-02 2.833178532393912e-02 2.832184563033358e-02 2.831191797277370e-02 - 2.830200233825938e-02 2.829209871310940e-02 2.828220707523810e-02 2.827232741579271e-02 2.826245972853687e-02 - 2.825260399229306e-02 2.824276019064247e-02 2.823292831178126e-02 2.822310834132040e-02 2.821330025651807e-02 - 2.820350403438503e-02 2.819371967866794e-02 2.818394718049788e-02 2.817418651237375e-02 2.816443766090156e-02 - 2.815470061416237e-02 2.814497535504664e-02 2.813526186206681e-02 2.812556012131105e-02 2.811587013236315e-02 - 2.810619188120791e-02 2.809652534562629e-02 2.808687050311100e-02 2.807722734684383e-02 2.806759586949595e-02 - 2.805797603975531e-02 2.804836784541272e-02 2.803877128655403e-02 2.802918634812817e-02 2.801961300908425e-02 - 2.801005124931340e-02 2.800050106254358e-02 2.799096243185147e-02 2.798143533065562e-02 2.797191976200169e-02 - 2.796241571829330e-02 2.795292316767612e-02 2.794344209750147e-02 2.793397250080147e-02 2.792451436474921e-02 - 2.791506766429417e-02 2.790563238187514e-02 2.789620852426368e-02 2.788679607109519e-02 2.787739499448651e-02 - 2.786800529276515e-02 2.785862695250820e-02 2.784925995023579e-02 2.783990426851568e-02 2.783055990112446e-02 - 2.782122684523413e-02 2.781190507602721e-02 2.780259457625915e-02 2.779329533996523e-02 2.778400734510273e-02 - 2.777473057425486e-02 2.776546502209671e-02 2.775621067523501e-02 2.774696751775778e-02 2.773773553529171e-02 - 2.772851471226555e-02 2.771930503638066e-02 2.771010650156085e-02 2.770091908311444e-02 2.769174275675288e-02 - 2.768257752750487e-02 2.767342338343482e-02 2.766428030170250e-02 2.765514827509389e-02 2.764602728937508e-02 - 2.763691732224667e-02 2.762781835629091e-02 2.761873038318760e-02 2.760965340016332e-02 2.760058738918467e-02 - 2.759153233095657e-02 2.758248821223181e-02 2.757345502668101e-02 2.756443275844788e-02 2.755542137569210e-02 - 2.754642087861812e-02 2.753743126859248e-02 2.752845251726651e-02 2.751948461051369e-02 2.751052754088128e-02 - 2.750158129051000e-02 2.749264584112846e-02 2.748372117908398e-02 2.747480730190011e-02 2.746590419839729e-02 - 2.745701184777745e-02 2.744813023052759e-02 2.743925933666562e-02 2.743039916197098e-02 2.742154968107790e-02 - 2.741271087850060e-02 2.740388275814067e-02 2.739506530469222e-02 2.738625849608251e-02 2.737746231424592e-02 - 2.736867675514432e-02 2.735990180809817e-02 2.735113743878892e-02 2.734238364845174e-02 2.733364044336462e-02 - 2.732490778587926e-02 2.731618566204183e-02 2.730747407386686e-02 2.729877300249025e-02 2.729008242908668e-02 - 2.728140234030172e-02 2.727273272900814e-02 2.726407358354408e-02 2.725542488697956e-02 2.724678662927163e-02 - 2.723815879907967e-02 2.722954137935252e-02 2.722093434732608e-02 2.721233769152850e-02 2.720375141931018e-02 - 2.719517551218435e-02 2.718660994644712e-02 2.717805471481514e-02 2.716950980584153e-02 2.716097520393317e-02 - 2.715245089289530e-02 2.714393686286031e-02 2.713543310581999e-02 2.712693960497614e-02 2.711845634782483e-02 - 2.710998332519429e-02 2.710152051958041e-02 2.709306791441093e-02 2.708462549834906e-02 2.707619326918369e-02 - 2.706777121480425e-02 2.705935930907671e-02 2.705095754483260e-02 2.704256591454058e-02 2.703418439795306e-02 - 2.702581298145425e-02 2.701745165546447e-02 2.700910041075726e-02 2.700075923746808e-02 2.699242812272907e-02 - 2.698410704764140e-02 2.697579599978723e-02 2.696749496984126e-02 2.695920394125775e-02 2.695092290187428e-02 - 2.694265184396634e-02 2.693439075649869e-02 2.692613962541774e-02 2.691789843589869e-02 2.690966718080280e-02 - 2.690144584430361e-02 2.689323440003169e-02 2.688503284907665e-02 2.687684119009101e-02 2.686865940030225e-02 - 2.686048746353486e-02 2.685232536881714e-02 2.684417310662326e-02 2.683603066151065e-02 2.682789801897943e-02 - 2.681977517552054e-02 2.681166212021913e-02 2.680355883616239e-02 2.679546530889016e-02 2.678738152752996e-02 - 2.677930748200765e-02 2.677124315479004e-02 2.676318853591112e-02 2.675514362231527e-02 2.674710839396962e-02 - 2.673908283555094e-02 2.673106694339361e-02 2.672306070150655e-02 2.671506409151823e-02 2.670707710108217e-02 - 2.669909972943648e-02 2.669113197027321e-02 2.668317379682501e-02 2.667522519875436e-02 2.666728617090520e-02 - 2.665935669311371e-02 2.665143675159882e-02 2.664352634032146e-02 2.663562545659268e-02 2.662773408361464e-02 - 2.661985219717407e-02 2.661197979572226e-02 2.660411687169956e-02 2.659626340488144e-02 2.658841937631547e-02 - 2.658058477937751e-02 2.657275961893512e-02 2.656494387358596e-02 2.655713752275513e-02 2.654934056348008e-02 - 2.654155298332925e-02 2.653377476657220e-02 2.652600590198415e-02 2.651824638075199e-02 2.651049619255404e-02 - 2.650275532091429e-02 2.649502375487615e-02 2.648730148802552e-02 2.647958851263073e-02 2.647188480891689e-02 - 2.646419035368700e-02 2.645650515131691e-02 2.644882919484906e-02 2.644116246069965e-02 2.643350494181170e-02 - 2.642585663084689e-02 2.641821751242615e-02 2.641058756892747e-02 2.640296679007395e-02 2.639535517653221e-02 - 2.638775271175803e-02 2.638015937698240e-02 2.637257516664822e-02 2.636500007332271e-02 2.635743408373907e-02 - 2.634987717633525e-02 2.634232934391862e-02 2.633479058525924e-02 2.632726088227431e-02 2.631974022390311e-02 - 2.631222860499385e-02 2.630472600717760e-02 2.629723241433261e-02 2.628974781674581e-02 2.628227220621198e-02 - 2.627480557677242e-02 2.626734792215179e-02 2.625989921852152e-02 2.625245945041883e-02 2.624502862403611e-02 - 2.623760671958282e-02 2.623019371536040e-02 2.622278961237779e-02 2.621539440295659e-02 2.620800807254220e-02 - 2.620063060674004e-02 2.619326199404739e-02 2.618590222410475e-02 2.617855128386046e-02 2.617120916522779e-02 - 2.616387586230346e-02 2.615655135861502e-02 2.614923564213544e-02 2.614192870720641e-02 2.613463054125929e-02 - 2.612734112755428e-02 2.612006044964381e-02 2.611278850871195e-02 2.610552530050819e-02 2.609827080222275e-02 - 2.609102500359168e-02 2.608378789925431e-02 2.607655947900249e-02 2.606933972466179e-02 2.606212861946312e-02 - 2.605492616097670e-02 2.604773234503024e-02 2.604054716124884e-02 2.603337058950191e-02 2.602620261873257e-02 - 2.601904324395194e-02 2.601189244598317e-02 2.600475021758196e-02 2.599761656283118e-02 2.599049145836681e-02 - 2.598337488632347e-02 2.597626684662969e-02 2.596916733159564e-02 2.596207632537513e-02 2.595499380688753e-02 - 2.594791977426907e-02 2.594085422650568e-02 2.593379714560815e-02 2.592674851872178e-02 2.591970833661526e-02 - 2.591267658830654e-02 2.590565326173340e-02 2.589863834578747e-02 2.589163183398775e-02 2.588463371701131e-02 - 2.587764398252935e-02 2.587066261956569e-02 2.586368961749470e-02 2.585672496539723e-02 2.584976865103265e-02 - 2.584282066471713e-02 2.583588100000093e-02 2.582894964599770e-02 2.582202659070586e-02 2.581511182332461e-02 - 2.580820533343631e-02 2.580130710958863e-02 2.579441713875388e-02 2.578753541579036e-02 2.578066193633965e-02 - 2.577379668579866e-02 2.576693964640701e-02 2.576009080523955e-02 2.575325016689414e-02 2.574641771694009e-02 - 2.573959342940173e-02 2.573277731100565e-02 2.572596935753856e-02 2.571916954588383e-02 2.571237786264848e-02 - 2.570559430241213e-02 2.569881886299849e-02 2.569205152414907e-02 2.568529227185872e-02 2.567854111122693e-02 - 2.567179802594942e-02 2.566506299732867e-02 2.565833602386073e-02 2.565161709921462e-02 2.564490620914589e-02 - 2.563820333139000e-02 2.563150846268354e-02 2.562482160754986e-02 2.561814274902439e-02 2.561147187258114e-02 - 2.560480896924013e-02 2.559815402833877e-02 2.559150703774291e-02 2.558486798572520e-02 2.557823686789989e-02 - 2.557161367849433e-02 2.556499840587265e-02 2.555839103232124e-02 2.555179154834854e-02 2.554519995829834e-02 - 2.553861624178350e-02 2.553204037844031e-02 2.552547237202886e-02 2.551891221538829e-02 2.551235989397021e-02 - 2.550581539575596e-02 2.549927871458803e-02 2.549274984258965e-02 2.548622875540724e-02 2.547971544999134e-02 - 2.547320993631275e-02 2.546671219025347e-02 2.546022219347805e-02 2.545373994243675e-02 2.544726542971977e-02 - 2.544079864501286e-02 2.543433957656028e-02 2.542788821576999e-02 2.542144455508066e-02 2.541500858637495e-02 - 2.540858030019949e-02 2.540215968413957e-02 2.539574672197945e-02 2.538934140646816e-02 2.538294373410821e-02 - 2.537655369660362e-02 2.537017128263758e-02 2.536379648098229e-02 2.535742928550868e-02 2.535106968465225e-02 - 2.534471766277936e-02 2.533837321084466e-02 2.533203632423742e-02 2.532570699881585e-02 2.531938521813243e-02 - 2.531307097096266e-02 2.530676425602581e-02 2.530046505932213e-02 2.529417336607690e-02 2.528788916915281e-02 - 2.528161246489754e-02 2.527534324609989e-02 2.526908149634068e-02 2.526282720495094e-02 2.525658036572961e-02 - 2.525034097275206e-02 2.524410901058027e-02 2.523788446449190e-02 2.523166734234336e-02 2.522545763237074e-02 - 2.521925530838600e-02 2.521306037097086e-02 2.520687281776321e-02 2.520069263496993e-02 2.519451980442291e-02 - 2.518835431925369e-02 2.518219618546694e-02 2.517604538654039e-02 2.516990190396150e-02 2.516376573127799e-02 - 2.515763686639562e-02 2.515151530112912e-02 2.514540101358030e-02 2.513929399756280e-02 2.513319425347670e-02 - 2.512710177240427e-02 2.512101654329324e-02 2.511493855506050e-02 2.510886779787783e-02 2.510280425830826e-02 - 2.509674792451250e-02 2.509069880343641e-02 2.508465688466923e-02 2.507862214067907e-02 2.507259457630134e-02 - 2.506657418922008e-02 2.506056095604422e-02 2.505455486579475e-02 2.504855591546334e-02 2.504256410459500e-02 - 2.503657941982099e-02 2.503060184642849e-02 2.502463137903613e-02 2.501866800626509e-02 2.501271171663477e-02 - 2.500676250820755e-02 2.500082037092928e-02 2.499488529135626e-02 2.498895726677344e-02 2.498303628979692e-02 - 2.497712234741346e-02 2.497121542814719e-02 2.496531552247531e-02 2.495942262282587e-02 2.495353672310340e-02 - 2.494765781766853e-02 2.494178589943900e-02 2.493592095223772e-02 2.493006296439117e-02 2.492421193524048e-02 - 2.491836784922406e-02 2.491253069345717e-02 2.490670047398909e-02 2.490087718065651e-02 2.489506079631419e-02 - 2.488925131370227e-02 2.488344872747560e-02 2.487765302865731e-02 2.487186419727612e-02 2.486608223223404e-02 - 2.486030714174834e-02 2.485453889875117e-02 2.484877749156952e-02 2.484302292908405e-02 2.483727519324232e-02 - 2.483153426549052e-02 2.482580013961989e-02 2.482007281919668e-02 2.481435229933991e-02 2.480863855780388e-02 - 2.480293158683973e-02 2.479723138421890e-02 2.479153794250162e-02 2.478585124573938e-02 2.478017128120043e-02 - 2.477449805440481e-02 2.476883155587847e-02 2.476317176818658e-02 2.475751868877601e-02 2.475187231076201e-02 - 2.474623262098153e-02 2.474059960704484e-02 2.473497326224523e-02 2.472935358498410e-02 2.472374056978996e-02 - 2.471813420423485e-02 2.471253447111526e-02 2.470694136984621e-02 2.470135489678424e-02 2.469577503399494e-02 - 2.469020177298829e-02 2.468463511029760e-02 2.467907504169421e-02 2.467352155791407e-02 2.466797464651026e-02 - 2.466243429488579e-02 2.465690049712254e-02 2.465137324948606e-02 2.464585254039273e-02 2.464033836402688e-02 - 2.463483071739735e-02 2.462932958374225e-02 2.462383495186045e-02 2.461834681928389e-02 2.461286517898853e-02 - 2.460739002108202e-02 2.460192133524253e-02 2.459645911917798e-02 2.459100336526309e-02 2.458555405446716e-02 - 2.458011118496141e-02 2.457467475465895e-02 2.456924474486533e-02 2.456382114921245e-02 2.455840396700115e-02 - 2.455299319041756e-02 2.454758880740113e-02 2.454219080674820e-02 2.453679918638537e-02 2.453141393576077e-02 - 2.452603503863916e-02 2.452066249180092e-02 2.451529629410615e-02 2.450993644073534e-02 2.450458291517292e-02 - 2.449923570627392e-02 2.449389481263279e-02 2.448856022075961e-02 2.448323192252920e-02 2.447790992354739e-02 - 2.447259420740984e-02 2.446728475663024e-02 2.446198157303190e-02 2.445668465268695e-02 2.445139398411770e-02 - 2.444610955000165e-02 2.444083134675017e-02 2.443555937646448e-02 2.443029362647454e-02 2.442503408583922e-02 - 2.441978074770511e-02 2.441453360513738e-02 2.440929264714783e-02 2.440405786136508e-02 2.439882924944217e-02 - 2.439360680824694e-02 2.438839052372590e-02 2.438318038826778e-02 2.437797639360750e-02 2.437277852674977e-02 - 2.436758678074824e-02 2.436240115296091e-02 2.435722164202054e-02 2.435204823529888e-02 2.434688091817521e-02 - 2.434171968740183e-02 2.433656453724402e-02 2.433141545805634e-02 2.432627243782077e-02 2.432113546933723e-02 - 2.431600455029639e-02 2.431087967900234e-02 2.430576084399959e-02 2.430064802749307e-02 2.429554123205279e-02 - 2.429044044976694e-02 2.428534565606734e-02 2.428025685952290e-02 2.427517406275088e-02 2.427009724038350e-02 - 2.426502638834353e-02 2.425996150697585e-02 2.425490258288459e-02 2.424984960255012e-02 2.424480255754471e-02 - 2.423976144931379e-02 2.423472627405213e-02 2.422969702193537e-02 2.422467367993699e-02 2.421965624107330e-02 - 2.421464470176334e-02 2.420963904926960e-02 2.420463927567678e-02 2.419964537946393e-02 2.419465735323985e-02 - 2.418967518800793e-02 2.418469887545246e-02 2.417972840901141e-02 2.417476377855392e-02 2.416980496962540e-02 - 2.416485198688481e-02 2.415990483049387e-02 2.415496347565664e-02 2.415002792020104e-02 2.414509816788697e-02 - 2.414017420064829e-02 2.413525600526027e-02 2.413034357711665e-02 2.412543691925479e-02 2.412053602209589e-02 - 2.411564086852338e-02 2.411075145960207e-02 2.410586778967854e-02 2.410098984367492e-02 2.409611761892932e-02 - 2.409125110932578e-02 2.408639030144091e-02 2.408153519631380e-02 2.407668578962185e-02 2.407184206146642e-02 - 2.406700400909483e-02 2.406217163125833e-02 2.405734491326586e-02 2.405252385052364e-02 2.404770844026444e-02 - 2.404289866819192e-02 2.403809452984102e-02 2.403329602484744e-02 2.402850314011094e-02 2.402371586479471e-02 - 2.401893419282938e-02 2.401415812045089e-02 2.400938764313821e-02 2.400462275334547e-02 2.399986343578922e-02 - 2.399510968520409e-02 2.399036150812855e-02 2.398561888480285e-02 2.398088180164008e-02 2.397615026865237e-02 - 2.397142427338870e-02 2.396670380040281e-02 2.396198885088599e-02 2.395727942113068e-02 2.395257549962209e-02 - 2.394787706723708e-02 2.394318412617158e-02 2.393849668455232e-02 2.393381472012022e-02 2.392913822141401e-02 - 2.392446719065216e-02 2.391980162598514e-02 2.391514151312970e-02 2.391048683154523e-02 2.390583758880722e-02 - 2.390119378770886e-02 2.389655541357522e-02 2.389192245255953e-02 2.388729489743550e-02 2.388267274893805e-02 - 2.387805599705324e-02 2.387344463051915e-02 2.386883864637205e-02 2.386423804212813e-02 2.385964281176755e-02 - 2.385505294183017e-02 2.385046842474073e-02 2.384588925674739e-02 2.384131543037479e-02 2.383674693675093e-02 - 2.383218376863605e-02 2.382762592698097e-02 2.382307340607612e-02 2.381852619200930e-02 2.381398427584630e-02 - 2.380944765139419e-02 2.380491631418275e-02 2.380039026147703e-02 2.379586948695320e-02 2.379135397827495e-02 - 2.378684372855616e-02 2.378233873403001e-02 2.377783899070361e-02 2.377334448688785e-02 2.376885521259772e-02 - 2.376437117173840e-02 2.375989235311110e-02 2.375541874056297e-02 2.375095033967465e-02 2.374648714507580e-02 - 2.374202914136664e-02 2.373757632537944e-02 2.373312869288914e-02 2.372868623536894e-02 2.372424894471153e-02 - 2.371981681484819e-02 2.371538984133524e-02 2.371096801501392e-02 2.370655132827953e-02 2.370213977833190e-02 - 2.369773335765337e-02 2.369333205880069e-02 2.368893587883010e-02 2.368454481046802e-02 2.368015884444250e-02 - 2.367577797334512e-02 2.367140218742613e-02 2.366703147963686e-02 2.366266585606776e-02 2.365830530976384e-02 - 2.365394982335759e-02 2.364959939168465e-02 2.364525401200215e-02 2.364091367903051e-02 2.363657837870221e-02 - 2.363224810602428e-02 2.362792286773459e-02 2.362360264929340e-02 2.361928743769403e-02 2.361497723470610e-02 - 2.361067203383207e-02 2.360637182449869e-02 2.360207659794005e-02 2.359778635431920e-02 2.359350109143980e-02 - 2.358922079027601e-02 2.358494544772182e-02 2.358067506765588e-02 2.357640963547734e-02 2.357214914179353e-02 - 2.356789358468287e-02 2.356364296127548e-02 2.355939726289868e-02 2.355515647729875e-02 2.355092060314220e-02 - 2.354668963726047e-02 2.354246356971432e-02 2.353824239065819e-02 2.353402609608870e-02 2.352981468856027e-02 - 2.352560815209497e-02 2.352140647526573e-02 2.351720967050562e-02 2.351301772305351e-02 2.350883061252196e-02 - 2.350464834642137e-02 2.350047092197861e-02 2.349629832802946e-02 2.349213055910952e-02 2.348796760574937e-02 - 2.348380945835795e-02 2.347965612326723e-02 2.347550759163322e-02 2.347136384068571e-02 2.346722487769892e-02 - 2.346309070523777e-02 2.345896130833473e-02 2.345483667635093e-02 2.345071680463291e-02 2.344660169327714e-02 - 2.344249133136094e-02 2.343838570884467e-02 2.343428482723373e-02 2.343018868068117e-02 2.342609726030811e-02 - 2.342201056195244e-02 2.341792857876926e-02 2.341385130156056e-02 2.340977872164902e-02 2.340571083589386e-02 - 2.340164764377465e-02 2.339758913684304e-02 2.339353530825718e-02 2.338948615385810e-02 2.338544166438565e-02 - 2.338140183238109e-02 2.337736665460082e-02 2.337333612670094e-02 2.336931024309368e-02 2.336528899670786e-02 - 2.336127237782067e-02 2.335726037932775e-02 2.335325300092871e-02 2.334925023614406e-02 2.334525207670920e-02 - 2.334125851951941e-02 2.333726955725296e-02 2.333328518197435e-02 2.332930539416707e-02 2.332533018620607e-02 - 2.332135954429912e-02 2.331739346348105e-02 2.331343194297124e-02 2.330947498175055e-02 2.330552256758802e-02 - 2.330157469245372e-02 2.329763135682490e-02 2.329369255310137e-02 2.328975827131819e-02 2.328582850377367e-02 - 2.328190324900185e-02 2.327798250467623e-02 2.327406626164597e-02 2.327015451465238e-02 2.326624725851670e-02 - 2.326234448228765e-02 2.325844618291867e-02 2.325455236057939e-02 2.325066300636415e-02 2.324677811186985e-02 - 2.324289767062798e-02 2.323902167622130e-02 2.323515012509116e-02 2.323128301561370e-02 2.322742034088871e-02 - 2.322356209250113e-02 2.321970826255392e-02 2.321585884544971e-02 2.321201383858435e-02 2.320817324137425e-02 - 2.320433704277431e-02 2.320050523099401e-02 2.319667780275936e-02 2.319285475700314e-02 2.318903609087885e-02 - 2.318522179577433e-02 2.318141186586264e-02 2.317760629632794e-02 2.317380507773795e-02 2.317000820301008e-02 - 2.316621566880872e-02 2.316242747510807e-02 2.315864361575457e-02 2.315486407850317e-02 2.315108885694486e-02 - 2.314731794816131e-02 2.314355135044316e-02 2.313978905662257e-02 2.313603105913640e-02 2.313227735329952e-02 - 2.312852793585061e-02 2.312478280157292e-02 2.312104194073204e-02 2.311730534704967e-02 2.311357301587891e-02 - 2.310984494137890e-02 2.310612112341407e-02 2.310240155989217e-02 2.309868623130452e-02 2.309497513592190e-02 - 2.309126828241582e-02 2.308756565023808e-02 2.308386723175103e-02 2.308017303542274e-02 2.307648304592169e-02 - 2.307279725617671e-02 2.306911567493640e-02 2.306543828441958e-02 2.306176507302976e-02 2.305809605235563e-02 - 2.305443121050249e-02 2.305077053229759e-02 2.304711401909808e-02 2.304346166830784e-02 2.303981347406350e-02 - 2.303616943085239e-02 2.303252953349069e-02 2.302889377643319e-02 2.302526215247478e-02 2.302163465435939e-02 - 2.301801127709388e-02 2.301439202296127e-02 2.301077688440331e-02 2.300716584594829e-02 2.300355891234385e-02 - 2.299995607931316e-02 2.299635732709070e-02 2.299276266087610e-02 2.298917208378683e-02 2.298558558107965e-02 - 2.298200314503575e-02 2.297842477288603e-02 2.297485046311076e-02 2.297128020911345e-02 2.296771400315858e-02 - 2.296415184168031e-02 2.296059371667762e-02 2.295703962066644e-02 2.295348955785851e-02 2.294994352217295e-02 - 2.294640149900077e-02 2.294286348264926e-02 2.293932947451599e-02 2.293579947717141e-02 2.293227347444131e-02 - 2.292875145668869e-02 2.292523342863249e-02 2.292171938675970e-02 2.291820932208030e-02 2.291470322329688e-02 - 2.291120108573121e-02 2.290770290936340e-02 2.290420869564250e-02 2.290071843254762e-02 2.289723210840996e-02 - 2.289374972996874e-02 2.289027128684278e-02 2.288679676284003e-02 2.288332616596880e-02 2.287985949623025e-02 - 2.287639674290211e-02 2.287293789614104e-02 2.286948295143698e-02 2.286603190794522e-02 2.286258475709644e-02 - 2.285914149325583e-02 2.285570211629635e-02 2.285226661817064e-02 2.284883499242224e-02 2.284540723897847e-02 - 2.284198334984975e-02 2.283856331588243e-02 2.283514713353579e-02 2.283173480111027e-02 2.282832631556901e-02 - 2.282492166909090e-02 2.282152085461623e-02 2.281812386736860e-02 2.281473070606539e-02 2.281134136558116e-02 - 2.280795583769253e-02 2.280457411713410e-02 2.280119619914733e-02 2.279782207936136e-02 2.279445175627783e-02 - 2.279108522557549e-02 2.278772247795469e-02 2.278436350274908e-02 2.278100829770330e-02 2.277765687156956e-02 - 2.277430921150676e-02 2.277096530368425e-02 2.276762515226868e-02 2.276428875675497e-02 2.276095610802096e-02 - 2.275762718728153e-02 2.275430199700514e-02 2.275098054723153e-02 2.274766282325953e-02 2.274434881806882e-02 - 2.274103853245654e-02 2.273773195657694e-02 2.273442908251650e-02 2.273112990748000e-02 2.272783443024632e-02 - 2.272454264587135e-02 2.272125454541999e-02 2.271797012768606e-02 2.271468938883630e-02 2.271141231743784e-02 - 2.270813891155475e-02 2.270486917113991e-02 2.270160309030139e-02 2.269834065991423e-02 2.269508187421201e-02 - 2.269182673791773e-02 2.268857524219826e-02 2.268532737305624e-02 2.268208313254210e-02 2.267884251722086e-02 - 2.267560551920548e-02 2.267237214108131e-02 2.266914237609957e-02 2.266591620883689e-02 2.266269364166427e-02 - 2.265947467384046e-02 2.265625929499294e-02 2.265304750285308e-02 2.264983929495161e-02 2.264663466331073e-02 - 2.264343359962570e-02 2.264023610100446e-02 2.263704217283995e-02 2.263385180078203e-02 2.263066497176033e-02 - 2.262748170200772e-02 2.262430198020481e-02 2.262112578516977e-02 2.261795313211606e-02 2.261478401664109e-02 - 2.261161841743119e-02 2.260845633522814e-02 2.260529777070043e-02 2.260214271924124e-02 2.259899117823321e-02 - 2.259584314154298e-02 2.259269859890657e-02 2.258955754741791e-02 2.258641998536936e-02 2.258328590829124e-02 - 2.258015531052365e-02 2.257702818646037e-02 2.257390453172050e-02 2.257078434461123e-02 2.256766762198980e-02 - 2.256455435398716e-02 2.256144453344060e-02 2.255833815784602e-02 2.255523523027356e-02 2.255213574452021e-02 - 2.254903968810603e-02 2.254594705829782e-02 2.254285785514665e-02 2.253977207653749e-02 2.253668970834607e-02 - 2.253361074658835e-02 2.253053520058667e-02 2.252746305460894e-02 2.252439429792020e-02 2.252132894054988e-02 - 2.251826697539277e-02 2.251520839162438e-02 2.251215318778324e-02 2.250910135797150e-02 2.250605289615611e-02 - 2.250300780314812e-02 2.249996607511807e-02 2.249692770517706e-02 2.249389268897849e-02 2.249086101912092e-02 - 2.248783268793952e-02 2.248480769791340e-02 2.248178604607573e-02 2.247876772289102e-02 2.247575272657626e-02 - 2.247274105420605e-02 2.246973269884927e-02 2.246672765673356e-02 2.246372592391256e-02 2.246072749418018e-02 - 2.245773236145919e-02 2.245474052366870e-02 2.245175198466864e-02 2.244876673416187e-02 2.244578475935081e-02 - 2.244280606154297e-02 2.243983064008646e-02 2.243685849064164e-02 2.243388960632717e-02 2.243092397966235e-02 - 2.242796160524575e-02 2.242500248562306e-02 2.242204661762487e-02 2.241909399183298e-02 2.241614460666303e-02 - 2.241319845819517e-02 2.241025553754803e-02 2.240731584245553e-02 2.240437937032112e-02 2.240144611432051e-02 - 2.239851607018801e-02 2.239558923444239e-02 2.239266560299412e-02 2.238974517661811e-02 2.238682795331298e-02 - 2.238391391839321e-02 2.238100306495051e-02 2.237809539304577e-02 2.237519090301935e-02 2.237228958954325e-02 - 2.236939144530989e-02 2.236649647337483e-02 2.236360466636645e-02 2.236071600836286e-02 2.235783050633204e-02 - 2.235494816009726e-02 2.235206895420678e-02 2.234919288912077e-02 2.234631996540050e-02 2.234345017408028e-02 - 2.234058350741709e-02 2.233771996217690e-02 2.233485954108143e-02 2.233200223848051e-02 2.232914804618978e-02 - 2.232629696222737e-02 2.232344898389008e-02 2.232060410657171e-02 2.231776232362639e-02 2.231492363175558e-02 - 2.231208802922137e-02 2.230925550831191e-02 2.230642606279709e-02 2.230359969032392e-02 2.230077639232617e-02 - 2.229795616382932e-02 2.229513899284023e-02 2.229232488215048e-02 2.228951382986107e-02 2.228670582046145e-02 - 2.228390085767177e-02 2.228109894426768e-02 2.227830006461064e-02 2.227550421765863e-02 2.227271140560883e-02 - 2.226992161633195e-02 2.226713484518715e-02 2.226435109357777e-02 2.226157036041665e-02 2.225879263594571e-02 - 2.225601790864145e-02 2.225324618600033e-02 2.225047746610503e-02 2.224771173578603e-02 2.224494899695189e-02 - 2.224218924606724e-02 2.223943246967720e-02 2.223667867147697e-02 2.223392785229840e-02 2.223117999944780e-02 - 2.222843510958861e-02 2.222569318138216e-02 2.222295420869658e-02 2.222021819230338e-02 2.221748513172378e-02 - 2.221475501403353e-02 2.221202783347761e-02 2.220930358964832e-02 2.220658227937696e-02 2.220386389978368e-02 - 2.220114844711944e-02 2.219843591216284e-02 2.219572629440826e-02 2.219301959936691e-02 2.219031581219321e-02 - 2.218761492468887e-02 2.218491694233576e-02 2.218222185562244e-02 2.217952965986671e-02 2.217684036403281e-02 - 2.217415395419634e-02 2.217147041795686e-02 2.216878976537657e-02 2.216611199005385e-02 2.216343708084910e-02 - 2.216076504044857e-02 2.215809586407636e-02 2.215542954392592e-02 2.215276608232491e-02 2.215010547339664e-02 - 2.214744770611955e-02 2.214479278225410e-02 2.214214070177000e-02 2.213949145934428e-02 2.213684504847090e-02 - 2.213420146383213e-02 2.213156070201421e-02 2.212892275987791e-02 2.212628763520102e-02 2.212365532631548e-02 - 2.212102582567219e-02 2.211839912707401e-02 2.211577523186081e-02 2.211315413883962e-02 2.211053584219323e-02 - 2.210792033053083e-02 2.210530760247808e-02 2.210269766011106e-02 2.210009049378774e-02 2.209748609987134e-02 - 2.209488448015577e-02 2.209228563063591e-02 2.208968954607055e-02 2.208709622107550e-02 2.208450564887732e-02 - 2.208191782589816e-02 2.207933275252874e-02 2.207675042560285e-02 2.207417084119970e-02 2.207159399606388e-02 - 2.206901988424427e-02 2.206644850045388e-02 2.206387984291528e-02 2.206131390816773e-02 2.205875069196218e-02 - 2.205619019101501e-02 2.205363240248722e-02 2.205107732226570e-02 2.204852494231603e-02 2.204597526222870e-02 - 2.204342828418220e-02 2.204088399409952e-02 2.203834238815479e-02 2.203580347352047e-02 2.203326724064265e-02 - 2.203073368487589e-02 2.202820281109562e-02 2.202567460568826e-02 2.202314905892956e-02 2.202062617713913e-02 - 2.201810595951965e-02 2.201558839960293e-02 2.201307348855861e-02 2.201056122699519e-02 2.200805161543166e-02 - 2.200554464185156e-02 2.200304030240887e-02 2.200053859846551e-02 2.199803952619762e-02 2.199554308107517e-02 - 2.199304925941878e-02 2.199055805969111e-02 2.198806947716193e-02 2.198558350490501e-02 2.198310014348315e-02 - 2.198061939050182e-02 2.197814123774413e-02 2.197566568143648e-02 2.197319271829654e-02 2.197072234409288e-02 - 2.196825456242376e-02 2.196578937054303e-02 2.196332674903257e-02 2.196086670076693e-02 2.195840923401799e-02 - 2.195595433798292e-02 2.195350200785295e-02 2.195105224287541e-02 2.194860503638501e-02 2.194616038337459e-02 - 2.194371828086876e-02 2.194127872478465e-02 2.193884171275727e-02 2.193640724439015e-02 2.193397531871202e-02 - 2.193154592984012e-02 2.192911906730429e-02 2.192669472874541e-02 2.192427291582612e-02 2.192185362988310e-02 - 2.191943685926103e-02 2.191702259589666e-02 2.191461084837004e-02 2.191220161094460e-02 2.190979487232746e-02 - 2.190739062981033e-02 2.190498888177591e-02 2.190258962778606e-02 2.190019287048831e-02 2.189779860038415e-02 - 2.189540680312951e-02 2.189301748590321e-02 2.189063064823816e-02 2.188824627921663e-02 2.188586438035036e-02 - 2.188348494945867e-02 2.188110797669410e-02 2.187873346273279e-02 2.187636140793982e-02 2.187399180563438e-02 - 2.187162464701073e-02 2.186925992764394e-02 2.186689765219864e-02 2.186453782016761e-02 2.186218042520733e-02 - 2.185982545624109e-02 2.185747291143151e-02 2.185512279286289e-02 2.185277509428750e-02 2.185042981497303e-02 - 2.184808695595145e-02 2.184574650317918e-02 2.184340845337333e-02 2.184107281435048e-02 2.183873957690715e-02 - 2.183640873122354e-02 2.183408027442373e-02 2.183175421068970e-02 2.182943053984947e-02 2.182710925220595e-02 - 2.182479034512406e-02 2.182247381639650e-02 2.182015965839264e-02 2.181784786935527e-02 2.181553844939510e-02 - 2.181323139439093e-02 2.181092669994856e-02 2.180862436262286e-02 2.180632438083940e-02 2.180402674952244e-02 - 2.180173146217098e-02 2.179943851892379e-02 2.179714791838810e-02 2.179485965603752e-02 2.179257372764807e-02 - 2.179029013045416e-02 2.178800886254997e-02 2.178572991731780e-02 2.178345329019238e-02 2.178117898198011e-02 - 2.177890698980304e-02 2.177663730909087e-02 2.177436993586566e-02 2.177210486810286e-02 2.176984210277431e-02 - 2.176758163245009e-02 2.176532345522340e-02 2.176306757137086e-02 2.176081397536724e-02 2.175856266623576e-02 - 2.175631364444715e-02 2.175406689861889e-02 2.175182242380624e-02 2.174958022311289e-02 2.174734029291431e-02 - 2.174510262809328e-02 2.174286722491656e-02 2.174063408336708e-02 2.173840320169586e-02 2.173617457340815e-02 - 2.173394819180500e-02 2.173172405255836e-02 2.172950215559655e-02 2.172728250040623e-02 2.172506508580887e-02 - 2.172284990969628e-02 2.172063696250313e-02 2.171842623537083e-02 2.171621773566752e-02 2.171401146093844e-02 - 2.171180740120238e-02 2.170960555830954e-02 2.170740592901658e-02 2.170520850408856e-02 2.170301328419004e-02 - 2.170082027006994e-02 2.169862945830807e-02 2.169644084240343e-02 2.169425441572978e-02 2.169207017401216e-02 - 2.168988812007480e-02 2.168770825534887e-02 2.168553057272023e-02 2.168335506533793e-02 2.168118172867985e-02 - 2.167901056214399e-02 2.167684156632982e-02 2.167467473989915e-02 2.167251007478243e-02 2.167034756604321e-02 - 2.166818721221639e-02 2.166602901099679e-02 2.166387295840019e-02 2.166171905012346e-02 2.165956728718834e-02 - 2.165741766632386e-02 2.165527017845730e-02 2.165312482355555e-02 2.165098160273919e-02 2.164884051303741e-02 - 2.164670154730472e-02 2.164456469954934e-02 2.164242996946321e-02 2.164029735885670e-02 2.163816686523918e-02 - 2.163603847533059e-02 2.163391219068715e-02 2.163178801684997e-02 2.162966593882407e-02 2.162754595404139e-02 - 2.162542806873079e-02 2.162331227177066e-02 2.162119856181649e-02 2.161908694674025e-02 2.161697741144211e-02 - 2.161486994763257e-02 2.161276456243416e-02 2.161066125301312e-02 2.160856001324272e-02 2.160646083892226e-02 - 2.160436373197112e-02 2.160226869104043e-02 2.160017570438035e-02 2.159808476849354e-02 2.159599588501710e-02 - 2.159390905460169e-02 2.159182427010056e-02 2.158974152429478e-02 2.158766082444429e-02 2.158558216760809e-02 - 2.158350554187339e-02 2.158143094233737e-02 2.157935837033232e-02 2.157728782941571e-02 2.157521931196140e-02 - 2.157315281164952e-02 2.157108832745493e-02 2.156902585566251e-02 2.156696539445298e-02 2.156490694526656e-02 - 2.156285049964247e-02 2.156079605212440e-02 2.155874360997529e-02 2.155669316474123e-02 2.155464470676604e-02 - 2.155259824484399e-02 2.155055377365348e-02 2.154851128035285e-02 2.154647076406023e-02 2.154443222886153e-02 - 2.154239567713112e-02 2.154036109691455e-02 2.153832848380287e-02 2.153629784162443e-02 2.153426916110383e-02 - 2.153224243839968e-02 2.153021767928900e-02 2.152819487735599e-02 2.152617402486068e-02 2.152415511969989e-02 - 2.152213816346627e-02 2.152012315489333e-02 2.151811008517867e-02 2.151609895106827e-02 2.151408975350627e-02 - 2.151208249405811e-02 2.151007716412923e-02 2.150807375412716e-02 2.150607227139823e-02 2.150407271389111e-02 - 2.150207507178008e-02 2.150007934512424e-02 2.149808553345600e-02 2.149609363244227e-02 2.149410363369511e-02 - 2.149211553597770e-02 2.149012934592863e-02 2.148814505588094e-02 2.148616265955859e-02 2.148418215959600e-02 - 2.148220354775919e-02 2.148022681859241e-02 2.147825198020547e-02 2.147627902590631e-02 2.147430794498996e-02 - 2.147233873858447e-02 2.147037140717467e-02 2.146840594879004e-02 2.146644235912430e-02 2.146448063553682e-02 - 2.146252077578778e-02 2.146056277288728e-02 2.145860662318243e-02 2.145665232726965e-02 2.145469988438242e-02 - 2.145274929256557e-02 2.145080054831608e-02 2.144885364454498e-02 2.144690857746641e-02 2.144496534942983e-02 - 2.144302395654175e-02 2.144108439499599e-02 2.143914666610025e-02 2.143721076355154e-02 2.143527668029283e-02 - 2.143334441800114e-02 2.143141397685691e-02 2.142948535268880e-02 2.142755853497146e-02 2.142563352602930e-02 - 2.142371033388222e-02 2.142178894500280e-02 2.141986935358769e-02 2.141795156402302e-02 2.141603556793572e-02 - 2.141412136230918e-02 2.141220895321441e-02 2.141029833297722e-02 2.140838949470163e-02 2.140648244009975e-02 - 2.140457716697424e-02 2.140267367166504e-02 2.140077195168551e-02 2.139887200433115e-02 2.139697382547902e-02 - 2.139507740888590e-02 2.139318275720074e-02 2.139128987343195e-02 2.138939874415982e-02 2.138750936775835e-02 - 2.138562175102568e-02 2.138373588641631e-02 2.138185176599392e-02 2.137996938652284e-02 2.137808875223814e-02 - 2.137620986251236e-02 2.137433270909064e-02 2.137245728978030e-02 2.137058360186242e-02 2.136871163953864e-02 - 2.136684140688612e-02 2.136497290390506e-02 2.136310611597474e-02 2.136124104345297e-02 2.135937769212130e-02 - 2.135751605860686e-02 2.135565613610374e-02 2.135379791822062e-02 2.135194140402438e-02 2.135008659417071e-02 - 2.134823348788390e-02 2.134638207760105e-02 2.134453236032835e-02 2.134268433814086e-02 2.134083800772077e-02 - 2.133899336411597e-02 2.133715040305821e-02 2.133530912424798e-02 2.133346952672500e-02 2.133163160670673e-02 - 2.132979536297411e-02 2.132796079152963e-02 2.132612788229375e-02 2.132429663915477e-02 2.132246706798375e-02 - 2.132063916037057e-02 2.131881290769116e-02 2.131698830582932e-02 2.131516535978050e-02 2.131334407028698e-02 - 2.131152443198118e-02 2.130970643552249e-02 2.130789007885127e-02 2.130607536669811e-02 2.130426229682303e-02 - 2.130245086421657e-02 2.130064106313053e-02 2.129883288837854e-02 2.129702633875496e-02 2.129522141788389e-02 - 2.129341812290223e-02 2.129161644909972e-02 2.128981639414264e-02 2.128801795585396e-02 2.128622113110773e-02 - 2.128442591509673e-02 2.128263230760480e-02 2.128084030772261e-02 2.127904990395241e-02 2.127726109953179e-02 - 2.127547390424031e-02 2.127368830171838e-02 2.127190428479188e-02 2.127012186038021e-02 2.126834102886177e-02 - 2.126656178481652e-02 2.126478411995624e-02 2.126300803603507e-02 2.126123353191450e-02 2.125946059821390e-02 - 2.125768923851055e-02 2.125591945439615e-02 2.125415123382016e-02 2.125238457915817e-02 2.125061949358618e-02 - 2.124885596288304e-02 2.124709398735697e-02 2.124533357303348e-02 2.124357470952245e-02 2.124181739435340e-02 - 2.124006163206048e-02 2.123830741948956e-02 2.123655475001017e-02 2.123480361731545e-02 2.123305402409987e-02 - 2.123130596739953e-02 2.122955943693203e-02 2.122781443910126e-02 2.122607097723360e-02 2.122432904130337e-02 - 2.122258862659696e-02 2.122084973282204e-02 2.121911236175234e-02 2.121737650789419e-02 2.121564216387619e-02 - 2.121390932803162e-02 2.121217800425756e-02 2.121044819455527e-02 2.120871988671843e-02 2.120699307684077e-02 - 2.120526776795157e-02 2.120354395552526e-02 2.120182163603621e-02 2.120010080901829e-02 2.119838147500087e-02 - 2.119666363123091e-02 2.119494727091758e-02 2.119323238927472e-02 2.119151898655034e-02 2.118980706773010e-02 - 2.118809662574528e-02 2.118638765303925e-02 2.118468015121633e-02 2.118297411864271e-02 2.118126955146517e-02 - 2.117956644637810e-02 2.117786480292237e-02 2.117616462067450e-02 2.117446589411339e-02 2.117276862084477e-02 - 2.117107280130004e-02 2.116937843379139e-02 2.116768551256503e-02 2.116599403067535e-02 2.116430399205533e-02 - 2.116261539753040e-02 2.116092824074994e-02 2.115924251858398e-02 2.115755822756320e-02 2.115587536308644e-02 - 2.115419393062315e-02 2.115251393109511e-02 2.115083534999197e-02 2.114915818684827e-02 2.114748244571777e-02 - 2.114580812117730e-02 2.114413521000233e-02 2.114246371011731e-02 2.114079361630021e-02 2.113912493113981e-02 - 2.113745765864524e-02 2.113579178347091e-02 2.113412730283017e-02 2.113246422731517e-02 2.113080255018658e-02 - 2.112914226466844e-02 2.112748336987266e-02 2.112582586239263e-02 2.112416973838773e-02 2.112251499585494e-02 - 2.112086163946853e-02 2.111920966923609e-02 2.111755907231158e-02 2.111590984741022e-02 2.111426199652882e-02 - 2.111261551330255e-02 2.111097039854193e-02 2.110932665501722e-02 2.110768427494188e-02 2.110604325159932e-02 - 2.110440358337455e-02 2.110276527755971e-02 2.110112832954347e-02 2.109949272542061e-02 2.109785847270291e-02 - 2.109622557382813e-02 2.109459401840321e-02 2.109296380279178e-02 2.109133492634166e-02 2.108970738897449e-02 - 2.108808119187406e-02 2.108645633261542e-02 2.108483280177793e-02 2.108321059649476e-02 2.108158971816587e-02 - 2.107997016818712e-02 2.107835194176262e-02 2.107673503228282e-02 2.107511943992769e-02 2.107350516482023e-02 - 2.107189220511111e-02 2.107028055587330e-02 2.106867021606288e-02 2.106706118735907e-02 2.106545346293816e-02 - 2.106384703796383e-02 2.106224191316689e-02 2.106063808955507e-02 2.105903556250238e-02 2.105743432153898e-02 - 2.105583437513380e-02 2.105423572746437e-02 2.105263836035830e-02 2.105104227142354e-02 2.104944746729932e-02 - 2.104785395134047e-02 2.104626171573087e-02 2.104467074966839e-02 2.104308105452007e-02 2.104149263222363e-02 - 2.103990548218236e-02 2.103831959968388e-02 2.103673498293864e-02 2.103515163200819e-02 2.103356953798411e-02 - 2.103198869775456e-02 2.103040911733209e-02 2.102883079574534e-02 2.102725372695269e-02 2.102567790273802e-02 - 2.102410332486244e-02 2.102252999507990e-02 2.102095790737760e-02 2.101938706174730e-02 2.101781745879964e-02 - 2.101624909192282e-02 2.101468195450770e-02 2.101311604447429e-02 2.101155137000445e-02 2.100998792857284e-02 - 2.100842571064132e-02 2.100686471849675e-02 2.100530495078897e-02 2.100374640001838e-02 2.100218906014547e-02 - 2.100063293273019e-02 2.099907802537045e-02 2.099752433031871e-02 2.099597184169578e-02 2.099442056340826e-02 - 2.099287048844137e-02 2.099132161182849e-02 2.098977394056553e-02 2.098822746767990e-02 2.098668218492037e-02 - 2.098513809937855e-02 2.098359520656010e-02 2.098205349870481e-02 2.098051298433238e-02 2.097897365788888e-02 - 2.097743550607582e-02 2.097589853771057e-02 2.097436275317134e-02 2.097282814179318e-02 2.097129470444368e-02 - 2.096976244194844e-02 2.096823135057212e-02 2.096670142502171e-02 2.096517266432222e-02 2.096364507294766e-02 - 2.096211864290872e-02 2.096059336882086e-02 2.095906925902597e-02 2.095754630598820e-02 2.095602449947026e-02 - 2.095450384463222e-02 2.095298434369944e-02 2.095146599313072e-02 2.094994878341327e-02 2.094843271500539e-02 - 2.094691779352117e-02 2.094540401073429e-02 2.094389136288097e-02 2.094237985194064e-02 2.094086947133280e-02 - 2.093936021927527e-02 2.093785210108921e-02 2.093634511142213e-02 2.093483924325246e-02 2.093333449385128e-02 - 2.093183086645815e-02 2.093032836253444e-02 2.092882697593887e-02 2.092732670311165e-02 2.092582754108962e-02 - 2.092432948474122e-02 2.092283253800634e-02 2.092133670446908e-02 2.091984196956714e-02 2.091834833166288e-02 - 2.091685579922333e-02 2.091536436905392e-02 2.091387403364116e-02 2.091238478662568e-02 2.091089663391256e-02 - 2.090940957508328e-02 2.090792359986955e-02 2.090643871032298e-02 2.090495490818039e-02 2.090347218811059e-02 - 2.090199054718417e-02 2.090050998308706e-02 2.089903049243704e-02 2.089755207414248e-02 2.089607472810411e-02 - 2.089459845325996e-02 2.089312324594328e-02 2.089164910255710e-02 2.089017602427597e-02 2.088870401009232e-02 - 2.088723305634642e-02 2.088576315893389e-02 2.088429431601771e-02 2.088282652696964e-02 2.088135978615913e-02 - 2.087989409321534e-02 2.087842945395569e-02 2.087696586275656e-02 2.087550331287119e-02 2.087404180207852e-02 - 2.087258132736208e-02 2.087112188861259e-02 2.086966349090147e-02 2.086820612891688e-02 2.086674979608584e-02 - 2.086529449590395e-02 2.086384022331517e-02 2.086238697045790e-02 2.086093474039187e-02 2.085948353444753e-02 - 2.085803335091995e-02 2.085658418796912e-02 2.085513604081134e-02 2.085368890289571e-02 2.085224277300881e-02 - 2.085079765267601e-02 2.084935354393509e-02 2.084791044341373e-02 2.084646834711395e-02 2.084502725286095e-02 - 2.084358715744794e-02 2.084214805848912e-02 2.084070995598070e-02 2.083927284909677e-02 2.083783673573611e-02 - 2.083640161226469e-02 2.083496747523998e-02 2.083353432223483e-02 2.083210215303235e-02 2.083067096927498e-02 - 2.082924077044086e-02 2.082781154460241e-02 2.082638329211299e-02 2.082495602309350e-02 2.082352972509603e-02 - 2.082210439277076e-02 2.082068003454410e-02 2.081925664261260e-02 2.081783421113447e-02 2.081641274508624e-02 - 2.081499224082686e-02 2.081357269450268e-02 2.081215410878219e-02 2.081073647873721e-02 2.080931979776872e-02 - 2.080790406592918e-02 2.080648928500749e-02 2.080507545608266e-02 2.080366257645188e-02 2.080225063919177e-02 - 2.080083963814898e-02 2.079942957984240e-02 2.079802046255642e-02 2.079661227641324e-02 2.079520502452446e-02 - 2.079379870732677e-02 2.079239331877295e-02 2.079098886066600e-02 2.078958533155146e-02 2.078818272238310e-02 - 2.078678103594075e-02 2.078538027480030e-02 2.078398043169412e-02 2.078258150517176e-02 2.078118349582184e-02 - 2.077978640032045e-02 2.077839021518007e-02 2.077699493798996e-02 2.077560056860569e-02 2.077420710626992e-02 - 2.077281454908150e-02 2.077142289397691e-02 2.077003213665487e-02 2.076864227381708e-02 2.076725331084939e-02 - 2.076586524753700e-02 2.076447807479244e-02 2.076309178893910e-02 2.076170639200464e-02 2.076032188924749e-02 - 2.075893827075576e-02 2.075755552867013e-02 2.075617367037054e-02 2.075479269394757e-02 2.075341259415677e-02 - 2.075203337133167e-02 2.075065502119062e-02 2.074927754004291e-02 2.074790093527532e-02 2.074652520196147e-02 - 2.074515032814618e-02 2.074377631824518e-02 2.074240317461906e-02 2.074103089389617e-02 2.073965947285912e-02 - 2.073828890806665e-02 2.073691919635770e-02 2.073555033844026e-02 2.073418233381763e-02 2.073281517823886e-02 - 2.073144886803073e-02 2.073008340377233e-02 2.072871879147831e-02 2.072735502222402e-02 2.072599208688765e-02 - 2.072462999392301e-02 2.072326873860233e-02 2.072190831224300e-02 2.072054872378210e-02 2.071918997148765e-02 - 2.071783204556565e-02 2.071647494755481e-02 2.071511867766477e-02 2.071376323196711e-02 2.071240860565183e-02 - 2.071105479791370e-02 2.070970181180314e-02 2.070834964331268e-02 2.070699828917085e-02 2.070564775075080e-02 - 2.070429802727900e-02 2.070294911380581e-02 2.070160100113699e-02 2.070025369244763e-02 2.069890719322030e-02 - 2.069756149841416e-02 2.069621660331007e-02 2.069487250616514e-02 2.069352920972353e-02 2.069218670843115e-02 - 2.069084499406914e-02 2.068950407478504e-02 2.068816395008570e-02 2.068682460979861e-02 2.068548605525363e-02 - 2.068414828647597e-02 2.068281129879088e-02 2.068147509294542e-02 2.068013966727868e-02 2.067880501481977e-02 - 2.067747113766845e-02 2.067613803889334e-02 2.067480571527677e-02 2.067347415977921e-02 2.067214336769299e-02 - 2.067081334319025e-02 2.066948408776949e-02 2.066815559807265e-02 2.066682786498898e-02 2.066550088830383e-02 - 2.066417467341183e-02 2.066284921698086e-02 2.066152451475288e-02 2.066020056372571e-02 2.065887736182303e-02 - 2.065755490839281e-02 2.065623320354572e-02 2.065491224367795e-02 2.065359202675738e-02 2.065227255436574e-02 - 2.065095382314874e-02 2.064963582941213e-02 2.064831857270797e-02 2.064700204957123e-02 2.064568625651786e-02 - 2.064437119414936e-02 2.064305686324694e-02 2.064174326345409e-02 2.064043039179931e-02 2.063911824280925e-02 - 2.063780681176866e-02 2.063649610237503e-02 2.063518611610314e-02 2.063387684909248e-02 2.063256829217405e-02 - 2.063126044539576e-02 2.062995331851188e-02 2.062864690334512e-02 2.062734119190086e-02 2.062603618600375e-02 - 2.062473188642144e-02 2.062342829221786e-02 2.062212540064643e-02 2.062082320714733e-02 2.061952170915304e-02 - 2.061822091004314e-02 2.061692080716460e-02 2.061562139605911e-02 2.061432267954307e-02 2.061302465323251e-02 - 2.061172730955065e-02 2.061043065371613e-02 2.060913468523504e-02 2.060783939685846e-02 2.060654478913799e-02 - 2.060525086119714e-02 2.060395760866959e-02 2.060266503271371e-02 2.060137313244415e-02 2.060008190215519e-02 - 2.059879134465455e-02 2.059750146004468e-02 2.059621223782829e-02 2.059492368052522e-02 2.059363579225837e-02 - 2.059234856405708e-02 2.059106199328788e-02 2.058977608130871e-02 2.058849082556723e-02 2.058720622498806e-02 - 2.058592227959311e-02 2.058463898696043e-02 2.058335634281647e-02 2.058207434376584e-02 2.058079299573017e-02 - 2.057951229614279e-02 2.057823223269817e-02 2.057695281356401e-02 2.057567404187197e-02 2.057439590387300e-02 - 2.057311839681732e-02 2.057184152455586e-02 2.057056529173392e-02 2.056928969078429e-02 2.056801471376779e-02 - 2.056674036634529e-02 2.056546664830153e-02 2.056419355486686e-02 2.056292108306100e-02 2.056164923170236e-02 - 2.056037800067255e-02 2.055910738924650e-02 2.055783739340399e-02 2.055656800859636e-02 2.055529924146672e-02 - 2.055403109005562e-02 2.055276354110791e-02 2.055149659755915e-02 2.055023026272679e-02 2.054896453244645e-02 - 2.054769940766287e-02 2.054643488681757e-02 2.054517096062926e-02 2.054390763218316e-02 2.054264490512525e-02 - 2.054138276915942e-02 2.054012122328143e-02 2.053886027085424e-02 2.053759990682471e-02 2.053634012878631e-02 - 2.053508093799464e-02 2.053382233647706e-02 2.053256431985532e-02 2.053130687980379e-02 2.053005001911220e-02 - 2.052879373804411e-02 2.052753803104820e-02 2.052628289842169e-02 2.052502834052905e-02 2.052377435424499e-02 - 2.052252093383405e-02 2.052126807833591e-02 2.052001579579881e-02 2.051876408076618e-02 2.051751292558091e-02 - 2.051626233431153e-02 2.051501230108543e-02 2.051376281904528e-02 2.051251389905356e-02 2.051126553806812e-02 - 2.051001772450580e-02 2.050877046477720e-02 2.050752375748313e-02 2.050627759308629e-02 2.050503197764233e-02 - 2.050378691120845e-02 2.050254238346269e-02 2.050129839647772e-02 2.050005495152270e-02 2.049881204279591e-02 - 2.049756967049427e-02 2.049632783497685e-02 2.049508653204386e-02 2.049384576061373e-02 2.049260552085964e-02 - 2.049136581124810e-02 2.049012662828215e-02 2.048888796855573e-02 2.048764983217528e-02 2.048641222055239e-02 - 2.048517513365279e-02 2.048393856449956e-02 2.048270250702790e-02 2.048146696002243e-02 2.048023193267689e-02 - 2.047899742444990e-02 2.047776342204647e-02 2.047652992557144e-02 2.047529693666283e-02 2.047406445284291e-02 - 2.047283247820367e-02 2.047160101124722e-02 2.047037003705319e-02 2.046913955996649e-02 2.046790958805229e-02 - 2.046668011290463e-02 2.046545112747173e-02 2.046422263048016e-02 2.046299462941648e-02 2.046176712182623e-02 - 2.046054009863872e-02 2.045931356011635e-02 2.045808750875261e-02 2.045686194483555e-02 2.045563685869128e-02 - 2.045441224888558e-02 2.045318812405373e-02 2.045196447539730e-02 2.045074129851060e-02 2.044951860203706e-02 - 2.044829637561388e-02 2.044707461146781e-02 2.044585332076453e-02 2.044463250090934e-02 2.044341214478788e-02 - 2.044219225389736e-02 2.044097282684260e-02 2.043975385980242e-02 2.043853534979080e-02 2.043731729516990e-02 - 2.043609969584751e-02 2.043488255365452e-02 2.043366586840525e-02 2.043244963622695e-02 2.043123384788510e-02 - 2.043001850356880e-02 2.042880361352058e-02 2.042758917125052e-02 2.042637516923373e-02 2.042516160738241e-02 - 2.042394848596822e-02 2.042273580364956e-02 2.042152355668345e-02 2.042031174421715e-02 2.041910036711696e-02 - 2.041788942589821e-02 2.041667891618270e-02 2.041546883283581e-02 2.041425917723074e-02 2.041304994671302e-02 - 2.041184113736942e-02 2.041063275507356e-02 2.040942479864618e-02 2.040821725911453e-02 2.040701013329647e-02 - 2.040580342336421e-02 2.040459713364973e-02 2.040339125626194e-02 2.040218578748979e-02 2.040098073437600e-02 - 2.039977609190064e-02 2.039857185194057e-02 2.039736801200263e-02 2.039616457948628e-02 2.039496155847034e-02 - 2.039375893548800e-02 2.039255670811317e-02 2.039135487906758e-02 2.039015344139171e-02 2.038895239754324e-02 - 2.038775175394349e-02 2.038655150008423e-02 2.038535163468296e-02 2.038415216492024e-02 2.038295307932101e-02 - 2.038175437156158e-02 2.038055604740632e-02 2.037935811014152e-02 2.037816055719221e-02 2.037696338008003e-02 - 2.037576657774965e-02 2.037457015197002e-02 2.037337410306159e-02 2.037217842811476e-02 2.037098312337542e-02 - 2.036978818702816e-02 2.036859361901312e-02 2.036739941883561e-02 2.036620558232109e-02 2.036501210897116e-02 - 2.036381899981477e-02 2.036262624936801e-02 2.036143385733716e-02 2.036024182706139e-02 2.035905014947786e-02 - 2.035785882153747e-02 2.035666784977269e-02 2.035547723079831e-02 2.035428696142468e-02 2.035309704319765e-02 - 2.035190747134853e-02 2.035071824110532e-02 2.034952935293085e-02 2.034834080749865e-02 2.034715260430401e-02 - 2.034596474052595e-02 2.034477721202228e-02 2.034359001578161e-02 2.034240315367684e-02 2.034121662664043e-02 - 2.034003043357028e-02 2.033884457132868e-02 2.033765903741480e-02 2.033647382949949e-02 2.033528894162872e-02 - 2.033410437471255e-02 2.033292013620119e-02 2.033173621775026e-02 2.033055261459435e-02 2.032936933387398e-02 - 2.032818637173341e-02 2.032700371995237e-02 2.032582137330103e-02 2.032463934032926e-02 2.032345762721536e-02 - 2.032227621977112e-02 2.032109511380310e-02 2.031991431266943e-02 2.031873381713771e-02 2.031755362367381e-02 - 2.031637372822898e-02 2.031519413522404e-02 2.031401484060572e-02 2.031283583475656e-02 2.031165712768451e-02 - 2.031047872082618e-02 2.030930060067025e-02 2.030812276414845e-02 2.030694521582938e-02 2.030576796297434e-02 - 2.030459099391277e-02 2.030341430130414e-02 2.030223789822972e-02 2.030106177803277e-02 2.029988592949474e-02 - 2.029871035725545e-02 2.029753506661443e-02 2.029636005659757e-02 2.029518531267896e-02 2.029401083596470e-02 - 2.029283663654064e-02 2.029166270589052e-02 2.029048903923464e-02 2.028931563858370e-02 2.028814250195392e-02 - 2.028696962711050e-02 2.028579701358946e-02 2.028462466440920e-02 2.028345257575578e-02 2.028228073462766e-02 - 2.028110914546667e-02 2.027993781542017e-02 2.027876674182124e-02 2.027759591671596e-02 2.027642533515473e-02 - 2.027525500323221e-02 2.027408491983729e-02 2.027291508043819e-02 2.027174548650143e-02 2.027057613494678e-02 - 2.026940701983228e-02 2.026823814087089e-02 2.026706949898955e-02 2.026590109425394e-02 2.026473292320746e-02 - 2.026356498366547e-02 2.026239727592488e-02 2.026122979922282e-02 2.026006255023894e-02 2.025889552388743e-02 - 2.025772872449768e-02 2.025656215399196e-02 2.025539580342713e-02 2.025422967119250e-02 2.025306375830951e-02 - 2.025189806183918e-02 2.025073258129647e-02 2.024956731656576e-02 2.024840226339874e-02 2.024723742127980e-02 - 2.024607279125879e-02 2.024490836776212e-02 2.024374415071052e-02 2.024258014353189e-02 2.024141633571028e-02 - 2.024025272656142e-02 2.023908932762591e-02 2.023792612793740e-02 2.023676312010299e-02 2.023560031179207e-02 - 2.023443769779265e-02 2.023327527310789e-02 2.023211304323675e-02 2.023095100708355e-02 2.022978916007167e-02 - 2.022862749919407e-02 2.022746602379288e-02 2.022630473371739e-02 2.022514362648272e-02 2.022398270121405e-02 - 2.022282195791762e-02 2.022166139402294e-02 2.022050100551405e-02 2.021934078921764e-02 2.021818074920451e-02 - 2.021702088593813e-02 2.021586119314628e-02 2.021470166428228e-02 2.021354230080554e-02 2.021238311308448e-02 - 2.021122409287018e-02 2.021006523025651e-02 2.020890652716039e-02 2.020774798484683e-02 2.020658960393083e-02 - 2.020543138529554e-02 2.020427332378045e-02 2.020311541298552e-02 2.020195765397637e-02 2.020080004744672e-02 - 2.019964259236717e-02 2.019848528642001e-02 2.019732812869024e-02 2.019617111926010e-02 2.019501425544548e-02 - 2.019385753379127e-02 2.019270095135025e-02 2.019154450793482e-02 2.019038820298517e-02 2.018923203417478e-02 - 2.018807600019563e-02 2.018692010151906e-02 2.018576433995726e-02 2.018460870891364e-02 2.018345320296787e-02 - 2.018229782843392e-02 2.018114258172615e-02 2.017998745649097e-02 2.017883245877245e-02 2.017767758620927e-02 - 2.017652283054322e-02 2.017536819223788e-02 2.017421367319040e-02 2.017305927292809e-02 2.017190498313902e-02 - 2.017075080461503e-02 2.016959674752286e-02 2.016844280049332e-02 2.016728895684716e-02 2.016613522539111e-02 - 2.016498159847723e-02 2.016382807033869e-02 2.016267465040216e-02 2.016152133310211e-02 2.016036811076429e-02 - 2.015921498985646e-02 2.015806197025070e-02 2.015690904702832e-02 2.015575621731957e-02 2.015460347791708e-02 - 2.015345082711757e-02 2.015229826996444e-02 2.015114580452791e-02 2.014999342256183e-02 2.014884112402139e-02 - 2.014768891079059e-02 2.014653678283008e-02 2.014538473229735e-02 2.014423275838842e-02 2.014308087159530e-02 - 2.014192906336537e-02 2.014077732405132e-02 2.013962565684693e-02 2.013847406112768e-02 2.013732253607323e-02 - 2.013617108558620e-02 2.013501970367529e-02 2.013386838304751e-02 2.013271713092954e-02 2.013156594450895e-02 - 2.013041481517404e-02 2.012926374836556e-02 2.012811274375330e-02 2.012696179396415e-02 2.012581089842930e-02 - 2.012466005832842e-02 2.012350927388322e-02 2.012235854139777e-02 2.012120785897021e-02 2.012005722808521e-02 - 2.011890664240422e-02 2.011775609861771e-02 2.011660560342765e-02 2.011545514995805e-02 2.011430473248947e-02 - 2.011315436328775e-02 2.011200403690588e-02 2.011085374071231e-02 2.010970347811273e-02 2.010855325123000e-02 - 2.010740305829795e-02 2.010625289543029e-02 2.010510276184403e-02 2.010395265874816e-02 2.010280258124321e-02 - 2.010165252783862e-02 2.010050250168409e-02 2.009935249835288e-02 2.009820251528310e-02 2.009705255512517e-02 - 2.009590261098061e-02 2.009475267797075e-02 2.009360276160796e-02 2.009245286068316e-02 2.009130297235736e-02 - 2.009015309860190e-02 2.008900323371492e-02 2.008785337125678e-02 2.008670351711407e-02 2.008555367122358e-02 - 2.008440382812401e-02 2.008325398588614e-02 2.008210414433437e-02 2.008095430334925e-02 2.007980445913736e-02 - 2.007865461009197e-02 2.007750475755383e-02 2.007635489836262e-02 2.007520502856765e-02 2.007405514609401e-02 - 2.007290525369839e-02 2.007175535352643e-02 2.007060544261636e-02 2.006945551378952e-02 2.006830556246986e-02 - 2.006715559358176e-02 2.006600560685722e-02 2.006485559907452e-02 2.006370557035152e-02 2.006255552017783e-02 - 2.006140544519211e-02 2.006025533608720e-02 2.005910519424486e-02 2.005795502866486e-02 2.005680483150780e-02 - 2.005565460068358e-02 2.005450434307724e-02 2.005335404752871e-02 2.005220370751987e-02 2.005105333078331e-02 - 2.004990291380246e-02 2.004875245256121e-02 2.004760195075808e-02 2.004645140541610e-02 2.004530081249103e-02 - 2.004415017386308e-02 2.004299948719255e-02 2.004184874893760e-02 2.004069796075558e-02 2.003954711861807e-02 - 2.003839621652469e-02 2.003724525928808e-02 2.003609424691447e-02 2.003494317431652e-02 2.003379204407136e-02 - 2.003264085311753e-02 2.003148959193977e-02 2.003033826577724e-02 2.002918687817827e-02 2.002803542325049e-02 - 2.002688389828578e-02 2.002573230084169e-02 2.002458062668545e-02 2.002342887779152e-02 2.002227705716231e-02 - 2.002112516254241e-02 2.001997318998642e-02 2.001882113644655e-02 2.001766900292078e-02 2.001651678857442e-02 - 2.001536448981540e-02 2.001421210083374e-02 2.001305962366636e-02 2.001190706486020e-02 2.001075441600587e-02 - 2.000960167234195e-02 2.000844883687991e-02 2.000729590520412e-02 2.000614287591466e-02 2.000498975435740e-02 - 2.000383653574291e-02 2.000268321490327e-02 2.000152979351511e-02 2.000037626872929e-02 1.999922263743778e-02 - 1.999806890154111e-02 1.999691505794393e-02 1.999576110265488e-02 1.999460703886217e-02 1.999345286480270e-02 - 1.999229857569377e-02 1.999114417297134e-02 1.998998965543275e-02 1.998883501902821e-02 1.998768026399775e-02 - 1.998652538946059e-02 1.998537039260291e-02 1.998421527483334e-02 1.998306003351848e-02 1.998190465988335e-02 - 1.998074915750420e-02 1.997959352937345e-02 1.997843776879367e-02 1.997728187765045e-02 1.997612585705249e-02 - 1.997496969649909e-02 1.997381339760593e-02 1.997265696528752e-02 1.997150039002939e-02 1.997034367059401e-02 - 1.996918681208352e-02 1.996802981226081e-02 1.996687266788810e-02 1.996571537594770e-02 1.996455793197006e-02 - 1.996340033608642e-02 1.996224259309599e-02 1.996108470119043e-02 1.995992665416334e-02 1.995876844505867e-02 - 1.995761008193637e-02 1.995645156786617e-02 1.995529288784624e-02 1.995413404457776e-02 1.995297504246996e-02 - 1.995181586885687e-02 1.995065652904149e-02 1.994949703248385e-02 1.994833736513130e-02 1.994717752162546e-02 - 1.994601750553184e-02 1.994485731663886e-02 1.994369695406686e-02 1.994253641736701e-02 1.994137570693218e-02 - 1.994021481716852e-02 1.993905373876526e-02 1.993789248152490e-02 1.993673104732284e-02 1.993556942048493e-02 - 1.993440760773439e-02 1.993324561433191e-02 1.993208342679873e-02 1.993092104568069e-02 1.992975847582151e-02 - 1.992859571315939e-02 1.992743275300710e-02 1.992626959353599e-02 1.992510623927749e-02 1.992394268911061e-02 - 1.992277893654564e-02 1.992161497535049e-02 1.992045080942924e-02 1.991928644769617e-02 1.991812187931771e-02 - 1.991695709651699e-02 1.991579210148713e-02 1.991462689658082e-02 1.991346148075462e-02 1.991229584907280e-02 - 1.991113000189043e-02 1.990996393932216e-02 1.990879765723607e-02 1.990763115454515e-02 1.990646443148474e-02 - 1.990529748687400e-02 1.990413031580006e-02 1.990296291532720e-02 1.990179529310021e-02 1.990062744303953e-02 - 1.989945935329500e-02 1.989829103342642e-02 1.989712248515872e-02 1.989595370004318e-02 1.989478467737964e-02 - 1.989361541884726e-02 1.989244592499573e-02 1.989127618925862e-02 1.989010620674421e-02 1.988893597834538e-02 - 1.988776550466197e-02 1.988659478703524e-02 1.988542382727661e-02 1.988425261506333e-02 1.988308114268849e-02 - 1.988190942098788e-02 1.988073745006194e-02 1.987956522359536e-02 1.987839274079954e-02 1.987722000000555e-02 - 1.987604699732070e-02 1.987487372670402e-02 1.987370019241589e-02 1.987252640362364e-02 1.987135234678179e-02 - 1.987017801708705e-02 1.986900342417090e-02 1.986782856130232e-02 1.986665342124566e-02 1.986547800516037e-02 - 1.986430231940191e-02 1.986312636323797e-02 1.986195012209680e-02 1.986077359858922e-02 1.985959679883774e-02 - 1.985841971608161e-02 1.985724235007767e-02 1.985606470192896e-02 1.985488676268764e-02 1.985370853173279e-02 - 1.985253001389235e-02 1.985135120589531e-02 1.985017210671596e-02 1.984899271721913e-02 1.984781303008921e-02 - 1.984663304141680e-02 1.984545275323681e-02 1.984427216416261e-02 1.984309127447186e-02 1.984191008724042e-02 - 1.984072859600846e-02 1.983954679442092e-02 1.983836468369445e-02 1.983718226650526e-02 1.983599954091759e-02 - 1.983481649574990e-02 1.983363313683907e-02 1.983244947316962e-02 1.983126549121019e-02 1.983008118452795e-02 - 1.982889655650101e-02 1.982771161407836e-02 1.982652635127155e-02 1.982534075477381e-02 1.982415483542671e-02 - 1.982296859699974e-02 1.982178202865004e-02 1.982059512679342e-02 1.981940789099672e-02 1.981822032140366e-02 - 1.981703241807743e-02 1.981584417989424e-02 1.981465560415464e-02 1.981346669171603e-02 1.981227744136961e-02 - 1.981108784415540e-02 1.980989790130036e-02 1.980870761757638e-02 1.980751698807925e-02 1.980632600934410e-02 - 1.980513468056937e-02 1.980394300171975e-02 1.980275097143216e-02 1.980155858653555e-02 1.980036584235624e-02 - 1.979917273943820e-02 1.979797928262491e-02 1.979678546489206e-02 1.979559128379798e-02 1.979439674657348e-02 - 1.979320184217468e-02 1.979200656369760e-02 1.979081092352834e-02 1.978961491694981e-02 1.978841853542797e-02 - 1.978722178317891e-02 1.978602465925507e-02 1.978482715855289e-02 1.978362927697639e-02 1.978243101628911e-02 - 1.978123238058121e-02 1.978003336668686e-02 1.977883396860304e-02 1.977763418131442e-02 1.977643400902304e-02 - 1.977523345232920e-02 1.977403250607500e-02 1.977283117205557e-02 1.977162944865208e-02 1.977042732702634e-02 - 1.976922480613855e-02 1.976802188997964e-02 1.976681858355301e-02 1.976561487769950e-02 1.976441076369096e-02 - 1.976320624890566e-02 1.976200133147697e-02 1.976079600616600e-02 1.975959027757971e-02 1.975838414138116e-02 - 1.975717758909272e-02 1.975597062600439e-02 1.975476325369590e-02 1.975355546738499e-02 1.975234726242962e-02 - 1.975113863825908e-02 1.974992959762522e-02 1.974872013640206e-02 1.974751025163228e-02 1.974629994489470e-02 - 1.974508921425132e-02 1.974387805573186e-02 1.974266646519683e-02 1.974145444319864e-02 1.974024199150465e-02 - 1.973902910920840e-02 1.973781579519036e-02 1.973660204598839e-02 1.973538785240977e-02 1.973417321684443e-02 - 1.973295814730416e-02 1.973174263781577e-02 1.973052668253849e-02 1.972931027913797e-02 1.972809342747564e-02 - 1.972687612827085e-02 1.972565838187941e-02 1.972444018482310e-02 1.972322153363352e-02 1.972200242687443e-02 - 1.972078286440720e-02 1.971956284541047e-02 1.971834236691286e-02 1.971712142485657e-02 1.971590001741145e-02 - 1.971467814826898e-02 1.971345581852119e-02 1.971223302479186e-02 1.971100975804211e-02 1.970978601823674e-02 - 1.970856181065497e-02 1.970733713228995e-02 1.970611197806177e-02 1.970488634450282e-02 1.970366023582840e-02 - 1.970243364879734e-02 1.970120657299705e-02 1.969997901837739e-02 1.969875098677333e-02 1.969752246217473e-02 - 1.969629345274012e-02 1.969506396226801e-02 1.969383397141272e-02 1.969260348756574e-02 1.969137252109090e-02 - 1.969014105730648e-02 1.968890909233832e-02 1.968767662961491e-02 1.968644366805134e-02 1.968521020635475e-02 - 1.968397624286150e-02 1.968274177331172e-02 1.968150679588088e-02 1.968027131148579e-02 1.967903532058098e-02 - 1.967779882218197e-02 1.967656181292412e-02 1.967532428489620e-02 1.967408623811289e-02 1.967284768294825e-02 - 1.967160860971293e-02 1.967036900987211e-02 1.966912889102269e-02 1.966788825153749e-02 1.966664708600774e-02 - 1.966540539310703e-02 1.966416317292449e-02 1.966292042476060e-02 1.966167714455673e-02 1.966043333167102e-02 - 1.965918898702837e-02 1.965794410650064e-02 1.965669868705162e-02 1.965545272765306e-02 1.965420622710374e-02 - 1.965295918609461e-02 1.965171160585919e-02 1.965046347855766e-02 1.964921480087875e-02 1.964796557872257e-02 - 1.964671580769246e-02 1.964546548231519e-02 1.964421460325605e-02 1.964296317129598e-02 1.964171118580111e-02 - 1.964045864365522e-02 1.963920554157133e-02 1.963795187629582e-02 1.963669764477085e-02 1.963544284945441e-02 - 1.963418749362842e-02 1.963293156932153e-02 1.963167507295046e-02 1.963041800662418e-02 1.962916036936736e-02 - 1.962790216073956e-02 1.962664338014056e-02 1.962538401760687e-02 1.962412407160046e-02 1.962286355381917e-02 - 1.962160245501161e-02 1.962034076606272e-02 1.961907849332115e-02 1.961781563715828e-02 1.961655219371613e-02 - 1.961528815879130e-02 1.961402353224150e-02 1.961275831461461e-02 1.961149250160691e-02 1.961022609250104e-02 - 1.960895908768241e-02 1.960769148013132e-02 1.960642326897369e-02 1.960515445887448e-02 1.960388504699325e-02 - 1.960261502901453e-02 1.960134440209794e-02 1.960007316755673e-02 1.959880132269796e-02 1.959752885956289e-02 - 1.959625578572781e-02 1.959498210471557e-02 1.959370780282661e-02 1.959243287776576e-02 1.959115733236078e-02 - 1.958988116575855e-02 1.958860437570835e-02 1.958732696070351e-02 1.958604892230215e-02 1.958477025538254e-02 - 1.958349095293616e-02 1.958221102005211e-02 1.958093045820349e-02 1.957964926225915e-02 1.957836742427244e-02 - 1.957708494595253e-02 1.957580183693370e-02 1.957451808573694e-02 1.957323368588814e-02 1.957194864588927e-02 - 1.957066295908808e-02 1.956937661864716e-02 1.956808962863577e-02 1.956680198857452e-02 1.956551369740821e-02 - 1.956422475810978e-02 1.956293516289206e-02 1.956164490198652e-02 1.956035397935251e-02 1.955906239928264e-02 - 1.955777016187055e-02 1.955647725858155e-02 1.955518368630142e-02 1.955388944730695e-02 1.955259453790914e-02 - 1.955129895574477e-02 1.955000270138056e-02 1.954870577278503e-02 1.954740816848287e-02 1.954610988870274e-02 - 1.954481093111385e-02 1.954351129226784e-02 1.954221096901902e-02 1.954090996078360e-02 1.953960826724446e-02 - 1.953830588603245e-02 1.953700281656794e-02 1.953569905855491e-02 1.953439460897686e-02 1.953308946443935e-02 - 1.953178362233442e-02 1.953047708245082e-02 1.952916984426731e-02 1.952786190592496e-02 1.952655326324738e-02 - 1.952524391408689e-02 1.952393385929222e-02 1.952262309949111e-02 1.952131163370209e-02 1.951999945844595e-02 - 1.951868656751035e-02 1.951737295829730e-02 1.951605863555755e-02 1.951474359789877e-02 1.951342784097203e-02 - 1.951211136184995e-02 1.951079415956861e-02 1.950947623396647e-02 1.950815758387342e-02 1.950683820574165e-02 - 1.950551809587482e-02 1.950419725560715e-02 1.950287568354725e-02 1.950155337574423e-02 1.950023033242808e-02 - 1.949890655251627e-02 1.949758203322258e-02 1.949625677745909e-02 1.949493078034667e-02 1.949360402739089e-02 - 1.949227653112452e-02 1.949094829757290e-02 1.948961930480046e-02 1.948828955781861e-02 1.948695906691206e-02 - 1.948562782150981e-02 1.948429581598615e-02 1.948296304982478e-02 1.948162952319633e-02 1.948029523591830e-02 - 1.947896018726217e-02 1.947762437581102e-02 1.947628779922486e-02 1.947495045397724e-02 1.947361233489661e-02 - 1.947227344348770e-02 1.947093378593678e-02 1.946959335022997e-02 1.946825212971076e-02 1.946691013283964e-02 - 1.946556736109183e-02 1.946422381089845e-02 1.946287947598024e-02 1.946153435147304e-02 1.946018843640089e-02 - 1.945884173551620e-02 1.945749424593349e-02 1.945614596164208e-02 1.945479688244431e-02 1.945344700980195e-02 - 1.945209634356683e-02 1.945074487666461e-02 1.944939260492236e-02 1.944803952905332e-02 1.944668565282712e-02 - 1.944533097303948e-02 1.944397548026850e-02 1.944261917903520e-02 1.944126207147254e-02 1.943990414971487e-02 - 1.943854540610747e-02 1.943718584222317e-02 1.943582547177293e-02 1.943446428245481e-02 1.943310226105812e-02 - 1.943173942068859e-02 1.943037575924362e-02 1.942901126749138e-02 1.942764594793762e-02 1.942627979717840e-02 - 1.942491280913776e-02 1.942354498868186e-02 1.942217633546996e-02 1.942080684436220e-02 1.941943651933332e-02 - 1.941806535493775e-02 1.941669333695301e-02 1.941532047644210e-02 1.941394677715704e-02 1.941257222315028e-02 - 1.941119681542690e-02 1.940982056035791e-02 1.940844345901757e-02 1.940706550055424e-02 1.940568667678698e-02 - 1.940430699663802e-02 1.940292645883611e-02 1.940154505765652e-02 1.940016279578962e-02 1.939877966977487e-02 - 1.939739567223053e-02 1.939601080219835e-02 1.939462506233509e-02 1.939323845462366e-02 1.939185096971125e-02 - 1.939046260516801e-02 1.938907336764642e-02 1.938768325184633e-02 1.938629225021856e-02 1.938490035911401e-02 - 1.938350758330235e-02 1.938211392651081e-02 1.938071938447496e-02 1.937932394922459e-02 1.937792761695239e-02 - 1.937653039473651e-02 1.937513227779157e-02 1.937373325789699e-02 1.937233333934693e-02 1.937093252080456e-02 - 1.936953079702195e-02 1.936812816928827e-02 1.936672463690015e-02 1.936532019607867e-02 1.936391484345597e-02 - 1.936250857586552e-02 1.936110139138094e-02 1.935969329410197e-02 1.935828428412852e-02 1.935687435366041e-02 - 1.935546349795341e-02 1.935405171682407e-02 1.935263901452006e-02 1.935122538845629e-02 1.934981083240821e-02 - 1.934839534117787e-02 1.934697891910190e-02 1.934556156924906e-02 1.934414327695751e-02 1.934272404361874e-02 - 1.934130387854031e-02 1.933988276959641e-02 1.933846071416343e-02 1.933703771882020e-02 1.933561377409585e-02 - 1.933418887831357e-02 1.933276303945045e-02 1.933133624375953e-02 1.932990848653697e-02 1.932847978247962e-02 - 1.932705012296452e-02 1.932561949662077e-02 1.932418790536504e-02 1.932275535526071e-02 1.932132184669807e-02 - 1.931988736608416e-02 1.931845191123332e-02 1.931701548648173e-02 1.931557809132799e-02 1.931413972218449e-02 - 1.931270037603072e-02 1.931126005688787e-02 1.930981875761609e-02 1.930837646527647e-02 1.930693319154590e-02 - 1.930548893938918e-02 1.930404369700001e-02 1.930259746628386e-02 1.930115024647330e-02 1.929970202824377e-02 - 1.929825281461415e-02 1.929680260792617e-02 1.929535140092010e-02 1.929389919235001e-02 1.929244598266550e-02 - 1.929099176842190e-02 1.928953654639375e-02 1.928808031414528e-02 1.928662307035359e-02 1.928516481711372e-02 - 1.928370555611205e-02 1.928224527966380e-02 1.928078398206115e-02 1.927932166173262e-02 1.927785831899656e-02 - 1.927639395364510e-02 1.927492856464996e-02 1.927346215243780e-02 1.927199471282116e-02 1.927052623652251e-02 - 1.926905672766994e-02 1.926758618873705e-02 1.926611461056382e-02 1.926464199150991e-02 1.926316833245443e-02 - 1.926169363057714e-02 1.926021788634381e-02 1.925874109903830e-02 1.925726325940621e-02 1.925578436860509e-02 - 1.925430443199749e-02 1.925282343948819e-02 1.925134138889128e-02 1.924985828498051e-02 1.924837411847957e-02 - 1.924688888599618e-02 1.924540259377309e-02 1.924391524090012e-02 1.924242682077230e-02 1.924093732460676e-02 - 1.923944675829762e-02 1.923795512510602e-02 1.923646241448938e-02 1.923496862521413e-02 1.923347375911634e-02 - 1.923197781292445e-02 1.923048078180134e-02 1.922898266296426e-02 1.922748346006174e-02 1.922598317069195e-02 - 1.922448178990142e-02 1.922297932164773e-02 1.922147575963824e-02 1.921997109174737e-02 1.921846532805457e-02 - 1.921695846861228e-02 1.921545049993734e-02 1.921394143207274e-02 1.921243126559395e-02 1.921091998083786e-02 - 1.920940758472120e-02 1.920789408374423e-02 1.920637946562360e-02 1.920486373146851e-02 1.920334688393281e-02 - 1.920182891329169e-02 1.920030981699324e-02 1.919878959725658e-02 1.919726825432456e-02 1.919574578635056e-02 - 1.919422218928470e-02 1.919269745661605e-02 1.919117158884151e-02 1.918964459045353e-02 1.918811645370936e-02 - 1.918658717454346e-02 1.918505675553962e-02 1.918352519296369e-02 1.918199248296462e-02 1.918045862469436e-02 - 1.917892361805418e-02 1.917738746182788e-02 1.917585015265352e-02 1.917431168820606e-02 1.917277206550804e-02 - 1.917123127946213e-02 1.916968933132487e-02 1.916814622316750e-02 1.916660194885779e-02 1.916505650873668e-02 - 1.916350990423480e-02 1.916196212155291e-02 1.916041316033273e-02 1.915886303062994e-02 1.915731172194125e-02 - 1.915575922930148e-02 1.915420555876758e-02 1.915265070860661e-02 1.915109467332810e-02 1.914953744666585e-02 - 1.914797902645569e-02 1.914641941412443e-02 1.914485861314037e-02 1.914329661713828e-02 1.914173341932142e-02 - 1.914016902223032e-02 1.913860342379879e-02 1.913703662029905e-02 1.913546861279183e-02 1.913389939805644e-02 - 1.913232897075573e-02 1.913075733118505e-02 1.912918447844714e-02 1.912761040908805e-02 1.912603511839811e-02 - 1.912445860715432e-02 1.912288088009771e-02 1.912130192853472e-02 1.911972174626816e-02 1.911814033569584e-02 - 1.911655769224527e-02 1.911497381452394e-02 1.911338870990516e-02 1.911180236957772e-02 1.911021478317005e-02 - 1.910862595492130e-02 1.910703588697045e-02 1.910544457683553e-02 1.910385201685182e-02 1.910225820527016e-02 - 1.910066314375077e-02 1.909906682830796e-02 1.909746925477876e-02 1.909587042200599e-02 1.909427033688354e-02 - 1.909266899402551e-02 1.909106637643193e-02 1.908946249114346e-02 1.908785734491775e-02 1.908625093213804e-02 - 1.908464324204344e-02 1.908303427175084e-02 1.908142403234494e-02 1.907981251534393e-02 1.907819971100440e-02 - 1.907658562789714e-02 1.907497026158614e-02 1.907335360333112e-02 1.907173565762024e-02 1.907011642370295e-02 - 1.906849589616872e-02 1.906687407274958e-02 1.906525095073851e-02 1.906362652703246e-02 1.906200080112851e-02 - 1.906037377260159e-02 1.905874543999789e-02 1.905711580005939e-02 1.905548484883143e-02 1.905385258297056e-02 - 1.905221900422594e-02 1.905058411108648e-02 1.904894789413228e-02 1.904731035325132e-02 1.904567149183364e-02 - 1.904403130952197e-02 1.904238980136186e-02 1.904074696113758e-02 1.903910278612417e-02 1.903745727544392e-02 - 1.903581042868199e-02 1.903416224385271e-02 1.903251272055347e-02 1.903086185871027e-02 1.902920965236104e-02 - 1.902755609551852e-02 1.902590118543579e-02 1.902424492713456e-02 1.902258731926820e-02 1.902092835050054e-02 - 1.901926802409253e-02 1.901760634215130e-02 1.901594329530476e-02 1.901427888303375e-02 1.901261310655987e-02 - 1.901094596056572e-02 1.900927744335199e-02 1.900760755425454e-02 1.900593628837979e-02 1.900426364429972e-02 - 1.900258962310978e-02 1.900091422355684e-02 1.899923743835855e-02 1.899755925950979e-02 1.899587969656637e-02 - 1.899419874741247e-02 1.899251639645128e-02 1.899083265299966e-02 1.898914752052511e-02 1.898746098477085e-02 - 1.898577304386013e-02 1.898408369969058e-02 1.898239295076986e-02 1.898070079269564e-02 1.897900722255288e-02 - 1.897731224261929e-02 1.897561584849886e-02 1.897391803334516e-02 1.897221879605241e-02 1.897051814026927e-02 - 1.896881606767167e-02 1.896711256470153e-02 1.896540762798833e-02 1.896370126437186e-02 1.896199347193909e-02 - 1.896028424413336e-02 1.895857357350164e-02 1.895686146124061e-02 1.895514791045918e-02 1.895343292131205e-02 - 1.895171648302300e-02 1.894999858923527e-02 1.894827924721451e-02 1.894655845419708e-02 1.894483620522033e-02 - 1.894311250187257e-02 1.894138733732357e-02 1.893966070463249e-02 1.893793261072514e-02 1.893620305335951e-02 - 1.893447202418282e-02 1.893273952309081e-02 1.893100555094376e-02 1.892927010627177e-02 1.892753318110494e-02 - 1.892579477108063e-02 1.892405487784487e-02 1.892231350329449e-02 1.892057064453369e-02 1.891882629307712e-02 - 1.891708044683251e-02 1.891533310610873e-02 1.891358427035544e-02 1.891183393696100e-02 1.891008210291091e-02 - 1.890832876617924e-02 1.890657392211156e-02 1.890481756749361e-02 1.890305970669826e-02 1.890130033664154e-02 - 1.889953944876527e-02 1.889777703845312e-02 1.889601310905792e-02 1.889424766560776e-02 1.889248069356991e-02 - 1.889071219005931e-02 1.888894216610460e-02 1.888717060771540e-02 1.888539750970531e-02 1.888362288621832e-02 - 1.888184672351093e-02 1.888006901097801e-02 1.887828976119468e-02 1.887650896887177e-02 1.887472662448569e-02 - 1.887294273026847e-02 1.887115728373587e-02 1.886937028132879e-02 1.886758172601296e-02 1.886579161241305e-02 - 1.886399993232671e-02 1.886220669095003e-02 1.886041188581822e-02 1.885861550746470e-02 1.885681755698847e-02 - 1.885501803485419e-02 1.885321693733238e-02 1.885141425906957e-02 1.884960999916156e-02 1.884780416185130e-02 - 1.884599674103886e-02 1.884418772927479e-02 1.884237712445391e-02 1.884056492700234e-02 1.883875113673901e-02 - 1.883693574995443e-02 1.883511876102816e-02 1.883330016667216e-02 1.883147997149076e-02 1.882965817385698e-02 - 1.882783476601560e-02 1.882600973926643e-02 1.882418309568715e-02 1.882235484340025e-02 1.882052497417560e-02 - 1.881869348031539e-02 1.881686035975185e-02 1.881502561164409e-02 1.881318923741505e-02 1.881135123913003e-02 - 1.880951160558249e-02 1.880767032900146e-02 1.880582741534564e-02 1.880398286136111e-02 1.880213666245483e-02 - 1.880028882149621e-02 1.879843933370182e-02 1.879658819228311e-02 1.879473539862031e-02 1.879288094991765e-02 - 1.879102484097325e-02 1.878916707209326e-02 1.878730764191372e-02 1.878544654683108e-02 1.878358378459472e-02 - 1.878171935183507e-02 1.877985324430765e-02 1.877798546179407e-02 1.877611600228067e-02 1.877424486050507e-02 - 1.877237203778229e-02 1.877049753324887e-02 1.876862133863330e-02 1.876674345293673e-02 1.876486387617420e-02 - 1.876298260257535e-02 1.876109963059111e-02 1.875921496034764e-02 1.875732858848502e-02 1.875544051216185e-02 - 1.875355072885378e-02 1.875165923449702e-02 1.874976602623304e-02 1.874787110336161e-02 1.874597446797304e-02 - 1.874407611425766e-02 1.874217603022874e-02 1.874027422146802e-02 1.873837068906284e-02 1.873646542198345e-02 - 1.873455842189881e-02 1.873264969164939e-02 1.873073922656172e-02 1.872882701964194e-02 1.872691306648714e-02 - 1.872499736923527e-02 1.872307992509612e-02 1.872116072949887e-02 1.871923978227258e-02 1.871731708186487e-02 - 1.871539262387551e-02 1.871346640021372e-02 1.871153841041527e-02 1.870960865979342e-02 1.870767714578883e-02 - 1.870574386089293e-02 1.870380879685916e-02 1.870187195798613e-02 1.869993334446320e-02 1.869799294696750e-02 - 1.869605076691687e-02 1.869410680376838e-02 1.869216104730458e-02 1.869021349836844e-02 1.868826416022470e-02 - 1.868631302853863e-02 1.868436009644664e-02 1.868240535897862e-02 1.868044881818047e-02 1.867849047172725e-02 - 1.867653031474529e-02 1.867456834731333e-02 1.867260456736053e-02 1.867063897034608e-02 1.866867155351236e-02 - 1.866670231459311e-02 1.866473125095620e-02 1.866275835809391e-02 1.866078363356833e-02 1.865880707775009e-02 - 1.865682868564128e-02 1.865484845476688e-02 1.865286638889887e-02 1.865088247751579e-02 1.864889671303901e-02 - 1.864690910747520e-02 1.864491965354244e-02 1.864292833855512e-02 1.864093516946379e-02 1.863894014384585e-02 - 1.863694325319922e-02 1.863494449952898e-02 1.863294388193027e-02 1.863094139526787e-02 1.862893703607748e-02 - 1.862693080034535e-02 1.862492268387857e-02 1.862291268732941e-02 1.862090081042848e-02 1.861888704957227e-02 - 1.861687140151818e-02 1.861485386231105e-02 1.861283442704270e-02 1.861081309610335e-02 1.860878986806025e-02 - 1.860676473338590e-02 1.860473769529663e-02 1.860270875778476e-02 1.860067790615180e-02 1.859864513789995e-02 - 1.859661045850656e-02 1.859457386260990e-02 1.859253534675110e-02 1.859049490946049e-02 1.858845254228221e-02 - 1.858640824383296e-02 1.858436201966219e-02 1.858231386031445e-02 1.858026376148910e-02 1.857821173011040e-02 - 1.857615775674864e-02 1.857410183289329e-02 1.857204396224591e-02 1.856998414158087e-02 1.856792236630606e-02 - 1.856585863699762e-02 1.856379295088432e-02 1.856172530348682e-02 1.855965569223371e-02 1.855758411493529e-02 - 1.855551056872843e-02 1.855343504862798e-02 1.855135755357239e-02 1.854927808391809e-02 1.854719662999937e-02 - 1.854511318947389e-02 1.854302776884543e-02 1.854094036342127e-02 1.853885096469986e-02 1.853675956540365e-02 - 1.853466616668727e-02 1.853257077183708e-02 1.853047338096206e-02 1.852837398473379e-02 1.852627257507170e-02 - 1.852416915520061e-02 1.852206372211816e-02 1.851995627104085e-02 1.851784680396669e-02 1.851573531468755e-02 - 1.851362179508880e-02 1.851150625260910e-02 1.850938868433302e-02 1.850726907790290e-02 1.850514743267316e-02 - 1.850302375022463e-02 1.850089802974987e-02 1.849877026321467e-02 1.849664044568886e-02 1.849450857919205e-02 - 1.849237466328984e-02 1.849023869225825e-02 1.848810065567833e-02 1.848596056072587e-02 1.848381841125062e-02 - 1.848167418759208e-02 1.847952788817062e-02 1.847737952020788e-02 1.847522908039946e-02 1.847307656165976e-02 - 1.847092195736722e-02 1.846876526733367e-02 1.846660649126623e-02 1.846444562782898e-02 1.846228267641075e-02 - 1.846011763022634e-02 1.845795047822359e-02 1.845578122357826e-02 1.845360986824314e-02 1.845143640646702e-02 - 1.844926083412144e-02 1.844708314829677e-02 1.844490334652741e-02 1.844272142526039e-02 1.844053738232335e-02 - 1.843835121884711e-02 1.843616292877729e-02 1.843397250473794e-02 1.843177994759022e-02 1.842958525561723e-02 - 1.842738842512387e-02 1.842518945510765e-02 1.842298833954339e-02 1.842078507029563e-02 1.841857965103055e-02 - 1.841637208298309e-02 1.841416236088061e-02 1.841195047731196e-02 1.840973642948215e-02 1.840752022011446e-02 - 1.840530184216091e-02 1.840308128892246e-02 1.840085856103635e-02 1.839863365911139e-02 1.839640658087383e-02 - 1.839417731924000e-02 1.839194587083986e-02 1.838971223370895e-02 1.838747640300020e-02 1.838523837692452e-02 - 1.838299815548432e-02 1.838075573582631e-02 1.837851111106092e-02 1.837626427462707e-02 1.837401523350234e-02 - 1.837176398539980e-02 1.836951051641877e-02 1.836725482529124e-02 1.836499691387402e-02 1.836273678151691e-02 - 1.836047442118306e-02 1.835820982858270e-02 1.835594300692513e-02 1.835367394977665e-02 1.835140264983480e-02 - 1.834912910825698e-02 1.834685332362546e-02 1.834457529066184e-02 1.834229500068380e-02 1.834001245612868e-02 - 1.833772766191195e-02 1.833544060380268e-02 1.833315127769170e-02 1.833085968975407e-02 1.832856583633842e-02 - 1.832626971106521e-02 1.832397130817964e-02 1.832167062581619e-02 1.831936766045366e-02 1.831706240632338e-02 - 1.831475486820015e-02 1.831244504576387e-02 1.831013292472488e-02 1.830781850356614e-02 1.830550178468002e-02 - 1.830318276421879e-02 1.830086143845657e-02 1.829853780375753e-02 1.829621185558813e-02 1.829388359300937e-02 - 1.829155301569956e-02 1.828922011662799e-02 1.828688489153528e-02 1.828454733892483e-02 1.828220745351499e-02 - 1.827986523367206e-02 1.827752068069898e-02 1.827517378500067e-02 1.827282454323407e-02 1.827047296291425e-02 - 1.826811903643735e-02 1.826576275326505e-02 1.826340410954280e-02 1.826104310998728e-02 1.825867975496676e-02 - 1.825631402943589e-02 1.825394593365713e-02 1.825157547349511e-02 1.824920264235266e-02 1.824682743095013e-02 - 1.824444983334214e-02 1.824206985531418e-02 1.823968749396920e-02 1.823730273947125e-02 1.823491559405069e-02 - 1.823252605635143e-02 1.823013411851380e-02 1.822773977727079e-02 1.822534302885856e-02 1.822294386817581e-02 - 1.822054229933361e-02 1.821813832218229e-02 1.821573192447362e-02 1.821332310276354e-02 1.821091185568656e-02 - 1.820849817689734e-02 1.820608206836350e-02 1.820366353310689e-02 1.820124256311412e-02 1.819881915016099e-02 - 1.819639328969794e-02 1.819396498477247e-02 1.819153423068764e-02 1.818910101812068e-02 1.818666535246774e-02 - 1.818422723286477e-02 1.818178664914423e-02 1.817934360000525e-02 1.817689808189780e-02 1.817445008627356e-02 - 1.817199961756547e-02 1.816954667558178e-02 1.816709124568389e-02 1.816463332917677e-02 1.816217292950077e-02 - 1.815971003769815e-02 1.815724465123547e-02 1.815477676809149e-02 1.815230637650250e-02 1.814983348051392e-02 - 1.814735808823705e-02 1.814488018072306e-02 1.814239975267995e-02 1.813991681262074e-02 1.813743135508509e-02 - 1.813494337086823e-02 1.813245285281114e-02 1.812995980445686e-02 1.812746422731492e-02 1.812496611573551e-02 - 1.812246546481565e-02 1.811996226848969e-02 1.811745651920204e-02 1.811494821957559e-02 1.811243737133842e-02 - 1.810992396481434e-02 1.810740799805441e-02 1.810488947142559e-02 1.810236837745802e-02 1.809984471224923e-02 - 1.809731847419077e-02 1.809478965788605e-02 1.809225826197647e-02 1.808972428730369e-02 1.808718772623545e-02 - 1.808464857219165e-02 1.808210682315950e-02 1.807956248210254e-02 1.807701554512131e-02 1.807446599893149e-02 - 1.807191384222250e-02 1.806935907649996e-02 1.806680169977935e-02 1.806424171112906e-02 1.806167910639137e-02 - 1.805911387430984e-02 1.805654601234490e-02 1.805397552118165e-02 1.805140239539148e-02 1.804882663464111e-02 - 1.804624823872755e-02 1.804366719439020e-02 1.804108350087335e-02 1.803849716547347e-02 1.803590817366155e-02 - 1.803331652090480e-02 1.803072221546651e-02 1.802812524400898e-02 1.802552559998909e-02 1.802292329257977e-02 - 1.802031831251088e-02 1.801771065083283e-02 1.801510031065072e-02 1.801248728509480e-02 1.800987156794499e-02 - 1.800725316456288e-02 1.800463207196059e-02 1.800200828229563e-02 1.799938179038418e-02 1.799675259135415e-02 - 1.799412068157979e-02 1.799148606152016e-02 1.798884872978088e-02 1.798620868169797e-02 1.798356590941466e-02 - 1.798092041139825e-02 1.797827219073602e-02 1.797562123473000e-02 1.797296753674024e-02 1.797031110360818e-02 - 1.796765193280976e-02 1.796499001786419e-02 1.796232535287627e-02 1.795965793501132e-02 1.795698776183851e-02 - 1.795431482887613e-02 1.795163913285315e-02 1.794896067070983e-02 1.794627943785036e-02 1.794359543174794e-02 - 1.794090865000600e-02 1.793821908548673e-02 1.793552673496832e-02 1.793283159877326e-02 1.793013367385930e-02 - 1.792743295577707e-02 1.792472944026945e-02 1.792202312682011e-02 1.791931400976357e-02 1.791660207728341e-02 - 1.791388733234035e-02 1.791116977642004e-02 1.790844939977351e-02 1.790572620127331e-02 1.790300018053203e-02 - 1.790027132960331e-02 1.789753964610457e-02 1.789480512776976e-02 1.789206776371137e-02 1.788932755546883e-02 - 1.788658450796398e-02 1.788383860557862e-02 1.788108984645815e-02 1.787833823870088e-02 1.787558376650758e-02 - 1.787282642238153e-02 1.787006621288861e-02 1.786730313584615e-02 1.786453718506033e-02 1.786176835331611e-02 - 1.785899663566110e-02 1.785622203220682e-02 1.785344454733639e-02 1.785066416506327e-02 1.784788087479271e-02 - 1.784509469481547e-02 1.784230561688990e-02 1.783951362363962e-02 1.783671871969004e-02 1.783392090351773e-02 - 1.783112016693977e-02 1.782831650359620e-02 1.782550991644932e-02 1.782270041052123e-02 1.781988796773664e-02 - 1.781707258188517e-02 1.781425426228424e-02 1.781143299909701e-02 1.780860878344276e-02 1.780578161636334e-02 - 1.780295150019453e-02 1.780011843142990e-02 1.779728239750767e-02 1.779444339320670e-02 1.779160141853593e-02 - 1.778875647528820e-02 1.778590855799184e-02 1.778305765851556e-02 1.778020377358821e-02 1.777734690358035e-02 - 1.777448704738365e-02 1.777162419310320e-02 1.776875833746895e-02 1.776588948369731e-02 1.776301762263940e-02 - 1.776014274927566e-02 1.775726486578331e-02 1.775438397030816e-02 1.775150005486545e-02 1.774861310790110e-02 - 1.774572313526677e-02 1.774283013776283e-02 1.773993409898065e-02 1.773703502220879e-02 1.773413291089222e-02 - 1.773122774923129e-02 1.772831953604024e-02 1.772540827370780e-02 1.772249394894422e-02 1.771957656009896e-02 - 1.771665611194296e-02 1.771373259698992e-02 1.771080600888477e-02 1.770787634473108e-02 1.770494360249459e-02 - 1.770200777818149e-02 1.769906886558849e-02 1.769612685929023e-02 1.769318175770428e-02 1.769023356261796e-02 - 1.768728226707501e-02 1.768432786370409e-02 1.768137035050212e-02 1.767840972761326e-02 1.767544598996190e-02 - 1.767247912224100e-02 1.766950912887429e-02 1.766653601772543e-02 1.766355977437013e-02 1.766058039164660e-02 - 1.765759786981226e-02 1.765461220736955e-02 1.765162339764906e-02 1.764863143247870e-02 1.764563631444012e-02 - 1.764263804044564e-02 1.763963660052613e-02 1.763663199590508e-02 1.763362422648862e-02 1.763061328532627e-02 - 1.762759916389677e-02 1.762458185742205e-02 1.762156136756127e-02 1.761853769290762e-02 1.761551082691653e-02 - 1.761248075761478e-02 1.760944748669641e-02 1.760641101894919e-02 1.760337134551661e-02 1.760032845807722e-02 - 1.759728235211478e-02 1.759423302856655e-02 1.759118048266074e-02 1.758812470690578e-02 1.758506570645847e-02 - 1.758200347417691e-02 1.757893799151254e-02 1.757586926700291e-02 1.757279730534286e-02 1.756972209521438e-02 - 1.756664362962799e-02 1.756356190543487e-02 1.756047692143249e-02 1.755738866974527e-02 1.755429714394244e-02 - 1.755120234663686e-02 1.754810427470094e-02 1.754500292288027e-02 1.754189829041229e-02 1.753879037098419e-02 - 1.753567915477636e-02 1.753256463576890e-02 1.752944681640228e-02 1.752632570156945e-02 1.752320127895599e-02 - 1.752007354011609e-02 1.751694248500407e-02 1.751380811099548e-02 1.751067041466748e-02 1.750752939229762e-02 - 1.750438503712632e-02 1.750123734468025e-02 1.749808631552286e-02 1.749493194526630e-02 1.749177422703599e-02 - 1.748861315463852e-02 1.748544872591071e-02 1.748228094036503e-02 1.747910979560325e-02 1.747593528635296e-02 - 1.747275740493088e-02 1.746957614261004e-02 1.746639150171011e-02 1.746320348827029e-02 1.746001208402579e-02 - 1.745681728232032e-02 1.745361909228664e-02 1.745041750587895e-02 1.744721251527593e-02 1.744400411995098e-02 - 1.744079231626219e-02 1.743757709612158e-02 1.743435844889677e-02 1.743113638300998e-02 1.742791090294012e-02 - 1.742468198827393e-02 1.742144963687445e-02 1.741821385208018e-02 1.741497462017237e-02 1.741173194001650e-02 - 1.740848581625378e-02 1.740523623716524e-02 1.740198319673262e-02 1.739872669626729e-02 1.739546673433575e-02 - 1.739220330474240e-02 1.738893639777237e-02 1.738566600801745e-02 1.738239213410604e-02 1.737911477739739e-02 - 1.737583393441487e-02 1.737254959973500e-02 1.736926176792087e-02 1.736597043319887e-02 1.736267559029083e-02 - 1.735937723525189e-02 1.735607536431420e-02 1.735276997535949e-02 1.734946106967137e-02 1.734614863942214e-02 - 1.734283267462293e-02 1.733951317984790e-02 1.733619014933173e-02 1.733286356952035e-02 1.732953344236944e-02 - 1.732619976822115e-02 1.732286254123125e-02 1.731952175476255e-02 1.731617740506982e-02 1.731282949118149e-02 - 1.730947800429541e-02 1.730612293897103e-02 1.730276429900506e-02 1.729940207772190e-02 1.729603626710180e-02 - 1.729266686687025e-02 1.728929387127552e-02 1.728591727431661e-02 1.728253707811547e-02 1.727915327486350e-02 - 1.727576585445017e-02 1.727237482415143e-02 1.726898017713387e-02 1.726558189725253e-02 1.726217999255776e-02 - 1.725877446141184e-02 1.725536528836806e-02 1.725195247427305e-02 1.724853602088567e-02 1.724511592318061e-02 - 1.724169217016580e-02 1.723826475637563e-02 1.723483368674653e-02 1.723139894995541e-02 1.722796053633534e-02 - 1.722451845482723e-02 1.722107270070567e-02 1.721762326419149e-02 1.721417014587169e-02 1.721071333868621e-02 - 1.720725283251134e-02 1.720378862838028e-02 1.720032072298445e-02 1.719684910908383e-02 1.719337378669194e-02 - 1.718989475327181e-02 1.718641200187306e-02 1.718292552719872e-02 1.717943532374793e-02 1.717594138625576e-02 - 1.717244371734551e-02 1.716894231509765e-02 1.716543716617480e-02 1.716192826455456e-02 1.715841561099909e-02 - 1.715489920993168e-02 1.715137904713604e-02 1.714785510917266e-02 1.714432741097788e-02 1.714079594608009e-02 - 1.713726069602739e-02 1.713372166332687e-02 1.713017885016558e-02 1.712663225240283e-02 1.712308185705881e-02 - 1.711952765873538e-02 1.711596966109396e-02 1.711240786053498e-02 1.710884225051524e-02 1.710527282476134e-02 - 1.710169958307061e-02 1.709812252022495e-02 1.709454162136748e-02 1.709095688985418e-02 1.708736832996113e-02 - 1.708377593024533e-02 1.708017968752960e-02 1.707657960032946e-02 1.707297565703870e-02 1.706936785401023e-02 - 1.706575619189593e-02 1.706214066346443e-02 1.705852126552140e-02 1.705489799818787e-02 1.705127085519305e-02 - 1.704763983091843e-02 1.704400492089210e-02 1.704036611449886e-02 1.703672340943711e-02 1.703307681394708e-02 - 1.702942631772786e-02 1.702577190966809e-02 1.702211358937508e-02 1.701845135582294e-02 1.701478520463906e-02 - 1.701111512687454e-02 1.700744111902223e-02 1.700376317991698e-02 1.700008130526762e-02 1.699639548886451e-02 - 1.699270572517141e-02 1.698901201362202e-02 1.698531434790372e-02 1.698161271901581e-02 1.697790713038581e-02 - 1.697419757947398e-02 1.697048405591379e-02 1.696676655885514e-02 1.696304508413142e-02 1.695931962055792e-02 - 1.695559016575875e-02 1.695185672007940e-02 1.694811928170539e-02 1.694437784303563e-02 1.694063239701608e-02 - 1.693688294268234e-02 1.693312947555357e-02 1.692937198914621e-02 1.692561047849961e-02 1.692184494218333e-02 - 1.691807537819241e-02 1.691430177590003e-02 1.691052413380094e-02 1.690674245501956e-02 1.690295672392027e-02 - 1.689916693403359e-02 1.689537309141036e-02 1.689157519031890e-02 1.688777322481082e-02 1.688396719247375e-02 - 1.688015708323470e-02 1.687634289028026e-02 1.687252461641300e-02 1.686870225976892e-02 1.686487581335405e-02 - 1.686104526641643e-02 1.685721061978611e-02 1.685337187596560e-02 1.684952902423863e-02 1.684568205626177e-02 - 1.684183096806695e-02 1.683797575916921e-02 1.683411642637722e-02 1.683025296370582e-02 1.682638536598722e-02 - 1.682251363071521e-02 1.681863775630957e-02 1.681475773295268e-02 1.681087355358095e-02 1.680698521822956e-02 - 1.680309272743823e-02 1.679919607564722e-02 1.679529524908240e-02 1.679139024683375e-02 1.678748107079098e-02 - 1.678356771499038e-02 1.677965016895157e-02 1.677572842703558e-02 1.677180249929987e-02 1.676787237703614e-02 - 1.676393804299063e-02 1.675999950051788e-02 1.675605674951069e-02 1.675210978219402e-02 1.674815858725950e-02 - 1.674420316518524e-02 1.674024352454331e-02 1.673627964747038e-02 1.673231152527195e-02 1.672833916857912e-02 - 1.672436256552257e-02 1.672038170373856e-02 1.671639658470834e-02 1.671240720840105e-02 1.670841357063555e-02 - 1.670441566220705e-02 1.670041347959014e-02 1.669640702110204e-02 1.669239628051189e-02 1.668838125191250e-02 - 1.668436193143650e-02 1.668033831890629e-02 1.667631040878886e-02 1.667227819212758e-02 1.666824166734860e-02 - 1.666420083129591e-02 1.666015567735254e-02 1.665610620005455e-02 1.665205239678242e-02 1.664799426695549e-02 - 1.664393180284348e-02 1.663986499713315e-02 1.663579384792829e-02 1.663171835503466e-02 1.662763851356003e-02 - 1.662355430939835e-02 1.661946574092143e-02 1.661537281150426e-02 1.661127551677910e-02 1.660717384720702e-02 - 1.660306779425839e-02 1.659895736095696e-02 1.659484254425630e-02 1.659072333444665e-02 1.658659972465595e-02 - 1.658247171530552e-02 1.657833931027815e-02 1.657420249617699e-02 1.657006126301349e-02 1.656591561144095e-02 - 1.656176553662080e-02 1.655761103381663e-02 1.655345210211223e-02 1.654928873901935e-02 1.654512093811135e-02 - 1.654094868807454e-02 1.653677198858015e-02 1.653259084096055e-02 1.652840523447503e-02 1.652421516561530e-02 - 1.652002063436291e-02 1.651582163151349e-02 1.651161815099949e-02 1.650741019156900e-02 1.650319775344297e-02 - 1.649898082810461e-02 1.649475940168675e-02 1.649053348141889e-02 1.648630306850305e-02 1.648206814836095e-02 - 1.647782871114676e-02 1.647358475732917e-02 1.646933629656457e-02 1.646508330893651e-02 1.646082578033714e-02 - 1.645656373337251e-02 1.645229715576629e-02 1.644802602626009e-02 1.644375035674409e-02 1.643947014097659e-02 - 1.643518536281393e-02 1.643089602671802e-02 1.642660213310334e-02 1.642230367492405e-02 1.641800064388943e-02 - 1.641369303446324e-02 1.640938084474308e-02 1.640506407467653e-02 1.640074271742540e-02 1.639641675907646e-02 - 1.639208620097271e-02 1.638775104513307e-02 1.638341128505268e-02 1.637906691499287e-02 1.637471792980197e-02 - 1.637036432400064e-02 1.636600609175647e-02 1.636164322915392e-02 1.635727573684415e-02 1.635290360792794e-02 - 1.634852683359730e-02 1.634414541697593e-02 1.633975935494602e-02 1.633536863669590e-02 1.633097325119221e-02 - 1.632657319870386e-02 1.632216848742881e-02 1.631775910539292e-02 1.631334504210032e-02 1.630892629731235e-02 - 1.630450287107613e-02 1.630007475715268e-02 1.629564194133085e-02 1.629120442381021e-02 1.628676220752001e-02 - 1.628231528645751e-02 1.627786365361661e-02 1.627340730437480e-02 1.626894623909321e-02 1.626448044809207e-02 - 1.626000991935131e-02 1.625553465710418e-02 1.625105466086324e-02 1.624656992364918e-02 1.624208044008659e-02 - 1.623758620493278e-02 1.623308721259990e-02 1.622858345750622e-02 1.622407493651434e-02 1.621956164908100e-02 - 1.621504359102545e-02 1.621052075671857e-02 1.620599314061202e-02 1.620146073758967e-02 1.619692354185834e-02 - 1.619238154678624e-02 1.618783475477294e-02 1.618328316706134e-02 1.617872676957040e-02 1.617416555535298e-02 - 1.616959952441603e-02 1.616502867670949e-02 1.616045300241566e-02 1.615587248863419e-02 1.615128714307292e-02 - 1.614669696726644e-02 1.614210195036420e-02 1.613750207990814e-02 1.613289735436475e-02 1.612828778261194e-02 - 1.612367334765880e-02 1.611905403879705e-02 1.611442986870223e-02 1.610980082722066e-02 1.610516690212456e-02 - 1.610052809916244e-02 1.609588441136000e-02 1.609123582829610e-02 1.608658235171540e-02 1.608192397521171e-02 - 1.607726068992654e-02 1.607259250083978e-02 1.606791940362701e-02 1.606324138657220e-02 1.605855844962495e-02 - 1.605387058768025e-02 1.604917779011535e-02 1.604448006054786e-02 1.603977739874237e-02 1.603506979420087e-02 - 1.603035723984084e-02 1.602563973257448e-02 1.602091727188371e-02 1.601618984720332e-02 1.601145745295015e-02 - 1.600672010067149e-02 1.600197777942985e-02 1.599723047266619e-02 1.599247818462375e-02 1.598772091449355e-02 - 1.598295865408641e-02 1.597819139147786e-02 1.597341912912636e-02 1.596864187530068e-02 1.596385961058315e-02 - 1.595907232771693e-02 1.595428003613896e-02 1.594948272828454e-02 1.594468039178993e-02 1.593987301780130e-02 - 1.593506061365002e-02 1.593024318102167e-02 1.592542070422077e-02 1.592059317798925e-02 1.591576060279083e-02 - 1.591092297799217e-02 1.590608029141302e-02 1.590123253274349e-02 1.589637971157846e-02 1.589152182656434e-02 - 1.588665886609507e-02 1.588179081847464e-02 1.587691768450550e-02 1.587203947045915e-02 1.586715616213467e-02 - 1.586226775168990e-02 1.585737424168921e-02 1.585247562649581e-02 1.584757190117160e-02 1.584266306445842e-02 - 1.583774911091078e-02 1.583283003450806e-02 1.582790583090947e-02 1.582297649499978e-02 1.581804202355953e-02 - 1.581310241701619e-02 1.580815766650671e-02 1.580320776320766e-02 1.579825271139450e-02 1.579329250537274e-02 - 1.578832713506978e-02 1.578335660262603e-02 1.577838090296324e-02 1.577340002574811e-02 1.576841397243399e-02 - 1.576342274326813e-02 1.575842633194578e-02 1.575342472205075e-02 1.574841791148685e-02 1.574340591569888e-02 - 1.573838872006093e-02 1.573336631006632e-02 1.572833869008299e-02 1.572330586230670e-02 1.571826781924578e-02 - 1.571322454052314e-02 1.570817603062760e-02 1.570312230059812e-02 1.569806333998715e-02 1.569299913693516e-02 - 1.568792968457186e-02 1.568285498663007e-02 1.567777503779379e-02 1.567268982728102e-02 1.566759935997030e-02 - 1.566250363482262e-02 1.565740264102256e-02 1.565229637077196e-02 1.564718482295817e-02 1.564206800099241e-02 - 1.563694589151567e-02 1.563181848599405e-02 1.562668579194260e-02 1.562154780177149e-02 1.561640450642917e-02 - 1.561125590888111e-02 1.560610200797837e-02 1.560094279515962e-02 1.559577825343192e-02 1.559060838842812e-02 - 1.558543321151646e-02 1.558025270088283e-02 1.557506685188879e-02 1.556987567405825e-02 1.556467915294808e-02 - 1.555947727806998e-02 1.555427005014520e-02 1.554905747326830e-02 1.554383954557267e-02 1.553861625685508e-02 - 1.553338760005679e-02 1.552815357203842e-02 1.552291417232042e-02 1.551766939022104e-02 1.551241921985975e-02 - 1.550716367246923e-02 1.550190274051892e-02 1.549663640983429e-02 1.549136467943576e-02 1.548608754911306e-02 - 1.548080501516420e-02 1.547551706650131e-02 1.547022370107663e-02 1.546492492363977e-02 1.545962073006300e-02 - 1.545431111106912e-02 1.544899605692932e-02 1.544367557060635e-02 1.543834964941066e-02 1.543301828099291e-02 - 1.542768146907574e-02 1.542233921474585e-02 1.541699150599057e-02 1.541163833967913e-02 1.540627971422265e-02 - 1.540091562222576e-02 1.539554606062004e-02 1.539017102808156e-02 1.538479052048013e-02 1.537940453376258e-02 - 1.537401306270197e-02 1.536861609811398e-02 1.536321364249661e-02 1.535780570199338e-02 1.535239225620149e-02 - 1.534697329939463e-02 1.534154884369051e-02 1.533611887960563e-02 1.533068339829330e-02 1.532524239983298e-02 - 1.531979587995433e-02 1.531434383110085e-02 1.530888624554550e-02 1.530342313142362e-02 1.529795449144603e-02 - 1.529248030485156e-02 1.528700056732233e-02 1.528151528324413e-02 1.527602445059826e-02 1.527052806021316e-02 - 1.526502610370102e-02 1.525951858764995e-02 1.525400550804322e-02 1.524848685322667e-02 1.524296262660809e-02 - 1.523743282528689e-02 1.523189743753784e-02 1.522635646012132e-02 1.522080989370855e-02 1.521525773883866e-02 - 1.520969998584297e-02 1.520413662809972e-02 1.519856766896251e-02 1.519299310438481e-02 1.518741292689401e-02 - 1.518182713051541e-02 1.517623571498702e-02 1.517063867977171e-02 1.516503601659771e-02 1.515942772580205e-02 - 1.515381380882217e-02 1.514819425008754e-02 1.514256904339338e-02 1.513693819284546e-02 1.513130169987854e-02 - 1.512565955837021e-02 1.512001175774349e-02 1.511435830052952e-02 1.510869918485496e-02 1.510303439909880e-02 - 1.509736393861015e-02 1.509168780464220e-02 1.508600600178219e-02 1.508031852355242e-02 1.507462535986425e-02 - 1.506892650464710e-02 1.506322195838325e-02 1.505751172137055e-02 1.505179578553525e-02 1.504607414992266e-02 - 1.504034681527993e-02 1.503461377008154e-02 1.502887501067205e-02 1.502313053999477e-02 1.501738035243006e-02 - 1.501162444030474e-02 1.500586279803602e-02 1.500009542963074e-02 1.499432233574762e-02 1.498854350912934e-02 - 1.498275894315130e-02 1.497696863387312e-02 1.497117258012378e-02 1.496537077480856e-02 1.495956321394884e-02 - 1.495374990400090e-02 1.494793083920974e-02 1.494210600904758e-02 1.493627541059610e-02 1.493043904648383e-02 - 1.492459691659297e-02 1.491874900408085e-02 1.491289530722370e-02 1.490703583623931e-02 1.490117058646935e-02 - 1.489529954725381e-02 1.488942270892006e-02 1.488354007804980e-02 1.487765165385858e-02 1.487175742273507e-02 - 1.486585738883519e-02 1.485995155398175e-02 1.485403990610964e-02 1.484812243988829e-02 1.484219915557141e-02 - 1.483627005584607e-02 1.483033513203473e-02 1.482439437542072e-02 1.481844779264578e-02 1.481249538141862e-02 - 1.480653713381494e-02 1.480057304868135e-02 1.479460312202780e-02 1.478862734716873e-02 1.478264572087699e-02 - 1.477665824308106e-02 1.477066491441443e-02 1.476466572742758e-02 1.475866067903805e-02 1.475264977269339e-02 - 1.474663299844858e-02 1.474061034872640e-02 1.473458182710518e-02 1.472854743115566e-02 1.472250715651883e-02 - 1.471646100132783e-02 1.471040896256117e-02 1.470435103749897e-02 1.469828722554372e-02 1.469221751827344e-02 - 1.468614190646898e-02 1.468006039547928e-02 1.467397298615093e-02 1.466787967378610e-02 1.466178045636883e-02 - 1.465567533041493e-02 1.464956428982840e-02 1.464344732703370e-02 1.463732444018100e-02 1.463119563426315e-02 - 1.462506090797482e-02 1.461892025637629e-02 1.461277367320199e-02 1.460662115516677e-02 1.460046270026797e-02 - 1.459429830605704e-02 1.458812796887011e-02 1.458195168595082e-02 1.457576945823491e-02 1.456958128559711e-02 - 1.456338716422361e-02 1.455718708308891e-02 1.455098103823577e-02 1.454476903226018e-02 1.453855106504101e-02 - 1.453232713525658e-02 1.452609724028033e-02 1.451986137384772e-02 1.451361953112174e-02 1.450737171027855e-02 - 1.450111790831084e-02 1.449485812287890e-02 1.448859235383744e-02 1.448232060352556e-02 1.447604287018101e-02 - 1.446975914267516e-02 1.446346941597466e-02 1.445717368938523e-02 1.445087196279080e-02 1.444456423724572e-02 - 1.443825051237331e-02 1.443193078136921e-02 1.442560503975330e-02 1.441927328581930e-02 1.441293551683267e-02 - 1.440659172970616e-02 1.440024192165075e-02 1.439388609177658e-02 1.438752424156573e-02 1.438115637277796e-02 - 1.437478247503487e-02 1.436840254149195e-02 1.436201657648160e-02 1.435562457263202e-02 1.434922652522855e-02 - 1.434282244486077e-02 1.433641232984850e-02 1.432999617114929e-02 1.432357396196595e-02 1.431714570255755e-02 - 1.431071139387867e-02 1.430427102559402e-02 1.429782460021014e-02 1.429137212732056e-02 1.428491359501307e-02 - 1.427844899676062e-02 1.427197833606156e-02 1.426550161130239e-02 1.425901881685885e-02 1.425252994564961e-02 - 1.424603499980085e-02 1.423953398385027e-02 1.423302689906778e-02 1.422651373475527e-02 1.421999448399202e-02 - 1.421346915585374e-02 1.420693774198730e-02 1.420040023237321e-02 1.419385663850131e-02 1.418730696003290e-02 - 1.418075118751426e-02 1.417418931634679e-02 1.416762135086922e-02 1.416104729584521e-02 1.415446713263836e-02 - 1.414788085973522e-02 1.414128849363525e-02 1.413469002361970e-02 1.412808544052846e-02 1.412147474772301e-02 - 1.411485794712882e-02 1.410823503604182e-02 1.410160600672222e-02 1.409497085818714e-02 1.408832959214252e-02 - 1.408168220875668e-02 1.407502870564407e-02 1.406836907961611e-02 1.406170332864153e-02 1.405503144837146e-02 - 1.404835343608425e-02 1.404166929852345e-02 1.403497903248639e-02 1.402828262916828e-02 1.402158009603205e-02 - 1.401487143048169e-02 1.400815661918214e-02 1.400143566703935e-02 1.399470857625501e-02 1.398797534046779e-02 - 1.398123596549795e-02 1.397449045134991e-02 1.396773878380821e-02 1.396098096640959e-02 1.395421700271061e-02 - 1.394744688102961e-02 1.394067060648909e-02 1.393388818692338e-02 1.392709961198955e-02 1.392030488001634e-02 - 1.391350399327543e-02 1.390669694254475e-02 1.389988372719557e-02 1.389306435287330e-02 1.388623881438261e-02 - 1.387940711188756e-02 1.387256925103053e-02 1.386572522405790e-02 1.385887502683316e-02 1.385201866296698e-02 - 1.384515612379329e-02 1.383828740611332e-02 1.383141252098464e-02 1.382453146615934e-02 1.381764423695148e-02 - 1.381075083621117e-02 1.380385125926009e-02 1.379694549932224e-02 1.379003355634722e-02 1.378311543405784e-02 - 1.377619113577579e-02 1.376926065784134e-02 1.376232399626086e-02 1.375538114862362e-02 1.374843211529037e-02 - 1.374147689626999e-02 1.373451549097131e-02 1.372754790081035e-02 1.372057412482435e-02 1.371359415880417e-02 - 1.370660800191563e-02 1.369961565562416e-02 1.369261712158748e-02 1.368561239160383e-02 1.367860146147292e-02 - 1.367158434223160e-02 1.366456103295884e-02 1.365753152816715e-02 1.365049582984413e-02 1.364345393626983e-02 - 1.363640584363454e-02 1.362935155197557e-02 1.362229106201978e-02 1.361522437421294e-02 1.360815148809621e-02 - 1.360107240365773e-02 1.359398712117658e-02 1.358689563898480e-02 1.357979795217255e-02 1.357269405533802e-02 - 1.356558396017600e-02 1.355846767355538e-02 1.355134518540141e-02 1.354421648973967e-02 1.353708158728038e-02 - 1.352994048497773e-02 1.352279317412557e-02 1.351563964921714e-02 1.350847993234027e-02 1.350131401794928e-02 - 1.349414188812881e-02 1.348696355361660e-02 1.347977901858603e-02 1.347258827670450e-02 1.346539132112732e-02 - 1.345818815687027e-02 1.345097879723517e-02 1.344376323611521e-02 1.343654146470481e-02 1.342931348024562e-02 - 1.342207929164266e-02 1.341483890125029e-02 1.340759229714105e-02 1.340033948592649e-02 1.339308047488992e-02 - 1.338581525615185e-02 1.337854383232506e-02 1.337126620737807e-02 1.336398237245951e-02 1.335669232490426e-02 - 1.334939606999042e-02 1.334209361886319e-02 1.333478496691931e-02 1.332747010093965e-02 1.332014902896288e-02 - 1.331282175723704e-02 1.330548828381385e-02 1.329814860211957e-02 1.329080271412866e-02 1.328345063097246e-02 - 1.327609234424045e-02 1.326872784914616e-02 1.326135715657202e-02 1.325398026514318e-02 1.324659716972378e-02 - 1.323920787031880e-02 1.323181236976987e-02 1.322441067219326e-02 1.321700278123619e-02 1.320958869473772e-02 - 1.320216840889533e-02 1.319474192647233e-02 1.318730924299288e-02 1.317987035320805e-02 1.317242527523754e-02 - 1.316497401404441e-02 1.315751655750498e-02 1.315005290457417e-02 1.314258305915991e-02 1.313510702533477e-02 - 1.312762479749873e-02 1.312013637454663e-02 1.311264176674524e-02 1.310514097528989e-02 1.309763399743803e-02 - 1.309012083240218e-02 1.308260148524151e-02 1.307507595779872e-02 1.306754423810231e-02 1.306000633130083e-02 - 1.305246225068735e-02 1.304491199415833e-02 1.303735555888092e-02 1.302979294561730e-02 1.302222416114251e-02 - 1.301464920127586e-02 1.300706805512286e-02 1.299948074007148e-02 1.299188726392925e-02 1.298428761376350e-02 - 1.297668178953030e-02 1.296906979917289e-02 1.296145165196894e-02 1.295382733572278e-02 1.294619684321666e-02 - 1.293856019418804e-02 1.293091739361701e-02 1.292326843600229e-02 1.291561331594024e-02 1.290795203962965e-02 - 1.290028461406370e-02 1.289261102589192e-02 1.288493127982097e-02 1.287724539399148e-02 1.286955336728896e-02 - 1.286185519483855e-02 1.285415087393522e-02 1.284644040779901e-02 1.283872379943217e-02 1.283100105007112e-02 - 1.282327216499671e-02 1.281553714651719e-02 1.280779599126801e-02 1.280004870582322e-02 1.279229529551004e-02 - 1.278453575462785e-02 1.277677008230648e-02 1.276899828322272e-02 1.276122036637128e-02 1.275343633303281e-02 - 1.274564618082443e-02 1.273784991358546e-02 1.273004753391990e-02 1.272223904101719e-02 1.271442442957637e-02 - 1.270660370794978e-02 1.269877689384363e-02 1.269094397773904e-02 1.268310495443295e-02 1.267525983383190e-02 - 1.266740862159357e-02 1.265955131610305e-02 1.265168790986125e-02 1.264381841321034e-02 1.263594283614933e-02 - 1.262806117310012e-02 1.262017342951705e-02 1.261227961209872e-02 1.260437971406514e-02 1.259647373729069e-02 - 1.258856168925583e-02 1.258064357239260e-02 1.257271939240096e-02 1.256478915520078e-02 1.255685285459754e-02 - 1.254891049173029e-02 1.254096207570647e-02 1.253300760376554e-02 1.252504707668881e-02 1.251708050378790e-02 - 1.250910789128773e-02 1.250112924190730e-02 1.249314455497329e-02 1.248515382942968e-02 1.247715706626537e-02 - 1.246915427066142e-02 1.246114545004359e-02 1.245313061093009e-02 1.244510975519442e-02 1.243708288271855e-02 - 1.242904999334644e-02 1.242101108960597e-02 1.241296617602342e-02 1.240491525784085e-02 1.239685833832253e-02 - 1.238879542265411e-02 1.238072651672425e-02 1.237265161832934e-02 1.236457072972670e-02 1.235648385971585e-02 - 1.234839100475330e-02 1.234029216644840e-02 1.233218735967670e-02 1.232407658450629e-02 1.231595983825897e-02 - 1.230783712734204e-02 1.229970846199802e-02 1.229157384500942e-02 1.228343326032102e-02 1.227528672233900e-02 - 1.226713425500730e-02 1.225897584359588e-02 1.225081148758153e-02 1.224264120133804e-02 1.223446498720786e-02 - 1.222628284514866e-02 1.221809477711035e-02 1.220990079161559e-02 1.220170089405064e-02 1.219349508434973e-02 - 1.218528336781141e-02 1.217706575082829e-02 1.216884223701085e-02 1.216061282093886e-02 1.215237750559525e-02 - 1.214413631491834e-02 1.213588924765066e-02 1.212763629639266e-02 1.211937747504947e-02 1.211111278696468e-02 - 1.210284222899338e-02 1.209456580676226e-02 1.208628352659129e-02 1.207799539529086e-02 1.206970142400196e-02 - 1.206140161359375e-02 1.205309595715539e-02 1.204478446558403e-02 1.203646714593309e-02 1.202814399601385e-02 - 1.201981502726849e-02 1.201148024892713e-02 1.200313965960066e-02 1.199479326438714e-02 1.198644106975963e-02 - 1.197808307814890e-02 1.196971928979660e-02 1.196134970757412e-02 1.195297434273665e-02 1.194459320579336e-02 - 1.193620630286995e-02 1.192781363156250e-02 1.191941519457288e-02 1.191101099930699e-02 1.190260104978759e-02 - 1.189418535108248e-02 1.188576391078268e-02 1.187733673904143e-02 1.186890383909906e-02 1.186046520717658e-02 - 1.185202085452967e-02 1.184357078721630e-02 1.183511499765447e-02 1.182665350164435e-02 1.181818631619212e-02 - 1.180971343948878e-02 1.180123487113532e-02 1.179275061618258e-02 1.178426068678883e-02 1.177576508273127e-02 - 1.176726380098327e-02 1.175875685721244e-02 1.175024426443667e-02 1.174172602804813e-02 1.173320214474543e-02 - 1.172467261918110e-02 1.171613746318596e-02 1.170759667473828e-02 1.169905025976067e-02 1.169049823639713e-02 - 1.168194060529573e-02 1.167337736787376e-02 1.166480853596695e-02 1.165623411322526e-02 1.164765410079015e-02 - 1.163906850325271e-02 1.163047732858534e-02 1.162188058835008e-02 1.161327829716097e-02 1.160467045202270e-02 - 1.159605704763531e-02 1.158743810702480e-02 1.157881363156412e-02 1.157018361041755e-02 1.156154807040710e-02 - 1.155290702254676e-02 1.154426045745637e-02 1.153560838867705e-02 1.152695082724772e-02 1.151828777265603e-02 - 1.150961922666123e-02 1.150094519786783e-02 1.149226570234640e-02 1.148358074611148e-02 1.147489033148848e-02 - 1.146619446355201e-02 1.145749315215113e-02 1.144878640491215e-02 1.144007421936342e-02 1.143135660500108e-02 - 1.142263357779597e-02 1.141390514531738e-02 1.140517131031360e-02 1.139643207471360e-02 1.138768744746770e-02 - 1.137893743736065e-02 1.137018205114591e-02 1.136142129485616e-02 1.135265517811921e-02 1.134388371322748e-02 - 1.133510690045416e-02 1.132632474439678e-02 1.131753726104511e-02 1.130874445081251e-02 1.129994631541456e-02 - 1.129114287234474e-02 1.128233413053084e-02 1.127352009524980e-02 1.126470077646612e-02 1.125587617975814e-02 - 1.124704630615814e-02 1.123821115477194e-02 1.122937074388692e-02 1.122052509984340e-02 1.121167421843202e-02 - 1.120281809651728e-02 1.119395674175946e-02 1.118509017235879e-02 1.117621839625571e-02 1.116734140890626e-02 - 1.115845922925729e-02 1.114957187162777e-02 1.114067933143962e-02 1.113178161769016e-02 1.112287874451852e-02 - 1.111397072153178e-02 1.110505754694771e-02 1.109613922373310e-02 1.108721577854856e-02 1.107828721826434e-02 - 1.106935353946150e-02 1.106041475521090e-02 1.105147087839408e-02 1.104252191603393e-02 1.103356786436798e-02 - 1.102460873384026e-02 1.101564454870664e-02 1.100667531791245e-02 1.099770104268406e-02 1.098872172333136e-02 - 1.097973737703280e-02 1.097074801492989e-02 1.096175363206450e-02 1.095275424291130e-02 1.094374986633713e-02 - 1.093474051123777e-02 1.092572618232803e-02 1.091670688531980e-02 1.090768263148204e-02 1.089865342255811e-02 - 1.088961926240844e-02 1.088058018050034e-02 1.087153618780464e-02 1.086248727940419e-02 1.085343346361914e-02 - 1.084437475261139e-02 1.083531115780061e-02 1.082624268419920e-02 1.081716934144050e-02 1.080809114559821e-02 - 1.079900810312026e-02 1.078992022093278e-02 1.078082751184906e-02 1.077172998533364e-02 1.076262764813011e-02 - 1.075352050586474e-02 1.074440857092024e-02 1.073529185762834e-02 1.072617037570664e-02 1.071704413251609e-02 - 1.070791313635956e-02 1.069877740113652e-02 1.068963693244828e-02 1.068049173224424e-02 1.067134181766250e-02 - 1.066218720670161e-02 1.065302791162099e-02 1.064386393117340e-02 1.063469527249458e-02 1.062552195483164e-02 - 1.061634397913101e-02 1.060716135205155e-02 1.059797409807024e-02 1.058878223029125e-02 1.057958575437316e-02 - 1.057038467384018e-02 1.056117900039964e-02 1.055196874533382e-02 1.054275390960051e-02 1.053353451406393e-02 - 1.052431058354873e-02 1.051508211263400e-02 1.050584910821505e-02 1.049661158906674e-02 1.048736956269110e-02 - 1.047812303544552e-02 1.046887201730896e-02 1.045961652742825e-02 1.045035657823219e-02 1.044109217270465e-02 - 1.043182332652317e-02 1.042255005238709e-02 1.041327235213399e-02 1.040399023555266e-02 1.039470371859749e-02 - 1.038541282005145e-02 1.037611754740451e-02 1.036681790639924e-02 1.035751391340543e-02 1.034820558036888e-02 - 1.033889291336949e-02 1.032957591435120e-02 1.032025460242317e-02 1.031092900384275e-02 1.030159911688449e-02 - 1.029226495054825e-02 1.028292652729243e-02 1.027358385071069e-02 1.026423692589549e-02 1.025488576741323e-02 - 1.024553039300053e-02 1.023617081698821e-02 1.022680704740226e-02 1.021743909457171e-02 1.020806697035185e-02 - 1.019869068658227e-02 1.018931025066223e-02 1.017992567348438e-02 1.017053697875713e-02 1.016114417776936e-02 - 1.015174727399650e-02 1.014234627700861e-02 1.013294120450803e-02 1.012353207457940e-02 1.011411888599992e-02 - 1.010470164920459e-02 1.009528038851809e-02 1.008585511657422e-02 1.007642584330934e-02 1.006699257991301e-02 - 1.005755533847607e-02 1.004811412861271e-02 1.003866895746225e-02 1.002921984502842e-02 1.001976681035788e-02 - 1.001030986009602e-02 1.000084900502786e-02 9.991384259025663e-03 9.981915635495017e-03 9.972443141719819e-03 - 9.962966786689603e-03 9.953486595586885e-03 9.944002583039199e-03 9.934514754395770e-03 9.925023122335749e-03 - 9.915527701693664e-03 9.906028505794947e-03 9.896525539473492e-03 9.887018817044350e-03 9.877508364713565e-03 - 9.867994191756903e-03 9.858476305769829e-03 9.848954721540815e-03 9.839429453723526e-03 9.829900512927632e-03 - 9.820367904529967e-03 9.810831649938153e-03 9.801291772225836e-03 9.791748277276684e-03 9.782201174956444e-03 - 9.772650480173910e-03 9.763096209214261e-03 9.753538370443265e-03 9.743976971083063e-03 9.734412038356991e-03 - 9.724843589152831e-03 9.715271627378256e-03 9.705696167153652e-03 9.696117225097080e-03 9.686534815487291e-03 - 9.676948943754414e-03 9.667359623576509e-03 9.657766883492007e-03 9.648170733986708e-03 9.638571181819185e-03 - 9.628968243024477e-03 9.619361933494769e-03 9.609752265452595e-03 9.600139245296816e-03 9.590522893495216e-03 - 9.580903234511828e-03 9.571280275331249e-03 9.561654026946651e-03 9.552024506017841e-03 9.542391727779683e-03 - 9.532755702177183e-03 9.523116437885958e-03 9.513473960404769e-03 9.503828289303256e-03 9.494179431678001e-03 - 9.484527400058637e-03 9.474872210511853e-03 9.465213879778082e-03 9.455552415295903e-03 9.445887829718797e-03 - 9.436220151655284e-03 9.426549394486200e-03 9.416875565725477e-03 9.407198681221749e-03 9.397518758018270e-03 - 9.387835810148322e-03 9.378149843813783e-03 9.368460878589471e-03 9.358768941430739e-03 9.349074041571485e-03 - 9.339376189353358e-03 9.329675400879622e-03 9.319971694171958e-03 9.310265081086165e-03 9.300555568605354e-03 - 9.290843182951191e-03 9.281127946492163e-03 9.271409865969660e-03 9.261688954922952e-03 9.251965230660204e-03 - 9.242238709904914e-03 9.232509401801155e-03 9.222777318787652e-03 9.213042489474691e-03 9.203304930168641e-03 - 9.193564649383718e-03 9.183821661973759e-03 9.174075985705271e-03 9.164327637046287e-03 9.154576623077591e-03 - 9.144822962285418e-03 9.135066683045857e-03 9.125307796249328e-03 9.115546312613307e-03 9.105782249286811e-03 - 9.096015624756502e-03 9.086246452281876e-03 9.076474739187750e-03 9.066700510968253e-03 9.056923792083085e-03 - 9.047144590189744e-03 9.037362919662660e-03 9.027578799121916e-03 9.017792245480461e-03 9.008003268928564e-03 - 8.998211881680073e-03 8.988418113610518e-03 8.978621982540696e-03 8.968823496265647e-03 8.959022672124209e-03 - 8.949219528590024e-03 8.939414081469170e-03 8.929606339864140e-03 8.919796321979990e-03 8.909984056877767e-03 - 8.900169557867096e-03 8.890352835957138e-03 8.880533907981049e-03 8.870712793191068e-03 8.860889506593549e-03 - 8.851064055633283e-03 8.841236465905915e-03 8.831406764712287e-03 8.821574959648875e-03 8.811741064546590e-03 - 8.801905099237244e-03 8.792067082696866e-03 8.782227026145442e-03 8.772384940188230e-03 8.762540855386065e-03 - 8.752694792574688e-03 8.742846759945761e-03 8.732996774006149e-03 8.723144854408183e-03 8.713291019755398e-03 - 8.703435278608567e-03 8.693577647775636e-03 8.683718159456632e-03 8.673856827661263e-03 8.663993662505663e-03 - 8.654128683145933e-03 8.644261909320558e-03 8.634393356690426e-03 8.624523033451901e-03 8.614650964506795e-03 - 8.604777179373340e-03 8.594901686657006e-03 8.585024500118565e-03 8.575145640490715e-03 8.565265126670765e-03 - 8.555382971806235e-03 8.545499187654319e-03 8.535613803632294e-03 8.525726842250045e-03 8.515838312646278e-03 - 8.505948232174527e-03 8.496056621077198e-03 8.486163497882877e-03 8.476268872748003e-03 8.466372762116349e-03 - 8.456475199094931e-03 8.446576199856061e-03 8.436675774300739e-03 8.426773941795081e-03 8.416870722731803e-03 - 8.406966134358667e-03 8.397060186389057e-03 8.387152901959176e-03 8.377244311160385e-03 8.367334425300299e-03 - 8.357423258296441e-03 8.347510830980188e-03 8.337597163605794e-03 8.327682270401855e-03 8.317766161869340e-03 - 8.307848867754637e-03 8.297930413816063e-03 8.288010810083676e-03 8.278090072673102e-03 8.268168221765407e-03 - 8.258245278027963e-03 8.248321253600945e-03 8.238396163758082e-03 8.228470040664376e-03 8.218542903042886e-03 - 8.208614761992156e-03 8.198685637447353e-03 8.188755549837494e-03 8.178824516773604e-03 8.168892549578916e-03 - 8.158959670459199e-03 8.149025910256038e-03 8.139091282816925e-03 8.129155801857130e-03 8.119219487437710e-03 - 8.109282361690508e-03 8.099344440765549e-03 8.089405733754036e-03 8.079466270417937e-03 8.069526079135253e-03 - 8.059585169010465e-03 8.049643556954327e-03 8.039701265060109e-03 8.029758314127560e-03 8.019814717074126e-03 - 8.009870488264625e-03 7.999925660293698e-03 7.989980254561855e-03 7.980034282561204e-03 7.970087763203990e-03 - 7.960140717914167e-03 7.950193166721423e-03 7.940245120231920e-03 7.930296599391260e-03 7.920347637831796e-03 - 7.910398250263278e-03 7.900448449763646e-03 7.890498257622273e-03 7.880547695356892e-03 7.870596780430528e-03 - 7.860645524802819e-03 7.850693955430419e-03 7.840742100859013e-03 7.830789973961963e-03 7.820837591210042e-03 - 7.810884973654219e-03 7.800932143705464e-03 7.790979115476222e-03 7.781025902060369e-03 7.771072537550891e-03 - 7.761119045304192e-03 7.751165435253132e-03 7.741211727248220e-03 7.731257943744334e-03 7.721304105116559e-03 - 7.711350222852130e-03 7.701396316987202e-03 7.691442422531397e-03 7.681488555826352e-03 7.671534729460651e-03 - 7.661580965493510e-03 7.651627286213397e-03 7.641673709645761e-03 7.631720246474624e-03 7.621766924002147e-03 - 7.611813774300424e-03 7.601860809420407e-03 7.591908045212342e-03 7.581955503946372e-03 7.572003208680656e-03 - 7.562051174726026e-03 7.552099414296815e-03 7.542147961065804e-03 7.532196840825635e-03 7.522246063843738e-03 - 7.512295650102864e-03 7.502345622322073e-03 7.492396000716249e-03 7.482446799189802e-03 7.472498037196947e-03 - 7.462549747897286e-03 7.452601950331629e-03 7.442654658211039e-03 7.432707892744488e-03 7.422761676416634e-03 - 7.412816028768508e-03 7.402870961455420e-03 7.392926500328647e-03 7.382982678429822e-03 7.373039508794957e-03 - 7.363097007225734e-03 7.353155196864952e-03 7.343214100532815e-03 7.333273734782904e-03 7.323334112197604e-03 - 7.313395265021593e-03 7.303457220900774e-03 7.293519991033275e-03 7.283583594600794e-03 7.273648054943689e-03 - 7.263713394446934e-03 7.253779626580373e-03 7.243846768480717e-03 7.233914855435080e-03 7.223983908518886e-03 - 7.214053940460562e-03 7.204124972417771e-03 7.194197027491048e-03 7.184270126394881e-03 7.174344280726286e-03 - 7.164419514784642e-03 7.154495863236941e-03 7.144573340914020e-03 7.134651962993328e-03 7.124731752265264e-03 - 7.114812732100897e-03 7.104894920638768e-03 7.094978330575343e-03 7.085062992246606e-03 7.075148934793896e-03 - 7.065236171017366e-03 7.055324719420953e-03 7.045414603125002e-03 7.035505845669364e-03 7.025598461448587e-03 - 7.015692466009597e-03 7.005787894887785e-03 6.995884771371198e-03 6.985983107977662e-03 6.976082925249031e-03 - 6.966184246523457e-03 6.956287093797063e-03 6.946391479271966e-03 6.936497425652844e-03 6.926604968509339e-03 - 6.916714124366364e-03 6.906824907731460e-03 6.896937340931554e-03 6.887051448149962e-03 6.877167248699087e-03 - 6.867284753979424e-03 6.857403994050719e-03 6.847525000658012e-03 6.837647785670592e-03 6.827772367409923e-03 - 6.817898770109592e-03 6.808027016717447e-03 6.798157122708669e-03 6.788289103240300e-03 6.778422992931511e-03 - 6.768558816798320e-03 6.758696587557012e-03 6.748836325648165e-03 6.738978054348659e-03 6.729121795949092e-03 - 6.719267563927435e-03 6.709415379633438e-03 6.699565278400954e-03 6.689717278120727e-03 6.679871393303892e-03 - 6.670027647355804e-03 6.660186063525513e-03 6.650346660981845e-03 6.640509452367944e-03 6.630674466396449e-03 - 6.620841735868644e-03 6.611011273308148e-03 6.601183096392477e-03 6.591357229649247e-03 6.581533696087914e-03 - 6.571712512145987e-03 6.561893692372858e-03 6.552077270290561e-03 6.542263272668194e-03 6.532451712617284e-03 - 6.522642609933696e-03 6.512835987879551e-03 6.503031869590782e-03 6.493230268870023e-03 6.483431205156500e-03 - 6.473634714105858e-03 6.463840816056773e-03 6.454049525191551e-03 6.444260863046832e-03 6.434474853362258e-03 - 6.424691517208967e-03 6.414910866799055e-03 6.405132928351729e-03 6.395357735592168e-03 6.385585303753894e-03 - 6.375815649717760e-03 6.366048796411005e-03 6.356284767471845e-03 6.346523580477974e-03 6.336765248927921e-03 - 6.327009805730009e-03 6.317257279178600e-03 6.307507681412946e-03 6.297761032647583e-03 6.288017356862164e-03 - 6.278276676438099e-03 6.268539005625230e-03 6.258804362658888e-03 6.249072783406197e-03 6.239344289504087e-03 - 6.229618894349891e-03 6.219896619699197e-03 6.210177489065160e-03 6.200461523673893e-03 6.190748736475173e-03 - 6.181039151999554e-03 6.171332804226705e-03 6.161629709556120e-03 6.151929884103313e-03 6.142233350147177e-03 - 6.132540131644584e-03 6.122850247356021e-03 6.113163710170625e-03 6.103480551213418e-03 6.093800800141988e-03 - 6.084124469547710e-03 6.074451578566364e-03 6.064782150905211e-03 6.055116209626953e-03 6.045453769994722e-03 - 6.035794848740185e-03 6.026139480474754e-03 6.016487688229946e-03 6.006839485237500e-03 5.997194892776407e-03 - 5.987553934341584e-03 5.977916631713333e-03 5.968282997802390e-03 5.958653055343909e-03 5.949026838944569e-03 - 5.939404365780911e-03 5.929785651209331e-03 5.920170717549854e-03 5.910559587858684e-03 5.900952281370824e-03 - 5.891348811852907e-03 5.881749208142844e-03 5.872153500225121e-03 5.862561701850070e-03 5.852973831530551e-03 - 5.843389912374926e-03 5.833809966833203e-03 5.824234011006907e-03 5.814662060999971e-03 5.805094150375409e-03 - 5.795530303292347e-03 5.785970532524381e-03 5.776414859211175e-03 5.766863306294991e-03 5.757315894674337e-03 - 5.747772638659374e-03 5.738233559732430e-03 5.728698691311226e-03 5.719168051719483e-03 5.709641656042984e-03 - 5.700119526414031e-03 5.690601685377130e-03 5.681088152168133e-03 5.671578940158426e-03 5.662074076665564e-03 - 5.652573592801510e-03 5.643077502877857e-03 5.633585823810169e-03 5.624098577633230e-03 5.614615788052954e-03 - 5.605137471831965e-03 5.595663642810052e-03 5.586194333773162e-03 5.576729570469775e-03 5.567269364923084e-03 - 5.557813736696195e-03 5.548362708847973e-03 5.538916303890826e-03 5.529474534822445e-03 5.520037420561356e-03 - 5.510604996543656e-03 5.501177281279281e-03 5.491754287530179e-03 5.482336037985177e-03 5.472922555453679e-03 - 5.463513859119052e-03 5.454109961206277e-03 5.444710887376439e-03 5.435316669896643e-03 5.425927322428118e-03 - 5.416542861379438e-03 5.407163309793553e-03 5.397788689388935e-03 5.388419016905312e-03 5.379054306533677e-03 - 5.369694588817857e-03 5.360339890208465e-03 5.350990223294556e-03 5.341645606645782e-03 5.332306062415535e-03 - 5.322971612709802e-03 5.313642271564683e-03 5.304318056285795e-03 5.294999000250198e-03 5.285685123732157e-03 - 5.276376439554206e-03 5.267072968338082e-03 5.257774732353860e-03 5.248481751732874e-03 5.239194038865901e-03 - 5.229911616755654e-03 5.220634516968343e-03 5.211362754853240e-03 5.202096346092698e-03 5.192835312362628e-03 - 5.183579674966123e-03 5.174329450821569e-03 5.165084652994387e-03 5.155845310548846e-03 5.146611450951191e-03 - 5.137383086378589e-03 5.128160234647254e-03 5.118942917508807e-03 5.109731156137037e-03 5.100524965000140e-03 - 5.091324360054826e-03 5.082129373049942e-03 5.072940025255639e-03 5.063756329149303e-03 5.054578304260502e-03 - 5.045405972366202e-03 5.036239353680495e-03 5.027078459118392e-03 5.017923310123222e-03 5.008773940483098e-03 - 4.999630364315774e-03 4.990492594829337e-03 4.981360654331298e-03 4.972234563790402e-03 4.963114339923834e-03 - 4.953999995020500e-03 4.944891556281875e-03 4.935789051765770e-03 4.926692493194353e-03 4.917601897109304e-03 - 4.908517284729773e-03 4.899438676825864e-03 4.890366088012707e-03 4.881299532722441e-03 4.872239041569468e-03 - 4.863184636415129e-03 4.854136328649667e-03 4.845094137498133e-03 4.836058083872883e-03 4.827028186746977e-03 - 4.818004458681770e-03 4.808986918914880e-03 4.799975597861264e-03 4.790970512088721e-03 4.781971675128856e-03 - 4.772979106768043e-03 4.763992827229902e-03 4.755012853632298e-03 4.746039197549013e-03 4.737071883993436e-03 - 4.728110941197518e-03 4.719156380399636e-03 4.710208217424537e-03 4.701266473663848e-03 4.692331168251817e-03 - 4.683402315353613e-03 4.674479928383867e-03 4.665564036556664e-03 4.656654662394768e-03 4.647751816371710e-03 - 4.638855516650367e-03 4.629965783672686e-03 4.621082635909843e-03 4.612206084994354e-03 4.603336148102954e-03 - 4.594472856159325e-03 4.585616225744373e-03 4.576766268345947e-03 4.567923003199363e-03 4.559086450091263e-03 - 4.550256626033265e-03 4.541433541986122e-03 4.532617220194613e-03 4.523807688535670e-03 4.515004959722835e-03 - 4.506209047920159e-03 4.497419972185719e-03 4.488637751873642e-03 4.479862401381760e-03 4.471093932025212e-03 - 4.462332371280023e-03 4.453577742726973e-03 4.444830056583276e-03 4.436089328917552e-03 4.427355578888171e-03 - 4.418628824988929e-03 4.409909078668640e-03 4.401196354933857e-03 4.392490684030716e-03 4.383792083151365e-03 - 4.375100562120779e-03 4.366416138313078e-03 4.357738831525952e-03 4.349068659591380e-03 4.340405630957790e-03 - 4.331749765364269e-03 4.323101091949651e-03 4.314459623208851e-03 4.305825371349630e-03 4.297198354190413e-03 - 4.288578590720092e-03 4.279966095343473e-03 4.271360877578565e-03 4.262762963097229e-03 4.254172376200769e-03 - 4.245589126222103e-03 4.237013227440267e-03 4.228444697962537e-03 4.219883556022182e-03 4.211329813254019e-03 - 4.202783482548908e-03 4.194244591796649e-03 4.185713159116739e-03 4.177189194188086e-03 4.168672712320958e-03 - 4.160163731860882e-03 4.151662270610665e-03 4.143168336754119e-03 4.134681947397693e-03 4.126203130809124e-03 - 4.117731899759874e-03 4.109268265260960e-03 4.100812244167818e-03 4.092363854125291e-03 4.083923109325604e-03 - 4.075490018959178e-03 4.067064605609816e-03 4.058646892914489e-03 4.050236890474988e-03 4.041834611549669e-03 - 4.033440073099425e-03 4.025053291802670e-03 4.016674279190388e-03 4.008303046950822e-03 3.999939621219669e-03 - 3.991584019864232e-03 3.983236251035503e-03 3.974896329846703e-03 3.966564273682151e-03 3.958240098637734e-03 - 3.949923812376889e-03 3.941615430268695e-03 3.933314980874398e-03 3.925022475755094e-03 3.916737923312982e-03 - 3.908461340476090e-03 3.900192744628528e-03 3.891932149238224e-03 3.883679560814138e-03 3.875435000263637e-03 - 3.867198492508630e-03 3.858970045729460e-03 3.850749670926077e-03 3.842537384120139e-03 3.834333202377867e-03 - 3.826137136626801e-03 3.817949195349815e-03 3.809769403427763e-03 3.801597779587331e-03 3.793434330750140e-03 - 3.785279069923421e-03 3.777132013373491e-03 3.768993177352847e-03 3.760862568898475e-03 3.752740200334732e-03 - 3.744626099044159e-03 3.736520277340854e-03 3.728422742215669e-03 3.720333508785603e-03 3.712252593018920e-03 - 3.704180008090329e-03 3.696115760631814e-03 3.688059868276574e-03 3.680012354362612e-03 3.671973228138760e-03 - 3.663942499526064e-03 3.655920182566113e-03 3.647906292785413e-03 3.639900840938008e-03 3.631903834337251e-03 - 3.623915295229000e-03 3.615935242250758e-03 3.607963681828620e-03 3.600000626081414e-03 3.592046089865790e-03 - 3.584100087061132e-03 3.576162625323692e-03 3.568233715505030e-03 3.560313381862740e-03 3.552401637255495e-03 - 3.544498488187401e-03 3.536603947761108e-03 3.528718030587010e-03 3.520840749407267e-03 3.512972109975055e-03 - 3.505112127471606e-03 3.497260824593953e-03 3.489418209893856e-03 3.481584291815555e-03 3.473759083632174e-03 - 3.465942599385497e-03 3.458134849136788e-03 3.450335838875430e-03 3.442545588595099e-03 3.434764116831954e-03 - 3.426991428902786e-03 3.419227535146918e-03 3.411472449427477e-03 3.403726185233638e-03 3.395988749408295e-03 - 3.388260149964055e-03 3.380540409506120e-03 3.372829541439428e-03 3.365127551327278e-03 3.357434450344299e-03 - 3.349750251864305e-03 3.342074968176267e-03 3.334408603200120e-03 3.326751169911567e-03 3.319102691777129e-03 - 3.311463175183513e-03 3.303832626198486e-03 3.296211059114474e-03 3.288598486024217e-03 3.280994915398627e-03 - 3.273400352769854e-03 3.265814815709593e-03 3.258238322074859e-03 3.250670876135365e-03 3.243112486983179e-03 - 3.235563167624456e-03 3.228022929479646e-03 3.220491779361285e-03 3.212969724272006e-03 3.205456783570964e-03 - 3.197952970426890e-03 3.190458290104943e-03 3.182972751519780e-03 3.175496366385864e-03 3.168029146873250e-03 - 3.160571096621216e-03 3.153122225636278e-03 3.145682555500280e-03 3.138252093348739e-03 3.130830843615626e-03 - 3.123418817816768e-03 3.116016027518625e-03 3.108622481356378e-03 3.101238183229207e-03 3.093863147897005e-03 - 3.086497392737253e-03 3.079140921752824e-03 3.071793741871484e-03 3.064455864252268e-03 3.057127299904285e-03 - 3.049808055146270e-03 3.042498134791386e-03 3.035197556645182e-03 3.027906333235584e-03 3.020624467536793e-03 - 3.013351968343262e-03 3.006088846580162e-03 2.998835112089031e-03 2.991590768047797e-03 2.984355822285627e-03 - 2.977130294631421e-03 2.969914192263928e-03 2.962707518230782e-03 2.955510282832787e-03 2.948322496039390e-03 - 2.941144165204636e-03 2.933975293458325e-03 2.926815893073326e-03 2.919665980487675e-03 2.912525559332239e-03 - 2.905394635071103e-03 2.898273217656210e-03 2.891161316595433e-03 2.884058936906487e-03 2.876966081111658e-03 - 2.869882766189157e-03 2.862809005041444e-03 2.855744798230348e-03 2.848690153100023e-03 2.841645079496137e-03 - 2.834609585256340e-03 2.827583673848185e-03 2.820567351490293e-03 2.813560634590312e-03 2.806563530531927e-03 - 2.799576041999259e-03 2.792598177467573e-03 2.785629945309582e-03 2.778671351607254e-03 2.771722398039775e-03 - 2.764783095014263e-03 2.757853459091809e-03 2.750933492568204e-03 2.744023198517816e-03 2.737122585640385e-03 - 2.730231662189404e-03 2.723350432970404e-03 2.716478899800820e-03 2.709617075896625e-03 2.702764973241287e-03 - 2.695922593060963e-03 2.689089940152226e-03 2.682267022316270e-03 2.675453847914084e-03 2.668650418902243e-03 - 2.661856738145520e-03 2.655072822033232e-03 2.648298678030288e-03 2.641534306206961e-03 2.634779712258937e-03 - 2.628034904058933e-03 2.621299888635041e-03 2.614574665771587e-03 2.607859242632423e-03 2.601153634957146e-03 - 2.594457844452072e-03 2.587771872555374e-03 2.581095727373358e-03 2.574429415266960e-03 2.567772939497474e-03 - 2.561126300777387e-03 2.554489510835181e-03 2.547862581281132e-03 2.541245510713479e-03 2.534638303078699e-03 - 2.528040966193904e-03 2.521453505493298e-03 2.514875922225054e-03 2.508308218200437e-03 2.501750407164573e-03 - 2.495202496081871e-03 2.488664484118587e-03 2.482136376281468e-03 2.475618178705269e-03 2.469109895957427e-03 - 2.462611527825166e-03 2.456123079328407e-03 2.449644563898542e-03 2.443175984269443e-03 2.436717340526153e-03 - 2.430268636964234e-03 2.423829879853036e-03 2.417401073311931e-03 2.410982215756923e-03 2.404573315098301e-03 - 2.398174382071132e-03 2.391785416912405e-03 2.385406421217447e-03 2.379037399546287e-03 2.372678357701878e-03 - 2.366329296305038e-03 2.359990214012962e-03 2.353661123666590e-03 2.347342032379030e-03 2.341032936953993e-03 - 2.334733840455562e-03 2.328444748068140e-03 2.322165663885325e-03 2.315896586946297e-03 2.309637519733881e-03 - 2.303388473653537e-03 2.297149451184649e-03 2.290920451297887e-03 2.284701476927273e-03 2.278492533074980e-03 - 2.272293622898508e-03 2.266104742447669e-03 2.259925897918875e-03 2.253757100645447e-03 2.247598348619136e-03 - 2.241449641489242e-03 2.235310983406359e-03 2.229182378556762e-03 2.223063827011661e-03 2.216955326220785e-03 - 2.210856885615230e-03 2.204768511855369e-03 2.198690202073136e-03 2.192621957162963e-03 2.186563780523993e-03 - 2.180515675851768e-03 2.174477640514074e-03 2.168449674335647e-03 2.162431789038673e-03 2.156423986093689e-03 - 2.150426261719325e-03 2.144438618887063e-03 2.138461061015507e-03 2.132493589319895e-03 2.126536199820428e-03 - 2.120588896234097e-03 2.114651688169617e-03 2.108724573757348e-03 2.102807551461262e-03 2.096900623831682e-03 - 2.091003792760502e-03 2.085117057433877e-03 2.079240415028002e-03 2.073373872799373e-03 2.067517436442142e-03 - 2.061671101563673e-03 2.055834867994772e-03 2.050008738194652e-03 2.044192713868095e-03 2.038386792128391e-03 - 2.032590971333173e-03 2.026805260662020e-03 2.021029661329869e-03 2.015264168518725e-03 2.009508783500123e-03 - 2.003763508166370e-03 1.998028342654997e-03 1.992303282805534e-03 1.986588330078225e-03 1.980883492165770e-03 - 1.975188767039759e-03 1.969504151730439e-03 1.963829647004430e-03 1.958165254218237e-03 1.952510971963634e-03 - 1.946866794889960e-03 1.941232728159857e-03 1.935608777640074e-03 1.929994938329363e-03 1.924391207914093e-03 - 1.918797587114099e-03 1.913214077256622e-03 1.907640674795718e-03 1.902077375557082e-03 1.896524186430478e-03 - 1.890981108949087e-03 1.885448138032121e-03 1.879925272541809e-03 1.874412513138102e-03 1.868909859971047e-03 - 1.863417306389931e-03 1.857934851379391e-03 1.852462503653811e-03 1.847000259754348e-03 1.841548114039762e-03 - 1.836106066817225e-03 1.830674118529854e-03 1.825252266916765e-03 1.819840505202892e-03 1.814438836319749e-03 - 1.809047265638602e-03 1.803665787133681e-03 1.798294397101445e-03 1.792933095135866e-03 1.787581880369786e-03 - 1.782240749155103e-03 1.776909697172910e-03 1.771588728179710e-03 1.766277842767543e-03 1.760977035675204e-03 - 1.755686304337379e-03 1.750405647484752e-03 1.745135063548007e-03 1.739874546386865e-03 1.734624093589025e-03 - 1.729383711586370e-03 1.724153396315838e-03 1.718933140719367e-03 1.713722944309894e-03 1.708522806163372e-03 - 1.703332722978997e-03 1.698152687791741e-03 1.692982700783420e-03 1.687822765464940e-03 1.682672875794938e-03 - 1.677533027054054e-03 1.672403217813849e-03 1.667283446525115e-03 1.662173708173832e-03 1.657073995739192e-03 - 1.651984312946546e-03 1.646904660364047e-03 1.641835029387390e-03 1.636775416468660e-03 1.631725820220986e-03 - 1.626686238226539e-03 1.621656663682810e-03 1.616637091835148e-03 1.611627526662728e-03 1.606627964700548e-03 - 1.601638398623349e-03 1.596658825754688e-03 1.591689243408400e-03 1.586729647378206e-03 1.581780030725023e-03 - 1.576840391697073e-03 1.571910732264727e-03 1.566991046477593e-03 1.562081328242421e-03 1.557181574037859e-03 - 1.552291781114454e-03 1.547411944138861e-03 1.542542055154552e-03 1.537682115822498e-03 1.532832126356767e-03 - 1.527992077470792e-03 1.523161963747274e-03 1.518341782422417e-03 1.513531530571088e-03 1.508731200913292e-03 - 1.503940786876937e-03 1.499160290964809e-03 1.494389709200610e-03 1.489629032745148e-03 1.484878257820629e-03 - 1.480137381279299e-03 1.475406398389162e-03 1.470685299850305e-03 1.465974082141071e-03 1.461272748080975e-03 - 1.456581290224651e-03 1.451899700275850e-03 1.447227974089072e-03 1.442566108566721e-03 1.437914097994959e-03 - 1.433271932504185e-03 1.428639611034298e-03 1.424017133356480e-03 1.419404490680891e-03 1.414801676491448e-03 - 1.410208686553135e-03 1.405625516589791e-03 1.401052158609908e-03 1.396488604511052e-03 1.391934855472548e-03 - 1.387390907364871e-03 1.382856750165021e-03 1.378332378783991e-03 1.373817788890047e-03 1.369312974750468e-03 - 1.364817927255285e-03 1.360332641059443e-03 1.355857116711623e-03 1.351391347026849e-03 1.346935323100728e-03 - 1.342489039284644e-03 1.338052491255308e-03 1.333625672740901e-03 1.329208572800934e-03 1.324801188462658e-03 - 1.320403519143769e-03 1.316015555822497e-03 1.311637290544184e-03 1.307268717472159e-03 1.302909831116118e-03 - 1.298560623326278e-03 1.294221085253892e-03 1.289891216124110e-03 1.285571011566486e-03 1.281260461060531e-03 - 1.276959557618139e-03 1.272668295740209e-03 1.268386669608614e-03 1.264114669618853e-03 1.259852288349743e-03 - 1.255599524419093e-03 1.251356371085625e-03 1.247122819189722e-03 1.242898861265979e-03 1.238684491359706e-03 - 1.234479702756933e-03 1.230284484841117e-03 1.226098832748256e-03 1.221922744434409e-03 1.217756210326720e-03 - 1.213599221362577e-03 1.209451770765583e-03 1.205313852635065e-03 1.201185458480448e-03 1.197066577985755e-03 - 1.192957208640432e-03 1.188857345511447e-03 1.184766976969275e-03 1.180686095693037e-03 1.176614695732404e-03 - 1.172552769621902e-03 1.168500307042727e-03 1.164457299537124e-03 1.160423745213695e-03 1.156399636114517e-03 - 1.152384961360659e-03 1.148379714206853e-03 1.144383887440774e-03 1.140397472403066e-03 1.136420458871837e-03 - 1.132452840804467e-03 1.128494614815977e-03 1.124545770440235e-03 1.120606297984056e-03 1.116676190709075e-03 - 1.112755440623707e-03 1.108844038267568e-03 1.104941973598277e-03 1.101049242215234e-03 1.097165838523137e-03 - 1.093291750933755e-03 1.089426970747485e-03 1.085571490835547e-03 1.081725303225761e-03 1.077888396808512e-03 - 1.074060761522748e-03 1.070242395009795e-03 1.066433289590875e-03 1.062633433332422e-03 1.058842817553080e-03 - 1.055061434373011e-03 1.051289275348505e-03 1.047526329409495e-03 1.043772588486000e-03 1.040028047931513e-03 - 1.036292698203525e-03 1.032566529042292e-03 1.028849531681517e-03 1.025141697676040e-03 1.021443017315572e-03 - 1.017753479165712e-03 1.014073077446178e-03 1.010401806565697e-03 1.006739654876394e-03 1.003086612170896e-03 - 9.994426698862881e-04 9.958078198244436e-04 9.921820510029489e-04 9.885653522799815e-04 9.849577193159157e-04 - 9.813591440739670e-04 9.777696142556011e-04 9.741891204675346e-04 9.706176542328248e-04 9.670552065524777e-04 - 9.635017651512704e-04 9.599573207794398e-04 9.564218691437683e-04 9.528953995809905e-04 9.493779002331982e-04 - 9.458693621672339e-04 9.423697766254766e-04 9.388791334439822e-04 9.353974200435674e-04 9.319246293443443e-04 - 9.284607555133966e-04 9.250057861419034e-04 9.215597102726345e-04 9.181225189615299e-04 9.146942031524666e-04 - 9.112747514066988e-04 9.078641516289516e-04 9.044623983719834e-04 9.010694834242857e-04 8.976853937790154e-04 - 8.943101192935385e-04 8.909436508104612e-04 8.875859786393426e-04 8.842370902316334e-04 8.808969751654204e-04 - 8.775656281905130e-04 8.742430385918343e-04 8.709291937982416e-04 8.676240840155020e-04 8.643276998573467e-04 - 8.610400308208924e-04 8.577610636611962e-04 8.544907899714905e-04 8.512292035626933e-04 8.479762917886125e-04 - 8.447320428739457e-04 8.414964471843920e-04 8.382694949325988e-04 8.350511744137459e-04 8.318414728923707e-04 - 8.286403836395943e-04 8.254478982373706e-04 8.222640032931049e-04 8.190886878204532e-04 8.159219419987107e-04 - 8.127637556794064e-04 8.096141160179775e-04 8.064730115089579e-04 8.033404360997527e-04 8.002163789609624e-04 - 7.971008268111541e-04 7.939937692507287e-04 7.908951962853333e-04 7.878050969946667e-04 7.847234577702081e-04 - 7.816502689905088e-04 7.785855239466778e-04 7.755292098590464e-04 7.724813142232633e-04 7.694418267842021e-04 - 7.664107372089749e-04 7.633880335334087e-04 7.603737023812342e-04 7.573677358642847e-04 7.543701253849379e-04 - 7.513808572285544e-04 7.483999196962093e-04 7.454273024026923e-04 7.424629947358947e-04 7.395069836664074e-04 - 7.365592567622367e-04 7.336198070174806e-04 7.306886236388442e-04 7.277656929130117e-04 7.248510036837761e-04 - 7.219445453636994e-04 7.190463067357669e-04 7.161562739946586e-04 7.132744364309508e-04 7.104007867132190e-04 - 7.075353120392018e-04 7.046779992824802e-04 7.018288375861283e-04 6.989878161882759e-04 6.961549229362052e-04 - 6.933301438820412e-04 6.905134700383686e-04 6.877048926511914e-04 6.849043978549774e-04 6.821119732944710e-04 - 6.793276080246700e-04 6.765512910034699e-04 6.737830090783149e-04 6.710227490756584e-04 6.682705030776122e-04 - 6.655262603091742e-04 6.627900067379164e-04 6.600617305924390e-04 6.573414207627890e-04 6.546290656955580e-04 - 6.519246513982958e-04 6.492281662548372e-04 6.465396024423735e-04 6.438589471596415e-04 6.411861867028291e-04 - 6.385213096762252e-04 6.358643049114898e-04 6.332151601148890e-04 6.305738609661260e-04 6.279403974635571e-04 - 6.253147606410383e-04 6.226969365620930e-04 6.200869123319087e-04 6.174846765257772e-04 6.148902176504979e-04 - 6.123035224628875e-04 6.097245772740803e-04 6.071533733723410e-04 6.045898999580564e-04 6.020341426510520e-04 - 5.994860891934145e-04 5.969457280748620e-04 5.944130474177512e-04 5.918880332091087e-04 5.893706730594447e-04 - 5.868609584534629e-04 5.843588766665737e-04 5.818644136544619e-04 5.793775576682911e-04 5.768982970317317e-04 - 5.744266191686133e-04 5.719625097277512e-04 5.695059578510202e-04 5.670569542308351e-04 5.646154849082753e-04 - 5.621815365284883e-04 5.597550972743215e-04 5.573361553519681e-04 5.549246974872960e-04 5.525207095632259e-04 - 5.501241820142805e-04 5.477351040267441e-04 5.453534610951853e-04 5.429792405131840e-04 5.406124304314462e-04 - 5.382530187447214e-04 5.359009913605971e-04 5.335563351904396e-04 5.312190411682156e-04 5.288890968140364e-04 - 5.265664878332606e-04 5.242512018091515e-04 5.219432267978740e-04 5.196425502978362e-04 5.173491576918976e-04 - 5.150630373381158e-04 5.127841797796618e-04 5.105125710953982e-04 5.082481974966798e-04 5.059910467933278e-04 - 5.037411069671739e-04 5.014983647643853e-04 4.992628057533249e-04 4.970344196034297e-04 4.948131954905409e-04 - 4.925991188614672e-04 4.903921766298550e-04 4.881923566574878e-04 4.859996466359864e-04 4.838140324815327e-04 - 4.816355005995136e-04 4.794640414647377e-04 4.772996426854546e-04 4.751422896755638e-04 4.729919697488023e-04 - 4.708486707166207e-04 4.687123799720691e-04 4.665830828962369e-04 4.644607671738101e-04 4.623454230212830e-04 - 4.602370366779194e-04 4.581355941018685e-04 4.560410828358216e-04 4.539534906171381e-04 4.518728041821612e-04 - 4.497990089033435e-04 4.477320938149108e-04 4.456720481170030e-04 4.436188572707195e-04 4.415725078895158e-04 - 4.395329875976124e-04 4.375002838422590e-04 4.354743826722610e-04 4.334552702201095e-04 4.314429363226086e-04 - 4.294373687059989e-04 4.274385527576286e-04 4.254464755700176e-04 4.234611247199864e-04 4.214824874479911e-04 - 4.195105492176435e-04 4.175452972239935e-04 4.155867214135851e-04 4.136348082067204e-04 4.116895433467350e-04 - 4.097509141339746e-04 4.078189081189173e-04 4.058935120995524e-04 4.039747114386321e-04 4.020624945699733e-04 - 4.001568506324645e-04 3.982577652062802e-04 3.963652246433777e-04 3.944792163840573e-04 3.925997278951708e-04 - 3.907267452820787e-04 3.888602542761684e-04 3.870002443827855e-04 3.851467035420477e-04 3.832996170232135e-04 - 3.814589716941001e-04 3.796247550166885e-04 3.777969542187427e-04 3.759755548771444e-04 3.741605437648361e-04 - 3.723519105456335e-04 3.705496418343326e-04 3.687537232626712e-04 3.669641420580878e-04 3.651808856652343e-04 - 3.634039408935104e-04 3.616332930379869e-04 3.598689301103073e-04 3.581108413327368e-04 3.563590123412032e-04 - 3.546134293224166e-04 3.528740796868620e-04 3.511409507353364e-04 3.494140287293094e-04 3.476932993968030e-04 - 3.459787517007610e-04 3.442703736842207e-04 3.425681507579447e-04 3.408720696736798e-04 3.391821178070990e-04 - 3.374982823340253e-04 3.358205489790399e-04 3.341489042294683e-04 3.324833375391577e-04 3.308238358267097e-04 - 3.291703846864138e-04 3.275229711235071e-04 3.258815824857735e-04 3.242462057388915e-04 3.226168264116891e-04 - 3.209934320343741e-04 3.193760116170641e-04 3.177645512713499e-04 3.161590371207419e-04 3.145594562690266e-04 - 3.129657961319975e-04 3.113780432227079e-04 3.097961831114660e-04 3.082202043645004e-04 3.066500952444524e-04 - 3.050858414009347e-04 3.035274294402161e-04 3.019748466354355e-04 3.004280802320956e-04 2.988871162192853e-04 - 2.973519409077311e-04 2.958225434173786e-04 2.942989109163873e-04 2.927810290941792e-04 2.912688849504159e-04 - 2.897624658129895e-04 2.882617587216531e-04 2.867667493909568e-04 2.852774250910157e-04 2.837937747837379e-04 - 2.823157848000407e-04 2.808434412718301e-04 2.793767313619733e-04 2.779156424588856e-04 2.764601612241833e-04 - 2.750102732798498e-04 2.735659669757869e-04 2.721272307826111e-04 2.706940504177620e-04 2.692664125118005e-04 - 2.678443044384447e-04 2.664277133531666e-04 2.650166254907073e-04 2.636110271946842e-04 2.622109073508727e-04 - 2.608162534146021e-04 2.594270512444905e-04 2.580432877716125e-04 2.566649503351083e-04 2.552920261463284e-04 - 2.539245011192165e-04 2.525623623480746e-04 2.512055988243127e-04 2.498541971146173e-04 2.485081433825346e-04 - 2.471674249383843e-04 2.458320291468696e-04 2.445019428356345e-04 2.431771519464020e-04 2.418576445147758e-04 - 2.405434090455539e-04 2.392344316436903e-04 2.379306989304936e-04 2.366321982706708e-04 2.353389171046539e-04 - 2.340508418959193e-04 2.327679588365217e-04 2.314902568213100e-04 2.302177235947735e-04 2.289503450019842e-04 - 2.276881081822984e-04 2.264310006278554e-04 2.251790095285085e-04 2.239321211178975e-04 2.226903224828012e-04 - 2.214536025966827e-04 2.202219483393713e-04 2.189953459440866e-04 2.177737827672056e-04 2.165572463172210e-04 - 2.153457236927424e-04 2.141392010208329e-04 2.129376661694288e-04 2.117411078009580e-04 2.105495123800498e-04 - 2.093628666254358e-04 2.081811579562958e-04 2.070043738711933e-04 2.058325011765904e-04 2.046655262979033e-04 - 2.035034378928387e-04 2.023462239716796e-04 2.011938707312936e-04 2.000463653117907e-04 1.989036953143001e-04 - 1.977658482429478e-04 1.966328105707422e-04 1.955045692837424e-04 1.943811134060168e-04 1.932624302421221e-04 - 1.921485062157297e-04 1.910393287336514e-04 1.899348854684124e-04 1.888351638115297e-04 1.877401500482506e-04 - 1.866498319949601e-04 1.855641985831636e-04 1.844832365124926e-04 1.834069326310023e-04 1.823352746298841e-04 - 1.812682501147551e-04 1.802058461455679e-04 1.791480493724017e-04 1.780948483852737e-04 1.770462314872484e-04 - 1.760021851824818e-04 1.749626967491274e-04 1.739277539439587e-04 1.728973444305181e-04 1.718714550470096e-04 - 1.708500728855944e-04 1.698331869571933e-04 1.688207849549946e-04 1.678128535713188e-04 1.668093803524777e-04 - 1.658103531111011e-04 1.648157594964937e-04 1.638255861976382e-04 1.628398210066413e-04 1.618584529166454e-04 - 1.608814690931768e-04 1.599088565742865e-04 1.589406031206167e-04 1.579766966509897e-04 1.570171246224424e-04 - 1.560618738321770e-04 1.551109328208930e-04 1.541642902068764e-04 1.532219328717612e-04 1.522838482661923e-04 - 1.513500243337891e-04 1.504204489591066e-04 1.494951093483970e-04 1.485739927662749e-04 1.476570882997282e-04 - 1.467443839796364e-04 1.458358667202351e-04 1.449315243896633e-04 1.440313449862068e-04 1.431353162531848e-04 - 1.422434254066872e-04 1.413556604013758e-04 1.404720102486319e-04 1.395924625558734e-04 1.387170046489957e-04 - 1.378456244430427e-04 1.369783100559194e-04 1.361150493062282e-04 1.352558293490397e-04 1.344006387024136e-04 - 1.335494662293593e-04 1.327022993333140e-04 1.318591256583063e-04 1.310199332689028e-04 1.301847103692820e-04 - 1.293534446013900e-04 1.285261234477974e-04 1.277027359881715e-04 1.268832706365997e-04 1.260677147052468e-04 - 1.252560562359565e-04 1.244482834803957e-04 1.236443845356053e-04 1.228443469528238e-04 1.220481588198588e-04 - 1.212558093699401e-04 1.204672865809282e-04 1.196825780471873e-04 1.189016720308052e-04 1.181245568536085e-04 - 1.173512205995857e-04 1.165816508484800e-04 1.158158362776897e-04 1.150537660210759e-04 1.142954277590100e-04 - 1.135408094568152e-04 1.127898995954114e-04 1.120426864956402e-04 1.112991581353023e-04 1.105593024093304e-04 - 1.098231085283700e-04 1.090905652465313e-04 1.083616601800625e-04 1.076363816399760e-04 1.069147182196831e-04 - 1.061966583782502e-04 1.054821899944032e-04 1.047713013150353e-04 1.040639818640637e-04 1.033602200082437e-04 - 1.026600035826387e-04 1.019633211976323e-04 1.012701615275282e-04 1.005805130149820e-04 9.989436355203399e-05 - 9.921170194739147e-05 9.853251765411631e-05 9.785679881782247e-05 9.718453366352614e-05 9.651571091087277e-05 - 9.585031930594751e-05 9.518834724915350e-05 9.452978284703146e-05 9.387461543789448e-05 9.322283420353250e-05 - 9.257442723618249e-05 9.192938310286574e-05 9.128769066247626e-05 9.064933872161225e-05 9.001431561187756e-05 - 8.938260983500139e-05 8.875421104519957e-05 8.812910809646098e-05 8.750728925694059e-05 8.688874335824857e-05 - 8.627345936363417e-05 8.566142611724158e-05 8.505263195150667e-05 8.444706587898619e-05 8.384471762172232e-05 - 8.324557578035348e-05 8.264962891132210e-05 8.205686604727953e-05 8.146727626544971e-05 8.088084838175318e-05 - 8.029757088191735e-05 7.971743327705584e-05 7.914042512047892e-05 7.856653495630607e-05 7.799575166346450e-05 - 7.742806441871695e-05 7.686346239245813e-05 7.630193435494130e-05 7.574346911053080e-05 7.518805653837606e-05 - 7.463568593117825e-05 7.408634594826592e-05 7.354002575090044e-05 7.299671464423979e-05 7.245640185167563e-05 - 7.191907614532941e-05 7.138472679150608e-05 7.085334380230530e-05 7.032491623916224e-05 6.979943301854977e-05 - 6.927688351841825e-05 6.875725716877753e-05 6.824054320182008e-05 6.772673050550591e-05 6.721580881996242e-05 - 6.670776807704407e-05 6.620259726868480e-05 6.570028562031883e-05 6.520082266140781e-05 6.470419793220322e-05 - 6.421040064958054e-05 6.371941996817583e-05 6.323124601185380e-05 6.274586851226631e-05 6.226327655003573e-05 - 6.178345963615301e-05 6.130640743984757e-05 6.083210957777482e-05 6.036055527561582e-05 5.989173409263222e-05 - 5.942563633391719e-05 5.896225154191688e-05 5.850156903007261e-05 5.804357852627766e-05 5.758826983099529e-05 - 5.713563260712647e-05 5.668565617514362e-05 5.623833053838233e-05 5.579364600051564e-05 5.535159201768813e-05 - 5.491215819134343e-05 5.447533442712218e-05 5.404111064124177e-05 5.360947650466450e-05 5.318042157160001e-05 - 5.275393622516995e-05 5.233001062811153e-05 5.190863431238880e-05 5.148979716458554e-05 5.107348923404401e-05 - 5.065970053025621e-05 5.024842074849432e-05 4.983963979263951e-05 4.943334827635427e-05 4.902953621108006e-05 - 4.862819332553702e-05 4.822930973793706e-05 4.783287562882953e-05 4.743888107972067e-05 4.704731588033618e-05 - 4.665817033540254e-05 4.627143510842172e-05 4.588710014690383e-05 4.550515545082771e-05 4.512559130332447e-05 - 4.474839802715817e-05 4.437356575264515e-05 4.400108444300858e-05 4.363094478314062e-05 4.326313737450849e-05 - 4.289765220307346e-05 4.253447954450777e-05 4.217360984935306e-05 4.181503354031293e-05 4.145874078526325e-05 - 4.110472186234567e-05 4.075296770939578e-05 4.040346881442376e-05 4.005621534517384e-05 3.971119780891244e-05 - 3.936840678851008e-05 3.902783280379881e-05 3.868946611492773e-05 3.835329736378580e-05 3.801931758461789e-05 - 3.768751721520911e-05 3.735788667634669e-05 3.703041665089796e-05 3.670509786268472e-05 3.638192090588934e-05 - 3.606087620758478e-05 3.574195476070656e-05 3.542514758568229e-05 3.511044516462031e-05 3.479783817623805e-05 - 3.448731747191980e-05 3.417887390941621e-05 3.387249813623169e-05 3.356818082938366e-05 3.326591326488256e-05 - 3.296568640239042e-05 3.266749086476883e-05 3.237131756688427e-05 3.207715751232477e-05 3.178500166911470e-05 - 3.149484077201404e-05 3.120666582870710e-05 3.092046825328168e-05 3.063623897047349e-05 3.035396883732847e-05 - 3.007364895961203e-05 2.979527048619034e-05 2.951882447255356e-05 2.924430180184470e-05 2.897169381596313e-05 - 2.870099196601076e-05 2.843218722351712e-05 2.816527069305565e-05 2.790023364581556e-05 2.763706736588794e-05 - 2.737576298520704e-05 2.711631161938774e-05 2.685870489191871e-05 2.660293422952212e-05 2.634899073350601e-05 - 2.609686574272242e-05 2.584655068622352e-05 2.559803697386157e-05 2.535131582907573e-05 2.510637865851451e-05 - 2.486321726016628e-05 2.462182305120829e-05 2.438218734168926e-05 2.414430166313400e-05 2.390815760058303e-05 - 2.367374667612129e-05 2.344106023464476e-05 2.321008999935892e-05 2.298082786356460e-05 2.275326527748312e-05 - 2.252739378233606e-05 2.230320509258137e-05 2.208069093512809e-05 2.185984291941186e-05 2.164065260635458e-05 - 2.142311199522572e-05 2.120721298028661e-05 2.099294714303281e-05 2.078030625998752e-05 2.056928220029127e-05 - 2.035986682231265e-05 2.015205183896797e-05 1.994582907956633e-05 1.974119073954575e-05 1.953812872162773e-05 - 1.933663479825456e-05 1.913670094979531e-05 1.893831919578259e-05 1.874148151575467e-05 1.854617976080873e-05 - 1.835240605058427e-05 1.816015268982217e-05 1.796941162992672e-05 1.778017486956627e-05 1.759243456762222e-05 - 1.740618289118282e-05 1.722141193137039e-05 1.703811372777776e-05 1.685628066375182e-05 1.667590509374455e-05 - 1.649697910104339e-05 1.631949489857415e-05 1.614344479286407e-05 1.596882111103627e-05 1.579561606259506e-05 - 1.562382191518076e-05 1.545343126338709e-05 1.528443649706141e-05 1.511682986511545e-05 1.495060379262073e-05 - 1.478575075387210e-05 1.462226320346460e-05 1.446013347627832e-05 1.429935410828208e-05 1.413991783947596e-05 - 1.398181711799591e-05 1.382504440087988e-05 1.366959229690567e-05 1.351545344207288e-05 1.336262041089977e-05 - 1.321108569966174e-05 1.306084210743495e-05 1.291188246012095e-05 1.276419932540445e-05 1.261778537439798e-05 - 1.247263337350260e-05 1.232873611168182e-05 1.218608628547451e-05 1.204467661277090e-05 1.190450010670460e-05 - 1.176554964839514e-05 1.162781797531038e-05 1.149129796332477e-05 1.135598253898601e-05 1.122186462622714e-05 - 1.108893706038782e-05 1.095719281332111e-05 1.082662505098182e-05 1.069722672643097e-05 1.056899077370047e-05 - 1.044191025341683e-05 1.031597825830204e-05 1.019118784797653e-05 1.006753201372614e-05 9.945003972957807e-06 - 9.823597003224701e-06 9.703304169766936e-06 9.584118614966616e-06 9.466033570975281e-06 9.349042284940899e-06 - 9.233137946012443e-06 9.118313747892748e-06 9.004563126071509e-06 8.891879438415634e-06 8.780255908737012e-06 - 8.669685879934477e-06 8.560162746518096e-06 8.451679906731882e-06 8.344230688978416e-06 8.237808513777729e-06 - 8.132406985376577e-06 8.028019552616531e-06 7.924639629701503e-06 7.822260741691212e-06 7.720876445763237e-06 - 7.620480284148957e-06 7.521065743540658e-06 7.422626477381218e-06 7.325156218634066e-06 7.228648532638821e-06 - 7.133097034958690e-06 7.038495423985100e-06 6.944837416133499e-06 6.852116691729515e-06 6.760326924607246e-06 - 6.669461983453847e-06 6.579515704432944e-06 6.490481806747385e-06 6.402354101863004e-06 6.315126452251840e-06 - 6.228792731669073e-06 6.143346764859859e-06 6.058782435540508e-06 5.975093791198315e-06 5.892274772590937e-06 - 5.810319279027480e-06 5.729221306547671e-06 5.648974882411472e-06 5.569574030477156e-06 5.491012732167998e-06 - 5.413285091010444e-06 5.336385298912571e-06 5.260307420244722e-06 5.185045547999291e-06 5.110593849728286e-06 - 5.036946516955677e-06 4.964097720721464e-06 4.892041619202182e-06 4.820772525961763e-06 4.750284753859853e-06 - 4.680572517390150e-06 4.611630102585562e-06 4.543451844884654e-06 4.476032095169469e-06 4.409365173309600e-06 - 4.343445435493855e-06 4.278267378107974e-06 4.213825432046252e-06 4.150113986510229e-06 4.087127510654963e-06 - 4.024860505544460e-06 3.963307478207591e-06 3.902462905546128e-06 3.842321351732513e-06 3.782877469285005e-06 - 3.724125818875267e-06 3.666060976275786e-06 3.608677584308628e-06 3.551970310325800e-06 3.495933813913828e-06 - 3.440562742860537e-06 3.385851865026623e-06 3.331795968547279e-06 3.278389763636986e-06 3.225628015585682e-06 - 3.173505536483180e-06 3.122017155106099e-06 3.071157684657154e-06 3.020921961442045e-06 2.971304937503200e-06 - 2.922301530764381e-06 2.873906622400171e-06 2.826115159163556e-06 2.778922119160790e-06 2.732322492500433e-06 - 2.686311250918327e-06 2.640883427466542e-06 2.596034137909800e-06 2.551758437600915e-06 2.508051388712647e-06 - 2.464908112415978e-06 2.422323753722291e-06 2.380293459852445e-06 2.338812372063220e-06 2.297875719562253e-06 - 2.257478763762930e-06 2.217616712073996e-06 2.178284811840686e-06 2.139478353112250e-06 2.101192645402220e-06 - 2.063422994293474e-06 2.026164721213360e-06 1.989413239181793e-06 1.953163950788084e-06 1.917412231009713e-06 - 1.882153506609316e-06 1.847383234461138e-06 1.813096887995954e-06 1.779289933937322e-06 1.745957881749227e-06 - 1.713096313387221e-06 1.680700776153704e-06 1.648766820412035e-06 1.617290047665242e-06 1.586266083282953e-06 - 1.555690561349229e-06 1.525559115412809e-06 1.495867444877275e-06 1.466611286844381e-06 1.437786342321971e-06 - 1.409388342689011e-06 1.381413059137875e-06 1.353856283643994e-06 1.326713811980504e-06 1.299981452903499e-06 - 1.273655087535907e-06 1.247730601634883e-06 1.222203862466376e-06 1.197070780161529e-06 1.172327293218336e-06 - 1.147969358200551e-06 1.123992934949297e-06 1.100394014305713e-06 1.077168647815731e-06 1.054312872343777e-06 - 1.031822727943270e-06 1.009694299029158e-06 9.879236928228051e-07 9.665070295488333e-07 9.454404356909418e-07 - 9.247200854784831e-07 9.043421911847067e-07 8.843029477247774e-07 8.645985728173436e-07 8.452253193362285e-07 - 8.261794626052351e-07 8.074572875932502e-07 7.890550921071068e-07 7.709692301619030e-07 7.531960701353248e-07 - 7.357319715620587e-07 7.185733287203112e-07 7.017165630618881e-07 6.851581162834306e-07 6.688944388625421e-07 - 6.529220052598067e-07 6.372373411274385e-07 6.218369717692920e-07 6.067174274527125e-07 5.918752755194360e-07 - 5.773071063798692e-07 5.630095271034721e-07 5.489791556312369e-07 5.352126455394792e-07 5.217066864180125e-07 - 5.084579644193884e-07 4.954631845887763e-07 4.827190834887087e-07 4.702224204045173e-07 4.579699684713550e-07 - 4.459585154334098e-07 4.341848919935187e-07 4.226459485782965e-07 4.113385363883691e-07 4.002595352312233e-07 - 3.894058504065020e-07 3.787744086301839e-07 3.683621500987016e-07 3.581660355932383e-07 3.481830676805770e-07 - 3.384102581524441e-07 3.288446273745833e-07 3.194832275224818e-07 3.103231330843525e-07 3.013614373207315e-07 - 2.925952486098954e-07 2.840217031010630e-07 2.756379695267500e-07 2.674412234106971e-07 2.594286576386206e-07 - 2.515974937029081e-07 2.439449754383926e-07 2.364683632309526e-07 2.291649345383248e-07 2.220320002407473e-07 - 2.150668931442167e-07 2.082669548865648e-07 2.016295514473211e-07 1.951520727682157e-07 1.888319311586693e-07 - 1.826665552837694e-07 1.766533931743509e-07 1.707899271779558e-07 1.650736547045015e-07 1.595020857916059e-07 - 1.540727581256184e-07 1.487832309302349e-07 1.436310837043274e-07 1.386139140291348e-07 1.337293426531939e-07 - 1.289750194034745e-07 1.243486077550924e-07 1.198477884856861e-07 1.154702687444825e-07 1.112137774078364e-07 - 1.070760615754017e-07 1.030548878714015e-07 9.914804983102429e-08 9.535336319532080e-08 9.166865877274502e-08 - 8.809178921148019e-08 8.462062987184363e-08 8.125307865123530e-08 7.798705169188094e-08 7.482048486743137e-08 - 7.175134265372113e-08 6.877760756933380e-08 6.589727849023001e-08 6.310837918621049e-08 6.040895419177239e-08 - 5.779706919084610e-08 5.527080986023133e-08 5.282828275733461e-08 5.046762055622123e-08 4.818697371034567e-08 - 4.598451068334482e-08 4.385842456607357e-08 4.180692971968811e-08 3.982825980405518e-08 3.792066966127786e-08 - 3.608243718277188e-08 3.431186206040581e-08 3.260726312426322e-08 3.096697968233847e-08 2.938937298745983e-08 - 2.787282684203093e-08 2.641574418968914e-08 2.501654849393015e-08 2.367368813134603e-08 2.238563078881267e-08 - 2.115086344400587e-08 1.996789606940446e-08 1.883525886916157e-08 1.775150390948272e-08 1.671520402936120e-08 - 1.572495208680648e-08 1.477936511938296e-08 1.387707990026544e-08 1.301675220490221e-08 1.219706138041649e-08 - 1.141670750179082e-08 1.067441065312196e-08 9.968913113355902e-09 9.298978133402818e-09 8.663390331238368e-09 - 8.060955677291694e-09 7.490500025975069e-09 6.950870854385858e-09 6.440937996309972e-09 5.959590797852082e-09 - 5.505739944416565e-09 5.078318901633865e-09 4.676280806472903e-09 4.298600029449081e-09 3.944272776496124e-09 - 3.612315204086912e-09 3.301765808464261e-09 3.011683971683484e-09 2.741149022073358e-09 2.489263438950313e-09 - 2.255150010734707e-09 2.037951439802415e-09 1.836833426869985e-09 1.650981924522248e-09 1.479603458288696e-09 - 1.321927088896133e-09 1.177201927023745e-09 1.044698361371603e-09 9.237089042804517e-10 8.135457713165132e-10 - 7.135428727606122e-10 6.230561233086797e-10 5.414610837010692e-10 4.681552957722881e-10 4.025579739718386e-10 - 3.441080911031397e-10 2.922668865200973e-10 2.465167169238545e-10 2.063598966733955e-10 1.713213823559041e-10 - 1.409467301732644e-10 1.148017117805301e-10 9.247489436372923e-11 7.357503403670199e-11 5.773147403071901e-11 - 4.459623415664643e-11 3.384125546419585e-11 2.515956035071991e-11 1.826656159304613e-11 1.289741553721677e-11 - 8.808852910154413e-12 5.779611749592996e-12 3.608107240050744e-12 2.114775563702074e-12 1.141629414770904e-12 - 5.504076981088132e-13 2.252028793998774e-13 7.135404618680312e-14 1.400208835054596e-14 2.858282411901289e-16 - 0.000000000000000e+00 3.280907692410757e+00 6.559093802140417e+00 9.834554467967374e+00 1.310728583537977e+01 - 1.637728405657552e+01 1.964454529046227e+01 2.290906570265743e+01 2.617084146548816e+01 2.942986875799139e+01 - 3.268614376591378e+01 3.593966268171175e+01 3.919042170455148e+01 4.243841704030890e+01 4.568364490156970e+01 - 4.892610150762930e+01 5.216578308449292e+01 5.540268586487547e+01 5.863680608820168e+01 6.186814000060598e+01 - 6.509668385493259e+01 6.832243391073550e+01 7.154538643427834e+01 7.476553769853463e+01 7.798288398318758e+01 - 8.119742157463018e+01 8.440914676596513e+01 8.761805585700493e+01 9.082414515427180e+01 9.402741097099775e+01 - 9.722784962712448e+01 1.004254574493035e+02 1.036202307708961e+02 1.068121659319733e+02 1.100012592793157e+02 - 1.131875071664140e+02 1.163709059534683e+02 1.195514520073887e+02 1.227291417017950e+02 1.259039714170167e+02 - 1.290759375400930e+02 1.322450364647731e+02 1.354112645915156e+02 1.385746183274891e+02 1.417350940865720e+02 - 1.448926882893522e+02 1.480473973631275e+02 1.511992177419055e+02 1.543481458664036e+02 1.574941781840487e+02 - 1.606373111489777e+02 1.637775412220371e+02 1.669148648707833e+02 1.700492785694823e+02 1.731807787991100e+02 - 1.763093620473519e+02 1.794350248086033e+02 1.825577635839695e+02 1.856775748812652e+02 1.887944552150149e+02 - 1.919084011064531e+02 1.950194090835239e+02 1.981274756808810e+02 2.012325974398883e+02 2.043347709086188e+02 - 2.074339926418558e+02 2.105302592010923e+02 2.136235671545306e+02 2.167139130770834e+02 2.198012935503726e+02 - 2.228857051627302e+02 2.259671445091978e+02 2.290456081915269e+02 2.321210928181784e+02 2.351935950043234e+02 - 2.382631113718425e+02 2.413296385493261e+02 2.443931731720744e+02 2.474537118820972e+02 2.505112513281143e+02 - 2.535657881655549e+02 2.566173190565586e+02 2.596658406699738e+02 2.627113496813596e+02 2.657538427729843e+02 - 2.687933166338259e+02 2.718297679595726e+02 2.748631934526219e+02 2.778935898220815e+02 2.809209537837683e+02 - 2.839452820602094e+02 2.869665713806416e+02 2.899848184810112e+02 2.930000201039745e+02 2.960121729988974e+02 - 2.990212739218558e+02 3.020273196356349e+02 3.050303069097302e+02 3.080302325203465e+02 3.110270932503987e+02 - 3.140208858895110e+02 3.170116072340180e+02 3.199992540869634e+02 3.229838232581013e+02 3.259653115638948e+02 - 3.289437158275174e+02 3.319190328788521e+02 3.348912595544916e+02 3.378603926977383e+02 3.408264291586049e+02 - 3.437893657938130e+02 3.467491994667945e+02 3.497059270476910e+02 3.526595454133537e+02 3.556100514473437e+02 - 3.585574420399318e+02 3.615017140880985e+02 3.644428644955341e+02 3.673808901726388e+02 3.703157880365222e+02 - 3.732475550110041e+02 3.761761880266134e+02 3.791016840205897e+02 3.820240399368814e+02 3.849432527261474e+02 - 3.878593193457557e+02 3.907722367597846e+02 3.936820019390219e+02 3.965886118609651e+02 3.994920635098217e+02 - 4.023923538765087e+02 4.052894799586530e+02 4.081834387605912e+02 4.110742272933696e+02 4.139618425747443e+02 - 4.168462816291812e+02 4.197275414878559e+02 4.226056191886540e+02 4.254805117761704e+02 4.283522163017099e+02 - 4.312207298232872e+02 4.340860494056267e+02 4.369481721201628e+02 4.398070950450389e+02 4.426628152651090e+02 - 4.455153298719365e+02 4.483646359637945e+02 4.512107306456656e+02 4.540536110292430e+02 4.568932742329288e+02 - 4.597297173818351e+02 4.625629376077841e+02 4.653929320493071e+02 4.682196978516460e+02 4.710432321667516e+02 - 4.738635321532851e+02 4.766805949766169e+02 4.794944178088276e+02 4.823049978287075e+02 4.851123322217564e+02 - 4.879164181801841e+02 4.907172529029099e+02 4.935148335955632e+02 4.963091574704831e+02 4.991002217467178e+02 - 5.018880236500261e+02 5.046725604128764e+02 5.074538292744463e+02 5.102318274806237e+02 5.130065522840063e+02 - 5.157780009439010e+02 5.185461707263250e+02 5.213110589040049e+02 5.240726627563774e+02 5.268309795695885e+02 - 5.295860066364945e+02 5.323377412566609e+02 5.350861807363634e+02 5.378313223885873e+02 5.405731635330272e+02 - 5.433117014960885e+02 5.460469336108854e+02 5.487788572172420e+02 5.515074696616928e+02 5.542327682974811e+02 - 5.569547504845609e+02 5.596734135895950e+02 5.623887549859570e+02 5.651007720537292e+02 5.678094621797045e+02 - 5.705148227573850e+02 5.732168511869830e+02 5.759155448754203e+02 5.786109012363282e+02 5.813029176900482e+02 - 5.839915916636313e+02 5.866769205908384e+02 5.893589019121401e+02 5.920375330747167e+02 5.947128115324583e+02 - 5.973847347459648e+02 6.000533001825459e+02 6.027185053162206e+02 6.053803476277183e+02 6.080388246044777e+02 - 6.106939337406476e+02 6.133456725370861e+02 6.159940385013617e+02 6.186390291477520e+02 6.212806419972447e+02 - 6.239188745775372e+02 6.265537244230364e+02 6.291851890748597e+02 6.318132660808333e+02 6.344379529954938e+02 - 6.370592473800871e+02 6.396771468025696e+02 6.422916488376064e+02 6.449027510665734e+02 6.475104510775553e+02 - 6.501147464653474e+02 6.527156348314542e+02 6.553131137840901e+02 6.579071809381794e+02 6.604978339153558e+02 - 6.630850703439634e+02 6.656688878590552e+02 6.682492841023947e+02 6.708262567224546e+02 6.733998033744177e+02 - 6.759699217201766e+02 6.785366094283333e+02 6.810998641742000e+02 6.836596836397980e+02 6.862160655138592e+02 - 6.887690074918247e+02 6.913185072758453e+02 6.938645625747821e+02 6.964071711042051e+02 6.989463305863949e+02 - 7.014820387503412e+02 7.040142933317441e+02 7.065430920730126e+02 7.090684327232666e+02 7.115903130383348e+02 - 7.141087307807558e+02 7.166236837197782e+02 7.191351696313601e+02 7.216431862981700e+02 7.241477315095852e+02 - 7.266488030616937e+02 7.291463987572921e+02 7.316405164058881e+02 7.341311538236981e+02 7.366183088336488e+02 - 7.391019792653765e+02 7.415821629552270e+02 7.440588577462564e+02 7.465320614882301e+02 7.490017720376235e+02 - 7.514679872576214e+02 7.539307050181191e+02 7.563899231957208e+02 7.588456396737411e+02 7.612978523422037e+02 - 7.637465590978424e+02 7.661917578441014e+02 7.686334464911333e+02 7.710716229558018e+02 7.735062851616793e+02 - 7.759374310390485e+02 7.783650585249019e+02 7.807891655629417e+02 7.832097501035795e+02 7.856268101039369e+02 - 7.880403435278453e+02 7.904503483458460e+02 7.928568225351897e+02 7.952597640798369e+02 7.976591709704585e+02 - 8.000550412044341e+02 8.024473727858536e+02 8.048361637255169e+02 8.072214120409334e+02 8.096031157563222e+02 - 8.119812729026120e+02 8.143558815174417e+02 8.167269396451593e+02 8.190944453368236e+02 8.214583966502021e+02 - 8.238187916497725e+02 8.261756284067224e+02 8.285289049989487e+02 8.308786195110586e+02 8.332247700343684e+02 - 8.355673546669050e+02 8.379063715134042e+02 8.402418186853124e+02 8.425736943007848e+02 8.449019964846872e+02 - 8.472267233685945e+02 8.495478730907921e+02 8.518654437962743e+02 8.541794336367457e+02 8.564898407706205e+02 - 8.587966633630226e+02 8.610998995857861e+02 8.633995476174539e+02 8.656956056432798e+02 8.679880718552264e+02 - 8.702769444519665e+02 8.725622216388828e+02 8.748439016280670e+02 8.771219826383219e+02 8.793964628951586e+02 - 8.816673406307990e+02 8.839346140841741e+02 8.861982815009252e+02 8.884583411334027e+02 8.907147912406675e+02 - 8.929676300884897e+02 8.952168559493493e+02 8.974624671024361e+02 8.997044618336495e+02 9.019428384355992e+02 - 9.041775952076036e+02 9.064087304556922e+02 9.086362424926032e+02 9.108601296377846e+02 9.130803902173951e+02 - 9.152970225643020e+02 9.175100250180832e+02 9.197193959250255e+02 9.219251336381268e+02 9.241272365170935e+02 - 9.263257029283417e+02 9.285205312449986e+02 9.307117198468995e+02 9.328992671205907e+02 9.350831714593277e+02 - 9.372634312630761e+02 9.394400449385104e+02 9.416130108990160e+02 9.437823275646871e+02 9.459479933623287e+02 - 9.481100067254541e+02 9.502683660942876e+02 9.524230699157629e+02 9.545741166435229e+02 9.567215047379214e+02 - 9.588652326660207e+02 9.610052989015940e+02 9.631417019251231e+02 9.652744402238004e+02 9.674035122915279e+02 - 9.695289166289172e+02 9.716506517432896e+02 9.737687161486764e+02 9.758831083658184e+02 9.779938269221661e+02 - 9.801008703518804e+02 9.822042371958310e+02 9.843039260015983e+02 9.863999353234714e+02 9.884922637224498e+02 - 9.905809097662435e+02 9.926658720292703e+02 9.947471490926598e+02 9.968247395442500e+02 9.988986419785891e+02 - 1.000968854996935e+03 1.003035377207256e+03 1.005098207224229e+03 1.007157343669241e+03 1.009212785170389e+03 - 1.011264530362480e+03 1.013312577887031e+03 1.015356926392268e+03 1.017397574533126e+03 1.019434520971252e+03 - 1.021467764375000e+03 1.023497303419437e+03 1.025523136786337e+03 1.027545263164185e+03 1.029563681248175e+03 - 1.031578389740212e+03 1.033589387348909e+03 1.035596672789591e+03 1.037600244784291e+03 1.039600102061752e+03 - 1.041596243357428e+03 1.043588667413480e+03 1.045577372978782e+03 1.047562358808916e+03 1.049543623666173e+03 - 1.051521166319557e+03 1.053494985544777e+03 1.055465080124256e+03 1.057431448847125e+03 1.059394090509224e+03 - 1.061353003913104e+03 1.063308187868025e+03 1.065259641189957e+03 1.067207362701581e+03 1.069151351232285e+03 - 1.071091605618170e+03 1.073028124702043e+03 1.074960907333424e+03 1.076889952368542e+03 1.078815258670335e+03 - 1.080736825108451e+03 1.082654650559248e+03 1.084568733905793e+03 1.086479074037864e+03 1.088385669851947e+03 - 1.090288520251241e+03 1.092187624145651e+03 1.094082980451794e+03 1.095974588092995e+03 1.097862445999292e+03 - 1.099746553107428e+03 1.101626908360861e+03 1.103503510709754e+03 1.105376359110983e+03 1.107245452528133e+03 - 1.109110789931497e+03 1.110972370298081e+03 1.112830192611597e+03 1.114684255862470e+03 1.116534559047833e+03 - 1.118381101171529e+03 1.120223881244111e+03 1.122062898282842e+03 1.123898151311694e+03 1.125729639361349e+03 - 1.127557361469200e+03 1.129381316679347e+03 1.131201504042604e+03 1.133017922616489e+03 1.134830571465235e+03 - 1.136639449659783e+03 1.138444556277782e+03 1.140245890403593e+03 1.142043451128286e+03 1.143837237549640e+03 - 1.145627248772146e+03 1.147413483907002e+03 1.149195942072117e+03 1.150974622392110e+03 1.152749523998310e+03 - 1.154520646028755e+03 1.156287987628192e+03 1.158051547948079e+03 1.159811326146585e+03 1.161567321388586e+03 - 1.163319532845669e+03 1.165067959696131e+03 1.166812601124979e+03 1.168553456323928e+03 1.170290524491405e+03 - 1.172023804832545e+03 1.173753296559195e+03 1.175478998889909e+03 1.177200911049953e+03 1.178919032271301e+03 - 1.180633361792637e+03 1.182343898859357e+03 1.184050642723563e+03 1.185753592644071e+03 1.187452747886402e+03 - 1.189148107722792e+03 1.190839671432183e+03 1.192527438300227e+03 1.194211407619287e+03 1.195891578688435e+03 - 1.197567950813455e+03 1.199240523306837e+03 1.200909295487783e+03 1.202574266682204e+03 1.204235436222721e+03 - 1.205892803448666e+03 1.207546367706079e+03 1.209196128347710e+03 1.210842084733019e+03 1.212484236228177e+03 - 1.214122582206062e+03 1.215757122046265e+03 1.217387855135084e+03 1.219014780865528e+03 1.220637898637316e+03 - 1.222257207856876e+03 1.223872707937346e+03 1.225484398298575e+03 1.227092278367119e+03 1.228696347576247e+03 - 1.230296605365935e+03 1.231893051182870e+03 1.233485684480449e+03 1.235074504718779e+03 1.236659511364675e+03 - 1.238240703891664e+03 1.239818081779981e+03 1.241391644516571e+03 1.242961391595090e+03 1.244527322515903e+03 - 1.246089436786084e+03 1.247647733919417e+03 1.249202213436398e+03 1.250752874864230e+03 1.252299717736826e+03 - 1.253842741594810e+03 1.255381945985516e+03 1.256917330462986e+03 1.258448894587972e+03 1.259976637927938e+03 - 1.261500560057056e+03 1.263020660556207e+03 1.264536939012984e+03 1.266049395021687e+03 1.267558028183329e+03 - 1.269062838105629e+03 1.270563824403019e+03 1.272060986696640e+03 1.273554324614341e+03 1.275043837790682e+03 - 1.276529525866934e+03 1.278011388491075e+03 1.279489425317796e+03 1.280963636008494e+03 1.282434020231280e+03 - 1.283900577660971e+03 1.285363307979095e+03 1.286822210873891e+03 1.288277286040307e+03 1.289728533179999e+03 - 1.291175952001336e+03 1.292619542219393e+03 1.294059303555960e+03 1.295495235739530e+03 1.296927338505312e+03 - 1.298355611595221e+03 1.299780054757883e+03 1.301200667748633e+03 1.302617450329516e+03 1.304030402269289e+03 - 1.305439523343415e+03 1.306844813334069e+03 1.308246272030136e+03 1.309643899227210e+03 1.311037694727594e+03 - 1.312427658340302e+03 1.313813789881058e+03 1.315196089172293e+03 1.316574556043153e+03 1.317949190329488e+03 - 1.319319991873862e+03 1.320686960525546e+03 1.322050096140523e+03 1.323409398581483e+03 1.324764867717829e+03 - 1.326116503425671e+03 1.327464305587830e+03 1.328808274093838e+03 1.330148408839934e+03 1.331484709729068e+03 - 1.332817176670901e+03 1.334145809581802e+03 1.335470608384850e+03 1.336791573009835e+03 1.338108703393256e+03 - 1.339421999478320e+03 1.340731461214948e+03 1.342037088559766e+03 1.343338881476113e+03 1.344636839934036e+03 - 1.345930963910293e+03 1.347221253388351e+03 1.348507708358388e+03 1.349790328817288e+03 1.351069114768650e+03 - 1.352344066222779e+03 1.353615183196692e+03 1.354882465714113e+03 1.356145913805479e+03 1.357405527507935e+03 - 1.358661306865335e+03 1.359913251928245e+03 1.361161362753938e+03 1.362405639406399e+03 1.363646081956323e+03 - 1.364882690481112e+03 1.366115465064880e+03 1.367344405798451e+03 1.368569512779358e+03 1.369790786111843e+03 - 1.371008225906858e+03 1.372221832282067e+03 1.373431605361840e+03 1.374637545277261e+03 1.375839652166119e+03 - 1.377037926172918e+03 1.378232367448867e+03 1.379422976151887e+03 1.380609752446609e+03 1.381792696504374e+03 - 1.382971808503231e+03 1.384147088627939e+03 1.385318537069970e+03 1.386486154027501e+03 1.387649939705423e+03 - 1.388809894315333e+03 1.389966018075540e+03 1.391118311211063e+03 1.392266773953630e+03 1.393411406541678e+03 - 1.394552209220356e+03 1.395689182241520e+03 1.396822325863737e+03 1.397951640352285e+03 1.399077125979150e+03 - 1.400198783023028e+03 1.401316611769325e+03 1.402430612510158e+03 1.403540785544351e+03 1.404647131177441e+03 - 1.405749649721672e+03 1.406848341496000e+03 1.407943206826088e+03 1.409034246044311e+03 1.410121459489754e+03 - 1.411204847508209e+03 1.412284410452182e+03 1.413360148680885e+03 1.414432062560241e+03 1.415500152462884e+03 - 1.416564418768155e+03 1.417624861862108e+03 1.418681482137504e+03 1.419734279993815e+03 1.420783255837224e+03 - 1.421828410080621e+03 1.422869743143608e+03 1.423907255452495e+03 1.424940947440303e+03 1.425970819546763e+03 - 1.426996872218314e+03 1.428019105908108e+03 1.429037521076003e+03 1.430052118188569e+03 1.431062897719085e+03 - 1.432069860147540e+03 1.433073005960632e+03 1.434072335651771e+03 1.435067849721075e+03 1.436059548675370e+03 - 1.437047433028196e+03 1.438031503299800e+03 1.439011760017138e+03 1.439988203713878e+03 1.440960834930396e+03 - 1.441929654213780e+03 1.442894662117825e+03 1.443855859203037e+03 1.444813246036631e+03 1.445766823192535e+03 - 1.446716591251382e+03 1.447662550800518e+03 1.448604702433997e+03 1.449543046752585e+03 1.450477584363755e+03 - 1.451408315881691e+03 1.452335241927287e+03 1.453258363128147e+03 1.454177680118583e+03 1.455093193539620e+03 - 1.456004904038989e+03 1.456912812271134e+03 1.457816918897206e+03 1.458717224585068e+03 1.459613730009291e+03 - 1.460506435851157e+03 1.461395342798658e+03 1.462280451546494e+03 1.463161762796076e+03 1.464039277255525e+03 - 1.464912995639670e+03 1.465782918670054e+03 1.466649047074924e+03 1.467511381589240e+03 1.468369922954673e+03 - 1.469224671919600e+03 1.470075629239112e+03 1.470922795675006e+03 1.471766171995790e+03 1.472605758976684e+03 - 1.473441557399614e+03 1.474273568053219e+03 1.475101791732846e+03 1.475926229240551e+03 1.476746881385102e+03 - 1.477563748981976e+03 1.478376832853358e+03 1.479186133828146e+03 1.479991652741944e+03 1.480793390437068e+03 - 1.481591347762545e+03 1.482385525574108e+03 1.483175924734204e+03 1.483962546111986e+03 1.484745390583318e+03 - 1.485524459030776e+03 1.486299752343644e+03 1.487071271417914e+03 1.487839017156289e+03 1.488602990468185e+03 - 1.489363192269722e+03 1.490119623483735e+03 1.490872285039765e+03 1.491621177874064e+03 1.492366302929595e+03 - 1.493107661156030e+03 1.493845253509749e+03 1.494579080953843e+03 1.495309144458115e+03 1.496035444999074e+03 - 1.496757983559942e+03 1.497476761130647e+03 1.498191778707831e+03 1.498903037294843e+03 1.499610537901742e+03 - 1.500314281545298e+03 1.501014269248990e+03 1.501710502043006e+03 1.502402980964245e+03 1.503091707056315e+03 - 1.503776681369534e+03 1.504457904960931e+03 1.505135378894241e+03 1.505809104239914e+03 1.506479082075105e+03 - 1.507145313483682e+03 1.507807799556220e+03 1.508466541390007e+03 1.509121540089038e+03 1.509772796764020e+03 - 1.510420312532367e+03 1.511064088518205e+03 1.511704125852369e+03 1.512340425672404e+03 1.512972989122564e+03 - 1.513601817353814e+03 1.514226911523828e+03 1.514848272796989e+03 1.515465902344391e+03 1.516079801343838e+03 - 1.516689970979842e+03 1.517296412443626e+03 1.517899126933124e+03 1.518498115652977e+03 1.519093379814537e+03 - 1.519684920635866e+03 1.520272739341736e+03 1.520856837163628e+03 1.521437215339733e+03 1.522013875114953e+03 - 1.522586817740897e+03 1.523156044475887e+03 1.523721556584951e+03 1.524283355339831e+03 1.524841442018975e+03 - 1.525395817907543e+03 1.525946484297405e+03 1.526493442487138e+03 1.527036693782033e+03 1.527576239494086e+03 - 1.528112080942007e+03 1.528644219451213e+03 1.529172656353831e+03 1.529697392988700e+03 1.530218430701367e+03 - 1.530735770844087e+03 1.531249414775829e+03 1.531759363862268e+03 1.532265619475790e+03 1.532768182995492e+03 - 1.533267055807180e+03 1.533762239303368e+03 1.534253734883281e+03 1.534741543952856e+03 1.535225667924735e+03 - 1.535706108218275e+03 1.536182866259539e+03 1.536655943481301e+03 1.537125341323045e+03 1.537591061230964e+03 - 1.538053104657961e+03 1.538511473063650e+03 1.538966167914353e+03 1.539417190683102e+03 1.539864542849641e+03 - 1.540308225900420e+03 1.540748241328602e+03 1.541184590634058e+03 1.541617275323370e+03 1.542046296909827e+03 - 1.542471656913432e+03 1.542893356860894e+03 1.543311398285634e+03 1.543725782727782e+03 1.544136511734178e+03 - 1.544543586858370e+03 1.544947009660620e+03 1.545346781707894e+03 1.545742904573873e+03 1.546135379838945e+03 - 1.546524209090207e+03 1.546909393921469e+03 1.547290935933248e+03 1.547668836732771e+03 1.548043097933976e+03 - 1.548413721157510e+03 1.548780708030729e+03 1.549144060187701e+03 1.549503779269201e+03 1.549859866922715e+03 - 1.550212324802440e+03 1.550561154569281e+03 1.550906357890854e+03 1.551247936441483e+03 1.551585891902203e+03 - 1.551920225960758e+03 1.552250940311604e+03 1.552578036655905e+03 1.552901516701533e+03 1.553221382163073e+03 - 1.553537634761818e+03 1.553850276225772e+03 1.554159308289647e+03 1.554464732694865e+03 1.554766551189559e+03 - 1.555064765528572e+03 1.555359377473454e+03 1.555650388792468e+03 1.555937801260586e+03 1.556221616659488e+03 - 1.556501836777564e+03 1.556778463409917e+03 1.557051498358356e+03 1.557320943431401e+03 1.557586800444283e+03 - 1.557849071218940e+03 1.558107757584023e+03 1.558362861374890e+03 1.558614384433611e+03 1.558862328608964e+03 - 1.559106695756438e+03 1.559347487738230e+03 1.559584706423249e+03 1.559818353687112e+03 1.560048431412147e+03 - 1.560274941487391e+03 1.560497885808591e+03 1.560717266278204e+03 1.560933084805396e+03 1.561145343306044e+03 - 1.561354043702732e+03 1.561559187924758e+03 1.561760777908126e+03 1.561958815595552e+03 1.562153302936461e+03 - 1.562344241886987e+03 1.562531634409975e+03 1.562715482474979e+03 1.562895788058264e+03 1.563072553142803e+03 - 1.563245779718279e+03 1.563415469781085e+03 1.563581625334326e+03 1.563744248387813e+03 1.563903340958068e+03 - 1.564058905068325e+03 1.564210942748526e+03 1.564359456035321e+03 1.564504446972073e+03 1.564645917608853e+03 - 1.564783870002442e+03 1.564918306216331e+03 1.565049228320720e+03 1.565176638392519e+03 1.565300538515349e+03 - 1.565420930779540e+03 1.565537817282130e+03 1.565651200126870e+03 1.565761081424219e+03 1.565867463291344e+03 - 1.565970347852125e+03 1.566069737237150e+03 1.566165633583717e+03 1.566258039035835e+03 1.566346955744220e+03 - 1.566432385866300e+03 1.566514331566212e+03 1.566592795014803e+03 1.566667778389629e+03 1.566739283874957e+03 - 1.566807313661764e+03 1.566871869947734e+03 1.566932954937263e+03 1.566990570841457e+03 1.567044719878131e+03 - 1.567095404271811e+03 1.567142626253729e+03 1.567186388061831e+03 1.567226691940771e+03 1.567263540141913e+03 - 1.567296934923331e+03 1.567326878549808e+03 1.567353373292836e+03 1.567376421430620e+03 1.567396025248071e+03 - 1.567412187036812e+03 1.567424909095176e+03 1.567434193728203e+03 1.567440043247646e+03 1.567442459971967e+03 - 1.567441446226336e+03 1.567437004342634e+03 1.567429136659453e+03 1.567417845522091e+03 1.567403133282561e+03 - 1.567385002299581e+03 1.567363454938582e+03 1.567338493571702e+03 1.567310120577791e+03 1.567278338342408e+03 - 1.567243149257822e+03 1.567204555723011e+03 1.567162560143663e+03 1.567117164932177e+03 1.567068372507660e+03 - 1.567016185295929e+03 1.566960605729512e+03 1.566901636247646e+03 1.566839279296277e+03 1.566773537328063e+03 - 1.566704412802369e+03 1.566631908185271e+03 1.566556025949555e+03 1.566476768574717e+03 1.566394138546961e+03 - 1.566308138359204e+03 1.566218770511069e+03 1.566126037508891e+03 1.566029941865714e+03 1.565930486101294e+03 - 1.565827672742092e+03 1.565721504321283e+03 1.565611983378751e+03 1.565499112461087e+03 1.565382894121595e+03 - 1.565263330920288e+03 1.565140425423888e+03 1.565014180205826e+03 1.564884597846246e+03 1.564751680931997e+03 - 1.564615432056643e+03 1.564475853820452e+03 1.564332948830408e+03 1.564186719700199e+03 1.564037169050227e+03 - 1.563884299507601e+03 1.563728113706142e+03 1.563568614286379e+03 1.563405803895550e+03 1.563239685187607e+03 - 1.563070260823207e+03 1.562897533469719e+03 1.562721505801220e+03 1.562542180498501e+03 1.562359560249057e+03 - 1.562173647747097e+03 1.561984445693539e+03 1.561791956796009e+03 1.561596183768845e+03 1.561397129333092e+03 - 1.561194796216507e+03 1.560989187153558e+03 1.560780304885418e+03 1.560568152159974e+03 1.560352731731822e+03 - 1.560134046362267e+03 1.559912098819323e+03 1.559686891877715e+03 1.559458428318879e+03 1.559226710930956e+03 - 1.558991742508803e+03 1.558753525853981e+03 1.558512063774766e+03 1.558267359086140e+03 1.558019414609795e+03 - 1.557768233174136e+03 1.557513817614273e+03 1.557256170772030e+03 1.556995295495938e+03 1.556731194641239e+03 - 1.556463871069885e+03 1.556193327650536e+03 1.555919567258564e+03 1.555642592776049e+03 1.555362407091783e+03 - 1.555079013101264e+03 1.554792413706704e+03 1.554502611817021e+03 1.554209610347846e+03 1.553913412221517e+03 - 1.553614020367084e+03 1.553311437720305e+03 1.553005667223649e+03 1.552696711826295e+03 1.552384574484129e+03 - 1.552069258159750e+03 1.551750765822466e+03 1.551429100448294e+03 1.551104265019960e+03 1.550776262526902e+03 - 1.550445095965265e+03 1.550110768337907e+03 1.549773282654394e+03 1.549432641931000e+03 1.549088849190713e+03 - 1.548741907463227e+03 1.548391819784946e+03 1.548038589198987e+03 1.547682218755173e+03 1.547322711510039e+03 - 1.546960070526829e+03 1.546594298875496e+03 1.546225399632705e+03 1.545853375881829e+03 1.545478230712950e+03 - 1.545099967222861e+03 1.544718588515066e+03 1.544334097699777e+03 1.543946497893915e+03 1.543555792221112e+03 - 1.543161983811711e+03 1.542765075802762e+03 1.542365071338026e+03 1.541961973567975e+03 1.541555785649789e+03 - 1.541146510747358e+03 1.540734152031283e+03 1.540318712678874e+03 1.539900195874149e+03 1.539478604807839e+03 - 1.539053942677383e+03 1.538626212686929e+03 1.538195418047336e+03 1.537761561976173e+03 1.537324647697717e+03 - 1.536884678442957e+03 1.536441657449592e+03 1.535995587962026e+03 1.535546473231378e+03 1.535094316515475e+03 - 1.534639121078853e+03 1.534180890192759e+03 1.533719627135150e+03 1.533255335190690e+03 1.532788017650757e+03 - 1.532317677813435e+03 1.531844318983518e+03 1.531367944472514e+03 1.530888557598635e+03 1.530406161686807e+03 - 1.529920760068664e+03 1.529432356082550e+03 1.528940953073517e+03 1.528446554393331e+03 1.527949163400464e+03 - 1.527448783460099e+03 1.526945417944129e+03 1.526439070231157e+03 1.525929743706494e+03 1.525417441762163e+03 - 1.524902167796895e+03 1.524383925216131e+03 1.523862717432025e+03 1.523338547863434e+03 1.522811419935932e+03 - 1.522281337081799e+03 1.521748302740024e+03 1.521212320356308e+03 1.520673393383061e+03 1.520131525279401e+03 - 1.519586719511159e+03 1.519038979550873e+03 1.518488308877793e+03 1.517934710977876e+03 1.517378189343791e+03 - 1.516818747474916e+03 1.516256388877339e+03 1.515691117063858e+03 1.515122935553979e+03 1.514551847873920e+03 - 1.513977857556607e+03 1.513400968141679e+03 1.512821183175479e+03 1.512238506211065e+03 1.511652940808203e+03 - 1.511064490533368e+03 1.510473158959745e+03 1.509878949667230e+03 1.509281866242427e+03 1.508681912278651e+03 - 1.508079091375926e+03 1.507473407140987e+03 1.506864863187277e+03 1.506253463134950e+03 1.505639210610869e+03 - 1.505022109248608e+03 1.504402162688449e+03 1.503779374577385e+03 1.503153748569118e+03 1.502525288324061e+03 - 1.501893997509335e+03 1.501259879798773e+03 1.500622938872914e+03 1.499983178419011e+03 1.499340602131025e+03 - 1.498695213709626e+03 1.498047016862194e+03 1.497396015302820e+03 1.496742212752304e+03 1.496085612938155e+03 - 1.495426219594593e+03 1.494764036462547e+03 1.494099067289655e+03 1.493431315830267e+03 1.492760785845442e+03 - 1.492087481102946e+03 1.491411405377259e+03 1.490732562449567e+03 1.490050956107769e+03 1.489366590146471e+03 - 1.488679468366991e+03 1.487989594577355e+03 1.487296972592300e+03 1.486601606233272e+03 1.485903499328426e+03 - 1.485202655712629e+03 1.484499079227457e+03 1.483792773721193e+03 1.483083743048834e+03 1.482371991072084e+03 - 1.481657521659358e+03 1.480940338685780e+03 1.480220446033183e+03 1.479497847590113e+03 1.478772547251821e+03 - 1.478044548920272e+03 1.477313856504138e+03 1.476580473918802e+03 1.475844405086357e+03 1.475105653935605e+03 - 1.474364224402058e+03 1.473620120427938e+03 1.472873345962177e+03 1.472123904960415e+03 1.471371801385004e+03 - 1.470617039205005e+03 1.469859622396187e+03 1.469099554941032e+03 1.468336840828730e+03 1.467571484055180e+03 - 1.466803488622991e+03 1.466032858541484e+03 1.465259597826687e+03 1.464483710501340e+03 1.463705200594890e+03 - 1.462924072143496e+03 1.462140329190026e+03 1.461353975784058e+03 1.460565015981880e+03 1.459773453846489e+03 - 1.458979293447591e+03 1.458182538861605e+03 1.457383194171656e+03 1.456581263467582e+03 1.455776750845927e+03 - 1.454969660409948e+03 1.454159996269611e+03 1.453347762541590e+03 1.452532963349272e+03 1.451715602822750e+03 - 1.450895685098830e+03 1.450073214321026e+03 1.449248194639563e+03 1.448420630211373e+03 1.447590525200101e+03 - 1.446757883776100e+03 1.445922710116434e+03 1.445085008404874e+03 1.444244782831905e+03 1.443402037594718e+03 - 1.442556776897215e+03 1.441709004950008e+03 1.440858725970420e+03 1.440005944182481e+03 1.439150663816933e+03 - 1.438292889111226e+03 1.437432624309523e+03 1.436569873662692e+03 1.435704641428314e+03 1.434836931870678e+03 - 1.433966749260786e+03 1.433094097876346e+03 1.432218982001777e+03 1.431341405928208e+03 1.430461373953479e+03 - 1.429578890382137e+03 1.428693959525441e+03 1.427806585701360e+03 1.426916773234569e+03 1.426024526456458e+03 - 1.425129849705122e+03 1.424232747325370e+03 1.423333223668719e+03 1.422431283093393e+03 1.421526929964331e+03 - 1.420620168653178e+03 1.419711003538289e+03 1.418799439004731e+03 1.417885479444278e+03 1.416969129255415e+03 - 1.416050392843337e+03 1.415129274619950e+03 1.414205779003866e+03 1.413279910420411e+03 1.412351673301618e+03 - 1.411421072086230e+03 1.410488111219700e+03 1.409552795154193e+03 1.408615128348581e+03 1.407675115268446e+03 - 1.406732760386080e+03 1.405788068180486e+03 1.404841043137375e+03 1.403891689749170e+03 1.402940012515001e+03 - 1.401986015940709e+03 1.401029704538846e+03 1.400071082828672e+03 1.399110155336157e+03 1.398146926593981e+03 - 1.397181401141535e+03 1.396213583524918e+03 1.395243478296938e+03 1.394271090017116e+03 1.393296423251680e+03 - 1.392319482573570e+03 1.391340272562432e+03 1.390358797804626e+03 1.389375062893219e+03 1.388389072427989e+03 - 1.387400831015423e+03 1.386410343268718e+03 1.385417613807782e+03 1.384422647259231e+03 1.383425448256391e+03 - 1.382426021439299e+03 1.381424371454700e+03 1.380420502956051e+03 1.379414420603515e+03 1.378406129063970e+03 - 1.377395633010999e+03 1.376382937124898e+03 1.375368046092671e+03 1.374350964608031e+03 1.373331697371403e+03 - 1.372310249089921e+03 1.371286624477428e+03 1.370260828254477e+03 1.369232865148331e+03 1.368202739892964e+03 - 1.367170457229056e+03 1.366136021904002e+03 1.365099438671902e+03 1.364060712293568e+03 1.363019847536522e+03 - 1.361976849174995e+03 1.360931721989928e+03 1.359884470768972e+03 1.358835100306487e+03 1.357783615403544e+03 - 1.356730020867921e+03 1.355674321514110e+03 1.354616522163310e+03 1.353556627643430e+03 1.352494642789090e+03 - 1.351430572441617e+03 1.350364421449050e+03 1.349296194666138e+03 1.348225896954338e+03 1.347153533181818e+03 - 1.346079108223457e+03 1.345002626960841e+03 1.343924094282267e+03 1.342843515082743e+03 1.341760894263984e+03 - 1.340676236734416e+03 1.339589547409177e+03 1.338500831210112e+03 1.337410093065776e+03 1.336317337911434e+03 - 1.335222570689062e+03 1.334125796347346e+03 1.333027019841677e+03 1.331926246134163e+03 1.330823480193616e+03 - 1.329718726995561e+03 1.328611991522230e+03 1.327503278762568e+03 1.326392593712228e+03 1.325279941373571e+03 - 1.324165326755672e+03 1.323048754874311e+03 1.321930230751983e+03 1.320809759417887e+03 1.319687345907936e+03 - 1.318562995264752e+03 1.317436712537665e+03 1.316308502782716e+03 1.315178371062656e+03 1.314046322446946e+03 - 1.312912362011755e+03 1.311776494839963e+03 1.310638726021160e+03 1.309499060651645e+03 1.308357503834428e+03 - 1.307214060679228e+03 1.306068736302473e+03 1.304921535827301e+03 1.303772464383560e+03 1.302621527107810e+03 - 1.301468729143317e+03 1.300314075640058e+03 1.299157571754721e+03 1.297999222650704e+03 1.296839033498112e+03 - 1.295677009473761e+03 1.294513155761180e+03 1.293347477550602e+03 1.292179980038974e+03 1.291010668429951e+03 - 1.289839547933899e+03 1.288666623767893e+03 1.287491901155716e+03 1.286315385327865e+03 1.285137081521542e+03 - 1.283956994980662e+03 1.282775130955849e+03 1.281591494704436e+03 1.280406091490466e+03 1.279218926584693e+03 - 1.278030005264579e+03 1.276839332814297e+03 1.275646914524728e+03 1.274452755693465e+03 1.273256861624810e+03 - 1.272059237629775e+03 1.270859889026079e+03 1.269658821138155e+03 1.268456039297144e+03 1.267251548840895e+03 - 1.266045355113969e+03 1.264837463467636e+03 1.263627879259876e+03 1.262416607855379e+03 1.261203654625543e+03 - 1.259989024948479e+03 1.258772724209004e+03 1.257554757798647e+03 1.256335131115646e+03 1.255113849564950e+03 - 1.253890918558217e+03 1.252666343513813e+03 1.251440129856817e+03 1.250212283019015e+03 1.248982808438904e+03 - 1.247751711561691e+03 1.246518997839292e+03 1.245284672730334e+03 1.244048741700151e+03 1.242811210220790e+03 - 1.241572083771006e+03 1.240331367836264e+03 1.239089067908740e+03 1.237845189487317e+03 1.236599738077590e+03 - 1.235352719191863e+03 1.234104138349150e+03 1.232854001075175e+03 1.231602312902370e+03 1.230349079369880e+03 - 1.229094306023557e+03 1.227837998415964e+03 1.226580162106373e+03 1.225320802660766e+03 1.224059925651835e+03 - 1.222797536658982e+03 1.221533641268318e+03 1.220268245072664e+03 1.219001353671552e+03 1.217732972671222e+03 - 1.216463107684624e+03 1.215191764331420e+03 1.213918948237977e+03 1.212644665037377e+03 1.211368920369408e+03 - 1.210091719880570e+03 1.208813069224072e+03 1.207532974059833e+03 1.206251440054480e+03 1.204968472881353e+03 - 1.203684078220499e+03 1.202398261758676e+03 1.201111029189351e+03 1.199822386212701e+03 1.198532338535615e+03 - 1.197240891871687e+03 1.195948051941225e+03 1.194653824471246e+03 1.193358215195474e+03 1.192061229854346e+03 - 1.190762874195007e+03 1.189463153971313e+03 1.188162074943828e+03 1.186859642879827e+03 1.185555863553295e+03 - 1.184250742744927e+03 1.182944286242125e+03 1.181636499839004e+03 1.180327389336388e+03 1.179016960541809e+03 - 1.177705219269511e+03 1.176392171340446e+03 1.175077822582277e+03 1.173762178829377e+03 1.172445245922827e+03 - 1.171127029710419e+03 1.169807536046655e+03 1.168486770792745e+03 1.167164739816612e+03 1.165841448992886e+03 - 1.164516904202907e+03 1.163191111334726e+03 1.161864076283103e+03 1.160535804949508e+03 1.159206303242120e+03 - 1.157875577075829e+03 1.156543632372233e+03 1.155210475059642e+03 1.153876111073074e+03 1.152540546354257e+03 - 1.151203786851631e+03 1.149865838520342e+03 1.148526707322247e+03 1.147186399225916e+03 1.145844920206624e+03 - 1.144502276246358e+03 1.143158473333815e+03 1.141813517464402e+03 1.140467414640234e+03 1.139120170870139e+03 - 1.137771792169650e+03 1.136422284561014e+03 1.135071654073185e+03 1.133719906741829e+03 1.132367048609320e+03 - 1.131013085724743e+03 1.129658024143891e+03 1.128301869929270e+03 1.126944629150092e+03 1.125586307882280e+03 - 1.124226912208469e+03 1.122866448218001e+03 1.121504922006928e+03 1.120142339678013e+03 1.118778707340729e+03 - 1.117414031111256e+03 1.116048317112488e+03 1.114681571474025e+03 1.113313800332179e+03 1.111945009829970e+03 - 1.110575206117129e+03 1.109204395350097e+03 1.107832583692024e+03 1.106459777312770e+03 1.105085982388904e+03 - 1.103711205103706e+03 1.102335451647166e+03 1.100958728215983e+03 1.099581041013564e+03 1.098202396250028e+03 - 1.096822800142205e+03 1.095442258913632e+03 1.094060778794555e+03 1.092678366021934e+03 1.091295026839436e+03 - 1.089910767497437e+03 1.088525594253023e+03 1.087139513369993e+03 1.085752531118851e+03 1.084364653776815e+03 - 1.082975887627809e+03 1.081586238962469e+03 1.080195714078142e+03 1.078804319278880e+03 1.077412060875450e+03 - 1.076018945185327e+03 1.074624978532693e+03 1.073230167248444e+03 1.071834517670182e+03 1.070438036142223e+03 - 1.069040729015589e+03 1.067642602648012e+03 1.066243663403937e+03 1.064843917654515e+03 1.063443371777609e+03 - 1.062042032157791e+03 1.060639905186343e+03 1.059236997261256e+03 1.057833314787232e+03 1.056428864175682e+03 - 1.055023651844726e+03 1.053617684219196e+03 1.052210967730631e+03 1.050803508817282e+03 1.049395313897890e+03 - 1.047986388534756e+03 1.046576737255851e+03 1.045166364529164e+03 1.043755274824231e+03 1.042343472612131e+03 - 1.040930962365484e+03 1.039517748558457e+03 1.038103835666756e+03 1.036689228167636e+03 1.035273930539893e+03 - 1.033857947263865e+03 1.032441282821436e+03 1.031023941696033e+03 1.029605928372625e+03 1.028187247337727e+03 - 1.026767903079397e+03 1.025347900087235e+03 1.023927242852386e+03 1.022505935867538e+03 1.021083983626923e+03 - 1.019661390626317e+03 1.018238161363038e+03 1.016814300335948e+03 1.015389812045455e+03 1.013964700993507e+03 - 1.012538971683598e+03 1.011112628620765e+03 1.009685676311588e+03 1.008258119264191e+03 1.006829961988242e+03 - 1.005401208994952e+03 1.003971864797076e+03 1.002541933908912e+03 1.001111420846301e+03 9.996803301266303e+02 - 9.982486662688275e+02 9.968164337933661e+02 9.953836372222621e+02 9.939502810790750e+02 9.925163698889086e+02 - 9.910819081784098e+02 9.896469004757686e+02 9.882113513107199e+02 9.867752652145410e+02 9.853386467200531e+02 - 9.839015003616214e+02 9.824638306751541e+02 9.810256421981031e+02 9.795869394694643e+02 9.781477270297768e+02 - 9.767080094211232e+02 9.752677911871300e+02 9.738270768729670e+02 9.723858710253478e+02 9.709441781925295e+02 - 9.695020029243127e+02 9.680593497720415e+02 9.666162232886040e+02 9.651726280284314e+02 9.637285685474986e+02 - 9.622840494033246e+02 9.608390751549712e+02 9.593936503630440e+02 9.579477795896925e+02 9.565014673986094e+02 - 9.550547183550314e+02 9.536075370257383e+02 9.521599279790540e+02 9.507118957848456e+02 9.492634450145238e+02 - 9.478145802410424e+02 9.463653060389005e+02 9.449156269841388e+02 9.434655476543426e+02 9.420150726286407e+02 - 9.405642064877048e+02 9.391129538137513e+02 9.376613191905399e+02 9.362093072033728e+02 9.347569224390970e+02 - 9.333041694861028e+02 9.318510529343232e+02 9.303975773752362e+02 9.289437474018629e+02 9.274895676087672e+02 - 9.260350425920570e+02 9.245801769493847e+02 9.231249752799448e+02 9.216694421844763e+02 9.202135822652619e+02 - 9.187574001261273e+02 9.173009003724419e+02 9.158440876111187e+02 9.143869664506148e+02 9.129295415009306e+02 - 9.114718173736089e+02 9.100137986817383e+02 9.085554900399494e+02 9.070968960644165e+02 9.056380213728581e+02 - 9.041788705845360e+02 9.027194483202552e+02 9.012597592023648e+02 8.997998078547574e+02 8.983395989028686e+02 - 8.968791369736786e+02 8.954184266957105e+02 8.939574726990309e+02 8.924962796152502e+02 8.910348520775226e+02 - 8.895731947205452e+02 8.881113121805595e+02 8.866492090953504e+02 8.851868901042455e+02 8.837243598481174e+02 - 8.822616229693809e+02 8.807986841119955e+02 8.793355479214636e+02 8.778722190448314e+02 8.764087021306887e+02 - 8.749450018291686e+02 8.734811227919481e+02 8.720170696722481e+02 8.705528471248323e+02 8.690884598060085e+02 - 8.676239123736278e+02 8.661592094870851e+02 8.646943558073189e+02 8.632293559968109e+02 8.617642147195870e+02 - 8.602989366412162e+02 8.588335264288111e+02 8.573679887510280e+02 8.559023282780669e+02 8.544365496816713e+02 - 8.529706576351281e+02 8.515046568132680e+02 8.500385518924651e+02 8.485723475506371e+02 8.471060484672456e+02 - 8.456396593232956e+02 8.441731848013352e+02 8.427066295854568e+02 8.412399983612960e+02 8.397732958160319e+02 - 8.383065266383875e+02 8.368396955186294e+02 8.353728071485672e+02 8.339058662215547e+02 8.324388774324890e+02 - 8.309718454778108e+02 8.295047750555044e+02 8.280376708650979e+02 8.265705376076626e+02 8.251033799858133e+02 - 8.236362027037090e+02 8.221690104670519e+02 8.207018079830875e+02 8.192345999606056e+02 8.177673911099388e+02 - 8.163001861429635e+02 8.148329897731001e+02 8.133658067153123e+02 8.118986416861073e+02 8.104314994035359e+02 - 8.089643845871925e+02 8.074973019582153e+02 8.060302562392853e+02 8.045632521546285e+02 8.030962944300132e+02 - 8.016293877927517e+02 8.001625369717000e+02 7.986957466972576e+02 7.972290217013673e+02 7.957623667175162e+02 - 7.942957864807344e+02 7.928292857275953e+02 7.913628691962167e+02 7.898965416262595e+02 7.884303077589279e+02 - 7.869641723369706e+02 7.854981401046790e+02 7.840322158078881e+02 7.825664041939773e+02 7.811007100118686e+02 - 7.796351380120283e+02 7.781696929464658e+02 7.767043795687346e+02 7.752392026339312e+02 7.737741668986956e+02 - 7.723092771212124e+02 7.708445380612087e+02 7.693799544799557e+02 7.679155311402681e+02 7.664512728065041e+02 - 7.649871842445651e+02 7.635232702218972e+02 7.620595355074889e+02 7.605959848718730e+02 7.591326230871256e+02 - 7.576694549268664e+02 7.562064851662584e+02 7.547437185820088e+02 7.532811599523681e+02 7.518188140571300e+02 - 7.503566856776325e+02 7.488947795967565e+02 7.474331005989271e+02 7.459716534701122e+02 7.445104429978242e+02 - 7.430494739711182e+02 7.415887511805935e+02 7.401282794183929e+02 7.386680634782024e+02 7.372081081552518e+02 - 7.357484182463149e+02 7.342889985497084e+02 7.328298538652926e+02 7.313709889944722e+02 7.299124087401947e+02 - 7.284541179069513e+02 7.269961213007771e+02 7.255384237292504e+02 7.240810300014931e+02 7.226239449281712e+02 - 7.211671733214938e+02 7.197107199952134e+02 7.182545897646269e+02 7.167987874465738e+02 7.153433178594373e+02 - 7.138881858231457e+02 7.124333961591685e+02 7.109789536905207e+02 7.095248632417597e+02 7.080711296389870e+02 - 7.066177577098478e+02 7.051647522835304e+02 7.037121181907675e+02 7.022598602638342e+02 7.008079833365500e+02 - 6.993564922442782e+02 6.979053918239249e+02 6.964546869139400e+02 6.950043823543177e+02 6.935544829865950e+02 - 6.921049936538523e+02 6.906559192007142e+02 6.892072644733491e+02 6.877590343194680e+02 6.863112335883264e+02 - 6.848638671307228e+02 6.834169397989994e+02 6.819704564470420e+02 6.805244219302806e+02 6.790788411056876e+02 - 6.776337188317796e+02 6.761890599686175e+02 6.747448693778041e+02 6.733011519224871e+02 6.718579124673579e+02 - 6.704151558786504e+02 6.689728870241429e+02 6.675311107731571e+02 6.660898319965579e+02 6.646490555667547e+02 - 6.632087863576994e+02 6.617690292448882e+02 6.603297891053608e+02 6.588910708177000e+02 6.574528792620325e+02 - 6.560152193200289e+02 6.545780958749028e+02 6.531415138114120e+02 6.517054780158572e+02 6.502699933760831e+02 - 6.488350647814780e+02 6.474006971229736e+02 6.459668952930450e+02 6.445336641857116e+02 6.431010086965356e+02 - 6.416689337226230e+02 6.402374441626239e+02 6.388065449167315e+02 6.373762408866819e+02 6.359465369757564e+02 - 6.345174380887786e+02 6.330889491321157e+02 6.316610750136796e+02 6.302338206429247e+02 6.288071909308491e+02 - 6.273811907899951e+02 6.259558251344477e+02 6.245310988798360e+02 6.231070169433332e+02 6.216835842436550e+02 - 6.202608057010611e+02 6.188386862373554e+02 6.174172307758844e+02 6.159964442415383e+02 6.145763315607522e+02 - 6.131568976615030e+02 6.117381474733122e+02 6.103200859272448e+02 6.089027179559087e+02 6.074860484934565e+02 - 6.060700824755835e+02 6.046548248395288e+02 6.032402805240755e+02 6.018264544695495e+02 6.004133516178208e+02 - 5.990009769123031e+02 5.975893352979532e+02 5.961784317212720e+02 5.947682711303036e+02 5.933588584746357e+02 - 5.919501987053994e+02 5.905422967752705e+02 5.891351576384668e+02 5.877287862507508e+02 5.863231875694282e+02 - 5.849183665533477e+02 5.835143281629030e+02 5.821110773600302e+02 5.807086191082091e+02 5.793069583724634e+02 - 5.779061001193606e+02 5.765060493170109e+02 5.751068109350690e+02 5.737083899447330e+02 5.723107913187440e+02 - 5.709140200313871e+02 5.695180810584912e+02 5.681229793774282e+02 5.667287199671144e+02 5.653353078080089e+02 - 5.639427478821145e+02 5.625510451729782e+02 5.611602046656897e+02 5.597702313468828e+02 5.583811302047351e+02 - 5.569929062289672e+02 5.556055644108436e+02 5.542191097431725e+02 5.528335472203050e+02 5.514488818381369e+02 - 5.500651185941068e+02 5.486822624871968e+02 5.473003185179330e+02 5.459192916883851e+02 5.445391870021655e+02 - 5.431600094644319e+02 5.417817640818839e+02 5.404044558627653e+02 5.390280898168637e+02 5.376526709555103e+02 - 5.362782042915790e+02 5.349046948394886e+02 5.335321476152006e+02 5.321605676362202e+02 5.307899599215965e+02 - 5.294203294919217e+02 5.280516813693320e+02 5.266840205775071e+02 5.253173521416702e+02 5.239516810885877e+02 - 5.225870124465707e+02 5.212233512454725e+02 5.198607025166908e+02 5.184990712931668e+02 5.171384626093851e+02 - 5.157788815013741e+02 5.144203330067055e+02 5.130628221644946e+02 5.117063540154008e+02 5.103509336016263e+02 - 5.089965659669175e+02 5.076432561565640e+02 5.062910092173990e+02 5.049398301977998e+02 5.035897241476866e+02 - 5.022406961185235e+02 5.008927511633182e+02 4.995458943366220e+02 4.982001306945292e+02 4.968554652946787e+02 - 4.955119031962524e+02 4.941694494599757e+02 4.928281091481178e+02 4.914878873244913e+02 4.901487890544524e+02 - 4.888108194049014e+02 4.874739834442815e+02 4.861382862425793e+02 4.848037328713260e+02 4.834703284035954e+02 - 4.821380779140055e+02 4.808069864787175e+02 4.794770591754360e+02 4.781483010834104e+02 4.768207172834317e+02 - 4.754943128578365e+02 4.741690928905032e+02 4.728450624668552e+02 4.715222266738587e+02 4.702005906000235e+02 - 4.688801593354034e+02 4.675609379715956e+02 4.662429316017405e+02 4.649261453205227e+02 4.636105842241698e+02 - 4.622962534104534e+02 4.609831579786886e+02 4.596713030297340e+02 4.583606936659914e+02 4.570513349914071e+02 - 4.557432321114703e+02 4.544363901332138e+02 4.531308141652141e+02 4.518265093175915e+02 4.505234807020092e+02 - 4.492217334316751e+02 4.479212726213398e+02 4.466221033872973e+02 4.453242308473862e+02 4.440276601209875e+02 - 4.427323963290266e+02 4.414384445939725e+02 4.401458100398370e+02 4.388544977921764e+02 4.375645129780900e+02 - 4.362758607262207e+02 4.349885461667554e+02 4.337025744314242e+02 4.324179506535007e+02 4.311346799678025e+02 - 4.298527675106906e+02 4.285722184200691e+02 4.272930378353866e+02 4.260152308976346e+02 4.247388027493482e+02 - 4.234637585346064e+02 4.221901033990317e+02 4.209178424897899e+02 4.196469809555908e+02 4.183775239466873e+02 - 4.171094766148764e+02 4.158428441134982e+02 4.145776315974367e+02 4.133138442231195e+02 4.120514871485177e+02 - 4.107905655331455e+02 4.095310845380616e+02 4.082730493258674e+02 4.070164650607085e+02 4.057613369082738e+02 - 4.045076700357962e+02 4.032554696120511e+02 4.020047408073589e+02 4.007554887935824e+02 3.995077187441286e+02 - 3.982614358339480e+02 3.970166452395346e+02 3.957733521389259e+02 3.945315617117033e+02 3.932912791389912e+02 - 3.920525096034583e+02 3.908152582893162e+02 3.895795303823206e+02 3.883453310697706e+02 3.871126655405087e+02 - 3.858815389849212e+02 3.846519565949380e+02 3.834239235640323e+02 3.821974450872211e+02 3.809725263610652e+02 - 3.797491725836686e+02 3.785273889546788e+02 3.773071806752873e+02 3.760885529482291e+02 3.748715109777822e+02 - 3.736560599697692e+02 3.724422051315553e+02 3.712299516720498e+02 3.700193048017055e+02 3.688102697325187e+02 - 3.676028516780295e+02 3.663970558533210e+02 3.651928874750207e+02 3.639903517612993e+02 3.627894539318706e+02 - 3.615901992079928e+02 3.603925928124674e+02 3.591966399696389e+02 3.580023459053963e+02 3.568097158471716e+02 - 3.556187550239405e+02 3.544294686662223e+02 3.532418620060801e+02 3.520559402771199e+02 3.508717087144923e+02 - 3.496891725548904e+02 3.485083370365518e+02 3.473292073992571e+02 3.461517888843309e+02 3.449760867346407e+02 - 3.438021061945983e+02 3.426298525101589e+02 3.414593309288210e+02 3.402905466996269e+02 3.391235050731623e+02 - 3.379582113015570e+02 3.367946706384836e+02 3.356328883391590e+02 3.344728696603431e+02 3.333146198603399e+02 - 3.321581441989965e+02 3.310034479377038e+02 3.298505363393963e+02 3.286994146685523e+02 3.275500881911931e+02 - 3.264025621748842e+02 3.252568418887342e+02 3.241129326033955e+02 3.229708395910641e+02 3.218305681254797e+02 - 3.206921234819250e+02 3.195555109372272e+02 3.184207357697562e+02 3.172878032594259e+02 3.161567186876940e+02 - 3.150274873375612e+02 3.139001144935722e+02 3.127746054418153e+02 3.116509654699221e+02 3.105291998670680e+02 - 3.094093139239718e+02 3.082913129328962e+02 3.071752021876472e+02 3.060609869835743e+02 3.049486726175709e+02 - 3.038382643880739e+02 3.027297675950632e+02 3.016231875400634e+02 3.005185295261418e+02 2.994157988579094e+02 - 2.983150008415209e+02 2.972161407846750e+02 2.961192239966130e+02 2.950242557881208e+02 2.939312414715272e+02 - 2.928401863607048e+02 2.917510957710699e+02 2.906639750195822e+02 2.895788294247451e+02 2.884956643066055e+02 - 2.874144849867538e+02 2.863352967883243e+02 2.852581050359946e+02 2.841829150559857e+02 2.831097321760628e+02 - 2.820385617255341e+02 2.809694090352515e+02 2.799022794376108e+02 2.788371782665511e+02 2.777741108575549e+02 - 2.767130825476488e+02 2.756540986754025e+02 2.745971645809293e+02 2.735422856058867e+02 2.724894670934750e+02 - 2.714387143884384e+02 2.703900328370648e+02 2.693434277871856e+02 2.682989045881756e+02 2.672564685909533e+02 - 2.662161251479810e+02 2.651778796132642e+02 2.641417373423522e+02 2.631077036923379e+02 2.620757840218578e+02 - 2.610459836910915e+02 2.600183080617631e+02 2.589927624971394e+02 2.579693523620314e+02 2.569480830227931e+02 - 2.559289598473227e+02 2.549119882050614e+02 2.538971734669946e+02 2.528845210056507e+02 2.518740361951020e+02 - 2.508657244109642e+02 2.498595910303967e+02 2.488556414321026e+02 2.478538809963281e+02 2.468543151048638e+02 - 2.458569491410431e+02 2.448617884897432e+02 2.438688385373852e+02 2.428781046719333e+02 2.418895922828956e+02 - 2.409033067613238e+02 2.399192534998131e+02 2.389374378925019e+02 2.379578653350729e+02 2.369805412247519e+02 - 2.360054709603084e+02 2.350326599420553e+02 2.340621135718494e+02 2.330938372530911e+02 2.321278363907239e+02 - 2.311641163912353e+02 2.302026826626565e+02 2.292435406145617e+02 2.282866956580692e+02 2.273321532058407e+02 - 2.263799186720815e+02 2.254299974725404e+02 2.244823950245099e+02 2.235371167468261e+02 2.225941680598685e+02 - 2.216535543855603e+02 2.207152811473682e+02 2.197793537703028e+02 2.188457776809178e+02 2.179145583073106e+02 - 2.169857010791227e+02 2.160592114275385e+02 2.151350947852860e+02 2.142133565866376e+02 2.132940022674083e+02 - 2.123770372649571e+02 2.114624670181867e+02 2.105502969675431e+02 2.096405325550162e+02 2.087331792241393e+02 - 2.078282424199890e+02 2.069257275891860e+02 2.060256401798943e+02 2.051279856418216e+02 2.042327694262190e+02 - 2.033399969858813e+02 2.024496737751469e+02 2.015618052498977e+02 2.006763968675590e+02 1.997934540871004e+02 - 1.989129823690343e+02 1.980349871754169e+02 1.971594739698481e+02 1.962864482174713e+02 1.954159153849736e+02 - 1.945478809405854e+02 1.936823503540812e+02 1.928193290967781e+02 1.919588226415381e+02 1.911008364627658e+02 - 1.902453760364096e+02 1.893924468399617e+02 1.885420543524577e+02 1.876942040544768e+02 1.868489014281417e+02 - 1.860061519571189e+02 1.851659611266184e+02 1.843283344233937e+02 1.834932773357418e+02 1.826607953535034e+02 - 1.818308939680629e+02 1.810035786723481e+02 1.801788549608304e+02 1.793567283295249e+02 1.785372042759901e+02 - 1.777202882993282e+02 1.769059859001850e+02 1.760943025807497e+02 1.752852438447554e+02 1.744788151974785e+02 - 1.736750221457390e+02 1.728738701979007e+02 1.720753648638706e+02 1.712795116550998e+02 1.704863160845825e+02 - 1.696957836668566e+02 1.689079199180039e+02 1.681227303556493e+02 1.673402204989617e+02 1.665603958686532e+02 - 1.657832619869799e+02 1.650088243777409e+02 1.642370885662795e+02 1.634680600794823e+02 1.627017444457793e+02 - 1.619381471951445e+02 1.611772738590951e+02 1.604191299706921e+02 1.596637210645399e+02 1.589110526767867e+02 - 1.581611303451241e+02 1.574139596087874e+02 1.566695460085554e+02 1.559278950867503e+02 1.551890123872385e+02 - 1.544529034554292e+02 1.537195738382757e+02 1.529890290842748e+02 1.522612747434666e+02 1.515363163674351e+02 - 1.508141595093076e+02 1.500948097237555e+02 1.493782725669932e+02 1.486645535967789e+02 1.479536583724143e+02 - 1.472455924547449e+02 1.465403614061596e+02 1.458379707905909e+02 1.451384261735148e+02 1.444417331219514e+02 - 1.437478972044633e+02 1.430569239911578e+02 1.423688190536853e+02 1.416835879652396e+02 1.410012363005585e+02 - 1.403217696359229e+02 1.396451935491577e+02 1.389715136196312e+02 1.383007354282553e+02 1.376328645574854e+02 - 1.369679065913208e+02 1.363058671153038e+02 1.356467517165207e+02 1.349905659836014e+02 1.343373155067194e+02 - 1.336870058775913e+02 1.330396426894780e+02 1.323952315371832e+02 1.317537780170550e+02 1.311152877269845e+02 - 1.304797662664065e+02 1.298472192362996e+02 1.292176522391855e+02 1.285910708791301e+02 1.279674807617425e+02 - 1.273468874941753e+02 1.267292966851250e+02 1.261147139448316e+02 1.255031448850783e+02 1.248945951191923e+02 - 1.242890702620443e+02 1.236865759300485e+02 1.230871177411627e+02 1.224907013148884e+02 1.218973322722703e+02 - 1.213070162358971e+02 1.207197588299010e+02 1.201355656799576e+02 1.195544424132864e+02 1.189763946586499e+02 - 1.184014280463548e+02 1.178295482082510e+02 1.172607607777323e+02 1.166950713897357e+02 1.161324856807421e+02 - 1.155730092887757e+02 1.150166478534045e+02 1.144634070157400e+02 1.139132924184372e+02 1.133663097056950e+02 - 1.128224645232555e+02 1.122817625184044e+02 1.117442093399712e+02 1.112098106383290e+02 1.106785720653942e+02 - 1.101504843345202e+02 1.096253193854976e+02 1.091027814759659e+02 1.085828903190926e+02 1.080656662057070e+02 - 1.075510744401853e+02 1.070391017583160e+02 1.065297369211215e+02 1.060229642403793e+02 1.055187689946627e+02 - 1.050171373101604e+02 1.045180558156006e+02 1.040215103049707e+02 1.035274865113781e+02 1.030359706887152e+02 - 1.025469492169604e+02 1.020604083357866e+02 1.015763340040288e+02 1.010947131078929e+02 1.006155327791835e+02 - 1.001387792631148e+02 9.966443911893010e+01 9.919249927205091e+01 9.872294669690289e+01 9.825576811144268e+01 - 9.779095024426459e+01 9.732848086108395e+01 9.686834738339628e+01 9.641053663288847e+01 9.595503591883143e+01 - 9.550183276437639e+01 9.505091470489599e+01 9.460226894357737e+01 9.415588307372171e+01 9.371174549820027e+01 - 9.326984390100915e+01 9.283016578095182e+01 9.239269910989660e+01 9.195743199867270e+01 9.152435246657959e+01 - 9.109344822825337e+01 9.066470776170968e+01 9.023811990175319e+01 8.981367265385576e+01 8.939135422700863e+01 - 8.897115319588202e+01 8.855305819940260e+01 8.813705766268812e+01 8.772313993524557e+01 8.731129428898021e+01 - 8.690150981214184e+01 8.649377498492467e+01 8.608807868460502e+01 8.568441000539183e+01 8.528275807208179e+01 - 8.488311171021131e+01 8.448546000255536e+01 8.408979283578468e+01 8.369609949978657e+01 8.330436902264381e+01 - 8.291459088961614e+01 8.252675470341519e+01 8.214085000107356e+01 8.175686603719873e+01 8.137479266933553e+01 - 8.099462018292702e+01 8.061633811896954e+01 8.023993612969721e+01 7.986540422509246e+01 7.949273245617202e+01 - 7.912191071864751e+01 7.875292880591886e+01 7.838577728963824e+01 7.802044667908689e+01 7.765692688210476e+01 - 7.729520814701189e+01 7.693528093921003e+01 7.657713574044320e+01 7.622076279877933e+01 7.586615250876412e+01 - 7.551329599462582e+01 7.516218394284439e+01 7.481280673973237e+01 7.446515517211270e+01 7.411922012543234e+01 - 7.377499243991551e+01 7.343246273248482e+01 7.309162206375170e+01 7.275246194060588e+01 7.241497325488510e+01 - 7.207914691168762e+01 7.174497413637995e+01 7.141244624067238e+01 7.108155440657860e+01 7.075228964021176e+01 - 7.042464364044737e+01 7.009860816502822e+01 6.977417437950896e+01 6.945133371117183e+01 6.913007780419414e+01 - 6.881039831641085e+01 6.849228672098478e+01 6.817573455985929e+01 6.786073404036127e+01 6.754727706019318e+01 - 6.723535518365489e+01 6.692496029976250e+01 6.661608442214438e+01 6.630871955818391e+01 6.600285747074972e+01 - 6.569849025826812e+01 6.539561050984807e+01 6.509421028016476e+01 6.479428156422156e+01 6.449581665898590e+01 - 6.419880794007263e+01 6.390324769379086e+01 6.360912802573969e+01 6.331644161216560e+01 6.302518126952705e+01 - 6.273533924838438e+01 6.244690800283556e+01 6.215988021335375e+01 6.187424856554645e+01 6.159000558852496e+01 - 6.130714382209544e+01 6.102565642873360e+01 6.074553634647369e+01 6.046677613965124e+01 6.018936867893675e+01 - 5.991330696615304e+01 5.963858400265185e+01 5.936519255461710e+01 5.909312563142009e+01 5.882237675846172e+01 - 5.855293899151076e+01 5.828480526925385e+01 5.801796883717194e+01 5.775242299813667e+01 5.748816098906929e+01 - 5.722517588172157e+01 5.696346118973321e+01 5.670301063052477e+01 5.644381744585571e+01 5.618587497447161e+01 - 5.592917675378749e+01 5.567371639288440e+01 5.541948735564524e+01 5.516648303666721e+01 5.491469740133566e+01 - 5.466412430128952e+01 5.441475721341882e+01 5.416658984866251e+01 5.391961604526729e+01 5.367382965707854e+01 - 5.342922435049869e+01 5.318579394824101e+01 5.294353276046760e+01 5.270243471566913e+01 5.246249358126801e+01 - 5.222370341980431e+01 5.198605834991378e+01 5.174955243603662e+01 5.151417956992881e+01 5.127993401538280e+01 - 5.104681029539683e+01 5.081480246751264e+01 5.058390465007635e+01 5.035411117607305e+01 5.012541641928832e+01 - 4.989781463692880e+01 4.967129999443014e+01 4.944586717469857e+01 4.922151081792142e+01 4.899822516393252e+01 - 4.877600466591702e+01 4.855484391176263e+01 4.833473749525371e+01 4.811567985888949e+01 4.789766553100244e+01 - 4.768068948486052e+01 4.746474643299185e+01 4.724983089968822e+01 4.703593761581940e+01 4.682306140175855e+01 - 4.661119706938157e+01 4.640033923440899e+01 4.619048280117971e+01 4.598162297433280e+01 4.577375454810339e+01 - 4.556687232031752e+01 4.536097129194708e+01 4.515604651624491e+01 4.495209295916556e+01 4.474910546848848e+01 - 4.454707932343867e+01 4.434600983627007e+01 4.414589194663536e+01 4.394672075425581e+01 4.374849149110094e+01 - 4.355119939554362e+01 4.335483958155968e+01 4.315940720272008e+01 4.296489783321342e+01 4.277130684141869e+01 - 4.257862938067940e+01 4.238686082011235e+01 4.219599659307687e+01 4.200603211268383e+01 4.181696265307154e+01 - 4.162878369849639e+01 4.144149102922540e+01 4.125508008000694e+01 4.106954625154178e+01 4.088488514080404e+01 - 4.070109237453877e+01 4.051816351991027e+01 4.033609404369983e+01 4.015487975529847e+01 3.997451654390139e+01 - 3.979499995457292e+01 3.961632565249730e+01 3.943848943565658e+01 3.926148710146721e+01 3.908531435163689e+01 - 3.890996689581685e+01 3.873544082272831e+01 3.856173207783515e+01 3.838883637414560e+01 3.821674961156019e+01 - 3.804546776546066e+01 3.787498680517137e+01 3.770530255859592e+01 3.753641100849845e+01 3.736830845518836e+01 - 3.720099088344971e+01 3.703445420945200e+01 3.686869456603723e+01 3.670370808841574e+01 3.653949085950763e+01 - 3.637603888796111e+01 3.621334844811717e+01 3.605141592615973e+01 3.589023740445852e+01 3.572980904042850e+01 - 3.557012712196481e+01 3.541118795282225e+01 3.525298774403768e+01 3.509552267323749e+01 3.493878928773343e+01 - 3.478278404343990e+01 3.462750313614663e+01 3.447294293878365e+01 3.431909990161546e+01 3.416597046087814e+01 - 3.401355094900445e+01 3.386183779648810e+01 3.371082772101448e+01 3.356051721064496e+01 3.341090265530899e+01 - 3.326198061398263e+01 3.311374767636361e+01 3.296620040125966e+01 3.281933525310492e+01 3.267314891432770e+01 - 3.252763821351709e+01 3.238279969616838e+01 3.223862995512887e+01 3.209512571750849e+01 3.195228370249094e+01 - 3.181010057023420e+01 3.166857295105629e+01 3.152769775432829e+01 3.138747186368265e+01 3.124789194582367e+01 - 3.110895478177638e+01 3.097065722333928e+01 3.083299612203396e+01 3.069596823521478e+01 3.055957038379009e+01 - 3.042379968490992e+01 3.028865305190764e+01 3.015412726448298e+01 3.002021927954454e+01 2.988692608783410e+01 - 2.975424465393443e+01 2.962217185358958e+01 2.949070472525562e+01 2.935984046863818e+01 2.922957605244617e+01 - 2.909990844798608e+01 2.897083474125067e+01 2.884235205411202e+01 2.871445744621140e+01 2.858714789194334e+01 - 2.846042066311678e+01 2.833427304434733e+01 2.820870204788112e+01 2.808370481822039e+01 2.795927858955916e+01 - 2.783542056310479e+01 2.771212788710439e+01 2.758939774558937e+01 2.746722754519704e+01 2.734561457842300e+01 - 2.722455602005491e+01 2.710404915757552e+01 2.698409131619408e+01 2.686467981339180e+01 2.674581188504884e+01 - 2.662748489299116e+01 2.650969637323688e+01 2.639244364869198e+01 2.627572402574995e+01 2.615953493480668e+01 - 2.604387380499337e+01 2.592873803144385e+01 2.581412497154068e+01 2.570003216993883e+01 2.558645721031992e+01 - 2.547339748309297e+01 2.536085044648649e+01 2.524881363723968e+01 2.513728460374055e+01 2.502626081142699e+01 - 2.491573971820056e+01 2.480571905896494e+01 2.469619646153339e+01 2.458716938319504e+01 2.447863542000312e+01 - 2.437059221927192e+01 2.426303741725681e+01 2.415596854366440e+01 2.404938323139217e+01 2.394327933047775e+01 - 2.383765447837906e+01 2.373250626120992e+01 2.362783239922733e+01 2.352363062421024e+01 2.341989863680159e+01 - 2.331663407933185e+01 2.321383475989216e+01 2.311149855755017e+01 2.300962316438995e+01 2.290820631357202e+01 - 2.280724581327735e+01 2.270673948178020e+01 2.260668508940155e+01 2.250708039173678e+01 2.240792334786956e+01 - 2.230921186720802e+01 2.221094371595302e+01 2.211311674173436e+01 2.201572884123411e+01 2.191877792312015e+01 - 2.182226182065280e+01 2.172617842216956e+01 2.163052579410284e+01 2.153530186271772e+01 2.144050449256298e+01 - 2.134613164544727e+01 2.125218130870039e+01 2.115865145244560e+01 2.106553997668644e+01 2.097284492087666e+01 - 2.088056441996010e+01 2.078869643251129e+01 2.069723893213309e+01 2.060618996606658e+01 2.051554761096601e+01 - 2.042530989859754e+01 2.033547481777502e+01 2.024604054022628e+01 2.015700522393599e+01 2.006836688994228e+01 - 1.998012363072147e+01 1.989227358045817e+01 1.980481486918973e+01 1.971774557717947e+01 1.963106382303616e+01 - 1.954476789103884e+01 1.945885594703988e+01 1.937332608222908e+01 1.928817649453870e+01 1.920340539662878e+01 - 1.911901098077130e+01 1.903499138773951e+01 1.895134486255558e+01 1.886806974988112e+01 1.878516424109755e+01 - 1.870262653275597e+01 1.862045489823334e+01 1.853864761644500e+01 1.845720293609644e+01 1.837611907561623e+01 - 1.829539441141390e+01 1.821502731690405e+01 1.813501600648008e+01 1.805535878852776e+01 1.797605402680784e+01 - 1.789710004813803e+01 1.781849513976010e+01 1.774023761822760e+01 1.766232596769640e+01 1.758475857461898e+01 - 1.750753373031707e+01 1.743064982368309e+01 1.735410526816905e+01 1.727789846424588e+01 1.720202775432962e+01 - 1.712649156263800e+01 1.705128842771503e+01 1.697641675133914e+01 1.690187492053174e+01 1.682766139576636e+01 - 1.675377465125957e+01 1.668021313537254e+01 1.660697525047803e+01 1.653405953620346e+01 1.646146456303875e+01 - 1.638918876353225e+01 1.631723061252691e+01 1.624558863577738e+01 1.617426136715184e+01 1.610324729276991e+01 - 1.603254489420701e+01 1.596215281065743e+01 1.589206962268447e+01 1.582229381597797e+01 1.575282394813798e+01 - 1.568365860435203e+01 1.561479636559848e+01 1.554623575841051e+01 1.547797536749664e+01 1.541001389568697e+01 - 1.534234992945672e+01 1.527498202635700e+01 1.520790881496337e+01 1.514112893627654e+01 1.507464101206718e+01 - 1.500844361854594e+01 1.494253544400039e+01 1.487691522461213e+01 1.481158156982783e+01 1.474653311471545e+01 - 1.468176854391490e+01 1.461728655322583e+01 1.455308580005108e+01 1.448916492494823e+01 1.442552270891503e+01 - 1.436215789907635e+01 1.429906914560298e+01 1.423625515786986e+01 1.417371467503432e+01 1.411144643634281e+01 - 1.404944913182382e+01 1.398772148936426e+01 1.392626235467004e+01 1.386507047757601e+01 1.380414456703780e+01 - 1.374348339923097e+01 1.368308576360786e+01 1.362295043539383e+01 1.356307614411792e+01 1.350346171009224e+01 - 1.344410601461897e+01 1.338500782259274e+01 1.332616591200318e+01 1.326757911048049e+01 1.320924625504148e+01 - 1.315116615215319e+01 1.309333758418828e+01 1.303575945915385e+01 1.297843067064863e+01 1.292135001185642e+01 - 1.286451632934388e+01 1.280792850075226e+01 1.275158540067995e+01 1.269548586414703e+01 1.263962874841400e+01 - 1.258401302186647e+01 1.252863758019894e+01 1.247350127006052e+01 1.241860299544399e+01 1.236394167532885e+01 - 1.230951622025856e+01 1.225532549825102e+01 1.220136844757296e+01 1.214764407513537e+01 1.209415128431592e+01 - 1.204088897936275e+01 1.198785611322907e+01 1.193505164847797e+01 1.188247452422181e+01 1.183012365035161e+01 - 1.177799804372636e+01 1.172609672645034e+01 1.167441862559045e+01 1.162296270435431e+01 1.157172795813644e+01 - 1.152071338824009e+01 1.146991795771504e+01 1.141934063624516e+01 1.136898050295155e+01 1.131883658051165e+01 - 1.126890783457083e+01 1.121919328583311e+01 1.116969196974251e+01 1.112040291453270e+01 1.107132511138846e+01 - 1.102245760367597e+01 1.097379950683186e+01 1.092534984778681e+01 1.087710764406476e+01 1.082907196010627e+01 - 1.078124186863284e+01 1.073361642501848e+01 1.068619465441603e+01 1.063897567074718e+01 1.059195860734133e+01 - 1.054514250814830e+01 1.049852644360809e+01 1.045210951602862e+01 1.040589083229813e+01 1.035986946911022e+01 - 1.031404450080543e+01 1.026841510170119e+01 1.022298040707346e+01 1.017773949095798e+01 1.013269147478631e+01 - 1.008783549702620e+01 1.004317069189082e+01 9.998696157456914e+00 9.954411030186206e+00 9.910314523784715e+00 - 9.866405774945729e+00 9.822683900561229e+00 9.779148062474189e+00 9.735797433007823e+00 9.692631171490490e+00 - 9.649648402951970e+00 9.606848328743531e+00 9.564230182014787e+00 9.521793107635142e+00 9.479536270440141e+00 - 9.437458869806633e+00 9.395560106559989e+00 9.353839157926716e+00 9.312295192835592e+00 9.270927467731591e+00 - 9.229735216231479e+00 9.188717610212938e+00 9.147873860369382e+00 9.107203196336844e+00 9.066704846764596e+00 - 9.026378005702853e+00 8.986221892357717e+00 8.946235805206038e+00 8.906418978693665e+00 8.866770619316361e+00 - 8.827289975974383e+00 8.787976307390357e+00 8.748828863538764e+00 8.709846863139358e+00 8.671029583554503e+00 - 8.632376341244221e+00 8.593886376949055e+00 8.555558939921891e+00 8.517393311170933e+00 8.479388776756116e+00 - 8.441544603229096e+00 8.403860042243403e+00 8.366334424744339e+00 8.328967072292842e+00 8.291757243124138e+00 - 8.254704227472720e+00 8.217807335382002e+00 8.181065876905594e+00 8.144479133106664e+00 8.108046399433587e+00 - 8.071767047639053e+00 8.035640397926882e+00 7.999665736506032e+00 7.963842390434660e+00 7.928169696145141e+00 - 7.892646983285742e+00 7.857273552651162e+00 7.822048750599857e+00 7.786971968025827e+00 7.752042529333232e+00 - 7.717259758863888e+00 7.682623011133142e+00 7.648131647347260e+00 7.613785013617140e+00 7.579582436948184e+00 - 7.545523312250220e+00 7.511607037617057e+00 7.477832951167176e+00 7.444200413093294e+00 7.410708803334905e+00 - 7.377357505498556e+00 7.344145878673218e+00 7.311073286547245e+00 7.278139163173499e+00 7.245342906306997e+00 - 7.212683876663248e+00 7.180161467446147e+00 7.147775082852699e+00 7.115524124234772e+00 7.083407965702390e+00 - 7.051426016132217e+00 7.019577732801474e+00 6.987862512275252e+00 6.956279745475502e+00 6.924828855941318e+00 - 6.893509269882150e+00 6.862320401692200e+00 6.831261647888545e+00 6.800332460884749e+00 6.769532305211046e+00 - 6.738860589806862e+00 6.708316738463165e+00 6.677900193977888e+00 6.647610403615440e+00 6.617446795946176e+00 - 6.587408797932629e+00 6.557495898186097e+00 6.527707560796614e+00 6.498043211862364e+00 6.468502306113241e+00 - 6.439084309299234e+00 6.409788685242900e+00 6.380614873655190e+00 6.351562339061567e+00 6.322630595895343e+00 - 6.293819108127046e+00 6.265127326375664e+00 6.236554729526047e+00 6.208100805116588e+00 6.179765032202197e+00 - 6.151546864740690e+00 6.123445807150094e+00 6.095461385258917e+00 6.067593067877628e+00 6.039840335121551e+00 - 6.012202688508743e+00 5.984679633169969e+00 5.957270656961056e+00 5.929975240292937e+00 5.902792923627279e+00 - 5.875723232013562e+00 5.848765648702115e+00 5.821919682493143e+00 5.795184854142510e+00 5.768560683026402e+00 - 5.742046666390822e+00 5.715642318587924e+00 5.689347205919744e+00 5.663160851223163e+00 5.637082758311135e+00 - 5.611112458697719e+00 5.585249491519008e+00 5.559493390584049e+00 5.533843667789125e+00 5.508299872311603e+00 - 5.482861578646651e+00 5.457528314665947e+00 5.432299611523626e+00 5.407175018586152e+00 5.382154093094761e+00 - 5.357236378022760e+00 5.332421403106363e+00 5.307708752059064e+00 5.283098003376689e+00 5.258588694187007e+00 - 5.234180379291222e+00 5.209872626694981e+00 5.185665008050016e+00 5.161557074183171e+00 5.137548383980142e+00 - 5.113638545797982e+00 5.089827134282968e+00 5.066113702430728e+00 5.042497830741953e+00 5.018979105007048e+00 - 4.995557105455633e+00 4.972231392615168e+00 4.949001558388967e+00 4.925867224885915e+00 4.902827967986653e+00 - 4.879883363679411e+00 4.857033008673309e+00 4.834276503129009e+00 4.811613436797770e+00 4.789043387081744e+00 - 4.766565977795326e+00 4.744180833573695e+00 4.721887536130310e+00 4.699685684376157e+00 4.677574891583497e+00 - 4.655554772271826e+00 4.633624922898647e+00 4.611784942911348e+00 4.590034481232405e+00 4.568373160121153e+00 - 4.546800575450856e+00 4.525316347519302e+00 4.503920103923871e+00 4.482611469298424e+00 4.461390048788094e+00 - 4.440255471271009e+00 4.419207398665950e+00 4.398245451269402e+00 4.377369245425554e+00 4.356578419383048e+00 - 4.335872613273037e+00 4.315251459075552e+00 4.294714576337845e+00 4.274261622204341e+00 4.253892261314030e+00 - 4.233606119889290e+00 4.213402835603544e+00 4.193282059746365e+00 4.173243445650493e+00 4.153286631923412e+00 - 4.133411255497697e+00 4.113616998652003e+00 4.093903524786619e+00 4.074270469191258e+00 4.054717490515994e+00 - 4.035244253601178e+00 4.015850419023907e+00 3.996535633568783e+00 3.977299560905666e+00 3.958141896495164e+00 - 3.939062301025637e+00 3.920060427447142e+00 3.901135950094528e+00 3.882288544897898e+00 3.863517881118590e+00 - 3.844823615448907e+00 3.826205437051391e+00 3.807663047653544e+00 3.789196110563124e+00 3.770804297342049e+00 - 3.752487294212357e+00 3.734244789018890e+00 3.716076457976182e+00 3.697981972490954e+00 3.679961043694115e+00 - 3.662013372248035e+00 3.644138631063968e+00 3.626336509775109e+00 3.608606705542072e+00 3.590948914412318e+00 - 3.573362819793663e+00 3.555848115085657e+00 3.538404523614169e+00 3.521031745026515e+00 3.503729467883798e+00 - 3.486497394134707e+00 3.469335231734055e+00 3.452242686325544e+00 3.435219448952052e+00 3.418265234650198e+00 - 3.401379774604279e+00 3.384562769850576e+00 3.367813923930398e+00 3.351132951883403e+00 3.334519571031865e+00 - 3.317973491801103e+00 3.301494419647167e+00 3.285082090084510e+00 3.268736234671993e+00 3.252456560777042e+00 - 3.236242786971220e+00 3.220094639575606e+00 3.204011846234647e+00 3.187994121490988e+00 3.172041185626448e+00 - 3.156152791161071e+00 3.140328668842820e+00 3.124568535295174e+00 3.108872124034968e+00 3.093239171871656e+00 - 3.077669412161458e+00 3.062162565910707e+00 3.046718374098970e+00 3.031336596904380e+00 3.016016966139392e+00 - 3.000759212810465e+00 2.985563079528153e+00 2.970428312130104e+00 2.955354650145179e+00 2.940341825152254e+00 - 2.925389598488303e+00 2.910497731503551e+00 2.895665957526404e+00 2.880894022713473e+00 2.866181682137055e+00 - 2.851528688498591e+00 2.836934785005289e+00 2.822399718118186e+00 2.807923264019232e+00 2.793505182293368e+00 - 2.779145216423770e+00 2.764843124903896e+00 2.750598669795774e+00 2.736411610868753e+00 2.722281698431688e+00 - 2.708208697067331e+00 2.694192390113966e+00 2.680232535961204e+00 2.666328890540199e+00 2.652481222662398e+00 - 2.638689303226956e+00 2.624952898002155e+00 2.611271764144950e+00 2.597645683492627e+00 2.584074442444535e+00 - 2.570557801667266e+00 2.557095530257868e+00 2.543687406599445e+00 2.530333209423413e+00 2.517032707379746e+00 - 2.503785668122807e+00 2.490591889861845e+00 2.477451158950901e+00 2.464363243138197e+00 2.451327922049569e+00 - 2.438344980862380e+00 2.425414204994132e+00 2.412535368413293e+00 2.399708255484590e+00 2.386932671907132e+00 - 2.374208401602455e+00 2.361535223009603e+00 2.348912926727443e+00 2.336341305706971e+00 2.323820149408004e+00 - 2.311349238873846e+00 2.298928374328811e+00 2.286557363678248e+00 2.274235992966902e+00 2.261964052364815e+00 - 2.249741340335214e+00 2.237567658215990e+00 2.225442798573621e+00 2.213366549457367e+00 2.201338726388740e+00 - 2.189359138707274e+00 2.177427577694549e+00 2.165543843493499e+00 2.153707741170415e+00 2.141919076444355e+00 - 2.130177647034976e+00 2.118483256831743e+00 2.106835728234196e+00 2.095234867960482e+00 2.083680476325080e+00 - 2.072172364176171e+00 2.060710343839133e+00 2.049294224696878e+00 2.037923808395575e+00 2.026598913260298e+00 - 2.015319367985618e+00 2.004084979196668e+00 1.992895556108562e+00 1.981750916950703e+00 1.970650881000152e+00 - 1.959595261684839e+00 1.948583868145923e+00 1.937616532016987e+00 1.926693081878526e+00 1.915813328267264e+00 - 1.904977090405082e+00 1.894184192977273e+00 1.883434460875044e+00 1.872727710477953e+00 1.862063762090873e+00 - 1.851442457083682e+00 1.840863622251705e+00 1.830327074965862e+00 1.819832643502570e+00 1.809380158797907e+00 - 1.798969449793061e+00 1.788600336572885e+00 1.778272652771865e+00 1.767986244795942e+00 1.757740938619203e+00 - 1.747536560606076e+00 1.737372946411540e+00 1.727249932639099e+00 1.717167351154095e+00 1.707125028541288e+00 - 1.697122811212298e+00 1.687160545804055e+00 1.677238060829077e+00 1.667355192130723e+00 1.657511781312863e+00 - 1.647707669880958e+00 1.637942692337234e+00 1.628216684763444e+00 1.618529503053863e+00 1.608880992276723e+00 - 1.599270986915247e+00 1.589699330823691e+00 1.580165870897195e+00 1.570670452975510e+00 1.561212914561866e+00 - 1.551793103249197e+00 1.542410880472349e+00 1.533066090216831e+00 1.523758574579748e+00 1.514488184288800e+00 - 1.505254771462676e+00 1.496058184704016e+00 1.486898266759950e+00 1.477774877044576e+00 1.468687878023066e+00 - 1.459637114930725e+00 1.450622438289068e+00 1.441643704572125e+00 1.432700770639202e+00 1.423793487269355e+00 - 1.414921704769478e+00 1.406085292220042e+00 1.397284110913275e+00 1.388518010515092e+00 1.379786849127615e+00 - 1.371090488107240e+00 1.362428788219066e+00 1.353801602746353e+00 1.345208792137069e+00 1.336650231141558e+00 - 1.328125779708811e+00 1.319635294146069e+00 1.311178639017341e+00 1.302755680403749e+00 1.294366281732825e+00 - 1.286010300246468e+00 1.277687607130681e+00 1.269398079017509e+00 1.261141576506052e+00 1.252917963373013e+00 - 1.244727109229262e+00 1.236568884548108e+00 1.228443154841189e+00 1.220349783647821e+00 1.212288651549746e+00 - 1.204259634287000e+00 1.196262595500517e+00 1.188297406122070e+00 1.180363940507803e+00 1.172462072687314e+00 - 1.164591670206239e+00 1.156752605274376e+00 1.148944764287503e+00 1.141168021685895e+00 1.133422246839356e+00 - 1.125707316556084e+00 1.118023109341937e+00 1.110369501923575e+00 1.102746365022667e+00 1.095153580538906e+00 - 1.087591037394418e+00 1.080058609806265e+00 1.072556173728377e+00 1.065083611042832e+00 1.057640804167975e+00 - 1.050227631677888e+00 1.042843969448370e+00 1.035489708218281e+00 1.028164736497249e+00 1.020868930712798e+00 - 1.013602173363602e+00 1.006364350528145e+00 9.991553480860069e-01 9.919750464549014e-01 9.848233287198007e-01 - 9.777000916381701e-01 9.706052224312447e-01 9.635386022157533e-01 9.565001191688937e-01 9.494896630661879e-01 - 9.425071223228538e-01 9.355523797940184e-01 9.286253271866921e-01 9.217258644183214e-01 9.148538781303724e-01 - 9.080092551050607e-01 9.011918879859632e-01 8.944016703005543e-01 8.876384924746002e-01 8.809022413584221e-01 - 8.741928168976413e-01 8.675101190938330e-01 8.608540359442419e-01 8.542244603473701e-01 8.476212889430066e-01 - 8.410444181391276e-01 8.344937399710189e-01 8.279691476350027e-01 8.214705470141707e-01 8.149978368018493e-01 - 8.085509088588196e-01 8.021296614287111e-01 7.957339944800463e-01 7.893638070383275e-01 7.830189931350516e-01 - 7.766994532966268e-01 7.704050967403675e-01 7.641358215802615e-01 7.578915247022724e-01 7.516721083807270e-01 - 7.454774759379389e-01 7.393075284143857e-01 7.331621629407183e-01 7.270412875750237e-01 7.209448123528730e-01 - 7.148726361079928e-01 7.088246610576617e-01 7.028007931997213e-01 6.968009387204053e-01 6.908250000358214e-01 - 6.848728793751606e-01 6.789444908271167e-01 6.730397435251165e-01 6.671585392499849e-01 6.613007849024644e-01 - 6.554663896318030e-01 6.496552624588109e-01 6.438673070778183e-01 6.381024319556428e-01 6.323605552121262e-01 - 6.266415850605696e-01 6.209454272475601e-01 6.152719929073242e-01 6.096211942955035e-01 6.039929419697414e-01 - 5.983871423673978e-01 5.928037109278776e-01 5.872425665727200e-01 5.817036179262789e-01 5.761867757580472e-01 - 5.706919545755328e-01 5.652190691753797e-01 5.597680312855905e-01 5.543387515608681e-01 5.489311514266204e-01 - 5.435451491959484e-01 5.381806555529779e-01 5.328375858091706e-01 5.275158573424954e-01 5.222153871968650e-01 - 5.169360885007255e-01 5.116778775087658e-01 5.064406794925096e-01 5.012244118255510e-01 4.960289886382637e-01 - 4.908543290552675e-01 4.857003532629381e-01 4.805669801867241e-01 4.754541247133137e-01 4.703617092625736e-01 - 4.652896609026711e-01 4.602378967146020e-01 4.552063350475851e-01 4.501948983226124e-01 4.452035092771810e-01 - 4.402320879227842e-01 4.352805523654864e-01 4.303488309750054e-01 4.254368504386150e-01 4.205445290166767e-01 - 4.156717895856258e-01 4.108185573527897e-01 4.059847567861119e-01 4.011703090912549e-01 3.963751374739253e-01 - 3.915991740467544e-01 3.868423443729578e-01 3.821045699452743e-01 3.773857771630841e-01 3.726858934536713e-01 - 3.680048452743795e-01 3.633425553945757e-01 3.586989523890614e-01 3.540739701811214e-01 3.494675340422360e-01 - 3.448795694018267e-01 3.403100055229290e-01 3.357587720701978e-01 3.312257966625470e-01 3.267110046986084e-01 - 3.222143302305144e-01 3.177357072575733e-01 3.132750617821559e-01 3.088323230437107e-01 3.044074228278458e-01 - 3.000002929514869e-01 2.956108619814004e-01 2.912390591663653e-01 2.868848226223222e-01 2.825480855369588e-01 - 2.782287763584979e-01 2.739268276304007e-01 2.696421732978619e-01 2.653747469077652e-01 2.611244782932083e-01 - 2.568913016367161e-01 2.526751570146955e-01 2.484759769388697e-01 2.442936932048949e-01 2.401282413902519e-01 - 2.359795575701045e-01 2.318475761710866e-01 2.277322290127450e-01 2.236334554284879e-01 2.195511960314929e-01 - 2.154853836729677e-01 2.114359536211432e-01 2.074028437636633e-01 2.033859920182897e-01 1.993853337119912e-01 - 1.954008040589642e-01 1.914323463143237e-01 1.874799002688242e-01 1.835434007181165e-01 1.796227861758036e-01 - 1.757179964922509e-01 1.718289711649378e-01 1.679556465242757e-01 1.640979620393169e-01 1.602558632656972e-01 - 1.564292893436780e-01 1.526181778855338e-01 1.488224700413446e-01 1.450421075715582e-01 1.412770310767497e-01 - 1.375271785489454e-01 1.337924939887067e-01 1.300729236356154e-01 1.263684067750867e-01 1.226788841702678e-01 - 1.190042991249222e-01 1.153445951805052e-01 1.116997137432381e-01 1.080695954417651e-01 1.044541881911586e-01 - 1.008534377603918e-01 9.726728475975084e-02 9.369567294988820e-02 9.013854752144720e-02 8.659585347215112e-02 - 8.306753302147955e-02 7.955353046975124e-02 7.605379621791922e-02 7.256827534889604e-02 6.909691079142652e-02 - 6.563964883225221e-02 6.219643640409570e-02 5.876721959493493e-02 5.535194193553600e-02 5.195055179453398e-02 - 4.856300050562060e-02 4.518923308325209e-02 4.182919528191363e-02 3.848283536820589e-02 3.515010193539807e-02 - 3.183094185890936e-02 2.852530077920949e-02 2.523313079087341e-02 2.195438300307553e-02 1.868900335629075e-02 - 1.543694036357313e-02 1.219814405293583e-02 8.972564385828061e-03 5.760148923624660e-03 2.560846417529306e-03 - -6.253884489496408e-04 -3.798605206001689e-03 -6.958856024607482e-03 -1.010619000899848e-02 -1.324065554473652e-02 - -1.636230159824732e-02 -1.947117958312726e-02 -2.256733711284757e-02 -2.565081832749929e-02 -2.872167302619957e-02 - -3.177995089902724e-02 -3.482569914268617e-02 -3.785896464500105e-02 -4.087979562235380e-02 -4.388824175488684e-02 - -4.688434717766576e-02 -4.986815604286890e-02 -5.283971753775529e-02 -5.579907881824794e-02 -5.874628546589089e-02 - -6.168138307363240e-02 -6.460441923558070e-02 -6.751544105442296e-02 -7.041449003639784e-02 -7.330161087707579e-02 - -7.617685125406765e-02 -7.904025608548425e-02 -8.189186951723537e-02 -8.473173608907363e-02 -8.755990257827875e-02 - -9.037641289395969e-02 -9.318130717201861e-02 -9.597463047763352e-02 -9.875642835115833e-02 -1.015267439140877e-01 - -1.042856199263307e-01 -1.070331001684683e-01 -1.097692300567918e-01 -1.124940502948268e-01 -1.152076007898061e-01 - -1.179099262631479e-01 -1.206010699593113e-01 -1.232810735016665e-01 -1.259499784255051e-01 -1.286078279418341e-01 - -1.312546653333709e-01 -1.338905286984875e-01 -1.365154583874092e-01 -1.391294979538990e-01 -1.417326885345280e-01 - -1.443250704192513e-01 -1.469066841433861e-01 -1.494775722507627e-01 -1.520377752494497e-01 -1.545873297590701e-01 - -1.571262765202916e-01 -1.596546572452540e-01 -1.621725113907878e-01 -1.646798779801165e-01 -1.671767967821347e-01 - -1.696633092874520e-01 -1.721394530811854e-01 -1.746052643091513e-01 -1.770607836101869e-01 -1.795060506428017e-01 - -1.819411034225526e-01 -1.843659798390828e-01 -1.867807191554161e-01 -1.891853611111403e-01 -1.915799407499077e-01 - -1.939644945120454e-01 -1.963390621459183e-01 -1.987036813730624e-01 -2.010583889984393e-01 -2.034032219467188e-01 - -2.057382189127211e-01 -2.080634172465200e-01 -2.103788504106409e-01 -2.126845552585028e-01 -2.149805700057577e-01 - -2.172669307458855e-01 -2.195436731393316e-01 -2.218108333786645e-01 -2.240684493062661e-01 -2.263165556286022e-01 - -2.285551851690127e-01 -2.307843748874083e-01 -2.330041611277884e-01 -2.352145785311434e-01 -2.374156618282909e-01 - -2.396074467707450e-01 -2.417899696732801e-01 -2.439632627554057e-01 -2.461273590292558e-01 -2.482822949571798e-01 - -2.504281050002428e-01 -2.525648226666662e-01 -2.546924818382261e-01 -2.568111176810049e-01 -2.589207645010757e-01 - -2.610214530059819e-01 -2.631132165202481e-01 -2.651960899948890e-01 -2.672701065219724e-01 -2.693352987894519e-01 - -2.713916998229662e-01 -2.734393439668777e-01 -2.754782632038173e-01 -2.775084874639143e-01 -2.795300503441993e-01 - -2.815429852855671e-01 -2.835473240274155e-01 -2.855430981234691e-01 -2.875303400246380e-01 -2.895090831627840e-01 - -2.914793573631382e-01 -2.934411924374482e-01 -2.953946213942734e-01 -2.973396760049649e-01 -2.992763870705049e-01 - -3.012047853752455e-01 -3.031249029054077e-01 -3.050367713048046e-01 -3.069404187491607e-01 -3.088358754333808e-01 - -3.107231733999588e-01 -3.126023429151826e-01 -3.144734138246973e-01 -3.163364162512183e-01 -3.181913814969073e-01 - -3.200383391593082e-01 -3.218773166629695e-01 -3.237083442965246e-01 -3.255314526206347e-01 -3.273466708133588e-01 - -3.291540279174764e-01 -3.309535535062730e-01 -3.327452779044484e-01 -3.345292286746930e-01 -3.363054329977739e-01 - -3.380739209920870e-01 -3.398347217688169e-01 -3.415878634526212e-01 -3.433333743100879e-01 -3.450712833788954e-01 - -3.468016195958206e-01 -3.485244091566739e-01 -3.502396793974815e-01 -3.519474593420066e-01 -3.536477770380763e-01 - -3.553406598299846e-01 -3.570261348354672e-01 -3.587042307855341e-01 -3.603749751839582e-01 -3.620383929731605e-01 - -3.636945116923384e-01 -3.653433594409278e-01 -3.669849628231984e-01 -3.686193482790397e-01 -3.702465427747400e-01 - -3.718665743211436e-01 -3.734794684043725e-01 -3.750852495624684e-01 -3.766839451194457e-01 -3.782755819189342e-01 - -3.798601858648072e-01 -3.814377826321034e-01 -3.830083986549013e-01 -3.845720606417443e-01 -3.861287926090124e-01 - -3.876786193539286e-01 -3.892215675502101e-01 -3.907576628594260e-01 -3.922869303026715e-01 -3.938093947284727e-01 - -3.953250822556230e-01 -3.968340182497304e-01 -3.983362256494206e-01 -3.998317293097848e-01 -4.013205549386248e-01 - -4.028027272117153e-01 -4.042782703087232e-01 -4.057472086115670e-01 -4.072095677082399e-01 -4.086653712889545e-01 - -4.101146418277140e-01 -4.115574040934622e-01 -4.129936826934361e-01 -4.144235014035024e-01 -4.158468836578273e-01 - -4.172638535617268e-01 -4.186744357650895e-01 -4.200786523524958e-01 -4.214765258006608e-01 -4.228680805923657e-01 - -4.242533401481378e-01 -4.256323273241845e-01 -4.270050650780072e-01 -4.283715771591216e-01 -4.297318868367957e-01 - -4.310860152683936e-01 -4.324339850671611e-01 -4.337758197699306e-01 -4.351115419219263e-01 -4.364411736856622e-01 - -4.377647373653272e-01 -4.390822563519974e-01 -4.403937525793140e-01 -4.416992465950099e-01 -4.429987609092939e-01 - -4.442923180804305e-01 -4.455799398898891e-01 -4.468616477876415e-01 -4.481374637930542e-01 -4.494074106490894e-01 - -4.506715085877422e-01 -4.519297779021105e-01 -4.531822412097039e-01 -4.544289201442401e-01 -4.556698355752103e-01 - -4.569050083194456e-01 -4.581344599890250e-01 -4.593582121055255e-01 -4.605762842891920e-01 -4.617886970897419e-01 - -4.629954719556403e-01 -4.641966295426422e-01 -4.653921902577345e-01 -4.665821746143150e-01 -4.677666038635413e-01 - -4.689454981292748e-01 -4.701188761476531e-01 -4.712867586709557e-01 -4.724491664926360e-01 -4.736061192593240e-01 - -4.747576368456714e-01 -4.759037394682022e-01 -4.770444475543998e-01 -4.781797800875144e-01 -4.793097558338887e-01 - -4.804343950164401e-01 -4.815537175042383e-01 -4.826677426390972e-01 -4.837764894228364e-01 -4.848799775883490e-01 - -4.859782270303963e-01 -4.870712557287352e-01 -4.881590823344398e-01 -4.892417265305033e-01 -4.903192072931410e-01 - -4.913915433426016e-01 -4.924587534540600e-01 -4.935208569593936e-01 -4.945778724869024e-01 -4.956298174121960e-01 - -4.966767104426105e-01 -4.977185705977166e-01 -4.987554161795947e-01 -4.997872652579317e-01 -5.008141361357437e-01 - -5.018360477540788e-01 -5.028530175622089e-01 -5.038650625463708e-01 -5.048722015765362e-01 -5.058744527800632e-01 - -5.068718334710337e-01 -5.078643614554021e-01 -5.088520548881869e-01 -5.098349318298798e-01 -5.108130088001350e-01 - -5.117863028619736e-01 -5.127548322161382e-01 -5.137186142245088e-01 -5.146776659499980e-01 -5.156320045833772e-01 - -5.165816478015819e-01 -5.175266128170244e-01 -5.184669156304091e-01 -5.194025733016244e-01 -5.203336032597101e-01 - -5.212600221732120e-01 -5.221818466804444e-01 -5.230990936596679e-01 -5.240117804553392e-01 -5.249199232262068e-01 - -5.258235374392936e-01 -5.267226400387954e-01 -5.276172478389746e-01 -5.285073771019844e-01 -5.293930438910602e-01 - -5.302742646986305e-01 -5.311510563423283e-01 -5.320234339437281e-01 -5.328914129379527e-01 -5.337550101355577e-01 - -5.346142414983102e-01 -5.354691226448078e-01 -5.363196694209366e-01 -5.371658979374595e-01 -5.380078240078261e-01 - -5.388454624615836e-01 -5.396788287704753e-01 -5.405079388378121e-01 -5.413328081929075e-01 -5.421534521210617e-01 - -5.429698859177164e-01 -5.437821254261226e-01 -5.445901856060492e-01 -5.453940806517681e-01 -5.461938261275164e-01 - -5.469894375147514e-01 -5.477809296410460e-01 -5.485683172596564e-01 -5.493516154047422e-01 -5.501308394233321e-01 - -5.509060035978606e-01 -5.516771220917993e-01 -5.524442098036262e-01 -5.532072816062331e-01 -5.539663521228516e-01 - -5.547214355736525e-01 -5.554725467511782e-01 -5.562197004144761e-01 -5.569629099559865e-01 -5.577021895124128e-01 - -5.584375539231472e-01 -5.591690174427206e-01 -5.598965939391384e-01 -5.606202972403660e-01 -5.613401421520022e-01 - -5.620561426054913e-01 -5.627683113219669e-01 -5.634766626491997e-01 -5.641812109417922e-01 -5.648819696019924e-01 - -5.655789522526887e-01 -5.662721727674018e-01 -5.669616451334641e-01 -5.676473824290281e-01 -5.683293976251365e-01 - -5.690077046537543e-01 -5.696823171027902e-01 -5.703532481968968e-01 -5.710205111045815e-01 -5.716841193018837e-01 - -5.723440862989044e-01 -5.730004247377283e-01 -5.736531475408438e-01 -5.743022680808630e-01 -5.749477994635019e-01 - -5.755897545119250e-01 -5.762281459317424e-01 -5.768629872133108e-01 -5.774942912813225e-01 -5.781220698864685e-01 - -5.787463360372200e-01 -5.793671029370097e-01 -5.799843829591812e-01 -5.805981885004621e-01 -5.812085322229668e-01 - -5.818154271777390e-01 -5.824188854500640e-01 -5.830189187855023e-01 -5.836155400127914e-01 -5.842087616519486e-01 - -5.847985957903102e-01 -5.853850545399070e-01 -5.859681502822114e-01 -5.865478954643482e-01 -5.871243015837295e-01 - -5.876973804424807e-01 -5.882671445115567e-01 -5.888336058093040e-01 -5.893967761301214e-01 -5.899566672475657e-01 - -5.905132912554449e-01 -5.910666600004119e-01 -5.916167846344484e-01 -5.921636769312483e-01 -5.927073488739303e-01 - -5.932478119884005e-01 -5.937850777230974e-01 -5.943191576345895e-01 -5.948500635775013e-01 -5.953778067525587e-01 - -5.959023980172641e-01 -5.964238491804477e-01 -5.969421717317064e-01 -5.974573766302176e-01 -5.979694750153504e-01 - -5.984784782975928e-01 -5.989843980133127e-01 -5.994872448737363e-01 -5.999870296226286e-01 -6.004837635008013e-01 - -6.009774575116591e-01 -6.014681225640990e-01 -6.019557696406324e-01 -6.024404098188824e-01 -6.029220539582525e-01 - -6.034007123251734e-01 -6.038763957092128e-01 -6.043491151546724e-01 -6.048188811990667e-01 -6.052857043294740e-01 - -6.057495951725935e-01 -6.062105647034982e-01 -6.066686232996821e-01 -6.071237808282512e-01 -6.075760480581535e-01 - -6.080254356249652e-01 -6.084719536597242e-01 -6.089156123708600e-01 -6.093564221655233e-01 -6.097943936088406e-01 - -6.102295366277345e-01 -6.106618611466814e-01 -6.110913776082281e-01 -6.115180960018122e-01 -6.119420262061138e-01 - -6.123631785057825e-01 -6.127815629923925e-01 -6.131971895415724e-01 -6.136100679122567e-01 -6.140202079254689e-01 - -6.144276194632986e-01 -6.148323123693087e-01 -6.152342964516117e-01 -6.156335814880438e-01 -6.160301772367670e-01 - -6.164240932773791e-01 -6.168153390131846e-01 -6.172039241057757e-01 -6.175898582479540e-01 -6.179731510100582e-01 - -6.183538118537011e-01 -6.187318502245757e-01 -6.191072755983122e-01 -6.194800972241303e-01 -6.198503243163954e-01 - -6.202179663089392e-01 -6.205830326036273e-01 -6.209455324825972e-01 -6.213054750121583e-01 -6.216628693834372e-01 - -6.220177248671027e-01 -6.223700505100402e-01 -6.227198553511943e-01 -6.230671484590707e-01 -6.234119388224310e-01 - -6.237542354039819e-01 -6.240940471906395e-01 -6.244313833278470e-01 -6.247662526956897e-01 -6.250986637315333e-01 - -6.254286253149073e-01 -6.257561464374979e-01 -6.260812358699522e-01 -6.264039022632663e-01 -6.267241542804416e-01 - -6.270420007239386e-01 -6.273574502418447e-01 -6.276705113436000e-01 -6.279811924920996e-01 -6.282895022600340e-01 - -6.285954492669960e-01 -6.288990419377586e-01 -6.292002887596219e-01 -6.294991982474318e-01 -6.297957785295903e-01 - -6.300900379535952e-01 -6.303819851813233e-01 -6.306716282540937e-01 -6.309589752809680e-01 -6.312440348023121e-01 - -6.315268150763020e-01 -6.318073241903770e-01 -6.320855701836068e-01 -6.323615610879741e-01 -6.326353050044859e-01 - -6.329068101802829e-01 -6.331760846635813e-01 -6.334431363818833e-01 -6.337079733473078e-01 -6.339706034520735e-01 - -6.342310345121693e-01 -6.344892744839461e-01 -6.347453312805855e-01 -6.349992127114430e-01 -6.352509264768633e-01 - -6.355004804526597e-01 -6.357478826585540e-01 -6.359931404400122e-01 -6.362362612918424e-01 -6.364772532644518e-01 - -6.367161239398067e-01 -6.369528807876881e-01 -6.371875315012039e-01 -6.374200836672138e-01 -6.376505447719858e-01 - -6.378789222449943e-01 -6.381052236017390e-01 -6.383294563385360e-01 -6.385516277126226e-01 -6.387717451483415e-01 - -6.389898161925324e-01 -6.392058481779943e-01 -6.394198483013303e-01 -6.396318237129481e-01 -6.398417817583982e-01 - -6.400497298004382e-01 -6.402556751053731e-01 -6.404596246811356e-01 -6.406615856182318e-01 -6.408615652398488e-01 - -6.410595705960431e-01 -6.412556087124355e-01 -6.414496867908267e-01 -6.416418117430738e-01 -6.418319904244396e-01 - -6.420202299552208e-01 -6.422065373268501e-01 -6.423909194238488e-01 -6.425733831564441e-01 -6.427539354568388e-01 - -6.429325832107947e-01 -6.431093330874931e-01 -6.432841919278923e-01 -6.434571667152847e-01 -6.436282640341581e-01 - -6.437974905134223e-01 -6.439648529819666e-01 -6.441303582355420e-01 -6.442940129046214e-01 -6.444558234243410e-01 - -6.446157964842297e-01 -6.447739387669796e-01 -6.449302567289288e-01 -6.450847570451982e-01 -6.452374463418470e-01 - -6.453883308317777e-01 -6.455374170518916e-01 -6.456847116523639e-01 -6.458302208459006e-01 -6.459739509825424e-01 - -6.461159085765001e-01 -6.462561000624228e-01 -6.463945317857885e-01 -6.465312099893501e-01 -6.466661407794220e-01 - -6.467993305071421e-01 -6.469307857586633e-01 -6.470605124176557e-01 -6.471885165505020e-01 -6.473148048129491e-01 - -6.474393831451855e-01 -6.475622574433044e-01 -6.476834341411803e-01 -6.478029193005811e-01 -6.479207188186653e-01 - -6.480368387749067e-01 -6.481512852365653e-01 -6.482640642356557e-01 -6.483751817763184e-01 -6.484846438333333e-01 - -6.485924563559199e-01 -6.486986252696630e-01 -6.488031563964390e-01 -6.489060555062011e-01 -6.490073285956434e-01 - -6.491069816182633e-01 -6.492050203757027e-01 -6.493014505946639e-01 -6.493962779796888e-01 -6.494895082497514e-01 - -6.495811472172135e-01 -6.496712006463234e-01 -6.497596741452655e-01 -6.498465734697708e-01 -6.499319043537729e-01 - -6.500156722751166e-01 -6.500978828758883e-01 -6.501785418212779e-01 -6.502576544563589e-01 -6.503352264336196e-01 - -6.504112635780723e-01 -6.504857712206107e-01 -6.505587548117625e-01 -6.506302199692129e-01 -6.507001719669850e-01 - -6.507686161481057e-01 -6.508355580770583e-01 -6.509010033515999e-01 -6.509649573333303e-01 -6.510274250599254e-01 - -6.510884119408136e-01 -6.511479234691252e-01 -6.512059649357221e-01 -6.512625414820176e-01 -6.513176583196066e-01 - -6.513713209657690e-01 -6.514235346566493e-01 -6.514743044494572e-01 -6.515236355351222e-01 -6.515715331668240e-01 - -6.516180025498758e-01 -6.516630486086969e-01 -6.517066764698182e-01 -6.517488914696901e-01 -6.517896986474616e-01 - -6.518291029696229e-01 -6.518671094474887e-01 -6.519037232298822e-01 -6.519389493677847e-01 -6.519727927034696e-01 - -6.520052582102593e-01 -6.520363509344871e-01 -6.520660759114448e-01 -6.520944379877177e-01 -6.521214419863292e-01 - -6.521470929034477e-01 -6.521713955379932e-01 -6.521943546611896e-01 -6.522159753870301e-01 -6.522362625000242e-01 - -6.522552205660485e-01 -6.522728545508729e-01 -6.522891692872490e-01 -6.523041693781095e-01 -6.523178594474156e-01 - -6.523302443147758e-01 -6.523413289626511e-01 -6.523511179648659e-01 -6.523596158248584e-01 -6.523668271884714e-01 - -6.523727568212391e-01 -6.523774093997819e-01 -6.523807893579161e-01 -6.523829012952149e-01 -6.523837498990516e-01 - -6.523833397960367e-01 -6.523816754611410e-01 -6.523787613199525e-01 -6.523746019358498e-01 -6.523692018302728e-01 - -6.523625654555820e-01 -6.523546972248629e-01 -6.523456017173497e-01 -6.523352835702680e-01 -6.523237468711672e-01 - -6.523109959032295e-01 -6.522970353197415e-01 -6.522818693382445e-01 -6.522655022842732e-01 -6.522479388337681e-01 - -6.522291831409690e-01 -6.522092393163972e-01 -6.521881118419591e-01 -6.521658050464721e-01 -6.521423231008568e-01 - -6.521176700882644e-01 -6.520918504277817e-01 -6.520648685798258e-01 -6.520367284462982e-01 -6.520074341903623e-01 - -6.519769901852531e-01 -6.519454004576026e-01 -6.519126690272374e-01 -6.518788000417296e-01 -6.518437978790763e-01 - -6.518076667685843e-01 -6.517704106505043e-01 -6.517320333460206e-01 -6.516925389358605e-01 -6.516519318553129e-01 - -6.516102158220000e-01 -6.515673946405215e-01 -6.515234728464969e-01 -6.514784543315630e-01 -6.514323427842886e-01 - -6.513851423523833e-01 -6.513368570527661e-01 -6.512874907235414e-01 -6.512370470939771e-01 -6.511855301990920e-01 - -6.511329442190841e-01 -6.510792928715797e-01 -6.510245798816351e-01 -6.509688091361985e-01 -6.509119847142907e-01 - -6.508541103488035e-01 -6.507951894034477e-01 -6.507352259931611e-01 -6.506742241942834e-01 -6.506121876059120e-01 - -6.505491199228429e-01 -6.504850249436106e-01 -6.504199065016956e-01 -6.503537680222150e-01 -6.502866130342899e-01 - -6.502184457971011e-01 -6.501492700279957e-01 -6.500790890906794e-01 -6.500079066129352e-01 -6.499357263329657e-01 - -6.498625519683058e-01 -6.497883869826074e-01 -6.497132350047277e-01 -6.496370998048885e-01 -6.495599847614121e-01 - -6.494818934475555e-01 -6.494028297363450e-01 -6.493227969968260e-01 -6.492417985197620e-01 -6.491598378013752e-01 - -6.490769185970405e-01 -6.489930446200032e-01 -6.489082192796405e-01 -6.488224457999440e-01 -6.487357275334984e-01 - -6.486480682838258e-01 -6.485594713376021e-01 -6.484699398068251e-01 -6.483794774339799e-01 -6.482880877536140e-01 - -6.481957740532812e-01 -6.481025397024727e-01 -6.480083880017639e-01 -6.479133221889776e-01 -6.478173456351086e-01 - -6.477204618036257e-01 -6.476226741599570e-01 -6.475239858039916e-01 -6.474243999826228e-01 -6.473239202990485e-01 - -6.472225498463482e-01 -6.471202916312221e-01 -6.470171489638400e-01 -6.469131252405815e-01 -6.468082238277443e-01 - -6.467024479420175e-01 -6.465958006550642e-01 -6.464882850509053e-01 -6.463799044773618e-01 -6.462706620382276e-01 - -6.461605607272912e-01 -6.460496040101232e-01 -6.459377950690467e-01 -6.458251367734501e-01 -6.457116323868038e-01 - -6.455972850655802e-01 -6.454820977029684e-01 -6.453660732942879e-01 -6.452492150754419e-01 -6.451315264887545e-01 - -6.450130102914885e-01 -6.448936692680686e-01 -6.447735068128447e-01 -6.446525260129213e-01 -6.445307296530088e-01 - -6.444081203587793e-01 -6.442847014715996e-01 -6.441604765089356e-01 -6.440354480546840e-01 -6.439096188724848e-01 - -6.437829920095609e-01 -6.436555704731397e-01 -6.435273570693492e-01 -6.433983545533010e-01 -6.432685663163126e-01 - -6.431379953365300e-01 -6.430066439769492e-01 -6.428745153347271e-01 -6.427416124750638e-01 -6.426079380140648e-01 - -6.424734947555180e-01 -6.423382856273998e-01 -6.422023135830728e-01 -6.420655814260000e-01 -6.419280919255173e-01 - -6.417898479598759e-01 -6.416508523135933e-01 -6.415111076305331e-01 -6.413706163966455e-01 -6.412293816393564e-01 - -6.410874066048897e-01 -6.409446936267265e-01 -6.408012453136449e-01 -6.406570646910840e-01 -6.405121544270317e-01 - -6.403665170374713e-01 -6.402201550644944e-01 -6.400730715072882e-01 -6.399252691822962e-01 -6.397767504407681e-01 - -6.396275180930010e-01 -6.394775749890055e-01 -6.393269236107165e-01 -6.391755662191552e-01 -6.390235053902433e-01 - -6.388707445708105e-01 -6.387172861694177e-01 -6.385631322023312e-01 -6.384082857966726e-01 -6.382527494896121e-01 - -6.380965253642142e-01 -6.379396162401521e-01 -6.377820248167250e-01 -6.376237535602883e-01 -6.374648052204416e-01 - -6.373051823107587e-01 -6.371448870124290e-01 -6.369839218821269e-01 -6.368222895078627e-01 -6.366599923302766e-01 - -6.364970329561520e-01 -6.363334139746031e-01 -6.361691377885151e-01 -6.360042067688202e-01 -6.358386233547334e-01 - -6.356723901317635e-01 -6.355055093799952e-01 -6.353379833438523e-01 -6.351698147827204e-01 -6.350010061497325e-01 - -6.348315596278746e-01 -6.346614776297652e-01 -6.344907627044540e-01 -6.343194173354602e-01 -6.341474433478579e-01 - -6.339748431233465e-01 -6.338016197812808e-01 -6.336277753787244e-01 -6.334533118997744e-01 -6.332782318265875e-01 - -6.331025376588558e-01 -6.329262316544187e-01 -6.327493157114107e-01 -6.325717923863455e-01 -6.323936643403999e-01 - -6.322149336030685e-01 -6.320356024195775e-01 -6.318556731749607e-01 -6.316751480498738e-01 -6.314940290711796e-01 - -6.313123183267710e-01 -6.311300184615836e-01 -6.309471319109403e-01 -6.307636607640942e-01 -6.305796070902886e-01 - -6.303949730482692e-01 -6.302097608691579e-01 -6.300239725606558e-01 -6.298376103756032e-01 -6.296506769748604e-01 - -6.294631743864889e-01 -6.292751044804592e-01 -6.290864694027335e-01 -6.288972714311484e-01 -6.287075127245377e-01 - -6.285171950849623e-01 -6.283263208775478e-01 -6.281348926187029e-01 -6.279429120773061e-01 -6.277503812180564e-01 - -6.275573022752827e-01 -6.273636774541002e-01 -6.271695087389834e-01 -6.269747979757735e-01 -6.267795473573458e-01 - -6.265837591630624e-01 -6.263874355834504e-01 -6.261905784094625e-01 -6.259931895045528e-01 -6.257952710369122e-01 - -6.255968250363517e-01 -6.253978534898084e-01 -6.251983584520242e-01 -6.249983420853732e-01 -6.247978064572296e-01 - -6.245967533125147e-01 -6.243951846742302e-01 -6.241931026018996e-01 -6.239905086686763e-01 -6.237874050561640e-01 - -6.235837942608177e-01 -6.233796778475696e-01 -6.231750576026635e-01 -6.229699356978790e-01 -6.227643140512986e-01 - -6.225581944126894e-01 -6.223515785171654e-01 -6.221444686516174e-01 -6.219368669106876e-01 -6.217287748516653e-01 - -6.215201944179222e-01 -6.213111276341791e-01 -6.211015763012264e-01 -6.208915420627059e-01 -6.206810267189914e-01 - -6.204700325606027e-01 -6.202585614407183e-01 -6.200466150025669e-01 -6.198341952555039e-01 -6.196213039807257e-01 - -6.194079427661365e-01 -6.191941133919308e-01 -6.189798178811384e-01 -6.187650583625046e-01 -6.185498365366234e-01 - -6.183341539791172e-01 -6.181180123373080e-01 -6.179014136693182e-01 -6.176843597571294e-01 -6.174668518753883e-01 - -6.172488922358068e-01 -6.170304830078728e-01 -6.168116255085183e-01 -6.165923213940302e-01 -6.163725725542526e-01 - -6.161523808379610e-01 -6.159317477445455e-01 -6.157106747923912e-01 -6.154891641891720e-01 -6.152672177134336e-01 - -6.150448367622374e-01 -6.148220230127394e-01 -6.145987783325538e-01 -6.143751045698781e-01 -6.141510029326600e-01 - -6.139264750393221e-01 -6.137015231470567e-01 -6.134761489851926e-01 -6.132503540152313e-01 -6.130241396532106e-01 - -6.127975076851865e-01 -6.125704598048077e-01 -6.123429972989166e-01 -6.121151221351967e-01 -6.118868363314907e-01 - -6.116581411278224e-01 -6.114290380220153e-01 -6.111995287783158e-01 -6.109696151823703e-01 -6.107392985450728e-01 - -6.105085801024925e-01 -6.102774622058419e-01 -6.100459465922933e-01 -6.098140342484372e-01 -6.095817267256873e-01 - -6.093490257933440e-01 -6.091159331809802e-01 -6.088824500709522e-01 -6.086485779905337e-01 -6.084143191489354e-01 - -6.081796748129595e-01 -6.079446461968719e-01 -6.077092351925356e-01 -6.074734432434898e-01 -6.072372716150822e-01 - -6.070007218360295e-01 -6.067637956065657e-01 -6.065264946232775e-01 -6.062888203126375e-01 -6.060507740692458e-01 - -6.058123573561740e-01 -6.055735718185850e-01 -6.053344188005130e-01 -6.050948994718379e-01 -6.048550157592759e-01 - -6.046147693250087e-01 -6.043741612917217e-01 -6.041331930896253e-01 -6.038918662688606e-01 -6.036501823335466e-01 - -6.034081424814672e-01 -6.031657481058161e-01 -6.029230011393863e-01 -6.026799028730719e-01 -6.024364544399844e-01 - -6.021926574869638e-01 -6.019485136055120e-01 -6.017040241022006e-01 -6.014591897708976e-01 -6.012140122415236e-01 - -6.009684936432825e-01 -6.007226351565053e-01 -6.004764378633045e-01 -6.002299030368295e-01 -5.999830322604393e-01 - -5.997358269112610e-01 -5.994882881008079e-01 -5.992404174674395e-01 -5.989922165630734e-01 -5.987436865327392e-01 - -5.984948286273432e-01 -5.982456442781595e-01 -5.979961350600861e-01 -5.977463018616249e-01 -5.974961457245347e-01 - -5.972456688462123e-01 -5.969948725706038e-01 -5.967437577688297e-01 -5.964923259025159e-01 -5.962405782771161e-01 - -5.959885160038786e-01 -5.957361402849749e-01 -5.954834525607696e-01 -5.952304544228757e-01 -5.949771471628894e-01 - -5.947235319540697e-01 -5.944696099654433e-01 -5.942153825546195e-01 -5.939608509107162e-01 -5.937060159741117e-01 - -5.934508794411635e-01 -5.931954428951332e-01 -5.929397071302310e-01 -5.926836734445704e-01 -5.924273432987167e-01 - -5.921707177793331e-01 -5.919137978828047e-01 -5.916565847753502e-01 -5.913990801532651e-01 -5.911412853604616e-01 - -5.908832013941032e-01 -5.906248293335863e-01 -5.903661704565201e-01 -5.901072261246485e-01 -5.898479972855557e-01 - -5.895884850905705e-01 -5.893286910470348e-01 -5.890686164387193e-01 -5.888082623596927e-01 -5.885476297953414e-01 - -5.882867200485414e-01 -5.880255342895034e-01 -5.877640732646211e-01 -5.875023385228563e-01 -5.872403317009627e-01 - -5.869780535979796e-01 -5.867155052441069e-01 -5.864526878805291e-01 -5.861896026754034e-01 -5.859262506932092e-01 - -5.856626329801135e-01 -5.853987507817091e-01 -5.851346053972879e-01 -5.848701980701103e-01 -5.846055297559873e-01 - -5.843406014627009e-01 -5.840754143260567e-01 -5.838099692919883e-01 -5.835442675863415e-01 -5.832783108438364e-01 - -5.830120998737411e-01 -5.827456354637697e-01 -5.824789190313094e-01 -5.822119517157962e-01 -5.819447343999242e-01 - -5.816772678604962e-01 -5.814095534384316e-01 -5.811415926659900e-01 -5.808733865100626e-01 -5.806049358083534e-01 - -5.803362414940428e-01 -5.800673049021045e-01 -5.797981269727348e-01 -5.795287083747186e-01 -5.792590507223763e-01 - -5.789891553127540e-01 -5.787190227795775e-01 -5.784486540773595e-01 -5.781780503537821e-01 -5.779072127885909e-01 - -5.776361421027820e-01 -5.773648392415993e-01 -5.770933058481036e-01 -5.768215427543451e-01 -5.765495506173008e-01 - -5.762773307782053e-01 -5.760048843724456e-01 -5.757322122309633e-01 -5.754593149355522e-01 -5.751861936930261e-01 - -5.749128500443350e-01 -5.746392847733658e-01 -5.743654986749642e-01 -5.740914927526973e-01 -5.738172681170074e-01 - -5.735428256834612e-01 -5.732681661997935e-01 -5.729932909950833e-01 -5.727182011898047e-01 -5.724428973589288e-01 - -5.721673806475209e-01 -5.718916522032619e-01 -5.716157126986885e-01 -5.713395629769044e-01 -5.710632040862346e-01 - -5.707866372440725e-01 -5.705098634203313e-01 -5.702328834166335e-01 -5.699556980810941e-01 -5.696783084118523e-01 - -5.694007154024264e-01 -5.691229196446771e-01 -5.688449222662509e-01 -5.685667247951188e-01 -5.682883277592247e-01 - -5.680097317796297e-01 -5.677309379467054e-01 -5.674519473718960e-01 -5.671727608332666e-01 -5.668933787438524e-01 - -5.666138024324125e-01 -5.663340332775648e-01 -5.660540719736767e-01 -5.657739191147048e-01 -5.654935755198692e-01 - -5.652130424887296e-01 -5.649323205844615e-01 -5.646514102596061e-01 -5.643703131320561e-01 -5.640890302500955e-01 - -5.638075621229782e-01 -5.635259096013298e-01 -5.632440735413435e-01 -5.629620547371306e-01 -5.626798540413637e-01 - -5.623974724401825e-01 -5.621149109968532e-01 -5.618321704141040e-01 -5.615492514232792e-01 -5.612661549867731e-01 - -5.609828820346520e-01 -5.606994332802816e-01 -5.604158091721365e-01 -5.601320109850756e-01 -5.598480400285579e-01 - -5.595638966628304e-01 -5.592795815381203e-01 -5.589950956088516e-01 -5.587104398719418e-01 -5.584256150214867e-01 - -5.581406216413944e-01 -5.578554608147975e-01 -5.575701335442586e-01 -5.572846406020895e-01 -5.569989825973618e-01 - -5.567131602740183e-01 -5.564271745453506e-01 -5.561410260628522e-01 -5.558547156725416e-01 -5.555682445647333e-01 - -5.552816133007876e-01 -5.549948224318785e-01 -5.547078730025937e-01 -5.544207659049382e-01 -5.541335017868810e-01 - -5.538460810525171e-01 -5.535585047530838e-01 -5.532707741030544e-01 -5.529828895161875e-01 -5.526948516856666e-01 - -5.524066615722431e-01 -5.521183198617187e-01 -5.518298271294942e-01 -5.515411840216864e-01 -5.512523916981388e-01 - -5.509634510475757e-01 -5.506743625070015e-01 -5.503851268106821e-01 -5.500957448096843e-01 -5.498062173123895e-01 - -5.495165448046009e-01 -5.492267279674086e-01 -5.489367680360671e-01 -5.486466657159732e-01 -5.483564214808752e-01 - -5.480660360175322e-01 -5.477755101695411e-01 -5.474848446983241e-01 -5.471940399297857e-01 -5.469030967097296e-01 - -5.466120162347039e-01 -5.463207992130580e-01 -5.460294461220425e-01 -5.457379574365921e-01 -5.454463341419615e-01 - -5.451545769787555e-01 -5.448626863052353e-01 -5.445706629798505e-01 -5.442785079610155e-01 -5.439862220351145e-01 - -5.436938056623958e-01 -5.434012594168094e-01 -5.431085842649811e-01 -5.428157805859503e-01 -5.425228488112607e-01 - -5.422297902211034e-01 -5.419366056396356e-01 -5.416432955189590e-01 -5.413498603513526e-01 -5.410563008101139e-01 - -5.407626176406882e-01 -5.404688113584152e-01 -5.401748827259091e-01 -5.398808327262222e-01 -5.395866619984641e-01 - -5.392923710452394e-01 -5.389979603718316e-01 -5.387034307479797e-01 -5.384087828255361e-01 -5.381140170098579e-01 - -5.378191341794292e-01 -5.375241352697128e-01 -5.372290208939874e-01 -5.369337913756430e-01 -5.366384472427702e-01 - -5.363429897090184e-01 -5.360474189692397e-01 -5.357517350808286e-01 -5.354559397287709e-01 -5.351600336380363e-01 - -5.348640167550405e-01 -5.345678898586708e-01 -5.342716537895550e-01 -5.339753091509816e-01 -5.336788560795809e-01 - -5.333822952812678e-01 -5.330856281219807e-01 -5.327888549366336e-01 -5.324919760228772e-01 -5.321949921530423e-01 - -5.318979038948367e-01 -5.316007117591099e-01 -5.313034163655616e-01 -5.310060185016283e-01 -5.307085188690476e-01 - -5.304109178113635e-01 -5.301132159560333e-01 -5.298154141057816e-01 -5.295175129068631e-01 -5.292195125739295e-01 - -5.289214133220888e-01 -5.286232164928936e-01 -5.283249229043371e-01 -5.280265326905970e-01 -5.277280463629660e-01 - -5.274294646406563e-01 -5.271307882435877e-01 -5.268320172699235e-01 -5.265331522204252e-01 -5.262341943956992e-01 - -5.259351442515741e-01 -5.256360020246456e-01 -5.253367683007200e-01 -5.250374438802079e-01 -5.247380293156688e-01 - -5.244385244793137e-01 -5.241389303158239e-01 -5.238392481089597e-01 -5.235394779437145e-01 -5.232396201567239e-01 - -5.229396754457293e-01 -5.226396444439171e-01 -5.223395275325885e-01 -5.220393250130385e-01 -5.217390378529512e-01 - -5.214386667612969e-01 -5.211382119631184e-01 -5.208376739941909e-01 -5.205370535049869e-01 -5.202363510969753e-01 - -5.199355670763710e-01 -5.196347019022574e-01 -5.193337564915598e-01 -5.190327313042545e-01 -5.187316266472318e-01 - -5.184304431068453e-01 -5.181291813913007e-01 -5.178278420262173e-01 -5.175264249304404e-01 -5.172249309061349e-01 - -5.169233612064826e-01 -5.166217158673360e-01 -5.163199951550123e-01 -5.160181998004911e-01 -5.157163303784532e-01 - -5.154143871836301e-01 -5.151123703899823e-01 -5.148102810445049e-01 -5.145081200022412e-01 -5.142058873966443e-01 - -5.139035834879907e-01 -5.136012088439446e-01 -5.132987643470369e-01 -5.129962500176725e-01 -5.126936660139045e-01 - -5.123910137907831e-01 -5.120882937169244e-01 -5.117855056864241e-01 -5.114826505830118e-01 -5.111797289351894e-01 - -5.108767409175631e-01 -5.105736869791608e-01 -5.102705678009448e-01 -5.099673841164564e-01 -5.096641361609235e-01 - -5.093608243087677e-01 -5.090574492425100e-01 -5.087540114820200e-01 -5.084505112619658e-01 -5.081469486274651e-01 - -5.078433245912960e-01 -5.075396400795943e-01 -5.072358951124865e-01 -5.069320899536702e-01 -5.066282251477461e-01 - -5.063243014155288e-01 -5.060203189866231e-01 -5.057162780382299e-01 -5.054121795257869e-01 -5.051080240346536e-01 - -5.048038117428125e-01 -5.044995428560932e-01 -5.041952179946867e-01 -5.038908379779851e-01 -5.035864027540428e-01 - -5.032819126747086e-01 -5.029773687584369e-01 -5.026727713803431e-01 -5.023681207203433e-01 -5.020634170773620e-01 - -5.017586611304518e-01 -5.014538534087800e-01 -5.011489939472488e-01 -5.008440834008399e-01 -5.005391225202214e-01 - -5.002341114848970e-01 -4.999290507534227e-01 -4.996239408965545e-01 -4.993187821357916e-01 -4.990135746184980e-01 - -4.987083187010172e-01 -4.984030154770353e-01 -4.980976654859903e-01 -4.977922686591017e-01 -4.974868253646026e-01 - -4.971813362150598e-01 -4.968758018164073e-01 -4.965702219796178e-01 -4.962645970518764e-01 -4.959589283986423e-01 - -4.956532161259331e-01 -4.953474601672504e-01 -4.950416611894621e-01 -4.947358197709370e-01 -4.944299362131679e-01 - -4.941240104625670e-01 -4.938180432013966e-01 -4.935120353360559e-01 -4.932059869696777e-01 -4.928998983832586e-01 - -4.925937700937396e-01 -4.922876025288242e-01 -4.919813957951697e-01 -4.916751499430368e-01 -4.913688660561277e-01 - -4.910625447982750e-01 -4.907561860728009e-01 -4.904497902858990e-01 -4.901433579647613e-01 -4.898368894758774e-01 - -4.895303847877975e-01 -4.892238442443610e-01 -4.889172690570770e-01 -4.886106594399146e-01 -4.883040152916479e-01 - -4.879973371198497e-01 -4.876906255185612e-01 -4.873838808516193e-01 -4.870771028969680e-01 -4.867702923235035e-01 - -4.864634502410182e-01 -4.861565765237592e-01 -4.858496713307078e-01 -4.855427352755911e-01 -4.852357685536697e-01 - -4.849287714451036e-01 -4.846217444589359e-01 -4.843146879997467e-01 -4.840076025123002e-01 -4.837004885060202e-01 - -4.833933461066379e-01 -4.830861755003688e-01 -4.827789772517898e-01 -4.824717516127337e-01 -4.821644988235214e-01 - -4.818572195031119e-01 -4.815499140763169e-01 -4.812425828318353e-01 -4.809352261296052e-01 -4.806278443199989e-01 - -4.803204376463540e-01 -4.800130060714603e-01 -4.797055501717924e-01 -4.793980709573083e-01 -4.790905684347367e-01 - -4.787830426340720e-01 -4.784754939887473e-01 -4.781679231200341e-01 -4.778603302286951e-01 -4.775527150015833e-01 - -4.772450784284375e-01 -4.769374213667171e-01 -4.766297434623847e-01 -4.763220450397429e-01 -4.760143266869929e-01 - -4.757065886153464e-01 -4.753988310011543e-01 -4.750910541528841e-01 -4.747832586964973e-01 -4.744754450010169e-01 - -4.741676132522562e-01 -4.738597638648681e-01 -4.735518971269201e-01 -4.732440131603057e-01 -4.729361121339242e-01 - -4.726281945136708e-01 -4.723202610280838e-01 -4.720123119889466e-01 -4.717043475548789e-01 -4.713963678930571e-01 - -4.710883732580126e-01 -4.707803639362851e-01 -4.704723402372425e-01 -4.701643027667922e-01 -4.698562520096238e-01 - -4.695481878708884e-01 -4.692401107063794e-01 -4.689320210638210e-01 -4.686239190614940e-01 -4.683158048406638e-01 - -4.680076787162389e-01 -4.676995413185929e-01 -4.673913930202820e-01 -4.670832339045677e-01 -4.667750641928977e-01 - -4.664668842720264e-01 -4.661586945788764e-01 -4.658504950199774e-01 -4.655422858974875e-01 -4.652340682220931e-01 - -4.649258420178881e-01 -4.646176071935555e-01 -4.643093642460228e-01 -4.640011135361189e-01 -4.636928552533583e-01 - -4.633845894780055e-01 -4.630763167063440e-01 -4.627680375263447e-01 -4.624597520114774e-01 -4.621514604268375e-01 - -4.618431632080228e-01 -4.615348605890552e-01 -4.612265525685530e-01 -4.609182391698630e-01 -4.606099213200685e-01 - -4.603015994943055e-01 -4.599932734377760e-01 -4.596849434943749e-01 -4.593766101319814e-01 -4.590682736286037e-01 - -4.587599339472412e-01 -4.584515913122191e-01 -4.581432465762054e-01 -4.578348999443045e-01 -4.575265513883392e-01 - -4.572182012155285e-01 -4.569098498253546e-01 -4.566014974456956e-01 -4.562931438038699e-01 -4.559847894939479e-01 - -4.556764355440957e-01 -4.553680818446301e-01 -4.550597283221777e-01 -4.547513752454754e-01 -4.544430231318768e-01 - -4.541346721146189e-01 -4.538263219879204e-01 -4.535179736207505e-01 -4.532096276207381e-01 -4.529012837320638e-01 - -4.525929421989657e-01 -4.522846033793929e-01 -4.519762674029318e-01 -4.516679344715044e-01 -4.513596049388520e-01 - -4.510512793496801e-01 -4.507429578901284e-01 -4.504346405869434e-01 -4.501263277269192e-01 -4.498180196893253e-01 - -4.495097167463535e-01 -4.492014186979058e-01 -4.488931259139300e-01 -4.485848392328776e-01 -4.482765586745183e-01 - -4.479682843350483e-01 -4.476600166157323e-01 -4.473517555800268e-01 -4.470435013321629e-01 -4.467352542154915e-01 - -4.464270145748750e-01 -4.461187827567155e-01 -4.458105590951706e-01 -4.455023436689998e-01 -4.451941365719282e-01 - -4.448859382022067e-01 -4.445777486373541e-01 -4.442695679571050e-01 -4.439613968717006e-01 -4.436532356916815e-01 - -4.433450843880059e-01 -4.430369431657580e-01 -4.427288122616561e-01 -4.424206918620519e-01 -4.421125820372482e-01 - -4.418044832064567e-01 -4.414963960811867e-01 -4.411883204960218e-01 -4.408802564087612e-01 -4.405722043668788e-01 - -4.402641646390490e-01 -4.399561373068210e-01 -4.396481224088197e-01 -4.393401203468038e-01 -4.390321316119934e-01 - -4.387241564347777e-01 -4.384161947343386e-01 -4.381082465266398e-01 -4.378003125430411e-01 -4.374923928277115e-01 - -4.371844871230922e-01 -4.368765963346815e-01 -4.365687207997857e-01 -4.362608601883623e-01 -4.359530147661063e-01 - -4.356451849773876e-01 -4.353373711547212e-01 -4.350295729831375e-01 -4.347217906709347e-01 -4.344140253247259e-01 - -4.341062767701542e-01 -4.337985447574569e-01 -4.334908298973194e-01 -4.331831324142745e-01 -4.328754522838512e-01 - -4.325677895304312e-01 -4.322601446380396e-01 -4.319525182069930e-01 -4.316449103351276e-01 -4.313373209430619e-01 - -4.310297500384340e-01 -4.307221981580691e-01 -4.304146654764764e-01 -4.301071518609876e-01 -4.297996578556980e-01 - -4.294921838432407e-01 -4.291847298181669e-01 -4.288772959356691e-01 -4.285698824691314e-01 -4.282624896947286e-01 - -4.279551173581843e-01 -4.276477655542056e-01 -4.273404353166645e-01 -4.270331268873108e-01 -4.267258400671970e-01 - -4.264185747737768e-01 -4.261113314513503e-01 -4.258041105111009e-01 -4.254969114260224e-01 -4.251897346526543e-01 - -4.248825811839114e-01 -4.245754507348872e-01 -4.242683433304872e-01 -4.239612594489042e-01 -4.236541990429175e-01 - -4.233471621233121e-01 -4.230401489624036e-01 -4.227331599159186e-01 -4.224261953202194e-01 -4.221192554076946e-01 - -4.218123401221037e-01 -4.215054495276057e-01 -4.211985840665567e-01 -4.208917437341202e-01 -4.205849285470991e-01 - -4.202781391077526e-01 -4.199713756820169e-01 -4.196646382796324e-01 -4.193579269625680e-01 -4.190512419898234e-01 - -4.187445835885104e-01 -4.184379514023820e-01 -4.181313458657921e-01 -4.178247679943504e-01 -4.175182174706034e-01 - -4.172116941638125e-01 -4.169051985589959e-01 -4.165987308801878e-01 -4.162922910262470e-01 -4.159858787333477e-01 - -4.156794948456864e-01 -4.153731400237493e-01 -4.150668138055245e-01 -4.147605162480433e-01 -4.144542477033889e-01 - -4.141480084083939e-01 -4.138417983331389e-01 -4.135356175072968e-01 -4.132294665425894e-01 -4.129233456523720e-01 - -4.126172547353913e-01 -4.123111939769975e-01 -4.120051637027982e-01 -4.116991641480549e-01 -4.113931948631621e-01 - -4.110872561089984e-01 -4.107813489720965e-01 -4.104754732505308e-01 -4.101696286974395e-01 -4.098638156566466e-01 - -4.095580344057681e-01 -4.092522850492459e-01 -4.089465675148873e-01 -4.086408821301867e-01 -4.083352292811099e-01 - -4.080296090087697e-01 -4.077240214925531e-01 -4.074184669621912e-01 -4.071129454474836e-01 -4.068074568206541e-01 - -4.065020011172992e-01 -4.061965792344674e-01 -4.058911914234347e-01 -4.055858372701102e-01 -4.052805169731385e-01 - -4.049752308691225e-01 -4.046699791746853e-01 -4.043647616984872e-01 -4.040595785275335e-01 -4.037544302850327e-01 - -4.034493171430220e-01 -4.031442391412985e-01 -4.028391964411297e-01 -4.025341890399178e-01 -4.022292169515432e-01 - -4.019242804318620e-01 -4.016193797575413e-01 -4.013145151618574e-01 -4.010096867767989e-01 -4.007048946739946e-01 - -4.004001389575452e-01 -4.000954199442892e-01 -3.997907376333255e-01 -3.994860918450180e-01 -3.991814831388100e-01 - -3.988769118682245e-01 -3.985723779299208e-01 -3.982678813725196e-01 -3.979634224118638e-01 -3.976590013430957e-01 - -3.973546179557737e-01 -3.970502723184750e-01 -3.967459652757308e-01 -3.964416967373386e-01 -3.961374664325438e-01 - -3.958332748416728e-01 -3.955291221412219e-01 -3.952250082276700e-01 -3.949209329883424e-01 -3.946168969005399e-01 - -3.943129006192436e-01 -3.940089438207542e-01 -3.937050264421336e-01 -3.934011488327164e-01 -3.930973111392007e-01 - -3.927935133510078e-01 -3.924897554398895e-01 -3.921860379028622e-01 -3.918823611410527e-01 -3.915787251272155e-01 - -3.912751296302741e-01 -3.909715747221262e-01 -3.906680610479274e-01 -3.903645884467465e-01 -3.900611567141484e-01 - -3.897577665105899e-01 -3.894544180732338e-01 -3.891511112918067e-01 -3.888478460867855e-01 -3.885446227676595e-01 - -3.882414417069796e-01 -3.879383024897914e-01 -3.876352053351357e-01 -3.873321510269954e-01 -3.870291394376005e-01 - -3.867261704550462e-01 -3.864232442776043e-01 -3.861203610538394e-01 -3.858175208256477e-01 -3.855147235659399e-01 - -3.852119696012977e-01 -3.849092593053318e-01 -3.846065928280623e-01 -3.843039700003283e-01 -3.840013907871894e-01 - -3.836988557264463e-01 -3.833963646642737e-01 -3.830939173673272e-01 -3.827915146861536e-01 -3.824891567344230e-01 - -3.821868431312930e-01 -3.818845742897094e-01 -3.815823505036508e-01 -3.812801717050347e-01 -3.809780375081945e-01 - -3.806759481537249e-01 -3.803739045452896e-01 -3.800719066553854e-01 -3.797699542729503e-01 -3.794680474344709e-01 - -3.791661864151066e-01 -3.788643713579414e-01 -3.785626020610045e-01 -3.782608787892401e-01 -3.779592019649877e-01 - -3.776575717504184e-01 -3.773559879986245e-01 -3.770544506277551e-01 -3.767529601718599e-01 -3.764515165488658e-01 - -3.761501194541416e-01 -3.758487697291592e-01 -3.755474675286999e-01 -3.752462123142175e-01 -3.749450044400430e-01 - -3.746438442933219e-01 -3.743427319385532e-01 -3.740416670860849e-01 -3.737406497610264e-01 -3.734396805632812e-01 - -3.731387597991040e-01 -3.728378873981389e-01 -3.725370629746288e-01 -3.722362869751284e-01 -3.719355598195744e-01 - -3.716348809475082e-01 -3.713342505611615e-01 -3.710336692885385e-01 -3.707331373206220e-01 -3.704326544188714e-01 - -3.701322203470578e-01 -3.698318357923215e-01 -3.695315007664240e-01 -3.692312147431765e-01 -3.689309784821330e-01 - -3.686307923312130e-01 -3.683306558583173e-01 -3.680305692832940e-01 -3.677305328772401e-01 -3.674305466155561e-01 - -3.671306102835627e-01 -3.668307239979260e-01 -3.665308885123383e-01 -3.662311039528895e-01 -3.659313700864294e-01 - -3.656316867340536e-01 -3.653320542170925e-01 -3.650324728818179e-01 -3.647329423252613e-01 -3.644334627823841e-01 - -3.641340348652060e-01 -3.638346584224414e-01 -3.635353333854674e-01 -3.632360599381753e-01 -3.629368383087880e-01 - -3.626376683911322e-01 -3.623385498640058e-01 -3.620394834143431e-01 -3.617404694429358e-01 -3.614415075289109e-01 - -3.611425978472304e-01 -3.608437406892576e-01 -3.605449360396625e-01 -3.602461837170217e-01 -3.599474837636126e-01 - -3.596488368123176e-01 -3.593502429497555e-01 -3.590517019950174e-01 -3.587532141258951e-01 -3.584547794364419e-01 - -3.581563978967544e-01 -3.578580694598877e-01 -3.575597943932133e-01 -3.572615731273898e-01 -3.569634054963255e-01 - -3.566652915450074e-01 -3.563672316398869e-01 -3.560692255181004e-01 -3.557712730433470e-01 -3.554733745722332e-01 - -3.551755304325120e-01 -3.548777407381354e-01 -3.545800053200450e-01 -3.542823243820459e-01 -3.539846981602633e-01 - -3.536871265064687e-01 -3.533896092936707e-01 -3.530921466577667e-01 -3.527947392696623e-01 -3.524973870763591e-01 - -3.522000896417020e-01 -3.519028473926252e-01 -3.516056606257513e-01 -3.513085292624320e-01 -3.510114529438408e-01 - -3.507144318797571e-01 -3.504174668509267e-01 -3.501205576763053e-01 -3.498237041407538e-01 -3.495269064579332e-01 - -3.492301648012658e-01 -3.489334792023763e-01 -3.486368495320163e-01 -3.483402759532310e-01 -3.480437587608516e-01 - -3.477472981563033e-01 -3.474508940116457e-01 -3.471545462266357e-01 -3.468582552838557e-01 -3.465620210594309e-01 - -3.462658431862374e-01 -3.459697223261950e-01 -3.456736587298253e-01 -3.453776521244075e-01 -3.450817025977070e-01 - -3.447858103250944e-01 -3.444899754033867e-01 -3.441941976114102e-01 -3.438984770490408e-01 -3.436028143288083e-01 - -3.433072093931014e-01 -3.430116620696204e-01 -3.427161725111446e-01 -3.424207408695913e-01 -3.421253671506906e-01 - -3.418300511322294e-01 -3.415347931565998e-01 -3.412395936962896e-01 -3.409444525560181e-01 -3.406493696743920e-01 - -3.403543451949735e-01 -3.400593792856730e-01 -3.397644718554241e-01 -3.394696227303268e-01 -3.391748324448361e-01 - -3.388801012525273e-01 -3.385854289098167e-01 -3.382908154719833e-01 -3.379962610967925e-01 -3.377017658856785e-01 - -3.374073296405456e-01 -3.371129523992028e-01 -3.368186347618567e-01 -3.365243767275647e-01 -3.362301780997549e-01 - -3.359360390044588e-01 -3.356419595939377e-01 -3.353479398983790e-01 -3.350539796822969e-01 -3.347600792157354e-01 - -3.344662390001809e-01 -3.341724588683134e-01 -3.338787387386647e-01 -3.335850787505256e-01 -3.332914790393797e-01 - -3.329979395469141e-01 -3.327044601082655e-01 -3.324110411740308e-01 -3.321176830325031e-01 -3.318243854727410e-01 - -3.315311485033696e-01 -3.312379722613320e-01 -3.309448568815591e-01 -3.306518021855764e-01 -3.303588081394571e-01 - -3.300658753265905e-01 -3.297730038003383e-01 -3.294801933460689e-01 -3.291874440822869e-01 -3.288947561448500e-01 - -3.286021295596533e-01 -3.283095641084477e-01 -3.280170600152969e-01 -3.277246178092963e-01 -3.274322373144385e-01 - -3.271399184133136e-01 -3.268476612759387e-01 -3.265554660369243e-01 -3.262633326374516e-01 -3.259712608638953e-01 - -3.256792511518811e-01 -3.253873038511834e-01 -3.250954187049387e-01 -3.248035957166725e-01 -3.245118350464998e-01 - -3.242201368055027e-01 -3.239285008232202e-01 -3.236369270127419e-01 -3.233454159517716e-01 -3.230539677655248e-01 - -3.227625822208953e-01 -3.224712593689608e-01 -3.221799993547627e-01 -3.218888022707884e-01 -3.215976678728723e-01 - -3.213065962862219e-01 -3.210155880538063e-01 -3.207246430922022e-01 -3.204337612603162e-01 -3.201429426545060e-01 - -3.198521874188910e-01 -3.195614955407240e-01 -3.192708667833873e-01 -3.189803015317205e-01 -3.186898001852494e-01 - -3.183993624745159e-01 -3.181089883645859e-01 -3.178186780215274e-01 -3.175284315788672e-01 -3.172382488912609e-01 - -3.169481298117736e-01 -3.166580748847834e-01 -3.163680842820584e-01 -3.160781577505636e-01 -3.157882953403168e-01 - -3.154984971942622e-01 -3.152087634033934e-01 -3.149190937439705e-01 -3.146294882798918e-01 -3.143399475483734e-01 - -3.140504715109739e-01 -3.137610600081304e-01 -3.134717131245625e-01 -3.131824310053718e-01 -3.128932136614712e-01 - -3.126040608259110e-01 -3.123149728003283e-01 -3.120259500284038e-01 -3.117369923103007e-01 -3.114480995811182e-01 - -3.111592719695180e-01 -3.108705096041851e-01 -3.105818123704323e-01 -3.102931800853200e-01 -3.100046132424714e-01 - -3.097161120700553e-01 -3.094276763275429e-01 -3.091393060498078e-01 -3.088510013669117e-01 -3.085627623567511e-01 - -3.082745888090075e-01 -3.079864807413559e-01 -3.076984387104112e-01 -3.074104627037881e-01 -3.071225525229602e-01 - -3.068347082674415e-01 -3.065469300647063e-01 -3.062592179233167e-01 -3.059715715883658e-01 -3.056839913222955e-01 - -3.053964776128304e-01 -3.051090302429263e-01 -3.048216491115613e-01 -3.045343343664140e-01 -3.042470861256498e-01 - -3.039599042912569e-01 -3.036727886539801e-01 -3.033857396783212e-01 -3.030987576532087e-01 -3.028118423290159e-01 - -3.025249936916685e-01 -3.022382118572411e-01 -3.019514969324824e-01 -3.016648487319269e-01 -3.013782672163520e-01 - -3.010917529380510e-01 -3.008053059332530e-01 -3.005189259718208e-01 -3.002326131255288e-01 -2.999463675243501e-01 - -2.996601892115071e-01 -2.993740779431134e-01 -2.990880338991673e-01 -2.988020575697556e-01 -2.985161488129333e-01 - -2.982303074956766e-01 -2.979445337070337e-01 -2.976588275957710e-01 -2.973731891105994e-01 -2.970876179949718e-01 - -2.968021146693378e-01 -2.965166794729635e-01 -2.962313121299224e-01 -2.959460126205053e-01 -2.956607810824475e-01 - -2.953756176130727e-01 -2.950905220348498e-01 -2.948054942542040e-01 -2.945205348259674e-01 -2.942356438398593e-01 - -2.939508210351428e-01 -2.936660664737455e-01 -2.933813802767271e-01 -2.930967624892026e-01 -2.928122128931882e-01 - -2.925277316158055e-01 -2.922433191494531e-01 -2.919589753765323e-01 -2.916747001400424e-01 -2.913904935350139e-01 - -2.911063557118664e-01 -2.908222866434848e-01 -2.905382860439090e-01 -2.902543542778646e-01 -2.899704917370004e-01 - -2.896866981425306e-01 -2.894029734511842e-01 -2.891193178139609e-01 -2.888357313345801e-01 -2.885522138545054e-01 - -2.882687652243500e-01 -2.879853859636904e-01 -2.877020762131379e-01 -2.874188357014512e-01 -2.871356645025479e-01 - -2.868525627422169e-01 -2.865695304469716e-01 -2.862865673963798e-01 -2.860036736642309e-01 -2.857208497673618e-01 - -2.854380956360413e-01 -2.851554110854154e-01 -2.848727961880673e-01 -2.845902510831507e-01 -2.843077757793696e-01 - -2.840253700094237e-01 -2.837430340397069e-01 -2.834607682748240e-01 -2.831785725328111e-01 -2.828964467316310e-01 - -2.826143909542473e-01 -2.823324053101364e-01 -2.820504896922502e-01 -2.817686439371250e-01 -2.814868685136343e-01 - -2.812051636152371e-01 -2.809235289745332e-01 -2.806419646055033e-01 -2.803604706362606e-01 -2.800790471610514e-01 - -2.797976939416736e-01 -2.795164109639519e-01 -2.792351987736799e-01 -2.789540573481899e-01 -2.786729864814172e-01 - -2.783919862645312e-01 -2.781110567914744e-01 -2.778301980476193e-01 -2.775494098202491e-01 -2.772686923282846e-01 - -2.769880459823117e-01 -2.767074706347814e-01 -2.764269661749121e-01 -2.761465326612197e-01 -2.758661702373058e-01 - -2.755858788282252e-01 -2.753056582075042e-01 -2.750255088041456e-01 -2.747454308713073e-01 -2.744654241403574e-01 - -2.741854886058927e-01 -2.739056243892176e-01 -2.736258315782464e-01 -2.733461099674180e-01 -2.730664595012521e-01 - -2.727868807168794e-01 -2.725073736368404e-01 -2.722279380246611e-01 -2.719485739535283e-01 -2.716692815376729e-01 - -2.713900607905190e-01 -2.711109114418696e-01 -2.708318336740216e-01 -2.705528279896257e-01 -2.702738942089605e-01 - -2.699950321750810e-01 -2.697162419812612e-01 -2.694375237750356e-01 -2.691588774953904e-01 -2.688803028674867e-01 - -2.686018002777490e-01 -2.683233700490228e-01 -2.680450119322323e-01 -2.677667258920440e-01 -2.674885120321642e-01 - -2.672103704327183e-01 -2.669323009240009e-01 -2.666543034142266e-01 -2.663763784024609e-01 -2.660985259744725e-01 - -2.658207458961011e-01 -2.655430381891060e-01 -2.652654029648259e-01 -2.649878402880381e-01 -2.647103499069445e-01 - -2.644329319184849e-01 -2.641555868035665e-01 -2.638783144422805e-01 -2.636011146840161e-01 -2.633239876271375e-01 - -2.630469333706403e-01 -2.627699518665801e-01 -2.624930428881614e-01 -2.622162067361601e-01 -2.619394437425979e-01 - -2.616627537197243e-01 -2.613861365959049e-01 -2.611095924398818e-01 -2.608331213683194e-01 -2.605567232565551e-01 - -2.602803979638560e-01 -2.600041459185203e-01 -2.597279672559259e-01 -2.594518617711524e-01 -2.591758294668244e-01 - -2.588998704444723e-01 -2.586239847880919e-01 -2.583481722507706e-01 -2.580724328621725e-01 -2.577967671126083e-01 - -2.575211749406902e-01 -2.572456561780725e-01 -2.569702108956164e-01 -2.566948391959332e-01 -2.564195410517088e-01 - -2.561443162003717e-01 -2.558691649278121e-01 -2.555940876367002e-01 -2.553190840839927e-01 -2.550441541814838e-01 - -2.547692980445108e-01 -2.544945157803290e-01 -2.542198072584164e-01 -2.539451722830000e-01 -2.536706112997469e-01 - -2.533961245035316e-01 -2.531217116489478e-01 -2.528473727232912e-01 -2.525731078267265e-01 -2.522989170513077e-01 - -2.520248001810547e-01 -2.517507572028029e-01 -2.514767886096237e-01 -2.512028943623831e-01 -2.509290742545349e-01 - -2.506553283625735e-01 -2.503816568034038e-01 -2.501080595782905e-01 -2.498345364108095e-01 -2.495610875124447e-01 - -2.492877133133172e-01 -2.490144136112123e-01 -2.487411882994743e-01 -2.484680374856057e-01 -2.481949612635986e-01 - -2.479219595287280e-01 -2.476490320734136e-01 -2.473761793087864e-01 -2.471034014703498e-01 -2.468306982957061e-01 - -2.465580697844871e-01 -2.462855160432138e-01 -2.460130371204629e-01 -2.457406328233614e-01 -2.454683031113906e-01 - -2.451960484794311e-01 -2.449238689415910e-01 -2.446517642712055e-01 -2.443797345227543e-01 -2.441077797933181e-01 - -2.438359000947776e-01 -2.435640951889690e-01 -2.432923652315951e-01 -2.430207106571287e-01 -2.427491313175689e-01 - -2.424776270783986e-01 -2.422061980074125e-01 -2.419348442072336e-01 -2.416635656192684e-01 -2.413923620306189e-01 - -2.411212337762792e-01 -2.408501811283544e-01 -2.405792038734625e-01 -2.403083019688687e-01 -2.400374754936993e-01 - -2.397667245256450e-01 -2.394960488977194e-01 -2.392254485194238e-01 -2.389549238762380e-01 -2.386844750244205e-01 - -2.384141017100180e-01 -2.381438039886236e-01 -2.378735819631148e-01 -2.376034356560101e-01 -2.373333648418426e-01 - -2.370633696160408e-01 -2.367934504134751e-01 -2.365236071336530e-01 -2.362538396334552e-01 -2.359841479713349e-01 - -2.357145322333765e-01 -2.354449923780104e-01 -2.351755281955192e-01 -2.349061399838227e-01 -2.346368280467886e-01 - -2.343675921502802e-01 -2.340984322401892e-01 -2.338293484224673e-01 -2.335603407944267e-01 -2.332914091991481e-01 - -2.330225534791031e-01 -2.327537740958542e-01 -2.324850711724544e-01 -2.322164444575208e-01 -2.319478939696494e-01 - -2.316794198107119e-01 -2.314110220364787e-01 -2.311427004172850e-01 -2.308744549913938e-01 -2.306062862221652e-01 - -2.303381940399467e-01 -2.300701782673901e-01 -2.298022389505013e-01 -2.295343762055658e-01 -2.292665900251787e-01 - -2.289988801367178e-01 -2.287312467963517e-01 -2.284636903804389e-01 -2.281962106639611e-01 -2.279288075702767e-01 - -2.276614812041137e-01 -2.273942316314865e-01 -2.271270587234099e-01 -2.268599623216859e-01 -2.265929428586625e-01 - -2.263260004971463e-01 -2.260591349680134e-01 -2.257923462859340e-01 -2.255256345570404e-01 -2.252589998316905e-01 - -2.249924418873443e-01 -2.247259607239798e-01 -2.244595568451081e-01 -2.241932301870257e-01 -2.239269805236896e-01 - -2.236608079513920e-01 -2.233947125724077e-01 -2.231286943677930e-01 -2.228627530899186e-01 -2.225968889349937e-01 - -2.223311022938890e-01 -2.220653929888047e-01 -2.217997609137618e-01 -2.215342061492806e-01 -2.212687287997047e-01 - -2.210033287645195e-01 -2.207380058226258e-01 -2.204727603658667e-01 -2.202075926188733e-01 -2.199425023254976e-01 - -2.196774894791217e-01 -2.194125541827232e-01 -2.191476964953657e-01 -2.188829162198361e-01 -2.186182133017065e-01 - -2.183535882155842e-01 -2.180890409721393e-01 -2.178245713492862e-01 -2.175601793915103e-01 -2.172958651996608e-01 - -2.170316287941991e-01 -2.167674699222372e-01 -2.165033887351043e-01 -2.162393856655618e-01 -2.159754605317784e-01 - -2.157116131976179e-01 -2.154478437626437e-01 -2.151841523053365e-01 -2.149205387568082e-01 -2.146570029331132e-01 - -2.143935451423346e-01 -2.141301656253313e-01 -2.138668641770334e-01 -2.136036407648879e-01 -2.133404954698548e-01 - -2.130774283590253e-01 -2.128144392711416e-01 -2.125515281171839e-01 -2.122886953403734e-01 -2.120259409959825e-01 - -2.117632648531722e-01 -2.115006669388265e-01 -2.112381473557379e-01 -2.109757061544524e-01 -2.107133431005909e-01 - -2.104510582708100e-01 -2.101888520817322e-01 -2.099267244352251e-01 -2.096646751892664e-01 -2.094027043922436e-01 - -2.091408121382980e-01 -2.088789983898283e-01 -2.086172629233026e-01 -2.083556060294393e-01 -2.080940280081475e-01 - -2.078325286261216e-01 -2.075711078316715e-01 -2.073097657230958e-01 -2.070485023681648e-01 -2.067873176254528e-01 - -2.065262113703670e-01 -2.062651840261599e-01 -2.060042356935543e-01 -2.057433661320316e-01 -2.054825753736384e-01 - -2.052218635119340e-01 -2.049612305777034e-01 -2.047006763593381e-01 -2.044402009029163e-01 -2.041798046444743e-01 - -2.039194875091236e-01 -2.036592493288050e-01 -2.033990901597007e-01 -2.031390101041152e-01 -2.028790091364410e-01 - -2.026190869860804e-01 -2.023592439213894e-01 -2.020994803209571e-01 -2.018397959336108e-01 -2.015801906636277e-01 - -2.013206646163115e-01 -2.010612178968381e-01 -2.008018503846473e-01 -2.005425618909167e-01 -2.002833527994660e-01 - -2.000242232866459e-01 -1.997651731545872e-01 -1.995062023757428e-01 -1.992473110134654e-01 -1.989884991329442e-01 - -1.987297665552775e-01 -1.984711132804359e-01 -1.982125397288479e-01 -1.979540458641874e-01 -1.976956315048893e-01 - -1.974372966986851e-01 -1.971790415364275e-01 -1.969208660181268e-01 -1.966627699138122e-01 -1.964047534115951e-01 - -1.961468168792641e-01 -1.958889601415059e-01 -1.956311830976701e-01 -1.953734858227050e-01 -1.951158683885618e-01 - -1.948583307060198e-01 -1.946008726082255e-01 -1.943434944554087e-01 -1.940861964418109e-01 -1.938289783248288e-01 - -1.935718400929853e-01 -1.933147818435645e-01 -1.930578036445209e-01 -1.928009053047615e-01 -1.925440867668252e-01 - -1.922873484836986e-01 -1.920306904586313e-01 -1.917741124759950e-01 -1.915176145882685e-01 -1.912611968971867e-01 - -1.910048594156118e-01 -1.907486018758652e-01 -1.904924244300230e-01 -1.902363275204000e-01 -1.899803109613821e-01 - -1.897243746214878e-01 -1.894685186111405e-01 -1.892127429944364e-01 -1.889570476814606e-01 -1.887014324762902e-01 - -1.884458977092228e-01 -1.881904436322386e-01 -1.879350700181010e-01 -1.876797768445363e-01 -1.874245641980662e-01 - -1.871694321106837e-01 -1.869143804464632e-01 -1.866594091449939e-01 -1.864045185802509e-01 -1.861497088150435e-01 - -1.858949796742653e-01 -1.856403311585743e-01 -1.853857633524328e-01 -1.851312763093270e-01 -1.848768697910832e-01 - -1.846225438828809e-01 -1.843682990131126e-01 -1.841141350478542e-01 -1.838600518410295e-01 -1.836060494900988e-01 - -1.833521280737523e-01 -1.830982875326949e-01 -1.828445276569093e-01 -1.825908487213151e-01 -1.823372510073639e-01 - -1.820837342990139e-01 -1.818302985608840e-01 -1.815769438919524e-01 -1.813236703339543e-01 -1.810704777470943e-01 - -1.808173660274447e-01 -1.805643355946649e-01 -1.803113865319381e-01 -1.800585185867421e-01 -1.798057318207557e-01 - -1.795530263298101e-01 -1.793004021140676e-01 -1.790478589821669e-01 -1.787953969871552e-01 -1.785430165333783e-01 - -1.782907175616041e-01 -1.780384999147782e-01 -1.777863636186671e-01 -1.775343087850783e-01 -1.772823354138563e-01 - -1.770304432439544e-01 -1.767786324996124e-01 -1.765269035206169e-01 -1.762752561209628e-01 -1.760236902365481e-01 - -1.757722059508868e-01 -1.755208033072168e-01 -1.752694821962465e-01 -1.750182424985018e-01 -1.747670845873172e-01 - -1.745160085943736e-01 -1.742650142826787e-01 -1.740141016708582e-01 -1.737632708599284e-01 -1.735125219002990e-01 - -1.732618545819516e-01 -1.730112688968157e-01 -1.727607652962038e-01 -1.725103437360838e-01 -1.722600040199003e-01 - -1.720097462053399e-01 -1.717595703957765e-01 -1.715094765937824e-01 -1.712594645505801e-01 -1.710095344617568e-01 - -1.707596867053610e-01 -1.705099210652020e-01 -1.702602374503936e-01 -1.700106359820640e-01 -1.697611167032507e-01 - -1.695116795170456e-01 -1.692623242857098e-01 -1.690130513415946e-01 -1.687638608735592e-01 -1.685147526839133e-01 - -1.682657267304136e-01 -1.680167830834059e-01 -1.677679218434041e-01 -1.675191428301483e-01 -1.672704459776749e-01 - -1.670218317162355e-01 -1.667733000505553e-01 -1.665248507843929e-01 -1.662764839848620e-01 -1.660281997331086e-01 - -1.657799980211539e-01 -1.655318786421316e-01 -1.652838417439954e-01 -1.650358877061586e-01 -1.647880163635810e-01 - -1.645402275978841e-01 -1.642925215033296e-01 -1.640448981629310e-01 -1.637973575048030e-01 -1.635498993322754e-01 - -1.633025239587731e-01 -1.630552316214122e-01 -1.628080220971913e-01 -1.625608953706327e-01 -1.623138515347123e-01 - -1.620668906280902e-01 -1.618200125176413e-01 -1.615732171440627e-01 -1.613265048790783e-01 -1.610798757703294e-01 - -1.608333296326273e-01 -1.605868664946396e-01 -1.603404864451659e-01 -1.600941895233320e-01 -1.598479755194739e-01 - -1.596018445089071e-01 -1.593557968710357e-01 -1.591098325274174e-01 -1.588639513462271e-01 -1.586181533501567e-01 - -1.583724386633118e-01 -1.581268072684121e-01 -1.578812589110151e-01 -1.576357938605635e-01 -1.573904124176000e-01 - -1.571451143885420e-01 -1.568998997115455e-01 -1.566547684551118e-01 -1.564097207009810e-01 -1.561647563377750e-01 - -1.559198752534892e-01 -1.556750777971572e-01 -1.554303640753041e-01 -1.551857339241298e-01 -1.549411873472499e-01 - -1.546967244117141e-01 -1.544523451583313e-01 -1.542080493972972e-01 -1.539638371771692e-01 -1.537197089019022e-01 - -1.534756644902717e-01 -1.532317037874507e-01 -1.529878268669247e-01 -1.527440338285302e-01 -1.525003246495042e-01 - -1.522566990917994e-01 -1.520131573865194e-01 -1.517696998607227e-01 -1.515263263105132e-01 -1.512830366842278e-01 - -1.510398310896279e-01 -1.507967095609423e-01 -1.505536719818633e-01 -1.503107182379510e-01 -1.500678487166025e-01 - -1.498250635429138e-01 -1.495823624607518e-01 -1.493397455183047e-01 -1.490972128240516e-01 -1.488547643939502e-01 - -1.486124000468938e-01 -1.483701197975273e-01 -1.481279240643807e-01 -1.478858128086334e-01 -1.476437858541442e-01 - -1.474018432575297e-01 -1.471599850901578e-01 -1.469182113447434e-01 -1.466765218581870e-01 -1.464349167991909e-01 - -1.461933964691583e-01 -1.459519607332137e-01 -1.457106095126376e-01 -1.454693428712828e-01 -1.452281609001614e-01 - -1.449870635167667e-01 -1.447460505411944e-01 -1.445051223204885e-01 -1.442642790465533e-01 -1.440235204958664e-01 - -1.437828466645076e-01 -1.435422576460715e-01 -1.433017535021517e-01 -1.430613340788666e-01 -1.428209993367665e-01 - -1.425807496580667e-01 -1.423405850452980e-01 -1.421005053276286e-01 -1.418605105748216e-01 -1.416206008760722e-01 - -1.413807762310167e-01 -1.411410364179444e-01 -1.409013815814383e-01 -1.406618121114770e-01 -1.404223278620860e-01 - -1.401829287142080e-01 -1.399436147388266e-01 -1.397043860171121e-01 -1.394652424999606e-01 -1.392261840277533e-01 - -1.389872108800275e-01 -1.387483232704581e-01 -1.385095210193419e-01 -1.382708041155041e-01 -1.380321726381191e-01 - -1.377936266235328e-01 -1.375551659356028e-01 -1.373167905196480e-01 -1.370785007699294e-01 -1.368402967462084e-01 - -1.366021782602805e-01 -1.363641453151502e-01 -1.361261980034910e-01 -1.358883363925467e-01 -1.356505602730137e-01 - -1.354128697173978e-01 -1.351752651019714e-01 -1.349377463365720e-01 -1.347003133096952e-01 -1.344629660943524e-01 - -1.342257047644556e-01 -1.339885292721434e-01 -1.337514394288152e-01 -1.335144355004790e-01 -1.332775177574095e-01 - -1.330406860095451e-01 -1.328039402156265e-01 -1.325672804621033e-01 -1.323307068237664e-01 -1.320942191803451e-01 - -1.318578174250235e-01 -1.316215019436967e-01 -1.313852728254415e-01 -1.311491298574344e-01 -1.309130730812647e-01 - -1.306771025967214e-01 -1.304412184433993e-01 -1.302054204167683e-01 -1.299697085633917e-01 -1.297340833011096e-01 - -1.294985445422908e-01 -1.292630921400970e-01 -1.290277262032818e-01 -1.287924468024440e-01 -1.285572538860320e-01 - -1.283221472565841e-01 -1.280871271607027e-01 -1.278521939245786e-01 -1.276173473594251e-01 -1.273825873815436e-01 - -1.271479140654554e-01 -1.269133275291332e-01 -1.266788276689478e-01 -1.264444143112885e-01 -1.262100878411512e-01 - -1.259758484249543e-01 -1.257416958580221e-01 -1.255076301118343e-01 -1.252736512740011e-01 -1.250397594556589e-01 - -1.248059544551782e-01 -1.245722362561283e-01 -1.243386053032582e-01 -1.241050615437150e-01 -1.238716047916152e-01 - -1.236382351439431e-01 -1.234049527007845e-01 -1.231717574487822e-01 -1.229386491649988e-01 -1.227056280466961e-01 - -1.224726944551588e-01 -1.222398481939305e-01 -1.220070891810755e-01 -1.217744175349468e-01 -1.215418333321439e-01 - -1.213093364896874e-01 -1.210769268543440e-01 -1.208446047468073e-01 -1.206123703546746e-01 -1.203802234985189e-01 - -1.201481641556592e-01 -1.199161924040098e-01 -1.196843083373426e-01 -1.194525118101599e-01 -1.192208027778711e-01 - -1.189891816158967e-01 -1.187576483334740e-01 -1.185262027772708e-01 -1.182948450325541e-01 -1.180635751718018e-01 - -1.178323931740712e-01 -1.176012988598141e-01 -1.173702923768903e-01 -1.171393740841554e-01 -1.169085438684581e-01 - -1.166778016318426e-01 -1.164471474323627e-01 -1.162165813372163e-01 -1.159861033094216e-01 -1.157557132288848e-01 - -1.155254113554128e-01 -1.152951978878259e-01 -1.150650726784410e-01 -1.148350356935617e-01 -1.146050869998271e-01 - -1.143752266983624e-01 -1.141454546633286e-01 -1.139157708150553e-01 -1.136861755297615e-01 -1.134566688685596e-01 - -1.132272506625232e-01 -1.129979209389772e-01 -1.127686797968139e-01 -1.125395272939830e-01 -1.123104632216639e-01 - -1.120814876598629e-01 -1.118526009932446e-01 -1.116238031362107e-01 -1.113950939743172e-01 -1.111664735714766e-01 - -1.109379420230661e-01 -1.107094992989161e-01 -1.104811452047023e-01 -1.102528800189790e-01 -1.100247040176238e-01 - -1.097966169898620e-01 -1.095686189066022e-01 -1.093407098806465e-01 -1.091128899944971e-01 -1.088851591239916e-01 - -1.086575171512236e-01 -1.084299644451029e-01 -1.082025011238454e-01 -1.079751270251657e-01 -1.077478421434466e-01 - -1.075206465724022e-01 -1.072935404061887e-01 -1.070665234272605e-01 -1.068395956686409e-01 -1.066127575621145e-01 - -1.063860090403522e-01 -1.061593499609373e-01 -1.059327804074918e-01 -1.057063004552603e-01 -1.054799100848440e-01 - -1.052536091459819e-01 -1.050273978363624e-01 -1.048012764247322e-01 -1.045752447992682e-01 -1.043493029044653e-01 - -1.041234507912105e-01 -1.038976885616201e-01 -1.036720161437409e-01 -1.034464334142674e-01 -1.032209407082870e-01 - -1.029955381585720e-01 -1.027702255852857e-01 -1.025450030256683e-01 -1.023198705766582e-01 -1.020948282803886e-01 - -1.018698759615270e-01 -1.016450136357437e-01 -1.014202417243671e-01 -1.011955602054591e-01 -1.009709689162001e-01 - -1.007464679013254e-01 -1.005220572777319e-01 -1.002977370772110e-01 -1.000735070732387e-01 -9.984936745539402e-02 - -9.962531858349888e-02 -9.940136027998529e-02 -9.917749246814733e-02 -9.895371525770333e-02 -9.873002873335845e-02 - -9.850643282337790e-02 -9.828292738770521e-02 -9.805951276903688e-02 -9.783618914357473e-02 -9.761295629040607e-02 - -9.738981424317925e-02 -9.716676311420755e-02 -9.694380293900719e-02 -9.672093359332221e-02 -9.649815506782670e-02 - -9.627546771326484e-02 -9.605287156919239e-02 -9.583036651098850e-02 -9.560795255252680e-02 -9.538562978098189e-02 - -9.516339824129488e-02 -9.494125774199282e-02 -9.471920843970391e-02 -9.449725071216948e-02 -9.427538438593883e-02 - -9.405360936874554e-02 -9.383192580278800e-02 -9.361033376064058e-02 -9.338883317577901e-02 -9.316742389906425e-02 - -9.294610622995669e-02 -9.272488039403920e-02 -9.250374621386263e-02 -9.228270367992475e-02 -9.206175287916113e-02 - -9.184089387273792e-02 -9.162012656935895e-02 -9.139945093572596e-02 -9.117886729658348e-02 -9.095837571294788e-02 - -9.073797605928635e-02 -9.051766837713708e-02 -9.029745274779008e-02 -9.007732920697027e-02 -8.985729759887780e-02 - -8.963735802530043e-02 -8.941751083887589e-02 -8.919775594907166e-02 -8.897809325953572e-02 -8.875852286193828e-02 - -8.853904483959285e-02 -8.831965916578795e-02 -8.810036569419880e-02 -8.788116467295366e-02 -8.766205635082600e-02 - -8.744304058057480e-02 -8.722411733824492e-02 -8.700528670561582e-02 -8.678654875532379e-02 -8.656790339361393e-02 - -8.634935054757228e-02 -8.613089058374623e-02 -8.591252359970507e-02 -8.569424942256174e-02 -8.547606809595372e-02 - -8.525797972327777e-02 -8.503998436304407e-02 -8.482208183975883e-02 -8.460427219735964e-02 -8.438655581333676e-02 - -8.416893266387415e-02 -8.395140264416648e-02 -8.373396580036768e-02 -8.351662221748458e-02 -8.329937190808817e-02 - -8.308221474187347e-02 -8.286515089972675e-02 -8.264818063381729e-02 -8.243130387381740e-02 -8.221452057360500e-02 - -8.199783077068876e-02 -8.178123458056528e-02 -8.156473193866548e-02 -8.134832272179610e-02 -8.113200727104515e-02 - -8.091578573554094e-02 -8.069965795549490e-02 -8.048362394306618e-02 -8.026768379237301e-02 -8.005183759034226e-02 - -7.983608519016389e-02 -7.962042660317335e-02 -7.940486220827629e-02 -7.918939199917317e-02 -7.897401585103307e-02 - -7.875873382193239e-02 -7.854354599947752e-02 -7.832845240531904e-02 -7.811345290511561e-02 -7.789854765910142e-02 - -7.768373695009409e-02 -7.746902070156129e-02 -7.725439886068521e-02 -7.703987147751143e-02 -7.682543865920169e-02 - -7.661110037032860e-02 -7.639685648697914e-02 -7.618270730319152e-02 -7.596865299784139e-02 -7.575469343456721e-02 - -7.554082861289950e-02 -7.532705861915691e-02 -7.511338355056779e-02 -7.489980327273796e-02 -7.468631776375068e-02 - -7.447292742489155e-02 -7.425963225373161e-02 -7.404643208981297e-02 -7.383332706618533e-02 -7.362031725942129e-02 - -7.340740264369265e-02 -7.319458312424655e-02 -7.298185885257603e-02 -7.276923011698885e-02 -7.255669681825400e-02 - -7.234425890125808e-02 -7.213191646645117e-02 -7.191966959969415e-02 -7.170751827394115e-02 -7.149546237742448e-02 - -7.128350216363183e-02 -7.107163782537941e-02 -7.085986923051370e-02 -7.064819639413342e-02 -7.043661941815849e-02 - -7.022513838389523e-02 -7.001375316964638e-02 -6.980246372359999e-02 -6.959127044971054e-02 -6.938017339783993e-02 - -6.916917238807876e-02 -6.895826751099868e-02 -6.874745887832359e-02 -6.853674652264935e-02 -6.832613029387129e-02 - -6.811561029537151e-02 -6.790518687416305e-02 -6.769485994872884e-02 -6.748462944761908e-02 -6.727449549181348e-02 - -6.706445814195625e-02 -6.685451736224034e-02 -6.664467305023641e-02 -6.643492546019260e-02 -6.622527482862205e-02 - -6.601572100856345e-02 -6.580626400049541e-02 -6.559690390732385e-02 -6.538764078471235e-02 -6.517847455920224e-02 - -6.496940519404462e-02 -6.476043303620643e-02 -6.455155816426872e-02 -6.434278041275177e-02 -6.413409988235154e-02 - -6.392551667227454e-02 -6.371703078482928e-02 -6.350864213121965e-02 -6.330035079826633e-02 -6.309215709125325e-02 - -6.288406097171770e-02 -6.267606236590158e-02 -6.246816137578116e-02 -6.226035810132791e-02 -6.205265253482506e-02 - -6.184504450634240e-02 -6.163753424009603e-02 -6.143012204113525e-02 -6.122280779495761e-02 -6.101559145710207e-02 - -6.080847310111580e-02 -6.060145284620669e-02 -6.039453063876327e-02 -6.018770637541451e-02 -5.998098039534337e-02 - -5.977435284136760e-02 -5.956782355675167e-02 -5.936139258218223e-02 -5.915506002510895e-02 -5.894882595975996e-02 - -5.874269025717062e-02 -5.853665294379332e-02 -5.833071438748900e-02 -5.812487459491447e-02 -5.791913345983549e-02 - -5.771349104248068e-02 -5.750794745476003e-02 -5.730250273990040e-02 -5.709715674449271e-02 -5.689190963313420e-02 - -5.668676170442684e-02 -5.648171287301057e-02 -5.627676311138611e-02 -5.607191251359627e-02 -5.586716116856662e-02 - -5.566250902085241e-02 -5.545795595276776e-02 -5.525350230977423e-02 -5.504914828197500e-02 -5.484489368806074e-02 - -5.464073856561743e-02 -5.443668303623681e-02 -5.423272717677420e-02 -5.402887087270093e-02 -5.382511411736842e-02 - -5.362145727556954e-02 -5.341790037997223e-02 -5.321444331788154e-02 -5.301108618236487e-02 -5.280782907094528e-02 - -5.260467200594416e-02 -5.240161485390568e-02 -5.219865776343095e-02 -5.199580105954085e-02 -5.179304465507040e-02 - -5.159038850941820e-02 -5.138783273765680e-02 -5.118537740030552e-02 -5.098302246878324e-02 -5.078076787428482e-02 - -5.057861387937131e-02 -5.037656068404879e-02 -5.017460818262723e-02 -4.997275637519877e-02 -4.977100534878579e-02 - -4.956935521374012e-02 -4.936780587637167e-02 -4.916635729330274e-02 -4.896500983679772e-02 -4.876376358063662e-02 - -4.856261839799727e-02 -4.836157437280066e-02 -4.816063160553166e-02 -4.795979012910388e-02 -4.775904981223175e-02 - -4.755841077230219e-02 -4.735787336181510e-02 -4.715743752596301e-02 -4.695710319390285e-02 -4.675687045398216e-02 - -4.655673941737810e-02 -4.635671009364274e-02 -4.615678236145827e-02 -4.595695644691457e-02 -4.575723258610617e-02 - -4.555761069075770e-02 -4.535809077212207e-02 -4.515867291944397e-02 -4.495935719937229e-02 -4.476014355843901e-02 - -4.456103197632578e-02 -4.436202279051898e-02 -4.416311608901573e-02 -4.396431172960501e-02 -4.376560979706327e-02 - -4.356701040970479e-02 -4.336851362154585e-02 -4.317011930970618e-02 -4.297182755295056e-02 -4.277363871130811e-02 - -4.257555275870079e-02 -4.237756961321195e-02 -4.217968936488893e-02 -4.198191211978222e-02 -4.178423789759614e-02 - -4.158666657665847e-02 -4.138919837391426e-02 -4.119183356383482e-02 -4.099457203865310e-02 -4.079741379048268e-02 - -4.060035892668235e-02 -4.040340754077800e-02 -4.020655958670875e-02 -4.000981499812348e-02 -3.981317410229721e-02 - -3.961663704352115e-02 -3.942020369405195e-02 -3.922387410519079e-02 -3.902764838570288e-02 -3.883152661169272e-02 - -3.863550868276464e-02 -3.843959464464100e-02 -3.824378485096525e-02 -3.804807931112070e-02 -3.785247793879744e-02 - -3.765698082240899e-02 -3.746158806803077e-02 -3.726629970906549e-02 -3.707111562537097e-02 -3.687603600301111e-02 - -3.668106114329449e-02 -3.648619095542227e-02 -3.629142541706046e-02 -3.609676463615045e-02 -3.590220871216067e-02 - -3.570775761915167e-02 -3.551341127587861e-02 -3.531916998478909e-02 -3.512503392646860e-02 -3.493100298239093e-02 - -3.473707719308593e-02 -3.454325666569649e-02 -3.434954148093054e-02 -3.415593156072503e-02 -3.396242692622412e-02 - -3.376902792182854e-02 -3.357573459185429e-02 -3.338254684613227e-02 -3.318946476737597e-02 -3.299648846264201e-02 - -3.280361798076661e-02 -3.261085320981364e-02 -3.241819429994710e-02 -3.222564156785773e-02 -3.203319495411584e-02 - -3.184085442350271e-02 -3.164862007407277e-02 -3.145649201602077e-02 -3.126447024597763e-02 -3.107255466700169e-02 - -3.088074555671056e-02 -3.068904313085425e-02 -3.049744727803826e-02 -3.030595802638682e-02 -3.011457548570120e-02 - -2.992329974875160e-02 -2.973213075050443e-02 -2.954106848293515e-02 -2.935011329195715e-02 -2.915926525661732e-02 - -2.896852427673346e-02 -2.877789042941862e-02 -2.858736382466336e-02 -2.839694452567641e-02 -2.820663243092813e-02 - -2.801642765839682e-02 -2.782633053619610e-02 -2.763634102981755e-02 -2.744645909471058e-02 -2.725668483048721e-02 - -2.706701834793413e-02 -2.687745966148872e-02 -2.668800867127078e-02 -2.649866562411629e-02 -2.630943076513501e-02 - -2.612030399888650e-02 -2.593128533989631e-02 -2.574237489560391e-02 -2.555357276907920e-02 -2.536487891525730e-02 - -2.517629330290238e-02 -2.498781626631630e-02 -2.479944791947400e-02 -2.461118815951395e-02 -2.442303705775731e-02 - -2.423499472682666e-02 -2.404706124098910e-02 -2.385923651050157e-02 -2.367152062237768e-02 -2.348391391197065e-02 - -2.329641637680258e-02 -2.310902796361102e-02 -2.292174876507744e-02 -2.273457889435020e-02 -2.254751838574287e-02 - -2.236056713942959e-02 -2.217372537079298e-02 -2.198699334983061e-02 -2.180037099746794e-02 -2.161385831877313e-02 - -2.142745542221016e-02 -2.124116241611923e-02 -2.105497927356034e-02 -2.086890594375282e-02 -2.068294274565517e-02 - -2.049708982965088e-02 -2.031134709508492e-02 -2.012571460207244e-02 -1.994019246558534e-02 -1.975478077426674e-02 - -1.956947944878238e-02 -1.938428854559868e-02 -1.919920840769478e-02 -1.901423906121075e-02 -1.882938044349050e-02 - -1.864463264867233e-02 -1.845999578941159e-02 -1.827546991282947e-02 -1.809105492490821e-02 -1.790675101318496e-02 - -1.772255847013706e-02 -1.753847723077995e-02 -1.735450728912205e-02 -1.717064875577919e-02 -1.698690174123156e-02 - -1.680326624034783e-02 -1.661974219495428e-02 -1.643632989539235e-02 -1.625302952284425e-02 -1.606984099009794e-02 - -1.588676434582367e-02 -1.570379970237604e-02 -1.552094715767664e-02 -1.533820665109939e-02 -1.515557821470722e-02 - -1.497306218983010e-02 -1.479065863118324e-02 -1.460836746737021e-02 -1.442618879376636e-02 -1.424412272699600e-02 - -1.406216932715821e-02 -1.388032850365394e-02 -1.369860041414062e-02 -1.351698537084881e-02 -1.333548332713773e-02 - -1.315409426742165e-02 -1.297281830737383e-02 -1.279165555870565e-02 -1.261060603011550e-02 -1.242966965324022e-02 - -1.224884670128487e-02 -1.206813738892206e-02 -1.188754163203305e-02 -1.170705946859269e-02 -1.152669101347058e-02 - -1.134643637569507e-02 -1.116629550991553e-02 -1.098626842139487e-02 -1.080635544822676e-02 -1.062655668128806e-02 - -1.044687204494093e-02 -1.026730162280993e-02 -1.008784553433474e-02 -9.908503858526582e-03 -9.729276511698201e-03 - -9.550163618928804e-03 -9.371165505355611e-03 -9.192282154920128e-03 -9.013513542246960e-03 -8.834859775588668e-03 - -8.656320970291077e-03 -8.477897155130903e-03 -8.299588259899083e-03 -8.121394531144674e-03 -7.943316209259341e-03 - -7.765353219198069e-03 -7.587505591333328e-03 -7.409773443860054e-03 -7.232156891183837e-03 -7.054655906230881e-03 - -6.877270474033493e-03 -6.700000921715352e-03 -6.522847372218281e-03 -6.345809748257097e-03 -6.168888131399519e-03 - -5.992082642122597e-03 -5.815393366379400e-03 -5.638820235869921e-03 -5.462363348533388e-03 -5.286023033805962e-03 - -5.109799304673499e-03 -4.933692127821829e-03 -4.757701606393674e-03 -4.581827861470766e-03 -4.406070940931505e-03 - -4.230430770274698e-03 -4.054907567997104e-03 -3.879501600335772e-03 -3.704212807069328e-03 -3.529041210474627e-03 - -3.353986930090703e-03 -3.179050081041732e-03 -3.004230655593028e-03 -2.829528626659512e-03 -2.654944304289923e-03 - -2.480477843039907e-03 -2.306129168890747e-03 -2.131898354626704e-03 -1.957785522367332e-03 -1.783790769612464e-03 - -1.609914041309663e-03 -1.436155409326836e-03 -1.262515208025358e-03 -1.088993476198761e-03 -9.155901719868249e-04 - -7.423054008843995e-04 -5.691392854771952e-04 -3.960918865957833e-04 -2.231631331613931e-04 -5.035321608514060e-05 - 1.223375771945329e-04 2.949092895407656e-04 4.673619084872533e-04 6.396953140537370e-04 8.119093865188150e-04 - 9.840041155727759e-04 1.155979539871523e-03 1.327835367602612e-03 1.499571413663267e-03 1.671187748049661e-03 - 1.842684305331169e-03 2.014060960896812e-03 2.185317608856639e-03 2.356454289147141e-03 2.527470954200780e-03 - 2.698367270832486e-03 2.869143169831049e-03 3.039798698561594e-03 3.210333755176400e-03 3.380748214685887e-03 - 3.551042001872539e-03 3.721215182132198e-03 3.891267592694254e-03 4.061198929412137e-03 4.231009214636464e-03 - 4.400698444839332e-03 4.570266499650065e-03 4.739713256426893e-03 4.909038688279234e-03 5.078242841339914e-03 - 5.247325443294046e-03 5.416286280121805e-03 5.585125417934797e-03 5.753842797319914e-03 5.922438289361948e-03 - 6.090911784292105e-03 6.259263304936011e-03 6.427492823105761e-03 6.595600012759487e-03 6.763584774419725e-03 - 6.931447157908777e-03 7.099187064683324e-03 7.266804368739545e-03 7.434298984071849e-03 7.601670964899477e-03 - 7.768920175905106e-03 7.936046303989365e-03 8.103049345026314e-03 8.269929303195386e-03 8.436686062480435e-03 - 8.603319496825714e-03 8.769829559891583e-03 8.936216298209541e-03 9.102479469308070e-03 9.268618835503980e-03 - 9.434634442417017e-03 9.600526244002849e-03 9.766294116521254e-03 9.931937936947469e-03 1.009745771049027e-02 - 1.026285342997890e-02 1.042812477681206e-02 1.059327162144324e-02 1.075829401681754e-02 1.092319186819127e-02 - 1.108796504594824e-02 1.125261345370748e-02 1.141713713772357e-02 1.158153598704318e-02 1.174580967555363e-02 - 1.190995817803677e-02 1.207398151021485e-02 1.223787955540131e-02 1.240165218070774e-02 1.256529932365555e-02 - 1.272882103806231e-02 1.289221710280211e-02 1.305548725320952e-02 1.321863152957668e-02 1.338164989105289e-02 - 1.354454220587777e-02 1.370730835288826e-02 1.386994832163190e-02 1.403246211588375e-02 1.419484943187744e-02 - 1.435711010999991e-02 1.451924419921884e-02 1.468125161270911e-02 1.484313222013652e-02 1.500488591571896e-02 - 1.516651273046586e-02 1.532801257754355e-02 1.548938513124086e-02 1.565063033579857e-02 1.581174821092933e-02 - 1.597273864701365e-02 1.613360150922888e-02 1.629433671764488e-02 1.645494432276120e-02 1.661542413184349e-02 - 1.677577586209575e-02 1.693599953321696e-02 1.709609511287956e-02 1.725606247097126e-02 1.741590148147653e-02 - 1.757561211738663e-02 1.773519439308624e-02 1.789464801957598e-02 1.805397280960725e-02 1.821316881163111e-02 - 1.837223594327105e-02 1.853117406905512e-02 1.868998307594014e-02 1.884866298214414e-02 1.900721372338833e-02 - 1.916563497459167e-02 1.932392665507269e-02 1.948208878919649e-02 1.964012126059438e-02 1.979802393750615e-02 - 1.995579673545799e-02 2.011343968946751e-02 2.027095263124555e-02 2.042833526879373e-02 2.058558759933038e-02 - 2.074270959919291e-02 2.089970114286997e-02 2.105656209513535e-02 2.121329241031374e-02 2.136989211400533e-02 - 2.152636093833320e-02 2.168269866776463e-02 2.183890534086288e-02 2.199498088647827e-02 2.215092516911965e-02 - 2.230673806408907e-02 2.246241957468516e-02 2.261796965793072e-02 2.277338799181243e-02 2.292867446749406e-02 - 2.308382911412376e-02 2.323885181888266e-02 2.339374244699652e-02 2.354850090287507e-02 2.370312721409915e-02 - 2.385762123470989e-02 2.401198266010886e-02 2.416621147301771e-02 2.432030765671687e-02 2.447427107682733e-02 - 2.462810160176357e-02 2.478179917471193e-02 2.493536381795363e-02 2.508879528739230e-02 2.524209334527653e-02 - 2.539525801488748e-02 2.554828923354157e-02 2.570118686847216e-02 2.585395079171064e-02 2.600658098606827e-02 - 2.615907742012537e-02 2.631143978762620e-02 2.646366795301069e-02 2.661576194257877e-02 2.676772164859378e-02 - 2.691954693391293e-02 2.707123769272043e-02 2.722279394328245e-02 2.737421556407061e-02 2.752550224474631e-02 - 2.767665393933695e-02 2.782767063812680e-02 2.797855221700411e-02 2.812929853552858e-02 2.827990951702357e-02 - 2.843038519104858e-02 2.858072533585580e-02 2.873092969062032e-02 2.888099827101270e-02 2.903093101911967e-02 - 2.918072779556083e-02 2.933038847140823e-02 2.947991301658642e-02 2.962930141213865e-02 2.977855336278226e-02 - 2.992766870509821e-02 3.007664746318324e-02 3.022548953626840e-02 3.037419478553557e-02 3.052276309616091e-02 - 3.067119447416764e-02 3.081948881896879e-02 3.096764581778017e-02 3.111566540198458e-02 3.126354756710210e-02 - 3.141129218718559e-02 3.155889912410548e-02 3.170636829125183e-02 3.185369970791438e-02 3.200089317518744e-02 - 3.214794841776677e-02 3.229486543634106e-02 3.244164418203412e-02 3.258828451581320e-02 3.273478630264194e-02 - 3.288114949586567e-02 3.302737408530167e-02 3.317345979235018e-02 3.331940642975919e-02 3.346521401820098e-02 - 3.361088246101045e-02 3.375641161607764e-02 3.390180136352038e-02 3.404705169548587e-02 3.419216253016829e-02 - 3.433713355905806e-02 3.448196468652563e-02 3.462665590981111e-02 3.477120710939272e-02 3.491561814527116e-02 - 3.505988891618091e-02 3.520401943397326e-02 3.534800952666442e-02 3.549185891051008e-02 3.563556756111654e-02 - 3.577913543618631e-02 3.592256240340591e-02 3.606584831947614e-02 3.620899312153205e-02 3.635199681091714e-02 - 3.649485912620978e-02 3.663757985375464e-02 3.678015900636063e-02 3.692259649832257e-02 3.706489218607827e-02 - 3.720704593508108e-02 3.734905772908955e-02 3.749092751022131e-02 3.763265496742431e-02 3.777423997951684e-02 - 3.791568254953915e-02 3.805698256030369e-02 3.819813986869797e-02 3.833915436267914e-02 3.848002605018682e-02 - 3.862075477984065e-02 3.876134025391093e-02 3.890178243600422e-02 3.904208129158644e-02 3.918223668100989e-02 - 3.932224846044379e-02 3.946211655605483e-02 3.960184097189857e-02 3.974142146457355e-02 3.988085779819951e-02 - 4.002014997942075e-02 4.015929792921669e-02 4.029830150192959e-02 4.043716055991190e-02 4.057587507004282e-02 - 4.071444498657769e-02 4.085287001066611e-02 4.099114999824743e-02 4.112928495212512e-02 4.126727475679569e-02 - 4.140511926665246e-02 4.154281836167219e-02 4.168037204269245e-02 4.181778018003033e-02 4.195504246778908e-02 - 4.209215884913708e-02 4.222912929605258e-02 4.236595366776428e-02 4.250263182248033e-02 4.263916367566677e-02 - 4.277554922465009e-02 4.291178824859961e-02 4.304788049654025e-02 4.318382596138427e-02 4.331962457087349e-02 - 4.345527617981602e-02 4.359078064797250e-02 4.372613792550029e-02 4.386134797486977e-02 4.399641051415262e-02 - 4.413132537776133e-02 4.426609256403441e-02 4.440071196061698e-02 4.453518342174363e-02 4.466950682320869e-02 - 4.480368214879805e-02 4.493770928728694e-02 4.507158793990715e-02 4.520531802497359e-02 4.533889951667943e-02 - 4.547233228082954e-02 4.560561616979211e-02 4.573875108353129e-02 4.587173702317195e-02 4.600457379177124e-02 - 4.613726112101928e-02 4.626979898466685e-02 4.640218731770854e-02 4.653442597807410e-02 4.666651481740990e-02 - 4.679845378497393e-02 4.693024287357150e-02 4.706188178521280e-02 4.719337030512012e-02 4.732470843170088e-02 - 4.745589609974604e-02 4.758693317708736e-02 4.771781949014568e-02 4.784855500276729e-02 4.797913963655120e-02 - 4.810957311625792e-02 4.823985532440599e-02 4.836998622519359e-02 4.849996572088229e-02 4.862979364778694e-02 - 4.875946986129576e-02 4.888899438454671e-02 4.901836703838853e-02 4.914758752328308e-02 4.927665585368439e-02 - 4.940557196434897e-02 4.953433564666962e-02 4.966294680168561e-02 4.979140536998770e-02 4.991971127467005e-02 - 5.004786430086550e-02 5.017586426593462e-02 5.030371111424699e-02 5.043140473941395e-02 5.055894500969876e-02 - 5.068633180855401e-02 5.081356509387767e-02 5.094064477169723e-02 5.106757053524139e-02 5.119434226596677e-02 - 5.132095996453229e-02 5.144742351517578e-02 5.157373274644007e-02 5.169988750799723e-02 5.182588783131492e-02 - 5.195173357105356e-02 5.207742440366903e-02 5.220296027189056e-02 5.232834113948501e-02 5.245356688434039e-02 - 5.257863735375337e-02 5.270355244318054e-02 5.282831211610928e-02 5.295291615700908e-02 5.307736435753736e-02 - 5.320165668494783e-02 5.332579302368824e-02 5.344977322479061e-02 5.357359720391287e-02 5.369726488407797e-02 - 5.382077614890905e-02 5.394413077320572e-02 5.406732861255047e-02 5.419036960275756e-02 5.431325364836510e-02 - 5.443598061485443e-02 5.455855035736775e-02 5.468096283548277e-02 5.480321791614200e-02 5.492531533836561e-02 - 5.504725504027442e-02 5.516903696522249e-02 5.529066094250196e-02 5.541212681912044e-02 5.553343451105355e-02 - 5.565458402054679e-02 5.577557512714444e-02 5.589640757833542e-02 5.601708136214176e-02 5.613759637012277e-02 - 5.625795242697428e-02 5.637814944133901e-02 5.649818735356010e-02 5.661806606948155e-02 5.673778531909066e-02 - 5.685734496106067e-02 5.697674499811992e-02 5.709598525886500e-02 5.721506557962035e-02 5.733398588420521e-02 - 5.745274613557275e-02 5.757134619305772e-02 5.768978576165893e-02 5.780806477237931e-02 5.792618319490116e-02 - 5.804414085654030e-02 5.816193759992416e-02 5.827957333255503e-02 5.839704805764100e-02 5.851436157058919e-02 - 5.863151359019340e-02 5.874850407742044e-02 5.886533297606138e-02 5.898200016057164e-02 5.909850545490182e-02 - 5.921484876799358e-02 5.933103006596772e-02 5.944704910278828e-02 5.956290569090495e-02 5.967859979076014e-02 - 5.979413129454921e-02 5.990950006107775e-02 6.002470595625681e-02 6.013974894676900e-02 6.025462892974234e-02 - 6.036934559538653e-02 6.048389882575328e-02 6.059828859366181e-02 6.071251478747773e-02 6.082657726499330e-02 - 6.094047589468096e-02 6.105421060960093e-02 6.116778124880510e-02 6.128118760026364e-02 6.139442960439424e-02 - 6.150750715787331e-02 6.162042008748835e-02 6.173316829355946e-02 6.184575170612789e-02 6.195817023946892e-02 - 6.207042366308074e-02 6.218251178412997e-02 6.229443455021107e-02 6.240619187345142e-02 6.251778362644587e-02 - 6.262920965673664e-02 6.274046989094115e-02 6.285156423838029e-02 6.296249246083868e-02 6.307325441937692e-02 - 6.318385004239983e-02 6.329427920287174e-02 6.340454177652059e-02 6.351463766120390e-02 6.362456678994362e-02 - 6.373432899407734e-02 6.384392402667542e-02 6.395335181995393e-02 6.406261231361865e-02 6.417170537725830e-02 - 6.428063082883417e-02 6.438938856382127e-02 6.449797859582693e-02 6.460640069400744e-02 6.471465460887021e-02 - 6.482274028565467e-02 6.493065766530991e-02 6.503840663024645e-02 6.514598697176463e-02 6.525339863731919e-02 - 6.536064160053869e-02 6.546771556229376e-02 6.557462036169828e-02 6.568135597564134e-02 6.578792228094754e-02 - 6.589431913461476e-02 6.600054641494822e-02 6.610660407274732e-02 6.621249195669229e-02 6.631820979208959e-02 - 6.642375751800587e-02 6.652913508526218e-02 6.663434233390064e-02 6.673937912206085e-02 6.684424535139094e-02 - 6.694894096694531e-02 6.705346576057515e-02 6.715781952052316e-02 6.726200223606826e-02 6.736601378290344e-02 - 6.746985396850236e-02 6.757352270136854e-02 6.767701992273348e-02 6.778034554033589e-02 6.788349929667206e-02 - 6.798648102682574e-02 6.808929069330329e-02 6.819192820375723e-02 6.829439341428477e-02 6.839668615716293e-02 - 6.849880637697058e-02 6.860075397106770e-02 6.870252870886938e-02 6.880413046413429e-02 6.890555915577500e-02 - 6.900681468090485e-02 6.910789689150486e-02 6.920880565820778e-02 6.930954094436353e-02 6.941010257623929e-02 - 6.951049032497619e-02 6.961070411466443e-02 6.971074386483528e-02 6.981060945693285e-02 6.991030074013053e-02 - 7.000981760721879e-02 7.010915998226322e-02 7.020832768385020e-02 7.030732053981503e-02 7.040613843777971e-02 - 7.050478130476578e-02 7.060324902125202e-02 7.070154139632766e-02 7.079965841104072e-02 7.089759998592053e-02 - 7.099536579014293e-02 7.109295574922263e-02 7.119036986301433e-02 7.128760792254588e-02 7.138466979343019e-02 - 7.148155540894172e-02 7.157826467726322e-02 7.167479742578257e-02 7.177115345207208e-02 7.186733268619028e-02 - 7.196333504975572e-02 7.205916041090092e-02 7.215480858692887e-02 7.225027948023270e-02 7.234557308374470e-02 - 7.244068916926014e-02 7.253562753252076e-02 7.263038813284139e-02 7.272497087062332e-02 7.281937559790036e-02 - 7.291360215228662e-02 7.300765049821943e-02 7.310152057265214e-02 7.319521208383468e-02 7.328872490709243e-02 - 7.338205901635925e-02 7.347521425841259e-02 7.356819049091311e-02 7.366098761637971e-02 7.375360558736099e-02 - 7.384604424623381e-02 7.393830334347133e-02 7.403038279875497e-02 7.412228254437477e-02 7.421400245985316e-02 - 7.430554241104276e-02 7.439690229021774e-02 7.448808202204141e-02 7.457908141717452e-02 7.466990029970315e-02 - 7.476053861745356e-02 7.485099625058683e-02 7.494127304678436e-02 7.503136889191833e-02 7.512128371784581e-02 - 7.521101743547498e-02 7.530056981436373e-02 7.538994071268737e-02 7.547913007544443e-02 7.556813780083994e-02 - 7.565696374971752e-02 7.574560777501017e-02 7.583406981695588e-02 7.592234975180168e-02 7.601044736291800e-02 - 7.609836256769248e-02 7.618609528331391e-02 7.627364535037680e-02 7.636101265407126e-02 7.644819711937149e-02 - 7.653519868718589e-02 7.662201715447789e-02 7.670865230880411e-02 7.679510411035856e-02 7.688137246970578e-02 - 7.696745724207896e-02 7.705335828035317e-02 7.713907552614908e-02 7.722460893765626e-02 7.730995825366380e-02 - 7.739512330293280e-02 7.748010405365591e-02 7.756490042829636e-02 7.764951228919105e-02 7.773393946198498e-02 - 7.781818189157449e-02 7.790223948237281e-02 7.798611201876808e-02 7.806979939436651e-02 7.815330154059554e-02 - 7.823661834982702e-02 7.831974966729814e-02 7.840269536418043e-02 7.848545542109749e-02 7.856802968700778e-02 - 7.865041794492959e-02 7.873262009221961e-02 7.881463606524114e-02 7.889646578364969e-02 7.897810905385311e-02 - 7.905956578813299e-02 7.914083598393755e-02 7.922191938944982e-02 7.930281582198326e-02 7.938352526916173e-02 - 7.946404763288464e-02 7.954438277705837e-02 7.962453057021987e-02 7.970449093695484e-02 7.978426377009373e-02 - 7.986384886265184e-02 7.994324611178145e-02 8.002245546069972e-02 8.010147680163558e-02 8.018030998339011e-02 - 8.025895486859348e-02 8.033741142939121e-02 8.041567953647351e-02 8.049375898816008e-02 8.057164970191152e-02 - 8.064935159117341e-02 8.072686453538828e-02 8.080418841559016e-02 8.088132313650849e-02 8.095826861741187e-02 - 8.103502469212946e-02 8.111159121525567e-02 8.118796811657426e-02 8.126415526945288e-02 8.134015254787534e-02 - 8.141595988122388e-02 8.149157718184835e-02 8.156700432424771e-02 8.164224113093393e-02 8.171728750211138e-02 - 8.179214337283539e-02 8.186680860558979e-02 8.194128308109257e-02 8.201556671181809e-02 8.208965942384167e-02 - 8.216356107347705e-02 8.223727146913333e-02 8.231079055026533e-02 8.238411825286719e-02 8.245725445426123e-02 - 8.253019901019013e-02 8.260295182089074e-02 8.267551284923887e-02 8.274788192985057e-02 8.282005889192648e-02 - 8.289204367192234e-02 8.296383619751495e-02 8.303543635380874e-02 8.310684396376640e-02 8.317805898151856e-02 - 8.324908138250064e-02 8.331991092178788e-02 8.339054746670159e-02 8.346099098907200e-02 8.353124136246602e-02 - 8.360129848004999e-02 8.367116227251760e-02 8.374083263302687e-02 8.381030943134427e-02 8.387959252741883e-02 - 8.394868181167527e-02 8.401757720093640e-02 8.408627862550171e-02 8.415478594369409e-02 8.422309904154775e-02 - 8.429121790707177e-02 8.435914237533512e-02 8.442687225429805e-02 8.449440750560887e-02 8.456174803803686e-02 - 8.462889372267089e-02 8.469584447602406e-02 8.476260023136410e-02 8.482916090148240e-02 8.489552630009754e-02 - 8.496169630228255e-02 8.502767086164854e-02 8.509344988672647e-02 8.515903326018803e-02 8.522442086136313e-02 - 8.528961263471936e-02 8.535460848680074e-02 8.541940824041729e-02 8.548401181612168e-02 8.554841915131453e-02 - 8.561263012321893e-02 8.567664461211427e-02 8.574046253447680e-02 8.580408386832587e-02 8.586750845589863e-02 - 8.593073610333024e-02 8.599376680387132e-02 8.605660047760594e-02 8.611923696874126e-02 8.618167618396408e-02 - 8.624391807608472e-02 8.630596259724549e-02 8.636780954833972e-02 8.642945878839840e-02 8.649091029427977e-02 - 8.655216396695875e-02 8.661321970043215e-02 8.667407742210617e-02 8.673473702989365e-02 8.679519841504303e-02 - 8.685546148336530e-02 8.691552612855238e-02 8.697539224666265e-02 8.703505975750943e-02 8.709452857692032e-02 - 8.715379861893667e-02 8.721286980508075e-02 8.727174201224434e-02 8.733041510377958e-02 8.738888903629666e-02 - 8.744716372671989e-02 8.750523904187274e-02 8.756311491392924e-02 8.762079127795709e-02 8.767826803995526e-02 - 8.773554506310657e-02 8.779262223690780e-02 8.784949951260017e-02 8.790617682173207e-02 8.796265406226209e-02 - 8.801893109931651e-02 8.807500788687952e-02 8.813088437660771e-02 8.818656039674132e-02 8.824203585227545e-02 - 8.829731070095961e-02 8.835238486000704e-02 8.840725822106667e-02 8.846193068214857e-02 8.851640221803356e-02 - 8.857067273700293e-02 8.862474207580676e-02 8.867861014722141e-02 8.873227689758616e-02 8.878574227696898e-02 - 8.883900618220902e-02 8.889206851560667e-02 8.894492921167085e-02 8.899758815302622e-02 8.905004524008538e-02 - 8.910230044719054e-02 8.915435367300073e-02 8.920620479173334e-02 8.925785373448247e-02 8.930930045917142e-02 - 8.936054490961548e-02 8.941158695191696e-02 8.946242647641844e-02 8.951306341364354e-02 8.956349771969928e-02 - 8.961372931388180e-02 8.966375808278661e-02 8.971358396554302e-02 8.976320688963368e-02 8.981262675341668e-02 - 8.986184348935064e-02 8.991085703129179e-02 8.995966729258320e-02 9.000827417122792e-02 9.005667759770250e-02 - 9.010487756379584e-02 9.015287394264000e-02 9.020066659275561e-02 9.024825550203337e-02 9.029564061179933e-02 - 9.034282181894199e-02 9.038979902630290e-02 9.043657218570805e-02 9.048314126656666e-02 9.052950615463343e-02 - 9.057566675480395e-02 9.062162300961238e-02 9.066737484935303e-02 9.071292219781772e-02 9.075826498061153e-02 - 9.080340315127385e-02 9.084833664156222e-02 9.089306533771581e-02 9.093758915627431e-02 9.098190804149961e-02 - 9.102602195783284e-02 9.106993084471440e-02 9.111363462196023e-02 9.115713320054021e-02 9.120042650346059e-02 - 9.124351446434358e-02 9.128639702175202e-02 9.132907412994692e-02 9.137154573427010e-02 9.141381170435277e-02 - 9.145587198962597e-02 9.149772660800266e-02 9.153937542844172e-02 9.158081834977004e-02 9.162205535599281e-02 - 9.166308637778346e-02 9.170391133536025e-02 9.174453017072061e-02 9.178494285856946e-02 9.182514933661440e-02 - 9.186514945794547e-02 9.190494319482566e-02 9.194453054665523e-02 9.198391140758180e-02 9.202308569543158e-02 - 9.206205336702038e-02 9.210081441034919e-02 9.213936875086109e-02 9.217771627651770e-02 9.221585694962209e-02 - 9.225379072840771e-02 9.229151754885842e-02 9.232903734819613e-02 9.236635007909103e-02 9.240345570404732e-02 - 9.244035413434255e-02 9.247704529963750e-02 9.251352918345666e-02 9.254980573968512e-02 9.258587489795035e-02 - 9.262173657649034e-02 9.265739073985793e-02 9.269283735974691e-02 9.272807636276849e-02 9.276310769047050e-02 - 9.279793130272118e-02 9.283254716719631e-02 9.286695521394739e-02 9.290115536246511e-02 9.293514761281572e-02 - 9.296893192325742e-02 9.300250819824006e-02 9.303587638369953e-02 9.306903645092859e-02 9.310198837852499e-02 - 9.313473209662422e-02 9.316726755984403e-02 9.319959477466139e-02 9.323171364631608e-02 9.326362408592948e-02 - 9.329532610133226e-02 9.332681964339190e-02 9.335810464438972e-02 9.338918108249107e-02 9.342004893308628e-02 - 9.345070815580041e-02 9.348115868437977e-02 9.351140046962789e-02 9.354143348306601e-02 9.357125770365762e-02 - 9.360087308621738e-02 9.363027956518245e-02 9.365947710363894e-02 9.368846567300493e-02 9.371724524372237e-02 - 9.374581578300241e-02 9.377417725111503e-02 9.380232960142115e-02 9.383027280206080e-02 9.385800682788301e-02 - 9.388553164914089e-02 9.391284719773688e-02 9.393995342276806e-02 9.396685035781838e-02 9.399353796706621e-02 - 9.402001617537038e-02 9.404628495786660e-02 9.407234429781461e-02 9.409819417117830e-02 9.412383453169183e-02 - 9.414926534580341e-02 9.417448659641373e-02 9.419949825736050e-02 9.422430029380560e-02 9.424889267135104e-02 - 9.427327539998738e-02 9.429744844865905e-02 9.432141171534560e-02 9.434516522540957e-02 9.436870900006604e-02 - 9.439204294634228e-02 9.441516705436934e-02 9.443808133745002e-02 9.446078573953387e-02 9.448328023801857e-02 - 9.450556483411636e-02 9.452763950923013e-02 9.454950421611270e-02 9.457115890701832e-02 9.459260360830167e-02 - 9.461383832574666e-02 9.463486302352626e-02 9.465567765409444e-02 9.467628220109425e-02 9.469667668274938e-02 - 9.471686106967921e-02 9.473683533004949e-02 9.475659945563136e-02 9.477615343325803e-02 9.479549725292793e-02 - 9.481463091432241e-02 9.483355439545672e-02 9.485226766778346e-02 9.487077071788189e-02 9.488906353992572e-02 - 9.490714613644993e-02 9.492501852119042e-02 9.494268066964073e-02 9.496013253895599e-02 9.497737414244060e-02 - 9.499440547543551e-02 9.501122651272445e-02 9.502783728094538e-02 9.504423778187990e-02 9.506042797340242e-02 - 9.507640785191551e-02 9.509217742006319e-02 9.510773667189122e-02 9.512308563868060e-02 9.513822432123879e-02 - 9.515315264231193e-02 9.516787063845662e-02 9.518237836728226e-02 9.519667577724227e-02 9.521076284349063e-02 - 9.522463958294539e-02 9.523830604498588e-02 9.525176221483619e-02 9.526500804718509e-02 9.527804359769618e-02 - 9.529086886623650e-02 9.530348379689602e-02 9.531588845120076e-02 9.532808286166987e-02 9.534006699012688e-02 - 9.535184085361241e-02 9.536340447105748e-02 9.537475783364874e-02 9.538590095359538e-02 9.539683385237334e-02 - 9.540755654711666e-02 9.541806903829181e-02 9.542837132640679e-02 9.543846343230179e-02 9.544834536597921e-02 - 9.545801714100983e-02 9.546747880593646e-02 9.547673036184304e-02 9.548577178084619e-02 9.549460309483834e-02 - 9.550322434581640e-02 9.551163556335956e-02 9.551983673903520e-02 9.552782788036314e-02 9.553560902903191e-02 - 9.554318022933674e-02 9.555054148771730e-02 9.555769276632298e-02 9.556463412975340e-02 9.557136563747151e-02 - 9.557788725689133e-02 9.558419903459103e-02 9.559030102901959e-02 9.559619321427665e-02 9.560187562136102e-02 - 9.560734830883322e-02 9.561261127917654e-02 9.561766456108449e-02 9.562250820572099e-02 9.562714223416331e-02 - 9.563156666435306e-02 9.563578152405575e-02 9.563978686682097e-02 9.564358272631937e-02 9.564716910782914e-02 - 9.565054604965099e-02 9.565371359980702e-02 9.565667179877529e-02 9.565942066526258e-02 9.566196023293236e-02 - 9.566429057683135e-02 9.566641172752892e-02 9.566832368940979e-02 9.567002647518966e-02 9.567152016429874e-02 - 9.567280484915060e-02 9.567388053004788e-02 9.567474721294261e-02 9.567540493730267e-02 9.567585379392737e-02 - 9.567609383300600e-02 9.567612506298810e-02 9.567594754568214e-02 9.567556133790830e-02 9.567496647244744e-02 - 9.567416299512438e-02 9.567315095370396e-02 9.567193039196389e-02 9.567050136232016e-02 9.566886392120964e-02 - 9.566701812558283e-02 9.566496403827787e-02 9.566270170884209e-02 9.566023115264767e-02 9.565755243736668e-02 - 9.565466564791879e-02 9.565157080775241e-02 9.564826797386157e-02 9.564475723264595e-02 9.564103864027859e-02 - 9.563711223757489e-02 9.563297806735498e-02 9.562863621895812e-02 9.562408675116861e-02 9.561932968250994e-02 - 9.561436511583814e-02 9.560919313325968e-02 9.560381374743886e-02 9.559822704785555e-02 9.559243313048145e-02 - 9.558643203289170e-02 9.558022378864620e-02 9.557380846466877e-02 9.556718619530349e-02 9.556035703327785e-02 - 9.555332100122134e-02 9.554607821247386e-02 9.553862873475936e-02 9.553097259908433e-02 9.552310989218279e-02 - 9.551504070130773e-02 9.550676510186747e-02 9.549828317393894e-02 9.548959500356741e-02 9.548070067318166e-02 - 9.547160021295119e-02 9.546229369018946e-02 9.545278124506257e-02 9.544306292579091e-02 9.543313878273989e-02 - 9.542300894892854e-02 9.541267351639289e-02 9.540213254817664e-02 9.539138610562420e-02 9.538043425774057e-02 - 9.536927709152246e-02 9.535791472882026e-02 9.534634726779553e-02 9.533457478138217e-02 9.532259734256758e-02 - 9.531041503990305e-02 9.529802797105680e-02 9.528543620462085e-02 9.527263983869082e-02 9.525963900525855e-02 - 9.524643375927100e-02 9.523302417643500e-02 9.521941040061487e-02 9.520559252291068e-02 9.519157060486365e-02 - 9.517734471153570e-02 9.516291499670615e-02 9.514828160467456e-02 9.513344455080376e-02 9.511840393248631e-02 - 9.510315989360162e-02 9.508771251519674e-02 9.507206189457258e-02 9.505620814925633e-02 9.504015138530268e-02 - 9.502389169582724e-02 9.500742917228551e-02 9.499076394524120e-02 9.497389612890822e-02 9.495682580659018e-02 - 9.493955308203066e-02 9.492207807526097e-02 9.490440091330225e-02 9.488652168366014e-02 9.486844048723730e-02 - 9.485015747906970e-02 9.483167277063544e-02 9.481298644119306e-02 9.479409856622809e-02 9.477500930738031e-02 - 9.475571884085587e-02 9.473622721810367e-02 9.471653454723004e-02 9.469664098786204e-02 9.467654664635866e-02 - 9.465625162221861e-02 9.463575602621152e-02 9.461505999415500e-02 9.459416367044585e-02 9.457306719633034e-02 - 9.455177068421998e-02 9.453027423759350e-02 9.450857796468222e-02 9.448668199276268e-02 9.446458647203468e-02 - 9.444229157255099e-02 9.441979739649474e-02 9.439710403006842e-02 9.437421161454676e-02 9.435112031829759e-02 - 9.432783029179438e-02 9.430434160094567e-02 9.428065438538669e-02 9.425676883924589e-02 9.423268508508292e-02 - 9.420840322981890e-02 9.418392339716981e-02 9.415924578030670e-02 9.413437051700123e-02 9.410929767030043e-02 - 9.408402741009517e-02 9.405855992335012e-02 9.403289535840260e-02 9.400703383941893e-02 9.398097549341558e-02 - 9.395472046838550e-02 9.392826889502673e-02 9.390162091553057e-02 9.387477672023849e-02 9.384773645864139e-02 - 9.382050025947151e-02 9.379306828457251e-02 9.376544068778003e-02 9.373761760606118e-02 9.370959916011609e-02 - 9.368138552427184e-02 9.365297690930323e-02 9.362437342817573e-02 9.359557520850639e-02 9.356658243379877e-02 - 9.353739529945312e-02 9.350801394425273e-02 9.347843843855524e-02 9.344866901272440e-02 9.341870589097585e-02 - 9.338854915644307e-02 9.335819897637819e-02 9.332765555734250e-02 9.329691906420928e-02 9.326598960092489e-02 - 9.323486729288316e-02 9.320355242698486e-02 9.317204517635257e-02 9.314034562740874e-02 9.310845398153604e-02 - 9.307637042858882e-02 9.304409511565054e-02 9.301162817412864e-02 9.297896979469056e-02 9.294612022999450e-02 - 9.291307963943660e-02 9.287984815938743e-02 9.284642594887814e-02 9.281281319942865e-02 9.277901009754375e-02 - 9.274501679883909e-02 9.271083349621308e-02 9.267646039527271e-02 9.264189767811302e-02 9.260714551564306e-02 - 9.257220408228978e-02 9.253707357624473e-02 9.250175417101536e-02 9.246624602802385e-02 9.243054935165987e-02 - 9.239466434718238e-02 9.235859120974489e-02 9.232233012999355e-02 9.228588129454922e-02 9.224924488066757e-02 - 9.221242103323031e-02 9.217540995047416e-02 9.213821191347883e-02 9.210082709355732e-02 9.206325564930115e-02 - 9.202549780755387e-02 9.198755374602623e-02 9.194942363528436e-02 9.191110769995278e-02 9.187260614753277e-02 - 9.183391917841241e-02 9.179504701848260e-02 9.175598985687712e-02 9.171674785963810e-02 9.167732123351167e-02 - 9.163771019528422e-02 9.159791495855178e-02 9.155793572040530e-02 9.151777270193290e-02 9.147742614628342e-02 - 9.143689622063791e-02 9.139618310892414e-02 9.135528705455570e-02 9.131420824439858e-02 9.127294688450004e-02 - 9.123150325806001e-02 9.118987755991119e-02 9.114806996063474e-02 9.110608069642255e-02 9.106390998608170e-02 - 9.102155802996120e-02 9.097902503011562e-02 9.093631123402490e-02 9.089341690732793e-02 9.085034224655422e-02 - 9.080708743846595e-02 9.076365269164367e-02 9.072003828369785e-02 9.067624443485320e-02 9.063227129485288e-02 - 9.058811915193726e-02 9.054378827004000e-02 9.049927881221763e-02 9.045459103770109e-02 9.040972520178260e-02 - 9.036468147234690e-02 9.031946007844127e-02 9.027406127956829e-02 9.022848531585773e-02 9.018273243214560e-02 - 9.013680287341128e-02 9.009069686920407e-02 9.004441462623869e-02 8.999795635152021e-02 8.995132231203949e-02 - 8.990451276610797e-02 8.985752795281814e-02 8.981036812557305e-02 8.976303351703613e-02 8.971552434037033e-02 - 8.966784087291869e-02 8.961998334831080e-02 8.957195192338249e-02 8.952374693198487e-02 8.947536869631613e-02 - 8.942681737354224e-02 8.937809319632291e-02 8.932919644498671e-02 8.928012738635183e-02 8.923088623240803e-02 - 8.918147319450437e-02 8.913188858291199e-02 8.908213269254797e-02 8.903220577223506e-02 8.898210800726358e-02 - 8.893183965769864e-02 8.888140104180198e-02 8.883079233855783e-02 8.878001380541380e-02 8.872906581842580e-02 - 8.867794859494142e-02 8.862666233412557e-02 8.857520730323154e-02 8.852358381153494e-02 8.847179212845252e-02 - 8.841983243253916e-02 8.836770502123131e-02 8.831541022882371e-02 8.826294830990469e-02 8.821031949641793e-02 - 8.815752403748606e-02 8.810456224863354e-02 8.805143437639511e-02 8.799814063336710e-02 8.794468134879541e-02 - 8.789105684257616e-02 8.783726738270531e-02 8.778331316928159e-02 8.772919447874153e-02 8.767491167446911e-02 - 8.762046495069514e-02 8.756585454037039e-02 8.751108081839833e-02 8.745614408581825e-02 8.740104459021790e-02 - 8.734578256007368e-02 8.729035830815834e-02 8.723477214343743e-02 8.717902426868683e-02 8.712311501918556e-02 - 8.706704476846663e-02 8.701081371877695e-02 8.695442211628683e-02 8.689787027644420e-02 8.684115853767592e-02 - 8.678428714435096e-02 8.672725629439892e-02 8.667006642064547e-02 8.661271785522098e-02 8.655521075244504e-02 - 8.649754543067346e-02 8.643972223965939e-02 8.638174147222141e-02 8.632360334916610e-02 8.626530814542391e-02 - 8.620685627786050e-02 8.614824804295058e-02 8.608948367410735e-02 8.603056343813603e-02 8.597148768708160e-02 - 8.591225676580187e-02 8.585287085352321e-02 8.579333027004854e-02 8.573363543090719e-02 8.567378659419787e-02 - 8.561378404241062e-02 8.555362810687137e-02 8.549331906471129e-02 8.543285719635127e-02 8.537224281446841e-02 - 8.531147627953188e-02 8.525055791649624e-02 8.518948798167383e-02 8.512826679756995e-02 8.506689470133286e-02 - 8.500537199311337e-02 8.494369892596923e-02 8.488187579804041e-02 8.481990305210670e-02 8.475778099074194e-02 - 8.469550984763315e-02 8.463308996695838e-02 8.457052168539449e-02 8.450780530789033e-02 8.444494110975011e-02 - 8.438192942971584e-02 8.431877065438623e-02 8.425546507059704e-02 8.419201297696736e-02 8.412841471805475e-02 - 8.406467061549007e-02 8.400078097306259e-02 8.393674609180030e-02 8.387256634619757e-02 8.380824209666674e-02 - 8.374377362095807e-02 8.367916122870038e-02 8.361440526888680e-02 8.354950611900661e-02 8.348446403538942e-02 - 8.341927927704872e-02 8.335395233905314e-02 8.328848356223681e-02 8.322287316371958e-02 8.315712149574238e-02 - 8.309122893699929e-02 8.302519583647612e-02 8.295902243510637e-02 8.289270907781640e-02 8.282625623697057e-02 - 8.275966417678003e-02 8.269293318851907e-02 8.262606370095599e-02 8.255905601211083e-02 8.249191039312886e-02 - 8.242462718945633e-02 8.235720681988298e-02 8.228964967784431e-02 8.222195602541869e-02 8.215412621284769e-02 - 8.208616062445039e-02 8.201805954142698e-02 8.194982329150195e-02 8.188145225476894e-02 8.181294680713293e-02 - 8.174430731452863e-02 8.167553412282050e-02 8.160662752890076e-02 8.153758789030935e-02 8.146841562526554e-02 - 8.139911098330359e-02 8.132967428676124e-02 8.126010603531450e-02 8.119040656216225e-02 8.112057615694021e-02 - 8.105061517994502e-02 8.098052402265073e-02 8.091030303880128e-02 8.083995248093376e-02 8.076947276447492e-02 - 8.069886435754116e-02 8.062812754457355e-02 8.055726265736828e-02 8.048627008799529e-02 8.041515020636995e-02 - 8.034390332540668e-02 8.027252974489747e-02 8.020102993492553e-02 8.012940431195667e-02 8.005765317555476e-02 - 7.998577686939379e-02 7.991377577220368e-02 7.984165027334414e-02 7.976940065907111e-02 7.969702727793032e-02 - 7.962453065567111e-02 7.955191112254574e-02 7.947916895239987e-02 7.940630455590227e-02 7.933331833212637e-02 - 7.926021063894960e-02 7.918698178217287e-02 7.911363216326053e-02 7.904016223823181e-02 7.896657235187955e-02 - 7.889286283938438e-02 7.881903406306398e-02 7.874508643443230e-02 7.867102031060058e-02 7.859683599526633e-02 - 7.852253395767629e-02 7.844811463098400e-02 7.837357831424305e-02 7.829892537205134e-02 7.822415619643758e-02 - 7.814927116484589e-02 7.807427062910767e-02 7.799915496813195e-02 7.792392464520610e-02 7.784858004657273e-02 - 7.777312150359181e-02 7.769754936428309e-02 7.762186403791040e-02 7.754606594385612e-02 7.747015537442642e-02 - 7.739413273994507e-02 7.731799855521804e-02 7.724175314852555e-02 7.716539684747571e-02 7.708893004657069e-02 - 7.701235315053030e-02 7.693566653742440e-02 7.685887055661017e-02 7.678196565918903e-02 7.670495227727288e-02 - 7.662783073280909e-02 7.655060142689749e-02 7.647326478202995e-02 7.639582115595660e-02 7.631827089499127e-02 - 7.624061438211467e-02 7.616285210329320e-02 7.608498447266238e-02 7.600701183814436e-02 7.592893457493513e-02 - 7.585075308733022e-02 7.577246778116596e-02 7.569407897223836e-02 7.561558707997214e-02 7.553699264667676e-02 - 7.545829602219666e-02 7.537949752159374e-02 7.530059752746436e-02 7.522159652110559e-02 7.514249491290788e-02 - 7.506329293711217e-02 7.498399108869409e-02 7.490458989985715e-02 7.482508965268882e-02 7.474549074308040e-02 - 7.466579363230305e-02 7.458599868473173e-02 7.450610623924510e-02 7.442611667561436e-02 7.434603053570255e-02 - 7.426584824442337e-02 7.418557009969678e-02 7.410519651333995e-02 7.402472793153594e-02 7.394416477978479e-02 - 7.386350736456949e-02 7.378275607823381e-02 7.370191147772952e-02 7.362097394239986e-02 7.353994380500382e-02 - 7.345882147239775e-02 7.337760740248925e-02 7.329630201371148e-02 7.321490559729334e-02 7.313341861868546e-02 - 7.305184160923943e-02 7.297017492620234e-02 7.288841893034562e-02 7.280657402242413e-02 7.272464064227188e-02 - 7.264261917439505e-02 7.256050997585588e-02 7.247831356170273e-02 7.239603038649280e-02 7.231366079163171e-02 - 7.223120520116612e-02 7.214866404160214e-02 7.206603769517569e-02 7.198332653777370e-02 7.190053098792457e-02 - 7.181765153838118e-02 7.173468863077177e-02 7.165164265282598e-02 7.156851395212357e-02 7.148530298289761e-02 - 7.140201021117390e-02 7.131863593482980e-02 7.123518058493326e-02 7.115164469180060e-02 7.106802866653637e-02 - 7.098433289103630e-02 7.090055775733806e-02 7.081670370962735e-02 7.073277114629017e-02 7.064876042084919e-02 - 7.056467204467058e-02 7.048050649359339e-02 7.039626411522021e-02 7.031194531783586e-02 7.022755055007633e-02 - 7.014308026270048e-02 7.005853477507426e-02 6.997391445865883e-02 6.988921994223606e-02 6.980445161374127e-02 - 6.971960976161336e-02 6.963469490630880e-02 6.954970749457975e-02 6.946464787470261e-02 6.937951638488904e-02 - 6.929431352344900e-02 6.920903988440608e-02 6.912369577614699e-02 6.903828154824053e-02 6.895279768813133e-02 - 6.886724462309453e-02 6.878162274040467e-02 6.869593242264821e-02 6.861017418575431e-02 6.852434851303352e-02 - 6.843845573229547e-02 6.835249626715924e-02 6.826647058722328e-02 6.818037912112360e-02 6.809422221022603e-02 - 6.800800023353686e-02 6.792171381432285e-02 6.783536337902803e-02 6.774894920974223e-02 6.766247176656806e-02 - 6.757593152448671e-02 6.748932891036163e-02 6.740266425451470e-02 6.731593799992638e-02 6.722915072040272e-02 - 6.714230278026269e-02 6.705539454984789e-02 6.696842651283096e-02 6.688139909018249e-02 6.679431266253504e-02 - 6.670716761081900e-02 6.661996446504156e-02 6.653270374249923e-02 6.644538575792285e-02 6.635801090742725e-02 - 6.627057965598744e-02 6.618309245387675e-02 6.609554968705872e-02 6.600795173819872e-02 6.592029914958422e-02 - 6.583259238307172e-02 6.574483179767340e-02 6.565701780669353e-02 6.556915085921187e-02 6.548123140723705e-02 - 6.539325979064996e-02 6.530523643565112e-02 6.521716192687264e-02 6.512903665438342e-02 6.504086097557776e-02 - 6.495263535156262e-02 6.486436022769713e-02 6.477603601048113e-02 6.468766306269763e-02 6.459924187637454e-02 - 6.451077298036002e-02 6.442225675573160e-02 6.433369358016772e-02 6.424508387319842e-02 6.415642813133042e-02 - 6.406772674084167e-02 6.397898002556264e-02 6.389018858464109e-02 6.380135290132970e-02 6.371247325592760e-02 - 6.362355010153516e-02 6.353458392277617e-02 6.344557514446422e-02 6.335652411846264e-02 6.326743126079815e-02 - 6.317829713990436e-02 6.308912216326193e-02 6.299990668862973e-02 6.291065117630994e-02 6.282135608306753e-02 - 6.273202182393535e-02 6.264264873955985e-02 6.255323731562341e-02 6.246378810230178e-02 6.237430143094801e-02 - 6.228477769978175e-02 6.219521740601344e-02 6.210562097707054e-02 6.201598879095212e-02 6.192632121693314e-02 - 6.183661876812600e-02 6.174688193928092e-02 6.165711112558074e-02 6.156730673780070e-02 6.147746920022401e-02 - 6.138759893800432e-02 6.129769633241683e-02 6.120776180293847e-02 6.111779589683188e-02 6.102779903735479e-02 - 6.093777158500626e-02 6.084771398591046e-02 6.075762667844817e-02 6.066751007308262e-02 6.057736455111417e-02 - 6.048719057054321e-02 6.039698864588414e-02 6.030675917961215e-02 6.021650256672047e-02 6.012621923377075e-02 - 6.003590961818356e-02 5.994557411659043e-02 5.985521308639186e-02 5.976482706463886e-02 5.967441656528669e-02 - 5.958398192281734e-02 5.949352353003544e-02 5.940304183449088e-02 5.931253730252380e-02 5.922201027916447e-02 - 5.913146112197507e-02 5.904089044032181e-02 5.895029868043596e-02 5.885968615096351e-02 5.876905326755812e-02 - 5.867840050492581e-02 5.858772833116550e-02 5.849703703991720e-02 5.840632705235495e-02 5.831559896255584e-02 - 5.822485314806121e-02 5.813408997000494e-02 5.804330987759122e-02 5.795251328764216e-02 5.786170059865808e-02 - 5.777087221384987e-02 5.768002859772193e-02 5.758917021647553e-02 5.749829746896256e-02 5.740741077575853e-02 - 5.731651056875526e-02 5.722559725171274e-02 5.713467118430270e-02 5.704373274635539e-02 5.695278249332581e-02 - 5.686182088614487e-02 5.677084826809927e-02 5.667986504336005e-02 5.658887165217444e-02 5.649786853613976e-02 - 5.640685602792318e-02 5.631583453941855e-02 5.622480462822738e-02 5.613376666437993e-02 5.604272100502515e-02 - 5.595166813210956e-02 5.586060845174765e-02 5.576954232437998e-02 5.567847012652845e-02 5.558739236715193e-02 - 5.549630955542323e-02 5.540522197136583e-02 5.531413002536285e-02 5.522303422299683e-02 5.513193492275553e-02 - 5.504083247717721e-02 5.494972729209355e-02 5.485861988753332e-02 5.476751071228679e-02 5.467640010379995e-02 - 5.458528846418693e-02 5.449417622493567e-02 5.440306381105370e-02 5.431195155656662e-02 5.422083985771245e-02 - 5.412972927459819e-02 5.403862019627870e-02 5.394751295390937e-02 5.385640797531270e-02 5.376530569364821e-02 - 5.367420650537214e-02 5.358311072889269e-02 5.349201882499156e-02 5.340093132499041e-02 5.330984856991542e-02 - 5.321877091980749e-02 5.312769879767464e-02 5.303663263591166e-02 5.294557280318667e-02 5.285451962473617e-02 - 5.276347361952855e-02 5.267243525955664e-02 5.258140485845194e-02 5.249038280640431e-02 5.239936952998326e-02 - 5.230836544276557e-02 5.221737088032564e-02 5.212638621732711e-02 5.203541199430900e-02 5.194444860919033e-02 - 5.185349638284296e-02 5.176255572471577e-02 5.167162705674897e-02 5.158071077330502e-02 5.148980718747074e-02 - 5.139891673261619e-02 5.130803993485430e-02 5.121717713356427e-02 5.112632867301793e-02 5.103549496777923e-02 - 5.094467643725986e-02 5.085387344650644e-02 5.076308630673339e-02 5.067231551219451e-02 5.058156153920812e-02 - 5.049082469322039e-02 5.040010534612100e-02 5.030940391348503e-02 5.021872080090227e-02 5.012805633824483e-02 - 5.003741087422633e-02 4.994678493647212e-02 4.985617892926745e-02 4.976559315779018e-02 4.967502801470126e-02 - 4.958448390876292e-02 4.949396122643934e-02 4.940346027599988e-02 4.931298146262254e-02 4.922252530167843e-02 - 4.913209213539834e-02 4.904168229174269e-02 4.895129616994274e-02 4.886093417404704e-02 4.877059666413559e-02 - 4.868028394034647e-02 4.858999646754281e-02 4.849973472130898e-02 4.840949900241633e-02 4.831928966152828e-02 - 4.822910709871525e-02 4.813895171199074e-02 4.804882382564480e-02 4.795872376124456e-02 4.786865202942978e-02 - 4.777860903855367e-02 4.768859507592742e-02 4.759861051627762e-02 4.750865575639699e-02 4.741873117406014e-02 - 4.732883706721817e-02 4.723897381137243e-02 4.714914191200375e-02 4.705934171189571e-02 4.696957351961628e-02 - 4.687983771740974e-02 4.679013469431771e-02 4.670046480338604e-02 4.661082833156779e-02 4.652122571187634e-02 - 4.643165741520618e-02 4.634212373882778e-02 4.625262501422293e-02 4.616316162482947e-02 4.607373395212459e-02 - 4.598434231610999e-02 4.589498701904484e-02 4.580566854223844e-02 4.571638729424802e-02 4.562714355109129e-02 - 4.553793766452621e-02 4.544877001582995e-02 4.535964097502848e-02 4.527055082898004e-02 4.518149992236756e-02 - 4.509248874970542e-02 4.500351765014129e-02 4.491458690878355e-02 4.482569689376779e-02 4.473684797939540e-02 - 4.464804050747698e-02 4.455927474828068e-02 4.447055110499822e-02 4.438187004531898e-02 4.429323185876936e-02 - 4.420463685202721e-02 4.411608538888854e-02 4.402757783926076e-02 4.393911451733543e-02 4.385069570127949e-02 - 4.376232184208732e-02 4.367399334643604e-02 4.358571047769912e-02 4.349747356709084e-02 4.340928298020802e-02 - 4.332113907381294e-02 4.323304212320113e-02 4.314499244129432e-02 4.305699050668390e-02 4.296903665620930e-02 - 4.288113115167341e-02 4.279327434447749e-02 4.270546659199307e-02 4.261770822231841e-02 4.252999949469098e-02 - 4.244234077853745e-02 4.235473252680039e-02 4.226717502474875e-02 4.217966855846760e-02 4.209221347273914e-02 - 4.200481011967518e-02 4.191745880279663e-02 4.183015977695443e-02 4.174291346429643e-02 4.165572027077732e-02 - 4.156858044734360e-02 4.148149429654668e-02 4.139446216241891e-02 4.130748439363172e-02 4.122056125606220e-02 - 4.113369302794675e-02 4.104688016346336e-02 4.096012300095512e-02 4.087342178434451e-02 4.078677683583759e-02 - 4.070018849668031e-02 4.061365708919899e-02 4.052718285106741e-02 4.044076611819490e-02 4.035440733833207e-02 - 4.026810678092279e-02 4.018186470341873e-02 4.009568143909095e-02 4.000955732298062e-02 3.992349264534106e-02 - 3.983748763759326e-02 3.975154269055037e-02 3.966565820546299e-02 3.957983441649049e-02 3.949407160357907e-02 - 3.940837009289332e-02 3.932273021031552e-02 3.923715221270428e-02 3.915163635394041e-02 3.906618306202975e-02 - 3.898079266950179e-02 3.889546539672872e-02 3.881020154253283e-02 3.872500143016262e-02 3.863986536923758e-02 - 3.855479358615301e-02 3.846978637959592e-02 3.838484417257106e-02 3.829996723484980e-02 3.821515580420295e-02 - 3.813041018714970e-02 3.804573069687705e-02 3.796111761198420e-02 3.787657114752344e-02 3.779209165765486e-02 - 3.770767953120019e-02 3.762333499040284e-02 3.753905829251161e-02 3.745484974542636e-02 3.737070965331050e-02 - 3.728663825939783e-02 3.720263578933122e-02 3.711870264209954e-02 3.703483914671073e-02 3.695104550519348e-02 - 3.686732199057993e-02 3.678366890490292e-02 3.670008654113079e-02 3.661657511036890e-02 3.653313487804630e-02 - 3.644976625150438e-02 3.636646948823320e-02 3.628324479604935e-02 3.620009246605282e-02 3.611701279349350e-02 - 3.603400604041686e-02 3.595107239910939e-02 3.586821219020735e-02 3.578542579441001e-02 3.570271341631447e-02 - 3.562007528519529e-02 3.553751169069794e-02 3.545502291550906e-02 3.537260919186706e-02 3.529027072401183e-02 - 3.520800787214007e-02 3.512582095428173e-02 3.504371015751370e-02 3.496167573051010e-02 3.487971795476078e-02 - 3.479783710598274e-02 3.471603337811516e-02 3.463430699965583e-02 3.455265835796009e-02 3.447108770848941e-02 - 3.438959523450754e-02 3.430818119554624e-02 3.422684586511945e-02 3.414558949343227e-02 3.406441225419257e-02 - 3.398331443038755e-02 3.390229638782512e-02 3.382135832287533e-02 3.374050043789544e-02 3.365972299780525e-02 - 3.357902626321113e-02 3.349841045119794e-02 3.341787574130316e-02 3.333742246166845e-02 3.325705092272905e-02 - 3.317676129391954e-02 3.309655379649919e-02 3.301642868788483e-02 3.293638622159571e-02 3.285642658240021e-02 - 3.277654996949401e-02 3.269675673538998e-02 3.261704712715797e-02 3.253742130855802e-02 3.245787951722746e-02 - 3.237842200259459e-02 3.229904899349424e-02 3.221976065258773e-02 3.214055722659278e-02 3.206143905506719e-02 - 3.198240632628265e-02 3.190345921865954e-02 3.182459797365254e-02 3.174582282841434e-02 3.166713398447476e-02 - 3.158853160183031e-02 3.151001597036992e-02 3.143158738592136e-02 3.135324600516137e-02 3.127499202279022e-02 - 3.119682567104914e-02 3.111874718036912e-02 3.104075672462514e-02 3.096285447683152e-02 3.088504075536903e-02 - 3.080731579690068e-02 3.072967974437236e-02 3.065213281019982e-02 3.057467522135681e-02 3.049730718652442e-02 - 3.042002885157935e-02 3.034284042889533e-02 3.026574223701538e-02 3.018873445294931e-02 3.011181722724549e-02 - 3.003499077734359e-02 2.995825532248887e-02 2.988161104857855e-02 2.980505808548691e-02 2.972859668986686e-02 - 2.965222714891759e-02 2.957594959806504e-02 2.949976420500935e-02 2.942367118266701e-02 2.934767073798247e-02 - 2.927176302885600e-02 2.919594820074298e-02 2.912022654108078e-02 2.904459827654108e-02 2.896906352751058e-02 - 2.889362247668933e-02 2.881827533028623e-02 2.874302228403363e-02 2.866786346167200e-02 2.859279903706265e-02 - 2.851782931145582e-02 2.844295445253672e-02 2.836817458182308e-02 2.829348988995876e-02 2.821890057629359e-02 - 2.814440681221589e-02 2.807000870175516e-02 2.799570646465742e-02 2.792150037589211e-02 2.784739055623231e-02 - 2.777337714638600e-02 2.769946033688953e-02 2.762564030841585e-02 2.755191720229608e-02 2.747829114116882e-02 - 2.740476237631904e-02 2.733133112357609e-02 2.725799748998750e-02 2.718476162641247e-02 2.711162371095654e-02 - 2.703858392279279e-02 2.696564237390275e-02 2.689279920452167e-02 2.682005468428394e-02 2.674740897239565e-02 - 2.667486216835663e-02 2.660241443488607e-02 2.653006594727732e-02 2.645781686062815e-02 2.638566726160998e-02 - 2.631361733435826e-02 2.624166733570949e-02 2.616981737012440e-02 2.609806754771221e-02 2.602641803533937e-02 - 2.595486900051258e-02 2.588342056814261e-02 2.581207282360541e-02 2.574082599292273e-02 2.566968028470076e-02 - 2.559863577456860e-02 2.552769259041796e-02 2.545685089381796e-02 2.538611083889939e-02 2.531547252137675e-02 - 2.524493605061727e-02 2.517450166747065e-02 2.510416952086314e-02 2.503393968681819e-02 2.496381230163825e-02 - 2.489378751859868e-02 2.482386547683629e-02 2.475404624292582e-02 2.468432996264991e-02 2.461471687229032e-02 - 2.454520706873932e-02 2.447580063686782e-02 2.440649771598710e-02 2.433729844997764e-02 2.426820294893469e-02 - 2.419921127712116e-02 2.413032362216684e-02 2.406154017790910e-02 2.399286100816565e-02 2.392428621229386e-02 - 2.385581592554643e-02 2.378745028409909e-02 2.371918936700126e-02 2.365103325041379e-02 2.358298215018098e-02 - 2.351503620457756e-02 2.344719546326070e-02 2.337946004127276e-02 2.331183006962702e-02 2.324430566419196e-02 - 2.317688687789637e-02 2.310957382435168e-02 2.304236671579298e-02 2.297526563441205e-02 2.290827063843882e-02 - 2.284138184722980e-02 2.277459938171355e-02 2.270792333404544e-02 2.264135374860772e-02 2.257489077729924e-02 - 2.250853459738779e-02 2.244228525780410e-02 2.237614283279474e-02 2.231010743473913e-02 2.224417917668724e-02 - 2.217835812285958e-02 2.211264432248330e-02 2.204703795931322e-02 2.198153916317220e-02 2.191614796666107e-02 - 2.185086445220271e-02 2.178568872592581e-02 2.172062089111306e-02 2.165566098457172e-02 2.159080908357505e-02 - 2.152606537366001e-02 2.146142993110024e-02 2.139690279242156e-02 2.133248404619538e-02 2.126817379406035e-02 - 2.120397211607284e-02 2.113987903003668e-02 2.107589465469217e-02 2.101201915594272e-02 2.094825256288664e-02 - 2.088459492231405e-02 2.082104632696408e-02 2.075760686991806e-02 2.069427660166107e-02 2.063105554609518e-02 - 2.056794384972622e-02 2.050494162894281e-02 2.044204890243054e-02 2.037926573000831e-02 2.031659219454509e-02 - 2.025402837653619e-02 2.019157429898307e-02 2.012923000978476e-02 2.006699566765361e-02 2.000487133731908e-02 - 1.994285703240835e-02 1.988095281849638e-02 1.981915877663429e-02 1.975747497137283e-02 1.969590139839621e-02 - 1.963443814246610e-02 1.957308535571834e-02 1.951184305296579e-02 1.945071125524195e-02 1.938969003470093e-02 - 1.932877945979973e-02 1.926797956444602e-02 1.920729035294688e-02 1.914671194302782e-02 1.908624443873623e-02 - 1.902588783798898e-02 1.896564217312377e-02 1.890550750534374e-02 1.884548390173623e-02 1.878557136933607e-02 - 1.872576992282937e-02 1.866607969751645e-02 1.860650074902563e-02 1.854703306920867e-02 1.848767670108510e-02 - 1.842843170242723e-02 1.836929811895166e-02 1.831027593341436e-02 1.825136519709141e-02 1.819256603897189e-02 - 1.813387846842225e-02 1.807530248298604e-02 1.801683812530333e-02 1.795848544988909e-02 1.790024447932676e-02 - 1.784211518704799e-02 1.778409766075985e-02 1.772619199567190e-02 1.766839817113224e-02 1.761071619932593e-02 - 1.755314612276550e-02 1.749568797940397e-02 1.743834176385679e-02 1.738110747126647e-02 1.732398520795971e-02 - 1.726697501687009e-02 1.721007686976607e-02 1.715329079150987e-02 1.709661681774517e-02 1.704005496995066e-02 - 1.698360522175755e-02 1.692726759648597e-02 1.687104219632033e-02 1.681492902190890e-02 1.675892805218375e-02 - 1.670303930866012e-02 1.664726282100333e-02 1.659159859573434e-02 1.653604659349284e-02 1.648060687061485e-02 - 1.642527950537791e-02 1.637006446137386e-02 1.631496172845883e-02 1.625997133117372e-02 1.620509328829045e-02 - 1.615032758053278e-02 1.609567417924041e-02 1.604113316306734e-02 1.598670456411958e-02 1.593238833576510e-02 - 1.587818448257840e-02 1.582409302120838e-02 1.577011395254391e-02 1.571624723647299e-02 1.566249287063067e-02 - 1.560885093721684e-02 1.555532142372995e-02 1.550190428691725e-02 1.544859953345741e-02 1.539540716895692e-02 - 1.534232718045593e-02 1.528935952298772e-02 1.523650422043375e-02 1.518376132655854e-02 1.513113080051426e-02 - 1.507861261080395e-02 1.502620675643192e-02 1.497391324399307e-02 1.492173204313831e-02 1.486966309840608e-02 - 1.481770646058926e-02 1.476586215324725e-02 1.471413011485714e-02 1.466251032223325e-02 1.461100277337298e-02 - 1.455960746411957e-02 1.450832433725036e-02 1.445715335761371e-02 1.440609458945226e-02 1.435514801148310e-02 - 1.430431355790390e-02 1.425359121341204e-02 1.420298097105418e-02 1.415248280845771e-02 1.410209665546564e-02 - 1.405182250942155e-02 1.400166041623447e-02 1.395161031395394e-02 1.390167215017196e-02 1.385184591619880e-02 - 1.380213159317199e-02 1.375252913341631e-02 1.370303846818604e-02 1.365365962256361e-02 1.360439260851619e-02 - 1.355523734898775e-02 1.350619380184460e-02 1.345726194685572e-02 1.340844175819677e-02 1.335973317080697e-02 - 1.331113613029375e-02 1.326265067233158e-02 1.321427676765317e-02 1.316601433678336e-02 1.311786334248669e-02 - 1.306982375879771e-02 1.302189555021592e-02 1.297407863461756e-02 1.292637298076667e-02 1.287877861455418e-02 - 1.283129547339001e-02 1.278392348592105e-02 1.273666261347862e-02 1.268951282495219e-02 1.264247406704279e-02 - 1.259554625321822e-02 1.254872937642621e-02 1.250202343522368e-02 1.245542834900525e-02 1.240894405313941e-02 - 1.236257050462080e-02 1.231630767029411e-02 1.227015547343941e-02 1.222411383176151e-02 1.217818275998809e-02 - 1.213236222220244e-02 1.208665212384520e-02 1.204105241018576e-02 1.199556303854240e-02 1.195018395838791e-02 - 1.190491507365890e-02 1.185975632952753e-02 1.181470773836339e-02 1.176976922480089e-02 1.172494069835479e-02 - 1.168022211004454e-02 1.163561340968965e-02 1.159111452823667e-02 1.154672536811994e-02 1.150244589927961e-02 - 1.145827610670764e-02 1.141421589534856e-02 1.137026518661645e-02 1.132642392502224e-02 1.128269205281729e-02 - 1.123906948383837e-02 1.119555612518262e-02 1.115215196588227e-02 1.110885695891592e-02 1.106567099667937e-02 - 1.102259400831050e-02 1.097962593601935e-02 1.093676671505125e-02 1.089401623812122e-02 1.085137442757511e-02 - 1.080884127911701e-02 1.076641671182367e-02 1.072410061923310e-02 1.068189293399554e-02 1.063979359231152e-02 - 1.059780251428707e-02 1.055591958418482e-02 1.051414475108346e-02 1.047247799305691e-02 1.043091920126454e-02 - 1.038946827795377e-02 1.034812515386981e-02 1.030688975996647e-02 1.026576200007446e-02 1.022474176231751e-02 - 1.018382901647819e-02 1.014302370834395e-02 1.010232571551464e-02 1.006173495028295e-02 1.002125134058496e-02 - 9.980874808217161e-03 9.940605238090998e-03 9.900442533803457e-03 9.860386673211879e-03 9.820437566105797e-03 - 9.780595089730604e-03 9.740859166502601e-03 9.701229717604148e-03 9.661706648486619e-03 9.622289837555094e-03 - 9.582979211676392e-03 9.543774731762645e-03 9.504676285752028e-03 9.465683761437204e-03 9.426797070527869e-03 - 9.388016130061547e-03 9.349340837763126e-03 9.310771071700266e-03 9.272306774287777e-03 9.233947879847340e-03 - 9.195694263233465e-03 9.157545820041815e-03 9.119502462398593e-03 9.081564104605406e-03 9.043730620594144e-03 - 9.006001891771507e-03 8.968377884117109e-03 8.930858503326412e-03 8.893443610144467e-03 8.856133108771761e-03 - 8.818926910576046e-03 8.781824915337199e-03 8.744826984807866e-03 8.707933026764444e-03 8.671142997995955e-03 - 8.634456771198624e-03 8.597874217863410e-03 8.561395247729468e-03 8.525019762147885e-03 8.488747643810387e-03 - 8.452578758551675e-03 8.416513035074836e-03 8.380550402064440e-03 8.344690718755845e-03 8.308933866062409e-03 - 8.273279745485652e-03 8.237728259206089e-03 8.202279277607399e-03 8.166932668725525e-03 8.131688373197346e-03 - 8.096546291813443e-03 8.061506280849479e-03 8.026568229604077e-03 7.991732033790425e-03 7.956997581179438e-03 - 7.922364735477982e-03 7.887833385768220e-03 7.853403460644042e-03 7.819074838170454e-03 7.784847385209607e-03 - 7.750720988388416e-03 7.716695538073770e-03 7.682770912288046e-03 7.648946965667346e-03 7.615223607644973e-03 - 7.581600758648286e-03 7.548078272068747e-03 7.514656018308716e-03 7.481333888256649e-03 7.448111767084748e-03 - 7.414989518558892e-03 7.381967002509678e-03 7.349044141005179e-03 7.316220829119200e-03 7.283496916229069e-03 - 7.250872276568530e-03 7.218346796125786e-03 7.185920358959778e-03 7.153592811909379e-03 7.121364026156801e-03 - 7.089233934032213e-03 7.057202401526107e-03 7.025269274784423e-03 6.993434437254338e-03 6.961697770726437e-03 - 6.930059144137623e-03 6.898518406074085e-03 6.867075445461445e-03 6.835730169890301e-03 6.804482436531050e-03 - 6.773332103630715e-03 6.742279042830752e-03 6.711323134446215e-03 6.680464239400761e-03 6.649702204950062e-03 - 6.619036937093537e-03 6.588468325547939e-03 6.557996212108587e-03 6.527620458965777e-03 6.497340941897300e-03 - 6.467157538628341e-03 6.437070090473932e-03 6.407078453159759e-03 6.377182548096138e-03 6.347382238649846e-03 - 6.317677359750170e-03 6.288067782822399e-03 6.258553381641384e-03 6.229134019133821e-03 6.199809533909972e-03 - 6.170579803332374e-03 6.141444731866248e-03 6.112404164377095e-03 6.083457948651627e-03 6.054605954063168e-03 - 6.025848047899531e-03 5.997184082520315e-03 5.968613898555075e-03 5.940137388272029e-03 5.911754435973001e-03 - 5.883464876798197e-03 5.855268565478542e-03 5.827165369238958e-03 5.799155152943781e-03 5.771237757858197e-03 - 5.743413031370796e-03 5.715680873423079e-03 5.688041146137241e-03 5.660493683352233e-03 5.633038344713090e-03 - 5.605674994693767e-03 5.578403490874967e-03 5.551223666073857e-03 5.524135383482108e-03 5.497138538622371e-03 - 5.470232973711985e-03 5.443418527865922e-03 5.416695061766649e-03 5.390062436684385e-03 5.363520500801443e-03 - 5.337069085950208e-03 5.310708070645691e-03 5.284437334686721e-03 5.258256709167105e-03 5.232166039984466e-03 - 5.206165186351173e-03 5.180254006079314e-03 5.154432337116667e-03 5.128700017566677e-03 5.103056934758595e-03 - 5.077502948400768e-03 5.052037887552509e-03 5.026661602896529e-03 5.001373950974750e-03 4.976174783805283e-03 - 4.951063931174483e-03 4.926041244835856e-03 4.901106610871052e-03 4.876259869861805e-03 4.851500854152867e-03 - 4.826829416485723e-03 4.802245411238555e-03 4.777748682676776e-03 4.753339057595283e-03 4.729016402174706e-03 - 4.704780591018902e-03 4.680631452386119e-03 4.656568824906738e-03 4.632592561043116e-03 4.608702512089780e-03 - 4.584898512841469e-03 4.561180394112987e-03 4.537548032865621e-03 4.514001286180084e-03 4.490539978046344e-03 - 4.467163952568486e-03 4.443873060291688e-03 4.420667147623122e-03 4.397546041481102e-03 4.374509584352294e-03 - 4.351557654555007e-03 4.328690090868674e-03 4.305906719484884e-03 4.283207387010587e-03 4.260591942258349e-03 - 4.238060226010617e-03 4.215612060889534e-03 4.193247302342208e-03 4.170965820265097e-03 4.148767441443334e-03 - 4.126651998168965e-03 4.104619336614093e-03 4.082669303050944e-03 4.060801730082235e-03 4.039016442831475e-03 - 4.017313308452854e-03 3.995692181792875e-03 3.974152883344686e-03 3.952695251163741e-03 3.931319130911208e-03 - 3.910024364917125e-03 3.888810777810686e-03 3.867678204037116e-03 3.846626514691173e-03 3.825655547709963e-03 - 3.804765124734014e-03 3.783955087456414e-03 3.763225279741349e-03 3.742575538839424e-03 3.722005684569956e-03 - 3.701515563829318e-03 3.681105042529648e-03 3.660773945892437e-03 3.640522100973796e-03 3.620349349516141e-03 - 3.600255533338096e-03 3.580240483202974e-03 3.560304020332013e-03 3.540446002992503e-03 3.520666284206718e-03 - 3.500964682823155e-03 3.481341031384374e-03 3.461795171007476e-03 3.442326941040924e-03 3.422936165061433e-03 - 3.403622671201535e-03 3.384386323473485e-03 3.365226959961049e-03 3.346144399498565e-03 3.327138478378434e-03 - 3.308209036536853e-03 3.289355909461925e-03 3.270578915351533e-03 3.251877893639187e-03 3.233252706195778e-03 - 3.214703178029928e-03 3.196229132118811e-03 3.177830406368320e-03 3.159506839403438e-03 3.141258260810600e-03 - 3.123084488811596e-03 3.104985374197366e-03 3.086960768611876e-03 3.069010490077185e-03 3.051134366997480e-03 - 3.033332237019262e-03 3.015603936903380e-03 2.997949290147841e-03 2.980368120588831e-03 2.962860285290425e-03 - 2.945425622240710e-03 2.928063948810786e-03 2.910775098113858e-03 2.893558906982335e-03 2.876415208617919e-03 - 2.859343821344898e-03 2.842344578930633e-03 2.825417338731532e-03 2.808561926446875e-03 2.791778162629514e-03 - 2.775065882662152e-03 2.758424922052246e-03 2.741855109318431e-03 2.725356262118107e-03 2.708928224810950e-03 - 2.692570847204586e-03 2.676283947708203e-03 2.660067352018658e-03 2.643920895408666e-03 2.627844412630983e-03 - 2.611837727127577e-03 2.595900659591014e-03 2.580033062057212e-03 2.564234773200918e-03 2.548505609580814e-03 - 2.532845401329118e-03 2.517253983314282e-03 2.501731188088862e-03 2.486276834298587e-03 2.470890751027053e-03 - 2.455572791828030e-03 2.440322784214469e-03 2.425140547489158e-03 2.410025914370114e-03 2.394978718743150e-03 - 2.379998789312335e-03 2.365085943631231e-03 2.350240020749269e-03 2.335460868942443e-03 2.320748308349550e-03 - 2.306102163022297e-03 2.291522266200105e-03 2.277008450857895e-03 2.262560541519312e-03 2.248178358404482e-03 - 2.233861748393963e-03 2.219610550590767e-03 2.205424582540762e-03 2.191303672653564e-03 2.177247654150935e-03 - 2.163256358437406e-03 2.149329606085116e-03 2.135467224025938e-03 2.121669062135428e-03 2.107934949596006e-03 - 2.094264705479671e-03 2.080658161247730e-03 2.067115150052171e-03 2.053635501035216e-03 2.040219032033609e-03 - 2.026865578574763e-03 2.013574988607888e-03 2.000347084189316e-03 1.987181688126059e-03 1.974078632294973e-03 - 1.961037750159034e-03 1.948058867783843e-03 1.935141804192390e-03 1.922286403096425e-03 1.909492504980594e-03 - 1.896759928265229e-03 1.884088500763132e-03 1.871478055631251e-03 1.858928424089599e-03 1.846439428400912e-03 - 1.834010894228015e-03 1.821642669213327e-03 1.809334584628213e-03 1.797086460037203e-03 1.784898126770644e-03 - 1.772769417737367e-03 1.760700162615002e-03 1.748690181778845e-03 1.736739308394668e-03 1.724847388831493e-03 - 1.713014248130287e-03 1.701239709792772e-03 1.689523605558227e-03 1.677865768960374e-03 1.666266027776910e-03 - 1.654724201747776e-03 1.643240132443950e-03 1.631813662093462e-03 1.620444610863358e-03 1.609132806416696e-03 - 1.597878082462674e-03 1.586680271167799e-03 1.575539197124769e-03 1.564454685806544e-03 1.553426583192850e-03 - 1.542454723186195e-03 1.531538926942232e-03 1.520679025889417e-03 1.509874853790604e-03 1.499126242122267e-03 - 1.488433013507451e-03 1.477795000037597e-03 1.467212048115432e-03 1.456683985464255e-03 1.446210636719452e-03 - 1.435791835117153e-03 1.425427414393694e-03 1.415117204211151e-03 1.404861027594662e-03 1.394658724273689e-03 - 1.384510137356095e-03 1.374415090575271e-03 1.364373412382042e-03 1.354384937246215e-03 1.344449499301808e-03 - 1.334566925970926e-03 1.324737043332181e-03 1.314959696939330e-03 1.305234723823342e-03 1.295561947265019e-03 - 1.285941199528206e-03 1.276372315963847e-03 1.266855130463658e-03 1.257389468322312e-03 1.247975161599065e-03 - 1.238612057815808e-03 1.229299987951490e-03 1.220038778115428e-03 1.210828263449681e-03 1.201668279419893e-03 - 1.192558658328712e-03 1.183499226491516e-03 1.174489822883548e-03 1.165530291825810e-03 1.156620461345326e-03 - 1.147760161971411e-03 1.138949229776032e-03 1.130187500878873e-03 1.121474806129454e-03 1.112810973708310e-03 - 1.104195848566657e-03 1.095629271185936e-03 1.087111069073448e-03 1.078641075658101e-03 1.070219127753748e-03 - 1.061845062287274e-03 1.053518708913237e-03 1.045239900848634e-03 1.037008485418972e-03 1.028824298155823e-03 - 1.020687168641753e-03 1.012596933141099e-03 1.004553429894111e-03 9.965564952721074e-04 9.886059579764911e-04 - 9.807016577383673e-04 9.728434421263681e-04 9.650311428619217e-04 9.572645925441391e-04 9.495436296868831e-04 - 9.418680934992058e-04 9.342378189983833e-04 9.266526374013966e-04 9.191123940951565e-04 9.116169327210938e-04 - 9.041660846048507e-04 8.967596865276394e-04 8.893975784458786e-04 8.820795994475233e-04 8.748055834052338e-04 - 8.675753662309574e-04 8.603887967412885e-04 8.532457145816050e-04 8.461459528881801e-04 8.390893515597134e-04 - 8.320757512954288e-04 8.251049910410551e-04 8.181769052102455e-04 8.112913354889369e-04 8.044481307476467e-04 - 7.976471276304203e-04 7.908881626723219e-04 7.841710779271092e-04 7.774957151422038e-04 7.708619131557394e-04 - 7.642695077220146e-04 7.577183458379644e-04 7.512082748417916e-04 7.447391309361296e-04 7.383107537219758e-04 - 7.319229861740803e-04 7.255756719189899e-04 7.192686493738265e-04 7.130017570250109e-04 7.067748463319056e-04 - 7.005877618919097e-04 6.944403408515077e-04 6.883324261093659e-04 6.822638623160529e-04 6.762344932684062e-04 - 6.702441573916524e-04 6.642926986443232e-04 6.583799694858947e-04 6.525058122102392e-04 6.466700672293728e-04 - 6.408725793807691e-04 6.351131947715911e-04 6.293917574305099e-04 6.237081070877600e-04 6.180620932909059e-04 - 6.124535677685099e-04 6.068823714677426e-04 6.013483481700967e-04 5.958513451670206e-04 5.903912096703989e-04 - 5.849677853780454e-04 5.795809154020751e-04 5.742304534677881e-04 5.689162489783443e-04 5.636381442526738e-04 - 5.583959863498279e-04 5.531896240506697e-04 5.480189055622431e-04 5.428836748799696e-04 5.377837797240800e-04 - 5.327190759830209e-04 5.276894110958636e-04 5.226946300477827e-04 5.177345825024617e-04 5.128091188465486e-04 - 5.079180879528710e-04 5.030613351067660e-04 4.982387130290541e-04 4.934500776624026e-04 4.886952758062522e-04 - 4.839741558713263e-04 4.792865695826084e-04 4.746323688630657e-04 4.700114029595036e-04 4.654235198613055e-04 - 4.608685766627245e-04 4.563464280591107e-04 4.518569219186994e-04 4.473999099762359e-04 4.429752457691277e-04 - 4.385827824909558e-04 4.342223700107388e-04 4.298938604566902e-04 4.255971135329090e-04 4.213319826090788e-04 - 4.170983180859963e-04 4.128959744299958e-04 4.087248069577171e-04 4.045846700338900e-04 4.004754147907325e-04 - 3.963968979642262e-04 3.923489801919561e-04 3.883315144592717e-04 3.843443544269981e-04 3.803873568608614e-04 - 3.764603788261386e-04 3.725632754784107e-04 3.686959004384349e-04 3.648581147870281e-04 3.610497787686854e-04 - 3.572707463878945e-04 3.535208745539621e-04 3.498000220657478e-04 3.461080477383748e-04 3.424448076363575e-04 - 3.388101589386426e-04 3.352039657815740e-04 3.316260877532703e-04 3.280763812137888e-04 3.245547060139738e-04 - 3.210609229167205e-04 3.175948921405597e-04 3.141564711604799e-04 3.107455215081982e-04 3.073619088757455e-04 - 3.040054927848886e-04 3.006761327105527e-04 2.973736909925681e-04 2.940980303881470e-04 2.908490123115160e-04 - 2.876264965105581e-04 2.844303488008553e-04 2.812604353029198e-04 2.781166164989417e-04 2.749987551423296e-04 - 2.719067158817455e-04 2.688403633742989e-04 2.657995602462465e-04 2.627841695326067e-04 2.597940603791381e-04 - 2.568290988582687e-04 2.538891477672460e-04 2.509740728301346e-04 2.480837407612393e-04 2.452180180501483e-04 - 2.423767689150773e-04 2.395598604007145e-04 2.367671637065971e-04 2.339985452156380e-04 2.312538707417314e-04 - 2.285330086975239e-04 2.258358279521211e-04 2.231621965330517e-04 2.205119809474630e-04 2.178850522930381e-04 - 2.152812827957872e-04 2.127005401044592e-04 2.101426932429596e-04 2.076076129630843e-04 2.050951703707553e-04 - 2.026052350574154e-04 2.001376764695323e-04 1.976923692963255e-04 1.952691863631026e-04 1.928679973631469e-04 - 1.904886744667185e-04 1.881310908124045e-04 1.857951194428946e-04 1.834806317739651e-04 1.811875010647571e-04 - 1.789156043640377e-04 1.766648152326652e-04 1.744350063601967e-04 1.722260526922104e-04 1.700378296945535e-04 - 1.678702123432160e-04 1.657230742438847e-04 1.635962925697728e-04 1.614897461072756e-04 1.594033097074569e-04 - 1.573368592094730e-04 1.552902721810668e-04 1.532634264532060e-04 1.512561988693490e-04 1.492684659352835e-04 - 1.473001083560244e-04 1.453510059716440e-04 1.434210358729406e-04 1.415100771164913e-04 1.396180097223186e-04 - 1.377447137267307e-04 1.358900680130841e-04 1.340539526362652e-04 1.322362510498252e-04 1.304368442346035e-04 - 1.286556121626104e-04 1.268924368411170e-04 1.251472007379926e-04 1.234197860690376e-04 1.217100740639766e-04 - 1.200179485071157e-04 1.183432949752447e-04 1.166859960758634e-04 1.150459349477667e-04 1.134229962637926e-04 - 1.118170649981152e-04 1.102280255615328e-04 1.086557620076939e-04 1.071001616642248e-04 1.055611117192228e-04 - 1.040384970703678e-04 1.025322040262462e-04 1.010421198490596e-04 9.956813202096472e-05 9.811012722455996e-05 - 9.666799283658755e-05 9.524161921027426e-05 9.383089505710078e-05 9.243570803818307e-05 9.105594759252440e-05 - 8.969150364397068e-05 8.834226604286881e-05 8.700812397260034e-05 8.568896841419017e-05 8.438469212608002e-05 - 8.309518568825200e-05 8.182033994906239e-05 8.056004718218619e-05 7.931419998170841e-05 7.808269064296404e-05 - 7.686541112857092e-05 7.566225594198306e-05 7.447311991364301e-05 7.329789600792314e-05 7.213647827366786e-05 - 7.098876170896106e-05 6.985464163907488e-05 6.873401282606521e-05 6.762677039259616e-05 6.653281205307769e-05 - 6.545203459530543e-05 6.438433381335806e-05 6.332960688869456e-05 6.228775159650499e-05 6.125866586213212e-05 - 6.024224709312662e-05 5.923839394811549e-05 5.824700680510711e-05 5.726798458845817e-05 5.630122626966778e-05 - 5.534663202079377e-05 5.440410243697520e-05 5.347353805513213e-05 5.255483915897720e-05 5.164790790372327e-05 - 5.075264706713765e-05 4.986895809670387e-05 4.899674321102013e-05 4.813590548272275e-05 4.728634834520723e-05 - 4.644797500988253e-05 4.562068892036128e-05 4.480439551815946e-05 4.399899988301035e-05 4.320440633696577e-05 - 4.242052030402665e-05 4.164724778526068e-05 4.088449502887978e-05 4.013216802138054e-05 3.939017361734100e-05 - 3.865842020891389e-05 3.793681530287127e-05 3.722526637683801e-05 3.652368195642655e-05 3.583197100166348e-05 - 3.515004257550265e-05 3.447780563338777e-05 3.381517049939420e-05 3.316204825033269e-05 3.251834908257212e-05 - 3.188398376275541e-05 3.125886384349450e-05 3.064290126992314e-05 3.003600797392098e-05 2.943809607683111e-05 - 2.884907925556903e-05 2.826887119646782e-05 2.769738505988399e-05 2.713453488302094e-05 2.658023526748751e-05 - 2.603440114263312e-05 2.549694738792051e-05 2.496778949423694e-05 2.444684425976710e-05 2.393402805764408e-05 - 2.342925723948219e-05 2.293244905822871e-05 2.244352120797989e-05 2.196239159983278e-05 2.148897818423003e-05 - 2.102319990982268e-05 2.056497650699234e-05 2.011422722229805e-05 1.967087173846936e-05 1.923483045310688e-05 - 1.880602417859793e-05 1.838437386840237e-05 1.796980069033951e-05 1.756222699777835e-05 1.716157539169325e-05 - 1.676776819323897e-05 1.638072842752046e-05 1.600037965967140e-05 1.562664583506045e-05 1.525945101785764e-05 - 1.489871974108943e-05 1.454437762041471e-05 1.419635018600421e-05 1.385456300630342e-05 1.351894241351905e-05 - 1.318941519258516e-05 1.286590843459537e-05 1.254834939298960e-05 1.223666606495489e-05 1.193078719950152e-05 - 1.163064137727749e-05 1.133615754527981e-05 1.104726530816775e-05 1.076389469662666e-05 1.048597599093073e-05 - 1.021343974753131e-05 9.946217419267380e-06 9.684240838620889e-06 9.427441790773100e-06 9.175752643853506e-06 - 8.929106280098344e-06 8.687435997194528e-06 8.450675338936148e-06 8.218758257424963e-06 7.991619584870982e-06 - 7.769194298227330e-06 7.551417507621627e-06 7.338224987041431e-06 7.129552955942858e-06 6.925337997222138e-06 - 6.725516977155444e-06 6.530027335862672e-06 6.338807194551445e-06 6.151794769434223e-06 5.968928615355085e-06 - 5.790147878391894e-06 5.615392155261267e-06 5.444601365246586e-06 5.277715758699128e-06 5.114676291438329e-06 - 4.955424365336747e-06 4.799901525655197e-06 4.648049820836300e-06 4.499811793985402e-06 4.355130438087899e-06 - 4.213949069835453e-06 4.076211399540344e-06 3.941861865039729e-06 3.810845196499976e-06 3.683106361660463e-06 - 3.558590910585118e-06 3.437244835818923e-06 3.319014541070219e-06 3.203846795533912e-06 3.091688852089737e-06 - 2.982488579295818e-06 2.876194109656037e-06 2.772753925582794e-06 2.672117063800105e-06 2.574233014808049e-06 - 2.479051643033932e-06 2.386523210361943e-06 2.296598552297165e-06 2.209228971591383e-06 2.124366069775506e-06 - 2.041961906232304e-06 1.961969019732135e-06 1.884340423438541e-06 1.809029507182080e-06 1.735990071613592e-06 - 1.665176534356502e-06 1.596543687803830e-06 1.530046658503296e-06 1.465641105678908e-06 1.403283128309336e-06 - 1.342929271825179e-06 1.284536503035511e-06 1.228062233226246e-06 1.173464436795038e-06 1.120701460082181e-06 - 1.069732028902882e-06 1.020515399241352e-06 9.730112822753146e-07 9.271798002921477e-07 8.829815278752155e-07 - 8.403775374680640e-07 7.993293716485992e-07 7.597989809176624e-07 7.217487560416926e-07 6.851415619710593e-07 - 6.499407524191172e-07 6.161100929136179e-07 5.836137918783888e-07 5.524166028233452e-07 5.224836968385216e-07 - 4.937806609639881e-07 4.662735849361845e-07 4.399289991547822e-07 4.147139110260500e-07 3.905957813609555e-07 - 3.675425084859321e-07 3.455225231396512e-07 3.245046871736890e-07 3.044582778536548e-07 2.853530928283095e-07 - 2.671593859185241e-07 2.498478511400059e-07 2.333896726605378e-07 2.177564985206194e-07 2.029204500538344e-07 - 1.888541210793108e-07 1.755305458522738e-07 1.629232393506973e-07 1.510062144201093e-07 1.397539174372155e-07 - 1.291412703741045e-07 1.191437050672961e-07 1.097370923617762e-07 1.008977778162274e-07 9.260259669902208e-08 - 8.482883141984319e-08 7.755426670738778e-08 7.075715683240311e-08 6.441620467100832e-08 5.851063608240125e-08 - 5.302013495440350e-08 4.792483459927075e-08 4.320538955913144e-08 3.884291294265582e-08 3.481898425658018e-08 - 3.111569527451850e-08 2.771559342817648e-08 2.460171067137196e-08 2.175758348333717e-08 1.916719757773861e-08 - 1.681503457183268e-08 1.468607978947252e-08 1.276576812429566e-08 1.104003874048358e-08 9.495328649625366e-09 - 8.118528715645258e-09 6.897042498203040e-09 5.818760232281117e-09 4.872032311209139e-09 4.045732447740840e-09 - 3.329210679517489e-09 2.712284881132093e-09 2.185301687016959e-09 1.739076161987666e-09 1.364901589086205e-09 - 1.054599065845252e-09 8.004535320102697e-10 5.952414597054672e-10 4.322622496028902e-10 3.052766304104823e-10 - 2.085502003918036e-10 1.368642901349301e-10 8.546164059834664e-11 5.010215808832263e-11 2.705311520847365e-11 - 1.304599438344934e-11 5.339090781311160e-12 1.692041320615927e-12 3.321208355096226e-13 6.781366937015517e-15 -- GitLab From f409f4ff53750383cc36c6e0db1a51a380465c2d Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 13 Feb 2018 13:06:16 -0700 Subject: [PATCH 074/675] Commit JT 021318 --- doc/src/compute_spin.txt | 15 +- doc/src/fix_force_spin.txt | 2 +- doc/src/pair_spin.txt | 90 ------- doc/src/pair_spin_exchange.txt | 8 +- doc/src/pair_spin_soc_dmi.txt | 5 +- doc/src/tutorial_spin.txt | 255 ------------------ doc/utils/txt2html/README.html | 237 ---------------- examples/SPIN/bfo/in.spin.bfo | 14 +- examples/SPIN/cobalt/in.spin.cobalt | 8 +- .../SPIN/curie_temperature/in.spin.cobalt | 8 +- examples/SPIN/in.spin.bfo | 94 ------- examples/SPIN/in.spin.cobalt | 125 --------- examples/SPIN/in.spin.kagome | 126 --------- examples/SPIN/in.spin.read_data | 88 ------ examples/SPIN/in.spin.restart | 109 -------- examples/SPIN/iron/in.spin.iron | 8 +- examples/SPIN/nickel/in.spin.nickel | 8 +- examples/SPIN/prepare_vmd.sh | 91 ------- .../Norm_randXY_8x8x32.data | 0 examples/SPIN/read_restart/in.spin.read_data | 8 +- examples/SPIN/skyrmion/in.spin.skyrmion | 8 +- examples/SPIN/vmd_nano.vmd | 79 ------ src/SPIN/compute_spin.cpp | 17 +- 23 files changed, 56 insertions(+), 1347 deletions(-) delete mode 100644 doc/src/pair_spin.txt delete mode 100644 doc/src/tutorial_spin.txt delete mode 100644 doc/utils/txt2html/README.html delete mode 100644 examples/SPIN/in.spin.bfo delete mode 100644 examples/SPIN/in.spin.cobalt delete mode 100644 examples/SPIN/in.spin.kagome delete mode 100644 examples/SPIN/in.spin.read_data delete mode 100644 examples/SPIN/in.spin.restart delete mode 100755 examples/SPIN/prepare_vmd.sh rename examples/SPIN/{ => read_restart}/Norm_randXY_8x8x32.data (100%) delete mode 100644 examples/SPIN/vmd_nano.vmd diff --git a/doc/src/compute_spin.txt b/doc/src/compute_spin.txt index 9067a9859f..df75480430 100644 --- a/doc/src/compute_spin.txt +++ b/doc/src/compute_spin.txt @@ -10,14 +10,14 @@ compute spin command :h3 [Syntax:] -compute ID group-ID spin :pre +compute ID group-ID compute/spin :pre ID, group-ID are documented in "compute"_compute.html command -spin = style name of this compute command +compute/spin = style name of this compute command :ul [Examples:] -compute out_mag all spin +compute out_mag all compute/spin :pre [Description:] @@ -37,14 +37,13 @@ The sixth quantity is the magnetic energy. The simplest way to output the results of the compute spin calculation is to define some of the quantities as variables, and to use the thermo and -thermo_style commands, for example -for example: +thermo_style commands, for example: compute out_mag all compute/spin :pre -variable mag_z equal c_out_mag\[4\] -variable mag_norm equal c_out_mag\[5\] -variable temp_mag equal c_out_mag\[7\] :pre +variable mag_z equal c_out_mag\[3\] +variable mag_norm equal c_out_mag\[4\] +variable temp_mag equal c_out_mag\[6\] :pre thermo 10 thermo_style custom step v_mag_z v_mag_norm v_temp_mag :pre diff --git a/doc/src/fix_force_spin.txt b/doc/src/fix_force_spin.txt index 5e7cff571d..6ab207fda3 100644 --- a/doc/src/fix_force_spin.txt +++ b/doc/src/fix_force_spin.txt @@ -39,7 +39,7 @@ magnetic field: :c,image(Eqs/force_spin_zeeman.jpg) with mu0 the vacuum permeability, muB the Bohr magneton (muB = 5.788 eV/T -in metal units), +in metal units). Style {aniso} is used to simulate an easy axis or an easy plane for the magnetic spins in the defined group: diff --git a/doc/src/pair_spin.txt b/doc/src/pair_spin.txt deleted file mode 100644 index 602eec8ec3..0000000000 --- a/doc/src/pair_spin.txt +++ /dev/null @@ -1,90 +0,0 @@ - - - - -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -pair_style pair/spin/exchange command :h3 -pair_style pair/spin/dmi command :h3 -pair_style pair/spin/me command :h3 -pair_style pair/spin/soc command :h3 - - -[Syntax:] - -pair_style pair/spin/exchange cutoff -pair_style pair/spin/dmi cutoff -pair_style pair/spin/me cutoff -pair_style pair/spin/soc/neel cutoff :pre - -cutoff = global cutoff pair (distance units) :ulb,l - -:ule - -[Examples:] - -pair_style pair/spin/exchange 4.0 -pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 -pair_coeff 1 2 exchange 4.0 0.0446928 0.003496 1.4885 :pre - -pair_style pair/spin/dmi 4.0 -pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 :pre - -pair_style pair/spin/soc/neel 4.0 -pair_coeff * * neel 4.0 -0.003330282 0.864159 2.13731 :pre - - -[Description:] - -Style {pair/spin} computes interactions between pairs of particles -that each have a spin. - - -The {pair/spin} style compute the short-range spin-spin interactions. - - -\begin\{equation\} -J_{i=0} = \sum_i \alpha -\end\{equation\} -$$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$ - - -:c,image(Eqs/pair_lj.jpg) - -The {lj/cut} and {lj/cut/coul/long} pair styles support the use of the -{inner}, {middle}, and {outer} keywords of the "run_style -respa"_run_style.html command, meaning the pairwise forces can be - -:line - -[Restrictions:] - -All the {pair/spin} styles are part of the SPIN package. -These styles are only enabled if LAMMPS was built with this package. -See the "Making LAMMPS"_Section_start.html#start_3 section for more info. - -[Related commands:] - -"eam" - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Beaujouan1) -[(Beaujouan)] Beaujouan, Thibaudeau, and Barreteau, Phys Rev B, 86(17), 174409 (2012) - -:link(Perera2) -[(Perera)] Perera, Eisenbach, Nicholson, Stocks, and Landau, Phys Rev B, 93(6), 060402 (2016) diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index 95a9c98258..01bd2edc31 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -41,14 +41,16 @@ This function is defined as: where a, b and d are the three constant coefficients defined in the associated "pair_coeff" command. -The coefficients a, b, and c need to be fitted so that the function above matches with +The coefficients a, b, and d need to be fitted so that the function above matches with the value of the exchange interaction for the N neighbor shells taken into account. Examples and more explanations about this function and its parametrization are reported in "(Tranchida)"_#Tranchida1. -From this exchange interaction, each spin i will be submitted to a magnetic torque -omega and its associated atom to a force F, such as: +From this exchange interaction, each spin i will be submitted +to a magnetic torque omega, and its associated atom can be submitted to a +force F for spin-lattice calculations (see +"fix_integration_spin"_fix_integration_spin.html), such as: :c,image(Eqs/pair_spin_exchange_forces.jpg) diff --git a/doc/src/pair_spin_soc_dmi.txt b/doc/src/pair_spin_soc_dmi.txt index 010b645501..e669b7ccfd 100644 --- a/doc/src/pair_spin_soc_dmi.txt +++ b/doc/src/pair_spin_soc_dmi.txt @@ -24,6 +24,9 @@ pair_coeff 1 2 dmi 4.0 0.00109 0.0 0.0 1.0 :pre [Description:] +Styles {pair/spin/soc} compute pair interactions arising from the spin-orbit +coupling (soc). + Style {pair/spin/soc/dmi} computes the Dzyaloshinskii-Moriya (DM) interaction between pairs of magnetic spins: @@ -41,7 +44,7 @@ This function is defined as: where a, b and d are the three constant coefficients defined in the associated "pair_coeff" command. -The coefficients a, b, and c need to be fitted so that the function above matches with +The coefficients a, b, and d need to be fitted so that the function above matches with the value of the DM interaction for the N neighbor shells taken into account. diff --git a/doc/src/tutorial_spin.txt b/doc/src/tutorial_spin.txt deleted file mode 100644 index d81e82d448..0000000000 --- a/doc/src/tutorial_spin.txt +++ /dev/null @@ -1,255 +0,0 @@ - - - -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -Tutorial for the SPIN package in LAMMPS :h3 - -This tutorial explains how to use the spin dynamics in LAMMPS, -and to perform spin and spin--lattice simulations using the -SPIN package. As an illustration, input files are documented. -First of all, LAMMPS has to be compiled with the SPIN package -activated. Then, the data file and input scripts have to be -modified to include the magnetic spins and to handle them. - -:line - -[Overview of the spin and spin--lattice dynamics] - -At the atomic scale, magnetic materials can be seen as ensemble of -atoms, each one of them carying a magnetic moment, refered to as its -atomic spin. In ref "Antropov"_#Antropov, a formalism allowing to -simulate approximate classical spins, and to couple them to lattice -vibrations was introduced. Each of these spins is simulated via a -classical vector, associated to each magnetic atom, and whose -trajectory is defined by an equation of motion. -Lattice vibrations are simulated by the usual equations of MD. -A mechanical potential (EAM, Finnis-Siclair, or Dudarev-Derlet) ensure -the cohesion of the particles. The coupling between the magnetic and -lattice degrees of freedom is performed via the inter-atomic dependence -of the magnetic interactions. -:ole - - -:line - -[Preparation of the data file] - -For the mechanical potentials, the data file is similar to a standard LAMMPS -data file for {atom_style full}. The DPs and the {harmonic bonds} connecting -them to their DC should appear in the data file as normal atoms and bonds. - -For the magnetic interactions, no data file is necessary, every interaction -input will be define in the input file. :pre - - -:line - -[Basic input file] - -Up to know, spin simulations only accept the metal units. - -The atom style should be set to {spin}, so that you -can define atomic spin vectors. - - -The set group command defines the Lande factor (the norm) of -the magnetic vectors in a given group, and their initial -oriantation. The command is: - -set group A B C D E F :pre - -with A, B, C, D, E, and F the following input parameters: -A is set to all, or to the number of a specific and pre-defined -group of atoms, -B is set to {spin} or {spin/random}, depending on if the spins of -the group have to be initialized in a particulat direction, or randomly. - -If B is defined as {spin}, the C is the Lande factor for the spins of -the group, and [D,E,F] is the vector giving the direction for the -initialization. - -If B is defined as {spin/random}, C is a number giving the seed for the random -difinition of the directions, and D is the Lande factor of the spins -in this group. E and F are not defined. - -Examples: -set group all spin 1.72 1.0 0.0 0.0 -set group all spin/random 11 1.72 - -setting the initial direction of all spins, with a Lande factor of 1.72, -and either in the x direction, or randomly. :l - - -The pair style has to be set to {pair/spin}. The command is - -pair_style pair/spin A - -with A a global radius cutoff. - -The different pair interactions and their associated coefficients can then be -defined via the pair coeff command. - -pair_coeff A B C D E F G H - -where A and B are setting the pair concerned by this pair coeff command. -For example, A=1 and B=2 to set the pair coefficients between spins of -type 1 and spins of type 2. Use {*} for setting a pair coeffcient between -all pairs of spins. - -C defines the type of the interaction. It can be set to {exchange} for an -exchange interaction, {dmi} for a Dzyaloshinskii-Moriya (DM) interaction, or to -{me} for a magneto-electric (ME) interaction. - -If C is set to {exchange}, D is the radius cutoff (in Angtrom) associated -to the exchange interaction, and E, F and G are the three parameters of the -Bethe--Slater function (E in eV, F without dimension, and G in Angtrom). -H is not defined. - -If C is set to {dmi}, D is the radius cutoff (in Angtrom) associated to the DM -interaction, E is the intensity of the interaction in eV (which is also the -norm of the DM vector), and [F, G, H] are giving the direction of the DM -vector. - -If C is set to {me}, D is the radius cutoff (in Angtrom) associated to the ME -interaction, E is the intensity of the interaction in eV (which corresponds to -the intensity of the electric polarization), and [F, G, H] are giving the -direction of the polarization vector. - -Examples: -pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 -pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 - -are setting an exchange interaction between every type of spins, with a radius -cutoff of 4.0 Angtrom, and E=0.0446928 eV, F=0.003496, and G=1.4885 Angtrom as -coefficient for the associated Bethe--Slater function, and a DM interaction -with a radius cutoff of 2.6 Angtrom, an intensity of 0.001 eV and a DM vector -in the direction [0.0 0.0 1.0]. :l - - -A fix has to be set to {force/spin} to define local magnetic forces, like the Zeeman -interaction or an anisotropic interaction. The command is: - -fix A B C D E F G H - -with A the label of the associated fix, B defining to which group of spins the -force is applied to, C defined as {force/spin} for magnetic local fixes, and -D defining the type of this fix. D can be equal to {zeeman} for a Zeeman interaction, -or to {anisotropy} for an anisotropic interaction. - -If D is set to {zeeman}, then E gives the intensity of the applied magnetic field (in -Tesla), and [F, G, H] the direction of this field. - -If is set to {anisotropy}, hen E gives the intensity of the anisotropic field (in eV), -and [F, G, H] the direction of this anisotropy. - -Examples: -fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 -fix 2 all force/spin anisotropy 0.001 0.0 1.0 0.0 - -are setting two fixes, the first one, labelled 1, is applied to all spins and defines -a Zeeman interaction corresponding to a field of 1 Tesla in the z direction, whereas -the second fix, labelled 2, is also applied to all spins, and defines a uniaxial -anisotropy of intensity 0.001 eV, in the direction y. :l - - -To simulate the temperature effects, a fix has to be set to {langevin/spin}. The command -is - -fix A B C D E F G - -where A is the label of the associated fix, B defines to which spins the fix is applied, -and C is set equal to {langevin/spin}. Then, D defines the temperature of the random bath -(in K), E is the transverse magnetic damping (no dimension), F is a longitudinal magnetic -damping, and G the seed for the random variables. - -Note: the transverse damping is not implemented into LAMMPS yet. It is necessary for -micromagnetic simulations only. - -Examples: -fix 2 all langevin/spin 300.0 0.01 0.0 21 - -is setting a fix labelled as 2, which is connecting all spins to a random bath. The temperature -of this bath is set to 300 K, and the value of the transverse Gilbert damping is set to 0.01. -The seed is set to 21. - - -For LAMMPS to understand that the motion of spins has to be taken into account, one has to set -a fix to {nve/spin}. The command is: - -fix A B C D - -with A the label of this fix, B defining to which group of atoms this fix is applied to, C has -to be set to {nve/spin}, and D can be set to {serial} for a serial calculation, with one -processor only, or to {mpi} for a parallel calculation, with N processors. - -Example: -fix 3 all nve/spin mpi - -is setting a fix labelled 3, and applies it to all the particles. The calculation is running in -parallel as the option {mpi} is defined. - - -Two main outputs of the computed magnetic quntities can be performed. - -The first one is via a compute and a fix options. The compute command is defined as: - -compute A B C - -with A the label of this compute, B to which group of particles it is applied to, and finally, -the option {compute/spin} has to be set. -This compute is associated to a fix to define the output frequency and format. A typical command is: - -fix A B C D E F G H - -where A is the label of the fix, B the group of particles it is applied to, C defines the type of the -output fix, for example we chose to use {ave/time}, which can output every N timesteps, and perform -a time average over those steps. D, E, and F are the usual command of {ave/time}. G stands for the -magnetic quantities that are computed by {compute/spin}. Those quantities are: - -c_mag[1] Physical time (in ps) -c_mag[2] Magnetization along x (adim) -c_mag[3] Magnetization along y (adim) -c_mag[4] Magnetization along z (adim) -c_mag[5] Magnetization Norm (adim) -c_mag[6] Magnetic energy (in eV) -c_mag[7] Spin temperature (in K) - -And H stands for the output format, and is defined as in other . - -Example: -compute 1 all compute/spin -fix 3 all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] -file mag_output.dat format %20.16g - -is defining a compute of the magnetic quantities applied to all spins. The fix then outputs -every magnetic quantities every 10 time steps without performing any time average. These -quantities are stored in a file called mag_output.dat, with a special format (defined by %20.16g) - - -It is also possible to output the evolution of the spin configuration. This can be done with -the dump command. The only difference with a regular dump command is that the velocities -vi are replaced by the spin components spi. - -Example: -dump 1 all custom 100 dump_spin.lammpstrj type x y z spx spy spz - -is dumping every 100 timesteps the spin configuration in a file called dump_spin.lammpstrj. - - -:line - -:link(Antropov) -[(Antropov)] Antropov, Katsnelson, Harmon, Van Schilfgaarde, and Kusnezov, Phys Rev B, 54(2), 1019 (1996) - - diff --git a/doc/utils/txt2html/README.html b/doc/utils/txt2html/README.html deleted file mode 100644 index b92214425e..0000000000 --- a/doc/utils/txt2html/README.html +++ /dev/null @@ -1,237 +0,0 @@ - -

txt2html - a text to HTML conversion tool -

-

txt2html is a simple tool for converting text files into HTML files. -Text files can contain simple formatting and mark-up commands that -txt2html converts into HTML. -

-

txt2html was written by Steve Plimpton. I use it for -documentation and WWW pages. Anna Reese added the table -formatting options. -

-

See the example.txt and example.html -files in the txt2html directory for examples of what all the -formatting commands and mark-up syntax end up looking like in HTML. -

- - - - - - -
- -

Syntax: -

-
txt2html file -
read from text file, write HTML to standard output -
txt2html file1 file2 file3 ... -
read each argument as text file, write one HTML file per argument -
-

Input files are first opened with the specified name. If that fails, -a ".txt" suffix is added. Output files are created with an ".html" -suffix, which is either added or replaces the ".txt" suffix. -

-
- -

Compiling: -

-

The source for txt2html is a single C++ file. Compile it by typing: -

-
g++ -o txt2html txt2html.cpp 
-
-
- -

How the tool works: -

-

txt2html reads a text file, one paragraph at a time. A paragraph -ends with: -

-
  • a blank line -
  • a line whose final word starts with ":" (a format string) -
  • the end of the file -
-

Any line in the paragraph which ends with "\" is concatenated to the -following line by removing the "\" character and following newline. -This can be useful for some of the formatting commands described below -that operate on individual lines in the paragraph. -

-

If a paragraph starts with a "<" character and ends with a ">" -character, it is treated as raw HTML and is written directly into the -output file. -

-

If a paragraph does not end with a format string, then it is -surrounded with HTML paragraph markers (<P> and </P>), -mark-up is performed, and the paragraph is written to the -output file. -

-

If the paragraph ends with a format string, then formatting -is performed, mark-up is performed, and the paragraph is -written to the output file. -

-
- -Formatting: - -

A format string is the last word of a paragraph if it starts with a -":" character. A format string contains one or more comma-separated -commands, like ":ulb,l" or ":c,h3". Note that a format string cannot -contain spaces, else it would not be the last word. An individual -command can have 0 or more arguments: -

-
  • b or line() = 0 arguments -
  • image(file) = 1 argument -
  • link(alias,value) = 2 or more comma-separated arguments -
-

Format commands add HTML markers at the beginning or end of the -paragraph and individual lines. Commands are processed in the order -they appear in the format string. Thus if two commands add HTML -markers to the beginning of the paragraph, the 2nd command's marker -will appear 2nd. The reverse is true at the end of the paragraph; the -2nd command's marker will appear 1st. Some comands, like line or -image make most sense if used as stand-alone commands without an -accompanying paragraph. -

-

Commands that format the entire paragraph: -

-
  • p --> surround the paragraph with <P> </P> -
  • b --> put <BR> at the end of the paragraph -
  • pre --> surround the paragraph with <PRE> </PRE> -
  • c --> surround the paragraph with <CENTER> </CENTER> -
  • h1,h2,h3,h4,h5,h6 --> surround the paragraph with <H1> </H1>, etc -
-

Commands that format the lines of the paragraph as a list: -

-
  • ul --> surround the paragraph with <UL> </UL>, put <LI> at start of every line -
  • ol --> surround the paragraph with <OL> </OL>, put <LI> at start of every line -
  • dl --> surround the paragraph with <DL> </DL>, alternate <DT> and <DD> at start of every line -
-

Commands that treat the paragraph as one entry in a list: -

-
  • l --> put <LI> at the beginning of the paragraph -
  • dt --> put <DT> at the beginning of the paragraph -
  • dd --> put <DD> at the beginning of the paragraph -
  • ulb --> put <UL> at the beginning of the paragraph -
  • ule --> put </UL> at the end of the paragraph -
  • olb --> put <OL> at the beginning of the paragraph -
  • ole --> put </OL> at the end of the paragraph -
  • dlb --> put <DL> at the beginning of the paragraph -
  • dle --> put </DL> at the end of the paragraph -
-

Commands applied to each line of the paragraph: -

-
  • all(p) --> surround each line with <P> </P> -
  • all(c) --> surround each line with <CENTER> </CENTER> -
  • all(b) --> append a <BR> to each line -
  • all(l) --> prepend a <LI> to each line -
-

Special commands (all HTML is inserted at beginning of paragraph): -

-
  • line --> insert a horizontal line = <HR> -
  • image(file) --> insert an image = <IMG SRC = "file"> -
  • image(file,link) --> insert an image that when clicked on goes to link -
  • link(name) --> insert a named link that can be referred to elsewhere (see mark-up) = <A NAME = "name"></A> -
  • link(alias,value) --> define a link alias that can be used elsewhere in this file (see mark-up) -
-

Table command: -

-
  • tb(c=3,b=5,w=100%,a=c) --> format the paragraph as a table -
-

Arguments within tb() can appear in any order and are all optional, -since they each have default values. -

-
  • c=N --> Make an N-column table. Treat the paragraph as one - long list of entries (separated by the separator character) and put - them into N columns one after the other. If N = 0, treat each line - of the paragraph as one row of the table with as many columns as - there are maximum entries in any line. Default is c=0. - -
  • s=: --> Use the character string following the equal sign as - the separator between entries. Default separator is a comma "," which - you cannot specify directly since the comma delimits the tb() arguments - -
  • b=N --> Create a border N pixels wide. If N is 0, there is no - border between or outside the cells. If N is 1, there is a minimal - border between and outside all cells. For N > 1, the border between - cells does not change but the outside border gets wider. Default is - b=1. - -
  • w=N or w=N% --> The first form makes each cell of the table at - least N pixels wide. The second form makes the entire table take up - N% of the width of the browser window. Default is w=0 which means - each cell will be just as wide as the text it contains. - -
  • a=X --> Align the entire table at the left, center, or right of the - browser window, for X = "l", "c", or "r". Default is a=c. - -
  • ea=X --> Align the text in each entry at the left, center, or - right of its cell, for X = "l", "c", or "r". Default is browser's - default (typically left). - -
  • eva=X --> Vertically align the text in each entry at the - top, middle, baseline, or bottom of its cell, for X = "t", "m", "ba", - or "bo". Default is browser's default (typically middle). - -
  • cwM=N or cwM=N% --> The first form makes column M be at least - N pixels wide. The second form makes column M take up N% of the - width of the browser window. This setting overrides the "w" - argument for column M. Only one column per table can be tweaked - with this argument. Default is no settings for any column. - -
  • caM=X --> Align the text in each entry of column M at the left, - center, or right of its cell, for X = "l", "c", or "r". This - setting overrides the "ea" argument for column M. Only one column - per table can be tweaked with this argument. Default is no settings - for any column. - -
  • cvaM=X --> Vertically align the text in each entry of column m - at the top, middle, baseline, or bottom of its cell, for X = "t", - "m", "ba", or "bo". This setting overrides the "eva" argument for - column M. Only one column per table can be tweaked with this - argument. Default is no settings for any column. -
-
- -Mark-up: - -

The text of the paragraph is scanned for special mark-up characters -which are converted into HTML. -

-

Bold and italic characters: -

-
  • "[" (left brace) --> turn-on bold by inserting a <B> -
  • "]" (right brace) --> turn-off bold by inserting a </B> -
  • "{" (left bracket) --> turn-on italics by inserting a <I> -
  • "}" (right bracket) --> turn-off italics by - inserting a </I>
- -

If a backspace '\' precedes any of the bold/italic mark-up characters, -then mark-up is not performed; the mark-up character is simply left in -the text. -

-

Links are inserted by enclosing a section of text in double quotes, -and appending an underscore to the ending quote, followed by the link. -The link ends when whitespace is found, except that trailing -punctuation characters (comma, period, semi-colon, colon, question -mark, exclamation point, parenthesis) are not considered part of the -link. -

-

A link of the form "text"_link becomes <A HREF = -"link">text</A> in the HTML output. The only exception is if -"link" is defined elsewhere in the file as an alias (see the link -command above). In that case, the value is used instead of the alias -name.

- -

With these rules, links can take several forms. -

-
  • "This links"_#abc to another part of this file which is -labeled with a :link(abc) command.
    -
  • "This links"_other.html to another file named other.html.
    -
  • "This links"_other.html#abc to another file which has an "abc" -location defined internally.
    -
  • "This links"_http://www.google.com to a WWW site.
    -
  • "This"_M12 could be used in place of any of the above forms. It -requires an alias like :link(M12,http://www.google.com) to be defined -elsewhere in the file.
- - diff --git a/examples/SPIN/bfo/in.spin.bfo b/examples/SPIN/bfo/in.spin.bfo index 91dd8aac8c..fcee62dd7c 100644 --- a/examples/SPIN/bfo/in.spin.bfo +++ b/examples/SPIN/bfo/in.spin.bfo @@ -35,15 +35,15 @@ fix 3 all integration/spin lattice no timestep 0.0002 -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke compute out_temp all temp -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] variable mag_force equal f_1 thermo_style custom step time v_magnorm v_emag temp etotal diff --git a/examples/SPIN/cobalt/in.spin.cobalt b/examples/SPIN/cobalt/in.spin.cobalt index 8d1ac3c557..2e9b27ea0d 100644 --- a/examples/SPIN/cobalt/in.spin.cobalt +++ b/examples/SPIN/cobalt/in.spin.cobalt @@ -44,10 +44,10 @@ compute out_pe all pe compute out_ke all ke compute out_temp all temp -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] variable mag_force equal f_1 thermo_style custom step time v_magnorm v_emag temp etotal diff --git a/examples/SPIN/curie_temperature/in.spin.cobalt b/examples/SPIN/curie_temperature/in.spin.cobalt index 09ac4abb0b..682baf9418 100644 --- a/examples/SPIN/curie_temperature/in.spin.cobalt +++ b/examples/SPIN/curie_temperature/in.spin.cobalt @@ -44,10 +44,10 @@ compute out_pe all pe compute out_ke all ke compute out_temp all temp -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] variable mag_force equal f_1 thermo_style custom step time v_magnorm v_emag temp etotal diff --git a/examples/SPIN/in.spin.bfo b/examples/SPIN/in.spin.bfo deleted file mode 100644 index bf42a31c67..0000000000 --- a/examples/SPIN/in.spin.bfo +++ /dev/null @@ -1,94 +0,0 @@ -################### -#######Init######## -################### - -clear -units metal -dimension 3 -boundary p p p - -#setting atom_style to spin: -atom_style spin - -#Define sort for paramagnetic simulations (if no pair interaction) -#atom_modify sort 1000 4.0 - -#why? -atom_modify map array - - -########################### -#######Create atoms######## -########################### - -#Lattice constant of sc Iron atoms of BFO -lattice sc 3.96 -region box block 0.0 34.0 0.0 34.0 0.0 5.0 -create_box 1 box -create_atoms 1 box - -####################### -#######Settings######## -####################### - -#Setting one or more properties of one or more atoms. -mass 1 1.0 - -#Setting spins orientation and moment -set group all spin/random 11 2.50 -#set group all spin 2.50 1.0 0.0 0.0 - -#Magnetic interactions for BFO -#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) -pair_style hybrid/overlay pair/spin/exchange 6.0 pair/spin/me 4.5 -pair_coeff * * pair/spin/exchange exchange 6.0 -0.01575 0.0 1.965 -pair_coeff * * pair/spin/me me 4.5 0.00109 1.0 1.0 1.0 -#pair_coeff * * pair/spin/soc/dmi dmi 4.5 0.001 1.0 1.0 1.0 - -#Define a skin distance, update neigh list every -neighbor 0.0 bin -neigh_modify every 10 check yes delay 20 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -#fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 -fix 1 all force/spin anisotropy 0.0000035 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.0 0.0 0.0 1.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -fix 2 all langevin/spin 0.0 0.0 0.0 21 - -#Magnetic integration fix -fix 3 all integration/spin serial lattice no - -#Setting the timestep for the simulation (in ps) -timestep 0.0001 - -################## -#######run######## -################## - -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -#compute real time, total magnetization, magnetic energy, and spin temperature -#Iteration | Time | Mx | My | Mz | |M| | Em | Tm -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] -variable mag_force equal f_1 - -thermo 10 -thermo_style custom step time v_magnorm v_emag temp etotal -thermo_modify format float %20.15g - -#Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 100 dump_spin_BFO.lammpstrj type x y z spx spy spz - -#Running the simulations for N timesteps -run 50000 - diff --git a/examples/SPIN/in.spin.cobalt b/examples/SPIN/in.spin.cobalt deleted file mode 100644 index 4b0d7c3e64..0000000000 --- a/examples/SPIN/in.spin.cobalt +++ /dev/null @@ -1,125 +0,0 @@ -################### -#######Init######## -################### - -clear -units metal -dimension 3 -#boundary p p p -boundary p p p - -#newton off - -#setting atom_style to spin: -atom_style spin - -#Define sort for paramagnetic simulations (if no pair interaction) -#atom_modify sort 1000 4.0 - -atom_modify map array - -########################### -#######Create atoms######## -########################### - -lattice fcc 3.54 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -create_atoms 1 box - -####################### -#######Settings######## -####################### - -#isolating 1 atom into a group -group single_spin id 10 - -#Setting one or more properties of one or more atoms. -mass 1 58.93 - -#Setting spins orientation and moment -set group all spin/random 31 1.72 -#set group all spin 1.72 0.0 0.0 1.0 -#set group single_spin spin/random 11 1.72 - -#velocity all create 200 4928459 rot yes dist gaussian -velocity all create 200 4928459 rot yes dist gaussian - -#Magneto-mechanic interactions for bulk fcc Cobalt -#pair_style pair/spin/exchange 4.0 -#pair_style eam/alloy -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 - -pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co -#pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co - -#pair_style pair/spin/exchange 4.0 -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -#pair_coeff * * exchange 4.0 -0.0446928 0.003496 1.4885 -#pair_coeff * * exchange 4.0 0.0 0.003496 1.4885 -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 -#pair_coeff * * pair/spin/exchange exchange 2.5 0.0446928 0.003496 1.4885 -#pair_coeff * * pair/spin/exchange exchange 4.0 0.0 0.003496 1.4885 - -#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) -#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 -#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 - -#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.0 0.864159 2.13731 - -#Define a skin distance, update neigh list every -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 -#neighbor 1.0 bin -#neigh_modify every 1 check no delay 0 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -#fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.01 0.0 0.0 1.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -#fix 2 all langevin/spin 0.0 0.1 0.0 21 -#fix 2 all langevin/spin 0.0 0.0 0.0 21 - -#Magnetic integration fix -fix 3 all integration/spin lattice yes -#fix 3 all integration/spin lattice no - -#compute real time, total magnetization, magnetic energy, and spin temperature -#Iteration | Time | Mx | My | Mz | |M| | Em | Tm - -#Setting the timestep for the simulation (in ps) -timestep 0.0001 - -################## -#######run######## -################## - -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] -variable mag_force equal f_1 -#variable test equal etotal-0.5*c_out_mag[6] - -thermo 10 -thermo_style custom step time v_magnorm v_emag temp etotal -thermo_modify format float %20.15g - -#Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz - -#Running the simulations for N timesteps -run 10 -#run 1000 - diff --git a/examples/SPIN/in.spin.kagome b/examples/SPIN/in.spin.kagome deleted file mode 100644 index c51c35ff73..0000000000 --- a/examples/SPIN/in.spin.kagome +++ /dev/null @@ -1,126 +0,0 @@ -################### -#######Init######## -################### - -clear -#setting units to metal (Ang, picosecs, eV, ...): -units metal - -#setting dimension of the system (N=2 or 3): -dimension 3 - -#setting boundary conditions. (p for periodic, f for fixed, ...) -boundary p p p -#boundary f f f - -#setting atom_style to spin: -atom_style spin - -#Define sort for paramagnetic simulations (if no pair interaction) -#atom_modify sort 1000 4.0 - -#why? -atom_modify map array - -#newton off for pair spin in SEQNEI -#newton off off - -########################### -#######Create atoms######## -########################### - -#Lattice constant of fcc Cobalt -lattice fcc 3.54 -#lattice sc 2.50 - -#Test Kagome -#variable a equal sqrt(3.0)/8.0 -#variable b equal 3.0*sqrt(3.0)/8.0 -#variable c equal sqrt(3.0)/4.0 - -#lattice custom 2.5 a1 1.0 0.0 0.0 & -# a2 0.0 1.0 0.0 & -# a3 0.0 0.0 1.0 & -# basis 0.0 $a 0.0 & -# basis 0.25 $a 0.0 & -# basis 0.375 0.0 0.0 & -# basis 0.25 $b 0.0 & -# basis 0.5 $b 0.0 & -# basis 0.625 $c 0.0 - -#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen -#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 5.0 0.0 5.0 0.0 5.0 - -#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. -create_box 1 box - -#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... -#Entries: atom type, -create_atoms 1 box - -#Replicating NxNxN the entire set of atoms -#replicate 1 1 1 - - -####################### -#######Settings######## -####################### - -#Setting one or more properties of one or more atoms. -#Setting mass -mass 1 1.0 -#set group all mass 1.0 -#Setting spins orientation and moment -#set group all spin/random 11 1.72 -set group all spin 1.72 1.0 0.0 0.0 - -#Magnetic exchange interaction coefficient for bulk fcc Cobalt -pair_style pair/spin 4.0 -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 -#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) -#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 -#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 - -#Define a skin distance, update neigh list every -#neighbor 1.0 bin -#neigh_modify every 10 check yes delay 20 -neighbor 0.0 bin -neigh_modify every 1 check no delay 0 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -#fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 1.0 0.1 0.0 21 -#fix 2 all langevin/spin 0.0 0.0 0.0 21 - -#Magnetic integration fix -fix 3 all nve/spin mpi - -#compute real time, total magnetization, magnetic energy, and spin temperature -#Iteration | Time | Mx | My | Mz | |M| | Em | Tm -compute mag all compute/spin -fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g - -#Setting the timestep for the simulation (in ps) -timestep 0.0001 - -################## -#######run######## -################## - -#Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz - -#Running the simulations for N timesteps -run 2000 -#run 1 - diff --git a/examples/SPIN/in.spin.read_data b/examples/SPIN/in.spin.read_data deleted file mode 100644 index 81d654ad5b..0000000000 --- a/examples/SPIN/in.spin.read_data +++ /dev/null @@ -1,88 +0,0 @@ -################### -#######Init######## -################### - -clear -units metal -dimension 3 -boundary p p p -#boundary f f f - -#setting atom_style to spin: -atom_style spin - -atom_modify map array - -########################### -#######Create atoms######## -########################### - -read_data ../examples/SPIN/Norm_randXY_8x8x32_test.data - -####################### -#######Settings######## -####################### - -#Setting one or more properties of one or more atoms. -mass 1 58.93 - -#velocity all create 200 4928459 rot yes dist gaussian - -#Magneto-mechanic interactions for bulk fcc Cobalt -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 - -# cobalt eam potential -pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co - -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 - -#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) -pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 - -#Define a skin distance, update neigh list every -#neighbor 1.0 bin -#neigh_modify every 10 check yes delay 20 -neighbor 1.0 bin -neigh_modify every 1 check no delay 0 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -fix 2 all langevin/spin 0.0 0.0 0.0 21 - -#Magnetic integration fix -fix 3 all integration/spin serial - -#Setting the timestep for the simulation (in ps) -timestep 0.0001 - -################## -#######run######## -################## - -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] -variable mag_force equal f_1 - -thermo 10 -thermo_style custom step time v_magnorm v_emag v_tmag temp etotal -thermo_modify format float %20.15g - -#Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 1 dump.lammpstrj type x y z spx spy spz - -#Running the simulations for N timesteps -run 10 -#run 10000 - diff --git a/examples/SPIN/in.spin.restart b/examples/SPIN/in.spin.restart deleted file mode 100644 index bd9e0716e9..0000000000 --- a/examples/SPIN/in.spin.restart +++ /dev/null @@ -1,109 +0,0 @@ -################### -#######Init######## -################### - -clear -units metal -dimension 3 -boundary p p p -#boundary f f f - -#newton off - -#setting atom_style to spin: -atom_style spin - -#Define sort for paramagnetic simulations (if no pair interaction) -#atom_modify sort 1000 4.0 - -atom_modify map array - -########################### -#######Create atoms######## -########################### - -lattice fcc 3.54 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -#create_atoms 1 box - -#read_dump dump_cobalt.lammpstrj 500 x y z vx vy vz box yes -read_dump ../examples/SPIN/Norm_randXY_8x8x32.dump 0 x y z box yes - -create_atoms 1 box - -####################### -#######Settings######## -####################### - -#isolating 1 atom into a group -group single_spin id 10 - -#Setting one or more properties of one or more atoms. -mass 1 58.93 - -#Setting spins orientation and moment -#set group all spin/random 31 1.72 -set group all spin 1.72 0.0 0.0 1.0 -set group single_spin spin/random 11 1.72 - -velocity all create 200 4928459 rot yes dist gaussian - -#Magneto-mechanic interactions for bulk fcc Cobalt -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 - -# cobalt eam potential -pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co - -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 - -#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) -pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 - -#Define a skin distance, update neigh list every -#neighbor 1.0 bin -#neigh_modify every 10 check yes delay 20 -neighbor 1.0 bin -neigh_modify every 1 check no delay 0 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -fix 2 all langevin/spin 0.0 0.0 0.0 21 - -#Magnetic integration fix -fix 3 all integration/spin serial - -#Setting the timestep for the simulation (in ps) -timestep 0.0001 - -################## -#######run######## -################## - -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] -variable mag_force equal f_1 - -thermo 10 -thermo_style custom step time v_magnorm v_emag v_tmag temp etotal -thermo_modify format float %20.15g - -#Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 20 dump.lammpstrj type x y z spx spy spz - -#Running the simulations for N timesteps -run 100 -#run 10000 - diff --git a/examples/SPIN/iron/in.spin.iron b/examples/SPIN/iron/in.spin.iron index 254c094bd8..84279424f8 100644 --- a/examples/SPIN/iron/in.spin.iron +++ b/examples/SPIN/iron/in.spin.iron @@ -44,10 +44,10 @@ compute out_pe all pe compute out_ke all ke compute out_temp all temp -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] variable mag_force equal f_1 thermo_style custom step time v_magnorm v_emag temp etotal diff --git a/examples/SPIN/nickel/in.spin.nickel b/examples/SPIN/nickel/in.spin.nickel index 09ac4abb0b..682baf9418 100644 --- a/examples/SPIN/nickel/in.spin.nickel +++ b/examples/SPIN/nickel/in.spin.nickel @@ -44,10 +44,10 @@ compute out_pe all pe compute out_ke all ke compute out_temp all temp -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] variable mag_force equal f_1 thermo_style custom step time v_magnorm v_emag temp etotal diff --git a/examples/SPIN/prepare_vmd.sh b/examples/SPIN/prepare_vmd.sh deleted file mode 100755 index fa62c6e109..0000000000 --- a/examples/SPIN/prepare_vmd.sh +++ /dev/null @@ -1,91 +0,0 @@ -#!/bin/bash -# example prepare_vmd.sh /home/jtranch/Documents/lammps/src/dump_VSRSV.lammpstrj -# you will get a return file - -echo "vmd script for file $1 is preparing..." - -timestamp(){ - date +%s -} - -TS=$(timestamp) -FILE=view_${TS}.vmd - -cat >${FILE} <] [resolution ] [radius ] [filled ]"} - # defaults - set scale 2.0 - set res 50 - set radius 0.1 - set filled yes - - if {[llength \$args] < 3} { - error "wrong # args: should be \$usage" - } - set mol [lindex \$args 0] - set center [lindex \$args 1] - set vector [lindex \$args 2] - if {[llength \$center] != 3 || [llength \$vector] != 3} { - error "wrong type of args: should be \$usage" - } - - foreach {flag value} [lrange \$args 3 end] { - switch -glob \$flag { - scale {set scale \$value} - res* {set res \$value} - rad* {set radius \$value} - fill* {set filled \$value} - default {error "unknown option '\$flag': should be \$usage" } - } - } - - set vechalf [vecscale [expr \$scale * 0.5] \$vector] - return [list \\ - [graphics \$mol color yellow]\\ - [graphics \$mol cylinder [vecsub \$center \$vechalf]\\ - [vecadd \$center [vecscale 0.7 \$vechalf]] \\ - radius \$radius resolution \$res filled \$filled] \\ - [graphics \$mol color orange]\\ - [graphics \$mol cone [vecadd \$center [vecscale 0.6 \$vechalf]] \\ - [vecadd \$center \$vechalf] radius [expr \$radius * 2.5] \\ - resolution \$res]] -} - -proc vmd_draw_spin {args} { - global molid - graphics \$molid delete all - set frame [molinfo \$molid get frame] - set natoms [molinfo \$molid get numatoms] - for {set i 0} {\$i < \$natoms} {incr i} { - set sel [atomselect top "index \$i"] - set coords [lindex [\$sel get {x y z}] \$molid] - set velocities [lindex [\$sel get {vx vy vz}] \$molid] - draw vector \$coords \$velocities - set uvx [lindex [\$sel get {vx}] \$molid] - set uvy [lindex [\$sel get {vy}] \$molid] - set uvz [lindex [\$sel get {vz}] \$molid] - \$sel set user [vecadd [vecadd [vecscale \$uvy \$uvy] [vecscale \$uvz \$uvz] ] [vecscale \$uvx \$uvx]] - \$sel set user \$uvy - #draw vector \$coords {0.0 uvy 0.0} - } - #pbc box -color 3 -} - -proc enable_trace {} { - global vmd_frame - trace variable vmd_frame([molinfo top]) w vmd_draw_spin -} - -set molid [mol addfile {$1} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] -scale by 0.5 -animate style Loop -enable_trace -EOF -echo "$FILE is ready..." diff --git a/examples/SPIN/Norm_randXY_8x8x32.data b/examples/SPIN/read_restart/Norm_randXY_8x8x32.data similarity index 100% rename from examples/SPIN/Norm_randXY_8x8x32.data rename to examples/SPIN/read_restart/Norm_randXY_8x8x32.data diff --git a/examples/SPIN/read_restart/in.spin.read_data b/examples/SPIN/read_restart/in.spin.read_data index 7e9519ae3f..853b059d27 100644 --- a/examples/SPIN/read_restart/in.spin.read_data +++ b/examples/SPIN/read_restart/in.spin.read_data @@ -69,10 +69,10 @@ compute out_pe all pe compute out_ke all ke compute out_temp all temp -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] variable mag_force equal f_1 thermo 10 diff --git a/examples/SPIN/skyrmion/in.spin.skyrmion b/examples/SPIN/skyrmion/in.spin.skyrmion index 4897dc48a2..a0d4e8c1d4 100644 --- a/examples/SPIN/skyrmion/in.spin.skyrmion +++ b/examples/SPIN/skyrmion/in.spin.skyrmion @@ -66,10 +66,10 @@ timestep 0.0002 # define output and run compute out_mag all compute/spin -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] variable mag_force equal f_1 thermo_style custom step time v_magnorm v_emag etotal diff --git a/examples/SPIN/vmd_nano.vmd b/examples/SPIN/vmd_nano.vmd deleted file mode 100644 index f9e3454270..0000000000 --- a/examples/SPIN/vmd_nano.vmd +++ /dev/null @@ -1,79 +0,0 @@ -proc vmd_draw_arrow {mol start end} { - set middle [vecadd $start [vecscale 0.9 [vecsub $end $start]]] - graphics $mol cylinder $start $middle radius 0.05 - graphics $mol cone $middle $end radius 0.01 color 3 -} - -proc vmd_draw_vector {args} { - set usage {"draw vector {x1 y1 z1} {x2 y2 z2} [scale ] [resolution ] [radius ] [filled ]"} - # defaults - set scale 2.0 - set res 50 - set radius 0.1 - set filled yes - - if {[llength $args] < 3} { - error "wrong # args: should be $usage" - } - set mol [lindex $args 0] - set center [lindex $args 1] - set vector [lindex $args 2] - if {[llength $center] != 3 || [llength $vector] != 3} { - error "wrong type of args: should be $usage" - } - - foreach {flag value} [lrange $args 3 end] { - switch -glob $flag { - scale {set scale $value} - res* {set res $value} - rad* {set radius $value} - fill* {set filled $value} - default {error "unknown option '$flag': should be $usage" } - } - } - - set vechalf [vecscale [expr $scale * 0.5] $vector] - return [list \ - [graphics $mol color yellow]\ - [graphics $mol cylinder [vecsub $center $vechalf]\ - [vecadd $center [vecscale 0.7 $vechalf]] \ - radius $radius resolution $res filled $filled] \ - [graphics $mol color orange]\ - [graphics $mol cone [vecadd $center [vecscale 0.6 $vechalf]] \ - [vecadd $center $vechalf] radius [expr $radius * 2.5] \ - resolution $res]] -} - -proc vmd_draw_spin {args} { - global molid - graphics $molid delete all - set frame [molinfo $molid get frame] - set natoms [molinfo $molid get numatoms] - for {set i 0} {$i < $natoms} {incr i} { - set sel [atomselect top "index $i"] -# set sel [atomselect top "index 1200"] - set coords [lindex [$sel get {x y z}] $molid] - set velocities [lindex [$sel get {vx vy vz}] $molid] - draw vector $coords $velocities - set uvx [lindex [$sel get {vx}] $molid] - set uvy [lindex [$sel get {vy}] $molid] - set uvz [lindex [$sel get {vz}] $molid] - $sel set user [vecadd [vecadd [vecscale $uvy $uvy] [vecscale $uvz $uvz] ] [vecscale $uvx $uvx]] - $sel set user $uvy - #draw vector $coords {0.0 uvy 0.0} - } - #pbc box -color 3 -} - -proc enable_trace {} { - global vmd_frame - trace variable vmd_frame([molinfo top]) w vmd_draw_spin - } - -set molid [mol addfile {/home/jtranch/Documents/lammps/src/dump.lammpstrj} type {lammpstrj} autobonds off first 0 last -1 step 1 waitfor all] -scale by 0.5 -animate style Loop -enable_trace - - - diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index fc308b8124..697035786f 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -41,7 +41,7 @@ ComputeSpin::ComputeSpin(LAMMPS *lmp, int narg, char **arg) : if ((narg != 3) && (narg != 4)) error->all(FLERR,"Illegal compute compute/spin command"); vector_flag = 1; - size_vector = 7; + size_vector = 6; extvector = 0; init(); @@ -133,13 +133,12 @@ void ComputeSpin::compute_vector() spintemperature = hbar*tempnumtot; spintemperature /= (kb*tempdenomtot); - vector[0] = invoked_vector*update->dt; - vector[1] = magtot[0]; - vector[2] = magtot[1]; - vector[3] = magtot[2]; - vector[4] = magtot[3]; - vector[5] = magenergytot*hbar; - vector[6] = spintemperature; + vector[0] = magtot[0]; + vector[1] = magtot[1]; + vector[2] = magtot[2]; + vector[3] = magtot[3]; + vector[4] = magenergytot*hbar; + vector[5] = spintemperature; } @@ -149,6 +148,6 @@ void ComputeSpin::compute_vector() void ComputeSpin::allocate() { - memory->create(vector,7,"compute/spin:vector"); + memory->create(vector,6,"compute/spin:vector"); } -- GitLab From 86cfbb3010877804f87a220007b44e726b025dee Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 13 Feb 2018 13:06:37 -0700 Subject: [PATCH 075/675] Delete in.spin.read_data --- examples/SPIN/read_restart/in.spin.read_data | 96 ++++++-------------- 1 file changed, 29 insertions(+), 67 deletions(-) diff --git a/examples/SPIN/read_restart/in.spin.read_data b/examples/SPIN/read_restart/in.spin.read_data index 853b059d27..3a49dd4a33 100644 --- a/examples/SPIN/read_restart/in.spin.read_data +++ b/examples/SPIN/read_restart/in.spin.read_data @@ -1,88 +1,50 @@ -################### -#######Init######## -################### - +# start a spin-lattice simulation from a data file clear -units metal -dimension 3 -boundary p p p -#boundary f f f - -#setting atom_style to spin: -atom_style spin - -atom_modify map array +units metal +dimension 3 +boundary p p p -########################### -#######Create atoms######## -########################### +atom_style spin -read_data ../examples/SPIN/Norm_randXY_8x8x32_test.data +# necessary for the serial algorithm (sametag) +atom_modify map array -####################### -#######Settings######## -####################### +read_data ../examples/SPIN/read_restart/Norm_randXY_8x8x32.data -#Setting one or more properties of one or more atoms. mass 1 58.93 -#velocity all create 200 4928459 rot yes dist gaussian - -#Magneto-mechanic interactions for bulk fcc Cobalt -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 - -# cobalt eam potential -pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co - -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 - -#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) -pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 - -#Define a skin distance, update neigh list every -#neighbor 1.0 bin -#neigh_modify every 10 check yes delay 20 -neighbor 1.0 bin -neigh_modify every 1 check no delay 0 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 +# define magneto-mechanical potentials and forces +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_coeff * * eam/alloy ../examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -fix 2 all langevin/spin 0.0 0.0 21 +neighbor 1.0 bin +neigh_modify every 1 check no delay 0 -#Magnetic integration fix -fix 3 all integration/spin serial +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 -#Setting the timestep for the simulation (in ps) +fix 3 all nve/spin lattice yes timestep 0.0001 -################## -#######run######## -################## +# define outputs and computes -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] -variable mag_force equal f_1 +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] thermo 10 thermo_style custom step time v_magnorm v_emag v_tmag temp etotal thermo_modify format float %20.15g -#Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 1 dump.lammpstrj type x y z spx spy spz +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] -#Running the simulations for N timesteps -run 10 -#run 10000 +run 100 -- GitLab From fa499ff95d47734d0793b7e40581435934fa8168 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 13 Feb 2018 13:10:46 -0700 Subject: [PATCH 076/675] Commit JT 021318 --- examples/SPIN/bfo/in.spin.bfo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/SPIN/bfo/in.spin.bfo b/examples/SPIN/bfo/in.spin.bfo index fcee62dd7c..4f82a9f160 100644 --- a/examples/SPIN/bfo/in.spin.bfo +++ b/examples/SPIN/bfo/in.spin.bfo @@ -49,7 +49,7 @@ variable mag_force equal f_1 thermo_style custom step time v_magnorm v_emag temp etotal thermo 50 -dump 1 all custom 100 dump_spin_BFO.lammpstrj type x y z spx spy spz +dump 1 all custom 50 dump_spin_BFO.lammpstrj type x y z spx spy spz run 20000 -- GitLab From 7990826ca288030ba2dcaf8aeae24f1397145639 Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 15 Feb 2018 15:29:46 -0700 Subject: [PATCH 077/675] Commit JT 021518 --- doc/src/pair_spin_soc_neel.txt | 85 +++++ examples/SPIN/bfo/in.spin.bfo | 2 +- examples/SPIN/cobalt/in.spin.cobalt | 2 +- examples/SPIN/dev/in.spin.cobalt | 31 +- src/SPIN/compute_spin.cpp | 4 +- src/SPIN/pair_spin_soc_landau.cpp | 483 ---------------------------- src/SPIN/pair_spin_soc_landau.h | 84 ----- src/SPIN/pair_spin_soc_neel.cpp | 284 +++++++++++----- src/SPIN/pair_spin_soc_neel.h | 10 +- 9 files changed, 325 insertions(+), 660 deletions(-) create mode 100644 doc/src/pair_spin_soc_neel.txt delete mode 100755 src/SPIN/pair_spin_soc_landau.cpp delete mode 100755 src/SPIN/pair_spin_soc_landau.h diff --git a/doc/src/pair_spin_soc_neel.txt b/doc/src/pair_spin_soc_neel.txt new file mode 100644 index 0000000000..5f24234d0c --- /dev/null +++ b/doc/src/pair_spin_soc_neel.txt @@ -0,0 +1,85 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style pair/spin/soc/neel command :h3 + +[Syntax:] + +pair_style pair/spin/soc/neel cutoff :pre + +cutoff = global cutoff pair (distance in metal units) :ulb,l + +:ule + +[Examples:] + +pair_style pair/spin/soc/neel 4.0 +pair_coeff * * neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 +pair_coeff 1 2 neel 4.0 0.0048 0.234 1.168 0.0 0.0 1.0 :pre + +[Description:] + +Styles {pair/spin/soc} compute pair interactions arising from the spin-orbit +coupling (soc). + +Style {pair/spin/soc/neel} computes the Neel pair anisotropy model +between pairs of magnetic spins: + +:c,image(Eqs/pair_spin_soc_dmi_interaction.jpg) + +where si and sj are two neighboring magnetic spins of two particles, +rij = ri - rj is the inter-atomic distance between the two particles, +and D(rij) is the DM vector defining the intensity and the +sign of the exchange interaction. + +This function is defined as: + +:c,image(Eqs/pair_spin_exchange_function.jpg) + +where a, b and d are the three constant coefficients defined in the associated +"pair_coeff" command. + +The coefficients a, b, and d need to be fitted so that the function above matches with +the value of the DM interaction for the N neighbor shells taken +into account. + +Examples and more explanations about this function and its parametrization are reported +in "(Tranchida)"_#Tranchida1. + +From this DM interaction, each spin i will be submitted to a magnetic torque +omega and its associated atom to a force F (for spin-lattice calculations only), +such as: + +:c,image(Eqs/pair_spin_soc_dmi_forces.jpg) + +with h the Planck constant (in metal units). + +More details about the derivation of these torques/forces are reported in +"(Tranchida)"_#Tranchida1. + +:line + +[Restrictions:] + +All the {pair/spin} styles are part of the SPIN package. +These styles are only enabled if LAMMPS was built with this package, and +if the atom_style "spin" was declared. +See the "Making LAMMPS"_Section_start.html#start_3 section for more info. + +[Related commands:] + +"atom_style spin"_atom_style.html, "pair_coeff"_pair_coeff.html, +"pair_eam"_pair_eam.html, + +[Default:] none + +:line + +:link(Tranchida1) +[(Tranchida)]https://arxiv.org/abs/1801.10233 + diff --git a/examples/SPIN/bfo/in.spin.bfo b/examples/SPIN/bfo/in.spin.bfo index 4f82a9f160..66e0f3f785 100644 --- a/examples/SPIN/bfo/in.spin.bfo +++ b/examples/SPIN/bfo/in.spin.bfo @@ -51,5 +51,5 @@ thermo 50 dump 1 all custom 50 dump_spin_BFO.lammpstrj type x y z spx spy spz -run 20000 +run 5000 diff --git a/examples/SPIN/cobalt/in.spin.cobalt b/examples/SPIN/cobalt/in.spin.cobalt index 2e9b27ea0d..74523dfb70 100644 --- a/examples/SPIN/cobalt/in.spin.cobalt +++ b/examples/SPIN/cobalt/in.spin.cobalt @@ -55,5 +55,5 @@ thermo 10 #dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz -run 1000 +run 10 diff --git a/examples/SPIN/dev/in.spin.cobalt b/examples/SPIN/dev/in.spin.cobalt index 2ec13f2cef..bdb71523e0 100644 --- a/examples/SPIN/dev/in.spin.cobalt +++ b/examples/SPIN/dev/in.spin.cobalt @@ -48,8 +48,8 @@ velocity all create 200 4928459 rot yes dist gaussian #Magneto-mechanic interactions for bulk fcc Cobalt #pair_style pair/spin/exchange 4.0 #pair_style eam/alloy -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair_coeff * * eam/alloy ../examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy Co #pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co @@ -67,7 +67,10 @@ pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 #pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 #type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) -pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 + +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 + #pair_coeff * * pair/spin/soc/neel neel 4.0 0.0 0.864159 2.13731 #Define a skin distance, update neigh list every @@ -78,13 +81,13 @@ neigh_modify every 10 check yes delay 20 #Magnetic field fix #Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 +fix 1 all force/spin zeeman 10.0 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.01 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) #Temp | Alpha_trans | Alpha_long | Seed #fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 0.0 0.0 21 +fix 2 all langevin/spin 0.0 0.1 21 #Magnetic integration fix fix 3 all integration/spin lattice yes @@ -105,16 +108,16 @@ compute out_pe all pe compute out_ke all ke compute out_temp all temp -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] -variable mag_force equal f_1 -#variable test equal etotal-0.5*c_out_mag[6] +variable magx equal c_out_mag[1] +variable magy equal c_out_mag[2] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] thermo 50 -#thermo_style custom step time v_magnorm v_tmag temp etotal -thermo_style custom step time pe ke v_emag etotal +thermo_style custom step time v_magx v_magy v_magy v_magnorm v_emag v_tmag +#thermo_style custom step time pe ke v_emag thermo_modify format float %20.15g #Dump the positions and spin directions of magnetic particles (vmd format) @@ -122,5 +125,5 @@ thermo_modify format float %20.15g #Running the simulations for N timesteps #run 10 -run 200000 +run 100 diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 697035786f..7dbf7b05ab 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -71,7 +71,7 @@ void ComputeSpin::compute_vector() { int i, index; int countsp, countsptot; - double mag[3], magtot[3]; + double mag[4], magtot[4]; double magenergy, magenergytot; double tempnum, tempnumtot; double tempdenom, tempdenomtot; @@ -128,7 +128,7 @@ void ComputeSpin::compute_vector() double scale = 1.0/countsptot; magtot[0] *= scale; magtot[1] *= scale; - magtot[2] *= scale; + magtot[2] *= scale; magtot[3] = sqrt((magtot[0]*magtot[0])+(magtot[1]*magtot[1])+(magtot[2]*magtot[2])); spintemperature = hbar*tempnumtot; spintemperature /= (kb*tempdenomtot); diff --git a/src/SPIN/pair_spin_soc_landau.cpp b/src/SPIN/pair_spin_soc_landau.cpp deleted file mode 100755 index 2beebb47f5..0000000000 --- a/src/SPIN/pair_spin_soc_landau.cpp +++ /dev/null @@ -1,483 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ------------------------------------------------------------------------ - Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) -------------------------------------------------------------------------- */ - -#include -#include -#include - -#include "atom.h" -#include "comm.h" -#include "error.h" -#include "force.h" -#include "pair_hybrid.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "math_const.h" -#include "memory.h" -#include "pair_spin_soc_landau.h" -#include "update.h" - -using namespace LAMMPS_NS; -using namespace MathConst; - -/* ---------------------------------------------------------------------- */ - -PairSpinSocLandau::PairSpinSocLandau(LAMMPS *lmp) : Pair(lmp) -{ - hbar = force->hplanck/MY_2PI; - - newton_pair_spin = 0; // no newton pair for now => to be corrected - // newton_pair = 0; - - single_enable = 0; - soc_neel_flag = 0; - - no_virial_fdotr_compute = 1; -} - -/* ---------------------------------------------------------------------- */ - -PairSpinSocLandau::~PairSpinSocLandau() -{ - if (allocated) { - memory->destroy(setflag); - - memory->destroy(cut_soc_landau); - memory->destroy(K1); - memory->destroy(K1_mech); - memory->destroy(K2); - memory->destroy(K3); - - memory->destroy(cutsq); - } -} - -/* ---------------------------------------------------------------------- */ - -void PairSpinSocLandau::compute(int eflag, int vflag) -{ - int i,j,ii,jj,inum,jnum,itype,jtype; - double evdwl, ecoul; - double xi[3], rij[3]; - double spi[3], spj[3]; - double fi[3], fj[3]; - double fmi[3], fmj[3]; - double cut_soc_landau_2, cut_soc_global2; - double rsq, rd, inorm; - int *ilist,*jlist,*numneigh,**firstneigh; - - evdwl = ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; - cut_soc_global2 = cut_soc_global*cut_soc_global; - - double **x = atom->x; - double **f = atom->f; - double **fm = atom->fm; - double *mumag = atom->mumag; - double **sp = atom->sp; - int *type = atom->type; - int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; - - inum = list->inum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - - // pair spin computations - // loop over neighbors of my atoms - - for (ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - // loop on neighbors - for (jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; - - evdwl = 0.0; - - fi[0] = fi[1] = fi[2] = 0.0; - fj[0] = fj[1] = fj[2] = 0.0; - fmi[0] = fmi[1] = fmi[2] = 0.0; - fmj[0] = fmj[1] = fmj[2] = 0.0; - rij[0] = rij[1] = rij[2] = 0.0; - - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - inorm = 1.0/sqrt(rsq); - rij[0] *= inorm; - rij[1] *= inorm; - rij[2] *= inorm; - - itype = type[i]; - jtype = type[j]; - - // compute mag. and mech. components of soc - cut_soc_landau_2 = cut_soc_landau[itype][jtype]*cut_soc_landau[itype][jtype]; - if (rsq <= cut_soc_landau_2) { - compute_soc_landau(i,j,rsq,rij,fmi,fmj,spi,spj); - compute_soc_mech_landau(i,j,rsq,rij,fi,fj,spi,spj); - } - - f[i][0] += fi[0]; - f[i][1] += fi[1]; - f[i][2] += fi[2]; - fm[i][0] += fmi[0]; - fm[i][1] += fmi[1]; - fm[i][2] += fmi[2]; - -// if (newton_pair || j < nlocal) { => to be corrected - if (newton_pair_spin) { - f[j][0] += fj[0]; - f[j][1] += fj[1]; - f[j][2] += fj[2]; - fm[j][0] += fmj[0]; - fm[j][1] += fmj[1]; - fm[j][2] += fmj[2]; - } - - if (eflag) { - if (rsq <= cut_soc_landau_2) { - evdwl -= spi[0]*fmi[0]; - evdwl -= spi[1]*fmi[1]; - evdwl -= spi[2]*fmi[2]; - evdwl *= hbar; - } else evdwl = 0.0; - } - - if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, - evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); - } - } - - if (vflag_fdotr) virial_fdotr_compute(); - -} - -/* ---------------------------------------------------------------------- */ - -void PairSpinSocLandau::compute_soc_landau(int i, int j, double rsq, double rij[3], double fmi[3], double fmj[3], double spi[3], double spj[3]) -{ - int *type = atom->type; - int itype, jtype; - double Kij, Kij_3, ra, scalar; - itype = type[i]; - jtype = type[j]; - - ra = rsq/K3[itype][jtype]/K3[itype][jtype]; - Kij = 4.0*K1[itype][jtype]*ra; - Kij *= (1.0-K2[itype][jtype]*ra); - Kij *= exp(-ra); - - scalar = rij[0]*spj[0]+rij[1]*spj[1]+rij[2]*spj[2]; - Kij_3 = Kij/3.0; - - fmi[0] += Kij*scalar*rij[0]-Kij_3*spj[0]; - fmi[1] += Kij*scalar*rij[1]-Kij_3*spj[1]; - fmi[2] += Kij*scalar*rij[2]-Kij_3*spj[2]; - - fmj[0] -= Kij*scalar*rij[0]+Kij_3*spi[0]; - fmj[1] -= Kij*scalar*rij[1]+Kij_3*spi[1]; - fmj[2] -= Kij*scalar*rij[2]+Kij_3*spi[2]; - -} - -/* ---------------------------------------------------------------------- */ - -void PairSpinSocLandau::compute_soc_mech_landau(int i, int j, double rsq, double rij[3], double fi[3], double fj[3], double spi[3], double spj[3]) -{ - int *type = atom->type; - int itype, jtype; - double scalar_si_sj, scalar_rij_si, scalar_rij_sj; - double K_mech, Kij, dKij, ra, rr, drij, iK3; - double t1, t2, t3; - itype = type[i]; - jtype = type[j]; - - scalar_si_sj = spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]; - scalar_rij_si = rij[0]*spi[0]+rij[1]*spi[1]+rij[2]*spi[2]; - scalar_rij_sj = rij[0]*spj[0]+rij[1]*spj[1]+rij[2]*spj[2]; - - K_mech = K1_mech[itype][jtype]; - iK3 = 1.0/(K3[itype][jtype]*K3[itype][jtype]); - - drij = sqrt(rsq); - ra = rsq*iK3; - rr = drij*iK3; - - Kij *= (1.0-K2[itype][jtype]*ra); - Kij *= 4.0*K_mech*ra*exp(-ra); - - dKij = 1.0-ra-K2[itype][jtype]*ra*(2.0-ra); - dKij *= 8.0*K_mech*rr*exp(-ra); - - t1 = (dKij-2.0*Kij/drij)*scalar_rij_si*scalar_rij_sj; - t1 -= scalar_si_sj*dKij/3.0; - t2 = scalar_rij_sj*Kij/drij; - t3 = scalar_rij_si*Kij/drij; - - fi[0] += t1*rij[0]+t2*spi[0]+t3*spj[0]; - fi[1] += t1*rij[1]+t2*spi[1]+t3*spj[1]; - fi[2] += t1*rij[2]+t2*spi[2]+t3*spj[2]; - - fj[0] -= t1*rij[0]-t2*spi[0]-t3*spj[0]; - fj[1] -= t1*rij[1]-t2*spi[1]-t3*spj[1]; - fj[2] -= t1*rij[2]-t2*spi[2]-t3*spj[2]; - -} - -/* ---------------------------------------------------------------------- - allocate all arrays -------------------------------------------------------------------------- */ - -void PairSpinSocLandau::allocate() -{ - allocated = 1; - int n = atom->ntypes; - - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; - - memory->create(cut_soc_landau,n+1,n+1,"pair/spin/soc/landau:cut_soc_landau"); - memory->create(K1,n+1,n+1,"pair/spin/soc/landau:K1"); - memory->create(K1_mech,n+1,n+1,"pair/spin/soc/landau:K1_mech"); - memory->create(K2,n+1,n+1,"pair/spin/soc/landau:K2"); - memory->create(K3,n+1,n+1,"pair/spin/soc/landau:K3"); - - memory->create(cutsq,n+1,n+1,"pair/spin/soc/landau:cutsq"); - -} - -/* ---------------------------------------------------------------------- - global settings -------------------------------------------------------------------------- */ - -void PairSpinSocLandau::settings(int narg, char **arg) -{ - if (narg < 1 || narg > 2) - error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); - - if (strcmp(update->unit_style,"metal") != 0) - error->all(FLERR,"Spin simulations require metal unit style"); - - cut_soc_global = force->numeric(FLERR,arg[0]); - - // reset cutoffs that have been explicitly set - - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i+1; j <= atom->ntypes; j++) - if (setflag[i][j]) { - cut_soc_landau[i][j] = cut_soc_global; - } - } - -} - -/* ---------------------------------------------------------------------- - set coeffs for one or more type spin pairs (only one for now) -------------------------------------------------------------------------- */ - -void PairSpinSocLandau::coeff(int narg, char **arg) -{ - const double hbar = force->hplanck/MY_2PI; - - if (!allocated) allocate(); - - // set mech_flag to 1 if magneto-mech simulation - //no longer correct: can be hybrid without magneto-mech - if (strstr(force->pair_style,"pair/spin")) { - mech_flag = 0; - } else if (strstr(force->pair_style,"hybrid/overlay")) { - mech_flag = 1; - } else error->all(FLERR,"Incorrect args in pair_style command"); - - - if (strcmp(arg[2],"neel")==0){ - if (narg != 7) error->all(FLERR,"Incorrect args in pair_style command"); - soc_neel_flag = 1; - - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double k1 = (force->numeric(FLERR,arg[4])); - const double k2 = force->numeric(FLERR,arg[5]); - const double k3 = force->numeric(FLERR,arg[6]); - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_soc_landau[i][j] = rij; - K1[i][j] = k1/hbar; - if (mech_flag) { - K1_mech[i][j] = k1; - } else { - K1_mech[i][j] = 0.0; - } - K2[i][j] = k2; - K3[i][j] = k3; - setflag[i][j] = 1; - count++; - } - } - if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); - } else error->all(FLERR,"Incorrect args in pair_style command"); - -} - - -/* ---------------------------------------------------------------------- - init specific to this pair style -------------------------------------------------------------------------- */ - -void PairSpinSocLandau::init_style() -{ - if (!atom->sp_flag || !atom->mumag_flag) - error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); - - neighbor->request(this,instance_me); - - // check this half/full request => to be corrected -#define FULLNEI -#if defined FULLNEI - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; -#endif - -} - -/* ---------------------------------------------------------------------- - init for one type pair i,j and corresponding j,i -------------------------------------------------------------------------- */ - -double PairSpinSocLandau::init_one(int i, int j) -{ - - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - - return cut_soc_global; -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairSpinSocLandau::write_restart(FILE *fp) -{ - write_restart_settings(fp); - - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); - if (setflag[i][j]) { - if (soc_neel_flag){ - fwrite(&K1[i][j],sizeof(double),1,fp); - fwrite(&K1_mech[i][j],sizeof(double),1,fp); - fwrite(&K2[i][j],sizeof(double),1,fp); - fwrite(&K3[i][j],sizeof(double),1,fp); - fwrite(&cut_soc_landau[i][j],sizeof(double),1,fp); - } - } - } -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairSpinSocLandau::read_restart(FILE *fp) -{ - read_restart_settings(fp); - - allocate(); - - int i,j; - int me = comm->me; - for (i = 1; i <= atom->ntypes; i++) { - for (j = i; j <= atom->ntypes; j++) { - if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); - if (setflag[i][j]) { - if (me == 0) { - fread(&K1[i][j],sizeof(double),1,fp); - fread(&K1_mech[i][j],sizeof(double),1,fp); - fread(&K2[i][j],sizeof(double),1,fp); - fread(&K2[i][j],sizeof(double),1,fp); - fread(&cut_soc_landau[i][j],sizeof(double),1,fp); - } - MPI_Bcast(&K1[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&K1_mech[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&K2[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&K3[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut_soc_landau[i][j],1,MPI_DOUBLE,0,world); - } - } - } -} - - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairSpinSocLandau::write_restart_settings(FILE *fp) -{ - fwrite(&cut_soc_global,sizeof(double),1,fp); - fwrite(&offset_flag,sizeof(int),1,fp); - fwrite(&mix_flag,sizeof(int),1,fp); -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairSpinSocLandau::read_restart_settings(FILE *fp) -{ - if (comm->me == 0) { - fread(&cut_soc_global,sizeof(double),1,fp); - fread(&offset_flag,sizeof(int),1,fp); - fread(&mix_flag,sizeof(int),1,fp); - } - MPI_Bcast(&cut_soc_global,1,MPI_DOUBLE,0,world); - MPI_Bcast(&offset_flag,1,MPI_INT,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); -} diff --git a/src/SPIN/pair_spin_soc_landau.h b/src/SPIN/pair_spin_soc_landau.h deleted file mode 100755 index 491cb9a581..0000000000 --- a/src/SPIN/pair_spin_soc_landau.h +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef PAIR_CLASS - -PairStyle(pair/spin/soc/landau,PairSpinSocLandau) - -#else - -#ifndef LMP_PAIR_SPIN_SOC_LANDAU_H -#define LMP_PAIR_SPIN_SOC_LANDAU_H - -#include "pair.h" - -namespace LAMMPS_NS { - -class PairSpinSocLandau : public Pair { - public: - PairSpinSocLandau(class LAMMPS *); - virtual ~PairSpinSocLandau(); - virtual void compute(int, int); - void settings(int, char **); - void coeff(int, char **); - void init_style(); - double init_one(int, int); - - void write_restart(FILE *); - void read_restart(FILE *); - void write_restart_settings(FILE *); - void read_restart_settings(FILE *); - - void compute_soc_landau(int, int, double, double rij[3], double fmi[3], double fmj[3],double spi[3], double spj[3]); - void compute_soc_mech_landau(int, int, double, double rij[3], double fi[3], double fj[3], double spi[3], double spj[3]); - - int soc_neel_flag; // soc neel flag - int mech_flag; // mech calc. flag - - double cut_soc_global; - double **cut_soc_landau; // cutoff distance exchange - - protected: - int newton_pair_spin; - double hbar; - - double **K1, **K1_mech; // exchange coeffs Kij - double **K2, **K3; // K1 in eV, K2 adim, K3 in Ang - - void allocate(); -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Incorrect args in pair_spin command - -Self-explanatory. - -E: Spin simulations require metal unit style - -Self-explanatory. - -E: Incorrect args for pair coefficients - -Self-explanatory. Check the input script or data file. - -E: Pair spin requires atom attributes sp, mumag - -The atom style defined does not have these attributes. - -*/ diff --git a/src/SPIN/pair_spin_soc_neel.cpp b/src/SPIN/pair_spin_soc_neel.cpp index 6952e0334a..847995abbc 100755 --- a/src/SPIN/pair_spin_soc_neel.cpp +++ b/src/SPIN/pair_spin_soc_neel.cpp @@ -57,10 +57,16 @@ PairSpinSocNeel::~PairSpinSocNeel() memory->destroy(setflag); memory->destroy(cut_soc_neel); - memory->destroy(K1); - memory->destroy(K1_mech); - memory->destroy(K2); - memory->destroy(K3); + + memory->destroy(g1); + memory->destroy(g1_mech); + memory->destroy(g2); + memory->destroy(g3); + + memory->destroy(q1); + memory->destroy(q1_mech); + memory->destroy(q2); + memory->destroy(q3); memory->destroy(cutsq); } @@ -184,23 +190,63 @@ void PairSpinSocNeel::compute_soc_neel(int i, int j, double rsq, double eij[3], { int *type = atom->type; int itype, jtype; - double Kij, Kij_3, ra; - double scalar_i, scalar_j; + double gij, q1ij, q2ij, ra; + double pdx, pdy, pdz; + double pq1x, pq1y, pq1z; + double pq2x, pq2y, pq2z; itype = type[i]; - jtype = type[j]; - - ra = rsq/K3[itype][jtype]/K3[itype][jtype]; - Kij = 4.0*K1[itype][jtype]*ra; - Kij *= (1.0-K2[itype][jtype]*ra); - Kij *= exp(-ra); - - scalar_i = eij[0]*spj[0]+eij[1]*spj[1]+eij[2]*spj[2]; - scalar_j = eij[0]*spi[0]+eij[1]*spi[1]+eij[2]*spi[2]; - Kij_3 = Kij/3.0; - - fmi[0] += Kij*scalar_i*eij[0] - Kij_3*spj[0]; - fmi[1] += Kij*scalar_i*eij[1] - Kij_3*spj[1]; - fmi[2] += Kij*scalar_i*eij[2] - Kij_3*spj[2]; + jtype = type[j]; + + // pseudo-dipolar component + ra = rsq/g3[itype][jtype]/g3[itype][jtype]; + gij = 4.0*g1[itype][jtype]*ra; + gij *= (1.0-g2[itype][jtype]*ra); + gij *= exp(-ra); + + double scalar_eij_si = eij[0]*spi[0] + eij[1]*spi[1] + eij[2]*spi[2]; + double scalar_eij_sj = eij[0]*spj[0] + eij[1]*spj[1] + eij[2]*spj[2]; + double scalar_si_sj = spi[0]*spj[0] + spi[1]*spj[1] + spi[2]*spj[2]; + + double gij_eij_sj = gij*scalar_eij_sj; + double gij_3 = gij/3.0; + pdx = gij_eij_sj*eij[0] - gij_3*spj[0]; + pdy = gij_eij_sj*eij[1] - gij_3*spj[1]; + pdz = gij_eij_sj*eij[2] - gij_3*spj[2]; + + // pseudo-quadrupolar component + ra = rsq/q3[itype][jtype]/q3[itype][jtype]; + q1ij = 4.0*q1[itype][jtype]*ra; + q1ij *= (1.0-q2[itype][jtype]*ra); + q1ij *= exp(-ra); + q2ij = (-2.0*q1ij/9.0); + + pq1x = -(scalar_eij_si*scalar_eij_si - scalar_si_sj/3.0)*spj[0]/3.0; + pq1y = -(scalar_eij_si*scalar_eij_si - scalar_si_sj/3.0)*spj[1]/3.0; + pq1z = -(scalar_eij_si*scalar_eij_si - scalar_si_sj/3.0)*spj[2]/3.0; + + double pqt1 = scalar_eij_sj*scalar_eij_sj-scalar_si_sj/3.0; + pq1x += pqt1*(2.0*scalar_eij_si*eij[0] - spj[0]/3.0); + pq1y += pqt1*(2.0*scalar_eij_si*eij[1] - spj[1]/3.0); + pq1z += pqt1*(2.0*scalar_eij_si*eij[2] - spj[2]/3.0); + + pq1x *= q1ij; + pq1y *= q1ij; + pq1z *= q1ij; + + double scalar_eij_si_2 = scalar_eij_si*scalar_eij_si; + double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; + pq2x = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[0] + scalar_eij_sj_3*eij[0]; + pq2y = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[1] + scalar_eij_sj_3*eij[1]; + pq2z = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[2] + scalar_eij_sj_3*eij[2]; + + pq2x *= q2ij; + pq2y *= q2ij; + pq2z *= q2ij; + + // summing three contributions + fmi[0] += (pdx + pq1x + pq2x); + fmi[1] += (pdy + pq1y + pq2y); + fmi[2] += (pdz + pq1z + pq2z); } @@ -210,39 +256,108 @@ void PairSpinSocNeel::compute_soc_mech_neel(int i, int j, double rsq, double eij { int *type = atom->type; int itype, jtype; - double scalar_si_sj, scalar_eij_si, scalar_eij_sj; - double K_mech, Kij, dKij, ra, rr, drij, iK3; - double t1, t2, t3; + double g_mech, gij, dgij; + double q_mech, q1ij, dq1ij; + double q2ij, dq2ij; + double pdx, pdy, pdz; + double pq1x, pq1y, pq1z; + double pq2x, pq2y, pq2z; + double ra, rr, drij, ig3, iq3; itype = type[i]; jtype = type[j]; drij = sqrt(rsq); - scalar_si_sj = spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]; - scalar_eij_si = eij[0]*spi[0]+eij[1]*spi[1]+eij[2]*spi[2]; - scalar_eij_sj = eij[0]*spj[0]+eij[1]*spj[1]+eij[2]*spj[2]; - - K_mech = K1_mech[itype][jtype]; - iK3 = 1.0/(K3[itype][jtype]*K3[itype][jtype]); - - ra = rsq*iK3; - rr = drij*iK3; - - Kij = 4.0*K_mech*ra; - Kij *= (1.0-K2[itype][jtype]*ra); - Kij *= exp(-ra); - - dKij = 1.0-ra-K2[itype][jtype]*ra*(2.0-ra); - dKij *= 8.0*K_mech*rr*exp(-ra); - - t1 = (dKij-2.0*Kij/drij)*scalar_eij_si*scalar_eij_sj; - t1 -= scalar_si_sj*dKij/3.0; - t2 = scalar_eij_sj*Kij/drij; - t3 = scalar_eij_si*Kij/drij; - - fi[0] -= (t1*eij[0] + t2*spi[0] + t3*spj[0]); - fi[1] -= (t1*eij[1] + t2*spi[1] + t3*spj[1]); - fi[2] -= (t1*eij[2] + t2*spi[2] + t3*spj[2]); + double scalar_si_sj = spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]; + double scalar_eij_si = eij[0]*spi[0]+eij[1]*spi[1]+eij[2]*spi[2]; + double scalar_eij_sj = eij[0]*spj[0]+eij[1]*spj[1]+eij[2]*spj[2]; + + // pseudo-dipolar component + g_mech = g1_mech[itype][jtype]; + ig3 = 1.0/(g3[itype][jtype]*g3[itype][jtype]); + + ra = rsq*ig3; + rr = drij*ig3; + + gij = 4.0*g_mech*ra; + gij *= (1.0-g2[itype][jtype]*ra); + gij *= exp(-ra); + + dgij = 1.0-ra-g2[itype][jtype]*ra*(2.0-ra); + dgij *= 8.0*g_mech*rr*exp(-ra); + + // this 2.0*gij/drij is in Beaujouan calc. but not recovered yet + //double pdt1 = dgij*scalar_eij_si*scalar_eij_sj; + double pdt1 = (dgij-2.0*gij/drij)*scalar_eij_si*scalar_eij_sj; + pdt1 -= scalar_si_sj*dgij/3.0; + double pdt2 = scalar_eij_sj*gij/drij; + double pdt3 = scalar_eij_si*gij/drij; + pdx = -(pdt1*eij[0] + pdt2*spi[0] + pdt3*spj[0]); + pdy = -(pdt1*eij[1] + pdt2*spi[1] + pdt3*spj[1]); + pdz = -(pdt1*eij[2] + pdt2*spi[2] + pdt3*spj[2]); + + // pseudo-quadrupolar component + q_mech = q1_mech[itype][jtype]; + iq3 = 1.0/(q3[itype][jtype]*q3[itype][jtype]); + + ra = rsq*iq3; + rr = drij*iq3; + + q1ij = 4.0*q_mech*ra; + q1ij *= (1.0-q2[itype][jtype]*ra); + q1ij *= exp(-ra); + q2ij = -2.0*q1ij/9.0; + + dq1ij = 1.0-ra-q2[itype][jtype]*ra*(2.0-ra); + dq1ij *= 8.0*q_mech*rr*exp(-ra); + dq2ij = -2.0*dq1ij/9.0; + + double scalar_eij_si_2 = scalar_eij_si*scalar_eij_si; + double scalar_eij_sj_2 = scalar_eij_sj*scalar_eij_sj; + double pqt1 = scalar_eij_si_2 - scalar_si_sj/3.0; + double pqt2 = scalar_eij_sj_2 - scalar_si_sj/3.0; + pq1x = dq1ij * pqt1 * pqt2 * eij[0]; + pq1y = dq1ij * pqt1 * pqt2 * eij[1]; + pq1z = dq1ij * pqt1 * pqt2 * eij[2]; + + double scalar_eij_si_3 = scalar_eij_si*scalar_eij_si*scalar_eij_si; + double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; + double scalar_si_sj_2 = scalar_si_sj*scalar_si_sj; + double pqt3 = 2.0*scalar_eij_si*scalar_eij_sj_3/drij; + double pqt4 = 2.0*scalar_eij_sj*scalar_eij_si_3/drij; + double pqt5 = -2.0*scalar_si_sj*scalar_eij_si/(3.0*drij); + double pqt6 = -2.0*scalar_si_sj*scalar_eij_sj/(3.0*drij); + pq1x += q1ij*(pqt3*spi[0]+pqt4*spj[0]+pqt5*spi[0]+pqt6*spi[0]); + pq1y += q1ij*(pqt3*spi[1]+pqt4*spj[1]+pqt5*spi[1]+pqt6*spj[1]); + pq1z += q1ij*(pqt3*spi[2]+pqt4*spj[2]+pqt5*spi[2]+pqt6*spj[2]); + double pqt7 = 4.0*scalar_eij_si_2*scalar_eij_sj_2/drij; + double pqt8 = 2.0*scalar_si_sj_2*scalar_eij_sj/(3.0*drij); + double pqt9 = 2.0*scalar_si_sj_2*scalar_eij_si/(3.0*drij); + pq1x -= q1ij*(pqt7 + pqt8 + pqt9)*eij[0]; + pq1y -= q1ij*(pqt7 + pqt8 + pqt9)*eij[1]; + pq1z -= q1ij*(pqt7 + pqt8 + pqt9)*eij[2]; + + double pqt10 = scalar_eij_sj*scalar_eij_si_3; + double pqt11 = scalar_eij_si*scalar_eij_sj_3; + pq2x = dq2ij*(pqt10 + pqt11)*eij[0]; + pq2y = dq2ij*(pqt10 + pqt11)*eij[1]; + pq2z = dq2ij*(pqt10 + pqt11)*eij[2]; + double pqt12 = scalar_eij_si_3/drij; + double pqt13 = scalar_eij_sj_3/drij; + double pqt14 = 3.0*scalar_eij_sj*scalar_eij_si_2/drij; + double pqt15 = 3.0*scalar_eij_si*scalar_eij_sj_2/drij; + pq2x += q2ij*((pqt12+pqt15)*spj[0]+(pqt13+pqt14)*spi[0]); + pq2y += q2ij*((pqt12+pqt15)*spj[1]+(pqt13+pqt14)*spi[1]); + pq2z += q2ij*((pqt12+pqt15)*spj[2]+(pqt13+pqt14)*spi[2]); + double pqt16 = 4.0*scalar_eij_sj*scalar_eij_si_3/drij; + double pqt17 = 4.0*scalar_eij_si*scalar_eij_sj_3/drij; + pq2x -= q2ij*(pqt16 + pqt17)*eij[0]; + pq2y -= q2ij*(pqt16 + pqt17)*eij[1]; + pq2z -= q2ij*(pqt16 + pqt17)*eij[2]; + + fi[0] = pdx + pq1x + pq2x; + fi[2] = pdy + pq1y + pq2y; + fi[3] = pdz + pq1z + pq2z; } @@ -261,10 +376,16 @@ void PairSpinSocNeel::allocate() setflag[i][j] = 0; memory->create(cut_soc_neel,n+1,n+1,"pair/spin/soc/neel:cut_soc_neel"); - memory->create(K1,n+1,n+1,"pair/spin/soc/neel:K1"); - memory->create(K1_mech,n+1,n+1,"pair/spin/soc/neel:K1_mech"); - memory->create(K2,n+1,n+1,"pair/spin/soc/neel:K2"); - memory->create(K3,n+1,n+1,"pair/spin/soc/neel:K3"); + + memory->create(g1,n+1,n+1,"pair/spin/soc/neel:g1"); + memory->create(g1_mech,n+1,n+1,"pair/spin/soc/neel:g1_mech"); + memory->create(g2,n+1,n+1,"pair/spin/soc/neel:g2"); + memory->create(g3,n+1,n+1,"pair/spin/soc/neel:g3"); + + memory->create(q1,n+1,n+1,"pair/spin/soc/neel:q1"); + memory->create(q1_mech,n+1,n+1,"pair/spin/soc/neel:q1_mech"); + memory->create(q2,n+1,n+1,"pair/spin/soc/neel:q2"); + memory->create(q3,n+1,n+1,"pair/spin/soc/neel:q3"); memory->create(cutsq,n+1,n+1,"pair/spin/soc/neel:cutsq"); @@ -318,8 +439,8 @@ void PairSpinSocNeel::coeff(int narg, char **arg) } else error->all(FLERR,"Incorrect args in pair_style command"); - if (strcmp(arg[2],"neel")==0){ - if (narg != 7) error->all(FLERR,"Incorrect args in pair_style command"); + if (strcmp(arg[2],"neel") == 0){ + if (narg != 10) error->all(FLERR,"Incorrect args in pair_style command"); soc_neel_flag = 1; int ilo,ihi,jlo,jhi; @@ -327,22 +448,29 @@ void PairSpinSocNeel::coeff(int narg, char **arg) force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); const double rij = force->numeric(FLERR,arg[3]); - const double k1 = (force->numeric(FLERR,arg[4])); + const double k1 = force->numeric(FLERR,arg[4]); const double k2 = force->numeric(FLERR,arg[5]); const double k3 = force->numeric(FLERR,arg[6]); + const double l1 = force->numeric(FLERR,arg[7]); + const double l2 = force->numeric(FLERR,arg[8]); + const double l3 = force->numeric(FLERR,arg[9]); int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { cut_soc_neel[i][j] = rij; - K1[i][j] = k1/hbar; + g1[i][j] = k1/hbar; + q1[i][j] = l1/hbar; if (soc_mech_flag) { - K1_mech[i][j] = k1; + g1_mech[i][j] = k1; + q1_mech[i][j] = l1; } else { - K1_mech[i][j] = 0.0; + g1_mech[i][j] = 0.0; } - K2[i][j] = k2; - K3[i][j] = k3; + g2[i][j] = k2; + g3[i][j] = k3; + q2[i][j] = l2; + q3[i][j] = l3; setflag[i][j] = 1; count++; } @@ -396,10 +524,14 @@ void PairSpinSocNeel::write_restart(FILE *fp) fwrite(&setflag[i][j],sizeof(int),1,fp); if (setflag[i][j]) { if (soc_neel_flag){ - fwrite(&K1[i][j],sizeof(double),1,fp); - fwrite(&K1_mech[i][j],sizeof(double),1,fp); - fwrite(&K2[i][j],sizeof(double),1,fp); - fwrite(&K3[i][j],sizeof(double),1,fp); + fwrite(&g1[i][j],sizeof(double),1,fp); + fwrite(&g1_mech[i][j],sizeof(double),1,fp); + fwrite(&g2[i][j],sizeof(double),1,fp); + fwrite(&g3[i][j],sizeof(double),1,fp); + fwrite(&q1[i][j],sizeof(double),1,fp); + fwrite(&q1_mech[i][j],sizeof(double),1,fp); + fwrite(&q2[i][j],sizeof(double),1,fp); + fwrite(&q3[i][j],sizeof(double),1,fp); fwrite(&cut_soc_neel[i][j],sizeof(double),1,fp); } } @@ -424,16 +556,24 @@ void PairSpinSocNeel::read_restart(FILE *fp) MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); if (setflag[i][j]) { if (me == 0) { - fread(&K1[i][j],sizeof(double),1,fp); - fread(&K1_mech[i][j],sizeof(double),1,fp); - fread(&K2[i][j],sizeof(double),1,fp); - fread(&K2[i][j],sizeof(double),1,fp); + fread(&g1[i][j],sizeof(double),1,fp); + fread(&g1_mech[i][j],sizeof(double),1,fp); + fread(&g2[i][j],sizeof(double),1,fp); + fread(&g2[i][j],sizeof(double),1,fp); + fread(&q1[i][j],sizeof(double),1,fp); + fread(&q1_mech[i][j],sizeof(double),1,fp); + fread(&q2[i][j],sizeof(double),1,fp); + fread(&q2[i][j],sizeof(double),1,fp); fread(&cut_soc_neel[i][j],sizeof(double),1,fp); } - MPI_Bcast(&K1[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&K1_mech[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&K2[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&K3[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&g1[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&g1_mech[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&g2[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&g3[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&q1[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&q1_mech[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&q2[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&q3[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&cut_soc_neel[i][j],1,MPI_DOUBLE,0,world); } } diff --git a/src/SPIN/pair_spin_soc_neel.h b/src/SPIN/pair_spin_soc_neel.h index b02731b214..8eb21fb26b 100755 --- a/src/SPIN/pair_spin_soc_neel.h +++ b/src/SPIN/pair_spin_soc_neel.h @@ -49,11 +49,15 @@ class PairSpinSocNeel : public Pair { double **cut_soc_neel; // cutoff distance exchange protected: - //int newton_pair_spin; double hbar; - double **K1, **K1_mech; // exchange coeffs Kij - double **K2, **K3; // K1 in eV, K2 adim, K3 in Ang + // pseudo-dipolar coeff. + double **g1, **g1_mech; // exchange coeffs gij + double **g2, **g3; // g1 in eV, g2 adim, g3 in Ang + + // pseudo-quadrupolar coeff. + double **q1, **q1_mech; // exchange coeffs qij + double **q2, **q3; // q1 in eV, q2 adim, q3 in Ang void allocate(); }; -- GitLab From e4c6c46b4cdaa312dfeeafe420b3c466f23390e3 Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 1 Mar 2018 09:03:20 -0700 Subject: [PATCH 078/675] Commit JT 010318 (before APS) --- examples/SPIN/bfo/in.spin.bfo | 3 +- .../Co_PurjaPun_2012.eam.alloy | 0 .../in.spin.cobalt_fcc} | 6 +- .../cobalt_hcp/Co_PurjaPun_2012.eam.alloy | 6006 +++++++++++++++++ .../exchange_fit_hcp_co/exchange_fit.py | 32 + .../exchange_fit_hcp_co/exchange_hcp_co.dat | 9 + examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp | 60 + examples/SPIN/dev/in.spin.cobalt | 18 +- src/SPIN/fix_integration_spin.cpp | 1 - src/SPIN/pair_spin_soc_neel.cpp | 32 +- 10 files changed, 6143 insertions(+), 24 deletions(-) rename examples/SPIN/{cobalt => cobalt_fcc}/Co_PurjaPun_2012.eam.alloy (100%) rename examples/SPIN/{cobalt/in.spin.cobalt => cobalt_fcc/in.spin.cobalt_fcc} (82%) create mode 100644 examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy create mode 100644 examples/SPIN/cobalt_hcp/exchange_fit_hcp_co/exchange_fit.py create mode 100644 examples/SPIN/cobalt_hcp/exchange_fit_hcp_co/exchange_hcp_co.dat create mode 100644 examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp diff --git a/examples/SPIN/bfo/in.spin.bfo b/examples/SPIN/bfo/in.spin.bfo index 66e0f3f785..c6c73e531d 100644 --- a/examples/SPIN/bfo/in.spin.bfo +++ b/examples/SPIN/bfo/in.spin.bfo @@ -23,8 +23,7 @@ set group all spin/random 11 2.50 pair_style hybrid/overlay pair/spin/exchange 6.0 pair/spin/me 4.5 pair_coeff * * pair/spin/exchange exchange 6.0 -0.01575 0.0 1.965 -#pair_coeff * * pair/spin/me me 4.5 0.000109 1.0 1.0 1.0 -pair_coeff * * pair/spin/me me 4.5 0.00109 1.0 1.0 1.0 +pair_coeff * * pair/spin/me me 4.5 0.000109 1.0 1.0 1.0 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 diff --git a/examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/cobalt_fcc/Co_PurjaPun_2012.eam.alloy similarity index 100% rename from examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy rename to examples/SPIN/cobalt_fcc/Co_PurjaPun_2012.eam.alloy diff --git a/examples/SPIN/cobalt/in.spin.cobalt b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc similarity index 82% rename from examples/SPIN/cobalt/in.spin.cobalt rename to examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc index 74523dfb70..0d30cfd703 100644 --- a/examples/SPIN/cobalt/in.spin.cobalt +++ b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc @@ -22,11 +22,9 @@ mass 1 58.93 set group all spin/random 31 1.72 velocity all create 100 4928459 rot yes dist gaussian -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * eam/alloy ../examples/SPIN/cobalt_fcc/Co_PurjaPun_2012.eam.alloy Co pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 @@ -55,5 +53,5 @@ thermo 10 #dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz -run 10 +run 500 diff --git a/examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy new file mode 100644 index 0000000000..3af058baf7 --- /dev/null +++ b/examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy @@ -0,0 +1,6006 @@ +Cobalt EAM potential: G. P. Purja Pun and Y. Mishin, Phys. Rev. B xx, 004100 (2012) (in press) +Data below r = 1.5 A is extrapolated. F(Rho) data not extrapolated. +Created on Wed Sep 26 17:29:54 2012 +1 Co +10000 4.788742913000000e-04 10000 6.499539000000001e-04 6.499539000000000e+00 +27 5.893320000000000e+01 2.507000000000000e+00 hcp + -1.680303080000000e-02 -1.879913964471138e-02 -2.091739081044659e-02 -2.303564197615629e-02 -2.503175082079116e-02 + -2.681996612041136e-02 -2.846010103933253e-02 -3.003179469400266e-02 -3.154842562124295e-02 -3.300931506782415e-02 + -3.442381570000001e-02 -3.580233366714632e-02 -3.714945763166951e-02 -3.846832763111274e-02 -3.976210669053554e-02 + -4.103374908125148e-02 -4.228535107207521e-02 -4.351872320172212e-02 -4.473539109100971e-02 -4.593674531110434e-02 + -4.712392115246503e-02 -4.829795108118731e-02 -4.945971154662068e-02 -5.061001094949964e-02 -5.174954151284258e-02 + -5.287894548568519e-02 -5.399878139884967e-02 -5.510957102742049e-02 -5.621177284174523e-02 -5.730581735016625e-02 + -5.839208651773948e-02 -5.947094067448531e-02 -6.054270215356945e-02 -6.160767623453070e-02 -6.266613797925552e-02 + -6.371834880435967e-02 -6.476454576302854e-02 -6.580495483863194e-02 -6.683978209870683e-02 -6.786922452279202e-02 + -6.889346265426707e-02 -6.991266949659354e-02 -7.092700432972064e-02 -7.193662011890395e-02 -7.294165829413661e-02 + -7.394225494811188e-02 -7.493853635958479e-02 -7.593062425993033e-02 -7.691863200494162e-02 -7.790266905197404e-02 + -7.888283764021425e-02 -7.985923664258643e-02 -8.083195868513401e-02 -8.180109346997461e-02 -8.276672525040257e-02 + -8.372893572415932e-02 -8.468780181559693e-02 -8.564339820511864e-02 -8.659579537072190e-02 -8.754506181558984e-02 + -8.849126234605453e-02 -8.943446001410092e-02 -9.037471455117625e-02 -9.131208412841478e-02 -9.224662399623559e-02 + -9.317838801321032e-02 -9.410742739123597e-02 -9.503379209498646e-02 -9.595752974691800e-02 -9.687868684755546e-02 + -9.779730775191570e-02 -9.871343580120046e-02 -9.962711242685958e-02 -1.005383781439554e-01 -1.014472717117523e-01 + -1.023538310651938e-01 -1.032580925977369e-01 -1.041600919387366e-01 -1.050598632026273e-01 -1.059574398208095e-01 + -1.068528540074704e-01 -1.077461373458066e-01 -1.086373201122683e-01 -1.095264320028559e-01 -1.104135016985198e-01 + -1.112985573626335e-01 -1.121816261033156e-01 -1.130627345294291e-01 -1.139419083080692e-01 -1.148191726662944e-01 + -1.156945520127823e-01 -1.165680703406650e-01 -1.174397507992727e-01 -1.183096161572101e-01 -1.191776885039839e-01 + -1.200439895800373e-01 -1.209085404086571e-01 -1.217713616730546e-01 -1.226324734132936e-01 -1.234918953788508e-01 + -1.243496468000000e-01 -1.252057466264230e-01 -1.260602132046348e-01 -1.269130646065986e-01 -1.277643184092350e-01 + -1.286139919512837e-01 -1.294621021138015e-01 -1.303086655551642e-01 -1.311536985007052e-01 -1.319972169590798e-01 + -1.328392365052704e-01 -1.336797725161469e-01 -1.345188400098036e-01 -1.353564538215464e-01 -1.361926284143060e-01 + -1.370273780803152e-01 -1.378607168013910e-01 -1.386926583917836e-01 -1.395232163058920e-01 -1.403524038515728e-01 + -1.411802341103638e-01 -1.420067200256853e-01 -1.428318742148069e-01 -1.436557091565456e-01 -1.444782371020595e-01 + -1.452994701862315e-01 -1.461194203065015e-01 -1.469380992388567e-01 -1.477555185109162e-01 -1.485716895480879e-01 + -1.493866236153044e-01 -1.502003318703277e-01 -1.510128252027127e-01 -1.518241144121522e-01 -1.526342102070998e-01 + -1.534431232126203e-01 -1.542508638114616e-01 -1.550574422930448e-01 -1.558628688157988e-01 -1.566671534698807e-01 + -1.574703062033520e-01 -1.582723368973844e-01 -1.590732553076882e-01 -1.598730711132973e-01 -1.606717938120008e-01 + -1.614694328459875e-01 -1.622659976162905e-01 -1.630614974730487e-01 -1.638559416039789e-01 -1.646493391351259e-01 + -1.654416991082678e-01 -1.662330305252601e-01 -1.670233423125346e-01 -1.678126433512354e-01 -1.686009424167802e-01 + -1.693882482431861e-01 -1.701745695045948e-01 -1.709599148401449e-01 -1.717442928088396e-01 -1.725277119385885e-01 + -1.733101807130639e-01 -1.740917075837066e-01 -1.748723009172683e-01 -1.756519690655456e-01 -1.764307204052008e-01 + -1.772085632840185e-01 -1.779855059094047e-01 -1.787615564692287e-01 -1.795367232135896e-01 -1.803110143830451e-01 + -1.810844381177561e-01 -1.818570025406103e-01 -1.826287158057983e-01 -1.833995860626770e-01 -1.841696214099643e-01 + -1.849388299454831e-01 -1.857072198141128e-01 -1.864747991526175e-01 -1.872415760182443e-01 -1.880075584641173e-01 + -1.887727546063884e-01 -1.895371725773110e-01 -1.903008205105196e-01 -1.910637065418589e-01 -1.918258388146347e-01 + -1.925872254807121e-01 -1.933478747187342e-01 -1.941077947209150e-01 -1.948669937069724e-01 -1.956254799127480e-01 + -1.963832616110719e-01 -1.971403470967068e-01 -1.978967447151567e-01 -1.986524628291068e-01 -1.994075098192274e-01 + -2.001618941005484e-01 -2.009156242075518e-01 -2.016687086990372e-01 -2.024211561116226e-01 -2.031729750127928e-01 + -2.039241741156804e-01 -2.046747621691974e-01 -2.054247479197256e-01 -2.061741401521784e-01 -2.069229478081280e-01 + -2.076711798806499e-01 -2.084188454121736e-01 -2.091659534755806e-01 -2.099125132162076e-01 -2.106585338443872e-01 + -2.114040247579823e-01 -2.121489953974893e-01 -2.128934551864067e-01 -2.136374136027109e-01 -2.143808803592873e-01 + -2.151238652468154e-01 -2.158663781322411e-01 -2.166084289346303e-01 -2.173500277052638e-01 -2.180911845646947e-01 + -2.188319097783510e-01 -2.195722136949507e-01 -2.203121068514981e-01 -2.210515998518519e-01 -2.217907033790026e-01 + -2.225294282016381e-01 -2.232677853521022e-01 -2.240057859531163e-01 -2.247434412252567e-01 -2.254807624804862e-01 + -2.262177612984613e-01 -2.269544493586047e-01 -2.276908384717110e-01 -2.284269405581227e-01 -2.291627678450005e-01 + -2.298983326532392e-01 -2.306336473718499e-01 -2.313687245044682e-01 -2.321035769451089e-01 -2.328382177230701e-01 + -2.335726600184018e-01 -2.343069171312917e-01 -2.350410026917230e-01 -2.357749304696442e-01 -2.365087144650665e-01 + -2.372423688046511e-01 -2.379759078915950e-01 -2.387093462817347e-01 -2.394426988649284e-01 -2.401759806938325e-01 + -2.409092071382775e-01 -2.416423937275558e-01 -2.423755563116356e-01 -2.431087109081851e-01 -2.438418738849959e-01 + -2.445750618045980e-01 -2.453082916583512e-01 -2.460415806101058e-01 -2.467749460848467e-01 -2.475084057095742e-01 + -2.482419776582159e-01 -2.489756803241430e-01 -2.497095324315720e-01 -2.504435529132133e-01 -2.511777612049070e-01 + -2.519121769824342e-01 -2.526468203782122e-01 -2.533817117688987e-01 -2.541168720514789e-01 -2.548523223627430e-01 + -2.555880842783758e-01 -2.563241796571988e-01 -2.570606310516858e-01 -2.577974612919421e-01 -2.585346936249472e-01 + -2.592723515924181e-01 -2.600104594981498e-01 -2.607490419576605e-01 -2.614881240712832e-01 -2.622277312727207e-01 + -2.629678898443362e-01 -2.637086264051527e-01 -2.644499680721714e-01 -2.651919423187013e-01 -2.659345775453039e-01 + -2.666779025531186e-01 -2.674219468183432e-01 -2.681667401972407e-01 -2.689123133912765e-01 -2.696586975492495e-01 + -2.704059247640904e-01 -2.711540275538941e-01 -2.719030391932789e-01 -2.726529934197978e-01 -2.734039250662187e-01 + -2.741558694758598e-01 -2.749088629390239e-01 -2.756629422674556e-01 -2.764181454116789e-01 -2.771745108563868e-01 + -2.779320780841674e-01 -2.786908871694924e-01 -2.794509795564719e-01 -2.802123972949423e-01 -2.809751834880072e-01 + -2.817393818716988e-01 -2.825050376604960e-01 -2.832721967688652e-01 -2.840409064327807e-01 -2.848112145951165e-01 + -2.855831707048412e-01 -2.863568249759762e-01 -2.871322291766564e-01 -2.879094358829076e-01 -2.886884993482028e-01 + -2.894694746623641e-01 -2.902524185831628e-01 -2.910373887617654e-01 -2.918244447549689e-01 -2.926136470970381e-01 + -2.934050583264800e-01 -2.941987419693519e-01 -2.949947634976693e-01 -2.957931894604184e-01 -2.965940887685082e-01 + -2.973975314584912e-01 -2.982035897075678e-01 -2.990123368838905e-01 -2.998238489787670e-01 -3.006382032814213e-01 + -3.014554796495834e-01 -3.022757592753754e-01 -3.030991261199829e-01 -3.039256655881672e-01 -3.047554660899296e-01 + -3.055886175640754e-01 -3.064252130593845e-01 -3.072653472379187e-01 -3.081091181048918e-01 -3.089566254021406e-01 + -3.098079724748395e-01 -3.106632645082006e-01 -3.115226104442510e-01 -3.123861211846884e-01 -3.132539117130802e-01 + -3.141260990998875e-01 -3.150028046812773e-01 -3.158841520361693e-01 -3.167702694487885e-01 -3.176612875689104e-01 + -3.185573418032087e-01 -3.194585700942650e-01 -3.203651157713922e-01 -3.212771249044592e-01 -3.221947491388281e-01 + -3.231181430183639e-01 -3.240474671054514e-01 -3.249828850672117e-01 -3.259245669711927e-01 -3.268726862299913e-01 + -3.278274232359761e-01 -3.287889619469540e-01 -3.297574936027157e-01 -3.307332132733838e-01 -3.317163240684192e-01 + -3.327070332351553e-01 -3.337055565330767e-01 -3.347121141277095e-01 -3.357269352965953e-01 -3.367502540927247e-01 + -3.377823145588749e-01 -3.388233658450175e-01 -3.398736675401181e-01 -3.409334847493447e-01 -3.420030942036733e-01 + -3.430827786115977e-01 -3.441728329658748e-01 -3.452735586625544e-01 -3.463852704265985e-01 -3.475082899277179e-01 + -3.486429532857090e-01 -3.497896041380748e-01 -3.509486017430585e-01 -3.521203134619261e-01 -3.533051234472958e-01 + -3.545034246605078e-01 -3.557156285064298e-01 -3.569421559513399e-01 -3.581834477636310e-01 -3.594399550688090e-01 + -3.607121506187135e-01 -3.620005184199024e-01 -3.633055658714727e-01 -3.646278119965309e-01 -3.659677989216845e-01 + -3.673260803339768e-01 -3.687032330586966e-01 -3.700998457090232e-01 -3.715165309114429e-01 -3.729539131544640e-01 + -3.744126403613781e-01 -3.758933720658462e-01 -3.773967908082255e-01 -3.789235902651524e-01 -3.804744856516886e-01 + -3.820502023195389e-01 -3.836514846285581e-01 -3.852790856353807e-01 -3.869337741756033e-01 -3.886163256972291e-01 + -3.903275263189269e-01 -3.920681658458204e-01 -3.938390381581898e-01 -3.956409370872805e-01 -3.974746521930466e-01 + -3.993409682701225e-01 -4.012406553231547e-01 -4.031744727439548e-01 -4.051431522629808e-01 -4.071474082130475e-01 + -4.091879129977703e-01 -4.112653138348391e-01 -4.133801991274390e-01 -4.155331235094092e-01 -4.177245653517079e-01 + -4.199549603385881e-01 -4.222246496703586e-01 -4.245339230260172e-01 -4.268829584832519e-01 -4.292718744431503e-01 + -4.317006622016948e-01 -4.341692468068394e-01 -4.366774154195978e-01 -4.392248845800756e-01 -4.418112262316757e-01 + -4.444359401252420e-01 -4.470983818380713e-01 -4.497978365893122e-01 -4.525334523390530e-01 -4.553043120100788e-01 + -4.581093756350076e-01 -4.609475466791835e-01 -4.638176252290113e-01 -4.667183660407072e-01 -4.696484459287199e-01 + -4.726065094563343e-01 -4.755911501239359e-01 -4.786009429283761e-01 -4.816344399152602e-01 -4.846901882843556e-01 + -4.877667388033212e-01 -4.908626497957108e-01 -4.939765062407663e-01 -4.971069114027755e-01 -5.002525150305011e-01 + -5.034119937007041e-01 -5.065840848176727e-01 -5.097675587133593e-01 -5.129612566028576e-01 -5.161640565945169e-01 + -5.193749134865747e-01 -5.225928209640586e-01 -5.258168515692775e-01 -5.290461169135583e-01 -5.322798060270272e-01 + -5.355171460831645e-01 -5.387574394100244e-01 -5.420000245805213e-01 -5.452443099924439e-01 -5.484897376520451e-01 + -5.517358141745681e-01 -5.549820769247875e-01 -5.582281216566209e-01 -5.614735718423751e-01 -5.647181034387753e-01 + -5.679614169890416e-01 -5.712032588979591e-01 -5.744433972991336e-01 -5.776816413798681e-01 -5.809178193507762e-01 + -5.841517944620215e-01 -5.873834463985003e-01 -5.906126855444893e-01 -5.938394364748391e-01 -5.970636498273136e-01 + -6.002852884426439e-01 -6.035043379105128e-01 -6.067207941645156e-01 -6.099346717649501e-01 -6.131459940881434e-01 + -6.163548011478311e-01 -6.195611404873568e-01 -6.227650731310865e-01 -6.259666663617727e-01 -6.291659990146931e-01 + -6.323631552654742e-01 -6.355582290986170e-01 -6.387513188871106e-01 -6.419425307490256e-01 -6.451319745539882e-01 + -6.483197674327603e-01 -6.515060293214946e-01 -6.546908841167685e-01 -6.578744572836812e-01 -6.610568766009968e-01 + -6.642382709221243e-01 -6.674187710853904e-01 -6.705985088370179e-01 -6.737776175698923e-01 -6.769562312911304e-01 + -6.801344848181089e-01 -6.833125134999645e-01 -6.864904540026142e-01 -6.896684434132225e-01 -6.928466191871651e-01 + -6.960251190039876e-01 -6.992040810717012e-01 -7.023836437724149e-01 -7.055639456561626e-01 -7.087451254024176e-01 + -7.119273220404884e-01 -7.151106745784721e-01 -7.182953215897911e-01 -7.214814016245582e-01 -7.246690535743215e-01 + -7.278584163200112e-01 -7.310496283586513e-01 -7.342428280442573e-01 -7.374381535427195e-01 -7.406357429444993e-01 + -7.438357342264661e-01 -7.470382651689156e-01 -7.502434728794412e-01 -7.534514943101106e-01 -7.566624664635970e-01 + -7.598765262236051e-01 -7.630938099473661e-01 -7.663144537782537e-01 -7.695385935306881e-01 -7.727663648349232e-01 + -7.759979029135046e-01 -7.792333428394971e-01 -7.824728194957561e-01 -7.857164675195603e-01 -7.889644207560909e-01 + -7.922168128628783e-01 -7.954737775389469e-01 -7.987354483417761e-01 -8.020019582211745e-01 -8.052734399002169e-01 + -8.085500258027153e-01 -8.118318481538471e-01 -8.151190386835121e-01 -8.184117289678831e-01 -8.217100504635063e-01 + -8.250141343769457e-01 -8.283241110344656e-01 -8.316401105683494e-01 -8.349622632152548e-01 -8.382906990624389e-01 + -8.416255474951805e-01 -8.449669376504778e-01 -8.483149983741850e-01 -8.516698583310095e-01 -8.550316457522134e-01 + -8.584004886419279e-01 -8.617765145292081e-01 -8.651598508088844e-01 -8.685506248139727e-01 -8.719489622521989e-01 + -8.753549823919468e-01 -8.787687997490927e-01 -8.821905162688262e-01 -8.856202278084699e-01 -8.890580184445617e-01 + -8.925039663319011e-01 -8.959581377191167e-01 -8.994205926453692e-01 -9.028913782181163e-01 -9.063705352609543e-01 + -9.098580923937473e-01 -9.133540718558304e-01 -9.168584825681617e-01 -9.203713268261465e-01 -9.238925937413506e-01 + -9.274222656928153e-01 -9.309603113133150e-01 -9.345066924037853e-01 -9.380613571840678e-01 -9.416242468397124e-01 + -9.451952880001965e-01 -9.487744002152808e-01 -9.523614892719469e-01 -9.559564538973973e-01 -9.595591783425093e-01 + -9.631695396882074e-01 -9.667874008119273e-01 -9.704126174878044e-01 -9.740450312802591e-01 -9.776844767743714e-01 + -9.813307748475731e-01 -9.849837394560669e-01 -9.886431705787867e-01 -9.923088615430331e-01 -9.959805930468456e-01 + -9.996581394281877e-01 -1.003341262213973e+00 -1.007029716826452e+00 -1.010723247080268e+00 -1.014421591236032e+00 + -1.018124476945841e+00 -1.021831626529500e+00 -1.025542751586175e+00 -1.029257558992056e+00 -1.032975747452084e+00 + -1.036697011770175e+00 -1.040421039317395e+00 -1.044147513860548e+00 -1.047876112182243e+00 -1.051606508161453e+00 + -1.055338371046766e+00 -1.059071368055605e+00 -1.062805162911107e+00 -1.066539417837194e+00 -1.070273792555226e+00 + -1.074007946119602e+00 -1.077741537419413e+00 -1.081474225260823e+00 -1.085205668283577e+00 -1.088935525821090e+00 + -1.092663460147868e+00 -1.096389134999202e+00 -1.100112217012435e+00 -1.103832374788097e+00 -1.107549281877421e+00 + -1.111262614364874e+00 -1.114972053517157e+00 -1.118677283811066e+00 -1.122377997381517e+00 -1.126073890115035e+00 + -1.129764665246453e+00 -1.133450029987863e+00 -1.137129700112097e+00 -1.140803395884355e+00 -1.144470846978575e+00 + -1.148131787996958e+00 -1.151785963846005e+00 -1.155433124321719e+00 -1.159073028473816e+00 -1.162705440550504e+00 + -1.166330136340245e+00 -1.169946897198408e+00 -1.173555515207745e+00 -1.177155787675114e+00 -1.180747522076412e+00 + -1.184330531453910e+00 -1.187904640946331e+00 -1.191469681045491e+00 -1.195025491559137e+00 -1.198571917630371e+00 + -1.202108816427798e+00 -1.205636050425976e+00 -1.209153491297797e+00 -1.212661015717853e+00 -1.216158511169199e+00 + -1.219645870103956e+00 -1.223122994042052e+00 -1.226589789250444e+00 -1.230046171916402e+00 -1.233492062734542e+00 + -1.236927390508550e+00 -1.240352088211073e+00 -1.243766097381527e+00 -1.247169363751694e+00 -1.250561841256042e+00 + -1.253943487695246e+00 -1.257314268132119e+00 -1.260674151007197e+00 -1.264023111009775e+00 -1.267361126327042e+00 + -1.270688182889021e+00 -1.274004269717549e+00 -1.277309380458899e+00 -1.280603511471348e+00 -1.283886665336751e+00 + -1.287158847447705e+00 -1.290420068216200e+00 -1.293670340397085e+00 -1.296909681097245e+00 -1.300138109654688e+00 + -1.303355649979877e+00 -1.306562327924205e+00 -1.309758172530325e+00 -1.312943214678930e+00 -1.316117489411603e+00 + -1.319281033477409e+00 -1.322433886294459e+00 -1.325576088655014e+00 -1.328707684178879e+00 -1.331828717822939e+00 + -1.334939237064845e+00 -1.338039290534788e+00 -1.341128928952336e+00 -1.344208204044806e+00 -1.347277169481128e+00 + -1.350335879836220e+00 -1.353384391367341e+00 -1.356422761075585e+00 -1.359451047255056e+00 -1.362469308854003e+00 + -1.365477606144248e+00 -1.368475999956682e+00 -1.371464552034891e+00 -1.374443324607048e+00 -1.377412380926959e+00 + -1.380371784452904e+00 -1.383321598435415e+00 -1.386261886043311e+00 -1.389192710326296e+00 -1.392114134331963e+00 + -1.395026221218571e+00 -1.397929034013782e+00 -1.400822635112213e+00 -1.403707086730599e+00 -1.406582451007194e+00 + -1.409448790047375e+00 -1.412306165903488e+00 -1.415154640386279e+00 -1.417994274393129e+00 -1.420825128672226e+00 + -1.423647264288326e+00 -1.426460742270041e+00 -1.429265623184807e+00 -1.432061967292326e+00 -1.434849834082543e+00 + -1.437629282863016e+00 -1.440400372981510e+00 -1.443163163644870e+00 -1.445917713456040e+00 -1.448664080745027e+00 + -1.451402323353998e+00 -1.454132498983212e+00 -1.456854665253158e+00 -1.459568879518891e+00 -1.462275198153495e+00 + -1.464973677286479e+00 -1.467664373054985e+00 -1.470347341460922e+00 -1.473022637957602e+00 -1.475690317602213e+00 + -1.478350434416031e+00 -1.481003042251009e+00 -1.483648195317718e+00 -1.486285947650543e+00 -1.488916352220507e+00 + -1.491539461636770e+00 -1.494155328124374e+00 -1.496764003712290e+00 -1.499365540029296e+00 -1.501959988475343e+00 + -1.504547399935251e+00 -1.507127824972320e+00 -1.509701313378898e+00 -1.512267914702716e+00 -1.514827678283996e+00 + -1.517380653263305e+00 -1.519926888190102e+00 -1.522466431291609e+00 -1.524999330097196e+00 -1.527525631932397e+00 + -1.530045384005255e+00 -1.532558633226744e+00 -1.535065425437065e+00 -1.537565806237489e+00 -1.540059821344337e+00 + -1.542547516227056e+00 -1.545028935252552e+00 -1.547504122520188e+00 -1.549973122161691e+00 -1.552435978060152e+00 + -1.554892733071735e+00 -1.557343429814709e+00 -1.559788110982664e+00 -1.562226819032855e+00 -1.564659595401864e+00 + -1.567086481207361e+00 -1.569507517312065e+00 -1.571922744465970e+00 -1.574332203223133e+00 -1.576735933784567e+00 + -1.579133975135047e+00 -1.581526366095511e+00 -1.583913146047792e+00 -1.586294354132112e+00 -1.588670027961349e+00 + -1.591040204840321e+00 -1.593404922368944e+00 -1.595764217997401e+00 -1.598118128281829e+00 -1.600466689560657e+00 + -1.602809938195509e+00 -1.605147910317183e+00 -1.607480641109968e+00 -1.609808165462235e+00 -1.612130518025190e+00 + -1.614447733364541e+00 -1.616759845941160e+00 -1.619066889913862e+00 -1.621368898338053e+00 -1.623665904067572e+00 + -1.625957940253400e+00 -1.628245039905108e+00 -1.630527235169479e+00 -1.632804557955816e+00 -1.635077040086276e+00 + -1.637344713164072e+00 -1.639607608003776e+00 -1.641865755216986e+00 -1.644119185392045e+00 -1.646367929030376e+00 + -1.648612016308968e+00 -1.650851477080719e+00 -1.653086340226579e+00 -1.655316634503563e+00 -1.657542389144867e+00 + -1.659763633269537e+00 -1.661980395063818e+00 -1.664192702419508e+00 -1.666400582983419e+00 -1.668604064251645e+00 + -1.670803173362428e+00 -1.672997937236383e+00 -1.675188382281491e+00 -1.677374534802169e+00 -1.679556421201192e+00 + -1.681734067628149e+00 -1.683907499121518e+00 -1.686076740528519e+00 -1.688241817042459e+00 -1.690402753749855e+00 + -1.692559574964003e+00 -1.694712304797627e+00 -1.696860967334408e+00 -1.699005586454806e+00 -1.701146185255449e+00 + -1.703282786721620e+00 -1.705415414177082e+00 -1.707544090831449e+00 -1.709668839099297e+00 -1.711789681156861e+00 + -1.713906639022084e+00 -1.716019734585396e+00 -1.718128989385494e+00 -1.720234424849230e+00 -1.722336062307809e+00 + -1.724433922917529e+00 -1.726528027230686e+00 -1.728618395721282e+00 -1.730705049154116e+00 -1.732788008101886e+00 + -1.734867292078088e+00 -1.736942920442919e+00 -1.739014913002594e+00 -1.741083289547465e+00 -1.743148069358425e+00 + -1.745209271450225e+00 -1.747266914282488e+00 -1.749321016270471e+00 -1.751371596207075e+00 -1.753418672811714e+00 + -1.755462264132180e+00 -1.757502388000569e+00 -1.759539062057792e+00 -1.761572303881055e+00 -1.763602130983907e+00 + -1.765628560778196e+00 -1.767651610332621e+00 -1.769671296580689e+00 -1.771687636258316e+00 -1.773700645994041e+00 + -1.775710342184503e+00 -1.777716741146727e+00 -1.779719859111176e+00 -1.781719712181211e+00 -1.783716316038327e+00 + -1.785709686327057e+00 -1.787699838965949e+00 -1.789686789700248e+00 -1.791670553307960e+00 -1.793651144443631e+00 + -1.795628578235185e+00 -1.797602869852874e+00 -1.799574034162875e+00 -1.801542085839167e+00 -1.803507039091021e+00 + -1.805468908052258e+00 -1.807427707019619e+00 -1.809383450209764e+00 -1.811336151356113e+00 -1.813285824110837e+00 + -1.815232482284336e+00 -1.817176139592257e+00 -1.819116809213001e+00 -1.821054504262256e+00 -1.822989238142106e+00 + -1.824921024174149e+00 -1.826849875071642e+00 -1.828775803432498e+00 -1.830698822001605e+00 -1.832618943490715e+00 + -1.834536180332052e+00 -1.836450544855570e+00 -1.838362049261658e+00 -1.840270705693083e+00 -1.842176526191684e+00 + -1.844079522732226e+00 -1.845979707122125e+00 -1.847877091069540e+00 -1.849771686052976e+00 -1.851663503515020e+00 + -1.853552554984233e+00 -1.855438851906239e+00 -1.857322405308933e+00 -1.859203226114476e+00 -1.861081325239847e+00 + -1.862956713608023e+00 -1.864829402171162e+00 -1.866699401811557e+00 -1.868566723102871e+00 -1.870431376467943e+00 + -1.872293372034969e+00 -1.874152719980291e+00 -1.876009430967454e+00 -1.877863515541558e+00 -1.879714983286677e+00 + -1.881563843740828e+00 -1.883410107218835e+00 -1.885253783963326e+00 -1.887094883151373e+00 -1.888933413891583e+00 + -1.890769386084288e+00 -1.892602809677417e+00 -1.894433694017575e+00 -1.896262048252058e+00 -1.898087881332244e+00 + -1.899911202238771e+00 -1.901732020265218e+00 -1.903550344662578e+00 -1.905366184198560e+00 -1.907179547502340e+00 + -1.908990443132265e+00 -1.910798879695625e+00 -1.912604866066330e+00 -1.914408411061036e+00 -1.916209523000752e+00 + -1.918008210058423e+00 -1.919804480310377e+00 -1.921598341888620e+00 -1.923389803244497e+00 -1.925178872754823e+00 + -1.926965558178970e+00 -1.928749867237572e+00 -1.930531808113790e+00 -1.932311388923252e+00 -1.934088617048956e+00 + -1.935863499807747e+00 -1.937636044984464e+00 -1.939406260367225e+00 -1.941174153289245e+00 -1.942939731044444e+00 + -1.944703001224463e+00 -1.946463971324967e+00 -1.948222648160018e+00 -1.949979038559213e+00 -1.951733150095908e+00 + -1.953484990331042e+00 -1.955234566032130e+00 -1.956981883796339e+00 -1.958726950332857e+00 -1.960469772453529e+00 + -1.962210357268799e+00 -1.963948711773954e+00 -1.965684842205069e+00 -1.967418754747339e+00 -1.969150456141664e+00 + -1.970879953151972e+00 -1.972607252078582e+00 -1.974332359180596e+00 -1.976055281015821e+00 -1.977776024078765e+00 + -1.979494594312026e+00 -1.981210997612849e+00 -1.982925240248993e+00 -1.984637328483028e+00 -1.986347268186276e+00 + -1.988055065135925e+00 -1.989760725123873e+00 -1.991464254028801e+00 -1.993165658061782e+00 -1.994864943305917e+00 + -1.996562115000000e+00 -1.998257178352118e+00 -1.999950139291834e+00 -2.001641003786081e+00 -2.003329777229788e+00 + -2.005016464899233e+00 -2.006701072168050e+00 -2.008383604435580e+00 -2.010064067106614e+00 -2.011742465557514e+00 + -2.013418805045480e+00 -2.015093090790721e+00 -2.016765327984645e+00 -2.018435521788566e+00 -2.020103677272243e+00 + -2.021769799450648e+00 -2.023433893211152e+00 -2.025095963440481e+00 -2.026756015150358e+00 -2.028414053372033e+00 + -2.030070083089858e+00 -2.031724109167109e+00 -2.033376136029651e+00 -2.035026168111125e+00 -2.036674210313675e+00 + -2.038320267543339e+00 -2.039964344253219e+00 -2.041606444873179e+00 -2.043246574193053e+00 -2.044884736927830e+00 + -2.046520937133174e+00 -2.048155178894251e+00 -2.049787467073582e+00 -2.051417806490505e+00 -2.053046201014273e+00 + -2.054672654449746e+00 -2.056297171294283e+00 -2.057919756136151e+00 -2.059540413234731e+00 -2.061159146675282e+00 + -2.062775960175462e+00 -2.064390857518372e+00 -2.066003843116474e+00 -2.067614921377108e+00 -2.069224096057763e+00 + -2.070831370870978e+00 -2.072436749999330e+00 -2.074040237602111e+00 -2.075641837275425e+00 -2.077241552544816e+00 + -2.078839387216755e+00 -2.080435345153352e+00 -2.082029430158359e+00 -2.083621645967183e+00 -2.085211996100236e+00 + -2.086800484128769e+00 -2.088387114042385e+00 -2.089971889736969e+00 -2.091554814315162e+00 -2.093135890870968e+00 + -2.094715123257078e+00 -2.096292515329556e+00 -2.097868070199266e+00 -2.099441790929908e+00 -2.101013681141721e+00 + -2.102583744473837e+00 -2.104151984084442e+00 -2.105718403103298e+00 -2.107283005027429e+00 -2.108845793364375e+00 + -2.110406771296459e+00 -2.111965941910842e+00 -2.113523308239219e+00 -2.115078873308544e+00 -2.116632640182243e+00 + -2.118184611994434e+00 -2.119734792125529e+00 -2.121283183887100e+00 -2.122829790069075e+00 -2.124374613416041e+00 + -2.125917657012881e+00 -2.127458923984833e+00 -2.128998417278243e+00 -2.130536139767974e+00 -2.132072094221826e+00 + -2.133606283403289e+00 -2.135138710165668e+00 -2.136669377406417e+00 -2.138198288109766e+00 -2.139725445172409e+00 + -2.141250851054121e+00 -2.142774508270670e+00 -2.144296419998729e+00 -2.145816589318136e+00 -2.147335018260493e+00 + -2.148851708859426e+00 -2.150366664204882e+00 -2.151879887475646e+00 -2.153391381149525e+00 -2.154901147551277e+00 + -2.156409189094421e+00 -2.157915508301146e+00 -2.159420108039566e+00 -2.160922991060322e+00 -2.162424159298261e+00 + -2.163923614721020e+00 -2.165421360243191e+00 -2.166917398765767e+00 -2.168411732188371e+00 -2.169904362385663e+00 + -2.171395292133801e+00 -2.172884524283159e+00 -2.174372061079477e+00 -2.175857904621596e+00 -2.177342057025400e+00 + -2.178824520458782e+00 -2.180305297280612e+00 -2.181784389836284e+00 -2.183261800226323e+00 -2.184737530553230e+00 + -2.186211583172279e+00 -2.187683960396664e+00 -2.189154664118480e+00 -2.190623696232450e+00 -2.192091059064924e+00 + -2.193556754973807e+00 -2.195020786011611e+00 -2.196483154140098e+00 -2.197943861263397e+00 -2.199402909290797e+00 + -2.200860300209873e+00 -2.202316036078389e+00 -2.203770119156592e+00 -2.205222551620105e+00 -2.206673335103553e+00 + -2.208122471221687e+00 -2.209569962050753e+00 -2.211015809743800e+00 -2.212460016299604e+00 -2.213902583604158e+00 + -2.215343513246597e+00 -2.216782806815468e+00 -2.218220466193829e+00 -2.219656493330310e+00 -2.221090890141300e+00 + -2.222523658493742e+00 -2.223954800089009e+00 -2.225384316635711e+00 -2.226812210036953e+00 -2.228238482128524e+00 + -2.229663134282465e+00 -2.231086167933421e+00 -2.232507585230206e+00 -2.233927388263609e+00 -2.235345578178182e+00 + -2.236762156112363e+00 -2.238177124126393e+00 -2.239590484325721e+00 -2.241002238074839e+00 -2.242412386688506e+00 + -2.243820932023517e+00 -2.245227875877045e+00 -2.246633219265731e+00 -2.248036963296034e+00 -2.249439110214208e+00 + -2.250839662216949e+00 -2.252238620162919e+00 -2.253635984842608e+00 -2.255031758111861e+00 -2.256425941987018e+00 + -2.257818538061035e+00 -2.259209547728066e+00 -2.260598972010440e+00 -2.261986811976363e+00 -2.263373069249392e+00 + -2.264757745520950e+00 -2.266140842198597e+00 -2.267522360622610e+00 -2.268902302148032e+00 -2.270280668153553e+00 + -2.271657460097697e+00 -2.273032679375423e+00 -2.274406327047590e+00 -2.275778404191426e+00 -2.277148912283742e+00 + -2.278517852852843e+00 -2.279885227233438e+00 -2.281251036662961e+00 -2.282615282183361e+00 -2.283977964870765e+00 + -2.285339086133513e+00 -2.286698647429660e+00 -2.288056650083893e+00 -2.289413095312870e+00 -2.290767984034498e+00 + -2.292121317209354e+00 -2.293473096267451e+00 -2.294823322630535e+00 -2.296171997217860e+00 -2.297519120939147e+00 + -2.298864695168495e+00 -2.300208721271999e+00 -2.301551200119357e+00 -2.302892132586471e+00 -2.304231520070443e+00 + -2.305569363951571e+00 -2.306905665021753e+00 -2.308240424043668e+00 -2.309573642251534e+00 -2.310905320943594e+00 + -2.312235461202651e+00 -2.313564064009707e+00 -2.314891130153991e+00 -2.316216660462560e+00 -2.317540656105554e+00 + -2.318863118293744e+00 -2.320184048057342e+00 -2.321503446385586e+00 -2.322821314284393e+00 -2.324137652689092e+00 + -2.325452462235987e+00 -2.326765743634779e+00 -2.328077498187803e+00 -2.329387727168217e+00 -2.330696431139842e+00 + -2.332003610675342e+00 -2.333309267092103e+00 -2.334613401701304e+00 -2.335916015044585e+00 -2.337217107588464e+00 + -2.338516680268511e+00 -2.339814734134101e+00 -2.341111270220800e+00 -2.342406289434137e+00 -2.343699792173311e+00 + -2.344991778936741e+00 -2.346282251126043e+00 -2.347571210092017e+00 -2.348858656078995e+00 -2.350144589310363e+00 + -2.351429011032167e+00 -2.352711922533504e+00 -2.353993324252988e+00 -2.355273216536063e+00 -2.356551600205969e+00 + -2.357828476165661e+00 -2.359103845159169e+00 -2.360377707896761e+00 -2.361650065112589e+00 -2.362920917562625e+00 + -2.364190266066228e+00 -2.365458111389245e+00 -2.366724454020086e+00 -2.367989294422349e+00 -2.369252633237819e+00 + -2.370514471195048e+00 -2.371774809191487e+00 -2.373033648052395e+00 -2.374290988145372e+00 -2.375546829856004e+00 + -2.376801174099476e+00 -2.378054021758188e+00 -2.379305373053798e+00 -2.380555228228685e+00 -2.381803588268867e+00 + -2.383050454170042e+00 -2.384295826222999e+00 -2.385539704659158e+00 -2.386782090177350e+00 -2.388022983519428e+00 + -2.389262385131917e+00 -2.390500295440986e+00 -2.391736715086700e+00 -2.392971644747536e+00 -2.394205085041701e+00 + -2.395437036486230e+00 -2.396667499253712e+00 -2.397896473568759e+00 -2.399123960208524e+00 -2.400349959968320e+00 + -2.401574473163553e+00 -2.402797500049246e+00 -2.404019041118798e+00 -2.405239096931802e+00 -2.406457668074259e+00 + -2.407674755052769e+00 -2.408890358029935e+00 -2.410104477201394e+00 -2.411317113238899e+00 -2.412528266823138e+00 + -2.413737938194389e+00 -2.414946127524263e+00 -2.416152835150093e+00 -2.417358061488310e+00 -2.418561807106014e+00 + -2.419764072540869e+00 -2.420964858062149e+00 -2.422164163883997e+00 -2.423361990268478e+00 -2.424558337539998e+00 + -2.425753206224426e+00 -2.426946596778449e+00 -2.428138509180588e+00 -2.429328943436301e+00 -2.430517900136966e+00 + -2.431705379929064e+00 -2.432891383093559e+00 -2.434075909789072e+00 -2.435258960050367e+00 -2.436440534002261e+00 + -2.437620632253666e+00 -2.438799255363957e+00 -2.439976403210287e+00 -2.441152075652963e+00 -2.442326273167121e+00 + -2.443498996281469e+00 -2.444670245124171e+00 -2.445840019720089e+00 -2.447008320081434e+00 -2.448175146330043e+00 + -2.449340499038912e+00 -2.450504378726154e+00 -2.451666785239187e+00 -2.452827718349615e+00 -2.453987178196479e+00 + -2.455145165027037e+00 -2.456301679153984e+00 -2.457456720843679e+00 -2.458610290111703e+00 -2.459762386895362e+00 + -2.460913011069636e+00 -2.462062162618941e+00 -2.463209842027783e+00 -2.464356049701044e+00 -2.465500785225038e+00 + -2.466644048210323e+00 -2.467785839182998e+00 -2.468926158651886e+00 -2.470065006141172e+00 -2.471202381154697e+00 + -2.472338284099561e+00 -2.473472715451581e+00 -2.474605675058163e+00 -2.475737162666682e+00 -2.476867178252799e+00 + -2.477995721814551e+00 -2.479122793211214e+00 -2.480248392312651e+00 -2.481372519169843e+00 -2.482495173828069e+00 + -2.483616356128687e+00 -2.484736065895716e+00 -2.485854303087743e+00 -2.486971067738408e+00 -2.488086360047014e+00 + -2.489200180083995e+00 -2.490312527238630e+00 -2.491423400907520e+00 -2.492532801197714e+00 -2.493640728315912e+00 + -2.494747182157012e+00 -2.495852162518061e+00 -2.496955669116524e+00 -2.498057701682506e+00 -2.499158260076250e+00 + -2.500257344205291e+00 -2.501354954036191e+00 -2.502451089487258e+00 -2.503545750224782e+00 -2.504638935878569e+00 + -2.505730646184535e+00 -2.506820880947837e+00 -2.507909640144502e+00 -2.508996923692245e+00 -2.510082731104683e+00 + -2.511167061905791e+00 -2.512249916065080e+00 -2.513331293568936e+00 -2.514411194025691e+00 -2.515489616993924e+00 + -2.516566562211253e+00 -2.517642029416175e+00 -2.518716018171676e+00 -2.519788528087044e+00 -2.520859559132313e+00 + -2.521929111272669e+00 -2.522997184093166e+00 -2.524063777123772e+00 -2.525128890054233e+00 -2.526192522577199e+00 + -2.527254674237163e+00 -2.528315344566595e+00 -2.529374533198041e+00 -2.530432239809303e+00 -2.531488464159136e+00 + -2.532543206017777e+00 -2.533596465120445e+00 -2.534648241083385e+00 -2.535698533081969e+00 -2.536747340380982e+00 + -2.537794663043710e+00 -2.538840501172024e+00 -2.539884854223596e+00 -2.540927721482817e+00 -2.541969102185147e+00 + -2.543008995720672e+00 -2.544047402146914e+00 -2.545084321505733e+00 -2.546119753108897e+00 -2.547153696148885e+00 + -2.548186150071097e+00 -2.549217114438763e+00 -2.550246589033513e+00 -2.551274573561718e+00 -2.552301067210345e+00 + -2.553326069170913e+00 -2.554349579172571e+00 -2.555371597001575e+00 -2.556392122135012e+00 -2.557411153995589e+00 + -2.558428692097672e+00 -2.559444735964176e+00 -2.560459285060548e+00 -2.561472338773803e+00 -2.562483896234721e+00 + -2.563493956701396e+00 -2.564502520197407e+00 -2.565509586690590e+00 -2.566515155160310e+00 -2.567519224484451e+00 + -2.568521794123430e+00 -2.569522863722881e+00 -2.570522433086768e+00 -2.571520501879673e+00 -2.572517069050324e+00 + -2.573512133570669e+00 -2.574505695221420e+00 -2.575497753777856e+00 -2.576488308184784e+00 -2.577477357385580e+00 + -2.578464901148367e+00 -2.579450939304331e+00 -2.580435471112168e+00 -2.581418495678755e+00 -2.582400012076188e+00 + -2.583380019545771e+00 -2.584358518040427e+00 -2.585335507388502e+00 -2.586310986208430e+00 -2.587284953146766e+00 + -2.588257408172476e+00 -2.589228351266687e+00 -2.590197781136742e+00 -2.591165696464199e+00 -2.592132097101227e+00 + -2.593096982965479e+00 -2.594060353065933e+00 -2.595022206300420e+00 -2.595982542030859e+00 -2.596941359648237e+00 + -2.597898658195753e+00 -2.598854436786441e+00 -2.599808695160485e+00 -2.600761432999720e+00 -2.601712649125437e+00 + -2.602662342322502e+00 -2.603610512090611e+00 -2.604557157983472e+00 -2.605502279056006e+00 -2.606445874333086e+00 + -2.607387943218189e+00 -2.608328485131743e+00 -2.609267499183389e+00 -2.610204984445080e+00 -2.611140940148811e+00 + -2.612075365584592e+00 -2.613008260114454e+00 -2.613939623006402e+00 -2.614869453080320e+00 -2.615797749224179e+00 + -2.616724511046408e+00 -2.617649738126216e+00 -2.618573429205448e+00 -2.619495583026503e+00 -2.620416199171340e+00 + -2.621335277249019e+00 -2.622252816137456e+00 -2.623168814653865e+00 -2.624083272103795e+00 -2.624996187859330e+00 + -2.625907561070358e+00 -2.626817390806325e+00 -2.627725676037143e+00 -2.628632415761536e+00 -2.629537609193020e+00 + -2.630441255587996e+00 -2.631343354159609e+00 -2.632243904045731e+00 -2.633142904126422e+00 -2.634040353337229e+00 + -2.634936251093461e+00 -2.635830596765059e+00 -2.636723389060725e+00 -2.637614626713354e+00 -2.638504309213838e+00 + -2.639392436080191e+00 -2.640279006180904e+00 -2.641164018251881e+00 -2.642047471148195e+00 -2.642929363899640e+00 + -2.643809696115713e+00 -2.644688467316341e+00 -2.645565676083456e+00 -2.646441320932559e+00 -2.647315401051427e+00 + -2.648187915755844e+00 -2.649058864201336e+00 -2.649928245427330e+00 -2.650796058169106e+00 -2.651662301248424e+00 + -2.652526974137104e+00 -2.653390076247662e+00 -2.654251606105329e+00 -2.655111562238285e+00 -2.655969944073783e+00 + -2.656826751086593e+00 -2.657681982042466e+00 -2.658535635661370e+00 -2.659387711189145e+00 -2.660238207837736e+00 + -2.661087124157626e+00 -2.661934458755756e+00 -2.662780211126336e+00 -2.663624380741185e+00 -2.664466966095276e+00 + -2.665307965694397e+00 -2.666147379064445e+00 -2.666985205710447e+00 -2.667821444033845e+00 -2.668656092405469e+00 + -2.669489150177272e+00 -2.670320616801000e+00 -2.671150491146469e+00 -2.671978771965001e+00 -2.672805458115896e+00 + -2.673630548501148e+00 -2.674454042085555e+00 -2.675275937884819e+00 -2.676096235055446e+00 -2.676914932653945e+00 + -2.677732029196031e+00 -2.678547523253807e+00 -2.679361414165717e+00 -2.680173701269736e+00 -2.680984383135636e+00 + -2.681793458321363e+00 -2.682600926105787e+00 -2.683406785794135e+00 -2.684211036076172e+00 -2.685013675548027e+00 + -2.685814703046789e+00 -2.686614117528503e+00 -2.687411918184072e+00 -2.688208104155523e+00 -2.689002674154484e+00 + -2.689795626844247e+00 -2.690586961125131e+00 -2.691376675931391e+00 -2.692164770096012e+00 -2.692951242468673e+00 + -2.693736092067127e+00 -2.694519317933390e+00 -2.695300919038479e+00 -2.696080894259941e+00 -2.696859242172434e+00 + -2.697635961409562e+00 -2.698411051143577e+00 -2.699184510529523e+00 -2.699956338114957e+00 -2.700726532498006e+00 + -2.701495093086574e+00 -2.702262019208106e+00 -2.703027309058428e+00 -2.703790960874505e+00 -2.704552974189474e+00 + -2.705313348537555e+00 -2.706072082161119e+00 -2.706829173257158e+00 -2.707584621133000e+00 -2.708338425191227e+00 + -2.709090584105120e+00 -2.709841096442358e+00 -2.710589961077480e+00 -2.711337176962203e+00 -2.712082743050078e+00 + -2.712826658235913e+00 -2.713568921177743e+00 -2.714309530527581e+00 -2.715048485150131e+00 -2.715785783993005e+00 + -2.716521426122757e+00 -2.717255410569124e+00 -2.717987736095623e+00 -2.718718401385704e+00 -2.719447405068731e+00 + -2.720174745881186e+00 -2.720900423042079e+00 -2.721624435690877e+00 -2.722346782166338e+00 -2.723067460855530e+00 + -2.723786471139474e+00 -2.724503812410580e+00 -2.725219483112852e+00 -2.725933481634188e+00 -2.726645807086471e+00 + -2.727356458650697e+00 -2.728065435060333e+00 -2.728772734953498e+00 -2.729478357034439e+00 -2.730182300087997e+00 + -2.730884563155262e+00 -2.731585145263588e+00 -2.732284045129153e+00 -2.732981261442558e+00 -2.733676793103288e+00 + -2.734370639038562e+00 -2.735062798077667e+00 -2.735753269071118e+00 -2.736442051052291e+00 -2.737129142959769e+00 + -2.737814543170111e+00 -2.738498250131983e+00 -2.739180263144520e+00 -2.739860581563291e+00 -2.740539204119172e+00 + -2.741216129405992e+00 -2.741891356094071e+00 -2.742564882952538e+00 -2.743236709069217e+00 -2.743906833523784e+00 + -2.744575255044610e+00 -2.745241972311204e+00 -2.745906984158941e+00 -2.746570289467025e+00 -2.747231887134115e+00 + -2.747891776057501e+00 -2.748549955109537e+00 -2.749206423158993e+00 -2.749861179085207e+00 -2.750514221765824e+00 + -2.751165550061125e+00 -2.751815162841771e+00 -2.752463059037292e+00 -2.753109237554207e+00 -2.753753697148108e+00 + -2.754396436622574e+00 -2.755037455124055e+00 -2.755676751755156e+00 -2.756314325100252e+00 -2.756950173779785e+00 + -2.757584297076699e+00 -2.758216694281619e+00 -2.758847364053396e+00 -2.759476305000437e+00 -2.760103516161140e+00 + -2.760728996610216e+00 -2.761352745137616e+00 -2.761974760563591e+00 -2.762595042114344e+00 -2.763213589016364e+00 + -2.763830400091322e+00 -2.764445474113015e+00 -2.765058810068553e+00 -2.765670407011266e+00 -2.766280264046035e+00 + -2.766888380201558e+00 -2.767494754150214e+00 -2.768099384646222e+00 -2.768702271127474e+00 -2.769303413030783e+00 + -2.769902809104988e+00 -2.770500458053093e+00 -2.771096359082754e+00 -2.771690511445131e+00 -2.772282914060774e+00 + -2.772873565847032e+00 -2.773462466039048e+00 -2.774049613856528e+00 -2.774635008139637e+00 -2.775218647762881e+00 + -2.775800532117688e+00 -2.776380660598635e+00 -2.776959032095993e+00 -2.777535645483684e+00 -2.778110500074552e+00 + -2.778683595228330e+00 -2.779254930053368e+00 -2.779824503611819e+00 -2.780392315032438e+00 -2.780958363471580e+00 + -2.781522648129417e+00 -2.782085168237396e+00 -2.782645923108263e+00 -2.783204912027138e+00 -2.783762134087364e+00 + -2.784317588365996e+00 -2.784871274066723e+00 -2.785423190471204e+00 -2.785973337046338e+00 -2.786521713227682e+00 + -2.787068318140169e+00 -2.787613150927563e+00 -2.788156211119559e+00 -2.788697498201977e+00 -2.789237011099205e+00 + -2.789774748795882e+00 -2.790310711079109e+00 -2.790844897774500e+00 -2.791377308059270e+00 -2.791907941021321e+00 + -2.792436796039691e+00 -2.792963872575855e+00 -2.793489170129877e+00 -2.794012688183935e+00 -2.794534426110070e+00 + -2.795054383269529e+00 -2.795572559090522e+00 -2.796088953089790e+00 -2.796603565071232e+00 -2.797116394731634e+00 + -2.797627441052200e+00 -2.798136703104035e+00 -2.798644181033428e+00 -2.799149874997305e+00 -2.799653784119957e+00 + -2.800155907491874e+00 -2.800656245100958e+00 -2.801154796934787e+00 -2.801651562082218e+00 -2.802146539693571e+00 + -2.802639730063738e+00 -2.803131133478864e+00 -2.803620749045517e+00 -2.804108575856467e+00 -2.804594614128865e+00 + -2.805078864118387e+00 -2.805561325110418e+00 -2.806041996375143e+00 -2.806520878092229e+00 -2.806997970489045e+00 + -2.807473273074300e+00 -2.807946785293329e+00 -2.808418507056632e+00 -2.808888438355500e+00 -2.809356579039224e+00 + -2.809822928959404e+00 -2.810287488118900e+00 -2.810750256531227e+00 -2.811211234101264e+00 -2.811670420689050e+00 + -2.812127816083888e+00 -2.812583420143096e+00 -2.813037233066774e+00 -2.813489255065615e+00 -2.813939486049919e+00 + -2.814387925944586e+00 -2.814834575033324e+00 -2.815279433542374e+00 -2.815722501109326e+00 -2.816163777438837e+00 + -2.816603263092504e+00 -2.817040958671196e+00 -2.817476864075942e+00 -2.817910979131784e+00 -2.818343304059641e+00 + -2.818773839208482e+00 -2.819202585043600e+00 -2.819629541969078e+00 -2.820054710027820e+00 -2.820478089265513e+00 + -2.820899680100151e+00 -2.821319482977751e+00 -2.821737498084143e+00 -2.822153725615352e+00 -2.822568166068396e+00 + -2.822980820018520e+00 -2.823391688052908e+00 -2.823800770674544e+00 -2.824208068037681e+00 -2.824613580315654e+00 + -2.825017308106835e+00 -2.825419252121360e+00 -2.825819413091381e+00 -2.826217791658008e+00 -2.826614388076187e+00 + -2.827009202624378e+00 -2.827402236061253e+00 -2.827793489256864e+00 -2.828182963046578e+00 -2.828570658171722e+00 + -2.828956575032161e+00 -2.829340714052488e+00 -2.829723076097664e+00 -2.830103662132774e+00 -2.830482473083023e+00 + -2.830859509823491e+00 -2.831234773068641e+00 -2.831608263528317e+00 -2.831979982054516e+00 -2.832349929557777e+00 + -2.832718107040651e+00 -2.833084515526141e+00 -2.833449156027042e+00 -2.833812029550204e+00 -2.834173137088914e+00 + -2.834532479620883e+00 -2.834890058075082e+00 -2.835245873448821e+00 -2.835599927061508e+00 -2.835952220243667e+00 + -2.836302754048190e+00 -2.836651529530672e+00 -2.836998548035129e+00 -2.837343810883671e+00 -2.837687319022324e+00 + -2.838029073490917e+00 -2.838369076080591e+00 -2.838707328586376e+00 -2.839043832067564e+00 -2.839378587474163e+00 + -2.839711596054793e+00 -2.840042859259108e+00 -2.840372379042276e+00 -2.840700157280677e+00 -2.841026195030013e+00 + -2.841350493343512e+00 -2.841673054085180e+00 -2.841993879190829e+00 -2.842312970072699e+00 -2.842630328108386e+00 + -2.842945955060471e+00 -2.843259852775203e+00 -2.843572023048496e+00 -2.843882467617769e+00 -2.844191188036773e+00 + -2.844498185884593e+00 -2.844803463025301e+00 -2.845107021413000e+00 -2.845408863076932e+00 -2.845708990020076e+00 + -2.846007404065244e+00 -2.846304107050338e+00 -2.846599101053807e+00 -2.846892388135785e+00 -2.847183970042619e+00 + -2.847473848570861e+00 -2.847762026031680e+00 -2.848048504803730e+00 -2.848333287020989e+00 -2.848616374754612e+00 + -2.848897770069131e+00 -2.849177475073159e+00 -2.849455492058227e+00 -2.849731823327478e+00 -2.850006471047571e+00 + -2.850279437434387e+00 -2.850550725037162e+00 -2.850820336439234e+00 -2.851088274026996e+00 -2.851354540133094e+00 + -2.851619137072155e+00 -2.851882067200814e+00 -2.852143333061782e+00 -2.852402937208544e+00 -2.852660882051651e+00 + -2.852917170055367e+00 -2.853171804041764e+00 -2.853424786850297e+00 -2.853676121032120e+00 -2.853925809140160e+00 + -2.854173854022716e+00 -2.854420258509995e+00 -2.854665025064492e+00 -2.854908156206457e+00 -2.855149655054884e+00 + -2.855389524765914e+00 -2.855627768045515e+00 -2.855864387531145e+00 -2.856099386036384e+00 -2.856332766480263e+00 + -2.856564532027491e+00 -2.856794685864488e+00 -2.857023231018833e+00 -2.857250170456676e+00 -2.857475507057297e+00 + -2.857699243787178e+00 -2.857921384048440e+00 -2.858141931205942e+00 -2.858360888039817e+00 -2.858578257403886e+00 + -2.858794043031427e+00 -2.859008248642304e+00 -2.859220877023269e+00 -2.859431930941042e+00 -2.859641414015340e+00 + -2.859849329964776e+00 -2.860055682050569e+00 -2.860260473522559e+00 -2.860463708042447e+00 -2.860665389218646e+00 + -2.860865520034553e+00 -2.861064103583913e+00 -2.861261144026887e+00 -2.861456645505078e+00 -2.861650611019446e+00 + -2.861843043539793e+00 -2.862033947051935e+00 -2.862223325674870e+00 -2.862411183044306e+00 -2.862597522669464e+00 + -2.862782348036900e+00 -2.862965662765951e+00 -2.863147471029718e+00 -2.863327776966641e+00 -2.863506584022756e+00 + -2.863683895649960e+00 -2.863859716016013e+00 -2.864034049304372e+00 -2.864206899045429e+00 -2.864378268816853e+00 + -2.864548163038503e+00 -2.864716586175495e+00 -2.864883542031795e+00 -2.865049034317118e+00 -2.865213067025303e+00 + -2.865375644227383e+00 -2.865536770019026e+00 -2.865696448531390e+00 -2.865854684012960e+00 -2.866011480747103e+00 + -2.866166843039399e+00 -2.866320775137251e+00 -2.866473281033156e+00 -2.866624364792500e+00 -2.866774031027124e+00 + -2.866922284373643e+00 -2.867069129021301e+00 -2.867214569108258e+00 -2.867358609015685e+00 -2.867501253183005e+00 + -2.867642506039625e+00 -2.867782372075631e+00 -2.867920856033839e+00 -2.868057962606175e+00 -2.868193696028257e+00 + -2.868328060561013e+00 -2.868461061022879e+00 -2.868592702303233e+00 -2.868722989017701e+00 -2.868851925722842e+00 + -2.868979517012722e+00 -2.869105767524959e+00 -2.869230682033886e+00 -2.869354265317122e+00 -2.869476522028743e+00 + -2.869597456891174e+00 -2.869717075023798e+00 -2.869835381525858e+00 -2.869952381019048e+00 -2.870068078133983e+00 + -2.870182478014490e+00 -2.870295585788873e+00 -2.870407406010122e+00 -2.870517943287246e+00 -2.870627203028626e+00 + -2.870735190678368e+00 -2.870841911024103e+00 -2.870947368779615e+00 -2.871051569019769e+00 -2.871154516959833e+00 + -2.871256218015620e+00 -2.871356677487263e+00 -2.871455900011655e+00 -2.871553890297982e+00 -2.871650654007871e+00 + -2.871746196881877e+00 -2.871840524023838e+00 -2.871933640394619e+00 -2.872025551019907e+00 -2.872116261043417e+00 + -2.872205776016155e+00 -2.872294101539941e+00 -2.872381243012580e+00 -2.872467205758066e+00 -2.872551995009178e+00 + -2.872635615995248e+00 -2.872718074023048e+00 -2.872799374482606e+00 -2.872879523019508e+00 -2.872958525324841e+00 + -2.873036387016140e+00 -2.873113113575017e+00 -2.873188710012942e+00 -2.873263181462381e+00 -2.873336534009911e+00 + -2.873408773769060e+00 -2.873479906007045e+00 -2.873549935889074e+00 -2.873618869018622e+00 -2.873686711126628e+00 + -2.873753468015626e+00 -2.873819145455355e+00 -2.873883749012791e+00 -2.873947284262238e+00 -2.874009757010115e+00 + -2.874071173064448e+00 -2.874131538007598e+00 -2.874190857408149e+00 -2.874249137005235e+00 -2.874306382592947e+00 + -2.874362600014657e+00 -2.874417795154723e+00 -2.874471974012172e+00 -2.874525142492177e+00 -2.874577306009839e+00 + -2.874628470067637e+00 -2.874678641007656e+00 -2.874727825164796e+00 -2.874776028005620e+00 -2.874823254939239e+00 + -2.874869512013286e+00 -2.874914805384953e+00 -2.874959141011137e+00 -2.875002524843012e+00 -2.875044963009132e+00 + -2.875086461553842e+00 -2.875127026007268e+00 -2.875166661990855e+00 -2.875205376005544e+00 -2.875243174521211e+00 + -2.875280063003956e+00 -2.875316046953741e+00 -2.875351133009737e+00 -2.875385327829893e+00 -2.875418637008044e+00 + -2.875451066029114e+00 -2.875482621006486e+00 -2.875513308222273e+00 -2.875543134005058e+00 -2.875572104616458e+00 + -2.875600226003760e+00 -2.875627504088381e+00 -2.875653945002586e+00 -2.875679554924722e+00 -2.875704340006628e+00 + -2.875728306365356e+00 -2.875751460005359e+00 -2.875773807024162e+00 -2.875795354004213e+00 -2.875816107441742e+00 + -2.875836073003188e+00 -2.875855256356105e+00 -2.875873664002281e+00 -2.875891302525273e+00 -2.875908178001488e+00 + -2.875924296429527e+00 -2.875939664003940e+00 -2.875954287022889e+00 -2.875968172003060e+00 -2.875981325374513e+00 + -2.875993753002293e+00 -2.876005460745149e+00 -2.876016455001635e+00 -2.876026742281703e+00 -2.876036329001085e+00 + -2.876045221511428e+00 -2.876053426002279e+00 -2.876060948682664e+00 -2.876067796001651e+00 -2.876073974394489e+00 + -2.876079490001126e+00 -2.876084348997735e+00 -2.876088558000703e+00 -2.876092123620084e+00 -2.876095052000378e+00 + -2.876097349275196e+00 -2.876099022000147e+00 -2.876100076780735e+00 -2.876100520000039e+00 -2.876100357977497e+00 + -2.876099597000405e+00 -2.876098243435337e+00 -2.876096303998139e+00 -2.876093785401991e+00 -2.876090694000126e+00 + -2.876087036076098e+00 -2.876082817994697e+00 -2.876078046153286e+00 -2.876072726998279e+00 -2.876066867041051e+00 + -2.876060473003754e+00 -2.876053551562065e+00 -2.876046108994973e+00 -2.876038151582050e+00 -2.876029686001908e+00 + -2.876020718975022e+00 -2.876011256990315e+00 -2.876001306494705e+00 -2.875990873998654e+00 -2.875979966015766e+00 + -2.875968589008655e+00 -2.875956749461299e+00 -2.875944453994101e+00 -2.875931709272467e+00 -2.875918522005370e+00 + -2.875904898821941e+00 -2.875890845988358e+00 -2.875876369796106e+00 -2.875861477000839e+00 -2.875846174460938e+00 + -2.875830468981534e+00 -2.875814367182402e+00 -2.875797874995170e+00 -2.875780998493851e+00 -2.875763745010153e+00 + -2.875746121853747e+00 -2.875728134988475e+00 -2.875709790337169e+00 -2.875691095004476e+00 -2.875672056151185e+00 + -2.875652679980860e+00 -2.875632972639220e+00 -2.875612940997824e+00 -2.875592591983200e+00 -2.875571932015899e+00 + -2.875550967463832e+00 -2.875529704990307e+00 -2.875508151305197e+00 -2.875486313009207e+00 -2.875464196688727e+00 + -2.875441808982035e+00 -2.875419156538716e+00 -2.875396246001703e+00 -2.875373083982446e+00 -2.875349676973115e+00 + -2.875326031456047e+00 -2.875302153993497e+00 -2.875278051224424e+00 -2.875253730014671e+00 -2.875229197164465e+00 + -2.875204458984698e+00 -2.875179521740897e+00 -2.875154392006447e+00 -2.875129076470253e+00 -2.875103581975416e+00 + -2.875077915323747e+00 -2.875052082997684e+00 -2.875026091410789e+00 -2.874999947020509e+00 -2.874973656330889e+00 + -2.874947225988491e+00 -2.874920662667701e+00 -2.874893973011697e+00 -2.874867163623783e+00 -2.874840240978976e+00 + -2.874813211559227e+00 -2.874786082002508e+00 -2.874758858958694e+00 -2.874731548969249e+00 -2.874704158521300e+00 + -2.874676693993052e+00 -2.874649161850167e+00 -2.874621569017096e+00 -2.874593922351292e+00 -2.874566227983435e+00 + -2.874538491996276e+00 -2.874510721007613e+00 -2.874482921761722e+00 -2.874455100973768e+00 -2.874427265275985e+00 + -2.874399420998023e+00 -2.874371574431975e+00 -2.874343732022288e+00 -2.874315900299783e+00 -2.874288085988434e+00 + -2.874260295776052e+00 -2.874232536012641e+00 -2.874204812974258e+00 -2.874177132978955e+00 -2.874149502426689e+00 + -2.874121928003048e+00 -2.874094416390038e+00 -2.874066973969692e+00 -2.874039607056358e+00 -2.874012321993617e+00 + -2.873985125156578e+00 -2.873958023017241e+00 -2.873931022092817e+00 -2.873904128984454e+00 -2.873877350227203e+00 + -2.873850692007775e+00 -2.873824160475146e+00 -2.873797761975665e+00 -2.873771502947487e+00 -2.873745389998629e+00 + -2.873719429664607e+00 -2.873693628021065e+00 -2.873667991196405e+00 -2.873642525989910e+00 -2.873617239207638e+00 + -2.873592137011854e+00 -2.873567225478465e+00 -2.873542510981722e+00 -2.873517999984164e+00 -2.873493699003122e+00 + -2.873469614539558e+00 -2.873445752974173e+00 -2.873422120664412e+00 -2.873398723994974e+00 -2.873375569341346e+00 + -2.873352663014937e+00 -2.873330011368907e+00 -2.873307620987516e+00 -2.873285498440290e+00 -2.873263650006746e+00 + -2.873242081977908e+00 -2.873220800980854e+00 -2.873199813610778e+00 -2.873179125999297e+00 -2.873158744269642e+00 + -2.873138674975094e+00 -2.873118924733721e+00 -2.873099499992696e+00 -2.873080407078925e+00 -2.873061652009151e+00 + -2.873043240951156e+00 -2.873025180987050e+00 -2.873007479104932e+00 -2.872990141002529e+00 -2.872973172348110e+00 + -2.872956579982463e+00 -2.872940370832477e+00 -2.872924550996914e+00 -2.872909126514257e+00 -2.872894104009989e+00 + -2.872879490127201e+00 -2.872865290992410e+00 -2.872851512733995e+00 -2.872838162004323e+00 -2.872825245427317e+00 + -2.872812768989124e+00 -2.872800738661925e+00 -2.872789160999820e+00 -2.872778042642130e+00 -2.872767389987160e+00 + -2.872757209355336e+00 -2.872747506996586e+00 -2.872738289140315e+00 -2.872729562004331e+00 -2.872721331833777e+00 + -2.872713604994726e+00 -2.872706387896571e+00 -2.872699687001068e+00 -2.872693508692679e+00 -2.872687858994343e+00 + -2.872682743943764e+00 -2.872678169999229e+00 -2.872674143639194e+00 -2.872670671002211e+00 -2.872667758252759e+00 + -2.872665411998920e+00 -2.872663638727966e+00 -2.872662444000314e+00 -2.872661833458480e+00 -2.872661814000242e+00 + -2.872662392564575e+00 -2.872663574999996e+00 -2.872665367034357e+00 -2.872667775003300e+00 -2.872670805307676e+00 + -2.872674464001362e+00 -2.872678757122995e+00 -2.872683690997219e+00 -2.872689271947241e+00 -2.872695506004511e+00 + -2.872702399218003e+00 -2.872709957998547e+00 -2.872718188690384e+00 -2.872727097009549e+00 -2.872736688669513e+00 + -2.872746970001709e+00 -2.872757947412680e+00 -2.872769626991446e+00 -2.872782014787135e+00 -2.872795117006809e+00 + -2.872808939808297e+00 -2.872823488994544e+00 -2.872838770359238e+00 -2.872854790013944e+00 -2.872871554154958e+00 + -2.872889068999627e+00 -2.872907340687168e+00 -2.872926375023218e+00 -2.872946177789640e+00 -2.872966755006795e+00 + -2.872988112738970e+00 -2.873010256987659e+00 -2.873033193743455e+00 -2.873056929016149e+00 -2.873081468798353e+00 + -2.873106818994782e+00 -2.873132985471494e+00 -2.873159974027786e+00 -2.873187790508094e+00 -2.873216441004140e+00 + -2.873245931584463e+00 -2.873276267977569e+00 -2.873307455856915e+00 -2.873339501015828e+00 -2.873372409342765e+00 + -2.873406186986854e+00 -2.873440840030674e+00 -2.873476374029945e+00 -2.873512794459630e+00 -2.873550106998518e+00 + -2.873588317466817e+00 -2.873627432046586e+00 -2.873667456808100e+00 -2.873708397012657e+00 -2.873750257967860e+00 + -2.873793045975522e+00 -2.873836767295967e+00 -2.873881427029366e+00 -2.873927030237608e+00 -2.873973582989610e+00 + -2.874021091436191e+00 -2.874069561048740e+00 -2.874118997257345e+00 -2.874169406006314e+00 -2.874220793186470e+00 + -2.874273163960479e+00 -2.874326523535612e+00 -2.874380878025728e+00 -2.874436233504353e+00 -2.874492594977105e+00 + -2.874549967456173e+00 -2.874608357047944e+00 -2.874667769870749e+00 -2.874728210996486e+00 -2.874789685444839e+00 + -2.874852199073056e+00 -2.874915757808161e+00 -2.874980367018717e+00 -2.875046031956011e+00 -2.875112757960702e+00 + -2.875180550448241e+00 -2.875249415043884e+00 -2.875319357389408e+00 -2.875390382982873e+00 -2.875462497200150e+00 + -2.875535705072081e+00 -2.875610011724477e+00 -2.875685423008027e+00 -2.875761944747628e+00 -2.875839581940104e+00 + -2.875918339524430e+00 -2.875998223036253e+00 -2.876079238083328e+00 -2.876161389965175e+00 -2.876244683897332e+00 + -2.876329125067640e+00 -2.876414718675390e+00 -2.876501469993362e+00 -2.876589384334920e+00 -2.876678467102276e+00 + -2.876768723646439e+00 -2.876860159024752e+00 -2.876952778311590e+00 -2.877046586943105e+00 -2.877141590285005e+00 + -2.877237793059432e+00 -2.877335200055582e+00 -2.877433816974432e+00 -2.877533649470098e+00 -2.877634702097487e+00 + -2.877736979404358e+00 -2.877840487009089e+00 -2.877945230580227e+00 -2.878051214916385e+00 -2.878158444703550e+00 + -2.878266925047163e+00 -2.878376661120778e+00 -2.878487657950954e+00 -2.878599920558564e+00 -2.878713454088738e+00 + -2.878828263638601e+00 -2.878944353988982e+00 -2.879061729871082e+00 -2.879180396133895e+00 -2.879300357745253e+00 + -2.879421620030550e+00 -2.879544188234639e+00 -2.879668066922659e+00 -2.879793260582870e+00 -2.879919774075741e+00 + -2.880047612428619e+00 -2.880176780964157e+00 -2.880307284823274e+00 -2.880439128124635e+00 -2.880572315044195e+00 + -2.880706851009318e+00 -2.880842741491739e+00 -2.880979990889281e+00 -2.881118603470176e+00 -2.881258584058220e+00 + -2.881399937594580e+00 -2.881542668934350e+00 -2.881686782880171e+00 -2.881832284110943e+00 -2.881979177270132e+00 + -2.882127466983199e+00 -2.882277157822698e+00 -2.882428254167564e+00 -2.882580760515876e+00 -2.882734682035907e+00 + -2.882890023809088e+00 -2.883046789899305e+00 -2.883204984344022e+00 -2.883364612092550e+00 -2.883525678164890e+00 + -2.883688186951939e+00 -2.883852142755886e+00 -2.884017550153203e+00 -2.884184413751485e+00 -2.884352738008543e+00 + -2.884522527349429e+00 -2.884693786217942e+00 -2.884866519029743e+00 -2.885040730069195e+00 -2.885216423722596e+00 + -2.885393604915286e+00 -2.885572278454246e+00 -2.885752448133968e+00 -2.885934117732660e+00 -2.886117291975880e+00 + -2.886301975695701e+00 -2.886488173202934e+00 -2.886675888645447e+00 -2.886865126040629e+00 -2.887055889528861e+00 + -2.887248183873006e+00 -2.887442013779875e+00 -2.887637383109605e+00 -2.887834295673936e+00 -2.888032755937675e+00 + -2.888232768417303e+00 -2.888434337182880e+00 -2.888637466267979e+00 -2.888842160006608e+00 -2.889048422705334e+00 + -2.889256258260521e+00 -2.889465670586525e+00 -2.889676664079871e+00 -2.889889243164732e+00 -2.890103411893701e+00 + -2.890319174230825e+00 -2.890536534157536e+00 -2.890755495690120e+00 -2.890976062966901e+00 -2.891198240133124e+00 + -2.891422031239666e+00 -2.891647440271526e+00 -2.891874471044534e+00 -2.892103127449178e+00 -2.892333413843735e+00 + -2.892565334531329e+00 -2.892798893126666e+00 -2.893034093211137e+00 -2.893270938921286e+00 -2.893509434394119e+00 + -2.893749583213363e+00 -2.893991388990754e+00 -2.894234856003367e+00 -2.894479988544211e+00 -2.894726790304690e+00 + -2.894975264880993e+00 -2.895225416090045e+00 -2.895477247800793e+00 -2.895730763869547e+00 -2.895985968110420e+00 + -2.896242864181383e+00 -2.896501455784724e+00 -2.896761746956156e+00 -2.897023741664482e+00 -2.897287443277443e+00 + -2.897552855132549e+00 -2.897819981047455e+00 -2.898088824960355e+00 -2.898359390811481e+00 -2.898631682423090e+00 + -2.898905703143506e+00 -2.899181456336644e+00 -2.899458945902694e+00 -2.899738175745144e+00 -2.900019149244370e+00 + -2.900301869748365e+00 -2.900586340998689e+00 -2.900872566741790e+00 -2.901160550350105e+00 -2.901450295205248e+00 + -2.901741805099525e+00 -2.902035083835090e+00 -2.902330134842785e+00 -2.902626961482952e+00 -2.902925567205262e+00 + -2.903225955501619e+00 -2.903528129943548e+00 -2.903832094083243e+00 -2.904137851315957e+00 -2.904445404943298e+00 + -2.904754758049239e+00 -2.905065913908475e+00 -2.905378876776237e+00 -2.905693650730528e+00 -2.906010238159916e+00 + -2.906328641477237e+00 -2.906648864881840e+00 -2.906970912612057e+00 -2.907294787275635e+00 -2.907620491421319e+00 + -2.907948028992455e+00 -2.908277404008211e+00 -2.908608619396449e+00 -2.908941677961907e+00 -2.909276583108139e+00 + -2.909613338320582e+00 -2.909951946813384e+00 -2.910292411733319e+00 -2.910634736228945e+00 -2.910978923497479e+00 + -2.911324976928991e+00 -2.911672899876866e+00 -2.912022695354926e+00 -2.912374366346152e+00 -2.912727916049746e+00 + -2.913083347735332e+00 -2.913440664738005e+00 -2.913799870293631e+00 -2.914160967175702e+00 -2.914523958205600e+00 + -2.914888846858668e+00 -2.915255636613397e+00 -2.915624330306910e+00 -2.915994930711883e+00 -2.916367440984558e+00 + -2.916741864289805e+00 -2.917118203443422e+00 -2.917496461287171e+00 -2.917876641115726e+00 -2.918258746264796e+00 + -2.918642779781321e+00 -2.919028744569610e+00 -2.919416643252220e+00 -2.919806478556714e+00 -2.920198253912409e+00 + -2.920591972698769e+00 -2.920987637394092e+00 -2.921385250442034e+00 -2.921784815048848e+00 -2.922186334507697e+00 + -2.922589811696789e+00 -2.922995249368979e+00 -2.923402650190686e+00 -2.923812016928122e+00 -2.924223352833133e+00 + -2.924636661116357e+00 -2.925051944337972e+00 -2.925469204994078e+00 -2.925888445974902e+00 -2.926309670222330e+00 + -2.926732880490753e+00 -2.927158079512877e+00 -2.927585270122142e+00 -2.928014455203420e+00 -2.928445637746579e+00 + -2.928878820641719e+00 -2.929314006274898e+00 -2.929751197043434e+00 -2.930190395893735e+00 -2.930631605816839e+00 + -2.931074829433217e+00 -2.931520069294359e+00 -2.931967328046430e+00 -2.932416608452995e+00 -2.932867913652596e+00 + -2.933321246608101e+00 -2.933776609204709e+00 -2.934234003435805e+00 -2.934693432805196e+00 -2.935154900804807e+00 + -2.935618409368617e+00 -2.936083960365691e+00 -2.936551556963400e+00 -2.937021202354904e+00 -2.937492898538196e+00 + -2.937966647468766e+00 -2.938442452127255e+00 -2.938920315642269e+00 -2.939400240709141e+00 -2.939882229846171e+00 + -2.940366285296803e+00 -2.940852409365155e+00 -2.941340604872910e+00 -2.941830874578781e+00 -2.942323220472084e+00 + -2.942817644603974e+00 -2.943314150042391e+00 -2.943812739919231e+00 -2.944313416605433e+00 -2.944816182292809e+00 + -2.945321039217627e+00 -2.945827989752984e+00 -2.946337036774817e+00 -2.946848183049044e+00 -2.947361430398659e+00 + -2.947876780695535e+00 -2.948394236949976e+00 -2.948913802216184e+00 -2.949435478585527e+00 -2.949959268045502e+00 + -2.950485173130951e+00 -2.951013196489051e+00 -2.951543340668991e+00 -2.952075608036040e+00 -2.952610000317780e+00 + -2.953146519451356e+00 -2.953685168849877e+00 -2.954225951787981e+00 -2.954768869510503e+00 -2.955313923227115e+00 + -2.955861116036636e+00 -2.956410451196468e+00 -2.956961930709160e+00 -2.957515556348660e+00 -2.958071330229310e+00 + -2.958629254704319e+00 -2.959189332741965e+00 -2.959751567143614e+00 -2.960315959427935e+00 -2.960882511105170e+00 + -2.961451224934558e+00 -2.962022103774683e+00 -2.962595149632548e+00 -2.963170364371659e+00 -2.963747750133120e+00 + -2.964327309260061e+00 -2.964909044626116e+00 -2.965492958892178e+00 -2.966079053337689e+00 -2.966667329311879e+00 + -2.967257789824588e+00 -2.967850437973655e+00 -2.968445275548303e+00 -2.969042304161408e+00 -2.969641526029084e+00 + -2.970242943489398e+00 -2.970846558764995e+00 -2.971452374012471e+00 -2.972060391239641e+00 -2.972670612566008e+00 + -2.973283040706606e+00 -2.973897678221620e+00 -2.974514526456296e+00 -2.975133586785449e+00 -2.975754861917081e+00 + -2.976378354633252e+00 -2.977004066679083e+00 -2.977631999719257e+00 -2.978262156133669e+00 -2.978894538388579e+00 + -2.979529148580497e+00 -2.980165988659094e+00 -2.980805060356407e+00 -2.981446365534977e+00 -2.982089906796993e+00 + -2.982735686662750e+00 -2.983383706585328e+00 -2.984033968085205e+00 -2.984686474019655e+00 -2.985341227187940e+00 + -2.985998228820469e+00 -2.986657480057624e+00 -2.987318983248517e+00 -2.987982740990944e+00 -2.988648755668708e+00 + -2.989317029403636e+00 -2.989987563483614e+00 -2.990660359350691e+00 -2.991335419897486e+00 -2.992012747963469e+00 + -2.992692344724977e+00 -2.993374211287029e+00 -2.994058350132512e+00 -2.994744763907397e+00 -2.995433454532118e+00 + -2.996124423756546e+00 -2.996817673373822e+00 -2.997513205283444e+00 -2.998211021767050e+00 -2.998911125033880e+00 + -2.999613516621449e+00 -3.000318198120732e+00 -3.001025172008281e+00 -3.001734440748973e+00 -3.002446005875424e+00 + -3.003159868783688e+00 -3.003876031255844e+00 -3.004594495323234e+00 -3.005315263628241e+00 -3.006038338638268e+00 + -3.006763721509772e+00 -3.007491413411925e+00 -3.008221416875716e+00 -3.008953734497098e+00 -3.009688367770095e+00 + -3.010425318036306e+00 -3.011164587129571e+00 -3.011906177113799e+00 -3.012650090480955e+00 -3.013396329533748e+00 + -3.014144895389836e+00 -3.014895789237767e+00 -3.015649013734712e+00 -3.016404571515447e+00 -3.017162463656545e+00 + -3.017922691248400e+00 -3.018685256994897e+00 -3.019450163571901e+00 -3.020217411929727e+00 -3.020987002987051e+00 + -3.021758939261538e+00 -3.022533223477289e+00 -3.023309857585168e+00 -3.024088843221124e+00 -3.024870181534668e+00 + -3.025653873871900e+00 -3.026439922851719e+00 -3.027228331077071e+00 -3.028019099814318e+00 -3.028812230192102e+00 + -3.029607724124773e+00 -3.030405583764245e+00 -3.031205811426982e+00 -3.032008409239547e+00 -3.032813378404362e+00 + -3.033620720145768e+00 -3.034430436699938e+00 -3.035242530366928e+00 -3.036057002690514e+00 -3.036873855182042e+00 + -3.037693089979441e+00 -3.038514709166424e+00 -3.039338713983260e+00 -3.040165105664532e+00 -3.040993886265523e+00 + -3.041825058080565e+00 -3.042658623539453e+00 -3.043494584770202e+00 -3.044332942558215e+00 -3.045173697755793e+00 + -3.046016852825442e+00 -3.046862410359265e+00 -3.047710371857544e+00 -3.048560738605269e+00 -3.049413512118055e+00 + -3.050268694173960e+00 -3.051126287370169e+00 -3.051986294136892e+00 -3.052848715417321e+00 -3.053713552140092e+00 + -3.054580806662679e+00 -3.055450481419417e+00 -3.056322577723267e+00 -3.057197096839233e+00 -3.058074040961857e+00 + -3.058953412280709e+00 -3.059835212035924e+00 -3.060719441405425e+00 -3.061606102267731e+00 -3.062495196777212e+00 + -3.063386727491054e+00 -3.064280696619269e+00 -3.065177104580330e+00 -3.066075951959016e+00 -3.066977241796834e+00 + -3.067880977177860e+00 -3.068787158899685e+00 -3.069695787543252e+00 -3.070606865109353e+00 -3.071520393938529e+00 + -3.072436376310475e+00 -3.073354814200677e+00 -3.074275708428639e+00 -3.075199059975246e+00 -3.076124871622891e+00 + -3.077053146054635e+00 -3.077983883754724e+00 -3.078917085313194e+00 -3.079852753942089e+00 -3.080790892784741e+00 + -3.081731502087634e+00 -3.082674582011150e+00 -3.083620135268097e+00 -3.084568164866139e+00 -3.085518672439932e+00 + -3.086471659270948e+00 -3.087427126600947e+00 -3.088385075921834e+00 -3.089345509765843e+00 -3.090308430518810e+00 + -3.091273838940665e+00 -3.092241735746584e+00 -3.093212123098609e+00 -3.094185003484481e+00 -3.095160379247863e+00 + -3.096138252358965e+00 -3.097118623438258e+00 -3.098101493262150e+00 -3.099086864580523e+00 -3.100074740150514e+00 + -3.101065120784818e+00 -3.102058007230942e+00 -3.103053401920080e+00 -3.104051307417155e+00 -3.105051725138318e+00 + -3.106054656274756e+00 -3.107060102266563e+00 -3.108068064811119e+00 -3.109078546386035e+00 -3.110091549326776e+00 + -3.111107074619999e+00 -3.112125123273996e+00 -3.113145697732417e+00 -3.114168800386244e+00 -3.115194431980418e+00 + -3.116222593318652e+00 -3.117253287085768e+00 -3.118286516039464e+00 -3.119322281347848e+00 -3.120360583948459e+00 + -3.121401425446115e+00 -3.122444807777008e+00 -3.123490733535526e+00 -3.124539205035892e+00 -3.125590222813487e+00 + -3.126643787500575e+00 -3.127699901895779e+00 -3.128758568841378e+00 -3.129819789187914e+00 -3.130883563634097e+00 + -3.131949894263071e+00 -3.133018783446947e+00 -3.134090233329311e+00 -3.135164245759380e+00 -3.136240821637432e+00 + -3.137319962039862e+00 -3.138401669696502e+00 -3.139485947209752e+00 -3.140572795018887e+00 -3.141662213641400e+00 + -3.142754206070774e+00 -3.143848775370422e+00 -3.144945922407469e+00 -3.146045647810740e+00 -3.147147953452156e+00 + -3.148252841552866e+00 -3.149360314487843e+00 -3.150470374336312e+00 -3.151583021840677e+00 -3.152698257836541e+00 + -3.153816084869129e+00 -3.154936505573740e+00 -3.156059521236365e+00 -3.157185132934072e+00 -3.158313342257567e+00 + -3.159444151127381e+00 -3.160577562269707e+00 -3.161713578058511e+00 -3.162852198653188e+00 -3.163993424406347e+00 + -3.165137258658042e+00 -3.166283704751602e+00 -3.167432763056018e+00 -3.168584433853514e+00 -3.169738720053572e+00 + -3.170895624664928e+00 -3.172055148466089e+00 -3.173217292044841e+00 -3.174382057456326e+00 -3.175549447119023e+00 + -3.176719463437418e+00 -3.177892108465135e+00 -3.179067382866334e+00 -3.180245287430775e+00 -3.181425824840074e+00 + -3.182608997807819e+00 -3.183794807283624e+00 -3.184983254083125e+00 -3.186174340249998e+00 -3.187368068149750e+00 + -3.188564440207163e+00 -3.189763458501066e+00 -3.190965123667219e+00 -3.192169436468204e+00 -3.193376399616980e+00 + -3.194586015855556e+00 -3.195798286091764e+00 -3.197013211234878e+00 -3.198230794034108e+00 -3.199451037209393e+00 + -3.200673941523666e+00 -3.201899507599942e+00 -3.203127737458575e+00 -3.204358633517069e+00 -3.205592198384193e+00 + -3.206828434306502e+00 -3.208067341890413e+00 -3.209308921829809e+00 -3.210553176808560e+00 -3.211800109598040e+00 + -3.213049721329648e+00 -3.214302012941719e+00 -3.215556986240311e+00 -3.216814643392485e+00 -3.218074987141617e+00 + -3.219338019837523e+00 -3.220603741679474e+00 -3.221872153094758e+00 -3.223143257573258e+00 -3.224417058543514e+00 + -3.225693556126080e+00 -3.226972750453261e+00 -3.228254645012327e+00 -3.229539243310538e+00 -3.230826545580160e+00 + -3.232116551831102e+00 -3.233409264458852e+00 -3.234704686394765e+00 -3.236002820328103e+00 -3.237303668413965e+00 + -3.238607230912866e+00 -3.239913508296335e+00 -3.241222503774527e+00 -3.242534220589764e+00 -3.243848659374397e+00 + -3.245165820540432e+00 -3.246485706228452e+00 -3.247808319087641e+00 -3.249133662073000e+00 -3.250461737608715e+00 + -3.251792545689908e+00 -3.253126086515263e+00 -3.254462363526813e+00 -3.255801380232294e+00 -3.257143137158927e+00 + -3.258487634736825e+00 -3.259834875988172e+00 -3.261184864013611e+00 -3.262537599635538e+00 -3.263893083453904e+00 + -3.265251317457108e+00 -3.266612304094287e+00 -3.267976046269084e+00 -3.269342546452898e+00 -3.270711804933652e+00 + -3.272083822201368e+00 -3.273458601737915e+00 -3.274836147008249e+00 -3.276216458417835e+00 -3.277599536106921e+00 + -3.278985382214368e+00 -3.280373999474050e+00 -3.281765391001240e+00 -3.283159559381294e+00 -3.284556504698475e+00 + -3.285956227223949e+00 -3.287358730477579e+00 -3.288764018003004e+00 -3.290172090190266e+00 -3.291582947391597e+00 + -3.292996592961586e+00 -3.294413030263101e+00 -3.295832259689772e+00 -3.297254281509102e+00 -3.298679098453292e+00 + -3.300106713632883e+00 -3.301537129207062e+00 -3.302970346938195e+00 -3.304406367952729e+00 -3.305845193592728e+00 + -3.307286826698660e+00 -3.308731270022015e+00 -3.310178524459931e+00 -3.311628590794006e+00 -3.313081471198005e+00 + -3.314537168271639e+00 -3.315995684926260e+00 -3.317457023622331e+00 -3.318921184705128e+00 -3.320388168757214e+00 + -3.321857979425488e+00 -3.323330620242623e+00 -3.324806091220061e+00 -3.326284392457951e+00 -3.327765527932510e+00 + -3.329249501635255e+00 -3.330736313742837e+00 -3.332225964151081e+00 -3.333718455447356e+00 -3.335213790816533e+00 + -3.336711973141963e+00 -3.338213004741188e+00 -3.339716885970061e+00 -3.341223617428788e+00 -3.342733202656698e+00 + -3.344245645175923e+00 -3.345760945500658e+00 -3.347279103963591e+00 -3.348800123179309e+00 -3.350324006237700e+00 + -3.351850755847976e+00 -3.353380374190363e+00 -3.354912861709826e+00 -3.356448219173252e+00 -3.357986450370467e+00 + -3.359527558984502e+00 -3.361071545248283e+00 -3.362618409368982e+00 -3.364168154900880e+00 -3.365720785489059e+00 + -3.367276301794712e+00 -3.368834704260551e+00 -3.370395995439248e+00 -3.371960178388195e+00 -3.373527256073704e+00 + -3.375097230883950e+00 -3.376670102985606e+00 -3.378245872877927e+00 -3.379824544611959e+00 -3.381406122149057e+00 + -3.382990605539988e+00 -3.384577994855671e+00 -3.386168294158221e+00 -3.387761507524905e+00 -3.389357635102426e+00 + -3.390956676825633e+00 -3.392558635712520e+00 -3.394163515324364e+00 -3.395771318312439e+00 -3.397382046745834e+00 + -3.398995701274896e+00 -3.400612282828281e+00 -3.402231794866633e+00 -3.403854240867662e+00 -3.405479621845378e+00 + -3.407107938586081e+00 -3.408739193428916e+00 -3.410373389185216e+00 -3.412010529002203e+00 -3.413650615518111e+00 + -3.415293648999326e+00 -3.416939629995896e+00 -3.418588562564371e+00 -3.420240450691449e+00 -3.421895294577897e+00 + -3.423553094414080e+00 -3.425213854134680e+00 -3.426877577792018e+00 -3.428544266164663e+00 -3.430213919689846e+00 + -3.431886540713168e+00 -3.433562132145608e+00 -3.435240697251321e+00 -3.436922238808692e+00 -3.438606757299870e+00 + -3.440294253397158e+00 -3.441984730829699e+00 -3.443678193368453e+00 -3.445374641894819e+00 -3.447074077051543e+00 + -3.448776501416308e+00 -3.450481918039497e+00 -3.452190329927366e+00 -3.453901739641781e+00 -3.455616148011183e+00 + -3.457333556082980e+00 -3.459053967513855e+00 -3.460777385853499e+00 -3.462503811614361e+00 -3.464233245386620e+00 + -3.465965691108627e+00 -3.467701152771073e+00 -3.469439631225878e+00 -3.471181127031554e+00 -3.472925642711720e+00 + -3.474673181335264e+00 -3.476423746187027e+00 -3.478177340029919e+00 -3.479933963323171e+00 -3.481693616824597e+00 + -3.483456304790008e+00 -3.485222031388338e+00 -3.486990796943019e+00 -3.488762601570069e+00 -3.490537448401365e+00 + -3.492315341151373e+00 -3.494096282849095e+00 -3.495880275915030e+00 -3.497667321021135e+00 -3.499457419173128e+00 + -3.501250574460328e+00 -3.503046790838973e+00 -3.504846068649357e+00 -3.506648408298966e+00 -3.508453814079994e+00 + -3.510262290280344e+00 -3.512073837286068e+00 -3.513888455301771e+00 -3.515706147708129e+00 -3.517526918395819e+00 + -3.519350770119465e+00 -3.521177705073145e+00 -3.523007724344773e+00 -3.524840829328240e+00 -3.526677023747485e+00 + -3.528516311267811e+00 -3.530358692989965e+00 -3.532204169811781e+00 -3.534052744384031e+00 -3.535904419874647e+00 + -3.537759199767289e+00 -3.539617087002065e+00 -3.541478082029144e+00 -3.543342185630307e+00 -3.545209402403708e+00 + -3.547079736777425e+00 -3.548953188682862e+00 -3.550829758143615e+00 -3.552709450048714e+00 -3.554592269345012e+00 + -3.556478216345227e+00 -3.558367291032073e+00 -3.560259496702344e+00 -3.562154837300620e+00 -3.564053316048536e+00 + -3.565954935512961e+00 -3.567859696364639e+00 -3.569767599635964e+00 -3.571678649702049e+00 -3.573592850895430e+00 + -3.575510204035641e+00 -3.577430709619281e+00 -3.579354370364244e+00 -3.581281189700099e+00 -3.583211171681835e+00 + -3.585144319721653e+00 -3.587080634035166e+00 -3.589020115063184e+00 -3.590962767343901e+00 -3.592908595415016e+00 + -3.594857599714854e+00 -3.596809780701911e+00 -3.598765143014713e+00 -3.600723691343250e+00 -3.602685426403352e+00 + -3.604650348553174e+00 -3.606618460694309e+00 -3.608589766473437e+00 -3.610564269974137e+00 -3.612541974573128e+00 + -3.614522880382737e+00 -3.616506987803558e+00 -3.618494301653613e+00 -3.620484826823921e+00 -3.622478564080036e+00 + -3.624475513850586e+00 -3.626475679341938e+00 -3.628479064392689e+00 -3.630485672592619e+00 -3.632495506905407e+00 + -3.634508568039156e+00 -3.636524857004877e+00 -3.638544378280809e+00 -3.640567136287224e+00 -3.642593131745308e+00 + -3.644622365423449e+00 -3.646654841977913e+00 -3.648690566065893e+00 -3.650729538460438e+00 -3.652771759626902e+00 + -3.654817232683972e+00 -3.656865961450936e+00 -3.658917949896158e+00 -3.660973201344661e+00 -3.663031716399031e+00 + -3.665093495929850e+00 -3.667158544602091e+00 -3.669226867066577e+00 -3.671298464123134e+00 -3.673373336353373e+00 + -3.675451487317045e+00 -3.677532921173144e+00 -3.679617641499514e+00 -3.681705651197185e+00 -3.683796951041065e+00 + -3.685891542158701e+00 -3.687989429214330e+00 -3.690090616811484e+00 -3.692195105774196e+00 -3.694302896934788e+00 + -3.696413994938233e+00 -3.698528404463948e+00 -3.700646126516483e+00 -3.702767161822413e+00 -3.704891513671268e+00 + -3.707019186005269e+00 -3.709150182814482e+00 -3.711284507419287e+00 -3.713422160413482e+00 -3.715563142750310e+00 + -3.717707459547388e+00 -3.719855115839397e+00 -3.722006112164920e+00 -3.724160448777861e+00 -3.726318129289493e+00 + -3.728479158099316e+00 -3.730643539402395e+00 -3.732811276589775e+00 -3.734982370040845e+00 -3.737156820495128e+00 + -3.739334633144358e+00 -3.741515813112657e+00 -3.743700360801490e+00 -3.745888276640612e+00 -3.748079565895588e+00 + -3.750274233918474e+00 -3.752472281571475e+00 -3.754673709335501e+00 -3.756878520656135e+00 -3.759086719721971e+00 + -3.761298310728990e+00 -3.763513297133539e+00 -3.765731679426046e+00 -3.767953458457793e+00 -3.770178639489403e+00 + -3.772407227784000e+00 -3.774639224205367e+00 -3.776874629489326e+00 -3.779113448259203e+00 -3.781355685279774e+00 + -3.783601341994148e+00 -3.785850419525435e+00 -3.788102921038436e+00 -3.790358850378410e+00 -3.792618212070778e+00 + -3.794881010002580e+00 -3.797147244827153e+00 -3.799416917428862e+00 -3.801690032849888e+00 -3.803966596190487e+00 + -3.806246608625402e+00 -3.808530070983860e+00 -3.810816986638503e+00 -3.813107359693981e+00 -3.815401194639556e+00 + -3.817698495297397e+00 -3.819999262436677e+00 -3.822303497093916e+00 -3.824611204428034e+00 -3.826922389548483e+00 + -3.829237053244454e+00 -3.831555196353405e+00 -3.833876824226091e+00 -3.836201942201953e+00 -3.838530551061888e+00 + -3.840862651326505e+00 -3.843198247033778e+00 -3.845537342919513e+00 -3.847879942993476e+00 -3.850226050562932e+00 + -3.852575666851148e+00 -3.854928793361406e+00 -3.857285434801036e+00 -3.859645595950435e+00 -3.862009278678248e+00 + -3.864376484523473e+00 -3.866747216618300e+00 -3.869121478726629e+00 -3.871499275546047e+00 -3.873880611182955e+00 + -3.876265486445322e+00 -3.878653902389424e+00 -3.881045864363169e+00 -3.883441377687285e+00 -3.885840443282151e+00 + -3.888243062046155e+00 -3.890649239190073e+00 -3.893058980047241e+00 -3.895472286128841e+00 -3.897889158595383e+00 + -3.900309601026809e+00 -3.902733617656517e+00 -3.905161212912323e+00 -3.907592390603840e+00 -3.910027151873432e+00 + -3.912465498159137e+00 -3.914907434748928e+00 -3.917352966879188e+00 -3.919802095729995e+00 -3.922254822259626e+00 + -3.924711150595445e+00 -3.927171085542605e+00 -3.929634631448325e+00 -3.932101791843537e+00 -3.934572567451927e+00 + -3.937046959532740e+00 -3.939524974294695e+00 -3.942006617767883e+00 -3.944491890318428e+00 -3.946980792233828e+00 + -3.949473329151056e+00 -3.951969506957779e+00 -3.954469327195002e+00 -3.956972790971958e+00 -3.959479902017460e+00 + -3.961990664762499e+00 -3.964505083827194e+00 -3.967023163167552e+00 -3.969544903893966e+00 -3.972070307479498e+00 + -3.974599379693463e+00 -3.977132126179292e+00 -3.979668547780628e+00 -3.982208645099321e+00 -3.984752422569858e+00 + -3.987299885436030e+00 -3.989851038346246e+00 -3.992405885069993e+00 -3.994964426456437e+00 -3.997526663815754e+00 + -4.000092603222488e+00 -4.002662250581340e+00 -4.005235606353252e+00 -4.007812671084819e+00 -4.010393451108941e+00 + -4.012977952843547e+00 -4.015566177260363e+00 -4.018158124897606e+00 -4.020753800005660e+00 -4.023353207686703e+00 + -4.025956352737950e+00 -4.028563239140089e+00 -4.031173867912699e+00 -4.033788240453579e+00 -4.036406362634527e+00 + -4.039028240314873e+00 -4.041653874830120e+00 -4.044283267179555e+00 -4.046916421541453e+00 -4.049553342894448e+00 + -4.052194036239657e+00 -4.054838505774454e+00 -4.057486752458788e+00 -4.060138777601743e+00 -4.062794587146426e+00 + -4.065454187011838e+00 -4.068117578386588e+00 -4.070784762448621e+00 -4.073455745063631e+00 -4.076130532171974e+00 + -4.078809125324914e+00 -4.081491525652789e+00 -4.084177736991329e+00 -4.086867764089578e+00 -4.089561612644448e+00 + -4.092259287473573e+00 -4.094960788929582e+00 -4.097666117736884e+00 -4.100375280572002e+00 -4.103088284211306e+00 + -4.105805129878449e+00 -4.108525818267906e+00 -4.111250353510137e+00 -4.113978740671802e+00 -4.116710985128399e+00 + -4.119447091422845e+00 -4.122187060458915e+00 -4.124930893522407e+00 -4.127678597066370e+00 -4.130430177441071e+00 + -4.133185635418395e+00 -4.135944971791250e+00 -4.138708193015015e+00 -4.141475305696859e+00 -4.144246311388639e+00 + -4.147021211130915e+00 -4.149800008974389e+00 -4.152582709893380e+00 -4.155369319546537e+00 -4.158159842709882e+00 + -4.160954279944561e+00 -4.163752632239020e+00 -4.166554906505763e+00 -4.169361109687737e+00 -4.172171242925584e+00 + -4.174985306927709e+00 -4.177803306475812e+00 -4.180625247195196e+00 -4.183451134012302e+00 -4.186280970992621e+00 + -4.189114759456745e+00 -4.191952501240072e+00 -4.194794202982180e+00 -4.197639871116617e+00 -4.200489506448629e+00 + -4.203343109834506e+00 -4.206200687962978e+00 -4.209062247657938e+00 -4.211927790451525e+00 -4.214797317400862e+00 + -4.217670832954751e+00 -4.220548342457539e+00 -4.223429851444060e+00 -4.226315364591702e+00 -4.229204882957573e+00 + -4.232098408004153e+00 -4.234995946435681e+00 -4.237897504949240e+00 -4.240803084971501e+00 -4.243712687544032e+00 + -4.246626317438374e+00 -4.249543980343883e+00 -4.252465681891192e+00 -4.255391426705907e+00 -4.258321215452209e+00 + -4.261255049361277e+00 -4.264192935893713e+00 -4.267134882389568e+00 -4.270080889477248e+00 -4.273030957691918e+00 + -4.275985093907401e+00 -4.278943305249538e+00 -4.281905593513557e+00 -4.284871959946388e+00 -4.287842408932329e+00 + -4.290816945777364e+00 -4.293795576336856e+00 -4.296778305653331e+00 -4.299765134968560e+00 -4.302756065899131e+00 + -4.305751105361620e+00 -4.308750260118541e+00 -4.311753531016159e+00 -4.314760919008608e+00 -4.317772431397722e+00 + -4.320788075591533e+00 -4.323807853075197e+00 -4.326831764792573e+00 -4.329859815445223e+00 -4.332892010759197e+00 + -4.335928356800809e+00 -4.338968858700405e+00 -4.342013517504197e+00 -4.345062334602749e+00 -4.348115316848165e+00 + -4.351172471198577e+00 -4.354233799574710e+00 -4.357299303495111e+00 -4.360368987907023e+00 -4.363442858590077e+00 + -4.366520921224746e+00 -4.369603180592436e+00 -4.372689637977453e+00 -4.375780295145305e+00 -4.378875159283436e+00 + -4.381974237486932e+00 -4.385077531059527e+00 -4.388185041309383e+00 -4.391296775353732e+00 -4.394412740393244e+00 + -4.397532938153312e+00 -4.400657369887305e+00 -4.403786040435705e+00 -4.406918955633090e+00 -4.410056121703311e+00 + -4.413197543940346e+00 -4.416343223529426e+00 -4.419493162052248e+00 -4.422647366785128e+00 -4.425805845047289e+00 + -4.428968598634965e+00 -4.432135628892382e+00 -4.435306940878729e+00 -4.438482540596634e+00 -4.441662434107552e+00 + -4.444846626509031e+00 -4.448035118984182e+00 -4.451227913265940e+00 -4.454425017200977e+00 -4.457626438485681e+00 + -4.460832178101560e+00 -4.464042236947444e+00 -4.467256622306292e+00 -4.470475341701105e+00 -4.473698397230936e+00 + -4.476925790483307e+00 -4.480157526423565e+00 -4.483393610985775e+00 -4.486634050601043e+00 -4.489878850742320e+00 + -4.493128012552872e+00 -4.496381537630165e+00 -4.499639433718156e+00 -4.502901708553144e+00 -4.506168363694287e+00 + -4.509439400268067e+00 -4.512714823847340e+00 -4.515994641019672e+00 -4.519278857985080e+00 -4.522567479881829e+00 + -4.525860507988668e+00 -4.529157944122721e+00 -4.532459796114085e+00 -4.535766071688615e+00 -4.539076772142213e+00 + -4.542391898765175e+00 -4.545711459255270e+00 -4.549035461446213e+00 -4.552363907308053e+00 -4.555696798263391e+00 + -4.559034139408705e+00 -4.562375936904542e+00 -4.565722197493832e+00 -4.569072926948550e+00 -4.572428126574475e+00 + -4.575787798129616e+00 -4.579151949647104e+00 -4.582520589075836e+00 -4.585893717752653e+00 -4.589271336639746e+00 + -4.592653451812744e+00 -4.596040070428725e+00 -4.599431198857142e+00 -4.602826842289216e+00 -4.606227001990830e+00 + -4.609631679831751e+00 -4.613040884022596e+00 -4.616454622677202e+00 -4.619872897181441e+00 -4.623295708819967e+00 + -4.626723065200532e+00 -4.630154974192006e+00 -4.633591438384649e+00 -4.637032459790966e+00 -4.640478043391029e+00 + -4.643928195196958e+00 -4.647382922381489e+00 -4.650842231139545e+00 -4.654306122594169e+00 -4.657774598295235e+00 + -4.661247666571815e+00 -4.664725335805659e+00 -4.668207607810025e+00 -4.671694483876048e+00 -4.675185969774820e+00 + -4.678682072408495e+00 -4.682182798723523e+00 -4.685688154522786e+00 -4.689198140990583e+00 -4.692712759891060e+00 + -4.696232019926335e+00 -4.699755929666950e+00 -4.703284490219185e+00 -4.706817702626076e+00 -4.710355575141943e+00 + -4.713898116290367e+00 -4.717445328460708e+00 -4.720997213393779e+00 -4.724553776370427e+00 -4.728115023824750e+00 + -4.731680963263822e+00 -4.735251601139764e+00 -4.738826938611875e+00 -4.742406977241646e+00 -4.745991725492132e+00 + -4.749581191958943e+00 -4.753175378866366e+00 -4.756774287871428e+00 -4.760377924733439e+00 -4.763986296289299e+00 + -4.767599409584012e+00 -4.771217270615820e+00 -4.774839880987831e+00 -4.778467242836293e+00 -4.782099364825118e+00 + -4.785736255481164e+00 -4.789377916255392e+00 -4.793024348603915e+00 -4.796675561079348e+00 -4.800331562360717e+00 + -4.803992354536202e+00 -4.807657939173200e+00 -4.811328322346788e+00 -4.815003511262576e+00 -4.818683513140625e+00 + -4.822368334073276e+00 -4.826057975627521e+00 -4.829752439872078e+00 -4.833451735407881e+00 -4.837155870922971e+00 + -4.840864848921632e+00 -4.844578671297884e+00 -4.848297343688468e+00 -4.852020872870312e+00 -4.855749266438375e+00 + -4.859482530948563e+00 -4.863220667982479e+00 -4.866963679596293e+00 -4.870711574718753e+00 -4.874464362148352e+00 + -4.878222043289993e+00 -4.881984619584831e+00 -4.885752100012597e+00 -4.889524493673498e+00 -4.893301802611106e+00 + -4.897084028340568e+00 -4.900871177319985e+00 -4.904663257144151e+00 -4.908460275011687e+00 -4.912262236942902e+00 + -4.916069144641015e+00 -4.919881000415621e+00 -4.923697813318887e+00 -4.927519592402767e+00 -4.931346339975771e+00 + -4.935178057730553e+00 -4.939014751639765e+00 -4.942856428895341e+00 -4.946703097286389e+00 -4.950554763469543e+00 + -4.954411428974413e+00 -4.958273095882141e+00 -4.962139773607051e+00 -4.966011471374763e+00 -4.969888190322918e+00 + -4.973769931656962e+00 -4.977656704941523e+00 -4.981548519919207e+00 -4.985445378685372e+00 -4.989347282670139e+00 + -4.993254238289898e+00 -4.997166253181426e+00 -5.001083334876794e+00 -5.005005489750602e+00 -5.008932719652265e+00 + -5.012865027026571e+00 -5.016802421224969e+00 -5.020744911403345e+00 -5.024692499028711e+00 -5.028645185619313e+00 + -5.032602980587180e+00 -5.036565893470627e+00 -5.040533926419334e+00 -5.044507081015939e+00 -5.048485363963517e+00 + -5.052468783200935e+00 -5.056457346489804e+00 -5.060451060330298e+00 -5.064449926354071e+00 -5.068453946757710e+00 + -5.072463130865962e+00 -5.076477488052552e+00 -5.080497020758939e+00 -5.084521730904982e+00 -5.088551625256381e+00 + -5.092586711696772e+00 -5.096626997735727e+00 -5.100672489712744e+00 -5.104723189661156e+00 -5.108779100266077e+00 + -5.112840231125939e+00 -5.116906591587866e+00 -5.120978183080382e+00 -5.125055007124604e+00 -5.129137073530554e+00 + -5.133224392250169e+00 -5.137316965514153e+00 -5.141414794882011e+00 -5.145517886949661e+00 -5.149626249667421e+00 + -5.153739891366810e+00 -5.157858819095347e+00 -5.161983034383363e+00 -5.166112539324860e+00 -5.170247343785729e+00 + -5.174387457616170e+00 -5.178532882831751e+00 -5.182683620936045e+00 -5.186839679219287e+00 -5.191001066208124e+00 + -5.195167789588259e+00 -5.199339855740569e+00 -5.203517266667578e+00 -5.207700025095241e+00 -5.211888141021600e+00 + -5.216081624199723e+00 -5.220280476130696e+00 -5.224484698310884e+00 -5.228694300469721e+00 -5.232909292611727e+00 + -5.237129677608738e+00 -5.241355457600706e+00 -5.245586638932716e+00 -5.249823229255573e+00 -5.254065237237846e+00 + -5.258312670369801e+00 -5.262565530410686e+00 -5.266823819583928e+00 -5.271087547700648e+00 -5.275356724632263e+00 + -5.279631352903723e+00 -5.283911434448228e+00 -5.288196976178466e+00 -5.292487986327965e+00 -5.296784473434150e+00 + -5.301086444698075e+00 -5.305393901671405e+00 -5.309706846569482e+00 -5.314025289911748e+00 -5.318349242027271e+00 + -5.322678704179561e+00 -5.327013677718438e+00 -5.331354173404511e+00 -5.335700202105029e+00 -5.340051765703035e+00 + -5.344408865432155e+00 -5.348771508912536e+00 -5.353139705124518e+00 -5.357513462102698e+00 -5.361892786505948e+00 + -5.366277680435933e+00 -5.370668146715638e+00 -5.375064195610523e+00 -5.379465837274747e+00 -5.383873073974794e+00 + -5.388285907439377e+00 -5.392704345133761e+00 -5.397128395890300e+00 -5.401558068273167e+00 -5.405993369375257e+00 + -5.410434300672517e+00 -5.414880864443758e+00 -5.419333071796174e+00 -5.423790933634701e+00 -5.428254451226888e+00 + -5.432723625834648e+00 -5.437198468334746e+00 -5.441678989715544e+00 -5.446165191796978e+00 -5.450657075821366e+00 + -5.455154649888983e+00 -5.459657923508107e+00 -5.464166904961132e+00 -5.468681600997277e+00 -5.473202013458992e+00 + -5.477728145011161e+00 -5.482260006515158e+00 -5.486797608759512e+00 -5.491340954044872e+00 -5.495890044003880e+00 + -5.500444886085005e+00 -5.505005489175888e+00 -5.509571862105057e+00 -5.514144012303452e+00 -5.518721941670775e+00 + -5.523305652810777e+00 -5.527895156674663e+00 -5.532490463993778e+00 -5.537091576272570e+00 -5.541698495053784e+00 + -5.546311231260242e+00 -5.550929796018560e+00 -5.555554191890502e+00 -5.560184420697174e+00 -5.564820489861896e+00 + -5.569462408240030e+00 -5.574110184812914e+00 -5.578763827204064e+00 -5.583423337479740e+00 -5.588088718319627e+00 + -5.592759980414353e+00 -5.597437134453794e+00 -5.602120183113874e+00 -5.606809128447821e+00 -5.611503978032022e+00 + -5.616204740842362e+00 -5.620911425929568e+00 -5.625624040919794e+00 -5.630342587666039e+00 -5.635067068763208e+00 + -5.639797495546991e+00 -5.644533879170592e+00 -5.649276221316504e+00 -5.654024523642824e+00 -5.658778797180806e+00 + -5.663539053129186e+00 -5.668305293983524e+00 -5.673077521581335e+00 -5.677855743831122e+00 -5.682639970117403e+00 + -5.687430209657800e+00 -5.692226470164904e+00 -5.697028753498052e+00 -5.701837062188433e+00 -5.706651407307890e+00 + -5.711471800003379e+00 -5.716298243181697e+00 -5.721130739014699e+00 -5.725969294974640e+00 -5.730813920019088e+00 + -5.735664623746429e+00 -5.740521414337008e+00 -5.745384293658165e+00 -5.750253264219532e+00 -5.755128337412918e+00 + -5.760009524502356e+00 -5.764896827358567e+00 -5.769790247833362e+00 -5.774689797096235e+00 -5.779595486532854e+00 + -5.784507319075965e+00 -5.789425296924678e+00 -5.794349427796488e+00 -5.799279720850703e+00 -5.804216185495535e+00 + -5.809158829710795e+00 -5.814107655513784e+00 -5.819062665706917e+00 -5.824023872195552e+00 -5.828991286593848e+00 + -5.833964910248241e+00 -5.838944744496904e+00 -5.843930800912663e+00 -5.848923091405570e+00 -5.853921618999967e+00 + -5.858926385866531e+00 -5.863937399646989e+00 -5.868954669511408e+00 -5.873978205272220e+00 -5.879008015280387e+00 + -5.884044101398642e+00 -5.889086466127434e+00 -5.894135121006329e+00 -5.899190077679159e+00 -5.904251339167730e+00 + -5.909318907675908e+00 -5.914392790757818e+00 -5.919472997569684e+00 -5.924559538325873e+00 -5.929652421747786e+00 + -5.934751649526802e+00 -5.939857223994977e+00 -5.944969157077114e+00 -5.950087460588470e+00 -5.955212136313389e+00 + -5.960343186070434e+00 -5.965480621845905e+00 -5.970624455737114e+00 -5.975774690117698e+00 -5.980931326619691e+00 + -5.986094373632355e+00 -5.991263841186835e+00 -5.996439739124646e+00 -6.001622075628632e+00 -6.006810852436582e+00 + -6.012006072105073e+00 -6.017207746910874e+00 -6.022415889122929e+00 -6.027630501258702e+00 -6.032851585034692e+00 + -6.038079148714933e+00 -6.043313202169935e+00 -6.048553755148549e+00 -6.053800815867540e+00 -6.059054386536941e+00 + -6.064314470164098e+00 -6.069581078952353e+00 -6.074854224823474e+00 -6.080133909377011e+00 -6.085420134277816e+00 + -6.090712911774160e+00 -6.096012254273324e+00 -6.101318164235261e+00 -6.106630643404864e+00 -6.111949700614082e+00 + -6.117275346267099e+00 -6.122607589969956e+00 -6.127946439669295e+00 -6.133291897472249e+00 -6.138643966380033e+00 + -6.144002658809652e+00 -6.149367987035877e+00 -6.154739953348771e+00 -6.160118559324411e+00 -6.165503813667637e+00 + -6.170895726810269e+00 -6.176294308963303e+00 -6.181699568610070e+00 -6.187111507544039e+00 -6.192530128394146e+00 + -6.197955443821025e+00 -6.203387466288188e+00 -6.208826197438971e+00 -6.214271638855750e+00 -6.219723802697215e+00 + -6.225182701452046e+00 -6.230648338352550e+00 -6.236120715733020e+00 -6.241599841591995e+00 -6.247085725644578e+00 + -6.252578378807894e+00 -6.258077810320607e+00 -6.263584021505486e+00 -6.269097014385768e+00 -6.274616801702433e+00 + -6.280143396389799e+00 -6.285676801437800e+00 -6.291217018848358e+00 -6.296764056615736e+00 -6.302317924554712e+00 + -6.307878633769864e+00 -6.313446193664602e+00 -6.319020605547922e+00 -6.324601871487839e+00 -6.330190004682891e+00 + -6.335785018206249e+00 -6.341386913499118e+00 -6.346995691980793e+00 -6.352611366614864e+00 -6.358233950592316e+00 + -6.363863446469443e+00 -6.369499855900457e+00 -6.375143187565898e+00 -6.380793451939097e+00 -6.386450659638202e+00 + -6.392114819555641e+00 -6.397785933536126e+00 -6.403464004233896e+00 -6.409149044588990e+00 -6.414841067513965e+00 + -6.420540075525660e+00 -6.426246070301758e+00 -6.431959060559017e+00 -6.437679056917068e+00 -6.443406070567963e+00 + -6.449140110779302e+00 -6.454881178548420e+00 -6.460629275812415e+00 -6.466384416537711e+00 -6.472146614484319e+00 + -6.477915870557313e+00 -6.483692185657911e+00 -6.489475573526882e+00 -6.495266048141532e+00 -6.501063611585819e+00 + -6.506868264986595e+00 -6.512680017535606e+00 -6.518498880384615e+00 -6.524324864460620e+00 -6.530157978732819e+00 + -6.535998224564008e+00 -6.541845604255500e+00 -6.547700131469085e+00 -6.553561819849423e+00 -6.559430671612207e+00 + -6.565306688088189e+00 -6.571189878497283e+00 -6.577080253965905e+00 -6.582977825357318e+00 -6.588882601649868e+00 + -6.594794584545345e+00 -6.600713776640095e+00 -6.606640191385222e+00 -6.612573842086468e+00 -6.618514730613387e+00 + -6.624462858757332e+00 -6.630418239433046e+00 -6.636380885778538e+00 -6.642350800701542e+00 -6.648327986279747e+00 + -6.654312451500913e+00 -6.660304207148021e+00 -6.666303264274883e+00 -6.672309632144893e+00 -6.678323312588955e+00 + -6.684344308236361e+00 -6.690372632342481e+00 -6.696408298209058e+00 -6.702451308697293e+00 -6.708501665794167e+00 + -6.714559378430309e+00 -6.720624457416141e+00 -6.726696914137652e+00 -6.732776758078630e+00 -6.738863990538500e+00 + -6.744958613795213e+00 -6.751060642225177e+00 -6.757170089911689e+00 -6.763286957667176e+00 -6.769411246357500e+00 + -6.775542970333119e+00 -6.781682144164359e+00 -6.787828769816468e+00 -6.793982848306231e+00 -6.800144389461610e+00 + -6.806313405086916e+00 -6.812489906080716e+00 -6.818673901333698e+00 -6.824865392610781e+00 -6.831064382650163e+00 + -6.837270885208925e+00 -6.843484914029985e+00 -6.849706471780753e+00 -6.855935560196301e+00 -6.862172188357874e+00 + -6.868416367348060e+00 -6.874668108908677e+00 -6.880927422841348e+00 -6.887194310527692e+00 -6.893468774218006e+00 + -6.899750828057308e+00 -6.906040486046904e+00 -6.912337749718504e+00 -6.918642620544160e+00 -6.924955112226868e+00 + -6.931275238742860e+00 -6.937603002930438e+00 -6.943938406703657e+00 -6.950281459417487e+00 -6.956632172330878e+00 + -6.962990556877839e+00 -6.969356622516854e+00 -6.975730370629293e+00 -6.982111803620415e+00 -6.988500936068168e+00 + -6.994897782349220e+00 -7.001302343862422e+00 -7.007714621896787e+00 -7.014134630279748e+00 -7.020562383120512e+00 + -7.026997883116998e+00 -7.033441132058707e+00 -7.039892139512705e+00 -7.046350916975187e+00 -7.052817475881351e+00 + -7.059291825658977e+00 -7.065773967767182e+00 -7.072263904706783e+00 -7.078761651114045e+00 -7.085267221537997e+00 + -7.091780618043302e+00 -7.098301841735545e+00 -7.104830902368316e+00 -7.111367811800725e+00 -7.117912581665987e+00 + -7.124465221496127e+00 -7.131025732644298e+00 -7.137594117517873e+00 -7.144170390919956e+00 -7.150754567380619e+00 + -7.157346647942116e+00 -7.163946633668109e+00 -7.170554539195697e+00 -7.177170379365883e+00 -7.183794156261903e+00 + -7.190425870988396e+00 -7.197065533493338e+00 -7.203713155838439e+00 -7.210368749697043e+00 -7.217032324589560e+00 + -7.223703881813015e+00 -7.230383423705708e+00 -7.237070964994412e+00 -7.243766520390449e+00 -7.250470092154861e+00 + -7.257181681552523e+00 -7.263901298313877e+00 -7.270628954301988e+00 -7.277364661444877e+00 -7.284108429522252e+00 + -7.290860259655573e+00 -7.297620154032538e+00 -7.304388127764033e+00 -7.311164195737019e+00 -7.317948359019635e+00 + -7.324740618617562e+00 -7.331540989105481e+00 -7.338349485298712e+00 -7.345166109406192e+00 -7.351990862719772e+00 + -7.358823755469352e+00 -7.365664799915581e+00 -7.372514007504119e+00 -7.379371387574386e+00 -7.386236941855793e+00 + -7.393110673113762e+00 -7.399992595867711e+00 -7.406882724521767e+00 -7.413781061264927e+00 -7.420687607444220e+00 + -7.427602373253923e+00 -7.434525370953283e+00 -7.441456612214240e+00 -7.448396106579596e+00 -7.455343855662903e+00 + -7.462299862106879e+00 -7.469264140600134e+00 -7.476236705537742e+00 -7.483217558094771e+00 -7.490206699573982e+00 + -7.497204145008848e+00 -7.504209909607961e+00 -7.511223995549668e+00 -7.518246403916826e+00 -7.525277144440522e+00 + -7.532316229110418e+00 -7.539363670302306e+00 -7.546419478207750e+00 -7.553483653895294e+00 -7.560556199398457e+00 + -7.567637129733686e+00 -7.574726459966183e+00 -7.581824192373288e+00 -7.588930328179804e+00 -7.596044877188221e+00 + -7.603167851392376e+00 -7.610299262973792e+00 -7.617439121971403e+00 -7.624587429666054e+00 -7.631744188388593e+00 + -7.638909413427992e+00 -7.646083119762239e+00 -7.653265308167305e+00 -7.660455979470388e+00 -7.667655148905554e+00 + -7.674862831955687e+00 -7.682079030692125e+00 -7.689303746121935e+00 -7.696536988406601e+00 -7.703778769965018e+00 + -7.711029103091334e+00 -7.718287997777487e+00 -7.725555454931286e+00 -7.732831476489904e+00 -7.740116077592081e+00 + -7.747409273463959e+00 -7.754711066479733e+00 -7.762021457991705e+00 -7.769340458116517e+00 -7.776668079072852e+00 + -7.784004332723263e+00 -7.791349228774319e+00 -7.798702768664788e+00 -7.806064954991001e+00 -7.813435803247359e+00 + -7.820815328504128e+00 -7.828203531237023e+00 -7.835600412067597e+00 -7.843005986795347e+00 -7.850420271453628e+00 + -7.857843267833355e+00 -7.865274976500961e+00 -7.872715407367362e+00 -7.880164572827870e+00 -7.887622485870939e+00 + -7.895089157097287e+00 -7.902564586963549e+00 -7.910048776908389e+00 -7.917541742442640e+00 -7.925043499243823e+00 + -7.932554049584044e+00 -7.940073394568305e+00 -7.947601544038569e+00 -7.955138510136092e+00 -7.962684305462377e+00 + -7.970238940357911e+00 -7.977802415658878e+00 -7.985374733292938e+00 -7.992955909057959e+00 -8.000545958501995e+00 + -8.008144882303682e+00 -8.015752681155906e+00 -8.023369370677967e+00 -8.030994966700497e+00 -8.038629470973136e+00 + -8.046272884117311e+00 -8.053925216322545e+00 -8.061586480220186e+00 -8.069256688640843e+00 -8.076935852017314e+00 + -8.084623970991846e+00 -8.092321047230506e+00 -8.100027096285098e+00 -8.107742133772728e+00 -8.115466161685978e+00 + -8.123199180963685e+00 -8.130941201954130e+00 -8.138692237272345e+00 -8.146452299190864e+00 -8.154221397655556e+00 + -8.161999533648068e+00 -8.169786709369063e+00 -8.177582940859525e+00 -8.185388243772254e+00 -8.193202618367051e+00 + -8.201026064968486e+00 -8.208858599553158e+00 -8.216700238370747e+00 -8.224550983111227e+00 -8.232410834288519e+00 + -8.240279802271914e+00 -8.248157899820946e+00 -8.256045139400785e+00 -8.263941531127587e+00 -8.271847076015916e+00 + -8.279761776165609e+00 -8.287685647119202e+00 -8.295618704371698e+00 -8.303560949785306e+00 -8.311512384182917e+00 + -8.319473017862927e+00 -8.327442863513763e+00 -8.335421933908444e+00 -8.343410239406900e+00 -8.351407780632112e+00 + -8.359414559352070e+00 -8.367430591651793e+00 -8.375455893292965e+00 -8.383490464426892e+00 -8.391534305333888e+00 + -8.399587432420665e+00 -8.407649862295598e+00 -8.415721596247392e+00 -8.423802634359653e+00 -8.431892987215194e+00 + -8.439992667917126e+00 -8.448101689150496e+00 -8.456220061058572e+00 -8.464347784035521e+00 -8.472484859778373e+00 + -8.480631304944675e+00 -8.488787135775029e+00 -8.496952351881781e+00 -8.505126952972617e+00 -8.513310955764712e+00 + -8.521504377280520e+00 -8.529707218754108e+00 -8.537919480083488e+00 -8.546141171610756e+00 -8.554372306334406e+00 + -8.562612897434500e+00 -8.570862955488629e+00 -8.579122480482935e+00 -8.587391473585072e+00 -8.595669951280222e+00 + -8.603957930092136e+00 -8.612255411381385e+00 -8.620562395277888e+00 -8.628878892152137e+00 -8.637204914976417e+00 + -8.645540476889700e+00 -8.653885588365707e+00 -8.662240249050400e+00 -8.670604460002718e+00 -8.678978238761259e+00 + -8.687361602440037e+00 -8.695754549975142e+00 -8.704157080317993e+00 -8.712569210659231e+00 -8.720990958572770e+00 + -8.729422324926496e+00 -8.737863309144757e+00 -8.746313921583734e+00 -8.754774175423437e+00 -8.763244084207386e+00 + -8.771723658743657e+00 -8.780212898534927e+00 -8.788711804325507e+00 -8.797220393131562e+00 -8.805738681960509e+00 + -8.814266671512945e+00 -8.822804361262596e+00 -8.831351762082482e+00 -8.839908887544672e+00 -8.848475750618142e+00 + -8.857052361519681e+00 -8.865638720060298e+00 -8.874234827408518e+00 -8.882840700568694e+00 -8.891456356239988e+00 + -8.900081794065120e+00 -8.908717013654563e+00 -8.917362031546196e+00 -8.926016864607513e+00 -8.934681514097109e+00 + -8.943355979966887e+00 -8.952040272550780e+00 -8.960734404827180e+00 -8.969438389970174e+00 -8.978152238557112e+00 + -8.986875950582608e+00 -8.995609527224275e+00 -9.004352984974421e+00 -9.013106340348738e+00 -9.021869594641789e+00 + -9.030642747850949e+00 -9.039425810005964e+00 -9.048218793898496e+00 -9.057021713335553e+00 -9.065834579375275e+00 + -9.074657391064932e+00 -9.083490148798390e+00 -9.092332870366718e+00 -9.101185573233034e+00 -9.110048256151465e+00 + -9.118920917820537e+00 -9.127803575425368e+00 -9.136696246597257e+00 -9.145598932265708e+00 -9.154511631860180e+00 + -9.163434355511646e+00 -9.172367116215408e+00 -9.181309927722621e+00 -9.190262801063124e+00 -9.199225735625708e+00 + -9.208198731948572e+00 -9.217181806808554e+00 -9.226174977077383e+00 -9.235178243767663e+00 -9.244191606592038e+00 + -9.253215075922315e+00 -9.262248664894432e+00 -9.271292387041701e+00 -9.280346253080740e+00 -9.289410262064051e+00 + -9.298484414471314e+00 -9.307568728155069e+00 -9.316663220573421e+00 -9.325767890233902e+00 -9.334882735648362e+00 + -9.344007774296474e+00 -9.353143024056331e+00 -9.362288485431986e+00 -9.371444157433135e+00 -9.380610050466057e+00 + -9.389786177888119e+00 -9.398972553464475e+00 -9.408169188076664e+00 -9.417376080663951e+00 -9.426593231436920e+00 + -9.435820657633688e+00 -9.445058376575700e+00 -9.454306388890288e+00 -9.463564693828612e+00 -9.472833301831271e+00 + -9.482112226230582e+00 -9.491401480736307e+00 -9.500701076124317e+00 -9.510011011057383e+00 -9.519331285649606e+00 + -9.528661917933491e+00 -9.538002925632075e+00 -9.547354307312132e+00 -9.556716061430350e+00 -9.566088205159264e+00 + -9.575470756067922e+00 -9.584863714595665e+00 -9.594267079809105e+00 -9.603680862413734e+00 -9.613105076017005e+00 + -9.622539734195460e+00 -9.631984847535897e+00 -9.641440414697058e+00 -9.650906435763309e+00 -9.660382928449559e+00 + -9.669869910482992e+00 -9.679367382009378e+00 -9.688875341677877e+00 -9.698393799732578e+00 -9.707922769547205e+00 + -9.717462265419133e+00 -9.727012298576232e+00 -9.736572867044643e+00 -9.746143970285512e+00 -9.755725626701739e+00 + -9.765317854403191e+00 -9.774920651385886e+00 -9.784534015610914e+00 -9.794157965013451e+00 -9.803792517858509e+00 + -9.813437673756464e+00 -9.823093430886084e+00 -9.832759800354408e+00 -9.842436796281985e+00 -9.852124431915341e+00 + -9.861822717446652e+00 -9.871531651724764e+00 -9.881251235098006e+00 -9.890981485255914e+00 -9.900722419735771e+00 + -9.910474038124631e+00 -9.920236338721825e+00 -9.930009332625946e+00 -9.939793033953066e+00 -9.949587456089942e+00 + -9.959392609292857e+00 -9.969208492025555e+00 -9.979035104343238e+00 -9.988872464459540e+00 -9.998720590171930e+00 + -1.000857947945488e+01 -1.001844913033355e+01 -1.002832956085879e+01 -1.003822078906736e+01 -1.004812281291406e+01 + -1.005803562971182e+01 -1.006795925428782e+01 -1.007789370360111e+01 -1.008783898562387e+01 -1.009779510571246e+01 + -1.010776206774677e+01 -1.011773987740720e+01 -1.012772854905251e+01 -1.013772809631413e+01 -1.014773852123577e+01 + -1.015775982444731e+01 -1.016779201251112e+01 -1.017783509576905e+01 -1.018788909374848e+01 -1.019795402262726e+01 + -1.020802987599985e+01 -1.021811664796306e+01 -1.022821435720666e+01 -1.023832302389762e+01 -1.024844264951883e+01 + -1.025857323411911e+01 -1.026871479069502e+01 -1.027886733277511e+01 -1.028903086306819e+01 -1.029920538356622e+01 + -1.030939090421369e+01 -1.031958743714735e+01 -1.032979499532081e+01 -1.034001358910991e+01 -1.035024321776280e+01 + -1.036048388191000e+01 -1.037073559883907e+01 -1.038099838556339e+01 -1.039127224134250e+01 -1.040155716512729e+01 + -1.041185317238784e+01 -1.042216027887615e+01 -1.043247848495290e+01 -1.044280779013644e+01 -1.045314820596725e+01 + -1.046349974688984e+01 -1.047386242694284e+01 -1.048423625623699e+01 -1.049462122957744e+01 -1.050501734396915e+01 + -1.051542462052187e+01 -1.052584308069211e+01 -1.053627272321853e+01 -1.054671354447971e+01 -1.055716555413174e+01 + -1.056762876571201e+01 -1.057810319500591e+01 -1.058858885406686e+01 -1.059908573777257e+01 -1.060959384260205e+01 + -1.062011318861535e+01 -1.063064379594653e+01 -1.064118566144451e+01 -1.065173878128750e+01 -1.066230317225584e+01 + -1.067287885251234e+01 -1.068346582514766e+01 -1.069406409086973e+01 -1.070467365592747e+01 -1.071529452946521e+01 + -1.072592672666786e+01 -1.073657026057826e+01 -1.074722512963040e+01 -1.075789133336255e+01 -1.076856889033910e+01 + -1.077925781838790e+01 -1.078995811336476e+01 -1.080066977044343e+01 -1.081139280404170e+01 -1.082212723175914e+01 + -1.083287306467895e+01 -1.084363031023443e+01 -1.085439896777578e+01 -1.086517903841335e+01 -1.087597053838113e+01 + -1.088677348334085e+01 -1.089758787154147e+01 -1.090841370173705e+01 -1.091925099211483e+01 -1.093009976068779e+01 + -1.094096000533889e+01 -1.095183172286895e+01 -1.096271492588021e+01 -1.097360962990334e+01 -1.098451584638146e+01 + -1.099543358339704e+01 -1.100636283967740e+01 -1.101730361593110e+01 -1.102825593014644e+01 -1.103921979985815e+01 + -1.105019522350652e+01 -1.106118219809120e+01 -1.107218073394329e+01 -1.108319084475604e+01 -1.109421254433972e+01 + -1.110524584310812e+01 -1.111629073777213e+01 -1.112734722664297e+01 -1.113841532813614e+01 -1.114949506055284e+01 + -1.116058642163307e+01 -1.117168940919924e+01 -1.118280404196459e+01 -1.119393033845125e+01 -1.120506829552628e+01 + -1.121621790821428e+01 -1.122737918582522e+01 -1.123855214233318e+01 -1.124973679608346e+01 -1.126093316109601e+01 + -1.127214122971816e+01 -1.128336099568353e+01 -1.129459247994368e+01 -1.130583570391351e+01 -1.131709066364352e+01 + -1.132835735316995e+01 -1.133963578383626e+01 -1.135092597165251e+01 -1.136222793398803e+01 -1.137354168289046e+01 + -1.138486720776133e+01 -1.139620450077960e+01 -1.140755358788016e+01 -1.141891449467379e+01 -1.143028721171902e+01 + -1.144167172931863e+01 -1.145306807180483e+01 -1.146447626363145e+01 -1.147589629570943e+01 -1.148732815744427e+01 + -1.149877186576219e+01 -1.151022744176966e+01 -1.152169489577362e+01 -1.153317423307527e+01 -1.154466544975234e+01 + -1.155616854500299e+01 -1.156768353973055e+01 -1.157921045411968e+01 -1.159074928377541e+01 -1.160230002278200e+01 + -1.161386268372032e+01 -1.162543728297182e+01 -1.163702383362365e+01 -1.164862234413445e+01 -1.166023280774309e+01 + -1.167185522083641e+01 -1.168348960761297e+01 -1.169513599109641e+01 -1.170679436179895e+01 -1.171846471050954e+01 + -1.173014706163534e+01 -1.174184143967664e+01 -1.175354783588804e+01 -1.176526623959987e+01 -1.177699666569085e+01 + -1.178873913359907e+01 -1.180049365545172e+01 -1.181226023874721e+01 -1.182403887977966e+01 -1.183582957710202e+01 + -1.184763234950681e+01 -1.185944721571250e+01 -1.187127417390187e+01 -1.188311322026980e+01 -1.189496436359524e+01 + -1.190682761635663e+01 -1.191870299324639e+01 -1.193059050542573e+01 -1.194249014771712e+01 -1.195440191732676e+01 + -1.196632583733436e+01 -1.197826192918009e+01 -1.199021018187259e+01 -1.200217058481946e+01 -1.201414316145583e+01 + -1.202612793653577e+01 -1.203812490606177e+01 -1.205013406283600e+01 -1.206215541561094e+01 -1.207418897775090e+01 + -1.208623476511758e+01 -1.209829279023755e+01 -1.211036304979982e+01 -1.212244554104682e+01 -1.213454027927224e+01 + -1.214664728029985e+01 -1.215876654402256e+01 -1.217089806888390e+01 -1.218304186346073e+01 -1.219519793969503e+01 + -1.220736631285608e+01 -1.221954699446002e+01 -1.223173997768314e+01 -1.224394525782826e+01 -1.225616285704409e+01 + -1.226839279716718e+01 -1.228063507193962e+01 -1.229288967419984e+01 -1.230515662126608e+01 -1.231743593190913e+01 + -1.232972760623024e+01 -1.234203164189830e+01 -1.235434804552219e+01 -1.236667682754052e+01 -1.237901800477097e+01 + -1.239137159078778e+01 -1.240373757981251e+01 -1.241611596680448e+01 -1.242850676902663e+01 -1.244091000477032e+01 + -1.245332567413717e+01 -1.246575377485128e+01 -1.247819431331654e+01 -1.249064729993889e+01 -1.250311275245252e+01 + -1.251559068470151e+01 -1.252808108764087e+01 -1.254058395403090e+01 -1.255309930674196e+01 -1.256562716858205e+01 + -1.257816753199971e+01 -1.259072038911156e+01 -1.260328576106586e+01 -1.261586366917709e+01 -1.262845410639316e+01 + -1.264105706405277e+01 -1.265367255542431e+01 -1.266630059802175e+01 -1.267894120441173e+01 -1.269159438291520e+01 + -1.270426012981745e+01 -1.271693844300063e+01 -1.272962933876972e+01 -1.274233283335257e+01 -1.275504892424538e+01 + -1.276777760888006e+01 -1.278051890316245e+01 -1.279327282335948e+01 -1.280603936870822e+01 -1.281881853703964e+01 + -1.283161033759003e+01 -1.284441478278821e+01 -1.285723188642777e+01 -1.287006165845383e+01 -1.288290409205257e+01 + -1.289575918258311e+01 -1.290862695085492e+01 -1.292150741744502e+01 -1.293440057655018e+01 -1.294730642109768e+01 + -1.296022496531707e+01 -1.297315622664438e+01 -1.298610021403966e+01 -1.299905693252094e+01 -1.301202637981436e+01 + -1.302500855607946e+01 -1.303800347850134e+01 -1.305101116311717e+01 -1.306403160434687e+01 -1.307706479749205e+01 + -1.309011076299821e+01 -1.310316952145874e+01 -1.311624106891474e+01 -1.312932539865738e+01 -1.314242251753035e+01 + -1.315553243732881e+01 -1.316865517610136e+01 -1.318179074759510e+01 -1.319493914209791e+01 -1.320810035188408e+01 + -1.322127440063306e+01 -1.323446131182036e+01 -1.324766107670098e+01 -1.326087368408213e+01 -1.327409914520021e+01 + -1.328733747660298e+01 -1.330058869365459e+01 -1.331385280702646e+01 -1.332712980980294e+01 -1.334041969690924e+01 + -1.335372248822127e+01 -1.336703820316815e+01 -1.338036683444133e+01 -1.339370837465144e+01 -1.340706284282357e+01 + -1.342043025877972e+01 -1.343381061911550e+01 -1.344720391854233e+01 -1.346061016746156e+01 -1.347402937953320e+01 + -1.348746156576247e+01 -1.350090673400032e+01 -1.351436488213541e+01 -1.352783600940468e+01 -1.354132013040003e+01 + -1.355481725974633e+01 -1.356832739684519e+01 -1.358185053959114e+01 -1.359538669507347e+01 -1.360893587411229e+01 + -1.362249809325635e+01 -1.363607336498644e+01 -1.364966167978290e+01 -1.366326303005515e+01 -1.367687743792930e+01 + -1.369050492543861e+01 -1.370414548452841e+01 -1.371779910680898e+01 -1.373146581263829e+01 -1.374514562258463e+01 + -1.375883852931014e+01 -1.377254452369323e+01 -1.378626361738342e+01 -1.379999582664259e+01 -1.381374116541099e+01 + -1.382749964295472e+01 -1.384127125216480e+01 -1.385505598801133e+01 -1.386885387015567e+01 -1.388266491822051e+01 + -1.389648912698253e+01 -1.391032648926665e+01 -1.392417701493663e+01 -1.393804071810552e+01 -1.395191761284479e+01 + -1.396580770902492e+01 -1.397971099975399e+01 -1.399362747983656e+01 -1.400755716762526e+01 -1.402150008127576e+01 + -1.403545621460787e+01 -1.404942556175519e+01 -1.406340814244217e+01 -1.407740397661280e+01 -1.409141305949836e+01 + -1.410543538386059e+01 -1.411947095729565e+01 -1.413351979216372e+01 -1.414758190504674e+01 -1.416165730817942e+01 + -1.417574599218579e+01 -1.418984794931155e+01 -1.420396319989974e+01 -1.421809176459019e+01 -1.423223363711269e+01 + -1.424638880961032e+01 -1.426055729478944e+01 -1.427473910897708e+01 -1.428893426241975e+01 -1.430314276106135e+01 + -1.431736459971596e+01 -1.433159977568000e+01 -1.434584830730895e+01 -1.436011021230267e+01 -1.437438548467938e+01 + -1.438867411856965e+01 -1.440297613223502e+01 -1.441729154417122e+01 -1.443162034967981e+01 -1.444596254173529e+01 + -1.446031812719803e+01 -1.447468711827448e+01 -1.448906953466952e+01 -1.450346539077074e+01 -1.451787467219810e+01 + -1.453229736674074e+01 -1.454673349963205e+01 -1.456118309651608e+01 -1.457564614723534e+01 -1.459012263904241e+01 + -1.460461258463169e+01 -1.461911600163362e+01 -1.463363290198108e+01 -1.464816329304780e+01 -1.466270716966852e+01 + -1.467726452861927e+01 -1.469183538698022e+01 -1.470641976118071e+01 -1.472101764474266e+01 -1.473562903182180e+01 + -1.475025394201659e+01 -1.476489239431922e+01 -1.477954437985420e+01 -1.479420988900897e+01 -1.480888893709030e+01 + -1.482358154289730e+01 -1.483828771427918e+01 -1.485300745484606e+01 -1.486774076220148e+01 -1.488248763590571e+01 + -1.489724808935241e+01 -1.491202213620220e+01 -1.492680977735018e+01 -1.494161101188853e+01 -1.495642584446314e+01 + -1.497125428281713e+01 -1.498609634152866e+01 -1.500095203243959e+01 -1.501582134961145e+01 -1.503070428834008e+01 + -1.504560086663885e+01 -1.506051110171047e+01 -1.507543498479744e+01 -1.509037250787217e+01 -1.510532369178669e+01 + -1.512028855781273e+01 -1.513526710002122e+01 -1.515025931004586e+01 -1.516526519697226e+01 -1.518028477406786e+01 + -1.519531805387558e+01 -1.521036504514735e+01 -1.522542574219565e+01 -1.524050014105165e+01 -1.525558825906066e+01 + -1.527069011317451e+01 -1.528580569745696e+01 -1.530093500454836e+01 -1.531607804428359e+01 -1.533123483115148e+01 + -1.534640538106230e+01 -1.536158970459035e+01 -1.537678778954449e+01 -1.539199962605270e+01 -1.540722523628471e+01 + -1.542246464244602e+01 -1.543771783484346e+01 -1.545298480379291e+01 -1.546826557154514e+01 -1.548356016030771e+01 + -1.549886856018057e+01 -1.551419075889859e+01 -1.552952676684366e+01 -1.554487659991805e+01 -1.556024027345857e+01 + -1.557561779759322e+01 -1.559100916218038e+01 -1.560641435912106e+01 -1.562183340875659e+01 -1.563726633124305e+01 + -1.565271311755539e+01 -1.566817375858786e+01 -1.568364827409284e+01 -1.569913668435983e+01 -1.571463898296877e+01 + -1.573015516140282e+01 -1.574568522946743e+01 -1.576122920078429e+01 -1.577678708591764e+01 -1.579235889192325e+01 + -1.580794461488044e+01 -1.582354425266206e+01 -1.583915782129173e+01 -1.585478533595468e+01 -1.587042679033195e+01 + -1.588608217713541e+01 -1.590175150670428e+01 -1.591743479377280e+01 -1.593313205302798e+01 -1.594884329356461e+01 + -1.596456850215542e+01 -1.598030766876410e+01 -1.599606081844003e+01 -1.601182797567503e+01 -1.602760912764517e+01 + -1.604340426053651e+01 -1.605921339389068e+01 -1.607503654929621e+01 -1.609087372317365e+01 -1.610672490846679e+01 + -1.612259010938000e+01 -1.613846933535691e+01 -1.615436260553746e+01 -1.617026993400350e+01 -1.618619130490810e+01 + -1.620212670496088e+01 -1.621807616102629e+01 -1.623403970021593e+01 -1.625001731047507e+01 -1.626600897617460e+01 + -1.628201470655392e+01 -1.629803451699528e+01 -1.631406842258372e+01 -1.633011643368945e+01 -1.634617854212047e+01 + -1.636225474110459e+01 -1.637834504811086e+01 -1.639444948009596e+01 -1.641056802772599e+01 -1.642670068226715e+01 + -1.644284746367691e+01 -1.645900839255391e+01 -1.647518346337059e+01 -1.649137266740475e+01 -1.650757600928198e+01 + -1.652379349905581e+01 -1.654002515514406e+01 -1.655627099138395e+01 -1.657253099492616e+01 -1.658880515436409e+01 + -1.660509349074862e+01 -1.662139602569388e+01 -1.663771275060954e+01 -1.665404365442992e+01 -1.667038874639235e+01 + -1.668674804082613e+01 -1.670312155212567e+01 -1.671950928959044e+01 -1.673591124207530e+01 -1.675232740091000e+01 + -1.676875778776886e+01 -1.678520242381186e+01 -1.680166129779755e+01 -1.681813439803682e+01 -1.683462174345131e+01 + -1.685112335404732e+01 -1.686763922355921e+01 -1.688416934305047e+01 -1.690071371917313e+01 -1.691727236387981e+01 + -1.693384529473730e+01 -1.695043252373442e+01 -1.696703403493436e+01 -1.698364981519248e+01 -1.700027989045860e+01 + -1.701692428668450e+01 -1.703358299073511e+01 -1.705025598664567e+01 -1.706694328621936e+01 -1.708364490699094e+01 + -1.710036086165371e+01 -1.711709115711999e+01 -1.713383578201967e+01 -1.715059472804424e+01 -1.716736801741393e+01 + -1.718415567151382e+01 -1.720095767785962e+01 -1.721777402421613e+01 -1.723460473321376e+01 -1.725144982735173e+01 + -1.726830929373925e+01 -1.728518311723097e+01 -1.730207130905323e+01 -1.731897388644410e+01 -1.733589086431708e+01 + -1.735282225151622e+01 -1.736976803493245e+01 -1.738672820398455e+01 -1.740370278015603e+01 -1.742069178532102e+01 + -1.743769521085149e+01 -1.745471304524893e+01 -1.747174529603476e+01 -1.748879197614670e+01 -1.750585310116775e+01 + -1.752292868122209e+01 -1.754001870195336e+01 -1.755712315207324e+01 -1.757424205704595e+01 -1.759137544124289e+01 + -1.760852328791187e+01 -1.762568558032359e+01 -1.764286234296404e+01 -1.766005360135051e+01 -1.767725934391039e+01 + -1.769447955614261e+01 -1.771171424892207e+01 -1.772896343807829e+01 -1.774622713388326e+01 -1.776350534196338e+01 + -1.778079805492016e+01 -1.779810526797336e+01 -1.781542699984077e+01 -1.783276326793605e+01 -1.785011406095838e+01 + -1.786747936642481e+01 -1.788485919583838e+01 -1.790225356596892e+01 -1.791966249066770e+01 -1.793708597750879e+01 + -1.795452401187612e+01 -1.797197658287230e+01 -1.798944371666477e+01 -1.800692543788475e+01 -1.802442172795408e+01 + -1.804193256819016e+01 -1.805945798270200e+01 -1.807699799758296e+01 -1.809455260407236e+01 -1.811212178929598e+01 + -1.812970555877947e+01 -1.814730392419934e+01 -1.816491690343573e+01 -1.818254450889657e+01 -1.820018672489731e+01 + -1.821784353770839e+01 -1.823551496951270e+01 -1.825320104351004e+01 -1.827090175105552e+01 -1.828861707995103e+01 + -1.830634703563002e+01 -1.832409162961503e+01 -1.834185088015348e+01 -1.835962479982180e+01 -1.837741337178776e+01 + -1.839521658191638e+01 -1.841303445627024e+01 -1.843086702044687e+01 -1.844871425798603e+01 -1.846657615155986e+01 + -1.848445272242748e+01 -1.850234399331442e+01 -1.852024995422484e+01 -1.853817059263430e+01 -1.855610591862525e+01 + -1.857405594751762e+01 -1.859202069297440e+01 -1.861000016303027e+01 -1.862799434486363e+01 -1.864600322762024e+01 + -1.866402682917165e+01 -1.868206516860479e+01 -1.870011824114266e+01 -1.871818603889838e+01 -1.873626856540951e+01 + -1.875436582948875e+01 -1.877247784962497e+01 -1.879060463922456e+01 -1.880874618168810e+01 -1.882690246254704e+01 + -1.884507350586227e+01 -1.886325933574866e+01 -1.888145993800745e+01 -1.889967529731236e+01 -1.891790543214035e+01 + -1.893615036295555e+01 -1.895441008436764e+01 -1.897268458788422e+01 -1.899097387845919e+01 -1.900927796546465e+01 + -1.902759686249918e+01 -1.904593057916082e+01 -1.906427910481893e+01 -1.908264243109121e+01 -1.910102057881749e+01 + -1.911941356739387e+01 -1.913782138121961e+01 -1.915624400568942e+01 -1.917468146517671e+01 -1.919313378404767e+01 + -1.921160094766128e+01 -1.923008293912871e+01 -1.924857977157690e+01 -1.926709146357444e+01 -1.928561802544077e+01 + -1.930415946120927e+01 -1.932271575801813e+01 -1.934128690695999e+01 -1.935987293184044e+01 -1.937847385553680e+01 + -1.939708966450047e+01 -1.941572034241033e+01 -1.943436589828115e+01 -1.945302634705033e+01 -1.947170170200994e+01 + -1.949039197138318e+01 -1.950909714476303e+01 -1.952781721398065e+01 -1.954655219845012e+01 -1.956530211609402e+01 + -1.958406695128608e+01 -1.960284668959667e+01 -1.962164135493148e+01 -1.964045097168231e+01 -1.965927552785040e+01 + -1.967811500826448e+01 -1.969696942145404e+01 -1.971583878200212e+01 -1.973472310500559e+01 -1.975362239928199e+01 + -1.977253664801789e+01 -1.979146583743514e+01 -1.981040999152762e+01 -1.982936913462439e+01 -1.984834325462312e+01 + -1.986733233626431e+01 -1.988633638809098e+01 -1.990535542475069e+01 -1.992438946150660e+01 -1.994343850724086e+01 + -1.996250254469571e+01 -1.998158155988759e+01 -2.000067557806942e+01 -2.001978462401460e+01 -2.003890868134189e+01 + -2.005804773353269e+01 -2.007720180467363e+01 -2.009637091866160e+01 -2.011555505802958e+01 -2.013475420367532e+01 + -2.015396837131929e+01 -2.017319758216888e+01 -2.019244184455664e+01 -2.021170116029698e+01 -2.023097551800653e+01 + -2.025026491057744e+01 -2.026956936120177e+01 -2.028888889127859e+01 -2.030822348473533e+01 -2.032757312336421e+01 + -2.034693781788847e+01 -2.036631758558183e+01 -2.038571244098909e+01 -2.040512239225047e+01 -2.042454742461679e+01 + -2.044398752597867e+01 -2.046344271767523e+01 -2.048291302072143e+01 -2.050239842138679e+01 -2.052189890581644e+01 + -2.054141449440303e+01 -2.056094520839277e+01 -2.058049103819856e+01 -2.060005197091200e+01 -2.061962801117254e+01 + -2.063921916971323e+01 -2.065882546409381e+01 -2.067844690614864e+01 -2.069808347798381e+01 -2.071773516441981e+01 + -2.073740199086278e+01 -2.075708398272239e+01 -2.077678112483692e+01 -2.079649339928443e+01 -2.081622081767353e+01 + -2.083596339752241e+01 -2.085572115045732e+01 -2.087549408142252e+01 -2.089528217452614e+01 -2.091508541798258e+01 + -2.093490383726751e+01 -2.095473745703866e+01 -2.097458626142068e+01 -2.099445023367205e+01 -2.101432939411960e+01 + -2.103422376365449e+01 -2.105413332835716e+01 -2.107405807288499e+01 -2.109399801101360e+01 -2.111395316146354e+01 + -2.113392353361706e+01 -2.115390913036233e+01 -2.117390993794961e+01 -2.119392594678185e+01 -2.121395718051052e+01 + -2.123400366165125e+01 -2.125406537492771e+01 -2.127414230292253e+01 -2.129423445744600e+01 -2.131434185603574e+01 + -2.133446450991120e+01 -2.135460242400538e+01 -2.137475558442359e+01 -2.139492398094176e+01 -2.141510763684612e+01 + -2.143530657354728e+01 -2.145552077144329e+01 -2.147575021223202e+01 -2.149599492382317e+01 -2.151625493458459e+01 + -2.153653022850520e+01 -2.155682078515937e+01 -2.157712661084235e+01 -2.159744772002078e+01 -2.161778413312624e+01 + -2.163813586321833e+01 -2.165850288790379e+01 -2.167888518769065e+01 -2.169928279014487e+01 -2.171969572392566e+01 + -2.174012397500749e+01 -2.176056752455845e+01 -2.178102637720577e+01 -2.180150054539059e+01 -2.182199004935065e+01 + -2.184249490264348e+01 -2.186301508430896e+01 -2.188355057625899e+01 -2.190410140641098e+01 -2.192466760199104e+01 + -2.194524914145450e+01 -2.196584600311797e+01 -2.198645821351363e+01 -2.200708580045210e+01 -2.202772874864248e+01 + -2.204838703903658e+01 -2.206906068065864e+01 -2.208974968965916e+01 -2.211045408262128e+01 -2.213117386881762e+01 + -2.215190902784613e+01 -2.217265954271720e+01 -2.219342543976576e+01 -2.221420674565993e+01 -2.223500344507609e+01 + -2.225581551916326e+01 -2.227664297695268e+01 -2.229748583458740e+01 -2.231834410877561e+01 -2.233921780886325e+01 + -2.236010691418214e+01 -2.238101140757746e+01 -2.240193131596196e+01 -2.242286666626994e+01 -2.244381744145418e+01 + -2.246478362333585e+01 -2.248576523319086e+01 -2.250676229308250e+01 -2.252777478876882e+01 -2.254880270395783e+01 + -2.256984605046237e+01 -2.259090484578745e+01 -2.261197910210208e+01 -2.263306882483333e+01 -2.265417399777652e+01 + -2.267529460825966e+01 -2.269643067937303e+01 -2.271758223358744e+01 -2.273874925513337e+01 -2.275993172840441e+01 + -2.278112967668665e+01 -2.280234312326570e+01 -2.282357205253301e+01 -2.284481644618636e+01 -2.286607631404299e+01 + -2.288735167241803e+01 -2.290864253549898e+01 -2.292994891082159e+01 -2.295127078144212e+01 -2.297260813386354e+01 + -2.299396099285480e+01 -2.301532938287575e+01 -2.303671328888409e+01 -2.305811269234469e+01 -2.307952760025338e+01 + -2.310095802706863e+01 -2.312240399156859e+01 -2.314386550544134e+01 -2.316534254769484e+01 -2.318683510020089e+01 + -2.320834318896662e+01 -2.322986684000025e+01 -2.325140603517923e+01 -2.327296075598023e+01 -2.329453102640753e+01 + -2.331611687084991e+01 -2.333771827270656e+01 -2.335933521295700e+01 -2.338096770389138e+01 -2.340261576396985e+01 + -2.342427940502197e+01 -2.344595863230511e+01 -2.346765343141823e+01 -2.348936379112492e+01 -2.351108973250527e+01 + -2.353283127622654e+01 -2.355458840898814e+01 -2.357636111469370e+01 -2.359814940003157e+01 -2.361995327887107e+01 + -2.364177277102066e+01 -2.366360788867084e+01 -2.368545860760097e+01 -2.370732490730504e+01 -2.372920681854641e+01 + -2.375110437181196e+01 -2.377301754521346e+01 -2.379494631547129e+01 -2.381689070611525e+01 -2.383885074279985e+01 + -2.386082641286912e+01 -2.388281770027697e+01 -2.390482461372720e+01 -2.392684716763744e+01 -2.394888537453080e+01 + -2.397093924094647e+01 -2.399300875138237e+01 -2.401509389381072e+01 -2.403719469214220e+01 -2.405931116939521e+01 + -2.408144330908079e+01 -2.410359109227195e+01 -2.412575452979684e+01 -2.414793363861520e+01 -2.417012843045825e+01 + -2.419233891107258e+01 -2.421456506749473e+01 -2.423680688969797e+01 -2.425906439811232e+01 -2.428133761196757e+01 + -2.430362651523593e+01 -2.432593109247103e+01 -2.434825136580965e+01 -2.437058735754595e+01 -2.439293905302052e+01 + -2.441530643508021e+01 -2.443768951355032e+01 -2.446008830475372e+01 -2.448250282402539e+01 -2.450493307947941e+01 + -2.452737905133441e+01 -2.454984072340254e+01 -2.457231812176549e+01 -2.459481127247106e+01 -2.461732015916192e+01 + -2.463984476198997e+01 -2.466238508954903e+01 -2.468494115731883e+01 -2.470751297988127e+01 -2.473010056541401e+01 + -2.475270389737600e+01 -2.477532296279144e+01 -2.479795778766421e+01 -2.482060839605179e+01 -2.484327476524651e+01 + -2.486595687297807e+01 -2.488865474549064e+01 -2.491136841050829e+01 -2.493409785316058e+01 -2.495684305468689e+01 + -2.497960402336061e+01 -2.500238077436705e+01 -2.502517332350563e+01 -2.504798167938967e+01 -2.507080582127416e+01 + -2.509364573240812e+01 -2.511650144137505e+01 -2.513937297643642e+01 -2.516226031923135e+01 -2.518516344740990e+01 + -2.520808236928804e+01 -2.523101710100030e+01 -2.525396765928963e+01 -2.527693405405919e+01 -2.529991626724470e+01 + -2.532291428361040e+01 -2.534592812720204e+01 -2.536895782110043e+01 -2.539200334524508e+01 -2.541506468057373e+01 + -2.543814185515816e+01 -2.546123489657537e+01 -2.548434378328921e+01 -2.550746849096137e+01 -2.553060903315797e+01 + -2.555376543163097e+01 -2.557693770297151e+01 -2.560012585444837e+01 -2.562332986120158e+01 -2.564654970308929e+01 + -2.566978541097076e+01 -2.569303701597250e+01 -2.571630449928904e+01 -2.573958783754457e+01 -2.576288703901380e+01 + -2.578620212017663e+01 -2.580953309868325e+01 -2.583287998467666e+01 -2.585624275710073e+01 -2.587962139846310e+01 + -2.590301593672573e+01 -2.592642639921134e+01 -2.594985276523152e+01 -2.597329501305775e+01 -2.599675316481207e+01 + -2.602022724494944e+01 -2.604371724340627e+01 -2.606722314554395e+01 -2.609074495294231e+01 -2.611428267453130e+01 + -2.613783633242288e+01 -2.616140594232113e+01 -2.618499148111656e+01 -2.620859292804694e+01 -2.623221031055255e+01 + -2.625584365675950e+01 -2.627949294933480e+01 -2.630315816707157e+01 -2.632683931872623e+01 -2.635053642045652e+01 + -2.637424948806206e+01 -2.639797853015353e+01 -2.642172352694394e+01 -2.644548446269175e+01 -2.646926136623515e+01 + -2.649305426487780e+01 -2.651686313520573e+01 -2.654068795336410e+01 -2.656452874445229e+01 -2.658838553565089e+01 + -2.661225831351167e+01 -2.663614706041860e+01 -2.666005178271351e+01 -2.668397249386109e+01 -2.670790921185966e+01 + -2.673186194785124e+01 -2.675583068101895e+01 -2.677981539336416e+01 -2.680381611012034e+01 -2.682783285712106e+01 + -2.685186561936856e+01 -2.687591437786270e+01 -2.689997913842517e+01 -2.692405991477839e+01 -2.694815672742597e+01 + -2.697226958936361e+01 -2.699639847677425e+01 -2.702054336911223e+01 -2.704470429573021e+01 -2.706888128546201e+01 + -2.709307431516761e+01 -2.711728336172764e+01 -2.714150845407871e+01 -2.716574962162754e+01 -2.719000684360529e+01 + -2.721428009605862e+01 -2.723856939247152e+01 -2.726287475352885e+01 -2.728719619128178e+01 -2.731153370993099e+01 + -2.733588729090867e+01 -2.736025692081293e+01 -2.738464262967399e+01 -2.740904444482641e+01 -2.743346233939021e+01 + -2.745789628706843e+01 -2.748234631811058e+01 -2.750681246441337e+01 -2.753129470791622e+01 -2.755579302585287e+01 + -2.758030742659158e+01 -2.760483792680023e+01 -2.762938454521084e+01 -2.765394729250735e+01 -2.767852614511706e+01 + -2.770312108289846e+01 -2.772773213369129e+01 -2.775235932608502e+01 -2.777700264368704e+01 -2.780166206614083e+01 + -2.782633760221619e+01 -2.785102926812099e+01 -2.787573708068912e+01 -2.790046104903706e+01 -2.792520115078565e+01 + -2.794995736764946e+01 -2.797472972921345e+01 -2.799951826412358e+01 -2.802432294939970e+01 -2.804914376169005e+01 + -2.807398072778233e+01 -2.809883387567351e+01 -2.812370318805837e+01 -2.814858864438241e+01 -2.817349025639583e+01 + -2.819840804241009e+01 -2.822334201467696e+01 -2.824829217820057e+01 -2.827325851505399e+01 -2.829824101147483e+01 + -2.832323969328987e+01 -2.834825458594292e+01 -2.837328567375688e+01 -2.839833293713809e+01 -2.842339638194745e+01 + -2.844847602232610e+01 -2.847357188008160e+01 -2.849868396869187e+01 -2.852381226064981e+01 -2.854895673259501e+01 + -2.857411741873861e+01 -2.859929435285462e+01 -2.862448750939692e+01 -2.864969686163745e+01 -2.867492243744038e+01 + -2.870016426611871e+01 -2.872542232818885e+01 -2.875069660076976e+01 -2.877598709618692e+01 -2.880129383482867e+01 + -2.882661683412842e+01 -2.885195610246809e+01 -2.887731161497835e+01 -2.890268335136361e+01 -2.892807134287440e+01 + -2.895347562064698e+01 -2.897889616381469e+01 -2.900433294736006e+01 -2.902978598166526e+01 -2.905525528595928e+01 + -2.908074087945912e+01 -2.910624277257485e+01 -2.913176094050105e+01 -2.915729536236611e+01 -2.918284606824940e+01 + -2.920841308797334e+01 -2.923399639938179e+01 -2.925959597987842e+01 -2.928521185708459e+01 -2.931084405942344e+01 + -2.933649256830759e+01 -2.936215736109871e+01 -2.938783844596477e+01 -2.941353583979598e+01 -2.943924956356517e+01 + -2.946497963001566e+01 -2.949072601489006e+01 -2.951648869675137e+01 -2.954226770244480e+01 -2.956806305999476e+01 + -2.959387475386040e+01 -2.961970276467950e+01 -2.964554710136948e+01 -2.967140778023144e+01 -2.969728481882160e+01 + -2.972317822671904e+01 -2.974908798033929e+01 -2.977501406036931e+01 -2.980095649774566e+01 -2.982691532231985e+01 + -2.985289050935425e+01 -2.987888203414534e+01 -2.990488992671488e+01 -2.993091421806754e+01 -2.995695488841446e+01 + -2.998301191396682e+01 -3.000908530572931e+01 -3.003517508294127e+01 -3.006128126298706e+01 -3.008740385472813e+01 + -3.011354283478899e+01 -3.013969818396866e+01 -3.016586993200092e+01 -3.019205810852835e+01 -3.021826269389396e+01 + -3.024448366459688e+01 -3.027072103106001e+01 -3.029697481234801e+01 -3.032324502816885e+01 -3.034953168930138e+01 + -3.037583477016444e+01 -3.040215424919064e+01 -3.042849015722735e+01 -3.045484252487287e+01 -3.048121132931426e+01 + -3.050759654718701e+01 -3.053399820633122e+01 -3.056041633582694e+01 -3.058685091850949e+01 -3.061330193277164e+01 + -3.063976938548045e+01 -3.066625329189824e+01 -3.069275367239408e+01 -3.071927054017274e+01 -3.074580387467516e+01 + -3.077235365736276e+01 -3.079891991154272e+01 -3.082550266154129e+01 -3.085210189391538e+01 -3.087871759159065e+01 + -3.090534976073683e+01 -3.093199841535169e+01 -3.095866357750086e+01 -3.098534526117247e+01 -3.101204343997652e+01 + -3.103875809113482e+01 -3.106548924669440e+01 -3.109223693806243e+01 -3.111900113926174e+01 -3.114578182447812e+01 + -3.117257902593346e+01 -3.119939277712214e+01 -3.122622305859262e+01 -3.125306984560579e+01 -3.127993314521812e+01 + -3.130681297362548e+01 -3.133370935178603e+01 -3.136062229292185e+01 -3.138755177454848e+01 -3.141449777743489e+01 + -3.144146033107010e+01 -3.146843946420585e+01 -3.149543515392452e+01 -3.152244737446985e+01 -3.154947614039987e+01 + -3.157652147508332e+01 -3.160358339681746e+01 -3.163066191390917e+01 -3.165775699977537e+01 -3.168486863280270e+01 + -3.171199684614663e+01 -3.173914167265754e+01 -3.176630308919665e+01 -3.179348107134120e+01 -3.182067564552154e+01 + -3.184788683989369e+01 -3.187511463866380e+01 -3.190235902163426e+01 -3.192961999494226e+01 -3.195689757352222e+01 + -3.198419178116283e+01 -3.201150263346307e+01 -3.203883010440887e+01 -3.206617417058478e+01 -3.209353486058297e+01 + -3.212091220418486e+01 -3.214830618392138e+01 -3.217571677868305e+01 -3.220314400004898e+01 -3.223058786708538e+01 + -3.225804839611857e+01 -3.228552559489243e+01 -3.231301943956095e+01 -3.234052991162765e+01 -3.236805704558397e+01 + -3.239560087404328e+01 -3.242316136911894e+01 -3.245073850255218e+01 -3.247833230509534e+01 -3.250594280965240e+01 + -3.253356999872297e+01 -3.256121385028732e+01 -3.258887437465276e+01 -3.261655158960600e+01 -3.264424551052439e+01 + -3.267195614529539e+01 -3.269968347425627e+01 -3.272742748229857e+01 -3.275518820008119e+01 -3.278296565603427e+01 + -3.281075982390590e+01 -3.283857067801981e+01 -3.286639824968410e+01 -3.289424257141810e+01 -3.292210362360176e+01 + -3.294998138240963e+01 -3.297787585933321e+01 -3.300578707421773e+01 -3.303371504500630e+01 -3.306165978102434e+01 + -3.308962125902853e+01 -3.311759946003357e+01 -3.314559441465483e+01 -3.317360615365304e+01 -3.320163465877013e+01 + -3.322967990687330e+01 -3.325774190434956e+01 -3.328582066713852e+01 -3.331391621987054e+01 -3.334202857831301e+01 + -3.337015771409062e+01 -3.339830360273710e+01 -3.342646627956469e+01 -3.345464577921614e+01 -3.348284207387808e+01 + -3.351105513572078e+01 -3.353928499930519e+01 -3.356753169996216e+01 -3.359579521371194e+01 -3.362407551222610e+01 + -3.365237260909204e+01 -3.368068652715969e+01 -3.370901728441355e+01 -3.373736488954338e+01 -3.376572931892538e+01 + -3.379411055342771e+01 -3.382250862419983e+01 -3.385092356238306e+01 -3.387935534880526e+01 -3.390780395979943e+01 + -3.393626940403256e+01 -3.396475169950308e+01 -3.399325086920118e+01 -3.402176692682492e+01 -3.405029984391190e+01 + -3.407884959628061e+01 -3.410741621903333e+01 -3.413599974690003e+01 -3.416460015383780e+01 -3.419321741347679e+01 + -3.422185155891206e+01 -3.425050262370409e+01 -3.427917058381036e+01 -3.430785541111823e+01 -3.433655711883738e+01 + -3.436527572977491e+01 -3.439401126380553e+01 -3.442276373145798e+01 -3.445153310880944e+01 -3.448031937598221e+01 + -3.450912256373026e+01 -3.453794270224409e+01 -3.456677976882821e+01 -3.459563373771100e+01 -3.462450462370172e+01 + -3.465339245071625e+01 -3.468229723851619e+01 -3.471121899611902e+01 -3.474015769371995e+01 -3.476911330776019e+01 + -3.479808587848705e+01 -3.482707544447295e+01 -3.485608197378501e+01 -3.488510543365825e+01 -3.491414585850467e+01 + -3.494320328527482e+01 -3.497227769389696e+01 -3.500136905869145e+01 -3.503047738856913e+01 -3.505960270226024e+01 + -3.508874502318216e+01 -3.511790436512474e+01 -3.514708069868058e+01 -3.517627399907308e+01 -3.520548430324607e+01 + -3.523471164812467e+01 -3.526395600883895e+01 -3.529321735592740e+01 -3.532249570335686e+01 -3.535179107461137e+01 + -3.538110348781549e+01 -3.541043295179184e+01 -3.543977944351469e+01 -3.546914294470585e+01 -3.549852348792567e+01 + -3.552792110371767e+01 -3.555733576371960e+01 -3.558676744035331e+01 -3.561621616808287e+01 -3.564568198278825e+01 + -3.567516486397158e+01 -3.570466478590109e+01 -3.573418175828719e+01 -3.576371580017962e+01 -3.579326693254331e+01 + -3.582283516733191e+01 -3.585242047853867e+01 -3.588202284498269e+01 -3.591164230274704e+01 -3.594127888660625e+01 + -3.597093256883734e+01 -3.600060331833949e+01 -3.603029115299790e+01 -3.605999610029281e+01 -3.608971817709886e+01 + -3.611945738978410e+01 -3.614921371329605e+01 -3.617898712799953e+01 -3.620877766734910e+01 -3.623858536391516e+01 + -3.626841019364145e+01 -3.629825213180558e+01 -3.632811120764664e+01 -3.635798745148868e+01 -3.638788084403422e+01 + -3.641779136227628e+01 -3.644771901799147e+01 -3.647766383142195e+01 -3.650762582188893e+01 -3.653760499949427e+01 + -3.656760133838370e+01 -3.659761481766282e+01 -3.662764547223315e+01 -3.665769333671685e+01 -3.668775838882340e+01 + -3.671784060113342e+01 -3.674793998262476e+01 -3.677805655273779e+01 -3.680819033636626e+01 -3.683834134900049e+01 + -3.686850956306390e+01 -3.689869495454472e+01 -3.692889755675729e+01 -3.695911740229619e+01 -3.698935446355054e+01 + -3.701960871343802e+01 -3.704988018719579e+01 -3.708016892120266e+01 -3.711047489408478e+01 -3.714079807933708e+01 + -3.717113848768184e+01 -3.720149613882988e+01 -3.723187105121882e+01 -3.726226323497034e+01 -3.729267266821555e+01 + -3.732309933333587e+01 -3.735354326170426e+01 -3.738400448395760e+01 -3.741448297879693e+01 -3.744497872108128e+01 + -3.747549172223736e+01 -3.750602200310610e+01 -3.753656958561755e+01 -3.756713448177913e+01 -3.759771666281819e+01 + -3.762831610507856e+01 -3.765893284615005e+01 -3.768956692232328e+01 -3.772021830344675e+01 -3.775088695941269e+01 + -3.778157292673024e+01 -3.781227624306894e+01 -3.784299688412320e+01 -3.787373482086582e+01 -3.790449006735824e+01 + -3.793526264738479e+01 -3.796605258053289e+01 -3.799685987630166e+01 -3.802768450803411e+01 -3.805852645435349e+01 + -3.808938575116029e+01 -3.812026243387959e+01 -3.815115647875793e+01 -3.818206785737669e+01 -3.821299658183555e+01 + -3.824394267407146e+01 -3.827490615485264e+01 -3.830588703573063e+01 -3.833688529255877e+01 -3.836790090523419e+01 + -3.839893390552727e+01 -3.842998432385276e+01 -3.846105213333004e+01 -3.849213730842061e+01 -3.852323988624988e+01 + -3.855435990371658e+01 -3.858549733414936e+01 -3.861665214665468e+01 -3.864782435702053e+01 -3.867901399128823e+01 + -3.871022106983104e+01 -3.874144560188923e+01 -3.877268755783931e+01 -3.880394691415978e+01 -3.883522371060106e+01 + -3.886651798555487e+01 -3.889782970870629e+01 -3.892915884903668e+01 -3.896050544141922e+01 -3.899186952243698e+01 + -3.902325106962145e+01 -3.905465005558139e+01 -3.908606649228560e+01 -3.911750040150871e+01 -3.914895180488885e+01 + -3.918042071436301e+01 -3.921190710320024e+01 -3.924341094905042e+01 -3.927493228575462e+01 -3.930647114756201e+01 + -3.933802751416320e+01 -3.936960136044893e+01 -3.940119269666864e+01 -3.943280154239230e+01 -3.946442791911308e+01 + -3.949607183932866e+01 -3.952773327763106e+01 -3.955941221301939e+01 -3.959110868002649e+01 -3.962282271157864e+01 + -3.965455427864192e+01 -3.968630335291520e+01 -3.971806997098832e+01 -3.974985417066340e+01 -3.978165592970123e+01 + -3.981347522024374e+01 -3.984531205199855e+01 -3.987716644515135e+01 -3.990903842423468e+01 -3.994092800366619e+01 + -3.997283515305731e+01 -4.000475984705376e+01 -4.003670212524431e+01 -4.006866202678586e+01 -4.010063952416471e+01 + -4.013263458527370e+01 -4.016464722630246e+01 -4.019667747391531e+01 -4.022872534837892e+01 -4.026079085897078e+01 + -4.029287397740929e+01 -4.032497468131004e+01 -4.035709300943645e+01 -4.038922899883853e+01 -4.042138261856475e+01 + -4.045355383733334e+01 -4.048574269054266e+01 -4.051794921541258e+01 -4.055017338976896e+01 -4.058241518694505e+01 + -4.061467462169752e+01 -4.064695171778673e+01 -4.067924649356458e+01 -4.071155895737036e+01 -4.074388908290122e+01 + -4.077623684962312e+01 -4.080860229471885e+01 -4.084098545450960e+01 -4.087338630415373e+01 -4.090580481395003e+01 + -4.093824099592192e+01 -4.097069487270115e+01 -4.100316646762842e+01 -4.103565579436854e+01 -4.106816282717386e+01 + -4.110068754422534e+01 -4.113322997883087e+01 -4.116579016300655e+01 -4.119836806847471e+01 -4.123096366815907e+01 + -4.126357700008218e+01 -4.129620810254014e+01 -4.132885694982463e+01 -4.136152351139461e+01 -4.139420780138244e+01 + -4.142690984447184e+01 -4.145962966287846e+01 -4.149236726828771e+01 -4.152512263273182e+01 -4.155789573295193e+01 + -4.159068660417814e+01 -4.162349528189675e+01 -4.165632174413023e+01 -4.168916596438000e+01 -4.172202795552684e+01 + -4.175490773972726e+01 -4.178780533686147e+01 -4.182072075745918e+01 -4.185365397692470e+01 -4.188660497553830e+01 + -4.191957378820953e+01 -4.195256044830271e+01 -4.198556492837179e+01 -4.201858720098863e+01 -4.205162729960676e+01 + -4.208468525919077e+01 -4.211776105986812e+01 -4.215085467691669e+01 -4.218396612105321e+01 -4.221709541226407e+01 + -4.225024257217616e+01 -4.228340761361360e+01 -4.231659051254899e+01 -4.234979124870078e+01 -4.238300985362200e+01 + -4.241624635885866e+01 -4.244950074409413e+01 -4.248277298525672e+01 -4.251606309511715e+01 -4.254937109530931e+01 + -4.258269700607782e+01 -4.261604083828603e+01 -4.264940256666174e+01 -4.268278217100897e+01 -4.271617968757233e+01 + -4.274959515039267e+01 -4.278302852825576e+01 -4.281647979114838e+01 -4.284994897911630e+01 -4.288343613339240e+01 + -4.291694122989936e+01 -4.295046423857267e+01 -4.298400517070971e+01 -4.301756404788966e+01 -4.305114089145757e+01 + -4.308473571388112e+01 -4.311834849235274e+01 -4.315197920801049e+01 -4.318562789305037e+01 -4.321929457904871e+01 + -4.325297924404543e+01 -4.328668186207582e+01 -4.332040244469275e+01 -4.335414101381126e+01 -4.338789759527743e+01 + -4.342167220389723e+01 -4.345546480638487e+01 -4.348927537558045e+01 -4.352310395691921e+01 -4.355695059370569e+01 + -4.359081524812669e+01 -4.362469788222823e+01 -4.365859853861065e+01 -4.369251726260594e+01 -4.372645402991838e+01 + -4.376040880917880e+01 -4.379438161035186e+01 -4.382837245512241e+01 -4.386238137072252e+01 -4.389640837367813e+01 + -4.393045343214298e+01 -4.396451651875527e+01 -4.399859767246311e+01 -4.403269693263155e+01 -4.406681427398399e+01 + -4.410094966630350e+01 -4.413510312425358e+01 -4.416927467295284e+01 -4.420346433446015e+01 -4.423767212069691e+01 + -4.427189800609401e+01 -4.430614196966567e+01 -4.434040404624994e+01 -4.437468426893484e+01 -4.440898260798443e+01 + -4.444329903479183e+01 -4.447763358808973e+01 -4.451198630763288e+01 -4.454635716992501e+01 -4.458074614621454e+01 + -4.461515324997958e+01 -4.464957850449220e+01 -4.468402192997090e+01 -4.471848353715485e+01 -4.475296330191956e+01 + -4.478746120505344e+01 -4.482197728186011e+01 -4.485651156648301e+01 -4.489106403390974e+01 -4.492563465506775e+01 + -4.496022344379944e+01 -4.499483042484561e+01 -4.502945562362576e+01 -4.506409905435962e+01 -4.509876068578905e+01 + -4.513344049220396e+01 -4.516813851556444e+01 -4.520285479589762e+01 -4.523758929782897e+01 -4.527234198687941e+01 + -4.530711290755342e+01 -4.534190210524451e+01 -4.537670954991925e+01 -4.541153520580425e+01 -4.544637908959269e+01 + -4.548124122972980e+01 -4.551612164920255e+01 -4.555102035951307e+01 -4.558593733168242e+01 -4.562087254236648e+01 + -4.565582603124118e+01 -4.569079783605451e+01 -4.572578792382265e+01 -4.576079626235065e+01 -4.579582289333027e+01 + -4.583086785976433e+01 -4.586593113601344e+01 -4.590101269036680e+01 -4.593611253546989e+01 -4.597123069530716e+01 + -4.600636719486254e+01 -4.604152204856955e+01 -4.607669522766013e+01 -4.611188670797630e+01 -4.614709652700154e+01 + -4.618232472227299e+01 -4.621757126990104e+01 -4.625283614113306e+01 -4.628811934919114e+01 -4.632342091751210e+01 + -4.635874086841728e+01 -4.639407921460932e+01 -4.642943593143147e+01 -4.646481099859044e+01 -4.650020445060623e+01 + -4.653561632090474e+01 -4.657104658372261e+01 -4.660649521327068e+01 -4.664196224284595e+01 -4.667744770698098e+01 + -4.671295158606459e+01 -4.674847385553061e+01 -4.678401452513644e+01 -4.681957361522331e+01 -4.685515115414413e+01 + -4.689074715945064e+01 -4.692636159747788e+01 -4.696199443933372e+01 -4.699764572643400e+01 -4.703331550121288e+01 + -4.706900373987032e+01 -4.710471041222129e+01 -4.714043552877479e+01 -4.717617911151273e+01 -4.721194118761495e+01 + -4.724772177397794e+01 -4.728352084116666e+01 -4.731933836391387e+01 -4.735517437995513e+01 -4.739102892624472e+01 + -4.742690197360956e+01 -4.746279349304486e+01 -4.749870352234630e+01 -4.753463210070628e+01 -4.757057920610364e+01 + -4.760654481072343e+01 -4.764252892478859e+01 -4.767853156968457e+01 -4.771455277340900e+01 -4.775059255327958e+01 + -4.778665087728216e+01 -4.782272771801416e+01 -4.785882311585065e+01 -4.789493711157514e+01 -4.793106967982698e+01 + -4.796722079021173e+01 -4.800339045834357e+01 -4.803957871014897e+01 -4.807578556679541e+01 -4.811201103905631e+01 + -4.814825510088780e+01 -4.818451773166895e+01 -4.822079896928767e+01 -4.825709884980719e+01 -4.829341734348342e+01 + -4.832975442115909e+01 -4.836611012183125e+01 -4.840248448526336e+01 -4.843887748613056e+01 -4.847528909416636e+01 + -4.851171932442625e+01 -4.854816820273300e+01 -4.858463575265701e+01 -4.862112198691646e+01 -4.865762687707282e+01 + -4.869415040003414e+01 -4.873069259525141e+01 -4.876725350118260e+01 -4.880383308977095e+01 -4.884043132904604e+01 + -4.887704823789731e+01 -4.891368384608068e+01 -4.895033817595851e+01 -4.898701123776245e+01 -4.902370300059485e+01 + -4.906041344002308e+01 -4.909714259860375e+01 -4.913389051725400e+01 -4.917065716334413e+01 -4.920744250429804e+01 + -4.924424658130064e+01 -4.928106943700116e+01 -4.931791104614518e+01 -4.935477137752828e+01 -4.939165044404930e+01 + -4.942854827009338e+01 -4.946546488188807e+01 -4.950240029454247e+01 -4.953935447684974e+01 -4.957632740294361e+01 + -4.961331911463601e+01 -4.965032965315336e+01 -4.968735898970213e+01 -4.972440709120082e+01 -4.976147397743583e+01 + -4.979855967878247e+01 -4.983566421510402e+01 -4.987278759472007e+01 -4.990992979028766e+01 -4.994709078100569e+01 + -4.998427060790318e+01 -5.002146930959274e+01 -5.005868685319148e+01 -5.009592320640078e+01 -5.013317841075434e+01 + -5.017045250915469e+01 -5.020774547614742e+01 -5.024505728017924e+01 -5.028238793365752e+01 -5.031973746104961e+01 + -5.035710589110189e+01 -5.039449324090066e+01 -5.043189947661289e+01 -5.046932456973549e+01 -5.050676856400442e+01 + -5.054423150327239e+01 -5.058171335962052e+01 -5.061921409929316e+01 -5.065673373695915e+01 -5.069427229950105e+01 + -5.073182981423184e+01 -5.076940629607507e+01 -5.080700170996615e+01 -5.084461602753602e+01 -5.088224929718589e+01 + -5.091990156525010e+01 -5.095757279302548e+01 -5.099526294209112e+01 -5.103297206019221e+01 -5.107070019605169e+01 + -5.110844731613729e+01 -5.114621338143406e+01 -5.118399841325091e+01 -5.122180244526444e+01 -5.125962550029841e+01 + -5.129746758802490e+01 -5.133532867636215e+01 -5.137320874011100e+01 -5.141110782335645e+01 -5.144902596945006e+01 + -5.148696314952589e+01 -5.152491932947918e+01 -5.156289452646703e+01 -5.160088876945014e+01 -5.163890208334180e+01 + -5.167693448081514e+01 -5.171498592963017e+01 -5.175305640369855e+01 -5.179114594645165e+01 -5.182925460014935e+01 + -5.186738233284598e+01 -5.190552911234031e+01 -5.194369497961412e+01 -5.198187997663295e+01 -5.202008407611459e+01 + -5.205830724580739e+01 -5.209654950282933e+01 -5.213481087573764e+01 -5.217309138947744e+01 -5.221139105690054e+01 + -5.224970984609732e+01 -5.228804773087789e+01 -5.232640475269200e+01 -5.236478095346914e+01 -5.240317630941821e+01 + -5.244159079031952e+01 -5.248002440595931e+01 -5.251847717885386e+01 -5.255694914243367e+01 -5.259544031823210e+01 + -5.263395066927961e+01 -5.267248016335085e+01 -5.271102884570031e+01 -5.274959676081755e+01 -5.278818387265291e+01 + -5.282679014593192e+01 -5.286541562901994e+01 -5.290406037048660e+01 -5.294272433607927e+01 -5.298140748616263e+01 + -5.302010984239256e+01 -5.305883143892672e+01 -5.309757229863885e+01 -5.313633243133304e+01 -5.317511180581835e+01 + -5.321391039785607e+01 -5.325272825201081e+01 -5.329156541074357e+01 -5.333042183929739e+01 -5.336929750308754e+01 + -5.340819244543594e+01 -5.344710671111962e+01 -5.348604027282968e+01 -5.352499309722418e+01 -5.356396519891433e+01 + -5.360295660504364e+01 -5.364196734493171e+01 -5.368099743556814e+01 -5.372004684244607e+01 -5.375911553606044e+01 + -5.379820355840945e+01 -5.383731095277006e+01 -5.387643769603123e+01 -5.391558375867469e+01 -5.395474915194053e+01 + -5.399393389872404e+01 -5.403313802778240e+01 -5.407236155707715e+01 -5.411160445552515e+01 -5.415086669663323e+01 + -5.419014832131279e+01 -5.422944936941720e+01 -5.426876980916325e+01 -5.430810960961936e+01 -5.434746881489674e+01 + -5.438684746929877e+01 -5.442624554285502e+01 -5.446566300018413e+01 -5.450509985853421e+01 -5.454455614758906e+01 + -5.458403189414573e+01 -5.462352711279953e+01 -5.466304177222543e+01 -5.470257584656953e+01 -5.474212937778257e+01 + -5.478170240720980e+01 -5.482129490597043e+01 -5.486090684084346e+01 -5.490053823147309e+01 -5.494018910890276e+01 + -5.497985949690793e+01 -5.501954940653937e+01 -5.505925880521750e+01 -5.509898766755921e+01 -5.513873604059781e+01 + -5.517850396943321e+01 -5.521829141901578e+01 -5.525809835354192e+01 -5.529792481434151e+01 -5.533777084523449e+01 + -5.537763642286803e+01 -5.541752151714192e+01 -5.545742613813913e+01 -5.549735030880384e+01 -5.553729406334213e+01 + -5.557725742375872e+01 -5.561724035199087e+01 -5.565724281465346e+01 -5.569726485713910e+01 -5.573730652628086e+01 + -5.577736779589668e+01 -5.581744863307357e+01 -5.585754905099014e+01 -5.589766907536871e+01 -5.593780873601526e+01 + -5.597796805069111e+01 -5.601814698489535e+01 -5.605834550959182e+01 -5.609856366986563e+01 -5.613880151023810e+01 + -5.617905899885479e+01 -5.621933610311022e+01 -5.625963286377015e+01 -5.629994932270948e+01 -5.634028545286861e+01 + -5.638064122221132e+01 -5.642101664772899e+01 -5.646141175844968e+01 -5.650182658252075e+01 -5.654226113528433e+01 + -5.658271538174220e+01 -5.662318929319503e+01 -5.666368291647893e+01 -5.670419629786259e+01 -5.674472940580990e+01 + -5.678528220346420e+01 -5.682585471049146e+01 -5.686644695909487e+01 -5.690705897510426e+01 -5.694769077129006e+01 + -5.698834231455854e+01 -5.702901357847642e+01 -5.706970460911611e+01 -5.711041545084194e+01 -5.715114606868026e+01 + -5.719189642778805e+01 -5.723266657318249e+01 -5.727345655110785e+01 -5.731426633285666e+01 -5.735509588339112e+01 + -5.739594521730356e+01 -5.743681436264626e+01 -5.747770335168147e+01 -5.751861220364783e+01 -5.755954088147938e+01 + -5.760048935348805e+01 -5.764145766580183e+01 -5.768244586550730e+01 -5.772345392571002e+01 -5.776448181276131e+01 + -5.780552953997691e+01 -5.784659713354442e+01 -5.788768462417462e+01 -5.792879202998626e+01 -5.796991931420698e+01 + -5.801106644664837e+01 -5.805223347834903e+01 -5.809342045860209e+01 -5.813462734849197e+01 -5.817585410820936e+01 + -5.821710078257841e+01 -5.825836741928538e+01 -5.829965399283203e+01 -5.834096047087346e+01 -5.838228686686274e+01 + -5.842363320676851e+01 -5.846499952082397e+01 -5.850638582715609e+01 -5.854779209120221e+01 -5.858921828442874e+01 + -5.863066445510763e+01 -5.867213065032231e+01 -5.871361683559694e+01 -5.875512297138874e+01 -5.879664907944645e+01 + -5.883819519466417e+01 -5.887976134322624e+01 -5.892134753756825e+01 -5.896295374384051e+01 -5.900457993500612e+01 + -5.904622615756436e+01 -5.908789245663575e+01 -5.912957879828990e+01 -5.917128514850664e+01 -5.921301155195771e+01 + -5.925475805384439e+01 -5.929652462279476e+01 -5.933831122286624e+01 -5.938011787640643e+01 -5.942194461763230e+01 + -5.946379146994821e+01 -5.950565844408734e+01 -5.954754551091072e+01 -5.958945264733813e+01 -5.963137989439624e+01 + -5.967332729249499e+01 -5.971529481547052e+01 -5.975728243227523e+01 -5.979929015889982e+01 -5.984131802305070e+01 + -5.988336605225896e+01 -5.992543426246962e+01 -5.996752262345901e+01 -6.000963111046766e+01 -6.005175976676178e+01 + -6.009390863383608e+01 -6.013607767807394e+01 -6.017826686618813e+01 -6.022047624132026e+01 -6.026270584835797e+01 + -6.030495566274465e+01 -6.034722565381767e+01 -6.038951583593452e+01 -6.043182623512069e+01 -6.047415687905394e+01 + -6.051650778421003e+01 -6.055887892060463e+01 -6.060127026325783e+01 -6.064368185366749e+01 -6.068611373308907e+01 + -6.072856587533070e+01 -6.077103824887340e+01 -6.081353086833690e+01 -6.085604376132918e+01 -6.089857696127247e+01 + -6.094113048823596e+01 -6.098370430306234e+01 -6.102629837247437e+01 -6.106891274594116e+01 -6.111154747264118e+01 + -6.115420251784390e+01 -6.119687784580902e+01 -6.123957350066591e+01 -6.128228952841628e+01 -6.132502590268162e+01 + -6.136778259056138e+01 -6.141055960544676e+01 -6.145335697380811e+01 -6.149617472814099e+01 -6.153901288864162e+01 + -6.158187142028389e+01 -6.162475029314290e+01 -6.166764955292113e+01 -6.171056924466600e+01 -6.175350933517737e+01 + -6.179646979123154e+01 -6.183945065775757e+01 -6.188245198047678e+01 -6.192547373012725e+01 -6.196851587175868e+01 + -6.201157842265037e+01 -6.205466141333163e+01 -6.209776487510229e+01 -6.214088882566958e+01 -6.218403322759970e+01 + -6.222719804958889e+01 -6.227038333999444e+01 -6.231358914752139e+01 -6.235681544260558e+01 -6.240006218936849e+01 + -6.244332940494305e+01 -6.248661712010740e+01 -6.252992536720910e+01 -6.257325416420860e+01 -6.261660346994837e+01 + -6.265997325077347e+01 -6.270336356215701e+01 -6.274677445777788e+01 -6.279020589501037e+01 -6.283365783085999e+01 + -6.287713031716163e+01 -6.292062340781234e+01 -6.296413707012920e+01 -6.300767126475596e+01 -6.305122601222295e+01 + -6.309480134635203e+01 -6.313839729424505e+01 -6.318201386936521e+01 -6.322565103734121e+01 -6.326930877093868e+01 + -6.331298711930568e+01 -6.335668613058504e+01 -6.340040577251647e+01 -6.344414600718050e+01 -6.348790685442323e+01 + -6.353168834759008e+01 -6.357549051625812e+01 -6.361931337593239e+01 -6.366315688959789e+01 -6.370702102749119e+01 + -6.375090584137499e+01 -6.379481138078580e+01 -6.383873760482961e+01 -6.388268447297220e+01 -6.392665203654889e+01 + -6.397064034897519e+01 -6.401464938011861e+01 -6.405867909237229e+01 -6.410272950177993e+01 -6.414680063823367e+01 + -6.419089253336912e+01 -6.423500520539493e+01 -6.427913861706836e+01 -6.432329273774181e+01 -6.436746761859949e+01 + -6.441166331065573e+01 -6.445587978241413e+01 -6.450011699516882e+01 -6.454437496388719e+01 -6.458865371852110e+01 + -6.463295329528786e+01 -6.467727371608086e+01 -6.472161493923234e+01 -6.476597692945877e+01 -6.481035974057480e+01 + -6.485476342551981e+01 -6.489918794463497e+01 -6.494363325783405e+01 -6.498809941591921e+01 -6.503258647107099e+01 + -6.507709439009531e+01 -6.512162313341831e+01 -6.516617272132122e+01 -6.521074318787740e+01 -6.525533456247440e+01 + -6.529994686059398e+01 -6.534458004678092e+01 -6.538923409250538e+01 -6.543390904787570e+01 -6.547860496211884e+01 + -6.552332180229843e+01 -6.556805952953434e+01 -6.561281816333469e+01 -6.565759773746066e+01 -6.570239828429803e+01 + -6.574721982146080e+01 -6.579206230885156e+01 -6.583692571363754e+01 -6.588181008975629e+01 -6.592671548982709e+01 + -6.597164187442638e+01 -6.601658920334479e+01 -6.606155752527242e+01 -6.610654689090467e+01 -6.615155727005924e+01 + -6.619658862652422e+01 -6.624164098084657e+01 -6.628671436645676e+01 -6.633180881156068e+01 -6.637692433038681e+01 + -6.642206088647883e+01 -6.646721845110714e+01 -6.651239707713407e+01 -6.655759681603797e+01 -6.660281763216933e+01 + -6.664805948389387e+01 -6.669332239276561e+01 -6.673860639512726e+01 -6.678391152328841e+01 -6.682923779433044e+01 + -6.687458516845543e+01 -6.691995361277515e+01 -6.696534317891920e+01 -6.701075391795754e+01 -6.705618579420361e+01 + -6.710163877100581e+01 -6.714711289460833e+01 -6.719260821321966e+01 -6.723812470001026e+01 -6.728366232121398e+01 + -6.732922109035582e+01 -6.737480103488133e+01 -6.742040219062761e+01 -6.746602458035952e+01 -6.751166816616187e+01 + -6.755733291529161e+01 -6.760301887637438e+01 -6.764872609859751e+01 -6.769445455202660e+01 -6.774020420051386e+01 + -6.778597506217976e+01 -6.783176716876942e+01 -6.787758055225885e+01 -6.792341523092826e+01 -6.796927116804379e+01 + -6.801514833341810e+01 -6.806104677806347e+01 -6.810696655123587e+01 -6.815290761396663e+01 -6.819886992772128e+01 + -6.824485354392678e+01 -6.829085851532395e+01 -6.833688480994840e+01 -6.838293238885097e+01 -6.842900126984890e+01 + -6.847509148538957e+01 -6.852120306967514e+01 -6.856733604269469e+01 -6.861349036583006e+01 -6.865966600658993e+01 + -6.870586301559659e+01 -6.875208144399036e+01 -6.879832126187024e+01 -6.884458243234171e+01 -6.889086497157696e+01 + -6.893716890990422e+01 -6.898349428120915e+01 -6.902984110598732e+01 -6.907620934761650e+01 -6.912259897511596e+01 + -6.916901003718877e+01 -6.921544258172949e+01 -6.926189657371528e+01 -6.930837197817074e+01 -6.935486884322755e+01 + -6.940138721768092e+01 -6.944792706987337e+01 -6.949448836290087e+01 -6.954107111932564e+01 -6.958767537490402e+01 + -6.963430115870300e+01 -6.968094848498497e+01 -6.972761731548312e+01 -6.977430762020695e+01 -6.982101945480034e+01 + -6.986775287255249e+01 -6.991450783170005e+01 -6.996128429032680e+01 -7.000808230095708e+01 -7.005490191787665e+01 + -7.010174310797666e+01 -7.014860583121035e+01 -7.019549010717337e+01 -7.024239597049470e+01 -7.028932345629492e+01 + -7.033627258446040e+01 -7.038324331344937e+01 -7.043023560838913e+01 -7.047724952251053e+01 -7.052428510987777e+01 + -7.057134233978515e+01 -7.061842117397924e+01 -7.066552162878578e+01 -7.071264373512433e+01 -7.075978752771100e+01 + -7.080695302731498e+01 -7.085414019512091e+01 -7.090134899910394e+01 -7.094857949398551e+01 -7.099583173235354e+01 + -7.104310567151599e+01 -7.109040126922885e+01 -7.113771858031990e+01 -7.118505766125368e+01 -7.123241847797109e+01 + -7.127980098937178e+01 -7.132720521671429e+01 -7.137463119544236e+01 -7.142207895538176e+01 -7.146954851252747e+01 + -7.151703983316882e+01 -7.156455289009196e+01 -7.161208773177542e+01 -7.165964440570248e+01 -7.170722287968356e+01 + -7.175482311646741e+01 -7.180244513822917e+01 -7.185008898098621e+01 -7.189775467669884e+01 -7.194544224180910e+01 + -7.199315163474331e+01 -7.204088282234626e+01 -7.208863586315185e+01 -7.213641081375658e+01 -7.218420763131780e+01 + -7.223202627227879e+01 -7.227986678966526e+01 -7.232772923884254e+01 -7.237561358795277e+01 -7.242351979769759e+01 + -7.247144788623903e+01 -7.251939788668284e+01 -7.256736983444897e+01 -7.261536375015235e+01 -7.266337959287341e+01 + -7.271141732841731e+01 -7.275947701102203e+01 -7.280755869538000e+01 -7.285566234956853e+01 -7.290378793432680e+01 + -7.295193546765573e+01 -7.300010498266862e+01 -7.304829651566631e+01 -7.309651008753943e+01 -7.314474565435016e+01 + -7.319300317971540e+01 -7.324128272229925e+01 -7.328958433981238e+01 -7.333790799110540e+01 -7.338625363374130e+01 + -7.343462131899291e+01 -7.348301110053259e+01 -7.353142294792167e+01 -7.357985682361442e+01 -7.362831274574745e+01 + -7.367679074711965e+01 -7.372529086349638e+01 -7.377381311579366e+01 -7.382235746256312e+01 -7.387092386912651e+01 + -7.391951239025020e+01 -7.396812308115555e+01 -7.401675590943988e+01 -7.406541083531380e+01 -7.411408787706513e+01 + -7.416278706814910e+01 -7.421150844461324e+01 -7.426025202733783e+01 -7.430901777394124e+01 -7.435780564940528e+01 + -7.440661571142732e+01 -7.445544801616209e+01 -7.450430252087864e+01 -7.455317918285648e+01 -7.460207805830268e+01 + -7.465099920497126e+01 -7.469994258787753e+01 -7.474890816454140e+01 -7.479789595523943e+01 -7.484690599592756e+01 + -7.489593832252380e+01 -7.494499295533201e+01 -7.499406985223764e+01 -7.504316897827101e+01 -7.509229038945979e+01 + -7.514143414169166e+01 -7.519060019929748e+01 -7.523978851997632e+01 -7.528899912645726e+01 -7.533823205657275e+01 + -7.538748734353926e+01 -7.543676500532445e+01 -7.548606500351643e+01 -7.553538730703876e+01 -7.558473197053598e+01 + -7.563409904619321e+01 -7.568348849063742e+01 -7.573290026170078e+01 -7.578233441759443e+01 -7.583179101796470e+01 + -7.588127002782028e+01 -7.593077140392674e+01 -7.598029516471465e+01 -7.602984134475692e+01 -7.607940998153097e+01 + -7.612900109746634e+01 -7.617861465189691e+01 -7.622825061065345e+01 -7.627790902865043e+01 -7.632758996032740e+01 + -7.637729336914126e+01 -7.642701921265419e+01 -7.647676751583191e+01 -7.652653831849052e+01 -7.657633165244424e+01 + -7.662614753370475e+01 -7.667598592307560e+01 -7.672584678949215e+01 -7.677573018962489e+01 -7.682563617769370e+01 + -7.687556471038147e+01 -7.692551574474433e+01 -7.697548933686781e+01 -7.702548554509247e+01 -7.707550433774978e+01 + -7.712554567498073e+01 -7.717560957417300e+01 -7.722569606768573e+01 -7.727580519051753e+01 -7.732593696392289e+01 + -7.737609135154067e+01 -7.742626832278943e+01 -7.747646792782194e+01 -7.752669021677298e+01 -7.757693515897095e+01 + -7.762720271798948e+01 -7.767749291518889e+01 -7.772780578562232e+01 -7.777814136132783e+01 -7.782849965970544e+01 + -7.787888064261847e+01 -7.792928427988689e+01 -7.797971062869398e+01 -7.803015974345008e+01 -7.808063158011076e+01 + -7.813112609521906e+01 -7.818164334612277e+01 -7.823218339188995e+01 -7.828274619766600e+01 -7.833333172107952e+01 + -7.838393998361434e+01 -7.843457102192369e+01 -7.848522486948340e+01 -7.853590154498607e+01 -7.858660101116894e+01 + -7.863732323758104e+01 -7.868806827697425e+01 -7.873883618163512e+01 -7.878962691878654e+01 -7.884044044940295e+01 + -7.889127679452803e+01 -7.894213598992800e+01 -7.899301807018992e+01 -7.904392305456564e+01 -7.909485090214494e+01 + -7.914580158005610e+01 -7.919677514774288e+01 -7.924777166238927e+01 -7.929879107982515e+01 -7.934983335558289e+01 + -7.940089854535901e+01 -7.945198670709752e+01 -7.950309780756868e+01 -7.955423180605224e+01 -7.960538872303847e+01 + -7.965656859466247e+01 -7.970777145842827e+01 -7.975899733555858e+01 -7.981024618078136e+01 -7.986151795697417e+01 + -7.991281272610696e+01 -7.996413054847572e+01 -8.001547137858779e+01 -8.006683517069925e+01 -8.011822198384908e+01 + -8.016963187855384e+01 -8.022106481645797e+01 -8.027252075224854e+01 -8.032399971165485e+01 -8.037550173585385e+01 + -8.042702685677139e+01 -8.047857509055929e+01 -8.053014639952434e+01 -8.058174075328817e+01 -8.063335820457638e+01 + -8.068499880610621e+01 -8.073666252745771e+01 -8.078834933088126e+01 -8.084005923244513e+01 -8.089179226408041e+01 + -8.094354846735196e+01 -8.099532786819320e+01 -8.104713042037783e+01 -8.109895608507813e+01 -8.115080492521992e+01 + -8.120267700205356e+01 -8.125457226837462e+01 -8.130649067623317e+01 -8.135843228315183e+01 -8.141039715010918e+01 + -8.146238524643556e+01 -8.151439653208425e+01 -8.156643102114791e+01 -8.161848874447259e+01 -8.167056974577932e+01 + -8.172267405314662e+01 -8.177480161920819e+01 -8.182695240289546e+01 -8.187912646377457e+01 -8.193132386298609e+01 + -8.198354456733288e+01 -8.203578853472443e+01 -8.208805578183410e+01 -8.214034634197473e+01 -8.219266025625411e+01 + -8.224499755029157e+01 -8.229735817995817e+01 -8.234974210798764e+01 -8.240214939431286e+01 -8.245458009683706e+01 + -8.250703416814667e+01 -8.255951156203467e+01 -8.261201234243612e+01 -8.266453657428882e+01 -8.271708421639993e+01 + -8.276965521981012e+01 -8.282224961062391e+01 -8.287486743131451e+01 -8.292750871476633e+01 -8.298017347733835e+01 + -8.303286167887651e+01 -8.308557328775250e+01 -8.313830836295337e+01 -8.319106696215761e+01 -8.324384904719405e+01 + -8.329665457280116e+01 -8.334948356120523e+01 -8.340233605179664e+01 -8.345521208513452e+01 -8.350811168407860e+01 + -8.356103479952203e+01 -8.361398139085040e+01 -8.366695152338559e+01 -8.371994526125894e+01 -8.377296255790387e+01 + -8.382600336547402e+01 -8.387906774170159e+01 -8.393215574692768e+01 -8.398526734635097e+01 -8.403840249721476e+01 + -8.409156122008268e+01 -8.414474355213920e+01 -8.419794953373223e+01 -8.425117918830632e+01 -8.430443246852916e+01 + -8.435770933516140e+01 -8.441100985211256e+01 -8.446433408298962e+01 -8.451768198704093e+01 -8.457105351533237e+01 + -8.462444869055821e+01 -8.467786755329161e+01 -8.473131014399300e+01 -8.478477648534972e+01 -8.483826652906932e+01 + -8.489178023573824e+01 -8.494531767243778e+01 -8.499887890373510e+01 -8.505246387764603e+01 -8.510607254206460e+01 + -8.515970496094809e+01 -8.521336120130535e+01 -8.526704122628841e+01 -8.532074498941530e+01 -8.537447250952404e+01 + -8.542822382319736e+01 -8.548199897267675e+01 -8.553579798342942e+01 -8.558962080816578e+01 -8.564346740685433e+01 + -8.569733784125194e+01 -8.575123217367282e+01 -8.580515036687339e+01 -8.585909237532205e+01 -8.591305821989287e+01 + -8.596704793875205e+01 -8.602106157282915e+01 -8.607509914567974e+01 -8.612916060859980e+01 -8.618324592155754e+01 + -8.623735515146925e+01 -8.629148836331387e+01 -8.634564550737286e+01 -8.639982653295500e+01 -8.645403150017543e+01 + -8.650826047252751e+01 -8.656251341621210e+01 -8.661679028858919e+01 -8.667109110894766e+01 -8.672541591317201e+01 + -8.677976474159972e+01 -8.683413761829634e+01 -8.688853449778628e+01 -8.694295534179228e+01 -8.699740021037117e+01 + -8.705186916402354e+01 -8.710636216669133e+01 -8.716087917454270e+01 -8.721542020920894e+01 -8.726998530877070e+01 + -8.732457451164281e+01 -8.737918783967393e+01 -8.743382524811331e+01 -8.748848670054353e+01 -8.754317226047976e+01 + -8.759788198894785e+01 -8.765261583708421e+01 -8.770737375634857e+01 -8.776215580938322e+01 -8.781696206132678e+01 + -8.787179247612183e+01 -8.792664700860111e+01 -8.798152567835336e+01 -8.803642852212045e+01 -8.809135558050070e+01 + -8.814630687756171e+01 -8.820128236739042e+01 -8.825628201129771e+01 -8.831130586947003e+01 -8.836635400284558e+01 + -8.842142637649435e+01 -8.847652294770472e+01 -8.853164373850628e+01 -8.858678878695027e+01 -8.864195813043362e+01 + -8.869715178945941e+01 -8.875236971760948e+01 -8.880761187808301e+01 -8.886287833946902e+01 -8.891816916696094e+01 + -8.897348430677987e+01 -8.902882370531137e+01 -8.908418742857141e+01 -8.913957554536425e+01 -8.919498801601753e+01 + -8.925042479199006e+01 -8.930588589774098e+01 -8.936137137472512e+01 -8.941688125937962e+01 -8.947241557120560e+01 + -8.952797426697802e+01 -8.958355731201681e+01 -8.963916476854843e+01 -8.969479669732335e+01 -8.975045305628245e+01 + -8.980613379692392e+01 -8.986183894778455e+01 -8.991756855389235e+01 -8.997332264920152e+01 -9.002910125051302e+01 + -9.008490431708829e+01 -9.014073181666647e+01 -9.019658380843681e+01 -9.025246034941333e+01 -9.030836139645970e+01 + -9.036428690661128e+01 -9.042023693773967e+01 -9.047621154925669e+01 -9.053221070589892e+01 -9.058823436476921e+01 + -9.064428254711031e+01 -9.070035529106499e+01 -9.075645263823618e+01 -9.081257461289793e+01 -9.086872116654884e+01 + -9.092489225918972e+01 -9.098108795760594e+01 -9.103730832657459e+01 -9.109355331605536e+01 -9.114982287548730e+01 + -9.120611706704364e+01 -9.126243595579022e+01 -9.131877950563008e+01 -9.137514767186437e+01 -9.143154047654943e+01 + -9.148795795857168e+01 -9.154440015738282e+01 -9.160086709537343e+01 -9.165735872612346e+01 -9.171387501169491e+01 + -9.177041601688784e+01 -9.182698180564800e+01 -9.188357233576582e+01 -9.194018755741556e+01 -9.199682749646104e+01 + -9.205349219658670e+01 -9.211018169707003e+01 -9.216689601912306e+01 -9.222363511610273e+01 -9.228039895018067e+01 + -9.233718758664240e+01 -9.239400108840672e+01 -9.245083940581294e+01 -9.250770248979978e+01 -9.256459040628322e+01 + -9.262150322244982e+01 -9.267844089559186e+01 -9.273540337476760e+01 -9.279239068599267e+01 -9.284940287335907e+01 + -9.290643997630693e+01 -9.296350201607783e+01 -9.302058894577094e+01 -9.307770072730455e+01 -9.313483742601555e+01 + -9.319199910633068e+01 -9.324918572561810e+01 -9.330639723351504e+01 -9.336363365579297e+01 -9.342089503640302e+01 + -9.347818141588093e+01 -9.353549281584256e+01 -9.359282918563940e+01 -9.365019048477910e+01 -9.370757678565749e+01 + -9.376498815769901e+01 -9.382242454555492e+01 -9.387988589305337e+01 -9.393737226550313e+01 -9.399488373202897e+01 + -9.405242025553964e+01 -9.410998178945039e+01 -9.416756835541781e+01 -9.422517999301114e+01 -9.428281674520871e+01 + -9.434047863667399e+01 -9.439816561540189e+01 -9.445587763836596e+01 -9.451361477512259e+01 -9.457137709520302e+01 + -9.462916455545547e+01 -9.468697710379740e+01 -9.474481476510589e+01 -9.480267758244509e+01 -9.486056559466863e+01 + -9.491847882335075e+01 -9.497641722515867e+01 -9.503438076487508e+01 -9.509236950465109e+01 -9.515038350409563e+01 + -9.520842271528107e+01 -9.526648709103007e+01 -9.532457669470300e+01 -9.538269159175374e+01 -9.544083174547335e+01 + -9.549899710997526e+01 -9.555718770482461e+01 -9.561540356780063e+01 -9.567364474408794e+01 -9.573191126075703e+01 + -9.579020306501620e+01 -9.584852011272490e+01 -9.590686247420874e+01 -9.596523021978578e+01 -9.602362330527772e+01 + -9.608204167783254e+01 -9.614048536439948e+01 -9.619895441016116e+01 -9.625744885343293e+01 -9.631596871403326e+01 + -9.637451394466026e+01 -9.643308450797647e+01 -9.649168047362274e+01 -9.655030190767742e+01 -9.660894875499127e+01 + -9.666762096089710e+01 -9.672631859388268e+01 -9.678504172537357e+01 -9.684379031539257e+01 -9.690256431417546e+01 + -9.696136374421286e+01 -9.702018864639355e+01 -9.707903906294442e+01 -9.713791501832830e+01 -9.719681646461351e+01 + -9.725574336170810e+01 -9.731469577327378e+01 -9.737367376351882e+01 -9.743267729508464e+01 -9.749170632178308e+01 + -9.755076086367355e+01 -9.760984095895955e+01 -9.766894665217343e+01 -9.772807797034233e+01 -9.778723486414395e+01 + -9.784641729236439e+01 -9.790562532257231e+01 -9.796485902036660e+01 -9.802411833468516e+01 -9.808340321418262e+01 + -9.814271372304191e+01 -9.820204992860188e+01 -9.826141179529722e+01 -9.832079927766843e+01 -9.838021239358226e+01 + -9.843965117935535e+01 -9.849911568177785e+01 -9.855860593025675e+01 -9.861812187419362e+01 -9.867766347002308e+01 + -9.873723078231735e+01 -9.879682387670165e+01 -9.885644271487612e+01 -9.891608724974174e+01 -9.897575750292785e+01 + -9.903545351466867e+01 -9.909517533088989e+01 -9.915492297862031e+01 -9.921469640360959e+01 -9.927449556058966e+01 + -9.933432052149955e+01 -9.939417135686639e+01 -9.945404801436261e+01 -9.951395044077229e+01 -9.957387870218038e+01 + -9.963383286719130e+01 -9.969381289518709e+01 -9.975381873630593e+01 -9.981385041293248e+01 -9.987390796877466e+01 + -9.993399146058783e+01 -9.999410091983435e+01 -1.000542362637563e+02 -1.001143974249114e+02 -1.001745845113392e+02 + -1.002347976270743e+02 -1.002950366846517e+02 -1.003553015922550e+02 -1.004155924321621e+02 -1.004759093011103e+02 + -1.005362521795820e+02 -1.005966210292817e+02 -1.006570158530568e+02 -1.007174366671700e+02 -1.007778835004040e+02 + -1.008383563749385e+02 -1.008988552740233e+02 -1.009593801813489e+02 -1.010199311212978e+02 -1.010805081231472e+02 + -1.011411111950619e+02 -1.012017403376325e+02 -1.012623955422635e+02 -1.013230768099676e+02 -1.013837841893743e+02 + -1.014445177207514e+02 -1.015052773633014e+02 -1.015660630775449e+02 -1.016268749103392e+02 -1.016877129150088e+02 + -1.017485770844115e+02 -1.018094673966629e+02 -1.018703838313761e+02 -1.019313263923028e+02 -1.019922951782496e+02 + -1.020532902664119e+02 -1.021143115524854e+02 -1.021753589342455e+02 -1.022364324992857e+02 -1.022975323519374e+02 + -1.023586584736673e+02 -1.024198108268543e+02 -1.024809894203941e+02 -1.025421942728475e+02 -1.026034253949216e+02 + -1.026646827901934e+02 -1.027259664415750e+02 -1.027872763473731e+02 -1.028486125881369e+02 -1.029099752254547e+02 + -1.029713641628286e+02 -1.030327793161952e+02 -1.030942208093169e+02 -1.031556887637190e+02 -1.032171830841550e+02 + -1.032787036718354e+02 -1.033402506305696e+02 -1.034018240681317e+02 -1.034634239055545e+02 -1.035250500515010e+02 + -1.035867025518952e+02 -1.036483814821213e+02 -1.037100868981441e+02 -1.037718188237329e+02 -1.038335771732939e+02 + -1.038953618747522e+02 -1.039571730194689e+02 -1.040190107055651e+02 -1.040808748947658e+02 -1.041427655331822e+02 + -1.042046826408667e+02 -1.042666262524425e+02 -1.043285963868752e+02 -1.043905930564436e+02 -1.044526162623378e+02 + -1.045146660069125e+02 -1.045767423082721e+02 -1.046388451777543e+02 -1.047009745838822e+02 -1.047631305085241e+02 + -1.048253130297424e+02 -1.048875222165416e+02 -1.049497580055002e+02 -1.050120203310284e+02 -1.050743092512860e+02 + -1.051366248384456e+02 -1.051989670969791e+02 -1.052613360137520e+02 -1.053237315729033e+02 -1.053861537661844e+02 + -1.054486026185219e+02 -1.055110781583045e+02 -1.055735803945944e+02 -1.056361093274371e+02 -1.056986649401382e+02 + -1.057612472323176e+02 -1.058238562855892e+02 -1.058864921618116e+02 -1.059491547618286e+02 -1.060118440001799e+02 + -1.060745600072047e+02 -1.061373029070868e+02 -1.062000725835928e+02 -1.062628689188559e+02 -1.063256920288941e+02 + -1.063885420424685e+02 -1.064514189054312e+02 -1.065143225392365e+02 -1.065772529506575e+02 -1.066402101774261e+02 + -1.067031942957903e+02 -1.067662053568374e+02 -1.068292432724951e+02 -1.068923079625714e+02 -1.069553995175528e+02 + -1.070185180380394e+02 -1.070816634944072e+02 -1.071448358336418e+02 -1.072080350393896e+02 -1.072712611247882e+02 + -1.073345141842783e+02 -1.073977942922143e+02 -1.074611013613008e+02 -1.075244353055826e+02 -1.075877962061142e+02 + -1.076511841502191e+02 -1.077145990832866e+02 -1.077780409492339e+02 -1.078415098280245e+02 -1.079050057992970e+02 + -1.079685288053471e+02 -1.080320787786834e+02 -1.080956557500093e+02 -1.081592597729443e+02 -1.082228908945775e+02 + -1.082865491424036e+02 -1.083502344720692e+02 -1.084139468448718e+02 -1.084776863165616e+02 -1.085414529440200e+02 + -1.086052466942038e+02 -1.086690675238350e+02 -1.087329154386204e+02 -1.087967904674474e+02 -1.088606926829425e+02 + -1.089246221377382e+02 -1.089885787607543e+02 -1.090525624876805e+02 -1.091165734050004e+02 -1.091806115963225e+02 + -1.092446769829633e+02 -1.093087694909110e+02 -1.093728892271333e+02 -1.094370362953419e+02 -1.095012106052476e+02 + -1.095654120623545e+02 -1.096296407493415e+02 -1.096938967647426e+02 -1.097581800933404e+02 -1.098224906984946e+02 + -1.098868285716250e+02 -1.099511937236656e+02 -1.100155862155477e+02 -1.100800060933800e+02 -1.101444532939841e+02 + -1.102089277564002e+02 -1.102734295378303e+02 -1.103379587096266e+02 -1.104025152815812e+02 -1.104670992426730e+02 + -1.105317105601886e+02 -1.105963492199813e+02 -1.106610153038629e+02 -1.107257088820756e+02 -1.107904298826226e+02 + -1.108551782361634e+02 -1.109199540262203e+02 -1.109847573373186e+02 -1.110495881051325e+02 -1.111144462586115e+02 + -1.111793318486534e+02 -1.112442449476576e+02 -1.113091855920787e+02 -1.113741537899001e+02 -1.114391494711626e+02 + -1.115041725824562e+02 -1.115692232145109e+02 -1.116343014623147e+02 -1.116994072937479e+02 -1.117645406555522e+02 + -1.118297015370191e+02 -1.118948899532702e+02 -1.119601059801944e+02 -1.120253496750247e+02 -1.120906209596036e+02 + -1.121559197660155e+02 -1.122212462027017e+02 -1.122866003728487e+02 -1.123519821822644e+02 -1.124173915349786e+02 + -1.124828285252852e+02 -1.125482932599049e+02 -1.126137857050017e+02 -1.126793058037530e+02 -1.127448535479451e+02 + -1.128104289543148e+02 -1.128760320907921e+02 -1.129416630123176e+02 -1.130073216706816e+02 -1.130730080183262e+02 + -1.131387221134510e+02 -1.132044640167948e+02 -1.132702336934948e+02 -1.133360310978225e+02 -1.134018562361866e+02 + -1.134677091387784e+02 -1.135335898787815e+02 -1.135994985091588e+02 -1.136654349589990e+02 -1.137313991629182e+02 + -1.137973912015162e+02 -1.138634111582333e+02 -1.139294589818884e+02 -1.139955346168527e+02 -1.140616381243277e+02 + -1.141277695680233e+02 -1.141939289048548e+02 -1.142601160860919e+02 -1.143263311472162e+02 -1.143925741390390e+02 + -1.144588450894802e+02 -1.145251440101338e+02 -1.145914708701818e+02 -1.146578256494022e+02 -1.147242084123678e+02 + -1.147906192149256e+02 -1.148570579932248e+02 -1.149235246826633e+02 -1.149900193353325e+02 -1.150565420227369e+02 + -1.151230927773426e+02 -1.151896716067799e+02 -1.152562784583746e+02 -1.153229132947855e+02 -1.153895762003063e+02 + -1.154562672526404e+02 -1.155229863814943e+02 -1.155897335150450e+02 -1.156565087233475e+02 -1.157233120892246e+02 + -1.157901436046917e+02 -1.158570032371645e+02 -1.159238909464663e+02 -1.159908067231330e+02 -1.160577506881430e+02 + -1.161247229415995e+02 -1.161917233696630e+02 -1.162587518588770e+02 -1.163258085112608e+02 -1.163928934406831e+02 + -1.164600065929374e+02 -1.165271479034755e+02 -1.165943174344564e+02 -1.166615152526160e+02 -1.167287413162901e+02 + -1.167959955757904e+02 -1.168632780577301e+02 -1.169305888112216e+02 -1.169979278990717e+02 -1.170652953548001e+02 + -1.171326910810820e+02 -1.172001149975291e+02 -1.172675672223445e+02 -1.173350478778825e+02 -1.174025569045121e+02 + -1.174700942215011e+02 -1.175376598456954e+02 -1.176052538191002e+02 -1.176728761867799e+02 -1.177405269796691e+02 + -1.178082061691247e+02 -1.178759137299273e+02 -1.179436497101298e+02 -1.180114141509050e+02 -1.180792069926326e+02 + -1.181470281872303e+02 -1.182148778335583e+02 -1.182827560287664e+02 -1.183506627162192e+02 -1.184185978220269e+02 + -1.184865613570652e+02 -1.185545533602401e+02 -1.186225738978121e+02 -1.186906230193939e+02 -1.187587006806511e+02 + -1.188268068350639e+02 -1.188949415213182e+02 -1.189631047837780e+02 -1.190312966043158e+02 -1.190995169567162e+02 + -1.191677658449030e+02 -1.192360432941998e+02 -1.193043493853908e+02 -1.193726841751893e+02 -1.194410475685670e+02 + -1.195094394794060e+02 -1.195778600089746e+02 -1.196463092648311e+02 -1.197147871923100e+02 -1.197832937276135e+02 + -1.198518289326376e+02 -1.199203928745778e+02 -1.199889855161324e+02 -1.200576068078755e+02 -1.201262567563797e+02 + -1.201949353935382e+02 -1.202636427965272e+02 -1.203323790196208e+02 -1.204011439802014e+02 -1.204699376081542e+02 + -1.205387600202684e+02 -1.206076113241917e+02 -1.206764914041025e+02 -1.207454001431820e+02 -1.208143376440890e+02 + -1.208833040296615e+02 -1.209522992839752e+02 -1.210213233653680e+02 -1.210903762679893e+02 -1.211594580022500e+02 + -1.212285686077949e+02 -1.212977081155049e+02 -1.213668764919694e+02 -1.214360737100132e+02 -1.215052998316942e+02 + -1.215745549154533e+02 -1.216438389160294e+02 -1.217131517838345e+02 -1.217824935556734e+02 -1.218518642837182e+02 + -1.219212639952166e+02 -1.219906927020717e+02 -1.220601503797327e+02 -1.221296370078328e+02 -1.221991526191948e+02 + -1.222686972509000e+02 -1.223382709038720e+02 -1.224078735702578e+02 -1.224775052432531e+02 -1.225471659287695e+02 + -1.226168556825330e+02 -1.226865745477072e+02 -1.227563224673916e+02 -1.228260993926653e+02 -1.228959054065903e+02 + -1.229657405910973e+02 -1.230356048916106e+02 -1.231054982500379e+02 -1.231754207307278e+02 -1.232453724007864e+02 + -1.233153532159101e+02 -1.233853631242201e+02 -1.234554021549459e+02 -1.235254703591199e+02 -1.235955677938801e+02 + -1.236656944915691e+02 -1.237358503792446e+02 -1.238060353939673e+02 -1.238762496180971e+02 -1.239464931371069e+02 + -1.240167659036240e+02 -1.240870678602586e+02 -1.241573990423949e+02 -1.242277595040581e+02 -1.242981492810638e+02 + -1.243685683872523e+02 -1.244390167667736e+02 -1.245094943779347e+02 -1.245800013053605e+02 -1.246505376299316e+02 + -1.247211032912332e+02 -1.247916982296097e+02 -1.248623225297382e+02 -1.249329762770640e+02 -1.250036594157741e+02 + -1.250743718736609e+02 -1.251451136541969e+02 -1.252158847947410e+02 -1.252866853925174e+02 -1.253575155184925e+02 + -1.254283750787370e+02 -1.254992639825418e+02 -1.255701823169751e+02 -1.256411301759969e+02 -1.257121075033584e+02 + -1.257831142369608e+02 -1.258541504415142e+02 -1.259252161922362e+02 -1.259963114795672e+02 -1.260674362758903e+02 + -1.261385905661348e+02 -1.262097743537985e+02 -1.262809877041053e+02 -1.263522306696565e+02 -1.264235031908370e+02 + -1.264948052148923e+02 -1.265661368287249e+02 -1.266374981169807e+02 -1.267088890156212e+02 -1.267803094502130e+02 + -1.268517594534262e+02 -1.269232390831601e+02 -1.269947483911282e+02 -1.270662874069690e+02 -1.271378560782095e+02 + -1.272094543594662e+02 -1.272810823158284e+02 -1.273527400123002e+02 -1.274244274030747e+02 -1.274961444355319e+02 + -1.275678911406106e+02 -1.276396675704015e+02 -1.277114737780431e+02 -1.277833097950603e+02 -1.278551755654751e+02 + -1.279270710424012e+02 -1.279989963028243e+02 -1.280709514152536e+02 -1.281429362904217e+02 -1.282149508513121e+02 + -1.282869952276877e+02 -1.283590695463467e+02 -1.284311737154509e+02 -1.285033076302067e+02 -1.285754713526335e+02 + -1.286476649682441e+02 -1.287198884897120e+02 -1.287921419051992e+02 -1.288644251776617e+02 -1.289367382880697e+02 + -1.290090813146567e+02 -1.290814543319980e+02 -1.291538573027727e+02 -1.292262901737162e+02 -1.292987529396840e+02 + -1.293712456190937e+02 -1.294437682764910e+02 -1.295163209673579e+02 -1.295889036647941e+02 -1.296615163353197e+02 + -1.297341590015173e+02 -1.298068316903185e+02 -1.298795343899871e+02 -1.299522670904091e+02 -1.300250298266263e+02 + -1.300978226354063e+02 -1.301706455152632e+02 -1.302434984561237e+02 -1.303163814518184e+02 -1.303892945098205e+02 + -1.304622376882688e+02 -1.305352110313897e+02 -1.306082144770936e+02 -1.306812479731976e+02 -1.307543116134598e+02 + -1.308274054850011e+02 -1.309005295024521e+02 -1.309736835845235e+02 -1.310468678387340e+02 -1.311200823754845e+02 + -1.311933271278942e+02 -1.312666020134129e+02 -1.313399070640916e+02 -1.314132423401880e+02 -1.314866079001839e+02 + -1.315600037753056e+02 -1.316334298895329e+02 -1.317068861777292e+02 -1.317803727255405e+02 -1.318538896215189e+02 + -1.319274368150577e+02 -1.320010142454794e+02 -1.320746219509807e+02 -1.321482599879661e+02 -1.322219283867981e+02 + -1.322956271602158e+02 -1.323693562765047e+02 -1.324431157110688e+02 -1.325169055122373e+02 -1.325907257242561e+02 + -1.326645763021127e+02 -1.327384572099461e+02 -1.328123685377604e+02 -1.328863103680995e+02 -1.329602826278048e+02 + -1.330342852393407e+02 -1.331083182633673e+02 -1.331823817787306e+02 -1.332564757988239e+02 -1.333306003141445e+02 + -1.334047552890586e+02 -1.334789407033280e+02 -1.335531566244299e+02 -1.336274031130300e+02 -1.337016801148342e+02 + -1.337759875748336e+02 -1.338503255501201e+02 -1.339246941130952e+02 -1.339990932852997e+02 -1.340735230609586e+02 + -1.341479833758948e+02 -1.342224741891434e+02 -1.342969956109889e+02 -1.343715477431406e+02 -1.344461305017541e+02 + -1.345207438015131e+02 -1.345953877367626e+02 -1.346700624038786e+02 -1.347447677276981e+02 -1.348195036263442e+02 + -1.348942701626209e+02 -1.349690674171868e+02 -1.350438953974369e+02 -1.351187540921076e+02 -1.351936434885642e+02 + -1.352685635848754e+02 -1.353435144232942e+02 -1.354184960414874e+02 -1.354935084145923e+02 -1.355685515128237e+02 + -1.356436253492364e+02 -1.357187299541088e+02 -1.357938653837732e+02 -1.358690316768758e+02 -1.359442287752637e+02 + -1.360194566279880e+02 -1.360947153097144e+02 -1.361700048911278e+02 -1.362453253013760e+02 -1.363206764782614e+02 + -1.363960585357406e+02 -1.364714715821978e+02 -1.365469155275740e+02 -1.366223902703805e+02 -1.366978958618521e+02 + -1.367734323848502e+02 -1.368489998960226e+02 -1.369245984210613e+02 -1.370002278880492e+02 -1.370758882331093e+02 + -1.371515795221331e+02 -1.372273018270698e+02 -1.373030551143317e+02 -1.373788393429953e+02 -1.374546545483291e+02 + -1.375305007816427e+02 -1.376063780822184e+02 -1.376822864668756e+02 -1.377582258746108e+02 -1.378341962588316e+02 + -1.379101977084133e+02 -1.379862303093919e+02 -1.380622940009784e+02 -1.381383887192652e+02 -1.382145145346940e+02 + -1.382906715205862e+02 -1.383668596274320e+02 -1.384430787972570e+02 -1.385193290610606e+02 -1.385956104734610e+02 + -1.386719230945808e+02 -1.387482669582360e+02 -1.388246419875133e+02 -1.389010481148665e+02 -1.389774854209464e+02 + -1.390539539951986e+02 -1.391304538140523e+02 -1.392069848343242e+02 -1.392835470473980e+02 -1.393601404693719e+02 + -1.394367651806349e+02 -1.395134212422815e+02 -1.395901085739362e+02 -1.396668271002043e+02 -1.397435769070855e+02 + -1.398203580874878e+02 -1.398971706005607e+02 -1.399740143977720e+02 -1.400508895336226e+02 -1.401277960614956e+02 + -1.402047339272718e+02 -1.402817030764181e+02 -1.403587035602461e+02 -1.404357354502877e+02 -1.405127987931110e+02 + -1.405898936026113e+02 -1.406670197869564e+02 -1.407441772794584e+02 -1.408213662197336e+02 -1.408985867371466e+02 + -1.409758387137537e+02 -1.410531220224061e+02 -1.411304367464428e+02 -1.412077829961380e+02 -1.412851607790223e+02 + -1.413625700771281e+02 -1.414400108732392e+02 -1.415174831646232e+02 -1.415949870057306e+02 -1.416725224388105e+02 + -1.417500894001226e+02 -1.418276878351835e+02 -1.419053178325258e+02 -1.419829794809226e+02 -1.420606727270934e+02 + -1.421383975074728e+02 -1.422161538594082e+02 -1.422939418408956e+02 -1.423717614916131e+02 -1.424496128273150e+02 + -1.425274957863782e+02 -1.426054103213069e+02 -1.426833565184944e+02 -1.427613344645970e+02 -1.428393441134355e+02 + -1.429173854035838e+02 -1.429954583454632e+02 -1.430735629773860e+02 -1.431516993773805e+02 -1.432298676007922e+02 + -1.433080675725197e+02 -1.433862992191345e+02 -1.434645626043482e+02 -1.435428578032951e+02 -1.436211847996638e+02 + -1.436995435672099e+02 -1.437779341314036e+02 -1.438563565210897e+02 -1.439348107268960e+02 -1.440132967358192e+02 + -1.440918145585468e+02 -1.441703642214681e+02 -1.442489457900865e+02 -1.443275593072134e+02 -1.444062046857781e+02 + -1.444848818522611e+02 -1.445635909172288e+02 -1.446423319927847e+02 -1.447211050130976e+02 -1.447999098925679e+02 + -1.448787466444589e+02 -1.449576153140356e+02 -1.450365159757091e+02 -1.451154486823820e+02 -1.451944133717774e+02 + -1.452734099863848e+02 -1.453524386029381e+02 -1.454314992962476e+02 -1.455105919991844e+02 -1.455897166474813e+02 + -1.456688733302556e+02 -1.457480621396693e+02 -1.458272830266799e+02 -1.459065359271370e+02 -1.459858208576615e+02 + -1.460651378591126e+02 -1.461444869885314e+02 -1.462238682831965e+02 -1.463032816851561e+02 -1.463827271416525e+02 + -1.464622047159361e+02 -1.465417144784923e+02 -1.466212564127396e+02 -1.467008304928943e+02 -1.467804367434297e+02 + -1.468600751934606e+02 -1.469397458404120e+02 -1.470194486722770e+02 -1.470991836710121e+02 -1.471789508433917e+02 + -1.472587503015001e+02 -1.473385821300154e+02 -1.474184461986837e+02 -1.474983423870870e+02 -1.475782708290815e+02 + -1.476582316674545e+02 -1.477382248264445e+02 -1.478182502096616e+02 -1.478983078567520e+02 -1.479783978350921e+02 + -1.480585201869469e+02 -1.481386749269736e+02 -1.482188619845118e+02 -1.482990813088785e+02 -1.483793330146163e+02 + -1.484596172099193e+02 -1.485399338123612e+02 -1.486202827323657e+02 -1.487006640423751e+02 -1.487810778248495e+02 + -1.488615240403001e+02 -1.489420026412511e+02 -1.490225136702235e+02 -1.491030571832025e+02 -1.491836332000337e+02 + -1.492642417202360e+02 -1.493448826981615e+02 -1.494255561054278e+02 -1.495062620278810e+02 -1.495870005487025e+02 + -1.496677716261896e+02 -1.497485751994623e+02 -1.498294112558179e+02 -1.499102798158717e+02 -1.499911809853331e+02 + -1.500721148441144e+02 -1.501530812838450e+02 -1.502340802026938e+02 -1.503151117132690e+02 -1.503961759364751e+02 + -1.504772728119622e+02 -1.505584022645880e+02 -1.506395643412949e+02 -1.507207591024668e+02 -1.508019865401696e+02 + -1.508832466324269e+02 -1.509645393694111e+02 -1.510458647628492e+02 -1.511272228985386e+02 -1.512086138412552e+02 + -1.512900374976176e+02 -1.513714937855876e+02 -1.514529828266537e+02 -1.515345047392310e+02 -1.516160594259147e+02 + -1.516976467776822e+02 -1.517792668548592e+02 -1.518609197460578e+02 -1.519426054836894e+02 -1.520243240750476e+02 + -1.521060754831553e+02 -1.521878596792744e+02 -1.522696767118938e+02 -1.523515266305248e+02 -1.524334094115421e+02 + -1.525153250314230e+02 -1.525972735401888e+02 -1.526792549864990e+02 -1.527612693400200e+02 -1.528433165631959e+02 + -1.529253966685747e+02 -1.530075096900777e+02 -1.530896556970147e+02 -1.531718347321965e+02 -1.532540466970516e+02 + -1.533362915133235e+02 -1.534185693253995e+02 -1.535008802693854e+02 -1.535832242256197e+02 -1.536656010621809e+02 + -1.537480108538752e+02 -1.538304537113657e+02 -1.539129296820158e+02 -1.539954387715506e+02 -1.540779808824423e+02 + -1.541605559457948e+02 -1.542431641104905e+02 -1.543258055115917e+02 -1.544084800111010e+02 -1.544911874726015e+02 + -1.545739280390565e+02 -1.546567018609975e+02 -1.547395088398511e+02 -1.548223488576198e+02 -1.549052219677139e+02 + -1.549881282595875e+02 -1.550710677954614e+02 -1.551540406026988e+02 -1.552370465964632e+02 -1.553200857053796e+02 + -1.554031580241178e+02 -1.554862636500489e+02 -1.555694025253043e+02 -1.556525745801794e+02 -1.557357798528659e+02 + -1.558190184045264e+02 -1.559022902803117e+02 -1.559855954979769e+02 -1.560689339817060e+02 -1.561523056771075e+02 + -1.562357107090587e+02 -1.563191491909100e+02 -1.564026210106382e+02 -1.564861260558312e+02 -1.565696644378976e+02 + -1.566532362813955e+02 -1.567368415396626e+02 -1.568204801387562e+02 -1.569041520668287e+02 -1.569878573487146e+02 + -1.570715960938785e+02 -1.571553683828581e+02 -1.572391740958522e+02 -1.573230131265335e+02 -1.574068856228085e+02 + -1.574907917295132e+02 -1.575747313249683e+02 -1.576587042737324e+02 -1.577427106518309e+02 -1.578267505715277e+02 + -1.579108240785769e+02 -1.579949311783184e+02 -1.580790717809458e+02 -1.581632458187553e+02 -1.582474534075981e+02 + -1.583316946623155e+02 -1.584159695101536e+02 -1.585002778727259e+02 -1.585846198367120e+02 -1.586689954874005e+02 + -1.587534047394542e+02 -1.588378475061590e+02 -1.589223238659185e+02 -1.590068339195322e+02 -1.590913776922658e+02 + -1.591759551748261e+02 -1.592605662952183e+02 -1.593452110061037e+02 -1.594298894214712e+02 -1.595146016508511e+02 + -1.595993476246111e+02 -1.596841272537272e+02 -1.597689405507699e+02 -1.598537875632453e+02 -1.599386683768111e+02 + -1.600235830481832e+02 -1.601085314801616e+02 -1.601935135899282e+02 -1.602785295061083e+02 -1.603635793509372e+02 + -1.604486630096468e+02 -1.605337803660765e+02 -1.606189315354990e+02 -1.607041166452176e+02 -1.607893356392255e+02 + -1.608745884397152e+02 -1.609598750649831e+02 -1.610451955612870e+02 -1.611305499906227e+02 -1.612159383917271e+02 + -1.613013606945609e+02 -1.613868168398436e+02 -1.614723069201057e+02 -1.615578310304217e+02 -1.616433891242326e+02 + -1.617289811339727e+02 -1.618146070496823e+02 -1.619002668955830e+02 -1.619859607750138e+02 -1.620716887676450e+02 + -1.621574507793529e+02 -1.622432467219253e+02 -1.623290767045893e+02 -1.624149408340039e+02 -1.625008390091176e+02 + -1.625867711331680e+02 -1.626727373342588e+02 -1.627587377384768e+02 -1.628447722389764e+02 -1.629308407201184e+02 + -1.630169432640222e+02 -1.631030799800713e+02 -1.631892508889492e+02 -1.632754559784962e+02 -1.633616951938801e+02 + -1.634479685044198e+02 -1.635342760187116e+02 -1.636206178291233e+02 -1.637069938238325e+02 -1.637934038942077e+02 + -1.638798481485683e+02 -1.639663267112721e+02 -1.640528395538795e+02 -1.641393866180353e+02 -1.642259678785196e+02 + -1.643125833411851e+02 -1.643992331030405e+02 -1.644859172470150e+02 -1.645726357085657e+02 -1.646593884180614e+02 + -1.647461754329907e+02 -1.648329968179324e+02 -1.649198525387065e+02 -1.650067425502886e+02 -1.650936668630355e+02 + -1.651806255134507e+02 -1.652676185872448e+02 -1.653546461444497e+02 -1.654417080931755e+02 -1.655288043499995e+02 + -1.656159350172886e+02 -1.657031001994683e+02 -1.657902998234105e+02 -1.658775338117127e+02 -1.659648022474274e+02 + -1.660521052162188e+02 -1.661394426537408e+02 -1.662268144894047e+02 -1.663142207776613e+02 -1.664016615975541e+02 + -1.664891370014617e+02 -1.665766470055737e+02 -1.666641915079906e+02 -1.667517704334961e+02 -1.668393839316945e+02 + -1.669270321420214e+02 -1.670147149384157e+02 -1.671024321837371e+02 -1.671901839620226e+02 -1.672779703889409e+02 + -1.673657914855093e+02 -1.674536472385115e+02 -1.675415375924466e+02 -1.676294625158688e+02 -1.677174221158364e+02 + -1.678054164853866e+02 -1.678934455229663e+02 -1.679815091339810e+02 -1.680696074462591e+02 -1.681577405863894e+02 + -1.682459084535819e+02 -1.683341109324726e+02 -1.684223480767776e+02 -1.685106199767677e+02 -1.685989266998525e+02 + -1.686872682758898e+02 -1.687756446073924e+02 -1.688640556163956e+02 -1.689525014303699e+02 -1.690409821718389e+02 + -1.691294977381033e+02 -1.692180480141565e+02 -1.693066330609834e+02 -1.693952529706734e+02 -1.694839077837423e+02 + -1.695725975104607e+02 -1.696613220916933e+02 -1.697500814887782e+02 -1.698388758143547e+02 -1.699277051650943e+02 + -1.700165694224996e+02 -1.701054684738952e+02 -1.701944024450633e+02 -1.702833714670375e+02 -1.703723754534025e+02 + -1.704614143033400e+02 -1.705504880758685e+02 -1.706395968591658e+02 -1.707287406982126e+02 -1.708179196055015e+02 + -1.709071335067704e+02 -1.709963823462651e+02 -1.710856662290167e+02 -1.711749852543236e+02 -1.712643393377691e+02 + -1.713537283867857e+02 -1.714431524599174e+02 -1.715326116432521e+02 -1.716221059819435e+02 -1.717116354891412e+02 + -1.718012000909151e+02 -1.718907997312464e+02 -1.719804345128430e+02 -1.720701045346718e+02 -1.721598097220100e+02 + -1.722495499971131e+02 -1.723393254438396e+02 -1.724291361494486e+02 -1.725189820532021e+02 -1.726088630837053e+02 + -1.726987792749333e+02 -1.727887306891670e+02 -1.728787173965418e+02 -1.729687394350333e+02 -1.730587967061244e+02 + -1.731488891286860e+02 -1.732390168276344e+02 -1.733291799265234e+02 -1.734193783374131e+02 -1.735096119603506e+02 + -1.735998808588243e+02 -1.736901851222248e+02 -1.737805247801124e+02 -1.738708998286339e+02 -1.739613101901119e+02 + -1.740517558114003e+02 -1.741422368113012e+02 -1.742327533050288e+02 -1.743233052214973e+02 -1.744138924793676e+02 + -1.745045151425876e+02 -1.745951732822802e+02 -1.746858668529805e+02 -1.747765958032038e+02 -1.748673601739718e+02 + -1.749581600245709e+02 -1.750489953948396e+02 -1.751398663036498e+02 -1.752307727054541e+02 -1.753217145616989e+02 + -1.754126919262226e+02 -1.755037048571098e+02 -1.755947533370347e+02 -1.756858373371216e+02 -1.757769568577038e+02 + -1.758681119173357e+02 -1.759593025782490e+02 -1.760505288876894e+02 -1.761417907892832e+02 -1.762330882344909e+02 + -1.763244213097290e+02 -1.764157900964081e+02 -1.765071945209611e+02 -1.765986345094344e+02 -1.766901101413071e+02 + -1.767816215026837e+02 -1.768731685527375e+02 -1.769647512369523e+02 -1.770563695729838e+02 -1.771480236027573e+02 + -1.772397133931058e+02 -1.773314389867134e+02 -1.774232003047593e+02 -1.775149972814722e+02 -1.776068300247813e+02 + -1.776986986385443e+02 -1.777906030366335e+02 -1.778825431235826e+02 -1.779745189565556e+02 -1.780665306226855e+02 + -1.781585781763529e+02 -1.782506616334199e+02 -1.783427808884287e+02 -1.784349358629673e+02 -1.785271267081259e+02 + -1.786193535668995e+02 -1.787116163204012e+02 -1.788039148425030e+02 -1.788962492399977e+02 -1.789886196318098e+02 + -1.790810259524725e+02 -1.791734681201561e+02 -1.792659461719689e+02 -1.793584601742520e+02 -1.794510101913400e+02 + -1.795435962594126e+02 -1.796362183040394e+02 -1.797288762617232e+02 -1.798215702233099e+02 -1.799143002757676e+02 + -1.800070663362093e+02 -1.800998683262517e+02 -1.801927063553792e+02 -1.802855805315161e+02 -1.803784907684791e+02 + -1.804714369692463e+02 -1.805644191875481e+02 -1.806574375103104e+02 -1.807504920064915e+02 -1.808435827084130e+02 + -1.809367095198169e+02 -1.810298723599504e+02 -1.811230713386593e+02 -1.812163065647390e+02 -1.813095779521854e+02 + -1.814028854036152e+02 -1.814962289709267e+02 -1.815896087407728e+02 -1.816830247895420e+02 -1.817764771515762e+02 + -1.818699657032943e+02 -1.819634903439186e+02 -1.820570512218083e+02 -1.821506484855823e+02 -1.822442820357622e+02 + -1.823379517614509e+02 -1.824316577541746e+02 -1.825254001134493e+02 -1.826191787683301e+02 -1.827129936397535e+02 + -1.828068447866412e+02 -1.829007322929544e+02 -1.829946562048259e+02 -1.830886165373395e+02 -1.831826132192083e+02 + -1.832766461922778e+02 -1.833707155372913e+02 -1.834648213380734e+02 -1.835589635518759e+02 -1.836531421229175e+02 + -1.837473570698571e+02 -1.838416084358642e+02 -1.839358962877114e+02 -1.840302206684350e+02 -1.841245815025237e+02 + -1.842189787235884e+02 -1.843134124202761e+02 -1.844078826806361e+02 -1.845023894352911e+02 -1.845969326205561e+02 + -1.846915123529413e+02 -1.847861287393624e+02 -1.848807816681596e+02 -1.849754710227848e+02 -1.850701968857076e+02 + -1.851649593688754e+02 -1.852597585031284e+02 -1.853545942804591e+02 -1.854494666185751e+02 -1.855443754618861e+02 + -1.856393209358935e+02 -1.857343031604275e+02 -1.858293220515437e+02 -1.859243775087027e+02 -1.860194695687597e+02 + -1.861145983033516e+02 -1.862097637858479e+02 -1.863049660540466e+02 -1.864002050017272e+02 -1.864954805431744e+02 + -1.865907928187129e+02 -1.866861419596013e+02 -1.867815278347963e+02 -1.868769503164351e+02 -1.869724095516791e+02 + -1.870679056966096e+02 -1.871634386679672e+02 -1.872590083560524e+02 -1.873546147847470e+02 -1.874502580123688e+02 + -1.875459381013990e+02 -1.876416550903780e+02 -1.877374089179168e+02 -1.878331995340542e+02 -1.879290270344656e+02 + -1.880248915055781e+02 -1.881207928511883e+02 -1.882167309755823e+02 -1.883127059676341e+02 -1.884087179360091e+02 + -1.885047668839511e+02 -1.886008527852007e+02 -1.886969756009047e+02 -1.887931353152428e+02 -1.888893320171184e+02 + -1.889855657829229e+02 -1.890818365342772e+02 -1.891781441947396e+02 -1.892744888503877e+02 -1.893708705921393e+02 + -1.894672893677523e+02 -1.895637451161106e+02 -1.896602378837592e+02 -1.897567677352667e+02 -1.898533346996371e+02 + -1.899499387807097e+02 -1.900465799172331e+02 -1.901432580674921e+02 -1.902399733330072e+02 -1.903367258125687e+02 + -1.904335154508099e+02 -1.905303421711713e+02 -1.906272059664800e+02 -1.907241068668330e+02 -1.908210449820209e+02 + -1.909180203947948e+02 -1.910150330000556e+02 -1.911120827002041e+02 -1.912091696154924e+02 -1.913062938635582e+02 + -1.914034553337337e+02 -1.915006539182285e+02 -1.915978897490666e+02 -1.916951629619544e+02 -1.917924734675151e+02 + -1.918898211586861e+02 -1.919872060827436e+02 -1.920846283161583e+02 -1.921820878978424e+02 -1.922795848438701e+02 + -1.923771191165239e+02 -1.924746906889474e+02 -1.925722996315181e+02 -1.926699460069926e+02 -1.927676297504074e+02 + -1.928653507913461e+02 -1.929631091652971e+02 -1.930609049367203e+02 -1.931587381800568e+02 -1.932566089358633e+02 + -1.933545170991796e+02 -1.934524625825225e+02 -1.935504455138344e+02 -1.936484660231147e+02 -1.937465240331655e+02 + -1.938446194535055e+02 -1.939427523477156e+02 -1.940409227930324e+02 -1.941391307672549e+02 -1.942373762317632e+02 + -1.943356591817002e+02 -1.944339796386271e+02 -1.945323376960147e+02 -1.946307334225392e+02 -1.947291667157886e+02 + -1.948276374816129e+02 -1.949261458299981e+02 -1.950246918758956e+02 -1.951232755499811e+02 -1.952218967672293e+02 + -1.953205555640852e+02 -1.954192520091347e+02 -1.955179861780584e+02 -1.956167581109271e+02 -1.957155676982765e+02 + -1.958144148511486e+02 -1.959132997121442e+02 -1.960122224157670e+02 -1.961111828325720e+02 -1.962101808324193e+02 + -1.963092165463342e+02 -1.964082901163006e+02 -1.965074014669716e+02 -1.966065505047830e+02 -1.967057372806285e+02 + -1.968049618689787e+02 -1.969042242941536e+02 -1.970035245570506e+02 -1.971028626150270e+02 -1.972022384428475e+02 + -1.973016521284466e+02 -1.974011037520065e+02 -1.975005932495305e+02 -1.976001205455443e+02 -1.976996856628438e+02 + -1.977992886519515e+02 -1.978989295760255e+02 -1.979986084767589e+02 -1.980983252973461e+02 -1.981980799861144e+02 + -1.982978726104215e+02 -1.983977032396124e+02 -1.984975718319531e+02 -1.985974783450467e+02 -1.986974228449224e+02 + -1.987974053983538e+02 -1.988974259666649e+02 -1.989974844962869e+02 -1.990975809795281e+02 -1.991977154414513e+02 + -1.992978879922588e+02 -1.993980987169082e+02 -1.994983475142392e+02 -1.995986342853965e+02 -1.996989591268633e+02 + -1.997993221398394e+02 -1.998997232490551e+02 -2.000001623829878e+02 -2.001006396615730e+02 -2.002011551976202e+02 + -2.003017088839768e+02 -2.004023006006677e+02 -2.005029303963877e+02 -2.006035983645368e+02 -2.007043046086661e+02 + -2.008050491826254e+02 -2.009058319313084e+02 -2.010066527248718e+02 -2.011075117434797e+02 -2.012084091672780e+02 + -2.013093448663347e+02 -2.014103186854462e+02 -2.015113306783989e+02 -2.016123809487723e+02 -2.017134695903300e+02 + -2.018145966520298e+02 -2.019157620134241e+02 -2.020169655668574e+02 -2.021182074252480e+02 -2.022194877090834e+02 + -2.023208063485549e+02 -2.024221632682046e+02 -2.025235585602719e+02 -2.026249923196053e+02 -2.027264644837921e+02 + -2.028279749730532e+02 -2.029295237954015e+02 -2.030311109992572e+02 -2.031327367068774e+02 -2.032344010007734e+02 + -2.033361037306376e+02 -2.034378447601810e+02 -2.035396242420057e+02 -2.036414423389593e+02 -2.037432989659801e+02 + -2.038451940079258e+02 -2.039471274772405e+02 -2.040490994323931e+02 -2.041511099883670e+02 -2.042531592234435e+02 + -2.043552470125819e+02 -2.044573732391661e+02 -2.045595380236004e+02 -2.046617414909655e+02 -2.047639835480296e+02 + -2.048662640993485e+02 -2.049685832589404e+02 -2.050709411450770e+02 -2.051733376835843e+02 -2.052757727854042e+02 + -2.053782464943871e+02 -2.054807588829732e+02 -2.055833100050551e+02 -2.056858998827895e+02 -2.057885284299405e+02 + -2.058911955783421e+02 -2.059939014405005e+02 -2.060966461276917e+02 -2.061994295656012e+02 -2.063022516666823e+02 + -2.064051124760526e+02 -2.065080120661920e+02 -2.066109504863692e+02 -2.067139277576765e+02 -2.068169438117121e+02 + -2.069199985973326e+02 -2.070230922219201e+02 -2.071262247789163e+02 -2.072293961474789e+02 -2.073326062201854e+02 + -2.074358551575783e+02 -2.075391431180403e+02 -2.076424699833530e+02 -2.077458356179337e+02 -2.078492400933438e+02 + -2.079526835133251e+02 -2.080561659031989e+02 -2.081596872578975e+02 -2.082632475292167e+02 -2.083668466898186e+02 + -2.084704848389632e+02 -2.085741620623951e+02 -2.086778782651976e+02 -2.087816333480700e+02 -2.088854273748348e+02 + -2.089892604383302e+02 -2.090931325843364e+02 -2.091970438282278e+02 -2.093009941108145e+02 -2.094049833841979e+02 + -2.095090117202067e+02 -2.096130791905716e+02 -2.097171857469022e+02 -2.098213313423286e+02 -2.099255160561849e+02 + -2.100297399619016e+02 -2.101340029830976e+02 -2.102383050403986e+02 -2.103426461922712e+02 -2.104470265253758e+02 + -2.105514461013085e+02 -2.106559049410852e+02 -2.107604029284658e+02 -2.108649399745926e+02 -2.109695162373935e+02 + -2.110741318706494e+02 -2.111787867647689e+02 -2.112834807867834e+02 -2.113882139735869e+02 -2.114929864074473e+02 + -2.115977981822681e+02 -2.117026493533424e+02 -2.118075398098887e+02 -2.119124694556393e+02 -2.120174384184601e+02 + -2.121224468216736e+02 -2.122274945462991e+02 -2.123325814769304e+02 -2.124377077547605e+02 -2.125428735238108e+02 + -2.126480786828185e+02 -2.127533231155498e+02 -2.128586068911697e+02 -2.129639301084739e+02 -2.130692927993837e+02 + -2.131746949622090e+02 -2.132801365276879e+02 -2.133856174488912e+02 -2.134911378357916e+02 -2.135966977951921e+02 + -2.137022972643151e+02 -2.138079361581469e+02 -2.139136144723085e+02 -2.140193322420075e+02 -2.141250895801643e+02 + -2.142308865713384e+02 -2.143367231089345e+02 -2.144425990899214e+02 -2.145485146166798e+02 -2.146544697958461e+02 + -2.147604645456698e+02 -2.148664987887291e+02 -2.149725726533044e+02 -2.150786862586875e+02 -2.151848394825147e+02 + -2.152910321964648e+02 -2.153972644900385e+02 -2.155035364828845e+02 -2.156098481974242e+02 -2.157161996246267e+02 + -2.158225907268823e+02 -2.159290214790141e+02 -2.160354919341570e+02 -2.161420021424622e+02 -2.162485520638355e+02 + -2.163551416576007e+02 -2.164617709709994e+02 -2.165684400663080e+02 -2.166751489780245e+02 -2.167818977145845e+02 + -2.168886862079515e+02 -2.169955144082682e+02 -2.171023824148656e+02 -2.172092903208214e+02 -2.173162380450137e+02 + -2.174232255130703e+02 -2.175302528518165e+02 -2.176373201799158e+02 -2.177444273821862e+02 -2.178515743317612e+02 + -2.179587610888773e+02 -2.180659877532527e+02 -2.181732543954297e+02 -2.182805610486399e+02 -2.183879076260487e+02 + -2.184952940541088e+02 -2.186027204324891e+02 -2.187101868605661e+02 -2.188176932633304e+02 -2.189252395535715e+02 + -2.190328257696591e+02 -2.191404519835346e+02 -2.192481182758485e+02 -2.193558246894080e+02 -2.194635711069396e+02 + -2.195713574321837e+02 -2.196791838130171e+02 -2.197870503917547e+02 -2.198949570443306e+02 -2.200029036478261e+02 + -2.201108903502962e+02 -2.202189173008489e+02 -2.203269843818326e+02 -2.204350914576510e+02 -2.205432385876858e+02 + -2.206514258738742e+02 -2.207596533933995e+02 -2.208679211808499e+02 -2.209762291251867e+02 -2.210845771334710e+02 + -2.211929653307878e+02 -2.213013938407175e+02 -2.214098625627986e+02 -2.215183713969045e+02 -2.216269204682873e+02 + -2.217355099024502e+02 -2.218441396005216e+02 -2.219528094497077e+02 -2.220615195058979e+02 -2.221702698646027e+02 + -2.222790606111339e+02 -2.223878917838657e+02 -2.224967632436199e+02 -2.226056748766821e+02 -2.227146268487432e+02 + -2.228236193240230e+02 -2.229326521814535e+02 -2.230417252803019e+02 -2.231508386864637e+02 -2.232599925050409e+02 + -2.233691867913336e+02 -2.234784215614204e+02 -2.235876967242961e+02 -2.236970122086523e+02 -2.238063681290529e+02 + -2.239157646015454e+02 -2.240252015622403e+02 -2.241346789340316e+02 -2.242441967668838e+02 -2.243537551247286e+02 + -2.244633540002964e+02 -2.245729933685804e+02 -2.246826732048266e+02 -2.247923935126906e+02 -2.249021544092157e+02 + -2.250119559889259e+02 -2.251217981428817e+02 -2.252316807628839e+02 -2.253416039471573e+02 -2.254515678046834e+02 + -2.255615722810486e+02 -2.256716173029860e+02 -2.257817028852108e+02 -2.258918290784169e+02 -2.260019959892315e+02 + -2.261122036854213e+02 -2.262224520233766e+02 -2.263327408802082e+02 -2.264430704272837e+02 -2.265534408332552e+02 + -2.266638519616550e+02 -2.267743036660735e+02 -2.268847960654481e+02 -2.269953292962885e+02 -2.271059033000460e+02 + -2.272165179952407e+02 -2.273271734037251e+02 -2.274378695801794e+02 -2.275486066072624e+02 -2.276593845334010e+02 + -2.277702032421150e+02 -2.278810626343348e+02 -2.279919628455381e+02 -2.281029040172474e+02 -2.282138860806176e+02 + -2.283249089376286e+02 -2.284359725839265e+02 -2.285470770593814e+02 -2.286582224870930e+02 -2.287694089544078e+02 + -2.288806363224278e+02 -2.289919044640359e+02 -2.291032135254801e+02 -2.292145636582007e+02 -2.293259547610424e+02 + -2.294373867252146e+02 -2.295488596639802e+02 -2.296603736910369e+02 -2.297719286997702e+02 -2.298835245768747e+02 + -2.299951614025932e+02 -2.301068392919157e+02 -2.302185583052736e+02 -2.303303184582155e+02 -2.304421196413199e+02 + -2.305539617649887e+02 -2.306658449438852e+02 -2.307777692999738e+02 -2.308897347801602e+02 -2.310017413072381e+02 + -2.311137888826106e+02 -2.312258775426401e+02 -2.313380073849178e+02 -2.314501784790464e+02 -2.315623907214496e+02 + -2.316746440227619e+02 -2.317869385236417e+02 -2.318992743527083e+02 -2.320116513604021e+02 -2.321240694060221e+02 + -2.322365286624793e+02 -2.323490293043759e+02 -2.324615711994689e+02 -2.325741541998047e+02 -2.326867784014305e+02 + -2.327994439322068e+02 -2.329121508032486e+02 -2.330248989898164e+02 -2.331376884404961e+02 -2.332505191272475e+02 + -2.333633911421986e+02 -2.334763045743060e+02 -2.335892593796759e+02 -2.337022554911374e+02 -2.338152928812627e+02 + -2.339283715644559e+02 -2.340414916827054e+02 -2.341546533474617e+02 -2.342678564204413e+02 -2.343811007676228e+02 + -2.344943865217682e+02 -2.346077138212040e+02 -2.347210825597340e+02 -2.348344926295532e+02 -2.349479441609453e+02 + -2.350614372851493e+02 -2.351749718991416e+02 -2.352885478850955e+02 -2.354021653002366e+02 -2.355158242429473e+02 + -2.356295248011875e+02 -2.357432670145577e+02 -2.358570507396431e+02 -2.359708758587992e+02 -2.360847425404777e+02 + -2.361986509531367e+02 -2.363126009791645e+02 -2.364265924750662e+02 -2.365406254798825e+02 -2.366547000814751e+02 + -2.367688163804559e+02 -2.368829744348273e+02 -2.369971741194025e+02 -2.371114153287764e+02 -2.372256982198593e+02 + -2.373400229428812e+02 -2.374543893590377e+02 -2.375687973238754e+02 -2.376832469593778e+02 -2.377977384043928e+02 + -2.379122715987879e+02 -2.380268464580362e+02 -2.381414629990116e+02 -2.382561212769444e+02 -2.383708213990897e+02 + -2.384855634334210e+02 -2.386003472387607e+02 -2.387151726904082e+02 -2.388300399387221e+02 -2.389449491374237e+02 + -2.390599001786255e+02 -2.391748929369255e+02 -2.392899274784697e+02 -2.394050039061344e+02 -2.395201222781684e+02 + -2.396352826134916e+02 -2.397504848183333e+02 -2.398657288168898e+02 -2.399810147179146e+02 -2.400963426277219e+02 + -2.402117124583125e+02 -2.403271241258893e+02 -2.404425777577767e+02 -2.405580734795174e+02 -2.406736111984077e+02 + -2.407891907995794e+02 -2.409048122977546e+02 -2.410204757554728e+02 -2.411361812969551e+02 -2.412519290053517e+02 + -2.413677187378485e+02 -2.414835503650167e+02 -2.415994240369316e+02 -2.417153399089511e+02 -2.418312978780588e+02 + -2.419472978191357e+02 -2.420633397770240e+02 -2.421794238369657e+02 -2.422955500758429e+02 -2.424117185344053e+02 + -2.425279291172331e+02 -2.426441817421263e+02 -2.427604765159341e+02 -2.428768135466203e+02 -2.429931927575585e+02 + -2.431096140668555e+02 -2.432260775561414e+02 -2.433425833145866e+02 -2.434591312980004e+02 -2.435757214497087e+02 + -2.436923537964655e+02 -2.438090283895336e+02 -2.439257452947832e+02 -2.440425045463603e+02 -2.441593060369063e+02 + -2.442761496825792e+02 -2.443930356351059e+02 -2.445099640393889e+02 -2.446269347774639e+02 -2.447439477225602e+02 + -2.448610029755453e+02 -2.449781006544274e+02 -2.450952407181387e+02 -2.452124231032676e+02 -2.453296478161015e+02 + -2.454469148921256e+02 -2.455642244139170e+02 -2.456815764363974e+02 -2.457989708567751e+02 -2.459164075868465e+02 + -2.460338867544718e+02 -2.461514084874868e+02 -2.462689726975661e+02 -2.463865792818051e+02 -2.465042282951439e+02 + -2.466219198202147e+02 -2.467396538925739e+02 -2.468574305187124e+02 -2.469752496359336e+02 -2.470931112029433e+02 + -2.472110153332446e+02 -2.473289621270786e+02 -2.474469514768406e+02 -2.475649832814832e+02 -2.476830576740329e+02 + -2.478011747871381e+02 -2.479193345178656e+02 -2.480375367456449e+02 -2.481557815149384e+02 -2.482740689103307e+02 + -2.483923990118631e+02 -2.485107718618152e+02 -2.486291873559622e+02 -2.487476454083695e+02 -2.488661461527674e+02 + -2.489846897184250e+02 -2.491032759971039e+02 -2.492219048675295e+02 -2.493405763937896e+02 -2.494592906781626e+02 + -2.495780477903268e+02 -2.496968477531592e+02 -2.498156904349301e+02 -2.499345757349562e+02 -2.500535038313474e+02 + -2.501724748933778e+02 -2.502914887761886e+02 -2.504105453266259e+02 -2.505296446724864e+02 -2.506487869586733e+02 + -2.507679721175656e+02 -2.508872000588222e+02 -2.510064708137437e+02 -2.511257844438344e+02 -2.512451410097723e+02 + -2.513645405425343e+02 -2.514839829551193e+02 -2.516034681806881e+02 -2.517229963510282e+02 -2.518425675906852e+02 + -2.519621817966139e+02 -2.520818388494823e+02 -2.522015387924022e+02 -2.523212817096907e+02 -2.524410676880414e+02 + -2.525608967718439e+02 -2.526807688338955e+02 -2.528006837687293e+02 -2.529206417294141e+02 -2.530406428681973e+02 + -2.531606870755077e+02 -2.532807742357317e+02 -2.534009044709059e+02 -2.535210779031462e+02 -2.536412944172385e+02 + -2.537615538911017e+02 -2.538818564125164e+02 -2.540022021028112e+02 -2.541225910076441e+02 -2.542430231270507e+02 + -2.543634983542462e+02 -2.544840166121418e+02 -2.546045780492533e+02 -2.547251828099108e+02 -2.548458307960956e+02 + -2.549665218842466e+02 -2.550872560909815e+02 -2.552080334828205e+02 -2.553288541857174e+02 -2.554497182835964e+02 + -2.555706256328296e+02 -2.556915761009198e+02 -2.558125698274442e+02 -2.559336069560756e+02 -2.560546873747970e+02 + -2.561758109689862e+02 -2.562969778692906e+02 -2.564181882127723e+02 -2.565394419168841e+02 -2.566607388759341e+02 + -2.567820791112567e+02 -2.569034626862424e+02 -2.570248897054782e+02 -2.571463602359873e+02 -2.572678741533426e+02 + -2.573894313462550e+02 -2.575110319474426e+02 -2.576326760938784e+02 -2.577543636955484e+02 -2.578760946446893e+02 + -2.579978689895271e+02 -2.581196868133063e+02 -2.582415481833543e+02 -2.583634531275302e+02 -2.584854015317316e+02 + -2.586073933093156e+02 -2.587294286254374e+02 -2.588515076317444e+02 -2.589736301740566e+02 -2.590957960996737e+02 + -2.592180055676404e+02 -2.593402587446819e+02 -2.594625555165019e+02 -2.595848957490105e+02 -2.597072795099639e+02 + -2.598297069067293e+02 -2.599521780032740e+02 -2.600746928207452e+02 -2.601972512524080e+02 -2.603198532148209e+02 + -2.604424988455961e+02 -2.605651882765137e+02 -2.606879213949725e+02 -2.608106980758151e+02 -2.609335183880386e+02 + -2.610563824372016e+02 -2.611792902809524e+02 -2.613022419394243e+02 -2.614252373306019e+02 -2.615482763897488e+02 + -2.616713592233935e+02 -2.617944859260970e+02 -2.619176563732862e+02 -2.620408704583867e+02 -2.621641283659552e+02 + -2.622874302706103e+02 -2.624107760160917e+02 -2.625341654302978e+02 -2.626575986086381e+02 -2.627810756876698e+02 + -2.629045967010318e+02 -2.630281616427657e+02 -2.631517704514422e+02 -2.632754230861743e+02 -2.633991196437133e+02 + -2.635228602105341e+02 -2.636466446943674e+02 -2.637704729984163e+02 -2.638943451865159e+02 -2.640182613561179e+02 + -2.641422215785110e+02 -2.642662258795402e+02 -2.643902741294400e+02 -2.645143662245587e+02 -2.646385023213122e+02 + -2.647626825745115e+02 -2.648869068724856e+02 -2.650111750962730e+02 -2.651354873642347e+02 -2.652598438005879e+02 + -2.653842443156531e+02 -2.655086888035231e+02 -2.656331773072787e+02 -2.657577099091213e+02 -2.658822866987512e+02 + -2.660069077230897e+02 -2.661315728504449e+02 -2.662562819710931e+02 -2.663810352417937e+02 -2.665058328192844e+02 + -2.666306745937331e+02 -2.667555604333347e+02 -2.668804903849584e+02 -2.670054645383429e+02 -2.671304829760297e+02 + -2.672555457413816e+02 -2.673806527282453e+02 -2.675058038464400e+02 -2.676309992191929e+02 -2.677562389652032e+02 + -2.678815229716541e+02 -2.680068511277727e+02 -2.681322235624782e+02 -2.682576404136338e+02 -2.683831016151858e+02 + -2.685086070756685e+02 -2.686341568058856e+02 -2.687597508516357e+02 -2.688853892964312e+02 -2.690110721950252e+02 + -2.691367994494158e+02 -2.692625709807897e+02 -2.693883869398372e+02 -2.695142474621058e+02 -2.696401523930688e+02 + -2.697661015819900e+02 -2.698920951833660e+02 -2.700181333642693e+02 -2.701442160368443e+02 -2.702703430840482e+02 + -2.703965145270174e+02 -2.705227304331903e+02 -2.706489909170355e+02 -2.707752960482972e+02 -2.709016456707917e+02 + -2.710280396495872e+02 -2.711544781606855e+02 -2.712809613853167e+02 -2.714074892146895e+02 -2.715340615102555e+02 + -2.716606783044584e+02 -2.717873396730564e+02 -2.719140456940721e+02 -2.720407964136753e+02 -2.721675917483545e+02 + -2.722944316245073e+02 -2.724213161378437e+02 -2.725482453844213e+02 -2.726752192923742e+02 -2.728022377909456e+02 + -2.729293009817382e+02 -2.730564089616648e+02 -2.731835616365174e+02 -2.733107589046467e+02 -2.734380008257563e+02 + -2.735652874983575e+02 -2.736926190148396e+02 -2.738199954194386e+02 -2.739474165698984e+02 -2.740748823405867e+02 + -2.742023928588563e+02 -2.743299482670098e+02 -2.744575485141638e+02 -2.745851935229188e+02 -2.747128833029967e+02 + -2.748406178969678e+02 -2.749683973916734e+02 -2.750962218440648e+02 -2.752240911472609e+02 -2.753520052060601e+02 + -2.754799641358123e+02 -2.756079680559450e+02 -2.757360168916492e+02 -2.758641105650285e+02 -2.759922491800748e+02 + -2.761204328366440e+02 -2.762486614361617e+02 -2.763769348745897e+02 -2.765052532244616e+02 -2.766336165883748e+02 + -2.767620250126050e+02 -2.768904785041199e+02 -2.770189769689730e+02 -2.771475203398639e+02 -2.772761087569904e+02 + -2.774047423518460e+02 -2.775334210136085e+02 -2.776621446145333e+02 -2.777909132015001e+02 -2.779197268642361e+02 + -2.780485856892346e+02 -2.781774897218528e+02 -2.783064388461343e+02 -2.784354329669438e+02 -2.785644722337429e+02 + -2.786935567875348e+02 -2.788226864908934e+02 -2.789518612068105e+02 -2.790810810783757e+02 -2.792103462555617e+02 + -2.793396566357773e+02 -2.794690121008859e+02 -2.795984127231330e+02 -2.797278586088501e+02 -2.798573498103315e+02 + -2.799868863353985e+02 -2.801164680680156e+02 -2.802460949220819e+02 -2.803757670550874e+02 -2.805054846206144e+02 + -2.806352475130235e+02 -2.807650555997772e+02 -2.808949088999684e+02 -2.810248074853591e+02 -2.811547514867556e+02 + -2.812847409903677e+02 -2.814147758449749e+02 -2.815448559108459e+02 -2.816749813316353e+02 -2.818051522586102e+02 + -2.819353685901064e+02 -2.820656302199222e+02 -2.821959372766401e+02 -2.823262898869716e+02 -2.824566879353637e+02 + -2.825871312931868e+02 -2.827176200217700e+02 -2.828481542276227e+02 -2.829787340080183e+02 -2.831093594072626e+02 + -2.832400302670260e+02 -2.833707464559445e+02 -2.835015081531469e+02 -2.836323155420096e+02 -2.837631685124079e+02 + -2.838940669226656e+02 -2.840250107984012e+02 -2.841560002155769e+02 -2.842870352842360e+02 -2.844181160721325e+02 + -2.845492424437817e+02 -2.846804142799303e+02 -2.848116317294889e+02 -2.849428949404899e+02 -2.850742037892878e+02 + -2.852055581519247e+02 -2.853369581748677e+02 -2.854684040068092e+02 -2.855998955349205e+02 -2.857314326251873e+02 + -2.858630153203723e+02 -2.859946437114748e+02 -2.861263179056654e+02 -2.862580379663874e+02 -2.863898037660037e+02 + -2.865216151879669e+02 -2.866534723511688e+02 -2.867853753832939e+02 -2.869173242117615e+02 -2.870493187426322e+02 + -2.871813589967982e+02 -2.873134450373917e+02 -2.874455769816758e+02 -2.875777549027032e+02 -2.877099786425546e+02 + -2.878422480619707e+02 -2.879745633273037e+02 -2.881069246090204e+02 -2.882393317884377e+02 -2.883717847366556e+02 + -2.885042835730584e+02 -2.886368284288774e+02 -2.887694192344474e+02 -2.889020558953364e+02 -2.890347384189399e+02 + -2.891674668528066e+02 -2.893002413032724e+02 -2.894330618447220e+02 -2.895659283649483e+02 -2.896988407604515e+02 + -2.898317991491523e+02 -2.899648036558058e+02 -2.900978542110840e+02 -2.902309507220182e+02 -2.903640931951591e+02 + -2.904972816775983e+02 -2.906305162790740e+02 -2.907637970750559e+02 -2.908971239412933e+02 -2.910304967707643e+02 + -2.911639157250792e+02 -2.912973809535366e+02 -2.914308922875549e+02 -2.915644495654761e+02 -2.916980529712119e+02 + -2.918317026983915e+02 -2.919653986339440e+02 -2.920991406314096e+02 -2.922329287174719e+02 -2.923667629702973e+02 + -2.925006435008390e+02 -2.926345703772706e+02 -2.927685434638595e+02 -2.929025626397000e+02 -2.930366280470975e+02 + -2.931707398343328e+02 -2.933048979103752e+02 -2.934391021578708e+02 -2.935733525934834e+02 -2.937076492857184e+02 + -2.938419923764308e+02 -2.939763819565550e+02 -2.941108178399977e+02 -2.942452998623305e+02 -2.943798282228154e+02 + -2.945144031200941e+02 -2.946490243866398e+02 -2.947836918481424e+02 -2.949184056693277e+02 -2.950531660302706e+02 + -2.951879728334102e+02 -2.953228259514730e+02 -2.954577254159683e+02 -2.955926713017622e+02 -2.957276636983648e+02 + -2.958627026572042e+02 -2.959977880627373e+02 -2.961329198152110e+02 -2.962680980450039e+02 -2.964033228802077e+02 + -2.965385942096344e+02 -2.966739119278574e+02 -2.968092761917713e+02 -2.969446871501122e+02 -2.970801446566606e+02 + -2.972156485544735e+02 -2.973511989386669e+02 -2.974867959450954e+02 -2.976224396205114e+02 -2.977581299655766e+02 + -2.978938668856917e+02 -2.980296503111913e+02 -2.981654803674056e+02 -2.983013571739824e+02 -2.984372806328453e+02 + -2.985732506311156e+02 -2.987092672144286e+02 -2.988453304703744e+02 -2.989814404958496e+02 -2.991175973412398e+02 + -2.992538008615809e+02 -2.993900509369414e+02 -2.995263477428711e+02 -2.996626914493826e+02 -2.997990819088619e+02 + -2.999355189707111e+02 -3.000720027900217e+02 -3.002085335269560e+02 -3.003451110562723e+02 -3.004817352353309e+02 + -3.006184061373012e+02 -3.007551238767678e+02 -3.008918885181671e+02 -3.010287000846923e+02 -3.011655584847104e+02 + -3.013024636430795e+02 -3.014394156654455e+02 -3.015764146559894e+02 -3.017134605322491e+02 -3.018505532010304e+02 + -3.019876927128527e+02 -3.021248791518991e+02 -3.022621125932933e+02 -3.023993930706231e+02 -3.025367204603900e+02 + -3.026740946641424e+02 -3.028115158406990e+02 -3.029489841386069e+02 -3.030864994080570e+02 -3.032240615026816e+02 + -3.033616705882347e+02 -3.034993268395738e+02 -3.036370301558538e+02 -3.037747804087723e+02 -3.039125776359002e+02 + -3.040504219146317e+02 -3.041883133157825e+02 -3.043262518737324e+02 -3.044642374836954e+02 -3.046022700638564e+02 + -3.047403497634464e+02 -3.048784767248004e+02 -3.050166508316213e+02 -3.051548719471290e+02 -3.052931401112401e+02 + -3.054314554166776e+02 -3.055698179906950e+02 -3.057082279030724e+02 -3.058466849591645e+02 -3.059851889955948e+02 + -3.061237402384871e+02 -3.062623389075358e+02 -3.064009848072192e+02 -3.065396777363650e+02 -3.066784178864098e+02 + -3.068172054654241e+02 -3.069560403554044e+02 -3.070949224023651e+02 -3.072338516344630e+02 -3.073728281334552e+02 + -3.075118520133569e+02 -3.076509233435525e+02 -3.077900419826468e+02 -3.079292078053290e+02 -3.080684209614084e+02 + -3.082076816048298e+02 -3.083469896309615e+02 -3.084863449149456e+02 -3.086257475095906e+02 -3.087651975081579e+02 + -3.089046949880547e+02 -3.090442399817611e+02 -3.091838323579038e+02 -3.093234720151574e+02 -3.094631591362355e+02 + -3.096028938900603e+02 -3.097426761063483e+02 -3.098825056148365e+02 -3.100223825845469e+02 -3.101623071983122e+02 + -3.103022793549238e+02 -3.104422989228102e+02 -3.105823659329897e+02 -3.107224804626276e+02 -3.108626426108901e+02 + -3.110028524323948e+02 -3.111431097815640e+02 -3.112834145351391e+02 -3.114237668593314e+02 -3.115641669247677e+02 + -3.117046146302696e+02 -3.118451098470761e+02 -3.119856526079039e+02 -3.121262429897644e+02 -3.122668810853719e+02 + -3.124075669478935e+02 -3.125483004566077e+02 -3.126890815070839e+02 -3.128299102339429e+02 -3.129707867704560e+02 + -3.131117110054437e+02 -3.132526828292356e+02 -3.133937023826453e+02 -3.135347698019019e+02 -3.136758849544115e+02 + -3.138170476993112e+02 -3.139582581314797e+02 -3.140995163841689e+02 -3.142408225083815e+02 -3.143821765079714e+02 + -3.145235782804463e+02 -3.146650277504123e+02 -3.148065250572144e+02 -3.149480703283944e+02 -3.150896634295446e+02 + -3.152313042212708e+02 -3.153729928061792e+02 -3.155147293192109e+02 -3.156565137826469e+02 -3.157983461803634e+02 + -3.159402264552761e+02 -3.160821545730877e+02 -3.162241306316100e+02 -3.163661547129774e+02 -3.165082267045055e+02 + -3.166503465083330e+02 -3.167925142807053e+02 -3.169347301718565e+02 -3.170769940538677e+02 -3.172193057829434e+02 + -3.173616654299331e+02 -3.175040731106142e+02 -3.176465289058318e+02 -3.177890328440690e+02 -3.179315847792938e+02 + -3.180741845934695e+02 -3.182168324550577e+02 -3.183595285351408e+02 -3.185022727287870e+02 -3.186450649049847e+02 + -3.187879051044167e+02 -3.189307934072479e+02 -3.190737298798787e+02 -3.192167145562098e+02 -3.193597473539087e+02 + -3.195028282067584e+02 -3.196459572292360e+02 -3.197891345287240e+02 -3.199323600035334e+02 -3.200756335516368e+02 + -3.202189552787263e+02 -3.203623252990410e+02 -3.205057435532916e+02 -3.206492099607363e+02 -3.207927245283494e+02 + -3.209362873029775e+02 -3.210798984032395e+02 -3.212235579095965e+02 -3.213672656781062e+02 -3.215110215776564e+02 + -3.216548257528610e+02 -3.217986783602123e+02 -3.219425793279964e+02 -3.220865285490494e+02 -3.222305260026159e+02 + -3.223745717228416e+02 -3.225186658770672e+02 -3.226628085862362e+02 -3.228069996525048e+02 -3.229512388959131e+02 + -3.230955265268207e+02 -3.232398627556209e+02 -3.233842474025269e+02 -3.235286802821290e+02 -3.236731615767077e+02 + -3.238176914785998e+02 -3.239622698526831e+02 -3.241068965416273e+02 -3.242515716267282e+02 -3.243962952303619e+02 + -3.245410674006047e+02 -3.246858881442026e+02 -3.248307573768830e+02 -3.249756750377737e+02 -3.251206412506237e+02 + -3.252656561247559e+02 -3.254107195271718e+02 -3.255558313340717e+02 -3.257009917007768e+02 -3.258462007853361e+02 + -3.259914584775946e+02 -3.261367646471811e+02 -3.262821193510638e+02 -3.264275226864755e+02 -3.265729747243638e+02 + -3.267184754961565e+02 -3.268640249014856e+02 -3.270096228564299e+02 -3.271552694746495e+02 -3.273009648690628e+02 + -3.274467089520415e+02 -3.275925016223748e+02 -3.277383429250694e+02 -3.278842329472037e+02 -3.280301717979274e+02 + -3.281761595333842e+02 -3.283221959756238e+02 -3.284682809773962e+02 -3.286144147483458e+02 -3.287605974914733e+02 + -3.289068290263132e+02 -3.290531091681708e+02 -3.291994380988984e+02 -3.293458160115122e+02 -3.294922427771376e+02 + -3.296387182388717e+02 -3.297852424495862e+02 -3.299318155124273e+02 -3.300784375218649e+02 -3.302251085265343e+02 + -3.303718284004092e+02 -3.305185970357408e+02 -3.306654145725511e+02 -3.308122811494171e+02 -3.309591966513669e+02 + -3.311061609508276e+02 -3.312531741233722e+02 -3.314002362831168e+02 -3.315473474952068e+02 -3.316945077733321e+02 + -3.318417169743284e+02 -3.319889749946440e+02 -3.321362820460264e+02 -3.322836383216903e+02 -3.324310436254205e+02 + -3.325784977579187e+02 -3.327260008969810e+02 -3.328735532388732e+02 -3.330211546766479e+02 -3.331688050699581e+02 + -3.333165044480712e+02 -3.334642528918999e+02 -3.336120505193238e+02 -3.337598974031960e+02 -3.339077933992973e+02 + -3.340557383761620e+02 -3.342037324704123e+02 -3.343517758263186e+02 -3.344998683506588e+02 -3.346480099317598e+02 + -3.347962006216366e+02 -3.349444405123485e+02 -3.350927296924430e+02 -3.352410681997821e+02 -3.353894558729969e+02 + -3.355378925848257e+02 -3.356863785436656e+02 -3.358349139484366e+02 -3.359834986244929e+02 -3.361321323883865e+02 + -3.362808153950241e+02 -3.364295478191028e+02 -3.365783295761255e+02 -3.367271605486342e+02 -3.368760407465185e+02 + -3.370249702279324e+02 -3.371739491167402e+02 -3.373229774932894e+02 -3.374720551981496e+02 -3.376211820935624e+02 + -3.377703583682330e+02 -3.379195842066430e+02 -3.380688594499171e+02 -3.382181839217990e+02 -3.383675577198622e+02 + -3.385169809890102e+02 -3.386664537896355e+02 -3.388159761271593e+02 -3.389655478716282e+02 -3.391151689236262e+02 + -3.392648394412631e+02 -3.394145595795439e+02 -3.395643292235305e+02 -3.397141482525620e+02 -3.398640167930273e+02 + -3.400139349724158e+02 -3.401639026755699e+02 -3.403139197760493e+02 -3.404639863449279e+02 -3.406141024957107e+02 + -3.407642683141136e+02 -3.409144838324194e+02 -3.410647488969659e+02 -3.412150633828331e+02 -3.413654274660125e+02 + -3.415158413252182e+02 -3.416663048491409e+02 -3.418168178992377e+02 -3.419673805180489e+02 -3.421179927901010e+02 + -3.422686547867838e+02 -3.424193665441726e+02 -3.425701279702224e+02 -3.427209389917095e+02 -3.428717997388184e+02 + -3.430227103286458e+02 -3.431736706225328e+02 -3.433246804902436e+02 -3.434757400909901e+02 -3.436268495884827e+02 + -3.437780088749811e+02 -3.439292178162220e+02 -3.440804764432992e+02 -3.442317848369893e+02 -3.443831431114438e+02 + -3.445345513395477e+02 -3.446860093957458e+02 -3.448375171638715e+02 -3.449890747637513e+02 -3.451406823209921e+02 + -3.452923397483303e+02 -3.454440469383874e+02 -3.455958039161959e+02 -3.457476107544265e+02 -3.458994675838882e+02 + -3.460513744837874e+02 -3.462033312687789e+02 -3.463553377809081e+02 -3.465073942363314e+02 -3.466595008454457e+02 + -3.468116574214998e+02 -3.469638637732855e+02 -3.471161200889126e+02 -3.472684265676839e+02 -3.474207830743587e+02 + -3.475731894457752e+02 -3.477256457416318e+02 -3.478781520698926e+02 -3.480307085087305e+02 -3.481833150905516e+02 + -3.483359716944890e+02 -3.484886782275422e+02 -3.486414348614480e+02 -3.487942417546251e+02 -3.489470987474849e+02 + -3.491000056682386e+02 -3.492529626143035e+02 -3.494059697303613e+02 -3.495590270809477e+02 -3.497121346735108e+02 + -3.498652923672977e+02 -3.500185000578142e+02 -3.501717579338015e+02 -3.503250661735650e+02 -3.504784246204307e+02 + -3.506318331106053e+02 -3.507852917867942e+02 -3.509388008057230e+02 -3.510923600737020e+02 -3.512459694729739e+02 + -3.513996290399252e+02 -3.515533388531561e+02 -3.517070990059733e+02 -3.518609095547224e+02 -3.520147703931951e+02 + -3.521686814254426e+02 -3.523226427591028e+02 -3.524766545004363e+02 -3.526307165466042e+02 -3.527848288024159e+02 + -3.529389914123712e+02 -3.530932045168612e+02 -3.532474680001527e+02 -3.534017817301934e+02 -3.535561457657783e+02 + -3.537105602073667e+02 -3.538650251312291e+02 -3.540195405716707e+02 -3.541741064193253e+02 -3.543287225825957e+02 + -3.544833891846346e+02 -3.546381063473606e+02 -3.547928739730113e+02 -3.549476919508821e+02 -3.551025603381796e+02 + -3.552574792297605e+02 -3.554124487031720e+02 -3.555674687945711e+02 -3.557225393918643e+02 -3.558776604020463e+02 + -3.560328319567154e+02 -3.561880541805177e+02 -3.563433269456882e+02 -3.564986501330765e+02 -3.566540239103983e+02 + -3.568094484429710e+02 -3.569649235996524e+02 -3.571204492251743e+02 -3.572760253642205e+02 -3.574316521198430e+02 + -3.575873296286128e+02 -3.577430579645793e+02 -3.578988369181832e+02 -3.580546663122107e+02 -3.582105463824335e+02 + -3.583664773634632e+02 -3.585224590722860e+02 -3.586784912980774e+02 -3.588345741363943e+02 -3.589907077420278e+02 + -3.591468922003262e+02 -3.593031275347307e+02 -3.594594135904955e+02 -3.596157502414973e+02 -3.597721376542854e+02 + -3.599285759961583e+02 -3.600850651447366e+02 -3.602416049709182e+02 -3.603981956083848e+02 -3.605548371920680e+02 + -3.607115295991184e+02 -3.608682726958015e+02 -3.610250665626241e+02 -3.611819113190277e+02 -3.613388070259530e+02 + -3.614957536972620e+02 -3.616527512170044e+02 -3.618097994957786e+02 -3.619668986801910e+02 -3.621240489112448e+02 + -3.622812500715253e+02 -3.624385020268735e+02 -3.625958048345691e+02 -3.627531585959862e+02 -3.629105633974360e+02 + -3.630680192762735e+02 -3.632255260890885e+02 -3.633830837209757e+02 -3.635406923518125e+02 -3.636983521500620e+02 + -3.638560629437486e+02 -3.640138245654421e+02 -3.641716372063300e+02 -3.643295010634408e+02 -3.644874159985495e+02 + -3.646453818454157e+02 -3.648033986609884e+02 -3.649614665547653e+02 -3.651195856232492e+02 -3.652777559169987e+02 + -3.654359773157880e+02 -3.655942497193339e+02 -3.657525732779061e+02 -3.659109481367831e+02 -3.660693741707290e+02 + -3.662278512419212e+02 -3.663863794327037e+02 -3.665449588644519e+02 -3.667035895945005e+02 -3.668622716357800e+02 + -3.670210048876434e+02 -3.671797892763418e+02 -3.673386249492966e+02 -3.674975120447079e+02 -3.676564504427247e+02 + -3.678154400208724e+02 -3.679744809042344e+02 -3.681335732252156e+02 -3.682927168979475e+02 -3.684519118222935e+02 + -3.686111580593141e+02 -3.687704557033292e+02 -3.689298048205014e+02 -3.690892054329191e+02 -3.692486574145354e+02 + -3.694081606700869e+02 -3.695677153755793e+02 -3.697273216946131e+02 -3.698869794698993e+02 -3.700466885253786e+02 + -3.702064489307988e+02 -3.703662608017668e+02 -3.705261241915196e+02 -3.706860391012269e+02 -3.708460053861607e+02 + -3.710060229388483e+02 -3.711660919467376e+02 -3.713262125796104e+02 -3.714863846416646e+02 -3.716466079328989e+02 + -3.718068826020972e+02 -3.719672088201144e+02 -3.721275864973102e+02 -3.722880155098476e+02 -3.724484958575989e+02 + -3.726090275883345e+02 -3.727696108177087e+02 -3.729302456171431e+02 -3.730909318132427e+02 -3.732516692484294e+02 + -3.734124580732086e+02 -3.735732984485285e+02 -3.737341902690280e+02 -3.738951333966488e+02 -3.740561278288502e+02 + -3.742171736164895e+02 -3.743782708884933e+02 -3.745394197314636e+02 -3.747006199846337e+02 -3.748618715145197e+02 + -3.750231745441332e+02 -3.751845292967938e+02 -3.753459356405600e+02 -3.755073934398666e+02 -3.756689028999150e+02 + -3.758304642401999e+02 -3.759920773966298e+02 -3.761537422764503e+02 -3.763154589558405e+02 -3.764772275566993e+02 + -3.766390482148706e+02 -3.768009210261144e+02 -3.769628459119104e+02 -3.771248228066682e+02 -3.772868518707951e+02 + -3.774489332703654e+02 -3.776110669681248e+02 -3.777732529036114e+02 -3.779354911268638e+02 -3.780977817328078e+02 + -3.782601248854201e+02 -3.784225207068740e+02 -3.785849690830777e+02 -3.787474699201715e+02 -3.789100234414875e+02 + -3.790726298611719e+02 -3.792352890394379e+02 -3.793980008403989e+02 -3.795607654977005e+02 -3.797235832511840e+02 + -3.798864539959452e+02 -3.800493775732837e+02 -3.802123539540593e+02 -3.803753831256555e+02 -3.805384650119894e+02 + -3.807015994897982e+02 -3.808647863105625e+02 -3.810280252452890e+02 -3.811913162683451e+02 -3.813546593533040e+02 + -3.815180542672069e+02 -3.816815007606327e+02 -3.818449987248433e+02 -3.820085480876401e+02 -3.821721487823003e+02 + -3.823358007029311e+02 -3.824995035814819e+02 -3.826632571794644e+02 -3.828270615387958e+02 -3.829909166775790e+02 + -3.831548222382581e+02 -3.833187778788636e+02 -3.834827836954302e+02 -3.836468397830658e+02 -3.838109457951704e+02 + -3.839751013606573e+02 -3.841393064522010e+02 -3.843035610985582e+02 -3.844678652090594e+02 -3.846322186342679e+02 + -3.847966211091070e+02 -3.849610723938522e+02 -3.851255724658270e+02 -3.852901213276589e+02 -3.854547188661456e+02 + -3.856193651039130e+02 -3.857840607227301e+02 -3.859488064858506e+02 -3.861136028233281e+02 -3.862784501283425e+02 + -3.864433489797775e+02 -3.866083000045549e+02 -3.867733038360474e+02 -3.869383610689728e+02 -3.871034721369783e+02 + -3.872686374886131e+02 -3.874338577931016e+02 -3.875991337168530e+02 -3.877644656943423e+02 -3.879298541437876e+02 + -3.880952996503134e+02 -3.882608028487801e+02 -3.884263644060860e+02 -3.885919849359946e+02 -3.887576648076931e+02 + -3.889234044110585e+02 -3.890892044633024e+02 -3.892550656828005e+02 -3.894209884652491e+02 -3.895869732058733e+02 + -3.897530206206903e+02 -3.899191314265681e+02 -3.900853060229904e+02 -3.902515447813749e+02 -3.904178482782592e+02 + -3.905842171832736e+02 -3.907506523333024e+02 -3.909171542011455e+02 -3.910837216360146e+02 -3.912503530200719e+02 + -3.914170464908692e+02 -3.915838000867597e+02 -3.917506116939103e+02 -3.919174791997058e+02 -3.920844006485843e+02 + -3.922513741233318e+02 -3.924183977030698e+02 -3.925854694180132e+02 -3.927525871064144e+02 -3.929197486330507e+02 + -3.930869521607613e+02 -3.932541958513385e+02 -3.934214775643266e+02 -3.935887951493436e+02 -3.937561467185514e+02 + -3.939235303999417e+02 -3.940909441222876e+02 -3.942583857858931e+02 -3.944258533764072e+02 -3.945933449213566e+02 + -3.947608585304349e+02 -3.949283922804248e+02 -3.950959440342958e+02 -3.952635116636291e+02 -3.954310932882606e+02 + -3.955986870327357e+02 -3.957662907921835e+02 -3.959339024467546e+02 -3.961015200461023e+02 -3.962691416638499e+02 + 1.070000000000000e-01 1.069682658750319e-01 1.069365186252596e-01 1.069047582677665e-01 1.068729848196356e-01 + 1.068411982979503e-01 1.068093987197937e-01 1.067775861022493e-01 1.067457604624000e-01 1.067139218173294e-01 + 1.066820701841205e-01 1.066502055798566e-01 1.066183280216209e-01 1.065864375264968e-01 1.065545341115673e-01 + 1.065226177939159e-01 1.064906885906257e-01 1.064587465187799e-01 1.064267915954618e-01 1.063948238377547e-01 + 1.063628432627417e-01 1.063308498875062e-01 1.062988437291314e-01 1.062668248047005e-01 1.062347931312967e-01 + 1.062027487260033e-01 1.061706916059036e-01 1.061386217880807e-01 1.061065392896180e-01 1.060744441275985e-01 + 1.060423363191058e-01 1.060102158812228e-01 1.059780828310330e-01 1.059459371856195e-01 1.059137789620655e-01 + 1.058816081774544e-01 1.058494248488693e-01 1.058172289933936e-01 1.057850206281103e-01 1.057527997701029e-01 + 1.057205664364545e-01 1.056883206442483e-01 1.056560624105677e-01 1.056237917524958e-01 1.055915086871159e-01 + 1.055592132315112e-01 1.055269054027650e-01 1.054945852179606e-01 1.054622526941811e-01 1.054299078485097e-01 + 1.053975506980299e-01 1.053651812598247e-01 1.053327995509774e-01 1.053004055885713e-01 1.052679993896897e-01 + 1.052355809714157e-01 1.052031503508325e-01 1.051707075450236e-01 1.051382525710719e-01 1.051057854460610e-01 + 1.050733061870738e-01 1.050408148111938e-01 1.050083113355042e-01 1.049757957770881e-01 1.049432681530288e-01 + 1.049107284804097e-01 1.048781767763138e-01 1.048456130578245e-01 1.048130373420250e-01 1.047804496459986e-01 + 1.047478499868284e-01 1.047152383815977e-01 1.046826148473898e-01 1.046499794012880e-01 1.046173320603753e-01 + 1.045846728417352e-01 1.045520017624508e-01 1.045193188396054e-01 1.044866240902822e-01 1.044539175315645e-01 + 1.044211991805354e-01 1.043884690542783e-01 1.043557271698764e-01 1.043229735444130e-01 1.042902081949712e-01 + 1.042574311386343e-01 1.042246423924855e-01 1.041918419736082e-01 1.041590298990855e-01 1.041262061860007e-01 + 1.040933708514369e-01 1.040605239124776e-01 1.040276653862059e-01 1.039947952897050e-01 1.039619136400582e-01 + 1.039290204543487e-01 1.038961157496599e-01 1.038631995430748e-01 1.038302718516768e-01 1.037973326925491e-01 + 1.037643820827749e-01 1.037314200394375e-01 1.036984465796201e-01 1.036654617204061e-01 1.036324654788785e-01 + 1.035994578721206e-01 1.035664389172158e-01 1.035334086312472e-01 1.035003670312980e-01 1.034673141344516e-01 + 1.034342499577912e-01 1.034011745183999e-01 1.033680878333612e-01 1.033349899197580e-01 1.033018807946739e-01 + 1.032687604751918e-01 1.032356289783953e-01 1.032024863213673e-01 1.031693325211913e-01 1.031361675949504e-01 + 1.031029915597278e-01 1.030698044326069e-01 1.030366062306709e-01 1.030033969710030e-01 1.029701766706864e-01 + 1.029369453468044e-01 1.029037030164402e-01 1.028704496966771e-01 1.028371854045984e-01 1.028039101572872e-01 + 1.027706239718267e-01 1.027373268653004e-01 1.027040188547913e-01 1.026706999573827e-01 1.026373701901580e-01 + 1.026040295702002e-01 1.025706781145926e-01 1.025373158404186e-01 1.025039427647613e-01 1.024705589047040e-01 + 1.024371642773299e-01 1.024037588997223e-01 1.023703427889643e-01 1.023369159621393e-01 1.023034784363305e-01 + 1.022700302286212e-01 1.022365713560945e-01 1.022031018358337e-01 1.021696216849221e-01 1.021361309204428e-01 + 1.021026295594792e-01 1.020691176191145e-01 1.020355951164319e-01 1.020020620685147e-01 1.019685184924461e-01 + 1.019349644053093e-01 1.019013998241876e-01 1.018678247661643e-01 1.018342392483225e-01 1.018006432877456e-01 + 1.017670369015167e-01 1.017334201067191e-01 1.016997929204361e-01 1.016661553597508e-01 1.016325074417466e-01 + 1.015988491835066e-01 1.015651806021141e-01 1.015315017146524e-01 1.014978125382047e-01 1.014641130898543e-01 + 1.014304033866843e-01 1.013966834457780e-01 1.013629532842187e-01 1.013292129190896e-01 1.012954623674739e-01 + 1.012617016464549e-01 1.012279307731159e-01 1.011941497645400e-01 1.011603586378106e-01 1.011265574100107e-01 + 1.010927460982239e-01 1.010589247195331e-01 1.010250932910217e-01 1.009912518297729e-01 1.009574003528701e-01 + 1.009235388773963e-01 1.008896674204348e-01 1.008557859990690e-01 1.008218946303820e-01 1.007879933314571e-01 + 1.007540821193774e-01 1.007201610112264e-01 1.006862300240872e-01 1.006522891750429e-01 1.006183384811770e-01 + 1.005843779595726e-01 1.005504076273130e-01 1.005164275014813e-01 1.004824375991610e-01 1.004484379374351e-01 + 1.004144285333870e-01 1.003804094040999e-01 1.003463805666569e-01 1.003123420381414e-01 1.002782938356367e-01 + 1.002442359762259e-01 1.002101684769922e-01 1.001760913550190e-01 1.001420046273895e-01 1.001079083111869e-01 + 1.000738024234945e-01 1.000396869813954e-01 1.000055620019730e-01 9.997142750231042e-02 9.993728349949102e-02 + 9.990313001059796e-02 9.986896705271456e-02 9.983479464292398e-02 9.980061279830947e-02 9.976642153595434e-02 + 9.973222087294174e-02 9.969801082635499e-02 9.966379141327726e-02 9.962956265079187e-02 9.959532455598200e-02 + 9.956107714593093e-02 9.952682043772192e-02 9.949255444843813e-02 9.945827919516288e-02 9.942399469497937e-02 + 9.938970096497086e-02 9.935539802222057e-02 9.932108588381178e-02 9.928676456682770e-02 9.925243408835159e-02 + 9.921809446546671e-02 9.918374571525623e-02 9.914938785480347e-02 9.911502090119163e-02 9.908064487150398e-02 + 9.904625978282372e-02 9.901186565223413e-02 9.897746249681845e-02 9.894305033365988e-02 9.890862917984172e-02 + 9.887419905244718e-02 9.883975996855951e-02 9.880531194526194e-02 9.877085499963774e-02 9.873638914877009e-02 + 9.870191440974231e-02 9.866743079963761e-02 9.863293833553920e-02 9.859843703453038e-02 9.856392691369432e-02 + 9.852940799011436e-02 9.849488028087365e-02 9.846034380305550e-02 9.842579857374308e-02 9.839124461001970e-02 + 9.835668192896858e-02 9.832211054767293e-02 9.828753048321603e-02 9.825294175268109e-02 9.821834437315143e-02 + 9.818373836171017e-02 9.814912373544066e-02 9.811450051142606e-02 9.807986870674969e-02 9.804522833849474e-02 + 9.801057942374444e-02 9.797592197958208e-02 9.794125602309085e-02 9.790658157135405e-02 9.787189864145487e-02 + 9.783720725047659e-02 9.780250741550246e-02 9.776779915361565e-02 9.773308248189948e-02 9.769835741743713e-02 + 9.766362397731190e-02 9.762888217860698e-02 9.759413203840565e-02 9.755937357379113e-02 9.752460680184671e-02 + 9.748983173965557e-02 9.745504840430097e-02 9.742025681286617e-02 9.738545698243438e-02 9.735064893008888e-02 + 9.731583267291286e-02 9.728100822798963e-02 9.724617561240236e-02 9.721133484323437e-02 9.717648593756885e-02 + 9.714162891248904e-02 9.710676378507821e-02 9.707189057241956e-02 9.703700929159639e-02 9.700211995969188e-02 + 9.696722259378933e-02 9.693231721097194e-02 9.689740382832296e-02 9.686248246292567e-02 9.682755313186324e-02 + 9.679261585221899e-02 9.675767064107609e-02 9.672271751551782e-02 9.668775649262741e-02 9.665278758948814e-02 + 9.661781082318323e-02 9.658282621079586e-02 9.654783376940938e-02 9.651283351610694e-02 9.647782546797186e-02 + 9.644280964208730e-02 9.640778605553657e-02 9.637275472540287e-02 9.633771566876947e-02 9.630266890271960e-02 + 9.626761444433649e-02 9.623255231070338e-02 9.619748251890356e-02 9.616240508602021e-02 9.612732002913663e-02 + 9.609222736533599e-02 9.605712711170160e-02 9.602201928531666e-02 9.598690390326445e-02 9.595178098262819e-02 + 9.591665054049109e-02 9.588151259393644e-02 9.584636716004745e-02 9.581121425590743e-02 9.577605389859950e-02 + 9.574088610520702e-02 9.570571089281314e-02 9.567052827850117e-02 9.563533827935435e-02 9.560014091245586e-02 + 9.556493619488900e-02 9.552972414373699e-02 9.549450477608308e-02 9.545927810901049e-02 9.542404415960248e-02 + 9.538880294494230e-02 9.535355448211316e-02 9.531829878819836e-02 9.528303588028109e-02 9.524776577544461e-02 + 9.521248849077216e-02 9.517720404334697e-02 9.514191245025229e-02 9.510661372857139e-02 9.507130789538748e-02 + 9.503599496778380e-02 9.500067496284360e-02 9.496534789765015e-02 9.493001378928664e-02 9.489467265483635e-02 + 9.485932451138250e-02 9.482396937600834e-02 9.478860726579713e-02 9.475323819783207e-02 9.471786218919645e-02 + 9.468247925697347e-02 9.464708941824643e-02 9.461169269009850e-02 9.457628908961296e-02 9.454087863387305e-02 + 9.450546133996199e-02 9.447003722496307e-02 9.443460630595948e-02 9.439916860003450e-02 9.436372412427137e-02 + 9.432827289575330e-02 9.429281493156354e-02 9.425735024878537e-02 9.422187886450198e-02 9.418640079579664e-02 + 9.415091605975259e-02 9.411542467345307e-02 9.407992665398136e-02 9.404442201842063e-02 9.400891078385415e-02 + 9.397339296736518e-02 9.393786858603695e-02 9.390233765695270e-02 9.386680019719568e-02 9.383125622384911e-02 + 9.379570575399625e-02 9.376014880472036e-02 9.372458539310466e-02 9.368901553623238e-02 9.365343925118678e-02 + 9.361785655505112e-02 9.358226746490858e-02 9.354667199784246e-02 9.351107017093598e-02 9.347546200127239e-02 + 9.343984750593494e-02 9.340422670200685e-02 9.336859960657137e-02 9.333296623671174e-02 9.329732660951121e-02 + 9.326168074205300e-02 9.322602865142039e-02 9.319037035469660e-02 9.315470586896488e-02 9.311903521130845e-02 + 9.308335839881057e-02 9.304767544855448e-02 9.301198637762342e-02 9.297629120310064e-02 9.294058994206936e-02 + 9.290488261161287e-02 9.286916922881436e-02 9.283344981075708e-02 9.279772437452428e-02 9.276199293719922e-02 + 9.272625551586512e-02 9.269051212760523e-02 9.265476278950278e-02 9.261900751864104e-02 9.258324633210324e-02 + 9.254747924697261e-02 9.251170628033240e-02 9.247592744926583e-02 9.244014277085617e-02 9.240435226218666e-02 + 9.236855594034055e-02 9.233275382240104e-02 9.229694592545142e-02 9.226113226657491e-02 9.222531286285476e-02 + 9.218948773137420e-02 9.215365688921646e-02 9.211782035346482e-02 9.208197814120249e-02 9.204613026951274e-02 + 9.201027675547878e-02 9.197441761618388e-02 9.193855286871126e-02 9.190268253014419e-02 9.186680661756588e-02 + 9.183092514805957e-02 9.179503813870854e-02 9.175914560659600e-02 9.172324756880521e-02 9.168734404241941e-02 + 9.165143504452181e-02 9.161552059219569e-02 9.157960070252427e-02 9.154367539259080e-02 9.150774467947854e-02 + 9.147180858027071e-02 9.143586711205055e-02 9.139992029190132e-02 9.136396813690625e-02 9.132801066414858e-02 + 9.129204789071155e-02 9.125607983367841e-02 9.122010651013239e-02 9.118412793715676e-02 9.114814413183472e-02 + 9.111215511124955e-02 9.107616089248448e-02 9.104016149262276e-02 9.100415692874760e-02 9.096814721794225e-02 + 9.093213237728998e-02 9.089611242387401e-02 9.086008737477760e-02 9.082405724708396e-02 9.078802205787638e-02 + 9.075198182423806e-02 9.071593656325225e-02 9.067988629200220e-02 9.064383102757116e-02 9.060777078704237e-02 + 9.057170558749904e-02 9.053563544602444e-02 9.049956037970180e-02 9.046348040561442e-02 9.042739554084545e-02 + 9.039130580247817e-02 9.035521120759583e-02 9.031911177328168e-02 9.028300751661894e-02 9.024689845469086e-02 + 9.021078460458068e-02 9.017466598337168e-02 9.013854260814702e-02 9.010241449599002e-02 9.006628166398388e-02 + 9.003014412921184e-02 8.999400190875718e-02 8.995785501970310e-02 8.992170347913286e-02 8.988554730412972e-02 + 8.984938651177689e-02 8.981322111915761e-02 8.977705114335516e-02 8.974087660145275e-02 8.970469751053363e-02 + 8.966851388768103e-02 8.963232574997822e-02 8.959613311450842e-02 8.955993599835491e-02 8.952373441860086e-02 + 8.948752839232957e-02 8.945131793662427e-02 8.941510306856817e-02 8.937888380524456e-02 8.934266016373665e-02 + 8.930643216112769e-02 8.927019981450095e-02 8.923396314093963e-02 8.919772215752698e-02 8.916147688134625e-02 + 8.912522732948071e-02 8.908897351901354e-02 8.905271546702803e-02 8.901645319060740e-02 8.898018670683491e-02 + 8.894391603279379e-02 8.890764118556729e-02 8.887136218223864e-02 8.883507903989107e-02 8.879879177560786e-02 + 8.876250040647221e-02 8.872620494956741e-02 8.868990542197666e-02 8.865360184078323e-02 8.861729422307035e-02 + 8.858098258592126e-02 8.854466694641919e-02 8.850834732164740e-02 8.847202372868912e-02 8.843569618462761e-02 + 8.839936470654611e-02 8.836302931152785e-02 8.832669001665606e-02 8.829034683901400e-02 8.825399979568492e-02 + 8.821764890375206e-02 8.818129418029862e-02 8.814493564240788e-02 8.810857330716310e-02 8.807220719164749e-02 + 8.803583731294432e-02 8.799946368813677e-02 8.796308633430815e-02 8.792670526854167e-02 8.789032050792057e-02 + 8.785393206952812e-02 8.781753997044753e-02 8.778114422776205e-02 8.774474485855495e-02 8.770834187990943e-02 + 8.767193530890875e-02 8.763552516263615e-02 8.759911145817488e-02 8.756269421260816e-02 8.752627344301928e-02 + 8.748984916649143e-02 8.745342140010788e-02 8.741699016095185e-02 8.738055546610660e-02 8.734411733265539e-02 + 8.730767577768141e-02 8.727123081826793e-02 8.723478247149821e-02 8.719833075445547e-02 8.716187568422298e-02 + 8.712541727788393e-02 8.708895555252159e-02 8.705249052521923e-02 8.701602221306004e-02 8.697955063312730e-02 + 8.694307580250422e-02 8.690659773827408e-02 8.687011645752010e-02 8.683363197732555e-02 8.679714431477362e-02 + 8.676065348694757e-02 8.672415951093065e-02 8.668766240380611e-02 8.665116218265721e-02 8.661465886456714e-02 + 8.657815246661917e-02 8.654164300589655e-02 8.650513049948251e-02 8.646861496446030e-02 8.643209641791315e-02 + 8.639557487692430e-02 8.635905035857701e-02 8.632252287995451e-02 8.628599245814005e-02 8.624945911021686e-02 + 8.621292285326819e-02 8.617638370437727e-02 8.613984168062737e-02 8.610329679910171e-02 8.606674907688353e-02 + 8.603019853105608e-02 8.599364517870259e-02 8.595708903690633e-02 8.592053012275053e-02 8.588396845331842e-02 + 8.584740404569323e-02 8.581083691695822e-02 8.577426708419665e-02 8.573769456449173e-02 8.570111937492672e-02 + 8.566454153258486e-02 8.562796105454940e-02 8.559137795790356e-02 8.555479225973059e-02 8.551820397711374e-02 + 8.548161312713624e-02 8.544501972688134e-02 8.540842379343229e-02 8.537182534387232e-02 8.533522439528468e-02 + 8.529862096475260e-02 8.526201506935933e-02 8.522540672618811e-02 8.518879595232219e-02 8.515218276484479e-02 + 8.511556718083918e-02 8.507894921738858e-02 8.504232889157626e-02 8.500570622048544e-02 8.496908122119934e-02 + 8.493245391080124e-02 8.489582430637438e-02 8.485919242500198e-02 8.482255828376728e-02 8.478592189975355e-02 + 8.474928329004400e-02 8.471264247172190e-02 8.467599946187047e-02 8.463935427757298e-02 8.460270693591267e-02 + 8.456605745397273e-02 8.452940584883646e-02 8.449275213758706e-02 8.445609633730780e-02 8.441943846508193e-02 + 8.438277853799266e-02 8.434611657312326e-02 8.430945258755695e-02 8.427278659837699e-02 8.423611862266661e-02 + 8.419944867750905e-02 8.416277677998756e-02 8.412610294718537e-02 8.408942719618576e-02 8.405274954407191e-02 + 8.401607000792713e-02 8.397938860483460e-02 8.394270535187759e-02 8.390602026613936e-02 8.386933336470312e-02 + 8.383264466465212e-02 8.379595418306962e-02 8.375926193703884e-02 8.372256794364304e-02 8.368587221996546e-02 + 8.364917478308932e-02 8.361247565009787e-02 8.357577483807437e-02 8.353907236410206e-02 8.350236824526415e-02 + 8.346566249864391e-02 8.342895514132459e-02 8.339224619038943e-02 8.335553566292164e-02 8.331882357600448e-02 + 8.328210994672121e-02 8.324539479215504e-02 8.320867812938924e-02 8.317195997550704e-02 8.313524034759166e-02 + 8.309851926272641e-02 8.306179673799445e-02 8.302507279047908e-02 8.298834743726349e-02 8.295162069543097e-02 + 8.291489258206473e-02 8.287816311424805e-02 8.284143230906414e-02 8.280470018359624e-02 8.276796675492762e-02 + 8.273123204014149e-02 8.269449605632111e-02 8.265775882054972e-02 8.262102034991055e-02 8.258428066148686e-02 + 8.254753977236187e-02 8.251079769961885e-02 8.247405446034105e-02 8.243731007161166e-02 8.240056455051395e-02 + 8.236381791413117e-02 8.232707017954656e-02 8.229032136384334e-02 8.225357148410478e-02 8.221682055741411e-02 + 8.218006860085458e-02 8.214331563150944e-02 8.210656166646188e-02 8.206980672279519e-02 8.203305081759260e-02 + 8.199629396793737e-02 8.195953619091272e-02 8.192277750360188e-02 8.188601792308813e-02 8.184925746645468e-02 + 8.181249615078479e-02 8.177573399316168e-02 8.173897101066861e-02 8.170220722038883e-02 8.166544263940556e-02 + 8.162867728480205e-02 8.159191117366156e-02 8.155514432306732e-02 8.151837675010254e-02 8.148160847185050e-02 + 8.144483950539445e-02 8.140806986781760e-02 8.137129957620320e-02 8.133452864763450e-02 8.129775709919475e-02 + 8.126098494796720e-02 8.122421221103504e-02 8.118743890548155e-02 8.115066504838998e-02 8.111389065684355e-02 + 8.107711574792552e-02 8.104034033871912e-02 8.100356444630759e-02 8.096678808777417e-02 8.093001128020215e-02 + 8.089323404067471e-02 8.085645638627510e-02 8.081967833408658e-02 8.078289990119239e-02 8.074612110467576e-02 + 8.070934196161997e-02 8.067256248910820e-02 8.063578270422375e-02 8.059900262404983e-02 8.056222226566968e-02 + 8.052544164616657e-02 8.048866078262369e-02 8.045187969212433e-02 8.041509839175172e-02 8.037831689858911e-02 + 8.034153522971973e-02 8.030475340222681e-02 8.026797143319361e-02 8.023118933970336e-02 8.019440713883932e-02 + 8.015762484768471e-02 8.012084248332278e-02 8.008406006283678e-02 8.004727760330994e-02 8.001049512182555e-02 + 7.997371263546676e-02 7.993693016131688e-02 7.990014771645915e-02 7.986336531797676e-02 7.982658298295300e-02 + 7.978980072847111e-02 7.975301857161432e-02 7.971623652946590e-02 7.967945461910902e-02 7.964267285762699e-02 + 7.960589126210302e-02 7.956910984962039e-02 7.953232863726228e-02 7.949554764211197e-02 7.945876688125271e-02 + 7.942198637176773e-02 7.938520613074028e-02 7.934842617525358e-02 7.931164652239087e-02 7.927486718923542e-02 + 7.923808819287045e-02 7.920130955037924e-02 7.916453127884499e-02 7.912775339535094e-02 7.909097591698037e-02 + 7.905419886081648e-02 7.901742224394255e-02 7.898064608344180e-02 7.894387039639746e-02 7.890709519989279e-02 + 7.887032051101103e-02 7.883354634683543e-02 7.879677272444922e-02 7.875999966093565e-02 7.872322717337794e-02 + 7.868645527885937e-02 7.864968399446313e-02 7.861291333727252e-02 7.857614332437074e-02 7.853937397284104e-02 + 7.850260529976670e-02 7.846583732223091e-02 7.842907005731693e-02 7.839230352210801e-02 7.835553773368738e-02 + 7.831877270913830e-02 7.828200846554398e-02 7.824524501998768e-02 7.820848238955266e-02 7.817172059132216e-02 + 7.813495964237939e-02 7.809819955980761e-02 7.806144036069006e-02 7.802468206210998e-02 7.798792468115062e-02 + 7.795116823489523e-02 7.791441274042703e-02 7.787765821482928e-02 7.784090467518520e-02 7.780415213857807e-02 + 7.776740062209107e-02 7.773065014280750e-02 7.769390071781057e-02 7.765715236418354e-02 7.762040509900967e-02 + 7.758365893937215e-02 7.754691390235426e-02 7.751017000503922e-02 7.747342726451029e-02 7.743668569785070e-02 + 7.739994532214370e-02 7.736320615447252e-02 7.732646821192042e-02 7.728973151157063e-02 7.725299607050642e-02 + 7.721626190581099e-02 7.717952903456758e-02 7.714279747385946e-02 7.710606724076986e-02 7.706933835238206e-02 + 7.703261082577922e-02 7.699588467804465e-02 7.695915992626157e-02 7.692243658751323e-02 7.688571467888285e-02 + 7.684899421745368e-02 7.681227522030898e-02 7.677555770453198e-02 7.673884168720593e-02 7.670212718541405e-02 + 7.666541421623961e-02 7.662870279676583e-02 7.659199294407595e-02 7.655528467525324e-02 7.651857800738091e-02 + 7.648187295754222e-02 7.644516954282041e-02 7.640846778029871e-02 7.637176768706039e-02 7.633506928018867e-02 + 7.629837257676678e-02 7.626167759387799e-02 7.622498434860552e-02 7.618829285803264e-02 7.615160313924255e-02 + 7.611491520931853e-02 7.607822908534380e-02 7.604154478440163e-02 7.600486232357523e-02 7.596818171994783e-02 + 7.593150299060271e-02 7.589482615262309e-02 7.585815122309225e-02 7.582147821909338e-02 7.578480715770973e-02 + 7.574813805602458e-02 7.571147093112113e-02 7.567480580008265e-02 7.563814267999236e-02 7.560148158793352e-02 + 7.556482254098935e-02 7.552816555624312e-02 7.549151065077807e-02 7.545485784167741e-02 7.541820714602442e-02 + 7.538155858090231e-02 7.534491216339434e-02 7.530826791058375e-02 7.527162583955378e-02 7.523498596738766e-02 + 7.519834831116866e-02 7.516171288797999e-02 7.512507971490495e-02 7.508844880902671e-02 7.505182018742854e-02 + 7.501519386719367e-02 7.497856986540538e-02 7.494194819914687e-02 7.490532888550142e-02 7.486871194155223e-02 + 7.483209738438257e-02 7.479548523107570e-02 7.475887549871482e-02 7.472226820438319e-02 7.468566336516404e-02 + 7.464906099814063e-02 7.461246112039621e-02 7.457586374901400e-02 7.453926890107723e-02 7.450267659366919e-02 + 7.446608684387307e-02 7.442949966877216e-02 7.439291508544965e-02 7.435633311098883e-02 7.431975376247291e-02 + 7.428317705698513e-02 7.424660301160878e-02 7.421003164342704e-02 7.417346296952319e-02 7.413689700698045e-02 + 7.410033377288210e-02 7.406377328431132e-02 7.402721555835140e-02 7.399066061208556e-02 7.395410846259706e-02 + 7.391755912696915e-02 7.388101262228504e-02 7.384446896562798e-02 7.380792817408122e-02 7.377139026472800e-02 + 7.373485525465158e-02 7.369832316093516e-02 7.366179400066203e-02 7.362526779091538e-02 7.358874454877849e-02 + 7.355222429133459e-02 7.351570703566694e-02 7.347919279885876e-02 7.344268159799329e-02 7.340617345015378e-02 + 7.336966837242348e-02 7.333316638188561e-02 7.329666749562345e-02 7.326017173072021e-02 7.322367910425913e-02 + 7.318718963332346e-02 7.315070333499644e-02 7.311422022636133e-02 7.307774032450136e-02 7.304126364649975e-02 + 7.300479020943977e-02 7.296832003040465e-02 7.293185312647765e-02 7.289538951474199e-02 7.285892921228092e-02 + 7.282247223617767e-02 7.278601860351550e-02 7.274956833137766e-02 7.271312143684736e-02 7.267667793700786e-02 + 7.264023784894239e-02 7.260380118973422e-02 7.256736797646657e-02 7.253093822622268e-02 7.249451195608582e-02 + 7.245808918313920e-02 7.242166992446607e-02 7.238525419714967e-02 7.234884201827325e-02 7.231243340492007e-02 + 7.227602837417331e-02 7.223962694311627e-02 7.220322912883217e-02 7.216683494840427e-02 7.213044441891579e-02 + 7.209405755744998e-02 7.205767438109009e-02 7.202129490691934e-02 7.198491915202099e-02 7.194854713347830e-02 + 7.191217886837446e-02 7.187581437379276e-02 7.183945366681642e-02 7.180309676452867e-02 7.176674368401278e-02 + 7.173039444235199e-02 7.169404905662952e-02 7.165770754392863e-02 7.162136992133256e-02 7.158503620592453e-02 + 7.154870641478780e-02 7.151238056500563e-02 7.147605867366123e-02 7.143974075783785e-02 7.140342683461876e-02 + 7.136711692108716e-02 7.133081103432631e-02 7.129450919141947e-02 7.125821140944985e-02 7.122191770550071e-02 + 7.118562809665530e-02 7.114934259999683e-02 7.111306123260858e-02 7.107678401157377e-02 7.104051095397565e-02 + 7.100424207689746e-02 7.096797739742244e-02 7.093171693263382e-02 7.089546069961486e-02 7.085920871544882e-02 + 7.082296099721888e-02 7.078671756200834e-02 7.075047842690044e-02 7.071424360897838e-02 7.067801312532543e-02 + 7.064178699302483e-02 7.060556522915983e-02 7.056934785081363e-02 7.053313487506954e-02 7.049692631901075e-02 + 7.046072219972052e-02 7.042452253428211e-02 7.038832733977872e-02 7.035213663329361e-02 7.031595043191004e-02 + 7.027976875271123e-02 7.024359161278042e-02 7.020741902920087e-02 7.017125101905583e-02 7.013508759942851e-02 + 7.009892878740216e-02 7.006277460006004e-02 7.002662505448538e-02 6.999048016776144e-02 6.995433995697144e-02 + 6.991820443919861e-02 6.988207363152622e-02 6.984594755103750e-02 6.980982621481568e-02 6.977370963994402e-02 + 6.973759784350578e-02 6.970149084258416e-02 6.966538865426242e-02 6.962929129562380e-02 6.959319878375156e-02 + 6.955711113572893e-02 6.952102836863913e-02 6.948495049956542e-02 6.944887754559105e-02 6.941280952379927e-02 + 6.937674645127329e-02 6.934068834509637e-02 6.930463522235174e-02 6.926858710012268e-02 6.923254399549238e-02 + 6.919650592554411e-02 6.916047290736112e-02 6.912444495802665e-02 6.908842209462392e-02 6.905240433423616e-02 + 6.901639169394666e-02 6.898038419083864e-02 6.894438184199533e-02 6.890838466449999e-02 6.887239267543585e-02 + 6.883640589188617e-02 6.880042433093415e-02 6.876444800966307e-02 6.872847694515619e-02 6.869251115449670e-02 + 6.865655065476786e-02 6.862059546305292e-02 6.858464559643512e-02 6.854870107199770e-02 6.851276190682393e-02 + 6.847682811799699e-02 6.844089972260017e-02 6.840497673771671e-02 6.836905918042983e-02 6.833314706782279e-02 + 6.829724041697882e-02 6.826133924498116e-02 6.822544356891308e-02 6.818955340585779e-02 6.815366877289854e-02 + 6.811778968711857e-02 6.808191616560114e-02 6.804604822542948e-02 6.801018588368681e-02 6.797432915745642e-02 + 6.793847806382150e-02 6.790263261986533e-02 6.786679284267115e-02 6.783095874932217e-02 6.779513035690166e-02 + 6.775930768249286e-02 6.772349074317900e-02 6.768767955604332e-02 6.765187413816909e-02 6.761607450663952e-02 + 6.758028067853786e-02 6.754449267094738e-02 6.750871050095128e-02 6.747293418563281e-02 6.743716374207524e-02 + 6.740139918736179e-02 6.736564053857570e-02 6.732988781280023e-02 6.729414102711860e-02 6.725840019861405e-02 + 6.722266534436987e-02 6.718693648146923e-02 6.715121362699542e-02 6.711549679803168e-02 6.707978601166123e-02 + 6.704408128496732e-02 6.700838263503321e-02 6.697269007894212e-02 6.693700363377729e-02 6.690132331662198e-02 + 6.686564914455943e-02 6.682998113467287e-02 6.679431930404556e-02 6.675866366976070e-02 6.672301424890158e-02 + 6.668737105855144e-02 6.665173411579348e-02 6.661610343771096e-02 6.658047904138716e-02 6.654486094390526e-02 + 6.650924916234854e-02 6.647364371380024e-02 6.643804461534360e-02 6.640245188406185e-02 6.636686553703826e-02 + 6.633128559135604e-02 6.629571206409844e-02 6.626014497234871e-02 6.622458433319009e-02 6.618903016370581e-02 + 6.615348248097914e-02 6.611794130209329e-02 6.608240664413152e-02 6.604687852417708e-02 6.601135695931318e-02 + 6.597584196662311e-02 6.594033356319007e-02 6.590483176609731e-02 6.586933659242808e-02 6.583384805926563e-02 + 6.579836618369318e-02 6.576289098279399e-02 6.572742247365128e-02 6.569196067334833e-02 6.565650559896835e-02 + 6.562105726759460e-02 6.558561569631030e-02 6.555018090219872e-02 6.551475290234308e-02 6.547933171382664e-02 + 6.544391735373260e-02 6.540850983914427e-02 6.537310918714484e-02 6.533771541481756e-02 6.530232853924568e-02 + 6.526694857751246e-02 6.523157554670111e-02 6.519620946389489e-02 6.516085034617702e-02 6.512549821063078e-02 + 6.509015307433939e-02 6.505481495438609e-02 6.501948386785412e-02 6.498415983182672e-02 6.494884286338716e-02 + 6.491353297961865e-02 6.487823019760443e-02 6.484293453442776e-02 6.480764600717190e-02 6.477236463292005e-02 + 6.473709042875546e-02 6.470182341176141e-02 6.466656359902111e-02 6.463131100761778e-02 6.459606565463470e-02 + 6.456082755715510e-02 6.452559673226224e-02 6.449037319703932e-02 6.445515696856961e-02 6.441994806393636e-02 + 6.438474650022280e-02 6.434955229451217e-02 6.431436546388770e-02 6.427918602543267e-02 6.424401399623028e-02 + 6.420884939336380e-02 6.417369223391646e-02 6.413854253497149e-02 6.410340031361215e-02 6.406826558692170e-02 + 6.403313837198334e-02 6.399801868588033e-02 6.396290654569593e-02 6.392780196851335e-02 6.389270497141585e-02 + 6.385761557148667e-02 6.382253378580906e-02 6.378745963146625e-02 6.375239312554147e-02 6.371733428511799e-02 + 6.368228312727903e-02 6.364723966910786e-02 6.361220392768768e-02 6.357717592010177e-02 6.354215566343337e-02 + 6.350714317476568e-02 6.347213847118198e-02 6.343714156976551e-02 6.340215248759951e-02 6.336717124176720e-02 + 6.333219784935186e-02 6.329723232743668e-02 6.326227469310496e-02 6.322732496343991e-02 6.319238315552476e-02 + 6.315744928644278e-02 6.312252337327721e-02 6.308760543311126e-02 6.305269548302821e-02 6.301779354011129e-02 + 6.298289962144372e-02 6.294801374410877e-02 6.291313592518968e-02 6.287826618176968e-02 6.284340453093201e-02 + 6.280855098975993e-02 6.277370557533665e-02 6.273886830474544e-02 6.270403919506955e-02 6.266921826339220e-02 + 6.263440552679662e-02 6.259960100236607e-02 6.256480470718381e-02 6.253001665833306e-02 6.249523687289707e-02 + 6.246046536795907e-02 6.242570216060229e-02 6.239094726791002e-02 6.235620070696547e-02 6.232146249485187e-02 + 6.228673264865250e-02 6.225201118545055e-02 6.221729812232930e-02 6.218259347637199e-02 6.214789726466187e-02 + 6.211320950428215e-02 6.207853021231610e-02 6.204385940584693e-02 6.200919710195792e-02 6.197454331773228e-02 + 6.193989807025328e-02 6.190526137660414e-02 6.187063325386812e-02 6.183601371912845e-02 6.180140278946837e-02 + 6.176680048197113e-02 6.173220681371997e-02 6.169762180179813e-02 6.166304546328885e-02 6.162847781527538e-02 + 6.159391887484095e-02 6.155936865906880e-02 6.152482718504219e-02 6.149029446984435e-02 6.145577053055853e-02 + 6.142125538426796e-02 6.138674904805590e-02 6.135225153900557e-02 6.131776287420022e-02 6.128328307072310e-02 + 6.124881214565744e-02 6.121435011608650e-02 6.117989699909349e-02 6.114545281176169e-02 6.111101757117431e-02 + 6.107659129441460e-02 6.104217399856583e-02 6.100776570071121e-02 6.097336641793399e-02 6.093897616731742e-02 + 6.090459496594473e-02 6.087022283089916e-02 6.083585977926396e-02 6.080150582812238e-02 6.076716099455765e-02 + 6.073282529565302e-02 6.069849874849172e-02 6.066418137015700e-02 6.062987317773211e-02 6.059557418830027e-02 + 6.056128441894475e-02 6.052700388674876e-02 6.049273260879557e-02 6.045847060216841e-02 6.042421788395052e-02 + 6.038997447122514e-02 6.035574038107552e-02 6.032151563058490e-02 6.028730023683652e-02 6.025309421691362e-02 + 6.021889758789946e-02 6.018471036687725e-02 6.015053257093025e-02 6.011636421714171e-02 6.008220532259485e-02 + 6.004805590437293e-02 6.001391597955918e-02 5.997978556523686e-02 5.994566467848918e-02 5.991155333639943e-02 + 5.987745155605081e-02 5.984335935452657e-02 5.980927674890997e-02 5.977520375628423e-02 5.974114039373261e-02 + 5.970708667833834e-02 5.967304262718466e-02 5.963900825735483e-02 5.960498358593206e-02 5.957096862999962e-02 + 5.953696340664075e-02 5.950296793293869e-02 5.946898222597666e-02 5.943500630283793e-02 5.940104018060574e-02 + 5.936708387636331e-02 5.933313740719390e-02 5.929920079018074e-02 5.926527404240709e-02 5.923135718095618e-02 + 5.919745022291125e-02 5.916355318535554e-02 5.912966608537230e-02 5.909578894004478e-02 5.906192176645620e-02 + 5.902806458168981e-02 5.899421740282887e-02 5.896038024695659e-02 5.892655313115624e-02 5.889273607251104e-02 + 5.885892908810425e-02 5.882513219501910e-02 5.879134541033884e-02 5.875756875114671e-02 5.872380223452595e-02 + 5.869004587755981e-02 5.865629969733151e-02 5.862256371092430e-02 5.858883793542144e-02 5.855512238790617e-02 + 5.852141708546170e-02 5.848772204517131e-02 5.845403728411822e-02 5.842036281938568e-02 5.838669866805692e-02 + 5.835304484721521e-02 5.831940137394376e-02 5.828576826532585e-02 5.825214553844467e-02 5.821853321038349e-02 + 5.818493129822556e-02 5.815133981905412e-02 5.811775878995240e-02 5.808418822800365e-02 5.805062815029110e-02 + 5.801707857389801e-02 5.798353951590760e-02 5.795001099340315e-02 5.791649302346786e-02 5.788298562318499e-02 + 5.784948880963779e-02 5.781600259990949e-02 5.778252701108333e-02 5.774906206024256e-02 5.771560776447041e-02 + 5.768216414085015e-02 5.764873120646499e-02 5.761530897839819e-02 5.758189747373298e-02 5.754849670955262e-02 + 5.751510670294033e-02 5.748172747097936e-02 5.744835903075296e-02 5.741500139934437e-02 5.738165459383683e-02 + 5.734831863131357e-02 5.731499352885785e-02 5.728167930355290e-02 5.724837597248197e-02 5.721508355272830e-02 + 5.718180206137512e-02 5.714853151550570e-02 5.711527193220325e-02 5.708202332855103e-02 5.704878572163228e-02 + 5.701555912853024e-02 5.698234356632816e-02 5.694913905210926e-02 5.691594560295680e-02 5.688276323595402e-02 + 5.684959196818416e-02 5.681643181673045e-02 5.678328279867616e-02 5.675014493110452e-02 5.671701823109875e-02 + 5.668390271574211e-02 5.665079840211785e-02 5.661770530730920e-02 5.658462344839940e-02 5.655155284247171e-02 + 5.651849350660935e-02 5.648544545789557e-02 5.645240871341362e-02 5.641938329024674e-02 5.638636920547815e-02 + 5.635336647619112e-02 5.632037511946889e-02 5.628739515239468e-02 5.625442659205174e-02 5.622146945552333e-02 + 5.618852375989267e-02 5.615558952224302e-02 5.612266675965761e-02 5.608975548921968e-02 5.605685572801247e-02 + 5.602396749311925e-02 5.599109080162322e-02 5.595822567060765e-02 5.592537211715578e-02 5.589253015835084e-02 + 5.585969981127608e-02 5.582688109301474e-02 5.579407402065006e-02 5.576127861126528e-02 5.572849488194366e-02 + 5.569572284976842e-02 5.566296253182280e-02 5.563021394519008e-02 5.559747710695345e-02 5.556475203419618e-02 + 5.553203874400151e-02 5.549933725345269e-02 5.546664757963294e-02 5.543396973962551e-02 5.540130375051366e-02 + 5.536864962938060e-02 5.533600739330961e-02 5.530337705938389e-02 5.527075864468672e-02 5.523815216630132e-02 + 5.520555764131094e-02 5.517297508679882e-02 5.514040451984819e-02 5.510784595754230e-02 5.507529941696442e-02 + 5.504276491519774e-02 5.501024246932555e-02 5.497773209643106e-02 5.494523381359754e-02 5.491274763790820e-02 + 5.488027358644629e-02 5.484781167629507e-02 5.481536192453777e-02 5.478292434825763e-02 5.475049896453790e-02 + 5.471808579046181e-02 5.468568484311261e-02 5.465329613957354e-02 5.462091969692785e-02 5.458855553225877e-02 + 5.455620366264955e-02 5.452386410518342e-02 5.449153687694363e-02 5.445922199501343e-02 5.442691947647604e-02 + 5.439462933841474e-02 5.436235159791274e-02 5.433008627205328e-02 5.429783337791962e-02 5.426559293259499e-02 + 5.423336495316264e-02 5.420114945670580e-02 5.416894646030773e-02 5.413675598105167e-02 5.410457803602083e-02 + 5.407241264229849e-02 5.404025981696787e-02 5.400811957711223e-02 5.397599193981480e-02 5.394387692215881e-02 + 5.391177454122753e-02 5.387968481410418e-02 5.384760775787202e-02 5.381554338961427e-02 5.378349172641418e-02 + 5.375145278535501e-02 5.371942658351998e-02 5.368741313799234e-02 5.365541246585533e-02 5.362342458419220e-02 + 5.359144951008617e-02 5.355948726062051e-02 5.352753785287844e-02 5.349560130394321e-02 5.346367763089808e-02 + 5.343176685082626e-02 5.339986898081100e-02 5.336798403793557e-02 5.333611203928318e-02 5.330425300193709e-02 + 5.327240694298052e-02 5.324057387949673e-02 5.320875382856897e-02 5.317694680728046e-02 5.314515283271445e-02 + 5.311337192195419e-02 5.308160409208292e-02 5.304984936018387e-02 5.301810774334029e-02 5.298637925860694e-02 + 5.295466392210174e-02 5.292296174881576e-02 5.289127275367324e-02 5.285959695159842e-02 5.282793435751552e-02 + 5.279628498634878e-02 5.276464885302243e-02 5.273302597246069e-02 5.270141635958780e-02 5.266982002932800e-02 + 5.263823699660550e-02 5.260666727634453e-02 5.257511088346935e-02 5.254356783290417e-02 5.251203813957321e-02 + 5.248052181840073e-02 5.244901888431094e-02 5.241752935222807e-02 5.238605323707637e-02 5.235459055378005e-02 + 5.232314131726334e-02 5.229170554245050e-02 5.226028324426572e-02 5.222887443763326e-02 5.219747913747734e-02 + 5.216609735872220e-02 5.213472911629205e-02 5.210337442511115e-02 5.207203330010370e-02 5.204070575619395e-02 + 5.200939180830615e-02 5.197809147136448e-02 5.194680476029321e-02 5.191553169001656e-02 5.188427227545876e-02 + 5.185302653154403e-02 5.182179447319664e-02 5.179057611534077e-02 5.175937147290068e-02 5.172818056080060e-02 + 5.169700339396475e-02 5.166583998731737e-02 5.163469035578269e-02 5.160355451428494e-02 5.157243247774834e-02 + 5.154132426109714e-02 5.151022987925555e-02 5.147914934714782e-02 5.144808267969817e-02 5.141702989183084e-02 + 5.138599099847005e-02 5.135496601454004e-02 5.132395495496503e-02 5.129295783466926e-02 5.126197466857695e-02 + 5.123100547161235e-02 5.120005025869967e-02 5.116910904476317e-02 5.113818184472704e-02 5.110726867351554e-02 + 5.107636954605289e-02 5.104548447726333e-02 5.101461348207109e-02 5.098375657540039e-02 5.095291377217546e-02 + 5.092208508732055e-02 5.089127053575987e-02 5.086047013241765e-02 5.082968389221815e-02 5.079891183008556e-02 + 5.076815396094415e-02 5.073741029971812e-02 5.070668086133172e-02 5.067596566070917e-02 5.064526471277472e-02 + 5.061457803245257e-02 5.058390563466697e-02 5.055324753434216e-02 5.052260374640234e-02 5.049197428577178e-02 + 5.046135916737467e-02 5.043075840613528e-02 5.040017201697781e-02 5.036960001482652e-02 5.033904241460560e-02 + 5.030849923123931e-02 5.027797047965189e-02 5.024745617476754e-02 5.021695633151052e-02 5.018647096480505e-02 + 5.015600008957535e-02 5.012554372074565e-02 5.009510187324022e-02 5.006467456198324e-02 5.003426180189897e-02 + 5.000386360791163e-02 4.997347999494546e-02 4.994311097792468e-02 4.991275657177353e-02 4.988241679141623e-02 + 4.985209165177702e-02 4.982178116778014e-02 4.979148535434980e-02 4.976120422641023e-02 4.973093779888569e-02 + 4.970068608670038e-02 4.967044910477855e-02 4.964022686804442e-02 4.961001939142222e-02 4.957982668983620e-02 + 4.954964877821057e-02 4.951948567146956e-02 4.948933738453741e-02 4.945920393233836e-02 4.942908532979662e-02 + 4.939898159183643e-02 4.936889273338203e-02 4.933881876935763e-02 4.930875971468749e-02 4.927871558429582e-02 + 4.924868639310685e-02 4.921867215604481e-02 4.918867288803395e-02 4.915868860399848e-02 4.912871931886263e-02 + 4.909876504755066e-02 4.906882580498677e-02 4.903890160609520e-02 4.900899246580018e-02 4.897909839902595e-02 + 4.894921942069672e-02 4.891935554573676e-02 4.888950678907025e-02 4.885967316562146e-02 4.882985469031461e-02 + 4.880005137807392e-02 4.877026324382362e-02 4.874049030248797e-02 4.871073256899117e-02 4.868099005825745e-02 + 4.865126278521108e-02 4.862155076477624e-02 4.859185401187720e-02 4.856217254143816e-02 4.853250636838338e-02 + 4.850285550763707e-02 4.847321997412347e-02 4.844359978276680e-02 4.841399494849130e-02 4.838440548622121e-02 + 4.835483141088075e-02 4.832527273739414e-02 4.829572948068564e-02 4.826620165567946e-02 4.823668927729983e-02 + 4.820719236047098e-02 4.817771092011715e-02 4.814824497116257e-02 4.811879452853147e-02 4.808935960714807e-02 + 4.805994022193662e-02 4.803053638782134e-02 4.800114811972645e-02 4.797177543257621e-02 4.794241834129482e-02 + 4.791307686080653e-02 4.788375100603556e-02 4.785444079190614e-02 4.782514623334252e-02 4.779586734526891e-02 + 4.776660414260955e-02 4.773735664028868e-02 4.770812485323050e-02 4.767890879635927e-02 4.764970848459921e-02 + 4.762052393287456e-02 4.759135515610954e-02 4.756220216922838e-02 4.753306498715533e-02 4.750394362481459e-02 + 4.747483809713041e-02 4.744574841902701e-02 4.741667460542864e-02 4.738761667125952e-02 4.735857463144388e-02 + 4.732954850090595e-02 4.730053829456995e-02 4.727154402736015e-02 4.724256571420073e-02 4.721360337001596e-02 + 4.718465700973005e-02 4.715572664826723e-02 4.712681230055175e-02 4.709791398150782e-02 4.706903170605968e-02 + 4.704016548913156e-02 4.701131534564769e-02 4.698248129053231e-02 4.695366333870963e-02 4.692486150510391e-02 + 4.689607580463934e-02 4.686730625224018e-02 4.683855286283068e-02 4.680981565133503e-02 4.678109463267748e-02 + 4.675238982178226e-02 4.672370123357359e-02 4.669502888297572e-02 4.666637278491287e-02 4.663773295430927e-02 + 4.660910940608916e-02 4.658050215517676e-02 4.655191121649629e-02 4.652333660497202e-02 4.649477833552815e-02 + 4.646623642308891e-02 4.643771088257853e-02 4.640920172892127e-02 4.638070897704132e-02 4.635223264186294e-02 + 4.632377273831036e-02 4.629532928130779e-02 4.626690228577947e-02 4.623849176664965e-02 4.621009773884253e-02 + 4.618172021728237e-02 4.615335921689338e-02 4.612501475259979e-02 4.609668683932586e-02 4.606837549199577e-02 + 4.604008072553380e-02 4.601180255486416e-02 4.598354099491107e-02 4.595529606059879e-02 4.592706776685152e-02 + 4.589885612859351e-02 4.587066116074899e-02 4.584248287824218e-02 4.581432129599732e-02 4.578617642893863e-02 + 4.575804829199037e-02 4.572993690007673e-02 4.570184226812196e-02 4.567376441105030e-02 4.564570334378597e-02 + 4.561765908125320e-02 4.558963163837623e-02 4.556162103007928e-02 4.553362727128659e-02 4.550565037692238e-02 + 4.547769036191089e-02 4.544974724117636e-02 4.542182102964300e-02 4.539391174223504e-02 4.536601939387674e-02 + 4.533814399949231e-02 4.531028557400597e-02 4.528244413234197e-02 4.525461968942453e-02 4.522681226017790e-02 + 4.519902185952628e-02 4.517124850239393e-02 4.514349220370505e-02 4.511575297838390e-02 4.508803084135470e-02 + 4.506032580754168e-02 4.503263789186907e-02 4.500496710926111e-02 4.497731347464200e-02 4.494967700293602e-02 + 4.492205770906736e-02 4.489445560796028e-02 4.486687071453899e-02 4.483930304372771e-02 4.481175261045071e-02 + 4.478421942963219e-02 4.475670351619640e-02 4.472920488506756e-02 4.470172355116988e-02 4.467425952942764e-02 + 4.464681283476502e-02 4.461938348210628e-02 4.459197148637566e-02 4.456457686249737e-02 4.453719962539564e-02 + 4.450983978999472e-02 4.448249737121881e-02 4.445517238399217e-02 4.442786484323902e-02 4.440057476388359e-02 + 4.437330216085012e-02 4.434604704906282e-02 4.431880944344595e-02 4.429158935892372e-02 4.426438681042035e-02 + 4.423720181286010e-02 4.421003438116718e-02 4.418288453026584e-02 4.415575227508029e-02 4.412863763053477e-02 + 4.410154061155352e-02 4.407446123306075e-02 4.404739950998071e-02 4.402035545723762e-02 4.399332908975571e-02 + 4.396632042245923e-02 4.393932947027238e-02 4.391235624811941e-02 4.388540077092456e-02 4.385846305361203e-02 + 4.383154311110608e-02 4.380464095833093e-02 4.377775661021081e-02 4.375089008166996e-02 4.372404138763258e-02 + 4.369721054302294e-02 4.367039756276526e-02 4.364360246178376e-02 4.361682525500267e-02 4.359006595734623e-02 + 4.356332458373868e-02 4.353660114910423e-02 4.350989566836711e-02 4.348320815645158e-02 4.345653862828184e-02 + 4.342988709878214e-02 4.340325358287669e-02 4.337663809548974e-02 4.335004065154552e-02 4.332346126596825e-02 + 4.329689995368217e-02 4.327035672961151e-02 4.324383160868049e-02 4.321732460581335e-02 4.319083573593433e-02 + 4.316436501396765e-02 4.313791245483754e-02 4.311147807346823e-02 4.308506188478395e-02 4.305866390370894e-02 + 4.303228414516742e-02 4.300592262408363e-02 4.297957935538180e-02 4.295325435398616e-02 4.292694763482094e-02 + 4.290065921281035e-02 4.287438910287866e-02 4.284813731995007e-02 4.282190387894883e-02 4.279568879479917e-02 + 4.276949208242530e-02 4.274331375675147e-02 4.271715383270192e-02 4.269101232520085e-02 4.266488924917250e-02 + 4.263878461954113e-02 4.261269845123093e-02 4.258663075916616e-02 4.256058155827103e-02 4.253455086346980e-02 + 4.250853868968667e-02 4.248254505184589e-02 4.245656996487169e-02 4.243061344368828e-02 4.240467550321991e-02 + 4.237875615839081e-02 4.235285542412521e-02 4.232697331534734e-02 4.230110984698143e-02 4.227526503395169e-02 + 4.224943889118240e-02 4.222363143359775e-02 4.219784267612198e-02 4.217207263367933e-02 4.214632132119402e-02 + 4.212058875359029e-02 4.209487494579236e-02 4.206917991272448e-02 4.204350366931086e-02 4.201784623047573e-02 + 4.199220761114335e-02 4.196658782623791e-02 4.194098689068368e-02 4.191540481940486e-02 4.188984162732570e-02 + 4.186429732937041e-02 4.183877194046326e-02 4.181326547552844e-02 4.178777794949019e-02 4.176230937727277e-02 + 4.173685977380037e-02 4.171142915399725e-02 4.168601753278764e-02 4.166062492509574e-02 4.163525134584580e-02 + 4.160989680996207e-02 4.158456133236876e-02 4.155924492799010e-02 4.153394761175032e-02 4.150866939857367e-02 + 4.148341030338436e-02 4.145817034110662e-02 4.143294952666470e-02 4.140774787498282e-02 4.138256540098521e-02 + 4.135740211959609e-02 4.133225804573972e-02 4.130713319434030e-02 4.128202758032209e-02 4.125694121860929e-02 + 4.123187412412615e-02 4.120682631179690e-02 4.118179779654577e-02 4.115678859329698e-02 4.113179871697477e-02 + 4.110682818250337e-02 4.108187700480702e-02 4.105694519880994e-02 4.103203277943635e-02 4.100713976161051e-02 + 4.098226616025662e-02 4.095741199029894e-02 4.093257726666168e-02 4.090776200426908e-02 4.088296621804536e-02 + 4.085818992291476e-02 4.083343313380151e-02 4.080869586562985e-02 4.078397813332400e-02 4.075927995180818e-02 + 4.073460133600665e-02 4.070994230084361e-02 4.068530286124331e-02 4.066068303212998e-02 4.063608282842784e-02 + 4.061150226506113e-02 4.058694135695408e-02 4.056240011903092e-02 4.053787856621588e-02 4.051337671343318e-02 + 4.048889457560707e-02 4.046443216766178e-02 4.043998950452153e-02 4.041556660111054e-02 4.039116347235307e-02 + 4.036678013317334e-02 4.034241659849556e-02 4.031807288324400e-02 4.029374900234285e-02 4.026944497071637e-02 + 4.024516080328877e-02 4.022089651498431e-02 4.019665212072718e-02 4.017242763544165e-02 4.014822307405193e-02 + 4.012403845148225e-02 4.009987378265685e-02 4.007572908249996e-02 4.005160436593580e-02 4.002749964788860e-02 + 4.000341494328261e-02 3.997935026862905e-02 3.995530565020248e-02 3.993128111798760e-02 3.990727670197625e-02 + 3.988329243216027e-02 3.985932833853151e-02 3.983538445108181e-02 3.981146079980302e-02 3.978755741468697e-02 + 3.976367432572553e-02 3.973981156291052e-02 3.971596915623379e-02 3.969214713568721e-02 3.966834553126258e-02 + 3.964456437295178e-02 3.962080369074663e-02 3.959706351463900e-02 3.957334387462071e-02 3.954964480068362e-02 + 3.952596632281957e-02 3.950230847102040e-02 3.947867127527795e-02 3.945505476558409e-02 3.943145897193063e-02 + 3.940788392430945e-02 3.938432965271236e-02 3.936079618713123e-02 3.933728355755788e-02 3.931379179398419e-02 + 3.929032092640197e-02 3.926687098480308e-02 3.924344199917935e-02 3.922003399952266e-02 3.919664701582481e-02 + 3.917328107807769e-02 3.914993621627309e-02 3.912661246040292e-02 3.910330984045896e-02 3.908002838643308e-02 + 3.905676812831715e-02 3.903352909610298e-02 3.901031131978242e-02 3.898711482934733e-02 3.896393965478955e-02 + 3.894078582610091e-02 3.891765337327326e-02 3.889454232629846e-02 3.887145271516833e-02 3.884838456987474e-02 + 3.882533792040951e-02 3.880231279676451e-02 3.877930922893155e-02 3.875632724690252e-02 3.873336688066923e-02 + 3.871042816022353e-02 3.868751111555727e-02 3.866461577666229e-02 3.864174217353044e-02 3.861889033615356e-02 + 3.859606029452349e-02 3.857325207863209e-02 3.855046571847119e-02 3.852770124403264e-02 3.850495868530828e-02 + 3.848223807228996e-02 3.845953943496952e-02 3.843686280333881e-02 3.841420820738967e-02 3.839157567711395e-02 + 3.836896524250349e-02 3.834637693355013e-02 3.832381078024572e-02 3.830126681258209e-02 3.827874506055112e-02 + 3.825624555414461e-02 3.823376832335444e-02 3.821131339817244e-02 3.818888080859045e-02 3.816647058460032e-02 + 3.814408275619389e-02 3.812171735336303e-02 3.809937440609954e-02 3.807705394439530e-02 3.805475599824214e-02 + 3.803248059763190e-02 3.801022777255643e-02 3.798799755300758e-02 3.796578996897719e-02 3.794360505045710e-02 + 3.792144282743916e-02 3.789930332991522e-02 3.787718658787710e-02 3.785509263131667e-02 3.783302149022577e-02 + 3.781097319459624e-02 3.778894777441992e-02 3.776694525968866e-02 3.774496568039430e-02 3.772300906652870e-02 + 3.770107544808367e-02 3.767916485505110e-02 3.765727731742280e-02 3.763541286519063e-02 3.761357152834642e-02 + 3.759175333688204e-02 3.756995832078931e-02 3.754818651006007e-02 3.752643793468620e-02 3.750471262465951e-02 + 3.748301060997186e-02 3.746133192061509e-02 3.743967658658105e-02 3.741804463786157e-02 3.739643610444850e-02 + 3.737485101633371e-02 3.735328940350900e-02 3.733175129596625e-02 3.731023672369729e-02 3.728874571669397e-02 + 3.726727830494812e-02 3.724583451845160e-02 3.722441438719625e-02 3.720301794117391e-02 3.718164521037644e-02 + 3.716029622479566e-02 3.713897101442343e-02 3.711766960925159e-02 3.709639203927199e-02 3.707513833447647e-02 + 3.705390852485687e-02 3.703270264040504e-02 3.701152071111283e-02 3.699036276697207e-02 3.696922883797462e-02 + 3.694811895411231e-02 3.692703314537699e-02 3.690597144176051e-02 3.688493387325471e-02 3.686392046985143e-02 + 3.684293126154253e-02 3.682196627831984e-02 3.680102555017520e-02 3.678010910710046e-02 3.675921697908748e-02 + 3.673834919612807e-02 3.671750578821411e-02 3.669668678533742e-02 3.667589221748987e-02 3.665512211466327e-02 + 3.663437650684950e-02 3.661365542404037e-02 3.659295889622776e-02 3.657228695340348e-02 3.655163962555941e-02 + 3.653101694268735e-02 3.651041893477919e-02 3.648984563182674e-02 3.646929706382188e-02 3.644877326075641e-02 + 3.642827425262220e-02 3.640780006941109e-02 3.638735074111494e-02 3.636692629772557e-02 3.634652676923484e-02 + 3.632615218563458e-02 3.630580257691665e-02 3.628547797307289e-02 3.626517840409513e-02 3.624490389997524e-02 + 3.622465449070505e-02 3.620443020627639e-02 3.618423107668113e-02 3.616405713191111e-02 3.614390840195816e-02 + 3.612378491681414e-02 3.610368670647089e-02 3.608361380092025e-02 3.606356623015406e-02 3.604354402416417e-02 + 3.602354721294244e-02 3.600357582648069e-02 3.598362989477077e-02 3.596370944780453e-02 3.594381451557382e-02 + 3.592394512807047e-02 3.590410131528634e-02 3.588428310721326e-02 3.586449053384308e-02 3.584472362516764e-02 + 3.582498241117880e-02 3.580526692186839e-02 3.578557718722826e-02 3.576591323725024e-02 3.574627510192620e-02 + 3.572666281124797e-02 3.570707639520740e-02 3.568751588379632e-02 3.566798130700659e-02 3.564847269483005e-02 + 3.562899007725854e-02 3.560953348428391e-02 3.559010294589800e-02 3.557069849209266e-02 3.555132015285974e-02 + 3.553196795819106e-02 3.551264193807849e-02 3.549334212251386e-02 3.547406854148901e-02 3.545482122499580e-02 + 3.543560020302607e-02 3.541640550557167e-02 3.539723716262443e-02 3.537809520417620e-02 3.535897966021882e-02 + 3.533989056074414e-02 3.532082793574401e-02 3.530179181521027e-02 3.528278222913475e-02 3.526379920750932e-02 + 3.524484278032580e-02 3.522591297757607e-02 3.520700982925193e-02 3.518813336534525e-02 3.516928361584787e-02 + 3.515046061075164e-02 3.513166438004838e-02 3.511289495372998e-02 3.509415236178823e-02 3.507543663421501e-02 + 3.505674780100216e-02 3.503808589214152e-02 3.501945093762493e-02 3.500084296744425e-02 3.498226201159130e-02 + 3.496370810005795e-02 3.494518126283602e-02 3.492668152991737e-02 3.490820893129385e-02 3.488976349695729e-02 + 3.487134525689954e-02 3.485295424111245e-02 3.483459047958785e-02 3.481625400231760e-02 3.479794483929353e-02 + 3.477966302050750e-02 3.476140857595134e-02 3.474318153561690e-02 3.472498192949603e-02 3.470680978758058e-02 + 3.468866513986237e-02 3.467054801633326e-02 3.465245844698509e-02 3.463439646180971e-02 3.461636209079897e-02 + 3.459835536394470e-02 3.458037631123875e-02 3.456242496267296e-02 3.454450134823919e-02 3.452660549792927e-02 + 3.450873744173504e-02 3.449089720964835e-02 3.447308483166107e-02 3.445530033776500e-02 3.443754375795202e-02 + 3.441981512221395e-02 3.440211446054266e-02 3.438444180292995e-02 3.436679717936773e-02 3.434918061984778e-02 + 3.433159215436199e-02 3.431403181290218e-02 3.429649962546020e-02 3.427899562202789e-02 3.426151983259711e-02 + 3.424407228715969e-02 3.422665301570748e-02 3.420926204823232e-02 3.419189941472606e-02 3.417456514518054e-02 + 3.415725926958761e-02 3.413998181793911e-02 3.412273282022688e-02 3.410551230644278e-02 3.408832030657864e-02 + 3.407115685062630e-02 3.405402196857762e-02 3.403691569042444e-02 3.401983804615860e-02 3.400278906577194e-02 + 3.398576877925633e-02 3.396877721660357e-02 3.395181440780554e-02 3.393488038285408e-02 3.391797517174103e-02 + 3.390109880445821e-02 3.388425131099751e-02 3.386743272135074e-02 3.385064306550976e-02 3.383388237346641e-02 + 3.381715067521254e-02 3.380044800073998e-02 3.378377438004059e-02 3.376712984310620e-02 3.375051441992868e-02 + 3.373392814049984e-02 3.371737103481155e-02 3.370084313285564e-02 3.368434446462396e-02 3.366787506010836e-02 + 3.365143466564878e-02 3.363501887624541e-02 3.361862209777612e-02 3.360224500875989e-02 3.358588827878357e-02 + 3.356955147090725e-02 3.355323458431880e-02 3.353693766165054e-02 3.352066065506343e-02 3.350440352193865e-02 + 3.348816624199871e-02 3.347194881659273e-02 3.345575121630599e-02 3.343957340404732e-02 3.342341535303144e-02 + 3.340727704441876e-02 3.339115845430404e-02 3.337505954322636e-02 3.335898029706669e-02 3.334292070921326e-02 + 3.332688074834195e-02 3.331086037969291e-02 3.329485957414917e-02 3.327887831864652e-02 3.326291658484171e-02 + 3.324697433542376e-02 3.323105156623186e-02 3.321514826023114e-02 3.319926437839098e-02 3.318339989412266e-02 + 3.316755478754796e-02 3.315172903929034e-02 3.313592261295018e-02 3.312013548124740e-02 3.310436764153749e-02 + 3.308861906981869e-02 3.307288973180764e-02 3.305717959801665e-02 3.304148865245999e-02 3.302581687574703e-02 + 3.301016422142487e-02 3.299453067800234e-02 3.297891624809741e-02 3.296332088425066e-02 3.294774455685354e-02 + 3.293218725810471e-02 3.291664896225673e-02 3.290112963401578e-02 3.288562923879117e-02 3.287014777263271e-02 + 3.285468522369568e-02 3.283924155670871e-02 3.282381674440858e-02 3.280841076589561e-02 3.279302360243119e-02 + 3.277765521941309e-02 3.276230558706894e-02 3.274697470113698e-02 3.273166254219040e-02 3.271636907936865e-02 + 3.270109428250347e-02 3.268583813280482e-02 3.267060061307020e-02 3.265538168459424e-02 3.264018132671115e-02 + 3.262499953449712e-02 3.260983628233858e-02 3.259469153939318e-02 3.257956527754512e-02 3.256445748091834e-02 + 3.254936812698490e-02 3.253429718174427e-02 3.251924463148387e-02 3.250421046229880e-02 3.248919464552218e-02 + 3.247419715298105e-02 3.245921796288541e-02 3.244425706251369e-02 3.242931441545717e-02 3.241438998652282e-02 + 3.239948378141620e-02 3.238459577882156e-02 3.236972593925531e-02 3.235487424670715e-02 3.234004068301546e-02 + 3.232522522137563e-02 3.231042782696456e-02 3.229564848261764e-02 3.228088718700101e-02 3.226614390644563e-02 + 3.225141860917057e-02 3.223671128042128e-02 3.222202190260593e-02 3.220735044835789e-02 3.219269687989033e-02 + 3.217806118663362e-02 3.216344336205739e-02 3.214884337811092e-02 3.213426120193776e-02 3.211969680852602e-02 + 3.210515019435922e-02 3.209062132655478e-02 3.207611016186721e-02 3.206161670288540e-02 3.204714093648681e-02 + 3.203268282961075e-02 3.201824236239234e-02 3.200381951210604e-02 3.198941424912934e-02 3.197502654604618e-02 + 3.196065638811887e-02 3.194630377248257e-02 3.193196866763873e-02 3.191765104079724e-02 3.190335087680102e-02 + 3.188906815766901e-02 3.187480285784819e-02 3.186055494296534e-02 3.184632440204734e-02 3.183211122836238e-02 + 3.181791538780577e-02 3.180373685568510e-02 3.178957561657719e-02 3.177543165075891e-02 3.176130492904844e-02 + 3.174719542079285e-02 3.173310312097031e-02 3.171902801589959e-02 3.170497007535993e-02 3.169092927256592e-02 + 3.167690558660036e-02 3.166289900092451e-02 3.164890948767075e-02 3.163493702375719e-02 3.162098160094597e-02 + 3.160704320149037e-02 3.159312179836957e-02 3.157921735868882e-02 3.156532987076624e-02 3.155145932224658e-02 + 3.153760566663864e-02 3.152376889172848e-02 3.150994900180672e-02 3.149614595827410e-02 3.148235973399625e-02 + 3.146859031868535e-02 3.145483769408502e-02 3.144110182886523e-02 3.142738268687409e-02 3.141368026942635e-02 + 3.139999456778463e-02 3.138632554513814e-02 3.137267318073906e-02 3.135903745883740e-02 3.134541835839263e-02 + 3.133181584694165e-02 3.131822989974722e-02 3.130466051752389e-02 3.129110768114365e-02 3.127757136018487e-02 + 3.126405153214003e-02 3.125054818119363e-02 3.123706128835145e-02 3.122359081277034e-02 3.121013674152311e-02 + 3.119669908223311e-02 3.118327780512727e-02 3.116987287740892e-02 3.115648427590923e-02 3.114311198755302e-02 + 3.112975599208620e-02 3.111641625878769e-02 3.110309278026453e-02 3.108978554429882e-02 3.107649451605467e-02 + 3.106321967573116e-02 3.104996101093369e-02 3.103671850522385e-02 3.102349212552239e-02 3.101028184118182e-02 + 3.099708765215899e-02 3.098390954305432e-02 3.097074748653887e-02 3.095760146577434e-02 3.094447145973171e-02 + 3.093135744175442e-02 3.091825938652267e-02 3.090517727892404e-02 3.089211111199125e-02 3.087906086415095e-02 + 3.086602651045607e-02 3.085300802884278e-02 3.084000540267990e-02 3.082701861024971e-02 3.081404762072755e-02 + 3.080109242772720e-02 3.078815302348911e-02 3.077522937271052e-02 3.076232145526043e-02 3.074942925853004e-02 + 3.073655275969265e-02 3.072369193358731e-02 3.071084675893487e-02 3.069801722815575e-02 3.068520332655950e-02 + 3.067240502926292e-02 3.065962230727411e-02 3.064685514336771e-02 3.063410352936318e-02 3.062136743092317e-02 + 3.060864682743443e-02 3.059594172387181e-02 3.058325209340110e-02 3.057057790484611e-02 3.055791914232513e-02 + 3.054527578866520e-02 3.053264782274670e-02 3.052003521936738e-02 3.050743796632342e-02 3.049485605420712e-02 + 3.048228945948342e-02 3.046973815764381e-02 3.045720212753895e-02 3.044468135532321e-02 3.043217582076147e-02 + 3.041968549967531e-02 3.040721038082923e-02 3.039475044749309e-02 3.038230567464306e-02 3.036987604544383e-02 + 3.035746154526919e-02 3.034506215632694e-02 3.033267784558463e-02 3.032030859116679e-02 3.030795439680851e-02 + 3.029561524020229e-02 3.028329109283977e-02 3.027098194217670e-02 3.025868776986960e-02 3.024640855125834e-02 + 3.023414425922958e-02 3.022189488753165e-02 3.020966043396606e-02 3.019744085927903e-02 3.018523614254973e-02 + 3.017304628070488e-02 3.016087124712451e-02 3.014871101490015e-02 3.013656556629268e-02 3.012443489643160e-02 + 3.011231899192166e-02 3.010021782348693e-02 3.008813136953290e-02 3.007605961443153e-02 3.006400254477032e-02 + 3.005196013216448e-02 3.003993235442936e-02 3.002791921520012e-02 3.001592069144608e-02 3.000393675083135e-02 + 2.999196738372897e-02 2.998001257673401e-02 2.996807230790781e-02 2.995614654679549e-02 2.994423528130847e-02 + 2.993233851118915e-02 2.992045620999083e-02 2.990858835120550e-02 2.989673491731453e-02 2.988489589805536e-02 + 2.987307127537464e-02 2.986126102011340e-02 2.984946511909828e-02 2.983768356331996e-02 2.982591633787642e-02 + 2.981416341477938e-02 2.980242477098497e-02 2.979070040412034e-02 2.977899028736241e-02 2.976729439085326e-02 + 2.975561271768286e-02 2.974394525020974e-02 2.973229195799546e-02 2.972065283153817e-02 2.970902785474345e-02 + 2.969741700233630e-02 2.968582025251779e-02 2.967423759388233e-02 2.966266902120933e-02 2.965111450751603e-02 + 2.963957402972690e-02 2.962804757853395e-02 2.961653513685447e-02 2.960503668212408e-02 2.959355219023237e-02 + 2.958208165129883e-02 2.957062505724755e-02 2.955918238857859e-02 2.954775362079399e-02 2.953633873283637e-02 + 2.952493771681483e-02 2.951355054848872e-02 2.950217720053436e-02 2.949081767862442e-02 2.947947196700992e-02 + 2.946814003034778e-02 2.945682185755054e-02 2.944551743582863e-02 2.943422674341014e-02 2.942294975870480e-02 + 2.941168646812421e-02 2.940043686618776e-02 2.938920093147064e-02 2.937797864134186e-02 2.936676998172867e-02 + 2.935557493479196e-02 2.934439347979633e-02 2.933322559583284e-02 2.932207127373048e-02 2.931093050463312e-02 + 2.929980326285230e-02 2.928868953142686e-02 2.927758929945683e-02 2.926650254799867e-02 2.925542925398767e-02 + 2.924436939550082e-02 2.923332296415483e-02 2.922228995044700e-02 2.921127033783603e-02 2.920026410004271e-02 + 2.918927122033416e-02 2.917829169471517e-02 2.916732549176795e-02 2.915637258777840e-02 2.914543298801943e-02 + 2.913450667577263e-02 2.912359362430894e-02 2.911269381274288e-02 2.910180723305731e-02 2.909093387402745e-02 + 2.908007369930849e-02 2.906922669822638e-02 2.905839287303405e-02 2.904757219714476e-02 2.903676465199738e-02 + 2.902597022808873e-02 2.901518890157972e-02 2.900442065055892e-02 2.899366546087253e-02 2.898292332562971e-02 + 2.897219423070421e-02 2.896147815085827e-02 2.895077507160809e-02 2.894008498122344e-02 2.892940786384609e-02 + 2.891874369517828e-02 2.890809245634708e-02 2.889745414621765e-02 2.888682874769054e-02 2.887621623583590e-02 + 2.886561659425123e-02 2.885502981116054e-02 2.884445587294774e-02 2.883389475319686e-02 2.882334643970105e-02 + 2.881281093000496e-02 2.880228819979298e-02 2.879177822929067e-02 2.878128100842524e-02 2.877079651898801e-02 + 2.876032473884395e-02 2.874986564740009e-02 2.873941924390505e-02 2.872898552052601e-02 2.871856444638324e-02 + 2.870815600507148e-02 2.869776018641480e-02 2.868737697516582e-02 2.867700634591397e-02 2.866664827916806e-02 + 2.865630278319325e-02 2.864596983917359e-02 2.863564941328856e-02 2.862534149829953e-02 2.861504608429113e-02 + 2.860476315234840e-02 2.859449267740666e-02 2.858423464566411e-02 2.857398905422620e-02 2.856375588402207e-02 + 2.855353511594846e-02 2.854332673804624e-02 2.853313073796621e-02 2.852294709429606e-02 2.851277577543872e-02 + 2.850261678440491e-02 2.849247012219593e-02 2.848233575178603e-02 2.847221365657614e-02 2.846210383116990e-02 + 2.845200625935100e-02 2.844192091752946e-02 2.843184778466237e-02 2.842178686053369e-02 2.841173813547823e-02 + 2.840170158739025e-02 2.839167719418843e-02 2.838166494245600e-02 2.837166482484053e-02 2.836167681707307e-02 + 2.835170090137019e-02 2.834173707461769e-02 2.833178532393912e-02 2.832184563033358e-02 2.831191797277370e-02 + 2.830200233825938e-02 2.829209871310940e-02 2.828220707523810e-02 2.827232741579271e-02 2.826245972853687e-02 + 2.825260399229306e-02 2.824276019064247e-02 2.823292831178126e-02 2.822310834132040e-02 2.821330025651807e-02 + 2.820350403438503e-02 2.819371967866794e-02 2.818394718049788e-02 2.817418651237375e-02 2.816443766090156e-02 + 2.815470061416237e-02 2.814497535504664e-02 2.813526186206681e-02 2.812556012131105e-02 2.811587013236315e-02 + 2.810619188120791e-02 2.809652534562629e-02 2.808687050311100e-02 2.807722734684383e-02 2.806759586949595e-02 + 2.805797603975531e-02 2.804836784541272e-02 2.803877128655403e-02 2.802918634812817e-02 2.801961300908425e-02 + 2.801005124931340e-02 2.800050106254358e-02 2.799096243185147e-02 2.798143533065562e-02 2.797191976200169e-02 + 2.796241571829330e-02 2.795292316767612e-02 2.794344209750147e-02 2.793397250080147e-02 2.792451436474921e-02 + 2.791506766429417e-02 2.790563238187514e-02 2.789620852426368e-02 2.788679607109519e-02 2.787739499448651e-02 + 2.786800529276515e-02 2.785862695250820e-02 2.784925995023579e-02 2.783990426851568e-02 2.783055990112446e-02 + 2.782122684523413e-02 2.781190507602721e-02 2.780259457625915e-02 2.779329533996523e-02 2.778400734510273e-02 + 2.777473057425486e-02 2.776546502209671e-02 2.775621067523501e-02 2.774696751775778e-02 2.773773553529171e-02 + 2.772851471226555e-02 2.771930503638066e-02 2.771010650156085e-02 2.770091908311444e-02 2.769174275675288e-02 + 2.768257752750487e-02 2.767342338343482e-02 2.766428030170250e-02 2.765514827509389e-02 2.764602728937508e-02 + 2.763691732224667e-02 2.762781835629091e-02 2.761873038318760e-02 2.760965340016332e-02 2.760058738918467e-02 + 2.759153233095657e-02 2.758248821223181e-02 2.757345502668101e-02 2.756443275844788e-02 2.755542137569210e-02 + 2.754642087861812e-02 2.753743126859248e-02 2.752845251726651e-02 2.751948461051369e-02 2.751052754088128e-02 + 2.750158129051000e-02 2.749264584112846e-02 2.748372117908398e-02 2.747480730190011e-02 2.746590419839729e-02 + 2.745701184777745e-02 2.744813023052759e-02 2.743925933666562e-02 2.743039916197098e-02 2.742154968107790e-02 + 2.741271087850060e-02 2.740388275814067e-02 2.739506530469222e-02 2.738625849608251e-02 2.737746231424592e-02 + 2.736867675514432e-02 2.735990180809817e-02 2.735113743878892e-02 2.734238364845174e-02 2.733364044336462e-02 + 2.732490778587926e-02 2.731618566204183e-02 2.730747407386686e-02 2.729877300249025e-02 2.729008242908668e-02 + 2.728140234030172e-02 2.727273272900814e-02 2.726407358354408e-02 2.725542488697956e-02 2.724678662927163e-02 + 2.723815879907967e-02 2.722954137935252e-02 2.722093434732608e-02 2.721233769152850e-02 2.720375141931018e-02 + 2.719517551218435e-02 2.718660994644712e-02 2.717805471481514e-02 2.716950980584153e-02 2.716097520393317e-02 + 2.715245089289530e-02 2.714393686286031e-02 2.713543310581999e-02 2.712693960497614e-02 2.711845634782483e-02 + 2.710998332519429e-02 2.710152051958041e-02 2.709306791441093e-02 2.708462549834906e-02 2.707619326918369e-02 + 2.706777121480425e-02 2.705935930907671e-02 2.705095754483260e-02 2.704256591454058e-02 2.703418439795306e-02 + 2.702581298145425e-02 2.701745165546447e-02 2.700910041075726e-02 2.700075923746808e-02 2.699242812272907e-02 + 2.698410704764140e-02 2.697579599978723e-02 2.696749496984126e-02 2.695920394125775e-02 2.695092290187428e-02 + 2.694265184396634e-02 2.693439075649869e-02 2.692613962541774e-02 2.691789843589869e-02 2.690966718080280e-02 + 2.690144584430361e-02 2.689323440003169e-02 2.688503284907665e-02 2.687684119009101e-02 2.686865940030225e-02 + 2.686048746353486e-02 2.685232536881714e-02 2.684417310662326e-02 2.683603066151065e-02 2.682789801897943e-02 + 2.681977517552054e-02 2.681166212021913e-02 2.680355883616239e-02 2.679546530889016e-02 2.678738152752996e-02 + 2.677930748200765e-02 2.677124315479004e-02 2.676318853591112e-02 2.675514362231527e-02 2.674710839396962e-02 + 2.673908283555094e-02 2.673106694339361e-02 2.672306070150655e-02 2.671506409151823e-02 2.670707710108217e-02 + 2.669909972943648e-02 2.669113197027321e-02 2.668317379682501e-02 2.667522519875436e-02 2.666728617090520e-02 + 2.665935669311371e-02 2.665143675159882e-02 2.664352634032146e-02 2.663562545659268e-02 2.662773408361464e-02 + 2.661985219717407e-02 2.661197979572226e-02 2.660411687169956e-02 2.659626340488144e-02 2.658841937631547e-02 + 2.658058477937751e-02 2.657275961893512e-02 2.656494387358596e-02 2.655713752275513e-02 2.654934056348008e-02 + 2.654155298332925e-02 2.653377476657220e-02 2.652600590198415e-02 2.651824638075199e-02 2.651049619255404e-02 + 2.650275532091429e-02 2.649502375487615e-02 2.648730148802552e-02 2.647958851263073e-02 2.647188480891689e-02 + 2.646419035368700e-02 2.645650515131691e-02 2.644882919484906e-02 2.644116246069965e-02 2.643350494181170e-02 + 2.642585663084689e-02 2.641821751242615e-02 2.641058756892747e-02 2.640296679007395e-02 2.639535517653221e-02 + 2.638775271175803e-02 2.638015937698240e-02 2.637257516664822e-02 2.636500007332271e-02 2.635743408373907e-02 + 2.634987717633525e-02 2.634232934391862e-02 2.633479058525924e-02 2.632726088227431e-02 2.631974022390311e-02 + 2.631222860499385e-02 2.630472600717760e-02 2.629723241433261e-02 2.628974781674581e-02 2.628227220621198e-02 + 2.627480557677242e-02 2.626734792215179e-02 2.625989921852152e-02 2.625245945041883e-02 2.624502862403611e-02 + 2.623760671958282e-02 2.623019371536040e-02 2.622278961237779e-02 2.621539440295659e-02 2.620800807254220e-02 + 2.620063060674004e-02 2.619326199404739e-02 2.618590222410475e-02 2.617855128386046e-02 2.617120916522779e-02 + 2.616387586230346e-02 2.615655135861502e-02 2.614923564213544e-02 2.614192870720641e-02 2.613463054125929e-02 + 2.612734112755428e-02 2.612006044964381e-02 2.611278850871195e-02 2.610552530050819e-02 2.609827080222275e-02 + 2.609102500359168e-02 2.608378789925431e-02 2.607655947900249e-02 2.606933972466179e-02 2.606212861946312e-02 + 2.605492616097670e-02 2.604773234503024e-02 2.604054716124884e-02 2.603337058950191e-02 2.602620261873257e-02 + 2.601904324395194e-02 2.601189244598317e-02 2.600475021758196e-02 2.599761656283118e-02 2.599049145836681e-02 + 2.598337488632347e-02 2.597626684662969e-02 2.596916733159564e-02 2.596207632537513e-02 2.595499380688753e-02 + 2.594791977426907e-02 2.594085422650568e-02 2.593379714560815e-02 2.592674851872178e-02 2.591970833661526e-02 + 2.591267658830654e-02 2.590565326173340e-02 2.589863834578747e-02 2.589163183398775e-02 2.588463371701131e-02 + 2.587764398252935e-02 2.587066261956569e-02 2.586368961749470e-02 2.585672496539723e-02 2.584976865103265e-02 + 2.584282066471713e-02 2.583588100000093e-02 2.582894964599770e-02 2.582202659070586e-02 2.581511182332461e-02 + 2.580820533343631e-02 2.580130710958863e-02 2.579441713875388e-02 2.578753541579036e-02 2.578066193633965e-02 + 2.577379668579866e-02 2.576693964640701e-02 2.576009080523955e-02 2.575325016689414e-02 2.574641771694009e-02 + 2.573959342940173e-02 2.573277731100565e-02 2.572596935753856e-02 2.571916954588383e-02 2.571237786264848e-02 + 2.570559430241213e-02 2.569881886299849e-02 2.569205152414907e-02 2.568529227185872e-02 2.567854111122693e-02 + 2.567179802594942e-02 2.566506299732867e-02 2.565833602386073e-02 2.565161709921462e-02 2.564490620914589e-02 + 2.563820333139000e-02 2.563150846268354e-02 2.562482160754986e-02 2.561814274902439e-02 2.561147187258114e-02 + 2.560480896924013e-02 2.559815402833877e-02 2.559150703774291e-02 2.558486798572520e-02 2.557823686789989e-02 + 2.557161367849433e-02 2.556499840587265e-02 2.555839103232124e-02 2.555179154834854e-02 2.554519995829834e-02 + 2.553861624178350e-02 2.553204037844031e-02 2.552547237202886e-02 2.551891221538829e-02 2.551235989397021e-02 + 2.550581539575596e-02 2.549927871458803e-02 2.549274984258965e-02 2.548622875540724e-02 2.547971544999134e-02 + 2.547320993631275e-02 2.546671219025347e-02 2.546022219347805e-02 2.545373994243675e-02 2.544726542971977e-02 + 2.544079864501286e-02 2.543433957656028e-02 2.542788821576999e-02 2.542144455508066e-02 2.541500858637495e-02 + 2.540858030019949e-02 2.540215968413957e-02 2.539574672197945e-02 2.538934140646816e-02 2.538294373410821e-02 + 2.537655369660362e-02 2.537017128263758e-02 2.536379648098229e-02 2.535742928550868e-02 2.535106968465225e-02 + 2.534471766277936e-02 2.533837321084466e-02 2.533203632423742e-02 2.532570699881585e-02 2.531938521813243e-02 + 2.531307097096266e-02 2.530676425602581e-02 2.530046505932213e-02 2.529417336607690e-02 2.528788916915281e-02 + 2.528161246489754e-02 2.527534324609989e-02 2.526908149634068e-02 2.526282720495094e-02 2.525658036572961e-02 + 2.525034097275206e-02 2.524410901058027e-02 2.523788446449190e-02 2.523166734234336e-02 2.522545763237074e-02 + 2.521925530838600e-02 2.521306037097086e-02 2.520687281776321e-02 2.520069263496993e-02 2.519451980442291e-02 + 2.518835431925369e-02 2.518219618546694e-02 2.517604538654039e-02 2.516990190396150e-02 2.516376573127799e-02 + 2.515763686639562e-02 2.515151530112912e-02 2.514540101358030e-02 2.513929399756280e-02 2.513319425347670e-02 + 2.512710177240427e-02 2.512101654329324e-02 2.511493855506050e-02 2.510886779787783e-02 2.510280425830826e-02 + 2.509674792451250e-02 2.509069880343641e-02 2.508465688466923e-02 2.507862214067907e-02 2.507259457630134e-02 + 2.506657418922008e-02 2.506056095604422e-02 2.505455486579475e-02 2.504855591546334e-02 2.504256410459500e-02 + 2.503657941982099e-02 2.503060184642849e-02 2.502463137903613e-02 2.501866800626509e-02 2.501271171663477e-02 + 2.500676250820755e-02 2.500082037092928e-02 2.499488529135626e-02 2.498895726677344e-02 2.498303628979692e-02 + 2.497712234741346e-02 2.497121542814719e-02 2.496531552247531e-02 2.495942262282587e-02 2.495353672310340e-02 + 2.494765781766853e-02 2.494178589943900e-02 2.493592095223772e-02 2.493006296439117e-02 2.492421193524048e-02 + 2.491836784922406e-02 2.491253069345717e-02 2.490670047398909e-02 2.490087718065651e-02 2.489506079631419e-02 + 2.488925131370227e-02 2.488344872747560e-02 2.487765302865731e-02 2.487186419727612e-02 2.486608223223404e-02 + 2.486030714174834e-02 2.485453889875117e-02 2.484877749156952e-02 2.484302292908405e-02 2.483727519324232e-02 + 2.483153426549052e-02 2.482580013961989e-02 2.482007281919668e-02 2.481435229933991e-02 2.480863855780388e-02 + 2.480293158683973e-02 2.479723138421890e-02 2.479153794250162e-02 2.478585124573938e-02 2.478017128120043e-02 + 2.477449805440481e-02 2.476883155587847e-02 2.476317176818658e-02 2.475751868877601e-02 2.475187231076201e-02 + 2.474623262098153e-02 2.474059960704484e-02 2.473497326224523e-02 2.472935358498410e-02 2.472374056978996e-02 + 2.471813420423485e-02 2.471253447111526e-02 2.470694136984621e-02 2.470135489678424e-02 2.469577503399494e-02 + 2.469020177298829e-02 2.468463511029760e-02 2.467907504169421e-02 2.467352155791407e-02 2.466797464651026e-02 + 2.466243429488579e-02 2.465690049712254e-02 2.465137324948606e-02 2.464585254039273e-02 2.464033836402688e-02 + 2.463483071739735e-02 2.462932958374225e-02 2.462383495186045e-02 2.461834681928389e-02 2.461286517898853e-02 + 2.460739002108202e-02 2.460192133524253e-02 2.459645911917798e-02 2.459100336526309e-02 2.458555405446716e-02 + 2.458011118496141e-02 2.457467475465895e-02 2.456924474486533e-02 2.456382114921245e-02 2.455840396700115e-02 + 2.455299319041756e-02 2.454758880740113e-02 2.454219080674820e-02 2.453679918638537e-02 2.453141393576077e-02 + 2.452603503863916e-02 2.452066249180092e-02 2.451529629410615e-02 2.450993644073534e-02 2.450458291517292e-02 + 2.449923570627392e-02 2.449389481263279e-02 2.448856022075961e-02 2.448323192252920e-02 2.447790992354739e-02 + 2.447259420740984e-02 2.446728475663024e-02 2.446198157303190e-02 2.445668465268695e-02 2.445139398411770e-02 + 2.444610955000165e-02 2.444083134675017e-02 2.443555937646448e-02 2.443029362647454e-02 2.442503408583922e-02 + 2.441978074770511e-02 2.441453360513738e-02 2.440929264714783e-02 2.440405786136508e-02 2.439882924944217e-02 + 2.439360680824694e-02 2.438839052372590e-02 2.438318038826778e-02 2.437797639360750e-02 2.437277852674977e-02 + 2.436758678074824e-02 2.436240115296091e-02 2.435722164202054e-02 2.435204823529888e-02 2.434688091817521e-02 + 2.434171968740183e-02 2.433656453724402e-02 2.433141545805634e-02 2.432627243782077e-02 2.432113546933723e-02 + 2.431600455029639e-02 2.431087967900234e-02 2.430576084399959e-02 2.430064802749307e-02 2.429554123205279e-02 + 2.429044044976694e-02 2.428534565606734e-02 2.428025685952290e-02 2.427517406275088e-02 2.427009724038350e-02 + 2.426502638834353e-02 2.425996150697585e-02 2.425490258288459e-02 2.424984960255012e-02 2.424480255754471e-02 + 2.423976144931379e-02 2.423472627405213e-02 2.422969702193537e-02 2.422467367993699e-02 2.421965624107330e-02 + 2.421464470176334e-02 2.420963904926960e-02 2.420463927567678e-02 2.419964537946393e-02 2.419465735323985e-02 + 2.418967518800793e-02 2.418469887545246e-02 2.417972840901141e-02 2.417476377855392e-02 2.416980496962540e-02 + 2.416485198688481e-02 2.415990483049387e-02 2.415496347565664e-02 2.415002792020104e-02 2.414509816788697e-02 + 2.414017420064829e-02 2.413525600526027e-02 2.413034357711665e-02 2.412543691925479e-02 2.412053602209589e-02 + 2.411564086852338e-02 2.411075145960207e-02 2.410586778967854e-02 2.410098984367492e-02 2.409611761892932e-02 + 2.409125110932578e-02 2.408639030144091e-02 2.408153519631380e-02 2.407668578962185e-02 2.407184206146642e-02 + 2.406700400909483e-02 2.406217163125833e-02 2.405734491326586e-02 2.405252385052364e-02 2.404770844026444e-02 + 2.404289866819192e-02 2.403809452984102e-02 2.403329602484744e-02 2.402850314011094e-02 2.402371586479471e-02 + 2.401893419282938e-02 2.401415812045089e-02 2.400938764313821e-02 2.400462275334547e-02 2.399986343578922e-02 + 2.399510968520409e-02 2.399036150812855e-02 2.398561888480285e-02 2.398088180164008e-02 2.397615026865237e-02 + 2.397142427338870e-02 2.396670380040281e-02 2.396198885088599e-02 2.395727942113068e-02 2.395257549962209e-02 + 2.394787706723708e-02 2.394318412617158e-02 2.393849668455232e-02 2.393381472012022e-02 2.392913822141401e-02 + 2.392446719065216e-02 2.391980162598514e-02 2.391514151312970e-02 2.391048683154523e-02 2.390583758880722e-02 + 2.390119378770886e-02 2.389655541357522e-02 2.389192245255953e-02 2.388729489743550e-02 2.388267274893805e-02 + 2.387805599705324e-02 2.387344463051915e-02 2.386883864637205e-02 2.386423804212813e-02 2.385964281176755e-02 + 2.385505294183017e-02 2.385046842474073e-02 2.384588925674739e-02 2.384131543037479e-02 2.383674693675093e-02 + 2.383218376863605e-02 2.382762592698097e-02 2.382307340607612e-02 2.381852619200930e-02 2.381398427584630e-02 + 2.380944765139419e-02 2.380491631418275e-02 2.380039026147703e-02 2.379586948695320e-02 2.379135397827495e-02 + 2.378684372855616e-02 2.378233873403001e-02 2.377783899070361e-02 2.377334448688785e-02 2.376885521259772e-02 + 2.376437117173840e-02 2.375989235311110e-02 2.375541874056297e-02 2.375095033967465e-02 2.374648714507580e-02 + 2.374202914136664e-02 2.373757632537944e-02 2.373312869288914e-02 2.372868623536894e-02 2.372424894471153e-02 + 2.371981681484819e-02 2.371538984133524e-02 2.371096801501392e-02 2.370655132827953e-02 2.370213977833190e-02 + 2.369773335765337e-02 2.369333205880069e-02 2.368893587883010e-02 2.368454481046802e-02 2.368015884444250e-02 + 2.367577797334512e-02 2.367140218742613e-02 2.366703147963686e-02 2.366266585606776e-02 2.365830530976384e-02 + 2.365394982335759e-02 2.364959939168465e-02 2.364525401200215e-02 2.364091367903051e-02 2.363657837870221e-02 + 2.363224810602428e-02 2.362792286773459e-02 2.362360264929340e-02 2.361928743769403e-02 2.361497723470610e-02 + 2.361067203383207e-02 2.360637182449869e-02 2.360207659794005e-02 2.359778635431920e-02 2.359350109143980e-02 + 2.358922079027601e-02 2.358494544772182e-02 2.358067506765588e-02 2.357640963547734e-02 2.357214914179353e-02 + 2.356789358468287e-02 2.356364296127548e-02 2.355939726289868e-02 2.355515647729875e-02 2.355092060314220e-02 + 2.354668963726047e-02 2.354246356971432e-02 2.353824239065819e-02 2.353402609608870e-02 2.352981468856027e-02 + 2.352560815209497e-02 2.352140647526573e-02 2.351720967050562e-02 2.351301772305351e-02 2.350883061252196e-02 + 2.350464834642137e-02 2.350047092197861e-02 2.349629832802946e-02 2.349213055910952e-02 2.348796760574937e-02 + 2.348380945835795e-02 2.347965612326723e-02 2.347550759163322e-02 2.347136384068571e-02 2.346722487769892e-02 + 2.346309070523777e-02 2.345896130833473e-02 2.345483667635093e-02 2.345071680463291e-02 2.344660169327714e-02 + 2.344249133136094e-02 2.343838570884467e-02 2.343428482723373e-02 2.343018868068117e-02 2.342609726030811e-02 + 2.342201056195244e-02 2.341792857876926e-02 2.341385130156056e-02 2.340977872164902e-02 2.340571083589386e-02 + 2.340164764377465e-02 2.339758913684304e-02 2.339353530825718e-02 2.338948615385810e-02 2.338544166438565e-02 + 2.338140183238109e-02 2.337736665460082e-02 2.337333612670094e-02 2.336931024309368e-02 2.336528899670786e-02 + 2.336127237782067e-02 2.335726037932775e-02 2.335325300092871e-02 2.334925023614406e-02 2.334525207670920e-02 + 2.334125851951941e-02 2.333726955725296e-02 2.333328518197435e-02 2.332930539416707e-02 2.332533018620607e-02 + 2.332135954429912e-02 2.331739346348105e-02 2.331343194297124e-02 2.330947498175055e-02 2.330552256758802e-02 + 2.330157469245372e-02 2.329763135682490e-02 2.329369255310137e-02 2.328975827131819e-02 2.328582850377367e-02 + 2.328190324900185e-02 2.327798250467623e-02 2.327406626164597e-02 2.327015451465238e-02 2.326624725851670e-02 + 2.326234448228765e-02 2.325844618291867e-02 2.325455236057939e-02 2.325066300636415e-02 2.324677811186985e-02 + 2.324289767062798e-02 2.323902167622130e-02 2.323515012509116e-02 2.323128301561370e-02 2.322742034088871e-02 + 2.322356209250113e-02 2.321970826255392e-02 2.321585884544971e-02 2.321201383858435e-02 2.320817324137425e-02 + 2.320433704277431e-02 2.320050523099401e-02 2.319667780275936e-02 2.319285475700314e-02 2.318903609087885e-02 + 2.318522179577433e-02 2.318141186586264e-02 2.317760629632794e-02 2.317380507773795e-02 2.317000820301008e-02 + 2.316621566880872e-02 2.316242747510807e-02 2.315864361575457e-02 2.315486407850317e-02 2.315108885694486e-02 + 2.314731794816131e-02 2.314355135044316e-02 2.313978905662257e-02 2.313603105913640e-02 2.313227735329952e-02 + 2.312852793585061e-02 2.312478280157292e-02 2.312104194073204e-02 2.311730534704967e-02 2.311357301587891e-02 + 2.310984494137890e-02 2.310612112341407e-02 2.310240155989217e-02 2.309868623130452e-02 2.309497513592190e-02 + 2.309126828241582e-02 2.308756565023808e-02 2.308386723175103e-02 2.308017303542274e-02 2.307648304592169e-02 + 2.307279725617671e-02 2.306911567493640e-02 2.306543828441958e-02 2.306176507302976e-02 2.305809605235563e-02 + 2.305443121050249e-02 2.305077053229759e-02 2.304711401909808e-02 2.304346166830784e-02 2.303981347406350e-02 + 2.303616943085239e-02 2.303252953349069e-02 2.302889377643319e-02 2.302526215247478e-02 2.302163465435939e-02 + 2.301801127709388e-02 2.301439202296127e-02 2.301077688440331e-02 2.300716584594829e-02 2.300355891234385e-02 + 2.299995607931316e-02 2.299635732709070e-02 2.299276266087610e-02 2.298917208378683e-02 2.298558558107965e-02 + 2.298200314503575e-02 2.297842477288603e-02 2.297485046311076e-02 2.297128020911345e-02 2.296771400315858e-02 + 2.296415184168031e-02 2.296059371667762e-02 2.295703962066644e-02 2.295348955785851e-02 2.294994352217295e-02 + 2.294640149900077e-02 2.294286348264926e-02 2.293932947451599e-02 2.293579947717141e-02 2.293227347444131e-02 + 2.292875145668869e-02 2.292523342863249e-02 2.292171938675970e-02 2.291820932208030e-02 2.291470322329688e-02 + 2.291120108573121e-02 2.290770290936340e-02 2.290420869564250e-02 2.290071843254762e-02 2.289723210840996e-02 + 2.289374972996874e-02 2.289027128684278e-02 2.288679676284003e-02 2.288332616596880e-02 2.287985949623025e-02 + 2.287639674290211e-02 2.287293789614104e-02 2.286948295143698e-02 2.286603190794522e-02 2.286258475709644e-02 + 2.285914149325583e-02 2.285570211629635e-02 2.285226661817064e-02 2.284883499242224e-02 2.284540723897847e-02 + 2.284198334984975e-02 2.283856331588243e-02 2.283514713353579e-02 2.283173480111027e-02 2.282832631556901e-02 + 2.282492166909090e-02 2.282152085461623e-02 2.281812386736860e-02 2.281473070606539e-02 2.281134136558116e-02 + 2.280795583769253e-02 2.280457411713410e-02 2.280119619914733e-02 2.279782207936136e-02 2.279445175627783e-02 + 2.279108522557549e-02 2.278772247795469e-02 2.278436350274908e-02 2.278100829770330e-02 2.277765687156956e-02 + 2.277430921150676e-02 2.277096530368425e-02 2.276762515226868e-02 2.276428875675497e-02 2.276095610802096e-02 + 2.275762718728153e-02 2.275430199700514e-02 2.275098054723153e-02 2.274766282325953e-02 2.274434881806882e-02 + 2.274103853245654e-02 2.273773195657694e-02 2.273442908251650e-02 2.273112990748000e-02 2.272783443024632e-02 + 2.272454264587135e-02 2.272125454541999e-02 2.271797012768606e-02 2.271468938883630e-02 2.271141231743784e-02 + 2.270813891155475e-02 2.270486917113991e-02 2.270160309030139e-02 2.269834065991423e-02 2.269508187421201e-02 + 2.269182673791773e-02 2.268857524219826e-02 2.268532737305624e-02 2.268208313254210e-02 2.267884251722086e-02 + 2.267560551920548e-02 2.267237214108131e-02 2.266914237609957e-02 2.266591620883689e-02 2.266269364166427e-02 + 2.265947467384046e-02 2.265625929499294e-02 2.265304750285308e-02 2.264983929495161e-02 2.264663466331073e-02 + 2.264343359962570e-02 2.264023610100446e-02 2.263704217283995e-02 2.263385180078203e-02 2.263066497176033e-02 + 2.262748170200772e-02 2.262430198020481e-02 2.262112578516977e-02 2.261795313211606e-02 2.261478401664109e-02 + 2.261161841743119e-02 2.260845633522814e-02 2.260529777070043e-02 2.260214271924124e-02 2.259899117823321e-02 + 2.259584314154298e-02 2.259269859890657e-02 2.258955754741791e-02 2.258641998536936e-02 2.258328590829124e-02 + 2.258015531052365e-02 2.257702818646037e-02 2.257390453172050e-02 2.257078434461123e-02 2.256766762198980e-02 + 2.256455435398716e-02 2.256144453344060e-02 2.255833815784602e-02 2.255523523027356e-02 2.255213574452021e-02 + 2.254903968810603e-02 2.254594705829782e-02 2.254285785514665e-02 2.253977207653749e-02 2.253668970834607e-02 + 2.253361074658835e-02 2.253053520058667e-02 2.252746305460894e-02 2.252439429792020e-02 2.252132894054988e-02 + 2.251826697539277e-02 2.251520839162438e-02 2.251215318778324e-02 2.250910135797150e-02 2.250605289615611e-02 + 2.250300780314812e-02 2.249996607511807e-02 2.249692770517706e-02 2.249389268897849e-02 2.249086101912092e-02 + 2.248783268793952e-02 2.248480769791340e-02 2.248178604607573e-02 2.247876772289102e-02 2.247575272657626e-02 + 2.247274105420605e-02 2.246973269884927e-02 2.246672765673356e-02 2.246372592391256e-02 2.246072749418018e-02 + 2.245773236145919e-02 2.245474052366870e-02 2.245175198466864e-02 2.244876673416187e-02 2.244578475935081e-02 + 2.244280606154297e-02 2.243983064008646e-02 2.243685849064164e-02 2.243388960632717e-02 2.243092397966235e-02 + 2.242796160524575e-02 2.242500248562306e-02 2.242204661762487e-02 2.241909399183298e-02 2.241614460666303e-02 + 2.241319845819517e-02 2.241025553754803e-02 2.240731584245553e-02 2.240437937032112e-02 2.240144611432051e-02 + 2.239851607018801e-02 2.239558923444239e-02 2.239266560299412e-02 2.238974517661811e-02 2.238682795331298e-02 + 2.238391391839321e-02 2.238100306495051e-02 2.237809539304577e-02 2.237519090301935e-02 2.237228958954325e-02 + 2.236939144530989e-02 2.236649647337483e-02 2.236360466636645e-02 2.236071600836286e-02 2.235783050633204e-02 + 2.235494816009726e-02 2.235206895420678e-02 2.234919288912077e-02 2.234631996540050e-02 2.234345017408028e-02 + 2.234058350741709e-02 2.233771996217690e-02 2.233485954108143e-02 2.233200223848051e-02 2.232914804618978e-02 + 2.232629696222737e-02 2.232344898389008e-02 2.232060410657171e-02 2.231776232362639e-02 2.231492363175558e-02 + 2.231208802922137e-02 2.230925550831191e-02 2.230642606279709e-02 2.230359969032392e-02 2.230077639232617e-02 + 2.229795616382932e-02 2.229513899284023e-02 2.229232488215048e-02 2.228951382986107e-02 2.228670582046145e-02 + 2.228390085767177e-02 2.228109894426768e-02 2.227830006461064e-02 2.227550421765863e-02 2.227271140560883e-02 + 2.226992161633195e-02 2.226713484518715e-02 2.226435109357777e-02 2.226157036041665e-02 2.225879263594571e-02 + 2.225601790864145e-02 2.225324618600033e-02 2.225047746610503e-02 2.224771173578603e-02 2.224494899695189e-02 + 2.224218924606724e-02 2.223943246967720e-02 2.223667867147697e-02 2.223392785229840e-02 2.223117999944780e-02 + 2.222843510958861e-02 2.222569318138216e-02 2.222295420869658e-02 2.222021819230338e-02 2.221748513172378e-02 + 2.221475501403353e-02 2.221202783347761e-02 2.220930358964832e-02 2.220658227937696e-02 2.220386389978368e-02 + 2.220114844711944e-02 2.219843591216284e-02 2.219572629440826e-02 2.219301959936691e-02 2.219031581219321e-02 + 2.218761492468887e-02 2.218491694233576e-02 2.218222185562244e-02 2.217952965986671e-02 2.217684036403281e-02 + 2.217415395419634e-02 2.217147041795686e-02 2.216878976537657e-02 2.216611199005385e-02 2.216343708084910e-02 + 2.216076504044857e-02 2.215809586407636e-02 2.215542954392592e-02 2.215276608232491e-02 2.215010547339664e-02 + 2.214744770611955e-02 2.214479278225410e-02 2.214214070177000e-02 2.213949145934428e-02 2.213684504847090e-02 + 2.213420146383213e-02 2.213156070201421e-02 2.212892275987791e-02 2.212628763520102e-02 2.212365532631548e-02 + 2.212102582567219e-02 2.211839912707401e-02 2.211577523186081e-02 2.211315413883962e-02 2.211053584219323e-02 + 2.210792033053083e-02 2.210530760247808e-02 2.210269766011106e-02 2.210009049378774e-02 2.209748609987134e-02 + 2.209488448015577e-02 2.209228563063591e-02 2.208968954607055e-02 2.208709622107550e-02 2.208450564887732e-02 + 2.208191782589816e-02 2.207933275252874e-02 2.207675042560285e-02 2.207417084119970e-02 2.207159399606388e-02 + 2.206901988424427e-02 2.206644850045388e-02 2.206387984291528e-02 2.206131390816773e-02 2.205875069196218e-02 + 2.205619019101501e-02 2.205363240248722e-02 2.205107732226570e-02 2.204852494231603e-02 2.204597526222870e-02 + 2.204342828418220e-02 2.204088399409952e-02 2.203834238815479e-02 2.203580347352047e-02 2.203326724064265e-02 + 2.203073368487589e-02 2.202820281109562e-02 2.202567460568826e-02 2.202314905892956e-02 2.202062617713913e-02 + 2.201810595951965e-02 2.201558839960293e-02 2.201307348855861e-02 2.201056122699519e-02 2.200805161543166e-02 + 2.200554464185156e-02 2.200304030240887e-02 2.200053859846551e-02 2.199803952619762e-02 2.199554308107517e-02 + 2.199304925941878e-02 2.199055805969111e-02 2.198806947716193e-02 2.198558350490501e-02 2.198310014348315e-02 + 2.198061939050182e-02 2.197814123774413e-02 2.197566568143648e-02 2.197319271829654e-02 2.197072234409288e-02 + 2.196825456242376e-02 2.196578937054303e-02 2.196332674903257e-02 2.196086670076693e-02 2.195840923401799e-02 + 2.195595433798292e-02 2.195350200785295e-02 2.195105224287541e-02 2.194860503638501e-02 2.194616038337459e-02 + 2.194371828086876e-02 2.194127872478465e-02 2.193884171275727e-02 2.193640724439015e-02 2.193397531871202e-02 + 2.193154592984012e-02 2.192911906730429e-02 2.192669472874541e-02 2.192427291582612e-02 2.192185362988310e-02 + 2.191943685926103e-02 2.191702259589666e-02 2.191461084837004e-02 2.191220161094460e-02 2.190979487232746e-02 + 2.190739062981033e-02 2.190498888177591e-02 2.190258962778606e-02 2.190019287048831e-02 2.189779860038415e-02 + 2.189540680312951e-02 2.189301748590321e-02 2.189063064823816e-02 2.188824627921663e-02 2.188586438035036e-02 + 2.188348494945867e-02 2.188110797669410e-02 2.187873346273279e-02 2.187636140793982e-02 2.187399180563438e-02 + 2.187162464701073e-02 2.186925992764394e-02 2.186689765219864e-02 2.186453782016761e-02 2.186218042520733e-02 + 2.185982545624109e-02 2.185747291143151e-02 2.185512279286289e-02 2.185277509428750e-02 2.185042981497303e-02 + 2.184808695595145e-02 2.184574650317918e-02 2.184340845337333e-02 2.184107281435048e-02 2.183873957690715e-02 + 2.183640873122354e-02 2.183408027442373e-02 2.183175421068970e-02 2.182943053984947e-02 2.182710925220595e-02 + 2.182479034512406e-02 2.182247381639650e-02 2.182015965839264e-02 2.181784786935527e-02 2.181553844939510e-02 + 2.181323139439093e-02 2.181092669994856e-02 2.180862436262286e-02 2.180632438083940e-02 2.180402674952244e-02 + 2.180173146217098e-02 2.179943851892379e-02 2.179714791838810e-02 2.179485965603752e-02 2.179257372764807e-02 + 2.179029013045416e-02 2.178800886254997e-02 2.178572991731780e-02 2.178345329019238e-02 2.178117898198011e-02 + 2.177890698980304e-02 2.177663730909087e-02 2.177436993586566e-02 2.177210486810286e-02 2.176984210277431e-02 + 2.176758163245009e-02 2.176532345522340e-02 2.176306757137086e-02 2.176081397536724e-02 2.175856266623576e-02 + 2.175631364444715e-02 2.175406689861889e-02 2.175182242380624e-02 2.174958022311289e-02 2.174734029291431e-02 + 2.174510262809328e-02 2.174286722491656e-02 2.174063408336708e-02 2.173840320169586e-02 2.173617457340815e-02 + 2.173394819180500e-02 2.173172405255836e-02 2.172950215559655e-02 2.172728250040623e-02 2.172506508580887e-02 + 2.172284990969628e-02 2.172063696250313e-02 2.171842623537083e-02 2.171621773566752e-02 2.171401146093844e-02 + 2.171180740120238e-02 2.170960555830954e-02 2.170740592901658e-02 2.170520850408856e-02 2.170301328419004e-02 + 2.170082027006994e-02 2.169862945830807e-02 2.169644084240343e-02 2.169425441572978e-02 2.169207017401216e-02 + 2.168988812007480e-02 2.168770825534887e-02 2.168553057272023e-02 2.168335506533793e-02 2.168118172867985e-02 + 2.167901056214399e-02 2.167684156632982e-02 2.167467473989915e-02 2.167251007478243e-02 2.167034756604321e-02 + 2.166818721221639e-02 2.166602901099679e-02 2.166387295840019e-02 2.166171905012346e-02 2.165956728718834e-02 + 2.165741766632386e-02 2.165527017845730e-02 2.165312482355555e-02 2.165098160273919e-02 2.164884051303741e-02 + 2.164670154730472e-02 2.164456469954934e-02 2.164242996946321e-02 2.164029735885670e-02 2.163816686523918e-02 + 2.163603847533059e-02 2.163391219068715e-02 2.163178801684997e-02 2.162966593882407e-02 2.162754595404139e-02 + 2.162542806873079e-02 2.162331227177066e-02 2.162119856181649e-02 2.161908694674025e-02 2.161697741144211e-02 + 2.161486994763257e-02 2.161276456243416e-02 2.161066125301312e-02 2.160856001324272e-02 2.160646083892226e-02 + 2.160436373197112e-02 2.160226869104043e-02 2.160017570438035e-02 2.159808476849354e-02 2.159599588501710e-02 + 2.159390905460169e-02 2.159182427010056e-02 2.158974152429478e-02 2.158766082444429e-02 2.158558216760809e-02 + 2.158350554187339e-02 2.158143094233737e-02 2.157935837033232e-02 2.157728782941571e-02 2.157521931196140e-02 + 2.157315281164952e-02 2.157108832745493e-02 2.156902585566251e-02 2.156696539445298e-02 2.156490694526656e-02 + 2.156285049964247e-02 2.156079605212440e-02 2.155874360997529e-02 2.155669316474123e-02 2.155464470676604e-02 + 2.155259824484399e-02 2.155055377365348e-02 2.154851128035285e-02 2.154647076406023e-02 2.154443222886153e-02 + 2.154239567713112e-02 2.154036109691455e-02 2.153832848380287e-02 2.153629784162443e-02 2.153426916110383e-02 + 2.153224243839968e-02 2.153021767928900e-02 2.152819487735599e-02 2.152617402486068e-02 2.152415511969989e-02 + 2.152213816346627e-02 2.152012315489333e-02 2.151811008517867e-02 2.151609895106827e-02 2.151408975350627e-02 + 2.151208249405811e-02 2.151007716412923e-02 2.150807375412716e-02 2.150607227139823e-02 2.150407271389111e-02 + 2.150207507178008e-02 2.150007934512424e-02 2.149808553345600e-02 2.149609363244227e-02 2.149410363369511e-02 + 2.149211553597770e-02 2.149012934592863e-02 2.148814505588094e-02 2.148616265955859e-02 2.148418215959600e-02 + 2.148220354775919e-02 2.148022681859241e-02 2.147825198020547e-02 2.147627902590631e-02 2.147430794498996e-02 + 2.147233873858447e-02 2.147037140717467e-02 2.146840594879004e-02 2.146644235912430e-02 2.146448063553682e-02 + 2.146252077578778e-02 2.146056277288728e-02 2.145860662318243e-02 2.145665232726965e-02 2.145469988438242e-02 + 2.145274929256557e-02 2.145080054831608e-02 2.144885364454498e-02 2.144690857746641e-02 2.144496534942983e-02 + 2.144302395654175e-02 2.144108439499599e-02 2.143914666610025e-02 2.143721076355154e-02 2.143527668029283e-02 + 2.143334441800114e-02 2.143141397685691e-02 2.142948535268880e-02 2.142755853497146e-02 2.142563352602930e-02 + 2.142371033388222e-02 2.142178894500280e-02 2.141986935358769e-02 2.141795156402302e-02 2.141603556793572e-02 + 2.141412136230918e-02 2.141220895321441e-02 2.141029833297722e-02 2.140838949470163e-02 2.140648244009975e-02 + 2.140457716697424e-02 2.140267367166504e-02 2.140077195168551e-02 2.139887200433115e-02 2.139697382547902e-02 + 2.139507740888590e-02 2.139318275720074e-02 2.139128987343195e-02 2.138939874415982e-02 2.138750936775835e-02 + 2.138562175102568e-02 2.138373588641631e-02 2.138185176599392e-02 2.137996938652284e-02 2.137808875223814e-02 + 2.137620986251236e-02 2.137433270909064e-02 2.137245728978030e-02 2.137058360186242e-02 2.136871163953864e-02 + 2.136684140688612e-02 2.136497290390506e-02 2.136310611597474e-02 2.136124104345297e-02 2.135937769212130e-02 + 2.135751605860686e-02 2.135565613610374e-02 2.135379791822062e-02 2.135194140402438e-02 2.135008659417071e-02 + 2.134823348788390e-02 2.134638207760105e-02 2.134453236032835e-02 2.134268433814086e-02 2.134083800772077e-02 + 2.133899336411597e-02 2.133715040305821e-02 2.133530912424798e-02 2.133346952672500e-02 2.133163160670673e-02 + 2.132979536297411e-02 2.132796079152963e-02 2.132612788229375e-02 2.132429663915477e-02 2.132246706798375e-02 + 2.132063916037057e-02 2.131881290769116e-02 2.131698830582932e-02 2.131516535978050e-02 2.131334407028698e-02 + 2.131152443198118e-02 2.130970643552249e-02 2.130789007885127e-02 2.130607536669811e-02 2.130426229682303e-02 + 2.130245086421657e-02 2.130064106313053e-02 2.129883288837854e-02 2.129702633875496e-02 2.129522141788389e-02 + 2.129341812290223e-02 2.129161644909972e-02 2.128981639414264e-02 2.128801795585396e-02 2.128622113110773e-02 + 2.128442591509673e-02 2.128263230760480e-02 2.128084030772261e-02 2.127904990395241e-02 2.127726109953179e-02 + 2.127547390424031e-02 2.127368830171838e-02 2.127190428479188e-02 2.127012186038021e-02 2.126834102886177e-02 + 2.126656178481652e-02 2.126478411995624e-02 2.126300803603507e-02 2.126123353191450e-02 2.125946059821390e-02 + 2.125768923851055e-02 2.125591945439615e-02 2.125415123382016e-02 2.125238457915817e-02 2.125061949358618e-02 + 2.124885596288304e-02 2.124709398735697e-02 2.124533357303348e-02 2.124357470952245e-02 2.124181739435340e-02 + 2.124006163206048e-02 2.123830741948956e-02 2.123655475001017e-02 2.123480361731545e-02 2.123305402409987e-02 + 2.123130596739953e-02 2.122955943693203e-02 2.122781443910126e-02 2.122607097723360e-02 2.122432904130337e-02 + 2.122258862659696e-02 2.122084973282204e-02 2.121911236175234e-02 2.121737650789419e-02 2.121564216387619e-02 + 2.121390932803162e-02 2.121217800425756e-02 2.121044819455527e-02 2.120871988671843e-02 2.120699307684077e-02 + 2.120526776795157e-02 2.120354395552526e-02 2.120182163603621e-02 2.120010080901829e-02 2.119838147500087e-02 + 2.119666363123091e-02 2.119494727091758e-02 2.119323238927472e-02 2.119151898655034e-02 2.118980706773010e-02 + 2.118809662574528e-02 2.118638765303925e-02 2.118468015121633e-02 2.118297411864271e-02 2.118126955146517e-02 + 2.117956644637810e-02 2.117786480292237e-02 2.117616462067450e-02 2.117446589411339e-02 2.117276862084477e-02 + 2.117107280130004e-02 2.116937843379139e-02 2.116768551256503e-02 2.116599403067535e-02 2.116430399205533e-02 + 2.116261539753040e-02 2.116092824074994e-02 2.115924251858398e-02 2.115755822756320e-02 2.115587536308644e-02 + 2.115419393062315e-02 2.115251393109511e-02 2.115083534999197e-02 2.114915818684827e-02 2.114748244571777e-02 + 2.114580812117730e-02 2.114413521000233e-02 2.114246371011731e-02 2.114079361630021e-02 2.113912493113981e-02 + 2.113745765864524e-02 2.113579178347091e-02 2.113412730283017e-02 2.113246422731517e-02 2.113080255018658e-02 + 2.112914226466844e-02 2.112748336987266e-02 2.112582586239263e-02 2.112416973838773e-02 2.112251499585494e-02 + 2.112086163946853e-02 2.111920966923609e-02 2.111755907231158e-02 2.111590984741022e-02 2.111426199652882e-02 + 2.111261551330255e-02 2.111097039854193e-02 2.110932665501722e-02 2.110768427494188e-02 2.110604325159932e-02 + 2.110440358337455e-02 2.110276527755971e-02 2.110112832954347e-02 2.109949272542061e-02 2.109785847270291e-02 + 2.109622557382813e-02 2.109459401840321e-02 2.109296380279178e-02 2.109133492634166e-02 2.108970738897449e-02 + 2.108808119187406e-02 2.108645633261542e-02 2.108483280177793e-02 2.108321059649476e-02 2.108158971816587e-02 + 2.107997016818712e-02 2.107835194176262e-02 2.107673503228282e-02 2.107511943992769e-02 2.107350516482023e-02 + 2.107189220511111e-02 2.107028055587330e-02 2.106867021606288e-02 2.106706118735907e-02 2.106545346293816e-02 + 2.106384703796383e-02 2.106224191316689e-02 2.106063808955507e-02 2.105903556250238e-02 2.105743432153898e-02 + 2.105583437513380e-02 2.105423572746437e-02 2.105263836035830e-02 2.105104227142354e-02 2.104944746729932e-02 + 2.104785395134047e-02 2.104626171573087e-02 2.104467074966839e-02 2.104308105452007e-02 2.104149263222363e-02 + 2.103990548218236e-02 2.103831959968388e-02 2.103673498293864e-02 2.103515163200819e-02 2.103356953798411e-02 + 2.103198869775456e-02 2.103040911733209e-02 2.102883079574534e-02 2.102725372695269e-02 2.102567790273802e-02 + 2.102410332486244e-02 2.102252999507990e-02 2.102095790737760e-02 2.101938706174730e-02 2.101781745879964e-02 + 2.101624909192282e-02 2.101468195450770e-02 2.101311604447429e-02 2.101155137000445e-02 2.100998792857284e-02 + 2.100842571064132e-02 2.100686471849675e-02 2.100530495078897e-02 2.100374640001838e-02 2.100218906014547e-02 + 2.100063293273019e-02 2.099907802537045e-02 2.099752433031871e-02 2.099597184169578e-02 2.099442056340826e-02 + 2.099287048844137e-02 2.099132161182849e-02 2.098977394056553e-02 2.098822746767990e-02 2.098668218492037e-02 + 2.098513809937855e-02 2.098359520656010e-02 2.098205349870481e-02 2.098051298433238e-02 2.097897365788888e-02 + 2.097743550607582e-02 2.097589853771057e-02 2.097436275317134e-02 2.097282814179318e-02 2.097129470444368e-02 + 2.096976244194844e-02 2.096823135057212e-02 2.096670142502171e-02 2.096517266432222e-02 2.096364507294766e-02 + 2.096211864290872e-02 2.096059336882086e-02 2.095906925902597e-02 2.095754630598820e-02 2.095602449947026e-02 + 2.095450384463222e-02 2.095298434369944e-02 2.095146599313072e-02 2.094994878341327e-02 2.094843271500539e-02 + 2.094691779352117e-02 2.094540401073429e-02 2.094389136288097e-02 2.094237985194064e-02 2.094086947133280e-02 + 2.093936021927527e-02 2.093785210108921e-02 2.093634511142213e-02 2.093483924325246e-02 2.093333449385128e-02 + 2.093183086645815e-02 2.093032836253444e-02 2.092882697593887e-02 2.092732670311165e-02 2.092582754108962e-02 + 2.092432948474122e-02 2.092283253800634e-02 2.092133670446908e-02 2.091984196956714e-02 2.091834833166288e-02 + 2.091685579922333e-02 2.091536436905392e-02 2.091387403364116e-02 2.091238478662568e-02 2.091089663391256e-02 + 2.090940957508328e-02 2.090792359986955e-02 2.090643871032298e-02 2.090495490818039e-02 2.090347218811059e-02 + 2.090199054718417e-02 2.090050998308706e-02 2.089903049243704e-02 2.089755207414248e-02 2.089607472810411e-02 + 2.089459845325996e-02 2.089312324594328e-02 2.089164910255710e-02 2.089017602427597e-02 2.088870401009232e-02 + 2.088723305634642e-02 2.088576315893389e-02 2.088429431601771e-02 2.088282652696964e-02 2.088135978615913e-02 + 2.087989409321534e-02 2.087842945395569e-02 2.087696586275656e-02 2.087550331287119e-02 2.087404180207852e-02 + 2.087258132736208e-02 2.087112188861259e-02 2.086966349090147e-02 2.086820612891688e-02 2.086674979608584e-02 + 2.086529449590395e-02 2.086384022331517e-02 2.086238697045790e-02 2.086093474039187e-02 2.085948353444753e-02 + 2.085803335091995e-02 2.085658418796912e-02 2.085513604081134e-02 2.085368890289571e-02 2.085224277300881e-02 + 2.085079765267601e-02 2.084935354393509e-02 2.084791044341373e-02 2.084646834711395e-02 2.084502725286095e-02 + 2.084358715744794e-02 2.084214805848912e-02 2.084070995598070e-02 2.083927284909677e-02 2.083783673573611e-02 + 2.083640161226469e-02 2.083496747523998e-02 2.083353432223483e-02 2.083210215303235e-02 2.083067096927498e-02 + 2.082924077044086e-02 2.082781154460241e-02 2.082638329211299e-02 2.082495602309350e-02 2.082352972509603e-02 + 2.082210439277076e-02 2.082068003454410e-02 2.081925664261260e-02 2.081783421113447e-02 2.081641274508624e-02 + 2.081499224082686e-02 2.081357269450268e-02 2.081215410878219e-02 2.081073647873721e-02 2.080931979776872e-02 + 2.080790406592918e-02 2.080648928500749e-02 2.080507545608266e-02 2.080366257645188e-02 2.080225063919177e-02 + 2.080083963814898e-02 2.079942957984240e-02 2.079802046255642e-02 2.079661227641324e-02 2.079520502452446e-02 + 2.079379870732677e-02 2.079239331877295e-02 2.079098886066600e-02 2.078958533155146e-02 2.078818272238310e-02 + 2.078678103594075e-02 2.078538027480030e-02 2.078398043169412e-02 2.078258150517176e-02 2.078118349582184e-02 + 2.077978640032045e-02 2.077839021518007e-02 2.077699493798996e-02 2.077560056860569e-02 2.077420710626992e-02 + 2.077281454908150e-02 2.077142289397691e-02 2.077003213665487e-02 2.076864227381708e-02 2.076725331084939e-02 + 2.076586524753700e-02 2.076447807479244e-02 2.076309178893910e-02 2.076170639200464e-02 2.076032188924749e-02 + 2.075893827075576e-02 2.075755552867013e-02 2.075617367037054e-02 2.075479269394757e-02 2.075341259415677e-02 + 2.075203337133167e-02 2.075065502119062e-02 2.074927754004291e-02 2.074790093527532e-02 2.074652520196147e-02 + 2.074515032814618e-02 2.074377631824518e-02 2.074240317461906e-02 2.074103089389617e-02 2.073965947285912e-02 + 2.073828890806665e-02 2.073691919635770e-02 2.073555033844026e-02 2.073418233381763e-02 2.073281517823886e-02 + 2.073144886803073e-02 2.073008340377233e-02 2.072871879147831e-02 2.072735502222402e-02 2.072599208688765e-02 + 2.072462999392301e-02 2.072326873860233e-02 2.072190831224300e-02 2.072054872378210e-02 2.071918997148765e-02 + 2.071783204556565e-02 2.071647494755481e-02 2.071511867766477e-02 2.071376323196711e-02 2.071240860565183e-02 + 2.071105479791370e-02 2.070970181180314e-02 2.070834964331268e-02 2.070699828917085e-02 2.070564775075080e-02 + 2.070429802727900e-02 2.070294911380581e-02 2.070160100113699e-02 2.070025369244763e-02 2.069890719322030e-02 + 2.069756149841416e-02 2.069621660331007e-02 2.069487250616514e-02 2.069352920972353e-02 2.069218670843115e-02 + 2.069084499406914e-02 2.068950407478504e-02 2.068816395008570e-02 2.068682460979861e-02 2.068548605525363e-02 + 2.068414828647597e-02 2.068281129879088e-02 2.068147509294542e-02 2.068013966727868e-02 2.067880501481977e-02 + 2.067747113766845e-02 2.067613803889334e-02 2.067480571527677e-02 2.067347415977921e-02 2.067214336769299e-02 + 2.067081334319025e-02 2.066948408776949e-02 2.066815559807265e-02 2.066682786498898e-02 2.066550088830383e-02 + 2.066417467341183e-02 2.066284921698086e-02 2.066152451475288e-02 2.066020056372571e-02 2.065887736182303e-02 + 2.065755490839281e-02 2.065623320354572e-02 2.065491224367795e-02 2.065359202675738e-02 2.065227255436574e-02 + 2.065095382314874e-02 2.064963582941213e-02 2.064831857270797e-02 2.064700204957123e-02 2.064568625651786e-02 + 2.064437119414936e-02 2.064305686324694e-02 2.064174326345409e-02 2.064043039179931e-02 2.063911824280925e-02 + 2.063780681176866e-02 2.063649610237503e-02 2.063518611610314e-02 2.063387684909248e-02 2.063256829217405e-02 + 2.063126044539576e-02 2.062995331851188e-02 2.062864690334512e-02 2.062734119190086e-02 2.062603618600375e-02 + 2.062473188642144e-02 2.062342829221786e-02 2.062212540064643e-02 2.062082320714733e-02 2.061952170915304e-02 + 2.061822091004314e-02 2.061692080716460e-02 2.061562139605911e-02 2.061432267954307e-02 2.061302465323251e-02 + 2.061172730955065e-02 2.061043065371613e-02 2.060913468523504e-02 2.060783939685846e-02 2.060654478913799e-02 + 2.060525086119714e-02 2.060395760866959e-02 2.060266503271371e-02 2.060137313244415e-02 2.060008190215519e-02 + 2.059879134465455e-02 2.059750146004468e-02 2.059621223782829e-02 2.059492368052522e-02 2.059363579225837e-02 + 2.059234856405708e-02 2.059106199328788e-02 2.058977608130871e-02 2.058849082556723e-02 2.058720622498806e-02 + 2.058592227959311e-02 2.058463898696043e-02 2.058335634281647e-02 2.058207434376584e-02 2.058079299573017e-02 + 2.057951229614279e-02 2.057823223269817e-02 2.057695281356401e-02 2.057567404187197e-02 2.057439590387300e-02 + 2.057311839681732e-02 2.057184152455586e-02 2.057056529173392e-02 2.056928969078429e-02 2.056801471376779e-02 + 2.056674036634529e-02 2.056546664830153e-02 2.056419355486686e-02 2.056292108306100e-02 2.056164923170236e-02 + 2.056037800067255e-02 2.055910738924650e-02 2.055783739340399e-02 2.055656800859636e-02 2.055529924146672e-02 + 2.055403109005562e-02 2.055276354110791e-02 2.055149659755915e-02 2.055023026272679e-02 2.054896453244645e-02 + 2.054769940766287e-02 2.054643488681757e-02 2.054517096062926e-02 2.054390763218316e-02 2.054264490512525e-02 + 2.054138276915942e-02 2.054012122328143e-02 2.053886027085424e-02 2.053759990682471e-02 2.053634012878631e-02 + 2.053508093799464e-02 2.053382233647706e-02 2.053256431985532e-02 2.053130687980379e-02 2.053005001911220e-02 + 2.052879373804411e-02 2.052753803104820e-02 2.052628289842169e-02 2.052502834052905e-02 2.052377435424499e-02 + 2.052252093383405e-02 2.052126807833591e-02 2.052001579579881e-02 2.051876408076618e-02 2.051751292558091e-02 + 2.051626233431153e-02 2.051501230108543e-02 2.051376281904528e-02 2.051251389905356e-02 2.051126553806812e-02 + 2.051001772450580e-02 2.050877046477720e-02 2.050752375748313e-02 2.050627759308629e-02 2.050503197764233e-02 + 2.050378691120845e-02 2.050254238346269e-02 2.050129839647772e-02 2.050005495152270e-02 2.049881204279591e-02 + 2.049756967049427e-02 2.049632783497685e-02 2.049508653204386e-02 2.049384576061373e-02 2.049260552085964e-02 + 2.049136581124810e-02 2.049012662828215e-02 2.048888796855573e-02 2.048764983217528e-02 2.048641222055239e-02 + 2.048517513365279e-02 2.048393856449956e-02 2.048270250702790e-02 2.048146696002243e-02 2.048023193267689e-02 + 2.047899742444990e-02 2.047776342204647e-02 2.047652992557144e-02 2.047529693666283e-02 2.047406445284291e-02 + 2.047283247820367e-02 2.047160101124722e-02 2.047037003705319e-02 2.046913955996649e-02 2.046790958805229e-02 + 2.046668011290463e-02 2.046545112747173e-02 2.046422263048016e-02 2.046299462941648e-02 2.046176712182623e-02 + 2.046054009863872e-02 2.045931356011635e-02 2.045808750875261e-02 2.045686194483555e-02 2.045563685869128e-02 + 2.045441224888558e-02 2.045318812405373e-02 2.045196447539730e-02 2.045074129851060e-02 2.044951860203706e-02 + 2.044829637561388e-02 2.044707461146781e-02 2.044585332076453e-02 2.044463250090934e-02 2.044341214478788e-02 + 2.044219225389736e-02 2.044097282684260e-02 2.043975385980242e-02 2.043853534979080e-02 2.043731729516990e-02 + 2.043609969584751e-02 2.043488255365452e-02 2.043366586840525e-02 2.043244963622695e-02 2.043123384788510e-02 + 2.043001850356880e-02 2.042880361352058e-02 2.042758917125052e-02 2.042637516923373e-02 2.042516160738241e-02 + 2.042394848596822e-02 2.042273580364956e-02 2.042152355668345e-02 2.042031174421715e-02 2.041910036711696e-02 + 2.041788942589821e-02 2.041667891618270e-02 2.041546883283581e-02 2.041425917723074e-02 2.041304994671302e-02 + 2.041184113736942e-02 2.041063275507356e-02 2.040942479864618e-02 2.040821725911453e-02 2.040701013329647e-02 + 2.040580342336421e-02 2.040459713364973e-02 2.040339125626194e-02 2.040218578748979e-02 2.040098073437600e-02 + 2.039977609190064e-02 2.039857185194057e-02 2.039736801200263e-02 2.039616457948628e-02 2.039496155847034e-02 + 2.039375893548800e-02 2.039255670811317e-02 2.039135487906758e-02 2.039015344139171e-02 2.038895239754324e-02 + 2.038775175394349e-02 2.038655150008423e-02 2.038535163468296e-02 2.038415216492024e-02 2.038295307932101e-02 + 2.038175437156158e-02 2.038055604740632e-02 2.037935811014152e-02 2.037816055719221e-02 2.037696338008003e-02 + 2.037576657774965e-02 2.037457015197002e-02 2.037337410306159e-02 2.037217842811476e-02 2.037098312337542e-02 + 2.036978818702816e-02 2.036859361901312e-02 2.036739941883561e-02 2.036620558232109e-02 2.036501210897116e-02 + 2.036381899981477e-02 2.036262624936801e-02 2.036143385733716e-02 2.036024182706139e-02 2.035905014947786e-02 + 2.035785882153747e-02 2.035666784977269e-02 2.035547723079831e-02 2.035428696142468e-02 2.035309704319765e-02 + 2.035190747134853e-02 2.035071824110532e-02 2.034952935293085e-02 2.034834080749865e-02 2.034715260430401e-02 + 2.034596474052595e-02 2.034477721202228e-02 2.034359001578161e-02 2.034240315367684e-02 2.034121662664043e-02 + 2.034003043357028e-02 2.033884457132868e-02 2.033765903741480e-02 2.033647382949949e-02 2.033528894162872e-02 + 2.033410437471255e-02 2.033292013620119e-02 2.033173621775026e-02 2.033055261459435e-02 2.032936933387398e-02 + 2.032818637173341e-02 2.032700371995237e-02 2.032582137330103e-02 2.032463934032926e-02 2.032345762721536e-02 + 2.032227621977112e-02 2.032109511380310e-02 2.031991431266943e-02 2.031873381713771e-02 2.031755362367381e-02 + 2.031637372822898e-02 2.031519413522404e-02 2.031401484060572e-02 2.031283583475656e-02 2.031165712768451e-02 + 2.031047872082618e-02 2.030930060067025e-02 2.030812276414845e-02 2.030694521582938e-02 2.030576796297434e-02 + 2.030459099391277e-02 2.030341430130414e-02 2.030223789822972e-02 2.030106177803277e-02 2.029988592949474e-02 + 2.029871035725545e-02 2.029753506661443e-02 2.029636005659757e-02 2.029518531267896e-02 2.029401083596470e-02 + 2.029283663654064e-02 2.029166270589052e-02 2.029048903923464e-02 2.028931563858370e-02 2.028814250195392e-02 + 2.028696962711050e-02 2.028579701358946e-02 2.028462466440920e-02 2.028345257575578e-02 2.028228073462766e-02 + 2.028110914546667e-02 2.027993781542017e-02 2.027876674182124e-02 2.027759591671596e-02 2.027642533515473e-02 + 2.027525500323221e-02 2.027408491983729e-02 2.027291508043819e-02 2.027174548650143e-02 2.027057613494678e-02 + 2.026940701983228e-02 2.026823814087089e-02 2.026706949898955e-02 2.026590109425394e-02 2.026473292320746e-02 + 2.026356498366547e-02 2.026239727592488e-02 2.026122979922282e-02 2.026006255023894e-02 2.025889552388743e-02 + 2.025772872449768e-02 2.025656215399196e-02 2.025539580342713e-02 2.025422967119250e-02 2.025306375830951e-02 + 2.025189806183918e-02 2.025073258129647e-02 2.024956731656576e-02 2.024840226339874e-02 2.024723742127980e-02 + 2.024607279125879e-02 2.024490836776212e-02 2.024374415071052e-02 2.024258014353189e-02 2.024141633571028e-02 + 2.024025272656142e-02 2.023908932762591e-02 2.023792612793740e-02 2.023676312010299e-02 2.023560031179207e-02 + 2.023443769779265e-02 2.023327527310789e-02 2.023211304323675e-02 2.023095100708355e-02 2.022978916007167e-02 + 2.022862749919407e-02 2.022746602379288e-02 2.022630473371739e-02 2.022514362648272e-02 2.022398270121405e-02 + 2.022282195791762e-02 2.022166139402294e-02 2.022050100551405e-02 2.021934078921764e-02 2.021818074920451e-02 + 2.021702088593813e-02 2.021586119314628e-02 2.021470166428228e-02 2.021354230080554e-02 2.021238311308448e-02 + 2.021122409287018e-02 2.021006523025651e-02 2.020890652716039e-02 2.020774798484683e-02 2.020658960393083e-02 + 2.020543138529554e-02 2.020427332378045e-02 2.020311541298552e-02 2.020195765397637e-02 2.020080004744672e-02 + 2.019964259236717e-02 2.019848528642001e-02 2.019732812869024e-02 2.019617111926010e-02 2.019501425544548e-02 + 2.019385753379127e-02 2.019270095135025e-02 2.019154450793482e-02 2.019038820298517e-02 2.018923203417478e-02 + 2.018807600019563e-02 2.018692010151906e-02 2.018576433995726e-02 2.018460870891364e-02 2.018345320296787e-02 + 2.018229782843392e-02 2.018114258172615e-02 2.017998745649097e-02 2.017883245877245e-02 2.017767758620927e-02 + 2.017652283054322e-02 2.017536819223788e-02 2.017421367319040e-02 2.017305927292809e-02 2.017190498313902e-02 + 2.017075080461503e-02 2.016959674752286e-02 2.016844280049332e-02 2.016728895684716e-02 2.016613522539111e-02 + 2.016498159847723e-02 2.016382807033869e-02 2.016267465040216e-02 2.016152133310211e-02 2.016036811076429e-02 + 2.015921498985646e-02 2.015806197025070e-02 2.015690904702832e-02 2.015575621731957e-02 2.015460347791708e-02 + 2.015345082711757e-02 2.015229826996444e-02 2.015114580452791e-02 2.014999342256183e-02 2.014884112402139e-02 + 2.014768891079059e-02 2.014653678283008e-02 2.014538473229735e-02 2.014423275838842e-02 2.014308087159530e-02 + 2.014192906336537e-02 2.014077732405132e-02 2.013962565684693e-02 2.013847406112768e-02 2.013732253607323e-02 + 2.013617108558620e-02 2.013501970367529e-02 2.013386838304751e-02 2.013271713092954e-02 2.013156594450895e-02 + 2.013041481517404e-02 2.012926374836556e-02 2.012811274375330e-02 2.012696179396415e-02 2.012581089842930e-02 + 2.012466005832842e-02 2.012350927388322e-02 2.012235854139777e-02 2.012120785897021e-02 2.012005722808521e-02 + 2.011890664240422e-02 2.011775609861771e-02 2.011660560342765e-02 2.011545514995805e-02 2.011430473248947e-02 + 2.011315436328775e-02 2.011200403690588e-02 2.011085374071231e-02 2.010970347811273e-02 2.010855325123000e-02 + 2.010740305829795e-02 2.010625289543029e-02 2.010510276184403e-02 2.010395265874816e-02 2.010280258124321e-02 + 2.010165252783862e-02 2.010050250168409e-02 2.009935249835288e-02 2.009820251528310e-02 2.009705255512517e-02 + 2.009590261098061e-02 2.009475267797075e-02 2.009360276160796e-02 2.009245286068316e-02 2.009130297235736e-02 + 2.009015309860190e-02 2.008900323371492e-02 2.008785337125678e-02 2.008670351711407e-02 2.008555367122358e-02 + 2.008440382812401e-02 2.008325398588614e-02 2.008210414433437e-02 2.008095430334925e-02 2.007980445913736e-02 + 2.007865461009197e-02 2.007750475755383e-02 2.007635489836262e-02 2.007520502856765e-02 2.007405514609401e-02 + 2.007290525369839e-02 2.007175535352643e-02 2.007060544261636e-02 2.006945551378952e-02 2.006830556246986e-02 + 2.006715559358176e-02 2.006600560685722e-02 2.006485559907452e-02 2.006370557035152e-02 2.006255552017783e-02 + 2.006140544519211e-02 2.006025533608720e-02 2.005910519424486e-02 2.005795502866486e-02 2.005680483150780e-02 + 2.005565460068358e-02 2.005450434307724e-02 2.005335404752871e-02 2.005220370751987e-02 2.005105333078331e-02 + 2.004990291380246e-02 2.004875245256121e-02 2.004760195075808e-02 2.004645140541610e-02 2.004530081249103e-02 + 2.004415017386308e-02 2.004299948719255e-02 2.004184874893760e-02 2.004069796075558e-02 2.003954711861807e-02 + 2.003839621652469e-02 2.003724525928808e-02 2.003609424691447e-02 2.003494317431652e-02 2.003379204407136e-02 + 2.003264085311753e-02 2.003148959193977e-02 2.003033826577724e-02 2.002918687817827e-02 2.002803542325049e-02 + 2.002688389828578e-02 2.002573230084169e-02 2.002458062668545e-02 2.002342887779152e-02 2.002227705716231e-02 + 2.002112516254241e-02 2.001997318998642e-02 2.001882113644655e-02 2.001766900292078e-02 2.001651678857442e-02 + 2.001536448981540e-02 2.001421210083374e-02 2.001305962366636e-02 2.001190706486020e-02 2.001075441600587e-02 + 2.000960167234195e-02 2.000844883687991e-02 2.000729590520412e-02 2.000614287591466e-02 2.000498975435740e-02 + 2.000383653574291e-02 2.000268321490327e-02 2.000152979351511e-02 2.000037626872929e-02 1.999922263743778e-02 + 1.999806890154111e-02 1.999691505794393e-02 1.999576110265488e-02 1.999460703886217e-02 1.999345286480270e-02 + 1.999229857569377e-02 1.999114417297134e-02 1.998998965543275e-02 1.998883501902821e-02 1.998768026399775e-02 + 1.998652538946059e-02 1.998537039260291e-02 1.998421527483334e-02 1.998306003351848e-02 1.998190465988335e-02 + 1.998074915750420e-02 1.997959352937345e-02 1.997843776879367e-02 1.997728187765045e-02 1.997612585705249e-02 + 1.997496969649909e-02 1.997381339760593e-02 1.997265696528752e-02 1.997150039002939e-02 1.997034367059401e-02 + 1.996918681208352e-02 1.996802981226081e-02 1.996687266788810e-02 1.996571537594770e-02 1.996455793197006e-02 + 1.996340033608642e-02 1.996224259309599e-02 1.996108470119043e-02 1.995992665416334e-02 1.995876844505867e-02 + 1.995761008193637e-02 1.995645156786617e-02 1.995529288784624e-02 1.995413404457776e-02 1.995297504246996e-02 + 1.995181586885687e-02 1.995065652904149e-02 1.994949703248385e-02 1.994833736513130e-02 1.994717752162546e-02 + 1.994601750553184e-02 1.994485731663886e-02 1.994369695406686e-02 1.994253641736701e-02 1.994137570693218e-02 + 1.994021481716852e-02 1.993905373876526e-02 1.993789248152490e-02 1.993673104732284e-02 1.993556942048493e-02 + 1.993440760773439e-02 1.993324561433191e-02 1.993208342679873e-02 1.993092104568069e-02 1.992975847582151e-02 + 1.992859571315939e-02 1.992743275300710e-02 1.992626959353599e-02 1.992510623927749e-02 1.992394268911061e-02 + 1.992277893654564e-02 1.992161497535049e-02 1.992045080942924e-02 1.991928644769617e-02 1.991812187931771e-02 + 1.991695709651699e-02 1.991579210148713e-02 1.991462689658082e-02 1.991346148075462e-02 1.991229584907280e-02 + 1.991113000189043e-02 1.990996393932216e-02 1.990879765723607e-02 1.990763115454515e-02 1.990646443148474e-02 + 1.990529748687400e-02 1.990413031580006e-02 1.990296291532720e-02 1.990179529310021e-02 1.990062744303953e-02 + 1.989945935329500e-02 1.989829103342642e-02 1.989712248515872e-02 1.989595370004318e-02 1.989478467737964e-02 + 1.989361541884726e-02 1.989244592499573e-02 1.989127618925862e-02 1.989010620674421e-02 1.988893597834538e-02 + 1.988776550466197e-02 1.988659478703524e-02 1.988542382727661e-02 1.988425261506333e-02 1.988308114268849e-02 + 1.988190942098788e-02 1.988073745006194e-02 1.987956522359536e-02 1.987839274079954e-02 1.987722000000555e-02 + 1.987604699732070e-02 1.987487372670402e-02 1.987370019241589e-02 1.987252640362364e-02 1.987135234678179e-02 + 1.987017801708705e-02 1.986900342417090e-02 1.986782856130232e-02 1.986665342124566e-02 1.986547800516037e-02 + 1.986430231940191e-02 1.986312636323797e-02 1.986195012209680e-02 1.986077359858922e-02 1.985959679883774e-02 + 1.985841971608161e-02 1.985724235007767e-02 1.985606470192896e-02 1.985488676268764e-02 1.985370853173279e-02 + 1.985253001389235e-02 1.985135120589531e-02 1.985017210671596e-02 1.984899271721913e-02 1.984781303008921e-02 + 1.984663304141680e-02 1.984545275323681e-02 1.984427216416261e-02 1.984309127447186e-02 1.984191008724042e-02 + 1.984072859600846e-02 1.983954679442092e-02 1.983836468369445e-02 1.983718226650526e-02 1.983599954091759e-02 + 1.983481649574990e-02 1.983363313683907e-02 1.983244947316962e-02 1.983126549121019e-02 1.983008118452795e-02 + 1.982889655650101e-02 1.982771161407836e-02 1.982652635127155e-02 1.982534075477381e-02 1.982415483542671e-02 + 1.982296859699974e-02 1.982178202865004e-02 1.982059512679342e-02 1.981940789099672e-02 1.981822032140366e-02 + 1.981703241807743e-02 1.981584417989424e-02 1.981465560415464e-02 1.981346669171603e-02 1.981227744136961e-02 + 1.981108784415540e-02 1.980989790130036e-02 1.980870761757638e-02 1.980751698807925e-02 1.980632600934410e-02 + 1.980513468056937e-02 1.980394300171975e-02 1.980275097143216e-02 1.980155858653555e-02 1.980036584235624e-02 + 1.979917273943820e-02 1.979797928262491e-02 1.979678546489206e-02 1.979559128379798e-02 1.979439674657348e-02 + 1.979320184217468e-02 1.979200656369760e-02 1.979081092352834e-02 1.978961491694981e-02 1.978841853542797e-02 + 1.978722178317891e-02 1.978602465925507e-02 1.978482715855289e-02 1.978362927697639e-02 1.978243101628911e-02 + 1.978123238058121e-02 1.978003336668686e-02 1.977883396860304e-02 1.977763418131442e-02 1.977643400902304e-02 + 1.977523345232920e-02 1.977403250607500e-02 1.977283117205557e-02 1.977162944865208e-02 1.977042732702634e-02 + 1.976922480613855e-02 1.976802188997964e-02 1.976681858355301e-02 1.976561487769950e-02 1.976441076369096e-02 + 1.976320624890566e-02 1.976200133147697e-02 1.976079600616600e-02 1.975959027757971e-02 1.975838414138116e-02 + 1.975717758909272e-02 1.975597062600439e-02 1.975476325369590e-02 1.975355546738499e-02 1.975234726242962e-02 + 1.975113863825908e-02 1.974992959762522e-02 1.974872013640206e-02 1.974751025163228e-02 1.974629994489470e-02 + 1.974508921425132e-02 1.974387805573186e-02 1.974266646519683e-02 1.974145444319864e-02 1.974024199150465e-02 + 1.973902910920840e-02 1.973781579519036e-02 1.973660204598839e-02 1.973538785240977e-02 1.973417321684443e-02 + 1.973295814730416e-02 1.973174263781577e-02 1.973052668253849e-02 1.972931027913797e-02 1.972809342747564e-02 + 1.972687612827085e-02 1.972565838187941e-02 1.972444018482310e-02 1.972322153363352e-02 1.972200242687443e-02 + 1.972078286440720e-02 1.971956284541047e-02 1.971834236691286e-02 1.971712142485657e-02 1.971590001741145e-02 + 1.971467814826898e-02 1.971345581852119e-02 1.971223302479186e-02 1.971100975804211e-02 1.970978601823674e-02 + 1.970856181065497e-02 1.970733713228995e-02 1.970611197806177e-02 1.970488634450282e-02 1.970366023582840e-02 + 1.970243364879734e-02 1.970120657299705e-02 1.969997901837739e-02 1.969875098677333e-02 1.969752246217473e-02 + 1.969629345274012e-02 1.969506396226801e-02 1.969383397141272e-02 1.969260348756574e-02 1.969137252109090e-02 + 1.969014105730648e-02 1.968890909233832e-02 1.968767662961491e-02 1.968644366805134e-02 1.968521020635475e-02 + 1.968397624286150e-02 1.968274177331172e-02 1.968150679588088e-02 1.968027131148579e-02 1.967903532058098e-02 + 1.967779882218197e-02 1.967656181292412e-02 1.967532428489620e-02 1.967408623811289e-02 1.967284768294825e-02 + 1.967160860971293e-02 1.967036900987211e-02 1.966912889102269e-02 1.966788825153749e-02 1.966664708600774e-02 + 1.966540539310703e-02 1.966416317292449e-02 1.966292042476060e-02 1.966167714455673e-02 1.966043333167102e-02 + 1.965918898702837e-02 1.965794410650064e-02 1.965669868705162e-02 1.965545272765306e-02 1.965420622710374e-02 + 1.965295918609461e-02 1.965171160585919e-02 1.965046347855766e-02 1.964921480087875e-02 1.964796557872257e-02 + 1.964671580769246e-02 1.964546548231519e-02 1.964421460325605e-02 1.964296317129598e-02 1.964171118580111e-02 + 1.964045864365522e-02 1.963920554157133e-02 1.963795187629582e-02 1.963669764477085e-02 1.963544284945441e-02 + 1.963418749362842e-02 1.963293156932153e-02 1.963167507295046e-02 1.963041800662418e-02 1.962916036936736e-02 + 1.962790216073956e-02 1.962664338014056e-02 1.962538401760687e-02 1.962412407160046e-02 1.962286355381917e-02 + 1.962160245501161e-02 1.962034076606272e-02 1.961907849332115e-02 1.961781563715828e-02 1.961655219371613e-02 + 1.961528815879130e-02 1.961402353224150e-02 1.961275831461461e-02 1.961149250160691e-02 1.961022609250104e-02 + 1.960895908768241e-02 1.960769148013132e-02 1.960642326897369e-02 1.960515445887448e-02 1.960388504699325e-02 + 1.960261502901453e-02 1.960134440209794e-02 1.960007316755673e-02 1.959880132269796e-02 1.959752885956289e-02 + 1.959625578572781e-02 1.959498210471557e-02 1.959370780282661e-02 1.959243287776576e-02 1.959115733236078e-02 + 1.958988116575855e-02 1.958860437570835e-02 1.958732696070351e-02 1.958604892230215e-02 1.958477025538254e-02 + 1.958349095293616e-02 1.958221102005211e-02 1.958093045820349e-02 1.957964926225915e-02 1.957836742427244e-02 + 1.957708494595253e-02 1.957580183693370e-02 1.957451808573694e-02 1.957323368588814e-02 1.957194864588927e-02 + 1.957066295908808e-02 1.956937661864716e-02 1.956808962863577e-02 1.956680198857452e-02 1.956551369740821e-02 + 1.956422475810978e-02 1.956293516289206e-02 1.956164490198652e-02 1.956035397935251e-02 1.955906239928264e-02 + 1.955777016187055e-02 1.955647725858155e-02 1.955518368630142e-02 1.955388944730695e-02 1.955259453790914e-02 + 1.955129895574477e-02 1.955000270138056e-02 1.954870577278503e-02 1.954740816848287e-02 1.954610988870274e-02 + 1.954481093111385e-02 1.954351129226784e-02 1.954221096901902e-02 1.954090996078360e-02 1.953960826724446e-02 + 1.953830588603245e-02 1.953700281656794e-02 1.953569905855491e-02 1.953439460897686e-02 1.953308946443935e-02 + 1.953178362233442e-02 1.953047708245082e-02 1.952916984426731e-02 1.952786190592496e-02 1.952655326324738e-02 + 1.952524391408689e-02 1.952393385929222e-02 1.952262309949111e-02 1.952131163370209e-02 1.951999945844595e-02 + 1.951868656751035e-02 1.951737295829730e-02 1.951605863555755e-02 1.951474359789877e-02 1.951342784097203e-02 + 1.951211136184995e-02 1.951079415956861e-02 1.950947623396647e-02 1.950815758387342e-02 1.950683820574165e-02 + 1.950551809587482e-02 1.950419725560715e-02 1.950287568354725e-02 1.950155337574423e-02 1.950023033242808e-02 + 1.949890655251627e-02 1.949758203322258e-02 1.949625677745909e-02 1.949493078034667e-02 1.949360402739089e-02 + 1.949227653112452e-02 1.949094829757290e-02 1.948961930480046e-02 1.948828955781861e-02 1.948695906691206e-02 + 1.948562782150981e-02 1.948429581598615e-02 1.948296304982478e-02 1.948162952319633e-02 1.948029523591830e-02 + 1.947896018726217e-02 1.947762437581102e-02 1.947628779922486e-02 1.947495045397724e-02 1.947361233489661e-02 + 1.947227344348770e-02 1.947093378593678e-02 1.946959335022997e-02 1.946825212971076e-02 1.946691013283964e-02 + 1.946556736109183e-02 1.946422381089845e-02 1.946287947598024e-02 1.946153435147304e-02 1.946018843640089e-02 + 1.945884173551620e-02 1.945749424593349e-02 1.945614596164208e-02 1.945479688244431e-02 1.945344700980195e-02 + 1.945209634356683e-02 1.945074487666461e-02 1.944939260492236e-02 1.944803952905332e-02 1.944668565282712e-02 + 1.944533097303948e-02 1.944397548026850e-02 1.944261917903520e-02 1.944126207147254e-02 1.943990414971487e-02 + 1.943854540610747e-02 1.943718584222317e-02 1.943582547177293e-02 1.943446428245481e-02 1.943310226105812e-02 + 1.943173942068859e-02 1.943037575924362e-02 1.942901126749138e-02 1.942764594793762e-02 1.942627979717840e-02 + 1.942491280913776e-02 1.942354498868186e-02 1.942217633546996e-02 1.942080684436220e-02 1.941943651933332e-02 + 1.941806535493775e-02 1.941669333695301e-02 1.941532047644210e-02 1.941394677715704e-02 1.941257222315028e-02 + 1.941119681542690e-02 1.940982056035791e-02 1.940844345901757e-02 1.940706550055424e-02 1.940568667678698e-02 + 1.940430699663802e-02 1.940292645883611e-02 1.940154505765652e-02 1.940016279578962e-02 1.939877966977487e-02 + 1.939739567223053e-02 1.939601080219835e-02 1.939462506233509e-02 1.939323845462366e-02 1.939185096971125e-02 + 1.939046260516801e-02 1.938907336764642e-02 1.938768325184633e-02 1.938629225021856e-02 1.938490035911401e-02 + 1.938350758330235e-02 1.938211392651081e-02 1.938071938447496e-02 1.937932394922459e-02 1.937792761695239e-02 + 1.937653039473651e-02 1.937513227779157e-02 1.937373325789699e-02 1.937233333934693e-02 1.937093252080456e-02 + 1.936953079702195e-02 1.936812816928827e-02 1.936672463690015e-02 1.936532019607867e-02 1.936391484345597e-02 + 1.936250857586552e-02 1.936110139138094e-02 1.935969329410197e-02 1.935828428412852e-02 1.935687435366041e-02 + 1.935546349795341e-02 1.935405171682407e-02 1.935263901452006e-02 1.935122538845629e-02 1.934981083240821e-02 + 1.934839534117787e-02 1.934697891910190e-02 1.934556156924906e-02 1.934414327695751e-02 1.934272404361874e-02 + 1.934130387854031e-02 1.933988276959641e-02 1.933846071416343e-02 1.933703771882020e-02 1.933561377409585e-02 + 1.933418887831357e-02 1.933276303945045e-02 1.933133624375953e-02 1.932990848653697e-02 1.932847978247962e-02 + 1.932705012296452e-02 1.932561949662077e-02 1.932418790536504e-02 1.932275535526071e-02 1.932132184669807e-02 + 1.931988736608416e-02 1.931845191123332e-02 1.931701548648173e-02 1.931557809132799e-02 1.931413972218449e-02 + 1.931270037603072e-02 1.931126005688787e-02 1.930981875761609e-02 1.930837646527647e-02 1.930693319154590e-02 + 1.930548893938918e-02 1.930404369700001e-02 1.930259746628386e-02 1.930115024647330e-02 1.929970202824377e-02 + 1.929825281461415e-02 1.929680260792617e-02 1.929535140092010e-02 1.929389919235001e-02 1.929244598266550e-02 + 1.929099176842190e-02 1.928953654639375e-02 1.928808031414528e-02 1.928662307035359e-02 1.928516481711372e-02 + 1.928370555611205e-02 1.928224527966380e-02 1.928078398206115e-02 1.927932166173262e-02 1.927785831899656e-02 + 1.927639395364510e-02 1.927492856464996e-02 1.927346215243780e-02 1.927199471282116e-02 1.927052623652251e-02 + 1.926905672766994e-02 1.926758618873705e-02 1.926611461056382e-02 1.926464199150991e-02 1.926316833245443e-02 + 1.926169363057714e-02 1.926021788634381e-02 1.925874109903830e-02 1.925726325940621e-02 1.925578436860509e-02 + 1.925430443199749e-02 1.925282343948819e-02 1.925134138889128e-02 1.924985828498051e-02 1.924837411847957e-02 + 1.924688888599618e-02 1.924540259377309e-02 1.924391524090012e-02 1.924242682077230e-02 1.924093732460676e-02 + 1.923944675829762e-02 1.923795512510602e-02 1.923646241448938e-02 1.923496862521413e-02 1.923347375911634e-02 + 1.923197781292445e-02 1.923048078180134e-02 1.922898266296426e-02 1.922748346006174e-02 1.922598317069195e-02 + 1.922448178990142e-02 1.922297932164773e-02 1.922147575963824e-02 1.921997109174737e-02 1.921846532805457e-02 + 1.921695846861228e-02 1.921545049993734e-02 1.921394143207274e-02 1.921243126559395e-02 1.921091998083786e-02 + 1.920940758472120e-02 1.920789408374423e-02 1.920637946562360e-02 1.920486373146851e-02 1.920334688393281e-02 + 1.920182891329169e-02 1.920030981699324e-02 1.919878959725658e-02 1.919726825432456e-02 1.919574578635056e-02 + 1.919422218928470e-02 1.919269745661605e-02 1.919117158884151e-02 1.918964459045353e-02 1.918811645370936e-02 + 1.918658717454346e-02 1.918505675553962e-02 1.918352519296369e-02 1.918199248296462e-02 1.918045862469436e-02 + 1.917892361805418e-02 1.917738746182788e-02 1.917585015265352e-02 1.917431168820606e-02 1.917277206550804e-02 + 1.917123127946213e-02 1.916968933132487e-02 1.916814622316750e-02 1.916660194885779e-02 1.916505650873668e-02 + 1.916350990423480e-02 1.916196212155291e-02 1.916041316033273e-02 1.915886303062994e-02 1.915731172194125e-02 + 1.915575922930148e-02 1.915420555876758e-02 1.915265070860661e-02 1.915109467332810e-02 1.914953744666585e-02 + 1.914797902645569e-02 1.914641941412443e-02 1.914485861314037e-02 1.914329661713828e-02 1.914173341932142e-02 + 1.914016902223032e-02 1.913860342379879e-02 1.913703662029905e-02 1.913546861279183e-02 1.913389939805644e-02 + 1.913232897075573e-02 1.913075733118505e-02 1.912918447844714e-02 1.912761040908805e-02 1.912603511839811e-02 + 1.912445860715432e-02 1.912288088009771e-02 1.912130192853472e-02 1.911972174626816e-02 1.911814033569584e-02 + 1.911655769224527e-02 1.911497381452394e-02 1.911338870990516e-02 1.911180236957772e-02 1.911021478317005e-02 + 1.910862595492130e-02 1.910703588697045e-02 1.910544457683553e-02 1.910385201685182e-02 1.910225820527016e-02 + 1.910066314375077e-02 1.909906682830796e-02 1.909746925477876e-02 1.909587042200599e-02 1.909427033688354e-02 + 1.909266899402551e-02 1.909106637643193e-02 1.908946249114346e-02 1.908785734491775e-02 1.908625093213804e-02 + 1.908464324204344e-02 1.908303427175084e-02 1.908142403234494e-02 1.907981251534393e-02 1.907819971100440e-02 + 1.907658562789714e-02 1.907497026158614e-02 1.907335360333112e-02 1.907173565762024e-02 1.907011642370295e-02 + 1.906849589616872e-02 1.906687407274958e-02 1.906525095073851e-02 1.906362652703246e-02 1.906200080112851e-02 + 1.906037377260159e-02 1.905874543999789e-02 1.905711580005939e-02 1.905548484883143e-02 1.905385258297056e-02 + 1.905221900422594e-02 1.905058411108648e-02 1.904894789413228e-02 1.904731035325132e-02 1.904567149183364e-02 + 1.904403130952197e-02 1.904238980136186e-02 1.904074696113758e-02 1.903910278612417e-02 1.903745727544392e-02 + 1.903581042868199e-02 1.903416224385271e-02 1.903251272055347e-02 1.903086185871027e-02 1.902920965236104e-02 + 1.902755609551852e-02 1.902590118543579e-02 1.902424492713456e-02 1.902258731926820e-02 1.902092835050054e-02 + 1.901926802409253e-02 1.901760634215130e-02 1.901594329530476e-02 1.901427888303375e-02 1.901261310655987e-02 + 1.901094596056572e-02 1.900927744335199e-02 1.900760755425454e-02 1.900593628837979e-02 1.900426364429972e-02 + 1.900258962310978e-02 1.900091422355684e-02 1.899923743835855e-02 1.899755925950979e-02 1.899587969656637e-02 + 1.899419874741247e-02 1.899251639645128e-02 1.899083265299966e-02 1.898914752052511e-02 1.898746098477085e-02 + 1.898577304386013e-02 1.898408369969058e-02 1.898239295076986e-02 1.898070079269564e-02 1.897900722255288e-02 + 1.897731224261929e-02 1.897561584849886e-02 1.897391803334516e-02 1.897221879605241e-02 1.897051814026927e-02 + 1.896881606767167e-02 1.896711256470153e-02 1.896540762798833e-02 1.896370126437186e-02 1.896199347193909e-02 + 1.896028424413336e-02 1.895857357350164e-02 1.895686146124061e-02 1.895514791045918e-02 1.895343292131205e-02 + 1.895171648302300e-02 1.894999858923527e-02 1.894827924721451e-02 1.894655845419708e-02 1.894483620522033e-02 + 1.894311250187257e-02 1.894138733732357e-02 1.893966070463249e-02 1.893793261072514e-02 1.893620305335951e-02 + 1.893447202418282e-02 1.893273952309081e-02 1.893100555094376e-02 1.892927010627177e-02 1.892753318110494e-02 + 1.892579477108063e-02 1.892405487784487e-02 1.892231350329449e-02 1.892057064453369e-02 1.891882629307712e-02 + 1.891708044683251e-02 1.891533310610873e-02 1.891358427035544e-02 1.891183393696100e-02 1.891008210291091e-02 + 1.890832876617924e-02 1.890657392211156e-02 1.890481756749361e-02 1.890305970669826e-02 1.890130033664154e-02 + 1.889953944876527e-02 1.889777703845312e-02 1.889601310905792e-02 1.889424766560776e-02 1.889248069356991e-02 + 1.889071219005931e-02 1.888894216610460e-02 1.888717060771540e-02 1.888539750970531e-02 1.888362288621832e-02 + 1.888184672351093e-02 1.888006901097801e-02 1.887828976119468e-02 1.887650896887177e-02 1.887472662448569e-02 + 1.887294273026847e-02 1.887115728373587e-02 1.886937028132879e-02 1.886758172601296e-02 1.886579161241305e-02 + 1.886399993232671e-02 1.886220669095003e-02 1.886041188581822e-02 1.885861550746470e-02 1.885681755698847e-02 + 1.885501803485419e-02 1.885321693733238e-02 1.885141425906957e-02 1.884960999916156e-02 1.884780416185130e-02 + 1.884599674103886e-02 1.884418772927479e-02 1.884237712445391e-02 1.884056492700234e-02 1.883875113673901e-02 + 1.883693574995443e-02 1.883511876102816e-02 1.883330016667216e-02 1.883147997149076e-02 1.882965817385698e-02 + 1.882783476601560e-02 1.882600973926643e-02 1.882418309568715e-02 1.882235484340025e-02 1.882052497417560e-02 + 1.881869348031539e-02 1.881686035975185e-02 1.881502561164409e-02 1.881318923741505e-02 1.881135123913003e-02 + 1.880951160558249e-02 1.880767032900146e-02 1.880582741534564e-02 1.880398286136111e-02 1.880213666245483e-02 + 1.880028882149621e-02 1.879843933370182e-02 1.879658819228311e-02 1.879473539862031e-02 1.879288094991765e-02 + 1.879102484097325e-02 1.878916707209326e-02 1.878730764191372e-02 1.878544654683108e-02 1.878358378459472e-02 + 1.878171935183507e-02 1.877985324430765e-02 1.877798546179407e-02 1.877611600228067e-02 1.877424486050507e-02 + 1.877237203778229e-02 1.877049753324887e-02 1.876862133863330e-02 1.876674345293673e-02 1.876486387617420e-02 + 1.876298260257535e-02 1.876109963059111e-02 1.875921496034764e-02 1.875732858848502e-02 1.875544051216185e-02 + 1.875355072885378e-02 1.875165923449702e-02 1.874976602623304e-02 1.874787110336161e-02 1.874597446797304e-02 + 1.874407611425766e-02 1.874217603022874e-02 1.874027422146802e-02 1.873837068906284e-02 1.873646542198345e-02 + 1.873455842189881e-02 1.873264969164939e-02 1.873073922656172e-02 1.872882701964194e-02 1.872691306648714e-02 + 1.872499736923527e-02 1.872307992509612e-02 1.872116072949887e-02 1.871923978227258e-02 1.871731708186487e-02 + 1.871539262387551e-02 1.871346640021372e-02 1.871153841041527e-02 1.870960865979342e-02 1.870767714578883e-02 + 1.870574386089293e-02 1.870380879685916e-02 1.870187195798613e-02 1.869993334446320e-02 1.869799294696750e-02 + 1.869605076691687e-02 1.869410680376838e-02 1.869216104730458e-02 1.869021349836844e-02 1.868826416022470e-02 + 1.868631302853863e-02 1.868436009644664e-02 1.868240535897862e-02 1.868044881818047e-02 1.867849047172725e-02 + 1.867653031474529e-02 1.867456834731333e-02 1.867260456736053e-02 1.867063897034608e-02 1.866867155351236e-02 + 1.866670231459311e-02 1.866473125095620e-02 1.866275835809391e-02 1.866078363356833e-02 1.865880707775009e-02 + 1.865682868564128e-02 1.865484845476688e-02 1.865286638889887e-02 1.865088247751579e-02 1.864889671303901e-02 + 1.864690910747520e-02 1.864491965354244e-02 1.864292833855512e-02 1.864093516946379e-02 1.863894014384585e-02 + 1.863694325319922e-02 1.863494449952898e-02 1.863294388193027e-02 1.863094139526787e-02 1.862893703607748e-02 + 1.862693080034535e-02 1.862492268387857e-02 1.862291268732941e-02 1.862090081042848e-02 1.861888704957227e-02 + 1.861687140151818e-02 1.861485386231105e-02 1.861283442704270e-02 1.861081309610335e-02 1.860878986806025e-02 + 1.860676473338590e-02 1.860473769529663e-02 1.860270875778476e-02 1.860067790615180e-02 1.859864513789995e-02 + 1.859661045850656e-02 1.859457386260990e-02 1.859253534675110e-02 1.859049490946049e-02 1.858845254228221e-02 + 1.858640824383296e-02 1.858436201966219e-02 1.858231386031445e-02 1.858026376148910e-02 1.857821173011040e-02 + 1.857615775674864e-02 1.857410183289329e-02 1.857204396224591e-02 1.856998414158087e-02 1.856792236630606e-02 + 1.856585863699762e-02 1.856379295088432e-02 1.856172530348682e-02 1.855965569223371e-02 1.855758411493529e-02 + 1.855551056872843e-02 1.855343504862798e-02 1.855135755357239e-02 1.854927808391809e-02 1.854719662999937e-02 + 1.854511318947389e-02 1.854302776884543e-02 1.854094036342127e-02 1.853885096469986e-02 1.853675956540365e-02 + 1.853466616668727e-02 1.853257077183708e-02 1.853047338096206e-02 1.852837398473379e-02 1.852627257507170e-02 + 1.852416915520061e-02 1.852206372211816e-02 1.851995627104085e-02 1.851784680396669e-02 1.851573531468755e-02 + 1.851362179508880e-02 1.851150625260910e-02 1.850938868433302e-02 1.850726907790290e-02 1.850514743267316e-02 + 1.850302375022463e-02 1.850089802974987e-02 1.849877026321467e-02 1.849664044568886e-02 1.849450857919205e-02 + 1.849237466328984e-02 1.849023869225825e-02 1.848810065567833e-02 1.848596056072587e-02 1.848381841125062e-02 + 1.848167418759208e-02 1.847952788817062e-02 1.847737952020788e-02 1.847522908039946e-02 1.847307656165976e-02 + 1.847092195736722e-02 1.846876526733367e-02 1.846660649126623e-02 1.846444562782898e-02 1.846228267641075e-02 + 1.846011763022634e-02 1.845795047822359e-02 1.845578122357826e-02 1.845360986824314e-02 1.845143640646702e-02 + 1.844926083412144e-02 1.844708314829677e-02 1.844490334652741e-02 1.844272142526039e-02 1.844053738232335e-02 + 1.843835121884711e-02 1.843616292877729e-02 1.843397250473794e-02 1.843177994759022e-02 1.842958525561723e-02 + 1.842738842512387e-02 1.842518945510765e-02 1.842298833954339e-02 1.842078507029563e-02 1.841857965103055e-02 + 1.841637208298309e-02 1.841416236088061e-02 1.841195047731196e-02 1.840973642948215e-02 1.840752022011446e-02 + 1.840530184216091e-02 1.840308128892246e-02 1.840085856103635e-02 1.839863365911139e-02 1.839640658087383e-02 + 1.839417731924000e-02 1.839194587083986e-02 1.838971223370895e-02 1.838747640300020e-02 1.838523837692452e-02 + 1.838299815548432e-02 1.838075573582631e-02 1.837851111106092e-02 1.837626427462707e-02 1.837401523350234e-02 + 1.837176398539980e-02 1.836951051641877e-02 1.836725482529124e-02 1.836499691387402e-02 1.836273678151691e-02 + 1.836047442118306e-02 1.835820982858270e-02 1.835594300692513e-02 1.835367394977665e-02 1.835140264983480e-02 + 1.834912910825698e-02 1.834685332362546e-02 1.834457529066184e-02 1.834229500068380e-02 1.834001245612868e-02 + 1.833772766191195e-02 1.833544060380268e-02 1.833315127769170e-02 1.833085968975407e-02 1.832856583633842e-02 + 1.832626971106521e-02 1.832397130817964e-02 1.832167062581619e-02 1.831936766045366e-02 1.831706240632338e-02 + 1.831475486820015e-02 1.831244504576387e-02 1.831013292472488e-02 1.830781850356614e-02 1.830550178468002e-02 + 1.830318276421879e-02 1.830086143845657e-02 1.829853780375753e-02 1.829621185558813e-02 1.829388359300937e-02 + 1.829155301569956e-02 1.828922011662799e-02 1.828688489153528e-02 1.828454733892483e-02 1.828220745351499e-02 + 1.827986523367206e-02 1.827752068069898e-02 1.827517378500067e-02 1.827282454323407e-02 1.827047296291425e-02 + 1.826811903643735e-02 1.826576275326505e-02 1.826340410954280e-02 1.826104310998728e-02 1.825867975496676e-02 + 1.825631402943589e-02 1.825394593365713e-02 1.825157547349511e-02 1.824920264235266e-02 1.824682743095013e-02 + 1.824444983334214e-02 1.824206985531418e-02 1.823968749396920e-02 1.823730273947125e-02 1.823491559405069e-02 + 1.823252605635143e-02 1.823013411851380e-02 1.822773977727079e-02 1.822534302885856e-02 1.822294386817581e-02 + 1.822054229933361e-02 1.821813832218229e-02 1.821573192447362e-02 1.821332310276354e-02 1.821091185568656e-02 + 1.820849817689734e-02 1.820608206836350e-02 1.820366353310689e-02 1.820124256311412e-02 1.819881915016099e-02 + 1.819639328969794e-02 1.819396498477247e-02 1.819153423068764e-02 1.818910101812068e-02 1.818666535246774e-02 + 1.818422723286477e-02 1.818178664914423e-02 1.817934360000525e-02 1.817689808189780e-02 1.817445008627356e-02 + 1.817199961756547e-02 1.816954667558178e-02 1.816709124568389e-02 1.816463332917677e-02 1.816217292950077e-02 + 1.815971003769815e-02 1.815724465123547e-02 1.815477676809149e-02 1.815230637650250e-02 1.814983348051392e-02 + 1.814735808823705e-02 1.814488018072306e-02 1.814239975267995e-02 1.813991681262074e-02 1.813743135508509e-02 + 1.813494337086823e-02 1.813245285281114e-02 1.812995980445686e-02 1.812746422731492e-02 1.812496611573551e-02 + 1.812246546481565e-02 1.811996226848969e-02 1.811745651920204e-02 1.811494821957559e-02 1.811243737133842e-02 + 1.810992396481434e-02 1.810740799805441e-02 1.810488947142559e-02 1.810236837745802e-02 1.809984471224923e-02 + 1.809731847419077e-02 1.809478965788605e-02 1.809225826197647e-02 1.808972428730369e-02 1.808718772623545e-02 + 1.808464857219165e-02 1.808210682315950e-02 1.807956248210254e-02 1.807701554512131e-02 1.807446599893149e-02 + 1.807191384222250e-02 1.806935907649996e-02 1.806680169977935e-02 1.806424171112906e-02 1.806167910639137e-02 + 1.805911387430984e-02 1.805654601234490e-02 1.805397552118165e-02 1.805140239539148e-02 1.804882663464111e-02 + 1.804624823872755e-02 1.804366719439020e-02 1.804108350087335e-02 1.803849716547347e-02 1.803590817366155e-02 + 1.803331652090480e-02 1.803072221546651e-02 1.802812524400898e-02 1.802552559998909e-02 1.802292329257977e-02 + 1.802031831251088e-02 1.801771065083283e-02 1.801510031065072e-02 1.801248728509480e-02 1.800987156794499e-02 + 1.800725316456288e-02 1.800463207196059e-02 1.800200828229563e-02 1.799938179038418e-02 1.799675259135415e-02 + 1.799412068157979e-02 1.799148606152016e-02 1.798884872978088e-02 1.798620868169797e-02 1.798356590941466e-02 + 1.798092041139825e-02 1.797827219073602e-02 1.797562123473000e-02 1.797296753674024e-02 1.797031110360818e-02 + 1.796765193280976e-02 1.796499001786419e-02 1.796232535287627e-02 1.795965793501132e-02 1.795698776183851e-02 + 1.795431482887613e-02 1.795163913285315e-02 1.794896067070983e-02 1.794627943785036e-02 1.794359543174794e-02 + 1.794090865000600e-02 1.793821908548673e-02 1.793552673496832e-02 1.793283159877326e-02 1.793013367385930e-02 + 1.792743295577707e-02 1.792472944026945e-02 1.792202312682011e-02 1.791931400976357e-02 1.791660207728341e-02 + 1.791388733234035e-02 1.791116977642004e-02 1.790844939977351e-02 1.790572620127331e-02 1.790300018053203e-02 + 1.790027132960331e-02 1.789753964610457e-02 1.789480512776976e-02 1.789206776371137e-02 1.788932755546883e-02 + 1.788658450796398e-02 1.788383860557862e-02 1.788108984645815e-02 1.787833823870088e-02 1.787558376650758e-02 + 1.787282642238153e-02 1.787006621288861e-02 1.786730313584615e-02 1.786453718506033e-02 1.786176835331611e-02 + 1.785899663566110e-02 1.785622203220682e-02 1.785344454733639e-02 1.785066416506327e-02 1.784788087479271e-02 + 1.784509469481547e-02 1.784230561688990e-02 1.783951362363962e-02 1.783671871969004e-02 1.783392090351773e-02 + 1.783112016693977e-02 1.782831650359620e-02 1.782550991644932e-02 1.782270041052123e-02 1.781988796773664e-02 + 1.781707258188517e-02 1.781425426228424e-02 1.781143299909701e-02 1.780860878344276e-02 1.780578161636334e-02 + 1.780295150019453e-02 1.780011843142990e-02 1.779728239750767e-02 1.779444339320670e-02 1.779160141853593e-02 + 1.778875647528820e-02 1.778590855799184e-02 1.778305765851556e-02 1.778020377358821e-02 1.777734690358035e-02 + 1.777448704738365e-02 1.777162419310320e-02 1.776875833746895e-02 1.776588948369731e-02 1.776301762263940e-02 + 1.776014274927566e-02 1.775726486578331e-02 1.775438397030816e-02 1.775150005486545e-02 1.774861310790110e-02 + 1.774572313526677e-02 1.774283013776283e-02 1.773993409898065e-02 1.773703502220879e-02 1.773413291089222e-02 + 1.773122774923129e-02 1.772831953604024e-02 1.772540827370780e-02 1.772249394894422e-02 1.771957656009896e-02 + 1.771665611194296e-02 1.771373259698992e-02 1.771080600888477e-02 1.770787634473108e-02 1.770494360249459e-02 + 1.770200777818149e-02 1.769906886558849e-02 1.769612685929023e-02 1.769318175770428e-02 1.769023356261796e-02 + 1.768728226707501e-02 1.768432786370409e-02 1.768137035050212e-02 1.767840972761326e-02 1.767544598996190e-02 + 1.767247912224100e-02 1.766950912887429e-02 1.766653601772543e-02 1.766355977437013e-02 1.766058039164660e-02 + 1.765759786981226e-02 1.765461220736955e-02 1.765162339764906e-02 1.764863143247870e-02 1.764563631444012e-02 + 1.764263804044564e-02 1.763963660052613e-02 1.763663199590508e-02 1.763362422648862e-02 1.763061328532627e-02 + 1.762759916389677e-02 1.762458185742205e-02 1.762156136756127e-02 1.761853769290762e-02 1.761551082691653e-02 + 1.761248075761478e-02 1.760944748669641e-02 1.760641101894919e-02 1.760337134551661e-02 1.760032845807722e-02 + 1.759728235211478e-02 1.759423302856655e-02 1.759118048266074e-02 1.758812470690578e-02 1.758506570645847e-02 + 1.758200347417691e-02 1.757893799151254e-02 1.757586926700291e-02 1.757279730534286e-02 1.756972209521438e-02 + 1.756664362962799e-02 1.756356190543487e-02 1.756047692143249e-02 1.755738866974527e-02 1.755429714394244e-02 + 1.755120234663686e-02 1.754810427470094e-02 1.754500292288027e-02 1.754189829041229e-02 1.753879037098419e-02 + 1.753567915477636e-02 1.753256463576890e-02 1.752944681640228e-02 1.752632570156945e-02 1.752320127895599e-02 + 1.752007354011609e-02 1.751694248500407e-02 1.751380811099548e-02 1.751067041466748e-02 1.750752939229762e-02 + 1.750438503712632e-02 1.750123734468025e-02 1.749808631552286e-02 1.749493194526630e-02 1.749177422703599e-02 + 1.748861315463852e-02 1.748544872591071e-02 1.748228094036503e-02 1.747910979560325e-02 1.747593528635296e-02 + 1.747275740493088e-02 1.746957614261004e-02 1.746639150171011e-02 1.746320348827029e-02 1.746001208402579e-02 + 1.745681728232032e-02 1.745361909228664e-02 1.745041750587895e-02 1.744721251527593e-02 1.744400411995098e-02 + 1.744079231626219e-02 1.743757709612158e-02 1.743435844889677e-02 1.743113638300998e-02 1.742791090294012e-02 + 1.742468198827393e-02 1.742144963687445e-02 1.741821385208018e-02 1.741497462017237e-02 1.741173194001650e-02 + 1.740848581625378e-02 1.740523623716524e-02 1.740198319673262e-02 1.739872669626729e-02 1.739546673433575e-02 + 1.739220330474240e-02 1.738893639777237e-02 1.738566600801745e-02 1.738239213410604e-02 1.737911477739739e-02 + 1.737583393441487e-02 1.737254959973500e-02 1.736926176792087e-02 1.736597043319887e-02 1.736267559029083e-02 + 1.735937723525189e-02 1.735607536431420e-02 1.735276997535949e-02 1.734946106967137e-02 1.734614863942214e-02 + 1.734283267462293e-02 1.733951317984790e-02 1.733619014933173e-02 1.733286356952035e-02 1.732953344236944e-02 + 1.732619976822115e-02 1.732286254123125e-02 1.731952175476255e-02 1.731617740506982e-02 1.731282949118149e-02 + 1.730947800429541e-02 1.730612293897103e-02 1.730276429900506e-02 1.729940207772190e-02 1.729603626710180e-02 + 1.729266686687025e-02 1.728929387127552e-02 1.728591727431661e-02 1.728253707811547e-02 1.727915327486350e-02 + 1.727576585445017e-02 1.727237482415143e-02 1.726898017713387e-02 1.726558189725253e-02 1.726217999255776e-02 + 1.725877446141184e-02 1.725536528836806e-02 1.725195247427305e-02 1.724853602088567e-02 1.724511592318061e-02 + 1.724169217016580e-02 1.723826475637563e-02 1.723483368674653e-02 1.723139894995541e-02 1.722796053633534e-02 + 1.722451845482723e-02 1.722107270070567e-02 1.721762326419149e-02 1.721417014587169e-02 1.721071333868621e-02 + 1.720725283251134e-02 1.720378862838028e-02 1.720032072298445e-02 1.719684910908383e-02 1.719337378669194e-02 + 1.718989475327181e-02 1.718641200187306e-02 1.718292552719872e-02 1.717943532374793e-02 1.717594138625576e-02 + 1.717244371734551e-02 1.716894231509765e-02 1.716543716617480e-02 1.716192826455456e-02 1.715841561099909e-02 + 1.715489920993168e-02 1.715137904713604e-02 1.714785510917266e-02 1.714432741097788e-02 1.714079594608009e-02 + 1.713726069602739e-02 1.713372166332687e-02 1.713017885016558e-02 1.712663225240283e-02 1.712308185705881e-02 + 1.711952765873538e-02 1.711596966109396e-02 1.711240786053498e-02 1.710884225051524e-02 1.710527282476134e-02 + 1.710169958307061e-02 1.709812252022495e-02 1.709454162136748e-02 1.709095688985418e-02 1.708736832996113e-02 + 1.708377593024533e-02 1.708017968752960e-02 1.707657960032946e-02 1.707297565703870e-02 1.706936785401023e-02 + 1.706575619189593e-02 1.706214066346443e-02 1.705852126552140e-02 1.705489799818787e-02 1.705127085519305e-02 + 1.704763983091843e-02 1.704400492089210e-02 1.704036611449886e-02 1.703672340943711e-02 1.703307681394708e-02 + 1.702942631772786e-02 1.702577190966809e-02 1.702211358937508e-02 1.701845135582294e-02 1.701478520463906e-02 + 1.701111512687454e-02 1.700744111902223e-02 1.700376317991698e-02 1.700008130526762e-02 1.699639548886451e-02 + 1.699270572517141e-02 1.698901201362202e-02 1.698531434790372e-02 1.698161271901581e-02 1.697790713038581e-02 + 1.697419757947398e-02 1.697048405591379e-02 1.696676655885514e-02 1.696304508413142e-02 1.695931962055792e-02 + 1.695559016575875e-02 1.695185672007940e-02 1.694811928170539e-02 1.694437784303563e-02 1.694063239701608e-02 + 1.693688294268234e-02 1.693312947555357e-02 1.692937198914621e-02 1.692561047849961e-02 1.692184494218333e-02 + 1.691807537819241e-02 1.691430177590003e-02 1.691052413380094e-02 1.690674245501956e-02 1.690295672392027e-02 + 1.689916693403359e-02 1.689537309141036e-02 1.689157519031890e-02 1.688777322481082e-02 1.688396719247375e-02 + 1.688015708323470e-02 1.687634289028026e-02 1.687252461641300e-02 1.686870225976892e-02 1.686487581335405e-02 + 1.686104526641643e-02 1.685721061978611e-02 1.685337187596560e-02 1.684952902423863e-02 1.684568205626177e-02 + 1.684183096806695e-02 1.683797575916921e-02 1.683411642637722e-02 1.683025296370582e-02 1.682638536598722e-02 + 1.682251363071521e-02 1.681863775630957e-02 1.681475773295268e-02 1.681087355358095e-02 1.680698521822956e-02 + 1.680309272743823e-02 1.679919607564722e-02 1.679529524908240e-02 1.679139024683375e-02 1.678748107079098e-02 + 1.678356771499038e-02 1.677965016895157e-02 1.677572842703558e-02 1.677180249929987e-02 1.676787237703614e-02 + 1.676393804299063e-02 1.675999950051788e-02 1.675605674951069e-02 1.675210978219402e-02 1.674815858725950e-02 + 1.674420316518524e-02 1.674024352454331e-02 1.673627964747038e-02 1.673231152527195e-02 1.672833916857912e-02 + 1.672436256552257e-02 1.672038170373856e-02 1.671639658470834e-02 1.671240720840105e-02 1.670841357063555e-02 + 1.670441566220705e-02 1.670041347959014e-02 1.669640702110204e-02 1.669239628051189e-02 1.668838125191250e-02 + 1.668436193143650e-02 1.668033831890629e-02 1.667631040878886e-02 1.667227819212758e-02 1.666824166734860e-02 + 1.666420083129591e-02 1.666015567735254e-02 1.665610620005455e-02 1.665205239678242e-02 1.664799426695549e-02 + 1.664393180284348e-02 1.663986499713315e-02 1.663579384792829e-02 1.663171835503466e-02 1.662763851356003e-02 + 1.662355430939835e-02 1.661946574092143e-02 1.661537281150426e-02 1.661127551677910e-02 1.660717384720702e-02 + 1.660306779425839e-02 1.659895736095696e-02 1.659484254425630e-02 1.659072333444665e-02 1.658659972465595e-02 + 1.658247171530552e-02 1.657833931027815e-02 1.657420249617699e-02 1.657006126301349e-02 1.656591561144095e-02 + 1.656176553662080e-02 1.655761103381663e-02 1.655345210211223e-02 1.654928873901935e-02 1.654512093811135e-02 + 1.654094868807454e-02 1.653677198858015e-02 1.653259084096055e-02 1.652840523447503e-02 1.652421516561530e-02 + 1.652002063436291e-02 1.651582163151349e-02 1.651161815099949e-02 1.650741019156900e-02 1.650319775344297e-02 + 1.649898082810461e-02 1.649475940168675e-02 1.649053348141889e-02 1.648630306850305e-02 1.648206814836095e-02 + 1.647782871114676e-02 1.647358475732917e-02 1.646933629656457e-02 1.646508330893651e-02 1.646082578033714e-02 + 1.645656373337251e-02 1.645229715576629e-02 1.644802602626009e-02 1.644375035674409e-02 1.643947014097659e-02 + 1.643518536281393e-02 1.643089602671802e-02 1.642660213310334e-02 1.642230367492405e-02 1.641800064388943e-02 + 1.641369303446324e-02 1.640938084474308e-02 1.640506407467653e-02 1.640074271742540e-02 1.639641675907646e-02 + 1.639208620097271e-02 1.638775104513307e-02 1.638341128505268e-02 1.637906691499287e-02 1.637471792980197e-02 + 1.637036432400064e-02 1.636600609175647e-02 1.636164322915392e-02 1.635727573684415e-02 1.635290360792794e-02 + 1.634852683359730e-02 1.634414541697593e-02 1.633975935494602e-02 1.633536863669590e-02 1.633097325119221e-02 + 1.632657319870386e-02 1.632216848742881e-02 1.631775910539292e-02 1.631334504210032e-02 1.630892629731235e-02 + 1.630450287107613e-02 1.630007475715268e-02 1.629564194133085e-02 1.629120442381021e-02 1.628676220752001e-02 + 1.628231528645751e-02 1.627786365361661e-02 1.627340730437480e-02 1.626894623909321e-02 1.626448044809207e-02 + 1.626000991935131e-02 1.625553465710418e-02 1.625105466086324e-02 1.624656992364918e-02 1.624208044008659e-02 + 1.623758620493278e-02 1.623308721259990e-02 1.622858345750622e-02 1.622407493651434e-02 1.621956164908100e-02 + 1.621504359102545e-02 1.621052075671857e-02 1.620599314061202e-02 1.620146073758967e-02 1.619692354185834e-02 + 1.619238154678624e-02 1.618783475477294e-02 1.618328316706134e-02 1.617872676957040e-02 1.617416555535298e-02 + 1.616959952441603e-02 1.616502867670949e-02 1.616045300241566e-02 1.615587248863419e-02 1.615128714307292e-02 + 1.614669696726644e-02 1.614210195036420e-02 1.613750207990814e-02 1.613289735436475e-02 1.612828778261194e-02 + 1.612367334765880e-02 1.611905403879705e-02 1.611442986870223e-02 1.610980082722066e-02 1.610516690212456e-02 + 1.610052809916244e-02 1.609588441136000e-02 1.609123582829610e-02 1.608658235171540e-02 1.608192397521171e-02 + 1.607726068992654e-02 1.607259250083978e-02 1.606791940362701e-02 1.606324138657220e-02 1.605855844962495e-02 + 1.605387058768025e-02 1.604917779011535e-02 1.604448006054786e-02 1.603977739874237e-02 1.603506979420087e-02 + 1.603035723984084e-02 1.602563973257448e-02 1.602091727188371e-02 1.601618984720332e-02 1.601145745295015e-02 + 1.600672010067149e-02 1.600197777942985e-02 1.599723047266619e-02 1.599247818462375e-02 1.598772091449355e-02 + 1.598295865408641e-02 1.597819139147786e-02 1.597341912912636e-02 1.596864187530068e-02 1.596385961058315e-02 + 1.595907232771693e-02 1.595428003613896e-02 1.594948272828454e-02 1.594468039178993e-02 1.593987301780130e-02 + 1.593506061365002e-02 1.593024318102167e-02 1.592542070422077e-02 1.592059317798925e-02 1.591576060279083e-02 + 1.591092297799217e-02 1.590608029141302e-02 1.590123253274349e-02 1.589637971157846e-02 1.589152182656434e-02 + 1.588665886609507e-02 1.588179081847464e-02 1.587691768450550e-02 1.587203947045915e-02 1.586715616213467e-02 + 1.586226775168990e-02 1.585737424168921e-02 1.585247562649581e-02 1.584757190117160e-02 1.584266306445842e-02 + 1.583774911091078e-02 1.583283003450806e-02 1.582790583090947e-02 1.582297649499978e-02 1.581804202355953e-02 + 1.581310241701619e-02 1.580815766650671e-02 1.580320776320766e-02 1.579825271139450e-02 1.579329250537274e-02 + 1.578832713506978e-02 1.578335660262603e-02 1.577838090296324e-02 1.577340002574811e-02 1.576841397243399e-02 + 1.576342274326813e-02 1.575842633194578e-02 1.575342472205075e-02 1.574841791148685e-02 1.574340591569888e-02 + 1.573838872006093e-02 1.573336631006632e-02 1.572833869008299e-02 1.572330586230670e-02 1.571826781924578e-02 + 1.571322454052314e-02 1.570817603062760e-02 1.570312230059812e-02 1.569806333998715e-02 1.569299913693516e-02 + 1.568792968457186e-02 1.568285498663007e-02 1.567777503779379e-02 1.567268982728102e-02 1.566759935997030e-02 + 1.566250363482262e-02 1.565740264102256e-02 1.565229637077196e-02 1.564718482295817e-02 1.564206800099241e-02 + 1.563694589151567e-02 1.563181848599405e-02 1.562668579194260e-02 1.562154780177149e-02 1.561640450642917e-02 + 1.561125590888111e-02 1.560610200797837e-02 1.560094279515962e-02 1.559577825343192e-02 1.559060838842812e-02 + 1.558543321151646e-02 1.558025270088283e-02 1.557506685188879e-02 1.556987567405825e-02 1.556467915294808e-02 + 1.555947727806998e-02 1.555427005014520e-02 1.554905747326830e-02 1.554383954557267e-02 1.553861625685508e-02 + 1.553338760005679e-02 1.552815357203842e-02 1.552291417232042e-02 1.551766939022104e-02 1.551241921985975e-02 + 1.550716367246923e-02 1.550190274051892e-02 1.549663640983429e-02 1.549136467943576e-02 1.548608754911306e-02 + 1.548080501516420e-02 1.547551706650131e-02 1.547022370107663e-02 1.546492492363977e-02 1.545962073006300e-02 + 1.545431111106912e-02 1.544899605692932e-02 1.544367557060635e-02 1.543834964941066e-02 1.543301828099291e-02 + 1.542768146907574e-02 1.542233921474585e-02 1.541699150599057e-02 1.541163833967913e-02 1.540627971422265e-02 + 1.540091562222576e-02 1.539554606062004e-02 1.539017102808156e-02 1.538479052048013e-02 1.537940453376258e-02 + 1.537401306270197e-02 1.536861609811398e-02 1.536321364249661e-02 1.535780570199338e-02 1.535239225620149e-02 + 1.534697329939463e-02 1.534154884369051e-02 1.533611887960563e-02 1.533068339829330e-02 1.532524239983298e-02 + 1.531979587995433e-02 1.531434383110085e-02 1.530888624554550e-02 1.530342313142362e-02 1.529795449144603e-02 + 1.529248030485156e-02 1.528700056732233e-02 1.528151528324413e-02 1.527602445059826e-02 1.527052806021316e-02 + 1.526502610370102e-02 1.525951858764995e-02 1.525400550804322e-02 1.524848685322667e-02 1.524296262660809e-02 + 1.523743282528689e-02 1.523189743753784e-02 1.522635646012132e-02 1.522080989370855e-02 1.521525773883866e-02 + 1.520969998584297e-02 1.520413662809972e-02 1.519856766896251e-02 1.519299310438481e-02 1.518741292689401e-02 + 1.518182713051541e-02 1.517623571498702e-02 1.517063867977171e-02 1.516503601659771e-02 1.515942772580205e-02 + 1.515381380882217e-02 1.514819425008754e-02 1.514256904339338e-02 1.513693819284546e-02 1.513130169987854e-02 + 1.512565955837021e-02 1.512001175774349e-02 1.511435830052952e-02 1.510869918485496e-02 1.510303439909880e-02 + 1.509736393861015e-02 1.509168780464220e-02 1.508600600178219e-02 1.508031852355242e-02 1.507462535986425e-02 + 1.506892650464710e-02 1.506322195838325e-02 1.505751172137055e-02 1.505179578553525e-02 1.504607414992266e-02 + 1.504034681527993e-02 1.503461377008154e-02 1.502887501067205e-02 1.502313053999477e-02 1.501738035243006e-02 + 1.501162444030474e-02 1.500586279803602e-02 1.500009542963074e-02 1.499432233574762e-02 1.498854350912934e-02 + 1.498275894315130e-02 1.497696863387312e-02 1.497117258012378e-02 1.496537077480856e-02 1.495956321394884e-02 + 1.495374990400090e-02 1.494793083920974e-02 1.494210600904758e-02 1.493627541059610e-02 1.493043904648383e-02 + 1.492459691659297e-02 1.491874900408085e-02 1.491289530722370e-02 1.490703583623931e-02 1.490117058646935e-02 + 1.489529954725381e-02 1.488942270892006e-02 1.488354007804980e-02 1.487765165385858e-02 1.487175742273507e-02 + 1.486585738883519e-02 1.485995155398175e-02 1.485403990610964e-02 1.484812243988829e-02 1.484219915557141e-02 + 1.483627005584607e-02 1.483033513203473e-02 1.482439437542072e-02 1.481844779264578e-02 1.481249538141862e-02 + 1.480653713381494e-02 1.480057304868135e-02 1.479460312202780e-02 1.478862734716873e-02 1.478264572087699e-02 + 1.477665824308106e-02 1.477066491441443e-02 1.476466572742758e-02 1.475866067903805e-02 1.475264977269339e-02 + 1.474663299844858e-02 1.474061034872640e-02 1.473458182710518e-02 1.472854743115566e-02 1.472250715651883e-02 + 1.471646100132783e-02 1.471040896256117e-02 1.470435103749897e-02 1.469828722554372e-02 1.469221751827344e-02 + 1.468614190646898e-02 1.468006039547928e-02 1.467397298615093e-02 1.466787967378610e-02 1.466178045636883e-02 + 1.465567533041493e-02 1.464956428982840e-02 1.464344732703370e-02 1.463732444018100e-02 1.463119563426315e-02 + 1.462506090797482e-02 1.461892025637629e-02 1.461277367320199e-02 1.460662115516677e-02 1.460046270026797e-02 + 1.459429830605704e-02 1.458812796887011e-02 1.458195168595082e-02 1.457576945823491e-02 1.456958128559711e-02 + 1.456338716422361e-02 1.455718708308891e-02 1.455098103823577e-02 1.454476903226018e-02 1.453855106504101e-02 + 1.453232713525658e-02 1.452609724028033e-02 1.451986137384772e-02 1.451361953112174e-02 1.450737171027855e-02 + 1.450111790831084e-02 1.449485812287890e-02 1.448859235383744e-02 1.448232060352556e-02 1.447604287018101e-02 + 1.446975914267516e-02 1.446346941597466e-02 1.445717368938523e-02 1.445087196279080e-02 1.444456423724572e-02 + 1.443825051237331e-02 1.443193078136921e-02 1.442560503975330e-02 1.441927328581930e-02 1.441293551683267e-02 + 1.440659172970616e-02 1.440024192165075e-02 1.439388609177658e-02 1.438752424156573e-02 1.438115637277796e-02 + 1.437478247503487e-02 1.436840254149195e-02 1.436201657648160e-02 1.435562457263202e-02 1.434922652522855e-02 + 1.434282244486077e-02 1.433641232984850e-02 1.432999617114929e-02 1.432357396196595e-02 1.431714570255755e-02 + 1.431071139387867e-02 1.430427102559402e-02 1.429782460021014e-02 1.429137212732056e-02 1.428491359501307e-02 + 1.427844899676062e-02 1.427197833606156e-02 1.426550161130239e-02 1.425901881685885e-02 1.425252994564961e-02 + 1.424603499980085e-02 1.423953398385027e-02 1.423302689906778e-02 1.422651373475527e-02 1.421999448399202e-02 + 1.421346915585374e-02 1.420693774198730e-02 1.420040023237321e-02 1.419385663850131e-02 1.418730696003290e-02 + 1.418075118751426e-02 1.417418931634679e-02 1.416762135086922e-02 1.416104729584521e-02 1.415446713263836e-02 + 1.414788085973522e-02 1.414128849363525e-02 1.413469002361970e-02 1.412808544052846e-02 1.412147474772301e-02 + 1.411485794712882e-02 1.410823503604182e-02 1.410160600672222e-02 1.409497085818714e-02 1.408832959214252e-02 + 1.408168220875668e-02 1.407502870564407e-02 1.406836907961611e-02 1.406170332864153e-02 1.405503144837146e-02 + 1.404835343608425e-02 1.404166929852345e-02 1.403497903248639e-02 1.402828262916828e-02 1.402158009603205e-02 + 1.401487143048169e-02 1.400815661918214e-02 1.400143566703935e-02 1.399470857625501e-02 1.398797534046779e-02 + 1.398123596549795e-02 1.397449045134991e-02 1.396773878380821e-02 1.396098096640959e-02 1.395421700271061e-02 + 1.394744688102961e-02 1.394067060648909e-02 1.393388818692338e-02 1.392709961198955e-02 1.392030488001634e-02 + 1.391350399327543e-02 1.390669694254475e-02 1.389988372719557e-02 1.389306435287330e-02 1.388623881438261e-02 + 1.387940711188756e-02 1.387256925103053e-02 1.386572522405790e-02 1.385887502683316e-02 1.385201866296698e-02 + 1.384515612379329e-02 1.383828740611332e-02 1.383141252098464e-02 1.382453146615934e-02 1.381764423695148e-02 + 1.381075083621117e-02 1.380385125926009e-02 1.379694549932224e-02 1.379003355634722e-02 1.378311543405784e-02 + 1.377619113577579e-02 1.376926065784134e-02 1.376232399626086e-02 1.375538114862362e-02 1.374843211529037e-02 + 1.374147689626999e-02 1.373451549097131e-02 1.372754790081035e-02 1.372057412482435e-02 1.371359415880417e-02 + 1.370660800191563e-02 1.369961565562416e-02 1.369261712158748e-02 1.368561239160383e-02 1.367860146147292e-02 + 1.367158434223160e-02 1.366456103295884e-02 1.365753152816715e-02 1.365049582984413e-02 1.364345393626983e-02 + 1.363640584363454e-02 1.362935155197557e-02 1.362229106201978e-02 1.361522437421294e-02 1.360815148809621e-02 + 1.360107240365773e-02 1.359398712117658e-02 1.358689563898480e-02 1.357979795217255e-02 1.357269405533802e-02 + 1.356558396017600e-02 1.355846767355538e-02 1.355134518540141e-02 1.354421648973967e-02 1.353708158728038e-02 + 1.352994048497773e-02 1.352279317412557e-02 1.351563964921714e-02 1.350847993234027e-02 1.350131401794928e-02 + 1.349414188812881e-02 1.348696355361660e-02 1.347977901858603e-02 1.347258827670450e-02 1.346539132112732e-02 + 1.345818815687027e-02 1.345097879723517e-02 1.344376323611521e-02 1.343654146470481e-02 1.342931348024562e-02 + 1.342207929164266e-02 1.341483890125029e-02 1.340759229714105e-02 1.340033948592649e-02 1.339308047488992e-02 + 1.338581525615185e-02 1.337854383232506e-02 1.337126620737807e-02 1.336398237245951e-02 1.335669232490426e-02 + 1.334939606999042e-02 1.334209361886319e-02 1.333478496691931e-02 1.332747010093965e-02 1.332014902896288e-02 + 1.331282175723704e-02 1.330548828381385e-02 1.329814860211957e-02 1.329080271412866e-02 1.328345063097246e-02 + 1.327609234424045e-02 1.326872784914616e-02 1.326135715657202e-02 1.325398026514318e-02 1.324659716972378e-02 + 1.323920787031880e-02 1.323181236976987e-02 1.322441067219326e-02 1.321700278123619e-02 1.320958869473772e-02 + 1.320216840889533e-02 1.319474192647233e-02 1.318730924299288e-02 1.317987035320805e-02 1.317242527523754e-02 + 1.316497401404441e-02 1.315751655750498e-02 1.315005290457417e-02 1.314258305915991e-02 1.313510702533477e-02 + 1.312762479749873e-02 1.312013637454663e-02 1.311264176674524e-02 1.310514097528989e-02 1.309763399743803e-02 + 1.309012083240218e-02 1.308260148524151e-02 1.307507595779872e-02 1.306754423810231e-02 1.306000633130083e-02 + 1.305246225068735e-02 1.304491199415833e-02 1.303735555888092e-02 1.302979294561730e-02 1.302222416114251e-02 + 1.301464920127586e-02 1.300706805512286e-02 1.299948074007148e-02 1.299188726392925e-02 1.298428761376350e-02 + 1.297668178953030e-02 1.296906979917289e-02 1.296145165196894e-02 1.295382733572278e-02 1.294619684321666e-02 + 1.293856019418804e-02 1.293091739361701e-02 1.292326843600229e-02 1.291561331594024e-02 1.290795203962965e-02 + 1.290028461406370e-02 1.289261102589192e-02 1.288493127982097e-02 1.287724539399148e-02 1.286955336728896e-02 + 1.286185519483855e-02 1.285415087393522e-02 1.284644040779901e-02 1.283872379943217e-02 1.283100105007112e-02 + 1.282327216499671e-02 1.281553714651719e-02 1.280779599126801e-02 1.280004870582322e-02 1.279229529551004e-02 + 1.278453575462785e-02 1.277677008230648e-02 1.276899828322272e-02 1.276122036637128e-02 1.275343633303281e-02 + 1.274564618082443e-02 1.273784991358546e-02 1.273004753391990e-02 1.272223904101719e-02 1.271442442957637e-02 + 1.270660370794978e-02 1.269877689384363e-02 1.269094397773904e-02 1.268310495443295e-02 1.267525983383190e-02 + 1.266740862159357e-02 1.265955131610305e-02 1.265168790986125e-02 1.264381841321034e-02 1.263594283614933e-02 + 1.262806117310012e-02 1.262017342951705e-02 1.261227961209872e-02 1.260437971406514e-02 1.259647373729069e-02 + 1.258856168925583e-02 1.258064357239260e-02 1.257271939240096e-02 1.256478915520078e-02 1.255685285459754e-02 + 1.254891049173029e-02 1.254096207570647e-02 1.253300760376554e-02 1.252504707668881e-02 1.251708050378790e-02 + 1.250910789128773e-02 1.250112924190730e-02 1.249314455497329e-02 1.248515382942968e-02 1.247715706626537e-02 + 1.246915427066142e-02 1.246114545004359e-02 1.245313061093009e-02 1.244510975519442e-02 1.243708288271855e-02 + 1.242904999334644e-02 1.242101108960597e-02 1.241296617602342e-02 1.240491525784085e-02 1.239685833832253e-02 + 1.238879542265411e-02 1.238072651672425e-02 1.237265161832934e-02 1.236457072972670e-02 1.235648385971585e-02 + 1.234839100475330e-02 1.234029216644840e-02 1.233218735967670e-02 1.232407658450629e-02 1.231595983825897e-02 + 1.230783712734204e-02 1.229970846199802e-02 1.229157384500942e-02 1.228343326032102e-02 1.227528672233900e-02 + 1.226713425500730e-02 1.225897584359588e-02 1.225081148758153e-02 1.224264120133804e-02 1.223446498720786e-02 + 1.222628284514866e-02 1.221809477711035e-02 1.220990079161559e-02 1.220170089405064e-02 1.219349508434973e-02 + 1.218528336781141e-02 1.217706575082829e-02 1.216884223701085e-02 1.216061282093886e-02 1.215237750559525e-02 + 1.214413631491834e-02 1.213588924765066e-02 1.212763629639266e-02 1.211937747504947e-02 1.211111278696468e-02 + 1.210284222899338e-02 1.209456580676226e-02 1.208628352659129e-02 1.207799539529086e-02 1.206970142400196e-02 + 1.206140161359375e-02 1.205309595715539e-02 1.204478446558403e-02 1.203646714593309e-02 1.202814399601385e-02 + 1.201981502726849e-02 1.201148024892713e-02 1.200313965960066e-02 1.199479326438714e-02 1.198644106975963e-02 + 1.197808307814890e-02 1.196971928979660e-02 1.196134970757412e-02 1.195297434273665e-02 1.194459320579336e-02 + 1.193620630286995e-02 1.192781363156250e-02 1.191941519457288e-02 1.191101099930699e-02 1.190260104978759e-02 + 1.189418535108248e-02 1.188576391078268e-02 1.187733673904143e-02 1.186890383909906e-02 1.186046520717658e-02 + 1.185202085452967e-02 1.184357078721630e-02 1.183511499765447e-02 1.182665350164435e-02 1.181818631619212e-02 + 1.180971343948878e-02 1.180123487113532e-02 1.179275061618258e-02 1.178426068678883e-02 1.177576508273127e-02 + 1.176726380098327e-02 1.175875685721244e-02 1.175024426443667e-02 1.174172602804813e-02 1.173320214474543e-02 + 1.172467261918110e-02 1.171613746318596e-02 1.170759667473828e-02 1.169905025976067e-02 1.169049823639713e-02 + 1.168194060529573e-02 1.167337736787376e-02 1.166480853596695e-02 1.165623411322526e-02 1.164765410079015e-02 + 1.163906850325271e-02 1.163047732858534e-02 1.162188058835008e-02 1.161327829716097e-02 1.160467045202270e-02 + 1.159605704763531e-02 1.158743810702480e-02 1.157881363156412e-02 1.157018361041755e-02 1.156154807040710e-02 + 1.155290702254676e-02 1.154426045745637e-02 1.153560838867705e-02 1.152695082724772e-02 1.151828777265603e-02 + 1.150961922666123e-02 1.150094519786783e-02 1.149226570234640e-02 1.148358074611148e-02 1.147489033148848e-02 + 1.146619446355201e-02 1.145749315215113e-02 1.144878640491215e-02 1.144007421936342e-02 1.143135660500108e-02 + 1.142263357779597e-02 1.141390514531738e-02 1.140517131031360e-02 1.139643207471360e-02 1.138768744746770e-02 + 1.137893743736065e-02 1.137018205114591e-02 1.136142129485616e-02 1.135265517811921e-02 1.134388371322748e-02 + 1.133510690045416e-02 1.132632474439678e-02 1.131753726104511e-02 1.130874445081251e-02 1.129994631541456e-02 + 1.129114287234474e-02 1.128233413053084e-02 1.127352009524980e-02 1.126470077646612e-02 1.125587617975814e-02 + 1.124704630615814e-02 1.123821115477194e-02 1.122937074388692e-02 1.122052509984340e-02 1.121167421843202e-02 + 1.120281809651728e-02 1.119395674175946e-02 1.118509017235879e-02 1.117621839625571e-02 1.116734140890626e-02 + 1.115845922925729e-02 1.114957187162777e-02 1.114067933143962e-02 1.113178161769016e-02 1.112287874451852e-02 + 1.111397072153178e-02 1.110505754694771e-02 1.109613922373310e-02 1.108721577854856e-02 1.107828721826434e-02 + 1.106935353946150e-02 1.106041475521090e-02 1.105147087839408e-02 1.104252191603393e-02 1.103356786436798e-02 + 1.102460873384026e-02 1.101564454870664e-02 1.100667531791245e-02 1.099770104268406e-02 1.098872172333136e-02 + 1.097973737703280e-02 1.097074801492989e-02 1.096175363206450e-02 1.095275424291130e-02 1.094374986633713e-02 + 1.093474051123777e-02 1.092572618232803e-02 1.091670688531980e-02 1.090768263148204e-02 1.089865342255811e-02 + 1.088961926240844e-02 1.088058018050034e-02 1.087153618780464e-02 1.086248727940419e-02 1.085343346361914e-02 + 1.084437475261139e-02 1.083531115780061e-02 1.082624268419920e-02 1.081716934144050e-02 1.080809114559821e-02 + 1.079900810312026e-02 1.078992022093278e-02 1.078082751184906e-02 1.077172998533364e-02 1.076262764813011e-02 + 1.075352050586474e-02 1.074440857092024e-02 1.073529185762834e-02 1.072617037570664e-02 1.071704413251609e-02 + 1.070791313635956e-02 1.069877740113652e-02 1.068963693244828e-02 1.068049173224424e-02 1.067134181766250e-02 + 1.066218720670161e-02 1.065302791162099e-02 1.064386393117340e-02 1.063469527249458e-02 1.062552195483164e-02 + 1.061634397913101e-02 1.060716135205155e-02 1.059797409807024e-02 1.058878223029125e-02 1.057958575437316e-02 + 1.057038467384018e-02 1.056117900039964e-02 1.055196874533382e-02 1.054275390960051e-02 1.053353451406393e-02 + 1.052431058354873e-02 1.051508211263400e-02 1.050584910821505e-02 1.049661158906674e-02 1.048736956269110e-02 + 1.047812303544552e-02 1.046887201730896e-02 1.045961652742825e-02 1.045035657823219e-02 1.044109217270465e-02 + 1.043182332652317e-02 1.042255005238709e-02 1.041327235213399e-02 1.040399023555266e-02 1.039470371859749e-02 + 1.038541282005145e-02 1.037611754740451e-02 1.036681790639924e-02 1.035751391340543e-02 1.034820558036888e-02 + 1.033889291336949e-02 1.032957591435120e-02 1.032025460242317e-02 1.031092900384275e-02 1.030159911688449e-02 + 1.029226495054825e-02 1.028292652729243e-02 1.027358385071069e-02 1.026423692589549e-02 1.025488576741323e-02 + 1.024553039300053e-02 1.023617081698821e-02 1.022680704740226e-02 1.021743909457171e-02 1.020806697035185e-02 + 1.019869068658227e-02 1.018931025066223e-02 1.017992567348438e-02 1.017053697875713e-02 1.016114417776936e-02 + 1.015174727399650e-02 1.014234627700861e-02 1.013294120450803e-02 1.012353207457940e-02 1.011411888599992e-02 + 1.010470164920459e-02 1.009528038851809e-02 1.008585511657422e-02 1.007642584330934e-02 1.006699257991301e-02 + 1.005755533847607e-02 1.004811412861271e-02 1.003866895746225e-02 1.002921984502842e-02 1.001976681035788e-02 + 1.001030986009602e-02 1.000084900502786e-02 9.991384259025663e-03 9.981915635495017e-03 9.972443141719819e-03 + 9.962966786689603e-03 9.953486595586885e-03 9.944002583039199e-03 9.934514754395770e-03 9.925023122335749e-03 + 9.915527701693664e-03 9.906028505794947e-03 9.896525539473492e-03 9.887018817044350e-03 9.877508364713565e-03 + 9.867994191756903e-03 9.858476305769829e-03 9.848954721540815e-03 9.839429453723526e-03 9.829900512927632e-03 + 9.820367904529967e-03 9.810831649938153e-03 9.801291772225836e-03 9.791748277276684e-03 9.782201174956444e-03 + 9.772650480173910e-03 9.763096209214261e-03 9.753538370443265e-03 9.743976971083063e-03 9.734412038356991e-03 + 9.724843589152831e-03 9.715271627378256e-03 9.705696167153652e-03 9.696117225097080e-03 9.686534815487291e-03 + 9.676948943754414e-03 9.667359623576509e-03 9.657766883492007e-03 9.648170733986708e-03 9.638571181819185e-03 + 9.628968243024477e-03 9.619361933494769e-03 9.609752265452595e-03 9.600139245296816e-03 9.590522893495216e-03 + 9.580903234511828e-03 9.571280275331249e-03 9.561654026946651e-03 9.552024506017841e-03 9.542391727779683e-03 + 9.532755702177183e-03 9.523116437885958e-03 9.513473960404769e-03 9.503828289303256e-03 9.494179431678001e-03 + 9.484527400058637e-03 9.474872210511853e-03 9.465213879778082e-03 9.455552415295903e-03 9.445887829718797e-03 + 9.436220151655284e-03 9.426549394486200e-03 9.416875565725477e-03 9.407198681221749e-03 9.397518758018270e-03 + 9.387835810148322e-03 9.378149843813783e-03 9.368460878589471e-03 9.358768941430739e-03 9.349074041571485e-03 + 9.339376189353358e-03 9.329675400879622e-03 9.319971694171958e-03 9.310265081086165e-03 9.300555568605354e-03 + 9.290843182951191e-03 9.281127946492163e-03 9.271409865969660e-03 9.261688954922952e-03 9.251965230660204e-03 + 9.242238709904914e-03 9.232509401801155e-03 9.222777318787652e-03 9.213042489474691e-03 9.203304930168641e-03 + 9.193564649383718e-03 9.183821661973759e-03 9.174075985705271e-03 9.164327637046287e-03 9.154576623077591e-03 + 9.144822962285418e-03 9.135066683045857e-03 9.125307796249328e-03 9.115546312613307e-03 9.105782249286811e-03 + 9.096015624756502e-03 9.086246452281876e-03 9.076474739187750e-03 9.066700510968253e-03 9.056923792083085e-03 + 9.047144590189744e-03 9.037362919662660e-03 9.027578799121916e-03 9.017792245480461e-03 9.008003268928564e-03 + 8.998211881680073e-03 8.988418113610518e-03 8.978621982540696e-03 8.968823496265647e-03 8.959022672124209e-03 + 8.949219528590024e-03 8.939414081469170e-03 8.929606339864140e-03 8.919796321979990e-03 8.909984056877767e-03 + 8.900169557867096e-03 8.890352835957138e-03 8.880533907981049e-03 8.870712793191068e-03 8.860889506593549e-03 + 8.851064055633283e-03 8.841236465905915e-03 8.831406764712287e-03 8.821574959648875e-03 8.811741064546590e-03 + 8.801905099237244e-03 8.792067082696866e-03 8.782227026145442e-03 8.772384940188230e-03 8.762540855386065e-03 + 8.752694792574688e-03 8.742846759945761e-03 8.732996774006149e-03 8.723144854408183e-03 8.713291019755398e-03 + 8.703435278608567e-03 8.693577647775636e-03 8.683718159456632e-03 8.673856827661263e-03 8.663993662505663e-03 + 8.654128683145933e-03 8.644261909320558e-03 8.634393356690426e-03 8.624523033451901e-03 8.614650964506795e-03 + 8.604777179373340e-03 8.594901686657006e-03 8.585024500118565e-03 8.575145640490715e-03 8.565265126670765e-03 + 8.555382971806235e-03 8.545499187654319e-03 8.535613803632294e-03 8.525726842250045e-03 8.515838312646278e-03 + 8.505948232174527e-03 8.496056621077198e-03 8.486163497882877e-03 8.476268872748003e-03 8.466372762116349e-03 + 8.456475199094931e-03 8.446576199856061e-03 8.436675774300739e-03 8.426773941795081e-03 8.416870722731803e-03 + 8.406966134358667e-03 8.397060186389057e-03 8.387152901959176e-03 8.377244311160385e-03 8.367334425300299e-03 + 8.357423258296441e-03 8.347510830980188e-03 8.337597163605794e-03 8.327682270401855e-03 8.317766161869340e-03 + 8.307848867754637e-03 8.297930413816063e-03 8.288010810083676e-03 8.278090072673102e-03 8.268168221765407e-03 + 8.258245278027963e-03 8.248321253600945e-03 8.238396163758082e-03 8.228470040664376e-03 8.218542903042886e-03 + 8.208614761992156e-03 8.198685637447353e-03 8.188755549837494e-03 8.178824516773604e-03 8.168892549578916e-03 + 8.158959670459199e-03 8.149025910256038e-03 8.139091282816925e-03 8.129155801857130e-03 8.119219487437710e-03 + 8.109282361690508e-03 8.099344440765549e-03 8.089405733754036e-03 8.079466270417937e-03 8.069526079135253e-03 + 8.059585169010465e-03 8.049643556954327e-03 8.039701265060109e-03 8.029758314127560e-03 8.019814717074126e-03 + 8.009870488264625e-03 7.999925660293698e-03 7.989980254561855e-03 7.980034282561204e-03 7.970087763203990e-03 + 7.960140717914167e-03 7.950193166721423e-03 7.940245120231920e-03 7.930296599391260e-03 7.920347637831796e-03 + 7.910398250263278e-03 7.900448449763646e-03 7.890498257622273e-03 7.880547695356892e-03 7.870596780430528e-03 + 7.860645524802819e-03 7.850693955430419e-03 7.840742100859013e-03 7.830789973961963e-03 7.820837591210042e-03 + 7.810884973654219e-03 7.800932143705464e-03 7.790979115476222e-03 7.781025902060369e-03 7.771072537550891e-03 + 7.761119045304192e-03 7.751165435253132e-03 7.741211727248220e-03 7.731257943744334e-03 7.721304105116559e-03 + 7.711350222852130e-03 7.701396316987202e-03 7.691442422531397e-03 7.681488555826352e-03 7.671534729460651e-03 + 7.661580965493510e-03 7.651627286213397e-03 7.641673709645761e-03 7.631720246474624e-03 7.621766924002147e-03 + 7.611813774300424e-03 7.601860809420407e-03 7.591908045212342e-03 7.581955503946372e-03 7.572003208680656e-03 + 7.562051174726026e-03 7.552099414296815e-03 7.542147961065804e-03 7.532196840825635e-03 7.522246063843738e-03 + 7.512295650102864e-03 7.502345622322073e-03 7.492396000716249e-03 7.482446799189802e-03 7.472498037196947e-03 + 7.462549747897286e-03 7.452601950331629e-03 7.442654658211039e-03 7.432707892744488e-03 7.422761676416634e-03 + 7.412816028768508e-03 7.402870961455420e-03 7.392926500328647e-03 7.382982678429822e-03 7.373039508794957e-03 + 7.363097007225734e-03 7.353155196864952e-03 7.343214100532815e-03 7.333273734782904e-03 7.323334112197604e-03 + 7.313395265021593e-03 7.303457220900774e-03 7.293519991033275e-03 7.283583594600794e-03 7.273648054943689e-03 + 7.263713394446934e-03 7.253779626580373e-03 7.243846768480717e-03 7.233914855435080e-03 7.223983908518886e-03 + 7.214053940460562e-03 7.204124972417771e-03 7.194197027491048e-03 7.184270126394881e-03 7.174344280726286e-03 + 7.164419514784642e-03 7.154495863236941e-03 7.144573340914020e-03 7.134651962993328e-03 7.124731752265264e-03 + 7.114812732100897e-03 7.104894920638768e-03 7.094978330575343e-03 7.085062992246606e-03 7.075148934793896e-03 + 7.065236171017366e-03 7.055324719420953e-03 7.045414603125002e-03 7.035505845669364e-03 7.025598461448587e-03 + 7.015692466009597e-03 7.005787894887785e-03 6.995884771371198e-03 6.985983107977662e-03 6.976082925249031e-03 + 6.966184246523457e-03 6.956287093797063e-03 6.946391479271966e-03 6.936497425652844e-03 6.926604968509339e-03 + 6.916714124366364e-03 6.906824907731460e-03 6.896937340931554e-03 6.887051448149962e-03 6.877167248699087e-03 + 6.867284753979424e-03 6.857403994050719e-03 6.847525000658012e-03 6.837647785670592e-03 6.827772367409923e-03 + 6.817898770109592e-03 6.808027016717447e-03 6.798157122708669e-03 6.788289103240300e-03 6.778422992931511e-03 + 6.768558816798320e-03 6.758696587557012e-03 6.748836325648165e-03 6.738978054348659e-03 6.729121795949092e-03 + 6.719267563927435e-03 6.709415379633438e-03 6.699565278400954e-03 6.689717278120727e-03 6.679871393303892e-03 + 6.670027647355804e-03 6.660186063525513e-03 6.650346660981845e-03 6.640509452367944e-03 6.630674466396449e-03 + 6.620841735868644e-03 6.611011273308148e-03 6.601183096392477e-03 6.591357229649247e-03 6.581533696087914e-03 + 6.571712512145987e-03 6.561893692372858e-03 6.552077270290561e-03 6.542263272668194e-03 6.532451712617284e-03 + 6.522642609933696e-03 6.512835987879551e-03 6.503031869590782e-03 6.493230268870023e-03 6.483431205156500e-03 + 6.473634714105858e-03 6.463840816056773e-03 6.454049525191551e-03 6.444260863046832e-03 6.434474853362258e-03 + 6.424691517208967e-03 6.414910866799055e-03 6.405132928351729e-03 6.395357735592168e-03 6.385585303753894e-03 + 6.375815649717760e-03 6.366048796411005e-03 6.356284767471845e-03 6.346523580477974e-03 6.336765248927921e-03 + 6.327009805730009e-03 6.317257279178600e-03 6.307507681412946e-03 6.297761032647583e-03 6.288017356862164e-03 + 6.278276676438099e-03 6.268539005625230e-03 6.258804362658888e-03 6.249072783406197e-03 6.239344289504087e-03 + 6.229618894349891e-03 6.219896619699197e-03 6.210177489065160e-03 6.200461523673893e-03 6.190748736475173e-03 + 6.181039151999554e-03 6.171332804226705e-03 6.161629709556120e-03 6.151929884103313e-03 6.142233350147177e-03 + 6.132540131644584e-03 6.122850247356021e-03 6.113163710170625e-03 6.103480551213418e-03 6.093800800141988e-03 + 6.084124469547710e-03 6.074451578566364e-03 6.064782150905211e-03 6.055116209626953e-03 6.045453769994722e-03 + 6.035794848740185e-03 6.026139480474754e-03 6.016487688229946e-03 6.006839485237500e-03 5.997194892776407e-03 + 5.987553934341584e-03 5.977916631713333e-03 5.968282997802390e-03 5.958653055343909e-03 5.949026838944569e-03 + 5.939404365780911e-03 5.929785651209331e-03 5.920170717549854e-03 5.910559587858684e-03 5.900952281370824e-03 + 5.891348811852907e-03 5.881749208142844e-03 5.872153500225121e-03 5.862561701850070e-03 5.852973831530551e-03 + 5.843389912374926e-03 5.833809966833203e-03 5.824234011006907e-03 5.814662060999971e-03 5.805094150375409e-03 + 5.795530303292347e-03 5.785970532524381e-03 5.776414859211175e-03 5.766863306294991e-03 5.757315894674337e-03 + 5.747772638659374e-03 5.738233559732430e-03 5.728698691311226e-03 5.719168051719483e-03 5.709641656042984e-03 + 5.700119526414031e-03 5.690601685377130e-03 5.681088152168133e-03 5.671578940158426e-03 5.662074076665564e-03 + 5.652573592801510e-03 5.643077502877857e-03 5.633585823810169e-03 5.624098577633230e-03 5.614615788052954e-03 + 5.605137471831965e-03 5.595663642810052e-03 5.586194333773162e-03 5.576729570469775e-03 5.567269364923084e-03 + 5.557813736696195e-03 5.548362708847973e-03 5.538916303890826e-03 5.529474534822445e-03 5.520037420561356e-03 + 5.510604996543656e-03 5.501177281279281e-03 5.491754287530179e-03 5.482336037985177e-03 5.472922555453679e-03 + 5.463513859119052e-03 5.454109961206277e-03 5.444710887376439e-03 5.435316669896643e-03 5.425927322428118e-03 + 5.416542861379438e-03 5.407163309793553e-03 5.397788689388935e-03 5.388419016905312e-03 5.379054306533677e-03 + 5.369694588817857e-03 5.360339890208465e-03 5.350990223294556e-03 5.341645606645782e-03 5.332306062415535e-03 + 5.322971612709802e-03 5.313642271564683e-03 5.304318056285795e-03 5.294999000250198e-03 5.285685123732157e-03 + 5.276376439554206e-03 5.267072968338082e-03 5.257774732353860e-03 5.248481751732874e-03 5.239194038865901e-03 + 5.229911616755654e-03 5.220634516968343e-03 5.211362754853240e-03 5.202096346092698e-03 5.192835312362628e-03 + 5.183579674966123e-03 5.174329450821569e-03 5.165084652994387e-03 5.155845310548846e-03 5.146611450951191e-03 + 5.137383086378589e-03 5.128160234647254e-03 5.118942917508807e-03 5.109731156137037e-03 5.100524965000140e-03 + 5.091324360054826e-03 5.082129373049942e-03 5.072940025255639e-03 5.063756329149303e-03 5.054578304260502e-03 + 5.045405972366202e-03 5.036239353680495e-03 5.027078459118392e-03 5.017923310123222e-03 5.008773940483098e-03 + 4.999630364315774e-03 4.990492594829337e-03 4.981360654331298e-03 4.972234563790402e-03 4.963114339923834e-03 + 4.953999995020500e-03 4.944891556281875e-03 4.935789051765770e-03 4.926692493194353e-03 4.917601897109304e-03 + 4.908517284729773e-03 4.899438676825864e-03 4.890366088012707e-03 4.881299532722441e-03 4.872239041569468e-03 + 4.863184636415129e-03 4.854136328649667e-03 4.845094137498133e-03 4.836058083872883e-03 4.827028186746977e-03 + 4.818004458681770e-03 4.808986918914880e-03 4.799975597861264e-03 4.790970512088721e-03 4.781971675128856e-03 + 4.772979106768043e-03 4.763992827229902e-03 4.755012853632298e-03 4.746039197549013e-03 4.737071883993436e-03 + 4.728110941197518e-03 4.719156380399636e-03 4.710208217424537e-03 4.701266473663848e-03 4.692331168251817e-03 + 4.683402315353613e-03 4.674479928383867e-03 4.665564036556664e-03 4.656654662394768e-03 4.647751816371710e-03 + 4.638855516650367e-03 4.629965783672686e-03 4.621082635909843e-03 4.612206084994354e-03 4.603336148102954e-03 + 4.594472856159325e-03 4.585616225744373e-03 4.576766268345947e-03 4.567923003199363e-03 4.559086450091263e-03 + 4.550256626033265e-03 4.541433541986122e-03 4.532617220194613e-03 4.523807688535670e-03 4.515004959722835e-03 + 4.506209047920159e-03 4.497419972185719e-03 4.488637751873642e-03 4.479862401381760e-03 4.471093932025212e-03 + 4.462332371280023e-03 4.453577742726973e-03 4.444830056583276e-03 4.436089328917552e-03 4.427355578888171e-03 + 4.418628824988929e-03 4.409909078668640e-03 4.401196354933857e-03 4.392490684030716e-03 4.383792083151365e-03 + 4.375100562120779e-03 4.366416138313078e-03 4.357738831525952e-03 4.349068659591380e-03 4.340405630957790e-03 + 4.331749765364269e-03 4.323101091949651e-03 4.314459623208851e-03 4.305825371349630e-03 4.297198354190413e-03 + 4.288578590720092e-03 4.279966095343473e-03 4.271360877578565e-03 4.262762963097229e-03 4.254172376200769e-03 + 4.245589126222103e-03 4.237013227440267e-03 4.228444697962537e-03 4.219883556022182e-03 4.211329813254019e-03 + 4.202783482548908e-03 4.194244591796649e-03 4.185713159116739e-03 4.177189194188086e-03 4.168672712320958e-03 + 4.160163731860882e-03 4.151662270610665e-03 4.143168336754119e-03 4.134681947397693e-03 4.126203130809124e-03 + 4.117731899759874e-03 4.109268265260960e-03 4.100812244167818e-03 4.092363854125291e-03 4.083923109325604e-03 + 4.075490018959178e-03 4.067064605609816e-03 4.058646892914489e-03 4.050236890474988e-03 4.041834611549669e-03 + 4.033440073099425e-03 4.025053291802670e-03 4.016674279190388e-03 4.008303046950822e-03 3.999939621219669e-03 + 3.991584019864232e-03 3.983236251035503e-03 3.974896329846703e-03 3.966564273682151e-03 3.958240098637734e-03 + 3.949923812376889e-03 3.941615430268695e-03 3.933314980874398e-03 3.925022475755094e-03 3.916737923312982e-03 + 3.908461340476090e-03 3.900192744628528e-03 3.891932149238224e-03 3.883679560814138e-03 3.875435000263637e-03 + 3.867198492508630e-03 3.858970045729460e-03 3.850749670926077e-03 3.842537384120139e-03 3.834333202377867e-03 + 3.826137136626801e-03 3.817949195349815e-03 3.809769403427763e-03 3.801597779587331e-03 3.793434330750140e-03 + 3.785279069923421e-03 3.777132013373491e-03 3.768993177352847e-03 3.760862568898475e-03 3.752740200334732e-03 + 3.744626099044159e-03 3.736520277340854e-03 3.728422742215669e-03 3.720333508785603e-03 3.712252593018920e-03 + 3.704180008090329e-03 3.696115760631814e-03 3.688059868276574e-03 3.680012354362612e-03 3.671973228138760e-03 + 3.663942499526064e-03 3.655920182566113e-03 3.647906292785413e-03 3.639900840938008e-03 3.631903834337251e-03 + 3.623915295229000e-03 3.615935242250758e-03 3.607963681828620e-03 3.600000626081414e-03 3.592046089865790e-03 + 3.584100087061132e-03 3.576162625323692e-03 3.568233715505030e-03 3.560313381862740e-03 3.552401637255495e-03 + 3.544498488187401e-03 3.536603947761108e-03 3.528718030587010e-03 3.520840749407267e-03 3.512972109975055e-03 + 3.505112127471606e-03 3.497260824593953e-03 3.489418209893856e-03 3.481584291815555e-03 3.473759083632174e-03 + 3.465942599385497e-03 3.458134849136788e-03 3.450335838875430e-03 3.442545588595099e-03 3.434764116831954e-03 + 3.426991428902786e-03 3.419227535146918e-03 3.411472449427477e-03 3.403726185233638e-03 3.395988749408295e-03 + 3.388260149964055e-03 3.380540409506120e-03 3.372829541439428e-03 3.365127551327278e-03 3.357434450344299e-03 + 3.349750251864305e-03 3.342074968176267e-03 3.334408603200120e-03 3.326751169911567e-03 3.319102691777129e-03 + 3.311463175183513e-03 3.303832626198486e-03 3.296211059114474e-03 3.288598486024217e-03 3.280994915398627e-03 + 3.273400352769854e-03 3.265814815709593e-03 3.258238322074859e-03 3.250670876135365e-03 3.243112486983179e-03 + 3.235563167624456e-03 3.228022929479646e-03 3.220491779361285e-03 3.212969724272006e-03 3.205456783570964e-03 + 3.197952970426890e-03 3.190458290104943e-03 3.182972751519780e-03 3.175496366385864e-03 3.168029146873250e-03 + 3.160571096621216e-03 3.153122225636278e-03 3.145682555500280e-03 3.138252093348739e-03 3.130830843615626e-03 + 3.123418817816768e-03 3.116016027518625e-03 3.108622481356378e-03 3.101238183229207e-03 3.093863147897005e-03 + 3.086497392737253e-03 3.079140921752824e-03 3.071793741871484e-03 3.064455864252268e-03 3.057127299904285e-03 + 3.049808055146270e-03 3.042498134791386e-03 3.035197556645182e-03 3.027906333235584e-03 3.020624467536793e-03 + 3.013351968343262e-03 3.006088846580162e-03 2.998835112089031e-03 2.991590768047797e-03 2.984355822285627e-03 + 2.977130294631421e-03 2.969914192263928e-03 2.962707518230782e-03 2.955510282832787e-03 2.948322496039390e-03 + 2.941144165204636e-03 2.933975293458325e-03 2.926815893073326e-03 2.919665980487675e-03 2.912525559332239e-03 + 2.905394635071103e-03 2.898273217656210e-03 2.891161316595433e-03 2.884058936906487e-03 2.876966081111658e-03 + 2.869882766189157e-03 2.862809005041444e-03 2.855744798230348e-03 2.848690153100023e-03 2.841645079496137e-03 + 2.834609585256340e-03 2.827583673848185e-03 2.820567351490293e-03 2.813560634590312e-03 2.806563530531927e-03 + 2.799576041999259e-03 2.792598177467573e-03 2.785629945309582e-03 2.778671351607254e-03 2.771722398039775e-03 + 2.764783095014263e-03 2.757853459091809e-03 2.750933492568204e-03 2.744023198517816e-03 2.737122585640385e-03 + 2.730231662189404e-03 2.723350432970404e-03 2.716478899800820e-03 2.709617075896625e-03 2.702764973241287e-03 + 2.695922593060963e-03 2.689089940152226e-03 2.682267022316270e-03 2.675453847914084e-03 2.668650418902243e-03 + 2.661856738145520e-03 2.655072822033232e-03 2.648298678030288e-03 2.641534306206961e-03 2.634779712258937e-03 + 2.628034904058933e-03 2.621299888635041e-03 2.614574665771587e-03 2.607859242632423e-03 2.601153634957146e-03 + 2.594457844452072e-03 2.587771872555374e-03 2.581095727373358e-03 2.574429415266960e-03 2.567772939497474e-03 + 2.561126300777387e-03 2.554489510835181e-03 2.547862581281132e-03 2.541245510713479e-03 2.534638303078699e-03 + 2.528040966193904e-03 2.521453505493298e-03 2.514875922225054e-03 2.508308218200437e-03 2.501750407164573e-03 + 2.495202496081871e-03 2.488664484118587e-03 2.482136376281468e-03 2.475618178705269e-03 2.469109895957427e-03 + 2.462611527825166e-03 2.456123079328407e-03 2.449644563898542e-03 2.443175984269443e-03 2.436717340526153e-03 + 2.430268636964234e-03 2.423829879853036e-03 2.417401073311931e-03 2.410982215756923e-03 2.404573315098301e-03 + 2.398174382071132e-03 2.391785416912405e-03 2.385406421217447e-03 2.379037399546287e-03 2.372678357701878e-03 + 2.366329296305038e-03 2.359990214012962e-03 2.353661123666590e-03 2.347342032379030e-03 2.341032936953993e-03 + 2.334733840455562e-03 2.328444748068140e-03 2.322165663885325e-03 2.315896586946297e-03 2.309637519733881e-03 + 2.303388473653537e-03 2.297149451184649e-03 2.290920451297887e-03 2.284701476927273e-03 2.278492533074980e-03 + 2.272293622898508e-03 2.266104742447669e-03 2.259925897918875e-03 2.253757100645447e-03 2.247598348619136e-03 + 2.241449641489242e-03 2.235310983406359e-03 2.229182378556762e-03 2.223063827011661e-03 2.216955326220785e-03 + 2.210856885615230e-03 2.204768511855369e-03 2.198690202073136e-03 2.192621957162963e-03 2.186563780523993e-03 + 2.180515675851768e-03 2.174477640514074e-03 2.168449674335647e-03 2.162431789038673e-03 2.156423986093689e-03 + 2.150426261719325e-03 2.144438618887063e-03 2.138461061015507e-03 2.132493589319895e-03 2.126536199820428e-03 + 2.120588896234097e-03 2.114651688169617e-03 2.108724573757348e-03 2.102807551461262e-03 2.096900623831682e-03 + 2.091003792760502e-03 2.085117057433877e-03 2.079240415028002e-03 2.073373872799373e-03 2.067517436442142e-03 + 2.061671101563673e-03 2.055834867994772e-03 2.050008738194652e-03 2.044192713868095e-03 2.038386792128391e-03 + 2.032590971333173e-03 2.026805260662020e-03 2.021029661329869e-03 2.015264168518725e-03 2.009508783500123e-03 + 2.003763508166370e-03 1.998028342654997e-03 1.992303282805534e-03 1.986588330078225e-03 1.980883492165770e-03 + 1.975188767039759e-03 1.969504151730439e-03 1.963829647004430e-03 1.958165254218237e-03 1.952510971963634e-03 + 1.946866794889960e-03 1.941232728159857e-03 1.935608777640074e-03 1.929994938329363e-03 1.924391207914093e-03 + 1.918797587114099e-03 1.913214077256622e-03 1.907640674795718e-03 1.902077375557082e-03 1.896524186430478e-03 + 1.890981108949087e-03 1.885448138032121e-03 1.879925272541809e-03 1.874412513138102e-03 1.868909859971047e-03 + 1.863417306389931e-03 1.857934851379391e-03 1.852462503653811e-03 1.847000259754348e-03 1.841548114039762e-03 + 1.836106066817225e-03 1.830674118529854e-03 1.825252266916765e-03 1.819840505202892e-03 1.814438836319749e-03 + 1.809047265638602e-03 1.803665787133681e-03 1.798294397101445e-03 1.792933095135866e-03 1.787581880369786e-03 + 1.782240749155103e-03 1.776909697172910e-03 1.771588728179710e-03 1.766277842767543e-03 1.760977035675204e-03 + 1.755686304337379e-03 1.750405647484752e-03 1.745135063548007e-03 1.739874546386865e-03 1.734624093589025e-03 + 1.729383711586370e-03 1.724153396315838e-03 1.718933140719367e-03 1.713722944309894e-03 1.708522806163372e-03 + 1.703332722978997e-03 1.698152687791741e-03 1.692982700783420e-03 1.687822765464940e-03 1.682672875794938e-03 + 1.677533027054054e-03 1.672403217813849e-03 1.667283446525115e-03 1.662173708173832e-03 1.657073995739192e-03 + 1.651984312946546e-03 1.646904660364047e-03 1.641835029387390e-03 1.636775416468660e-03 1.631725820220986e-03 + 1.626686238226539e-03 1.621656663682810e-03 1.616637091835148e-03 1.611627526662728e-03 1.606627964700548e-03 + 1.601638398623349e-03 1.596658825754688e-03 1.591689243408400e-03 1.586729647378206e-03 1.581780030725023e-03 + 1.576840391697073e-03 1.571910732264727e-03 1.566991046477593e-03 1.562081328242421e-03 1.557181574037859e-03 + 1.552291781114454e-03 1.547411944138861e-03 1.542542055154552e-03 1.537682115822498e-03 1.532832126356767e-03 + 1.527992077470792e-03 1.523161963747274e-03 1.518341782422417e-03 1.513531530571088e-03 1.508731200913292e-03 + 1.503940786876937e-03 1.499160290964809e-03 1.494389709200610e-03 1.489629032745148e-03 1.484878257820629e-03 + 1.480137381279299e-03 1.475406398389162e-03 1.470685299850305e-03 1.465974082141071e-03 1.461272748080975e-03 + 1.456581290224651e-03 1.451899700275850e-03 1.447227974089072e-03 1.442566108566721e-03 1.437914097994959e-03 + 1.433271932504185e-03 1.428639611034298e-03 1.424017133356480e-03 1.419404490680891e-03 1.414801676491448e-03 + 1.410208686553135e-03 1.405625516589791e-03 1.401052158609908e-03 1.396488604511052e-03 1.391934855472548e-03 + 1.387390907364871e-03 1.382856750165021e-03 1.378332378783991e-03 1.373817788890047e-03 1.369312974750468e-03 + 1.364817927255285e-03 1.360332641059443e-03 1.355857116711623e-03 1.351391347026849e-03 1.346935323100728e-03 + 1.342489039284644e-03 1.338052491255308e-03 1.333625672740901e-03 1.329208572800934e-03 1.324801188462658e-03 + 1.320403519143769e-03 1.316015555822497e-03 1.311637290544184e-03 1.307268717472159e-03 1.302909831116118e-03 + 1.298560623326278e-03 1.294221085253892e-03 1.289891216124110e-03 1.285571011566486e-03 1.281260461060531e-03 + 1.276959557618139e-03 1.272668295740209e-03 1.268386669608614e-03 1.264114669618853e-03 1.259852288349743e-03 + 1.255599524419093e-03 1.251356371085625e-03 1.247122819189722e-03 1.242898861265979e-03 1.238684491359706e-03 + 1.234479702756933e-03 1.230284484841117e-03 1.226098832748256e-03 1.221922744434409e-03 1.217756210326720e-03 + 1.213599221362577e-03 1.209451770765583e-03 1.205313852635065e-03 1.201185458480448e-03 1.197066577985755e-03 + 1.192957208640432e-03 1.188857345511447e-03 1.184766976969275e-03 1.180686095693037e-03 1.176614695732404e-03 + 1.172552769621902e-03 1.168500307042727e-03 1.164457299537124e-03 1.160423745213695e-03 1.156399636114517e-03 + 1.152384961360659e-03 1.148379714206853e-03 1.144383887440774e-03 1.140397472403066e-03 1.136420458871837e-03 + 1.132452840804467e-03 1.128494614815977e-03 1.124545770440235e-03 1.120606297984056e-03 1.116676190709075e-03 + 1.112755440623707e-03 1.108844038267568e-03 1.104941973598277e-03 1.101049242215234e-03 1.097165838523137e-03 + 1.093291750933755e-03 1.089426970747485e-03 1.085571490835547e-03 1.081725303225761e-03 1.077888396808512e-03 + 1.074060761522748e-03 1.070242395009795e-03 1.066433289590875e-03 1.062633433332422e-03 1.058842817553080e-03 + 1.055061434373011e-03 1.051289275348505e-03 1.047526329409495e-03 1.043772588486000e-03 1.040028047931513e-03 + 1.036292698203525e-03 1.032566529042292e-03 1.028849531681517e-03 1.025141697676040e-03 1.021443017315572e-03 + 1.017753479165712e-03 1.014073077446178e-03 1.010401806565697e-03 1.006739654876394e-03 1.003086612170896e-03 + 9.994426698862881e-04 9.958078198244436e-04 9.921820510029489e-04 9.885653522799815e-04 9.849577193159157e-04 + 9.813591440739670e-04 9.777696142556011e-04 9.741891204675346e-04 9.706176542328248e-04 9.670552065524777e-04 + 9.635017651512704e-04 9.599573207794398e-04 9.564218691437683e-04 9.528953995809905e-04 9.493779002331982e-04 + 9.458693621672339e-04 9.423697766254766e-04 9.388791334439822e-04 9.353974200435674e-04 9.319246293443443e-04 + 9.284607555133966e-04 9.250057861419034e-04 9.215597102726345e-04 9.181225189615299e-04 9.146942031524666e-04 + 9.112747514066988e-04 9.078641516289516e-04 9.044623983719834e-04 9.010694834242857e-04 8.976853937790154e-04 + 8.943101192935385e-04 8.909436508104612e-04 8.875859786393426e-04 8.842370902316334e-04 8.808969751654204e-04 + 8.775656281905130e-04 8.742430385918343e-04 8.709291937982416e-04 8.676240840155020e-04 8.643276998573467e-04 + 8.610400308208924e-04 8.577610636611962e-04 8.544907899714905e-04 8.512292035626933e-04 8.479762917886125e-04 + 8.447320428739457e-04 8.414964471843920e-04 8.382694949325988e-04 8.350511744137459e-04 8.318414728923707e-04 + 8.286403836395943e-04 8.254478982373706e-04 8.222640032931049e-04 8.190886878204532e-04 8.159219419987107e-04 + 8.127637556794064e-04 8.096141160179775e-04 8.064730115089579e-04 8.033404360997527e-04 8.002163789609624e-04 + 7.971008268111541e-04 7.939937692507287e-04 7.908951962853333e-04 7.878050969946667e-04 7.847234577702081e-04 + 7.816502689905088e-04 7.785855239466778e-04 7.755292098590464e-04 7.724813142232633e-04 7.694418267842021e-04 + 7.664107372089749e-04 7.633880335334087e-04 7.603737023812342e-04 7.573677358642847e-04 7.543701253849379e-04 + 7.513808572285544e-04 7.483999196962093e-04 7.454273024026923e-04 7.424629947358947e-04 7.395069836664074e-04 + 7.365592567622367e-04 7.336198070174806e-04 7.306886236388442e-04 7.277656929130117e-04 7.248510036837761e-04 + 7.219445453636994e-04 7.190463067357669e-04 7.161562739946586e-04 7.132744364309508e-04 7.104007867132190e-04 + 7.075353120392018e-04 7.046779992824802e-04 7.018288375861283e-04 6.989878161882759e-04 6.961549229362052e-04 + 6.933301438820412e-04 6.905134700383686e-04 6.877048926511914e-04 6.849043978549774e-04 6.821119732944710e-04 + 6.793276080246700e-04 6.765512910034699e-04 6.737830090783149e-04 6.710227490756584e-04 6.682705030776122e-04 + 6.655262603091742e-04 6.627900067379164e-04 6.600617305924390e-04 6.573414207627890e-04 6.546290656955580e-04 + 6.519246513982958e-04 6.492281662548372e-04 6.465396024423735e-04 6.438589471596415e-04 6.411861867028291e-04 + 6.385213096762252e-04 6.358643049114898e-04 6.332151601148890e-04 6.305738609661260e-04 6.279403974635571e-04 + 6.253147606410383e-04 6.226969365620930e-04 6.200869123319087e-04 6.174846765257772e-04 6.148902176504979e-04 + 6.123035224628875e-04 6.097245772740803e-04 6.071533733723410e-04 6.045898999580564e-04 6.020341426510520e-04 + 5.994860891934145e-04 5.969457280748620e-04 5.944130474177512e-04 5.918880332091087e-04 5.893706730594447e-04 + 5.868609584534629e-04 5.843588766665737e-04 5.818644136544619e-04 5.793775576682911e-04 5.768982970317317e-04 + 5.744266191686133e-04 5.719625097277512e-04 5.695059578510202e-04 5.670569542308351e-04 5.646154849082753e-04 + 5.621815365284883e-04 5.597550972743215e-04 5.573361553519681e-04 5.549246974872960e-04 5.525207095632259e-04 + 5.501241820142805e-04 5.477351040267441e-04 5.453534610951853e-04 5.429792405131840e-04 5.406124304314462e-04 + 5.382530187447214e-04 5.359009913605971e-04 5.335563351904396e-04 5.312190411682156e-04 5.288890968140364e-04 + 5.265664878332606e-04 5.242512018091515e-04 5.219432267978740e-04 5.196425502978362e-04 5.173491576918976e-04 + 5.150630373381158e-04 5.127841797796618e-04 5.105125710953982e-04 5.082481974966798e-04 5.059910467933278e-04 + 5.037411069671739e-04 5.014983647643853e-04 4.992628057533249e-04 4.970344196034297e-04 4.948131954905409e-04 + 4.925991188614672e-04 4.903921766298550e-04 4.881923566574878e-04 4.859996466359864e-04 4.838140324815327e-04 + 4.816355005995136e-04 4.794640414647377e-04 4.772996426854546e-04 4.751422896755638e-04 4.729919697488023e-04 + 4.708486707166207e-04 4.687123799720691e-04 4.665830828962369e-04 4.644607671738101e-04 4.623454230212830e-04 + 4.602370366779194e-04 4.581355941018685e-04 4.560410828358216e-04 4.539534906171381e-04 4.518728041821612e-04 + 4.497990089033435e-04 4.477320938149108e-04 4.456720481170030e-04 4.436188572707195e-04 4.415725078895158e-04 + 4.395329875976124e-04 4.375002838422590e-04 4.354743826722610e-04 4.334552702201095e-04 4.314429363226086e-04 + 4.294373687059989e-04 4.274385527576286e-04 4.254464755700176e-04 4.234611247199864e-04 4.214824874479911e-04 + 4.195105492176435e-04 4.175452972239935e-04 4.155867214135851e-04 4.136348082067204e-04 4.116895433467350e-04 + 4.097509141339746e-04 4.078189081189173e-04 4.058935120995524e-04 4.039747114386321e-04 4.020624945699733e-04 + 4.001568506324645e-04 3.982577652062802e-04 3.963652246433777e-04 3.944792163840573e-04 3.925997278951708e-04 + 3.907267452820787e-04 3.888602542761684e-04 3.870002443827855e-04 3.851467035420477e-04 3.832996170232135e-04 + 3.814589716941001e-04 3.796247550166885e-04 3.777969542187427e-04 3.759755548771444e-04 3.741605437648361e-04 + 3.723519105456335e-04 3.705496418343326e-04 3.687537232626712e-04 3.669641420580878e-04 3.651808856652343e-04 + 3.634039408935104e-04 3.616332930379869e-04 3.598689301103073e-04 3.581108413327368e-04 3.563590123412032e-04 + 3.546134293224166e-04 3.528740796868620e-04 3.511409507353364e-04 3.494140287293094e-04 3.476932993968030e-04 + 3.459787517007610e-04 3.442703736842207e-04 3.425681507579447e-04 3.408720696736798e-04 3.391821178070990e-04 + 3.374982823340253e-04 3.358205489790399e-04 3.341489042294683e-04 3.324833375391577e-04 3.308238358267097e-04 + 3.291703846864138e-04 3.275229711235071e-04 3.258815824857735e-04 3.242462057388915e-04 3.226168264116891e-04 + 3.209934320343741e-04 3.193760116170641e-04 3.177645512713499e-04 3.161590371207419e-04 3.145594562690266e-04 + 3.129657961319975e-04 3.113780432227079e-04 3.097961831114660e-04 3.082202043645004e-04 3.066500952444524e-04 + 3.050858414009347e-04 3.035274294402161e-04 3.019748466354355e-04 3.004280802320956e-04 2.988871162192853e-04 + 2.973519409077311e-04 2.958225434173786e-04 2.942989109163873e-04 2.927810290941792e-04 2.912688849504159e-04 + 2.897624658129895e-04 2.882617587216531e-04 2.867667493909568e-04 2.852774250910157e-04 2.837937747837379e-04 + 2.823157848000407e-04 2.808434412718301e-04 2.793767313619733e-04 2.779156424588856e-04 2.764601612241833e-04 + 2.750102732798498e-04 2.735659669757869e-04 2.721272307826111e-04 2.706940504177620e-04 2.692664125118005e-04 + 2.678443044384447e-04 2.664277133531666e-04 2.650166254907073e-04 2.636110271946842e-04 2.622109073508727e-04 + 2.608162534146021e-04 2.594270512444905e-04 2.580432877716125e-04 2.566649503351083e-04 2.552920261463284e-04 + 2.539245011192165e-04 2.525623623480746e-04 2.512055988243127e-04 2.498541971146173e-04 2.485081433825346e-04 + 2.471674249383843e-04 2.458320291468696e-04 2.445019428356345e-04 2.431771519464020e-04 2.418576445147758e-04 + 2.405434090455539e-04 2.392344316436903e-04 2.379306989304936e-04 2.366321982706708e-04 2.353389171046539e-04 + 2.340508418959193e-04 2.327679588365217e-04 2.314902568213100e-04 2.302177235947735e-04 2.289503450019842e-04 + 2.276881081822984e-04 2.264310006278554e-04 2.251790095285085e-04 2.239321211178975e-04 2.226903224828012e-04 + 2.214536025966827e-04 2.202219483393713e-04 2.189953459440866e-04 2.177737827672056e-04 2.165572463172210e-04 + 2.153457236927424e-04 2.141392010208329e-04 2.129376661694288e-04 2.117411078009580e-04 2.105495123800498e-04 + 2.093628666254358e-04 2.081811579562958e-04 2.070043738711933e-04 2.058325011765904e-04 2.046655262979033e-04 + 2.035034378928387e-04 2.023462239716796e-04 2.011938707312936e-04 2.000463653117907e-04 1.989036953143001e-04 + 1.977658482429478e-04 1.966328105707422e-04 1.955045692837424e-04 1.943811134060168e-04 1.932624302421221e-04 + 1.921485062157297e-04 1.910393287336514e-04 1.899348854684124e-04 1.888351638115297e-04 1.877401500482506e-04 + 1.866498319949601e-04 1.855641985831636e-04 1.844832365124926e-04 1.834069326310023e-04 1.823352746298841e-04 + 1.812682501147551e-04 1.802058461455679e-04 1.791480493724017e-04 1.780948483852737e-04 1.770462314872484e-04 + 1.760021851824818e-04 1.749626967491274e-04 1.739277539439587e-04 1.728973444305181e-04 1.718714550470096e-04 + 1.708500728855944e-04 1.698331869571933e-04 1.688207849549946e-04 1.678128535713188e-04 1.668093803524777e-04 + 1.658103531111011e-04 1.648157594964937e-04 1.638255861976382e-04 1.628398210066413e-04 1.618584529166454e-04 + 1.608814690931768e-04 1.599088565742865e-04 1.589406031206167e-04 1.579766966509897e-04 1.570171246224424e-04 + 1.560618738321770e-04 1.551109328208930e-04 1.541642902068764e-04 1.532219328717612e-04 1.522838482661923e-04 + 1.513500243337891e-04 1.504204489591066e-04 1.494951093483970e-04 1.485739927662749e-04 1.476570882997282e-04 + 1.467443839796364e-04 1.458358667202351e-04 1.449315243896633e-04 1.440313449862068e-04 1.431353162531848e-04 + 1.422434254066872e-04 1.413556604013758e-04 1.404720102486319e-04 1.395924625558734e-04 1.387170046489957e-04 + 1.378456244430427e-04 1.369783100559194e-04 1.361150493062282e-04 1.352558293490397e-04 1.344006387024136e-04 + 1.335494662293593e-04 1.327022993333140e-04 1.318591256583063e-04 1.310199332689028e-04 1.301847103692820e-04 + 1.293534446013900e-04 1.285261234477974e-04 1.277027359881715e-04 1.268832706365997e-04 1.260677147052468e-04 + 1.252560562359565e-04 1.244482834803957e-04 1.236443845356053e-04 1.228443469528238e-04 1.220481588198588e-04 + 1.212558093699401e-04 1.204672865809282e-04 1.196825780471873e-04 1.189016720308052e-04 1.181245568536085e-04 + 1.173512205995857e-04 1.165816508484800e-04 1.158158362776897e-04 1.150537660210759e-04 1.142954277590100e-04 + 1.135408094568152e-04 1.127898995954114e-04 1.120426864956402e-04 1.112991581353023e-04 1.105593024093304e-04 + 1.098231085283700e-04 1.090905652465313e-04 1.083616601800625e-04 1.076363816399760e-04 1.069147182196831e-04 + 1.061966583782502e-04 1.054821899944032e-04 1.047713013150353e-04 1.040639818640637e-04 1.033602200082437e-04 + 1.026600035826387e-04 1.019633211976323e-04 1.012701615275282e-04 1.005805130149820e-04 9.989436355203399e-05 + 9.921170194739147e-05 9.853251765411631e-05 9.785679881782247e-05 9.718453366352614e-05 9.651571091087277e-05 + 9.585031930594751e-05 9.518834724915350e-05 9.452978284703146e-05 9.387461543789448e-05 9.322283420353250e-05 + 9.257442723618249e-05 9.192938310286574e-05 9.128769066247626e-05 9.064933872161225e-05 9.001431561187756e-05 + 8.938260983500139e-05 8.875421104519957e-05 8.812910809646098e-05 8.750728925694059e-05 8.688874335824857e-05 + 8.627345936363417e-05 8.566142611724158e-05 8.505263195150667e-05 8.444706587898619e-05 8.384471762172232e-05 + 8.324557578035348e-05 8.264962891132210e-05 8.205686604727953e-05 8.146727626544971e-05 8.088084838175318e-05 + 8.029757088191735e-05 7.971743327705584e-05 7.914042512047892e-05 7.856653495630607e-05 7.799575166346450e-05 + 7.742806441871695e-05 7.686346239245813e-05 7.630193435494130e-05 7.574346911053080e-05 7.518805653837606e-05 + 7.463568593117825e-05 7.408634594826592e-05 7.354002575090044e-05 7.299671464423979e-05 7.245640185167563e-05 + 7.191907614532941e-05 7.138472679150608e-05 7.085334380230530e-05 7.032491623916224e-05 6.979943301854977e-05 + 6.927688351841825e-05 6.875725716877753e-05 6.824054320182008e-05 6.772673050550591e-05 6.721580881996242e-05 + 6.670776807704407e-05 6.620259726868480e-05 6.570028562031883e-05 6.520082266140781e-05 6.470419793220322e-05 + 6.421040064958054e-05 6.371941996817583e-05 6.323124601185380e-05 6.274586851226631e-05 6.226327655003573e-05 + 6.178345963615301e-05 6.130640743984757e-05 6.083210957777482e-05 6.036055527561582e-05 5.989173409263222e-05 + 5.942563633391719e-05 5.896225154191688e-05 5.850156903007261e-05 5.804357852627766e-05 5.758826983099529e-05 + 5.713563260712647e-05 5.668565617514362e-05 5.623833053838233e-05 5.579364600051564e-05 5.535159201768813e-05 + 5.491215819134343e-05 5.447533442712218e-05 5.404111064124177e-05 5.360947650466450e-05 5.318042157160001e-05 + 5.275393622516995e-05 5.233001062811153e-05 5.190863431238880e-05 5.148979716458554e-05 5.107348923404401e-05 + 5.065970053025621e-05 5.024842074849432e-05 4.983963979263951e-05 4.943334827635427e-05 4.902953621108006e-05 + 4.862819332553702e-05 4.822930973793706e-05 4.783287562882953e-05 4.743888107972067e-05 4.704731588033618e-05 + 4.665817033540254e-05 4.627143510842172e-05 4.588710014690383e-05 4.550515545082771e-05 4.512559130332447e-05 + 4.474839802715817e-05 4.437356575264515e-05 4.400108444300858e-05 4.363094478314062e-05 4.326313737450849e-05 + 4.289765220307346e-05 4.253447954450777e-05 4.217360984935306e-05 4.181503354031293e-05 4.145874078526325e-05 + 4.110472186234567e-05 4.075296770939578e-05 4.040346881442376e-05 4.005621534517384e-05 3.971119780891244e-05 + 3.936840678851008e-05 3.902783280379881e-05 3.868946611492773e-05 3.835329736378580e-05 3.801931758461789e-05 + 3.768751721520911e-05 3.735788667634669e-05 3.703041665089796e-05 3.670509786268472e-05 3.638192090588934e-05 + 3.606087620758478e-05 3.574195476070656e-05 3.542514758568229e-05 3.511044516462031e-05 3.479783817623805e-05 + 3.448731747191980e-05 3.417887390941621e-05 3.387249813623169e-05 3.356818082938366e-05 3.326591326488256e-05 + 3.296568640239042e-05 3.266749086476883e-05 3.237131756688427e-05 3.207715751232477e-05 3.178500166911470e-05 + 3.149484077201404e-05 3.120666582870710e-05 3.092046825328168e-05 3.063623897047349e-05 3.035396883732847e-05 + 3.007364895961203e-05 2.979527048619034e-05 2.951882447255356e-05 2.924430180184470e-05 2.897169381596313e-05 + 2.870099196601076e-05 2.843218722351712e-05 2.816527069305565e-05 2.790023364581556e-05 2.763706736588794e-05 + 2.737576298520704e-05 2.711631161938774e-05 2.685870489191871e-05 2.660293422952212e-05 2.634899073350601e-05 + 2.609686574272242e-05 2.584655068622352e-05 2.559803697386157e-05 2.535131582907573e-05 2.510637865851451e-05 + 2.486321726016628e-05 2.462182305120829e-05 2.438218734168926e-05 2.414430166313400e-05 2.390815760058303e-05 + 2.367374667612129e-05 2.344106023464476e-05 2.321008999935892e-05 2.298082786356460e-05 2.275326527748312e-05 + 2.252739378233606e-05 2.230320509258137e-05 2.208069093512809e-05 2.185984291941186e-05 2.164065260635458e-05 + 2.142311199522572e-05 2.120721298028661e-05 2.099294714303281e-05 2.078030625998752e-05 2.056928220029127e-05 + 2.035986682231265e-05 2.015205183896797e-05 1.994582907956633e-05 1.974119073954575e-05 1.953812872162773e-05 + 1.933663479825456e-05 1.913670094979531e-05 1.893831919578259e-05 1.874148151575467e-05 1.854617976080873e-05 + 1.835240605058427e-05 1.816015268982217e-05 1.796941162992672e-05 1.778017486956627e-05 1.759243456762222e-05 + 1.740618289118282e-05 1.722141193137039e-05 1.703811372777776e-05 1.685628066375182e-05 1.667590509374455e-05 + 1.649697910104339e-05 1.631949489857415e-05 1.614344479286407e-05 1.596882111103627e-05 1.579561606259506e-05 + 1.562382191518076e-05 1.545343126338709e-05 1.528443649706141e-05 1.511682986511545e-05 1.495060379262073e-05 + 1.478575075387210e-05 1.462226320346460e-05 1.446013347627832e-05 1.429935410828208e-05 1.413991783947596e-05 + 1.398181711799591e-05 1.382504440087988e-05 1.366959229690567e-05 1.351545344207288e-05 1.336262041089977e-05 + 1.321108569966174e-05 1.306084210743495e-05 1.291188246012095e-05 1.276419932540445e-05 1.261778537439798e-05 + 1.247263337350260e-05 1.232873611168182e-05 1.218608628547451e-05 1.204467661277090e-05 1.190450010670460e-05 + 1.176554964839514e-05 1.162781797531038e-05 1.149129796332477e-05 1.135598253898601e-05 1.122186462622714e-05 + 1.108893706038782e-05 1.095719281332111e-05 1.082662505098182e-05 1.069722672643097e-05 1.056899077370047e-05 + 1.044191025341683e-05 1.031597825830204e-05 1.019118784797653e-05 1.006753201372614e-05 9.945003972957807e-06 + 9.823597003224701e-06 9.703304169766936e-06 9.584118614966616e-06 9.466033570975281e-06 9.349042284940899e-06 + 9.233137946012443e-06 9.118313747892748e-06 9.004563126071509e-06 8.891879438415634e-06 8.780255908737012e-06 + 8.669685879934477e-06 8.560162746518096e-06 8.451679906731882e-06 8.344230688978416e-06 8.237808513777729e-06 + 8.132406985376577e-06 8.028019552616531e-06 7.924639629701503e-06 7.822260741691212e-06 7.720876445763237e-06 + 7.620480284148957e-06 7.521065743540658e-06 7.422626477381218e-06 7.325156218634066e-06 7.228648532638821e-06 + 7.133097034958690e-06 7.038495423985100e-06 6.944837416133499e-06 6.852116691729515e-06 6.760326924607246e-06 + 6.669461983453847e-06 6.579515704432944e-06 6.490481806747385e-06 6.402354101863004e-06 6.315126452251840e-06 + 6.228792731669073e-06 6.143346764859859e-06 6.058782435540508e-06 5.975093791198315e-06 5.892274772590937e-06 + 5.810319279027480e-06 5.729221306547671e-06 5.648974882411472e-06 5.569574030477156e-06 5.491012732167998e-06 + 5.413285091010444e-06 5.336385298912571e-06 5.260307420244722e-06 5.185045547999291e-06 5.110593849728286e-06 + 5.036946516955677e-06 4.964097720721464e-06 4.892041619202182e-06 4.820772525961763e-06 4.750284753859853e-06 + 4.680572517390150e-06 4.611630102585562e-06 4.543451844884654e-06 4.476032095169469e-06 4.409365173309600e-06 + 4.343445435493855e-06 4.278267378107974e-06 4.213825432046252e-06 4.150113986510229e-06 4.087127510654963e-06 + 4.024860505544460e-06 3.963307478207591e-06 3.902462905546128e-06 3.842321351732513e-06 3.782877469285005e-06 + 3.724125818875267e-06 3.666060976275786e-06 3.608677584308628e-06 3.551970310325800e-06 3.495933813913828e-06 + 3.440562742860537e-06 3.385851865026623e-06 3.331795968547279e-06 3.278389763636986e-06 3.225628015585682e-06 + 3.173505536483180e-06 3.122017155106099e-06 3.071157684657154e-06 3.020921961442045e-06 2.971304937503200e-06 + 2.922301530764381e-06 2.873906622400171e-06 2.826115159163556e-06 2.778922119160790e-06 2.732322492500433e-06 + 2.686311250918327e-06 2.640883427466542e-06 2.596034137909800e-06 2.551758437600915e-06 2.508051388712647e-06 + 2.464908112415978e-06 2.422323753722291e-06 2.380293459852445e-06 2.338812372063220e-06 2.297875719562253e-06 + 2.257478763762930e-06 2.217616712073996e-06 2.178284811840686e-06 2.139478353112250e-06 2.101192645402220e-06 + 2.063422994293474e-06 2.026164721213360e-06 1.989413239181793e-06 1.953163950788084e-06 1.917412231009713e-06 + 1.882153506609316e-06 1.847383234461138e-06 1.813096887995954e-06 1.779289933937322e-06 1.745957881749227e-06 + 1.713096313387221e-06 1.680700776153704e-06 1.648766820412035e-06 1.617290047665242e-06 1.586266083282953e-06 + 1.555690561349229e-06 1.525559115412809e-06 1.495867444877275e-06 1.466611286844381e-06 1.437786342321971e-06 + 1.409388342689011e-06 1.381413059137875e-06 1.353856283643994e-06 1.326713811980504e-06 1.299981452903499e-06 + 1.273655087535907e-06 1.247730601634883e-06 1.222203862466376e-06 1.197070780161529e-06 1.172327293218336e-06 + 1.147969358200551e-06 1.123992934949297e-06 1.100394014305713e-06 1.077168647815731e-06 1.054312872343777e-06 + 1.031822727943270e-06 1.009694299029158e-06 9.879236928228051e-07 9.665070295488333e-07 9.454404356909418e-07 + 9.247200854784831e-07 9.043421911847067e-07 8.843029477247774e-07 8.645985728173436e-07 8.452253193362285e-07 + 8.261794626052351e-07 8.074572875932502e-07 7.890550921071068e-07 7.709692301619030e-07 7.531960701353248e-07 + 7.357319715620587e-07 7.185733287203112e-07 7.017165630618881e-07 6.851581162834306e-07 6.688944388625421e-07 + 6.529220052598067e-07 6.372373411274385e-07 6.218369717692920e-07 6.067174274527125e-07 5.918752755194360e-07 + 5.773071063798692e-07 5.630095271034721e-07 5.489791556312369e-07 5.352126455394792e-07 5.217066864180125e-07 + 5.084579644193884e-07 4.954631845887763e-07 4.827190834887087e-07 4.702224204045173e-07 4.579699684713550e-07 + 4.459585154334098e-07 4.341848919935187e-07 4.226459485782965e-07 4.113385363883691e-07 4.002595352312233e-07 + 3.894058504065020e-07 3.787744086301839e-07 3.683621500987016e-07 3.581660355932383e-07 3.481830676805770e-07 + 3.384102581524441e-07 3.288446273745833e-07 3.194832275224818e-07 3.103231330843525e-07 3.013614373207315e-07 + 2.925952486098954e-07 2.840217031010630e-07 2.756379695267500e-07 2.674412234106971e-07 2.594286576386206e-07 + 2.515974937029081e-07 2.439449754383926e-07 2.364683632309526e-07 2.291649345383248e-07 2.220320002407473e-07 + 2.150668931442167e-07 2.082669548865648e-07 2.016295514473211e-07 1.951520727682157e-07 1.888319311586693e-07 + 1.826665552837694e-07 1.766533931743509e-07 1.707899271779558e-07 1.650736547045015e-07 1.595020857916059e-07 + 1.540727581256184e-07 1.487832309302349e-07 1.436310837043274e-07 1.386139140291348e-07 1.337293426531939e-07 + 1.289750194034745e-07 1.243486077550924e-07 1.198477884856861e-07 1.154702687444825e-07 1.112137774078364e-07 + 1.070760615754017e-07 1.030548878714015e-07 9.914804983102429e-08 9.535336319532080e-08 9.166865877274502e-08 + 8.809178921148019e-08 8.462062987184363e-08 8.125307865123530e-08 7.798705169188094e-08 7.482048486743137e-08 + 7.175134265372113e-08 6.877760756933380e-08 6.589727849023001e-08 6.310837918621049e-08 6.040895419177239e-08 + 5.779706919084610e-08 5.527080986023133e-08 5.282828275733461e-08 5.046762055622123e-08 4.818697371034567e-08 + 4.598451068334482e-08 4.385842456607357e-08 4.180692971968811e-08 3.982825980405518e-08 3.792066966127786e-08 + 3.608243718277188e-08 3.431186206040581e-08 3.260726312426322e-08 3.096697968233847e-08 2.938937298745983e-08 + 2.787282684203093e-08 2.641574418968914e-08 2.501654849393015e-08 2.367368813134603e-08 2.238563078881267e-08 + 2.115086344400587e-08 1.996789606940446e-08 1.883525886916157e-08 1.775150390948272e-08 1.671520402936120e-08 + 1.572495208680648e-08 1.477936511938296e-08 1.387707990026544e-08 1.301675220490221e-08 1.219706138041649e-08 + 1.141670750179082e-08 1.067441065312196e-08 9.968913113355902e-09 9.298978133402818e-09 8.663390331238368e-09 + 8.060955677291694e-09 7.490500025975069e-09 6.950870854385858e-09 6.440937996309972e-09 5.959590797852082e-09 + 5.505739944416565e-09 5.078318901633865e-09 4.676280806472903e-09 4.298600029449081e-09 3.944272776496124e-09 + 3.612315204086912e-09 3.301765808464261e-09 3.011683971683484e-09 2.741149022073358e-09 2.489263438950313e-09 + 2.255150010734707e-09 2.037951439802415e-09 1.836833426869985e-09 1.650981924522248e-09 1.479603458288696e-09 + 1.321927088896133e-09 1.177201927023745e-09 1.044698361371603e-09 9.237089042804517e-10 8.135457713165132e-10 + 7.135428727606122e-10 6.230561233086797e-10 5.414610837010692e-10 4.681552957722881e-10 4.025579739718386e-10 + 3.441080911031397e-10 2.922668865200973e-10 2.465167169238545e-10 2.063598966733955e-10 1.713213823559041e-10 + 1.409467301732644e-10 1.148017117805301e-10 9.247489436372923e-11 7.357503403670199e-11 5.773147403071901e-11 + 4.459623415664643e-11 3.384125546419585e-11 2.515956035071991e-11 1.826656159304613e-11 1.289741553721677e-11 + 8.808852910154413e-12 5.779611749592996e-12 3.608107240050744e-12 2.114775563702074e-12 1.141629414770904e-12 + 5.504076981088132e-13 2.252028793998774e-13 7.135404618680312e-14 1.400208835054596e-14 2.858282411901289e-16 + 0.000000000000000e+00 3.280907692410757e+00 6.559093802140417e+00 9.834554467967374e+00 1.310728583537977e+01 + 1.637728405657552e+01 1.964454529046227e+01 2.290906570265743e+01 2.617084146548816e+01 2.942986875799139e+01 + 3.268614376591378e+01 3.593966268171175e+01 3.919042170455148e+01 4.243841704030890e+01 4.568364490156970e+01 + 4.892610150762930e+01 5.216578308449292e+01 5.540268586487547e+01 5.863680608820168e+01 6.186814000060598e+01 + 6.509668385493259e+01 6.832243391073550e+01 7.154538643427834e+01 7.476553769853463e+01 7.798288398318758e+01 + 8.119742157463018e+01 8.440914676596513e+01 8.761805585700493e+01 9.082414515427180e+01 9.402741097099775e+01 + 9.722784962712448e+01 1.004254574493035e+02 1.036202307708961e+02 1.068121659319733e+02 1.100012592793157e+02 + 1.131875071664140e+02 1.163709059534683e+02 1.195514520073887e+02 1.227291417017950e+02 1.259039714170167e+02 + 1.290759375400930e+02 1.322450364647731e+02 1.354112645915156e+02 1.385746183274891e+02 1.417350940865720e+02 + 1.448926882893522e+02 1.480473973631275e+02 1.511992177419055e+02 1.543481458664036e+02 1.574941781840487e+02 + 1.606373111489777e+02 1.637775412220371e+02 1.669148648707833e+02 1.700492785694823e+02 1.731807787991100e+02 + 1.763093620473519e+02 1.794350248086033e+02 1.825577635839695e+02 1.856775748812652e+02 1.887944552150149e+02 + 1.919084011064531e+02 1.950194090835239e+02 1.981274756808810e+02 2.012325974398883e+02 2.043347709086188e+02 + 2.074339926418558e+02 2.105302592010923e+02 2.136235671545306e+02 2.167139130770834e+02 2.198012935503726e+02 + 2.228857051627302e+02 2.259671445091978e+02 2.290456081915269e+02 2.321210928181784e+02 2.351935950043234e+02 + 2.382631113718425e+02 2.413296385493261e+02 2.443931731720744e+02 2.474537118820972e+02 2.505112513281143e+02 + 2.535657881655549e+02 2.566173190565586e+02 2.596658406699738e+02 2.627113496813596e+02 2.657538427729843e+02 + 2.687933166338259e+02 2.718297679595726e+02 2.748631934526219e+02 2.778935898220815e+02 2.809209537837683e+02 + 2.839452820602094e+02 2.869665713806416e+02 2.899848184810112e+02 2.930000201039745e+02 2.960121729988974e+02 + 2.990212739218558e+02 3.020273196356349e+02 3.050303069097302e+02 3.080302325203465e+02 3.110270932503987e+02 + 3.140208858895110e+02 3.170116072340180e+02 3.199992540869634e+02 3.229838232581013e+02 3.259653115638948e+02 + 3.289437158275174e+02 3.319190328788521e+02 3.348912595544916e+02 3.378603926977383e+02 3.408264291586049e+02 + 3.437893657938130e+02 3.467491994667945e+02 3.497059270476910e+02 3.526595454133537e+02 3.556100514473437e+02 + 3.585574420399318e+02 3.615017140880985e+02 3.644428644955341e+02 3.673808901726388e+02 3.703157880365222e+02 + 3.732475550110041e+02 3.761761880266134e+02 3.791016840205897e+02 3.820240399368814e+02 3.849432527261474e+02 + 3.878593193457557e+02 3.907722367597846e+02 3.936820019390219e+02 3.965886118609651e+02 3.994920635098217e+02 + 4.023923538765087e+02 4.052894799586530e+02 4.081834387605912e+02 4.110742272933696e+02 4.139618425747443e+02 + 4.168462816291812e+02 4.197275414878559e+02 4.226056191886540e+02 4.254805117761704e+02 4.283522163017099e+02 + 4.312207298232872e+02 4.340860494056267e+02 4.369481721201628e+02 4.398070950450389e+02 4.426628152651090e+02 + 4.455153298719365e+02 4.483646359637945e+02 4.512107306456656e+02 4.540536110292430e+02 4.568932742329288e+02 + 4.597297173818351e+02 4.625629376077841e+02 4.653929320493071e+02 4.682196978516460e+02 4.710432321667516e+02 + 4.738635321532851e+02 4.766805949766169e+02 4.794944178088276e+02 4.823049978287075e+02 4.851123322217564e+02 + 4.879164181801841e+02 4.907172529029099e+02 4.935148335955632e+02 4.963091574704831e+02 4.991002217467178e+02 + 5.018880236500261e+02 5.046725604128764e+02 5.074538292744463e+02 5.102318274806237e+02 5.130065522840063e+02 + 5.157780009439010e+02 5.185461707263250e+02 5.213110589040049e+02 5.240726627563774e+02 5.268309795695885e+02 + 5.295860066364945e+02 5.323377412566609e+02 5.350861807363634e+02 5.378313223885873e+02 5.405731635330272e+02 + 5.433117014960885e+02 5.460469336108854e+02 5.487788572172420e+02 5.515074696616928e+02 5.542327682974811e+02 + 5.569547504845609e+02 5.596734135895950e+02 5.623887549859570e+02 5.651007720537292e+02 5.678094621797045e+02 + 5.705148227573850e+02 5.732168511869830e+02 5.759155448754203e+02 5.786109012363282e+02 5.813029176900482e+02 + 5.839915916636313e+02 5.866769205908384e+02 5.893589019121401e+02 5.920375330747167e+02 5.947128115324583e+02 + 5.973847347459648e+02 6.000533001825459e+02 6.027185053162206e+02 6.053803476277183e+02 6.080388246044777e+02 + 6.106939337406476e+02 6.133456725370861e+02 6.159940385013617e+02 6.186390291477520e+02 6.212806419972447e+02 + 6.239188745775372e+02 6.265537244230364e+02 6.291851890748597e+02 6.318132660808333e+02 6.344379529954938e+02 + 6.370592473800871e+02 6.396771468025696e+02 6.422916488376064e+02 6.449027510665734e+02 6.475104510775553e+02 + 6.501147464653474e+02 6.527156348314542e+02 6.553131137840901e+02 6.579071809381794e+02 6.604978339153558e+02 + 6.630850703439634e+02 6.656688878590552e+02 6.682492841023947e+02 6.708262567224546e+02 6.733998033744177e+02 + 6.759699217201766e+02 6.785366094283333e+02 6.810998641742000e+02 6.836596836397980e+02 6.862160655138592e+02 + 6.887690074918247e+02 6.913185072758453e+02 6.938645625747821e+02 6.964071711042051e+02 6.989463305863949e+02 + 7.014820387503412e+02 7.040142933317441e+02 7.065430920730126e+02 7.090684327232666e+02 7.115903130383348e+02 + 7.141087307807558e+02 7.166236837197782e+02 7.191351696313601e+02 7.216431862981700e+02 7.241477315095852e+02 + 7.266488030616937e+02 7.291463987572921e+02 7.316405164058881e+02 7.341311538236981e+02 7.366183088336488e+02 + 7.391019792653765e+02 7.415821629552270e+02 7.440588577462564e+02 7.465320614882301e+02 7.490017720376235e+02 + 7.514679872576214e+02 7.539307050181191e+02 7.563899231957208e+02 7.588456396737411e+02 7.612978523422037e+02 + 7.637465590978424e+02 7.661917578441014e+02 7.686334464911333e+02 7.710716229558018e+02 7.735062851616793e+02 + 7.759374310390485e+02 7.783650585249019e+02 7.807891655629417e+02 7.832097501035795e+02 7.856268101039369e+02 + 7.880403435278453e+02 7.904503483458460e+02 7.928568225351897e+02 7.952597640798369e+02 7.976591709704585e+02 + 8.000550412044341e+02 8.024473727858536e+02 8.048361637255169e+02 8.072214120409334e+02 8.096031157563222e+02 + 8.119812729026120e+02 8.143558815174417e+02 8.167269396451593e+02 8.190944453368236e+02 8.214583966502021e+02 + 8.238187916497725e+02 8.261756284067224e+02 8.285289049989487e+02 8.308786195110586e+02 8.332247700343684e+02 + 8.355673546669050e+02 8.379063715134042e+02 8.402418186853124e+02 8.425736943007848e+02 8.449019964846872e+02 + 8.472267233685945e+02 8.495478730907921e+02 8.518654437962743e+02 8.541794336367457e+02 8.564898407706205e+02 + 8.587966633630226e+02 8.610998995857861e+02 8.633995476174539e+02 8.656956056432798e+02 8.679880718552264e+02 + 8.702769444519665e+02 8.725622216388828e+02 8.748439016280670e+02 8.771219826383219e+02 8.793964628951586e+02 + 8.816673406307990e+02 8.839346140841741e+02 8.861982815009252e+02 8.884583411334027e+02 8.907147912406675e+02 + 8.929676300884897e+02 8.952168559493493e+02 8.974624671024361e+02 8.997044618336495e+02 9.019428384355992e+02 + 9.041775952076036e+02 9.064087304556922e+02 9.086362424926032e+02 9.108601296377846e+02 9.130803902173951e+02 + 9.152970225643020e+02 9.175100250180832e+02 9.197193959250255e+02 9.219251336381268e+02 9.241272365170935e+02 + 9.263257029283417e+02 9.285205312449986e+02 9.307117198468995e+02 9.328992671205907e+02 9.350831714593277e+02 + 9.372634312630761e+02 9.394400449385104e+02 9.416130108990160e+02 9.437823275646871e+02 9.459479933623287e+02 + 9.481100067254541e+02 9.502683660942876e+02 9.524230699157629e+02 9.545741166435229e+02 9.567215047379214e+02 + 9.588652326660207e+02 9.610052989015940e+02 9.631417019251231e+02 9.652744402238004e+02 9.674035122915279e+02 + 9.695289166289172e+02 9.716506517432896e+02 9.737687161486764e+02 9.758831083658184e+02 9.779938269221661e+02 + 9.801008703518804e+02 9.822042371958310e+02 9.843039260015983e+02 9.863999353234714e+02 9.884922637224498e+02 + 9.905809097662435e+02 9.926658720292703e+02 9.947471490926598e+02 9.968247395442500e+02 9.988986419785891e+02 + 1.000968854996935e+03 1.003035377207256e+03 1.005098207224229e+03 1.007157343669241e+03 1.009212785170389e+03 + 1.011264530362480e+03 1.013312577887031e+03 1.015356926392268e+03 1.017397574533126e+03 1.019434520971252e+03 + 1.021467764375000e+03 1.023497303419437e+03 1.025523136786337e+03 1.027545263164185e+03 1.029563681248175e+03 + 1.031578389740212e+03 1.033589387348909e+03 1.035596672789591e+03 1.037600244784291e+03 1.039600102061752e+03 + 1.041596243357428e+03 1.043588667413480e+03 1.045577372978782e+03 1.047562358808916e+03 1.049543623666173e+03 + 1.051521166319557e+03 1.053494985544777e+03 1.055465080124256e+03 1.057431448847125e+03 1.059394090509224e+03 + 1.061353003913104e+03 1.063308187868025e+03 1.065259641189957e+03 1.067207362701581e+03 1.069151351232285e+03 + 1.071091605618170e+03 1.073028124702043e+03 1.074960907333424e+03 1.076889952368542e+03 1.078815258670335e+03 + 1.080736825108451e+03 1.082654650559248e+03 1.084568733905793e+03 1.086479074037864e+03 1.088385669851947e+03 + 1.090288520251241e+03 1.092187624145651e+03 1.094082980451794e+03 1.095974588092995e+03 1.097862445999292e+03 + 1.099746553107428e+03 1.101626908360861e+03 1.103503510709754e+03 1.105376359110983e+03 1.107245452528133e+03 + 1.109110789931497e+03 1.110972370298081e+03 1.112830192611597e+03 1.114684255862470e+03 1.116534559047833e+03 + 1.118381101171529e+03 1.120223881244111e+03 1.122062898282842e+03 1.123898151311694e+03 1.125729639361349e+03 + 1.127557361469200e+03 1.129381316679347e+03 1.131201504042604e+03 1.133017922616489e+03 1.134830571465235e+03 + 1.136639449659783e+03 1.138444556277782e+03 1.140245890403593e+03 1.142043451128286e+03 1.143837237549640e+03 + 1.145627248772146e+03 1.147413483907002e+03 1.149195942072117e+03 1.150974622392110e+03 1.152749523998310e+03 + 1.154520646028755e+03 1.156287987628192e+03 1.158051547948079e+03 1.159811326146585e+03 1.161567321388586e+03 + 1.163319532845669e+03 1.165067959696131e+03 1.166812601124979e+03 1.168553456323928e+03 1.170290524491405e+03 + 1.172023804832545e+03 1.173753296559195e+03 1.175478998889909e+03 1.177200911049953e+03 1.178919032271301e+03 + 1.180633361792637e+03 1.182343898859357e+03 1.184050642723563e+03 1.185753592644071e+03 1.187452747886402e+03 + 1.189148107722792e+03 1.190839671432183e+03 1.192527438300227e+03 1.194211407619287e+03 1.195891578688435e+03 + 1.197567950813455e+03 1.199240523306837e+03 1.200909295487783e+03 1.202574266682204e+03 1.204235436222721e+03 + 1.205892803448666e+03 1.207546367706079e+03 1.209196128347710e+03 1.210842084733019e+03 1.212484236228177e+03 + 1.214122582206062e+03 1.215757122046265e+03 1.217387855135084e+03 1.219014780865528e+03 1.220637898637316e+03 + 1.222257207856876e+03 1.223872707937346e+03 1.225484398298575e+03 1.227092278367119e+03 1.228696347576247e+03 + 1.230296605365935e+03 1.231893051182870e+03 1.233485684480449e+03 1.235074504718779e+03 1.236659511364675e+03 + 1.238240703891664e+03 1.239818081779981e+03 1.241391644516571e+03 1.242961391595090e+03 1.244527322515903e+03 + 1.246089436786084e+03 1.247647733919417e+03 1.249202213436398e+03 1.250752874864230e+03 1.252299717736826e+03 + 1.253842741594810e+03 1.255381945985516e+03 1.256917330462986e+03 1.258448894587972e+03 1.259976637927938e+03 + 1.261500560057056e+03 1.263020660556207e+03 1.264536939012984e+03 1.266049395021687e+03 1.267558028183329e+03 + 1.269062838105629e+03 1.270563824403019e+03 1.272060986696640e+03 1.273554324614341e+03 1.275043837790682e+03 + 1.276529525866934e+03 1.278011388491075e+03 1.279489425317796e+03 1.280963636008494e+03 1.282434020231280e+03 + 1.283900577660971e+03 1.285363307979095e+03 1.286822210873891e+03 1.288277286040307e+03 1.289728533179999e+03 + 1.291175952001336e+03 1.292619542219393e+03 1.294059303555960e+03 1.295495235739530e+03 1.296927338505312e+03 + 1.298355611595221e+03 1.299780054757883e+03 1.301200667748633e+03 1.302617450329516e+03 1.304030402269289e+03 + 1.305439523343415e+03 1.306844813334069e+03 1.308246272030136e+03 1.309643899227210e+03 1.311037694727594e+03 + 1.312427658340302e+03 1.313813789881058e+03 1.315196089172293e+03 1.316574556043153e+03 1.317949190329488e+03 + 1.319319991873862e+03 1.320686960525546e+03 1.322050096140523e+03 1.323409398581483e+03 1.324764867717829e+03 + 1.326116503425671e+03 1.327464305587830e+03 1.328808274093838e+03 1.330148408839934e+03 1.331484709729068e+03 + 1.332817176670901e+03 1.334145809581802e+03 1.335470608384850e+03 1.336791573009835e+03 1.338108703393256e+03 + 1.339421999478320e+03 1.340731461214948e+03 1.342037088559766e+03 1.343338881476113e+03 1.344636839934036e+03 + 1.345930963910293e+03 1.347221253388351e+03 1.348507708358388e+03 1.349790328817288e+03 1.351069114768650e+03 + 1.352344066222779e+03 1.353615183196692e+03 1.354882465714113e+03 1.356145913805479e+03 1.357405527507935e+03 + 1.358661306865335e+03 1.359913251928245e+03 1.361161362753938e+03 1.362405639406399e+03 1.363646081956323e+03 + 1.364882690481112e+03 1.366115465064880e+03 1.367344405798451e+03 1.368569512779358e+03 1.369790786111843e+03 + 1.371008225906858e+03 1.372221832282067e+03 1.373431605361840e+03 1.374637545277261e+03 1.375839652166119e+03 + 1.377037926172918e+03 1.378232367448867e+03 1.379422976151887e+03 1.380609752446609e+03 1.381792696504374e+03 + 1.382971808503231e+03 1.384147088627939e+03 1.385318537069970e+03 1.386486154027501e+03 1.387649939705423e+03 + 1.388809894315333e+03 1.389966018075540e+03 1.391118311211063e+03 1.392266773953630e+03 1.393411406541678e+03 + 1.394552209220356e+03 1.395689182241520e+03 1.396822325863737e+03 1.397951640352285e+03 1.399077125979150e+03 + 1.400198783023028e+03 1.401316611769325e+03 1.402430612510158e+03 1.403540785544351e+03 1.404647131177441e+03 + 1.405749649721672e+03 1.406848341496000e+03 1.407943206826088e+03 1.409034246044311e+03 1.410121459489754e+03 + 1.411204847508209e+03 1.412284410452182e+03 1.413360148680885e+03 1.414432062560241e+03 1.415500152462884e+03 + 1.416564418768155e+03 1.417624861862108e+03 1.418681482137504e+03 1.419734279993815e+03 1.420783255837224e+03 + 1.421828410080621e+03 1.422869743143608e+03 1.423907255452495e+03 1.424940947440303e+03 1.425970819546763e+03 + 1.426996872218314e+03 1.428019105908108e+03 1.429037521076003e+03 1.430052118188569e+03 1.431062897719085e+03 + 1.432069860147540e+03 1.433073005960632e+03 1.434072335651771e+03 1.435067849721075e+03 1.436059548675370e+03 + 1.437047433028196e+03 1.438031503299800e+03 1.439011760017138e+03 1.439988203713878e+03 1.440960834930396e+03 + 1.441929654213780e+03 1.442894662117825e+03 1.443855859203037e+03 1.444813246036631e+03 1.445766823192535e+03 + 1.446716591251382e+03 1.447662550800518e+03 1.448604702433997e+03 1.449543046752585e+03 1.450477584363755e+03 + 1.451408315881691e+03 1.452335241927287e+03 1.453258363128147e+03 1.454177680118583e+03 1.455093193539620e+03 + 1.456004904038989e+03 1.456912812271134e+03 1.457816918897206e+03 1.458717224585068e+03 1.459613730009291e+03 + 1.460506435851157e+03 1.461395342798658e+03 1.462280451546494e+03 1.463161762796076e+03 1.464039277255525e+03 + 1.464912995639670e+03 1.465782918670054e+03 1.466649047074924e+03 1.467511381589240e+03 1.468369922954673e+03 + 1.469224671919600e+03 1.470075629239112e+03 1.470922795675006e+03 1.471766171995790e+03 1.472605758976684e+03 + 1.473441557399614e+03 1.474273568053219e+03 1.475101791732846e+03 1.475926229240551e+03 1.476746881385102e+03 + 1.477563748981976e+03 1.478376832853358e+03 1.479186133828146e+03 1.479991652741944e+03 1.480793390437068e+03 + 1.481591347762545e+03 1.482385525574108e+03 1.483175924734204e+03 1.483962546111986e+03 1.484745390583318e+03 + 1.485524459030776e+03 1.486299752343644e+03 1.487071271417914e+03 1.487839017156289e+03 1.488602990468185e+03 + 1.489363192269722e+03 1.490119623483735e+03 1.490872285039765e+03 1.491621177874064e+03 1.492366302929595e+03 + 1.493107661156030e+03 1.493845253509749e+03 1.494579080953843e+03 1.495309144458115e+03 1.496035444999074e+03 + 1.496757983559942e+03 1.497476761130647e+03 1.498191778707831e+03 1.498903037294843e+03 1.499610537901742e+03 + 1.500314281545298e+03 1.501014269248990e+03 1.501710502043006e+03 1.502402980964245e+03 1.503091707056315e+03 + 1.503776681369534e+03 1.504457904960931e+03 1.505135378894241e+03 1.505809104239914e+03 1.506479082075105e+03 + 1.507145313483682e+03 1.507807799556220e+03 1.508466541390007e+03 1.509121540089038e+03 1.509772796764020e+03 + 1.510420312532367e+03 1.511064088518205e+03 1.511704125852369e+03 1.512340425672404e+03 1.512972989122564e+03 + 1.513601817353814e+03 1.514226911523828e+03 1.514848272796989e+03 1.515465902344391e+03 1.516079801343838e+03 + 1.516689970979842e+03 1.517296412443626e+03 1.517899126933124e+03 1.518498115652977e+03 1.519093379814537e+03 + 1.519684920635866e+03 1.520272739341736e+03 1.520856837163628e+03 1.521437215339733e+03 1.522013875114953e+03 + 1.522586817740897e+03 1.523156044475887e+03 1.523721556584951e+03 1.524283355339831e+03 1.524841442018975e+03 + 1.525395817907543e+03 1.525946484297405e+03 1.526493442487138e+03 1.527036693782033e+03 1.527576239494086e+03 + 1.528112080942007e+03 1.528644219451213e+03 1.529172656353831e+03 1.529697392988700e+03 1.530218430701367e+03 + 1.530735770844087e+03 1.531249414775829e+03 1.531759363862268e+03 1.532265619475790e+03 1.532768182995492e+03 + 1.533267055807180e+03 1.533762239303368e+03 1.534253734883281e+03 1.534741543952856e+03 1.535225667924735e+03 + 1.535706108218275e+03 1.536182866259539e+03 1.536655943481301e+03 1.537125341323045e+03 1.537591061230964e+03 + 1.538053104657961e+03 1.538511473063650e+03 1.538966167914353e+03 1.539417190683102e+03 1.539864542849641e+03 + 1.540308225900420e+03 1.540748241328602e+03 1.541184590634058e+03 1.541617275323370e+03 1.542046296909827e+03 + 1.542471656913432e+03 1.542893356860894e+03 1.543311398285634e+03 1.543725782727782e+03 1.544136511734178e+03 + 1.544543586858370e+03 1.544947009660620e+03 1.545346781707894e+03 1.545742904573873e+03 1.546135379838945e+03 + 1.546524209090207e+03 1.546909393921469e+03 1.547290935933248e+03 1.547668836732771e+03 1.548043097933976e+03 + 1.548413721157510e+03 1.548780708030729e+03 1.549144060187701e+03 1.549503779269201e+03 1.549859866922715e+03 + 1.550212324802440e+03 1.550561154569281e+03 1.550906357890854e+03 1.551247936441483e+03 1.551585891902203e+03 + 1.551920225960758e+03 1.552250940311604e+03 1.552578036655905e+03 1.552901516701533e+03 1.553221382163073e+03 + 1.553537634761818e+03 1.553850276225772e+03 1.554159308289647e+03 1.554464732694865e+03 1.554766551189559e+03 + 1.555064765528572e+03 1.555359377473454e+03 1.555650388792468e+03 1.555937801260586e+03 1.556221616659488e+03 + 1.556501836777564e+03 1.556778463409917e+03 1.557051498358356e+03 1.557320943431401e+03 1.557586800444283e+03 + 1.557849071218940e+03 1.558107757584023e+03 1.558362861374890e+03 1.558614384433611e+03 1.558862328608964e+03 + 1.559106695756438e+03 1.559347487738230e+03 1.559584706423249e+03 1.559818353687112e+03 1.560048431412147e+03 + 1.560274941487391e+03 1.560497885808591e+03 1.560717266278204e+03 1.560933084805396e+03 1.561145343306044e+03 + 1.561354043702732e+03 1.561559187924758e+03 1.561760777908126e+03 1.561958815595552e+03 1.562153302936461e+03 + 1.562344241886987e+03 1.562531634409975e+03 1.562715482474979e+03 1.562895788058264e+03 1.563072553142803e+03 + 1.563245779718279e+03 1.563415469781085e+03 1.563581625334326e+03 1.563744248387813e+03 1.563903340958068e+03 + 1.564058905068325e+03 1.564210942748526e+03 1.564359456035321e+03 1.564504446972073e+03 1.564645917608853e+03 + 1.564783870002442e+03 1.564918306216331e+03 1.565049228320720e+03 1.565176638392519e+03 1.565300538515349e+03 + 1.565420930779540e+03 1.565537817282130e+03 1.565651200126870e+03 1.565761081424219e+03 1.565867463291344e+03 + 1.565970347852125e+03 1.566069737237150e+03 1.566165633583717e+03 1.566258039035835e+03 1.566346955744220e+03 + 1.566432385866300e+03 1.566514331566212e+03 1.566592795014803e+03 1.566667778389629e+03 1.566739283874957e+03 + 1.566807313661764e+03 1.566871869947734e+03 1.566932954937263e+03 1.566990570841457e+03 1.567044719878131e+03 + 1.567095404271811e+03 1.567142626253729e+03 1.567186388061831e+03 1.567226691940771e+03 1.567263540141913e+03 + 1.567296934923331e+03 1.567326878549808e+03 1.567353373292836e+03 1.567376421430620e+03 1.567396025248071e+03 + 1.567412187036812e+03 1.567424909095176e+03 1.567434193728203e+03 1.567440043247646e+03 1.567442459971967e+03 + 1.567441446226336e+03 1.567437004342634e+03 1.567429136659453e+03 1.567417845522091e+03 1.567403133282561e+03 + 1.567385002299581e+03 1.567363454938582e+03 1.567338493571702e+03 1.567310120577791e+03 1.567278338342408e+03 + 1.567243149257822e+03 1.567204555723011e+03 1.567162560143663e+03 1.567117164932177e+03 1.567068372507660e+03 + 1.567016185295929e+03 1.566960605729512e+03 1.566901636247646e+03 1.566839279296277e+03 1.566773537328063e+03 + 1.566704412802369e+03 1.566631908185271e+03 1.566556025949555e+03 1.566476768574717e+03 1.566394138546961e+03 + 1.566308138359204e+03 1.566218770511069e+03 1.566126037508891e+03 1.566029941865714e+03 1.565930486101294e+03 + 1.565827672742092e+03 1.565721504321283e+03 1.565611983378751e+03 1.565499112461087e+03 1.565382894121595e+03 + 1.565263330920288e+03 1.565140425423888e+03 1.565014180205826e+03 1.564884597846246e+03 1.564751680931997e+03 + 1.564615432056643e+03 1.564475853820452e+03 1.564332948830408e+03 1.564186719700199e+03 1.564037169050227e+03 + 1.563884299507601e+03 1.563728113706142e+03 1.563568614286379e+03 1.563405803895550e+03 1.563239685187607e+03 + 1.563070260823207e+03 1.562897533469719e+03 1.562721505801220e+03 1.562542180498501e+03 1.562359560249057e+03 + 1.562173647747097e+03 1.561984445693539e+03 1.561791956796009e+03 1.561596183768845e+03 1.561397129333092e+03 + 1.561194796216507e+03 1.560989187153558e+03 1.560780304885418e+03 1.560568152159974e+03 1.560352731731822e+03 + 1.560134046362267e+03 1.559912098819323e+03 1.559686891877715e+03 1.559458428318879e+03 1.559226710930956e+03 + 1.558991742508803e+03 1.558753525853981e+03 1.558512063774766e+03 1.558267359086140e+03 1.558019414609795e+03 + 1.557768233174136e+03 1.557513817614273e+03 1.557256170772030e+03 1.556995295495938e+03 1.556731194641239e+03 + 1.556463871069885e+03 1.556193327650536e+03 1.555919567258564e+03 1.555642592776049e+03 1.555362407091783e+03 + 1.555079013101264e+03 1.554792413706704e+03 1.554502611817021e+03 1.554209610347846e+03 1.553913412221517e+03 + 1.553614020367084e+03 1.553311437720305e+03 1.553005667223649e+03 1.552696711826295e+03 1.552384574484129e+03 + 1.552069258159750e+03 1.551750765822466e+03 1.551429100448294e+03 1.551104265019960e+03 1.550776262526902e+03 + 1.550445095965265e+03 1.550110768337907e+03 1.549773282654394e+03 1.549432641931000e+03 1.549088849190713e+03 + 1.548741907463227e+03 1.548391819784946e+03 1.548038589198987e+03 1.547682218755173e+03 1.547322711510039e+03 + 1.546960070526829e+03 1.546594298875496e+03 1.546225399632705e+03 1.545853375881829e+03 1.545478230712950e+03 + 1.545099967222861e+03 1.544718588515066e+03 1.544334097699777e+03 1.543946497893915e+03 1.543555792221112e+03 + 1.543161983811711e+03 1.542765075802762e+03 1.542365071338026e+03 1.541961973567975e+03 1.541555785649789e+03 + 1.541146510747358e+03 1.540734152031283e+03 1.540318712678874e+03 1.539900195874149e+03 1.539478604807839e+03 + 1.539053942677383e+03 1.538626212686929e+03 1.538195418047336e+03 1.537761561976173e+03 1.537324647697717e+03 + 1.536884678442957e+03 1.536441657449592e+03 1.535995587962026e+03 1.535546473231378e+03 1.535094316515475e+03 + 1.534639121078853e+03 1.534180890192759e+03 1.533719627135150e+03 1.533255335190690e+03 1.532788017650757e+03 + 1.532317677813435e+03 1.531844318983518e+03 1.531367944472514e+03 1.530888557598635e+03 1.530406161686807e+03 + 1.529920760068664e+03 1.529432356082550e+03 1.528940953073517e+03 1.528446554393331e+03 1.527949163400464e+03 + 1.527448783460099e+03 1.526945417944129e+03 1.526439070231157e+03 1.525929743706494e+03 1.525417441762163e+03 + 1.524902167796895e+03 1.524383925216131e+03 1.523862717432025e+03 1.523338547863434e+03 1.522811419935932e+03 + 1.522281337081799e+03 1.521748302740024e+03 1.521212320356308e+03 1.520673393383061e+03 1.520131525279401e+03 + 1.519586719511159e+03 1.519038979550873e+03 1.518488308877793e+03 1.517934710977876e+03 1.517378189343791e+03 + 1.516818747474916e+03 1.516256388877339e+03 1.515691117063858e+03 1.515122935553979e+03 1.514551847873920e+03 + 1.513977857556607e+03 1.513400968141679e+03 1.512821183175479e+03 1.512238506211065e+03 1.511652940808203e+03 + 1.511064490533368e+03 1.510473158959745e+03 1.509878949667230e+03 1.509281866242427e+03 1.508681912278651e+03 + 1.508079091375926e+03 1.507473407140987e+03 1.506864863187277e+03 1.506253463134950e+03 1.505639210610869e+03 + 1.505022109248608e+03 1.504402162688449e+03 1.503779374577385e+03 1.503153748569118e+03 1.502525288324061e+03 + 1.501893997509335e+03 1.501259879798773e+03 1.500622938872914e+03 1.499983178419011e+03 1.499340602131025e+03 + 1.498695213709626e+03 1.498047016862194e+03 1.497396015302820e+03 1.496742212752304e+03 1.496085612938155e+03 + 1.495426219594593e+03 1.494764036462547e+03 1.494099067289655e+03 1.493431315830267e+03 1.492760785845442e+03 + 1.492087481102946e+03 1.491411405377259e+03 1.490732562449567e+03 1.490050956107769e+03 1.489366590146471e+03 + 1.488679468366991e+03 1.487989594577355e+03 1.487296972592300e+03 1.486601606233272e+03 1.485903499328426e+03 + 1.485202655712629e+03 1.484499079227457e+03 1.483792773721193e+03 1.483083743048834e+03 1.482371991072084e+03 + 1.481657521659358e+03 1.480940338685780e+03 1.480220446033183e+03 1.479497847590113e+03 1.478772547251821e+03 + 1.478044548920272e+03 1.477313856504138e+03 1.476580473918802e+03 1.475844405086357e+03 1.475105653935605e+03 + 1.474364224402058e+03 1.473620120427938e+03 1.472873345962177e+03 1.472123904960415e+03 1.471371801385004e+03 + 1.470617039205005e+03 1.469859622396187e+03 1.469099554941032e+03 1.468336840828730e+03 1.467571484055180e+03 + 1.466803488622991e+03 1.466032858541484e+03 1.465259597826687e+03 1.464483710501340e+03 1.463705200594890e+03 + 1.462924072143496e+03 1.462140329190026e+03 1.461353975784058e+03 1.460565015981880e+03 1.459773453846489e+03 + 1.458979293447591e+03 1.458182538861605e+03 1.457383194171656e+03 1.456581263467582e+03 1.455776750845927e+03 + 1.454969660409948e+03 1.454159996269611e+03 1.453347762541590e+03 1.452532963349272e+03 1.451715602822750e+03 + 1.450895685098830e+03 1.450073214321026e+03 1.449248194639563e+03 1.448420630211373e+03 1.447590525200101e+03 + 1.446757883776100e+03 1.445922710116434e+03 1.445085008404874e+03 1.444244782831905e+03 1.443402037594718e+03 + 1.442556776897215e+03 1.441709004950008e+03 1.440858725970420e+03 1.440005944182481e+03 1.439150663816933e+03 + 1.438292889111226e+03 1.437432624309523e+03 1.436569873662692e+03 1.435704641428314e+03 1.434836931870678e+03 + 1.433966749260786e+03 1.433094097876346e+03 1.432218982001777e+03 1.431341405928208e+03 1.430461373953479e+03 + 1.429578890382137e+03 1.428693959525441e+03 1.427806585701360e+03 1.426916773234569e+03 1.426024526456458e+03 + 1.425129849705122e+03 1.424232747325370e+03 1.423333223668719e+03 1.422431283093393e+03 1.421526929964331e+03 + 1.420620168653178e+03 1.419711003538289e+03 1.418799439004731e+03 1.417885479444278e+03 1.416969129255415e+03 + 1.416050392843337e+03 1.415129274619950e+03 1.414205779003866e+03 1.413279910420411e+03 1.412351673301618e+03 + 1.411421072086230e+03 1.410488111219700e+03 1.409552795154193e+03 1.408615128348581e+03 1.407675115268446e+03 + 1.406732760386080e+03 1.405788068180486e+03 1.404841043137375e+03 1.403891689749170e+03 1.402940012515001e+03 + 1.401986015940709e+03 1.401029704538846e+03 1.400071082828672e+03 1.399110155336157e+03 1.398146926593981e+03 + 1.397181401141535e+03 1.396213583524918e+03 1.395243478296938e+03 1.394271090017116e+03 1.393296423251680e+03 + 1.392319482573570e+03 1.391340272562432e+03 1.390358797804626e+03 1.389375062893219e+03 1.388389072427989e+03 + 1.387400831015423e+03 1.386410343268718e+03 1.385417613807782e+03 1.384422647259231e+03 1.383425448256391e+03 + 1.382426021439299e+03 1.381424371454700e+03 1.380420502956051e+03 1.379414420603515e+03 1.378406129063970e+03 + 1.377395633010999e+03 1.376382937124898e+03 1.375368046092671e+03 1.374350964608031e+03 1.373331697371403e+03 + 1.372310249089921e+03 1.371286624477428e+03 1.370260828254477e+03 1.369232865148331e+03 1.368202739892964e+03 + 1.367170457229056e+03 1.366136021904002e+03 1.365099438671902e+03 1.364060712293568e+03 1.363019847536522e+03 + 1.361976849174995e+03 1.360931721989928e+03 1.359884470768972e+03 1.358835100306487e+03 1.357783615403544e+03 + 1.356730020867921e+03 1.355674321514110e+03 1.354616522163310e+03 1.353556627643430e+03 1.352494642789090e+03 + 1.351430572441617e+03 1.350364421449050e+03 1.349296194666138e+03 1.348225896954338e+03 1.347153533181818e+03 + 1.346079108223457e+03 1.345002626960841e+03 1.343924094282267e+03 1.342843515082743e+03 1.341760894263984e+03 + 1.340676236734416e+03 1.339589547409177e+03 1.338500831210112e+03 1.337410093065776e+03 1.336317337911434e+03 + 1.335222570689062e+03 1.334125796347346e+03 1.333027019841677e+03 1.331926246134163e+03 1.330823480193616e+03 + 1.329718726995561e+03 1.328611991522230e+03 1.327503278762568e+03 1.326392593712228e+03 1.325279941373571e+03 + 1.324165326755672e+03 1.323048754874311e+03 1.321930230751983e+03 1.320809759417887e+03 1.319687345907936e+03 + 1.318562995264752e+03 1.317436712537665e+03 1.316308502782716e+03 1.315178371062656e+03 1.314046322446946e+03 + 1.312912362011755e+03 1.311776494839963e+03 1.310638726021160e+03 1.309499060651645e+03 1.308357503834428e+03 + 1.307214060679228e+03 1.306068736302473e+03 1.304921535827301e+03 1.303772464383560e+03 1.302621527107810e+03 + 1.301468729143317e+03 1.300314075640058e+03 1.299157571754721e+03 1.297999222650704e+03 1.296839033498112e+03 + 1.295677009473761e+03 1.294513155761180e+03 1.293347477550602e+03 1.292179980038974e+03 1.291010668429951e+03 + 1.289839547933899e+03 1.288666623767893e+03 1.287491901155716e+03 1.286315385327865e+03 1.285137081521542e+03 + 1.283956994980662e+03 1.282775130955849e+03 1.281591494704436e+03 1.280406091490466e+03 1.279218926584693e+03 + 1.278030005264579e+03 1.276839332814297e+03 1.275646914524728e+03 1.274452755693465e+03 1.273256861624810e+03 + 1.272059237629775e+03 1.270859889026079e+03 1.269658821138155e+03 1.268456039297144e+03 1.267251548840895e+03 + 1.266045355113969e+03 1.264837463467636e+03 1.263627879259876e+03 1.262416607855379e+03 1.261203654625543e+03 + 1.259989024948479e+03 1.258772724209004e+03 1.257554757798647e+03 1.256335131115646e+03 1.255113849564950e+03 + 1.253890918558217e+03 1.252666343513813e+03 1.251440129856817e+03 1.250212283019015e+03 1.248982808438904e+03 + 1.247751711561691e+03 1.246518997839292e+03 1.245284672730334e+03 1.244048741700151e+03 1.242811210220790e+03 + 1.241572083771006e+03 1.240331367836264e+03 1.239089067908740e+03 1.237845189487317e+03 1.236599738077590e+03 + 1.235352719191863e+03 1.234104138349150e+03 1.232854001075175e+03 1.231602312902370e+03 1.230349079369880e+03 + 1.229094306023557e+03 1.227837998415964e+03 1.226580162106373e+03 1.225320802660766e+03 1.224059925651835e+03 + 1.222797536658982e+03 1.221533641268318e+03 1.220268245072664e+03 1.219001353671552e+03 1.217732972671222e+03 + 1.216463107684624e+03 1.215191764331420e+03 1.213918948237977e+03 1.212644665037377e+03 1.211368920369408e+03 + 1.210091719880570e+03 1.208813069224072e+03 1.207532974059833e+03 1.206251440054480e+03 1.204968472881353e+03 + 1.203684078220499e+03 1.202398261758676e+03 1.201111029189351e+03 1.199822386212701e+03 1.198532338535615e+03 + 1.197240891871687e+03 1.195948051941225e+03 1.194653824471246e+03 1.193358215195474e+03 1.192061229854346e+03 + 1.190762874195007e+03 1.189463153971313e+03 1.188162074943828e+03 1.186859642879827e+03 1.185555863553295e+03 + 1.184250742744927e+03 1.182944286242125e+03 1.181636499839004e+03 1.180327389336388e+03 1.179016960541809e+03 + 1.177705219269511e+03 1.176392171340446e+03 1.175077822582277e+03 1.173762178829377e+03 1.172445245922827e+03 + 1.171127029710419e+03 1.169807536046655e+03 1.168486770792745e+03 1.167164739816612e+03 1.165841448992886e+03 + 1.164516904202907e+03 1.163191111334726e+03 1.161864076283103e+03 1.160535804949508e+03 1.159206303242120e+03 + 1.157875577075829e+03 1.156543632372233e+03 1.155210475059642e+03 1.153876111073074e+03 1.152540546354257e+03 + 1.151203786851631e+03 1.149865838520342e+03 1.148526707322247e+03 1.147186399225916e+03 1.145844920206624e+03 + 1.144502276246358e+03 1.143158473333815e+03 1.141813517464402e+03 1.140467414640234e+03 1.139120170870139e+03 + 1.137771792169650e+03 1.136422284561014e+03 1.135071654073185e+03 1.133719906741829e+03 1.132367048609320e+03 + 1.131013085724743e+03 1.129658024143891e+03 1.128301869929270e+03 1.126944629150092e+03 1.125586307882280e+03 + 1.124226912208469e+03 1.122866448218001e+03 1.121504922006928e+03 1.120142339678013e+03 1.118778707340729e+03 + 1.117414031111256e+03 1.116048317112488e+03 1.114681571474025e+03 1.113313800332179e+03 1.111945009829970e+03 + 1.110575206117129e+03 1.109204395350097e+03 1.107832583692024e+03 1.106459777312770e+03 1.105085982388904e+03 + 1.103711205103706e+03 1.102335451647166e+03 1.100958728215983e+03 1.099581041013564e+03 1.098202396250028e+03 + 1.096822800142205e+03 1.095442258913632e+03 1.094060778794555e+03 1.092678366021934e+03 1.091295026839436e+03 + 1.089910767497437e+03 1.088525594253023e+03 1.087139513369993e+03 1.085752531118851e+03 1.084364653776815e+03 + 1.082975887627809e+03 1.081586238962469e+03 1.080195714078142e+03 1.078804319278880e+03 1.077412060875450e+03 + 1.076018945185327e+03 1.074624978532693e+03 1.073230167248444e+03 1.071834517670182e+03 1.070438036142223e+03 + 1.069040729015589e+03 1.067642602648012e+03 1.066243663403937e+03 1.064843917654515e+03 1.063443371777609e+03 + 1.062042032157791e+03 1.060639905186343e+03 1.059236997261256e+03 1.057833314787232e+03 1.056428864175682e+03 + 1.055023651844726e+03 1.053617684219196e+03 1.052210967730631e+03 1.050803508817282e+03 1.049395313897890e+03 + 1.047986388534756e+03 1.046576737255851e+03 1.045166364529164e+03 1.043755274824231e+03 1.042343472612131e+03 + 1.040930962365484e+03 1.039517748558457e+03 1.038103835666756e+03 1.036689228167636e+03 1.035273930539893e+03 + 1.033857947263865e+03 1.032441282821436e+03 1.031023941696033e+03 1.029605928372625e+03 1.028187247337727e+03 + 1.026767903079397e+03 1.025347900087235e+03 1.023927242852386e+03 1.022505935867538e+03 1.021083983626923e+03 + 1.019661390626317e+03 1.018238161363038e+03 1.016814300335948e+03 1.015389812045455e+03 1.013964700993507e+03 + 1.012538971683598e+03 1.011112628620765e+03 1.009685676311588e+03 1.008258119264191e+03 1.006829961988242e+03 + 1.005401208994952e+03 1.003971864797076e+03 1.002541933908912e+03 1.001111420846301e+03 9.996803301266303e+02 + 9.982486662688275e+02 9.968164337933661e+02 9.953836372222621e+02 9.939502810790750e+02 9.925163698889086e+02 + 9.910819081784098e+02 9.896469004757686e+02 9.882113513107199e+02 9.867752652145410e+02 9.853386467200531e+02 + 9.839015003616214e+02 9.824638306751541e+02 9.810256421981031e+02 9.795869394694643e+02 9.781477270297768e+02 + 9.767080094211232e+02 9.752677911871300e+02 9.738270768729670e+02 9.723858710253478e+02 9.709441781925295e+02 + 9.695020029243127e+02 9.680593497720415e+02 9.666162232886040e+02 9.651726280284314e+02 9.637285685474986e+02 + 9.622840494033246e+02 9.608390751549712e+02 9.593936503630440e+02 9.579477795896925e+02 9.565014673986094e+02 + 9.550547183550314e+02 9.536075370257383e+02 9.521599279790540e+02 9.507118957848456e+02 9.492634450145238e+02 + 9.478145802410424e+02 9.463653060389005e+02 9.449156269841388e+02 9.434655476543426e+02 9.420150726286407e+02 + 9.405642064877048e+02 9.391129538137513e+02 9.376613191905399e+02 9.362093072033728e+02 9.347569224390970e+02 + 9.333041694861028e+02 9.318510529343232e+02 9.303975773752362e+02 9.289437474018629e+02 9.274895676087672e+02 + 9.260350425920570e+02 9.245801769493847e+02 9.231249752799448e+02 9.216694421844763e+02 9.202135822652619e+02 + 9.187574001261273e+02 9.173009003724419e+02 9.158440876111187e+02 9.143869664506148e+02 9.129295415009306e+02 + 9.114718173736089e+02 9.100137986817383e+02 9.085554900399494e+02 9.070968960644165e+02 9.056380213728581e+02 + 9.041788705845360e+02 9.027194483202552e+02 9.012597592023648e+02 8.997998078547574e+02 8.983395989028686e+02 + 8.968791369736786e+02 8.954184266957105e+02 8.939574726990309e+02 8.924962796152502e+02 8.910348520775226e+02 + 8.895731947205452e+02 8.881113121805595e+02 8.866492090953504e+02 8.851868901042455e+02 8.837243598481174e+02 + 8.822616229693809e+02 8.807986841119955e+02 8.793355479214636e+02 8.778722190448314e+02 8.764087021306887e+02 + 8.749450018291686e+02 8.734811227919481e+02 8.720170696722481e+02 8.705528471248323e+02 8.690884598060085e+02 + 8.676239123736278e+02 8.661592094870851e+02 8.646943558073189e+02 8.632293559968109e+02 8.617642147195870e+02 + 8.602989366412162e+02 8.588335264288111e+02 8.573679887510280e+02 8.559023282780669e+02 8.544365496816713e+02 + 8.529706576351281e+02 8.515046568132680e+02 8.500385518924651e+02 8.485723475506371e+02 8.471060484672456e+02 + 8.456396593232956e+02 8.441731848013352e+02 8.427066295854568e+02 8.412399983612960e+02 8.397732958160319e+02 + 8.383065266383875e+02 8.368396955186294e+02 8.353728071485672e+02 8.339058662215547e+02 8.324388774324890e+02 + 8.309718454778108e+02 8.295047750555044e+02 8.280376708650979e+02 8.265705376076626e+02 8.251033799858133e+02 + 8.236362027037090e+02 8.221690104670519e+02 8.207018079830875e+02 8.192345999606056e+02 8.177673911099388e+02 + 8.163001861429635e+02 8.148329897731001e+02 8.133658067153123e+02 8.118986416861073e+02 8.104314994035359e+02 + 8.089643845871925e+02 8.074973019582153e+02 8.060302562392853e+02 8.045632521546285e+02 8.030962944300132e+02 + 8.016293877927517e+02 8.001625369717000e+02 7.986957466972576e+02 7.972290217013673e+02 7.957623667175162e+02 + 7.942957864807344e+02 7.928292857275953e+02 7.913628691962167e+02 7.898965416262595e+02 7.884303077589279e+02 + 7.869641723369706e+02 7.854981401046790e+02 7.840322158078881e+02 7.825664041939773e+02 7.811007100118686e+02 + 7.796351380120283e+02 7.781696929464658e+02 7.767043795687346e+02 7.752392026339312e+02 7.737741668986956e+02 + 7.723092771212124e+02 7.708445380612087e+02 7.693799544799557e+02 7.679155311402681e+02 7.664512728065041e+02 + 7.649871842445651e+02 7.635232702218972e+02 7.620595355074889e+02 7.605959848718730e+02 7.591326230871256e+02 + 7.576694549268664e+02 7.562064851662584e+02 7.547437185820088e+02 7.532811599523681e+02 7.518188140571300e+02 + 7.503566856776325e+02 7.488947795967565e+02 7.474331005989271e+02 7.459716534701122e+02 7.445104429978242e+02 + 7.430494739711182e+02 7.415887511805935e+02 7.401282794183929e+02 7.386680634782024e+02 7.372081081552518e+02 + 7.357484182463149e+02 7.342889985497084e+02 7.328298538652926e+02 7.313709889944722e+02 7.299124087401947e+02 + 7.284541179069513e+02 7.269961213007771e+02 7.255384237292504e+02 7.240810300014931e+02 7.226239449281712e+02 + 7.211671733214938e+02 7.197107199952134e+02 7.182545897646269e+02 7.167987874465738e+02 7.153433178594373e+02 + 7.138881858231457e+02 7.124333961591685e+02 7.109789536905207e+02 7.095248632417597e+02 7.080711296389870e+02 + 7.066177577098478e+02 7.051647522835304e+02 7.037121181907675e+02 7.022598602638342e+02 7.008079833365500e+02 + 6.993564922442782e+02 6.979053918239249e+02 6.964546869139400e+02 6.950043823543177e+02 6.935544829865950e+02 + 6.921049936538523e+02 6.906559192007142e+02 6.892072644733491e+02 6.877590343194680e+02 6.863112335883264e+02 + 6.848638671307228e+02 6.834169397989994e+02 6.819704564470420e+02 6.805244219302806e+02 6.790788411056876e+02 + 6.776337188317796e+02 6.761890599686175e+02 6.747448693778041e+02 6.733011519224871e+02 6.718579124673579e+02 + 6.704151558786504e+02 6.689728870241429e+02 6.675311107731571e+02 6.660898319965579e+02 6.646490555667547e+02 + 6.632087863576994e+02 6.617690292448882e+02 6.603297891053608e+02 6.588910708177000e+02 6.574528792620325e+02 + 6.560152193200289e+02 6.545780958749028e+02 6.531415138114120e+02 6.517054780158572e+02 6.502699933760831e+02 + 6.488350647814780e+02 6.474006971229736e+02 6.459668952930450e+02 6.445336641857116e+02 6.431010086965356e+02 + 6.416689337226230e+02 6.402374441626239e+02 6.388065449167315e+02 6.373762408866819e+02 6.359465369757564e+02 + 6.345174380887786e+02 6.330889491321157e+02 6.316610750136796e+02 6.302338206429247e+02 6.288071909308491e+02 + 6.273811907899951e+02 6.259558251344477e+02 6.245310988798360e+02 6.231070169433332e+02 6.216835842436550e+02 + 6.202608057010611e+02 6.188386862373554e+02 6.174172307758844e+02 6.159964442415383e+02 6.145763315607522e+02 + 6.131568976615030e+02 6.117381474733122e+02 6.103200859272448e+02 6.089027179559087e+02 6.074860484934565e+02 + 6.060700824755835e+02 6.046548248395288e+02 6.032402805240755e+02 6.018264544695495e+02 6.004133516178208e+02 + 5.990009769123031e+02 5.975893352979532e+02 5.961784317212720e+02 5.947682711303036e+02 5.933588584746357e+02 + 5.919501987053994e+02 5.905422967752705e+02 5.891351576384668e+02 5.877287862507508e+02 5.863231875694282e+02 + 5.849183665533477e+02 5.835143281629030e+02 5.821110773600302e+02 5.807086191082091e+02 5.793069583724634e+02 + 5.779061001193606e+02 5.765060493170109e+02 5.751068109350690e+02 5.737083899447330e+02 5.723107913187440e+02 + 5.709140200313871e+02 5.695180810584912e+02 5.681229793774282e+02 5.667287199671144e+02 5.653353078080089e+02 + 5.639427478821145e+02 5.625510451729782e+02 5.611602046656897e+02 5.597702313468828e+02 5.583811302047351e+02 + 5.569929062289672e+02 5.556055644108436e+02 5.542191097431725e+02 5.528335472203050e+02 5.514488818381369e+02 + 5.500651185941068e+02 5.486822624871968e+02 5.473003185179330e+02 5.459192916883851e+02 5.445391870021655e+02 + 5.431600094644319e+02 5.417817640818839e+02 5.404044558627653e+02 5.390280898168637e+02 5.376526709555103e+02 + 5.362782042915790e+02 5.349046948394886e+02 5.335321476152006e+02 5.321605676362202e+02 5.307899599215965e+02 + 5.294203294919217e+02 5.280516813693320e+02 5.266840205775071e+02 5.253173521416702e+02 5.239516810885877e+02 + 5.225870124465707e+02 5.212233512454725e+02 5.198607025166908e+02 5.184990712931668e+02 5.171384626093851e+02 + 5.157788815013741e+02 5.144203330067055e+02 5.130628221644946e+02 5.117063540154008e+02 5.103509336016263e+02 + 5.089965659669175e+02 5.076432561565640e+02 5.062910092173990e+02 5.049398301977998e+02 5.035897241476866e+02 + 5.022406961185235e+02 5.008927511633182e+02 4.995458943366220e+02 4.982001306945292e+02 4.968554652946787e+02 + 4.955119031962524e+02 4.941694494599757e+02 4.928281091481178e+02 4.914878873244913e+02 4.901487890544524e+02 + 4.888108194049014e+02 4.874739834442815e+02 4.861382862425793e+02 4.848037328713260e+02 4.834703284035954e+02 + 4.821380779140055e+02 4.808069864787175e+02 4.794770591754360e+02 4.781483010834104e+02 4.768207172834317e+02 + 4.754943128578365e+02 4.741690928905032e+02 4.728450624668552e+02 4.715222266738587e+02 4.702005906000235e+02 + 4.688801593354034e+02 4.675609379715956e+02 4.662429316017405e+02 4.649261453205227e+02 4.636105842241698e+02 + 4.622962534104534e+02 4.609831579786886e+02 4.596713030297340e+02 4.583606936659914e+02 4.570513349914071e+02 + 4.557432321114703e+02 4.544363901332138e+02 4.531308141652141e+02 4.518265093175915e+02 4.505234807020092e+02 + 4.492217334316751e+02 4.479212726213398e+02 4.466221033872973e+02 4.453242308473862e+02 4.440276601209875e+02 + 4.427323963290266e+02 4.414384445939725e+02 4.401458100398370e+02 4.388544977921764e+02 4.375645129780900e+02 + 4.362758607262207e+02 4.349885461667554e+02 4.337025744314242e+02 4.324179506535007e+02 4.311346799678025e+02 + 4.298527675106906e+02 4.285722184200691e+02 4.272930378353866e+02 4.260152308976346e+02 4.247388027493482e+02 + 4.234637585346064e+02 4.221901033990317e+02 4.209178424897899e+02 4.196469809555908e+02 4.183775239466873e+02 + 4.171094766148764e+02 4.158428441134982e+02 4.145776315974367e+02 4.133138442231195e+02 4.120514871485177e+02 + 4.107905655331455e+02 4.095310845380616e+02 4.082730493258674e+02 4.070164650607085e+02 4.057613369082738e+02 + 4.045076700357962e+02 4.032554696120511e+02 4.020047408073589e+02 4.007554887935824e+02 3.995077187441286e+02 + 3.982614358339480e+02 3.970166452395346e+02 3.957733521389259e+02 3.945315617117033e+02 3.932912791389912e+02 + 3.920525096034583e+02 3.908152582893162e+02 3.895795303823206e+02 3.883453310697706e+02 3.871126655405087e+02 + 3.858815389849212e+02 3.846519565949380e+02 3.834239235640323e+02 3.821974450872211e+02 3.809725263610652e+02 + 3.797491725836686e+02 3.785273889546788e+02 3.773071806752873e+02 3.760885529482291e+02 3.748715109777822e+02 + 3.736560599697692e+02 3.724422051315553e+02 3.712299516720498e+02 3.700193048017055e+02 3.688102697325187e+02 + 3.676028516780295e+02 3.663970558533210e+02 3.651928874750207e+02 3.639903517612993e+02 3.627894539318706e+02 + 3.615901992079928e+02 3.603925928124674e+02 3.591966399696389e+02 3.580023459053963e+02 3.568097158471716e+02 + 3.556187550239405e+02 3.544294686662223e+02 3.532418620060801e+02 3.520559402771199e+02 3.508717087144923e+02 + 3.496891725548904e+02 3.485083370365518e+02 3.473292073992571e+02 3.461517888843309e+02 3.449760867346407e+02 + 3.438021061945983e+02 3.426298525101589e+02 3.414593309288210e+02 3.402905466996269e+02 3.391235050731623e+02 + 3.379582113015570e+02 3.367946706384836e+02 3.356328883391590e+02 3.344728696603431e+02 3.333146198603399e+02 + 3.321581441989965e+02 3.310034479377038e+02 3.298505363393963e+02 3.286994146685523e+02 3.275500881911931e+02 + 3.264025621748842e+02 3.252568418887342e+02 3.241129326033955e+02 3.229708395910641e+02 3.218305681254797e+02 + 3.206921234819250e+02 3.195555109372272e+02 3.184207357697562e+02 3.172878032594259e+02 3.161567186876940e+02 + 3.150274873375612e+02 3.139001144935722e+02 3.127746054418153e+02 3.116509654699221e+02 3.105291998670680e+02 + 3.094093139239718e+02 3.082913129328962e+02 3.071752021876472e+02 3.060609869835743e+02 3.049486726175709e+02 + 3.038382643880739e+02 3.027297675950632e+02 3.016231875400634e+02 3.005185295261418e+02 2.994157988579094e+02 + 2.983150008415209e+02 2.972161407846750e+02 2.961192239966130e+02 2.950242557881208e+02 2.939312414715272e+02 + 2.928401863607048e+02 2.917510957710699e+02 2.906639750195822e+02 2.895788294247451e+02 2.884956643066055e+02 + 2.874144849867538e+02 2.863352967883243e+02 2.852581050359946e+02 2.841829150559857e+02 2.831097321760628e+02 + 2.820385617255341e+02 2.809694090352515e+02 2.799022794376108e+02 2.788371782665511e+02 2.777741108575549e+02 + 2.767130825476488e+02 2.756540986754025e+02 2.745971645809293e+02 2.735422856058867e+02 2.724894670934750e+02 + 2.714387143884384e+02 2.703900328370648e+02 2.693434277871856e+02 2.682989045881756e+02 2.672564685909533e+02 + 2.662161251479810e+02 2.651778796132642e+02 2.641417373423522e+02 2.631077036923379e+02 2.620757840218578e+02 + 2.610459836910915e+02 2.600183080617631e+02 2.589927624971394e+02 2.579693523620314e+02 2.569480830227931e+02 + 2.559289598473227e+02 2.549119882050614e+02 2.538971734669946e+02 2.528845210056507e+02 2.518740361951020e+02 + 2.508657244109642e+02 2.498595910303967e+02 2.488556414321026e+02 2.478538809963281e+02 2.468543151048638e+02 + 2.458569491410431e+02 2.448617884897432e+02 2.438688385373852e+02 2.428781046719333e+02 2.418895922828956e+02 + 2.409033067613238e+02 2.399192534998131e+02 2.389374378925019e+02 2.379578653350729e+02 2.369805412247519e+02 + 2.360054709603084e+02 2.350326599420553e+02 2.340621135718494e+02 2.330938372530911e+02 2.321278363907239e+02 + 2.311641163912353e+02 2.302026826626565e+02 2.292435406145617e+02 2.282866956580692e+02 2.273321532058407e+02 + 2.263799186720815e+02 2.254299974725404e+02 2.244823950245099e+02 2.235371167468261e+02 2.225941680598685e+02 + 2.216535543855603e+02 2.207152811473682e+02 2.197793537703028e+02 2.188457776809178e+02 2.179145583073106e+02 + 2.169857010791227e+02 2.160592114275385e+02 2.151350947852860e+02 2.142133565866376e+02 2.132940022674083e+02 + 2.123770372649571e+02 2.114624670181867e+02 2.105502969675431e+02 2.096405325550162e+02 2.087331792241393e+02 + 2.078282424199890e+02 2.069257275891860e+02 2.060256401798943e+02 2.051279856418216e+02 2.042327694262190e+02 + 2.033399969858813e+02 2.024496737751469e+02 2.015618052498977e+02 2.006763968675590e+02 1.997934540871004e+02 + 1.989129823690343e+02 1.980349871754169e+02 1.971594739698481e+02 1.962864482174713e+02 1.954159153849736e+02 + 1.945478809405854e+02 1.936823503540812e+02 1.928193290967781e+02 1.919588226415381e+02 1.911008364627658e+02 + 1.902453760364096e+02 1.893924468399617e+02 1.885420543524577e+02 1.876942040544768e+02 1.868489014281417e+02 + 1.860061519571189e+02 1.851659611266184e+02 1.843283344233937e+02 1.834932773357418e+02 1.826607953535034e+02 + 1.818308939680629e+02 1.810035786723481e+02 1.801788549608304e+02 1.793567283295249e+02 1.785372042759901e+02 + 1.777202882993282e+02 1.769059859001850e+02 1.760943025807497e+02 1.752852438447554e+02 1.744788151974785e+02 + 1.736750221457390e+02 1.728738701979007e+02 1.720753648638706e+02 1.712795116550998e+02 1.704863160845825e+02 + 1.696957836668566e+02 1.689079199180039e+02 1.681227303556493e+02 1.673402204989617e+02 1.665603958686532e+02 + 1.657832619869799e+02 1.650088243777409e+02 1.642370885662795e+02 1.634680600794823e+02 1.627017444457793e+02 + 1.619381471951445e+02 1.611772738590951e+02 1.604191299706921e+02 1.596637210645399e+02 1.589110526767867e+02 + 1.581611303451241e+02 1.574139596087874e+02 1.566695460085554e+02 1.559278950867503e+02 1.551890123872385e+02 + 1.544529034554292e+02 1.537195738382757e+02 1.529890290842748e+02 1.522612747434666e+02 1.515363163674351e+02 + 1.508141595093076e+02 1.500948097237555e+02 1.493782725669932e+02 1.486645535967789e+02 1.479536583724143e+02 + 1.472455924547449e+02 1.465403614061596e+02 1.458379707905909e+02 1.451384261735148e+02 1.444417331219514e+02 + 1.437478972044633e+02 1.430569239911578e+02 1.423688190536853e+02 1.416835879652396e+02 1.410012363005585e+02 + 1.403217696359229e+02 1.396451935491577e+02 1.389715136196312e+02 1.383007354282553e+02 1.376328645574854e+02 + 1.369679065913208e+02 1.363058671153038e+02 1.356467517165207e+02 1.349905659836014e+02 1.343373155067194e+02 + 1.336870058775913e+02 1.330396426894780e+02 1.323952315371832e+02 1.317537780170550e+02 1.311152877269845e+02 + 1.304797662664065e+02 1.298472192362996e+02 1.292176522391855e+02 1.285910708791301e+02 1.279674807617425e+02 + 1.273468874941753e+02 1.267292966851250e+02 1.261147139448316e+02 1.255031448850783e+02 1.248945951191923e+02 + 1.242890702620443e+02 1.236865759300485e+02 1.230871177411627e+02 1.224907013148884e+02 1.218973322722703e+02 + 1.213070162358971e+02 1.207197588299010e+02 1.201355656799576e+02 1.195544424132864e+02 1.189763946586499e+02 + 1.184014280463548e+02 1.178295482082510e+02 1.172607607777323e+02 1.166950713897357e+02 1.161324856807421e+02 + 1.155730092887757e+02 1.150166478534045e+02 1.144634070157400e+02 1.139132924184372e+02 1.133663097056950e+02 + 1.128224645232555e+02 1.122817625184044e+02 1.117442093399712e+02 1.112098106383290e+02 1.106785720653942e+02 + 1.101504843345202e+02 1.096253193854976e+02 1.091027814759659e+02 1.085828903190926e+02 1.080656662057070e+02 + 1.075510744401853e+02 1.070391017583160e+02 1.065297369211215e+02 1.060229642403793e+02 1.055187689946627e+02 + 1.050171373101604e+02 1.045180558156006e+02 1.040215103049707e+02 1.035274865113781e+02 1.030359706887152e+02 + 1.025469492169604e+02 1.020604083357866e+02 1.015763340040288e+02 1.010947131078929e+02 1.006155327791835e+02 + 1.001387792631148e+02 9.966443911893010e+01 9.919249927205091e+01 9.872294669690289e+01 9.825576811144268e+01 + 9.779095024426459e+01 9.732848086108395e+01 9.686834738339628e+01 9.641053663288847e+01 9.595503591883143e+01 + 9.550183276437639e+01 9.505091470489599e+01 9.460226894357737e+01 9.415588307372171e+01 9.371174549820027e+01 + 9.326984390100915e+01 9.283016578095182e+01 9.239269910989660e+01 9.195743199867270e+01 9.152435246657959e+01 + 9.109344822825337e+01 9.066470776170968e+01 9.023811990175319e+01 8.981367265385576e+01 8.939135422700863e+01 + 8.897115319588202e+01 8.855305819940260e+01 8.813705766268812e+01 8.772313993524557e+01 8.731129428898021e+01 + 8.690150981214184e+01 8.649377498492467e+01 8.608807868460502e+01 8.568441000539183e+01 8.528275807208179e+01 + 8.488311171021131e+01 8.448546000255536e+01 8.408979283578468e+01 8.369609949978657e+01 8.330436902264381e+01 + 8.291459088961614e+01 8.252675470341519e+01 8.214085000107356e+01 8.175686603719873e+01 8.137479266933553e+01 + 8.099462018292702e+01 8.061633811896954e+01 8.023993612969721e+01 7.986540422509246e+01 7.949273245617202e+01 + 7.912191071864751e+01 7.875292880591886e+01 7.838577728963824e+01 7.802044667908689e+01 7.765692688210476e+01 + 7.729520814701189e+01 7.693528093921003e+01 7.657713574044320e+01 7.622076279877933e+01 7.586615250876412e+01 + 7.551329599462582e+01 7.516218394284439e+01 7.481280673973237e+01 7.446515517211270e+01 7.411922012543234e+01 + 7.377499243991551e+01 7.343246273248482e+01 7.309162206375170e+01 7.275246194060588e+01 7.241497325488510e+01 + 7.207914691168762e+01 7.174497413637995e+01 7.141244624067238e+01 7.108155440657860e+01 7.075228964021176e+01 + 7.042464364044737e+01 7.009860816502822e+01 6.977417437950896e+01 6.945133371117183e+01 6.913007780419414e+01 + 6.881039831641085e+01 6.849228672098478e+01 6.817573455985929e+01 6.786073404036127e+01 6.754727706019318e+01 + 6.723535518365489e+01 6.692496029976250e+01 6.661608442214438e+01 6.630871955818391e+01 6.600285747074972e+01 + 6.569849025826812e+01 6.539561050984807e+01 6.509421028016476e+01 6.479428156422156e+01 6.449581665898590e+01 + 6.419880794007263e+01 6.390324769379086e+01 6.360912802573969e+01 6.331644161216560e+01 6.302518126952705e+01 + 6.273533924838438e+01 6.244690800283556e+01 6.215988021335375e+01 6.187424856554645e+01 6.159000558852496e+01 + 6.130714382209544e+01 6.102565642873360e+01 6.074553634647369e+01 6.046677613965124e+01 6.018936867893675e+01 + 5.991330696615304e+01 5.963858400265185e+01 5.936519255461710e+01 5.909312563142009e+01 5.882237675846172e+01 + 5.855293899151076e+01 5.828480526925385e+01 5.801796883717194e+01 5.775242299813667e+01 5.748816098906929e+01 + 5.722517588172157e+01 5.696346118973321e+01 5.670301063052477e+01 5.644381744585571e+01 5.618587497447161e+01 + 5.592917675378749e+01 5.567371639288440e+01 5.541948735564524e+01 5.516648303666721e+01 5.491469740133566e+01 + 5.466412430128952e+01 5.441475721341882e+01 5.416658984866251e+01 5.391961604526729e+01 5.367382965707854e+01 + 5.342922435049869e+01 5.318579394824101e+01 5.294353276046760e+01 5.270243471566913e+01 5.246249358126801e+01 + 5.222370341980431e+01 5.198605834991378e+01 5.174955243603662e+01 5.151417956992881e+01 5.127993401538280e+01 + 5.104681029539683e+01 5.081480246751264e+01 5.058390465007635e+01 5.035411117607305e+01 5.012541641928832e+01 + 4.989781463692880e+01 4.967129999443014e+01 4.944586717469857e+01 4.922151081792142e+01 4.899822516393252e+01 + 4.877600466591702e+01 4.855484391176263e+01 4.833473749525371e+01 4.811567985888949e+01 4.789766553100244e+01 + 4.768068948486052e+01 4.746474643299185e+01 4.724983089968822e+01 4.703593761581940e+01 4.682306140175855e+01 + 4.661119706938157e+01 4.640033923440899e+01 4.619048280117971e+01 4.598162297433280e+01 4.577375454810339e+01 + 4.556687232031752e+01 4.536097129194708e+01 4.515604651624491e+01 4.495209295916556e+01 4.474910546848848e+01 + 4.454707932343867e+01 4.434600983627007e+01 4.414589194663536e+01 4.394672075425581e+01 4.374849149110094e+01 + 4.355119939554362e+01 4.335483958155968e+01 4.315940720272008e+01 4.296489783321342e+01 4.277130684141869e+01 + 4.257862938067940e+01 4.238686082011235e+01 4.219599659307687e+01 4.200603211268383e+01 4.181696265307154e+01 + 4.162878369849639e+01 4.144149102922540e+01 4.125508008000694e+01 4.106954625154178e+01 4.088488514080404e+01 + 4.070109237453877e+01 4.051816351991027e+01 4.033609404369983e+01 4.015487975529847e+01 3.997451654390139e+01 + 3.979499995457292e+01 3.961632565249730e+01 3.943848943565658e+01 3.926148710146721e+01 3.908531435163689e+01 + 3.890996689581685e+01 3.873544082272831e+01 3.856173207783515e+01 3.838883637414560e+01 3.821674961156019e+01 + 3.804546776546066e+01 3.787498680517137e+01 3.770530255859592e+01 3.753641100849845e+01 3.736830845518836e+01 + 3.720099088344971e+01 3.703445420945200e+01 3.686869456603723e+01 3.670370808841574e+01 3.653949085950763e+01 + 3.637603888796111e+01 3.621334844811717e+01 3.605141592615973e+01 3.589023740445852e+01 3.572980904042850e+01 + 3.557012712196481e+01 3.541118795282225e+01 3.525298774403768e+01 3.509552267323749e+01 3.493878928773343e+01 + 3.478278404343990e+01 3.462750313614663e+01 3.447294293878365e+01 3.431909990161546e+01 3.416597046087814e+01 + 3.401355094900445e+01 3.386183779648810e+01 3.371082772101448e+01 3.356051721064496e+01 3.341090265530899e+01 + 3.326198061398263e+01 3.311374767636361e+01 3.296620040125966e+01 3.281933525310492e+01 3.267314891432770e+01 + 3.252763821351709e+01 3.238279969616838e+01 3.223862995512887e+01 3.209512571750849e+01 3.195228370249094e+01 + 3.181010057023420e+01 3.166857295105629e+01 3.152769775432829e+01 3.138747186368265e+01 3.124789194582367e+01 + 3.110895478177638e+01 3.097065722333928e+01 3.083299612203396e+01 3.069596823521478e+01 3.055957038379009e+01 + 3.042379968490992e+01 3.028865305190764e+01 3.015412726448298e+01 3.002021927954454e+01 2.988692608783410e+01 + 2.975424465393443e+01 2.962217185358958e+01 2.949070472525562e+01 2.935984046863818e+01 2.922957605244617e+01 + 2.909990844798608e+01 2.897083474125067e+01 2.884235205411202e+01 2.871445744621140e+01 2.858714789194334e+01 + 2.846042066311678e+01 2.833427304434733e+01 2.820870204788112e+01 2.808370481822039e+01 2.795927858955916e+01 + 2.783542056310479e+01 2.771212788710439e+01 2.758939774558937e+01 2.746722754519704e+01 2.734561457842300e+01 + 2.722455602005491e+01 2.710404915757552e+01 2.698409131619408e+01 2.686467981339180e+01 2.674581188504884e+01 + 2.662748489299116e+01 2.650969637323688e+01 2.639244364869198e+01 2.627572402574995e+01 2.615953493480668e+01 + 2.604387380499337e+01 2.592873803144385e+01 2.581412497154068e+01 2.570003216993883e+01 2.558645721031992e+01 + 2.547339748309297e+01 2.536085044648649e+01 2.524881363723968e+01 2.513728460374055e+01 2.502626081142699e+01 + 2.491573971820056e+01 2.480571905896494e+01 2.469619646153339e+01 2.458716938319504e+01 2.447863542000312e+01 + 2.437059221927192e+01 2.426303741725681e+01 2.415596854366440e+01 2.404938323139217e+01 2.394327933047775e+01 + 2.383765447837906e+01 2.373250626120992e+01 2.362783239922733e+01 2.352363062421024e+01 2.341989863680159e+01 + 2.331663407933185e+01 2.321383475989216e+01 2.311149855755017e+01 2.300962316438995e+01 2.290820631357202e+01 + 2.280724581327735e+01 2.270673948178020e+01 2.260668508940155e+01 2.250708039173678e+01 2.240792334786956e+01 + 2.230921186720802e+01 2.221094371595302e+01 2.211311674173436e+01 2.201572884123411e+01 2.191877792312015e+01 + 2.182226182065280e+01 2.172617842216956e+01 2.163052579410284e+01 2.153530186271772e+01 2.144050449256298e+01 + 2.134613164544727e+01 2.125218130870039e+01 2.115865145244560e+01 2.106553997668644e+01 2.097284492087666e+01 + 2.088056441996010e+01 2.078869643251129e+01 2.069723893213309e+01 2.060618996606658e+01 2.051554761096601e+01 + 2.042530989859754e+01 2.033547481777502e+01 2.024604054022628e+01 2.015700522393599e+01 2.006836688994228e+01 + 1.998012363072147e+01 1.989227358045817e+01 1.980481486918973e+01 1.971774557717947e+01 1.963106382303616e+01 + 1.954476789103884e+01 1.945885594703988e+01 1.937332608222908e+01 1.928817649453870e+01 1.920340539662878e+01 + 1.911901098077130e+01 1.903499138773951e+01 1.895134486255558e+01 1.886806974988112e+01 1.878516424109755e+01 + 1.870262653275597e+01 1.862045489823334e+01 1.853864761644500e+01 1.845720293609644e+01 1.837611907561623e+01 + 1.829539441141390e+01 1.821502731690405e+01 1.813501600648008e+01 1.805535878852776e+01 1.797605402680784e+01 + 1.789710004813803e+01 1.781849513976010e+01 1.774023761822760e+01 1.766232596769640e+01 1.758475857461898e+01 + 1.750753373031707e+01 1.743064982368309e+01 1.735410526816905e+01 1.727789846424588e+01 1.720202775432962e+01 + 1.712649156263800e+01 1.705128842771503e+01 1.697641675133914e+01 1.690187492053174e+01 1.682766139576636e+01 + 1.675377465125957e+01 1.668021313537254e+01 1.660697525047803e+01 1.653405953620346e+01 1.646146456303875e+01 + 1.638918876353225e+01 1.631723061252691e+01 1.624558863577738e+01 1.617426136715184e+01 1.610324729276991e+01 + 1.603254489420701e+01 1.596215281065743e+01 1.589206962268447e+01 1.582229381597797e+01 1.575282394813798e+01 + 1.568365860435203e+01 1.561479636559848e+01 1.554623575841051e+01 1.547797536749664e+01 1.541001389568697e+01 + 1.534234992945672e+01 1.527498202635700e+01 1.520790881496337e+01 1.514112893627654e+01 1.507464101206718e+01 + 1.500844361854594e+01 1.494253544400039e+01 1.487691522461213e+01 1.481158156982783e+01 1.474653311471545e+01 + 1.468176854391490e+01 1.461728655322583e+01 1.455308580005108e+01 1.448916492494823e+01 1.442552270891503e+01 + 1.436215789907635e+01 1.429906914560298e+01 1.423625515786986e+01 1.417371467503432e+01 1.411144643634281e+01 + 1.404944913182382e+01 1.398772148936426e+01 1.392626235467004e+01 1.386507047757601e+01 1.380414456703780e+01 + 1.374348339923097e+01 1.368308576360786e+01 1.362295043539383e+01 1.356307614411792e+01 1.350346171009224e+01 + 1.344410601461897e+01 1.338500782259274e+01 1.332616591200318e+01 1.326757911048049e+01 1.320924625504148e+01 + 1.315116615215319e+01 1.309333758418828e+01 1.303575945915385e+01 1.297843067064863e+01 1.292135001185642e+01 + 1.286451632934388e+01 1.280792850075226e+01 1.275158540067995e+01 1.269548586414703e+01 1.263962874841400e+01 + 1.258401302186647e+01 1.252863758019894e+01 1.247350127006052e+01 1.241860299544399e+01 1.236394167532885e+01 + 1.230951622025856e+01 1.225532549825102e+01 1.220136844757296e+01 1.214764407513537e+01 1.209415128431592e+01 + 1.204088897936275e+01 1.198785611322907e+01 1.193505164847797e+01 1.188247452422181e+01 1.183012365035161e+01 + 1.177799804372636e+01 1.172609672645034e+01 1.167441862559045e+01 1.162296270435431e+01 1.157172795813644e+01 + 1.152071338824009e+01 1.146991795771504e+01 1.141934063624516e+01 1.136898050295155e+01 1.131883658051165e+01 + 1.126890783457083e+01 1.121919328583311e+01 1.116969196974251e+01 1.112040291453270e+01 1.107132511138846e+01 + 1.102245760367597e+01 1.097379950683186e+01 1.092534984778681e+01 1.087710764406476e+01 1.082907196010627e+01 + 1.078124186863284e+01 1.073361642501848e+01 1.068619465441603e+01 1.063897567074718e+01 1.059195860734133e+01 + 1.054514250814830e+01 1.049852644360809e+01 1.045210951602862e+01 1.040589083229813e+01 1.035986946911022e+01 + 1.031404450080543e+01 1.026841510170119e+01 1.022298040707346e+01 1.017773949095798e+01 1.013269147478631e+01 + 1.008783549702620e+01 1.004317069189082e+01 9.998696157456914e+00 9.954411030186206e+00 9.910314523784715e+00 + 9.866405774945729e+00 9.822683900561229e+00 9.779148062474189e+00 9.735797433007823e+00 9.692631171490490e+00 + 9.649648402951970e+00 9.606848328743531e+00 9.564230182014787e+00 9.521793107635142e+00 9.479536270440141e+00 + 9.437458869806633e+00 9.395560106559989e+00 9.353839157926716e+00 9.312295192835592e+00 9.270927467731591e+00 + 9.229735216231479e+00 9.188717610212938e+00 9.147873860369382e+00 9.107203196336844e+00 9.066704846764596e+00 + 9.026378005702853e+00 8.986221892357717e+00 8.946235805206038e+00 8.906418978693665e+00 8.866770619316361e+00 + 8.827289975974383e+00 8.787976307390357e+00 8.748828863538764e+00 8.709846863139358e+00 8.671029583554503e+00 + 8.632376341244221e+00 8.593886376949055e+00 8.555558939921891e+00 8.517393311170933e+00 8.479388776756116e+00 + 8.441544603229096e+00 8.403860042243403e+00 8.366334424744339e+00 8.328967072292842e+00 8.291757243124138e+00 + 8.254704227472720e+00 8.217807335382002e+00 8.181065876905594e+00 8.144479133106664e+00 8.108046399433587e+00 + 8.071767047639053e+00 8.035640397926882e+00 7.999665736506032e+00 7.963842390434660e+00 7.928169696145141e+00 + 7.892646983285742e+00 7.857273552651162e+00 7.822048750599857e+00 7.786971968025827e+00 7.752042529333232e+00 + 7.717259758863888e+00 7.682623011133142e+00 7.648131647347260e+00 7.613785013617140e+00 7.579582436948184e+00 + 7.545523312250220e+00 7.511607037617057e+00 7.477832951167176e+00 7.444200413093294e+00 7.410708803334905e+00 + 7.377357505498556e+00 7.344145878673218e+00 7.311073286547245e+00 7.278139163173499e+00 7.245342906306997e+00 + 7.212683876663248e+00 7.180161467446147e+00 7.147775082852699e+00 7.115524124234772e+00 7.083407965702390e+00 + 7.051426016132217e+00 7.019577732801474e+00 6.987862512275252e+00 6.956279745475502e+00 6.924828855941318e+00 + 6.893509269882150e+00 6.862320401692200e+00 6.831261647888545e+00 6.800332460884749e+00 6.769532305211046e+00 + 6.738860589806862e+00 6.708316738463165e+00 6.677900193977888e+00 6.647610403615440e+00 6.617446795946176e+00 + 6.587408797932629e+00 6.557495898186097e+00 6.527707560796614e+00 6.498043211862364e+00 6.468502306113241e+00 + 6.439084309299234e+00 6.409788685242900e+00 6.380614873655190e+00 6.351562339061567e+00 6.322630595895343e+00 + 6.293819108127046e+00 6.265127326375664e+00 6.236554729526047e+00 6.208100805116588e+00 6.179765032202197e+00 + 6.151546864740690e+00 6.123445807150094e+00 6.095461385258917e+00 6.067593067877628e+00 6.039840335121551e+00 + 6.012202688508743e+00 5.984679633169969e+00 5.957270656961056e+00 5.929975240292937e+00 5.902792923627279e+00 + 5.875723232013562e+00 5.848765648702115e+00 5.821919682493143e+00 5.795184854142510e+00 5.768560683026402e+00 + 5.742046666390822e+00 5.715642318587924e+00 5.689347205919744e+00 5.663160851223163e+00 5.637082758311135e+00 + 5.611112458697719e+00 5.585249491519008e+00 5.559493390584049e+00 5.533843667789125e+00 5.508299872311603e+00 + 5.482861578646651e+00 5.457528314665947e+00 5.432299611523626e+00 5.407175018586152e+00 5.382154093094761e+00 + 5.357236378022760e+00 5.332421403106363e+00 5.307708752059064e+00 5.283098003376689e+00 5.258588694187007e+00 + 5.234180379291222e+00 5.209872626694981e+00 5.185665008050016e+00 5.161557074183171e+00 5.137548383980142e+00 + 5.113638545797982e+00 5.089827134282968e+00 5.066113702430728e+00 5.042497830741953e+00 5.018979105007048e+00 + 4.995557105455633e+00 4.972231392615168e+00 4.949001558388967e+00 4.925867224885915e+00 4.902827967986653e+00 + 4.879883363679411e+00 4.857033008673309e+00 4.834276503129009e+00 4.811613436797770e+00 4.789043387081744e+00 + 4.766565977795326e+00 4.744180833573695e+00 4.721887536130310e+00 4.699685684376157e+00 4.677574891583497e+00 + 4.655554772271826e+00 4.633624922898647e+00 4.611784942911348e+00 4.590034481232405e+00 4.568373160121153e+00 + 4.546800575450856e+00 4.525316347519302e+00 4.503920103923871e+00 4.482611469298424e+00 4.461390048788094e+00 + 4.440255471271009e+00 4.419207398665950e+00 4.398245451269402e+00 4.377369245425554e+00 4.356578419383048e+00 + 4.335872613273037e+00 4.315251459075552e+00 4.294714576337845e+00 4.274261622204341e+00 4.253892261314030e+00 + 4.233606119889290e+00 4.213402835603544e+00 4.193282059746365e+00 4.173243445650493e+00 4.153286631923412e+00 + 4.133411255497697e+00 4.113616998652003e+00 4.093903524786619e+00 4.074270469191258e+00 4.054717490515994e+00 + 4.035244253601178e+00 4.015850419023907e+00 3.996535633568783e+00 3.977299560905666e+00 3.958141896495164e+00 + 3.939062301025637e+00 3.920060427447142e+00 3.901135950094528e+00 3.882288544897898e+00 3.863517881118590e+00 + 3.844823615448907e+00 3.826205437051391e+00 3.807663047653544e+00 3.789196110563124e+00 3.770804297342049e+00 + 3.752487294212357e+00 3.734244789018890e+00 3.716076457976182e+00 3.697981972490954e+00 3.679961043694115e+00 + 3.662013372248035e+00 3.644138631063968e+00 3.626336509775109e+00 3.608606705542072e+00 3.590948914412318e+00 + 3.573362819793663e+00 3.555848115085657e+00 3.538404523614169e+00 3.521031745026515e+00 3.503729467883798e+00 + 3.486497394134707e+00 3.469335231734055e+00 3.452242686325544e+00 3.435219448952052e+00 3.418265234650198e+00 + 3.401379774604279e+00 3.384562769850576e+00 3.367813923930398e+00 3.351132951883403e+00 3.334519571031865e+00 + 3.317973491801103e+00 3.301494419647167e+00 3.285082090084510e+00 3.268736234671993e+00 3.252456560777042e+00 + 3.236242786971220e+00 3.220094639575606e+00 3.204011846234647e+00 3.187994121490988e+00 3.172041185626448e+00 + 3.156152791161071e+00 3.140328668842820e+00 3.124568535295174e+00 3.108872124034968e+00 3.093239171871656e+00 + 3.077669412161458e+00 3.062162565910707e+00 3.046718374098970e+00 3.031336596904380e+00 3.016016966139392e+00 + 3.000759212810465e+00 2.985563079528153e+00 2.970428312130104e+00 2.955354650145179e+00 2.940341825152254e+00 + 2.925389598488303e+00 2.910497731503551e+00 2.895665957526404e+00 2.880894022713473e+00 2.866181682137055e+00 + 2.851528688498591e+00 2.836934785005289e+00 2.822399718118186e+00 2.807923264019232e+00 2.793505182293368e+00 + 2.779145216423770e+00 2.764843124903896e+00 2.750598669795774e+00 2.736411610868753e+00 2.722281698431688e+00 + 2.708208697067331e+00 2.694192390113966e+00 2.680232535961204e+00 2.666328890540199e+00 2.652481222662398e+00 + 2.638689303226956e+00 2.624952898002155e+00 2.611271764144950e+00 2.597645683492627e+00 2.584074442444535e+00 + 2.570557801667266e+00 2.557095530257868e+00 2.543687406599445e+00 2.530333209423413e+00 2.517032707379746e+00 + 2.503785668122807e+00 2.490591889861845e+00 2.477451158950901e+00 2.464363243138197e+00 2.451327922049569e+00 + 2.438344980862380e+00 2.425414204994132e+00 2.412535368413293e+00 2.399708255484590e+00 2.386932671907132e+00 + 2.374208401602455e+00 2.361535223009603e+00 2.348912926727443e+00 2.336341305706971e+00 2.323820149408004e+00 + 2.311349238873846e+00 2.298928374328811e+00 2.286557363678248e+00 2.274235992966902e+00 2.261964052364815e+00 + 2.249741340335214e+00 2.237567658215990e+00 2.225442798573621e+00 2.213366549457367e+00 2.201338726388740e+00 + 2.189359138707274e+00 2.177427577694549e+00 2.165543843493499e+00 2.153707741170415e+00 2.141919076444355e+00 + 2.130177647034976e+00 2.118483256831743e+00 2.106835728234196e+00 2.095234867960482e+00 2.083680476325080e+00 + 2.072172364176171e+00 2.060710343839133e+00 2.049294224696878e+00 2.037923808395575e+00 2.026598913260298e+00 + 2.015319367985618e+00 2.004084979196668e+00 1.992895556108562e+00 1.981750916950703e+00 1.970650881000152e+00 + 1.959595261684839e+00 1.948583868145923e+00 1.937616532016987e+00 1.926693081878526e+00 1.915813328267264e+00 + 1.904977090405082e+00 1.894184192977273e+00 1.883434460875044e+00 1.872727710477953e+00 1.862063762090873e+00 + 1.851442457083682e+00 1.840863622251705e+00 1.830327074965862e+00 1.819832643502570e+00 1.809380158797907e+00 + 1.798969449793061e+00 1.788600336572885e+00 1.778272652771865e+00 1.767986244795942e+00 1.757740938619203e+00 + 1.747536560606076e+00 1.737372946411540e+00 1.727249932639099e+00 1.717167351154095e+00 1.707125028541288e+00 + 1.697122811212298e+00 1.687160545804055e+00 1.677238060829077e+00 1.667355192130723e+00 1.657511781312863e+00 + 1.647707669880958e+00 1.637942692337234e+00 1.628216684763444e+00 1.618529503053863e+00 1.608880992276723e+00 + 1.599270986915247e+00 1.589699330823691e+00 1.580165870897195e+00 1.570670452975510e+00 1.561212914561866e+00 + 1.551793103249197e+00 1.542410880472349e+00 1.533066090216831e+00 1.523758574579748e+00 1.514488184288800e+00 + 1.505254771462676e+00 1.496058184704016e+00 1.486898266759950e+00 1.477774877044576e+00 1.468687878023066e+00 + 1.459637114930725e+00 1.450622438289068e+00 1.441643704572125e+00 1.432700770639202e+00 1.423793487269355e+00 + 1.414921704769478e+00 1.406085292220042e+00 1.397284110913275e+00 1.388518010515092e+00 1.379786849127615e+00 + 1.371090488107240e+00 1.362428788219066e+00 1.353801602746353e+00 1.345208792137069e+00 1.336650231141558e+00 + 1.328125779708811e+00 1.319635294146069e+00 1.311178639017341e+00 1.302755680403749e+00 1.294366281732825e+00 + 1.286010300246468e+00 1.277687607130681e+00 1.269398079017509e+00 1.261141576506052e+00 1.252917963373013e+00 + 1.244727109229262e+00 1.236568884548108e+00 1.228443154841189e+00 1.220349783647821e+00 1.212288651549746e+00 + 1.204259634287000e+00 1.196262595500517e+00 1.188297406122070e+00 1.180363940507803e+00 1.172462072687314e+00 + 1.164591670206239e+00 1.156752605274376e+00 1.148944764287503e+00 1.141168021685895e+00 1.133422246839356e+00 + 1.125707316556084e+00 1.118023109341937e+00 1.110369501923575e+00 1.102746365022667e+00 1.095153580538906e+00 + 1.087591037394418e+00 1.080058609806265e+00 1.072556173728377e+00 1.065083611042832e+00 1.057640804167975e+00 + 1.050227631677888e+00 1.042843969448370e+00 1.035489708218281e+00 1.028164736497249e+00 1.020868930712798e+00 + 1.013602173363602e+00 1.006364350528145e+00 9.991553480860069e-01 9.919750464549014e-01 9.848233287198007e-01 + 9.777000916381701e-01 9.706052224312447e-01 9.635386022157533e-01 9.565001191688937e-01 9.494896630661879e-01 + 9.425071223228538e-01 9.355523797940184e-01 9.286253271866921e-01 9.217258644183214e-01 9.148538781303724e-01 + 9.080092551050607e-01 9.011918879859632e-01 8.944016703005543e-01 8.876384924746002e-01 8.809022413584221e-01 + 8.741928168976413e-01 8.675101190938330e-01 8.608540359442419e-01 8.542244603473701e-01 8.476212889430066e-01 + 8.410444181391276e-01 8.344937399710189e-01 8.279691476350027e-01 8.214705470141707e-01 8.149978368018493e-01 + 8.085509088588196e-01 8.021296614287111e-01 7.957339944800463e-01 7.893638070383275e-01 7.830189931350516e-01 + 7.766994532966268e-01 7.704050967403675e-01 7.641358215802615e-01 7.578915247022724e-01 7.516721083807270e-01 + 7.454774759379389e-01 7.393075284143857e-01 7.331621629407183e-01 7.270412875750237e-01 7.209448123528730e-01 + 7.148726361079928e-01 7.088246610576617e-01 7.028007931997213e-01 6.968009387204053e-01 6.908250000358214e-01 + 6.848728793751606e-01 6.789444908271167e-01 6.730397435251165e-01 6.671585392499849e-01 6.613007849024644e-01 + 6.554663896318030e-01 6.496552624588109e-01 6.438673070778183e-01 6.381024319556428e-01 6.323605552121262e-01 + 6.266415850605696e-01 6.209454272475601e-01 6.152719929073242e-01 6.096211942955035e-01 6.039929419697414e-01 + 5.983871423673978e-01 5.928037109278776e-01 5.872425665727200e-01 5.817036179262789e-01 5.761867757580472e-01 + 5.706919545755328e-01 5.652190691753797e-01 5.597680312855905e-01 5.543387515608681e-01 5.489311514266204e-01 + 5.435451491959484e-01 5.381806555529779e-01 5.328375858091706e-01 5.275158573424954e-01 5.222153871968650e-01 + 5.169360885007255e-01 5.116778775087658e-01 5.064406794925096e-01 5.012244118255510e-01 4.960289886382637e-01 + 4.908543290552675e-01 4.857003532629381e-01 4.805669801867241e-01 4.754541247133137e-01 4.703617092625736e-01 + 4.652896609026711e-01 4.602378967146020e-01 4.552063350475851e-01 4.501948983226124e-01 4.452035092771810e-01 + 4.402320879227842e-01 4.352805523654864e-01 4.303488309750054e-01 4.254368504386150e-01 4.205445290166767e-01 + 4.156717895856258e-01 4.108185573527897e-01 4.059847567861119e-01 4.011703090912549e-01 3.963751374739253e-01 + 3.915991740467544e-01 3.868423443729578e-01 3.821045699452743e-01 3.773857771630841e-01 3.726858934536713e-01 + 3.680048452743795e-01 3.633425553945757e-01 3.586989523890614e-01 3.540739701811214e-01 3.494675340422360e-01 + 3.448795694018267e-01 3.403100055229290e-01 3.357587720701978e-01 3.312257966625470e-01 3.267110046986084e-01 + 3.222143302305144e-01 3.177357072575733e-01 3.132750617821559e-01 3.088323230437107e-01 3.044074228278458e-01 + 3.000002929514869e-01 2.956108619814004e-01 2.912390591663653e-01 2.868848226223222e-01 2.825480855369588e-01 + 2.782287763584979e-01 2.739268276304007e-01 2.696421732978619e-01 2.653747469077652e-01 2.611244782932083e-01 + 2.568913016367161e-01 2.526751570146955e-01 2.484759769388697e-01 2.442936932048949e-01 2.401282413902519e-01 + 2.359795575701045e-01 2.318475761710866e-01 2.277322290127450e-01 2.236334554284879e-01 2.195511960314929e-01 + 2.154853836729677e-01 2.114359536211432e-01 2.074028437636633e-01 2.033859920182897e-01 1.993853337119912e-01 + 1.954008040589642e-01 1.914323463143237e-01 1.874799002688242e-01 1.835434007181165e-01 1.796227861758036e-01 + 1.757179964922509e-01 1.718289711649378e-01 1.679556465242757e-01 1.640979620393169e-01 1.602558632656972e-01 + 1.564292893436780e-01 1.526181778855338e-01 1.488224700413446e-01 1.450421075715582e-01 1.412770310767497e-01 + 1.375271785489454e-01 1.337924939887067e-01 1.300729236356154e-01 1.263684067750867e-01 1.226788841702678e-01 + 1.190042991249222e-01 1.153445951805052e-01 1.116997137432381e-01 1.080695954417651e-01 1.044541881911586e-01 + 1.008534377603918e-01 9.726728475975084e-02 9.369567294988820e-02 9.013854752144720e-02 8.659585347215112e-02 + 8.306753302147955e-02 7.955353046975124e-02 7.605379621791922e-02 7.256827534889604e-02 6.909691079142652e-02 + 6.563964883225221e-02 6.219643640409570e-02 5.876721959493493e-02 5.535194193553600e-02 5.195055179453398e-02 + 4.856300050562060e-02 4.518923308325209e-02 4.182919528191363e-02 3.848283536820589e-02 3.515010193539807e-02 + 3.183094185890936e-02 2.852530077920949e-02 2.523313079087341e-02 2.195438300307553e-02 1.868900335629075e-02 + 1.543694036357313e-02 1.219814405293583e-02 8.972564385828061e-03 5.760148923624660e-03 2.560846417529306e-03 + -6.253884489496408e-04 -3.798605206001689e-03 -6.958856024607482e-03 -1.010619000899848e-02 -1.324065554473652e-02 + -1.636230159824732e-02 -1.947117958312726e-02 -2.256733711284757e-02 -2.565081832749929e-02 -2.872167302619957e-02 + -3.177995089902724e-02 -3.482569914268617e-02 -3.785896464500105e-02 -4.087979562235380e-02 -4.388824175488684e-02 + -4.688434717766576e-02 -4.986815604286890e-02 -5.283971753775529e-02 -5.579907881824794e-02 -5.874628546589089e-02 + -6.168138307363240e-02 -6.460441923558070e-02 -6.751544105442296e-02 -7.041449003639784e-02 -7.330161087707579e-02 + -7.617685125406765e-02 -7.904025608548425e-02 -8.189186951723537e-02 -8.473173608907363e-02 -8.755990257827875e-02 + -9.037641289395969e-02 -9.318130717201861e-02 -9.597463047763352e-02 -9.875642835115833e-02 -1.015267439140877e-01 + -1.042856199263307e-01 -1.070331001684683e-01 -1.097692300567918e-01 -1.124940502948268e-01 -1.152076007898061e-01 + -1.179099262631479e-01 -1.206010699593113e-01 -1.232810735016665e-01 -1.259499784255051e-01 -1.286078279418341e-01 + -1.312546653333709e-01 -1.338905286984875e-01 -1.365154583874092e-01 -1.391294979538990e-01 -1.417326885345280e-01 + -1.443250704192513e-01 -1.469066841433861e-01 -1.494775722507627e-01 -1.520377752494497e-01 -1.545873297590701e-01 + -1.571262765202916e-01 -1.596546572452540e-01 -1.621725113907878e-01 -1.646798779801165e-01 -1.671767967821347e-01 + -1.696633092874520e-01 -1.721394530811854e-01 -1.746052643091513e-01 -1.770607836101869e-01 -1.795060506428017e-01 + -1.819411034225526e-01 -1.843659798390828e-01 -1.867807191554161e-01 -1.891853611111403e-01 -1.915799407499077e-01 + -1.939644945120454e-01 -1.963390621459183e-01 -1.987036813730624e-01 -2.010583889984393e-01 -2.034032219467188e-01 + -2.057382189127211e-01 -2.080634172465200e-01 -2.103788504106409e-01 -2.126845552585028e-01 -2.149805700057577e-01 + -2.172669307458855e-01 -2.195436731393316e-01 -2.218108333786645e-01 -2.240684493062661e-01 -2.263165556286022e-01 + -2.285551851690127e-01 -2.307843748874083e-01 -2.330041611277884e-01 -2.352145785311434e-01 -2.374156618282909e-01 + -2.396074467707450e-01 -2.417899696732801e-01 -2.439632627554057e-01 -2.461273590292558e-01 -2.482822949571798e-01 + -2.504281050002428e-01 -2.525648226666662e-01 -2.546924818382261e-01 -2.568111176810049e-01 -2.589207645010757e-01 + -2.610214530059819e-01 -2.631132165202481e-01 -2.651960899948890e-01 -2.672701065219724e-01 -2.693352987894519e-01 + -2.713916998229662e-01 -2.734393439668777e-01 -2.754782632038173e-01 -2.775084874639143e-01 -2.795300503441993e-01 + -2.815429852855671e-01 -2.835473240274155e-01 -2.855430981234691e-01 -2.875303400246380e-01 -2.895090831627840e-01 + -2.914793573631382e-01 -2.934411924374482e-01 -2.953946213942734e-01 -2.973396760049649e-01 -2.992763870705049e-01 + -3.012047853752455e-01 -3.031249029054077e-01 -3.050367713048046e-01 -3.069404187491607e-01 -3.088358754333808e-01 + -3.107231733999588e-01 -3.126023429151826e-01 -3.144734138246973e-01 -3.163364162512183e-01 -3.181913814969073e-01 + -3.200383391593082e-01 -3.218773166629695e-01 -3.237083442965246e-01 -3.255314526206347e-01 -3.273466708133588e-01 + -3.291540279174764e-01 -3.309535535062730e-01 -3.327452779044484e-01 -3.345292286746930e-01 -3.363054329977739e-01 + -3.380739209920870e-01 -3.398347217688169e-01 -3.415878634526212e-01 -3.433333743100879e-01 -3.450712833788954e-01 + -3.468016195958206e-01 -3.485244091566739e-01 -3.502396793974815e-01 -3.519474593420066e-01 -3.536477770380763e-01 + -3.553406598299846e-01 -3.570261348354672e-01 -3.587042307855341e-01 -3.603749751839582e-01 -3.620383929731605e-01 + -3.636945116923384e-01 -3.653433594409278e-01 -3.669849628231984e-01 -3.686193482790397e-01 -3.702465427747400e-01 + -3.718665743211436e-01 -3.734794684043725e-01 -3.750852495624684e-01 -3.766839451194457e-01 -3.782755819189342e-01 + -3.798601858648072e-01 -3.814377826321034e-01 -3.830083986549013e-01 -3.845720606417443e-01 -3.861287926090124e-01 + -3.876786193539286e-01 -3.892215675502101e-01 -3.907576628594260e-01 -3.922869303026715e-01 -3.938093947284727e-01 + -3.953250822556230e-01 -3.968340182497304e-01 -3.983362256494206e-01 -3.998317293097848e-01 -4.013205549386248e-01 + -4.028027272117153e-01 -4.042782703087232e-01 -4.057472086115670e-01 -4.072095677082399e-01 -4.086653712889545e-01 + -4.101146418277140e-01 -4.115574040934622e-01 -4.129936826934361e-01 -4.144235014035024e-01 -4.158468836578273e-01 + -4.172638535617268e-01 -4.186744357650895e-01 -4.200786523524958e-01 -4.214765258006608e-01 -4.228680805923657e-01 + -4.242533401481378e-01 -4.256323273241845e-01 -4.270050650780072e-01 -4.283715771591216e-01 -4.297318868367957e-01 + -4.310860152683936e-01 -4.324339850671611e-01 -4.337758197699306e-01 -4.351115419219263e-01 -4.364411736856622e-01 + -4.377647373653272e-01 -4.390822563519974e-01 -4.403937525793140e-01 -4.416992465950099e-01 -4.429987609092939e-01 + -4.442923180804305e-01 -4.455799398898891e-01 -4.468616477876415e-01 -4.481374637930542e-01 -4.494074106490894e-01 + -4.506715085877422e-01 -4.519297779021105e-01 -4.531822412097039e-01 -4.544289201442401e-01 -4.556698355752103e-01 + -4.569050083194456e-01 -4.581344599890250e-01 -4.593582121055255e-01 -4.605762842891920e-01 -4.617886970897419e-01 + -4.629954719556403e-01 -4.641966295426422e-01 -4.653921902577345e-01 -4.665821746143150e-01 -4.677666038635413e-01 + -4.689454981292748e-01 -4.701188761476531e-01 -4.712867586709557e-01 -4.724491664926360e-01 -4.736061192593240e-01 + -4.747576368456714e-01 -4.759037394682022e-01 -4.770444475543998e-01 -4.781797800875144e-01 -4.793097558338887e-01 + -4.804343950164401e-01 -4.815537175042383e-01 -4.826677426390972e-01 -4.837764894228364e-01 -4.848799775883490e-01 + -4.859782270303963e-01 -4.870712557287352e-01 -4.881590823344398e-01 -4.892417265305033e-01 -4.903192072931410e-01 + -4.913915433426016e-01 -4.924587534540600e-01 -4.935208569593936e-01 -4.945778724869024e-01 -4.956298174121960e-01 + -4.966767104426105e-01 -4.977185705977166e-01 -4.987554161795947e-01 -4.997872652579317e-01 -5.008141361357437e-01 + -5.018360477540788e-01 -5.028530175622089e-01 -5.038650625463708e-01 -5.048722015765362e-01 -5.058744527800632e-01 + -5.068718334710337e-01 -5.078643614554021e-01 -5.088520548881869e-01 -5.098349318298798e-01 -5.108130088001350e-01 + -5.117863028619736e-01 -5.127548322161382e-01 -5.137186142245088e-01 -5.146776659499980e-01 -5.156320045833772e-01 + -5.165816478015819e-01 -5.175266128170244e-01 -5.184669156304091e-01 -5.194025733016244e-01 -5.203336032597101e-01 + -5.212600221732120e-01 -5.221818466804444e-01 -5.230990936596679e-01 -5.240117804553392e-01 -5.249199232262068e-01 + -5.258235374392936e-01 -5.267226400387954e-01 -5.276172478389746e-01 -5.285073771019844e-01 -5.293930438910602e-01 + -5.302742646986305e-01 -5.311510563423283e-01 -5.320234339437281e-01 -5.328914129379527e-01 -5.337550101355577e-01 + -5.346142414983102e-01 -5.354691226448078e-01 -5.363196694209366e-01 -5.371658979374595e-01 -5.380078240078261e-01 + -5.388454624615836e-01 -5.396788287704753e-01 -5.405079388378121e-01 -5.413328081929075e-01 -5.421534521210617e-01 + -5.429698859177164e-01 -5.437821254261226e-01 -5.445901856060492e-01 -5.453940806517681e-01 -5.461938261275164e-01 + -5.469894375147514e-01 -5.477809296410460e-01 -5.485683172596564e-01 -5.493516154047422e-01 -5.501308394233321e-01 + -5.509060035978606e-01 -5.516771220917993e-01 -5.524442098036262e-01 -5.532072816062331e-01 -5.539663521228516e-01 + -5.547214355736525e-01 -5.554725467511782e-01 -5.562197004144761e-01 -5.569629099559865e-01 -5.577021895124128e-01 + -5.584375539231472e-01 -5.591690174427206e-01 -5.598965939391384e-01 -5.606202972403660e-01 -5.613401421520022e-01 + -5.620561426054913e-01 -5.627683113219669e-01 -5.634766626491997e-01 -5.641812109417922e-01 -5.648819696019924e-01 + -5.655789522526887e-01 -5.662721727674018e-01 -5.669616451334641e-01 -5.676473824290281e-01 -5.683293976251365e-01 + -5.690077046537543e-01 -5.696823171027902e-01 -5.703532481968968e-01 -5.710205111045815e-01 -5.716841193018837e-01 + -5.723440862989044e-01 -5.730004247377283e-01 -5.736531475408438e-01 -5.743022680808630e-01 -5.749477994635019e-01 + -5.755897545119250e-01 -5.762281459317424e-01 -5.768629872133108e-01 -5.774942912813225e-01 -5.781220698864685e-01 + -5.787463360372200e-01 -5.793671029370097e-01 -5.799843829591812e-01 -5.805981885004621e-01 -5.812085322229668e-01 + -5.818154271777390e-01 -5.824188854500640e-01 -5.830189187855023e-01 -5.836155400127914e-01 -5.842087616519486e-01 + -5.847985957903102e-01 -5.853850545399070e-01 -5.859681502822114e-01 -5.865478954643482e-01 -5.871243015837295e-01 + -5.876973804424807e-01 -5.882671445115567e-01 -5.888336058093040e-01 -5.893967761301214e-01 -5.899566672475657e-01 + -5.905132912554449e-01 -5.910666600004119e-01 -5.916167846344484e-01 -5.921636769312483e-01 -5.927073488739303e-01 + -5.932478119884005e-01 -5.937850777230974e-01 -5.943191576345895e-01 -5.948500635775013e-01 -5.953778067525587e-01 + -5.959023980172641e-01 -5.964238491804477e-01 -5.969421717317064e-01 -5.974573766302176e-01 -5.979694750153504e-01 + -5.984784782975928e-01 -5.989843980133127e-01 -5.994872448737363e-01 -5.999870296226286e-01 -6.004837635008013e-01 + -6.009774575116591e-01 -6.014681225640990e-01 -6.019557696406324e-01 -6.024404098188824e-01 -6.029220539582525e-01 + -6.034007123251734e-01 -6.038763957092128e-01 -6.043491151546724e-01 -6.048188811990667e-01 -6.052857043294740e-01 + -6.057495951725935e-01 -6.062105647034982e-01 -6.066686232996821e-01 -6.071237808282512e-01 -6.075760480581535e-01 + -6.080254356249652e-01 -6.084719536597242e-01 -6.089156123708600e-01 -6.093564221655233e-01 -6.097943936088406e-01 + -6.102295366277345e-01 -6.106618611466814e-01 -6.110913776082281e-01 -6.115180960018122e-01 -6.119420262061138e-01 + -6.123631785057825e-01 -6.127815629923925e-01 -6.131971895415724e-01 -6.136100679122567e-01 -6.140202079254689e-01 + -6.144276194632986e-01 -6.148323123693087e-01 -6.152342964516117e-01 -6.156335814880438e-01 -6.160301772367670e-01 + -6.164240932773791e-01 -6.168153390131846e-01 -6.172039241057757e-01 -6.175898582479540e-01 -6.179731510100582e-01 + -6.183538118537011e-01 -6.187318502245757e-01 -6.191072755983122e-01 -6.194800972241303e-01 -6.198503243163954e-01 + -6.202179663089392e-01 -6.205830326036273e-01 -6.209455324825972e-01 -6.213054750121583e-01 -6.216628693834372e-01 + -6.220177248671027e-01 -6.223700505100402e-01 -6.227198553511943e-01 -6.230671484590707e-01 -6.234119388224310e-01 + -6.237542354039819e-01 -6.240940471906395e-01 -6.244313833278470e-01 -6.247662526956897e-01 -6.250986637315333e-01 + -6.254286253149073e-01 -6.257561464374979e-01 -6.260812358699522e-01 -6.264039022632663e-01 -6.267241542804416e-01 + -6.270420007239386e-01 -6.273574502418447e-01 -6.276705113436000e-01 -6.279811924920996e-01 -6.282895022600340e-01 + -6.285954492669960e-01 -6.288990419377586e-01 -6.292002887596219e-01 -6.294991982474318e-01 -6.297957785295903e-01 + -6.300900379535952e-01 -6.303819851813233e-01 -6.306716282540937e-01 -6.309589752809680e-01 -6.312440348023121e-01 + -6.315268150763020e-01 -6.318073241903770e-01 -6.320855701836068e-01 -6.323615610879741e-01 -6.326353050044859e-01 + -6.329068101802829e-01 -6.331760846635813e-01 -6.334431363818833e-01 -6.337079733473078e-01 -6.339706034520735e-01 + -6.342310345121693e-01 -6.344892744839461e-01 -6.347453312805855e-01 -6.349992127114430e-01 -6.352509264768633e-01 + -6.355004804526597e-01 -6.357478826585540e-01 -6.359931404400122e-01 -6.362362612918424e-01 -6.364772532644518e-01 + -6.367161239398067e-01 -6.369528807876881e-01 -6.371875315012039e-01 -6.374200836672138e-01 -6.376505447719858e-01 + -6.378789222449943e-01 -6.381052236017390e-01 -6.383294563385360e-01 -6.385516277126226e-01 -6.387717451483415e-01 + -6.389898161925324e-01 -6.392058481779943e-01 -6.394198483013303e-01 -6.396318237129481e-01 -6.398417817583982e-01 + -6.400497298004382e-01 -6.402556751053731e-01 -6.404596246811356e-01 -6.406615856182318e-01 -6.408615652398488e-01 + -6.410595705960431e-01 -6.412556087124355e-01 -6.414496867908267e-01 -6.416418117430738e-01 -6.418319904244396e-01 + -6.420202299552208e-01 -6.422065373268501e-01 -6.423909194238488e-01 -6.425733831564441e-01 -6.427539354568388e-01 + -6.429325832107947e-01 -6.431093330874931e-01 -6.432841919278923e-01 -6.434571667152847e-01 -6.436282640341581e-01 + -6.437974905134223e-01 -6.439648529819666e-01 -6.441303582355420e-01 -6.442940129046214e-01 -6.444558234243410e-01 + -6.446157964842297e-01 -6.447739387669796e-01 -6.449302567289288e-01 -6.450847570451982e-01 -6.452374463418470e-01 + -6.453883308317777e-01 -6.455374170518916e-01 -6.456847116523639e-01 -6.458302208459006e-01 -6.459739509825424e-01 + -6.461159085765001e-01 -6.462561000624228e-01 -6.463945317857885e-01 -6.465312099893501e-01 -6.466661407794220e-01 + -6.467993305071421e-01 -6.469307857586633e-01 -6.470605124176557e-01 -6.471885165505020e-01 -6.473148048129491e-01 + -6.474393831451855e-01 -6.475622574433044e-01 -6.476834341411803e-01 -6.478029193005811e-01 -6.479207188186653e-01 + -6.480368387749067e-01 -6.481512852365653e-01 -6.482640642356557e-01 -6.483751817763184e-01 -6.484846438333333e-01 + -6.485924563559199e-01 -6.486986252696630e-01 -6.488031563964390e-01 -6.489060555062011e-01 -6.490073285956434e-01 + -6.491069816182633e-01 -6.492050203757027e-01 -6.493014505946639e-01 -6.493962779796888e-01 -6.494895082497514e-01 + -6.495811472172135e-01 -6.496712006463234e-01 -6.497596741452655e-01 -6.498465734697708e-01 -6.499319043537729e-01 + -6.500156722751166e-01 -6.500978828758883e-01 -6.501785418212779e-01 -6.502576544563589e-01 -6.503352264336196e-01 + -6.504112635780723e-01 -6.504857712206107e-01 -6.505587548117625e-01 -6.506302199692129e-01 -6.507001719669850e-01 + -6.507686161481057e-01 -6.508355580770583e-01 -6.509010033515999e-01 -6.509649573333303e-01 -6.510274250599254e-01 + -6.510884119408136e-01 -6.511479234691252e-01 -6.512059649357221e-01 -6.512625414820176e-01 -6.513176583196066e-01 + -6.513713209657690e-01 -6.514235346566493e-01 -6.514743044494572e-01 -6.515236355351222e-01 -6.515715331668240e-01 + -6.516180025498758e-01 -6.516630486086969e-01 -6.517066764698182e-01 -6.517488914696901e-01 -6.517896986474616e-01 + -6.518291029696229e-01 -6.518671094474887e-01 -6.519037232298822e-01 -6.519389493677847e-01 -6.519727927034696e-01 + -6.520052582102593e-01 -6.520363509344871e-01 -6.520660759114448e-01 -6.520944379877177e-01 -6.521214419863292e-01 + -6.521470929034477e-01 -6.521713955379932e-01 -6.521943546611896e-01 -6.522159753870301e-01 -6.522362625000242e-01 + -6.522552205660485e-01 -6.522728545508729e-01 -6.522891692872490e-01 -6.523041693781095e-01 -6.523178594474156e-01 + -6.523302443147758e-01 -6.523413289626511e-01 -6.523511179648659e-01 -6.523596158248584e-01 -6.523668271884714e-01 + -6.523727568212391e-01 -6.523774093997819e-01 -6.523807893579161e-01 -6.523829012952149e-01 -6.523837498990516e-01 + -6.523833397960367e-01 -6.523816754611410e-01 -6.523787613199525e-01 -6.523746019358498e-01 -6.523692018302728e-01 + -6.523625654555820e-01 -6.523546972248629e-01 -6.523456017173497e-01 -6.523352835702680e-01 -6.523237468711672e-01 + -6.523109959032295e-01 -6.522970353197415e-01 -6.522818693382445e-01 -6.522655022842732e-01 -6.522479388337681e-01 + -6.522291831409690e-01 -6.522092393163972e-01 -6.521881118419591e-01 -6.521658050464721e-01 -6.521423231008568e-01 + -6.521176700882644e-01 -6.520918504277817e-01 -6.520648685798258e-01 -6.520367284462982e-01 -6.520074341903623e-01 + -6.519769901852531e-01 -6.519454004576026e-01 -6.519126690272374e-01 -6.518788000417296e-01 -6.518437978790763e-01 + -6.518076667685843e-01 -6.517704106505043e-01 -6.517320333460206e-01 -6.516925389358605e-01 -6.516519318553129e-01 + -6.516102158220000e-01 -6.515673946405215e-01 -6.515234728464969e-01 -6.514784543315630e-01 -6.514323427842886e-01 + -6.513851423523833e-01 -6.513368570527661e-01 -6.512874907235414e-01 -6.512370470939771e-01 -6.511855301990920e-01 + -6.511329442190841e-01 -6.510792928715797e-01 -6.510245798816351e-01 -6.509688091361985e-01 -6.509119847142907e-01 + -6.508541103488035e-01 -6.507951894034477e-01 -6.507352259931611e-01 -6.506742241942834e-01 -6.506121876059120e-01 + -6.505491199228429e-01 -6.504850249436106e-01 -6.504199065016956e-01 -6.503537680222150e-01 -6.502866130342899e-01 + -6.502184457971011e-01 -6.501492700279957e-01 -6.500790890906794e-01 -6.500079066129352e-01 -6.499357263329657e-01 + -6.498625519683058e-01 -6.497883869826074e-01 -6.497132350047277e-01 -6.496370998048885e-01 -6.495599847614121e-01 + -6.494818934475555e-01 -6.494028297363450e-01 -6.493227969968260e-01 -6.492417985197620e-01 -6.491598378013752e-01 + -6.490769185970405e-01 -6.489930446200032e-01 -6.489082192796405e-01 -6.488224457999440e-01 -6.487357275334984e-01 + -6.486480682838258e-01 -6.485594713376021e-01 -6.484699398068251e-01 -6.483794774339799e-01 -6.482880877536140e-01 + -6.481957740532812e-01 -6.481025397024727e-01 -6.480083880017639e-01 -6.479133221889776e-01 -6.478173456351086e-01 + -6.477204618036257e-01 -6.476226741599570e-01 -6.475239858039916e-01 -6.474243999826228e-01 -6.473239202990485e-01 + -6.472225498463482e-01 -6.471202916312221e-01 -6.470171489638400e-01 -6.469131252405815e-01 -6.468082238277443e-01 + -6.467024479420175e-01 -6.465958006550642e-01 -6.464882850509053e-01 -6.463799044773618e-01 -6.462706620382276e-01 + -6.461605607272912e-01 -6.460496040101232e-01 -6.459377950690467e-01 -6.458251367734501e-01 -6.457116323868038e-01 + -6.455972850655802e-01 -6.454820977029684e-01 -6.453660732942879e-01 -6.452492150754419e-01 -6.451315264887545e-01 + -6.450130102914885e-01 -6.448936692680686e-01 -6.447735068128447e-01 -6.446525260129213e-01 -6.445307296530088e-01 + -6.444081203587793e-01 -6.442847014715996e-01 -6.441604765089356e-01 -6.440354480546840e-01 -6.439096188724848e-01 + -6.437829920095609e-01 -6.436555704731397e-01 -6.435273570693492e-01 -6.433983545533010e-01 -6.432685663163126e-01 + -6.431379953365300e-01 -6.430066439769492e-01 -6.428745153347271e-01 -6.427416124750638e-01 -6.426079380140648e-01 + -6.424734947555180e-01 -6.423382856273998e-01 -6.422023135830728e-01 -6.420655814260000e-01 -6.419280919255173e-01 + -6.417898479598759e-01 -6.416508523135933e-01 -6.415111076305331e-01 -6.413706163966455e-01 -6.412293816393564e-01 + -6.410874066048897e-01 -6.409446936267265e-01 -6.408012453136449e-01 -6.406570646910840e-01 -6.405121544270317e-01 + -6.403665170374713e-01 -6.402201550644944e-01 -6.400730715072882e-01 -6.399252691822962e-01 -6.397767504407681e-01 + -6.396275180930010e-01 -6.394775749890055e-01 -6.393269236107165e-01 -6.391755662191552e-01 -6.390235053902433e-01 + -6.388707445708105e-01 -6.387172861694177e-01 -6.385631322023312e-01 -6.384082857966726e-01 -6.382527494896121e-01 + -6.380965253642142e-01 -6.379396162401521e-01 -6.377820248167250e-01 -6.376237535602883e-01 -6.374648052204416e-01 + -6.373051823107587e-01 -6.371448870124290e-01 -6.369839218821269e-01 -6.368222895078627e-01 -6.366599923302766e-01 + -6.364970329561520e-01 -6.363334139746031e-01 -6.361691377885151e-01 -6.360042067688202e-01 -6.358386233547334e-01 + -6.356723901317635e-01 -6.355055093799952e-01 -6.353379833438523e-01 -6.351698147827204e-01 -6.350010061497325e-01 + -6.348315596278746e-01 -6.346614776297652e-01 -6.344907627044540e-01 -6.343194173354602e-01 -6.341474433478579e-01 + -6.339748431233465e-01 -6.338016197812808e-01 -6.336277753787244e-01 -6.334533118997744e-01 -6.332782318265875e-01 + -6.331025376588558e-01 -6.329262316544187e-01 -6.327493157114107e-01 -6.325717923863455e-01 -6.323936643403999e-01 + -6.322149336030685e-01 -6.320356024195775e-01 -6.318556731749607e-01 -6.316751480498738e-01 -6.314940290711796e-01 + -6.313123183267710e-01 -6.311300184615836e-01 -6.309471319109403e-01 -6.307636607640942e-01 -6.305796070902886e-01 + -6.303949730482692e-01 -6.302097608691579e-01 -6.300239725606558e-01 -6.298376103756032e-01 -6.296506769748604e-01 + -6.294631743864889e-01 -6.292751044804592e-01 -6.290864694027335e-01 -6.288972714311484e-01 -6.287075127245377e-01 + -6.285171950849623e-01 -6.283263208775478e-01 -6.281348926187029e-01 -6.279429120773061e-01 -6.277503812180564e-01 + -6.275573022752827e-01 -6.273636774541002e-01 -6.271695087389834e-01 -6.269747979757735e-01 -6.267795473573458e-01 + -6.265837591630624e-01 -6.263874355834504e-01 -6.261905784094625e-01 -6.259931895045528e-01 -6.257952710369122e-01 + -6.255968250363517e-01 -6.253978534898084e-01 -6.251983584520242e-01 -6.249983420853732e-01 -6.247978064572296e-01 + -6.245967533125147e-01 -6.243951846742302e-01 -6.241931026018996e-01 -6.239905086686763e-01 -6.237874050561640e-01 + -6.235837942608177e-01 -6.233796778475696e-01 -6.231750576026635e-01 -6.229699356978790e-01 -6.227643140512986e-01 + -6.225581944126894e-01 -6.223515785171654e-01 -6.221444686516174e-01 -6.219368669106876e-01 -6.217287748516653e-01 + -6.215201944179222e-01 -6.213111276341791e-01 -6.211015763012264e-01 -6.208915420627059e-01 -6.206810267189914e-01 + -6.204700325606027e-01 -6.202585614407183e-01 -6.200466150025669e-01 -6.198341952555039e-01 -6.196213039807257e-01 + -6.194079427661365e-01 -6.191941133919308e-01 -6.189798178811384e-01 -6.187650583625046e-01 -6.185498365366234e-01 + -6.183341539791172e-01 -6.181180123373080e-01 -6.179014136693182e-01 -6.176843597571294e-01 -6.174668518753883e-01 + -6.172488922358068e-01 -6.170304830078728e-01 -6.168116255085183e-01 -6.165923213940302e-01 -6.163725725542526e-01 + -6.161523808379610e-01 -6.159317477445455e-01 -6.157106747923912e-01 -6.154891641891720e-01 -6.152672177134336e-01 + -6.150448367622374e-01 -6.148220230127394e-01 -6.145987783325538e-01 -6.143751045698781e-01 -6.141510029326600e-01 + -6.139264750393221e-01 -6.137015231470567e-01 -6.134761489851926e-01 -6.132503540152313e-01 -6.130241396532106e-01 + -6.127975076851865e-01 -6.125704598048077e-01 -6.123429972989166e-01 -6.121151221351967e-01 -6.118868363314907e-01 + -6.116581411278224e-01 -6.114290380220153e-01 -6.111995287783158e-01 -6.109696151823703e-01 -6.107392985450728e-01 + -6.105085801024925e-01 -6.102774622058419e-01 -6.100459465922933e-01 -6.098140342484372e-01 -6.095817267256873e-01 + -6.093490257933440e-01 -6.091159331809802e-01 -6.088824500709522e-01 -6.086485779905337e-01 -6.084143191489354e-01 + -6.081796748129595e-01 -6.079446461968719e-01 -6.077092351925356e-01 -6.074734432434898e-01 -6.072372716150822e-01 + -6.070007218360295e-01 -6.067637956065657e-01 -6.065264946232775e-01 -6.062888203126375e-01 -6.060507740692458e-01 + -6.058123573561740e-01 -6.055735718185850e-01 -6.053344188005130e-01 -6.050948994718379e-01 -6.048550157592759e-01 + -6.046147693250087e-01 -6.043741612917217e-01 -6.041331930896253e-01 -6.038918662688606e-01 -6.036501823335466e-01 + -6.034081424814672e-01 -6.031657481058161e-01 -6.029230011393863e-01 -6.026799028730719e-01 -6.024364544399844e-01 + -6.021926574869638e-01 -6.019485136055120e-01 -6.017040241022006e-01 -6.014591897708976e-01 -6.012140122415236e-01 + -6.009684936432825e-01 -6.007226351565053e-01 -6.004764378633045e-01 -6.002299030368295e-01 -5.999830322604393e-01 + -5.997358269112610e-01 -5.994882881008079e-01 -5.992404174674395e-01 -5.989922165630734e-01 -5.987436865327392e-01 + -5.984948286273432e-01 -5.982456442781595e-01 -5.979961350600861e-01 -5.977463018616249e-01 -5.974961457245347e-01 + -5.972456688462123e-01 -5.969948725706038e-01 -5.967437577688297e-01 -5.964923259025159e-01 -5.962405782771161e-01 + -5.959885160038786e-01 -5.957361402849749e-01 -5.954834525607696e-01 -5.952304544228757e-01 -5.949771471628894e-01 + -5.947235319540697e-01 -5.944696099654433e-01 -5.942153825546195e-01 -5.939608509107162e-01 -5.937060159741117e-01 + -5.934508794411635e-01 -5.931954428951332e-01 -5.929397071302310e-01 -5.926836734445704e-01 -5.924273432987167e-01 + -5.921707177793331e-01 -5.919137978828047e-01 -5.916565847753502e-01 -5.913990801532651e-01 -5.911412853604616e-01 + -5.908832013941032e-01 -5.906248293335863e-01 -5.903661704565201e-01 -5.901072261246485e-01 -5.898479972855557e-01 + -5.895884850905705e-01 -5.893286910470348e-01 -5.890686164387193e-01 -5.888082623596927e-01 -5.885476297953414e-01 + -5.882867200485414e-01 -5.880255342895034e-01 -5.877640732646211e-01 -5.875023385228563e-01 -5.872403317009627e-01 + -5.869780535979796e-01 -5.867155052441069e-01 -5.864526878805291e-01 -5.861896026754034e-01 -5.859262506932092e-01 + -5.856626329801135e-01 -5.853987507817091e-01 -5.851346053972879e-01 -5.848701980701103e-01 -5.846055297559873e-01 + -5.843406014627009e-01 -5.840754143260567e-01 -5.838099692919883e-01 -5.835442675863415e-01 -5.832783108438364e-01 + -5.830120998737411e-01 -5.827456354637697e-01 -5.824789190313094e-01 -5.822119517157962e-01 -5.819447343999242e-01 + -5.816772678604962e-01 -5.814095534384316e-01 -5.811415926659900e-01 -5.808733865100626e-01 -5.806049358083534e-01 + -5.803362414940428e-01 -5.800673049021045e-01 -5.797981269727348e-01 -5.795287083747186e-01 -5.792590507223763e-01 + -5.789891553127540e-01 -5.787190227795775e-01 -5.784486540773595e-01 -5.781780503537821e-01 -5.779072127885909e-01 + -5.776361421027820e-01 -5.773648392415993e-01 -5.770933058481036e-01 -5.768215427543451e-01 -5.765495506173008e-01 + -5.762773307782053e-01 -5.760048843724456e-01 -5.757322122309633e-01 -5.754593149355522e-01 -5.751861936930261e-01 + -5.749128500443350e-01 -5.746392847733658e-01 -5.743654986749642e-01 -5.740914927526973e-01 -5.738172681170074e-01 + -5.735428256834612e-01 -5.732681661997935e-01 -5.729932909950833e-01 -5.727182011898047e-01 -5.724428973589288e-01 + -5.721673806475209e-01 -5.718916522032619e-01 -5.716157126986885e-01 -5.713395629769044e-01 -5.710632040862346e-01 + -5.707866372440725e-01 -5.705098634203313e-01 -5.702328834166335e-01 -5.699556980810941e-01 -5.696783084118523e-01 + -5.694007154024264e-01 -5.691229196446771e-01 -5.688449222662509e-01 -5.685667247951188e-01 -5.682883277592247e-01 + -5.680097317796297e-01 -5.677309379467054e-01 -5.674519473718960e-01 -5.671727608332666e-01 -5.668933787438524e-01 + -5.666138024324125e-01 -5.663340332775648e-01 -5.660540719736767e-01 -5.657739191147048e-01 -5.654935755198692e-01 + -5.652130424887296e-01 -5.649323205844615e-01 -5.646514102596061e-01 -5.643703131320561e-01 -5.640890302500955e-01 + -5.638075621229782e-01 -5.635259096013298e-01 -5.632440735413435e-01 -5.629620547371306e-01 -5.626798540413637e-01 + -5.623974724401825e-01 -5.621149109968532e-01 -5.618321704141040e-01 -5.615492514232792e-01 -5.612661549867731e-01 + -5.609828820346520e-01 -5.606994332802816e-01 -5.604158091721365e-01 -5.601320109850756e-01 -5.598480400285579e-01 + -5.595638966628304e-01 -5.592795815381203e-01 -5.589950956088516e-01 -5.587104398719418e-01 -5.584256150214867e-01 + -5.581406216413944e-01 -5.578554608147975e-01 -5.575701335442586e-01 -5.572846406020895e-01 -5.569989825973618e-01 + -5.567131602740183e-01 -5.564271745453506e-01 -5.561410260628522e-01 -5.558547156725416e-01 -5.555682445647333e-01 + -5.552816133007876e-01 -5.549948224318785e-01 -5.547078730025937e-01 -5.544207659049382e-01 -5.541335017868810e-01 + -5.538460810525171e-01 -5.535585047530838e-01 -5.532707741030544e-01 -5.529828895161875e-01 -5.526948516856666e-01 + -5.524066615722431e-01 -5.521183198617187e-01 -5.518298271294942e-01 -5.515411840216864e-01 -5.512523916981388e-01 + -5.509634510475757e-01 -5.506743625070015e-01 -5.503851268106821e-01 -5.500957448096843e-01 -5.498062173123895e-01 + -5.495165448046009e-01 -5.492267279674086e-01 -5.489367680360671e-01 -5.486466657159732e-01 -5.483564214808752e-01 + -5.480660360175322e-01 -5.477755101695411e-01 -5.474848446983241e-01 -5.471940399297857e-01 -5.469030967097296e-01 + -5.466120162347039e-01 -5.463207992130580e-01 -5.460294461220425e-01 -5.457379574365921e-01 -5.454463341419615e-01 + -5.451545769787555e-01 -5.448626863052353e-01 -5.445706629798505e-01 -5.442785079610155e-01 -5.439862220351145e-01 + -5.436938056623958e-01 -5.434012594168094e-01 -5.431085842649811e-01 -5.428157805859503e-01 -5.425228488112607e-01 + -5.422297902211034e-01 -5.419366056396356e-01 -5.416432955189590e-01 -5.413498603513526e-01 -5.410563008101139e-01 + -5.407626176406882e-01 -5.404688113584152e-01 -5.401748827259091e-01 -5.398808327262222e-01 -5.395866619984641e-01 + -5.392923710452394e-01 -5.389979603718316e-01 -5.387034307479797e-01 -5.384087828255361e-01 -5.381140170098579e-01 + -5.378191341794292e-01 -5.375241352697128e-01 -5.372290208939874e-01 -5.369337913756430e-01 -5.366384472427702e-01 + -5.363429897090184e-01 -5.360474189692397e-01 -5.357517350808286e-01 -5.354559397287709e-01 -5.351600336380363e-01 + -5.348640167550405e-01 -5.345678898586708e-01 -5.342716537895550e-01 -5.339753091509816e-01 -5.336788560795809e-01 + -5.333822952812678e-01 -5.330856281219807e-01 -5.327888549366336e-01 -5.324919760228772e-01 -5.321949921530423e-01 + -5.318979038948367e-01 -5.316007117591099e-01 -5.313034163655616e-01 -5.310060185016283e-01 -5.307085188690476e-01 + -5.304109178113635e-01 -5.301132159560333e-01 -5.298154141057816e-01 -5.295175129068631e-01 -5.292195125739295e-01 + -5.289214133220888e-01 -5.286232164928936e-01 -5.283249229043371e-01 -5.280265326905970e-01 -5.277280463629660e-01 + -5.274294646406563e-01 -5.271307882435877e-01 -5.268320172699235e-01 -5.265331522204252e-01 -5.262341943956992e-01 + -5.259351442515741e-01 -5.256360020246456e-01 -5.253367683007200e-01 -5.250374438802079e-01 -5.247380293156688e-01 + -5.244385244793137e-01 -5.241389303158239e-01 -5.238392481089597e-01 -5.235394779437145e-01 -5.232396201567239e-01 + -5.229396754457293e-01 -5.226396444439171e-01 -5.223395275325885e-01 -5.220393250130385e-01 -5.217390378529512e-01 + -5.214386667612969e-01 -5.211382119631184e-01 -5.208376739941909e-01 -5.205370535049869e-01 -5.202363510969753e-01 + -5.199355670763710e-01 -5.196347019022574e-01 -5.193337564915598e-01 -5.190327313042545e-01 -5.187316266472318e-01 + -5.184304431068453e-01 -5.181291813913007e-01 -5.178278420262173e-01 -5.175264249304404e-01 -5.172249309061349e-01 + -5.169233612064826e-01 -5.166217158673360e-01 -5.163199951550123e-01 -5.160181998004911e-01 -5.157163303784532e-01 + -5.154143871836301e-01 -5.151123703899823e-01 -5.148102810445049e-01 -5.145081200022412e-01 -5.142058873966443e-01 + -5.139035834879907e-01 -5.136012088439446e-01 -5.132987643470369e-01 -5.129962500176725e-01 -5.126936660139045e-01 + -5.123910137907831e-01 -5.120882937169244e-01 -5.117855056864241e-01 -5.114826505830118e-01 -5.111797289351894e-01 + -5.108767409175631e-01 -5.105736869791608e-01 -5.102705678009448e-01 -5.099673841164564e-01 -5.096641361609235e-01 + -5.093608243087677e-01 -5.090574492425100e-01 -5.087540114820200e-01 -5.084505112619658e-01 -5.081469486274651e-01 + -5.078433245912960e-01 -5.075396400795943e-01 -5.072358951124865e-01 -5.069320899536702e-01 -5.066282251477461e-01 + -5.063243014155288e-01 -5.060203189866231e-01 -5.057162780382299e-01 -5.054121795257869e-01 -5.051080240346536e-01 + -5.048038117428125e-01 -5.044995428560932e-01 -5.041952179946867e-01 -5.038908379779851e-01 -5.035864027540428e-01 + -5.032819126747086e-01 -5.029773687584369e-01 -5.026727713803431e-01 -5.023681207203433e-01 -5.020634170773620e-01 + -5.017586611304518e-01 -5.014538534087800e-01 -5.011489939472488e-01 -5.008440834008399e-01 -5.005391225202214e-01 + -5.002341114848970e-01 -4.999290507534227e-01 -4.996239408965545e-01 -4.993187821357916e-01 -4.990135746184980e-01 + -4.987083187010172e-01 -4.984030154770353e-01 -4.980976654859903e-01 -4.977922686591017e-01 -4.974868253646026e-01 + -4.971813362150598e-01 -4.968758018164073e-01 -4.965702219796178e-01 -4.962645970518764e-01 -4.959589283986423e-01 + -4.956532161259331e-01 -4.953474601672504e-01 -4.950416611894621e-01 -4.947358197709370e-01 -4.944299362131679e-01 + -4.941240104625670e-01 -4.938180432013966e-01 -4.935120353360559e-01 -4.932059869696777e-01 -4.928998983832586e-01 + -4.925937700937396e-01 -4.922876025288242e-01 -4.919813957951697e-01 -4.916751499430368e-01 -4.913688660561277e-01 + -4.910625447982750e-01 -4.907561860728009e-01 -4.904497902858990e-01 -4.901433579647613e-01 -4.898368894758774e-01 + -4.895303847877975e-01 -4.892238442443610e-01 -4.889172690570770e-01 -4.886106594399146e-01 -4.883040152916479e-01 + -4.879973371198497e-01 -4.876906255185612e-01 -4.873838808516193e-01 -4.870771028969680e-01 -4.867702923235035e-01 + -4.864634502410182e-01 -4.861565765237592e-01 -4.858496713307078e-01 -4.855427352755911e-01 -4.852357685536697e-01 + -4.849287714451036e-01 -4.846217444589359e-01 -4.843146879997467e-01 -4.840076025123002e-01 -4.837004885060202e-01 + -4.833933461066379e-01 -4.830861755003688e-01 -4.827789772517898e-01 -4.824717516127337e-01 -4.821644988235214e-01 + -4.818572195031119e-01 -4.815499140763169e-01 -4.812425828318353e-01 -4.809352261296052e-01 -4.806278443199989e-01 + -4.803204376463540e-01 -4.800130060714603e-01 -4.797055501717924e-01 -4.793980709573083e-01 -4.790905684347367e-01 + -4.787830426340720e-01 -4.784754939887473e-01 -4.781679231200341e-01 -4.778603302286951e-01 -4.775527150015833e-01 + -4.772450784284375e-01 -4.769374213667171e-01 -4.766297434623847e-01 -4.763220450397429e-01 -4.760143266869929e-01 + -4.757065886153464e-01 -4.753988310011543e-01 -4.750910541528841e-01 -4.747832586964973e-01 -4.744754450010169e-01 + -4.741676132522562e-01 -4.738597638648681e-01 -4.735518971269201e-01 -4.732440131603057e-01 -4.729361121339242e-01 + -4.726281945136708e-01 -4.723202610280838e-01 -4.720123119889466e-01 -4.717043475548789e-01 -4.713963678930571e-01 + -4.710883732580126e-01 -4.707803639362851e-01 -4.704723402372425e-01 -4.701643027667922e-01 -4.698562520096238e-01 + -4.695481878708884e-01 -4.692401107063794e-01 -4.689320210638210e-01 -4.686239190614940e-01 -4.683158048406638e-01 + -4.680076787162389e-01 -4.676995413185929e-01 -4.673913930202820e-01 -4.670832339045677e-01 -4.667750641928977e-01 + -4.664668842720264e-01 -4.661586945788764e-01 -4.658504950199774e-01 -4.655422858974875e-01 -4.652340682220931e-01 + -4.649258420178881e-01 -4.646176071935555e-01 -4.643093642460228e-01 -4.640011135361189e-01 -4.636928552533583e-01 + -4.633845894780055e-01 -4.630763167063440e-01 -4.627680375263447e-01 -4.624597520114774e-01 -4.621514604268375e-01 + -4.618431632080228e-01 -4.615348605890552e-01 -4.612265525685530e-01 -4.609182391698630e-01 -4.606099213200685e-01 + -4.603015994943055e-01 -4.599932734377760e-01 -4.596849434943749e-01 -4.593766101319814e-01 -4.590682736286037e-01 + -4.587599339472412e-01 -4.584515913122191e-01 -4.581432465762054e-01 -4.578348999443045e-01 -4.575265513883392e-01 + -4.572182012155285e-01 -4.569098498253546e-01 -4.566014974456956e-01 -4.562931438038699e-01 -4.559847894939479e-01 + -4.556764355440957e-01 -4.553680818446301e-01 -4.550597283221777e-01 -4.547513752454754e-01 -4.544430231318768e-01 + -4.541346721146189e-01 -4.538263219879204e-01 -4.535179736207505e-01 -4.532096276207381e-01 -4.529012837320638e-01 + -4.525929421989657e-01 -4.522846033793929e-01 -4.519762674029318e-01 -4.516679344715044e-01 -4.513596049388520e-01 + -4.510512793496801e-01 -4.507429578901284e-01 -4.504346405869434e-01 -4.501263277269192e-01 -4.498180196893253e-01 + -4.495097167463535e-01 -4.492014186979058e-01 -4.488931259139300e-01 -4.485848392328776e-01 -4.482765586745183e-01 + -4.479682843350483e-01 -4.476600166157323e-01 -4.473517555800268e-01 -4.470435013321629e-01 -4.467352542154915e-01 + -4.464270145748750e-01 -4.461187827567155e-01 -4.458105590951706e-01 -4.455023436689998e-01 -4.451941365719282e-01 + -4.448859382022067e-01 -4.445777486373541e-01 -4.442695679571050e-01 -4.439613968717006e-01 -4.436532356916815e-01 + -4.433450843880059e-01 -4.430369431657580e-01 -4.427288122616561e-01 -4.424206918620519e-01 -4.421125820372482e-01 + -4.418044832064567e-01 -4.414963960811867e-01 -4.411883204960218e-01 -4.408802564087612e-01 -4.405722043668788e-01 + -4.402641646390490e-01 -4.399561373068210e-01 -4.396481224088197e-01 -4.393401203468038e-01 -4.390321316119934e-01 + -4.387241564347777e-01 -4.384161947343386e-01 -4.381082465266398e-01 -4.378003125430411e-01 -4.374923928277115e-01 + -4.371844871230922e-01 -4.368765963346815e-01 -4.365687207997857e-01 -4.362608601883623e-01 -4.359530147661063e-01 + -4.356451849773876e-01 -4.353373711547212e-01 -4.350295729831375e-01 -4.347217906709347e-01 -4.344140253247259e-01 + -4.341062767701542e-01 -4.337985447574569e-01 -4.334908298973194e-01 -4.331831324142745e-01 -4.328754522838512e-01 + -4.325677895304312e-01 -4.322601446380396e-01 -4.319525182069930e-01 -4.316449103351276e-01 -4.313373209430619e-01 + -4.310297500384340e-01 -4.307221981580691e-01 -4.304146654764764e-01 -4.301071518609876e-01 -4.297996578556980e-01 + -4.294921838432407e-01 -4.291847298181669e-01 -4.288772959356691e-01 -4.285698824691314e-01 -4.282624896947286e-01 + -4.279551173581843e-01 -4.276477655542056e-01 -4.273404353166645e-01 -4.270331268873108e-01 -4.267258400671970e-01 + -4.264185747737768e-01 -4.261113314513503e-01 -4.258041105111009e-01 -4.254969114260224e-01 -4.251897346526543e-01 + -4.248825811839114e-01 -4.245754507348872e-01 -4.242683433304872e-01 -4.239612594489042e-01 -4.236541990429175e-01 + -4.233471621233121e-01 -4.230401489624036e-01 -4.227331599159186e-01 -4.224261953202194e-01 -4.221192554076946e-01 + -4.218123401221037e-01 -4.215054495276057e-01 -4.211985840665567e-01 -4.208917437341202e-01 -4.205849285470991e-01 + -4.202781391077526e-01 -4.199713756820169e-01 -4.196646382796324e-01 -4.193579269625680e-01 -4.190512419898234e-01 + -4.187445835885104e-01 -4.184379514023820e-01 -4.181313458657921e-01 -4.178247679943504e-01 -4.175182174706034e-01 + -4.172116941638125e-01 -4.169051985589959e-01 -4.165987308801878e-01 -4.162922910262470e-01 -4.159858787333477e-01 + -4.156794948456864e-01 -4.153731400237493e-01 -4.150668138055245e-01 -4.147605162480433e-01 -4.144542477033889e-01 + -4.141480084083939e-01 -4.138417983331389e-01 -4.135356175072968e-01 -4.132294665425894e-01 -4.129233456523720e-01 + -4.126172547353913e-01 -4.123111939769975e-01 -4.120051637027982e-01 -4.116991641480549e-01 -4.113931948631621e-01 + -4.110872561089984e-01 -4.107813489720965e-01 -4.104754732505308e-01 -4.101696286974395e-01 -4.098638156566466e-01 + -4.095580344057681e-01 -4.092522850492459e-01 -4.089465675148873e-01 -4.086408821301867e-01 -4.083352292811099e-01 + -4.080296090087697e-01 -4.077240214925531e-01 -4.074184669621912e-01 -4.071129454474836e-01 -4.068074568206541e-01 + -4.065020011172992e-01 -4.061965792344674e-01 -4.058911914234347e-01 -4.055858372701102e-01 -4.052805169731385e-01 + -4.049752308691225e-01 -4.046699791746853e-01 -4.043647616984872e-01 -4.040595785275335e-01 -4.037544302850327e-01 + -4.034493171430220e-01 -4.031442391412985e-01 -4.028391964411297e-01 -4.025341890399178e-01 -4.022292169515432e-01 + -4.019242804318620e-01 -4.016193797575413e-01 -4.013145151618574e-01 -4.010096867767989e-01 -4.007048946739946e-01 + -4.004001389575452e-01 -4.000954199442892e-01 -3.997907376333255e-01 -3.994860918450180e-01 -3.991814831388100e-01 + -3.988769118682245e-01 -3.985723779299208e-01 -3.982678813725196e-01 -3.979634224118638e-01 -3.976590013430957e-01 + -3.973546179557737e-01 -3.970502723184750e-01 -3.967459652757308e-01 -3.964416967373386e-01 -3.961374664325438e-01 + -3.958332748416728e-01 -3.955291221412219e-01 -3.952250082276700e-01 -3.949209329883424e-01 -3.946168969005399e-01 + -3.943129006192436e-01 -3.940089438207542e-01 -3.937050264421336e-01 -3.934011488327164e-01 -3.930973111392007e-01 + -3.927935133510078e-01 -3.924897554398895e-01 -3.921860379028622e-01 -3.918823611410527e-01 -3.915787251272155e-01 + -3.912751296302741e-01 -3.909715747221262e-01 -3.906680610479274e-01 -3.903645884467465e-01 -3.900611567141484e-01 + -3.897577665105899e-01 -3.894544180732338e-01 -3.891511112918067e-01 -3.888478460867855e-01 -3.885446227676595e-01 + -3.882414417069796e-01 -3.879383024897914e-01 -3.876352053351357e-01 -3.873321510269954e-01 -3.870291394376005e-01 + -3.867261704550462e-01 -3.864232442776043e-01 -3.861203610538394e-01 -3.858175208256477e-01 -3.855147235659399e-01 + -3.852119696012977e-01 -3.849092593053318e-01 -3.846065928280623e-01 -3.843039700003283e-01 -3.840013907871894e-01 + -3.836988557264463e-01 -3.833963646642737e-01 -3.830939173673272e-01 -3.827915146861536e-01 -3.824891567344230e-01 + -3.821868431312930e-01 -3.818845742897094e-01 -3.815823505036508e-01 -3.812801717050347e-01 -3.809780375081945e-01 + -3.806759481537249e-01 -3.803739045452896e-01 -3.800719066553854e-01 -3.797699542729503e-01 -3.794680474344709e-01 + -3.791661864151066e-01 -3.788643713579414e-01 -3.785626020610045e-01 -3.782608787892401e-01 -3.779592019649877e-01 + -3.776575717504184e-01 -3.773559879986245e-01 -3.770544506277551e-01 -3.767529601718599e-01 -3.764515165488658e-01 + -3.761501194541416e-01 -3.758487697291592e-01 -3.755474675286999e-01 -3.752462123142175e-01 -3.749450044400430e-01 + -3.746438442933219e-01 -3.743427319385532e-01 -3.740416670860849e-01 -3.737406497610264e-01 -3.734396805632812e-01 + -3.731387597991040e-01 -3.728378873981389e-01 -3.725370629746288e-01 -3.722362869751284e-01 -3.719355598195744e-01 + -3.716348809475082e-01 -3.713342505611615e-01 -3.710336692885385e-01 -3.707331373206220e-01 -3.704326544188714e-01 + -3.701322203470578e-01 -3.698318357923215e-01 -3.695315007664240e-01 -3.692312147431765e-01 -3.689309784821330e-01 + -3.686307923312130e-01 -3.683306558583173e-01 -3.680305692832940e-01 -3.677305328772401e-01 -3.674305466155561e-01 + -3.671306102835627e-01 -3.668307239979260e-01 -3.665308885123383e-01 -3.662311039528895e-01 -3.659313700864294e-01 + -3.656316867340536e-01 -3.653320542170925e-01 -3.650324728818179e-01 -3.647329423252613e-01 -3.644334627823841e-01 + -3.641340348652060e-01 -3.638346584224414e-01 -3.635353333854674e-01 -3.632360599381753e-01 -3.629368383087880e-01 + -3.626376683911322e-01 -3.623385498640058e-01 -3.620394834143431e-01 -3.617404694429358e-01 -3.614415075289109e-01 + -3.611425978472304e-01 -3.608437406892576e-01 -3.605449360396625e-01 -3.602461837170217e-01 -3.599474837636126e-01 + -3.596488368123176e-01 -3.593502429497555e-01 -3.590517019950174e-01 -3.587532141258951e-01 -3.584547794364419e-01 + -3.581563978967544e-01 -3.578580694598877e-01 -3.575597943932133e-01 -3.572615731273898e-01 -3.569634054963255e-01 + -3.566652915450074e-01 -3.563672316398869e-01 -3.560692255181004e-01 -3.557712730433470e-01 -3.554733745722332e-01 + -3.551755304325120e-01 -3.548777407381354e-01 -3.545800053200450e-01 -3.542823243820459e-01 -3.539846981602633e-01 + -3.536871265064687e-01 -3.533896092936707e-01 -3.530921466577667e-01 -3.527947392696623e-01 -3.524973870763591e-01 + -3.522000896417020e-01 -3.519028473926252e-01 -3.516056606257513e-01 -3.513085292624320e-01 -3.510114529438408e-01 + -3.507144318797571e-01 -3.504174668509267e-01 -3.501205576763053e-01 -3.498237041407538e-01 -3.495269064579332e-01 + -3.492301648012658e-01 -3.489334792023763e-01 -3.486368495320163e-01 -3.483402759532310e-01 -3.480437587608516e-01 + -3.477472981563033e-01 -3.474508940116457e-01 -3.471545462266357e-01 -3.468582552838557e-01 -3.465620210594309e-01 + -3.462658431862374e-01 -3.459697223261950e-01 -3.456736587298253e-01 -3.453776521244075e-01 -3.450817025977070e-01 + -3.447858103250944e-01 -3.444899754033867e-01 -3.441941976114102e-01 -3.438984770490408e-01 -3.436028143288083e-01 + -3.433072093931014e-01 -3.430116620696204e-01 -3.427161725111446e-01 -3.424207408695913e-01 -3.421253671506906e-01 + -3.418300511322294e-01 -3.415347931565998e-01 -3.412395936962896e-01 -3.409444525560181e-01 -3.406493696743920e-01 + -3.403543451949735e-01 -3.400593792856730e-01 -3.397644718554241e-01 -3.394696227303268e-01 -3.391748324448361e-01 + -3.388801012525273e-01 -3.385854289098167e-01 -3.382908154719833e-01 -3.379962610967925e-01 -3.377017658856785e-01 + -3.374073296405456e-01 -3.371129523992028e-01 -3.368186347618567e-01 -3.365243767275647e-01 -3.362301780997549e-01 + -3.359360390044588e-01 -3.356419595939377e-01 -3.353479398983790e-01 -3.350539796822969e-01 -3.347600792157354e-01 + -3.344662390001809e-01 -3.341724588683134e-01 -3.338787387386647e-01 -3.335850787505256e-01 -3.332914790393797e-01 + -3.329979395469141e-01 -3.327044601082655e-01 -3.324110411740308e-01 -3.321176830325031e-01 -3.318243854727410e-01 + -3.315311485033696e-01 -3.312379722613320e-01 -3.309448568815591e-01 -3.306518021855764e-01 -3.303588081394571e-01 + -3.300658753265905e-01 -3.297730038003383e-01 -3.294801933460689e-01 -3.291874440822869e-01 -3.288947561448500e-01 + -3.286021295596533e-01 -3.283095641084477e-01 -3.280170600152969e-01 -3.277246178092963e-01 -3.274322373144385e-01 + -3.271399184133136e-01 -3.268476612759387e-01 -3.265554660369243e-01 -3.262633326374516e-01 -3.259712608638953e-01 + -3.256792511518811e-01 -3.253873038511834e-01 -3.250954187049387e-01 -3.248035957166725e-01 -3.245118350464998e-01 + -3.242201368055027e-01 -3.239285008232202e-01 -3.236369270127419e-01 -3.233454159517716e-01 -3.230539677655248e-01 + -3.227625822208953e-01 -3.224712593689608e-01 -3.221799993547627e-01 -3.218888022707884e-01 -3.215976678728723e-01 + -3.213065962862219e-01 -3.210155880538063e-01 -3.207246430922022e-01 -3.204337612603162e-01 -3.201429426545060e-01 + -3.198521874188910e-01 -3.195614955407240e-01 -3.192708667833873e-01 -3.189803015317205e-01 -3.186898001852494e-01 + -3.183993624745159e-01 -3.181089883645859e-01 -3.178186780215274e-01 -3.175284315788672e-01 -3.172382488912609e-01 + -3.169481298117736e-01 -3.166580748847834e-01 -3.163680842820584e-01 -3.160781577505636e-01 -3.157882953403168e-01 + -3.154984971942622e-01 -3.152087634033934e-01 -3.149190937439705e-01 -3.146294882798918e-01 -3.143399475483734e-01 + -3.140504715109739e-01 -3.137610600081304e-01 -3.134717131245625e-01 -3.131824310053718e-01 -3.128932136614712e-01 + -3.126040608259110e-01 -3.123149728003283e-01 -3.120259500284038e-01 -3.117369923103007e-01 -3.114480995811182e-01 + -3.111592719695180e-01 -3.108705096041851e-01 -3.105818123704323e-01 -3.102931800853200e-01 -3.100046132424714e-01 + -3.097161120700553e-01 -3.094276763275429e-01 -3.091393060498078e-01 -3.088510013669117e-01 -3.085627623567511e-01 + -3.082745888090075e-01 -3.079864807413559e-01 -3.076984387104112e-01 -3.074104627037881e-01 -3.071225525229602e-01 + -3.068347082674415e-01 -3.065469300647063e-01 -3.062592179233167e-01 -3.059715715883658e-01 -3.056839913222955e-01 + -3.053964776128304e-01 -3.051090302429263e-01 -3.048216491115613e-01 -3.045343343664140e-01 -3.042470861256498e-01 + -3.039599042912569e-01 -3.036727886539801e-01 -3.033857396783212e-01 -3.030987576532087e-01 -3.028118423290159e-01 + -3.025249936916685e-01 -3.022382118572411e-01 -3.019514969324824e-01 -3.016648487319269e-01 -3.013782672163520e-01 + -3.010917529380510e-01 -3.008053059332530e-01 -3.005189259718208e-01 -3.002326131255288e-01 -2.999463675243501e-01 + -2.996601892115071e-01 -2.993740779431134e-01 -2.990880338991673e-01 -2.988020575697556e-01 -2.985161488129333e-01 + -2.982303074956766e-01 -2.979445337070337e-01 -2.976588275957710e-01 -2.973731891105994e-01 -2.970876179949718e-01 + -2.968021146693378e-01 -2.965166794729635e-01 -2.962313121299224e-01 -2.959460126205053e-01 -2.956607810824475e-01 + -2.953756176130727e-01 -2.950905220348498e-01 -2.948054942542040e-01 -2.945205348259674e-01 -2.942356438398593e-01 + -2.939508210351428e-01 -2.936660664737455e-01 -2.933813802767271e-01 -2.930967624892026e-01 -2.928122128931882e-01 + -2.925277316158055e-01 -2.922433191494531e-01 -2.919589753765323e-01 -2.916747001400424e-01 -2.913904935350139e-01 + -2.911063557118664e-01 -2.908222866434848e-01 -2.905382860439090e-01 -2.902543542778646e-01 -2.899704917370004e-01 + -2.896866981425306e-01 -2.894029734511842e-01 -2.891193178139609e-01 -2.888357313345801e-01 -2.885522138545054e-01 + -2.882687652243500e-01 -2.879853859636904e-01 -2.877020762131379e-01 -2.874188357014512e-01 -2.871356645025479e-01 + -2.868525627422169e-01 -2.865695304469716e-01 -2.862865673963798e-01 -2.860036736642309e-01 -2.857208497673618e-01 + -2.854380956360413e-01 -2.851554110854154e-01 -2.848727961880673e-01 -2.845902510831507e-01 -2.843077757793696e-01 + -2.840253700094237e-01 -2.837430340397069e-01 -2.834607682748240e-01 -2.831785725328111e-01 -2.828964467316310e-01 + -2.826143909542473e-01 -2.823324053101364e-01 -2.820504896922502e-01 -2.817686439371250e-01 -2.814868685136343e-01 + -2.812051636152371e-01 -2.809235289745332e-01 -2.806419646055033e-01 -2.803604706362606e-01 -2.800790471610514e-01 + -2.797976939416736e-01 -2.795164109639519e-01 -2.792351987736799e-01 -2.789540573481899e-01 -2.786729864814172e-01 + -2.783919862645312e-01 -2.781110567914744e-01 -2.778301980476193e-01 -2.775494098202491e-01 -2.772686923282846e-01 + -2.769880459823117e-01 -2.767074706347814e-01 -2.764269661749121e-01 -2.761465326612197e-01 -2.758661702373058e-01 + -2.755858788282252e-01 -2.753056582075042e-01 -2.750255088041456e-01 -2.747454308713073e-01 -2.744654241403574e-01 + -2.741854886058927e-01 -2.739056243892176e-01 -2.736258315782464e-01 -2.733461099674180e-01 -2.730664595012521e-01 + -2.727868807168794e-01 -2.725073736368404e-01 -2.722279380246611e-01 -2.719485739535283e-01 -2.716692815376729e-01 + -2.713900607905190e-01 -2.711109114418696e-01 -2.708318336740216e-01 -2.705528279896257e-01 -2.702738942089605e-01 + -2.699950321750810e-01 -2.697162419812612e-01 -2.694375237750356e-01 -2.691588774953904e-01 -2.688803028674867e-01 + -2.686018002777490e-01 -2.683233700490228e-01 -2.680450119322323e-01 -2.677667258920440e-01 -2.674885120321642e-01 + -2.672103704327183e-01 -2.669323009240009e-01 -2.666543034142266e-01 -2.663763784024609e-01 -2.660985259744725e-01 + -2.658207458961011e-01 -2.655430381891060e-01 -2.652654029648259e-01 -2.649878402880381e-01 -2.647103499069445e-01 + -2.644329319184849e-01 -2.641555868035665e-01 -2.638783144422805e-01 -2.636011146840161e-01 -2.633239876271375e-01 + -2.630469333706403e-01 -2.627699518665801e-01 -2.624930428881614e-01 -2.622162067361601e-01 -2.619394437425979e-01 + -2.616627537197243e-01 -2.613861365959049e-01 -2.611095924398818e-01 -2.608331213683194e-01 -2.605567232565551e-01 + -2.602803979638560e-01 -2.600041459185203e-01 -2.597279672559259e-01 -2.594518617711524e-01 -2.591758294668244e-01 + -2.588998704444723e-01 -2.586239847880919e-01 -2.583481722507706e-01 -2.580724328621725e-01 -2.577967671126083e-01 + -2.575211749406902e-01 -2.572456561780725e-01 -2.569702108956164e-01 -2.566948391959332e-01 -2.564195410517088e-01 + -2.561443162003717e-01 -2.558691649278121e-01 -2.555940876367002e-01 -2.553190840839927e-01 -2.550441541814838e-01 + -2.547692980445108e-01 -2.544945157803290e-01 -2.542198072584164e-01 -2.539451722830000e-01 -2.536706112997469e-01 + -2.533961245035316e-01 -2.531217116489478e-01 -2.528473727232912e-01 -2.525731078267265e-01 -2.522989170513077e-01 + -2.520248001810547e-01 -2.517507572028029e-01 -2.514767886096237e-01 -2.512028943623831e-01 -2.509290742545349e-01 + -2.506553283625735e-01 -2.503816568034038e-01 -2.501080595782905e-01 -2.498345364108095e-01 -2.495610875124447e-01 + -2.492877133133172e-01 -2.490144136112123e-01 -2.487411882994743e-01 -2.484680374856057e-01 -2.481949612635986e-01 + -2.479219595287280e-01 -2.476490320734136e-01 -2.473761793087864e-01 -2.471034014703498e-01 -2.468306982957061e-01 + -2.465580697844871e-01 -2.462855160432138e-01 -2.460130371204629e-01 -2.457406328233614e-01 -2.454683031113906e-01 + -2.451960484794311e-01 -2.449238689415910e-01 -2.446517642712055e-01 -2.443797345227543e-01 -2.441077797933181e-01 + -2.438359000947776e-01 -2.435640951889690e-01 -2.432923652315951e-01 -2.430207106571287e-01 -2.427491313175689e-01 + -2.424776270783986e-01 -2.422061980074125e-01 -2.419348442072336e-01 -2.416635656192684e-01 -2.413923620306189e-01 + -2.411212337762792e-01 -2.408501811283544e-01 -2.405792038734625e-01 -2.403083019688687e-01 -2.400374754936993e-01 + -2.397667245256450e-01 -2.394960488977194e-01 -2.392254485194238e-01 -2.389549238762380e-01 -2.386844750244205e-01 + -2.384141017100180e-01 -2.381438039886236e-01 -2.378735819631148e-01 -2.376034356560101e-01 -2.373333648418426e-01 + -2.370633696160408e-01 -2.367934504134751e-01 -2.365236071336530e-01 -2.362538396334552e-01 -2.359841479713349e-01 + -2.357145322333765e-01 -2.354449923780104e-01 -2.351755281955192e-01 -2.349061399838227e-01 -2.346368280467886e-01 + -2.343675921502802e-01 -2.340984322401892e-01 -2.338293484224673e-01 -2.335603407944267e-01 -2.332914091991481e-01 + -2.330225534791031e-01 -2.327537740958542e-01 -2.324850711724544e-01 -2.322164444575208e-01 -2.319478939696494e-01 + -2.316794198107119e-01 -2.314110220364787e-01 -2.311427004172850e-01 -2.308744549913938e-01 -2.306062862221652e-01 + -2.303381940399467e-01 -2.300701782673901e-01 -2.298022389505013e-01 -2.295343762055658e-01 -2.292665900251787e-01 + -2.289988801367178e-01 -2.287312467963517e-01 -2.284636903804389e-01 -2.281962106639611e-01 -2.279288075702767e-01 + -2.276614812041137e-01 -2.273942316314865e-01 -2.271270587234099e-01 -2.268599623216859e-01 -2.265929428586625e-01 + -2.263260004971463e-01 -2.260591349680134e-01 -2.257923462859340e-01 -2.255256345570404e-01 -2.252589998316905e-01 + -2.249924418873443e-01 -2.247259607239798e-01 -2.244595568451081e-01 -2.241932301870257e-01 -2.239269805236896e-01 + -2.236608079513920e-01 -2.233947125724077e-01 -2.231286943677930e-01 -2.228627530899186e-01 -2.225968889349937e-01 + -2.223311022938890e-01 -2.220653929888047e-01 -2.217997609137618e-01 -2.215342061492806e-01 -2.212687287997047e-01 + -2.210033287645195e-01 -2.207380058226258e-01 -2.204727603658667e-01 -2.202075926188733e-01 -2.199425023254976e-01 + -2.196774894791217e-01 -2.194125541827232e-01 -2.191476964953657e-01 -2.188829162198361e-01 -2.186182133017065e-01 + -2.183535882155842e-01 -2.180890409721393e-01 -2.178245713492862e-01 -2.175601793915103e-01 -2.172958651996608e-01 + -2.170316287941991e-01 -2.167674699222372e-01 -2.165033887351043e-01 -2.162393856655618e-01 -2.159754605317784e-01 + -2.157116131976179e-01 -2.154478437626437e-01 -2.151841523053365e-01 -2.149205387568082e-01 -2.146570029331132e-01 + -2.143935451423346e-01 -2.141301656253313e-01 -2.138668641770334e-01 -2.136036407648879e-01 -2.133404954698548e-01 + -2.130774283590253e-01 -2.128144392711416e-01 -2.125515281171839e-01 -2.122886953403734e-01 -2.120259409959825e-01 + -2.117632648531722e-01 -2.115006669388265e-01 -2.112381473557379e-01 -2.109757061544524e-01 -2.107133431005909e-01 + -2.104510582708100e-01 -2.101888520817322e-01 -2.099267244352251e-01 -2.096646751892664e-01 -2.094027043922436e-01 + -2.091408121382980e-01 -2.088789983898283e-01 -2.086172629233026e-01 -2.083556060294393e-01 -2.080940280081475e-01 + -2.078325286261216e-01 -2.075711078316715e-01 -2.073097657230958e-01 -2.070485023681648e-01 -2.067873176254528e-01 + -2.065262113703670e-01 -2.062651840261599e-01 -2.060042356935543e-01 -2.057433661320316e-01 -2.054825753736384e-01 + -2.052218635119340e-01 -2.049612305777034e-01 -2.047006763593381e-01 -2.044402009029163e-01 -2.041798046444743e-01 + -2.039194875091236e-01 -2.036592493288050e-01 -2.033990901597007e-01 -2.031390101041152e-01 -2.028790091364410e-01 + -2.026190869860804e-01 -2.023592439213894e-01 -2.020994803209571e-01 -2.018397959336108e-01 -2.015801906636277e-01 + -2.013206646163115e-01 -2.010612178968381e-01 -2.008018503846473e-01 -2.005425618909167e-01 -2.002833527994660e-01 + -2.000242232866459e-01 -1.997651731545872e-01 -1.995062023757428e-01 -1.992473110134654e-01 -1.989884991329442e-01 + -1.987297665552775e-01 -1.984711132804359e-01 -1.982125397288479e-01 -1.979540458641874e-01 -1.976956315048893e-01 + -1.974372966986851e-01 -1.971790415364275e-01 -1.969208660181268e-01 -1.966627699138122e-01 -1.964047534115951e-01 + -1.961468168792641e-01 -1.958889601415059e-01 -1.956311830976701e-01 -1.953734858227050e-01 -1.951158683885618e-01 + -1.948583307060198e-01 -1.946008726082255e-01 -1.943434944554087e-01 -1.940861964418109e-01 -1.938289783248288e-01 + -1.935718400929853e-01 -1.933147818435645e-01 -1.930578036445209e-01 -1.928009053047615e-01 -1.925440867668252e-01 + -1.922873484836986e-01 -1.920306904586313e-01 -1.917741124759950e-01 -1.915176145882685e-01 -1.912611968971867e-01 + -1.910048594156118e-01 -1.907486018758652e-01 -1.904924244300230e-01 -1.902363275204000e-01 -1.899803109613821e-01 + -1.897243746214878e-01 -1.894685186111405e-01 -1.892127429944364e-01 -1.889570476814606e-01 -1.887014324762902e-01 + -1.884458977092228e-01 -1.881904436322386e-01 -1.879350700181010e-01 -1.876797768445363e-01 -1.874245641980662e-01 + -1.871694321106837e-01 -1.869143804464632e-01 -1.866594091449939e-01 -1.864045185802509e-01 -1.861497088150435e-01 + -1.858949796742653e-01 -1.856403311585743e-01 -1.853857633524328e-01 -1.851312763093270e-01 -1.848768697910832e-01 + -1.846225438828809e-01 -1.843682990131126e-01 -1.841141350478542e-01 -1.838600518410295e-01 -1.836060494900988e-01 + -1.833521280737523e-01 -1.830982875326949e-01 -1.828445276569093e-01 -1.825908487213151e-01 -1.823372510073639e-01 + -1.820837342990139e-01 -1.818302985608840e-01 -1.815769438919524e-01 -1.813236703339543e-01 -1.810704777470943e-01 + -1.808173660274447e-01 -1.805643355946649e-01 -1.803113865319381e-01 -1.800585185867421e-01 -1.798057318207557e-01 + -1.795530263298101e-01 -1.793004021140676e-01 -1.790478589821669e-01 -1.787953969871552e-01 -1.785430165333783e-01 + -1.782907175616041e-01 -1.780384999147782e-01 -1.777863636186671e-01 -1.775343087850783e-01 -1.772823354138563e-01 + -1.770304432439544e-01 -1.767786324996124e-01 -1.765269035206169e-01 -1.762752561209628e-01 -1.760236902365481e-01 + -1.757722059508868e-01 -1.755208033072168e-01 -1.752694821962465e-01 -1.750182424985018e-01 -1.747670845873172e-01 + -1.745160085943736e-01 -1.742650142826787e-01 -1.740141016708582e-01 -1.737632708599284e-01 -1.735125219002990e-01 + -1.732618545819516e-01 -1.730112688968157e-01 -1.727607652962038e-01 -1.725103437360838e-01 -1.722600040199003e-01 + -1.720097462053399e-01 -1.717595703957765e-01 -1.715094765937824e-01 -1.712594645505801e-01 -1.710095344617568e-01 + -1.707596867053610e-01 -1.705099210652020e-01 -1.702602374503936e-01 -1.700106359820640e-01 -1.697611167032507e-01 + -1.695116795170456e-01 -1.692623242857098e-01 -1.690130513415946e-01 -1.687638608735592e-01 -1.685147526839133e-01 + -1.682657267304136e-01 -1.680167830834059e-01 -1.677679218434041e-01 -1.675191428301483e-01 -1.672704459776749e-01 + -1.670218317162355e-01 -1.667733000505553e-01 -1.665248507843929e-01 -1.662764839848620e-01 -1.660281997331086e-01 + -1.657799980211539e-01 -1.655318786421316e-01 -1.652838417439954e-01 -1.650358877061586e-01 -1.647880163635810e-01 + -1.645402275978841e-01 -1.642925215033296e-01 -1.640448981629310e-01 -1.637973575048030e-01 -1.635498993322754e-01 + -1.633025239587731e-01 -1.630552316214122e-01 -1.628080220971913e-01 -1.625608953706327e-01 -1.623138515347123e-01 + -1.620668906280902e-01 -1.618200125176413e-01 -1.615732171440627e-01 -1.613265048790783e-01 -1.610798757703294e-01 + -1.608333296326273e-01 -1.605868664946396e-01 -1.603404864451659e-01 -1.600941895233320e-01 -1.598479755194739e-01 + -1.596018445089071e-01 -1.593557968710357e-01 -1.591098325274174e-01 -1.588639513462271e-01 -1.586181533501567e-01 + -1.583724386633118e-01 -1.581268072684121e-01 -1.578812589110151e-01 -1.576357938605635e-01 -1.573904124176000e-01 + -1.571451143885420e-01 -1.568998997115455e-01 -1.566547684551118e-01 -1.564097207009810e-01 -1.561647563377750e-01 + -1.559198752534892e-01 -1.556750777971572e-01 -1.554303640753041e-01 -1.551857339241298e-01 -1.549411873472499e-01 + -1.546967244117141e-01 -1.544523451583313e-01 -1.542080493972972e-01 -1.539638371771692e-01 -1.537197089019022e-01 + -1.534756644902717e-01 -1.532317037874507e-01 -1.529878268669247e-01 -1.527440338285302e-01 -1.525003246495042e-01 + -1.522566990917994e-01 -1.520131573865194e-01 -1.517696998607227e-01 -1.515263263105132e-01 -1.512830366842278e-01 + -1.510398310896279e-01 -1.507967095609423e-01 -1.505536719818633e-01 -1.503107182379510e-01 -1.500678487166025e-01 + -1.498250635429138e-01 -1.495823624607518e-01 -1.493397455183047e-01 -1.490972128240516e-01 -1.488547643939502e-01 + -1.486124000468938e-01 -1.483701197975273e-01 -1.481279240643807e-01 -1.478858128086334e-01 -1.476437858541442e-01 + -1.474018432575297e-01 -1.471599850901578e-01 -1.469182113447434e-01 -1.466765218581870e-01 -1.464349167991909e-01 + -1.461933964691583e-01 -1.459519607332137e-01 -1.457106095126376e-01 -1.454693428712828e-01 -1.452281609001614e-01 + -1.449870635167667e-01 -1.447460505411944e-01 -1.445051223204885e-01 -1.442642790465533e-01 -1.440235204958664e-01 + -1.437828466645076e-01 -1.435422576460715e-01 -1.433017535021517e-01 -1.430613340788666e-01 -1.428209993367665e-01 + -1.425807496580667e-01 -1.423405850452980e-01 -1.421005053276286e-01 -1.418605105748216e-01 -1.416206008760722e-01 + -1.413807762310167e-01 -1.411410364179444e-01 -1.409013815814383e-01 -1.406618121114770e-01 -1.404223278620860e-01 + -1.401829287142080e-01 -1.399436147388266e-01 -1.397043860171121e-01 -1.394652424999606e-01 -1.392261840277533e-01 + -1.389872108800275e-01 -1.387483232704581e-01 -1.385095210193419e-01 -1.382708041155041e-01 -1.380321726381191e-01 + -1.377936266235328e-01 -1.375551659356028e-01 -1.373167905196480e-01 -1.370785007699294e-01 -1.368402967462084e-01 + -1.366021782602805e-01 -1.363641453151502e-01 -1.361261980034910e-01 -1.358883363925467e-01 -1.356505602730137e-01 + -1.354128697173978e-01 -1.351752651019714e-01 -1.349377463365720e-01 -1.347003133096952e-01 -1.344629660943524e-01 + -1.342257047644556e-01 -1.339885292721434e-01 -1.337514394288152e-01 -1.335144355004790e-01 -1.332775177574095e-01 + -1.330406860095451e-01 -1.328039402156265e-01 -1.325672804621033e-01 -1.323307068237664e-01 -1.320942191803451e-01 + -1.318578174250235e-01 -1.316215019436967e-01 -1.313852728254415e-01 -1.311491298574344e-01 -1.309130730812647e-01 + -1.306771025967214e-01 -1.304412184433993e-01 -1.302054204167683e-01 -1.299697085633917e-01 -1.297340833011096e-01 + -1.294985445422908e-01 -1.292630921400970e-01 -1.290277262032818e-01 -1.287924468024440e-01 -1.285572538860320e-01 + -1.283221472565841e-01 -1.280871271607027e-01 -1.278521939245786e-01 -1.276173473594251e-01 -1.273825873815436e-01 + -1.271479140654554e-01 -1.269133275291332e-01 -1.266788276689478e-01 -1.264444143112885e-01 -1.262100878411512e-01 + -1.259758484249543e-01 -1.257416958580221e-01 -1.255076301118343e-01 -1.252736512740011e-01 -1.250397594556589e-01 + -1.248059544551782e-01 -1.245722362561283e-01 -1.243386053032582e-01 -1.241050615437150e-01 -1.238716047916152e-01 + -1.236382351439431e-01 -1.234049527007845e-01 -1.231717574487822e-01 -1.229386491649988e-01 -1.227056280466961e-01 + -1.224726944551588e-01 -1.222398481939305e-01 -1.220070891810755e-01 -1.217744175349468e-01 -1.215418333321439e-01 + -1.213093364896874e-01 -1.210769268543440e-01 -1.208446047468073e-01 -1.206123703546746e-01 -1.203802234985189e-01 + -1.201481641556592e-01 -1.199161924040098e-01 -1.196843083373426e-01 -1.194525118101599e-01 -1.192208027778711e-01 + -1.189891816158967e-01 -1.187576483334740e-01 -1.185262027772708e-01 -1.182948450325541e-01 -1.180635751718018e-01 + -1.178323931740712e-01 -1.176012988598141e-01 -1.173702923768903e-01 -1.171393740841554e-01 -1.169085438684581e-01 + -1.166778016318426e-01 -1.164471474323627e-01 -1.162165813372163e-01 -1.159861033094216e-01 -1.157557132288848e-01 + -1.155254113554128e-01 -1.152951978878259e-01 -1.150650726784410e-01 -1.148350356935617e-01 -1.146050869998271e-01 + -1.143752266983624e-01 -1.141454546633286e-01 -1.139157708150553e-01 -1.136861755297615e-01 -1.134566688685596e-01 + -1.132272506625232e-01 -1.129979209389772e-01 -1.127686797968139e-01 -1.125395272939830e-01 -1.123104632216639e-01 + -1.120814876598629e-01 -1.118526009932446e-01 -1.116238031362107e-01 -1.113950939743172e-01 -1.111664735714766e-01 + -1.109379420230661e-01 -1.107094992989161e-01 -1.104811452047023e-01 -1.102528800189790e-01 -1.100247040176238e-01 + -1.097966169898620e-01 -1.095686189066022e-01 -1.093407098806465e-01 -1.091128899944971e-01 -1.088851591239916e-01 + -1.086575171512236e-01 -1.084299644451029e-01 -1.082025011238454e-01 -1.079751270251657e-01 -1.077478421434466e-01 + -1.075206465724022e-01 -1.072935404061887e-01 -1.070665234272605e-01 -1.068395956686409e-01 -1.066127575621145e-01 + -1.063860090403522e-01 -1.061593499609373e-01 -1.059327804074918e-01 -1.057063004552603e-01 -1.054799100848440e-01 + -1.052536091459819e-01 -1.050273978363624e-01 -1.048012764247322e-01 -1.045752447992682e-01 -1.043493029044653e-01 + -1.041234507912105e-01 -1.038976885616201e-01 -1.036720161437409e-01 -1.034464334142674e-01 -1.032209407082870e-01 + -1.029955381585720e-01 -1.027702255852857e-01 -1.025450030256683e-01 -1.023198705766582e-01 -1.020948282803886e-01 + -1.018698759615270e-01 -1.016450136357437e-01 -1.014202417243671e-01 -1.011955602054591e-01 -1.009709689162001e-01 + -1.007464679013254e-01 -1.005220572777319e-01 -1.002977370772110e-01 -1.000735070732387e-01 -9.984936745539402e-02 + -9.962531858349888e-02 -9.940136027998529e-02 -9.917749246814733e-02 -9.895371525770333e-02 -9.873002873335845e-02 + -9.850643282337790e-02 -9.828292738770521e-02 -9.805951276903688e-02 -9.783618914357473e-02 -9.761295629040607e-02 + -9.738981424317925e-02 -9.716676311420755e-02 -9.694380293900719e-02 -9.672093359332221e-02 -9.649815506782670e-02 + -9.627546771326484e-02 -9.605287156919239e-02 -9.583036651098850e-02 -9.560795255252680e-02 -9.538562978098189e-02 + -9.516339824129488e-02 -9.494125774199282e-02 -9.471920843970391e-02 -9.449725071216948e-02 -9.427538438593883e-02 + -9.405360936874554e-02 -9.383192580278800e-02 -9.361033376064058e-02 -9.338883317577901e-02 -9.316742389906425e-02 + -9.294610622995669e-02 -9.272488039403920e-02 -9.250374621386263e-02 -9.228270367992475e-02 -9.206175287916113e-02 + -9.184089387273792e-02 -9.162012656935895e-02 -9.139945093572596e-02 -9.117886729658348e-02 -9.095837571294788e-02 + -9.073797605928635e-02 -9.051766837713708e-02 -9.029745274779008e-02 -9.007732920697027e-02 -8.985729759887780e-02 + -8.963735802530043e-02 -8.941751083887589e-02 -8.919775594907166e-02 -8.897809325953572e-02 -8.875852286193828e-02 + -8.853904483959285e-02 -8.831965916578795e-02 -8.810036569419880e-02 -8.788116467295366e-02 -8.766205635082600e-02 + -8.744304058057480e-02 -8.722411733824492e-02 -8.700528670561582e-02 -8.678654875532379e-02 -8.656790339361393e-02 + -8.634935054757228e-02 -8.613089058374623e-02 -8.591252359970507e-02 -8.569424942256174e-02 -8.547606809595372e-02 + -8.525797972327777e-02 -8.503998436304407e-02 -8.482208183975883e-02 -8.460427219735964e-02 -8.438655581333676e-02 + -8.416893266387415e-02 -8.395140264416648e-02 -8.373396580036768e-02 -8.351662221748458e-02 -8.329937190808817e-02 + -8.308221474187347e-02 -8.286515089972675e-02 -8.264818063381729e-02 -8.243130387381740e-02 -8.221452057360500e-02 + -8.199783077068876e-02 -8.178123458056528e-02 -8.156473193866548e-02 -8.134832272179610e-02 -8.113200727104515e-02 + -8.091578573554094e-02 -8.069965795549490e-02 -8.048362394306618e-02 -8.026768379237301e-02 -8.005183759034226e-02 + -7.983608519016389e-02 -7.962042660317335e-02 -7.940486220827629e-02 -7.918939199917317e-02 -7.897401585103307e-02 + -7.875873382193239e-02 -7.854354599947752e-02 -7.832845240531904e-02 -7.811345290511561e-02 -7.789854765910142e-02 + -7.768373695009409e-02 -7.746902070156129e-02 -7.725439886068521e-02 -7.703987147751143e-02 -7.682543865920169e-02 + -7.661110037032860e-02 -7.639685648697914e-02 -7.618270730319152e-02 -7.596865299784139e-02 -7.575469343456721e-02 + -7.554082861289950e-02 -7.532705861915691e-02 -7.511338355056779e-02 -7.489980327273796e-02 -7.468631776375068e-02 + -7.447292742489155e-02 -7.425963225373161e-02 -7.404643208981297e-02 -7.383332706618533e-02 -7.362031725942129e-02 + -7.340740264369265e-02 -7.319458312424655e-02 -7.298185885257603e-02 -7.276923011698885e-02 -7.255669681825400e-02 + -7.234425890125808e-02 -7.213191646645117e-02 -7.191966959969415e-02 -7.170751827394115e-02 -7.149546237742448e-02 + -7.128350216363183e-02 -7.107163782537941e-02 -7.085986923051370e-02 -7.064819639413342e-02 -7.043661941815849e-02 + -7.022513838389523e-02 -7.001375316964638e-02 -6.980246372359999e-02 -6.959127044971054e-02 -6.938017339783993e-02 + -6.916917238807876e-02 -6.895826751099868e-02 -6.874745887832359e-02 -6.853674652264935e-02 -6.832613029387129e-02 + -6.811561029537151e-02 -6.790518687416305e-02 -6.769485994872884e-02 -6.748462944761908e-02 -6.727449549181348e-02 + -6.706445814195625e-02 -6.685451736224034e-02 -6.664467305023641e-02 -6.643492546019260e-02 -6.622527482862205e-02 + -6.601572100856345e-02 -6.580626400049541e-02 -6.559690390732385e-02 -6.538764078471235e-02 -6.517847455920224e-02 + -6.496940519404462e-02 -6.476043303620643e-02 -6.455155816426872e-02 -6.434278041275177e-02 -6.413409988235154e-02 + -6.392551667227454e-02 -6.371703078482928e-02 -6.350864213121965e-02 -6.330035079826633e-02 -6.309215709125325e-02 + -6.288406097171770e-02 -6.267606236590158e-02 -6.246816137578116e-02 -6.226035810132791e-02 -6.205265253482506e-02 + -6.184504450634240e-02 -6.163753424009603e-02 -6.143012204113525e-02 -6.122280779495761e-02 -6.101559145710207e-02 + -6.080847310111580e-02 -6.060145284620669e-02 -6.039453063876327e-02 -6.018770637541451e-02 -5.998098039534337e-02 + -5.977435284136760e-02 -5.956782355675167e-02 -5.936139258218223e-02 -5.915506002510895e-02 -5.894882595975996e-02 + -5.874269025717062e-02 -5.853665294379332e-02 -5.833071438748900e-02 -5.812487459491447e-02 -5.791913345983549e-02 + -5.771349104248068e-02 -5.750794745476003e-02 -5.730250273990040e-02 -5.709715674449271e-02 -5.689190963313420e-02 + -5.668676170442684e-02 -5.648171287301057e-02 -5.627676311138611e-02 -5.607191251359627e-02 -5.586716116856662e-02 + -5.566250902085241e-02 -5.545795595276776e-02 -5.525350230977423e-02 -5.504914828197500e-02 -5.484489368806074e-02 + -5.464073856561743e-02 -5.443668303623681e-02 -5.423272717677420e-02 -5.402887087270093e-02 -5.382511411736842e-02 + -5.362145727556954e-02 -5.341790037997223e-02 -5.321444331788154e-02 -5.301108618236487e-02 -5.280782907094528e-02 + -5.260467200594416e-02 -5.240161485390568e-02 -5.219865776343095e-02 -5.199580105954085e-02 -5.179304465507040e-02 + -5.159038850941820e-02 -5.138783273765680e-02 -5.118537740030552e-02 -5.098302246878324e-02 -5.078076787428482e-02 + -5.057861387937131e-02 -5.037656068404879e-02 -5.017460818262723e-02 -4.997275637519877e-02 -4.977100534878579e-02 + -4.956935521374012e-02 -4.936780587637167e-02 -4.916635729330274e-02 -4.896500983679772e-02 -4.876376358063662e-02 + -4.856261839799727e-02 -4.836157437280066e-02 -4.816063160553166e-02 -4.795979012910388e-02 -4.775904981223175e-02 + -4.755841077230219e-02 -4.735787336181510e-02 -4.715743752596301e-02 -4.695710319390285e-02 -4.675687045398216e-02 + -4.655673941737810e-02 -4.635671009364274e-02 -4.615678236145827e-02 -4.595695644691457e-02 -4.575723258610617e-02 + -4.555761069075770e-02 -4.535809077212207e-02 -4.515867291944397e-02 -4.495935719937229e-02 -4.476014355843901e-02 + -4.456103197632578e-02 -4.436202279051898e-02 -4.416311608901573e-02 -4.396431172960501e-02 -4.376560979706327e-02 + -4.356701040970479e-02 -4.336851362154585e-02 -4.317011930970618e-02 -4.297182755295056e-02 -4.277363871130811e-02 + -4.257555275870079e-02 -4.237756961321195e-02 -4.217968936488893e-02 -4.198191211978222e-02 -4.178423789759614e-02 + -4.158666657665847e-02 -4.138919837391426e-02 -4.119183356383482e-02 -4.099457203865310e-02 -4.079741379048268e-02 + -4.060035892668235e-02 -4.040340754077800e-02 -4.020655958670875e-02 -4.000981499812348e-02 -3.981317410229721e-02 + -3.961663704352115e-02 -3.942020369405195e-02 -3.922387410519079e-02 -3.902764838570288e-02 -3.883152661169272e-02 + -3.863550868276464e-02 -3.843959464464100e-02 -3.824378485096525e-02 -3.804807931112070e-02 -3.785247793879744e-02 + -3.765698082240899e-02 -3.746158806803077e-02 -3.726629970906549e-02 -3.707111562537097e-02 -3.687603600301111e-02 + -3.668106114329449e-02 -3.648619095542227e-02 -3.629142541706046e-02 -3.609676463615045e-02 -3.590220871216067e-02 + -3.570775761915167e-02 -3.551341127587861e-02 -3.531916998478909e-02 -3.512503392646860e-02 -3.493100298239093e-02 + -3.473707719308593e-02 -3.454325666569649e-02 -3.434954148093054e-02 -3.415593156072503e-02 -3.396242692622412e-02 + -3.376902792182854e-02 -3.357573459185429e-02 -3.338254684613227e-02 -3.318946476737597e-02 -3.299648846264201e-02 + -3.280361798076661e-02 -3.261085320981364e-02 -3.241819429994710e-02 -3.222564156785773e-02 -3.203319495411584e-02 + -3.184085442350271e-02 -3.164862007407277e-02 -3.145649201602077e-02 -3.126447024597763e-02 -3.107255466700169e-02 + -3.088074555671056e-02 -3.068904313085425e-02 -3.049744727803826e-02 -3.030595802638682e-02 -3.011457548570120e-02 + -2.992329974875160e-02 -2.973213075050443e-02 -2.954106848293515e-02 -2.935011329195715e-02 -2.915926525661732e-02 + -2.896852427673346e-02 -2.877789042941862e-02 -2.858736382466336e-02 -2.839694452567641e-02 -2.820663243092813e-02 + -2.801642765839682e-02 -2.782633053619610e-02 -2.763634102981755e-02 -2.744645909471058e-02 -2.725668483048721e-02 + -2.706701834793413e-02 -2.687745966148872e-02 -2.668800867127078e-02 -2.649866562411629e-02 -2.630943076513501e-02 + -2.612030399888650e-02 -2.593128533989631e-02 -2.574237489560391e-02 -2.555357276907920e-02 -2.536487891525730e-02 + -2.517629330290238e-02 -2.498781626631630e-02 -2.479944791947400e-02 -2.461118815951395e-02 -2.442303705775731e-02 + -2.423499472682666e-02 -2.404706124098910e-02 -2.385923651050157e-02 -2.367152062237768e-02 -2.348391391197065e-02 + -2.329641637680258e-02 -2.310902796361102e-02 -2.292174876507744e-02 -2.273457889435020e-02 -2.254751838574287e-02 + -2.236056713942959e-02 -2.217372537079298e-02 -2.198699334983061e-02 -2.180037099746794e-02 -2.161385831877313e-02 + -2.142745542221016e-02 -2.124116241611923e-02 -2.105497927356034e-02 -2.086890594375282e-02 -2.068294274565517e-02 + -2.049708982965088e-02 -2.031134709508492e-02 -2.012571460207244e-02 -1.994019246558534e-02 -1.975478077426674e-02 + -1.956947944878238e-02 -1.938428854559868e-02 -1.919920840769478e-02 -1.901423906121075e-02 -1.882938044349050e-02 + -1.864463264867233e-02 -1.845999578941159e-02 -1.827546991282947e-02 -1.809105492490821e-02 -1.790675101318496e-02 + -1.772255847013706e-02 -1.753847723077995e-02 -1.735450728912205e-02 -1.717064875577919e-02 -1.698690174123156e-02 + -1.680326624034783e-02 -1.661974219495428e-02 -1.643632989539235e-02 -1.625302952284425e-02 -1.606984099009794e-02 + -1.588676434582367e-02 -1.570379970237604e-02 -1.552094715767664e-02 -1.533820665109939e-02 -1.515557821470722e-02 + -1.497306218983010e-02 -1.479065863118324e-02 -1.460836746737021e-02 -1.442618879376636e-02 -1.424412272699600e-02 + -1.406216932715821e-02 -1.388032850365394e-02 -1.369860041414062e-02 -1.351698537084881e-02 -1.333548332713773e-02 + -1.315409426742165e-02 -1.297281830737383e-02 -1.279165555870565e-02 -1.261060603011550e-02 -1.242966965324022e-02 + -1.224884670128487e-02 -1.206813738892206e-02 -1.188754163203305e-02 -1.170705946859269e-02 -1.152669101347058e-02 + -1.134643637569507e-02 -1.116629550991553e-02 -1.098626842139487e-02 -1.080635544822676e-02 -1.062655668128806e-02 + -1.044687204494093e-02 -1.026730162280993e-02 -1.008784553433474e-02 -9.908503858526582e-03 -9.729276511698201e-03 + -9.550163618928804e-03 -9.371165505355611e-03 -9.192282154920128e-03 -9.013513542246960e-03 -8.834859775588668e-03 + -8.656320970291077e-03 -8.477897155130903e-03 -8.299588259899083e-03 -8.121394531144674e-03 -7.943316209259341e-03 + -7.765353219198069e-03 -7.587505591333328e-03 -7.409773443860054e-03 -7.232156891183837e-03 -7.054655906230881e-03 + -6.877270474033493e-03 -6.700000921715352e-03 -6.522847372218281e-03 -6.345809748257097e-03 -6.168888131399519e-03 + -5.992082642122597e-03 -5.815393366379400e-03 -5.638820235869921e-03 -5.462363348533388e-03 -5.286023033805962e-03 + -5.109799304673499e-03 -4.933692127821829e-03 -4.757701606393674e-03 -4.581827861470766e-03 -4.406070940931505e-03 + -4.230430770274698e-03 -4.054907567997104e-03 -3.879501600335772e-03 -3.704212807069328e-03 -3.529041210474627e-03 + -3.353986930090703e-03 -3.179050081041732e-03 -3.004230655593028e-03 -2.829528626659512e-03 -2.654944304289923e-03 + -2.480477843039907e-03 -2.306129168890747e-03 -2.131898354626704e-03 -1.957785522367332e-03 -1.783790769612464e-03 + -1.609914041309663e-03 -1.436155409326836e-03 -1.262515208025358e-03 -1.088993476198761e-03 -9.155901719868249e-04 + -7.423054008843995e-04 -5.691392854771952e-04 -3.960918865957833e-04 -2.231631331613931e-04 -5.035321608514060e-05 + 1.223375771945329e-04 2.949092895407656e-04 4.673619084872533e-04 6.396953140537370e-04 8.119093865188150e-04 + 9.840041155727759e-04 1.155979539871523e-03 1.327835367602612e-03 1.499571413663267e-03 1.671187748049661e-03 + 1.842684305331169e-03 2.014060960896812e-03 2.185317608856639e-03 2.356454289147141e-03 2.527470954200780e-03 + 2.698367270832486e-03 2.869143169831049e-03 3.039798698561594e-03 3.210333755176400e-03 3.380748214685887e-03 + 3.551042001872539e-03 3.721215182132198e-03 3.891267592694254e-03 4.061198929412137e-03 4.231009214636464e-03 + 4.400698444839332e-03 4.570266499650065e-03 4.739713256426893e-03 4.909038688279234e-03 5.078242841339914e-03 + 5.247325443294046e-03 5.416286280121805e-03 5.585125417934797e-03 5.753842797319914e-03 5.922438289361948e-03 + 6.090911784292105e-03 6.259263304936011e-03 6.427492823105761e-03 6.595600012759487e-03 6.763584774419725e-03 + 6.931447157908777e-03 7.099187064683324e-03 7.266804368739545e-03 7.434298984071849e-03 7.601670964899477e-03 + 7.768920175905106e-03 7.936046303989365e-03 8.103049345026314e-03 8.269929303195386e-03 8.436686062480435e-03 + 8.603319496825714e-03 8.769829559891583e-03 8.936216298209541e-03 9.102479469308070e-03 9.268618835503980e-03 + 9.434634442417017e-03 9.600526244002849e-03 9.766294116521254e-03 9.931937936947469e-03 1.009745771049027e-02 + 1.026285342997890e-02 1.042812477681206e-02 1.059327162144324e-02 1.075829401681754e-02 1.092319186819127e-02 + 1.108796504594824e-02 1.125261345370748e-02 1.141713713772357e-02 1.158153598704318e-02 1.174580967555363e-02 + 1.190995817803677e-02 1.207398151021485e-02 1.223787955540131e-02 1.240165218070774e-02 1.256529932365555e-02 + 1.272882103806231e-02 1.289221710280211e-02 1.305548725320952e-02 1.321863152957668e-02 1.338164989105289e-02 + 1.354454220587777e-02 1.370730835288826e-02 1.386994832163190e-02 1.403246211588375e-02 1.419484943187744e-02 + 1.435711010999991e-02 1.451924419921884e-02 1.468125161270911e-02 1.484313222013652e-02 1.500488591571896e-02 + 1.516651273046586e-02 1.532801257754355e-02 1.548938513124086e-02 1.565063033579857e-02 1.581174821092933e-02 + 1.597273864701365e-02 1.613360150922888e-02 1.629433671764488e-02 1.645494432276120e-02 1.661542413184349e-02 + 1.677577586209575e-02 1.693599953321696e-02 1.709609511287956e-02 1.725606247097126e-02 1.741590148147653e-02 + 1.757561211738663e-02 1.773519439308624e-02 1.789464801957598e-02 1.805397280960725e-02 1.821316881163111e-02 + 1.837223594327105e-02 1.853117406905512e-02 1.868998307594014e-02 1.884866298214414e-02 1.900721372338833e-02 + 1.916563497459167e-02 1.932392665507269e-02 1.948208878919649e-02 1.964012126059438e-02 1.979802393750615e-02 + 1.995579673545799e-02 2.011343968946751e-02 2.027095263124555e-02 2.042833526879373e-02 2.058558759933038e-02 + 2.074270959919291e-02 2.089970114286997e-02 2.105656209513535e-02 2.121329241031374e-02 2.136989211400533e-02 + 2.152636093833320e-02 2.168269866776463e-02 2.183890534086288e-02 2.199498088647827e-02 2.215092516911965e-02 + 2.230673806408907e-02 2.246241957468516e-02 2.261796965793072e-02 2.277338799181243e-02 2.292867446749406e-02 + 2.308382911412376e-02 2.323885181888266e-02 2.339374244699652e-02 2.354850090287507e-02 2.370312721409915e-02 + 2.385762123470989e-02 2.401198266010886e-02 2.416621147301771e-02 2.432030765671687e-02 2.447427107682733e-02 + 2.462810160176357e-02 2.478179917471193e-02 2.493536381795363e-02 2.508879528739230e-02 2.524209334527653e-02 + 2.539525801488748e-02 2.554828923354157e-02 2.570118686847216e-02 2.585395079171064e-02 2.600658098606827e-02 + 2.615907742012537e-02 2.631143978762620e-02 2.646366795301069e-02 2.661576194257877e-02 2.676772164859378e-02 + 2.691954693391293e-02 2.707123769272043e-02 2.722279394328245e-02 2.737421556407061e-02 2.752550224474631e-02 + 2.767665393933695e-02 2.782767063812680e-02 2.797855221700411e-02 2.812929853552858e-02 2.827990951702357e-02 + 2.843038519104858e-02 2.858072533585580e-02 2.873092969062032e-02 2.888099827101270e-02 2.903093101911967e-02 + 2.918072779556083e-02 2.933038847140823e-02 2.947991301658642e-02 2.962930141213865e-02 2.977855336278226e-02 + 2.992766870509821e-02 3.007664746318324e-02 3.022548953626840e-02 3.037419478553557e-02 3.052276309616091e-02 + 3.067119447416764e-02 3.081948881896879e-02 3.096764581778017e-02 3.111566540198458e-02 3.126354756710210e-02 + 3.141129218718559e-02 3.155889912410548e-02 3.170636829125183e-02 3.185369970791438e-02 3.200089317518744e-02 + 3.214794841776677e-02 3.229486543634106e-02 3.244164418203412e-02 3.258828451581320e-02 3.273478630264194e-02 + 3.288114949586567e-02 3.302737408530167e-02 3.317345979235018e-02 3.331940642975919e-02 3.346521401820098e-02 + 3.361088246101045e-02 3.375641161607764e-02 3.390180136352038e-02 3.404705169548587e-02 3.419216253016829e-02 + 3.433713355905806e-02 3.448196468652563e-02 3.462665590981111e-02 3.477120710939272e-02 3.491561814527116e-02 + 3.505988891618091e-02 3.520401943397326e-02 3.534800952666442e-02 3.549185891051008e-02 3.563556756111654e-02 + 3.577913543618631e-02 3.592256240340591e-02 3.606584831947614e-02 3.620899312153205e-02 3.635199681091714e-02 + 3.649485912620978e-02 3.663757985375464e-02 3.678015900636063e-02 3.692259649832257e-02 3.706489218607827e-02 + 3.720704593508108e-02 3.734905772908955e-02 3.749092751022131e-02 3.763265496742431e-02 3.777423997951684e-02 + 3.791568254953915e-02 3.805698256030369e-02 3.819813986869797e-02 3.833915436267914e-02 3.848002605018682e-02 + 3.862075477984065e-02 3.876134025391093e-02 3.890178243600422e-02 3.904208129158644e-02 3.918223668100989e-02 + 3.932224846044379e-02 3.946211655605483e-02 3.960184097189857e-02 3.974142146457355e-02 3.988085779819951e-02 + 4.002014997942075e-02 4.015929792921669e-02 4.029830150192959e-02 4.043716055991190e-02 4.057587507004282e-02 + 4.071444498657769e-02 4.085287001066611e-02 4.099114999824743e-02 4.112928495212512e-02 4.126727475679569e-02 + 4.140511926665246e-02 4.154281836167219e-02 4.168037204269245e-02 4.181778018003033e-02 4.195504246778908e-02 + 4.209215884913708e-02 4.222912929605258e-02 4.236595366776428e-02 4.250263182248033e-02 4.263916367566677e-02 + 4.277554922465009e-02 4.291178824859961e-02 4.304788049654025e-02 4.318382596138427e-02 4.331962457087349e-02 + 4.345527617981602e-02 4.359078064797250e-02 4.372613792550029e-02 4.386134797486977e-02 4.399641051415262e-02 + 4.413132537776133e-02 4.426609256403441e-02 4.440071196061698e-02 4.453518342174363e-02 4.466950682320869e-02 + 4.480368214879805e-02 4.493770928728694e-02 4.507158793990715e-02 4.520531802497359e-02 4.533889951667943e-02 + 4.547233228082954e-02 4.560561616979211e-02 4.573875108353129e-02 4.587173702317195e-02 4.600457379177124e-02 + 4.613726112101928e-02 4.626979898466685e-02 4.640218731770854e-02 4.653442597807410e-02 4.666651481740990e-02 + 4.679845378497393e-02 4.693024287357150e-02 4.706188178521280e-02 4.719337030512012e-02 4.732470843170088e-02 + 4.745589609974604e-02 4.758693317708736e-02 4.771781949014568e-02 4.784855500276729e-02 4.797913963655120e-02 + 4.810957311625792e-02 4.823985532440599e-02 4.836998622519359e-02 4.849996572088229e-02 4.862979364778694e-02 + 4.875946986129576e-02 4.888899438454671e-02 4.901836703838853e-02 4.914758752328308e-02 4.927665585368439e-02 + 4.940557196434897e-02 4.953433564666962e-02 4.966294680168561e-02 4.979140536998770e-02 4.991971127467005e-02 + 5.004786430086550e-02 5.017586426593462e-02 5.030371111424699e-02 5.043140473941395e-02 5.055894500969876e-02 + 5.068633180855401e-02 5.081356509387767e-02 5.094064477169723e-02 5.106757053524139e-02 5.119434226596677e-02 + 5.132095996453229e-02 5.144742351517578e-02 5.157373274644007e-02 5.169988750799723e-02 5.182588783131492e-02 + 5.195173357105356e-02 5.207742440366903e-02 5.220296027189056e-02 5.232834113948501e-02 5.245356688434039e-02 + 5.257863735375337e-02 5.270355244318054e-02 5.282831211610928e-02 5.295291615700908e-02 5.307736435753736e-02 + 5.320165668494783e-02 5.332579302368824e-02 5.344977322479061e-02 5.357359720391287e-02 5.369726488407797e-02 + 5.382077614890905e-02 5.394413077320572e-02 5.406732861255047e-02 5.419036960275756e-02 5.431325364836510e-02 + 5.443598061485443e-02 5.455855035736775e-02 5.468096283548277e-02 5.480321791614200e-02 5.492531533836561e-02 + 5.504725504027442e-02 5.516903696522249e-02 5.529066094250196e-02 5.541212681912044e-02 5.553343451105355e-02 + 5.565458402054679e-02 5.577557512714444e-02 5.589640757833542e-02 5.601708136214176e-02 5.613759637012277e-02 + 5.625795242697428e-02 5.637814944133901e-02 5.649818735356010e-02 5.661806606948155e-02 5.673778531909066e-02 + 5.685734496106067e-02 5.697674499811992e-02 5.709598525886500e-02 5.721506557962035e-02 5.733398588420521e-02 + 5.745274613557275e-02 5.757134619305772e-02 5.768978576165893e-02 5.780806477237931e-02 5.792618319490116e-02 + 5.804414085654030e-02 5.816193759992416e-02 5.827957333255503e-02 5.839704805764100e-02 5.851436157058919e-02 + 5.863151359019340e-02 5.874850407742044e-02 5.886533297606138e-02 5.898200016057164e-02 5.909850545490182e-02 + 5.921484876799358e-02 5.933103006596772e-02 5.944704910278828e-02 5.956290569090495e-02 5.967859979076014e-02 + 5.979413129454921e-02 5.990950006107775e-02 6.002470595625681e-02 6.013974894676900e-02 6.025462892974234e-02 + 6.036934559538653e-02 6.048389882575328e-02 6.059828859366181e-02 6.071251478747773e-02 6.082657726499330e-02 + 6.094047589468096e-02 6.105421060960093e-02 6.116778124880510e-02 6.128118760026364e-02 6.139442960439424e-02 + 6.150750715787331e-02 6.162042008748835e-02 6.173316829355946e-02 6.184575170612789e-02 6.195817023946892e-02 + 6.207042366308074e-02 6.218251178412997e-02 6.229443455021107e-02 6.240619187345142e-02 6.251778362644587e-02 + 6.262920965673664e-02 6.274046989094115e-02 6.285156423838029e-02 6.296249246083868e-02 6.307325441937692e-02 + 6.318385004239983e-02 6.329427920287174e-02 6.340454177652059e-02 6.351463766120390e-02 6.362456678994362e-02 + 6.373432899407734e-02 6.384392402667542e-02 6.395335181995393e-02 6.406261231361865e-02 6.417170537725830e-02 + 6.428063082883417e-02 6.438938856382127e-02 6.449797859582693e-02 6.460640069400744e-02 6.471465460887021e-02 + 6.482274028565467e-02 6.493065766530991e-02 6.503840663024645e-02 6.514598697176463e-02 6.525339863731919e-02 + 6.536064160053869e-02 6.546771556229376e-02 6.557462036169828e-02 6.568135597564134e-02 6.578792228094754e-02 + 6.589431913461476e-02 6.600054641494822e-02 6.610660407274732e-02 6.621249195669229e-02 6.631820979208959e-02 + 6.642375751800587e-02 6.652913508526218e-02 6.663434233390064e-02 6.673937912206085e-02 6.684424535139094e-02 + 6.694894096694531e-02 6.705346576057515e-02 6.715781952052316e-02 6.726200223606826e-02 6.736601378290344e-02 + 6.746985396850236e-02 6.757352270136854e-02 6.767701992273348e-02 6.778034554033589e-02 6.788349929667206e-02 + 6.798648102682574e-02 6.808929069330329e-02 6.819192820375723e-02 6.829439341428477e-02 6.839668615716293e-02 + 6.849880637697058e-02 6.860075397106770e-02 6.870252870886938e-02 6.880413046413429e-02 6.890555915577500e-02 + 6.900681468090485e-02 6.910789689150486e-02 6.920880565820778e-02 6.930954094436353e-02 6.941010257623929e-02 + 6.951049032497619e-02 6.961070411466443e-02 6.971074386483528e-02 6.981060945693285e-02 6.991030074013053e-02 + 7.000981760721879e-02 7.010915998226322e-02 7.020832768385020e-02 7.030732053981503e-02 7.040613843777971e-02 + 7.050478130476578e-02 7.060324902125202e-02 7.070154139632766e-02 7.079965841104072e-02 7.089759998592053e-02 + 7.099536579014293e-02 7.109295574922263e-02 7.119036986301433e-02 7.128760792254588e-02 7.138466979343019e-02 + 7.148155540894172e-02 7.157826467726322e-02 7.167479742578257e-02 7.177115345207208e-02 7.186733268619028e-02 + 7.196333504975572e-02 7.205916041090092e-02 7.215480858692887e-02 7.225027948023270e-02 7.234557308374470e-02 + 7.244068916926014e-02 7.253562753252076e-02 7.263038813284139e-02 7.272497087062332e-02 7.281937559790036e-02 + 7.291360215228662e-02 7.300765049821943e-02 7.310152057265214e-02 7.319521208383468e-02 7.328872490709243e-02 + 7.338205901635925e-02 7.347521425841259e-02 7.356819049091311e-02 7.366098761637971e-02 7.375360558736099e-02 + 7.384604424623381e-02 7.393830334347133e-02 7.403038279875497e-02 7.412228254437477e-02 7.421400245985316e-02 + 7.430554241104276e-02 7.439690229021774e-02 7.448808202204141e-02 7.457908141717452e-02 7.466990029970315e-02 + 7.476053861745356e-02 7.485099625058683e-02 7.494127304678436e-02 7.503136889191833e-02 7.512128371784581e-02 + 7.521101743547498e-02 7.530056981436373e-02 7.538994071268737e-02 7.547913007544443e-02 7.556813780083994e-02 + 7.565696374971752e-02 7.574560777501017e-02 7.583406981695588e-02 7.592234975180168e-02 7.601044736291800e-02 + 7.609836256769248e-02 7.618609528331391e-02 7.627364535037680e-02 7.636101265407126e-02 7.644819711937149e-02 + 7.653519868718589e-02 7.662201715447789e-02 7.670865230880411e-02 7.679510411035856e-02 7.688137246970578e-02 + 7.696745724207896e-02 7.705335828035317e-02 7.713907552614908e-02 7.722460893765626e-02 7.730995825366380e-02 + 7.739512330293280e-02 7.748010405365591e-02 7.756490042829636e-02 7.764951228919105e-02 7.773393946198498e-02 + 7.781818189157449e-02 7.790223948237281e-02 7.798611201876808e-02 7.806979939436651e-02 7.815330154059554e-02 + 7.823661834982702e-02 7.831974966729814e-02 7.840269536418043e-02 7.848545542109749e-02 7.856802968700778e-02 + 7.865041794492959e-02 7.873262009221961e-02 7.881463606524114e-02 7.889646578364969e-02 7.897810905385311e-02 + 7.905956578813299e-02 7.914083598393755e-02 7.922191938944982e-02 7.930281582198326e-02 7.938352526916173e-02 + 7.946404763288464e-02 7.954438277705837e-02 7.962453057021987e-02 7.970449093695484e-02 7.978426377009373e-02 + 7.986384886265184e-02 7.994324611178145e-02 8.002245546069972e-02 8.010147680163558e-02 8.018030998339011e-02 + 8.025895486859348e-02 8.033741142939121e-02 8.041567953647351e-02 8.049375898816008e-02 8.057164970191152e-02 + 8.064935159117341e-02 8.072686453538828e-02 8.080418841559016e-02 8.088132313650849e-02 8.095826861741187e-02 + 8.103502469212946e-02 8.111159121525567e-02 8.118796811657426e-02 8.126415526945288e-02 8.134015254787534e-02 + 8.141595988122388e-02 8.149157718184835e-02 8.156700432424771e-02 8.164224113093393e-02 8.171728750211138e-02 + 8.179214337283539e-02 8.186680860558979e-02 8.194128308109257e-02 8.201556671181809e-02 8.208965942384167e-02 + 8.216356107347705e-02 8.223727146913333e-02 8.231079055026533e-02 8.238411825286719e-02 8.245725445426123e-02 + 8.253019901019013e-02 8.260295182089074e-02 8.267551284923887e-02 8.274788192985057e-02 8.282005889192648e-02 + 8.289204367192234e-02 8.296383619751495e-02 8.303543635380874e-02 8.310684396376640e-02 8.317805898151856e-02 + 8.324908138250064e-02 8.331991092178788e-02 8.339054746670159e-02 8.346099098907200e-02 8.353124136246602e-02 + 8.360129848004999e-02 8.367116227251760e-02 8.374083263302687e-02 8.381030943134427e-02 8.387959252741883e-02 + 8.394868181167527e-02 8.401757720093640e-02 8.408627862550171e-02 8.415478594369409e-02 8.422309904154775e-02 + 8.429121790707177e-02 8.435914237533512e-02 8.442687225429805e-02 8.449440750560887e-02 8.456174803803686e-02 + 8.462889372267089e-02 8.469584447602406e-02 8.476260023136410e-02 8.482916090148240e-02 8.489552630009754e-02 + 8.496169630228255e-02 8.502767086164854e-02 8.509344988672647e-02 8.515903326018803e-02 8.522442086136313e-02 + 8.528961263471936e-02 8.535460848680074e-02 8.541940824041729e-02 8.548401181612168e-02 8.554841915131453e-02 + 8.561263012321893e-02 8.567664461211427e-02 8.574046253447680e-02 8.580408386832587e-02 8.586750845589863e-02 + 8.593073610333024e-02 8.599376680387132e-02 8.605660047760594e-02 8.611923696874126e-02 8.618167618396408e-02 + 8.624391807608472e-02 8.630596259724549e-02 8.636780954833972e-02 8.642945878839840e-02 8.649091029427977e-02 + 8.655216396695875e-02 8.661321970043215e-02 8.667407742210617e-02 8.673473702989365e-02 8.679519841504303e-02 + 8.685546148336530e-02 8.691552612855238e-02 8.697539224666265e-02 8.703505975750943e-02 8.709452857692032e-02 + 8.715379861893667e-02 8.721286980508075e-02 8.727174201224434e-02 8.733041510377958e-02 8.738888903629666e-02 + 8.744716372671989e-02 8.750523904187274e-02 8.756311491392924e-02 8.762079127795709e-02 8.767826803995526e-02 + 8.773554506310657e-02 8.779262223690780e-02 8.784949951260017e-02 8.790617682173207e-02 8.796265406226209e-02 + 8.801893109931651e-02 8.807500788687952e-02 8.813088437660771e-02 8.818656039674132e-02 8.824203585227545e-02 + 8.829731070095961e-02 8.835238486000704e-02 8.840725822106667e-02 8.846193068214857e-02 8.851640221803356e-02 + 8.857067273700293e-02 8.862474207580676e-02 8.867861014722141e-02 8.873227689758616e-02 8.878574227696898e-02 + 8.883900618220902e-02 8.889206851560667e-02 8.894492921167085e-02 8.899758815302622e-02 8.905004524008538e-02 + 8.910230044719054e-02 8.915435367300073e-02 8.920620479173334e-02 8.925785373448247e-02 8.930930045917142e-02 + 8.936054490961548e-02 8.941158695191696e-02 8.946242647641844e-02 8.951306341364354e-02 8.956349771969928e-02 + 8.961372931388180e-02 8.966375808278661e-02 8.971358396554302e-02 8.976320688963368e-02 8.981262675341668e-02 + 8.986184348935064e-02 8.991085703129179e-02 8.995966729258320e-02 9.000827417122792e-02 9.005667759770250e-02 + 9.010487756379584e-02 9.015287394264000e-02 9.020066659275561e-02 9.024825550203337e-02 9.029564061179933e-02 + 9.034282181894199e-02 9.038979902630290e-02 9.043657218570805e-02 9.048314126656666e-02 9.052950615463343e-02 + 9.057566675480395e-02 9.062162300961238e-02 9.066737484935303e-02 9.071292219781772e-02 9.075826498061153e-02 + 9.080340315127385e-02 9.084833664156222e-02 9.089306533771581e-02 9.093758915627431e-02 9.098190804149961e-02 + 9.102602195783284e-02 9.106993084471440e-02 9.111363462196023e-02 9.115713320054021e-02 9.120042650346059e-02 + 9.124351446434358e-02 9.128639702175202e-02 9.132907412994692e-02 9.137154573427010e-02 9.141381170435277e-02 + 9.145587198962597e-02 9.149772660800266e-02 9.153937542844172e-02 9.158081834977004e-02 9.162205535599281e-02 + 9.166308637778346e-02 9.170391133536025e-02 9.174453017072061e-02 9.178494285856946e-02 9.182514933661440e-02 + 9.186514945794547e-02 9.190494319482566e-02 9.194453054665523e-02 9.198391140758180e-02 9.202308569543158e-02 + 9.206205336702038e-02 9.210081441034919e-02 9.213936875086109e-02 9.217771627651770e-02 9.221585694962209e-02 + 9.225379072840771e-02 9.229151754885842e-02 9.232903734819613e-02 9.236635007909103e-02 9.240345570404732e-02 + 9.244035413434255e-02 9.247704529963750e-02 9.251352918345666e-02 9.254980573968512e-02 9.258587489795035e-02 + 9.262173657649034e-02 9.265739073985793e-02 9.269283735974691e-02 9.272807636276849e-02 9.276310769047050e-02 + 9.279793130272118e-02 9.283254716719631e-02 9.286695521394739e-02 9.290115536246511e-02 9.293514761281572e-02 + 9.296893192325742e-02 9.300250819824006e-02 9.303587638369953e-02 9.306903645092859e-02 9.310198837852499e-02 + 9.313473209662422e-02 9.316726755984403e-02 9.319959477466139e-02 9.323171364631608e-02 9.326362408592948e-02 + 9.329532610133226e-02 9.332681964339190e-02 9.335810464438972e-02 9.338918108249107e-02 9.342004893308628e-02 + 9.345070815580041e-02 9.348115868437977e-02 9.351140046962789e-02 9.354143348306601e-02 9.357125770365762e-02 + 9.360087308621738e-02 9.363027956518245e-02 9.365947710363894e-02 9.368846567300493e-02 9.371724524372237e-02 + 9.374581578300241e-02 9.377417725111503e-02 9.380232960142115e-02 9.383027280206080e-02 9.385800682788301e-02 + 9.388553164914089e-02 9.391284719773688e-02 9.393995342276806e-02 9.396685035781838e-02 9.399353796706621e-02 + 9.402001617537038e-02 9.404628495786660e-02 9.407234429781461e-02 9.409819417117830e-02 9.412383453169183e-02 + 9.414926534580341e-02 9.417448659641373e-02 9.419949825736050e-02 9.422430029380560e-02 9.424889267135104e-02 + 9.427327539998738e-02 9.429744844865905e-02 9.432141171534560e-02 9.434516522540957e-02 9.436870900006604e-02 + 9.439204294634228e-02 9.441516705436934e-02 9.443808133745002e-02 9.446078573953387e-02 9.448328023801857e-02 + 9.450556483411636e-02 9.452763950923013e-02 9.454950421611270e-02 9.457115890701832e-02 9.459260360830167e-02 + 9.461383832574666e-02 9.463486302352626e-02 9.465567765409444e-02 9.467628220109425e-02 9.469667668274938e-02 + 9.471686106967921e-02 9.473683533004949e-02 9.475659945563136e-02 9.477615343325803e-02 9.479549725292793e-02 + 9.481463091432241e-02 9.483355439545672e-02 9.485226766778346e-02 9.487077071788189e-02 9.488906353992572e-02 + 9.490714613644993e-02 9.492501852119042e-02 9.494268066964073e-02 9.496013253895599e-02 9.497737414244060e-02 + 9.499440547543551e-02 9.501122651272445e-02 9.502783728094538e-02 9.504423778187990e-02 9.506042797340242e-02 + 9.507640785191551e-02 9.509217742006319e-02 9.510773667189122e-02 9.512308563868060e-02 9.513822432123879e-02 + 9.515315264231193e-02 9.516787063845662e-02 9.518237836728226e-02 9.519667577724227e-02 9.521076284349063e-02 + 9.522463958294539e-02 9.523830604498588e-02 9.525176221483619e-02 9.526500804718509e-02 9.527804359769618e-02 + 9.529086886623650e-02 9.530348379689602e-02 9.531588845120076e-02 9.532808286166987e-02 9.534006699012688e-02 + 9.535184085361241e-02 9.536340447105748e-02 9.537475783364874e-02 9.538590095359538e-02 9.539683385237334e-02 + 9.540755654711666e-02 9.541806903829181e-02 9.542837132640679e-02 9.543846343230179e-02 9.544834536597921e-02 + 9.545801714100983e-02 9.546747880593646e-02 9.547673036184304e-02 9.548577178084619e-02 9.549460309483834e-02 + 9.550322434581640e-02 9.551163556335956e-02 9.551983673903520e-02 9.552782788036314e-02 9.553560902903191e-02 + 9.554318022933674e-02 9.555054148771730e-02 9.555769276632298e-02 9.556463412975340e-02 9.557136563747151e-02 + 9.557788725689133e-02 9.558419903459103e-02 9.559030102901959e-02 9.559619321427665e-02 9.560187562136102e-02 + 9.560734830883322e-02 9.561261127917654e-02 9.561766456108449e-02 9.562250820572099e-02 9.562714223416331e-02 + 9.563156666435306e-02 9.563578152405575e-02 9.563978686682097e-02 9.564358272631937e-02 9.564716910782914e-02 + 9.565054604965099e-02 9.565371359980702e-02 9.565667179877529e-02 9.565942066526258e-02 9.566196023293236e-02 + 9.566429057683135e-02 9.566641172752892e-02 9.566832368940979e-02 9.567002647518966e-02 9.567152016429874e-02 + 9.567280484915060e-02 9.567388053004788e-02 9.567474721294261e-02 9.567540493730267e-02 9.567585379392737e-02 + 9.567609383300600e-02 9.567612506298810e-02 9.567594754568214e-02 9.567556133790830e-02 9.567496647244744e-02 + 9.567416299512438e-02 9.567315095370396e-02 9.567193039196389e-02 9.567050136232016e-02 9.566886392120964e-02 + 9.566701812558283e-02 9.566496403827787e-02 9.566270170884209e-02 9.566023115264767e-02 9.565755243736668e-02 + 9.565466564791879e-02 9.565157080775241e-02 9.564826797386157e-02 9.564475723264595e-02 9.564103864027859e-02 + 9.563711223757489e-02 9.563297806735498e-02 9.562863621895812e-02 9.562408675116861e-02 9.561932968250994e-02 + 9.561436511583814e-02 9.560919313325968e-02 9.560381374743886e-02 9.559822704785555e-02 9.559243313048145e-02 + 9.558643203289170e-02 9.558022378864620e-02 9.557380846466877e-02 9.556718619530349e-02 9.556035703327785e-02 + 9.555332100122134e-02 9.554607821247386e-02 9.553862873475936e-02 9.553097259908433e-02 9.552310989218279e-02 + 9.551504070130773e-02 9.550676510186747e-02 9.549828317393894e-02 9.548959500356741e-02 9.548070067318166e-02 + 9.547160021295119e-02 9.546229369018946e-02 9.545278124506257e-02 9.544306292579091e-02 9.543313878273989e-02 + 9.542300894892854e-02 9.541267351639289e-02 9.540213254817664e-02 9.539138610562420e-02 9.538043425774057e-02 + 9.536927709152246e-02 9.535791472882026e-02 9.534634726779553e-02 9.533457478138217e-02 9.532259734256758e-02 + 9.531041503990305e-02 9.529802797105680e-02 9.528543620462085e-02 9.527263983869082e-02 9.525963900525855e-02 + 9.524643375927100e-02 9.523302417643500e-02 9.521941040061487e-02 9.520559252291068e-02 9.519157060486365e-02 + 9.517734471153570e-02 9.516291499670615e-02 9.514828160467456e-02 9.513344455080376e-02 9.511840393248631e-02 + 9.510315989360162e-02 9.508771251519674e-02 9.507206189457258e-02 9.505620814925633e-02 9.504015138530268e-02 + 9.502389169582724e-02 9.500742917228551e-02 9.499076394524120e-02 9.497389612890822e-02 9.495682580659018e-02 + 9.493955308203066e-02 9.492207807526097e-02 9.490440091330225e-02 9.488652168366014e-02 9.486844048723730e-02 + 9.485015747906970e-02 9.483167277063544e-02 9.481298644119306e-02 9.479409856622809e-02 9.477500930738031e-02 + 9.475571884085587e-02 9.473622721810367e-02 9.471653454723004e-02 9.469664098786204e-02 9.467654664635866e-02 + 9.465625162221861e-02 9.463575602621152e-02 9.461505999415500e-02 9.459416367044585e-02 9.457306719633034e-02 + 9.455177068421998e-02 9.453027423759350e-02 9.450857796468222e-02 9.448668199276268e-02 9.446458647203468e-02 + 9.444229157255099e-02 9.441979739649474e-02 9.439710403006842e-02 9.437421161454676e-02 9.435112031829759e-02 + 9.432783029179438e-02 9.430434160094567e-02 9.428065438538669e-02 9.425676883924589e-02 9.423268508508292e-02 + 9.420840322981890e-02 9.418392339716981e-02 9.415924578030670e-02 9.413437051700123e-02 9.410929767030043e-02 + 9.408402741009517e-02 9.405855992335012e-02 9.403289535840260e-02 9.400703383941893e-02 9.398097549341558e-02 + 9.395472046838550e-02 9.392826889502673e-02 9.390162091553057e-02 9.387477672023849e-02 9.384773645864139e-02 + 9.382050025947151e-02 9.379306828457251e-02 9.376544068778003e-02 9.373761760606118e-02 9.370959916011609e-02 + 9.368138552427184e-02 9.365297690930323e-02 9.362437342817573e-02 9.359557520850639e-02 9.356658243379877e-02 + 9.353739529945312e-02 9.350801394425273e-02 9.347843843855524e-02 9.344866901272440e-02 9.341870589097585e-02 + 9.338854915644307e-02 9.335819897637819e-02 9.332765555734250e-02 9.329691906420928e-02 9.326598960092489e-02 + 9.323486729288316e-02 9.320355242698486e-02 9.317204517635257e-02 9.314034562740874e-02 9.310845398153604e-02 + 9.307637042858882e-02 9.304409511565054e-02 9.301162817412864e-02 9.297896979469056e-02 9.294612022999450e-02 + 9.291307963943660e-02 9.287984815938743e-02 9.284642594887814e-02 9.281281319942865e-02 9.277901009754375e-02 + 9.274501679883909e-02 9.271083349621308e-02 9.267646039527271e-02 9.264189767811302e-02 9.260714551564306e-02 + 9.257220408228978e-02 9.253707357624473e-02 9.250175417101536e-02 9.246624602802385e-02 9.243054935165987e-02 + 9.239466434718238e-02 9.235859120974489e-02 9.232233012999355e-02 9.228588129454922e-02 9.224924488066757e-02 + 9.221242103323031e-02 9.217540995047416e-02 9.213821191347883e-02 9.210082709355732e-02 9.206325564930115e-02 + 9.202549780755387e-02 9.198755374602623e-02 9.194942363528436e-02 9.191110769995278e-02 9.187260614753277e-02 + 9.183391917841241e-02 9.179504701848260e-02 9.175598985687712e-02 9.171674785963810e-02 9.167732123351167e-02 + 9.163771019528422e-02 9.159791495855178e-02 9.155793572040530e-02 9.151777270193290e-02 9.147742614628342e-02 + 9.143689622063791e-02 9.139618310892414e-02 9.135528705455570e-02 9.131420824439858e-02 9.127294688450004e-02 + 9.123150325806001e-02 9.118987755991119e-02 9.114806996063474e-02 9.110608069642255e-02 9.106390998608170e-02 + 9.102155802996120e-02 9.097902503011562e-02 9.093631123402490e-02 9.089341690732793e-02 9.085034224655422e-02 + 9.080708743846595e-02 9.076365269164367e-02 9.072003828369785e-02 9.067624443485320e-02 9.063227129485288e-02 + 9.058811915193726e-02 9.054378827004000e-02 9.049927881221763e-02 9.045459103770109e-02 9.040972520178260e-02 + 9.036468147234690e-02 9.031946007844127e-02 9.027406127956829e-02 9.022848531585773e-02 9.018273243214560e-02 + 9.013680287341128e-02 9.009069686920407e-02 9.004441462623869e-02 8.999795635152021e-02 8.995132231203949e-02 + 8.990451276610797e-02 8.985752795281814e-02 8.981036812557305e-02 8.976303351703613e-02 8.971552434037033e-02 + 8.966784087291869e-02 8.961998334831080e-02 8.957195192338249e-02 8.952374693198487e-02 8.947536869631613e-02 + 8.942681737354224e-02 8.937809319632291e-02 8.932919644498671e-02 8.928012738635183e-02 8.923088623240803e-02 + 8.918147319450437e-02 8.913188858291199e-02 8.908213269254797e-02 8.903220577223506e-02 8.898210800726358e-02 + 8.893183965769864e-02 8.888140104180198e-02 8.883079233855783e-02 8.878001380541380e-02 8.872906581842580e-02 + 8.867794859494142e-02 8.862666233412557e-02 8.857520730323154e-02 8.852358381153494e-02 8.847179212845252e-02 + 8.841983243253916e-02 8.836770502123131e-02 8.831541022882371e-02 8.826294830990469e-02 8.821031949641793e-02 + 8.815752403748606e-02 8.810456224863354e-02 8.805143437639511e-02 8.799814063336710e-02 8.794468134879541e-02 + 8.789105684257616e-02 8.783726738270531e-02 8.778331316928159e-02 8.772919447874153e-02 8.767491167446911e-02 + 8.762046495069514e-02 8.756585454037039e-02 8.751108081839833e-02 8.745614408581825e-02 8.740104459021790e-02 + 8.734578256007368e-02 8.729035830815834e-02 8.723477214343743e-02 8.717902426868683e-02 8.712311501918556e-02 + 8.706704476846663e-02 8.701081371877695e-02 8.695442211628683e-02 8.689787027644420e-02 8.684115853767592e-02 + 8.678428714435096e-02 8.672725629439892e-02 8.667006642064547e-02 8.661271785522098e-02 8.655521075244504e-02 + 8.649754543067346e-02 8.643972223965939e-02 8.638174147222141e-02 8.632360334916610e-02 8.626530814542391e-02 + 8.620685627786050e-02 8.614824804295058e-02 8.608948367410735e-02 8.603056343813603e-02 8.597148768708160e-02 + 8.591225676580187e-02 8.585287085352321e-02 8.579333027004854e-02 8.573363543090719e-02 8.567378659419787e-02 + 8.561378404241062e-02 8.555362810687137e-02 8.549331906471129e-02 8.543285719635127e-02 8.537224281446841e-02 + 8.531147627953188e-02 8.525055791649624e-02 8.518948798167383e-02 8.512826679756995e-02 8.506689470133286e-02 + 8.500537199311337e-02 8.494369892596923e-02 8.488187579804041e-02 8.481990305210670e-02 8.475778099074194e-02 + 8.469550984763315e-02 8.463308996695838e-02 8.457052168539449e-02 8.450780530789033e-02 8.444494110975011e-02 + 8.438192942971584e-02 8.431877065438623e-02 8.425546507059704e-02 8.419201297696736e-02 8.412841471805475e-02 + 8.406467061549007e-02 8.400078097306259e-02 8.393674609180030e-02 8.387256634619757e-02 8.380824209666674e-02 + 8.374377362095807e-02 8.367916122870038e-02 8.361440526888680e-02 8.354950611900661e-02 8.348446403538942e-02 + 8.341927927704872e-02 8.335395233905314e-02 8.328848356223681e-02 8.322287316371958e-02 8.315712149574238e-02 + 8.309122893699929e-02 8.302519583647612e-02 8.295902243510637e-02 8.289270907781640e-02 8.282625623697057e-02 + 8.275966417678003e-02 8.269293318851907e-02 8.262606370095599e-02 8.255905601211083e-02 8.249191039312886e-02 + 8.242462718945633e-02 8.235720681988298e-02 8.228964967784431e-02 8.222195602541869e-02 8.215412621284769e-02 + 8.208616062445039e-02 8.201805954142698e-02 8.194982329150195e-02 8.188145225476894e-02 8.181294680713293e-02 + 8.174430731452863e-02 8.167553412282050e-02 8.160662752890076e-02 8.153758789030935e-02 8.146841562526554e-02 + 8.139911098330359e-02 8.132967428676124e-02 8.126010603531450e-02 8.119040656216225e-02 8.112057615694021e-02 + 8.105061517994502e-02 8.098052402265073e-02 8.091030303880128e-02 8.083995248093376e-02 8.076947276447492e-02 + 8.069886435754116e-02 8.062812754457355e-02 8.055726265736828e-02 8.048627008799529e-02 8.041515020636995e-02 + 8.034390332540668e-02 8.027252974489747e-02 8.020102993492553e-02 8.012940431195667e-02 8.005765317555476e-02 + 7.998577686939379e-02 7.991377577220368e-02 7.984165027334414e-02 7.976940065907111e-02 7.969702727793032e-02 + 7.962453065567111e-02 7.955191112254574e-02 7.947916895239987e-02 7.940630455590227e-02 7.933331833212637e-02 + 7.926021063894960e-02 7.918698178217287e-02 7.911363216326053e-02 7.904016223823181e-02 7.896657235187955e-02 + 7.889286283938438e-02 7.881903406306398e-02 7.874508643443230e-02 7.867102031060058e-02 7.859683599526633e-02 + 7.852253395767629e-02 7.844811463098400e-02 7.837357831424305e-02 7.829892537205134e-02 7.822415619643758e-02 + 7.814927116484589e-02 7.807427062910767e-02 7.799915496813195e-02 7.792392464520610e-02 7.784858004657273e-02 + 7.777312150359181e-02 7.769754936428309e-02 7.762186403791040e-02 7.754606594385612e-02 7.747015537442642e-02 + 7.739413273994507e-02 7.731799855521804e-02 7.724175314852555e-02 7.716539684747571e-02 7.708893004657069e-02 + 7.701235315053030e-02 7.693566653742440e-02 7.685887055661017e-02 7.678196565918903e-02 7.670495227727288e-02 + 7.662783073280909e-02 7.655060142689749e-02 7.647326478202995e-02 7.639582115595660e-02 7.631827089499127e-02 + 7.624061438211467e-02 7.616285210329320e-02 7.608498447266238e-02 7.600701183814436e-02 7.592893457493513e-02 + 7.585075308733022e-02 7.577246778116596e-02 7.569407897223836e-02 7.561558707997214e-02 7.553699264667676e-02 + 7.545829602219666e-02 7.537949752159374e-02 7.530059752746436e-02 7.522159652110559e-02 7.514249491290788e-02 + 7.506329293711217e-02 7.498399108869409e-02 7.490458989985715e-02 7.482508965268882e-02 7.474549074308040e-02 + 7.466579363230305e-02 7.458599868473173e-02 7.450610623924510e-02 7.442611667561436e-02 7.434603053570255e-02 + 7.426584824442337e-02 7.418557009969678e-02 7.410519651333995e-02 7.402472793153594e-02 7.394416477978479e-02 + 7.386350736456949e-02 7.378275607823381e-02 7.370191147772952e-02 7.362097394239986e-02 7.353994380500382e-02 + 7.345882147239775e-02 7.337760740248925e-02 7.329630201371148e-02 7.321490559729334e-02 7.313341861868546e-02 + 7.305184160923943e-02 7.297017492620234e-02 7.288841893034562e-02 7.280657402242413e-02 7.272464064227188e-02 + 7.264261917439505e-02 7.256050997585588e-02 7.247831356170273e-02 7.239603038649280e-02 7.231366079163171e-02 + 7.223120520116612e-02 7.214866404160214e-02 7.206603769517569e-02 7.198332653777370e-02 7.190053098792457e-02 + 7.181765153838118e-02 7.173468863077177e-02 7.165164265282598e-02 7.156851395212357e-02 7.148530298289761e-02 + 7.140201021117390e-02 7.131863593482980e-02 7.123518058493326e-02 7.115164469180060e-02 7.106802866653637e-02 + 7.098433289103630e-02 7.090055775733806e-02 7.081670370962735e-02 7.073277114629017e-02 7.064876042084919e-02 + 7.056467204467058e-02 7.048050649359339e-02 7.039626411522021e-02 7.031194531783586e-02 7.022755055007633e-02 + 7.014308026270048e-02 7.005853477507426e-02 6.997391445865883e-02 6.988921994223606e-02 6.980445161374127e-02 + 6.971960976161336e-02 6.963469490630880e-02 6.954970749457975e-02 6.946464787470261e-02 6.937951638488904e-02 + 6.929431352344900e-02 6.920903988440608e-02 6.912369577614699e-02 6.903828154824053e-02 6.895279768813133e-02 + 6.886724462309453e-02 6.878162274040467e-02 6.869593242264821e-02 6.861017418575431e-02 6.852434851303352e-02 + 6.843845573229547e-02 6.835249626715924e-02 6.826647058722328e-02 6.818037912112360e-02 6.809422221022603e-02 + 6.800800023353686e-02 6.792171381432285e-02 6.783536337902803e-02 6.774894920974223e-02 6.766247176656806e-02 + 6.757593152448671e-02 6.748932891036163e-02 6.740266425451470e-02 6.731593799992638e-02 6.722915072040272e-02 + 6.714230278026269e-02 6.705539454984789e-02 6.696842651283096e-02 6.688139909018249e-02 6.679431266253504e-02 + 6.670716761081900e-02 6.661996446504156e-02 6.653270374249923e-02 6.644538575792285e-02 6.635801090742725e-02 + 6.627057965598744e-02 6.618309245387675e-02 6.609554968705872e-02 6.600795173819872e-02 6.592029914958422e-02 + 6.583259238307172e-02 6.574483179767340e-02 6.565701780669353e-02 6.556915085921187e-02 6.548123140723705e-02 + 6.539325979064996e-02 6.530523643565112e-02 6.521716192687264e-02 6.512903665438342e-02 6.504086097557776e-02 + 6.495263535156262e-02 6.486436022769713e-02 6.477603601048113e-02 6.468766306269763e-02 6.459924187637454e-02 + 6.451077298036002e-02 6.442225675573160e-02 6.433369358016772e-02 6.424508387319842e-02 6.415642813133042e-02 + 6.406772674084167e-02 6.397898002556264e-02 6.389018858464109e-02 6.380135290132970e-02 6.371247325592760e-02 + 6.362355010153516e-02 6.353458392277617e-02 6.344557514446422e-02 6.335652411846264e-02 6.326743126079815e-02 + 6.317829713990436e-02 6.308912216326193e-02 6.299990668862973e-02 6.291065117630994e-02 6.282135608306753e-02 + 6.273202182393535e-02 6.264264873955985e-02 6.255323731562341e-02 6.246378810230178e-02 6.237430143094801e-02 + 6.228477769978175e-02 6.219521740601344e-02 6.210562097707054e-02 6.201598879095212e-02 6.192632121693314e-02 + 6.183661876812600e-02 6.174688193928092e-02 6.165711112558074e-02 6.156730673780070e-02 6.147746920022401e-02 + 6.138759893800432e-02 6.129769633241683e-02 6.120776180293847e-02 6.111779589683188e-02 6.102779903735479e-02 + 6.093777158500626e-02 6.084771398591046e-02 6.075762667844817e-02 6.066751007308262e-02 6.057736455111417e-02 + 6.048719057054321e-02 6.039698864588414e-02 6.030675917961215e-02 6.021650256672047e-02 6.012621923377075e-02 + 6.003590961818356e-02 5.994557411659043e-02 5.985521308639186e-02 5.976482706463886e-02 5.967441656528669e-02 + 5.958398192281734e-02 5.949352353003544e-02 5.940304183449088e-02 5.931253730252380e-02 5.922201027916447e-02 + 5.913146112197507e-02 5.904089044032181e-02 5.895029868043596e-02 5.885968615096351e-02 5.876905326755812e-02 + 5.867840050492581e-02 5.858772833116550e-02 5.849703703991720e-02 5.840632705235495e-02 5.831559896255584e-02 + 5.822485314806121e-02 5.813408997000494e-02 5.804330987759122e-02 5.795251328764216e-02 5.786170059865808e-02 + 5.777087221384987e-02 5.768002859772193e-02 5.758917021647553e-02 5.749829746896256e-02 5.740741077575853e-02 + 5.731651056875526e-02 5.722559725171274e-02 5.713467118430270e-02 5.704373274635539e-02 5.695278249332581e-02 + 5.686182088614487e-02 5.677084826809927e-02 5.667986504336005e-02 5.658887165217444e-02 5.649786853613976e-02 + 5.640685602792318e-02 5.631583453941855e-02 5.622480462822738e-02 5.613376666437993e-02 5.604272100502515e-02 + 5.595166813210956e-02 5.586060845174765e-02 5.576954232437998e-02 5.567847012652845e-02 5.558739236715193e-02 + 5.549630955542323e-02 5.540522197136583e-02 5.531413002536285e-02 5.522303422299683e-02 5.513193492275553e-02 + 5.504083247717721e-02 5.494972729209355e-02 5.485861988753332e-02 5.476751071228679e-02 5.467640010379995e-02 + 5.458528846418693e-02 5.449417622493567e-02 5.440306381105370e-02 5.431195155656662e-02 5.422083985771245e-02 + 5.412972927459819e-02 5.403862019627870e-02 5.394751295390937e-02 5.385640797531270e-02 5.376530569364821e-02 + 5.367420650537214e-02 5.358311072889269e-02 5.349201882499156e-02 5.340093132499041e-02 5.330984856991542e-02 + 5.321877091980749e-02 5.312769879767464e-02 5.303663263591166e-02 5.294557280318667e-02 5.285451962473617e-02 + 5.276347361952855e-02 5.267243525955664e-02 5.258140485845194e-02 5.249038280640431e-02 5.239936952998326e-02 + 5.230836544276557e-02 5.221737088032564e-02 5.212638621732711e-02 5.203541199430900e-02 5.194444860919033e-02 + 5.185349638284296e-02 5.176255572471577e-02 5.167162705674897e-02 5.158071077330502e-02 5.148980718747074e-02 + 5.139891673261619e-02 5.130803993485430e-02 5.121717713356427e-02 5.112632867301793e-02 5.103549496777923e-02 + 5.094467643725986e-02 5.085387344650644e-02 5.076308630673339e-02 5.067231551219451e-02 5.058156153920812e-02 + 5.049082469322039e-02 5.040010534612100e-02 5.030940391348503e-02 5.021872080090227e-02 5.012805633824483e-02 + 5.003741087422633e-02 4.994678493647212e-02 4.985617892926745e-02 4.976559315779018e-02 4.967502801470126e-02 + 4.958448390876292e-02 4.949396122643934e-02 4.940346027599988e-02 4.931298146262254e-02 4.922252530167843e-02 + 4.913209213539834e-02 4.904168229174269e-02 4.895129616994274e-02 4.886093417404704e-02 4.877059666413559e-02 + 4.868028394034647e-02 4.858999646754281e-02 4.849973472130898e-02 4.840949900241633e-02 4.831928966152828e-02 + 4.822910709871525e-02 4.813895171199074e-02 4.804882382564480e-02 4.795872376124456e-02 4.786865202942978e-02 + 4.777860903855367e-02 4.768859507592742e-02 4.759861051627762e-02 4.750865575639699e-02 4.741873117406014e-02 + 4.732883706721817e-02 4.723897381137243e-02 4.714914191200375e-02 4.705934171189571e-02 4.696957351961628e-02 + 4.687983771740974e-02 4.679013469431771e-02 4.670046480338604e-02 4.661082833156779e-02 4.652122571187634e-02 + 4.643165741520618e-02 4.634212373882778e-02 4.625262501422293e-02 4.616316162482947e-02 4.607373395212459e-02 + 4.598434231610999e-02 4.589498701904484e-02 4.580566854223844e-02 4.571638729424802e-02 4.562714355109129e-02 + 4.553793766452621e-02 4.544877001582995e-02 4.535964097502848e-02 4.527055082898004e-02 4.518149992236756e-02 + 4.509248874970542e-02 4.500351765014129e-02 4.491458690878355e-02 4.482569689376779e-02 4.473684797939540e-02 + 4.464804050747698e-02 4.455927474828068e-02 4.447055110499822e-02 4.438187004531898e-02 4.429323185876936e-02 + 4.420463685202721e-02 4.411608538888854e-02 4.402757783926076e-02 4.393911451733543e-02 4.385069570127949e-02 + 4.376232184208732e-02 4.367399334643604e-02 4.358571047769912e-02 4.349747356709084e-02 4.340928298020802e-02 + 4.332113907381294e-02 4.323304212320113e-02 4.314499244129432e-02 4.305699050668390e-02 4.296903665620930e-02 + 4.288113115167341e-02 4.279327434447749e-02 4.270546659199307e-02 4.261770822231841e-02 4.252999949469098e-02 + 4.244234077853745e-02 4.235473252680039e-02 4.226717502474875e-02 4.217966855846760e-02 4.209221347273914e-02 + 4.200481011967518e-02 4.191745880279663e-02 4.183015977695443e-02 4.174291346429643e-02 4.165572027077732e-02 + 4.156858044734360e-02 4.148149429654668e-02 4.139446216241891e-02 4.130748439363172e-02 4.122056125606220e-02 + 4.113369302794675e-02 4.104688016346336e-02 4.096012300095512e-02 4.087342178434451e-02 4.078677683583759e-02 + 4.070018849668031e-02 4.061365708919899e-02 4.052718285106741e-02 4.044076611819490e-02 4.035440733833207e-02 + 4.026810678092279e-02 4.018186470341873e-02 4.009568143909095e-02 4.000955732298062e-02 3.992349264534106e-02 + 3.983748763759326e-02 3.975154269055037e-02 3.966565820546299e-02 3.957983441649049e-02 3.949407160357907e-02 + 3.940837009289332e-02 3.932273021031552e-02 3.923715221270428e-02 3.915163635394041e-02 3.906618306202975e-02 + 3.898079266950179e-02 3.889546539672872e-02 3.881020154253283e-02 3.872500143016262e-02 3.863986536923758e-02 + 3.855479358615301e-02 3.846978637959592e-02 3.838484417257106e-02 3.829996723484980e-02 3.821515580420295e-02 + 3.813041018714970e-02 3.804573069687705e-02 3.796111761198420e-02 3.787657114752344e-02 3.779209165765486e-02 + 3.770767953120019e-02 3.762333499040284e-02 3.753905829251161e-02 3.745484974542636e-02 3.737070965331050e-02 + 3.728663825939783e-02 3.720263578933122e-02 3.711870264209954e-02 3.703483914671073e-02 3.695104550519348e-02 + 3.686732199057993e-02 3.678366890490292e-02 3.670008654113079e-02 3.661657511036890e-02 3.653313487804630e-02 + 3.644976625150438e-02 3.636646948823320e-02 3.628324479604935e-02 3.620009246605282e-02 3.611701279349350e-02 + 3.603400604041686e-02 3.595107239910939e-02 3.586821219020735e-02 3.578542579441001e-02 3.570271341631447e-02 + 3.562007528519529e-02 3.553751169069794e-02 3.545502291550906e-02 3.537260919186706e-02 3.529027072401183e-02 + 3.520800787214007e-02 3.512582095428173e-02 3.504371015751370e-02 3.496167573051010e-02 3.487971795476078e-02 + 3.479783710598274e-02 3.471603337811516e-02 3.463430699965583e-02 3.455265835796009e-02 3.447108770848941e-02 + 3.438959523450754e-02 3.430818119554624e-02 3.422684586511945e-02 3.414558949343227e-02 3.406441225419257e-02 + 3.398331443038755e-02 3.390229638782512e-02 3.382135832287533e-02 3.374050043789544e-02 3.365972299780525e-02 + 3.357902626321113e-02 3.349841045119794e-02 3.341787574130316e-02 3.333742246166845e-02 3.325705092272905e-02 + 3.317676129391954e-02 3.309655379649919e-02 3.301642868788483e-02 3.293638622159571e-02 3.285642658240021e-02 + 3.277654996949401e-02 3.269675673538998e-02 3.261704712715797e-02 3.253742130855802e-02 3.245787951722746e-02 + 3.237842200259459e-02 3.229904899349424e-02 3.221976065258773e-02 3.214055722659278e-02 3.206143905506719e-02 + 3.198240632628265e-02 3.190345921865954e-02 3.182459797365254e-02 3.174582282841434e-02 3.166713398447476e-02 + 3.158853160183031e-02 3.151001597036992e-02 3.143158738592136e-02 3.135324600516137e-02 3.127499202279022e-02 + 3.119682567104914e-02 3.111874718036912e-02 3.104075672462514e-02 3.096285447683152e-02 3.088504075536903e-02 + 3.080731579690068e-02 3.072967974437236e-02 3.065213281019982e-02 3.057467522135681e-02 3.049730718652442e-02 + 3.042002885157935e-02 3.034284042889533e-02 3.026574223701538e-02 3.018873445294931e-02 3.011181722724549e-02 + 3.003499077734359e-02 2.995825532248887e-02 2.988161104857855e-02 2.980505808548691e-02 2.972859668986686e-02 + 2.965222714891759e-02 2.957594959806504e-02 2.949976420500935e-02 2.942367118266701e-02 2.934767073798247e-02 + 2.927176302885600e-02 2.919594820074298e-02 2.912022654108078e-02 2.904459827654108e-02 2.896906352751058e-02 + 2.889362247668933e-02 2.881827533028623e-02 2.874302228403363e-02 2.866786346167200e-02 2.859279903706265e-02 + 2.851782931145582e-02 2.844295445253672e-02 2.836817458182308e-02 2.829348988995876e-02 2.821890057629359e-02 + 2.814440681221589e-02 2.807000870175516e-02 2.799570646465742e-02 2.792150037589211e-02 2.784739055623231e-02 + 2.777337714638600e-02 2.769946033688953e-02 2.762564030841585e-02 2.755191720229608e-02 2.747829114116882e-02 + 2.740476237631904e-02 2.733133112357609e-02 2.725799748998750e-02 2.718476162641247e-02 2.711162371095654e-02 + 2.703858392279279e-02 2.696564237390275e-02 2.689279920452167e-02 2.682005468428394e-02 2.674740897239565e-02 + 2.667486216835663e-02 2.660241443488607e-02 2.653006594727732e-02 2.645781686062815e-02 2.638566726160998e-02 + 2.631361733435826e-02 2.624166733570949e-02 2.616981737012440e-02 2.609806754771221e-02 2.602641803533937e-02 + 2.595486900051258e-02 2.588342056814261e-02 2.581207282360541e-02 2.574082599292273e-02 2.566968028470076e-02 + 2.559863577456860e-02 2.552769259041796e-02 2.545685089381796e-02 2.538611083889939e-02 2.531547252137675e-02 + 2.524493605061727e-02 2.517450166747065e-02 2.510416952086314e-02 2.503393968681819e-02 2.496381230163825e-02 + 2.489378751859868e-02 2.482386547683629e-02 2.475404624292582e-02 2.468432996264991e-02 2.461471687229032e-02 + 2.454520706873932e-02 2.447580063686782e-02 2.440649771598710e-02 2.433729844997764e-02 2.426820294893469e-02 + 2.419921127712116e-02 2.413032362216684e-02 2.406154017790910e-02 2.399286100816565e-02 2.392428621229386e-02 + 2.385581592554643e-02 2.378745028409909e-02 2.371918936700126e-02 2.365103325041379e-02 2.358298215018098e-02 + 2.351503620457756e-02 2.344719546326070e-02 2.337946004127276e-02 2.331183006962702e-02 2.324430566419196e-02 + 2.317688687789637e-02 2.310957382435168e-02 2.304236671579298e-02 2.297526563441205e-02 2.290827063843882e-02 + 2.284138184722980e-02 2.277459938171355e-02 2.270792333404544e-02 2.264135374860772e-02 2.257489077729924e-02 + 2.250853459738779e-02 2.244228525780410e-02 2.237614283279474e-02 2.231010743473913e-02 2.224417917668724e-02 + 2.217835812285958e-02 2.211264432248330e-02 2.204703795931322e-02 2.198153916317220e-02 2.191614796666107e-02 + 2.185086445220271e-02 2.178568872592581e-02 2.172062089111306e-02 2.165566098457172e-02 2.159080908357505e-02 + 2.152606537366001e-02 2.146142993110024e-02 2.139690279242156e-02 2.133248404619538e-02 2.126817379406035e-02 + 2.120397211607284e-02 2.113987903003668e-02 2.107589465469217e-02 2.101201915594272e-02 2.094825256288664e-02 + 2.088459492231405e-02 2.082104632696408e-02 2.075760686991806e-02 2.069427660166107e-02 2.063105554609518e-02 + 2.056794384972622e-02 2.050494162894281e-02 2.044204890243054e-02 2.037926573000831e-02 2.031659219454509e-02 + 2.025402837653619e-02 2.019157429898307e-02 2.012923000978476e-02 2.006699566765361e-02 2.000487133731908e-02 + 1.994285703240835e-02 1.988095281849638e-02 1.981915877663429e-02 1.975747497137283e-02 1.969590139839621e-02 + 1.963443814246610e-02 1.957308535571834e-02 1.951184305296579e-02 1.945071125524195e-02 1.938969003470093e-02 + 1.932877945979973e-02 1.926797956444602e-02 1.920729035294688e-02 1.914671194302782e-02 1.908624443873623e-02 + 1.902588783798898e-02 1.896564217312377e-02 1.890550750534374e-02 1.884548390173623e-02 1.878557136933607e-02 + 1.872576992282937e-02 1.866607969751645e-02 1.860650074902563e-02 1.854703306920867e-02 1.848767670108510e-02 + 1.842843170242723e-02 1.836929811895166e-02 1.831027593341436e-02 1.825136519709141e-02 1.819256603897189e-02 + 1.813387846842225e-02 1.807530248298604e-02 1.801683812530333e-02 1.795848544988909e-02 1.790024447932676e-02 + 1.784211518704799e-02 1.778409766075985e-02 1.772619199567190e-02 1.766839817113224e-02 1.761071619932593e-02 + 1.755314612276550e-02 1.749568797940397e-02 1.743834176385679e-02 1.738110747126647e-02 1.732398520795971e-02 + 1.726697501687009e-02 1.721007686976607e-02 1.715329079150987e-02 1.709661681774517e-02 1.704005496995066e-02 + 1.698360522175755e-02 1.692726759648597e-02 1.687104219632033e-02 1.681492902190890e-02 1.675892805218375e-02 + 1.670303930866012e-02 1.664726282100333e-02 1.659159859573434e-02 1.653604659349284e-02 1.648060687061485e-02 + 1.642527950537791e-02 1.637006446137386e-02 1.631496172845883e-02 1.625997133117372e-02 1.620509328829045e-02 + 1.615032758053278e-02 1.609567417924041e-02 1.604113316306734e-02 1.598670456411958e-02 1.593238833576510e-02 + 1.587818448257840e-02 1.582409302120838e-02 1.577011395254391e-02 1.571624723647299e-02 1.566249287063067e-02 + 1.560885093721684e-02 1.555532142372995e-02 1.550190428691725e-02 1.544859953345741e-02 1.539540716895692e-02 + 1.534232718045593e-02 1.528935952298772e-02 1.523650422043375e-02 1.518376132655854e-02 1.513113080051426e-02 + 1.507861261080395e-02 1.502620675643192e-02 1.497391324399307e-02 1.492173204313831e-02 1.486966309840608e-02 + 1.481770646058926e-02 1.476586215324725e-02 1.471413011485714e-02 1.466251032223325e-02 1.461100277337298e-02 + 1.455960746411957e-02 1.450832433725036e-02 1.445715335761371e-02 1.440609458945226e-02 1.435514801148310e-02 + 1.430431355790390e-02 1.425359121341204e-02 1.420298097105418e-02 1.415248280845771e-02 1.410209665546564e-02 + 1.405182250942155e-02 1.400166041623447e-02 1.395161031395394e-02 1.390167215017196e-02 1.385184591619880e-02 + 1.380213159317199e-02 1.375252913341631e-02 1.370303846818604e-02 1.365365962256361e-02 1.360439260851619e-02 + 1.355523734898775e-02 1.350619380184460e-02 1.345726194685572e-02 1.340844175819677e-02 1.335973317080697e-02 + 1.331113613029375e-02 1.326265067233158e-02 1.321427676765317e-02 1.316601433678336e-02 1.311786334248669e-02 + 1.306982375879771e-02 1.302189555021592e-02 1.297407863461756e-02 1.292637298076667e-02 1.287877861455418e-02 + 1.283129547339001e-02 1.278392348592105e-02 1.273666261347862e-02 1.268951282495219e-02 1.264247406704279e-02 + 1.259554625321822e-02 1.254872937642621e-02 1.250202343522368e-02 1.245542834900525e-02 1.240894405313941e-02 + 1.236257050462080e-02 1.231630767029411e-02 1.227015547343941e-02 1.222411383176151e-02 1.217818275998809e-02 + 1.213236222220244e-02 1.208665212384520e-02 1.204105241018576e-02 1.199556303854240e-02 1.195018395838791e-02 + 1.190491507365890e-02 1.185975632952753e-02 1.181470773836339e-02 1.176976922480089e-02 1.172494069835479e-02 + 1.168022211004454e-02 1.163561340968965e-02 1.159111452823667e-02 1.154672536811994e-02 1.150244589927961e-02 + 1.145827610670764e-02 1.141421589534856e-02 1.137026518661645e-02 1.132642392502224e-02 1.128269205281729e-02 + 1.123906948383837e-02 1.119555612518262e-02 1.115215196588227e-02 1.110885695891592e-02 1.106567099667937e-02 + 1.102259400831050e-02 1.097962593601935e-02 1.093676671505125e-02 1.089401623812122e-02 1.085137442757511e-02 + 1.080884127911701e-02 1.076641671182367e-02 1.072410061923310e-02 1.068189293399554e-02 1.063979359231152e-02 + 1.059780251428707e-02 1.055591958418482e-02 1.051414475108346e-02 1.047247799305691e-02 1.043091920126454e-02 + 1.038946827795377e-02 1.034812515386981e-02 1.030688975996647e-02 1.026576200007446e-02 1.022474176231751e-02 + 1.018382901647819e-02 1.014302370834395e-02 1.010232571551464e-02 1.006173495028295e-02 1.002125134058496e-02 + 9.980874808217161e-03 9.940605238090998e-03 9.900442533803457e-03 9.860386673211879e-03 9.820437566105797e-03 + 9.780595089730604e-03 9.740859166502601e-03 9.701229717604148e-03 9.661706648486619e-03 9.622289837555094e-03 + 9.582979211676392e-03 9.543774731762645e-03 9.504676285752028e-03 9.465683761437204e-03 9.426797070527869e-03 + 9.388016130061547e-03 9.349340837763126e-03 9.310771071700266e-03 9.272306774287777e-03 9.233947879847340e-03 + 9.195694263233465e-03 9.157545820041815e-03 9.119502462398593e-03 9.081564104605406e-03 9.043730620594144e-03 + 9.006001891771507e-03 8.968377884117109e-03 8.930858503326412e-03 8.893443610144467e-03 8.856133108771761e-03 + 8.818926910576046e-03 8.781824915337199e-03 8.744826984807866e-03 8.707933026764444e-03 8.671142997995955e-03 + 8.634456771198624e-03 8.597874217863410e-03 8.561395247729468e-03 8.525019762147885e-03 8.488747643810387e-03 + 8.452578758551675e-03 8.416513035074836e-03 8.380550402064440e-03 8.344690718755845e-03 8.308933866062409e-03 + 8.273279745485652e-03 8.237728259206089e-03 8.202279277607399e-03 8.166932668725525e-03 8.131688373197346e-03 + 8.096546291813443e-03 8.061506280849479e-03 8.026568229604077e-03 7.991732033790425e-03 7.956997581179438e-03 + 7.922364735477982e-03 7.887833385768220e-03 7.853403460644042e-03 7.819074838170454e-03 7.784847385209607e-03 + 7.750720988388416e-03 7.716695538073770e-03 7.682770912288046e-03 7.648946965667346e-03 7.615223607644973e-03 + 7.581600758648286e-03 7.548078272068747e-03 7.514656018308716e-03 7.481333888256649e-03 7.448111767084748e-03 + 7.414989518558892e-03 7.381967002509678e-03 7.349044141005179e-03 7.316220829119200e-03 7.283496916229069e-03 + 7.250872276568530e-03 7.218346796125786e-03 7.185920358959778e-03 7.153592811909379e-03 7.121364026156801e-03 + 7.089233934032213e-03 7.057202401526107e-03 7.025269274784423e-03 6.993434437254338e-03 6.961697770726437e-03 + 6.930059144137623e-03 6.898518406074085e-03 6.867075445461445e-03 6.835730169890301e-03 6.804482436531050e-03 + 6.773332103630715e-03 6.742279042830752e-03 6.711323134446215e-03 6.680464239400761e-03 6.649702204950062e-03 + 6.619036937093537e-03 6.588468325547939e-03 6.557996212108587e-03 6.527620458965777e-03 6.497340941897300e-03 + 6.467157538628341e-03 6.437070090473932e-03 6.407078453159759e-03 6.377182548096138e-03 6.347382238649846e-03 + 6.317677359750170e-03 6.288067782822399e-03 6.258553381641384e-03 6.229134019133821e-03 6.199809533909972e-03 + 6.170579803332374e-03 6.141444731866248e-03 6.112404164377095e-03 6.083457948651627e-03 6.054605954063168e-03 + 6.025848047899531e-03 5.997184082520315e-03 5.968613898555075e-03 5.940137388272029e-03 5.911754435973001e-03 + 5.883464876798197e-03 5.855268565478542e-03 5.827165369238958e-03 5.799155152943781e-03 5.771237757858197e-03 + 5.743413031370796e-03 5.715680873423079e-03 5.688041146137241e-03 5.660493683352233e-03 5.633038344713090e-03 + 5.605674994693767e-03 5.578403490874967e-03 5.551223666073857e-03 5.524135383482108e-03 5.497138538622371e-03 + 5.470232973711985e-03 5.443418527865922e-03 5.416695061766649e-03 5.390062436684385e-03 5.363520500801443e-03 + 5.337069085950208e-03 5.310708070645691e-03 5.284437334686721e-03 5.258256709167105e-03 5.232166039984466e-03 + 5.206165186351173e-03 5.180254006079314e-03 5.154432337116667e-03 5.128700017566677e-03 5.103056934758595e-03 + 5.077502948400768e-03 5.052037887552509e-03 5.026661602896529e-03 5.001373950974750e-03 4.976174783805283e-03 + 4.951063931174483e-03 4.926041244835856e-03 4.901106610871052e-03 4.876259869861805e-03 4.851500854152867e-03 + 4.826829416485723e-03 4.802245411238555e-03 4.777748682676776e-03 4.753339057595283e-03 4.729016402174706e-03 + 4.704780591018902e-03 4.680631452386119e-03 4.656568824906738e-03 4.632592561043116e-03 4.608702512089780e-03 + 4.584898512841469e-03 4.561180394112987e-03 4.537548032865621e-03 4.514001286180084e-03 4.490539978046344e-03 + 4.467163952568486e-03 4.443873060291688e-03 4.420667147623122e-03 4.397546041481102e-03 4.374509584352294e-03 + 4.351557654555007e-03 4.328690090868674e-03 4.305906719484884e-03 4.283207387010587e-03 4.260591942258349e-03 + 4.238060226010617e-03 4.215612060889534e-03 4.193247302342208e-03 4.170965820265097e-03 4.148767441443334e-03 + 4.126651998168965e-03 4.104619336614093e-03 4.082669303050944e-03 4.060801730082235e-03 4.039016442831475e-03 + 4.017313308452854e-03 3.995692181792875e-03 3.974152883344686e-03 3.952695251163741e-03 3.931319130911208e-03 + 3.910024364917125e-03 3.888810777810686e-03 3.867678204037116e-03 3.846626514691173e-03 3.825655547709963e-03 + 3.804765124734014e-03 3.783955087456414e-03 3.763225279741349e-03 3.742575538839424e-03 3.722005684569956e-03 + 3.701515563829318e-03 3.681105042529648e-03 3.660773945892437e-03 3.640522100973796e-03 3.620349349516141e-03 + 3.600255533338096e-03 3.580240483202974e-03 3.560304020332013e-03 3.540446002992503e-03 3.520666284206718e-03 + 3.500964682823155e-03 3.481341031384374e-03 3.461795171007476e-03 3.442326941040924e-03 3.422936165061433e-03 + 3.403622671201535e-03 3.384386323473485e-03 3.365226959961049e-03 3.346144399498565e-03 3.327138478378434e-03 + 3.308209036536853e-03 3.289355909461925e-03 3.270578915351533e-03 3.251877893639187e-03 3.233252706195778e-03 + 3.214703178029928e-03 3.196229132118811e-03 3.177830406368320e-03 3.159506839403438e-03 3.141258260810600e-03 + 3.123084488811596e-03 3.104985374197366e-03 3.086960768611876e-03 3.069010490077185e-03 3.051134366997480e-03 + 3.033332237019262e-03 3.015603936903380e-03 2.997949290147841e-03 2.980368120588831e-03 2.962860285290425e-03 + 2.945425622240710e-03 2.928063948810786e-03 2.910775098113858e-03 2.893558906982335e-03 2.876415208617919e-03 + 2.859343821344898e-03 2.842344578930633e-03 2.825417338731532e-03 2.808561926446875e-03 2.791778162629514e-03 + 2.775065882662152e-03 2.758424922052246e-03 2.741855109318431e-03 2.725356262118107e-03 2.708928224810950e-03 + 2.692570847204586e-03 2.676283947708203e-03 2.660067352018658e-03 2.643920895408666e-03 2.627844412630983e-03 + 2.611837727127577e-03 2.595900659591014e-03 2.580033062057212e-03 2.564234773200918e-03 2.548505609580814e-03 + 2.532845401329118e-03 2.517253983314282e-03 2.501731188088862e-03 2.486276834298587e-03 2.470890751027053e-03 + 2.455572791828030e-03 2.440322784214469e-03 2.425140547489158e-03 2.410025914370114e-03 2.394978718743150e-03 + 2.379998789312335e-03 2.365085943631231e-03 2.350240020749269e-03 2.335460868942443e-03 2.320748308349550e-03 + 2.306102163022297e-03 2.291522266200105e-03 2.277008450857895e-03 2.262560541519312e-03 2.248178358404482e-03 + 2.233861748393963e-03 2.219610550590767e-03 2.205424582540762e-03 2.191303672653564e-03 2.177247654150935e-03 + 2.163256358437406e-03 2.149329606085116e-03 2.135467224025938e-03 2.121669062135428e-03 2.107934949596006e-03 + 2.094264705479671e-03 2.080658161247730e-03 2.067115150052171e-03 2.053635501035216e-03 2.040219032033609e-03 + 2.026865578574763e-03 2.013574988607888e-03 2.000347084189316e-03 1.987181688126059e-03 1.974078632294973e-03 + 1.961037750159034e-03 1.948058867783843e-03 1.935141804192390e-03 1.922286403096425e-03 1.909492504980594e-03 + 1.896759928265229e-03 1.884088500763132e-03 1.871478055631251e-03 1.858928424089599e-03 1.846439428400912e-03 + 1.834010894228015e-03 1.821642669213327e-03 1.809334584628213e-03 1.797086460037203e-03 1.784898126770644e-03 + 1.772769417737367e-03 1.760700162615002e-03 1.748690181778845e-03 1.736739308394668e-03 1.724847388831493e-03 + 1.713014248130287e-03 1.701239709792772e-03 1.689523605558227e-03 1.677865768960374e-03 1.666266027776910e-03 + 1.654724201747776e-03 1.643240132443950e-03 1.631813662093462e-03 1.620444610863358e-03 1.609132806416696e-03 + 1.597878082462674e-03 1.586680271167799e-03 1.575539197124769e-03 1.564454685806544e-03 1.553426583192850e-03 + 1.542454723186195e-03 1.531538926942232e-03 1.520679025889417e-03 1.509874853790604e-03 1.499126242122267e-03 + 1.488433013507451e-03 1.477795000037597e-03 1.467212048115432e-03 1.456683985464255e-03 1.446210636719452e-03 + 1.435791835117153e-03 1.425427414393694e-03 1.415117204211151e-03 1.404861027594662e-03 1.394658724273689e-03 + 1.384510137356095e-03 1.374415090575271e-03 1.364373412382042e-03 1.354384937246215e-03 1.344449499301808e-03 + 1.334566925970926e-03 1.324737043332181e-03 1.314959696939330e-03 1.305234723823342e-03 1.295561947265019e-03 + 1.285941199528206e-03 1.276372315963847e-03 1.266855130463658e-03 1.257389468322312e-03 1.247975161599065e-03 + 1.238612057815808e-03 1.229299987951490e-03 1.220038778115428e-03 1.210828263449681e-03 1.201668279419893e-03 + 1.192558658328712e-03 1.183499226491516e-03 1.174489822883548e-03 1.165530291825810e-03 1.156620461345326e-03 + 1.147760161971411e-03 1.138949229776032e-03 1.130187500878873e-03 1.121474806129454e-03 1.112810973708310e-03 + 1.104195848566657e-03 1.095629271185936e-03 1.087111069073448e-03 1.078641075658101e-03 1.070219127753748e-03 + 1.061845062287274e-03 1.053518708913237e-03 1.045239900848634e-03 1.037008485418972e-03 1.028824298155823e-03 + 1.020687168641753e-03 1.012596933141099e-03 1.004553429894111e-03 9.965564952721074e-04 9.886059579764911e-04 + 9.807016577383673e-04 9.728434421263681e-04 9.650311428619217e-04 9.572645925441391e-04 9.495436296868831e-04 + 9.418680934992058e-04 9.342378189983833e-04 9.266526374013966e-04 9.191123940951565e-04 9.116169327210938e-04 + 9.041660846048507e-04 8.967596865276394e-04 8.893975784458786e-04 8.820795994475233e-04 8.748055834052338e-04 + 8.675753662309574e-04 8.603887967412885e-04 8.532457145816050e-04 8.461459528881801e-04 8.390893515597134e-04 + 8.320757512954288e-04 8.251049910410551e-04 8.181769052102455e-04 8.112913354889369e-04 8.044481307476467e-04 + 7.976471276304203e-04 7.908881626723219e-04 7.841710779271092e-04 7.774957151422038e-04 7.708619131557394e-04 + 7.642695077220146e-04 7.577183458379644e-04 7.512082748417916e-04 7.447391309361296e-04 7.383107537219758e-04 + 7.319229861740803e-04 7.255756719189899e-04 7.192686493738265e-04 7.130017570250109e-04 7.067748463319056e-04 + 7.005877618919097e-04 6.944403408515077e-04 6.883324261093659e-04 6.822638623160529e-04 6.762344932684062e-04 + 6.702441573916524e-04 6.642926986443232e-04 6.583799694858947e-04 6.525058122102392e-04 6.466700672293728e-04 + 6.408725793807691e-04 6.351131947715911e-04 6.293917574305099e-04 6.237081070877600e-04 6.180620932909059e-04 + 6.124535677685099e-04 6.068823714677426e-04 6.013483481700967e-04 5.958513451670206e-04 5.903912096703989e-04 + 5.849677853780454e-04 5.795809154020751e-04 5.742304534677881e-04 5.689162489783443e-04 5.636381442526738e-04 + 5.583959863498279e-04 5.531896240506697e-04 5.480189055622431e-04 5.428836748799696e-04 5.377837797240800e-04 + 5.327190759830209e-04 5.276894110958636e-04 5.226946300477827e-04 5.177345825024617e-04 5.128091188465486e-04 + 5.079180879528710e-04 5.030613351067660e-04 4.982387130290541e-04 4.934500776624026e-04 4.886952758062522e-04 + 4.839741558713263e-04 4.792865695826084e-04 4.746323688630657e-04 4.700114029595036e-04 4.654235198613055e-04 + 4.608685766627245e-04 4.563464280591107e-04 4.518569219186994e-04 4.473999099762359e-04 4.429752457691277e-04 + 4.385827824909558e-04 4.342223700107388e-04 4.298938604566902e-04 4.255971135329090e-04 4.213319826090788e-04 + 4.170983180859963e-04 4.128959744299958e-04 4.087248069577171e-04 4.045846700338900e-04 4.004754147907325e-04 + 3.963968979642262e-04 3.923489801919561e-04 3.883315144592717e-04 3.843443544269981e-04 3.803873568608614e-04 + 3.764603788261386e-04 3.725632754784107e-04 3.686959004384349e-04 3.648581147870281e-04 3.610497787686854e-04 + 3.572707463878945e-04 3.535208745539621e-04 3.498000220657478e-04 3.461080477383748e-04 3.424448076363575e-04 + 3.388101589386426e-04 3.352039657815740e-04 3.316260877532703e-04 3.280763812137888e-04 3.245547060139738e-04 + 3.210609229167205e-04 3.175948921405597e-04 3.141564711604799e-04 3.107455215081982e-04 3.073619088757455e-04 + 3.040054927848886e-04 3.006761327105527e-04 2.973736909925681e-04 2.940980303881470e-04 2.908490123115160e-04 + 2.876264965105581e-04 2.844303488008553e-04 2.812604353029198e-04 2.781166164989417e-04 2.749987551423296e-04 + 2.719067158817455e-04 2.688403633742989e-04 2.657995602462465e-04 2.627841695326067e-04 2.597940603791381e-04 + 2.568290988582687e-04 2.538891477672460e-04 2.509740728301346e-04 2.480837407612393e-04 2.452180180501483e-04 + 2.423767689150773e-04 2.395598604007145e-04 2.367671637065971e-04 2.339985452156380e-04 2.312538707417314e-04 + 2.285330086975239e-04 2.258358279521211e-04 2.231621965330517e-04 2.205119809474630e-04 2.178850522930381e-04 + 2.152812827957872e-04 2.127005401044592e-04 2.101426932429596e-04 2.076076129630843e-04 2.050951703707553e-04 + 2.026052350574154e-04 2.001376764695323e-04 1.976923692963255e-04 1.952691863631026e-04 1.928679973631469e-04 + 1.904886744667185e-04 1.881310908124045e-04 1.857951194428946e-04 1.834806317739651e-04 1.811875010647571e-04 + 1.789156043640377e-04 1.766648152326652e-04 1.744350063601967e-04 1.722260526922104e-04 1.700378296945535e-04 + 1.678702123432160e-04 1.657230742438847e-04 1.635962925697728e-04 1.614897461072756e-04 1.594033097074569e-04 + 1.573368592094730e-04 1.552902721810668e-04 1.532634264532060e-04 1.512561988693490e-04 1.492684659352835e-04 + 1.473001083560244e-04 1.453510059716440e-04 1.434210358729406e-04 1.415100771164913e-04 1.396180097223186e-04 + 1.377447137267307e-04 1.358900680130841e-04 1.340539526362652e-04 1.322362510498252e-04 1.304368442346035e-04 + 1.286556121626104e-04 1.268924368411170e-04 1.251472007379926e-04 1.234197860690376e-04 1.217100740639766e-04 + 1.200179485071157e-04 1.183432949752447e-04 1.166859960758634e-04 1.150459349477667e-04 1.134229962637926e-04 + 1.118170649981152e-04 1.102280255615328e-04 1.086557620076939e-04 1.071001616642248e-04 1.055611117192228e-04 + 1.040384970703678e-04 1.025322040262462e-04 1.010421198490596e-04 9.956813202096472e-05 9.811012722455996e-05 + 9.666799283658755e-05 9.524161921027426e-05 9.383089505710078e-05 9.243570803818307e-05 9.105594759252440e-05 + 8.969150364397068e-05 8.834226604286881e-05 8.700812397260034e-05 8.568896841419017e-05 8.438469212608002e-05 + 8.309518568825200e-05 8.182033994906239e-05 8.056004718218619e-05 7.931419998170841e-05 7.808269064296404e-05 + 7.686541112857092e-05 7.566225594198306e-05 7.447311991364301e-05 7.329789600792314e-05 7.213647827366786e-05 + 7.098876170896106e-05 6.985464163907488e-05 6.873401282606521e-05 6.762677039259616e-05 6.653281205307769e-05 + 6.545203459530543e-05 6.438433381335806e-05 6.332960688869456e-05 6.228775159650499e-05 6.125866586213212e-05 + 6.024224709312662e-05 5.923839394811549e-05 5.824700680510711e-05 5.726798458845817e-05 5.630122626966778e-05 + 5.534663202079377e-05 5.440410243697520e-05 5.347353805513213e-05 5.255483915897720e-05 5.164790790372327e-05 + 5.075264706713765e-05 4.986895809670387e-05 4.899674321102013e-05 4.813590548272275e-05 4.728634834520723e-05 + 4.644797500988253e-05 4.562068892036128e-05 4.480439551815946e-05 4.399899988301035e-05 4.320440633696577e-05 + 4.242052030402665e-05 4.164724778526068e-05 4.088449502887978e-05 4.013216802138054e-05 3.939017361734100e-05 + 3.865842020891389e-05 3.793681530287127e-05 3.722526637683801e-05 3.652368195642655e-05 3.583197100166348e-05 + 3.515004257550265e-05 3.447780563338777e-05 3.381517049939420e-05 3.316204825033269e-05 3.251834908257212e-05 + 3.188398376275541e-05 3.125886384349450e-05 3.064290126992314e-05 3.003600797392098e-05 2.943809607683111e-05 + 2.884907925556903e-05 2.826887119646782e-05 2.769738505988399e-05 2.713453488302094e-05 2.658023526748751e-05 + 2.603440114263312e-05 2.549694738792051e-05 2.496778949423694e-05 2.444684425976710e-05 2.393402805764408e-05 + 2.342925723948219e-05 2.293244905822871e-05 2.244352120797989e-05 2.196239159983278e-05 2.148897818423003e-05 + 2.102319990982268e-05 2.056497650699234e-05 2.011422722229805e-05 1.967087173846936e-05 1.923483045310688e-05 + 1.880602417859793e-05 1.838437386840237e-05 1.796980069033951e-05 1.756222699777835e-05 1.716157539169325e-05 + 1.676776819323897e-05 1.638072842752046e-05 1.600037965967140e-05 1.562664583506045e-05 1.525945101785764e-05 + 1.489871974108943e-05 1.454437762041471e-05 1.419635018600421e-05 1.385456300630342e-05 1.351894241351905e-05 + 1.318941519258516e-05 1.286590843459537e-05 1.254834939298960e-05 1.223666606495489e-05 1.193078719950152e-05 + 1.163064137727749e-05 1.133615754527981e-05 1.104726530816775e-05 1.076389469662666e-05 1.048597599093073e-05 + 1.021343974753131e-05 9.946217419267380e-06 9.684240838620889e-06 9.427441790773100e-06 9.175752643853506e-06 + 8.929106280098344e-06 8.687435997194528e-06 8.450675338936148e-06 8.218758257424963e-06 7.991619584870982e-06 + 7.769194298227330e-06 7.551417507621627e-06 7.338224987041431e-06 7.129552955942858e-06 6.925337997222138e-06 + 6.725516977155444e-06 6.530027335862672e-06 6.338807194551445e-06 6.151794769434223e-06 5.968928615355085e-06 + 5.790147878391894e-06 5.615392155261267e-06 5.444601365246586e-06 5.277715758699128e-06 5.114676291438329e-06 + 4.955424365336747e-06 4.799901525655197e-06 4.648049820836300e-06 4.499811793985402e-06 4.355130438087899e-06 + 4.213949069835453e-06 4.076211399540344e-06 3.941861865039729e-06 3.810845196499976e-06 3.683106361660463e-06 + 3.558590910585118e-06 3.437244835818923e-06 3.319014541070219e-06 3.203846795533912e-06 3.091688852089737e-06 + 2.982488579295818e-06 2.876194109656037e-06 2.772753925582794e-06 2.672117063800105e-06 2.574233014808049e-06 + 2.479051643033932e-06 2.386523210361943e-06 2.296598552297165e-06 2.209228971591383e-06 2.124366069775506e-06 + 2.041961906232304e-06 1.961969019732135e-06 1.884340423438541e-06 1.809029507182080e-06 1.735990071613592e-06 + 1.665176534356502e-06 1.596543687803830e-06 1.530046658503296e-06 1.465641105678908e-06 1.403283128309336e-06 + 1.342929271825179e-06 1.284536503035511e-06 1.228062233226246e-06 1.173464436795038e-06 1.120701460082181e-06 + 1.069732028902882e-06 1.020515399241352e-06 9.730112822753146e-07 9.271798002921477e-07 8.829815278752155e-07 + 8.403775374680640e-07 7.993293716485992e-07 7.597989809176624e-07 7.217487560416926e-07 6.851415619710593e-07 + 6.499407524191172e-07 6.161100929136179e-07 5.836137918783888e-07 5.524166028233452e-07 5.224836968385216e-07 + 4.937806609639881e-07 4.662735849361845e-07 4.399289991547822e-07 4.147139110260500e-07 3.905957813609555e-07 + 3.675425084859321e-07 3.455225231396512e-07 3.245046871736890e-07 3.044582778536548e-07 2.853530928283095e-07 + 2.671593859185241e-07 2.498478511400059e-07 2.333896726605378e-07 2.177564985206194e-07 2.029204500538344e-07 + 1.888541210793108e-07 1.755305458522738e-07 1.629232393506973e-07 1.510062144201093e-07 1.397539174372155e-07 + 1.291412703741045e-07 1.191437050672961e-07 1.097370923617762e-07 1.008977778162274e-07 9.260259669902208e-08 + 8.482883141984319e-08 7.755426670738778e-08 7.075715683240311e-08 6.441620467100832e-08 5.851063608240125e-08 + 5.302013495440350e-08 4.792483459927075e-08 4.320538955913144e-08 3.884291294265582e-08 3.481898425658018e-08 + 3.111569527451850e-08 2.771559342817648e-08 2.460171067137196e-08 2.175758348333717e-08 1.916719757773861e-08 + 1.681503457183268e-08 1.468607978947252e-08 1.276576812429566e-08 1.104003874048358e-08 9.495328649625366e-09 + 8.118528715645258e-09 6.897042498203040e-09 5.818760232281117e-09 4.872032311209139e-09 4.045732447740840e-09 + 3.329210679517489e-09 2.712284881132093e-09 2.185301687016959e-09 1.739076161987666e-09 1.364901589086205e-09 + 1.054599065845252e-09 8.004535320102697e-10 5.952414597054672e-10 4.322622496028902e-10 3.052766304104823e-10 + 2.085502003918036e-10 1.368642901349301e-10 8.546164059834664e-11 5.010215808832263e-11 2.705311520847365e-11 + 1.304599438344934e-11 5.339090781311160e-12 1.692041320615927e-12 3.321208355096226e-13 6.781366937015517e-15 diff --git a/examples/SPIN/cobalt_hcp/exchange_fit_hcp_co/exchange_fit.py b/examples/SPIN/cobalt_hcp/exchange_fit_hcp_co/exchange_fit.py new file mode 100644 index 0000000000..fa7dba417e --- /dev/null +++ b/examples/SPIN/cobalt_hcp/exchange_fit_hcp_co/exchange_fit.py @@ -0,0 +1,32 @@ +#Program fitting the exchange interaction +#Model curve: Bethe-Slater function +import numpy as np, pylab, tkinter +import matplotlib.pyplot as plt +from scipy.optimize import curve_fit +from decimal import * + +print("Loop begin") + +#Definition of the Bethe-Slater function +def func(x,a,b,c): + return 4*a*((x/c)**2)*(1-b*(x/c)**2)*np.exp(-(x/c)**2) + +#Exchange coeff table (data to fit) +rdata, Jdata = np.loadtxt('exchange_hcp_co.dat', usecols=(0,1), unpack=True) +plt.plot(rdata, Jdata, 'b-', label='data') + +#Perform the fit +popt, pcov = curve_fit(func, rdata, Jdata, bounds=(0, [500.,5.,5.])) +plt.plot(rdata, func(rdata, *popt), 'r--', label='fit') + +#Print the fitted params +print("Parameters: a={:.10} (in meV), b={:.10} (adim), c={:.10} (in Ang)".format(*popt)) + +#Ploting the result +plt.xlabel('r_ij') +pylab.xlim([0,6.5]) +plt.ylabel('J_ij') +plt.legend() +plt.show() + +print("Loop end") diff --git a/examples/SPIN/cobalt_hcp/exchange_fit_hcp_co/exchange_hcp_co.dat b/examples/SPIN/cobalt_hcp/exchange_fit_hcp_co/exchange_hcp_co.dat new file mode 100644 index 0000000000..0968fa3edb --- /dev/null +++ b/examples/SPIN/cobalt_hcp/exchange_fit_hcp_co/exchange_hcp_co.dat @@ -0,0 +1,9 @@ +2.25569176882662 73.37931034482759 +2.3817863397548162 47.99999999999999 +2.4518388791593697 34.39080459770115 +2.507880910683012 31.816091954022987 +2.5359019264448337 28.137931034482747 +2.5779334500875657 25.011494252873554 +2.6339754816112086 19.126436781609186 +2.760070052539404 13.241379310344826 +3.5446584938704033 6.068965517241367 diff --git a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp new file mode 100644 index 0000000000..68a9316e3b --- /dev/null +++ b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp @@ -0,0 +1,60 @@ +# fcc cobalt in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# check why? +atom_modify map array + +#lattice hcp 2.5071 2.5071 4.0695 +lattice hcp 2.5071 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.93 + +set group all spin/random 31 1.72 +velocity all create 100 4928459 rot yes dist gaussian + +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_coeff * * eam/alloy ../examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * pair/spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all force/spin zeeman 0.01 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all integration/spin lattice yes + +timestep 0.0001 + + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] +variable mag_force equal f_1 + +thermo_style custom step time v_magnorm v_emag temp etotal +thermo 10 + +dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz + +run 1000 + diff --git a/examples/SPIN/dev/in.spin.cobalt b/examples/SPIN/dev/in.spin.cobalt index bdb71523e0..8ab9843174 100644 --- a/examples/SPIN/dev/in.spin.cobalt +++ b/examples/SPIN/dev/in.spin.cobalt @@ -48,8 +48,8 @@ velocity all create 200 4928459 rot yes dist gaussian #Magneto-mechanic interactions for bulk fcc Cobalt #pair_style pair/spin/exchange 4.0 #pair_style eam/alloy -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair_coeff * * eam/alloy ../examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy Co #pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co @@ -69,7 +69,7 @@ pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 #type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) #pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 +pair_coeff * * pair/spin/soc/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 #pair_coeff * * pair/spin/soc/neel neel 4.0 0.0 0.864159 2.13731 @@ -81,13 +81,13 @@ neigh_modify every 10 check yes delay 20 #Magnetic field fix #Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 10.0 0.0 0.0 1.0 +fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 #fix 1 all force/spin anisotropy 0.01 0.0 0.0 1.0 #Fix Langevin spins (merging damping and temperature) #Temp | Alpha_trans | Alpha_long | Seed -#fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 0.0 0.1 21 +#fix 2 all langevin/spin 0.0 0.1 21 +fix 2 all langevin/spin 0.0 0.0 21 #Magnetic integration fix fix 3 all integration/spin lattice yes @@ -116,8 +116,8 @@ variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] thermo 50 -thermo_style custom step time v_magx v_magy v_magy v_magnorm v_emag v_tmag -#thermo_style custom step time pe ke v_emag +#thermo_style custom step time v_magx v_magy v_magy v_magnorm v_emag v_tmag +thermo_style custom step time pe ke v_emag etotal thermo_modify format float %20.15g #Dump the positions and spin directions of magnetic particles (vmd format) @@ -125,5 +125,5 @@ thermo_modify format float %20.15g #Running the simulations for N timesteps #run 10 -run 100 +run 20000 diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_integration_spin.cpp index b5b0247a35..7581546f3e 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_integration_spin.cpp @@ -40,7 +40,6 @@ #include "pair_spin_me.h" #include "pair_spin_soc_dmi.h" #include "pair_spin_soc_neel.h" -#include "pair_spin_soc_landau.h" #include "respa.h" #include "update.h" diff --git a/src/SPIN/pair_spin_soc_neel.cpp b/src/SPIN/pair_spin_soc_neel.cpp index 847995abbc..346edc15b8 100755 --- a/src/SPIN/pair_spin_soc_neel.cpp +++ b/src/SPIN/pair_spin_soc_neel.cpp @@ -220,11 +220,12 @@ void PairSpinSocNeel::compute_soc_neel(int i, int j, double rsq, double eij[3], q1ij *= exp(-ra); q2ij = (-2.0*q1ij/9.0); - pq1x = -(scalar_eij_si*scalar_eij_si - scalar_si_sj/3.0)*spj[0]/3.0; - pq1y = -(scalar_eij_si*scalar_eij_si - scalar_si_sj/3.0)*spj[1]/3.0; - pq1z = -(scalar_eij_si*scalar_eij_si - scalar_si_sj/3.0)*spj[2]/3.0; + double scalar_eij_si_2 = scalar_eij_si*scalar_eij_si; + pq1x = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[0]/3.0; + pq1y = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[1]/3.0; + pq1z = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[2]/3.0; - double pqt1 = scalar_eij_sj*scalar_eij_sj-scalar_si_sj/3.0; + double pqt1 = (scalar_eij_sj*scalar_eij_sj-scalar_si_sj/3.0); pq1x += pqt1*(2.0*scalar_eij_si*eij[0] - spj[0]/3.0); pq1y += pqt1*(2.0*scalar_eij_si*eij[1] - spj[1]/3.0); pq1z += pqt1*(2.0*scalar_eij_si*eij[2] - spj[2]/3.0); @@ -233,7 +234,6 @@ void PairSpinSocNeel::compute_soc_neel(int i, int j, double rsq, double eij[3], pq1y *= q1ij; pq1z *= q1ij; - double scalar_eij_si_2 = scalar_eij_si*scalar_eij_si; double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; pq2x = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[0] + scalar_eij_sj_3*eij[0]; pq2y = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[1] + scalar_eij_sj_3*eij[1]; @@ -286,8 +286,6 @@ void PairSpinSocNeel::compute_soc_mech_neel(int i, int j, double rsq, double eij dgij = 1.0-ra-g2[itype][jtype]*ra*(2.0-ra); dgij *= 8.0*g_mech*rr*exp(-ra); - // this 2.0*gij/drij is in Beaujouan calc. but not recovered yet - //double pdt1 = dgij*scalar_eij_si*scalar_eij_sj; double pdt1 = (dgij-2.0*gij/drij)*scalar_eij_si*scalar_eij_sj; pdt1 -= scalar_si_sj*dgij/3.0; double pdt2 = scalar_eij_sj*gij/drij; @@ -323,13 +321,20 @@ void PairSpinSocNeel::compute_soc_mech_neel(int i, int j, double rsq, double eij double scalar_eij_si_3 = scalar_eij_si*scalar_eij_si*scalar_eij_si; double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; double scalar_si_sj_2 = scalar_si_sj*scalar_si_sj; - double pqt3 = 2.0*scalar_eij_si*scalar_eij_sj_3/drij; +/* double pqt3 = 2.0*scalar_eij_si*scalar_eij_sj_3/drij; double pqt4 = 2.0*scalar_eij_sj*scalar_eij_si_3/drij; double pqt5 = -2.0*scalar_si_sj*scalar_eij_si/(3.0*drij); double pqt6 = -2.0*scalar_si_sj*scalar_eij_sj/(3.0*drij); +// pq1x += q1ij*(spi[0]*(pqt3+pqt6) + spj[0]*(pqt4+)); pq1x += q1ij*(pqt3*spi[0]+pqt4*spj[0]+pqt5*spi[0]+pqt6*spi[0]); pq1y += q1ij*(pqt3*spi[1]+pqt4*spj[1]+pqt5*spi[1]+pqt6*spj[1]); pq1z += q1ij*(pqt3*spi[2]+pqt4*spj[2]+pqt5*spi[2]+pqt6*spj[2]); +*/ + double pqt3 = 2.0*scalar_eij_si*(scalar_eij_sj_2-scalar_si_sj/3.0)/drij; + double pqt4 = 2.0*scalar_eij_sj*(scalar_eij_si_2-scalar_si_sj/3.0)/drij; + pq1x += q1ij*(pqt3*spi[0] + pqt4*spj[0]); + pq1y += q1ij*(pqt3*spi[1] + pqt4*spj[1]); + pq1z += q1ij*(pqt3*spi[2] + pqt4*spj[2]); double pqt7 = 4.0*scalar_eij_si_2*scalar_eij_sj_2/drij; double pqt8 = 2.0*scalar_si_sj_2*scalar_eij_sj/(3.0*drij); double pqt9 = 2.0*scalar_si_sj_2*scalar_eij_si/(3.0*drij); @@ -337,11 +342,22 @@ void PairSpinSocNeel::compute_soc_mech_neel(int i, int j, double rsq, double eij pq1y -= q1ij*(pqt7 + pqt8 + pqt9)*eij[1]; pq1z -= q1ij*(pqt7 + pqt8 + pqt9)*eij[2]; +/* + double pqt3 = 2.0*scalar_eij_si*(scalar_eij_sj_2-scalar_si_sj/3.0)/drij; + double pqt4 = 2.0*scalar_eij_sj*(scalar_eij_si_2-scalar_si_sj/3.0)/drij; + pq1x += q1ij*(pqt3*spi[0] + pqt4*spj[0]); + pq1y += q1ij*(pqt3*spi[1] + pqt4*spj[1]); + pq1z += q1ij*(pqt3*spi[2] + pqt4*spj[2]); +*/ + + //double scalar_eij_si_3 = scalar_eij_si*scalar_eij_si*scalar_eij_si; + //double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; double pqt10 = scalar_eij_sj*scalar_eij_si_3; double pqt11 = scalar_eij_si*scalar_eij_sj_3; pq2x = dq2ij*(pqt10 + pqt11)*eij[0]; pq2y = dq2ij*(pqt10 + pqt11)*eij[1]; pq2z = dq2ij*(pqt10 + pqt11)*eij[2]; + double pqt12 = scalar_eij_si_3/drij; double pqt13 = scalar_eij_sj_3/drij; double pqt14 = 3.0*scalar_eij_sj*scalar_eij_si_2/drij; -- GitLab From 2a3b93ca3dd33cb9e67df3f08d25dd173319d8a5 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 20 Mar 2018 11:30:19 -0600 Subject: [PATCH 079/675] First commits last version doc --- .../fix_integration_spin_stdecomposition.jpg | Bin 61028 -> 171962 bytes doc/src/Eqs/fix_langevin_spin_sLLG.jpg | Bin 10824 -> 25663 bytes doc/src/Eqs/force_spin_aniso.jpg | Bin 8079 -> 18405 bytes doc/src/Eqs/force_spin_zeeman.jpg | Bin 7483 -> 20886 bytes doc/src/Eqs/pair_spin_exchange_forces.jpg | Bin 16283 -> 43983 bytes doc/src/Eqs/pair_spin_exchange_function.jpg | Bin 13642 -> 32386 bytes .../Eqs/pair_spin_exchange_interaction.jpg | Bin 7154 -> 20969 bytes doc/src/Eqs/pair_spin_me_forces.jpg | Bin 15552 -> 42008 bytes doc/src/Eqs/pair_spin_me_interaction.jpg | Bin 17288 -> 23008 bytes doc/src/Eqs/pair_spin_soc_dmi_interaction.jpg | Bin 8128 -> 21251 bytes doc/src/fix_langevin_spin.txt | 2 +- examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc | 6 ++-- .../exchange_bcc_iron.dat | 3 ++ .../exchange_fit_bcc_iron/exchange_fit.py | 32 ++++++++++++++++++ examples/SPIN/iron/in.spin.iron | 8 ++--- 15 files changed, 43 insertions(+), 8 deletions(-) create mode 100644 examples/SPIN/iron/exchange_fit_bcc_iron/exchange_bcc_iron.dat create mode 100644 examples/SPIN/iron/exchange_fit_bcc_iron/exchange_fit.py diff --git a/doc/src/Eqs/fix_integration_spin_stdecomposition.jpg b/doc/src/Eqs/fix_integration_spin_stdecomposition.jpg index c2a4d50eaf1456e56c03bcf41dd85830e9f41c7e..566b21544a912117f111d9b1e79090e9f41138b3 100644 GIT binary patch literal 171962 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 ^?z3F zIr^5jy!k(az&9mj6~j68{~0WcT>XxBPgl{{9BH{aHE#)5rV6Wsik6N*DN@@Gr+sjh@4+J#i1h42`$a#=mQ&PF_gM|Ly*7jgejte1GPhYehQk9XL z_#J#rBg+BCjf;9Vb(Wm04ftF6=Y|<)|NfPx7nmo%qXHhFxrnX1=y!w*B$tvI0MaT9okBm~bec^FFSV^zN zLtRQ$BAZ{^GxM|a$Har^r#xXAU7K#IyD z@iiSA{T3`=!Ju>HXSJx*Duz&JpRV1Sv&7PV)h}7{`HuK}j<@{k>Y1XFGlD}?9iy*~UC%@+$6Xj6~3@VtFd&i1n!=zyS7>%Hb)idIjTbxtgBax`$z0zkv zz!yYQVd6!`8SkcO#q|b!E;{`DkodI_VctjWXHPCj*AHc4FYdYvt=yJ^94U1RMn}r(Yj;9yL zO!RbR;F+X)@UZA^?|`nmOINt&UAm&+%IUlC-Ztq)4qPnH{3ncuQ|ce3d2XphOKjwTc}v#naA zCC;ks6S>3k3sU>LNbBc8pQ1@0L>gPln2UH`-rUYHBP*D9K||VyLzRY(_eI=u%*_?L z)Di-XTb>%a6$t$1zOPW%WA)j%5+|`;X~BvM z3xwbHec?Q>ZDwm@_-C<}*WsYHxe0E>Xm*Mji`%f%B7K)lle)@k* zi+wcTu-&S(6TI^I+VW*xn`S5S$w+Z({B>3fW$VnC;Coi$(l)i8%xGaZleL`-T_SW! zMSQj#;h8b*Tg%Ev>>i5qdzSlDtHlOx;hg9BN^HVEl_LfGKQ|dPPg%cgBcs!M4*y%R zVgb=>Zd=8i61{m!O_x#fo7o2Ev=gU!)@i75PMh4+aE~L(d!oyw$=_W?njQoSXz%R4M0GF3`#%b`-PQU?|mw~8g1kt=?*FFng;IMLw&SEk>Kg9c}R zI^XAs?C@FW>FF<%-=me%?dhP=>AlV1t!9L%=cm(MT|0$>mha!ZT_|PEu?VG2)w%}T z{CTba2)}#l=ymjkVc3*M#mc2~%$Cg){*~8sDQJ~OgQc&PF{iIveGB7c3l0f&%|k!( z4+%who%L}IG`e1xUBkeZ>+^fzX3nXpdZ!v4_!fxuD&C%*yfH9}J*?5?iZJJy+yiZ| zRFziUS*^v{)ZfBv0#_$9GjH-6=HPo{A1r3_rm7IAy`b6dq+ z5p-!P=6m3>C!~FH2Qh;BaM%zH89j4Ntn3S|^?q^(s3&Njz&$-^_^-P0psd}$pecAu)Nv*6phrW)Uu-c4z z4f_?f3pnylNjYazOatE$gbup$Chlx|S`r;JM&BF<{k_f;r0-&M_}|eNuY16J&Ye(%)NL7hicP zRCy}to*{dVg3x5E>>;yL9Hum1G~v<-TI?ORaQ&R$ zk8j#dy&TbS^_D{L;>~_v|M|sTT5X=$v_eDtw1|q|imQ3IcRC(QDA518S46HfNX4Vz z>n4W4hnx!zU1l$X7q_3Pq`ewydx_&Oxf2HHs#R@C9ZSQ!8`)ze=W0~ zB{j=8pMB9B=CIh1nJf(HOr@Rfb1oWuja&XZQpB=XJUli~-+3FQf@eo?Nsj+fW#X}OX<}Yi>LM3Ck%ryLt2n?5 zLywmKik~O5_WIt6)GikORSVsxlpq(38cj#ER%(d&I41~n?=BEkIm+&lJLUL?zNYO3 z{~22TGbp`mn|43eH)Y*^?%@tttWP;&4UImN2ToM0WDq+-%@H+ty_f43LXigpJM=?1?l3sgPP zFf&+Vi7EsCSwG=vPm2VZ%~jdfoX9G--7Hb&zWu}{iOkvC|LLB{$z%A>F!y>EQXk;d z;&RTW6)Qx1oO2GI+jZSjWml2<-PxadL`_byC^{ugS!lpei%5@e*{pB61s5WR_U-!~bSHSbql~ca2uWyl9_h4~Z+6tYCCoA%KKIfOE={$-&lzF;EA+TKM zG+&U6=87jQi(f1jH!Iq+?y8N6P!WTSNTSNhxlyc4mjlubx4W0WN%dYIXT)IgW#;N) zgLgcVX`803x|y6c#q)s3;Wr04J&rFD4l)yLWaK$t-}lPv zXoXFWoFX6`8*2FTi%P%M_u3}+iOxQEmw(K2p20r(+FQRp6L)S=tv5IE`ll7Y`~A+W z(29kkk+&u*JMZ*Pu-suCf;14`Ec1*>V4=l~!v+ivn}jY*KJMY({A1hkPv5>HrYIIT zzH(aSkQL(aOyA(3%;xlhh#f3q_9nmNJz}`8Z?~R$J+1G0N=biByT+6>$@LDg5i=wA zOSk&|Ui9js@UkkC{B^}Fw-4FwJ+ow%u}x8cR+oPZ^B=w|DD}}ER-{C9VX~IEq^85X z7mn9`w^-kf;yh`zXnx>I$Ai23Pg&312`|n*;5iv}VOYNKu0_j^U3=kr(tk}(^^5fz z5>B&bT$sH)pj3r-W80Z`r!00%>b>Zrd^-+yEU!QJT<`!yhJs^g@`40S?iM#bompPG zF27dyJe_B7T5jiKo{g^u6XQWZsis}thD6_RrNHN1Pp?b=I3}5V-6nCGZSi1YNV0RD zTD_*C*58M`?tTFD!IpRmit4Ew{34k7aRFV_$>e}oV+~`6eZzv zv#*z26j>3gk<)O#p={BTzu_lE)nD!NSZN>n$<_1M`bk>;S8FB))vbQgHTi42O33_G zKb1xm4Yweeuqxi!*Jn}Wuh&n0PrctU-^GM`?}Ne_8x1ryXXy6{xYw5#ajKqL^`Akw zQJno>`cv6^b=Q()GzAVCwA~5yC^{O_t}`?#n@~$#ra2vRj>;~aWuTrGGokGL>?IGS z8~a^680!jdb*~kM)l5+%c0(6Nr-yoPw3=U@Ti7;3x9ydD zmpX@^_mnIDO!QSY?w`HGe)jwW*p@jr9?N>7W+rl#Hz@6PPfU+jWU#Gg# zed?C1>^U&)TLfD^56hIxybmJG4wo1I>xCIAxO4Waxyx%sx3y=KD~9!57MbpoCe$OC z;+Ha2;gaSl^8*QevF1izQ!=4{jKZ?t4W94axOAo6gkedNIHIc8OJ0Smdgr0K~vNi z`1i+SE{MLzHRHK~NGs=&!wrh3bfzs?#N2RwCHo`Z^ZV}qWd7o2y7||J1vAT#vOv;mS4M>PKtFaB>03ZDdb%5 zJN@AHI;C2H3wqz1ZL=|N4(K5$N0lsqGisUcpl*|wsX`RZwdMa)YT^4|8}JEnMOB9AZ!-wD@% zYv=UN+)%g~x#F_VW}bWSWGEFD?z@5c@UI2dY7DpKe`&x%zu??Gxr75wY%3mb5&Y75 zY;xkIZp|-KjNTo}mt0xm@<+kidH463R|7JZId%3}JBrSTSUH>NX7lM?2ck;y(zx$U zfUo0z@WAWsmB2%pLaEaK8GP&oYk!G5`K@*}ePS>6BJYsC)Vvo>3oYH>t0RS0i&se1 z!$+4dDD)g)+-AT!WyvoU`DbQk{NMT_w5REDJrumDckJI4a2{zjp26WXt%mh&hEUDthZ~#^hMl|N zQ?9`MH)8(eO4e&r!_v^wuEIS-mUM1imK3n_0b6RSg!ol((os!Fq8u>kH%UtGQP7@h)n+ zz!DR&HSpxO3^v}6H`=vqXUOgpIycj;ib444hlsQBN?gJTcQ3N%uxV(1T^n*OoMBJy z!Mhhd7rV5kUXknyXj)aE-RW^~c|`TxLqBX%MGOR5Igfz0Uh%7+JSOCMu;NvM=srRC z<{HL7j-2b7T0=#dCi=xN$(PGs4$!XjVGg~sdPmNN#pRqcRVPcSDQ;-dxtSz+*->Mr zlK%=j$JRLOpck8(U+^C2JXR8+W*@cxt==2K)hdo6-dkJB-SZE&Mp~H;A0^X1jdpY?~Qc&zPvz8_Y7n zLrv59eQn~`nZ=7EYSUs~T$7KSZe`kjE%jXQ;1?7UIrWjf!{6bV$7YUPzFETcnx%)1 zxukol1T%6)Cn+gP9e!=}+-<|JGdnM?vD>UylFh&7^xPpJDEK*OMTn15EsLc)MQQS;}fxq|Jw_wMRt zF80w&oAqZjIH{7X_!O@PH`Iqel)pXy?l+b_oj>=mr#^SQXkz}UtM~^)U`AulrpFHA z0+&=j-fCX8@~A7HNl!7)BW0G!slw+D95%}8|Kx54UeC-c={W2B?PV{{o@1CWN7LUW zt^Ho^@8*N7Hi7+b&%gW46zB5ietl<;LQv~R!5d90W}aG<#(ChV z%A+3e*yEU)phWGn`#WqntyBY=R_f1a$bR_Z&6SUC_S@}uzu~MD{#<*m|Kg;?R7I07 z2TnJYlx;Y8%Wi_69(T*!(oYA)+*d|Uw(w(Gd}#UvCn4)2jH@T|TDjU9=r7;8=#)>~ z^J|wSvoBvZe<<&6V^-6)ZKI~|)@`!A59e2Jcl1TV3A4>2uj#F5Ew* zdHw;{TG=IB3l{jON`&5Oe|_{N?*SjFn?>(loP4|dy14MKg`XYR?$~|Kzaw9^DkXTg zR#3-8%V$fh8Eu$5omXyJ(yC>0@S)p(h6M`$8Qe=v^cZF>F1^6OzQmi0Wx2{EKOgR; z29~TW?pfdSB1_I1FST3AFHu%2@No9ib?XBzPkG$(WHKf+dK|K5 z6gnQF&Cobs*HQBuhx`Nf-z8y14<5|Y6!A;uJK(U_S6Cr>;p9b$^Vz!QX&nFd{CjPq zzEWM@EmdZQjzr$|8&7X4YEe)+;aMcq`uFB<$CIml(;MdhXNb%%X3r`4>HXd4rT35C z4KfD&S9C2?mWlWIZpw;U@FnhnM4Vg1_5QCb{I}m_-+#fjWx<2C1uG^!bL26e^+oT& zA^RhGO0f?(cRqh3xm#-Pd|K>#%D&y%28w*d))Y z)bOn+n?W|RXJd2KhvFVngO=k3YBBd_A3VW$`@Y75?U8DJinCOt*+UL4H(#uh`CKq- zt#JESVVQ-TYbG|l)Ce&2kyfy6oVF~{b5;AS!~;RBa)Hm^@ZFSt7e7Z@U}4)oIq!Qj z(vIvu>BFTYt-Q&`Nvn}OJ!YRAuwkRE2FloA1_&4>v zHN4)9d!Jd=2Xp))ErW>K)0ABzX`52l*URo0$!_Xaf@h%8)X@s>sD<@w;%3I`Ks znu$=ugku(Vew*?2Ui76{xi(DzH?>Su}=k=OMYsl>y`DaFNptK# zFJZ4ak3sU6kTvR_2F#pMaZ6ju${w0(%$RbDZBfAt=X%G}M@u=>)MaljtPDK*J!sOQ zjqOF%_db4kq4Ra~6t0^GS4zFKRmy#TNTZ>%(TGu9_QX`58aA(n{N4xcr`xuXEw+MS7c94%H=zGykKFSSjL3T7c-hld0U-14;AzMsV}H6LoR4?MQ)sY zsj+DNl${d68a+pEK0M8>)N&w6xk%%mDR0&EeJUSRAGlmk?z;&%MGSH zywl;#X?lS5`Z{5uIWu^oq87a2*>p-&r9*hebIAtf7c2E<6)C0h?XEVt?td!6a~BKC zMUMqeB4*56=ENy1@GOd~TeDnm%Cr9rcmFedYcZPaVRh0q`F$V%=Q7#dwvQ~rlGq-W zRaPpbx~b2-lzFCveK*6cyPc7Fk5W#azgZgjSor?U<^oycrCpKxH8S@e!Y@7p}@rhakyWOQs# z{aUBmeJ^bPHD1hA&zj_Ma*_3|#l`*XiRveOkH3DZdSLMm2bs+UPP&)4G*uiFoeQkl z?)sigece3a%hZLNYS+7+Kg4xq5qr$7(kXx3P9l|ltU{YC7A>Bt!FBXd!0aTJV}gcl zKRUkYgOlqyzd4R9mv(dH&Tw(Qdzv>O>m%D0VW#F%9~OhW_`^J{O-^rn&n0N`35$Hb zFZji`PGUpIm8%}J5_vaD{{48Je>zL>0coYgTMRe5cRuk9>D_RbRp=h?E|Zl-jjcb8;_I#_s2MbRi63#}RVcMGcd&i#e>h;KS(=1ncfw4Srp)7bE(JQ?;n;0EDOJsPTX>*=fJR-GnjnXA+pDQ5e!^3pNFJzGh24#;yrOVM3zw7i zgzi?R`gPWu-{rLH+}&G#c-iD9ofn)lPV=p}*E5TIYs?nViW#;C$L1A^t-5GYA82?= zVAe?qzDcdjA_q4yFGz7HIX6|St~cPbv*)4Y9fC3U=EyWi>BVWUT`*&XT}QFD#j&NP zJsaCUov)rYt*LuWfv?IbHN*A<#kdu+6Fe3-UC5ZYe@ff&B{ve`>y1N@S~X=nDu?=} zEWFNs|3G{_kL{E*QlRsZ;r&OBA+VEOO>RQi`{+#e!_(K_s+@8o?CtHqiKKH&9 zUsKDix9*#N(SrXBe5*^H9<5giE1J8qIBD~gx8Acw=Pb{Pxv}P{b6*8un=#Z) zo~mDej^_r$#X0#bR;4w^3f4_9HxRK(!5^9k3E(QO1`-!$FvmG_|KRhpHd>TCpy}psjzLeeZVQJ z7}jL}JC`I6>}%*XY}oyHp&Vi*+XRwlq-i=8N=!*jZd<^&?qi?%PW3mck}f4@Q#O@uva|gl zfB)nSG1rOSWz)pDpWVpwKawH2zoTZ|o+meacSujX_C2WdsPxiP(`NN?KD%`h(UxXP z%lA<8aVrqIXXu`z^y0y5`#+j1jKwGOFes~S@jvRa(Qw8#gS;gX(n}`YP`~N1-SAsl z`+3jn>LM2`PfWaWiJ{RgxASM>_t|w1-f(O-&lLS!tEwR7D)2{bHVens{ulx4WzU$4 z5*rq2i5ks*JxjBK{o)3LSxfdgPvMciP^7&)S9QX5BR($I87#GlPk7mjs;bm+DW(6;ou zvU6kPsj{VKyUqn~)yoMhn!B+$k?pAE6)hJg#wn6#jB{Ur8v1R562H8>OZsDdU4CVr zSaN&eW+wH?eJh!FIXL=df4IA;OXiJ8fN&u5ci}f}*IG8~Xn$>JV9I^|j!Vhd_l3U3 z0m#M=iD|#)&HoV)@Jb=@U7C!H%-zP`FLPGb|0_s?q)fh#;_JgLG=eU~ItbnW;*|c& zFNn*PaStpdGkg?3Kh1)nm31nkKFi&f1qG6QEAv$UGnBr|d=ylt*s#=L@hO|57b|9Y zbr?*($Z{^=KxuFN1ZJmV4iU3s>WU2qw=v)1z4j~poe%GA5rfXNyfY^Kn6L|c(0G^8 zDb>rWU%k)%sGj(6@5@$|rM+Lznw&hpX~q+|f(w(LELlH;+vfg^#|Fhkhj=evQF8Fv zeLy&4!$j%+k3zE^_Uf=_PSkM6}(p)03r20)^R*sJv9L3=UCe2-wWe)`Z*!KPb+` zTolQ`G`mE7j^&QTnZW|WYN=cca(NZy5;=C5{kj=?ZsIPLeVNC1&ElH0{oWe$aJIwC zZha}!GM|;Ma(R1j%JL@e&R<_QuH!!6R&et_gL$>r%7!!Q3ezf*_?ez?SgT&)y>q7e zqumijWg~-mo@v#KkF#ExQPxm@&O?)fAxK1xfwuwLz&jIgdCBere)T_7_g>^>*4nki zRp}w<=C9-{f95GwTD@W~TK|<{`w{cKA4=H+oGwXjTNE(;=@G|t??uT04pxqcK**$e56xTWn-UvR-?v0F2!ZM5Bckwc)KpIyQ2}kpkZEz z$mX-}B=R+s0)1AsEx3E4;fx~R{FQZ2Vm0dpw=uV|ue&Gnse5wQJO4t{&ppXm5wleg zgi=`^kN)l1-d1j0t}=@6Tc3pXR{Up(YWZDzq54NsSir1x+YRFG?&X*Ho^7%Cg$7$- z+a~Q$o&d$Jhp$>>9hrW5+TCoQ?D+cSmy^qvd~EwznYdwveBA3FttD?9;8!i{Tbn*2JPPx;Q82F#zrHR+4MGSe{JXvO|sB^YB{cN9( z)W9@Z{_IqVn|$T=cf7)-8)ht6bX4h3{K5MBCKgl9FwIt0(G;tH#`Ey3iJy6sV5aJs zg&q#R=`05;@@HSPx!`g_SY)9Klj>qVLErp8OD{}1V!z`4(i>}zo=o?3*ki3K+sIL_ zv`_Nh$*h>=axZ4fKl`3J`J#_c*s3|#Be%JzEt2^o@b-3t$b?d-Co|rhwVOSSXHmOW z<`i{di8O}Rxkmo~q`H;{x;p6dO73zJcyh2s*x-}P*8dEbe}55UxEUDv=J=-Y)57xv zJ~GeVGTUqFykFh>ha4JmJB8$p1YP5YjXI6oHA}S_njnQ^|^a_ zlHN3fhr-eiO*B?+RneG{*3Q3lYEapaPyydb&n_wXcB$OF->H)lY0`7U*Lvy2OA`)m z3e@BCogpmYu$23e@O=$Vo5x(|JLa5-PRb11$I{RK^SWXdR zG|HG(rFv8H8N!JU3Wv}D8mL(JQl*=*+OoYG;q;b>~) z%k)NXef(_hD$8Cl5@=q4{c&L==*ozfO%Nllq;#t zYa1iG&8~>97U61A+#s#IO?mUpuaS?{-@ln=b?L}P*I;9JuE=@rjU3-6e+H1vr5ik-f{6Ww+F9)|XL39n0#Y%WUR(w)TU^9q4ev{fpZsT7R=S>_=VM{Q zjTIuL&Mn98%W@`ed>_lTmiM8dpUf-{wSYO&0haAqotkBSsaviYNFFj*UTpgCVEyDR zb5|en+Qojz+2OCW&Z(e6_Z^?)P1!k4DLV(2;`d-Ws3-#t>?CMDjBxTbY>bFDffVs(mDFfiFq zLE4dBRat0)ug4B2q{!&W3IJU?jGihSyR=rV^0=otO+eU})9Y=_N_DTyd%Kqf7)X7& ze#&}6`1!f3wQSWEx-Mf{{%DFm+rQ@PhgW&ps`obR+0c09m~4N{3gxzce4e{mXLqey zSfVSvNNrKkdmi>!FQLUNH^k0i+@HfAbxLS)m~h)qPxmuu^OL7wA{dxYXV(c#*;Hv-=Cm z+BWT(u~FLVZK=|-g$}pObpmu6oOT}cId`(?{_S@Edu#ZfrZ-!injR!SWq*p!ekEC> zy#kANr>+-FxPL=JWY&o#DLb38celG3a_%#vuTYBP5$4ji{xk3%WC&_G z%6)+G7IKfK_Q%tWqB~?$dS+-a+DabgF;8%g)hj=<=H>9-;7g0rT@6DN%i3~mCOiwN+8=kSkEvq?>!Og;KfGl3-r2F}d$867 zl}S#q8T$TbPuZ^Y7fJqI{CnSl=@aeE8{S|G?FxnEU50;m{=J{zePaIX17(O&>r3-z zYhHwmJqy5!<{+PEirY>ZyP0fVaBLJ~gu#(hI*S^&B>RKse3-rJa+bR!m0U4O-WE8^ zaOqmMQA~aqfTug;{~uw{5nyCsWMW}qWo2Y!WB>t1K?X%b$G{JXg^dRVCN8}AQNbV} zVWUIA!~eG!I2aij80{7L_j8wNUq80`ap=cYKd#nf?K6#+THhN!2n2$+Y|?xFVRha0 zUv@8^GPf7h2Mr##;SVFHY2LYc75_Gz4EwwOOYObQzuI?XM$fZfV-&hS`>%ZYntu!5 zNrgS{e|nQ`>oSSQ!abhPBlrWVubE%;`(oMUe)^`}-KMLK`{hz@Ty?Hd3R0ebGxZRI zS}?Q4%qJ#qbatgYoLv3!!;D{3^KboUaKHQ7zW1hGLW|cr$B6m>>ubuFqT(z|nACXo zeOAvmT~HXoSMpfA>6}DLpWXe8(g1}C6O4K0FNg`7*cQK3x>M zxh+0s%`|m?iDn6r{E2FFb>}Voap#yol)_b(*$s)`Hf-3~;GnoaDLgY{ zH7CbIzR$CNn?@5?_ zS)%T|?wW-CQ-vl@T)3F|y|m0KiSwp%jtfiEYe?^_oT!nEn$0 z)_hs>;`4C{ITcx(v?9k&ow<5*+*_0Lw)YoY+HO;S;?#eJ-LrSH?iF=NdigoDHIak8 zmi<+=z~!5}PW{l|(k!yB$fxk3v&wYM&ee&ty`M*j8t;1i?nsYUE>rwdW+C6J{C9lf zjl#}PX^!xDrSAAfk>`c*RC$&~2PNEg$|fxSB*-ZoFRiO|wfx2Bs~4F&^@Z(O3mBH3 z61e%?X~l+f3tzF?`mUa0e*qk+jv|dbR}WvB)nnuz zAoFZdY|4ecdHI+57niU3Yk!ix=4?&G+B1KbU(>iXJN3>+$$xhnI0QaVnc5_&_%0#$ z+o#)KYRfl?Gpf2w=df}4b^czC;!*QRnJ~UBLXW5HUox3zNtpg*o%)}}!6BKCrtS*( zJlCc|c4womr-HcW{lhP8ZI6j7RB5sZM0}XL)VZ(mXoAI7iDRTxT;rL>=U?gn8B9`>zC1kk zgIBBh>w>2f57?dV-X(GRr1Gq&E6s~I93FdpNt$x2)?k7xx1mG8@5$G!M0YkWwPcx{ zGa-0}od0g|wan`2(>7F9=-0p9P&Ki|Yp=FhmEs1g&Pu;JNskSilD>Qi)_&skwtML> z-Ws7JEP5Z!!VfL`Sh6j#Y~Csvg`3Bkx1=m#;@;hH7K(4y=oT(*3p+>Tegj4JOQOgZ9r(Z1!g z@>B~8b++g1iw~Et`77Nf9B8I@GPq``&o%adr3T7b}UXg#m?k>V)d4Dq9;q| zuPuEeEhMMP*0c1W_n(zh*t;rz+Rf8CA7gmK$X_f@x!qq;P5MsD&wa}6K4%`ENZ`qp zcRQzj<+XrQ@PjiT=L#jI@3LW?ET1^>nb6Ho0@<8%6S)Ih8J|8d@}4bTDdQ$L#UV(V zHBstl--f^+IxU^+TaTyB4#{61^jgmI@h@l=Q_`7j zblhe`#?);BLR~i^B3{g2QSk6^yO7B16dm1&v-}sdHt{*cO-r87WuC~sM)oVS(CmJp z=N)m=J_H_V=2y(~6FX@+@$$+g0``|$R=RZdZJ20zUi^YA%ZI$e4>G&7+Loqp|8!Y6 zIacX>L-8zLDQ-oR{Vtp(d-z{zJ-XB@#4ni0DZ`a7`r>y%K%nn6=dOd-HkzmE-J6s+ zrC+8<&EY@8r)MQ$JHn50mn?j4RS~cF#JF;4V&Qa^U*|hlN9njLFJGl4%wTwak36U2 z6!GrUJf^Nm%U=uIDV_TKA+>kcJ=?=xcRv1SP}aQFX`!_*f2rWd<1X
ttHYdo4@ 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 AnE(I) literal 61028 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 diff --git a/doc/src/Eqs/fix_langevin_spin_sLLG.jpg b/doc/src/Eqs/fix_langevin_spin_sLLG.jpg index a82c068fb7791b7678f85112f710b7de9534cfd7..dd0f08f8c223430c2bf7d006913551cd423522fe 100644 GIT binary patch literal 25663 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

    8&_tU$$w%_NBq9KbdQIKj$rf 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 oeW9LJkVxJhskmiwK7yNGojqf;K;b09QDZ>;M1& literal 8079 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 FO#s^z3*G<# diff --git a/doc/src/Eqs/force_spin_zeeman.jpg b/doc/src/Eqs/force_spin_zeeman.jpg index 51081df0015e6203c0a85ffed743f0e93d5b1f4c..424460970b13da25a6ab3e11c7db5d34c72dd395 100644 GIT binary patch literal 20886 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 awnzUCDCy2zqUdoZSmE|t)Z`)m|0V!jjN9G- diff --git a/doc/src/Eqs/pair_spin_exchange_forces.jpg b/doc/src/Eqs/pair_spin_exchange_forces.jpg index 9033ba14e94b9a48e4bd70758f18e9b5f41adab6..34ea12348bfa024222971439de8627f06b9292e4 100644 GIT binary patch literal 43983 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\Us;w)*kKV`q9UBjN>vk!sx`xQj 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

    h4;8J&YSSK{O^zMe$x6{|nQl4?5Z}#HCEO(b+ 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 literal 13642 zcmex=}gK4B*CYpum<`FpBXR;u^zzgV|o z-HZD-nuSaES*mFPk;Hgr+ucSXkqbfNAnrm>w>IqG$=T%`?&Gn4AG}`SJ!ZTG~Q&eHB&u1 zZ7y5Kz4isib*>$$*|#z4>Z5CJ%RjMs`84EY&fc}uVu{5%>5T@W4N3ayd5_vcPIX`W zeXDcQqOfVa=XQur3NfkRzF7R#EM{ImZ_E4(h2KBlP4DqsCj9qohNH{MkpA~#1{`h; z56;lYpv69ASz6s%3BNFoHsAgSag0ho9%OFQF4`7iQ?hrR;uF1-GdUvN=9Tts zo4Qlu+9vBs?-fuK1rGRk&TVvE&CsdtHtc>KGr9b(&yMNz`EmR z=dYXY(JotWi+of2raW!i!HcqmD<8BsUJ2oUBJ1$A`i9?%iZqS28LP!+2`p{>aqnm( z?*iX%hdl&k)}-#b6~0ezlmGfNvwVW$ZWfk5UeNvVw9=v1_s&?y=Q-xzVt=KhW1T7* zI`_zbhW?M)+Rx73z0tcv#QE@x+28HC_RYDRo^j!?p>jaot>#{z%*j5P*Ecp>9L!B} z^$5xLHP~lx*HO7yf0Z)Ny-9nr9d>c>Ob%75e&}9u^4PLVh6Pe`7fg7W9WI#2)oj=h z!Vxm%#fvF5Ix0GKPc|Gmvgz55f)JmOqFufRIW;wTkIX0)asCo2@bp&9om<}BvEi{| zJ})noDd*(9`_hu|=j)LdKXU&%tdF`U+_BgDKSO4Y+02ABQ_Ih?Ot#+Eckf!`M(5U> z+v*O?-W|DV`I_}SlM5bva=3dmx3ccyhQ6maD!*=5{ZnOmXQ9Q9nP+x2UIves(rk|McBG8T&i#h&($|DcpQXVrjKPR`cKP zo5@S0D;fIa8ypOILL{Unc)wWVC-tVMnRCtLM>*;e8NVGanDDaC->D-ivr%}tqN@C& z?Y0V&)VRZoi(|u+GD3Mmro4){Fh}xInaacouAJP4hLe5$w;CN!2=STHUS{s=D!OFH z!VpXM^WnlbV!l}(>zRJ)eAMo+ea6og#`T<3mOK4S@$mD<^G_TQKI#-^d&FZ^+wE_& zU;by{fBuK_KZDpgofCzJ?r-5`pD(2&YO-!}fsB`3WFSw&2EW(^SI?HdEeTqnw0c7D z!j;CWo}B94;2@S`;Up93yLW9~U z3OqPR(IPsg~E|aBL$YTll)hcmO!JMb8{JA5h=HCqV=?vW* zxHCODOl&`TL7O4P*4)2S{^XjPb&Okz4cZSVo62x~;kusnyt;nfk&maIYPHDhjO)C7 z;Kt1SD#z-4<8?7}XT2~oV{gs!^y~covdN|ML>BV~urbT-pIp;szbGbmwuIp~4%ghazBcoBPTp=Dxraf< zfNOzf151T{|JKcUcKMOCh5d;S;_anBoG&YdyG^VMP;+|b=fj#iG5N*Dh#qs147bxC zrcRkRIWc<^tLqYpaHdMWsmWJj^yY1`{^oeV?nTHCWt-zH7ca#7u>O8MX-$K}$L|7l zr&JGq+F&lcZQd21=a*Sb3-@jgkPJAm{lx7WvHhuc-${3GifHbbYN3#NS3)c-^2~X+`&-Mzxy`k!HgZT%a52FcwY7S4Zo zSoyeJ7E7C1%FFohM%%-cT%fnEUqBX|p)`Hc#+( zShDf^MhU*hj&d69DM=fqz7245w68rqlR% znM-Uncg+3~->(|6yoZa0@tWffqct}x?9B}O9QU5c@x0k{Y4s=WrcKhby}7%sZ&xIL zc>6x}5(96P;FKF}`dLR?)Wt+S7vELf%;oUApED;m^iJMKPjAVCJEbS*+>hn8E)Q9h zw8YHb$K7Env&6n9Z|}qfi{EaUz;b)~YMHM~rz%b}nQ~}V@@X^HvlTwlg^w97ewZ<1 zg}{mn8X6aVM0iB}HJDLQFxRx;!HO9xo|a@4K3ur)RmFu@8tpGuDIQt9Y}x8gv0dwS z>0}rr=eXUtb?YU+BPfS8_iy|p$}&eQqG@{^=hw*18=6=68p#|_ZEc=v&b3R&{pGJ? z)0B^V4=sDXMAqzS)7ILMLmPG1RONWOKlqzmt8(Xht|#BY1!wv7x4Oo3e-dw&(Y$(8 zp|O85`{Pg6C#Eht+S)5xc+Nn}e+^?8r|!(ddRs55{`hTp+}|R$HBzAHMq^EARbyq- z>6tq=7>eZO~Z1ZE4@qrbFRcZ)X}TS>?*5k>jNQVefH1_2m7MG4ZLK8`$UVF8t3R ze`{x#)RkDKO-ZsxcAUG~Vr+KA_A6J_jalcFBt%zgCfxXAt@OdQuguqPz2J>#9-f;g zmWZt7t3T?mHC@3x7KLW+XM&ui+~MTM;HL zu(&1usnVz8J^Q>j=uZ(Sp7`~Vx_%7zJgZ81);(sT5$hvDk9>8Tyz#i&xzzK~ks7-o0HldF*D9Fcu;j2q`Dr%nHJCGHax>hhH_xHyr?x}nK)*kSD7#g$TiHyU? zg7Tx6HoVQro|(h5s>Sv7Dh0;et6!}wg(k2>_CPcU!>;GZ>|4(R>VD{!H4nw#9ka|90@{WWu4&ynpqOZwR6Zvi!w0{CU>AMc*v z=T?03`k$^mk<{PyJ$F>YCf5CD@b6CUc-ZK5W>Vq0HOk)<|1+#+HsauVwS2l@1j9R% z1C4BD!iF(y+?szw0uG(OUg0)5`k9~W^Vk%=7r#!5{_2c!El!bHwC=+JR}smL+ccUz zUBZ&y+_q2fy}M{@>dh@Pcvd&@$E`f}`i&-I$mxZK3l_-up1kug^67sDtF>zmPk;IT zcg@S_MoHFLFOBYG9(?+$TeOJrrE`~wUrgsO{gBt6Re#TIoZT#)&28X(ta)RL%AVp# zkqF*@O-acHs{a`nK6Bi3ywjS}%+h~PhizW{^wp1^%~`NC;rX+o%|d}1J-PhF>(>h} zVCeqcQ@=M8Kh zr%(RRaAntI`*}BC*-uz>`Vc#Bm8?{F$Kx+%79S>LhMFn-6@Deg>%F)}rJyNfvTOU* zl@tGZbV_R75_N3TPBn3zs+u!l(S@zgCMQPpvFy#Xx|#ju*NOOTmD-|9QY`kf$i6QZ zeZ1xFmmQlyJe9*M7RfJK(XMyt*|SSAQLlEr*p%)! zd82f4dHE8Hf5$?T`yY4o#l`FrfAHf}!Twm2_Pe>-KUO*Tv*aF?ow8%^-mU4iE_=LB z*KElWO-)R@s(QR)_xgpC<2RP>zZ}2d56iN=hjm_}5loMl#Xe^KacfCkVCsURz+Wq~ zM8mocZd|o|j(36$S7dcQPo3=Ex3V#-X9}9VUVP)uRmXdiFRC3=yY|8JFQ`8NO6!H6 zwtvcyJhkxnVKIRpmwW%%T~YOJy7NB&;KtPJD&LsZO_DiJ-@oy4#TEtO6}EDUlhn5+ ze$m<>dRtX{`Ld1D>}Ff!_zo`UkZHWTn#G`6=f=7%QU4j##617hXYAz+SgX}|dV^d4 zqLwvxL=Iiw$j#c@{qNxPVZ(EvX|b`ALlBzDCgFW+qRAY@;PCQs}1XWcoM3j zAK&^TuU({A7k4^g$3BUN#y$rlZrk5A@VoY#P3IH0;n$x`9<^e@ud2MO98WE>nEPgl z+191|616L=*lg;%_;)Bz3}!q2?mxq&`|=+pSv#HXKVv-jpJ8^k_V&e3uioUWX+Hjm zq51gh;C;uVyyDA4{I0L>S=nv>;>Pxye0HVZbyj9}ZQ?MDZTV?G!6>}*&ytfO*^*Ad z{VXrk!wiy2yA3lAo^&=lBlc$Pk*>Pq3K#WSA1vMWW3oWQ0ll?h1wv*aIq$iA|1!P5 zJhQE-Xnmo|E6y7~MEB*ZznEL`VrjYvYqzEU(Oj|Qv!_pe{9rq&+Edkq`@p2C-EKAk zk*QM;MN7{OUV7_YNU8g#39>bv8`cO|$7*{^W`8WpZa%%&YnPId%o6L2U;pMObbP+< zWEK|K!MjJL&L{iQd#UxCKkllO7Av>s5_@;=KSMwepYwl)*8dDUl=~L5+P{^*sx1HM zDeJUF_n$sICg0Mn<-SPr>P@yi^(TxN>QCrQ-gi9pRKm9eXSV!jczu8SJ??!u zCXIrpjzzCsTK(v?%CA2smmF1nJ6*iaietabCLO)KZw_z$_C)OOg1SYA4sQz#jlARk z<3EGgrhPeg?{?g7^sv9x_h9kgqW=urat{Az=-SEIh1VRVhZ8O*%WmLtzjo?s)&;5V{8gFCjEm0d3&yowfB*hk z@L!LU+2tMU-H(4;^IrR~NsRE9ok5nr&!1dYZFu}uOfB=D{3m&S0+S}>1nUQy>H3tE zKat$D$}m#ca&}7HLmd#Z({tb6I7wn44A7*fz1JGfvGP4@_r_ZGW6+_%w>ND=#kWmVWl1=H z#`n*w!#OQS^79P@<-W(C;rce|lKabv{dG%Th}H9*+W+)=Wze71+bfzAn0H_JEg4yp z!ulk6p8Ngm!#0+c$Ls2r8F1zE?kRrM@pFe?K>vkFPqwRvoZC}!=;1GS?RKT_o|~c! z(^NDMzvxO+f2NhOP*0h2%`eYwY#SSdyLK*U%;eLWH)?0^-k-cf^5OHanWy%gx8J^A zPxNT>V^fBh{^LiCWmg(*)8$&Ly?OuI0vTtnS@RxbJ;`5Fchh2Z3CE=S`8ThM@^>w~#u_eqby3l~Z|1Fy+jBISz1KGIXRnsbx^J4GTRUaH z5yLmFIsJ!cCDY&*Xo;!v{0Sx9fysI>1(##~XQ#kYmb z*cjbfnljtlw3xkbu{AC@E^hxVn!V=0hYd51Pu2K6+2HySHp~8sT~f@xT$WKxJI*=<$A~$W81T@cR>)#-3-deoXB%qW< zrqS)1kA;NA$tfO}qNN^1i-h?vH-Eigo9MQ*2R($({%`ttu@qt`ZZw451ABBDEx$NZ%MY ztq3jmShYDV8B?krnLr0CU%ks*tK_wA%etv*JTGp4-2T06SM!AoW2er?ruPr?79Upn zD68jq#xEj8xw%BWEZOC|)JEA;yN_{iTCRQW(Z}vd$CS3G%#?eeR5(4%y~@aYz2XGR zZDvB%rVR%gZ+x-!yd>P*>?51`AYVR_K~i@6C!?3g4y32-ixYgmspGae>-ls>yDw*N zCq0gS?OhS}hO2d|(-qBb8>f^DuNQALQnKoPoO^rc@~4T<|2@32F!*=tIR{4PHSDi* zUrhe$x3h>dHRABPJEF(78MwL54L^2o^{SnduQ}!jtyWwu+`U^kZC7E)sSIeY3NyL9Rl%3LA zb*e&M`O&rTL#$%||Mj=Co;mv3E+KG9qmBir10|IeBom;Wu>}E3$TeGe1i8-k-b;>lB47d9nJ>6eA^UU|@Sjp?{l$V!(*&)jq z-F&j-=UrhDpX>T>Pq0_d&tIQeBs||=z*F|#yhB~#wPCwHMK)~G_^T0CRQ}p#irf87 zF}c?#2G=lgb*;8=jF1uj&meC7>|vDmpVHZZXTPPI>4t~z-y(ZWTh8RwCzZu|2iy)n zp5PR}gZ-sme(18G>~F^$hNr6aN{m zd)55-@HByc#>AU~6+su=uZr1e?H7G#+hJ0?!~ae41nq3Ql=a=e{w7Y5+2p5fwAd)b z#yj~~Y4P8wb>;Iveq5}nUvyfXUC-dg+Q^=OB$LfmOP$lo!!(~oGIsrESR@uL$LMwM zM{!!IjrT(@;r%*(Hze8CZ_sY~nl8IMYm&;c%1?CxoBV%X?@c=Ft$ z->+26>Vee7Ta&Jp{rz?RV#@LLdQ(5Az4d%CP3Av?b^Y|u4-Z^;G5=E&%dh_oQ``<` zb(DYK-CDGKw z<<;l3Co_iMF;*7YS*xY+^07UK`yswyufT#wOj9n}`A<_4J$p*bFR`)bh^|>t|M8x> z5*9-@E9(sV@cr93bjyUdZLmGLTTPq*uQ7H*~a31^3N(C{IV-* zjktU`>5@&&@tum1lP}%k^4qq_f0x<%!ZnOK7Th_}mJyaa4q5dY=6I=WvXkpW#{IbS)!h<@lWpy5j#Cdf)aRaCvKdF=%SSrP%V;pZDzNZqQS_v12;h zLKZv!M~$D3>pADG*tYh&Q~YP2(_!jAR-8MgUA477&(6C4X`OuBrQkjrM-|((-xV$< zo7aZTXxqTdW$&$=bG7>Gyfo!JS*k9@7JYRkH(NlX*{+XT}CC(NhmU@`SCC}vJpCmIqsSvlRE_e6Jm%m}><+y*9 zYvDORorBEPb3zy0yK(looP@%rnB}MDuIj00q}? zsPM2*ZZ@3>%joPC20mOa$-{g^+Y!sdbeDRaO4!#l0Ywh2DY zm?P$xsG)gi+b4xtmET#m?JwNquoZ^ttf5zl+E$-kI;LW z5UobTMV?(34OWUYMRR{{R8`ZQ6@L6zYo2RRO!*atpZ3$%&be}%Q9`fiw4Ua_XBSQO zIox{8tS-)W{K>_I?#uzxE3K{_+3eFDDs+jFImrI%jin*ij@_AmqA^7?&TEHLjJqv| z;vD^XH@0j@nI71{H2omo{_eMLHYWZ(bTmWeYC;loT2?-TRHe&u|0Q9sli$DmQFf|M zC+O?yK%Kcp5!_Gy&Sq@vkzTY$U3clfLtS$|-~B6X>Sc9xYSiWW0u{E@{|r_C84BFF zA27)87kgA@|4DaBC1dcv@CO>xcb$lr5>>aid%ZnOv@&?xu7vQORv%@<#ee0MmF1TU z-MO{zHTS+8zPZy^OD1Jq(_embDfef^tCzEnWZsZlXT4iy(^|o#ACh8!5^ zeq_EW`SPT)b7#}{Z{^DS_uM0h|I3Hx@&6fitp3k%B~PyY@3yA+hhf@9K7E<@r={s@ z$Is=~X8pV3tS zcke+7&y~k_tj+vB7It}kKf&^oP04_BHrJ}J?olcoLfL-r=I!dpomRB=#FgN`DPac! z5A_!Bn`AUeS*AC%AR)v>J(Z;?huiAH89{$pncW66_FTQo8=n5_{;!tgUn^`gvK~x7 z)Y!h~uW2{?0XEM&M`VI$ANo3db6ws)`^S&jg|;>AF}^XiH~q|Nf5A;NF9_DIx1RK- zHRywX*rrFHCw_FjFVXzkz%wMrkZb9)!}XJ%n%OWPKf0)l&q_!-Kq&Yj)5~L<#XAn2 zF}`{F)e6t$&L6~D7TO$H|Kgqo?>o)oen&*R9nB_--{HAf`Xl4D=+;Ljum3Y-%)P`H zc5S+04NrNU#}EJ60&W{rKT2sDX&(DMKW)wZyRF>G#Vd@PzpYjJ&mjIWd7@6nr}-9t z%Afw$y;zrh(E38<6Wt#r6dMC->zCWZRc z<4yfvO#eMA=KtrIp}@r5-M{6thSA)stsYy_=cHV-{w;sU+du7-m+`}YOOh^Y-mpK@ zBcc5I6Tf_dKuAEnnAYxh`}KESD%Xnb42xE*zhQXv80W|JZ{-gyNniT+;zPUB|31g~ z#H)V2KD{FUpN@gwZ~OGmo7R8gyL!iZ{k#3v53c<&SjAT}<7wE;!f*eQ8j6lI+`Bvf z)UVkZsuOxkBW_1@bv?X#BktmLmkF;n{+2Xu|8^+;h)&UA-`lfxJ$cm6&-uK+chJ1f9Af%&vxtw=6_nP>eH^E z#r|8*Mx=h>`tQaw>OXNi+J8vy?h$?*f6Knr-9d|{}Yig z_gmfh=c(~eWLNJfkH1@2esJxN#0bgN+oxHqKFi9k;B`mr1kZ^`1B(Nz4zOOW;wrjb z{>A9XdTp<{Nv3`)UEB&d1aJIj*k)%Pzv=kN-4{+@-E{tx=60Qb+luRUe~o3-u#i6B zt}h=UDPXP6#liLIuwo2P%!X5uDLk@m)Bdn)r!Q(+7wR8)-L>q( z_WXSI)$hsvMC&q-DPZW>*4wfkQDGf4Y;+M)H61+Gye_65rwt`4kwG|5?;M)DqhG zPRTX=s{QVO^FQkCpC9fk-AjBT@t>if`>pN!UEo&siu?riP<^H@WDf?+_m>s3mL7x zmH4XSvhG`jBlr0okG%gE7L)m(;RQ4Ae}-?bc3w#BtZZ0)WnSg;M7`h-nv;M2oRRNy z|J<6HhuOl;T{^RvnX~ZW+-sS(HZuQ`>)+jvZ~NVS<)8bj^O--M=5MIYd?tUow*Kkf`-f|m|CH}5 zyZ8O~{8JZ7cv%Z#9&!duS3OkIu&|H)h?cbGPm9lUU(TNOTI%C>jTOFuns&BNB<4rt zhx%mCnIAg4BtY%SgdLBi!#$2MZ3?eUGSS#p8K;y zw{CY{602XZh9}|iy9dk`Mf)e-X;1jAtv2uPQ;~(s#CBWX4oq(2XBWG6GIS-=v95Q| z|14wHKHPeDC!gb&P6jXKO+VIcbThH^);P0qlUV(NGki%8q;K<8R<)mt(|>&bdBJbS zdd2eTGwyHau`XAh#N6!F*wA~Y`(W$|3jJ#sTz-uG+! z*>?7)ZYIkYWm zQvVrd{9)gg@i@1F&4jt)ssDN1sc#ltcw{wSt=(C{!g_nn=TD4LCnuOSa_VTC*c0Z))SjPpmJ?=bZS-3fc0Oi# zxYrV8N5dBmkG`y3$J?P?Gx5W;4?o+z?#@=0@swEH{eCgSyGuDLo$Ma&AOC!PZa(op z!K(-SD%j@OR~~Nk>kbKjGRu+0S67 zY4MU?S*ANjC-1Y%5OUwW+b2TCS-QS#*D2EjU(cO;9^!dd(Z~K~;e*A0dFyx1IsBht zLKJBD+4$q;EG4pD(`pfmzke4#ZK&+7J0EOZL-UaI`fkXoDv(} z6}(z}C+FMwZn?u*BDXm%9bzbc+_JoKU->aB3wz$$2TN1af9Z6a&rM!Z^6)z2jK}>~ z-bTi1FVkIH(s+#R(Z8Q{-%rl|DD>)aRmSSaJER{p-WHl2DZ(G0C0swdz0Ch{yOgEU zha+XHYQ?Ta@L!vqxBX5_@>kPCN{ha2%zvkGz^y0b?1pL8jYrkCZDd;?E$+m-Znsvp z)5bNH4Z&WvE-sQyC+?g-Z>oR$%&Nq7o*SC^U8g2L>EM|j?siyj>rOV$l%L7>s&+1H zSKLuPCF0bcW3M)TY%L5)E{i&j6}x+vk7ccKrJ5f{8%0mO)Fn%A6hflS0#3xaKq;5@)%* z)tYbCt{uyEolHA_V=2!mmBIu|^{@wbJAVJPWGiqie{~oYfBEFaNo68U8t`vg^!y)~*A};W4r8k(?Y`|3JZ>^75?i zJG5JA$D6(L_Jm#z*1A6VeU{<`=M{VR^m%#9eKIZNElISUJJG89RFji)z#EB!$5(BZ zE3(%9Y|wQ6j%4Zd9PXLV-a9D<9=zS~#aCt3EtfJAy;T}!R*Agpubx(9J@B&hyWg8; z@trs74x7%+wJsA-*z`mFA9w*!bMpTlkv!DAmEoi7bYtxgcQzd}{`Irh z`d4-PCZ?@D?vqbRTTX8bOaAS{)WpWTUMWBMX!0?>@TSt$ZrP7=eDl~?dD`Z05oMnD zXR^sE|)Vg`k$GT*-fiL+cghNPa42|Mo1)%;rXHM1Oqbm2TPw`(!!+pXqUE-_xu zfBAKjkA?q}b~UyuFZWE{oe<8TAL%B|eB-!B?QWgO=$)nq`y$yUxwdby3OTw?b@qf+ z=Q8j5=4urs3Y1FZlsnFoD}K4AxMwx5MMBIpfw0@pw3{YAo+-WXVr$O!>orx$vHdgV z-=7iVDV01)-9ysPB0KO*n)SSWHyLe;S|ZkZo_+O7CAMFPt$hnGTSnb0wbGt-RxJjF zMRs=86KWZ`iuF-E)uL?`zUOuI+LpWA{nX)}5^T zGvrsSU;nOr+qQDyfA*&~ZVA3D^uVjh23 z*-`HDe*3Yml{pz5nrEE5+18nDTk3X0f!j<*MsHbfd1RG#YO<%)hCLZ`qEZihol*ML z;^mE|jTvf}l72VN(%a7~o3w3@+uZuM!n+(#-MaKlzp?NANqNrCNgUT$_9?rnxmw&W zesgv9?+puc@=DnqE;zAWmy)Tnm)Sj&?fs#egnWyq{5N@HWQ~Frs7+Hfy=Ki&P_|^Y zi{j!9D=Zb{Rzz{~GmA-t-xJkmEz@UZ)N^M$gxk5gf1?3NKUla(8KD=I0SVwNdN-bWkmCLk6b}my{ zwt7p4$RY28FJ%wk7Fx}2EPeG)>Vszviksr4Ebc}necIH1P^#je?EcNpxvA5F-{(oY z*OlGcVVY^CKL4Vy;N0Ilr}m|ONscVlo9)hhEdFG7{_Mun(lc1jy^e|5 zEGn~+rNVY`@O7T0+)*xK(n1_+>n}h4p2zoK*7_d@&uO=bif^fUcbF-aS)%1X19Y)5 zQjCGJNB;&tkHX_iHM|ZcsNP`cVJu%~v486Ja*^j5JbkgQyKY8pd$CPR@A#kQgMc$E39D)<>z*{|sCFUb1Uv zd(YU%X1!mfM*VDua)i*2UXht1k896w4$FUcsCDDcE0PaSo$+|Gll#m`c4Y~*Ir67p z^(;QbzfA62=Y&YxkbRL4nYoM=Q!~R(%;45*PPox8p>&LUWm>#?;AT(BwjAvTWD>hl?#Ksr>esgI6O7f94~XnKvodp@$-gB&G4Is`ZwPg# z$$q}%9TRxGr;J}wbA>XuOyquE&daASUH>Td_eT7;Q0-fJcM40?gZk=^hh@9g*D;uU zxgoBszaz9VC4Q~y$rZg0vkmPWWg9*0&8`K#=-b=u`*3-!@-m@?lbjY!(k+o=X5A1i zQ}N=sz?t}?AI^)$cl}#B_w3nuPojml72fTMFzk%-Rf@Qfy=P@Z=UU7ej5S@vHr5oESEcp*H2$LxfUP12dS%*B8{?J7@O6fsgxh=<*2?k83+CD;*ASJ_+u- z&+C|G(Ji*3zv|KBCr1@-xLR$K*v{&HVRqfSNRC`#LBod^Epl*dw{HBXiA{V{HGF_dgWy3E6r4VX(lv&inbjqCqz<3Ixw+7vqh|&GmvTAGV0~ zm3p`7OW3JnlS~sUE?R6k-T2xdu`2R(-;4tbJnTRDH0#eg?f7%Ci=|kE{05$olk0jM z3-`#XOzY2>bIE5BOpN| z_itxYgqbE4K9o*a$CLcHd}`6Zlo^uWC!IR_Pp|)}_~Yi@CC87=S#f)(a=6NcEzz~6 ze^LeeZ?@j@O*N2SbJa|GN@{n7){aCMk2PMF;-}KC1b+Yf>i81V-wW38@I96g7Ko}; zpV|}bf8x&b)7uymqqnQ&9oJ*84p5ya@7rN!qjdOG|7;a5o%*Q$s~!DUSl@5<&C|EB ziGJY{Y!M?GAhVs@{(^~Qqeq|MXT#GC(`w@y>hDfJ`k!HE$PPP~K*NYI%V{$wKl{t1 z%d;~4jRTkNr#tmRAGOXeI`eAp^bZLpS2){@wtW&@zyG=eGiY>`U48NX&2(PTr2h=EN2DCG-E`;XADfl4pEK>`q@#kos`od` zNLx?b7wa3%(Oh11c!fTAy*rW{99`^-9TNlM*)8uD$ap!Z=Nr_jsOw$GdUmYqSis76 zzN(FWZA;Fro-F3~=2{JMZGX6ipAj`nWz{Cu4E&~j(b1<{Au`qFhq(vAR zVZt!_|1Aa{W<~}k0cHUP2F9%lFmdY8&;4p9^hG>BsY0r8%!h)49?d@-P@X`lPQis& zrXHEW=|HMJ2G=8tLWLaE9+0Y$ucW10CWB+mTv9dCN4;xHK;HQU{0|$h$*X_ae0&XQ zwic^D56tA&V_={0fa{f)YXdgjyq*%0{Fw?9Gbel%+JQ|00|S$&#>ZcL9t{kPypt6e z82C9Q<=rdt9iJ#)@?~IPVB7MzlZSzUT`kXd1_J{F`^iJHFBlGmI%(=BZqs_mJ^jKx z?4~lXS}QSs@wfqTRqqL(Z4IJ-=JSBK0tZ!RA7EUhl;Eav&0B$i!H&b`hh_1L%?%8J zLXNr_8V|3D-N9if`;v-|-#0kAGB zJgM`6*2J9t0A(Xr<2ehzl`^bax{5*YWiaQ4jp{uQIc1n8PmlP;ZWi>&U)R7iU90@S znk71QjZNDp2>z1dcyJ=;jJrgVitvS^^eHzdc3zpBxXeP?!EcF5Zm*-Myoz5|=Y)r6 z+RnUTU=S$mU?^F#2<9dxInyQ2Kpch3xAHn>Y-y0;JU!V!^I+k@(}FKe=j@ag&YU2c zv!y}e)PqQ+Wz%-FacaD1U|`xJ7PE?VrOA^lFSi@rCkp-vUtFuWSkOkcGsv5zq%COo zG?y<^J+`G=I3D>EZgf%9Wov4J&dqqvl$O&5;Y}F|LZ?JEHn@A_!=nM@0t+EcodqC< z4C7-9p*q_H39o07%ABmiH%y)u>1r<5UYWta_>jZVc7}g~j+<@SgTfyjnC-y8(0x9$ zV-l|=%jARG7#J9Ao|dRiPIGCO^I6gqo|I%Da5KGYg`bO`SBhAKlYq|4aL$g$d^=jY z!@`{+&C>lq_Q5b;#X8pY_6r#JCEtLB98z9XF|cbm9{HE=wJplQNo7;60|P_op+pr> zQOp>2+5;5N9Y2ld6>EM7)oL`{gj1MdyZ-BBH7z|`8Z_8hRb1@i#8{-@p82A_6p9iuQ zLz?OWKWvt7A;nOZ2(JVtJFCwrd==MaC$N}#r5zDW)P$4*M47`E^NiDmd4|QK2=*zR zoF&hA9Xq-?H@xZNIN|}01ELIJV4kTEbb+CGX`QZwNslDFaqQ9Fb(w?%?M3;QB146lEn} z%f(CVmx%Z+kdfq@mU4IQ@g0dcoZ}x#bhT=~hMmXSh(jbQz2C*PDum!hNb~Mefk(M@l?xI)wvvbzyC8#=l>;e{HOGOvjgoe;zF^jTi5^Mxj3IK#k8e4tWKWq z;)h?0wySX5|E*ZLCv9fm&(G2^T^sKv#k||7R~|9ldX0DY?aR@Rw)X|k`}tY={NE(6 zyqx&+Itj`*U1kU?NXq(_{@PZne=N<*D|^?^kXxoA7c(v&-?u~m?x`t#B6VhWi*4Q= z&2Qe8pfvfUV1kcK?yhH*cf0N@y!oJ_Ui&-s(w`HS?RVRi`g8Jb$Y0CQV~Divyc{Jf zyld*d^sKPL1IHH4Z@m<=Y{9X$XXd9&eJj|p^TO&f@ugnhbk*jpXOeJSbolSq^ary_ zmzpiy*B+VYTs?6H^Wy9YFHCd$1WL?hGx@jgm?39SwqK|@?8Jk%BgOB3Cry3$No!j8 zt7Gf}32XEpj#tfH}3YV*?4P9etU40N3CJRcodbhGpZE z=*oE81O?|G-(DRy+wggzjak~7T|chq*JpY~cJGl`(a62*;M6ZAXMN?LT-sSW;nBjk zFD|l&W-d;->3;9XO}^;8U7z;Y7gp(glew0?MIi7t@3vDWb^@&@3j8-!ta5C>?mQt& z?wqnjY+l!!?XTkIws;?U`Ef?fPJu;>cke= z+ABidFSsG|i?{JSggW)vHA?<%u2*>XVU8!)x(%lr9pAO};g+C_v(1jZ-ty1R?V9~B zbJ?cDpSH71oxJf#Pe)-@>?^+8k2hRDkvy&8+Z_oH>Yx9G)&%K~Q?UVHU?bAn9B?U(cN&iT#wY3&*2aMiDJ z0_SfQtvigLbJAz7yAy78d?RN?s(qBL`RSCkF0ayl#Ow(OU=_7ZPjWjv!{R-6RJVe` z>DkvZu2~z-ii?hlbw00T9iXd{J1M8UC}fGlhPRcQ9x zn|Wn#wp*7)&)uzi>aSBplKhDq;Wc52udCD>+`pU6-Ikigw^k?Mgl<=+V%DqxrQ7b& zZ+y-!&$6_)n|Z4PMu3dw$g2fA#3YWiMxo zEM0VUPEBFX`s44S*DY-8y2Z1NZBL^5pu04@@@o@5XldU!v7OrWREjvGB zo4fw|ovHg3C32bnGZf~j-#XG(w&)hC*NRpLu5Y(1UA;{1NoE(%EK*o?V@fmY=K6Cn zY92=BgTA%Z#EkSF7c`^b_v$n{neuR84hP`*n*Sj|7~i+N^1v z7L>i!g?)lgvFn1|nX9Usj&D=RU$3Cvs6J_$d4bfjZC#%NmZ|yQ75?1Vl<**8f0{Gr zq@$u&EH?R2V@~PEhfe$>djECY>ywG~2ZCqC{TYtxfKIcie2fqoUmV7yT^y zJ}*^BYJJDt$hj}Qc^8(wwk}l^&YSq)%2wAhhlO)get%qWEjvqOed;mk>N|F+yM7d! zM_kVObs}Wu(YnKCD>PbWlnQ)Msh#R|NH}+E(x(!~T?Y*R6|tVTWO_cQvG|Y5$+h3(Avwg%-$h|7SQ^+xFDxtco&UvOG_nU?p4F zA>&PHmN$)M-puSP^Eqy5D?<6)6saX94GZSxU%oeI;{{1^_C-!}Lmz*3R<|*9TBlug z`pU^`M?U^uGT~X3*Q6^NNA-)29O(O{dR#M)Ps+bgdro;ucvRNROo5rn>lC|BKYC-7 z?!EH%?ag)B4||U2u9J?PcKez|ic#9lfAv`<7P9P$Z+>#yC-xmu+Nctvx%$(OeG#mO zH{RM9C)(#O%%(h9GG<24MyYkoKCaPc{$*}{x?gC9=$Wt;fl@2x1|9rg+ z_vR0NH&2-vn!Syjsj{B$s=Tq;#ki_X5^P&$bj0qPeqby6k@L?kt3Lelw#@vn=6{A+ zR+r>+N^3IOEpuDNlD}1#a7`B1mR8c5wT8Pf+eVX1XSTcQwN}6B{~2V3f8Tq3P4+^` zYq^t!VY8)umrnc7V4jmx))Ap?pmWC9OaALzCEkA4ck9hR&s^Ww8!dkImkaA;?r8aV z|2zK~{vTlw5kwyW+5m1oF*7pSGnVz^QNaXP5h1|9$jr#X%)!mc%f`wI>Yp$%vj{S< z3MmR3ItnNm1tu0wT*xM(plsmOIBDa-i=xIRre;A&lP{?_I0pnL6g4f{botSTg673b z4m}hrZkV!J)iosfBiJ2`3~csH|E|oAxh`@mEMt!D%DTq1hezl3IsMQG&i1WxdtCRz zF5*&wU$2*})7ec&KD}P8sOc3^{N_JH!X%ZQ2U53MR5q+#=Xc_kif75o_;{f!Ycj%D zpUl{N`^u~GlRsD8vdXPEQNXIoqw~u#oGNp+euFdbX7}ZL?zq%# zJilsN)tiXL+}Un+{eqvO@{>20cWJ9KyeY_*3w*Klerf;TL&>=swG4&Y7ymZh+33SH;h-@4On`vpxxspH(I|+b`r;$dT#shg+SG`YpcX z|JUP)?SeE;iOrW1IG0-T%kES8&tUpz+KM+pf%2b4|5(>dnfkTspX@#_uU|*&`R=Q# z)+X(5&!04D-^TdE+kS6szkKfFKiL&|R&tT?C-Xb)&(^DM-dTUPUUk-lQyWcQIbEta z_~&mGPvfM`Uf&i*^UiP8w1~^N@aa=G_q3$npOfFE&X=?|KlwN7-G)7vWM#a4a|-Xi z-LU!bvG*w@si`M+i=`izoOa^<;@jzY*Zu3-*1oMv{3i9a&Y~)3>4U_Dp;BS@IV$Rl zaz8A$TN;+8%x@J}86g(8XSJe*5IVhv%IxyJD)DbDcM&X};g#rA`ZOaSJYVOZ+}p zTRU^f(ug4Y*{d!@lrkQ3>h4o@TF{_9chY0=ny|3BUb$16>#Yxa!Wz6QqH-p#cx|`t zk$5uCif@Zc>I$XZ_Sp4X6h>+|ISEX3n7D$UQ|@2$p7~|kvhF?iF4V8HcAIye@k!Eh z!CO|<)0GWPZ|^-C)W7+V*w4g@f7fqsKh1so+rGOqc2B%1`?Sh$=3XDGRjpQ=??)c- zp1w5rh_=H#=9qgdT@Tk?+;rqW!!hxW&-?D~i-@z|`t8k=o3S(Qxhhvp;R%h}#wXkQ z(<-@vvZPWi+?_wz580BTNyrx#^de0{d z4xS~SpVcydX1(!#fyL?0LrY{Ao$AY4ar(Z&!;h2SihVbWddcRreU*Jv{D!}e%MY@f z$LOt|sWku9t1V8h;tDIjR+g4B?s|OM#5q$t@QK*I^~aCKP5Q=Au_wvu^2Ob^dgB78 zEA1#?XG=R(`90vY=UMN<5T;uk+k49A-Ducz-dw(+%DQRouBKK#=j>b0D&8-$?X+tx z?c4XF?9DZ0;T0AeI6p( z^1Z@4C9mA9gwLid^5)$)WrYsAaFpQoT|rkergTlt47z%#_NwKjoEy8=y?EXB@v>^3 zrf6u{hn>0~Q|v9}^RAlb7}$Ht=Ur0sP}uY7)K%ZG#FW6Iu;u*=O8GhBru{CQDVbav z;o4JCJaf_qKONm!Prn~(coVMw^XvAL`5)JQivE*bGwnZv)P2?c$2Mer*ir3f${T;_ z+C2Y#G96EaUfef&eh1XPNHPRTaEsH}U-6 zuq5LewrKCnXH2uVuX^pZb@As8|8*Cq{tTCie;a&tr`VgsRQ@>sjvtfP>b{PA@#WUL zp2MEm?h0&8H6bmtey!#DvcK*Hhl619`sV2mL(Ep(TyZg?(jZF1aE`;`jK_gCrRy8_ zN=UMQnOS_X_DpBT!uor+)}OP#nk)CYhO>Oik(YC(y!#pXMkcJ|M3daKpH`YyQ%;JU zRY{L|%NcZ3RV*M@-f!mDADYG24B4c$4j(Jyo2|Wx``F}sNjt^J#Xwm2{4u8wdg0mkO zHQcIfSoZYU-;A|_xi+uv{d&`OL2IjwLX?h6K}4o*zrymC_*}EwYgCc~3QfiK<;P0o zYK8S~SrWiC$EEK5qx3VL-?Nma&Xo$8bEqu5I=?6Hy!lVvkG(ga{bx|!XSmzu{*&#; z%+qK8nYQ%PXa3Vi$}b*^sFB>8xcJ>M;rl}K4=LZ$6$~%ayUWKb;I`}LrVpIu9LI!L z$nKN$3S8u{(#&OP*K(hoSx=TFubX@H;ko<&TyDL2R{WnqX}j{t!VSxB99|TXH~V%Ox(xp!QpRkx8sz$MDCV7-hNW8{~3P1-kjSMA~0dr>c~5jS!b## z-CbTI^J}ft`^#ExEpk8B?z~=;cU`m2rbNEFa!>A0 z{tY*Gh|lKTs95*qb&aT;maKc>w}6+ac?wG`=4Ps7Z+^2ba@yl_nIf4E*6njrcV-pr zjX1YGhSR-!-on#~vDM{i4o4gIbg>r7Ca*hZc1y)QZL5jf#HmFeBUem6&8x~MqvTx4 zP&eW3RLSjAC67l33B4*^v^ciM)zfI&a_+8B4R&+4w|5!jYa%P-eA<_MiQ-UNkuv@2 zuU)%d?q=h#-1oBJvr4^r=(;C@A!d7x_J`a1nn&$^Y_$5=x9UdG#a?w2Z{}(}jqS1A zWRaNdKQ&@+Sn%m|hu?lH+b8fkM3r9n7-^n*&`{%%`W}oJ}-F8)j@1}kw>&pT%yXiGbt-IRis2Fl>N-DSRj-H+?57W=lEJoJ8J79GUvc52RM={}zs&pM}+%yZ1U z)6;R?NA%hG9JAQcgU7uZSQp;ewC>8Ps(apfx?3-9n(U=%Ya2c3{f*dFv$wWB%v~Pf zHQ!H1HFRCfwB$P(D}!ITso$AUeWmzF<{_JDooZE!;soM~-8P(dUAo{?es9@LZO>I9 zTD;R*y$CvKR&%3XquQ#=Jcg==9yF$Oc{dDNl%kbM9CMs{z z+}@oaxS(Q=`jYwks>3w7_sUBjd3~{e?wjqqgeOOzeYoNut4+*5G39{JMRkGUwMz?@ znq0k{9=B)Oa)+{>T^nb$-S!RBvieoR+ZS5DHP`HGp^4Y;!|wfAdt;Bjx*@7Kr!MdJ z)ilAM;xX=V`d{;QE4N(c*Q|5k+xHFDpeYTvJ9^6j8c6tCF9GBb<7)H*)fWz zM7&)ko|EBmc;6wu?DcU^FDV*KxhHgOiO4q1{!q@Bn*{unCVG9maiT=?sF1*IkB1hU zS1R3mZGX#x>5?dms!N0aQ|bFx$CnoqY?ab3OQ8)HtPP+BXarbPi>yliB=M_WQLua>($VwG!MXs7sHu-esBx!bE z-Nd|=Zo66;o^3r^w5|M{w$T2_2=@iIx5g%JPYzIb*>ct7*{0}B&fG0ssvIIrCp*6V z;$anBY_)yXuh5-JDH$DEA^kN4*=D=)mTfL_-tqFc^7r1whx+E|8ucjO&Ytx$zh=gj z;5qY*_NVZk-u7VS+q5Y?nKJ37@@5A$C4yKPq;*x_2^%mjf7N5Z$8&S9#sslRlYPtD zOWp2m+q!hY`~`FVTIBL61-2$K`h8mSdh6-JjkDLSmwdAF(EP8Fyvv&=I%Z6-cImqv z7(C_Hl*@XPuVw^H(p;3oTD1Du>$U5&r&=ysux`F*eIfPE|Ef< z2f}ras`Zf>)ah9yKraOZ7Gl>bq1~FC>25^<-?jwQ#9(#|@L`$w7x-ig5OAyK;SQ%r2cf z=T3ypFu47FhmO8b!}F_8Hy1wMCY8FeRl{$Ab?df`Av%f5ldj)A^z(g>!$oNkKQ95^xIc#V(=u#>zUtAZNI4a8hDIwEj!#c11Gz_>>e4E+aC&J6Vb+WdE{HlrR&pm6-?@jsrW@%U5 zDz}5_5BGOFeJWVZxNzyZb;lF?ekx|FGIuvMUVgD9Be(iCZwo)8Uh0_{=QnFcxhHwt z6Ii>H`{^UILwAqMw*L9P?5gq!;pFOjn^=Bd=+V&hl};&CsQRwtT_S2JF4hrV#d+I1 z_Iq*VI_DcN%r5`EdNpIB@XEGH_Z>d?8SP{4)U-Kvz4d&Jjth6Or=0gpvlmwnz1YT< z%6;(j!6g2=$QPS0>5C}YP53@z<(Vz>mz2$pd%1t9TO)5*+v8n9t<5njw?;<2f7A9U zu~4slO3>+bU5Sh;>f&cto*^VuBPA=nygfL$0#}-d z)qS1RT0PlDLsB8cWT`;;oyfl3$>wW9uLngH=(?XU-cW0JmF=a2J%_7o&F6|mXG|P* z?!NTupOEzTDet)x&+qpy(pe%T?Y-QTY4JhnBIa<}W%r5>_iAMw%(9-}l&REtI?;0S z`Ha{J`zF83-hDleY2ng@gY!eTmE7geKiyfpLGyj~L(5sK zTPm)aTur-bvU=P7p!ua*HcX3S?0my^yqjQXa)D2$c-HEb){~#b`zt9)W~{TCXA!if z$U3F0oa@#t$Au{~$r};YsRv8_9uxg(E zi@yB~aT8ueW&|WhF8J_aw^movvJ1|^0drSe?f&&hEce+onam@ts?Hhj@)dbRJ#{ox z)Z^Ap^Dg8{xnDFVR!Q0P@mf~5gAROU-J;h+ey?3#_o%l}JM#6NJ!%EBT1148PWybT zJn5S`!?l#BOz;0QL_25x+ZJV`#wwM{$b9=jn)klBE@3k>c1rqdbA?V|nyY>~Gkn*U z-a|pmg3@sj6W8qY3tl~;B6^=Z=L$#Fn8@<;2_I&}IEBqq<+|0oZQ5}mS977I+ooz- zbxL-NtYB4nV|M74P|HV^;G%ZJtZk=r=b0?wJ+xthSm~;nbC0a`UFz+(RB*1Xy zoE>cAmsG8}t+T-Faxz!IT!-?ks4GG(T~lS9E-JX(ziVE#JN3Gm)y9LL!Vj-q9wd{S z%r$APOJsobn$=TFgSoZtyV)CjT;9Da=+dpAt=R#Rv&&xhta8-mUAkpf$mgFrcR&2H zjy*o>$d%H$pQdhza{1Y*G1<~FB6N-V-&f_bMLKo2Ca`^6<7jI0tuE)f%j#Qk`TIB2 zvV7uaG3i}eaTz0+Q$uzU*x0@Cm z3O(ZM`Gx<8*Mu)7FRvad+$y3O^TT69?F!zP$Ck^ix?;2Hk59-Vp@}oqQ)lhEIqQz} z+^zZZDn0uDNFkFm*t7o>+icBpGp;y z2-~6)5~**_y6IJgcEQvspOdbBzjUjTvvg^fCbuX{B)9LqTU{24hr*_OW}f~mC^7a@ zWY4Yh^_PUW+73?Geps>c^l!5tDf*W6Y4>?rpXUo>zd66n>GSk& zxgSo%75zKAPm=pw{7tBqb2(bY>)+h$Skq;4iaGO{{1=6gMM4v_Ja49W^t_5otPx!t z_~+;D@bWm@<&10Yd4)Nu?TIssww_{G>@6sNi6`q=fLG60eB%zSCA$yb53y%EclmG8&5nteTc-sH zOx%^e?&H!kQ{E@5rrW+-W3}~p{P{5DO$TS%c`D9$X|mRIQW;}d|MzTzi)(1xISUN@J|vY1_{m}!%6d+W3Fx$P@s*tTvzwzfq3X6pL8 zYS&xBxq`B)*4q8vyPj?Ko@H8{IagjpNlpG+$gO7LeQ^8ya8{ZXYZdHL~{X zJJMjY_sH&(e&TVJnz2u5}QZo4UHK}mJ;{5KUTBq7+-35m_4jV46y=Z%F zHm6O;ihrA*Y(Ki;-$J|7nG)@?)9s3LS!UZ@&YLE-MWj7=EqmV$X_0>3N$aY(CTHLJ zQf_*pL}_pO_x9&&E*-G`qr0ZJQ{6s&+Vz?UE$+SfY#$9;UTeqqo|*V!v+jH*QYsCn(w7p zce2kf3UXZZL{o=fFMWk{>|4|SjL>M<_y_6P_%Td_j(>1I9OOR|QG1TJOy%P#TeUUWa3o8gJq6r*o9biX9j z1${ZH9^v2p_S3uAHOKo-r7W!7sd_~r=@295%BO*^?z~+oUQ@oLE-<&r@136L`C@H7 z_4xk``QiEnUr(Kz8Z>L2YT~_+Y|*XPZ+tQC^$0URRpa&XGuM}!x(fn1MVLQ7e7R7* z)M`T0L(_Y`&0S}=n{F!cI&$k$#**1eA&dS#SKP<+Y-c~a!PVWW*Cx8B=u59wTk8Jn z<{jNVUT!K=9{FuNoA%)7x?anv+AWKZRky!qlby`u{qNU`b&1FS7Dd)Bl~K%oxNC7| z_H*@*%l{u?&=p{0U}R=u1+Be>%w#YMGAJ541_~q=HcnJ9Sh(@v2Zw-!iv1q{xJ%bapqGJkk9hoFW#uWwJ;9ZAeIkJj6ZNb3WGvb?$V}gvG1qkx zdsCB8+sc3(+b=@)_U98?3OeQF=Bv!Q?zFbq&nag0{QGk%Utc_Z<;miUKi3Kd?@@YQ zxX5Xn!YA&s!>6XZ6sunOA^V@9LPfc4>II#=g^_*Bru6)0n0JNwBD*)s)%7Kp_*&Df zW<_lNR~;hBB9$Q*fB)1AFV@d{t3G?KmEIX~?B>cs*~il-yvuwe73J^Vx;7=R@m_7q zj>FgZTyOQZnJqt1a>dDZ!!e&5GU1_fHl!{+?y&99yDz3UYgZo?Q8?3YzJ>^jTFY)QF#sxFaOup4G_mY3}Aw8)nE)Vj7yr@uLABKtvFK>MJsYeI-v5$`mMP+VwW{Wj zguCcduK>>M7yBe*b{v_eHsgj#oU82eCh1uhS$fP<{>mM<7E5scx>D_kT$Z~+e9(!Y zD$SH@rzaeGvF=ixRnP6k8s84oS~AS}w#?N~(3(wsD{K3_f|gfRjm3QzjINwM;qEE% zbGenaC$H;)%dKXLEUWWYF}NI=%NP1+!<4_O@84NR2&NWzd(Y_?>8$g=60smR{lwY2 z!uUDi&qaS8^(x6QYVEyr`>W)FjCl9WEw{JYm}Z{*Iji9`d-1Oa<%;*eNL-0+d;Cmx z)rq+Z%rB2JPkPnlI$`6vchc|5Po3YYamL_}ne?mYqTDLaJQUrn^mx)XIA)x1-C#9s zyU{_N-Pdd-ADb$i$m-wzk~f%1_Hc1vN0>P7Si5<@3XewFB6e-B@_kEVU z!YPy89oAQB4>)X*%!$dE%Hgwbs&1Twi*e8)w?mzCBX>OSFK|*lXRUo}p~mBq=GP7^ zB^&scbC^Y2JyQ4H9ipQXwVE+X#dVE*`cBgWx)MHzU4Oh{Ok`uSPqRvp*t5y+qtvgM z!sGgxiLQ&-oIYFSzP%@QJLc>2PhuAqW*+g3uCjV5?6YjqGv4MczYk7ak|8o*sJif{ z`^D~~x0Lf6+>b{Jwp6tQON%q-@ylhgESNo!{c<;Jr=mog${vYVi&YPNW)#}Bhf}9x z*?|zx6y?2)7nuZAHB9uA`zP1g)>=$1m@>UoFvyi(ciY4u*&VabO`PnO-(7J2u$_Zk zTGkIM(J2vOzxQ8X#N(2EPJ&S`IFjSoW8ovB#x)xj*(?aZ*l}Je>R~-ubv^3;^u^T1)2kQmKCw1(-X0a{k~g;&o(!vNaV|)hVY)ni zrzXpevRO`N5}qf$`e&kbIQxX~?zFazfkMFvelFp~2Sv|6*&UdEmqWl&)$Bpul*qgmj_~@P~g(+{t9J+TTod`?h-E~D*kyF!j zT7+Om$gB-hy{9}glgtg6boRlc$*n<+v0L-28YPV%@uAZ{*^_Sy;g|D+L)x?`>s_N_h{?v1Ea@OlM`|J6_ zOX<-i^P8(LZS7C}X}4~D?(;jQpDZS*mM-o6X|hznp{tyEee5bOxw$2ZeUr+TC`0=HD3S2A^)Yw1v6Nf|uWLO2f6He=Fl0^Al(B zDc0QP-u?GVwqdvJS)0YzHZL)IlK8Su>hUJ6(>z5)T$z$ogqd5nAf{W{NA2r^Lx#Rveo8Y_|lHPV3;trNTTyTNf;t^@#ZfPq@GIvXvL* z0x}P-PdcBPdO9;dWAz+v>xoZmL~_^^&b^*>>g$>(f#vp-ueUHQTjqYGr~F=1g`)$H z=%)S+-k)YHUEuJ5Q!Hb_tYr~JciX4R9}inJ?fZ6zWmczVtNdD#*f?FGX?JiK^A0JN z>ylS@y_;%k+I&$^ujl)cHm0Z($B)+7)-}vwn-H~DS>WRt_Q=qGVh-hTEB{VmviqHO7w47afLPYw8de(DRx%CaNKe)`D<$Xv>Tj-Of zj6++;vM=FPYzG~rWYkJNPt?EEsQqx)BE5B03J0`KTzxV<##o|NC&ee2+va`l>1R9r zv&7yAA3U)v;Ysd_Sqe!P6ZH-~-_}>%yGPJA=KD7Rr8}VqcqA32L(Z>uf37$AXqLW) z{WJ5pcWmhb4YL@G?gaqqW*n-kcsqNDIhv~`Encu^g3zvQEBR!y zI{Clsl+t2;plS8dHCJKghgmiE-uiq=*qHZ2M)AQ1VR6$nyRL+3x;_w}sK04K-W!#) zJCf&PS4m&GZ9YXdb?&NC@2E`E2)^X1*~^!lE?F?)sn;_uU3vE((%g31Yd06OE#4Ym zy=C5nkEY8${D1|$z+)w@#2{~+E0DdU+Zv4 z^@hlY?b`D+yCq|;g|FWfQen_poOU{wH+HvP*7rN8FAotZYfYtQ-}#>pqy+jh!_ z*;yoc-}@qEqsZZL;ghbxhXOW6onDQ~Q|J2_mpK?1>hr`X#Wf#1z~N+(xp}q0@uNv6 zgTBaG)Xrqid~iAUOr&K&<3a8;OSelK&Rtt>Aj_|H?Mt>%qdnS47OWq6KHH+RXc_||ll6c~VssYRC z6Pa=bPUmKu?K*hEcFvK{Y<|J-1QuppVb@;zD(E0*{(?E;E-YzVH*Ju3Jdxq+-|p9c zGCO5oHs+Oibk&`yKkCJ}J1Ax6I-{rRf6r^o_;KRZ#@EyBRU+VD^4#9iy)R`0ax;%_|?1_=k7*?1fruJn4miGAYupP@yta&m)YlUF-7h(>R-wrEOOoToMKupMMW;KL zU)244I&#-AU3+dn&5G<=NNAM?k=*yzZ`Jqx;X<${k+ zKPag-umsl4QZm9flHDC1+mb}?=4X0Ok#d%<)me)ofaSzUZr3wBT8UG1QL zruU+rcGp6sj_{akExWudwyr4KuP3qA$v^X3LHR@VO*`+ujC$^7JWnu}!{LN?|FmUo z6EkcqcjaB0=JN8l)xouiMp~7}cb~}UnrR)g;F(k2uCsNK-xob(xv3KI*7(Z9&k3$B z?<$OT{AtgBw!-UpL+kGg7+Bcax&NB}*yMa+UE`m-m(@MCWv;fZ(Tz{N zp3B{Ic7cHWIn};-6Pt3>KBVsUvwjw_*!y6LcRn~;e zT-Ls5%{sdJl+=F)_XV-H(%(EuD!S+Fuu7Flj0yq{Dw8}^COLvsHgJMOK(>HQ05KR54ghgIK?*=F z;bfWQ!6M|T!obNgfdlL?RFxALKn6|#`(gs8f)JyMkSEI|2bD>VDhwVhO&}W;gg6x# z7*#+nLDCCJmJFT>LYxefI9VomFbH|72zjtDF(^!MR1xA-Y2svH0vii;56tfqI8_8Z z6+nLR0EI2cSWlHn91N2<8H6|#KsLfuPVxjPXo7MXKn{blA)aLs0tGeLQz+sfT@Xtd zJRmAnCNaPms4Ah#7#Lu-AoNZ`@+?Fd8VPkdHUrUAQo@};lKGq}LJleoq-dGIsUqZ| zA^;C4BK2}AG+~QeTt1!Pp&;O?(u9;vaH&LygE9q{$VDi?;#5#Zo`lU|cvd)r)<6po zTmubJp(6m=amLKd%*4tH8;4Y6Fmx0MOf)ELRG8=xkg)JW!N!9Zk%l1!{;dqPTJDf7 z!Z~A4th{!_gf@$Ss1xC`Qadgk?69lhK6Y;I>Q*<_10kmx&wmko*O6_1fZH{CN7_iG<@XM<^vA{jmdBKNAWw)0-4n3wTbotE$bK#og z`WK3A*9t@#ELOc=`Zs9WX5R->nOshGOX-xG&P=eB;kQdww@TlgadzRZ#704v{|uLu zOd7O3HaIy;RDWD7ea)A7qU`YtH9x;hRo=bk$oGQu`@UDcEPQ9HwjpRHi)G9GecNQz z4*hvhx0m_CEynLJPkO0|tvH_=`+4pi^^}{(HcR#Sn2HyR?^$MEt3AbIo9qH#CdP!w znk`!{+nzF&zr3Ni!D(~hB4vn z2A4KQU0`6)TE$Q_>+d)FZ?ar%Wx8v`%PMZ13D9!7Ci&-|&f_CnW6#y}J*oWucP1=d#r5ZmAI!_FJIPKsNN^{h+&7z;l*oQXM43o~i&SmjcIEh1HXVdOjxof#PYeOcSGN_w!$e}k!NR{`jixi7X zzQZ)lH)8!w&W>J+?sY*}2#aUacgZwZaq9USvy(^o%sQ0GiNzu8Ik*o`iwH6D*1 zdnUfJ-;sa#3mc=$`E?9A>#Fq`GT%)T(!Jr_AU&nBB38TL36~K|Q5{=V?Vl=shS)P_ zw=g~0v}AdL$eDD@S33i?m`qlDB9_0PWpyfp1Oo%#y+yu48#SEr8dH14?rd17b!X+z zUmlyTvj(Izgz%IVTPwQkLSN$cU}3t$Nk4u&q|DL$QL@t zzW0#`wpaYcK2yDHUgw8*DR-`kPrbAIm_}pY0p28;iXU9ndb|zWKS;y|Y;yRaQ2F7S zz(?QD{~5G?zJ7Z5g6;>t=5!V1f^Uomsx-JZSY8cMN+{TSN~n9i8DsM)hVLay=Q0`Y zWBzXWMX#fKy8Xng8L>JOj|=3z-+zU1@|?LB+st{xu4o()O;VmBxg>Mh`h*Qr6VB|t z@7pgFtoG1p^VW>CqSI!J>a;z&`)bYvEEcw`{u}LZPg$#ivDA>eExEQ)UW&EI)k@)E ziyQL-7x{z}`m{4i?$7;c$ zy<0-t=hz>q?yaald~T2Z!{>4GA3m?=|517I-+8m+GdtU^y{S{S)ejI{mim3tG8ev* z>v|7w$|xLC3cMzNzWYGvo1f+^>FaXe25Wbpng8pBThEgJ3>imrx>>aw=b6lOH%m0 zDWZwbUkGqqylM5#;DhGmeg3DvtV}p_uBn_W=JC1aj2$s4OI2Fk-Z0A8ss}1{Fu1y; z&ET!!IaScjXT|a6p5cqI>EaV(Qerad?}fRjxg1EaTwy)$#%3MCD2|Dja@E$%KIe3L z+I9UvR;h~D$9r{LzPIgsY`IJQyHt1UB>$U?mt_)kxGG&&eEGgog1?m4nN`4J=jZ9? zS7a#YuT=J7db@bpfwVA(4hjDJlf4|8OF#1QxNf}umu>$Sss9WYvi~zUuF6#T&v3Tq zse?S5rGl6XZv#!U;FkNTXNzjEoWQ`=NFgmNw2aagq>R!ugxXedKubSn|VRsEP#;{@%-1uFYO7K!UlPjFoA!KBkGusdnN(Ou$= z(~gOLQtNrJUTw(%hE?A#pJ{H`9+YsQKw~b8uV*jIDo(+JS9PR*UuO+k5xH$5Uhn?Z zbXoc2vF9NJf!*~v?9DHwOfs(7JYCB?aYp09neHFC6`oI;d+(}vVxT~yC}Xy&ocNLC z(^rEYPuX$6Ih{vQ#Cgip&^=72B)93aC2BYy|8)LGxv62ZRL1V7Y?>dxC~hbUypa_gyVBjKN(`Vtoxta|+2F4DwJjP3lpPrM=< z6{b1O_GY3YB8OzRNUCso@GzJ$ zWjyow3`oBFc9~_RdXlN{4)^}!8N4&h^nl(wS?K^^Y1~19hPEE_tIrLeU zlc}B4clL&`YcX4-bS|u5Y+z99n5S>qm|rRX;?)zIJ)RGe+uQvo^)5{<7y7i^X$6C0 zUfz@L4Q9NaD`Yb#Z(xe;c)MPV?-BbA6X8~Vlj+BA+$&bPI+Oj=qL(gK$BxCtUHyFV za^xdpy&JtIqA_*PPpfqtI&kyvJ;z1UR19Wk-BrE*L(^*wZvzAWiD&LRm5p_#%NrP( zKDWM{U%?{Sz+Cz2)@0^rPG5t7MQwdg?lCxi-Oz9Y5(!J#%7)QW?`bxoI6iQR^&}Ug$GbyoodP%qxq$zPWV9-HSKhW-ON4 z%sD}>CffST>7(D-kF7Bm*d}$8ubtzKord{b#t>Ns1$kLs=WQo;R?f)!)slNwcJI?K zOiT*`Wsh7+OJ1K+@`fW)VAqnm2W1D>C)J#F{o*`#;e~~4dl)z+oVu3qT~U7MoA}WEgfM;#rt;_muZLIyOnfhRf0@!qhIU2Q{Uzu zb*k3ca_{0}zRR1^%MXXHNS^fmr2qLP=eeF~dB52u-B%YoAzy-PqLQ`X^tb*~1fE{v zcz1lVoKWLN#%&zuc33QPX*v1M*x9;uT2sg)zh@VGKL|vIyD2=3@;h-tGb~`~(^&2; zQM)xW4;FM6H1F4MO5c1is%yUNipOQ?b_rriSFiNxKl^TQUsf-6b%@x7fXUNds@4T6 znK3e_@P#d3c%{>4#>MDI=?W8TPaW_)pfT-WEN`Ar`n--Fwyp%LG?uJ3=}no9#U4#9 zo91!qzB|{jV9K&i@e0|c0k`dD`$Y97oJhz_tzq%tdej*d%BUBzyxE{_#l-HmwZa=F zF+J=&$KaJYPxMU4^qVE-GJkd}+%phWaw${RzcpV&@$?eGyZvf5s?15uIe)qhTa+gD z-tA8iWpp*(rPjLk(vQhyGZP#H`0hs-uS_VnX|N2wzCA!dBJfOFh0T;{t8F&johZM= z=+CJW9;YiL52XilXGh7-xXO9!iBU`GwI?giT`0Ufg>e(x`NW^%YxYRKj!IYjWVv&q zEpzIIr^-{SluMEYa|P!6o$6a?V^};theJSrY9QdfkuJY{l1`}=O z)FXKsUP99w(@U?^q#JCWnfK#b6~oN$ESJUAR{3wRS59A;!~bqILudf2bM)?iE^fk{ zOd*}I>X-LUYA|E?b#9ulYQO=8Rd1JzDRFdirTNsPh_CZ=%`{aL6mj3z==R;!Q&lfW zq5sO?jss4jKQGSVS6Fpn@?-^{mlH+AneUhdw3J9^rmj_ry|dU~dybUNdI>?UliUTY z&AiW58kHwA++4`;r74qtb`wv{yhWwO3I^+#(iLuI1@J{ywawq1mb9kr6!?8k5Xk)y$6*J4MO}Pt2gkETDQSmXi5Vt&6eC@co?}Emt zgcCNIeP@EE3)(%B;9q#Rc-M0Agr4Um7oxszOxHXW@@e(?fKLZCzSXE?GpNpA>-&mj z37ddtU>1|HZ%5)%#yXk9`)ZjcEOj(x(9&;wdThnlo`-@yW`|;?TG>UeGIQTxo$hR+ zF0!dBp(Xxz&&9(VlOrzqXPWux2p71R3)V+DtEx=9_hPZ_EL%Q_1oPee$zLQ^-HNxF z7=G$^7YoA^BfI;DY+cVya-a3)NzY-QW8028&SU@ZB8mU(%#RHwD!1f#n`TaztK#rk zs610h$(6l%w+ZhFhK7up0aBd;*23pHyiNtPI)=zOha6hVuK)CSQQzvqMJmY^{{;VL zJgm)c2?-2E>;>0~56;@tk{;t*X8)hz^BTs=g2jB@cYaDooYtPYyC$P`#_R^& zi>_Q9J(p6%b|)Gc@&)fJ@wNM1X&G|2r9*N`>HK}>MfxZHl}--|>Ck-gH>-7`lb=I} zFvsLbrq882PK71%%ktNDe@hbJOFo&oXYPYn>Z#W@G%q^x_lV)LY{m&Sug?CH7A*{t znX&P><9~*`Ki{b?xcE!hPgQltgpif*EP#w zW|4hD$#0Hp-^|mt>8y5RzQO$U*ar!ImTO#9 OxoKDwAwR4B|4jf&$$}mL literal 7154 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≉=n@(9xvPu8!xG`HjAL`@AVwPROvHa*ts_n)(*JuWP(@YJKA ze)m<^qk}y4*<7)3*4?&)T?I&;HoHOOL!= zgNnV5bF%kD?mM=AjX!JolmiyY9si8(#BxXfJnedjjC_lgE zLn~L>&9*Ib{IluXlu4%xZ{8QVuH)V{ElsK;_{mGTfRE=NaN9jm2A0E zYkzr7h=`uFWQW%BUgJ+iQI1i4-MjpHWM^`Hd+6-H&tqa#VT09)EgJK07)|@d_RzLJ zCL??k-?H@{S0vnJ>+Wy6#b&$l>9fzT9$Hj;g4;hIpzWWemzjZ2jn+!PSy2#vd*zA9 z>$Q`5eqEU4oNFNxQn6{XvA(44hL+@#wO0c~>v;DVa-UyzHT1p6pX-KIYj#YRGnb3| zzN;%k__N!tTPm*AUrqYuOy}0d`Q8)^h>7NFpK_~orHS&}?HhNwY&TpkQj%q&&7QH1 z<#)|}0Jnhxf&KXwinRaTzl9yK}@#!4go)W%D# z6&0%;))}!vGkcwUxzWr-#7=r~zAM>BdR*R|7L zVVwa>R2B=TEp!e%cmC*}!fIh-6>sM1z=L+Xy4f$h5<4k+Nj3Ub@oi^Ds|+3+lS{`L z)>|p6=iR!cBK~a4k!9DGytor4b=9S-RvS;O(E_0d0RpqfMF($maDf;%6 zwP#K|6WjHE!DiLxjPI6eTva{1)>dwHweOAhC6|M)88DyEl${uF`tGMQw@1LT-hH|A z`|K|!Z+ty#-TC^8SF^9p`V)Bi)i#+qbKd1!|C@O7gZkeovlNe)Gxt3H^T~l>sd|9f z5f9GCTdLb$hRt1KB{N-Da@z%I?JYNFyyej~X=v$lOxawn^4+JMIV%56Q0e*;x|JrE zox1WlgEmKZtIg=Vl|6Ss<`mz;gmp(AncT6oe6sRXe!#6dqrQcZ#`V#3IauTRR*YxH zD!2a zGSSp5?R}%JP{{Ve9Z{wXyi=cljjX*~aV*LEyr?Fhg^R(O^5rPr~g@cP@|xeJnS%f;o}trKqF zGW*lx@Z$SC&m6A&cx1CpZ`xG3V6BV$PPMaEcdvVuZOZb*F6gTNhR7LjpWOD~@Hcp? zo5*@-%H&q7^Q!BuFMZC@`Znj{rQ~Z|pS+VNnqEDTEAQhg6E!DS{n7G|!B028b4oZl z-OJ?uDa(@FE#L1iS;^YEQ_H()RmEj{b=4)JD_-ng^5Wpl3F{ucNbj)N{Ksrp^ev_B zaW&QrEAxWXW;0JT;C+;RIq=q{Q;lNYTb7y6^y;08af%5d|S z=*vlWE^fH6(x#^A)ZToNY40kYbLYIVSE*fg(n&~YN*9AEf8$-*$(ts(PHkI~_~<`F z)541>7Pp#iM;w{TyLgNBE@2~&D@&Kx*lgoddz0ub)!i(=?f|2M8Q&G{CHV^vp1r3p z8UNCE?(TqAO`lD&h3C6w&6#|Dd!du|`5kOCd!w7CF40t1;=3(cEpf{8nqWv@W73R3 z$u7RVQX2lb*BTc+wV1Z=@~f@4&T1^WHZkVa{o1|TqWu2xo}0Di&GG*XCco5+qtcJ> zFcDdw*KU~4eBjqAtF;fZ_rF^4YJ20l{|u`Zue!&!``@a*)vCwd&Cp$|wlXMrfk2h* zk)3L96Oa3CeYmK9N~D{J+2WN^*VumiEWIgvn|Ee}h3b*8Y41`t-AaCVcoFBl%U#n> zy=<~vym-}#(%qY+WF1$9O%vj<6}#-Y`_YN&u!+}#mX_SMUM2XS;ql^CC)2ETkEdGA z&a?=!nHKE7rF~Y|7K>TUIdMlf9{2h1C2N!7iLP6Z7F^ZknPjCi)x6Y|%P(Qt!DVkX z<_qprw2?_RJd@)i;p-lFZAtHU-)U#sCVbXD=}{0O&3FIm4! zwwfVT_r=RKuh}PEeBwLd&Gh*}bB=sE)gijzYgHZNor!$b7eDS{ww3s}YfZlNf#kg@ zX@zM~?CJLM2TmK!$n$o8WHra>9#6(6A&(bpn*(p=wzVxWo1?tF{O;LjJNc6r-1h$- zzUZRj@?c)oeT_R7iax)?>~n1G*=LPwIWGMbjt|)K<91ZN{3ZW?wi`MNBd0WE34KmX zkk{SATmCmxHtd7x{jVXV(Fd;AUk$vP&m8-oA=Eu|>YakeM~)u4U?LdTdp2{v+=B~2 zyW8HgE1B(F+ok%*Sh{=h#uLxm7CfFa^+XAe+x5~jr(LERc^qE3?1Ep7xD?$sBCHb&rs=Qn{*;qQk6j^PwwK;6#qGo3xi(dBnJky z-OKvd8GUYz*(Ekr-Kd5QeFvk(Wt@Z7Z+|X3CoD@R?XZuD!BXWr@=4P7f92l0C*D8!ZgET0U-SVl(ynOG{-*wu|{l{#YZV9b5 z+3q*V`JUB(hM<^qug4NcO?qbO+FWZcSNbrwLeuk7;#;D_)oUYJV~1n{Cmm4VTvE)f9yK?l-Bb(z&9sa#8TC zDWz+pJ?~C7EB2ZA(J-{$J$Aa#ORq=A!@O$aeyq#WcGvQioBGq~&mMVK+pD^#vONSA zY>~R?5iX$|e(=5f?)f*vQ)OSDnk3X$$~-sc@7HR(nbSAl+Q9qRxzo;PcfLPwSoBH` zy%kp;O0x?*`|Dj4vfSWs$A1R9M!&0`WVJ)HcCYcjzyNmBnLG3Ma=$&X ztSwpd;CjWt^Y7N3ow7>NMx-}8?10X?6Z%vBxlFD0W^Y=R^Kvid%fCoR8^z<%0k|mvg zvi6LV_a?Vin=KEeJ*F%Ed%IU<)?S5vUH07v_Dg$S*t6i#%40?mpZa4bJ>pZ*2oc;; zqxGeF=ijMif%o>TRMdDLV0rEQ{qW5%XI9&;X1Hf!G5N{qLbKG2EsMG9ZJy|AeJQkl zsqS|Ftkhro)4xp1bp*ETSn@C6g;e8@Md!HpUUj=vu;P-Ztb? zh2wdn{@wW;md^se=RRbwIc2qW?o;Ix48L{VpPwx$)VvyWhqWY1M2G9ZqwmjVO)|FY zW?2%z(;&YtXzA*v!(PP;qC#KmWLD2;>WPlAu9=^o^{(w+>RxWQ*_>hef#2QZ3odTE z6t?(;POL_Bq4deNigwATnbQ7|IqE%=N$Yj+I}_bWR*+v?@-aIw+F&qm)%>pXv(*?)tA<9{=)om0(;5g+miMg zIiFr_+&$l9I`gd$tK)d*O6{_fXWzI&ZHIX0;|<#X83f~I8wxhIP74s2|8C{8gNvT5 z)#;D?8o8Wf(UKj@_Z@t-x!DQZ$mDYP4UU_8lhpV=emhRk>xX-lkGq-isJ=4(F<~3`o zE=->9dHe6xyXD!HD^zy2`!l|%V zQyzC&t(+j=XYIG|iCI)pQCsWQ*Up*`zC5ehzx2xOPVQW%F0VG1h-GgTf46xad90^j zEAz3>zDEVG`@TO3eObY>@{j9^6>FV+3qP-p+#Dq{nO7vJU5U3=Yx#GvUwLnAZ!B!xs`F&lpM165 z-WPda>*!_$ZQZde+h)nl?;+)VCsdVZFvcGjf4yr?{nbC^72r_qeF#qipMiwA9dX`m&wv= z)7P+zh3edsIBR~ERx$j0bT@M*uhr{FixwTBzB=ug?Mmh^^I9*MC7FhQSpM}M>!Z^r zF1anxv5nzgxNhUBGbi^y-S(MBYCD^jNA@YdG*Byt|D9g-^qd)e-~AkaI!0WuY};*b zdi}cH=ZWtp%@KJaZU1fQ|04{#0*nld%uKAzETGeA89?V!2{I@eItD5v7B)^4Sh&%^ z;oygaivbTm7BoONRWRBs{%3e(*`jd3Cn0>JgJF$R0E3j1%hJ{d-@I9;ep_VXb4%#Q z0+*tt5gXL&Bn4B~9x9emR^^S^u^}p%gQ}~r9?R_-w3DJFugtQ#EGuD`l(#53yw&=U0nh5CK2wy+19T6qk#O1Yn18D0 z+pb9yqgVWTy~_27!2(;aE;}_QPm}yVQ<*!T?LDqt)wKAn*R=l(ZS5QPFTBdZe@tKY zamPIYt~pyisk3u)>X~uYX`S&rBYutBjQg9ucZ}Jbga6LgKi4*3v5(`LrCGG85kpVI72c;0H8`!@#$UYoLB4}xO~yZOk!J~)=f6Gg zw&TMQi>bXg^ycfXGXFTq_m-E{CCeiksm+e_(-sAKO>H=srg!#*Q%90yC%30mURB)H z$p>=`{2iU%wxtPM`otKVp1+Yg=n%8_J=f;HXw(I_wwlCCu8NgPXqoz8^M)PZcywZop zw!%eG)73jtwN2#{?k!k-`{Pp~r!%jwEqWIl%o232adyByt8N?Txu>JN#^*o z#=r^t1NZW3@-B)m`*&)~n)_+>@%a~nf~7?6&2UL8T(?=~otQOmlJ*O;ozWiy56e7a zWqnu>$8>Fhou=kh;UbqBwW%LWihn;1__BF=YO7pxrG9Wr$LA#lEFKBh(l!TiI5?h4 zTX0fkB8NHiUL{uVXlK=3&RHU#cX=$>aw54de5u0Th*akiA!e=MO$X*aXgjmh?0rDn znwc}@Cp?+D(P`q5Q$>4nZ>27pB%LzLHg9!Y&Vw17-Ci$V5;$KrT8Bv}Xqx4Ud5YN; zA2;;4+%#Xy6}q_W#LNcu*|%mTZ(kw4ar?)kXV*&4KkQNOcS0a+e!=wiN1CUqSdV{` zdv#Q3g5{q6N9+9k{hi`xt!27Vzq$LOw*T@8|L)~x?B4n0hvYl$m`6nk?*xuLWiL{B zA72u*zjRKc$>*KkKJr%a3%7cz$UJ$s+RkrFYr+?qFC5xO4O4zHul4$nr2Dkf+T{D@ z?>sgQax=YGJe4olpH(-P<$!*eDnkR)fgp~sO`GM?Z%5|8oZa!tHble?whjrE)sP9gxTLPVQ9FPR6)})!G#+Hiv9`H`gs&qUx*h zjZE>EZ!+Ilz136i6z9`jsu{~EedgX#nZ}G)+`Bh@U!R~}XHd(yF?^5CERQ3_BEqt- zr>@c5y(Ck`LDi!z@@nYhA|u)Bfh=%S1G<>V2Ot?`D|dqs?CQ zcV%Sio+jw60-E`Lfo37#Fndz@G!0E&3mDq z%U&Sc`;ob6d>oK{L31xj3Gnis+Dxrq0!-jV5*Yc4*MnzGtwQPS<=r8%iW z4;@(6EY$a!aN2byvs}i?YahC~=We|}_1+$~r-xF!6!cz+FZeuxzstRz<$y(6wOz-v z2*W8Y$2?_MurP6$p4-*;s#_|c-6*=lr)K5f+TCj=&1U$~W_rP?cf*s*yVpjTsC zRVdR}SYfg`ww3M8-d6#+1`{(a9Jg&h$Kw@ia?n-3_$8O(9>qT!7&?tKU!=YWsr?Zo zq`TYv`(XKTe|6&S5wBbvM+*y-VdzR+Lk;G+o0TjNq1L&<00Kk?k57)7@SaK z^4s!xRkF%oW~Qk}e1s*1@~%xg9~9?Q&ha)Z!jeI+^xoZ!^13Cw;^kA+=Y7ptV14ns z%e;{D`f~2}lU}pRGg>*kvAVQ!$(hoN`_k{tIi|r0x329r2+j!Ao(n$rZ@N*eXfR1-p$TJK+U(WuJsgA@&RcACoBs4v>c4XT z&uJoi*4|unu-s-v{lmU!mi~x%8?CaZv*)+}s9pWH_|vDAD_bXo%{}%jBkT9+`%J1% zCCfZc&(15l@AGiMN!9bKo_*(13eEVkFC@bK4@+gzXO>Az`x*C7`!jJwlrE8XJgi-NRUt9k5P`?uBFWryr@biLybY;CzS$?xmAb9031XYA#DA`uyL$?!FwgirFf zU2NHN%QB9N%P=%tNWXReL9vA5Ntez09{v-ac5;Ewj}(pSi~T$)`uxvRGPyoB$}-

    e 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 UqSQ1lb3;QzV=h%ySARDy09pVdL;wH) -- GitLab From f0cca6fb9d345c0f2604051770bbd49940db82b9 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 20 Mar 2018 11:42:42 -0600 Subject: [PATCH 082/675] rm pdf equations --- doc/src/Eqs/force_spin_zeeman.pdf | Bin 55223 -> 0 bytes doc/src/Eqs/pair_spin_exchange_interaction.pdf | Bin 61879 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/src/Eqs/force_spin_zeeman.pdf delete mode 100644 doc/src/Eqs/pair_spin_exchange_interaction.pdf diff --git a/doc/src/Eqs/force_spin_zeeman.pdf b/doc/src/Eqs/force_spin_zeeman.pdf deleted file mode 100644 index 2f53946ae420d796e0f8e1dbfd85ffd6b29dd493..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55223 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 diff --git a/doc/src/Eqs/pair_spin_exchange_interaction.pdf b/doc/src/Eqs/pair_spin_exchange_interaction.pdf deleted file mode 100644 index d1246c15aab0daa300e114536ae1b729f0a61798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61879 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 Date: Tue, 20 Mar 2018 16:20:48 -0600 Subject: [PATCH 083/675] Documentation V1 --- .../fix_integration_spin_stdecomposition.jpg | Bin 171962 -> 50669 bytes doc/src/Eqs/fix_langevin_spin_sLLG.jpg | Bin 25663 -> 9065 bytes doc/src/Eqs/force_spin_aniso.jpg | Bin 18405 -> 6089 bytes doc/src/Eqs/force_spin_zeeman.jpg | Bin 20886 -> 6517 bytes doc/src/Eqs/pair_spin_exchange_forces.jpg | Bin 43983 -> 13720 bytes doc/src/Eqs/pair_spin_exchange_function.jpg | Bin 32386 -> 10597 bytes .../Eqs/pair_spin_exchange_interaction.jpg | Bin 20969 -> 6661 bytes doc/src/Eqs/pair_spin_me_forces.jpg | Bin 42008 -> 13207 bytes doc/src/Eqs/pair_spin_me_interaction.jpg | Bin 23008 -> 23005 bytes doc/src/Eqs/pair_spin_soc_dmi_interaction.jpg | Bin 21251 -> 7161 bytes doc/src/fix_integration_spin.txt | 12 +++++------- doc/src/fix_langevin_spin.txt | 7 +++---- doc/src/fix_rigid.txt | 6 +++--- doc/src/fix_thermal_conductivity.txt | 4 ++-- doc/src/pair_gran.txt | 6 +++--- doc/src/pair_meam_spline.txt | 4 ++++ doc/src/pair_spin_exchange.txt | 9 ++++----- doc/src/pair_spin_me.txt | 7 +++---- doc/src/pair_spin_soc_dmi.txt | 9 ++++----- doc/src/pair_spin_soc_neel.txt | 8 ++++---- 20 files changed, 35 insertions(+), 37 deletions(-) diff --git a/doc/src/Eqs/fix_integration_spin_stdecomposition.jpg b/doc/src/Eqs/fix_integration_spin_stdecomposition.jpg index 566b21544a912117f111d9b1e79090e9f41138b3..9cd8214b4c2be66334502ddb3fa8d2cc607b02c9 100644 GIT binary patch literal 50669 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 SG~-;iwtFDl#ee?z|C<2If-ZCb literal 171962 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 ^?z3F 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
    ttHYdo4@ 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 AnE(I) diff --git a/doc/src/Eqs/fix_langevin_spin_sLLG.jpg b/doc/src/Eqs/fix_langevin_spin_sLLG.jpg index dd0f08f8c223430c2bf7d006913551cd423522fe..f83aadd9eb1f61a70f34ab91ca89bfb32a9d7930 100644 GIT binary patch delta 8741 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

    hdmDxrIm1 zFI7;ryc4?Wx_vIc-k}cWF?#RKj+L@uJ-o{XcCi?+!L~>gCLkGZgX& zovM{3k@lbAn9qNPG{4#o<#%^q*jR*bTe$J<{QXb1K9ak2b8XQhw;9UbB|3d`*#j*M zmrpEZ-X$V^@Jf06al3gNtAsYa6_UKscqry>)*t50^EoW4y}1`I+W+LG{+W_9FTbNJ<@s;I%sUS1&!~6(8ohPm+sGTW*LUrHu2*)d z?aF4I$_wq)%2=b{#^Qx zxtB}8jw^w$Io^qf)r;O?;J&#_c5nKZ_rK3NmP+d`3u&Lq_fPixAr)7?iKa$uW+!$2 zTu#qdZf4n-rrNpjleJxKccANkhD%4httK?@6g(NE&GY`k2G*+zpR9jbHK)AeKh*!4 zaih_Mg|FB&i#I1Zcqs0frzga&Ds!|@cV!qamv#7*TlxGNtw%q49lBS4$nb-mo$|7{ z4_D=m{;?77SfIMFYJDZc6|o7E6BRD4KTFF*?@kT~ z;hKFdn0-x>qTtHx+zpS}H>Py0u&!ra9=Y+7fsUgePuF6lF1d=@F%l_Y8s{tzhv}$rm0#3>(THh z>p0WBzRxwQ6>$DMQJPni`&Lfo^6Hr-Dp${XiL@Neee_~e!sHc4^d%?!xogej;KTU2 zp0A~$U3tn6;m7AY)VFWC+`-2zk?`GF?}EBgpAUoImFv$ve|>zqui6j9RaFaqTD{U_2|vEefQjX>c`T9JC}DJ5Q($TNr=c6arIRGp!6uJ zBy~fAwuc4Rv-67$WHN2kGUmH<%H0YIFxVp~aIwBn_U*FXlqX!ysT(x(mz`naX1K)Q zbY8^z$G}!Cbq7s4>i148rrfllwn5K&b8r;@q(G*t=lcO*F0<7yMKBfmn4Hg`<8=mc6;no z_I-4fN1=hEqs?z$S;(6#@w7d!BaFQ3`@ip0vKLRVcXU~H{E$nMQj+SM31L4>8kodF zj4}&V6(?{s_FoO$#kGBzf76G@iiO6WjIk5nX|Vs$a+|U_B(te2)ACns)z=r1juSH2 z9T>kYxGFV8^3?m28@VE^JQ_Rwl~v|!_Sn=>c)Kyc=~_n4gL!lOw|t%*)x-Gt$_XA; x#$8W#=W2wQCf1~`sH@xIwfFjCi5{<06Xq(E6$Y`*yJ>b}IWIr=pZ))D0sw+5cpm@& literal 18405 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

      8&_tU$$w%_NBq9KbdQIKj$rf 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 oeW9LJkVxJhskmiwK7yNGojqf;K;b09QDZ>;M1& diff --git a/doc/src/Eqs/force_spin_zeeman.jpg b/doc/src/Eqs/force_spin_zeeman.jpg index 424460970b13da25a6ab3e11c7db5d34c72dd395..14fb5500cf3328480bd30dc352de699575201bf8 100644 GIT binary patch delta 6343 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 M42V1UoB#h!04jtYrvLx| literal 20886 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\Us;w)*kKV`q9UBjN>vk!sx`xQj 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 literal 32386 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

      h4;8J&YSSK{O^zMe$x6{|nQl4?5Z}#HCEO(b+ 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 diff --git a/doc/src/Eqs/pair_spin_exchange_interaction.jpg b/doc/src/Eqs/pair_spin_exchange_interaction.jpg index 32670444b30ce7d24d9b67567cab11b584b6833b..d51524d27ca413ec4ded189107c2219b061f7d7e 100644 GIT binary patch delta 6419 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 DRV_pk literal 20969 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 OxoKDwAwR4B|4jf&$$}mL diff --git a/doc/src/Eqs/pair_spin_me_forces.jpg b/doc/src/Eqs/pair_spin_me_forces.jpg index c2f181f1318027cfe084057c3ef4988c6c096034..d9ae440fb577c5f33d23029ff187175ba7163ac4 100644 GIT binary patch literal 13207 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ΜZw?O+kZr6dgtAD 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 G-vj`$<~0xi literal 42008 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≉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

      txt2html - a text to HTML conversion tool +

      +

      txt2html is a simple tool for converting text files into HTML files. +Text files can contain simple formatting and mark-up commands that +txt2html converts into HTML. +

      +

      txt2html was written by Steve Plimpton. I use it for +documentation and WWW pages. Anna Reese added the table +formatting options. +

      +

      See the example.txt and example.html +files in the txt2html directory for examples of what all the +formatting commands and mark-up syntax end up looking like in HTML. +

      + + + + + + +
      + +

      Syntax: +

      +
      txt2html file +
      read from text file, write HTML to standard output +
      txt2html file1 file2 file3 ... +
      read each argument as text file, write one HTML file per argument +
      +

      Input files are first opened with the specified name. If that fails, +a ".txt" suffix is added. Output files are created with an ".html" +suffix, which is either added or replaces the ".txt" suffix. +

      +
      + +

      Compiling: +

      +

      The source for txt2html is a single C++ file. Compile it by typing: +

      +
      g++ -o txt2html txt2html.cpp 
      +
      +
      + +

      How the tool works: +

      +

      txt2html reads a text file, one paragraph at a time. A paragraph +ends with: +

      +
      • a blank line +
      • a line whose final word starts with ":" (a format string) +
      • the end of the file +
      +

      Any line in the paragraph which ends with "\" is concatenated to the +following line by removing the "\" character and following newline. +This can be useful for some of the formatting commands described below +that operate on individual lines in the paragraph. +

      +

      If a paragraph starts with a "<" character and ends with a ">" +character, it is treated as raw HTML and is written directly into the +output file. +

      +

      If a paragraph does not end with a format string, then it is +surrounded with HTML paragraph markers (<P> and </P>), +mark-up is performed, and the paragraph is written to the +output file. +

      +

      If the paragraph ends with a format string, then formatting +is performed, mark-up is performed, and the paragraph is +written to the output file. +

      +
      + +Formatting: + +

      A format string is the last word of a paragraph if it starts with a +":" character. A format string contains one or more comma-separated +commands, like ":ulb,l" or ":c,h3". Note that a format string cannot +contain spaces, else it would not be the last word. An individual +command can have 0 or more arguments: +

      +
      • b or line() = 0 arguments +
      • image(file) = 1 argument +
      • link(alias,value) = 2 or more comma-separated arguments +
      +

      Format commands add HTML markers at the beginning or end of the +paragraph and individual lines. Commands are processed in the order +they appear in the format string. Thus if two commands add HTML +markers to the beginning of the paragraph, the 2nd command's marker +will appear 2nd. The reverse is true at the end of the paragraph; the +2nd command's marker will appear 1st. Some comands, like line or +image make most sense if used as stand-alone commands without an +accompanying paragraph. +

      +

      Commands that format the entire paragraph: +

      +
      • p --> surround the paragraph with <P> </P> +
      • b --> put <BR> at the end of the paragraph +
      • pre --> surround the paragraph with <PRE> </PRE> +
      • c --> surround the paragraph with <CENTER> </CENTER> +
      • h1,h2,h3,h4,h5,h6 --> surround the paragraph with <H1> </H1>, etc +
      +

      Commands that format the lines of the paragraph as a list: +

      +
      • ul --> surround the paragraph with <UL> </UL>, put <LI> at start of every line +
      • ol --> surround the paragraph with <OL> </OL>, put <LI> at start of every line +
      • dl --> surround the paragraph with <DL> </DL>, alternate <DT> and <DD> at start of every line +
      +

      Commands that treat the paragraph as one entry in a list: +

      +
      • l --> put <LI> at the beginning of the paragraph +
      • dt --> put <DT> at the beginning of the paragraph +
      • dd --> put <DD> at the beginning of the paragraph +
      • ulb --> put <UL> at the beginning of the paragraph +
      • ule --> put </UL> at the end of the paragraph +
      • olb --> put <OL> at the beginning of the paragraph +
      • ole --> put </OL> at the end of the paragraph +
      • dlb --> put <DL> at the beginning of the paragraph +
      • dle --> put </DL> at the end of the paragraph +
      +

      Commands applied to each line of the paragraph: +

      +
      • all(p) --> surround each line with <P> </P> +
      • all(c) --> surround each line with <CENTER> </CENTER> +
      • all(b) --> append a <BR> to each line +
      • all(l) --> prepend a <LI> to each line +
      +

      Special commands (all HTML is inserted at beginning of paragraph): +

      +
      • line --> insert a horizontal line = <HR> +
      • image(file) --> insert an image = <IMG SRC = "file"> +
      • image(file,link) --> insert an image that when clicked on goes to link +
      • link(name) --> insert a named link that can be referred to elsewhere (see mark-up) = <A NAME = "name"></A> +
      • link(alias,value) --> define a link alias that can be used elsewhere in this file (see mark-up) +
      +

      Table command: +

      +
      • tb(c=3,b=5,w=100%,a=c) --> format the paragraph as a table +
      +

      Arguments within tb() can appear in any order and are all optional, +since they each have default values. +

      +
      • c=N --> Make an N-column table. Treat the paragraph as one + long list of entries (separated by the separator character) and put + them into N columns one after the other. If N = 0, treat each line + of the paragraph as one row of the table with as many columns as + there are maximum entries in any line. Default is c=0. + +
      • s=: --> Use the character string following the equal sign as + the separator between entries. Default separator is a comma "," which + you cannot specify directly since the comma delimits the tb() arguments + +
      • b=N --> Create a border N pixels wide. If N is 0, there is no + border between or outside the cells. If N is 1, there is a minimal + border between and outside all cells. For N > 1, the border between + cells does not change but the outside border gets wider. Default is + b=1. + +
      • w=N or w=N% --> The first form makes each cell of the table at + least N pixels wide. The second form makes the entire table take up + N% of the width of the browser window. Default is w=0 which means + each cell will be just as wide as the text it contains. + +
      • a=X --> Align the entire table at the left, center, or right of the + browser window, for X = "l", "c", or "r". Default is a=c. + +
      • ea=X --> Align the text in each entry at the left, center, or + right of its cell, for X = "l", "c", or "r". Default is browser's + default (typically left). + +
      • eva=X --> Vertically align the text in each entry at the + top, middle, baseline, or bottom of its cell, for X = "t", "m", "ba", + or "bo". Default is browser's default (typically middle). + +
      • cwM=N or cwM=N% --> The first form makes column M be at least + N pixels wide. The second form makes column M take up N% of the + width of the browser window. This setting overrides the "w" + argument for column M. Only one column per table can be tweaked + with this argument. Default is no settings for any column. + +
      • caM=X --> Align the text in each entry of column M at the left, + center, or right of its cell, for X = "l", "c", or "r". This + setting overrides the "ea" argument for column M. Only one column + per table can be tweaked with this argument. Default is no settings + for any column. + +
      • cvaM=X --> Vertically align the text in each entry of column m + at the top, middle, baseline, or bottom of its cell, for X = "t", + "m", "ba", or "bo". This setting overrides the "eva" argument for + column M. Only one column per table can be tweaked with this + argument. Default is no settings for any column. +
      +
      + +Mark-up: + +

      The text of the paragraph is scanned for special mark-up characters +which are converted into HTML. +

      +

      Bold and italic characters: +

      +
      • "[" (left brace) --> turn-on bold by inserting a <B> +
      • "]" (right brace) --> turn-off bold by inserting a </B> +
      • "{" (left bracket) --> turn-on italics by inserting a <I> +
      • "}" (right bracket) --> turn-off italics by + inserting a </I>
      + +

      If a backspace '\' precedes any of the bold/italic mark-up characters, +then mark-up is not performed; the mark-up character is simply left in +the text. +

      +

      Links are inserted by enclosing a section of text in double quotes, +and appending an underscore to the ending quote, followed by the link. +The link ends when whitespace is found, except that trailing +punctuation characters (comma, period, semi-colon, colon, question +mark, exclamation point, parenthesis) are not considered part of the +link. +

      +

      A link of the form "text"_link becomes <A HREF = +"link">text</A> in the HTML output. The only exception is if +"link" is defined elsewhere in the file as an alias (see the link +command above). In that case, the value is used instead of the alias +name.

      + +

      With these rules, links can take several forms. +

      +
      • "This links"_#abc to another part of this file which is +labeled with a :link(abc) command.
        +
      • "This links"_other.html to another file named other.html.
        +
      • "This links"_other.html#abc to another file which has an "abc" +location defined internally.
        +
      • "This links"_http://www.google.com to a WWW site.
        +
      • "This"_M12 could be used in place of any of the above forms. It +requires an alias like :link(M12,http://www.google.com) to be defined +elsewhere in the file.
      + + -- GitLab From 4f8d1893e9e4fddb2bc0de01b76a27acccd8b9b9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Jun 2018 18:01:28 -0400 Subject: [PATCH 146/675] restore fix for formatting cleanup --- doc/src/Section_howto.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt index 6ee2eecda9..9e6e9f8665 100644 --- a/doc/src/Section_howto.txt +++ b/doc/src/Section_howto.txt @@ -2838,7 +2838,6 @@ CS-Info # header of additional section :pre 4 2 5 3 6 3 -The interactions between the 7 4 8 4 (...) :pre -- GitLab From 93d6510d345f3483fab44530f056313593896f40 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Jun 2018 18:02:40 -0400 Subject: [PATCH 147/675] restore deleted file --- doc/src/Eqs/umbrella.jpg | Bin 0 -> 20442 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/src/Eqs/umbrella.jpg diff --git a/doc/src/Eqs/umbrella.jpg b/doc/src/Eqs/umbrella.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5783b54ea34556561221c695f878503a5d755c21 GIT binary patch literal 20442 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 literal 0 HcmV?d00001 -- GitLab From dade67664de3a93a45c71838e96e1576be2130db Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Jun 2018 18:07:26 -0400 Subject: [PATCH 148/675] restore bugfix for refrences --- doc/src/fix_rigid.txt | 6 +++--- doc/src/fix_thermal_conductivity.txt | 4 ++-- doc/src/pair_gran.txt | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/src/fix_rigid.txt b/doc/src/fix_rigid.txt index 63c7f8e9db..ec7ed4f2b1 100644 --- a/doc/src/fix_rigid.txt +++ b/doc/src/fix_rigid.txt @@ -118,8 +118,8 @@ Examples of large rigid bodies are a colloidal particle, or portions of a biomolecule such as a protein. Example of small rigid bodies are patchy nanoparticles, such as those -modeled in "this paper"_#Zhang3 by Sharon Glotzer's group, clumps of -granular particles, lipid molecules consiting of one or more point +modeled in "this paper"_#Zhang1 by Sharon Glotzer's group, clumps of +granular particles, lipid molecules consisting of one or more point dipoles connected to other spheroids or ellipsoids, irregular particles built from line segments (2d) or triangles (3d), and coarse-grain models of nano or colloidal particles consisting of a @@ -856,5 +856,5 @@ Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117. [(Miller)] Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, J Chem Phys, 116, 8649 (2002). -:link(Zhang3) +:link(Zhang1) [(Zhang)] Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004). diff --git a/doc/src/fix_thermal_conductivity.txt b/doc/src/fix_thermal_conductivity.txt index 17631ac7f5..0353c095b2 100644 --- a/doc/src/fix_thermal_conductivity.txt +++ b/doc/src/fix_thermal_conductivity.txt @@ -136,7 +136,7 @@ kinetic energy of atoms that are in constrained molecules, e.g. via "fix shake"_fix_shake.html or "fix rigid"_fix_rigid.html. This is because application of the constraints will alter the amount of transferred momentum. You should, however, be able to use flexible -molecules. See the "Zhang paper"_#Zhang1 for a discussion and results +molecules. See the "Zhang paper"_#Zhang2 for a discussion and results of this idea. When running a simulation with large, massive particles or molecules @@ -158,6 +158,6 @@ The option defaults are swap = 1. :link(Muller-Plathe1) [(Muller-Plathe)] Muller-Plathe, J Chem Phys, 106, 6082 (1997). -:link(Zhang1) +:link(Zhang2) [(Zhang)] Zhang, Lussetti, de Souza, Muller-Plathe, J Phys Chem B, 109, 15060-15067 (2005). diff --git a/doc/src/pair_gran.txt b/doc/src/pair_gran.txt index 93aab51e5c..d7e87af013 100644 --- a/doc/src/pair_gran.txt +++ b/doc/src/pair_gran.txt @@ -45,7 +45,7 @@ pair_style gran/hooke 200000.0 70000.0 50.0 30.0 0.5 0 :pre The {gran} styles use the following formulas for the frictional force between two granular particles, as described in "(Brilliantov)"_#Brilliantov, "(Silbert)"_#Silbert, and -"(Zhang)"_#Zhang4, when the distance r between two particles of radii +"(Zhang)"_#Zhang3, when the distance r between two particles of radii Ri and Rj is less than their contact distance d = Ri + Rj. There is no force between the particles when r > d. @@ -115,7 +115,7 @@ gamma_t is in units of (1/(time*distance)). Note that in the Hookean case, Kn can be thought of as a linear spring constant with units of force/distance. In the Hertzian case, Kn is like a non-linear spring constant with units of force/area or -pressure, and as shown in the "(Zhang)"_#Zhang4 paper, Kn = 4G / +pressure, and as shown in the "(Zhang)"_#Zhang3 paper, Kn = 4G / (3(1-nu)) where nu = the Poisson ratio, G = shear modulus = E / (2(1+nu)), and E = Young's modulus. Similarly, Kt = 4G / (2-nu). (NOTE: in an earlier version of the manual, we incorrectly stated that @@ -267,5 +267,5 @@ p 5382-5392 (1996). [(Silbert)] Silbert, Ertas, Grest, Halsey, Levine, Plimpton, Phys Rev E, 64, p 051302 (2001). -:link(Zhang4) +:link(Zhang3) [(Zhang)] Zhang and Makse, Phys Rev E, 72, p 011301 (2005). -- GitLab From 605b4dca22bb01b6283db4c0a253c9f69f6ea765 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Jun 2018 18:09:59 -0400 Subject: [PATCH 149/675] fix overlooked merge conflict --- doc/src/pair_meam_spline.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/doc/src/pair_meam_spline.txt b/doc/src/pair_meam_spline.txt index 086854a0eb..6653b397a0 100644 --- a/doc/src/pair_meam_spline.txt +++ b/doc/src/pair_meam_spline.txt @@ -164,9 +164,5 @@ for more info. Kress, Modelling Simulation Materials Science Engineering, 8, 825 (2000). -<<<<<<< HEAD :link(Zhang4) -======= -:link(Zhang2) ->>>>>>> Documentation V1 [(Zhang)] Zhang and Trinkle, Computational Materials Science, 124, 204-210 (2016). -- GitLab From d4861e71d29418e51fb896f9386fe8701f64aa29 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Jun 2018 18:36:30 -0400 Subject: [PATCH 150/675] integrate SPIN package into documentation, fix links and make it consistent --- doc/src/Section_commands.txt | 8 ++++++++ doc/src/computes.txt | 1 + doc/src/fix_langevin_spin.txt | 17 ++++++++-------- doc/src/fixes.txt | 3 +++ doc/src/lammps.book | 8 ++++++++ doc/src/pair_spin_exchange.txt | 20 +++++++++---------- ...pair_spin_me.txt => pair_spin_magelec.txt} | 20 +++++++++---------- doc/src/pairs.txt | 4 ++++ doc/src/tutorials.txt | 1 - src/SPIN/pair_spin.cpp | 0 src/SPIN/pair_spin.h | 0 src/SPIN/pair_spin_dmi.cpp | 0 src/SPIN/pair_spin_dmi.h | 0 src/SPIN/pair_spin_exchange.cpp | 0 src/SPIN/pair_spin_exchange.h | 0 src/SPIN/pair_spin_magelec.cpp | 0 src/SPIN/pair_spin_magelec.h | 0 src/SPIN/pair_spin_neel.cpp | 0 src/SPIN/pair_spin_neel.h | 0 19 files changed, 52 insertions(+), 30 deletions(-) rename doc/src/{pair_spin_me.txt => pair_spin_magelec.txt} (86%) mode change 100755 => 100644 src/SPIN/pair_spin.cpp mode change 100755 => 100644 src/SPIN/pair_spin.h mode change 100755 => 100644 src/SPIN/pair_spin_dmi.cpp mode change 100755 => 100644 src/SPIN/pair_spin_dmi.h mode change 100755 => 100644 src/SPIN/pair_spin_exchange.cpp mode change 100755 => 100644 src/SPIN/pair_spin_exchange.h mode change 100755 => 100644 src/SPIN/pair_spin_magelec.cpp mode change 100755 => 100644 src/SPIN/pair_spin_magelec.h mode change 100755 => 100644 src/SPIN/pair_spin_neel.cpp mode change 100755 => 100644 src/SPIN/pair_spin_neel.h diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index 3dabdbeaa1..ef830951e6 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -583,6 +583,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. "indent"_fix_indent.html, "latte"_fix_latte.html, "langevin (k)"_fix_langevin.html, +"langevin/spin"_fix_langevin_spin.hmtl, "lineforce"_fix_lineforce.html, "momentum (k)"_fix_momentum.html, "move"_fix_move.html, @@ -606,6 +607,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. "nve/line"_fix_nve_line.html, "nve/noforce"_fix_nve_noforce.html, "nve/sphere (o)"_fix_nve_sphere.html, +"nve/spin"_fix_nve_spin.html, "nve/tri"_fix_nve_tri.html, "nvt (iko)"_fix_nh.html, "nvt/asphere (o)"_fix_nvt_asphere.html, @@ -618,6 +620,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. "planeforce"_fix_planeforce.html, "poems"_fix_poems.html, "pour"_fix_pour.html, +"precession/spin"_fix_precession_spin.html, "press/berendsen"_fix_press_berendsen.html, "print"_fix_print.html, "property/atom (k)"_fix_property_atom.html, @@ -824,6 +827,7 @@ KOKKOS, o = USER-OMP, t = OPT. "sna/atom"_compute_sna_atom.html, "snad/atom"_compute_sna_atom.html, "snav/atom"_compute_sna_atom.html, +"spin"_compute_spin.html, "stress/atom"_compute_stress_atom.html, "temp (k)"_compute_temp.html, "temp/asphere"_compute_temp_asphere.html, @@ -1017,6 +1021,10 @@ KOKKOS, o = USER-OMP, t = OPT. "snap (k)"_pair_snap.html, "soft (go)"_pair_soft.html, "sw (giko)"_pair_sw.html, +"spin/dmi"_pair_spin_dmi.html, +"spin/exchange"_pair_spin_exchange.html, +"spin/magelec"_pair_spin_magelec.html, +"spin/neel"_pair_spin_neel.html, "table (gko)"_pair_table.html, "tersoff (giko)"_pair_tersoff.html, "tersoff/mod (gko)"_pair_tersoff_mod.html, diff --git a/doc/src/computes.txt b/doc/src/computes.txt index 1b64e2e5b4..12de3e2788 100644 --- a/doc/src/computes.txt +++ b/doc/src/computes.txt @@ -95,6 +95,7 @@ Computes :h1 compute_smd_ulsph_stress compute_smd_vol compute_sna_atom + compute_spin compute_stress_atom compute_tally compute_tdpd_cc_atom diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index 246ee02331..51f085ebdc 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -27,7 +27,7 @@ fix 2 all langevin/spin 300.0 0.01 21 :pre Apply a Langevin thermostat as described in "(Mayergoyz)"_#Mayergoyz1 to the magnetic spins associated to the atoms. -Used with "fix integration spin"_fix_integration_spin.html, this command performs +Used with "fix nve/spin"_fix_nve_spin.html, this command performs Brownian dynamics (BD). A random torque and a transverse dissipation are applied to each spin i according to the following stochastic differential equation: @@ -48,9 +48,9 @@ Note: due to the form of the sLLG equation, this fix has to be defined just before the nve/spin fix (and after all other magnetic fixes). As an example: -fix 1 all force/spin zeeman 0.01 0.0 0.0 1.0 +fix 1 all precession/spin zeeman 0.01 0.0 0.0 1.0 fix 2 all langevin/spin 300.0 0.01 21 -fix 3 all integration/spin lattice yes :pre +fix 3 all nve/spin lattice yes :pre is correct, but defining a force/spin command after the langevin/spin command would give an error message. @@ -80,16 +80,15 @@ The {langevin/spin} fix is part of the SPIN package. This style is only enabled if LAMMPS was built with this package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. -The numerical integration has to be performed with {fix/nve/spin} -when {langevin/spin} is enabled. +The numerical integration has to be performed with {fix nve/spin} +when {fix langevin/spin} is enabled. -This fix has to be the last defined magnetic fix before the integration fix -("fix integration spin"_fix_integration_spin.html). +This fix has to be the last defined magnetic fix before the time +integration fix (e.g. {fix nve/spin}). [Related commands:] -"fix integration spin"_fix_integration_spin.html, -"pair spin"_pair_spin.html +"fix nve/spin"_fix_nve_spin.html, "fix precession/spin"_fix_precession_spin.html [Default:] none diff --git a/doc/src/fixes.txt b/doc/src/fixes.txt index 79c2f75b8b..9510217d02 100644 --- a/doc/src/fixes.txt +++ b/doc/src/fixes.txt @@ -61,6 +61,7 @@ Fixes :h1 fix_langevin fix_langevin_drude fix_langevin_eff + fix_langevin_spin fix_latte fix_lb_fluid fix_lb_momentum @@ -99,6 +100,7 @@ Fixes :h1 fix_nve_manifold_rattle fix_nve_noforce fix_nve_sphere + fix_nve_spin fix_nve_tri fix_nvk fix_nvt_asphere @@ -114,6 +116,7 @@ Fixes :h1 fix_planeforce fix_poems fix_pour + fix_precession_spin fix_press_berendsen fix_print fix_property_atom diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 0764c593f7..22be6c7f53 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -176,6 +176,7 @@ fix_ipi.html fix_langevin.html fix_langevin_drude.html fix_langevin_eff.html +fix_langevin_spin.html fix_latte.html fix_lb_fluid.html fix_lb_momentum.html @@ -213,6 +214,7 @@ fix_nve_line.html fix_nve_manifold_rattle.html fix_nve_noforce.html fix_nve_sphere.html +fix_nve_spin.html fix_nve_tri.html fix_nvk.html fix_nvt_asphere.html @@ -229,6 +231,7 @@ fix_pimd.html fix_planeforce.html fix_poems.html fix_pour.html +fix_precession_spin.html fix_press_berendsen.html fix_print.html fix_property_atom.html @@ -381,6 +384,7 @@ compute_smd_ulsph_strain_rate.html compute_smd_ulsph_stress.html compute_smd_vol.html compute_sna_atom.html +compute_spin.html compute_stress_atom.html compute_tally.html compute_tdpd_cc_atom.html @@ -506,6 +510,10 @@ pair_sph_lj.html pair_sph_rhosum.html pair_sph_taitwater.html pair_sph_taitwater_morris.html +pair_spin_dmi.html +pair_spin_exchange.html +pair_spin_magelec.html +pair_spin_neel.html pair_srp.html pair_sw.html pair_table.html diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index 90a75705c7..97b6d0b34f 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -15,42 +15,42 @@ pair_style spin/exchange cutoff :pre cutoff = global cutoff pair (distance in metal units) :ulb,l :ule - + [Examples:] -pair_style spin/exchange 4.0 +pair_style spin/exchange 4.0 pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 pair_coeff 1 2 exchange 6.0 -0.01575 0.0 1.965 :pre [Description:] Style {spin/exchange} computes the exchange interaction between -pairs of magnetic spins: +pairs of magnetic spins: :c,image(Eqs/pair_spin_exchange_interaction.jpg) where si and sj are two neighboring magnetic spins of two particles, rij = ri - rj is the inter-atomic distance between the two particles, and J(rij) is a function defining the intensity and the sign of the exchange -interaction. +interaction. This function is defined as: :c,image(Eqs/pair_spin_exchange_function.jpg) -where a, b and d are the three constant coefficients defined in the associated -"pair_coeff" command. +where a, b and d are the three constant coefficients defined in the associated +"pair_coeff" command. -The coefficients a, b, and d need to be fitted so that the function above matches with +The coefficients a, b, and d need to be fitted so that the function above matches with the value of the exchange interaction for the N neighbor shells taken into account. -Examples and more explanations about this function and its parametrization are reported +Examples and more explanations about this function and its parametrization are reported in "(Tranchida)"_#Tranchida3. From this exchange interaction, each spin i will be submitted to a magnetic torque omega, and its associated atom can be submitted to a -force F for spin-lattice calculations (see -"fix_integration_spin"_fix_integration_spin.html), such as: +force F for spin-lattice calculations (see "fix_nve_spin"_fix_nve_spin.html), +such as: :c,image(Eqs/pair_spin_exchange_forces.jpg) diff --git a/doc/src/pair_spin_me.txt b/doc/src/pair_spin_magelec.txt similarity index 86% rename from doc/src/pair_spin_me.txt rename to doc/src/pair_spin_magelec.txt index 8186775b77..0185a5abb2 100644 --- a/doc/src/pair_spin_me.txt +++ b/doc/src/pair_spin_magelec.txt @@ -15,7 +15,7 @@ pair_style spin/me cutoff :pre cutoff = global cutoff pair (distance in metal units) :ulb,l :ule - + [Examples:] pair_style spin/me 4.5 @@ -29,16 +29,16 @@ pairs of magnetic spins. According to the derivation reported in :c,image(Eqs/pair_spin_me_interaction.jpg) -where si and sj are neighboring magnetic spins of two particles, -eij = (ri - rj)/|ri-rj| is the normalized separation vector between the +where si and sj are neighboring magnetic spins of two particles, +eij = (ri - rj)/|ri-rj| is the normalized separation vector between the two particles, and E is an electric polarization vector. -The norm and direction of E are giving the intensity and the +The norm and direction of E are giving the intensity and the direction of a screened dielectric atomic polarization (in eV). -From this magneto-electric interaction, each spin i will be submitted +From this magneto-electric interaction, each spin i will be submitted to a magnetic torque omega, and its associated atom can be submitted to a -force F for spin-lattice calculations (see -"fix_integration_spin"_fix_integration_spin.html), such as: +force F for spin-lattice calculations (see "fix_nve_spin"_fix_nve_spin.html), +such as: :c,image(Eqs/pair_spin_me_forces.jpg) @@ -51,14 +51,14 @@ More details about the derivation of these torques/forces are reported in [Restrictions:] -All the {pair/spin} styles are part of the SPIN package. +All the {pair/spin} styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and -if the atom_style "spin" was declared. +if the atom_style "spin" was declared. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. [Related commands:] -"atom_style spin"_atom_style.html, "pair_coeff"_pair_coeff.html, +"atom_style spin"_atom_style.html, "pair_coeff"_pair_coeff.html, "pair_spin_exchange"_pair_spin_exchange.html, "pair_eam"_pair_eam.html, [Default:] none diff --git a/doc/src/pairs.txt b/doc/src/pairs.txt index 202aaa9c0f..1a5e98a109 100644 --- a/doc/src/pairs.txt +++ b/doc/src/pairs.txt @@ -97,6 +97,10 @@ Pair Styles :h1 pair_sph_rhosum pair_sph_taitwater pair_sph_taitwater_morris + pair_spin_dmi + pair_spin_exchange + pair_spin_magelec + pair_spin_neel pair_srp pair_sw pair_table diff --git a/doc/src/tutorials.txt b/doc/src/tutorials.txt index 97e7883841..338439ac8e 100644 --- a/doc/src/tutorials.txt +++ b/doc/src/tutorials.txt @@ -9,7 +9,6 @@ Tutorials :h1 tutorial_github tutorial_pylammps tutorial_bash_on_windows - tutorial_spin body manifolds diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_dmi.h b/src/SPIN/pair_spin_dmi.h old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_exchange.h b/src/SPIN/pair_spin_exchange.h old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_magelec.h b/src/SPIN/pair_spin_magelec.h old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp old mode 100755 new mode 100644 diff --git a/src/SPIN/pair_spin_neel.h b/src/SPIN/pair_spin_neel.h old mode 100755 new mode 100644 -- GitLab From 4a88f53d22ba09f5a614d8fd9a076f97941c05cb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Jun 2018 19:17:25 -0400 Subject: [PATCH 151/675] adjust input files for changed paths --- examples/SPIN/read_restart/in.spin.read_data | 9 +++--- examples/SPIN/read_restart/in.spin.restart | 29 ++++++------------- .../SPIN/read_restart/in.spin.write_restart | 7 ++--- 3 files changed, 16 insertions(+), 29 deletions(-) diff --git a/examples/SPIN/read_restart/in.spin.read_data b/examples/SPIN/read_restart/in.spin.read_data index 1cb99e2c6e..ba667e0b43 100644 --- a/examples/SPIN/read_restart/in.spin.read_data +++ b/examples/SPIN/read_restart/in.spin.read_data @@ -1,4 +1,3 @@ -clear units metal dimension 3 boundary p p p @@ -6,17 +5,17 @@ boundary p p p atom_style spin # necessary for the serial algorithm (sametag) -atom_modify map array -read_data ../examples/SPIN/read_restart/Norm_randXY_8x8x32.data +atom_modify map array +read_data Norm_randXY_8x8x32.data mass 1 58.93 pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 neighbor 1.0 bin -neigh_modify every 1 check no delay 0 +neigh_modify every 1 check no delay 0 fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 fix 2 all langevin/spin 0.0 0.0 21 diff --git a/examples/SPIN/read_restart/in.spin.restart b/examples/SPIN/read_restart/in.spin.restart index 371e48a946..f4b528fe68 100644 --- a/examples/SPIN/read_restart/in.spin.restart +++ b/examples/SPIN/read_restart/in.spin.restart @@ -1,5 +1,4 @@ # start a spin-lattice simulation from a data file -clear units metal atom_style spin @@ -9,33 +8,24 @@ boundary p p p # necessary for the serial algorithm (sametag) atom_modify map array -lattice fcc 3.54 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box +read_restart restart_fcc_cobalt.equil -read_dump ../examples/SPIN/read_restart/Norm_randXY_8x8x32.dump 0 x y z box yes - -create_atoms 1 box # setting mass, mag. moments, and interactions mass 1 58.93 -set group all spin 1.72 0.0 0.0 1.0 -set group single_spin spin/random 11 1.72 -velocity all create 200 4928459 rot yes dist gaussian - # define magneto-mechanical potentials and forces pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 neighbor 1.0 bin -neigh_modify every 1 check no delay 0 +neigh_modify every 1 check no delay 0 fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 0.0 21 +fix 2 all langevin/spin 0.0 0.0 21 fix 3 all nve/spin lattice yes timestep 0.0001 @@ -47,10 +37,10 @@ compute out_pe all pe compute out_ke all ke compute out_temp all temp -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] thermo 10 thermo_style custom step time v_magnorm v_emag v_tmag temp etotal @@ -59,5 +49,4 @@ thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] -run 1000 - +run 100 diff --git a/examples/SPIN/read_restart/in.spin.write_restart b/examples/SPIN/read_restart/in.spin.write_restart index 6848da0154..3acb33fbd8 100644 --- a/examples/SPIN/read_restart/in.spin.write_restart +++ b/examples/SPIN/read_restart/in.spin.write_restart @@ -1,6 +1,5 @@ # fcc cobalt in a 3d periodic box -clear units metal atom_style spin @@ -23,7 +22,7 @@ set group all spin/random 31 1.72 velocity all create 100 4928459 rot yes dist gaussian pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/cobalt_fcc/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 neighbor 0.1 bin @@ -48,11 +47,11 @@ variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] thermo_style custom step time v_magnorm v_emag temp etotal -thermo 10 +thermo 100 compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] -run 10000 +run 5000 write_restart restart_fcc_cobalt.equil -- GitLab From e3a528a49353541ca6e6b281d78353c6e16e52a9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 9 May 2018 13:06:34 -0400 Subject: [PATCH 152/675] report compile time options (-DLAMMPS_XXX) in help output and info config --- src/info.cpp | 1 + src/lammps.cpp | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/lammps.h | 1 + 3 files changed, 66 insertions(+) diff --git a/src/info.cpp b/src/info.cpp index 65c0cd9b53..1a5bc21209 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -262,6 +262,7 @@ void Info::command(int narg, char **arg) fprintf(out,"\nLAMMPS version: %s / %s\n", universe->version, universe->num_ver); + lmp->print_config(out); fprintf(out,"sizeof(smallint): %3d-bit\n",(int)sizeof(smallint)*8); fprintf(out,"sizeof(imageint): %3d-bit\n",(int)sizeof(imageint)*8); fprintf(out,"sizeof(tagint): %3d-bit\n",(int)sizeof(tagint)*8); diff --git a/src/lammps.cpp b/src/lammps.cpp index 56af95767b..6a326e2abb 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -31,6 +31,7 @@ #include "style_region.h" #include "universe.h" #include "input.h" +#include "info.h" #include "atom.h" #include "update.h" #include "neighbor.h" @@ -823,6 +824,8 @@ void LAMMPS::help() "-var varname value : set index style variable (-v)\n\n", exename); + + print_config(fp); fprintf(fp,"List of style options included in this LAMMPS executable\n\n"); int pos = 80; @@ -974,3 +977,64 @@ void print_style(FILE *fp, const char *str, int &pos) pos += 80; } } + +static const char lammps_config_options[] += "LAMMPS compile time settings:\n" + "Integer sizes setting: " +#if defined(LAMMPS_SMALLSMALL) + " -DLAMMPS_SMALLSMALL" +#elif defined(LAMMPS_SMALLBIG) + " -DLAMMPS_SMALLBIG" +#elif defined(LAMMPS_BIGBIG) + " -DLAMMPS_BIGBIG" +#else + " (unkown)" +#endif + "\nExternal commands support:" +#if defined(LAMMPS_GZIP) + " -DLAMMPS_GZIP" +#endif +#if defined(LAMMPS_FFMPEG) + " -DLAMMPS_FFMPEG" +#endif + "\nImage library support: " +#if defined(LAMMPS_JPEG) + " -DLAMMPS_JPEG" +#endif +#if defined(LAMMPS_PNG) + " -DLAMMPS_PNG" +#endif + "\nFFT library support: " +#if defined(FFT_SINGLE) + " -DFFT_SINGLE" +#endif +#if defined(FFT_FFTW) || defined(FFT_FFTW3) + " -DFFT_FFTW3" +#elif defined(FFT_FFTW2) + " -DFFT_FFTW2" +#elif defined(FFT_MKL) + " -DFFT_MKL" +#else + " -DFFT_KISSFFT" +#endif + "\nMemory alignment: " +#if defined(LAMMPS_MEMALIGN) +#define lmp_str(s) #s +#define lmp_xstr(s) lmp_str(s) + " -DLAMMPS_MEMALIGN=" lmp_xstr(LAMMPS_MEMALIGN) +#else + " (default)" +#endif + + "\nException support: " +#if defined(LAMMPS_EXCEPTIONS) + " -DLAMMPS_EXCEPTIONS\n" +#else + " (not enabled)\n" +#endif + "\n"; + +void LAMMPS::print_config(FILE *fp) +{ + fputs(lammps_config_options,fp); +} diff --git a/src/lammps.h b/src/lammps.h index 1323dcccc8..6473985736 100644 --- a/src/lammps.h +++ b/src/lammps.h @@ -65,6 +65,7 @@ class LAMMPS { void post_create(); void init(); void destroy(); + void print_config(FILE *); // print compile time settings private: void help(); -- GitLab From c371ce1005291ebe85ec498e5d1f0acc7c217f28 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 9 May 2018 13:28:40 -0400 Subject: [PATCH 153/675] include date when LAMMPS was compiled --- src/Make.sh | 5 +++++ src/Makefile | 1 + src/lammps.cpp | 5 ++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Make.sh b/src/Make.sh index 83880780ec..ce64001a1e 100755 --- a/src/Make.sh +++ b/src/Make.sh @@ -1,6 +1,7 @@ # Make.sh = update Makefile.lib, Makefile.shlib, Makefile.list # or style_*.h files # Syntax: sh Make.sh style +# sh Make.sh date # sh Make.sh Makefile.lib # sh Make.sh Makefile.shlib # sh Make.sh Makefile.list @@ -55,6 +56,10 @@ style () { fi } +if (test $1 = "date") then + echo "static const char lammps_compile_date[] = \"`date`\";" > lmpcompiledate.h +fi + # create individual style files # called by "make machine" # col 1 = string to search for diff --git a/src/Makefile b/src/Makefile index d17a2ccbd9..eb7382989d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -163,6 +163,7 @@ help: -f MAKE/MACHINES/Makefile.$@ -o -f MAKE/MINE/Makefile.$@ @if [ ! -d $(objdir) ]; then mkdir $(objdir); fi @$(SHELL) Make.sh style + @$(SHELL) Make.sh date @if [ -f MAKE/MACHINES/Makefile.$@ ]; \ then cp MAKE/MACHINES/Makefile.$@ $(objdir)/Makefile; fi @if [ -f MAKE/OPTIONS/Makefile.$@ ]; \ diff --git a/src/lammps.cpp b/src/lammps.cpp index 6a326e2abb..cd6720c8e6 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -978,8 +978,10 @@ void print_style(FILE *fp, const char *str, int &pos) } } +#include "lmpcompiledate.h" + static const char lammps_config_options[] -= "LAMMPS compile time settings:\n" += "LAMMPS compile time settings:\n\n" "Integer sizes setting: " #if defined(LAMMPS_SMALLSMALL) " -DLAMMPS_SMALLSMALL" @@ -1037,4 +1039,5 @@ static const char lammps_config_options[] void LAMMPS::print_config(FILE *fp) { fputs(lammps_config_options,fp); + fprintf(fp,"LAMMPS compiled on: %s\n",lammps_compile_date); } -- GitLab From 90f0586c9e98f5ad45d7e63d547d10e131b29115 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 9 May 2018 13:34:10 -0400 Subject: [PATCH 154/675] include compilation date as an example for embedding info, that is not a define --- src/.gitignore | 1 + src/Purge.list | 2 ++ src/lammps.cpp | 6 +++--- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/.gitignore b/src/.gitignore index 3ae05079d2..89dc852b1a 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -5,6 +5,7 @@ /lmp_* /style_*.h +/lmpcompiledate.h /*_gpu.h /*_gpu.cpp diff --git a/src/Purge.list b/src/Purge.list index 2e854ead3d..7defdfe1c2 100644 --- a/src/Purge.list +++ b/src/Purge.list @@ -16,6 +16,8 @@ style_region.h style_neigh_bin.h style_neigh_pair.h style_neigh_stencil.h +# other auto-generated files +lmpcompiledate.h # deleted on 4 April 2018 pair_kim_version.h # deleted on 15 December 2017 diff --git a/src/lammps.cpp b/src/lammps.cpp index cd6720c8e6..53a17c717d 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -978,8 +978,6 @@ void print_style(FILE *fp, const char *str, int &pos) } } -#include "lmpcompiledate.h" - static const char lammps_config_options[] = "LAMMPS compile time settings:\n\n" "Integer sizes setting: " @@ -1036,8 +1034,10 @@ static const char lammps_config_options[] #endif "\n"; +#include "lmpcompiledate.h" + void LAMMPS::print_config(FILE *fp) { + fprintf(fp,"LAMMPS compiled on: %s\n\n",lammps_compile_date); fputs(lammps_config_options,fp); - fprintf(fp,"LAMMPS compiled on: %s\n",lammps_compile_date); } -- GitLab From 4265e68ff89659ae969aefdb67abdf5d3b694582 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 9 May 2018 15:49:47 -0400 Subject: [PATCH 155/675] record installed packages --- src/.gitignore | 1 + src/Makefile | 7 +++++++ src/lammps.cpp | 2 ++ 3 files changed, 10 insertions(+) diff --git a/src/.gitignore b/src/.gitignore index 89dc852b1a..ca9558cabb 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -6,6 +6,7 @@ /style_*.h /lmpcompiledate.h +/lmpinstalledpkgs.h /*_gpu.h /*_gpu.cpp diff --git a/src/Makefile b/src/Makefile index eb7382989d..7e19070c90 100644 --- a/src/Makefile +++ b/src/Makefile @@ -164,6 +164,13 @@ help: @if [ ! -d $(objdir) ]; then mkdir $(objdir); fi @$(SHELL) Make.sh style @$(SHELL) Make.sh date + @echo 'Gathering installed package information' + @echo 'static const char lammps_installed_packages[] = ' > lmpinstalledpkgs.tmp + @for p in $(PACKAGEUC) $(PACKUSERUC); do info=$$($(SHELL) Package.sh $$p installed); \ + [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package/"/' >> lmpinstalledpkgs.tmp || :; done + @echo ';' >> lmpinstalledpkgs.tmp + @test "`diff --brief lmpinstalledpkgs.tmp lmpinstalledpkgs.h`" != "" && \ + mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h || rm lmpinstalledpkgs.tmp @if [ -f MAKE/MACHINES/Makefile.$@ ]; \ then cp MAKE/MACHINES/Makefile.$@ $(objdir)/Makefile; fi @if [ -f MAKE/OPTIONS/Makefile.$@ ]; \ diff --git a/src/lammps.cpp b/src/lammps.cpp index 53a17c717d..eedf7bc6fa 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -1035,9 +1035,11 @@ static const char lammps_config_options[] "\n"; #include "lmpcompiledate.h" +#include "lmpinstalledpkgs.h" void LAMMPS::print_config(FILE *fp) { fprintf(fp,"LAMMPS compiled on: %s\n\n",lammps_compile_date); fputs(lammps_config_options,fp); + fprintf(fp,"Installed packages:%s\n\n",lammps_installed_packages); } -- GitLab From eb485afc454fbb987f2953a43705ae439cf441f5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 9 May 2018 16:32:28 -0400 Subject: [PATCH 156/675] fix logic bug that would not create lmpinstalledpkgs.h when there was none --- src/Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Makefile b/src/Makefile index 7e19070c90..86597ae42e 100644 --- a/src/Makefile +++ b/src/Makefile @@ -169,8 +169,10 @@ help: @for p in $(PACKAGEUC) $(PACKUSERUC); do info=$$($(SHELL) Package.sh $$p installed); \ [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package/"/' >> lmpinstalledpkgs.tmp || :; done @echo ';' >> lmpinstalledpkgs.tmp - @test "`diff --brief lmpinstalledpkgs.tmp lmpinstalledpkgs.h`" != "" && \ - mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h || rm lmpinstalledpkgs.tmp + @if [ -f lmpinstalledpkgs.h ]; \ + then test "`diff --brief lmpinstalledpkgs.tmp lmpinstalledpkgs.h`" != "" && \ + mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h || rm lmpinstalledpkgs.tmp ; \ + else mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h ; fi @if [ -f MAKE/MACHINES/Makefile.$@ ]; \ then cp MAKE/MACHINES/Makefile.$@ $(objdir)/Makefile; fi @if [ -f MAKE/OPTIONS/Makefile.$@ ]; \ -- GitLab From 472a1a501daa55f3b053207a81dffe38619864c5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 9 May 2018 16:42:22 -0400 Subject: [PATCH 157/675] add lmpinstalledpks.h to the list of purgable files --- src/Purge.list | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Purge.list b/src/Purge.list index 7defdfe1c2..76c31a86ed 100644 --- a/src/Purge.list +++ b/src/Purge.list @@ -18,6 +18,7 @@ style_neigh_pair.h style_neigh_stencil.h # other auto-generated files lmpcompiledate.h +lmpinstalledpkgs.h # deleted on 4 April 2018 pair_kim_version.h # deleted on 15 December 2017 -- GitLab From 596acaf4d2fc86e682b1dafe0be5c741989d15a3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 9 May 2018 17:32:40 -0400 Subject: [PATCH 158/675] give visual feedback on when the compile starts since gathering the package information can take time --- src/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 86597ae42e..8baf07266a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -166,13 +166,15 @@ help: @$(SHELL) Make.sh date @echo 'Gathering installed package information' @echo 'static const char lammps_installed_packages[] = ' > lmpinstalledpkgs.tmp - @for p in $(PACKAGEUC) $(PACKUSERUC); do info=$$($(SHELL) Package.sh $$p installed); \ + @for p in $(PACKAGEUC) $(PACKUSERUC); do echo -n '.'; info=$$($(SHELL) Package.sh $$p installed); \ [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package/"/' >> lmpinstalledpkgs.tmp || :; done @echo ';' >> lmpinstalledpkgs.tmp + @echo @if [ -f lmpinstalledpkgs.h ]; \ then test "`diff --brief lmpinstalledpkgs.tmp lmpinstalledpkgs.h`" != "" && \ mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h || rm lmpinstalledpkgs.tmp ; \ else mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h ; fi + @echo 'Compiling LAMMPS for machine $@' @if [ -f MAKE/MACHINES/Makefile.$@ ]; \ then cp MAKE/MACHINES/Makefile.$@ $(objdir)/Makefile; fi @if [ -f MAKE/OPTIONS/Makefile.$@ ]; \ -- GitLab From 1f770a6a8feb55fbf8b134ba27761ec511dc9496 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 9 May 2018 17:37:24 -0400 Subject: [PATCH 159/675] print information about serial/parallel and MPI version for known libraries --- src/lammps.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/lammps.cpp b/src/lammps.cpp index eedf7bc6fa..64c6e4d751 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -978,9 +978,25 @@ void print_style(FILE *fp, const char *str, int &pos) } } +#define lmp_str(s) #s +#define lmp_xstr(s) lmp_str(s) + static const char lammps_config_options[] = "LAMMPS compile time settings:\n\n" - "Integer sizes setting: " + "MPI library setting: " +#if defined(MPI_STUBS) + "Serial version using STUBS" +#elif defined(MPICH_VERSION) + "Parallel version using MPICH " MPICH_VERSION +#elif defined(OPEN_MPI) + "Parallel version using OpenMPI " + lmp_xstr(OMPI_MAJOR_VERSION) "." + lmp_xstr(OMPI_MINOR_VERSION) "." + lmp_xstr(OMPI_RELEASE_VERSION) +#else + "Parallel version using unknown MPI library" +#endif + "\nInteger sizes setting: " #if defined(LAMMPS_SMALLSMALL) " -DLAMMPS_SMALLSMALL" #elif defined(LAMMPS_SMALLBIG) @@ -1019,8 +1035,6 @@ static const char lammps_config_options[] #endif "\nMemory alignment: " #if defined(LAMMPS_MEMALIGN) -#define lmp_str(s) #s -#define lmp_xstr(s) lmp_str(s) " -DLAMMPS_MEMALIGN=" lmp_xstr(LAMMPS_MEMALIGN) #else " (default)" -- GitLab From 7f0c88c74bd43ea062cf83d7587f8cf9a2300ae0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 9 May 2018 21:45:58 -0400 Subject: [PATCH 160/675] refactor the gathering of compile time settings after discussion with @sjplimp - remove feature to record the compilation time and date - remove 'echo -n' based "progress bar" - update output format for "lmp_machine -h" to be consistent with help output - move generation of lmpinstalledpkgs.h to be a separate target depending on all sources and headers in src folder. this way it is only regenerated when files are modified or packages installed --- src/.gitignore | 1 - src/Make.sh | 5 ----- src/Makefile | 26 ++++++++++++++------------ src/lammps.cpp | 24 +++++++++++------------- 4 files changed, 25 insertions(+), 31 deletions(-) diff --git a/src/.gitignore b/src/.gitignore index ca9558cabb..c0aa320d97 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -5,7 +5,6 @@ /lmp_* /style_*.h -/lmpcompiledate.h /lmpinstalledpkgs.h /*_gpu.h diff --git a/src/Make.sh b/src/Make.sh index ce64001a1e..83880780ec 100755 --- a/src/Make.sh +++ b/src/Make.sh @@ -1,7 +1,6 @@ # Make.sh = update Makefile.lib, Makefile.shlib, Makefile.list # or style_*.h files # Syntax: sh Make.sh style -# sh Make.sh date # sh Make.sh Makefile.lib # sh Make.sh Makefile.shlib # sh Make.sh Makefile.list @@ -56,10 +55,6 @@ style () { fi } -if (test $1 = "date") then - echo "static const char lammps_compile_date[] = \"`date`\";" > lmpcompiledate.h -fi - # create individual style files # called by "make machine" # col 1 = string to search for diff --git a/src/Makefile b/src/Makefile index 8baf07266a..2504a49ad4 100644 --- a/src/Makefile +++ b/src/Makefile @@ -18,7 +18,7 @@ OBJDIR = Obj_$@ OBJSHDIR = Obj_shared_$@ SRC = $(wildcard *.cpp) -INC = $(wildcard *.h) +INC = $(filter-out lmpinstalledpkgs.h,$(wildcard *.h)) OBJ = $(SRC:.cpp=.o) SRCLIB = $(filter-out main.cpp,$(SRC)) @@ -150,6 +150,18 @@ help: for file in $$files; do head -1 $$file; done @echo '' + +lmpinstalledpkgs.h: $(SRC) $(INC) + @echo 'Gathering installed package information (may take a little while)' + @echo 'static const char lammps_installed_packages[] = ' > lmpinstalledpkgs.tmp + @for p in $(PACKAGEUC) $(PACKUSERUC); do info=$$($(SHELL) Package.sh $$p installed); \ + [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package/"/' >> lmpinstalledpkgs.tmp || :; done + @echo ';' >> lmpinstalledpkgs.tmp + @if [ -f lmpinstalledpkgs.h ]; \ + then test "`diff --brief lmpinstalledpkgs.tmp lmpinstalledpkgs.h`" != "" && \ + mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h || rm lmpinstalledpkgs.tmp ; \ + else mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h ; fi + # Build LAMMPS in one of 4 modes # exe = exe with static compile in Obj_machine (default) # shexe = exe with shared compile in Obj_shared_machine @@ -163,17 +175,7 @@ help: -f MAKE/MACHINES/Makefile.$@ -o -f MAKE/MINE/Makefile.$@ @if [ ! -d $(objdir) ]; then mkdir $(objdir); fi @$(SHELL) Make.sh style - @$(SHELL) Make.sh date - @echo 'Gathering installed package information' - @echo 'static const char lammps_installed_packages[] = ' > lmpinstalledpkgs.tmp - @for p in $(PACKAGEUC) $(PACKUSERUC); do echo -n '.'; info=$$($(SHELL) Package.sh $$p installed); \ - [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package/"/' >> lmpinstalledpkgs.tmp || :; done - @echo ';' >> lmpinstalledpkgs.tmp - @echo - @if [ -f lmpinstalledpkgs.h ]; \ - then test "`diff --brief lmpinstalledpkgs.tmp lmpinstalledpkgs.h`" != "" && \ - mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h || rm lmpinstalledpkgs.tmp ; \ - else mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h ; fi + @$(MAKE) $(MFLAGS) lmpinstalledpkgs.h @echo 'Compiling LAMMPS for machine $@' @if [ -f MAKE/MACHINES/Makefile.$@ ]; \ then cp MAKE/MACHINES/Makefile.$@ $(objdir)/Makefile; fi diff --git a/src/lammps.cpp b/src/lammps.cpp index 64c6e4d751..271ccb4ae9 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -983,7 +983,7 @@ void print_style(FILE *fp, const char *str, int &pos) static const char lammps_config_options[] = "LAMMPS compile time settings:\n\n" - "MPI library setting: " + "MPI library setting : " #if defined(MPI_STUBS) "Serial version using STUBS" #elif defined(MPICH_VERSION) @@ -996,31 +996,31 @@ static const char lammps_config_options[] #else "Parallel version using unknown MPI library" #endif - "\nInteger sizes setting: " + "\nInteger sizes setting : " #if defined(LAMMPS_SMALLSMALL) - " -DLAMMPS_SMALLSMALL" + "-DLAMMPS_SMALLSMALL" #elif defined(LAMMPS_SMALLBIG) - " -DLAMMPS_SMALLBIG" + "-DLAMMPS_SMALLBIG" #elif defined(LAMMPS_BIGBIG) - " -DLAMMPS_BIGBIG" + "-DLAMMPS_BIGBIG" #else - " (unkown)" + "(unkown)" #endif - "\nExternal commands support:" + "\nExternal commands support :" #if defined(LAMMPS_GZIP) " -DLAMMPS_GZIP" #endif #if defined(LAMMPS_FFMPEG) " -DLAMMPS_FFMPEG" #endif - "\nImage library support: " + "\nImage library support :" #if defined(LAMMPS_JPEG) " -DLAMMPS_JPEG" #endif #if defined(LAMMPS_PNG) " -DLAMMPS_PNG" #endif - "\nFFT library support: " + "\nFFT library support :" #if defined(FFT_SINGLE) " -DFFT_SINGLE" #endif @@ -1033,14 +1033,14 @@ static const char lammps_config_options[] #else " -DFFT_KISSFFT" #endif - "\nMemory alignment: " + "\nMemory alignment :" #if defined(LAMMPS_MEMALIGN) " -DLAMMPS_MEMALIGN=" lmp_xstr(LAMMPS_MEMALIGN) #else " (default)" #endif - "\nException support: " + "\nException support :" #if defined(LAMMPS_EXCEPTIONS) " -DLAMMPS_EXCEPTIONS\n" #else @@ -1048,12 +1048,10 @@ static const char lammps_config_options[] #endif "\n"; -#include "lmpcompiledate.h" #include "lmpinstalledpkgs.h" void LAMMPS::print_config(FILE *fp) { - fprintf(fp,"LAMMPS compiled on: %s\n\n",lammps_compile_date); fputs(lammps_config_options,fp); fprintf(fp,"Installed packages:%s\n\n",lammps_installed_packages); } -- GitLab From 0e603493af19ff36282faca12af09d59080a1031 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 9 May 2018 23:27:56 -0400 Subject: [PATCH 161/675] fix bug that made compilation fail with no packages installed --- src/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 2504a49ad4..96648d5935 100644 --- a/src/Makefile +++ b/src/Makefile @@ -153,7 +153,7 @@ help: lmpinstalledpkgs.h: $(SRC) $(INC) @echo 'Gathering installed package information (may take a little while)' - @echo 'static const char lammps_installed_packages[] = ' > lmpinstalledpkgs.tmp + @echo 'static const char lammps_installed_packages[] = " "' > lmpinstalledpkgs.tmp @for p in $(PACKAGEUC) $(PACKUSERUC); do info=$$($(SHELL) Package.sh $$p installed); \ [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package/"/' >> lmpinstalledpkgs.tmp || :; done @echo ';' >> lmpinstalledpkgs.tmp -- GitLab From 9f3fae1c47797b039ae64d915fd8a9eac7d6ca50 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 9 May 2018 23:28:29 -0400 Subject: [PATCH 162/675] record 3d-FFT array packaging algorithm --- src/lammps.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/lammps.cpp b/src/lammps.cpp index 271ccb4ae9..075e06bd59 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -1032,6 +1032,14 @@ static const char lammps_config_options[] " -DFFT_MKL" #else " -DFFT_KISSFFT" +#endif + "\n3d-FFT data packing :" +#if defined(PACK_POINTER) + " -DPACK_POINTER" +#elif defined(PACK_MEMCPY) + " -DPACK_MEMCPY" +#else + " -DPACK_ARRAY" #endif "\nMemory alignment :" #if defined(LAMMPS_MEMALIGN) -- GitLab From 9f3cb83fb3349a87209e501b71eb931ea65bf7bc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 20 Jun 2018 17:57:17 -0400 Subject: [PATCH 163/675] use a list instead of a string to store the names of installed packages --- src/Makefile | 6 +++--- src/lammps.cpp | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/Makefile b/src/Makefile index 96648d5935..a74e2c76de 100644 --- a/src/Makefile +++ b/src/Makefile @@ -153,10 +153,10 @@ help: lmpinstalledpkgs.h: $(SRC) $(INC) @echo 'Gathering installed package information (may take a little while)' - @echo 'static const char lammps_installed_packages[] = " "' > lmpinstalledpkgs.tmp + @echo 'static const char * lammps_installed_packages[] = {' > lmpinstalledpkgs.tmp @for p in $(PACKAGEUC) $(PACKUSERUC); do info=$$($(SHELL) Package.sh $$p installed); \ - [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package/"/' >> lmpinstalledpkgs.tmp || :; done - @echo ';' >> lmpinstalledpkgs.tmp + [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package \(.*\)"/"\1",/' >> lmpinstalledpkgs.tmp || :; done + @echo ' NULL };' >> lmpinstalledpkgs.tmp @if [ -f lmpinstalledpkgs.h ]; \ then test "`diff --brief lmpinstalledpkgs.tmp lmpinstalledpkgs.h`" != "" && \ mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h || rm lmpinstalledpkgs.tmp ; \ diff --git a/src/lammps.cpp b/src/lammps.cpp index 075e06bd59..3421b24b90 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -826,7 +826,7 @@ void LAMMPS::help() print_config(fp); - fprintf(fp,"List of style options included in this LAMMPS executable\n\n"); + fprintf(fp,"List of individual style options included in this LAMMPS executable\n\n"); int pos = 80; fprintf(fp,"* Atom styles:\n"); @@ -1060,6 +1060,19 @@ static const char lammps_config_options[] void LAMMPS::print_config(FILE *fp) { + const char *pkg; + int ncword, ncline = 0; + fputs(lammps_config_options,fp); - fprintf(fp,"Installed packages:%s\n\n",lammps_installed_packages); + fputs("Installed packages:\n\n",fp); + for (int i = 0; NULL != (pkg = lammps_installed_packages[i]); ++i) { + ncword = strlen(pkg); + if (ncline + ncword > 78) { + ncline = 0; + fputs("\n",fp); + } + fprintf(fp,"%s ",pkg); + ncline += ncword + 1; + } + fputs("\n\n",fp); } -- GitLab From e8e1349da4d6c083a056d3a16dd480e193593085 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 21 Jun 2018 19:07:16 -0400 Subject: [PATCH 164/675] make the list of installed packages a static const class member of the LAMMPS class through this change, the list of packages becomes accessible for the library interface and the python wrapper, e.g. to check whether a prerequisite packages is installed (simpler/faster for quick highlevel check than having to try instantiating a specific style). --- src/Makefile | 2 +- src/info.cpp | 19 ++++++++++-- src/lammps.cpp | 81 +------------------------------------------------- src/lammps.h | 2 ++ 4 files changed, 20 insertions(+), 84 deletions(-) diff --git a/src/Makefile b/src/Makefile index a74e2c76de..29164e4e32 100644 --- a/src/Makefile +++ b/src/Makefile @@ -153,7 +153,7 @@ help: lmpinstalledpkgs.h: $(SRC) $(INC) @echo 'Gathering installed package information (may take a little while)' - @echo 'static const char * lammps_installed_packages[] = {' > lmpinstalledpkgs.tmp + @echo 'const char * LAMMPS_NS::LAMMPS::installed_packages[] = {' > lmpinstalledpkgs.tmp @for p in $(PACKAGEUC) $(PACKUSERUC); do info=$$($(SHELL) Package.sh $$p installed); \ [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package \(.*\)"/"\1",/' >> lmpinstalledpkgs.tmp || :; done @echo ' NULL };' >> lmpinstalledpkgs.tmp diff --git a/src/info.cpp b/src/info.cpp index 1a5bc21209..0d11836826 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -259,15 +259,28 @@ void Info::command(int narg, char **arg) fprintf(out,"Printed on %s\n",ctime(&now)); if (flags & CONFIG) { - - fprintf(out,"\nLAMMPS version: %s / %s\n", + fprintf(out,"\nLAMMPS version: %s / %s\n\n", universe->version, universe->num_ver); - lmp->print_config(out); fprintf(out,"sizeof(smallint): %3d-bit\n",(int)sizeof(smallint)*8); fprintf(out,"sizeof(imageint): %3d-bit\n",(int)sizeof(imageint)*8); fprintf(out,"sizeof(tagint): %3d-bit\n",(int)sizeof(tagint)*8); fprintf(out,"sizeof(bigint): %3d-bit\n",(int)sizeof(bigint)*8); + const char *pkg; + int ncword, ncline = 0; + + fputs("\nInstalled packages:\n\n",out); + for (int i = 0; NULL != (pkg = lmp->installed_packages[i]); ++i) { + ncword = strlen(pkg); + if (ncline + ncword > 78) { + ncline = 0; + fputs("\n",out); + } + fprintf(out,"%s ",pkg); + ncline += ncword + 1; + } + fputs("\n",out); + #if defined(_WIN32) DWORD fullversion,majorv,minorv,buildv=0; diff --git a/src/lammps.cpp b/src/lammps.cpp index 3421b24b90..44df7b5a13 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -978,84 +978,6 @@ void print_style(FILE *fp, const char *str, int &pos) } } -#define lmp_str(s) #s -#define lmp_xstr(s) lmp_str(s) - -static const char lammps_config_options[] -= "LAMMPS compile time settings:\n\n" - "MPI library setting : " -#if defined(MPI_STUBS) - "Serial version using STUBS" -#elif defined(MPICH_VERSION) - "Parallel version using MPICH " MPICH_VERSION -#elif defined(OPEN_MPI) - "Parallel version using OpenMPI " - lmp_xstr(OMPI_MAJOR_VERSION) "." - lmp_xstr(OMPI_MINOR_VERSION) "." - lmp_xstr(OMPI_RELEASE_VERSION) -#else - "Parallel version using unknown MPI library" -#endif - "\nInteger sizes setting : " -#if defined(LAMMPS_SMALLSMALL) - "-DLAMMPS_SMALLSMALL" -#elif defined(LAMMPS_SMALLBIG) - "-DLAMMPS_SMALLBIG" -#elif defined(LAMMPS_BIGBIG) - "-DLAMMPS_BIGBIG" -#else - "(unkown)" -#endif - "\nExternal commands support :" -#if defined(LAMMPS_GZIP) - " -DLAMMPS_GZIP" -#endif -#if defined(LAMMPS_FFMPEG) - " -DLAMMPS_FFMPEG" -#endif - "\nImage library support :" -#if defined(LAMMPS_JPEG) - " -DLAMMPS_JPEG" -#endif -#if defined(LAMMPS_PNG) - " -DLAMMPS_PNG" -#endif - "\nFFT library support :" -#if defined(FFT_SINGLE) - " -DFFT_SINGLE" -#endif -#if defined(FFT_FFTW) || defined(FFT_FFTW3) - " -DFFT_FFTW3" -#elif defined(FFT_FFTW2) - " -DFFT_FFTW2" -#elif defined(FFT_MKL) - " -DFFT_MKL" -#else - " -DFFT_KISSFFT" -#endif - "\n3d-FFT data packing :" -#if defined(PACK_POINTER) - " -DPACK_POINTER" -#elif defined(PACK_MEMCPY) - " -DPACK_MEMCPY" -#else - " -DPACK_ARRAY" -#endif - "\nMemory alignment :" -#if defined(LAMMPS_MEMALIGN) - " -DLAMMPS_MEMALIGN=" lmp_xstr(LAMMPS_MEMALIGN) -#else - " (default)" -#endif - - "\nException support :" -#if defined(LAMMPS_EXCEPTIONS) - " -DLAMMPS_EXCEPTIONS\n" -#else - " (not enabled)\n" -#endif - "\n"; - #include "lmpinstalledpkgs.h" void LAMMPS::print_config(FILE *fp) @@ -1063,9 +985,8 @@ void LAMMPS::print_config(FILE *fp) const char *pkg; int ncword, ncline = 0; - fputs(lammps_config_options,fp); fputs("Installed packages:\n\n",fp); - for (int i = 0; NULL != (pkg = lammps_installed_packages[i]); ++i) { + for (int i = 0; NULL != (pkg = installed_packages[i]); ++i) { ncword = strlen(pkg); if (ncline + ncword > 78) { ncline = 0; diff --git a/src/lammps.h b/src/lammps.h index 6473985736..b2c8673471 100644 --- a/src/lammps.h +++ b/src/lammps.h @@ -59,6 +59,8 @@ class LAMMPS { class CiteMe *citeme; // citation info + static const char * installed_packages[]; + LAMMPS(int, char **, MPI_Comm); ~LAMMPS(); void create(); -- GitLab From 7da8e69b459d0a0feb9960cf6ffc06e715891bcd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 21 Jun 2018 19:08:09 -0400 Subject: [PATCH 165/675] add code to create lmpinstalledpkgs.h file with cmake --- cmake/CMakeLists.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index f39e75f7a1..f5346dec74 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -798,6 +798,20 @@ GenerateStyleHeaders(${LAMMPS_STYLE_HEADERS_DIR}) include_directories(${LAMMPS_SOURCE_DIR}) include_directories(${LAMMPS_STYLE_HEADERS_DIR}) +###################################### +# Generate lmpinstalledpkgs.h +###################################### +set(temp "const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n") +foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES}) + if(PKG_${PKG}) + set(temp "${temp} \"${PKG}\",\n") + endif() +endforeach() +set(temp "${temp} NULL\n};\n\n") +message(STATUS "Generating lmpinstalledpkgs.h...") +file(WRITE "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${temp}" ) +execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h") + ########################################### # Actually add executable and lib to build ############################################ -- GitLab From 2fe0eabc0988feda90ac85ef1331dcd83ad028ac Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 22 Jun 2018 01:52:55 -0700 Subject: [PATCH 166/675] Intel Package: Bug fix when using LRT with minimize. Bug fix for virial calculation when using GNU compilers. Most of framework for adding hybrid support is now in place. --- src/USER-INTEL/fix_intel.h | 3 +- src/USER-INTEL/intel_preprocess.h | 53 +++- src/USER-INTEL/npair_full_bin_ghost_intel.cpp | 195 ++++++------ src/USER-INTEL/npair_intel.cpp | 287 ++++++++++-------- src/USER-INTEL/pair_buck_coul_cut_intel.cpp | 10 +- src/USER-INTEL/pair_buck_coul_long_intel.cpp | 10 +- src/USER-INTEL/pair_buck_intel.cpp | 10 +- src/USER-INTEL/pair_dpd_intel.cpp | 9 +- src/USER-INTEL/pair_eam_intel.cpp | 29 +- src/USER-INTEL/pair_gayberne_intel.cpp | 28 +- .../pair_lj_charmm_coul_charmm_intel.cpp | 11 +- .../pair_lj_charmm_coul_long_intel.cpp | 11 +- .../pair_lj_cut_coul_long_intel.cpp | 10 +- src/USER-INTEL/pair_lj_cut_intel.cpp | 10 +- src/USER-INTEL/pair_sw_intel.cpp | 44 +-- src/USER-INTEL/pair_tersoff_intel.cpp | 15 +- src/USER-INTEL/verlet_lrt_intel.cpp | 2 +- src/USER-INTEL/verlet_lrt_intel.h | 22 +- 18 files changed, 450 insertions(+), 309 deletions(-) diff --git a/src/USER-INTEL/fix_intel.h b/src/USER-INTEL/fix_intel.h index d7093e79bb..79fb23ab3d 100644 --- a/src/USER-INTEL/fix_intel.h +++ b/src/USER-INTEL/fix_intel.h @@ -82,7 +82,8 @@ class FixIntel : public Fix { } inline void set_reduce_flag() { if (_nthreads > 1) _need_reduce = 1; } inline int lrt() { - if (force->kspace_match("pppm/intel", 0)) return _lrt; + if (force->kspace_match("pppm/intel", 0) && update->whichflag == 1) + return _lrt; else return 0; } inline int pppm_table() { diff --git a/src/USER-INTEL/intel_preprocess.h b/src/USER-INTEL/intel_preprocess.h index 29cc45f755..2f1b02a49f 100644 --- a/src/USER-INTEL/intel_preprocess.h +++ b/src/USER-INTEL/intel_preprocess.h @@ -134,7 +134,21 @@ enum {TIME_PACK, TIME_HOST_NEIGHBOR, TIME_HOST_PAIR, TIME_OFFLOAD_NEIGHBOR, #define INTEL_HTHREADS 2 #endif -#define IP_PRE_get_stride(stride, n, datasize, torque) \ +#if INTEL_DATA_ALIGN > 1 + +#define IP_PRE_edge_align(n, esize) \ + { \ + const int pad_mask = ~static_cast(INTEL_DATA_ALIGN/esize-1); \ + n = (n + INTEL_DATA_ALIGN / esize - 1) & pad_mask; \ + } + +#else + +#define IP_PRE_edge_align(n, esize) \ + +#endif + +#define IP_PRE_get_stride(stride, n, datasize, torque) \ { \ int blength = n; \ if (torque) blength *= 2; \ @@ -303,7 +317,7 @@ enum {TIME_PACK, TIME_HOST_NEIGHBOR, TIME_HOST_PAIR, TIME_OFFLOAD_NEIGHBOR, { \ tid = 0; \ ifrom = 0; \ - ip = 1; \ + ip = vecsize; \ ito = inum; \ } @@ -316,7 +330,7 @@ enum {TIME_PACK, TIME_HOST_NEIGHBOR, TIME_HOST_PAIR, TIME_OFFLOAD_NEIGHBOR, acc_t *f_scalar = &f_start[0].x; \ flt_t *x_scalar = &pos[minlocal].x; \ int f_stride4 = f_stride * 4; \ - _alignvar(acc_t ovv[INTEL_COMPILE_WIDTH],64); \ + _alignvar(acc_t ovv[16],64); \ int vwidth; \ if (sizeof(acc_t) == sizeof(double)) \ vwidth = INTEL_COMPILE_WIDTH/2; \ @@ -516,6 +530,22 @@ inline double MIC_Wtime() { return time; } +#define IP_PRE_neighbor_pad(jnum, offload) \ +{ \ + const int opad_mask = ~static_cast(INTEL_MIC_NBOR_PAD * \ + sizeof(float) / \ + sizeof(flt_t) - 1); \ + const int pad_mask = ~static_cast(INTEL_NBOR_PAD * \ + sizeof(float) / \ + sizeof(flt_t) - 1); \ + if (offload && INTEL_MIC_NBOR_PAD > 1) \ + jnum = (jnum + INTEL_MIC_NBOR_PAD * sizeof(float) / \ + sizeof(flt_t) - 1) & opad_mask; \ + else if (INTEL_NBOR_PAD > 1) \ + jnum = (jnum + INTEL_NBOR_PAD * sizeof(float) / \ + sizeof(flt_t) - 1) & pad_mask; \ +} + #define IP_PRE_pack_separate_buffers(fix, buffers, ago, offload, \ nlocal, nall) \ { \ @@ -644,6 +674,23 @@ inline double MIC_Wtime() { #else +#if INTEL_NBOR_PAD > 1 + +#define IP_PRE_neighbor_pad(jnum, offload) \ +{ \ + const int pad_mask = ~static_cast(INTEL_NBOR_PAD * \ + sizeof(float) / \ + sizeof(flt_t) - 1); \ + jnum = (jnum + INTEL_NBOR_PAD * sizeof(float) / \ + sizeof(flt_t) - 1) & pad_mask; \ +} + +#else + +#define IP_PRE_neighbor_pad(jnum, offload) + +#endif + #define MIC_Wtime MPI_Wtime #define IP_PRE_pack_separate_buffers(fix, buffers, ago, offload, \ nlocal, nall) diff --git a/src/USER-INTEL/npair_full_bin_ghost_intel.cpp b/src/USER-INTEL/npair_full_bin_ghost_intel.cpp index 24d5076c34..ae961e84b5 100644 --- a/src/USER-INTEL/npair_full_bin_ghost_intel.cpp +++ b/src/USER-INTEL/npair_full_bin_ghost_intel.cpp @@ -112,7 +112,6 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, if (pend-pstart == 0) return; const int nall = atom->nlocal + atom->nghost; - int pad = 1; int nall_t = nall; const int aend = nall; @@ -207,6 +206,17 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, const int mbinz = this->mbinz; const int * const stencilxyz = &this->stencilxyz[0][0]; + int sb = 1; + if (special_flag[1] == 0) { + sb = 2; + if (special_flag[2] == 0) { + sb = 3; + if (special_flag[3] == 0) + sb = 4; + } + } + const int special_bound = sb; + #ifdef _LMP_INTEL_OFFLOAD const int * _noalias const binhead = this->binhead; const int * _noalias const bins = this->bins; @@ -230,7 +240,7 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, in(ncachex,ncachey,ncachez,ncachej:length(0) alloc_if(0) free_if(0)) \ in(ncachejtype,ncachetag:length(0) alloc_if(0) free_if(0)) \ in(ncache_stride,maxnbors,nthreads,maxspecial,nstencil,e_nall,offload) \ - in(separate_buffers,aend,nlocal,molecular,ntypes,mbinx,mbiny) \ + in(separate_buffers,aend,nlocal,molecular,ntypes,mbinx,mbiny,special_bound)\ in(mbinz,xperiodic,yperiodic,zperiodic,xprd_half,yprd_half,zprd_half) \ in(stencilxyz:length(3*nstencil)) \ out(overflow:length(5) alloc_if(0) free_if(0)) \ @@ -287,8 +297,6 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, int e_ito = ito; const int list_size = (e_ito + tid * 2 + 2) * maxnbors; - int which; - int pack_offset = maxnbors; int ct = (ifrom + tid * 2) * maxnbors; int *neighptr = firstneigh + ct; @@ -418,41 +426,109 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, } } // for u + if (molecular && i < nlocal) { + int alln = n; + n = 0; + #if defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #ifdef LMP_INTEL_NBOR_COMPAT + #pragma ivdep + #else + #pragma simd + #endif + #endif + for (int u = 0; u < alln; u++) { + int which; + int addme = 1; + int j = neighptr[u]; + if (need_ic && j < 0) { + which = 0; + j = -j - 1; + } else + ofind_special(which, special, nspecial, i, tag[j]); + if (which) { + j = j ^ (which << SBBITS); + if (which < special_bound) addme = 0; + } + #ifdef LMP_INTEL_NBOR_COMPAT + if (addme) neighptr2[n++] = j; + #else + neighptr2[n++] = j; + #endif + } + alln = n2; + n2 = maxnbors * 2; + #if defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #ifdef LMP_INTEL_NBOR_COMPAT + #pragma ivdep + #else + #pragma simd + #endif + #endif + for (int u = n2; u < alln; u++) { + int which; + int addme = 1; + int j = neighptr[u]; + if (need_ic && j < 0) { + which = 0; + j = -j - 1; + } else + ofind_special(which, special, nspecial, i, tag[j]); + if (which) { + j = j ^ (which << SBBITS); + if (which < special_bound) addme = 0; + } + #ifdef LMP_INTEL_NBOR_COMPAT + if (addme) neighptr2[n2++] = j; + #else + neighptr2[n2++] = j; + #endif + } + } + #ifndef _LMP_INTEL_OFFLOAD if (exclude) { int alln = n; n = maxnbors; - for (int u = pack_offset; u < alln; u++) { - const int j = neighptr[u]; - int pj = j; - if (need_ic) - if (pj < 0) pj = -j - 1; - const int jtype = x[pj].w; - if (exclusion(i,pj,itype,jtype,mask,molecule)) continue; - neighptr[n++] = j; + #if defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #pragma ivdep + #endif + for (int u = n; u < alln; u++) { + int addme = 1; + const int js = neighptr[u]; + const int j = js & NEIGHMASK; + const int jtype = x[j].w; + if (exclusion(i,j,itype,jtype,mask,molecule)) addme = 0; + if (addme) neighptr2[n++] = js; } alln = n2; n2 = maxnbors * 2; + #if defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #pragma ivdep + #endif for (int u = n2; u < alln; u++) { - const int j = neighptr[u]; - int pj = j; - if (need_ic) - if (pj < 0) pj = -j - 1; - const int jtype = x[pj].w; - if (exclusion(i,pj,itype,jtype,mask,molecule)) continue; - neighptr[n2++] = j; + int addme = 1; + const int js = neighptr[u]; + const int j = js & NEIGHMASK; + const int jtype = x[j].w; + if (exclusion(i,j,itype,jtype,mask,molecule)) addme = 0; + if (addme) neighptr2[n2++] = js; } } #endif + int ns = n - maxnbors; int alln = n; atombin[i] = ns; n = 0; for (int u = maxnbors; u < alln; u++) - neighptr[n++] = neighptr[u]; + neighptr[n++] = neighptr2[u]; ns += n2 - maxnbors * 2; for (int u = maxnbors * 2; u < n2; u++) - neighptr[n++] = neighptr[u]; + neighptr[n++] = neighptr2[u]; if (ns > maxnbors) *overflow = 1; ilist[i] = i; @@ -460,9 +536,7 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, numneigh[i] = ns; ct += ns; - const int alignb = (INTEL_DATA_ALIGN / sizeof(int)); - const int edge = ct & (alignb - 1); - if (edge) ct += alignb - edge; + IP_PRE_edge_align(ct, sizeof(int)); neighptr = firstneigh + ct; if (ct + obound > list_size) { if (i < ito - 1) { @@ -477,84 +551,11 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, numneigh[i] = 0; #ifdef _LMP_INTEL_OFFLOAD - int ghost_offset = 0, nall_offset = e_nall; if (separate_buffers) { - for (int i = ifrom; i < ito; ++i) { - int * _noalias jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; - #if __INTEL_COMPILER+0 > 1499 - #pragma vector aligned - #pragma simd - #endif - for (int jj = 0; jj < jnum; jj++) { - int j = jlist[jj]; - if (need_ic && j < 0) j = -j - 1; - } - } - overflow[LMP_LOCAL_MIN] = 0; overflow[LMP_LOCAL_MAX] = nlocal - 1; overflow[LMP_GHOST_MIN] = nlocal; overflow[LMP_GHOST_MAX] = e_nall - 1; - - int nghost = overflow[LMP_GHOST_MAX] + 1 - overflow[LMP_GHOST_MIN]; - if (nghost < 0) nghost = 0; - if (offload) { - ghost_offset = overflow[LMP_GHOST_MIN] - overflow[LMP_LOCAL_MAX] - 1; - nall_offset = overflow[LMP_LOCAL_MAX] + 1 + nghost; - } else { - ghost_offset = overflow[LMP_GHOST_MIN] - nlocal; - nall_offset = nlocal + nghost; - } - } // if separate_buffers - #endif - - if (molecular) { - int ito_m = ito; - if (ito >= nlocal) ito_m = nlocal; - for (int i = ifrom; i < ito_m; ++i) { - int * _noalias jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; - - #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned - #pragma simd - #endif - for (int jj = 0; jj < jnum; jj++) { - const int j = jlist[jj]; - if (need_ic && j < 0) { - which = 0; - jlist[jj] = -j - 1; - } else - ofind_special(which, special, nspecial, i, tag[j]); - #ifdef _LMP_INTEL_OFFLOAD - if (j >= nlocal) { - if (j == e_nall) - jlist[jj] = nall_offset; - else if (which) - jlist[jj] = (j-ghost_offset) ^ (which << SBBITS); - else jlist[jj]-=ghost_offset; - } else - #endif - if (which) jlist[jj] = j ^ (which << SBBITS); - } - } // for i - } // if molecular - #ifdef _LMP_INTEL_OFFLOAD - else if (separate_buffers) { - for (int i = ifrom; i < ito; ++i) { - int * _noalias jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; - int jj = 0; - #pragma vector aligned - #pragma simd - for (jj = 0; jj < jnum; jj++) { - if (jlist[jj] >= nlocal) { - if (jlist[jj] == e_nall) jlist[jj] = nall_offset; - else jlist[jj] -= ghost_offset; - } - } - } } #endif } // end omp diff --git a/src/USER-INTEL/npair_intel.cpp b/src/USER-INTEL/npair_intel.cpp index d3d2745aee..355c8db199 100644 --- a/src/USER-INTEL/npair_intel.cpp +++ b/src/USER-INTEL/npair_intel.cpp @@ -62,19 +62,12 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, if (aend-astart == 0) return; const int nall = atom->nlocal + atom->nghost; - int pad = 1; int nall_t = nall; #ifdef _LMP_INTEL_OFFLOAD if (offload_noghost && offload) nall_t = atom->nlocal; - if (THREE == 0 && offload) { - if (INTEL_MIC_NBOR_PAD > 1) - pad = INTEL_MIC_NBOR_PAD * sizeof(float) / sizeof(flt_t); - } else #endif - if (THREE == 0 && INTEL_NBOR_PAD > 1) - pad = INTEL_NBOR_PAD * sizeof(float) / sizeof(flt_t); - const int pad_width = pad; + const int pack_width = _fix->nbor_pack_width(); const ATOM_T * _noalias const x = buffers->get_x(); @@ -150,6 +143,17 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, int * _noalias const ncachetag = buffers->get_ncachetag(); const int ncache_stride = buffers->ncache_stride(); + int sb = 1; + if (special_flag[1] == 0) { + sb = 2; + if (special_flag[2] == 0) { + sb = 3; + if (special_flag[3] == 0) + sb = 4; + } + } + const int special_bound = sb; + #ifdef _LMP_INTEL_OFFLOAD const int * _noalias const binhead = this->binhead; const int * _noalias const bins = this->bins; @@ -172,9 +176,9 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, in(ncachex,ncachey,ncachez,ncachej:length(0) alloc_if(0) free_if(0)) \ in(ncachejtype,ncachetag:length(0) alloc_if(0) free_if(0)) \ in(ncache_stride,maxnbors,nthreads,maxspecial,nstencil,e_nall,offload) \ - in(pad_width,offload_end,separate_buffers,astart,aend,nlocal,molecular) \ + in(offload_end,separate_buffers,astart,aend,nlocal,molecular) \ in(ntypes,xperiodic,yperiodic,zperiodic,xprd_half,yprd_half,zprd_half) \ - in(pack_width) \ + in(pack_width,special_bound) \ out(overflow:length(5) alloc_if(0) free_if(0)) \ out(timer_compute:length(1) alloc_if(0) free_if(0)) \ signal(tag) @@ -226,19 +230,25 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, ifrom += astart; ito += astart; int e_ito = ito; + #ifdef LMP_INTEL_3BODY_FAST if (THREE && ito == num) { int imod = ito & (pack_width - 1); if (imod) e_ito += pack_width - imod; } + #endif const int list_size = (e_ito + tid * 2 + 2) * maxnbors; - int which; - - int pack_offset = maxnbors; - if (THREE) pack_offset *= pack_width; + #ifdef LMP_INTEL_3BODY_FAST + const int pack_offset = maxnbors * pack_width; + const int obound = pack_offset + maxnbors * 2; + #else + const int pack_offset = 0; + const int obound = maxnbors * 3; + #endif int ct = (ifrom + tid * 2) * maxnbors; int *neighptr = firstneigh + ct; - const int obound = pack_offset + maxnbors * 2; + int *neighptr2; + if (THREE) neighptr2 = neighptr; const int toffs = tid * ncache_stride; flt_t * _noalias const tx = ncachex + toffs; @@ -256,10 +266,12 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, // loop over all atoms in other bins in stencil, store every pair int istart, icount, ncount, oldbin = -9999999, lane, max_chunk; + #ifdef LMP_INTEL_3BODY_FAST if (THREE) { lane = 0; max_chunk = 0; } + #endif for (int i = ifrom; i < ito; i++) { const flt_t xtmp = x[i].x; const flt_t ytmp = x[i].y; @@ -298,9 +310,7 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, if (FULL == 0 || TRI == 1) { icount = 0; istart = ncount; - const int alignb = INTEL_DATA_ALIGN / sizeof(int); - int nedge = istart & (alignb - 1); - if (nedge) istart + (alignb - nedge); + IP_PRE_edge_align(istart, sizeof(int)); itx = tx + istart; ity = ty + istart; itz = tz + istart; @@ -383,11 +393,12 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, // ---------------------- Loop over other bins - int n2, *neighptr2; + int n2; if (THREE) { + #ifdef LMP_INTEL_3BODY_FAST n = pack_offset; + #endif n2 = pack_offset + maxnbors; - neighptr2 = neighptr; } #if defined(LMP_SIMD_COMPILER) #pragma vector aligned @@ -461,49 +472,133 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, } } // for u + if (molecular) { + if (!THREE) neighptr2 = neighptr; + int alln = n; + + n = pack_offset; + #if defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #ifdef LMP_INTEL_NBOR_COMPAT + #pragma ivdep + #else + #pragma simd + #endif + #endif + for (int u = n; u < alln; u++) { + int which; + int addme = 1; + int j = neighptr[u]; + if (need_ic && j < 0) { + which = 0; + j = -j - 1; + } else + ofind_special(which, special, nspecial, i, tag[j]); + + if (which) { + j = j ^ (which << SBBITS); + if (which < special_bound) addme = 0; + } + #ifdef LMP_INTEL_NBOR_COMPAT + if (addme) neighptr2[n++] = j; + #else + neighptr2[n++]=j; + #endif + } + + if (THREE) { + alln = n2; + n2 = pack_offset + maxnbors; + + #if defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #ifdef LMP_INTEL_NBOR_COMPAT + #pragma ivdep + #else + #pragma simd + #endif + #endif + for (int u = n2; u < alln; u++) { + int which; + int addme = 1; + int j = neighptr[u]; + if (need_ic && j < 0) { + which = 0; + j = -j - 1; + } else + ofind_special(which, special, nspecial, i, tag[j]); + if (which) { + j = j ^ (which << SBBITS); + if (which < special_bound) addme = 0; + } + #ifdef LMP_INTEL_NBOR_COMPAT + if (addme) neighptr2[n2++] = j; + #else + neighptr2[n2++]=j; + #endif + } + } + } + #ifndef _LMP_INTEL_OFFLOAD if (exclude) { + neighptr2 = neighptr; int alln = n; - if (THREE) n = pack_offset; - else n = 0; - for (int u = pack_offset; u < alln; u++) { - const int j = neighptr[u]; - int pj = j; - if (need_ic) - if (pj < 0) pj = -j - 1; - const int jtype = x[pj].w; - if (exclusion(i,pj,itype,jtype,mask,molecule)) continue; - neighptr[n++] = j; + n = pack_offset; + + #if defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #pragma ivdep + #endif + for (int u = n; u < alln; u++) { + int addme = 1; + const int js = neighptr[u]; + const int j = js & NEIGHMASK; + const int jtype = x[j].w; + if (exclusion(i,j,itype,jtype,mask,molecule)) addme = 0; + if (addme) neighptr2[n++] = js; } if (THREE) { alln = n2; n2 = pack_offset + maxnbors; - for (int u = pack_offset + maxnbors; u < alln; u++) { - const int j = neighptr[u]; - int pj = j; - if (need_ic) - if (pj < 0) pj = -j - 1; - const int jtype = x[pj].w; - if (exclusion(i,pj,itype,jtype,mask,molecule)) continue; - neighptr[n2++] = j; + #if defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #pragma ivdep + #endif + for (int u = n2; u < alln; u++) { + int addme = 1; + const int js = neighptr[u]; + const int j = js & NEIGHMASK; + const int jtype = x[j].w; + if (exclusion(i,j,itype,jtype,mask,molecule)) addme = 0; + if (addme) neighptr2[n2++] = js; } } } #endif + int ns; if (THREE) { int alln = n; ns = n - pack_offset; atombin[i] = ns; + ns += n2 - pack_offset - maxnbors; + + #ifdef LMP_INTEL_3BODY_FAST n = lane; for (int u = pack_offset; u < alln; u++) { - neighptr[n] = neighptr[u]; + neighptr[n] = neighptr2[u]; n += pack_width; } - ns += n2 - pack_offset - maxnbors; + #endif + for (int u = pack_offset + maxnbors; u < n2; u++) { - neighptr[n] = neighptr[u]; + #ifdef LMP_INTEL_3BODY_FAST + neighptr[n] = neighptr2[u]; n += pack_width; + #else + neighptr[n++] = neighptr2[u]; + #endif } if (ns > maxnbors) *overflow = 1; } else @@ -512,34 +607,33 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, ilist[i] = i; cnumneigh[i] = ct; if (THREE) { + #ifdef LMP_INTEL_3BODY_FAST cnumneigh[i] += lane; + #endif numneigh[i] = ns; } else { - int edge = n & (pad_width - 1); - if (edge) { - const int pad_end = n + (pad_width - edge); - #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned - #pragma loop_count min=1, max=INTEL_COMPILE_WIDTH-1, \ - avg=INTEL_COMPILE_WIDTH/2 - #endif - for ( ; n < pad_end; n++) - neighptr[n] = e_nall; - } numneigh[i] = n; + int pad_end = n; + IP_PRE_neighbor_pad(pad_end, offload); + #if defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #pragma loop_count min=1, max=INTEL_COMPILE_WIDTH-1, \ + avg=INTEL_COMPILE_WIDTH/2 + #endif + for ( ; n < pad_end; n++) + neighptr[n] = e_nall; } + #ifdef LMP_INTEL_3BODY_FAST if (THREE) { if (ns > max_chunk) max_chunk = ns; lane++; if (lane == pack_width) { ct += max_chunk * pack_width; - const int alignb = (INTEL_DATA_ALIGN / sizeof(int)); - const int edge = ct & (alignb - 1); - if (edge) ct += alignb - edge; + IP_PRE_edge_align(ct, sizeof(int)); neighptr = firstneigh + ct; + neighptr2 = neighptr; max_chunk = 0; - pack_offset = maxnbors * pack_width; lane = 0; if (ct + obound > list_size) { if (i < ito - 1) { @@ -548,12 +642,13 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, } } } - } else { + } else + #endif + { ct += n; - const int alignb = (INTEL_DATA_ALIGN / sizeof(int)); - const int edge = ct & (alignb - 1); - if (edge) ct += alignb - edge; + //IP_PRE_edge_align(ct, sizeof(int)); neighptr = firstneigh + ct; + if (THREE) neighptr2 = neighptr; if (ct + obound > list_size) { if (i < ito - 1) { *overflow = 1; @@ -573,14 +668,14 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, if (separate_buffers) { for (int i = ifrom; i < ito; ++i) { int * _noalias jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; + int jnum = numneigh[i]; + if (!THREE) IP_PRE_neighbor_pad(jnum, offload); #if __INTEL_COMPILER+0 > 1499 #pragma vector aligned #pragma simd reduction(max:vlmax,vgmax) reduction(min:vlmin, vgmin) #endif for (int jj = 0; jj < jnum; jj++) { - int j = jlist[jj]; - if (need_ic && j < 0) j = -j - 1; + const int j = jlist[jj] & NEIGHMASK; if (j < nlocal) { if (j < vlmin) vlmin = j; if (j > vlmax) vlmax = j; @@ -615,72 +710,20 @@ void NPairIntel::bin_newton(const int offload, NeighList *list, ghost_offset = overflow[LMP_GHOST_MIN] - nlocal; nall_offset = nlocal + nghost; } - } // if separate_buffers - #endif - if (molecular) { - for (int i = ifrom; i < ito; ++i) { - int * _noalias jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; - - if (THREE) { - const int trip = jnum * pack_width; - for (int jj = 0; jj < trip; jj+=pack_width) { - const int j = jlist[jj]; - if (need_ic && j < 0) { - which = 0; - jlist[jj] = -j - 1; - } else - ofind_special(which, special, nspecial, i, tag[j]); - #ifdef _LMP_INTEL_OFFLOAD - if (j >= nlocal) { - if (j == e_nall) - jlist[jj] = nall_offset; - else if (which) - jlist[jj] = (j-ghost_offset) ^ (which << SBBITS); - else jlist[jj]-=ghost_offset; - } else - #endif - if (which) jlist[jj] = j ^ (which << SBBITS); - } - } else { - #if defined(LMP_SIMD_COMPILER) - #pragma vector aligned - #pragma simd - #endif - for (int jj = 0; jj < jnum; jj++) { - const int j = jlist[jj]; - if (need_ic && j < 0) { - which = 0; - jlist[jj] = -j - 1; - } else - ofind_special(which, special, nspecial, i, tag[j]); - #ifdef _LMP_INTEL_OFFLOAD - if (j >= nlocal) { - if (j == e_nall) - jlist[jj] = nall_offset; - else if (which) - jlist[jj] = (j-ghost_offset) ^ (which << SBBITS); - else jlist[jj]-=ghost_offset; - } else - #endif - if (which) jlist[jj] = j ^ (which << SBBITS); - } - } - } // for i - } // if molecular - #ifdef _LMP_INTEL_OFFLOAD - else if (separate_buffers) { for (int i = ifrom; i < ito; ++i) { int * _noalias jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; + int jnum = numneigh[i]; + if (!THREE) IP_PRE_neighbor_pad(jnum, offload); int jj = 0; #pragma vector aligned #pragma simd for (jj = 0; jj < jnum; jj++) { - if (jlist[jj] >= nlocal) { - if (jlist[jj] == e_nall) jlist[jj] = nall_offset; - else jlist[jj] -= ghost_offset; + const int which = jlist[jj] >> SBBITS & 3; + const int j = jlist[jj] & NEIGHMASK; + if (j >= nlocal) { + if (j == e_nall) jlist[jj] = nall_offset; + else jlist[jj] = (j - ghost_offset) ^ (which << SBBITS); } } } diff --git a/src/USER-INTEL/pair_buck_coul_cut_intel.cpp b/src/USER-INTEL/pair_buck_coul_cut_intel.cpp index 71aad95bc5..39fa9014db 100644 --- a/src/USER-INTEL/pair_buck_coul_cut_intel.cpp +++ b/src/USER-INTEL/pair_buck_coul_cut_intel.cpp @@ -142,6 +142,7 @@ void PairBuckCoulCutIntel::eval(const int offload, const int vflag, ATOM_T * _noalias const x = buffers->get_x(offload); flt_t * _noalias const q = buffers->get_q(offload); + const int * _noalias const ilist = list->ilist; const int * _noalias const numneigh = list->numneigh; const int * _noalias const cnumneigh = buffers->cnumneigh(list); const int * _noalias const firstneigh = buffers->firstneigh(list); @@ -185,6 +186,7 @@ void PairBuckCoulCutIntel::eval(const int offload, const int vflag, in(numneigh:length(0) alloc_if(0) free_if(0)) \ in(x:length(x_size) alloc_if(0) free_if(0)) \ in(q:length(q_size) alloc_if(0) free_if(0)) \ + in(ilist:length(0) alloc_if(0) free_if(0)) \ in(overflow:length(0) alloc_if(0) free_if(0)) \ in(astart,nthreads,qqrd2e,inum,nall,ntypes,vflag,eatom) \ in(f_stride,nlocal,minlocal,separate_flag,offload) \ @@ -221,15 +223,17 @@ void PairBuckCoulCutIntel::eval(const int offload, const int vflag, FORCE_T * _noalias const f = f_start + foff; if (NEWTON_PAIR) memset(f + minlocal, 0, f_stride * sizeof(FORCE_T)); - for (int i = iifrom; i < iito; i += iip) { + for (int ii = iifrom; ii < iito; ii += iip) { + const int i = ilist[ii]; const int itype = x[i].w; const int ptr_off = itype * ntypes; const C_FORCE_T * _noalias const c_forcei = c_force + ptr_off; const C_ENERGY_T * _noalias const c_energyi = c_energy + ptr_off; const C_CUT_T * _noalias const c_cuti = c_cut + ptr_off; - const int * _noalias const jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; + const int * _noalias const jlist = firstneigh + cnumneigh[ii]; + int jnum = numneigh[ii]; + IP_PRE_neighbor_pad(jnum, offload); acc_t fxtmp,fytmp,fztmp,fwtmp; acc_t sevdwl, secoul, sv0, sv1, sv2, sv3, sv4, sv5; diff --git a/src/USER-INTEL/pair_buck_coul_long_intel.cpp b/src/USER-INTEL/pair_buck_coul_long_intel.cpp index bba8a7b5e7..fe4d408a13 100644 --- a/src/USER-INTEL/pair_buck_coul_long_intel.cpp +++ b/src/USER-INTEL/pair_buck_coul_long_intel.cpp @@ -142,6 +142,7 @@ void PairBuckCoulLongIntel::eval(const int offload, const int vflag, ATOM_T * _noalias const x = buffers->get_x(offload); flt_t * _noalias const q = buffers->get_q(offload); + const int * _noalias const ilist = list->ilist; const int * _noalias const numneigh = list->numneigh; const int * _noalias const cnumneigh = buffers->cnumneigh(list); const int * _noalias const firstneigh = buffers->firstneigh(list); @@ -209,6 +210,7 @@ void PairBuckCoulLongIntel::eval(const int offload, const int vflag, in(numneigh:length(0) alloc_if(0) free_if(0)) \ in(x:length(x_size) alloc_if(0) free_if(0)) \ in(q:length(q_size) alloc_if(0) free_if(0)) \ + in(ilist:length(0) alloc_if(0) free_if(0)) \ in(overflow:length(0) alloc_if(0) free_if(0)) \ in(ccachex,ccachey,ccachez,ccachew:length(0) alloc_if(0) free_if(0)) \ in(ccachei,ccachej:length(0) alloc_if(0) free_if(0)) \ @@ -255,15 +257,17 @@ void PairBuckCoulLongIntel::eval(const int offload, const int vflag, int * _noalias const tj = ccachei + toffs; int * _noalias const tjtype = ccachej + toffs; - for (int i = iifrom; i < iito; i += iip) { + for (int ii = iifrom; ii < iito; ii += iip) { + const int i = ilist[ii]; const int itype = x[i].w; const int ptr_off = itype * ntypes; const C_FORCE_T * _noalias const c_forcei = c_force + ptr_off; const C_ENERGY_T * _noalias const c_energyi = c_energy + ptr_off; const flt_t * _noalias const rho_invi = rho_inv + ptr_off; - const int * _noalias const jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; + const int * _noalias const jlist = firstneigh + cnumneigh[ii]; + int jnum = numneigh[ii]; + IP_PRE_neighbor_pad(jnum, offload); acc_t fxtmp,fytmp,fztmp,fwtmp; acc_t sevdwl, secoul, sv0, sv1, sv2, sv3, sv4, sv5; diff --git a/src/USER-INTEL/pair_buck_intel.cpp b/src/USER-INTEL/pair_buck_intel.cpp index f5dde26393..8ce3d121e0 100644 --- a/src/USER-INTEL/pair_buck_intel.cpp +++ b/src/USER-INTEL/pair_buck_intel.cpp @@ -133,6 +133,7 @@ void PairBuckIntel::eval(const int offload, const int vflag, ATOM_T * _noalias const x = buffers->get_x(offload); + const int * _noalias const ilist = list->ilist; const int * _noalias const numneigh = list->numneigh; const int * _noalias const cnumneigh = buffers->cnumneigh(list); const int * _noalias const firstneigh = buffers->firstneigh(list); @@ -169,6 +170,7 @@ void PairBuckIntel::eval(const int offload, const int vflag, in(cnumneigh:length(0) alloc_if(0) free_if(0)) \ in(numneigh:length(0) alloc_if(0) free_if(0)) \ in(x:length(x_size) alloc_if(0) free_if(0)) \ + in(ilist:length(0) alloc_if(0) free_if(0)) \ in(overflow:length(0) alloc_if(0) free_if(0)) \ in(astart,nthreads,inum,nall,ntypes,vflag,eatom) \ in(f_stride,nlocal,minlocal,separate_flag,offload) \ @@ -205,14 +207,16 @@ void PairBuckIntel::eval(const int offload, const int vflag, FORCE_T * _noalias const f = f_start + foff; if (NEWTON_PAIR) memset(f + minlocal, 0, f_stride * sizeof(FORCE_T)); - for (int i = iifrom; i < iito; i += iip) { + for (int ii = iifrom; ii < iito; ii += iip) { + const int i = ilist[ii]; const int itype = x[i].w; const int ptr_off = itype * ntypes; const C_FORCE_T * _noalias const c_forcei = c_force + ptr_off; const C_ENERGY_T * _noalias const c_energyi = c_energy + ptr_off; - const int * _noalias const jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; + const int * _noalias const jlist = firstneigh + cnumneigh[ii]; + int jnum = numneigh[ii]; + IP_PRE_neighbor_pad(jnum, offload); acc_t fxtmp,fytmp,fztmp,fwtmp; acc_t sevdwl, sv0, sv1, sv2, sv3, sv4, sv5; diff --git a/src/USER-INTEL/pair_dpd_intel.cpp b/src/USER-INTEL/pair_dpd_intel.cpp index cb8c06cacc..7c33ed21d3 100644 --- a/src/USER-INTEL/pair_dpd_intel.cpp +++ b/src/USER-INTEL/pair_dpd_intel.cpp @@ -171,6 +171,7 @@ void PairDPDIntel::eval(const int offload, const int vflag, lmp_vt *v = (lmp_vt *)atom->v[0]; const flt_t dtinvsqrt = 1.0/sqrt(update->dt); + const int * _noalias const ilist = list->ilist; const int * _noalias const numneigh = list->numneigh; const int * _noalias const cnumneigh = buffers->cnumneigh(list); const int * _noalias const firstneigh = buffers->firstneigh(list); @@ -237,7 +238,8 @@ void PairDPDIntel::eval(const int offload, const int vflag, gamma = param[3].gamma; sigma = param[3].sigma; } - for (int i = iifrom; i < iito; i += iip) { + for (int ii = iifrom; ii < iito; ii += iip) { + const int i = ilist[ii]; int itype, ptr_off; const FC_PACKED1_T * _noalias parami; if (!ONETYPE) { @@ -246,8 +248,9 @@ void PairDPDIntel::eval(const int offload, const int vflag, parami = param + ptr_off; } - const int * _noalias const jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; + const int * _noalias const jlist = firstneigh + cnumneigh[ii]; + int jnum = numneigh[ii]; + IP_PRE_neighbor_pad(jnum, offload); acc_t fxtmp, fytmp, fztmp, fwtmp; acc_t sevdwl, sv0, sv1, sv2, sv3, sv4, sv5; diff --git a/src/USER-INTEL/pair_eam_intel.cpp b/src/USER-INTEL/pair_eam_intel.cpp index 94799cdba2..201277e68d 100644 --- a/src/USER-INTEL/pair_eam_intel.cpp +++ b/src/USER-INTEL/pair_eam_intel.cpp @@ -164,8 +164,7 @@ void PairEAMIntel::eval(const int offload, const int vflag, memory->destroy(rho); memory->destroy(fp); nmax = atom->nmax; - int edge = (nmax * sizeof(acc_t)) % INTEL_DATA_ALIGN; - if (edge) nmax += (INTEL_DATA_ALIGN - edge) / sizeof(acc_t); + IP_PRE_edge_align(nmax, sizeof(acc_t)); if (NEWTON_PAIR) memory->create(rho,nmax*comm->nthreads,"pair:rho"); else @@ -192,6 +191,7 @@ void PairEAMIntel::eval(const int offload, const int vflag, ATOM_T * _noalias const x = buffers->get_x(offload); + const int * _noalias const ilist = list->ilist; const int * _noalias const numneigh = list->numneigh; const int * _noalias const cnumneigh = buffers->cnumneigh(list); const int * _noalias const firstneigh = buffers->firstneigh(list); @@ -286,14 +286,16 @@ void PairEAMIntel::eval(const int offload, const int vflag, rhor_joff = rhor_ioff + _onetype * jstride; frho_ioff = fstride * _onetype; } - for (int i = iifrom; i < iito; ++i) { + for (int ii = iifrom; ii < iito; ++ii) { + const int i = ilist[ii]; int itype, rhor_ioff; if (!ONETYPE) { itype = x[i].w; rhor_ioff = istride * itype; } - const int * _noalias const jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; + const int * _noalias const jlist = firstneigh + cnumneigh[ii]; + int jnum = numneigh[ii]; + IP_PRE_neighbor_pad(jnum, offload); const flt_t xtmp = x[i].x; const flt_t ytmp = x[i].y; @@ -411,7 +413,8 @@ void PairEAMIntel::eval(const int offload, const int vflag, #pragma vector aligned #pragma simd reduction(+:tevdwl) #endif - for (int i = iifrom; i < iito; ++i) { + for (int ii = iifrom; ii < iito; ++ii) { + const int i = ilist[ii]; int itype; if (!ONETYPE) itype = x[i].w; flt_t p = rho[i]*frdrho + (flt_t)1.0; @@ -457,7 +460,8 @@ void PairEAMIntel::eval(const int offload, const int vflag, // compute forces on each atom // loop over neighbors of my atoms - for (int i = iifrom; i < iito; ++i) { + for (int ii = iifrom; ii < iito; ++ii) { + const int i = ilist[ii]; int itype, rhor_ioff; const flt_t * _noalias scale_fi; if (!ONETYPE) { @@ -465,8 +469,9 @@ void PairEAMIntel::eval(const int offload, const int vflag, rhor_ioff = istride * itype; scale_fi = scale_f + itype*ntypes; } - const int * _noalias const jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; + const int * _noalias const jlist = firstneigh + cnumneigh[ii]; + int jnum = numneigh[ii]; + IP_PRE_neighbor_pad(jnum, offload); acc_t fxtmp, fytmp, fztmp, fwtmp; acc_t sevdwl, sv0, sv1, sv2, sv3, sv4, sv5; @@ -761,14 +766,12 @@ void PairEAMIntel::ForceConst::set_ntypes(const int ntypes, if (ntypes > 0) { _cop = cop; _nr = nr + 1; - int edge = (_nr * sizeof(flt_t)) % INTEL_DATA_ALIGN; - if (edge) _nr += (INTEL_DATA_ALIGN - edge) / sizeof(flt_t); + IP_PRE_edge_align(_nr, sizeof(flt_t)); memory->create(rhor_spline_f,ntypes*ntypes*_nr,"fc.rhor_spline_f"); memory->create(rhor_spline_e,ntypes*ntypes*_nr,"fc.rhor_spline_e"); memory->create(z2r_spline_t,ntypes*ntypes*_nr,"fc.z2r_spline_t"); _nrho = nrho + 1; - edge = (_nrho * sizeof(flt_t)) % INTEL_DATA_ALIGN; - if (edge) _nrho += (INTEL_DATA_ALIGN - edge) / sizeof(flt_t); + IP_PRE_edge_align(_nrho, sizeof(flt_t)); memory->create(frho_spline_f,ntypes*_nrho,"fc.frho_spline_f"); memory->create(frho_spline_e,ntypes*_nrho,"fc.frho_spline_e"); memory->create(scale_f,ntypes,ntypes,"fc.scale_f"); diff --git a/src/USER-INTEL/pair_gayberne_intel.cpp b/src/USER-INTEL/pair_gayberne_intel.cpp index 1f05ad0efc..30941a7594 100644 --- a/src/USER-INTEL/pair_gayberne_intel.cpp +++ b/src/USER-INTEL/pair_gayberne_intel.cpp @@ -226,7 +226,7 @@ void PairGayBerneIntel::eval(const int offload, const int vflag, } #endif - // const int * _noalias const ilist = list->ilist; + const int * _noalias const ilist = list->ilist; const int * _noalias const numneigh = list->numneigh; const int * _noalias const cnumneigh = buffers->cnumneigh(list); const int * _noalias const firstneigh = buffers->firstneigh(list); @@ -287,6 +287,7 @@ void PairGayBerneIntel::eval(const int offload, const int vflag, in(numneigh:length(0) alloc_if(0) free_if(0)) \ in(x:length(x_size) alloc_if(0) free_if(0)) \ in(quat:length(nall+1) alloc_if(0) free_if(0)) \ + in(ilist:length(0) alloc_if(0) free_if(0)) \ in(overflow:length(0) alloc_if(0) free_if(0)) \ in(nthreads,inum,nall,ntypes,vflag,eatom,minlocal,separate_flag) \ in(astart,nlocal,f_stride,max_nbors,mu,gamma,upsilon,offload,pad_width) \ @@ -364,15 +365,16 @@ void PairGayBerneIntel::eval(const int offload, const int vflag, int * _noalias const jlist_form = jlist_formi + tid * max_nbors; int ierror = 0; - for (int i = iifrom; i < iito; i += iip) { - // const int i = ilist[ii]; + for (int ii = iifrom; ii < iito; ii += iip) { + const int i = ilist[ii]; const int itype = x[i].w; const int ptr_off = itype * ntypes; const FC_PACKED1_T * _noalias const ijci = ijc + ptr_off; const FC_PACKED2_T * _noalias const lj34i = lj34 + ptr_off; - const int * _noalias const jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; + const int * _noalias const jlist = firstneigh + cnumneigh[ii]; + int jnum = numneigh[ii]; + IP_PRE_neighbor_pad(jnum, offload); const flt_t xtmp = x[i].x; const flt_t ytmp = x[i].y; @@ -428,15 +430,13 @@ void PairGayBerneIntel::eval(const int offload, const int vflag, } else multiple_forms = true; } - const int edge = packed_j & (pad_width - 1); - if (edge) { - const int packed_end = packed_j + (pad_width - edge); - #if defined(LMP_SIMD_COMPILER) - #pragma loop_count min=1, max=15, avg=8 - #endif - for ( ; packed_j < packed_end; packed_j++) - jlist_form[packed_j] = nall; - } + int packed_end = packed_j; + IP_PRE_neighbor_pad(packed_end, offload); + #if defined(LMP_SIMD_COMPILER) + #pragma loop_count min=1, max=15, avg=8 + #endif + for ( ; packed_j < packed_end; packed_j++) + jlist_form[packed_j] = nall; // ------------------------------------------------------------- diff --git a/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp b/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp index 7485395bef..8e6395c388 100644 --- a/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp +++ b/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp @@ -136,6 +136,7 @@ void PairLJCharmmCoulCharmmIntel::eval(const int offload, const int vflag, ATOM_T * _noalias const x = buffers->get_x(offload); flt_t * _noalias const q = buffers->get_q(offload); + const int * _noalias const ilist = list->ilist; const int * _noalias const numneigh = list->numneigh; const int * _noalias const cnumneigh = buffers->cnumneigh(list); const int * _noalias const firstneigh = buffers->firstneigh(list); @@ -189,6 +190,7 @@ void PairLJCharmmCoulCharmmIntel::eval(const int offload, const int vflag, in(numneigh:length(0) alloc_if(0) free_if(0)) \ in(x:length(x_size) alloc_if(0) free_if(0)) \ in(q:length(q_size) alloc_if(0) free_if(0)) \ + in(ilist:length(0) alloc_if(0) free_if(0)) \ in(overflow:length(0) alloc_if(0) free_if(0)) \ in(ccachex,ccachey,ccachez,ccachew:length(0) alloc_if(0) free_if(0)) \ in(ccachei,ccachej:length(0) alloc_if(0) free_if(0)) \ @@ -238,16 +240,17 @@ void PairLJCharmmCoulCharmmIntel::eval(const int offload, const int vflag, int * _noalias const tj = ccachei + toffs; int * _noalias const tjtype = ccachej + toffs; - for (int i = iifrom; i < iito; i += iip) { - // const int i = ilist[ii]; + for (int ii = iifrom; ii < iito; ii += iip) { + const int i = ilist[ii]; const int itype = x[i].w; const int ptr_off = itype * ntypes; const flt_t * _noalias const cutsqi = cutsq + ptr_off; const LJ_T * _noalias const lji = lj + ptr_off; - const int * _noalias const jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; + const int * _noalias const jlist = firstneigh + cnumneigh[ii]; + int jnum = numneigh[ii]; + IP_PRE_neighbor_pad(jnum, offload); acc_t fxtmp,fytmp,fztmp,fwtmp; acc_t sevdwl, secoul, sv0, sv1, sv2, sv3, sv4, sv5; diff --git a/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp b/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp index 25cca59714..a01a4688a5 100644 --- a/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp +++ b/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp @@ -140,6 +140,7 @@ void PairLJCharmmCoulLongIntel::eval(const int offload, const int vflag, ATOM_T * _noalias const x = buffers->get_x(offload); flt_t * _noalias const q = buffers->get_q(offload); + const int * _noalias const ilist = list->ilist; const int * _noalias const numneigh = list->numneigh; const int * _noalias const cnumneigh = buffers->cnumneigh(list); const int * _noalias const firstneigh = buffers->firstneigh(list); @@ -210,6 +211,7 @@ void PairLJCharmmCoulLongIntel::eval(const int offload, const int vflag, in(numneigh:length(0) alloc_if(0) free_if(0)) \ in(x:length(x_size) alloc_if(0) free_if(0)) \ in(q:length(q_size) alloc_if(0) free_if(0)) \ + in(ilist:length(0) alloc_if(0) free_if(0)) \ in(overflow:length(0) alloc_if(0) free_if(0)) \ in(ccachex,ccachey,ccachez,ccachew:length(0) alloc_if(0) free_if(0)) \ in(ccachei,ccachej:length(0) alloc_if(0) free_if(0)) \ @@ -258,16 +260,17 @@ void PairLJCharmmCoulLongIntel::eval(const int offload, const int vflag, int * _noalias const tj = ccachei + toffs; int * _noalias const tjtype = ccachej + toffs; - for (int i = iifrom; i < iito; i += iip) { - // const int i = ilist[ii]; + for (int ii = iifrom; ii < iito; ii += iip) { + const int i = ilist[ii]; const int itype = x[i].w; const int ptr_off = itype * ntypes; const flt_t * _noalias const cutsqi = cutsq + ptr_off; const LJ_T * _noalias const lji = lj + ptr_off; - const int * _noalias const jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; + const int * _noalias const jlist = firstneigh + cnumneigh[ii]; + int jnum = numneigh[ii]; + IP_PRE_neighbor_pad(jnum, offload); acc_t fxtmp,fytmp,fztmp,fwtmp; acc_t sevdwl, secoul, sv0, sv1, sv2, sv3, sv4, sv5; diff --git a/src/USER-INTEL/pair_lj_cut_coul_long_intel.cpp b/src/USER-INTEL/pair_lj_cut_coul_long_intel.cpp index cb7381270d..ab0b5b3d55 100644 --- a/src/USER-INTEL/pair_lj_cut_coul_long_intel.cpp +++ b/src/USER-INTEL/pair_lj_cut_coul_long_intel.cpp @@ -139,6 +139,7 @@ void PairLJCutCoulLongIntel::eval(const int offload, const int vflag, ATOM_T * _noalias const x = buffers->get_x(offload); flt_t * _noalias const q = buffers->get_q(offload); + const int * _noalias const ilist = list->ilist; const int * _noalias const numneigh = list->numneigh; const int * _noalias const cnumneigh = buffers->cnumneigh(list); const int * _noalias const firstneigh = buffers->firstneigh(list); @@ -204,6 +205,7 @@ void PairLJCutCoulLongIntel::eval(const int offload, const int vflag, in(numneigh:length(0) alloc_if(0) free_if(0)) \ in(x:length(x_size) alloc_if(0) free_if(0)) \ in(q:length(q_size) alloc_if(0) free_if(0)) \ + in(ilist:length(0) alloc_if(0) free_if(0)) \ in(overflow:length(0) alloc_if(0) free_if(0)) \ in(ccachex,ccachey,ccachez,ccachew:length(0) alloc_if(0) free_if(0)) \ in(ccachei,ccachej:length(0) alloc_if(0) free_if(0)) \ @@ -250,15 +252,17 @@ void PairLJCutCoulLongIntel::eval(const int offload, const int vflag, int * _noalias const tj = ccachei + toffs; int * _noalias const tjtype = ccachej + toffs; - for (int i = iifrom; i < iito; i += iip) { + for (int ii = iifrom; ii < iito; ii += iip) { + const int i = ilist[ii]; const int itype = x[i].w; const int ptr_off = itype * ntypes; const C_FORCE_T * _noalias const c_forcei = c_force + ptr_off; const C_ENERGY_T * _noalias const c_energyi = c_energy + ptr_off; - const int * _noalias const jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; + const int * _noalias const jlist = firstneigh + cnumneigh[ii]; + int jnum = numneigh[ii]; + IP_PRE_neighbor_pad(jnum, offload); acc_t fxtmp,fytmp,fztmp,fwtmp; acc_t sevdwl, secoul, sv0, sv1, sv2, sv3, sv4, sv5; diff --git a/src/USER-INTEL/pair_lj_cut_intel.cpp b/src/USER-INTEL/pair_lj_cut_intel.cpp index b16f6230cc..c973639709 100644 --- a/src/USER-INTEL/pair_lj_cut_intel.cpp +++ b/src/USER-INTEL/pair_lj_cut_intel.cpp @@ -148,6 +148,7 @@ void PairLJCutIntel::eval(const int offload, const int vflag, ATOM_T * _noalias const x = buffers->get_x(offload); + const int * _noalias const ilist = list->ilist; const int * _noalias const numneigh = list->numneigh; const int * _noalias const cnumneigh = buffers->cnumneigh(list); const int * _noalias const firstneigh = buffers->firstneigh(list); @@ -207,7 +208,8 @@ void PairLJCutIntel::eval(const int offload, const int vflag, lj4 = lj34[3].lj4; offset = ljc12o[3].offset; } - for (int i = iifrom; i < iito; i += iip) { + for (int ii = iifrom; ii < iito; ii += iip) { + const int i = ilist[ii]; int itype, ptr_off; const FC_PACKED1_T * _noalias ljc12oi; const FC_PACKED2_T * _noalias lj34i; @@ -217,9 +219,9 @@ void PairLJCutIntel::eval(const int offload, const int vflag, ljc12oi = ljc12o + ptr_off; lj34i = lj34 + ptr_off; } - - const int * _noalias const jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; + const int * _noalias const jlist = firstneigh + cnumneigh[ii]; + int jnum = numneigh[ii]; + IP_PRE_neighbor_pad(jnum, offload); acc_t fxtmp, fytmp, fztmp, fwtmp; acc_t sevdwl, sv0, sv1, sv2, sv3, sv4, sv5; diff --git a/src/USER-INTEL/pair_sw_intel.cpp b/src/USER-INTEL/pair_sw_intel.cpp index 421de91ee9..d1d52270be 100644 --- a/src/USER-INTEL/pair_sw_intel.cpp +++ b/src/USER-INTEL/pair_sw_intel.cpp @@ -42,7 +42,6 @@ #include "suffix.h" #ifdef LMP_USE_AVXCD -#define OUTER_CHUNK 1 #include "intel_simd.h" using namespace ip_simd; #endif @@ -185,6 +184,7 @@ void PairSWIntel::eval(const int offload, const int vflag, IP_PRE_pack_separate_buffers(fix, buffers, ago, offload, nlocal, nall); ATOM_T * _noalias const x = buffers->get_x(offload); + const int * _noalias const ilist = list->ilist; const int * _noalias const numneighhalf = buffers->get_atombin(); const int * _noalias const numneigh = list->numneigh; const int * _noalias const cnumneigh = buffers->cnumneigh(list); @@ -230,6 +230,7 @@ void PairSWIntel::eval(const int offload, const int vflag, in(cnumneigh:length(0) alloc_if(0) free_if(0)) \ in(numneigh:length(0) alloc_if(0) free_if(0)) \ in(x:length(x_size) alloc_if(0) free_if(0)) \ + in(ilist:length(0) alloc_if(0) free_if(0)) \ in(numneighhalf:length(0) alloc_if(0) free_if(0)) \ in(overflow:length(0) alloc_if(0) free_if(0)) \ in(ccachex,ccachey,ccachez,ccachew:length(0) alloc_if(0) free_if(0)) \ @@ -298,7 +299,8 @@ void PairSWIntel::eval(const int offload, const int vflag, } } - for (int i = iifrom; i < iito; i += iip) { + for (int ii = iifrom; ii < iito; ii += iip) { + const int i = ilist[ii]; int itype, itype_offset; const flt_t xtmp = x[i].x; const flt_t ytmp = x[i].y; @@ -309,9 +311,9 @@ void PairSWIntel::eval(const int offload, const int vflag, itype_offset = itype * ntypes; } - const int * _noalias const jlist = firstneigh + cnumneigh[i]; - const int jnum = numneigh[i]; - const int jnumhalf = numneighhalf[i]; + const int * _noalias const jlist = firstneigh + cnumneigh[ii]; + const int jnum = numneigh[ii]; + const int jnumhalf = numneighhalf[ii]; acc_t fxtmp, fytmp, fztmp, fwtmp; acc_t sevdwl; @@ -346,9 +348,13 @@ void PairSWIntel::eval(const int offload, const int vflag, } } - int ejrem = ejnum & (pad_width - 1); - if (ejrem) ejrem = pad_width - ejrem; - const int ejnum_pad = ejnum + ejrem; + int ejnum_pad = ejnum; + IP_PRE_neighbor_pad(ejnum_pad, offload); + #if defined(LMP_SIMD_COMPILER) + #pragma vector aligned + #pragma loop_count min=1, max=INTEL_COMPILE_WIDTH-1, \ + avg=INTEL_COMPILE_WIDTH/2 + #endif for (int jj = ejnum; jj < ejnum_pad; jj++) { tdelx[jj] = (flt_t)0.0; tdely[jj] = (flt_t)0.0; @@ -594,6 +600,7 @@ void PairSWIntel::eval(const int offload, const int vflag, IP_PRE_pack_separate_buffers(fix, buffers, ago, offload, nlocal, nall); ATOM_T * _noalias const x = buffers->get_x(offload); + const int * _noalias const ilist = list->ilist; const int * _noalias const numneighhalf = buffers->get_atombin(); const int * _noalias const numneigh = list->numneigh; const int * _noalias const cnumneigh = buffers->cnumneigh(list); @@ -641,6 +648,7 @@ void PairSWIntel::eval(const int offload, const int vflag, in(cnumneigh:length(0) alloc_if(0) free_if(0)) \ in(numneigh:length(0) alloc_if(0) free_if(0)) \ in(x:length(x_size) alloc_if(0) free_if(0)) \ + in(ilist:length(0) alloc_if(0) free_if(0)) \ in(numneighhalf:length(0) alloc_if(0) free_if(0)) \ in(overflow:length(0) alloc_if(0) free_if(0)) \ in(ccachex,ccachey,ccachez,ccachew:length(0) alloc_if(0) free_if(0)) \ @@ -714,24 +722,24 @@ void PairSWIntel::eval(const int offload, const int vflag, } } - SIMD_int ilist = SIMD_set(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); const SIMD_int goffset = SIMD_set(0,16,32,48,64,80,96,112,128, 144,160,176,192,208,224,240); - ilist = ilist + iifrom; acc_t * const dforce = &(f[0].x); for (int i = iifrom; i < iito; i += iip) { - SIMD_mask imask = ilist < iito; + SIMD_int ilistv = SIMD_load(ilist + i); + SIMD_int goffset = ilistv * 16; + SIMD_mask imask = ilistv < iito; SIMD_flt_t xtmp, ytmp, ztmp; SIMD_int itype, itype_offset; if (ONETYPE) - SIMD_atom_gather(imask, &(x[i].x), goffset, xtmp, ytmp, ztmp); + SIMD_atom_gather(imask, &(x[0].x), goffset, xtmp, ytmp, ztmp); else { - SIMD_atom_gather(imask, &(x[i].x), goffset, xtmp, ytmp, ztmp, itype); + SIMD_atom_gather(imask, &(x[0].x), goffset, xtmp, ytmp, ztmp, itype); itype_offset = itype * ntypes; } - #ifdef OUTER_CHUNK + #ifdef LMP_INTEL_3BODY_FAST const int* ng = firstneigh + cnumneigh[i] - swidth; #else SIMD_int ng = SIMD_load(cnumneigh + i); @@ -765,7 +773,7 @@ void PairSWIntel::eval(const int offload, const int vflag, for (int jj = 0; jj < jnum_max; jj++) { SIMD_mask jmask = jj < jnum; - #ifdef OUTER_CHUNK + #ifdef LMP_INTEL_3BODY_FAST ng += swidth; SIMD_int j = SIMD_load(ng); #else @@ -1025,15 +1033,15 @@ void PairSWIntel::eval(const int offload, const int vflag, } } // for jj second loop - SIMD_iforce_update(imask, &(f[i].x), goffset, fxtmp, fytmp, fztmp, + SIMD_iforce_update(imask, &(f[0].x), goffset, fxtmp, fytmp, fztmp, EFLAG, eatom, fwtmp); if (is_same::value == 0) { imask = imask >> 8; - SIMD_iforce_update(imask, &(f[i+8].x), goffset, fxtmp2, fytmp2, + SIMD_int goffset2 = _mm512_shuffle_i32x4(goffset, goffset, 238); + SIMD_iforce_update(imask, &(f[0].x), goffset2, fxtmp2, fytmp2, fztmp2, EFLAG, eatom, fwtmp2); } if (EFLAG) oevdwl += SIMD_sum(sevdwl); - ilist = ilist + iip; } // for ii IP_PRE_fdotr_reduce_omp(1, nall, minlocal, nthreads, f_start, f_stride, diff --git a/src/USER-INTEL/pair_tersoff_intel.cpp b/src/USER-INTEL/pair_tersoff_intel.cpp index c772546928..584b371784 100644 --- a/src/USER-INTEL/pair_tersoff_intel.cpp +++ b/src/USER-INTEL/pair_tersoff_intel.cpp @@ -208,6 +208,7 @@ struct IntelKernelTersoff : public lmp_intel::vector_routines const int * _noalias const cnumneigh, const int * _noalias const firstneigh, int ntypes, typename IntelBuffers::atom_t * _noalias const x, + const int * _noalias const ilist, const c_inner_t * _noalias const c_inner, const c_outer_t * _noalias const c_outer, typename IntelBuffers::vec3_acc_t * _noalias const f, @@ -271,6 +272,7 @@ void PairTersoffIntel::eval(const int offload, const int vflag, tagint * _noalias tag = this->atom->tag; flt_t * _noalias const q = buffers->get_q(offload); + const int * _noalias const ilist = list->ilist; const int * _noalias const numneigh = list->numneigh; const int * _noalias const cnumneigh = buffers->cnumneigh(list); const int * _noalias const numneighhalf = buffers->get_atombin(); @@ -311,6 +313,7 @@ void PairTersoffIntel::eval(const int offload, const int vflag, in(numneigh:length(0) alloc_if(0) free_if(0)) \ in(numneighhalf:length(0) alloc_if(0) free_if(0)) \ in(x:length(x_size) alloc_if(0) free_if(0)) \ + in(ilist:length(0) alloc_if(0) free_if(0)) \ in(overflow:length(0) alloc_if(0) free_if(0)) \ in(astart,nthreads,inum,nall,ntypes,vflag,eatom) \ in(f_stride,nlocal,minlocal,separate_flag,offload) \ @@ -349,8 +352,9 @@ void PairTersoffIntel::eval(const int offload, const int vflag, { acc_t sevdwl; sevdwl = 0.; - #define ARGS iito, iifrom, eatom, vflag, numneigh, numneighhalf, cnumneigh, \ - firstneigh, ntypes, x, c_inner, c_outer, f, &sevdwl + #define ARGS iito, iifrom, eatom, vflag, numneigh, numneighhalf, \ + cnumneigh, firstneigh, ntypes, x, ilist, c_inner, \ + c_outer, f, &sevdwl // Pick the variable i algorithm under specific conditions // do use scalar algorithm with very short vectors int VL = lmp_intel::vector_routines::VL; @@ -1135,6 +1139,7 @@ void IntelKernelTersoff::kernel( const int * _noalias const cnumneigh, const int * _noalias const firstneigh, int ntypes, typename IntelBuffers::atom_t * _noalias const x, + const int * _noalias const ilist, const c_inner_t * _noalias const c_inner, const c_outer_t * _noalias const c_outer, typename IntelBuffers::vec3_acc_t * _noalias const f, @@ -1155,12 +1160,12 @@ void IntelKernelTersoff::kernel( for (ii = iifrom; ii < iito; ii++) { // Right now this loop is scalar, to allow for the compiler to do // its prefetching magic. - int i = ii; + int i = ilist[ii]; int w_i = x[i].w; flt_t x_i = x[i].x; flt_t y_i = x[i].y; flt_t z_i = x[i].z; - int jlist_off_i = cnumneigh[i]; + int jlist_off_i = cnumneigh[ii]; int jnum = numneigh[ii]; for (jj = 0; jj < jnum; jj++) { int j = firstneigh[jlist_off_i + jj] & NEIGHMASK; @@ -1173,7 +1178,7 @@ void IntelKernelTersoff::kernel( if (rsq < cutsq) { is[compress_idx] = ii; js[compress_idx] = j; - if (jj < numneighhalf[i]) + if (jj < numneighhalf[ii]) repulsive_flag[compress_idx] = 1; compress_idx += 1; } diff --git a/src/USER-INTEL/verlet_lrt_intel.cpp b/src/USER-INTEL/verlet_lrt_intel.cpp index 962202e228..5dd0da1939 100644 --- a/src/USER-INTEL/verlet_lrt_intel.cpp +++ b/src/USER-INTEL/verlet_lrt_intel.cpp @@ -157,7 +157,7 @@ void VerletLRTIntel::setup(int flag) pthread_create(&_kspace_thread, &_kspace_attr, &VerletLRTIntel::k_launch_loop, this); #elif defined(_LMP_INTEL_LRT_11) - std::thread kspace_thread; + std::thread _kspace_thread; if (kspace_compute_flag) _kspace_thread=std::thread([=]{ _intel_kspace->compute_first(eflag, vflag); }); diff --git a/src/USER-INTEL/verlet_lrt_intel.h b/src/USER-INTEL/verlet_lrt_intel.h index 7380cc6376..6c44ba7e57 100644 --- a/src/USER-INTEL/verlet_lrt_intel.h +++ b/src/USER-INTEL/verlet_lrt_intel.h @@ -24,14 +24,20 @@ IntegrateStyle(verlet/lrt/intel,VerletLRTIntel) #include "pppm_intel.h" #ifdef LMP_INTEL_USELRT -#ifdef LMP_INTEL_LRT11 -#define _LMP_INTEL_LRT_11 -#include -#else -#define _LMP_INTEL_LRT_PTHREAD -#include -#endif - + #if defined(LMP_INTEL_LRT11) || defined(__APPLE__) + #if __cplusplus > 199711L + #define _LMP_INTEL_LRT_11 + #include + #else + #undef LMP_INTEL_USELRT + #ifdef LMP_INTEL_LRT11 + #error C++11 support required for LMP_INTEL_LRT11 define + #endif + #endif + #else + #define _LMP_INTEL_LRT_PTHREAD + #include + #endif #endif namespace LAMMPS_NS { -- GitLab From 80cca7c4c186e34febf833d107a951fc90b93be2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 22 Jun 2018 06:57:05 -0400 Subject: [PATCH 167/675] make has_XXX_support functions static, so they can be called without having to create an instance of Info, which requires a fully instantiation of the LAMMPS and Pointers classes --- src/info.cpp | 10 +++++----- src/info.h | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/info.cpp b/src/info.cpp index 0d11836826..a053e2af60 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -1143,7 +1143,7 @@ static void print_columns(FILE* fp, vector & styles) } } -bool Info::has_gzip_support() const { +bool Info::has_gzip_support() { #ifdef LAMMPS_GZIP return true; #else @@ -1151,7 +1151,7 @@ bool Info::has_gzip_support() const { #endif } -bool Info::has_png_support() const { +bool Info::has_png_support() { #ifdef LAMMPS_PNG return true; #else @@ -1159,7 +1159,7 @@ bool Info::has_png_support() const { #endif } -bool Info::has_jpeg_support() const { +bool Info::has_jpeg_support() { #ifdef LAMMPS_JPEG return true; #else @@ -1167,7 +1167,7 @@ bool Info::has_jpeg_support() const { #endif } -bool Info::has_ffmpeg_support() const { +bool Info::has_ffmpeg_support() { #ifdef LAMMPS_FFMPEG return true; #else @@ -1175,7 +1175,7 @@ bool Info::has_ffmpeg_support() const { #endif } -bool Info::has_exceptions() const { +bool Info::has_exceptions() { #ifdef LAMMPS_EXCEPTIONS return true; #else diff --git a/src/info.h b/src/info.h index fb7ca58c47..7d267f6242 100644 --- a/src/info.h +++ b/src/info.h @@ -33,11 +33,11 @@ class Info : protected Pointers { bool is_defined(const char *, const char *); bool is_available(const char *, const char *); - bool has_gzip_support() const; - bool has_png_support() const; - bool has_jpeg_support() const; - bool has_ffmpeg_support() const; - bool has_exceptions() const; + static bool has_gzip_support(); + static bool has_png_support(); + static bool has_jpeg_support(); + static bool has_ffmpeg_support(); + static bool has_exceptions(); char **get_variable_names(int &num); -- GitLab From e25b6c81ee622df48a4ad564898c9e8f66dc14be Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 22 Jun 2018 06:58:31 -0400 Subject: [PATCH 168/675] use a more conventional way to generate and include the lmpinstalledpkgs.h file --- src/Makefile | 5 ++++- src/lammps.cpp | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Makefile b/src/Makefile index 29164e4e32..31d3aebf54 100644 --- a/src/Makefile +++ b/src/Makefile @@ -153,10 +153,13 @@ help: lmpinstalledpkgs.h: $(SRC) $(INC) @echo 'Gathering installed package information (may take a little while)' - @echo 'const char * LAMMPS_NS::LAMMPS::installed_packages[] = {' > lmpinstalledpkgs.tmp + @echo '#ifndef LMP_INSTALLED_PKGS' > lmpinstalledpkgs.tmp + @echo '#define LMP_INSTALLED_PKGS' >> lmpinstalledpkgs.tmp + @echo 'const char * LAMMPS_NS::LAMMPS::installed_packages[] = {' >> lmpinstalledpkgs.tmp @for p in $(PACKAGEUC) $(PACKUSERUC); do info=$$($(SHELL) Package.sh $$p installed); \ [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package \(.*\)"/"\1",/' >> lmpinstalledpkgs.tmp || :; done @echo ' NULL };' >> lmpinstalledpkgs.tmp + @echo '#endif' >> lmpinstalledpkgs.tmp @if [ -f lmpinstalledpkgs.h ]; \ then test "`diff --brief lmpinstalledpkgs.tmp lmpinstalledpkgs.h`" != "" && \ mv lmpinstalledpkgs.tmp lmpinstalledpkgs.h || rm lmpinstalledpkgs.tmp ; \ diff --git a/src/lammps.cpp b/src/lammps.cpp index 44df7b5a13..bcecccb5cc 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -51,6 +51,8 @@ #include "version.h" #include "error.h" +#include "lmpinstalledpkgs.h" + using namespace LAMMPS_NS; static void print_style(FILE *fp, const char *str, int &pos); @@ -978,8 +980,6 @@ void print_style(FILE *fp, const char *str, int &pos) } } -#include "lmpinstalledpkgs.h" - void LAMMPS::print_config(FILE *fp) { const char *pkg; -- GitLab From 2f11f2d7b253ba6fac3dc530073be019f95d0a38 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 22 Jun 2018 06:59:09 -0400 Subject: [PATCH 169/675] query compile time settings in Info class --- src/lammps.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lammps.cpp b/src/lammps.cpp index bcecccb5cc..5a572f6b7c 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -985,7 +985,13 @@ void LAMMPS::print_config(FILE *fp) const char *pkg; int ncword, ncline = 0; - fputs("Installed packages:\n\n",fp); + fputs("Active compile time flags:\n\n",fp); + if (Info::has_gzip_support()) fputs("-DLAMMPS_GZIP\n",fp); + if (Info::has_png_support()) fputs("-DLAMMPS_PNG\n",fp); + if (Info::has_jpeg_support()) fputs("-DLAMMPS_JPEG\n",fp); + if (Info::has_ffmpeg_support()) fputs("-DLAMMPS_FFMPEG\n",fp); + + fputs("\nInstalled packages:\n\n",fp); for (int i = 0; NULL != (pkg = installed_packages[i]); ++i) { ncword = strlen(pkg); if (ncline + ncword > 78) { -- GitLab From dcdc7877a41ca9107be980cc21effc7c2f9bd862 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 22 Jun 2018 07:05:09 -0400 Subject: [PATCH 170/675] make compile time output more consistent and complete --- cmake/CMakeLists.txt | 5 +++-- src/Makefile | 4 ++-- src/lammps.cpp | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index f5346dec74..843619a266 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -801,13 +801,14 @@ include_directories(${LAMMPS_STYLE_HEADERS_DIR}) ###################################### # Generate lmpinstalledpkgs.h ###################################### -set(temp "const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n") +set(temp "#ifndef LMP_INSTALLED_PKGS_H\n#define LMP_INSTALLED_PKGS_H\n") +set(temp "${temp}const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n") foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES}) if(PKG_${PKG}) set(temp "${temp} \"${PKG}\",\n") endif() endforeach() -set(temp "${temp} NULL\n};\n\n") +set(temp "${temp} NULL\n};\n#endif\n\n") message(STATUS "Generating lmpinstalledpkgs.h...") file(WRITE "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${temp}" ) execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h") diff --git a/src/Makefile b/src/Makefile index 31d3aebf54..bd658e562c 100644 --- a/src/Makefile +++ b/src/Makefile @@ -153,8 +153,8 @@ help: lmpinstalledpkgs.h: $(SRC) $(INC) @echo 'Gathering installed package information (may take a little while)' - @echo '#ifndef LMP_INSTALLED_PKGS' > lmpinstalledpkgs.tmp - @echo '#define LMP_INSTALLED_PKGS' >> lmpinstalledpkgs.tmp + @echo '#ifndef LMP_INSTALLED_PKGS_H' > lmpinstalledpkgs.tmp + @echo '#define LMP_INSTALLED_PKGS_H' >> lmpinstalledpkgs.tmp @echo 'const char * LAMMPS_NS::LAMMPS::installed_packages[] = {' >> lmpinstalledpkgs.tmp @for p in $(PACKAGEUC) $(PACKUSERUC); do info=$$($(SHELL) Package.sh $$p installed); \ [ -n "$$info" ] && echo "\"$$info\"" | sed -e 's/".*package \(.*\)"/"\1",/' >> lmpinstalledpkgs.tmp || :; done diff --git a/src/lammps.cpp b/src/lammps.cpp index 5a572f6b7c..df6519f9f4 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -990,6 +990,7 @@ void LAMMPS::print_config(FILE *fp) if (Info::has_png_support()) fputs("-DLAMMPS_PNG\n",fp); if (Info::has_jpeg_support()) fputs("-DLAMMPS_JPEG\n",fp); if (Info::has_ffmpeg_support()) fputs("-DLAMMPS_FFMPEG\n",fp); + if (Info::has_exceptions()) fputs("-DLAMMPS_EXCEPTIONS\n",fp); fputs("\nInstalled packages:\n\n",fp); for (int i = 0; NULL != (pkg = installed_packages[i]); ++i) { -- GitLab From 92f0f19df640277b4b8c6654a331b9f68bc046b1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 22 Jun 2018 07:26:33 -0400 Subject: [PATCH 171/675] make info config output of compile time defines consistent with lmp_ -h --- src/info.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/info.cpp b/src/info.cpp index a053e2af60..7b2165bf70 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -266,6 +266,13 @@ void Info::command(int narg, char **arg) fprintf(out,"sizeof(tagint): %3d-bit\n",(int)sizeof(tagint)*8); fprintf(out,"sizeof(bigint): %3d-bit\n",(int)sizeof(bigint)*8); + fputs("\nActive compile time flags:\n\n",out); + if (has_gzip_support()) fputs("-DLAMMPS_GZIP\n",out); + if (has_png_support()) fputs("-DLAMMPS_PNG\n",out); + if (has_jpeg_support()) fputs("-DLAMMPS_JPEG\n",out); + if (has_ffmpeg_support()) fputs("-DLAMMPS_FFMPEG\n",out); + if (has_exceptions()) fputs("-DLAMMPS_EXCEPTIONS\n",out); + const char *pkg; int ncword, ncline = 0; -- GitLab From 04d040b863d457bf9ac9e592cb7fee1e8d770f45 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 22 Jun 2018 07:57:03 -0400 Subject: [PATCH 172/675] update make purge list and fix checking for styles and installed package files in cmake --- cmake/CMakeLists.txt | 21 +++++++++++++++++---- src/Purge.list | 8 ++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 8bc079fd85..e5eec31ebb 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -25,15 +25,28 @@ endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS) file(GLOB SRC_FILES ${LAMMPS_SOURCE_DIR}/*.cpp) list(SORT SRC_FILES) -# check for files installed by make-based buildsystem + +# check for files auto-generated by make-based buildsystem +# this is fast, so check for it all the time +message(STATUS "Running check for auto-generated files from make-based build system") +file(GLOB SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/style_*.h) +list(APPEND SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/lmpinstalledpkgs.h) +foreach(_SRC ${SRC_AUTOGEN_FILES}) + get_filename_component(FILENAME "${_SRC}" NAME) + if(EXISTS ${LAMMPS_SOURCE_DIR}/${FILENAME}) + message(FATAL_ERROR "\nFound file(s) generated by the make-based build system.\nPlease run 'make -C ${LAMMPS_SOURCE_DIR} purge'") + endif() +endforeach() + +# check for files installed by make-based buildsystem # only run this time consuming check if there are new files if(NOT SRC_FILES STREQUAL SRC_FILES_CACHED) file(GLOB SRC_PKG_FILES ${LAMMPS_SOURCE_DIR}/*/*.cpp) - message(STATUS "Running check for installed package (this might take a while)") - foreach(_SRC SRC_PKG_FILES) + message(STATUS "Running check for packages installed with 'make yes-' (this may take a while)") + foreach(_SRC ${SRC_PKG_FILES}) get_filename_component(FILENAME "${_SRC}" NAME) if(EXISTS ${LAMMPS_SOURCE_DIR}/${FILENAME}) - message(FATAL_ERROR "Found packages installed by the make-based buildsystem, please run 'make -C ${LAMMPS_SOURCE_DIR} no-all purge'") + message(FATAL_ERROR "\nFound package(s) installed by the make-based build system\nPlease run 'make -C ${LAMMPS_SOURCE_DIR} no-all purge'") endif() endforeach() set(SRC_FILES_CACHED "${SRC_FILES}" CACHE INTERNAL "List of file in LAMMPS_SOURCE_DIR" FORCE) diff --git a/src/Purge.list b/src/Purge.list index 2e854ead3d..402fc409e6 100644 --- a/src/Purge.list +++ b/src/Purge.list @@ -1,6 +1,7 @@ # auto-generated style files style_angle.h style_atom.h +style_body.h style_bond.h style_command.h style_compute.h @@ -12,10 +13,17 @@ style_integrate.h style_kspace.h style_minimize.h style_pair.h +style_reader.h style_region.h style_neigh_bin.h style_neigh_pair.h style_neigh_stencil.h +style_nbin.h +style_npair.h +style_nstencil.h +style_ntopo.h +# other auto-generated files +lmpinstalledpkgs.h # deleted on 4 April 2018 pair_kim_version.h # deleted on 15 December 2017 -- GitLab From 62984c1de0f2cfe7dfdb027d16194b07d3e4f387 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 22 Jun 2018 08:02:17 -0400 Subject: [PATCH 173/675] small tweaks: improve messages and comments --- cmake/CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index e5eec31ebb..3dc1dac00c 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -34,19 +34,19 @@ list(APPEND SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/lmpinstalledpkgs.h) foreach(_SRC ${SRC_AUTOGEN_FILES}) get_filename_component(FILENAME "${_SRC}" NAME) if(EXISTS ${LAMMPS_SOURCE_DIR}/${FILENAME}) - message(FATAL_ERROR "\nFound file(s) generated by the make-based build system.\nPlease run 'make -C ${LAMMPS_SOURCE_DIR} purge'") + message(FATAL_ERROR "\nFound header file(s) generated by the make-based build system.\nPlease run 'make -C ${LAMMPS_SOURCE_DIR} purge' to remove") endif() endforeach() -# check for files installed by make-based buildsystem -# only run this time consuming check if there are new files +# check for files from packages installed by the make-based buildsystem +# this is slow, so only run this check if there are new files if(NOT SRC_FILES STREQUAL SRC_FILES_CACHED) file(GLOB SRC_PKG_FILES ${LAMMPS_SOURCE_DIR}/*/*.cpp) message(STATUS "Running check for packages installed with 'make yes-' (this may take a while)") foreach(_SRC ${SRC_PKG_FILES}) get_filename_component(FILENAME "${_SRC}" NAME) if(EXISTS ${LAMMPS_SOURCE_DIR}/${FILENAME}) - message(FATAL_ERROR "\nFound package(s) installed by the make-based build system\nPlease run 'make -C ${LAMMPS_SOURCE_DIR} no-all purge'") + message(FATAL_ERROR "\nFound package(s) installed by the make-based build system\nPlease run 'make -C ${LAMMPS_SOURCE_DIR} no-all purge' to uninstall") endif() endforeach() set(SRC_FILES_CACHED "${SRC_FILES}" CACHE INTERNAL "List of file in LAMMPS_SOURCE_DIR" FORCE) -- GitLab From 35f5a685f67a583daeb970d6a41e3ff3b3f29b75 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 22 Jun 2018 08:17:32 -0400 Subject: [PATCH 174/675] small change to preempt a possible merge conflict --- src/Purge.list | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Purge.list b/src/Purge.list index 76c31a86ed..145b4f284c 100644 --- a/src/Purge.list +++ b/src/Purge.list @@ -16,8 +16,11 @@ style_region.h style_neigh_bin.h style_neigh_pair.h style_neigh_stencil.h +style_nbin.h +style_npair.h +style_nstencil.h +style_ntopo.h # other auto-generated files -lmpcompiledate.h lmpinstalledpkgs.h # deleted on 4 April 2018 pair_kim_version.h -- GitLab From ac41cc2c9a07c6016da237f363e3d616591451c6 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Fri, 22 Jun 2018 09:02:10 -0600 Subject: [PATCH 175/675] cmake: add GPU_PREC status output --- cmake/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 8bc079fd85..cb69160797 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -914,6 +914,7 @@ if(ENABLED_GPU) elseif(GPU_API STREQUAL "OpenCL") message(STATUS "OCL Tune: ${OCL_TUNE}") endif() + message(STATUS "GPU Precision: ${GPU_PREC}") endif() if(PKG_KSPACE) message(STATUS "Using ${FFT} as FFT") -- GitLab From 3f17d33fbe0107cced8ad27da3cc3a5aca516814 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Fri, 22 Jun 2018 11:06:12 -0600 Subject: [PATCH 176/675] cmake: add BUILD_LIB option --- cmake/CMakeLists.txt | 56 ++++++++++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 18 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index cb69160797..32c6e82920 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -57,9 +57,17 @@ endif() ######################################################################## # User input options # ######################################################################## -option(BUILD_SHARED_LIBS "Build shared libs" OFF) -if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg - set(CMAKE_POSITION_INDEPENDENT_CODE ON) +option(BUILD_LIB "Build LAMMPS library" OFF) +if(BUILD_LIB) + option(BUILD_SHARED_LIBS "Build shared library" OFF) + if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + endif() + set(LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file") + mark_as_advanced(LIB_SUFFIX) + if(LIB_SUFFIX) + set(LIB_SUFFIX "_${LIB_SUFFIX}") + endif() endif() option(DEVELOPER_MODE "Enable developer mode" OFF) mark_as_advanced(DEVELOPER_MODE) @@ -102,7 +110,7 @@ if(LAMMPS_EXCEPTIONS) set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -DLAMMPS_EXCEPTIONS") endif() -set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary and liblammps (WON'T enable any features automatically") +set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically") mark_as_advanced(LAMMPS_MACHINE) if(LAMMPS_MACHINE) set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}") @@ -213,7 +221,7 @@ if(PKG_PYTHON) add_definitions(-DLMP_PYTHON) include_directories(${PYTHON_INCLUDE_DIR}) list(APPEND LAMMPS_LINK_LIBS ${PYTHON_LIBRARY}) - if(BUILD_SHARED_LIBS) + if(BUILDLIB AND BUILD_SHARED_LIBS) if(NOT PYTHON_INSTDIR) execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import distutils.sysconfig as cg; print(cg.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}'))" @@ -800,28 +808,40 @@ include_directories(${LAMMPS_STYLE_HEADERS_DIR}) ########################################### # Actually add executable and lib to build ############################################ -add_library(lammps ${LIB_SOURCES}) get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES) list (FIND LANGUAGES "Fortran" _index) if (${_index} GREATER -1) list(APPEND LAMMPS_LINK_LIBS ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES}) endif() list(REMOVE_DUPLICATES LAMMPS_LINK_LIBS) -target_link_libraries(lammps ${LAMMPS_LINK_LIBS}) -if(LAMMPS_DEPS) - add_dependencies(lammps ${LAMMPS_DEPS}) -endif() -set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_MACHINE}) -if(BUILD_SHARED_LIBS) - set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION}) - install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps) - configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +if(BUILD_LIB) + add_library(lammps ${LIB_SOURCES}) + target_link_libraries(lammps ${LAMMPS_LINK_LIBS}) + if(LAMMPS_DEPS) + add_dependencies(lammps ${LAMMPS_DEPS}) + endif() + set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LIB_SUFFIX}) + if(BUILD_SHARED_LIBS) + set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION}) + install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps) + configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + endif() +else() + list(APPEND LMP_SOURCES ${LIB_SOURCES}) endif() add_executable(lmp ${LMP_SOURCES}) -target_link_libraries(lmp lammps) +if(BUILD_LIB) + target_link_libraries(lmp lammps) +else() + target_link_libraries(lmp ${LAMMPS_LINK_LIBS}) + if(LAMMPS_DEPS) + add_dependencies(lmp ${LAMMPS_DEPS}) + endif() +endif() + set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE}) install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR}) if(ENABLE_TESTING) -- GitLab From cb7b23e2201744b9558d1f3cbbf4225c84d8bc25 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Fri, 22 Jun 2018 11:11:09 -0600 Subject: [PATCH 177/675] cmake: add BUILD_EXE option --- cmake/CMakeLists.txt | 46 +++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 32c6e82920..e64e44995d 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -57,6 +57,15 @@ endif() ######################################################################## # User input options # ######################################################################## +option(BUILD_EXE "Build lmp binary" ON) +if(BUILD_EXE) + set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically") + mark_as_advanced(LAMMPS_MACHINE) + if(LAMMPS_MACHINE) + set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}") + endif() +endif() + option(BUILD_LIB "Build LAMMPS library" OFF) if(BUILD_LIB) option(BUILD_SHARED_LIBS "Build shared library" OFF) @@ -69,6 +78,11 @@ if(BUILD_LIB) set(LIB_SUFFIX "_${LIB_SUFFIX}") endif() endif() + +if(NOT BUILD_EXE AND NOT BUILD_LIB) + message(FATAL_ERROR "You need to at least enable one of two following options: BUILD_LIB or BUILD_EXE") +endif() + option(DEVELOPER_MODE "Enable developer mode" OFF) mark_as_advanced(DEVELOPER_MODE) option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) @@ -110,12 +124,6 @@ if(LAMMPS_EXCEPTIONS) set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -DLAMMPS_EXCEPTIONS") endif() -set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically") -mark_as_advanced(LAMMPS_MACHINE) -if(LAMMPS_MACHINE) - set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}") -endif() - option(CMAKE_VERBOSE_MAKEFILE "Verbose makefile" OFF) option(ENABLE_TESTING "Enable testing" OFF) @@ -832,20 +840,22 @@ else() list(APPEND LMP_SOURCES ${LIB_SOURCES}) endif() -add_executable(lmp ${LMP_SOURCES}) -if(BUILD_LIB) - target_link_libraries(lmp lammps) -else() - target_link_libraries(lmp ${LAMMPS_LINK_LIBS}) - if(LAMMPS_DEPS) - add_dependencies(lmp ${LAMMPS_DEPS}) +if(BUILD_EXE) + add_executable(lmp ${LMP_SOURCES}) + if(BUILD_LIB) + target_link_libraries(lmp lammps) + else() + target_link_libraries(lmp ${LAMMPS_LINK_LIBS}) + if(LAMMPS_DEPS) + add_dependencies(lmp ${LAMMPS_DEPS}) + endif() endif() -endif() -set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE}) -install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR}) -if(ENABLE_TESTING) - add_test(ShowHelp lmp${LAMMPS_MACHINE} -help) + set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE}) + install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR}) + if(ENABLE_TESTING) + add_test(ShowHelp lmp${LAMMPS_MACHINE} -help) + endif() endif() ############################################################################### -- GitLab From ce0f3daad64e681b94a208e7fa836222f53619e8 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Fri, 22 Jun 2018 11:43:52 -0600 Subject: [PATCH 178/675] cmake: don't include quiet packages in summary --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index e64e44995d..63008b5060 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -899,7 +899,7 @@ endforeach() string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE) get_directory_property(CPPFLAGS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS) include(FeatureSummary) -feature_summary(INCLUDE_QUIET_PACKAGES WHAT ALL) +feature_summary(DEFAULT_DESCRIPTION WHAT PACKAGES_FOUND) message(STATUS "<<< Build configuration >>> Build type ${CMAKE_BUILD_TYPE} Install path ${CMAKE_INSTALL_PREFIX} -- GitLab From 264e4fd3b1b7f23e68f0206543721ecf0b328b3f Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Fri, 22 Jun 2018 17:05:55 -0600 Subject: [PATCH 179/675] cmake: fix for Date: Fri, 22 Jun 2018 17:06:39 -0600 Subject: [PATCH 180/675] liblammps.pc: fix lib suffix --- cmake/pkgconfig/liblammps.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/pkgconfig/liblammps.pc.in b/cmake/pkgconfig/liblammps.pc.in index c5e1701782..400b7593cf 100644 --- a/cmake/pkgconfig/liblammps.pc.in +++ b/cmake/pkgconfig/liblammps.pc.in @@ -13,6 +13,6 @@ Description: Large-scale Atomic/Molecular Massively Parallel Simulator Library URL: http://lammps.sandia.gov Version: Requires: -Libs: -L${libdir} -llammps@LAMMPS_MACHINE@ +Libs: -L${libdir} -llammps@LIB_SUFFIX@@ Libs.private: -lm Cflags: -I${includedir} @LAMMPS_API_DEFINES@ -- GitLab From 86519ce213f3341313922efd41407e5751036386 Mon Sep 17 00:00:00 2001 From: PabloPiaggi Date: Sun, 24 Jun 2018 00:25:07 +0200 Subject: [PATCH 181/675] Rename compute to entropy/atom --- doc/src/Section_commands.txt | 2 +- ...ropy_atom.txt => compute_entropy_atom.txt} | 22 ++++++---- doc/src/computes.txt | 2 +- doc/src/lammps.book | 2 +- .../Na_MendelevM_2014.eam.fs | 0 .../{pair_entropy => entropy}/data.interface | 0 .../in.pairentropy => entropy/in.entropy} | 8 ++-- .../log.pairentropy => entropy/log.entropy} | 24 +++++----- src/USER-MISC/README | 2 +- ...ropy_atom.cpp => compute_entropy_atom.cpp} | 44 +++++++++---------- ...pentropy_atom.h => compute_entropy_atom.h} | 18 ++++---- 11 files changed, 64 insertions(+), 60 deletions(-) rename doc/src/{compute_pentropy_atom.txt => compute_entropy_atom.txt} (86%) rename examples/USER/misc/{pair_entropy => entropy}/Na_MendelevM_2014.eam.fs (100%) rename examples/USER/misc/{pair_entropy => entropy}/data.interface (100%) rename examples/USER/misc/{pair_entropy/in.pairentropy => entropy/in.entropy} (72%) rename examples/USER/misc/{pair_entropy/log.pairentropy => entropy/log.entropy} (96%) rename src/USER-MISC/{compute_pentropy_atom.cpp => compute_entropy_atom.cpp} (87%) rename src/USER-MISC/{compute_pentropy_atom.h => compute_entropy_atom.h} (77%) diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index 25e3b5ffbe..043d57670d 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -851,6 +851,7 @@ package"_Section_start.html#start_3. "dpd"_compute_dpd.html, "dpd/atom"_compute_dpd_atom.html, "edpd/temp/atom"_compute_edpd_temp_atom.html, +"entropy/atom"_compute_entropy_atom.html, "fep"_compute_fep.html, "force/tally"_compute_tally.html, "heat/flux/tally"_compute_tally.html, @@ -861,7 +862,6 @@ package"_Section_start.html#start_3. "meso/t/atom"_compute_meso_t_atom.html, "pe/tally"_compute_tally.html, "pe/mol/tally"_compute_tally.html, -"pentropy/atom"_compute_pentropy_atom.html, "pressure/uef"_compute_pressure_uef.html, "saed"_compute_saed.html, "smd/contact/radius"_compute_smd_contact_radius.html, diff --git a/doc/src/compute_pentropy_atom.txt b/doc/src/compute_entropy_atom.txt similarity index 86% rename from doc/src/compute_pentropy_atom.txt rename to doc/src/compute_entropy_atom.txt index 8877321760..f7e7b8a667 100644 --- a/doc/src/compute_pentropy_atom.txt +++ b/doc/src/compute_entropy_atom.txt @@ -6,14 +6,14 @@ :line -compute pentropy/atom command :h3 +compute entropy/atom command :h3 [Syntax:] -compute ID group-ID pentropy/atom sigma cutoff keyword value ... :pre +compute ID group-ID entropy/atom sigma cutoff keyword value ... :pre ID, group-ID are documented in "compute"_compute.html command :l -pentropy/atom = style name of this compute command :l +entropy/atom = style name of this compute command :l sigma = width of gaussians used in the g(r) smoothening :l cutoff = cutoff for the g(r) calculation :l one or more keyword/value pairs may be appended :l @@ -27,9 +27,9 @@ keyword = {avg} or {local} [Examples:] -compute 1 all pentropy/atom 0.25 5. -compute 1 all pentropy/atom 0.25 5. avg yes 5. -compute 1 all pentropy/atom 0.125 7.3 avg yes 5.1 local yes :pre +compute 1 all entropy/atom 0.25 5. +compute 1 all entropy/atom 0.25 5. avg yes 5. +compute 1 all entropy/atom 0.125 7.3 avg yes 5.1 local yes :pre [Description:] @@ -87,11 +87,11 @@ inhomogeneus systems such as those that have surfaces. Here are typical input parameters for fcc aluminum (lattice constant 4.05 Angstroms), -compute 1 all pentropy/atom 0.25 5.7 avg yes 3.7 :pre +compute 1 all entropy/atom 0.25 5.7 avg yes 3.7 :pre and for bcc sodium (lattice constant 4.23 Angstroms), -compute 1 all pentropy/atom 0.25 7.3 avg yes 5.1 :pre +compute 1 all entropy/atom 0.25 7.3 avg yes 5.1 :pre [Output info:] @@ -106,7 +106,11 @@ The pair entropy values have units of the Boltzmann constant. They are always negative, and lower values (lower entropy) correspond to more ordered environments. -[Restrictions:] none +[Restrictions:] + +This compute is part of the USER-MISC package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. [Related commands:] diff --git a/doc/src/computes.txt b/doc/src/computes.txt index ec197cb433..7848d4db04 100644 --- a/doc/src/computes.txt +++ b/doc/src/computes.txt @@ -31,6 +31,7 @@ Computes :h1 compute_dpd compute_dpd_atom compute_edpd_temp_atom + compute_entropy_atom compute_erotate_asphere compute_erotate_rigid compute_erotate_sphere @@ -63,7 +64,6 @@ Computes :h1 compute_pair_local compute_pe compute_pe_atom - compute_pentropy_atom compute_plasticity_atom compute_pressure compute_pressure_uef diff --git a/doc/src/lammps.book b/doc/src/lammps.book index bea6767993..b9f02e54f0 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -315,6 +315,7 @@ compute_displace_atom.html compute_dpd.html compute_dpd_atom.html compute_edpd_temp_atom.html +compute_entropy_atom.html compute_erotate_asphere.html compute_erotate_rigid.html compute_erotate_sphere.html @@ -347,7 +348,6 @@ compute_pair.html compute_pair_local.html compute_pe.html compute_pe_atom.html -compute_pentropy_atom.html compute_plasticity_atom.html compute_pressure.html compute_pressure_uef.html diff --git a/examples/USER/misc/pair_entropy/Na_MendelevM_2014.eam.fs b/examples/USER/misc/entropy/Na_MendelevM_2014.eam.fs similarity index 100% rename from examples/USER/misc/pair_entropy/Na_MendelevM_2014.eam.fs rename to examples/USER/misc/entropy/Na_MendelevM_2014.eam.fs diff --git a/examples/USER/misc/pair_entropy/data.interface b/examples/USER/misc/entropy/data.interface similarity index 100% rename from examples/USER/misc/pair_entropy/data.interface rename to examples/USER/misc/entropy/data.interface diff --git a/examples/USER/misc/pair_entropy/in.pairentropy b/examples/USER/misc/entropy/in.entropy similarity index 72% rename from examples/USER/misc/pair_entropy/in.pairentropy rename to examples/USER/misc/entropy/in.entropy index 8740b270cb..fcaffb68a1 100644 --- a/examples/USER/misc/pair_entropy/in.pairentropy +++ b/examples/USER/misc/entropy/in.entropy @@ -16,13 +16,13 @@ neighbor 4. bin # Define computes # Global density, no average -compute 1 all pentropy/atom 0.25 7.75 +compute 1 all entropy/atom 0.25 7.75 # Local density, no average -compute 2 all pentropy/atom 0.25 7.75 local yes +compute 2 all entropy/atom 0.25 7.75 local yes # Global density, average over neighbors -compute 3 all pentropy/atom 0.25 7.75 avg yes 5. +compute 3 all entropy/atom 0.25 7.75 avg yes 5. # Local density, average over neighbors -compute 4 all pentropy/atom 0.25 7.75 avg yes 5. local yes +compute 4 all entropy/atom 0.25 7.75 avg yes 5. local yes dump myDump all custom 500 dump.interface id type x y z c_1 c_2 c_3 c_4 diff --git a/examples/USER/misc/pair_entropy/log.pairentropy b/examples/USER/misc/entropy/log.entropy similarity index 96% rename from examples/USER/misc/pair_entropy/log.pairentropy rename to examples/USER/misc/entropy/log.entropy index 21474639af..5f00e42273 100644 --- a/examples/USER/misc/pair_entropy/log.pairentropy +++ b/examples/USER/misc/entropy/log.entropy @@ -28,13 +28,13 @@ neighbor 4. bin # Define computes # Global density, no average -compute 1 all pentropy/atom 0.25 7.75 +compute 1 all entropy/atom 0.25 7.75 # Local density, no average -compute 2 all pentropy/atom 0.25 7.75 local yes +compute 2 all entropy/atom 0.25 7.75 local yes # Global density, average over neighbors -compute 3 all pentropy/atom 0.25 7.75 avg yes 5. +compute 3 all entropy/atom 0.25 7.75 avg yes 5. # Local density, average over neighbors -compute 4 all pentropy/atom 0.25 7.75 avg yes 5. local yes +compute 4 all entropy/atom 0.25 7.75 avg yes 5. local yes dump myDump all custom 500 dump.interface id type x y z c_1 c_2 c_3 c_4 @@ -43,10 +43,10 @@ fix 1 all nph x 1. 1. 10. fix 2 all temp/csvr 350. 350. 0.1 64582 run 100000 -WARNING: More than one compute pentropy/atom (../compute_pentropy_atom.cpp:138) -WARNING: More than one compute pentropy/atom (../compute_pentropy_atom.cpp:138) -WARNING: More than one compute pentropy/atom (../compute_pentropy_atom.cpp:138) -WARNING: More than one compute pentropy/atom (../compute_pentropy_atom.cpp:138) +WARNING: More than one compute entropy/atom (../compute_entropy_atom.cpp:138) +WARNING: More than one compute entropy/atom (../compute_entropy_atom.cpp:138) +WARNING: More than one compute entropy/atom (../compute_entropy_atom.cpp:138) +WARNING: More than one compute entropy/atom (../compute_entropy_atom.cpp:138) Neighbor list info ... update every 1 steps, delay 10 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -59,22 +59,22 @@ Neighbor list info ... pair build: half/bin/newton/tri stencil: half/bin/3d/newton/tri bin: standard - (2) compute pentropy/atom, perpetual + (2) compute entropy/atom, perpetual attributes: full, newton on, ghost pair build: full/bin/ghost stencil: full/ghost/bin/3d bin: standard - (3) compute pentropy/atom, perpetual, copy from (2) + (3) compute entropy/atom, perpetual, copy from (2) attributes: full, newton on, ghost pair build: copy stencil: none bin: none - (4) compute pentropy/atom, perpetual, copy from (2) + (4) compute entropy/atom, perpetual, copy from (2) attributes: full, newton on, ghost pair build: copy stencil: none bin: none - (5) compute pentropy/atom, perpetual, copy from (2) + (5) compute entropy/atom, perpetual, copy from (2) attributes: full, newton on, ghost pair build: copy stencil: none diff --git a/src/USER-MISC/README b/src/USER-MISC/README index 6fb2dd6010..3f3d006b23 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -29,7 +29,7 @@ bond_style harmonic/shift/cut, Carsten Svaneborg, science at zqex.dk, 8 Aug 11 compute ackland/atom, Gerolf Ziegenhain, gerolf at ziegenhain.com, 4 Oct 2007 compute basal/atom, Christopher Barrett, cdb333 at cavs.msstate.edu, 3 Mar 2013 compute cnp/atom, Paulo Branicio (USC), branicio at usc.edu, 31 May 2017 -compute pentropy/atom, Pablo M. Piaggi (EPFL), , 15 June 2018 +compute entropy/atom, Pablo Piaggi (EPFL), pablo.piaggi at epfl.ch, 15 June 2018 compute temp/rotate, Laurent Joly (U Lyon), ljoly.ulyon at gmail.com, 8 Aug 11 compute PRESSURE/GREM, David Stelter, dstelter@bu.edu, 22 Nov 16 dihedral_style cosine/shift/exp, Carsten Svaneborg, science at zqex.dk, 8 Aug 11 diff --git a/src/USER-MISC/compute_pentropy_atom.cpp b/src/USER-MISC/compute_entropy_atom.cpp similarity index 87% rename from src/USER-MISC/compute_pentropy_atom.cpp rename to src/USER-MISC/compute_entropy_atom.cpp index 271648e3c5..fe2947ed61 100644 --- a/src/USER-MISC/compute_pentropy_atom.cpp +++ b/src/USER-MISC/compute_entropy_atom.cpp @@ -18,7 +18,7 @@ #include #include #include -#include "compute_pentropy_atom.h" +#include "compute_entropy_atom.h" #include "atom.h" #include "update.h" #include "modify.h" @@ -40,13 +40,13 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -ComputePairEntropyAtom:: -ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg) : +ComputeEntropyAtom:: +ComputeEntropyAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), pair_entropy(NULL), pair_entropy_avg(NULL) { if (narg < 5 || narg > 10) - error->all(FLERR,"Illegal compute pentropy/atom command; wrong number" + error->all(FLERR,"Illegal compute entropy/atom command; wrong number" " of arguments"); // Arguments are: sigma cutoff avg yes/no cutoff2 local yes/no @@ -59,10 +59,10 @@ ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg) : // the g(r) sigma = force->numeric(FLERR,arg[3]); - if (sigma < 0.0) error->all(FLERR,"Illegal compute pentropy/atom" + if (sigma < 0.0) error->all(FLERR,"Illegal compute entropy/atom" " command; negative sigma"); cutoff = force->numeric(FLERR,arg[4]); - if (cutoff < 0.0) error->all(FLERR,"Illegal compute pentropy/atom" + if (cutoff < 0.0) error->all(FLERR,"Illegal compute entropy/atom" " command; negative cutoff"); avg_flag = 0; @@ -73,24 +73,24 @@ ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"avg") == 0) { if (iarg+2 > narg) - error->all(FLERR,"Illegal compute pentropy/atom;" + error->all(FLERR,"Illegal compute entropy/atom;" " missing arguments after avg"); if (strcmp(arg[iarg+1],"yes") == 0) avg_flag = 1; else if (strcmp(arg[iarg+1],"no") == 0) avg_flag = 0; - else error->all(FLERR,"Illegal compute pentropy/atom;" + else error->all(FLERR,"Illegal compute entropy/atom;" " argument after avg should be yes or no"); cutoff2 = force->numeric(FLERR,arg[iarg+2]); - if (cutoff2 < 0.0) error->all(FLERR,"Illegal compute pentropy/atom" + if (cutoff2 < 0.0) error->all(FLERR,"Illegal compute entropy/atom" " command; negative cutoff2"); cutsq2 = cutoff2*cutoff2; iarg += 3; } else if (strcmp(arg[iarg],"local") == 0) { if (strcmp(arg[iarg+1],"yes") == 0) local_flag = 1; else if (strcmp(arg[iarg+1],"no") == 0) local_flag = 0; - else error->all(FLERR,"Illegal compute pentropy/atom;" + else error->all(FLERR,"Illegal compute entropy/atom;" " argument after local should be yes or no"); iarg += 2; - } else error->all(FLERR,"Illegal compute pentropy/atom; argument after" + } else error->all(FLERR,"Illegal compute entropy/atom; argument after" " sigma and cutoff should be avg or local"); } @@ -110,7 +110,7 @@ ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ -ComputePairEntropyAtom::~ComputePairEntropyAtom() +ComputeEntropyAtom::~ComputeEntropyAtom() { memory->destroy(pair_entropy); if (avg_flag) memory->destroy(pair_entropy_avg); @@ -118,7 +118,7 @@ ComputePairEntropyAtom::~ComputePairEntropyAtom() /* ---------------------------------------------------------------------- */ -void ComputePairEntropyAtom::init() +void ComputeEntropyAtom::init() { if (force->pair == NULL) error->all(FLERR,"Compute centro/atom requires a pair style be" @@ -126,16 +126,16 @@ void ComputePairEntropyAtom::init() if ( (cutoff+cutoff2) > (force->pair->cutforce + neighbor->skin) ) { - error->all(FLERR,"Compute pentropy/atom cutoff is longer than the" + error->all(FLERR,"Compute entropy/atom cutoff is longer than the" " pairwise cutoff. Increase the neighbor list skin" " distance."); } int count = 0; for (int i = 0; i < modify->ncompute; i++) - if (strcmp(modify->compute[i]->style,"pentropy/atom") == 0) count++; + if (strcmp(modify->compute[i]->style,"entropy/atom") == 0) count++; if (count > 1 && comm->me == 0) - error->warning(FLERR,"More than one compute pentropy/atom"); + error->warning(FLERR,"More than one compute entropy/atom"); // need a full neighbor list with neighbors of the ghost atoms @@ -151,14 +151,14 @@ void ComputePairEntropyAtom::init() /* ---------------------------------------------------------------------- */ -void ComputePairEntropyAtom::init_list(int id, NeighList *ptr) +void ComputeEntropyAtom::init_list(int id, NeighList *ptr) { list = ptr; } /* ---------------------------------------------------------------------- */ -void ComputePairEntropyAtom::compute_peratom() +void ComputeEntropyAtom::compute_peratom() { int i,j,ii,jj,inum,jnum; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; @@ -179,15 +179,15 @@ void ComputePairEntropyAtom::compute_peratom() if (!avg_flag) { memory->destroy(pair_entropy); nmax = atom->nmax; - memory->create(pair_entropy,nmax,"pentropy/atom:pair_entropy"); + memory->create(pair_entropy,nmax,"entropy/atom:pair_entropy"); vector_atom = pair_entropy; } else { memory->destroy(pair_entropy); memory->destroy(pair_entropy_avg); nmax = atom->nmax; - memory->create(pair_entropy,nmax,"pentropy/atom:pair_entropy"); + memory->create(pair_entropy,nmax,"entropy/atom:pair_entropy"); memory->create(pair_entropy_avg,nmax, - "pentropy/atom:pair_entropy_avg"); + "entropy/atom:pair_entropy_avg"); vector_atom = pair_entropy_avg; } } @@ -328,7 +328,7 @@ void ComputePairEntropyAtom::compute_peratom() memory usage of local atom-based array ------------------------------------------------------------------------- */ -double ComputePairEntropyAtom::memory_usage() +double ComputeEntropyAtom::memory_usage() { double bytes; if (!avg_flag) { diff --git a/src/USER-MISC/compute_pentropy_atom.h b/src/USER-MISC/compute_entropy_atom.h similarity index 77% rename from src/USER-MISC/compute_pentropy_atom.h rename to src/USER-MISC/compute_entropy_atom.h index 3333127418..c8ea19ae76 100644 --- a/src/USER-MISC/compute_pentropy_atom.h +++ b/src/USER-MISC/compute_entropy_atom.h @@ -13,21 +13,21 @@ #ifdef COMPUTE_CLASS -ComputeStyle(pentropy/atom,ComputePairEntropyAtom) +ComputeStyle(entropy/atom,ComputeEntropyAtom) #else -#ifndef COMPUTE_PAIR_ENTROPY_ATOM_H -#define COMPUTE_PAIR_ENTROPY_ATOM_H +#ifndef COMPUTE_ENTROPY_ATOM_H +#define COMPUTE_ENTROPY_ATOM_H #include "compute.h" namespace LAMMPS_NS { -class ComputePairEntropyAtom : public Compute { +class ComputeEntropyAtom : public Compute { public: - ComputePairEntropyAtom(class LAMMPS *, int, char **); - ~ComputePairEntropyAtom(); + ComputeEntropyAtom(class LAMMPS *, int, char **); + ~ComputeEntropyAtom(); void init(); void init_list(int, class NeighList *); void compute_peratom(); @@ -59,13 +59,13 @@ Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a command-line option when running LAMMPS to see the offending line. -E: Compute pentropy/atom requires a pair style be defined +E: Compute entropy/atom requires a pair style be defined This is because the computation of the pair entropy values uses a pairwise neighbor list. -W: More than one compute pentropy/atom +W: More than one compute entropy/atom -It is not efficient to use compute pentropy/atom more than once. +It is not efficient to use compute entropy/atom more than once. */ -- GitLab From 9108306c119c62fa3c387a8788b7196f2af42b5d Mon Sep 17 00:00:00 2001 From: PabloPiaggi Date: Sun, 24 Jun 2018 00:36:09 +0200 Subject: [PATCH 182/675] Shorter entropy/atom example --- examples/USER/misc/entropy/in.entropy | 2 +- examples/USER/misc/entropy/log.entropy | 254 +++---------------------- 2 files changed, 32 insertions(+), 224 deletions(-) diff --git a/examples/USER/misc/entropy/in.entropy b/examples/USER/misc/entropy/in.entropy index fcaffb68a1..2c25dac320 100644 --- a/examples/USER/misc/entropy/in.entropy +++ b/examples/USER/misc/entropy/in.entropy @@ -30,5 +30,5 @@ dump myDump all custom 500 dump.interface id type x y z c_1 c_2 c_3 c fix 1 all nph x 1. 1. 10. fix 2 all temp/csvr 350. 350. 0.1 64582 -run 100000 +run 1000 diff --git a/examples/USER/misc/entropy/log.entropy b/examples/USER/misc/entropy/log.entropy index 5f00e42273..bbd7061e68 100644 --- a/examples/USER/misc/entropy/log.entropy +++ b/examples/USER/misc/entropy/log.entropy @@ -1,17 +1,19 @@ LAMMPS (30 Mar 2018) - using 1 OpenMP thread(s) per MPI task -echo both units metal atom_style full read_data data.interface +Reading data file ... triclinic box = (0 0 0) to (138.4 34.57 34.57) with tilt (0 0 0) 4 by 1 by 1 MPI processor grid reading atoms ... 4096 atoms reading velocities ... 4096 velocities +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 0 = max # of 1-2 neighbors 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors @@ -42,7 +44,7 @@ dump myDump all custom 500 dump.interface id type x y z c_1 c_2 c_3 c fix 1 all nph x 1. 1. 10. fix 2 all temp/csvr 350. 350. 0.1 64582 -run 100000 +run 1000 WARNING: More than one compute entropy/atom (../compute_entropy_atom.cpp:138) WARNING: More than one compute entropy/atom (../compute_entropy_atom.cpp:138) WARNING: More than one compute entropy/atom (../compute_entropy_atom.cpp:138) @@ -79,238 +81,44 @@ Neighbor list info ... pair build: copy stencil: none bin: none +Setting up Verlet run ... + Unit style : metal + Current step : 0 + Time step : 0.002 Per MPI rank memory allocation (min/avg/max) = 25.68 | 25.69 | 25.69 Mbytes Step Temp E_pair E_mol TotEng Press Volume 0 346.29871 -4285.222 0 -4101.9191 594.65353 165399.75 500 359.33758 -4285.247 0 -4095.0423 471.98587 165847.18 1000 348.99659 -4276.2274 0 -4091.4964 149.27188 166966.18 - 1500 341.56622 -4278.7772 0 -4097.9793 -296.95842 168025.4 - 2000 342.09406 -4277.6906 0 -4096.6132 -438.11647 168413.94 - 2500 352.25274 -4275.2717 0 -4088.8172 -330.50608 168120.05 - 3000 350.51318 -4282.4462 0 -4096.9125 -120.66318 167436.33 - 3500 353.70665 -4282.2946 0 -4095.0705 203.76807 166696.51 - 4000 349.96779 -4287.1098 0 -4101.8647 256.9956 166337.2 - 4500 343.72356 -4285.8089 0 -4103.869 206.49403 166407.34 - 5000 352.6139 -4287.1902 0 -4100.5445 81.796762 166694.74 - 5500 347.36366 -4287.0285 0 -4103.1618 -42.768886 167038.64 - 6000 350.3976 -4290.0332 0 -4104.5607 -133.74621 167194.61 - 6500 357.56345 -4286.2623 0 -4096.9967 -11.542553 167113.93 - 7000 355.32488 -4287.3852 0 -4099.3045 45.672669 166919.78 - 7500 347.11842 -4290.6564 0 -4106.9196 28.644843 166818.56 - 8000 352.57322 -4289.7964 0 -4103.1722 18.522414 166836.67 - 8500 354.8297 -4293.8761 0 -4106.0575 -42.234561 166867.25 - 9000 349.62065 -4298.6714 0 -4113.61 -92.546785 166824.11 - 9500 349.33305 -4300.1874 0 -4115.2784 -4.988033 166653.27 - 10000 351.2575 -4295.7452 0 -4109.8175 141.2923 166425.91 - 10500 352.35614 -4302.4997 0 -4115.9904 96.025177 166301.54 - 11000 345.79485 -4304.9271 0 -4121.8908 6.6400444 166310.83 - 11500 349.20236 -4307.0045 0 -4122.1646 25.603816 166291.49 - 12000 354.36642 -4304.3937 0 -4116.8204 43.401924 166335.86 - 12500 343.7124 -4302.9267 0 -4120.9928 -5.23105 166523.78 - 13000 363.53804 -4303.9652 0 -4111.5371 -17.241844 166690.48 - 13500 356.23025 -4304.3329 0 -4115.773 -121.76358 166814.59 - 14000 347.55 -4306.8848 0 -4122.9195 -174.52441 166791.16 - 14500 345.85547 -4309.3314 0 -4126.2631 -43.958619 166461.73 - 15000 350.84805 -4310.3616 0 -4124.6506 118.60917 165964.43 - 15500 349.59675 -4320.2537 0 -4135.2051 143.5776 165581.16 - 16000 349.05247 -4310.2702 0 -4125.5096 299.15489 165512.52 - 16500 357.63567 -4318.1626 0 -4128.8588 70.60951 165914.49 - 17000 352.29836 -4313.8988 0 -4127.4202 -116.44882 166435.75 - 17500 350.49924 -4315.0109 0 -4129.4846 -248.88877 166746.88 - 18000 352.05592 -4314.5162 0 -4128.1659 -164.78373 166635.14 - 18500 348.83853 -4316.1558 0 -4131.5085 -84.641318 166256.38 - 19000 352.52592 -4309.9888 0 -4123.3897 190.51243 165908.63 - 19500 346.13457 -4317.9779 0 -4134.7618 44.213931 165816.35 - 20000 340.17775 -4314.0744 0 -4134.0114 64.495233 165894.74 - 20500 354.06551 -4316.181 0 -4128.7669 -1.4490795 166094.86 - 21000 344.8874 -4316.8088 0 -4134.2529 -118.9424 166286.09 - 21500 354.15586 -4317.3745 0 -4129.9126 -104.15677 166331.42 - 22000 345.8013 -4317.8175 0 -4134.7778 -80.729172 166262.57 - 22500 349.11462 -4323.1371 0 -4138.3436 -107.29158 166095.83 - 23000 343.99139 -4319.5125 0 -4137.4309 71.487855 165825.41 - 23500 349.80225 -4324.909 0 -4139.7516 34.440631 165638.23 - 24000 348.65063 -4325.2073 0 -4140.6594 53.656181 165646.33 - 24500 356.4067 -4331.0609 0 -4142.4076 -53.238796 165745.71 - 25000 349.90889 -4325.3671 0 -4140.1532 7.5156313 165867.84 - 25500 348.55479 -4335.2096 0 -4150.7124 -154.7789 165856.27 - 26000 346.09492 -4332.421 0 -4149.2259 -50.232622 165660.79 - 26500 344.75355 -4334.4345 0 -4151.9494 54.441512 165388.22 - 27000 346.01888 -4340.9678 0 -4157.813 77.590267 165122.38 - 27500 350.13903 -4338.2832 0 -4152.9475 134.25294 165063.15 - 28000 349.4507 -4336.2772 0 -4151.3059 120.90268 165197.05 - 28500 349.89188 -4337.2205 0 -4152.0156 -7.4448137 165466.05 - 29000 352.06855 -4336.4999 0 -4150.1429 -72.487845 165711.12 - 29500 348.70134 -4335.081 0 -4150.5063 -122.13386 165799.73 - 30000 349.80677 -4341.2595 0 -4156.0997 -177.94864 165698.03 - 30500 347.84982 -4339.92 0 -4155.796 -11.150253 165358.49 - 31000 350.8215 -4337.9393 0 -4152.2423 169.74393 164968.86 - 31500 350.71421 -4340.8771 0 -4155.2369 221.49124 164741.67 - 32000 349.9693 -4342.8528 0 -4157.6069 171.42476 164849.23 - 32500 352.56459 -4340.4746 0 -4153.855 50.564424 165207.87 - 33000 348.20348 -4340.6347 0 -4156.3235 -142.44617 165619.29 - 33500 345.52103 -4341.0103 0 -4158.119 -239.73388 165867.73 - 34000 340.18612 -4339.2415 0 -4159.1741 -229.24652 165814.16 - 34500 346.29644 -4342.3771 0 -4159.0754 -66.184467 165447.7 - 35000 348.41012 -4339.9899 0 -4155.5693 116.11721 165057.16 - 35500 349.8102 -4342.6138 0 -4157.4521 162.46419 164869.8 - 36000 345.12148 -4342.1816 0 -4159.5018 93.299897 164971.27 - 36500 350.1662 -4340.7476 0 -4155.3975 17.1695 165283.86 - 37000 345.02071 -4333.5625 0 -4150.9361 -19.777882 165591.43 - 37500 351.61529 -4339.4316 0 -4153.3145 -163.6161 165720.09 - 38000 351.12679 -4334.814 0 -4148.9555 -41.24883 165586.63 - 38500 357.46153 -4338.5489 0 -4149.3373 48.449588 165358.68 - 39000 354.37011 -4343.9595 0 -4156.3842 24.197319 165158.97 - 39500 344.87813 -4340.2123 0 -4157.6613 45.305702 165085.33 - 40000 357.02868 -4344.263 0 -4155.2805 38.581773 165138.93 - 40500 356.49851 -4340.4739 0 -4151.772 43.25324 165302.5 - 41000 355.84229 -4342.0156 0 -4153.661 -84.423576 165491.7 - 41500 345.13117 -4338.685 0 -4156.0001 -103.00745 165528 - 42000 346.53963 -4336.6348 0 -4153.2044 -13.071264 165436.39 - 42500 351.00431 -4335.7733 0 -4149.9796 68.464006 165317.65 - 43000 355.65919 -4342.096 0 -4153.8384 -5.7513562 165240.95 - 43500 346.67881 -4340.4327 0 -4156.9286 27.104052 165178.78 - 44000 344.93607 -4341.5588 0 -4158.9771 29.983072 165226.93 - 44500 344.96898 -4344.4191 0 -4161.82 -63.544956 165331.7 - 45000 355.79519 -4340.2996 0 -4151.97 -5.5354943 165421.38 - 45500 354.21428 -4340.4899 0 -4152.9971 -45.808519 165514.22 - 46000 347.90456 -4337.7045 0 -4153.5516 -70.472446 165549.25 - 46500 342.30611 -4339.8561 0 -4158.6665 -89.138875 165515.54 - 47000 349.18619 -4339.6708 0 -4154.8395 -22.391799 165392.52 - 47500 355.54068 -4340.9861 0 -4152.7912 48.059812 165261.21 - 48000 349.85193 -4341.0492 0 -4155.8655 10.4874 165233.41 - 48500 350.48062 -4340.3555 0 -4154.839 34.514274 165241.37 - 49000 350.22062 -4337.3446 0 -4151.9657 66.516852 165234.86 - 49500 353.48854 -4342.606 0 -4155.4973 18.178574 165232.42 - 50000 355.4353 -4340.503 0 -4152.3639 82.642485 165242.94 - 50500 356.03755 -4337.8136 0 -4149.3557 79.237302 165308.35 - 51000 348.26583 -4338.9903 0 -4154.6461 23.965877 165360.09 - 51500 353.84885 -4342.682 0 -4155.3826 -65.297839 165421.25 - 52000 348.38906 -4335.7957 0 -4151.3863 -16.337804 165488.67 - 52500 348.33732 -4340.4442 0 -4156.0621 -71.786085 165459.21 - 53000 351.36882 -4340.8694 0 -4154.8828 -11.818052 165334.01 - 53500 349.66487 -4340.899 0 -4155.8143 64.774989 165157.06 - 54000 354.52673 -4341.5591 0 -4153.9009 103.84648 165043.7 - 54500 347.97543 -4341.7648 0 -4157.5743 60.697135 165103.56 - 55000 349.7801 -4341.6796 0 -4156.5339 3.186648 165284.19 - 55500 349.90814 -4337.5213 0 -4152.3079 -15.40375 165470.58 - 56000 350.89011 -4341.7859 0 -4156.0527 -101.06113 165536.95 - 56500 338.10783 -4336.0802 0 -4157.1129 0.46390075 165365.62 - 57000 355.8832 -4336.8791 0 -4148.5029 163.76227 165095.76 - 57500 343.20161 -4337.579 0 -4155.9154 173.89034 164877.3 - 58000 347.30883 -4338.8572 0 -4155.0196 196.75267 164858.65 - 58500 347.11195 -4338.1293 0 -4154.3959 107.96277 165100.21 - 59000 356.20588 -4336.869 0 -4148.322 32.98048 165438.3 - 59500 352.20196 -4340.4404 0 -4154.0127 -147.74801 165733.29 - 60000 348.50087 -4338.2613 0 -4153.7927 -201.37766 165872.68 - 60500 350.83512 -4338.2378 0 -4152.5337 -157.3473 165788.59 - 61000 358.06869 -4336.2653 0 -4146.7323 49.66101 165406.04 - 61500 351.59222 -4342.9905 0 -4156.8856 123.56829 164946.67 - 62000 357.85029 -4342.5571 0 -4153.1396 272.18018 164672.22 - 62500 353.07998 -4345.1721 0 -4158.2797 182.18366 164762.57 - 63000 350.29241 -4336.295 0 -4150.8781 96.838396 165199.84 - 63500 351.93686 -4344.5516 0 -4158.2643 -231.395 165711.73 - 64000 351.23761 -4338.6588 0 -4152.7416 -237.8481 165989.41 - 64500 347.96971 -4335.4865 0 -4151.299 -189.76455 165932.6 - 65000 354.37539 -4337.2906 0 -4149.7125 -43.526372 165522.64 - 65500 357.5777 -4346.4633 0 -4157.1902 81.72156 165007.06 - 66000 354.14242 -4345.6382 0 -4158.1834 195.69703 164658.89 - 66500 349.96045 -4338.6632 0 -4153.422 257.21076 164693.92 - 67000 347.83399 -4342.9995 0 -4158.8839 39.429532 165109.39 - 67500 349.19688 -4339.7486 0 -4154.9116 -70.657587 165534.67 - 68000 345.04999 -4335.0979 0 -4152.456 -178.5504 165788.23 - 68500 352.27772 -4337.4216 0 -4150.9539 -159.95859 165787.12 - 69000 352.83425 -4340.4687 0 -4153.7064 -93.500881 165526.1 - 69500 347.74369 -4339.3835 0 -4155.3157 84.591777 165119.47 - 70000 352.65319 -4339.132 0 -4152.4655 214.03749 164904.63 - 70500 349.83427 -4340.3861 0 -4155.2117 123.57829 165013.52 - 71000 348.51668 -4344.6661 0 -4160.1891 -33.962211 165235.42 - 71500 345.71481 -4339.4514 0 -4156.4576 -73.059935 165447.89 - 72000 354.93417 -4341.68 0 -4153.8061 -94.767012 165533.4 - 72500 342.42761 -4341.9235 0 -4160.6696 -129.2131 165509.21 - 73000 349.91799 -4336.9832 0 -4151.7645 14.219496 165403.37 - 73500 344.75733 -4339.5268 0 -4157.0398 18.088244 165274.21 - 74000 353.01313 -4335.8263 0 -4148.9693 165.34097 165149.7 - 74500 353.70264 -4340.5322 0 -4153.3102 55.785855 165128.92 - 75000 355.60934 -4337.9827 0 -4149.7514 103.87392 165190.99 - 75500 349.91446 -4339.5314 0 -4154.3146 -9.8601217 165344.74 - 76000 343.95016 -4344.3242 0 -4162.2644 -180.90986 165482.68 - 76500 348.77873 -4339.8225 0 -4155.2069 -82.808012 165511.02 - 77000 346.21282 -4336.4572 0 -4153.1998 7.4507551 165423.52 - 77500 355.35737 -4339.7581 0 -4151.6602 16.915858 165319.8 - 78000 351.13843 -4339.5992 0 -4153.7345 25.286516 165279.14 - 78500 349.57827 -4338.7768 0 -4153.738 13.676393 165287.51 - 79000 350.44899 -4341.8942 0 -4156.3945 -35.020193 165301.74 - 79500 345.50828 -4338.3401 0 -4155.4555 12.691593 165316.89 - 80000 349.19427 -4341.8139 0 -4156.9783 -60.176128 165350.63 - 80500 347.23088 -4340.8887 0 -4157.0923 -8.1510933 165352.41 - 81000 350.69564 -4338.1451 0 -4152.5148 63.352509 165336.37 - 81500 353.51603 -4341.4634 0 -4154.3402 18.963339 165273.49 - 82000 357.99109 -4339.5813 0 -4150.0894 111.83287 165142.45 - 82500 348.95721 -4339.3975 0 -4154.6873 133.99884 165049.94 - 83000 348.40851 -4341.4694 0 -4157.0497 99.552375 165079.83 - 83500 351.56311 -4340.478 0 -4154.3885 43.625398 165236.42 - 84000 350.94582 -4342.5887 0 -4156.826 -61.009621 165425.36 - 84500 348.85285 -4340.2908 0 -4155.6359 -121.20155 165518.82 - 85000 350.93338 -4338.5274 0 -4152.7712 -24.578168 165453.02 - 85500 350.05705 -4341.015 0 -4155.7227 44.257207 165274.03 - 86000 354.23801 -4340.9418 0 -4153.4364 95.178264 165077.53 - 86500 361.17307 -4345.1753 0 -4153.9991 161.19621 164939.38 - 87000 350.69942 -4342.2517 0 -4156.6193 132.57345 164951.93 - 87500 351.46682 -4338.9653 0 -4152.9268 83.174091 165203.95 - 88000 345.03368 -4341.8378 0 -4159.2045 -169.97976 165616.84 - 88500 351.70033 -4339.5377 0 -4153.3755 -203.97263 165858.93 - 89000 355.54446 -4339.2207 0 -4151.0238 -123.1241 165752.79 - 89500 350.31818 -4334.7628 0 -4149.3323 77.462164 165324.49 - 90000 351.20604 -4343.5238 0 -4157.6233 133.64807 164890.85 - 90500 348.0003 -4348.9685 0 -4164.7649 118.91427 164657.96 - 91000 347.21483 -4342.3391 0 -4158.5512 226.41338 164732.47 - 91500 347.27277 -4342.6341 0 -4158.8156 10.500178 165159.97 - 92000 344.50771 -4340.5474 0 -4158.1925 -199.65031 165723.91 - 92500 349.4828 -4342.4558 0 -4157.4674 -334.92794 166050.96 - 93000 349.90926 -4338.4776 0 -4153.2635 -265.95682 165968.52 - 93500 343.01305 -4340.5317 0 -4158.968 -100.92764 165495.12 - 94000 347.78156 -4341.2655 0 -4157.1777 146.28391 164933.04 - 94500 353.69177 -4341.067 0 -4153.8507 304.79658 164618.69 - 95000 346.04459 -4345.6353 0 -4162.4669 171.92493 164732.34 - 95500 347.79068 -4338.9943 0 -4154.9017 76.774034 165167.7 - 96000 344.56458 -4340.0235 0 -4157.6384 -160.40807 165608.59 - 96500 340.37553 -4342.8492 0 -4162.6815 -276.60876 165807.48 - 97000 347.18941 -4341.2676 0 -4157.4932 -178.69421 165633 - 97500 349.64071 -4340.366 0 -4155.2941 41.608903 165242.92 - 98000 349.52995 -4342.5772 0 -4157.5639 173.81028 164884.94 - 98500 350.04404 -4338.4153 0 -4153.1299 265.77826 164754.57 - 99000 345.61445 -4341.8018 0 -4158.861 130.70276 164941.11 - 99500 353.39327 -4337.2886 0 -4150.2304 79.630342 165241.58 - 100000 349.21591 -4340.4937 0 -4155.6466 -98.981878 165526.52 -Loop time of 333.54 on 4 procs for 100000 steps with 4096 atoms +Loop time of 5.36291 on 4 procs for 1000 steps with 4096 atoms -Performance: 51.808 ns/day, 0.463 hours/ns, 299.814 timesteps/s -97.9% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 32.221 ns/day, 0.745 hours/ns, 186.466 timesteps/s +99.9% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 262.06 | 266.81 | 271.72 | 26.0 | 79.99 -Bond | 0.0072134 | 0.010317 | 0.013051 | 2.4 | 0.00 -Neigh | 33.331 | 33.927 | 34.4 | 7.3 | 10.17 -Comm | 7.4881 | 11.613 | 16.368 | 106.5 | 3.48 -Output | 12.849 | 12.854 | 12.867 | 0.2 | 3.85 -Modify | 6.3196 | 7.428 | 9.0238 | 42.1 | 2.23 -Other | | 0.8935 | | | 0.27 +Pair | 4.1944 | 4.2946 | 4.437 | 4.5 | 80.08 +Bond | 0.0002267 | 0.00025637 | 0.00029458 | 0.0 | 0.00 +Neigh | 0.43028 | 0.43502 | 0.44292 | 0.7 | 8.11 +Comm | 0.053663 | 0.20256 | 0.30119 | 21.2 | 3.78 +Output | 0.34876 | 0.34877 | 0.34878 | 0.0 | 6.50 +Modify | 0.066335 | 0.067822 | 0.069094 | 0.4 | 1.26 +Other | | 0.01392 | | | 0.26 -Nlocal: 1024 ave 1029 max 1016 min -Histogram: 1 0 0 0 0 1 0 0 0 2 -Nghost: 4741.75 ave 4759 max 4706 min -Histogram: 1 0 0 0 0 0 0 0 2 1 -Neighs: 124070 ave 125011 max 122645 min -Histogram: 1 0 0 0 1 0 0 0 0 2 -FullNghs: 248139 ave 250140 max 245351 min -Histogram: 1 0 0 0 1 0 0 0 0 2 +Nlocal: 1024 ave 1040 max 1001 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Nghost: 4614.25 ave 4700 max 4540 min +Histogram: 1 1 0 0 0 0 0 1 0 1 +Neighs: 121747 ave 126398 max 116931 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +FullNghs: 243494 ave 252523 max 233842 min +Histogram: 1 0 0 1 0 0 1 0 0 1 -Total # of neighbors = 992556 -Ave neighs/atom = 242.323 +Total # of neighbors = 973974 +Ave neighs/atom = 237.787 Ave special neighs/atom = 0 -Neighbor list builds = 1222 +Neighbor list builds = 13 Dangerous builds = 0 -Total wall time: 0:05:33 +Total wall time: 0:00:05 -- GitLab From e2c03f0596c93adb97678b8dc311b2be92fd6c57 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 25 Jun 2018 02:55:16 -0400 Subject: [PATCH 183/675] Simplify build system conflict checks - removes redundant code for conflict checks - updates and expands original check to report fatal error instead of ignoring files - removes obsolete DetectAndRemovePackageHeader and RemovePackageHeader utility functions which are no longer needed - adds utility function DetectBuildSystemConflict, which loops over files and reports an error if they exist in the lammps src directory. - updates definition of LAMMPS_SOURCE_DIR, LAMMPS_LIB_SOURCE_DIR and LAMMPS_LIB_BINARY_DIR to be absolute paths. This improves instructions in error messages --- cmake/CMakeLists.txt | 56 ++++++++++++---------------- cmake/Modules/StyleHeaderUtils.cmake | 51 +++++++++++-------------- 2 files changed, 46 insertions(+), 61 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 3dc1dac00c..5a7b086a24 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -6,9 +6,10 @@ cmake_minimum_required(VERSION 2.8.12) project(lammps CXX) set(SOVERSION 0) -set(LAMMPS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../src) -set(LAMMPS_LIB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../lib) -set(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib) +get_filename_component(LAMMPS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../src ABSOLUTE) +get_filename_component(LAMMPS_LIB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../lib ABSOLUTE) +get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE) + #To not conflict with old Makefile build system, we build everything here file(GLOB LIB_SOURCES ${LAMMPS_SOURCE_DIR}/*.cpp) @@ -23,9 +24,6 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS) set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE) endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS) -file(GLOB SRC_FILES ${LAMMPS_SOURCE_DIR}/*.cpp) -list(SORT SRC_FILES) - # check for files auto-generated by make-based buildsystem # this is fast, so check for it all the time message(STATUS "Running check for auto-generated files from make-based build system") @@ -34,24 +32,16 @@ list(APPEND SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/lmpinstalledpkgs.h) foreach(_SRC ${SRC_AUTOGEN_FILES}) get_filename_component(FILENAME "${_SRC}" NAME) if(EXISTS ${LAMMPS_SOURCE_DIR}/${FILENAME}) - message(FATAL_ERROR "\nFound header file(s) generated by the make-based build system.\nPlease run 'make -C ${LAMMPS_SOURCE_DIR} purge' to remove") + message(FATAL_ERROR "\n########################################################################\n" + "Found header file(s) generated by the make-based build system\n" + "\n" + "Please run\n" + "make -C ${LAMMPS_SOURCE_DIR} purge\n" + "to remove\n" + "########################################################################") endif() endforeach() -# check for files from packages installed by the make-based buildsystem -# this is slow, so only run this check if there are new files -if(NOT SRC_FILES STREQUAL SRC_FILES_CACHED) - file(GLOB SRC_PKG_FILES ${LAMMPS_SOURCE_DIR}/*/*.cpp) - message(STATUS "Running check for packages installed with 'make yes-' (this may take a while)") - foreach(_SRC ${SRC_PKG_FILES}) - get_filename_component(FILENAME "${_SRC}" NAME) - if(EXISTS ${LAMMPS_SOURCE_DIR}/${FILENAME}) - message(FATAL_ERROR "\nFound package(s) installed by the make-based build system\nPlease run 'make -C ${LAMMPS_SOURCE_DIR} no-all purge' to uninstall") - endif() - endforeach() - set(SRC_FILES_CACHED "${SRC_FILES}" CACHE INTERNAL "List of file in LAMMPS_SOURCE_DIR" FORCE) -endif() - ###################################################################### # compiler tests # these need ot be done early (before further tests). @@ -478,20 +468,11 @@ RegisterStyles(${LAMMPS_SOURCE_DIR}) foreach(PKG ${DEFAULT_PACKAGES} ${OTHER_PACKAGES}) set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG}) - # ignore PKG files which were manually installed in src folder - # headers are ignored during RegisterStyles file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/*.cpp) file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/*.h) - foreach(PKG_FILE in ${${PKG}_SOURCES}) - get_filename_component(FNAME ${PKG_FILE} NAME) - list(REMOVE_ITEM LIB_SOURCES ${LAMMPS_SOURCE_DIR}/${FNAME}) - endforeach() - - foreach(PKG_FILE in ${${PKG}_HEADERS}) - get_filename_component(FNAME ${PKG_FILE} NAME) - DetectAndRemovePackageHeader(${LAMMPS_SOURCE_DIR}/${FNAME}) - endforeach() + # check for package files in src directory due to old make system + DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS}) if(PKG_${PKG}) # detects styles in package and adds them to global list @@ -502,6 +483,17 @@ foreach(PKG ${DEFAULT_PACKAGES} ${OTHER_PACKAGES}) endif() endforeach() +# dedicated check for entire contents of accelerator packages +foreach(PKG ${ACCEL_PACKAGES}) + set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG}) + + file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/*.cpp) + file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/*.h) + + # check for package files in src directory due to old make system + DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS}) +endforeach() + ############################################## # add lib sources of (simple) enabled packages ############################################ diff --git a/cmake/Modules/StyleHeaderUtils.cmake b/cmake/Modules/StyleHeaderUtils.cmake index c6f580f463..2def9ebc88 100644 --- a/cmake/Modules/StyleHeaderUtils.cmake +++ b/cmake/Modules/StyleHeaderUtils.cmake @@ -107,35 +107,6 @@ function(RegisterStyles search_path) FindStyleHeaders(${search_path} REGION_CLASS region_ REGION ) # region ) # domain endfunction(RegisterStyles) -function(RemovePackageHeader headers pkg_header) - get_property(hlist GLOBAL PROPERTY ${headers}) - list(REMOVE_ITEM hlist ${pkg_header}) - set_property(GLOBAL PROPERTY ${headers} "${hlist}") -endfunction(RemovePackageHeader) - -function(DetectAndRemovePackageHeader fname) - RemovePackageHeader(ANGLE ${fname}) - RemovePackageHeader(ATOM_VEC ${fname}) - RemovePackageHeader(BODY ${fname}) - RemovePackageHeader(BOND ${fname}) - RemovePackageHeader(COMMAND ${fname}) - RemovePackageHeader(COMPUTE ${fname}) - RemovePackageHeader(DIHEDRAL ${fname}) - RemovePackageHeader(DUMP ${fname}) - RemovePackageHeader(FIX ${fname}) - RemovePackageHeader(IMPROPER ${fname}) - RemovePackageHeader(INTEGRATE ${fname}) - RemovePackageHeader(KSPACE ${fname}) - RemovePackageHeader(MINIMIZE ${fname}) - RemovePackageHeader(NBIN ${fname}) - RemovePackageHeader(NPAIR ${fname}) - RemovePackageHeader(NSTENCIL ${fname}) - RemovePackageHeader(NTOPO ${fname}) - RemovePackageHeader(PAIR ${fname}) - RemovePackageHeader(READER ${fname}) - RemovePackageHeader(REGION ${fname}) -endfunction(DetectAndRemovePackageHeader) - function(RegisterStylesExt search_path extension sources) FindStyleHeadersExt(${search_path} ANGLE_CLASS ${extension} ANGLE ${sources}) FindStyleHeadersExt(${search_path} ATOM_CLASS ${extension} ATOM_VEC ${sources}) @@ -181,3 +152,25 @@ function(GenerateStyleHeaders output_path) GenerateStyleHeader(${output_path} READER reader ) # read_dump GenerateStyleHeader(${output_path} REGION region ) # domain endfunction(GenerateStyleHeaders) + +function(DetectBuildSystemConflict lammps_src_dir) + math(EXPR N "${ARGC}-1") + + if(N GREATER 0) + math(EXPR ARG_END "${ARGC}-1") + + foreach(IDX RANGE 1 ${ARG_END}) + list(GET ARGV ${IDX} SRC_FILE) + get_filename_component(FILENAME ${SRC_FILE} NAME) + if(EXISTS ${lammps_src_dir}/${FILENAME}) + message(FATAL_ERROR "\n########################################################################\n" + "Found package(s) installed by the make-based build system\n" + "\n" + "Please run\n" + "make -C ${lammps_src_dir} no-all purge\n" + "to uninstall\n" + "########################################################################") + endif() + endforeach() + endif() +endfunction(DetectBuildSystemConflict) -- GitLab From c4d0994d5e60f813c7eba71a02f0d80ce16cdca4 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Mon, 25 Jun 2018 06:29:24 -0600 Subject: [PATCH 184/675] cmake: fixed a typo --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a434b982e4..0074ba9cdb 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -229,7 +229,7 @@ if(PKG_PYTHON) add_definitions(-DLMP_PYTHON) include_directories(${PYTHON_INCLUDE_DIR}) list(APPEND LAMMPS_LINK_LIBS ${PYTHON_LIBRARY}) - if(BUILDLIB AND BUILD_SHARED_LIBS) + if(BUILD_LIB AND BUILD_SHARED_LIBS) if(NOT PYTHON_INSTDIR) execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import distutils.sysconfig as cg; print(cg.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}'))" -- GitLab From cb2cf5b7730761d11aec04265cbc754c5009a62d Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Mon, 25 Jun 2018 06:31:09 -0600 Subject: [PATCH 185/675] cmake: fixed comment --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 0074ba9cdb..2bbc316902 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -462,7 +462,7 @@ set(MATH_LIBRARIES "m" CACHE STRING "math library") mark_as_advanced( MATH_LIBRARIES ) include(CheckLibraryExists) if (CMAKE_VERSION VERSION_LESS "3.4") - enable_language(C) # check_library_exists isn't support with a c compiler before v3.4 + enable_language(C) # check_library_exists isn't supported without a c compiler before v3.4 endif() foreach(FUNC sin cos) check_library_exists(${MATH_LIBRARIES} ${FUNC} "" FOUND_${FUNC}_${MATH_LIBRARIES}) -- GitLab From 06b3209ad8d214f6380a3bd363c18082c578e3c7 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 25 Jun 2018 09:56:39 -0600 Subject: [PATCH 186/675] Commit JT 062518 --- examples/SPIN/read_restart/in.spin.read_data | 6 +++--- examples/SPIN/read_restart/in.spin.restart | 9 +++------ examples/SPIN/read_restart/in.spin.write_restart | 16 +++++++--------- src/SPIN/atom_vec_spin.cpp | 10 +++++----- 4 files changed, 18 insertions(+), 23 deletions(-) diff --git a/examples/SPIN/read_restart/in.spin.read_data b/examples/SPIN/read_restart/in.spin.read_data index ba667e0b43..88a2dc7f0a 100644 --- a/examples/SPIN/read_restart/in.spin.read_data +++ b/examples/SPIN/read_restart/in.spin.read_data @@ -6,12 +6,12 @@ atom_style spin # necessary for the serial algorithm (sametag) atom_modify map array -read_data Norm_randXY_8x8x32.data +read_data ../examples/SPIN/read_restart/Norm_randXY_8x8x32.data mass 1 58.93 pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * eam/alloy ../examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy Co pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 neighbor 1.0 bin @@ -40,6 +40,6 @@ thermo_style custom step time v_magnorm v_emag v_tmag temp etotal thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] +dump 10 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] run 100 diff --git a/examples/SPIN/read_restart/in.spin.restart b/examples/SPIN/read_restart/in.spin.restart index f4b528fe68..f44616ca42 100644 --- a/examples/SPIN/read_restart/in.spin.restart +++ b/examples/SPIN/read_restart/in.spin.restart @@ -8,18 +8,15 @@ boundary p p p # necessary for the serial algorithm (sametag) atom_modify map array -read_restart restart_fcc_cobalt.equil - +read_restart restart_hcp_cobalt.equil # setting mass, mag. moments, and interactions mass 1 58.93 -# define magneto-mechanical potentials and forces - pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff * * eam/alloy ../examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 neighbor 1.0 bin neigh_modify every 1 check no delay 0 diff --git a/examples/SPIN/read_restart/in.spin.write_restart b/examples/SPIN/read_restart/in.spin.write_restart index 3acb33fbd8..84fea24611 100644 --- a/examples/SPIN/read_restart/in.spin.write_restart +++ b/examples/SPIN/read_restart/in.spin.write_restart @@ -9,7 +9,7 @@ boundary p p p # necessary for the serial algorithm (sametag) atom_modify map array -lattice fcc 3.54 +lattice hcp 2.5071 region box block 0.0 5.0 0.0 5.0 0.0 5.0 create_box 1 box create_atoms 1 box @@ -19,19 +19,17 @@ create_atoms 1 box mass 1 58.93 set group all spin/random 31 1.72 -velocity all create 100 4928459 rot yes dist gaussian -pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +pair_style spin/exchange 4.0 +pair_coeff * * exchange 4.0 0.3593 1.135028015e-05 1.064568567 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 21 +fix 2 all langevin/spin 100.0 0.01 21 -fix 3 all nve/spin lattice yes +fix 3 all nve/spin lattice no timestep 0.0001 # compute and output options @@ -52,6 +50,6 @@ thermo 100 compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] -run 5000 -write_restart restart_fcc_cobalt.equil +run 1000 +write_restart restart_hcp_cobalt.equil diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 20888290a0..4871fe0c40 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -44,11 +44,9 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) molecular = 0; mass_type = 1; forceclearflag = 1; - atom->sp_flag = 1; comm_x_only = 0; comm_f_only = 0; - size_forward = 7; size_reverse = 6; size_border = 10; @@ -56,6 +54,8 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) size_data_atom = 9; size_data_vel = 4; xcol_data = 4; + + atom->sp_flag = 1; } @@ -681,7 +681,7 @@ int AtomVecSpin::size_restart() int i; int nlocal = atom->nlocal; - int n = 16 * nlocal; + int n = 15 * nlocal; if (atom->nextra_restart) for (int iextra = 0; iextra < atom->nextra_restart; iextra++) @@ -907,8 +907,8 @@ void AtomVecSpin::write_data(FILE *fp, int n, double **buf) (tagint) ubuf(buf[i][0]).i,(int) ubuf(buf[i][1]).i, buf[i][2],buf[i][3],buf[i][4], buf[i][5],buf[i][6],buf[i][7],buf[i][8], - (int) ubuf(buf[i][10]).i,(int) ubuf(buf[i][11]).i, - (int) ubuf(buf[i][12]).i); + (int) ubuf(buf[i][9]).i,(int) ubuf(buf[i][10]).i, + (int) ubuf(buf[i][11]).i); } /* ---------------------------------------------------------------------- -- GitLab From bad750eb2b6a0803f86f492f804ed00dd57390ca Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 25 Jun 2018 19:34:10 -0400 Subject: [PATCH 187/675] move LATTE ABI version constant into a define at the top of fix latte, as suggested by @sjplimp --- src/LATTE/fix_latte.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/LATTE/fix_latte.cpp b/src/LATTE/fix_latte.cpp index 4a3fc81f51..ed0eaa7520 100644 --- a/src/LATTE/fix_latte.cpp +++ b/src/LATTE/fix_latte.cpp @@ -34,6 +34,11 @@ using namespace LAMMPS_NS; using namespace FixConst; +// this constant must remain consistent with the +// LATTE library and the ABI prototype below + +#define LATTE_ABIVERSION 20180622 + extern "C" { void latte(int *, int *, double *, int *, int *, double *, double *, double *, double *, @@ -55,7 +60,7 @@ FixLatte::FixLatte(LAMMPS *lmp, int narg, char **arg) : if (comm->nprocs != 1) error->all(FLERR,"Fix latte currently runs only in serial"); - if (20180622 != latte_abiversion()) + if (LATTE_ABIVERSION != latte_abiversion()) error->all(FLERR,"LAMMPS is linked against incompatible LATTE library"); if (narg != 4) error->all(FLERR,"Illegal fix latte command"); -- GitLab From 49a91db0b20fcba1741800afdf5db6ef89baf459 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 25 Jun 2018 17:43:31 -0600 Subject: [PATCH 188/675] small changes to last LATTE PR, including xControl to upper case --- ...r.ch4.consecutive.md => in.latte.multiple} | 0 examples/latte/latte.in | 2 +- .../latte/log.21Jun18.latte.multiple.g++.1 | 171 ++++++++++++++++++ lib/latte/Install.py | 2 +- src/LATTE/fix_latte.cpp | 3 +- 5 files changed, 175 insertions(+), 3 deletions(-) rename examples/latte/{in.latte.water.ch4.consecutive.md => in.latte.multiple} (100%) create mode 100644 examples/latte/log.21Jun18.latte.multiple.g++.1 diff --git a/examples/latte/in.latte.water.ch4.consecutive.md b/examples/latte/in.latte.multiple similarity index 100% rename from examples/latte/in.latte.water.ch4.consecutive.md rename to examples/latte/in.latte.multiple diff --git a/examples/latte/latte.in b/examples/latte/latte.in index de905f411e..f927313457 100644 --- a/examples/latte/latte.in +++ b/examples/latte/latte.in @@ -9,7 +9,7 @@ LATTE INPUT FILE #General controls CONTROL{ - xControl= 1 + XCONTROL= 1 BASISTYPE= NONORTHO PARAMPATH= "./TBparam" KBT= 0.0 diff --git a/examples/latte/log.21Jun18.latte.multiple.g++.1 b/examples/latte/log.21Jun18.latte.multiple.g++.1 new file mode 100644 index 0000000000..2c624e4371 --- /dev/null +++ b/examples/latte/log.21Jun18.latte.multiple.g++.1 @@ -0,0 +1,171 @@ +LAMMPS (22 Jun 2018) +units metal +atom_style full +atom_modify sort 0 0.0 # turn off sorting of the coordinates + +read_data data.water + orthogonal box = (0 0 0) to (6.267 6.267 6.267) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 24 atoms + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve +fix 2 all latte NULL +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 +run 10 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.629 | 5.629 | 5.629 Mbytes +Step Temp PotEng TotEng Press + 0 0 -104.95596 -104.95596 48235.442 + 10 336.53107 -105.96027 -104.95977 97996.851 +Loop time of 0.912921 on 1 procs for 10 steps with 24 atoms + +Performance: 0.237 ns/day, 101.436 hours/ns, 10.954 timesteps/s +6614.5% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.3392e-05 | 4.3392e-05 | 4.3392e-05 | 0.0 | 0.00 +Bond | 3.8862e-05 | 3.8862e-05 | 3.8862e-05 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00036955 | 0.00036955 | 0.00036955 | 0.0 | 0.04 +Output | 9.799e-05 | 9.799e-05 | 9.799e-05 | 0.0 | 0.01 +Modify | 0.91199 | 0.91199 | 0.91199 | 0.0 | 99.90 +Other | | 0.0003812 | | | 0.04 + +Nlocal: 24 ave 24 max 24 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 71 ave 71 max 71 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 37 ave 37 max 37 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 37 +Ave neighs/atom = 1.54167 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +# Clear up previus calculation + +clear + +# simple CH4 molecule with LATTE + +units metal +atom_style full +atom_modify sort 0 0.0 # turn off sorting of the coordinates + +read_data data.ch4 + triclinic box = (0 0 0) to (19.523 12.758 11.692) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 5 atoms + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + +# initialize system + +velocity all create 0.0 87287 loop geom + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.00025 + +fix 1 all nve + +fix 2 all latte NULL +fix_modify 2 energy yes + +thermo_style custom step temp pe etotal press + +# dynamics + +thermo 10 +run 10 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 20 13 12 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/3d/newton/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.651 | 5.651 | 5.651 Mbytes +Step Temp PotEng TotEng Press + 0 0 -23.980353 -23.980353 348.02716 + 10 19.123149 -23.990297 -23.98041 18.774332 +Loop time of 0.0415399 on 1 procs for 10 steps with 5 atoms + +Performance: 5.200 ns/day, 4.616 hours/ns, 240.732 timesteps/s +6674.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 5.722e-06 | 5.722e-06 | 5.722e-06 | 0.0 | 0.01 +Bond | 7.6294e-06 | 7.6294e-06 | 7.6294e-06 | 0.0 | 0.02 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 1.8358e-05 | 1.8358e-05 | 1.8358e-05 | 0.0 | 0.04 +Output | 2.0981e-05 | 2.0981e-05 | 2.0981e-05 | 0.0 | 0.05 +Modify | 0.041394 | 0.041394 | 0.041394 | 0.0 | 99.65 +Other | | 9.322e-05 | | | 0.22 + +Nlocal: 5 ave 5 max 5 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 7 ave 7 max 7 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 10 ave 10 max 10 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 10 +Ave neighs/atom = 2 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:01 diff --git a/lib/latte/Install.py b/lib/latte/Install.py index 82936ecda4..b9500a8996 100644 --- a/lib/latte/Install.py +++ b/lib/latte/Install.py @@ -144,7 +144,7 @@ if buildflag: print("Downloading LATTE ...") geturl(url,"LATTE.tar.gz") - print("Unpacking LATTE zipfile ...") + print("Unpacking LATTE ...") if os.path.exists(lattedir): cmd = 'rm -rf "%s"' % lattedir subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) diff --git a/src/LATTE/fix_latte.cpp b/src/LATTE/fix_latte.cpp index 4a3fc81f51..37205040e2 100644 --- a/src/LATTE/fix_latte.cpp +++ b/src/LATTE/fix_latte.cpp @@ -42,6 +42,7 @@ extern "C" { int latte_abiversion(); } +#define ABIVERSION 20180622 #define INVOKED_PERATOM 8 /* ---------------------------------------------------------------------- */ @@ -55,7 +56,7 @@ FixLatte::FixLatte(LAMMPS *lmp, int narg, char **arg) : if (comm->nprocs != 1) error->all(FLERR,"Fix latte currently runs only in serial"); - if (20180622 != latte_abiversion()) + if (latte_abiversion() != ABIVERSION) error->all(FLERR,"LAMMPS is linked against incompatible LATTE library"); if (narg != 4) error->all(FLERR,"Illegal fix latte command"); -- GitLab From 19f81e080263213dbc5fb95109f6892c380c4694 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 25 Jun 2018 23:56:18 -0400 Subject: [PATCH 189/675] Add library functions for accessing LAMMPS configuration --- python/lammps.py | 36 ++++++++++++++++++++++++++++------ src/info.cpp | 9 +++++++++ src/info.h | 1 + src/library.cpp | 51 ++++++++++++++++++++++++++++++++++++++++++++++++ src/library.h | 9 +++++++++ 5 files changed, 100 insertions(+), 6 deletions(-) diff --git a/python/lammps.py b/python/lammps.py index 417427eb4b..7576138f1a 100644 --- a/python/lammps.py +++ b/python/lammps.py @@ -209,6 +209,7 @@ class lammps(object): self.c_bigint = get_ctypes_int(self.extract_setting("bigint")) self.c_tagint = get_ctypes_int(self.extract_setting("tagint")) self.c_imageint = get_ctypes_int(self.extract_setting("imageint")) + self._installed_packages = None # shut-down LAMMPS instance @@ -562,13 +563,36 @@ class lammps(object): shrinkexceed) @property - def uses_exceptions(self): + def has_exceptions(self): """ Return whether the LAMMPS shared library was compiled with C++ exceptions handling enabled """ - try: - if self.lib.lammps_has_error: - return True - except(AttributeError): - return False + return self.lib.lammps_config_has_exceptions() != 0 + + @property + def has_gzip_support(self): + return self.lib.lammps_config_has_gzip_support() != 0 + + @property + def has_png_support(self): + return self.lib.lammps_config_has_png_support() != 0 + + @property + def has_jpeg_support(self): + return self.lib.lammps_config_has_jpeg_support() != 0 + + @property + def has_ffmpeg_support(self): + return self.lib.lammps_config_has_ffmpeg_support() != 0 + + @property + def installed_packages(self): + if self._installed_packages is None: + self._installed_packages = [] + npackages = self.lib.lammps_config_package_count() + sb = create_string_buffer(100) + for idx in range(npackages): + self.lib.lammps_config_package_name(idx, sb, 100) + self._installed_packages.append(sb.value.decode()) + return self._installed_packages # ------------------------------------------------------------------------- # ------------------------------------------------------------------------- diff --git a/src/info.cpp b/src/info.cpp index 7b2165bf70..748354e878 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -1190,6 +1190,15 @@ bool Info::has_exceptions() { #endif } +bool Info::has_package(const char * package_name) { + for(int i = 0; LAMMPS::installed_packages[i] != NULL; ++i) { + if(strcmp(package_name, LAMMPS::installed_packages[i]) == 0) { + return true; + } + } + return false; +} + /* ---------------------------------------------------------------------- */ char **Info::get_variable_names(int &num) { diff --git a/src/info.h b/src/info.h index 7d267f6242..058400df78 100644 --- a/src/info.h +++ b/src/info.h @@ -38,6 +38,7 @@ class Info : protected Pointers { static bool has_jpeg_support(); static bool has_ffmpeg_support(); static bool has_exceptions(); + static bool has_package(const char * package_name); char **get_variable_names(int &num); diff --git a/src/library.cpp b/src/library.cpp index 0162c560ce..13e0756866 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -38,6 +38,7 @@ #include "memory.h" #include "error.h" #include "force.h" +#include "info.h" using namespace LAMMPS_NS; @@ -1522,6 +1523,56 @@ void lammps_create_atoms(void *ptr, int n, tagint *id, int *type, END_CAPTURE } +// ---------------------------------------------------------------------- +// library API functions for accessing LAMMPS configuration +// ---------------------------------------------------------------------- + +int lammps_config_has_package(char * package_name) { + return Info::has_package(package_name); +} + +int lammps_config_package_count() { + int i = 0; + while(LAMMPS::installed_packages[i] != NULL) { + ++i; + } + return i; +} + +int lammps_config_package_name(int index, char * buffer, int max_size) { + int i = 0; + while(LAMMPS::installed_packages[i] != NULL && i < index) { + ++i; + } + + if(LAMMPS::installed_packages[i] != NULL) { + strncpy(buffer, LAMMPS::installed_packages[i], max_size); + return true; + } + + return false; +} + +int lammps_config_has_gzip_support() { + return Info::has_gzip_support(); +} + +int lammps_config_has_png_support() { + return Info::has_png_support(); +} + +int lammps_config_has_jpeg_support() { + return Info::has_jpeg_support(); +} + +int lammps_config_has_ffmpeg_support() { + return Info::has_ffmpeg_support(); +} + +int lammps_config_has_exceptions() { + return Info::has_exceptions(); +} + // ---------------------------------------------------------------------- // library API functions for error handling // ---------------------------------------------------------------------- diff --git a/src/library.h b/src/library.h index 7c21b98dae..82071f673b 100644 --- a/src/library.h +++ b/src/library.h @@ -55,6 +55,15 @@ void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *); void lammps_scatter_atoms(void *, char *, int, int, void *); void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *); +int lammps_config_has_package(char * package_name); +int lammps_config_package_count(); +int lammps_config_package_name(int index, char * buffer, int max_size); +int lammps_config_has_gzip_support(); +int lammps_config_has_png_support(); +int lammps_config_has_jpeg_support(); +int lammps_config_has_ffmpeg_support(); +int lammps_config_has_exceptions(); + // lammps_create_atoms() takes tagint and imageint as args // ifdef insures they are compatible with rest of LAMMPS // caller must match to how LAMMPS library is built -- GitLab From f36e1a2cdc6e2d297ccbfc65dc2a1c78060fe1bb Mon Sep 17 00:00:00 2001 From: PabloPiaggi Date: Tue, 26 Jun 2018 13:06:04 +0200 Subject: [PATCH 190/675] Changed default deltabin from 2 to 3 --- examples/USER/misc/entropy/log.entropy | 20 ++++++++++---------- src/USER-MISC/compute_entropy_atom.cpp | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/USER/misc/entropy/log.entropy b/examples/USER/misc/entropy/log.entropy index bbd7061e68..c380c62a73 100644 --- a/examples/USER/misc/entropy/log.entropy +++ b/examples/USER/misc/entropy/log.entropy @@ -90,21 +90,21 @@ Step Temp E_pair E_mol TotEng Press Volume 0 346.29871 -4285.222 0 -4101.9191 594.65353 165399.75 500 359.33758 -4285.247 0 -4095.0423 471.98587 165847.18 1000 348.99659 -4276.2274 0 -4091.4964 149.27188 166966.18 -Loop time of 5.36291 on 4 procs for 1000 steps with 4096 atoms +Loop time of 5.3437 on 4 procs for 1000 steps with 4096 atoms -Performance: 32.221 ns/day, 0.745 hours/ns, 186.466 timesteps/s -99.9% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 32.337 ns/day, 0.742 hours/ns, 187.136 timesteps/s +99.8% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.1944 | 4.2946 | 4.437 | 4.5 | 80.08 -Bond | 0.0002267 | 0.00025637 | 0.00029458 | 0.0 | 0.00 -Neigh | 0.43028 | 0.43502 | 0.44292 | 0.7 | 8.11 -Comm | 0.053663 | 0.20256 | 0.30119 | 21.2 | 3.78 -Output | 0.34876 | 0.34877 | 0.34878 | 0.0 | 6.50 -Modify | 0.066335 | 0.067822 | 0.069094 | 0.4 | 1.26 -Other | | 0.01392 | | | 0.26 +Pair | 4.2832 | 4.3257 | 4.3839 | 1.8 | 80.95 +Bond | 0.00018309 | 0.00019825 | 0.00021418 | 0.0 | 0.00 +Neigh | 0.42195 | 0.42512 | 0.42739 | 0.3 | 7.96 +Comm | 0.051679 | 0.1101 | 0.14916 | 10.8 | 2.06 +Output | 0.40909 | 0.4091 | 0.40911 | 0.0 | 7.66 +Modify | 0.060869 | 0.061921 | 0.06327 | 0.4 | 1.16 +Other | | 0.01161 | | | 0.22 Nlocal: 1024 ave 1040 max 1001 min Histogram: 1 0 0 0 0 0 2 0 0 1 diff --git a/src/USER-MISC/compute_entropy_atom.cpp b/src/USER-MISC/compute_entropy_atom.cpp index fe2947ed61..a2e6765c83 100644 --- a/src/USER-MISC/compute_entropy_atom.cpp +++ b/src/USER-MISC/compute_entropy_atom.cpp @@ -101,8 +101,8 @@ ComputeEntropyAtom(LAMMPS *lmp, int narg, char **arg) : maxneigh = 0; // Number of bins above and below the central one that will be // considered as affected by the gaussian kernel - // 2 seems a good compromise between speed and good mollification - deltabin = 2; + // 3 seems a good compromise between speed and good mollification + deltabin = 3; deltar = sigma; peratom_flag = 1; size_peratom_cols = 0; -- GitLab From b0126dd9d6a0cbd66f6cc1ae4e499af206497ab2 Mon Sep 17 00:00:00 2001 From: oywg11 Date: Tue, 26 Jun 2018 16:09:42 +0300 Subject: [PATCH 191/675] updata potential file CH.KC --- potentials/CH.KC | 1 + 1 file changed, 1 insertion(+) diff --git a/potentials/CH.KC b/potentials/CH.KC index 2005472395..d2fe543cf8 100644 --- a/potentials/CH.KC +++ b/potentials/CH.KC @@ -6,3 +6,4 @@ C C 3.328819 21.847167 12.060173 4.711099 6.678908e-4 0.7718101 3.143921 12.660270 1.0 2.0 C H 3.156492 37.400478 8.3910462e-3 55.06177 5.176215e-5 0.4437309 2.508847 11.479055 1.0 1.5 H H 2.218816 4.5283006e-5 4.8685736e-5 2.027741 1.193945 0.8968523 0.238105 9.2194017e-5 1.0 1.2 +H C 3.156492 37.400478 8.3910462e-3 55.06177 5.176215e-5 0.4437309 2.508847 11.479055 1.0 2.2 -- GitLab From e4dd6dec404e348cc0369ca3ca90ad20a51d2117 Mon Sep 17 00:00:00 2001 From: oywg11 Date: Tue, 26 Jun 2018 16:36:16 +0300 Subject: [PATCH 192/675] Refine the documentation --- doc/src/pair_ilp_graphene_hbn.txt | 8 ++++---- doc/src/pair_kolmogorov_crespi_full.txt | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/src/pair_ilp_graphene_hbn.txt b/doc/src/pair_ilp_graphene_hbn.txt index 127b8e9103..242ab4255a 100644 --- a/doc/src/pair_ilp_graphene_hbn.txt +++ b/doc/src/pair_ilp_graphene_hbn.txt @@ -61,11 +61,11 @@ NOTE: The parameters presented in the parameter file (e.g. BNCH.ILP), are fitted with taper function by setting the cutoff equal to 16.0 Angstrom. Using different cutoff or taper function should be careful. -NOTE: Two new sets of parameters of ILP for two-dimensional hexagonal Materials are presented in "(Ouyang)"_#Ouyang. +NOTE: Two new sets of parameters of ILP for two-dimensional hexagonal Materials are presented in "(Ouyang)"_#Ouyang1. These parameters provide a good description in both short- and long-range interaction regime. While the old ILP parameters published in "(Leven)"_#Leven and "(Maaravi)"_#Maaravi2 are only suitable for long-range interaction regime. -This feature is essential for simulations in high pressure regime (i.e., interlayer distance smaller than the equilibrium distance). -The benchmark tests and comparison of these parameters can be found in "(Ouyang)"_#Ouyang. +This feature is essential for simulations in high-pressure regime (i.e., interlayer distance smaller than the equilibrium distance). +The benchmark tests and comparison of these parameters can be found in "(Ouyang)"_#Ouyang1. This potential must be used in combination with hybrid/overlay. Other interactions can be set to zero using pair_style {none}. @@ -119,5 +119,5 @@ units, if your simulation does not use {metal} units. :link(Kolmogorov2) [(Kolmogorov)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005) -:link(Ouyang) +:link(Ouyang1) [(Ouyang)] W. Ouyang, D. Mandelli, M. Urbakh, O. Hod, arXiv:1806.09555 (2018). diff --git a/doc/src/pair_kolmogorov_crespi_full.txt b/doc/src/pair_kolmogorov_crespi_full.txt index 10bb8a5224..e03e690bca 100644 --- a/doc/src/pair_kolmogorov_crespi_full.txt +++ b/doc/src/pair_kolmogorov_crespi_full.txt @@ -51,11 +51,11 @@ and {rcut} are included in the parameter file. {S} is designed to facilitate scaling of energies. {rcut} is designed to build the neighbor list for calculating the normals for each atom pair. -NOTE: A new set of parameters of KC potential for hydrocarbons (CH.KC) is presented in "(Ouyang)"_#Ouyang. +NOTE: A new set of parameters of KC potential for hydrocarbons (CH.KC) is presented in "(Ouyang)"_#Ouyang2. The parameters in CH.KC provides a good description in both short- and long-range interaction regime. While the original parameters (CC.KC) published in "(Kolmogorov)"_#Kolmogorov1 are only suitable for long-range interaction regime. -This feature is essential for simulations in high pressure regime (i.e., interlayer distance smaller than the equilibrium distance). -The benchmark tests and comparison of these parameters can be found in "(Ouyang)"_#Ouyang. +This feature is essential for simulations in high-pressure regime (i.e., interlayer distance smaller than the equilibrium distance). +The benchmark tests and comparison of these parameters can be found in "(Ouyang)"_#Ouyang2. This potential must be used in combination with hybrid/overlay. Other interactions can be set to zero using pair_style {none}. @@ -102,5 +102,5 @@ units. :link(Kolmogorov1) [(Kolmogorov)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005) -:link(Ouyang) +:link(Ouyang2) [(Ouyang)] W. Ouyang, D. Mandelli, M. Urbakh, O. Hod, arXiv:1806.09555 (2018). -- GitLab From e2622f0230a840ec89330c10fbe9c0acc0f86c53 Mon Sep 17 00:00:00 2001 From: oywg11 Date: Tue, 26 Jun 2018 17:27:55 +0300 Subject: [PATCH 193/675] Remap the paragraph --- doc/src/pair_ilp_graphene_hbn.txt | 10 ++++++---- doc/src/pair_kolmogorov_crespi_full.txt | 11 +++++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/doc/src/pair_ilp_graphene_hbn.txt b/doc/src/pair_ilp_graphene_hbn.txt index 242ab4255a..dbc9c458e2 100644 --- a/doc/src/pair_ilp_graphene_hbn.txt +++ b/doc/src/pair_ilp_graphene_hbn.txt @@ -61,10 +61,12 @@ NOTE: The parameters presented in the parameter file (e.g. BNCH.ILP), are fitted with taper function by setting the cutoff equal to 16.0 Angstrom. Using different cutoff or taper function should be careful. -NOTE: Two new sets of parameters of ILP for two-dimensional hexagonal Materials are presented in "(Ouyang)"_#Ouyang1. -These parameters provide a good description in both short- and long-range interaction regime. -While the old ILP parameters published in "(Leven)"_#Leven and "(Maaravi)"_#Maaravi2 are only suitable for long-range interaction regime. -This feature is essential for simulations in high-pressure regime (i.e., interlayer distance smaller than the equilibrium distance). +NOTE: Two new sets of parameters of ILP for two-dimensional hexagonal Materials +are presented in "(Ouyang)"_#Ouyang1. These parameters provide a good description +in both short- and long-range interaction regime, while the old ILP parameters +published in "(Leven)"_#Leven and "(Maaravi)"_#Maaravi2 are only suitable for +long-range interaction regime. This feature is essential for simulations in +high-pressure regime (i.e., the interlayer distance smaller than the equilibrium distance). The benchmark tests and comparison of these parameters can be found in "(Ouyang)"_#Ouyang1. This potential must be used in combination with hybrid/overlay. diff --git a/doc/src/pair_kolmogorov_crespi_full.txt b/doc/src/pair_kolmogorov_crespi_full.txt index e03e690bca..a16d123b89 100644 --- a/doc/src/pair_kolmogorov_crespi_full.txt +++ b/doc/src/pair_kolmogorov_crespi_full.txt @@ -51,10 +51,13 @@ and {rcut} are included in the parameter file. {S} is designed to facilitate scaling of energies. {rcut} is designed to build the neighbor list for calculating the normals for each atom pair. -NOTE: A new set of parameters of KC potential for hydrocarbons (CH.KC) is presented in "(Ouyang)"_#Ouyang2. -The parameters in CH.KC provides a good description in both short- and long-range interaction regime. -While the original parameters (CC.KC) published in "(Kolmogorov)"_#Kolmogorov1 are only suitable for long-range interaction regime. -This feature is essential for simulations in high-pressure regime (i.e., interlayer distance smaller than the equilibrium distance). +NOTE: A new set of parameters of KC potential for hydrocarbons (CH.KC) +is presented in "(Ouyang)"_#Ouyang2. The parameters in CH.KC provides +a good description in both short- and long-range interaction regime, +while the original parameters (CC.KC) published in "(Kolmogorov)"_#Kolmogorov1 +are only suitable for long-range interaction regime. +This feature is essential for simulations in high-pressure regime +(i.e., the interlayer distance smaller than the equilibrium distance). The benchmark tests and comparison of these parameters can be found in "(Ouyang)"_#Ouyang2. This potential must be used in combination with hybrid/overlay. -- GitLab From ebe622ff7d7a2ba4ee46c07b96b5ba6d48d52d24 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Tue, 26 Jun 2018 09:35:38 -0600 Subject: [PATCH 194/675] make edge atoms optional --- src/USER-MISC/fix_bond_react.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/USER-MISC/fix_bond_react.cpp b/src/USER-MISC/fix_bond_react.cpp index fb56945fd3..09f97be7c4 100644 --- a/src/USER-MISC/fix_bond_react.cpp +++ b/src/USER-MISC/fix_bond_react.cpp @@ -264,6 +264,9 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : memory->create(edge,max_natoms,nreacts,"bond/react:edge"); memory->create(landlocked_atoms,max_natoms,nreacts,"bond/react:landlocked_atoms"); + for (int j = 0; j < nreacts; j++) + for (int i = 0; i < onemol->natoms; i++) edge[i][j] = 0; + // read all superimpose files afterward for (int i = 0; i < nreacts; i++) { open(files[i]); @@ -2445,7 +2448,6 @@ void FixBondReact::read(int myrxn) sscanf(line,"%d",&jbonding[myrxn]); } else if (strcmp(keyword,"EdgeIDs") == 0) { edgeflag = 1; - for (int i = 0; i < onemol->natoms; i++) edge[i][myrxn] = 0; EdgeIDs(line, myrxn); } else if (strcmp(keyword,"Equivalences") == 0) { equivflag = 1; @@ -2457,8 +2459,8 @@ void FixBondReact::read(int myrxn) } // error check - if (bondflag == 0 || equivflag == 0 || edgeflag == 0) - error->all(FLERR,"Superimpose file missing BondingIDs, EdgeIDs, or Equivalences section\n"); + if (bondflag == 0 || equivflag == 0) + error->all(FLERR,"Superimpose file missing BondingIDs or Equivalences section\n"); } void FixBondReact::EdgeIDs(char *line, int myrxn) -- GitLab From f33a2c982c2005468f44c5f834aa8babf8bb885a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 26 Jun 2018 16:01:54 -0400 Subject: [PATCH 195/675] remove redundant potential files --- .../cobalt_hcp/Co_PurjaPun_2012.eam.alloy | 6006 ----------------- .../read_restart/Co_PurjaPun_2012.eam.alloy | 6006 ----------------- 2 files changed, 12012 deletions(-) delete mode 100644 examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy delete mode 100644 examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy diff --git a/examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy deleted file mode 100644 index 3af058baf7..0000000000 --- a/examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy +++ /dev/null @@ -1,6006 +0,0 @@ -Cobalt EAM potential: G. P. Purja Pun and Y. Mishin, Phys. Rev. B xx, 004100 (2012) (in press) -Data below r = 1.5 A is extrapolated. F(Rho) data not extrapolated. -Created on Wed Sep 26 17:29:54 2012 -1 Co -10000 4.788742913000000e-04 10000 6.499539000000001e-04 6.499539000000000e+00 -27 5.893320000000000e+01 2.507000000000000e+00 hcp - -1.680303080000000e-02 -1.879913964471138e-02 -2.091739081044659e-02 -2.303564197615629e-02 -2.503175082079116e-02 - -2.681996612041136e-02 -2.846010103933253e-02 -3.003179469400266e-02 -3.154842562124295e-02 -3.300931506782415e-02 - -3.442381570000001e-02 -3.580233366714632e-02 -3.714945763166951e-02 -3.846832763111274e-02 -3.976210669053554e-02 - -4.103374908125148e-02 -4.228535107207521e-02 -4.351872320172212e-02 -4.473539109100971e-02 -4.593674531110434e-02 - -4.712392115246503e-02 -4.829795108118731e-02 -4.945971154662068e-02 -5.061001094949964e-02 -5.174954151284258e-02 - -5.287894548568519e-02 -5.399878139884967e-02 -5.510957102742049e-02 -5.621177284174523e-02 -5.730581735016625e-02 - -5.839208651773948e-02 -5.947094067448531e-02 -6.054270215356945e-02 -6.160767623453070e-02 -6.266613797925552e-02 - -6.371834880435967e-02 -6.476454576302854e-02 -6.580495483863194e-02 -6.683978209870683e-02 -6.786922452279202e-02 - -6.889346265426707e-02 -6.991266949659354e-02 -7.092700432972064e-02 -7.193662011890395e-02 -7.294165829413661e-02 - -7.394225494811188e-02 -7.493853635958479e-02 -7.593062425993033e-02 -7.691863200494162e-02 -7.790266905197404e-02 - -7.888283764021425e-02 -7.985923664258643e-02 -8.083195868513401e-02 -8.180109346997461e-02 -8.276672525040257e-02 - -8.372893572415932e-02 -8.468780181559693e-02 -8.564339820511864e-02 -8.659579537072190e-02 -8.754506181558984e-02 - -8.849126234605453e-02 -8.943446001410092e-02 -9.037471455117625e-02 -9.131208412841478e-02 -9.224662399623559e-02 - -9.317838801321032e-02 -9.410742739123597e-02 -9.503379209498646e-02 -9.595752974691800e-02 -9.687868684755546e-02 - -9.779730775191570e-02 -9.871343580120046e-02 -9.962711242685958e-02 -1.005383781439554e-01 -1.014472717117523e-01 - -1.023538310651938e-01 -1.032580925977369e-01 -1.041600919387366e-01 -1.050598632026273e-01 -1.059574398208095e-01 - -1.068528540074704e-01 -1.077461373458066e-01 -1.086373201122683e-01 -1.095264320028559e-01 -1.104135016985198e-01 - -1.112985573626335e-01 -1.121816261033156e-01 -1.130627345294291e-01 -1.139419083080692e-01 -1.148191726662944e-01 - -1.156945520127823e-01 -1.165680703406650e-01 -1.174397507992727e-01 -1.183096161572101e-01 -1.191776885039839e-01 - -1.200439895800373e-01 -1.209085404086571e-01 -1.217713616730546e-01 -1.226324734132936e-01 -1.234918953788508e-01 - -1.243496468000000e-01 -1.252057466264230e-01 -1.260602132046348e-01 -1.269130646065986e-01 -1.277643184092350e-01 - -1.286139919512837e-01 -1.294621021138015e-01 -1.303086655551642e-01 -1.311536985007052e-01 -1.319972169590798e-01 - -1.328392365052704e-01 -1.336797725161469e-01 -1.345188400098036e-01 -1.353564538215464e-01 -1.361926284143060e-01 - -1.370273780803152e-01 -1.378607168013910e-01 -1.386926583917836e-01 -1.395232163058920e-01 -1.403524038515728e-01 - -1.411802341103638e-01 -1.420067200256853e-01 -1.428318742148069e-01 -1.436557091565456e-01 -1.444782371020595e-01 - -1.452994701862315e-01 -1.461194203065015e-01 -1.469380992388567e-01 -1.477555185109162e-01 -1.485716895480879e-01 - -1.493866236153044e-01 -1.502003318703277e-01 -1.510128252027127e-01 -1.518241144121522e-01 -1.526342102070998e-01 - -1.534431232126203e-01 -1.542508638114616e-01 -1.550574422930448e-01 -1.558628688157988e-01 -1.566671534698807e-01 - -1.574703062033520e-01 -1.582723368973844e-01 -1.590732553076882e-01 -1.598730711132973e-01 -1.606717938120008e-01 - -1.614694328459875e-01 -1.622659976162905e-01 -1.630614974730487e-01 -1.638559416039789e-01 -1.646493391351259e-01 - -1.654416991082678e-01 -1.662330305252601e-01 -1.670233423125346e-01 -1.678126433512354e-01 -1.686009424167802e-01 - -1.693882482431861e-01 -1.701745695045948e-01 -1.709599148401449e-01 -1.717442928088396e-01 -1.725277119385885e-01 - -1.733101807130639e-01 -1.740917075837066e-01 -1.748723009172683e-01 -1.756519690655456e-01 -1.764307204052008e-01 - -1.772085632840185e-01 -1.779855059094047e-01 -1.787615564692287e-01 -1.795367232135896e-01 -1.803110143830451e-01 - -1.810844381177561e-01 -1.818570025406103e-01 -1.826287158057983e-01 -1.833995860626770e-01 -1.841696214099643e-01 - -1.849388299454831e-01 -1.857072198141128e-01 -1.864747991526175e-01 -1.872415760182443e-01 -1.880075584641173e-01 - -1.887727546063884e-01 -1.895371725773110e-01 -1.903008205105196e-01 -1.910637065418589e-01 -1.918258388146347e-01 - -1.925872254807121e-01 -1.933478747187342e-01 -1.941077947209150e-01 -1.948669937069724e-01 -1.956254799127480e-01 - -1.963832616110719e-01 -1.971403470967068e-01 -1.978967447151567e-01 -1.986524628291068e-01 -1.994075098192274e-01 - -2.001618941005484e-01 -2.009156242075518e-01 -2.016687086990372e-01 -2.024211561116226e-01 -2.031729750127928e-01 - -2.039241741156804e-01 -2.046747621691974e-01 -2.054247479197256e-01 -2.061741401521784e-01 -2.069229478081280e-01 - -2.076711798806499e-01 -2.084188454121736e-01 -2.091659534755806e-01 -2.099125132162076e-01 -2.106585338443872e-01 - -2.114040247579823e-01 -2.121489953974893e-01 -2.128934551864067e-01 -2.136374136027109e-01 -2.143808803592873e-01 - -2.151238652468154e-01 -2.158663781322411e-01 -2.166084289346303e-01 -2.173500277052638e-01 -2.180911845646947e-01 - -2.188319097783510e-01 -2.195722136949507e-01 -2.203121068514981e-01 -2.210515998518519e-01 -2.217907033790026e-01 - -2.225294282016381e-01 -2.232677853521022e-01 -2.240057859531163e-01 -2.247434412252567e-01 -2.254807624804862e-01 - -2.262177612984613e-01 -2.269544493586047e-01 -2.276908384717110e-01 -2.284269405581227e-01 -2.291627678450005e-01 - -2.298983326532392e-01 -2.306336473718499e-01 -2.313687245044682e-01 -2.321035769451089e-01 -2.328382177230701e-01 - -2.335726600184018e-01 -2.343069171312917e-01 -2.350410026917230e-01 -2.357749304696442e-01 -2.365087144650665e-01 - -2.372423688046511e-01 -2.379759078915950e-01 -2.387093462817347e-01 -2.394426988649284e-01 -2.401759806938325e-01 - -2.409092071382775e-01 -2.416423937275558e-01 -2.423755563116356e-01 -2.431087109081851e-01 -2.438418738849959e-01 - -2.445750618045980e-01 -2.453082916583512e-01 -2.460415806101058e-01 -2.467749460848467e-01 -2.475084057095742e-01 - -2.482419776582159e-01 -2.489756803241430e-01 -2.497095324315720e-01 -2.504435529132133e-01 -2.511777612049070e-01 - -2.519121769824342e-01 -2.526468203782122e-01 -2.533817117688987e-01 -2.541168720514789e-01 -2.548523223627430e-01 - -2.555880842783758e-01 -2.563241796571988e-01 -2.570606310516858e-01 -2.577974612919421e-01 -2.585346936249472e-01 - -2.592723515924181e-01 -2.600104594981498e-01 -2.607490419576605e-01 -2.614881240712832e-01 -2.622277312727207e-01 - -2.629678898443362e-01 -2.637086264051527e-01 -2.644499680721714e-01 -2.651919423187013e-01 -2.659345775453039e-01 - -2.666779025531186e-01 -2.674219468183432e-01 -2.681667401972407e-01 -2.689123133912765e-01 -2.696586975492495e-01 - -2.704059247640904e-01 -2.711540275538941e-01 -2.719030391932789e-01 -2.726529934197978e-01 -2.734039250662187e-01 - -2.741558694758598e-01 -2.749088629390239e-01 -2.756629422674556e-01 -2.764181454116789e-01 -2.771745108563868e-01 - -2.779320780841674e-01 -2.786908871694924e-01 -2.794509795564719e-01 -2.802123972949423e-01 -2.809751834880072e-01 - -2.817393818716988e-01 -2.825050376604960e-01 -2.832721967688652e-01 -2.840409064327807e-01 -2.848112145951165e-01 - -2.855831707048412e-01 -2.863568249759762e-01 -2.871322291766564e-01 -2.879094358829076e-01 -2.886884993482028e-01 - -2.894694746623641e-01 -2.902524185831628e-01 -2.910373887617654e-01 -2.918244447549689e-01 -2.926136470970381e-01 - -2.934050583264800e-01 -2.941987419693519e-01 -2.949947634976693e-01 -2.957931894604184e-01 -2.965940887685082e-01 - -2.973975314584912e-01 -2.982035897075678e-01 -2.990123368838905e-01 -2.998238489787670e-01 -3.006382032814213e-01 - -3.014554796495834e-01 -3.022757592753754e-01 -3.030991261199829e-01 -3.039256655881672e-01 -3.047554660899296e-01 - -3.055886175640754e-01 -3.064252130593845e-01 -3.072653472379187e-01 -3.081091181048918e-01 -3.089566254021406e-01 - -3.098079724748395e-01 -3.106632645082006e-01 -3.115226104442510e-01 -3.123861211846884e-01 -3.132539117130802e-01 - -3.141260990998875e-01 -3.150028046812773e-01 -3.158841520361693e-01 -3.167702694487885e-01 -3.176612875689104e-01 - -3.185573418032087e-01 -3.194585700942650e-01 -3.203651157713922e-01 -3.212771249044592e-01 -3.221947491388281e-01 - -3.231181430183639e-01 -3.240474671054514e-01 -3.249828850672117e-01 -3.259245669711927e-01 -3.268726862299913e-01 - -3.278274232359761e-01 -3.287889619469540e-01 -3.297574936027157e-01 -3.307332132733838e-01 -3.317163240684192e-01 - -3.327070332351553e-01 -3.337055565330767e-01 -3.347121141277095e-01 -3.357269352965953e-01 -3.367502540927247e-01 - -3.377823145588749e-01 -3.388233658450175e-01 -3.398736675401181e-01 -3.409334847493447e-01 -3.420030942036733e-01 - -3.430827786115977e-01 -3.441728329658748e-01 -3.452735586625544e-01 -3.463852704265985e-01 -3.475082899277179e-01 - -3.486429532857090e-01 -3.497896041380748e-01 -3.509486017430585e-01 -3.521203134619261e-01 -3.533051234472958e-01 - -3.545034246605078e-01 -3.557156285064298e-01 -3.569421559513399e-01 -3.581834477636310e-01 -3.594399550688090e-01 - -3.607121506187135e-01 -3.620005184199024e-01 -3.633055658714727e-01 -3.646278119965309e-01 -3.659677989216845e-01 - -3.673260803339768e-01 -3.687032330586966e-01 -3.700998457090232e-01 -3.715165309114429e-01 -3.729539131544640e-01 - -3.744126403613781e-01 -3.758933720658462e-01 -3.773967908082255e-01 -3.789235902651524e-01 -3.804744856516886e-01 - -3.820502023195389e-01 -3.836514846285581e-01 -3.852790856353807e-01 -3.869337741756033e-01 -3.886163256972291e-01 - -3.903275263189269e-01 -3.920681658458204e-01 -3.938390381581898e-01 -3.956409370872805e-01 -3.974746521930466e-01 - -3.993409682701225e-01 -4.012406553231547e-01 -4.031744727439548e-01 -4.051431522629808e-01 -4.071474082130475e-01 - -4.091879129977703e-01 -4.112653138348391e-01 -4.133801991274390e-01 -4.155331235094092e-01 -4.177245653517079e-01 - -4.199549603385881e-01 -4.222246496703586e-01 -4.245339230260172e-01 -4.268829584832519e-01 -4.292718744431503e-01 - -4.317006622016948e-01 -4.341692468068394e-01 -4.366774154195978e-01 -4.392248845800756e-01 -4.418112262316757e-01 - -4.444359401252420e-01 -4.470983818380713e-01 -4.497978365893122e-01 -4.525334523390530e-01 -4.553043120100788e-01 - -4.581093756350076e-01 -4.609475466791835e-01 -4.638176252290113e-01 -4.667183660407072e-01 -4.696484459287199e-01 - -4.726065094563343e-01 -4.755911501239359e-01 -4.786009429283761e-01 -4.816344399152602e-01 -4.846901882843556e-01 - -4.877667388033212e-01 -4.908626497957108e-01 -4.939765062407663e-01 -4.971069114027755e-01 -5.002525150305011e-01 - -5.034119937007041e-01 -5.065840848176727e-01 -5.097675587133593e-01 -5.129612566028576e-01 -5.161640565945169e-01 - -5.193749134865747e-01 -5.225928209640586e-01 -5.258168515692775e-01 -5.290461169135583e-01 -5.322798060270272e-01 - -5.355171460831645e-01 -5.387574394100244e-01 -5.420000245805213e-01 -5.452443099924439e-01 -5.484897376520451e-01 - -5.517358141745681e-01 -5.549820769247875e-01 -5.582281216566209e-01 -5.614735718423751e-01 -5.647181034387753e-01 - -5.679614169890416e-01 -5.712032588979591e-01 -5.744433972991336e-01 -5.776816413798681e-01 -5.809178193507762e-01 - -5.841517944620215e-01 -5.873834463985003e-01 -5.906126855444893e-01 -5.938394364748391e-01 -5.970636498273136e-01 - -6.002852884426439e-01 -6.035043379105128e-01 -6.067207941645156e-01 -6.099346717649501e-01 -6.131459940881434e-01 - -6.163548011478311e-01 -6.195611404873568e-01 -6.227650731310865e-01 -6.259666663617727e-01 -6.291659990146931e-01 - -6.323631552654742e-01 -6.355582290986170e-01 -6.387513188871106e-01 -6.419425307490256e-01 -6.451319745539882e-01 - -6.483197674327603e-01 -6.515060293214946e-01 -6.546908841167685e-01 -6.578744572836812e-01 -6.610568766009968e-01 - -6.642382709221243e-01 -6.674187710853904e-01 -6.705985088370179e-01 -6.737776175698923e-01 -6.769562312911304e-01 - -6.801344848181089e-01 -6.833125134999645e-01 -6.864904540026142e-01 -6.896684434132225e-01 -6.928466191871651e-01 - -6.960251190039876e-01 -6.992040810717012e-01 -7.023836437724149e-01 -7.055639456561626e-01 -7.087451254024176e-01 - -7.119273220404884e-01 -7.151106745784721e-01 -7.182953215897911e-01 -7.214814016245582e-01 -7.246690535743215e-01 - -7.278584163200112e-01 -7.310496283586513e-01 -7.342428280442573e-01 -7.374381535427195e-01 -7.406357429444993e-01 - -7.438357342264661e-01 -7.470382651689156e-01 -7.502434728794412e-01 -7.534514943101106e-01 -7.566624664635970e-01 - -7.598765262236051e-01 -7.630938099473661e-01 -7.663144537782537e-01 -7.695385935306881e-01 -7.727663648349232e-01 - -7.759979029135046e-01 -7.792333428394971e-01 -7.824728194957561e-01 -7.857164675195603e-01 -7.889644207560909e-01 - -7.922168128628783e-01 -7.954737775389469e-01 -7.987354483417761e-01 -8.020019582211745e-01 -8.052734399002169e-01 - -8.085500258027153e-01 -8.118318481538471e-01 -8.151190386835121e-01 -8.184117289678831e-01 -8.217100504635063e-01 - -8.250141343769457e-01 -8.283241110344656e-01 -8.316401105683494e-01 -8.349622632152548e-01 -8.382906990624389e-01 - -8.416255474951805e-01 -8.449669376504778e-01 -8.483149983741850e-01 -8.516698583310095e-01 -8.550316457522134e-01 - -8.584004886419279e-01 -8.617765145292081e-01 -8.651598508088844e-01 -8.685506248139727e-01 -8.719489622521989e-01 - -8.753549823919468e-01 -8.787687997490927e-01 -8.821905162688262e-01 -8.856202278084699e-01 -8.890580184445617e-01 - -8.925039663319011e-01 -8.959581377191167e-01 -8.994205926453692e-01 -9.028913782181163e-01 -9.063705352609543e-01 - -9.098580923937473e-01 -9.133540718558304e-01 -9.168584825681617e-01 -9.203713268261465e-01 -9.238925937413506e-01 - -9.274222656928153e-01 -9.309603113133150e-01 -9.345066924037853e-01 -9.380613571840678e-01 -9.416242468397124e-01 - -9.451952880001965e-01 -9.487744002152808e-01 -9.523614892719469e-01 -9.559564538973973e-01 -9.595591783425093e-01 - -9.631695396882074e-01 -9.667874008119273e-01 -9.704126174878044e-01 -9.740450312802591e-01 -9.776844767743714e-01 - -9.813307748475731e-01 -9.849837394560669e-01 -9.886431705787867e-01 -9.923088615430331e-01 -9.959805930468456e-01 - -9.996581394281877e-01 -1.003341262213973e+00 -1.007029716826452e+00 -1.010723247080268e+00 -1.014421591236032e+00 - -1.018124476945841e+00 -1.021831626529500e+00 -1.025542751586175e+00 -1.029257558992056e+00 -1.032975747452084e+00 - -1.036697011770175e+00 -1.040421039317395e+00 -1.044147513860548e+00 -1.047876112182243e+00 -1.051606508161453e+00 - -1.055338371046766e+00 -1.059071368055605e+00 -1.062805162911107e+00 -1.066539417837194e+00 -1.070273792555226e+00 - -1.074007946119602e+00 -1.077741537419413e+00 -1.081474225260823e+00 -1.085205668283577e+00 -1.088935525821090e+00 - -1.092663460147868e+00 -1.096389134999202e+00 -1.100112217012435e+00 -1.103832374788097e+00 -1.107549281877421e+00 - -1.111262614364874e+00 -1.114972053517157e+00 -1.118677283811066e+00 -1.122377997381517e+00 -1.126073890115035e+00 - -1.129764665246453e+00 -1.133450029987863e+00 -1.137129700112097e+00 -1.140803395884355e+00 -1.144470846978575e+00 - -1.148131787996958e+00 -1.151785963846005e+00 -1.155433124321719e+00 -1.159073028473816e+00 -1.162705440550504e+00 - -1.166330136340245e+00 -1.169946897198408e+00 -1.173555515207745e+00 -1.177155787675114e+00 -1.180747522076412e+00 - -1.184330531453910e+00 -1.187904640946331e+00 -1.191469681045491e+00 -1.195025491559137e+00 -1.198571917630371e+00 - -1.202108816427798e+00 -1.205636050425976e+00 -1.209153491297797e+00 -1.212661015717853e+00 -1.216158511169199e+00 - -1.219645870103956e+00 -1.223122994042052e+00 -1.226589789250444e+00 -1.230046171916402e+00 -1.233492062734542e+00 - -1.236927390508550e+00 -1.240352088211073e+00 -1.243766097381527e+00 -1.247169363751694e+00 -1.250561841256042e+00 - -1.253943487695246e+00 -1.257314268132119e+00 -1.260674151007197e+00 -1.264023111009775e+00 -1.267361126327042e+00 - -1.270688182889021e+00 -1.274004269717549e+00 -1.277309380458899e+00 -1.280603511471348e+00 -1.283886665336751e+00 - -1.287158847447705e+00 -1.290420068216200e+00 -1.293670340397085e+00 -1.296909681097245e+00 -1.300138109654688e+00 - -1.303355649979877e+00 -1.306562327924205e+00 -1.309758172530325e+00 -1.312943214678930e+00 -1.316117489411603e+00 - -1.319281033477409e+00 -1.322433886294459e+00 -1.325576088655014e+00 -1.328707684178879e+00 -1.331828717822939e+00 - -1.334939237064845e+00 -1.338039290534788e+00 -1.341128928952336e+00 -1.344208204044806e+00 -1.347277169481128e+00 - -1.350335879836220e+00 -1.353384391367341e+00 -1.356422761075585e+00 -1.359451047255056e+00 -1.362469308854003e+00 - -1.365477606144248e+00 -1.368475999956682e+00 -1.371464552034891e+00 -1.374443324607048e+00 -1.377412380926959e+00 - -1.380371784452904e+00 -1.383321598435415e+00 -1.386261886043311e+00 -1.389192710326296e+00 -1.392114134331963e+00 - -1.395026221218571e+00 -1.397929034013782e+00 -1.400822635112213e+00 -1.403707086730599e+00 -1.406582451007194e+00 - -1.409448790047375e+00 -1.412306165903488e+00 -1.415154640386279e+00 -1.417994274393129e+00 -1.420825128672226e+00 - -1.423647264288326e+00 -1.426460742270041e+00 -1.429265623184807e+00 -1.432061967292326e+00 -1.434849834082543e+00 - -1.437629282863016e+00 -1.440400372981510e+00 -1.443163163644870e+00 -1.445917713456040e+00 -1.448664080745027e+00 - -1.451402323353998e+00 -1.454132498983212e+00 -1.456854665253158e+00 -1.459568879518891e+00 -1.462275198153495e+00 - -1.464973677286479e+00 -1.467664373054985e+00 -1.470347341460922e+00 -1.473022637957602e+00 -1.475690317602213e+00 - -1.478350434416031e+00 -1.481003042251009e+00 -1.483648195317718e+00 -1.486285947650543e+00 -1.488916352220507e+00 - -1.491539461636770e+00 -1.494155328124374e+00 -1.496764003712290e+00 -1.499365540029296e+00 -1.501959988475343e+00 - -1.504547399935251e+00 -1.507127824972320e+00 -1.509701313378898e+00 -1.512267914702716e+00 -1.514827678283996e+00 - -1.517380653263305e+00 -1.519926888190102e+00 -1.522466431291609e+00 -1.524999330097196e+00 -1.527525631932397e+00 - -1.530045384005255e+00 -1.532558633226744e+00 -1.535065425437065e+00 -1.537565806237489e+00 -1.540059821344337e+00 - -1.542547516227056e+00 -1.545028935252552e+00 -1.547504122520188e+00 -1.549973122161691e+00 -1.552435978060152e+00 - -1.554892733071735e+00 -1.557343429814709e+00 -1.559788110982664e+00 -1.562226819032855e+00 -1.564659595401864e+00 - -1.567086481207361e+00 -1.569507517312065e+00 -1.571922744465970e+00 -1.574332203223133e+00 -1.576735933784567e+00 - -1.579133975135047e+00 -1.581526366095511e+00 -1.583913146047792e+00 -1.586294354132112e+00 -1.588670027961349e+00 - -1.591040204840321e+00 -1.593404922368944e+00 -1.595764217997401e+00 -1.598118128281829e+00 -1.600466689560657e+00 - -1.602809938195509e+00 -1.605147910317183e+00 -1.607480641109968e+00 -1.609808165462235e+00 -1.612130518025190e+00 - -1.614447733364541e+00 -1.616759845941160e+00 -1.619066889913862e+00 -1.621368898338053e+00 -1.623665904067572e+00 - -1.625957940253400e+00 -1.628245039905108e+00 -1.630527235169479e+00 -1.632804557955816e+00 -1.635077040086276e+00 - -1.637344713164072e+00 -1.639607608003776e+00 -1.641865755216986e+00 -1.644119185392045e+00 -1.646367929030376e+00 - -1.648612016308968e+00 -1.650851477080719e+00 -1.653086340226579e+00 -1.655316634503563e+00 -1.657542389144867e+00 - -1.659763633269537e+00 -1.661980395063818e+00 -1.664192702419508e+00 -1.666400582983419e+00 -1.668604064251645e+00 - -1.670803173362428e+00 -1.672997937236383e+00 -1.675188382281491e+00 -1.677374534802169e+00 -1.679556421201192e+00 - -1.681734067628149e+00 -1.683907499121518e+00 -1.686076740528519e+00 -1.688241817042459e+00 -1.690402753749855e+00 - -1.692559574964003e+00 -1.694712304797627e+00 -1.696860967334408e+00 -1.699005586454806e+00 -1.701146185255449e+00 - -1.703282786721620e+00 -1.705415414177082e+00 -1.707544090831449e+00 -1.709668839099297e+00 -1.711789681156861e+00 - -1.713906639022084e+00 -1.716019734585396e+00 -1.718128989385494e+00 -1.720234424849230e+00 -1.722336062307809e+00 - -1.724433922917529e+00 -1.726528027230686e+00 -1.728618395721282e+00 -1.730705049154116e+00 -1.732788008101886e+00 - -1.734867292078088e+00 -1.736942920442919e+00 -1.739014913002594e+00 -1.741083289547465e+00 -1.743148069358425e+00 - -1.745209271450225e+00 -1.747266914282488e+00 -1.749321016270471e+00 -1.751371596207075e+00 -1.753418672811714e+00 - -1.755462264132180e+00 -1.757502388000569e+00 -1.759539062057792e+00 -1.761572303881055e+00 -1.763602130983907e+00 - -1.765628560778196e+00 -1.767651610332621e+00 -1.769671296580689e+00 -1.771687636258316e+00 -1.773700645994041e+00 - -1.775710342184503e+00 -1.777716741146727e+00 -1.779719859111176e+00 -1.781719712181211e+00 -1.783716316038327e+00 - -1.785709686327057e+00 -1.787699838965949e+00 -1.789686789700248e+00 -1.791670553307960e+00 -1.793651144443631e+00 - -1.795628578235185e+00 -1.797602869852874e+00 -1.799574034162875e+00 -1.801542085839167e+00 -1.803507039091021e+00 - -1.805468908052258e+00 -1.807427707019619e+00 -1.809383450209764e+00 -1.811336151356113e+00 -1.813285824110837e+00 - -1.815232482284336e+00 -1.817176139592257e+00 -1.819116809213001e+00 -1.821054504262256e+00 -1.822989238142106e+00 - -1.824921024174149e+00 -1.826849875071642e+00 -1.828775803432498e+00 -1.830698822001605e+00 -1.832618943490715e+00 - -1.834536180332052e+00 -1.836450544855570e+00 -1.838362049261658e+00 -1.840270705693083e+00 -1.842176526191684e+00 - -1.844079522732226e+00 -1.845979707122125e+00 -1.847877091069540e+00 -1.849771686052976e+00 -1.851663503515020e+00 - -1.853552554984233e+00 -1.855438851906239e+00 -1.857322405308933e+00 -1.859203226114476e+00 -1.861081325239847e+00 - -1.862956713608023e+00 -1.864829402171162e+00 -1.866699401811557e+00 -1.868566723102871e+00 -1.870431376467943e+00 - -1.872293372034969e+00 -1.874152719980291e+00 -1.876009430967454e+00 -1.877863515541558e+00 -1.879714983286677e+00 - -1.881563843740828e+00 -1.883410107218835e+00 -1.885253783963326e+00 -1.887094883151373e+00 -1.888933413891583e+00 - -1.890769386084288e+00 -1.892602809677417e+00 -1.894433694017575e+00 -1.896262048252058e+00 -1.898087881332244e+00 - -1.899911202238771e+00 -1.901732020265218e+00 -1.903550344662578e+00 -1.905366184198560e+00 -1.907179547502340e+00 - -1.908990443132265e+00 -1.910798879695625e+00 -1.912604866066330e+00 -1.914408411061036e+00 -1.916209523000752e+00 - -1.918008210058423e+00 -1.919804480310377e+00 -1.921598341888620e+00 -1.923389803244497e+00 -1.925178872754823e+00 - -1.926965558178970e+00 -1.928749867237572e+00 -1.930531808113790e+00 -1.932311388923252e+00 -1.934088617048956e+00 - -1.935863499807747e+00 -1.937636044984464e+00 -1.939406260367225e+00 -1.941174153289245e+00 -1.942939731044444e+00 - -1.944703001224463e+00 -1.946463971324967e+00 -1.948222648160018e+00 -1.949979038559213e+00 -1.951733150095908e+00 - -1.953484990331042e+00 -1.955234566032130e+00 -1.956981883796339e+00 -1.958726950332857e+00 -1.960469772453529e+00 - -1.962210357268799e+00 -1.963948711773954e+00 -1.965684842205069e+00 -1.967418754747339e+00 -1.969150456141664e+00 - -1.970879953151972e+00 -1.972607252078582e+00 -1.974332359180596e+00 -1.976055281015821e+00 -1.977776024078765e+00 - -1.979494594312026e+00 -1.981210997612849e+00 -1.982925240248993e+00 -1.984637328483028e+00 -1.986347268186276e+00 - -1.988055065135925e+00 -1.989760725123873e+00 -1.991464254028801e+00 -1.993165658061782e+00 -1.994864943305917e+00 - -1.996562115000000e+00 -1.998257178352118e+00 -1.999950139291834e+00 -2.001641003786081e+00 -2.003329777229788e+00 - -2.005016464899233e+00 -2.006701072168050e+00 -2.008383604435580e+00 -2.010064067106614e+00 -2.011742465557514e+00 - -2.013418805045480e+00 -2.015093090790721e+00 -2.016765327984645e+00 -2.018435521788566e+00 -2.020103677272243e+00 - -2.021769799450648e+00 -2.023433893211152e+00 -2.025095963440481e+00 -2.026756015150358e+00 -2.028414053372033e+00 - -2.030070083089858e+00 -2.031724109167109e+00 -2.033376136029651e+00 -2.035026168111125e+00 -2.036674210313675e+00 - -2.038320267543339e+00 -2.039964344253219e+00 -2.041606444873179e+00 -2.043246574193053e+00 -2.044884736927830e+00 - -2.046520937133174e+00 -2.048155178894251e+00 -2.049787467073582e+00 -2.051417806490505e+00 -2.053046201014273e+00 - -2.054672654449746e+00 -2.056297171294283e+00 -2.057919756136151e+00 -2.059540413234731e+00 -2.061159146675282e+00 - -2.062775960175462e+00 -2.064390857518372e+00 -2.066003843116474e+00 -2.067614921377108e+00 -2.069224096057763e+00 - -2.070831370870978e+00 -2.072436749999330e+00 -2.074040237602111e+00 -2.075641837275425e+00 -2.077241552544816e+00 - -2.078839387216755e+00 -2.080435345153352e+00 -2.082029430158359e+00 -2.083621645967183e+00 -2.085211996100236e+00 - -2.086800484128769e+00 -2.088387114042385e+00 -2.089971889736969e+00 -2.091554814315162e+00 -2.093135890870968e+00 - -2.094715123257078e+00 -2.096292515329556e+00 -2.097868070199266e+00 -2.099441790929908e+00 -2.101013681141721e+00 - -2.102583744473837e+00 -2.104151984084442e+00 -2.105718403103298e+00 -2.107283005027429e+00 -2.108845793364375e+00 - -2.110406771296459e+00 -2.111965941910842e+00 -2.113523308239219e+00 -2.115078873308544e+00 -2.116632640182243e+00 - -2.118184611994434e+00 -2.119734792125529e+00 -2.121283183887100e+00 -2.122829790069075e+00 -2.124374613416041e+00 - -2.125917657012881e+00 -2.127458923984833e+00 -2.128998417278243e+00 -2.130536139767974e+00 -2.132072094221826e+00 - -2.133606283403289e+00 -2.135138710165668e+00 -2.136669377406417e+00 -2.138198288109766e+00 -2.139725445172409e+00 - -2.141250851054121e+00 -2.142774508270670e+00 -2.144296419998729e+00 -2.145816589318136e+00 -2.147335018260493e+00 - -2.148851708859426e+00 -2.150366664204882e+00 -2.151879887475646e+00 -2.153391381149525e+00 -2.154901147551277e+00 - -2.156409189094421e+00 -2.157915508301146e+00 -2.159420108039566e+00 -2.160922991060322e+00 -2.162424159298261e+00 - -2.163923614721020e+00 -2.165421360243191e+00 -2.166917398765767e+00 -2.168411732188371e+00 -2.169904362385663e+00 - -2.171395292133801e+00 -2.172884524283159e+00 -2.174372061079477e+00 -2.175857904621596e+00 -2.177342057025400e+00 - -2.178824520458782e+00 -2.180305297280612e+00 -2.181784389836284e+00 -2.183261800226323e+00 -2.184737530553230e+00 - -2.186211583172279e+00 -2.187683960396664e+00 -2.189154664118480e+00 -2.190623696232450e+00 -2.192091059064924e+00 - -2.193556754973807e+00 -2.195020786011611e+00 -2.196483154140098e+00 -2.197943861263397e+00 -2.199402909290797e+00 - -2.200860300209873e+00 -2.202316036078389e+00 -2.203770119156592e+00 -2.205222551620105e+00 -2.206673335103553e+00 - -2.208122471221687e+00 -2.209569962050753e+00 -2.211015809743800e+00 -2.212460016299604e+00 -2.213902583604158e+00 - -2.215343513246597e+00 -2.216782806815468e+00 -2.218220466193829e+00 -2.219656493330310e+00 -2.221090890141300e+00 - -2.222523658493742e+00 -2.223954800089009e+00 -2.225384316635711e+00 -2.226812210036953e+00 -2.228238482128524e+00 - -2.229663134282465e+00 -2.231086167933421e+00 -2.232507585230206e+00 -2.233927388263609e+00 -2.235345578178182e+00 - -2.236762156112363e+00 -2.238177124126393e+00 -2.239590484325721e+00 -2.241002238074839e+00 -2.242412386688506e+00 - -2.243820932023517e+00 -2.245227875877045e+00 -2.246633219265731e+00 -2.248036963296034e+00 -2.249439110214208e+00 - -2.250839662216949e+00 -2.252238620162919e+00 -2.253635984842608e+00 -2.255031758111861e+00 -2.256425941987018e+00 - -2.257818538061035e+00 -2.259209547728066e+00 -2.260598972010440e+00 -2.261986811976363e+00 -2.263373069249392e+00 - -2.264757745520950e+00 -2.266140842198597e+00 -2.267522360622610e+00 -2.268902302148032e+00 -2.270280668153553e+00 - -2.271657460097697e+00 -2.273032679375423e+00 -2.274406327047590e+00 -2.275778404191426e+00 -2.277148912283742e+00 - -2.278517852852843e+00 -2.279885227233438e+00 -2.281251036662961e+00 -2.282615282183361e+00 -2.283977964870765e+00 - -2.285339086133513e+00 -2.286698647429660e+00 -2.288056650083893e+00 -2.289413095312870e+00 -2.290767984034498e+00 - -2.292121317209354e+00 -2.293473096267451e+00 -2.294823322630535e+00 -2.296171997217860e+00 -2.297519120939147e+00 - -2.298864695168495e+00 -2.300208721271999e+00 -2.301551200119357e+00 -2.302892132586471e+00 -2.304231520070443e+00 - -2.305569363951571e+00 -2.306905665021753e+00 -2.308240424043668e+00 -2.309573642251534e+00 -2.310905320943594e+00 - -2.312235461202651e+00 -2.313564064009707e+00 -2.314891130153991e+00 -2.316216660462560e+00 -2.317540656105554e+00 - -2.318863118293744e+00 -2.320184048057342e+00 -2.321503446385586e+00 -2.322821314284393e+00 -2.324137652689092e+00 - -2.325452462235987e+00 -2.326765743634779e+00 -2.328077498187803e+00 -2.329387727168217e+00 -2.330696431139842e+00 - -2.332003610675342e+00 -2.333309267092103e+00 -2.334613401701304e+00 -2.335916015044585e+00 -2.337217107588464e+00 - -2.338516680268511e+00 -2.339814734134101e+00 -2.341111270220800e+00 -2.342406289434137e+00 -2.343699792173311e+00 - -2.344991778936741e+00 -2.346282251126043e+00 -2.347571210092017e+00 -2.348858656078995e+00 -2.350144589310363e+00 - -2.351429011032167e+00 -2.352711922533504e+00 -2.353993324252988e+00 -2.355273216536063e+00 -2.356551600205969e+00 - -2.357828476165661e+00 -2.359103845159169e+00 -2.360377707896761e+00 -2.361650065112589e+00 -2.362920917562625e+00 - -2.364190266066228e+00 -2.365458111389245e+00 -2.366724454020086e+00 -2.367989294422349e+00 -2.369252633237819e+00 - -2.370514471195048e+00 -2.371774809191487e+00 -2.373033648052395e+00 -2.374290988145372e+00 -2.375546829856004e+00 - -2.376801174099476e+00 -2.378054021758188e+00 -2.379305373053798e+00 -2.380555228228685e+00 -2.381803588268867e+00 - -2.383050454170042e+00 -2.384295826222999e+00 -2.385539704659158e+00 -2.386782090177350e+00 -2.388022983519428e+00 - -2.389262385131917e+00 -2.390500295440986e+00 -2.391736715086700e+00 -2.392971644747536e+00 -2.394205085041701e+00 - -2.395437036486230e+00 -2.396667499253712e+00 -2.397896473568759e+00 -2.399123960208524e+00 -2.400349959968320e+00 - -2.401574473163553e+00 -2.402797500049246e+00 -2.404019041118798e+00 -2.405239096931802e+00 -2.406457668074259e+00 - -2.407674755052769e+00 -2.408890358029935e+00 -2.410104477201394e+00 -2.411317113238899e+00 -2.412528266823138e+00 - -2.413737938194389e+00 -2.414946127524263e+00 -2.416152835150093e+00 -2.417358061488310e+00 -2.418561807106014e+00 - -2.419764072540869e+00 -2.420964858062149e+00 -2.422164163883997e+00 -2.423361990268478e+00 -2.424558337539998e+00 - -2.425753206224426e+00 -2.426946596778449e+00 -2.428138509180588e+00 -2.429328943436301e+00 -2.430517900136966e+00 - -2.431705379929064e+00 -2.432891383093559e+00 -2.434075909789072e+00 -2.435258960050367e+00 -2.436440534002261e+00 - -2.437620632253666e+00 -2.438799255363957e+00 -2.439976403210287e+00 -2.441152075652963e+00 -2.442326273167121e+00 - -2.443498996281469e+00 -2.444670245124171e+00 -2.445840019720089e+00 -2.447008320081434e+00 -2.448175146330043e+00 - -2.449340499038912e+00 -2.450504378726154e+00 -2.451666785239187e+00 -2.452827718349615e+00 -2.453987178196479e+00 - -2.455145165027037e+00 -2.456301679153984e+00 -2.457456720843679e+00 -2.458610290111703e+00 -2.459762386895362e+00 - -2.460913011069636e+00 -2.462062162618941e+00 -2.463209842027783e+00 -2.464356049701044e+00 -2.465500785225038e+00 - -2.466644048210323e+00 -2.467785839182998e+00 -2.468926158651886e+00 -2.470065006141172e+00 -2.471202381154697e+00 - -2.472338284099561e+00 -2.473472715451581e+00 -2.474605675058163e+00 -2.475737162666682e+00 -2.476867178252799e+00 - -2.477995721814551e+00 -2.479122793211214e+00 -2.480248392312651e+00 -2.481372519169843e+00 -2.482495173828069e+00 - -2.483616356128687e+00 -2.484736065895716e+00 -2.485854303087743e+00 -2.486971067738408e+00 -2.488086360047014e+00 - -2.489200180083995e+00 -2.490312527238630e+00 -2.491423400907520e+00 -2.492532801197714e+00 -2.493640728315912e+00 - -2.494747182157012e+00 -2.495852162518061e+00 -2.496955669116524e+00 -2.498057701682506e+00 -2.499158260076250e+00 - -2.500257344205291e+00 -2.501354954036191e+00 -2.502451089487258e+00 -2.503545750224782e+00 -2.504638935878569e+00 - -2.505730646184535e+00 -2.506820880947837e+00 -2.507909640144502e+00 -2.508996923692245e+00 -2.510082731104683e+00 - -2.511167061905791e+00 -2.512249916065080e+00 -2.513331293568936e+00 -2.514411194025691e+00 -2.515489616993924e+00 - -2.516566562211253e+00 -2.517642029416175e+00 -2.518716018171676e+00 -2.519788528087044e+00 -2.520859559132313e+00 - -2.521929111272669e+00 -2.522997184093166e+00 -2.524063777123772e+00 -2.525128890054233e+00 -2.526192522577199e+00 - -2.527254674237163e+00 -2.528315344566595e+00 -2.529374533198041e+00 -2.530432239809303e+00 -2.531488464159136e+00 - -2.532543206017777e+00 -2.533596465120445e+00 -2.534648241083385e+00 -2.535698533081969e+00 -2.536747340380982e+00 - -2.537794663043710e+00 -2.538840501172024e+00 -2.539884854223596e+00 -2.540927721482817e+00 -2.541969102185147e+00 - -2.543008995720672e+00 -2.544047402146914e+00 -2.545084321505733e+00 -2.546119753108897e+00 -2.547153696148885e+00 - -2.548186150071097e+00 -2.549217114438763e+00 -2.550246589033513e+00 -2.551274573561718e+00 -2.552301067210345e+00 - -2.553326069170913e+00 -2.554349579172571e+00 -2.555371597001575e+00 -2.556392122135012e+00 -2.557411153995589e+00 - -2.558428692097672e+00 -2.559444735964176e+00 -2.560459285060548e+00 -2.561472338773803e+00 -2.562483896234721e+00 - -2.563493956701396e+00 -2.564502520197407e+00 -2.565509586690590e+00 -2.566515155160310e+00 -2.567519224484451e+00 - -2.568521794123430e+00 -2.569522863722881e+00 -2.570522433086768e+00 -2.571520501879673e+00 -2.572517069050324e+00 - -2.573512133570669e+00 -2.574505695221420e+00 -2.575497753777856e+00 -2.576488308184784e+00 -2.577477357385580e+00 - -2.578464901148367e+00 -2.579450939304331e+00 -2.580435471112168e+00 -2.581418495678755e+00 -2.582400012076188e+00 - -2.583380019545771e+00 -2.584358518040427e+00 -2.585335507388502e+00 -2.586310986208430e+00 -2.587284953146766e+00 - -2.588257408172476e+00 -2.589228351266687e+00 -2.590197781136742e+00 -2.591165696464199e+00 -2.592132097101227e+00 - -2.593096982965479e+00 -2.594060353065933e+00 -2.595022206300420e+00 -2.595982542030859e+00 -2.596941359648237e+00 - -2.597898658195753e+00 -2.598854436786441e+00 -2.599808695160485e+00 -2.600761432999720e+00 -2.601712649125437e+00 - -2.602662342322502e+00 -2.603610512090611e+00 -2.604557157983472e+00 -2.605502279056006e+00 -2.606445874333086e+00 - -2.607387943218189e+00 -2.608328485131743e+00 -2.609267499183389e+00 -2.610204984445080e+00 -2.611140940148811e+00 - -2.612075365584592e+00 -2.613008260114454e+00 -2.613939623006402e+00 -2.614869453080320e+00 -2.615797749224179e+00 - -2.616724511046408e+00 -2.617649738126216e+00 -2.618573429205448e+00 -2.619495583026503e+00 -2.620416199171340e+00 - -2.621335277249019e+00 -2.622252816137456e+00 -2.623168814653865e+00 -2.624083272103795e+00 -2.624996187859330e+00 - -2.625907561070358e+00 -2.626817390806325e+00 -2.627725676037143e+00 -2.628632415761536e+00 -2.629537609193020e+00 - -2.630441255587996e+00 -2.631343354159609e+00 -2.632243904045731e+00 -2.633142904126422e+00 -2.634040353337229e+00 - -2.634936251093461e+00 -2.635830596765059e+00 -2.636723389060725e+00 -2.637614626713354e+00 -2.638504309213838e+00 - -2.639392436080191e+00 -2.640279006180904e+00 -2.641164018251881e+00 -2.642047471148195e+00 -2.642929363899640e+00 - -2.643809696115713e+00 -2.644688467316341e+00 -2.645565676083456e+00 -2.646441320932559e+00 -2.647315401051427e+00 - -2.648187915755844e+00 -2.649058864201336e+00 -2.649928245427330e+00 -2.650796058169106e+00 -2.651662301248424e+00 - -2.652526974137104e+00 -2.653390076247662e+00 -2.654251606105329e+00 -2.655111562238285e+00 -2.655969944073783e+00 - -2.656826751086593e+00 -2.657681982042466e+00 -2.658535635661370e+00 -2.659387711189145e+00 -2.660238207837736e+00 - -2.661087124157626e+00 -2.661934458755756e+00 -2.662780211126336e+00 -2.663624380741185e+00 -2.664466966095276e+00 - -2.665307965694397e+00 -2.666147379064445e+00 -2.666985205710447e+00 -2.667821444033845e+00 -2.668656092405469e+00 - -2.669489150177272e+00 -2.670320616801000e+00 -2.671150491146469e+00 -2.671978771965001e+00 -2.672805458115896e+00 - -2.673630548501148e+00 -2.674454042085555e+00 -2.675275937884819e+00 -2.676096235055446e+00 -2.676914932653945e+00 - -2.677732029196031e+00 -2.678547523253807e+00 -2.679361414165717e+00 -2.680173701269736e+00 -2.680984383135636e+00 - -2.681793458321363e+00 -2.682600926105787e+00 -2.683406785794135e+00 -2.684211036076172e+00 -2.685013675548027e+00 - -2.685814703046789e+00 -2.686614117528503e+00 -2.687411918184072e+00 -2.688208104155523e+00 -2.689002674154484e+00 - -2.689795626844247e+00 -2.690586961125131e+00 -2.691376675931391e+00 -2.692164770096012e+00 -2.692951242468673e+00 - -2.693736092067127e+00 -2.694519317933390e+00 -2.695300919038479e+00 -2.696080894259941e+00 -2.696859242172434e+00 - -2.697635961409562e+00 -2.698411051143577e+00 -2.699184510529523e+00 -2.699956338114957e+00 -2.700726532498006e+00 - -2.701495093086574e+00 -2.702262019208106e+00 -2.703027309058428e+00 -2.703790960874505e+00 -2.704552974189474e+00 - -2.705313348537555e+00 -2.706072082161119e+00 -2.706829173257158e+00 -2.707584621133000e+00 -2.708338425191227e+00 - -2.709090584105120e+00 -2.709841096442358e+00 -2.710589961077480e+00 -2.711337176962203e+00 -2.712082743050078e+00 - -2.712826658235913e+00 -2.713568921177743e+00 -2.714309530527581e+00 -2.715048485150131e+00 -2.715785783993005e+00 - -2.716521426122757e+00 -2.717255410569124e+00 -2.717987736095623e+00 -2.718718401385704e+00 -2.719447405068731e+00 - -2.720174745881186e+00 -2.720900423042079e+00 -2.721624435690877e+00 -2.722346782166338e+00 -2.723067460855530e+00 - -2.723786471139474e+00 -2.724503812410580e+00 -2.725219483112852e+00 -2.725933481634188e+00 -2.726645807086471e+00 - -2.727356458650697e+00 -2.728065435060333e+00 -2.728772734953498e+00 -2.729478357034439e+00 -2.730182300087997e+00 - -2.730884563155262e+00 -2.731585145263588e+00 -2.732284045129153e+00 -2.732981261442558e+00 -2.733676793103288e+00 - -2.734370639038562e+00 -2.735062798077667e+00 -2.735753269071118e+00 -2.736442051052291e+00 -2.737129142959769e+00 - -2.737814543170111e+00 -2.738498250131983e+00 -2.739180263144520e+00 -2.739860581563291e+00 -2.740539204119172e+00 - -2.741216129405992e+00 -2.741891356094071e+00 -2.742564882952538e+00 -2.743236709069217e+00 -2.743906833523784e+00 - -2.744575255044610e+00 -2.745241972311204e+00 -2.745906984158941e+00 -2.746570289467025e+00 -2.747231887134115e+00 - -2.747891776057501e+00 -2.748549955109537e+00 -2.749206423158993e+00 -2.749861179085207e+00 -2.750514221765824e+00 - -2.751165550061125e+00 -2.751815162841771e+00 -2.752463059037292e+00 -2.753109237554207e+00 -2.753753697148108e+00 - -2.754396436622574e+00 -2.755037455124055e+00 -2.755676751755156e+00 -2.756314325100252e+00 -2.756950173779785e+00 - -2.757584297076699e+00 -2.758216694281619e+00 -2.758847364053396e+00 -2.759476305000437e+00 -2.760103516161140e+00 - -2.760728996610216e+00 -2.761352745137616e+00 -2.761974760563591e+00 -2.762595042114344e+00 -2.763213589016364e+00 - -2.763830400091322e+00 -2.764445474113015e+00 -2.765058810068553e+00 -2.765670407011266e+00 -2.766280264046035e+00 - -2.766888380201558e+00 -2.767494754150214e+00 -2.768099384646222e+00 -2.768702271127474e+00 -2.769303413030783e+00 - -2.769902809104988e+00 -2.770500458053093e+00 -2.771096359082754e+00 -2.771690511445131e+00 -2.772282914060774e+00 - -2.772873565847032e+00 -2.773462466039048e+00 -2.774049613856528e+00 -2.774635008139637e+00 -2.775218647762881e+00 - -2.775800532117688e+00 -2.776380660598635e+00 -2.776959032095993e+00 -2.777535645483684e+00 -2.778110500074552e+00 - -2.778683595228330e+00 -2.779254930053368e+00 -2.779824503611819e+00 -2.780392315032438e+00 -2.780958363471580e+00 - -2.781522648129417e+00 -2.782085168237396e+00 -2.782645923108263e+00 -2.783204912027138e+00 -2.783762134087364e+00 - -2.784317588365996e+00 -2.784871274066723e+00 -2.785423190471204e+00 -2.785973337046338e+00 -2.786521713227682e+00 - -2.787068318140169e+00 -2.787613150927563e+00 -2.788156211119559e+00 -2.788697498201977e+00 -2.789237011099205e+00 - -2.789774748795882e+00 -2.790310711079109e+00 -2.790844897774500e+00 -2.791377308059270e+00 -2.791907941021321e+00 - -2.792436796039691e+00 -2.792963872575855e+00 -2.793489170129877e+00 -2.794012688183935e+00 -2.794534426110070e+00 - -2.795054383269529e+00 -2.795572559090522e+00 -2.796088953089790e+00 -2.796603565071232e+00 -2.797116394731634e+00 - -2.797627441052200e+00 -2.798136703104035e+00 -2.798644181033428e+00 -2.799149874997305e+00 -2.799653784119957e+00 - -2.800155907491874e+00 -2.800656245100958e+00 -2.801154796934787e+00 -2.801651562082218e+00 -2.802146539693571e+00 - -2.802639730063738e+00 -2.803131133478864e+00 -2.803620749045517e+00 -2.804108575856467e+00 -2.804594614128865e+00 - -2.805078864118387e+00 -2.805561325110418e+00 -2.806041996375143e+00 -2.806520878092229e+00 -2.806997970489045e+00 - -2.807473273074300e+00 -2.807946785293329e+00 -2.808418507056632e+00 -2.808888438355500e+00 -2.809356579039224e+00 - -2.809822928959404e+00 -2.810287488118900e+00 -2.810750256531227e+00 -2.811211234101264e+00 -2.811670420689050e+00 - -2.812127816083888e+00 -2.812583420143096e+00 -2.813037233066774e+00 -2.813489255065615e+00 -2.813939486049919e+00 - -2.814387925944586e+00 -2.814834575033324e+00 -2.815279433542374e+00 -2.815722501109326e+00 -2.816163777438837e+00 - -2.816603263092504e+00 -2.817040958671196e+00 -2.817476864075942e+00 -2.817910979131784e+00 -2.818343304059641e+00 - -2.818773839208482e+00 -2.819202585043600e+00 -2.819629541969078e+00 -2.820054710027820e+00 -2.820478089265513e+00 - -2.820899680100151e+00 -2.821319482977751e+00 -2.821737498084143e+00 -2.822153725615352e+00 -2.822568166068396e+00 - -2.822980820018520e+00 -2.823391688052908e+00 -2.823800770674544e+00 -2.824208068037681e+00 -2.824613580315654e+00 - -2.825017308106835e+00 -2.825419252121360e+00 -2.825819413091381e+00 -2.826217791658008e+00 -2.826614388076187e+00 - -2.827009202624378e+00 -2.827402236061253e+00 -2.827793489256864e+00 -2.828182963046578e+00 -2.828570658171722e+00 - -2.828956575032161e+00 -2.829340714052488e+00 -2.829723076097664e+00 -2.830103662132774e+00 -2.830482473083023e+00 - -2.830859509823491e+00 -2.831234773068641e+00 -2.831608263528317e+00 -2.831979982054516e+00 -2.832349929557777e+00 - -2.832718107040651e+00 -2.833084515526141e+00 -2.833449156027042e+00 -2.833812029550204e+00 -2.834173137088914e+00 - -2.834532479620883e+00 -2.834890058075082e+00 -2.835245873448821e+00 -2.835599927061508e+00 -2.835952220243667e+00 - -2.836302754048190e+00 -2.836651529530672e+00 -2.836998548035129e+00 -2.837343810883671e+00 -2.837687319022324e+00 - -2.838029073490917e+00 -2.838369076080591e+00 -2.838707328586376e+00 -2.839043832067564e+00 -2.839378587474163e+00 - -2.839711596054793e+00 -2.840042859259108e+00 -2.840372379042276e+00 -2.840700157280677e+00 -2.841026195030013e+00 - -2.841350493343512e+00 -2.841673054085180e+00 -2.841993879190829e+00 -2.842312970072699e+00 -2.842630328108386e+00 - -2.842945955060471e+00 -2.843259852775203e+00 -2.843572023048496e+00 -2.843882467617769e+00 -2.844191188036773e+00 - -2.844498185884593e+00 -2.844803463025301e+00 -2.845107021413000e+00 -2.845408863076932e+00 -2.845708990020076e+00 - -2.846007404065244e+00 -2.846304107050338e+00 -2.846599101053807e+00 -2.846892388135785e+00 -2.847183970042619e+00 - -2.847473848570861e+00 -2.847762026031680e+00 -2.848048504803730e+00 -2.848333287020989e+00 -2.848616374754612e+00 - -2.848897770069131e+00 -2.849177475073159e+00 -2.849455492058227e+00 -2.849731823327478e+00 -2.850006471047571e+00 - -2.850279437434387e+00 -2.850550725037162e+00 -2.850820336439234e+00 -2.851088274026996e+00 -2.851354540133094e+00 - -2.851619137072155e+00 -2.851882067200814e+00 -2.852143333061782e+00 -2.852402937208544e+00 -2.852660882051651e+00 - -2.852917170055367e+00 -2.853171804041764e+00 -2.853424786850297e+00 -2.853676121032120e+00 -2.853925809140160e+00 - -2.854173854022716e+00 -2.854420258509995e+00 -2.854665025064492e+00 -2.854908156206457e+00 -2.855149655054884e+00 - -2.855389524765914e+00 -2.855627768045515e+00 -2.855864387531145e+00 -2.856099386036384e+00 -2.856332766480263e+00 - -2.856564532027491e+00 -2.856794685864488e+00 -2.857023231018833e+00 -2.857250170456676e+00 -2.857475507057297e+00 - -2.857699243787178e+00 -2.857921384048440e+00 -2.858141931205942e+00 -2.858360888039817e+00 -2.858578257403886e+00 - -2.858794043031427e+00 -2.859008248642304e+00 -2.859220877023269e+00 -2.859431930941042e+00 -2.859641414015340e+00 - -2.859849329964776e+00 -2.860055682050569e+00 -2.860260473522559e+00 -2.860463708042447e+00 -2.860665389218646e+00 - -2.860865520034553e+00 -2.861064103583913e+00 -2.861261144026887e+00 -2.861456645505078e+00 -2.861650611019446e+00 - -2.861843043539793e+00 -2.862033947051935e+00 -2.862223325674870e+00 -2.862411183044306e+00 -2.862597522669464e+00 - -2.862782348036900e+00 -2.862965662765951e+00 -2.863147471029718e+00 -2.863327776966641e+00 -2.863506584022756e+00 - -2.863683895649960e+00 -2.863859716016013e+00 -2.864034049304372e+00 -2.864206899045429e+00 -2.864378268816853e+00 - -2.864548163038503e+00 -2.864716586175495e+00 -2.864883542031795e+00 -2.865049034317118e+00 -2.865213067025303e+00 - -2.865375644227383e+00 -2.865536770019026e+00 -2.865696448531390e+00 -2.865854684012960e+00 -2.866011480747103e+00 - -2.866166843039399e+00 -2.866320775137251e+00 -2.866473281033156e+00 -2.866624364792500e+00 -2.866774031027124e+00 - -2.866922284373643e+00 -2.867069129021301e+00 -2.867214569108258e+00 -2.867358609015685e+00 -2.867501253183005e+00 - -2.867642506039625e+00 -2.867782372075631e+00 -2.867920856033839e+00 -2.868057962606175e+00 -2.868193696028257e+00 - -2.868328060561013e+00 -2.868461061022879e+00 -2.868592702303233e+00 -2.868722989017701e+00 -2.868851925722842e+00 - -2.868979517012722e+00 -2.869105767524959e+00 -2.869230682033886e+00 -2.869354265317122e+00 -2.869476522028743e+00 - -2.869597456891174e+00 -2.869717075023798e+00 -2.869835381525858e+00 -2.869952381019048e+00 -2.870068078133983e+00 - -2.870182478014490e+00 -2.870295585788873e+00 -2.870407406010122e+00 -2.870517943287246e+00 -2.870627203028626e+00 - -2.870735190678368e+00 -2.870841911024103e+00 -2.870947368779615e+00 -2.871051569019769e+00 -2.871154516959833e+00 - -2.871256218015620e+00 -2.871356677487263e+00 -2.871455900011655e+00 -2.871553890297982e+00 -2.871650654007871e+00 - -2.871746196881877e+00 -2.871840524023838e+00 -2.871933640394619e+00 -2.872025551019907e+00 -2.872116261043417e+00 - -2.872205776016155e+00 -2.872294101539941e+00 -2.872381243012580e+00 -2.872467205758066e+00 -2.872551995009178e+00 - -2.872635615995248e+00 -2.872718074023048e+00 -2.872799374482606e+00 -2.872879523019508e+00 -2.872958525324841e+00 - -2.873036387016140e+00 -2.873113113575017e+00 -2.873188710012942e+00 -2.873263181462381e+00 -2.873336534009911e+00 - -2.873408773769060e+00 -2.873479906007045e+00 -2.873549935889074e+00 -2.873618869018622e+00 -2.873686711126628e+00 - -2.873753468015626e+00 -2.873819145455355e+00 -2.873883749012791e+00 -2.873947284262238e+00 -2.874009757010115e+00 - -2.874071173064448e+00 -2.874131538007598e+00 -2.874190857408149e+00 -2.874249137005235e+00 -2.874306382592947e+00 - -2.874362600014657e+00 -2.874417795154723e+00 -2.874471974012172e+00 -2.874525142492177e+00 -2.874577306009839e+00 - -2.874628470067637e+00 -2.874678641007656e+00 -2.874727825164796e+00 -2.874776028005620e+00 -2.874823254939239e+00 - -2.874869512013286e+00 -2.874914805384953e+00 -2.874959141011137e+00 -2.875002524843012e+00 -2.875044963009132e+00 - -2.875086461553842e+00 -2.875127026007268e+00 -2.875166661990855e+00 -2.875205376005544e+00 -2.875243174521211e+00 - -2.875280063003956e+00 -2.875316046953741e+00 -2.875351133009737e+00 -2.875385327829893e+00 -2.875418637008044e+00 - -2.875451066029114e+00 -2.875482621006486e+00 -2.875513308222273e+00 -2.875543134005058e+00 -2.875572104616458e+00 - -2.875600226003760e+00 -2.875627504088381e+00 -2.875653945002586e+00 -2.875679554924722e+00 -2.875704340006628e+00 - -2.875728306365356e+00 -2.875751460005359e+00 -2.875773807024162e+00 -2.875795354004213e+00 -2.875816107441742e+00 - -2.875836073003188e+00 -2.875855256356105e+00 -2.875873664002281e+00 -2.875891302525273e+00 -2.875908178001488e+00 - -2.875924296429527e+00 -2.875939664003940e+00 -2.875954287022889e+00 -2.875968172003060e+00 -2.875981325374513e+00 - -2.875993753002293e+00 -2.876005460745149e+00 -2.876016455001635e+00 -2.876026742281703e+00 -2.876036329001085e+00 - -2.876045221511428e+00 -2.876053426002279e+00 -2.876060948682664e+00 -2.876067796001651e+00 -2.876073974394489e+00 - -2.876079490001126e+00 -2.876084348997735e+00 -2.876088558000703e+00 -2.876092123620084e+00 -2.876095052000378e+00 - -2.876097349275196e+00 -2.876099022000147e+00 -2.876100076780735e+00 -2.876100520000039e+00 -2.876100357977497e+00 - -2.876099597000405e+00 -2.876098243435337e+00 -2.876096303998139e+00 -2.876093785401991e+00 -2.876090694000126e+00 - -2.876087036076098e+00 -2.876082817994697e+00 -2.876078046153286e+00 -2.876072726998279e+00 -2.876066867041051e+00 - -2.876060473003754e+00 -2.876053551562065e+00 -2.876046108994973e+00 -2.876038151582050e+00 -2.876029686001908e+00 - -2.876020718975022e+00 -2.876011256990315e+00 -2.876001306494705e+00 -2.875990873998654e+00 -2.875979966015766e+00 - -2.875968589008655e+00 -2.875956749461299e+00 -2.875944453994101e+00 -2.875931709272467e+00 -2.875918522005370e+00 - -2.875904898821941e+00 -2.875890845988358e+00 -2.875876369796106e+00 -2.875861477000839e+00 -2.875846174460938e+00 - -2.875830468981534e+00 -2.875814367182402e+00 -2.875797874995170e+00 -2.875780998493851e+00 -2.875763745010153e+00 - -2.875746121853747e+00 -2.875728134988475e+00 -2.875709790337169e+00 -2.875691095004476e+00 -2.875672056151185e+00 - -2.875652679980860e+00 -2.875632972639220e+00 -2.875612940997824e+00 -2.875592591983200e+00 -2.875571932015899e+00 - -2.875550967463832e+00 -2.875529704990307e+00 -2.875508151305197e+00 -2.875486313009207e+00 -2.875464196688727e+00 - -2.875441808982035e+00 -2.875419156538716e+00 -2.875396246001703e+00 -2.875373083982446e+00 -2.875349676973115e+00 - -2.875326031456047e+00 -2.875302153993497e+00 -2.875278051224424e+00 -2.875253730014671e+00 -2.875229197164465e+00 - -2.875204458984698e+00 -2.875179521740897e+00 -2.875154392006447e+00 -2.875129076470253e+00 -2.875103581975416e+00 - -2.875077915323747e+00 -2.875052082997684e+00 -2.875026091410789e+00 -2.874999947020509e+00 -2.874973656330889e+00 - -2.874947225988491e+00 -2.874920662667701e+00 -2.874893973011697e+00 -2.874867163623783e+00 -2.874840240978976e+00 - -2.874813211559227e+00 -2.874786082002508e+00 -2.874758858958694e+00 -2.874731548969249e+00 -2.874704158521300e+00 - -2.874676693993052e+00 -2.874649161850167e+00 -2.874621569017096e+00 -2.874593922351292e+00 -2.874566227983435e+00 - -2.874538491996276e+00 -2.874510721007613e+00 -2.874482921761722e+00 -2.874455100973768e+00 -2.874427265275985e+00 - -2.874399420998023e+00 -2.874371574431975e+00 -2.874343732022288e+00 -2.874315900299783e+00 -2.874288085988434e+00 - -2.874260295776052e+00 -2.874232536012641e+00 -2.874204812974258e+00 -2.874177132978955e+00 -2.874149502426689e+00 - -2.874121928003048e+00 -2.874094416390038e+00 -2.874066973969692e+00 -2.874039607056358e+00 -2.874012321993617e+00 - -2.873985125156578e+00 -2.873958023017241e+00 -2.873931022092817e+00 -2.873904128984454e+00 -2.873877350227203e+00 - -2.873850692007775e+00 -2.873824160475146e+00 -2.873797761975665e+00 -2.873771502947487e+00 -2.873745389998629e+00 - -2.873719429664607e+00 -2.873693628021065e+00 -2.873667991196405e+00 -2.873642525989910e+00 -2.873617239207638e+00 - -2.873592137011854e+00 -2.873567225478465e+00 -2.873542510981722e+00 -2.873517999984164e+00 -2.873493699003122e+00 - -2.873469614539558e+00 -2.873445752974173e+00 -2.873422120664412e+00 -2.873398723994974e+00 -2.873375569341346e+00 - -2.873352663014937e+00 -2.873330011368907e+00 -2.873307620987516e+00 -2.873285498440290e+00 -2.873263650006746e+00 - -2.873242081977908e+00 -2.873220800980854e+00 -2.873199813610778e+00 -2.873179125999297e+00 -2.873158744269642e+00 - -2.873138674975094e+00 -2.873118924733721e+00 -2.873099499992696e+00 -2.873080407078925e+00 -2.873061652009151e+00 - -2.873043240951156e+00 -2.873025180987050e+00 -2.873007479104932e+00 -2.872990141002529e+00 -2.872973172348110e+00 - -2.872956579982463e+00 -2.872940370832477e+00 -2.872924550996914e+00 -2.872909126514257e+00 -2.872894104009989e+00 - -2.872879490127201e+00 -2.872865290992410e+00 -2.872851512733995e+00 -2.872838162004323e+00 -2.872825245427317e+00 - -2.872812768989124e+00 -2.872800738661925e+00 -2.872789160999820e+00 -2.872778042642130e+00 -2.872767389987160e+00 - -2.872757209355336e+00 -2.872747506996586e+00 -2.872738289140315e+00 -2.872729562004331e+00 -2.872721331833777e+00 - -2.872713604994726e+00 -2.872706387896571e+00 -2.872699687001068e+00 -2.872693508692679e+00 -2.872687858994343e+00 - -2.872682743943764e+00 -2.872678169999229e+00 -2.872674143639194e+00 -2.872670671002211e+00 -2.872667758252759e+00 - -2.872665411998920e+00 -2.872663638727966e+00 -2.872662444000314e+00 -2.872661833458480e+00 -2.872661814000242e+00 - -2.872662392564575e+00 -2.872663574999996e+00 -2.872665367034357e+00 -2.872667775003300e+00 -2.872670805307676e+00 - -2.872674464001362e+00 -2.872678757122995e+00 -2.872683690997219e+00 -2.872689271947241e+00 -2.872695506004511e+00 - -2.872702399218003e+00 -2.872709957998547e+00 -2.872718188690384e+00 -2.872727097009549e+00 -2.872736688669513e+00 - -2.872746970001709e+00 -2.872757947412680e+00 -2.872769626991446e+00 -2.872782014787135e+00 -2.872795117006809e+00 - -2.872808939808297e+00 -2.872823488994544e+00 -2.872838770359238e+00 -2.872854790013944e+00 -2.872871554154958e+00 - -2.872889068999627e+00 -2.872907340687168e+00 -2.872926375023218e+00 -2.872946177789640e+00 -2.872966755006795e+00 - -2.872988112738970e+00 -2.873010256987659e+00 -2.873033193743455e+00 -2.873056929016149e+00 -2.873081468798353e+00 - -2.873106818994782e+00 -2.873132985471494e+00 -2.873159974027786e+00 -2.873187790508094e+00 -2.873216441004140e+00 - -2.873245931584463e+00 -2.873276267977569e+00 -2.873307455856915e+00 -2.873339501015828e+00 -2.873372409342765e+00 - -2.873406186986854e+00 -2.873440840030674e+00 -2.873476374029945e+00 -2.873512794459630e+00 -2.873550106998518e+00 - -2.873588317466817e+00 -2.873627432046586e+00 -2.873667456808100e+00 -2.873708397012657e+00 -2.873750257967860e+00 - -2.873793045975522e+00 -2.873836767295967e+00 -2.873881427029366e+00 -2.873927030237608e+00 -2.873973582989610e+00 - -2.874021091436191e+00 -2.874069561048740e+00 -2.874118997257345e+00 -2.874169406006314e+00 -2.874220793186470e+00 - -2.874273163960479e+00 -2.874326523535612e+00 -2.874380878025728e+00 -2.874436233504353e+00 -2.874492594977105e+00 - -2.874549967456173e+00 -2.874608357047944e+00 -2.874667769870749e+00 -2.874728210996486e+00 -2.874789685444839e+00 - -2.874852199073056e+00 -2.874915757808161e+00 -2.874980367018717e+00 -2.875046031956011e+00 -2.875112757960702e+00 - -2.875180550448241e+00 -2.875249415043884e+00 -2.875319357389408e+00 -2.875390382982873e+00 -2.875462497200150e+00 - -2.875535705072081e+00 -2.875610011724477e+00 -2.875685423008027e+00 -2.875761944747628e+00 -2.875839581940104e+00 - -2.875918339524430e+00 -2.875998223036253e+00 -2.876079238083328e+00 -2.876161389965175e+00 -2.876244683897332e+00 - -2.876329125067640e+00 -2.876414718675390e+00 -2.876501469993362e+00 -2.876589384334920e+00 -2.876678467102276e+00 - -2.876768723646439e+00 -2.876860159024752e+00 -2.876952778311590e+00 -2.877046586943105e+00 -2.877141590285005e+00 - -2.877237793059432e+00 -2.877335200055582e+00 -2.877433816974432e+00 -2.877533649470098e+00 -2.877634702097487e+00 - -2.877736979404358e+00 -2.877840487009089e+00 -2.877945230580227e+00 -2.878051214916385e+00 -2.878158444703550e+00 - -2.878266925047163e+00 -2.878376661120778e+00 -2.878487657950954e+00 -2.878599920558564e+00 -2.878713454088738e+00 - -2.878828263638601e+00 -2.878944353988982e+00 -2.879061729871082e+00 -2.879180396133895e+00 -2.879300357745253e+00 - -2.879421620030550e+00 -2.879544188234639e+00 -2.879668066922659e+00 -2.879793260582870e+00 -2.879919774075741e+00 - -2.880047612428619e+00 -2.880176780964157e+00 -2.880307284823274e+00 -2.880439128124635e+00 -2.880572315044195e+00 - -2.880706851009318e+00 -2.880842741491739e+00 -2.880979990889281e+00 -2.881118603470176e+00 -2.881258584058220e+00 - -2.881399937594580e+00 -2.881542668934350e+00 -2.881686782880171e+00 -2.881832284110943e+00 -2.881979177270132e+00 - -2.882127466983199e+00 -2.882277157822698e+00 -2.882428254167564e+00 -2.882580760515876e+00 -2.882734682035907e+00 - -2.882890023809088e+00 -2.883046789899305e+00 -2.883204984344022e+00 -2.883364612092550e+00 -2.883525678164890e+00 - -2.883688186951939e+00 -2.883852142755886e+00 -2.884017550153203e+00 -2.884184413751485e+00 -2.884352738008543e+00 - -2.884522527349429e+00 -2.884693786217942e+00 -2.884866519029743e+00 -2.885040730069195e+00 -2.885216423722596e+00 - -2.885393604915286e+00 -2.885572278454246e+00 -2.885752448133968e+00 -2.885934117732660e+00 -2.886117291975880e+00 - -2.886301975695701e+00 -2.886488173202934e+00 -2.886675888645447e+00 -2.886865126040629e+00 -2.887055889528861e+00 - -2.887248183873006e+00 -2.887442013779875e+00 -2.887637383109605e+00 -2.887834295673936e+00 -2.888032755937675e+00 - -2.888232768417303e+00 -2.888434337182880e+00 -2.888637466267979e+00 -2.888842160006608e+00 -2.889048422705334e+00 - -2.889256258260521e+00 -2.889465670586525e+00 -2.889676664079871e+00 -2.889889243164732e+00 -2.890103411893701e+00 - -2.890319174230825e+00 -2.890536534157536e+00 -2.890755495690120e+00 -2.890976062966901e+00 -2.891198240133124e+00 - -2.891422031239666e+00 -2.891647440271526e+00 -2.891874471044534e+00 -2.892103127449178e+00 -2.892333413843735e+00 - -2.892565334531329e+00 -2.892798893126666e+00 -2.893034093211137e+00 -2.893270938921286e+00 -2.893509434394119e+00 - -2.893749583213363e+00 -2.893991388990754e+00 -2.894234856003367e+00 -2.894479988544211e+00 -2.894726790304690e+00 - -2.894975264880993e+00 -2.895225416090045e+00 -2.895477247800793e+00 -2.895730763869547e+00 -2.895985968110420e+00 - -2.896242864181383e+00 -2.896501455784724e+00 -2.896761746956156e+00 -2.897023741664482e+00 -2.897287443277443e+00 - -2.897552855132549e+00 -2.897819981047455e+00 -2.898088824960355e+00 -2.898359390811481e+00 -2.898631682423090e+00 - -2.898905703143506e+00 -2.899181456336644e+00 -2.899458945902694e+00 -2.899738175745144e+00 -2.900019149244370e+00 - -2.900301869748365e+00 -2.900586340998689e+00 -2.900872566741790e+00 -2.901160550350105e+00 -2.901450295205248e+00 - -2.901741805099525e+00 -2.902035083835090e+00 -2.902330134842785e+00 -2.902626961482952e+00 -2.902925567205262e+00 - -2.903225955501619e+00 -2.903528129943548e+00 -2.903832094083243e+00 -2.904137851315957e+00 -2.904445404943298e+00 - -2.904754758049239e+00 -2.905065913908475e+00 -2.905378876776237e+00 -2.905693650730528e+00 -2.906010238159916e+00 - -2.906328641477237e+00 -2.906648864881840e+00 -2.906970912612057e+00 -2.907294787275635e+00 -2.907620491421319e+00 - -2.907948028992455e+00 -2.908277404008211e+00 -2.908608619396449e+00 -2.908941677961907e+00 -2.909276583108139e+00 - -2.909613338320582e+00 -2.909951946813384e+00 -2.910292411733319e+00 -2.910634736228945e+00 -2.910978923497479e+00 - -2.911324976928991e+00 -2.911672899876866e+00 -2.912022695354926e+00 -2.912374366346152e+00 -2.912727916049746e+00 - -2.913083347735332e+00 -2.913440664738005e+00 -2.913799870293631e+00 -2.914160967175702e+00 -2.914523958205600e+00 - -2.914888846858668e+00 -2.915255636613397e+00 -2.915624330306910e+00 -2.915994930711883e+00 -2.916367440984558e+00 - -2.916741864289805e+00 -2.917118203443422e+00 -2.917496461287171e+00 -2.917876641115726e+00 -2.918258746264796e+00 - -2.918642779781321e+00 -2.919028744569610e+00 -2.919416643252220e+00 -2.919806478556714e+00 -2.920198253912409e+00 - -2.920591972698769e+00 -2.920987637394092e+00 -2.921385250442034e+00 -2.921784815048848e+00 -2.922186334507697e+00 - -2.922589811696789e+00 -2.922995249368979e+00 -2.923402650190686e+00 -2.923812016928122e+00 -2.924223352833133e+00 - -2.924636661116357e+00 -2.925051944337972e+00 -2.925469204994078e+00 -2.925888445974902e+00 -2.926309670222330e+00 - -2.926732880490753e+00 -2.927158079512877e+00 -2.927585270122142e+00 -2.928014455203420e+00 -2.928445637746579e+00 - -2.928878820641719e+00 -2.929314006274898e+00 -2.929751197043434e+00 -2.930190395893735e+00 -2.930631605816839e+00 - -2.931074829433217e+00 -2.931520069294359e+00 -2.931967328046430e+00 -2.932416608452995e+00 -2.932867913652596e+00 - -2.933321246608101e+00 -2.933776609204709e+00 -2.934234003435805e+00 -2.934693432805196e+00 -2.935154900804807e+00 - -2.935618409368617e+00 -2.936083960365691e+00 -2.936551556963400e+00 -2.937021202354904e+00 -2.937492898538196e+00 - -2.937966647468766e+00 -2.938442452127255e+00 -2.938920315642269e+00 -2.939400240709141e+00 -2.939882229846171e+00 - -2.940366285296803e+00 -2.940852409365155e+00 -2.941340604872910e+00 -2.941830874578781e+00 -2.942323220472084e+00 - -2.942817644603974e+00 -2.943314150042391e+00 -2.943812739919231e+00 -2.944313416605433e+00 -2.944816182292809e+00 - -2.945321039217627e+00 -2.945827989752984e+00 -2.946337036774817e+00 -2.946848183049044e+00 -2.947361430398659e+00 - -2.947876780695535e+00 -2.948394236949976e+00 -2.948913802216184e+00 -2.949435478585527e+00 -2.949959268045502e+00 - -2.950485173130951e+00 -2.951013196489051e+00 -2.951543340668991e+00 -2.952075608036040e+00 -2.952610000317780e+00 - -2.953146519451356e+00 -2.953685168849877e+00 -2.954225951787981e+00 -2.954768869510503e+00 -2.955313923227115e+00 - -2.955861116036636e+00 -2.956410451196468e+00 -2.956961930709160e+00 -2.957515556348660e+00 -2.958071330229310e+00 - -2.958629254704319e+00 -2.959189332741965e+00 -2.959751567143614e+00 -2.960315959427935e+00 -2.960882511105170e+00 - -2.961451224934558e+00 -2.962022103774683e+00 -2.962595149632548e+00 -2.963170364371659e+00 -2.963747750133120e+00 - -2.964327309260061e+00 -2.964909044626116e+00 -2.965492958892178e+00 -2.966079053337689e+00 -2.966667329311879e+00 - -2.967257789824588e+00 -2.967850437973655e+00 -2.968445275548303e+00 -2.969042304161408e+00 -2.969641526029084e+00 - -2.970242943489398e+00 -2.970846558764995e+00 -2.971452374012471e+00 -2.972060391239641e+00 -2.972670612566008e+00 - -2.973283040706606e+00 -2.973897678221620e+00 -2.974514526456296e+00 -2.975133586785449e+00 -2.975754861917081e+00 - -2.976378354633252e+00 -2.977004066679083e+00 -2.977631999719257e+00 -2.978262156133669e+00 -2.978894538388579e+00 - -2.979529148580497e+00 -2.980165988659094e+00 -2.980805060356407e+00 -2.981446365534977e+00 -2.982089906796993e+00 - -2.982735686662750e+00 -2.983383706585328e+00 -2.984033968085205e+00 -2.984686474019655e+00 -2.985341227187940e+00 - -2.985998228820469e+00 -2.986657480057624e+00 -2.987318983248517e+00 -2.987982740990944e+00 -2.988648755668708e+00 - -2.989317029403636e+00 -2.989987563483614e+00 -2.990660359350691e+00 -2.991335419897486e+00 -2.992012747963469e+00 - -2.992692344724977e+00 -2.993374211287029e+00 -2.994058350132512e+00 -2.994744763907397e+00 -2.995433454532118e+00 - -2.996124423756546e+00 -2.996817673373822e+00 -2.997513205283444e+00 -2.998211021767050e+00 -2.998911125033880e+00 - -2.999613516621449e+00 -3.000318198120732e+00 -3.001025172008281e+00 -3.001734440748973e+00 -3.002446005875424e+00 - -3.003159868783688e+00 -3.003876031255844e+00 -3.004594495323234e+00 -3.005315263628241e+00 -3.006038338638268e+00 - -3.006763721509772e+00 -3.007491413411925e+00 -3.008221416875716e+00 -3.008953734497098e+00 -3.009688367770095e+00 - -3.010425318036306e+00 -3.011164587129571e+00 -3.011906177113799e+00 -3.012650090480955e+00 -3.013396329533748e+00 - -3.014144895389836e+00 -3.014895789237767e+00 -3.015649013734712e+00 -3.016404571515447e+00 -3.017162463656545e+00 - -3.017922691248400e+00 -3.018685256994897e+00 -3.019450163571901e+00 -3.020217411929727e+00 -3.020987002987051e+00 - -3.021758939261538e+00 -3.022533223477289e+00 -3.023309857585168e+00 -3.024088843221124e+00 -3.024870181534668e+00 - -3.025653873871900e+00 -3.026439922851719e+00 -3.027228331077071e+00 -3.028019099814318e+00 -3.028812230192102e+00 - -3.029607724124773e+00 -3.030405583764245e+00 -3.031205811426982e+00 -3.032008409239547e+00 -3.032813378404362e+00 - -3.033620720145768e+00 -3.034430436699938e+00 -3.035242530366928e+00 -3.036057002690514e+00 -3.036873855182042e+00 - -3.037693089979441e+00 -3.038514709166424e+00 -3.039338713983260e+00 -3.040165105664532e+00 -3.040993886265523e+00 - -3.041825058080565e+00 -3.042658623539453e+00 -3.043494584770202e+00 -3.044332942558215e+00 -3.045173697755793e+00 - -3.046016852825442e+00 -3.046862410359265e+00 -3.047710371857544e+00 -3.048560738605269e+00 -3.049413512118055e+00 - -3.050268694173960e+00 -3.051126287370169e+00 -3.051986294136892e+00 -3.052848715417321e+00 -3.053713552140092e+00 - -3.054580806662679e+00 -3.055450481419417e+00 -3.056322577723267e+00 -3.057197096839233e+00 -3.058074040961857e+00 - -3.058953412280709e+00 -3.059835212035924e+00 -3.060719441405425e+00 -3.061606102267731e+00 -3.062495196777212e+00 - -3.063386727491054e+00 -3.064280696619269e+00 -3.065177104580330e+00 -3.066075951959016e+00 -3.066977241796834e+00 - -3.067880977177860e+00 -3.068787158899685e+00 -3.069695787543252e+00 -3.070606865109353e+00 -3.071520393938529e+00 - -3.072436376310475e+00 -3.073354814200677e+00 -3.074275708428639e+00 -3.075199059975246e+00 -3.076124871622891e+00 - -3.077053146054635e+00 -3.077983883754724e+00 -3.078917085313194e+00 -3.079852753942089e+00 -3.080790892784741e+00 - -3.081731502087634e+00 -3.082674582011150e+00 -3.083620135268097e+00 -3.084568164866139e+00 -3.085518672439932e+00 - -3.086471659270948e+00 -3.087427126600947e+00 -3.088385075921834e+00 -3.089345509765843e+00 -3.090308430518810e+00 - -3.091273838940665e+00 -3.092241735746584e+00 -3.093212123098609e+00 -3.094185003484481e+00 -3.095160379247863e+00 - -3.096138252358965e+00 -3.097118623438258e+00 -3.098101493262150e+00 -3.099086864580523e+00 -3.100074740150514e+00 - -3.101065120784818e+00 -3.102058007230942e+00 -3.103053401920080e+00 -3.104051307417155e+00 -3.105051725138318e+00 - -3.106054656274756e+00 -3.107060102266563e+00 -3.108068064811119e+00 -3.109078546386035e+00 -3.110091549326776e+00 - -3.111107074619999e+00 -3.112125123273996e+00 -3.113145697732417e+00 -3.114168800386244e+00 -3.115194431980418e+00 - -3.116222593318652e+00 -3.117253287085768e+00 -3.118286516039464e+00 -3.119322281347848e+00 -3.120360583948459e+00 - -3.121401425446115e+00 -3.122444807777008e+00 -3.123490733535526e+00 -3.124539205035892e+00 -3.125590222813487e+00 - -3.126643787500575e+00 -3.127699901895779e+00 -3.128758568841378e+00 -3.129819789187914e+00 -3.130883563634097e+00 - -3.131949894263071e+00 -3.133018783446947e+00 -3.134090233329311e+00 -3.135164245759380e+00 -3.136240821637432e+00 - -3.137319962039862e+00 -3.138401669696502e+00 -3.139485947209752e+00 -3.140572795018887e+00 -3.141662213641400e+00 - -3.142754206070774e+00 -3.143848775370422e+00 -3.144945922407469e+00 -3.146045647810740e+00 -3.147147953452156e+00 - -3.148252841552866e+00 -3.149360314487843e+00 -3.150470374336312e+00 -3.151583021840677e+00 -3.152698257836541e+00 - -3.153816084869129e+00 -3.154936505573740e+00 -3.156059521236365e+00 -3.157185132934072e+00 -3.158313342257567e+00 - -3.159444151127381e+00 -3.160577562269707e+00 -3.161713578058511e+00 -3.162852198653188e+00 -3.163993424406347e+00 - -3.165137258658042e+00 -3.166283704751602e+00 -3.167432763056018e+00 -3.168584433853514e+00 -3.169738720053572e+00 - -3.170895624664928e+00 -3.172055148466089e+00 -3.173217292044841e+00 -3.174382057456326e+00 -3.175549447119023e+00 - -3.176719463437418e+00 -3.177892108465135e+00 -3.179067382866334e+00 -3.180245287430775e+00 -3.181425824840074e+00 - -3.182608997807819e+00 -3.183794807283624e+00 -3.184983254083125e+00 -3.186174340249998e+00 -3.187368068149750e+00 - -3.188564440207163e+00 -3.189763458501066e+00 -3.190965123667219e+00 -3.192169436468204e+00 -3.193376399616980e+00 - -3.194586015855556e+00 -3.195798286091764e+00 -3.197013211234878e+00 -3.198230794034108e+00 -3.199451037209393e+00 - -3.200673941523666e+00 -3.201899507599942e+00 -3.203127737458575e+00 -3.204358633517069e+00 -3.205592198384193e+00 - -3.206828434306502e+00 -3.208067341890413e+00 -3.209308921829809e+00 -3.210553176808560e+00 -3.211800109598040e+00 - -3.213049721329648e+00 -3.214302012941719e+00 -3.215556986240311e+00 -3.216814643392485e+00 -3.218074987141617e+00 - -3.219338019837523e+00 -3.220603741679474e+00 -3.221872153094758e+00 -3.223143257573258e+00 -3.224417058543514e+00 - -3.225693556126080e+00 -3.226972750453261e+00 -3.228254645012327e+00 -3.229539243310538e+00 -3.230826545580160e+00 - -3.232116551831102e+00 -3.233409264458852e+00 -3.234704686394765e+00 -3.236002820328103e+00 -3.237303668413965e+00 - -3.238607230912866e+00 -3.239913508296335e+00 -3.241222503774527e+00 -3.242534220589764e+00 -3.243848659374397e+00 - -3.245165820540432e+00 -3.246485706228452e+00 -3.247808319087641e+00 -3.249133662073000e+00 -3.250461737608715e+00 - -3.251792545689908e+00 -3.253126086515263e+00 -3.254462363526813e+00 -3.255801380232294e+00 -3.257143137158927e+00 - -3.258487634736825e+00 -3.259834875988172e+00 -3.261184864013611e+00 -3.262537599635538e+00 -3.263893083453904e+00 - -3.265251317457108e+00 -3.266612304094287e+00 -3.267976046269084e+00 -3.269342546452898e+00 -3.270711804933652e+00 - -3.272083822201368e+00 -3.273458601737915e+00 -3.274836147008249e+00 -3.276216458417835e+00 -3.277599536106921e+00 - -3.278985382214368e+00 -3.280373999474050e+00 -3.281765391001240e+00 -3.283159559381294e+00 -3.284556504698475e+00 - -3.285956227223949e+00 -3.287358730477579e+00 -3.288764018003004e+00 -3.290172090190266e+00 -3.291582947391597e+00 - -3.292996592961586e+00 -3.294413030263101e+00 -3.295832259689772e+00 -3.297254281509102e+00 -3.298679098453292e+00 - -3.300106713632883e+00 -3.301537129207062e+00 -3.302970346938195e+00 -3.304406367952729e+00 -3.305845193592728e+00 - -3.307286826698660e+00 -3.308731270022015e+00 -3.310178524459931e+00 -3.311628590794006e+00 -3.313081471198005e+00 - -3.314537168271639e+00 -3.315995684926260e+00 -3.317457023622331e+00 -3.318921184705128e+00 -3.320388168757214e+00 - -3.321857979425488e+00 -3.323330620242623e+00 -3.324806091220061e+00 -3.326284392457951e+00 -3.327765527932510e+00 - -3.329249501635255e+00 -3.330736313742837e+00 -3.332225964151081e+00 -3.333718455447356e+00 -3.335213790816533e+00 - -3.336711973141963e+00 -3.338213004741188e+00 -3.339716885970061e+00 -3.341223617428788e+00 -3.342733202656698e+00 - -3.344245645175923e+00 -3.345760945500658e+00 -3.347279103963591e+00 -3.348800123179309e+00 -3.350324006237700e+00 - -3.351850755847976e+00 -3.353380374190363e+00 -3.354912861709826e+00 -3.356448219173252e+00 -3.357986450370467e+00 - -3.359527558984502e+00 -3.361071545248283e+00 -3.362618409368982e+00 -3.364168154900880e+00 -3.365720785489059e+00 - -3.367276301794712e+00 -3.368834704260551e+00 -3.370395995439248e+00 -3.371960178388195e+00 -3.373527256073704e+00 - -3.375097230883950e+00 -3.376670102985606e+00 -3.378245872877927e+00 -3.379824544611959e+00 -3.381406122149057e+00 - -3.382990605539988e+00 -3.384577994855671e+00 -3.386168294158221e+00 -3.387761507524905e+00 -3.389357635102426e+00 - -3.390956676825633e+00 -3.392558635712520e+00 -3.394163515324364e+00 -3.395771318312439e+00 -3.397382046745834e+00 - -3.398995701274896e+00 -3.400612282828281e+00 -3.402231794866633e+00 -3.403854240867662e+00 -3.405479621845378e+00 - -3.407107938586081e+00 -3.408739193428916e+00 -3.410373389185216e+00 -3.412010529002203e+00 -3.413650615518111e+00 - -3.415293648999326e+00 -3.416939629995896e+00 -3.418588562564371e+00 -3.420240450691449e+00 -3.421895294577897e+00 - -3.423553094414080e+00 -3.425213854134680e+00 -3.426877577792018e+00 -3.428544266164663e+00 -3.430213919689846e+00 - -3.431886540713168e+00 -3.433562132145608e+00 -3.435240697251321e+00 -3.436922238808692e+00 -3.438606757299870e+00 - -3.440294253397158e+00 -3.441984730829699e+00 -3.443678193368453e+00 -3.445374641894819e+00 -3.447074077051543e+00 - -3.448776501416308e+00 -3.450481918039497e+00 -3.452190329927366e+00 -3.453901739641781e+00 -3.455616148011183e+00 - -3.457333556082980e+00 -3.459053967513855e+00 -3.460777385853499e+00 -3.462503811614361e+00 -3.464233245386620e+00 - -3.465965691108627e+00 -3.467701152771073e+00 -3.469439631225878e+00 -3.471181127031554e+00 -3.472925642711720e+00 - -3.474673181335264e+00 -3.476423746187027e+00 -3.478177340029919e+00 -3.479933963323171e+00 -3.481693616824597e+00 - -3.483456304790008e+00 -3.485222031388338e+00 -3.486990796943019e+00 -3.488762601570069e+00 -3.490537448401365e+00 - -3.492315341151373e+00 -3.494096282849095e+00 -3.495880275915030e+00 -3.497667321021135e+00 -3.499457419173128e+00 - -3.501250574460328e+00 -3.503046790838973e+00 -3.504846068649357e+00 -3.506648408298966e+00 -3.508453814079994e+00 - -3.510262290280344e+00 -3.512073837286068e+00 -3.513888455301771e+00 -3.515706147708129e+00 -3.517526918395819e+00 - -3.519350770119465e+00 -3.521177705073145e+00 -3.523007724344773e+00 -3.524840829328240e+00 -3.526677023747485e+00 - -3.528516311267811e+00 -3.530358692989965e+00 -3.532204169811781e+00 -3.534052744384031e+00 -3.535904419874647e+00 - -3.537759199767289e+00 -3.539617087002065e+00 -3.541478082029144e+00 -3.543342185630307e+00 -3.545209402403708e+00 - -3.547079736777425e+00 -3.548953188682862e+00 -3.550829758143615e+00 -3.552709450048714e+00 -3.554592269345012e+00 - -3.556478216345227e+00 -3.558367291032073e+00 -3.560259496702344e+00 -3.562154837300620e+00 -3.564053316048536e+00 - -3.565954935512961e+00 -3.567859696364639e+00 -3.569767599635964e+00 -3.571678649702049e+00 -3.573592850895430e+00 - -3.575510204035641e+00 -3.577430709619281e+00 -3.579354370364244e+00 -3.581281189700099e+00 -3.583211171681835e+00 - -3.585144319721653e+00 -3.587080634035166e+00 -3.589020115063184e+00 -3.590962767343901e+00 -3.592908595415016e+00 - -3.594857599714854e+00 -3.596809780701911e+00 -3.598765143014713e+00 -3.600723691343250e+00 -3.602685426403352e+00 - -3.604650348553174e+00 -3.606618460694309e+00 -3.608589766473437e+00 -3.610564269974137e+00 -3.612541974573128e+00 - -3.614522880382737e+00 -3.616506987803558e+00 -3.618494301653613e+00 -3.620484826823921e+00 -3.622478564080036e+00 - -3.624475513850586e+00 -3.626475679341938e+00 -3.628479064392689e+00 -3.630485672592619e+00 -3.632495506905407e+00 - -3.634508568039156e+00 -3.636524857004877e+00 -3.638544378280809e+00 -3.640567136287224e+00 -3.642593131745308e+00 - -3.644622365423449e+00 -3.646654841977913e+00 -3.648690566065893e+00 -3.650729538460438e+00 -3.652771759626902e+00 - -3.654817232683972e+00 -3.656865961450936e+00 -3.658917949896158e+00 -3.660973201344661e+00 -3.663031716399031e+00 - -3.665093495929850e+00 -3.667158544602091e+00 -3.669226867066577e+00 -3.671298464123134e+00 -3.673373336353373e+00 - -3.675451487317045e+00 -3.677532921173144e+00 -3.679617641499514e+00 -3.681705651197185e+00 -3.683796951041065e+00 - -3.685891542158701e+00 -3.687989429214330e+00 -3.690090616811484e+00 -3.692195105774196e+00 -3.694302896934788e+00 - -3.696413994938233e+00 -3.698528404463948e+00 -3.700646126516483e+00 -3.702767161822413e+00 -3.704891513671268e+00 - -3.707019186005269e+00 -3.709150182814482e+00 -3.711284507419287e+00 -3.713422160413482e+00 -3.715563142750310e+00 - -3.717707459547388e+00 -3.719855115839397e+00 -3.722006112164920e+00 -3.724160448777861e+00 -3.726318129289493e+00 - -3.728479158099316e+00 -3.730643539402395e+00 -3.732811276589775e+00 -3.734982370040845e+00 -3.737156820495128e+00 - -3.739334633144358e+00 -3.741515813112657e+00 -3.743700360801490e+00 -3.745888276640612e+00 -3.748079565895588e+00 - -3.750274233918474e+00 -3.752472281571475e+00 -3.754673709335501e+00 -3.756878520656135e+00 -3.759086719721971e+00 - -3.761298310728990e+00 -3.763513297133539e+00 -3.765731679426046e+00 -3.767953458457793e+00 -3.770178639489403e+00 - -3.772407227784000e+00 -3.774639224205367e+00 -3.776874629489326e+00 -3.779113448259203e+00 -3.781355685279774e+00 - -3.783601341994148e+00 -3.785850419525435e+00 -3.788102921038436e+00 -3.790358850378410e+00 -3.792618212070778e+00 - -3.794881010002580e+00 -3.797147244827153e+00 -3.799416917428862e+00 -3.801690032849888e+00 -3.803966596190487e+00 - -3.806246608625402e+00 -3.808530070983860e+00 -3.810816986638503e+00 -3.813107359693981e+00 -3.815401194639556e+00 - -3.817698495297397e+00 -3.819999262436677e+00 -3.822303497093916e+00 -3.824611204428034e+00 -3.826922389548483e+00 - -3.829237053244454e+00 -3.831555196353405e+00 -3.833876824226091e+00 -3.836201942201953e+00 -3.838530551061888e+00 - -3.840862651326505e+00 -3.843198247033778e+00 -3.845537342919513e+00 -3.847879942993476e+00 -3.850226050562932e+00 - -3.852575666851148e+00 -3.854928793361406e+00 -3.857285434801036e+00 -3.859645595950435e+00 -3.862009278678248e+00 - -3.864376484523473e+00 -3.866747216618300e+00 -3.869121478726629e+00 -3.871499275546047e+00 -3.873880611182955e+00 - -3.876265486445322e+00 -3.878653902389424e+00 -3.881045864363169e+00 -3.883441377687285e+00 -3.885840443282151e+00 - -3.888243062046155e+00 -3.890649239190073e+00 -3.893058980047241e+00 -3.895472286128841e+00 -3.897889158595383e+00 - -3.900309601026809e+00 -3.902733617656517e+00 -3.905161212912323e+00 -3.907592390603840e+00 -3.910027151873432e+00 - -3.912465498159137e+00 -3.914907434748928e+00 -3.917352966879188e+00 -3.919802095729995e+00 -3.922254822259626e+00 - -3.924711150595445e+00 -3.927171085542605e+00 -3.929634631448325e+00 -3.932101791843537e+00 -3.934572567451927e+00 - -3.937046959532740e+00 -3.939524974294695e+00 -3.942006617767883e+00 -3.944491890318428e+00 -3.946980792233828e+00 - -3.949473329151056e+00 -3.951969506957779e+00 -3.954469327195002e+00 -3.956972790971958e+00 -3.959479902017460e+00 - -3.961990664762499e+00 -3.964505083827194e+00 -3.967023163167552e+00 -3.969544903893966e+00 -3.972070307479498e+00 - -3.974599379693463e+00 -3.977132126179292e+00 -3.979668547780628e+00 -3.982208645099321e+00 -3.984752422569858e+00 - -3.987299885436030e+00 -3.989851038346246e+00 -3.992405885069993e+00 -3.994964426456437e+00 -3.997526663815754e+00 - -4.000092603222488e+00 -4.002662250581340e+00 -4.005235606353252e+00 -4.007812671084819e+00 -4.010393451108941e+00 - -4.012977952843547e+00 -4.015566177260363e+00 -4.018158124897606e+00 -4.020753800005660e+00 -4.023353207686703e+00 - -4.025956352737950e+00 -4.028563239140089e+00 -4.031173867912699e+00 -4.033788240453579e+00 -4.036406362634527e+00 - -4.039028240314873e+00 -4.041653874830120e+00 -4.044283267179555e+00 -4.046916421541453e+00 -4.049553342894448e+00 - -4.052194036239657e+00 -4.054838505774454e+00 -4.057486752458788e+00 -4.060138777601743e+00 -4.062794587146426e+00 - -4.065454187011838e+00 -4.068117578386588e+00 -4.070784762448621e+00 -4.073455745063631e+00 -4.076130532171974e+00 - -4.078809125324914e+00 -4.081491525652789e+00 -4.084177736991329e+00 -4.086867764089578e+00 -4.089561612644448e+00 - -4.092259287473573e+00 -4.094960788929582e+00 -4.097666117736884e+00 -4.100375280572002e+00 -4.103088284211306e+00 - -4.105805129878449e+00 -4.108525818267906e+00 -4.111250353510137e+00 -4.113978740671802e+00 -4.116710985128399e+00 - -4.119447091422845e+00 -4.122187060458915e+00 -4.124930893522407e+00 -4.127678597066370e+00 -4.130430177441071e+00 - -4.133185635418395e+00 -4.135944971791250e+00 -4.138708193015015e+00 -4.141475305696859e+00 -4.144246311388639e+00 - -4.147021211130915e+00 -4.149800008974389e+00 -4.152582709893380e+00 -4.155369319546537e+00 -4.158159842709882e+00 - -4.160954279944561e+00 -4.163752632239020e+00 -4.166554906505763e+00 -4.169361109687737e+00 -4.172171242925584e+00 - -4.174985306927709e+00 -4.177803306475812e+00 -4.180625247195196e+00 -4.183451134012302e+00 -4.186280970992621e+00 - -4.189114759456745e+00 -4.191952501240072e+00 -4.194794202982180e+00 -4.197639871116617e+00 -4.200489506448629e+00 - -4.203343109834506e+00 -4.206200687962978e+00 -4.209062247657938e+00 -4.211927790451525e+00 -4.214797317400862e+00 - -4.217670832954751e+00 -4.220548342457539e+00 -4.223429851444060e+00 -4.226315364591702e+00 -4.229204882957573e+00 - -4.232098408004153e+00 -4.234995946435681e+00 -4.237897504949240e+00 -4.240803084971501e+00 -4.243712687544032e+00 - -4.246626317438374e+00 -4.249543980343883e+00 -4.252465681891192e+00 -4.255391426705907e+00 -4.258321215452209e+00 - -4.261255049361277e+00 -4.264192935893713e+00 -4.267134882389568e+00 -4.270080889477248e+00 -4.273030957691918e+00 - -4.275985093907401e+00 -4.278943305249538e+00 -4.281905593513557e+00 -4.284871959946388e+00 -4.287842408932329e+00 - -4.290816945777364e+00 -4.293795576336856e+00 -4.296778305653331e+00 -4.299765134968560e+00 -4.302756065899131e+00 - -4.305751105361620e+00 -4.308750260118541e+00 -4.311753531016159e+00 -4.314760919008608e+00 -4.317772431397722e+00 - -4.320788075591533e+00 -4.323807853075197e+00 -4.326831764792573e+00 -4.329859815445223e+00 -4.332892010759197e+00 - -4.335928356800809e+00 -4.338968858700405e+00 -4.342013517504197e+00 -4.345062334602749e+00 -4.348115316848165e+00 - -4.351172471198577e+00 -4.354233799574710e+00 -4.357299303495111e+00 -4.360368987907023e+00 -4.363442858590077e+00 - -4.366520921224746e+00 -4.369603180592436e+00 -4.372689637977453e+00 -4.375780295145305e+00 -4.378875159283436e+00 - -4.381974237486932e+00 -4.385077531059527e+00 -4.388185041309383e+00 -4.391296775353732e+00 -4.394412740393244e+00 - -4.397532938153312e+00 -4.400657369887305e+00 -4.403786040435705e+00 -4.406918955633090e+00 -4.410056121703311e+00 - -4.413197543940346e+00 -4.416343223529426e+00 -4.419493162052248e+00 -4.422647366785128e+00 -4.425805845047289e+00 - -4.428968598634965e+00 -4.432135628892382e+00 -4.435306940878729e+00 -4.438482540596634e+00 -4.441662434107552e+00 - -4.444846626509031e+00 -4.448035118984182e+00 -4.451227913265940e+00 -4.454425017200977e+00 -4.457626438485681e+00 - -4.460832178101560e+00 -4.464042236947444e+00 -4.467256622306292e+00 -4.470475341701105e+00 -4.473698397230936e+00 - -4.476925790483307e+00 -4.480157526423565e+00 -4.483393610985775e+00 -4.486634050601043e+00 -4.489878850742320e+00 - -4.493128012552872e+00 -4.496381537630165e+00 -4.499639433718156e+00 -4.502901708553144e+00 -4.506168363694287e+00 - -4.509439400268067e+00 -4.512714823847340e+00 -4.515994641019672e+00 -4.519278857985080e+00 -4.522567479881829e+00 - -4.525860507988668e+00 -4.529157944122721e+00 -4.532459796114085e+00 -4.535766071688615e+00 -4.539076772142213e+00 - -4.542391898765175e+00 -4.545711459255270e+00 -4.549035461446213e+00 -4.552363907308053e+00 -4.555696798263391e+00 - -4.559034139408705e+00 -4.562375936904542e+00 -4.565722197493832e+00 -4.569072926948550e+00 -4.572428126574475e+00 - -4.575787798129616e+00 -4.579151949647104e+00 -4.582520589075836e+00 -4.585893717752653e+00 -4.589271336639746e+00 - -4.592653451812744e+00 -4.596040070428725e+00 -4.599431198857142e+00 -4.602826842289216e+00 -4.606227001990830e+00 - -4.609631679831751e+00 -4.613040884022596e+00 -4.616454622677202e+00 -4.619872897181441e+00 -4.623295708819967e+00 - -4.626723065200532e+00 -4.630154974192006e+00 -4.633591438384649e+00 -4.637032459790966e+00 -4.640478043391029e+00 - -4.643928195196958e+00 -4.647382922381489e+00 -4.650842231139545e+00 -4.654306122594169e+00 -4.657774598295235e+00 - -4.661247666571815e+00 -4.664725335805659e+00 -4.668207607810025e+00 -4.671694483876048e+00 -4.675185969774820e+00 - -4.678682072408495e+00 -4.682182798723523e+00 -4.685688154522786e+00 -4.689198140990583e+00 -4.692712759891060e+00 - -4.696232019926335e+00 -4.699755929666950e+00 -4.703284490219185e+00 -4.706817702626076e+00 -4.710355575141943e+00 - -4.713898116290367e+00 -4.717445328460708e+00 -4.720997213393779e+00 -4.724553776370427e+00 -4.728115023824750e+00 - -4.731680963263822e+00 -4.735251601139764e+00 -4.738826938611875e+00 -4.742406977241646e+00 -4.745991725492132e+00 - -4.749581191958943e+00 -4.753175378866366e+00 -4.756774287871428e+00 -4.760377924733439e+00 -4.763986296289299e+00 - -4.767599409584012e+00 -4.771217270615820e+00 -4.774839880987831e+00 -4.778467242836293e+00 -4.782099364825118e+00 - -4.785736255481164e+00 -4.789377916255392e+00 -4.793024348603915e+00 -4.796675561079348e+00 -4.800331562360717e+00 - -4.803992354536202e+00 -4.807657939173200e+00 -4.811328322346788e+00 -4.815003511262576e+00 -4.818683513140625e+00 - -4.822368334073276e+00 -4.826057975627521e+00 -4.829752439872078e+00 -4.833451735407881e+00 -4.837155870922971e+00 - -4.840864848921632e+00 -4.844578671297884e+00 -4.848297343688468e+00 -4.852020872870312e+00 -4.855749266438375e+00 - -4.859482530948563e+00 -4.863220667982479e+00 -4.866963679596293e+00 -4.870711574718753e+00 -4.874464362148352e+00 - -4.878222043289993e+00 -4.881984619584831e+00 -4.885752100012597e+00 -4.889524493673498e+00 -4.893301802611106e+00 - -4.897084028340568e+00 -4.900871177319985e+00 -4.904663257144151e+00 -4.908460275011687e+00 -4.912262236942902e+00 - -4.916069144641015e+00 -4.919881000415621e+00 -4.923697813318887e+00 -4.927519592402767e+00 -4.931346339975771e+00 - -4.935178057730553e+00 -4.939014751639765e+00 -4.942856428895341e+00 -4.946703097286389e+00 -4.950554763469543e+00 - -4.954411428974413e+00 -4.958273095882141e+00 -4.962139773607051e+00 -4.966011471374763e+00 -4.969888190322918e+00 - -4.973769931656962e+00 -4.977656704941523e+00 -4.981548519919207e+00 -4.985445378685372e+00 -4.989347282670139e+00 - -4.993254238289898e+00 -4.997166253181426e+00 -5.001083334876794e+00 -5.005005489750602e+00 -5.008932719652265e+00 - -5.012865027026571e+00 -5.016802421224969e+00 -5.020744911403345e+00 -5.024692499028711e+00 -5.028645185619313e+00 - -5.032602980587180e+00 -5.036565893470627e+00 -5.040533926419334e+00 -5.044507081015939e+00 -5.048485363963517e+00 - -5.052468783200935e+00 -5.056457346489804e+00 -5.060451060330298e+00 -5.064449926354071e+00 -5.068453946757710e+00 - -5.072463130865962e+00 -5.076477488052552e+00 -5.080497020758939e+00 -5.084521730904982e+00 -5.088551625256381e+00 - -5.092586711696772e+00 -5.096626997735727e+00 -5.100672489712744e+00 -5.104723189661156e+00 -5.108779100266077e+00 - -5.112840231125939e+00 -5.116906591587866e+00 -5.120978183080382e+00 -5.125055007124604e+00 -5.129137073530554e+00 - -5.133224392250169e+00 -5.137316965514153e+00 -5.141414794882011e+00 -5.145517886949661e+00 -5.149626249667421e+00 - -5.153739891366810e+00 -5.157858819095347e+00 -5.161983034383363e+00 -5.166112539324860e+00 -5.170247343785729e+00 - -5.174387457616170e+00 -5.178532882831751e+00 -5.182683620936045e+00 -5.186839679219287e+00 -5.191001066208124e+00 - -5.195167789588259e+00 -5.199339855740569e+00 -5.203517266667578e+00 -5.207700025095241e+00 -5.211888141021600e+00 - -5.216081624199723e+00 -5.220280476130696e+00 -5.224484698310884e+00 -5.228694300469721e+00 -5.232909292611727e+00 - -5.237129677608738e+00 -5.241355457600706e+00 -5.245586638932716e+00 -5.249823229255573e+00 -5.254065237237846e+00 - -5.258312670369801e+00 -5.262565530410686e+00 -5.266823819583928e+00 -5.271087547700648e+00 -5.275356724632263e+00 - -5.279631352903723e+00 -5.283911434448228e+00 -5.288196976178466e+00 -5.292487986327965e+00 -5.296784473434150e+00 - -5.301086444698075e+00 -5.305393901671405e+00 -5.309706846569482e+00 -5.314025289911748e+00 -5.318349242027271e+00 - -5.322678704179561e+00 -5.327013677718438e+00 -5.331354173404511e+00 -5.335700202105029e+00 -5.340051765703035e+00 - -5.344408865432155e+00 -5.348771508912536e+00 -5.353139705124518e+00 -5.357513462102698e+00 -5.361892786505948e+00 - -5.366277680435933e+00 -5.370668146715638e+00 -5.375064195610523e+00 -5.379465837274747e+00 -5.383873073974794e+00 - -5.388285907439377e+00 -5.392704345133761e+00 -5.397128395890300e+00 -5.401558068273167e+00 -5.405993369375257e+00 - -5.410434300672517e+00 -5.414880864443758e+00 -5.419333071796174e+00 -5.423790933634701e+00 -5.428254451226888e+00 - -5.432723625834648e+00 -5.437198468334746e+00 -5.441678989715544e+00 -5.446165191796978e+00 -5.450657075821366e+00 - -5.455154649888983e+00 -5.459657923508107e+00 -5.464166904961132e+00 -5.468681600997277e+00 -5.473202013458992e+00 - -5.477728145011161e+00 -5.482260006515158e+00 -5.486797608759512e+00 -5.491340954044872e+00 -5.495890044003880e+00 - -5.500444886085005e+00 -5.505005489175888e+00 -5.509571862105057e+00 -5.514144012303452e+00 -5.518721941670775e+00 - -5.523305652810777e+00 -5.527895156674663e+00 -5.532490463993778e+00 -5.537091576272570e+00 -5.541698495053784e+00 - -5.546311231260242e+00 -5.550929796018560e+00 -5.555554191890502e+00 -5.560184420697174e+00 -5.564820489861896e+00 - -5.569462408240030e+00 -5.574110184812914e+00 -5.578763827204064e+00 -5.583423337479740e+00 -5.588088718319627e+00 - -5.592759980414353e+00 -5.597437134453794e+00 -5.602120183113874e+00 -5.606809128447821e+00 -5.611503978032022e+00 - -5.616204740842362e+00 -5.620911425929568e+00 -5.625624040919794e+00 -5.630342587666039e+00 -5.635067068763208e+00 - -5.639797495546991e+00 -5.644533879170592e+00 -5.649276221316504e+00 -5.654024523642824e+00 -5.658778797180806e+00 - -5.663539053129186e+00 -5.668305293983524e+00 -5.673077521581335e+00 -5.677855743831122e+00 -5.682639970117403e+00 - -5.687430209657800e+00 -5.692226470164904e+00 -5.697028753498052e+00 -5.701837062188433e+00 -5.706651407307890e+00 - -5.711471800003379e+00 -5.716298243181697e+00 -5.721130739014699e+00 -5.725969294974640e+00 -5.730813920019088e+00 - -5.735664623746429e+00 -5.740521414337008e+00 -5.745384293658165e+00 -5.750253264219532e+00 -5.755128337412918e+00 - -5.760009524502356e+00 -5.764896827358567e+00 -5.769790247833362e+00 -5.774689797096235e+00 -5.779595486532854e+00 - -5.784507319075965e+00 -5.789425296924678e+00 -5.794349427796488e+00 -5.799279720850703e+00 -5.804216185495535e+00 - -5.809158829710795e+00 -5.814107655513784e+00 -5.819062665706917e+00 -5.824023872195552e+00 -5.828991286593848e+00 - -5.833964910248241e+00 -5.838944744496904e+00 -5.843930800912663e+00 -5.848923091405570e+00 -5.853921618999967e+00 - -5.858926385866531e+00 -5.863937399646989e+00 -5.868954669511408e+00 -5.873978205272220e+00 -5.879008015280387e+00 - -5.884044101398642e+00 -5.889086466127434e+00 -5.894135121006329e+00 -5.899190077679159e+00 -5.904251339167730e+00 - -5.909318907675908e+00 -5.914392790757818e+00 -5.919472997569684e+00 -5.924559538325873e+00 -5.929652421747786e+00 - -5.934751649526802e+00 -5.939857223994977e+00 -5.944969157077114e+00 -5.950087460588470e+00 -5.955212136313389e+00 - -5.960343186070434e+00 -5.965480621845905e+00 -5.970624455737114e+00 -5.975774690117698e+00 -5.980931326619691e+00 - -5.986094373632355e+00 -5.991263841186835e+00 -5.996439739124646e+00 -6.001622075628632e+00 -6.006810852436582e+00 - -6.012006072105073e+00 -6.017207746910874e+00 -6.022415889122929e+00 -6.027630501258702e+00 -6.032851585034692e+00 - -6.038079148714933e+00 -6.043313202169935e+00 -6.048553755148549e+00 -6.053800815867540e+00 -6.059054386536941e+00 - -6.064314470164098e+00 -6.069581078952353e+00 -6.074854224823474e+00 -6.080133909377011e+00 -6.085420134277816e+00 - -6.090712911774160e+00 -6.096012254273324e+00 -6.101318164235261e+00 -6.106630643404864e+00 -6.111949700614082e+00 - -6.117275346267099e+00 -6.122607589969956e+00 -6.127946439669295e+00 -6.133291897472249e+00 -6.138643966380033e+00 - -6.144002658809652e+00 -6.149367987035877e+00 -6.154739953348771e+00 -6.160118559324411e+00 -6.165503813667637e+00 - -6.170895726810269e+00 -6.176294308963303e+00 -6.181699568610070e+00 -6.187111507544039e+00 -6.192530128394146e+00 - -6.197955443821025e+00 -6.203387466288188e+00 -6.208826197438971e+00 -6.214271638855750e+00 -6.219723802697215e+00 - -6.225182701452046e+00 -6.230648338352550e+00 -6.236120715733020e+00 -6.241599841591995e+00 -6.247085725644578e+00 - -6.252578378807894e+00 -6.258077810320607e+00 -6.263584021505486e+00 -6.269097014385768e+00 -6.274616801702433e+00 - -6.280143396389799e+00 -6.285676801437800e+00 -6.291217018848358e+00 -6.296764056615736e+00 -6.302317924554712e+00 - -6.307878633769864e+00 -6.313446193664602e+00 -6.319020605547922e+00 -6.324601871487839e+00 -6.330190004682891e+00 - -6.335785018206249e+00 -6.341386913499118e+00 -6.346995691980793e+00 -6.352611366614864e+00 -6.358233950592316e+00 - -6.363863446469443e+00 -6.369499855900457e+00 -6.375143187565898e+00 -6.380793451939097e+00 -6.386450659638202e+00 - -6.392114819555641e+00 -6.397785933536126e+00 -6.403464004233896e+00 -6.409149044588990e+00 -6.414841067513965e+00 - -6.420540075525660e+00 -6.426246070301758e+00 -6.431959060559017e+00 -6.437679056917068e+00 -6.443406070567963e+00 - -6.449140110779302e+00 -6.454881178548420e+00 -6.460629275812415e+00 -6.466384416537711e+00 -6.472146614484319e+00 - -6.477915870557313e+00 -6.483692185657911e+00 -6.489475573526882e+00 -6.495266048141532e+00 -6.501063611585819e+00 - -6.506868264986595e+00 -6.512680017535606e+00 -6.518498880384615e+00 -6.524324864460620e+00 -6.530157978732819e+00 - -6.535998224564008e+00 -6.541845604255500e+00 -6.547700131469085e+00 -6.553561819849423e+00 -6.559430671612207e+00 - -6.565306688088189e+00 -6.571189878497283e+00 -6.577080253965905e+00 -6.582977825357318e+00 -6.588882601649868e+00 - -6.594794584545345e+00 -6.600713776640095e+00 -6.606640191385222e+00 -6.612573842086468e+00 -6.618514730613387e+00 - -6.624462858757332e+00 -6.630418239433046e+00 -6.636380885778538e+00 -6.642350800701542e+00 -6.648327986279747e+00 - -6.654312451500913e+00 -6.660304207148021e+00 -6.666303264274883e+00 -6.672309632144893e+00 -6.678323312588955e+00 - -6.684344308236361e+00 -6.690372632342481e+00 -6.696408298209058e+00 -6.702451308697293e+00 -6.708501665794167e+00 - -6.714559378430309e+00 -6.720624457416141e+00 -6.726696914137652e+00 -6.732776758078630e+00 -6.738863990538500e+00 - -6.744958613795213e+00 -6.751060642225177e+00 -6.757170089911689e+00 -6.763286957667176e+00 -6.769411246357500e+00 - -6.775542970333119e+00 -6.781682144164359e+00 -6.787828769816468e+00 -6.793982848306231e+00 -6.800144389461610e+00 - -6.806313405086916e+00 -6.812489906080716e+00 -6.818673901333698e+00 -6.824865392610781e+00 -6.831064382650163e+00 - -6.837270885208925e+00 -6.843484914029985e+00 -6.849706471780753e+00 -6.855935560196301e+00 -6.862172188357874e+00 - -6.868416367348060e+00 -6.874668108908677e+00 -6.880927422841348e+00 -6.887194310527692e+00 -6.893468774218006e+00 - -6.899750828057308e+00 -6.906040486046904e+00 -6.912337749718504e+00 -6.918642620544160e+00 -6.924955112226868e+00 - -6.931275238742860e+00 -6.937603002930438e+00 -6.943938406703657e+00 -6.950281459417487e+00 -6.956632172330878e+00 - -6.962990556877839e+00 -6.969356622516854e+00 -6.975730370629293e+00 -6.982111803620415e+00 -6.988500936068168e+00 - -6.994897782349220e+00 -7.001302343862422e+00 -7.007714621896787e+00 -7.014134630279748e+00 -7.020562383120512e+00 - -7.026997883116998e+00 -7.033441132058707e+00 -7.039892139512705e+00 -7.046350916975187e+00 -7.052817475881351e+00 - -7.059291825658977e+00 -7.065773967767182e+00 -7.072263904706783e+00 -7.078761651114045e+00 -7.085267221537997e+00 - -7.091780618043302e+00 -7.098301841735545e+00 -7.104830902368316e+00 -7.111367811800725e+00 -7.117912581665987e+00 - -7.124465221496127e+00 -7.131025732644298e+00 -7.137594117517873e+00 -7.144170390919956e+00 -7.150754567380619e+00 - -7.157346647942116e+00 -7.163946633668109e+00 -7.170554539195697e+00 -7.177170379365883e+00 -7.183794156261903e+00 - -7.190425870988396e+00 -7.197065533493338e+00 -7.203713155838439e+00 -7.210368749697043e+00 -7.217032324589560e+00 - -7.223703881813015e+00 -7.230383423705708e+00 -7.237070964994412e+00 -7.243766520390449e+00 -7.250470092154861e+00 - -7.257181681552523e+00 -7.263901298313877e+00 -7.270628954301988e+00 -7.277364661444877e+00 -7.284108429522252e+00 - -7.290860259655573e+00 -7.297620154032538e+00 -7.304388127764033e+00 -7.311164195737019e+00 -7.317948359019635e+00 - -7.324740618617562e+00 -7.331540989105481e+00 -7.338349485298712e+00 -7.345166109406192e+00 -7.351990862719772e+00 - -7.358823755469352e+00 -7.365664799915581e+00 -7.372514007504119e+00 -7.379371387574386e+00 -7.386236941855793e+00 - -7.393110673113762e+00 -7.399992595867711e+00 -7.406882724521767e+00 -7.413781061264927e+00 -7.420687607444220e+00 - -7.427602373253923e+00 -7.434525370953283e+00 -7.441456612214240e+00 -7.448396106579596e+00 -7.455343855662903e+00 - -7.462299862106879e+00 -7.469264140600134e+00 -7.476236705537742e+00 -7.483217558094771e+00 -7.490206699573982e+00 - -7.497204145008848e+00 -7.504209909607961e+00 -7.511223995549668e+00 -7.518246403916826e+00 -7.525277144440522e+00 - -7.532316229110418e+00 -7.539363670302306e+00 -7.546419478207750e+00 -7.553483653895294e+00 -7.560556199398457e+00 - -7.567637129733686e+00 -7.574726459966183e+00 -7.581824192373288e+00 -7.588930328179804e+00 -7.596044877188221e+00 - -7.603167851392376e+00 -7.610299262973792e+00 -7.617439121971403e+00 -7.624587429666054e+00 -7.631744188388593e+00 - -7.638909413427992e+00 -7.646083119762239e+00 -7.653265308167305e+00 -7.660455979470388e+00 -7.667655148905554e+00 - -7.674862831955687e+00 -7.682079030692125e+00 -7.689303746121935e+00 -7.696536988406601e+00 -7.703778769965018e+00 - -7.711029103091334e+00 -7.718287997777487e+00 -7.725555454931286e+00 -7.732831476489904e+00 -7.740116077592081e+00 - -7.747409273463959e+00 -7.754711066479733e+00 -7.762021457991705e+00 -7.769340458116517e+00 -7.776668079072852e+00 - -7.784004332723263e+00 -7.791349228774319e+00 -7.798702768664788e+00 -7.806064954991001e+00 -7.813435803247359e+00 - -7.820815328504128e+00 -7.828203531237023e+00 -7.835600412067597e+00 -7.843005986795347e+00 -7.850420271453628e+00 - -7.857843267833355e+00 -7.865274976500961e+00 -7.872715407367362e+00 -7.880164572827870e+00 -7.887622485870939e+00 - -7.895089157097287e+00 -7.902564586963549e+00 -7.910048776908389e+00 -7.917541742442640e+00 -7.925043499243823e+00 - -7.932554049584044e+00 -7.940073394568305e+00 -7.947601544038569e+00 -7.955138510136092e+00 -7.962684305462377e+00 - -7.970238940357911e+00 -7.977802415658878e+00 -7.985374733292938e+00 -7.992955909057959e+00 -8.000545958501995e+00 - -8.008144882303682e+00 -8.015752681155906e+00 -8.023369370677967e+00 -8.030994966700497e+00 -8.038629470973136e+00 - -8.046272884117311e+00 -8.053925216322545e+00 -8.061586480220186e+00 -8.069256688640843e+00 -8.076935852017314e+00 - -8.084623970991846e+00 -8.092321047230506e+00 -8.100027096285098e+00 -8.107742133772728e+00 -8.115466161685978e+00 - -8.123199180963685e+00 -8.130941201954130e+00 -8.138692237272345e+00 -8.146452299190864e+00 -8.154221397655556e+00 - -8.161999533648068e+00 -8.169786709369063e+00 -8.177582940859525e+00 -8.185388243772254e+00 -8.193202618367051e+00 - -8.201026064968486e+00 -8.208858599553158e+00 -8.216700238370747e+00 -8.224550983111227e+00 -8.232410834288519e+00 - -8.240279802271914e+00 -8.248157899820946e+00 -8.256045139400785e+00 -8.263941531127587e+00 -8.271847076015916e+00 - -8.279761776165609e+00 -8.287685647119202e+00 -8.295618704371698e+00 -8.303560949785306e+00 -8.311512384182917e+00 - -8.319473017862927e+00 -8.327442863513763e+00 -8.335421933908444e+00 -8.343410239406900e+00 -8.351407780632112e+00 - -8.359414559352070e+00 -8.367430591651793e+00 -8.375455893292965e+00 -8.383490464426892e+00 -8.391534305333888e+00 - -8.399587432420665e+00 -8.407649862295598e+00 -8.415721596247392e+00 -8.423802634359653e+00 -8.431892987215194e+00 - -8.439992667917126e+00 -8.448101689150496e+00 -8.456220061058572e+00 -8.464347784035521e+00 -8.472484859778373e+00 - -8.480631304944675e+00 -8.488787135775029e+00 -8.496952351881781e+00 -8.505126952972617e+00 -8.513310955764712e+00 - -8.521504377280520e+00 -8.529707218754108e+00 -8.537919480083488e+00 -8.546141171610756e+00 -8.554372306334406e+00 - -8.562612897434500e+00 -8.570862955488629e+00 -8.579122480482935e+00 -8.587391473585072e+00 -8.595669951280222e+00 - -8.603957930092136e+00 -8.612255411381385e+00 -8.620562395277888e+00 -8.628878892152137e+00 -8.637204914976417e+00 - -8.645540476889700e+00 -8.653885588365707e+00 -8.662240249050400e+00 -8.670604460002718e+00 -8.678978238761259e+00 - -8.687361602440037e+00 -8.695754549975142e+00 -8.704157080317993e+00 -8.712569210659231e+00 -8.720990958572770e+00 - -8.729422324926496e+00 -8.737863309144757e+00 -8.746313921583734e+00 -8.754774175423437e+00 -8.763244084207386e+00 - -8.771723658743657e+00 -8.780212898534927e+00 -8.788711804325507e+00 -8.797220393131562e+00 -8.805738681960509e+00 - -8.814266671512945e+00 -8.822804361262596e+00 -8.831351762082482e+00 -8.839908887544672e+00 -8.848475750618142e+00 - -8.857052361519681e+00 -8.865638720060298e+00 -8.874234827408518e+00 -8.882840700568694e+00 -8.891456356239988e+00 - -8.900081794065120e+00 -8.908717013654563e+00 -8.917362031546196e+00 -8.926016864607513e+00 -8.934681514097109e+00 - -8.943355979966887e+00 -8.952040272550780e+00 -8.960734404827180e+00 -8.969438389970174e+00 -8.978152238557112e+00 - -8.986875950582608e+00 -8.995609527224275e+00 -9.004352984974421e+00 -9.013106340348738e+00 -9.021869594641789e+00 - -9.030642747850949e+00 -9.039425810005964e+00 -9.048218793898496e+00 -9.057021713335553e+00 -9.065834579375275e+00 - -9.074657391064932e+00 -9.083490148798390e+00 -9.092332870366718e+00 -9.101185573233034e+00 -9.110048256151465e+00 - -9.118920917820537e+00 -9.127803575425368e+00 -9.136696246597257e+00 -9.145598932265708e+00 -9.154511631860180e+00 - -9.163434355511646e+00 -9.172367116215408e+00 -9.181309927722621e+00 -9.190262801063124e+00 -9.199225735625708e+00 - -9.208198731948572e+00 -9.217181806808554e+00 -9.226174977077383e+00 -9.235178243767663e+00 -9.244191606592038e+00 - -9.253215075922315e+00 -9.262248664894432e+00 -9.271292387041701e+00 -9.280346253080740e+00 -9.289410262064051e+00 - -9.298484414471314e+00 -9.307568728155069e+00 -9.316663220573421e+00 -9.325767890233902e+00 -9.334882735648362e+00 - -9.344007774296474e+00 -9.353143024056331e+00 -9.362288485431986e+00 -9.371444157433135e+00 -9.380610050466057e+00 - -9.389786177888119e+00 -9.398972553464475e+00 -9.408169188076664e+00 -9.417376080663951e+00 -9.426593231436920e+00 - -9.435820657633688e+00 -9.445058376575700e+00 -9.454306388890288e+00 -9.463564693828612e+00 -9.472833301831271e+00 - -9.482112226230582e+00 -9.491401480736307e+00 -9.500701076124317e+00 -9.510011011057383e+00 -9.519331285649606e+00 - -9.528661917933491e+00 -9.538002925632075e+00 -9.547354307312132e+00 -9.556716061430350e+00 -9.566088205159264e+00 - -9.575470756067922e+00 -9.584863714595665e+00 -9.594267079809105e+00 -9.603680862413734e+00 -9.613105076017005e+00 - -9.622539734195460e+00 -9.631984847535897e+00 -9.641440414697058e+00 -9.650906435763309e+00 -9.660382928449559e+00 - -9.669869910482992e+00 -9.679367382009378e+00 -9.688875341677877e+00 -9.698393799732578e+00 -9.707922769547205e+00 - -9.717462265419133e+00 -9.727012298576232e+00 -9.736572867044643e+00 -9.746143970285512e+00 -9.755725626701739e+00 - -9.765317854403191e+00 -9.774920651385886e+00 -9.784534015610914e+00 -9.794157965013451e+00 -9.803792517858509e+00 - -9.813437673756464e+00 -9.823093430886084e+00 -9.832759800354408e+00 -9.842436796281985e+00 -9.852124431915341e+00 - -9.861822717446652e+00 -9.871531651724764e+00 -9.881251235098006e+00 -9.890981485255914e+00 -9.900722419735771e+00 - -9.910474038124631e+00 -9.920236338721825e+00 -9.930009332625946e+00 -9.939793033953066e+00 -9.949587456089942e+00 - -9.959392609292857e+00 -9.969208492025555e+00 -9.979035104343238e+00 -9.988872464459540e+00 -9.998720590171930e+00 - -1.000857947945488e+01 -1.001844913033355e+01 -1.002832956085879e+01 -1.003822078906736e+01 -1.004812281291406e+01 - -1.005803562971182e+01 -1.006795925428782e+01 -1.007789370360111e+01 -1.008783898562387e+01 -1.009779510571246e+01 - -1.010776206774677e+01 -1.011773987740720e+01 -1.012772854905251e+01 -1.013772809631413e+01 -1.014773852123577e+01 - -1.015775982444731e+01 -1.016779201251112e+01 -1.017783509576905e+01 -1.018788909374848e+01 -1.019795402262726e+01 - -1.020802987599985e+01 -1.021811664796306e+01 -1.022821435720666e+01 -1.023832302389762e+01 -1.024844264951883e+01 - -1.025857323411911e+01 -1.026871479069502e+01 -1.027886733277511e+01 -1.028903086306819e+01 -1.029920538356622e+01 - -1.030939090421369e+01 -1.031958743714735e+01 -1.032979499532081e+01 -1.034001358910991e+01 -1.035024321776280e+01 - -1.036048388191000e+01 -1.037073559883907e+01 -1.038099838556339e+01 -1.039127224134250e+01 -1.040155716512729e+01 - -1.041185317238784e+01 -1.042216027887615e+01 -1.043247848495290e+01 -1.044280779013644e+01 -1.045314820596725e+01 - -1.046349974688984e+01 -1.047386242694284e+01 -1.048423625623699e+01 -1.049462122957744e+01 -1.050501734396915e+01 - -1.051542462052187e+01 -1.052584308069211e+01 -1.053627272321853e+01 -1.054671354447971e+01 -1.055716555413174e+01 - -1.056762876571201e+01 -1.057810319500591e+01 -1.058858885406686e+01 -1.059908573777257e+01 -1.060959384260205e+01 - -1.062011318861535e+01 -1.063064379594653e+01 -1.064118566144451e+01 -1.065173878128750e+01 -1.066230317225584e+01 - -1.067287885251234e+01 -1.068346582514766e+01 -1.069406409086973e+01 -1.070467365592747e+01 -1.071529452946521e+01 - -1.072592672666786e+01 -1.073657026057826e+01 -1.074722512963040e+01 -1.075789133336255e+01 -1.076856889033910e+01 - -1.077925781838790e+01 -1.078995811336476e+01 -1.080066977044343e+01 -1.081139280404170e+01 -1.082212723175914e+01 - -1.083287306467895e+01 -1.084363031023443e+01 -1.085439896777578e+01 -1.086517903841335e+01 -1.087597053838113e+01 - -1.088677348334085e+01 -1.089758787154147e+01 -1.090841370173705e+01 -1.091925099211483e+01 -1.093009976068779e+01 - -1.094096000533889e+01 -1.095183172286895e+01 -1.096271492588021e+01 -1.097360962990334e+01 -1.098451584638146e+01 - -1.099543358339704e+01 -1.100636283967740e+01 -1.101730361593110e+01 -1.102825593014644e+01 -1.103921979985815e+01 - -1.105019522350652e+01 -1.106118219809120e+01 -1.107218073394329e+01 -1.108319084475604e+01 -1.109421254433972e+01 - -1.110524584310812e+01 -1.111629073777213e+01 -1.112734722664297e+01 -1.113841532813614e+01 -1.114949506055284e+01 - -1.116058642163307e+01 -1.117168940919924e+01 -1.118280404196459e+01 -1.119393033845125e+01 -1.120506829552628e+01 - -1.121621790821428e+01 -1.122737918582522e+01 -1.123855214233318e+01 -1.124973679608346e+01 -1.126093316109601e+01 - -1.127214122971816e+01 -1.128336099568353e+01 -1.129459247994368e+01 -1.130583570391351e+01 -1.131709066364352e+01 - -1.132835735316995e+01 -1.133963578383626e+01 -1.135092597165251e+01 -1.136222793398803e+01 -1.137354168289046e+01 - -1.138486720776133e+01 -1.139620450077960e+01 -1.140755358788016e+01 -1.141891449467379e+01 -1.143028721171902e+01 - -1.144167172931863e+01 -1.145306807180483e+01 -1.146447626363145e+01 -1.147589629570943e+01 -1.148732815744427e+01 - -1.149877186576219e+01 -1.151022744176966e+01 -1.152169489577362e+01 -1.153317423307527e+01 -1.154466544975234e+01 - -1.155616854500299e+01 -1.156768353973055e+01 -1.157921045411968e+01 -1.159074928377541e+01 -1.160230002278200e+01 - -1.161386268372032e+01 -1.162543728297182e+01 -1.163702383362365e+01 -1.164862234413445e+01 -1.166023280774309e+01 - -1.167185522083641e+01 -1.168348960761297e+01 -1.169513599109641e+01 -1.170679436179895e+01 -1.171846471050954e+01 - -1.173014706163534e+01 -1.174184143967664e+01 -1.175354783588804e+01 -1.176526623959987e+01 -1.177699666569085e+01 - -1.178873913359907e+01 -1.180049365545172e+01 -1.181226023874721e+01 -1.182403887977966e+01 -1.183582957710202e+01 - -1.184763234950681e+01 -1.185944721571250e+01 -1.187127417390187e+01 -1.188311322026980e+01 -1.189496436359524e+01 - -1.190682761635663e+01 -1.191870299324639e+01 -1.193059050542573e+01 -1.194249014771712e+01 -1.195440191732676e+01 - -1.196632583733436e+01 -1.197826192918009e+01 -1.199021018187259e+01 -1.200217058481946e+01 -1.201414316145583e+01 - -1.202612793653577e+01 -1.203812490606177e+01 -1.205013406283600e+01 -1.206215541561094e+01 -1.207418897775090e+01 - -1.208623476511758e+01 -1.209829279023755e+01 -1.211036304979982e+01 -1.212244554104682e+01 -1.213454027927224e+01 - -1.214664728029985e+01 -1.215876654402256e+01 -1.217089806888390e+01 -1.218304186346073e+01 -1.219519793969503e+01 - -1.220736631285608e+01 -1.221954699446002e+01 -1.223173997768314e+01 -1.224394525782826e+01 -1.225616285704409e+01 - -1.226839279716718e+01 -1.228063507193962e+01 -1.229288967419984e+01 -1.230515662126608e+01 -1.231743593190913e+01 - -1.232972760623024e+01 -1.234203164189830e+01 -1.235434804552219e+01 -1.236667682754052e+01 -1.237901800477097e+01 - -1.239137159078778e+01 -1.240373757981251e+01 -1.241611596680448e+01 -1.242850676902663e+01 -1.244091000477032e+01 - -1.245332567413717e+01 -1.246575377485128e+01 -1.247819431331654e+01 -1.249064729993889e+01 -1.250311275245252e+01 - -1.251559068470151e+01 -1.252808108764087e+01 -1.254058395403090e+01 -1.255309930674196e+01 -1.256562716858205e+01 - -1.257816753199971e+01 -1.259072038911156e+01 -1.260328576106586e+01 -1.261586366917709e+01 -1.262845410639316e+01 - -1.264105706405277e+01 -1.265367255542431e+01 -1.266630059802175e+01 -1.267894120441173e+01 -1.269159438291520e+01 - -1.270426012981745e+01 -1.271693844300063e+01 -1.272962933876972e+01 -1.274233283335257e+01 -1.275504892424538e+01 - -1.276777760888006e+01 -1.278051890316245e+01 -1.279327282335948e+01 -1.280603936870822e+01 -1.281881853703964e+01 - -1.283161033759003e+01 -1.284441478278821e+01 -1.285723188642777e+01 -1.287006165845383e+01 -1.288290409205257e+01 - -1.289575918258311e+01 -1.290862695085492e+01 -1.292150741744502e+01 -1.293440057655018e+01 -1.294730642109768e+01 - -1.296022496531707e+01 -1.297315622664438e+01 -1.298610021403966e+01 -1.299905693252094e+01 -1.301202637981436e+01 - -1.302500855607946e+01 -1.303800347850134e+01 -1.305101116311717e+01 -1.306403160434687e+01 -1.307706479749205e+01 - -1.309011076299821e+01 -1.310316952145874e+01 -1.311624106891474e+01 -1.312932539865738e+01 -1.314242251753035e+01 - -1.315553243732881e+01 -1.316865517610136e+01 -1.318179074759510e+01 -1.319493914209791e+01 -1.320810035188408e+01 - -1.322127440063306e+01 -1.323446131182036e+01 -1.324766107670098e+01 -1.326087368408213e+01 -1.327409914520021e+01 - -1.328733747660298e+01 -1.330058869365459e+01 -1.331385280702646e+01 -1.332712980980294e+01 -1.334041969690924e+01 - -1.335372248822127e+01 -1.336703820316815e+01 -1.338036683444133e+01 -1.339370837465144e+01 -1.340706284282357e+01 - -1.342043025877972e+01 -1.343381061911550e+01 -1.344720391854233e+01 -1.346061016746156e+01 -1.347402937953320e+01 - -1.348746156576247e+01 -1.350090673400032e+01 -1.351436488213541e+01 -1.352783600940468e+01 -1.354132013040003e+01 - -1.355481725974633e+01 -1.356832739684519e+01 -1.358185053959114e+01 -1.359538669507347e+01 -1.360893587411229e+01 - -1.362249809325635e+01 -1.363607336498644e+01 -1.364966167978290e+01 -1.366326303005515e+01 -1.367687743792930e+01 - -1.369050492543861e+01 -1.370414548452841e+01 -1.371779910680898e+01 -1.373146581263829e+01 -1.374514562258463e+01 - -1.375883852931014e+01 -1.377254452369323e+01 -1.378626361738342e+01 -1.379999582664259e+01 -1.381374116541099e+01 - -1.382749964295472e+01 -1.384127125216480e+01 -1.385505598801133e+01 -1.386885387015567e+01 -1.388266491822051e+01 - -1.389648912698253e+01 -1.391032648926665e+01 -1.392417701493663e+01 -1.393804071810552e+01 -1.395191761284479e+01 - -1.396580770902492e+01 -1.397971099975399e+01 -1.399362747983656e+01 -1.400755716762526e+01 -1.402150008127576e+01 - -1.403545621460787e+01 -1.404942556175519e+01 -1.406340814244217e+01 -1.407740397661280e+01 -1.409141305949836e+01 - -1.410543538386059e+01 -1.411947095729565e+01 -1.413351979216372e+01 -1.414758190504674e+01 -1.416165730817942e+01 - -1.417574599218579e+01 -1.418984794931155e+01 -1.420396319989974e+01 -1.421809176459019e+01 -1.423223363711269e+01 - -1.424638880961032e+01 -1.426055729478944e+01 -1.427473910897708e+01 -1.428893426241975e+01 -1.430314276106135e+01 - -1.431736459971596e+01 -1.433159977568000e+01 -1.434584830730895e+01 -1.436011021230267e+01 -1.437438548467938e+01 - -1.438867411856965e+01 -1.440297613223502e+01 -1.441729154417122e+01 -1.443162034967981e+01 -1.444596254173529e+01 - -1.446031812719803e+01 -1.447468711827448e+01 -1.448906953466952e+01 -1.450346539077074e+01 -1.451787467219810e+01 - -1.453229736674074e+01 -1.454673349963205e+01 -1.456118309651608e+01 -1.457564614723534e+01 -1.459012263904241e+01 - -1.460461258463169e+01 -1.461911600163362e+01 -1.463363290198108e+01 -1.464816329304780e+01 -1.466270716966852e+01 - -1.467726452861927e+01 -1.469183538698022e+01 -1.470641976118071e+01 -1.472101764474266e+01 -1.473562903182180e+01 - -1.475025394201659e+01 -1.476489239431922e+01 -1.477954437985420e+01 -1.479420988900897e+01 -1.480888893709030e+01 - -1.482358154289730e+01 -1.483828771427918e+01 -1.485300745484606e+01 -1.486774076220148e+01 -1.488248763590571e+01 - -1.489724808935241e+01 -1.491202213620220e+01 -1.492680977735018e+01 -1.494161101188853e+01 -1.495642584446314e+01 - -1.497125428281713e+01 -1.498609634152866e+01 -1.500095203243959e+01 -1.501582134961145e+01 -1.503070428834008e+01 - -1.504560086663885e+01 -1.506051110171047e+01 -1.507543498479744e+01 -1.509037250787217e+01 -1.510532369178669e+01 - -1.512028855781273e+01 -1.513526710002122e+01 -1.515025931004586e+01 -1.516526519697226e+01 -1.518028477406786e+01 - -1.519531805387558e+01 -1.521036504514735e+01 -1.522542574219565e+01 -1.524050014105165e+01 -1.525558825906066e+01 - -1.527069011317451e+01 -1.528580569745696e+01 -1.530093500454836e+01 -1.531607804428359e+01 -1.533123483115148e+01 - -1.534640538106230e+01 -1.536158970459035e+01 -1.537678778954449e+01 -1.539199962605270e+01 -1.540722523628471e+01 - -1.542246464244602e+01 -1.543771783484346e+01 -1.545298480379291e+01 -1.546826557154514e+01 -1.548356016030771e+01 - -1.549886856018057e+01 -1.551419075889859e+01 -1.552952676684366e+01 -1.554487659991805e+01 -1.556024027345857e+01 - -1.557561779759322e+01 -1.559100916218038e+01 -1.560641435912106e+01 -1.562183340875659e+01 -1.563726633124305e+01 - -1.565271311755539e+01 -1.566817375858786e+01 -1.568364827409284e+01 -1.569913668435983e+01 -1.571463898296877e+01 - -1.573015516140282e+01 -1.574568522946743e+01 -1.576122920078429e+01 -1.577678708591764e+01 -1.579235889192325e+01 - -1.580794461488044e+01 -1.582354425266206e+01 -1.583915782129173e+01 -1.585478533595468e+01 -1.587042679033195e+01 - -1.588608217713541e+01 -1.590175150670428e+01 -1.591743479377280e+01 -1.593313205302798e+01 -1.594884329356461e+01 - -1.596456850215542e+01 -1.598030766876410e+01 -1.599606081844003e+01 -1.601182797567503e+01 -1.602760912764517e+01 - -1.604340426053651e+01 -1.605921339389068e+01 -1.607503654929621e+01 -1.609087372317365e+01 -1.610672490846679e+01 - -1.612259010938000e+01 -1.613846933535691e+01 -1.615436260553746e+01 -1.617026993400350e+01 -1.618619130490810e+01 - -1.620212670496088e+01 -1.621807616102629e+01 -1.623403970021593e+01 -1.625001731047507e+01 -1.626600897617460e+01 - -1.628201470655392e+01 -1.629803451699528e+01 -1.631406842258372e+01 -1.633011643368945e+01 -1.634617854212047e+01 - -1.636225474110459e+01 -1.637834504811086e+01 -1.639444948009596e+01 -1.641056802772599e+01 -1.642670068226715e+01 - -1.644284746367691e+01 -1.645900839255391e+01 -1.647518346337059e+01 -1.649137266740475e+01 -1.650757600928198e+01 - -1.652379349905581e+01 -1.654002515514406e+01 -1.655627099138395e+01 -1.657253099492616e+01 -1.658880515436409e+01 - -1.660509349074862e+01 -1.662139602569388e+01 -1.663771275060954e+01 -1.665404365442992e+01 -1.667038874639235e+01 - -1.668674804082613e+01 -1.670312155212567e+01 -1.671950928959044e+01 -1.673591124207530e+01 -1.675232740091000e+01 - -1.676875778776886e+01 -1.678520242381186e+01 -1.680166129779755e+01 -1.681813439803682e+01 -1.683462174345131e+01 - -1.685112335404732e+01 -1.686763922355921e+01 -1.688416934305047e+01 -1.690071371917313e+01 -1.691727236387981e+01 - -1.693384529473730e+01 -1.695043252373442e+01 -1.696703403493436e+01 -1.698364981519248e+01 -1.700027989045860e+01 - -1.701692428668450e+01 -1.703358299073511e+01 -1.705025598664567e+01 -1.706694328621936e+01 -1.708364490699094e+01 - -1.710036086165371e+01 -1.711709115711999e+01 -1.713383578201967e+01 -1.715059472804424e+01 -1.716736801741393e+01 - -1.718415567151382e+01 -1.720095767785962e+01 -1.721777402421613e+01 -1.723460473321376e+01 -1.725144982735173e+01 - -1.726830929373925e+01 -1.728518311723097e+01 -1.730207130905323e+01 -1.731897388644410e+01 -1.733589086431708e+01 - -1.735282225151622e+01 -1.736976803493245e+01 -1.738672820398455e+01 -1.740370278015603e+01 -1.742069178532102e+01 - -1.743769521085149e+01 -1.745471304524893e+01 -1.747174529603476e+01 -1.748879197614670e+01 -1.750585310116775e+01 - -1.752292868122209e+01 -1.754001870195336e+01 -1.755712315207324e+01 -1.757424205704595e+01 -1.759137544124289e+01 - -1.760852328791187e+01 -1.762568558032359e+01 -1.764286234296404e+01 -1.766005360135051e+01 -1.767725934391039e+01 - -1.769447955614261e+01 -1.771171424892207e+01 -1.772896343807829e+01 -1.774622713388326e+01 -1.776350534196338e+01 - -1.778079805492016e+01 -1.779810526797336e+01 -1.781542699984077e+01 -1.783276326793605e+01 -1.785011406095838e+01 - -1.786747936642481e+01 -1.788485919583838e+01 -1.790225356596892e+01 -1.791966249066770e+01 -1.793708597750879e+01 - -1.795452401187612e+01 -1.797197658287230e+01 -1.798944371666477e+01 -1.800692543788475e+01 -1.802442172795408e+01 - -1.804193256819016e+01 -1.805945798270200e+01 -1.807699799758296e+01 -1.809455260407236e+01 -1.811212178929598e+01 - -1.812970555877947e+01 -1.814730392419934e+01 -1.816491690343573e+01 -1.818254450889657e+01 -1.820018672489731e+01 - -1.821784353770839e+01 -1.823551496951270e+01 -1.825320104351004e+01 -1.827090175105552e+01 -1.828861707995103e+01 - -1.830634703563002e+01 -1.832409162961503e+01 -1.834185088015348e+01 -1.835962479982180e+01 -1.837741337178776e+01 - -1.839521658191638e+01 -1.841303445627024e+01 -1.843086702044687e+01 -1.844871425798603e+01 -1.846657615155986e+01 - -1.848445272242748e+01 -1.850234399331442e+01 -1.852024995422484e+01 -1.853817059263430e+01 -1.855610591862525e+01 - -1.857405594751762e+01 -1.859202069297440e+01 -1.861000016303027e+01 -1.862799434486363e+01 -1.864600322762024e+01 - -1.866402682917165e+01 -1.868206516860479e+01 -1.870011824114266e+01 -1.871818603889838e+01 -1.873626856540951e+01 - -1.875436582948875e+01 -1.877247784962497e+01 -1.879060463922456e+01 -1.880874618168810e+01 -1.882690246254704e+01 - -1.884507350586227e+01 -1.886325933574866e+01 -1.888145993800745e+01 -1.889967529731236e+01 -1.891790543214035e+01 - -1.893615036295555e+01 -1.895441008436764e+01 -1.897268458788422e+01 -1.899097387845919e+01 -1.900927796546465e+01 - -1.902759686249918e+01 -1.904593057916082e+01 -1.906427910481893e+01 -1.908264243109121e+01 -1.910102057881749e+01 - -1.911941356739387e+01 -1.913782138121961e+01 -1.915624400568942e+01 -1.917468146517671e+01 -1.919313378404767e+01 - -1.921160094766128e+01 -1.923008293912871e+01 -1.924857977157690e+01 -1.926709146357444e+01 -1.928561802544077e+01 - -1.930415946120927e+01 -1.932271575801813e+01 -1.934128690695999e+01 -1.935987293184044e+01 -1.937847385553680e+01 - -1.939708966450047e+01 -1.941572034241033e+01 -1.943436589828115e+01 -1.945302634705033e+01 -1.947170170200994e+01 - -1.949039197138318e+01 -1.950909714476303e+01 -1.952781721398065e+01 -1.954655219845012e+01 -1.956530211609402e+01 - -1.958406695128608e+01 -1.960284668959667e+01 -1.962164135493148e+01 -1.964045097168231e+01 -1.965927552785040e+01 - -1.967811500826448e+01 -1.969696942145404e+01 -1.971583878200212e+01 -1.973472310500559e+01 -1.975362239928199e+01 - -1.977253664801789e+01 -1.979146583743514e+01 -1.981040999152762e+01 -1.982936913462439e+01 -1.984834325462312e+01 - -1.986733233626431e+01 -1.988633638809098e+01 -1.990535542475069e+01 -1.992438946150660e+01 -1.994343850724086e+01 - -1.996250254469571e+01 -1.998158155988759e+01 -2.000067557806942e+01 -2.001978462401460e+01 -2.003890868134189e+01 - -2.005804773353269e+01 -2.007720180467363e+01 -2.009637091866160e+01 -2.011555505802958e+01 -2.013475420367532e+01 - -2.015396837131929e+01 -2.017319758216888e+01 -2.019244184455664e+01 -2.021170116029698e+01 -2.023097551800653e+01 - -2.025026491057744e+01 -2.026956936120177e+01 -2.028888889127859e+01 -2.030822348473533e+01 -2.032757312336421e+01 - -2.034693781788847e+01 -2.036631758558183e+01 -2.038571244098909e+01 -2.040512239225047e+01 -2.042454742461679e+01 - -2.044398752597867e+01 -2.046344271767523e+01 -2.048291302072143e+01 -2.050239842138679e+01 -2.052189890581644e+01 - -2.054141449440303e+01 -2.056094520839277e+01 -2.058049103819856e+01 -2.060005197091200e+01 -2.061962801117254e+01 - -2.063921916971323e+01 -2.065882546409381e+01 -2.067844690614864e+01 -2.069808347798381e+01 -2.071773516441981e+01 - -2.073740199086278e+01 -2.075708398272239e+01 -2.077678112483692e+01 -2.079649339928443e+01 -2.081622081767353e+01 - -2.083596339752241e+01 -2.085572115045732e+01 -2.087549408142252e+01 -2.089528217452614e+01 -2.091508541798258e+01 - -2.093490383726751e+01 -2.095473745703866e+01 -2.097458626142068e+01 -2.099445023367205e+01 -2.101432939411960e+01 - -2.103422376365449e+01 -2.105413332835716e+01 -2.107405807288499e+01 -2.109399801101360e+01 -2.111395316146354e+01 - -2.113392353361706e+01 -2.115390913036233e+01 -2.117390993794961e+01 -2.119392594678185e+01 -2.121395718051052e+01 - -2.123400366165125e+01 -2.125406537492771e+01 -2.127414230292253e+01 -2.129423445744600e+01 -2.131434185603574e+01 - -2.133446450991120e+01 -2.135460242400538e+01 -2.137475558442359e+01 -2.139492398094176e+01 -2.141510763684612e+01 - -2.143530657354728e+01 -2.145552077144329e+01 -2.147575021223202e+01 -2.149599492382317e+01 -2.151625493458459e+01 - -2.153653022850520e+01 -2.155682078515937e+01 -2.157712661084235e+01 -2.159744772002078e+01 -2.161778413312624e+01 - -2.163813586321833e+01 -2.165850288790379e+01 -2.167888518769065e+01 -2.169928279014487e+01 -2.171969572392566e+01 - -2.174012397500749e+01 -2.176056752455845e+01 -2.178102637720577e+01 -2.180150054539059e+01 -2.182199004935065e+01 - -2.184249490264348e+01 -2.186301508430896e+01 -2.188355057625899e+01 -2.190410140641098e+01 -2.192466760199104e+01 - -2.194524914145450e+01 -2.196584600311797e+01 -2.198645821351363e+01 -2.200708580045210e+01 -2.202772874864248e+01 - -2.204838703903658e+01 -2.206906068065864e+01 -2.208974968965916e+01 -2.211045408262128e+01 -2.213117386881762e+01 - -2.215190902784613e+01 -2.217265954271720e+01 -2.219342543976576e+01 -2.221420674565993e+01 -2.223500344507609e+01 - -2.225581551916326e+01 -2.227664297695268e+01 -2.229748583458740e+01 -2.231834410877561e+01 -2.233921780886325e+01 - -2.236010691418214e+01 -2.238101140757746e+01 -2.240193131596196e+01 -2.242286666626994e+01 -2.244381744145418e+01 - -2.246478362333585e+01 -2.248576523319086e+01 -2.250676229308250e+01 -2.252777478876882e+01 -2.254880270395783e+01 - -2.256984605046237e+01 -2.259090484578745e+01 -2.261197910210208e+01 -2.263306882483333e+01 -2.265417399777652e+01 - -2.267529460825966e+01 -2.269643067937303e+01 -2.271758223358744e+01 -2.273874925513337e+01 -2.275993172840441e+01 - -2.278112967668665e+01 -2.280234312326570e+01 -2.282357205253301e+01 -2.284481644618636e+01 -2.286607631404299e+01 - -2.288735167241803e+01 -2.290864253549898e+01 -2.292994891082159e+01 -2.295127078144212e+01 -2.297260813386354e+01 - -2.299396099285480e+01 -2.301532938287575e+01 -2.303671328888409e+01 -2.305811269234469e+01 -2.307952760025338e+01 - -2.310095802706863e+01 -2.312240399156859e+01 -2.314386550544134e+01 -2.316534254769484e+01 -2.318683510020089e+01 - -2.320834318896662e+01 -2.322986684000025e+01 -2.325140603517923e+01 -2.327296075598023e+01 -2.329453102640753e+01 - -2.331611687084991e+01 -2.333771827270656e+01 -2.335933521295700e+01 -2.338096770389138e+01 -2.340261576396985e+01 - -2.342427940502197e+01 -2.344595863230511e+01 -2.346765343141823e+01 -2.348936379112492e+01 -2.351108973250527e+01 - -2.353283127622654e+01 -2.355458840898814e+01 -2.357636111469370e+01 -2.359814940003157e+01 -2.361995327887107e+01 - -2.364177277102066e+01 -2.366360788867084e+01 -2.368545860760097e+01 -2.370732490730504e+01 -2.372920681854641e+01 - -2.375110437181196e+01 -2.377301754521346e+01 -2.379494631547129e+01 -2.381689070611525e+01 -2.383885074279985e+01 - -2.386082641286912e+01 -2.388281770027697e+01 -2.390482461372720e+01 -2.392684716763744e+01 -2.394888537453080e+01 - -2.397093924094647e+01 -2.399300875138237e+01 -2.401509389381072e+01 -2.403719469214220e+01 -2.405931116939521e+01 - -2.408144330908079e+01 -2.410359109227195e+01 -2.412575452979684e+01 -2.414793363861520e+01 -2.417012843045825e+01 - -2.419233891107258e+01 -2.421456506749473e+01 -2.423680688969797e+01 -2.425906439811232e+01 -2.428133761196757e+01 - -2.430362651523593e+01 -2.432593109247103e+01 -2.434825136580965e+01 -2.437058735754595e+01 -2.439293905302052e+01 - -2.441530643508021e+01 -2.443768951355032e+01 -2.446008830475372e+01 -2.448250282402539e+01 -2.450493307947941e+01 - -2.452737905133441e+01 -2.454984072340254e+01 -2.457231812176549e+01 -2.459481127247106e+01 -2.461732015916192e+01 - -2.463984476198997e+01 -2.466238508954903e+01 -2.468494115731883e+01 -2.470751297988127e+01 -2.473010056541401e+01 - -2.475270389737600e+01 -2.477532296279144e+01 -2.479795778766421e+01 -2.482060839605179e+01 -2.484327476524651e+01 - -2.486595687297807e+01 -2.488865474549064e+01 -2.491136841050829e+01 -2.493409785316058e+01 -2.495684305468689e+01 - -2.497960402336061e+01 -2.500238077436705e+01 -2.502517332350563e+01 -2.504798167938967e+01 -2.507080582127416e+01 - -2.509364573240812e+01 -2.511650144137505e+01 -2.513937297643642e+01 -2.516226031923135e+01 -2.518516344740990e+01 - -2.520808236928804e+01 -2.523101710100030e+01 -2.525396765928963e+01 -2.527693405405919e+01 -2.529991626724470e+01 - -2.532291428361040e+01 -2.534592812720204e+01 -2.536895782110043e+01 -2.539200334524508e+01 -2.541506468057373e+01 - -2.543814185515816e+01 -2.546123489657537e+01 -2.548434378328921e+01 -2.550746849096137e+01 -2.553060903315797e+01 - -2.555376543163097e+01 -2.557693770297151e+01 -2.560012585444837e+01 -2.562332986120158e+01 -2.564654970308929e+01 - -2.566978541097076e+01 -2.569303701597250e+01 -2.571630449928904e+01 -2.573958783754457e+01 -2.576288703901380e+01 - -2.578620212017663e+01 -2.580953309868325e+01 -2.583287998467666e+01 -2.585624275710073e+01 -2.587962139846310e+01 - -2.590301593672573e+01 -2.592642639921134e+01 -2.594985276523152e+01 -2.597329501305775e+01 -2.599675316481207e+01 - -2.602022724494944e+01 -2.604371724340627e+01 -2.606722314554395e+01 -2.609074495294231e+01 -2.611428267453130e+01 - -2.613783633242288e+01 -2.616140594232113e+01 -2.618499148111656e+01 -2.620859292804694e+01 -2.623221031055255e+01 - -2.625584365675950e+01 -2.627949294933480e+01 -2.630315816707157e+01 -2.632683931872623e+01 -2.635053642045652e+01 - -2.637424948806206e+01 -2.639797853015353e+01 -2.642172352694394e+01 -2.644548446269175e+01 -2.646926136623515e+01 - -2.649305426487780e+01 -2.651686313520573e+01 -2.654068795336410e+01 -2.656452874445229e+01 -2.658838553565089e+01 - -2.661225831351167e+01 -2.663614706041860e+01 -2.666005178271351e+01 -2.668397249386109e+01 -2.670790921185966e+01 - -2.673186194785124e+01 -2.675583068101895e+01 -2.677981539336416e+01 -2.680381611012034e+01 -2.682783285712106e+01 - -2.685186561936856e+01 -2.687591437786270e+01 -2.689997913842517e+01 -2.692405991477839e+01 -2.694815672742597e+01 - -2.697226958936361e+01 -2.699639847677425e+01 -2.702054336911223e+01 -2.704470429573021e+01 -2.706888128546201e+01 - -2.709307431516761e+01 -2.711728336172764e+01 -2.714150845407871e+01 -2.716574962162754e+01 -2.719000684360529e+01 - -2.721428009605862e+01 -2.723856939247152e+01 -2.726287475352885e+01 -2.728719619128178e+01 -2.731153370993099e+01 - -2.733588729090867e+01 -2.736025692081293e+01 -2.738464262967399e+01 -2.740904444482641e+01 -2.743346233939021e+01 - -2.745789628706843e+01 -2.748234631811058e+01 -2.750681246441337e+01 -2.753129470791622e+01 -2.755579302585287e+01 - -2.758030742659158e+01 -2.760483792680023e+01 -2.762938454521084e+01 -2.765394729250735e+01 -2.767852614511706e+01 - -2.770312108289846e+01 -2.772773213369129e+01 -2.775235932608502e+01 -2.777700264368704e+01 -2.780166206614083e+01 - -2.782633760221619e+01 -2.785102926812099e+01 -2.787573708068912e+01 -2.790046104903706e+01 -2.792520115078565e+01 - -2.794995736764946e+01 -2.797472972921345e+01 -2.799951826412358e+01 -2.802432294939970e+01 -2.804914376169005e+01 - -2.807398072778233e+01 -2.809883387567351e+01 -2.812370318805837e+01 -2.814858864438241e+01 -2.817349025639583e+01 - -2.819840804241009e+01 -2.822334201467696e+01 -2.824829217820057e+01 -2.827325851505399e+01 -2.829824101147483e+01 - -2.832323969328987e+01 -2.834825458594292e+01 -2.837328567375688e+01 -2.839833293713809e+01 -2.842339638194745e+01 - -2.844847602232610e+01 -2.847357188008160e+01 -2.849868396869187e+01 -2.852381226064981e+01 -2.854895673259501e+01 - -2.857411741873861e+01 -2.859929435285462e+01 -2.862448750939692e+01 -2.864969686163745e+01 -2.867492243744038e+01 - -2.870016426611871e+01 -2.872542232818885e+01 -2.875069660076976e+01 -2.877598709618692e+01 -2.880129383482867e+01 - -2.882661683412842e+01 -2.885195610246809e+01 -2.887731161497835e+01 -2.890268335136361e+01 -2.892807134287440e+01 - -2.895347562064698e+01 -2.897889616381469e+01 -2.900433294736006e+01 -2.902978598166526e+01 -2.905525528595928e+01 - -2.908074087945912e+01 -2.910624277257485e+01 -2.913176094050105e+01 -2.915729536236611e+01 -2.918284606824940e+01 - -2.920841308797334e+01 -2.923399639938179e+01 -2.925959597987842e+01 -2.928521185708459e+01 -2.931084405942344e+01 - -2.933649256830759e+01 -2.936215736109871e+01 -2.938783844596477e+01 -2.941353583979598e+01 -2.943924956356517e+01 - -2.946497963001566e+01 -2.949072601489006e+01 -2.951648869675137e+01 -2.954226770244480e+01 -2.956806305999476e+01 - -2.959387475386040e+01 -2.961970276467950e+01 -2.964554710136948e+01 -2.967140778023144e+01 -2.969728481882160e+01 - -2.972317822671904e+01 -2.974908798033929e+01 -2.977501406036931e+01 -2.980095649774566e+01 -2.982691532231985e+01 - -2.985289050935425e+01 -2.987888203414534e+01 -2.990488992671488e+01 -2.993091421806754e+01 -2.995695488841446e+01 - -2.998301191396682e+01 -3.000908530572931e+01 -3.003517508294127e+01 -3.006128126298706e+01 -3.008740385472813e+01 - -3.011354283478899e+01 -3.013969818396866e+01 -3.016586993200092e+01 -3.019205810852835e+01 -3.021826269389396e+01 - -3.024448366459688e+01 -3.027072103106001e+01 -3.029697481234801e+01 -3.032324502816885e+01 -3.034953168930138e+01 - -3.037583477016444e+01 -3.040215424919064e+01 -3.042849015722735e+01 -3.045484252487287e+01 -3.048121132931426e+01 - -3.050759654718701e+01 -3.053399820633122e+01 -3.056041633582694e+01 -3.058685091850949e+01 -3.061330193277164e+01 - -3.063976938548045e+01 -3.066625329189824e+01 -3.069275367239408e+01 -3.071927054017274e+01 -3.074580387467516e+01 - -3.077235365736276e+01 -3.079891991154272e+01 -3.082550266154129e+01 -3.085210189391538e+01 -3.087871759159065e+01 - -3.090534976073683e+01 -3.093199841535169e+01 -3.095866357750086e+01 -3.098534526117247e+01 -3.101204343997652e+01 - -3.103875809113482e+01 -3.106548924669440e+01 -3.109223693806243e+01 -3.111900113926174e+01 -3.114578182447812e+01 - -3.117257902593346e+01 -3.119939277712214e+01 -3.122622305859262e+01 -3.125306984560579e+01 -3.127993314521812e+01 - -3.130681297362548e+01 -3.133370935178603e+01 -3.136062229292185e+01 -3.138755177454848e+01 -3.141449777743489e+01 - -3.144146033107010e+01 -3.146843946420585e+01 -3.149543515392452e+01 -3.152244737446985e+01 -3.154947614039987e+01 - -3.157652147508332e+01 -3.160358339681746e+01 -3.163066191390917e+01 -3.165775699977537e+01 -3.168486863280270e+01 - -3.171199684614663e+01 -3.173914167265754e+01 -3.176630308919665e+01 -3.179348107134120e+01 -3.182067564552154e+01 - -3.184788683989369e+01 -3.187511463866380e+01 -3.190235902163426e+01 -3.192961999494226e+01 -3.195689757352222e+01 - -3.198419178116283e+01 -3.201150263346307e+01 -3.203883010440887e+01 -3.206617417058478e+01 -3.209353486058297e+01 - -3.212091220418486e+01 -3.214830618392138e+01 -3.217571677868305e+01 -3.220314400004898e+01 -3.223058786708538e+01 - -3.225804839611857e+01 -3.228552559489243e+01 -3.231301943956095e+01 -3.234052991162765e+01 -3.236805704558397e+01 - -3.239560087404328e+01 -3.242316136911894e+01 -3.245073850255218e+01 -3.247833230509534e+01 -3.250594280965240e+01 - -3.253356999872297e+01 -3.256121385028732e+01 -3.258887437465276e+01 -3.261655158960600e+01 -3.264424551052439e+01 - -3.267195614529539e+01 -3.269968347425627e+01 -3.272742748229857e+01 -3.275518820008119e+01 -3.278296565603427e+01 - -3.281075982390590e+01 -3.283857067801981e+01 -3.286639824968410e+01 -3.289424257141810e+01 -3.292210362360176e+01 - -3.294998138240963e+01 -3.297787585933321e+01 -3.300578707421773e+01 -3.303371504500630e+01 -3.306165978102434e+01 - -3.308962125902853e+01 -3.311759946003357e+01 -3.314559441465483e+01 -3.317360615365304e+01 -3.320163465877013e+01 - -3.322967990687330e+01 -3.325774190434956e+01 -3.328582066713852e+01 -3.331391621987054e+01 -3.334202857831301e+01 - -3.337015771409062e+01 -3.339830360273710e+01 -3.342646627956469e+01 -3.345464577921614e+01 -3.348284207387808e+01 - -3.351105513572078e+01 -3.353928499930519e+01 -3.356753169996216e+01 -3.359579521371194e+01 -3.362407551222610e+01 - -3.365237260909204e+01 -3.368068652715969e+01 -3.370901728441355e+01 -3.373736488954338e+01 -3.376572931892538e+01 - -3.379411055342771e+01 -3.382250862419983e+01 -3.385092356238306e+01 -3.387935534880526e+01 -3.390780395979943e+01 - -3.393626940403256e+01 -3.396475169950308e+01 -3.399325086920118e+01 -3.402176692682492e+01 -3.405029984391190e+01 - -3.407884959628061e+01 -3.410741621903333e+01 -3.413599974690003e+01 -3.416460015383780e+01 -3.419321741347679e+01 - -3.422185155891206e+01 -3.425050262370409e+01 -3.427917058381036e+01 -3.430785541111823e+01 -3.433655711883738e+01 - -3.436527572977491e+01 -3.439401126380553e+01 -3.442276373145798e+01 -3.445153310880944e+01 -3.448031937598221e+01 - -3.450912256373026e+01 -3.453794270224409e+01 -3.456677976882821e+01 -3.459563373771100e+01 -3.462450462370172e+01 - -3.465339245071625e+01 -3.468229723851619e+01 -3.471121899611902e+01 -3.474015769371995e+01 -3.476911330776019e+01 - -3.479808587848705e+01 -3.482707544447295e+01 -3.485608197378501e+01 -3.488510543365825e+01 -3.491414585850467e+01 - -3.494320328527482e+01 -3.497227769389696e+01 -3.500136905869145e+01 -3.503047738856913e+01 -3.505960270226024e+01 - -3.508874502318216e+01 -3.511790436512474e+01 -3.514708069868058e+01 -3.517627399907308e+01 -3.520548430324607e+01 - -3.523471164812467e+01 -3.526395600883895e+01 -3.529321735592740e+01 -3.532249570335686e+01 -3.535179107461137e+01 - -3.538110348781549e+01 -3.541043295179184e+01 -3.543977944351469e+01 -3.546914294470585e+01 -3.549852348792567e+01 - -3.552792110371767e+01 -3.555733576371960e+01 -3.558676744035331e+01 -3.561621616808287e+01 -3.564568198278825e+01 - -3.567516486397158e+01 -3.570466478590109e+01 -3.573418175828719e+01 -3.576371580017962e+01 -3.579326693254331e+01 - -3.582283516733191e+01 -3.585242047853867e+01 -3.588202284498269e+01 -3.591164230274704e+01 -3.594127888660625e+01 - -3.597093256883734e+01 -3.600060331833949e+01 -3.603029115299790e+01 -3.605999610029281e+01 -3.608971817709886e+01 - -3.611945738978410e+01 -3.614921371329605e+01 -3.617898712799953e+01 -3.620877766734910e+01 -3.623858536391516e+01 - -3.626841019364145e+01 -3.629825213180558e+01 -3.632811120764664e+01 -3.635798745148868e+01 -3.638788084403422e+01 - -3.641779136227628e+01 -3.644771901799147e+01 -3.647766383142195e+01 -3.650762582188893e+01 -3.653760499949427e+01 - -3.656760133838370e+01 -3.659761481766282e+01 -3.662764547223315e+01 -3.665769333671685e+01 -3.668775838882340e+01 - -3.671784060113342e+01 -3.674793998262476e+01 -3.677805655273779e+01 -3.680819033636626e+01 -3.683834134900049e+01 - -3.686850956306390e+01 -3.689869495454472e+01 -3.692889755675729e+01 -3.695911740229619e+01 -3.698935446355054e+01 - -3.701960871343802e+01 -3.704988018719579e+01 -3.708016892120266e+01 -3.711047489408478e+01 -3.714079807933708e+01 - -3.717113848768184e+01 -3.720149613882988e+01 -3.723187105121882e+01 -3.726226323497034e+01 -3.729267266821555e+01 - -3.732309933333587e+01 -3.735354326170426e+01 -3.738400448395760e+01 -3.741448297879693e+01 -3.744497872108128e+01 - -3.747549172223736e+01 -3.750602200310610e+01 -3.753656958561755e+01 -3.756713448177913e+01 -3.759771666281819e+01 - -3.762831610507856e+01 -3.765893284615005e+01 -3.768956692232328e+01 -3.772021830344675e+01 -3.775088695941269e+01 - -3.778157292673024e+01 -3.781227624306894e+01 -3.784299688412320e+01 -3.787373482086582e+01 -3.790449006735824e+01 - -3.793526264738479e+01 -3.796605258053289e+01 -3.799685987630166e+01 -3.802768450803411e+01 -3.805852645435349e+01 - -3.808938575116029e+01 -3.812026243387959e+01 -3.815115647875793e+01 -3.818206785737669e+01 -3.821299658183555e+01 - -3.824394267407146e+01 -3.827490615485264e+01 -3.830588703573063e+01 -3.833688529255877e+01 -3.836790090523419e+01 - -3.839893390552727e+01 -3.842998432385276e+01 -3.846105213333004e+01 -3.849213730842061e+01 -3.852323988624988e+01 - -3.855435990371658e+01 -3.858549733414936e+01 -3.861665214665468e+01 -3.864782435702053e+01 -3.867901399128823e+01 - -3.871022106983104e+01 -3.874144560188923e+01 -3.877268755783931e+01 -3.880394691415978e+01 -3.883522371060106e+01 - -3.886651798555487e+01 -3.889782970870629e+01 -3.892915884903668e+01 -3.896050544141922e+01 -3.899186952243698e+01 - -3.902325106962145e+01 -3.905465005558139e+01 -3.908606649228560e+01 -3.911750040150871e+01 -3.914895180488885e+01 - -3.918042071436301e+01 -3.921190710320024e+01 -3.924341094905042e+01 -3.927493228575462e+01 -3.930647114756201e+01 - -3.933802751416320e+01 -3.936960136044893e+01 -3.940119269666864e+01 -3.943280154239230e+01 -3.946442791911308e+01 - -3.949607183932866e+01 -3.952773327763106e+01 -3.955941221301939e+01 -3.959110868002649e+01 -3.962282271157864e+01 - -3.965455427864192e+01 -3.968630335291520e+01 -3.971806997098832e+01 -3.974985417066340e+01 -3.978165592970123e+01 - -3.981347522024374e+01 -3.984531205199855e+01 -3.987716644515135e+01 -3.990903842423468e+01 -3.994092800366619e+01 - -3.997283515305731e+01 -4.000475984705376e+01 -4.003670212524431e+01 -4.006866202678586e+01 -4.010063952416471e+01 - -4.013263458527370e+01 -4.016464722630246e+01 -4.019667747391531e+01 -4.022872534837892e+01 -4.026079085897078e+01 - -4.029287397740929e+01 -4.032497468131004e+01 -4.035709300943645e+01 -4.038922899883853e+01 -4.042138261856475e+01 - -4.045355383733334e+01 -4.048574269054266e+01 -4.051794921541258e+01 -4.055017338976896e+01 -4.058241518694505e+01 - -4.061467462169752e+01 -4.064695171778673e+01 -4.067924649356458e+01 -4.071155895737036e+01 -4.074388908290122e+01 - -4.077623684962312e+01 -4.080860229471885e+01 -4.084098545450960e+01 -4.087338630415373e+01 -4.090580481395003e+01 - -4.093824099592192e+01 -4.097069487270115e+01 -4.100316646762842e+01 -4.103565579436854e+01 -4.106816282717386e+01 - -4.110068754422534e+01 -4.113322997883087e+01 -4.116579016300655e+01 -4.119836806847471e+01 -4.123096366815907e+01 - -4.126357700008218e+01 -4.129620810254014e+01 -4.132885694982463e+01 -4.136152351139461e+01 -4.139420780138244e+01 - -4.142690984447184e+01 -4.145962966287846e+01 -4.149236726828771e+01 -4.152512263273182e+01 -4.155789573295193e+01 - -4.159068660417814e+01 -4.162349528189675e+01 -4.165632174413023e+01 -4.168916596438000e+01 -4.172202795552684e+01 - -4.175490773972726e+01 -4.178780533686147e+01 -4.182072075745918e+01 -4.185365397692470e+01 -4.188660497553830e+01 - -4.191957378820953e+01 -4.195256044830271e+01 -4.198556492837179e+01 -4.201858720098863e+01 -4.205162729960676e+01 - -4.208468525919077e+01 -4.211776105986812e+01 -4.215085467691669e+01 -4.218396612105321e+01 -4.221709541226407e+01 - -4.225024257217616e+01 -4.228340761361360e+01 -4.231659051254899e+01 -4.234979124870078e+01 -4.238300985362200e+01 - -4.241624635885866e+01 -4.244950074409413e+01 -4.248277298525672e+01 -4.251606309511715e+01 -4.254937109530931e+01 - -4.258269700607782e+01 -4.261604083828603e+01 -4.264940256666174e+01 -4.268278217100897e+01 -4.271617968757233e+01 - -4.274959515039267e+01 -4.278302852825576e+01 -4.281647979114838e+01 -4.284994897911630e+01 -4.288343613339240e+01 - -4.291694122989936e+01 -4.295046423857267e+01 -4.298400517070971e+01 -4.301756404788966e+01 -4.305114089145757e+01 - -4.308473571388112e+01 -4.311834849235274e+01 -4.315197920801049e+01 -4.318562789305037e+01 -4.321929457904871e+01 - -4.325297924404543e+01 -4.328668186207582e+01 -4.332040244469275e+01 -4.335414101381126e+01 -4.338789759527743e+01 - -4.342167220389723e+01 -4.345546480638487e+01 -4.348927537558045e+01 -4.352310395691921e+01 -4.355695059370569e+01 - -4.359081524812669e+01 -4.362469788222823e+01 -4.365859853861065e+01 -4.369251726260594e+01 -4.372645402991838e+01 - -4.376040880917880e+01 -4.379438161035186e+01 -4.382837245512241e+01 -4.386238137072252e+01 -4.389640837367813e+01 - -4.393045343214298e+01 -4.396451651875527e+01 -4.399859767246311e+01 -4.403269693263155e+01 -4.406681427398399e+01 - -4.410094966630350e+01 -4.413510312425358e+01 -4.416927467295284e+01 -4.420346433446015e+01 -4.423767212069691e+01 - -4.427189800609401e+01 -4.430614196966567e+01 -4.434040404624994e+01 -4.437468426893484e+01 -4.440898260798443e+01 - -4.444329903479183e+01 -4.447763358808973e+01 -4.451198630763288e+01 -4.454635716992501e+01 -4.458074614621454e+01 - -4.461515324997958e+01 -4.464957850449220e+01 -4.468402192997090e+01 -4.471848353715485e+01 -4.475296330191956e+01 - -4.478746120505344e+01 -4.482197728186011e+01 -4.485651156648301e+01 -4.489106403390974e+01 -4.492563465506775e+01 - -4.496022344379944e+01 -4.499483042484561e+01 -4.502945562362576e+01 -4.506409905435962e+01 -4.509876068578905e+01 - -4.513344049220396e+01 -4.516813851556444e+01 -4.520285479589762e+01 -4.523758929782897e+01 -4.527234198687941e+01 - -4.530711290755342e+01 -4.534190210524451e+01 -4.537670954991925e+01 -4.541153520580425e+01 -4.544637908959269e+01 - -4.548124122972980e+01 -4.551612164920255e+01 -4.555102035951307e+01 -4.558593733168242e+01 -4.562087254236648e+01 - -4.565582603124118e+01 -4.569079783605451e+01 -4.572578792382265e+01 -4.576079626235065e+01 -4.579582289333027e+01 - -4.583086785976433e+01 -4.586593113601344e+01 -4.590101269036680e+01 -4.593611253546989e+01 -4.597123069530716e+01 - -4.600636719486254e+01 -4.604152204856955e+01 -4.607669522766013e+01 -4.611188670797630e+01 -4.614709652700154e+01 - -4.618232472227299e+01 -4.621757126990104e+01 -4.625283614113306e+01 -4.628811934919114e+01 -4.632342091751210e+01 - -4.635874086841728e+01 -4.639407921460932e+01 -4.642943593143147e+01 -4.646481099859044e+01 -4.650020445060623e+01 - -4.653561632090474e+01 -4.657104658372261e+01 -4.660649521327068e+01 -4.664196224284595e+01 -4.667744770698098e+01 - -4.671295158606459e+01 -4.674847385553061e+01 -4.678401452513644e+01 -4.681957361522331e+01 -4.685515115414413e+01 - -4.689074715945064e+01 -4.692636159747788e+01 -4.696199443933372e+01 -4.699764572643400e+01 -4.703331550121288e+01 - -4.706900373987032e+01 -4.710471041222129e+01 -4.714043552877479e+01 -4.717617911151273e+01 -4.721194118761495e+01 - -4.724772177397794e+01 -4.728352084116666e+01 -4.731933836391387e+01 -4.735517437995513e+01 -4.739102892624472e+01 - -4.742690197360956e+01 -4.746279349304486e+01 -4.749870352234630e+01 -4.753463210070628e+01 -4.757057920610364e+01 - -4.760654481072343e+01 -4.764252892478859e+01 -4.767853156968457e+01 -4.771455277340900e+01 -4.775059255327958e+01 - -4.778665087728216e+01 -4.782272771801416e+01 -4.785882311585065e+01 -4.789493711157514e+01 -4.793106967982698e+01 - -4.796722079021173e+01 -4.800339045834357e+01 -4.803957871014897e+01 -4.807578556679541e+01 -4.811201103905631e+01 - -4.814825510088780e+01 -4.818451773166895e+01 -4.822079896928767e+01 -4.825709884980719e+01 -4.829341734348342e+01 - -4.832975442115909e+01 -4.836611012183125e+01 -4.840248448526336e+01 -4.843887748613056e+01 -4.847528909416636e+01 - -4.851171932442625e+01 -4.854816820273300e+01 -4.858463575265701e+01 -4.862112198691646e+01 -4.865762687707282e+01 - -4.869415040003414e+01 -4.873069259525141e+01 -4.876725350118260e+01 -4.880383308977095e+01 -4.884043132904604e+01 - -4.887704823789731e+01 -4.891368384608068e+01 -4.895033817595851e+01 -4.898701123776245e+01 -4.902370300059485e+01 - -4.906041344002308e+01 -4.909714259860375e+01 -4.913389051725400e+01 -4.917065716334413e+01 -4.920744250429804e+01 - -4.924424658130064e+01 -4.928106943700116e+01 -4.931791104614518e+01 -4.935477137752828e+01 -4.939165044404930e+01 - -4.942854827009338e+01 -4.946546488188807e+01 -4.950240029454247e+01 -4.953935447684974e+01 -4.957632740294361e+01 - -4.961331911463601e+01 -4.965032965315336e+01 -4.968735898970213e+01 -4.972440709120082e+01 -4.976147397743583e+01 - -4.979855967878247e+01 -4.983566421510402e+01 -4.987278759472007e+01 -4.990992979028766e+01 -4.994709078100569e+01 - -4.998427060790318e+01 -5.002146930959274e+01 -5.005868685319148e+01 -5.009592320640078e+01 -5.013317841075434e+01 - -5.017045250915469e+01 -5.020774547614742e+01 -5.024505728017924e+01 -5.028238793365752e+01 -5.031973746104961e+01 - -5.035710589110189e+01 -5.039449324090066e+01 -5.043189947661289e+01 -5.046932456973549e+01 -5.050676856400442e+01 - -5.054423150327239e+01 -5.058171335962052e+01 -5.061921409929316e+01 -5.065673373695915e+01 -5.069427229950105e+01 - -5.073182981423184e+01 -5.076940629607507e+01 -5.080700170996615e+01 -5.084461602753602e+01 -5.088224929718589e+01 - -5.091990156525010e+01 -5.095757279302548e+01 -5.099526294209112e+01 -5.103297206019221e+01 -5.107070019605169e+01 - -5.110844731613729e+01 -5.114621338143406e+01 -5.118399841325091e+01 -5.122180244526444e+01 -5.125962550029841e+01 - -5.129746758802490e+01 -5.133532867636215e+01 -5.137320874011100e+01 -5.141110782335645e+01 -5.144902596945006e+01 - -5.148696314952589e+01 -5.152491932947918e+01 -5.156289452646703e+01 -5.160088876945014e+01 -5.163890208334180e+01 - -5.167693448081514e+01 -5.171498592963017e+01 -5.175305640369855e+01 -5.179114594645165e+01 -5.182925460014935e+01 - -5.186738233284598e+01 -5.190552911234031e+01 -5.194369497961412e+01 -5.198187997663295e+01 -5.202008407611459e+01 - -5.205830724580739e+01 -5.209654950282933e+01 -5.213481087573764e+01 -5.217309138947744e+01 -5.221139105690054e+01 - -5.224970984609732e+01 -5.228804773087789e+01 -5.232640475269200e+01 -5.236478095346914e+01 -5.240317630941821e+01 - -5.244159079031952e+01 -5.248002440595931e+01 -5.251847717885386e+01 -5.255694914243367e+01 -5.259544031823210e+01 - -5.263395066927961e+01 -5.267248016335085e+01 -5.271102884570031e+01 -5.274959676081755e+01 -5.278818387265291e+01 - -5.282679014593192e+01 -5.286541562901994e+01 -5.290406037048660e+01 -5.294272433607927e+01 -5.298140748616263e+01 - -5.302010984239256e+01 -5.305883143892672e+01 -5.309757229863885e+01 -5.313633243133304e+01 -5.317511180581835e+01 - -5.321391039785607e+01 -5.325272825201081e+01 -5.329156541074357e+01 -5.333042183929739e+01 -5.336929750308754e+01 - -5.340819244543594e+01 -5.344710671111962e+01 -5.348604027282968e+01 -5.352499309722418e+01 -5.356396519891433e+01 - -5.360295660504364e+01 -5.364196734493171e+01 -5.368099743556814e+01 -5.372004684244607e+01 -5.375911553606044e+01 - -5.379820355840945e+01 -5.383731095277006e+01 -5.387643769603123e+01 -5.391558375867469e+01 -5.395474915194053e+01 - -5.399393389872404e+01 -5.403313802778240e+01 -5.407236155707715e+01 -5.411160445552515e+01 -5.415086669663323e+01 - -5.419014832131279e+01 -5.422944936941720e+01 -5.426876980916325e+01 -5.430810960961936e+01 -5.434746881489674e+01 - -5.438684746929877e+01 -5.442624554285502e+01 -5.446566300018413e+01 -5.450509985853421e+01 -5.454455614758906e+01 - -5.458403189414573e+01 -5.462352711279953e+01 -5.466304177222543e+01 -5.470257584656953e+01 -5.474212937778257e+01 - -5.478170240720980e+01 -5.482129490597043e+01 -5.486090684084346e+01 -5.490053823147309e+01 -5.494018910890276e+01 - -5.497985949690793e+01 -5.501954940653937e+01 -5.505925880521750e+01 -5.509898766755921e+01 -5.513873604059781e+01 - -5.517850396943321e+01 -5.521829141901578e+01 -5.525809835354192e+01 -5.529792481434151e+01 -5.533777084523449e+01 - -5.537763642286803e+01 -5.541752151714192e+01 -5.545742613813913e+01 -5.549735030880384e+01 -5.553729406334213e+01 - -5.557725742375872e+01 -5.561724035199087e+01 -5.565724281465346e+01 -5.569726485713910e+01 -5.573730652628086e+01 - -5.577736779589668e+01 -5.581744863307357e+01 -5.585754905099014e+01 -5.589766907536871e+01 -5.593780873601526e+01 - -5.597796805069111e+01 -5.601814698489535e+01 -5.605834550959182e+01 -5.609856366986563e+01 -5.613880151023810e+01 - -5.617905899885479e+01 -5.621933610311022e+01 -5.625963286377015e+01 -5.629994932270948e+01 -5.634028545286861e+01 - -5.638064122221132e+01 -5.642101664772899e+01 -5.646141175844968e+01 -5.650182658252075e+01 -5.654226113528433e+01 - -5.658271538174220e+01 -5.662318929319503e+01 -5.666368291647893e+01 -5.670419629786259e+01 -5.674472940580990e+01 - -5.678528220346420e+01 -5.682585471049146e+01 -5.686644695909487e+01 -5.690705897510426e+01 -5.694769077129006e+01 - -5.698834231455854e+01 -5.702901357847642e+01 -5.706970460911611e+01 -5.711041545084194e+01 -5.715114606868026e+01 - -5.719189642778805e+01 -5.723266657318249e+01 -5.727345655110785e+01 -5.731426633285666e+01 -5.735509588339112e+01 - -5.739594521730356e+01 -5.743681436264626e+01 -5.747770335168147e+01 -5.751861220364783e+01 -5.755954088147938e+01 - -5.760048935348805e+01 -5.764145766580183e+01 -5.768244586550730e+01 -5.772345392571002e+01 -5.776448181276131e+01 - -5.780552953997691e+01 -5.784659713354442e+01 -5.788768462417462e+01 -5.792879202998626e+01 -5.796991931420698e+01 - -5.801106644664837e+01 -5.805223347834903e+01 -5.809342045860209e+01 -5.813462734849197e+01 -5.817585410820936e+01 - -5.821710078257841e+01 -5.825836741928538e+01 -5.829965399283203e+01 -5.834096047087346e+01 -5.838228686686274e+01 - -5.842363320676851e+01 -5.846499952082397e+01 -5.850638582715609e+01 -5.854779209120221e+01 -5.858921828442874e+01 - -5.863066445510763e+01 -5.867213065032231e+01 -5.871361683559694e+01 -5.875512297138874e+01 -5.879664907944645e+01 - -5.883819519466417e+01 -5.887976134322624e+01 -5.892134753756825e+01 -5.896295374384051e+01 -5.900457993500612e+01 - -5.904622615756436e+01 -5.908789245663575e+01 -5.912957879828990e+01 -5.917128514850664e+01 -5.921301155195771e+01 - -5.925475805384439e+01 -5.929652462279476e+01 -5.933831122286624e+01 -5.938011787640643e+01 -5.942194461763230e+01 - -5.946379146994821e+01 -5.950565844408734e+01 -5.954754551091072e+01 -5.958945264733813e+01 -5.963137989439624e+01 - -5.967332729249499e+01 -5.971529481547052e+01 -5.975728243227523e+01 -5.979929015889982e+01 -5.984131802305070e+01 - -5.988336605225896e+01 -5.992543426246962e+01 -5.996752262345901e+01 -6.000963111046766e+01 -6.005175976676178e+01 - -6.009390863383608e+01 -6.013607767807394e+01 -6.017826686618813e+01 -6.022047624132026e+01 -6.026270584835797e+01 - -6.030495566274465e+01 -6.034722565381767e+01 -6.038951583593452e+01 -6.043182623512069e+01 -6.047415687905394e+01 - -6.051650778421003e+01 -6.055887892060463e+01 -6.060127026325783e+01 -6.064368185366749e+01 -6.068611373308907e+01 - -6.072856587533070e+01 -6.077103824887340e+01 -6.081353086833690e+01 -6.085604376132918e+01 -6.089857696127247e+01 - -6.094113048823596e+01 -6.098370430306234e+01 -6.102629837247437e+01 -6.106891274594116e+01 -6.111154747264118e+01 - -6.115420251784390e+01 -6.119687784580902e+01 -6.123957350066591e+01 -6.128228952841628e+01 -6.132502590268162e+01 - -6.136778259056138e+01 -6.141055960544676e+01 -6.145335697380811e+01 -6.149617472814099e+01 -6.153901288864162e+01 - -6.158187142028389e+01 -6.162475029314290e+01 -6.166764955292113e+01 -6.171056924466600e+01 -6.175350933517737e+01 - -6.179646979123154e+01 -6.183945065775757e+01 -6.188245198047678e+01 -6.192547373012725e+01 -6.196851587175868e+01 - -6.201157842265037e+01 -6.205466141333163e+01 -6.209776487510229e+01 -6.214088882566958e+01 -6.218403322759970e+01 - -6.222719804958889e+01 -6.227038333999444e+01 -6.231358914752139e+01 -6.235681544260558e+01 -6.240006218936849e+01 - -6.244332940494305e+01 -6.248661712010740e+01 -6.252992536720910e+01 -6.257325416420860e+01 -6.261660346994837e+01 - -6.265997325077347e+01 -6.270336356215701e+01 -6.274677445777788e+01 -6.279020589501037e+01 -6.283365783085999e+01 - -6.287713031716163e+01 -6.292062340781234e+01 -6.296413707012920e+01 -6.300767126475596e+01 -6.305122601222295e+01 - -6.309480134635203e+01 -6.313839729424505e+01 -6.318201386936521e+01 -6.322565103734121e+01 -6.326930877093868e+01 - -6.331298711930568e+01 -6.335668613058504e+01 -6.340040577251647e+01 -6.344414600718050e+01 -6.348790685442323e+01 - -6.353168834759008e+01 -6.357549051625812e+01 -6.361931337593239e+01 -6.366315688959789e+01 -6.370702102749119e+01 - -6.375090584137499e+01 -6.379481138078580e+01 -6.383873760482961e+01 -6.388268447297220e+01 -6.392665203654889e+01 - -6.397064034897519e+01 -6.401464938011861e+01 -6.405867909237229e+01 -6.410272950177993e+01 -6.414680063823367e+01 - -6.419089253336912e+01 -6.423500520539493e+01 -6.427913861706836e+01 -6.432329273774181e+01 -6.436746761859949e+01 - -6.441166331065573e+01 -6.445587978241413e+01 -6.450011699516882e+01 -6.454437496388719e+01 -6.458865371852110e+01 - -6.463295329528786e+01 -6.467727371608086e+01 -6.472161493923234e+01 -6.476597692945877e+01 -6.481035974057480e+01 - -6.485476342551981e+01 -6.489918794463497e+01 -6.494363325783405e+01 -6.498809941591921e+01 -6.503258647107099e+01 - -6.507709439009531e+01 -6.512162313341831e+01 -6.516617272132122e+01 -6.521074318787740e+01 -6.525533456247440e+01 - -6.529994686059398e+01 -6.534458004678092e+01 -6.538923409250538e+01 -6.543390904787570e+01 -6.547860496211884e+01 - -6.552332180229843e+01 -6.556805952953434e+01 -6.561281816333469e+01 -6.565759773746066e+01 -6.570239828429803e+01 - -6.574721982146080e+01 -6.579206230885156e+01 -6.583692571363754e+01 -6.588181008975629e+01 -6.592671548982709e+01 - -6.597164187442638e+01 -6.601658920334479e+01 -6.606155752527242e+01 -6.610654689090467e+01 -6.615155727005924e+01 - -6.619658862652422e+01 -6.624164098084657e+01 -6.628671436645676e+01 -6.633180881156068e+01 -6.637692433038681e+01 - -6.642206088647883e+01 -6.646721845110714e+01 -6.651239707713407e+01 -6.655759681603797e+01 -6.660281763216933e+01 - -6.664805948389387e+01 -6.669332239276561e+01 -6.673860639512726e+01 -6.678391152328841e+01 -6.682923779433044e+01 - -6.687458516845543e+01 -6.691995361277515e+01 -6.696534317891920e+01 -6.701075391795754e+01 -6.705618579420361e+01 - -6.710163877100581e+01 -6.714711289460833e+01 -6.719260821321966e+01 -6.723812470001026e+01 -6.728366232121398e+01 - -6.732922109035582e+01 -6.737480103488133e+01 -6.742040219062761e+01 -6.746602458035952e+01 -6.751166816616187e+01 - -6.755733291529161e+01 -6.760301887637438e+01 -6.764872609859751e+01 -6.769445455202660e+01 -6.774020420051386e+01 - -6.778597506217976e+01 -6.783176716876942e+01 -6.787758055225885e+01 -6.792341523092826e+01 -6.796927116804379e+01 - -6.801514833341810e+01 -6.806104677806347e+01 -6.810696655123587e+01 -6.815290761396663e+01 -6.819886992772128e+01 - -6.824485354392678e+01 -6.829085851532395e+01 -6.833688480994840e+01 -6.838293238885097e+01 -6.842900126984890e+01 - -6.847509148538957e+01 -6.852120306967514e+01 -6.856733604269469e+01 -6.861349036583006e+01 -6.865966600658993e+01 - -6.870586301559659e+01 -6.875208144399036e+01 -6.879832126187024e+01 -6.884458243234171e+01 -6.889086497157696e+01 - -6.893716890990422e+01 -6.898349428120915e+01 -6.902984110598732e+01 -6.907620934761650e+01 -6.912259897511596e+01 - -6.916901003718877e+01 -6.921544258172949e+01 -6.926189657371528e+01 -6.930837197817074e+01 -6.935486884322755e+01 - -6.940138721768092e+01 -6.944792706987337e+01 -6.949448836290087e+01 -6.954107111932564e+01 -6.958767537490402e+01 - -6.963430115870300e+01 -6.968094848498497e+01 -6.972761731548312e+01 -6.977430762020695e+01 -6.982101945480034e+01 - -6.986775287255249e+01 -6.991450783170005e+01 -6.996128429032680e+01 -7.000808230095708e+01 -7.005490191787665e+01 - -7.010174310797666e+01 -7.014860583121035e+01 -7.019549010717337e+01 -7.024239597049470e+01 -7.028932345629492e+01 - -7.033627258446040e+01 -7.038324331344937e+01 -7.043023560838913e+01 -7.047724952251053e+01 -7.052428510987777e+01 - -7.057134233978515e+01 -7.061842117397924e+01 -7.066552162878578e+01 -7.071264373512433e+01 -7.075978752771100e+01 - -7.080695302731498e+01 -7.085414019512091e+01 -7.090134899910394e+01 -7.094857949398551e+01 -7.099583173235354e+01 - -7.104310567151599e+01 -7.109040126922885e+01 -7.113771858031990e+01 -7.118505766125368e+01 -7.123241847797109e+01 - -7.127980098937178e+01 -7.132720521671429e+01 -7.137463119544236e+01 -7.142207895538176e+01 -7.146954851252747e+01 - -7.151703983316882e+01 -7.156455289009196e+01 -7.161208773177542e+01 -7.165964440570248e+01 -7.170722287968356e+01 - -7.175482311646741e+01 -7.180244513822917e+01 -7.185008898098621e+01 -7.189775467669884e+01 -7.194544224180910e+01 - -7.199315163474331e+01 -7.204088282234626e+01 -7.208863586315185e+01 -7.213641081375658e+01 -7.218420763131780e+01 - -7.223202627227879e+01 -7.227986678966526e+01 -7.232772923884254e+01 -7.237561358795277e+01 -7.242351979769759e+01 - -7.247144788623903e+01 -7.251939788668284e+01 -7.256736983444897e+01 -7.261536375015235e+01 -7.266337959287341e+01 - -7.271141732841731e+01 -7.275947701102203e+01 -7.280755869538000e+01 -7.285566234956853e+01 -7.290378793432680e+01 - -7.295193546765573e+01 -7.300010498266862e+01 -7.304829651566631e+01 -7.309651008753943e+01 -7.314474565435016e+01 - -7.319300317971540e+01 -7.324128272229925e+01 -7.328958433981238e+01 -7.333790799110540e+01 -7.338625363374130e+01 - -7.343462131899291e+01 -7.348301110053259e+01 -7.353142294792167e+01 -7.357985682361442e+01 -7.362831274574745e+01 - -7.367679074711965e+01 -7.372529086349638e+01 -7.377381311579366e+01 -7.382235746256312e+01 -7.387092386912651e+01 - -7.391951239025020e+01 -7.396812308115555e+01 -7.401675590943988e+01 -7.406541083531380e+01 -7.411408787706513e+01 - -7.416278706814910e+01 -7.421150844461324e+01 -7.426025202733783e+01 -7.430901777394124e+01 -7.435780564940528e+01 - -7.440661571142732e+01 -7.445544801616209e+01 -7.450430252087864e+01 -7.455317918285648e+01 -7.460207805830268e+01 - -7.465099920497126e+01 -7.469994258787753e+01 -7.474890816454140e+01 -7.479789595523943e+01 -7.484690599592756e+01 - -7.489593832252380e+01 -7.494499295533201e+01 -7.499406985223764e+01 -7.504316897827101e+01 -7.509229038945979e+01 - -7.514143414169166e+01 -7.519060019929748e+01 -7.523978851997632e+01 -7.528899912645726e+01 -7.533823205657275e+01 - -7.538748734353926e+01 -7.543676500532445e+01 -7.548606500351643e+01 -7.553538730703876e+01 -7.558473197053598e+01 - -7.563409904619321e+01 -7.568348849063742e+01 -7.573290026170078e+01 -7.578233441759443e+01 -7.583179101796470e+01 - -7.588127002782028e+01 -7.593077140392674e+01 -7.598029516471465e+01 -7.602984134475692e+01 -7.607940998153097e+01 - -7.612900109746634e+01 -7.617861465189691e+01 -7.622825061065345e+01 -7.627790902865043e+01 -7.632758996032740e+01 - -7.637729336914126e+01 -7.642701921265419e+01 -7.647676751583191e+01 -7.652653831849052e+01 -7.657633165244424e+01 - -7.662614753370475e+01 -7.667598592307560e+01 -7.672584678949215e+01 -7.677573018962489e+01 -7.682563617769370e+01 - -7.687556471038147e+01 -7.692551574474433e+01 -7.697548933686781e+01 -7.702548554509247e+01 -7.707550433774978e+01 - -7.712554567498073e+01 -7.717560957417300e+01 -7.722569606768573e+01 -7.727580519051753e+01 -7.732593696392289e+01 - -7.737609135154067e+01 -7.742626832278943e+01 -7.747646792782194e+01 -7.752669021677298e+01 -7.757693515897095e+01 - -7.762720271798948e+01 -7.767749291518889e+01 -7.772780578562232e+01 -7.777814136132783e+01 -7.782849965970544e+01 - -7.787888064261847e+01 -7.792928427988689e+01 -7.797971062869398e+01 -7.803015974345008e+01 -7.808063158011076e+01 - -7.813112609521906e+01 -7.818164334612277e+01 -7.823218339188995e+01 -7.828274619766600e+01 -7.833333172107952e+01 - -7.838393998361434e+01 -7.843457102192369e+01 -7.848522486948340e+01 -7.853590154498607e+01 -7.858660101116894e+01 - -7.863732323758104e+01 -7.868806827697425e+01 -7.873883618163512e+01 -7.878962691878654e+01 -7.884044044940295e+01 - -7.889127679452803e+01 -7.894213598992800e+01 -7.899301807018992e+01 -7.904392305456564e+01 -7.909485090214494e+01 - -7.914580158005610e+01 -7.919677514774288e+01 -7.924777166238927e+01 -7.929879107982515e+01 -7.934983335558289e+01 - -7.940089854535901e+01 -7.945198670709752e+01 -7.950309780756868e+01 -7.955423180605224e+01 -7.960538872303847e+01 - -7.965656859466247e+01 -7.970777145842827e+01 -7.975899733555858e+01 -7.981024618078136e+01 -7.986151795697417e+01 - -7.991281272610696e+01 -7.996413054847572e+01 -8.001547137858779e+01 -8.006683517069925e+01 -8.011822198384908e+01 - -8.016963187855384e+01 -8.022106481645797e+01 -8.027252075224854e+01 -8.032399971165485e+01 -8.037550173585385e+01 - -8.042702685677139e+01 -8.047857509055929e+01 -8.053014639952434e+01 -8.058174075328817e+01 -8.063335820457638e+01 - -8.068499880610621e+01 -8.073666252745771e+01 -8.078834933088126e+01 -8.084005923244513e+01 -8.089179226408041e+01 - -8.094354846735196e+01 -8.099532786819320e+01 -8.104713042037783e+01 -8.109895608507813e+01 -8.115080492521992e+01 - -8.120267700205356e+01 -8.125457226837462e+01 -8.130649067623317e+01 -8.135843228315183e+01 -8.141039715010918e+01 - -8.146238524643556e+01 -8.151439653208425e+01 -8.156643102114791e+01 -8.161848874447259e+01 -8.167056974577932e+01 - -8.172267405314662e+01 -8.177480161920819e+01 -8.182695240289546e+01 -8.187912646377457e+01 -8.193132386298609e+01 - -8.198354456733288e+01 -8.203578853472443e+01 -8.208805578183410e+01 -8.214034634197473e+01 -8.219266025625411e+01 - -8.224499755029157e+01 -8.229735817995817e+01 -8.234974210798764e+01 -8.240214939431286e+01 -8.245458009683706e+01 - -8.250703416814667e+01 -8.255951156203467e+01 -8.261201234243612e+01 -8.266453657428882e+01 -8.271708421639993e+01 - -8.276965521981012e+01 -8.282224961062391e+01 -8.287486743131451e+01 -8.292750871476633e+01 -8.298017347733835e+01 - -8.303286167887651e+01 -8.308557328775250e+01 -8.313830836295337e+01 -8.319106696215761e+01 -8.324384904719405e+01 - -8.329665457280116e+01 -8.334948356120523e+01 -8.340233605179664e+01 -8.345521208513452e+01 -8.350811168407860e+01 - -8.356103479952203e+01 -8.361398139085040e+01 -8.366695152338559e+01 -8.371994526125894e+01 -8.377296255790387e+01 - -8.382600336547402e+01 -8.387906774170159e+01 -8.393215574692768e+01 -8.398526734635097e+01 -8.403840249721476e+01 - -8.409156122008268e+01 -8.414474355213920e+01 -8.419794953373223e+01 -8.425117918830632e+01 -8.430443246852916e+01 - -8.435770933516140e+01 -8.441100985211256e+01 -8.446433408298962e+01 -8.451768198704093e+01 -8.457105351533237e+01 - -8.462444869055821e+01 -8.467786755329161e+01 -8.473131014399300e+01 -8.478477648534972e+01 -8.483826652906932e+01 - -8.489178023573824e+01 -8.494531767243778e+01 -8.499887890373510e+01 -8.505246387764603e+01 -8.510607254206460e+01 - -8.515970496094809e+01 -8.521336120130535e+01 -8.526704122628841e+01 -8.532074498941530e+01 -8.537447250952404e+01 - -8.542822382319736e+01 -8.548199897267675e+01 -8.553579798342942e+01 -8.558962080816578e+01 -8.564346740685433e+01 - -8.569733784125194e+01 -8.575123217367282e+01 -8.580515036687339e+01 -8.585909237532205e+01 -8.591305821989287e+01 - -8.596704793875205e+01 -8.602106157282915e+01 -8.607509914567974e+01 -8.612916060859980e+01 -8.618324592155754e+01 - -8.623735515146925e+01 -8.629148836331387e+01 -8.634564550737286e+01 -8.639982653295500e+01 -8.645403150017543e+01 - -8.650826047252751e+01 -8.656251341621210e+01 -8.661679028858919e+01 -8.667109110894766e+01 -8.672541591317201e+01 - -8.677976474159972e+01 -8.683413761829634e+01 -8.688853449778628e+01 -8.694295534179228e+01 -8.699740021037117e+01 - -8.705186916402354e+01 -8.710636216669133e+01 -8.716087917454270e+01 -8.721542020920894e+01 -8.726998530877070e+01 - -8.732457451164281e+01 -8.737918783967393e+01 -8.743382524811331e+01 -8.748848670054353e+01 -8.754317226047976e+01 - -8.759788198894785e+01 -8.765261583708421e+01 -8.770737375634857e+01 -8.776215580938322e+01 -8.781696206132678e+01 - -8.787179247612183e+01 -8.792664700860111e+01 -8.798152567835336e+01 -8.803642852212045e+01 -8.809135558050070e+01 - -8.814630687756171e+01 -8.820128236739042e+01 -8.825628201129771e+01 -8.831130586947003e+01 -8.836635400284558e+01 - -8.842142637649435e+01 -8.847652294770472e+01 -8.853164373850628e+01 -8.858678878695027e+01 -8.864195813043362e+01 - -8.869715178945941e+01 -8.875236971760948e+01 -8.880761187808301e+01 -8.886287833946902e+01 -8.891816916696094e+01 - -8.897348430677987e+01 -8.902882370531137e+01 -8.908418742857141e+01 -8.913957554536425e+01 -8.919498801601753e+01 - -8.925042479199006e+01 -8.930588589774098e+01 -8.936137137472512e+01 -8.941688125937962e+01 -8.947241557120560e+01 - -8.952797426697802e+01 -8.958355731201681e+01 -8.963916476854843e+01 -8.969479669732335e+01 -8.975045305628245e+01 - -8.980613379692392e+01 -8.986183894778455e+01 -8.991756855389235e+01 -8.997332264920152e+01 -9.002910125051302e+01 - -9.008490431708829e+01 -9.014073181666647e+01 -9.019658380843681e+01 -9.025246034941333e+01 -9.030836139645970e+01 - -9.036428690661128e+01 -9.042023693773967e+01 -9.047621154925669e+01 -9.053221070589892e+01 -9.058823436476921e+01 - -9.064428254711031e+01 -9.070035529106499e+01 -9.075645263823618e+01 -9.081257461289793e+01 -9.086872116654884e+01 - -9.092489225918972e+01 -9.098108795760594e+01 -9.103730832657459e+01 -9.109355331605536e+01 -9.114982287548730e+01 - -9.120611706704364e+01 -9.126243595579022e+01 -9.131877950563008e+01 -9.137514767186437e+01 -9.143154047654943e+01 - -9.148795795857168e+01 -9.154440015738282e+01 -9.160086709537343e+01 -9.165735872612346e+01 -9.171387501169491e+01 - -9.177041601688784e+01 -9.182698180564800e+01 -9.188357233576582e+01 -9.194018755741556e+01 -9.199682749646104e+01 - -9.205349219658670e+01 -9.211018169707003e+01 -9.216689601912306e+01 -9.222363511610273e+01 -9.228039895018067e+01 - -9.233718758664240e+01 -9.239400108840672e+01 -9.245083940581294e+01 -9.250770248979978e+01 -9.256459040628322e+01 - -9.262150322244982e+01 -9.267844089559186e+01 -9.273540337476760e+01 -9.279239068599267e+01 -9.284940287335907e+01 - -9.290643997630693e+01 -9.296350201607783e+01 -9.302058894577094e+01 -9.307770072730455e+01 -9.313483742601555e+01 - -9.319199910633068e+01 -9.324918572561810e+01 -9.330639723351504e+01 -9.336363365579297e+01 -9.342089503640302e+01 - -9.347818141588093e+01 -9.353549281584256e+01 -9.359282918563940e+01 -9.365019048477910e+01 -9.370757678565749e+01 - -9.376498815769901e+01 -9.382242454555492e+01 -9.387988589305337e+01 -9.393737226550313e+01 -9.399488373202897e+01 - -9.405242025553964e+01 -9.410998178945039e+01 -9.416756835541781e+01 -9.422517999301114e+01 -9.428281674520871e+01 - -9.434047863667399e+01 -9.439816561540189e+01 -9.445587763836596e+01 -9.451361477512259e+01 -9.457137709520302e+01 - -9.462916455545547e+01 -9.468697710379740e+01 -9.474481476510589e+01 -9.480267758244509e+01 -9.486056559466863e+01 - -9.491847882335075e+01 -9.497641722515867e+01 -9.503438076487508e+01 -9.509236950465109e+01 -9.515038350409563e+01 - -9.520842271528107e+01 -9.526648709103007e+01 -9.532457669470300e+01 -9.538269159175374e+01 -9.544083174547335e+01 - -9.549899710997526e+01 -9.555718770482461e+01 -9.561540356780063e+01 -9.567364474408794e+01 -9.573191126075703e+01 - -9.579020306501620e+01 -9.584852011272490e+01 -9.590686247420874e+01 -9.596523021978578e+01 -9.602362330527772e+01 - -9.608204167783254e+01 -9.614048536439948e+01 -9.619895441016116e+01 -9.625744885343293e+01 -9.631596871403326e+01 - -9.637451394466026e+01 -9.643308450797647e+01 -9.649168047362274e+01 -9.655030190767742e+01 -9.660894875499127e+01 - -9.666762096089710e+01 -9.672631859388268e+01 -9.678504172537357e+01 -9.684379031539257e+01 -9.690256431417546e+01 - -9.696136374421286e+01 -9.702018864639355e+01 -9.707903906294442e+01 -9.713791501832830e+01 -9.719681646461351e+01 - -9.725574336170810e+01 -9.731469577327378e+01 -9.737367376351882e+01 -9.743267729508464e+01 -9.749170632178308e+01 - -9.755076086367355e+01 -9.760984095895955e+01 -9.766894665217343e+01 -9.772807797034233e+01 -9.778723486414395e+01 - -9.784641729236439e+01 -9.790562532257231e+01 -9.796485902036660e+01 -9.802411833468516e+01 -9.808340321418262e+01 - -9.814271372304191e+01 -9.820204992860188e+01 -9.826141179529722e+01 -9.832079927766843e+01 -9.838021239358226e+01 - -9.843965117935535e+01 -9.849911568177785e+01 -9.855860593025675e+01 -9.861812187419362e+01 -9.867766347002308e+01 - -9.873723078231735e+01 -9.879682387670165e+01 -9.885644271487612e+01 -9.891608724974174e+01 -9.897575750292785e+01 - -9.903545351466867e+01 -9.909517533088989e+01 -9.915492297862031e+01 -9.921469640360959e+01 -9.927449556058966e+01 - -9.933432052149955e+01 -9.939417135686639e+01 -9.945404801436261e+01 -9.951395044077229e+01 -9.957387870218038e+01 - -9.963383286719130e+01 -9.969381289518709e+01 -9.975381873630593e+01 -9.981385041293248e+01 -9.987390796877466e+01 - -9.993399146058783e+01 -9.999410091983435e+01 -1.000542362637563e+02 -1.001143974249114e+02 -1.001745845113392e+02 - -1.002347976270743e+02 -1.002950366846517e+02 -1.003553015922550e+02 -1.004155924321621e+02 -1.004759093011103e+02 - -1.005362521795820e+02 -1.005966210292817e+02 -1.006570158530568e+02 -1.007174366671700e+02 -1.007778835004040e+02 - -1.008383563749385e+02 -1.008988552740233e+02 -1.009593801813489e+02 -1.010199311212978e+02 -1.010805081231472e+02 - -1.011411111950619e+02 -1.012017403376325e+02 -1.012623955422635e+02 -1.013230768099676e+02 -1.013837841893743e+02 - -1.014445177207514e+02 -1.015052773633014e+02 -1.015660630775449e+02 -1.016268749103392e+02 -1.016877129150088e+02 - -1.017485770844115e+02 -1.018094673966629e+02 -1.018703838313761e+02 -1.019313263923028e+02 -1.019922951782496e+02 - -1.020532902664119e+02 -1.021143115524854e+02 -1.021753589342455e+02 -1.022364324992857e+02 -1.022975323519374e+02 - -1.023586584736673e+02 -1.024198108268543e+02 -1.024809894203941e+02 -1.025421942728475e+02 -1.026034253949216e+02 - -1.026646827901934e+02 -1.027259664415750e+02 -1.027872763473731e+02 -1.028486125881369e+02 -1.029099752254547e+02 - -1.029713641628286e+02 -1.030327793161952e+02 -1.030942208093169e+02 -1.031556887637190e+02 -1.032171830841550e+02 - -1.032787036718354e+02 -1.033402506305696e+02 -1.034018240681317e+02 -1.034634239055545e+02 -1.035250500515010e+02 - -1.035867025518952e+02 -1.036483814821213e+02 -1.037100868981441e+02 -1.037718188237329e+02 -1.038335771732939e+02 - -1.038953618747522e+02 -1.039571730194689e+02 -1.040190107055651e+02 -1.040808748947658e+02 -1.041427655331822e+02 - -1.042046826408667e+02 -1.042666262524425e+02 -1.043285963868752e+02 -1.043905930564436e+02 -1.044526162623378e+02 - -1.045146660069125e+02 -1.045767423082721e+02 -1.046388451777543e+02 -1.047009745838822e+02 -1.047631305085241e+02 - -1.048253130297424e+02 -1.048875222165416e+02 -1.049497580055002e+02 -1.050120203310284e+02 -1.050743092512860e+02 - -1.051366248384456e+02 -1.051989670969791e+02 -1.052613360137520e+02 -1.053237315729033e+02 -1.053861537661844e+02 - -1.054486026185219e+02 -1.055110781583045e+02 -1.055735803945944e+02 -1.056361093274371e+02 -1.056986649401382e+02 - -1.057612472323176e+02 -1.058238562855892e+02 -1.058864921618116e+02 -1.059491547618286e+02 -1.060118440001799e+02 - -1.060745600072047e+02 -1.061373029070868e+02 -1.062000725835928e+02 -1.062628689188559e+02 -1.063256920288941e+02 - -1.063885420424685e+02 -1.064514189054312e+02 -1.065143225392365e+02 -1.065772529506575e+02 -1.066402101774261e+02 - -1.067031942957903e+02 -1.067662053568374e+02 -1.068292432724951e+02 -1.068923079625714e+02 -1.069553995175528e+02 - -1.070185180380394e+02 -1.070816634944072e+02 -1.071448358336418e+02 -1.072080350393896e+02 -1.072712611247882e+02 - -1.073345141842783e+02 -1.073977942922143e+02 -1.074611013613008e+02 -1.075244353055826e+02 -1.075877962061142e+02 - -1.076511841502191e+02 -1.077145990832866e+02 -1.077780409492339e+02 -1.078415098280245e+02 -1.079050057992970e+02 - -1.079685288053471e+02 -1.080320787786834e+02 -1.080956557500093e+02 -1.081592597729443e+02 -1.082228908945775e+02 - -1.082865491424036e+02 -1.083502344720692e+02 -1.084139468448718e+02 -1.084776863165616e+02 -1.085414529440200e+02 - -1.086052466942038e+02 -1.086690675238350e+02 -1.087329154386204e+02 -1.087967904674474e+02 -1.088606926829425e+02 - -1.089246221377382e+02 -1.089885787607543e+02 -1.090525624876805e+02 -1.091165734050004e+02 -1.091806115963225e+02 - -1.092446769829633e+02 -1.093087694909110e+02 -1.093728892271333e+02 -1.094370362953419e+02 -1.095012106052476e+02 - -1.095654120623545e+02 -1.096296407493415e+02 -1.096938967647426e+02 -1.097581800933404e+02 -1.098224906984946e+02 - -1.098868285716250e+02 -1.099511937236656e+02 -1.100155862155477e+02 -1.100800060933800e+02 -1.101444532939841e+02 - -1.102089277564002e+02 -1.102734295378303e+02 -1.103379587096266e+02 -1.104025152815812e+02 -1.104670992426730e+02 - -1.105317105601886e+02 -1.105963492199813e+02 -1.106610153038629e+02 -1.107257088820756e+02 -1.107904298826226e+02 - -1.108551782361634e+02 -1.109199540262203e+02 -1.109847573373186e+02 -1.110495881051325e+02 -1.111144462586115e+02 - -1.111793318486534e+02 -1.112442449476576e+02 -1.113091855920787e+02 -1.113741537899001e+02 -1.114391494711626e+02 - -1.115041725824562e+02 -1.115692232145109e+02 -1.116343014623147e+02 -1.116994072937479e+02 -1.117645406555522e+02 - -1.118297015370191e+02 -1.118948899532702e+02 -1.119601059801944e+02 -1.120253496750247e+02 -1.120906209596036e+02 - -1.121559197660155e+02 -1.122212462027017e+02 -1.122866003728487e+02 -1.123519821822644e+02 -1.124173915349786e+02 - -1.124828285252852e+02 -1.125482932599049e+02 -1.126137857050017e+02 -1.126793058037530e+02 -1.127448535479451e+02 - -1.128104289543148e+02 -1.128760320907921e+02 -1.129416630123176e+02 -1.130073216706816e+02 -1.130730080183262e+02 - -1.131387221134510e+02 -1.132044640167948e+02 -1.132702336934948e+02 -1.133360310978225e+02 -1.134018562361866e+02 - -1.134677091387784e+02 -1.135335898787815e+02 -1.135994985091588e+02 -1.136654349589990e+02 -1.137313991629182e+02 - -1.137973912015162e+02 -1.138634111582333e+02 -1.139294589818884e+02 -1.139955346168527e+02 -1.140616381243277e+02 - -1.141277695680233e+02 -1.141939289048548e+02 -1.142601160860919e+02 -1.143263311472162e+02 -1.143925741390390e+02 - -1.144588450894802e+02 -1.145251440101338e+02 -1.145914708701818e+02 -1.146578256494022e+02 -1.147242084123678e+02 - -1.147906192149256e+02 -1.148570579932248e+02 -1.149235246826633e+02 -1.149900193353325e+02 -1.150565420227369e+02 - -1.151230927773426e+02 -1.151896716067799e+02 -1.152562784583746e+02 -1.153229132947855e+02 -1.153895762003063e+02 - -1.154562672526404e+02 -1.155229863814943e+02 -1.155897335150450e+02 -1.156565087233475e+02 -1.157233120892246e+02 - -1.157901436046917e+02 -1.158570032371645e+02 -1.159238909464663e+02 -1.159908067231330e+02 -1.160577506881430e+02 - -1.161247229415995e+02 -1.161917233696630e+02 -1.162587518588770e+02 -1.163258085112608e+02 -1.163928934406831e+02 - -1.164600065929374e+02 -1.165271479034755e+02 -1.165943174344564e+02 -1.166615152526160e+02 -1.167287413162901e+02 - -1.167959955757904e+02 -1.168632780577301e+02 -1.169305888112216e+02 -1.169979278990717e+02 -1.170652953548001e+02 - -1.171326910810820e+02 -1.172001149975291e+02 -1.172675672223445e+02 -1.173350478778825e+02 -1.174025569045121e+02 - -1.174700942215011e+02 -1.175376598456954e+02 -1.176052538191002e+02 -1.176728761867799e+02 -1.177405269796691e+02 - -1.178082061691247e+02 -1.178759137299273e+02 -1.179436497101298e+02 -1.180114141509050e+02 -1.180792069926326e+02 - -1.181470281872303e+02 -1.182148778335583e+02 -1.182827560287664e+02 -1.183506627162192e+02 -1.184185978220269e+02 - -1.184865613570652e+02 -1.185545533602401e+02 -1.186225738978121e+02 -1.186906230193939e+02 -1.187587006806511e+02 - -1.188268068350639e+02 -1.188949415213182e+02 -1.189631047837780e+02 -1.190312966043158e+02 -1.190995169567162e+02 - -1.191677658449030e+02 -1.192360432941998e+02 -1.193043493853908e+02 -1.193726841751893e+02 -1.194410475685670e+02 - -1.195094394794060e+02 -1.195778600089746e+02 -1.196463092648311e+02 -1.197147871923100e+02 -1.197832937276135e+02 - -1.198518289326376e+02 -1.199203928745778e+02 -1.199889855161324e+02 -1.200576068078755e+02 -1.201262567563797e+02 - -1.201949353935382e+02 -1.202636427965272e+02 -1.203323790196208e+02 -1.204011439802014e+02 -1.204699376081542e+02 - -1.205387600202684e+02 -1.206076113241917e+02 -1.206764914041025e+02 -1.207454001431820e+02 -1.208143376440890e+02 - -1.208833040296615e+02 -1.209522992839752e+02 -1.210213233653680e+02 -1.210903762679893e+02 -1.211594580022500e+02 - -1.212285686077949e+02 -1.212977081155049e+02 -1.213668764919694e+02 -1.214360737100132e+02 -1.215052998316942e+02 - -1.215745549154533e+02 -1.216438389160294e+02 -1.217131517838345e+02 -1.217824935556734e+02 -1.218518642837182e+02 - -1.219212639952166e+02 -1.219906927020717e+02 -1.220601503797327e+02 -1.221296370078328e+02 -1.221991526191948e+02 - -1.222686972509000e+02 -1.223382709038720e+02 -1.224078735702578e+02 -1.224775052432531e+02 -1.225471659287695e+02 - -1.226168556825330e+02 -1.226865745477072e+02 -1.227563224673916e+02 -1.228260993926653e+02 -1.228959054065903e+02 - -1.229657405910973e+02 -1.230356048916106e+02 -1.231054982500379e+02 -1.231754207307278e+02 -1.232453724007864e+02 - -1.233153532159101e+02 -1.233853631242201e+02 -1.234554021549459e+02 -1.235254703591199e+02 -1.235955677938801e+02 - -1.236656944915691e+02 -1.237358503792446e+02 -1.238060353939673e+02 -1.238762496180971e+02 -1.239464931371069e+02 - -1.240167659036240e+02 -1.240870678602586e+02 -1.241573990423949e+02 -1.242277595040581e+02 -1.242981492810638e+02 - -1.243685683872523e+02 -1.244390167667736e+02 -1.245094943779347e+02 -1.245800013053605e+02 -1.246505376299316e+02 - -1.247211032912332e+02 -1.247916982296097e+02 -1.248623225297382e+02 -1.249329762770640e+02 -1.250036594157741e+02 - -1.250743718736609e+02 -1.251451136541969e+02 -1.252158847947410e+02 -1.252866853925174e+02 -1.253575155184925e+02 - -1.254283750787370e+02 -1.254992639825418e+02 -1.255701823169751e+02 -1.256411301759969e+02 -1.257121075033584e+02 - -1.257831142369608e+02 -1.258541504415142e+02 -1.259252161922362e+02 -1.259963114795672e+02 -1.260674362758903e+02 - -1.261385905661348e+02 -1.262097743537985e+02 -1.262809877041053e+02 -1.263522306696565e+02 -1.264235031908370e+02 - -1.264948052148923e+02 -1.265661368287249e+02 -1.266374981169807e+02 -1.267088890156212e+02 -1.267803094502130e+02 - -1.268517594534262e+02 -1.269232390831601e+02 -1.269947483911282e+02 -1.270662874069690e+02 -1.271378560782095e+02 - -1.272094543594662e+02 -1.272810823158284e+02 -1.273527400123002e+02 -1.274244274030747e+02 -1.274961444355319e+02 - -1.275678911406106e+02 -1.276396675704015e+02 -1.277114737780431e+02 -1.277833097950603e+02 -1.278551755654751e+02 - -1.279270710424012e+02 -1.279989963028243e+02 -1.280709514152536e+02 -1.281429362904217e+02 -1.282149508513121e+02 - -1.282869952276877e+02 -1.283590695463467e+02 -1.284311737154509e+02 -1.285033076302067e+02 -1.285754713526335e+02 - -1.286476649682441e+02 -1.287198884897120e+02 -1.287921419051992e+02 -1.288644251776617e+02 -1.289367382880697e+02 - -1.290090813146567e+02 -1.290814543319980e+02 -1.291538573027727e+02 -1.292262901737162e+02 -1.292987529396840e+02 - -1.293712456190937e+02 -1.294437682764910e+02 -1.295163209673579e+02 -1.295889036647941e+02 -1.296615163353197e+02 - -1.297341590015173e+02 -1.298068316903185e+02 -1.298795343899871e+02 -1.299522670904091e+02 -1.300250298266263e+02 - -1.300978226354063e+02 -1.301706455152632e+02 -1.302434984561237e+02 -1.303163814518184e+02 -1.303892945098205e+02 - -1.304622376882688e+02 -1.305352110313897e+02 -1.306082144770936e+02 -1.306812479731976e+02 -1.307543116134598e+02 - -1.308274054850011e+02 -1.309005295024521e+02 -1.309736835845235e+02 -1.310468678387340e+02 -1.311200823754845e+02 - -1.311933271278942e+02 -1.312666020134129e+02 -1.313399070640916e+02 -1.314132423401880e+02 -1.314866079001839e+02 - -1.315600037753056e+02 -1.316334298895329e+02 -1.317068861777292e+02 -1.317803727255405e+02 -1.318538896215189e+02 - -1.319274368150577e+02 -1.320010142454794e+02 -1.320746219509807e+02 -1.321482599879661e+02 -1.322219283867981e+02 - -1.322956271602158e+02 -1.323693562765047e+02 -1.324431157110688e+02 -1.325169055122373e+02 -1.325907257242561e+02 - -1.326645763021127e+02 -1.327384572099461e+02 -1.328123685377604e+02 -1.328863103680995e+02 -1.329602826278048e+02 - -1.330342852393407e+02 -1.331083182633673e+02 -1.331823817787306e+02 -1.332564757988239e+02 -1.333306003141445e+02 - -1.334047552890586e+02 -1.334789407033280e+02 -1.335531566244299e+02 -1.336274031130300e+02 -1.337016801148342e+02 - -1.337759875748336e+02 -1.338503255501201e+02 -1.339246941130952e+02 -1.339990932852997e+02 -1.340735230609586e+02 - -1.341479833758948e+02 -1.342224741891434e+02 -1.342969956109889e+02 -1.343715477431406e+02 -1.344461305017541e+02 - -1.345207438015131e+02 -1.345953877367626e+02 -1.346700624038786e+02 -1.347447677276981e+02 -1.348195036263442e+02 - -1.348942701626209e+02 -1.349690674171868e+02 -1.350438953974369e+02 -1.351187540921076e+02 -1.351936434885642e+02 - -1.352685635848754e+02 -1.353435144232942e+02 -1.354184960414874e+02 -1.354935084145923e+02 -1.355685515128237e+02 - -1.356436253492364e+02 -1.357187299541088e+02 -1.357938653837732e+02 -1.358690316768758e+02 -1.359442287752637e+02 - -1.360194566279880e+02 -1.360947153097144e+02 -1.361700048911278e+02 -1.362453253013760e+02 -1.363206764782614e+02 - -1.363960585357406e+02 -1.364714715821978e+02 -1.365469155275740e+02 -1.366223902703805e+02 -1.366978958618521e+02 - -1.367734323848502e+02 -1.368489998960226e+02 -1.369245984210613e+02 -1.370002278880492e+02 -1.370758882331093e+02 - -1.371515795221331e+02 -1.372273018270698e+02 -1.373030551143317e+02 -1.373788393429953e+02 -1.374546545483291e+02 - -1.375305007816427e+02 -1.376063780822184e+02 -1.376822864668756e+02 -1.377582258746108e+02 -1.378341962588316e+02 - -1.379101977084133e+02 -1.379862303093919e+02 -1.380622940009784e+02 -1.381383887192652e+02 -1.382145145346940e+02 - -1.382906715205862e+02 -1.383668596274320e+02 -1.384430787972570e+02 -1.385193290610606e+02 -1.385956104734610e+02 - -1.386719230945808e+02 -1.387482669582360e+02 -1.388246419875133e+02 -1.389010481148665e+02 -1.389774854209464e+02 - -1.390539539951986e+02 -1.391304538140523e+02 -1.392069848343242e+02 -1.392835470473980e+02 -1.393601404693719e+02 - -1.394367651806349e+02 -1.395134212422815e+02 -1.395901085739362e+02 -1.396668271002043e+02 -1.397435769070855e+02 - -1.398203580874878e+02 -1.398971706005607e+02 -1.399740143977720e+02 -1.400508895336226e+02 -1.401277960614956e+02 - -1.402047339272718e+02 -1.402817030764181e+02 -1.403587035602461e+02 -1.404357354502877e+02 -1.405127987931110e+02 - -1.405898936026113e+02 -1.406670197869564e+02 -1.407441772794584e+02 -1.408213662197336e+02 -1.408985867371466e+02 - -1.409758387137537e+02 -1.410531220224061e+02 -1.411304367464428e+02 -1.412077829961380e+02 -1.412851607790223e+02 - -1.413625700771281e+02 -1.414400108732392e+02 -1.415174831646232e+02 -1.415949870057306e+02 -1.416725224388105e+02 - -1.417500894001226e+02 -1.418276878351835e+02 -1.419053178325258e+02 -1.419829794809226e+02 -1.420606727270934e+02 - -1.421383975074728e+02 -1.422161538594082e+02 -1.422939418408956e+02 -1.423717614916131e+02 -1.424496128273150e+02 - -1.425274957863782e+02 -1.426054103213069e+02 -1.426833565184944e+02 -1.427613344645970e+02 -1.428393441134355e+02 - -1.429173854035838e+02 -1.429954583454632e+02 -1.430735629773860e+02 -1.431516993773805e+02 -1.432298676007922e+02 - -1.433080675725197e+02 -1.433862992191345e+02 -1.434645626043482e+02 -1.435428578032951e+02 -1.436211847996638e+02 - -1.436995435672099e+02 -1.437779341314036e+02 -1.438563565210897e+02 -1.439348107268960e+02 -1.440132967358192e+02 - -1.440918145585468e+02 -1.441703642214681e+02 -1.442489457900865e+02 -1.443275593072134e+02 -1.444062046857781e+02 - -1.444848818522611e+02 -1.445635909172288e+02 -1.446423319927847e+02 -1.447211050130976e+02 -1.447999098925679e+02 - -1.448787466444589e+02 -1.449576153140356e+02 -1.450365159757091e+02 -1.451154486823820e+02 -1.451944133717774e+02 - -1.452734099863848e+02 -1.453524386029381e+02 -1.454314992962476e+02 -1.455105919991844e+02 -1.455897166474813e+02 - -1.456688733302556e+02 -1.457480621396693e+02 -1.458272830266799e+02 -1.459065359271370e+02 -1.459858208576615e+02 - -1.460651378591126e+02 -1.461444869885314e+02 -1.462238682831965e+02 -1.463032816851561e+02 -1.463827271416525e+02 - -1.464622047159361e+02 -1.465417144784923e+02 -1.466212564127396e+02 -1.467008304928943e+02 -1.467804367434297e+02 - -1.468600751934606e+02 -1.469397458404120e+02 -1.470194486722770e+02 -1.470991836710121e+02 -1.471789508433917e+02 - -1.472587503015001e+02 -1.473385821300154e+02 -1.474184461986837e+02 -1.474983423870870e+02 -1.475782708290815e+02 - -1.476582316674545e+02 -1.477382248264445e+02 -1.478182502096616e+02 -1.478983078567520e+02 -1.479783978350921e+02 - -1.480585201869469e+02 -1.481386749269736e+02 -1.482188619845118e+02 -1.482990813088785e+02 -1.483793330146163e+02 - -1.484596172099193e+02 -1.485399338123612e+02 -1.486202827323657e+02 -1.487006640423751e+02 -1.487810778248495e+02 - -1.488615240403001e+02 -1.489420026412511e+02 -1.490225136702235e+02 -1.491030571832025e+02 -1.491836332000337e+02 - -1.492642417202360e+02 -1.493448826981615e+02 -1.494255561054278e+02 -1.495062620278810e+02 -1.495870005487025e+02 - -1.496677716261896e+02 -1.497485751994623e+02 -1.498294112558179e+02 -1.499102798158717e+02 -1.499911809853331e+02 - -1.500721148441144e+02 -1.501530812838450e+02 -1.502340802026938e+02 -1.503151117132690e+02 -1.503961759364751e+02 - -1.504772728119622e+02 -1.505584022645880e+02 -1.506395643412949e+02 -1.507207591024668e+02 -1.508019865401696e+02 - -1.508832466324269e+02 -1.509645393694111e+02 -1.510458647628492e+02 -1.511272228985386e+02 -1.512086138412552e+02 - -1.512900374976176e+02 -1.513714937855876e+02 -1.514529828266537e+02 -1.515345047392310e+02 -1.516160594259147e+02 - -1.516976467776822e+02 -1.517792668548592e+02 -1.518609197460578e+02 -1.519426054836894e+02 -1.520243240750476e+02 - -1.521060754831553e+02 -1.521878596792744e+02 -1.522696767118938e+02 -1.523515266305248e+02 -1.524334094115421e+02 - -1.525153250314230e+02 -1.525972735401888e+02 -1.526792549864990e+02 -1.527612693400200e+02 -1.528433165631959e+02 - -1.529253966685747e+02 -1.530075096900777e+02 -1.530896556970147e+02 -1.531718347321965e+02 -1.532540466970516e+02 - -1.533362915133235e+02 -1.534185693253995e+02 -1.535008802693854e+02 -1.535832242256197e+02 -1.536656010621809e+02 - -1.537480108538752e+02 -1.538304537113657e+02 -1.539129296820158e+02 -1.539954387715506e+02 -1.540779808824423e+02 - -1.541605559457948e+02 -1.542431641104905e+02 -1.543258055115917e+02 -1.544084800111010e+02 -1.544911874726015e+02 - -1.545739280390565e+02 -1.546567018609975e+02 -1.547395088398511e+02 -1.548223488576198e+02 -1.549052219677139e+02 - -1.549881282595875e+02 -1.550710677954614e+02 -1.551540406026988e+02 -1.552370465964632e+02 -1.553200857053796e+02 - -1.554031580241178e+02 -1.554862636500489e+02 -1.555694025253043e+02 -1.556525745801794e+02 -1.557357798528659e+02 - -1.558190184045264e+02 -1.559022902803117e+02 -1.559855954979769e+02 -1.560689339817060e+02 -1.561523056771075e+02 - -1.562357107090587e+02 -1.563191491909100e+02 -1.564026210106382e+02 -1.564861260558312e+02 -1.565696644378976e+02 - -1.566532362813955e+02 -1.567368415396626e+02 -1.568204801387562e+02 -1.569041520668287e+02 -1.569878573487146e+02 - -1.570715960938785e+02 -1.571553683828581e+02 -1.572391740958522e+02 -1.573230131265335e+02 -1.574068856228085e+02 - -1.574907917295132e+02 -1.575747313249683e+02 -1.576587042737324e+02 -1.577427106518309e+02 -1.578267505715277e+02 - -1.579108240785769e+02 -1.579949311783184e+02 -1.580790717809458e+02 -1.581632458187553e+02 -1.582474534075981e+02 - -1.583316946623155e+02 -1.584159695101536e+02 -1.585002778727259e+02 -1.585846198367120e+02 -1.586689954874005e+02 - -1.587534047394542e+02 -1.588378475061590e+02 -1.589223238659185e+02 -1.590068339195322e+02 -1.590913776922658e+02 - -1.591759551748261e+02 -1.592605662952183e+02 -1.593452110061037e+02 -1.594298894214712e+02 -1.595146016508511e+02 - -1.595993476246111e+02 -1.596841272537272e+02 -1.597689405507699e+02 -1.598537875632453e+02 -1.599386683768111e+02 - -1.600235830481832e+02 -1.601085314801616e+02 -1.601935135899282e+02 -1.602785295061083e+02 -1.603635793509372e+02 - -1.604486630096468e+02 -1.605337803660765e+02 -1.606189315354990e+02 -1.607041166452176e+02 -1.607893356392255e+02 - -1.608745884397152e+02 -1.609598750649831e+02 -1.610451955612870e+02 -1.611305499906227e+02 -1.612159383917271e+02 - -1.613013606945609e+02 -1.613868168398436e+02 -1.614723069201057e+02 -1.615578310304217e+02 -1.616433891242326e+02 - -1.617289811339727e+02 -1.618146070496823e+02 -1.619002668955830e+02 -1.619859607750138e+02 -1.620716887676450e+02 - -1.621574507793529e+02 -1.622432467219253e+02 -1.623290767045893e+02 -1.624149408340039e+02 -1.625008390091176e+02 - -1.625867711331680e+02 -1.626727373342588e+02 -1.627587377384768e+02 -1.628447722389764e+02 -1.629308407201184e+02 - -1.630169432640222e+02 -1.631030799800713e+02 -1.631892508889492e+02 -1.632754559784962e+02 -1.633616951938801e+02 - -1.634479685044198e+02 -1.635342760187116e+02 -1.636206178291233e+02 -1.637069938238325e+02 -1.637934038942077e+02 - -1.638798481485683e+02 -1.639663267112721e+02 -1.640528395538795e+02 -1.641393866180353e+02 -1.642259678785196e+02 - -1.643125833411851e+02 -1.643992331030405e+02 -1.644859172470150e+02 -1.645726357085657e+02 -1.646593884180614e+02 - -1.647461754329907e+02 -1.648329968179324e+02 -1.649198525387065e+02 -1.650067425502886e+02 -1.650936668630355e+02 - -1.651806255134507e+02 -1.652676185872448e+02 -1.653546461444497e+02 -1.654417080931755e+02 -1.655288043499995e+02 - -1.656159350172886e+02 -1.657031001994683e+02 -1.657902998234105e+02 -1.658775338117127e+02 -1.659648022474274e+02 - -1.660521052162188e+02 -1.661394426537408e+02 -1.662268144894047e+02 -1.663142207776613e+02 -1.664016615975541e+02 - -1.664891370014617e+02 -1.665766470055737e+02 -1.666641915079906e+02 -1.667517704334961e+02 -1.668393839316945e+02 - -1.669270321420214e+02 -1.670147149384157e+02 -1.671024321837371e+02 -1.671901839620226e+02 -1.672779703889409e+02 - -1.673657914855093e+02 -1.674536472385115e+02 -1.675415375924466e+02 -1.676294625158688e+02 -1.677174221158364e+02 - -1.678054164853866e+02 -1.678934455229663e+02 -1.679815091339810e+02 -1.680696074462591e+02 -1.681577405863894e+02 - -1.682459084535819e+02 -1.683341109324726e+02 -1.684223480767776e+02 -1.685106199767677e+02 -1.685989266998525e+02 - -1.686872682758898e+02 -1.687756446073924e+02 -1.688640556163956e+02 -1.689525014303699e+02 -1.690409821718389e+02 - -1.691294977381033e+02 -1.692180480141565e+02 -1.693066330609834e+02 -1.693952529706734e+02 -1.694839077837423e+02 - -1.695725975104607e+02 -1.696613220916933e+02 -1.697500814887782e+02 -1.698388758143547e+02 -1.699277051650943e+02 - -1.700165694224996e+02 -1.701054684738952e+02 -1.701944024450633e+02 -1.702833714670375e+02 -1.703723754534025e+02 - -1.704614143033400e+02 -1.705504880758685e+02 -1.706395968591658e+02 -1.707287406982126e+02 -1.708179196055015e+02 - -1.709071335067704e+02 -1.709963823462651e+02 -1.710856662290167e+02 -1.711749852543236e+02 -1.712643393377691e+02 - -1.713537283867857e+02 -1.714431524599174e+02 -1.715326116432521e+02 -1.716221059819435e+02 -1.717116354891412e+02 - -1.718012000909151e+02 -1.718907997312464e+02 -1.719804345128430e+02 -1.720701045346718e+02 -1.721598097220100e+02 - -1.722495499971131e+02 -1.723393254438396e+02 -1.724291361494486e+02 -1.725189820532021e+02 -1.726088630837053e+02 - -1.726987792749333e+02 -1.727887306891670e+02 -1.728787173965418e+02 -1.729687394350333e+02 -1.730587967061244e+02 - -1.731488891286860e+02 -1.732390168276344e+02 -1.733291799265234e+02 -1.734193783374131e+02 -1.735096119603506e+02 - -1.735998808588243e+02 -1.736901851222248e+02 -1.737805247801124e+02 -1.738708998286339e+02 -1.739613101901119e+02 - -1.740517558114003e+02 -1.741422368113012e+02 -1.742327533050288e+02 -1.743233052214973e+02 -1.744138924793676e+02 - -1.745045151425876e+02 -1.745951732822802e+02 -1.746858668529805e+02 -1.747765958032038e+02 -1.748673601739718e+02 - -1.749581600245709e+02 -1.750489953948396e+02 -1.751398663036498e+02 -1.752307727054541e+02 -1.753217145616989e+02 - -1.754126919262226e+02 -1.755037048571098e+02 -1.755947533370347e+02 -1.756858373371216e+02 -1.757769568577038e+02 - -1.758681119173357e+02 -1.759593025782490e+02 -1.760505288876894e+02 -1.761417907892832e+02 -1.762330882344909e+02 - -1.763244213097290e+02 -1.764157900964081e+02 -1.765071945209611e+02 -1.765986345094344e+02 -1.766901101413071e+02 - -1.767816215026837e+02 -1.768731685527375e+02 -1.769647512369523e+02 -1.770563695729838e+02 -1.771480236027573e+02 - -1.772397133931058e+02 -1.773314389867134e+02 -1.774232003047593e+02 -1.775149972814722e+02 -1.776068300247813e+02 - -1.776986986385443e+02 -1.777906030366335e+02 -1.778825431235826e+02 -1.779745189565556e+02 -1.780665306226855e+02 - -1.781585781763529e+02 -1.782506616334199e+02 -1.783427808884287e+02 -1.784349358629673e+02 -1.785271267081259e+02 - -1.786193535668995e+02 -1.787116163204012e+02 -1.788039148425030e+02 -1.788962492399977e+02 -1.789886196318098e+02 - -1.790810259524725e+02 -1.791734681201561e+02 -1.792659461719689e+02 -1.793584601742520e+02 -1.794510101913400e+02 - -1.795435962594126e+02 -1.796362183040394e+02 -1.797288762617232e+02 -1.798215702233099e+02 -1.799143002757676e+02 - -1.800070663362093e+02 -1.800998683262517e+02 -1.801927063553792e+02 -1.802855805315161e+02 -1.803784907684791e+02 - -1.804714369692463e+02 -1.805644191875481e+02 -1.806574375103104e+02 -1.807504920064915e+02 -1.808435827084130e+02 - -1.809367095198169e+02 -1.810298723599504e+02 -1.811230713386593e+02 -1.812163065647390e+02 -1.813095779521854e+02 - -1.814028854036152e+02 -1.814962289709267e+02 -1.815896087407728e+02 -1.816830247895420e+02 -1.817764771515762e+02 - -1.818699657032943e+02 -1.819634903439186e+02 -1.820570512218083e+02 -1.821506484855823e+02 -1.822442820357622e+02 - -1.823379517614509e+02 -1.824316577541746e+02 -1.825254001134493e+02 -1.826191787683301e+02 -1.827129936397535e+02 - -1.828068447866412e+02 -1.829007322929544e+02 -1.829946562048259e+02 -1.830886165373395e+02 -1.831826132192083e+02 - -1.832766461922778e+02 -1.833707155372913e+02 -1.834648213380734e+02 -1.835589635518759e+02 -1.836531421229175e+02 - -1.837473570698571e+02 -1.838416084358642e+02 -1.839358962877114e+02 -1.840302206684350e+02 -1.841245815025237e+02 - -1.842189787235884e+02 -1.843134124202761e+02 -1.844078826806361e+02 -1.845023894352911e+02 -1.845969326205561e+02 - -1.846915123529413e+02 -1.847861287393624e+02 -1.848807816681596e+02 -1.849754710227848e+02 -1.850701968857076e+02 - -1.851649593688754e+02 -1.852597585031284e+02 -1.853545942804591e+02 -1.854494666185751e+02 -1.855443754618861e+02 - -1.856393209358935e+02 -1.857343031604275e+02 -1.858293220515437e+02 -1.859243775087027e+02 -1.860194695687597e+02 - -1.861145983033516e+02 -1.862097637858479e+02 -1.863049660540466e+02 -1.864002050017272e+02 -1.864954805431744e+02 - -1.865907928187129e+02 -1.866861419596013e+02 -1.867815278347963e+02 -1.868769503164351e+02 -1.869724095516791e+02 - -1.870679056966096e+02 -1.871634386679672e+02 -1.872590083560524e+02 -1.873546147847470e+02 -1.874502580123688e+02 - -1.875459381013990e+02 -1.876416550903780e+02 -1.877374089179168e+02 -1.878331995340542e+02 -1.879290270344656e+02 - -1.880248915055781e+02 -1.881207928511883e+02 -1.882167309755823e+02 -1.883127059676341e+02 -1.884087179360091e+02 - -1.885047668839511e+02 -1.886008527852007e+02 -1.886969756009047e+02 -1.887931353152428e+02 -1.888893320171184e+02 - -1.889855657829229e+02 -1.890818365342772e+02 -1.891781441947396e+02 -1.892744888503877e+02 -1.893708705921393e+02 - -1.894672893677523e+02 -1.895637451161106e+02 -1.896602378837592e+02 -1.897567677352667e+02 -1.898533346996371e+02 - -1.899499387807097e+02 -1.900465799172331e+02 -1.901432580674921e+02 -1.902399733330072e+02 -1.903367258125687e+02 - -1.904335154508099e+02 -1.905303421711713e+02 -1.906272059664800e+02 -1.907241068668330e+02 -1.908210449820209e+02 - -1.909180203947948e+02 -1.910150330000556e+02 -1.911120827002041e+02 -1.912091696154924e+02 -1.913062938635582e+02 - -1.914034553337337e+02 -1.915006539182285e+02 -1.915978897490666e+02 -1.916951629619544e+02 -1.917924734675151e+02 - -1.918898211586861e+02 -1.919872060827436e+02 -1.920846283161583e+02 -1.921820878978424e+02 -1.922795848438701e+02 - -1.923771191165239e+02 -1.924746906889474e+02 -1.925722996315181e+02 -1.926699460069926e+02 -1.927676297504074e+02 - -1.928653507913461e+02 -1.929631091652971e+02 -1.930609049367203e+02 -1.931587381800568e+02 -1.932566089358633e+02 - -1.933545170991796e+02 -1.934524625825225e+02 -1.935504455138344e+02 -1.936484660231147e+02 -1.937465240331655e+02 - -1.938446194535055e+02 -1.939427523477156e+02 -1.940409227930324e+02 -1.941391307672549e+02 -1.942373762317632e+02 - -1.943356591817002e+02 -1.944339796386271e+02 -1.945323376960147e+02 -1.946307334225392e+02 -1.947291667157886e+02 - -1.948276374816129e+02 -1.949261458299981e+02 -1.950246918758956e+02 -1.951232755499811e+02 -1.952218967672293e+02 - -1.953205555640852e+02 -1.954192520091347e+02 -1.955179861780584e+02 -1.956167581109271e+02 -1.957155676982765e+02 - -1.958144148511486e+02 -1.959132997121442e+02 -1.960122224157670e+02 -1.961111828325720e+02 -1.962101808324193e+02 - -1.963092165463342e+02 -1.964082901163006e+02 -1.965074014669716e+02 -1.966065505047830e+02 -1.967057372806285e+02 - -1.968049618689787e+02 -1.969042242941536e+02 -1.970035245570506e+02 -1.971028626150270e+02 -1.972022384428475e+02 - -1.973016521284466e+02 -1.974011037520065e+02 -1.975005932495305e+02 -1.976001205455443e+02 -1.976996856628438e+02 - -1.977992886519515e+02 -1.978989295760255e+02 -1.979986084767589e+02 -1.980983252973461e+02 -1.981980799861144e+02 - -1.982978726104215e+02 -1.983977032396124e+02 -1.984975718319531e+02 -1.985974783450467e+02 -1.986974228449224e+02 - -1.987974053983538e+02 -1.988974259666649e+02 -1.989974844962869e+02 -1.990975809795281e+02 -1.991977154414513e+02 - -1.992978879922588e+02 -1.993980987169082e+02 -1.994983475142392e+02 -1.995986342853965e+02 -1.996989591268633e+02 - -1.997993221398394e+02 -1.998997232490551e+02 -2.000001623829878e+02 -2.001006396615730e+02 -2.002011551976202e+02 - -2.003017088839768e+02 -2.004023006006677e+02 -2.005029303963877e+02 -2.006035983645368e+02 -2.007043046086661e+02 - -2.008050491826254e+02 -2.009058319313084e+02 -2.010066527248718e+02 -2.011075117434797e+02 -2.012084091672780e+02 - -2.013093448663347e+02 -2.014103186854462e+02 -2.015113306783989e+02 -2.016123809487723e+02 -2.017134695903300e+02 - -2.018145966520298e+02 -2.019157620134241e+02 -2.020169655668574e+02 -2.021182074252480e+02 -2.022194877090834e+02 - -2.023208063485549e+02 -2.024221632682046e+02 -2.025235585602719e+02 -2.026249923196053e+02 -2.027264644837921e+02 - -2.028279749730532e+02 -2.029295237954015e+02 -2.030311109992572e+02 -2.031327367068774e+02 -2.032344010007734e+02 - -2.033361037306376e+02 -2.034378447601810e+02 -2.035396242420057e+02 -2.036414423389593e+02 -2.037432989659801e+02 - -2.038451940079258e+02 -2.039471274772405e+02 -2.040490994323931e+02 -2.041511099883670e+02 -2.042531592234435e+02 - -2.043552470125819e+02 -2.044573732391661e+02 -2.045595380236004e+02 -2.046617414909655e+02 -2.047639835480296e+02 - -2.048662640993485e+02 -2.049685832589404e+02 -2.050709411450770e+02 -2.051733376835843e+02 -2.052757727854042e+02 - -2.053782464943871e+02 -2.054807588829732e+02 -2.055833100050551e+02 -2.056858998827895e+02 -2.057885284299405e+02 - -2.058911955783421e+02 -2.059939014405005e+02 -2.060966461276917e+02 -2.061994295656012e+02 -2.063022516666823e+02 - -2.064051124760526e+02 -2.065080120661920e+02 -2.066109504863692e+02 -2.067139277576765e+02 -2.068169438117121e+02 - -2.069199985973326e+02 -2.070230922219201e+02 -2.071262247789163e+02 -2.072293961474789e+02 -2.073326062201854e+02 - -2.074358551575783e+02 -2.075391431180403e+02 -2.076424699833530e+02 -2.077458356179337e+02 -2.078492400933438e+02 - -2.079526835133251e+02 -2.080561659031989e+02 -2.081596872578975e+02 -2.082632475292167e+02 -2.083668466898186e+02 - -2.084704848389632e+02 -2.085741620623951e+02 -2.086778782651976e+02 -2.087816333480700e+02 -2.088854273748348e+02 - -2.089892604383302e+02 -2.090931325843364e+02 -2.091970438282278e+02 -2.093009941108145e+02 -2.094049833841979e+02 - -2.095090117202067e+02 -2.096130791905716e+02 -2.097171857469022e+02 -2.098213313423286e+02 -2.099255160561849e+02 - -2.100297399619016e+02 -2.101340029830976e+02 -2.102383050403986e+02 -2.103426461922712e+02 -2.104470265253758e+02 - -2.105514461013085e+02 -2.106559049410852e+02 -2.107604029284658e+02 -2.108649399745926e+02 -2.109695162373935e+02 - -2.110741318706494e+02 -2.111787867647689e+02 -2.112834807867834e+02 -2.113882139735869e+02 -2.114929864074473e+02 - -2.115977981822681e+02 -2.117026493533424e+02 -2.118075398098887e+02 -2.119124694556393e+02 -2.120174384184601e+02 - -2.121224468216736e+02 -2.122274945462991e+02 -2.123325814769304e+02 -2.124377077547605e+02 -2.125428735238108e+02 - -2.126480786828185e+02 -2.127533231155498e+02 -2.128586068911697e+02 -2.129639301084739e+02 -2.130692927993837e+02 - -2.131746949622090e+02 -2.132801365276879e+02 -2.133856174488912e+02 -2.134911378357916e+02 -2.135966977951921e+02 - -2.137022972643151e+02 -2.138079361581469e+02 -2.139136144723085e+02 -2.140193322420075e+02 -2.141250895801643e+02 - -2.142308865713384e+02 -2.143367231089345e+02 -2.144425990899214e+02 -2.145485146166798e+02 -2.146544697958461e+02 - -2.147604645456698e+02 -2.148664987887291e+02 -2.149725726533044e+02 -2.150786862586875e+02 -2.151848394825147e+02 - -2.152910321964648e+02 -2.153972644900385e+02 -2.155035364828845e+02 -2.156098481974242e+02 -2.157161996246267e+02 - -2.158225907268823e+02 -2.159290214790141e+02 -2.160354919341570e+02 -2.161420021424622e+02 -2.162485520638355e+02 - -2.163551416576007e+02 -2.164617709709994e+02 -2.165684400663080e+02 -2.166751489780245e+02 -2.167818977145845e+02 - -2.168886862079515e+02 -2.169955144082682e+02 -2.171023824148656e+02 -2.172092903208214e+02 -2.173162380450137e+02 - -2.174232255130703e+02 -2.175302528518165e+02 -2.176373201799158e+02 -2.177444273821862e+02 -2.178515743317612e+02 - -2.179587610888773e+02 -2.180659877532527e+02 -2.181732543954297e+02 -2.182805610486399e+02 -2.183879076260487e+02 - -2.184952940541088e+02 -2.186027204324891e+02 -2.187101868605661e+02 -2.188176932633304e+02 -2.189252395535715e+02 - -2.190328257696591e+02 -2.191404519835346e+02 -2.192481182758485e+02 -2.193558246894080e+02 -2.194635711069396e+02 - -2.195713574321837e+02 -2.196791838130171e+02 -2.197870503917547e+02 -2.198949570443306e+02 -2.200029036478261e+02 - -2.201108903502962e+02 -2.202189173008489e+02 -2.203269843818326e+02 -2.204350914576510e+02 -2.205432385876858e+02 - -2.206514258738742e+02 -2.207596533933995e+02 -2.208679211808499e+02 -2.209762291251867e+02 -2.210845771334710e+02 - -2.211929653307878e+02 -2.213013938407175e+02 -2.214098625627986e+02 -2.215183713969045e+02 -2.216269204682873e+02 - -2.217355099024502e+02 -2.218441396005216e+02 -2.219528094497077e+02 -2.220615195058979e+02 -2.221702698646027e+02 - -2.222790606111339e+02 -2.223878917838657e+02 -2.224967632436199e+02 -2.226056748766821e+02 -2.227146268487432e+02 - -2.228236193240230e+02 -2.229326521814535e+02 -2.230417252803019e+02 -2.231508386864637e+02 -2.232599925050409e+02 - -2.233691867913336e+02 -2.234784215614204e+02 -2.235876967242961e+02 -2.236970122086523e+02 -2.238063681290529e+02 - -2.239157646015454e+02 -2.240252015622403e+02 -2.241346789340316e+02 -2.242441967668838e+02 -2.243537551247286e+02 - -2.244633540002964e+02 -2.245729933685804e+02 -2.246826732048266e+02 -2.247923935126906e+02 -2.249021544092157e+02 - -2.250119559889259e+02 -2.251217981428817e+02 -2.252316807628839e+02 -2.253416039471573e+02 -2.254515678046834e+02 - -2.255615722810486e+02 -2.256716173029860e+02 -2.257817028852108e+02 -2.258918290784169e+02 -2.260019959892315e+02 - -2.261122036854213e+02 -2.262224520233766e+02 -2.263327408802082e+02 -2.264430704272837e+02 -2.265534408332552e+02 - -2.266638519616550e+02 -2.267743036660735e+02 -2.268847960654481e+02 -2.269953292962885e+02 -2.271059033000460e+02 - -2.272165179952407e+02 -2.273271734037251e+02 -2.274378695801794e+02 -2.275486066072624e+02 -2.276593845334010e+02 - -2.277702032421150e+02 -2.278810626343348e+02 -2.279919628455381e+02 -2.281029040172474e+02 -2.282138860806176e+02 - -2.283249089376286e+02 -2.284359725839265e+02 -2.285470770593814e+02 -2.286582224870930e+02 -2.287694089544078e+02 - -2.288806363224278e+02 -2.289919044640359e+02 -2.291032135254801e+02 -2.292145636582007e+02 -2.293259547610424e+02 - -2.294373867252146e+02 -2.295488596639802e+02 -2.296603736910369e+02 -2.297719286997702e+02 -2.298835245768747e+02 - -2.299951614025932e+02 -2.301068392919157e+02 -2.302185583052736e+02 -2.303303184582155e+02 -2.304421196413199e+02 - -2.305539617649887e+02 -2.306658449438852e+02 -2.307777692999738e+02 -2.308897347801602e+02 -2.310017413072381e+02 - -2.311137888826106e+02 -2.312258775426401e+02 -2.313380073849178e+02 -2.314501784790464e+02 -2.315623907214496e+02 - -2.316746440227619e+02 -2.317869385236417e+02 -2.318992743527083e+02 -2.320116513604021e+02 -2.321240694060221e+02 - -2.322365286624793e+02 -2.323490293043759e+02 -2.324615711994689e+02 -2.325741541998047e+02 -2.326867784014305e+02 - -2.327994439322068e+02 -2.329121508032486e+02 -2.330248989898164e+02 -2.331376884404961e+02 -2.332505191272475e+02 - -2.333633911421986e+02 -2.334763045743060e+02 -2.335892593796759e+02 -2.337022554911374e+02 -2.338152928812627e+02 - -2.339283715644559e+02 -2.340414916827054e+02 -2.341546533474617e+02 -2.342678564204413e+02 -2.343811007676228e+02 - -2.344943865217682e+02 -2.346077138212040e+02 -2.347210825597340e+02 -2.348344926295532e+02 -2.349479441609453e+02 - -2.350614372851493e+02 -2.351749718991416e+02 -2.352885478850955e+02 -2.354021653002366e+02 -2.355158242429473e+02 - -2.356295248011875e+02 -2.357432670145577e+02 -2.358570507396431e+02 -2.359708758587992e+02 -2.360847425404777e+02 - -2.361986509531367e+02 -2.363126009791645e+02 -2.364265924750662e+02 -2.365406254798825e+02 -2.366547000814751e+02 - -2.367688163804559e+02 -2.368829744348273e+02 -2.369971741194025e+02 -2.371114153287764e+02 -2.372256982198593e+02 - -2.373400229428812e+02 -2.374543893590377e+02 -2.375687973238754e+02 -2.376832469593778e+02 -2.377977384043928e+02 - -2.379122715987879e+02 -2.380268464580362e+02 -2.381414629990116e+02 -2.382561212769444e+02 -2.383708213990897e+02 - -2.384855634334210e+02 -2.386003472387607e+02 -2.387151726904082e+02 -2.388300399387221e+02 -2.389449491374237e+02 - -2.390599001786255e+02 -2.391748929369255e+02 -2.392899274784697e+02 -2.394050039061344e+02 -2.395201222781684e+02 - -2.396352826134916e+02 -2.397504848183333e+02 -2.398657288168898e+02 -2.399810147179146e+02 -2.400963426277219e+02 - -2.402117124583125e+02 -2.403271241258893e+02 -2.404425777577767e+02 -2.405580734795174e+02 -2.406736111984077e+02 - -2.407891907995794e+02 -2.409048122977546e+02 -2.410204757554728e+02 -2.411361812969551e+02 -2.412519290053517e+02 - -2.413677187378485e+02 -2.414835503650167e+02 -2.415994240369316e+02 -2.417153399089511e+02 -2.418312978780588e+02 - -2.419472978191357e+02 -2.420633397770240e+02 -2.421794238369657e+02 -2.422955500758429e+02 -2.424117185344053e+02 - -2.425279291172331e+02 -2.426441817421263e+02 -2.427604765159341e+02 -2.428768135466203e+02 -2.429931927575585e+02 - -2.431096140668555e+02 -2.432260775561414e+02 -2.433425833145866e+02 -2.434591312980004e+02 -2.435757214497087e+02 - -2.436923537964655e+02 -2.438090283895336e+02 -2.439257452947832e+02 -2.440425045463603e+02 -2.441593060369063e+02 - -2.442761496825792e+02 -2.443930356351059e+02 -2.445099640393889e+02 -2.446269347774639e+02 -2.447439477225602e+02 - -2.448610029755453e+02 -2.449781006544274e+02 -2.450952407181387e+02 -2.452124231032676e+02 -2.453296478161015e+02 - -2.454469148921256e+02 -2.455642244139170e+02 -2.456815764363974e+02 -2.457989708567751e+02 -2.459164075868465e+02 - -2.460338867544718e+02 -2.461514084874868e+02 -2.462689726975661e+02 -2.463865792818051e+02 -2.465042282951439e+02 - -2.466219198202147e+02 -2.467396538925739e+02 -2.468574305187124e+02 -2.469752496359336e+02 -2.470931112029433e+02 - -2.472110153332446e+02 -2.473289621270786e+02 -2.474469514768406e+02 -2.475649832814832e+02 -2.476830576740329e+02 - -2.478011747871381e+02 -2.479193345178656e+02 -2.480375367456449e+02 -2.481557815149384e+02 -2.482740689103307e+02 - -2.483923990118631e+02 -2.485107718618152e+02 -2.486291873559622e+02 -2.487476454083695e+02 -2.488661461527674e+02 - -2.489846897184250e+02 -2.491032759971039e+02 -2.492219048675295e+02 -2.493405763937896e+02 -2.494592906781626e+02 - -2.495780477903268e+02 -2.496968477531592e+02 -2.498156904349301e+02 -2.499345757349562e+02 -2.500535038313474e+02 - -2.501724748933778e+02 -2.502914887761886e+02 -2.504105453266259e+02 -2.505296446724864e+02 -2.506487869586733e+02 - -2.507679721175656e+02 -2.508872000588222e+02 -2.510064708137437e+02 -2.511257844438344e+02 -2.512451410097723e+02 - -2.513645405425343e+02 -2.514839829551193e+02 -2.516034681806881e+02 -2.517229963510282e+02 -2.518425675906852e+02 - -2.519621817966139e+02 -2.520818388494823e+02 -2.522015387924022e+02 -2.523212817096907e+02 -2.524410676880414e+02 - -2.525608967718439e+02 -2.526807688338955e+02 -2.528006837687293e+02 -2.529206417294141e+02 -2.530406428681973e+02 - -2.531606870755077e+02 -2.532807742357317e+02 -2.534009044709059e+02 -2.535210779031462e+02 -2.536412944172385e+02 - -2.537615538911017e+02 -2.538818564125164e+02 -2.540022021028112e+02 -2.541225910076441e+02 -2.542430231270507e+02 - -2.543634983542462e+02 -2.544840166121418e+02 -2.546045780492533e+02 -2.547251828099108e+02 -2.548458307960956e+02 - -2.549665218842466e+02 -2.550872560909815e+02 -2.552080334828205e+02 -2.553288541857174e+02 -2.554497182835964e+02 - -2.555706256328296e+02 -2.556915761009198e+02 -2.558125698274442e+02 -2.559336069560756e+02 -2.560546873747970e+02 - -2.561758109689862e+02 -2.562969778692906e+02 -2.564181882127723e+02 -2.565394419168841e+02 -2.566607388759341e+02 - -2.567820791112567e+02 -2.569034626862424e+02 -2.570248897054782e+02 -2.571463602359873e+02 -2.572678741533426e+02 - -2.573894313462550e+02 -2.575110319474426e+02 -2.576326760938784e+02 -2.577543636955484e+02 -2.578760946446893e+02 - -2.579978689895271e+02 -2.581196868133063e+02 -2.582415481833543e+02 -2.583634531275302e+02 -2.584854015317316e+02 - -2.586073933093156e+02 -2.587294286254374e+02 -2.588515076317444e+02 -2.589736301740566e+02 -2.590957960996737e+02 - -2.592180055676404e+02 -2.593402587446819e+02 -2.594625555165019e+02 -2.595848957490105e+02 -2.597072795099639e+02 - -2.598297069067293e+02 -2.599521780032740e+02 -2.600746928207452e+02 -2.601972512524080e+02 -2.603198532148209e+02 - -2.604424988455961e+02 -2.605651882765137e+02 -2.606879213949725e+02 -2.608106980758151e+02 -2.609335183880386e+02 - -2.610563824372016e+02 -2.611792902809524e+02 -2.613022419394243e+02 -2.614252373306019e+02 -2.615482763897488e+02 - -2.616713592233935e+02 -2.617944859260970e+02 -2.619176563732862e+02 -2.620408704583867e+02 -2.621641283659552e+02 - -2.622874302706103e+02 -2.624107760160917e+02 -2.625341654302978e+02 -2.626575986086381e+02 -2.627810756876698e+02 - -2.629045967010318e+02 -2.630281616427657e+02 -2.631517704514422e+02 -2.632754230861743e+02 -2.633991196437133e+02 - -2.635228602105341e+02 -2.636466446943674e+02 -2.637704729984163e+02 -2.638943451865159e+02 -2.640182613561179e+02 - -2.641422215785110e+02 -2.642662258795402e+02 -2.643902741294400e+02 -2.645143662245587e+02 -2.646385023213122e+02 - -2.647626825745115e+02 -2.648869068724856e+02 -2.650111750962730e+02 -2.651354873642347e+02 -2.652598438005879e+02 - -2.653842443156531e+02 -2.655086888035231e+02 -2.656331773072787e+02 -2.657577099091213e+02 -2.658822866987512e+02 - -2.660069077230897e+02 -2.661315728504449e+02 -2.662562819710931e+02 -2.663810352417937e+02 -2.665058328192844e+02 - -2.666306745937331e+02 -2.667555604333347e+02 -2.668804903849584e+02 -2.670054645383429e+02 -2.671304829760297e+02 - -2.672555457413816e+02 -2.673806527282453e+02 -2.675058038464400e+02 -2.676309992191929e+02 -2.677562389652032e+02 - -2.678815229716541e+02 -2.680068511277727e+02 -2.681322235624782e+02 -2.682576404136338e+02 -2.683831016151858e+02 - -2.685086070756685e+02 -2.686341568058856e+02 -2.687597508516357e+02 -2.688853892964312e+02 -2.690110721950252e+02 - -2.691367994494158e+02 -2.692625709807897e+02 -2.693883869398372e+02 -2.695142474621058e+02 -2.696401523930688e+02 - -2.697661015819900e+02 -2.698920951833660e+02 -2.700181333642693e+02 -2.701442160368443e+02 -2.702703430840482e+02 - -2.703965145270174e+02 -2.705227304331903e+02 -2.706489909170355e+02 -2.707752960482972e+02 -2.709016456707917e+02 - -2.710280396495872e+02 -2.711544781606855e+02 -2.712809613853167e+02 -2.714074892146895e+02 -2.715340615102555e+02 - -2.716606783044584e+02 -2.717873396730564e+02 -2.719140456940721e+02 -2.720407964136753e+02 -2.721675917483545e+02 - -2.722944316245073e+02 -2.724213161378437e+02 -2.725482453844213e+02 -2.726752192923742e+02 -2.728022377909456e+02 - -2.729293009817382e+02 -2.730564089616648e+02 -2.731835616365174e+02 -2.733107589046467e+02 -2.734380008257563e+02 - -2.735652874983575e+02 -2.736926190148396e+02 -2.738199954194386e+02 -2.739474165698984e+02 -2.740748823405867e+02 - -2.742023928588563e+02 -2.743299482670098e+02 -2.744575485141638e+02 -2.745851935229188e+02 -2.747128833029967e+02 - -2.748406178969678e+02 -2.749683973916734e+02 -2.750962218440648e+02 -2.752240911472609e+02 -2.753520052060601e+02 - -2.754799641358123e+02 -2.756079680559450e+02 -2.757360168916492e+02 -2.758641105650285e+02 -2.759922491800748e+02 - -2.761204328366440e+02 -2.762486614361617e+02 -2.763769348745897e+02 -2.765052532244616e+02 -2.766336165883748e+02 - -2.767620250126050e+02 -2.768904785041199e+02 -2.770189769689730e+02 -2.771475203398639e+02 -2.772761087569904e+02 - -2.774047423518460e+02 -2.775334210136085e+02 -2.776621446145333e+02 -2.777909132015001e+02 -2.779197268642361e+02 - -2.780485856892346e+02 -2.781774897218528e+02 -2.783064388461343e+02 -2.784354329669438e+02 -2.785644722337429e+02 - -2.786935567875348e+02 -2.788226864908934e+02 -2.789518612068105e+02 -2.790810810783757e+02 -2.792103462555617e+02 - -2.793396566357773e+02 -2.794690121008859e+02 -2.795984127231330e+02 -2.797278586088501e+02 -2.798573498103315e+02 - -2.799868863353985e+02 -2.801164680680156e+02 -2.802460949220819e+02 -2.803757670550874e+02 -2.805054846206144e+02 - -2.806352475130235e+02 -2.807650555997772e+02 -2.808949088999684e+02 -2.810248074853591e+02 -2.811547514867556e+02 - -2.812847409903677e+02 -2.814147758449749e+02 -2.815448559108459e+02 -2.816749813316353e+02 -2.818051522586102e+02 - -2.819353685901064e+02 -2.820656302199222e+02 -2.821959372766401e+02 -2.823262898869716e+02 -2.824566879353637e+02 - -2.825871312931868e+02 -2.827176200217700e+02 -2.828481542276227e+02 -2.829787340080183e+02 -2.831093594072626e+02 - -2.832400302670260e+02 -2.833707464559445e+02 -2.835015081531469e+02 -2.836323155420096e+02 -2.837631685124079e+02 - -2.838940669226656e+02 -2.840250107984012e+02 -2.841560002155769e+02 -2.842870352842360e+02 -2.844181160721325e+02 - -2.845492424437817e+02 -2.846804142799303e+02 -2.848116317294889e+02 -2.849428949404899e+02 -2.850742037892878e+02 - -2.852055581519247e+02 -2.853369581748677e+02 -2.854684040068092e+02 -2.855998955349205e+02 -2.857314326251873e+02 - -2.858630153203723e+02 -2.859946437114748e+02 -2.861263179056654e+02 -2.862580379663874e+02 -2.863898037660037e+02 - -2.865216151879669e+02 -2.866534723511688e+02 -2.867853753832939e+02 -2.869173242117615e+02 -2.870493187426322e+02 - -2.871813589967982e+02 -2.873134450373917e+02 -2.874455769816758e+02 -2.875777549027032e+02 -2.877099786425546e+02 - -2.878422480619707e+02 -2.879745633273037e+02 -2.881069246090204e+02 -2.882393317884377e+02 -2.883717847366556e+02 - -2.885042835730584e+02 -2.886368284288774e+02 -2.887694192344474e+02 -2.889020558953364e+02 -2.890347384189399e+02 - -2.891674668528066e+02 -2.893002413032724e+02 -2.894330618447220e+02 -2.895659283649483e+02 -2.896988407604515e+02 - -2.898317991491523e+02 -2.899648036558058e+02 -2.900978542110840e+02 -2.902309507220182e+02 -2.903640931951591e+02 - -2.904972816775983e+02 -2.906305162790740e+02 -2.907637970750559e+02 -2.908971239412933e+02 -2.910304967707643e+02 - -2.911639157250792e+02 -2.912973809535366e+02 -2.914308922875549e+02 -2.915644495654761e+02 -2.916980529712119e+02 - -2.918317026983915e+02 -2.919653986339440e+02 -2.920991406314096e+02 -2.922329287174719e+02 -2.923667629702973e+02 - -2.925006435008390e+02 -2.926345703772706e+02 -2.927685434638595e+02 -2.929025626397000e+02 -2.930366280470975e+02 - -2.931707398343328e+02 -2.933048979103752e+02 -2.934391021578708e+02 -2.935733525934834e+02 -2.937076492857184e+02 - -2.938419923764308e+02 -2.939763819565550e+02 -2.941108178399977e+02 -2.942452998623305e+02 -2.943798282228154e+02 - -2.945144031200941e+02 -2.946490243866398e+02 -2.947836918481424e+02 -2.949184056693277e+02 -2.950531660302706e+02 - -2.951879728334102e+02 -2.953228259514730e+02 -2.954577254159683e+02 -2.955926713017622e+02 -2.957276636983648e+02 - -2.958627026572042e+02 -2.959977880627373e+02 -2.961329198152110e+02 -2.962680980450039e+02 -2.964033228802077e+02 - -2.965385942096344e+02 -2.966739119278574e+02 -2.968092761917713e+02 -2.969446871501122e+02 -2.970801446566606e+02 - -2.972156485544735e+02 -2.973511989386669e+02 -2.974867959450954e+02 -2.976224396205114e+02 -2.977581299655766e+02 - -2.978938668856917e+02 -2.980296503111913e+02 -2.981654803674056e+02 -2.983013571739824e+02 -2.984372806328453e+02 - -2.985732506311156e+02 -2.987092672144286e+02 -2.988453304703744e+02 -2.989814404958496e+02 -2.991175973412398e+02 - -2.992538008615809e+02 -2.993900509369414e+02 -2.995263477428711e+02 -2.996626914493826e+02 -2.997990819088619e+02 - -2.999355189707111e+02 -3.000720027900217e+02 -3.002085335269560e+02 -3.003451110562723e+02 -3.004817352353309e+02 - -3.006184061373012e+02 -3.007551238767678e+02 -3.008918885181671e+02 -3.010287000846923e+02 -3.011655584847104e+02 - -3.013024636430795e+02 -3.014394156654455e+02 -3.015764146559894e+02 -3.017134605322491e+02 -3.018505532010304e+02 - -3.019876927128527e+02 -3.021248791518991e+02 -3.022621125932933e+02 -3.023993930706231e+02 -3.025367204603900e+02 - -3.026740946641424e+02 -3.028115158406990e+02 -3.029489841386069e+02 -3.030864994080570e+02 -3.032240615026816e+02 - -3.033616705882347e+02 -3.034993268395738e+02 -3.036370301558538e+02 -3.037747804087723e+02 -3.039125776359002e+02 - -3.040504219146317e+02 -3.041883133157825e+02 -3.043262518737324e+02 -3.044642374836954e+02 -3.046022700638564e+02 - -3.047403497634464e+02 -3.048784767248004e+02 -3.050166508316213e+02 -3.051548719471290e+02 -3.052931401112401e+02 - -3.054314554166776e+02 -3.055698179906950e+02 -3.057082279030724e+02 -3.058466849591645e+02 -3.059851889955948e+02 - -3.061237402384871e+02 -3.062623389075358e+02 -3.064009848072192e+02 -3.065396777363650e+02 -3.066784178864098e+02 - -3.068172054654241e+02 -3.069560403554044e+02 -3.070949224023651e+02 -3.072338516344630e+02 -3.073728281334552e+02 - -3.075118520133569e+02 -3.076509233435525e+02 -3.077900419826468e+02 -3.079292078053290e+02 -3.080684209614084e+02 - -3.082076816048298e+02 -3.083469896309615e+02 -3.084863449149456e+02 -3.086257475095906e+02 -3.087651975081579e+02 - -3.089046949880547e+02 -3.090442399817611e+02 -3.091838323579038e+02 -3.093234720151574e+02 -3.094631591362355e+02 - -3.096028938900603e+02 -3.097426761063483e+02 -3.098825056148365e+02 -3.100223825845469e+02 -3.101623071983122e+02 - -3.103022793549238e+02 -3.104422989228102e+02 -3.105823659329897e+02 -3.107224804626276e+02 -3.108626426108901e+02 - -3.110028524323948e+02 -3.111431097815640e+02 -3.112834145351391e+02 -3.114237668593314e+02 -3.115641669247677e+02 - -3.117046146302696e+02 -3.118451098470761e+02 -3.119856526079039e+02 -3.121262429897644e+02 -3.122668810853719e+02 - -3.124075669478935e+02 -3.125483004566077e+02 -3.126890815070839e+02 -3.128299102339429e+02 -3.129707867704560e+02 - -3.131117110054437e+02 -3.132526828292356e+02 -3.133937023826453e+02 -3.135347698019019e+02 -3.136758849544115e+02 - -3.138170476993112e+02 -3.139582581314797e+02 -3.140995163841689e+02 -3.142408225083815e+02 -3.143821765079714e+02 - -3.145235782804463e+02 -3.146650277504123e+02 -3.148065250572144e+02 -3.149480703283944e+02 -3.150896634295446e+02 - -3.152313042212708e+02 -3.153729928061792e+02 -3.155147293192109e+02 -3.156565137826469e+02 -3.157983461803634e+02 - -3.159402264552761e+02 -3.160821545730877e+02 -3.162241306316100e+02 -3.163661547129774e+02 -3.165082267045055e+02 - -3.166503465083330e+02 -3.167925142807053e+02 -3.169347301718565e+02 -3.170769940538677e+02 -3.172193057829434e+02 - -3.173616654299331e+02 -3.175040731106142e+02 -3.176465289058318e+02 -3.177890328440690e+02 -3.179315847792938e+02 - -3.180741845934695e+02 -3.182168324550577e+02 -3.183595285351408e+02 -3.185022727287870e+02 -3.186450649049847e+02 - -3.187879051044167e+02 -3.189307934072479e+02 -3.190737298798787e+02 -3.192167145562098e+02 -3.193597473539087e+02 - -3.195028282067584e+02 -3.196459572292360e+02 -3.197891345287240e+02 -3.199323600035334e+02 -3.200756335516368e+02 - -3.202189552787263e+02 -3.203623252990410e+02 -3.205057435532916e+02 -3.206492099607363e+02 -3.207927245283494e+02 - -3.209362873029775e+02 -3.210798984032395e+02 -3.212235579095965e+02 -3.213672656781062e+02 -3.215110215776564e+02 - -3.216548257528610e+02 -3.217986783602123e+02 -3.219425793279964e+02 -3.220865285490494e+02 -3.222305260026159e+02 - -3.223745717228416e+02 -3.225186658770672e+02 -3.226628085862362e+02 -3.228069996525048e+02 -3.229512388959131e+02 - -3.230955265268207e+02 -3.232398627556209e+02 -3.233842474025269e+02 -3.235286802821290e+02 -3.236731615767077e+02 - -3.238176914785998e+02 -3.239622698526831e+02 -3.241068965416273e+02 -3.242515716267282e+02 -3.243962952303619e+02 - -3.245410674006047e+02 -3.246858881442026e+02 -3.248307573768830e+02 -3.249756750377737e+02 -3.251206412506237e+02 - -3.252656561247559e+02 -3.254107195271718e+02 -3.255558313340717e+02 -3.257009917007768e+02 -3.258462007853361e+02 - -3.259914584775946e+02 -3.261367646471811e+02 -3.262821193510638e+02 -3.264275226864755e+02 -3.265729747243638e+02 - -3.267184754961565e+02 -3.268640249014856e+02 -3.270096228564299e+02 -3.271552694746495e+02 -3.273009648690628e+02 - -3.274467089520415e+02 -3.275925016223748e+02 -3.277383429250694e+02 -3.278842329472037e+02 -3.280301717979274e+02 - -3.281761595333842e+02 -3.283221959756238e+02 -3.284682809773962e+02 -3.286144147483458e+02 -3.287605974914733e+02 - -3.289068290263132e+02 -3.290531091681708e+02 -3.291994380988984e+02 -3.293458160115122e+02 -3.294922427771376e+02 - -3.296387182388717e+02 -3.297852424495862e+02 -3.299318155124273e+02 -3.300784375218649e+02 -3.302251085265343e+02 - -3.303718284004092e+02 -3.305185970357408e+02 -3.306654145725511e+02 -3.308122811494171e+02 -3.309591966513669e+02 - -3.311061609508276e+02 -3.312531741233722e+02 -3.314002362831168e+02 -3.315473474952068e+02 -3.316945077733321e+02 - -3.318417169743284e+02 -3.319889749946440e+02 -3.321362820460264e+02 -3.322836383216903e+02 -3.324310436254205e+02 - -3.325784977579187e+02 -3.327260008969810e+02 -3.328735532388732e+02 -3.330211546766479e+02 -3.331688050699581e+02 - -3.333165044480712e+02 -3.334642528918999e+02 -3.336120505193238e+02 -3.337598974031960e+02 -3.339077933992973e+02 - -3.340557383761620e+02 -3.342037324704123e+02 -3.343517758263186e+02 -3.344998683506588e+02 -3.346480099317598e+02 - -3.347962006216366e+02 -3.349444405123485e+02 -3.350927296924430e+02 -3.352410681997821e+02 -3.353894558729969e+02 - -3.355378925848257e+02 -3.356863785436656e+02 -3.358349139484366e+02 -3.359834986244929e+02 -3.361321323883865e+02 - -3.362808153950241e+02 -3.364295478191028e+02 -3.365783295761255e+02 -3.367271605486342e+02 -3.368760407465185e+02 - -3.370249702279324e+02 -3.371739491167402e+02 -3.373229774932894e+02 -3.374720551981496e+02 -3.376211820935624e+02 - -3.377703583682330e+02 -3.379195842066430e+02 -3.380688594499171e+02 -3.382181839217990e+02 -3.383675577198622e+02 - -3.385169809890102e+02 -3.386664537896355e+02 -3.388159761271593e+02 -3.389655478716282e+02 -3.391151689236262e+02 - -3.392648394412631e+02 -3.394145595795439e+02 -3.395643292235305e+02 -3.397141482525620e+02 -3.398640167930273e+02 - -3.400139349724158e+02 -3.401639026755699e+02 -3.403139197760493e+02 -3.404639863449279e+02 -3.406141024957107e+02 - -3.407642683141136e+02 -3.409144838324194e+02 -3.410647488969659e+02 -3.412150633828331e+02 -3.413654274660125e+02 - -3.415158413252182e+02 -3.416663048491409e+02 -3.418168178992377e+02 -3.419673805180489e+02 -3.421179927901010e+02 - -3.422686547867838e+02 -3.424193665441726e+02 -3.425701279702224e+02 -3.427209389917095e+02 -3.428717997388184e+02 - -3.430227103286458e+02 -3.431736706225328e+02 -3.433246804902436e+02 -3.434757400909901e+02 -3.436268495884827e+02 - -3.437780088749811e+02 -3.439292178162220e+02 -3.440804764432992e+02 -3.442317848369893e+02 -3.443831431114438e+02 - -3.445345513395477e+02 -3.446860093957458e+02 -3.448375171638715e+02 -3.449890747637513e+02 -3.451406823209921e+02 - -3.452923397483303e+02 -3.454440469383874e+02 -3.455958039161959e+02 -3.457476107544265e+02 -3.458994675838882e+02 - -3.460513744837874e+02 -3.462033312687789e+02 -3.463553377809081e+02 -3.465073942363314e+02 -3.466595008454457e+02 - -3.468116574214998e+02 -3.469638637732855e+02 -3.471161200889126e+02 -3.472684265676839e+02 -3.474207830743587e+02 - -3.475731894457752e+02 -3.477256457416318e+02 -3.478781520698926e+02 -3.480307085087305e+02 -3.481833150905516e+02 - -3.483359716944890e+02 -3.484886782275422e+02 -3.486414348614480e+02 -3.487942417546251e+02 -3.489470987474849e+02 - -3.491000056682386e+02 -3.492529626143035e+02 -3.494059697303613e+02 -3.495590270809477e+02 -3.497121346735108e+02 - -3.498652923672977e+02 -3.500185000578142e+02 -3.501717579338015e+02 -3.503250661735650e+02 -3.504784246204307e+02 - -3.506318331106053e+02 -3.507852917867942e+02 -3.509388008057230e+02 -3.510923600737020e+02 -3.512459694729739e+02 - -3.513996290399252e+02 -3.515533388531561e+02 -3.517070990059733e+02 -3.518609095547224e+02 -3.520147703931951e+02 - -3.521686814254426e+02 -3.523226427591028e+02 -3.524766545004363e+02 -3.526307165466042e+02 -3.527848288024159e+02 - -3.529389914123712e+02 -3.530932045168612e+02 -3.532474680001527e+02 -3.534017817301934e+02 -3.535561457657783e+02 - -3.537105602073667e+02 -3.538650251312291e+02 -3.540195405716707e+02 -3.541741064193253e+02 -3.543287225825957e+02 - -3.544833891846346e+02 -3.546381063473606e+02 -3.547928739730113e+02 -3.549476919508821e+02 -3.551025603381796e+02 - -3.552574792297605e+02 -3.554124487031720e+02 -3.555674687945711e+02 -3.557225393918643e+02 -3.558776604020463e+02 - -3.560328319567154e+02 -3.561880541805177e+02 -3.563433269456882e+02 -3.564986501330765e+02 -3.566540239103983e+02 - -3.568094484429710e+02 -3.569649235996524e+02 -3.571204492251743e+02 -3.572760253642205e+02 -3.574316521198430e+02 - -3.575873296286128e+02 -3.577430579645793e+02 -3.578988369181832e+02 -3.580546663122107e+02 -3.582105463824335e+02 - -3.583664773634632e+02 -3.585224590722860e+02 -3.586784912980774e+02 -3.588345741363943e+02 -3.589907077420278e+02 - -3.591468922003262e+02 -3.593031275347307e+02 -3.594594135904955e+02 -3.596157502414973e+02 -3.597721376542854e+02 - -3.599285759961583e+02 -3.600850651447366e+02 -3.602416049709182e+02 -3.603981956083848e+02 -3.605548371920680e+02 - -3.607115295991184e+02 -3.608682726958015e+02 -3.610250665626241e+02 -3.611819113190277e+02 -3.613388070259530e+02 - -3.614957536972620e+02 -3.616527512170044e+02 -3.618097994957786e+02 -3.619668986801910e+02 -3.621240489112448e+02 - -3.622812500715253e+02 -3.624385020268735e+02 -3.625958048345691e+02 -3.627531585959862e+02 -3.629105633974360e+02 - -3.630680192762735e+02 -3.632255260890885e+02 -3.633830837209757e+02 -3.635406923518125e+02 -3.636983521500620e+02 - -3.638560629437486e+02 -3.640138245654421e+02 -3.641716372063300e+02 -3.643295010634408e+02 -3.644874159985495e+02 - -3.646453818454157e+02 -3.648033986609884e+02 -3.649614665547653e+02 -3.651195856232492e+02 -3.652777559169987e+02 - -3.654359773157880e+02 -3.655942497193339e+02 -3.657525732779061e+02 -3.659109481367831e+02 -3.660693741707290e+02 - -3.662278512419212e+02 -3.663863794327037e+02 -3.665449588644519e+02 -3.667035895945005e+02 -3.668622716357800e+02 - -3.670210048876434e+02 -3.671797892763418e+02 -3.673386249492966e+02 -3.674975120447079e+02 -3.676564504427247e+02 - -3.678154400208724e+02 -3.679744809042344e+02 -3.681335732252156e+02 -3.682927168979475e+02 -3.684519118222935e+02 - -3.686111580593141e+02 -3.687704557033292e+02 -3.689298048205014e+02 -3.690892054329191e+02 -3.692486574145354e+02 - -3.694081606700869e+02 -3.695677153755793e+02 -3.697273216946131e+02 -3.698869794698993e+02 -3.700466885253786e+02 - -3.702064489307988e+02 -3.703662608017668e+02 -3.705261241915196e+02 -3.706860391012269e+02 -3.708460053861607e+02 - -3.710060229388483e+02 -3.711660919467376e+02 -3.713262125796104e+02 -3.714863846416646e+02 -3.716466079328989e+02 - -3.718068826020972e+02 -3.719672088201144e+02 -3.721275864973102e+02 -3.722880155098476e+02 -3.724484958575989e+02 - -3.726090275883345e+02 -3.727696108177087e+02 -3.729302456171431e+02 -3.730909318132427e+02 -3.732516692484294e+02 - -3.734124580732086e+02 -3.735732984485285e+02 -3.737341902690280e+02 -3.738951333966488e+02 -3.740561278288502e+02 - -3.742171736164895e+02 -3.743782708884933e+02 -3.745394197314636e+02 -3.747006199846337e+02 -3.748618715145197e+02 - -3.750231745441332e+02 -3.751845292967938e+02 -3.753459356405600e+02 -3.755073934398666e+02 -3.756689028999150e+02 - -3.758304642401999e+02 -3.759920773966298e+02 -3.761537422764503e+02 -3.763154589558405e+02 -3.764772275566993e+02 - -3.766390482148706e+02 -3.768009210261144e+02 -3.769628459119104e+02 -3.771248228066682e+02 -3.772868518707951e+02 - -3.774489332703654e+02 -3.776110669681248e+02 -3.777732529036114e+02 -3.779354911268638e+02 -3.780977817328078e+02 - -3.782601248854201e+02 -3.784225207068740e+02 -3.785849690830777e+02 -3.787474699201715e+02 -3.789100234414875e+02 - -3.790726298611719e+02 -3.792352890394379e+02 -3.793980008403989e+02 -3.795607654977005e+02 -3.797235832511840e+02 - -3.798864539959452e+02 -3.800493775732837e+02 -3.802123539540593e+02 -3.803753831256555e+02 -3.805384650119894e+02 - -3.807015994897982e+02 -3.808647863105625e+02 -3.810280252452890e+02 -3.811913162683451e+02 -3.813546593533040e+02 - -3.815180542672069e+02 -3.816815007606327e+02 -3.818449987248433e+02 -3.820085480876401e+02 -3.821721487823003e+02 - -3.823358007029311e+02 -3.824995035814819e+02 -3.826632571794644e+02 -3.828270615387958e+02 -3.829909166775790e+02 - -3.831548222382581e+02 -3.833187778788636e+02 -3.834827836954302e+02 -3.836468397830658e+02 -3.838109457951704e+02 - -3.839751013606573e+02 -3.841393064522010e+02 -3.843035610985582e+02 -3.844678652090594e+02 -3.846322186342679e+02 - -3.847966211091070e+02 -3.849610723938522e+02 -3.851255724658270e+02 -3.852901213276589e+02 -3.854547188661456e+02 - -3.856193651039130e+02 -3.857840607227301e+02 -3.859488064858506e+02 -3.861136028233281e+02 -3.862784501283425e+02 - -3.864433489797775e+02 -3.866083000045549e+02 -3.867733038360474e+02 -3.869383610689728e+02 -3.871034721369783e+02 - -3.872686374886131e+02 -3.874338577931016e+02 -3.875991337168530e+02 -3.877644656943423e+02 -3.879298541437876e+02 - -3.880952996503134e+02 -3.882608028487801e+02 -3.884263644060860e+02 -3.885919849359946e+02 -3.887576648076931e+02 - -3.889234044110585e+02 -3.890892044633024e+02 -3.892550656828005e+02 -3.894209884652491e+02 -3.895869732058733e+02 - -3.897530206206903e+02 -3.899191314265681e+02 -3.900853060229904e+02 -3.902515447813749e+02 -3.904178482782592e+02 - -3.905842171832736e+02 -3.907506523333024e+02 -3.909171542011455e+02 -3.910837216360146e+02 -3.912503530200719e+02 - -3.914170464908692e+02 -3.915838000867597e+02 -3.917506116939103e+02 -3.919174791997058e+02 -3.920844006485843e+02 - -3.922513741233318e+02 -3.924183977030698e+02 -3.925854694180132e+02 -3.927525871064144e+02 -3.929197486330507e+02 - -3.930869521607613e+02 -3.932541958513385e+02 -3.934214775643266e+02 -3.935887951493436e+02 -3.937561467185514e+02 - -3.939235303999417e+02 -3.940909441222876e+02 -3.942583857858931e+02 -3.944258533764072e+02 -3.945933449213566e+02 - -3.947608585304349e+02 -3.949283922804248e+02 -3.950959440342958e+02 -3.952635116636291e+02 -3.954310932882606e+02 - -3.955986870327357e+02 -3.957662907921835e+02 -3.959339024467546e+02 -3.961015200461023e+02 -3.962691416638499e+02 - 1.070000000000000e-01 1.069682658750319e-01 1.069365186252596e-01 1.069047582677665e-01 1.068729848196356e-01 - 1.068411982979503e-01 1.068093987197937e-01 1.067775861022493e-01 1.067457604624000e-01 1.067139218173294e-01 - 1.066820701841205e-01 1.066502055798566e-01 1.066183280216209e-01 1.065864375264968e-01 1.065545341115673e-01 - 1.065226177939159e-01 1.064906885906257e-01 1.064587465187799e-01 1.064267915954618e-01 1.063948238377547e-01 - 1.063628432627417e-01 1.063308498875062e-01 1.062988437291314e-01 1.062668248047005e-01 1.062347931312967e-01 - 1.062027487260033e-01 1.061706916059036e-01 1.061386217880807e-01 1.061065392896180e-01 1.060744441275985e-01 - 1.060423363191058e-01 1.060102158812228e-01 1.059780828310330e-01 1.059459371856195e-01 1.059137789620655e-01 - 1.058816081774544e-01 1.058494248488693e-01 1.058172289933936e-01 1.057850206281103e-01 1.057527997701029e-01 - 1.057205664364545e-01 1.056883206442483e-01 1.056560624105677e-01 1.056237917524958e-01 1.055915086871159e-01 - 1.055592132315112e-01 1.055269054027650e-01 1.054945852179606e-01 1.054622526941811e-01 1.054299078485097e-01 - 1.053975506980299e-01 1.053651812598247e-01 1.053327995509774e-01 1.053004055885713e-01 1.052679993896897e-01 - 1.052355809714157e-01 1.052031503508325e-01 1.051707075450236e-01 1.051382525710719e-01 1.051057854460610e-01 - 1.050733061870738e-01 1.050408148111938e-01 1.050083113355042e-01 1.049757957770881e-01 1.049432681530288e-01 - 1.049107284804097e-01 1.048781767763138e-01 1.048456130578245e-01 1.048130373420250e-01 1.047804496459986e-01 - 1.047478499868284e-01 1.047152383815977e-01 1.046826148473898e-01 1.046499794012880e-01 1.046173320603753e-01 - 1.045846728417352e-01 1.045520017624508e-01 1.045193188396054e-01 1.044866240902822e-01 1.044539175315645e-01 - 1.044211991805354e-01 1.043884690542783e-01 1.043557271698764e-01 1.043229735444130e-01 1.042902081949712e-01 - 1.042574311386343e-01 1.042246423924855e-01 1.041918419736082e-01 1.041590298990855e-01 1.041262061860007e-01 - 1.040933708514369e-01 1.040605239124776e-01 1.040276653862059e-01 1.039947952897050e-01 1.039619136400582e-01 - 1.039290204543487e-01 1.038961157496599e-01 1.038631995430748e-01 1.038302718516768e-01 1.037973326925491e-01 - 1.037643820827749e-01 1.037314200394375e-01 1.036984465796201e-01 1.036654617204061e-01 1.036324654788785e-01 - 1.035994578721206e-01 1.035664389172158e-01 1.035334086312472e-01 1.035003670312980e-01 1.034673141344516e-01 - 1.034342499577912e-01 1.034011745183999e-01 1.033680878333612e-01 1.033349899197580e-01 1.033018807946739e-01 - 1.032687604751918e-01 1.032356289783953e-01 1.032024863213673e-01 1.031693325211913e-01 1.031361675949504e-01 - 1.031029915597278e-01 1.030698044326069e-01 1.030366062306709e-01 1.030033969710030e-01 1.029701766706864e-01 - 1.029369453468044e-01 1.029037030164402e-01 1.028704496966771e-01 1.028371854045984e-01 1.028039101572872e-01 - 1.027706239718267e-01 1.027373268653004e-01 1.027040188547913e-01 1.026706999573827e-01 1.026373701901580e-01 - 1.026040295702002e-01 1.025706781145926e-01 1.025373158404186e-01 1.025039427647613e-01 1.024705589047040e-01 - 1.024371642773299e-01 1.024037588997223e-01 1.023703427889643e-01 1.023369159621393e-01 1.023034784363305e-01 - 1.022700302286212e-01 1.022365713560945e-01 1.022031018358337e-01 1.021696216849221e-01 1.021361309204428e-01 - 1.021026295594792e-01 1.020691176191145e-01 1.020355951164319e-01 1.020020620685147e-01 1.019685184924461e-01 - 1.019349644053093e-01 1.019013998241876e-01 1.018678247661643e-01 1.018342392483225e-01 1.018006432877456e-01 - 1.017670369015167e-01 1.017334201067191e-01 1.016997929204361e-01 1.016661553597508e-01 1.016325074417466e-01 - 1.015988491835066e-01 1.015651806021141e-01 1.015315017146524e-01 1.014978125382047e-01 1.014641130898543e-01 - 1.014304033866843e-01 1.013966834457780e-01 1.013629532842187e-01 1.013292129190896e-01 1.012954623674739e-01 - 1.012617016464549e-01 1.012279307731159e-01 1.011941497645400e-01 1.011603586378106e-01 1.011265574100107e-01 - 1.010927460982239e-01 1.010589247195331e-01 1.010250932910217e-01 1.009912518297729e-01 1.009574003528701e-01 - 1.009235388773963e-01 1.008896674204348e-01 1.008557859990690e-01 1.008218946303820e-01 1.007879933314571e-01 - 1.007540821193774e-01 1.007201610112264e-01 1.006862300240872e-01 1.006522891750429e-01 1.006183384811770e-01 - 1.005843779595726e-01 1.005504076273130e-01 1.005164275014813e-01 1.004824375991610e-01 1.004484379374351e-01 - 1.004144285333870e-01 1.003804094040999e-01 1.003463805666569e-01 1.003123420381414e-01 1.002782938356367e-01 - 1.002442359762259e-01 1.002101684769922e-01 1.001760913550190e-01 1.001420046273895e-01 1.001079083111869e-01 - 1.000738024234945e-01 1.000396869813954e-01 1.000055620019730e-01 9.997142750231042e-02 9.993728349949102e-02 - 9.990313001059796e-02 9.986896705271456e-02 9.983479464292398e-02 9.980061279830947e-02 9.976642153595434e-02 - 9.973222087294174e-02 9.969801082635499e-02 9.966379141327726e-02 9.962956265079187e-02 9.959532455598200e-02 - 9.956107714593093e-02 9.952682043772192e-02 9.949255444843813e-02 9.945827919516288e-02 9.942399469497937e-02 - 9.938970096497086e-02 9.935539802222057e-02 9.932108588381178e-02 9.928676456682770e-02 9.925243408835159e-02 - 9.921809446546671e-02 9.918374571525623e-02 9.914938785480347e-02 9.911502090119163e-02 9.908064487150398e-02 - 9.904625978282372e-02 9.901186565223413e-02 9.897746249681845e-02 9.894305033365988e-02 9.890862917984172e-02 - 9.887419905244718e-02 9.883975996855951e-02 9.880531194526194e-02 9.877085499963774e-02 9.873638914877009e-02 - 9.870191440974231e-02 9.866743079963761e-02 9.863293833553920e-02 9.859843703453038e-02 9.856392691369432e-02 - 9.852940799011436e-02 9.849488028087365e-02 9.846034380305550e-02 9.842579857374308e-02 9.839124461001970e-02 - 9.835668192896858e-02 9.832211054767293e-02 9.828753048321603e-02 9.825294175268109e-02 9.821834437315143e-02 - 9.818373836171017e-02 9.814912373544066e-02 9.811450051142606e-02 9.807986870674969e-02 9.804522833849474e-02 - 9.801057942374444e-02 9.797592197958208e-02 9.794125602309085e-02 9.790658157135405e-02 9.787189864145487e-02 - 9.783720725047659e-02 9.780250741550246e-02 9.776779915361565e-02 9.773308248189948e-02 9.769835741743713e-02 - 9.766362397731190e-02 9.762888217860698e-02 9.759413203840565e-02 9.755937357379113e-02 9.752460680184671e-02 - 9.748983173965557e-02 9.745504840430097e-02 9.742025681286617e-02 9.738545698243438e-02 9.735064893008888e-02 - 9.731583267291286e-02 9.728100822798963e-02 9.724617561240236e-02 9.721133484323437e-02 9.717648593756885e-02 - 9.714162891248904e-02 9.710676378507821e-02 9.707189057241956e-02 9.703700929159639e-02 9.700211995969188e-02 - 9.696722259378933e-02 9.693231721097194e-02 9.689740382832296e-02 9.686248246292567e-02 9.682755313186324e-02 - 9.679261585221899e-02 9.675767064107609e-02 9.672271751551782e-02 9.668775649262741e-02 9.665278758948814e-02 - 9.661781082318323e-02 9.658282621079586e-02 9.654783376940938e-02 9.651283351610694e-02 9.647782546797186e-02 - 9.644280964208730e-02 9.640778605553657e-02 9.637275472540287e-02 9.633771566876947e-02 9.630266890271960e-02 - 9.626761444433649e-02 9.623255231070338e-02 9.619748251890356e-02 9.616240508602021e-02 9.612732002913663e-02 - 9.609222736533599e-02 9.605712711170160e-02 9.602201928531666e-02 9.598690390326445e-02 9.595178098262819e-02 - 9.591665054049109e-02 9.588151259393644e-02 9.584636716004745e-02 9.581121425590743e-02 9.577605389859950e-02 - 9.574088610520702e-02 9.570571089281314e-02 9.567052827850117e-02 9.563533827935435e-02 9.560014091245586e-02 - 9.556493619488900e-02 9.552972414373699e-02 9.549450477608308e-02 9.545927810901049e-02 9.542404415960248e-02 - 9.538880294494230e-02 9.535355448211316e-02 9.531829878819836e-02 9.528303588028109e-02 9.524776577544461e-02 - 9.521248849077216e-02 9.517720404334697e-02 9.514191245025229e-02 9.510661372857139e-02 9.507130789538748e-02 - 9.503599496778380e-02 9.500067496284360e-02 9.496534789765015e-02 9.493001378928664e-02 9.489467265483635e-02 - 9.485932451138250e-02 9.482396937600834e-02 9.478860726579713e-02 9.475323819783207e-02 9.471786218919645e-02 - 9.468247925697347e-02 9.464708941824643e-02 9.461169269009850e-02 9.457628908961296e-02 9.454087863387305e-02 - 9.450546133996199e-02 9.447003722496307e-02 9.443460630595948e-02 9.439916860003450e-02 9.436372412427137e-02 - 9.432827289575330e-02 9.429281493156354e-02 9.425735024878537e-02 9.422187886450198e-02 9.418640079579664e-02 - 9.415091605975259e-02 9.411542467345307e-02 9.407992665398136e-02 9.404442201842063e-02 9.400891078385415e-02 - 9.397339296736518e-02 9.393786858603695e-02 9.390233765695270e-02 9.386680019719568e-02 9.383125622384911e-02 - 9.379570575399625e-02 9.376014880472036e-02 9.372458539310466e-02 9.368901553623238e-02 9.365343925118678e-02 - 9.361785655505112e-02 9.358226746490858e-02 9.354667199784246e-02 9.351107017093598e-02 9.347546200127239e-02 - 9.343984750593494e-02 9.340422670200685e-02 9.336859960657137e-02 9.333296623671174e-02 9.329732660951121e-02 - 9.326168074205300e-02 9.322602865142039e-02 9.319037035469660e-02 9.315470586896488e-02 9.311903521130845e-02 - 9.308335839881057e-02 9.304767544855448e-02 9.301198637762342e-02 9.297629120310064e-02 9.294058994206936e-02 - 9.290488261161287e-02 9.286916922881436e-02 9.283344981075708e-02 9.279772437452428e-02 9.276199293719922e-02 - 9.272625551586512e-02 9.269051212760523e-02 9.265476278950278e-02 9.261900751864104e-02 9.258324633210324e-02 - 9.254747924697261e-02 9.251170628033240e-02 9.247592744926583e-02 9.244014277085617e-02 9.240435226218666e-02 - 9.236855594034055e-02 9.233275382240104e-02 9.229694592545142e-02 9.226113226657491e-02 9.222531286285476e-02 - 9.218948773137420e-02 9.215365688921646e-02 9.211782035346482e-02 9.208197814120249e-02 9.204613026951274e-02 - 9.201027675547878e-02 9.197441761618388e-02 9.193855286871126e-02 9.190268253014419e-02 9.186680661756588e-02 - 9.183092514805957e-02 9.179503813870854e-02 9.175914560659600e-02 9.172324756880521e-02 9.168734404241941e-02 - 9.165143504452181e-02 9.161552059219569e-02 9.157960070252427e-02 9.154367539259080e-02 9.150774467947854e-02 - 9.147180858027071e-02 9.143586711205055e-02 9.139992029190132e-02 9.136396813690625e-02 9.132801066414858e-02 - 9.129204789071155e-02 9.125607983367841e-02 9.122010651013239e-02 9.118412793715676e-02 9.114814413183472e-02 - 9.111215511124955e-02 9.107616089248448e-02 9.104016149262276e-02 9.100415692874760e-02 9.096814721794225e-02 - 9.093213237728998e-02 9.089611242387401e-02 9.086008737477760e-02 9.082405724708396e-02 9.078802205787638e-02 - 9.075198182423806e-02 9.071593656325225e-02 9.067988629200220e-02 9.064383102757116e-02 9.060777078704237e-02 - 9.057170558749904e-02 9.053563544602444e-02 9.049956037970180e-02 9.046348040561442e-02 9.042739554084545e-02 - 9.039130580247817e-02 9.035521120759583e-02 9.031911177328168e-02 9.028300751661894e-02 9.024689845469086e-02 - 9.021078460458068e-02 9.017466598337168e-02 9.013854260814702e-02 9.010241449599002e-02 9.006628166398388e-02 - 9.003014412921184e-02 8.999400190875718e-02 8.995785501970310e-02 8.992170347913286e-02 8.988554730412972e-02 - 8.984938651177689e-02 8.981322111915761e-02 8.977705114335516e-02 8.974087660145275e-02 8.970469751053363e-02 - 8.966851388768103e-02 8.963232574997822e-02 8.959613311450842e-02 8.955993599835491e-02 8.952373441860086e-02 - 8.948752839232957e-02 8.945131793662427e-02 8.941510306856817e-02 8.937888380524456e-02 8.934266016373665e-02 - 8.930643216112769e-02 8.927019981450095e-02 8.923396314093963e-02 8.919772215752698e-02 8.916147688134625e-02 - 8.912522732948071e-02 8.908897351901354e-02 8.905271546702803e-02 8.901645319060740e-02 8.898018670683491e-02 - 8.894391603279379e-02 8.890764118556729e-02 8.887136218223864e-02 8.883507903989107e-02 8.879879177560786e-02 - 8.876250040647221e-02 8.872620494956741e-02 8.868990542197666e-02 8.865360184078323e-02 8.861729422307035e-02 - 8.858098258592126e-02 8.854466694641919e-02 8.850834732164740e-02 8.847202372868912e-02 8.843569618462761e-02 - 8.839936470654611e-02 8.836302931152785e-02 8.832669001665606e-02 8.829034683901400e-02 8.825399979568492e-02 - 8.821764890375206e-02 8.818129418029862e-02 8.814493564240788e-02 8.810857330716310e-02 8.807220719164749e-02 - 8.803583731294432e-02 8.799946368813677e-02 8.796308633430815e-02 8.792670526854167e-02 8.789032050792057e-02 - 8.785393206952812e-02 8.781753997044753e-02 8.778114422776205e-02 8.774474485855495e-02 8.770834187990943e-02 - 8.767193530890875e-02 8.763552516263615e-02 8.759911145817488e-02 8.756269421260816e-02 8.752627344301928e-02 - 8.748984916649143e-02 8.745342140010788e-02 8.741699016095185e-02 8.738055546610660e-02 8.734411733265539e-02 - 8.730767577768141e-02 8.727123081826793e-02 8.723478247149821e-02 8.719833075445547e-02 8.716187568422298e-02 - 8.712541727788393e-02 8.708895555252159e-02 8.705249052521923e-02 8.701602221306004e-02 8.697955063312730e-02 - 8.694307580250422e-02 8.690659773827408e-02 8.687011645752010e-02 8.683363197732555e-02 8.679714431477362e-02 - 8.676065348694757e-02 8.672415951093065e-02 8.668766240380611e-02 8.665116218265721e-02 8.661465886456714e-02 - 8.657815246661917e-02 8.654164300589655e-02 8.650513049948251e-02 8.646861496446030e-02 8.643209641791315e-02 - 8.639557487692430e-02 8.635905035857701e-02 8.632252287995451e-02 8.628599245814005e-02 8.624945911021686e-02 - 8.621292285326819e-02 8.617638370437727e-02 8.613984168062737e-02 8.610329679910171e-02 8.606674907688353e-02 - 8.603019853105608e-02 8.599364517870259e-02 8.595708903690633e-02 8.592053012275053e-02 8.588396845331842e-02 - 8.584740404569323e-02 8.581083691695822e-02 8.577426708419665e-02 8.573769456449173e-02 8.570111937492672e-02 - 8.566454153258486e-02 8.562796105454940e-02 8.559137795790356e-02 8.555479225973059e-02 8.551820397711374e-02 - 8.548161312713624e-02 8.544501972688134e-02 8.540842379343229e-02 8.537182534387232e-02 8.533522439528468e-02 - 8.529862096475260e-02 8.526201506935933e-02 8.522540672618811e-02 8.518879595232219e-02 8.515218276484479e-02 - 8.511556718083918e-02 8.507894921738858e-02 8.504232889157626e-02 8.500570622048544e-02 8.496908122119934e-02 - 8.493245391080124e-02 8.489582430637438e-02 8.485919242500198e-02 8.482255828376728e-02 8.478592189975355e-02 - 8.474928329004400e-02 8.471264247172190e-02 8.467599946187047e-02 8.463935427757298e-02 8.460270693591267e-02 - 8.456605745397273e-02 8.452940584883646e-02 8.449275213758706e-02 8.445609633730780e-02 8.441943846508193e-02 - 8.438277853799266e-02 8.434611657312326e-02 8.430945258755695e-02 8.427278659837699e-02 8.423611862266661e-02 - 8.419944867750905e-02 8.416277677998756e-02 8.412610294718537e-02 8.408942719618576e-02 8.405274954407191e-02 - 8.401607000792713e-02 8.397938860483460e-02 8.394270535187759e-02 8.390602026613936e-02 8.386933336470312e-02 - 8.383264466465212e-02 8.379595418306962e-02 8.375926193703884e-02 8.372256794364304e-02 8.368587221996546e-02 - 8.364917478308932e-02 8.361247565009787e-02 8.357577483807437e-02 8.353907236410206e-02 8.350236824526415e-02 - 8.346566249864391e-02 8.342895514132459e-02 8.339224619038943e-02 8.335553566292164e-02 8.331882357600448e-02 - 8.328210994672121e-02 8.324539479215504e-02 8.320867812938924e-02 8.317195997550704e-02 8.313524034759166e-02 - 8.309851926272641e-02 8.306179673799445e-02 8.302507279047908e-02 8.298834743726349e-02 8.295162069543097e-02 - 8.291489258206473e-02 8.287816311424805e-02 8.284143230906414e-02 8.280470018359624e-02 8.276796675492762e-02 - 8.273123204014149e-02 8.269449605632111e-02 8.265775882054972e-02 8.262102034991055e-02 8.258428066148686e-02 - 8.254753977236187e-02 8.251079769961885e-02 8.247405446034105e-02 8.243731007161166e-02 8.240056455051395e-02 - 8.236381791413117e-02 8.232707017954656e-02 8.229032136384334e-02 8.225357148410478e-02 8.221682055741411e-02 - 8.218006860085458e-02 8.214331563150944e-02 8.210656166646188e-02 8.206980672279519e-02 8.203305081759260e-02 - 8.199629396793737e-02 8.195953619091272e-02 8.192277750360188e-02 8.188601792308813e-02 8.184925746645468e-02 - 8.181249615078479e-02 8.177573399316168e-02 8.173897101066861e-02 8.170220722038883e-02 8.166544263940556e-02 - 8.162867728480205e-02 8.159191117366156e-02 8.155514432306732e-02 8.151837675010254e-02 8.148160847185050e-02 - 8.144483950539445e-02 8.140806986781760e-02 8.137129957620320e-02 8.133452864763450e-02 8.129775709919475e-02 - 8.126098494796720e-02 8.122421221103504e-02 8.118743890548155e-02 8.115066504838998e-02 8.111389065684355e-02 - 8.107711574792552e-02 8.104034033871912e-02 8.100356444630759e-02 8.096678808777417e-02 8.093001128020215e-02 - 8.089323404067471e-02 8.085645638627510e-02 8.081967833408658e-02 8.078289990119239e-02 8.074612110467576e-02 - 8.070934196161997e-02 8.067256248910820e-02 8.063578270422375e-02 8.059900262404983e-02 8.056222226566968e-02 - 8.052544164616657e-02 8.048866078262369e-02 8.045187969212433e-02 8.041509839175172e-02 8.037831689858911e-02 - 8.034153522971973e-02 8.030475340222681e-02 8.026797143319361e-02 8.023118933970336e-02 8.019440713883932e-02 - 8.015762484768471e-02 8.012084248332278e-02 8.008406006283678e-02 8.004727760330994e-02 8.001049512182555e-02 - 7.997371263546676e-02 7.993693016131688e-02 7.990014771645915e-02 7.986336531797676e-02 7.982658298295300e-02 - 7.978980072847111e-02 7.975301857161432e-02 7.971623652946590e-02 7.967945461910902e-02 7.964267285762699e-02 - 7.960589126210302e-02 7.956910984962039e-02 7.953232863726228e-02 7.949554764211197e-02 7.945876688125271e-02 - 7.942198637176773e-02 7.938520613074028e-02 7.934842617525358e-02 7.931164652239087e-02 7.927486718923542e-02 - 7.923808819287045e-02 7.920130955037924e-02 7.916453127884499e-02 7.912775339535094e-02 7.909097591698037e-02 - 7.905419886081648e-02 7.901742224394255e-02 7.898064608344180e-02 7.894387039639746e-02 7.890709519989279e-02 - 7.887032051101103e-02 7.883354634683543e-02 7.879677272444922e-02 7.875999966093565e-02 7.872322717337794e-02 - 7.868645527885937e-02 7.864968399446313e-02 7.861291333727252e-02 7.857614332437074e-02 7.853937397284104e-02 - 7.850260529976670e-02 7.846583732223091e-02 7.842907005731693e-02 7.839230352210801e-02 7.835553773368738e-02 - 7.831877270913830e-02 7.828200846554398e-02 7.824524501998768e-02 7.820848238955266e-02 7.817172059132216e-02 - 7.813495964237939e-02 7.809819955980761e-02 7.806144036069006e-02 7.802468206210998e-02 7.798792468115062e-02 - 7.795116823489523e-02 7.791441274042703e-02 7.787765821482928e-02 7.784090467518520e-02 7.780415213857807e-02 - 7.776740062209107e-02 7.773065014280750e-02 7.769390071781057e-02 7.765715236418354e-02 7.762040509900967e-02 - 7.758365893937215e-02 7.754691390235426e-02 7.751017000503922e-02 7.747342726451029e-02 7.743668569785070e-02 - 7.739994532214370e-02 7.736320615447252e-02 7.732646821192042e-02 7.728973151157063e-02 7.725299607050642e-02 - 7.721626190581099e-02 7.717952903456758e-02 7.714279747385946e-02 7.710606724076986e-02 7.706933835238206e-02 - 7.703261082577922e-02 7.699588467804465e-02 7.695915992626157e-02 7.692243658751323e-02 7.688571467888285e-02 - 7.684899421745368e-02 7.681227522030898e-02 7.677555770453198e-02 7.673884168720593e-02 7.670212718541405e-02 - 7.666541421623961e-02 7.662870279676583e-02 7.659199294407595e-02 7.655528467525324e-02 7.651857800738091e-02 - 7.648187295754222e-02 7.644516954282041e-02 7.640846778029871e-02 7.637176768706039e-02 7.633506928018867e-02 - 7.629837257676678e-02 7.626167759387799e-02 7.622498434860552e-02 7.618829285803264e-02 7.615160313924255e-02 - 7.611491520931853e-02 7.607822908534380e-02 7.604154478440163e-02 7.600486232357523e-02 7.596818171994783e-02 - 7.593150299060271e-02 7.589482615262309e-02 7.585815122309225e-02 7.582147821909338e-02 7.578480715770973e-02 - 7.574813805602458e-02 7.571147093112113e-02 7.567480580008265e-02 7.563814267999236e-02 7.560148158793352e-02 - 7.556482254098935e-02 7.552816555624312e-02 7.549151065077807e-02 7.545485784167741e-02 7.541820714602442e-02 - 7.538155858090231e-02 7.534491216339434e-02 7.530826791058375e-02 7.527162583955378e-02 7.523498596738766e-02 - 7.519834831116866e-02 7.516171288797999e-02 7.512507971490495e-02 7.508844880902671e-02 7.505182018742854e-02 - 7.501519386719367e-02 7.497856986540538e-02 7.494194819914687e-02 7.490532888550142e-02 7.486871194155223e-02 - 7.483209738438257e-02 7.479548523107570e-02 7.475887549871482e-02 7.472226820438319e-02 7.468566336516404e-02 - 7.464906099814063e-02 7.461246112039621e-02 7.457586374901400e-02 7.453926890107723e-02 7.450267659366919e-02 - 7.446608684387307e-02 7.442949966877216e-02 7.439291508544965e-02 7.435633311098883e-02 7.431975376247291e-02 - 7.428317705698513e-02 7.424660301160878e-02 7.421003164342704e-02 7.417346296952319e-02 7.413689700698045e-02 - 7.410033377288210e-02 7.406377328431132e-02 7.402721555835140e-02 7.399066061208556e-02 7.395410846259706e-02 - 7.391755912696915e-02 7.388101262228504e-02 7.384446896562798e-02 7.380792817408122e-02 7.377139026472800e-02 - 7.373485525465158e-02 7.369832316093516e-02 7.366179400066203e-02 7.362526779091538e-02 7.358874454877849e-02 - 7.355222429133459e-02 7.351570703566694e-02 7.347919279885876e-02 7.344268159799329e-02 7.340617345015378e-02 - 7.336966837242348e-02 7.333316638188561e-02 7.329666749562345e-02 7.326017173072021e-02 7.322367910425913e-02 - 7.318718963332346e-02 7.315070333499644e-02 7.311422022636133e-02 7.307774032450136e-02 7.304126364649975e-02 - 7.300479020943977e-02 7.296832003040465e-02 7.293185312647765e-02 7.289538951474199e-02 7.285892921228092e-02 - 7.282247223617767e-02 7.278601860351550e-02 7.274956833137766e-02 7.271312143684736e-02 7.267667793700786e-02 - 7.264023784894239e-02 7.260380118973422e-02 7.256736797646657e-02 7.253093822622268e-02 7.249451195608582e-02 - 7.245808918313920e-02 7.242166992446607e-02 7.238525419714967e-02 7.234884201827325e-02 7.231243340492007e-02 - 7.227602837417331e-02 7.223962694311627e-02 7.220322912883217e-02 7.216683494840427e-02 7.213044441891579e-02 - 7.209405755744998e-02 7.205767438109009e-02 7.202129490691934e-02 7.198491915202099e-02 7.194854713347830e-02 - 7.191217886837446e-02 7.187581437379276e-02 7.183945366681642e-02 7.180309676452867e-02 7.176674368401278e-02 - 7.173039444235199e-02 7.169404905662952e-02 7.165770754392863e-02 7.162136992133256e-02 7.158503620592453e-02 - 7.154870641478780e-02 7.151238056500563e-02 7.147605867366123e-02 7.143974075783785e-02 7.140342683461876e-02 - 7.136711692108716e-02 7.133081103432631e-02 7.129450919141947e-02 7.125821140944985e-02 7.122191770550071e-02 - 7.118562809665530e-02 7.114934259999683e-02 7.111306123260858e-02 7.107678401157377e-02 7.104051095397565e-02 - 7.100424207689746e-02 7.096797739742244e-02 7.093171693263382e-02 7.089546069961486e-02 7.085920871544882e-02 - 7.082296099721888e-02 7.078671756200834e-02 7.075047842690044e-02 7.071424360897838e-02 7.067801312532543e-02 - 7.064178699302483e-02 7.060556522915983e-02 7.056934785081363e-02 7.053313487506954e-02 7.049692631901075e-02 - 7.046072219972052e-02 7.042452253428211e-02 7.038832733977872e-02 7.035213663329361e-02 7.031595043191004e-02 - 7.027976875271123e-02 7.024359161278042e-02 7.020741902920087e-02 7.017125101905583e-02 7.013508759942851e-02 - 7.009892878740216e-02 7.006277460006004e-02 7.002662505448538e-02 6.999048016776144e-02 6.995433995697144e-02 - 6.991820443919861e-02 6.988207363152622e-02 6.984594755103750e-02 6.980982621481568e-02 6.977370963994402e-02 - 6.973759784350578e-02 6.970149084258416e-02 6.966538865426242e-02 6.962929129562380e-02 6.959319878375156e-02 - 6.955711113572893e-02 6.952102836863913e-02 6.948495049956542e-02 6.944887754559105e-02 6.941280952379927e-02 - 6.937674645127329e-02 6.934068834509637e-02 6.930463522235174e-02 6.926858710012268e-02 6.923254399549238e-02 - 6.919650592554411e-02 6.916047290736112e-02 6.912444495802665e-02 6.908842209462392e-02 6.905240433423616e-02 - 6.901639169394666e-02 6.898038419083864e-02 6.894438184199533e-02 6.890838466449999e-02 6.887239267543585e-02 - 6.883640589188617e-02 6.880042433093415e-02 6.876444800966307e-02 6.872847694515619e-02 6.869251115449670e-02 - 6.865655065476786e-02 6.862059546305292e-02 6.858464559643512e-02 6.854870107199770e-02 6.851276190682393e-02 - 6.847682811799699e-02 6.844089972260017e-02 6.840497673771671e-02 6.836905918042983e-02 6.833314706782279e-02 - 6.829724041697882e-02 6.826133924498116e-02 6.822544356891308e-02 6.818955340585779e-02 6.815366877289854e-02 - 6.811778968711857e-02 6.808191616560114e-02 6.804604822542948e-02 6.801018588368681e-02 6.797432915745642e-02 - 6.793847806382150e-02 6.790263261986533e-02 6.786679284267115e-02 6.783095874932217e-02 6.779513035690166e-02 - 6.775930768249286e-02 6.772349074317900e-02 6.768767955604332e-02 6.765187413816909e-02 6.761607450663952e-02 - 6.758028067853786e-02 6.754449267094738e-02 6.750871050095128e-02 6.747293418563281e-02 6.743716374207524e-02 - 6.740139918736179e-02 6.736564053857570e-02 6.732988781280023e-02 6.729414102711860e-02 6.725840019861405e-02 - 6.722266534436987e-02 6.718693648146923e-02 6.715121362699542e-02 6.711549679803168e-02 6.707978601166123e-02 - 6.704408128496732e-02 6.700838263503321e-02 6.697269007894212e-02 6.693700363377729e-02 6.690132331662198e-02 - 6.686564914455943e-02 6.682998113467287e-02 6.679431930404556e-02 6.675866366976070e-02 6.672301424890158e-02 - 6.668737105855144e-02 6.665173411579348e-02 6.661610343771096e-02 6.658047904138716e-02 6.654486094390526e-02 - 6.650924916234854e-02 6.647364371380024e-02 6.643804461534360e-02 6.640245188406185e-02 6.636686553703826e-02 - 6.633128559135604e-02 6.629571206409844e-02 6.626014497234871e-02 6.622458433319009e-02 6.618903016370581e-02 - 6.615348248097914e-02 6.611794130209329e-02 6.608240664413152e-02 6.604687852417708e-02 6.601135695931318e-02 - 6.597584196662311e-02 6.594033356319007e-02 6.590483176609731e-02 6.586933659242808e-02 6.583384805926563e-02 - 6.579836618369318e-02 6.576289098279399e-02 6.572742247365128e-02 6.569196067334833e-02 6.565650559896835e-02 - 6.562105726759460e-02 6.558561569631030e-02 6.555018090219872e-02 6.551475290234308e-02 6.547933171382664e-02 - 6.544391735373260e-02 6.540850983914427e-02 6.537310918714484e-02 6.533771541481756e-02 6.530232853924568e-02 - 6.526694857751246e-02 6.523157554670111e-02 6.519620946389489e-02 6.516085034617702e-02 6.512549821063078e-02 - 6.509015307433939e-02 6.505481495438609e-02 6.501948386785412e-02 6.498415983182672e-02 6.494884286338716e-02 - 6.491353297961865e-02 6.487823019760443e-02 6.484293453442776e-02 6.480764600717190e-02 6.477236463292005e-02 - 6.473709042875546e-02 6.470182341176141e-02 6.466656359902111e-02 6.463131100761778e-02 6.459606565463470e-02 - 6.456082755715510e-02 6.452559673226224e-02 6.449037319703932e-02 6.445515696856961e-02 6.441994806393636e-02 - 6.438474650022280e-02 6.434955229451217e-02 6.431436546388770e-02 6.427918602543267e-02 6.424401399623028e-02 - 6.420884939336380e-02 6.417369223391646e-02 6.413854253497149e-02 6.410340031361215e-02 6.406826558692170e-02 - 6.403313837198334e-02 6.399801868588033e-02 6.396290654569593e-02 6.392780196851335e-02 6.389270497141585e-02 - 6.385761557148667e-02 6.382253378580906e-02 6.378745963146625e-02 6.375239312554147e-02 6.371733428511799e-02 - 6.368228312727903e-02 6.364723966910786e-02 6.361220392768768e-02 6.357717592010177e-02 6.354215566343337e-02 - 6.350714317476568e-02 6.347213847118198e-02 6.343714156976551e-02 6.340215248759951e-02 6.336717124176720e-02 - 6.333219784935186e-02 6.329723232743668e-02 6.326227469310496e-02 6.322732496343991e-02 6.319238315552476e-02 - 6.315744928644278e-02 6.312252337327721e-02 6.308760543311126e-02 6.305269548302821e-02 6.301779354011129e-02 - 6.298289962144372e-02 6.294801374410877e-02 6.291313592518968e-02 6.287826618176968e-02 6.284340453093201e-02 - 6.280855098975993e-02 6.277370557533665e-02 6.273886830474544e-02 6.270403919506955e-02 6.266921826339220e-02 - 6.263440552679662e-02 6.259960100236607e-02 6.256480470718381e-02 6.253001665833306e-02 6.249523687289707e-02 - 6.246046536795907e-02 6.242570216060229e-02 6.239094726791002e-02 6.235620070696547e-02 6.232146249485187e-02 - 6.228673264865250e-02 6.225201118545055e-02 6.221729812232930e-02 6.218259347637199e-02 6.214789726466187e-02 - 6.211320950428215e-02 6.207853021231610e-02 6.204385940584693e-02 6.200919710195792e-02 6.197454331773228e-02 - 6.193989807025328e-02 6.190526137660414e-02 6.187063325386812e-02 6.183601371912845e-02 6.180140278946837e-02 - 6.176680048197113e-02 6.173220681371997e-02 6.169762180179813e-02 6.166304546328885e-02 6.162847781527538e-02 - 6.159391887484095e-02 6.155936865906880e-02 6.152482718504219e-02 6.149029446984435e-02 6.145577053055853e-02 - 6.142125538426796e-02 6.138674904805590e-02 6.135225153900557e-02 6.131776287420022e-02 6.128328307072310e-02 - 6.124881214565744e-02 6.121435011608650e-02 6.117989699909349e-02 6.114545281176169e-02 6.111101757117431e-02 - 6.107659129441460e-02 6.104217399856583e-02 6.100776570071121e-02 6.097336641793399e-02 6.093897616731742e-02 - 6.090459496594473e-02 6.087022283089916e-02 6.083585977926396e-02 6.080150582812238e-02 6.076716099455765e-02 - 6.073282529565302e-02 6.069849874849172e-02 6.066418137015700e-02 6.062987317773211e-02 6.059557418830027e-02 - 6.056128441894475e-02 6.052700388674876e-02 6.049273260879557e-02 6.045847060216841e-02 6.042421788395052e-02 - 6.038997447122514e-02 6.035574038107552e-02 6.032151563058490e-02 6.028730023683652e-02 6.025309421691362e-02 - 6.021889758789946e-02 6.018471036687725e-02 6.015053257093025e-02 6.011636421714171e-02 6.008220532259485e-02 - 6.004805590437293e-02 6.001391597955918e-02 5.997978556523686e-02 5.994566467848918e-02 5.991155333639943e-02 - 5.987745155605081e-02 5.984335935452657e-02 5.980927674890997e-02 5.977520375628423e-02 5.974114039373261e-02 - 5.970708667833834e-02 5.967304262718466e-02 5.963900825735483e-02 5.960498358593206e-02 5.957096862999962e-02 - 5.953696340664075e-02 5.950296793293869e-02 5.946898222597666e-02 5.943500630283793e-02 5.940104018060574e-02 - 5.936708387636331e-02 5.933313740719390e-02 5.929920079018074e-02 5.926527404240709e-02 5.923135718095618e-02 - 5.919745022291125e-02 5.916355318535554e-02 5.912966608537230e-02 5.909578894004478e-02 5.906192176645620e-02 - 5.902806458168981e-02 5.899421740282887e-02 5.896038024695659e-02 5.892655313115624e-02 5.889273607251104e-02 - 5.885892908810425e-02 5.882513219501910e-02 5.879134541033884e-02 5.875756875114671e-02 5.872380223452595e-02 - 5.869004587755981e-02 5.865629969733151e-02 5.862256371092430e-02 5.858883793542144e-02 5.855512238790617e-02 - 5.852141708546170e-02 5.848772204517131e-02 5.845403728411822e-02 5.842036281938568e-02 5.838669866805692e-02 - 5.835304484721521e-02 5.831940137394376e-02 5.828576826532585e-02 5.825214553844467e-02 5.821853321038349e-02 - 5.818493129822556e-02 5.815133981905412e-02 5.811775878995240e-02 5.808418822800365e-02 5.805062815029110e-02 - 5.801707857389801e-02 5.798353951590760e-02 5.795001099340315e-02 5.791649302346786e-02 5.788298562318499e-02 - 5.784948880963779e-02 5.781600259990949e-02 5.778252701108333e-02 5.774906206024256e-02 5.771560776447041e-02 - 5.768216414085015e-02 5.764873120646499e-02 5.761530897839819e-02 5.758189747373298e-02 5.754849670955262e-02 - 5.751510670294033e-02 5.748172747097936e-02 5.744835903075296e-02 5.741500139934437e-02 5.738165459383683e-02 - 5.734831863131357e-02 5.731499352885785e-02 5.728167930355290e-02 5.724837597248197e-02 5.721508355272830e-02 - 5.718180206137512e-02 5.714853151550570e-02 5.711527193220325e-02 5.708202332855103e-02 5.704878572163228e-02 - 5.701555912853024e-02 5.698234356632816e-02 5.694913905210926e-02 5.691594560295680e-02 5.688276323595402e-02 - 5.684959196818416e-02 5.681643181673045e-02 5.678328279867616e-02 5.675014493110452e-02 5.671701823109875e-02 - 5.668390271574211e-02 5.665079840211785e-02 5.661770530730920e-02 5.658462344839940e-02 5.655155284247171e-02 - 5.651849350660935e-02 5.648544545789557e-02 5.645240871341362e-02 5.641938329024674e-02 5.638636920547815e-02 - 5.635336647619112e-02 5.632037511946889e-02 5.628739515239468e-02 5.625442659205174e-02 5.622146945552333e-02 - 5.618852375989267e-02 5.615558952224302e-02 5.612266675965761e-02 5.608975548921968e-02 5.605685572801247e-02 - 5.602396749311925e-02 5.599109080162322e-02 5.595822567060765e-02 5.592537211715578e-02 5.589253015835084e-02 - 5.585969981127608e-02 5.582688109301474e-02 5.579407402065006e-02 5.576127861126528e-02 5.572849488194366e-02 - 5.569572284976842e-02 5.566296253182280e-02 5.563021394519008e-02 5.559747710695345e-02 5.556475203419618e-02 - 5.553203874400151e-02 5.549933725345269e-02 5.546664757963294e-02 5.543396973962551e-02 5.540130375051366e-02 - 5.536864962938060e-02 5.533600739330961e-02 5.530337705938389e-02 5.527075864468672e-02 5.523815216630132e-02 - 5.520555764131094e-02 5.517297508679882e-02 5.514040451984819e-02 5.510784595754230e-02 5.507529941696442e-02 - 5.504276491519774e-02 5.501024246932555e-02 5.497773209643106e-02 5.494523381359754e-02 5.491274763790820e-02 - 5.488027358644629e-02 5.484781167629507e-02 5.481536192453777e-02 5.478292434825763e-02 5.475049896453790e-02 - 5.471808579046181e-02 5.468568484311261e-02 5.465329613957354e-02 5.462091969692785e-02 5.458855553225877e-02 - 5.455620366264955e-02 5.452386410518342e-02 5.449153687694363e-02 5.445922199501343e-02 5.442691947647604e-02 - 5.439462933841474e-02 5.436235159791274e-02 5.433008627205328e-02 5.429783337791962e-02 5.426559293259499e-02 - 5.423336495316264e-02 5.420114945670580e-02 5.416894646030773e-02 5.413675598105167e-02 5.410457803602083e-02 - 5.407241264229849e-02 5.404025981696787e-02 5.400811957711223e-02 5.397599193981480e-02 5.394387692215881e-02 - 5.391177454122753e-02 5.387968481410418e-02 5.384760775787202e-02 5.381554338961427e-02 5.378349172641418e-02 - 5.375145278535501e-02 5.371942658351998e-02 5.368741313799234e-02 5.365541246585533e-02 5.362342458419220e-02 - 5.359144951008617e-02 5.355948726062051e-02 5.352753785287844e-02 5.349560130394321e-02 5.346367763089808e-02 - 5.343176685082626e-02 5.339986898081100e-02 5.336798403793557e-02 5.333611203928318e-02 5.330425300193709e-02 - 5.327240694298052e-02 5.324057387949673e-02 5.320875382856897e-02 5.317694680728046e-02 5.314515283271445e-02 - 5.311337192195419e-02 5.308160409208292e-02 5.304984936018387e-02 5.301810774334029e-02 5.298637925860694e-02 - 5.295466392210174e-02 5.292296174881576e-02 5.289127275367324e-02 5.285959695159842e-02 5.282793435751552e-02 - 5.279628498634878e-02 5.276464885302243e-02 5.273302597246069e-02 5.270141635958780e-02 5.266982002932800e-02 - 5.263823699660550e-02 5.260666727634453e-02 5.257511088346935e-02 5.254356783290417e-02 5.251203813957321e-02 - 5.248052181840073e-02 5.244901888431094e-02 5.241752935222807e-02 5.238605323707637e-02 5.235459055378005e-02 - 5.232314131726334e-02 5.229170554245050e-02 5.226028324426572e-02 5.222887443763326e-02 5.219747913747734e-02 - 5.216609735872220e-02 5.213472911629205e-02 5.210337442511115e-02 5.207203330010370e-02 5.204070575619395e-02 - 5.200939180830615e-02 5.197809147136448e-02 5.194680476029321e-02 5.191553169001656e-02 5.188427227545876e-02 - 5.185302653154403e-02 5.182179447319664e-02 5.179057611534077e-02 5.175937147290068e-02 5.172818056080060e-02 - 5.169700339396475e-02 5.166583998731737e-02 5.163469035578269e-02 5.160355451428494e-02 5.157243247774834e-02 - 5.154132426109714e-02 5.151022987925555e-02 5.147914934714782e-02 5.144808267969817e-02 5.141702989183084e-02 - 5.138599099847005e-02 5.135496601454004e-02 5.132395495496503e-02 5.129295783466926e-02 5.126197466857695e-02 - 5.123100547161235e-02 5.120005025869967e-02 5.116910904476317e-02 5.113818184472704e-02 5.110726867351554e-02 - 5.107636954605289e-02 5.104548447726333e-02 5.101461348207109e-02 5.098375657540039e-02 5.095291377217546e-02 - 5.092208508732055e-02 5.089127053575987e-02 5.086047013241765e-02 5.082968389221815e-02 5.079891183008556e-02 - 5.076815396094415e-02 5.073741029971812e-02 5.070668086133172e-02 5.067596566070917e-02 5.064526471277472e-02 - 5.061457803245257e-02 5.058390563466697e-02 5.055324753434216e-02 5.052260374640234e-02 5.049197428577178e-02 - 5.046135916737467e-02 5.043075840613528e-02 5.040017201697781e-02 5.036960001482652e-02 5.033904241460560e-02 - 5.030849923123931e-02 5.027797047965189e-02 5.024745617476754e-02 5.021695633151052e-02 5.018647096480505e-02 - 5.015600008957535e-02 5.012554372074565e-02 5.009510187324022e-02 5.006467456198324e-02 5.003426180189897e-02 - 5.000386360791163e-02 4.997347999494546e-02 4.994311097792468e-02 4.991275657177353e-02 4.988241679141623e-02 - 4.985209165177702e-02 4.982178116778014e-02 4.979148535434980e-02 4.976120422641023e-02 4.973093779888569e-02 - 4.970068608670038e-02 4.967044910477855e-02 4.964022686804442e-02 4.961001939142222e-02 4.957982668983620e-02 - 4.954964877821057e-02 4.951948567146956e-02 4.948933738453741e-02 4.945920393233836e-02 4.942908532979662e-02 - 4.939898159183643e-02 4.936889273338203e-02 4.933881876935763e-02 4.930875971468749e-02 4.927871558429582e-02 - 4.924868639310685e-02 4.921867215604481e-02 4.918867288803395e-02 4.915868860399848e-02 4.912871931886263e-02 - 4.909876504755066e-02 4.906882580498677e-02 4.903890160609520e-02 4.900899246580018e-02 4.897909839902595e-02 - 4.894921942069672e-02 4.891935554573676e-02 4.888950678907025e-02 4.885967316562146e-02 4.882985469031461e-02 - 4.880005137807392e-02 4.877026324382362e-02 4.874049030248797e-02 4.871073256899117e-02 4.868099005825745e-02 - 4.865126278521108e-02 4.862155076477624e-02 4.859185401187720e-02 4.856217254143816e-02 4.853250636838338e-02 - 4.850285550763707e-02 4.847321997412347e-02 4.844359978276680e-02 4.841399494849130e-02 4.838440548622121e-02 - 4.835483141088075e-02 4.832527273739414e-02 4.829572948068564e-02 4.826620165567946e-02 4.823668927729983e-02 - 4.820719236047098e-02 4.817771092011715e-02 4.814824497116257e-02 4.811879452853147e-02 4.808935960714807e-02 - 4.805994022193662e-02 4.803053638782134e-02 4.800114811972645e-02 4.797177543257621e-02 4.794241834129482e-02 - 4.791307686080653e-02 4.788375100603556e-02 4.785444079190614e-02 4.782514623334252e-02 4.779586734526891e-02 - 4.776660414260955e-02 4.773735664028868e-02 4.770812485323050e-02 4.767890879635927e-02 4.764970848459921e-02 - 4.762052393287456e-02 4.759135515610954e-02 4.756220216922838e-02 4.753306498715533e-02 4.750394362481459e-02 - 4.747483809713041e-02 4.744574841902701e-02 4.741667460542864e-02 4.738761667125952e-02 4.735857463144388e-02 - 4.732954850090595e-02 4.730053829456995e-02 4.727154402736015e-02 4.724256571420073e-02 4.721360337001596e-02 - 4.718465700973005e-02 4.715572664826723e-02 4.712681230055175e-02 4.709791398150782e-02 4.706903170605968e-02 - 4.704016548913156e-02 4.701131534564769e-02 4.698248129053231e-02 4.695366333870963e-02 4.692486150510391e-02 - 4.689607580463934e-02 4.686730625224018e-02 4.683855286283068e-02 4.680981565133503e-02 4.678109463267748e-02 - 4.675238982178226e-02 4.672370123357359e-02 4.669502888297572e-02 4.666637278491287e-02 4.663773295430927e-02 - 4.660910940608916e-02 4.658050215517676e-02 4.655191121649629e-02 4.652333660497202e-02 4.649477833552815e-02 - 4.646623642308891e-02 4.643771088257853e-02 4.640920172892127e-02 4.638070897704132e-02 4.635223264186294e-02 - 4.632377273831036e-02 4.629532928130779e-02 4.626690228577947e-02 4.623849176664965e-02 4.621009773884253e-02 - 4.618172021728237e-02 4.615335921689338e-02 4.612501475259979e-02 4.609668683932586e-02 4.606837549199577e-02 - 4.604008072553380e-02 4.601180255486416e-02 4.598354099491107e-02 4.595529606059879e-02 4.592706776685152e-02 - 4.589885612859351e-02 4.587066116074899e-02 4.584248287824218e-02 4.581432129599732e-02 4.578617642893863e-02 - 4.575804829199037e-02 4.572993690007673e-02 4.570184226812196e-02 4.567376441105030e-02 4.564570334378597e-02 - 4.561765908125320e-02 4.558963163837623e-02 4.556162103007928e-02 4.553362727128659e-02 4.550565037692238e-02 - 4.547769036191089e-02 4.544974724117636e-02 4.542182102964300e-02 4.539391174223504e-02 4.536601939387674e-02 - 4.533814399949231e-02 4.531028557400597e-02 4.528244413234197e-02 4.525461968942453e-02 4.522681226017790e-02 - 4.519902185952628e-02 4.517124850239393e-02 4.514349220370505e-02 4.511575297838390e-02 4.508803084135470e-02 - 4.506032580754168e-02 4.503263789186907e-02 4.500496710926111e-02 4.497731347464200e-02 4.494967700293602e-02 - 4.492205770906736e-02 4.489445560796028e-02 4.486687071453899e-02 4.483930304372771e-02 4.481175261045071e-02 - 4.478421942963219e-02 4.475670351619640e-02 4.472920488506756e-02 4.470172355116988e-02 4.467425952942764e-02 - 4.464681283476502e-02 4.461938348210628e-02 4.459197148637566e-02 4.456457686249737e-02 4.453719962539564e-02 - 4.450983978999472e-02 4.448249737121881e-02 4.445517238399217e-02 4.442786484323902e-02 4.440057476388359e-02 - 4.437330216085012e-02 4.434604704906282e-02 4.431880944344595e-02 4.429158935892372e-02 4.426438681042035e-02 - 4.423720181286010e-02 4.421003438116718e-02 4.418288453026584e-02 4.415575227508029e-02 4.412863763053477e-02 - 4.410154061155352e-02 4.407446123306075e-02 4.404739950998071e-02 4.402035545723762e-02 4.399332908975571e-02 - 4.396632042245923e-02 4.393932947027238e-02 4.391235624811941e-02 4.388540077092456e-02 4.385846305361203e-02 - 4.383154311110608e-02 4.380464095833093e-02 4.377775661021081e-02 4.375089008166996e-02 4.372404138763258e-02 - 4.369721054302294e-02 4.367039756276526e-02 4.364360246178376e-02 4.361682525500267e-02 4.359006595734623e-02 - 4.356332458373868e-02 4.353660114910423e-02 4.350989566836711e-02 4.348320815645158e-02 4.345653862828184e-02 - 4.342988709878214e-02 4.340325358287669e-02 4.337663809548974e-02 4.335004065154552e-02 4.332346126596825e-02 - 4.329689995368217e-02 4.327035672961151e-02 4.324383160868049e-02 4.321732460581335e-02 4.319083573593433e-02 - 4.316436501396765e-02 4.313791245483754e-02 4.311147807346823e-02 4.308506188478395e-02 4.305866390370894e-02 - 4.303228414516742e-02 4.300592262408363e-02 4.297957935538180e-02 4.295325435398616e-02 4.292694763482094e-02 - 4.290065921281035e-02 4.287438910287866e-02 4.284813731995007e-02 4.282190387894883e-02 4.279568879479917e-02 - 4.276949208242530e-02 4.274331375675147e-02 4.271715383270192e-02 4.269101232520085e-02 4.266488924917250e-02 - 4.263878461954113e-02 4.261269845123093e-02 4.258663075916616e-02 4.256058155827103e-02 4.253455086346980e-02 - 4.250853868968667e-02 4.248254505184589e-02 4.245656996487169e-02 4.243061344368828e-02 4.240467550321991e-02 - 4.237875615839081e-02 4.235285542412521e-02 4.232697331534734e-02 4.230110984698143e-02 4.227526503395169e-02 - 4.224943889118240e-02 4.222363143359775e-02 4.219784267612198e-02 4.217207263367933e-02 4.214632132119402e-02 - 4.212058875359029e-02 4.209487494579236e-02 4.206917991272448e-02 4.204350366931086e-02 4.201784623047573e-02 - 4.199220761114335e-02 4.196658782623791e-02 4.194098689068368e-02 4.191540481940486e-02 4.188984162732570e-02 - 4.186429732937041e-02 4.183877194046326e-02 4.181326547552844e-02 4.178777794949019e-02 4.176230937727277e-02 - 4.173685977380037e-02 4.171142915399725e-02 4.168601753278764e-02 4.166062492509574e-02 4.163525134584580e-02 - 4.160989680996207e-02 4.158456133236876e-02 4.155924492799010e-02 4.153394761175032e-02 4.150866939857367e-02 - 4.148341030338436e-02 4.145817034110662e-02 4.143294952666470e-02 4.140774787498282e-02 4.138256540098521e-02 - 4.135740211959609e-02 4.133225804573972e-02 4.130713319434030e-02 4.128202758032209e-02 4.125694121860929e-02 - 4.123187412412615e-02 4.120682631179690e-02 4.118179779654577e-02 4.115678859329698e-02 4.113179871697477e-02 - 4.110682818250337e-02 4.108187700480702e-02 4.105694519880994e-02 4.103203277943635e-02 4.100713976161051e-02 - 4.098226616025662e-02 4.095741199029894e-02 4.093257726666168e-02 4.090776200426908e-02 4.088296621804536e-02 - 4.085818992291476e-02 4.083343313380151e-02 4.080869586562985e-02 4.078397813332400e-02 4.075927995180818e-02 - 4.073460133600665e-02 4.070994230084361e-02 4.068530286124331e-02 4.066068303212998e-02 4.063608282842784e-02 - 4.061150226506113e-02 4.058694135695408e-02 4.056240011903092e-02 4.053787856621588e-02 4.051337671343318e-02 - 4.048889457560707e-02 4.046443216766178e-02 4.043998950452153e-02 4.041556660111054e-02 4.039116347235307e-02 - 4.036678013317334e-02 4.034241659849556e-02 4.031807288324400e-02 4.029374900234285e-02 4.026944497071637e-02 - 4.024516080328877e-02 4.022089651498431e-02 4.019665212072718e-02 4.017242763544165e-02 4.014822307405193e-02 - 4.012403845148225e-02 4.009987378265685e-02 4.007572908249996e-02 4.005160436593580e-02 4.002749964788860e-02 - 4.000341494328261e-02 3.997935026862905e-02 3.995530565020248e-02 3.993128111798760e-02 3.990727670197625e-02 - 3.988329243216027e-02 3.985932833853151e-02 3.983538445108181e-02 3.981146079980302e-02 3.978755741468697e-02 - 3.976367432572553e-02 3.973981156291052e-02 3.971596915623379e-02 3.969214713568721e-02 3.966834553126258e-02 - 3.964456437295178e-02 3.962080369074663e-02 3.959706351463900e-02 3.957334387462071e-02 3.954964480068362e-02 - 3.952596632281957e-02 3.950230847102040e-02 3.947867127527795e-02 3.945505476558409e-02 3.943145897193063e-02 - 3.940788392430945e-02 3.938432965271236e-02 3.936079618713123e-02 3.933728355755788e-02 3.931379179398419e-02 - 3.929032092640197e-02 3.926687098480308e-02 3.924344199917935e-02 3.922003399952266e-02 3.919664701582481e-02 - 3.917328107807769e-02 3.914993621627309e-02 3.912661246040292e-02 3.910330984045896e-02 3.908002838643308e-02 - 3.905676812831715e-02 3.903352909610298e-02 3.901031131978242e-02 3.898711482934733e-02 3.896393965478955e-02 - 3.894078582610091e-02 3.891765337327326e-02 3.889454232629846e-02 3.887145271516833e-02 3.884838456987474e-02 - 3.882533792040951e-02 3.880231279676451e-02 3.877930922893155e-02 3.875632724690252e-02 3.873336688066923e-02 - 3.871042816022353e-02 3.868751111555727e-02 3.866461577666229e-02 3.864174217353044e-02 3.861889033615356e-02 - 3.859606029452349e-02 3.857325207863209e-02 3.855046571847119e-02 3.852770124403264e-02 3.850495868530828e-02 - 3.848223807228996e-02 3.845953943496952e-02 3.843686280333881e-02 3.841420820738967e-02 3.839157567711395e-02 - 3.836896524250349e-02 3.834637693355013e-02 3.832381078024572e-02 3.830126681258209e-02 3.827874506055112e-02 - 3.825624555414461e-02 3.823376832335444e-02 3.821131339817244e-02 3.818888080859045e-02 3.816647058460032e-02 - 3.814408275619389e-02 3.812171735336303e-02 3.809937440609954e-02 3.807705394439530e-02 3.805475599824214e-02 - 3.803248059763190e-02 3.801022777255643e-02 3.798799755300758e-02 3.796578996897719e-02 3.794360505045710e-02 - 3.792144282743916e-02 3.789930332991522e-02 3.787718658787710e-02 3.785509263131667e-02 3.783302149022577e-02 - 3.781097319459624e-02 3.778894777441992e-02 3.776694525968866e-02 3.774496568039430e-02 3.772300906652870e-02 - 3.770107544808367e-02 3.767916485505110e-02 3.765727731742280e-02 3.763541286519063e-02 3.761357152834642e-02 - 3.759175333688204e-02 3.756995832078931e-02 3.754818651006007e-02 3.752643793468620e-02 3.750471262465951e-02 - 3.748301060997186e-02 3.746133192061509e-02 3.743967658658105e-02 3.741804463786157e-02 3.739643610444850e-02 - 3.737485101633371e-02 3.735328940350900e-02 3.733175129596625e-02 3.731023672369729e-02 3.728874571669397e-02 - 3.726727830494812e-02 3.724583451845160e-02 3.722441438719625e-02 3.720301794117391e-02 3.718164521037644e-02 - 3.716029622479566e-02 3.713897101442343e-02 3.711766960925159e-02 3.709639203927199e-02 3.707513833447647e-02 - 3.705390852485687e-02 3.703270264040504e-02 3.701152071111283e-02 3.699036276697207e-02 3.696922883797462e-02 - 3.694811895411231e-02 3.692703314537699e-02 3.690597144176051e-02 3.688493387325471e-02 3.686392046985143e-02 - 3.684293126154253e-02 3.682196627831984e-02 3.680102555017520e-02 3.678010910710046e-02 3.675921697908748e-02 - 3.673834919612807e-02 3.671750578821411e-02 3.669668678533742e-02 3.667589221748987e-02 3.665512211466327e-02 - 3.663437650684950e-02 3.661365542404037e-02 3.659295889622776e-02 3.657228695340348e-02 3.655163962555941e-02 - 3.653101694268735e-02 3.651041893477919e-02 3.648984563182674e-02 3.646929706382188e-02 3.644877326075641e-02 - 3.642827425262220e-02 3.640780006941109e-02 3.638735074111494e-02 3.636692629772557e-02 3.634652676923484e-02 - 3.632615218563458e-02 3.630580257691665e-02 3.628547797307289e-02 3.626517840409513e-02 3.624490389997524e-02 - 3.622465449070505e-02 3.620443020627639e-02 3.618423107668113e-02 3.616405713191111e-02 3.614390840195816e-02 - 3.612378491681414e-02 3.610368670647089e-02 3.608361380092025e-02 3.606356623015406e-02 3.604354402416417e-02 - 3.602354721294244e-02 3.600357582648069e-02 3.598362989477077e-02 3.596370944780453e-02 3.594381451557382e-02 - 3.592394512807047e-02 3.590410131528634e-02 3.588428310721326e-02 3.586449053384308e-02 3.584472362516764e-02 - 3.582498241117880e-02 3.580526692186839e-02 3.578557718722826e-02 3.576591323725024e-02 3.574627510192620e-02 - 3.572666281124797e-02 3.570707639520740e-02 3.568751588379632e-02 3.566798130700659e-02 3.564847269483005e-02 - 3.562899007725854e-02 3.560953348428391e-02 3.559010294589800e-02 3.557069849209266e-02 3.555132015285974e-02 - 3.553196795819106e-02 3.551264193807849e-02 3.549334212251386e-02 3.547406854148901e-02 3.545482122499580e-02 - 3.543560020302607e-02 3.541640550557167e-02 3.539723716262443e-02 3.537809520417620e-02 3.535897966021882e-02 - 3.533989056074414e-02 3.532082793574401e-02 3.530179181521027e-02 3.528278222913475e-02 3.526379920750932e-02 - 3.524484278032580e-02 3.522591297757607e-02 3.520700982925193e-02 3.518813336534525e-02 3.516928361584787e-02 - 3.515046061075164e-02 3.513166438004838e-02 3.511289495372998e-02 3.509415236178823e-02 3.507543663421501e-02 - 3.505674780100216e-02 3.503808589214152e-02 3.501945093762493e-02 3.500084296744425e-02 3.498226201159130e-02 - 3.496370810005795e-02 3.494518126283602e-02 3.492668152991737e-02 3.490820893129385e-02 3.488976349695729e-02 - 3.487134525689954e-02 3.485295424111245e-02 3.483459047958785e-02 3.481625400231760e-02 3.479794483929353e-02 - 3.477966302050750e-02 3.476140857595134e-02 3.474318153561690e-02 3.472498192949603e-02 3.470680978758058e-02 - 3.468866513986237e-02 3.467054801633326e-02 3.465245844698509e-02 3.463439646180971e-02 3.461636209079897e-02 - 3.459835536394470e-02 3.458037631123875e-02 3.456242496267296e-02 3.454450134823919e-02 3.452660549792927e-02 - 3.450873744173504e-02 3.449089720964835e-02 3.447308483166107e-02 3.445530033776500e-02 3.443754375795202e-02 - 3.441981512221395e-02 3.440211446054266e-02 3.438444180292995e-02 3.436679717936773e-02 3.434918061984778e-02 - 3.433159215436199e-02 3.431403181290218e-02 3.429649962546020e-02 3.427899562202789e-02 3.426151983259711e-02 - 3.424407228715969e-02 3.422665301570748e-02 3.420926204823232e-02 3.419189941472606e-02 3.417456514518054e-02 - 3.415725926958761e-02 3.413998181793911e-02 3.412273282022688e-02 3.410551230644278e-02 3.408832030657864e-02 - 3.407115685062630e-02 3.405402196857762e-02 3.403691569042444e-02 3.401983804615860e-02 3.400278906577194e-02 - 3.398576877925633e-02 3.396877721660357e-02 3.395181440780554e-02 3.393488038285408e-02 3.391797517174103e-02 - 3.390109880445821e-02 3.388425131099751e-02 3.386743272135074e-02 3.385064306550976e-02 3.383388237346641e-02 - 3.381715067521254e-02 3.380044800073998e-02 3.378377438004059e-02 3.376712984310620e-02 3.375051441992868e-02 - 3.373392814049984e-02 3.371737103481155e-02 3.370084313285564e-02 3.368434446462396e-02 3.366787506010836e-02 - 3.365143466564878e-02 3.363501887624541e-02 3.361862209777612e-02 3.360224500875989e-02 3.358588827878357e-02 - 3.356955147090725e-02 3.355323458431880e-02 3.353693766165054e-02 3.352066065506343e-02 3.350440352193865e-02 - 3.348816624199871e-02 3.347194881659273e-02 3.345575121630599e-02 3.343957340404732e-02 3.342341535303144e-02 - 3.340727704441876e-02 3.339115845430404e-02 3.337505954322636e-02 3.335898029706669e-02 3.334292070921326e-02 - 3.332688074834195e-02 3.331086037969291e-02 3.329485957414917e-02 3.327887831864652e-02 3.326291658484171e-02 - 3.324697433542376e-02 3.323105156623186e-02 3.321514826023114e-02 3.319926437839098e-02 3.318339989412266e-02 - 3.316755478754796e-02 3.315172903929034e-02 3.313592261295018e-02 3.312013548124740e-02 3.310436764153749e-02 - 3.308861906981869e-02 3.307288973180764e-02 3.305717959801665e-02 3.304148865245999e-02 3.302581687574703e-02 - 3.301016422142487e-02 3.299453067800234e-02 3.297891624809741e-02 3.296332088425066e-02 3.294774455685354e-02 - 3.293218725810471e-02 3.291664896225673e-02 3.290112963401578e-02 3.288562923879117e-02 3.287014777263271e-02 - 3.285468522369568e-02 3.283924155670871e-02 3.282381674440858e-02 3.280841076589561e-02 3.279302360243119e-02 - 3.277765521941309e-02 3.276230558706894e-02 3.274697470113698e-02 3.273166254219040e-02 3.271636907936865e-02 - 3.270109428250347e-02 3.268583813280482e-02 3.267060061307020e-02 3.265538168459424e-02 3.264018132671115e-02 - 3.262499953449712e-02 3.260983628233858e-02 3.259469153939318e-02 3.257956527754512e-02 3.256445748091834e-02 - 3.254936812698490e-02 3.253429718174427e-02 3.251924463148387e-02 3.250421046229880e-02 3.248919464552218e-02 - 3.247419715298105e-02 3.245921796288541e-02 3.244425706251369e-02 3.242931441545717e-02 3.241438998652282e-02 - 3.239948378141620e-02 3.238459577882156e-02 3.236972593925531e-02 3.235487424670715e-02 3.234004068301546e-02 - 3.232522522137563e-02 3.231042782696456e-02 3.229564848261764e-02 3.228088718700101e-02 3.226614390644563e-02 - 3.225141860917057e-02 3.223671128042128e-02 3.222202190260593e-02 3.220735044835789e-02 3.219269687989033e-02 - 3.217806118663362e-02 3.216344336205739e-02 3.214884337811092e-02 3.213426120193776e-02 3.211969680852602e-02 - 3.210515019435922e-02 3.209062132655478e-02 3.207611016186721e-02 3.206161670288540e-02 3.204714093648681e-02 - 3.203268282961075e-02 3.201824236239234e-02 3.200381951210604e-02 3.198941424912934e-02 3.197502654604618e-02 - 3.196065638811887e-02 3.194630377248257e-02 3.193196866763873e-02 3.191765104079724e-02 3.190335087680102e-02 - 3.188906815766901e-02 3.187480285784819e-02 3.186055494296534e-02 3.184632440204734e-02 3.183211122836238e-02 - 3.181791538780577e-02 3.180373685568510e-02 3.178957561657719e-02 3.177543165075891e-02 3.176130492904844e-02 - 3.174719542079285e-02 3.173310312097031e-02 3.171902801589959e-02 3.170497007535993e-02 3.169092927256592e-02 - 3.167690558660036e-02 3.166289900092451e-02 3.164890948767075e-02 3.163493702375719e-02 3.162098160094597e-02 - 3.160704320149037e-02 3.159312179836957e-02 3.157921735868882e-02 3.156532987076624e-02 3.155145932224658e-02 - 3.153760566663864e-02 3.152376889172848e-02 3.150994900180672e-02 3.149614595827410e-02 3.148235973399625e-02 - 3.146859031868535e-02 3.145483769408502e-02 3.144110182886523e-02 3.142738268687409e-02 3.141368026942635e-02 - 3.139999456778463e-02 3.138632554513814e-02 3.137267318073906e-02 3.135903745883740e-02 3.134541835839263e-02 - 3.133181584694165e-02 3.131822989974722e-02 3.130466051752389e-02 3.129110768114365e-02 3.127757136018487e-02 - 3.126405153214003e-02 3.125054818119363e-02 3.123706128835145e-02 3.122359081277034e-02 3.121013674152311e-02 - 3.119669908223311e-02 3.118327780512727e-02 3.116987287740892e-02 3.115648427590923e-02 3.114311198755302e-02 - 3.112975599208620e-02 3.111641625878769e-02 3.110309278026453e-02 3.108978554429882e-02 3.107649451605467e-02 - 3.106321967573116e-02 3.104996101093369e-02 3.103671850522385e-02 3.102349212552239e-02 3.101028184118182e-02 - 3.099708765215899e-02 3.098390954305432e-02 3.097074748653887e-02 3.095760146577434e-02 3.094447145973171e-02 - 3.093135744175442e-02 3.091825938652267e-02 3.090517727892404e-02 3.089211111199125e-02 3.087906086415095e-02 - 3.086602651045607e-02 3.085300802884278e-02 3.084000540267990e-02 3.082701861024971e-02 3.081404762072755e-02 - 3.080109242772720e-02 3.078815302348911e-02 3.077522937271052e-02 3.076232145526043e-02 3.074942925853004e-02 - 3.073655275969265e-02 3.072369193358731e-02 3.071084675893487e-02 3.069801722815575e-02 3.068520332655950e-02 - 3.067240502926292e-02 3.065962230727411e-02 3.064685514336771e-02 3.063410352936318e-02 3.062136743092317e-02 - 3.060864682743443e-02 3.059594172387181e-02 3.058325209340110e-02 3.057057790484611e-02 3.055791914232513e-02 - 3.054527578866520e-02 3.053264782274670e-02 3.052003521936738e-02 3.050743796632342e-02 3.049485605420712e-02 - 3.048228945948342e-02 3.046973815764381e-02 3.045720212753895e-02 3.044468135532321e-02 3.043217582076147e-02 - 3.041968549967531e-02 3.040721038082923e-02 3.039475044749309e-02 3.038230567464306e-02 3.036987604544383e-02 - 3.035746154526919e-02 3.034506215632694e-02 3.033267784558463e-02 3.032030859116679e-02 3.030795439680851e-02 - 3.029561524020229e-02 3.028329109283977e-02 3.027098194217670e-02 3.025868776986960e-02 3.024640855125834e-02 - 3.023414425922958e-02 3.022189488753165e-02 3.020966043396606e-02 3.019744085927903e-02 3.018523614254973e-02 - 3.017304628070488e-02 3.016087124712451e-02 3.014871101490015e-02 3.013656556629268e-02 3.012443489643160e-02 - 3.011231899192166e-02 3.010021782348693e-02 3.008813136953290e-02 3.007605961443153e-02 3.006400254477032e-02 - 3.005196013216448e-02 3.003993235442936e-02 3.002791921520012e-02 3.001592069144608e-02 3.000393675083135e-02 - 2.999196738372897e-02 2.998001257673401e-02 2.996807230790781e-02 2.995614654679549e-02 2.994423528130847e-02 - 2.993233851118915e-02 2.992045620999083e-02 2.990858835120550e-02 2.989673491731453e-02 2.988489589805536e-02 - 2.987307127537464e-02 2.986126102011340e-02 2.984946511909828e-02 2.983768356331996e-02 2.982591633787642e-02 - 2.981416341477938e-02 2.980242477098497e-02 2.979070040412034e-02 2.977899028736241e-02 2.976729439085326e-02 - 2.975561271768286e-02 2.974394525020974e-02 2.973229195799546e-02 2.972065283153817e-02 2.970902785474345e-02 - 2.969741700233630e-02 2.968582025251779e-02 2.967423759388233e-02 2.966266902120933e-02 2.965111450751603e-02 - 2.963957402972690e-02 2.962804757853395e-02 2.961653513685447e-02 2.960503668212408e-02 2.959355219023237e-02 - 2.958208165129883e-02 2.957062505724755e-02 2.955918238857859e-02 2.954775362079399e-02 2.953633873283637e-02 - 2.952493771681483e-02 2.951355054848872e-02 2.950217720053436e-02 2.949081767862442e-02 2.947947196700992e-02 - 2.946814003034778e-02 2.945682185755054e-02 2.944551743582863e-02 2.943422674341014e-02 2.942294975870480e-02 - 2.941168646812421e-02 2.940043686618776e-02 2.938920093147064e-02 2.937797864134186e-02 2.936676998172867e-02 - 2.935557493479196e-02 2.934439347979633e-02 2.933322559583284e-02 2.932207127373048e-02 2.931093050463312e-02 - 2.929980326285230e-02 2.928868953142686e-02 2.927758929945683e-02 2.926650254799867e-02 2.925542925398767e-02 - 2.924436939550082e-02 2.923332296415483e-02 2.922228995044700e-02 2.921127033783603e-02 2.920026410004271e-02 - 2.918927122033416e-02 2.917829169471517e-02 2.916732549176795e-02 2.915637258777840e-02 2.914543298801943e-02 - 2.913450667577263e-02 2.912359362430894e-02 2.911269381274288e-02 2.910180723305731e-02 2.909093387402745e-02 - 2.908007369930849e-02 2.906922669822638e-02 2.905839287303405e-02 2.904757219714476e-02 2.903676465199738e-02 - 2.902597022808873e-02 2.901518890157972e-02 2.900442065055892e-02 2.899366546087253e-02 2.898292332562971e-02 - 2.897219423070421e-02 2.896147815085827e-02 2.895077507160809e-02 2.894008498122344e-02 2.892940786384609e-02 - 2.891874369517828e-02 2.890809245634708e-02 2.889745414621765e-02 2.888682874769054e-02 2.887621623583590e-02 - 2.886561659425123e-02 2.885502981116054e-02 2.884445587294774e-02 2.883389475319686e-02 2.882334643970105e-02 - 2.881281093000496e-02 2.880228819979298e-02 2.879177822929067e-02 2.878128100842524e-02 2.877079651898801e-02 - 2.876032473884395e-02 2.874986564740009e-02 2.873941924390505e-02 2.872898552052601e-02 2.871856444638324e-02 - 2.870815600507148e-02 2.869776018641480e-02 2.868737697516582e-02 2.867700634591397e-02 2.866664827916806e-02 - 2.865630278319325e-02 2.864596983917359e-02 2.863564941328856e-02 2.862534149829953e-02 2.861504608429113e-02 - 2.860476315234840e-02 2.859449267740666e-02 2.858423464566411e-02 2.857398905422620e-02 2.856375588402207e-02 - 2.855353511594846e-02 2.854332673804624e-02 2.853313073796621e-02 2.852294709429606e-02 2.851277577543872e-02 - 2.850261678440491e-02 2.849247012219593e-02 2.848233575178603e-02 2.847221365657614e-02 2.846210383116990e-02 - 2.845200625935100e-02 2.844192091752946e-02 2.843184778466237e-02 2.842178686053369e-02 2.841173813547823e-02 - 2.840170158739025e-02 2.839167719418843e-02 2.838166494245600e-02 2.837166482484053e-02 2.836167681707307e-02 - 2.835170090137019e-02 2.834173707461769e-02 2.833178532393912e-02 2.832184563033358e-02 2.831191797277370e-02 - 2.830200233825938e-02 2.829209871310940e-02 2.828220707523810e-02 2.827232741579271e-02 2.826245972853687e-02 - 2.825260399229306e-02 2.824276019064247e-02 2.823292831178126e-02 2.822310834132040e-02 2.821330025651807e-02 - 2.820350403438503e-02 2.819371967866794e-02 2.818394718049788e-02 2.817418651237375e-02 2.816443766090156e-02 - 2.815470061416237e-02 2.814497535504664e-02 2.813526186206681e-02 2.812556012131105e-02 2.811587013236315e-02 - 2.810619188120791e-02 2.809652534562629e-02 2.808687050311100e-02 2.807722734684383e-02 2.806759586949595e-02 - 2.805797603975531e-02 2.804836784541272e-02 2.803877128655403e-02 2.802918634812817e-02 2.801961300908425e-02 - 2.801005124931340e-02 2.800050106254358e-02 2.799096243185147e-02 2.798143533065562e-02 2.797191976200169e-02 - 2.796241571829330e-02 2.795292316767612e-02 2.794344209750147e-02 2.793397250080147e-02 2.792451436474921e-02 - 2.791506766429417e-02 2.790563238187514e-02 2.789620852426368e-02 2.788679607109519e-02 2.787739499448651e-02 - 2.786800529276515e-02 2.785862695250820e-02 2.784925995023579e-02 2.783990426851568e-02 2.783055990112446e-02 - 2.782122684523413e-02 2.781190507602721e-02 2.780259457625915e-02 2.779329533996523e-02 2.778400734510273e-02 - 2.777473057425486e-02 2.776546502209671e-02 2.775621067523501e-02 2.774696751775778e-02 2.773773553529171e-02 - 2.772851471226555e-02 2.771930503638066e-02 2.771010650156085e-02 2.770091908311444e-02 2.769174275675288e-02 - 2.768257752750487e-02 2.767342338343482e-02 2.766428030170250e-02 2.765514827509389e-02 2.764602728937508e-02 - 2.763691732224667e-02 2.762781835629091e-02 2.761873038318760e-02 2.760965340016332e-02 2.760058738918467e-02 - 2.759153233095657e-02 2.758248821223181e-02 2.757345502668101e-02 2.756443275844788e-02 2.755542137569210e-02 - 2.754642087861812e-02 2.753743126859248e-02 2.752845251726651e-02 2.751948461051369e-02 2.751052754088128e-02 - 2.750158129051000e-02 2.749264584112846e-02 2.748372117908398e-02 2.747480730190011e-02 2.746590419839729e-02 - 2.745701184777745e-02 2.744813023052759e-02 2.743925933666562e-02 2.743039916197098e-02 2.742154968107790e-02 - 2.741271087850060e-02 2.740388275814067e-02 2.739506530469222e-02 2.738625849608251e-02 2.737746231424592e-02 - 2.736867675514432e-02 2.735990180809817e-02 2.735113743878892e-02 2.734238364845174e-02 2.733364044336462e-02 - 2.732490778587926e-02 2.731618566204183e-02 2.730747407386686e-02 2.729877300249025e-02 2.729008242908668e-02 - 2.728140234030172e-02 2.727273272900814e-02 2.726407358354408e-02 2.725542488697956e-02 2.724678662927163e-02 - 2.723815879907967e-02 2.722954137935252e-02 2.722093434732608e-02 2.721233769152850e-02 2.720375141931018e-02 - 2.719517551218435e-02 2.718660994644712e-02 2.717805471481514e-02 2.716950980584153e-02 2.716097520393317e-02 - 2.715245089289530e-02 2.714393686286031e-02 2.713543310581999e-02 2.712693960497614e-02 2.711845634782483e-02 - 2.710998332519429e-02 2.710152051958041e-02 2.709306791441093e-02 2.708462549834906e-02 2.707619326918369e-02 - 2.706777121480425e-02 2.705935930907671e-02 2.705095754483260e-02 2.704256591454058e-02 2.703418439795306e-02 - 2.702581298145425e-02 2.701745165546447e-02 2.700910041075726e-02 2.700075923746808e-02 2.699242812272907e-02 - 2.698410704764140e-02 2.697579599978723e-02 2.696749496984126e-02 2.695920394125775e-02 2.695092290187428e-02 - 2.694265184396634e-02 2.693439075649869e-02 2.692613962541774e-02 2.691789843589869e-02 2.690966718080280e-02 - 2.690144584430361e-02 2.689323440003169e-02 2.688503284907665e-02 2.687684119009101e-02 2.686865940030225e-02 - 2.686048746353486e-02 2.685232536881714e-02 2.684417310662326e-02 2.683603066151065e-02 2.682789801897943e-02 - 2.681977517552054e-02 2.681166212021913e-02 2.680355883616239e-02 2.679546530889016e-02 2.678738152752996e-02 - 2.677930748200765e-02 2.677124315479004e-02 2.676318853591112e-02 2.675514362231527e-02 2.674710839396962e-02 - 2.673908283555094e-02 2.673106694339361e-02 2.672306070150655e-02 2.671506409151823e-02 2.670707710108217e-02 - 2.669909972943648e-02 2.669113197027321e-02 2.668317379682501e-02 2.667522519875436e-02 2.666728617090520e-02 - 2.665935669311371e-02 2.665143675159882e-02 2.664352634032146e-02 2.663562545659268e-02 2.662773408361464e-02 - 2.661985219717407e-02 2.661197979572226e-02 2.660411687169956e-02 2.659626340488144e-02 2.658841937631547e-02 - 2.658058477937751e-02 2.657275961893512e-02 2.656494387358596e-02 2.655713752275513e-02 2.654934056348008e-02 - 2.654155298332925e-02 2.653377476657220e-02 2.652600590198415e-02 2.651824638075199e-02 2.651049619255404e-02 - 2.650275532091429e-02 2.649502375487615e-02 2.648730148802552e-02 2.647958851263073e-02 2.647188480891689e-02 - 2.646419035368700e-02 2.645650515131691e-02 2.644882919484906e-02 2.644116246069965e-02 2.643350494181170e-02 - 2.642585663084689e-02 2.641821751242615e-02 2.641058756892747e-02 2.640296679007395e-02 2.639535517653221e-02 - 2.638775271175803e-02 2.638015937698240e-02 2.637257516664822e-02 2.636500007332271e-02 2.635743408373907e-02 - 2.634987717633525e-02 2.634232934391862e-02 2.633479058525924e-02 2.632726088227431e-02 2.631974022390311e-02 - 2.631222860499385e-02 2.630472600717760e-02 2.629723241433261e-02 2.628974781674581e-02 2.628227220621198e-02 - 2.627480557677242e-02 2.626734792215179e-02 2.625989921852152e-02 2.625245945041883e-02 2.624502862403611e-02 - 2.623760671958282e-02 2.623019371536040e-02 2.622278961237779e-02 2.621539440295659e-02 2.620800807254220e-02 - 2.620063060674004e-02 2.619326199404739e-02 2.618590222410475e-02 2.617855128386046e-02 2.617120916522779e-02 - 2.616387586230346e-02 2.615655135861502e-02 2.614923564213544e-02 2.614192870720641e-02 2.613463054125929e-02 - 2.612734112755428e-02 2.612006044964381e-02 2.611278850871195e-02 2.610552530050819e-02 2.609827080222275e-02 - 2.609102500359168e-02 2.608378789925431e-02 2.607655947900249e-02 2.606933972466179e-02 2.606212861946312e-02 - 2.605492616097670e-02 2.604773234503024e-02 2.604054716124884e-02 2.603337058950191e-02 2.602620261873257e-02 - 2.601904324395194e-02 2.601189244598317e-02 2.600475021758196e-02 2.599761656283118e-02 2.599049145836681e-02 - 2.598337488632347e-02 2.597626684662969e-02 2.596916733159564e-02 2.596207632537513e-02 2.595499380688753e-02 - 2.594791977426907e-02 2.594085422650568e-02 2.593379714560815e-02 2.592674851872178e-02 2.591970833661526e-02 - 2.591267658830654e-02 2.590565326173340e-02 2.589863834578747e-02 2.589163183398775e-02 2.588463371701131e-02 - 2.587764398252935e-02 2.587066261956569e-02 2.586368961749470e-02 2.585672496539723e-02 2.584976865103265e-02 - 2.584282066471713e-02 2.583588100000093e-02 2.582894964599770e-02 2.582202659070586e-02 2.581511182332461e-02 - 2.580820533343631e-02 2.580130710958863e-02 2.579441713875388e-02 2.578753541579036e-02 2.578066193633965e-02 - 2.577379668579866e-02 2.576693964640701e-02 2.576009080523955e-02 2.575325016689414e-02 2.574641771694009e-02 - 2.573959342940173e-02 2.573277731100565e-02 2.572596935753856e-02 2.571916954588383e-02 2.571237786264848e-02 - 2.570559430241213e-02 2.569881886299849e-02 2.569205152414907e-02 2.568529227185872e-02 2.567854111122693e-02 - 2.567179802594942e-02 2.566506299732867e-02 2.565833602386073e-02 2.565161709921462e-02 2.564490620914589e-02 - 2.563820333139000e-02 2.563150846268354e-02 2.562482160754986e-02 2.561814274902439e-02 2.561147187258114e-02 - 2.560480896924013e-02 2.559815402833877e-02 2.559150703774291e-02 2.558486798572520e-02 2.557823686789989e-02 - 2.557161367849433e-02 2.556499840587265e-02 2.555839103232124e-02 2.555179154834854e-02 2.554519995829834e-02 - 2.553861624178350e-02 2.553204037844031e-02 2.552547237202886e-02 2.551891221538829e-02 2.551235989397021e-02 - 2.550581539575596e-02 2.549927871458803e-02 2.549274984258965e-02 2.548622875540724e-02 2.547971544999134e-02 - 2.547320993631275e-02 2.546671219025347e-02 2.546022219347805e-02 2.545373994243675e-02 2.544726542971977e-02 - 2.544079864501286e-02 2.543433957656028e-02 2.542788821576999e-02 2.542144455508066e-02 2.541500858637495e-02 - 2.540858030019949e-02 2.540215968413957e-02 2.539574672197945e-02 2.538934140646816e-02 2.538294373410821e-02 - 2.537655369660362e-02 2.537017128263758e-02 2.536379648098229e-02 2.535742928550868e-02 2.535106968465225e-02 - 2.534471766277936e-02 2.533837321084466e-02 2.533203632423742e-02 2.532570699881585e-02 2.531938521813243e-02 - 2.531307097096266e-02 2.530676425602581e-02 2.530046505932213e-02 2.529417336607690e-02 2.528788916915281e-02 - 2.528161246489754e-02 2.527534324609989e-02 2.526908149634068e-02 2.526282720495094e-02 2.525658036572961e-02 - 2.525034097275206e-02 2.524410901058027e-02 2.523788446449190e-02 2.523166734234336e-02 2.522545763237074e-02 - 2.521925530838600e-02 2.521306037097086e-02 2.520687281776321e-02 2.520069263496993e-02 2.519451980442291e-02 - 2.518835431925369e-02 2.518219618546694e-02 2.517604538654039e-02 2.516990190396150e-02 2.516376573127799e-02 - 2.515763686639562e-02 2.515151530112912e-02 2.514540101358030e-02 2.513929399756280e-02 2.513319425347670e-02 - 2.512710177240427e-02 2.512101654329324e-02 2.511493855506050e-02 2.510886779787783e-02 2.510280425830826e-02 - 2.509674792451250e-02 2.509069880343641e-02 2.508465688466923e-02 2.507862214067907e-02 2.507259457630134e-02 - 2.506657418922008e-02 2.506056095604422e-02 2.505455486579475e-02 2.504855591546334e-02 2.504256410459500e-02 - 2.503657941982099e-02 2.503060184642849e-02 2.502463137903613e-02 2.501866800626509e-02 2.501271171663477e-02 - 2.500676250820755e-02 2.500082037092928e-02 2.499488529135626e-02 2.498895726677344e-02 2.498303628979692e-02 - 2.497712234741346e-02 2.497121542814719e-02 2.496531552247531e-02 2.495942262282587e-02 2.495353672310340e-02 - 2.494765781766853e-02 2.494178589943900e-02 2.493592095223772e-02 2.493006296439117e-02 2.492421193524048e-02 - 2.491836784922406e-02 2.491253069345717e-02 2.490670047398909e-02 2.490087718065651e-02 2.489506079631419e-02 - 2.488925131370227e-02 2.488344872747560e-02 2.487765302865731e-02 2.487186419727612e-02 2.486608223223404e-02 - 2.486030714174834e-02 2.485453889875117e-02 2.484877749156952e-02 2.484302292908405e-02 2.483727519324232e-02 - 2.483153426549052e-02 2.482580013961989e-02 2.482007281919668e-02 2.481435229933991e-02 2.480863855780388e-02 - 2.480293158683973e-02 2.479723138421890e-02 2.479153794250162e-02 2.478585124573938e-02 2.478017128120043e-02 - 2.477449805440481e-02 2.476883155587847e-02 2.476317176818658e-02 2.475751868877601e-02 2.475187231076201e-02 - 2.474623262098153e-02 2.474059960704484e-02 2.473497326224523e-02 2.472935358498410e-02 2.472374056978996e-02 - 2.471813420423485e-02 2.471253447111526e-02 2.470694136984621e-02 2.470135489678424e-02 2.469577503399494e-02 - 2.469020177298829e-02 2.468463511029760e-02 2.467907504169421e-02 2.467352155791407e-02 2.466797464651026e-02 - 2.466243429488579e-02 2.465690049712254e-02 2.465137324948606e-02 2.464585254039273e-02 2.464033836402688e-02 - 2.463483071739735e-02 2.462932958374225e-02 2.462383495186045e-02 2.461834681928389e-02 2.461286517898853e-02 - 2.460739002108202e-02 2.460192133524253e-02 2.459645911917798e-02 2.459100336526309e-02 2.458555405446716e-02 - 2.458011118496141e-02 2.457467475465895e-02 2.456924474486533e-02 2.456382114921245e-02 2.455840396700115e-02 - 2.455299319041756e-02 2.454758880740113e-02 2.454219080674820e-02 2.453679918638537e-02 2.453141393576077e-02 - 2.452603503863916e-02 2.452066249180092e-02 2.451529629410615e-02 2.450993644073534e-02 2.450458291517292e-02 - 2.449923570627392e-02 2.449389481263279e-02 2.448856022075961e-02 2.448323192252920e-02 2.447790992354739e-02 - 2.447259420740984e-02 2.446728475663024e-02 2.446198157303190e-02 2.445668465268695e-02 2.445139398411770e-02 - 2.444610955000165e-02 2.444083134675017e-02 2.443555937646448e-02 2.443029362647454e-02 2.442503408583922e-02 - 2.441978074770511e-02 2.441453360513738e-02 2.440929264714783e-02 2.440405786136508e-02 2.439882924944217e-02 - 2.439360680824694e-02 2.438839052372590e-02 2.438318038826778e-02 2.437797639360750e-02 2.437277852674977e-02 - 2.436758678074824e-02 2.436240115296091e-02 2.435722164202054e-02 2.435204823529888e-02 2.434688091817521e-02 - 2.434171968740183e-02 2.433656453724402e-02 2.433141545805634e-02 2.432627243782077e-02 2.432113546933723e-02 - 2.431600455029639e-02 2.431087967900234e-02 2.430576084399959e-02 2.430064802749307e-02 2.429554123205279e-02 - 2.429044044976694e-02 2.428534565606734e-02 2.428025685952290e-02 2.427517406275088e-02 2.427009724038350e-02 - 2.426502638834353e-02 2.425996150697585e-02 2.425490258288459e-02 2.424984960255012e-02 2.424480255754471e-02 - 2.423976144931379e-02 2.423472627405213e-02 2.422969702193537e-02 2.422467367993699e-02 2.421965624107330e-02 - 2.421464470176334e-02 2.420963904926960e-02 2.420463927567678e-02 2.419964537946393e-02 2.419465735323985e-02 - 2.418967518800793e-02 2.418469887545246e-02 2.417972840901141e-02 2.417476377855392e-02 2.416980496962540e-02 - 2.416485198688481e-02 2.415990483049387e-02 2.415496347565664e-02 2.415002792020104e-02 2.414509816788697e-02 - 2.414017420064829e-02 2.413525600526027e-02 2.413034357711665e-02 2.412543691925479e-02 2.412053602209589e-02 - 2.411564086852338e-02 2.411075145960207e-02 2.410586778967854e-02 2.410098984367492e-02 2.409611761892932e-02 - 2.409125110932578e-02 2.408639030144091e-02 2.408153519631380e-02 2.407668578962185e-02 2.407184206146642e-02 - 2.406700400909483e-02 2.406217163125833e-02 2.405734491326586e-02 2.405252385052364e-02 2.404770844026444e-02 - 2.404289866819192e-02 2.403809452984102e-02 2.403329602484744e-02 2.402850314011094e-02 2.402371586479471e-02 - 2.401893419282938e-02 2.401415812045089e-02 2.400938764313821e-02 2.400462275334547e-02 2.399986343578922e-02 - 2.399510968520409e-02 2.399036150812855e-02 2.398561888480285e-02 2.398088180164008e-02 2.397615026865237e-02 - 2.397142427338870e-02 2.396670380040281e-02 2.396198885088599e-02 2.395727942113068e-02 2.395257549962209e-02 - 2.394787706723708e-02 2.394318412617158e-02 2.393849668455232e-02 2.393381472012022e-02 2.392913822141401e-02 - 2.392446719065216e-02 2.391980162598514e-02 2.391514151312970e-02 2.391048683154523e-02 2.390583758880722e-02 - 2.390119378770886e-02 2.389655541357522e-02 2.389192245255953e-02 2.388729489743550e-02 2.388267274893805e-02 - 2.387805599705324e-02 2.387344463051915e-02 2.386883864637205e-02 2.386423804212813e-02 2.385964281176755e-02 - 2.385505294183017e-02 2.385046842474073e-02 2.384588925674739e-02 2.384131543037479e-02 2.383674693675093e-02 - 2.383218376863605e-02 2.382762592698097e-02 2.382307340607612e-02 2.381852619200930e-02 2.381398427584630e-02 - 2.380944765139419e-02 2.380491631418275e-02 2.380039026147703e-02 2.379586948695320e-02 2.379135397827495e-02 - 2.378684372855616e-02 2.378233873403001e-02 2.377783899070361e-02 2.377334448688785e-02 2.376885521259772e-02 - 2.376437117173840e-02 2.375989235311110e-02 2.375541874056297e-02 2.375095033967465e-02 2.374648714507580e-02 - 2.374202914136664e-02 2.373757632537944e-02 2.373312869288914e-02 2.372868623536894e-02 2.372424894471153e-02 - 2.371981681484819e-02 2.371538984133524e-02 2.371096801501392e-02 2.370655132827953e-02 2.370213977833190e-02 - 2.369773335765337e-02 2.369333205880069e-02 2.368893587883010e-02 2.368454481046802e-02 2.368015884444250e-02 - 2.367577797334512e-02 2.367140218742613e-02 2.366703147963686e-02 2.366266585606776e-02 2.365830530976384e-02 - 2.365394982335759e-02 2.364959939168465e-02 2.364525401200215e-02 2.364091367903051e-02 2.363657837870221e-02 - 2.363224810602428e-02 2.362792286773459e-02 2.362360264929340e-02 2.361928743769403e-02 2.361497723470610e-02 - 2.361067203383207e-02 2.360637182449869e-02 2.360207659794005e-02 2.359778635431920e-02 2.359350109143980e-02 - 2.358922079027601e-02 2.358494544772182e-02 2.358067506765588e-02 2.357640963547734e-02 2.357214914179353e-02 - 2.356789358468287e-02 2.356364296127548e-02 2.355939726289868e-02 2.355515647729875e-02 2.355092060314220e-02 - 2.354668963726047e-02 2.354246356971432e-02 2.353824239065819e-02 2.353402609608870e-02 2.352981468856027e-02 - 2.352560815209497e-02 2.352140647526573e-02 2.351720967050562e-02 2.351301772305351e-02 2.350883061252196e-02 - 2.350464834642137e-02 2.350047092197861e-02 2.349629832802946e-02 2.349213055910952e-02 2.348796760574937e-02 - 2.348380945835795e-02 2.347965612326723e-02 2.347550759163322e-02 2.347136384068571e-02 2.346722487769892e-02 - 2.346309070523777e-02 2.345896130833473e-02 2.345483667635093e-02 2.345071680463291e-02 2.344660169327714e-02 - 2.344249133136094e-02 2.343838570884467e-02 2.343428482723373e-02 2.343018868068117e-02 2.342609726030811e-02 - 2.342201056195244e-02 2.341792857876926e-02 2.341385130156056e-02 2.340977872164902e-02 2.340571083589386e-02 - 2.340164764377465e-02 2.339758913684304e-02 2.339353530825718e-02 2.338948615385810e-02 2.338544166438565e-02 - 2.338140183238109e-02 2.337736665460082e-02 2.337333612670094e-02 2.336931024309368e-02 2.336528899670786e-02 - 2.336127237782067e-02 2.335726037932775e-02 2.335325300092871e-02 2.334925023614406e-02 2.334525207670920e-02 - 2.334125851951941e-02 2.333726955725296e-02 2.333328518197435e-02 2.332930539416707e-02 2.332533018620607e-02 - 2.332135954429912e-02 2.331739346348105e-02 2.331343194297124e-02 2.330947498175055e-02 2.330552256758802e-02 - 2.330157469245372e-02 2.329763135682490e-02 2.329369255310137e-02 2.328975827131819e-02 2.328582850377367e-02 - 2.328190324900185e-02 2.327798250467623e-02 2.327406626164597e-02 2.327015451465238e-02 2.326624725851670e-02 - 2.326234448228765e-02 2.325844618291867e-02 2.325455236057939e-02 2.325066300636415e-02 2.324677811186985e-02 - 2.324289767062798e-02 2.323902167622130e-02 2.323515012509116e-02 2.323128301561370e-02 2.322742034088871e-02 - 2.322356209250113e-02 2.321970826255392e-02 2.321585884544971e-02 2.321201383858435e-02 2.320817324137425e-02 - 2.320433704277431e-02 2.320050523099401e-02 2.319667780275936e-02 2.319285475700314e-02 2.318903609087885e-02 - 2.318522179577433e-02 2.318141186586264e-02 2.317760629632794e-02 2.317380507773795e-02 2.317000820301008e-02 - 2.316621566880872e-02 2.316242747510807e-02 2.315864361575457e-02 2.315486407850317e-02 2.315108885694486e-02 - 2.314731794816131e-02 2.314355135044316e-02 2.313978905662257e-02 2.313603105913640e-02 2.313227735329952e-02 - 2.312852793585061e-02 2.312478280157292e-02 2.312104194073204e-02 2.311730534704967e-02 2.311357301587891e-02 - 2.310984494137890e-02 2.310612112341407e-02 2.310240155989217e-02 2.309868623130452e-02 2.309497513592190e-02 - 2.309126828241582e-02 2.308756565023808e-02 2.308386723175103e-02 2.308017303542274e-02 2.307648304592169e-02 - 2.307279725617671e-02 2.306911567493640e-02 2.306543828441958e-02 2.306176507302976e-02 2.305809605235563e-02 - 2.305443121050249e-02 2.305077053229759e-02 2.304711401909808e-02 2.304346166830784e-02 2.303981347406350e-02 - 2.303616943085239e-02 2.303252953349069e-02 2.302889377643319e-02 2.302526215247478e-02 2.302163465435939e-02 - 2.301801127709388e-02 2.301439202296127e-02 2.301077688440331e-02 2.300716584594829e-02 2.300355891234385e-02 - 2.299995607931316e-02 2.299635732709070e-02 2.299276266087610e-02 2.298917208378683e-02 2.298558558107965e-02 - 2.298200314503575e-02 2.297842477288603e-02 2.297485046311076e-02 2.297128020911345e-02 2.296771400315858e-02 - 2.296415184168031e-02 2.296059371667762e-02 2.295703962066644e-02 2.295348955785851e-02 2.294994352217295e-02 - 2.294640149900077e-02 2.294286348264926e-02 2.293932947451599e-02 2.293579947717141e-02 2.293227347444131e-02 - 2.292875145668869e-02 2.292523342863249e-02 2.292171938675970e-02 2.291820932208030e-02 2.291470322329688e-02 - 2.291120108573121e-02 2.290770290936340e-02 2.290420869564250e-02 2.290071843254762e-02 2.289723210840996e-02 - 2.289374972996874e-02 2.289027128684278e-02 2.288679676284003e-02 2.288332616596880e-02 2.287985949623025e-02 - 2.287639674290211e-02 2.287293789614104e-02 2.286948295143698e-02 2.286603190794522e-02 2.286258475709644e-02 - 2.285914149325583e-02 2.285570211629635e-02 2.285226661817064e-02 2.284883499242224e-02 2.284540723897847e-02 - 2.284198334984975e-02 2.283856331588243e-02 2.283514713353579e-02 2.283173480111027e-02 2.282832631556901e-02 - 2.282492166909090e-02 2.282152085461623e-02 2.281812386736860e-02 2.281473070606539e-02 2.281134136558116e-02 - 2.280795583769253e-02 2.280457411713410e-02 2.280119619914733e-02 2.279782207936136e-02 2.279445175627783e-02 - 2.279108522557549e-02 2.278772247795469e-02 2.278436350274908e-02 2.278100829770330e-02 2.277765687156956e-02 - 2.277430921150676e-02 2.277096530368425e-02 2.276762515226868e-02 2.276428875675497e-02 2.276095610802096e-02 - 2.275762718728153e-02 2.275430199700514e-02 2.275098054723153e-02 2.274766282325953e-02 2.274434881806882e-02 - 2.274103853245654e-02 2.273773195657694e-02 2.273442908251650e-02 2.273112990748000e-02 2.272783443024632e-02 - 2.272454264587135e-02 2.272125454541999e-02 2.271797012768606e-02 2.271468938883630e-02 2.271141231743784e-02 - 2.270813891155475e-02 2.270486917113991e-02 2.270160309030139e-02 2.269834065991423e-02 2.269508187421201e-02 - 2.269182673791773e-02 2.268857524219826e-02 2.268532737305624e-02 2.268208313254210e-02 2.267884251722086e-02 - 2.267560551920548e-02 2.267237214108131e-02 2.266914237609957e-02 2.266591620883689e-02 2.266269364166427e-02 - 2.265947467384046e-02 2.265625929499294e-02 2.265304750285308e-02 2.264983929495161e-02 2.264663466331073e-02 - 2.264343359962570e-02 2.264023610100446e-02 2.263704217283995e-02 2.263385180078203e-02 2.263066497176033e-02 - 2.262748170200772e-02 2.262430198020481e-02 2.262112578516977e-02 2.261795313211606e-02 2.261478401664109e-02 - 2.261161841743119e-02 2.260845633522814e-02 2.260529777070043e-02 2.260214271924124e-02 2.259899117823321e-02 - 2.259584314154298e-02 2.259269859890657e-02 2.258955754741791e-02 2.258641998536936e-02 2.258328590829124e-02 - 2.258015531052365e-02 2.257702818646037e-02 2.257390453172050e-02 2.257078434461123e-02 2.256766762198980e-02 - 2.256455435398716e-02 2.256144453344060e-02 2.255833815784602e-02 2.255523523027356e-02 2.255213574452021e-02 - 2.254903968810603e-02 2.254594705829782e-02 2.254285785514665e-02 2.253977207653749e-02 2.253668970834607e-02 - 2.253361074658835e-02 2.253053520058667e-02 2.252746305460894e-02 2.252439429792020e-02 2.252132894054988e-02 - 2.251826697539277e-02 2.251520839162438e-02 2.251215318778324e-02 2.250910135797150e-02 2.250605289615611e-02 - 2.250300780314812e-02 2.249996607511807e-02 2.249692770517706e-02 2.249389268897849e-02 2.249086101912092e-02 - 2.248783268793952e-02 2.248480769791340e-02 2.248178604607573e-02 2.247876772289102e-02 2.247575272657626e-02 - 2.247274105420605e-02 2.246973269884927e-02 2.246672765673356e-02 2.246372592391256e-02 2.246072749418018e-02 - 2.245773236145919e-02 2.245474052366870e-02 2.245175198466864e-02 2.244876673416187e-02 2.244578475935081e-02 - 2.244280606154297e-02 2.243983064008646e-02 2.243685849064164e-02 2.243388960632717e-02 2.243092397966235e-02 - 2.242796160524575e-02 2.242500248562306e-02 2.242204661762487e-02 2.241909399183298e-02 2.241614460666303e-02 - 2.241319845819517e-02 2.241025553754803e-02 2.240731584245553e-02 2.240437937032112e-02 2.240144611432051e-02 - 2.239851607018801e-02 2.239558923444239e-02 2.239266560299412e-02 2.238974517661811e-02 2.238682795331298e-02 - 2.238391391839321e-02 2.238100306495051e-02 2.237809539304577e-02 2.237519090301935e-02 2.237228958954325e-02 - 2.236939144530989e-02 2.236649647337483e-02 2.236360466636645e-02 2.236071600836286e-02 2.235783050633204e-02 - 2.235494816009726e-02 2.235206895420678e-02 2.234919288912077e-02 2.234631996540050e-02 2.234345017408028e-02 - 2.234058350741709e-02 2.233771996217690e-02 2.233485954108143e-02 2.233200223848051e-02 2.232914804618978e-02 - 2.232629696222737e-02 2.232344898389008e-02 2.232060410657171e-02 2.231776232362639e-02 2.231492363175558e-02 - 2.231208802922137e-02 2.230925550831191e-02 2.230642606279709e-02 2.230359969032392e-02 2.230077639232617e-02 - 2.229795616382932e-02 2.229513899284023e-02 2.229232488215048e-02 2.228951382986107e-02 2.228670582046145e-02 - 2.228390085767177e-02 2.228109894426768e-02 2.227830006461064e-02 2.227550421765863e-02 2.227271140560883e-02 - 2.226992161633195e-02 2.226713484518715e-02 2.226435109357777e-02 2.226157036041665e-02 2.225879263594571e-02 - 2.225601790864145e-02 2.225324618600033e-02 2.225047746610503e-02 2.224771173578603e-02 2.224494899695189e-02 - 2.224218924606724e-02 2.223943246967720e-02 2.223667867147697e-02 2.223392785229840e-02 2.223117999944780e-02 - 2.222843510958861e-02 2.222569318138216e-02 2.222295420869658e-02 2.222021819230338e-02 2.221748513172378e-02 - 2.221475501403353e-02 2.221202783347761e-02 2.220930358964832e-02 2.220658227937696e-02 2.220386389978368e-02 - 2.220114844711944e-02 2.219843591216284e-02 2.219572629440826e-02 2.219301959936691e-02 2.219031581219321e-02 - 2.218761492468887e-02 2.218491694233576e-02 2.218222185562244e-02 2.217952965986671e-02 2.217684036403281e-02 - 2.217415395419634e-02 2.217147041795686e-02 2.216878976537657e-02 2.216611199005385e-02 2.216343708084910e-02 - 2.216076504044857e-02 2.215809586407636e-02 2.215542954392592e-02 2.215276608232491e-02 2.215010547339664e-02 - 2.214744770611955e-02 2.214479278225410e-02 2.214214070177000e-02 2.213949145934428e-02 2.213684504847090e-02 - 2.213420146383213e-02 2.213156070201421e-02 2.212892275987791e-02 2.212628763520102e-02 2.212365532631548e-02 - 2.212102582567219e-02 2.211839912707401e-02 2.211577523186081e-02 2.211315413883962e-02 2.211053584219323e-02 - 2.210792033053083e-02 2.210530760247808e-02 2.210269766011106e-02 2.210009049378774e-02 2.209748609987134e-02 - 2.209488448015577e-02 2.209228563063591e-02 2.208968954607055e-02 2.208709622107550e-02 2.208450564887732e-02 - 2.208191782589816e-02 2.207933275252874e-02 2.207675042560285e-02 2.207417084119970e-02 2.207159399606388e-02 - 2.206901988424427e-02 2.206644850045388e-02 2.206387984291528e-02 2.206131390816773e-02 2.205875069196218e-02 - 2.205619019101501e-02 2.205363240248722e-02 2.205107732226570e-02 2.204852494231603e-02 2.204597526222870e-02 - 2.204342828418220e-02 2.204088399409952e-02 2.203834238815479e-02 2.203580347352047e-02 2.203326724064265e-02 - 2.203073368487589e-02 2.202820281109562e-02 2.202567460568826e-02 2.202314905892956e-02 2.202062617713913e-02 - 2.201810595951965e-02 2.201558839960293e-02 2.201307348855861e-02 2.201056122699519e-02 2.200805161543166e-02 - 2.200554464185156e-02 2.200304030240887e-02 2.200053859846551e-02 2.199803952619762e-02 2.199554308107517e-02 - 2.199304925941878e-02 2.199055805969111e-02 2.198806947716193e-02 2.198558350490501e-02 2.198310014348315e-02 - 2.198061939050182e-02 2.197814123774413e-02 2.197566568143648e-02 2.197319271829654e-02 2.197072234409288e-02 - 2.196825456242376e-02 2.196578937054303e-02 2.196332674903257e-02 2.196086670076693e-02 2.195840923401799e-02 - 2.195595433798292e-02 2.195350200785295e-02 2.195105224287541e-02 2.194860503638501e-02 2.194616038337459e-02 - 2.194371828086876e-02 2.194127872478465e-02 2.193884171275727e-02 2.193640724439015e-02 2.193397531871202e-02 - 2.193154592984012e-02 2.192911906730429e-02 2.192669472874541e-02 2.192427291582612e-02 2.192185362988310e-02 - 2.191943685926103e-02 2.191702259589666e-02 2.191461084837004e-02 2.191220161094460e-02 2.190979487232746e-02 - 2.190739062981033e-02 2.190498888177591e-02 2.190258962778606e-02 2.190019287048831e-02 2.189779860038415e-02 - 2.189540680312951e-02 2.189301748590321e-02 2.189063064823816e-02 2.188824627921663e-02 2.188586438035036e-02 - 2.188348494945867e-02 2.188110797669410e-02 2.187873346273279e-02 2.187636140793982e-02 2.187399180563438e-02 - 2.187162464701073e-02 2.186925992764394e-02 2.186689765219864e-02 2.186453782016761e-02 2.186218042520733e-02 - 2.185982545624109e-02 2.185747291143151e-02 2.185512279286289e-02 2.185277509428750e-02 2.185042981497303e-02 - 2.184808695595145e-02 2.184574650317918e-02 2.184340845337333e-02 2.184107281435048e-02 2.183873957690715e-02 - 2.183640873122354e-02 2.183408027442373e-02 2.183175421068970e-02 2.182943053984947e-02 2.182710925220595e-02 - 2.182479034512406e-02 2.182247381639650e-02 2.182015965839264e-02 2.181784786935527e-02 2.181553844939510e-02 - 2.181323139439093e-02 2.181092669994856e-02 2.180862436262286e-02 2.180632438083940e-02 2.180402674952244e-02 - 2.180173146217098e-02 2.179943851892379e-02 2.179714791838810e-02 2.179485965603752e-02 2.179257372764807e-02 - 2.179029013045416e-02 2.178800886254997e-02 2.178572991731780e-02 2.178345329019238e-02 2.178117898198011e-02 - 2.177890698980304e-02 2.177663730909087e-02 2.177436993586566e-02 2.177210486810286e-02 2.176984210277431e-02 - 2.176758163245009e-02 2.176532345522340e-02 2.176306757137086e-02 2.176081397536724e-02 2.175856266623576e-02 - 2.175631364444715e-02 2.175406689861889e-02 2.175182242380624e-02 2.174958022311289e-02 2.174734029291431e-02 - 2.174510262809328e-02 2.174286722491656e-02 2.174063408336708e-02 2.173840320169586e-02 2.173617457340815e-02 - 2.173394819180500e-02 2.173172405255836e-02 2.172950215559655e-02 2.172728250040623e-02 2.172506508580887e-02 - 2.172284990969628e-02 2.172063696250313e-02 2.171842623537083e-02 2.171621773566752e-02 2.171401146093844e-02 - 2.171180740120238e-02 2.170960555830954e-02 2.170740592901658e-02 2.170520850408856e-02 2.170301328419004e-02 - 2.170082027006994e-02 2.169862945830807e-02 2.169644084240343e-02 2.169425441572978e-02 2.169207017401216e-02 - 2.168988812007480e-02 2.168770825534887e-02 2.168553057272023e-02 2.168335506533793e-02 2.168118172867985e-02 - 2.167901056214399e-02 2.167684156632982e-02 2.167467473989915e-02 2.167251007478243e-02 2.167034756604321e-02 - 2.166818721221639e-02 2.166602901099679e-02 2.166387295840019e-02 2.166171905012346e-02 2.165956728718834e-02 - 2.165741766632386e-02 2.165527017845730e-02 2.165312482355555e-02 2.165098160273919e-02 2.164884051303741e-02 - 2.164670154730472e-02 2.164456469954934e-02 2.164242996946321e-02 2.164029735885670e-02 2.163816686523918e-02 - 2.163603847533059e-02 2.163391219068715e-02 2.163178801684997e-02 2.162966593882407e-02 2.162754595404139e-02 - 2.162542806873079e-02 2.162331227177066e-02 2.162119856181649e-02 2.161908694674025e-02 2.161697741144211e-02 - 2.161486994763257e-02 2.161276456243416e-02 2.161066125301312e-02 2.160856001324272e-02 2.160646083892226e-02 - 2.160436373197112e-02 2.160226869104043e-02 2.160017570438035e-02 2.159808476849354e-02 2.159599588501710e-02 - 2.159390905460169e-02 2.159182427010056e-02 2.158974152429478e-02 2.158766082444429e-02 2.158558216760809e-02 - 2.158350554187339e-02 2.158143094233737e-02 2.157935837033232e-02 2.157728782941571e-02 2.157521931196140e-02 - 2.157315281164952e-02 2.157108832745493e-02 2.156902585566251e-02 2.156696539445298e-02 2.156490694526656e-02 - 2.156285049964247e-02 2.156079605212440e-02 2.155874360997529e-02 2.155669316474123e-02 2.155464470676604e-02 - 2.155259824484399e-02 2.155055377365348e-02 2.154851128035285e-02 2.154647076406023e-02 2.154443222886153e-02 - 2.154239567713112e-02 2.154036109691455e-02 2.153832848380287e-02 2.153629784162443e-02 2.153426916110383e-02 - 2.153224243839968e-02 2.153021767928900e-02 2.152819487735599e-02 2.152617402486068e-02 2.152415511969989e-02 - 2.152213816346627e-02 2.152012315489333e-02 2.151811008517867e-02 2.151609895106827e-02 2.151408975350627e-02 - 2.151208249405811e-02 2.151007716412923e-02 2.150807375412716e-02 2.150607227139823e-02 2.150407271389111e-02 - 2.150207507178008e-02 2.150007934512424e-02 2.149808553345600e-02 2.149609363244227e-02 2.149410363369511e-02 - 2.149211553597770e-02 2.149012934592863e-02 2.148814505588094e-02 2.148616265955859e-02 2.148418215959600e-02 - 2.148220354775919e-02 2.148022681859241e-02 2.147825198020547e-02 2.147627902590631e-02 2.147430794498996e-02 - 2.147233873858447e-02 2.147037140717467e-02 2.146840594879004e-02 2.146644235912430e-02 2.146448063553682e-02 - 2.146252077578778e-02 2.146056277288728e-02 2.145860662318243e-02 2.145665232726965e-02 2.145469988438242e-02 - 2.145274929256557e-02 2.145080054831608e-02 2.144885364454498e-02 2.144690857746641e-02 2.144496534942983e-02 - 2.144302395654175e-02 2.144108439499599e-02 2.143914666610025e-02 2.143721076355154e-02 2.143527668029283e-02 - 2.143334441800114e-02 2.143141397685691e-02 2.142948535268880e-02 2.142755853497146e-02 2.142563352602930e-02 - 2.142371033388222e-02 2.142178894500280e-02 2.141986935358769e-02 2.141795156402302e-02 2.141603556793572e-02 - 2.141412136230918e-02 2.141220895321441e-02 2.141029833297722e-02 2.140838949470163e-02 2.140648244009975e-02 - 2.140457716697424e-02 2.140267367166504e-02 2.140077195168551e-02 2.139887200433115e-02 2.139697382547902e-02 - 2.139507740888590e-02 2.139318275720074e-02 2.139128987343195e-02 2.138939874415982e-02 2.138750936775835e-02 - 2.138562175102568e-02 2.138373588641631e-02 2.138185176599392e-02 2.137996938652284e-02 2.137808875223814e-02 - 2.137620986251236e-02 2.137433270909064e-02 2.137245728978030e-02 2.137058360186242e-02 2.136871163953864e-02 - 2.136684140688612e-02 2.136497290390506e-02 2.136310611597474e-02 2.136124104345297e-02 2.135937769212130e-02 - 2.135751605860686e-02 2.135565613610374e-02 2.135379791822062e-02 2.135194140402438e-02 2.135008659417071e-02 - 2.134823348788390e-02 2.134638207760105e-02 2.134453236032835e-02 2.134268433814086e-02 2.134083800772077e-02 - 2.133899336411597e-02 2.133715040305821e-02 2.133530912424798e-02 2.133346952672500e-02 2.133163160670673e-02 - 2.132979536297411e-02 2.132796079152963e-02 2.132612788229375e-02 2.132429663915477e-02 2.132246706798375e-02 - 2.132063916037057e-02 2.131881290769116e-02 2.131698830582932e-02 2.131516535978050e-02 2.131334407028698e-02 - 2.131152443198118e-02 2.130970643552249e-02 2.130789007885127e-02 2.130607536669811e-02 2.130426229682303e-02 - 2.130245086421657e-02 2.130064106313053e-02 2.129883288837854e-02 2.129702633875496e-02 2.129522141788389e-02 - 2.129341812290223e-02 2.129161644909972e-02 2.128981639414264e-02 2.128801795585396e-02 2.128622113110773e-02 - 2.128442591509673e-02 2.128263230760480e-02 2.128084030772261e-02 2.127904990395241e-02 2.127726109953179e-02 - 2.127547390424031e-02 2.127368830171838e-02 2.127190428479188e-02 2.127012186038021e-02 2.126834102886177e-02 - 2.126656178481652e-02 2.126478411995624e-02 2.126300803603507e-02 2.126123353191450e-02 2.125946059821390e-02 - 2.125768923851055e-02 2.125591945439615e-02 2.125415123382016e-02 2.125238457915817e-02 2.125061949358618e-02 - 2.124885596288304e-02 2.124709398735697e-02 2.124533357303348e-02 2.124357470952245e-02 2.124181739435340e-02 - 2.124006163206048e-02 2.123830741948956e-02 2.123655475001017e-02 2.123480361731545e-02 2.123305402409987e-02 - 2.123130596739953e-02 2.122955943693203e-02 2.122781443910126e-02 2.122607097723360e-02 2.122432904130337e-02 - 2.122258862659696e-02 2.122084973282204e-02 2.121911236175234e-02 2.121737650789419e-02 2.121564216387619e-02 - 2.121390932803162e-02 2.121217800425756e-02 2.121044819455527e-02 2.120871988671843e-02 2.120699307684077e-02 - 2.120526776795157e-02 2.120354395552526e-02 2.120182163603621e-02 2.120010080901829e-02 2.119838147500087e-02 - 2.119666363123091e-02 2.119494727091758e-02 2.119323238927472e-02 2.119151898655034e-02 2.118980706773010e-02 - 2.118809662574528e-02 2.118638765303925e-02 2.118468015121633e-02 2.118297411864271e-02 2.118126955146517e-02 - 2.117956644637810e-02 2.117786480292237e-02 2.117616462067450e-02 2.117446589411339e-02 2.117276862084477e-02 - 2.117107280130004e-02 2.116937843379139e-02 2.116768551256503e-02 2.116599403067535e-02 2.116430399205533e-02 - 2.116261539753040e-02 2.116092824074994e-02 2.115924251858398e-02 2.115755822756320e-02 2.115587536308644e-02 - 2.115419393062315e-02 2.115251393109511e-02 2.115083534999197e-02 2.114915818684827e-02 2.114748244571777e-02 - 2.114580812117730e-02 2.114413521000233e-02 2.114246371011731e-02 2.114079361630021e-02 2.113912493113981e-02 - 2.113745765864524e-02 2.113579178347091e-02 2.113412730283017e-02 2.113246422731517e-02 2.113080255018658e-02 - 2.112914226466844e-02 2.112748336987266e-02 2.112582586239263e-02 2.112416973838773e-02 2.112251499585494e-02 - 2.112086163946853e-02 2.111920966923609e-02 2.111755907231158e-02 2.111590984741022e-02 2.111426199652882e-02 - 2.111261551330255e-02 2.111097039854193e-02 2.110932665501722e-02 2.110768427494188e-02 2.110604325159932e-02 - 2.110440358337455e-02 2.110276527755971e-02 2.110112832954347e-02 2.109949272542061e-02 2.109785847270291e-02 - 2.109622557382813e-02 2.109459401840321e-02 2.109296380279178e-02 2.109133492634166e-02 2.108970738897449e-02 - 2.108808119187406e-02 2.108645633261542e-02 2.108483280177793e-02 2.108321059649476e-02 2.108158971816587e-02 - 2.107997016818712e-02 2.107835194176262e-02 2.107673503228282e-02 2.107511943992769e-02 2.107350516482023e-02 - 2.107189220511111e-02 2.107028055587330e-02 2.106867021606288e-02 2.106706118735907e-02 2.106545346293816e-02 - 2.106384703796383e-02 2.106224191316689e-02 2.106063808955507e-02 2.105903556250238e-02 2.105743432153898e-02 - 2.105583437513380e-02 2.105423572746437e-02 2.105263836035830e-02 2.105104227142354e-02 2.104944746729932e-02 - 2.104785395134047e-02 2.104626171573087e-02 2.104467074966839e-02 2.104308105452007e-02 2.104149263222363e-02 - 2.103990548218236e-02 2.103831959968388e-02 2.103673498293864e-02 2.103515163200819e-02 2.103356953798411e-02 - 2.103198869775456e-02 2.103040911733209e-02 2.102883079574534e-02 2.102725372695269e-02 2.102567790273802e-02 - 2.102410332486244e-02 2.102252999507990e-02 2.102095790737760e-02 2.101938706174730e-02 2.101781745879964e-02 - 2.101624909192282e-02 2.101468195450770e-02 2.101311604447429e-02 2.101155137000445e-02 2.100998792857284e-02 - 2.100842571064132e-02 2.100686471849675e-02 2.100530495078897e-02 2.100374640001838e-02 2.100218906014547e-02 - 2.100063293273019e-02 2.099907802537045e-02 2.099752433031871e-02 2.099597184169578e-02 2.099442056340826e-02 - 2.099287048844137e-02 2.099132161182849e-02 2.098977394056553e-02 2.098822746767990e-02 2.098668218492037e-02 - 2.098513809937855e-02 2.098359520656010e-02 2.098205349870481e-02 2.098051298433238e-02 2.097897365788888e-02 - 2.097743550607582e-02 2.097589853771057e-02 2.097436275317134e-02 2.097282814179318e-02 2.097129470444368e-02 - 2.096976244194844e-02 2.096823135057212e-02 2.096670142502171e-02 2.096517266432222e-02 2.096364507294766e-02 - 2.096211864290872e-02 2.096059336882086e-02 2.095906925902597e-02 2.095754630598820e-02 2.095602449947026e-02 - 2.095450384463222e-02 2.095298434369944e-02 2.095146599313072e-02 2.094994878341327e-02 2.094843271500539e-02 - 2.094691779352117e-02 2.094540401073429e-02 2.094389136288097e-02 2.094237985194064e-02 2.094086947133280e-02 - 2.093936021927527e-02 2.093785210108921e-02 2.093634511142213e-02 2.093483924325246e-02 2.093333449385128e-02 - 2.093183086645815e-02 2.093032836253444e-02 2.092882697593887e-02 2.092732670311165e-02 2.092582754108962e-02 - 2.092432948474122e-02 2.092283253800634e-02 2.092133670446908e-02 2.091984196956714e-02 2.091834833166288e-02 - 2.091685579922333e-02 2.091536436905392e-02 2.091387403364116e-02 2.091238478662568e-02 2.091089663391256e-02 - 2.090940957508328e-02 2.090792359986955e-02 2.090643871032298e-02 2.090495490818039e-02 2.090347218811059e-02 - 2.090199054718417e-02 2.090050998308706e-02 2.089903049243704e-02 2.089755207414248e-02 2.089607472810411e-02 - 2.089459845325996e-02 2.089312324594328e-02 2.089164910255710e-02 2.089017602427597e-02 2.088870401009232e-02 - 2.088723305634642e-02 2.088576315893389e-02 2.088429431601771e-02 2.088282652696964e-02 2.088135978615913e-02 - 2.087989409321534e-02 2.087842945395569e-02 2.087696586275656e-02 2.087550331287119e-02 2.087404180207852e-02 - 2.087258132736208e-02 2.087112188861259e-02 2.086966349090147e-02 2.086820612891688e-02 2.086674979608584e-02 - 2.086529449590395e-02 2.086384022331517e-02 2.086238697045790e-02 2.086093474039187e-02 2.085948353444753e-02 - 2.085803335091995e-02 2.085658418796912e-02 2.085513604081134e-02 2.085368890289571e-02 2.085224277300881e-02 - 2.085079765267601e-02 2.084935354393509e-02 2.084791044341373e-02 2.084646834711395e-02 2.084502725286095e-02 - 2.084358715744794e-02 2.084214805848912e-02 2.084070995598070e-02 2.083927284909677e-02 2.083783673573611e-02 - 2.083640161226469e-02 2.083496747523998e-02 2.083353432223483e-02 2.083210215303235e-02 2.083067096927498e-02 - 2.082924077044086e-02 2.082781154460241e-02 2.082638329211299e-02 2.082495602309350e-02 2.082352972509603e-02 - 2.082210439277076e-02 2.082068003454410e-02 2.081925664261260e-02 2.081783421113447e-02 2.081641274508624e-02 - 2.081499224082686e-02 2.081357269450268e-02 2.081215410878219e-02 2.081073647873721e-02 2.080931979776872e-02 - 2.080790406592918e-02 2.080648928500749e-02 2.080507545608266e-02 2.080366257645188e-02 2.080225063919177e-02 - 2.080083963814898e-02 2.079942957984240e-02 2.079802046255642e-02 2.079661227641324e-02 2.079520502452446e-02 - 2.079379870732677e-02 2.079239331877295e-02 2.079098886066600e-02 2.078958533155146e-02 2.078818272238310e-02 - 2.078678103594075e-02 2.078538027480030e-02 2.078398043169412e-02 2.078258150517176e-02 2.078118349582184e-02 - 2.077978640032045e-02 2.077839021518007e-02 2.077699493798996e-02 2.077560056860569e-02 2.077420710626992e-02 - 2.077281454908150e-02 2.077142289397691e-02 2.077003213665487e-02 2.076864227381708e-02 2.076725331084939e-02 - 2.076586524753700e-02 2.076447807479244e-02 2.076309178893910e-02 2.076170639200464e-02 2.076032188924749e-02 - 2.075893827075576e-02 2.075755552867013e-02 2.075617367037054e-02 2.075479269394757e-02 2.075341259415677e-02 - 2.075203337133167e-02 2.075065502119062e-02 2.074927754004291e-02 2.074790093527532e-02 2.074652520196147e-02 - 2.074515032814618e-02 2.074377631824518e-02 2.074240317461906e-02 2.074103089389617e-02 2.073965947285912e-02 - 2.073828890806665e-02 2.073691919635770e-02 2.073555033844026e-02 2.073418233381763e-02 2.073281517823886e-02 - 2.073144886803073e-02 2.073008340377233e-02 2.072871879147831e-02 2.072735502222402e-02 2.072599208688765e-02 - 2.072462999392301e-02 2.072326873860233e-02 2.072190831224300e-02 2.072054872378210e-02 2.071918997148765e-02 - 2.071783204556565e-02 2.071647494755481e-02 2.071511867766477e-02 2.071376323196711e-02 2.071240860565183e-02 - 2.071105479791370e-02 2.070970181180314e-02 2.070834964331268e-02 2.070699828917085e-02 2.070564775075080e-02 - 2.070429802727900e-02 2.070294911380581e-02 2.070160100113699e-02 2.070025369244763e-02 2.069890719322030e-02 - 2.069756149841416e-02 2.069621660331007e-02 2.069487250616514e-02 2.069352920972353e-02 2.069218670843115e-02 - 2.069084499406914e-02 2.068950407478504e-02 2.068816395008570e-02 2.068682460979861e-02 2.068548605525363e-02 - 2.068414828647597e-02 2.068281129879088e-02 2.068147509294542e-02 2.068013966727868e-02 2.067880501481977e-02 - 2.067747113766845e-02 2.067613803889334e-02 2.067480571527677e-02 2.067347415977921e-02 2.067214336769299e-02 - 2.067081334319025e-02 2.066948408776949e-02 2.066815559807265e-02 2.066682786498898e-02 2.066550088830383e-02 - 2.066417467341183e-02 2.066284921698086e-02 2.066152451475288e-02 2.066020056372571e-02 2.065887736182303e-02 - 2.065755490839281e-02 2.065623320354572e-02 2.065491224367795e-02 2.065359202675738e-02 2.065227255436574e-02 - 2.065095382314874e-02 2.064963582941213e-02 2.064831857270797e-02 2.064700204957123e-02 2.064568625651786e-02 - 2.064437119414936e-02 2.064305686324694e-02 2.064174326345409e-02 2.064043039179931e-02 2.063911824280925e-02 - 2.063780681176866e-02 2.063649610237503e-02 2.063518611610314e-02 2.063387684909248e-02 2.063256829217405e-02 - 2.063126044539576e-02 2.062995331851188e-02 2.062864690334512e-02 2.062734119190086e-02 2.062603618600375e-02 - 2.062473188642144e-02 2.062342829221786e-02 2.062212540064643e-02 2.062082320714733e-02 2.061952170915304e-02 - 2.061822091004314e-02 2.061692080716460e-02 2.061562139605911e-02 2.061432267954307e-02 2.061302465323251e-02 - 2.061172730955065e-02 2.061043065371613e-02 2.060913468523504e-02 2.060783939685846e-02 2.060654478913799e-02 - 2.060525086119714e-02 2.060395760866959e-02 2.060266503271371e-02 2.060137313244415e-02 2.060008190215519e-02 - 2.059879134465455e-02 2.059750146004468e-02 2.059621223782829e-02 2.059492368052522e-02 2.059363579225837e-02 - 2.059234856405708e-02 2.059106199328788e-02 2.058977608130871e-02 2.058849082556723e-02 2.058720622498806e-02 - 2.058592227959311e-02 2.058463898696043e-02 2.058335634281647e-02 2.058207434376584e-02 2.058079299573017e-02 - 2.057951229614279e-02 2.057823223269817e-02 2.057695281356401e-02 2.057567404187197e-02 2.057439590387300e-02 - 2.057311839681732e-02 2.057184152455586e-02 2.057056529173392e-02 2.056928969078429e-02 2.056801471376779e-02 - 2.056674036634529e-02 2.056546664830153e-02 2.056419355486686e-02 2.056292108306100e-02 2.056164923170236e-02 - 2.056037800067255e-02 2.055910738924650e-02 2.055783739340399e-02 2.055656800859636e-02 2.055529924146672e-02 - 2.055403109005562e-02 2.055276354110791e-02 2.055149659755915e-02 2.055023026272679e-02 2.054896453244645e-02 - 2.054769940766287e-02 2.054643488681757e-02 2.054517096062926e-02 2.054390763218316e-02 2.054264490512525e-02 - 2.054138276915942e-02 2.054012122328143e-02 2.053886027085424e-02 2.053759990682471e-02 2.053634012878631e-02 - 2.053508093799464e-02 2.053382233647706e-02 2.053256431985532e-02 2.053130687980379e-02 2.053005001911220e-02 - 2.052879373804411e-02 2.052753803104820e-02 2.052628289842169e-02 2.052502834052905e-02 2.052377435424499e-02 - 2.052252093383405e-02 2.052126807833591e-02 2.052001579579881e-02 2.051876408076618e-02 2.051751292558091e-02 - 2.051626233431153e-02 2.051501230108543e-02 2.051376281904528e-02 2.051251389905356e-02 2.051126553806812e-02 - 2.051001772450580e-02 2.050877046477720e-02 2.050752375748313e-02 2.050627759308629e-02 2.050503197764233e-02 - 2.050378691120845e-02 2.050254238346269e-02 2.050129839647772e-02 2.050005495152270e-02 2.049881204279591e-02 - 2.049756967049427e-02 2.049632783497685e-02 2.049508653204386e-02 2.049384576061373e-02 2.049260552085964e-02 - 2.049136581124810e-02 2.049012662828215e-02 2.048888796855573e-02 2.048764983217528e-02 2.048641222055239e-02 - 2.048517513365279e-02 2.048393856449956e-02 2.048270250702790e-02 2.048146696002243e-02 2.048023193267689e-02 - 2.047899742444990e-02 2.047776342204647e-02 2.047652992557144e-02 2.047529693666283e-02 2.047406445284291e-02 - 2.047283247820367e-02 2.047160101124722e-02 2.047037003705319e-02 2.046913955996649e-02 2.046790958805229e-02 - 2.046668011290463e-02 2.046545112747173e-02 2.046422263048016e-02 2.046299462941648e-02 2.046176712182623e-02 - 2.046054009863872e-02 2.045931356011635e-02 2.045808750875261e-02 2.045686194483555e-02 2.045563685869128e-02 - 2.045441224888558e-02 2.045318812405373e-02 2.045196447539730e-02 2.045074129851060e-02 2.044951860203706e-02 - 2.044829637561388e-02 2.044707461146781e-02 2.044585332076453e-02 2.044463250090934e-02 2.044341214478788e-02 - 2.044219225389736e-02 2.044097282684260e-02 2.043975385980242e-02 2.043853534979080e-02 2.043731729516990e-02 - 2.043609969584751e-02 2.043488255365452e-02 2.043366586840525e-02 2.043244963622695e-02 2.043123384788510e-02 - 2.043001850356880e-02 2.042880361352058e-02 2.042758917125052e-02 2.042637516923373e-02 2.042516160738241e-02 - 2.042394848596822e-02 2.042273580364956e-02 2.042152355668345e-02 2.042031174421715e-02 2.041910036711696e-02 - 2.041788942589821e-02 2.041667891618270e-02 2.041546883283581e-02 2.041425917723074e-02 2.041304994671302e-02 - 2.041184113736942e-02 2.041063275507356e-02 2.040942479864618e-02 2.040821725911453e-02 2.040701013329647e-02 - 2.040580342336421e-02 2.040459713364973e-02 2.040339125626194e-02 2.040218578748979e-02 2.040098073437600e-02 - 2.039977609190064e-02 2.039857185194057e-02 2.039736801200263e-02 2.039616457948628e-02 2.039496155847034e-02 - 2.039375893548800e-02 2.039255670811317e-02 2.039135487906758e-02 2.039015344139171e-02 2.038895239754324e-02 - 2.038775175394349e-02 2.038655150008423e-02 2.038535163468296e-02 2.038415216492024e-02 2.038295307932101e-02 - 2.038175437156158e-02 2.038055604740632e-02 2.037935811014152e-02 2.037816055719221e-02 2.037696338008003e-02 - 2.037576657774965e-02 2.037457015197002e-02 2.037337410306159e-02 2.037217842811476e-02 2.037098312337542e-02 - 2.036978818702816e-02 2.036859361901312e-02 2.036739941883561e-02 2.036620558232109e-02 2.036501210897116e-02 - 2.036381899981477e-02 2.036262624936801e-02 2.036143385733716e-02 2.036024182706139e-02 2.035905014947786e-02 - 2.035785882153747e-02 2.035666784977269e-02 2.035547723079831e-02 2.035428696142468e-02 2.035309704319765e-02 - 2.035190747134853e-02 2.035071824110532e-02 2.034952935293085e-02 2.034834080749865e-02 2.034715260430401e-02 - 2.034596474052595e-02 2.034477721202228e-02 2.034359001578161e-02 2.034240315367684e-02 2.034121662664043e-02 - 2.034003043357028e-02 2.033884457132868e-02 2.033765903741480e-02 2.033647382949949e-02 2.033528894162872e-02 - 2.033410437471255e-02 2.033292013620119e-02 2.033173621775026e-02 2.033055261459435e-02 2.032936933387398e-02 - 2.032818637173341e-02 2.032700371995237e-02 2.032582137330103e-02 2.032463934032926e-02 2.032345762721536e-02 - 2.032227621977112e-02 2.032109511380310e-02 2.031991431266943e-02 2.031873381713771e-02 2.031755362367381e-02 - 2.031637372822898e-02 2.031519413522404e-02 2.031401484060572e-02 2.031283583475656e-02 2.031165712768451e-02 - 2.031047872082618e-02 2.030930060067025e-02 2.030812276414845e-02 2.030694521582938e-02 2.030576796297434e-02 - 2.030459099391277e-02 2.030341430130414e-02 2.030223789822972e-02 2.030106177803277e-02 2.029988592949474e-02 - 2.029871035725545e-02 2.029753506661443e-02 2.029636005659757e-02 2.029518531267896e-02 2.029401083596470e-02 - 2.029283663654064e-02 2.029166270589052e-02 2.029048903923464e-02 2.028931563858370e-02 2.028814250195392e-02 - 2.028696962711050e-02 2.028579701358946e-02 2.028462466440920e-02 2.028345257575578e-02 2.028228073462766e-02 - 2.028110914546667e-02 2.027993781542017e-02 2.027876674182124e-02 2.027759591671596e-02 2.027642533515473e-02 - 2.027525500323221e-02 2.027408491983729e-02 2.027291508043819e-02 2.027174548650143e-02 2.027057613494678e-02 - 2.026940701983228e-02 2.026823814087089e-02 2.026706949898955e-02 2.026590109425394e-02 2.026473292320746e-02 - 2.026356498366547e-02 2.026239727592488e-02 2.026122979922282e-02 2.026006255023894e-02 2.025889552388743e-02 - 2.025772872449768e-02 2.025656215399196e-02 2.025539580342713e-02 2.025422967119250e-02 2.025306375830951e-02 - 2.025189806183918e-02 2.025073258129647e-02 2.024956731656576e-02 2.024840226339874e-02 2.024723742127980e-02 - 2.024607279125879e-02 2.024490836776212e-02 2.024374415071052e-02 2.024258014353189e-02 2.024141633571028e-02 - 2.024025272656142e-02 2.023908932762591e-02 2.023792612793740e-02 2.023676312010299e-02 2.023560031179207e-02 - 2.023443769779265e-02 2.023327527310789e-02 2.023211304323675e-02 2.023095100708355e-02 2.022978916007167e-02 - 2.022862749919407e-02 2.022746602379288e-02 2.022630473371739e-02 2.022514362648272e-02 2.022398270121405e-02 - 2.022282195791762e-02 2.022166139402294e-02 2.022050100551405e-02 2.021934078921764e-02 2.021818074920451e-02 - 2.021702088593813e-02 2.021586119314628e-02 2.021470166428228e-02 2.021354230080554e-02 2.021238311308448e-02 - 2.021122409287018e-02 2.021006523025651e-02 2.020890652716039e-02 2.020774798484683e-02 2.020658960393083e-02 - 2.020543138529554e-02 2.020427332378045e-02 2.020311541298552e-02 2.020195765397637e-02 2.020080004744672e-02 - 2.019964259236717e-02 2.019848528642001e-02 2.019732812869024e-02 2.019617111926010e-02 2.019501425544548e-02 - 2.019385753379127e-02 2.019270095135025e-02 2.019154450793482e-02 2.019038820298517e-02 2.018923203417478e-02 - 2.018807600019563e-02 2.018692010151906e-02 2.018576433995726e-02 2.018460870891364e-02 2.018345320296787e-02 - 2.018229782843392e-02 2.018114258172615e-02 2.017998745649097e-02 2.017883245877245e-02 2.017767758620927e-02 - 2.017652283054322e-02 2.017536819223788e-02 2.017421367319040e-02 2.017305927292809e-02 2.017190498313902e-02 - 2.017075080461503e-02 2.016959674752286e-02 2.016844280049332e-02 2.016728895684716e-02 2.016613522539111e-02 - 2.016498159847723e-02 2.016382807033869e-02 2.016267465040216e-02 2.016152133310211e-02 2.016036811076429e-02 - 2.015921498985646e-02 2.015806197025070e-02 2.015690904702832e-02 2.015575621731957e-02 2.015460347791708e-02 - 2.015345082711757e-02 2.015229826996444e-02 2.015114580452791e-02 2.014999342256183e-02 2.014884112402139e-02 - 2.014768891079059e-02 2.014653678283008e-02 2.014538473229735e-02 2.014423275838842e-02 2.014308087159530e-02 - 2.014192906336537e-02 2.014077732405132e-02 2.013962565684693e-02 2.013847406112768e-02 2.013732253607323e-02 - 2.013617108558620e-02 2.013501970367529e-02 2.013386838304751e-02 2.013271713092954e-02 2.013156594450895e-02 - 2.013041481517404e-02 2.012926374836556e-02 2.012811274375330e-02 2.012696179396415e-02 2.012581089842930e-02 - 2.012466005832842e-02 2.012350927388322e-02 2.012235854139777e-02 2.012120785897021e-02 2.012005722808521e-02 - 2.011890664240422e-02 2.011775609861771e-02 2.011660560342765e-02 2.011545514995805e-02 2.011430473248947e-02 - 2.011315436328775e-02 2.011200403690588e-02 2.011085374071231e-02 2.010970347811273e-02 2.010855325123000e-02 - 2.010740305829795e-02 2.010625289543029e-02 2.010510276184403e-02 2.010395265874816e-02 2.010280258124321e-02 - 2.010165252783862e-02 2.010050250168409e-02 2.009935249835288e-02 2.009820251528310e-02 2.009705255512517e-02 - 2.009590261098061e-02 2.009475267797075e-02 2.009360276160796e-02 2.009245286068316e-02 2.009130297235736e-02 - 2.009015309860190e-02 2.008900323371492e-02 2.008785337125678e-02 2.008670351711407e-02 2.008555367122358e-02 - 2.008440382812401e-02 2.008325398588614e-02 2.008210414433437e-02 2.008095430334925e-02 2.007980445913736e-02 - 2.007865461009197e-02 2.007750475755383e-02 2.007635489836262e-02 2.007520502856765e-02 2.007405514609401e-02 - 2.007290525369839e-02 2.007175535352643e-02 2.007060544261636e-02 2.006945551378952e-02 2.006830556246986e-02 - 2.006715559358176e-02 2.006600560685722e-02 2.006485559907452e-02 2.006370557035152e-02 2.006255552017783e-02 - 2.006140544519211e-02 2.006025533608720e-02 2.005910519424486e-02 2.005795502866486e-02 2.005680483150780e-02 - 2.005565460068358e-02 2.005450434307724e-02 2.005335404752871e-02 2.005220370751987e-02 2.005105333078331e-02 - 2.004990291380246e-02 2.004875245256121e-02 2.004760195075808e-02 2.004645140541610e-02 2.004530081249103e-02 - 2.004415017386308e-02 2.004299948719255e-02 2.004184874893760e-02 2.004069796075558e-02 2.003954711861807e-02 - 2.003839621652469e-02 2.003724525928808e-02 2.003609424691447e-02 2.003494317431652e-02 2.003379204407136e-02 - 2.003264085311753e-02 2.003148959193977e-02 2.003033826577724e-02 2.002918687817827e-02 2.002803542325049e-02 - 2.002688389828578e-02 2.002573230084169e-02 2.002458062668545e-02 2.002342887779152e-02 2.002227705716231e-02 - 2.002112516254241e-02 2.001997318998642e-02 2.001882113644655e-02 2.001766900292078e-02 2.001651678857442e-02 - 2.001536448981540e-02 2.001421210083374e-02 2.001305962366636e-02 2.001190706486020e-02 2.001075441600587e-02 - 2.000960167234195e-02 2.000844883687991e-02 2.000729590520412e-02 2.000614287591466e-02 2.000498975435740e-02 - 2.000383653574291e-02 2.000268321490327e-02 2.000152979351511e-02 2.000037626872929e-02 1.999922263743778e-02 - 1.999806890154111e-02 1.999691505794393e-02 1.999576110265488e-02 1.999460703886217e-02 1.999345286480270e-02 - 1.999229857569377e-02 1.999114417297134e-02 1.998998965543275e-02 1.998883501902821e-02 1.998768026399775e-02 - 1.998652538946059e-02 1.998537039260291e-02 1.998421527483334e-02 1.998306003351848e-02 1.998190465988335e-02 - 1.998074915750420e-02 1.997959352937345e-02 1.997843776879367e-02 1.997728187765045e-02 1.997612585705249e-02 - 1.997496969649909e-02 1.997381339760593e-02 1.997265696528752e-02 1.997150039002939e-02 1.997034367059401e-02 - 1.996918681208352e-02 1.996802981226081e-02 1.996687266788810e-02 1.996571537594770e-02 1.996455793197006e-02 - 1.996340033608642e-02 1.996224259309599e-02 1.996108470119043e-02 1.995992665416334e-02 1.995876844505867e-02 - 1.995761008193637e-02 1.995645156786617e-02 1.995529288784624e-02 1.995413404457776e-02 1.995297504246996e-02 - 1.995181586885687e-02 1.995065652904149e-02 1.994949703248385e-02 1.994833736513130e-02 1.994717752162546e-02 - 1.994601750553184e-02 1.994485731663886e-02 1.994369695406686e-02 1.994253641736701e-02 1.994137570693218e-02 - 1.994021481716852e-02 1.993905373876526e-02 1.993789248152490e-02 1.993673104732284e-02 1.993556942048493e-02 - 1.993440760773439e-02 1.993324561433191e-02 1.993208342679873e-02 1.993092104568069e-02 1.992975847582151e-02 - 1.992859571315939e-02 1.992743275300710e-02 1.992626959353599e-02 1.992510623927749e-02 1.992394268911061e-02 - 1.992277893654564e-02 1.992161497535049e-02 1.992045080942924e-02 1.991928644769617e-02 1.991812187931771e-02 - 1.991695709651699e-02 1.991579210148713e-02 1.991462689658082e-02 1.991346148075462e-02 1.991229584907280e-02 - 1.991113000189043e-02 1.990996393932216e-02 1.990879765723607e-02 1.990763115454515e-02 1.990646443148474e-02 - 1.990529748687400e-02 1.990413031580006e-02 1.990296291532720e-02 1.990179529310021e-02 1.990062744303953e-02 - 1.989945935329500e-02 1.989829103342642e-02 1.989712248515872e-02 1.989595370004318e-02 1.989478467737964e-02 - 1.989361541884726e-02 1.989244592499573e-02 1.989127618925862e-02 1.989010620674421e-02 1.988893597834538e-02 - 1.988776550466197e-02 1.988659478703524e-02 1.988542382727661e-02 1.988425261506333e-02 1.988308114268849e-02 - 1.988190942098788e-02 1.988073745006194e-02 1.987956522359536e-02 1.987839274079954e-02 1.987722000000555e-02 - 1.987604699732070e-02 1.987487372670402e-02 1.987370019241589e-02 1.987252640362364e-02 1.987135234678179e-02 - 1.987017801708705e-02 1.986900342417090e-02 1.986782856130232e-02 1.986665342124566e-02 1.986547800516037e-02 - 1.986430231940191e-02 1.986312636323797e-02 1.986195012209680e-02 1.986077359858922e-02 1.985959679883774e-02 - 1.985841971608161e-02 1.985724235007767e-02 1.985606470192896e-02 1.985488676268764e-02 1.985370853173279e-02 - 1.985253001389235e-02 1.985135120589531e-02 1.985017210671596e-02 1.984899271721913e-02 1.984781303008921e-02 - 1.984663304141680e-02 1.984545275323681e-02 1.984427216416261e-02 1.984309127447186e-02 1.984191008724042e-02 - 1.984072859600846e-02 1.983954679442092e-02 1.983836468369445e-02 1.983718226650526e-02 1.983599954091759e-02 - 1.983481649574990e-02 1.983363313683907e-02 1.983244947316962e-02 1.983126549121019e-02 1.983008118452795e-02 - 1.982889655650101e-02 1.982771161407836e-02 1.982652635127155e-02 1.982534075477381e-02 1.982415483542671e-02 - 1.982296859699974e-02 1.982178202865004e-02 1.982059512679342e-02 1.981940789099672e-02 1.981822032140366e-02 - 1.981703241807743e-02 1.981584417989424e-02 1.981465560415464e-02 1.981346669171603e-02 1.981227744136961e-02 - 1.981108784415540e-02 1.980989790130036e-02 1.980870761757638e-02 1.980751698807925e-02 1.980632600934410e-02 - 1.980513468056937e-02 1.980394300171975e-02 1.980275097143216e-02 1.980155858653555e-02 1.980036584235624e-02 - 1.979917273943820e-02 1.979797928262491e-02 1.979678546489206e-02 1.979559128379798e-02 1.979439674657348e-02 - 1.979320184217468e-02 1.979200656369760e-02 1.979081092352834e-02 1.978961491694981e-02 1.978841853542797e-02 - 1.978722178317891e-02 1.978602465925507e-02 1.978482715855289e-02 1.978362927697639e-02 1.978243101628911e-02 - 1.978123238058121e-02 1.978003336668686e-02 1.977883396860304e-02 1.977763418131442e-02 1.977643400902304e-02 - 1.977523345232920e-02 1.977403250607500e-02 1.977283117205557e-02 1.977162944865208e-02 1.977042732702634e-02 - 1.976922480613855e-02 1.976802188997964e-02 1.976681858355301e-02 1.976561487769950e-02 1.976441076369096e-02 - 1.976320624890566e-02 1.976200133147697e-02 1.976079600616600e-02 1.975959027757971e-02 1.975838414138116e-02 - 1.975717758909272e-02 1.975597062600439e-02 1.975476325369590e-02 1.975355546738499e-02 1.975234726242962e-02 - 1.975113863825908e-02 1.974992959762522e-02 1.974872013640206e-02 1.974751025163228e-02 1.974629994489470e-02 - 1.974508921425132e-02 1.974387805573186e-02 1.974266646519683e-02 1.974145444319864e-02 1.974024199150465e-02 - 1.973902910920840e-02 1.973781579519036e-02 1.973660204598839e-02 1.973538785240977e-02 1.973417321684443e-02 - 1.973295814730416e-02 1.973174263781577e-02 1.973052668253849e-02 1.972931027913797e-02 1.972809342747564e-02 - 1.972687612827085e-02 1.972565838187941e-02 1.972444018482310e-02 1.972322153363352e-02 1.972200242687443e-02 - 1.972078286440720e-02 1.971956284541047e-02 1.971834236691286e-02 1.971712142485657e-02 1.971590001741145e-02 - 1.971467814826898e-02 1.971345581852119e-02 1.971223302479186e-02 1.971100975804211e-02 1.970978601823674e-02 - 1.970856181065497e-02 1.970733713228995e-02 1.970611197806177e-02 1.970488634450282e-02 1.970366023582840e-02 - 1.970243364879734e-02 1.970120657299705e-02 1.969997901837739e-02 1.969875098677333e-02 1.969752246217473e-02 - 1.969629345274012e-02 1.969506396226801e-02 1.969383397141272e-02 1.969260348756574e-02 1.969137252109090e-02 - 1.969014105730648e-02 1.968890909233832e-02 1.968767662961491e-02 1.968644366805134e-02 1.968521020635475e-02 - 1.968397624286150e-02 1.968274177331172e-02 1.968150679588088e-02 1.968027131148579e-02 1.967903532058098e-02 - 1.967779882218197e-02 1.967656181292412e-02 1.967532428489620e-02 1.967408623811289e-02 1.967284768294825e-02 - 1.967160860971293e-02 1.967036900987211e-02 1.966912889102269e-02 1.966788825153749e-02 1.966664708600774e-02 - 1.966540539310703e-02 1.966416317292449e-02 1.966292042476060e-02 1.966167714455673e-02 1.966043333167102e-02 - 1.965918898702837e-02 1.965794410650064e-02 1.965669868705162e-02 1.965545272765306e-02 1.965420622710374e-02 - 1.965295918609461e-02 1.965171160585919e-02 1.965046347855766e-02 1.964921480087875e-02 1.964796557872257e-02 - 1.964671580769246e-02 1.964546548231519e-02 1.964421460325605e-02 1.964296317129598e-02 1.964171118580111e-02 - 1.964045864365522e-02 1.963920554157133e-02 1.963795187629582e-02 1.963669764477085e-02 1.963544284945441e-02 - 1.963418749362842e-02 1.963293156932153e-02 1.963167507295046e-02 1.963041800662418e-02 1.962916036936736e-02 - 1.962790216073956e-02 1.962664338014056e-02 1.962538401760687e-02 1.962412407160046e-02 1.962286355381917e-02 - 1.962160245501161e-02 1.962034076606272e-02 1.961907849332115e-02 1.961781563715828e-02 1.961655219371613e-02 - 1.961528815879130e-02 1.961402353224150e-02 1.961275831461461e-02 1.961149250160691e-02 1.961022609250104e-02 - 1.960895908768241e-02 1.960769148013132e-02 1.960642326897369e-02 1.960515445887448e-02 1.960388504699325e-02 - 1.960261502901453e-02 1.960134440209794e-02 1.960007316755673e-02 1.959880132269796e-02 1.959752885956289e-02 - 1.959625578572781e-02 1.959498210471557e-02 1.959370780282661e-02 1.959243287776576e-02 1.959115733236078e-02 - 1.958988116575855e-02 1.958860437570835e-02 1.958732696070351e-02 1.958604892230215e-02 1.958477025538254e-02 - 1.958349095293616e-02 1.958221102005211e-02 1.958093045820349e-02 1.957964926225915e-02 1.957836742427244e-02 - 1.957708494595253e-02 1.957580183693370e-02 1.957451808573694e-02 1.957323368588814e-02 1.957194864588927e-02 - 1.957066295908808e-02 1.956937661864716e-02 1.956808962863577e-02 1.956680198857452e-02 1.956551369740821e-02 - 1.956422475810978e-02 1.956293516289206e-02 1.956164490198652e-02 1.956035397935251e-02 1.955906239928264e-02 - 1.955777016187055e-02 1.955647725858155e-02 1.955518368630142e-02 1.955388944730695e-02 1.955259453790914e-02 - 1.955129895574477e-02 1.955000270138056e-02 1.954870577278503e-02 1.954740816848287e-02 1.954610988870274e-02 - 1.954481093111385e-02 1.954351129226784e-02 1.954221096901902e-02 1.954090996078360e-02 1.953960826724446e-02 - 1.953830588603245e-02 1.953700281656794e-02 1.953569905855491e-02 1.953439460897686e-02 1.953308946443935e-02 - 1.953178362233442e-02 1.953047708245082e-02 1.952916984426731e-02 1.952786190592496e-02 1.952655326324738e-02 - 1.952524391408689e-02 1.952393385929222e-02 1.952262309949111e-02 1.952131163370209e-02 1.951999945844595e-02 - 1.951868656751035e-02 1.951737295829730e-02 1.951605863555755e-02 1.951474359789877e-02 1.951342784097203e-02 - 1.951211136184995e-02 1.951079415956861e-02 1.950947623396647e-02 1.950815758387342e-02 1.950683820574165e-02 - 1.950551809587482e-02 1.950419725560715e-02 1.950287568354725e-02 1.950155337574423e-02 1.950023033242808e-02 - 1.949890655251627e-02 1.949758203322258e-02 1.949625677745909e-02 1.949493078034667e-02 1.949360402739089e-02 - 1.949227653112452e-02 1.949094829757290e-02 1.948961930480046e-02 1.948828955781861e-02 1.948695906691206e-02 - 1.948562782150981e-02 1.948429581598615e-02 1.948296304982478e-02 1.948162952319633e-02 1.948029523591830e-02 - 1.947896018726217e-02 1.947762437581102e-02 1.947628779922486e-02 1.947495045397724e-02 1.947361233489661e-02 - 1.947227344348770e-02 1.947093378593678e-02 1.946959335022997e-02 1.946825212971076e-02 1.946691013283964e-02 - 1.946556736109183e-02 1.946422381089845e-02 1.946287947598024e-02 1.946153435147304e-02 1.946018843640089e-02 - 1.945884173551620e-02 1.945749424593349e-02 1.945614596164208e-02 1.945479688244431e-02 1.945344700980195e-02 - 1.945209634356683e-02 1.945074487666461e-02 1.944939260492236e-02 1.944803952905332e-02 1.944668565282712e-02 - 1.944533097303948e-02 1.944397548026850e-02 1.944261917903520e-02 1.944126207147254e-02 1.943990414971487e-02 - 1.943854540610747e-02 1.943718584222317e-02 1.943582547177293e-02 1.943446428245481e-02 1.943310226105812e-02 - 1.943173942068859e-02 1.943037575924362e-02 1.942901126749138e-02 1.942764594793762e-02 1.942627979717840e-02 - 1.942491280913776e-02 1.942354498868186e-02 1.942217633546996e-02 1.942080684436220e-02 1.941943651933332e-02 - 1.941806535493775e-02 1.941669333695301e-02 1.941532047644210e-02 1.941394677715704e-02 1.941257222315028e-02 - 1.941119681542690e-02 1.940982056035791e-02 1.940844345901757e-02 1.940706550055424e-02 1.940568667678698e-02 - 1.940430699663802e-02 1.940292645883611e-02 1.940154505765652e-02 1.940016279578962e-02 1.939877966977487e-02 - 1.939739567223053e-02 1.939601080219835e-02 1.939462506233509e-02 1.939323845462366e-02 1.939185096971125e-02 - 1.939046260516801e-02 1.938907336764642e-02 1.938768325184633e-02 1.938629225021856e-02 1.938490035911401e-02 - 1.938350758330235e-02 1.938211392651081e-02 1.938071938447496e-02 1.937932394922459e-02 1.937792761695239e-02 - 1.937653039473651e-02 1.937513227779157e-02 1.937373325789699e-02 1.937233333934693e-02 1.937093252080456e-02 - 1.936953079702195e-02 1.936812816928827e-02 1.936672463690015e-02 1.936532019607867e-02 1.936391484345597e-02 - 1.936250857586552e-02 1.936110139138094e-02 1.935969329410197e-02 1.935828428412852e-02 1.935687435366041e-02 - 1.935546349795341e-02 1.935405171682407e-02 1.935263901452006e-02 1.935122538845629e-02 1.934981083240821e-02 - 1.934839534117787e-02 1.934697891910190e-02 1.934556156924906e-02 1.934414327695751e-02 1.934272404361874e-02 - 1.934130387854031e-02 1.933988276959641e-02 1.933846071416343e-02 1.933703771882020e-02 1.933561377409585e-02 - 1.933418887831357e-02 1.933276303945045e-02 1.933133624375953e-02 1.932990848653697e-02 1.932847978247962e-02 - 1.932705012296452e-02 1.932561949662077e-02 1.932418790536504e-02 1.932275535526071e-02 1.932132184669807e-02 - 1.931988736608416e-02 1.931845191123332e-02 1.931701548648173e-02 1.931557809132799e-02 1.931413972218449e-02 - 1.931270037603072e-02 1.931126005688787e-02 1.930981875761609e-02 1.930837646527647e-02 1.930693319154590e-02 - 1.930548893938918e-02 1.930404369700001e-02 1.930259746628386e-02 1.930115024647330e-02 1.929970202824377e-02 - 1.929825281461415e-02 1.929680260792617e-02 1.929535140092010e-02 1.929389919235001e-02 1.929244598266550e-02 - 1.929099176842190e-02 1.928953654639375e-02 1.928808031414528e-02 1.928662307035359e-02 1.928516481711372e-02 - 1.928370555611205e-02 1.928224527966380e-02 1.928078398206115e-02 1.927932166173262e-02 1.927785831899656e-02 - 1.927639395364510e-02 1.927492856464996e-02 1.927346215243780e-02 1.927199471282116e-02 1.927052623652251e-02 - 1.926905672766994e-02 1.926758618873705e-02 1.926611461056382e-02 1.926464199150991e-02 1.926316833245443e-02 - 1.926169363057714e-02 1.926021788634381e-02 1.925874109903830e-02 1.925726325940621e-02 1.925578436860509e-02 - 1.925430443199749e-02 1.925282343948819e-02 1.925134138889128e-02 1.924985828498051e-02 1.924837411847957e-02 - 1.924688888599618e-02 1.924540259377309e-02 1.924391524090012e-02 1.924242682077230e-02 1.924093732460676e-02 - 1.923944675829762e-02 1.923795512510602e-02 1.923646241448938e-02 1.923496862521413e-02 1.923347375911634e-02 - 1.923197781292445e-02 1.923048078180134e-02 1.922898266296426e-02 1.922748346006174e-02 1.922598317069195e-02 - 1.922448178990142e-02 1.922297932164773e-02 1.922147575963824e-02 1.921997109174737e-02 1.921846532805457e-02 - 1.921695846861228e-02 1.921545049993734e-02 1.921394143207274e-02 1.921243126559395e-02 1.921091998083786e-02 - 1.920940758472120e-02 1.920789408374423e-02 1.920637946562360e-02 1.920486373146851e-02 1.920334688393281e-02 - 1.920182891329169e-02 1.920030981699324e-02 1.919878959725658e-02 1.919726825432456e-02 1.919574578635056e-02 - 1.919422218928470e-02 1.919269745661605e-02 1.919117158884151e-02 1.918964459045353e-02 1.918811645370936e-02 - 1.918658717454346e-02 1.918505675553962e-02 1.918352519296369e-02 1.918199248296462e-02 1.918045862469436e-02 - 1.917892361805418e-02 1.917738746182788e-02 1.917585015265352e-02 1.917431168820606e-02 1.917277206550804e-02 - 1.917123127946213e-02 1.916968933132487e-02 1.916814622316750e-02 1.916660194885779e-02 1.916505650873668e-02 - 1.916350990423480e-02 1.916196212155291e-02 1.916041316033273e-02 1.915886303062994e-02 1.915731172194125e-02 - 1.915575922930148e-02 1.915420555876758e-02 1.915265070860661e-02 1.915109467332810e-02 1.914953744666585e-02 - 1.914797902645569e-02 1.914641941412443e-02 1.914485861314037e-02 1.914329661713828e-02 1.914173341932142e-02 - 1.914016902223032e-02 1.913860342379879e-02 1.913703662029905e-02 1.913546861279183e-02 1.913389939805644e-02 - 1.913232897075573e-02 1.913075733118505e-02 1.912918447844714e-02 1.912761040908805e-02 1.912603511839811e-02 - 1.912445860715432e-02 1.912288088009771e-02 1.912130192853472e-02 1.911972174626816e-02 1.911814033569584e-02 - 1.911655769224527e-02 1.911497381452394e-02 1.911338870990516e-02 1.911180236957772e-02 1.911021478317005e-02 - 1.910862595492130e-02 1.910703588697045e-02 1.910544457683553e-02 1.910385201685182e-02 1.910225820527016e-02 - 1.910066314375077e-02 1.909906682830796e-02 1.909746925477876e-02 1.909587042200599e-02 1.909427033688354e-02 - 1.909266899402551e-02 1.909106637643193e-02 1.908946249114346e-02 1.908785734491775e-02 1.908625093213804e-02 - 1.908464324204344e-02 1.908303427175084e-02 1.908142403234494e-02 1.907981251534393e-02 1.907819971100440e-02 - 1.907658562789714e-02 1.907497026158614e-02 1.907335360333112e-02 1.907173565762024e-02 1.907011642370295e-02 - 1.906849589616872e-02 1.906687407274958e-02 1.906525095073851e-02 1.906362652703246e-02 1.906200080112851e-02 - 1.906037377260159e-02 1.905874543999789e-02 1.905711580005939e-02 1.905548484883143e-02 1.905385258297056e-02 - 1.905221900422594e-02 1.905058411108648e-02 1.904894789413228e-02 1.904731035325132e-02 1.904567149183364e-02 - 1.904403130952197e-02 1.904238980136186e-02 1.904074696113758e-02 1.903910278612417e-02 1.903745727544392e-02 - 1.903581042868199e-02 1.903416224385271e-02 1.903251272055347e-02 1.903086185871027e-02 1.902920965236104e-02 - 1.902755609551852e-02 1.902590118543579e-02 1.902424492713456e-02 1.902258731926820e-02 1.902092835050054e-02 - 1.901926802409253e-02 1.901760634215130e-02 1.901594329530476e-02 1.901427888303375e-02 1.901261310655987e-02 - 1.901094596056572e-02 1.900927744335199e-02 1.900760755425454e-02 1.900593628837979e-02 1.900426364429972e-02 - 1.900258962310978e-02 1.900091422355684e-02 1.899923743835855e-02 1.899755925950979e-02 1.899587969656637e-02 - 1.899419874741247e-02 1.899251639645128e-02 1.899083265299966e-02 1.898914752052511e-02 1.898746098477085e-02 - 1.898577304386013e-02 1.898408369969058e-02 1.898239295076986e-02 1.898070079269564e-02 1.897900722255288e-02 - 1.897731224261929e-02 1.897561584849886e-02 1.897391803334516e-02 1.897221879605241e-02 1.897051814026927e-02 - 1.896881606767167e-02 1.896711256470153e-02 1.896540762798833e-02 1.896370126437186e-02 1.896199347193909e-02 - 1.896028424413336e-02 1.895857357350164e-02 1.895686146124061e-02 1.895514791045918e-02 1.895343292131205e-02 - 1.895171648302300e-02 1.894999858923527e-02 1.894827924721451e-02 1.894655845419708e-02 1.894483620522033e-02 - 1.894311250187257e-02 1.894138733732357e-02 1.893966070463249e-02 1.893793261072514e-02 1.893620305335951e-02 - 1.893447202418282e-02 1.893273952309081e-02 1.893100555094376e-02 1.892927010627177e-02 1.892753318110494e-02 - 1.892579477108063e-02 1.892405487784487e-02 1.892231350329449e-02 1.892057064453369e-02 1.891882629307712e-02 - 1.891708044683251e-02 1.891533310610873e-02 1.891358427035544e-02 1.891183393696100e-02 1.891008210291091e-02 - 1.890832876617924e-02 1.890657392211156e-02 1.890481756749361e-02 1.890305970669826e-02 1.890130033664154e-02 - 1.889953944876527e-02 1.889777703845312e-02 1.889601310905792e-02 1.889424766560776e-02 1.889248069356991e-02 - 1.889071219005931e-02 1.888894216610460e-02 1.888717060771540e-02 1.888539750970531e-02 1.888362288621832e-02 - 1.888184672351093e-02 1.888006901097801e-02 1.887828976119468e-02 1.887650896887177e-02 1.887472662448569e-02 - 1.887294273026847e-02 1.887115728373587e-02 1.886937028132879e-02 1.886758172601296e-02 1.886579161241305e-02 - 1.886399993232671e-02 1.886220669095003e-02 1.886041188581822e-02 1.885861550746470e-02 1.885681755698847e-02 - 1.885501803485419e-02 1.885321693733238e-02 1.885141425906957e-02 1.884960999916156e-02 1.884780416185130e-02 - 1.884599674103886e-02 1.884418772927479e-02 1.884237712445391e-02 1.884056492700234e-02 1.883875113673901e-02 - 1.883693574995443e-02 1.883511876102816e-02 1.883330016667216e-02 1.883147997149076e-02 1.882965817385698e-02 - 1.882783476601560e-02 1.882600973926643e-02 1.882418309568715e-02 1.882235484340025e-02 1.882052497417560e-02 - 1.881869348031539e-02 1.881686035975185e-02 1.881502561164409e-02 1.881318923741505e-02 1.881135123913003e-02 - 1.880951160558249e-02 1.880767032900146e-02 1.880582741534564e-02 1.880398286136111e-02 1.880213666245483e-02 - 1.880028882149621e-02 1.879843933370182e-02 1.879658819228311e-02 1.879473539862031e-02 1.879288094991765e-02 - 1.879102484097325e-02 1.878916707209326e-02 1.878730764191372e-02 1.878544654683108e-02 1.878358378459472e-02 - 1.878171935183507e-02 1.877985324430765e-02 1.877798546179407e-02 1.877611600228067e-02 1.877424486050507e-02 - 1.877237203778229e-02 1.877049753324887e-02 1.876862133863330e-02 1.876674345293673e-02 1.876486387617420e-02 - 1.876298260257535e-02 1.876109963059111e-02 1.875921496034764e-02 1.875732858848502e-02 1.875544051216185e-02 - 1.875355072885378e-02 1.875165923449702e-02 1.874976602623304e-02 1.874787110336161e-02 1.874597446797304e-02 - 1.874407611425766e-02 1.874217603022874e-02 1.874027422146802e-02 1.873837068906284e-02 1.873646542198345e-02 - 1.873455842189881e-02 1.873264969164939e-02 1.873073922656172e-02 1.872882701964194e-02 1.872691306648714e-02 - 1.872499736923527e-02 1.872307992509612e-02 1.872116072949887e-02 1.871923978227258e-02 1.871731708186487e-02 - 1.871539262387551e-02 1.871346640021372e-02 1.871153841041527e-02 1.870960865979342e-02 1.870767714578883e-02 - 1.870574386089293e-02 1.870380879685916e-02 1.870187195798613e-02 1.869993334446320e-02 1.869799294696750e-02 - 1.869605076691687e-02 1.869410680376838e-02 1.869216104730458e-02 1.869021349836844e-02 1.868826416022470e-02 - 1.868631302853863e-02 1.868436009644664e-02 1.868240535897862e-02 1.868044881818047e-02 1.867849047172725e-02 - 1.867653031474529e-02 1.867456834731333e-02 1.867260456736053e-02 1.867063897034608e-02 1.866867155351236e-02 - 1.866670231459311e-02 1.866473125095620e-02 1.866275835809391e-02 1.866078363356833e-02 1.865880707775009e-02 - 1.865682868564128e-02 1.865484845476688e-02 1.865286638889887e-02 1.865088247751579e-02 1.864889671303901e-02 - 1.864690910747520e-02 1.864491965354244e-02 1.864292833855512e-02 1.864093516946379e-02 1.863894014384585e-02 - 1.863694325319922e-02 1.863494449952898e-02 1.863294388193027e-02 1.863094139526787e-02 1.862893703607748e-02 - 1.862693080034535e-02 1.862492268387857e-02 1.862291268732941e-02 1.862090081042848e-02 1.861888704957227e-02 - 1.861687140151818e-02 1.861485386231105e-02 1.861283442704270e-02 1.861081309610335e-02 1.860878986806025e-02 - 1.860676473338590e-02 1.860473769529663e-02 1.860270875778476e-02 1.860067790615180e-02 1.859864513789995e-02 - 1.859661045850656e-02 1.859457386260990e-02 1.859253534675110e-02 1.859049490946049e-02 1.858845254228221e-02 - 1.858640824383296e-02 1.858436201966219e-02 1.858231386031445e-02 1.858026376148910e-02 1.857821173011040e-02 - 1.857615775674864e-02 1.857410183289329e-02 1.857204396224591e-02 1.856998414158087e-02 1.856792236630606e-02 - 1.856585863699762e-02 1.856379295088432e-02 1.856172530348682e-02 1.855965569223371e-02 1.855758411493529e-02 - 1.855551056872843e-02 1.855343504862798e-02 1.855135755357239e-02 1.854927808391809e-02 1.854719662999937e-02 - 1.854511318947389e-02 1.854302776884543e-02 1.854094036342127e-02 1.853885096469986e-02 1.853675956540365e-02 - 1.853466616668727e-02 1.853257077183708e-02 1.853047338096206e-02 1.852837398473379e-02 1.852627257507170e-02 - 1.852416915520061e-02 1.852206372211816e-02 1.851995627104085e-02 1.851784680396669e-02 1.851573531468755e-02 - 1.851362179508880e-02 1.851150625260910e-02 1.850938868433302e-02 1.850726907790290e-02 1.850514743267316e-02 - 1.850302375022463e-02 1.850089802974987e-02 1.849877026321467e-02 1.849664044568886e-02 1.849450857919205e-02 - 1.849237466328984e-02 1.849023869225825e-02 1.848810065567833e-02 1.848596056072587e-02 1.848381841125062e-02 - 1.848167418759208e-02 1.847952788817062e-02 1.847737952020788e-02 1.847522908039946e-02 1.847307656165976e-02 - 1.847092195736722e-02 1.846876526733367e-02 1.846660649126623e-02 1.846444562782898e-02 1.846228267641075e-02 - 1.846011763022634e-02 1.845795047822359e-02 1.845578122357826e-02 1.845360986824314e-02 1.845143640646702e-02 - 1.844926083412144e-02 1.844708314829677e-02 1.844490334652741e-02 1.844272142526039e-02 1.844053738232335e-02 - 1.843835121884711e-02 1.843616292877729e-02 1.843397250473794e-02 1.843177994759022e-02 1.842958525561723e-02 - 1.842738842512387e-02 1.842518945510765e-02 1.842298833954339e-02 1.842078507029563e-02 1.841857965103055e-02 - 1.841637208298309e-02 1.841416236088061e-02 1.841195047731196e-02 1.840973642948215e-02 1.840752022011446e-02 - 1.840530184216091e-02 1.840308128892246e-02 1.840085856103635e-02 1.839863365911139e-02 1.839640658087383e-02 - 1.839417731924000e-02 1.839194587083986e-02 1.838971223370895e-02 1.838747640300020e-02 1.838523837692452e-02 - 1.838299815548432e-02 1.838075573582631e-02 1.837851111106092e-02 1.837626427462707e-02 1.837401523350234e-02 - 1.837176398539980e-02 1.836951051641877e-02 1.836725482529124e-02 1.836499691387402e-02 1.836273678151691e-02 - 1.836047442118306e-02 1.835820982858270e-02 1.835594300692513e-02 1.835367394977665e-02 1.835140264983480e-02 - 1.834912910825698e-02 1.834685332362546e-02 1.834457529066184e-02 1.834229500068380e-02 1.834001245612868e-02 - 1.833772766191195e-02 1.833544060380268e-02 1.833315127769170e-02 1.833085968975407e-02 1.832856583633842e-02 - 1.832626971106521e-02 1.832397130817964e-02 1.832167062581619e-02 1.831936766045366e-02 1.831706240632338e-02 - 1.831475486820015e-02 1.831244504576387e-02 1.831013292472488e-02 1.830781850356614e-02 1.830550178468002e-02 - 1.830318276421879e-02 1.830086143845657e-02 1.829853780375753e-02 1.829621185558813e-02 1.829388359300937e-02 - 1.829155301569956e-02 1.828922011662799e-02 1.828688489153528e-02 1.828454733892483e-02 1.828220745351499e-02 - 1.827986523367206e-02 1.827752068069898e-02 1.827517378500067e-02 1.827282454323407e-02 1.827047296291425e-02 - 1.826811903643735e-02 1.826576275326505e-02 1.826340410954280e-02 1.826104310998728e-02 1.825867975496676e-02 - 1.825631402943589e-02 1.825394593365713e-02 1.825157547349511e-02 1.824920264235266e-02 1.824682743095013e-02 - 1.824444983334214e-02 1.824206985531418e-02 1.823968749396920e-02 1.823730273947125e-02 1.823491559405069e-02 - 1.823252605635143e-02 1.823013411851380e-02 1.822773977727079e-02 1.822534302885856e-02 1.822294386817581e-02 - 1.822054229933361e-02 1.821813832218229e-02 1.821573192447362e-02 1.821332310276354e-02 1.821091185568656e-02 - 1.820849817689734e-02 1.820608206836350e-02 1.820366353310689e-02 1.820124256311412e-02 1.819881915016099e-02 - 1.819639328969794e-02 1.819396498477247e-02 1.819153423068764e-02 1.818910101812068e-02 1.818666535246774e-02 - 1.818422723286477e-02 1.818178664914423e-02 1.817934360000525e-02 1.817689808189780e-02 1.817445008627356e-02 - 1.817199961756547e-02 1.816954667558178e-02 1.816709124568389e-02 1.816463332917677e-02 1.816217292950077e-02 - 1.815971003769815e-02 1.815724465123547e-02 1.815477676809149e-02 1.815230637650250e-02 1.814983348051392e-02 - 1.814735808823705e-02 1.814488018072306e-02 1.814239975267995e-02 1.813991681262074e-02 1.813743135508509e-02 - 1.813494337086823e-02 1.813245285281114e-02 1.812995980445686e-02 1.812746422731492e-02 1.812496611573551e-02 - 1.812246546481565e-02 1.811996226848969e-02 1.811745651920204e-02 1.811494821957559e-02 1.811243737133842e-02 - 1.810992396481434e-02 1.810740799805441e-02 1.810488947142559e-02 1.810236837745802e-02 1.809984471224923e-02 - 1.809731847419077e-02 1.809478965788605e-02 1.809225826197647e-02 1.808972428730369e-02 1.808718772623545e-02 - 1.808464857219165e-02 1.808210682315950e-02 1.807956248210254e-02 1.807701554512131e-02 1.807446599893149e-02 - 1.807191384222250e-02 1.806935907649996e-02 1.806680169977935e-02 1.806424171112906e-02 1.806167910639137e-02 - 1.805911387430984e-02 1.805654601234490e-02 1.805397552118165e-02 1.805140239539148e-02 1.804882663464111e-02 - 1.804624823872755e-02 1.804366719439020e-02 1.804108350087335e-02 1.803849716547347e-02 1.803590817366155e-02 - 1.803331652090480e-02 1.803072221546651e-02 1.802812524400898e-02 1.802552559998909e-02 1.802292329257977e-02 - 1.802031831251088e-02 1.801771065083283e-02 1.801510031065072e-02 1.801248728509480e-02 1.800987156794499e-02 - 1.800725316456288e-02 1.800463207196059e-02 1.800200828229563e-02 1.799938179038418e-02 1.799675259135415e-02 - 1.799412068157979e-02 1.799148606152016e-02 1.798884872978088e-02 1.798620868169797e-02 1.798356590941466e-02 - 1.798092041139825e-02 1.797827219073602e-02 1.797562123473000e-02 1.797296753674024e-02 1.797031110360818e-02 - 1.796765193280976e-02 1.796499001786419e-02 1.796232535287627e-02 1.795965793501132e-02 1.795698776183851e-02 - 1.795431482887613e-02 1.795163913285315e-02 1.794896067070983e-02 1.794627943785036e-02 1.794359543174794e-02 - 1.794090865000600e-02 1.793821908548673e-02 1.793552673496832e-02 1.793283159877326e-02 1.793013367385930e-02 - 1.792743295577707e-02 1.792472944026945e-02 1.792202312682011e-02 1.791931400976357e-02 1.791660207728341e-02 - 1.791388733234035e-02 1.791116977642004e-02 1.790844939977351e-02 1.790572620127331e-02 1.790300018053203e-02 - 1.790027132960331e-02 1.789753964610457e-02 1.789480512776976e-02 1.789206776371137e-02 1.788932755546883e-02 - 1.788658450796398e-02 1.788383860557862e-02 1.788108984645815e-02 1.787833823870088e-02 1.787558376650758e-02 - 1.787282642238153e-02 1.787006621288861e-02 1.786730313584615e-02 1.786453718506033e-02 1.786176835331611e-02 - 1.785899663566110e-02 1.785622203220682e-02 1.785344454733639e-02 1.785066416506327e-02 1.784788087479271e-02 - 1.784509469481547e-02 1.784230561688990e-02 1.783951362363962e-02 1.783671871969004e-02 1.783392090351773e-02 - 1.783112016693977e-02 1.782831650359620e-02 1.782550991644932e-02 1.782270041052123e-02 1.781988796773664e-02 - 1.781707258188517e-02 1.781425426228424e-02 1.781143299909701e-02 1.780860878344276e-02 1.780578161636334e-02 - 1.780295150019453e-02 1.780011843142990e-02 1.779728239750767e-02 1.779444339320670e-02 1.779160141853593e-02 - 1.778875647528820e-02 1.778590855799184e-02 1.778305765851556e-02 1.778020377358821e-02 1.777734690358035e-02 - 1.777448704738365e-02 1.777162419310320e-02 1.776875833746895e-02 1.776588948369731e-02 1.776301762263940e-02 - 1.776014274927566e-02 1.775726486578331e-02 1.775438397030816e-02 1.775150005486545e-02 1.774861310790110e-02 - 1.774572313526677e-02 1.774283013776283e-02 1.773993409898065e-02 1.773703502220879e-02 1.773413291089222e-02 - 1.773122774923129e-02 1.772831953604024e-02 1.772540827370780e-02 1.772249394894422e-02 1.771957656009896e-02 - 1.771665611194296e-02 1.771373259698992e-02 1.771080600888477e-02 1.770787634473108e-02 1.770494360249459e-02 - 1.770200777818149e-02 1.769906886558849e-02 1.769612685929023e-02 1.769318175770428e-02 1.769023356261796e-02 - 1.768728226707501e-02 1.768432786370409e-02 1.768137035050212e-02 1.767840972761326e-02 1.767544598996190e-02 - 1.767247912224100e-02 1.766950912887429e-02 1.766653601772543e-02 1.766355977437013e-02 1.766058039164660e-02 - 1.765759786981226e-02 1.765461220736955e-02 1.765162339764906e-02 1.764863143247870e-02 1.764563631444012e-02 - 1.764263804044564e-02 1.763963660052613e-02 1.763663199590508e-02 1.763362422648862e-02 1.763061328532627e-02 - 1.762759916389677e-02 1.762458185742205e-02 1.762156136756127e-02 1.761853769290762e-02 1.761551082691653e-02 - 1.761248075761478e-02 1.760944748669641e-02 1.760641101894919e-02 1.760337134551661e-02 1.760032845807722e-02 - 1.759728235211478e-02 1.759423302856655e-02 1.759118048266074e-02 1.758812470690578e-02 1.758506570645847e-02 - 1.758200347417691e-02 1.757893799151254e-02 1.757586926700291e-02 1.757279730534286e-02 1.756972209521438e-02 - 1.756664362962799e-02 1.756356190543487e-02 1.756047692143249e-02 1.755738866974527e-02 1.755429714394244e-02 - 1.755120234663686e-02 1.754810427470094e-02 1.754500292288027e-02 1.754189829041229e-02 1.753879037098419e-02 - 1.753567915477636e-02 1.753256463576890e-02 1.752944681640228e-02 1.752632570156945e-02 1.752320127895599e-02 - 1.752007354011609e-02 1.751694248500407e-02 1.751380811099548e-02 1.751067041466748e-02 1.750752939229762e-02 - 1.750438503712632e-02 1.750123734468025e-02 1.749808631552286e-02 1.749493194526630e-02 1.749177422703599e-02 - 1.748861315463852e-02 1.748544872591071e-02 1.748228094036503e-02 1.747910979560325e-02 1.747593528635296e-02 - 1.747275740493088e-02 1.746957614261004e-02 1.746639150171011e-02 1.746320348827029e-02 1.746001208402579e-02 - 1.745681728232032e-02 1.745361909228664e-02 1.745041750587895e-02 1.744721251527593e-02 1.744400411995098e-02 - 1.744079231626219e-02 1.743757709612158e-02 1.743435844889677e-02 1.743113638300998e-02 1.742791090294012e-02 - 1.742468198827393e-02 1.742144963687445e-02 1.741821385208018e-02 1.741497462017237e-02 1.741173194001650e-02 - 1.740848581625378e-02 1.740523623716524e-02 1.740198319673262e-02 1.739872669626729e-02 1.739546673433575e-02 - 1.739220330474240e-02 1.738893639777237e-02 1.738566600801745e-02 1.738239213410604e-02 1.737911477739739e-02 - 1.737583393441487e-02 1.737254959973500e-02 1.736926176792087e-02 1.736597043319887e-02 1.736267559029083e-02 - 1.735937723525189e-02 1.735607536431420e-02 1.735276997535949e-02 1.734946106967137e-02 1.734614863942214e-02 - 1.734283267462293e-02 1.733951317984790e-02 1.733619014933173e-02 1.733286356952035e-02 1.732953344236944e-02 - 1.732619976822115e-02 1.732286254123125e-02 1.731952175476255e-02 1.731617740506982e-02 1.731282949118149e-02 - 1.730947800429541e-02 1.730612293897103e-02 1.730276429900506e-02 1.729940207772190e-02 1.729603626710180e-02 - 1.729266686687025e-02 1.728929387127552e-02 1.728591727431661e-02 1.728253707811547e-02 1.727915327486350e-02 - 1.727576585445017e-02 1.727237482415143e-02 1.726898017713387e-02 1.726558189725253e-02 1.726217999255776e-02 - 1.725877446141184e-02 1.725536528836806e-02 1.725195247427305e-02 1.724853602088567e-02 1.724511592318061e-02 - 1.724169217016580e-02 1.723826475637563e-02 1.723483368674653e-02 1.723139894995541e-02 1.722796053633534e-02 - 1.722451845482723e-02 1.722107270070567e-02 1.721762326419149e-02 1.721417014587169e-02 1.721071333868621e-02 - 1.720725283251134e-02 1.720378862838028e-02 1.720032072298445e-02 1.719684910908383e-02 1.719337378669194e-02 - 1.718989475327181e-02 1.718641200187306e-02 1.718292552719872e-02 1.717943532374793e-02 1.717594138625576e-02 - 1.717244371734551e-02 1.716894231509765e-02 1.716543716617480e-02 1.716192826455456e-02 1.715841561099909e-02 - 1.715489920993168e-02 1.715137904713604e-02 1.714785510917266e-02 1.714432741097788e-02 1.714079594608009e-02 - 1.713726069602739e-02 1.713372166332687e-02 1.713017885016558e-02 1.712663225240283e-02 1.712308185705881e-02 - 1.711952765873538e-02 1.711596966109396e-02 1.711240786053498e-02 1.710884225051524e-02 1.710527282476134e-02 - 1.710169958307061e-02 1.709812252022495e-02 1.709454162136748e-02 1.709095688985418e-02 1.708736832996113e-02 - 1.708377593024533e-02 1.708017968752960e-02 1.707657960032946e-02 1.707297565703870e-02 1.706936785401023e-02 - 1.706575619189593e-02 1.706214066346443e-02 1.705852126552140e-02 1.705489799818787e-02 1.705127085519305e-02 - 1.704763983091843e-02 1.704400492089210e-02 1.704036611449886e-02 1.703672340943711e-02 1.703307681394708e-02 - 1.702942631772786e-02 1.702577190966809e-02 1.702211358937508e-02 1.701845135582294e-02 1.701478520463906e-02 - 1.701111512687454e-02 1.700744111902223e-02 1.700376317991698e-02 1.700008130526762e-02 1.699639548886451e-02 - 1.699270572517141e-02 1.698901201362202e-02 1.698531434790372e-02 1.698161271901581e-02 1.697790713038581e-02 - 1.697419757947398e-02 1.697048405591379e-02 1.696676655885514e-02 1.696304508413142e-02 1.695931962055792e-02 - 1.695559016575875e-02 1.695185672007940e-02 1.694811928170539e-02 1.694437784303563e-02 1.694063239701608e-02 - 1.693688294268234e-02 1.693312947555357e-02 1.692937198914621e-02 1.692561047849961e-02 1.692184494218333e-02 - 1.691807537819241e-02 1.691430177590003e-02 1.691052413380094e-02 1.690674245501956e-02 1.690295672392027e-02 - 1.689916693403359e-02 1.689537309141036e-02 1.689157519031890e-02 1.688777322481082e-02 1.688396719247375e-02 - 1.688015708323470e-02 1.687634289028026e-02 1.687252461641300e-02 1.686870225976892e-02 1.686487581335405e-02 - 1.686104526641643e-02 1.685721061978611e-02 1.685337187596560e-02 1.684952902423863e-02 1.684568205626177e-02 - 1.684183096806695e-02 1.683797575916921e-02 1.683411642637722e-02 1.683025296370582e-02 1.682638536598722e-02 - 1.682251363071521e-02 1.681863775630957e-02 1.681475773295268e-02 1.681087355358095e-02 1.680698521822956e-02 - 1.680309272743823e-02 1.679919607564722e-02 1.679529524908240e-02 1.679139024683375e-02 1.678748107079098e-02 - 1.678356771499038e-02 1.677965016895157e-02 1.677572842703558e-02 1.677180249929987e-02 1.676787237703614e-02 - 1.676393804299063e-02 1.675999950051788e-02 1.675605674951069e-02 1.675210978219402e-02 1.674815858725950e-02 - 1.674420316518524e-02 1.674024352454331e-02 1.673627964747038e-02 1.673231152527195e-02 1.672833916857912e-02 - 1.672436256552257e-02 1.672038170373856e-02 1.671639658470834e-02 1.671240720840105e-02 1.670841357063555e-02 - 1.670441566220705e-02 1.670041347959014e-02 1.669640702110204e-02 1.669239628051189e-02 1.668838125191250e-02 - 1.668436193143650e-02 1.668033831890629e-02 1.667631040878886e-02 1.667227819212758e-02 1.666824166734860e-02 - 1.666420083129591e-02 1.666015567735254e-02 1.665610620005455e-02 1.665205239678242e-02 1.664799426695549e-02 - 1.664393180284348e-02 1.663986499713315e-02 1.663579384792829e-02 1.663171835503466e-02 1.662763851356003e-02 - 1.662355430939835e-02 1.661946574092143e-02 1.661537281150426e-02 1.661127551677910e-02 1.660717384720702e-02 - 1.660306779425839e-02 1.659895736095696e-02 1.659484254425630e-02 1.659072333444665e-02 1.658659972465595e-02 - 1.658247171530552e-02 1.657833931027815e-02 1.657420249617699e-02 1.657006126301349e-02 1.656591561144095e-02 - 1.656176553662080e-02 1.655761103381663e-02 1.655345210211223e-02 1.654928873901935e-02 1.654512093811135e-02 - 1.654094868807454e-02 1.653677198858015e-02 1.653259084096055e-02 1.652840523447503e-02 1.652421516561530e-02 - 1.652002063436291e-02 1.651582163151349e-02 1.651161815099949e-02 1.650741019156900e-02 1.650319775344297e-02 - 1.649898082810461e-02 1.649475940168675e-02 1.649053348141889e-02 1.648630306850305e-02 1.648206814836095e-02 - 1.647782871114676e-02 1.647358475732917e-02 1.646933629656457e-02 1.646508330893651e-02 1.646082578033714e-02 - 1.645656373337251e-02 1.645229715576629e-02 1.644802602626009e-02 1.644375035674409e-02 1.643947014097659e-02 - 1.643518536281393e-02 1.643089602671802e-02 1.642660213310334e-02 1.642230367492405e-02 1.641800064388943e-02 - 1.641369303446324e-02 1.640938084474308e-02 1.640506407467653e-02 1.640074271742540e-02 1.639641675907646e-02 - 1.639208620097271e-02 1.638775104513307e-02 1.638341128505268e-02 1.637906691499287e-02 1.637471792980197e-02 - 1.637036432400064e-02 1.636600609175647e-02 1.636164322915392e-02 1.635727573684415e-02 1.635290360792794e-02 - 1.634852683359730e-02 1.634414541697593e-02 1.633975935494602e-02 1.633536863669590e-02 1.633097325119221e-02 - 1.632657319870386e-02 1.632216848742881e-02 1.631775910539292e-02 1.631334504210032e-02 1.630892629731235e-02 - 1.630450287107613e-02 1.630007475715268e-02 1.629564194133085e-02 1.629120442381021e-02 1.628676220752001e-02 - 1.628231528645751e-02 1.627786365361661e-02 1.627340730437480e-02 1.626894623909321e-02 1.626448044809207e-02 - 1.626000991935131e-02 1.625553465710418e-02 1.625105466086324e-02 1.624656992364918e-02 1.624208044008659e-02 - 1.623758620493278e-02 1.623308721259990e-02 1.622858345750622e-02 1.622407493651434e-02 1.621956164908100e-02 - 1.621504359102545e-02 1.621052075671857e-02 1.620599314061202e-02 1.620146073758967e-02 1.619692354185834e-02 - 1.619238154678624e-02 1.618783475477294e-02 1.618328316706134e-02 1.617872676957040e-02 1.617416555535298e-02 - 1.616959952441603e-02 1.616502867670949e-02 1.616045300241566e-02 1.615587248863419e-02 1.615128714307292e-02 - 1.614669696726644e-02 1.614210195036420e-02 1.613750207990814e-02 1.613289735436475e-02 1.612828778261194e-02 - 1.612367334765880e-02 1.611905403879705e-02 1.611442986870223e-02 1.610980082722066e-02 1.610516690212456e-02 - 1.610052809916244e-02 1.609588441136000e-02 1.609123582829610e-02 1.608658235171540e-02 1.608192397521171e-02 - 1.607726068992654e-02 1.607259250083978e-02 1.606791940362701e-02 1.606324138657220e-02 1.605855844962495e-02 - 1.605387058768025e-02 1.604917779011535e-02 1.604448006054786e-02 1.603977739874237e-02 1.603506979420087e-02 - 1.603035723984084e-02 1.602563973257448e-02 1.602091727188371e-02 1.601618984720332e-02 1.601145745295015e-02 - 1.600672010067149e-02 1.600197777942985e-02 1.599723047266619e-02 1.599247818462375e-02 1.598772091449355e-02 - 1.598295865408641e-02 1.597819139147786e-02 1.597341912912636e-02 1.596864187530068e-02 1.596385961058315e-02 - 1.595907232771693e-02 1.595428003613896e-02 1.594948272828454e-02 1.594468039178993e-02 1.593987301780130e-02 - 1.593506061365002e-02 1.593024318102167e-02 1.592542070422077e-02 1.592059317798925e-02 1.591576060279083e-02 - 1.591092297799217e-02 1.590608029141302e-02 1.590123253274349e-02 1.589637971157846e-02 1.589152182656434e-02 - 1.588665886609507e-02 1.588179081847464e-02 1.587691768450550e-02 1.587203947045915e-02 1.586715616213467e-02 - 1.586226775168990e-02 1.585737424168921e-02 1.585247562649581e-02 1.584757190117160e-02 1.584266306445842e-02 - 1.583774911091078e-02 1.583283003450806e-02 1.582790583090947e-02 1.582297649499978e-02 1.581804202355953e-02 - 1.581310241701619e-02 1.580815766650671e-02 1.580320776320766e-02 1.579825271139450e-02 1.579329250537274e-02 - 1.578832713506978e-02 1.578335660262603e-02 1.577838090296324e-02 1.577340002574811e-02 1.576841397243399e-02 - 1.576342274326813e-02 1.575842633194578e-02 1.575342472205075e-02 1.574841791148685e-02 1.574340591569888e-02 - 1.573838872006093e-02 1.573336631006632e-02 1.572833869008299e-02 1.572330586230670e-02 1.571826781924578e-02 - 1.571322454052314e-02 1.570817603062760e-02 1.570312230059812e-02 1.569806333998715e-02 1.569299913693516e-02 - 1.568792968457186e-02 1.568285498663007e-02 1.567777503779379e-02 1.567268982728102e-02 1.566759935997030e-02 - 1.566250363482262e-02 1.565740264102256e-02 1.565229637077196e-02 1.564718482295817e-02 1.564206800099241e-02 - 1.563694589151567e-02 1.563181848599405e-02 1.562668579194260e-02 1.562154780177149e-02 1.561640450642917e-02 - 1.561125590888111e-02 1.560610200797837e-02 1.560094279515962e-02 1.559577825343192e-02 1.559060838842812e-02 - 1.558543321151646e-02 1.558025270088283e-02 1.557506685188879e-02 1.556987567405825e-02 1.556467915294808e-02 - 1.555947727806998e-02 1.555427005014520e-02 1.554905747326830e-02 1.554383954557267e-02 1.553861625685508e-02 - 1.553338760005679e-02 1.552815357203842e-02 1.552291417232042e-02 1.551766939022104e-02 1.551241921985975e-02 - 1.550716367246923e-02 1.550190274051892e-02 1.549663640983429e-02 1.549136467943576e-02 1.548608754911306e-02 - 1.548080501516420e-02 1.547551706650131e-02 1.547022370107663e-02 1.546492492363977e-02 1.545962073006300e-02 - 1.545431111106912e-02 1.544899605692932e-02 1.544367557060635e-02 1.543834964941066e-02 1.543301828099291e-02 - 1.542768146907574e-02 1.542233921474585e-02 1.541699150599057e-02 1.541163833967913e-02 1.540627971422265e-02 - 1.540091562222576e-02 1.539554606062004e-02 1.539017102808156e-02 1.538479052048013e-02 1.537940453376258e-02 - 1.537401306270197e-02 1.536861609811398e-02 1.536321364249661e-02 1.535780570199338e-02 1.535239225620149e-02 - 1.534697329939463e-02 1.534154884369051e-02 1.533611887960563e-02 1.533068339829330e-02 1.532524239983298e-02 - 1.531979587995433e-02 1.531434383110085e-02 1.530888624554550e-02 1.530342313142362e-02 1.529795449144603e-02 - 1.529248030485156e-02 1.528700056732233e-02 1.528151528324413e-02 1.527602445059826e-02 1.527052806021316e-02 - 1.526502610370102e-02 1.525951858764995e-02 1.525400550804322e-02 1.524848685322667e-02 1.524296262660809e-02 - 1.523743282528689e-02 1.523189743753784e-02 1.522635646012132e-02 1.522080989370855e-02 1.521525773883866e-02 - 1.520969998584297e-02 1.520413662809972e-02 1.519856766896251e-02 1.519299310438481e-02 1.518741292689401e-02 - 1.518182713051541e-02 1.517623571498702e-02 1.517063867977171e-02 1.516503601659771e-02 1.515942772580205e-02 - 1.515381380882217e-02 1.514819425008754e-02 1.514256904339338e-02 1.513693819284546e-02 1.513130169987854e-02 - 1.512565955837021e-02 1.512001175774349e-02 1.511435830052952e-02 1.510869918485496e-02 1.510303439909880e-02 - 1.509736393861015e-02 1.509168780464220e-02 1.508600600178219e-02 1.508031852355242e-02 1.507462535986425e-02 - 1.506892650464710e-02 1.506322195838325e-02 1.505751172137055e-02 1.505179578553525e-02 1.504607414992266e-02 - 1.504034681527993e-02 1.503461377008154e-02 1.502887501067205e-02 1.502313053999477e-02 1.501738035243006e-02 - 1.501162444030474e-02 1.500586279803602e-02 1.500009542963074e-02 1.499432233574762e-02 1.498854350912934e-02 - 1.498275894315130e-02 1.497696863387312e-02 1.497117258012378e-02 1.496537077480856e-02 1.495956321394884e-02 - 1.495374990400090e-02 1.494793083920974e-02 1.494210600904758e-02 1.493627541059610e-02 1.493043904648383e-02 - 1.492459691659297e-02 1.491874900408085e-02 1.491289530722370e-02 1.490703583623931e-02 1.490117058646935e-02 - 1.489529954725381e-02 1.488942270892006e-02 1.488354007804980e-02 1.487765165385858e-02 1.487175742273507e-02 - 1.486585738883519e-02 1.485995155398175e-02 1.485403990610964e-02 1.484812243988829e-02 1.484219915557141e-02 - 1.483627005584607e-02 1.483033513203473e-02 1.482439437542072e-02 1.481844779264578e-02 1.481249538141862e-02 - 1.480653713381494e-02 1.480057304868135e-02 1.479460312202780e-02 1.478862734716873e-02 1.478264572087699e-02 - 1.477665824308106e-02 1.477066491441443e-02 1.476466572742758e-02 1.475866067903805e-02 1.475264977269339e-02 - 1.474663299844858e-02 1.474061034872640e-02 1.473458182710518e-02 1.472854743115566e-02 1.472250715651883e-02 - 1.471646100132783e-02 1.471040896256117e-02 1.470435103749897e-02 1.469828722554372e-02 1.469221751827344e-02 - 1.468614190646898e-02 1.468006039547928e-02 1.467397298615093e-02 1.466787967378610e-02 1.466178045636883e-02 - 1.465567533041493e-02 1.464956428982840e-02 1.464344732703370e-02 1.463732444018100e-02 1.463119563426315e-02 - 1.462506090797482e-02 1.461892025637629e-02 1.461277367320199e-02 1.460662115516677e-02 1.460046270026797e-02 - 1.459429830605704e-02 1.458812796887011e-02 1.458195168595082e-02 1.457576945823491e-02 1.456958128559711e-02 - 1.456338716422361e-02 1.455718708308891e-02 1.455098103823577e-02 1.454476903226018e-02 1.453855106504101e-02 - 1.453232713525658e-02 1.452609724028033e-02 1.451986137384772e-02 1.451361953112174e-02 1.450737171027855e-02 - 1.450111790831084e-02 1.449485812287890e-02 1.448859235383744e-02 1.448232060352556e-02 1.447604287018101e-02 - 1.446975914267516e-02 1.446346941597466e-02 1.445717368938523e-02 1.445087196279080e-02 1.444456423724572e-02 - 1.443825051237331e-02 1.443193078136921e-02 1.442560503975330e-02 1.441927328581930e-02 1.441293551683267e-02 - 1.440659172970616e-02 1.440024192165075e-02 1.439388609177658e-02 1.438752424156573e-02 1.438115637277796e-02 - 1.437478247503487e-02 1.436840254149195e-02 1.436201657648160e-02 1.435562457263202e-02 1.434922652522855e-02 - 1.434282244486077e-02 1.433641232984850e-02 1.432999617114929e-02 1.432357396196595e-02 1.431714570255755e-02 - 1.431071139387867e-02 1.430427102559402e-02 1.429782460021014e-02 1.429137212732056e-02 1.428491359501307e-02 - 1.427844899676062e-02 1.427197833606156e-02 1.426550161130239e-02 1.425901881685885e-02 1.425252994564961e-02 - 1.424603499980085e-02 1.423953398385027e-02 1.423302689906778e-02 1.422651373475527e-02 1.421999448399202e-02 - 1.421346915585374e-02 1.420693774198730e-02 1.420040023237321e-02 1.419385663850131e-02 1.418730696003290e-02 - 1.418075118751426e-02 1.417418931634679e-02 1.416762135086922e-02 1.416104729584521e-02 1.415446713263836e-02 - 1.414788085973522e-02 1.414128849363525e-02 1.413469002361970e-02 1.412808544052846e-02 1.412147474772301e-02 - 1.411485794712882e-02 1.410823503604182e-02 1.410160600672222e-02 1.409497085818714e-02 1.408832959214252e-02 - 1.408168220875668e-02 1.407502870564407e-02 1.406836907961611e-02 1.406170332864153e-02 1.405503144837146e-02 - 1.404835343608425e-02 1.404166929852345e-02 1.403497903248639e-02 1.402828262916828e-02 1.402158009603205e-02 - 1.401487143048169e-02 1.400815661918214e-02 1.400143566703935e-02 1.399470857625501e-02 1.398797534046779e-02 - 1.398123596549795e-02 1.397449045134991e-02 1.396773878380821e-02 1.396098096640959e-02 1.395421700271061e-02 - 1.394744688102961e-02 1.394067060648909e-02 1.393388818692338e-02 1.392709961198955e-02 1.392030488001634e-02 - 1.391350399327543e-02 1.390669694254475e-02 1.389988372719557e-02 1.389306435287330e-02 1.388623881438261e-02 - 1.387940711188756e-02 1.387256925103053e-02 1.386572522405790e-02 1.385887502683316e-02 1.385201866296698e-02 - 1.384515612379329e-02 1.383828740611332e-02 1.383141252098464e-02 1.382453146615934e-02 1.381764423695148e-02 - 1.381075083621117e-02 1.380385125926009e-02 1.379694549932224e-02 1.379003355634722e-02 1.378311543405784e-02 - 1.377619113577579e-02 1.376926065784134e-02 1.376232399626086e-02 1.375538114862362e-02 1.374843211529037e-02 - 1.374147689626999e-02 1.373451549097131e-02 1.372754790081035e-02 1.372057412482435e-02 1.371359415880417e-02 - 1.370660800191563e-02 1.369961565562416e-02 1.369261712158748e-02 1.368561239160383e-02 1.367860146147292e-02 - 1.367158434223160e-02 1.366456103295884e-02 1.365753152816715e-02 1.365049582984413e-02 1.364345393626983e-02 - 1.363640584363454e-02 1.362935155197557e-02 1.362229106201978e-02 1.361522437421294e-02 1.360815148809621e-02 - 1.360107240365773e-02 1.359398712117658e-02 1.358689563898480e-02 1.357979795217255e-02 1.357269405533802e-02 - 1.356558396017600e-02 1.355846767355538e-02 1.355134518540141e-02 1.354421648973967e-02 1.353708158728038e-02 - 1.352994048497773e-02 1.352279317412557e-02 1.351563964921714e-02 1.350847993234027e-02 1.350131401794928e-02 - 1.349414188812881e-02 1.348696355361660e-02 1.347977901858603e-02 1.347258827670450e-02 1.346539132112732e-02 - 1.345818815687027e-02 1.345097879723517e-02 1.344376323611521e-02 1.343654146470481e-02 1.342931348024562e-02 - 1.342207929164266e-02 1.341483890125029e-02 1.340759229714105e-02 1.340033948592649e-02 1.339308047488992e-02 - 1.338581525615185e-02 1.337854383232506e-02 1.337126620737807e-02 1.336398237245951e-02 1.335669232490426e-02 - 1.334939606999042e-02 1.334209361886319e-02 1.333478496691931e-02 1.332747010093965e-02 1.332014902896288e-02 - 1.331282175723704e-02 1.330548828381385e-02 1.329814860211957e-02 1.329080271412866e-02 1.328345063097246e-02 - 1.327609234424045e-02 1.326872784914616e-02 1.326135715657202e-02 1.325398026514318e-02 1.324659716972378e-02 - 1.323920787031880e-02 1.323181236976987e-02 1.322441067219326e-02 1.321700278123619e-02 1.320958869473772e-02 - 1.320216840889533e-02 1.319474192647233e-02 1.318730924299288e-02 1.317987035320805e-02 1.317242527523754e-02 - 1.316497401404441e-02 1.315751655750498e-02 1.315005290457417e-02 1.314258305915991e-02 1.313510702533477e-02 - 1.312762479749873e-02 1.312013637454663e-02 1.311264176674524e-02 1.310514097528989e-02 1.309763399743803e-02 - 1.309012083240218e-02 1.308260148524151e-02 1.307507595779872e-02 1.306754423810231e-02 1.306000633130083e-02 - 1.305246225068735e-02 1.304491199415833e-02 1.303735555888092e-02 1.302979294561730e-02 1.302222416114251e-02 - 1.301464920127586e-02 1.300706805512286e-02 1.299948074007148e-02 1.299188726392925e-02 1.298428761376350e-02 - 1.297668178953030e-02 1.296906979917289e-02 1.296145165196894e-02 1.295382733572278e-02 1.294619684321666e-02 - 1.293856019418804e-02 1.293091739361701e-02 1.292326843600229e-02 1.291561331594024e-02 1.290795203962965e-02 - 1.290028461406370e-02 1.289261102589192e-02 1.288493127982097e-02 1.287724539399148e-02 1.286955336728896e-02 - 1.286185519483855e-02 1.285415087393522e-02 1.284644040779901e-02 1.283872379943217e-02 1.283100105007112e-02 - 1.282327216499671e-02 1.281553714651719e-02 1.280779599126801e-02 1.280004870582322e-02 1.279229529551004e-02 - 1.278453575462785e-02 1.277677008230648e-02 1.276899828322272e-02 1.276122036637128e-02 1.275343633303281e-02 - 1.274564618082443e-02 1.273784991358546e-02 1.273004753391990e-02 1.272223904101719e-02 1.271442442957637e-02 - 1.270660370794978e-02 1.269877689384363e-02 1.269094397773904e-02 1.268310495443295e-02 1.267525983383190e-02 - 1.266740862159357e-02 1.265955131610305e-02 1.265168790986125e-02 1.264381841321034e-02 1.263594283614933e-02 - 1.262806117310012e-02 1.262017342951705e-02 1.261227961209872e-02 1.260437971406514e-02 1.259647373729069e-02 - 1.258856168925583e-02 1.258064357239260e-02 1.257271939240096e-02 1.256478915520078e-02 1.255685285459754e-02 - 1.254891049173029e-02 1.254096207570647e-02 1.253300760376554e-02 1.252504707668881e-02 1.251708050378790e-02 - 1.250910789128773e-02 1.250112924190730e-02 1.249314455497329e-02 1.248515382942968e-02 1.247715706626537e-02 - 1.246915427066142e-02 1.246114545004359e-02 1.245313061093009e-02 1.244510975519442e-02 1.243708288271855e-02 - 1.242904999334644e-02 1.242101108960597e-02 1.241296617602342e-02 1.240491525784085e-02 1.239685833832253e-02 - 1.238879542265411e-02 1.238072651672425e-02 1.237265161832934e-02 1.236457072972670e-02 1.235648385971585e-02 - 1.234839100475330e-02 1.234029216644840e-02 1.233218735967670e-02 1.232407658450629e-02 1.231595983825897e-02 - 1.230783712734204e-02 1.229970846199802e-02 1.229157384500942e-02 1.228343326032102e-02 1.227528672233900e-02 - 1.226713425500730e-02 1.225897584359588e-02 1.225081148758153e-02 1.224264120133804e-02 1.223446498720786e-02 - 1.222628284514866e-02 1.221809477711035e-02 1.220990079161559e-02 1.220170089405064e-02 1.219349508434973e-02 - 1.218528336781141e-02 1.217706575082829e-02 1.216884223701085e-02 1.216061282093886e-02 1.215237750559525e-02 - 1.214413631491834e-02 1.213588924765066e-02 1.212763629639266e-02 1.211937747504947e-02 1.211111278696468e-02 - 1.210284222899338e-02 1.209456580676226e-02 1.208628352659129e-02 1.207799539529086e-02 1.206970142400196e-02 - 1.206140161359375e-02 1.205309595715539e-02 1.204478446558403e-02 1.203646714593309e-02 1.202814399601385e-02 - 1.201981502726849e-02 1.201148024892713e-02 1.200313965960066e-02 1.199479326438714e-02 1.198644106975963e-02 - 1.197808307814890e-02 1.196971928979660e-02 1.196134970757412e-02 1.195297434273665e-02 1.194459320579336e-02 - 1.193620630286995e-02 1.192781363156250e-02 1.191941519457288e-02 1.191101099930699e-02 1.190260104978759e-02 - 1.189418535108248e-02 1.188576391078268e-02 1.187733673904143e-02 1.186890383909906e-02 1.186046520717658e-02 - 1.185202085452967e-02 1.184357078721630e-02 1.183511499765447e-02 1.182665350164435e-02 1.181818631619212e-02 - 1.180971343948878e-02 1.180123487113532e-02 1.179275061618258e-02 1.178426068678883e-02 1.177576508273127e-02 - 1.176726380098327e-02 1.175875685721244e-02 1.175024426443667e-02 1.174172602804813e-02 1.173320214474543e-02 - 1.172467261918110e-02 1.171613746318596e-02 1.170759667473828e-02 1.169905025976067e-02 1.169049823639713e-02 - 1.168194060529573e-02 1.167337736787376e-02 1.166480853596695e-02 1.165623411322526e-02 1.164765410079015e-02 - 1.163906850325271e-02 1.163047732858534e-02 1.162188058835008e-02 1.161327829716097e-02 1.160467045202270e-02 - 1.159605704763531e-02 1.158743810702480e-02 1.157881363156412e-02 1.157018361041755e-02 1.156154807040710e-02 - 1.155290702254676e-02 1.154426045745637e-02 1.153560838867705e-02 1.152695082724772e-02 1.151828777265603e-02 - 1.150961922666123e-02 1.150094519786783e-02 1.149226570234640e-02 1.148358074611148e-02 1.147489033148848e-02 - 1.146619446355201e-02 1.145749315215113e-02 1.144878640491215e-02 1.144007421936342e-02 1.143135660500108e-02 - 1.142263357779597e-02 1.141390514531738e-02 1.140517131031360e-02 1.139643207471360e-02 1.138768744746770e-02 - 1.137893743736065e-02 1.137018205114591e-02 1.136142129485616e-02 1.135265517811921e-02 1.134388371322748e-02 - 1.133510690045416e-02 1.132632474439678e-02 1.131753726104511e-02 1.130874445081251e-02 1.129994631541456e-02 - 1.129114287234474e-02 1.128233413053084e-02 1.127352009524980e-02 1.126470077646612e-02 1.125587617975814e-02 - 1.124704630615814e-02 1.123821115477194e-02 1.122937074388692e-02 1.122052509984340e-02 1.121167421843202e-02 - 1.120281809651728e-02 1.119395674175946e-02 1.118509017235879e-02 1.117621839625571e-02 1.116734140890626e-02 - 1.115845922925729e-02 1.114957187162777e-02 1.114067933143962e-02 1.113178161769016e-02 1.112287874451852e-02 - 1.111397072153178e-02 1.110505754694771e-02 1.109613922373310e-02 1.108721577854856e-02 1.107828721826434e-02 - 1.106935353946150e-02 1.106041475521090e-02 1.105147087839408e-02 1.104252191603393e-02 1.103356786436798e-02 - 1.102460873384026e-02 1.101564454870664e-02 1.100667531791245e-02 1.099770104268406e-02 1.098872172333136e-02 - 1.097973737703280e-02 1.097074801492989e-02 1.096175363206450e-02 1.095275424291130e-02 1.094374986633713e-02 - 1.093474051123777e-02 1.092572618232803e-02 1.091670688531980e-02 1.090768263148204e-02 1.089865342255811e-02 - 1.088961926240844e-02 1.088058018050034e-02 1.087153618780464e-02 1.086248727940419e-02 1.085343346361914e-02 - 1.084437475261139e-02 1.083531115780061e-02 1.082624268419920e-02 1.081716934144050e-02 1.080809114559821e-02 - 1.079900810312026e-02 1.078992022093278e-02 1.078082751184906e-02 1.077172998533364e-02 1.076262764813011e-02 - 1.075352050586474e-02 1.074440857092024e-02 1.073529185762834e-02 1.072617037570664e-02 1.071704413251609e-02 - 1.070791313635956e-02 1.069877740113652e-02 1.068963693244828e-02 1.068049173224424e-02 1.067134181766250e-02 - 1.066218720670161e-02 1.065302791162099e-02 1.064386393117340e-02 1.063469527249458e-02 1.062552195483164e-02 - 1.061634397913101e-02 1.060716135205155e-02 1.059797409807024e-02 1.058878223029125e-02 1.057958575437316e-02 - 1.057038467384018e-02 1.056117900039964e-02 1.055196874533382e-02 1.054275390960051e-02 1.053353451406393e-02 - 1.052431058354873e-02 1.051508211263400e-02 1.050584910821505e-02 1.049661158906674e-02 1.048736956269110e-02 - 1.047812303544552e-02 1.046887201730896e-02 1.045961652742825e-02 1.045035657823219e-02 1.044109217270465e-02 - 1.043182332652317e-02 1.042255005238709e-02 1.041327235213399e-02 1.040399023555266e-02 1.039470371859749e-02 - 1.038541282005145e-02 1.037611754740451e-02 1.036681790639924e-02 1.035751391340543e-02 1.034820558036888e-02 - 1.033889291336949e-02 1.032957591435120e-02 1.032025460242317e-02 1.031092900384275e-02 1.030159911688449e-02 - 1.029226495054825e-02 1.028292652729243e-02 1.027358385071069e-02 1.026423692589549e-02 1.025488576741323e-02 - 1.024553039300053e-02 1.023617081698821e-02 1.022680704740226e-02 1.021743909457171e-02 1.020806697035185e-02 - 1.019869068658227e-02 1.018931025066223e-02 1.017992567348438e-02 1.017053697875713e-02 1.016114417776936e-02 - 1.015174727399650e-02 1.014234627700861e-02 1.013294120450803e-02 1.012353207457940e-02 1.011411888599992e-02 - 1.010470164920459e-02 1.009528038851809e-02 1.008585511657422e-02 1.007642584330934e-02 1.006699257991301e-02 - 1.005755533847607e-02 1.004811412861271e-02 1.003866895746225e-02 1.002921984502842e-02 1.001976681035788e-02 - 1.001030986009602e-02 1.000084900502786e-02 9.991384259025663e-03 9.981915635495017e-03 9.972443141719819e-03 - 9.962966786689603e-03 9.953486595586885e-03 9.944002583039199e-03 9.934514754395770e-03 9.925023122335749e-03 - 9.915527701693664e-03 9.906028505794947e-03 9.896525539473492e-03 9.887018817044350e-03 9.877508364713565e-03 - 9.867994191756903e-03 9.858476305769829e-03 9.848954721540815e-03 9.839429453723526e-03 9.829900512927632e-03 - 9.820367904529967e-03 9.810831649938153e-03 9.801291772225836e-03 9.791748277276684e-03 9.782201174956444e-03 - 9.772650480173910e-03 9.763096209214261e-03 9.753538370443265e-03 9.743976971083063e-03 9.734412038356991e-03 - 9.724843589152831e-03 9.715271627378256e-03 9.705696167153652e-03 9.696117225097080e-03 9.686534815487291e-03 - 9.676948943754414e-03 9.667359623576509e-03 9.657766883492007e-03 9.648170733986708e-03 9.638571181819185e-03 - 9.628968243024477e-03 9.619361933494769e-03 9.609752265452595e-03 9.600139245296816e-03 9.590522893495216e-03 - 9.580903234511828e-03 9.571280275331249e-03 9.561654026946651e-03 9.552024506017841e-03 9.542391727779683e-03 - 9.532755702177183e-03 9.523116437885958e-03 9.513473960404769e-03 9.503828289303256e-03 9.494179431678001e-03 - 9.484527400058637e-03 9.474872210511853e-03 9.465213879778082e-03 9.455552415295903e-03 9.445887829718797e-03 - 9.436220151655284e-03 9.426549394486200e-03 9.416875565725477e-03 9.407198681221749e-03 9.397518758018270e-03 - 9.387835810148322e-03 9.378149843813783e-03 9.368460878589471e-03 9.358768941430739e-03 9.349074041571485e-03 - 9.339376189353358e-03 9.329675400879622e-03 9.319971694171958e-03 9.310265081086165e-03 9.300555568605354e-03 - 9.290843182951191e-03 9.281127946492163e-03 9.271409865969660e-03 9.261688954922952e-03 9.251965230660204e-03 - 9.242238709904914e-03 9.232509401801155e-03 9.222777318787652e-03 9.213042489474691e-03 9.203304930168641e-03 - 9.193564649383718e-03 9.183821661973759e-03 9.174075985705271e-03 9.164327637046287e-03 9.154576623077591e-03 - 9.144822962285418e-03 9.135066683045857e-03 9.125307796249328e-03 9.115546312613307e-03 9.105782249286811e-03 - 9.096015624756502e-03 9.086246452281876e-03 9.076474739187750e-03 9.066700510968253e-03 9.056923792083085e-03 - 9.047144590189744e-03 9.037362919662660e-03 9.027578799121916e-03 9.017792245480461e-03 9.008003268928564e-03 - 8.998211881680073e-03 8.988418113610518e-03 8.978621982540696e-03 8.968823496265647e-03 8.959022672124209e-03 - 8.949219528590024e-03 8.939414081469170e-03 8.929606339864140e-03 8.919796321979990e-03 8.909984056877767e-03 - 8.900169557867096e-03 8.890352835957138e-03 8.880533907981049e-03 8.870712793191068e-03 8.860889506593549e-03 - 8.851064055633283e-03 8.841236465905915e-03 8.831406764712287e-03 8.821574959648875e-03 8.811741064546590e-03 - 8.801905099237244e-03 8.792067082696866e-03 8.782227026145442e-03 8.772384940188230e-03 8.762540855386065e-03 - 8.752694792574688e-03 8.742846759945761e-03 8.732996774006149e-03 8.723144854408183e-03 8.713291019755398e-03 - 8.703435278608567e-03 8.693577647775636e-03 8.683718159456632e-03 8.673856827661263e-03 8.663993662505663e-03 - 8.654128683145933e-03 8.644261909320558e-03 8.634393356690426e-03 8.624523033451901e-03 8.614650964506795e-03 - 8.604777179373340e-03 8.594901686657006e-03 8.585024500118565e-03 8.575145640490715e-03 8.565265126670765e-03 - 8.555382971806235e-03 8.545499187654319e-03 8.535613803632294e-03 8.525726842250045e-03 8.515838312646278e-03 - 8.505948232174527e-03 8.496056621077198e-03 8.486163497882877e-03 8.476268872748003e-03 8.466372762116349e-03 - 8.456475199094931e-03 8.446576199856061e-03 8.436675774300739e-03 8.426773941795081e-03 8.416870722731803e-03 - 8.406966134358667e-03 8.397060186389057e-03 8.387152901959176e-03 8.377244311160385e-03 8.367334425300299e-03 - 8.357423258296441e-03 8.347510830980188e-03 8.337597163605794e-03 8.327682270401855e-03 8.317766161869340e-03 - 8.307848867754637e-03 8.297930413816063e-03 8.288010810083676e-03 8.278090072673102e-03 8.268168221765407e-03 - 8.258245278027963e-03 8.248321253600945e-03 8.238396163758082e-03 8.228470040664376e-03 8.218542903042886e-03 - 8.208614761992156e-03 8.198685637447353e-03 8.188755549837494e-03 8.178824516773604e-03 8.168892549578916e-03 - 8.158959670459199e-03 8.149025910256038e-03 8.139091282816925e-03 8.129155801857130e-03 8.119219487437710e-03 - 8.109282361690508e-03 8.099344440765549e-03 8.089405733754036e-03 8.079466270417937e-03 8.069526079135253e-03 - 8.059585169010465e-03 8.049643556954327e-03 8.039701265060109e-03 8.029758314127560e-03 8.019814717074126e-03 - 8.009870488264625e-03 7.999925660293698e-03 7.989980254561855e-03 7.980034282561204e-03 7.970087763203990e-03 - 7.960140717914167e-03 7.950193166721423e-03 7.940245120231920e-03 7.930296599391260e-03 7.920347637831796e-03 - 7.910398250263278e-03 7.900448449763646e-03 7.890498257622273e-03 7.880547695356892e-03 7.870596780430528e-03 - 7.860645524802819e-03 7.850693955430419e-03 7.840742100859013e-03 7.830789973961963e-03 7.820837591210042e-03 - 7.810884973654219e-03 7.800932143705464e-03 7.790979115476222e-03 7.781025902060369e-03 7.771072537550891e-03 - 7.761119045304192e-03 7.751165435253132e-03 7.741211727248220e-03 7.731257943744334e-03 7.721304105116559e-03 - 7.711350222852130e-03 7.701396316987202e-03 7.691442422531397e-03 7.681488555826352e-03 7.671534729460651e-03 - 7.661580965493510e-03 7.651627286213397e-03 7.641673709645761e-03 7.631720246474624e-03 7.621766924002147e-03 - 7.611813774300424e-03 7.601860809420407e-03 7.591908045212342e-03 7.581955503946372e-03 7.572003208680656e-03 - 7.562051174726026e-03 7.552099414296815e-03 7.542147961065804e-03 7.532196840825635e-03 7.522246063843738e-03 - 7.512295650102864e-03 7.502345622322073e-03 7.492396000716249e-03 7.482446799189802e-03 7.472498037196947e-03 - 7.462549747897286e-03 7.452601950331629e-03 7.442654658211039e-03 7.432707892744488e-03 7.422761676416634e-03 - 7.412816028768508e-03 7.402870961455420e-03 7.392926500328647e-03 7.382982678429822e-03 7.373039508794957e-03 - 7.363097007225734e-03 7.353155196864952e-03 7.343214100532815e-03 7.333273734782904e-03 7.323334112197604e-03 - 7.313395265021593e-03 7.303457220900774e-03 7.293519991033275e-03 7.283583594600794e-03 7.273648054943689e-03 - 7.263713394446934e-03 7.253779626580373e-03 7.243846768480717e-03 7.233914855435080e-03 7.223983908518886e-03 - 7.214053940460562e-03 7.204124972417771e-03 7.194197027491048e-03 7.184270126394881e-03 7.174344280726286e-03 - 7.164419514784642e-03 7.154495863236941e-03 7.144573340914020e-03 7.134651962993328e-03 7.124731752265264e-03 - 7.114812732100897e-03 7.104894920638768e-03 7.094978330575343e-03 7.085062992246606e-03 7.075148934793896e-03 - 7.065236171017366e-03 7.055324719420953e-03 7.045414603125002e-03 7.035505845669364e-03 7.025598461448587e-03 - 7.015692466009597e-03 7.005787894887785e-03 6.995884771371198e-03 6.985983107977662e-03 6.976082925249031e-03 - 6.966184246523457e-03 6.956287093797063e-03 6.946391479271966e-03 6.936497425652844e-03 6.926604968509339e-03 - 6.916714124366364e-03 6.906824907731460e-03 6.896937340931554e-03 6.887051448149962e-03 6.877167248699087e-03 - 6.867284753979424e-03 6.857403994050719e-03 6.847525000658012e-03 6.837647785670592e-03 6.827772367409923e-03 - 6.817898770109592e-03 6.808027016717447e-03 6.798157122708669e-03 6.788289103240300e-03 6.778422992931511e-03 - 6.768558816798320e-03 6.758696587557012e-03 6.748836325648165e-03 6.738978054348659e-03 6.729121795949092e-03 - 6.719267563927435e-03 6.709415379633438e-03 6.699565278400954e-03 6.689717278120727e-03 6.679871393303892e-03 - 6.670027647355804e-03 6.660186063525513e-03 6.650346660981845e-03 6.640509452367944e-03 6.630674466396449e-03 - 6.620841735868644e-03 6.611011273308148e-03 6.601183096392477e-03 6.591357229649247e-03 6.581533696087914e-03 - 6.571712512145987e-03 6.561893692372858e-03 6.552077270290561e-03 6.542263272668194e-03 6.532451712617284e-03 - 6.522642609933696e-03 6.512835987879551e-03 6.503031869590782e-03 6.493230268870023e-03 6.483431205156500e-03 - 6.473634714105858e-03 6.463840816056773e-03 6.454049525191551e-03 6.444260863046832e-03 6.434474853362258e-03 - 6.424691517208967e-03 6.414910866799055e-03 6.405132928351729e-03 6.395357735592168e-03 6.385585303753894e-03 - 6.375815649717760e-03 6.366048796411005e-03 6.356284767471845e-03 6.346523580477974e-03 6.336765248927921e-03 - 6.327009805730009e-03 6.317257279178600e-03 6.307507681412946e-03 6.297761032647583e-03 6.288017356862164e-03 - 6.278276676438099e-03 6.268539005625230e-03 6.258804362658888e-03 6.249072783406197e-03 6.239344289504087e-03 - 6.229618894349891e-03 6.219896619699197e-03 6.210177489065160e-03 6.200461523673893e-03 6.190748736475173e-03 - 6.181039151999554e-03 6.171332804226705e-03 6.161629709556120e-03 6.151929884103313e-03 6.142233350147177e-03 - 6.132540131644584e-03 6.122850247356021e-03 6.113163710170625e-03 6.103480551213418e-03 6.093800800141988e-03 - 6.084124469547710e-03 6.074451578566364e-03 6.064782150905211e-03 6.055116209626953e-03 6.045453769994722e-03 - 6.035794848740185e-03 6.026139480474754e-03 6.016487688229946e-03 6.006839485237500e-03 5.997194892776407e-03 - 5.987553934341584e-03 5.977916631713333e-03 5.968282997802390e-03 5.958653055343909e-03 5.949026838944569e-03 - 5.939404365780911e-03 5.929785651209331e-03 5.920170717549854e-03 5.910559587858684e-03 5.900952281370824e-03 - 5.891348811852907e-03 5.881749208142844e-03 5.872153500225121e-03 5.862561701850070e-03 5.852973831530551e-03 - 5.843389912374926e-03 5.833809966833203e-03 5.824234011006907e-03 5.814662060999971e-03 5.805094150375409e-03 - 5.795530303292347e-03 5.785970532524381e-03 5.776414859211175e-03 5.766863306294991e-03 5.757315894674337e-03 - 5.747772638659374e-03 5.738233559732430e-03 5.728698691311226e-03 5.719168051719483e-03 5.709641656042984e-03 - 5.700119526414031e-03 5.690601685377130e-03 5.681088152168133e-03 5.671578940158426e-03 5.662074076665564e-03 - 5.652573592801510e-03 5.643077502877857e-03 5.633585823810169e-03 5.624098577633230e-03 5.614615788052954e-03 - 5.605137471831965e-03 5.595663642810052e-03 5.586194333773162e-03 5.576729570469775e-03 5.567269364923084e-03 - 5.557813736696195e-03 5.548362708847973e-03 5.538916303890826e-03 5.529474534822445e-03 5.520037420561356e-03 - 5.510604996543656e-03 5.501177281279281e-03 5.491754287530179e-03 5.482336037985177e-03 5.472922555453679e-03 - 5.463513859119052e-03 5.454109961206277e-03 5.444710887376439e-03 5.435316669896643e-03 5.425927322428118e-03 - 5.416542861379438e-03 5.407163309793553e-03 5.397788689388935e-03 5.388419016905312e-03 5.379054306533677e-03 - 5.369694588817857e-03 5.360339890208465e-03 5.350990223294556e-03 5.341645606645782e-03 5.332306062415535e-03 - 5.322971612709802e-03 5.313642271564683e-03 5.304318056285795e-03 5.294999000250198e-03 5.285685123732157e-03 - 5.276376439554206e-03 5.267072968338082e-03 5.257774732353860e-03 5.248481751732874e-03 5.239194038865901e-03 - 5.229911616755654e-03 5.220634516968343e-03 5.211362754853240e-03 5.202096346092698e-03 5.192835312362628e-03 - 5.183579674966123e-03 5.174329450821569e-03 5.165084652994387e-03 5.155845310548846e-03 5.146611450951191e-03 - 5.137383086378589e-03 5.128160234647254e-03 5.118942917508807e-03 5.109731156137037e-03 5.100524965000140e-03 - 5.091324360054826e-03 5.082129373049942e-03 5.072940025255639e-03 5.063756329149303e-03 5.054578304260502e-03 - 5.045405972366202e-03 5.036239353680495e-03 5.027078459118392e-03 5.017923310123222e-03 5.008773940483098e-03 - 4.999630364315774e-03 4.990492594829337e-03 4.981360654331298e-03 4.972234563790402e-03 4.963114339923834e-03 - 4.953999995020500e-03 4.944891556281875e-03 4.935789051765770e-03 4.926692493194353e-03 4.917601897109304e-03 - 4.908517284729773e-03 4.899438676825864e-03 4.890366088012707e-03 4.881299532722441e-03 4.872239041569468e-03 - 4.863184636415129e-03 4.854136328649667e-03 4.845094137498133e-03 4.836058083872883e-03 4.827028186746977e-03 - 4.818004458681770e-03 4.808986918914880e-03 4.799975597861264e-03 4.790970512088721e-03 4.781971675128856e-03 - 4.772979106768043e-03 4.763992827229902e-03 4.755012853632298e-03 4.746039197549013e-03 4.737071883993436e-03 - 4.728110941197518e-03 4.719156380399636e-03 4.710208217424537e-03 4.701266473663848e-03 4.692331168251817e-03 - 4.683402315353613e-03 4.674479928383867e-03 4.665564036556664e-03 4.656654662394768e-03 4.647751816371710e-03 - 4.638855516650367e-03 4.629965783672686e-03 4.621082635909843e-03 4.612206084994354e-03 4.603336148102954e-03 - 4.594472856159325e-03 4.585616225744373e-03 4.576766268345947e-03 4.567923003199363e-03 4.559086450091263e-03 - 4.550256626033265e-03 4.541433541986122e-03 4.532617220194613e-03 4.523807688535670e-03 4.515004959722835e-03 - 4.506209047920159e-03 4.497419972185719e-03 4.488637751873642e-03 4.479862401381760e-03 4.471093932025212e-03 - 4.462332371280023e-03 4.453577742726973e-03 4.444830056583276e-03 4.436089328917552e-03 4.427355578888171e-03 - 4.418628824988929e-03 4.409909078668640e-03 4.401196354933857e-03 4.392490684030716e-03 4.383792083151365e-03 - 4.375100562120779e-03 4.366416138313078e-03 4.357738831525952e-03 4.349068659591380e-03 4.340405630957790e-03 - 4.331749765364269e-03 4.323101091949651e-03 4.314459623208851e-03 4.305825371349630e-03 4.297198354190413e-03 - 4.288578590720092e-03 4.279966095343473e-03 4.271360877578565e-03 4.262762963097229e-03 4.254172376200769e-03 - 4.245589126222103e-03 4.237013227440267e-03 4.228444697962537e-03 4.219883556022182e-03 4.211329813254019e-03 - 4.202783482548908e-03 4.194244591796649e-03 4.185713159116739e-03 4.177189194188086e-03 4.168672712320958e-03 - 4.160163731860882e-03 4.151662270610665e-03 4.143168336754119e-03 4.134681947397693e-03 4.126203130809124e-03 - 4.117731899759874e-03 4.109268265260960e-03 4.100812244167818e-03 4.092363854125291e-03 4.083923109325604e-03 - 4.075490018959178e-03 4.067064605609816e-03 4.058646892914489e-03 4.050236890474988e-03 4.041834611549669e-03 - 4.033440073099425e-03 4.025053291802670e-03 4.016674279190388e-03 4.008303046950822e-03 3.999939621219669e-03 - 3.991584019864232e-03 3.983236251035503e-03 3.974896329846703e-03 3.966564273682151e-03 3.958240098637734e-03 - 3.949923812376889e-03 3.941615430268695e-03 3.933314980874398e-03 3.925022475755094e-03 3.916737923312982e-03 - 3.908461340476090e-03 3.900192744628528e-03 3.891932149238224e-03 3.883679560814138e-03 3.875435000263637e-03 - 3.867198492508630e-03 3.858970045729460e-03 3.850749670926077e-03 3.842537384120139e-03 3.834333202377867e-03 - 3.826137136626801e-03 3.817949195349815e-03 3.809769403427763e-03 3.801597779587331e-03 3.793434330750140e-03 - 3.785279069923421e-03 3.777132013373491e-03 3.768993177352847e-03 3.760862568898475e-03 3.752740200334732e-03 - 3.744626099044159e-03 3.736520277340854e-03 3.728422742215669e-03 3.720333508785603e-03 3.712252593018920e-03 - 3.704180008090329e-03 3.696115760631814e-03 3.688059868276574e-03 3.680012354362612e-03 3.671973228138760e-03 - 3.663942499526064e-03 3.655920182566113e-03 3.647906292785413e-03 3.639900840938008e-03 3.631903834337251e-03 - 3.623915295229000e-03 3.615935242250758e-03 3.607963681828620e-03 3.600000626081414e-03 3.592046089865790e-03 - 3.584100087061132e-03 3.576162625323692e-03 3.568233715505030e-03 3.560313381862740e-03 3.552401637255495e-03 - 3.544498488187401e-03 3.536603947761108e-03 3.528718030587010e-03 3.520840749407267e-03 3.512972109975055e-03 - 3.505112127471606e-03 3.497260824593953e-03 3.489418209893856e-03 3.481584291815555e-03 3.473759083632174e-03 - 3.465942599385497e-03 3.458134849136788e-03 3.450335838875430e-03 3.442545588595099e-03 3.434764116831954e-03 - 3.426991428902786e-03 3.419227535146918e-03 3.411472449427477e-03 3.403726185233638e-03 3.395988749408295e-03 - 3.388260149964055e-03 3.380540409506120e-03 3.372829541439428e-03 3.365127551327278e-03 3.357434450344299e-03 - 3.349750251864305e-03 3.342074968176267e-03 3.334408603200120e-03 3.326751169911567e-03 3.319102691777129e-03 - 3.311463175183513e-03 3.303832626198486e-03 3.296211059114474e-03 3.288598486024217e-03 3.280994915398627e-03 - 3.273400352769854e-03 3.265814815709593e-03 3.258238322074859e-03 3.250670876135365e-03 3.243112486983179e-03 - 3.235563167624456e-03 3.228022929479646e-03 3.220491779361285e-03 3.212969724272006e-03 3.205456783570964e-03 - 3.197952970426890e-03 3.190458290104943e-03 3.182972751519780e-03 3.175496366385864e-03 3.168029146873250e-03 - 3.160571096621216e-03 3.153122225636278e-03 3.145682555500280e-03 3.138252093348739e-03 3.130830843615626e-03 - 3.123418817816768e-03 3.116016027518625e-03 3.108622481356378e-03 3.101238183229207e-03 3.093863147897005e-03 - 3.086497392737253e-03 3.079140921752824e-03 3.071793741871484e-03 3.064455864252268e-03 3.057127299904285e-03 - 3.049808055146270e-03 3.042498134791386e-03 3.035197556645182e-03 3.027906333235584e-03 3.020624467536793e-03 - 3.013351968343262e-03 3.006088846580162e-03 2.998835112089031e-03 2.991590768047797e-03 2.984355822285627e-03 - 2.977130294631421e-03 2.969914192263928e-03 2.962707518230782e-03 2.955510282832787e-03 2.948322496039390e-03 - 2.941144165204636e-03 2.933975293458325e-03 2.926815893073326e-03 2.919665980487675e-03 2.912525559332239e-03 - 2.905394635071103e-03 2.898273217656210e-03 2.891161316595433e-03 2.884058936906487e-03 2.876966081111658e-03 - 2.869882766189157e-03 2.862809005041444e-03 2.855744798230348e-03 2.848690153100023e-03 2.841645079496137e-03 - 2.834609585256340e-03 2.827583673848185e-03 2.820567351490293e-03 2.813560634590312e-03 2.806563530531927e-03 - 2.799576041999259e-03 2.792598177467573e-03 2.785629945309582e-03 2.778671351607254e-03 2.771722398039775e-03 - 2.764783095014263e-03 2.757853459091809e-03 2.750933492568204e-03 2.744023198517816e-03 2.737122585640385e-03 - 2.730231662189404e-03 2.723350432970404e-03 2.716478899800820e-03 2.709617075896625e-03 2.702764973241287e-03 - 2.695922593060963e-03 2.689089940152226e-03 2.682267022316270e-03 2.675453847914084e-03 2.668650418902243e-03 - 2.661856738145520e-03 2.655072822033232e-03 2.648298678030288e-03 2.641534306206961e-03 2.634779712258937e-03 - 2.628034904058933e-03 2.621299888635041e-03 2.614574665771587e-03 2.607859242632423e-03 2.601153634957146e-03 - 2.594457844452072e-03 2.587771872555374e-03 2.581095727373358e-03 2.574429415266960e-03 2.567772939497474e-03 - 2.561126300777387e-03 2.554489510835181e-03 2.547862581281132e-03 2.541245510713479e-03 2.534638303078699e-03 - 2.528040966193904e-03 2.521453505493298e-03 2.514875922225054e-03 2.508308218200437e-03 2.501750407164573e-03 - 2.495202496081871e-03 2.488664484118587e-03 2.482136376281468e-03 2.475618178705269e-03 2.469109895957427e-03 - 2.462611527825166e-03 2.456123079328407e-03 2.449644563898542e-03 2.443175984269443e-03 2.436717340526153e-03 - 2.430268636964234e-03 2.423829879853036e-03 2.417401073311931e-03 2.410982215756923e-03 2.404573315098301e-03 - 2.398174382071132e-03 2.391785416912405e-03 2.385406421217447e-03 2.379037399546287e-03 2.372678357701878e-03 - 2.366329296305038e-03 2.359990214012962e-03 2.353661123666590e-03 2.347342032379030e-03 2.341032936953993e-03 - 2.334733840455562e-03 2.328444748068140e-03 2.322165663885325e-03 2.315896586946297e-03 2.309637519733881e-03 - 2.303388473653537e-03 2.297149451184649e-03 2.290920451297887e-03 2.284701476927273e-03 2.278492533074980e-03 - 2.272293622898508e-03 2.266104742447669e-03 2.259925897918875e-03 2.253757100645447e-03 2.247598348619136e-03 - 2.241449641489242e-03 2.235310983406359e-03 2.229182378556762e-03 2.223063827011661e-03 2.216955326220785e-03 - 2.210856885615230e-03 2.204768511855369e-03 2.198690202073136e-03 2.192621957162963e-03 2.186563780523993e-03 - 2.180515675851768e-03 2.174477640514074e-03 2.168449674335647e-03 2.162431789038673e-03 2.156423986093689e-03 - 2.150426261719325e-03 2.144438618887063e-03 2.138461061015507e-03 2.132493589319895e-03 2.126536199820428e-03 - 2.120588896234097e-03 2.114651688169617e-03 2.108724573757348e-03 2.102807551461262e-03 2.096900623831682e-03 - 2.091003792760502e-03 2.085117057433877e-03 2.079240415028002e-03 2.073373872799373e-03 2.067517436442142e-03 - 2.061671101563673e-03 2.055834867994772e-03 2.050008738194652e-03 2.044192713868095e-03 2.038386792128391e-03 - 2.032590971333173e-03 2.026805260662020e-03 2.021029661329869e-03 2.015264168518725e-03 2.009508783500123e-03 - 2.003763508166370e-03 1.998028342654997e-03 1.992303282805534e-03 1.986588330078225e-03 1.980883492165770e-03 - 1.975188767039759e-03 1.969504151730439e-03 1.963829647004430e-03 1.958165254218237e-03 1.952510971963634e-03 - 1.946866794889960e-03 1.941232728159857e-03 1.935608777640074e-03 1.929994938329363e-03 1.924391207914093e-03 - 1.918797587114099e-03 1.913214077256622e-03 1.907640674795718e-03 1.902077375557082e-03 1.896524186430478e-03 - 1.890981108949087e-03 1.885448138032121e-03 1.879925272541809e-03 1.874412513138102e-03 1.868909859971047e-03 - 1.863417306389931e-03 1.857934851379391e-03 1.852462503653811e-03 1.847000259754348e-03 1.841548114039762e-03 - 1.836106066817225e-03 1.830674118529854e-03 1.825252266916765e-03 1.819840505202892e-03 1.814438836319749e-03 - 1.809047265638602e-03 1.803665787133681e-03 1.798294397101445e-03 1.792933095135866e-03 1.787581880369786e-03 - 1.782240749155103e-03 1.776909697172910e-03 1.771588728179710e-03 1.766277842767543e-03 1.760977035675204e-03 - 1.755686304337379e-03 1.750405647484752e-03 1.745135063548007e-03 1.739874546386865e-03 1.734624093589025e-03 - 1.729383711586370e-03 1.724153396315838e-03 1.718933140719367e-03 1.713722944309894e-03 1.708522806163372e-03 - 1.703332722978997e-03 1.698152687791741e-03 1.692982700783420e-03 1.687822765464940e-03 1.682672875794938e-03 - 1.677533027054054e-03 1.672403217813849e-03 1.667283446525115e-03 1.662173708173832e-03 1.657073995739192e-03 - 1.651984312946546e-03 1.646904660364047e-03 1.641835029387390e-03 1.636775416468660e-03 1.631725820220986e-03 - 1.626686238226539e-03 1.621656663682810e-03 1.616637091835148e-03 1.611627526662728e-03 1.606627964700548e-03 - 1.601638398623349e-03 1.596658825754688e-03 1.591689243408400e-03 1.586729647378206e-03 1.581780030725023e-03 - 1.576840391697073e-03 1.571910732264727e-03 1.566991046477593e-03 1.562081328242421e-03 1.557181574037859e-03 - 1.552291781114454e-03 1.547411944138861e-03 1.542542055154552e-03 1.537682115822498e-03 1.532832126356767e-03 - 1.527992077470792e-03 1.523161963747274e-03 1.518341782422417e-03 1.513531530571088e-03 1.508731200913292e-03 - 1.503940786876937e-03 1.499160290964809e-03 1.494389709200610e-03 1.489629032745148e-03 1.484878257820629e-03 - 1.480137381279299e-03 1.475406398389162e-03 1.470685299850305e-03 1.465974082141071e-03 1.461272748080975e-03 - 1.456581290224651e-03 1.451899700275850e-03 1.447227974089072e-03 1.442566108566721e-03 1.437914097994959e-03 - 1.433271932504185e-03 1.428639611034298e-03 1.424017133356480e-03 1.419404490680891e-03 1.414801676491448e-03 - 1.410208686553135e-03 1.405625516589791e-03 1.401052158609908e-03 1.396488604511052e-03 1.391934855472548e-03 - 1.387390907364871e-03 1.382856750165021e-03 1.378332378783991e-03 1.373817788890047e-03 1.369312974750468e-03 - 1.364817927255285e-03 1.360332641059443e-03 1.355857116711623e-03 1.351391347026849e-03 1.346935323100728e-03 - 1.342489039284644e-03 1.338052491255308e-03 1.333625672740901e-03 1.329208572800934e-03 1.324801188462658e-03 - 1.320403519143769e-03 1.316015555822497e-03 1.311637290544184e-03 1.307268717472159e-03 1.302909831116118e-03 - 1.298560623326278e-03 1.294221085253892e-03 1.289891216124110e-03 1.285571011566486e-03 1.281260461060531e-03 - 1.276959557618139e-03 1.272668295740209e-03 1.268386669608614e-03 1.264114669618853e-03 1.259852288349743e-03 - 1.255599524419093e-03 1.251356371085625e-03 1.247122819189722e-03 1.242898861265979e-03 1.238684491359706e-03 - 1.234479702756933e-03 1.230284484841117e-03 1.226098832748256e-03 1.221922744434409e-03 1.217756210326720e-03 - 1.213599221362577e-03 1.209451770765583e-03 1.205313852635065e-03 1.201185458480448e-03 1.197066577985755e-03 - 1.192957208640432e-03 1.188857345511447e-03 1.184766976969275e-03 1.180686095693037e-03 1.176614695732404e-03 - 1.172552769621902e-03 1.168500307042727e-03 1.164457299537124e-03 1.160423745213695e-03 1.156399636114517e-03 - 1.152384961360659e-03 1.148379714206853e-03 1.144383887440774e-03 1.140397472403066e-03 1.136420458871837e-03 - 1.132452840804467e-03 1.128494614815977e-03 1.124545770440235e-03 1.120606297984056e-03 1.116676190709075e-03 - 1.112755440623707e-03 1.108844038267568e-03 1.104941973598277e-03 1.101049242215234e-03 1.097165838523137e-03 - 1.093291750933755e-03 1.089426970747485e-03 1.085571490835547e-03 1.081725303225761e-03 1.077888396808512e-03 - 1.074060761522748e-03 1.070242395009795e-03 1.066433289590875e-03 1.062633433332422e-03 1.058842817553080e-03 - 1.055061434373011e-03 1.051289275348505e-03 1.047526329409495e-03 1.043772588486000e-03 1.040028047931513e-03 - 1.036292698203525e-03 1.032566529042292e-03 1.028849531681517e-03 1.025141697676040e-03 1.021443017315572e-03 - 1.017753479165712e-03 1.014073077446178e-03 1.010401806565697e-03 1.006739654876394e-03 1.003086612170896e-03 - 9.994426698862881e-04 9.958078198244436e-04 9.921820510029489e-04 9.885653522799815e-04 9.849577193159157e-04 - 9.813591440739670e-04 9.777696142556011e-04 9.741891204675346e-04 9.706176542328248e-04 9.670552065524777e-04 - 9.635017651512704e-04 9.599573207794398e-04 9.564218691437683e-04 9.528953995809905e-04 9.493779002331982e-04 - 9.458693621672339e-04 9.423697766254766e-04 9.388791334439822e-04 9.353974200435674e-04 9.319246293443443e-04 - 9.284607555133966e-04 9.250057861419034e-04 9.215597102726345e-04 9.181225189615299e-04 9.146942031524666e-04 - 9.112747514066988e-04 9.078641516289516e-04 9.044623983719834e-04 9.010694834242857e-04 8.976853937790154e-04 - 8.943101192935385e-04 8.909436508104612e-04 8.875859786393426e-04 8.842370902316334e-04 8.808969751654204e-04 - 8.775656281905130e-04 8.742430385918343e-04 8.709291937982416e-04 8.676240840155020e-04 8.643276998573467e-04 - 8.610400308208924e-04 8.577610636611962e-04 8.544907899714905e-04 8.512292035626933e-04 8.479762917886125e-04 - 8.447320428739457e-04 8.414964471843920e-04 8.382694949325988e-04 8.350511744137459e-04 8.318414728923707e-04 - 8.286403836395943e-04 8.254478982373706e-04 8.222640032931049e-04 8.190886878204532e-04 8.159219419987107e-04 - 8.127637556794064e-04 8.096141160179775e-04 8.064730115089579e-04 8.033404360997527e-04 8.002163789609624e-04 - 7.971008268111541e-04 7.939937692507287e-04 7.908951962853333e-04 7.878050969946667e-04 7.847234577702081e-04 - 7.816502689905088e-04 7.785855239466778e-04 7.755292098590464e-04 7.724813142232633e-04 7.694418267842021e-04 - 7.664107372089749e-04 7.633880335334087e-04 7.603737023812342e-04 7.573677358642847e-04 7.543701253849379e-04 - 7.513808572285544e-04 7.483999196962093e-04 7.454273024026923e-04 7.424629947358947e-04 7.395069836664074e-04 - 7.365592567622367e-04 7.336198070174806e-04 7.306886236388442e-04 7.277656929130117e-04 7.248510036837761e-04 - 7.219445453636994e-04 7.190463067357669e-04 7.161562739946586e-04 7.132744364309508e-04 7.104007867132190e-04 - 7.075353120392018e-04 7.046779992824802e-04 7.018288375861283e-04 6.989878161882759e-04 6.961549229362052e-04 - 6.933301438820412e-04 6.905134700383686e-04 6.877048926511914e-04 6.849043978549774e-04 6.821119732944710e-04 - 6.793276080246700e-04 6.765512910034699e-04 6.737830090783149e-04 6.710227490756584e-04 6.682705030776122e-04 - 6.655262603091742e-04 6.627900067379164e-04 6.600617305924390e-04 6.573414207627890e-04 6.546290656955580e-04 - 6.519246513982958e-04 6.492281662548372e-04 6.465396024423735e-04 6.438589471596415e-04 6.411861867028291e-04 - 6.385213096762252e-04 6.358643049114898e-04 6.332151601148890e-04 6.305738609661260e-04 6.279403974635571e-04 - 6.253147606410383e-04 6.226969365620930e-04 6.200869123319087e-04 6.174846765257772e-04 6.148902176504979e-04 - 6.123035224628875e-04 6.097245772740803e-04 6.071533733723410e-04 6.045898999580564e-04 6.020341426510520e-04 - 5.994860891934145e-04 5.969457280748620e-04 5.944130474177512e-04 5.918880332091087e-04 5.893706730594447e-04 - 5.868609584534629e-04 5.843588766665737e-04 5.818644136544619e-04 5.793775576682911e-04 5.768982970317317e-04 - 5.744266191686133e-04 5.719625097277512e-04 5.695059578510202e-04 5.670569542308351e-04 5.646154849082753e-04 - 5.621815365284883e-04 5.597550972743215e-04 5.573361553519681e-04 5.549246974872960e-04 5.525207095632259e-04 - 5.501241820142805e-04 5.477351040267441e-04 5.453534610951853e-04 5.429792405131840e-04 5.406124304314462e-04 - 5.382530187447214e-04 5.359009913605971e-04 5.335563351904396e-04 5.312190411682156e-04 5.288890968140364e-04 - 5.265664878332606e-04 5.242512018091515e-04 5.219432267978740e-04 5.196425502978362e-04 5.173491576918976e-04 - 5.150630373381158e-04 5.127841797796618e-04 5.105125710953982e-04 5.082481974966798e-04 5.059910467933278e-04 - 5.037411069671739e-04 5.014983647643853e-04 4.992628057533249e-04 4.970344196034297e-04 4.948131954905409e-04 - 4.925991188614672e-04 4.903921766298550e-04 4.881923566574878e-04 4.859996466359864e-04 4.838140324815327e-04 - 4.816355005995136e-04 4.794640414647377e-04 4.772996426854546e-04 4.751422896755638e-04 4.729919697488023e-04 - 4.708486707166207e-04 4.687123799720691e-04 4.665830828962369e-04 4.644607671738101e-04 4.623454230212830e-04 - 4.602370366779194e-04 4.581355941018685e-04 4.560410828358216e-04 4.539534906171381e-04 4.518728041821612e-04 - 4.497990089033435e-04 4.477320938149108e-04 4.456720481170030e-04 4.436188572707195e-04 4.415725078895158e-04 - 4.395329875976124e-04 4.375002838422590e-04 4.354743826722610e-04 4.334552702201095e-04 4.314429363226086e-04 - 4.294373687059989e-04 4.274385527576286e-04 4.254464755700176e-04 4.234611247199864e-04 4.214824874479911e-04 - 4.195105492176435e-04 4.175452972239935e-04 4.155867214135851e-04 4.136348082067204e-04 4.116895433467350e-04 - 4.097509141339746e-04 4.078189081189173e-04 4.058935120995524e-04 4.039747114386321e-04 4.020624945699733e-04 - 4.001568506324645e-04 3.982577652062802e-04 3.963652246433777e-04 3.944792163840573e-04 3.925997278951708e-04 - 3.907267452820787e-04 3.888602542761684e-04 3.870002443827855e-04 3.851467035420477e-04 3.832996170232135e-04 - 3.814589716941001e-04 3.796247550166885e-04 3.777969542187427e-04 3.759755548771444e-04 3.741605437648361e-04 - 3.723519105456335e-04 3.705496418343326e-04 3.687537232626712e-04 3.669641420580878e-04 3.651808856652343e-04 - 3.634039408935104e-04 3.616332930379869e-04 3.598689301103073e-04 3.581108413327368e-04 3.563590123412032e-04 - 3.546134293224166e-04 3.528740796868620e-04 3.511409507353364e-04 3.494140287293094e-04 3.476932993968030e-04 - 3.459787517007610e-04 3.442703736842207e-04 3.425681507579447e-04 3.408720696736798e-04 3.391821178070990e-04 - 3.374982823340253e-04 3.358205489790399e-04 3.341489042294683e-04 3.324833375391577e-04 3.308238358267097e-04 - 3.291703846864138e-04 3.275229711235071e-04 3.258815824857735e-04 3.242462057388915e-04 3.226168264116891e-04 - 3.209934320343741e-04 3.193760116170641e-04 3.177645512713499e-04 3.161590371207419e-04 3.145594562690266e-04 - 3.129657961319975e-04 3.113780432227079e-04 3.097961831114660e-04 3.082202043645004e-04 3.066500952444524e-04 - 3.050858414009347e-04 3.035274294402161e-04 3.019748466354355e-04 3.004280802320956e-04 2.988871162192853e-04 - 2.973519409077311e-04 2.958225434173786e-04 2.942989109163873e-04 2.927810290941792e-04 2.912688849504159e-04 - 2.897624658129895e-04 2.882617587216531e-04 2.867667493909568e-04 2.852774250910157e-04 2.837937747837379e-04 - 2.823157848000407e-04 2.808434412718301e-04 2.793767313619733e-04 2.779156424588856e-04 2.764601612241833e-04 - 2.750102732798498e-04 2.735659669757869e-04 2.721272307826111e-04 2.706940504177620e-04 2.692664125118005e-04 - 2.678443044384447e-04 2.664277133531666e-04 2.650166254907073e-04 2.636110271946842e-04 2.622109073508727e-04 - 2.608162534146021e-04 2.594270512444905e-04 2.580432877716125e-04 2.566649503351083e-04 2.552920261463284e-04 - 2.539245011192165e-04 2.525623623480746e-04 2.512055988243127e-04 2.498541971146173e-04 2.485081433825346e-04 - 2.471674249383843e-04 2.458320291468696e-04 2.445019428356345e-04 2.431771519464020e-04 2.418576445147758e-04 - 2.405434090455539e-04 2.392344316436903e-04 2.379306989304936e-04 2.366321982706708e-04 2.353389171046539e-04 - 2.340508418959193e-04 2.327679588365217e-04 2.314902568213100e-04 2.302177235947735e-04 2.289503450019842e-04 - 2.276881081822984e-04 2.264310006278554e-04 2.251790095285085e-04 2.239321211178975e-04 2.226903224828012e-04 - 2.214536025966827e-04 2.202219483393713e-04 2.189953459440866e-04 2.177737827672056e-04 2.165572463172210e-04 - 2.153457236927424e-04 2.141392010208329e-04 2.129376661694288e-04 2.117411078009580e-04 2.105495123800498e-04 - 2.093628666254358e-04 2.081811579562958e-04 2.070043738711933e-04 2.058325011765904e-04 2.046655262979033e-04 - 2.035034378928387e-04 2.023462239716796e-04 2.011938707312936e-04 2.000463653117907e-04 1.989036953143001e-04 - 1.977658482429478e-04 1.966328105707422e-04 1.955045692837424e-04 1.943811134060168e-04 1.932624302421221e-04 - 1.921485062157297e-04 1.910393287336514e-04 1.899348854684124e-04 1.888351638115297e-04 1.877401500482506e-04 - 1.866498319949601e-04 1.855641985831636e-04 1.844832365124926e-04 1.834069326310023e-04 1.823352746298841e-04 - 1.812682501147551e-04 1.802058461455679e-04 1.791480493724017e-04 1.780948483852737e-04 1.770462314872484e-04 - 1.760021851824818e-04 1.749626967491274e-04 1.739277539439587e-04 1.728973444305181e-04 1.718714550470096e-04 - 1.708500728855944e-04 1.698331869571933e-04 1.688207849549946e-04 1.678128535713188e-04 1.668093803524777e-04 - 1.658103531111011e-04 1.648157594964937e-04 1.638255861976382e-04 1.628398210066413e-04 1.618584529166454e-04 - 1.608814690931768e-04 1.599088565742865e-04 1.589406031206167e-04 1.579766966509897e-04 1.570171246224424e-04 - 1.560618738321770e-04 1.551109328208930e-04 1.541642902068764e-04 1.532219328717612e-04 1.522838482661923e-04 - 1.513500243337891e-04 1.504204489591066e-04 1.494951093483970e-04 1.485739927662749e-04 1.476570882997282e-04 - 1.467443839796364e-04 1.458358667202351e-04 1.449315243896633e-04 1.440313449862068e-04 1.431353162531848e-04 - 1.422434254066872e-04 1.413556604013758e-04 1.404720102486319e-04 1.395924625558734e-04 1.387170046489957e-04 - 1.378456244430427e-04 1.369783100559194e-04 1.361150493062282e-04 1.352558293490397e-04 1.344006387024136e-04 - 1.335494662293593e-04 1.327022993333140e-04 1.318591256583063e-04 1.310199332689028e-04 1.301847103692820e-04 - 1.293534446013900e-04 1.285261234477974e-04 1.277027359881715e-04 1.268832706365997e-04 1.260677147052468e-04 - 1.252560562359565e-04 1.244482834803957e-04 1.236443845356053e-04 1.228443469528238e-04 1.220481588198588e-04 - 1.212558093699401e-04 1.204672865809282e-04 1.196825780471873e-04 1.189016720308052e-04 1.181245568536085e-04 - 1.173512205995857e-04 1.165816508484800e-04 1.158158362776897e-04 1.150537660210759e-04 1.142954277590100e-04 - 1.135408094568152e-04 1.127898995954114e-04 1.120426864956402e-04 1.112991581353023e-04 1.105593024093304e-04 - 1.098231085283700e-04 1.090905652465313e-04 1.083616601800625e-04 1.076363816399760e-04 1.069147182196831e-04 - 1.061966583782502e-04 1.054821899944032e-04 1.047713013150353e-04 1.040639818640637e-04 1.033602200082437e-04 - 1.026600035826387e-04 1.019633211976323e-04 1.012701615275282e-04 1.005805130149820e-04 9.989436355203399e-05 - 9.921170194739147e-05 9.853251765411631e-05 9.785679881782247e-05 9.718453366352614e-05 9.651571091087277e-05 - 9.585031930594751e-05 9.518834724915350e-05 9.452978284703146e-05 9.387461543789448e-05 9.322283420353250e-05 - 9.257442723618249e-05 9.192938310286574e-05 9.128769066247626e-05 9.064933872161225e-05 9.001431561187756e-05 - 8.938260983500139e-05 8.875421104519957e-05 8.812910809646098e-05 8.750728925694059e-05 8.688874335824857e-05 - 8.627345936363417e-05 8.566142611724158e-05 8.505263195150667e-05 8.444706587898619e-05 8.384471762172232e-05 - 8.324557578035348e-05 8.264962891132210e-05 8.205686604727953e-05 8.146727626544971e-05 8.088084838175318e-05 - 8.029757088191735e-05 7.971743327705584e-05 7.914042512047892e-05 7.856653495630607e-05 7.799575166346450e-05 - 7.742806441871695e-05 7.686346239245813e-05 7.630193435494130e-05 7.574346911053080e-05 7.518805653837606e-05 - 7.463568593117825e-05 7.408634594826592e-05 7.354002575090044e-05 7.299671464423979e-05 7.245640185167563e-05 - 7.191907614532941e-05 7.138472679150608e-05 7.085334380230530e-05 7.032491623916224e-05 6.979943301854977e-05 - 6.927688351841825e-05 6.875725716877753e-05 6.824054320182008e-05 6.772673050550591e-05 6.721580881996242e-05 - 6.670776807704407e-05 6.620259726868480e-05 6.570028562031883e-05 6.520082266140781e-05 6.470419793220322e-05 - 6.421040064958054e-05 6.371941996817583e-05 6.323124601185380e-05 6.274586851226631e-05 6.226327655003573e-05 - 6.178345963615301e-05 6.130640743984757e-05 6.083210957777482e-05 6.036055527561582e-05 5.989173409263222e-05 - 5.942563633391719e-05 5.896225154191688e-05 5.850156903007261e-05 5.804357852627766e-05 5.758826983099529e-05 - 5.713563260712647e-05 5.668565617514362e-05 5.623833053838233e-05 5.579364600051564e-05 5.535159201768813e-05 - 5.491215819134343e-05 5.447533442712218e-05 5.404111064124177e-05 5.360947650466450e-05 5.318042157160001e-05 - 5.275393622516995e-05 5.233001062811153e-05 5.190863431238880e-05 5.148979716458554e-05 5.107348923404401e-05 - 5.065970053025621e-05 5.024842074849432e-05 4.983963979263951e-05 4.943334827635427e-05 4.902953621108006e-05 - 4.862819332553702e-05 4.822930973793706e-05 4.783287562882953e-05 4.743888107972067e-05 4.704731588033618e-05 - 4.665817033540254e-05 4.627143510842172e-05 4.588710014690383e-05 4.550515545082771e-05 4.512559130332447e-05 - 4.474839802715817e-05 4.437356575264515e-05 4.400108444300858e-05 4.363094478314062e-05 4.326313737450849e-05 - 4.289765220307346e-05 4.253447954450777e-05 4.217360984935306e-05 4.181503354031293e-05 4.145874078526325e-05 - 4.110472186234567e-05 4.075296770939578e-05 4.040346881442376e-05 4.005621534517384e-05 3.971119780891244e-05 - 3.936840678851008e-05 3.902783280379881e-05 3.868946611492773e-05 3.835329736378580e-05 3.801931758461789e-05 - 3.768751721520911e-05 3.735788667634669e-05 3.703041665089796e-05 3.670509786268472e-05 3.638192090588934e-05 - 3.606087620758478e-05 3.574195476070656e-05 3.542514758568229e-05 3.511044516462031e-05 3.479783817623805e-05 - 3.448731747191980e-05 3.417887390941621e-05 3.387249813623169e-05 3.356818082938366e-05 3.326591326488256e-05 - 3.296568640239042e-05 3.266749086476883e-05 3.237131756688427e-05 3.207715751232477e-05 3.178500166911470e-05 - 3.149484077201404e-05 3.120666582870710e-05 3.092046825328168e-05 3.063623897047349e-05 3.035396883732847e-05 - 3.007364895961203e-05 2.979527048619034e-05 2.951882447255356e-05 2.924430180184470e-05 2.897169381596313e-05 - 2.870099196601076e-05 2.843218722351712e-05 2.816527069305565e-05 2.790023364581556e-05 2.763706736588794e-05 - 2.737576298520704e-05 2.711631161938774e-05 2.685870489191871e-05 2.660293422952212e-05 2.634899073350601e-05 - 2.609686574272242e-05 2.584655068622352e-05 2.559803697386157e-05 2.535131582907573e-05 2.510637865851451e-05 - 2.486321726016628e-05 2.462182305120829e-05 2.438218734168926e-05 2.414430166313400e-05 2.390815760058303e-05 - 2.367374667612129e-05 2.344106023464476e-05 2.321008999935892e-05 2.298082786356460e-05 2.275326527748312e-05 - 2.252739378233606e-05 2.230320509258137e-05 2.208069093512809e-05 2.185984291941186e-05 2.164065260635458e-05 - 2.142311199522572e-05 2.120721298028661e-05 2.099294714303281e-05 2.078030625998752e-05 2.056928220029127e-05 - 2.035986682231265e-05 2.015205183896797e-05 1.994582907956633e-05 1.974119073954575e-05 1.953812872162773e-05 - 1.933663479825456e-05 1.913670094979531e-05 1.893831919578259e-05 1.874148151575467e-05 1.854617976080873e-05 - 1.835240605058427e-05 1.816015268982217e-05 1.796941162992672e-05 1.778017486956627e-05 1.759243456762222e-05 - 1.740618289118282e-05 1.722141193137039e-05 1.703811372777776e-05 1.685628066375182e-05 1.667590509374455e-05 - 1.649697910104339e-05 1.631949489857415e-05 1.614344479286407e-05 1.596882111103627e-05 1.579561606259506e-05 - 1.562382191518076e-05 1.545343126338709e-05 1.528443649706141e-05 1.511682986511545e-05 1.495060379262073e-05 - 1.478575075387210e-05 1.462226320346460e-05 1.446013347627832e-05 1.429935410828208e-05 1.413991783947596e-05 - 1.398181711799591e-05 1.382504440087988e-05 1.366959229690567e-05 1.351545344207288e-05 1.336262041089977e-05 - 1.321108569966174e-05 1.306084210743495e-05 1.291188246012095e-05 1.276419932540445e-05 1.261778537439798e-05 - 1.247263337350260e-05 1.232873611168182e-05 1.218608628547451e-05 1.204467661277090e-05 1.190450010670460e-05 - 1.176554964839514e-05 1.162781797531038e-05 1.149129796332477e-05 1.135598253898601e-05 1.122186462622714e-05 - 1.108893706038782e-05 1.095719281332111e-05 1.082662505098182e-05 1.069722672643097e-05 1.056899077370047e-05 - 1.044191025341683e-05 1.031597825830204e-05 1.019118784797653e-05 1.006753201372614e-05 9.945003972957807e-06 - 9.823597003224701e-06 9.703304169766936e-06 9.584118614966616e-06 9.466033570975281e-06 9.349042284940899e-06 - 9.233137946012443e-06 9.118313747892748e-06 9.004563126071509e-06 8.891879438415634e-06 8.780255908737012e-06 - 8.669685879934477e-06 8.560162746518096e-06 8.451679906731882e-06 8.344230688978416e-06 8.237808513777729e-06 - 8.132406985376577e-06 8.028019552616531e-06 7.924639629701503e-06 7.822260741691212e-06 7.720876445763237e-06 - 7.620480284148957e-06 7.521065743540658e-06 7.422626477381218e-06 7.325156218634066e-06 7.228648532638821e-06 - 7.133097034958690e-06 7.038495423985100e-06 6.944837416133499e-06 6.852116691729515e-06 6.760326924607246e-06 - 6.669461983453847e-06 6.579515704432944e-06 6.490481806747385e-06 6.402354101863004e-06 6.315126452251840e-06 - 6.228792731669073e-06 6.143346764859859e-06 6.058782435540508e-06 5.975093791198315e-06 5.892274772590937e-06 - 5.810319279027480e-06 5.729221306547671e-06 5.648974882411472e-06 5.569574030477156e-06 5.491012732167998e-06 - 5.413285091010444e-06 5.336385298912571e-06 5.260307420244722e-06 5.185045547999291e-06 5.110593849728286e-06 - 5.036946516955677e-06 4.964097720721464e-06 4.892041619202182e-06 4.820772525961763e-06 4.750284753859853e-06 - 4.680572517390150e-06 4.611630102585562e-06 4.543451844884654e-06 4.476032095169469e-06 4.409365173309600e-06 - 4.343445435493855e-06 4.278267378107974e-06 4.213825432046252e-06 4.150113986510229e-06 4.087127510654963e-06 - 4.024860505544460e-06 3.963307478207591e-06 3.902462905546128e-06 3.842321351732513e-06 3.782877469285005e-06 - 3.724125818875267e-06 3.666060976275786e-06 3.608677584308628e-06 3.551970310325800e-06 3.495933813913828e-06 - 3.440562742860537e-06 3.385851865026623e-06 3.331795968547279e-06 3.278389763636986e-06 3.225628015585682e-06 - 3.173505536483180e-06 3.122017155106099e-06 3.071157684657154e-06 3.020921961442045e-06 2.971304937503200e-06 - 2.922301530764381e-06 2.873906622400171e-06 2.826115159163556e-06 2.778922119160790e-06 2.732322492500433e-06 - 2.686311250918327e-06 2.640883427466542e-06 2.596034137909800e-06 2.551758437600915e-06 2.508051388712647e-06 - 2.464908112415978e-06 2.422323753722291e-06 2.380293459852445e-06 2.338812372063220e-06 2.297875719562253e-06 - 2.257478763762930e-06 2.217616712073996e-06 2.178284811840686e-06 2.139478353112250e-06 2.101192645402220e-06 - 2.063422994293474e-06 2.026164721213360e-06 1.989413239181793e-06 1.953163950788084e-06 1.917412231009713e-06 - 1.882153506609316e-06 1.847383234461138e-06 1.813096887995954e-06 1.779289933937322e-06 1.745957881749227e-06 - 1.713096313387221e-06 1.680700776153704e-06 1.648766820412035e-06 1.617290047665242e-06 1.586266083282953e-06 - 1.555690561349229e-06 1.525559115412809e-06 1.495867444877275e-06 1.466611286844381e-06 1.437786342321971e-06 - 1.409388342689011e-06 1.381413059137875e-06 1.353856283643994e-06 1.326713811980504e-06 1.299981452903499e-06 - 1.273655087535907e-06 1.247730601634883e-06 1.222203862466376e-06 1.197070780161529e-06 1.172327293218336e-06 - 1.147969358200551e-06 1.123992934949297e-06 1.100394014305713e-06 1.077168647815731e-06 1.054312872343777e-06 - 1.031822727943270e-06 1.009694299029158e-06 9.879236928228051e-07 9.665070295488333e-07 9.454404356909418e-07 - 9.247200854784831e-07 9.043421911847067e-07 8.843029477247774e-07 8.645985728173436e-07 8.452253193362285e-07 - 8.261794626052351e-07 8.074572875932502e-07 7.890550921071068e-07 7.709692301619030e-07 7.531960701353248e-07 - 7.357319715620587e-07 7.185733287203112e-07 7.017165630618881e-07 6.851581162834306e-07 6.688944388625421e-07 - 6.529220052598067e-07 6.372373411274385e-07 6.218369717692920e-07 6.067174274527125e-07 5.918752755194360e-07 - 5.773071063798692e-07 5.630095271034721e-07 5.489791556312369e-07 5.352126455394792e-07 5.217066864180125e-07 - 5.084579644193884e-07 4.954631845887763e-07 4.827190834887087e-07 4.702224204045173e-07 4.579699684713550e-07 - 4.459585154334098e-07 4.341848919935187e-07 4.226459485782965e-07 4.113385363883691e-07 4.002595352312233e-07 - 3.894058504065020e-07 3.787744086301839e-07 3.683621500987016e-07 3.581660355932383e-07 3.481830676805770e-07 - 3.384102581524441e-07 3.288446273745833e-07 3.194832275224818e-07 3.103231330843525e-07 3.013614373207315e-07 - 2.925952486098954e-07 2.840217031010630e-07 2.756379695267500e-07 2.674412234106971e-07 2.594286576386206e-07 - 2.515974937029081e-07 2.439449754383926e-07 2.364683632309526e-07 2.291649345383248e-07 2.220320002407473e-07 - 2.150668931442167e-07 2.082669548865648e-07 2.016295514473211e-07 1.951520727682157e-07 1.888319311586693e-07 - 1.826665552837694e-07 1.766533931743509e-07 1.707899271779558e-07 1.650736547045015e-07 1.595020857916059e-07 - 1.540727581256184e-07 1.487832309302349e-07 1.436310837043274e-07 1.386139140291348e-07 1.337293426531939e-07 - 1.289750194034745e-07 1.243486077550924e-07 1.198477884856861e-07 1.154702687444825e-07 1.112137774078364e-07 - 1.070760615754017e-07 1.030548878714015e-07 9.914804983102429e-08 9.535336319532080e-08 9.166865877274502e-08 - 8.809178921148019e-08 8.462062987184363e-08 8.125307865123530e-08 7.798705169188094e-08 7.482048486743137e-08 - 7.175134265372113e-08 6.877760756933380e-08 6.589727849023001e-08 6.310837918621049e-08 6.040895419177239e-08 - 5.779706919084610e-08 5.527080986023133e-08 5.282828275733461e-08 5.046762055622123e-08 4.818697371034567e-08 - 4.598451068334482e-08 4.385842456607357e-08 4.180692971968811e-08 3.982825980405518e-08 3.792066966127786e-08 - 3.608243718277188e-08 3.431186206040581e-08 3.260726312426322e-08 3.096697968233847e-08 2.938937298745983e-08 - 2.787282684203093e-08 2.641574418968914e-08 2.501654849393015e-08 2.367368813134603e-08 2.238563078881267e-08 - 2.115086344400587e-08 1.996789606940446e-08 1.883525886916157e-08 1.775150390948272e-08 1.671520402936120e-08 - 1.572495208680648e-08 1.477936511938296e-08 1.387707990026544e-08 1.301675220490221e-08 1.219706138041649e-08 - 1.141670750179082e-08 1.067441065312196e-08 9.968913113355902e-09 9.298978133402818e-09 8.663390331238368e-09 - 8.060955677291694e-09 7.490500025975069e-09 6.950870854385858e-09 6.440937996309972e-09 5.959590797852082e-09 - 5.505739944416565e-09 5.078318901633865e-09 4.676280806472903e-09 4.298600029449081e-09 3.944272776496124e-09 - 3.612315204086912e-09 3.301765808464261e-09 3.011683971683484e-09 2.741149022073358e-09 2.489263438950313e-09 - 2.255150010734707e-09 2.037951439802415e-09 1.836833426869985e-09 1.650981924522248e-09 1.479603458288696e-09 - 1.321927088896133e-09 1.177201927023745e-09 1.044698361371603e-09 9.237089042804517e-10 8.135457713165132e-10 - 7.135428727606122e-10 6.230561233086797e-10 5.414610837010692e-10 4.681552957722881e-10 4.025579739718386e-10 - 3.441080911031397e-10 2.922668865200973e-10 2.465167169238545e-10 2.063598966733955e-10 1.713213823559041e-10 - 1.409467301732644e-10 1.148017117805301e-10 9.247489436372923e-11 7.357503403670199e-11 5.773147403071901e-11 - 4.459623415664643e-11 3.384125546419585e-11 2.515956035071991e-11 1.826656159304613e-11 1.289741553721677e-11 - 8.808852910154413e-12 5.779611749592996e-12 3.608107240050744e-12 2.114775563702074e-12 1.141629414770904e-12 - 5.504076981088132e-13 2.252028793998774e-13 7.135404618680312e-14 1.400208835054596e-14 2.858282411901289e-16 - 0.000000000000000e+00 3.280907692410757e+00 6.559093802140417e+00 9.834554467967374e+00 1.310728583537977e+01 - 1.637728405657552e+01 1.964454529046227e+01 2.290906570265743e+01 2.617084146548816e+01 2.942986875799139e+01 - 3.268614376591378e+01 3.593966268171175e+01 3.919042170455148e+01 4.243841704030890e+01 4.568364490156970e+01 - 4.892610150762930e+01 5.216578308449292e+01 5.540268586487547e+01 5.863680608820168e+01 6.186814000060598e+01 - 6.509668385493259e+01 6.832243391073550e+01 7.154538643427834e+01 7.476553769853463e+01 7.798288398318758e+01 - 8.119742157463018e+01 8.440914676596513e+01 8.761805585700493e+01 9.082414515427180e+01 9.402741097099775e+01 - 9.722784962712448e+01 1.004254574493035e+02 1.036202307708961e+02 1.068121659319733e+02 1.100012592793157e+02 - 1.131875071664140e+02 1.163709059534683e+02 1.195514520073887e+02 1.227291417017950e+02 1.259039714170167e+02 - 1.290759375400930e+02 1.322450364647731e+02 1.354112645915156e+02 1.385746183274891e+02 1.417350940865720e+02 - 1.448926882893522e+02 1.480473973631275e+02 1.511992177419055e+02 1.543481458664036e+02 1.574941781840487e+02 - 1.606373111489777e+02 1.637775412220371e+02 1.669148648707833e+02 1.700492785694823e+02 1.731807787991100e+02 - 1.763093620473519e+02 1.794350248086033e+02 1.825577635839695e+02 1.856775748812652e+02 1.887944552150149e+02 - 1.919084011064531e+02 1.950194090835239e+02 1.981274756808810e+02 2.012325974398883e+02 2.043347709086188e+02 - 2.074339926418558e+02 2.105302592010923e+02 2.136235671545306e+02 2.167139130770834e+02 2.198012935503726e+02 - 2.228857051627302e+02 2.259671445091978e+02 2.290456081915269e+02 2.321210928181784e+02 2.351935950043234e+02 - 2.382631113718425e+02 2.413296385493261e+02 2.443931731720744e+02 2.474537118820972e+02 2.505112513281143e+02 - 2.535657881655549e+02 2.566173190565586e+02 2.596658406699738e+02 2.627113496813596e+02 2.657538427729843e+02 - 2.687933166338259e+02 2.718297679595726e+02 2.748631934526219e+02 2.778935898220815e+02 2.809209537837683e+02 - 2.839452820602094e+02 2.869665713806416e+02 2.899848184810112e+02 2.930000201039745e+02 2.960121729988974e+02 - 2.990212739218558e+02 3.020273196356349e+02 3.050303069097302e+02 3.080302325203465e+02 3.110270932503987e+02 - 3.140208858895110e+02 3.170116072340180e+02 3.199992540869634e+02 3.229838232581013e+02 3.259653115638948e+02 - 3.289437158275174e+02 3.319190328788521e+02 3.348912595544916e+02 3.378603926977383e+02 3.408264291586049e+02 - 3.437893657938130e+02 3.467491994667945e+02 3.497059270476910e+02 3.526595454133537e+02 3.556100514473437e+02 - 3.585574420399318e+02 3.615017140880985e+02 3.644428644955341e+02 3.673808901726388e+02 3.703157880365222e+02 - 3.732475550110041e+02 3.761761880266134e+02 3.791016840205897e+02 3.820240399368814e+02 3.849432527261474e+02 - 3.878593193457557e+02 3.907722367597846e+02 3.936820019390219e+02 3.965886118609651e+02 3.994920635098217e+02 - 4.023923538765087e+02 4.052894799586530e+02 4.081834387605912e+02 4.110742272933696e+02 4.139618425747443e+02 - 4.168462816291812e+02 4.197275414878559e+02 4.226056191886540e+02 4.254805117761704e+02 4.283522163017099e+02 - 4.312207298232872e+02 4.340860494056267e+02 4.369481721201628e+02 4.398070950450389e+02 4.426628152651090e+02 - 4.455153298719365e+02 4.483646359637945e+02 4.512107306456656e+02 4.540536110292430e+02 4.568932742329288e+02 - 4.597297173818351e+02 4.625629376077841e+02 4.653929320493071e+02 4.682196978516460e+02 4.710432321667516e+02 - 4.738635321532851e+02 4.766805949766169e+02 4.794944178088276e+02 4.823049978287075e+02 4.851123322217564e+02 - 4.879164181801841e+02 4.907172529029099e+02 4.935148335955632e+02 4.963091574704831e+02 4.991002217467178e+02 - 5.018880236500261e+02 5.046725604128764e+02 5.074538292744463e+02 5.102318274806237e+02 5.130065522840063e+02 - 5.157780009439010e+02 5.185461707263250e+02 5.213110589040049e+02 5.240726627563774e+02 5.268309795695885e+02 - 5.295860066364945e+02 5.323377412566609e+02 5.350861807363634e+02 5.378313223885873e+02 5.405731635330272e+02 - 5.433117014960885e+02 5.460469336108854e+02 5.487788572172420e+02 5.515074696616928e+02 5.542327682974811e+02 - 5.569547504845609e+02 5.596734135895950e+02 5.623887549859570e+02 5.651007720537292e+02 5.678094621797045e+02 - 5.705148227573850e+02 5.732168511869830e+02 5.759155448754203e+02 5.786109012363282e+02 5.813029176900482e+02 - 5.839915916636313e+02 5.866769205908384e+02 5.893589019121401e+02 5.920375330747167e+02 5.947128115324583e+02 - 5.973847347459648e+02 6.000533001825459e+02 6.027185053162206e+02 6.053803476277183e+02 6.080388246044777e+02 - 6.106939337406476e+02 6.133456725370861e+02 6.159940385013617e+02 6.186390291477520e+02 6.212806419972447e+02 - 6.239188745775372e+02 6.265537244230364e+02 6.291851890748597e+02 6.318132660808333e+02 6.344379529954938e+02 - 6.370592473800871e+02 6.396771468025696e+02 6.422916488376064e+02 6.449027510665734e+02 6.475104510775553e+02 - 6.501147464653474e+02 6.527156348314542e+02 6.553131137840901e+02 6.579071809381794e+02 6.604978339153558e+02 - 6.630850703439634e+02 6.656688878590552e+02 6.682492841023947e+02 6.708262567224546e+02 6.733998033744177e+02 - 6.759699217201766e+02 6.785366094283333e+02 6.810998641742000e+02 6.836596836397980e+02 6.862160655138592e+02 - 6.887690074918247e+02 6.913185072758453e+02 6.938645625747821e+02 6.964071711042051e+02 6.989463305863949e+02 - 7.014820387503412e+02 7.040142933317441e+02 7.065430920730126e+02 7.090684327232666e+02 7.115903130383348e+02 - 7.141087307807558e+02 7.166236837197782e+02 7.191351696313601e+02 7.216431862981700e+02 7.241477315095852e+02 - 7.266488030616937e+02 7.291463987572921e+02 7.316405164058881e+02 7.341311538236981e+02 7.366183088336488e+02 - 7.391019792653765e+02 7.415821629552270e+02 7.440588577462564e+02 7.465320614882301e+02 7.490017720376235e+02 - 7.514679872576214e+02 7.539307050181191e+02 7.563899231957208e+02 7.588456396737411e+02 7.612978523422037e+02 - 7.637465590978424e+02 7.661917578441014e+02 7.686334464911333e+02 7.710716229558018e+02 7.735062851616793e+02 - 7.759374310390485e+02 7.783650585249019e+02 7.807891655629417e+02 7.832097501035795e+02 7.856268101039369e+02 - 7.880403435278453e+02 7.904503483458460e+02 7.928568225351897e+02 7.952597640798369e+02 7.976591709704585e+02 - 8.000550412044341e+02 8.024473727858536e+02 8.048361637255169e+02 8.072214120409334e+02 8.096031157563222e+02 - 8.119812729026120e+02 8.143558815174417e+02 8.167269396451593e+02 8.190944453368236e+02 8.214583966502021e+02 - 8.238187916497725e+02 8.261756284067224e+02 8.285289049989487e+02 8.308786195110586e+02 8.332247700343684e+02 - 8.355673546669050e+02 8.379063715134042e+02 8.402418186853124e+02 8.425736943007848e+02 8.449019964846872e+02 - 8.472267233685945e+02 8.495478730907921e+02 8.518654437962743e+02 8.541794336367457e+02 8.564898407706205e+02 - 8.587966633630226e+02 8.610998995857861e+02 8.633995476174539e+02 8.656956056432798e+02 8.679880718552264e+02 - 8.702769444519665e+02 8.725622216388828e+02 8.748439016280670e+02 8.771219826383219e+02 8.793964628951586e+02 - 8.816673406307990e+02 8.839346140841741e+02 8.861982815009252e+02 8.884583411334027e+02 8.907147912406675e+02 - 8.929676300884897e+02 8.952168559493493e+02 8.974624671024361e+02 8.997044618336495e+02 9.019428384355992e+02 - 9.041775952076036e+02 9.064087304556922e+02 9.086362424926032e+02 9.108601296377846e+02 9.130803902173951e+02 - 9.152970225643020e+02 9.175100250180832e+02 9.197193959250255e+02 9.219251336381268e+02 9.241272365170935e+02 - 9.263257029283417e+02 9.285205312449986e+02 9.307117198468995e+02 9.328992671205907e+02 9.350831714593277e+02 - 9.372634312630761e+02 9.394400449385104e+02 9.416130108990160e+02 9.437823275646871e+02 9.459479933623287e+02 - 9.481100067254541e+02 9.502683660942876e+02 9.524230699157629e+02 9.545741166435229e+02 9.567215047379214e+02 - 9.588652326660207e+02 9.610052989015940e+02 9.631417019251231e+02 9.652744402238004e+02 9.674035122915279e+02 - 9.695289166289172e+02 9.716506517432896e+02 9.737687161486764e+02 9.758831083658184e+02 9.779938269221661e+02 - 9.801008703518804e+02 9.822042371958310e+02 9.843039260015983e+02 9.863999353234714e+02 9.884922637224498e+02 - 9.905809097662435e+02 9.926658720292703e+02 9.947471490926598e+02 9.968247395442500e+02 9.988986419785891e+02 - 1.000968854996935e+03 1.003035377207256e+03 1.005098207224229e+03 1.007157343669241e+03 1.009212785170389e+03 - 1.011264530362480e+03 1.013312577887031e+03 1.015356926392268e+03 1.017397574533126e+03 1.019434520971252e+03 - 1.021467764375000e+03 1.023497303419437e+03 1.025523136786337e+03 1.027545263164185e+03 1.029563681248175e+03 - 1.031578389740212e+03 1.033589387348909e+03 1.035596672789591e+03 1.037600244784291e+03 1.039600102061752e+03 - 1.041596243357428e+03 1.043588667413480e+03 1.045577372978782e+03 1.047562358808916e+03 1.049543623666173e+03 - 1.051521166319557e+03 1.053494985544777e+03 1.055465080124256e+03 1.057431448847125e+03 1.059394090509224e+03 - 1.061353003913104e+03 1.063308187868025e+03 1.065259641189957e+03 1.067207362701581e+03 1.069151351232285e+03 - 1.071091605618170e+03 1.073028124702043e+03 1.074960907333424e+03 1.076889952368542e+03 1.078815258670335e+03 - 1.080736825108451e+03 1.082654650559248e+03 1.084568733905793e+03 1.086479074037864e+03 1.088385669851947e+03 - 1.090288520251241e+03 1.092187624145651e+03 1.094082980451794e+03 1.095974588092995e+03 1.097862445999292e+03 - 1.099746553107428e+03 1.101626908360861e+03 1.103503510709754e+03 1.105376359110983e+03 1.107245452528133e+03 - 1.109110789931497e+03 1.110972370298081e+03 1.112830192611597e+03 1.114684255862470e+03 1.116534559047833e+03 - 1.118381101171529e+03 1.120223881244111e+03 1.122062898282842e+03 1.123898151311694e+03 1.125729639361349e+03 - 1.127557361469200e+03 1.129381316679347e+03 1.131201504042604e+03 1.133017922616489e+03 1.134830571465235e+03 - 1.136639449659783e+03 1.138444556277782e+03 1.140245890403593e+03 1.142043451128286e+03 1.143837237549640e+03 - 1.145627248772146e+03 1.147413483907002e+03 1.149195942072117e+03 1.150974622392110e+03 1.152749523998310e+03 - 1.154520646028755e+03 1.156287987628192e+03 1.158051547948079e+03 1.159811326146585e+03 1.161567321388586e+03 - 1.163319532845669e+03 1.165067959696131e+03 1.166812601124979e+03 1.168553456323928e+03 1.170290524491405e+03 - 1.172023804832545e+03 1.173753296559195e+03 1.175478998889909e+03 1.177200911049953e+03 1.178919032271301e+03 - 1.180633361792637e+03 1.182343898859357e+03 1.184050642723563e+03 1.185753592644071e+03 1.187452747886402e+03 - 1.189148107722792e+03 1.190839671432183e+03 1.192527438300227e+03 1.194211407619287e+03 1.195891578688435e+03 - 1.197567950813455e+03 1.199240523306837e+03 1.200909295487783e+03 1.202574266682204e+03 1.204235436222721e+03 - 1.205892803448666e+03 1.207546367706079e+03 1.209196128347710e+03 1.210842084733019e+03 1.212484236228177e+03 - 1.214122582206062e+03 1.215757122046265e+03 1.217387855135084e+03 1.219014780865528e+03 1.220637898637316e+03 - 1.222257207856876e+03 1.223872707937346e+03 1.225484398298575e+03 1.227092278367119e+03 1.228696347576247e+03 - 1.230296605365935e+03 1.231893051182870e+03 1.233485684480449e+03 1.235074504718779e+03 1.236659511364675e+03 - 1.238240703891664e+03 1.239818081779981e+03 1.241391644516571e+03 1.242961391595090e+03 1.244527322515903e+03 - 1.246089436786084e+03 1.247647733919417e+03 1.249202213436398e+03 1.250752874864230e+03 1.252299717736826e+03 - 1.253842741594810e+03 1.255381945985516e+03 1.256917330462986e+03 1.258448894587972e+03 1.259976637927938e+03 - 1.261500560057056e+03 1.263020660556207e+03 1.264536939012984e+03 1.266049395021687e+03 1.267558028183329e+03 - 1.269062838105629e+03 1.270563824403019e+03 1.272060986696640e+03 1.273554324614341e+03 1.275043837790682e+03 - 1.276529525866934e+03 1.278011388491075e+03 1.279489425317796e+03 1.280963636008494e+03 1.282434020231280e+03 - 1.283900577660971e+03 1.285363307979095e+03 1.286822210873891e+03 1.288277286040307e+03 1.289728533179999e+03 - 1.291175952001336e+03 1.292619542219393e+03 1.294059303555960e+03 1.295495235739530e+03 1.296927338505312e+03 - 1.298355611595221e+03 1.299780054757883e+03 1.301200667748633e+03 1.302617450329516e+03 1.304030402269289e+03 - 1.305439523343415e+03 1.306844813334069e+03 1.308246272030136e+03 1.309643899227210e+03 1.311037694727594e+03 - 1.312427658340302e+03 1.313813789881058e+03 1.315196089172293e+03 1.316574556043153e+03 1.317949190329488e+03 - 1.319319991873862e+03 1.320686960525546e+03 1.322050096140523e+03 1.323409398581483e+03 1.324764867717829e+03 - 1.326116503425671e+03 1.327464305587830e+03 1.328808274093838e+03 1.330148408839934e+03 1.331484709729068e+03 - 1.332817176670901e+03 1.334145809581802e+03 1.335470608384850e+03 1.336791573009835e+03 1.338108703393256e+03 - 1.339421999478320e+03 1.340731461214948e+03 1.342037088559766e+03 1.343338881476113e+03 1.344636839934036e+03 - 1.345930963910293e+03 1.347221253388351e+03 1.348507708358388e+03 1.349790328817288e+03 1.351069114768650e+03 - 1.352344066222779e+03 1.353615183196692e+03 1.354882465714113e+03 1.356145913805479e+03 1.357405527507935e+03 - 1.358661306865335e+03 1.359913251928245e+03 1.361161362753938e+03 1.362405639406399e+03 1.363646081956323e+03 - 1.364882690481112e+03 1.366115465064880e+03 1.367344405798451e+03 1.368569512779358e+03 1.369790786111843e+03 - 1.371008225906858e+03 1.372221832282067e+03 1.373431605361840e+03 1.374637545277261e+03 1.375839652166119e+03 - 1.377037926172918e+03 1.378232367448867e+03 1.379422976151887e+03 1.380609752446609e+03 1.381792696504374e+03 - 1.382971808503231e+03 1.384147088627939e+03 1.385318537069970e+03 1.386486154027501e+03 1.387649939705423e+03 - 1.388809894315333e+03 1.389966018075540e+03 1.391118311211063e+03 1.392266773953630e+03 1.393411406541678e+03 - 1.394552209220356e+03 1.395689182241520e+03 1.396822325863737e+03 1.397951640352285e+03 1.399077125979150e+03 - 1.400198783023028e+03 1.401316611769325e+03 1.402430612510158e+03 1.403540785544351e+03 1.404647131177441e+03 - 1.405749649721672e+03 1.406848341496000e+03 1.407943206826088e+03 1.409034246044311e+03 1.410121459489754e+03 - 1.411204847508209e+03 1.412284410452182e+03 1.413360148680885e+03 1.414432062560241e+03 1.415500152462884e+03 - 1.416564418768155e+03 1.417624861862108e+03 1.418681482137504e+03 1.419734279993815e+03 1.420783255837224e+03 - 1.421828410080621e+03 1.422869743143608e+03 1.423907255452495e+03 1.424940947440303e+03 1.425970819546763e+03 - 1.426996872218314e+03 1.428019105908108e+03 1.429037521076003e+03 1.430052118188569e+03 1.431062897719085e+03 - 1.432069860147540e+03 1.433073005960632e+03 1.434072335651771e+03 1.435067849721075e+03 1.436059548675370e+03 - 1.437047433028196e+03 1.438031503299800e+03 1.439011760017138e+03 1.439988203713878e+03 1.440960834930396e+03 - 1.441929654213780e+03 1.442894662117825e+03 1.443855859203037e+03 1.444813246036631e+03 1.445766823192535e+03 - 1.446716591251382e+03 1.447662550800518e+03 1.448604702433997e+03 1.449543046752585e+03 1.450477584363755e+03 - 1.451408315881691e+03 1.452335241927287e+03 1.453258363128147e+03 1.454177680118583e+03 1.455093193539620e+03 - 1.456004904038989e+03 1.456912812271134e+03 1.457816918897206e+03 1.458717224585068e+03 1.459613730009291e+03 - 1.460506435851157e+03 1.461395342798658e+03 1.462280451546494e+03 1.463161762796076e+03 1.464039277255525e+03 - 1.464912995639670e+03 1.465782918670054e+03 1.466649047074924e+03 1.467511381589240e+03 1.468369922954673e+03 - 1.469224671919600e+03 1.470075629239112e+03 1.470922795675006e+03 1.471766171995790e+03 1.472605758976684e+03 - 1.473441557399614e+03 1.474273568053219e+03 1.475101791732846e+03 1.475926229240551e+03 1.476746881385102e+03 - 1.477563748981976e+03 1.478376832853358e+03 1.479186133828146e+03 1.479991652741944e+03 1.480793390437068e+03 - 1.481591347762545e+03 1.482385525574108e+03 1.483175924734204e+03 1.483962546111986e+03 1.484745390583318e+03 - 1.485524459030776e+03 1.486299752343644e+03 1.487071271417914e+03 1.487839017156289e+03 1.488602990468185e+03 - 1.489363192269722e+03 1.490119623483735e+03 1.490872285039765e+03 1.491621177874064e+03 1.492366302929595e+03 - 1.493107661156030e+03 1.493845253509749e+03 1.494579080953843e+03 1.495309144458115e+03 1.496035444999074e+03 - 1.496757983559942e+03 1.497476761130647e+03 1.498191778707831e+03 1.498903037294843e+03 1.499610537901742e+03 - 1.500314281545298e+03 1.501014269248990e+03 1.501710502043006e+03 1.502402980964245e+03 1.503091707056315e+03 - 1.503776681369534e+03 1.504457904960931e+03 1.505135378894241e+03 1.505809104239914e+03 1.506479082075105e+03 - 1.507145313483682e+03 1.507807799556220e+03 1.508466541390007e+03 1.509121540089038e+03 1.509772796764020e+03 - 1.510420312532367e+03 1.511064088518205e+03 1.511704125852369e+03 1.512340425672404e+03 1.512972989122564e+03 - 1.513601817353814e+03 1.514226911523828e+03 1.514848272796989e+03 1.515465902344391e+03 1.516079801343838e+03 - 1.516689970979842e+03 1.517296412443626e+03 1.517899126933124e+03 1.518498115652977e+03 1.519093379814537e+03 - 1.519684920635866e+03 1.520272739341736e+03 1.520856837163628e+03 1.521437215339733e+03 1.522013875114953e+03 - 1.522586817740897e+03 1.523156044475887e+03 1.523721556584951e+03 1.524283355339831e+03 1.524841442018975e+03 - 1.525395817907543e+03 1.525946484297405e+03 1.526493442487138e+03 1.527036693782033e+03 1.527576239494086e+03 - 1.528112080942007e+03 1.528644219451213e+03 1.529172656353831e+03 1.529697392988700e+03 1.530218430701367e+03 - 1.530735770844087e+03 1.531249414775829e+03 1.531759363862268e+03 1.532265619475790e+03 1.532768182995492e+03 - 1.533267055807180e+03 1.533762239303368e+03 1.534253734883281e+03 1.534741543952856e+03 1.535225667924735e+03 - 1.535706108218275e+03 1.536182866259539e+03 1.536655943481301e+03 1.537125341323045e+03 1.537591061230964e+03 - 1.538053104657961e+03 1.538511473063650e+03 1.538966167914353e+03 1.539417190683102e+03 1.539864542849641e+03 - 1.540308225900420e+03 1.540748241328602e+03 1.541184590634058e+03 1.541617275323370e+03 1.542046296909827e+03 - 1.542471656913432e+03 1.542893356860894e+03 1.543311398285634e+03 1.543725782727782e+03 1.544136511734178e+03 - 1.544543586858370e+03 1.544947009660620e+03 1.545346781707894e+03 1.545742904573873e+03 1.546135379838945e+03 - 1.546524209090207e+03 1.546909393921469e+03 1.547290935933248e+03 1.547668836732771e+03 1.548043097933976e+03 - 1.548413721157510e+03 1.548780708030729e+03 1.549144060187701e+03 1.549503779269201e+03 1.549859866922715e+03 - 1.550212324802440e+03 1.550561154569281e+03 1.550906357890854e+03 1.551247936441483e+03 1.551585891902203e+03 - 1.551920225960758e+03 1.552250940311604e+03 1.552578036655905e+03 1.552901516701533e+03 1.553221382163073e+03 - 1.553537634761818e+03 1.553850276225772e+03 1.554159308289647e+03 1.554464732694865e+03 1.554766551189559e+03 - 1.555064765528572e+03 1.555359377473454e+03 1.555650388792468e+03 1.555937801260586e+03 1.556221616659488e+03 - 1.556501836777564e+03 1.556778463409917e+03 1.557051498358356e+03 1.557320943431401e+03 1.557586800444283e+03 - 1.557849071218940e+03 1.558107757584023e+03 1.558362861374890e+03 1.558614384433611e+03 1.558862328608964e+03 - 1.559106695756438e+03 1.559347487738230e+03 1.559584706423249e+03 1.559818353687112e+03 1.560048431412147e+03 - 1.560274941487391e+03 1.560497885808591e+03 1.560717266278204e+03 1.560933084805396e+03 1.561145343306044e+03 - 1.561354043702732e+03 1.561559187924758e+03 1.561760777908126e+03 1.561958815595552e+03 1.562153302936461e+03 - 1.562344241886987e+03 1.562531634409975e+03 1.562715482474979e+03 1.562895788058264e+03 1.563072553142803e+03 - 1.563245779718279e+03 1.563415469781085e+03 1.563581625334326e+03 1.563744248387813e+03 1.563903340958068e+03 - 1.564058905068325e+03 1.564210942748526e+03 1.564359456035321e+03 1.564504446972073e+03 1.564645917608853e+03 - 1.564783870002442e+03 1.564918306216331e+03 1.565049228320720e+03 1.565176638392519e+03 1.565300538515349e+03 - 1.565420930779540e+03 1.565537817282130e+03 1.565651200126870e+03 1.565761081424219e+03 1.565867463291344e+03 - 1.565970347852125e+03 1.566069737237150e+03 1.566165633583717e+03 1.566258039035835e+03 1.566346955744220e+03 - 1.566432385866300e+03 1.566514331566212e+03 1.566592795014803e+03 1.566667778389629e+03 1.566739283874957e+03 - 1.566807313661764e+03 1.566871869947734e+03 1.566932954937263e+03 1.566990570841457e+03 1.567044719878131e+03 - 1.567095404271811e+03 1.567142626253729e+03 1.567186388061831e+03 1.567226691940771e+03 1.567263540141913e+03 - 1.567296934923331e+03 1.567326878549808e+03 1.567353373292836e+03 1.567376421430620e+03 1.567396025248071e+03 - 1.567412187036812e+03 1.567424909095176e+03 1.567434193728203e+03 1.567440043247646e+03 1.567442459971967e+03 - 1.567441446226336e+03 1.567437004342634e+03 1.567429136659453e+03 1.567417845522091e+03 1.567403133282561e+03 - 1.567385002299581e+03 1.567363454938582e+03 1.567338493571702e+03 1.567310120577791e+03 1.567278338342408e+03 - 1.567243149257822e+03 1.567204555723011e+03 1.567162560143663e+03 1.567117164932177e+03 1.567068372507660e+03 - 1.567016185295929e+03 1.566960605729512e+03 1.566901636247646e+03 1.566839279296277e+03 1.566773537328063e+03 - 1.566704412802369e+03 1.566631908185271e+03 1.566556025949555e+03 1.566476768574717e+03 1.566394138546961e+03 - 1.566308138359204e+03 1.566218770511069e+03 1.566126037508891e+03 1.566029941865714e+03 1.565930486101294e+03 - 1.565827672742092e+03 1.565721504321283e+03 1.565611983378751e+03 1.565499112461087e+03 1.565382894121595e+03 - 1.565263330920288e+03 1.565140425423888e+03 1.565014180205826e+03 1.564884597846246e+03 1.564751680931997e+03 - 1.564615432056643e+03 1.564475853820452e+03 1.564332948830408e+03 1.564186719700199e+03 1.564037169050227e+03 - 1.563884299507601e+03 1.563728113706142e+03 1.563568614286379e+03 1.563405803895550e+03 1.563239685187607e+03 - 1.563070260823207e+03 1.562897533469719e+03 1.562721505801220e+03 1.562542180498501e+03 1.562359560249057e+03 - 1.562173647747097e+03 1.561984445693539e+03 1.561791956796009e+03 1.561596183768845e+03 1.561397129333092e+03 - 1.561194796216507e+03 1.560989187153558e+03 1.560780304885418e+03 1.560568152159974e+03 1.560352731731822e+03 - 1.560134046362267e+03 1.559912098819323e+03 1.559686891877715e+03 1.559458428318879e+03 1.559226710930956e+03 - 1.558991742508803e+03 1.558753525853981e+03 1.558512063774766e+03 1.558267359086140e+03 1.558019414609795e+03 - 1.557768233174136e+03 1.557513817614273e+03 1.557256170772030e+03 1.556995295495938e+03 1.556731194641239e+03 - 1.556463871069885e+03 1.556193327650536e+03 1.555919567258564e+03 1.555642592776049e+03 1.555362407091783e+03 - 1.555079013101264e+03 1.554792413706704e+03 1.554502611817021e+03 1.554209610347846e+03 1.553913412221517e+03 - 1.553614020367084e+03 1.553311437720305e+03 1.553005667223649e+03 1.552696711826295e+03 1.552384574484129e+03 - 1.552069258159750e+03 1.551750765822466e+03 1.551429100448294e+03 1.551104265019960e+03 1.550776262526902e+03 - 1.550445095965265e+03 1.550110768337907e+03 1.549773282654394e+03 1.549432641931000e+03 1.549088849190713e+03 - 1.548741907463227e+03 1.548391819784946e+03 1.548038589198987e+03 1.547682218755173e+03 1.547322711510039e+03 - 1.546960070526829e+03 1.546594298875496e+03 1.546225399632705e+03 1.545853375881829e+03 1.545478230712950e+03 - 1.545099967222861e+03 1.544718588515066e+03 1.544334097699777e+03 1.543946497893915e+03 1.543555792221112e+03 - 1.543161983811711e+03 1.542765075802762e+03 1.542365071338026e+03 1.541961973567975e+03 1.541555785649789e+03 - 1.541146510747358e+03 1.540734152031283e+03 1.540318712678874e+03 1.539900195874149e+03 1.539478604807839e+03 - 1.539053942677383e+03 1.538626212686929e+03 1.538195418047336e+03 1.537761561976173e+03 1.537324647697717e+03 - 1.536884678442957e+03 1.536441657449592e+03 1.535995587962026e+03 1.535546473231378e+03 1.535094316515475e+03 - 1.534639121078853e+03 1.534180890192759e+03 1.533719627135150e+03 1.533255335190690e+03 1.532788017650757e+03 - 1.532317677813435e+03 1.531844318983518e+03 1.531367944472514e+03 1.530888557598635e+03 1.530406161686807e+03 - 1.529920760068664e+03 1.529432356082550e+03 1.528940953073517e+03 1.528446554393331e+03 1.527949163400464e+03 - 1.527448783460099e+03 1.526945417944129e+03 1.526439070231157e+03 1.525929743706494e+03 1.525417441762163e+03 - 1.524902167796895e+03 1.524383925216131e+03 1.523862717432025e+03 1.523338547863434e+03 1.522811419935932e+03 - 1.522281337081799e+03 1.521748302740024e+03 1.521212320356308e+03 1.520673393383061e+03 1.520131525279401e+03 - 1.519586719511159e+03 1.519038979550873e+03 1.518488308877793e+03 1.517934710977876e+03 1.517378189343791e+03 - 1.516818747474916e+03 1.516256388877339e+03 1.515691117063858e+03 1.515122935553979e+03 1.514551847873920e+03 - 1.513977857556607e+03 1.513400968141679e+03 1.512821183175479e+03 1.512238506211065e+03 1.511652940808203e+03 - 1.511064490533368e+03 1.510473158959745e+03 1.509878949667230e+03 1.509281866242427e+03 1.508681912278651e+03 - 1.508079091375926e+03 1.507473407140987e+03 1.506864863187277e+03 1.506253463134950e+03 1.505639210610869e+03 - 1.505022109248608e+03 1.504402162688449e+03 1.503779374577385e+03 1.503153748569118e+03 1.502525288324061e+03 - 1.501893997509335e+03 1.501259879798773e+03 1.500622938872914e+03 1.499983178419011e+03 1.499340602131025e+03 - 1.498695213709626e+03 1.498047016862194e+03 1.497396015302820e+03 1.496742212752304e+03 1.496085612938155e+03 - 1.495426219594593e+03 1.494764036462547e+03 1.494099067289655e+03 1.493431315830267e+03 1.492760785845442e+03 - 1.492087481102946e+03 1.491411405377259e+03 1.490732562449567e+03 1.490050956107769e+03 1.489366590146471e+03 - 1.488679468366991e+03 1.487989594577355e+03 1.487296972592300e+03 1.486601606233272e+03 1.485903499328426e+03 - 1.485202655712629e+03 1.484499079227457e+03 1.483792773721193e+03 1.483083743048834e+03 1.482371991072084e+03 - 1.481657521659358e+03 1.480940338685780e+03 1.480220446033183e+03 1.479497847590113e+03 1.478772547251821e+03 - 1.478044548920272e+03 1.477313856504138e+03 1.476580473918802e+03 1.475844405086357e+03 1.475105653935605e+03 - 1.474364224402058e+03 1.473620120427938e+03 1.472873345962177e+03 1.472123904960415e+03 1.471371801385004e+03 - 1.470617039205005e+03 1.469859622396187e+03 1.469099554941032e+03 1.468336840828730e+03 1.467571484055180e+03 - 1.466803488622991e+03 1.466032858541484e+03 1.465259597826687e+03 1.464483710501340e+03 1.463705200594890e+03 - 1.462924072143496e+03 1.462140329190026e+03 1.461353975784058e+03 1.460565015981880e+03 1.459773453846489e+03 - 1.458979293447591e+03 1.458182538861605e+03 1.457383194171656e+03 1.456581263467582e+03 1.455776750845927e+03 - 1.454969660409948e+03 1.454159996269611e+03 1.453347762541590e+03 1.452532963349272e+03 1.451715602822750e+03 - 1.450895685098830e+03 1.450073214321026e+03 1.449248194639563e+03 1.448420630211373e+03 1.447590525200101e+03 - 1.446757883776100e+03 1.445922710116434e+03 1.445085008404874e+03 1.444244782831905e+03 1.443402037594718e+03 - 1.442556776897215e+03 1.441709004950008e+03 1.440858725970420e+03 1.440005944182481e+03 1.439150663816933e+03 - 1.438292889111226e+03 1.437432624309523e+03 1.436569873662692e+03 1.435704641428314e+03 1.434836931870678e+03 - 1.433966749260786e+03 1.433094097876346e+03 1.432218982001777e+03 1.431341405928208e+03 1.430461373953479e+03 - 1.429578890382137e+03 1.428693959525441e+03 1.427806585701360e+03 1.426916773234569e+03 1.426024526456458e+03 - 1.425129849705122e+03 1.424232747325370e+03 1.423333223668719e+03 1.422431283093393e+03 1.421526929964331e+03 - 1.420620168653178e+03 1.419711003538289e+03 1.418799439004731e+03 1.417885479444278e+03 1.416969129255415e+03 - 1.416050392843337e+03 1.415129274619950e+03 1.414205779003866e+03 1.413279910420411e+03 1.412351673301618e+03 - 1.411421072086230e+03 1.410488111219700e+03 1.409552795154193e+03 1.408615128348581e+03 1.407675115268446e+03 - 1.406732760386080e+03 1.405788068180486e+03 1.404841043137375e+03 1.403891689749170e+03 1.402940012515001e+03 - 1.401986015940709e+03 1.401029704538846e+03 1.400071082828672e+03 1.399110155336157e+03 1.398146926593981e+03 - 1.397181401141535e+03 1.396213583524918e+03 1.395243478296938e+03 1.394271090017116e+03 1.393296423251680e+03 - 1.392319482573570e+03 1.391340272562432e+03 1.390358797804626e+03 1.389375062893219e+03 1.388389072427989e+03 - 1.387400831015423e+03 1.386410343268718e+03 1.385417613807782e+03 1.384422647259231e+03 1.383425448256391e+03 - 1.382426021439299e+03 1.381424371454700e+03 1.380420502956051e+03 1.379414420603515e+03 1.378406129063970e+03 - 1.377395633010999e+03 1.376382937124898e+03 1.375368046092671e+03 1.374350964608031e+03 1.373331697371403e+03 - 1.372310249089921e+03 1.371286624477428e+03 1.370260828254477e+03 1.369232865148331e+03 1.368202739892964e+03 - 1.367170457229056e+03 1.366136021904002e+03 1.365099438671902e+03 1.364060712293568e+03 1.363019847536522e+03 - 1.361976849174995e+03 1.360931721989928e+03 1.359884470768972e+03 1.358835100306487e+03 1.357783615403544e+03 - 1.356730020867921e+03 1.355674321514110e+03 1.354616522163310e+03 1.353556627643430e+03 1.352494642789090e+03 - 1.351430572441617e+03 1.350364421449050e+03 1.349296194666138e+03 1.348225896954338e+03 1.347153533181818e+03 - 1.346079108223457e+03 1.345002626960841e+03 1.343924094282267e+03 1.342843515082743e+03 1.341760894263984e+03 - 1.340676236734416e+03 1.339589547409177e+03 1.338500831210112e+03 1.337410093065776e+03 1.336317337911434e+03 - 1.335222570689062e+03 1.334125796347346e+03 1.333027019841677e+03 1.331926246134163e+03 1.330823480193616e+03 - 1.329718726995561e+03 1.328611991522230e+03 1.327503278762568e+03 1.326392593712228e+03 1.325279941373571e+03 - 1.324165326755672e+03 1.323048754874311e+03 1.321930230751983e+03 1.320809759417887e+03 1.319687345907936e+03 - 1.318562995264752e+03 1.317436712537665e+03 1.316308502782716e+03 1.315178371062656e+03 1.314046322446946e+03 - 1.312912362011755e+03 1.311776494839963e+03 1.310638726021160e+03 1.309499060651645e+03 1.308357503834428e+03 - 1.307214060679228e+03 1.306068736302473e+03 1.304921535827301e+03 1.303772464383560e+03 1.302621527107810e+03 - 1.301468729143317e+03 1.300314075640058e+03 1.299157571754721e+03 1.297999222650704e+03 1.296839033498112e+03 - 1.295677009473761e+03 1.294513155761180e+03 1.293347477550602e+03 1.292179980038974e+03 1.291010668429951e+03 - 1.289839547933899e+03 1.288666623767893e+03 1.287491901155716e+03 1.286315385327865e+03 1.285137081521542e+03 - 1.283956994980662e+03 1.282775130955849e+03 1.281591494704436e+03 1.280406091490466e+03 1.279218926584693e+03 - 1.278030005264579e+03 1.276839332814297e+03 1.275646914524728e+03 1.274452755693465e+03 1.273256861624810e+03 - 1.272059237629775e+03 1.270859889026079e+03 1.269658821138155e+03 1.268456039297144e+03 1.267251548840895e+03 - 1.266045355113969e+03 1.264837463467636e+03 1.263627879259876e+03 1.262416607855379e+03 1.261203654625543e+03 - 1.259989024948479e+03 1.258772724209004e+03 1.257554757798647e+03 1.256335131115646e+03 1.255113849564950e+03 - 1.253890918558217e+03 1.252666343513813e+03 1.251440129856817e+03 1.250212283019015e+03 1.248982808438904e+03 - 1.247751711561691e+03 1.246518997839292e+03 1.245284672730334e+03 1.244048741700151e+03 1.242811210220790e+03 - 1.241572083771006e+03 1.240331367836264e+03 1.239089067908740e+03 1.237845189487317e+03 1.236599738077590e+03 - 1.235352719191863e+03 1.234104138349150e+03 1.232854001075175e+03 1.231602312902370e+03 1.230349079369880e+03 - 1.229094306023557e+03 1.227837998415964e+03 1.226580162106373e+03 1.225320802660766e+03 1.224059925651835e+03 - 1.222797536658982e+03 1.221533641268318e+03 1.220268245072664e+03 1.219001353671552e+03 1.217732972671222e+03 - 1.216463107684624e+03 1.215191764331420e+03 1.213918948237977e+03 1.212644665037377e+03 1.211368920369408e+03 - 1.210091719880570e+03 1.208813069224072e+03 1.207532974059833e+03 1.206251440054480e+03 1.204968472881353e+03 - 1.203684078220499e+03 1.202398261758676e+03 1.201111029189351e+03 1.199822386212701e+03 1.198532338535615e+03 - 1.197240891871687e+03 1.195948051941225e+03 1.194653824471246e+03 1.193358215195474e+03 1.192061229854346e+03 - 1.190762874195007e+03 1.189463153971313e+03 1.188162074943828e+03 1.186859642879827e+03 1.185555863553295e+03 - 1.184250742744927e+03 1.182944286242125e+03 1.181636499839004e+03 1.180327389336388e+03 1.179016960541809e+03 - 1.177705219269511e+03 1.176392171340446e+03 1.175077822582277e+03 1.173762178829377e+03 1.172445245922827e+03 - 1.171127029710419e+03 1.169807536046655e+03 1.168486770792745e+03 1.167164739816612e+03 1.165841448992886e+03 - 1.164516904202907e+03 1.163191111334726e+03 1.161864076283103e+03 1.160535804949508e+03 1.159206303242120e+03 - 1.157875577075829e+03 1.156543632372233e+03 1.155210475059642e+03 1.153876111073074e+03 1.152540546354257e+03 - 1.151203786851631e+03 1.149865838520342e+03 1.148526707322247e+03 1.147186399225916e+03 1.145844920206624e+03 - 1.144502276246358e+03 1.143158473333815e+03 1.141813517464402e+03 1.140467414640234e+03 1.139120170870139e+03 - 1.137771792169650e+03 1.136422284561014e+03 1.135071654073185e+03 1.133719906741829e+03 1.132367048609320e+03 - 1.131013085724743e+03 1.129658024143891e+03 1.128301869929270e+03 1.126944629150092e+03 1.125586307882280e+03 - 1.124226912208469e+03 1.122866448218001e+03 1.121504922006928e+03 1.120142339678013e+03 1.118778707340729e+03 - 1.117414031111256e+03 1.116048317112488e+03 1.114681571474025e+03 1.113313800332179e+03 1.111945009829970e+03 - 1.110575206117129e+03 1.109204395350097e+03 1.107832583692024e+03 1.106459777312770e+03 1.105085982388904e+03 - 1.103711205103706e+03 1.102335451647166e+03 1.100958728215983e+03 1.099581041013564e+03 1.098202396250028e+03 - 1.096822800142205e+03 1.095442258913632e+03 1.094060778794555e+03 1.092678366021934e+03 1.091295026839436e+03 - 1.089910767497437e+03 1.088525594253023e+03 1.087139513369993e+03 1.085752531118851e+03 1.084364653776815e+03 - 1.082975887627809e+03 1.081586238962469e+03 1.080195714078142e+03 1.078804319278880e+03 1.077412060875450e+03 - 1.076018945185327e+03 1.074624978532693e+03 1.073230167248444e+03 1.071834517670182e+03 1.070438036142223e+03 - 1.069040729015589e+03 1.067642602648012e+03 1.066243663403937e+03 1.064843917654515e+03 1.063443371777609e+03 - 1.062042032157791e+03 1.060639905186343e+03 1.059236997261256e+03 1.057833314787232e+03 1.056428864175682e+03 - 1.055023651844726e+03 1.053617684219196e+03 1.052210967730631e+03 1.050803508817282e+03 1.049395313897890e+03 - 1.047986388534756e+03 1.046576737255851e+03 1.045166364529164e+03 1.043755274824231e+03 1.042343472612131e+03 - 1.040930962365484e+03 1.039517748558457e+03 1.038103835666756e+03 1.036689228167636e+03 1.035273930539893e+03 - 1.033857947263865e+03 1.032441282821436e+03 1.031023941696033e+03 1.029605928372625e+03 1.028187247337727e+03 - 1.026767903079397e+03 1.025347900087235e+03 1.023927242852386e+03 1.022505935867538e+03 1.021083983626923e+03 - 1.019661390626317e+03 1.018238161363038e+03 1.016814300335948e+03 1.015389812045455e+03 1.013964700993507e+03 - 1.012538971683598e+03 1.011112628620765e+03 1.009685676311588e+03 1.008258119264191e+03 1.006829961988242e+03 - 1.005401208994952e+03 1.003971864797076e+03 1.002541933908912e+03 1.001111420846301e+03 9.996803301266303e+02 - 9.982486662688275e+02 9.968164337933661e+02 9.953836372222621e+02 9.939502810790750e+02 9.925163698889086e+02 - 9.910819081784098e+02 9.896469004757686e+02 9.882113513107199e+02 9.867752652145410e+02 9.853386467200531e+02 - 9.839015003616214e+02 9.824638306751541e+02 9.810256421981031e+02 9.795869394694643e+02 9.781477270297768e+02 - 9.767080094211232e+02 9.752677911871300e+02 9.738270768729670e+02 9.723858710253478e+02 9.709441781925295e+02 - 9.695020029243127e+02 9.680593497720415e+02 9.666162232886040e+02 9.651726280284314e+02 9.637285685474986e+02 - 9.622840494033246e+02 9.608390751549712e+02 9.593936503630440e+02 9.579477795896925e+02 9.565014673986094e+02 - 9.550547183550314e+02 9.536075370257383e+02 9.521599279790540e+02 9.507118957848456e+02 9.492634450145238e+02 - 9.478145802410424e+02 9.463653060389005e+02 9.449156269841388e+02 9.434655476543426e+02 9.420150726286407e+02 - 9.405642064877048e+02 9.391129538137513e+02 9.376613191905399e+02 9.362093072033728e+02 9.347569224390970e+02 - 9.333041694861028e+02 9.318510529343232e+02 9.303975773752362e+02 9.289437474018629e+02 9.274895676087672e+02 - 9.260350425920570e+02 9.245801769493847e+02 9.231249752799448e+02 9.216694421844763e+02 9.202135822652619e+02 - 9.187574001261273e+02 9.173009003724419e+02 9.158440876111187e+02 9.143869664506148e+02 9.129295415009306e+02 - 9.114718173736089e+02 9.100137986817383e+02 9.085554900399494e+02 9.070968960644165e+02 9.056380213728581e+02 - 9.041788705845360e+02 9.027194483202552e+02 9.012597592023648e+02 8.997998078547574e+02 8.983395989028686e+02 - 8.968791369736786e+02 8.954184266957105e+02 8.939574726990309e+02 8.924962796152502e+02 8.910348520775226e+02 - 8.895731947205452e+02 8.881113121805595e+02 8.866492090953504e+02 8.851868901042455e+02 8.837243598481174e+02 - 8.822616229693809e+02 8.807986841119955e+02 8.793355479214636e+02 8.778722190448314e+02 8.764087021306887e+02 - 8.749450018291686e+02 8.734811227919481e+02 8.720170696722481e+02 8.705528471248323e+02 8.690884598060085e+02 - 8.676239123736278e+02 8.661592094870851e+02 8.646943558073189e+02 8.632293559968109e+02 8.617642147195870e+02 - 8.602989366412162e+02 8.588335264288111e+02 8.573679887510280e+02 8.559023282780669e+02 8.544365496816713e+02 - 8.529706576351281e+02 8.515046568132680e+02 8.500385518924651e+02 8.485723475506371e+02 8.471060484672456e+02 - 8.456396593232956e+02 8.441731848013352e+02 8.427066295854568e+02 8.412399983612960e+02 8.397732958160319e+02 - 8.383065266383875e+02 8.368396955186294e+02 8.353728071485672e+02 8.339058662215547e+02 8.324388774324890e+02 - 8.309718454778108e+02 8.295047750555044e+02 8.280376708650979e+02 8.265705376076626e+02 8.251033799858133e+02 - 8.236362027037090e+02 8.221690104670519e+02 8.207018079830875e+02 8.192345999606056e+02 8.177673911099388e+02 - 8.163001861429635e+02 8.148329897731001e+02 8.133658067153123e+02 8.118986416861073e+02 8.104314994035359e+02 - 8.089643845871925e+02 8.074973019582153e+02 8.060302562392853e+02 8.045632521546285e+02 8.030962944300132e+02 - 8.016293877927517e+02 8.001625369717000e+02 7.986957466972576e+02 7.972290217013673e+02 7.957623667175162e+02 - 7.942957864807344e+02 7.928292857275953e+02 7.913628691962167e+02 7.898965416262595e+02 7.884303077589279e+02 - 7.869641723369706e+02 7.854981401046790e+02 7.840322158078881e+02 7.825664041939773e+02 7.811007100118686e+02 - 7.796351380120283e+02 7.781696929464658e+02 7.767043795687346e+02 7.752392026339312e+02 7.737741668986956e+02 - 7.723092771212124e+02 7.708445380612087e+02 7.693799544799557e+02 7.679155311402681e+02 7.664512728065041e+02 - 7.649871842445651e+02 7.635232702218972e+02 7.620595355074889e+02 7.605959848718730e+02 7.591326230871256e+02 - 7.576694549268664e+02 7.562064851662584e+02 7.547437185820088e+02 7.532811599523681e+02 7.518188140571300e+02 - 7.503566856776325e+02 7.488947795967565e+02 7.474331005989271e+02 7.459716534701122e+02 7.445104429978242e+02 - 7.430494739711182e+02 7.415887511805935e+02 7.401282794183929e+02 7.386680634782024e+02 7.372081081552518e+02 - 7.357484182463149e+02 7.342889985497084e+02 7.328298538652926e+02 7.313709889944722e+02 7.299124087401947e+02 - 7.284541179069513e+02 7.269961213007771e+02 7.255384237292504e+02 7.240810300014931e+02 7.226239449281712e+02 - 7.211671733214938e+02 7.197107199952134e+02 7.182545897646269e+02 7.167987874465738e+02 7.153433178594373e+02 - 7.138881858231457e+02 7.124333961591685e+02 7.109789536905207e+02 7.095248632417597e+02 7.080711296389870e+02 - 7.066177577098478e+02 7.051647522835304e+02 7.037121181907675e+02 7.022598602638342e+02 7.008079833365500e+02 - 6.993564922442782e+02 6.979053918239249e+02 6.964546869139400e+02 6.950043823543177e+02 6.935544829865950e+02 - 6.921049936538523e+02 6.906559192007142e+02 6.892072644733491e+02 6.877590343194680e+02 6.863112335883264e+02 - 6.848638671307228e+02 6.834169397989994e+02 6.819704564470420e+02 6.805244219302806e+02 6.790788411056876e+02 - 6.776337188317796e+02 6.761890599686175e+02 6.747448693778041e+02 6.733011519224871e+02 6.718579124673579e+02 - 6.704151558786504e+02 6.689728870241429e+02 6.675311107731571e+02 6.660898319965579e+02 6.646490555667547e+02 - 6.632087863576994e+02 6.617690292448882e+02 6.603297891053608e+02 6.588910708177000e+02 6.574528792620325e+02 - 6.560152193200289e+02 6.545780958749028e+02 6.531415138114120e+02 6.517054780158572e+02 6.502699933760831e+02 - 6.488350647814780e+02 6.474006971229736e+02 6.459668952930450e+02 6.445336641857116e+02 6.431010086965356e+02 - 6.416689337226230e+02 6.402374441626239e+02 6.388065449167315e+02 6.373762408866819e+02 6.359465369757564e+02 - 6.345174380887786e+02 6.330889491321157e+02 6.316610750136796e+02 6.302338206429247e+02 6.288071909308491e+02 - 6.273811907899951e+02 6.259558251344477e+02 6.245310988798360e+02 6.231070169433332e+02 6.216835842436550e+02 - 6.202608057010611e+02 6.188386862373554e+02 6.174172307758844e+02 6.159964442415383e+02 6.145763315607522e+02 - 6.131568976615030e+02 6.117381474733122e+02 6.103200859272448e+02 6.089027179559087e+02 6.074860484934565e+02 - 6.060700824755835e+02 6.046548248395288e+02 6.032402805240755e+02 6.018264544695495e+02 6.004133516178208e+02 - 5.990009769123031e+02 5.975893352979532e+02 5.961784317212720e+02 5.947682711303036e+02 5.933588584746357e+02 - 5.919501987053994e+02 5.905422967752705e+02 5.891351576384668e+02 5.877287862507508e+02 5.863231875694282e+02 - 5.849183665533477e+02 5.835143281629030e+02 5.821110773600302e+02 5.807086191082091e+02 5.793069583724634e+02 - 5.779061001193606e+02 5.765060493170109e+02 5.751068109350690e+02 5.737083899447330e+02 5.723107913187440e+02 - 5.709140200313871e+02 5.695180810584912e+02 5.681229793774282e+02 5.667287199671144e+02 5.653353078080089e+02 - 5.639427478821145e+02 5.625510451729782e+02 5.611602046656897e+02 5.597702313468828e+02 5.583811302047351e+02 - 5.569929062289672e+02 5.556055644108436e+02 5.542191097431725e+02 5.528335472203050e+02 5.514488818381369e+02 - 5.500651185941068e+02 5.486822624871968e+02 5.473003185179330e+02 5.459192916883851e+02 5.445391870021655e+02 - 5.431600094644319e+02 5.417817640818839e+02 5.404044558627653e+02 5.390280898168637e+02 5.376526709555103e+02 - 5.362782042915790e+02 5.349046948394886e+02 5.335321476152006e+02 5.321605676362202e+02 5.307899599215965e+02 - 5.294203294919217e+02 5.280516813693320e+02 5.266840205775071e+02 5.253173521416702e+02 5.239516810885877e+02 - 5.225870124465707e+02 5.212233512454725e+02 5.198607025166908e+02 5.184990712931668e+02 5.171384626093851e+02 - 5.157788815013741e+02 5.144203330067055e+02 5.130628221644946e+02 5.117063540154008e+02 5.103509336016263e+02 - 5.089965659669175e+02 5.076432561565640e+02 5.062910092173990e+02 5.049398301977998e+02 5.035897241476866e+02 - 5.022406961185235e+02 5.008927511633182e+02 4.995458943366220e+02 4.982001306945292e+02 4.968554652946787e+02 - 4.955119031962524e+02 4.941694494599757e+02 4.928281091481178e+02 4.914878873244913e+02 4.901487890544524e+02 - 4.888108194049014e+02 4.874739834442815e+02 4.861382862425793e+02 4.848037328713260e+02 4.834703284035954e+02 - 4.821380779140055e+02 4.808069864787175e+02 4.794770591754360e+02 4.781483010834104e+02 4.768207172834317e+02 - 4.754943128578365e+02 4.741690928905032e+02 4.728450624668552e+02 4.715222266738587e+02 4.702005906000235e+02 - 4.688801593354034e+02 4.675609379715956e+02 4.662429316017405e+02 4.649261453205227e+02 4.636105842241698e+02 - 4.622962534104534e+02 4.609831579786886e+02 4.596713030297340e+02 4.583606936659914e+02 4.570513349914071e+02 - 4.557432321114703e+02 4.544363901332138e+02 4.531308141652141e+02 4.518265093175915e+02 4.505234807020092e+02 - 4.492217334316751e+02 4.479212726213398e+02 4.466221033872973e+02 4.453242308473862e+02 4.440276601209875e+02 - 4.427323963290266e+02 4.414384445939725e+02 4.401458100398370e+02 4.388544977921764e+02 4.375645129780900e+02 - 4.362758607262207e+02 4.349885461667554e+02 4.337025744314242e+02 4.324179506535007e+02 4.311346799678025e+02 - 4.298527675106906e+02 4.285722184200691e+02 4.272930378353866e+02 4.260152308976346e+02 4.247388027493482e+02 - 4.234637585346064e+02 4.221901033990317e+02 4.209178424897899e+02 4.196469809555908e+02 4.183775239466873e+02 - 4.171094766148764e+02 4.158428441134982e+02 4.145776315974367e+02 4.133138442231195e+02 4.120514871485177e+02 - 4.107905655331455e+02 4.095310845380616e+02 4.082730493258674e+02 4.070164650607085e+02 4.057613369082738e+02 - 4.045076700357962e+02 4.032554696120511e+02 4.020047408073589e+02 4.007554887935824e+02 3.995077187441286e+02 - 3.982614358339480e+02 3.970166452395346e+02 3.957733521389259e+02 3.945315617117033e+02 3.932912791389912e+02 - 3.920525096034583e+02 3.908152582893162e+02 3.895795303823206e+02 3.883453310697706e+02 3.871126655405087e+02 - 3.858815389849212e+02 3.846519565949380e+02 3.834239235640323e+02 3.821974450872211e+02 3.809725263610652e+02 - 3.797491725836686e+02 3.785273889546788e+02 3.773071806752873e+02 3.760885529482291e+02 3.748715109777822e+02 - 3.736560599697692e+02 3.724422051315553e+02 3.712299516720498e+02 3.700193048017055e+02 3.688102697325187e+02 - 3.676028516780295e+02 3.663970558533210e+02 3.651928874750207e+02 3.639903517612993e+02 3.627894539318706e+02 - 3.615901992079928e+02 3.603925928124674e+02 3.591966399696389e+02 3.580023459053963e+02 3.568097158471716e+02 - 3.556187550239405e+02 3.544294686662223e+02 3.532418620060801e+02 3.520559402771199e+02 3.508717087144923e+02 - 3.496891725548904e+02 3.485083370365518e+02 3.473292073992571e+02 3.461517888843309e+02 3.449760867346407e+02 - 3.438021061945983e+02 3.426298525101589e+02 3.414593309288210e+02 3.402905466996269e+02 3.391235050731623e+02 - 3.379582113015570e+02 3.367946706384836e+02 3.356328883391590e+02 3.344728696603431e+02 3.333146198603399e+02 - 3.321581441989965e+02 3.310034479377038e+02 3.298505363393963e+02 3.286994146685523e+02 3.275500881911931e+02 - 3.264025621748842e+02 3.252568418887342e+02 3.241129326033955e+02 3.229708395910641e+02 3.218305681254797e+02 - 3.206921234819250e+02 3.195555109372272e+02 3.184207357697562e+02 3.172878032594259e+02 3.161567186876940e+02 - 3.150274873375612e+02 3.139001144935722e+02 3.127746054418153e+02 3.116509654699221e+02 3.105291998670680e+02 - 3.094093139239718e+02 3.082913129328962e+02 3.071752021876472e+02 3.060609869835743e+02 3.049486726175709e+02 - 3.038382643880739e+02 3.027297675950632e+02 3.016231875400634e+02 3.005185295261418e+02 2.994157988579094e+02 - 2.983150008415209e+02 2.972161407846750e+02 2.961192239966130e+02 2.950242557881208e+02 2.939312414715272e+02 - 2.928401863607048e+02 2.917510957710699e+02 2.906639750195822e+02 2.895788294247451e+02 2.884956643066055e+02 - 2.874144849867538e+02 2.863352967883243e+02 2.852581050359946e+02 2.841829150559857e+02 2.831097321760628e+02 - 2.820385617255341e+02 2.809694090352515e+02 2.799022794376108e+02 2.788371782665511e+02 2.777741108575549e+02 - 2.767130825476488e+02 2.756540986754025e+02 2.745971645809293e+02 2.735422856058867e+02 2.724894670934750e+02 - 2.714387143884384e+02 2.703900328370648e+02 2.693434277871856e+02 2.682989045881756e+02 2.672564685909533e+02 - 2.662161251479810e+02 2.651778796132642e+02 2.641417373423522e+02 2.631077036923379e+02 2.620757840218578e+02 - 2.610459836910915e+02 2.600183080617631e+02 2.589927624971394e+02 2.579693523620314e+02 2.569480830227931e+02 - 2.559289598473227e+02 2.549119882050614e+02 2.538971734669946e+02 2.528845210056507e+02 2.518740361951020e+02 - 2.508657244109642e+02 2.498595910303967e+02 2.488556414321026e+02 2.478538809963281e+02 2.468543151048638e+02 - 2.458569491410431e+02 2.448617884897432e+02 2.438688385373852e+02 2.428781046719333e+02 2.418895922828956e+02 - 2.409033067613238e+02 2.399192534998131e+02 2.389374378925019e+02 2.379578653350729e+02 2.369805412247519e+02 - 2.360054709603084e+02 2.350326599420553e+02 2.340621135718494e+02 2.330938372530911e+02 2.321278363907239e+02 - 2.311641163912353e+02 2.302026826626565e+02 2.292435406145617e+02 2.282866956580692e+02 2.273321532058407e+02 - 2.263799186720815e+02 2.254299974725404e+02 2.244823950245099e+02 2.235371167468261e+02 2.225941680598685e+02 - 2.216535543855603e+02 2.207152811473682e+02 2.197793537703028e+02 2.188457776809178e+02 2.179145583073106e+02 - 2.169857010791227e+02 2.160592114275385e+02 2.151350947852860e+02 2.142133565866376e+02 2.132940022674083e+02 - 2.123770372649571e+02 2.114624670181867e+02 2.105502969675431e+02 2.096405325550162e+02 2.087331792241393e+02 - 2.078282424199890e+02 2.069257275891860e+02 2.060256401798943e+02 2.051279856418216e+02 2.042327694262190e+02 - 2.033399969858813e+02 2.024496737751469e+02 2.015618052498977e+02 2.006763968675590e+02 1.997934540871004e+02 - 1.989129823690343e+02 1.980349871754169e+02 1.971594739698481e+02 1.962864482174713e+02 1.954159153849736e+02 - 1.945478809405854e+02 1.936823503540812e+02 1.928193290967781e+02 1.919588226415381e+02 1.911008364627658e+02 - 1.902453760364096e+02 1.893924468399617e+02 1.885420543524577e+02 1.876942040544768e+02 1.868489014281417e+02 - 1.860061519571189e+02 1.851659611266184e+02 1.843283344233937e+02 1.834932773357418e+02 1.826607953535034e+02 - 1.818308939680629e+02 1.810035786723481e+02 1.801788549608304e+02 1.793567283295249e+02 1.785372042759901e+02 - 1.777202882993282e+02 1.769059859001850e+02 1.760943025807497e+02 1.752852438447554e+02 1.744788151974785e+02 - 1.736750221457390e+02 1.728738701979007e+02 1.720753648638706e+02 1.712795116550998e+02 1.704863160845825e+02 - 1.696957836668566e+02 1.689079199180039e+02 1.681227303556493e+02 1.673402204989617e+02 1.665603958686532e+02 - 1.657832619869799e+02 1.650088243777409e+02 1.642370885662795e+02 1.634680600794823e+02 1.627017444457793e+02 - 1.619381471951445e+02 1.611772738590951e+02 1.604191299706921e+02 1.596637210645399e+02 1.589110526767867e+02 - 1.581611303451241e+02 1.574139596087874e+02 1.566695460085554e+02 1.559278950867503e+02 1.551890123872385e+02 - 1.544529034554292e+02 1.537195738382757e+02 1.529890290842748e+02 1.522612747434666e+02 1.515363163674351e+02 - 1.508141595093076e+02 1.500948097237555e+02 1.493782725669932e+02 1.486645535967789e+02 1.479536583724143e+02 - 1.472455924547449e+02 1.465403614061596e+02 1.458379707905909e+02 1.451384261735148e+02 1.444417331219514e+02 - 1.437478972044633e+02 1.430569239911578e+02 1.423688190536853e+02 1.416835879652396e+02 1.410012363005585e+02 - 1.403217696359229e+02 1.396451935491577e+02 1.389715136196312e+02 1.383007354282553e+02 1.376328645574854e+02 - 1.369679065913208e+02 1.363058671153038e+02 1.356467517165207e+02 1.349905659836014e+02 1.343373155067194e+02 - 1.336870058775913e+02 1.330396426894780e+02 1.323952315371832e+02 1.317537780170550e+02 1.311152877269845e+02 - 1.304797662664065e+02 1.298472192362996e+02 1.292176522391855e+02 1.285910708791301e+02 1.279674807617425e+02 - 1.273468874941753e+02 1.267292966851250e+02 1.261147139448316e+02 1.255031448850783e+02 1.248945951191923e+02 - 1.242890702620443e+02 1.236865759300485e+02 1.230871177411627e+02 1.224907013148884e+02 1.218973322722703e+02 - 1.213070162358971e+02 1.207197588299010e+02 1.201355656799576e+02 1.195544424132864e+02 1.189763946586499e+02 - 1.184014280463548e+02 1.178295482082510e+02 1.172607607777323e+02 1.166950713897357e+02 1.161324856807421e+02 - 1.155730092887757e+02 1.150166478534045e+02 1.144634070157400e+02 1.139132924184372e+02 1.133663097056950e+02 - 1.128224645232555e+02 1.122817625184044e+02 1.117442093399712e+02 1.112098106383290e+02 1.106785720653942e+02 - 1.101504843345202e+02 1.096253193854976e+02 1.091027814759659e+02 1.085828903190926e+02 1.080656662057070e+02 - 1.075510744401853e+02 1.070391017583160e+02 1.065297369211215e+02 1.060229642403793e+02 1.055187689946627e+02 - 1.050171373101604e+02 1.045180558156006e+02 1.040215103049707e+02 1.035274865113781e+02 1.030359706887152e+02 - 1.025469492169604e+02 1.020604083357866e+02 1.015763340040288e+02 1.010947131078929e+02 1.006155327791835e+02 - 1.001387792631148e+02 9.966443911893010e+01 9.919249927205091e+01 9.872294669690289e+01 9.825576811144268e+01 - 9.779095024426459e+01 9.732848086108395e+01 9.686834738339628e+01 9.641053663288847e+01 9.595503591883143e+01 - 9.550183276437639e+01 9.505091470489599e+01 9.460226894357737e+01 9.415588307372171e+01 9.371174549820027e+01 - 9.326984390100915e+01 9.283016578095182e+01 9.239269910989660e+01 9.195743199867270e+01 9.152435246657959e+01 - 9.109344822825337e+01 9.066470776170968e+01 9.023811990175319e+01 8.981367265385576e+01 8.939135422700863e+01 - 8.897115319588202e+01 8.855305819940260e+01 8.813705766268812e+01 8.772313993524557e+01 8.731129428898021e+01 - 8.690150981214184e+01 8.649377498492467e+01 8.608807868460502e+01 8.568441000539183e+01 8.528275807208179e+01 - 8.488311171021131e+01 8.448546000255536e+01 8.408979283578468e+01 8.369609949978657e+01 8.330436902264381e+01 - 8.291459088961614e+01 8.252675470341519e+01 8.214085000107356e+01 8.175686603719873e+01 8.137479266933553e+01 - 8.099462018292702e+01 8.061633811896954e+01 8.023993612969721e+01 7.986540422509246e+01 7.949273245617202e+01 - 7.912191071864751e+01 7.875292880591886e+01 7.838577728963824e+01 7.802044667908689e+01 7.765692688210476e+01 - 7.729520814701189e+01 7.693528093921003e+01 7.657713574044320e+01 7.622076279877933e+01 7.586615250876412e+01 - 7.551329599462582e+01 7.516218394284439e+01 7.481280673973237e+01 7.446515517211270e+01 7.411922012543234e+01 - 7.377499243991551e+01 7.343246273248482e+01 7.309162206375170e+01 7.275246194060588e+01 7.241497325488510e+01 - 7.207914691168762e+01 7.174497413637995e+01 7.141244624067238e+01 7.108155440657860e+01 7.075228964021176e+01 - 7.042464364044737e+01 7.009860816502822e+01 6.977417437950896e+01 6.945133371117183e+01 6.913007780419414e+01 - 6.881039831641085e+01 6.849228672098478e+01 6.817573455985929e+01 6.786073404036127e+01 6.754727706019318e+01 - 6.723535518365489e+01 6.692496029976250e+01 6.661608442214438e+01 6.630871955818391e+01 6.600285747074972e+01 - 6.569849025826812e+01 6.539561050984807e+01 6.509421028016476e+01 6.479428156422156e+01 6.449581665898590e+01 - 6.419880794007263e+01 6.390324769379086e+01 6.360912802573969e+01 6.331644161216560e+01 6.302518126952705e+01 - 6.273533924838438e+01 6.244690800283556e+01 6.215988021335375e+01 6.187424856554645e+01 6.159000558852496e+01 - 6.130714382209544e+01 6.102565642873360e+01 6.074553634647369e+01 6.046677613965124e+01 6.018936867893675e+01 - 5.991330696615304e+01 5.963858400265185e+01 5.936519255461710e+01 5.909312563142009e+01 5.882237675846172e+01 - 5.855293899151076e+01 5.828480526925385e+01 5.801796883717194e+01 5.775242299813667e+01 5.748816098906929e+01 - 5.722517588172157e+01 5.696346118973321e+01 5.670301063052477e+01 5.644381744585571e+01 5.618587497447161e+01 - 5.592917675378749e+01 5.567371639288440e+01 5.541948735564524e+01 5.516648303666721e+01 5.491469740133566e+01 - 5.466412430128952e+01 5.441475721341882e+01 5.416658984866251e+01 5.391961604526729e+01 5.367382965707854e+01 - 5.342922435049869e+01 5.318579394824101e+01 5.294353276046760e+01 5.270243471566913e+01 5.246249358126801e+01 - 5.222370341980431e+01 5.198605834991378e+01 5.174955243603662e+01 5.151417956992881e+01 5.127993401538280e+01 - 5.104681029539683e+01 5.081480246751264e+01 5.058390465007635e+01 5.035411117607305e+01 5.012541641928832e+01 - 4.989781463692880e+01 4.967129999443014e+01 4.944586717469857e+01 4.922151081792142e+01 4.899822516393252e+01 - 4.877600466591702e+01 4.855484391176263e+01 4.833473749525371e+01 4.811567985888949e+01 4.789766553100244e+01 - 4.768068948486052e+01 4.746474643299185e+01 4.724983089968822e+01 4.703593761581940e+01 4.682306140175855e+01 - 4.661119706938157e+01 4.640033923440899e+01 4.619048280117971e+01 4.598162297433280e+01 4.577375454810339e+01 - 4.556687232031752e+01 4.536097129194708e+01 4.515604651624491e+01 4.495209295916556e+01 4.474910546848848e+01 - 4.454707932343867e+01 4.434600983627007e+01 4.414589194663536e+01 4.394672075425581e+01 4.374849149110094e+01 - 4.355119939554362e+01 4.335483958155968e+01 4.315940720272008e+01 4.296489783321342e+01 4.277130684141869e+01 - 4.257862938067940e+01 4.238686082011235e+01 4.219599659307687e+01 4.200603211268383e+01 4.181696265307154e+01 - 4.162878369849639e+01 4.144149102922540e+01 4.125508008000694e+01 4.106954625154178e+01 4.088488514080404e+01 - 4.070109237453877e+01 4.051816351991027e+01 4.033609404369983e+01 4.015487975529847e+01 3.997451654390139e+01 - 3.979499995457292e+01 3.961632565249730e+01 3.943848943565658e+01 3.926148710146721e+01 3.908531435163689e+01 - 3.890996689581685e+01 3.873544082272831e+01 3.856173207783515e+01 3.838883637414560e+01 3.821674961156019e+01 - 3.804546776546066e+01 3.787498680517137e+01 3.770530255859592e+01 3.753641100849845e+01 3.736830845518836e+01 - 3.720099088344971e+01 3.703445420945200e+01 3.686869456603723e+01 3.670370808841574e+01 3.653949085950763e+01 - 3.637603888796111e+01 3.621334844811717e+01 3.605141592615973e+01 3.589023740445852e+01 3.572980904042850e+01 - 3.557012712196481e+01 3.541118795282225e+01 3.525298774403768e+01 3.509552267323749e+01 3.493878928773343e+01 - 3.478278404343990e+01 3.462750313614663e+01 3.447294293878365e+01 3.431909990161546e+01 3.416597046087814e+01 - 3.401355094900445e+01 3.386183779648810e+01 3.371082772101448e+01 3.356051721064496e+01 3.341090265530899e+01 - 3.326198061398263e+01 3.311374767636361e+01 3.296620040125966e+01 3.281933525310492e+01 3.267314891432770e+01 - 3.252763821351709e+01 3.238279969616838e+01 3.223862995512887e+01 3.209512571750849e+01 3.195228370249094e+01 - 3.181010057023420e+01 3.166857295105629e+01 3.152769775432829e+01 3.138747186368265e+01 3.124789194582367e+01 - 3.110895478177638e+01 3.097065722333928e+01 3.083299612203396e+01 3.069596823521478e+01 3.055957038379009e+01 - 3.042379968490992e+01 3.028865305190764e+01 3.015412726448298e+01 3.002021927954454e+01 2.988692608783410e+01 - 2.975424465393443e+01 2.962217185358958e+01 2.949070472525562e+01 2.935984046863818e+01 2.922957605244617e+01 - 2.909990844798608e+01 2.897083474125067e+01 2.884235205411202e+01 2.871445744621140e+01 2.858714789194334e+01 - 2.846042066311678e+01 2.833427304434733e+01 2.820870204788112e+01 2.808370481822039e+01 2.795927858955916e+01 - 2.783542056310479e+01 2.771212788710439e+01 2.758939774558937e+01 2.746722754519704e+01 2.734561457842300e+01 - 2.722455602005491e+01 2.710404915757552e+01 2.698409131619408e+01 2.686467981339180e+01 2.674581188504884e+01 - 2.662748489299116e+01 2.650969637323688e+01 2.639244364869198e+01 2.627572402574995e+01 2.615953493480668e+01 - 2.604387380499337e+01 2.592873803144385e+01 2.581412497154068e+01 2.570003216993883e+01 2.558645721031992e+01 - 2.547339748309297e+01 2.536085044648649e+01 2.524881363723968e+01 2.513728460374055e+01 2.502626081142699e+01 - 2.491573971820056e+01 2.480571905896494e+01 2.469619646153339e+01 2.458716938319504e+01 2.447863542000312e+01 - 2.437059221927192e+01 2.426303741725681e+01 2.415596854366440e+01 2.404938323139217e+01 2.394327933047775e+01 - 2.383765447837906e+01 2.373250626120992e+01 2.362783239922733e+01 2.352363062421024e+01 2.341989863680159e+01 - 2.331663407933185e+01 2.321383475989216e+01 2.311149855755017e+01 2.300962316438995e+01 2.290820631357202e+01 - 2.280724581327735e+01 2.270673948178020e+01 2.260668508940155e+01 2.250708039173678e+01 2.240792334786956e+01 - 2.230921186720802e+01 2.221094371595302e+01 2.211311674173436e+01 2.201572884123411e+01 2.191877792312015e+01 - 2.182226182065280e+01 2.172617842216956e+01 2.163052579410284e+01 2.153530186271772e+01 2.144050449256298e+01 - 2.134613164544727e+01 2.125218130870039e+01 2.115865145244560e+01 2.106553997668644e+01 2.097284492087666e+01 - 2.088056441996010e+01 2.078869643251129e+01 2.069723893213309e+01 2.060618996606658e+01 2.051554761096601e+01 - 2.042530989859754e+01 2.033547481777502e+01 2.024604054022628e+01 2.015700522393599e+01 2.006836688994228e+01 - 1.998012363072147e+01 1.989227358045817e+01 1.980481486918973e+01 1.971774557717947e+01 1.963106382303616e+01 - 1.954476789103884e+01 1.945885594703988e+01 1.937332608222908e+01 1.928817649453870e+01 1.920340539662878e+01 - 1.911901098077130e+01 1.903499138773951e+01 1.895134486255558e+01 1.886806974988112e+01 1.878516424109755e+01 - 1.870262653275597e+01 1.862045489823334e+01 1.853864761644500e+01 1.845720293609644e+01 1.837611907561623e+01 - 1.829539441141390e+01 1.821502731690405e+01 1.813501600648008e+01 1.805535878852776e+01 1.797605402680784e+01 - 1.789710004813803e+01 1.781849513976010e+01 1.774023761822760e+01 1.766232596769640e+01 1.758475857461898e+01 - 1.750753373031707e+01 1.743064982368309e+01 1.735410526816905e+01 1.727789846424588e+01 1.720202775432962e+01 - 1.712649156263800e+01 1.705128842771503e+01 1.697641675133914e+01 1.690187492053174e+01 1.682766139576636e+01 - 1.675377465125957e+01 1.668021313537254e+01 1.660697525047803e+01 1.653405953620346e+01 1.646146456303875e+01 - 1.638918876353225e+01 1.631723061252691e+01 1.624558863577738e+01 1.617426136715184e+01 1.610324729276991e+01 - 1.603254489420701e+01 1.596215281065743e+01 1.589206962268447e+01 1.582229381597797e+01 1.575282394813798e+01 - 1.568365860435203e+01 1.561479636559848e+01 1.554623575841051e+01 1.547797536749664e+01 1.541001389568697e+01 - 1.534234992945672e+01 1.527498202635700e+01 1.520790881496337e+01 1.514112893627654e+01 1.507464101206718e+01 - 1.500844361854594e+01 1.494253544400039e+01 1.487691522461213e+01 1.481158156982783e+01 1.474653311471545e+01 - 1.468176854391490e+01 1.461728655322583e+01 1.455308580005108e+01 1.448916492494823e+01 1.442552270891503e+01 - 1.436215789907635e+01 1.429906914560298e+01 1.423625515786986e+01 1.417371467503432e+01 1.411144643634281e+01 - 1.404944913182382e+01 1.398772148936426e+01 1.392626235467004e+01 1.386507047757601e+01 1.380414456703780e+01 - 1.374348339923097e+01 1.368308576360786e+01 1.362295043539383e+01 1.356307614411792e+01 1.350346171009224e+01 - 1.344410601461897e+01 1.338500782259274e+01 1.332616591200318e+01 1.326757911048049e+01 1.320924625504148e+01 - 1.315116615215319e+01 1.309333758418828e+01 1.303575945915385e+01 1.297843067064863e+01 1.292135001185642e+01 - 1.286451632934388e+01 1.280792850075226e+01 1.275158540067995e+01 1.269548586414703e+01 1.263962874841400e+01 - 1.258401302186647e+01 1.252863758019894e+01 1.247350127006052e+01 1.241860299544399e+01 1.236394167532885e+01 - 1.230951622025856e+01 1.225532549825102e+01 1.220136844757296e+01 1.214764407513537e+01 1.209415128431592e+01 - 1.204088897936275e+01 1.198785611322907e+01 1.193505164847797e+01 1.188247452422181e+01 1.183012365035161e+01 - 1.177799804372636e+01 1.172609672645034e+01 1.167441862559045e+01 1.162296270435431e+01 1.157172795813644e+01 - 1.152071338824009e+01 1.146991795771504e+01 1.141934063624516e+01 1.136898050295155e+01 1.131883658051165e+01 - 1.126890783457083e+01 1.121919328583311e+01 1.116969196974251e+01 1.112040291453270e+01 1.107132511138846e+01 - 1.102245760367597e+01 1.097379950683186e+01 1.092534984778681e+01 1.087710764406476e+01 1.082907196010627e+01 - 1.078124186863284e+01 1.073361642501848e+01 1.068619465441603e+01 1.063897567074718e+01 1.059195860734133e+01 - 1.054514250814830e+01 1.049852644360809e+01 1.045210951602862e+01 1.040589083229813e+01 1.035986946911022e+01 - 1.031404450080543e+01 1.026841510170119e+01 1.022298040707346e+01 1.017773949095798e+01 1.013269147478631e+01 - 1.008783549702620e+01 1.004317069189082e+01 9.998696157456914e+00 9.954411030186206e+00 9.910314523784715e+00 - 9.866405774945729e+00 9.822683900561229e+00 9.779148062474189e+00 9.735797433007823e+00 9.692631171490490e+00 - 9.649648402951970e+00 9.606848328743531e+00 9.564230182014787e+00 9.521793107635142e+00 9.479536270440141e+00 - 9.437458869806633e+00 9.395560106559989e+00 9.353839157926716e+00 9.312295192835592e+00 9.270927467731591e+00 - 9.229735216231479e+00 9.188717610212938e+00 9.147873860369382e+00 9.107203196336844e+00 9.066704846764596e+00 - 9.026378005702853e+00 8.986221892357717e+00 8.946235805206038e+00 8.906418978693665e+00 8.866770619316361e+00 - 8.827289975974383e+00 8.787976307390357e+00 8.748828863538764e+00 8.709846863139358e+00 8.671029583554503e+00 - 8.632376341244221e+00 8.593886376949055e+00 8.555558939921891e+00 8.517393311170933e+00 8.479388776756116e+00 - 8.441544603229096e+00 8.403860042243403e+00 8.366334424744339e+00 8.328967072292842e+00 8.291757243124138e+00 - 8.254704227472720e+00 8.217807335382002e+00 8.181065876905594e+00 8.144479133106664e+00 8.108046399433587e+00 - 8.071767047639053e+00 8.035640397926882e+00 7.999665736506032e+00 7.963842390434660e+00 7.928169696145141e+00 - 7.892646983285742e+00 7.857273552651162e+00 7.822048750599857e+00 7.786971968025827e+00 7.752042529333232e+00 - 7.717259758863888e+00 7.682623011133142e+00 7.648131647347260e+00 7.613785013617140e+00 7.579582436948184e+00 - 7.545523312250220e+00 7.511607037617057e+00 7.477832951167176e+00 7.444200413093294e+00 7.410708803334905e+00 - 7.377357505498556e+00 7.344145878673218e+00 7.311073286547245e+00 7.278139163173499e+00 7.245342906306997e+00 - 7.212683876663248e+00 7.180161467446147e+00 7.147775082852699e+00 7.115524124234772e+00 7.083407965702390e+00 - 7.051426016132217e+00 7.019577732801474e+00 6.987862512275252e+00 6.956279745475502e+00 6.924828855941318e+00 - 6.893509269882150e+00 6.862320401692200e+00 6.831261647888545e+00 6.800332460884749e+00 6.769532305211046e+00 - 6.738860589806862e+00 6.708316738463165e+00 6.677900193977888e+00 6.647610403615440e+00 6.617446795946176e+00 - 6.587408797932629e+00 6.557495898186097e+00 6.527707560796614e+00 6.498043211862364e+00 6.468502306113241e+00 - 6.439084309299234e+00 6.409788685242900e+00 6.380614873655190e+00 6.351562339061567e+00 6.322630595895343e+00 - 6.293819108127046e+00 6.265127326375664e+00 6.236554729526047e+00 6.208100805116588e+00 6.179765032202197e+00 - 6.151546864740690e+00 6.123445807150094e+00 6.095461385258917e+00 6.067593067877628e+00 6.039840335121551e+00 - 6.012202688508743e+00 5.984679633169969e+00 5.957270656961056e+00 5.929975240292937e+00 5.902792923627279e+00 - 5.875723232013562e+00 5.848765648702115e+00 5.821919682493143e+00 5.795184854142510e+00 5.768560683026402e+00 - 5.742046666390822e+00 5.715642318587924e+00 5.689347205919744e+00 5.663160851223163e+00 5.637082758311135e+00 - 5.611112458697719e+00 5.585249491519008e+00 5.559493390584049e+00 5.533843667789125e+00 5.508299872311603e+00 - 5.482861578646651e+00 5.457528314665947e+00 5.432299611523626e+00 5.407175018586152e+00 5.382154093094761e+00 - 5.357236378022760e+00 5.332421403106363e+00 5.307708752059064e+00 5.283098003376689e+00 5.258588694187007e+00 - 5.234180379291222e+00 5.209872626694981e+00 5.185665008050016e+00 5.161557074183171e+00 5.137548383980142e+00 - 5.113638545797982e+00 5.089827134282968e+00 5.066113702430728e+00 5.042497830741953e+00 5.018979105007048e+00 - 4.995557105455633e+00 4.972231392615168e+00 4.949001558388967e+00 4.925867224885915e+00 4.902827967986653e+00 - 4.879883363679411e+00 4.857033008673309e+00 4.834276503129009e+00 4.811613436797770e+00 4.789043387081744e+00 - 4.766565977795326e+00 4.744180833573695e+00 4.721887536130310e+00 4.699685684376157e+00 4.677574891583497e+00 - 4.655554772271826e+00 4.633624922898647e+00 4.611784942911348e+00 4.590034481232405e+00 4.568373160121153e+00 - 4.546800575450856e+00 4.525316347519302e+00 4.503920103923871e+00 4.482611469298424e+00 4.461390048788094e+00 - 4.440255471271009e+00 4.419207398665950e+00 4.398245451269402e+00 4.377369245425554e+00 4.356578419383048e+00 - 4.335872613273037e+00 4.315251459075552e+00 4.294714576337845e+00 4.274261622204341e+00 4.253892261314030e+00 - 4.233606119889290e+00 4.213402835603544e+00 4.193282059746365e+00 4.173243445650493e+00 4.153286631923412e+00 - 4.133411255497697e+00 4.113616998652003e+00 4.093903524786619e+00 4.074270469191258e+00 4.054717490515994e+00 - 4.035244253601178e+00 4.015850419023907e+00 3.996535633568783e+00 3.977299560905666e+00 3.958141896495164e+00 - 3.939062301025637e+00 3.920060427447142e+00 3.901135950094528e+00 3.882288544897898e+00 3.863517881118590e+00 - 3.844823615448907e+00 3.826205437051391e+00 3.807663047653544e+00 3.789196110563124e+00 3.770804297342049e+00 - 3.752487294212357e+00 3.734244789018890e+00 3.716076457976182e+00 3.697981972490954e+00 3.679961043694115e+00 - 3.662013372248035e+00 3.644138631063968e+00 3.626336509775109e+00 3.608606705542072e+00 3.590948914412318e+00 - 3.573362819793663e+00 3.555848115085657e+00 3.538404523614169e+00 3.521031745026515e+00 3.503729467883798e+00 - 3.486497394134707e+00 3.469335231734055e+00 3.452242686325544e+00 3.435219448952052e+00 3.418265234650198e+00 - 3.401379774604279e+00 3.384562769850576e+00 3.367813923930398e+00 3.351132951883403e+00 3.334519571031865e+00 - 3.317973491801103e+00 3.301494419647167e+00 3.285082090084510e+00 3.268736234671993e+00 3.252456560777042e+00 - 3.236242786971220e+00 3.220094639575606e+00 3.204011846234647e+00 3.187994121490988e+00 3.172041185626448e+00 - 3.156152791161071e+00 3.140328668842820e+00 3.124568535295174e+00 3.108872124034968e+00 3.093239171871656e+00 - 3.077669412161458e+00 3.062162565910707e+00 3.046718374098970e+00 3.031336596904380e+00 3.016016966139392e+00 - 3.000759212810465e+00 2.985563079528153e+00 2.970428312130104e+00 2.955354650145179e+00 2.940341825152254e+00 - 2.925389598488303e+00 2.910497731503551e+00 2.895665957526404e+00 2.880894022713473e+00 2.866181682137055e+00 - 2.851528688498591e+00 2.836934785005289e+00 2.822399718118186e+00 2.807923264019232e+00 2.793505182293368e+00 - 2.779145216423770e+00 2.764843124903896e+00 2.750598669795774e+00 2.736411610868753e+00 2.722281698431688e+00 - 2.708208697067331e+00 2.694192390113966e+00 2.680232535961204e+00 2.666328890540199e+00 2.652481222662398e+00 - 2.638689303226956e+00 2.624952898002155e+00 2.611271764144950e+00 2.597645683492627e+00 2.584074442444535e+00 - 2.570557801667266e+00 2.557095530257868e+00 2.543687406599445e+00 2.530333209423413e+00 2.517032707379746e+00 - 2.503785668122807e+00 2.490591889861845e+00 2.477451158950901e+00 2.464363243138197e+00 2.451327922049569e+00 - 2.438344980862380e+00 2.425414204994132e+00 2.412535368413293e+00 2.399708255484590e+00 2.386932671907132e+00 - 2.374208401602455e+00 2.361535223009603e+00 2.348912926727443e+00 2.336341305706971e+00 2.323820149408004e+00 - 2.311349238873846e+00 2.298928374328811e+00 2.286557363678248e+00 2.274235992966902e+00 2.261964052364815e+00 - 2.249741340335214e+00 2.237567658215990e+00 2.225442798573621e+00 2.213366549457367e+00 2.201338726388740e+00 - 2.189359138707274e+00 2.177427577694549e+00 2.165543843493499e+00 2.153707741170415e+00 2.141919076444355e+00 - 2.130177647034976e+00 2.118483256831743e+00 2.106835728234196e+00 2.095234867960482e+00 2.083680476325080e+00 - 2.072172364176171e+00 2.060710343839133e+00 2.049294224696878e+00 2.037923808395575e+00 2.026598913260298e+00 - 2.015319367985618e+00 2.004084979196668e+00 1.992895556108562e+00 1.981750916950703e+00 1.970650881000152e+00 - 1.959595261684839e+00 1.948583868145923e+00 1.937616532016987e+00 1.926693081878526e+00 1.915813328267264e+00 - 1.904977090405082e+00 1.894184192977273e+00 1.883434460875044e+00 1.872727710477953e+00 1.862063762090873e+00 - 1.851442457083682e+00 1.840863622251705e+00 1.830327074965862e+00 1.819832643502570e+00 1.809380158797907e+00 - 1.798969449793061e+00 1.788600336572885e+00 1.778272652771865e+00 1.767986244795942e+00 1.757740938619203e+00 - 1.747536560606076e+00 1.737372946411540e+00 1.727249932639099e+00 1.717167351154095e+00 1.707125028541288e+00 - 1.697122811212298e+00 1.687160545804055e+00 1.677238060829077e+00 1.667355192130723e+00 1.657511781312863e+00 - 1.647707669880958e+00 1.637942692337234e+00 1.628216684763444e+00 1.618529503053863e+00 1.608880992276723e+00 - 1.599270986915247e+00 1.589699330823691e+00 1.580165870897195e+00 1.570670452975510e+00 1.561212914561866e+00 - 1.551793103249197e+00 1.542410880472349e+00 1.533066090216831e+00 1.523758574579748e+00 1.514488184288800e+00 - 1.505254771462676e+00 1.496058184704016e+00 1.486898266759950e+00 1.477774877044576e+00 1.468687878023066e+00 - 1.459637114930725e+00 1.450622438289068e+00 1.441643704572125e+00 1.432700770639202e+00 1.423793487269355e+00 - 1.414921704769478e+00 1.406085292220042e+00 1.397284110913275e+00 1.388518010515092e+00 1.379786849127615e+00 - 1.371090488107240e+00 1.362428788219066e+00 1.353801602746353e+00 1.345208792137069e+00 1.336650231141558e+00 - 1.328125779708811e+00 1.319635294146069e+00 1.311178639017341e+00 1.302755680403749e+00 1.294366281732825e+00 - 1.286010300246468e+00 1.277687607130681e+00 1.269398079017509e+00 1.261141576506052e+00 1.252917963373013e+00 - 1.244727109229262e+00 1.236568884548108e+00 1.228443154841189e+00 1.220349783647821e+00 1.212288651549746e+00 - 1.204259634287000e+00 1.196262595500517e+00 1.188297406122070e+00 1.180363940507803e+00 1.172462072687314e+00 - 1.164591670206239e+00 1.156752605274376e+00 1.148944764287503e+00 1.141168021685895e+00 1.133422246839356e+00 - 1.125707316556084e+00 1.118023109341937e+00 1.110369501923575e+00 1.102746365022667e+00 1.095153580538906e+00 - 1.087591037394418e+00 1.080058609806265e+00 1.072556173728377e+00 1.065083611042832e+00 1.057640804167975e+00 - 1.050227631677888e+00 1.042843969448370e+00 1.035489708218281e+00 1.028164736497249e+00 1.020868930712798e+00 - 1.013602173363602e+00 1.006364350528145e+00 9.991553480860069e-01 9.919750464549014e-01 9.848233287198007e-01 - 9.777000916381701e-01 9.706052224312447e-01 9.635386022157533e-01 9.565001191688937e-01 9.494896630661879e-01 - 9.425071223228538e-01 9.355523797940184e-01 9.286253271866921e-01 9.217258644183214e-01 9.148538781303724e-01 - 9.080092551050607e-01 9.011918879859632e-01 8.944016703005543e-01 8.876384924746002e-01 8.809022413584221e-01 - 8.741928168976413e-01 8.675101190938330e-01 8.608540359442419e-01 8.542244603473701e-01 8.476212889430066e-01 - 8.410444181391276e-01 8.344937399710189e-01 8.279691476350027e-01 8.214705470141707e-01 8.149978368018493e-01 - 8.085509088588196e-01 8.021296614287111e-01 7.957339944800463e-01 7.893638070383275e-01 7.830189931350516e-01 - 7.766994532966268e-01 7.704050967403675e-01 7.641358215802615e-01 7.578915247022724e-01 7.516721083807270e-01 - 7.454774759379389e-01 7.393075284143857e-01 7.331621629407183e-01 7.270412875750237e-01 7.209448123528730e-01 - 7.148726361079928e-01 7.088246610576617e-01 7.028007931997213e-01 6.968009387204053e-01 6.908250000358214e-01 - 6.848728793751606e-01 6.789444908271167e-01 6.730397435251165e-01 6.671585392499849e-01 6.613007849024644e-01 - 6.554663896318030e-01 6.496552624588109e-01 6.438673070778183e-01 6.381024319556428e-01 6.323605552121262e-01 - 6.266415850605696e-01 6.209454272475601e-01 6.152719929073242e-01 6.096211942955035e-01 6.039929419697414e-01 - 5.983871423673978e-01 5.928037109278776e-01 5.872425665727200e-01 5.817036179262789e-01 5.761867757580472e-01 - 5.706919545755328e-01 5.652190691753797e-01 5.597680312855905e-01 5.543387515608681e-01 5.489311514266204e-01 - 5.435451491959484e-01 5.381806555529779e-01 5.328375858091706e-01 5.275158573424954e-01 5.222153871968650e-01 - 5.169360885007255e-01 5.116778775087658e-01 5.064406794925096e-01 5.012244118255510e-01 4.960289886382637e-01 - 4.908543290552675e-01 4.857003532629381e-01 4.805669801867241e-01 4.754541247133137e-01 4.703617092625736e-01 - 4.652896609026711e-01 4.602378967146020e-01 4.552063350475851e-01 4.501948983226124e-01 4.452035092771810e-01 - 4.402320879227842e-01 4.352805523654864e-01 4.303488309750054e-01 4.254368504386150e-01 4.205445290166767e-01 - 4.156717895856258e-01 4.108185573527897e-01 4.059847567861119e-01 4.011703090912549e-01 3.963751374739253e-01 - 3.915991740467544e-01 3.868423443729578e-01 3.821045699452743e-01 3.773857771630841e-01 3.726858934536713e-01 - 3.680048452743795e-01 3.633425553945757e-01 3.586989523890614e-01 3.540739701811214e-01 3.494675340422360e-01 - 3.448795694018267e-01 3.403100055229290e-01 3.357587720701978e-01 3.312257966625470e-01 3.267110046986084e-01 - 3.222143302305144e-01 3.177357072575733e-01 3.132750617821559e-01 3.088323230437107e-01 3.044074228278458e-01 - 3.000002929514869e-01 2.956108619814004e-01 2.912390591663653e-01 2.868848226223222e-01 2.825480855369588e-01 - 2.782287763584979e-01 2.739268276304007e-01 2.696421732978619e-01 2.653747469077652e-01 2.611244782932083e-01 - 2.568913016367161e-01 2.526751570146955e-01 2.484759769388697e-01 2.442936932048949e-01 2.401282413902519e-01 - 2.359795575701045e-01 2.318475761710866e-01 2.277322290127450e-01 2.236334554284879e-01 2.195511960314929e-01 - 2.154853836729677e-01 2.114359536211432e-01 2.074028437636633e-01 2.033859920182897e-01 1.993853337119912e-01 - 1.954008040589642e-01 1.914323463143237e-01 1.874799002688242e-01 1.835434007181165e-01 1.796227861758036e-01 - 1.757179964922509e-01 1.718289711649378e-01 1.679556465242757e-01 1.640979620393169e-01 1.602558632656972e-01 - 1.564292893436780e-01 1.526181778855338e-01 1.488224700413446e-01 1.450421075715582e-01 1.412770310767497e-01 - 1.375271785489454e-01 1.337924939887067e-01 1.300729236356154e-01 1.263684067750867e-01 1.226788841702678e-01 - 1.190042991249222e-01 1.153445951805052e-01 1.116997137432381e-01 1.080695954417651e-01 1.044541881911586e-01 - 1.008534377603918e-01 9.726728475975084e-02 9.369567294988820e-02 9.013854752144720e-02 8.659585347215112e-02 - 8.306753302147955e-02 7.955353046975124e-02 7.605379621791922e-02 7.256827534889604e-02 6.909691079142652e-02 - 6.563964883225221e-02 6.219643640409570e-02 5.876721959493493e-02 5.535194193553600e-02 5.195055179453398e-02 - 4.856300050562060e-02 4.518923308325209e-02 4.182919528191363e-02 3.848283536820589e-02 3.515010193539807e-02 - 3.183094185890936e-02 2.852530077920949e-02 2.523313079087341e-02 2.195438300307553e-02 1.868900335629075e-02 - 1.543694036357313e-02 1.219814405293583e-02 8.972564385828061e-03 5.760148923624660e-03 2.560846417529306e-03 - -6.253884489496408e-04 -3.798605206001689e-03 -6.958856024607482e-03 -1.010619000899848e-02 -1.324065554473652e-02 - -1.636230159824732e-02 -1.947117958312726e-02 -2.256733711284757e-02 -2.565081832749929e-02 -2.872167302619957e-02 - -3.177995089902724e-02 -3.482569914268617e-02 -3.785896464500105e-02 -4.087979562235380e-02 -4.388824175488684e-02 - -4.688434717766576e-02 -4.986815604286890e-02 -5.283971753775529e-02 -5.579907881824794e-02 -5.874628546589089e-02 - -6.168138307363240e-02 -6.460441923558070e-02 -6.751544105442296e-02 -7.041449003639784e-02 -7.330161087707579e-02 - -7.617685125406765e-02 -7.904025608548425e-02 -8.189186951723537e-02 -8.473173608907363e-02 -8.755990257827875e-02 - -9.037641289395969e-02 -9.318130717201861e-02 -9.597463047763352e-02 -9.875642835115833e-02 -1.015267439140877e-01 - -1.042856199263307e-01 -1.070331001684683e-01 -1.097692300567918e-01 -1.124940502948268e-01 -1.152076007898061e-01 - -1.179099262631479e-01 -1.206010699593113e-01 -1.232810735016665e-01 -1.259499784255051e-01 -1.286078279418341e-01 - -1.312546653333709e-01 -1.338905286984875e-01 -1.365154583874092e-01 -1.391294979538990e-01 -1.417326885345280e-01 - -1.443250704192513e-01 -1.469066841433861e-01 -1.494775722507627e-01 -1.520377752494497e-01 -1.545873297590701e-01 - -1.571262765202916e-01 -1.596546572452540e-01 -1.621725113907878e-01 -1.646798779801165e-01 -1.671767967821347e-01 - -1.696633092874520e-01 -1.721394530811854e-01 -1.746052643091513e-01 -1.770607836101869e-01 -1.795060506428017e-01 - -1.819411034225526e-01 -1.843659798390828e-01 -1.867807191554161e-01 -1.891853611111403e-01 -1.915799407499077e-01 - -1.939644945120454e-01 -1.963390621459183e-01 -1.987036813730624e-01 -2.010583889984393e-01 -2.034032219467188e-01 - -2.057382189127211e-01 -2.080634172465200e-01 -2.103788504106409e-01 -2.126845552585028e-01 -2.149805700057577e-01 - -2.172669307458855e-01 -2.195436731393316e-01 -2.218108333786645e-01 -2.240684493062661e-01 -2.263165556286022e-01 - -2.285551851690127e-01 -2.307843748874083e-01 -2.330041611277884e-01 -2.352145785311434e-01 -2.374156618282909e-01 - -2.396074467707450e-01 -2.417899696732801e-01 -2.439632627554057e-01 -2.461273590292558e-01 -2.482822949571798e-01 - -2.504281050002428e-01 -2.525648226666662e-01 -2.546924818382261e-01 -2.568111176810049e-01 -2.589207645010757e-01 - -2.610214530059819e-01 -2.631132165202481e-01 -2.651960899948890e-01 -2.672701065219724e-01 -2.693352987894519e-01 - -2.713916998229662e-01 -2.734393439668777e-01 -2.754782632038173e-01 -2.775084874639143e-01 -2.795300503441993e-01 - -2.815429852855671e-01 -2.835473240274155e-01 -2.855430981234691e-01 -2.875303400246380e-01 -2.895090831627840e-01 - -2.914793573631382e-01 -2.934411924374482e-01 -2.953946213942734e-01 -2.973396760049649e-01 -2.992763870705049e-01 - -3.012047853752455e-01 -3.031249029054077e-01 -3.050367713048046e-01 -3.069404187491607e-01 -3.088358754333808e-01 - -3.107231733999588e-01 -3.126023429151826e-01 -3.144734138246973e-01 -3.163364162512183e-01 -3.181913814969073e-01 - -3.200383391593082e-01 -3.218773166629695e-01 -3.237083442965246e-01 -3.255314526206347e-01 -3.273466708133588e-01 - -3.291540279174764e-01 -3.309535535062730e-01 -3.327452779044484e-01 -3.345292286746930e-01 -3.363054329977739e-01 - -3.380739209920870e-01 -3.398347217688169e-01 -3.415878634526212e-01 -3.433333743100879e-01 -3.450712833788954e-01 - -3.468016195958206e-01 -3.485244091566739e-01 -3.502396793974815e-01 -3.519474593420066e-01 -3.536477770380763e-01 - -3.553406598299846e-01 -3.570261348354672e-01 -3.587042307855341e-01 -3.603749751839582e-01 -3.620383929731605e-01 - -3.636945116923384e-01 -3.653433594409278e-01 -3.669849628231984e-01 -3.686193482790397e-01 -3.702465427747400e-01 - -3.718665743211436e-01 -3.734794684043725e-01 -3.750852495624684e-01 -3.766839451194457e-01 -3.782755819189342e-01 - -3.798601858648072e-01 -3.814377826321034e-01 -3.830083986549013e-01 -3.845720606417443e-01 -3.861287926090124e-01 - -3.876786193539286e-01 -3.892215675502101e-01 -3.907576628594260e-01 -3.922869303026715e-01 -3.938093947284727e-01 - -3.953250822556230e-01 -3.968340182497304e-01 -3.983362256494206e-01 -3.998317293097848e-01 -4.013205549386248e-01 - -4.028027272117153e-01 -4.042782703087232e-01 -4.057472086115670e-01 -4.072095677082399e-01 -4.086653712889545e-01 - -4.101146418277140e-01 -4.115574040934622e-01 -4.129936826934361e-01 -4.144235014035024e-01 -4.158468836578273e-01 - -4.172638535617268e-01 -4.186744357650895e-01 -4.200786523524958e-01 -4.214765258006608e-01 -4.228680805923657e-01 - -4.242533401481378e-01 -4.256323273241845e-01 -4.270050650780072e-01 -4.283715771591216e-01 -4.297318868367957e-01 - -4.310860152683936e-01 -4.324339850671611e-01 -4.337758197699306e-01 -4.351115419219263e-01 -4.364411736856622e-01 - -4.377647373653272e-01 -4.390822563519974e-01 -4.403937525793140e-01 -4.416992465950099e-01 -4.429987609092939e-01 - -4.442923180804305e-01 -4.455799398898891e-01 -4.468616477876415e-01 -4.481374637930542e-01 -4.494074106490894e-01 - -4.506715085877422e-01 -4.519297779021105e-01 -4.531822412097039e-01 -4.544289201442401e-01 -4.556698355752103e-01 - -4.569050083194456e-01 -4.581344599890250e-01 -4.593582121055255e-01 -4.605762842891920e-01 -4.617886970897419e-01 - -4.629954719556403e-01 -4.641966295426422e-01 -4.653921902577345e-01 -4.665821746143150e-01 -4.677666038635413e-01 - -4.689454981292748e-01 -4.701188761476531e-01 -4.712867586709557e-01 -4.724491664926360e-01 -4.736061192593240e-01 - -4.747576368456714e-01 -4.759037394682022e-01 -4.770444475543998e-01 -4.781797800875144e-01 -4.793097558338887e-01 - -4.804343950164401e-01 -4.815537175042383e-01 -4.826677426390972e-01 -4.837764894228364e-01 -4.848799775883490e-01 - -4.859782270303963e-01 -4.870712557287352e-01 -4.881590823344398e-01 -4.892417265305033e-01 -4.903192072931410e-01 - -4.913915433426016e-01 -4.924587534540600e-01 -4.935208569593936e-01 -4.945778724869024e-01 -4.956298174121960e-01 - -4.966767104426105e-01 -4.977185705977166e-01 -4.987554161795947e-01 -4.997872652579317e-01 -5.008141361357437e-01 - -5.018360477540788e-01 -5.028530175622089e-01 -5.038650625463708e-01 -5.048722015765362e-01 -5.058744527800632e-01 - -5.068718334710337e-01 -5.078643614554021e-01 -5.088520548881869e-01 -5.098349318298798e-01 -5.108130088001350e-01 - -5.117863028619736e-01 -5.127548322161382e-01 -5.137186142245088e-01 -5.146776659499980e-01 -5.156320045833772e-01 - -5.165816478015819e-01 -5.175266128170244e-01 -5.184669156304091e-01 -5.194025733016244e-01 -5.203336032597101e-01 - -5.212600221732120e-01 -5.221818466804444e-01 -5.230990936596679e-01 -5.240117804553392e-01 -5.249199232262068e-01 - -5.258235374392936e-01 -5.267226400387954e-01 -5.276172478389746e-01 -5.285073771019844e-01 -5.293930438910602e-01 - -5.302742646986305e-01 -5.311510563423283e-01 -5.320234339437281e-01 -5.328914129379527e-01 -5.337550101355577e-01 - -5.346142414983102e-01 -5.354691226448078e-01 -5.363196694209366e-01 -5.371658979374595e-01 -5.380078240078261e-01 - -5.388454624615836e-01 -5.396788287704753e-01 -5.405079388378121e-01 -5.413328081929075e-01 -5.421534521210617e-01 - -5.429698859177164e-01 -5.437821254261226e-01 -5.445901856060492e-01 -5.453940806517681e-01 -5.461938261275164e-01 - -5.469894375147514e-01 -5.477809296410460e-01 -5.485683172596564e-01 -5.493516154047422e-01 -5.501308394233321e-01 - -5.509060035978606e-01 -5.516771220917993e-01 -5.524442098036262e-01 -5.532072816062331e-01 -5.539663521228516e-01 - -5.547214355736525e-01 -5.554725467511782e-01 -5.562197004144761e-01 -5.569629099559865e-01 -5.577021895124128e-01 - -5.584375539231472e-01 -5.591690174427206e-01 -5.598965939391384e-01 -5.606202972403660e-01 -5.613401421520022e-01 - -5.620561426054913e-01 -5.627683113219669e-01 -5.634766626491997e-01 -5.641812109417922e-01 -5.648819696019924e-01 - -5.655789522526887e-01 -5.662721727674018e-01 -5.669616451334641e-01 -5.676473824290281e-01 -5.683293976251365e-01 - -5.690077046537543e-01 -5.696823171027902e-01 -5.703532481968968e-01 -5.710205111045815e-01 -5.716841193018837e-01 - -5.723440862989044e-01 -5.730004247377283e-01 -5.736531475408438e-01 -5.743022680808630e-01 -5.749477994635019e-01 - -5.755897545119250e-01 -5.762281459317424e-01 -5.768629872133108e-01 -5.774942912813225e-01 -5.781220698864685e-01 - -5.787463360372200e-01 -5.793671029370097e-01 -5.799843829591812e-01 -5.805981885004621e-01 -5.812085322229668e-01 - -5.818154271777390e-01 -5.824188854500640e-01 -5.830189187855023e-01 -5.836155400127914e-01 -5.842087616519486e-01 - -5.847985957903102e-01 -5.853850545399070e-01 -5.859681502822114e-01 -5.865478954643482e-01 -5.871243015837295e-01 - -5.876973804424807e-01 -5.882671445115567e-01 -5.888336058093040e-01 -5.893967761301214e-01 -5.899566672475657e-01 - -5.905132912554449e-01 -5.910666600004119e-01 -5.916167846344484e-01 -5.921636769312483e-01 -5.927073488739303e-01 - -5.932478119884005e-01 -5.937850777230974e-01 -5.943191576345895e-01 -5.948500635775013e-01 -5.953778067525587e-01 - -5.959023980172641e-01 -5.964238491804477e-01 -5.969421717317064e-01 -5.974573766302176e-01 -5.979694750153504e-01 - -5.984784782975928e-01 -5.989843980133127e-01 -5.994872448737363e-01 -5.999870296226286e-01 -6.004837635008013e-01 - -6.009774575116591e-01 -6.014681225640990e-01 -6.019557696406324e-01 -6.024404098188824e-01 -6.029220539582525e-01 - -6.034007123251734e-01 -6.038763957092128e-01 -6.043491151546724e-01 -6.048188811990667e-01 -6.052857043294740e-01 - -6.057495951725935e-01 -6.062105647034982e-01 -6.066686232996821e-01 -6.071237808282512e-01 -6.075760480581535e-01 - -6.080254356249652e-01 -6.084719536597242e-01 -6.089156123708600e-01 -6.093564221655233e-01 -6.097943936088406e-01 - -6.102295366277345e-01 -6.106618611466814e-01 -6.110913776082281e-01 -6.115180960018122e-01 -6.119420262061138e-01 - -6.123631785057825e-01 -6.127815629923925e-01 -6.131971895415724e-01 -6.136100679122567e-01 -6.140202079254689e-01 - -6.144276194632986e-01 -6.148323123693087e-01 -6.152342964516117e-01 -6.156335814880438e-01 -6.160301772367670e-01 - -6.164240932773791e-01 -6.168153390131846e-01 -6.172039241057757e-01 -6.175898582479540e-01 -6.179731510100582e-01 - -6.183538118537011e-01 -6.187318502245757e-01 -6.191072755983122e-01 -6.194800972241303e-01 -6.198503243163954e-01 - -6.202179663089392e-01 -6.205830326036273e-01 -6.209455324825972e-01 -6.213054750121583e-01 -6.216628693834372e-01 - -6.220177248671027e-01 -6.223700505100402e-01 -6.227198553511943e-01 -6.230671484590707e-01 -6.234119388224310e-01 - -6.237542354039819e-01 -6.240940471906395e-01 -6.244313833278470e-01 -6.247662526956897e-01 -6.250986637315333e-01 - -6.254286253149073e-01 -6.257561464374979e-01 -6.260812358699522e-01 -6.264039022632663e-01 -6.267241542804416e-01 - -6.270420007239386e-01 -6.273574502418447e-01 -6.276705113436000e-01 -6.279811924920996e-01 -6.282895022600340e-01 - -6.285954492669960e-01 -6.288990419377586e-01 -6.292002887596219e-01 -6.294991982474318e-01 -6.297957785295903e-01 - -6.300900379535952e-01 -6.303819851813233e-01 -6.306716282540937e-01 -6.309589752809680e-01 -6.312440348023121e-01 - -6.315268150763020e-01 -6.318073241903770e-01 -6.320855701836068e-01 -6.323615610879741e-01 -6.326353050044859e-01 - -6.329068101802829e-01 -6.331760846635813e-01 -6.334431363818833e-01 -6.337079733473078e-01 -6.339706034520735e-01 - -6.342310345121693e-01 -6.344892744839461e-01 -6.347453312805855e-01 -6.349992127114430e-01 -6.352509264768633e-01 - -6.355004804526597e-01 -6.357478826585540e-01 -6.359931404400122e-01 -6.362362612918424e-01 -6.364772532644518e-01 - -6.367161239398067e-01 -6.369528807876881e-01 -6.371875315012039e-01 -6.374200836672138e-01 -6.376505447719858e-01 - -6.378789222449943e-01 -6.381052236017390e-01 -6.383294563385360e-01 -6.385516277126226e-01 -6.387717451483415e-01 - -6.389898161925324e-01 -6.392058481779943e-01 -6.394198483013303e-01 -6.396318237129481e-01 -6.398417817583982e-01 - -6.400497298004382e-01 -6.402556751053731e-01 -6.404596246811356e-01 -6.406615856182318e-01 -6.408615652398488e-01 - -6.410595705960431e-01 -6.412556087124355e-01 -6.414496867908267e-01 -6.416418117430738e-01 -6.418319904244396e-01 - -6.420202299552208e-01 -6.422065373268501e-01 -6.423909194238488e-01 -6.425733831564441e-01 -6.427539354568388e-01 - -6.429325832107947e-01 -6.431093330874931e-01 -6.432841919278923e-01 -6.434571667152847e-01 -6.436282640341581e-01 - -6.437974905134223e-01 -6.439648529819666e-01 -6.441303582355420e-01 -6.442940129046214e-01 -6.444558234243410e-01 - -6.446157964842297e-01 -6.447739387669796e-01 -6.449302567289288e-01 -6.450847570451982e-01 -6.452374463418470e-01 - -6.453883308317777e-01 -6.455374170518916e-01 -6.456847116523639e-01 -6.458302208459006e-01 -6.459739509825424e-01 - -6.461159085765001e-01 -6.462561000624228e-01 -6.463945317857885e-01 -6.465312099893501e-01 -6.466661407794220e-01 - -6.467993305071421e-01 -6.469307857586633e-01 -6.470605124176557e-01 -6.471885165505020e-01 -6.473148048129491e-01 - -6.474393831451855e-01 -6.475622574433044e-01 -6.476834341411803e-01 -6.478029193005811e-01 -6.479207188186653e-01 - -6.480368387749067e-01 -6.481512852365653e-01 -6.482640642356557e-01 -6.483751817763184e-01 -6.484846438333333e-01 - -6.485924563559199e-01 -6.486986252696630e-01 -6.488031563964390e-01 -6.489060555062011e-01 -6.490073285956434e-01 - -6.491069816182633e-01 -6.492050203757027e-01 -6.493014505946639e-01 -6.493962779796888e-01 -6.494895082497514e-01 - -6.495811472172135e-01 -6.496712006463234e-01 -6.497596741452655e-01 -6.498465734697708e-01 -6.499319043537729e-01 - -6.500156722751166e-01 -6.500978828758883e-01 -6.501785418212779e-01 -6.502576544563589e-01 -6.503352264336196e-01 - -6.504112635780723e-01 -6.504857712206107e-01 -6.505587548117625e-01 -6.506302199692129e-01 -6.507001719669850e-01 - -6.507686161481057e-01 -6.508355580770583e-01 -6.509010033515999e-01 -6.509649573333303e-01 -6.510274250599254e-01 - -6.510884119408136e-01 -6.511479234691252e-01 -6.512059649357221e-01 -6.512625414820176e-01 -6.513176583196066e-01 - -6.513713209657690e-01 -6.514235346566493e-01 -6.514743044494572e-01 -6.515236355351222e-01 -6.515715331668240e-01 - -6.516180025498758e-01 -6.516630486086969e-01 -6.517066764698182e-01 -6.517488914696901e-01 -6.517896986474616e-01 - -6.518291029696229e-01 -6.518671094474887e-01 -6.519037232298822e-01 -6.519389493677847e-01 -6.519727927034696e-01 - -6.520052582102593e-01 -6.520363509344871e-01 -6.520660759114448e-01 -6.520944379877177e-01 -6.521214419863292e-01 - -6.521470929034477e-01 -6.521713955379932e-01 -6.521943546611896e-01 -6.522159753870301e-01 -6.522362625000242e-01 - -6.522552205660485e-01 -6.522728545508729e-01 -6.522891692872490e-01 -6.523041693781095e-01 -6.523178594474156e-01 - -6.523302443147758e-01 -6.523413289626511e-01 -6.523511179648659e-01 -6.523596158248584e-01 -6.523668271884714e-01 - -6.523727568212391e-01 -6.523774093997819e-01 -6.523807893579161e-01 -6.523829012952149e-01 -6.523837498990516e-01 - -6.523833397960367e-01 -6.523816754611410e-01 -6.523787613199525e-01 -6.523746019358498e-01 -6.523692018302728e-01 - -6.523625654555820e-01 -6.523546972248629e-01 -6.523456017173497e-01 -6.523352835702680e-01 -6.523237468711672e-01 - -6.523109959032295e-01 -6.522970353197415e-01 -6.522818693382445e-01 -6.522655022842732e-01 -6.522479388337681e-01 - -6.522291831409690e-01 -6.522092393163972e-01 -6.521881118419591e-01 -6.521658050464721e-01 -6.521423231008568e-01 - -6.521176700882644e-01 -6.520918504277817e-01 -6.520648685798258e-01 -6.520367284462982e-01 -6.520074341903623e-01 - -6.519769901852531e-01 -6.519454004576026e-01 -6.519126690272374e-01 -6.518788000417296e-01 -6.518437978790763e-01 - -6.518076667685843e-01 -6.517704106505043e-01 -6.517320333460206e-01 -6.516925389358605e-01 -6.516519318553129e-01 - -6.516102158220000e-01 -6.515673946405215e-01 -6.515234728464969e-01 -6.514784543315630e-01 -6.514323427842886e-01 - -6.513851423523833e-01 -6.513368570527661e-01 -6.512874907235414e-01 -6.512370470939771e-01 -6.511855301990920e-01 - -6.511329442190841e-01 -6.510792928715797e-01 -6.510245798816351e-01 -6.509688091361985e-01 -6.509119847142907e-01 - -6.508541103488035e-01 -6.507951894034477e-01 -6.507352259931611e-01 -6.506742241942834e-01 -6.506121876059120e-01 - -6.505491199228429e-01 -6.504850249436106e-01 -6.504199065016956e-01 -6.503537680222150e-01 -6.502866130342899e-01 - -6.502184457971011e-01 -6.501492700279957e-01 -6.500790890906794e-01 -6.500079066129352e-01 -6.499357263329657e-01 - -6.498625519683058e-01 -6.497883869826074e-01 -6.497132350047277e-01 -6.496370998048885e-01 -6.495599847614121e-01 - -6.494818934475555e-01 -6.494028297363450e-01 -6.493227969968260e-01 -6.492417985197620e-01 -6.491598378013752e-01 - -6.490769185970405e-01 -6.489930446200032e-01 -6.489082192796405e-01 -6.488224457999440e-01 -6.487357275334984e-01 - -6.486480682838258e-01 -6.485594713376021e-01 -6.484699398068251e-01 -6.483794774339799e-01 -6.482880877536140e-01 - -6.481957740532812e-01 -6.481025397024727e-01 -6.480083880017639e-01 -6.479133221889776e-01 -6.478173456351086e-01 - -6.477204618036257e-01 -6.476226741599570e-01 -6.475239858039916e-01 -6.474243999826228e-01 -6.473239202990485e-01 - -6.472225498463482e-01 -6.471202916312221e-01 -6.470171489638400e-01 -6.469131252405815e-01 -6.468082238277443e-01 - -6.467024479420175e-01 -6.465958006550642e-01 -6.464882850509053e-01 -6.463799044773618e-01 -6.462706620382276e-01 - -6.461605607272912e-01 -6.460496040101232e-01 -6.459377950690467e-01 -6.458251367734501e-01 -6.457116323868038e-01 - -6.455972850655802e-01 -6.454820977029684e-01 -6.453660732942879e-01 -6.452492150754419e-01 -6.451315264887545e-01 - -6.450130102914885e-01 -6.448936692680686e-01 -6.447735068128447e-01 -6.446525260129213e-01 -6.445307296530088e-01 - -6.444081203587793e-01 -6.442847014715996e-01 -6.441604765089356e-01 -6.440354480546840e-01 -6.439096188724848e-01 - -6.437829920095609e-01 -6.436555704731397e-01 -6.435273570693492e-01 -6.433983545533010e-01 -6.432685663163126e-01 - -6.431379953365300e-01 -6.430066439769492e-01 -6.428745153347271e-01 -6.427416124750638e-01 -6.426079380140648e-01 - -6.424734947555180e-01 -6.423382856273998e-01 -6.422023135830728e-01 -6.420655814260000e-01 -6.419280919255173e-01 - -6.417898479598759e-01 -6.416508523135933e-01 -6.415111076305331e-01 -6.413706163966455e-01 -6.412293816393564e-01 - -6.410874066048897e-01 -6.409446936267265e-01 -6.408012453136449e-01 -6.406570646910840e-01 -6.405121544270317e-01 - -6.403665170374713e-01 -6.402201550644944e-01 -6.400730715072882e-01 -6.399252691822962e-01 -6.397767504407681e-01 - -6.396275180930010e-01 -6.394775749890055e-01 -6.393269236107165e-01 -6.391755662191552e-01 -6.390235053902433e-01 - -6.388707445708105e-01 -6.387172861694177e-01 -6.385631322023312e-01 -6.384082857966726e-01 -6.382527494896121e-01 - -6.380965253642142e-01 -6.379396162401521e-01 -6.377820248167250e-01 -6.376237535602883e-01 -6.374648052204416e-01 - -6.373051823107587e-01 -6.371448870124290e-01 -6.369839218821269e-01 -6.368222895078627e-01 -6.366599923302766e-01 - -6.364970329561520e-01 -6.363334139746031e-01 -6.361691377885151e-01 -6.360042067688202e-01 -6.358386233547334e-01 - -6.356723901317635e-01 -6.355055093799952e-01 -6.353379833438523e-01 -6.351698147827204e-01 -6.350010061497325e-01 - -6.348315596278746e-01 -6.346614776297652e-01 -6.344907627044540e-01 -6.343194173354602e-01 -6.341474433478579e-01 - -6.339748431233465e-01 -6.338016197812808e-01 -6.336277753787244e-01 -6.334533118997744e-01 -6.332782318265875e-01 - -6.331025376588558e-01 -6.329262316544187e-01 -6.327493157114107e-01 -6.325717923863455e-01 -6.323936643403999e-01 - -6.322149336030685e-01 -6.320356024195775e-01 -6.318556731749607e-01 -6.316751480498738e-01 -6.314940290711796e-01 - -6.313123183267710e-01 -6.311300184615836e-01 -6.309471319109403e-01 -6.307636607640942e-01 -6.305796070902886e-01 - -6.303949730482692e-01 -6.302097608691579e-01 -6.300239725606558e-01 -6.298376103756032e-01 -6.296506769748604e-01 - -6.294631743864889e-01 -6.292751044804592e-01 -6.290864694027335e-01 -6.288972714311484e-01 -6.287075127245377e-01 - -6.285171950849623e-01 -6.283263208775478e-01 -6.281348926187029e-01 -6.279429120773061e-01 -6.277503812180564e-01 - -6.275573022752827e-01 -6.273636774541002e-01 -6.271695087389834e-01 -6.269747979757735e-01 -6.267795473573458e-01 - -6.265837591630624e-01 -6.263874355834504e-01 -6.261905784094625e-01 -6.259931895045528e-01 -6.257952710369122e-01 - -6.255968250363517e-01 -6.253978534898084e-01 -6.251983584520242e-01 -6.249983420853732e-01 -6.247978064572296e-01 - -6.245967533125147e-01 -6.243951846742302e-01 -6.241931026018996e-01 -6.239905086686763e-01 -6.237874050561640e-01 - -6.235837942608177e-01 -6.233796778475696e-01 -6.231750576026635e-01 -6.229699356978790e-01 -6.227643140512986e-01 - -6.225581944126894e-01 -6.223515785171654e-01 -6.221444686516174e-01 -6.219368669106876e-01 -6.217287748516653e-01 - -6.215201944179222e-01 -6.213111276341791e-01 -6.211015763012264e-01 -6.208915420627059e-01 -6.206810267189914e-01 - -6.204700325606027e-01 -6.202585614407183e-01 -6.200466150025669e-01 -6.198341952555039e-01 -6.196213039807257e-01 - -6.194079427661365e-01 -6.191941133919308e-01 -6.189798178811384e-01 -6.187650583625046e-01 -6.185498365366234e-01 - -6.183341539791172e-01 -6.181180123373080e-01 -6.179014136693182e-01 -6.176843597571294e-01 -6.174668518753883e-01 - -6.172488922358068e-01 -6.170304830078728e-01 -6.168116255085183e-01 -6.165923213940302e-01 -6.163725725542526e-01 - -6.161523808379610e-01 -6.159317477445455e-01 -6.157106747923912e-01 -6.154891641891720e-01 -6.152672177134336e-01 - -6.150448367622374e-01 -6.148220230127394e-01 -6.145987783325538e-01 -6.143751045698781e-01 -6.141510029326600e-01 - -6.139264750393221e-01 -6.137015231470567e-01 -6.134761489851926e-01 -6.132503540152313e-01 -6.130241396532106e-01 - -6.127975076851865e-01 -6.125704598048077e-01 -6.123429972989166e-01 -6.121151221351967e-01 -6.118868363314907e-01 - -6.116581411278224e-01 -6.114290380220153e-01 -6.111995287783158e-01 -6.109696151823703e-01 -6.107392985450728e-01 - -6.105085801024925e-01 -6.102774622058419e-01 -6.100459465922933e-01 -6.098140342484372e-01 -6.095817267256873e-01 - -6.093490257933440e-01 -6.091159331809802e-01 -6.088824500709522e-01 -6.086485779905337e-01 -6.084143191489354e-01 - -6.081796748129595e-01 -6.079446461968719e-01 -6.077092351925356e-01 -6.074734432434898e-01 -6.072372716150822e-01 - -6.070007218360295e-01 -6.067637956065657e-01 -6.065264946232775e-01 -6.062888203126375e-01 -6.060507740692458e-01 - -6.058123573561740e-01 -6.055735718185850e-01 -6.053344188005130e-01 -6.050948994718379e-01 -6.048550157592759e-01 - -6.046147693250087e-01 -6.043741612917217e-01 -6.041331930896253e-01 -6.038918662688606e-01 -6.036501823335466e-01 - -6.034081424814672e-01 -6.031657481058161e-01 -6.029230011393863e-01 -6.026799028730719e-01 -6.024364544399844e-01 - -6.021926574869638e-01 -6.019485136055120e-01 -6.017040241022006e-01 -6.014591897708976e-01 -6.012140122415236e-01 - -6.009684936432825e-01 -6.007226351565053e-01 -6.004764378633045e-01 -6.002299030368295e-01 -5.999830322604393e-01 - -5.997358269112610e-01 -5.994882881008079e-01 -5.992404174674395e-01 -5.989922165630734e-01 -5.987436865327392e-01 - -5.984948286273432e-01 -5.982456442781595e-01 -5.979961350600861e-01 -5.977463018616249e-01 -5.974961457245347e-01 - -5.972456688462123e-01 -5.969948725706038e-01 -5.967437577688297e-01 -5.964923259025159e-01 -5.962405782771161e-01 - -5.959885160038786e-01 -5.957361402849749e-01 -5.954834525607696e-01 -5.952304544228757e-01 -5.949771471628894e-01 - -5.947235319540697e-01 -5.944696099654433e-01 -5.942153825546195e-01 -5.939608509107162e-01 -5.937060159741117e-01 - -5.934508794411635e-01 -5.931954428951332e-01 -5.929397071302310e-01 -5.926836734445704e-01 -5.924273432987167e-01 - -5.921707177793331e-01 -5.919137978828047e-01 -5.916565847753502e-01 -5.913990801532651e-01 -5.911412853604616e-01 - -5.908832013941032e-01 -5.906248293335863e-01 -5.903661704565201e-01 -5.901072261246485e-01 -5.898479972855557e-01 - -5.895884850905705e-01 -5.893286910470348e-01 -5.890686164387193e-01 -5.888082623596927e-01 -5.885476297953414e-01 - -5.882867200485414e-01 -5.880255342895034e-01 -5.877640732646211e-01 -5.875023385228563e-01 -5.872403317009627e-01 - -5.869780535979796e-01 -5.867155052441069e-01 -5.864526878805291e-01 -5.861896026754034e-01 -5.859262506932092e-01 - -5.856626329801135e-01 -5.853987507817091e-01 -5.851346053972879e-01 -5.848701980701103e-01 -5.846055297559873e-01 - -5.843406014627009e-01 -5.840754143260567e-01 -5.838099692919883e-01 -5.835442675863415e-01 -5.832783108438364e-01 - -5.830120998737411e-01 -5.827456354637697e-01 -5.824789190313094e-01 -5.822119517157962e-01 -5.819447343999242e-01 - -5.816772678604962e-01 -5.814095534384316e-01 -5.811415926659900e-01 -5.808733865100626e-01 -5.806049358083534e-01 - -5.803362414940428e-01 -5.800673049021045e-01 -5.797981269727348e-01 -5.795287083747186e-01 -5.792590507223763e-01 - -5.789891553127540e-01 -5.787190227795775e-01 -5.784486540773595e-01 -5.781780503537821e-01 -5.779072127885909e-01 - -5.776361421027820e-01 -5.773648392415993e-01 -5.770933058481036e-01 -5.768215427543451e-01 -5.765495506173008e-01 - -5.762773307782053e-01 -5.760048843724456e-01 -5.757322122309633e-01 -5.754593149355522e-01 -5.751861936930261e-01 - -5.749128500443350e-01 -5.746392847733658e-01 -5.743654986749642e-01 -5.740914927526973e-01 -5.738172681170074e-01 - -5.735428256834612e-01 -5.732681661997935e-01 -5.729932909950833e-01 -5.727182011898047e-01 -5.724428973589288e-01 - -5.721673806475209e-01 -5.718916522032619e-01 -5.716157126986885e-01 -5.713395629769044e-01 -5.710632040862346e-01 - -5.707866372440725e-01 -5.705098634203313e-01 -5.702328834166335e-01 -5.699556980810941e-01 -5.696783084118523e-01 - -5.694007154024264e-01 -5.691229196446771e-01 -5.688449222662509e-01 -5.685667247951188e-01 -5.682883277592247e-01 - -5.680097317796297e-01 -5.677309379467054e-01 -5.674519473718960e-01 -5.671727608332666e-01 -5.668933787438524e-01 - -5.666138024324125e-01 -5.663340332775648e-01 -5.660540719736767e-01 -5.657739191147048e-01 -5.654935755198692e-01 - -5.652130424887296e-01 -5.649323205844615e-01 -5.646514102596061e-01 -5.643703131320561e-01 -5.640890302500955e-01 - -5.638075621229782e-01 -5.635259096013298e-01 -5.632440735413435e-01 -5.629620547371306e-01 -5.626798540413637e-01 - -5.623974724401825e-01 -5.621149109968532e-01 -5.618321704141040e-01 -5.615492514232792e-01 -5.612661549867731e-01 - -5.609828820346520e-01 -5.606994332802816e-01 -5.604158091721365e-01 -5.601320109850756e-01 -5.598480400285579e-01 - -5.595638966628304e-01 -5.592795815381203e-01 -5.589950956088516e-01 -5.587104398719418e-01 -5.584256150214867e-01 - -5.581406216413944e-01 -5.578554608147975e-01 -5.575701335442586e-01 -5.572846406020895e-01 -5.569989825973618e-01 - -5.567131602740183e-01 -5.564271745453506e-01 -5.561410260628522e-01 -5.558547156725416e-01 -5.555682445647333e-01 - -5.552816133007876e-01 -5.549948224318785e-01 -5.547078730025937e-01 -5.544207659049382e-01 -5.541335017868810e-01 - -5.538460810525171e-01 -5.535585047530838e-01 -5.532707741030544e-01 -5.529828895161875e-01 -5.526948516856666e-01 - -5.524066615722431e-01 -5.521183198617187e-01 -5.518298271294942e-01 -5.515411840216864e-01 -5.512523916981388e-01 - -5.509634510475757e-01 -5.506743625070015e-01 -5.503851268106821e-01 -5.500957448096843e-01 -5.498062173123895e-01 - -5.495165448046009e-01 -5.492267279674086e-01 -5.489367680360671e-01 -5.486466657159732e-01 -5.483564214808752e-01 - -5.480660360175322e-01 -5.477755101695411e-01 -5.474848446983241e-01 -5.471940399297857e-01 -5.469030967097296e-01 - -5.466120162347039e-01 -5.463207992130580e-01 -5.460294461220425e-01 -5.457379574365921e-01 -5.454463341419615e-01 - -5.451545769787555e-01 -5.448626863052353e-01 -5.445706629798505e-01 -5.442785079610155e-01 -5.439862220351145e-01 - -5.436938056623958e-01 -5.434012594168094e-01 -5.431085842649811e-01 -5.428157805859503e-01 -5.425228488112607e-01 - -5.422297902211034e-01 -5.419366056396356e-01 -5.416432955189590e-01 -5.413498603513526e-01 -5.410563008101139e-01 - -5.407626176406882e-01 -5.404688113584152e-01 -5.401748827259091e-01 -5.398808327262222e-01 -5.395866619984641e-01 - -5.392923710452394e-01 -5.389979603718316e-01 -5.387034307479797e-01 -5.384087828255361e-01 -5.381140170098579e-01 - -5.378191341794292e-01 -5.375241352697128e-01 -5.372290208939874e-01 -5.369337913756430e-01 -5.366384472427702e-01 - -5.363429897090184e-01 -5.360474189692397e-01 -5.357517350808286e-01 -5.354559397287709e-01 -5.351600336380363e-01 - -5.348640167550405e-01 -5.345678898586708e-01 -5.342716537895550e-01 -5.339753091509816e-01 -5.336788560795809e-01 - -5.333822952812678e-01 -5.330856281219807e-01 -5.327888549366336e-01 -5.324919760228772e-01 -5.321949921530423e-01 - -5.318979038948367e-01 -5.316007117591099e-01 -5.313034163655616e-01 -5.310060185016283e-01 -5.307085188690476e-01 - -5.304109178113635e-01 -5.301132159560333e-01 -5.298154141057816e-01 -5.295175129068631e-01 -5.292195125739295e-01 - -5.289214133220888e-01 -5.286232164928936e-01 -5.283249229043371e-01 -5.280265326905970e-01 -5.277280463629660e-01 - -5.274294646406563e-01 -5.271307882435877e-01 -5.268320172699235e-01 -5.265331522204252e-01 -5.262341943956992e-01 - -5.259351442515741e-01 -5.256360020246456e-01 -5.253367683007200e-01 -5.250374438802079e-01 -5.247380293156688e-01 - -5.244385244793137e-01 -5.241389303158239e-01 -5.238392481089597e-01 -5.235394779437145e-01 -5.232396201567239e-01 - -5.229396754457293e-01 -5.226396444439171e-01 -5.223395275325885e-01 -5.220393250130385e-01 -5.217390378529512e-01 - -5.214386667612969e-01 -5.211382119631184e-01 -5.208376739941909e-01 -5.205370535049869e-01 -5.202363510969753e-01 - -5.199355670763710e-01 -5.196347019022574e-01 -5.193337564915598e-01 -5.190327313042545e-01 -5.187316266472318e-01 - -5.184304431068453e-01 -5.181291813913007e-01 -5.178278420262173e-01 -5.175264249304404e-01 -5.172249309061349e-01 - -5.169233612064826e-01 -5.166217158673360e-01 -5.163199951550123e-01 -5.160181998004911e-01 -5.157163303784532e-01 - -5.154143871836301e-01 -5.151123703899823e-01 -5.148102810445049e-01 -5.145081200022412e-01 -5.142058873966443e-01 - -5.139035834879907e-01 -5.136012088439446e-01 -5.132987643470369e-01 -5.129962500176725e-01 -5.126936660139045e-01 - -5.123910137907831e-01 -5.120882937169244e-01 -5.117855056864241e-01 -5.114826505830118e-01 -5.111797289351894e-01 - -5.108767409175631e-01 -5.105736869791608e-01 -5.102705678009448e-01 -5.099673841164564e-01 -5.096641361609235e-01 - -5.093608243087677e-01 -5.090574492425100e-01 -5.087540114820200e-01 -5.084505112619658e-01 -5.081469486274651e-01 - -5.078433245912960e-01 -5.075396400795943e-01 -5.072358951124865e-01 -5.069320899536702e-01 -5.066282251477461e-01 - -5.063243014155288e-01 -5.060203189866231e-01 -5.057162780382299e-01 -5.054121795257869e-01 -5.051080240346536e-01 - -5.048038117428125e-01 -5.044995428560932e-01 -5.041952179946867e-01 -5.038908379779851e-01 -5.035864027540428e-01 - -5.032819126747086e-01 -5.029773687584369e-01 -5.026727713803431e-01 -5.023681207203433e-01 -5.020634170773620e-01 - -5.017586611304518e-01 -5.014538534087800e-01 -5.011489939472488e-01 -5.008440834008399e-01 -5.005391225202214e-01 - -5.002341114848970e-01 -4.999290507534227e-01 -4.996239408965545e-01 -4.993187821357916e-01 -4.990135746184980e-01 - -4.987083187010172e-01 -4.984030154770353e-01 -4.980976654859903e-01 -4.977922686591017e-01 -4.974868253646026e-01 - -4.971813362150598e-01 -4.968758018164073e-01 -4.965702219796178e-01 -4.962645970518764e-01 -4.959589283986423e-01 - -4.956532161259331e-01 -4.953474601672504e-01 -4.950416611894621e-01 -4.947358197709370e-01 -4.944299362131679e-01 - -4.941240104625670e-01 -4.938180432013966e-01 -4.935120353360559e-01 -4.932059869696777e-01 -4.928998983832586e-01 - -4.925937700937396e-01 -4.922876025288242e-01 -4.919813957951697e-01 -4.916751499430368e-01 -4.913688660561277e-01 - -4.910625447982750e-01 -4.907561860728009e-01 -4.904497902858990e-01 -4.901433579647613e-01 -4.898368894758774e-01 - -4.895303847877975e-01 -4.892238442443610e-01 -4.889172690570770e-01 -4.886106594399146e-01 -4.883040152916479e-01 - -4.879973371198497e-01 -4.876906255185612e-01 -4.873838808516193e-01 -4.870771028969680e-01 -4.867702923235035e-01 - -4.864634502410182e-01 -4.861565765237592e-01 -4.858496713307078e-01 -4.855427352755911e-01 -4.852357685536697e-01 - -4.849287714451036e-01 -4.846217444589359e-01 -4.843146879997467e-01 -4.840076025123002e-01 -4.837004885060202e-01 - -4.833933461066379e-01 -4.830861755003688e-01 -4.827789772517898e-01 -4.824717516127337e-01 -4.821644988235214e-01 - -4.818572195031119e-01 -4.815499140763169e-01 -4.812425828318353e-01 -4.809352261296052e-01 -4.806278443199989e-01 - -4.803204376463540e-01 -4.800130060714603e-01 -4.797055501717924e-01 -4.793980709573083e-01 -4.790905684347367e-01 - -4.787830426340720e-01 -4.784754939887473e-01 -4.781679231200341e-01 -4.778603302286951e-01 -4.775527150015833e-01 - -4.772450784284375e-01 -4.769374213667171e-01 -4.766297434623847e-01 -4.763220450397429e-01 -4.760143266869929e-01 - -4.757065886153464e-01 -4.753988310011543e-01 -4.750910541528841e-01 -4.747832586964973e-01 -4.744754450010169e-01 - -4.741676132522562e-01 -4.738597638648681e-01 -4.735518971269201e-01 -4.732440131603057e-01 -4.729361121339242e-01 - -4.726281945136708e-01 -4.723202610280838e-01 -4.720123119889466e-01 -4.717043475548789e-01 -4.713963678930571e-01 - -4.710883732580126e-01 -4.707803639362851e-01 -4.704723402372425e-01 -4.701643027667922e-01 -4.698562520096238e-01 - -4.695481878708884e-01 -4.692401107063794e-01 -4.689320210638210e-01 -4.686239190614940e-01 -4.683158048406638e-01 - -4.680076787162389e-01 -4.676995413185929e-01 -4.673913930202820e-01 -4.670832339045677e-01 -4.667750641928977e-01 - -4.664668842720264e-01 -4.661586945788764e-01 -4.658504950199774e-01 -4.655422858974875e-01 -4.652340682220931e-01 - -4.649258420178881e-01 -4.646176071935555e-01 -4.643093642460228e-01 -4.640011135361189e-01 -4.636928552533583e-01 - -4.633845894780055e-01 -4.630763167063440e-01 -4.627680375263447e-01 -4.624597520114774e-01 -4.621514604268375e-01 - -4.618431632080228e-01 -4.615348605890552e-01 -4.612265525685530e-01 -4.609182391698630e-01 -4.606099213200685e-01 - -4.603015994943055e-01 -4.599932734377760e-01 -4.596849434943749e-01 -4.593766101319814e-01 -4.590682736286037e-01 - -4.587599339472412e-01 -4.584515913122191e-01 -4.581432465762054e-01 -4.578348999443045e-01 -4.575265513883392e-01 - -4.572182012155285e-01 -4.569098498253546e-01 -4.566014974456956e-01 -4.562931438038699e-01 -4.559847894939479e-01 - -4.556764355440957e-01 -4.553680818446301e-01 -4.550597283221777e-01 -4.547513752454754e-01 -4.544430231318768e-01 - -4.541346721146189e-01 -4.538263219879204e-01 -4.535179736207505e-01 -4.532096276207381e-01 -4.529012837320638e-01 - -4.525929421989657e-01 -4.522846033793929e-01 -4.519762674029318e-01 -4.516679344715044e-01 -4.513596049388520e-01 - -4.510512793496801e-01 -4.507429578901284e-01 -4.504346405869434e-01 -4.501263277269192e-01 -4.498180196893253e-01 - -4.495097167463535e-01 -4.492014186979058e-01 -4.488931259139300e-01 -4.485848392328776e-01 -4.482765586745183e-01 - -4.479682843350483e-01 -4.476600166157323e-01 -4.473517555800268e-01 -4.470435013321629e-01 -4.467352542154915e-01 - -4.464270145748750e-01 -4.461187827567155e-01 -4.458105590951706e-01 -4.455023436689998e-01 -4.451941365719282e-01 - -4.448859382022067e-01 -4.445777486373541e-01 -4.442695679571050e-01 -4.439613968717006e-01 -4.436532356916815e-01 - -4.433450843880059e-01 -4.430369431657580e-01 -4.427288122616561e-01 -4.424206918620519e-01 -4.421125820372482e-01 - -4.418044832064567e-01 -4.414963960811867e-01 -4.411883204960218e-01 -4.408802564087612e-01 -4.405722043668788e-01 - -4.402641646390490e-01 -4.399561373068210e-01 -4.396481224088197e-01 -4.393401203468038e-01 -4.390321316119934e-01 - -4.387241564347777e-01 -4.384161947343386e-01 -4.381082465266398e-01 -4.378003125430411e-01 -4.374923928277115e-01 - -4.371844871230922e-01 -4.368765963346815e-01 -4.365687207997857e-01 -4.362608601883623e-01 -4.359530147661063e-01 - -4.356451849773876e-01 -4.353373711547212e-01 -4.350295729831375e-01 -4.347217906709347e-01 -4.344140253247259e-01 - -4.341062767701542e-01 -4.337985447574569e-01 -4.334908298973194e-01 -4.331831324142745e-01 -4.328754522838512e-01 - -4.325677895304312e-01 -4.322601446380396e-01 -4.319525182069930e-01 -4.316449103351276e-01 -4.313373209430619e-01 - -4.310297500384340e-01 -4.307221981580691e-01 -4.304146654764764e-01 -4.301071518609876e-01 -4.297996578556980e-01 - -4.294921838432407e-01 -4.291847298181669e-01 -4.288772959356691e-01 -4.285698824691314e-01 -4.282624896947286e-01 - -4.279551173581843e-01 -4.276477655542056e-01 -4.273404353166645e-01 -4.270331268873108e-01 -4.267258400671970e-01 - -4.264185747737768e-01 -4.261113314513503e-01 -4.258041105111009e-01 -4.254969114260224e-01 -4.251897346526543e-01 - -4.248825811839114e-01 -4.245754507348872e-01 -4.242683433304872e-01 -4.239612594489042e-01 -4.236541990429175e-01 - -4.233471621233121e-01 -4.230401489624036e-01 -4.227331599159186e-01 -4.224261953202194e-01 -4.221192554076946e-01 - -4.218123401221037e-01 -4.215054495276057e-01 -4.211985840665567e-01 -4.208917437341202e-01 -4.205849285470991e-01 - -4.202781391077526e-01 -4.199713756820169e-01 -4.196646382796324e-01 -4.193579269625680e-01 -4.190512419898234e-01 - -4.187445835885104e-01 -4.184379514023820e-01 -4.181313458657921e-01 -4.178247679943504e-01 -4.175182174706034e-01 - -4.172116941638125e-01 -4.169051985589959e-01 -4.165987308801878e-01 -4.162922910262470e-01 -4.159858787333477e-01 - -4.156794948456864e-01 -4.153731400237493e-01 -4.150668138055245e-01 -4.147605162480433e-01 -4.144542477033889e-01 - -4.141480084083939e-01 -4.138417983331389e-01 -4.135356175072968e-01 -4.132294665425894e-01 -4.129233456523720e-01 - -4.126172547353913e-01 -4.123111939769975e-01 -4.120051637027982e-01 -4.116991641480549e-01 -4.113931948631621e-01 - -4.110872561089984e-01 -4.107813489720965e-01 -4.104754732505308e-01 -4.101696286974395e-01 -4.098638156566466e-01 - -4.095580344057681e-01 -4.092522850492459e-01 -4.089465675148873e-01 -4.086408821301867e-01 -4.083352292811099e-01 - -4.080296090087697e-01 -4.077240214925531e-01 -4.074184669621912e-01 -4.071129454474836e-01 -4.068074568206541e-01 - -4.065020011172992e-01 -4.061965792344674e-01 -4.058911914234347e-01 -4.055858372701102e-01 -4.052805169731385e-01 - -4.049752308691225e-01 -4.046699791746853e-01 -4.043647616984872e-01 -4.040595785275335e-01 -4.037544302850327e-01 - -4.034493171430220e-01 -4.031442391412985e-01 -4.028391964411297e-01 -4.025341890399178e-01 -4.022292169515432e-01 - -4.019242804318620e-01 -4.016193797575413e-01 -4.013145151618574e-01 -4.010096867767989e-01 -4.007048946739946e-01 - -4.004001389575452e-01 -4.000954199442892e-01 -3.997907376333255e-01 -3.994860918450180e-01 -3.991814831388100e-01 - -3.988769118682245e-01 -3.985723779299208e-01 -3.982678813725196e-01 -3.979634224118638e-01 -3.976590013430957e-01 - -3.973546179557737e-01 -3.970502723184750e-01 -3.967459652757308e-01 -3.964416967373386e-01 -3.961374664325438e-01 - -3.958332748416728e-01 -3.955291221412219e-01 -3.952250082276700e-01 -3.949209329883424e-01 -3.946168969005399e-01 - -3.943129006192436e-01 -3.940089438207542e-01 -3.937050264421336e-01 -3.934011488327164e-01 -3.930973111392007e-01 - -3.927935133510078e-01 -3.924897554398895e-01 -3.921860379028622e-01 -3.918823611410527e-01 -3.915787251272155e-01 - -3.912751296302741e-01 -3.909715747221262e-01 -3.906680610479274e-01 -3.903645884467465e-01 -3.900611567141484e-01 - -3.897577665105899e-01 -3.894544180732338e-01 -3.891511112918067e-01 -3.888478460867855e-01 -3.885446227676595e-01 - -3.882414417069796e-01 -3.879383024897914e-01 -3.876352053351357e-01 -3.873321510269954e-01 -3.870291394376005e-01 - -3.867261704550462e-01 -3.864232442776043e-01 -3.861203610538394e-01 -3.858175208256477e-01 -3.855147235659399e-01 - -3.852119696012977e-01 -3.849092593053318e-01 -3.846065928280623e-01 -3.843039700003283e-01 -3.840013907871894e-01 - -3.836988557264463e-01 -3.833963646642737e-01 -3.830939173673272e-01 -3.827915146861536e-01 -3.824891567344230e-01 - -3.821868431312930e-01 -3.818845742897094e-01 -3.815823505036508e-01 -3.812801717050347e-01 -3.809780375081945e-01 - -3.806759481537249e-01 -3.803739045452896e-01 -3.800719066553854e-01 -3.797699542729503e-01 -3.794680474344709e-01 - -3.791661864151066e-01 -3.788643713579414e-01 -3.785626020610045e-01 -3.782608787892401e-01 -3.779592019649877e-01 - -3.776575717504184e-01 -3.773559879986245e-01 -3.770544506277551e-01 -3.767529601718599e-01 -3.764515165488658e-01 - -3.761501194541416e-01 -3.758487697291592e-01 -3.755474675286999e-01 -3.752462123142175e-01 -3.749450044400430e-01 - -3.746438442933219e-01 -3.743427319385532e-01 -3.740416670860849e-01 -3.737406497610264e-01 -3.734396805632812e-01 - -3.731387597991040e-01 -3.728378873981389e-01 -3.725370629746288e-01 -3.722362869751284e-01 -3.719355598195744e-01 - -3.716348809475082e-01 -3.713342505611615e-01 -3.710336692885385e-01 -3.707331373206220e-01 -3.704326544188714e-01 - -3.701322203470578e-01 -3.698318357923215e-01 -3.695315007664240e-01 -3.692312147431765e-01 -3.689309784821330e-01 - -3.686307923312130e-01 -3.683306558583173e-01 -3.680305692832940e-01 -3.677305328772401e-01 -3.674305466155561e-01 - -3.671306102835627e-01 -3.668307239979260e-01 -3.665308885123383e-01 -3.662311039528895e-01 -3.659313700864294e-01 - -3.656316867340536e-01 -3.653320542170925e-01 -3.650324728818179e-01 -3.647329423252613e-01 -3.644334627823841e-01 - -3.641340348652060e-01 -3.638346584224414e-01 -3.635353333854674e-01 -3.632360599381753e-01 -3.629368383087880e-01 - -3.626376683911322e-01 -3.623385498640058e-01 -3.620394834143431e-01 -3.617404694429358e-01 -3.614415075289109e-01 - -3.611425978472304e-01 -3.608437406892576e-01 -3.605449360396625e-01 -3.602461837170217e-01 -3.599474837636126e-01 - -3.596488368123176e-01 -3.593502429497555e-01 -3.590517019950174e-01 -3.587532141258951e-01 -3.584547794364419e-01 - -3.581563978967544e-01 -3.578580694598877e-01 -3.575597943932133e-01 -3.572615731273898e-01 -3.569634054963255e-01 - -3.566652915450074e-01 -3.563672316398869e-01 -3.560692255181004e-01 -3.557712730433470e-01 -3.554733745722332e-01 - -3.551755304325120e-01 -3.548777407381354e-01 -3.545800053200450e-01 -3.542823243820459e-01 -3.539846981602633e-01 - -3.536871265064687e-01 -3.533896092936707e-01 -3.530921466577667e-01 -3.527947392696623e-01 -3.524973870763591e-01 - -3.522000896417020e-01 -3.519028473926252e-01 -3.516056606257513e-01 -3.513085292624320e-01 -3.510114529438408e-01 - -3.507144318797571e-01 -3.504174668509267e-01 -3.501205576763053e-01 -3.498237041407538e-01 -3.495269064579332e-01 - -3.492301648012658e-01 -3.489334792023763e-01 -3.486368495320163e-01 -3.483402759532310e-01 -3.480437587608516e-01 - -3.477472981563033e-01 -3.474508940116457e-01 -3.471545462266357e-01 -3.468582552838557e-01 -3.465620210594309e-01 - -3.462658431862374e-01 -3.459697223261950e-01 -3.456736587298253e-01 -3.453776521244075e-01 -3.450817025977070e-01 - -3.447858103250944e-01 -3.444899754033867e-01 -3.441941976114102e-01 -3.438984770490408e-01 -3.436028143288083e-01 - -3.433072093931014e-01 -3.430116620696204e-01 -3.427161725111446e-01 -3.424207408695913e-01 -3.421253671506906e-01 - -3.418300511322294e-01 -3.415347931565998e-01 -3.412395936962896e-01 -3.409444525560181e-01 -3.406493696743920e-01 - -3.403543451949735e-01 -3.400593792856730e-01 -3.397644718554241e-01 -3.394696227303268e-01 -3.391748324448361e-01 - -3.388801012525273e-01 -3.385854289098167e-01 -3.382908154719833e-01 -3.379962610967925e-01 -3.377017658856785e-01 - -3.374073296405456e-01 -3.371129523992028e-01 -3.368186347618567e-01 -3.365243767275647e-01 -3.362301780997549e-01 - -3.359360390044588e-01 -3.356419595939377e-01 -3.353479398983790e-01 -3.350539796822969e-01 -3.347600792157354e-01 - -3.344662390001809e-01 -3.341724588683134e-01 -3.338787387386647e-01 -3.335850787505256e-01 -3.332914790393797e-01 - -3.329979395469141e-01 -3.327044601082655e-01 -3.324110411740308e-01 -3.321176830325031e-01 -3.318243854727410e-01 - -3.315311485033696e-01 -3.312379722613320e-01 -3.309448568815591e-01 -3.306518021855764e-01 -3.303588081394571e-01 - -3.300658753265905e-01 -3.297730038003383e-01 -3.294801933460689e-01 -3.291874440822869e-01 -3.288947561448500e-01 - -3.286021295596533e-01 -3.283095641084477e-01 -3.280170600152969e-01 -3.277246178092963e-01 -3.274322373144385e-01 - -3.271399184133136e-01 -3.268476612759387e-01 -3.265554660369243e-01 -3.262633326374516e-01 -3.259712608638953e-01 - -3.256792511518811e-01 -3.253873038511834e-01 -3.250954187049387e-01 -3.248035957166725e-01 -3.245118350464998e-01 - -3.242201368055027e-01 -3.239285008232202e-01 -3.236369270127419e-01 -3.233454159517716e-01 -3.230539677655248e-01 - -3.227625822208953e-01 -3.224712593689608e-01 -3.221799993547627e-01 -3.218888022707884e-01 -3.215976678728723e-01 - -3.213065962862219e-01 -3.210155880538063e-01 -3.207246430922022e-01 -3.204337612603162e-01 -3.201429426545060e-01 - -3.198521874188910e-01 -3.195614955407240e-01 -3.192708667833873e-01 -3.189803015317205e-01 -3.186898001852494e-01 - -3.183993624745159e-01 -3.181089883645859e-01 -3.178186780215274e-01 -3.175284315788672e-01 -3.172382488912609e-01 - -3.169481298117736e-01 -3.166580748847834e-01 -3.163680842820584e-01 -3.160781577505636e-01 -3.157882953403168e-01 - -3.154984971942622e-01 -3.152087634033934e-01 -3.149190937439705e-01 -3.146294882798918e-01 -3.143399475483734e-01 - -3.140504715109739e-01 -3.137610600081304e-01 -3.134717131245625e-01 -3.131824310053718e-01 -3.128932136614712e-01 - -3.126040608259110e-01 -3.123149728003283e-01 -3.120259500284038e-01 -3.117369923103007e-01 -3.114480995811182e-01 - -3.111592719695180e-01 -3.108705096041851e-01 -3.105818123704323e-01 -3.102931800853200e-01 -3.100046132424714e-01 - -3.097161120700553e-01 -3.094276763275429e-01 -3.091393060498078e-01 -3.088510013669117e-01 -3.085627623567511e-01 - -3.082745888090075e-01 -3.079864807413559e-01 -3.076984387104112e-01 -3.074104627037881e-01 -3.071225525229602e-01 - -3.068347082674415e-01 -3.065469300647063e-01 -3.062592179233167e-01 -3.059715715883658e-01 -3.056839913222955e-01 - -3.053964776128304e-01 -3.051090302429263e-01 -3.048216491115613e-01 -3.045343343664140e-01 -3.042470861256498e-01 - -3.039599042912569e-01 -3.036727886539801e-01 -3.033857396783212e-01 -3.030987576532087e-01 -3.028118423290159e-01 - -3.025249936916685e-01 -3.022382118572411e-01 -3.019514969324824e-01 -3.016648487319269e-01 -3.013782672163520e-01 - -3.010917529380510e-01 -3.008053059332530e-01 -3.005189259718208e-01 -3.002326131255288e-01 -2.999463675243501e-01 - -2.996601892115071e-01 -2.993740779431134e-01 -2.990880338991673e-01 -2.988020575697556e-01 -2.985161488129333e-01 - -2.982303074956766e-01 -2.979445337070337e-01 -2.976588275957710e-01 -2.973731891105994e-01 -2.970876179949718e-01 - -2.968021146693378e-01 -2.965166794729635e-01 -2.962313121299224e-01 -2.959460126205053e-01 -2.956607810824475e-01 - -2.953756176130727e-01 -2.950905220348498e-01 -2.948054942542040e-01 -2.945205348259674e-01 -2.942356438398593e-01 - -2.939508210351428e-01 -2.936660664737455e-01 -2.933813802767271e-01 -2.930967624892026e-01 -2.928122128931882e-01 - -2.925277316158055e-01 -2.922433191494531e-01 -2.919589753765323e-01 -2.916747001400424e-01 -2.913904935350139e-01 - -2.911063557118664e-01 -2.908222866434848e-01 -2.905382860439090e-01 -2.902543542778646e-01 -2.899704917370004e-01 - -2.896866981425306e-01 -2.894029734511842e-01 -2.891193178139609e-01 -2.888357313345801e-01 -2.885522138545054e-01 - -2.882687652243500e-01 -2.879853859636904e-01 -2.877020762131379e-01 -2.874188357014512e-01 -2.871356645025479e-01 - -2.868525627422169e-01 -2.865695304469716e-01 -2.862865673963798e-01 -2.860036736642309e-01 -2.857208497673618e-01 - -2.854380956360413e-01 -2.851554110854154e-01 -2.848727961880673e-01 -2.845902510831507e-01 -2.843077757793696e-01 - -2.840253700094237e-01 -2.837430340397069e-01 -2.834607682748240e-01 -2.831785725328111e-01 -2.828964467316310e-01 - -2.826143909542473e-01 -2.823324053101364e-01 -2.820504896922502e-01 -2.817686439371250e-01 -2.814868685136343e-01 - -2.812051636152371e-01 -2.809235289745332e-01 -2.806419646055033e-01 -2.803604706362606e-01 -2.800790471610514e-01 - -2.797976939416736e-01 -2.795164109639519e-01 -2.792351987736799e-01 -2.789540573481899e-01 -2.786729864814172e-01 - -2.783919862645312e-01 -2.781110567914744e-01 -2.778301980476193e-01 -2.775494098202491e-01 -2.772686923282846e-01 - -2.769880459823117e-01 -2.767074706347814e-01 -2.764269661749121e-01 -2.761465326612197e-01 -2.758661702373058e-01 - -2.755858788282252e-01 -2.753056582075042e-01 -2.750255088041456e-01 -2.747454308713073e-01 -2.744654241403574e-01 - -2.741854886058927e-01 -2.739056243892176e-01 -2.736258315782464e-01 -2.733461099674180e-01 -2.730664595012521e-01 - -2.727868807168794e-01 -2.725073736368404e-01 -2.722279380246611e-01 -2.719485739535283e-01 -2.716692815376729e-01 - -2.713900607905190e-01 -2.711109114418696e-01 -2.708318336740216e-01 -2.705528279896257e-01 -2.702738942089605e-01 - -2.699950321750810e-01 -2.697162419812612e-01 -2.694375237750356e-01 -2.691588774953904e-01 -2.688803028674867e-01 - -2.686018002777490e-01 -2.683233700490228e-01 -2.680450119322323e-01 -2.677667258920440e-01 -2.674885120321642e-01 - -2.672103704327183e-01 -2.669323009240009e-01 -2.666543034142266e-01 -2.663763784024609e-01 -2.660985259744725e-01 - -2.658207458961011e-01 -2.655430381891060e-01 -2.652654029648259e-01 -2.649878402880381e-01 -2.647103499069445e-01 - -2.644329319184849e-01 -2.641555868035665e-01 -2.638783144422805e-01 -2.636011146840161e-01 -2.633239876271375e-01 - -2.630469333706403e-01 -2.627699518665801e-01 -2.624930428881614e-01 -2.622162067361601e-01 -2.619394437425979e-01 - -2.616627537197243e-01 -2.613861365959049e-01 -2.611095924398818e-01 -2.608331213683194e-01 -2.605567232565551e-01 - -2.602803979638560e-01 -2.600041459185203e-01 -2.597279672559259e-01 -2.594518617711524e-01 -2.591758294668244e-01 - -2.588998704444723e-01 -2.586239847880919e-01 -2.583481722507706e-01 -2.580724328621725e-01 -2.577967671126083e-01 - -2.575211749406902e-01 -2.572456561780725e-01 -2.569702108956164e-01 -2.566948391959332e-01 -2.564195410517088e-01 - -2.561443162003717e-01 -2.558691649278121e-01 -2.555940876367002e-01 -2.553190840839927e-01 -2.550441541814838e-01 - -2.547692980445108e-01 -2.544945157803290e-01 -2.542198072584164e-01 -2.539451722830000e-01 -2.536706112997469e-01 - -2.533961245035316e-01 -2.531217116489478e-01 -2.528473727232912e-01 -2.525731078267265e-01 -2.522989170513077e-01 - -2.520248001810547e-01 -2.517507572028029e-01 -2.514767886096237e-01 -2.512028943623831e-01 -2.509290742545349e-01 - -2.506553283625735e-01 -2.503816568034038e-01 -2.501080595782905e-01 -2.498345364108095e-01 -2.495610875124447e-01 - -2.492877133133172e-01 -2.490144136112123e-01 -2.487411882994743e-01 -2.484680374856057e-01 -2.481949612635986e-01 - -2.479219595287280e-01 -2.476490320734136e-01 -2.473761793087864e-01 -2.471034014703498e-01 -2.468306982957061e-01 - -2.465580697844871e-01 -2.462855160432138e-01 -2.460130371204629e-01 -2.457406328233614e-01 -2.454683031113906e-01 - -2.451960484794311e-01 -2.449238689415910e-01 -2.446517642712055e-01 -2.443797345227543e-01 -2.441077797933181e-01 - -2.438359000947776e-01 -2.435640951889690e-01 -2.432923652315951e-01 -2.430207106571287e-01 -2.427491313175689e-01 - -2.424776270783986e-01 -2.422061980074125e-01 -2.419348442072336e-01 -2.416635656192684e-01 -2.413923620306189e-01 - -2.411212337762792e-01 -2.408501811283544e-01 -2.405792038734625e-01 -2.403083019688687e-01 -2.400374754936993e-01 - -2.397667245256450e-01 -2.394960488977194e-01 -2.392254485194238e-01 -2.389549238762380e-01 -2.386844750244205e-01 - -2.384141017100180e-01 -2.381438039886236e-01 -2.378735819631148e-01 -2.376034356560101e-01 -2.373333648418426e-01 - -2.370633696160408e-01 -2.367934504134751e-01 -2.365236071336530e-01 -2.362538396334552e-01 -2.359841479713349e-01 - -2.357145322333765e-01 -2.354449923780104e-01 -2.351755281955192e-01 -2.349061399838227e-01 -2.346368280467886e-01 - -2.343675921502802e-01 -2.340984322401892e-01 -2.338293484224673e-01 -2.335603407944267e-01 -2.332914091991481e-01 - -2.330225534791031e-01 -2.327537740958542e-01 -2.324850711724544e-01 -2.322164444575208e-01 -2.319478939696494e-01 - -2.316794198107119e-01 -2.314110220364787e-01 -2.311427004172850e-01 -2.308744549913938e-01 -2.306062862221652e-01 - -2.303381940399467e-01 -2.300701782673901e-01 -2.298022389505013e-01 -2.295343762055658e-01 -2.292665900251787e-01 - -2.289988801367178e-01 -2.287312467963517e-01 -2.284636903804389e-01 -2.281962106639611e-01 -2.279288075702767e-01 - -2.276614812041137e-01 -2.273942316314865e-01 -2.271270587234099e-01 -2.268599623216859e-01 -2.265929428586625e-01 - -2.263260004971463e-01 -2.260591349680134e-01 -2.257923462859340e-01 -2.255256345570404e-01 -2.252589998316905e-01 - -2.249924418873443e-01 -2.247259607239798e-01 -2.244595568451081e-01 -2.241932301870257e-01 -2.239269805236896e-01 - -2.236608079513920e-01 -2.233947125724077e-01 -2.231286943677930e-01 -2.228627530899186e-01 -2.225968889349937e-01 - -2.223311022938890e-01 -2.220653929888047e-01 -2.217997609137618e-01 -2.215342061492806e-01 -2.212687287997047e-01 - -2.210033287645195e-01 -2.207380058226258e-01 -2.204727603658667e-01 -2.202075926188733e-01 -2.199425023254976e-01 - -2.196774894791217e-01 -2.194125541827232e-01 -2.191476964953657e-01 -2.188829162198361e-01 -2.186182133017065e-01 - -2.183535882155842e-01 -2.180890409721393e-01 -2.178245713492862e-01 -2.175601793915103e-01 -2.172958651996608e-01 - -2.170316287941991e-01 -2.167674699222372e-01 -2.165033887351043e-01 -2.162393856655618e-01 -2.159754605317784e-01 - -2.157116131976179e-01 -2.154478437626437e-01 -2.151841523053365e-01 -2.149205387568082e-01 -2.146570029331132e-01 - -2.143935451423346e-01 -2.141301656253313e-01 -2.138668641770334e-01 -2.136036407648879e-01 -2.133404954698548e-01 - -2.130774283590253e-01 -2.128144392711416e-01 -2.125515281171839e-01 -2.122886953403734e-01 -2.120259409959825e-01 - -2.117632648531722e-01 -2.115006669388265e-01 -2.112381473557379e-01 -2.109757061544524e-01 -2.107133431005909e-01 - -2.104510582708100e-01 -2.101888520817322e-01 -2.099267244352251e-01 -2.096646751892664e-01 -2.094027043922436e-01 - -2.091408121382980e-01 -2.088789983898283e-01 -2.086172629233026e-01 -2.083556060294393e-01 -2.080940280081475e-01 - -2.078325286261216e-01 -2.075711078316715e-01 -2.073097657230958e-01 -2.070485023681648e-01 -2.067873176254528e-01 - -2.065262113703670e-01 -2.062651840261599e-01 -2.060042356935543e-01 -2.057433661320316e-01 -2.054825753736384e-01 - -2.052218635119340e-01 -2.049612305777034e-01 -2.047006763593381e-01 -2.044402009029163e-01 -2.041798046444743e-01 - -2.039194875091236e-01 -2.036592493288050e-01 -2.033990901597007e-01 -2.031390101041152e-01 -2.028790091364410e-01 - -2.026190869860804e-01 -2.023592439213894e-01 -2.020994803209571e-01 -2.018397959336108e-01 -2.015801906636277e-01 - -2.013206646163115e-01 -2.010612178968381e-01 -2.008018503846473e-01 -2.005425618909167e-01 -2.002833527994660e-01 - -2.000242232866459e-01 -1.997651731545872e-01 -1.995062023757428e-01 -1.992473110134654e-01 -1.989884991329442e-01 - -1.987297665552775e-01 -1.984711132804359e-01 -1.982125397288479e-01 -1.979540458641874e-01 -1.976956315048893e-01 - -1.974372966986851e-01 -1.971790415364275e-01 -1.969208660181268e-01 -1.966627699138122e-01 -1.964047534115951e-01 - -1.961468168792641e-01 -1.958889601415059e-01 -1.956311830976701e-01 -1.953734858227050e-01 -1.951158683885618e-01 - -1.948583307060198e-01 -1.946008726082255e-01 -1.943434944554087e-01 -1.940861964418109e-01 -1.938289783248288e-01 - -1.935718400929853e-01 -1.933147818435645e-01 -1.930578036445209e-01 -1.928009053047615e-01 -1.925440867668252e-01 - -1.922873484836986e-01 -1.920306904586313e-01 -1.917741124759950e-01 -1.915176145882685e-01 -1.912611968971867e-01 - -1.910048594156118e-01 -1.907486018758652e-01 -1.904924244300230e-01 -1.902363275204000e-01 -1.899803109613821e-01 - -1.897243746214878e-01 -1.894685186111405e-01 -1.892127429944364e-01 -1.889570476814606e-01 -1.887014324762902e-01 - -1.884458977092228e-01 -1.881904436322386e-01 -1.879350700181010e-01 -1.876797768445363e-01 -1.874245641980662e-01 - -1.871694321106837e-01 -1.869143804464632e-01 -1.866594091449939e-01 -1.864045185802509e-01 -1.861497088150435e-01 - -1.858949796742653e-01 -1.856403311585743e-01 -1.853857633524328e-01 -1.851312763093270e-01 -1.848768697910832e-01 - -1.846225438828809e-01 -1.843682990131126e-01 -1.841141350478542e-01 -1.838600518410295e-01 -1.836060494900988e-01 - -1.833521280737523e-01 -1.830982875326949e-01 -1.828445276569093e-01 -1.825908487213151e-01 -1.823372510073639e-01 - -1.820837342990139e-01 -1.818302985608840e-01 -1.815769438919524e-01 -1.813236703339543e-01 -1.810704777470943e-01 - -1.808173660274447e-01 -1.805643355946649e-01 -1.803113865319381e-01 -1.800585185867421e-01 -1.798057318207557e-01 - -1.795530263298101e-01 -1.793004021140676e-01 -1.790478589821669e-01 -1.787953969871552e-01 -1.785430165333783e-01 - -1.782907175616041e-01 -1.780384999147782e-01 -1.777863636186671e-01 -1.775343087850783e-01 -1.772823354138563e-01 - -1.770304432439544e-01 -1.767786324996124e-01 -1.765269035206169e-01 -1.762752561209628e-01 -1.760236902365481e-01 - -1.757722059508868e-01 -1.755208033072168e-01 -1.752694821962465e-01 -1.750182424985018e-01 -1.747670845873172e-01 - -1.745160085943736e-01 -1.742650142826787e-01 -1.740141016708582e-01 -1.737632708599284e-01 -1.735125219002990e-01 - -1.732618545819516e-01 -1.730112688968157e-01 -1.727607652962038e-01 -1.725103437360838e-01 -1.722600040199003e-01 - -1.720097462053399e-01 -1.717595703957765e-01 -1.715094765937824e-01 -1.712594645505801e-01 -1.710095344617568e-01 - -1.707596867053610e-01 -1.705099210652020e-01 -1.702602374503936e-01 -1.700106359820640e-01 -1.697611167032507e-01 - -1.695116795170456e-01 -1.692623242857098e-01 -1.690130513415946e-01 -1.687638608735592e-01 -1.685147526839133e-01 - -1.682657267304136e-01 -1.680167830834059e-01 -1.677679218434041e-01 -1.675191428301483e-01 -1.672704459776749e-01 - -1.670218317162355e-01 -1.667733000505553e-01 -1.665248507843929e-01 -1.662764839848620e-01 -1.660281997331086e-01 - -1.657799980211539e-01 -1.655318786421316e-01 -1.652838417439954e-01 -1.650358877061586e-01 -1.647880163635810e-01 - -1.645402275978841e-01 -1.642925215033296e-01 -1.640448981629310e-01 -1.637973575048030e-01 -1.635498993322754e-01 - -1.633025239587731e-01 -1.630552316214122e-01 -1.628080220971913e-01 -1.625608953706327e-01 -1.623138515347123e-01 - -1.620668906280902e-01 -1.618200125176413e-01 -1.615732171440627e-01 -1.613265048790783e-01 -1.610798757703294e-01 - -1.608333296326273e-01 -1.605868664946396e-01 -1.603404864451659e-01 -1.600941895233320e-01 -1.598479755194739e-01 - -1.596018445089071e-01 -1.593557968710357e-01 -1.591098325274174e-01 -1.588639513462271e-01 -1.586181533501567e-01 - -1.583724386633118e-01 -1.581268072684121e-01 -1.578812589110151e-01 -1.576357938605635e-01 -1.573904124176000e-01 - -1.571451143885420e-01 -1.568998997115455e-01 -1.566547684551118e-01 -1.564097207009810e-01 -1.561647563377750e-01 - -1.559198752534892e-01 -1.556750777971572e-01 -1.554303640753041e-01 -1.551857339241298e-01 -1.549411873472499e-01 - -1.546967244117141e-01 -1.544523451583313e-01 -1.542080493972972e-01 -1.539638371771692e-01 -1.537197089019022e-01 - -1.534756644902717e-01 -1.532317037874507e-01 -1.529878268669247e-01 -1.527440338285302e-01 -1.525003246495042e-01 - -1.522566990917994e-01 -1.520131573865194e-01 -1.517696998607227e-01 -1.515263263105132e-01 -1.512830366842278e-01 - -1.510398310896279e-01 -1.507967095609423e-01 -1.505536719818633e-01 -1.503107182379510e-01 -1.500678487166025e-01 - -1.498250635429138e-01 -1.495823624607518e-01 -1.493397455183047e-01 -1.490972128240516e-01 -1.488547643939502e-01 - -1.486124000468938e-01 -1.483701197975273e-01 -1.481279240643807e-01 -1.478858128086334e-01 -1.476437858541442e-01 - -1.474018432575297e-01 -1.471599850901578e-01 -1.469182113447434e-01 -1.466765218581870e-01 -1.464349167991909e-01 - -1.461933964691583e-01 -1.459519607332137e-01 -1.457106095126376e-01 -1.454693428712828e-01 -1.452281609001614e-01 - -1.449870635167667e-01 -1.447460505411944e-01 -1.445051223204885e-01 -1.442642790465533e-01 -1.440235204958664e-01 - -1.437828466645076e-01 -1.435422576460715e-01 -1.433017535021517e-01 -1.430613340788666e-01 -1.428209993367665e-01 - -1.425807496580667e-01 -1.423405850452980e-01 -1.421005053276286e-01 -1.418605105748216e-01 -1.416206008760722e-01 - -1.413807762310167e-01 -1.411410364179444e-01 -1.409013815814383e-01 -1.406618121114770e-01 -1.404223278620860e-01 - -1.401829287142080e-01 -1.399436147388266e-01 -1.397043860171121e-01 -1.394652424999606e-01 -1.392261840277533e-01 - -1.389872108800275e-01 -1.387483232704581e-01 -1.385095210193419e-01 -1.382708041155041e-01 -1.380321726381191e-01 - -1.377936266235328e-01 -1.375551659356028e-01 -1.373167905196480e-01 -1.370785007699294e-01 -1.368402967462084e-01 - -1.366021782602805e-01 -1.363641453151502e-01 -1.361261980034910e-01 -1.358883363925467e-01 -1.356505602730137e-01 - -1.354128697173978e-01 -1.351752651019714e-01 -1.349377463365720e-01 -1.347003133096952e-01 -1.344629660943524e-01 - -1.342257047644556e-01 -1.339885292721434e-01 -1.337514394288152e-01 -1.335144355004790e-01 -1.332775177574095e-01 - -1.330406860095451e-01 -1.328039402156265e-01 -1.325672804621033e-01 -1.323307068237664e-01 -1.320942191803451e-01 - -1.318578174250235e-01 -1.316215019436967e-01 -1.313852728254415e-01 -1.311491298574344e-01 -1.309130730812647e-01 - -1.306771025967214e-01 -1.304412184433993e-01 -1.302054204167683e-01 -1.299697085633917e-01 -1.297340833011096e-01 - -1.294985445422908e-01 -1.292630921400970e-01 -1.290277262032818e-01 -1.287924468024440e-01 -1.285572538860320e-01 - -1.283221472565841e-01 -1.280871271607027e-01 -1.278521939245786e-01 -1.276173473594251e-01 -1.273825873815436e-01 - -1.271479140654554e-01 -1.269133275291332e-01 -1.266788276689478e-01 -1.264444143112885e-01 -1.262100878411512e-01 - -1.259758484249543e-01 -1.257416958580221e-01 -1.255076301118343e-01 -1.252736512740011e-01 -1.250397594556589e-01 - -1.248059544551782e-01 -1.245722362561283e-01 -1.243386053032582e-01 -1.241050615437150e-01 -1.238716047916152e-01 - -1.236382351439431e-01 -1.234049527007845e-01 -1.231717574487822e-01 -1.229386491649988e-01 -1.227056280466961e-01 - -1.224726944551588e-01 -1.222398481939305e-01 -1.220070891810755e-01 -1.217744175349468e-01 -1.215418333321439e-01 - -1.213093364896874e-01 -1.210769268543440e-01 -1.208446047468073e-01 -1.206123703546746e-01 -1.203802234985189e-01 - -1.201481641556592e-01 -1.199161924040098e-01 -1.196843083373426e-01 -1.194525118101599e-01 -1.192208027778711e-01 - -1.189891816158967e-01 -1.187576483334740e-01 -1.185262027772708e-01 -1.182948450325541e-01 -1.180635751718018e-01 - -1.178323931740712e-01 -1.176012988598141e-01 -1.173702923768903e-01 -1.171393740841554e-01 -1.169085438684581e-01 - -1.166778016318426e-01 -1.164471474323627e-01 -1.162165813372163e-01 -1.159861033094216e-01 -1.157557132288848e-01 - -1.155254113554128e-01 -1.152951978878259e-01 -1.150650726784410e-01 -1.148350356935617e-01 -1.146050869998271e-01 - -1.143752266983624e-01 -1.141454546633286e-01 -1.139157708150553e-01 -1.136861755297615e-01 -1.134566688685596e-01 - -1.132272506625232e-01 -1.129979209389772e-01 -1.127686797968139e-01 -1.125395272939830e-01 -1.123104632216639e-01 - -1.120814876598629e-01 -1.118526009932446e-01 -1.116238031362107e-01 -1.113950939743172e-01 -1.111664735714766e-01 - -1.109379420230661e-01 -1.107094992989161e-01 -1.104811452047023e-01 -1.102528800189790e-01 -1.100247040176238e-01 - -1.097966169898620e-01 -1.095686189066022e-01 -1.093407098806465e-01 -1.091128899944971e-01 -1.088851591239916e-01 - -1.086575171512236e-01 -1.084299644451029e-01 -1.082025011238454e-01 -1.079751270251657e-01 -1.077478421434466e-01 - -1.075206465724022e-01 -1.072935404061887e-01 -1.070665234272605e-01 -1.068395956686409e-01 -1.066127575621145e-01 - -1.063860090403522e-01 -1.061593499609373e-01 -1.059327804074918e-01 -1.057063004552603e-01 -1.054799100848440e-01 - -1.052536091459819e-01 -1.050273978363624e-01 -1.048012764247322e-01 -1.045752447992682e-01 -1.043493029044653e-01 - -1.041234507912105e-01 -1.038976885616201e-01 -1.036720161437409e-01 -1.034464334142674e-01 -1.032209407082870e-01 - -1.029955381585720e-01 -1.027702255852857e-01 -1.025450030256683e-01 -1.023198705766582e-01 -1.020948282803886e-01 - -1.018698759615270e-01 -1.016450136357437e-01 -1.014202417243671e-01 -1.011955602054591e-01 -1.009709689162001e-01 - -1.007464679013254e-01 -1.005220572777319e-01 -1.002977370772110e-01 -1.000735070732387e-01 -9.984936745539402e-02 - -9.962531858349888e-02 -9.940136027998529e-02 -9.917749246814733e-02 -9.895371525770333e-02 -9.873002873335845e-02 - -9.850643282337790e-02 -9.828292738770521e-02 -9.805951276903688e-02 -9.783618914357473e-02 -9.761295629040607e-02 - -9.738981424317925e-02 -9.716676311420755e-02 -9.694380293900719e-02 -9.672093359332221e-02 -9.649815506782670e-02 - -9.627546771326484e-02 -9.605287156919239e-02 -9.583036651098850e-02 -9.560795255252680e-02 -9.538562978098189e-02 - -9.516339824129488e-02 -9.494125774199282e-02 -9.471920843970391e-02 -9.449725071216948e-02 -9.427538438593883e-02 - -9.405360936874554e-02 -9.383192580278800e-02 -9.361033376064058e-02 -9.338883317577901e-02 -9.316742389906425e-02 - -9.294610622995669e-02 -9.272488039403920e-02 -9.250374621386263e-02 -9.228270367992475e-02 -9.206175287916113e-02 - -9.184089387273792e-02 -9.162012656935895e-02 -9.139945093572596e-02 -9.117886729658348e-02 -9.095837571294788e-02 - -9.073797605928635e-02 -9.051766837713708e-02 -9.029745274779008e-02 -9.007732920697027e-02 -8.985729759887780e-02 - -8.963735802530043e-02 -8.941751083887589e-02 -8.919775594907166e-02 -8.897809325953572e-02 -8.875852286193828e-02 - -8.853904483959285e-02 -8.831965916578795e-02 -8.810036569419880e-02 -8.788116467295366e-02 -8.766205635082600e-02 - -8.744304058057480e-02 -8.722411733824492e-02 -8.700528670561582e-02 -8.678654875532379e-02 -8.656790339361393e-02 - -8.634935054757228e-02 -8.613089058374623e-02 -8.591252359970507e-02 -8.569424942256174e-02 -8.547606809595372e-02 - -8.525797972327777e-02 -8.503998436304407e-02 -8.482208183975883e-02 -8.460427219735964e-02 -8.438655581333676e-02 - -8.416893266387415e-02 -8.395140264416648e-02 -8.373396580036768e-02 -8.351662221748458e-02 -8.329937190808817e-02 - -8.308221474187347e-02 -8.286515089972675e-02 -8.264818063381729e-02 -8.243130387381740e-02 -8.221452057360500e-02 - -8.199783077068876e-02 -8.178123458056528e-02 -8.156473193866548e-02 -8.134832272179610e-02 -8.113200727104515e-02 - -8.091578573554094e-02 -8.069965795549490e-02 -8.048362394306618e-02 -8.026768379237301e-02 -8.005183759034226e-02 - -7.983608519016389e-02 -7.962042660317335e-02 -7.940486220827629e-02 -7.918939199917317e-02 -7.897401585103307e-02 - -7.875873382193239e-02 -7.854354599947752e-02 -7.832845240531904e-02 -7.811345290511561e-02 -7.789854765910142e-02 - -7.768373695009409e-02 -7.746902070156129e-02 -7.725439886068521e-02 -7.703987147751143e-02 -7.682543865920169e-02 - -7.661110037032860e-02 -7.639685648697914e-02 -7.618270730319152e-02 -7.596865299784139e-02 -7.575469343456721e-02 - -7.554082861289950e-02 -7.532705861915691e-02 -7.511338355056779e-02 -7.489980327273796e-02 -7.468631776375068e-02 - -7.447292742489155e-02 -7.425963225373161e-02 -7.404643208981297e-02 -7.383332706618533e-02 -7.362031725942129e-02 - -7.340740264369265e-02 -7.319458312424655e-02 -7.298185885257603e-02 -7.276923011698885e-02 -7.255669681825400e-02 - -7.234425890125808e-02 -7.213191646645117e-02 -7.191966959969415e-02 -7.170751827394115e-02 -7.149546237742448e-02 - -7.128350216363183e-02 -7.107163782537941e-02 -7.085986923051370e-02 -7.064819639413342e-02 -7.043661941815849e-02 - -7.022513838389523e-02 -7.001375316964638e-02 -6.980246372359999e-02 -6.959127044971054e-02 -6.938017339783993e-02 - -6.916917238807876e-02 -6.895826751099868e-02 -6.874745887832359e-02 -6.853674652264935e-02 -6.832613029387129e-02 - -6.811561029537151e-02 -6.790518687416305e-02 -6.769485994872884e-02 -6.748462944761908e-02 -6.727449549181348e-02 - -6.706445814195625e-02 -6.685451736224034e-02 -6.664467305023641e-02 -6.643492546019260e-02 -6.622527482862205e-02 - -6.601572100856345e-02 -6.580626400049541e-02 -6.559690390732385e-02 -6.538764078471235e-02 -6.517847455920224e-02 - -6.496940519404462e-02 -6.476043303620643e-02 -6.455155816426872e-02 -6.434278041275177e-02 -6.413409988235154e-02 - -6.392551667227454e-02 -6.371703078482928e-02 -6.350864213121965e-02 -6.330035079826633e-02 -6.309215709125325e-02 - -6.288406097171770e-02 -6.267606236590158e-02 -6.246816137578116e-02 -6.226035810132791e-02 -6.205265253482506e-02 - -6.184504450634240e-02 -6.163753424009603e-02 -6.143012204113525e-02 -6.122280779495761e-02 -6.101559145710207e-02 - -6.080847310111580e-02 -6.060145284620669e-02 -6.039453063876327e-02 -6.018770637541451e-02 -5.998098039534337e-02 - -5.977435284136760e-02 -5.956782355675167e-02 -5.936139258218223e-02 -5.915506002510895e-02 -5.894882595975996e-02 - -5.874269025717062e-02 -5.853665294379332e-02 -5.833071438748900e-02 -5.812487459491447e-02 -5.791913345983549e-02 - -5.771349104248068e-02 -5.750794745476003e-02 -5.730250273990040e-02 -5.709715674449271e-02 -5.689190963313420e-02 - -5.668676170442684e-02 -5.648171287301057e-02 -5.627676311138611e-02 -5.607191251359627e-02 -5.586716116856662e-02 - -5.566250902085241e-02 -5.545795595276776e-02 -5.525350230977423e-02 -5.504914828197500e-02 -5.484489368806074e-02 - -5.464073856561743e-02 -5.443668303623681e-02 -5.423272717677420e-02 -5.402887087270093e-02 -5.382511411736842e-02 - -5.362145727556954e-02 -5.341790037997223e-02 -5.321444331788154e-02 -5.301108618236487e-02 -5.280782907094528e-02 - -5.260467200594416e-02 -5.240161485390568e-02 -5.219865776343095e-02 -5.199580105954085e-02 -5.179304465507040e-02 - -5.159038850941820e-02 -5.138783273765680e-02 -5.118537740030552e-02 -5.098302246878324e-02 -5.078076787428482e-02 - -5.057861387937131e-02 -5.037656068404879e-02 -5.017460818262723e-02 -4.997275637519877e-02 -4.977100534878579e-02 - -4.956935521374012e-02 -4.936780587637167e-02 -4.916635729330274e-02 -4.896500983679772e-02 -4.876376358063662e-02 - -4.856261839799727e-02 -4.836157437280066e-02 -4.816063160553166e-02 -4.795979012910388e-02 -4.775904981223175e-02 - -4.755841077230219e-02 -4.735787336181510e-02 -4.715743752596301e-02 -4.695710319390285e-02 -4.675687045398216e-02 - -4.655673941737810e-02 -4.635671009364274e-02 -4.615678236145827e-02 -4.595695644691457e-02 -4.575723258610617e-02 - -4.555761069075770e-02 -4.535809077212207e-02 -4.515867291944397e-02 -4.495935719937229e-02 -4.476014355843901e-02 - -4.456103197632578e-02 -4.436202279051898e-02 -4.416311608901573e-02 -4.396431172960501e-02 -4.376560979706327e-02 - -4.356701040970479e-02 -4.336851362154585e-02 -4.317011930970618e-02 -4.297182755295056e-02 -4.277363871130811e-02 - -4.257555275870079e-02 -4.237756961321195e-02 -4.217968936488893e-02 -4.198191211978222e-02 -4.178423789759614e-02 - -4.158666657665847e-02 -4.138919837391426e-02 -4.119183356383482e-02 -4.099457203865310e-02 -4.079741379048268e-02 - -4.060035892668235e-02 -4.040340754077800e-02 -4.020655958670875e-02 -4.000981499812348e-02 -3.981317410229721e-02 - -3.961663704352115e-02 -3.942020369405195e-02 -3.922387410519079e-02 -3.902764838570288e-02 -3.883152661169272e-02 - -3.863550868276464e-02 -3.843959464464100e-02 -3.824378485096525e-02 -3.804807931112070e-02 -3.785247793879744e-02 - -3.765698082240899e-02 -3.746158806803077e-02 -3.726629970906549e-02 -3.707111562537097e-02 -3.687603600301111e-02 - -3.668106114329449e-02 -3.648619095542227e-02 -3.629142541706046e-02 -3.609676463615045e-02 -3.590220871216067e-02 - -3.570775761915167e-02 -3.551341127587861e-02 -3.531916998478909e-02 -3.512503392646860e-02 -3.493100298239093e-02 - -3.473707719308593e-02 -3.454325666569649e-02 -3.434954148093054e-02 -3.415593156072503e-02 -3.396242692622412e-02 - -3.376902792182854e-02 -3.357573459185429e-02 -3.338254684613227e-02 -3.318946476737597e-02 -3.299648846264201e-02 - -3.280361798076661e-02 -3.261085320981364e-02 -3.241819429994710e-02 -3.222564156785773e-02 -3.203319495411584e-02 - -3.184085442350271e-02 -3.164862007407277e-02 -3.145649201602077e-02 -3.126447024597763e-02 -3.107255466700169e-02 - -3.088074555671056e-02 -3.068904313085425e-02 -3.049744727803826e-02 -3.030595802638682e-02 -3.011457548570120e-02 - -2.992329974875160e-02 -2.973213075050443e-02 -2.954106848293515e-02 -2.935011329195715e-02 -2.915926525661732e-02 - -2.896852427673346e-02 -2.877789042941862e-02 -2.858736382466336e-02 -2.839694452567641e-02 -2.820663243092813e-02 - -2.801642765839682e-02 -2.782633053619610e-02 -2.763634102981755e-02 -2.744645909471058e-02 -2.725668483048721e-02 - -2.706701834793413e-02 -2.687745966148872e-02 -2.668800867127078e-02 -2.649866562411629e-02 -2.630943076513501e-02 - -2.612030399888650e-02 -2.593128533989631e-02 -2.574237489560391e-02 -2.555357276907920e-02 -2.536487891525730e-02 - -2.517629330290238e-02 -2.498781626631630e-02 -2.479944791947400e-02 -2.461118815951395e-02 -2.442303705775731e-02 - -2.423499472682666e-02 -2.404706124098910e-02 -2.385923651050157e-02 -2.367152062237768e-02 -2.348391391197065e-02 - -2.329641637680258e-02 -2.310902796361102e-02 -2.292174876507744e-02 -2.273457889435020e-02 -2.254751838574287e-02 - -2.236056713942959e-02 -2.217372537079298e-02 -2.198699334983061e-02 -2.180037099746794e-02 -2.161385831877313e-02 - -2.142745542221016e-02 -2.124116241611923e-02 -2.105497927356034e-02 -2.086890594375282e-02 -2.068294274565517e-02 - -2.049708982965088e-02 -2.031134709508492e-02 -2.012571460207244e-02 -1.994019246558534e-02 -1.975478077426674e-02 - -1.956947944878238e-02 -1.938428854559868e-02 -1.919920840769478e-02 -1.901423906121075e-02 -1.882938044349050e-02 - -1.864463264867233e-02 -1.845999578941159e-02 -1.827546991282947e-02 -1.809105492490821e-02 -1.790675101318496e-02 - -1.772255847013706e-02 -1.753847723077995e-02 -1.735450728912205e-02 -1.717064875577919e-02 -1.698690174123156e-02 - -1.680326624034783e-02 -1.661974219495428e-02 -1.643632989539235e-02 -1.625302952284425e-02 -1.606984099009794e-02 - -1.588676434582367e-02 -1.570379970237604e-02 -1.552094715767664e-02 -1.533820665109939e-02 -1.515557821470722e-02 - -1.497306218983010e-02 -1.479065863118324e-02 -1.460836746737021e-02 -1.442618879376636e-02 -1.424412272699600e-02 - -1.406216932715821e-02 -1.388032850365394e-02 -1.369860041414062e-02 -1.351698537084881e-02 -1.333548332713773e-02 - -1.315409426742165e-02 -1.297281830737383e-02 -1.279165555870565e-02 -1.261060603011550e-02 -1.242966965324022e-02 - -1.224884670128487e-02 -1.206813738892206e-02 -1.188754163203305e-02 -1.170705946859269e-02 -1.152669101347058e-02 - -1.134643637569507e-02 -1.116629550991553e-02 -1.098626842139487e-02 -1.080635544822676e-02 -1.062655668128806e-02 - -1.044687204494093e-02 -1.026730162280993e-02 -1.008784553433474e-02 -9.908503858526582e-03 -9.729276511698201e-03 - -9.550163618928804e-03 -9.371165505355611e-03 -9.192282154920128e-03 -9.013513542246960e-03 -8.834859775588668e-03 - -8.656320970291077e-03 -8.477897155130903e-03 -8.299588259899083e-03 -8.121394531144674e-03 -7.943316209259341e-03 - -7.765353219198069e-03 -7.587505591333328e-03 -7.409773443860054e-03 -7.232156891183837e-03 -7.054655906230881e-03 - -6.877270474033493e-03 -6.700000921715352e-03 -6.522847372218281e-03 -6.345809748257097e-03 -6.168888131399519e-03 - -5.992082642122597e-03 -5.815393366379400e-03 -5.638820235869921e-03 -5.462363348533388e-03 -5.286023033805962e-03 - -5.109799304673499e-03 -4.933692127821829e-03 -4.757701606393674e-03 -4.581827861470766e-03 -4.406070940931505e-03 - -4.230430770274698e-03 -4.054907567997104e-03 -3.879501600335772e-03 -3.704212807069328e-03 -3.529041210474627e-03 - -3.353986930090703e-03 -3.179050081041732e-03 -3.004230655593028e-03 -2.829528626659512e-03 -2.654944304289923e-03 - -2.480477843039907e-03 -2.306129168890747e-03 -2.131898354626704e-03 -1.957785522367332e-03 -1.783790769612464e-03 - -1.609914041309663e-03 -1.436155409326836e-03 -1.262515208025358e-03 -1.088993476198761e-03 -9.155901719868249e-04 - -7.423054008843995e-04 -5.691392854771952e-04 -3.960918865957833e-04 -2.231631331613931e-04 -5.035321608514060e-05 - 1.223375771945329e-04 2.949092895407656e-04 4.673619084872533e-04 6.396953140537370e-04 8.119093865188150e-04 - 9.840041155727759e-04 1.155979539871523e-03 1.327835367602612e-03 1.499571413663267e-03 1.671187748049661e-03 - 1.842684305331169e-03 2.014060960896812e-03 2.185317608856639e-03 2.356454289147141e-03 2.527470954200780e-03 - 2.698367270832486e-03 2.869143169831049e-03 3.039798698561594e-03 3.210333755176400e-03 3.380748214685887e-03 - 3.551042001872539e-03 3.721215182132198e-03 3.891267592694254e-03 4.061198929412137e-03 4.231009214636464e-03 - 4.400698444839332e-03 4.570266499650065e-03 4.739713256426893e-03 4.909038688279234e-03 5.078242841339914e-03 - 5.247325443294046e-03 5.416286280121805e-03 5.585125417934797e-03 5.753842797319914e-03 5.922438289361948e-03 - 6.090911784292105e-03 6.259263304936011e-03 6.427492823105761e-03 6.595600012759487e-03 6.763584774419725e-03 - 6.931447157908777e-03 7.099187064683324e-03 7.266804368739545e-03 7.434298984071849e-03 7.601670964899477e-03 - 7.768920175905106e-03 7.936046303989365e-03 8.103049345026314e-03 8.269929303195386e-03 8.436686062480435e-03 - 8.603319496825714e-03 8.769829559891583e-03 8.936216298209541e-03 9.102479469308070e-03 9.268618835503980e-03 - 9.434634442417017e-03 9.600526244002849e-03 9.766294116521254e-03 9.931937936947469e-03 1.009745771049027e-02 - 1.026285342997890e-02 1.042812477681206e-02 1.059327162144324e-02 1.075829401681754e-02 1.092319186819127e-02 - 1.108796504594824e-02 1.125261345370748e-02 1.141713713772357e-02 1.158153598704318e-02 1.174580967555363e-02 - 1.190995817803677e-02 1.207398151021485e-02 1.223787955540131e-02 1.240165218070774e-02 1.256529932365555e-02 - 1.272882103806231e-02 1.289221710280211e-02 1.305548725320952e-02 1.321863152957668e-02 1.338164989105289e-02 - 1.354454220587777e-02 1.370730835288826e-02 1.386994832163190e-02 1.403246211588375e-02 1.419484943187744e-02 - 1.435711010999991e-02 1.451924419921884e-02 1.468125161270911e-02 1.484313222013652e-02 1.500488591571896e-02 - 1.516651273046586e-02 1.532801257754355e-02 1.548938513124086e-02 1.565063033579857e-02 1.581174821092933e-02 - 1.597273864701365e-02 1.613360150922888e-02 1.629433671764488e-02 1.645494432276120e-02 1.661542413184349e-02 - 1.677577586209575e-02 1.693599953321696e-02 1.709609511287956e-02 1.725606247097126e-02 1.741590148147653e-02 - 1.757561211738663e-02 1.773519439308624e-02 1.789464801957598e-02 1.805397280960725e-02 1.821316881163111e-02 - 1.837223594327105e-02 1.853117406905512e-02 1.868998307594014e-02 1.884866298214414e-02 1.900721372338833e-02 - 1.916563497459167e-02 1.932392665507269e-02 1.948208878919649e-02 1.964012126059438e-02 1.979802393750615e-02 - 1.995579673545799e-02 2.011343968946751e-02 2.027095263124555e-02 2.042833526879373e-02 2.058558759933038e-02 - 2.074270959919291e-02 2.089970114286997e-02 2.105656209513535e-02 2.121329241031374e-02 2.136989211400533e-02 - 2.152636093833320e-02 2.168269866776463e-02 2.183890534086288e-02 2.199498088647827e-02 2.215092516911965e-02 - 2.230673806408907e-02 2.246241957468516e-02 2.261796965793072e-02 2.277338799181243e-02 2.292867446749406e-02 - 2.308382911412376e-02 2.323885181888266e-02 2.339374244699652e-02 2.354850090287507e-02 2.370312721409915e-02 - 2.385762123470989e-02 2.401198266010886e-02 2.416621147301771e-02 2.432030765671687e-02 2.447427107682733e-02 - 2.462810160176357e-02 2.478179917471193e-02 2.493536381795363e-02 2.508879528739230e-02 2.524209334527653e-02 - 2.539525801488748e-02 2.554828923354157e-02 2.570118686847216e-02 2.585395079171064e-02 2.600658098606827e-02 - 2.615907742012537e-02 2.631143978762620e-02 2.646366795301069e-02 2.661576194257877e-02 2.676772164859378e-02 - 2.691954693391293e-02 2.707123769272043e-02 2.722279394328245e-02 2.737421556407061e-02 2.752550224474631e-02 - 2.767665393933695e-02 2.782767063812680e-02 2.797855221700411e-02 2.812929853552858e-02 2.827990951702357e-02 - 2.843038519104858e-02 2.858072533585580e-02 2.873092969062032e-02 2.888099827101270e-02 2.903093101911967e-02 - 2.918072779556083e-02 2.933038847140823e-02 2.947991301658642e-02 2.962930141213865e-02 2.977855336278226e-02 - 2.992766870509821e-02 3.007664746318324e-02 3.022548953626840e-02 3.037419478553557e-02 3.052276309616091e-02 - 3.067119447416764e-02 3.081948881896879e-02 3.096764581778017e-02 3.111566540198458e-02 3.126354756710210e-02 - 3.141129218718559e-02 3.155889912410548e-02 3.170636829125183e-02 3.185369970791438e-02 3.200089317518744e-02 - 3.214794841776677e-02 3.229486543634106e-02 3.244164418203412e-02 3.258828451581320e-02 3.273478630264194e-02 - 3.288114949586567e-02 3.302737408530167e-02 3.317345979235018e-02 3.331940642975919e-02 3.346521401820098e-02 - 3.361088246101045e-02 3.375641161607764e-02 3.390180136352038e-02 3.404705169548587e-02 3.419216253016829e-02 - 3.433713355905806e-02 3.448196468652563e-02 3.462665590981111e-02 3.477120710939272e-02 3.491561814527116e-02 - 3.505988891618091e-02 3.520401943397326e-02 3.534800952666442e-02 3.549185891051008e-02 3.563556756111654e-02 - 3.577913543618631e-02 3.592256240340591e-02 3.606584831947614e-02 3.620899312153205e-02 3.635199681091714e-02 - 3.649485912620978e-02 3.663757985375464e-02 3.678015900636063e-02 3.692259649832257e-02 3.706489218607827e-02 - 3.720704593508108e-02 3.734905772908955e-02 3.749092751022131e-02 3.763265496742431e-02 3.777423997951684e-02 - 3.791568254953915e-02 3.805698256030369e-02 3.819813986869797e-02 3.833915436267914e-02 3.848002605018682e-02 - 3.862075477984065e-02 3.876134025391093e-02 3.890178243600422e-02 3.904208129158644e-02 3.918223668100989e-02 - 3.932224846044379e-02 3.946211655605483e-02 3.960184097189857e-02 3.974142146457355e-02 3.988085779819951e-02 - 4.002014997942075e-02 4.015929792921669e-02 4.029830150192959e-02 4.043716055991190e-02 4.057587507004282e-02 - 4.071444498657769e-02 4.085287001066611e-02 4.099114999824743e-02 4.112928495212512e-02 4.126727475679569e-02 - 4.140511926665246e-02 4.154281836167219e-02 4.168037204269245e-02 4.181778018003033e-02 4.195504246778908e-02 - 4.209215884913708e-02 4.222912929605258e-02 4.236595366776428e-02 4.250263182248033e-02 4.263916367566677e-02 - 4.277554922465009e-02 4.291178824859961e-02 4.304788049654025e-02 4.318382596138427e-02 4.331962457087349e-02 - 4.345527617981602e-02 4.359078064797250e-02 4.372613792550029e-02 4.386134797486977e-02 4.399641051415262e-02 - 4.413132537776133e-02 4.426609256403441e-02 4.440071196061698e-02 4.453518342174363e-02 4.466950682320869e-02 - 4.480368214879805e-02 4.493770928728694e-02 4.507158793990715e-02 4.520531802497359e-02 4.533889951667943e-02 - 4.547233228082954e-02 4.560561616979211e-02 4.573875108353129e-02 4.587173702317195e-02 4.600457379177124e-02 - 4.613726112101928e-02 4.626979898466685e-02 4.640218731770854e-02 4.653442597807410e-02 4.666651481740990e-02 - 4.679845378497393e-02 4.693024287357150e-02 4.706188178521280e-02 4.719337030512012e-02 4.732470843170088e-02 - 4.745589609974604e-02 4.758693317708736e-02 4.771781949014568e-02 4.784855500276729e-02 4.797913963655120e-02 - 4.810957311625792e-02 4.823985532440599e-02 4.836998622519359e-02 4.849996572088229e-02 4.862979364778694e-02 - 4.875946986129576e-02 4.888899438454671e-02 4.901836703838853e-02 4.914758752328308e-02 4.927665585368439e-02 - 4.940557196434897e-02 4.953433564666962e-02 4.966294680168561e-02 4.979140536998770e-02 4.991971127467005e-02 - 5.004786430086550e-02 5.017586426593462e-02 5.030371111424699e-02 5.043140473941395e-02 5.055894500969876e-02 - 5.068633180855401e-02 5.081356509387767e-02 5.094064477169723e-02 5.106757053524139e-02 5.119434226596677e-02 - 5.132095996453229e-02 5.144742351517578e-02 5.157373274644007e-02 5.169988750799723e-02 5.182588783131492e-02 - 5.195173357105356e-02 5.207742440366903e-02 5.220296027189056e-02 5.232834113948501e-02 5.245356688434039e-02 - 5.257863735375337e-02 5.270355244318054e-02 5.282831211610928e-02 5.295291615700908e-02 5.307736435753736e-02 - 5.320165668494783e-02 5.332579302368824e-02 5.344977322479061e-02 5.357359720391287e-02 5.369726488407797e-02 - 5.382077614890905e-02 5.394413077320572e-02 5.406732861255047e-02 5.419036960275756e-02 5.431325364836510e-02 - 5.443598061485443e-02 5.455855035736775e-02 5.468096283548277e-02 5.480321791614200e-02 5.492531533836561e-02 - 5.504725504027442e-02 5.516903696522249e-02 5.529066094250196e-02 5.541212681912044e-02 5.553343451105355e-02 - 5.565458402054679e-02 5.577557512714444e-02 5.589640757833542e-02 5.601708136214176e-02 5.613759637012277e-02 - 5.625795242697428e-02 5.637814944133901e-02 5.649818735356010e-02 5.661806606948155e-02 5.673778531909066e-02 - 5.685734496106067e-02 5.697674499811992e-02 5.709598525886500e-02 5.721506557962035e-02 5.733398588420521e-02 - 5.745274613557275e-02 5.757134619305772e-02 5.768978576165893e-02 5.780806477237931e-02 5.792618319490116e-02 - 5.804414085654030e-02 5.816193759992416e-02 5.827957333255503e-02 5.839704805764100e-02 5.851436157058919e-02 - 5.863151359019340e-02 5.874850407742044e-02 5.886533297606138e-02 5.898200016057164e-02 5.909850545490182e-02 - 5.921484876799358e-02 5.933103006596772e-02 5.944704910278828e-02 5.956290569090495e-02 5.967859979076014e-02 - 5.979413129454921e-02 5.990950006107775e-02 6.002470595625681e-02 6.013974894676900e-02 6.025462892974234e-02 - 6.036934559538653e-02 6.048389882575328e-02 6.059828859366181e-02 6.071251478747773e-02 6.082657726499330e-02 - 6.094047589468096e-02 6.105421060960093e-02 6.116778124880510e-02 6.128118760026364e-02 6.139442960439424e-02 - 6.150750715787331e-02 6.162042008748835e-02 6.173316829355946e-02 6.184575170612789e-02 6.195817023946892e-02 - 6.207042366308074e-02 6.218251178412997e-02 6.229443455021107e-02 6.240619187345142e-02 6.251778362644587e-02 - 6.262920965673664e-02 6.274046989094115e-02 6.285156423838029e-02 6.296249246083868e-02 6.307325441937692e-02 - 6.318385004239983e-02 6.329427920287174e-02 6.340454177652059e-02 6.351463766120390e-02 6.362456678994362e-02 - 6.373432899407734e-02 6.384392402667542e-02 6.395335181995393e-02 6.406261231361865e-02 6.417170537725830e-02 - 6.428063082883417e-02 6.438938856382127e-02 6.449797859582693e-02 6.460640069400744e-02 6.471465460887021e-02 - 6.482274028565467e-02 6.493065766530991e-02 6.503840663024645e-02 6.514598697176463e-02 6.525339863731919e-02 - 6.536064160053869e-02 6.546771556229376e-02 6.557462036169828e-02 6.568135597564134e-02 6.578792228094754e-02 - 6.589431913461476e-02 6.600054641494822e-02 6.610660407274732e-02 6.621249195669229e-02 6.631820979208959e-02 - 6.642375751800587e-02 6.652913508526218e-02 6.663434233390064e-02 6.673937912206085e-02 6.684424535139094e-02 - 6.694894096694531e-02 6.705346576057515e-02 6.715781952052316e-02 6.726200223606826e-02 6.736601378290344e-02 - 6.746985396850236e-02 6.757352270136854e-02 6.767701992273348e-02 6.778034554033589e-02 6.788349929667206e-02 - 6.798648102682574e-02 6.808929069330329e-02 6.819192820375723e-02 6.829439341428477e-02 6.839668615716293e-02 - 6.849880637697058e-02 6.860075397106770e-02 6.870252870886938e-02 6.880413046413429e-02 6.890555915577500e-02 - 6.900681468090485e-02 6.910789689150486e-02 6.920880565820778e-02 6.930954094436353e-02 6.941010257623929e-02 - 6.951049032497619e-02 6.961070411466443e-02 6.971074386483528e-02 6.981060945693285e-02 6.991030074013053e-02 - 7.000981760721879e-02 7.010915998226322e-02 7.020832768385020e-02 7.030732053981503e-02 7.040613843777971e-02 - 7.050478130476578e-02 7.060324902125202e-02 7.070154139632766e-02 7.079965841104072e-02 7.089759998592053e-02 - 7.099536579014293e-02 7.109295574922263e-02 7.119036986301433e-02 7.128760792254588e-02 7.138466979343019e-02 - 7.148155540894172e-02 7.157826467726322e-02 7.167479742578257e-02 7.177115345207208e-02 7.186733268619028e-02 - 7.196333504975572e-02 7.205916041090092e-02 7.215480858692887e-02 7.225027948023270e-02 7.234557308374470e-02 - 7.244068916926014e-02 7.253562753252076e-02 7.263038813284139e-02 7.272497087062332e-02 7.281937559790036e-02 - 7.291360215228662e-02 7.300765049821943e-02 7.310152057265214e-02 7.319521208383468e-02 7.328872490709243e-02 - 7.338205901635925e-02 7.347521425841259e-02 7.356819049091311e-02 7.366098761637971e-02 7.375360558736099e-02 - 7.384604424623381e-02 7.393830334347133e-02 7.403038279875497e-02 7.412228254437477e-02 7.421400245985316e-02 - 7.430554241104276e-02 7.439690229021774e-02 7.448808202204141e-02 7.457908141717452e-02 7.466990029970315e-02 - 7.476053861745356e-02 7.485099625058683e-02 7.494127304678436e-02 7.503136889191833e-02 7.512128371784581e-02 - 7.521101743547498e-02 7.530056981436373e-02 7.538994071268737e-02 7.547913007544443e-02 7.556813780083994e-02 - 7.565696374971752e-02 7.574560777501017e-02 7.583406981695588e-02 7.592234975180168e-02 7.601044736291800e-02 - 7.609836256769248e-02 7.618609528331391e-02 7.627364535037680e-02 7.636101265407126e-02 7.644819711937149e-02 - 7.653519868718589e-02 7.662201715447789e-02 7.670865230880411e-02 7.679510411035856e-02 7.688137246970578e-02 - 7.696745724207896e-02 7.705335828035317e-02 7.713907552614908e-02 7.722460893765626e-02 7.730995825366380e-02 - 7.739512330293280e-02 7.748010405365591e-02 7.756490042829636e-02 7.764951228919105e-02 7.773393946198498e-02 - 7.781818189157449e-02 7.790223948237281e-02 7.798611201876808e-02 7.806979939436651e-02 7.815330154059554e-02 - 7.823661834982702e-02 7.831974966729814e-02 7.840269536418043e-02 7.848545542109749e-02 7.856802968700778e-02 - 7.865041794492959e-02 7.873262009221961e-02 7.881463606524114e-02 7.889646578364969e-02 7.897810905385311e-02 - 7.905956578813299e-02 7.914083598393755e-02 7.922191938944982e-02 7.930281582198326e-02 7.938352526916173e-02 - 7.946404763288464e-02 7.954438277705837e-02 7.962453057021987e-02 7.970449093695484e-02 7.978426377009373e-02 - 7.986384886265184e-02 7.994324611178145e-02 8.002245546069972e-02 8.010147680163558e-02 8.018030998339011e-02 - 8.025895486859348e-02 8.033741142939121e-02 8.041567953647351e-02 8.049375898816008e-02 8.057164970191152e-02 - 8.064935159117341e-02 8.072686453538828e-02 8.080418841559016e-02 8.088132313650849e-02 8.095826861741187e-02 - 8.103502469212946e-02 8.111159121525567e-02 8.118796811657426e-02 8.126415526945288e-02 8.134015254787534e-02 - 8.141595988122388e-02 8.149157718184835e-02 8.156700432424771e-02 8.164224113093393e-02 8.171728750211138e-02 - 8.179214337283539e-02 8.186680860558979e-02 8.194128308109257e-02 8.201556671181809e-02 8.208965942384167e-02 - 8.216356107347705e-02 8.223727146913333e-02 8.231079055026533e-02 8.238411825286719e-02 8.245725445426123e-02 - 8.253019901019013e-02 8.260295182089074e-02 8.267551284923887e-02 8.274788192985057e-02 8.282005889192648e-02 - 8.289204367192234e-02 8.296383619751495e-02 8.303543635380874e-02 8.310684396376640e-02 8.317805898151856e-02 - 8.324908138250064e-02 8.331991092178788e-02 8.339054746670159e-02 8.346099098907200e-02 8.353124136246602e-02 - 8.360129848004999e-02 8.367116227251760e-02 8.374083263302687e-02 8.381030943134427e-02 8.387959252741883e-02 - 8.394868181167527e-02 8.401757720093640e-02 8.408627862550171e-02 8.415478594369409e-02 8.422309904154775e-02 - 8.429121790707177e-02 8.435914237533512e-02 8.442687225429805e-02 8.449440750560887e-02 8.456174803803686e-02 - 8.462889372267089e-02 8.469584447602406e-02 8.476260023136410e-02 8.482916090148240e-02 8.489552630009754e-02 - 8.496169630228255e-02 8.502767086164854e-02 8.509344988672647e-02 8.515903326018803e-02 8.522442086136313e-02 - 8.528961263471936e-02 8.535460848680074e-02 8.541940824041729e-02 8.548401181612168e-02 8.554841915131453e-02 - 8.561263012321893e-02 8.567664461211427e-02 8.574046253447680e-02 8.580408386832587e-02 8.586750845589863e-02 - 8.593073610333024e-02 8.599376680387132e-02 8.605660047760594e-02 8.611923696874126e-02 8.618167618396408e-02 - 8.624391807608472e-02 8.630596259724549e-02 8.636780954833972e-02 8.642945878839840e-02 8.649091029427977e-02 - 8.655216396695875e-02 8.661321970043215e-02 8.667407742210617e-02 8.673473702989365e-02 8.679519841504303e-02 - 8.685546148336530e-02 8.691552612855238e-02 8.697539224666265e-02 8.703505975750943e-02 8.709452857692032e-02 - 8.715379861893667e-02 8.721286980508075e-02 8.727174201224434e-02 8.733041510377958e-02 8.738888903629666e-02 - 8.744716372671989e-02 8.750523904187274e-02 8.756311491392924e-02 8.762079127795709e-02 8.767826803995526e-02 - 8.773554506310657e-02 8.779262223690780e-02 8.784949951260017e-02 8.790617682173207e-02 8.796265406226209e-02 - 8.801893109931651e-02 8.807500788687952e-02 8.813088437660771e-02 8.818656039674132e-02 8.824203585227545e-02 - 8.829731070095961e-02 8.835238486000704e-02 8.840725822106667e-02 8.846193068214857e-02 8.851640221803356e-02 - 8.857067273700293e-02 8.862474207580676e-02 8.867861014722141e-02 8.873227689758616e-02 8.878574227696898e-02 - 8.883900618220902e-02 8.889206851560667e-02 8.894492921167085e-02 8.899758815302622e-02 8.905004524008538e-02 - 8.910230044719054e-02 8.915435367300073e-02 8.920620479173334e-02 8.925785373448247e-02 8.930930045917142e-02 - 8.936054490961548e-02 8.941158695191696e-02 8.946242647641844e-02 8.951306341364354e-02 8.956349771969928e-02 - 8.961372931388180e-02 8.966375808278661e-02 8.971358396554302e-02 8.976320688963368e-02 8.981262675341668e-02 - 8.986184348935064e-02 8.991085703129179e-02 8.995966729258320e-02 9.000827417122792e-02 9.005667759770250e-02 - 9.010487756379584e-02 9.015287394264000e-02 9.020066659275561e-02 9.024825550203337e-02 9.029564061179933e-02 - 9.034282181894199e-02 9.038979902630290e-02 9.043657218570805e-02 9.048314126656666e-02 9.052950615463343e-02 - 9.057566675480395e-02 9.062162300961238e-02 9.066737484935303e-02 9.071292219781772e-02 9.075826498061153e-02 - 9.080340315127385e-02 9.084833664156222e-02 9.089306533771581e-02 9.093758915627431e-02 9.098190804149961e-02 - 9.102602195783284e-02 9.106993084471440e-02 9.111363462196023e-02 9.115713320054021e-02 9.120042650346059e-02 - 9.124351446434358e-02 9.128639702175202e-02 9.132907412994692e-02 9.137154573427010e-02 9.141381170435277e-02 - 9.145587198962597e-02 9.149772660800266e-02 9.153937542844172e-02 9.158081834977004e-02 9.162205535599281e-02 - 9.166308637778346e-02 9.170391133536025e-02 9.174453017072061e-02 9.178494285856946e-02 9.182514933661440e-02 - 9.186514945794547e-02 9.190494319482566e-02 9.194453054665523e-02 9.198391140758180e-02 9.202308569543158e-02 - 9.206205336702038e-02 9.210081441034919e-02 9.213936875086109e-02 9.217771627651770e-02 9.221585694962209e-02 - 9.225379072840771e-02 9.229151754885842e-02 9.232903734819613e-02 9.236635007909103e-02 9.240345570404732e-02 - 9.244035413434255e-02 9.247704529963750e-02 9.251352918345666e-02 9.254980573968512e-02 9.258587489795035e-02 - 9.262173657649034e-02 9.265739073985793e-02 9.269283735974691e-02 9.272807636276849e-02 9.276310769047050e-02 - 9.279793130272118e-02 9.283254716719631e-02 9.286695521394739e-02 9.290115536246511e-02 9.293514761281572e-02 - 9.296893192325742e-02 9.300250819824006e-02 9.303587638369953e-02 9.306903645092859e-02 9.310198837852499e-02 - 9.313473209662422e-02 9.316726755984403e-02 9.319959477466139e-02 9.323171364631608e-02 9.326362408592948e-02 - 9.329532610133226e-02 9.332681964339190e-02 9.335810464438972e-02 9.338918108249107e-02 9.342004893308628e-02 - 9.345070815580041e-02 9.348115868437977e-02 9.351140046962789e-02 9.354143348306601e-02 9.357125770365762e-02 - 9.360087308621738e-02 9.363027956518245e-02 9.365947710363894e-02 9.368846567300493e-02 9.371724524372237e-02 - 9.374581578300241e-02 9.377417725111503e-02 9.380232960142115e-02 9.383027280206080e-02 9.385800682788301e-02 - 9.388553164914089e-02 9.391284719773688e-02 9.393995342276806e-02 9.396685035781838e-02 9.399353796706621e-02 - 9.402001617537038e-02 9.404628495786660e-02 9.407234429781461e-02 9.409819417117830e-02 9.412383453169183e-02 - 9.414926534580341e-02 9.417448659641373e-02 9.419949825736050e-02 9.422430029380560e-02 9.424889267135104e-02 - 9.427327539998738e-02 9.429744844865905e-02 9.432141171534560e-02 9.434516522540957e-02 9.436870900006604e-02 - 9.439204294634228e-02 9.441516705436934e-02 9.443808133745002e-02 9.446078573953387e-02 9.448328023801857e-02 - 9.450556483411636e-02 9.452763950923013e-02 9.454950421611270e-02 9.457115890701832e-02 9.459260360830167e-02 - 9.461383832574666e-02 9.463486302352626e-02 9.465567765409444e-02 9.467628220109425e-02 9.469667668274938e-02 - 9.471686106967921e-02 9.473683533004949e-02 9.475659945563136e-02 9.477615343325803e-02 9.479549725292793e-02 - 9.481463091432241e-02 9.483355439545672e-02 9.485226766778346e-02 9.487077071788189e-02 9.488906353992572e-02 - 9.490714613644993e-02 9.492501852119042e-02 9.494268066964073e-02 9.496013253895599e-02 9.497737414244060e-02 - 9.499440547543551e-02 9.501122651272445e-02 9.502783728094538e-02 9.504423778187990e-02 9.506042797340242e-02 - 9.507640785191551e-02 9.509217742006319e-02 9.510773667189122e-02 9.512308563868060e-02 9.513822432123879e-02 - 9.515315264231193e-02 9.516787063845662e-02 9.518237836728226e-02 9.519667577724227e-02 9.521076284349063e-02 - 9.522463958294539e-02 9.523830604498588e-02 9.525176221483619e-02 9.526500804718509e-02 9.527804359769618e-02 - 9.529086886623650e-02 9.530348379689602e-02 9.531588845120076e-02 9.532808286166987e-02 9.534006699012688e-02 - 9.535184085361241e-02 9.536340447105748e-02 9.537475783364874e-02 9.538590095359538e-02 9.539683385237334e-02 - 9.540755654711666e-02 9.541806903829181e-02 9.542837132640679e-02 9.543846343230179e-02 9.544834536597921e-02 - 9.545801714100983e-02 9.546747880593646e-02 9.547673036184304e-02 9.548577178084619e-02 9.549460309483834e-02 - 9.550322434581640e-02 9.551163556335956e-02 9.551983673903520e-02 9.552782788036314e-02 9.553560902903191e-02 - 9.554318022933674e-02 9.555054148771730e-02 9.555769276632298e-02 9.556463412975340e-02 9.557136563747151e-02 - 9.557788725689133e-02 9.558419903459103e-02 9.559030102901959e-02 9.559619321427665e-02 9.560187562136102e-02 - 9.560734830883322e-02 9.561261127917654e-02 9.561766456108449e-02 9.562250820572099e-02 9.562714223416331e-02 - 9.563156666435306e-02 9.563578152405575e-02 9.563978686682097e-02 9.564358272631937e-02 9.564716910782914e-02 - 9.565054604965099e-02 9.565371359980702e-02 9.565667179877529e-02 9.565942066526258e-02 9.566196023293236e-02 - 9.566429057683135e-02 9.566641172752892e-02 9.566832368940979e-02 9.567002647518966e-02 9.567152016429874e-02 - 9.567280484915060e-02 9.567388053004788e-02 9.567474721294261e-02 9.567540493730267e-02 9.567585379392737e-02 - 9.567609383300600e-02 9.567612506298810e-02 9.567594754568214e-02 9.567556133790830e-02 9.567496647244744e-02 - 9.567416299512438e-02 9.567315095370396e-02 9.567193039196389e-02 9.567050136232016e-02 9.566886392120964e-02 - 9.566701812558283e-02 9.566496403827787e-02 9.566270170884209e-02 9.566023115264767e-02 9.565755243736668e-02 - 9.565466564791879e-02 9.565157080775241e-02 9.564826797386157e-02 9.564475723264595e-02 9.564103864027859e-02 - 9.563711223757489e-02 9.563297806735498e-02 9.562863621895812e-02 9.562408675116861e-02 9.561932968250994e-02 - 9.561436511583814e-02 9.560919313325968e-02 9.560381374743886e-02 9.559822704785555e-02 9.559243313048145e-02 - 9.558643203289170e-02 9.558022378864620e-02 9.557380846466877e-02 9.556718619530349e-02 9.556035703327785e-02 - 9.555332100122134e-02 9.554607821247386e-02 9.553862873475936e-02 9.553097259908433e-02 9.552310989218279e-02 - 9.551504070130773e-02 9.550676510186747e-02 9.549828317393894e-02 9.548959500356741e-02 9.548070067318166e-02 - 9.547160021295119e-02 9.546229369018946e-02 9.545278124506257e-02 9.544306292579091e-02 9.543313878273989e-02 - 9.542300894892854e-02 9.541267351639289e-02 9.540213254817664e-02 9.539138610562420e-02 9.538043425774057e-02 - 9.536927709152246e-02 9.535791472882026e-02 9.534634726779553e-02 9.533457478138217e-02 9.532259734256758e-02 - 9.531041503990305e-02 9.529802797105680e-02 9.528543620462085e-02 9.527263983869082e-02 9.525963900525855e-02 - 9.524643375927100e-02 9.523302417643500e-02 9.521941040061487e-02 9.520559252291068e-02 9.519157060486365e-02 - 9.517734471153570e-02 9.516291499670615e-02 9.514828160467456e-02 9.513344455080376e-02 9.511840393248631e-02 - 9.510315989360162e-02 9.508771251519674e-02 9.507206189457258e-02 9.505620814925633e-02 9.504015138530268e-02 - 9.502389169582724e-02 9.500742917228551e-02 9.499076394524120e-02 9.497389612890822e-02 9.495682580659018e-02 - 9.493955308203066e-02 9.492207807526097e-02 9.490440091330225e-02 9.488652168366014e-02 9.486844048723730e-02 - 9.485015747906970e-02 9.483167277063544e-02 9.481298644119306e-02 9.479409856622809e-02 9.477500930738031e-02 - 9.475571884085587e-02 9.473622721810367e-02 9.471653454723004e-02 9.469664098786204e-02 9.467654664635866e-02 - 9.465625162221861e-02 9.463575602621152e-02 9.461505999415500e-02 9.459416367044585e-02 9.457306719633034e-02 - 9.455177068421998e-02 9.453027423759350e-02 9.450857796468222e-02 9.448668199276268e-02 9.446458647203468e-02 - 9.444229157255099e-02 9.441979739649474e-02 9.439710403006842e-02 9.437421161454676e-02 9.435112031829759e-02 - 9.432783029179438e-02 9.430434160094567e-02 9.428065438538669e-02 9.425676883924589e-02 9.423268508508292e-02 - 9.420840322981890e-02 9.418392339716981e-02 9.415924578030670e-02 9.413437051700123e-02 9.410929767030043e-02 - 9.408402741009517e-02 9.405855992335012e-02 9.403289535840260e-02 9.400703383941893e-02 9.398097549341558e-02 - 9.395472046838550e-02 9.392826889502673e-02 9.390162091553057e-02 9.387477672023849e-02 9.384773645864139e-02 - 9.382050025947151e-02 9.379306828457251e-02 9.376544068778003e-02 9.373761760606118e-02 9.370959916011609e-02 - 9.368138552427184e-02 9.365297690930323e-02 9.362437342817573e-02 9.359557520850639e-02 9.356658243379877e-02 - 9.353739529945312e-02 9.350801394425273e-02 9.347843843855524e-02 9.344866901272440e-02 9.341870589097585e-02 - 9.338854915644307e-02 9.335819897637819e-02 9.332765555734250e-02 9.329691906420928e-02 9.326598960092489e-02 - 9.323486729288316e-02 9.320355242698486e-02 9.317204517635257e-02 9.314034562740874e-02 9.310845398153604e-02 - 9.307637042858882e-02 9.304409511565054e-02 9.301162817412864e-02 9.297896979469056e-02 9.294612022999450e-02 - 9.291307963943660e-02 9.287984815938743e-02 9.284642594887814e-02 9.281281319942865e-02 9.277901009754375e-02 - 9.274501679883909e-02 9.271083349621308e-02 9.267646039527271e-02 9.264189767811302e-02 9.260714551564306e-02 - 9.257220408228978e-02 9.253707357624473e-02 9.250175417101536e-02 9.246624602802385e-02 9.243054935165987e-02 - 9.239466434718238e-02 9.235859120974489e-02 9.232233012999355e-02 9.228588129454922e-02 9.224924488066757e-02 - 9.221242103323031e-02 9.217540995047416e-02 9.213821191347883e-02 9.210082709355732e-02 9.206325564930115e-02 - 9.202549780755387e-02 9.198755374602623e-02 9.194942363528436e-02 9.191110769995278e-02 9.187260614753277e-02 - 9.183391917841241e-02 9.179504701848260e-02 9.175598985687712e-02 9.171674785963810e-02 9.167732123351167e-02 - 9.163771019528422e-02 9.159791495855178e-02 9.155793572040530e-02 9.151777270193290e-02 9.147742614628342e-02 - 9.143689622063791e-02 9.139618310892414e-02 9.135528705455570e-02 9.131420824439858e-02 9.127294688450004e-02 - 9.123150325806001e-02 9.118987755991119e-02 9.114806996063474e-02 9.110608069642255e-02 9.106390998608170e-02 - 9.102155802996120e-02 9.097902503011562e-02 9.093631123402490e-02 9.089341690732793e-02 9.085034224655422e-02 - 9.080708743846595e-02 9.076365269164367e-02 9.072003828369785e-02 9.067624443485320e-02 9.063227129485288e-02 - 9.058811915193726e-02 9.054378827004000e-02 9.049927881221763e-02 9.045459103770109e-02 9.040972520178260e-02 - 9.036468147234690e-02 9.031946007844127e-02 9.027406127956829e-02 9.022848531585773e-02 9.018273243214560e-02 - 9.013680287341128e-02 9.009069686920407e-02 9.004441462623869e-02 8.999795635152021e-02 8.995132231203949e-02 - 8.990451276610797e-02 8.985752795281814e-02 8.981036812557305e-02 8.976303351703613e-02 8.971552434037033e-02 - 8.966784087291869e-02 8.961998334831080e-02 8.957195192338249e-02 8.952374693198487e-02 8.947536869631613e-02 - 8.942681737354224e-02 8.937809319632291e-02 8.932919644498671e-02 8.928012738635183e-02 8.923088623240803e-02 - 8.918147319450437e-02 8.913188858291199e-02 8.908213269254797e-02 8.903220577223506e-02 8.898210800726358e-02 - 8.893183965769864e-02 8.888140104180198e-02 8.883079233855783e-02 8.878001380541380e-02 8.872906581842580e-02 - 8.867794859494142e-02 8.862666233412557e-02 8.857520730323154e-02 8.852358381153494e-02 8.847179212845252e-02 - 8.841983243253916e-02 8.836770502123131e-02 8.831541022882371e-02 8.826294830990469e-02 8.821031949641793e-02 - 8.815752403748606e-02 8.810456224863354e-02 8.805143437639511e-02 8.799814063336710e-02 8.794468134879541e-02 - 8.789105684257616e-02 8.783726738270531e-02 8.778331316928159e-02 8.772919447874153e-02 8.767491167446911e-02 - 8.762046495069514e-02 8.756585454037039e-02 8.751108081839833e-02 8.745614408581825e-02 8.740104459021790e-02 - 8.734578256007368e-02 8.729035830815834e-02 8.723477214343743e-02 8.717902426868683e-02 8.712311501918556e-02 - 8.706704476846663e-02 8.701081371877695e-02 8.695442211628683e-02 8.689787027644420e-02 8.684115853767592e-02 - 8.678428714435096e-02 8.672725629439892e-02 8.667006642064547e-02 8.661271785522098e-02 8.655521075244504e-02 - 8.649754543067346e-02 8.643972223965939e-02 8.638174147222141e-02 8.632360334916610e-02 8.626530814542391e-02 - 8.620685627786050e-02 8.614824804295058e-02 8.608948367410735e-02 8.603056343813603e-02 8.597148768708160e-02 - 8.591225676580187e-02 8.585287085352321e-02 8.579333027004854e-02 8.573363543090719e-02 8.567378659419787e-02 - 8.561378404241062e-02 8.555362810687137e-02 8.549331906471129e-02 8.543285719635127e-02 8.537224281446841e-02 - 8.531147627953188e-02 8.525055791649624e-02 8.518948798167383e-02 8.512826679756995e-02 8.506689470133286e-02 - 8.500537199311337e-02 8.494369892596923e-02 8.488187579804041e-02 8.481990305210670e-02 8.475778099074194e-02 - 8.469550984763315e-02 8.463308996695838e-02 8.457052168539449e-02 8.450780530789033e-02 8.444494110975011e-02 - 8.438192942971584e-02 8.431877065438623e-02 8.425546507059704e-02 8.419201297696736e-02 8.412841471805475e-02 - 8.406467061549007e-02 8.400078097306259e-02 8.393674609180030e-02 8.387256634619757e-02 8.380824209666674e-02 - 8.374377362095807e-02 8.367916122870038e-02 8.361440526888680e-02 8.354950611900661e-02 8.348446403538942e-02 - 8.341927927704872e-02 8.335395233905314e-02 8.328848356223681e-02 8.322287316371958e-02 8.315712149574238e-02 - 8.309122893699929e-02 8.302519583647612e-02 8.295902243510637e-02 8.289270907781640e-02 8.282625623697057e-02 - 8.275966417678003e-02 8.269293318851907e-02 8.262606370095599e-02 8.255905601211083e-02 8.249191039312886e-02 - 8.242462718945633e-02 8.235720681988298e-02 8.228964967784431e-02 8.222195602541869e-02 8.215412621284769e-02 - 8.208616062445039e-02 8.201805954142698e-02 8.194982329150195e-02 8.188145225476894e-02 8.181294680713293e-02 - 8.174430731452863e-02 8.167553412282050e-02 8.160662752890076e-02 8.153758789030935e-02 8.146841562526554e-02 - 8.139911098330359e-02 8.132967428676124e-02 8.126010603531450e-02 8.119040656216225e-02 8.112057615694021e-02 - 8.105061517994502e-02 8.098052402265073e-02 8.091030303880128e-02 8.083995248093376e-02 8.076947276447492e-02 - 8.069886435754116e-02 8.062812754457355e-02 8.055726265736828e-02 8.048627008799529e-02 8.041515020636995e-02 - 8.034390332540668e-02 8.027252974489747e-02 8.020102993492553e-02 8.012940431195667e-02 8.005765317555476e-02 - 7.998577686939379e-02 7.991377577220368e-02 7.984165027334414e-02 7.976940065907111e-02 7.969702727793032e-02 - 7.962453065567111e-02 7.955191112254574e-02 7.947916895239987e-02 7.940630455590227e-02 7.933331833212637e-02 - 7.926021063894960e-02 7.918698178217287e-02 7.911363216326053e-02 7.904016223823181e-02 7.896657235187955e-02 - 7.889286283938438e-02 7.881903406306398e-02 7.874508643443230e-02 7.867102031060058e-02 7.859683599526633e-02 - 7.852253395767629e-02 7.844811463098400e-02 7.837357831424305e-02 7.829892537205134e-02 7.822415619643758e-02 - 7.814927116484589e-02 7.807427062910767e-02 7.799915496813195e-02 7.792392464520610e-02 7.784858004657273e-02 - 7.777312150359181e-02 7.769754936428309e-02 7.762186403791040e-02 7.754606594385612e-02 7.747015537442642e-02 - 7.739413273994507e-02 7.731799855521804e-02 7.724175314852555e-02 7.716539684747571e-02 7.708893004657069e-02 - 7.701235315053030e-02 7.693566653742440e-02 7.685887055661017e-02 7.678196565918903e-02 7.670495227727288e-02 - 7.662783073280909e-02 7.655060142689749e-02 7.647326478202995e-02 7.639582115595660e-02 7.631827089499127e-02 - 7.624061438211467e-02 7.616285210329320e-02 7.608498447266238e-02 7.600701183814436e-02 7.592893457493513e-02 - 7.585075308733022e-02 7.577246778116596e-02 7.569407897223836e-02 7.561558707997214e-02 7.553699264667676e-02 - 7.545829602219666e-02 7.537949752159374e-02 7.530059752746436e-02 7.522159652110559e-02 7.514249491290788e-02 - 7.506329293711217e-02 7.498399108869409e-02 7.490458989985715e-02 7.482508965268882e-02 7.474549074308040e-02 - 7.466579363230305e-02 7.458599868473173e-02 7.450610623924510e-02 7.442611667561436e-02 7.434603053570255e-02 - 7.426584824442337e-02 7.418557009969678e-02 7.410519651333995e-02 7.402472793153594e-02 7.394416477978479e-02 - 7.386350736456949e-02 7.378275607823381e-02 7.370191147772952e-02 7.362097394239986e-02 7.353994380500382e-02 - 7.345882147239775e-02 7.337760740248925e-02 7.329630201371148e-02 7.321490559729334e-02 7.313341861868546e-02 - 7.305184160923943e-02 7.297017492620234e-02 7.288841893034562e-02 7.280657402242413e-02 7.272464064227188e-02 - 7.264261917439505e-02 7.256050997585588e-02 7.247831356170273e-02 7.239603038649280e-02 7.231366079163171e-02 - 7.223120520116612e-02 7.214866404160214e-02 7.206603769517569e-02 7.198332653777370e-02 7.190053098792457e-02 - 7.181765153838118e-02 7.173468863077177e-02 7.165164265282598e-02 7.156851395212357e-02 7.148530298289761e-02 - 7.140201021117390e-02 7.131863593482980e-02 7.123518058493326e-02 7.115164469180060e-02 7.106802866653637e-02 - 7.098433289103630e-02 7.090055775733806e-02 7.081670370962735e-02 7.073277114629017e-02 7.064876042084919e-02 - 7.056467204467058e-02 7.048050649359339e-02 7.039626411522021e-02 7.031194531783586e-02 7.022755055007633e-02 - 7.014308026270048e-02 7.005853477507426e-02 6.997391445865883e-02 6.988921994223606e-02 6.980445161374127e-02 - 6.971960976161336e-02 6.963469490630880e-02 6.954970749457975e-02 6.946464787470261e-02 6.937951638488904e-02 - 6.929431352344900e-02 6.920903988440608e-02 6.912369577614699e-02 6.903828154824053e-02 6.895279768813133e-02 - 6.886724462309453e-02 6.878162274040467e-02 6.869593242264821e-02 6.861017418575431e-02 6.852434851303352e-02 - 6.843845573229547e-02 6.835249626715924e-02 6.826647058722328e-02 6.818037912112360e-02 6.809422221022603e-02 - 6.800800023353686e-02 6.792171381432285e-02 6.783536337902803e-02 6.774894920974223e-02 6.766247176656806e-02 - 6.757593152448671e-02 6.748932891036163e-02 6.740266425451470e-02 6.731593799992638e-02 6.722915072040272e-02 - 6.714230278026269e-02 6.705539454984789e-02 6.696842651283096e-02 6.688139909018249e-02 6.679431266253504e-02 - 6.670716761081900e-02 6.661996446504156e-02 6.653270374249923e-02 6.644538575792285e-02 6.635801090742725e-02 - 6.627057965598744e-02 6.618309245387675e-02 6.609554968705872e-02 6.600795173819872e-02 6.592029914958422e-02 - 6.583259238307172e-02 6.574483179767340e-02 6.565701780669353e-02 6.556915085921187e-02 6.548123140723705e-02 - 6.539325979064996e-02 6.530523643565112e-02 6.521716192687264e-02 6.512903665438342e-02 6.504086097557776e-02 - 6.495263535156262e-02 6.486436022769713e-02 6.477603601048113e-02 6.468766306269763e-02 6.459924187637454e-02 - 6.451077298036002e-02 6.442225675573160e-02 6.433369358016772e-02 6.424508387319842e-02 6.415642813133042e-02 - 6.406772674084167e-02 6.397898002556264e-02 6.389018858464109e-02 6.380135290132970e-02 6.371247325592760e-02 - 6.362355010153516e-02 6.353458392277617e-02 6.344557514446422e-02 6.335652411846264e-02 6.326743126079815e-02 - 6.317829713990436e-02 6.308912216326193e-02 6.299990668862973e-02 6.291065117630994e-02 6.282135608306753e-02 - 6.273202182393535e-02 6.264264873955985e-02 6.255323731562341e-02 6.246378810230178e-02 6.237430143094801e-02 - 6.228477769978175e-02 6.219521740601344e-02 6.210562097707054e-02 6.201598879095212e-02 6.192632121693314e-02 - 6.183661876812600e-02 6.174688193928092e-02 6.165711112558074e-02 6.156730673780070e-02 6.147746920022401e-02 - 6.138759893800432e-02 6.129769633241683e-02 6.120776180293847e-02 6.111779589683188e-02 6.102779903735479e-02 - 6.093777158500626e-02 6.084771398591046e-02 6.075762667844817e-02 6.066751007308262e-02 6.057736455111417e-02 - 6.048719057054321e-02 6.039698864588414e-02 6.030675917961215e-02 6.021650256672047e-02 6.012621923377075e-02 - 6.003590961818356e-02 5.994557411659043e-02 5.985521308639186e-02 5.976482706463886e-02 5.967441656528669e-02 - 5.958398192281734e-02 5.949352353003544e-02 5.940304183449088e-02 5.931253730252380e-02 5.922201027916447e-02 - 5.913146112197507e-02 5.904089044032181e-02 5.895029868043596e-02 5.885968615096351e-02 5.876905326755812e-02 - 5.867840050492581e-02 5.858772833116550e-02 5.849703703991720e-02 5.840632705235495e-02 5.831559896255584e-02 - 5.822485314806121e-02 5.813408997000494e-02 5.804330987759122e-02 5.795251328764216e-02 5.786170059865808e-02 - 5.777087221384987e-02 5.768002859772193e-02 5.758917021647553e-02 5.749829746896256e-02 5.740741077575853e-02 - 5.731651056875526e-02 5.722559725171274e-02 5.713467118430270e-02 5.704373274635539e-02 5.695278249332581e-02 - 5.686182088614487e-02 5.677084826809927e-02 5.667986504336005e-02 5.658887165217444e-02 5.649786853613976e-02 - 5.640685602792318e-02 5.631583453941855e-02 5.622480462822738e-02 5.613376666437993e-02 5.604272100502515e-02 - 5.595166813210956e-02 5.586060845174765e-02 5.576954232437998e-02 5.567847012652845e-02 5.558739236715193e-02 - 5.549630955542323e-02 5.540522197136583e-02 5.531413002536285e-02 5.522303422299683e-02 5.513193492275553e-02 - 5.504083247717721e-02 5.494972729209355e-02 5.485861988753332e-02 5.476751071228679e-02 5.467640010379995e-02 - 5.458528846418693e-02 5.449417622493567e-02 5.440306381105370e-02 5.431195155656662e-02 5.422083985771245e-02 - 5.412972927459819e-02 5.403862019627870e-02 5.394751295390937e-02 5.385640797531270e-02 5.376530569364821e-02 - 5.367420650537214e-02 5.358311072889269e-02 5.349201882499156e-02 5.340093132499041e-02 5.330984856991542e-02 - 5.321877091980749e-02 5.312769879767464e-02 5.303663263591166e-02 5.294557280318667e-02 5.285451962473617e-02 - 5.276347361952855e-02 5.267243525955664e-02 5.258140485845194e-02 5.249038280640431e-02 5.239936952998326e-02 - 5.230836544276557e-02 5.221737088032564e-02 5.212638621732711e-02 5.203541199430900e-02 5.194444860919033e-02 - 5.185349638284296e-02 5.176255572471577e-02 5.167162705674897e-02 5.158071077330502e-02 5.148980718747074e-02 - 5.139891673261619e-02 5.130803993485430e-02 5.121717713356427e-02 5.112632867301793e-02 5.103549496777923e-02 - 5.094467643725986e-02 5.085387344650644e-02 5.076308630673339e-02 5.067231551219451e-02 5.058156153920812e-02 - 5.049082469322039e-02 5.040010534612100e-02 5.030940391348503e-02 5.021872080090227e-02 5.012805633824483e-02 - 5.003741087422633e-02 4.994678493647212e-02 4.985617892926745e-02 4.976559315779018e-02 4.967502801470126e-02 - 4.958448390876292e-02 4.949396122643934e-02 4.940346027599988e-02 4.931298146262254e-02 4.922252530167843e-02 - 4.913209213539834e-02 4.904168229174269e-02 4.895129616994274e-02 4.886093417404704e-02 4.877059666413559e-02 - 4.868028394034647e-02 4.858999646754281e-02 4.849973472130898e-02 4.840949900241633e-02 4.831928966152828e-02 - 4.822910709871525e-02 4.813895171199074e-02 4.804882382564480e-02 4.795872376124456e-02 4.786865202942978e-02 - 4.777860903855367e-02 4.768859507592742e-02 4.759861051627762e-02 4.750865575639699e-02 4.741873117406014e-02 - 4.732883706721817e-02 4.723897381137243e-02 4.714914191200375e-02 4.705934171189571e-02 4.696957351961628e-02 - 4.687983771740974e-02 4.679013469431771e-02 4.670046480338604e-02 4.661082833156779e-02 4.652122571187634e-02 - 4.643165741520618e-02 4.634212373882778e-02 4.625262501422293e-02 4.616316162482947e-02 4.607373395212459e-02 - 4.598434231610999e-02 4.589498701904484e-02 4.580566854223844e-02 4.571638729424802e-02 4.562714355109129e-02 - 4.553793766452621e-02 4.544877001582995e-02 4.535964097502848e-02 4.527055082898004e-02 4.518149992236756e-02 - 4.509248874970542e-02 4.500351765014129e-02 4.491458690878355e-02 4.482569689376779e-02 4.473684797939540e-02 - 4.464804050747698e-02 4.455927474828068e-02 4.447055110499822e-02 4.438187004531898e-02 4.429323185876936e-02 - 4.420463685202721e-02 4.411608538888854e-02 4.402757783926076e-02 4.393911451733543e-02 4.385069570127949e-02 - 4.376232184208732e-02 4.367399334643604e-02 4.358571047769912e-02 4.349747356709084e-02 4.340928298020802e-02 - 4.332113907381294e-02 4.323304212320113e-02 4.314499244129432e-02 4.305699050668390e-02 4.296903665620930e-02 - 4.288113115167341e-02 4.279327434447749e-02 4.270546659199307e-02 4.261770822231841e-02 4.252999949469098e-02 - 4.244234077853745e-02 4.235473252680039e-02 4.226717502474875e-02 4.217966855846760e-02 4.209221347273914e-02 - 4.200481011967518e-02 4.191745880279663e-02 4.183015977695443e-02 4.174291346429643e-02 4.165572027077732e-02 - 4.156858044734360e-02 4.148149429654668e-02 4.139446216241891e-02 4.130748439363172e-02 4.122056125606220e-02 - 4.113369302794675e-02 4.104688016346336e-02 4.096012300095512e-02 4.087342178434451e-02 4.078677683583759e-02 - 4.070018849668031e-02 4.061365708919899e-02 4.052718285106741e-02 4.044076611819490e-02 4.035440733833207e-02 - 4.026810678092279e-02 4.018186470341873e-02 4.009568143909095e-02 4.000955732298062e-02 3.992349264534106e-02 - 3.983748763759326e-02 3.975154269055037e-02 3.966565820546299e-02 3.957983441649049e-02 3.949407160357907e-02 - 3.940837009289332e-02 3.932273021031552e-02 3.923715221270428e-02 3.915163635394041e-02 3.906618306202975e-02 - 3.898079266950179e-02 3.889546539672872e-02 3.881020154253283e-02 3.872500143016262e-02 3.863986536923758e-02 - 3.855479358615301e-02 3.846978637959592e-02 3.838484417257106e-02 3.829996723484980e-02 3.821515580420295e-02 - 3.813041018714970e-02 3.804573069687705e-02 3.796111761198420e-02 3.787657114752344e-02 3.779209165765486e-02 - 3.770767953120019e-02 3.762333499040284e-02 3.753905829251161e-02 3.745484974542636e-02 3.737070965331050e-02 - 3.728663825939783e-02 3.720263578933122e-02 3.711870264209954e-02 3.703483914671073e-02 3.695104550519348e-02 - 3.686732199057993e-02 3.678366890490292e-02 3.670008654113079e-02 3.661657511036890e-02 3.653313487804630e-02 - 3.644976625150438e-02 3.636646948823320e-02 3.628324479604935e-02 3.620009246605282e-02 3.611701279349350e-02 - 3.603400604041686e-02 3.595107239910939e-02 3.586821219020735e-02 3.578542579441001e-02 3.570271341631447e-02 - 3.562007528519529e-02 3.553751169069794e-02 3.545502291550906e-02 3.537260919186706e-02 3.529027072401183e-02 - 3.520800787214007e-02 3.512582095428173e-02 3.504371015751370e-02 3.496167573051010e-02 3.487971795476078e-02 - 3.479783710598274e-02 3.471603337811516e-02 3.463430699965583e-02 3.455265835796009e-02 3.447108770848941e-02 - 3.438959523450754e-02 3.430818119554624e-02 3.422684586511945e-02 3.414558949343227e-02 3.406441225419257e-02 - 3.398331443038755e-02 3.390229638782512e-02 3.382135832287533e-02 3.374050043789544e-02 3.365972299780525e-02 - 3.357902626321113e-02 3.349841045119794e-02 3.341787574130316e-02 3.333742246166845e-02 3.325705092272905e-02 - 3.317676129391954e-02 3.309655379649919e-02 3.301642868788483e-02 3.293638622159571e-02 3.285642658240021e-02 - 3.277654996949401e-02 3.269675673538998e-02 3.261704712715797e-02 3.253742130855802e-02 3.245787951722746e-02 - 3.237842200259459e-02 3.229904899349424e-02 3.221976065258773e-02 3.214055722659278e-02 3.206143905506719e-02 - 3.198240632628265e-02 3.190345921865954e-02 3.182459797365254e-02 3.174582282841434e-02 3.166713398447476e-02 - 3.158853160183031e-02 3.151001597036992e-02 3.143158738592136e-02 3.135324600516137e-02 3.127499202279022e-02 - 3.119682567104914e-02 3.111874718036912e-02 3.104075672462514e-02 3.096285447683152e-02 3.088504075536903e-02 - 3.080731579690068e-02 3.072967974437236e-02 3.065213281019982e-02 3.057467522135681e-02 3.049730718652442e-02 - 3.042002885157935e-02 3.034284042889533e-02 3.026574223701538e-02 3.018873445294931e-02 3.011181722724549e-02 - 3.003499077734359e-02 2.995825532248887e-02 2.988161104857855e-02 2.980505808548691e-02 2.972859668986686e-02 - 2.965222714891759e-02 2.957594959806504e-02 2.949976420500935e-02 2.942367118266701e-02 2.934767073798247e-02 - 2.927176302885600e-02 2.919594820074298e-02 2.912022654108078e-02 2.904459827654108e-02 2.896906352751058e-02 - 2.889362247668933e-02 2.881827533028623e-02 2.874302228403363e-02 2.866786346167200e-02 2.859279903706265e-02 - 2.851782931145582e-02 2.844295445253672e-02 2.836817458182308e-02 2.829348988995876e-02 2.821890057629359e-02 - 2.814440681221589e-02 2.807000870175516e-02 2.799570646465742e-02 2.792150037589211e-02 2.784739055623231e-02 - 2.777337714638600e-02 2.769946033688953e-02 2.762564030841585e-02 2.755191720229608e-02 2.747829114116882e-02 - 2.740476237631904e-02 2.733133112357609e-02 2.725799748998750e-02 2.718476162641247e-02 2.711162371095654e-02 - 2.703858392279279e-02 2.696564237390275e-02 2.689279920452167e-02 2.682005468428394e-02 2.674740897239565e-02 - 2.667486216835663e-02 2.660241443488607e-02 2.653006594727732e-02 2.645781686062815e-02 2.638566726160998e-02 - 2.631361733435826e-02 2.624166733570949e-02 2.616981737012440e-02 2.609806754771221e-02 2.602641803533937e-02 - 2.595486900051258e-02 2.588342056814261e-02 2.581207282360541e-02 2.574082599292273e-02 2.566968028470076e-02 - 2.559863577456860e-02 2.552769259041796e-02 2.545685089381796e-02 2.538611083889939e-02 2.531547252137675e-02 - 2.524493605061727e-02 2.517450166747065e-02 2.510416952086314e-02 2.503393968681819e-02 2.496381230163825e-02 - 2.489378751859868e-02 2.482386547683629e-02 2.475404624292582e-02 2.468432996264991e-02 2.461471687229032e-02 - 2.454520706873932e-02 2.447580063686782e-02 2.440649771598710e-02 2.433729844997764e-02 2.426820294893469e-02 - 2.419921127712116e-02 2.413032362216684e-02 2.406154017790910e-02 2.399286100816565e-02 2.392428621229386e-02 - 2.385581592554643e-02 2.378745028409909e-02 2.371918936700126e-02 2.365103325041379e-02 2.358298215018098e-02 - 2.351503620457756e-02 2.344719546326070e-02 2.337946004127276e-02 2.331183006962702e-02 2.324430566419196e-02 - 2.317688687789637e-02 2.310957382435168e-02 2.304236671579298e-02 2.297526563441205e-02 2.290827063843882e-02 - 2.284138184722980e-02 2.277459938171355e-02 2.270792333404544e-02 2.264135374860772e-02 2.257489077729924e-02 - 2.250853459738779e-02 2.244228525780410e-02 2.237614283279474e-02 2.231010743473913e-02 2.224417917668724e-02 - 2.217835812285958e-02 2.211264432248330e-02 2.204703795931322e-02 2.198153916317220e-02 2.191614796666107e-02 - 2.185086445220271e-02 2.178568872592581e-02 2.172062089111306e-02 2.165566098457172e-02 2.159080908357505e-02 - 2.152606537366001e-02 2.146142993110024e-02 2.139690279242156e-02 2.133248404619538e-02 2.126817379406035e-02 - 2.120397211607284e-02 2.113987903003668e-02 2.107589465469217e-02 2.101201915594272e-02 2.094825256288664e-02 - 2.088459492231405e-02 2.082104632696408e-02 2.075760686991806e-02 2.069427660166107e-02 2.063105554609518e-02 - 2.056794384972622e-02 2.050494162894281e-02 2.044204890243054e-02 2.037926573000831e-02 2.031659219454509e-02 - 2.025402837653619e-02 2.019157429898307e-02 2.012923000978476e-02 2.006699566765361e-02 2.000487133731908e-02 - 1.994285703240835e-02 1.988095281849638e-02 1.981915877663429e-02 1.975747497137283e-02 1.969590139839621e-02 - 1.963443814246610e-02 1.957308535571834e-02 1.951184305296579e-02 1.945071125524195e-02 1.938969003470093e-02 - 1.932877945979973e-02 1.926797956444602e-02 1.920729035294688e-02 1.914671194302782e-02 1.908624443873623e-02 - 1.902588783798898e-02 1.896564217312377e-02 1.890550750534374e-02 1.884548390173623e-02 1.878557136933607e-02 - 1.872576992282937e-02 1.866607969751645e-02 1.860650074902563e-02 1.854703306920867e-02 1.848767670108510e-02 - 1.842843170242723e-02 1.836929811895166e-02 1.831027593341436e-02 1.825136519709141e-02 1.819256603897189e-02 - 1.813387846842225e-02 1.807530248298604e-02 1.801683812530333e-02 1.795848544988909e-02 1.790024447932676e-02 - 1.784211518704799e-02 1.778409766075985e-02 1.772619199567190e-02 1.766839817113224e-02 1.761071619932593e-02 - 1.755314612276550e-02 1.749568797940397e-02 1.743834176385679e-02 1.738110747126647e-02 1.732398520795971e-02 - 1.726697501687009e-02 1.721007686976607e-02 1.715329079150987e-02 1.709661681774517e-02 1.704005496995066e-02 - 1.698360522175755e-02 1.692726759648597e-02 1.687104219632033e-02 1.681492902190890e-02 1.675892805218375e-02 - 1.670303930866012e-02 1.664726282100333e-02 1.659159859573434e-02 1.653604659349284e-02 1.648060687061485e-02 - 1.642527950537791e-02 1.637006446137386e-02 1.631496172845883e-02 1.625997133117372e-02 1.620509328829045e-02 - 1.615032758053278e-02 1.609567417924041e-02 1.604113316306734e-02 1.598670456411958e-02 1.593238833576510e-02 - 1.587818448257840e-02 1.582409302120838e-02 1.577011395254391e-02 1.571624723647299e-02 1.566249287063067e-02 - 1.560885093721684e-02 1.555532142372995e-02 1.550190428691725e-02 1.544859953345741e-02 1.539540716895692e-02 - 1.534232718045593e-02 1.528935952298772e-02 1.523650422043375e-02 1.518376132655854e-02 1.513113080051426e-02 - 1.507861261080395e-02 1.502620675643192e-02 1.497391324399307e-02 1.492173204313831e-02 1.486966309840608e-02 - 1.481770646058926e-02 1.476586215324725e-02 1.471413011485714e-02 1.466251032223325e-02 1.461100277337298e-02 - 1.455960746411957e-02 1.450832433725036e-02 1.445715335761371e-02 1.440609458945226e-02 1.435514801148310e-02 - 1.430431355790390e-02 1.425359121341204e-02 1.420298097105418e-02 1.415248280845771e-02 1.410209665546564e-02 - 1.405182250942155e-02 1.400166041623447e-02 1.395161031395394e-02 1.390167215017196e-02 1.385184591619880e-02 - 1.380213159317199e-02 1.375252913341631e-02 1.370303846818604e-02 1.365365962256361e-02 1.360439260851619e-02 - 1.355523734898775e-02 1.350619380184460e-02 1.345726194685572e-02 1.340844175819677e-02 1.335973317080697e-02 - 1.331113613029375e-02 1.326265067233158e-02 1.321427676765317e-02 1.316601433678336e-02 1.311786334248669e-02 - 1.306982375879771e-02 1.302189555021592e-02 1.297407863461756e-02 1.292637298076667e-02 1.287877861455418e-02 - 1.283129547339001e-02 1.278392348592105e-02 1.273666261347862e-02 1.268951282495219e-02 1.264247406704279e-02 - 1.259554625321822e-02 1.254872937642621e-02 1.250202343522368e-02 1.245542834900525e-02 1.240894405313941e-02 - 1.236257050462080e-02 1.231630767029411e-02 1.227015547343941e-02 1.222411383176151e-02 1.217818275998809e-02 - 1.213236222220244e-02 1.208665212384520e-02 1.204105241018576e-02 1.199556303854240e-02 1.195018395838791e-02 - 1.190491507365890e-02 1.185975632952753e-02 1.181470773836339e-02 1.176976922480089e-02 1.172494069835479e-02 - 1.168022211004454e-02 1.163561340968965e-02 1.159111452823667e-02 1.154672536811994e-02 1.150244589927961e-02 - 1.145827610670764e-02 1.141421589534856e-02 1.137026518661645e-02 1.132642392502224e-02 1.128269205281729e-02 - 1.123906948383837e-02 1.119555612518262e-02 1.115215196588227e-02 1.110885695891592e-02 1.106567099667937e-02 - 1.102259400831050e-02 1.097962593601935e-02 1.093676671505125e-02 1.089401623812122e-02 1.085137442757511e-02 - 1.080884127911701e-02 1.076641671182367e-02 1.072410061923310e-02 1.068189293399554e-02 1.063979359231152e-02 - 1.059780251428707e-02 1.055591958418482e-02 1.051414475108346e-02 1.047247799305691e-02 1.043091920126454e-02 - 1.038946827795377e-02 1.034812515386981e-02 1.030688975996647e-02 1.026576200007446e-02 1.022474176231751e-02 - 1.018382901647819e-02 1.014302370834395e-02 1.010232571551464e-02 1.006173495028295e-02 1.002125134058496e-02 - 9.980874808217161e-03 9.940605238090998e-03 9.900442533803457e-03 9.860386673211879e-03 9.820437566105797e-03 - 9.780595089730604e-03 9.740859166502601e-03 9.701229717604148e-03 9.661706648486619e-03 9.622289837555094e-03 - 9.582979211676392e-03 9.543774731762645e-03 9.504676285752028e-03 9.465683761437204e-03 9.426797070527869e-03 - 9.388016130061547e-03 9.349340837763126e-03 9.310771071700266e-03 9.272306774287777e-03 9.233947879847340e-03 - 9.195694263233465e-03 9.157545820041815e-03 9.119502462398593e-03 9.081564104605406e-03 9.043730620594144e-03 - 9.006001891771507e-03 8.968377884117109e-03 8.930858503326412e-03 8.893443610144467e-03 8.856133108771761e-03 - 8.818926910576046e-03 8.781824915337199e-03 8.744826984807866e-03 8.707933026764444e-03 8.671142997995955e-03 - 8.634456771198624e-03 8.597874217863410e-03 8.561395247729468e-03 8.525019762147885e-03 8.488747643810387e-03 - 8.452578758551675e-03 8.416513035074836e-03 8.380550402064440e-03 8.344690718755845e-03 8.308933866062409e-03 - 8.273279745485652e-03 8.237728259206089e-03 8.202279277607399e-03 8.166932668725525e-03 8.131688373197346e-03 - 8.096546291813443e-03 8.061506280849479e-03 8.026568229604077e-03 7.991732033790425e-03 7.956997581179438e-03 - 7.922364735477982e-03 7.887833385768220e-03 7.853403460644042e-03 7.819074838170454e-03 7.784847385209607e-03 - 7.750720988388416e-03 7.716695538073770e-03 7.682770912288046e-03 7.648946965667346e-03 7.615223607644973e-03 - 7.581600758648286e-03 7.548078272068747e-03 7.514656018308716e-03 7.481333888256649e-03 7.448111767084748e-03 - 7.414989518558892e-03 7.381967002509678e-03 7.349044141005179e-03 7.316220829119200e-03 7.283496916229069e-03 - 7.250872276568530e-03 7.218346796125786e-03 7.185920358959778e-03 7.153592811909379e-03 7.121364026156801e-03 - 7.089233934032213e-03 7.057202401526107e-03 7.025269274784423e-03 6.993434437254338e-03 6.961697770726437e-03 - 6.930059144137623e-03 6.898518406074085e-03 6.867075445461445e-03 6.835730169890301e-03 6.804482436531050e-03 - 6.773332103630715e-03 6.742279042830752e-03 6.711323134446215e-03 6.680464239400761e-03 6.649702204950062e-03 - 6.619036937093537e-03 6.588468325547939e-03 6.557996212108587e-03 6.527620458965777e-03 6.497340941897300e-03 - 6.467157538628341e-03 6.437070090473932e-03 6.407078453159759e-03 6.377182548096138e-03 6.347382238649846e-03 - 6.317677359750170e-03 6.288067782822399e-03 6.258553381641384e-03 6.229134019133821e-03 6.199809533909972e-03 - 6.170579803332374e-03 6.141444731866248e-03 6.112404164377095e-03 6.083457948651627e-03 6.054605954063168e-03 - 6.025848047899531e-03 5.997184082520315e-03 5.968613898555075e-03 5.940137388272029e-03 5.911754435973001e-03 - 5.883464876798197e-03 5.855268565478542e-03 5.827165369238958e-03 5.799155152943781e-03 5.771237757858197e-03 - 5.743413031370796e-03 5.715680873423079e-03 5.688041146137241e-03 5.660493683352233e-03 5.633038344713090e-03 - 5.605674994693767e-03 5.578403490874967e-03 5.551223666073857e-03 5.524135383482108e-03 5.497138538622371e-03 - 5.470232973711985e-03 5.443418527865922e-03 5.416695061766649e-03 5.390062436684385e-03 5.363520500801443e-03 - 5.337069085950208e-03 5.310708070645691e-03 5.284437334686721e-03 5.258256709167105e-03 5.232166039984466e-03 - 5.206165186351173e-03 5.180254006079314e-03 5.154432337116667e-03 5.128700017566677e-03 5.103056934758595e-03 - 5.077502948400768e-03 5.052037887552509e-03 5.026661602896529e-03 5.001373950974750e-03 4.976174783805283e-03 - 4.951063931174483e-03 4.926041244835856e-03 4.901106610871052e-03 4.876259869861805e-03 4.851500854152867e-03 - 4.826829416485723e-03 4.802245411238555e-03 4.777748682676776e-03 4.753339057595283e-03 4.729016402174706e-03 - 4.704780591018902e-03 4.680631452386119e-03 4.656568824906738e-03 4.632592561043116e-03 4.608702512089780e-03 - 4.584898512841469e-03 4.561180394112987e-03 4.537548032865621e-03 4.514001286180084e-03 4.490539978046344e-03 - 4.467163952568486e-03 4.443873060291688e-03 4.420667147623122e-03 4.397546041481102e-03 4.374509584352294e-03 - 4.351557654555007e-03 4.328690090868674e-03 4.305906719484884e-03 4.283207387010587e-03 4.260591942258349e-03 - 4.238060226010617e-03 4.215612060889534e-03 4.193247302342208e-03 4.170965820265097e-03 4.148767441443334e-03 - 4.126651998168965e-03 4.104619336614093e-03 4.082669303050944e-03 4.060801730082235e-03 4.039016442831475e-03 - 4.017313308452854e-03 3.995692181792875e-03 3.974152883344686e-03 3.952695251163741e-03 3.931319130911208e-03 - 3.910024364917125e-03 3.888810777810686e-03 3.867678204037116e-03 3.846626514691173e-03 3.825655547709963e-03 - 3.804765124734014e-03 3.783955087456414e-03 3.763225279741349e-03 3.742575538839424e-03 3.722005684569956e-03 - 3.701515563829318e-03 3.681105042529648e-03 3.660773945892437e-03 3.640522100973796e-03 3.620349349516141e-03 - 3.600255533338096e-03 3.580240483202974e-03 3.560304020332013e-03 3.540446002992503e-03 3.520666284206718e-03 - 3.500964682823155e-03 3.481341031384374e-03 3.461795171007476e-03 3.442326941040924e-03 3.422936165061433e-03 - 3.403622671201535e-03 3.384386323473485e-03 3.365226959961049e-03 3.346144399498565e-03 3.327138478378434e-03 - 3.308209036536853e-03 3.289355909461925e-03 3.270578915351533e-03 3.251877893639187e-03 3.233252706195778e-03 - 3.214703178029928e-03 3.196229132118811e-03 3.177830406368320e-03 3.159506839403438e-03 3.141258260810600e-03 - 3.123084488811596e-03 3.104985374197366e-03 3.086960768611876e-03 3.069010490077185e-03 3.051134366997480e-03 - 3.033332237019262e-03 3.015603936903380e-03 2.997949290147841e-03 2.980368120588831e-03 2.962860285290425e-03 - 2.945425622240710e-03 2.928063948810786e-03 2.910775098113858e-03 2.893558906982335e-03 2.876415208617919e-03 - 2.859343821344898e-03 2.842344578930633e-03 2.825417338731532e-03 2.808561926446875e-03 2.791778162629514e-03 - 2.775065882662152e-03 2.758424922052246e-03 2.741855109318431e-03 2.725356262118107e-03 2.708928224810950e-03 - 2.692570847204586e-03 2.676283947708203e-03 2.660067352018658e-03 2.643920895408666e-03 2.627844412630983e-03 - 2.611837727127577e-03 2.595900659591014e-03 2.580033062057212e-03 2.564234773200918e-03 2.548505609580814e-03 - 2.532845401329118e-03 2.517253983314282e-03 2.501731188088862e-03 2.486276834298587e-03 2.470890751027053e-03 - 2.455572791828030e-03 2.440322784214469e-03 2.425140547489158e-03 2.410025914370114e-03 2.394978718743150e-03 - 2.379998789312335e-03 2.365085943631231e-03 2.350240020749269e-03 2.335460868942443e-03 2.320748308349550e-03 - 2.306102163022297e-03 2.291522266200105e-03 2.277008450857895e-03 2.262560541519312e-03 2.248178358404482e-03 - 2.233861748393963e-03 2.219610550590767e-03 2.205424582540762e-03 2.191303672653564e-03 2.177247654150935e-03 - 2.163256358437406e-03 2.149329606085116e-03 2.135467224025938e-03 2.121669062135428e-03 2.107934949596006e-03 - 2.094264705479671e-03 2.080658161247730e-03 2.067115150052171e-03 2.053635501035216e-03 2.040219032033609e-03 - 2.026865578574763e-03 2.013574988607888e-03 2.000347084189316e-03 1.987181688126059e-03 1.974078632294973e-03 - 1.961037750159034e-03 1.948058867783843e-03 1.935141804192390e-03 1.922286403096425e-03 1.909492504980594e-03 - 1.896759928265229e-03 1.884088500763132e-03 1.871478055631251e-03 1.858928424089599e-03 1.846439428400912e-03 - 1.834010894228015e-03 1.821642669213327e-03 1.809334584628213e-03 1.797086460037203e-03 1.784898126770644e-03 - 1.772769417737367e-03 1.760700162615002e-03 1.748690181778845e-03 1.736739308394668e-03 1.724847388831493e-03 - 1.713014248130287e-03 1.701239709792772e-03 1.689523605558227e-03 1.677865768960374e-03 1.666266027776910e-03 - 1.654724201747776e-03 1.643240132443950e-03 1.631813662093462e-03 1.620444610863358e-03 1.609132806416696e-03 - 1.597878082462674e-03 1.586680271167799e-03 1.575539197124769e-03 1.564454685806544e-03 1.553426583192850e-03 - 1.542454723186195e-03 1.531538926942232e-03 1.520679025889417e-03 1.509874853790604e-03 1.499126242122267e-03 - 1.488433013507451e-03 1.477795000037597e-03 1.467212048115432e-03 1.456683985464255e-03 1.446210636719452e-03 - 1.435791835117153e-03 1.425427414393694e-03 1.415117204211151e-03 1.404861027594662e-03 1.394658724273689e-03 - 1.384510137356095e-03 1.374415090575271e-03 1.364373412382042e-03 1.354384937246215e-03 1.344449499301808e-03 - 1.334566925970926e-03 1.324737043332181e-03 1.314959696939330e-03 1.305234723823342e-03 1.295561947265019e-03 - 1.285941199528206e-03 1.276372315963847e-03 1.266855130463658e-03 1.257389468322312e-03 1.247975161599065e-03 - 1.238612057815808e-03 1.229299987951490e-03 1.220038778115428e-03 1.210828263449681e-03 1.201668279419893e-03 - 1.192558658328712e-03 1.183499226491516e-03 1.174489822883548e-03 1.165530291825810e-03 1.156620461345326e-03 - 1.147760161971411e-03 1.138949229776032e-03 1.130187500878873e-03 1.121474806129454e-03 1.112810973708310e-03 - 1.104195848566657e-03 1.095629271185936e-03 1.087111069073448e-03 1.078641075658101e-03 1.070219127753748e-03 - 1.061845062287274e-03 1.053518708913237e-03 1.045239900848634e-03 1.037008485418972e-03 1.028824298155823e-03 - 1.020687168641753e-03 1.012596933141099e-03 1.004553429894111e-03 9.965564952721074e-04 9.886059579764911e-04 - 9.807016577383673e-04 9.728434421263681e-04 9.650311428619217e-04 9.572645925441391e-04 9.495436296868831e-04 - 9.418680934992058e-04 9.342378189983833e-04 9.266526374013966e-04 9.191123940951565e-04 9.116169327210938e-04 - 9.041660846048507e-04 8.967596865276394e-04 8.893975784458786e-04 8.820795994475233e-04 8.748055834052338e-04 - 8.675753662309574e-04 8.603887967412885e-04 8.532457145816050e-04 8.461459528881801e-04 8.390893515597134e-04 - 8.320757512954288e-04 8.251049910410551e-04 8.181769052102455e-04 8.112913354889369e-04 8.044481307476467e-04 - 7.976471276304203e-04 7.908881626723219e-04 7.841710779271092e-04 7.774957151422038e-04 7.708619131557394e-04 - 7.642695077220146e-04 7.577183458379644e-04 7.512082748417916e-04 7.447391309361296e-04 7.383107537219758e-04 - 7.319229861740803e-04 7.255756719189899e-04 7.192686493738265e-04 7.130017570250109e-04 7.067748463319056e-04 - 7.005877618919097e-04 6.944403408515077e-04 6.883324261093659e-04 6.822638623160529e-04 6.762344932684062e-04 - 6.702441573916524e-04 6.642926986443232e-04 6.583799694858947e-04 6.525058122102392e-04 6.466700672293728e-04 - 6.408725793807691e-04 6.351131947715911e-04 6.293917574305099e-04 6.237081070877600e-04 6.180620932909059e-04 - 6.124535677685099e-04 6.068823714677426e-04 6.013483481700967e-04 5.958513451670206e-04 5.903912096703989e-04 - 5.849677853780454e-04 5.795809154020751e-04 5.742304534677881e-04 5.689162489783443e-04 5.636381442526738e-04 - 5.583959863498279e-04 5.531896240506697e-04 5.480189055622431e-04 5.428836748799696e-04 5.377837797240800e-04 - 5.327190759830209e-04 5.276894110958636e-04 5.226946300477827e-04 5.177345825024617e-04 5.128091188465486e-04 - 5.079180879528710e-04 5.030613351067660e-04 4.982387130290541e-04 4.934500776624026e-04 4.886952758062522e-04 - 4.839741558713263e-04 4.792865695826084e-04 4.746323688630657e-04 4.700114029595036e-04 4.654235198613055e-04 - 4.608685766627245e-04 4.563464280591107e-04 4.518569219186994e-04 4.473999099762359e-04 4.429752457691277e-04 - 4.385827824909558e-04 4.342223700107388e-04 4.298938604566902e-04 4.255971135329090e-04 4.213319826090788e-04 - 4.170983180859963e-04 4.128959744299958e-04 4.087248069577171e-04 4.045846700338900e-04 4.004754147907325e-04 - 3.963968979642262e-04 3.923489801919561e-04 3.883315144592717e-04 3.843443544269981e-04 3.803873568608614e-04 - 3.764603788261386e-04 3.725632754784107e-04 3.686959004384349e-04 3.648581147870281e-04 3.610497787686854e-04 - 3.572707463878945e-04 3.535208745539621e-04 3.498000220657478e-04 3.461080477383748e-04 3.424448076363575e-04 - 3.388101589386426e-04 3.352039657815740e-04 3.316260877532703e-04 3.280763812137888e-04 3.245547060139738e-04 - 3.210609229167205e-04 3.175948921405597e-04 3.141564711604799e-04 3.107455215081982e-04 3.073619088757455e-04 - 3.040054927848886e-04 3.006761327105527e-04 2.973736909925681e-04 2.940980303881470e-04 2.908490123115160e-04 - 2.876264965105581e-04 2.844303488008553e-04 2.812604353029198e-04 2.781166164989417e-04 2.749987551423296e-04 - 2.719067158817455e-04 2.688403633742989e-04 2.657995602462465e-04 2.627841695326067e-04 2.597940603791381e-04 - 2.568290988582687e-04 2.538891477672460e-04 2.509740728301346e-04 2.480837407612393e-04 2.452180180501483e-04 - 2.423767689150773e-04 2.395598604007145e-04 2.367671637065971e-04 2.339985452156380e-04 2.312538707417314e-04 - 2.285330086975239e-04 2.258358279521211e-04 2.231621965330517e-04 2.205119809474630e-04 2.178850522930381e-04 - 2.152812827957872e-04 2.127005401044592e-04 2.101426932429596e-04 2.076076129630843e-04 2.050951703707553e-04 - 2.026052350574154e-04 2.001376764695323e-04 1.976923692963255e-04 1.952691863631026e-04 1.928679973631469e-04 - 1.904886744667185e-04 1.881310908124045e-04 1.857951194428946e-04 1.834806317739651e-04 1.811875010647571e-04 - 1.789156043640377e-04 1.766648152326652e-04 1.744350063601967e-04 1.722260526922104e-04 1.700378296945535e-04 - 1.678702123432160e-04 1.657230742438847e-04 1.635962925697728e-04 1.614897461072756e-04 1.594033097074569e-04 - 1.573368592094730e-04 1.552902721810668e-04 1.532634264532060e-04 1.512561988693490e-04 1.492684659352835e-04 - 1.473001083560244e-04 1.453510059716440e-04 1.434210358729406e-04 1.415100771164913e-04 1.396180097223186e-04 - 1.377447137267307e-04 1.358900680130841e-04 1.340539526362652e-04 1.322362510498252e-04 1.304368442346035e-04 - 1.286556121626104e-04 1.268924368411170e-04 1.251472007379926e-04 1.234197860690376e-04 1.217100740639766e-04 - 1.200179485071157e-04 1.183432949752447e-04 1.166859960758634e-04 1.150459349477667e-04 1.134229962637926e-04 - 1.118170649981152e-04 1.102280255615328e-04 1.086557620076939e-04 1.071001616642248e-04 1.055611117192228e-04 - 1.040384970703678e-04 1.025322040262462e-04 1.010421198490596e-04 9.956813202096472e-05 9.811012722455996e-05 - 9.666799283658755e-05 9.524161921027426e-05 9.383089505710078e-05 9.243570803818307e-05 9.105594759252440e-05 - 8.969150364397068e-05 8.834226604286881e-05 8.700812397260034e-05 8.568896841419017e-05 8.438469212608002e-05 - 8.309518568825200e-05 8.182033994906239e-05 8.056004718218619e-05 7.931419998170841e-05 7.808269064296404e-05 - 7.686541112857092e-05 7.566225594198306e-05 7.447311991364301e-05 7.329789600792314e-05 7.213647827366786e-05 - 7.098876170896106e-05 6.985464163907488e-05 6.873401282606521e-05 6.762677039259616e-05 6.653281205307769e-05 - 6.545203459530543e-05 6.438433381335806e-05 6.332960688869456e-05 6.228775159650499e-05 6.125866586213212e-05 - 6.024224709312662e-05 5.923839394811549e-05 5.824700680510711e-05 5.726798458845817e-05 5.630122626966778e-05 - 5.534663202079377e-05 5.440410243697520e-05 5.347353805513213e-05 5.255483915897720e-05 5.164790790372327e-05 - 5.075264706713765e-05 4.986895809670387e-05 4.899674321102013e-05 4.813590548272275e-05 4.728634834520723e-05 - 4.644797500988253e-05 4.562068892036128e-05 4.480439551815946e-05 4.399899988301035e-05 4.320440633696577e-05 - 4.242052030402665e-05 4.164724778526068e-05 4.088449502887978e-05 4.013216802138054e-05 3.939017361734100e-05 - 3.865842020891389e-05 3.793681530287127e-05 3.722526637683801e-05 3.652368195642655e-05 3.583197100166348e-05 - 3.515004257550265e-05 3.447780563338777e-05 3.381517049939420e-05 3.316204825033269e-05 3.251834908257212e-05 - 3.188398376275541e-05 3.125886384349450e-05 3.064290126992314e-05 3.003600797392098e-05 2.943809607683111e-05 - 2.884907925556903e-05 2.826887119646782e-05 2.769738505988399e-05 2.713453488302094e-05 2.658023526748751e-05 - 2.603440114263312e-05 2.549694738792051e-05 2.496778949423694e-05 2.444684425976710e-05 2.393402805764408e-05 - 2.342925723948219e-05 2.293244905822871e-05 2.244352120797989e-05 2.196239159983278e-05 2.148897818423003e-05 - 2.102319990982268e-05 2.056497650699234e-05 2.011422722229805e-05 1.967087173846936e-05 1.923483045310688e-05 - 1.880602417859793e-05 1.838437386840237e-05 1.796980069033951e-05 1.756222699777835e-05 1.716157539169325e-05 - 1.676776819323897e-05 1.638072842752046e-05 1.600037965967140e-05 1.562664583506045e-05 1.525945101785764e-05 - 1.489871974108943e-05 1.454437762041471e-05 1.419635018600421e-05 1.385456300630342e-05 1.351894241351905e-05 - 1.318941519258516e-05 1.286590843459537e-05 1.254834939298960e-05 1.223666606495489e-05 1.193078719950152e-05 - 1.163064137727749e-05 1.133615754527981e-05 1.104726530816775e-05 1.076389469662666e-05 1.048597599093073e-05 - 1.021343974753131e-05 9.946217419267380e-06 9.684240838620889e-06 9.427441790773100e-06 9.175752643853506e-06 - 8.929106280098344e-06 8.687435997194528e-06 8.450675338936148e-06 8.218758257424963e-06 7.991619584870982e-06 - 7.769194298227330e-06 7.551417507621627e-06 7.338224987041431e-06 7.129552955942858e-06 6.925337997222138e-06 - 6.725516977155444e-06 6.530027335862672e-06 6.338807194551445e-06 6.151794769434223e-06 5.968928615355085e-06 - 5.790147878391894e-06 5.615392155261267e-06 5.444601365246586e-06 5.277715758699128e-06 5.114676291438329e-06 - 4.955424365336747e-06 4.799901525655197e-06 4.648049820836300e-06 4.499811793985402e-06 4.355130438087899e-06 - 4.213949069835453e-06 4.076211399540344e-06 3.941861865039729e-06 3.810845196499976e-06 3.683106361660463e-06 - 3.558590910585118e-06 3.437244835818923e-06 3.319014541070219e-06 3.203846795533912e-06 3.091688852089737e-06 - 2.982488579295818e-06 2.876194109656037e-06 2.772753925582794e-06 2.672117063800105e-06 2.574233014808049e-06 - 2.479051643033932e-06 2.386523210361943e-06 2.296598552297165e-06 2.209228971591383e-06 2.124366069775506e-06 - 2.041961906232304e-06 1.961969019732135e-06 1.884340423438541e-06 1.809029507182080e-06 1.735990071613592e-06 - 1.665176534356502e-06 1.596543687803830e-06 1.530046658503296e-06 1.465641105678908e-06 1.403283128309336e-06 - 1.342929271825179e-06 1.284536503035511e-06 1.228062233226246e-06 1.173464436795038e-06 1.120701460082181e-06 - 1.069732028902882e-06 1.020515399241352e-06 9.730112822753146e-07 9.271798002921477e-07 8.829815278752155e-07 - 8.403775374680640e-07 7.993293716485992e-07 7.597989809176624e-07 7.217487560416926e-07 6.851415619710593e-07 - 6.499407524191172e-07 6.161100929136179e-07 5.836137918783888e-07 5.524166028233452e-07 5.224836968385216e-07 - 4.937806609639881e-07 4.662735849361845e-07 4.399289991547822e-07 4.147139110260500e-07 3.905957813609555e-07 - 3.675425084859321e-07 3.455225231396512e-07 3.245046871736890e-07 3.044582778536548e-07 2.853530928283095e-07 - 2.671593859185241e-07 2.498478511400059e-07 2.333896726605378e-07 2.177564985206194e-07 2.029204500538344e-07 - 1.888541210793108e-07 1.755305458522738e-07 1.629232393506973e-07 1.510062144201093e-07 1.397539174372155e-07 - 1.291412703741045e-07 1.191437050672961e-07 1.097370923617762e-07 1.008977778162274e-07 9.260259669902208e-08 - 8.482883141984319e-08 7.755426670738778e-08 7.075715683240311e-08 6.441620467100832e-08 5.851063608240125e-08 - 5.302013495440350e-08 4.792483459927075e-08 4.320538955913144e-08 3.884291294265582e-08 3.481898425658018e-08 - 3.111569527451850e-08 2.771559342817648e-08 2.460171067137196e-08 2.175758348333717e-08 1.916719757773861e-08 - 1.681503457183268e-08 1.468607978947252e-08 1.276576812429566e-08 1.104003874048358e-08 9.495328649625366e-09 - 8.118528715645258e-09 6.897042498203040e-09 5.818760232281117e-09 4.872032311209139e-09 4.045732447740840e-09 - 3.329210679517489e-09 2.712284881132093e-09 2.185301687016959e-09 1.739076161987666e-09 1.364901589086205e-09 - 1.054599065845252e-09 8.004535320102697e-10 5.952414597054672e-10 4.322622496028902e-10 3.052766304104823e-10 - 2.085502003918036e-10 1.368642901349301e-10 8.546164059834664e-11 5.010215808832263e-11 2.705311520847365e-11 - 1.304599438344934e-11 5.339090781311160e-12 1.692041320615927e-12 3.321208355096226e-13 6.781366937015517e-15 diff --git a/examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy deleted file mode 100644 index 3af058baf7..0000000000 --- a/examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy +++ /dev/null @@ -1,6006 +0,0 @@ -Cobalt EAM potential: G. P. Purja Pun and Y. Mishin, Phys. Rev. B xx, 004100 (2012) (in press) -Data below r = 1.5 A is extrapolated. F(Rho) data not extrapolated. -Created on Wed Sep 26 17:29:54 2012 -1 Co -10000 4.788742913000000e-04 10000 6.499539000000001e-04 6.499539000000000e+00 -27 5.893320000000000e+01 2.507000000000000e+00 hcp - -1.680303080000000e-02 -1.879913964471138e-02 -2.091739081044659e-02 -2.303564197615629e-02 -2.503175082079116e-02 - -2.681996612041136e-02 -2.846010103933253e-02 -3.003179469400266e-02 -3.154842562124295e-02 -3.300931506782415e-02 - -3.442381570000001e-02 -3.580233366714632e-02 -3.714945763166951e-02 -3.846832763111274e-02 -3.976210669053554e-02 - -4.103374908125148e-02 -4.228535107207521e-02 -4.351872320172212e-02 -4.473539109100971e-02 -4.593674531110434e-02 - -4.712392115246503e-02 -4.829795108118731e-02 -4.945971154662068e-02 -5.061001094949964e-02 -5.174954151284258e-02 - -5.287894548568519e-02 -5.399878139884967e-02 -5.510957102742049e-02 -5.621177284174523e-02 -5.730581735016625e-02 - -5.839208651773948e-02 -5.947094067448531e-02 -6.054270215356945e-02 -6.160767623453070e-02 -6.266613797925552e-02 - -6.371834880435967e-02 -6.476454576302854e-02 -6.580495483863194e-02 -6.683978209870683e-02 -6.786922452279202e-02 - -6.889346265426707e-02 -6.991266949659354e-02 -7.092700432972064e-02 -7.193662011890395e-02 -7.294165829413661e-02 - -7.394225494811188e-02 -7.493853635958479e-02 -7.593062425993033e-02 -7.691863200494162e-02 -7.790266905197404e-02 - -7.888283764021425e-02 -7.985923664258643e-02 -8.083195868513401e-02 -8.180109346997461e-02 -8.276672525040257e-02 - -8.372893572415932e-02 -8.468780181559693e-02 -8.564339820511864e-02 -8.659579537072190e-02 -8.754506181558984e-02 - -8.849126234605453e-02 -8.943446001410092e-02 -9.037471455117625e-02 -9.131208412841478e-02 -9.224662399623559e-02 - -9.317838801321032e-02 -9.410742739123597e-02 -9.503379209498646e-02 -9.595752974691800e-02 -9.687868684755546e-02 - -9.779730775191570e-02 -9.871343580120046e-02 -9.962711242685958e-02 -1.005383781439554e-01 -1.014472717117523e-01 - -1.023538310651938e-01 -1.032580925977369e-01 -1.041600919387366e-01 -1.050598632026273e-01 -1.059574398208095e-01 - -1.068528540074704e-01 -1.077461373458066e-01 -1.086373201122683e-01 -1.095264320028559e-01 -1.104135016985198e-01 - -1.112985573626335e-01 -1.121816261033156e-01 -1.130627345294291e-01 -1.139419083080692e-01 -1.148191726662944e-01 - -1.156945520127823e-01 -1.165680703406650e-01 -1.174397507992727e-01 -1.183096161572101e-01 -1.191776885039839e-01 - -1.200439895800373e-01 -1.209085404086571e-01 -1.217713616730546e-01 -1.226324734132936e-01 -1.234918953788508e-01 - -1.243496468000000e-01 -1.252057466264230e-01 -1.260602132046348e-01 -1.269130646065986e-01 -1.277643184092350e-01 - -1.286139919512837e-01 -1.294621021138015e-01 -1.303086655551642e-01 -1.311536985007052e-01 -1.319972169590798e-01 - -1.328392365052704e-01 -1.336797725161469e-01 -1.345188400098036e-01 -1.353564538215464e-01 -1.361926284143060e-01 - -1.370273780803152e-01 -1.378607168013910e-01 -1.386926583917836e-01 -1.395232163058920e-01 -1.403524038515728e-01 - -1.411802341103638e-01 -1.420067200256853e-01 -1.428318742148069e-01 -1.436557091565456e-01 -1.444782371020595e-01 - -1.452994701862315e-01 -1.461194203065015e-01 -1.469380992388567e-01 -1.477555185109162e-01 -1.485716895480879e-01 - -1.493866236153044e-01 -1.502003318703277e-01 -1.510128252027127e-01 -1.518241144121522e-01 -1.526342102070998e-01 - -1.534431232126203e-01 -1.542508638114616e-01 -1.550574422930448e-01 -1.558628688157988e-01 -1.566671534698807e-01 - -1.574703062033520e-01 -1.582723368973844e-01 -1.590732553076882e-01 -1.598730711132973e-01 -1.606717938120008e-01 - -1.614694328459875e-01 -1.622659976162905e-01 -1.630614974730487e-01 -1.638559416039789e-01 -1.646493391351259e-01 - -1.654416991082678e-01 -1.662330305252601e-01 -1.670233423125346e-01 -1.678126433512354e-01 -1.686009424167802e-01 - -1.693882482431861e-01 -1.701745695045948e-01 -1.709599148401449e-01 -1.717442928088396e-01 -1.725277119385885e-01 - -1.733101807130639e-01 -1.740917075837066e-01 -1.748723009172683e-01 -1.756519690655456e-01 -1.764307204052008e-01 - -1.772085632840185e-01 -1.779855059094047e-01 -1.787615564692287e-01 -1.795367232135896e-01 -1.803110143830451e-01 - -1.810844381177561e-01 -1.818570025406103e-01 -1.826287158057983e-01 -1.833995860626770e-01 -1.841696214099643e-01 - -1.849388299454831e-01 -1.857072198141128e-01 -1.864747991526175e-01 -1.872415760182443e-01 -1.880075584641173e-01 - -1.887727546063884e-01 -1.895371725773110e-01 -1.903008205105196e-01 -1.910637065418589e-01 -1.918258388146347e-01 - -1.925872254807121e-01 -1.933478747187342e-01 -1.941077947209150e-01 -1.948669937069724e-01 -1.956254799127480e-01 - -1.963832616110719e-01 -1.971403470967068e-01 -1.978967447151567e-01 -1.986524628291068e-01 -1.994075098192274e-01 - -2.001618941005484e-01 -2.009156242075518e-01 -2.016687086990372e-01 -2.024211561116226e-01 -2.031729750127928e-01 - -2.039241741156804e-01 -2.046747621691974e-01 -2.054247479197256e-01 -2.061741401521784e-01 -2.069229478081280e-01 - -2.076711798806499e-01 -2.084188454121736e-01 -2.091659534755806e-01 -2.099125132162076e-01 -2.106585338443872e-01 - -2.114040247579823e-01 -2.121489953974893e-01 -2.128934551864067e-01 -2.136374136027109e-01 -2.143808803592873e-01 - -2.151238652468154e-01 -2.158663781322411e-01 -2.166084289346303e-01 -2.173500277052638e-01 -2.180911845646947e-01 - -2.188319097783510e-01 -2.195722136949507e-01 -2.203121068514981e-01 -2.210515998518519e-01 -2.217907033790026e-01 - -2.225294282016381e-01 -2.232677853521022e-01 -2.240057859531163e-01 -2.247434412252567e-01 -2.254807624804862e-01 - -2.262177612984613e-01 -2.269544493586047e-01 -2.276908384717110e-01 -2.284269405581227e-01 -2.291627678450005e-01 - -2.298983326532392e-01 -2.306336473718499e-01 -2.313687245044682e-01 -2.321035769451089e-01 -2.328382177230701e-01 - -2.335726600184018e-01 -2.343069171312917e-01 -2.350410026917230e-01 -2.357749304696442e-01 -2.365087144650665e-01 - -2.372423688046511e-01 -2.379759078915950e-01 -2.387093462817347e-01 -2.394426988649284e-01 -2.401759806938325e-01 - -2.409092071382775e-01 -2.416423937275558e-01 -2.423755563116356e-01 -2.431087109081851e-01 -2.438418738849959e-01 - -2.445750618045980e-01 -2.453082916583512e-01 -2.460415806101058e-01 -2.467749460848467e-01 -2.475084057095742e-01 - -2.482419776582159e-01 -2.489756803241430e-01 -2.497095324315720e-01 -2.504435529132133e-01 -2.511777612049070e-01 - -2.519121769824342e-01 -2.526468203782122e-01 -2.533817117688987e-01 -2.541168720514789e-01 -2.548523223627430e-01 - -2.555880842783758e-01 -2.563241796571988e-01 -2.570606310516858e-01 -2.577974612919421e-01 -2.585346936249472e-01 - -2.592723515924181e-01 -2.600104594981498e-01 -2.607490419576605e-01 -2.614881240712832e-01 -2.622277312727207e-01 - -2.629678898443362e-01 -2.637086264051527e-01 -2.644499680721714e-01 -2.651919423187013e-01 -2.659345775453039e-01 - -2.666779025531186e-01 -2.674219468183432e-01 -2.681667401972407e-01 -2.689123133912765e-01 -2.696586975492495e-01 - -2.704059247640904e-01 -2.711540275538941e-01 -2.719030391932789e-01 -2.726529934197978e-01 -2.734039250662187e-01 - -2.741558694758598e-01 -2.749088629390239e-01 -2.756629422674556e-01 -2.764181454116789e-01 -2.771745108563868e-01 - -2.779320780841674e-01 -2.786908871694924e-01 -2.794509795564719e-01 -2.802123972949423e-01 -2.809751834880072e-01 - -2.817393818716988e-01 -2.825050376604960e-01 -2.832721967688652e-01 -2.840409064327807e-01 -2.848112145951165e-01 - -2.855831707048412e-01 -2.863568249759762e-01 -2.871322291766564e-01 -2.879094358829076e-01 -2.886884993482028e-01 - -2.894694746623641e-01 -2.902524185831628e-01 -2.910373887617654e-01 -2.918244447549689e-01 -2.926136470970381e-01 - -2.934050583264800e-01 -2.941987419693519e-01 -2.949947634976693e-01 -2.957931894604184e-01 -2.965940887685082e-01 - -2.973975314584912e-01 -2.982035897075678e-01 -2.990123368838905e-01 -2.998238489787670e-01 -3.006382032814213e-01 - -3.014554796495834e-01 -3.022757592753754e-01 -3.030991261199829e-01 -3.039256655881672e-01 -3.047554660899296e-01 - -3.055886175640754e-01 -3.064252130593845e-01 -3.072653472379187e-01 -3.081091181048918e-01 -3.089566254021406e-01 - -3.098079724748395e-01 -3.106632645082006e-01 -3.115226104442510e-01 -3.123861211846884e-01 -3.132539117130802e-01 - -3.141260990998875e-01 -3.150028046812773e-01 -3.158841520361693e-01 -3.167702694487885e-01 -3.176612875689104e-01 - -3.185573418032087e-01 -3.194585700942650e-01 -3.203651157713922e-01 -3.212771249044592e-01 -3.221947491388281e-01 - -3.231181430183639e-01 -3.240474671054514e-01 -3.249828850672117e-01 -3.259245669711927e-01 -3.268726862299913e-01 - -3.278274232359761e-01 -3.287889619469540e-01 -3.297574936027157e-01 -3.307332132733838e-01 -3.317163240684192e-01 - -3.327070332351553e-01 -3.337055565330767e-01 -3.347121141277095e-01 -3.357269352965953e-01 -3.367502540927247e-01 - -3.377823145588749e-01 -3.388233658450175e-01 -3.398736675401181e-01 -3.409334847493447e-01 -3.420030942036733e-01 - -3.430827786115977e-01 -3.441728329658748e-01 -3.452735586625544e-01 -3.463852704265985e-01 -3.475082899277179e-01 - -3.486429532857090e-01 -3.497896041380748e-01 -3.509486017430585e-01 -3.521203134619261e-01 -3.533051234472958e-01 - -3.545034246605078e-01 -3.557156285064298e-01 -3.569421559513399e-01 -3.581834477636310e-01 -3.594399550688090e-01 - -3.607121506187135e-01 -3.620005184199024e-01 -3.633055658714727e-01 -3.646278119965309e-01 -3.659677989216845e-01 - -3.673260803339768e-01 -3.687032330586966e-01 -3.700998457090232e-01 -3.715165309114429e-01 -3.729539131544640e-01 - -3.744126403613781e-01 -3.758933720658462e-01 -3.773967908082255e-01 -3.789235902651524e-01 -3.804744856516886e-01 - -3.820502023195389e-01 -3.836514846285581e-01 -3.852790856353807e-01 -3.869337741756033e-01 -3.886163256972291e-01 - -3.903275263189269e-01 -3.920681658458204e-01 -3.938390381581898e-01 -3.956409370872805e-01 -3.974746521930466e-01 - -3.993409682701225e-01 -4.012406553231547e-01 -4.031744727439548e-01 -4.051431522629808e-01 -4.071474082130475e-01 - -4.091879129977703e-01 -4.112653138348391e-01 -4.133801991274390e-01 -4.155331235094092e-01 -4.177245653517079e-01 - -4.199549603385881e-01 -4.222246496703586e-01 -4.245339230260172e-01 -4.268829584832519e-01 -4.292718744431503e-01 - -4.317006622016948e-01 -4.341692468068394e-01 -4.366774154195978e-01 -4.392248845800756e-01 -4.418112262316757e-01 - -4.444359401252420e-01 -4.470983818380713e-01 -4.497978365893122e-01 -4.525334523390530e-01 -4.553043120100788e-01 - -4.581093756350076e-01 -4.609475466791835e-01 -4.638176252290113e-01 -4.667183660407072e-01 -4.696484459287199e-01 - -4.726065094563343e-01 -4.755911501239359e-01 -4.786009429283761e-01 -4.816344399152602e-01 -4.846901882843556e-01 - -4.877667388033212e-01 -4.908626497957108e-01 -4.939765062407663e-01 -4.971069114027755e-01 -5.002525150305011e-01 - -5.034119937007041e-01 -5.065840848176727e-01 -5.097675587133593e-01 -5.129612566028576e-01 -5.161640565945169e-01 - -5.193749134865747e-01 -5.225928209640586e-01 -5.258168515692775e-01 -5.290461169135583e-01 -5.322798060270272e-01 - -5.355171460831645e-01 -5.387574394100244e-01 -5.420000245805213e-01 -5.452443099924439e-01 -5.484897376520451e-01 - -5.517358141745681e-01 -5.549820769247875e-01 -5.582281216566209e-01 -5.614735718423751e-01 -5.647181034387753e-01 - -5.679614169890416e-01 -5.712032588979591e-01 -5.744433972991336e-01 -5.776816413798681e-01 -5.809178193507762e-01 - -5.841517944620215e-01 -5.873834463985003e-01 -5.906126855444893e-01 -5.938394364748391e-01 -5.970636498273136e-01 - -6.002852884426439e-01 -6.035043379105128e-01 -6.067207941645156e-01 -6.099346717649501e-01 -6.131459940881434e-01 - -6.163548011478311e-01 -6.195611404873568e-01 -6.227650731310865e-01 -6.259666663617727e-01 -6.291659990146931e-01 - -6.323631552654742e-01 -6.355582290986170e-01 -6.387513188871106e-01 -6.419425307490256e-01 -6.451319745539882e-01 - -6.483197674327603e-01 -6.515060293214946e-01 -6.546908841167685e-01 -6.578744572836812e-01 -6.610568766009968e-01 - -6.642382709221243e-01 -6.674187710853904e-01 -6.705985088370179e-01 -6.737776175698923e-01 -6.769562312911304e-01 - -6.801344848181089e-01 -6.833125134999645e-01 -6.864904540026142e-01 -6.896684434132225e-01 -6.928466191871651e-01 - -6.960251190039876e-01 -6.992040810717012e-01 -7.023836437724149e-01 -7.055639456561626e-01 -7.087451254024176e-01 - -7.119273220404884e-01 -7.151106745784721e-01 -7.182953215897911e-01 -7.214814016245582e-01 -7.246690535743215e-01 - -7.278584163200112e-01 -7.310496283586513e-01 -7.342428280442573e-01 -7.374381535427195e-01 -7.406357429444993e-01 - -7.438357342264661e-01 -7.470382651689156e-01 -7.502434728794412e-01 -7.534514943101106e-01 -7.566624664635970e-01 - -7.598765262236051e-01 -7.630938099473661e-01 -7.663144537782537e-01 -7.695385935306881e-01 -7.727663648349232e-01 - -7.759979029135046e-01 -7.792333428394971e-01 -7.824728194957561e-01 -7.857164675195603e-01 -7.889644207560909e-01 - -7.922168128628783e-01 -7.954737775389469e-01 -7.987354483417761e-01 -8.020019582211745e-01 -8.052734399002169e-01 - -8.085500258027153e-01 -8.118318481538471e-01 -8.151190386835121e-01 -8.184117289678831e-01 -8.217100504635063e-01 - -8.250141343769457e-01 -8.283241110344656e-01 -8.316401105683494e-01 -8.349622632152548e-01 -8.382906990624389e-01 - -8.416255474951805e-01 -8.449669376504778e-01 -8.483149983741850e-01 -8.516698583310095e-01 -8.550316457522134e-01 - -8.584004886419279e-01 -8.617765145292081e-01 -8.651598508088844e-01 -8.685506248139727e-01 -8.719489622521989e-01 - -8.753549823919468e-01 -8.787687997490927e-01 -8.821905162688262e-01 -8.856202278084699e-01 -8.890580184445617e-01 - -8.925039663319011e-01 -8.959581377191167e-01 -8.994205926453692e-01 -9.028913782181163e-01 -9.063705352609543e-01 - -9.098580923937473e-01 -9.133540718558304e-01 -9.168584825681617e-01 -9.203713268261465e-01 -9.238925937413506e-01 - -9.274222656928153e-01 -9.309603113133150e-01 -9.345066924037853e-01 -9.380613571840678e-01 -9.416242468397124e-01 - -9.451952880001965e-01 -9.487744002152808e-01 -9.523614892719469e-01 -9.559564538973973e-01 -9.595591783425093e-01 - -9.631695396882074e-01 -9.667874008119273e-01 -9.704126174878044e-01 -9.740450312802591e-01 -9.776844767743714e-01 - -9.813307748475731e-01 -9.849837394560669e-01 -9.886431705787867e-01 -9.923088615430331e-01 -9.959805930468456e-01 - -9.996581394281877e-01 -1.003341262213973e+00 -1.007029716826452e+00 -1.010723247080268e+00 -1.014421591236032e+00 - -1.018124476945841e+00 -1.021831626529500e+00 -1.025542751586175e+00 -1.029257558992056e+00 -1.032975747452084e+00 - -1.036697011770175e+00 -1.040421039317395e+00 -1.044147513860548e+00 -1.047876112182243e+00 -1.051606508161453e+00 - -1.055338371046766e+00 -1.059071368055605e+00 -1.062805162911107e+00 -1.066539417837194e+00 -1.070273792555226e+00 - -1.074007946119602e+00 -1.077741537419413e+00 -1.081474225260823e+00 -1.085205668283577e+00 -1.088935525821090e+00 - -1.092663460147868e+00 -1.096389134999202e+00 -1.100112217012435e+00 -1.103832374788097e+00 -1.107549281877421e+00 - -1.111262614364874e+00 -1.114972053517157e+00 -1.118677283811066e+00 -1.122377997381517e+00 -1.126073890115035e+00 - -1.129764665246453e+00 -1.133450029987863e+00 -1.137129700112097e+00 -1.140803395884355e+00 -1.144470846978575e+00 - -1.148131787996958e+00 -1.151785963846005e+00 -1.155433124321719e+00 -1.159073028473816e+00 -1.162705440550504e+00 - -1.166330136340245e+00 -1.169946897198408e+00 -1.173555515207745e+00 -1.177155787675114e+00 -1.180747522076412e+00 - -1.184330531453910e+00 -1.187904640946331e+00 -1.191469681045491e+00 -1.195025491559137e+00 -1.198571917630371e+00 - -1.202108816427798e+00 -1.205636050425976e+00 -1.209153491297797e+00 -1.212661015717853e+00 -1.216158511169199e+00 - -1.219645870103956e+00 -1.223122994042052e+00 -1.226589789250444e+00 -1.230046171916402e+00 -1.233492062734542e+00 - -1.236927390508550e+00 -1.240352088211073e+00 -1.243766097381527e+00 -1.247169363751694e+00 -1.250561841256042e+00 - -1.253943487695246e+00 -1.257314268132119e+00 -1.260674151007197e+00 -1.264023111009775e+00 -1.267361126327042e+00 - -1.270688182889021e+00 -1.274004269717549e+00 -1.277309380458899e+00 -1.280603511471348e+00 -1.283886665336751e+00 - -1.287158847447705e+00 -1.290420068216200e+00 -1.293670340397085e+00 -1.296909681097245e+00 -1.300138109654688e+00 - -1.303355649979877e+00 -1.306562327924205e+00 -1.309758172530325e+00 -1.312943214678930e+00 -1.316117489411603e+00 - -1.319281033477409e+00 -1.322433886294459e+00 -1.325576088655014e+00 -1.328707684178879e+00 -1.331828717822939e+00 - -1.334939237064845e+00 -1.338039290534788e+00 -1.341128928952336e+00 -1.344208204044806e+00 -1.347277169481128e+00 - -1.350335879836220e+00 -1.353384391367341e+00 -1.356422761075585e+00 -1.359451047255056e+00 -1.362469308854003e+00 - -1.365477606144248e+00 -1.368475999956682e+00 -1.371464552034891e+00 -1.374443324607048e+00 -1.377412380926959e+00 - -1.380371784452904e+00 -1.383321598435415e+00 -1.386261886043311e+00 -1.389192710326296e+00 -1.392114134331963e+00 - -1.395026221218571e+00 -1.397929034013782e+00 -1.400822635112213e+00 -1.403707086730599e+00 -1.406582451007194e+00 - -1.409448790047375e+00 -1.412306165903488e+00 -1.415154640386279e+00 -1.417994274393129e+00 -1.420825128672226e+00 - -1.423647264288326e+00 -1.426460742270041e+00 -1.429265623184807e+00 -1.432061967292326e+00 -1.434849834082543e+00 - -1.437629282863016e+00 -1.440400372981510e+00 -1.443163163644870e+00 -1.445917713456040e+00 -1.448664080745027e+00 - -1.451402323353998e+00 -1.454132498983212e+00 -1.456854665253158e+00 -1.459568879518891e+00 -1.462275198153495e+00 - -1.464973677286479e+00 -1.467664373054985e+00 -1.470347341460922e+00 -1.473022637957602e+00 -1.475690317602213e+00 - -1.478350434416031e+00 -1.481003042251009e+00 -1.483648195317718e+00 -1.486285947650543e+00 -1.488916352220507e+00 - -1.491539461636770e+00 -1.494155328124374e+00 -1.496764003712290e+00 -1.499365540029296e+00 -1.501959988475343e+00 - -1.504547399935251e+00 -1.507127824972320e+00 -1.509701313378898e+00 -1.512267914702716e+00 -1.514827678283996e+00 - -1.517380653263305e+00 -1.519926888190102e+00 -1.522466431291609e+00 -1.524999330097196e+00 -1.527525631932397e+00 - -1.530045384005255e+00 -1.532558633226744e+00 -1.535065425437065e+00 -1.537565806237489e+00 -1.540059821344337e+00 - -1.542547516227056e+00 -1.545028935252552e+00 -1.547504122520188e+00 -1.549973122161691e+00 -1.552435978060152e+00 - -1.554892733071735e+00 -1.557343429814709e+00 -1.559788110982664e+00 -1.562226819032855e+00 -1.564659595401864e+00 - -1.567086481207361e+00 -1.569507517312065e+00 -1.571922744465970e+00 -1.574332203223133e+00 -1.576735933784567e+00 - -1.579133975135047e+00 -1.581526366095511e+00 -1.583913146047792e+00 -1.586294354132112e+00 -1.588670027961349e+00 - -1.591040204840321e+00 -1.593404922368944e+00 -1.595764217997401e+00 -1.598118128281829e+00 -1.600466689560657e+00 - -1.602809938195509e+00 -1.605147910317183e+00 -1.607480641109968e+00 -1.609808165462235e+00 -1.612130518025190e+00 - -1.614447733364541e+00 -1.616759845941160e+00 -1.619066889913862e+00 -1.621368898338053e+00 -1.623665904067572e+00 - -1.625957940253400e+00 -1.628245039905108e+00 -1.630527235169479e+00 -1.632804557955816e+00 -1.635077040086276e+00 - -1.637344713164072e+00 -1.639607608003776e+00 -1.641865755216986e+00 -1.644119185392045e+00 -1.646367929030376e+00 - -1.648612016308968e+00 -1.650851477080719e+00 -1.653086340226579e+00 -1.655316634503563e+00 -1.657542389144867e+00 - -1.659763633269537e+00 -1.661980395063818e+00 -1.664192702419508e+00 -1.666400582983419e+00 -1.668604064251645e+00 - -1.670803173362428e+00 -1.672997937236383e+00 -1.675188382281491e+00 -1.677374534802169e+00 -1.679556421201192e+00 - -1.681734067628149e+00 -1.683907499121518e+00 -1.686076740528519e+00 -1.688241817042459e+00 -1.690402753749855e+00 - -1.692559574964003e+00 -1.694712304797627e+00 -1.696860967334408e+00 -1.699005586454806e+00 -1.701146185255449e+00 - -1.703282786721620e+00 -1.705415414177082e+00 -1.707544090831449e+00 -1.709668839099297e+00 -1.711789681156861e+00 - -1.713906639022084e+00 -1.716019734585396e+00 -1.718128989385494e+00 -1.720234424849230e+00 -1.722336062307809e+00 - -1.724433922917529e+00 -1.726528027230686e+00 -1.728618395721282e+00 -1.730705049154116e+00 -1.732788008101886e+00 - -1.734867292078088e+00 -1.736942920442919e+00 -1.739014913002594e+00 -1.741083289547465e+00 -1.743148069358425e+00 - -1.745209271450225e+00 -1.747266914282488e+00 -1.749321016270471e+00 -1.751371596207075e+00 -1.753418672811714e+00 - -1.755462264132180e+00 -1.757502388000569e+00 -1.759539062057792e+00 -1.761572303881055e+00 -1.763602130983907e+00 - -1.765628560778196e+00 -1.767651610332621e+00 -1.769671296580689e+00 -1.771687636258316e+00 -1.773700645994041e+00 - -1.775710342184503e+00 -1.777716741146727e+00 -1.779719859111176e+00 -1.781719712181211e+00 -1.783716316038327e+00 - -1.785709686327057e+00 -1.787699838965949e+00 -1.789686789700248e+00 -1.791670553307960e+00 -1.793651144443631e+00 - -1.795628578235185e+00 -1.797602869852874e+00 -1.799574034162875e+00 -1.801542085839167e+00 -1.803507039091021e+00 - -1.805468908052258e+00 -1.807427707019619e+00 -1.809383450209764e+00 -1.811336151356113e+00 -1.813285824110837e+00 - -1.815232482284336e+00 -1.817176139592257e+00 -1.819116809213001e+00 -1.821054504262256e+00 -1.822989238142106e+00 - -1.824921024174149e+00 -1.826849875071642e+00 -1.828775803432498e+00 -1.830698822001605e+00 -1.832618943490715e+00 - -1.834536180332052e+00 -1.836450544855570e+00 -1.838362049261658e+00 -1.840270705693083e+00 -1.842176526191684e+00 - -1.844079522732226e+00 -1.845979707122125e+00 -1.847877091069540e+00 -1.849771686052976e+00 -1.851663503515020e+00 - -1.853552554984233e+00 -1.855438851906239e+00 -1.857322405308933e+00 -1.859203226114476e+00 -1.861081325239847e+00 - -1.862956713608023e+00 -1.864829402171162e+00 -1.866699401811557e+00 -1.868566723102871e+00 -1.870431376467943e+00 - -1.872293372034969e+00 -1.874152719980291e+00 -1.876009430967454e+00 -1.877863515541558e+00 -1.879714983286677e+00 - -1.881563843740828e+00 -1.883410107218835e+00 -1.885253783963326e+00 -1.887094883151373e+00 -1.888933413891583e+00 - -1.890769386084288e+00 -1.892602809677417e+00 -1.894433694017575e+00 -1.896262048252058e+00 -1.898087881332244e+00 - -1.899911202238771e+00 -1.901732020265218e+00 -1.903550344662578e+00 -1.905366184198560e+00 -1.907179547502340e+00 - -1.908990443132265e+00 -1.910798879695625e+00 -1.912604866066330e+00 -1.914408411061036e+00 -1.916209523000752e+00 - -1.918008210058423e+00 -1.919804480310377e+00 -1.921598341888620e+00 -1.923389803244497e+00 -1.925178872754823e+00 - -1.926965558178970e+00 -1.928749867237572e+00 -1.930531808113790e+00 -1.932311388923252e+00 -1.934088617048956e+00 - -1.935863499807747e+00 -1.937636044984464e+00 -1.939406260367225e+00 -1.941174153289245e+00 -1.942939731044444e+00 - -1.944703001224463e+00 -1.946463971324967e+00 -1.948222648160018e+00 -1.949979038559213e+00 -1.951733150095908e+00 - -1.953484990331042e+00 -1.955234566032130e+00 -1.956981883796339e+00 -1.958726950332857e+00 -1.960469772453529e+00 - -1.962210357268799e+00 -1.963948711773954e+00 -1.965684842205069e+00 -1.967418754747339e+00 -1.969150456141664e+00 - -1.970879953151972e+00 -1.972607252078582e+00 -1.974332359180596e+00 -1.976055281015821e+00 -1.977776024078765e+00 - -1.979494594312026e+00 -1.981210997612849e+00 -1.982925240248993e+00 -1.984637328483028e+00 -1.986347268186276e+00 - -1.988055065135925e+00 -1.989760725123873e+00 -1.991464254028801e+00 -1.993165658061782e+00 -1.994864943305917e+00 - -1.996562115000000e+00 -1.998257178352118e+00 -1.999950139291834e+00 -2.001641003786081e+00 -2.003329777229788e+00 - -2.005016464899233e+00 -2.006701072168050e+00 -2.008383604435580e+00 -2.010064067106614e+00 -2.011742465557514e+00 - -2.013418805045480e+00 -2.015093090790721e+00 -2.016765327984645e+00 -2.018435521788566e+00 -2.020103677272243e+00 - -2.021769799450648e+00 -2.023433893211152e+00 -2.025095963440481e+00 -2.026756015150358e+00 -2.028414053372033e+00 - -2.030070083089858e+00 -2.031724109167109e+00 -2.033376136029651e+00 -2.035026168111125e+00 -2.036674210313675e+00 - -2.038320267543339e+00 -2.039964344253219e+00 -2.041606444873179e+00 -2.043246574193053e+00 -2.044884736927830e+00 - -2.046520937133174e+00 -2.048155178894251e+00 -2.049787467073582e+00 -2.051417806490505e+00 -2.053046201014273e+00 - -2.054672654449746e+00 -2.056297171294283e+00 -2.057919756136151e+00 -2.059540413234731e+00 -2.061159146675282e+00 - -2.062775960175462e+00 -2.064390857518372e+00 -2.066003843116474e+00 -2.067614921377108e+00 -2.069224096057763e+00 - -2.070831370870978e+00 -2.072436749999330e+00 -2.074040237602111e+00 -2.075641837275425e+00 -2.077241552544816e+00 - -2.078839387216755e+00 -2.080435345153352e+00 -2.082029430158359e+00 -2.083621645967183e+00 -2.085211996100236e+00 - -2.086800484128769e+00 -2.088387114042385e+00 -2.089971889736969e+00 -2.091554814315162e+00 -2.093135890870968e+00 - -2.094715123257078e+00 -2.096292515329556e+00 -2.097868070199266e+00 -2.099441790929908e+00 -2.101013681141721e+00 - -2.102583744473837e+00 -2.104151984084442e+00 -2.105718403103298e+00 -2.107283005027429e+00 -2.108845793364375e+00 - -2.110406771296459e+00 -2.111965941910842e+00 -2.113523308239219e+00 -2.115078873308544e+00 -2.116632640182243e+00 - -2.118184611994434e+00 -2.119734792125529e+00 -2.121283183887100e+00 -2.122829790069075e+00 -2.124374613416041e+00 - -2.125917657012881e+00 -2.127458923984833e+00 -2.128998417278243e+00 -2.130536139767974e+00 -2.132072094221826e+00 - -2.133606283403289e+00 -2.135138710165668e+00 -2.136669377406417e+00 -2.138198288109766e+00 -2.139725445172409e+00 - -2.141250851054121e+00 -2.142774508270670e+00 -2.144296419998729e+00 -2.145816589318136e+00 -2.147335018260493e+00 - -2.148851708859426e+00 -2.150366664204882e+00 -2.151879887475646e+00 -2.153391381149525e+00 -2.154901147551277e+00 - -2.156409189094421e+00 -2.157915508301146e+00 -2.159420108039566e+00 -2.160922991060322e+00 -2.162424159298261e+00 - -2.163923614721020e+00 -2.165421360243191e+00 -2.166917398765767e+00 -2.168411732188371e+00 -2.169904362385663e+00 - -2.171395292133801e+00 -2.172884524283159e+00 -2.174372061079477e+00 -2.175857904621596e+00 -2.177342057025400e+00 - -2.178824520458782e+00 -2.180305297280612e+00 -2.181784389836284e+00 -2.183261800226323e+00 -2.184737530553230e+00 - -2.186211583172279e+00 -2.187683960396664e+00 -2.189154664118480e+00 -2.190623696232450e+00 -2.192091059064924e+00 - -2.193556754973807e+00 -2.195020786011611e+00 -2.196483154140098e+00 -2.197943861263397e+00 -2.199402909290797e+00 - -2.200860300209873e+00 -2.202316036078389e+00 -2.203770119156592e+00 -2.205222551620105e+00 -2.206673335103553e+00 - -2.208122471221687e+00 -2.209569962050753e+00 -2.211015809743800e+00 -2.212460016299604e+00 -2.213902583604158e+00 - -2.215343513246597e+00 -2.216782806815468e+00 -2.218220466193829e+00 -2.219656493330310e+00 -2.221090890141300e+00 - -2.222523658493742e+00 -2.223954800089009e+00 -2.225384316635711e+00 -2.226812210036953e+00 -2.228238482128524e+00 - -2.229663134282465e+00 -2.231086167933421e+00 -2.232507585230206e+00 -2.233927388263609e+00 -2.235345578178182e+00 - -2.236762156112363e+00 -2.238177124126393e+00 -2.239590484325721e+00 -2.241002238074839e+00 -2.242412386688506e+00 - -2.243820932023517e+00 -2.245227875877045e+00 -2.246633219265731e+00 -2.248036963296034e+00 -2.249439110214208e+00 - -2.250839662216949e+00 -2.252238620162919e+00 -2.253635984842608e+00 -2.255031758111861e+00 -2.256425941987018e+00 - -2.257818538061035e+00 -2.259209547728066e+00 -2.260598972010440e+00 -2.261986811976363e+00 -2.263373069249392e+00 - -2.264757745520950e+00 -2.266140842198597e+00 -2.267522360622610e+00 -2.268902302148032e+00 -2.270280668153553e+00 - -2.271657460097697e+00 -2.273032679375423e+00 -2.274406327047590e+00 -2.275778404191426e+00 -2.277148912283742e+00 - -2.278517852852843e+00 -2.279885227233438e+00 -2.281251036662961e+00 -2.282615282183361e+00 -2.283977964870765e+00 - -2.285339086133513e+00 -2.286698647429660e+00 -2.288056650083893e+00 -2.289413095312870e+00 -2.290767984034498e+00 - -2.292121317209354e+00 -2.293473096267451e+00 -2.294823322630535e+00 -2.296171997217860e+00 -2.297519120939147e+00 - -2.298864695168495e+00 -2.300208721271999e+00 -2.301551200119357e+00 -2.302892132586471e+00 -2.304231520070443e+00 - -2.305569363951571e+00 -2.306905665021753e+00 -2.308240424043668e+00 -2.309573642251534e+00 -2.310905320943594e+00 - -2.312235461202651e+00 -2.313564064009707e+00 -2.314891130153991e+00 -2.316216660462560e+00 -2.317540656105554e+00 - -2.318863118293744e+00 -2.320184048057342e+00 -2.321503446385586e+00 -2.322821314284393e+00 -2.324137652689092e+00 - -2.325452462235987e+00 -2.326765743634779e+00 -2.328077498187803e+00 -2.329387727168217e+00 -2.330696431139842e+00 - -2.332003610675342e+00 -2.333309267092103e+00 -2.334613401701304e+00 -2.335916015044585e+00 -2.337217107588464e+00 - -2.338516680268511e+00 -2.339814734134101e+00 -2.341111270220800e+00 -2.342406289434137e+00 -2.343699792173311e+00 - -2.344991778936741e+00 -2.346282251126043e+00 -2.347571210092017e+00 -2.348858656078995e+00 -2.350144589310363e+00 - -2.351429011032167e+00 -2.352711922533504e+00 -2.353993324252988e+00 -2.355273216536063e+00 -2.356551600205969e+00 - -2.357828476165661e+00 -2.359103845159169e+00 -2.360377707896761e+00 -2.361650065112589e+00 -2.362920917562625e+00 - -2.364190266066228e+00 -2.365458111389245e+00 -2.366724454020086e+00 -2.367989294422349e+00 -2.369252633237819e+00 - -2.370514471195048e+00 -2.371774809191487e+00 -2.373033648052395e+00 -2.374290988145372e+00 -2.375546829856004e+00 - -2.376801174099476e+00 -2.378054021758188e+00 -2.379305373053798e+00 -2.380555228228685e+00 -2.381803588268867e+00 - -2.383050454170042e+00 -2.384295826222999e+00 -2.385539704659158e+00 -2.386782090177350e+00 -2.388022983519428e+00 - -2.389262385131917e+00 -2.390500295440986e+00 -2.391736715086700e+00 -2.392971644747536e+00 -2.394205085041701e+00 - -2.395437036486230e+00 -2.396667499253712e+00 -2.397896473568759e+00 -2.399123960208524e+00 -2.400349959968320e+00 - -2.401574473163553e+00 -2.402797500049246e+00 -2.404019041118798e+00 -2.405239096931802e+00 -2.406457668074259e+00 - -2.407674755052769e+00 -2.408890358029935e+00 -2.410104477201394e+00 -2.411317113238899e+00 -2.412528266823138e+00 - -2.413737938194389e+00 -2.414946127524263e+00 -2.416152835150093e+00 -2.417358061488310e+00 -2.418561807106014e+00 - -2.419764072540869e+00 -2.420964858062149e+00 -2.422164163883997e+00 -2.423361990268478e+00 -2.424558337539998e+00 - -2.425753206224426e+00 -2.426946596778449e+00 -2.428138509180588e+00 -2.429328943436301e+00 -2.430517900136966e+00 - -2.431705379929064e+00 -2.432891383093559e+00 -2.434075909789072e+00 -2.435258960050367e+00 -2.436440534002261e+00 - -2.437620632253666e+00 -2.438799255363957e+00 -2.439976403210287e+00 -2.441152075652963e+00 -2.442326273167121e+00 - -2.443498996281469e+00 -2.444670245124171e+00 -2.445840019720089e+00 -2.447008320081434e+00 -2.448175146330043e+00 - -2.449340499038912e+00 -2.450504378726154e+00 -2.451666785239187e+00 -2.452827718349615e+00 -2.453987178196479e+00 - -2.455145165027037e+00 -2.456301679153984e+00 -2.457456720843679e+00 -2.458610290111703e+00 -2.459762386895362e+00 - -2.460913011069636e+00 -2.462062162618941e+00 -2.463209842027783e+00 -2.464356049701044e+00 -2.465500785225038e+00 - -2.466644048210323e+00 -2.467785839182998e+00 -2.468926158651886e+00 -2.470065006141172e+00 -2.471202381154697e+00 - -2.472338284099561e+00 -2.473472715451581e+00 -2.474605675058163e+00 -2.475737162666682e+00 -2.476867178252799e+00 - -2.477995721814551e+00 -2.479122793211214e+00 -2.480248392312651e+00 -2.481372519169843e+00 -2.482495173828069e+00 - -2.483616356128687e+00 -2.484736065895716e+00 -2.485854303087743e+00 -2.486971067738408e+00 -2.488086360047014e+00 - -2.489200180083995e+00 -2.490312527238630e+00 -2.491423400907520e+00 -2.492532801197714e+00 -2.493640728315912e+00 - -2.494747182157012e+00 -2.495852162518061e+00 -2.496955669116524e+00 -2.498057701682506e+00 -2.499158260076250e+00 - -2.500257344205291e+00 -2.501354954036191e+00 -2.502451089487258e+00 -2.503545750224782e+00 -2.504638935878569e+00 - -2.505730646184535e+00 -2.506820880947837e+00 -2.507909640144502e+00 -2.508996923692245e+00 -2.510082731104683e+00 - -2.511167061905791e+00 -2.512249916065080e+00 -2.513331293568936e+00 -2.514411194025691e+00 -2.515489616993924e+00 - -2.516566562211253e+00 -2.517642029416175e+00 -2.518716018171676e+00 -2.519788528087044e+00 -2.520859559132313e+00 - -2.521929111272669e+00 -2.522997184093166e+00 -2.524063777123772e+00 -2.525128890054233e+00 -2.526192522577199e+00 - -2.527254674237163e+00 -2.528315344566595e+00 -2.529374533198041e+00 -2.530432239809303e+00 -2.531488464159136e+00 - -2.532543206017777e+00 -2.533596465120445e+00 -2.534648241083385e+00 -2.535698533081969e+00 -2.536747340380982e+00 - -2.537794663043710e+00 -2.538840501172024e+00 -2.539884854223596e+00 -2.540927721482817e+00 -2.541969102185147e+00 - -2.543008995720672e+00 -2.544047402146914e+00 -2.545084321505733e+00 -2.546119753108897e+00 -2.547153696148885e+00 - -2.548186150071097e+00 -2.549217114438763e+00 -2.550246589033513e+00 -2.551274573561718e+00 -2.552301067210345e+00 - -2.553326069170913e+00 -2.554349579172571e+00 -2.555371597001575e+00 -2.556392122135012e+00 -2.557411153995589e+00 - -2.558428692097672e+00 -2.559444735964176e+00 -2.560459285060548e+00 -2.561472338773803e+00 -2.562483896234721e+00 - -2.563493956701396e+00 -2.564502520197407e+00 -2.565509586690590e+00 -2.566515155160310e+00 -2.567519224484451e+00 - -2.568521794123430e+00 -2.569522863722881e+00 -2.570522433086768e+00 -2.571520501879673e+00 -2.572517069050324e+00 - -2.573512133570669e+00 -2.574505695221420e+00 -2.575497753777856e+00 -2.576488308184784e+00 -2.577477357385580e+00 - -2.578464901148367e+00 -2.579450939304331e+00 -2.580435471112168e+00 -2.581418495678755e+00 -2.582400012076188e+00 - -2.583380019545771e+00 -2.584358518040427e+00 -2.585335507388502e+00 -2.586310986208430e+00 -2.587284953146766e+00 - -2.588257408172476e+00 -2.589228351266687e+00 -2.590197781136742e+00 -2.591165696464199e+00 -2.592132097101227e+00 - -2.593096982965479e+00 -2.594060353065933e+00 -2.595022206300420e+00 -2.595982542030859e+00 -2.596941359648237e+00 - -2.597898658195753e+00 -2.598854436786441e+00 -2.599808695160485e+00 -2.600761432999720e+00 -2.601712649125437e+00 - -2.602662342322502e+00 -2.603610512090611e+00 -2.604557157983472e+00 -2.605502279056006e+00 -2.606445874333086e+00 - -2.607387943218189e+00 -2.608328485131743e+00 -2.609267499183389e+00 -2.610204984445080e+00 -2.611140940148811e+00 - -2.612075365584592e+00 -2.613008260114454e+00 -2.613939623006402e+00 -2.614869453080320e+00 -2.615797749224179e+00 - -2.616724511046408e+00 -2.617649738126216e+00 -2.618573429205448e+00 -2.619495583026503e+00 -2.620416199171340e+00 - -2.621335277249019e+00 -2.622252816137456e+00 -2.623168814653865e+00 -2.624083272103795e+00 -2.624996187859330e+00 - -2.625907561070358e+00 -2.626817390806325e+00 -2.627725676037143e+00 -2.628632415761536e+00 -2.629537609193020e+00 - -2.630441255587996e+00 -2.631343354159609e+00 -2.632243904045731e+00 -2.633142904126422e+00 -2.634040353337229e+00 - -2.634936251093461e+00 -2.635830596765059e+00 -2.636723389060725e+00 -2.637614626713354e+00 -2.638504309213838e+00 - -2.639392436080191e+00 -2.640279006180904e+00 -2.641164018251881e+00 -2.642047471148195e+00 -2.642929363899640e+00 - -2.643809696115713e+00 -2.644688467316341e+00 -2.645565676083456e+00 -2.646441320932559e+00 -2.647315401051427e+00 - -2.648187915755844e+00 -2.649058864201336e+00 -2.649928245427330e+00 -2.650796058169106e+00 -2.651662301248424e+00 - -2.652526974137104e+00 -2.653390076247662e+00 -2.654251606105329e+00 -2.655111562238285e+00 -2.655969944073783e+00 - -2.656826751086593e+00 -2.657681982042466e+00 -2.658535635661370e+00 -2.659387711189145e+00 -2.660238207837736e+00 - -2.661087124157626e+00 -2.661934458755756e+00 -2.662780211126336e+00 -2.663624380741185e+00 -2.664466966095276e+00 - -2.665307965694397e+00 -2.666147379064445e+00 -2.666985205710447e+00 -2.667821444033845e+00 -2.668656092405469e+00 - -2.669489150177272e+00 -2.670320616801000e+00 -2.671150491146469e+00 -2.671978771965001e+00 -2.672805458115896e+00 - -2.673630548501148e+00 -2.674454042085555e+00 -2.675275937884819e+00 -2.676096235055446e+00 -2.676914932653945e+00 - -2.677732029196031e+00 -2.678547523253807e+00 -2.679361414165717e+00 -2.680173701269736e+00 -2.680984383135636e+00 - -2.681793458321363e+00 -2.682600926105787e+00 -2.683406785794135e+00 -2.684211036076172e+00 -2.685013675548027e+00 - -2.685814703046789e+00 -2.686614117528503e+00 -2.687411918184072e+00 -2.688208104155523e+00 -2.689002674154484e+00 - -2.689795626844247e+00 -2.690586961125131e+00 -2.691376675931391e+00 -2.692164770096012e+00 -2.692951242468673e+00 - -2.693736092067127e+00 -2.694519317933390e+00 -2.695300919038479e+00 -2.696080894259941e+00 -2.696859242172434e+00 - -2.697635961409562e+00 -2.698411051143577e+00 -2.699184510529523e+00 -2.699956338114957e+00 -2.700726532498006e+00 - -2.701495093086574e+00 -2.702262019208106e+00 -2.703027309058428e+00 -2.703790960874505e+00 -2.704552974189474e+00 - -2.705313348537555e+00 -2.706072082161119e+00 -2.706829173257158e+00 -2.707584621133000e+00 -2.708338425191227e+00 - -2.709090584105120e+00 -2.709841096442358e+00 -2.710589961077480e+00 -2.711337176962203e+00 -2.712082743050078e+00 - -2.712826658235913e+00 -2.713568921177743e+00 -2.714309530527581e+00 -2.715048485150131e+00 -2.715785783993005e+00 - -2.716521426122757e+00 -2.717255410569124e+00 -2.717987736095623e+00 -2.718718401385704e+00 -2.719447405068731e+00 - -2.720174745881186e+00 -2.720900423042079e+00 -2.721624435690877e+00 -2.722346782166338e+00 -2.723067460855530e+00 - -2.723786471139474e+00 -2.724503812410580e+00 -2.725219483112852e+00 -2.725933481634188e+00 -2.726645807086471e+00 - -2.727356458650697e+00 -2.728065435060333e+00 -2.728772734953498e+00 -2.729478357034439e+00 -2.730182300087997e+00 - -2.730884563155262e+00 -2.731585145263588e+00 -2.732284045129153e+00 -2.732981261442558e+00 -2.733676793103288e+00 - -2.734370639038562e+00 -2.735062798077667e+00 -2.735753269071118e+00 -2.736442051052291e+00 -2.737129142959769e+00 - -2.737814543170111e+00 -2.738498250131983e+00 -2.739180263144520e+00 -2.739860581563291e+00 -2.740539204119172e+00 - -2.741216129405992e+00 -2.741891356094071e+00 -2.742564882952538e+00 -2.743236709069217e+00 -2.743906833523784e+00 - -2.744575255044610e+00 -2.745241972311204e+00 -2.745906984158941e+00 -2.746570289467025e+00 -2.747231887134115e+00 - -2.747891776057501e+00 -2.748549955109537e+00 -2.749206423158993e+00 -2.749861179085207e+00 -2.750514221765824e+00 - -2.751165550061125e+00 -2.751815162841771e+00 -2.752463059037292e+00 -2.753109237554207e+00 -2.753753697148108e+00 - -2.754396436622574e+00 -2.755037455124055e+00 -2.755676751755156e+00 -2.756314325100252e+00 -2.756950173779785e+00 - -2.757584297076699e+00 -2.758216694281619e+00 -2.758847364053396e+00 -2.759476305000437e+00 -2.760103516161140e+00 - -2.760728996610216e+00 -2.761352745137616e+00 -2.761974760563591e+00 -2.762595042114344e+00 -2.763213589016364e+00 - -2.763830400091322e+00 -2.764445474113015e+00 -2.765058810068553e+00 -2.765670407011266e+00 -2.766280264046035e+00 - -2.766888380201558e+00 -2.767494754150214e+00 -2.768099384646222e+00 -2.768702271127474e+00 -2.769303413030783e+00 - -2.769902809104988e+00 -2.770500458053093e+00 -2.771096359082754e+00 -2.771690511445131e+00 -2.772282914060774e+00 - -2.772873565847032e+00 -2.773462466039048e+00 -2.774049613856528e+00 -2.774635008139637e+00 -2.775218647762881e+00 - -2.775800532117688e+00 -2.776380660598635e+00 -2.776959032095993e+00 -2.777535645483684e+00 -2.778110500074552e+00 - -2.778683595228330e+00 -2.779254930053368e+00 -2.779824503611819e+00 -2.780392315032438e+00 -2.780958363471580e+00 - -2.781522648129417e+00 -2.782085168237396e+00 -2.782645923108263e+00 -2.783204912027138e+00 -2.783762134087364e+00 - -2.784317588365996e+00 -2.784871274066723e+00 -2.785423190471204e+00 -2.785973337046338e+00 -2.786521713227682e+00 - -2.787068318140169e+00 -2.787613150927563e+00 -2.788156211119559e+00 -2.788697498201977e+00 -2.789237011099205e+00 - -2.789774748795882e+00 -2.790310711079109e+00 -2.790844897774500e+00 -2.791377308059270e+00 -2.791907941021321e+00 - -2.792436796039691e+00 -2.792963872575855e+00 -2.793489170129877e+00 -2.794012688183935e+00 -2.794534426110070e+00 - -2.795054383269529e+00 -2.795572559090522e+00 -2.796088953089790e+00 -2.796603565071232e+00 -2.797116394731634e+00 - -2.797627441052200e+00 -2.798136703104035e+00 -2.798644181033428e+00 -2.799149874997305e+00 -2.799653784119957e+00 - -2.800155907491874e+00 -2.800656245100958e+00 -2.801154796934787e+00 -2.801651562082218e+00 -2.802146539693571e+00 - -2.802639730063738e+00 -2.803131133478864e+00 -2.803620749045517e+00 -2.804108575856467e+00 -2.804594614128865e+00 - -2.805078864118387e+00 -2.805561325110418e+00 -2.806041996375143e+00 -2.806520878092229e+00 -2.806997970489045e+00 - -2.807473273074300e+00 -2.807946785293329e+00 -2.808418507056632e+00 -2.808888438355500e+00 -2.809356579039224e+00 - -2.809822928959404e+00 -2.810287488118900e+00 -2.810750256531227e+00 -2.811211234101264e+00 -2.811670420689050e+00 - -2.812127816083888e+00 -2.812583420143096e+00 -2.813037233066774e+00 -2.813489255065615e+00 -2.813939486049919e+00 - -2.814387925944586e+00 -2.814834575033324e+00 -2.815279433542374e+00 -2.815722501109326e+00 -2.816163777438837e+00 - -2.816603263092504e+00 -2.817040958671196e+00 -2.817476864075942e+00 -2.817910979131784e+00 -2.818343304059641e+00 - -2.818773839208482e+00 -2.819202585043600e+00 -2.819629541969078e+00 -2.820054710027820e+00 -2.820478089265513e+00 - -2.820899680100151e+00 -2.821319482977751e+00 -2.821737498084143e+00 -2.822153725615352e+00 -2.822568166068396e+00 - -2.822980820018520e+00 -2.823391688052908e+00 -2.823800770674544e+00 -2.824208068037681e+00 -2.824613580315654e+00 - -2.825017308106835e+00 -2.825419252121360e+00 -2.825819413091381e+00 -2.826217791658008e+00 -2.826614388076187e+00 - -2.827009202624378e+00 -2.827402236061253e+00 -2.827793489256864e+00 -2.828182963046578e+00 -2.828570658171722e+00 - -2.828956575032161e+00 -2.829340714052488e+00 -2.829723076097664e+00 -2.830103662132774e+00 -2.830482473083023e+00 - -2.830859509823491e+00 -2.831234773068641e+00 -2.831608263528317e+00 -2.831979982054516e+00 -2.832349929557777e+00 - -2.832718107040651e+00 -2.833084515526141e+00 -2.833449156027042e+00 -2.833812029550204e+00 -2.834173137088914e+00 - -2.834532479620883e+00 -2.834890058075082e+00 -2.835245873448821e+00 -2.835599927061508e+00 -2.835952220243667e+00 - -2.836302754048190e+00 -2.836651529530672e+00 -2.836998548035129e+00 -2.837343810883671e+00 -2.837687319022324e+00 - -2.838029073490917e+00 -2.838369076080591e+00 -2.838707328586376e+00 -2.839043832067564e+00 -2.839378587474163e+00 - -2.839711596054793e+00 -2.840042859259108e+00 -2.840372379042276e+00 -2.840700157280677e+00 -2.841026195030013e+00 - -2.841350493343512e+00 -2.841673054085180e+00 -2.841993879190829e+00 -2.842312970072699e+00 -2.842630328108386e+00 - -2.842945955060471e+00 -2.843259852775203e+00 -2.843572023048496e+00 -2.843882467617769e+00 -2.844191188036773e+00 - -2.844498185884593e+00 -2.844803463025301e+00 -2.845107021413000e+00 -2.845408863076932e+00 -2.845708990020076e+00 - -2.846007404065244e+00 -2.846304107050338e+00 -2.846599101053807e+00 -2.846892388135785e+00 -2.847183970042619e+00 - -2.847473848570861e+00 -2.847762026031680e+00 -2.848048504803730e+00 -2.848333287020989e+00 -2.848616374754612e+00 - -2.848897770069131e+00 -2.849177475073159e+00 -2.849455492058227e+00 -2.849731823327478e+00 -2.850006471047571e+00 - -2.850279437434387e+00 -2.850550725037162e+00 -2.850820336439234e+00 -2.851088274026996e+00 -2.851354540133094e+00 - -2.851619137072155e+00 -2.851882067200814e+00 -2.852143333061782e+00 -2.852402937208544e+00 -2.852660882051651e+00 - -2.852917170055367e+00 -2.853171804041764e+00 -2.853424786850297e+00 -2.853676121032120e+00 -2.853925809140160e+00 - -2.854173854022716e+00 -2.854420258509995e+00 -2.854665025064492e+00 -2.854908156206457e+00 -2.855149655054884e+00 - -2.855389524765914e+00 -2.855627768045515e+00 -2.855864387531145e+00 -2.856099386036384e+00 -2.856332766480263e+00 - -2.856564532027491e+00 -2.856794685864488e+00 -2.857023231018833e+00 -2.857250170456676e+00 -2.857475507057297e+00 - -2.857699243787178e+00 -2.857921384048440e+00 -2.858141931205942e+00 -2.858360888039817e+00 -2.858578257403886e+00 - -2.858794043031427e+00 -2.859008248642304e+00 -2.859220877023269e+00 -2.859431930941042e+00 -2.859641414015340e+00 - -2.859849329964776e+00 -2.860055682050569e+00 -2.860260473522559e+00 -2.860463708042447e+00 -2.860665389218646e+00 - -2.860865520034553e+00 -2.861064103583913e+00 -2.861261144026887e+00 -2.861456645505078e+00 -2.861650611019446e+00 - -2.861843043539793e+00 -2.862033947051935e+00 -2.862223325674870e+00 -2.862411183044306e+00 -2.862597522669464e+00 - -2.862782348036900e+00 -2.862965662765951e+00 -2.863147471029718e+00 -2.863327776966641e+00 -2.863506584022756e+00 - -2.863683895649960e+00 -2.863859716016013e+00 -2.864034049304372e+00 -2.864206899045429e+00 -2.864378268816853e+00 - -2.864548163038503e+00 -2.864716586175495e+00 -2.864883542031795e+00 -2.865049034317118e+00 -2.865213067025303e+00 - -2.865375644227383e+00 -2.865536770019026e+00 -2.865696448531390e+00 -2.865854684012960e+00 -2.866011480747103e+00 - -2.866166843039399e+00 -2.866320775137251e+00 -2.866473281033156e+00 -2.866624364792500e+00 -2.866774031027124e+00 - -2.866922284373643e+00 -2.867069129021301e+00 -2.867214569108258e+00 -2.867358609015685e+00 -2.867501253183005e+00 - -2.867642506039625e+00 -2.867782372075631e+00 -2.867920856033839e+00 -2.868057962606175e+00 -2.868193696028257e+00 - -2.868328060561013e+00 -2.868461061022879e+00 -2.868592702303233e+00 -2.868722989017701e+00 -2.868851925722842e+00 - -2.868979517012722e+00 -2.869105767524959e+00 -2.869230682033886e+00 -2.869354265317122e+00 -2.869476522028743e+00 - -2.869597456891174e+00 -2.869717075023798e+00 -2.869835381525858e+00 -2.869952381019048e+00 -2.870068078133983e+00 - -2.870182478014490e+00 -2.870295585788873e+00 -2.870407406010122e+00 -2.870517943287246e+00 -2.870627203028626e+00 - -2.870735190678368e+00 -2.870841911024103e+00 -2.870947368779615e+00 -2.871051569019769e+00 -2.871154516959833e+00 - -2.871256218015620e+00 -2.871356677487263e+00 -2.871455900011655e+00 -2.871553890297982e+00 -2.871650654007871e+00 - -2.871746196881877e+00 -2.871840524023838e+00 -2.871933640394619e+00 -2.872025551019907e+00 -2.872116261043417e+00 - -2.872205776016155e+00 -2.872294101539941e+00 -2.872381243012580e+00 -2.872467205758066e+00 -2.872551995009178e+00 - -2.872635615995248e+00 -2.872718074023048e+00 -2.872799374482606e+00 -2.872879523019508e+00 -2.872958525324841e+00 - -2.873036387016140e+00 -2.873113113575017e+00 -2.873188710012942e+00 -2.873263181462381e+00 -2.873336534009911e+00 - -2.873408773769060e+00 -2.873479906007045e+00 -2.873549935889074e+00 -2.873618869018622e+00 -2.873686711126628e+00 - -2.873753468015626e+00 -2.873819145455355e+00 -2.873883749012791e+00 -2.873947284262238e+00 -2.874009757010115e+00 - -2.874071173064448e+00 -2.874131538007598e+00 -2.874190857408149e+00 -2.874249137005235e+00 -2.874306382592947e+00 - -2.874362600014657e+00 -2.874417795154723e+00 -2.874471974012172e+00 -2.874525142492177e+00 -2.874577306009839e+00 - -2.874628470067637e+00 -2.874678641007656e+00 -2.874727825164796e+00 -2.874776028005620e+00 -2.874823254939239e+00 - -2.874869512013286e+00 -2.874914805384953e+00 -2.874959141011137e+00 -2.875002524843012e+00 -2.875044963009132e+00 - -2.875086461553842e+00 -2.875127026007268e+00 -2.875166661990855e+00 -2.875205376005544e+00 -2.875243174521211e+00 - -2.875280063003956e+00 -2.875316046953741e+00 -2.875351133009737e+00 -2.875385327829893e+00 -2.875418637008044e+00 - -2.875451066029114e+00 -2.875482621006486e+00 -2.875513308222273e+00 -2.875543134005058e+00 -2.875572104616458e+00 - -2.875600226003760e+00 -2.875627504088381e+00 -2.875653945002586e+00 -2.875679554924722e+00 -2.875704340006628e+00 - -2.875728306365356e+00 -2.875751460005359e+00 -2.875773807024162e+00 -2.875795354004213e+00 -2.875816107441742e+00 - -2.875836073003188e+00 -2.875855256356105e+00 -2.875873664002281e+00 -2.875891302525273e+00 -2.875908178001488e+00 - -2.875924296429527e+00 -2.875939664003940e+00 -2.875954287022889e+00 -2.875968172003060e+00 -2.875981325374513e+00 - -2.875993753002293e+00 -2.876005460745149e+00 -2.876016455001635e+00 -2.876026742281703e+00 -2.876036329001085e+00 - -2.876045221511428e+00 -2.876053426002279e+00 -2.876060948682664e+00 -2.876067796001651e+00 -2.876073974394489e+00 - -2.876079490001126e+00 -2.876084348997735e+00 -2.876088558000703e+00 -2.876092123620084e+00 -2.876095052000378e+00 - -2.876097349275196e+00 -2.876099022000147e+00 -2.876100076780735e+00 -2.876100520000039e+00 -2.876100357977497e+00 - -2.876099597000405e+00 -2.876098243435337e+00 -2.876096303998139e+00 -2.876093785401991e+00 -2.876090694000126e+00 - -2.876087036076098e+00 -2.876082817994697e+00 -2.876078046153286e+00 -2.876072726998279e+00 -2.876066867041051e+00 - -2.876060473003754e+00 -2.876053551562065e+00 -2.876046108994973e+00 -2.876038151582050e+00 -2.876029686001908e+00 - -2.876020718975022e+00 -2.876011256990315e+00 -2.876001306494705e+00 -2.875990873998654e+00 -2.875979966015766e+00 - -2.875968589008655e+00 -2.875956749461299e+00 -2.875944453994101e+00 -2.875931709272467e+00 -2.875918522005370e+00 - -2.875904898821941e+00 -2.875890845988358e+00 -2.875876369796106e+00 -2.875861477000839e+00 -2.875846174460938e+00 - -2.875830468981534e+00 -2.875814367182402e+00 -2.875797874995170e+00 -2.875780998493851e+00 -2.875763745010153e+00 - -2.875746121853747e+00 -2.875728134988475e+00 -2.875709790337169e+00 -2.875691095004476e+00 -2.875672056151185e+00 - -2.875652679980860e+00 -2.875632972639220e+00 -2.875612940997824e+00 -2.875592591983200e+00 -2.875571932015899e+00 - -2.875550967463832e+00 -2.875529704990307e+00 -2.875508151305197e+00 -2.875486313009207e+00 -2.875464196688727e+00 - -2.875441808982035e+00 -2.875419156538716e+00 -2.875396246001703e+00 -2.875373083982446e+00 -2.875349676973115e+00 - -2.875326031456047e+00 -2.875302153993497e+00 -2.875278051224424e+00 -2.875253730014671e+00 -2.875229197164465e+00 - -2.875204458984698e+00 -2.875179521740897e+00 -2.875154392006447e+00 -2.875129076470253e+00 -2.875103581975416e+00 - -2.875077915323747e+00 -2.875052082997684e+00 -2.875026091410789e+00 -2.874999947020509e+00 -2.874973656330889e+00 - -2.874947225988491e+00 -2.874920662667701e+00 -2.874893973011697e+00 -2.874867163623783e+00 -2.874840240978976e+00 - -2.874813211559227e+00 -2.874786082002508e+00 -2.874758858958694e+00 -2.874731548969249e+00 -2.874704158521300e+00 - -2.874676693993052e+00 -2.874649161850167e+00 -2.874621569017096e+00 -2.874593922351292e+00 -2.874566227983435e+00 - -2.874538491996276e+00 -2.874510721007613e+00 -2.874482921761722e+00 -2.874455100973768e+00 -2.874427265275985e+00 - -2.874399420998023e+00 -2.874371574431975e+00 -2.874343732022288e+00 -2.874315900299783e+00 -2.874288085988434e+00 - -2.874260295776052e+00 -2.874232536012641e+00 -2.874204812974258e+00 -2.874177132978955e+00 -2.874149502426689e+00 - -2.874121928003048e+00 -2.874094416390038e+00 -2.874066973969692e+00 -2.874039607056358e+00 -2.874012321993617e+00 - -2.873985125156578e+00 -2.873958023017241e+00 -2.873931022092817e+00 -2.873904128984454e+00 -2.873877350227203e+00 - -2.873850692007775e+00 -2.873824160475146e+00 -2.873797761975665e+00 -2.873771502947487e+00 -2.873745389998629e+00 - -2.873719429664607e+00 -2.873693628021065e+00 -2.873667991196405e+00 -2.873642525989910e+00 -2.873617239207638e+00 - -2.873592137011854e+00 -2.873567225478465e+00 -2.873542510981722e+00 -2.873517999984164e+00 -2.873493699003122e+00 - -2.873469614539558e+00 -2.873445752974173e+00 -2.873422120664412e+00 -2.873398723994974e+00 -2.873375569341346e+00 - -2.873352663014937e+00 -2.873330011368907e+00 -2.873307620987516e+00 -2.873285498440290e+00 -2.873263650006746e+00 - -2.873242081977908e+00 -2.873220800980854e+00 -2.873199813610778e+00 -2.873179125999297e+00 -2.873158744269642e+00 - -2.873138674975094e+00 -2.873118924733721e+00 -2.873099499992696e+00 -2.873080407078925e+00 -2.873061652009151e+00 - -2.873043240951156e+00 -2.873025180987050e+00 -2.873007479104932e+00 -2.872990141002529e+00 -2.872973172348110e+00 - -2.872956579982463e+00 -2.872940370832477e+00 -2.872924550996914e+00 -2.872909126514257e+00 -2.872894104009989e+00 - -2.872879490127201e+00 -2.872865290992410e+00 -2.872851512733995e+00 -2.872838162004323e+00 -2.872825245427317e+00 - -2.872812768989124e+00 -2.872800738661925e+00 -2.872789160999820e+00 -2.872778042642130e+00 -2.872767389987160e+00 - -2.872757209355336e+00 -2.872747506996586e+00 -2.872738289140315e+00 -2.872729562004331e+00 -2.872721331833777e+00 - -2.872713604994726e+00 -2.872706387896571e+00 -2.872699687001068e+00 -2.872693508692679e+00 -2.872687858994343e+00 - -2.872682743943764e+00 -2.872678169999229e+00 -2.872674143639194e+00 -2.872670671002211e+00 -2.872667758252759e+00 - -2.872665411998920e+00 -2.872663638727966e+00 -2.872662444000314e+00 -2.872661833458480e+00 -2.872661814000242e+00 - -2.872662392564575e+00 -2.872663574999996e+00 -2.872665367034357e+00 -2.872667775003300e+00 -2.872670805307676e+00 - -2.872674464001362e+00 -2.872678757122995e+00 -2.872683690997219e+00 -2.872689271947241e+00 -2.872695506004511e+00 - -2.872702399218003e+00 -2.872709957998547e+00 -2.872718188690384e+00 -2.872727097009549e+00 -2.872736688669513e+00 - -2.872746970001709e+00 -2.872757947412680e+00 -2.872769626991446e+00 -2.872782014787135e+00 -2.872795117006809e+00 - -2.872808939808297e+00 -2.872823488994544e+00 -2.872838770359238e+00 -2.872854790013944e+00 -2.872871554154958e+00 - -2.872889068999627e+00 -2.872907340687168e+00 -2.872926375023218e+00 -2.872946177789640e+00 -2.872966755006795e+00 - -2.872988112738970e+00 -2.873010256987659e+00 -2.873033193743455e+00 -2.873056929016149e+00 -2.873081468798353e+00 - -2.873106818994782e+00 -2.873132985471494e+00 -2.873159974027786e+00 -2.873187790508094e+00 -2.873216441004140e+00 - -2.873245931584463e+00 -2.873276267977569e+00 -2.873307455856915e+00 -2.873339501015828e+00 -2.873372409342765e+00 - -2.873406186986854e+00 -2.873440840030674e+00 -2.873476374029945e+00 -2.873512794459630e+00 -2.873550106998518e+00 - -2.873588317466817e+00 -2.873627432046586e+00 -2.873667456808100e+00 -2.873708397012657e+00 -2.873750257967860e+00 - -2.873793045975522e+00 -2.873836767295967e+00 -2.873881427029366e+00 -2.873927030237608e+00 -2.873973582989610e+00 - -2.874021091436191e+00 -2.874069561048740e+00 -2.874118997257345e+00 -2.874169406006314e+00 -2.874220793186470e+00 - -2.874273163960479e+00 -2.874326523535612e+00 -2.874380878025728e+00 -2.874436233504353e+00 -2.874492594977105e+00 - -2.874549967456173e+00 -2.874608357047944e+00 -2.874667769870749e+00 -2.874728210996486e+00 -2.874789685444839e+00 - -2.874852199073056e+00 -2.874915757808161e+00 -2.874980367018717e+00 -2.875046031956011e+00 -2.875112757960702e+00 - -2.875180550448241e+00 -2.875249415043884e+00 -2.875319357389408e+00 -2.875390382982873e+00 -2.875462497200150e+00 - -2.875535705072081e+00 -2.875610011724477e+00 -2.875685423008027e+00 -2.875761944747628e+00 -2.875839581940104e+00 - -2.875918339524430e+00 -2.875998223036253e+00 -2.876079238083328e+00 -2.876161389965175e+00 -2.876244683897332e+00 - -2.876329125067640e+00 -2.876414718675390e+00 -2.876501469993362e+00 -2.876589384334920e+00 -2.876678467102276e+00 - -2.876768723646439e+00 -2.876860159024752e+00 -2.876952778311590e+00 -2.877046586943105e+00 -2.877141590285005e+00 - -2.877237793059432e+00 -2.877335200055582e+00 -2.877433816974432e+00 -2.877533649470098e+00 -2.877634702097487e+00 - -2.877736979404358e+00 -2.877840487009089e+00 -2.877945230580227e+00 -2.878051214916385e+00 -2.878158444703550e+00 - -2.878266925047163e+00 -2.878376661120778e+00 -2.878487657950954e+00 -2.878599920558564e+00 -2.878713454088738e+00 - -2.878828263638601e+00 -2.878944353988982e+00 -2.879061729871082e+00 -2.879180396133895e+00 -2.879300357745253e+00 - -2.879421620030550e+00 -2.879544188234639e+00 -2.879668066922659e+00 -2.879793260582870e+00 -2.879919774075741e+00 - -2.880047612428619e+00 -2.880176780964157e+00 -2.880307284823274e+00 -2.880439128124635e+00 -2.880572315044195e+00 - -2.880706851009318e+00 -2.880842741491739e+00 -2.880979990889281e+00 -2.881118603470176e+00 -2.881258584058220e+00 - -2.881399937594580e+00 -2.881542668934350e+00 -2.881686782880171e+00 -2.881832284110943e+00 -2.881979177270132e+00 - -2.882127466983199e+00 -2.882277157822698e+00 -2.882428254167564e+00 -2.882580760515876e+00 -2.882734682035907e+00 - -2.882890023809088e+00 -2.883046789899305e+00 -2.883204984344022e+00 -2.883364612092550e+00 -2.883525678164890e+00 - -2.883688186951939e+00 -2.883852142755886e+00 -2.884017550153203e+00 -2.884184413751485e+00 -2.884352738008543e+00 - -2.884522527349429e+00 -2.884693786217942e+00 -2.884866519029743e+00 -2.885040730069195e+00 -2.885216423722596e+00 - -2.885393604915286e+00 -2.885572278454246e+00 -2.885752448133968e+00 -2.885934117732660e+00 -2.886117291975880e+00 - -2.886301975695701e+00 -2.886488173202934e+00 -2.886675888645447e+00 -2.886865126040629e+00 -2.887055889528861e+00 - -2.887248183873006e+00 -2.887442013779875e+00 -2.887637383109605e+00 -2.887834295673936e+00 -2.888032755937675e+00 - -2.888232768417303e+00 -2.888434337182880e+00 -2.888637466267979e+00 -2.888842160006608e+00 -2.889048422705334e+00 - -2.889256258260521e+00 -2.889465670586525e+00 -2.889676664079871e+00 -2.889889243164732e+00 -2.890103411893701e+00 - -2.890319174230825e+00 -2.890536534157536e+00 -2.890755495690120e+00 -2.890976062966901e+00 -2.891198240133124e+00 - -2.891422031239666e+00 -2.891647440271526e+00 -2.891874471044534e+00 -2.892103127449178e+00 -2.892333413843735e+00 - -2.892565334531329e+00 -2.892798893126666e+00 -2.893034093211137e+00 -2.893270938921286e+00 -2.893509434394119e+00 - -2.893749583213363e+00 -2.893991388990754e+00 -2.894234856003367e+00 -2.894479988544211e+00 -2.894726790304690e+00 - -2.894975264880993e+00 -2.895225416090045e+00 -2.895477247800793e+00 -2.895730763869547e+00 -2.895985968110420e+00 - -2.896242864181383e+00 -2.896501455784724e+00 -2.896761746956156e+00 -2.897023741664482e+00 -2.897287443277443e+00 - -2.897552855132549e+00 -2.897819981047455e+00 -2.898088824960355e+00 -2.898359390811481e+00 -2.898631682423090e+00 - -2.898905703143506e+00 -2.899181456336644e+00 -2.899458945902694e+00 -2.899738175745144e+00 -2.900019149244370e+00 - -2.900301869748365e+00 -2.900586340998689e+00 -2.900872566741790e+00 -2.901160550350105e+00 -2.901450295205248e+00 - -2.901741805099525e+00 -2.902035083835090e+00 -2.902330134842785e+00 -2.902626961482952e+00 -2.902925567205262e+00 - -2.903225955501619e+00 -2.903528129943548e+00 -2.903832094083243e+00 -2.904137851315957e+00 -2.904445404943298e+00 - -2.904754758049239e+00 -2.905065913908475e+00 -2.905378876776237e+00 -2.905693650730528e+00 -2.906010238159916e+00 - -2.906328641477237e+00 -2.906648864881840e+00 -2.906970912612057e+00 -2.907294787275635e+00 -2.907620491421319e+00 - -2.907948028992455e+00 -2.908277404008211e+00 -2.908608619396449e+00 -2.908941677961907e+00 -2.909276583108139e+00 - -2.909613338320582e+00 -2.909951946813384e+00 -2.910292411733319e+00 -2.910634736228945e+00 -2.910978923497479e+00 - -2.911324976928991e+00 -2.911672899876866e+00 -2.912022695354926e+00 -2.912374366346152e+00 -2.912727916049746e+00 - -2.913083347735332e+00 -2.913440664738005e+00 -2.913799870293631e+00 -2.914160967175702e+00 -2.914523958205600e+00 - -2.914888846858668e+00 -2.915255636613397e+00 -2.915624330306910e+00 -2.915994930711883e+00 -2.916367440984558e+00 - -2.916741864289805e+00 -2.917118203443422e+00 -2.917496461287171e+00 -2.917876641115726e+00 -2.918258746264796e+00 - -2.918642779781321e+00 -2.919028744569610e+00 -2.919416643252220e+00 -2.919806478556714e+00 -2.920198253912409e+00 - -2.920591972698769e+00 -2.920987637394092e+00 -2.921385250442034e+00 -2.921784815048848e+00 -2.922186334507697e+00 - -2.922589811696789e+00 -2.922995249368979e+00 -2.923402650190686e+00 -2.923812016928122e+00 -2.924223352833133e+00 - -2.924636661116357e+00 -2.925051944337972e+00 -2.925469204994078e+00 -2.925888445974902e+00 -2.926309670222330e+00 - -2.926732880490753e+00 -2.927158079512877e+00 -2.927585270122142e+00 -2.928014455203420e+00 -2.928445637746579e+00 - -2.928878820641719e+00 -2.929314006274898e+00 -2.929751197043434e+00 -2.930190395893735e+00 -2.930631605816839e+00 - -2.931074829433217e+00 -2.931520069294359e+00 -2.931967328046430e+00 -2.932416608452995e+00 -2.932867913652596e+00 - -2.933321246608101e+00 -2.933776609204709e+00 -2.934234003435805e+00 -2.934693432805196e+00 -2.935154900804807e+00 - -2.935618409368617e+00 -2.936083960365691e+00 -2.936551556963400e+00 -2.937021202354904e+00 -2.937492898538196e+00 - -2.937966647468766e+00 -2.938442452127255e+00 -2.938920315642269e+00 -2.939400240709141e+00 -2.939882229846171e+00 - -2.940366285296803e+00 -2.940852409365155e+00 -2.941340604872910e+00 -2.941830874578781e+00 -2.942323220472084e+00 - -2.942817644603974e+00 -2.943314150042391e+00 -2.943812739919231e+00 -2.944313416605433e+00 -2.944816182292809e+00 - -2.945321039217627e+00 -2.945827989752984e+00 -2.946337036774817e+00 -2.946848183049044e+00 -2.947361430398659e+00 - -2.947876780695535e+00 -2.948394236949976e+00 -2.948913802216184e+00 -2.949435478585527e+00 -2.949959268045502e+00 - -2.950485173130951e+00 -2.951013196489051e+00 -2.951543340668991e+00 -2.952075608036040e+00 -2.952610000317780e+00 - -2.953146519451356e+00 -2.953685168849877e+00 -2.954225951787981e+00 -2.954768869510503e+00 -2.955313923227115e+00 - -2.955861116036636e+00 -2.956410451196468e+00 -2.956961930709160e+00 -2.957515556348660e+00 -2.958071330229310e+00 - -2.958629254704319e+00 -2.959189332741965e+00 -2.959751567143614e+00 -2.960315959427935e+00 -2.960882511105170e+00 - -2.961451224934558e+00 -2.962022103774683e+00 -2.962595149632548e+00 -2.963170364371659e+00 -2.963747750133120e+00 - -2.964327309260061e+00 -2.964909044626116e+00 -2.965492958892178e+00 -2.966079053337689e+00 -2.966667329311879e+00 - -2.967257789824588e+00 -2.967850437973655e+00 -2.968445275548303e+00 -2.969042304161408e+00 -2.969641526029084e+00 - -2.970242943489398e+00 -2.970846558764995e+00 -2.971452374012471e+00 -2.972060391239641e+00 -2.972670612566008e+00 - -2.973283040706606e+00 -2.973897678221620e+00 -2.974514526456296e+00 -2.975133586785449e+00 -2.975754861917081e+00 - -2.976378354633252e+00 -2.977004066679083e+00 -2.977631999719257e+00 -2.978262156133669e+00 -2.978894538388579e+00 - -2.979529148580497e+00 -2.980165988659094e+00 -2.980805060356407e+00 -2.981446365534977e+00 -2.982089906796993e+00 - -2.982735686662750e+00 -2.983383706585328e+00 -2.984033968085205e+00 -2.984686474019655e+00 -2.985341227187940e+00 - -2.985998228820469e+00 -2.986657480057624e+00 -2.987318983248517e+00 -2.987982740990944e+00 -2.988648755668708e+00 - -2.989317029403636e+00 -2.989987563483614e+00 -2.990660359350691e+00 -2.991335419897486e+00 -2.992012747963469e+00 - -2.992692344724977e+00 -2.993374211287029e+00 -2.994058350132512e+00 -2.994744763907397e+00 -2.995433454532118e+00 - -2.996124423756546e+00 -2.996817673373822e+00 -2.997513205283444e+00 -2.998211021767050e+00 -2.998911125033880e+00 - -2.999613516621449e+00 -3.000318198120732e+00 -3.001025172008281e+00 -3.001734440748973e+00 -3.002446005875424e+00 - -3.003159868783688e+00 -3.003876031255844e+00 -3.004594495323234e+00 -3.005315263628241e+00 -3.006038338638268e+00 - -3.006763721509772e+00 -3.007491413411925e+00 -3.008221416875716e+00 -3.008953734497098e+00 -3.009688367770095e+00 - -3.010425318036306e+00 -3.011164587129571e+00 -3.011906177113799e+00 -3.012650090480955e+00 -3.013396329533748e+00 - -3.014144895389836e+00 -3.014895789237767e+00 -3.015649013734712e+00 -3.016404571515447e+00 -3.017162463656545e+00 - -3.017922691248400e+00 -3.018685256994897e+00 -3.019450163571901e+00 -3.020217411929727e+00 -3.020987002987051e+00 - -3.021758939261538e+00 -3.022533223477289e+00 -3.023309857585168e+00 -3.024088843221124e+00 -3.024870181534668e+00 - -3.025653873871900e+00 -3.026439922851719e+00 -3.027228331077071e+00 -3.028019099814318e+00 -3.028812230192102e+00 - -3.029607724124773e+00 -3.030405583764245e+00 -3.031205811426982e+00 -3.032008409239547e+00 -3.032813378404362e+00 - -3.033620720145768e+00 -3.034430436699938e+00 -3.035242530366928e+00 -3.036057002690514e+00 -3.036873855182042e+00 - -3.037693089979441e+00 -3.038514709166424e+00 -3.039338713983260e+00 -3.040165105664532e+00 -3.040993886265523e+00 - -3.041825058080565e+00 -3.042658623539453e+00 -3.043494584770202e+00 -3.044332942558215e+00 -3.045173697755793e+00 - -3.046016852825442e+00 -3.046862410359265e+00 -3.047710371857544e+00 -3.048560738605269e+00 -3.049413512118055e+00 - -3.050268694173960e+00 -3.051126287370169e+00 -3.051986294136892e+00 -3.052848715417321e+00 -3.053713552140092e+00 - -3.054580806662679e+00 -3.055450481419417e+00 -3.056322577723267e+00 -3.057197096839233e+00 -3.058074040961857e+00 - -3.058953412280709e+00 -3.059835212035924e+00 -3.060719441405425e+00 -3.061606102267731e+00 -3.062495196777212e+00 - -3.063386727491054e+00 -3.064280696619269e+00 -3.065177104580330e+00 -3.066075951959016e+00 -3.066977241796834e+00 - -3.067880977177860e+00 -3.068787158899685e+00 -3.069695787543252e+00 -3.070606865109353e+00 -3.071520393938529e+00 - -3.072436376310475e+00 -3.073354814200677e+00 -3.074275708428639e+00 -3.075199059975246e+00 -3.076124871622891e+00 - -3.077053146054635e+00 -3.077983883754724e+00 -3.078917085313194e+00 -3.079852753942089e+00 -3.080790892784741e+00 - -3.081731502087634e+00 -3.082674582011150e+00 -3.083620135268097e+00 -3.084568164866139e+00 -3.085518672439932e+00 - -3.086471659270948e+00 -3.087427126600947e+00 -3.088385075921834e+00 -3.089345509765843e+00 -3.090308430518810e+00 - -3.091273838940665e+00 -3.092241735746584e+00 -3.093212123098609e+00 -3.094185003484481e+00 -3.095160379247863e+00 - -3.096138252358965e+00 -3.097118623438258e+00 -3.098101493262150e+00 -3.099086864580523e+00 -3.100074740150514e+00 - -3.101065120784818e+00 -3.102058007230942e+00 -3.103053401920080e+00 -3.104051307417155e+00 -3.105051725138318e+00 - -3.106054656274756e+00 -3.107060102266563e+00 -3.108068064811119e+00 -3.109078546386035e+00 -3.110091549326776e+00 - -3.111107074619999e+00 -3.112125123273996e+00 -3.113145697732417e+00 -3.114168800386244e+00 -3.115194431980418e+00 - -3.116222593318652e+00 -3.117253287085768e+00 -3.118286516039464e+00 -3.119322281347848e+00 -3.120360583948459e+00 - -3.121401425446115e+00 -3.122444807777008e+00 -3.123490733535526e+00 -3.124539205035892e+00 -3.125590222813487e+00 - -3.126643787500575e+00 -3.127699901895779e+00 -3.128758568841378e+00 -3.129819789187914e+00 -3.130883563634097e+00 - -3.131949894263071e+00 -3.133018783446947e+00 -3.134090233329311e+00 -3.135164245759380e+00 -3.136240821637432e+00 - -3.137319962039862e+00 -3.138401669696502e+00 -3.139485947209752e+00 -3.140572795018887e+00 -3.141662213641400e+00 - -3.142754206070774e+00 -3.143848775370422e+00 -3.144945922407469e+00 -3.146045647810740e+00 -3.147147953452156e+00 - -3.148252841552866e+00 -3.149360314487843e+00 -3.150470374336312e+00 -3.151583021840677e+00 -3.152698257836541e+00 - -3.153816084869129e+00 -3.154936505573740e+00 -3.156059521236365e+00 -3.157185132934072e+00 -3.158313342257567e+00 - -3.159444151127381e+00 -3.160577562269707e+00 -3.161713578058511e+00 -3.162852198653188e+00 -3.163993424406347e+00 - -3.165137258658042e+00 -3.166283704751602e+00 -3.167432763056018e+00 -3.168584433853514e+00 -3.169738720053572e+00 - -3.170895624664928e+00 -3.172055148466089e+00 -3.173217292044841e+00 -3.174382057456326e+00 -3.175549447119023e+00 - -3.176719463437418e+00 -3.177892108465135e+00 -3.179067382866334e+00 -3.180245287430775e+00 -3.181425824840074e+00 - -3.182608997807819e+00 -3.183794807283624e+00 -3.184983254083125e+00 -3.186174340249998e+00 -3.187368068149750e+00 - -3.188564440207163e+00 -3.189763458501066e+00 -3.190965123667219e+00 -3.192169436468204e+00 -3.193376399616980e+00 - -3.194586015855556e+00 -3.195798286091764e+00 -3.197013211234878e+00 -3.198230794034108e+00 -3.199451037209393e+00 - -3.200673941523666e+00 -3.201899507599942e+00 -3.203127737458575e+00 -3.204358633517069e+00 -3.205592198384193e+00 - -3.206828434306502e+00 -3.208067341890413e+00 -3.209308921829809e+00 -3.210553176808560e+00 -3.211800109598040e+00 - -3.213049721329648e+00 -3.214302012941719e+00 -3.215556986240311e+00 -3.216814643392485e+00 -3.218074987141617e+00 - -3.219338019837523e+00 -3.220603741679474e+00 -3.221872153094758e+00 -3.223143257573258e+00 -3.224417058543514e+00 - -3.225693556126080e+00 -3.226972750453261e+00 -3.228254645012327e+00 -3.229539243310538e+00 -3.230826545580160e+00 - -3.232116551831102e+00 -3.233409264458852e+00 -3.234704686394765e+00 -3.236002820328103e+00 -3.237303668413965e+00 - -3.238607230912866e+00 -3.239913508296335e+00 -3.241222503774527e+00 -3.242534220589764e+00 -3.243848659374397e+00 - -3.245165820540432e+00 -3.246485706228452e+00 -3.247808319087641e+00 -3.249133662073000e+00 -3.250461737608715e+00 - -3.251792545689908e+00 -3.253126086515263e+00 -3.254462363526813e+00 -3.255801380232294e+00 -3.257143137158927e+00 - -3.258487634736825e+00 -3.259834875988172e+00 -3.261184864013611e+00 -3.262537599635538e+00 -3.263893083453904e+00 - -3.265251317457108e+00 -3.266612304094287e+00 -3.267976046269084e+00 -3.269342546452898e+00 -3.270711804933652e+00 - -3.272083822201368e+00 -3.273458601737915e+00 -3.274836147008249e+00 -3.276216458417835e+00 -3.277599536106921e+00 - -3.278985382214368e+00 -3.280373999474050e+00 -3.281765391001240e+00 -3.283159559381294e+00 -3.284556504698475e+00 - -3.285956227223949e+00 -3.287358730477579e+00 -3.288764018003004e+00 -3.290172090190266e+00 -3.291582947391597e+00 - -3.292996592961586e+00 -3.294413030263101e+00 -3.295832259689772e+00 -3.297254281509102e+00 -3.298679098453292e+00 - -3.300106713632883e+00 -3.301537129207062e+00 -3.302970346938195e+00 -3.304406367952729e+00 -3.305845193592728e+00 - -3.307286826698660e+00 -3.308731270022015e+00 -3.310178524459931e+00 -3.311628590794006e+00 -3.313081471198005e+00 - -3.314537168271639e+00 -3.315995684926260e+00 -3.317457023622331e+00 -3.318921184705128e+00 -3.320388168757214e+00 - -3.321857979425488e+00 -3.323330620242623e+00 -3.324806091220061e+00 -3.326284392457951e+00 -3.327765527932510e+00 - -3.329249501635255e+00 -3.330736313742837e+00 -3.332225964151081e+00 -3.333718455447356e+00 -3.335213790816533e+00 - -3.336711973141963e+00 -3.338213004741188e+00 -3.339716885970061e+00 -3.341223617428788e+00 -3.342733202656698e+00 - -3.344245645175923e+00 -3.345760945500658e+00 -3.347279103963591e+00 -3.348800123179309e+00 -3.350324006237700e+00 - -3.351850755847976e+00 -3.353380374190363e+00 -3.354912861709826e+00 -3.356448219173252e+00 -3.357986450370467e+00 - -3.359527558984502e+00 -3.361071545248283e+00 -3.362618409368982e+00 -3.364168154900880e+00 -3.365720785489059e+00 - -3.367276301794712e+00 -3.368834704260551e+00 -3.370395995439248e+00 -3.371960178388195e+00 -3.373527256073704e+00 - -3.375097230883950e+00 -3.376670102985606e+00 -3.378245872877927e+00 -3.379824544611959e+00 -3.381406122149057e+00 - -3.382990605539988e+00 -3.384577994855671e+00 -3.386168294158221e+00 -3.387761507524905e+00 -3.389357635102426e+00 - -3.390956676825633e+00 -3.392558635712520e+00 -3.394163515324364e+00 -3.395771318312439e+00 -3.397382046745834e+00 - -3.398995701274896e+00 -3.400612282828281e+00 -3.402231794866633e+00 -3.403854240867662e+00 -3.405479621845378e+00 - -3.407107938586081e+00 -3.408739193428916e+00 -3.410373389185216e+00 -3.412010529002203e+00 -3.413650615518111e+00 - -3.415293648999326e+00 -3.416939629995896e+00 -3.418588562564371e+00 -3.420240450691449e+00 -3.421895294577897e+00 - -3.423553094414080e+00 -3.425213854134680e+00 -3.426877577792018e+00 -3.428544266164663e+00 -3.430213919689846e+00 - -3.431886540713168e+00 -3.433562132145608e+00 -3.435240697251321e+00 -3.436922238808692e+00 -3.438606757299870e+00 - -3.440294253397158e+00 -3.441984730829699e+00 -3.443678193368453e+00 -3.445374641894819e+00 -3.447074077051543e+00 - -3.448776501416308e+00 -3.450481918039497e+00 -3.452190329927366e+00 -3.453901739641781e+00 -3.455616148011183e+00 - -3.457333556082980e+00 -3.459053967513855e+00 -3.460777385853499e+00 -3.462503811614361e+00 -3.464233245386620e+00 - -3.465965691108627e+00 -3.467701152771073e+00 -3.469439631225878e+00 -3.471181127031554e+00 -3.472925642711720e+00 - -3.474673181335264e+00 -3.476423746187027e+00 -3.478177340029919e+00 -3.479933963323171e+00 -3.481693616824597e+00 - -3.483456304790008e+00 -3.485222031388338e+00 -3.486990796943019e+00 -3.488762601570069e+00 -3.490537448401365e+00 - -3.492315341151373e+00 -3.494096282849095e+00 -3.495880275915030e+00 -3.497667321021135e+00 -3.499457419173128e+00 - -3.501250574460328e+00 -3.503046790838973e+00 -3.504846068649357e+00 -3.506648408298966e+00 -3.508453814079994e+00 - -3.510262290280344e+00 -3.512073837286068e+00 -3.513888455301771e+00 -3.515706147708129e+00 -3.517526918395819e+00 - -3.519350770119465e+00 -3.521177705073145e+00 -3.523007724344773e+00 -3.524840829328240e+00 -3.526677023747485e+00 - -3.528516311267811e+00 -3.530358692989965e+00 -3.532204169811781e+00 -3.534052744384031e+00 -3.535904419874647e+00 - -3.537759199767289e+00 -3.539617087002065e+00 -3.541478082029144e+00 -3.543342185630307e+00 -3.545209402403708e+00 - -3.547079736777425e+00 -3.548953188682862e+00 -3.550829758143615e+00 -3.552709450048714e+00 -3.554592269345012e+00 - -3.556478216345227e+00 -3.558367291032073e+00 -3.560259496702344e+00 -3.562154837300620e+00 -3.564053316048536e+00 - -3.565954935512961e+00 -3.567859696364639e+00 -3.569767599635964e+00 -3.571678649702049e+00 -3.573592850895430e+00 - -3.575510204035641e+00 -3.577430709619281e+00 -3.579354370364244e+00 -3.581281189700099e+00 -3.583211171681835e+00 - -3.585144319721653e+00 -3.587080634035166e+00 -3.589020115063184e+00 -3.590962767343901e+00 -3.592908595415016e+00 - -3.594857599714854e+00 -3.596809780701911e+00 -3.598765143014713e+00 -3.600723691343250e+00 -3.602685426403352e+00 - -3.604650348553174e+00 -3.606618460694309e+00 -3.608589766473437e+00 -3.610564269974137e+00 -3.612541974573128e+00 - -3.614522880382737e+00 -3.616506987803558e+00 -3.618494301653613e+00 -3.620484826823921e+00 -3.622478564080036e+00 - -3.624475513850586e+00 -3.626475679341938e+00 -3.628479064392689e+00 -3.630485672592619e+00 -3.632495506905407e+00 - -3.634508568039156e+00 -3.636524857004877e+00 -3.638544378280809e+00 -3.640567136287224e+00 -3.642593131745308e+00 - -3.644622365423449e+00 -3.646654841977913e+00 -3.648690566065893e+00 -3.650729538460438e+00 -3.652771759626902e+00 - -3.654817232683972e+00 -3.656865961450936e+00 -3.658917949896158e+00 -3.660973201344661e+00 -3.663031716399031e+00 - -3.665093495929850e+00 -3.667158544602091e+00 -3.669226867066577e+00 -3.671298464123134e+00 -3.673373336353373e+00 - -3.675451487317045e+00 -3.677532921173144e+00 -3.679617641499514e+00 -3.681705651197185e+00 -3.683796951041065e+00 - -3.685891542158701e+00 -3.687989429214330e+00 -3.690090616811484e+00 -3.692195105774196e+00 -3.694302896934788e+00 - -3.696413994938233e+00 -3.698528404463948e+00 -3.700646126516483e+00 -3.702767161822413e+00 -3.704891513671268e+00 - -3.707019186005269e+00 -3.709150182814482e+00 -3.711284507419287e+00 -3.713422160413482e+00 -3.715563142750310e+00 - -3.717707459547388e+00 -3.719855115839397e+00 -3.722006112164920e+00 -3.724160448777861e+00 -3.726318129289493e+00 - -3.728479158099316e+00 -3.730643539402395e+00 -3.732811276589775e+00 -3.734982370040845e+00 -3.737156820495128e+00 - -3.739334633144358e+00 -3.741515813112657e+00 -3.743700360801490e+00 -3.745888276640612e+00 -3.748079565895588e+00 - -3.750274233918474e+00 -3.752472281571475e+00 -3.754673709335501e+00 -3.756878520656135e+00 -3.759086719721971e+00 - -3.761298310728990e+00 -3.763513297133539e+00 -3.765731679426046e+00 -3.767953458457793e+00 -3.770178639489403e+00 - -3.772407227784000e+00 -3.774639224205367e+00 -3.776874629489326e+00 -3.779113448259203e+00 -3.781355685279774e+00 - -3.783601341994148e+00 -3.785850419525435e+00 -3.788102921038436e+00 -3.790358850378410e+00 -3.792618212070778e+00 - -3.794881010002580e+00 -3.797147244827153e+00 -3.799416917428862e+00 -3.801690032849888e+00 -3.803966596190487e+00 - -3.806246608625402e+00 -3.808530070983860e+00 -3.810816986638503e+00 -3.813107359693981e+00 -3.815401194639556e+00 - -3.817698495297397e+00 -3.819999262436677e+00 -3.822303497093916e+00 -3.824611204428034e+00 -3.826922389548483e+00 - -3.829237053244454e+00 -3.831555196353405e+00 -3.833876824226091e+00 -3.836201942201953e+00 -3.838530551061888e+00 - -3.840862651326505e+00 -3.843198247033778e+00 -3.845537342919513e+00 -3.847879942993476e+00 -3.850226050562932e+00 - -3.852575666851148e+00 -3.854928793361406e+00 -3.857285434801036e+00 -3.859645595950435e+00 -3.862009278678248e+00 - -3.864376484523473e+00 -3.866747216618300e+00 -3.869121478726629e+00 -3.871499275546047e+00 -3.873880611182955e+00 - -3.876265486445322e+00 -3.878653902389424e+00 -3.881045864363169e+00 -3.883441377687285e+00 -3.885840443282151e+00 - -3.888243062046155e+00 -3.890649239190073e+00 -3.893058980047241e+00 -3.895472286128841e+00 -3.897889158595383e+00 - -3.900309601026809e+00 -3.902733617656517e+00 -3.905161212912323e+00 -3.907592390603840e+00 -3.910027151873432e+00 - -3.912465498159137e+00 -3.914907434748928e+00 -3.917352966879188e+00 -3.919802095729995e+00 -3.922254822259626e+00 - -3.924711150595445e+00 -3.927171085542605e+00 -3.929634631448325e+00 -3.932101791843537e+00 -3.934572567451927e+00 - -3.937046959532740e+00 -3.939524974294695e+00 -3.942006617767883e+00 -3.944491890318428e+00 -3.946980792233828e+00 - -3.949473329151056e+00 -3.951969506957779e+00 -3.954469327195002e+00 -3.956972790971958e+00 -3.959479902017460e+00 - -3.961990664762499e+00 -3.964505083827194e+00 -3.967023163167552e+00 -3.969544903893966e+00 -3.972070307479498e+00 - -3.974599379693463e+00 -3.977132126179292e+00 -3.979668547780628e+00 -3.982208645099321e+00 -3.984752422569858e+00 - -3.987299885436030e+00 -3.989851038346246e+00 -3.992405885069993e+00 -3.994964426456437e+00 -3.997526663815754e+00 - -4.000092603222488e+00 -4.002662250581340e+00 -4.005235606353252e+00 -4.007812671084819e+00 -4.010393451108941e+00 - -4.012977952843547e+00 -4.015566177260363e+00 -4.018158124897606e+00 -4.020753800005660e+00 -4.023353207686703e+00 - -4.025956352737950e+00 -4.028563239140089e+00 -4.031173867912699e+00 -4.033788240453579e+00 -4.036406362634527e+00 - -4.039028240314873e+00 -4.041653874830120e+00 -4.044283267179555e+00 -4.046916421541453e+00 -4.049553342894448e+00 - -4.052194036239657e+00 -4.054838505774454e+00 -4.057486752458788e+00 -4.060138777601743e+00 -4.062794587146426e+00 - -4.065454187011838e+00 -4.068117578386588e+00 -4.070784762448621e+00 -4.073455745063631e+00 -4.076130532171974e+00 - -4.078809125324914e+00 -4.081491525652789e+00 -4.084177736991329e+00 -4.086867764089578e+00 -4.089561612644448e+00 - -4.092259287473573e+00 -4.094960788929582e+00 -4.097666117736884e+00 -4.100375280572002e+00 -4.103088284211306e+00 - -4.105805129878449e+00 -4.108525818267906e+00 -4.111250353510137e+00 -4.113978740671802e+00 -4.116710985128399e+00 - -4.119447091422845e+00 -4.122187060458915e+00 -4.124930893522407e+00 -4.127678597066370e+00 -4.130430177441071e+00 - -4.133185635418395e+00 -4.135944971791250e+00 -4.138708193015015e+00 -4.141475305696859e+00 -4.144246311388639e+00 - -4.147021211130915e+00 -4.149800008974389e+00 -4.152582709893380e+00 -4.155369319546537e+00 -4.158159842709882e+00 - -4.160954279944561e+00 -4.163752632239020e+00 -4.166554906505763e+00 -4.169361109687737e+00 -4.172171242925584e+00 - -4.174985306927709e+00 -4.177803306475812e+00 -4.180625247195196e+00 -4.183451134012302e+00 -4.186280970992621e+00 - -4.189114759456745e+00 -4.191952501240072e+00 -4.194794202982180e+00 -4.197639871116617e+00 -4.200489506448629e+00 - -4.203343109834506e+00 -4.206200687962978e+00 -4.209062247657938e+00 -4.211927790451525e+00 -4.214797317400862e+00 - -4.217670832954751e+00 -4.220548342457539e+00 -4.223429851444060e+00 -4.226315364591702e+00 -4.229204882957573e+00 - -4.232098408004153e+00 -4.234995946435681e+00 -4.237897504949240e+00 -4.240803084971501e+00 -4.243712687544032e+00 - -4.246626317438374e+00 -4.249543980343883e+00 -4.252465681891192e+00 -4.255391426705907e+00 -4.258321215452209e+00 - -4.261255049361277e+00 -4.264192935893713e+00 -4.267134882389568e+00 -4.270080889477248e+00 -4.273030957691918e+00 - -4.275985093907401e+00 -4.278943305249538e+00 -4.281905593513557e+00 -4.284871959946388e+00 -4.287842408932329e+00 - -4.290816945777364e+00 -4.293795576336856e+00 -4.296778305653331e+00 -4.299765134968560e+00 -4.302756065899131e+00 - -4.305751105361620e+00 -4.308750260118541e+00 -4.311753531016159e+00 -4.314760919008608e+00 -4.317772431397722e+00 - -4.320788075591533e+00 -4.323807853075197e+00 -4.326831764792573e+00 -4.329859815445223e+00 -4.332892010759197e+00 - -4.335928356800809e+00 -4.338968858700405e+00 -4.342013517504197e+00 -4.345062334602749e+00 -4.348115316848165e+00 - -4.351172471198577e+00 -4.354233799574710e+00 -4.357299303495111e+00 -4.360368987907023e+00 -4.363442858590077e+00 - -4.366520921224746e+00 -4.369603180592436e+00 -4.372689637977453e+00 -4.375780295145305e+00 -4.378875159283436e+00 - -4.381974237486932e+00 -4.385077531059527e+00 -4.388185041309383e+00 -4.391296775353732e+00 -4.394412740393244e+00 - -4.397532938153312e+00 -4.400657369887305e+00 -4.403786040435705e+00 -4.406918955633090e+00 -4.410056121703311e+00 - -4.413197543940346e+00 -4.416343223529426e+00 -4.419493162052248e+00 -4.422647366785128e+00 -4.425805845047289e+00 - -4.428968598634965e+00 -4.432135628892382e+00 -4.435306940878729e+00 -4.438482540596634e+00 -4.441662434107552e+00 - -4.444846626509031e+00 -4.448035118984182e+00 -4.451227913265940e+00 -4.454425017200977e+00 -4.457626438485681e+00 - -4.460832178101560e+00 -4.464042236947444e+00 -4.467256622306292e+00 -4.470475341701105e+00 -4.473698397230936e+00 - -4.476925790483307e+00 -4.480157526423565e+00 -4.483393610985775e+00 -4.486634050601043e+00 -4.489878850742320e+00 - -4.493128012552872e+00 -4.496381537630165e+00 -4.499639433718156e+00 -4.502901708553144e+00 -4.506168363694287e+00 - -4.509439400268067e+00 -4.512714823847340e+00 -4.515994641019672e+00 -4.519278857985080e+00 -4.522567479881829e+00 - -4.525860507988668e+00 -4.529157944122721e+00 -4.532459796114085e+00 -4.535766071688615e+00 -4.539076772142213e+00 - -4.542391898765175e+00 -4.545711459255270e+00 -4.549035461446213e+00 -4.552363907308053e+00 -4.555696798263391e+00 - -4.559034139408705e+00 -4.562375936904542e+00 -4.565722197493832e+00 -4.569072926948550e+00 -4.572428126574475e+00 - -4.575787798129616e+00 -4.579151949647104e+00 -4.582520589075836e+00 -4.585893717752653e+00 -4.589271336639746e+00 - -4.592653451812744e+00 -4.596040070428725e+00 -4.599431198857142e+00 -4.602826842289216e+00 -4.606227001990830e+00 - -4.609631679831751e+00 -4.613040884022596e+00 -4.616454622677202e+00 -4.619872897181441e+00 -4.623295708819967e+00 - -4.626723065200532e+00 -4.630154974192006e+00 -4.633591438384649e+00 -4.637032459790966e+00 -4.640478043391029e+00 - -4.643928195196958e+00 -4.647382922381489e+00 -4.650842231139545e+00 -4.654306122594169e+00 -4.657774598295235e+00 - -4.661247666571815e+00 -4.664725335805659e+00 -4.668207607810025e+00 -4.671694483876048e+00 -4.675185969774820e+00 - -4.678682072408495e+00 -4.682182798723523e+00 -4.685688154522786e+00 -4.689198140990583e+00 -4.692712759891060e+00 - -4.696232019926335e+00 -4.699755929666950e+00 -4.703284490219185e+00 -4.706817702626076e+00 -4.710355575141943e+00 - -4.713898116290367e+00 -4.717445328460708e+00 -4.720997213393779e+00 -4.724553776370427e+00 -4.728115023824750e+00 - -4.731680963263822e+00 -4.735251601139764e+00 -4.738826938611875e+00 -4.742406977241646e+00 -4.745991725492132e+00 - -4.749581191958943e+00 -4.753175378866366e+00 -4.756774287871428e+00 -4.760377924733439e+00 -4.763986296289299e+00 - -4.767599409584012e+00 -4.771217270615820e+00 -4.774839880987831e+00 -4.778467242836293e+00 -4.782099364825118e+00 - -4.785736255481164e+00 -4.789377916255392e+00 -4.793024348603915e+00 -4.796675561079348e+00 -4.800331562360717e+00 - -4.803992354536202e+00 -4.807657939173200e+00 -4.811328322346788e+00 -4.815003511262576e+00 -4.818683513140625e+00 - -4.822368334073276e+00 -4.826057975627521e+00 -4.829752439872078e+00 -4.833451735407881e+00 -4.837155870922971e+00 - -4.840864848921632e+00 -4.844578671297884e+00 -4.848297343688468e+00 -4.852020872870312e+00 -4.855749266438375e+00 - -4.859482530948563e+00 -4.863220667982479e+00 -4.866963679596293e+00 -4.870711574718753e+00 -4.874464362148352e+00 - -4.878222043289993e+00 -4.881984619584831e+00 -4.885752100012597e+00 -4.889524493673498e+00 -4.893301802611106e+00 - -4.897084028340568e+00 -4.900871177319985e+00 -4.904663257144151e+00 -4.908460275011687e+00 -4.912262236942902e+00 - -4.916069144641015e+00 -4.919881000415621e+00 -4.923697813318887e+00 -4.927519592402767e+00 -4.931346339975771e+00 - -4.935178057730553e+00 -4.939014751639765e+00 -4.942856428895341e+00 -4.946703097286389e+00 -4.950554763469543e+00 - -4.954411428974413e+00 -4.958273095882141e+00 -4.962139773607051e+00 -4.966011471374763e+00 -4.969888190322918e+00 - -4.973769931656962e+00 -4.977656704941523e+00 -4.981548519919207e+00 -4.985445378685372e+00 -4.989347282670139e+00 - -4.993254238289898e+00 -4.997166253181426e+00 -5.001083334876794e+00 -5.005005489750602e+00 -5.008932719652265e+00 - -5.012865027026571e+00 -5.016802421224969e+00 -5.020744911403345e+00 -5.024692499028711e+00 -5.028645185619313e+00 - -5.032602980587180e+00 -5.036565893470627e+00 -5.040533926419334e+00 -5.044507081015939e+00 -5.048485363963517e+00 - -5.052468783200935e+00 -5.056457346489804e+00 -5.060451060330298e+00 -5.064449926354071e+00 -5.068453946757710e+00 - -5.072463130865962e+00 -5.076477488052552e+00 -5.080497020758939e+00 -5.084521730904982e+00 -5.088551625256381e+00 - -5.092586711696772e+00 -5.096626997735727e+00 -5.100672489712744e+00 -5.104723189661156e+00 -5.108779100266077e+00 - -5.112840231125939e+00 -5.116906591587866e+00 -5.120978183080382e+00 -5.125055007124604e+00 -5.129137073530554e+00 - -5.133224392250169e+00 -5.137316965514153e+00 -5.141414794882011e+00 -5.145517886949661e+00 -5.149626249667421e+00 - -5.153739891366810e+00 -5.157858819095347e+00 -5.161983034383363e+00 -5.166112539324860e+00 -5.170247343785729e+00 - -5.174387457616170e+00 -5.178532882831751e+00 -5.182683620936045e+00 -5.186839679219287e+00 -5.191001066208124e+00 - -5.195167789588259e+00 -5.199339855740569e+00 -5.203517266667578e+00 -5.207700025095241e+00 -5.211888141021600e+00 - -5.216081624199723e+00 -5.220280476130696e+00 -5.224484698310884e+00 -5.228694300469721e+00 -5.232909292611727e+00 - -5.237129677608738e+00 -5.241355457600706e+00 -5.245586638932716e+00 -5.249823229255573e+00 -5.254065237237846e+00 - -5.258312670369801e+00 -5.262565530410686e+00 -5.266823819583928e+00 -5.271087547700648e+00 -5.275356724632263e+00 - -5.279631352903723e+00 -5.283911434448228e+00 -5.288196976178466e+00 -5.292487986327965e+00 -5.296784473434150e+00 - -5.301086444698075e+00 -5.305393901671405e+00 -5.309706846569482e+00 -5.314025289911748e+00 -5.318349242027271e+00 - -5.322678704179561e+00 -5.327013677718438e+00 -5.331354173404511e+00 -5.335700202105029e+00 -5.340051765703035e+00 - -5.344408865432155e+00 -5.348771508912536e+00 -5.353139705124518e+00 -5.357513462102698e+00 -5.361892786505948e+00 - -5.366277680435933e+00 -5.370668146715638e+00 -5.375064195610523e+00 -5.379465837274747e+00 -5.383873073974794e+00 - -5.388285907439377e+00 -5.392704345133761e+00 -5.397128395890300e+00 -5.401558068273167e+00 -5.405993369375257e+00 - -5.410434300672517e+00 -5.414880864443758e+00 -5.419333071796174e+00 -5.423790933634701e+00 -5.428254451226888e+00 - -5.432723625834648e+00 -5.437198468334746e+00 -5.441678989715544e+00 -5.446165191796978e+00 -5.450657075821366e+00 - -5.455154649888983e+00 -5.459657923508107e+00 -5.464166904961132e+00 -5.468681600997277e+00 -5.473202013458992e+00 - -5.477728145011161e+00 -5.482260006515158e+00 -5.486797608759512e+00 -5.491340954044872e+00 -5.495890044003880e+00 - -5.500444886085005e+00 -5.505005489175888e+00 -5.509571862105057e+00 -5.514144012303452e+00 -5.518721941670775e+00 - -5.523305652810777e+00 -5.527895156674663e+00 -5.532490463993778e+00 -5.537091576272570e+00 -5.541698495053784e+00 - -5.546311231260242e+00 -5.550929796018560e+00 -5.555554191890502e+00 -5.560184420697174e+00 -5.564820489861896e+00 - -5.569462408240030e+00 -5.574110184812914e+00 -5.578763827204064e+00 -5.583423337479740e+00 -5.588088718319627e+00 - -5.592759980414353e+00 -5.597437134453794e+00 -5.602120183113874e+00 -5.606809128447821e+00 -5.611503978032022e+00 - -5.616204740842362e+00 -5.620911425929568e+00 -5.625624040919794e+00 -5.630342587666039e+00 -5.635067068763208e+00 - -5.639797495546991e+00 -5.644533879170592e+00 -5.649276221316504e+00 -5.654024523642824e+00 -5.658778797180806e+00 - -5.663539053129186e+00 -5.668305293983524e+00 -5.673077521581335e+00 -5.677855743831122e+00 -5.682639970117403e+00 - -5.687430209657800e+00 -5.692226470164904e+00 -5.697028753498052e+00 -5.701837062188433e+00 -5.706651407307890e+00 - -5.711471800003379e+00 -5.716298243181697e+00 -5.721130739014699e+00 -5.725969294974640e+00 -5.730813920019088e+00 - -5.735664623746429e+00 -5.740521414337008e+00 -5.745384293658165e+00 -5.750253264219532e+00 -5.755128337412918e+00 - -5.760009524502356e+00 -5.764896827358567e+00 -5.769790247833362e+00 -5.774689797096235e+00 -5.779595486532854e+00 - -5.784507319075965e+00 -5.789425296924678e+00 -5.794349427796488e+00 -5.799279720850703e+00 -5.804216185495535e+00 - -5.809158829710795e+00 -5.814107655513784e+00 -5.819062665706917e+00 -5.824023872195552e+00 -5.828991286593848e+00 - -5.833964910248241e+00 -5.838944744496904e+00 -5.843930800912663e+00 -5.848923091405570e+00 -5.853921618999967e+00 - -5.858926385866531e+00 -5.863937399646989e+00 -5.868954669511408e+00 -5.873978205272220e+00 -5.879008015280387e+00 - -5.884044101398642e+00 -5.889086466127434e+00 -5.894135121006329e+00 -5.899190077679159e+00 -5.904251339167730e+00 - -5.909318907675908e+00 -5.914392790757818e+00 -5.919472997569684e+00 -5.924559538325873e+00 -5.929652421747786e+00 - -5.934751649526802e+00 -5.939857223994977e+00 -5.944969157077114e+00 -5.950087460588470e+00 -5.955212136313389e+00 - -5.960343186070434e+00 -5.965480621845905e+00 -5.970624455737114e+00 -5.975774690117698e+00 -5.980931326619691e+00 - -5.986094373632355e+00 -5.991263841186835e+00 -5.996439739124646e+00 -6.001622075628632e+00 -6.006810852436582e+00 - -6.012006072105073e+00 -6.017207746910874e+00 -6.022415889122929e+00 -6.027630501258702e+00 -6.032851585034692e+00 - -6.038079148714933e+00 -6.043313202169935e+00 -6.048553755148549e+00 -6.053800815867540e+00 -6.059054386536941e+00 - -6.064314470164098e+00 -6.069581078952353e+00 -6.074854224823474e+00 -6.080133909377011e+00 -6.085420134277816e+00 - -6.090712911774160e+00 -6.096012254273324e+00 -6.101318164235261e+00 -6.106630643404864e+00 -6.111949700614082e+00 - -6.117275346267099e+00 -6.122607589969956e+00 -6.127946439669295e+00 -6.133291897472249e+00 -6.138643966380033e+00 - -6.144002658809652e+00 -6.149367987035877e+00 -6.154739953348771e+00 -6.160118559324411e+00 -6.165503813667637e+00 - -6.170895726810269e+00 -6.176294308963303e+00 -6.181699568610070e+00 -6.187111507544039e+00 -6.192530128394146e+00 - -6.197955443821025e+00 -6.203387466288188e+00 -6.208826197438971e+00 -6.214271638855750e+00 -6.219723802697215e+00 - -6.225182701452046e+00 -6.230648338352550e+00 -6.236120715733020e+00 -6.241599841591995e+00 -6.247085725644578e+00 - -6.252578378807894e+00 -6.258077810320607e+00 -6.263584021505486e+00 -6.269097014385768e+00 -6.274616801702433e+00 - -6.280143396389799e+00 -6.285676801437800e+00 -6.291217018848358e+00 -6.296764056615736e+00 -6.302317924554712e+00 - -6.307878633769864e+00 -6.313446193664602e+00 -6.319020605547922e+00 -6.324601871487839e+00 -6.330190004682891e+00 - -6.335785018206249e+00 -6.341386913499118e+00 -6.346995691980793e+00 -6.352611366614864e+00 -6.358233950592316e+00 - -6.363863446469443e+00 -6.369499855900457e+00 -6.375143187565898e+00 -6.380793451939097e+00 -6.386450659638202e+00 - -6.392114819555641e+00 -6.397785933536126e+00 -6.403464004233896e+00 -6.409149044588990e+00 -6.414841067513965e+00 - -6.420540075525660e+00 -6.426246070301758e+00 -6.431959060559017e+00 -6.437679056917068e+00 -6.443406070567963e+00 - -6.449140110779302e+00 -6.454881178548420e+00 -6.460629275812415e+00 -6.466384416537711e+00 -6.472146614484319e+00 - -6.477915870557313e+00 -6.483692185657911e+00 -6.489475573526882e+00 -6.495266048141532e+00 -6.501063611585819e+00 - -6.506868264986595e+00 -6.512680017535606e+00 -6.518498880384615e+00 -6.524324864460620e+00 -6.530157978732819e+00 - -6.535998224564008e+00 -6.541845604255500e+00 -6.547700131469085e+00 -6.553561819849423e+00 -6.559430671612207e+00 - -6.565306688088189e+00 -6.571189878497283e+00 -6.577080253965905e+00 -6.582977825357318e+00 -6.588882601649868e+00 - -6.594794584545345e+00 -6.600713776640095e+00 -6.606640191385222e+00 -6.612573842086468e+00 -6.618514730613387e+00 - -6.624462858757332e+00 -6.630418239433046e+00 -6.636380885778538e+00 -6.642350800701542e+00 -6.648327986279747e+00 - -6.654312451500913e+00 -6.660304207148021e+00 -6.666303264274883e+00 -6.672309632144893e+00 -6.678323312588955e+00 - -6.684344308236361e+00 -6.690372632342481e+00 -6.696408298209058e+00 -6.702451308697293e+00 -6.708501665794167e+00 - -6.714559378430309e+00 -6.720624457416141e+00 -6.726696914137652e+00 -6.732776758078630e+00 -6.738863990538500e+00 - -6.744958613795213e+00 -6.751060642225177e+00 -6.757170089911689e+00 -6.763286957667176e+00 -6.769411246357500e+00 - -6.775542970333119e+00 -6.781682144164359e+00 -6.787828769816468e+00 -6.793982848306231e+00 -6.800144389461610e+00 - -6.806313405086916e+00 -6.812489906080716e+00 -6.818673901333698e+00 -6.824865392610781e+00 -6.831064382650163e+00 - -6.837270885208925e+00 -6.843484914029985e+00 -6.849706471780753e+00 -6.855935560196301e+00 -6.862172188357874e+00 - -6.868416367348060e+00 -6.874668108908677e+00 -6.880927422841348e+00 -6.887194310527692e+00 -6.893468774218006e+00 - -6.899750828057308e+00 -6.906040486046904e+00 -6.912337749718504e+00 -6.918642620544160e+00 -6.924955112226868e+00 - -6.931275238742860e+00 -6.937603002930438e+00 -6.943938406703657e+00 -6.950281459417487e+00 -6.956632172330878e+00 - -6.962990556877839e+00 -6.969356622516854e+00 -6.975730370629293e+00 -6.982111803620415e+00 -6.988500936068168e+00 - -6.994897782349220e+00 -7.001302343862422e+00 -7.007714621896787e+00 -7.014134630279748e+00 -7.020562383120512e+00 - -7.026997883116998e+00 -7.033441132058707e+00 -7.039892139512705e+00 -7.046350916975187e+00 -7.052817475881351e+00 - -7.059291825658977e+00 -7.065773967767182e+00 -7.072263904706783e+00 -7.078761651114045e+00 -7.085267221537997e+00 - -7.091780618043302e+00 -7.098301841735545e+00 -7.104830902368316e+00 -7.111367811800725e+00 -7.117912581665987e+00 - -7.124465221496127e+00 -7.131025732644298e+00 -7.137594117517873e+00 -7.144170390919956e+00 -7.150754567380619e+00 - -7.157346647942116e+00 -7.163946633668109e+00 -7.170554539195697e+00 -7.177170379365883e+00 -7.183794156261903e+00 - -7.190425870988396e+00 -7.197065533493338e+00 -7.203713155838439e+00 -7.210368749697043e+00 -7.217032324589560e+00 - -7.223703881813015e+00 -7.230383423705708e+00 -7.237070964994412e+00 -7.243766520390449e+00 -7.250470092154861e+00 - -7.257181681552523e+00 -7.263901298313877e+00 -7.270628954301988e+00 -7.277364661444877e+00 -7.284108429522252e+00 - -7.290860259655573e+00 -7.297620154032538e+00 -7.304388127764033e+00 -7.311164195737019e+00 -7.317948359019635e+00 - -7.324740618617562e+00 -7.331540989105481e+00 -7.338349485298712e+00 -7.345166109406192e+00 -7.351990862719772e+00 - -7.358823755469352e+00 -7.365664799915581e+00 -7.372514007504119e+00 -7.379371387574386e+00 -7.386236941855793e+00 - -7.393110673113762e+00 -7.399992595867711e+00 -7.406882724521767e+00 -7.413781061264927e+00 -7.420687607444220e+00 - -7.427602373253923e+00 -7.434525370953283e+00 -7.441456612214240e+00 -7.448396106579596e+00 -7.455343855662903e+00 - -7.462299862106879e+00 -7.469264140600134e+00 -7.476236705537742e+00 -7.483217558094771e+00 -7.490206699573982e+00 - -7.497204145008848e+00 -7.504209909607961e+00 -7.511223995549668e+00 -7.518246403916826e+00 -7.525277144440522e+00 - -7.532316229110418e+00 -7.539363670302306e+00 -7.546419478207750e+00 -7.553483653895294e+00 -7.560556199398457e+00 - -7.567637129733686e+00 -7.574726459966183e+00 -7.581824192373288e+00 -7.588930328179804e+00 -7.596044877188221e+00 - -7.603167851392376e+00 -7.610299262973792e+00 -7.617439121971403e+00 -7.624587429666054e+00 -7.631744188388593e+00 - -7.638909413427992e+00 -7.646083119762239e+00 -7.653265308167305e+00 -7.660455979470388e+00 -7.667655148905554e+00 - -7.674862831955687e+00 -7.682079030692125e+00 -7.689303746121935e+00 -7.696536988406601e+00 -7.703778769965018e+00 - -7.711029103091334e+00 -7.718287997777487e+00 -7.725555454931286e+00 -7.732831476489904e+00 -7.740116077592081e+00 - -7.747409273463959e+00 -7.754711066479733e+00 -7.762021457991705e+00 -7.769340458116517e+00 -7.776668079072852e+00 - -7.784004332723263e+00 -7.791349228774319e+00 -7.798702768664788e+00 -7.806064954991001e+00 -7.813435803247359e+00 - -7.820815328504128e+00 -7.828203531237023e+00 -7.835600412067597e+00 -7.843005986795347e+00 -7.850420271453628e+00 - -7.857843267833355e+00 -7.865274976500961e+00 -7.872715407367362e+00 -7.880164572827870e+00 -7.887622485870939e+00 - -7.895089157097287e+00 -7.902564586963549e+00 -7.910048776908389e+00 -7.917541742442640e+00 -7.925043499243823e+00 - -7.932554049584044e+00 -7.940073394568305e+00 -7.947601544038569e+00 -7.955138510136092e+00 -7.962684305462377e+00 - -7.970238940357911e+00 -7.977802415658878e+00 -7.985374733292938e+00 -7.992955909057959e+00 -8.000545958501995e+00 - -8.008144882303682e+00 -8.015752681155906e+00 -8.023369370677967e+00 -8.030994966700497e+00 -8.038629470973136e+00 - -8.046272884117311e+00 -8.053925216322545e+00 -8.061586480220186e+00 -8.069256688640843e+00 -8.076935852017314e+00 - -8.084623970991846e+00 -8.092321047230506e+00 -8.100027096285098e+00 -8.107742133772728e+00 -8.115466161685978e+00 - -8.123199180963685e+00 -8.130941201954130e+00 -8.138692237272345e+00 -8.146452299190864e+00 -8.154221397655556e+00 - -8.161999533648068e+00 -8.169786709369063e+00 -8.177582940859525e+00 -8.185388243772254e+00 -8.193202618367051e+00 - -8.201026064968486e+00 -8.208858599553158e+00 -8.216700238370747e+00 -8.224550983111227e+00 -8.232410834288519e+00 - -8.240279802271914e+00 -8.248157899820946e+00 -8.256045139400785e+00 -8.263941531127587e+00 -8.271847076015916e+00 - -8.279761776165609e+00 -8.287685647119202e+00 -8.295618704371698e+00 -8.303560949785306e+00 -8.311512384182917e+00 - -8.319473017862927e+00 -8.327442863513763e+00 -8.335421933908444e+00 -8.343410239406900e+00 -8.351407780632112e+00 - -8.359414559352070e+00 -8.367430591651793e+00 -8.375455893292965e+00 -8.383490464426892e+00 -8.391534305333888e+00 - -8.399587432420665e+00 -8.407649862295598e+00 -8.415721596247392e+00 -8.423802634359653e+00 -8.431892987215194e+00 - -8.439992667917126e+00 -8.448101689150496e+00 -8.456220061058572e+00 -8.464347784035521e+00 -8.472484859778373e+00 - -8.480631304944675e+00 -8.488787135775029e+00 -8.496952351881781e+00 -8.505126952972617e+00 -8.513310955764712e+00 - -8.521504377280520e+00 -8.529707218754108e+00 -8.537919480083488e+00 -8.546141171610756e+00 -8.554372306334406e+00 - -8.562612897434500e+00 -8.570862955488629e+00 -8.579122480482935e+00 -8.587391473585072e+00 -8.595669951280222e+00 - -8.603957930092136e+00 -8.612255411381385e+00 -8.620562395277888e+00 -8.628878892152137e+00 -8.637204914976417e+00 - -8.645540476889700e+00 -8.653885588365707e+00 -8.662240249050400e+00 -8.670604460002718e+00 -8.678978238761259e+00 - -8.687361602440037e+00 -8.695754549975142e+00 -8.704157080317993e+00 -8.712569210659231e+00 -8.720990958572770e+00 - -8.729422324926496e+00 -8.737863309144757e+00 -8.746313921583734e+00 -8.754774175423437e+00 -8.763244084207386e+00 - -8.771723658743657e+00 -8.780212898534927e+00 -8.788711804325507e+00 -8.797220393131562e+00 -8.805738681960509e+00 - -8.814266671512945e+00 -8.822804361262596e+00 -8.831351762082482e+00 -8.839908887544672e+00 -8.848475750618142e+00 - -8.857052361519681e+00 -8.865638720060298e+00 -8.874234827408518e+00 -8.882840700568694e+00 -8.891456356239988e+00 - -8.900081794065120e+00 -8.908717013654563e+00 -8.917362031546196e+00 -8.926016864607513e+00 -8.934681514097109e+00 - -8.943355979966887e+00 -8.952040272550780e+00 -8.960734404827180e+00 -8.969438389970174e+00 -8.978152238557112e+00 - -8.986875950582608e+00 -8.995609527224275e+00 -9.004352984974421e+00 -9.013106340348738e+00 -9.021869594641789e+00 - -9.030642747850949e+00 -9.039425810005964e+00 -9.048218793898496e+00 -9.057021713335553e+00 -9.065834579375275e+00 - -9.074657391064932e+00 -9.083490148798390e+00 -9.092332870366718e+00 -9.101185573233034e+00 -9.110048256151465e+00 - -9.118920917820537e+00 -9.127803575425368e+00 -9.136696246597257e+00 -9.145598932265708e+00 -9.154511631860180e+00 - -9.163434355511646e+00 -9.172367116215408e+00 -9.181309927722621e+00 -9.190262801063124e+00 -9.199225735625708e+00 - -9.208198731948572e+00 -9.217181806808554e+00 -9.226174977077383e+00 -9.235178243767663e+00 -9.244191606592038e+00 - -9.253215075922315e+00 -9.262248664894432e+00 -9.271292387041701e+00 -9.280346253080740e+00 -9.289410262064051e+00 - -9.298484414471314e+00 -9.307568728155069e+00 -9.316663220573421e+00 -9.325767890233902e+00 -9.334882735648362e+00 - -9.344007774296474e+00 -9.353143024056331e+00 -9.362288485431986e+00 -9.371444157433135e+00 -9.380610050466057e+00 - -9.389786177888119e+00 -9.398972553464475e+00 -9.408169188076664e+00 -9.417376080663951e+00 -9.426593231436920e+00 - -9.435820657633688e+00 -9.445058376575700e+00 -9.454306388890288e+00 -9.463564693828612e+00 -9.472833301831271e+00 - -9.482112226230582e+00 -9.491401480736307e+00 -9.500701076124317e+00 -9.510011011057383e+00 -9.519331285649606e+00 - -9.528661917933491e+00 -9.538002925632075e+00 -9.547354307312132e+00 -9.556716061430350e+00 -9.566088205159264e+00 - -9.575470756067922e+00 -9.584863714595665e+00 -9.594267079809105e+00 -9.603680862413734e+00 -9.613105076017005e+00 - -9.622539734195460e+00 -9.631984847535897e+00 -9.641440414697058e+00 -9.650906435763309e+00 -9.660382928449559e+00 - -9.669869910482992e+00 -9.679367382009378e+00 -9.688875341677877e+00 -9.698393799732578e+00 -9.707922769547205e+00 - -9.717462265419133e+00 -9.727012298576232e+00 -9.736572867044643e+00 -9.746143970285512e+00 -9.755725626701739e+00 - -9.765317854403191e+00 -9.774920651385886e+00 -9.784534015610914e+00 -9.794157965013451e+00 -9.803792517858509e+00 - -9.813437673756464e+00 -9.823093430886084e+00 -9.832759800354408e+00 -9.842436796281985e+00 -9.852124431915341e+00 - -9.861822717446652e+00 -9.871531651724764e+00 -9.881251235098006e+00 -9.890981485255914e+00 -9.900722419735771e+00 - -9.910474038124631e+00 -9.920236338721825e+00 -9.930009332625946e+00 -9.939793033953066e+00 -9.949587456089942e+00 - -9.959392609292857e+00 -9.969208492025555e+00 -9.979035104343238e+00 -9.988872464459540e+00 -9.998720590171930e+00 - -1.000857947945488e+01 -1.001844913033355e+01 -1.002832956085879e+01 -1.003822078906736e+01 -1.004812281291406e+01 - -1.005803562971182e+01 -1.006795925428782e+01 -1.007789370360111e+01 -1.008783898562387e+01 -1.009779510571246e+01 - -1.010776206774677e+01 -1.011773987740720e+01 -1.012772854905251e+01 -1.013772809631413e+01 -1.014773852123577e+01 - -1.015775982444731e+01 -1.016779201251112e+01 -1.017783509576905e+01 -1.018788909374848e+01 -1.019795402262726e+01 - -1.020802987599985e+01 -1.021811664796306e+01 -1.022821435720666e+01 -1.023832302389762e+01 -1.024844264951883e+01 - -1.025857323411911e+01 -1.026871479069502e+01 -1.027886733277511e+01 -1.028903086306819e+01 -1.029920538356622e+01 - -1.030939090421369e+01 -1.031958743714735e+01 -1.032979499532081e+01 -1.034001358910991e+01 -1.035024321776280e+01 - -1.036048388191000e+01 -1.037073559883907e+01 -1.038099838556339e+01 -1.039127224134250e+01 -1.040155716512729e+01 - -1.041185317238784e+01 -1.042216027887615e+01 -1.043247848495290e+01 -1.044280779013644e+01 -1.045314820596725e+01 - -1.046349974688984e+01 -1.047386242694284e+01 -1.048423625623699e+01 -1.049462122957744e+01 -1.050501734396915e+01 - -1.051542462052187e+01 -1.052584308069211e+01 -1.053627272321853e+01 -1.054671354447971e+01 -1.055716555413174e+01 - -1.056762876571201e+01 -1.057810319500591e+01 -1.058858885406686e+01 -1.059908573777257e+01 -1.060959384260205e+01 - -1.062011318861535e+01 -1.063064379594653e+01 -1.064118566144451e+01 -1.065173878128750e+01 -1.066230317225584e+01 - -1.067287885251234e+01 -1.068346582514766e+01 -1.069406409086973e+01 -1.070467365592747e+01 -1.071529452946521e+01 - -1.072592672666786e+01 -1.073657026057826e+01 -1.074722512963040e+01 -1.075789133336255e+01 -1.076856889033910e+01 - -1.077925781838790e+01 -1.078995811336476e+01 -1.080066977044343e+01 -1.081139280404170e+01 -1.082212723175914e+01 - -1.083287306467895e+01 -1.084363031023443e+01 -1.085439896777578e+01 -1.086517903841335e+01 -1.087597053838113e+01 - -1.088677348334085e+01 -1.089758787154147e+01 -1.090841370173705e+01 -1.091925099211483e+01 -1.093009976068779e+01 - -1.094096000533889e+01 -1.095183172286895e+01 -1.096271492588021e+01 -1.097360962990334e+01 -1.098451584638146e+01 - -1.099543358339704e+01 -1.100636283967740e+01 -1.101730361593110e+01 -1.102825593014644e+01 -1.103921979985815e+01 - -1.105019522350652e+01 -1.106118219809120e+01 -1.107218073394329e+01 -1.108319084475604e+01 -1.109421254433972e+01 - -1.110524584310812e+01 -1.111629073777213e+01 -1.112734722664297e+01 -1.113841532813614e+01 -1.114949506055284e+01 - -1.116058642163307e+01 -1.117168940919924e+01 -1.118280404196459e+01 -1.119393033845125e+01 -1.120506829552628e+01 - -1.121621790821428e+01 -1.122737918582522e+01 -1.123855214233318e+01 -1.124973679608346e+01 -1.126093316109601e+01 - -1.127214122971816e+01 -1.128336099568353e+01 -1.129459247994368e+01 -1.130583570391351e+01 -1.131709066364352e+01 - -1.132835735316995e+01 -1.133963578383626e+01 -1.135092597165251e+01 -1.136222793398803e+01 -1.137354168289046e+01 - -1.138486720776133e+01 -1.139620450077960e+01 -1.140755358788016e+01 -1.141891449467379e+01 -1.143028721171902e+01 - -1.144167172931863e+01 -1.145306807180483e+01 -1.146447626363145e+01 -1.147589629570943e+01 -1.148732815744427e+01 - -1.149877186576219e+01 -1.151022744176966e+01 -1.152169489577362e+01 -1.153317423307527e+01 -1.154466544975234e+01 - -1.155616854500299e+01 -1.156768353973055e+01 -1.157921045411968e+01 -1.159074928377541e+01 -1.160230002278200e+01 - -1.161386268372032e+01 -1.162543728297182e+01 -1.163702383362365e+01 -1.164862234413445e+01 -1.166023280774309e+01 - -1.167185522083641e+01 -1.168348960761297e+01 -1.169513599109641e+01 -1.170679436179895e+01 -1.171846471050954e+01 - -1.173014706163534e+01 -1.174184143967664e+01 -1.175354783588804e+01 -1.176526623959987e+01 -1.177699666569085e+01 - -1.178873913359907e+01 -1.180049365545172e+01 -1.181226023874721e+01 -1.182403887977966e+01 -1.183582957710202e+01 - -1.184763234950681e+01 -1.185944721571250e+01 -1.187127417390187e+01 -1.188311322026980e+01 -1.189496436359524e+01 - -1.190682761635663e+01 -1.191870299324639e+01 -1.193059050542573e+01 -1.194249014771712e+01 -1.195440191732676e+01 - -1.196632583733436e+01 -1.197826192918009e+01 -1.199021018187259e+01 -1.200217058481946e+01 -1.201414316145583e+01 - -1.202612793653577e+01 -1.203812490606177e+01 -1.205013406283600e+01 -1.206215541561094e+01 -1.207418897775090e+01 - -1.208623476511758e+01 -1.209829279023755e+01 -1.211036304979982e+01 -1.212244554104682e+01 -1.213454027927224e+01 - -1.214664728029985e+01 -1.215876654402256e+01 -1.217089806888390e+01 -1.218304186346073e+01 -1.219519793969503e+01 - -1.220736631285608e+01 -1.221954699446002e+01 -1.223173997768314e+01 -1.224394525782826e+01 -1.225616285704409e+01 - -1.226839279716718e+01 -1.228063507193962e+01 -1.229288967419984e+01 -1.230515662126608e+01 -1.231743593190913e+01 - -1.232972760623024e+01 -1.234203164189830e+01 -1.235434804552219e+01 -1.236667682754052e+01 -1.237901800477097e+01 - -1.239137159078778e+01 -1.240373757981251e+01 -1.241611596680448e+01 -1.242850676902663e+01 -1.244091000477032e+01 - -1.245332567413717e+01 -1.246575377485128e+01 -1.247819431331654e+01 -1.249064729993889e+01 -1.250311275245252e+01 - -1.251559068470151e+01 -1.252808108764087e+01 -1.254058395403090e+01 -1.255309930674196e+01 -1.256562716858205e+01 - -1.257816753199971e+01 -1.259072038911156e+01 -1.260328576106586e+01 -1.261586366917709e+01 -1.262845410639316e+01 - -1.264105706405277e+01 -1.265367255542431e+01 -1.266630059802175e+01 -1.267894120441173e+01 -1.269159438291520e+01 - -1.270426012981745e+01 -1.271693844300063e+01 -1.272962933876972e+01 -1.274233283335257e+01 -1.275504892424538e+01 - -1.276777760888006e+01 -1.278051890316245e+01 -1.279327282335948e+01 -1.280603936870822e+01 -1.281881853703964e+01 - -1.283161033759003e+01 -1.284441478278821e+01 -1.285723188642777e+01 -1.287006165845383e+01 -1.288290409205257e+01 - -1.289575918258311e+01 -1.290862695085492e+01 -1.292150741744502e+01 -1.293440057655018e+01 -1.294730642109768e+01 - -1.296022496531707e+01 -1.297315622664438e+01 -1.298610021403966e+01 -1.299905693252094e+01 -1.301202637981436e+01 - -1.302500855607946e+01 -1.303800347850134e+01 -1.305101116311717e+01 -1.306403160434687e+01 -1.307706479749205e+01 - -1.309011076299821e+01 -1.310316952145874e+01 -1.311624106891474e+01 -1.312932539865738e+01 -1.314242251753035e+01 - -1.315553243732881e+01 -1.316865517610136e+01 -1.318179074759510e+01 -1.319493914209791e+01 -1.320810035188408e+01 - -1.322127440063306e+01 -1.323446131182036e+01 -1.324766107670098e+01 -1.326087368408213e+01 -1.327409914520021e+01 - -1.328733747660298e+01 -1.330058869365459e+01 -1.331385280702646e+01 -1.332712980980294e+01 -1.334041969690924e+01 - -1.335372248822127e+01 -1.336703820316815e+01 -1.338036683444133e+01 -1.339370837465144e+01 -1.340706284282357e+01 - -1.342043025877972e+01 -1.343381061911550e+01 -1.344720391854233e+01 -1.346061016746156e+01 -1.347402937953320e+01 - -1.348746156576247e+01 -1.350090673400032e+01 -1.351436488213541e+01 -1.352783600940468e+01 -1.354132013040003e+01 - -1.355481725974633e+01 -1.356832739684519e+01 -1.358185053959114e+01 -1.359538669507347e+01 -1.360893587411229e+01 - -1.362249809325635e+01 -1.363607336498644e+01 -1.364966167978290e+01 -1.366326303005515e+01 -1.367687743792930e+01 - -1.369050492543861e+01 -1.370414548452841e+01 -1.371779910680898e+01 -1.373146581263829e+01 -1.374514562258463e+01 - -1.375883852931014e+01 -1.377254452369323e+01 -1.378626361738342e+01 -1.379999582664259e+01 -1.381374116541099e+01 - -1.382749964295472e+01 -1.384127125216480e+01 -1.385505598801133e+01 -1.386885387015567e+01 -1.388266491822051e+01 - -1.389648912698253e+01 -1.391032648926665e+01 -1.392417701493663e+01 -1.393804071810552e+01 -1.395191761284479e+01 - -1.396580770902492e+01 -1.397971099975399e+01 -1.399362747983656e+01 -1.400755716762526e+01 -1.402150008127576e+01 - -1.403545621460787e+01 -1.404942556175519e+01 -1.406340814244217e+01 -1.407740397661280e+01 -1.409141305949836e+01 - -1.410543538386059e+01 -1.411947095729565e+01 -1.413351979216372e+01 -1.414758190504674e+01 -1.416165730817942e+01 - -1.417574599218579e+01 -1.418984794931155e+01 -1.420396319989974e+01 -1.421809176459019e+01 -1.423223363711269e+01 - -1.424638880961032e+01 -1.426055729478944e+01 -1.427473910897708e+01 -1.428893426241975e+01 -1.430314276106135e+01 - -1.431736459971596e+01 -1.433159977568000e+01 -1.434584830730895e+01 -1.436011021230267e+01 -1.437438548467938e+01 - -1.438867411856965e+01 -1.440297613223502e+01 -1.441729154417122e+01 -1.443162034967981e+01 -1.444596254173529e+01 - -1.446031812719803e+01 -1.447468711827448e+01 -1.448906953466952e+01 -1.450346539077074e+01 -1.451787467219810e+01 - -1.453229736674074e+01 -1.454673349963205e+01 -1.456118309651608e+01 -1.457564614723534e+01 -1.459012263904241e+01 - -1.460461258463169e+01 -1.461911600163362e+01 -1.463363290198108e+01 -1.464816329304780e+01 -1.466270716966852e+01 - -1.467726452861927e+01 -1.469183538698022e+01 -1.470641976118071e+01 -1.472101764474266e+01 -1.473562903182180e+01 - -1.475025394201659e+01 -1.476489239431922e+01 -1.477954437985420e+01 -1.479420988900897e+01 -1.480888893709030e+01 - -1.482358154289730e+01 -1.483828771427918e+01 -1.485300745484606e+01 -1.486774076220148e+01 -1.488248763590571e+01 - -1.489724808935241e+01 -1.491202213620220e+01 -1.492680977735018e+01 -1.494161101188853e+01 -1.495642584446314e+01 - -1.497125428281713e+01 -1.498609634152866e+01 -1.500095203243959e+01 -1.501582134961145e+01 -1.503070428834008e+01 - -1.504560086663885e+01 -1.506051110171047e+01 -1.507543498479744e+01 -1.509037250787217e+01 -1.510532369178669e+01 - -1.512028855781273e+01 -1.513526710002122e+01 -1.515025931004586e+01 -1.516526519697226e+01 -1.518028477406786e+01 - -1.519531805387558e+01 -1.521036504514735e+01 -1.522542574219565e+01 -1.524050014105165e+01 -1.525558825906066e+01 - -1.527069011317451e+01 -1.528580569745696e+01 -1.530093500454836e+01 -1.531607804428359e+01 -1.533123483115148e+01 - -1.534640538106230e+01 -1.536158970459035e+01 -1.537678778954449e+01 -1.539199962605270e+01 -1.540722523628471e+01 - -1.542246464244602e+01 -1.543771783484346e+01 -1.545298480379291e+01 -1.546826557154514e+01 -1.548356016030771e+01 - -1.549886856018057e+01 -1.551419075889859e+01 -1.552952676684366e+01 -1.554487659991805e+01 -1.556024027345857e+01 - -1.557561779759322e+01 -1.559100916218038e+01 -1.560641435912106e+01 -1.562183340875659e+01 -1.563726633124305e+01 - -1.565271311755539e+01 -1.566817375858786e+01 -1.568364827409284e+01 -1.569913668435983e+01 -1.571463898296877e+01 - -1.573015516140282e+01 -1.574568522946743e+01 -1.576122920078429e+01 -1.577678708591764e+01 -1.579235889192325e+01 - -1.580794461488044e+01 -1.582354425266206e+01 -1.583915782129173e+01 -1.585478533595468e+01 -1.587042679033195e+01 - -1.588608217713541e+01 -1.590175150670428e+01 -1.591743479377280e+01 -1.593313205302798e+01 -1.594884329356461e+01 - -1.596456850215542e+01 -1.598030766876410e+01 -1.599606081844003e+01 -1.601182797567503e+01 -1.602760912764517e+01 - -1.604340426053651e+01 -1.605921339389068e+01 -1.607503654929621e+01 -1.609087372317365e+01 -1.610672490846679e+01 - -1.612259010938000e+01 -1.613846933535691e+01 -1.615436260553746e+01 -1.617026993400350e+01 -1.618619130490810e+01 - -1.620212670496088e+01 -1.621807616102629e+01 -1.623403970021593e+01 -1.625001731047507e+01 -1.626600897617460e+01 - -1.628201470655392e+01 -1.629803451699528e+01 -1.631406842258372e+01 -1.633011643368945e+01 -1.634617854212047e+01 - -1.636225474110459e+01 -1.637834504811086e+01 -1.639444948009596e+01 -1.641056802772599e+01 -1.642670068226715e+01 - -1.644284746367691e+01 -1.645900839255391e+01 -1.647518346337059e+01 -1.649137266740475e+01 -1.650757600928198e+01 - -1.652379349905581e+01 -1.654002515514406e+01 -1.655627099138395e+01 -1.657253099492616e+01 -1.658880515436409e+01 - -1.660509349074862e+01 -1.662139602569388e+01 -1.663771275060954e+01 -1.665404365442992e+01 -1.667038874639235e+01 - -1.668674804082613e+01 -1.670312155212567e+01 -1.671950928959044e+01 -1.673591124207530e+01 -1.675232740091000e+01 - -1.676875778776886e+01 -1.678520242381186e+01 -1.680166129779755e+01 -1.681813439803682e+01 -1.683462174345131e+01 - -1.685112335404732e+01 -1.686763922355921e+01 -1.688416934305047e+01 -1.690071371917313e+01 -1.691727236387981e+01 - -1.693384529473730e+01 -1.695043252373442e+01 -1.696703403493436e+01 -1.698364981519248e+01 -1.700027989045860e+01 - -1.701692428668450e+01 -1.703358299073511e+01 -1.705025598664567e+01 -1.706694328621936e+01 -1.708364490699094e+01 - -1.710036086165371e+01 -1.711709115711999e+01 -1.713383578201967e+01 -1.715059472804424e+01 -1.716736801741393e+01 - -1.718415567151382e+01 -1.720095767785962e+01 -1.721777402421613e+01 -1.723460473321376e+01 -1.725144982735173e+01 - -1.726830929373925e+01 -1.728518311723097e+01 -1.730207130905323e+01 -1.731897388644410e+01 -1.733589086431708e+01 - -1.735282225151622e+01 -1.736976803493245e+01 -1.738672820398455e+01 -1.740370278015603e+01 -1.742069178532102e+01 - -1.743769521085149e+01 -1.745471304524893e+01 -1.747174529603476e+01 -1.748879197614670e+01 -1.750585310116775e+01 - -1.752292868122209e+01 -1.754001870195336e+01 -1.755712315207324e+01 -1.757424205704595e+01 -1.759137544124289e+01 - -1.760852328791187e+01 -1.762568558032359e+01 -1.764286234296404e+01 -1.766005360135051e+01 -1.767725934391039e+01 - -1.769447955614261e+01 -1.771171424892207e+01 -1.772896343807829e+01 -1.774622713388326e+01 -1.776350534196338e+01 - -1.778079805492016e+01 -1.779810526797336e+01 -1.781542699984077e+01 -1.783276326793605e+01 -1.785011406095838e+01 - -1.786747936642481e+01 -1.788485919583838e+01 -1.790225356596892e+01 -1.791966249066770e+01 -1.793708597750879e+01 - -1.795452401187612e+01 -1.797197658287230e+01 -1.798944371666477e+01 -1.800692543788475e+01 -1.802442172795408e+01 - -1.804193256819016e+01 -1.805945798270200e+01 -1.807699799758296e+01 -1.809455260407236e+01 -1.811212178929598e+01 - -1.812970555877947e+01 -1.814730392419934e+01 -1.816491690343573e+01 -1.818254450889657e+01 -1.820018672489731e+01 - -1.821784353770839e+01 -1.823551496951270e+01 -1.825320104351004e+01 -1.827090175105552e+01 -1.828861707995103e+01 - -1.830634703563002e+01 -1.832409162961503e+01 -1.834185088015348e+01 -1.835962479982180e+01 -1.837741337178776e+01 - -1.839521658191638e+01 -1.841303445627024e+01 -1.843086702044687e+01 -1.844871425798603e+01 -1.846657615155986e+01 - -1.848445272242748e+01 -1.850234399331442e+01 -1.852024995422484e+01 -1.853817059263430e+01 -1.855610591862525e+01 - -1.857405594751762e+01 -1.859202069297440e+01 -1.861000016303027e+01 -1.862799434486363e+01 -1.864600322762024e+01 - -1.866402682917165e+01 -1.868206516860479e+01 -1.870011824114266e+01 -1.871818603889838e+01 -1.873626856540951e+01 - -1.875436582948875e+01 -1.877247784962497e+01 -1.879060463922456e+01 -1.880874618168810e+01 -1.882690246254704e+01 - -1.884507350586227e+01 -1.886325933574866e+01 -1.888145993800745e+01 -1.889967529731236e+01 -1.891790543214035e+01 - -1.893615036295555e+01 -1.895441008436764e+01 -1.897268458788422e+01 -1.899097387845919e+01 -1.900927796546465e+01 - -1.902759686249918e+01 -1.904593057916082e+01 -1.906427910481893e+01 -1.908264243109121e+01 -1.910102057881749e+01 - -1.911941356739387e+01 -1.913782138121961e+01 -1.915624400568942e+01 -1.917468146517671e+01 -1.919313378404767e+01 - -1.921160094766128e+01 -1.923008293912871e+01 -1.924857977157690e+01 -1.926709146357444e+01 -1.928561802544077e+01 - -1.930415946120927e+01 -1.932271575801813e+01 -1.934128690695999e+01 -1.935987293184044e+01 -1.937847385553680e+01 - -1.939708966450047e+01 -1.941572034241033e+01 -1.943436589828115e+01 -1.945302634705033e+01 -1.947170170200994e+01 - -1.949039197138318e+01 -1.950909714476303e+01 -1.952781721398065e+01 -1.954655219845012e+01 -1.956530211609402e+01 - -1.958406695128608e+01 -1.960284668959667e+01 -1.962164135493148e+01 -1.964045097168231e+01 -1.965927552785040e+01 - -1.967811500826448e+01 -1.969696942145404e+01 -1.971583878200212e+01 -1.973472310500559e+01 -1.975362239928199e+01 - -1.977253664801789e+01 -1.979146583743514e+01 -1.981040999152762e+01 -1.982936913462439e+01 -1.984834325462312e+01 - -1.986733233626431e+01 -1.988633638809098e+01 -1.990535542475069e+01 -1.992438946150660e+01 -1.994343850724086e+01 - -1.996250254469571e+01 -1.998158155988759e+01 -2.000067557806942e+01 -2.001978462401460e+01 -2.003890868134189e+01 - -2.005804773353269e+01 -2.007720180467363e+01 -2.009637091866160e+01 -2.011555505802958e+01 -2.013475420367532e+01 - -2.015396837131929e+01 -2.017319758216888e+01 -2.019244184455664e+01 -2.021170116029698e+01 -2.023097551800653e+01 - -2.025026491057744e+01 -2.026956936120177e+01 -2.028888889127859e+01 -2.030822348473533e+01 -2.032757312336421e+01 - -2.034693781788847e+01 -2.036631758558183e+01 -2.038571244098909e+01 -2.040512239225047e+01 -2.042454742461679e+01 - -2.044398752597867e+01 -2.046344271767523e+01 -2.048291302072143e+01 -2.050239842138679e+01 -2.052189890581644e+01 - -2.054141449440303e+01 -2.056094520839277e+01 -2.058049103819856e+01 -2.060005197091200e+01 -2.061962801117254e+01 - -2.063921916971323e+01 -2.065882546409381e+01 -2.067844690614864e+01 -2.069808347798381e+01 -2.071773516441981e+01 - -2.073740199086278e+01 -2.075708398272239e+01 -2.077678112483692e+01 -2.079649339928443e+01 -2.081622081767353e+01 - -2.083596339752241e+01 -2.085572115045732e+01 -2.087549408142252e+01 -2.089528217452614e+01 -2.091508541798258e+01 - -2.093490383726751e+01 -2.095473745703866e+01 -2.097458626142068e+01 -2.099445023367205e+01 -2.101432939411960e+01 - -2.103422376365449e+01 -2.105413332835716e+01 -2.107405807288499e+01 -2.109399801101360e+01 -2.111395316146354e+01 - -2.113392353361706e+01 -2.115390913036233e+01 -2.117390993794961e+01 -2.119392594678185e+01 -2.121395718051052e+01 - -2.123400366165125e+01 -2.125406537492771e+01 -2.127414230292253e+01 -2.129423445744600e+01 -2.131434185603574e+01 - -2.133446450991120e+01 -2.135460242400538e+01 -2.137475558442359e+01 -2.139492398094176e+01 -2.141510763684612e+01 - -2.143530657354728e+01 -2.145552077144329e+01 -2.147575021223202e+01 -2.149599492382317e+01 -2.151625493458459e+01 - -2.153653022850520e+01 -2.155682078515937e+01 -2.157712661084235e+01 -2.159744772002078e+01 -2.161778413312624e+01 - -2.163813586321833e+01 -2.165850288790379e+01 -2.167888518769065e+01 -2.169928279014487e+01 -2.171969572392566e+01 - -2.174012397500749e+01 -2.176056752455845e+01 -2.178102637720577e+01 -2.180150054539059e+01 -2.182199004935065e+01 - -2.184249490264348e+01 -2.186301508430896e+01 -2.188355057625899e+01 -2.190410140641098e+01 -2.192466760199104e+01 - -2.194524914145450e+01 -2.196584600311797e+01 -2.198645821351363e+01 -2.200708580045210e+01 -2.202772874864248e+01 - -2.204838703903658e+01 -2.206906068065864e+01 -2.208974968965916e+01 -2.211045408262128e+01 -2.213117386881762e+01 - -2.215190902784613e+01 -2.217265954271720e+01 -2.219342543976576e+01 -2.221420674565993e+01 -2.223500344507609e+01 - -2.225581551916326e+01 -2.227664297695268e+01 -2.229748583458740e+01 -2.231834410877561e+01 -2.233921780886325e+01 - -2.236010691418214e+01 -2.238101140757746e+01 -2.240193131596196e+01 -2.242286666626994e+01 -2.244381744145418e+01 - -2.246478362333585e+01 -2.248576523319086e+01 -2.250676229308250e+01 -2.252777478876882e+01 -2.254880270395783e+01 - -2.256984605046237e+01 -2.259090484578745e+01 -2.261197910210208e+01 -2.263306882483333e+01 -2.265417399777652e+01 - -2.267529460825966e+01 -2.269643067937303e+01 -2.271758223358744e+01 -2.273874925513337e+01 -2.275993172840441e+01 - -2.278112967668665e+01 -2.280234312326570e+01 -2.282357205253301e+01 -2.284481644618636e+01 -2.286607631404299e+01 - -2.288735167241803e+01 -2.290864253549898e+01 -2.292994891082159e+01 -2.295127078144212e+01 -2.297260813386354e+01 - -2.299396099285480e+01 -2.301532938287575e+01 -2.303671328888409e+01 -2.305811269234469e+01 -2.307952760025338e+01 - -2.310095802706863e+01 -2.312240399156859e+01 -2.314386550544134e+01 -2.316534254769484e+01 -2.318683510020089e+01 - -2.320834318896662e+01 -2.322986684000025e+01 -2.325140603517923e+01 -2.327296075598023e+01 -2.329453102640753e+01 - -2.331611687084991e+01 -2.333771827270656e+01 -2.335933521295700e+01 -2.338096770389138e+01 -2.340261576396985e+01 - -2.342427940502197e+01 -2.344595863230511e+01 -2.346765343141823e+01 -2.348936379112492e+01 -2.351108973250527e+01 - -2.353283127622654e+01 -2.355458840898814e+01 -2.357636111469370e+01 -2.359814940003157e+01 -2.361995327887107e+01 - -2.364177277102066e+01 -2.366360788867084e+01 -2.368545860760097e+01 -2.370732490730504e+01 -2.372920681854641e+01 - -2.375110437181196e+01 -2.377301754521346e+01 -2.379494631547129e+01 -2.381689070611525e+01 -2.383885074279985e+01 - -2.386082641286912e+01 -2.388281770027697e+01 -2.390482461372720e+01 -2.392684716763744e+01 -2.394888537453080e+01 - -2.397093924094647e+01 -2.399300875138237e+01 -2.401509389381072e+01 -2.403719469214220e+01 -2.405931116939521e+01 - -2.408144330908079e+01 -2.410359109227195e+01 -2.412575452979684e+01 -2.414793363861520e+01 -2.417012843045825e+01 - -2.419233891107258e+01 -2.421456506749473e+01 -2.423680688969797e+01 -2.425906439811232e+01 -2.428133761196757e+01 - -2.430362651523593e+01 -2.432593109247103e+01 -2.434825136580965e+01 -2.437058735754595e+01 -2.439293905302052e+01 - -2.441530643508021e+01 -2.443768951355032e+01 -2.446008830475372e+01 -2.448250282402539e+01 -2.450493307947941e+01 - -2.452737905133441e+01 -2.454984072340254e+01 -2.457231812176549e+01 -2.459481127247106e+01 -2.461732015916192e+01 - -2.463984476198997e+01 -2.466238508954903e+01 -2.468494115731883e+01 -2.470751297988127e+01 -2.473010056541401e+01 - -2.475270389737600e+01 -2.477532296279144e+01 -2.479795778766421e+01 -2.482060839605179e+01 -2.484327476524651e+01 - -2.486595687297807e+01 -2.488865474549064e+01 -2.491136841050829e+01 -2.493409785316058e+01 -2.495684305468689e+01 - -2.497960402336061e+01 -2.500238077436705e+01 -2.502517332350563e+01 -2.504798167938967e+01 -2.507080582127416e+01 - -2.509364573240812e+01 -2.511650144137505e+01 -2.513937297643642e+01 -2.516226031923135e+01 -2.518516344740990e+01 - -2.520808236928804e+01 -2.523101710100030e+01 -2.525396765928963e+01 -2.527693405405919e+01 -2.529991626724470e+01 - -2.532291428361040e+01 -2.534592812720204e+01 -2.536895782110043e+01 -2.539200334524508e+01 -2.541506468057373e+01 - -2.543814185515816e+01 -2.546123489657537e+01 -2.548434378328921e+01 -2.550746849096137e+01 -2.553060903315797e+01 - -2.555376543163097e+01 -2.557693770297151e+01 -2.560012585444837e+01 -2.562332986120158e+01 -2.564654970308929e+01 - -2.566978541097076e+01 -2.569303701597250e+01 -2.571630449928904e+01 -2.573958783754457e+01 -2.576288703901380e+01 - -2.578620212017663e+01 -2.580953309868325e+01 -2.583287998467666e+01 -2.585624275710073e+01 -2.587962139846310e+01 - -2.590301593672573e+01 -2.592642639921134e+01 -2.594985276523152e+01 -2.597329501305775e+01 -2.599675316481207e+01 - -2.602022724494944e+01 -2.604371724340627e+01 -2.606722314554395e+01 -2.609074495294231e+01 -2.611428267453130e+01 - -2.613783633242288e+01 -2.616140594232113e+01 -2.618499148111656e+01 -2.620859292804694e+01 -2.623221031055255e+01 - -2.625584365675950e+01 -2.627949294933480e+01 -2.630315816707157e+01 -2.632683931872623e+01 -2.635053642045652e+01 - -2.637424948806206e+01 -2.639797853015353e+01 -2.642172352694394e+01 -2.644548446269175e+01 -2.646926136623515e+01 - -2.649305426487780e+01 -2.651686313520573e+01 -2.654068795336410e+01 -2.656452874445229e+01 -2.658838553565089e+01 - -2.661225831351167e+01 -2.663614706041860e+01 -2.666005178271351e+01 -2.668397249386109e+01 -2.670790921185966e+01 - -2.673186194785124e+01 -2.675583068101895e+01 -2.677981539336416e+01 -2.680381611012034e+01 -2.682783285712106e+01 - -2.685186561936856e+01 -2.687591437786270e+01 -2.689997913842517e+01 -2.692405991477839e+01 -2.694815672742597e+01 - -2.697226958936361e+01 -2.699639847677425e+01 -2.702054336911223e+01 -2.704470429573021e+01 -2.706888128546201e+01 - -2.709307431516761e+01 -2.711728336172764e+01 -2.714150845407871e+01 -2.716574962162754e+01 -2.719000684360529e+01 - -2.721428009605862e+01 -2.723856939247152e+01 -2.726287475352885e+01 -2.728719619128178e+01 -2.731153370993099e+01 - -2.733588729090867e+01 -2.736025692081293e+01 -2.738464262967399e+01 -2.740904444482641e+01 -2.743346233939021e+01 - -2.745789628706843e+01 -2.748234631811058e+01 -2.750681246441337e+01 -2.753129470791622e+01 -2.755579302585287e+01 - -2.758030742659158e+01 -2.760483792680023e+01 -2.762938454521084e+01 -2.765394729250735e+01 -2.767852614511706e+01 - -2.770312108289846e+01 -2.772773213369129e+01 -2.775235932608502e+01 -2.777700264368704e+01 -2.780166206614083e+01 - -2.782633760221619e+01 -2.785102926812099e+01 -2.787573708068912e+01 -2.790046104903706e+01 -2.792520115078565e+01 - -2.794995736764946e+01 -2.797472972921345e+01 -2.799951826412358e+01 -2.802432294939970e+01 -2.804914376169005e+01 - -2.807398072778233e+01 -2.809883387567351e+01 -2.812370318805837e+01 -2.814858864438241e+01 -2.817349025639583e+01 - -2.819840804241009e+01 -2.822334201467696e+01 -2.824829217820057e+01 -2.827325851505399e+01 -2.829824101147483e+01 - -2.832323969328987e+01 -2.834825458594292e+01 -2.837328567375688e+01 -2.839833293713809e+01 -2.842339638194745e+01 - -2.844847602232610e+01 -2.847357188008160e+01 -2.849868396869187e+01 -2.852381226064981e+01 -2.854895673259501e+01 - -2.857411741873861e+01 -2.859929435285462e+01 -2.862448750939692e+01 -2.864969686163745e+01 -2.867492243744038e+01 - -2.870016426611871e+01 -2.872542232818885e+01 -2.875069660076976e+01 -2.877598709618692e+01 -2.880129383482867e+01 - -2.882661683412842e+01 -2.885195610246809e+01 -2.887731161497835e+01 -2.890268335136361e+01 -2.892807134287440e+01 - -2.895347562064698e+01 -2.897889616381469e+01 -2.900433294736006e+01 -2.902978598166526e+01 -2.905525528595928e+01 - -2.908074087945912e+01 -2.910624277257485e+01 -2.913176094050105e+01 -2.915729536236611e+01 -2.918284606824940e+01 - -2.920841308797334e+01 -2.923399639938179e+01 -2.925959597987842e+01 -2.928521185708459e+01 -2.931084405942344e+01 - -2.933649256830759e+01 -2.936215736109871e+01 -2.938783844596477e+01 -2.941353583979598e+01 -2.943924956356517e+01 - -2.946497963001566e+01 -2.949072601489006e+01 -2.951648869675137e+01 -2.954226770244480e+01 -2.956806305999476e+01 - -2.959387475386040e+01 -2.961970276467950e+01 -2.964554710136948e+01 -2.967140778023144e+01 -2.969728481882160e+01 - -2.972317822671904e+01 -2.974908798033929e+01 -2.977501406036931e+01 -2.980095649774566e+01 -2.982691532231985e+01 - -2.985289050935425e+01 -2.987888203414534e+01 -2.990488992671488e+01 -2.993091421806754e+01 -2.995695488841446e+01 - -2.998301191396682e+01 -3.000908530572931e+01 -3.003517508294127e+01 -3.006128126298706e+01 -3.008740385472813e+01 - -3.011354283478899e+01 -3.013969818396866e+01 -3.016586993200092e+01 -3.019205810852835e+01 -3.021826269389396e+01 - -3.024448366459688e+01 -3.027072103106001e+01 -3.029697481234801e+01 -3.032324502816885e+01 -3.034953168930138e+01 - -3.037583477016444e+01 -3.040215424919064e+01 -3.042849015722735e+01 -3.045484252487287e+01 -3.048121132931426e+01 - -3.050759654718701e+01 -3.053399820633122e+01 -3.056041633582694e+01 -3.058685091850949e+01 -3.061330193277164e+01 - -3.063976938548045e+01 -3.066625329189824e+01 -3.069275367239408e+01 -3.071927054017274e+01 -3.074580387467516e+01 - -3.077235365736276e+01 -3.079891991154272e+01 -3.082550266154129e+01 -3.085210189391538e+01 -3.087871759159065e+01 - -3.090534976073683e+01 -3.093199841535169e+01 -3.095866357750086e+01 -3.098534526117247e+01 -3.101204343997652e+01 - -3.103875809113482e+01 -3.106548924669440e+01 -3.109223693806243e+01 -3.111900113926174e+01 -3.114578182447812e+01 - -3.117257902593346e+01 -3.119939277712214e+01 -3.122622305859262e+01 -3.125306984560579e+01 -3.127993314521812e+01 - -3.130681297362548e+01 -3.133370935178603e+01 -3.136062229292185e+01 -3.138755177454848e+01 -3.141449777743489e+01 - -3.144146033107010e+01 -3.146843946420585e+01 -3.149543515392452e+01 -3.152244737446985e+01 -3.154947614039987e+01 - -3.157652147508332e+01 -3.160358339681746e+01 -3.163066191390917e+01 -3.165775699977537e+01 -3.168486863280270e+01 - -3.171199684614663e+01 -3.173914167265754e+01 -3.176630308919665e+01 -3.179348107134120e+01 -3.182067564552154e+01 - -3.184788683989369e+01 -3.187511463866380e+01 -3.190235902163426e+01 -3.192961999494226e+01 -3.195689757352222e+01 - -3.198419178116283e+01 -3.201150263346307e+01 -3.203883010440887e+01 -3.206617417058478e+01 -3.209353486058297e+01 - -3.212091220418486e+01 -3.214830618392138e+01 -3.217571677868305e+01 -3.220314400004898e+01 -3.223058786708538e+01 - -3.225804839611857e+01 -3.228552559489243e+01 -3.231301943956095e+01 -3.234052991162765e+01 -3.236805704558397e+01 - -3.239560087404328e+01 -3.242316136911894e+01 -3.245073850255218e+01 -3.247833230509534e+01 -3.250594280965240e+01 - -3.253356999872297e+01 -3.256121385028732e+01 -3.258887437465276e+01 -3.261655158960600e+01 -3.264424551052439e+01 - -3.267195614529539e+01 -3.269968347425627e+01 -3.272742748229857e+01 -3.275518820008119e+01 -3.278296565603427e+01 - -3.281075982390590e+01 -3.283857067801981e+01 -3.286639824968410e+01 -3.289424257141810e+01 -3.292210362360176e+01 - -3.294998138240963e+01 -3.297787585933321e+01 -3.300578707421773e+01 -3.303371504500630e+01 -3.306165978102434e+01 - -3.308962125902853e+01 -3.311759946003357e+01 -3.314559441465483e+01 -3.317360615365304e+01 -3.320163465877013e+01 - -3.322967990687330e+01 -3.325774190434956e+01 -3.328582066713852e+01 -3.331391621987054e+01 -3.334202857831301e+01 - -3.337015771409062e+01 -3.339830360273710e+01 -3.342646627956469e+01 -3.345464577921614e+01 -3.348284207387808e+01 - -3.351105513572078e+01 -3.353928499930519e+01 -3.356753169996216e+01 -3.359579521371194e+01 -3.362407551222610e+01 - -3.365237260909204e+01 -3.368068652715969e+01 -3.370901728441355e+01 -3.373736488954338e+01 -3.376572931892538e+01 - -3.379411055342771e+01 -3.382250862419983e+01 -3.385092356238306e+01 -3.387935534880526e+01 -3.390780395979943e+01 - -3.393626940403256e+01 -3.396475169950308e+01 -3.399325086920118e+01 -3.402176692682492e+01 -3.405029984391190e+01 - -3.407884959628061e+01 -3.410741621903333e+01 -3.413599974690003e+01 -3.416460015383780e+01 -3.419321741347679e+01 - -3.422185155891206e+01 -3.425050262370409e+01 -3.427917058381036e+01 -3.430785541111823e+01 -3.433655711883738e+01 - -3.436527572977491e+01 -3.439401126380553e+01 -3.442276373145798e+01 -3.445153310880944e+01 -3.448031937598221e+01 - -3.450912256373026e+01 -3.453794270224409e+01 -3.456677976882821e+01 -3.459563373771100e+01 -3.462450462370172e+01 - -3.465339245071625e+01 -3.468229723851619e+01 -3.471121899611902e+01 -3.474015769371995e+01 -3.476911330776019e+01 - -3.479808587848705e+01 -3.482707544447295e+01 -3.485608197378501e+01 -3.488510543365825e+01 -3.491414585850467e+01 - -3.494320328527482e+01 -3.497227769389696e+01 -3.500136905869145e+01 -3.503047738856913e+01 -3.505960270226024e+01 - -3.508874502318216e+01 -3.511790436512474e+01 -3.514708069868058e+01 -3.517627399907308e+01 -3.520548430324607e+01 - -3.523471164812467e+01 -3.526395600883895e+01 -3.529321735592740e+01 -3.532249570335686e+01 -3.535179107461137e+01 - -3.538110348781549e+01 -3.541043295179184e+01 -3.543977944351469e+01 -3.546914294470585e+01 -3.549852348792567e+01 - -3.552792110371767e+01 -3.555733576371960e+01 -3.558676744035331e+01 -3.561621616808287e+01 -3.564568198278825e+01 - -3.567516486397158e+01 -3.570466478590109e+01 -3.573418175828719e+01 -3.576371580017962e+01 -3.579326693254331e+01 - -3.582283516733191e+01 -3.585242047853867e+01 -3.588202284498269e+01 -3.591164230274704e+01 -3.594127888660625e+01 - -3.597093256883734e+01 -3.600060331833949e+01 -3.603029115299790e+01 -3.605999610029281e+01 -3.608971817709886e+01 - -3.611945738978410e+01 -3.614921371329605e+01 -3.617898712799953e+01 -3.620877766734910e+01 -3.623858536391516e+01 - -3.626841019364145e+01 -3.629825213180558e+01 -3.632811120764664e+01 -3.635798745148868e+01 -3.638788084403422e+01 - -3.641779136227628e+01 -3.644771901799147e+01 -3.647766383142195e+01 -3.650762582188893e+01 -3.653760499949427e+01 - -3.656760133838370e+01 -3.659761481766282e+01 -3.662764547223315e+01 -3.665769333671685e+01 -3.668775838882340e+01 - -3.671784060113342e+01 -3.674793998262476e+01 -3.677805655273779e+01 -3.680819033636626e+01 -3.683834134900049e+01 - -3.686850956306390e+01 -3.689869495454472e+01 -3.692889755675729e+01 -3.695911740229619e+01 -3.698935446355054e+01 - -3.701960871343802e+01 -3.704988018719579e+01 -3.708016892120266e+01 -3.711047489408478e+01 -3.714079807933708e+01 - -3.717113848768184e+01 -3.720149613882988e+01 -3.723187105121882e+01 -3.726226323497034e+01 -3.729267266821555e+01 - -3.732309933333587e+01 -3.735354326170426e+01 -3.738400448395760e+01 -3.741448297879693e+01 -3.744497872108128e+01 - -3.747549172223736e+01 -3.750602200310610e+01 -3.753656958561755e+01 -3.756713448177913e+01 -3.759771666281819e+01 - -3.762831610507856e+01 -3.765893284615005e+01 -3.768956692232328e+01 -3.772021830344675e+01 -3.775088695941269e+01 - -3.778157292673024e+01 -3.781227624306894e+01 -3.784299688412320e+01 -3.787373482086582e+01 -3.790449006735824e+01 - -3.793526264738479e+01 -3.796605258053289e+01 -3.799685987630166e+01 -3.802768450803411e+01 -3.805852645435349e+01 - -3.808938575116029e+01 -3.812026243387959e+01 -3.815115647875793e+01 -3.818206785737669e+01 -3.821299658183555e+01 - -3.824394267407146e+01 -3.827490615485264e+01 -3.830588703573063e+01 -3.833688529255877e+01 -3.836790090523419e+01 - -3.839893390552727e+01 -3.842998432385276e+01 -3.846105213333004e+01 -3.849213730842061e+01 -3.852323988624988e+01 - -3.855435990371658e+01 -3.858549733414936e+01 -3.861665214665468e+01 -3.864782435702053e+01 -3.867901399128823e+01 - -3.871022106983104e+01 -3.874144560188923e+01 -3.877268755783931e+01 -3.880394691415978e+01 -3.883522371060106e+01 - -3.886651798555487e+01 -3.889782970870629e+01 -3.892915884903668e+01 -3.896050544141922e+01 -3.899186952243698e+01 - -3.902325106962145e+01 -3.905465005558139e+01 -3.908606649228560e+01 -3.911750040150871e+01 -3.914895180488885e+01 - -3.918042071436301e+01 -3.921190710320024e+01 -3.924341094905042e+01 -3.927493228575462e+01 -3.930647114756201e+01 - -3.933802751416320e+01 -3.936960136044893e+01 -3.940119269666864e+01 -3.943280154239230e+01 -3.946442791911308e+01 - -3.949607183932866e+01 -3.952773327763106e+01 -3.955941221301939e+01 -3.959110868002649e+01 -3.962282271157864e+01 - -3.965455427864192e+01 -3.968630335291520e+01 -3.971806997098832e+01 -3.974985417066340e+01 -3.978165592970123e+01 - -3.981347522024374e+01 -3.984531205199855e+01 -3.987716644515135e+01 -3.990903842423468e+01 -3.994092800366619e+01 - -3.997283515305731e+01 -4.000475984705376e+01 -4.003670212524431e+01 -4.006866202678586e+01 -4.010063952416471e+01 - -4.013263458527370e+01 -4.016464722630246e+01 -4.019667747391531e+01 -4.022872534837892e+01 -4.026079085897078e+01 - -4.029287397740929e+01 -4.032497468131004e+01 -4.035709300943645e+01 -4.038922899883853e+01 -4.042138261856475e+01 - -4.045355383733334e+01 -4.048574269054266e+01 -4.051794921541258e+01 -4.055017338976896e+01 -4.058241518694505e+01 - -4.061467462169752e+01 -4.064695171778673e+01 -4.067924649356458e+01 -4.071155895737036e+01 -4.074388908290122e+01 - -4.077623684962312e+01 -4.080860229471885e+01 -4.084098545450960e+01 -4.087338630415373e+01 -4.090580481395003e+01 - -4.093824099592192e+01 -4.097069487270115e+01 -4.100316646762842e+01 -4.103565579436854e+01 -4.106816282717386e+01 - -4.110068754422534e+01 -4.113322997883087e+01 -4.116579016300655e+01 -4.119836806847471e+01 -4.123096366815907e+01 - -4.126357700008218e+01 -4.129620810254014e+01 -4.132885694982463e+01 -4.136152351139461e+01 -4.139420780138244e+01 - -4.142690984447184e+01 -4.145962966287846e+01 -4.149236726828771e+01 -4.152512263273182e+01 -4.155789573295193e+01 - -4.159068660417814e+01 -4.162349528189675e+01 -4.165632174413023e+01 -4.168916596438000e+01 -4.172202795552684e+01 - -4.175490773972726e+01 -4.178780533686147e+01 -4.182072075745918e+01 -4.185365397692470e+01 -4.188660497553830e+01 - -4.191957378820953e+01 -4.195256044830271e+01 -4.198556492837179e+01 -4.201858720098863e+01 -4.205162729960676e+01 - -4.208468525919077e+01 -4.211776105986812e+01 -4.215085467691669e+01 -4.218396612105321e+01 -4.221709541226407e+01 - -4.225024257217616e+01 -4.228340761361360e+01 -4.231659051254899e+01 -4.234979124870078e+01 -4.238300985362200e+01 - -4.241624635885866e+01 -4.244950074409413e+01 -4.248277298525672e+01 -4.251606309511715e+01 -4.254937109530931e+01 - -4.258269700607782e+01 -4.261604083828603e+01 -4.264940256666174e+01 -4.268278217100897e+01 -4.271617968757233e+01 - -4.274959515039267e+01 -4.278302852825576e+01 -4.281647979114838e+01 -4.284994897911630e+01 -4.288343613339240e+01 - -4.291694122989936e+01 -4.295046423857267e+01 -4.298400517070971e+01 -4.301756404788966e+01 -4.305114089145757e+01 - -4.308473571388112e+01 -4.311834849235274e+01 -4.315197920801049e+01 -4.318562789305037e+01 -4.321929457904871e+01 - -4.325297924404543e+01 -4.328668186207582e+01 -4.332040244469275e+01 -4.335414101381126e+01 -4.338789759527743e+01 - -4.342167220389723e+01 -4.345546480638487e+01 -4.348927537558045e+01 -4.352310395691921e+01 -4.355695059370569e+01 - -4.359081524812669e+01 -4.362469788222823e+01 -4.365859853861065e+01 -4.369251726260594e+01 -4.372645402991838e+01 - -4.376040880917880e+01 -4.379438161035186e+01 -4.382837245512241e+01 -4.386238137072252e+01 -4.389640837367813e+01 - -4.393045343214298e+01 -4.396451651875527e+01 -4.399859767246311e+01 -4.403269693263155e+01 -4.406681427398399e+01 - -4.410094966630350e+01 -4.413510312425358e+01 -4.416927467295284e+01 -4.420346433446015e+01 -4.423767212069691e+01 - -4.427189800609401e+01 -4.430614196966567e+01 -4.434040404624994e+01 -4.437468426893484e+01 -4.440898260798443e+01 - -4.444329903479183e+01 -4.447763358808973e+01 -4.451198630763288e+01 -4.454635716992501e+01 -4.458074614621454e+01 - -4.461515324997958e+01 -4.464957850449220e+01 -4.468402192997090e+01 -4.471848353715485e+01 -4.475296330191956e+01 - -4.478746120505344e+01 -4.482197728186011e+01 -4.485651156648301e+01 -4.489106403390974e+01 -4.492563465506775e+01 - -4.496022344379944e+01 -4.499483042484561e+01 -4.502945562362576e+01 -4.506409905435962e+01 -4.509876068578905e+01 - -4.513344049220396e+01 -4.516813851556444e+01 -4.520285479589762e+01 -4.523758929782897e+01 -4.527234198687941e+01 - -4.530711290755342e+01 -4.534190210524451e+01 -4.537670954991925e+01 -4.541153520580425e+01 -4.544637908959269e+01 - -4.548124122972980e+01 -4.551612164920255e+01 -4.555102035951307e+01 -4.558593733168242e+01 -4.562087254236648e+01 - -4.565582603124118e+01 -4.569079783605451e+01 -4.572578792382265e+01 -4.576079626235065e+01 -4.579582289333027e+01 - -4.583086785976433e+01 -4.586593113601344e+01 -4.590101269036680e+01 -4.593611253546989e+01 -4.597123069530716e+01 - -4.600636719486254e+01 -4.604152204856955e+01 -4.607669522766013e+01 -4.611188670797630e+01 -4.614709652700154e+01 - -4.618232472227299e+01 -4.621757126990104e+01 -4.625283614113306e+01 -4.628811934919114e+01 -4.632342091751210e+01 - -4.635874086841728e+01 -4.639407921460932e+01 -4.642943593143147e+01 -4.646481099859044e+01 -4.650020445060623e+01 - -4.653561632090474e+01 -4.657104658372261e+01 -4.660649521327068e+01 -4.664196224284595e+01 -4.667744770698098e+01 - -4.671295158606459e+01 -4.674847385553061e+01 -4.678401452513644e+01 -4.681957361522331e+01 -4.685515115414413e+01 - -4.689074715945064e+01 -4.692636159747788e+01 -4.696199443933372e+01 -4.699764572643400e+01 -4.703331550121288e+01 - -4.706900373987032e+01 -4.710471041222129e+01 -4.714043552877479e+01 -4.717617911151273e+01 -4.721194118761495e+01 - -4.724772177397794e+01 -4.728352084116666e+01 -4.731933836391387e+01 -4.735517437995513e+01 -4.739102892624472e+01 - -4.742690197360956e+01 -4.746279349304486e+01 -4.749870352234630e+01 -4.753463210070628e+01 -4.757057920610364e+01 - -4.760654481072343e+01 -4.764252892478859e+01 -4.767853156968457e+01 -4.771455277340900e+01 -4.775059255327958e+01 - -4.778665087728216e+01 -4.782272771801416e+01 -4.785882311585065e+01 -4.789493711157514e+01 -4.793106967982698e+01 - -4.796722079021173e+01 -4.800339045834357e+01 -4.803957871014897e+01 -4.807578556679541e+01 -4.811201103905631e+01 - -4.814825510088780e+01 -4.818451773166895e+01 -4.822079896928767e+01 -4.825709884980719e+01 -4.829341734348342e+01 - -4.832975442115909e+01 -4.836611012183125e+01 -4.840248448526336e+01 -4.843887748613056e+01 -4.847528909416636e+01 - -4.851171932442625e+01 -4.854816820273300e+01 -4.858463575265701e+01 -4.862112198691646e+01 -4.865762687707282e+01 - -4.869415040003414e+01 -4.873069259525141e+01 -4.876725350118260e+01 -4.880383308977095e+01 -4.884043132904604e+01 - -4.887704823789731e+01 -4.891368384608068e+01 -4.895033817595851e+01 -4.898701123776245e+01 -4.902370300059485e+01 - -4.906041344002308e+01 -4.909714259860375e+01 -4.913389051725400e+01 -4.917065716334413e+01 -4.920744250429804e+01 - -4.924424658130064e+01 -4.928106943700116e+01 -4.931791104614518e+01 -4.935477137752828e+01 -4.939165044404930e+01 - -4.942854827009338e+01 -4.946546488188807e+01 -4.950240029454247e+01 -4.953935447684974e+01 -4.957632740294361e+01 - -4.961331911463601e+01 -4.965032965315336e+01 -4.968735898970213e+01 -4.972440709120082e+01 -4.976147397743583e+01 - -4.979855967878247e+01 -4.983566421510402e+01 -4.987278759472007e+01 -4.990992979028766e+01 -4.994709078100569e+01 - -4.998427060790318e+01 -5.002146930959274e+01 -5.005868685319148e+01 -5.009592320640078e+01 -5.013317841075434e+01 - -5.017045250915469e+01 -5.020774547614742e+01 -5.024505728017924e+01 -5.028238793365752e+01 -5.031973746104961e+01 - -5.035710589110189e+01 -5.039449324090066e+01 -5.043189947661289e+01 -5.046932456973549e+01 -5.050676856400442e+01 - -5.054423150327239e+01 -5.058171335962052e+01 -5.061921409929316e+01 -5.065673373695915e+01 -5.069427229950105e+01 - -5.073182981423184e+01 -5.076940629607507e+01 -5.080700170996615e+01 -5.084461602753602e+01 -5.088224929718589e+01 - -5.091990156525010e+01 -5.095757279302548e+01 -5.099526294209112e+01 -5.103297206019221e+01 -5.107070019605169e+01 - -5.110844731613729e+01 -5.114621338143406e+01 -5.118399841325091e+01 -5.122180244526444e+01 -5.125962550029841e+01 - -5.129746758802490e+01 -5.133532867636215e+01 -5.137320874011100e+01 -5.141110782335645e+01 -5.144902596945006e+01 - -5.148696314952589e+01 -5.152491932947918e+01 -5.156289452646703e+01 -5.160088876945014e+01 -5.163890208334180e+01 - -5.167693448081514e+01 -5.171498592963017e+01 -5.175305640369855e+01 -5.179114594645165e+01 -5.182925460014935e+01 - -5.186738233284598e+01 -5.190552911234031e+01 -5.194369497961412e+01 -5.198187997663295e+01 -5.202008407611459e+01 - -5.205830724580739e+01 -5.209654950282933e+01 -5.213481087573764e+01 -5.217309138947744e+01 -5.221139105690054e+01 - -5.224970984609732e+01 -5.228804773087789e+01 -5.232640475269200e+01 -5.236478095346914e+01 -5.240317630941821e+01 - -5.244159079031952e+01 -5.248002440595931e+01 -5.251847717885386e+01 -5.255694914243367e+01 -5.259544031823210e+01 - -5.263395066927961e+01 -5.267248016335085e+01 -5.271102884570031e+01 -5.274959676081755e+01 -5.278818387265291e+01 - -5.282679014593192e+01 -5.286541562901994e+01 -5.290406037048660e+01 -5.294272433607927e+01 -5.298140748616263e+01 - -5.302010984239256e+01 -5.305883143892672e+01 -5.309757229863885e+01 -5.313633243133304e+01 -5.317511180581835e+01 - -5.321391039785607e+01 -5.325272825201081e+01 -5.329156541074357e+01 -5.333042183929739e+01 -5.336929750308754e+01 - -5.340819244543594e+01 -5.344710671111962e+01 -5.348604027282968e+01 -5.352499309722418e+01 -5.356396519891433e+01 - -5.360295660504364e+01 -5.364196734493171e+01 -5.368099743556814e+01 -5.372004684244607e+01 -5.375911553606044e+01 - -5.379820355840945e+01 -5.383731095277006e+01 -5.387643769603123e+01 -5.391558375867469e+01 -5.395474915194053e+01 - -5.399393389872404e+01 -5.403313802778240e+01 -5.407236155707715e+01 -5.411160445552515e+01 -5.415086669663323e+01 - -5.419014832131279e+01 -5.422944936941720e+01 -5.426876980916325e+01 -5.430810960961936e+01 -5.434746881489674e+01 - -5.438684746929877e+01 -5.442624554285502e+01 -5.446566300018413e+01 -5.450509985853421e+01 -5.454455614758906e+01 - -5.458403189414573e+01 -5.462352711279953e+01 -5.466304177222543e+01 -5.470257584656953e+01 -5.474212937778257e+01 - -5.478170240720980e+01 -5.482129490597043e+01 -5.486090684084346e+01 -5.490053823147309e+01 -5.494018910890276e+01 - -5.497985949690793e+01 -5.501954940653937e+01 -5.505925880521750e+01 -5.509898766755921e+01 -5.513873604059781e+01 - -5.517850396943321e+01 -5.521829141901578e+01 -5.525809835354192e+01 -5.529792481434151e+01 -5.533777084523449e+01 - -5.537763642286803e+01 -5.541752151714192e+01 -5.545742613813913e+01 -5.549735030880384e+01 -5.553729406334213e+01 - -5.557725742375872e+01 -5.561724035199087e+01 -5.565724281465346e+01 -5.569726485713910e+01 -5.573730652628086e+01 - -5.577736779589668e+01 -5.581744863307357e+01 -5.585754905099014e+01 -5.589766907536871e+01 -5.593780873601526e+01 - -5.597796805069111e+01 -5.601814698489535e+01 -5.605834550959182e+01 -5.609856366986563e+01 -5.613880151023810e+01 - -5.617905899885479e+01 -5.621933610311022e+01 -5.625963286377015e+01 -5.629994932270948e+01 -5.634028545286861e+01 - -5.638064122221132e+01 -5.642101664772899e+01 -5.646141175844968e+01 -5.650182658252075e+01 -5.654226113528433e+01 - -5.658271538174220e+01 -5.662318929319503e+01 -5.666368291647893e+01 -5.670419629786259e+01 -5.674472940580990e+01 - -5.678528220346420e+01 -5.682585471049146e+01 -5.686644695909487e+01 -5.690705897510426e+01 -5.694769077129006e+01 - -5.698834231455854e+01 -5.702901357847642e+01 -5.706970460911611e+01 -5.711041545084194e+01 -5.715114606868026e+01 - -5.719189642778805e+01 -5.723266657318249e+01 -5.727345655110785e+01 -5.731426633285666e+01 -5.735509588339112e+01 - -5.739594521730356e+01 -5.743681436264626e+01 -5.747770335168147e+01 -5.751861220364783e+01 -5.755954088147938e+01 - -5.760048935348805e+01 -5.764145766580183e+01 -5.768244586550730e+01 -5.772345392571002e+01 -5.776448181276131e+01 - -5.780552953997691e+01 -5.784659713354442e+01 -5.788768462417462e+01 -5.792879202998626e+01 -5.796991931420698e+01 - -5.801106644664837e+01 -5.805223347834903e+01 -5.809342045860209e+01 -5.813462734849197e+01 -5.817585410820936e+01 - -5.821710078257841e+01 -5.825836741928538e+01 -5.829965399283203e+01 -5.834096047087346e+01 -5.838228686686274e+01 - -5.842363320676851e+01 -5.846499952082397e+01 -5.850638582715609e+01 -5.854779209120221e+01 -5.858921828442874e+01 - -5.863066445510763e+01 -5.867213065032231e+01 -5.871361683559694e+01 -5.875512297138874e+01 -5.879664907944645e+01 - -5.883819519466417e+01 -5.887976134322624e+01 -5.892134753756825e+01 -5.896295374384051e+01 -5.900457993500612e+01 - -5.904622615756436e+01 -5.908789245663575e+01 -5.912957879828990e+01 -5.917128514850664e+01 -5.921301155195771e+01 - -5.925475805384439e+01 -5.929652462279476e+01 -5.933831122286624e+01 -5.938011787640643e+01 -5.942194461763230e+01 - -5.946379146994821e+01 -5.950565844408734e+01 -5.954754551091072e+01 -5.958945264733813e+01 -5.963137989439624e+01 - -5.967332729249499e+01 -5.971529481547052e+01 -5.975728243227523e+01 -5.979929015889982e+01 -5.984131802305070e+01 - -5.988336605225896e+01 -5.992543426246962e+01 -5.996752262345901e+01 -6.000963111046766e+01 -6.005175976676178e+01 - -6.009390863383608e+01 -6.013607767807394e+01 -6.017826686618813e+01 -6.022047624132026e+01 -6.026270584835797e+01 - -6.030495566274465e+01 -6.034722565381767e+01 -6.038951583593452e+01 -6.043182623512069e+01 -6.047415687905394e+01 - -6.051650778421003e+01 -6.055887892060463e+01 -6.060127026325783e+01 -6.064368185366749e+01 -6.068611373308907e+01 - -6.072856587533070e+01 -6.077103824887340e+01 -6.081353086833690e+01 -6.085604376132918e+01 -6.089857696127247e+01 - -6.094113048823596e+01 -6.098370430306234e+01 -6.102629837247437e+01 -6.106891274594116e+01 -6.111154747264118e+01 - -6.115420251784390e+01 -6.119687784580902e+01 -6.123957350066591e+01 -6.128228952841628e+01 -6.132502590268162e+01 - -6.136778259056138e+01 -6.141055960544676e+01 -6.145335697380811e+01 -6.149617472814099e+01 -6.153901288864162e+01 - -6.158187142028389e+01 -6.162475029314290e+01 -6.166764955292113e+01 -6.171056924466600e+01 -6.175350933517737e+01 - -6.179646979123154e+01 -6.183945065775757e+01 -6.188245198047678e+01 -6.192547373012725e+01 -6.196851587175868e+01 - -6.201157842265037e+01 -6.205466141333163e+01 -6.209776487510229e+01 -6.214088882566958e+01 -6.218403322759970e+01 - -6.222719804958889e+01 -6.227038333999444e+01 -6.231358914752139e+01 -6.235681544260558e+01 -6.240006218936849e+01 - -6.244332940494305e+01 -6.248661712010740e+01 -6.252992536720910e+01 -6.257325416420860e+01 -6.261660346994837e+01 - -6.265997325077347e+01 -6.270336356215701e+01 -6.274677445777788e+01 -6.279020589501037e+01 -6.283365783085999e+01 - -6.287713031716163e+01 -6.292062340781234e+01 -6.296413707012920e+01 -6.300767126475596e+01 -6.305122601222295e+01 - -6.309480134635203e+01 -6.313839729424505e+01 -6.318201386936521e+01 -6.322565103734121e+01 -6.326930877093868e+01 - -6.331298711930568e+01 -6.335668613058504e+01 -6.340040577251647e+01 -6.344414600718050e+01 -6.348790685442323e+01 - -6.353168834759008e+01 -6.357549051625812e+01 -6.361931337593239e+01 -6.366315688959789e+01 -6.370702102749119e+01 - -6.375090584137499e+01 -6.379481138078580e+01 -6.383873760482961e+01 -6.388268447297220e+01 -6.392665203654889e+01 - -6.397064034897519e+01 -6.401464938011861e+01 -6.405867909237229e+01 -6.410272950177993e+01 -6.414680063823367e+01 - -6.419089253336912e+01 -6.423500520539493e+01 -6.427913861706836e+01 -6.432329273774181e+01 -6.436746761859949e+01 - -6.441166331065573e+01 -6.445587978241413e+01 -6.450011699516882e+01 -6.454437496388719e+01 -6.458865371852110e+01 - -6.463295329528786e+01 -6.467727371608086e+01 -6.472161493923234e+01 -6.476597692945877e+01 -6.481035974057480e+01 - -6.485476342551981e+01 -6.489918794463497e+01 -6.494363325783405e+01 -6.498809941591921e+01 -6.503258647107099e+01 - -6.507709439009531e+01 -6.512162313341831e+01 -6.516617272132122e+01 -6.521074318787740e+01 -6.525533456247440e+01 - -6.529994686059398e+01 -6.534458004678092e+01 -6.538923409250538e+01 -6.543390904787570e+01 -6.547860496211884e+01 - -6.552332180229843e+01 -6.556805952953434e+01 -6.561281816333469e+01 -6.565759773746066e+01 -6.570239828429803e+01 - -6.574721982146080e+01 -6.579206230885156e+01 -6.583692571363754e+01 -6.588181008975629e+01 -6.592671548982709e+01 - -6.597164187442638e+01 -6.601658920334479e+01 -6.606155752527242e+01 -6.610654689090467e+01 -6.615155727005924e+01 - -6.619658862652422e+01 -6.624164098084657e+01 -6.628671436645676e+01 -6.633180881156068e+01 -6.637692433038681e+01 - -6.642206088647883e+01 -6.646721845110714e+01 -6.651239707713407e+01 -6.655759681603797e+01 -6.660281763216933e+01 - -6.664805948389387e+01 -6.669332239276561e+01 -6.673860639512726e+01 -6.678391152328841e+01 -6.682923779433044e+01 - -6.687458516845543e+01 -6.691995361277515e+01 -6.696534317891920e+01 -6.701075391795754e+01 -6.705618579420361e+01 - -6.710163877100581e+01 -6.714711289460833e+01 -6.719260821321966e+01 -6.723812470001026e+01 -6.728366232121398e+01 - -6.732922109035582e+01 -6.737480103488133e+01 -6.742040219062761e+01 -6.746602458035952e+01 -6.751166816616187e+01 - -6.755733291529161e+01 -6.760301887637438e+01 -6.764872609859751e+01 -6.769445455202660e+01 -6.774020420051386e+01 - -6.778597506217976e+01 -6.783176716876942e+01 -6.787758055225885e+01 -6.792341523092826e+01 -6.796927116804379e+01 - -6.801514833341810e+01 -6.806104677806347e+01 -6.810696655123587e+01 -6.815290761396663e+01 -6.819886992772128e+01 - -6.824485354392678e+01 -6.829085851532395e+01 -6.833688480994840e+01 -6.838293238885097e+01 -6.842900126984890e+01 - -6.847509148538957e+01 -6.852120306967514e+01 -6.856733604269469e+01 -6.861349036583006e+01 -6.865966600658993e+01 - -6.870586301559659e+01 -6.875208144399036e+01 -6.879832126187024e+01 -6.884458243234171e+01 -6.889086497157696e+01 - -6.893716890990422e+01 -6.898349428120915e+01 -6.902984110598732e+01 -6.907620934761650e+01 -6.912259897511596e+01 - -6.916901003718877e+01 -6.921544258172949e+01 -6.926189657371528e+01 -6.930837197817074e+01 -6.935486884322755e+01 - -6.940138721768092e+01 -6.944792706987337e+01 -6.949448836290087e+01 -6.954107111932564e+01 -6.958767537490402e+01 - -6.963430115870300e+01 -6.968094848498497e+01 -6.972761731548312e+01 -6.977430762020695e+01 -6.982101945480034e+01 - -6.986775287255249e+01 -6.991450783170005e+01 -6.996128429032680e+01 -7.000808230095708e+01 -7.005490191787665e+01 - -7.010174310797666e+01 -7.014860583121035e+01 -7.019549010717337e+01 -7.024239597049470e+01 -7.028932345629492e+01 - -7.033627258446040e+01 -7.038324331344937e+01 -7.043023560838913e+01 -7.047724952251053e+01 -7.052428510987777e+01 - -7.057134233978515e+01 -7.061842117397924e+01 -7.066552162878578e+01 -7.071264373512433e+01 -7.075978752771100e+01 - -7.080695302731498e+01 -7.085414019512091e+01 -7.090134899910394e+01 -7.094857949398551e+01 -7.099583173235354e+01 - -7.104310567151599e+01 -7.109040126922885e+01 -7.113771858031990e+01 -7.118505766125368e+01 -7.123241847797109e+01 - -7.127980098937178e+01 -7.132720521671429e+01 -7.137463119544236e+01 -7.142207895538176e+01 -7.146954851252747e+01 - -7.151703983316882e+01 -7.156455289009196e+01 -7.161208773177542e+01 -7.165964440570248e+01 -7.170722287968356e+01 - -7.175482311646741e+01 -7.180244513822917e+01 -7.185008898098621e+01 -7.189775467669884e+01 -7.194544224180910e+01 - -7.199315163474331e+01 -7.204088282234626e+01 -7.208863586315185e+01 -7.213641081375658e+01 -7.218420763131780e+01 - -7.223202627227879e+01 -7.227986678966526e+01 -7.232772923884254e+01 -7.237561358795277e+01 -7.242351979769759e+01 - -7.247144788623903e+01 -7.251939788668284e+01 -7.256736983444897e+01 -7.261536375015235e+01 -7.266337959287341e+01 - -7.271141732841731e+01 -7.275947701102203e+01 -7.280755869538000e+01 -7.285566234956853e+01 -7.290378793432680e+01 - -7.295193546765573e+01 -7.300010498266862e+01 -7.304829651566631e+01 -7.309651008753943e+01 -7.314474565435016e+01 - -7.319300317971540e+01 -7.324128272229925e+01 -7.328958433981238e+01 -7.333790799110540e+01 -7.338625363374130e+01 - -7.343462131899291e+01 -7.348301110053259e+01 -7.353142294792167e+01 -7.357985682361442e+01 -7.362831274574745e+01 - -7.367679074711965e+01 -7.372529086349638e+01 -7.377381311579366e+01 -7.382235746256312e+01 -7.387092386912651e+01 - -7.391951239025020e+01 -7.396812308115555e+01 -7.401675590943988e+01 -7.406541083531380e+01 -7.411408787706513e+01 - -7.416278706814910e+01 -7.421150844461324e+01 -7.426025202733783e+01 -7.430901777394124e+01 -7.435780564940528e+01 - -7.440661571142732e+01 -7.445544801616209e+01 -7.450430252087864e+01 -7.455317918285648e+01 -7.460207805830268e+01 - -7.465099920497126e+01 -7.469994258787753e+01 -7.474890816454140e+01 -7.479789595523943e+01 -7.484690599592756e+01 - -7.489593832252380e+01 -7.494499295533201e+01 -7.499406985223764e+01 -7.504316897827101e+01 -7.509229038945979e+01 - -7.514143414169166e+01 -7.519060019929748e+01 -7.523978851997632e+01 -7.528899912645726e+01 -7.533823205657275e+01 - -7.538748734353926e+01 -7.543676500532445e+01 -7.548606500351643e+01 -7.553538730703876e+01 -7.558473197053598e+01 - -7.563409904619321e+01 -7.568348849063742e+01 -7.573290026170078e+01 -7.578233441759443e+01 -7.583179101796470e+01 - -7.588127002782028e+01 -7.593077140392674e+01 -7.598029516471465e+01 -7.602984134475692e+01 -7.607940998153097e+01 - -7.612900109746634e+01 -7.617861465189691e+01 -7.622825061065345e+01 -7.627790902865043e+01 -7.632758996032740e+01 - -7.637729336914126e+01 -7.642701921265419e+01 -7.647676751583191e+01 -7.652653831849052e+01 -7.657633165244424e+01 - -7.662614753370475e+01 -7.667598592307560e+01 -7.672584678949215e+01 -7.677573018962489e+01 -7.682563617769370e+01 - -7.687556471038147e+01 -7.692551574474433e+01 -7.697548933686781e+01 -7.702548554509247e+01 -7.707550433774978e+01 - -7.712554567498073e+01 -7.717560957417300e+01 -7.722569606768573e+01 -7.727580519051753e+01 -7.732593696392289e+01 - -7.737609135154067e+01 -7.742626832278943e+01 -7.747646792782194e+01 -7.752669021677298e+01 -7.757693515897095e+01 - -7.762720271798948e+01 -7.767749291518889e+01 -7.772780578562232e+01 -7.777814136132783e+01 -7.782849965970544e+01 - -7.787888064261847e+01 -7.792928427988689e+01 -7.797971062869398e+01 -7.803015974345008e+01 -7.808063158011076e+01 - -7.813112609521906e+01 -7.818164334612277e+01 -7.823218339188995e+01 -7.828274619766600e+01 -7.833333172107952e+01 - -7.838393998361434e+01 -7.843457102192369e+01 -7.848522486948340e+01 -7.853590154498607e+01 -7.858660101116894e+01 - -7.863732323758104e+01 -7.868806827697425e+01 -7.873883618163512e+01 -7.878962691878654e+01 -7.884044044940295e+01 - -7.889127679452803e+01 -7.894213598992800e+01 -7.899301807018992e+01 -7.904392305456564e+01 -7.909485090214494e+01 - -7.914580158005610e+01 -7.919677514774288e+01 -7.924777166238927e+01 -7.929879107982515e+01 -7.934983335558289e+01 - -7.940089854535901e+01 -7.945198670709752e+01 -7.950309780756868e+01 -7.955423180605224e+01 -7.960538872303847e+01 - -7.965656859466247e+01 -7.970777145842827e+01 -7.975899733555858e+01 -7.981024618078136e+01 -7.986151795697417e+01 - -7.991281272610696e+01 -7.996413054847572e+01 -8.001547137858779e+01 -8.006683517069925e+01 -8.011822198384908e+01 - -8.016963187855384e+01 -8.022106481645797e+01 -8.027252075224854e+01 -8.032399971165485e+01 -8.037550173585385e+01 - -8.042702685677139e+01 -8.047857509055929e+01 -8.053014639952434e+01 -8.058174075328817e+01 -8.063335820457638e+01 - -8.068499880610621e+01 -8.073666252745771e+01 -8.078834933088126e+01 -8.084005923244513e+01 -8.089179226408041e+01 - -8.094354846735196e+01 -8.099532786819320e+01 -8.104713042037783e+01 -8.109895608507813e+01 -8.115080492521992e+01 - -8.120267700205356e+01 -8.125457226837462e+01 -8.130649067623317e+01 -8.135843228315183e+01 -8.141039715010918e+01 - -8.146238524643556e+01 -8.151439653208425e+01 -8.156643102114791e+01 -8.161848874447259e+01 -8.167056974577932e+01 - -8.172267405314662e+01 -8.177480161920819e+01 -8.182695240289546e+01 -8.187912646377457e+01 -8.193132386298609e+01 - -8.198354456733288e+01 -8.203578853472443e+01 -8.208805578183410e+01 -8.214034634197473e+01 -8.219266025625411e+01 - -8.224499755029157e+01 -8.229735817995817e+01 -8.234974210798764e+01 -8.240214939431286e+01 -8.245458009683706e+01 - -8.250703416814667e+01 -8.255951156203467e+01 -8.261201234243612e+01 -8.266453657428882e+01 -8.271708421639993e+01 - -8.276965521981012e+01 -8.282224961062391e+01 -8.287486743131451e+01 -8.292750871476633e+01 -8.298017347733835e+01 - -8.303286167887651e+01 -8.308557328775250e+01 -8.313830836295337e+01 -8.319106696215761e+01 -8.324384904719405e+01 - -8.329665457280116e+01 -8.334948356120523e+01 -8.340233605179664e+01 -8.345521208513452e+01 -8.350811168407860e+01 - -8.356103479952203e+01 -8.361398139085040e+01 -8.366695152338559e+01 -8.371994526125894e+01 -8.377296255790387e+01 - -8.382600336547402e+01 -8.387906774170159e+01 -8.393215574692768e+01 -8.398526734635097e+01 -8.403840249721476e+01 - -8.409156122008268e+01 -8.414474355213920e+01 -8.419794953373223e+01 -8.425117918830632e+01 -8.430443246852916e+01 - -8.435770933516140e+01 -8.441100985211256e+01 -8.446433408298962e+01 -8.451768198704093e+01 -8.457105351533237e+01 - -8.462444869055821e+01 -8.467786755329161e+01 -8.473131014399300e+01 -8.478477648534972e+01 -8.483826652906932e+01 - -8.489178023573824e+01 -8.494531767243778e+01 -8.499887890373510e+01 -8.505246387764603e+01 -8.510607254206460e+01 - -8.515970496094809e+01 -8.521336120130535e+01 -8.526704122628841e+01 -8.532074498941530e+01 -8.537447250952404e+01 - -8.542822382319736e+01 -8.548199897267675e+01 -8.553579798342942e+01 -8.558962080816578e+01 -8.564346740685433e+01 - -8.569733784125194e+01 -8.575123217367282e+01 -8.580515036687339e+01 -8.585909237532205e+01 -8.591305821989287e+01 - -8.596704793875205e+01 -8.602106157282915e+01 -8.607509914567974e+01 -8.612916060859980e+01 -8.618324592155754e+01 - -8.623735515146925e+01 -8.629148836331387e+01 -8.634564550737286e+01 -8.639982653295500e+01 -8.645403150017543e+01 - -8.650826047252751e+01 -8.656251341621210e+01 -8.661679028858919e+01 -8.667109110894766e+01 -8.672541591317201e+01 - -8.677976474159972e+01 -8.683413761829634e+01 -8.688853449778628e+01 -8.694295534179228e+01 -8.699740021037117e+01 - -8.705186916402354e+01 -8.710636216669133e+01 -8.716087917454270e+01 -8.721542020920894e+01 -8.726998530877070e+01 - -8.732457451164281e+01 -8.737918783967393e+01 -8.743382524811331e+01 -8.748848670054353e+01 -8.754317226047976e+01 - -8.759788198894785e+01 -8.765261583708421e+01 -8.770737375634857e+01 -8.776215580938322e+01 -8.781696206132678e+01 - -8.787179247612183e+01 -8.792664700860111e+01 -8.798152567835336e+01 -8.803642852212045e+01 -8.809135558050070e+01 - -8.814630687756171e+01 -8.820128236739042e+01 -8.825628201129771e+01 -8.831130586947003e+01 -8.836635400284558e+01 - -8.842142637649435e+01 -8.847652294770472e+01 -8.853164373850628e+01 -8.858678878695027e+01 -8.864195813043362e+01 - -8.869715178945941e+01 -8.875236971760948e+01 -8.880761187808301e+01 -8.886287833946902e+01 -8.891816916696094e+01 - -8.897348430677987e+01 -8.902882370531137e+01 -8.908418742857141e+01 -8.913957554536425e+01 -8.919498801601753e+01 - -8.925042479199006e+01 -8.930588589774098e+01 -8.936137137472512e+01 -8.941688125937962e+01 -8.947241557120560e+01 - -8.952797426697802e+01 -8.958355731201681e+01 -8.963916476854843e+01 -8.969479669732335e+01 -8.975045305628245e+01 - -8.980613379692392e+01 -8.986183894778455e+01 -8.991756855389235e+01 -8.997332264920152e+01 -9.002910125051302e+01 - -9.008490431708829e+01 -9.014073181666647e+01 -9.019658380843681e+01 -9.025246034941333e+01 -9.030836139645970e+01 - -9.036428690661128e+01 -9.042023693773967e+01 -9.047621154925669e+01 -9.053221070589892e+01 -9.058823436476921e+01 - -9.064428254711031e+01 -9.070035529106499e+01 -9.075645263823618e+01 -9.081257461289793e+01 -9.086872116654884e+01 - -9.092489225918972e+01 -9.098108795760594e+01 -9.103730832657459e+01 -9.109355331605536e+01 -9.114982287548730e+01 - -9.120611706704364e+01 -9.126243595579022e+01 -9.131877950563008e+01 -9.137514767186437e+01 -9.143154047654943e+01 - -9.148795795857168e+01 -9.154440015738282e+01 -9.160086709537343e+01 -9.165735872612346e+01 -9.171387501169491e+01 - -9.177041601688784e+01 -9.182698180564800e+01 -9.188357233576582e+01 -9.194018755741556e+01 -9.199682749646104e+01 - -9.205349219658670e+01 -9.211018169707003e+01 -9.216689601912306e+01 -9.222363511610273e+01 -9.228039895018067e+01 - -9.233718758664240e+01 -9.239400108840672e+01 -9.245083940581294e+01 -9.250770248979978e+01 -9.256459040628322e+01 - -9.262150322244982e+01 -9.267844089559186e+01 -9.273540337476760e+01 -9.279239068599267e+01 -9.284940287335907e+01 - -9.290643997630693e+01 -9.296350201607783e+01 -9.302058894577094e+01 -9.307770072730455e+01 -9.313483742601555e+01 - -9.319199910633068e+01 -9.324918572561810e+01 -9.330639723351504e+01 -9.336363365579297e+01 -9.342089503640302e+01 - -9.347818141588093e+01 -9.353549281584256e+01 -9.359282918563940e+01 -9.365019048477910e+01 -9.370757678565749e+01 - -9.376498815769901e+01 -9.382242454555492e+01 -9.387988589305337e+01 -9.393737226550313e+01 -9.399488373202897e+01 - -9.405242025553964e+01 -9.410998178945039e+01 -9.416756835541781e+01 -9.422517999301114e+01 -9.428281674520871e+01 - -9.434047863667399e+01 -9.439816561540189e+01 -9.445587763836596e+01 -9.451361477512259e+01 -9.457137709520302e+01 - -9.462916455545547e+01 -9.468697710379740e+01 -9.474481476510589e+01 -9.480267758244509e+01 -9.486056559466863e+01 - -9.491847882335075e+01 -9.497641722515867e+01 -9.503438076487508e+01 -9.509236950465109e+01 -9.515038350409563e+01 - -9.520842271528107e+01 -9.526648709103007e+01 -9.532457669470300e+01 -9.538269159175374e+01 -9.544083174547335e+01 - -9.549899710997526e+01 -9.555718770482461e+01 -9.561540356780063e+01 -9.567364474408794e+01 -9.573191126075703e+01 - -9.579020306501620e+01 -9.584852011272490e+01 -9.590686247420874e+01 -9.596523021978578e+01 -9.602362330527772e+01 - -9.608204167783254e+01 -9.614048536439948e+01 -9.619895441016116e+01 -9.625744885343293e+01 -9.631596871403326e+01 - -9.637451394466026e+01 -9.643308450797647e+01 -9.649168047362274e+01 -9.655030190767742e+01 -9.660894875499127e+01 - -9.666762096089710e+01 -9.672631859388268e+01 -9.678504172537357e+01 -9.684379031539257e+01 -9.690256431417546e+01 - -9.696136374421286e+01 -9.702018864639355e+01 -9.707903906294442e+01 -9.713791501832830e+01 -9.719681646461351e+01 - -9.725574336170810e+01 -9.731469577327378e+01 -9.737367376351882e+01 -9.743267729508464e+01 -9.749170632178308e+01 - -9.755076086367355e+01 -9.760984095895955e+01 -9.766894665217343e+01 -9.772807797034233e+01 -9.778723486414395e+01 - -9.784641729236439e+01 -9.790562532257231e+01 -9.796485902036660e+01 -9.802411833468516e+01 -9.808340321418262e+01 - -9.814271372304191e+01 -9.820204992860188e+01 -9.826141179529722e+01 -9.832079927766843e+01 -9.838021239358226e+01 - -9.843965117935535e+01 -9.849911568177785e+01 -9.855860593025675e+01 -9.861812187419362e+01 -9.867766347002308e+01 - -9.873723078231735e+01 -9.879682387670165e+01 -9.885644271487612e+01 -9.891608724974174e+01 -9.897575750292785e+01 - -9.903545351466867e+01 -9.909517533088989e+01 -9.915492297862031e+01 -9.921469640360959e+01 -9.927449556058966e+01 - -9.933432052149955e+01 -9.939417135686639e+01 -9.945404801436261e+01 -9.951395044077229e+01 -9.957387870218038e+01 - -9.963383286719130e+01 -9.969381289518709e+01 -9.975381873630593e+01 -9.981385041293248e+01 -9.987390796877466e+01 - -9.993399146058783e+01 -9.999410091983435e+01 -1.000542362637563e+02 -1.001143974249114e+02 -1.001745845113392e+02 - -1.002347976270743e+02 -1.002950366846517e+02 -1.003553015922550e+02 -1.004155924321621e+02 -1.004759093011103e+02 - -1.005362521795820e+02 -1.005966210292817e+02 -1.006570158530568e+02 -1.007174366671700e+02 -1.007778835004040e+02 - -1.008383563749385e+02 -1.008988552740233e+02 -1.009593801813489e+02 -1.010199311212978e+02 -1.010805081231472e+02 - -1.011411111950619e+02 -1.012017403376325e+02 -1.012623955422635e+02 -1.013230768099676e+02 -1.013837841893743e+02 - -1.014445177207514e+02 -1.015052773633014e+02 -1.015660630775449e+02 -1.016268749103392e+02 -1.016877129150088e+02 - -1.017485770844115e+02 -1.018094673966629e+02 -1.018703838313761e+02 -1.019313263923028e+02 -1.019922951782496e+02 - -1.020532902664119e+02 -1.021143115524854e+02 -1.021753589342455e+02 -1.022364324992857e+02 -1.022975323519374e+02 - -1.023586584736673e+02 -1.024198108268543e+02 -1.024809894203941e+02 -1.025421942728475e+02 -1.026034253949216e+02 - -1.026646827901934e+02 -1.027259664415750e+02 -1.027872763473731e+02 -1.028486125881369e+02 -1.029099752254547e+02 - -1.029713641628286e+02 -1.030327793161952e+02 -1.030942208093169e+02 -1.031556887637190e+02 -1.032171830841550e+02 - -1.032787036718354e+02 -1.033402506305696e+02 -1.034018240681317e+02 -1.034634239055545e+02 -1.035250500515010e+02 - -1.035867025518952e+02 -1.036483814821213e+02 -1.037100868981441e+02 -1.037718188237329e+02 -1.038335771732939e+02 - -1.038953618747522e+02 -1.039571730194689e+02 -1.040190107055651e+02 -1.040808748947658e+02 -1.041427655331822e+02 - -1.042046826408667e+02 -1.042666262524425e+02 -1.043285963868752e+02 -1.043905930564436e+02 -1.044526162623378e+02 - -1.045146660069125e+02 -1.045767423082721e+02 -1.046388451777543e+02 -1.047009745838822e+02 -1.047631305085241e+02 - -1.048253130297424e+02 -1.048875222165416e+02 -1.049497580055002e+02 -1.050120203310284e+02 -1.050743092512860e+02 - -1.051366248384456e+02 -1.051989670969791e+02 -1.052613360137520e+02 -1.053237315729033e+02 -1.053861537661844e+02 - -1.054486026185219e+02 -1.055110781583045e+02 -1.055735803945944e+02 -1.056361093274371e+02 -1.056986649401382e+02 - -1.057612472323176e+02 -1.058238562855892e+02 -1.058864921618116e+02 -1.059491547618286e+02 -1.060118440001799e+02 - -1.060745600072047e+02 -1.061373029070868e+02 -1.062000725835928e+02 -1.062628689188559e+02 -1.063256920288941e+02 - -1.063885420424685e+02 -1.064514189054312e+02 -1.065143225392365e+02 -1.065772529506575e+02 -1.066402101774261e+02 - -1.067031942957903e+02 -1.067662053568374e+02 -1.068292432724951e+02 -1.068923079625714e+02 -1.069553995175528e+02 - -1.070185180380394e+02 -1.070816634944072e+02 -1.071448358336418e+02 -1.072080350393896e+02 -1.072712611247882e+02 - -1.073345141842783e+02 -1.073977942922143e+02 -1.074611013613008e+02 -1.075244353055826e+02 -1.075877962061142e+02 - -1.076511841502191e+02 -1.077145990832866e+02 -1.077780409492339e+02 -1.078415098280245e+02 -1.079050057992970e+02 - -1.079685288053471e+02 -1.080320787786834e+02 -1.080956557500093e+02 -1.081592597729443e+02 -1.082228908945775e+02 - -1.082865491424036e+02 -1.083502344720692e+02 -1.084139468448718e+02 -1.084776863165616e+02 -1.085414529440200e+02 - -1.086052466942038e+02 -1.086690675238350e+02 -1.087329154386204e+02 -1.087967904674474e+02 -1.088606926829425e+02 - -1.089246221377382e+02 -1.089885787607543e+02 -1.090525624876805e+02 -1.091165734050004e+02 -1.091806115963225e+02 - -1.092446769829633e+02 -1.093087694909110e+02 -1.093728892271333e+02 -1.094370362953419e+02 -1.095012106052476e+02 - -1.095654120623545e+02 -1.096296407493415e+02 -1.096938967647426e+02 -1.097581800933404e+02 -1.098224906984946e+02 - -1.098868285716250e+02 -1.099511937236656e+02 -1.100155862155477e+02 -1.100800060933800e+02 -1.101444532939841e+02 - -1.102089277564002e+02 -1.102734295378303e+02 -1.103379587096266e+02 -1.104025152815812e+02 -1.104670992426730e+02 - -1.105317105601886e+02 -1.105963492199813e+02 -1.106610153038629e+02 -1.107257088820756e+02 -1.107904298826226e+02 - -1.108551782361634e+02 -1.109199540262203e+02 -1.109847573373186e+02 -1.110495881051325e+02 -1.111144462586115e+02 - -1.111793318486534e+02 -1.112442449476576e+02 -1.113091855920787e+02 -1.113741537899001e+02 -1.114391494711626e+02 - -1.115041725824562e+02 -1.115692232145109e+02 -1.116343014623147e+02 -1.116994072937479e+02 -1.117645406555522e+02 - -1.118297015370191e+02 -1.118948899532702e+02 -1.119601059801944e+02 -1.120253496750247e+02 -1.120906209596036e+02 - -1.121559197660155e+02 -1.122212462027017e+02 -1.122866003728487e+02 -1.123519821822644e+02 -1.124173915349786e+02 - -1.124828285252852e+02 -1.125482932599049e+02 -1.126137857050017e+02 -1.126793058037530e+02 -1.127448535479451e+02 - -1.128104289543148e+02 -1.128760320907921e+02 -1.129416630123176e+02 -1.130073216706816e+02 -1.130730080183262e+02 - -1.131387221134510e+02 -1.132044640167948e+02 -1.132702336934948e+02 -1.133360310978225e+02 -1.134018562361866e+02 - -1.134677091387784e+02 -1.135335898787815e+02 -1.135994985091588e+02 -1.136654349589990e+02 -1.137313991629182e+02 - -1.137973912015162e+02 -1.138634111582333e+02 -1.139294589818884e+02 -1.139955346168527e+02 -1.140616381243277e+02 - -1.141277695680233e+02 -1.141939289048548e+02 -1.142601160860919e+02 -1.143263311472162e+02 -1.143925741390390e+02 - -1.144588450894802e+02 -1.145251440101338e+02 -1.145914708701818e+02 -1.146578256494022e+02 -1.147242084123678e+02 - -1.147906192149256e+02 -1.148570579932248e+02 -1.149235246826633e+02 -1.149900193353325e+02 -1.150565420227369e+02 - -1.151230927773426e+02 -1.151896716067799e+02 -1.152562784583746e+02 -1.153229132947855e+02 -1.153895762003063e+02 - -1.154562672526404e+02 -1.155229863814943e+02 -1.155897335150450e+02 -1.156565087233475e+02 -1.157233120892246e+02 - -1.157901436046917e+02 -1.158570032371645e+02 -1.159238909464663e+02 -1.159908067231330e+02 -1.160577506881430e+02 - -1.161247229415995e+02 -1.161917233696630e+02 -1.162587518588770e+02 -1.163258085112608e+02 -1.163928934406831e+02 - -1.164600065929374e+02 -1.165271479034755e+02 -1.165943174344564e+02 -1.166615152526160e+02 -1.167287413162901e+02 - -1.167959955757904e+02 -1.168632780577301e+02 -1.169305888112216e+02 -1.169979278990717e+02 -1.170652953548001e+02 - -1.171326910810820e+02 -1.172001149975291e+02 -1.172675672223445e+02 -1.173350478778825e+02 -1.174025569045121e+02 - -1.174700942215011e+02 -1.175376598456954e+02 -1.176052538191002e+02 -1.176728761867799e+02 -1.177405269796691e+02 - -1.178082061691247e+02 -1.178759137299273e+02 -1.179436497101298e+02 -1.180114141509050e+02 -1.180792069926326e+02 - -1.181470281872303e+02 -1.182148778335583e+02 -1.182827560287664e+02 -1.183506627162192e+02 -1.184185978220269e+02 - -1.184865613570652e+02 -1.185545533602401e+02 -1.186225738978121e+02 -1.186906230193939e+02 -1.187587006806511e+02 - -1.188268068350639e+02 -1.188949415213182e+02 -1.189631047837780e+02 -1.190312966043158e+02 -1.190995169567162e+02 - -1.191677658449030e+02 -1.192360432941998e+02 -1.193043493853908e+02 -1.193726841751893e+02 -1.194410475685670e+02 - -1.195094394794060e+02 -1.195778600089746e+02 -1.196463092648311e+02 -1.197147871923100e+02 -1.197832937276135e+02 - -1.198518289326376e+02 -1.199203928745778e+02 -1.199889855161324e+02 -1.200576068078755e+02 -1.201262567563797e+02 - -1.201949353935382e+02 -1.202636427965272e+02 -1.203323790196208e+02 -1.204011439802014e+02 -1.204699376081542e+02 - -1.205387600202684e+02 -1.206076113241917e+02 -1.206764914041025e+02 -1.207454001431820e+02 -1.208143376440890e+02 - -1.208833040296615e+02 -1.209522992839752e+02 -1.210213233653680e+02 -1.210903762679893e+02 -1.211594580022500e+02 - -1.212285686077949e+02 -1.212977081155049e+02 -1.213668764919694e+02 -1.214360737100132e+02 -1.215052998316942e+02 - -1.215745549154533e+02 -1.216438389160294e+02 -1.217131517838345e+02 -1.217824935556734e+02 -1.218518642837182e+02 - -1.219212639952166e+02 -1.219906927020717e+02 -1.220601503797327e+02 -1.221296370078328e+02 -1.221991526191948e+02 - -1.222686972509000e+02 -1.223382709038720e+02 -1.224078735702578e+02 -1.224775052432531e+02 -1.225471659287695e+02 - -1.226168556825330e+02 -1.226865745477072e+02 -1.227563224673916e+02 -1.228260993926653e+02 -1.228959054065903e+02 - -1.229657405910973e+02 -1.230356048916106e+02 -1.231054982500379e+02 -1.231754207307278e+02 -1.232453724007864e+02 - -1.233153532159101e+02 -1.233853631242201e+02 -1.234554021549459e+02 -1.235254703591199e+02 -1.235955677938801e+02 - -1.236656944915691e+02 -1.237358503792446e+02 -1.238060353939673e+02 -1.238762496180971e+02 -1.239464931371069e+02 - -1.240167659036240e+02 -1.240870678602586e+02 -1.241573990423949e+02 -1.242277595040581e+02 -1.242981492810638e+02 - -1.243685683872523e+02 -1.244390167667736e+02 -1.245094943779347e+02 -1.245800013053605e+02 -1.246505376299316e+02 - -1.247211032912332e+02 -1.247916982296097e+02 -1.248623225297382e+02 -1.249329762770640e+02 -1.250036594157741e+02 - -1.250743718736609e+02 -1.251451136541969e+02 -1.252158847947410e+02 -1.252866853925174e+02 -1.253575155184925e+02 - -1.254283750787370e+02 -1.254992639825418e+02 -1.255701823169751e+02 -1.256411301759969e+02 -1.257121075033584e+02 - -1.257831142369608e+02 -1.258541504415142e+02 -1.259252161922362e+02 -1.259963114795672e+02 -1.260674362758903e+02 - -1.261385905661348e+02 -1.262097743537985e+02 -1.262809877041053e+02 -1.263522306696565e+02 -1.264235031908370e+02 - -1.264948052148923e+02 -1.265661368287249e+02 -1.266374981169807e+02 -1.267088890156212e+02 -1.267803094502130e+02 - -1.268517594534262e+02 -1.269232390831601e+02 -1.269947483911282e+02 -1.270662874069690e+02 -1.271378560782095e+02 - -1.272094543594662e+02 -1.272810823158284e+02 -1.273527400123002e+02 -1.274244274030747e+02 -1.274961444355319e+02 - -1.275678911406106e+02 -1.276396675704015e+02 -1.277114737780431e+02 -1.277833097950603e+02 -1.278551755654751e+02 - -1.279270710424012e+02 -1.279989963028243e+02 -1.280709514152536e+02 -1.281429362904217e+02 -1.282149508513121e+02 - -1.282869952276877e+02 -1.283590695463467e+02 -1.284311737154509e+02 -1.285033076302067e+02 -1.285754713526335e+02 - -1.286476649682441e+02 -1.287198884897120e+02 -1.287921419051992e+02 -1.288644251776617e+02 -1.289367382880697e+02 - -1.290090813146567e+02 -1.290814543319980e+02 -1.291538573027727e+02 -1.292262901737162e+02 -1.292987529396840e+02 - -1.293712456190937e+02 -1.294437682764910e+02 -1.295163209673579e+02 -1.295889036647941e+02 -1.296615163353197e+02 - -1.297341590015173e+02 -1.298068316903185e+02 -1.298795343899871e+02 -1.299522670904091e+02 -1.300250298266263e+02 - -1.300978226354063e+02 -1.301706455152632e+02 -1.302434984561237e+02 -1.303163814518184e+02 -1.303892945098205e+02 - -1.304622376882688e+02 -1.305352110313897e+02 -1.306082144770936e+02 -1.306812479731976e+02 -1.307543116134598e+02 - -1.308274054850011e+02 -1.309005295024521e+02 -1.309736835845235e+02 -1.310468678387340e+02 -1.311200823754845e+02 - -1.311933271278942e+02 -1.312666020134129e+02 -1.313399070640916e+02 -1.314132423401880e+02 -1.314866079001839e+02 - -1.315600037753056e+02 -1.316334298895329e+02 -1.317068861777292e+02 -1.317803727255405e+02 -1.318538896215189e+02 - -1.319274368150577e+02 -1.320010142454794e+02 -1.320746219509807e+02 -1.321482599879661e+02 -1.322219283867981e+02 - -1.322956271602158e+02 -1.323693562765047e+02 -1.324431157110688e+02 -1.325169055122373e+02 -1.325907257242561e+02 - -1.326645763021127e+02 -1.327384572099461e+02 -1.328123685377604e+02 -1.328863103680995e+02 -1.329602826278048e+02 - -1.330342852393407e+02 -1.331083182633673e+02 -1.331823817787306e+02 -1.332564757988239e+02 -1.333306003141445e+02 - -1.334047552890586e+02 -1.334789407033280e+02 -1.335531566244299e+02 -1.336274031130300e+02 -1.337016801148342e+02 - -1.337759875748336e+02 -1.338503255501201e+02 -1.339246941130952e+02 -1.339990932852997e+02 -1.340735230609586e+02 - -1.341479833758948e+02 -1.342224741891434e+02 -1.342969956109889e+02 -1.343715477431406e+02 -1.344461305017541e+02 - -1.345207438015131e+02 -1.345953877367626e+02 -1.346700624038786e+02 -1.347447677276981e+02 -1.348195036263442e+02 - -1.348942701626209e+02 -1.349690674171868e+02 -1.350438953974369e+02 -1.351187540921076e+02 -1.351936434885642e+02 - -1.352685635848754e+02 -1.353435144232942e+02 -1.354184960414874e+02 -1.354935084145923e+02 -1.355685515128237e+02 - -1.356436253492364e+02 -1.357187299541088e+02 -1.357938653837732e+02 -1.358690316768758e+02 -1.359442287752637e+02 - -1.360194566279880e+02 -1.360947153097144e+02 -1.361700048911278e+02 -1.362453253013760e+02 -1.363206764782614e+02 - -1.363960585357406e+02 -1.364714715821978e+02 -1.365469155275740e+02 -1.366223902703805e+02 -1.366978958618521e+02 - -1.367734323848502e+02 -1.368489998960226e+02 -1.369245984210613e+02 -1.370002278880492e+02 -1.370758882331093e+02 - -1.371515795221331e+02 -1.372273018270698e+02 -1.373030551143317e+02 -1.373788393429953e+02 -1.374546545483291e+02 - -1.375305007816427e+02 -1.376063780822184e+02 -1.376822864668756e+02 -1.377582258746108e+02 -1.378341962588316e+02 - -1.379101977084133e+02 -1.379862303093919e+02 -1.380622940009784e+02 -1.381383887192652e+02 -1.382145145346940e+02 - -1.382906715205862e+02 -1.383668596274320e+02 -1.384430787972570e+02 -1.385193290610606e+02 -1.385956104734610e+02 - -1.386719230945808e+02 -1.387482669582360e+02 -1.388246419875133e+02 -1.389010481148665e+02 -1.389774854209464e+02 - -1.390539539951986e+02 -1.391304538140523e+02 -1.392069848343242e+02 -1.392835470473980e+02 -1.393601404693719e+02 - -1.394367651806349e+02 -1.395134212422815e+02 -1.395901085739362e+02 -1.396668271002043e+02 -1.397435769070855e+02 - -1.398203580874878e+02 -1.398971706005607e+02 -1.399740143977720e+02 -1.400508895336226e+02 -1.401277960614956e+02 - -1.402047339272718e+02 -1.402817030764181e+02 -1.403587035602461e+02 -1.404357354502877e+02 -1.405127987931110e+02 - -1.405898936026113e+02 -1.406670197869564e+02 -1.407441772794584e+02 -1.408213662197336e+02 -1.408985867371466e+02 - -1.409758387137537e+02 -1.410531220224061e+02 -1.411304367464428e+02 -1.412077829961380e+02 -1.412851607790223e+02 - -1.413625700771281e+02 -1.414400108732392e+02 -1.415174831646232e+02 -1.415949870057306e+02 -1.416725224388105e+02 - -1.417500894001226e+02 -1.418276878351835e+02 -1.419053178325258e+02 -1.419829794809226e+02 -1.420606727270934e+02 - -1.421383975074728e+02 -1.422161538594082e+02 -1.422939418408956e+02 -1.423717614916131e+02 -1.424496128273150e+02 - -1.425274957863782e+02 -1.426054103213069e+02 -1.426833565184944e+02 -1.427613344645970e+02 -1.428393441134355e+02 - -1.429173854035838e+02 -1.429954583454632e+02 -1.430735629773860e+02 -1.431516993773805e+02 -1.432298676007922e+02 - -1.433080675725197e+02 -1.433862992191345e+02 -1.434645626043482e+02 -1.435428578032951e+02 -1.436211847996638e+02 - -1.436995435672099e+02 -1.437779341314036e+02 -1.438563565210897e+02 -1.439348107268960e+02 -1.440132967358192e+02 - -1.440918145585468e+02 -1.441703642214681e+02 -1.442489457900865e+02 -1.443275593072134e+02 -1.444062046857781e+02 - -1.444848818522611e+02 -1.445635909172288e+02 -1.446423319927847e+02 -1.447211050130976e+02 -1.447999098925679e+02 - -1.448787466444589e+02 -1.449576153140356e+02 -1.450365159757091e+02 -1.451154486823820e+02 -1.451944133717774e+02 - -1.452734099863848e+02 -1.453524386029381e+02 -1.454314992962476e+02 -1.455105919991844e+02 -1.455897166474813e+02 - -1.456688733302556e+02 -1.457480621396693e+02 -1.458272830266799e+02 -1.459065359271370e+02 -1.459858208576615e+02 - -1.460651378591126e+02 -1.461444869885314e+02 -1.462238682831965e+02 -1.463032816851561e+02 -1.463827271416525e+02 - -1.464622047159361e+02 -1.465417144784923e+02 -1.466212564127396e+02 -1.467008304928943e+02 -1.467804367434297e+02 - -1.468600751934606e+02 -1.469397458404120e+02 -1.470194486722770e+02 -1.470991836710121e+02 -1.471789508433917e+02 - -1.472587503015001e+02 -1.473385821300154e+02 -1.474184461986837e+02 -1.474983423870870e+02 -1.475782708290815e+02 - -1.476582316674545e+02 -1.477382248264445e+02 -1.478182502096616e+02 -1.478983078567520e+02 -1.479783978350921e+02 - -1.480585201869469e+02 -1.481386749269736e+02 -1.482188619845118e+02 -1.482990813088785e+02 -1.483793330146163e+02 - -1.484596172099193e+02 -1.485399338123612e+02 -1.486202827323657e+02 -1.487006640423751e+02 -1.487810778248495e+02 - -1.488615240403001e+02 -1.489420026412511e+02 -1.490225136702235e+02 -1.491030571832025e+02 -1.491836332000337e+02 - -1.492642417202360e+02 -1.493448826981615e+02 -1.494255561054278e+02 -1.495062620278810e+02 -1.495870005487025e+02 - -1.496677716261896e+02 -1.497485751994623e+02 -1.498294112558179e+02 -1.499102798158717e+02 -1.499911809853331e+02 - -1.500721148441144e+02 -1.501530812838450e+02 -1.502340802026938e+02 -1.503151117132690e+02 -1.503961759364751e+02 - -1.504772728119622e+02 -1.505584022645880e+02 -1.506395643412949e+02 -1.507207591024668e+02 -1.508019865401696e+02 - -1.508832466324269e+02 -1.509645393694111e+02 -1.510458647628492e+02 -1.511272228985386e+02 -1.512086138412552e+02 - -1.512900374976176e+02 -1.513714937855876e+02 -1.514529828266537e+02 -1.515345047392310e+02 -1.516160594259147e+02 - -1.516976467776822e+02 -1.517792668548592e+02 -1.518609197460578e+02 -1.519426054836894e+02 -1.520243240750476e+02 - -1.521060754831553e+02 -1.521878596792744e+02 -1.522696767118938e+02 -1.523515266305248e+02 -1.524334094115421e+02 - -1.525153250314230e+02 -1.525972735401888e+02 -1.526792549864990e+02 -1.527612693400200e+02 -1.528433165631959e+02 - -1.529253966685747e+02 -1.530075096900777e+02 -1.530896556970147e+02 -1.531718347321965e+02 -1.532540466970516e+02 - -1.533362915133235e+02 -1.534185693253995e+02 -1.535008802693854e+02 -1.535832242256197e+02 -1.536656010621809e+02 - -1.537480108538752e+02 -1.538304537113657e+02 -1.539129296820158e+02 -1.539954387715506e+02 -1.540779808824423e+02 - -1.541605559457948e+02 -1.542431641104905e+02 -1.543258055115917e+02 -1.544084800111010e+02 -1.544911874726015e+02 - -1.545739280390565e+02 -1.546567018609975e+02 -1.547395088398511e+02 -1.548223488576198e+02 -1.549052219677139e+02 - -1.549881282595875e+02 -1.550710677954614e+02 -1.551540406026988e+02 -1.552370465964632e+02 -1.553200857053796e+02 - -1.554031580241178e+02 -1.554862636500489e+02 -1.555694025253043e+02 -1.556525745801794e+02 -1.557357798528659e+02 - -1.558190184045264e+02 -1.559022902803117e+02 -1.559855954979769e+02 -1.560689339817060e+02 -1.561523056771075e+02 - -1.562357107090587e+02 -1.563191491909100e+02 -1.564026210106382e+02 -1.564861260558312e+02 -1.565696644378976e+02 - -1.566532362813955e+02 -1.567368415396626e+02 -1.568204801387562e+02 -1.569041520668287e+02 -1.569878573487146e+02 - -1.570715960938785e+02 -1.571553683828581e+02 -1.572391740958522e+02 -1.573230131265335e+02 -1.574068856228085e+02 - -1.574907917295132e+02 -1.575747313249683e+02 -1.576587042737324e+02 -1.577427106518309e+02 -1.578267505715277e+02 - -1.579108240785769e+02 -1.579949311783184e+02 -1.580790717809458e+02 -1.581632458187553e+02 -1.582474534075981e+02 - -1.583316946623155e+02 -1.584159695101536e+02 -1.585002778727259e+02 -1.585846198367120e+02 -1.586689954874005e+02 - -1.587534047394542e+02 -1.588378475061590e+02 -1.589223238659185e+02 -1.590068339195322e+02 -1.590913776922658e+02 - -1.591759551748261e+02 -1.592605662952183e+02 -1.593452110061037e+02 -1.594298894214712e+02 -1.595146016508511e+02 - -1.595993476246111e+02 -1.596841272537272e+02 -1.597689405507699e+02 -1.598537875632453e+02 -1.599386683768111e+02 - -1.600235830481832e+02 -1.601085314801616e+02 -1.601935135899282e+02 -1.602785295061083e+02 -1.603635793509372e+02 - -1.604486630096468e+02 -1.605337803660765e+02 -1.606189315354990e+02 -1.607041166452176e+02 -1.607893356392255e+02 - -1.608745884397152e+02 -1.609598750649831e+02 -1.610451955612870e+02 -1.611305499906227e+02 -1.612159383917271e+02 - -1.613013606945609e+02 -1.613868168398436e+02 -1.614723069201057e+02 -1.615578310304217e+02 -1.616433891242326e+02 - -1.617289811339727e+02 -1.618146070496823e+02 -1.619002668955830e+02 -1.619859607750138e+02 -1.620716887676450e+02 - -1.621574507793529e+02 -1.622432467219253e+02 -1.623290767045893e+02 -1.624149408340039e+02 -1.625008390091176e+02 - -1.625867711331680e+02 -1.626727373342588e+02 -1.627587377384768e+02 -1.628447722389764e+02 -1.629308407201184e+02 - -1.630169432640222e+02 -1.631030799800713e+02 -1.631892508889492e+02 -1.632754559784962e+02 -1.633616951938801e+02 - -1.634479685044198e+02 -1.635342760187116e+02 -1.636206178291233e+02 -1.637069938238325e+02 -1.637934038942077e+02 - -1.638798481485683e+02 -1.639663267112721e+02 -1.640528395538795e+02 -1.641393866180353e+02 -1.642259678785196e+02 - -1.643125833411851e+02 -1.643992331030405e+02 -1.644859172470150e+02 -1.645726357085657e+02 -1.646593884180614e+02 - -1.647461754329907e+02 -1.648329968179324e+02 -1.649198525387065e+02 -1.650067425502886e+02 -1.650936668630355e+02 - -1.651806255134507e+02 -1.652676185872448e+02 -1.653546461444497e+02 -1.654417080931755e+02 -1.655288043499995e+02 - -1.656159350172886e+02 -1.657031001994683e+02 -1.657902998234105e+02 -1.658775338117127e+02 -1.659648022474274e+02 - -1.660521052162188e+02 -1.661394426537408e+02 -1.662268144894047e+02 -1.663142207776613e+02 -1.664016615975541e+02 - -1.664891370014617e+02 -1.665766470055737e+02 -1.666641915079906e+02 -1.667517704334961e+02 -1.668393839316945e+02 - -1.669270321420214e+02 -1.670147149384157e+02 -1.671024321837371e+02 -1.671901839620226e+02 -1.672779703889409e+02 - -1.673657914855093e+02 -1.674536472385115e+02 -1.675415375924466e+02 -1.676294625158688e+02 -1.677174221158364e+02 - -1.678054164853866e+02 -1.678934455229663e+02 -1.679815091339810e+02 -1.680696074462591e+02 -1.681577405863894e+02 - -1.682459084535819e+02 -1.683341109324726e+02 -1.684223480767776e+02 -1.685106199767677e+02 -1.685989266998525e+02 - -1.686872682758898e+02 -1.687756446073924e+02 -1.688640556163956e+02 -1.689525014303699e+02 -1.690409821718389e+02 - -1.691294977381033e+02 -1.692180480141565e+02 -1.693066330609834e+02 -1.693952529706734e+02 -1.694839077837423e+02 - -1.695725975104607e+02 -1.696613220916933e+02 -1.697500814887782e+02 -1.698388758143547e+02 -1.699277051650943e+02 - -1.700165694224996e+02 -1.701054684738952e+02 -1.701944024450633e+02 -1.702833714670375e+02 -1.703723754534025e+02 - -1.704614143033400e+02 -1.705504880758685e+02 -1.706395968591658e+02 -1.707287406982126e+02 -1.708179196055015e+02 - -1.709071335067704e+02 -1.709963823462651e+02 -1.710856662290167e+02 -1.711749852543236e+02 -1.712643393377691e+02 - -1.713537283867857e+02 -1.714431524599174e+02 -1.715326116432521e+02 -1.716221059819435e+02 -1.717116354891412e+02 - -1.718012000909151e+02 -1.718907997312464e+02 -1.719804345128430e+02 -1.720701045346718e+02 -1.721598097220100e+02 - -1.722495499971131e+02 -1.723393254438396e+02 -1.724291361494486e+02 -1.725189820532021e+02 -1.726088630837053e+02 - -1.726987792749333e+02 -1.727887306891670e+02 -1.728787173965418e+02 -1.729687394350333e+02 -1.730587967061244e+02 - -1.731488891286860e+02 -1.732390168276344e+02 -1.733291799265234e+02 -1.734193783374131e+02 -1.735096119603506e+02 - -1.735998808588243e+02 -1.736901851222248e+02 -1.737805247801124e+02 -1.738708998286339e+02 -1.739613101901119e+02 - -1.740517558114003e+02 -1.741422368113012e+02 -1.742327533050288e+02 -1.743233052214973e+02 -1.744138924793676e+02 - -1.745045151425876e+02 -1.745951732822802e+02 -1.746858668529805e+02 -1.747765958032038e+02 -1.748673601739718e+02 - -1.749581600245709e+02 -1.750489953948396e+02 -1.751398663036498e+02 -1.752307727054541e+02 -1.753217145616989e+02 - -1.754126919262226e+02 -1.755037048571098e+02 -1.755947533370347e+02 -1.756858373371216e+02 -1.757769568577038e+02 - -1.758681119173357e+02 -1.759593025782490e+02 -1.760505288876894e+02 -1.761417907892832e+02 -1.762330882344909e+02 - -1.763244213097290e+02 -1.764157900964081e+02 -1.765071945209611e+02 -1.765986345094344e+02 -1.766901101413071e+02 - -1.767816215026837e+02 -1.768731685527375e+02 -1.769647512369523e+02 -1.770563695729838e+02 -1.771480236027573e+02 - -1.772397133931058e+02 -1.773314389867134e+02 -1.774232003047593e+02 -1.775149972814722e+02 -1.776068300247813e+02 - -1.776986986385443e+02 -1.777906030366335e+02 -1.778825431235826e+02 -1.779745189565556e+02 -1.780665306226855e+02 - -1.781585781763529e+02 -1.782506616334199e+02 -1.783427808884287e+02 -1.784349358629673e+02 -1.785271267081259e+02 - -1.786193535668995e+02 -1.787116163204012e+02 -1.788039148425030e+02 -1.788962492399977e+02 -1.789886196318098e+02 - -1.790810259524725e+02 -1.791734681201561e+02 -1.792659461719689e+02 -1.793584601742520e+02 -1.794510101913400e+02 - -1.795435962594126e+02 -1.796362183040394e+02 -1.797288762617232e+02 -1.798215702233099e+02 -1.799143002757676e+02 - -1.800070663362093e+02 -1.800998683262517e+02 -1.801927063553792e+02 -1.802855805315161e+02 -1.803784907684791e+02 - -1.804714369692463e+02 -1.805644191875481e+02 -1.806574375103104e+02 -1.807504920064915e+02 -1.808435827084130e+02 - -1.809367095198169e+02 -1.810298723599504e+02 -1.811230713386593e+02 -1.812163065647390e+02 -1.813095779521854e+02 - -1.814028854036152e+02 -1.814962289709267e+02 -1.815896087407728e+02 -1.816830247895420e+02 -1.817764771515762e+02 - -1.818699657032943e+02 -1.819634903439186e+02 -1.820570512218083e+02 -1.821506484855823e+02 -1.822442820357622e+02 - -1.823379517614509e+02 -1.824316577541746e+02 -1.825254001134493e+02 -1.826191787683301e+02 -1.827129936397535e+02 - -1.828068447866412e+02 -1.829007322929544e+02 -1.829946562048259e+02 -1.830886165373395e+02 -1.831826132192083e+02 - -1.832766461922778e+02 -1.833707155372913e+02 -1.834648213380734e+02 -1.835589635518759e+02 -1.836531421229175e+02 - -1.837473570698571e+02 -1.838416084358642e+02 -1.839358962877114e+02 -1.840302206684350e+02 -1.841245815025237e+02 - -1.842189787235884e+02 -1.843134124202761e+02 -1.844078826806361e+02 -1.845023894352911e+02 -1.845969326205561e+02 - -1.846915123529413e+02 -1.847861287393624e+02 -1.848807816681596e+02 -1.849754710227848e+02 -1.850701968857076e+02 - -1.851649593688754e+02 -1.852597585031284e+02 -1.853545942804591e+02 -1.854494666185751e+02 -1.855443754618861e+02 - -1.856393209358935e+02 -1.857343031604275e+02 -1.858293220515437e+02 -1.859243775087027e+02 -1.860194695687597e+02 - -1.861145983033516e+02 -1.862097637858479e+02 -1.863049660540466e+02 -1.864002050017272e+02 -1.864954805431744e+02 - -1.865907928187129e+02 -1.866861419596013e+02 -1.867815278347963e+02 -1.868769503164351e+02 -1.869724095516791e+02 - -1.870679056966096e+02 -1.871634386679672e+02 -1.872590083560524e+02 -1.873546147847470e+02 -1.874502580123688e+02 - -1.875459381013990e+02 -1.876416550903780e+02 -1.877374089179168e+02 -1.878331995340542e+02 -1.879290270344656e+02 - -1.880248915055781e+02 -1.881207928511883e+02 -1.882167309755823e+02 -1.883127059676341e+02 -1.884087179360091e+02 - -1.885047668839511e+02 -1.886008527852007e+02 -1.886969756009047e+02 -1.887931353152428e+02 -1.888893320171184e+02 - -1.889855657829229e+02 -1.890818365342772e+02 -1.891781441947396e+02 -1.892744888503877e+02 -1.893708705921393e+02 - -1.894672893677523e+02 -1.895637451161106e+02 -1.896602378837592e+02 -1.897567677352667e+02 -1.898533346996371e+02 - -1.899499387807097e+02 -1.900465799172331e+02 -1.901432580674921e+02 -1.902399733330072e+02 -1.903367258125687e+02 - -1.904335154508099e+02 -1.905303421711713e+02 -1.906272059664800e+02 -1.907241068668330e+02 -1.908210449820209e+02 - -1.909180203947948e+02 -1.910150330000556e+02 -1.911120827002041e+02 -1.912091696154924e+02 -1.913062938635582e+02 - -1.914034553337337e+02 -1.915006539182285e+02 -1.915978897490666e+02 -1.916951629619544e+02 -1.917924734675151e+02 - -1.918898211586861e+02 -1.919872060827436e+02 -1.920846283161583e+02 -1.921820878978424e+02 -1.922795848438701e+02 - -1.923771191165239e+02 -1.924746906889474e+02 -1.925722996315181e+02 -1.926699460069926e+02 -1.927676297504074e+02 - -1.928653507913461e+02 -1.929631091652971e+02 -1.930609049367203e+02 -1.931587381800568e+02 -1.932566089358633e+02 - -1.933545170991796e+02 -1.934524625825225e+02 -1.935504455138344e+02 -1.936484660231147e+02 -1.937465240331655e+02 - -1.938446194535055e+02 -1.939427523477156e+02 -1.940409227930324e+02 -1.941391307672549e+02 -1.942373762317632e+02 - -1.943356591817002e+02 -1.944339796386271e+02 -1.945323376960147e+02 -1.946307334225392e+02 -1.947291667157886e+02 - -1.948276374816129e+02 -1.949261458299981e+02 -1.950246918758956e+02 -1.951232755499811e+02 -1.952218967672293e+02 - -1.953205555640852e+02 -1.954192520091347e+02 -1.955179861780584e+02 -1.956167581109271e+02 -1.957155676982765e+02 - -1.958144148511486e+02 -1.959132997121442e+02 -1.960122224157670e+02 -1.961111828325720e+02 -1.962101808324193e+02 - -1.963092165463342e+02 -1.964082901163006e+02 -1.965074014669716e+02 -1.966065505047830e+02 -1.967057372806285e+02 - -1.968049618689787e+02 -1.969042242941536e+02 -1.970035245570506e+02 -1.971028626150270e+02 -1.972022384428475e+02 - -1.973016521284466e+02 -1.974011037520065e+02 -1.975005932495305e+02 -1.976001205455443e+02 -1.976996856628438e+02 - -1.977992886519515e+02 -1.978989295760255e+02 -1.979986084767589e+02 -1.980983252973461e+02 -1.981980799861144e+02 - -1.982978726104215e+02 -1.983977032396124e+02 -1.984975718319531e+02 -1.985974783450467e+02 -1.986974228449224e+02 - -1.987974053983538e+02 -1.988974259666649e+02 -1.989974844962869e+02 -1.990975809795281e+02 -1.991977154414513e+02 - -1.992978879922588e+02 -1.993980987169082e+02 -1.994983475142392e+02 -1.995986342853965e+02 -1.996989591268633e+02 - -1.997993221398394e+02 -1.998997232490551e+02 -2.000001623829878e+02 -2.001006396615730e+02 -2.002011551976202e+02 - -2.003017088839768e+02 -2.004023006006677e+02 -2.005029303963877e+02 -2.006035983645368e+02 -2.007043046086661e+02 - -2.008050491826254e+02 -2.009058319313084e+02 -2.010066527248718e+02 -2.011075117434797e+02 -2.012084091672780e+02 - -2.013093448663347e+02 -2.014103186854462e+02 -2.015113306783989e+02 -2.016123809487723e+02 -2.017134695903300e+02 - -2.018145966520298e+02 -2.019157620134241e+02 -2.020169655668574e+02 -2.021182074252480e+02 -2.022194877090834e+02 - -2.023208063485549e+02 -2.024221632682046e+02 -2.025235585602719e+02 -2.026249923196053e+02 -2.027264644837921e+02 - -2.028279749730532e+02 -2.029295237954015e+02 -2.030311109992572e+02 -2.031327367068774e+02 -2.032344010007734e+02 - -2.033361037306376e+02 -2.034378447601810e+02 -2.035396242420057e+02 -2.036414423389593e+02 -2.037432989659801e+02 - -2.038451940079258e+02 -2.039471274772405e+02 -2.040490994323931e+02 -2.041511099883670e+02 -2.042531592234435e+02 - -2.043552470125819e+02 -2.044573732391661e+02 -2.045595380236004e+02 -2.046617414909655e+02 -2.047639835480296e+02 - -2.048662640993485e+02 -2.049685832589404e+02 -2.050709411450770e+02 -2.051733376835843e+02 -2.052757727854042e+02 - -2.053782464943871e+02 -2.054807588829732e+02 -2.055833100050551e+02 -2.056858998827895e+02 -2.057885284299405e+02 - -2.058911955783421e+02 -2.059939014405005e+02 -2.060966461276917e+02 -2.061994295656012e+02 -2.063022516666823e+02 - -2.064051124760526e+02 -2.065080120661920e+02 -2.066109504863692e+02 -2.067139277576765e+02 -2.068169438117121e+02 - -2.069199985973326e+02 -2.070230922219201e+02 -2.071262247789163e+02 -2.072293961474789e+02 -2.073326062201854e+02 - -2.074358551575783e+02 -2.075391431180403e+02 -2.076424699833530e+02 -2.077458356179337e+02 -2.078492400933438e+02 - -2.079526835133251e+02 -2.080561659031989e+02 -2.081596872578975e+02 -2.082632475292167e+02 -2.083668466898186e+02 - -2.084704848389632e+02 -2.085741620623951e+02 -2.086778782651976e+02 -2.087816333480700e+02 -2.088854273748348e+02 - -2.089892604383302e+02 -2.090931325843364e+02 -2.091970438282278e+02 -2.093009941108145e+02 -2.094049833841979e+02 - -2.095090117202067e+02 -2.096130791905716e+02 -2.097171857469022e+02 -2.098213313423286e+02 -2.099255160561849e+02 - -2.100297399619016e+02 -2.101340029830976e+02 -2.102383050403986e+02 -2.103426461922712e+02 -2.104470265253758e+02 - -2.105514461013085e+02 -2.106559049410852e+02 -2.107604029284658e+02 -2.108649399745926e+02 -2.109695162373935e+02 - -2.110741318706494e+02 -2.111787867647689e+02 -2.112834807867834e+02 -2.113882139735869e+02 -2.114929864074473e+02 - -2.115977981822681e+02 -2.117026493533424e+02 -2.118075398098887e+02 -2.119124694556393e+02 -2.120174384184601e+02 - -2.121224468216736e+02 -2.122274945462991e+02 -2.123325814769304e+02 -2.124377077547605e+02 -2.125428735238108e+02 - -2.126480786828185e+02 -2.127533231155498e+02 -2.128586068911697e+02 -2.129639301084739e+02 -2.130692927993837e+02 - -2.131746949622090e+02 -2.132801365276879e+02 -2.133856174488912e+02 -2.134911378357916e+02 -2.135966977951921e+02 - -2.137022972643151e+02 -2.138079361581469e+02 -2.139136144723085e+02 -2.140193322420075e+02 -2.141250895801643e+02 - -2.142308865713384e+02 -2.143367231089345e+02 -2.144425990899214e+02 -2.145485146166798e+02 -2.146544697958461e+02 - -2.147604645456698e+02 -2.148664987887291e+02 -2.149725726533044e+02 -2.150786862586875e+02 -2.151848394825147e+02 - -2.152910321964648e+02 -2.153972644900385e+02 -2.155035364828845e+02 -2.156098481974242e+02 -2.157161996246267e+02 - -2.158225907268823e+02 -2.159290214790141e+02 -2.160354919341570e+02 -2.161420021424622e+02 -2.162485520638355e+02 - -2.163551416576007e+02 -2.164617709709994e+02 -2.165684400663080e+02 -2.166751489780245e+02 -2.167818977145845e+02 - -2.168886862079515e+02 -2.169955144082682e+02 -2.171023824148656e+02 -2.172092903208214e+02 -2.173162380450137e+02 - -2.174232255130703e+02 -2.175302528518165e+02 -2.176373201799158e+02 -2.177444273821862e+02 -2.178515743317612e+02 - -2.179587610888773e+02 -2.180659877532527e+02 -2.181732543954297e+02 -2.182805610486399e+02 -2.183879076260487e+02 - -2.184952940541088e+02 -2.186027204324891e+02 -2.187101868605661e+02 -2.188176932633304e+02 -2.189252395535715e+02 - -2.190328257696591e+02 -2.191404519835346e+02 -2.192481182758485e+02 -2.193558246894080e+02 -2.194635711069396e+02 - -2.195713574321837e+02 -2.196791838130171e+02 -2.197870503917547e+02 -2.198949570443306e+02 -2.200029036478261e+02 - -2.201108903502962e+02 -2.202189173008489e+02 -2.203269843818326e+02 -2.204350914576510e+02 -2.205432385876858e+02 - -2.206514258738742e+02 -2.207596533933995e+02 -2.208679211808499e+02 -2.209762291251867e+02 -2.210845771334710e+02 - -2.211929653307878e+02 -2.213013938407175e+02 -2.214098625627986e+02 -2.215183713969045e+02 -2.216269204682873e+02 - -2.217355099024502e+02 -2.218441396005216e+02 -2.219528094497077e+02 -2.220615195058979e+02 -2.221702698646027e+02 - -2.222790606111339e+02 -2.223878917838657e+02 -2.224967632436199e+02 -2.226056748766821e+02 -2.227146268487432e+02 - -2.228236193240230e+02 -2.229326521814535e+02 -2.230417252803019e+02 -2.231508386864637e+02 -2.232599925050409e+02 - -2.233691867913336e+02 -2.234784215614204e+02 -2.235876967242961e+02 -2.236970122086523e+02 -2.238063681290529e+02 - -2.239157646015454e+02 -2.240252015622403e+02 -2.241346789340316e+02 -2.242441967668838e+02 -2.243537551247286e+02 - -2.244633540002964e+02 -2.245729933685804e+02 -2.246826732048266e+02 -2.247923935126906e+02 -2.249021544092157e+02 - -2.250119559889259e+02 -2.251217981428817e+02 -2.252316807628839e+02 -2.253416039471573e+02 -2.254515678046834e+02 - -2.255615722810486e+02 -2.256716173029860e+02 -2.257817028852108e+02 -2.258918290784169e+02 -2.260019959892315e+02 - -2.261122036854213e+02 -2.262224520233766e+02 -2.263327408802082e+02 -2.264430704272837e+02 -2.265534408332552e+02 - -2.266638519616550e+02 -2.267743036660735e+02 -2.268847960654481e+02 -2.269953292962885e+02 -2.271059033000460e+02 - -2.272165179952407e+02 -2.273271734037251e+02 -2.274378695801794e+02 -2.275486066072624e+02 -2.276593845334010e+02 - -2.277702032421150e+02 -2.278810626343348e+02 -2.279919628455381e+02 -2.281029040172474e+02 -2.282138860806176e+02 - -2.283249089376286e+02 -2.284359725839265e+02 -2.285470770593814e+02 -2.286582224870930e+02 -2.287694089544078e+02 - -2.288806363224278e+02 -2.289919044640359e+02 -2.291032135254801e+02 -2.292145636582007e+02 -2.293259547610424e+02 - -2.294373867252146e+02 -2.295488596639802e+02 -2.296603736910369e+02 -2.297719286997702e+02 -2.298835245768747e+02 - -2.299951614025932e+02 -2.301068392919157e+02 -2.302185583052736e+02 -2.303303184582155e+02 -2.304421196413199e+02 - -2.305539617649887e+02 -2.306658449438852e+02 -2.307777692999738e+02 -2.308897347801602e+02 -2.310017413072381e+02 - -2.311137888826106e+02 -2.312258775426401e+02 -2.313380073849178e+02 -2.314501784790464e+02 -2.315623907214496e+02 - -2.316746440227619e+02 -2.317869385236417e+02 -2.318992743527083e+02 -2.320116513604021e+02 -2.321240694060221e+02 - -2.322365286624793e+02 -2.323490293043759e+02 -2.324615711994689e+02 -2.325741541998047e+02 -2.326867784014305e+02 - -2.327994439322068e+02 -2.329121508032486e+02 -2.330248989898164e+02 -2.331376884404961e+02 -2.332505191272475e+02 - -2.333633911421986e+02 -2.334763045743060e+02 -2.335892593796759e+02 -2.337022554911374e+02 -2.338152928812627e+02 - -2.339283715644559e+02 -2.340414916827054e+02 -2.341546533474617e+02 -2.342678564204413e+02 -2.343811007676228e+02 - -2.344943865217682e+02 -2.346077138212040e+02 -2.347210825597340e+02 -2.348344926295532e+02 -2.349479441609453e+02 - -2.350614372851493e+02 -2.351749718991416e+02 -2.352885478850955e+02 -2.354021653002366e+02 -2.355158242429473e+02 - -2.356295248011875e+02 -2.357432670145577e+02 -2.358570507396431e+02 -2.359708758587992e+02 -2.360847425404777e+02 - -2.361986509531367e+02 -2.363126009791645e+02 -2.364265924750662e+02 -2.365406254798825e+02 -2.366547000814751e+02 - -2.367688163804559e+02 -2.368829744348273e+02 -2.369971741194025e+02 -2.371114153287764e+02 -2.372256982198593e+02 - -2.373400229428812e+02 -2.374543893590377e+02 -2.375687973238754e+02 -2.376832469593778e+02 -2.377977384043928e+02 - -2.379122715987879e+02 -2.380268464580362e+02 -2.381414629990116e+02 -2.382561212769444e+02 -2.383708213990897e+02 - -2.384855634334210e+02 -2.386003472387607e+02 -2.387151726904082e+02 -2.388300399387221e+02 -2.389449491374237e+02 - -2.390599001786255e+02 -2.391748929369255e+02 -2.392899274784697e+02 -2.394050039061344e+02 -2.395201222781684e+02 - -2.396352826134916e+02 -2.397504848183333e+02 -2.398657288168898e+02 -2.399810147179146e+02 -2.400963426277219e+02 - -2.402117124583125e+02 -2.403271241258893e+02 -2.404425777577767e+02 -2.405580734795174e+02 -2.406736111984077e+02 - -2.407891907995794e+02 -2.409048122977546e+02 -2.410204757554728e+02 -2.411361812969551e+02 -2.412519290053517e+02 - -2.413677187378485e+02 -2.414835503650167e+02 -2.415994240369316e+02 -2.417153399089511e+02 -2.418312978780588e+02 - -2.419472978191357e+02 -2.420633397770240e+02 -2.421794238369657e+02 -2.422955500758429e+02 -2.424117185344053e+02 - -2.425279291172331e+02 -2.426441817421263e+02 -2.427604765159341e+02 -2.428768135466203e+02 -2.429931927575585e+02 - -2.431096140668555e+02 -2.432260775561414e+02 -2.433425833145866e+02 -2.434591312980004e+02 -2.435757214497087e+02 - -2.436923537964655e+02 -2.438090283895336e+02 -2.439257452947832e+02 -2.440425045463603e+02 -2.441593060369063e+02 - -2.442761496825792e+02 -2.443930356351059e+02 -2.445099640393889e+02 -2.446269347774639e+02 -2.447439477225602e+02 - -2.448610029755453e+02 -2.449781006544274e+02 -2.450952407181387e+02 -2.452124231032676e+02 -2.453296478161015e+02 - -2.454469148921256e+02 -2.455642244139170e+02 -2.456815764363974e+02 -2.457989708567751e+02 -2.459164075868465e+02 - -2.460338867544718e+02 -2.461514084874868e+02 -2.462689726975661e+02 -2.463865792818051e+02 -2.465042282951439e+02 - -2.466219198202147e+02 -2.467396538925739e+02 -2.468574305187124e+02 -2.469752496359336e+02 -2.470931112029433e+02 - -2.472110153332446e+02 -2.473289621270786e+02 -2.474469514768406e+02 -2.475649832814832e+02 -2.476830576740329e+02 - -2.478011747871381e+02 -2.479193345178656e+02 -2.480375367456449e+02 -2.481557815149384e+02 -2.482740689103307e+02 - -2.483923990118631e+02 -2.485107718618152e+02 -2.486291873559622e+02 -2.487476454083695e+02 -2.488661461527674e+02 - -2.489846897184250e+02 -2.491032759971039e+02 -2.492219048675295e+02 -2.493405763937896e+02 -2.494592906781626e+02 - -2.495780477903268e+02 -2.496968477531592e+02 -2.498156904349301e+02 -2.499345757349562e+02 -2.500535038313474e+02 - -2.501724748933778e+02 -2.502914887761886e+02 -2.504105453266259e+02 -2.505296446724864e+02 -2.506487869586733e+02 - -2.507679721175656e+02 -2.508872000588222e+02 -2.510064708137437e+02 -2.511257844438344e+02 -2.512451410097723e+02 - -2.513645405425343e+02 -2.514839829551193e+02 -2.516034681806881e+02 -2.517229963510282e+02 -2.518425675906852e+02 - -2.519621817966139e+02 -2.520818388494823e+02 -2.522015387924022e+02 -2.523212817096907e+02 -2.524410676880414e+02 - -2.525608967718439e+02 -2.526807688338955e+02 -2.528006837687293e+02 -2.529206417294141e+02 -2.530406428681973e+02 - -2.531606870755077e+02 -2.532807742357317e+02 -2.534009044709059e+02 -2.535210779031462e+02 -2.536412944172385e+02 - -2.537615538911017e+02 -2.538818564125164e+02 -2.540022021028112e+02 -2.541225910076441e+02 -2.542430231270507e+02 - -2.543634983542462e+02 -2.544840166121418e+02 -2.546045780492533e+02 -2.547251828099108e+02 -2.548458307960956e+02 - -2.549665218842466e+02 -2.550872560909815e+02 -2.552080334828205e+02 -2.553288541857174e+02 -2.554497182835964e+02 - -2.555706256328296e+02 -2.556915761009198e+02 -2.558125698274442e+02 -2.559336069560756e+02 -2.560546873747970e+02 - -2.561758109689862e+02 -2.562969778692906e+02 -2.564181882127723e+02 -2.565394419168841e+02 -2.566607388759341e+02 - -2.567820791112567e+02 -2.569034626862424e+02 -2.570248897054782e+02 -2.571463602359873e+02 -2.572678741533426e+02 - -2.573894313462550e+02 -2.575110319474426e+02 -2.576326760938784e+02 -2.577543636955484e+02 -2.578760946446893e+02 - -2.579978689895271e+02 -2.581196868133063e+02 -2.582415481833543e+02 -2.583634531275302e+02 -2.584854015317316e+02 - -2.586073933093156e+02 -2.587294286254374e+02 -2.588515076317444e+02 -2.589736301740566e+02 -2.590957960996737e+02 - -2.592180055676404e+02 -2.593402587446819e+02 -2.594625555165019e+02 -2.595848957490105e+02 -2.597072795099639e+02 - -2.598297069067293e+02 -2.599521780032740e+02 -2.600746928207452e+02 -2.601972512524080e+02 -2.603198532148209e+02 - -2.604424988455961e+02 -2.605651882765137e+02 -2.606879213949725e+02 -2.608106980758151e+02 -2.609335183880386e+02 - -2.610563824372016e+02 -2.611792902809524e+02 -2.613022419394243e+02 -2.614252373306019e+02 -2.615482763897488e+02 - -2.616713592233935e+02 -2.617944859260970e+02 -2.619176563732862e+02 -2.620408704583867e+02 -2.621641283659552e+02 - -2.622874302706103e+02 -2.624107760160917e+02 -2.625341654302978e+02 -2.626575986086381e+02 -2.627810756876698e+02 - -2.629045967010318e+02 -2.630281616427657e+02 -2.631517704514422e+02 -2.632754230861743e+02 -2.633991196437133e+02 - -2.635228602105341e+02 -2.636466446943674e+02 -2.637704729984163e+02 -2.638943451865159e+02 -2.640182613561179e+02 - -2.641422215785110e+02 -2.642662258795402e+02 -2.643902741294400e+02 -2.645143662245587e+02 -2.646385023213122e+02 - -2.647626825745115e+02 -2.648869068724856e+02 -2.650111750962730e+02 -2.651354873642347e+02 -2.652598438005879e+02 - -2.653842443156531e+02 -2.655086888035231e+02 -2.656331773072787e+02 -2.657577099091213e+02 -2.658822866987512e+02 - -2.660069077230897e+02 -2.661315728504449e+02 -2.662562819710931e+02 -2.663810352417937e+02 -2.665058328192844e+02 - -2.666306745937331e+02 -2.667555604333347e+02 -2.668804903849584e+02 -2.670054645383429e+02 -2.671304829760297e+02 - -2.672555457413816e+02 -2.673806527282453e+02 -2.675058038464400e+02 -2.676309992191929e+02 -2.677562389652032e+02 - -2.678815229716541e+02 -2.680068511277727e+02 -2.681322235624782e+02 -2.682576404136338e+02 -2.683831016151858e+02 - -2.685086070756685e+02 -2.686341568058856e+02 -2.687597508516357e+02 -2.688853892964312e+02 -2.690110721950252e+02 - -2.691367994494158e+02 -2.692625709807897e+02 -2.693883869398372e+02 -2.695142474621058e+02 -2.696401523930688e+02 - -2.697661015819900e+02 -2.698920951833660e+02 -2.700181333642693e+02 -2.701442160368443e+02 -2.702703430840482e+02 - -2.703965145270174e+02 -2.705227304331903e+02 -2.706489909170355e+02 -2.707752960482972e+02 -2.709016456707917e+02 - -2.710280396495872e+02 -2.711544781606855e+02 -2.712809613853167e+02 -2.714074892146895e+02 -2.715340615102555e+02 - -2.716606783044584e+02 -2.717873396730564e+02 -2.719140456940721e+02 -2.720407964136753e+02 -2.721675917483545e+02 - -2.722944316245073e+02 -2.724213161378437e+02 -2.725482453844213e+02 -2.726752192923742e+02 -2.728022377909456e+02 - -2.729293009817382e+02 -2.730564089616648e+02 -2.731835616365174e+02 -2.733107589046467e+02 -2.734380008257563e+02 - -2.735652874983575e+02 -2.736926190148396e+02 -2.738199954194386e+02 -2.739474165698984e+02 -2.740748823405867e+02 - -2.742023928588563e+02 -2.743299482670098e+02 -2.744575485141638e+02 -2.745851935229188e+02 -2.747128833029967e+02 - -2.748406178969678e+02 -2.749683973916734e+02 -2.750962218440648e+02 -2.752240911472609e+02 -2.753520052060601e+02 - -2.754799641358123e+02 -2.756079680559450e+02 -2.757360168916492e+02 -2.758641105650285e+02 -2.759922491800748e+02 - -2.761204328366440e+02 -2.762486614361617e+02 -2.763769348745897e+02 -2.765052532244616e+02 -2.766336165883748e+02 - -2.767620250126050e+02 -2.768904785041199e+02 -2.770189769689730e+02 -2.771475203398639e+02 -2.772761087569904e+02 - -2.774047423518460e+02 -2.775334210136085e+02 -2.776621446145333e+02 -2.777909132015001e+02 -2.779197268642361e+02 - -2.780485856892346e+02 -2.781774897218528e+02 -2.783064388461343e+02 -2.784354329669438e+02 -2.785644722337429e+02 - -2.786935567875348e+02 -2.788226864908934e+02 -2.789518612068105e+02 -2.790810810783757e+02 -2.792103462555617e+02 - -2.793396566357773e+02 -2.794690121008859e+02 -2.795984127231330e+02 -2.797278586088501e+02 -2.798573498103315e+02 - -2.799868863353985e+02 -2.801164680680156e+02 -2.802460949220819e+02 -2.803757670550874e+02 -2.805054846206144e+02 - -2.806352475130235e+02 -2.807650555997772e+02 -2.808949088999684e+02 -2.810248074853591e+02 -2.811547514867556e+02 - -2.812847409903677e+02 -2.814147758449749e+02 -2.815448559108459e+02 -2.816749813316353e+02 -2.818051522586102e+02 - -2.819353685901064e+02 -2.820656302199222e+02 -2.821959372766401e+02 -2.823262898869716e+02 -2.824566879353637e+02 - -2.825871312931868e+02 -2.827176200217700e+02 -2.828481542276227e+02 -2.829787340080183e+02 -2.831093594072626e+02 - -2.832400302670260e+02 -2.833707464559445e+02 -2.835015081531469e+02 -2.836323155420096e+02 -2.837631685124079e+02 - -2.838940669226656e+02 -2.840250107984012e+02 -2.841560002155769e+02 -2.842870352842360e+02 -2.844181160721325e+02 - -2.845492424437817e+02 -2.846804142799303e+02 -2.848116317294889e+02 -2.849428949404899e+02 -2.850742037892878e+02 - -2.852055581519247e+02 -2.853369581748677e+02 -2.854684040068092e+02 -2.855998955349205e+02 -2.857314326251873e+02 - -2.858630153203723e+02 -2.859946437114748e+02 -2.861263179056654e+02 -2.862580379663874e+02 -2.863898037660037e+02 - -2.865216151879669e+02 -2.866534723511688e+02 -2.867853753832939e+02 -2.869173242117615e+02 -2.870493187426322e+02 - -2.871813589967982e+02 -2.873134450373917e+02 -2.874455769816758e+02 -2.875777549027032e+02 -2.877099786425546e+02 - -2.878422480619707e+02 -2.879745633273037e+02 -2.881069246090204e+02 -2.882393317884377e+02 -2.883717847366556e+02 - -2.885042835730584e+02 -2.886368284288774e+02 -2.887694192344474e+02 -2.889020558953364e+02 -2.890347384189399e+02 - -2.891674668528066e+02 -2.893002413032724e+02 -2.894330618447220e+02 -2.895659283649483e+02 -2.896988407604515e+02 - -2.898317991491523e+02 -2.899648036558058e+02 -2.900978542110840e+02 -2.902309507220182e+02 -2.903640931951591e+02 - -2.904972816775983e+02 -2.906305162790740e+02 -2.907637970750559e+02 -2.908971239412933e+02 -2.910304967707643e+02 - -2.911639157250792e+02 -2.912973809535366e+02 -2.914308922875549e+02 -2.915644495654761e+02 -2.916980529712119e+02 - -2.918317026983915e+02 -2.919653986339440e+02 -2.920991406314096e+02 -2.922329287174719e+02 -2.923667629702973e+02 - -2.925006435008390e+02 -2.926345703772706e+02 -2.927685434638595e+02 -2.929025626397000e+02 -2.930366280470975e+02 - -2.931707398343328e+02 -2.933048979103752e+02 -2.934391021578708e+02 -2.935733525934834e+02 -2.937076492857184e+02 - -2.938419923764308e+02 -2.939763819565550e+02 -2.941108178399977e+02 -2.942452998623305e+02 -2.943798282228154e+02 - -2.945144031200941e+02 -2.946490243866398e+02 -2.947836918481424e+02 -2.949184056693277e+02 -2.950531660302706e+02 - -2.951879728334102e+02 -2.953228259514730e+02 -2.954577254159683e+02 -2.955926713017622e+02 -2.957276636983648e+02 - -2.958627026572042e+02 -2.959977880627373e+02 -2.961329198152110e+02 -2.962680980450039e+02 -2.964033228802077e+02 - -2.965385942096344e+02 -2.966739119278574e+02 -2.968092761917713e+02 -2.969446871501122e+02 -2.970801446566606e+02 - -2.972156485544735e+02 -2.973511989386669e+02 -2.974867959450954e+02 -2.976224396205114e+02 -2.977581299655766e+02 - -2.978938668856917e+02 -2.980296503111913e+02 -2.981654803674056e+02 -2.983013571739824e+02 -2.984372806328453e+02 - -2.985732506311156e+02 -2.987092672144286e+02 -2.988453304703744e+02 -2.989814404958496e+02 -2.991175973412398e+02 - -2.992538008615809e+02 -2.993900509369414e+02 -2.995263477428711e+02 -2.996626914493826e+02 -2.997990819088619e+02 - -2.999355189707111e+02 -3.000720027900217e+02 -3.002085335269560e+02 -3.003451110562723e+02 -3.004817352353309e+02 - -3.006184061373012e+02 -3.007551238767678e+02 -3.008918885181671e+02 -3.010287000846923e+02 -3.011655584847104e+02 - -3.013024636430795e+02 -3.014394156654455e+02 -3.015764146559894e+02 -3.017134605322491e+02 -3.018505532010304e+02 - -3.019876927128527e+02 -3.021248791518991e+02 -3.022621125932933e+02 -3.023993930706231e+02 -3.025367204603900e+02 - -3.026740946641424e+02 -3.028115158406990e+02 -3.029489841386069e+02 -3.030864994080570e+02 -3.032240615026816e+02 - -3.033616705882347e+02 -3.034993268395738e+02 -3.036370301558538e+02 -3.037747804087723e+02 -3.039125776359002e+02 - -3.040504219146317e+02 -3.041883133157825e+02 -3.043262518737324e+02 -3.044642374836954e+02 -3.046022700638564e+02 - -3.047403497634464e+02 -3.048784767248004e+02 -3.050166508316213e+02 -3.051548719471290e+02 -3.052931401112401e+02 - -3.054314554166776e+02 -3.055698179906950e+02 -3.057082279030724e+02 -3.058466849591645e+02 -3.059851889955948e+02 - -3.061237402384871e+02 -3.062623389075358e+02 -3.064009848072192e+02 -3.065396777363650e+02 -3.066784178864098e+02 - -3.068172054654241e+02 -3.069560403554044e+02 -3.070949224023651e+02 -3.072338516344630e+02 -3.073728281334552e+02 - -3.075118520133569e+02 -3.076509233435525e+02 -3.077900419826468e+02 -3.079292078053290e+02 -3.080684209614084e+02 - -3.082076816048298e+02 -3.083469896309615e+02 -3.084863449149456e+02 -3.086257475095906e+02 -3.087651975081579e+02 - -3.089046949880547e+02 -3.090442399817611e+02 -3.091838323579038e+02 -3.093234720151574e+02 -3.094631591362355e+02 - -3.096028938900603e+02 -3.097426761063483e+02 -3.098825056148365e+02 -3.100223825845469e+02 -3.101623071983122e+02 - -3.103022793549238e+02 -3.104422989228102e+02 -3.105823659329897e+02 -3.107224804626276e+02 -3.108626426108901e+02 - -3.110028524323948e+02 -3.111431097815640e+02 -3.112834145351391e+02 -3.114237668593314e+02 -3.115641669247677e+02 - -3.117046146302696e+02 -3.118451098470761e+02 -3.119856526079039e+02 -3.121262429897644e+02 -3.122668810853719e+02 - -3.124075669478935e+02 -3.125483004566077e+02 -3.126890815070839e+02 -3.128299102339429e+02 -3.129707867704560e+02 - -3.131117110054437e+02 -3.132526828292356e+02 -3.133937023826453e+02 -3.135347698019019e+02 -3.136758849544115e+02 - -3.138170476993112e+02 -3.139582581314797e+02 -3.140995163841689e+02 -3.142408225083815e+02 -3.143821765079714e+02 - -3.145235782804463e+02 -3.146650277504123e+02 -3.148065250572144e+02 -3.149480703283944e+02 -3.150896634295446e+02 - -3.152313042212708e+02 -3.153729928061792e+02 -3.155147293192109e+02 -3.156565137826469e+02 -3.157983461803634e+02 - -3.159402264552761e+02 -3.160821545730877e+02 -3.162241306316100e+02 -3.163661547129774e+02 -3.165082267045055e+02 - -3.166503465083330e+02 -3.167925142807053e+02 -3.169347301718565e+02 -3.170769940538677e+02 -3.172193057829434e+02 - -3.173616654299331e+02 -3.175040731106142e+02 -3.176465289058318e+02 -3.177890328440690e+02 -3.179315847792938e+02 - -3.180741845934695e+02 -3.182168324550577e+02 -3.183595285351408e+02 -3.185022727287870e+02 -3.186450649049847e+02 - -3.187879051044167e+02 -3.189307934072479e+02 -3.190737298798787e+02 -3.192167145562098e+02 -3.193597473539087e+02 - -3.195028282067584e+02 -3.196459572292360e+02 -3.197891345287240e+02 -3.199323600035334e+02 -3.200756335516368e+02 - -3.202189552787263e+02 -3.203623252990410e+02 -3.205057435532916e+02 -3.206492099607363e+02 -3.207927245283494e+02 - -3.209362873029775e+02 -3.210798984032395e+02 -3.212235579095965e+02 -3.213672656781062e+02 -3.215110215776564e+02 - -3.216548257528610e+02 -3.217986783602123e+02 -3.219425793279964e+02 -3.220865285490494e+02 -3.222305260026159e+02 - -3.223745717228416e+02 -3.225186658770672e+02 -3.226628085862362e+02 -3.228069996525048e+02 -3.229512388959131e+02 - -3.230955265268207e+02 -3.232398627556209e+02 -3.233842474025269e+02 -3.235286802821290e+02 -3.236731615767077e+02 - -3.238176914785998e+02 -3.239622698526831e+02 -3.241068965416273e+02 -3.242515716267282e+02 -3.243962952303619e+02 - -3.245410674006047e+02 -3.246858881442026e+02 -3.248307573768830e+02 -3.249756750377737e+02 -3.251206412506237e+02 - -3.252656561247559e+02 -3.254107195271718e+02 -3.255558313340717e+02 -3.257009917007768e+02 -3.258462007853361e+02 - -3.259914584775946e+02 -3.261367646471811e+02 -3.262821193510638e+02 -3.264275226864755e+02 -3.265729747243638e+02 - -3.267184754961565e+02 -3.268640249014856e+02 -3.270096228564299e+02 -3.271552694746495e+02 -3.273009648690628e+02 - -3.274467089520415e+02 -3.275925016223748e+02 -3.277383429250694e+02 -3.278842329472037e+02 -3.280301717979274e+02 - -3.281761595333842e+02 -3.283221959756238e+02 -3.284682809773962e+02 -3.286144147483458e+02 -3.287605974914733e+02 - -3.289068290263132e+02 -3.290531091681708e+02 -3.291994380988984e+02 -3.293458160115122e+02 -3.294922427771376e+02 - -3.296387182388717e+02 -3.297852424495862e+02 -3.299318155124273e+02 -3.300784375218649e+02 -3.302251085265343e+02 - -3.303718284004092e+02 -3.305185970357408e+02 -3.306654145725511e+02 -3.308122811494171e+02 -3.309591966513669e+02 - -3.311061609508276e+02 -3.312531741233722e+02 -3.314002362831168e+02 -3.315473474952068e+02 -3.316945077733321e+02 - -3.318417169743284e+02 -3.319889749946440e+02 -3.321362820460264e+02 -3.322836383216903e+02 -3.324310436254205e+02 - -3.325784977579187e+02 -3.327260008969810e+02 -3.328735532388732e+02 -3.330211546766479e+02 -3.331688050699581e+02 - -3.333165044480712e+02 -3.334642528918999e+02 -3.336120505193238e+02 -3.337598974031960e+02 -3.339077933992973e+02 - -3.340557383761620e+02 -3.342037324704123e+02 -3.343517758263186e+02 -3.344998683506588e+02 -3.346480099317598e+02 - -3.347962006216366e+02 -3.349444405123485e+02 -3.350927296924430e+02 -3.352410681997821e+02 -3.353894558729969e+02 - -3.355378925848257e+02 -3.356863785436656e+02 -3.358349139484366e+02 -3.359834986244929e+02 -3.361321323883865e+02 - -3.362808153950241e+02 -3.364295478191028e+02 -3.365783295761255e+02 -3.367271605486342e+02 -3.368760407465185e+02 - -3.370249702279324e+02 -3.371739491167402e+02 -3.373229774932894e+02 -3.374720551981496e+02 -3.376211820935624e+02 - -3.377703583682330e+02 -3.379195842066430e+02 -3.380688594499171e+02 -3.382181839217990e+02 -3.383675577198622e+02 - -3.385169809890102e+02 -3.386664537896355e+02 -3.388159761271593e+02 -3.389655478716282e+02 -3.391151689236262e+02 - -3.392648394412631e+02 -3.394145595795439e+02 -3.395643292235305e+02 -3.397141482525620e+02 -3.398640167930273e+02 - -3.400139349724158e+02 -3.401639026755699e+02 -3.403139197760493e+02 -3.404639863449279e+02 -3.406141024957107e+02 - -3.407642683141136e+02 -3.409144838324194e+02 -3.410647488969659e+02 -3.412150633828331e+02 -3.413654274660125e+02 - -3.415158413252182e+02 -3.416663048491409e+02 -3.418168178992377e+02 -3.419673805180489e+02 -3.421179927901010e+02 - -3.422686547867838e+02 -3.424193665441726e+02 -3.425701279702224e+02 -3.427209389917095e+02 -3.428717997388184e+02 - -3.430227103286458e+02 -3.431736706225328e+02 -3.433246804902436e+02 -3.434757400909901e+02 -3.436268495884827e+02 - -3.437780088749811e+02 -3.439292178162220e+02 -3.440804764432992e+02 -3.442317848369893e+02 -3.443831431114438e+02 - -3.445345513395477e+02 -3.446860093957458e+02 -3.448375171638715e+02 -3.449890747637513e+02 -3.451406823209921e+02 - -3.452923397483303e+02 -3.454440469383874e+02 -3.455958039161959e+02 -3.457476107544265e+02 -3.458994675838882e+02 - -3.460513744837874e+02 -3.462033312687789e+02 -3.463553377809081e+02 -3.465073942363314e+02 -3.466595008454457e+02 - -3.468116574214998e+02 -3.469638637732855e+02 -3.471161200889126e+02 -3.472684265676839e+02 -3.474207830743587e+02 - -3.475731894457752e+02 -3.477256457416318e+02 -3.478781520698926e+02 -3.480307085087305e+02 -3.481833150905516e+02 - -3.483359716944890e+02 -3.484886782275422e+02 -3.486414348614480e+02 -3.487942417546251e+02 -3.489470987474849e+02 - -3.491000056682386e+02 -3.492529626143035e+02 -3.494059697303613e+02 -3.495590270809477e+02 -3.497121346735108e+02 - -3.498652923672977e+02 -3.500185000578142e+02 -3.501717579338015e+02 -3.503250661735650e+02 -3.504784246204307e+02 - -3.506318331106053e+02 -3.507852917867942e+02 -3.509388008057230e+02 -3.510923600737020e+02 -3.512459694729739e+02 - -3.513996290399252e+02 -3.515533388531561e+02 -3.517070990059733e+02 -3.518609095547224e+02 -3.520147703931951e+02 - -3.521686814254426e+02 -3.523226427591028e+02 -3.524766545004363e+02 -3.526307165466042e+02 -3.527848288024159e+02 - -3.529389914123712e+02 -3.530932045168612e+02 -3.532474680001527e+02 -3.534017817301934e+02 -3.535561457657783e+02 - -3.537105602073667e+02 -3.538650251312291e+02 -3.540195405716707e+02 -3.541741064193253e+02 -3.543287225825957e+02 - -3.544833891846346e+02 -3.546381063473606e+02 -3.547928739730113e+02 -3.549476919508821e+02 -3.551025603381796e+02 - -3.552574792297605e+02 -3.554124487031720e+02 -3.555674687945711e+02 -3.557225393918643e+02 -3.558776604020463e+02 - -3.560328319567154e+02 -3.561880541805177e+02 -3.563433269456882e+02 -3.564986501330765e+02 -3.566540239103983e+02 - -3.568094484429710e+02 -3.569649235996524e+02 -3.571204492251743e+02 -3.572760253642205e+02 -3.574316521198430e+02 - -3.575873296286128e+02 -3.577430579645793e+02 -3.578988369181832e+02 -3.580546663122107e+02 -3.582105463824335e+02 - -3.583664773634632e+02 -3.585224590722860e+02 -3.586784912980774e+02 -3.588345741363943e+02 -3.589907077420278e+02 - -3.591468922003262e+02 -3.593031275347307e+02 -3.594594135904955e+02 -3.596157502414973e+02 -3.597721376542854e+02 - -3.599285759961583e+02 -3.600850651447366e+02 -3.602416049709182e+02 -3.603981956083848e+02 -3.605548371920680e+02 - -3.607115295991184e+02 -3.608682726958015e+02 -3.610250665626241e+02 -3.611819113190277e+02 -3.613388070259530e+02 - -3.614957536972620e+02 -3.616527512170044e+02 -3.618097994957786e+02 -3.619668986801910e+02 -3.621240489112448e+02 - -3.622812500715253e+02 -3.624385020268735e+02 -3.625958048345691e+02 -3.627531585959862e+02 -3.629105633974360e+02 - -3.630680192762735e+02 -3.632255260890885e+02 -3.633830837209757e+02 -3.635406923518125e+02 -3.636983521500620e+02 - -3.638560629437486e+02 -3.640138245654421e+02 -3.641716372063300e+02 -3.643295010634408e+02 -3.644874159985495e+02 - -3.646453818454157e+02 -3.648033986609884e+02 -3.649614665547653e+02 -3.651195856232492e+02 -3.652777559169987e+02 - -3.654359773157880e+02 -3.655942497193339e+02 -3.657525732779061e+02 -3.659109481367831e+02 -3.660693741707290e+02 - -3.662278512419212e+02 -3.663863794327037e+02 -3.665449588644519e+02 -3.667035895945005e+02 -3.668622716357800e+02 - -3.670210048876434e+02 -3.671797892763418e+02 -3.673386249492966e+02 -3.674975120447079e+02 -3.676564504427247e+02 - -3.678154400208724e+02 -3.679744809042344e+02 -3.681335732252156e+02 -3.682927168979475e+02 -3.684519118222935e+02 - -3.686111580593141e+02 -3.687704557033292e+02 -3.689298048205014e+02 -3.690892054329191e+02 -3.692486574145354e+02 - -3.694081606700869e+02 -3.695677153755793e+02 -3.697273216946131e+02 -3.698869794698993e+02 -3.700466885253786e+02 - -3.702064489307988e+02 -3.703662608017668e+02 -3.705261241915196e+02 -3.706860391012269e+02 -3.708460053861607e+02 - -3.710060229388483e+02 -3.711660919467376e+02 -3.713262125796104e+02 -3.714863846416646e+02 -3.716466079328989e+02 - -3.718068826020972e+02 -3.719672088201144e+02 -3.721275864973102e+02 -3.722880155098476e+02 -3.724484958575989e+02 - -3.726090275883345e+02 -3.727696108177087e+02 -3.729302456171431e+02 -3.730909318132427e+02 -3.732516692484294e+02 - -3.734124580732086e+02 -3.735732984485285e+02 -3.737341902690280e+02 -3.738951333966488e+02 -3.740561278288502e+02 - -3.742171736164895e+02 -3.743782708884933e+02 -3.745394197314636e+02 -3.747006199846337e+02 -3.748618715145197e+02 - -3.750231745441332e+02 -3.751845292967938e+02 -3.753459356405600e+02 -3.755073934398666e+02 -3.756689028999150e+02 - -3.758304642401999e+02 -3.759920773966298e+02 -3.761537422764503e+02 -3.763154589558405e+02 -3.764772275566993e+02 - -3.766390482148706e+02 -3.768009210261144e+02 -3.769628459119104e+02 -3.771248228066682e+02 -3.772868518707951e+02 - -3.774489332703654e+02 -3.776110669681248e+02 -3.777732529036114e+02 -3.779354911268638e+02 -3.780977817328078e+02 - -3.782601248854201e+02 -3.784225207068740e+02 -3.785849690830777e+02 -3.787474699201715e+02 -3.789100234414875e+02 - -3.790726298611719e+02 -3.792352890394379e+02 -3.793980008403989e+02 -3.795607654977005e+02 -3.797235832511840e+02 - -3.798864539959452e+02 -3.800493775732837e+02 -3.802123539540593e+02 -3.803753831256555e+02 -3.805384650119894e+02 - -3.807015994897982e+02 -3.808647863105625e+02 -3.810280252452890e+02 -3.811913162683451e+02 -3.813546593533040e+02 - -3.815180542672069e+02 -3.816815007606327e+02 -3.818449987248433e+02 -3.820085480876401e+02 -3.821721487823003e+02 - -3.823358007029311e+02 -3.824995035814819e+02 -3.826632571794644e+02 -3.828270615387958e+02 -3.829909166775790e+02 - -3.831548222382581e+02 -3.833187778788636e+02 -3.834827836954302e+02 -3.836468397830658e+02 -3.838109457951704e+02 - -3.839751013606573e+02 -3.841393064522010e+02 -3.843035610985582e+02 -3.844678652090594e+02 -3.846322186342679e+02 - -3.847966211091070e+02 -3.849610723938522e+02 -3.851255724658270e+02 -3.852901213276589e+02 -3.854547188661456e+02 - -3.856193651039130e+02 -3.857840607227301e+02 -3.859488064858506e+02 -3.861136028233281e+02 -3.862784501283425e+02 - -3.864433489797775e+02 -3.866083000045549e+02 -3.867733038360474e+02 -3.869383610689728e+02 -3.871034721369783e+02 - -3.872686374886131e+02 -3.874338577931016e+02 -3.875991337168530e+02 -3.877644656943423e+02 -3.879298541437876e+02 - -3.880952996503134e+02 -3.882608028487801e+02 -3.884263644060860e+02 -3.885919849359946e+02 -3.887576648076931e+02 - -3.889234044110585e+02 -3.890892044633024e+02 -3.892550656828005e+02 -3.894209884652491e+02 -3.895869732058733e+02 - -3.897530206206903e+02 -3.899191314265681e+02 -3.900853060229904e+02 -3.902515447813749e+02 -3.904178482782592e+02 - -3.905842171832736e+02 -3.907506523333024e+02 -3.909171542011455e+02 -3.910837216360146e+02 -3.912503530200719e+02 - -3.914170464908692e+02 -3.915838000867597e+02 -3.917506116939103e+02 -3.919174791997058e+02 -3.920844006485843e+02 - -3.922513741233318e+02 -3.924183977030698e+02 -3.925854694180132e+02 -3.927525871064144e+02 -3.929197486330507e+02 - -3.930869521607613e+02 -3.932541958513385e+02 -3.934214775643266e+02 -3.935887951493436e+02 -3.937561467185514e+02 - -3.939235303999417e+02 -3.940909441222876e+02 -3.942583857858931e+02 -3.944258533764072e+02 -3.945933449213566e+02 - -3.947608585304349e+02 -3.949283922804248e+02 -3.950959440342958e+02 -3.952635116636291e+02 -3.954310932882606e+02 - -3.955986870327357e+02 -3.957662907921835e+02 -3.959339024467546e+02 -3.961015200461023e+02 -3.962691416638499e+02 - 1.070000000000000e-01 1.069682658750319e-01 1.069365186252596e-01 1.069047582677665e-01 1.068729848196356e-01 - 1.068411982979503e-01 1.068093987197937e-01 1.067775861022493e-01 1.067457604624000e-01 1.067139218173294e-01 - 1.066820701841205e-01 1.066502055798566e-01 1.066183280216209e-01 1.065864375264968e-01 1.065545341115673e-01 - 1.065226177939159e-01 1.064906885906257e-01 1.064587465187799e-01 1.064267915954618e-01 1.063948238377547e-01 - 1.063628432627417e-01 1.063308498875062e-01 1.062988437291314e-01 1.062668248047005e-01 1.062347931312967e-01 - 1.062027487260033e-01 1.061706916059036e-01 1.061386217880807e-01 1.061065392896180e-01 1.060744441275985e-01 - 1.060423363191058e-01 1.060102158812228e-01 1.059780828310330e-01 1.059459371856195e-01 1.059137789620655e-01 - 1.058816081774544e-01 1.058494248488693e-01 1.058172289933936e-01 1.057850206281103e-01 1.057527997701029e-01 - 1.057205664364545e-01 1.056883206442483e-01 1.056560624105677e-01 1.056237917524958e-01 1.055915086871159e-01 - 1.055592132315112e-01 1.055269054027650e-01 1.054945852179606e-01 1.054622526941811e-01 1.054299078485097e-01 - 1.053975506980299e-01 1.053651812598247e-01 1.053327995509774e-01 1.053004055885713e-01 1.052679993896897e-01 - 1.052355809714157e-01 1.052031503508325e-01 1.051707075450236e-01 1.051382525710719e-01 1.051057854460610e-01 - 1.050733061870738e-01 1.050408148111938e-01 1.050083113355042e-01 1.049757957770881e-01 1.049432681530288e-01 - 1.049107284804097e-01 1.048781767763138e-01 1.048456130578245e-01 1.048130373420250e-01 1.047804496459986e-01 - 1.047478499868284e-01 1.047152383815977e-01 1.046826148473898e-01 1.046499794012880e-01 1.046173320603753e-01 - 1.045846728417352e-01 1.045520017624508e-01 1.045193188396054e-01 1.044866240902822e-01 1.044539175315645e-01 - 1.044211991805354e-01 1.043884690542783e-01 1.043557271698764e-01 1.043229735444130e-01 1.042902081949712e-01 - 1.042574311386343e-01 1.042246423924855e-01 1.041918419736082e-01 1.041590298990855e-01 1.041262061860007e-01 - 1.040933708514369e-01 1.040605239124776e-01 1.040276653862059e-01 1.039947952897050e-01 1.039619136400582e-01 - 1.039290204543487e-01 1.038961157496599e-01 1.038631995430748e-01 1.038302718516768e-01 1.037973326925491e-01 - 1.037643820827749e-01 1.037314200394375e-01 1.036984465796201e-01 1.036654617204061e-01 1.036324654788785e-01 - 1.035994578721206e-01 1.035664389172158e-01 1.035334086312472e-01 1.035003670312980e-01 1.034673141344516e-01 - 1.034342499577912e-01 1.034011745183999e-01 1.033680878333612e-01 1.033349899197580e-01 1.033018807946739e-01 - 1.032687604751918e-01 1.032356289783953e-01 1.032024863213673e-01 1.031693325211913e-01 1.031361675949504e-01 - 1.031029915597278e-01 1.030698044326069e-01 1.030366062306709e-01 1.030033969710030e-01 1.029701766706864e-01 - 1.029369453468044e-01 1.029037030164402e-01 1.028704496966771e-01 1.028371854045984e-01 1.028039101572872e-01 - 1.027706239718267e-01 1.027373268653004e-01 1.027040188547913e-01 1.026706999573827e-01 1.026373701901580e-01 - 1.026040295702002e-01 1.025706781145926e-01 1.025373158404186e-01 1.025039427647613e-01 1.024705589047040e-01 - 1.024371642773299e-01 1.024037588997223e-01 1.023703427889643e-01 1.023369159621393e-01 1.023034784363305e-01 - 1.022700302286212e-01 1.022365713560945e-01 1.022031018358337e-01 1.021696216849221e-01 1.021361309204428e-01 - 1.021026295594792e-01 1.020691176191145e-01 1.020355951164319e-01 1.020020620685147e-01 1.019685184924461e-01 - 1.019349644053093e-01 1.019013998241876e-01 1.018678247661643e-01 1.018342392483225e-01 1.018006432877456e-01 - 1.017670369015167e-01 1.017334201067191e-01 1.016997929204361e-01 1.016661553597508e-01 1.016325074417466e-01 - 1.015988491835066e-01 1.015651806021141e-01 1.015315017146524e-01 1.014978125382047e-01 1.014641130898543e-01 - 1.014304033866843e-01 1.013966834457780e-01 1.013629532842187e-01 1.013292129190896e-01 1.012954623674739e-01 - 1.012617016464549e-01 1.012279307731159e-01 1.011941497645400e-01 1.011603586378106e-01 1.011265574100107e-01 - 1.010927460982239e-01 1.010589247195331e-01 1.010250932910217e-01 1.009912518297729e-01 1.009574003528701e-01 - 1.009235388773963e-01 1.008896674204348e-01 1.008557859990690e-01 1.008218946303820e-01 1.007879933314571e-01 - 1.007540821193774e-01 1.007201610112264e-01 1.006862300240872e-01 1.006522891750429e-01 1.006183384811770e-01 - 1.005843779595726e-01 1.005504076273130e-01 1.005164275014813e-01 1.004824375991610e-01 1.004484379374351e-01 - 1.004144285333870e-01 1.003804094040999e-01 1.003463805666569e-01 1.003123420381414e-01 1.002782938356367e-01 - 1.002442359762259e-01 1.002101684769922e-01 1.001760913550190e-01 1.001420046273895e-01 1.001079083111869e-01 - 1.000738024234945e-01 1.000396869813954e-01 1.000055620019730e-01 9.997142750231042e-02 9.993728349949102e-02 - 9.990313001059796e-02 9.986896705271456e-02 9.983479464292398e-02 9.980061279830947e-02 9.976642153595434e-02 - 9.973222087294174e-02 9.969801082635499e-02 9.966379141327726e-02 9.962956265079187e-02 9.959532455598200e-02 - 9.956107714593093e-02 9.952682043772192e-02 9.949255444843813e-02 9.945827919516288e-02 9.942399469497937e-02 - 9.938970096497086e-02 9.935539802222057e-02 9.932108588381178e-02 9.928676456682770e-02 9.925243408835159e-02 - 9.921809446546671e-02 9.918374571525623e-02 9.914938785480347e-02 9.911502090119163e-02 9.908064487150398e-02 - 9.904625978282372e-02 9.901186565223413e-02 9.897746249681845e-02 9.894305033365988e-02 9.890862917984172e-02 - 9.887419905244718e-02 9.883975996855951e-02 9.880531194526194e-02 9.877085499963774e-02 9.873638914877009e-02 - 9.870191440974231e-02 9.866743079963761e-02 9.863293833553920e-02 9.859843703453038e-02 9.856392691369432e-02 - 9.852940799011436e-02 9.849488028087365e-02 9.846034380305550e-02 9.842579857374308e-02 9.839124461001970e-02 - 9.835668192896858e-02 9.832211054767293e-02 9.828753048321603e-02 9.825294175268109e-02 9.821834437315143e-02 - 9.818373836171017e-02 9.814912373544066e-02 9.811450051142606e-02 9.807986870674969e-02 9.804522833849474e-02 - 9.801057942374444e-02 9.797592197958208e-02 9.794125602309085e-02 9.790658157135405e-02 9.787189864145487e-02 - 9.783720725047659e-02 9.780250741550246e-02 9.776779915361565e-02 9.773308248189948e-02 9.769835741743713e-02 - 9.766362397731190e-02 9.762888217860698e-02 9.759413203840565e-02 9.755937357379113e-02 9.752460680184671e-02 - 9.748983173965557e-02 9.745504840430097e-02 9.742025681286617e-02 9.738545698243438e-02 9.735064893008888e-02 - 9.731583267291286e-02 9.728100822798963e-02 9.724617561240236e-02 9.721133484323437e-02 9.717648593756885e-02 - 9.714162891248904e-02 9.710676378507821e-02 9.707189057241956e-02 9.703700929159639e-02 9.700211995969188e-02 - 9.696722259378933e-02 9.693231721097194e-02 9.689740382832296e-02 9.686248246292567e-02 9.682755313186324e-02 - 9.679261585221899e-02 9.675767064107609e-02 9.672271751551782e-02 9.668775649262741e-02 9.665278758948814e-02 - 9.661781082318323e-02 9.658282621079586e-02 9.654783376940938e-02 9.651283351610694e-02 9.647782546797186e-02 - 9.644280964208730e-02 9.640778605553657e-02 9.637275472540287e-02 9.633771566876947e-02 9.630266890271960e-02 - 9.626761444433649e-02 9.623255231070338e-02 9.619748251890356e-02 9.616240508602021e-02 9.612732002913663e-02 - 9.609222736533599e-02 9.605712711170160e-02 9.602201928531666e-02 9.598690390326445e-02 9.595178098262819e-02 - 9.591665054049109e-02 9.588151259393644e-02 9.584636716004745e-02 9.581121425590743e-02 9.577605389859950e-02 - 9.574088610520702e-02 9.570571089281314e-02 9.567052827850117e-02 9.563533827935435e-02 9.560014091245586e-02 - 9.556493619488900e-02 9.552972414373699e-02 9.549450477608308e-02 9.545927810901049e-02 9.542404415960248e-02 - 9.538880294494230e-02 9.535355448211316e-02 9.531829878819836e-02 9.528303588028109e-02 9.524776577544461e-02 - 9.521248849077216e-02 9.517720404334697e-02 9.514191245025229e-02 9.510661372857139e-02 9.507130789538748e-02 - 9.503599496778380e-02 9.500067496284360e-02 9.496534789765015e-02 9.493001378928664e-02 9.489467265483635e-02 - 9.485932451138250e-02 9.482396937600834e-02 9.478860726579713e-02 9.475323819783207e-02 9.471786218919645e-02 - 9.468247925697347e-02 9.464708941824643e-02 9.461169269009850e-02 9.457628908961296e-02 9.454087863387305e-02 - 9.450546133996199e-02 9.447003722496307e-02 9.443460630595948e-02 9.439916860003450e-02 9.436372412427137e-02 - 9.432827289575330e-02 9.429281493156354e-02 9.425735024878537e-02 9.422187886450198e-02 9.418640079579664e-02 - 9.415091605975259e-02 9.411542467345307e-02 9.407992665398136e-02 9.404442201842063e-02 9.400891078385415e-02 - 9.397339296736518e-02 9.393786858603695e-02 9.390233765695270e-02 9.386680019719568e-02 9.383125622384911e-02 - 9.379570575399625e-02 9.376014880472036e-02 9.372458539310466e-02 9.368901553623238e-02 9.365343925118678e-02 - 9.361785655505112e-02 9.358226746490858e-02 9.354667199784246e-02 9.351107017093598e-02 9.347546200127239e-02 - 9.343984750593494e-02 9.340422670200685e-02 9.336859960657137e-02 9.333296623671174e-02 9.329732660951121e-02 - 9.326168074205300e-02 9.322602865142039e-02 9.319037035469660e-02 9.315470586896488e-02 9.311903521130845e-02 - 9.308335839881057e-02 9.304767544855448e-02 9.301198637762342e-02 9.297629120310064e-02 9.294058994206936e-02 - 9.290488261161287e-02 9.286916922881436e-02 9.283344981075708e-02 9.279772437452428e-02 9.276199293719922e-02 - 9.272625551586512e-02 9.269051212760523e-02 9.265476278950278e-02 9.261900751864104e-02 9.258324633210324e-02 - 9.254747924697261e-02 9.251170628033240e-02 9.247592744926583e-02 9.244014277085617e-02 9.240435226218666e-02 - 9.236855594034055e-02 9.233275382240104e-02 9.229694592545142e-02 9.226113226657491e-02 9.222531286285476e-02 - 9.218948773137420e-02 9.215365688921646e-02 9.211782035346482e-02 9.208197814120249e-02 9.204613026951274e-02 - 9.201027675547878e-02 9.197441761618388e-02 9.193855286871126e-02 9.190268253014419e-02 9.186680661756588e-02 - 9.183092514805957e-02 9.179503813870854e-02 9.175914560659600e-02 9.172324756880521e-02 9.168734404241941e-02 - 9.165143504452181e-02 9.161552059219569e-02 9.157960070252427e-02 9.154367539259080e-02 9.150774467947854e-02 - 9.147180858027071e-02 9.143586711205055e-02 9.139992029190132e-02 9.136396813690625e-02 9.132801066414858e-02 - 9.129204789071155e-02 9.125607983367841e-02 9.122010651013239e-02 9.118412793715676e-02 9.114814413183472e-02 - 9.111215511124955e-02 9.107616089248448e-02 9.104016149262276e-02 9.100415692874760e-02 9.096814721794225e-02 - 9.093213237728998e-02 9.089611242387401e-02 9.086008737477760e-02 9.082405724708396e-02 9.078802205787638e-02 - 9.075198182423806e-02 9.071593656325225e-02 9.067988629200220e-02 9.064383102757116e-02 9.060777078704237e-02 - 9.057170558749904e-02 9.053563544602444e-02 9.049956037970180e-02 9.046348040561442e-02 9.042739554084545e-02 - 9.039130580247817e-02 9.035521120759583e-02 9.031911177328168e-02 9.028300751661894e-02 9.024689845469086e-02 - 9.021078460458068e-02 9.017466598337168e-02 9.013854260814702e-02 9.010241449599002e-02 9.006628166398388e-02 - 9.003014412921184e-02 8.999400190875718e-02 8.995785501970310e-02 8.992170347913286e-02 8.988554730412972e-02 - 8.984938651177689e-02 8.981322111915761e-02 8.977705114335516e-02 8.974087660145275e-02 8.970469751053363e-02 - 8.966851388768103e-02 8.963232574997822e-02 8.959613311450842e-02 8.955993599835491e-02 8.952373441860086e-02 - 8.948752839232957e-02 8.945131793662427e-02 8.941510306856817e-02 8.937888380524456e-02 8.934266016373665e-02 - 8.930643216112769e-02 8.927019981450095e-02 8.923396314093963e-02 8.919772215752698e-02 8.916147688134625e-02 - 8.912522732948071e-02 8.908897351901354e-02 8.905271546702803e-02 8.901645319060740e-02 8.898018670683491e-02 - 8.894391603279379e-02 8.890764118556729e-02 8.887136218223864e-02 8.883507903989107e-02 8.879879177560786e-02 - 8.876250040647221e-02 8.872620494956741e-02 8.868990542197666e-02 8.865360184078323e-02 8.861729422307035e-02 - 8.858098258592126e-02 8.854466694641919e-02 8.850834732164740e-02 8.847202372868912e-02 8.843569618462761e-02 - 8.839936470654611e-02 8.836302931152785e-02 8.832669001665606e-02 8.829034683901400e-02 8.825399979568492e-02 - 8.821764890375206e-02 8.818129418029862e-02 8.814493564240788e-02 8.810857330716310e-02 8.807220719164749e-02 - 8.803583731294432e-02 8.799946368813677e-02 8.796308633430815e-02 8.792670526854167e-02 8.789032050792057e-02 - 8.785393206952812e-02 8.781753997044753e-02 8.778114422776205e-02 8.774474485855495e-02 8.770834187990943e-02 - 8.767193530890875e-02 8.763552516263615e-02 8.759911145817488e-02 8.756269421260816e-02 8.752627344301928e-02 - 8.748984916649143e-02 8.745342140010788e-02 8.741699016095185e-02 8.738055546610660e-02 8.734411733265539e-02 - 8.730767577768141e-02 8.727123081826793e-02 8.723478247149821e-02 8.719833075445547e-02 8.716187568422298e-02 - 8.712541727788393e-02 8.708895555252159e-02 8.705249052521923e-02 8.701602221306004e-02 8.697955063312730e-02 - 8.694307580250422e-02 8.690659773827408e-02 8.687011645752010e-02 8.683363197732555e-02 8.679714431477362e-02 - 8.676065348694757e-02 8.672415951093065e-02 8.668766240380611e-02 8.665116218265721e-02 8.661465886456714e-02 - 8.657815246661917e-02 8.654164300589655e-02 8.650513049948251e-02 8.646861496446030e-02 8.643209641791315e-02 - 8.639557487692430e-02 8.635905035857701e-02 8.632252287995451e-02 8.628599245814005e-02 8.624945911021686e-02 - 8.621292285326819e-02 8.617638370437727e-02 8.613984168062737e-02 8.610329679910171e-02 8.606674907688353e-02 - 8.603019853105608e-02 8.599364517870259e-02 8.595708903690633e-02 8.592053012275053e-02 8.588396845331842e-02 - 8.584740404569323e-02 8.581083691695822e-02 8.577426708419665e-02 8.573769456449173e-02 8.570111937492672e-02 - 8.566454153258486e-02 8.562796105454940e-02 8.559137795790356e-02 8.555479225973059e-02 8.551820397711374e-02 - 8.548161312713624e-02 8.544501972688134e-02 8.540842379343229e-02 8.537182534387232e-02 8.533522439528468e-02 - 8.529862096475260e-02 8.526201506935933e-02 8.522540672618811e-02 8.518879595232219e-02 8.515218276484479e-02 - 8.511556718083918e-02 8.507894921738858e-02 8.504232889157626e-02 8.500570622048544e-02 8.496908122119934e-02 - 8.493245391080124e-02 8.489582430637438e-02 8.485919242500198e-02 8.482255828376728e-02 8.478592189975355e-02 - 8.474928329004400e-02 8.471264247172190e-02 8.467599946187047e-02 8.463935427757298e-02 8.460270693591267e-02 - 8.456605745397273e-02 8.452940584883646e-02 8.449275213758706e-02 8.445609633730780e-02 8.441943846508193e-02 - 8.438277853799266e-02 8.434611657312326e-02 8.430945258755695e-02 8.427278659837699e-02 8.423611862266661e-02 - 8.419944867750905e-02 8.416277677998756e-02 8.412610294718537e-02 8.408942719618576e-02 8.405274954407191e-02 - 8.401607000792713e-02 8.397938860483460e-02 8.394270535187759e-02 8.390602026613936e-02 8.386933336470312e-02 - 8.383264466465212e-02 8.379595418306962e-02 8.375926193703884e-02 8.372256794364304e-02 8.368587221996546e-02 - 8.364917478308932e-02 8.361247565009787e-02 8.357577483807437e-02 8.353907236410206e-02 8.350236824526415e-02 - 8.346566249864391e-02 8.342895514132459e-02 8.339224619038943e-02 8.335553566292164e-02 8.331882357600448e-02 - 8.328210994672121e-02 8.324539479215504e-02 8.320867812938924e-02 8.317195997550704e-02 8.313524034759166e-02 - 8.309851926272641e-02 8.306179673799445e-02 8.302507279047908e-02 8.298834743726349e-02 8.295162069543097e-02 - 8.291489258206473e-02 8.287816311424805e-02 8.284143230906414e-02 8.280470018359624e-02 8.276796675492762e-02 - 8.273123204014149e-02 8.269449605632111e-02 8.265775882054972e-02 8.262102034991055e-02 8.258428066148686e-02 - 8.254753977236187e-02 8.251079769961885e-02 8.247405446034105e-02 8.243731007161166e-02 8.240056455051395e-02 - 8.236381791413117e-02 8.232707017954656e-02 8.229032136384334e-02 8.225357148410478e-02 8.221682055741411e-02 - 8.218006860085458e-02 8.214331563150944e-02 8.210656166646188e-02 8.206980672279519e-02 8.203305081759260e-02 - 8.199629396793737e-02 8.195953619091272e-02 8.192277750360188e-02 8.188601792308813e-02 8.184925746645468e-02 - 8.181249615078479e-02 8.177573399316168e-02 8.173897101066861e-02 8.170220722038883e-02 8.166544263940556e-02 - 8.162867728480205e-02 8.159191117366156e-02 8.155514432306732e-02 8.151837675010254e-02 8.148160847185050e-02 - 8.144483950539445e-02 8.140806986781760e-02 8.137129957620320e-02 8.133452864763450e-02 8.129775709919475e-02 - 8.126098494796720e-02 8.122421221103504e-02 8.118743890548155e-02 8.115066504838998e-02 8.111389065684355e-02 - 8.107711574792552e-02 8.104034033871912e-02 8.100356444630759e-02 8.096678808777417e-02 8.093001128020215e-02 - 8.089323404067471e-02 8.085645638627510e-02 8.081967833408658e-02 8.078289990119239e-02 8.074612110467576e-02 - 8.070934196161997e-02 8.067256248910820e-02 8.063578270422375e-02 8.059900262404983e-02 8.056222226566968e-02 - 8.052544164616657e-02 8.048866078262369e-02 8.045187969212433e-02 8.041509839175172e-02 8.037831689858911e-02 - 8.034153522971973e-02 8.030475340222681e-02 8.026797143319361e-02 8.023118933970336e-02 8.019440713883932e-02 - 8.015762484768471e-02 8.012084248332278e-02 8.008406006283678e-02 8.004727760330994e-02 8.001049512182555e-02 - 7.997371263546676e-02 7.993693016131688e-02 7.990014771645915e-02 7.986336531797676e-02 7.982658298295300e-02 - 7.978980072847111e-02 7.975301857161432e-02 7.971623652946590e-02 7.967945461910902e-02 7.964267285762699e-02 - 7.960589126210302e-02 7.956910984962039e-02 7.953232863726228e-02 7.949554764211197e-02 7.945876688125271e-02 - 7.942198637176773e-02 7.938520613074028e-02 7.934842617525358e-02 7.931164652239087e-02 7.927486718923542e-02 - 7.923808819287045e-02 7.920130955037924e-02 7.916453127884499e-02 7.912775339535094e-02 7.909097591698037e-02 - 7.905419886081648e-02 7.901742224394255e-02 7.898064608344180e-02 7.894387039639746e-02 7.890709519989279e-02 - 7.887032051101103e-02 7.883354634683543e-02 7.879677272444922e-02 7.875999966093565e-02 7.872322717337794e-02 - 7.868645527885937e-02 7.864968399446313e-02 7.861291333727252e-02 7.857614332437074e-02 7.853937397284104e-02 - 7.850260529976670e-02 7.846583732223091e-02 7.842907005731693e-02 7.839230352210801e-02 7.835553773368738e-02 - 7.831877270913830e-02 7.828200846554398e-02 7.824524501998768e-02 7.820848238955266e-02 7.817172059132216e-02 - 7.813495964237939e-02 7.809819955980761e-02 7.806144036069006e-02 7.802468206210998e-02 7.798792468115062e-02 - 7.795116823489523e-02 7.791441274042703e-02 7.787765821482928e-02 7.784090467518520e-02 7.780415213857807e-02 - 7.776740062209107e-02 7.773065014280750e-02 7.769390071781057e-02 7.765715236418354e-02 7.762040509900967e-02 - 7.758365893937215e-02 7.754691390235426e-02 7.751017000503922e-02 7.747342726451029e-02 7.743668569785070e-02 - 7.739994532214370e-02 7.736320615447252e-02 7.732646821192042e-02 7.728973151157063e-02 7.725299607050642e-02 - 7.721626190581099e-02 7.717952903456758e-02 7.714279747385946e-02 7.710606724076986e-02 7.706933835238206e-02 - 7.703261082577922e-02 7.699588467804465e-02 7.695915992626157e-02 7.692243658751323e-02 7.688571467888285e-02 - 7.684899421745368e-02 7.681227522030898e-02 7.677555770453198e-02 7.673884168720593e-02 7.670212718541405e-02 - 7.666541421623961e-02 7.662870279676583e-02 7.659199294407595e-02 7.655528467525324e-02 7.651857800738091e-02 - 7.648187295754222e-02 7.644516954282041e-02 7.640846778029871e-02 7.637176768706039e-02 7.633506928018867e-02 - 7.629837257676678e-02 7.626167759387799e-02 7.622498434860552e-02 7.618829285803264e-02 7.615160313924255e-02 - 7.611491520931853e-02 7.607822908534380e-02 7.604154478440163e-02 7.600486232357523e-02 7.596818171994783e-02 - 7.593150299060271e-02 7.589482615262309e-02 7.585815122309225e-02 7.582147821909338e-02 7.578480715770973e-02 - 7.574813805602458e-02 7.571147093112113e-02 7.567480580008265e-02 7.563814267999236e-02 7.560148158793352e-02 - 7.556482254098935e-02 7.552816555624312e-02 7.549151065077807e-02 7.545485784167741e-02 7.541820714602442e-02 - 7.538155858090231e-02 7.534491216339434e-02 7.530826791058375e-02 7.527162583955378e-02 7.523498596738766e-02 - 7.519834831116866e-02 7.516171288797999e-02 7.512507971490495e-02 7.508844880902671e-02 7.505182018742854e-02 - 7.501519386719367e-02 7.497856986540538e-02 7.494194819914687e-02 7.490532888550142e-02 7.486871194155223e-02 - 7.483209738438257e-02 7.479548523107570e-02 7.475887549871482e-02 7.472226820438319e-02 7.468566336516404e-02 - 7.464906099814063e-02 7.461246112039621e-02 7.457586374901400e-02 7.453926890107723e-02 7.450267659366919e-02 - 7.446608684387307e-02 7.442949966877216e-02 7.439291508544965e-02 7.435633311098883e-02 7.431975376247291e-02 - 7.428317705698513e-02 7.424660301160878e-02 7.421003164342704e-02 7.417346296952319e-02 7.413689700698045e-02 - 7.410033377288210e-02 7.406377328431132e-02 7.402721555835140e-02 7.399066061208556e-02 7.395410846259706e-02 - 7.391755912696915e-02 7.388101262228504e-02 7.384446896562798e-02 7.380792817408122e-02 7.377139026472800e-02 - 7.373485525465158e-02 7.369832316093516e-02 7.366179400066203e-02 7.362526779091538e-02 7.358874454877849e-02 - 7.355222429133459e-02 7.351570703566694e-02 7.347919279885876e-02 7.344268159799329e-02 7.340617345015378e-02 - 7.336966837242348e-02 7.333316638188561e-02 7.329666749562345e-02 7.326017173072021e-02 7.322367910425913e-02 - 7.318718963332346e-02 7.315070333499644e-02 7.311422022636133e-02 7.307774032450136e-02 7.304126364649975e-02 - 7.300479020943977e-02 7.296832003040465e-02 7.293185312647765e-02 7.289538951474199e-02 7.285892921228092e-02 - 7.282247223617767e-02 7.278601860351550e-02 7.274956833137766e-02 7.271312143684736e-02 7.267667793700786e-02 - 7.264023784894239e-02 7.260380118973422e-02 7.256736797646657e-02 7.253093822622268e-02 7.249451195608582e-02 - 7.245808918313920e-02 7.242166992446607e-02 7.238525419714967e-02 7.234884201827325e-02 7.231243340492007e-02 - 7.227602837417331e-02 7.223962694311627e-02 7.220322912883217e-02 7.216683494840427e-02 7.213044441891579e-02 - 7.209405755744998e-02 7.205767438109009e-02 7.202129490691934e-02 7.198491915202099e-02 7.194854713347830e-02 - 7.191217886837446e-02 7.187581437379276e-02 7.183945366681642e-02 7.180309676452867e-02 7.176674368401278e-02 - 7.173039444235199e-02 7.169404905662952e-02 7.165770754392863e-02 7.162136992133256e-02 7.158503620592453e-02 - 7.154870641478780e-02 7.151238056500563e-02 7.147605867366123e-02 7.143974075783785e-02 7.140342683461876e-02 - 7.136711692108716e-02 7.133081103432631e-02 7.129450919141947e-02 7.125821140944985e-02 7.122191770550071e-02 - 7.118562809665530e-02 7.114934259999683e-02 7.111306123260858e-02 7.107678401157377e-02 7.104051095397565e-02 - 7.100424207689746e-02 7.096797739742244e-02 7.093171693263382e-02 7.089546069961486e-02 7.085920871544882e-02 - 7.082296099721888e-02 7.078671756200834e-02 7.075047842690044e-02 7.071424360897838e-02 7.067801312532543e-02 - 7.064178699302483e-02 7.060556522915983e-02 7.056934785081363e-02 7.053313487506954e-02 7.049692631901075e-02 - 7.046072219972052e-02 7.042452253428211e-02 7.038832733977872e-02 7.035213663329361e-02 7.031595043191004e-02 - 7.027976875271123e-02 7.024359161278042e-02 7.020741902920087e-02 7.017125101905583e-02 7.013508759942851e-02 - 7.009892878740216e-02 7.006277460006004e-02 7.002662505448538e-02 6.999048016776144e-02 6.995433995697144e-02 - 6.991820443919861e-02 6.988207363152622e-02 6.984594755103750e-02 6.980982621481568e-02 6.977370963994402e-02 - 6.973759784350578e-02 6.970149084258416e-02 6.966538865426242e-02 6.962929129562380e-02 6.959319878375156e-02 - 6.955711113572893e-02 6.952102836863913e-02 6.948495049956542e-02 6.944887754559105e-02 6.941280952379927e-02 - 6.937674645127329e-02 6.934068834509637e-02 6.930463522235174e-02 6.926858710012268e-02 6.923254399549238e-02 - 6.919650592554411e-02 6.916047290736112e-02 6.912444495802665e-02 6.908842209462392e-02 6.905240433423616e-02 - 6.901639169394666e-02 6.898038419083864e-02 6.894438184199533e-02 6.890838466449999e-02 6.887239267543585e-02 - 6.883640589188617e-02 6.880042433093415e-02 6.876444800966307e-02 6.872847694515619e-02 6.869251115449670e-02 - 6.865655065476786e-02 6.862059546305292e-02 6.858464559643512e-02 6.854870107199770e-02 6.851276190682393e-02 - 6.847682811799699e-02 6.844089972260017e-02 6.840497673771671e-02 6.836905918042983e-02 6.833314706782279e-02 - 6.829724041697882e-02 6.826133924498116e-02 6.822544356891308e-02 6.818955340585779e-02 6.815366877289854e-02 - 6.811778968711857e-02 6.808191616560114e-02 6.804604822542948e-02 6.801018588368681e-02 6.797432915745642e-02 - 6.793847806382150e-02 6.790263261986533e-02 6.786679284267115e-02 6.783095874932217e-02 6.779513035690166e-02 - 6.775930768249286e-02 6.772349074317900e-02 6.768767955604332e-02 6.765187413816909e-02 6.761607450663952e-02 - 6.758028067853786e-02 6.754449267094738e-02 6.750871050095128e-02 6.747293418563281e-02 6.743716374207524e-02 - 6.740139918736179e-02 6.736564053857570e-02 6.732988781280023e-02 6.729414102711860e-02 6.725840019861405e-02 - 6.722266534436987e-02 6.718693648146923e-02 6.715121362699542e-02 6.711549679803168e-02 6.707978601166123e-02 - 6.704408128496732e-02 6.700838263503321e-02 6.697269007894212e-02 6.693700363377729e-02 6.690132331662198e-02 - 6.686564914455943e-02 6.682998113467287e-02 6.679431930404556e-02 6.675866366976070e-02 6.672301424890158e-02 - 6.668737105855144e-02 6.665173411579348e-02 6.661610343771096e-02 6.658047904138716e-02 6.654486094390526e-02 - 6.650924916234854e-02 6.647364371380024e-02 6.643804461534360e-02 6.640245188406185e-02 6.636686553703826e-02 - 6.633128559135604e-02 6.629571206409844e-02 6.626014497234871e-02 6.622458433319009e-02 6.618903016370581e-02 - 6.615348248097914e-02 6.611794130209329e-02 6.608240664413152e-02 6.604687852417708e-02 6.601135695931318e-02 - 6.597584196662311e-02 6.594033356319007e-02 6.590483176609731e-02 6.586933659242808e-02 6.583384805926563e-02 - 6.579836618369318e-02 6.576289098279399e-02 6.572742247365128e-02 6.569196067334833e-02 6.565650559896835e-02 - 6.562105726759460e-02 6.558561569631030e-02 6.555018090219872e-02 6.551475290234308e-02 6.547933171382664e-02 - 6.544391735373260e-02 6.540850983914427e-02 6.537310918714484e-02 6.533771541481756e-02 6.530232853924568e-02 - 6.526694857751246e-02 6.523157554670111e-02 6.519620946389489e-02 6.516085034617702e-02 6.512549821063078e-02 - 6.509015307433939e-02 6.505481495438609e-02 6.501948386785412e-02 6.498415983182672e-02 6.494884286338716e-02 - 6.491353297961865e-02 6.487823019760443e-02 6.484293453442776e-02 6.480764600717190e-02 6.477236463292005e-02 - 6.473709042875546e-02 6.470182341176141e-02 6.466656359902111e-02 6.463131100761778e-02 6.459606565463470e-02 - 6.456082755715510e-02 6.452559673226224e-02 6.449037319703932e-02 6.445515696856961e-02 6.441994806393636e-02 - 6.438474650022280e-02 6.434955229451217e-02 6.431436546388770e-02 6.427918602543267e-02 6.424401399623028e-02 - 6.420884939336380e-02 6.417369223391646e-02 6.413854253497149e-02 6.410340031361215e-02 6.406826558692170e-02 - 6.403313837198334e-02 6.399801868588033e-02 6.396290654569593e-02 6.392780196851335e-02 6.389270497141585e-02 - 6.385761557148667e-02 6.382253378580906e-02 6.378745963146625e-02 6.375239312554147e-02 6.371733428511799e-02 - 6.368228312727903e-02 6.364723966910786e-02 6.361220392768768e-02 6.357717592010177e-02 6.354215566343337e-02 - 6.350714317476568e-02 6.347213847118198e-02 6.343714156976551e-02 6.340215248759951e-02 6.336717124176720e-02 - 6.333219784935186e-02 6.329723232743668e-02 6.326227469310496e-02 6.322732496343991e-02 6.319238315552476e-02 - 6.315744928644278e-02 6.312252337327721e-02 6.308760543311126e-02 6.305269548302821e-02 6.301779354011129e-02 - 6.298289962144372e-02 6.294801374410877e-02 6.291313592518968e-02 6.287826618176968e-02 6.284340453093201e-02 - 6.280855098975993e-02 6.277370557533665e-02 6.273886830474544e-02 6.270403919506955e-02 6.266921826339220e-02 - 6.263440552679662e-02 6.259960100236607e-02 6.256480470718381e-02 6.253001665833306e-02 6.249523687289707e-02 - 6.246046536795907e-02 6.242570216060229e-02 6.239094726791002e-02 6.235620070696547e-02 6.232146249485187e-02 - 6.228673264865250e-02 6.225201118545055e-02 6.221729812232930e-02 6.218259347637199e-02 6.214789726466187e-02 - 6.211320950428215e-02 6.207853021231610e-02 6.204385940584693e-02 6.200919710195792e-02 6.197454331773228e-02 - 6.193989807025328e-02 6.190526137660414e-02 6.187063325386812e-02 6.183601371912845e-02 6.180140278946837e-02 - 6.176680048197113e-02 6.173220681371997e-02 6.169762180179813e-02 6.166304546328885e-02 6.162847781527538e-02 - 6.159391887484095e-02 6.155936865906880e-02 6.152482718504219e-02 6.149029446984435e-02 6.145577053055853e-02 - 6.142125538426796e-02 6.138674904805590e-02 6.135225153900557e-02 6.131776287420022e-02 6.128328307072310e-02 - 6.124881214565744e-02 6.121435011608650e-02 6.117989699909349e-02 6.114545281176169e-02 6.111101757117431e-02 - 6.107659129441460e-02 6.104217399856583e-02 6.100776570071121e-02 6.097336641793399e-02 6.093897616731742e-02 - 6.090459496594473e-02 6.087022283089916e-02 6.083585977926396e-02 6.080150582812238e-02 6.076716099455765e-02 - 6.073282529565302e-02 6.069849874849172e-02 6.066418137015700e-02 6.062987317773211e-02 6.059557418830027e-02 - 6.056128441894475e-02 6.052700388674876e-02 6.049273260879557e-02 6.045847060216841e-02 6.042421788395052e-02 - 6.038997447122514e-02 6.035574038107552e-02 6.032151563058490e-02 6.028730023683652e-02 6.025309421691362e-02 - 6.021889758789946e-02 6.018471036687725e-02 6.015053257093025e-02 6.011636421714171e-02 6.008220532259485e-02 - 6.004805590437293e-02 6.001391597955918e-02 5.997978556523686e-02 5.994566467848918e-02 5.991155333639943e-02 - 5.987745155605081e-02 5.984335935452657e-02 5.980927674890997e-02 5.977520375628423e-02 5.974114039373261e-02 - 5.970708667833834e-02 5.967304262718466e-02 5.963900825735483e-02 5.960498358593206e-02 5.957096862999962e-02 - 5.953696340664075e-02 5.950296793293869e-02 5.946898222597666e-02 5.943500630283793e-02 5.940104018060574e-02 - 5.936708387636331e-02 5.933313740719390e-02 5.929920079018074e-02 5.926527404240709e-02 5.923135718095618e-02 - 5.919745022291125e-02 5.916355318535554e-02 5.912966608537230e-02 5.909578894004478e-02 5.906192176645620e-02 - 5.902806458168981e-02 5.899421740282887e-02 5.896038024695659e-02 5.892655313115624e-02 5.889273607251104e-02 - 5.885892908810425e-02 5.882513219501910e-02 5.879134541033884e-02 5.875756875114671e-02 5.872380223452595e-02 - 5.869004587755981e-02 5.865629969733151e-02 5.862256371092430e-02 5.858883793542144e-02 5.855512238790617e-02 - 5.852141708546170e-02 5.848772204517131e-02 5.845403728411822e-02 5.842036281938568e-02 5.838669866805692e-02 - 5.835304484721521e-02 5.831940137394376e-02 5.828576826532585e-02 5.825214553844467e-02 5.821853321038349e-02 - 5.818493129822556e-02 5.815133981905412e-02 5.811775878995240e-02 5.808418822800365e-02 5.805062815029110e-02 - 5.801707857389801e-02 5.798353951590760e-02 5.795001099340315e-02 5.791649302346786e-02 5.788298562318499e-02 - 5.784948880963779e-02 5.781600259990949e-02 5.778252701108333e-02 5.774906206024256e-02 5.771560776447041e-02 - 5.768216414085015e-02 5.764873120646499e-02 5.761530897839819e-02 5.758189747373298e-02 5.754849670955262e-02 - 5.751510670294033e-02 5.748172747097936e-02 5.744835903075296e-02 5.741500139934437e-02 5.738165459383683e-02 - 5.734831863131357e-02 5.731499352885785e-02 5.728167930355290e-02 5.724837597248197e-02 5.721508355272830e-02 - 5.718180206137512e-02 5.714853151550570e-02 5.711527193220325e-02 5.708202332855103e-02 5.704878572163228e-02 - 5.701555912853024e-02 5.698234356632816e-02 5.694913905210926e-02 5.691594560295680e-02 5.688276323595402e-02 - 5.684959196818416e-02 5.681643181673045e-02 5.678328279867616e-02 5.675014493110452e-02 5.671701823109875e-02 - 5.668390271574211e-02 5.665079840211785e-02 5.661770530730920e-02 5.658462344839940e-02 5.655155284247171e-02 - 5.651849350660935e-02 5.648544545789557e-02 5.645240871341362e-02 5.641938329024674e-02 5.638636920547815e-02 - 5.635336647619112e-02 5.632037511946889e-02 5.628739515239468e-02 5.625442659205174e-02 5.622146945552333e-02 - 5.618852375989267e-02 5.615558952224302e-02 5.612266675965761e-02 5.608975548921968e-02 5.605685572801247e-02 - 5.602396749311925e-02 5.599109080162322e-02 5.595822567060765e-02 5.592537211715578e-02 5.589253015835084e-02 - 5.585969981127608e-02 5.582688109301474e-02 5.579407402065006e-02 5.576127861126528e-02 5.572849488194366e-02 - 5.569572284976842e-02 5.566296253182280e-02 5.563021394519008e-02 5.559747710695345e-02 5.556475203419618e-02 - 5.553203874400151e-02 5.549933725345269e-02 5.546664757963294e-02 5.543396973962551e-02 5.540130375051366e-02 - 5.536864962938060e-02 5.533600739330961e-02 5.530337705938389e-02 5.527075864468672e-02 5.523815216630132e-02 - 5.520555764131094e-02 5.517297508679882e-02 5.514040451984819e-02 5.510784595754230e-02 5.507529941696442e-02 - 5.504276491519774e-02 5.501024246932555e-02 5.497773209643106e-02 5.494523381359754e-02 5.491274763790820e-02 - 5.488027358644629e-02 5.484781167629507e-02 5.481536192453777e-02 5.478292434825763e-02 5.475049896453790e-02 - 5.471808579046181e-02 5.468568484311261e-02 5.465329613957354e-02 5.462091969692785e-02 5.458855553225877e-02 - 5.455620366264955e-02 5.452386410518342e-02 5.449153687694363e-02 5.445922199501343e-02 5.442691947647604e-02 - 5.439462933841474e-02 5.436235159791274e-02 5.433008627205328e-02 5.429783337791962e-02 5.426559293259499e-02 - 5.423336495316264e-02 5.420114945670580e-02 5.416894646030773e-02 5.413675598105167e-02 5.410457803602083e-02 - 5.407241264229849e-02 5.404025981696787e-02 5.400811957711223e-02 5.397599193981480e-02 5.394387692215881e-02 - 5.391177454122753e-02 5.387968481410418e-02 5.384760775787202e-02 5.381554338961427e-02 5.378349172641418e-02 - 5.375145278535501e-02 5.371942658351998e-02 5.368741313799234e-02 5.365541246585533e-02 5.362342458419220e-02 - 5.359144951008617e-02 5.355948726062051e-02 5.352753785287844e-02 5.349560130394321e-02 5.346367763089808e-02 - 5.343176685082626e-02 5.339986898081100e-02 5.336798403793557e-02 5.333611203928318e-02 5.330425300193709e-02 - 5.327240694298052e-02 5.324057387949673e-02 5.320875382856897e-02 5.317694680728046e-02 5.314515283271445e-02 - 5.311337192195419e-02 5.308160409208292e-02 5.304984936018387e-02 5.301810774334029e-02 5.298637925860694e-02 - 5.295466392210174e-02 5.292296174881576e-02 5.289127275367324e-02 5.285959695159842e-02 5.282793435751552e-02 - 5.279628498634878e-02 5.276464885302243e-02 5.273302597246069e-02 5.270141635958780e-02 5.266982002932800e-02 - 5.263823699660550e-02 5.260666727634453e-02 5.257511088346935e-02 5.254356783290417e-02 5.251203813957321e-02 - 5.248052181840073e-02 5.244901888431094e-02 5.241752935222807e-02 5.238605323707637e-02 5.235459055378005e-02 - 5.232314131726334e-02 5.229170554245050e-02 5.226028324426572e-02 5.222887443763326e-02 5.219747913747734e-02 - 5.216609735872220e-02 5.213472911629205e-02 5.210337442511115e-02 5.207203330010370e-02 5.204070575619395e-02 - 5.200939180830615e-02 5.197809147136448e-02 5.194680476029321e-02 5.191553169001656e-02 5.188427227545876e-02 - 5.185302653154403e-02 5.182179447319664e-02 5.179057611534077e-02 5.175937147290068e-02 5.172818056080060e-02 - 5.169700339396475e-02 5.166583998731737e-02 5.163469035578269e-02 5.160355451428494e-02 5.157243247774834e-02 - 5.154132426109714e-02 5.151022987925555e-02 5.147914934714782e-02 5.144808267969817e-02 5.141702989183084e-02 - 5.138599099847005e-02 5.135496601454004e-02 5.132395495496503e-02 5.129295783466926e-02 5.126197466857695e-02 - 5.123100547161235e-02 5.120005025869967e-02 5.116910904476317e-02 5.113818184472704e-02 5.110726867351554e-02 - 5.107636954605289e-02 5.104548447726333e-02 5.101461348207109e-02 5.098375657540039e-02 5.095291377217546e-02 - 5.092208508732055e-02 5.089127053575987e-02 5.086047013241765e-02 5.082968389221815e-02 5.079891183008556e-02 - 5.076815396094415e-02 5.073741029971812e-02 5.070668086133172e-02 5.067596566070917e-02 5.064526471277472e-02 - 5.061457803245257e-02 5.058390563466697e-02 5.055324753434216e-02 5.052260374640234e-02 5.049197428577178e-02 - 5.046135916737467e-02 5.043075840613528e-02 5.040017201697781e-02 5.036960001482652e-02 5.033904241460560e-02 - 5.030849923123931e-02 5.027797047965189e-02 5.024745617476754e-02 5.021695633151052e-02 5.018647096480505e-02 - 5.015600008957535e-02 5.012554372074565e-02 5.009510187324022e-02 5.006467456198324e-02 5.003426180189897e-02 - 5.000386360791163e-02 4.997347999494546e-02 4.994311097792468e-02 4.991275657177353e-02 4.988241679141623e-02 - 4.985209165177702e-02 4.982178116778014e-02 4.979148535434980e-02 4.976120422641023e-02 4.973093779888569e-02 - 4.970068608670038e-02 4.967044910477855e-02 4.964022686804442e-02 4.961001939142222e-02 4.957982668983620e-02 - 4.954964877821057e-02 4.951948567146956e-02 4.948933738453741e-02 4.945920393233836e-02 4.942908532979662e-02 - 4.939898159183643e-02 4.936889273338203e-02 4.933881876935763e-02 4.930875971468749e-02 4.927871558429582e-02 - 4.924868639310685e-02 4.921867215604481e-02 4.918867288803395e-02 4.915868860399848e-02 4.912871931886263e-02 - 4.909876504755066e-02 4.906882580498677e-02 4.903890160609520e-02 4.900899246580018e-02 4.897909839902595e-02 - 4.894921942069672e-02 4.891935554573676e-02 4.888950678907025e-02 4.885967316562146e-02 4.882985469031461e-02 - 4.880005137807392e-02 4.877026324382362e-02 4.874049030248797e-02 4.871073256899117e-02 4.868099005825745e-02 - 4.865126278521108e-02 4.862155076477624e-02 4.859185401187720e-02 4.856217254143816e-02 4.853250636838338e-02 - 4.850285550763707e-02 4.847321997412347e-02 4.844359978276680e-02 4.841399494849130e-02 4.838440548622121e-02 - 4.835483141088075e-02 4.832527273739414e-02 4.829572948068564e-02 4.826620165567946e-02 4.823668927729983e-02 - 4.820719236047098e-02 4.817771092011715e-02 4.814824497116257e-02 4.811879452853147e-02 4.808935960714807e-02 - 4.805994022193662e-02 4.803053638782134e-02 4.800114811972645e-02 4.797177543257621e-02 4.794241834129482e-02 - 4.791307686080653e-02 4.788375100603556e-02 4.785444079190614e-02 4.782514623334252e-02 4.779586734526891e-02 - 4.776660414260955e-02 4.773735664028868e-02 4.770812485323050e-02 4.767890879635927e-02 4.764970848459921e-02 - 4.762052393287456e-02 4.759135515610954e-02 4.756220216922838e-02 4.753306498715533e-02 4.750394362481459e-02 - 4.747483809713041e-02 4.744574841902701e-02 4.741667460542864e-02 4.738761667125952e-02 4.735857463144388e-02 - 4.732954850090595e-02 4.730053829456995e-02 4.727154402736015e-02 4.724256571420073e-02 4.721360337001596e-02 - 4.718465700973005e-02 4.715572664826723e-02 4.712681230055175e-02 4.709791398150782e-02 4.706903170605968e-02 - 4.704016548913156e-02 4.701131534564769e-02 4.698248129053231e-02 4.695366333870963e-02 4.692486150510391e-02 - 4.689607580463934e-02 4.686730625224018e-02 4.683855286283068e-02 4.680981565133503e-02 4.678109463267748e-02 - 4.675238982178226e-02 4.672370123357359e-02 4.669502888297572e-02 4.666637278491287e-02 4.663773295430927e-02 - 4.660910940608916e-02 4.658050215517676e-02 4.655191121649629e-02 4.652333660497202e-02 4.649477833552815e-02 - 4.646623642308891e-02 4.643771088257853e-02 4.640920172892127e-02 4.638070897704132e-02 4.635223264186294e-02 - 4.632377273831036e-02 4.629532928130779e-02 4.626690228577947e-02 4.623849176664965e-02 4.621009773884253e-02 - 4.618172021728237e-02 4.615335921689338e-02 4.612501475259979e-02 4.609668683932586e-02 4.606837549199577e-02 - 4.604008072553380e-02 4.601180255486416e-02 4.598354099491107e-02 4.595529606059879e-02 4.592706776685152e-02 - 4.589885612859351e-02 4.587066116074899e-02 4.584248287824218e-02 4.581432129599732e-02 4.578617642893863e-02 - 4.575804829199037e-02 4.572993690007673e-02 4.570184226812196e-02 4.567376441105030e-02 4.564570334378597e-02 - 4.561765908125320e-02 4.558963163837623e-02 4.556162103007928e-02 4.553362727128659e-02 4.550565037692238e-02 - 4.547769036191089e-02 4.544974724117636e-02 4.542182102964300e-02 4.539391174223504e-02 4.536601939387674e-02 - 4.533814399949231e-02 4.531028557400597e-02 4.528244413234197e-02 4.525461968942453e-02 4.522681226017790e-02 - 4.519902185952628e-02 4.517124850239393e-02 4.514349220370505e-02 4.511575297838390e-02 4.508803084135470e-02 - 4.506032580754168e-02 4.503263789186907e-02 4.500496710926111e-02 4.497731347464200e-02 4.494967700293602e-02 - 4.492205770906736e-02 4.489445560796028e-02 4.486687071453899e-02 4.483930304372771e-02 4.481175261045071e-02 - 4.478421942963219e-02 4.475670351619640e-02 4.472920488506756e-02 4.470172355116988e-02 4.467425952942764e-02 - 4.464681283476502e-02 4.461938348210628e-02 4.459197148637566e-02 4.456457686249737e-02 4.453719962539564e-02 - 4.450983978999472e-02 4.448249737121881e-02 4.445517238399217e-02 4.442786484323902e-02 4.440057476388359e-02 - 4.437330216085012e-02 4.434604704906282e-02 4.431880944344595e-02 4.429158935892372e-02 4.426438681042035e-02 - 4.423720181286010e-02 4.421003438116718e-02 4.418288453026584e-02 4.415575227508029e-02 4.412863763053477e-02 - 4.410154061155352e-02 4.407446123306075e-02 4.404739950998071e-02 4.402035545723762e-02 4.399332908975571e-02 - 4.396632042245923e-02 4.393932947027238e-02 4.391235624811941e-02 4.388540077092456e-02 4.385846305361203e-02 - 4.383154311110608e-02 4.380464095833093e-02 4.377775661021081e-02 4.375089008166996e-02 4.372404138763258e-02 - 4.369721054302294e-02 4.367039756276526e-02 4.364360246178376e-02 4.361682525500267e-02 4.359006595734623e-02 - 4.356332458373868e-02 4.353660114910423e-02 4.350989566836711e-02 4.348320815645158e-02 4.345653862828184e-02 - 4.342988709878214e-02 4.340325358287669e-02 4.337663809548974e-02 4.335004065154552e-02 4.332346126596825e-02 - 4.329689995368217e-02 4.327035672961151e-02 4.324383160868049e-02 4.321732460581335e-02 4.319083573593433e-02 - 4.316436501396765e-02 4.313791245483754e-02 4.311147807346823e-02 4.308506188478395e-02 4.305866390370894e-02 - 4.303228414516742e-02 4.300592262408363e-02 4.297957935538180e-02 4.295325435398616e-02 4.292694763482094e-02 - 4.290065921281035e-02 4.287438910287866e-02 4.284813731995007e-02 4.282190387894883e-02 4.279568879479917e-02 - 4.276949208242530e-02 4.274331375675147e-02 4.271715383270192e-02 4.269101232520085e-02 4.266488924917250e-02 - 4.263878461954113e-02 4.261269845123093e-02 4.258663075916616e-02 4.256058155827103e-02 4.253455086346980e-02 - 4.250853868968667e-02 4.248254505184589e-02 4.245656996487169e-02 4.243061344368828e-02 4.240467550321991e-02 - 4.237875615839081e-02 4.235285542412521e-02 4.232697331534734e-02 4.230110984698143e-02 4.227526503395169e-02 - 4.224943889118240e-02 4.222363143359775e-02 4.219784267612198e-02 4.217207263367933e-02 4.214632132119402e-02 - 4.212058875359029e-02 4.209487494579236e-02 4.206917991272448e-02 4.204350366931086e-02 4.201784623047573e-02 - 4.199220761114335e-02 4.196658782623791e-02 4.194098689068368e-02 4.191540481940486e-02 4.188984162732570e-02 - 4.186429732937041e-02 4.183877194046326e-02 4.181326547552844e-02 4.178777794949019e-02 4.176230937727277e-02 - 4.173685977380037e-02 4.171142915399725e-02 4.168601753278764e-02 4.166062492509574e-02 4.163525134584580e-02 - 4.160989680996207e-02 4.158456133236876e-02 4.155924492799010e-02 4.153394761175032e-02 4.150866939857367e-02 - 4.148341030338436e-02 4.145817034110662e-02 4.143294952666470e-02 4.140774787498282e-02 4.138256540098521e-02 - 4.135740211959609e-02 4.133225804573972e-02 4.130713319434030e-02 4.128202758032209e-02 4.125694121860929e-02 - 4.123187412412615e-02 4.120682631179690e-02 4.118179779654577e-02 4.115678859329698e-02 4.113179871697477e-02 - 4.110682818250337e-02 4.108187700480702e-02 4.105694519880994e-02 4.103203277943635e-02 4.100713976161051e-02 - 4.098226616025662e-02 4.095741199029894e-02 4.093257726666168e-02 4.090776200426908e-02 4.088296621804536e-02 - 4.085818992291476e-02 4.083343313380151e-02 4.080869586562985e-02 4.078397813332400e-02 4.075927995180818e-02 - 4.073460133600665e-02 4.070994230084361e-02 4.068530286124331e-02 4.066068303212998e-02 4.063608282842784e-02 - 4.061150226506113e-02 4.058694135695408e-02 4.056240011903092e-02 4.053787856621588e-02 4.051337671343318e-02 - 4.048889457560707e-02 4.046443216766178e-02 4.043998950452153e-02 4.041556660111054e-02 4.039116347235307e-02 - 4.036678013317334e-02 4.034241659849556e-02 4.031807288324400e-02 4.029374900234285e-02 4.026944497071637e-02 - 4.024516080328877e-02 4.022089651498431e-02 4.019665212072718e-02 4.017242763544165e-02 4.014822307405193e-02 - 4.012403845148225e-02 4.009987378265685e-02 4.007572908249996e-02 4.005160436593580e-02 4.002749964788860e-02 - 4.000341494328261e-02 3.997935026862905e-02 3.995530565020248e-02 3.993128111798760e-02 3.990727670197625e-02 - 3.988329243216027e-02 3.985932833853151e-02 3.983538445108181e-02 3.981146079980302e-02 3.978755741468697e-02 - 3.976367432572553e-02 3.973981156291052e-02 3.971596915623379e-02 3.969214713568721e-02 3.966834553126258e-02 - 3.964456437295178e-02 3.962080369074663e-02 3.959706351463900e-02 3.957334387462071e-02 3.954964480068362e-02 - 3.952596632281957e-02 3.950230847102040e-02 3.947867127527795e-02 3.945505476558409e-02 3.943145897193063e-02 - 3.940788392430945e-02 3.938432965271236e-02 3.936079618713123e-02 3.933728355755788e-02 3.931379179398419e-02 - 3.929032092640197e-02 3.926687098480308e-02 3.924344199917935e-02 3.922003399952266e-02 3.919664701582481e-02 - 3.917328107807769e-02 3.914993621627309e-02 3.912661246040292e-02 3.910330984045896e-02 3.908002838643308e-02 - 3.905676812831715e-02 3.903352909610298e-02 3.901031131978242e-02 3.898711482934733e-02 3.896393965478955e-02 - 3.894078582610091e-02 3.891765337327326e-02 3.889454232629846e-02 3.887145271516833e-02 3.884838456987474e-02 - 3.882533792040951e-02 3.880231279676451e-02 3.877930922893155e-02 3.875632724690252e-02 3.873336688066923e-02 - 3.871042816022353e-02 3.868751111555727e-02 3.866461577666229e-02 3.864174217353044e-02 3.861889033615356e-02 - 3.859606029452349e-02 3.857325207863209e-02 3.855046571847119e-02 3.852770124403264e-02 3.850495868530828e-02 - 3.848223807228996e-02 3.845953943496952e-02 3.843686280333881e-02 3.841420820738967e-02 3.839157567711395e-02 - 3.836896524250349e-02 3.834637693355013e-02 3.832381078024572e-02 3.830126681258209e-02 3.827874506055112e-02 - 3.825624555414461e-02 3.823376832335444e-02 3.821131339817244e-02 3.818888080859045e-02 3.816647058460032e-02 - 3.814408275619389e-02 3.812171735336303e-02 3.809937440609954e-02 3.807705394439530e-02 3.805475599824214e-02 - 3.803248059763190e-02 3.801022777255643e-02 3.798799755300758e-02 3.796578996897719e-02 3.794360505045710e-02 - 3.792144282743916e-02 3.789930332991522e-02 3.787718658787710e-02 3.785509263131667e-02 3.783302149022577e-02 - 3.781097319459624e-02 3.778894777441992e-02 3.776694525968866e-02 3.774496568039430e-02 3.772300906652870e-02 - 3.770107544808367e-02 3.767916485505110e-02 3.765727731742280e-02 3.763541286519063e-02 3.761357152834642e-02 - 3.759175333688204e-02 3.756995832078931e-02 3.754818651006007e-02 3.752643793468620e-02 3.750471262465951e-02 - 3.748301060997186e-02 3.746133192061509e-02 3.743967658658105e-02 3.741804463786157e-02 3.739643610444850e-02 - 3.737485101633371e-02 3.735328940350900e-02 3.733175129596625e-02 3.731023672369729e-02 3.728874571669397e-02 - 3.726727830494812e-02 3.724583451845160e-02 3.722441438719625e-02 3.720301794117391e-02 3.718164521037644e-02 - 3.716029622479566e-02 3.713897101442343e-02 3.711766960925159e-02 3.709639203927199e-02 3.707513833447647e-02 - 3.705390852485687e-02 3.703270264040504e-02 3.701152071111283e-02 3.699036276697207e-02 3.696922883797462e-02 - 3.694811895411231e-02 3.692703314537699e-02 3.690597144176051e-02 3.688493387325471e-02 3.686392046985143e-02 - 3.684293126154253e-02 3.682196627831984e-02 3.680102555017520e-02 3.678010910710046e-02 3.675921697908748e-02 - 3.673834919612807e-02 3.671750578821411e-02 3.669668678533742e-02 3.667589221748987e-02 3.665512211466327e-02 - 3.663437650684950e-02 3.661365542404037e-02 3.659295889622776e-02 3.657228695340348e-02 3.655163962555941e-02 - 3.653101694268735e-02 3.651041893477919e-02 3.648984563182674e-02 3.646929706382188e-02 3.644877326075641e-02 - 3.642827425262220e-02 3.640780006941109e-02 3.638735074111494e-02 3.636692629772557e-02 3.634652676923484e-02 - 3.632615218563458e-02 3.630580257691665e-02 3.628547797307289e-02 3.626517840409513e-02 3.624490389997524e-02 - 3.622465449070505e-02 3.620443020627639e-02 3.618423107668113e-02 3.616405713191111e-02 3.614390840195816e-02 - 3.612378491681414e-02 3.610368670647089e-02 3.608361380092025e-02 3.606356623015406e-02 3.604354402416417e-02 - 3.602354721294244e-02 3.600357582648069e-02 3.598362989477077e-02 3.596370944780453e-02 3.594381451557382e-02 - 3.592394512807047e-02 3.590410131528634e-02 3.588428310721326e-02 3.586449053384308e-02 3.584472362516764e-02 - 3.582498241117880e-02 3.580526692186839e-02 3.578557718722826e-02 3.576591323725024e-02 3.574627510192620e-02 - 3.572666281124797e-02 3.570707639520740e-02 3.568751588379632e-02 3.566798130700659e-02 3.564847269483005e-02 - 3.562899007725854e-02 3.560953348428391e-02 3.559010294589800e-02 3.557069849209266e-02 3.555132015285974e-02 - 3.553196795819106e-02 3.551264193807849e-02 3.549334212251386e-02 3.547406854148901e-02 3.545482122499580e-02 - 3.543560020302607e-02 3.541640550557167e-02 3.539723716262443e-02 3.537809520417620e-02 3.535897966021882e-02 - 3.533989056074414e-02 3.532082793574401e-02 3.530179181521027e-02 3.528278222913475e-02 3.526379920750932e-02 - 3.524484278032580e-02 3.522591297757607e-02 3.520700982925193e-02 3.518813336534525e-02 3.516928361584787e-02 - 3.515046061075164e-02 3.513166438004838e-02 3.511289495372998e-02 3.509415236178823e-02 3.507543663421501e-02 - 3.505674780100216e-02 3.503808589214152e-02 3.501945093762493e-02 3.500084296744425e-02 3.498226201159130e-02 - 3.496370810005795e-02 3.494518126283602e-02 3.492668152991737e-02 3.490820893129385e-02 3.488976349695729e-02 - 3.487134525689954e-02 3.485295424111245e-02 3.483459047958785e-02 3.481625400231760e-02 3.479794483929353e-02 - 3.477966302050750e-02 3.476140857595134e-02 3.474318153561690e-02 3.472498192949603e-02 3.470680978758058e-02 - 3.468866513986237e-02 3.467054801633326e-02 3.465245844698509e-02 3.463439646180971e-02 3.461636209079897e-02 - 3.459835536394470e-02 3.458037631123875e-02 3.456242496267296e-02 3.454450134823919e-02 3.452660549792927e-02 - 3.450873744173504e-02 3.449089720964835e-02 3.447308483166107e-02 3.445530033776500e-02 3.443754375795202e-02 - 3.441981512221395e-02 3.440211446054266e-02 3.438444180292995e-02 3.436679717936773e-02 3.434918061984778e-02 - 3.433159215436199e-02 3.431403181290218e-02 3.429649962546020e-02 3.427899562202789e-02 3.426151983259711e-02 - 3.424407228715969e-02 3.422665301570748e-02 3.420926204823232e-02 3.419189941472606e-02 3.417456514518054e-02 - 3.415725926958761e-02 3.413998181793911e-02 3.412273282022688e-02 3.410551230644278e-02 3.408832030657864e-02 - 3.407115685062630e-02 3.405402196857762e-02 3.403691569042444e-02 3.401983804615860e-02 3.400278906577194e-02 - 3.398576877925633e-02 3.396877721660357e-02 3.395181440780554e-02 3.393488038285408e-02 3.391797517174103e-02 - 3.390109880445821e-02 3.388425131099751e-02 3.386743272135074e-02 3.385064306550976e-02 3.383388237346641e-02 - 3.381715067521254e-02 3.380044800073998e-02 3.378377438004059e-02 3.376712984310620e-02 3.375051441992868e-02 - 3.373392814049984e-02 3.371737103481155e-02 3.370084313285564e-02 3.368434446462396e-02 3.366787506010836e-02 - 3.365143466564878e-02 3.363501887624541e-02 3.361862209777612e-02 3.360224500875989e-02 3.358588827878357e-02 - 3.356955147090725e-02 3.355323458431880e-02 3.353693766165054e-02 3.352066065506343e-02 3.350440352193865e-02 - 3.348816624199871e-02 3.347194881659273e-02 3.345575121630599e-02 3.343957340404732e-02 3.342341535303144e-02 - 3.340727704441876e-02 3.339115845430404e-02 3.337505954322636e-02 3.335898029706669e-02 3.334292070921326e-02 - 3.332688074834195e-02 3.331086037969291e-02 3.329485957414917e-02 3.327887831864652e-02 3.326291658484171e-02 - 3.324697433542376e-02 3.323105156623186e-02 3.321514826023114e-02 3.319926437839098e-02 3.318339989412266e-02 - 3.316755478754796e-02 3.315172903929034e-02 3.313592261295018e-02 3.312013548124740e-02 3.310436764153749e-02 - 3.308861906981869e-02 3.307288973180764e-02 3.305717959801665e-02 3.304148865245999e-02 3.302581687574703e-02 - 3.301016422142487e-02 3.299453067800234e-02 3.297891624809741e-02 3.296332088425066e-02 3.294774455685354e-02 - 3.293218725810471e-02 3.291664896225673e-02 3.290112963401578e-02 3.288562923879117e-02 3.287014777263271e-02 - 3.285468522369568e-02 3.283924155670871e-02 3.282381674440858e-02 3.280841076589561e-02 3.279302360243119e-02 - 3.277765521941309e-02 3.276230558706894e-02 3.274697470113698e-02 3.273166254219040e-02 3.271636907936865e-02 - 3.270109428250347e-02 3.268583813280482e-02 3.267060061307020e-02 3.265538168459424e-02 3.264018132671115e-02 - 3.262499953449712e-02 3.260983628233858e-02 3.259469153939318e-02 3.257956527754512e-02 3.256445748091834e-02 - 3.254936812698490e-02 3.253429718174427e-02 3.251924463148387e-02 3.250421046229880e-02 3.248919464552218e-02 - 3.247419715298105e-02 3.245921796288541e-02 3.244425706251369e-02 3.242931441545717e-02 3.241438998652282e-02 - 3.239948378141620e-02 3.238459577882156e-02 3.236972593925531e-02 3.235487424670715e-02 3.234004068301546e-02 - 3.232522522137563e-02 3.231042782696456e-02 3.229564848261764e-02 3.228088718700101e-02 3.226614390644563e-02 - 3.225141860917057e-02 3.223671128042128e-02 3.222202190260593e-02 3.220735044835789e-02 3.219269687989033e-02 - 3.217806118663362e-02 3.216344336205739e-02 3.214884337811092e-02 3.213426120193776e-02 3.211969680852602e-02 - 3.210515019435922e-02 3.209062132655478e-02 3.207611016186721e-02 3.206161670288540e-02 3.204714093648681e-02 - 3.203268282961075e-02 3.201824236239234e-02 3.200381951210604e-02 3.198941424912934e-02 3.197502654604618e-02 - 3.196065638811887e-02 3.194630377248257e-02 3.193196866763873e-02 3.191765104079724e-02 3.190335087680102e-02 - 3.188906815766901e-02 3.187480285784819e-02 3.186055494296534e-02 3.184632440204734e-02 3.183211122836238e-02 - 3.181791538780577e-02 3.180373685568510e-02 3.178957561657719e-02 3.177543165075891e-02 3.176130492904844e-02 - 3.174719542079285e-02 3.173310312097031e-02 3.171902801589959e-02 3.170497007535993e-02 3.169092927256592e-02 - 3.167690558660036e-02 3.166289900092451e-02 3.164890948767075e-02 3.163493702375719e-02 3.162098160094597e-02 - 3.160704320149037e-02 3.159312179836957e-02 3.157921735868882e-02 3.156532987076624e-02 3.155145932224658e-02 - 3.153760566663864e-02 3.152376889172848e-02 3.150994900180672e-02 3.149614595827410e-02 3.148235973399625e-02 - 3.146859031868535e-02 3.145483769408502e-02 3.144110182886523e-02 3.142738268687409e-02 3.141368026942635e-02 - 3.139999456778463e-02 3.138632554513814e-02 3.137267318073906e-02 3.135903745883740e-02 3.134541835839263e-02 - 3.133181584694165e-02 3.131822989974722e-02 3.130466051752389e-02 3.129110768114365e-02 3.127757136018487e-02 - 3.126405153214003e-02 3.125054818119363e-02 3.123706128835145e-02 3.122359081277034e-02 3.121013674152311e-02 - 3.119669908223311e-02 3.118327780512727e-02 3.116987287740892e-02 3.115648427590923e-02 3.114311198755302e-02 - 3.112975599208620e-02 3.111641625878769e-02 3.110309278026453e-02 3.108978554429882e-02 3.107649451605467e-02 - 3.106321967573116e-02 3.104996101093369e-02 3.103671850522385e-02 3.102349212552239e-02 3.101028184118182e-02 - 3.099708765215899e-02 3.098390954305432e-02 3.097074748653887e-02 3.095760146577434e-02 3.094447145973171e-02 - 3.093135744175442e-02 3.091825938652267e-02 3.090517727892404e-02 3.089211111199125e-02 3.087906086415095e-02 - 3.086602651045607e-02 3.085300802884278e-02 3.084000540267990e-02 3.082701861024971e-02 3.081404762072755e-02 - 3.080109242772720e-02 3.078815302348911e-02 3.077522937271052e-02 3.076232145526043e-02 3.074942925853004e-02 - 3.073655275969265e-02 3.072369193358731e-02 3.071084675893487e-02 3.069801722815575e-02 3.068520332655950e-02 - 3.067240502926292e-02 3.065962230727411e-02 3.064685514336771e-02 3.063410352936318e-02 3.062136743092317e-02 - 3.060864682743443e-02 3.059594172387181e-02 3.058325209340110e-02 3.057057790484611e-02 3.055791914232513e-02 - 3.054527578866520e-02 3.053264782274670e-02 3.052003521936738e-02 3.050743796632342e-02 3.049485605420712e-02 - 3.048228945948342e-02 3.046973815764381e-02 3.045720212753895e-02 3.044468135532321e-02 3.043217582076147e-02 - 3.041968549967531e-02 3.040721038082923e-02 3.039475044749309e-02 3.038230567464306e-02 3.036987604544383e-02 - 3.035746154526919e-02 3.034506215632694e-02 3.033267784558463e-02 3.032030859116679e-02 3.030795439680851e-02 - 3.029561524020229e-02 3.028329109283977e-02 3.027098194217670e-02 3.025868776986960e-02 3.024640855125834e-02 - 3.023414425922958e-02 3.022189488753165e-02 3.020966043396606e-02 3.019744085927903e-02 3.018523614254973e-02 - 3.017304628070488e-02 3.016087124712451e-02 3.014871101490015e-02 3.013656556629268e-02 3.012443489643160e-02 - 3.011231899192166e-02 3.010021782348693e-02 3.008813136953290e-02 3.007605961443153e-02 3.006400254477032e-02 - 3.005196013216448e-02 3.003993235442936e-02 3.002791921520012e-02 3.001592069144608e-02 3.000393675083135e-02 - 2.999196738372897e-02 2.998001257673401e-02 2.996807230790781e-02 2.995614654679549e-02 2.994423528130847e-02 - 2.993233851118915e-02 2.992045620999083e-02 2.990858835120550e-02 2.989673491731453e-02 2.988489589805536e-02 - 2.987307127537464e-02 2.986126102011340e-02 2.984946511909828e-02 2.983768356331996e-02 2.982591633787642e-02 - 2.981416341477938e-02 2.980242477098497e-02 2.979070040412034e-02 2.977899028736241e-02 2.976729439085326e-02 - 2.975561271768286e-02 2.974394525020974e-02 2.973229195799546e-02 2.972065283153817e-02 2.970902785474345e-02 - 2.969741700233630e-02 2.968582025251779e-02 2.967423759388233e-02 2.966266902120933e-02 2.965111450751603e-02 - 2.963957402972690e-02 2.962804757853395e-02 2.961653513685447e-02 2.960503668212408e-02 2.959355219023237e-02 - 2.958208165129883e-02 2.957062505724755e-02 2.955918238857859e-02 2.954775362079399e-02 2.953633873283637e-02 - 2.952493771681483e-02 2.951355054848872e-02 2.950217720053436e-02 2.949081767862442e-02 2.947947196700992e-02 - 2.946814003034778e-02 2.945682185755054e-02 2.944551743582863e-02 2.943422674341014e-02 2.942294975870480e-02 - 2.941168646812421e-02 2.940043686618776e-02 2.938920093147064e-02 2.937797864134186e-02 2.936676998172867e-02 - 2.935557493479196e-02 2.934439347979633e-02 2.933322559583284e-02 2.932207127373048e-02 2.931093050463312e-02 - 2.929980326285230e-02 2.928868953142686e-02 2.927758929945683e-02 2.926650254799867e-02 2.925542925398767e-02 - 2.924436939550082e-02 2.923332296415483e-02 2.922228995044700e-02 2.921127033783603e-02 2.920026410004271e-02 - 2.918927122033416e-02 2.917829169471517e-02 2.916732549176795e-02 2.915637258777840e-02 2.914543298801943e-02 - 2.913450667577263e-02 2.912359362430894e-02 2.911269381274288e-02 2.910180723305731e-02 2.909093387402745e-02 - 2.908007369930849e-02 2.906922669822638e-02 2.905839287303405e-02 2.904757219714476e-02 2.903676465199738e-02 - 2.902597022808873e-02 2.901518890157972e-02 2.900442065055892e-02 2.899366546087253e-02 2.898292332562971e-02 - 2.897219423070421e-02 2.896147815085827e-02 2.895077507160809e-02 2.894008498122344e-02 2.892940786384609e-02 - 2.891874369517828e-02 2.890809245634708e-02 2.889745414621765e-02 2.888682874769054e-02 2.887621623583590e-02 - 2.886561659425123e-02 2.885502981116054e-02 2.884445587294774e-02 2.883389475319686e-02 2.882334643970105e-02 - 2.881281093000496e-02 2.880228819979298e-02 2.879177822929067e-02 2.878128100842524e-02 2.877079651898801e-02 - 2.876032473884395e-02 2.874986564740009e-02 2.873941924390505e-02 2.872898552052601e-02 2.871856444638324e-02 - 2.870815600507148e-02 2.869776018641480e-02 2.868737697516582e-02 2.867700634591397e-02 2.866664827916806e-02 - 2.865630278319325e-02 2.864596983917359e-02 2.863564941328856e-02 2.862534149829953e-02 2.861504608429113e-02 - 2.860476315234840e-02 2.859449267740666e-02 2.858423464566411e-02 2.857398905422620e-02 2.856375588402207e-02 - 2.855353511594846e-02 2.854332673804624e-02 2.853313073796621e-02 2.852294709429606e-02 2.851277577543872e-02 - 2.850261678440491e-02 2.849247012219593e-02 2.848233575178603e-02 2.847221365657614e-02 2.846210383116990e-02 - 2.845200625935100e-02 2.844192091752946e-02 2.843184778466237e-02 2.842178686053369e-02 2.841173813547823e-02 - 2.840170158739025e-02 2.839167719418843e-02 2.838166494245600e-02 2.837166482484053e-02 2.836167681707307e-02 - 2.835170090137019e-02 2.834173707461769e-02 2.833178532393912e-02 2.832184563033358e-02 2.831191797277370e-02 - 2.830200233825938e-02 2.829209871310940e-02 2.828220707523810e-02 2.827232741579271e-02 2.826245972853687e-02 - 2.825260399229306e-02 2.824276019064247e-02 2.823292831178126e-02 2.822310834132040e-02 2.821330025651807e-02 - 2.820350403438503e-02 2.819371967866794e-02 2.818394718049788e-02 2.817418651237375e-02 2.816443766090156e-02 - 2.815470061416237e-02 2.814497535504664e-02 2.813526186206681e-02 2.812556012131105e-02 2.811587013236315e-02 - 2.810619188120791e-02 2.809652534562629e-02 2.808687050311100e-02 2.807722734684383e-02 2.806759586949595e-02 - 2.805797603975531e-02 2.804836784541272e-02 2.803877128655403e-02 2.802918634812817e-02 2.801961300908425e-02 - 2.801005124931340e-02 2.800050106254358e-02 2.799096243185147e-02 2.798143533065562e-02 2.797191976200169e-02 - 2.796241571829330e-02 2.795292316767612e-02 2.794344209750147e-02 2.793397250080147e-02 2.792451436474921e-02 - 2.791506766429417e-02 2.790563238187514e-02 2.789620852426368e-02 2.788679607109519e-02 2.787739499448651e-02 - 2.786800529276515e-02 2.785862695250820e-02 2.784925995023579e-02 2.783990426851568e-02 2.783055990112446e-02 - 2.782122684523413e-02 2.781190507602721e-02 2.780259457625915e-02 2.779329533996523e-02 2.778400734510273e-02 - 2.777473057425486e-02 2.776546502209671e-02 2.775621067523501e-02 2.774696751775778e-02 2.773773553529171e-02 - 2.772851471226555e-02 2.771930503638066e-02 2.771010650156085e-02 2.770091908311444e-02 2.769174275675288e-02 - 2.768257752750487e-02 2.767342338343482e-02 2.766428030170250e-02 2.765514827509389e-02 2.764602728937508e-02 - 2.763691732224667e-02 2.762781835629091e-02 2.761873038318760e-02 2.760965340016332e-02 2.760058738918467e-02 - 2.759153233095657e-02 2.758248821223181e-02 2.757345502668101e-02 2.756443275844788e-02 2.755542137569210e-02 - 2.754642087861812e-02 2.753743126859248e-02 2.752845251726651e-02 2.751948461051369e-02 2.751052754088128e-02 - 2.750158129051000e-02 2.749264584112846e-02 2.748372117908398e-02 2.747480730190011e-02 2.746590419839729e-02 - 2.745701184777745e-02 2.744813023052759e-02 2.743925933666562e-02 2.743039916197098e-02 2.742154968107790e-02 - 2.741271087850060e-02 2.740388275814067e-02 2.739506530469222e-02 2.738625849608251e-02 2.737746231424592e-02 - 2.736867675514432e-02 2.735990180809817e-02 2.735113743878892e-02 2.734238364845174e-02 2.733364044336462e-02 - 2.732490778587926e-02 2.731618566204183e-02 2.730747407386686e-02 2.729877300249025e-02 2.729008242908668e-02 - 2.728140234030172e-02 2.727273272900814e-02 2.726407358354408e-02 2.725542488697956e-02 2.724678662927163e-02 - 2.723815879907967e-02 2.722954137935252e-02 2.722093434732608e-02 2.721233769152850e-02 2.720375141931018e-02 - 2.719517551218435e-02 2.718660994644712e-02 2.717805471481514e-02 2.716950980584153e-02 2.716097520393317e-02 - 2.715245089289530e-02 2.714393686286031e-02 2.713543310581999e-02 2.712693960497614e-02 2.711845634782483e-02 - 2.710998332519429e-02 2.710152051958041e-02 2.709306791441093e-02 2.708462549834906e-02 2.707619326918369e-02 - 2.706777121480425e-02 2.705935930907671e-02 2.705095754483260e-02 2.704256591454058e-02 2.703418439795306e-02 - 2.702581298145425e-02 2.701745165546447e-02 2.700910041075726e-02 2.700075923746808e-02 2.699242812272907e-02 - 2.698410704764140e-02 2.697579599978723e-02 2.696749496984126e-02 2.695920394125775e-02 2.695092290187428e-02 - 2.694265184396634e-02 2.693439075649869e-02 2.692613962541774e-02 2.691789843589869e-02 2.690966718080280e-02 - 2.690144584430361e-02 2.689323440003169e-02 2.688503284907665e-02 2.687684119009101e-02 2.686865940030225e-02 - 2.686048746353486e-02 2.685232536881714e-02 2.684417310662326e-02 2.683603066151065e-02 2.682789801897943e-02 - 2.681977517552054e-02 2.681166212021913e-02 2.680355883616239e-02 2.679546530889016e-02 2.678738152752996e-02 - 2.677930748200765e-02 2.677124315479004e-02 2.676318853591112e-02 2.675514362231527e-02 2.674710839396962e-02 - 2.673908283555094e-02 2.673106694339361e-02 2.672306070150655e-02 2.671506409151823e-02 2.670707710108217e-02 - 2.669909972943648e-02 2.669113197027321e-02 2.668317379682501e-02 2.667522519875436e-02 2.666728617090520e-02 - 2.665935669311371e-02 2.665143675159882e-02 2.664352634032146e-02 2.663562545659268e-02 2.662773408361464e-02 - 2.661985219717407e-02 2.661197979572226e-02 2.660411687169956e-02 2.659626340488144e-02 2.658841937631547e-02 - 2.658058477937751e-02 2.657275961893512e-02 2.656494387358596e-02 2.655713752275513e-02 2.654934056348008e-02 - 2.654155298332925e-02 2.653377476657220e-02 2.652600590198415e-02 2.651824638075199e-02 2.651049619255404e-02 - 2.650275532091429e-02 2.649502375487615e-02 2.648730148802552e-02 2.647958851263073e-02 2.647188480891689e-02 - 2.646419035368700e-02 2.645650515131691e-02 2.644882919484906e-02 2.644116246069965e-02 2.643350494181170e-02 - 2.642585663084689e-02 2.641821751242615e-02 2.641058756892747e-02 2.640296679007395e-02 2.639535517653221e-02 - 2.638775271175803e-02 2.638015937698240e-02 2.637257516664822e-02 2.636500007332271e-02 2.635743408373907e-02 - 2.634987717633525e-02 2.634232934391862e-02 2.633479058525924e-02 2.632726088227431e-02 2.631974022390311e-02 - 2.631222860499385e-02 2.630472600717760e-02 2.629723241433261e-02 2.628974781674581e-02 2.628227220621198e-02 - 2.627480557677242e-02 2.626734792215179e-02 2.625989921852152e-02 2.625245945041883e-02 2.624502862403611e-02 - 2.623760671958282e-02 2.623019371536040e-02 2.622278961237779e-02 2.621539440295659e-02 2.620800807254220e-02 - 2.620063060674004e-02 2.619326199404739e-02 2.618590222410475e-02 2.617855128386046e-02 2.617120916522779e-02 - 2.616387586230346e-02 2.615655135861502e-02 2.614923564213544e-02 2.614192870720641e-02 2.613463054125929e-02 - 2.612734112755428e-02 2.612006044964381e-02 2.611278850871195e-02 2.610552530050819e-02 2.609827080222275e-02 - 2.609102500359168e-02 2.608378789925431e-02 2.607655947900249e-02 2.606933972466179e-02 2.606212861946312e-02 - 2.605492616097670e-02 2.604773234503024e-02 2.604054716124884e-02 2.603337058950191e-02 2.602620261873257e-02 - 2.601904324395194e-02 2.601189244598317e-02 2.600475021758196e-02 2.599761656283118e-02 2.599049145836681e-02 - 2.598337488632347e-02 2.597626684662969e-02 2.596916733159564e-02 2.596207632537513e-02 2.595499380688753e-02 - 2.594791977426907e-02 2.594085422650568e-02 2.593379714560815e-02 2.592674851872178e-02 2.591970833661526e-02 - 2.591267658830654e-02 2.590565326173340e-02 2.589863834578747e-02 2.589163183398775e-02 2.588463371701131e-02 - 2.587764398252935e-02 2.587066261956569e-02 2.586368961749470e-02 2.585672496539723e-02 2.584976865103265e-02 - 2.584282066471713e-02 2.583588100000093e-02 2.582894964599770e-02 2.582202659070586e-02 2.581511182332461e-02 - 2.580820533343631e-02 2.580130710958863e-02 2.579441713875388e-02 2.578753541579036e-02 2.578066193633965e-02 - 2.577379668579866e-02 2.576693964640701e-02 2.576009080523955e-02 2.575325016689414e-02 2.574641771694009e-02 - 2.573959342940173e-02 2.573277731100565e-02 2.572596935753856e-02 2.571916954588383e-02 2.571237786264848e-02 - 2.570559430241213e-02 2.569881886299849e-02 2.569205152414907e-02 2.568529227185872e-02 2.567854111122693e-02 - 2.567179802594942e-02 2.566506299732867e-02 2.565833602386073e-02 2.565161709921462e-02 2.564490620914589e-02 - 2.563820333139000e-02 2.563150846268354e-02 2.562482160754986e-02 2.561814274902439e-02 2.561147187258114e-02 - 2.560480896924013e-02 2.559815402833877e-02 2.559150703774291e-02 2.558486798572520e-02 2.557823686789989e-02 - 2.557161367849433e-02 2.556499840587265e-02 2.555839103232124e-02 2.555179154834854e-02 2.554519995829834e-02 - 2.553861624178350e-02 2.553204037844031e-02 2.552547237202886e-02 2.551891221538829e-02 2.551235989397021e-02 - 2.550581539575596e-02 2.549927871458803e-02 2.549274984258965e-02 2.548622875540724e-02 2.547971544999134e-02 - 2.547320993631275e-02 2.546671219025347e-02 2.546022219347805e-02 2.545373994243675e-02 2.544726542971977e-02 - 2.544079864501286e-02 2.543433957656028e-02 2.542788821576999e-02 2.542144455508066e-02 2.541500858637495e-02 - 2.540858030019949e-02 2.540215968413957e-02 2.539574672197945e-02 2.538934140646816e-02 2.538294373410821e-02 - 2.537655369660362e-02 2.537017128263758e-02 2.536379648098229e-02 2.535742928550868e-02 2.535106968465225e-02 - 2.534471766277936e-02 2.533837321084466e-02 2.533203632423742e-02 2.532570699881585e-02 2.531938521813243e-02 - 2.531307097096266e-02 2.530676425602581e-02 2.530046505932213e-02 2.529417336607690e-02 2.528788916915281e-02 - 2.528161246489754e-02 2.527534324609989e-02 2.526908149634068e-02 2.526282720495094e-02 2.525658036572961e-02 - 2.525034097275206e-02 2.524410901058027e-02 2.523788446449190e-02 2.523166734234336e-02 2.522545763237074e-02 - 2.521925530838600e-02 2.521306037097086e-02 2.520687281776321e-02 2.520069263496993e-02 2.519451980442291e-02 - 2.518835431925369e-02 2.518219618546694e-02 2.517604538654039e-02 2.516990190396150e-02 2.516376573127799e-02 - 2.515763686639562e-02 2.515151530112912e-02 2.514540101358030e-02 2.513929399756280e-02 2.513319425347670e-02 - 2.512710177240427e-02 2.512101654329324e-02 2.511493855506050e-02 2.510886779787783e-02 2.510280425830826e-02 - 2.509674792451250e-02 2.509069880343641e-02 2.508465688466923e-02 2.507862214067907e-02 2.507259457630134e-02 - 2.506657418922008e-02 2.506056095604422e-02 2.505455486579475e-02 2.504855591546334e-02 2.504256410459500e-02 - 2.503657941982099e-02 2.503060184642849e-02 2.502463137903613e-02 2.501866800626509e-02 2.501271171663477e-02 - 2.500676250820755e-02 2.500082037092928e-02 2.499488529135626e-02 2.498895726677344e-02 2.498303628979692e-02 - 2.497712234741346e-02 2.497121542814719e-02 2.496531552247531e-02 2.495942262282587e-02 2.495353672310340e-02 - 2.494765781766853e-02 2.494178589943900e-02 2.493592095223772e-02 2.493006296439117e-02 2.492421193524048e-02 - 2.491836784922406e-02 2.491253069345717e-02 2.490670047398909e-02 2.490087718065651e-02 2.489506079631419e-02 - 2.488925131370227e-02 2.488344872747560e-02 2.487765302865731e-02 2.487186419727612e-02 2.486608223223404e-02 - 2.486030714174834e-02 2.485453889875117e-02 2.484877749156952e-02 2.484302292908405e-02 2.483727519324232e-02 - 2.483153426549052e-02 2.482580013961989e-02 2.482007281919668e-02 2.481435229933991e-02 2.480863855780388e-02 - 2.480293158683973e-02 2.479723138421890e-02 2.479153794250162e-02 2.478585124573938e-02 2.478017128120043e-02 - 2.477449805440481e-02 2.476883155587847e-02 2.476317176818658e-02 2.475751868877601e-02 2.475187231076201e-02 - 2.474623262098153e-02 2.474059960704484e-02 2.473497326224523e-02 2.472935358498410e-02 2.472374056978996e-02 - 2.471813420423485e-02 2.471253447111526e-02 2.470694136984621e-02 2.470135489678424e-02 2.469577503399494e-02 - 2.469020177298829e-02 2.468463511029760e-02 2.467907504169421e-02 2.467352155791407e-02 2.466797464651026e-02 - 2.466243429488579e-02 2.465690049712254e-02 2.465137324948606e-02 2.464585254039273e-02 2.464033836402688e-02 - 2.463483071739735e-02 2.462932958374225e-02 2.462383495186045e-02 2.461834681928389e-02 2.461286517898853e-02 - 2.460739002108202e-02 2.460192133524253e-02 2.459645911917798e-02 2.459100336526309e-02 2.458555405446716e-02 - 2.458011118496141e-02 2.457467475465895e-02 2.456924474486533e-02 2.456382114921245e-02 2.455840396700115e-02 - 2.455299319041756e-02 2.454758880740113e-02 2.454219080674820e-02 2.453679918638537e-02 2.453141393576077e-02 - 2.452603503863916e-02 2.452066249180092e-02 2.451529629410615e-02 2.450993644073534e-02 2.450458291517292e-02 - 2.449923570627392e-02 2.449389481263279e-02 2.448856022075961e-02 2.448323192252920e-02 2.447790992354739e-02 - 2.447259420740984e-02 2.446728475663024e-02 2.446198157303190e-02 2.445668465268695e-02 2.445139398411770e-02 - 2.444610955000165e-02 2.444083134675017e-02 2.443555937646448e-02 2.443029362647454e-02 2.442503408583922e-02 - 2.441978074770511e-02 2.441453360513738e-02 2.440929264714783e-02 2.440405786136508e-02 2.439882924944217e-02 - 2.439360680824694e-02 2.438839052372590e-02 2.438318038826778e-02 2.437797639360750e-02 2.437277852674977e-02 - 2.436758678074824e-02 2.436240115296091e-02 2.435722164202054e-02 2.435204823529888e-02 2.434688091817521e-02 - 2.434171968740183e-02 2.433656453724402e-02 2.433141545805634e-02 2.432627243782077e-02 2.432113546933723e-02 - 2.431600455029639e-02 2.431087967900234e-02 2.430576084399959e-02 2.430064802749307e-02 2.429554123205279e-02 - 2.429044044976694e-02 2.428534565606734e-02 2.428025685952290e-02 2.427517406275088e-02 2.427009724038350e-02 - 2.426502638834353e-02 2.425996150697585e-02 2.425490258288459e-02 2.424984960255012e-02 2.424480255754471e-02 - 2.423976144931379e-02 2.423472627405213e-02 2.422969702193537e-02 2.422467367993699e-02 2.421965624107330e-02 - 2.421464470176334e-02 2.420963904926960e-02 2.420463927567678e-02 2.419964537946393e-02 2.419465735323985e-02 - 2.418967518800793e-02 2.418469887545246e-02 2.417972840901141e-02 2.417476377855392e-02 2.416980496962540e-02 - 2.416485198688481e-02 2.415990483049387e-02 2.415496347565664e-02 2.415002792020104e-02 2.414509816788697e-02 - 2.414017420064829e-02 2.413525600526027e-02 2.413034357711665e-02 2.412543691925479e-02 2.412053602209589e-02 - 2.411564086852338e-02 2.411075145960207e-02 2.410586778967854e-02 2.410098984367492e-02 2.409611761892932e-02 - 2.409125110932578e-02 2.408639030144091e-02 2.408153519631380e-02 2.407668578962185e-02 2.407184206146642e-02 - 2.406700400909483e-02 2.406217163125833e-02 2.405734491326586e-02 2.405252385052364e-02 2.404770844026444e-02 - 2.404289866819192e-02 2.403809452984102e-02 2.403329602484744e-02 2.402850314011094e-02 2.402371586479471e-02 - 2.401893419282938e-02 2.401415812045089e-02 2.400938764313821e-02 2.400462275334547e-02 2.399986343578922e-02 - 2.399510968520409e-02 2.399036150812855e-02 2.398561888480285e-02 2.398088180164008e-02 2.397615026865237e-02 - 2.397142427338870e-02 2.396670380040281e-02 2.396198885088599e-02 2.395727942113068e-02 2.395257549962209e-02 - 2.394787706723708e-02 2.394318412617158e-02 2.393849668455232e-02 2.393381472012022e-02 2.392913822141401e-02 - 2.392446719065216e-02 2.391980162598514e-02 2.391514151312970e-02 2.391048683154523e-02 2.390583758880722e-02 - 2.390119378770886e-02 2.389655541357522e-02 2.389192245255953e-02 2.388729489743550e-02 2.388267274893805e-02 - 2.387805599705324e-02 2.387344463051915e-02 2.386883864637205e-02 2.386423804212813e-02 2.385964281176755e-02 - 2.385505294183017e-02 2.385046842474073e-02 2.384588925674739e-02 2.384131543037479e-02 2.383674693675093e-02 - 2.383218376863605e-02 2.382762592698097e-02 2.382307340607612e-02 2.381852619200930e-02 2.381398427584630e-02 - 2.380944765139419e-02 2.380491631418275e-02 2.380039026147703e-02 2.379586948695320e-02 2.379135397827495e-02 - 2.378684372855616e-02 2.378233873403001e-02 2.377783899070361e-02 2.377334448688785e-02 2.376885521259772e-02 - 2.376437117173840e-02 2.375989235311110e-02 2.375541874056297e-02 2.375095033967465e-02 2.374648714507580e-02 - 2.374202914136664e-02 2.373757632537944e-02 2.373312869288914e-02 2.372868623536894e-02 2.372424894471153e-02 - 2.371981681484819e-02 2.371538984133524e-02 2.371096801501392e-02 2.370655132827953e-02 2.370213977833190e-02 - 2.369773335765337e-02 2.369333205880069e-02 2.368893587883010e-02 2.368454481046802e-02 2.368015884444250e-02 - 2.367577797334512e-02 2.367140218742613e-02 2.366703147963686e-02 2.366266585606776e-02 2.365830530976384e-02 - 2.365394982335759e-02 2.364959939168465e-02 2.364525401200215e-02 2.364091367903051e-02 2.363657837870221e-02 - 2.363224810602428e-02 2.362792286773459e-02 2.362360264929340e-02 2.361928743769403e-02 2.361497723470610e-02 - 2.361067203383207e-02 2.360637182449869e-02 2.360207659794005e-02 2.359778635431920e-02 2.359350109143980e-02 - 2.358922079027601e-02 2.358494544772182e-02 2.358067506765588e-02 2.357640963547734e-02 2.357214914179353e-02 - 2.356789358468287e-02 2.356364296127548e-02 2.355939726289868e-02 2.355515647729875e-02 2.355092060314220e-02 - 2.354668963726047e-02 2.354246356971432e-02 2.353824239065819e-02 2.353402609608870e-02 2.352981468856027e-02 - 2.352560815209497e-02 2.352140647526573e-02 2.351720967050562e-02 2.351301772305351e-02 2.350883061252196e-02 - 2.350464834642137e-02 2.350047092197861e-02 2.349629832802946e-02 2.349213055910952e-02 2.348796760574937e-02 - 2.348380945835795e-02 2.347965612326723e-02 2.347550759163322e-02 2.347136384068571e-02 2.346722487769892e-02 - 2.346309070523777e-02 2.345896130833473e-02 2.345483667635093e-02 2.345071680463291e-02 2.344660169327714e-02 - 2.344249133136094e-02 2.343838570884467e-02 2.343428482723373e-02 2.343018868068117e-02 2.342609726030811e-02 - 2.342201056195244e-02 2.341792857876926e-02 2.341385130156056e-02 2.340977872164902e-02 2.340571083589386e-02 - 2.340164764377465e-02 2.339758913684304e-02 2.339353530825718e-02 2.338948615385810e-02 2.338544166438565e-02 - 2.338140183238109e-02 2.337736665460082e-02 2.337333612670094e-02 2.336931024309368e-02 2.336528899670786e-02 - 2.336127237782067e-02 2.335726037932775e-02 2.335325300092871e-02 2.334925023614406e-02 2.334525207670920e-02 - 2.334125851951941e-02 2.333726955725296e-02 2.333328518197435e-02 2.332930539416707e-02 2.332533018620607e-02 - 2.332135954429912e-02 2.331739346348105e-02 2.331343194297124e-02 2.330947498175055e-02 2.330552256758802e-02 - 2.330157469245372e-02 2.329763135682490e-02 2.329369255310137e-02 2.328975827131819e-02 2.328582850377367e-02 - 2.328190324900185e-02 2.327798250467623e-02 2.327406626164597e-02 2.327015451465238e-02 2.326624725851670e-02 - 2.326234448228765e-02 2.325844618291867e-02 2.325455236057939e-02 2.325066300636415e-02 2.324677811186985e-02 - 2.324289767062798e-02 2.323902167622130e-02 2.323515012509116e-02 2.323128301561370e-02 2.322742034088871e-02 - 2.322356209250113e-02 2.321970826255392e-02 2.321585884544971e-02 2.321201383858435e-02 2.320817324137425e-02 - 2.320433704277431e-02 2.320050523099401e-02 2.319667780275936e-02 2.319285475700314e-02 2.318903609087885e-02 - 2.318522179577433e-02 2.318141186586264e-02 2.317760629632794e-02 2.317380507773795e-02 2.317000820301008e-02 - 2.316621566880872e-02 2.316242747510807e-02 2.315864361575457e-02 2.315486407850317e-02 2.315108885694486e-02 - 2.314731794816131e-02 2.314355135044316e-02 2.313978905662257e-02 2.313603105913640e-02 2.313227735329952e-02 - 2.312852793585061e-02 2.312478280157292e-02 2.312104194073204e-02 2.311730534704967e-02 2.311357301587891e-02 - 2.310984494137890e-02 2.310612112341407e-02 2.310240155989217e-02 2.309868623130452e-02 2.309497513592190e-02 - 2.309126828241582e-02 2.308756565023808e-02 2.308386723175103e-02 2.308017303542274e-02 2.307648304592169e-02 - 2.307279725617671e-02 2.306911567493640e-02 2.306543828441958e-02 2.306176507302976e-02 2.305809605235563e-02 - 2.305443121050249e-02 2.305077053229759e-02 2.304711401909808e-02 2.304346166830784e-02 2.303981347406350e-02 - 2.303616943085239e-02 2.303252953349069e-02 2.302889377643319e-02 2.302526215247478e-02 2.302163465435939e-02 - 2.301801127709388e-02 2.301439202296127e-02 2.301077688440331e-02 2.300716584594829e-02 2.300355891234385e-02 - 2.299995607931316e-02 2.299635732709070e-02 2.299276266087610e-02 2.298917208378683e-02 2.298558558107965e-02 - 2.298200314503575e-02 2.297842477288603e-02 2.297485046311076e-02 2.297128020911345e-02 2.296771400315858e-02 - 2.296415184168031e-02 2.296059371667762e-02 2.295703962066644e-02 2.295348955785851e-02 2.294994352217295e-02 - 2.294640149900077e-02 2.294286348264926e-02 2.293932947451599e-02 2.293579947717141e-02 2.293227347444131e-02 - 2.292875145668869e-02 2.292523342863249e-02 2.292171938675970e-02 2.291820932208030e-02 2.291470322329688e-02 - 2.291120108573121e-02 2.290770290936340e-02 2.290420869564250e-02 2.290071843254762e-02 2.289723210840996e-02 - 2.289374972996874e-02 2.289027128684278e-02 2.288679676284003e-02 2.288332616596880e-02 2.287985949623025e-02 - 2.287639674290211e-02 2.287293789614104e-02 2.286948295143698e-02 2.286603190794522e-02 2.286258475709644e-02 - 2.285914149325583e-02 2.285570211629635e-02 2.285226661817064e-02 2.284883499242224e-02 2.284540723897847e-02 - 2.284198334984975e-02 2.283856331588243e-02 2.283514713353579e-02 2.283173480111027e-02 2.282832631556901e-02 - 2.282492166909090e-02 2.282152085461623e-02 2.281812386736860e-02 2.281473070606539e-02 2.281134136558116e-02 - 2.280795583769253e-02 2.280457411713410e-02 2.280119619914733e-02 2.279782207936136e-02 2.279445175627783e-02 - 2.279108522557549e-02 2.278772247795469e-02 2.278436350274908e-02 2.278100829770330e-02 2.277765687156956e-02 - 2.277430921150676e-02 2.277096530368425e-02 2.276762515226868e-02 2.276428875675497e-02 2.276095610802096e-02 - 2.275762718728153e-02 2.275430199700514e-02 2.275098054723153e-02 2.274766282325953e-02 2.274434881806882e-02 - 2.274103853245654e-02 2.273773195657694e-02 2.273442908251650e-02 2.273112990748000e-02 2.272783443024632e-02 - 2.272454264587135e-02 2.272125454541999e-02 2.271797012768606e-02 2.271468938883630e-02 2.271141231743784e-02 - 2.270813891155475e-02 2.270486917113991e-02 2.270160309030139e-02 2.269834065991423e-02 2.269508187421201e-02 - 2.269182673791773e-02 2.268857524219826e-02 2.268532737305624e-02 2.268208313254210e-02 2.267884251722086e-02 - 2.267560551920548e-02 2.267237214108131e-02 2.266914237609957e-02 2.266591620883689e-02 2.266269364166427e-02 - 2.265947467384046e-02 2.265625929499294e-02 2.265304750285308e-02 2.264983929495161e-02 2.264663466331073e-02 - 2.264343359962570e-02 2.264023610100446e-02 2.263704217283995e-02 2.263385180078203e-02 2.263066497176033e-02 - 2.262748170200772e-02 2.262430198020481e-02 2.262112578516977e-02 2.261795313211606e-02 2.261478401664109e-02 - 2.261161841743119e-02 2.260845633522814e-02 2.260529777070043e-02 2.260214271924124e-02 2.259899117823321e-02 - 2.259584314154298e-02 2.259269859890657e-02 2.258955754741791e-02 2.258641998536936e-02 2.258328590829124e-02 - 2.258015531052365e-02 2.257702818646037e-02 2.257390453172050e-02 2.257078434461123e-02 2.256766762198980e-02 - 2.256455435398716e-02 2.256144453344060e-02 2.255833815784602e-02 2.255523523027356e-02 2.255213574452021e-02 - 2.254903968810603e-02 2.254594705829782e-02 2.254285785514665e-02 2.253977207653749e-02 2.253668970834607e-02 - 2.253361074658835e-02 2.253053520058667e-02 2.252746305460894e-02 2.252439429792020e-02 2.252132894054988e-02 - 2.251826697539277e-02 2.251520839162438e-02 2.251215318778324e-02 2.250910135797150e-02 2.250605289615611e-02 - 2.250300780314812e-02 2.249996607511807e-02 2.249692770517706e-02 2.249389268897849e-02 2.249086101912092e-02 - 2.248783268793952e-02 2.248480769791340e-02 2.248178604607573e-02 2.247876772289102e-02 2.247575272657626e-02 - 2.247274105420605e-02 2.246973269884927e-02 2.246672765673356e-02 2.246372592391256e-02 2.246072749418018e-02 - 2.245773236145919e-02 2.245474052366870e-02 2.245175198466864e-02 2.244876673416187e-02 2.244578475935081e-02 - 2.244280606154297e-02 2.243983064008646e-02 2.243685849064164e-02 2.243388960632717e-02 2.243092397966235e-02 - 2.242796160524575e-02 2.242500248562306e-02 2.242204661762487e-02 2.241909399183298e-02 2.241614460666303e-02 - 2.241319845819517e-02 2.241025553754803e-02 2.240731584245553e-02 2.240437937032112e-02 2.240144611432051e-02 - 2.239851607018801e-02 2.239558923444239e-02 2.239266560299412e-02 2.238974517661811e-02 2.238682795331298e-02 - 2.238391391839321e-02 2.238100306495051e-02 2.237809539304577e-02 2.237519090301935e-02 2.237228958954325e-02 - 2.236939144530989e-02 2.236649647337483e-02 2.236360466636645e-02 2.236071600836286e-02 2.235783050633204e-02 - 2.235494816009726e-02 2.235206895420678e-02 2.234919288912077e-02 2.234631996540050e-02 2.234345017408028e-02 - 2.234058350741709e-02 2.233771996217690e-02 2.233485954108143e-02 2.233200223848051e-02 2.232914804618978e-02 - 2.232629696222737e-02 2.232344898389008e-02 2.232060410657171e-02 2.231776232362639e-02 2.231492363175558e-02 - 2.231208802922137e-02 2.230925550831191e-02 2.230642606279709e-02 2.230359969032392e-02 2.230077639232617e-02 - 2.229795616382932e-02 2.229513899284023e-02 2.229232488215048e-02 2.228951382986107e-02 2.228670582046145e-02 - 2.228390085767177e-02 2.228109894426768e-02 2.227830006461064e-02 2.227550421765863e-02 2.227271140560883e-02 - 2.226992161633195e-02 2.226713484518715e-02 2.226435109357777e-02 2.226157036041665e-02 2.225879263594571e-02 - 2.225601790864145e-02 2.225324618600033e-02 2.225047746610503e-02 2.224771173578603e-02 2.224494899695189e-02 - 2.224218924606724e-02 2.223943246967720e-02 2.223667867147697e-02 2.223392785229840e-02 2.223117999944780e-02 - 2.222843510958861e-02 2.222569318138216e-02 2.222295420869658e-02 2.222021819230338e-02 2.221748513172378e-02 - 2.221475501403353e-02 2.221202783347761e-02 2.220930358964832e-02 2.220658227937696e-02 2.220386389978368e-02 - 2.220114844711944e-02 2.219843591216284e-02 2.219572629440826e-02 2.219301959936691e-02 2.219031581219321e-02 - 2.218761492468887e-02 2.218491694233576e-02 2.218222185562244e-02 2.217952965986671e-02 2.217684036403281e-02 - 2.217415395419634e-02 2.217147041795686e-02 2.216878976537657e-02 2.216611199005385e-02 2.216343708084910e-02 - 2.216076504044857e-02 2.215809586407636e-02 2.215542954392592e-02 2.215276608232491e-02 2.215010547339664e-02 - 2.214744770611955e-02 2.214479278225410e-02 2.214214070177000e-02 2.213949145934428e-02 2.213684504847090e-02 - 2.213420146383213e-02 2.213156070201421e-02 2.212892275987791e-02 2.212628763520102e-02 2.212365532631548e-02 - 2.212102582567219e-02 2.211839912707401e-02 2.211577523186081e-02 2.211315413883962e-02 2.211053584219323e-02 - 2.210792033053083e-02 2.210530760247808e-02 2.210269766011106e-02 2.210009049378774e-02 2.209748609987134e-02 - 2.209488448015577e-02 2.209228563063591e-02 2.208968954607055e-02 2.208709622107550e-02 2.208450564887732e-02 - 2.208191782589816e-02 2.207933275252874e-02 2.207675042560285e-02 2.207417084119970e-02 2.207159399606388e-02 - 2.206901988424427e-02 2.206644850045388e-02 2.206387984291528e-02 2.206131390816773e-02 2.205875069196218e-02 - 2.205619019101501e-02 2.205363240248722e-02 2.205107732226570e-02 2.204852494231603e-02 2.204597526222870e-02 - 2.204342828418220e-02 2.204088399409952e-02 2.203834238815479e-02 2.203580347352047e-02 2.203326724064265e-02 - 2.203073368487589e-02 2.202820281109562e-02 2.202567460568826e-02 2.202314905892956e-02 2.202062617713913e-02 - 2.201810595951965e-02 2.201558839960293e-02 2.201307348855861e-02 2.201056122699519e-02 2.200805161543166e-02 - 2.200554464185156e-02 2.200304030240887e-02 2.200053859846551e-02 2.199803952619762e-02 2.199554308107517e-02 - 2.199304925941878e-02 2.199055805969111e-02 2.198806947716193e-02 2.198558350490501e-02 2.198310014348315e-02 - 2.198061939050182e-02 2.197814123774413e-02 2.197566568143648e-02 2.197319271829654e-02 2.197072234409288e-02 - 2.196825456242376e-02 2.196578937054303e-02 2.196332674903257e-02 2.196086670076693e-02 2.195840923401799e-02 - 2.195595433798292e-02 2.195350200785295e-02 2.195105224287541e-02 2.194860503638501e-02 2.194616038337459e-02 - 2.194371828086876e-02 2.194127872478465e-02 2.193884171275727e-02 2.193640724439015e-02 2.193397531871202e-02 - 2.193154592984012e-02 2.192911906730429e-02 2.192669472874541e-02 2.192427291582612e-02 2.192185362988310e-02 - 2.191943685926103e-02 2.191702259589666e-02 2.191461084837004e-02 2.191220161094460e-02 2.190979487232746e-02 - 2.190739062981033e-02 2.190498888177591e-02 2.190258962778606e-02 2.190019287048831e-02 2.189779860038415e-02 - 2.189540680312951e-02 2.189301748590321e-02 2.189063064823816e-02 2.188824627921663e-02 2.188586438035036e-02 - 2.188348494945867e-02 2.188110797669410e-02 2.187873346273279e-02 2.187636140793982e-02 2.187399180563438e-02 - 2.187162464701073e-02 2.186925992764394e-02 2.186689765219864e-02 2.186453782016761e-02 2.186218042520733e-02 - 2.185982545624109e-02 2.185747291143151e-02 2.185512279286289e-02 2.185277509428750e-02 2.185042981497303e-02 - 2.184808695595145e-02 2.184574650317918e-02 2.184340845337333e-02 2.184107281435048e-02 2.183873957690715e-02 - 2.183640873122354e-02 2.183408027442373e-02 2.183175421068970e-02 2.182943053984947e-02 2.182710925220595e-02 - 2.182479034512406e-02 2.182247381639650e-02 2.182015965839264e-02 2.181784786935527e-02 2.181553844939510e-02 - 2.181323139439093e-02 2.181092669994856e-02 2.180862436262286e-02 2.180632438083940e-02 2.180402674952244e-02 - 2.180173146217098e-02 2.179943851892379e-02 2.179714791838810e-02 2.179485965603752e-02 2.179257372764807e-02 - 2.179029013045416e-02 2.178800886254997e-02 2.178572991731780e-02 2.178345329019238e-02 2.178117898198011e-02 - 2.177890698980304e-02 2.177663730909087e-02 2.177436993586566e-02 2.177210486810286e-02 2.176984210277431e-02 - 2.176758163245009e-02 2.176532345522340e-02 2.176306757137086e-02 2.176081397536724e-02 2.175856266623576e-02 - 2.175631364444715e-02 2.175406689861889e-02 2.175182242380624e-02 2.174958022311289e-02 2.174734029291431e-02 - 2.174510262809328e-02 2.174286722491656e-02 2.174063408336708e-02 2.173840320169586e-02 2.173617457340815e-02 - 2.173394819180500e-02 2.173172405255836e-02 2.172950215559655e-02 2.172728250040623e-02 2.172506508580887e-02 - 2.172284990969628e-02 2.172063696250313e-02 2.171842623537083e-02 2.171621773566752e-02 2.171401146093844e-02 - 2.171180740120238e-02 2.170960555830954e-02 2.170740592901658e-02 2.170520850408856e-02 2.170301328419004e-02 - 2.170082027006994e-02 2.169862945830807e-02 2.169644084240343e-02 2.169425441572978e-02 2.169207017401216e-02 - 2.168988812007480e-02 2.168770825534887e-02 2.168553057272023e-02 2.168335506533793e-02 2.168118172867985e-02 - 2.167901056214399e-02 2.167684156632982e-02 2.167467473989915e-02 2.167251007478243e-02 2.167034756604321e-02 - 2.166818721221639e-02 2.166602901099679e-02 2.166387295840019e-02 2.166171905012346e-02 2.165956728718834e-02 - 2.165741766632386e-02 2.165527017845730e-02 2.165312482355555e-02 2.165098160273919e-02 2.164884051303741e-02 - 2.164670154730472e-02 2.164456469954934e-02 2.164242996946321e-02 2.164029735885670e-02 2.163816686523918e-02 - 2.163603847533059e-02 2.163391219068715e-02 2.163178801684997e-02 2.162966593882407e-02 2.162754595404139e-02 - 2.162542806873079e-02 2.162331227177066e-02 2.162119856181649e-02 2.161908694674025e-02 2.161697741144211e-02 - 2.161486994763257e-02 2.161276456243416e-02 2.161066125301312e-02 2.160856001324272e-02 2.160646083892226e-02 - 2.160436373197112e-02 2.160226869104043e-02 2.160017570438035e-02 2.159808476849354e-02 2.159599588501710e-02 - 2.159390905460169e-02 2.159182427010056e-02 2.158974152429478e-02 2.158766082444429e-02 2.158558216760809e-02 - 2.158350554187339e-02 2.158143094233737e-02 2.157935837033232e-02 2.157728782941571e-02 2.157521931196140e-02 - 2.157315281164952e-02 2.157108832745493e-02 2.156902585566251e-02 2.156696539445298e-02 2.156490694526656e-02 - 2.156285049964247e-02 2.156079605212440e-02 2.155874360997529e-02 2.155669316474123e-02 2.155464470676604e-02 - 2.155259824484399e-02 2.155055377365348e-02 2.154851128035285e-02 2.154647076406023e-02 2.154443222886153e-02 - 2.154239567713112e-02 2.154036109691455e-02 2.153832848380287e-02 2.153629784162443e-02 2.153426916110383e-02 - 2.153224243839968e-02 2.153021767928900e-02 2.152819487735599e-02 2.152617402486068e-02 2.152415511969989e-02 - 2.152213816346627e-02 2.152012315489333e-02 2.151811008517867e-02 2.151609895106827e-02 2.151408975350627e-02 - 2.151208249405811e-02 2.151007716412923e-02 2.150807375412716e-02 2.150607227139823e-02 2.150407271389111e-02 - 2.150207507178008e-02 2.150007934512424e-02 2.149808553345600e-02 2.149609363244227e-02 2.149410363369511e-02 - 2.149211553597770e-02 2.149012934592863e-02 2.148814505588094e-02 2.148616265955859e-02 2.148418215959600e-02 - 2.148220354775919e-02 2.148022681859241e-02 2.147825198020547e-02 2.147627902590631e-02 2.147430794498996e-02 - 2.147233873858447e-02 2.147037140717467e-02 2.146840594879004e-02 2.146644235912430e-02 2.146448063553682e-02 - 2.146252077578778e-02 2.146056277288728e-02 2.145860662318243e-02 2.145665232726965e-02 2.145469988438242e-02 - 2.145274929256557e-02 2.145080054831608e-02 2.144885364454498e-02 2.144690857746641e-02 2.144496534942983e-02 - 2.144302395654175e-02 2.144108439499599e-02 2.143914666610025e-02 2.143721076355154e-02 2.143527668029283e-02 - 2.143334441800114e-02 2.143141397685691e-02 2.142948535268880e-02 2.142755853497146e-02 2.142563352602930e-02 - 2.142371033388222e-02 2.142178894500280e-02 2.141986935358769e-02 2.141795156402302e-02 2.141603556793572e-02 - 2.141412136230918e-02 2.141220895321441e-02 2.141029833297722e-02 2.140838949470163e-02 2.140648244009975e-02 - 2.140457716697424e-02 2.140267367166504e-02 2.140077195168551e-02 2.139887200433115e-02 2.139697382547902e-02 - 2.139507740888590e-02 2.139318275720074e-02 2.139128987343195e-02 2.138939874415982e-02 2.138750936775835e-02 - 2.138562175102568e-02 2.138373588641631e-02 2.138185176599392e-02 2.137996938652284e-02 2.137808875223814e-02 - 2.137620986251236e-02 2.137433270909064e-02 2.137245728978030e-02 2.137058360186242e-02 2.136871163953864e-02 - 2.136684140688612e-02 2.136497290390506e-02 2.136310611597474e-02 2.136124104345297e-02 2.135937769212130e-02 - 2.135751605860686e-02 2.135565613610374e-02 2.135379791822062e-02 2.135194140402438e-02 2.135008659417071e-02 - 2.134823348788390e-02 2.134638207760105e-02 2.134453236032835e-02 2.134268433814086e-02 2.134083800772077e-02 - 2.133899336411597e-02 2.133715040305821e-02 2.133530912424798e-02 2.133346952672500e-02 2.133163160670673e-02 - 2.132979536297411e-02 2.132796079152963e-02 2.132612788229375e-02 2.132429663915477e-02 2.132246706798375e-02 - 2.132063916037057e-02 2.131881290769116e-02 2.131698830582932e-02 2.131516535978050e-02 2.131334407028698e-02 - 2.131152443198118e-02 2.130970643552249e-02 2.130789007885127e-02 2.130607536669811e-02 2.130426229682303e-02 - 2.130245086421657e-02 2.130064106313053e-02 2.129883288837854e-02 2.129702633875496e-02 2.129522141788389e-02 - 2.129341812290223e-02 2.129161644909972e-02 2.128981639414264e-02 2.128801795585396e-02 2.128622113110773e-02 - 2.128442591509673e-02 2.128263230760480e-02 2.128084030772261e-02 2.127904990395241e-02 2.127726109953179e-02 - 2.127547390424031e-02 2.127368830171838e-02 2.127190428479188e-02 2.127012186038021e-02 2.126834102886177e-02 - 2.126656178481652e-02 2.126478411995624e-02 2.126300803603507e-02 2.126123353191450e-02 2.125946059821390e-02 - 2.125768923851055e-02 2.125591945439615e-02 2.125415123382016e-02 2.125238457915817e-02 2.125061949358618e-02 - 2.124885596288304e-02 2.124709398735697e-02 2.124533357303348e-02 2.124357470952245e-02 2.124181739435340e-02 - 2.124006163206048e-02 2.123830741948956e-02 2.123655475001017e-02 2.123480361731545e-02 2.123305402409987e-02 - 2.123130596739953e-02 2.122955943693203e-02 2.122781443910126e-02 2.122607097723360e-02 2.122432904130337e-02 - 2.122258862659696e-02 2.122084973282204e-02 2.121911236175234e-02 2.121737650789419e-02 2.121564216387619e-02 - 2.121390932803162e-02 2.121217800425756e-02 2.121044819455527e-02 2.120871988671843e-02 2.120699307684077e-02 - 2.120526776795157e-02 2.120354395552526e-02 2.120182163603621e-02 2.120010080901829e-02 2.119838147500087e-02 - 2.119666363123091e-02 2.119494727091758e-02 2.119323238927472e-02 2.119151898655034e-02 2.118980706773010e-02 - 2.118809662574528e-02 2.118638765303925e-02 2.118468015121633e-02 2.118297411864271e-02 2.118126955146517e-02 - 2.117956644637810e-02 2.117786480292237e-02 2.117616462067450e-02 2.117446589411339e-02 2.117276862084477e-02 - 2.117107280130004e-02 2.116937843379139e-02 2.116768551256503e-02 2.116599403067535e-02 2.116430399205533e-02 - 2.116261539753040e-02 2.116092824074994e-02 2.115924251858398e-02 2.115755822756320e-02 2.115587536308644e-02 - 2.115419393062315e-02 2.115251393109511e-02 2.115083534999197e-02 2.114915818684827e-02 2.114748244571777e-02 - 2.114580812117730e-02 2.114413521000233e-02 2.114246371011731e-02 2.114079361630021e-02 2.113912493113981e-02 - 2.113745765864524e-02 2.113579178347091e-02 2.113412730283017e-02 2.113246422731517e-02 2.113080255018658e-02 - 2.112914226466844e-02 2.112748336987266e-02 2.112582586239263e-02 2.112416973838773e-02 2.112251499585494e-02 - 2.112086163946853e-02 2.111920966923609e-02 2.111755907231158e-02 2.111590984741022e-02 2.111426199652882e-02 - 2.111261551330255e-02 2.111097039854193e-02 2.110932665501722e-02 2.110768427494188e-02 2.110604325159932e-02 - 2.110440358337455e-02 2.110276527755971e-02 2.110112832954347e-02 2.109949272542061e-02 2.109785847270291e-02 - 2.109622557382813e-02 2.109459401840321e-02 2.109296380279178e-02 2.109133492634166e-02 2.108970738897449e-02 - 2.108808119187406e-02 2.108645633261542e-02 2.108483280177793e-02 2.108321059649476e-02 2.108158971816587e-02 - 2.107997016818712e-02 2.107835194176262e-02 2.107673503228282e-02 2.107511943992769e-02 2.107350516482023e-02 - 2.107189220511111e-02 2.107028055587330e-02 2.106867021606288e-02 2.106706118735907e-02 2.106545346293816e-02 - 2.106384703796383e-02 2.106224191316689e-02 2.106063808955507e-02 2.105903556250238e-02 2.105743432153898e-02 - 2.105583437513380e-02 2.105423572746437e-02 2.105263836035830e-02 2.105104227142354e-02 2.104944746729932e-02 - 2.104785395134047e-02 2.104626171573087e-02 2.104467074966839e-02 2.104308105452007e-02 2.104149263222363e-02 - 2.103990548218236e-02 2.103831959968388e-02 2.103673498293864e-02 2.103515163200819e-02 2.103356953798411e-02 - 2.103198869775456e-02 2.103040911733209e-02 2.102883079574534e-02 2.102725372695269e-02 2.102567790273802e-02 - 2.102410332486244e-02 2.102252999507990e-02 2.102095790737760e-02 2.101938706174730e-02 2.101781745879964e-02 - 2.101624909192282e-02 2.101468195450770e-02 2.101311604447429e-02 2.101155137000445e-02 2.100998792857284e-02 - 2.100842571064132e-02 2.100686471849675e-02 2.100530495078897e-02 2.100374640001838e-02 2.100218906014547e-02 - 2.100063293273019e-02 2.099907802537045e-02 2.099752433031871e-02 2.099597184169578e-02 2.099442056340826e-02 - 2.099287048844137e-02 2.099132161182849e-02 2.098977394056553e-02 2.098822746767990e-02 2.098668218492037e-02 - 2.098513809937855e-02 2.098359520656010e-02 2.098205349870481e-02 2.098051298433238e-02 2.097897365788888e-02 - 2.097743550607582e-02 2.097589853771057e-02 2.097436275317134e-02 2.097282814179318e-02 2.097129470444368e-02 - 2.096976244194844e-02 2.096823135057212e-02 2.096670142502171e-02 2.096517266432222e-02 2.096364507294766e-02 - 2.096211864290872e-02 2.096059336882086e-02 2.095906925902597e-02 2.095754630598820e-02 2.095602449947026e-02 - 2.095450384463222e-02 2.095298434369944e-02 2.095146599313072e-02 2.094994878341327e-02 2.094843271500539e-02 - 2.094691779352117e-02 2.094540401073429e-02 2.094389136288097e-02 2.094237985194064e-02 2.094086947133280e-02 - 2.093936021927527e-02 2.093785210108921e-02 2.093634511142213e-02 2.093483924325246e-02 2.093333449385128e-02 - 2.093183086645815e-02 2.093032836253444e-02 2.092882697593887e-02 2.092732670311165e-02 2.092582754108962e-02 - 2.092432948474122e-02 2.092283253800634e-02 2.092133670446908e-02 2.091984196956714e-02 2.091834833166288e-02 - 2.091685579922333e-02 2.091536436905392e-02 2.091387403364116e-02 2.091238478662568e-02 2.091089663391256e-02 - 2.090940957508328e-02 2.090792359986955e-02 2.090643871032298e-02 2.090495490818039e-02 2.090347218811059e-02 - 2.090199054718417e-02 2.090050998308706e-02 2.089903049243704e-02 2.089755207414248e-02 2.089607472810411e-02 - 2.089459845325996e-02 2.089312324594328e-02 2.089164910255710e-02 2.089017602427597e-02 2.088870401009232e-02 - 2.088723305634642e-02 2.088576315893389e-02 2.088429431601771e-02 2.088282652696964e-02 2.088135978615913e-02 - 2.087989409321534e-02 2.087842945395569e-02 2.087696586275656e-02 2.087550331287119e-02 2.087404180207852e-02 - 2.087258132736208e-02 2.087112188861259e-02 2.086966349090147e-02 2.086820612891688e-02 2.086674979608584e-02 - 2.086529449590395e-02 2.086384022331517e-02 2.086238697045790e-02 2.086093474039187e-02 2.085948353444753e-02 - 2.085803335091995e-02 2.085658418796912e-02 2.085513604081134e-02 2.085368890289571e-02 2.085224277300881e-02 - 2.085079765267601e-02 2.084935354393509e-02 2.084791044341373e-02 2.084646834711395e-02 2.084502725286095e-02 - 2.084358715744794e-02 2.084214805848912e-02 2.084070995598070e-02 2.083927284909677e-02 2.083783673573611e-02 - 2.083640161226469e-02 2.083496747523998e-02 2.083353432223483e-02 2.083210215303235e-02 2.083067096927498e-02 - 2.082924077044086e-02 2.082781154460241e-02 2.082638329211299e-02 2.082495602309350e-02 2.082352972509603e-02 - 2.082210439277076e-02 2.082068003454410e-02 2.081925664261260e-02 2.081783421113447e-02 2.081641274508624e-02 - 2.081499224082686e-02 2.081357269450268e-02 2.081215410878219e-02 2.081073647873721e-02 2.080931979776872e-02 - 2.080790406592918e-02 2.080648928500749e-02 2.080507545608266e-02 2.080366257645188e-02 2.080225063919177e-02 - 2.080083963814898e-02 2.079942957984240e-02 2.079802046255642e-02 2.079661227641324e-02 2.079520502452446e-02 - 2.079379870732677e-02 2.079239331877295e-02 2.079098886066600e-02 2.078958533155146e-02 2.078818272238310e-02 - 2.078678103594075e-02 2.078538027480030e-02 2.078398043169412e-02 2.078258150517176e-02 2.078118349582184e-02 - 2.077978640032045e-02 2.077839021518007e-02 2.077699493798996e-02 2.077560056860569e-02 2.077420710626992e-02 - 2.077281454908150e-02 2.077142289397691e-02 2.077003213665487e-02 2.076864227381708e-02 2.076725331084939e-02 - 2.076586524753700e-02 2.076447807479244e-02 2.076309178893910e-02 2.076170639200464e-02 2.076032188924749e-02 - 2.075893827075576e-02 2.075755552867013e-02 2.075617367037054e-02 2.075479269394757e-02 2.075341259415677e-02 - 2.075203337133167e-02 2.075065502119062e-02 2.074927754004291e-02 2.074790093527532e-02 2.074652520196147e-02 - 2.074515032814618e-02 2.074377631824518e-02 2.074240317461906e-02 2.074103089389617e-02 2.073965947285912e-02 - 2.073828890806665e-02 2.073691919635770e-02 2.073555033844026e-02 2.073418233381763e-02 2.073281517823886e-02 - 2.073144886803073e-02 2.073008340377233e-02 2.072871879147831e-02 2.072735502222402e-02 2.072599208688765e-02 - 2.072462999392301e-02 2.072326873860233e-02 2.072190831224300e-02 2.072054872378210e-02 2.071918997148765e-02 - 2.071783204556565e-02 2.071647494755481e-02 2.071511867766477e-02 2.071376323196711e-02 2.071240860565183e-02 - 2.071105479791370e-02 2.070970181180314e-02 2.070834964331268e-02 2.070699828917085e-02 2.070564775075080e-02 - 2.070429802727900e-02 2.070294911380581e-02 2.070160100113699e-02 2.070025369244763e-02 2.069890719322030e-02 - 2.069756149841416e-02 2.069621660331007e-02 2.069487250616514e-02 2.069352920972353e-02 2.069218670843115e-02 - 2.069084499406914e-02 2.068950407478504e-02 2.068816395008570e-02 2.068682460979861e-02 2.068548605525363e-02 - 2.068414828647597e-02 2.068281129879088e-02 2.068147509294542e-02 2.068013966727868e-02 2.067880501481977e-02 - 2.067747113766845e-02 2.067613803889334e-02 2.067480571527677e-02 2.067347415977921e-02 2.067214336769299e-02 - 2.067081334319025e-02 2.066948408776949e-02 2.066815559807265e-02 2.066682786498898e-02 2.066550088830383e-02 - 2.066417467341183e-02 2.066284921698086e-02 2.066152451475288e-02 2.066020056372571e-02 2.065887736182303e-02 - 2.065755490839281e-02 2.065623320354572e-02 2.065491224367795e-02 2.065359202675738e-02 2.065227255436574e-02 - 2.065095382314874e-02 2.064963582941213e-02 2.064831857270797e-02 2.064700204957123e-02 2.064568625651786e-02 - 2.064437119414936e-02 2.064305686324694e-02 2.064174326345409e-02 2.064043039179931e-02 2.063911824280925e-02 - 2.063780681176866e-02 2.063649610237503e-02 2.063518611610314e-02 2.063387684909248e-02 2.063256829217405e-02 - 2.063126044539576e-02 2.062995331851188e-02 2.062864690334512e-02 2.062734119190086e-02 2.062603618600375e-02 - 2.062473188642144e-02 2.062342829221786e-02 2.062212540064643e-02 2.062082320714733e-02 2.061952170915304e-02 - 2.061822091004314e-02 2.061692080716460e-02 2.061562139605911e-02 2.061432267954307e-02 2.061302465323251e-02 - 2.061172730955065e-02 2.061043065371613e-02 2.060913468523504e-02 2.060783939685846e-02 2.060654478913799e-02 - 2.060525086119714e-02 2.060395760866959e-02 2.060266503271371e-02 2.060137313244415e-02 2.060008190215519e-02 - 2.059879134465455e-02 2.059750146004468e-02 2.059621223782829e-02 2.059492368052522e-02 2.059363579225837e-02 - 2.059234856405708e-02 2.059106199328788e-02 2.058977608130871e-02 2.058849082556723e-02 2.058720622498806e-02 - 2.058592227959311e-02 2.058463898696043e-02 2.058335634281647e-02 2.058207434376584e-02 2.058079299573017e-02 - 2.057951229614279e-02 2.057823223269817e-02 2.057695281356401e-02 2.057567404187197e-02 2.057439590387300e-02 - 2.057311839681732e-02 2.057184152455586e-02 2.057056529173392e-02 2.056928969078429e-02 2.056801471376779e-02 - 2.056674036634529e-02 2.056546664830153e-02 2.056419355486686e-02 2.056292108306100e-02 2.056164923170236e-02 - 2.056037800067255e-02 2.055910738924650e-02 2.055783739340399e-02 2.055656800859636e-02 2.055529924146672e-02 - 2.055403109005562e-02 2.055276354110791e-02 2.055149659755915e-02 2.055023026272679e-02 2.054896453244645e-02 - 2.054769940766287e-02 2.054643488681757e-02 2.054517096062926e-02 2.054390763218316e-02 2.054264490512525e-02 - 2.054138276915942e-02 2.054012122328143e-02 2.053886027085424e-02 2.053759990682471e-02 2.053634012878631e-02 - 2.053508093799464e-02 2.053382233647706e-02 2.053256431985532e-02 2.053130687980379e-02 2.053005001911220e-02 - 2.052879373804411e-02 2.052753803104820e-02 2.052628289842169e-02 2.052502834052905e-02 2.052377435424499e-02 - 2.052252093383405e-02 2.052126807833591e-02 2.052001579579881e-02 2.051876408076618e-02 2.051751292558091e-02 - 2.051626233431153e-02 2.051501230108543e-02 2.051376281904528e-02 2.051251389905356e-02 2.051126553806812e-02 - 2.051001772450580e-02 2.050877046477720e-02 2.050752375748313e-02 2.050627759308629e-02 2.050503197764233e-02 - 2.050378691120845e-02 2.050254238346269e-02 2.050129839647772e-02 2.050005495152270e-02 2.049881204279591e-02 - 2.049756967049427e-02 2.049632783497685e-02 2.049508653204386e-02 2.049384576061373e-02 2.049260552085964e-02 - 2.049136581124810e-02 2.049012662828215e-02 2.048888796855573e-02 2.048764983217528e-02 2.048641222055239e-02 - 2.048517513365279e-02 2.048393856449956e-02 2.048270250702790e-02 2.048146696002243e-02 2.048023193267689e-02 - 2.047899742444990e-02 2.047776342204647e-02 2.047652992557144e-02 2.047529693666283e-02 2.047406445284291e-02 - 2.047283247820367e-02 2.047160101124722e-02 2.047037003705319e-02 2.046913955996649e-02 2.046790958805229e-02 - 2.046668011290463e-02 2.046545112747173e-02 2.046422263048016e-02 2.046299462941648e-02 2.046176712182623e-02 - 2.046054009863872e-02 2.045931356011635e-02 2.045808750875261e-02 2.045686194483555e-02 2.045563685869128e-02 - 2.045441224888558e-02 2.045318812405373e-02 2.045196447539730e-02 2.045074129851060e-02 2.044951860203706e-02 - 2.044829637561388e-02 2.044707461146781e-02 2.044585332076453e-02 2.044463250090934e-02 2.044341214478788e-02 - 2.044219225389736e-02 2.044097282684260e-02 2.043975385980242e-02 2.043853534979080e-02 2.043731729516990e-02 - 2.043609969584751e-02 2.043488255365452e-02 2.043366586840525e-02 2.043244963622695e-02 2.043123384788510e-02 - 2.043001850356880e-02 2.042880361352058e-02 2.042758917125052e-02 2.042637516923373e-02 2.042516160738241e-02 - 2.042394848596822e-02 2.042273580364956e-02 2.042152355668345e-02 2.042031174421715e-02 2.041910036711696e-02 - 2.041788942589821e-02 2.041667891618270e-02 2.041546883283581e-02 2.041425917723074e-02 2.041304994671302e-02 - 2.041184113736942e-02 2.041063275507356e-02 2.040942479864618e-02 2.040821725911453e-02 2.040701013329647e-02 - 2.040580342336421e-02 2.040459713364973e-02 2.040339125626194e-02 2.040218578748979e-02 2.040098073437600e-02 - 2.039977609190064e-02 2.039857185194057e-02 2.039736801200263e-02 2.039616457948628e-02 2.039496155847034e-02 - 2.039375893548800e-02 2.039255670811317e-02 2.039135487906758e-02 2.039015344139171e-02 2.038895239754324e-02 - 2.038775175394349e-02 2.038655150008423e-02 2.038535163468296e-02 2.038415216492024e-02 2.038295307932101e-02 - 2.038175437156158e-02 2.038055604740632e-02 2.037935811014152e-02 2.037816055719221e-02 2.037696338008003e-02 - 2.037576657774965e-02 2.037457015197002e-02 2.037337410306159e-02 2.037217842811476e-02 2.037098312337542e-02 - 2.036978818702816e-02 2.036859361901312e-02 2.036739941883561e-02 2.036620558232109e-02 2.036501210897116e-02 - 2.036381899981477e-02 2.036262624936801e-02 2.036143385733716e-02 2.036024182706139e-02 2.035905014947786e-02 - 2.035785882153747e-02 2.035666784977269e-02 2.035547723079831e-02 2.035428696142468e-02 2.035309704319765e-02 - 2.035190747134853e-02 2.035071824110532e-02 2.034952935293085e-02 2.034834080749865e-02 2.034715260430401e-02 - 2.034596474052595e-02 2.034477721202228e-02 2.034359001578161e-02 2.034240315367684e-02 2.034121662664043e-02 - 2.034003043357028e-02 2.033884457132868e-02 2.033765903741480e-02 2.033647382949949e-02 2.033528894162872e-02 - 2.033410437471255e-02 2.033292013620119e-02 2.033173621775026e-02 2.033055261459435e-02 2.032936933387398e-02 - 2.032818637173341e-02 2.032700371995237e-02 2.032582137330103e-02 2.032463934032926e-02 2.032345762721536e-02 - 2.032227621977112e-02 2.032109511380310e-02 2.031991431266943e-02 2.031873381713771e-02 2.031755362367381e-02 - 2.031637372822898e-02 2.031519413522404e-02 2.031401484060572e-02 2.031283583475656e-02 2.031165712768451e-02 - 2.031047872082618e-02 2.030930060067025e-02 2.030812276414845e-02 2.030694521582938e-02 2.030576796297434e-02 - 2.030459099391277e-02 2.030341430130414e-02 2.030223789822972e-02 2.030106177803277e-02 2.029988592949474e-02 - 2.029871035725545e-02 2.029753506661443e-02 2.029636005659757e-02 2.029518531267896e-02 2.029401083596470e-02 - 2.029283663654064e-02 2.029166270589052e-02 2.029048903923464e-02 2.028931563858370e-02 2.028814250195392e-02 - 2.028696962711050e-02 2.028579701358946e-02 2.028462466440920e-02 2.028345257575578e-02 2.028228073462766e-02 - 2.028110914546667e-02 2.027993781542017e-02 2.027876674182124e-02 2.027759591671596e-02 2.027642533515473e-02 - 2.027525500323221e-02 2.027408491983729e-02 2.027291508043819e-02 2.027174548650143e-02 2.027057613494678e-02 - 2.026940701983228e-02 2.026823814087089e-02 2.026706949898955e-02 2.026590109425394e-02 2.026473292320746e-02 - 2.026356498366547e-02 2.026239727592488e-02 2.026122979922282e-02 2.026006255023894e-02 2.025889552388743e-02 - 2.025772872449768e-02 2.025656215399196e-02 2.025539580342713e-02 2.025422967119250e-02 2.025306375830951e-02 - 2.025189806183918e-02 2.025073258129647e-02 2.024956731656576e-02 2.024840226339874e-02 2.024723742127980e-02 - 2.024607279125879e-02 2.024490836776212e-02 2.024374415071052e-02 2.024258014353189e-02 2.024141633571028e-02 - 2.024025272656142e-02 2.023908932762591e-02 2.023792612793740e-02 2.023676312010299e-02 2.023560031179207e-02 - 2.023443769779265e-02 2.023327527310789e-02 2.023211304323675e-02 2.023095100708355e-02 2.022978916007167e-02 - 2.022862749919407e-02 2.022746602379288e-02 2.022630473371739e-02 2.022514362648272e-02 2.022398270121405e-02 - 2.022282195791762e-02 2.022166139402294e-02 2.022050100551405e-02 2.021934078921764e-02 2.021818074920451e-02 - 2.021702088593813e-02 2.021586119314628e-02 2.021470166428228e-02 2.021354230080554e-02 2.021238311308448e-02 - 2.021122409287018e-02 2.021006523025651e-02 2.020890652716039e-02 2.020774798484683e-02 2.020658960393083e-02 - 2.020543138529554e-02 2.020427332378045e-02 2.020311541298552e-02 2.020195765397637e-02 2.020080004744672e-02 - 2.019964259236717e-02 2.019848528642001e-02 2.019732812869024e-02 2.019617111926010e-02 2.019501425544548e-02 - 2.019385753379127e-02 2.019270095135025e-02 2.019154450793482e-02 2.019038820298517e-02 2.018923203417478e-02 - 2.018807600019563e-02 2.018692010151906e-02 2.018576433995726e-02 2.018460870891364e-02 2.018345320296787e-02 - 2.018229782843392e-02 2.018114258172615e-02 2.017998745649097e-02 2.017883245877245e-02 2.017767758620927e-02 - 2.017652283054322e-02 2.017536819223788e-02 2.017421367319040e-02 2.017305927292809e-02 2.017190498313902e-02 - 2.017075080461503e-02 2.016959674752286e-02 2.016844280049332e-02 2.016728895684716e-02 2.016613522539111e-02 - 2.016498159847723e-02 2.016382807033869e-02 2.016267465040216e-02 2.016152133310211e-02 2.016036811076429e-02 - 2.015921498985646e-02 2.015806197025070e-02 2.015690904702832e-02 2.015575621731957e-02 2.015460347791708e-02 - 2.015345082711757e-02 2.015229826996444e-02 2.015114580452791e-02 2.014999342256183e-02 2.014884112402139e-02 - 2.014768891079059e-02 2.014653678283008e-02 2.014538473229735e-02 2.014423275838842e-02 2.014308087159530e-02 - 2.014192906336537e-02 2.014077732405132e-02 2.013962565684693e-02 2.013847406112768e-02 2.013732253607323e-02 - 2.013617108558620e-02 2.013501970367529e-02 2.013386838304751e-02 2.013271713092954e-02 2.013156594450895e-02 - 2.013041481517404e-02 2.012926374836556e-02 2.012811274375330e-02 2.012696179396415e-02 2.012581089842930e-02 - 2.012466005832842e-02 2.012350927388322e-02 2.012235854139777e-02 2.012120785897021e-02 2.012005722808521e-02 - 2.011890664240422e-02 2.011775609861771e-02 2.011660560342765e-02 2.011545514995805e-02 2.011430473248947e-02 - 2.011315436328775e-02 2.011200403690588e-02 2.011085374071231e-02 2.010970347811273e-02 2.010855325123000e-02 - 2.010740305829795e-02 2.010625289543029e-02 2.010510276184403e-02 2.010395265874816e-02 2.010280258124321e-02 - 2.010165252783862e-02 2.010050250168409e-02 2.009935249835288e-02 2.009820251528310e-02 2.009705255512517e-02 - 2.009590261098061e-02 2.009475267797075e-02 2.009360276160796e-02 2.009245286068316e-02 2.009130297235736e-02 - 2.009015309860190e-02 2.008900323371492e-02 2.008785337125678e-02 2.008670351711407e-02 2.008555367122358e-02 - 2.008440382812401e-02 2.008325398588614e-02 2.008210414433437e-02 2.008095430334925e-02 2.007980445913736e-02 - 2.007865461009197e-02 2.007750475755383e-02 2.007635489836262e-02 2.007520502856765e-02 2.007405514609401e-02 - 2.007290525369839e-02 2.007175535352643e-02 2.007060544261636e-02 2.006945551378952e-02 2.006830556246986e-02 - 2.006715559358176e-02 2.006600560685722e-02 2.006485559907452e-02 2.006370557035152e-02 2.006255552017783e-02 - 2.006140544519211e-02 2.006025533608720e-02 2.005910519424486e-02 2.005795502866486e-02 2.005680483150780e-02 - 2.005565460068358e-02 2.005450434307724e-02 2.005335404752871e-02 2.005220370751987e-02 2.005105333078331e-02 - 2.004990291380246e-02 2.004875245256121e-02 2.004760195075808e-02 2.004645140541610e-02 2.004530081249103e-02 - 2.004415017386308e-02 2.004299948719255e-02 2.004184874893760e-02 2.004069796075558e-02 2.003954711861807e-02 - 2.003839621652469e-02 2.003724525928808e-02 2.003609424691447e-02 2.003494317431652e-02 2.003379204407136e-02 - 2.003264085311753e-02 2.003148959193977e-02 2.003033826577724e-02 2.002918687817827e-02 2.002803542325049e-02 - 2.002688389828578e-02 2.002573230084169e-02 2.002458062668545e-02 2.002342887779152e-02 2.002227705716231e-02 - 2.002112516254241e-02 2.001997318998642e-02 2.001882113644655e-02 2.001766900292078e-02 2.001651678857442e-02 - 2.001536448981540e-02 2.001421210083374e-02 2.001305962366636e-02 2.001190706486020e-02 2.001075441600587e-02 - 2.000960167234195e-02 2.000844883687991e-02 2.000729590520412e-02 2.000614287591466e-02 2.000498975435740e-02 - 2.000383653574291e-02 2.000268321490327e-02 2.000152979351511e-02 2.000037626872929e-02 1.999922263743778e-02 - 1.999806890154111e-02 1.999691505794393e-02 1.999576110265488e-02 1.999460703886217e-02 1.999345286480270e-02 - 1.999229857569377e-02 1.999114417297134e-02 1.998998965543275e-02 1.998883501902821e-02 1.998768026399775e-02 - 1.998652538946059e-02 1.998537039260291e-02 1.998421527483334e-02 1.998306003351848e-02 1.998190465988335e-02 - 1.998074915750420e-02 1.997959352937345e-02 1.997843776879367e-02 1.997728187765045e-02 1.997612585705249e-02 - 1.997496969649909e-02 1.997381339760593e-02 1.997265696528752e-02 1.997150039002939e-02 1.997034367059401e-02 - 1.996918681208352e-02 1.996802981226081e-02 1.996687266788810e-02 1.996571537594770e-02 1.996455793197006e-02 - 1.996340033608642e-02 1.996224259309599e-02 1.996108470119043e-02 1.995992665416334e-02 1.995876844505867e-02 - 1.995761008193637e-02 1.995645156786617e-02 1.995529288784624e-02 1.995413404457776e-02 1.995297504246996e-02 - 1.995181586885687e-02 1.995065652904149e-02 1.994949703248385e-02 1.994833736513130e-02 1.994717752162546e-02 - 1.994601750553184e-02 1.994485731663886e-02 1.994369695406686e-02 1.994253641736701e-02 1.994137570693218e-02 - 1.994021481716852e-02 1.993905373876526e-02 1.993789248152490e-02 1.993673104732284e-02 1.993556942048493e-02 - 1.993440760773439e-02 1.993324561433191e-02 1.993208342679873e-02 1.993092104568069e-02 1.992975847582151e-02 - 1.992859571315939e-02 1.992743275300710e-02 1.992626959353599e-02 1.992510623927749e-02 1.992394268911061e-02 - 1.992277893654564e-02 1.992161497535049e-02 1.992045080942924e-02 1.991928644769617e-02 1.991812187931771e-02 - 1.991695709651699e-02 1.991579210148713e-02 1.991462689658082e-02 1.991346148075462e-02 1.991229584907280e-02 - 1.991113000189043e-02 1.990996393932216e-02 1.990879765723607e-02 1.990763115454515e-02 1.990646443148474e-02 - 1.990529748687400e-02 1.990413031580006e-02 1.990296291532720e-02 1.990179529310021e-02 1.990062744303953e-02 - 1.989945935329500e-02 1.989829103342642e-02 1.989712248515872e-02 1.989595370004318e-02 1.989478467737964e-02 - 1.989361541884726e-02 1.989244592499573e-02 1.989127618925862e-02 1.989010620674421e-02 1.988893597834538e-02 - 1.988776550466197e-02 1.988659478703524e-02 1.988542382727661e-02 1.988425261506333e-02 1.988308114268849e-02 - 1.988190942098788e-02 1.988073745006194e-02 1.987956522359536e-02 1.987839274079954e-02 1.987722000000555e-02 - 1.987604699732070e-02 1.987487372670402e-02 1.987370019241589e-02 1.987252640362364e-02 1.987135234678179e-02 - 1.987017801708705e-02 1.986900342417090e-02 1.986782856130232e-02 1.986665342124566e-02 1.986547800516037e-02 - 1.986430231940191e-02 1.986312636323797e-02 1.986195012209680e-02 1.986077359858922e-02 1.985959679883774e-02 - 1.985841971608161e-02 1.985724235007767e-02 1.985606470192896e-02 1.985488676268764e-02 1.985370853173279e-02 - 1.985253001389235e-02 1.985135120589531e-02 1.985017210671596e-02 1.984899271721913e-02 1.984781303008921e-02 - 1.984663304141680e-02 1.984545275323681e-02 1.984427216416261e-02 1.984309127447186e-02 1.984191008724042e-02 - 1.984072859600846e-02 1.983954679442092e-02 1.983836468369445e-02 1.983718226650526e-02 1.983599954091759e-02 - 1.983481649574990e-02 1.983363313683907e-02 1.983244947316962e-02 1.983126549121019e-02 1.983008118452795e-02 - 1.982889655650101e-02 1.982771161407836e-02 1.982652635127155e-02 1.982534075477381e-02 1.982415483542671e-02 - 1.982296859699974e-02 1.982178202865004e-02 1.982059512679342e-02 1.981940789099672e-02 1.981822032140366e-02 - 1.981703241807743e-02 1.981584417989424e-02 1.981465560415464e-02 1.981346669171603e-02 1.981227744136961e-02 - 1.981108784415540e-02 1.980989790130036e-02 1.980870761757638e-02 1.980751698807925e-02 1.980632600934410e-02 - 1.980513468056937e-02 1.980394300171975e-02 1.980275097143216e-02 1.980155858653555e-02 1.980036584235624e-02 - 1.979917273943820e-02 1.979797928262491e-02 1.979678546489206e-02 1.979559128379798e-02 1.979439674657348e-02 - 1.979320184217468e-02 1.979200656369760e-02 1.979081092352834e-02 1.978961491694981e-02 1.978841853542797e-02 - 1.978722178317891e-02 1.978602465925507e-02 1.978482715855289e-02 1.978362927697639e-02 1.978243101628911e-02 - 1.978123238058121e-02 1.978003336668686e-02 1.977883396860304e-02 1.977763418131442e-02 1.977643400902304e-02 - 1.977523345232920e-02 1.977403250607500e-02 1.977283117205557e-02 1.977162944865208e-02 1.977042732702634e-02 - 1.976922480613855e-02 1.976802188997964e-02 1.976681858355301e-02 1.976561487769950e-02 1.976441076369096e-02 - 1.976320624890566e-02 1.976200133147697e-02 1.976079600616600e-02 1.975959027757971e-02 1.975838414138116e-02 - 1.975717758909272e-02 1.975597062600439e-02 1.975476325369590e-02 1.975355546738499e-02 1.975234726242962e-02 - 1.975113863825908e-02 1.974992959762522e-02 1.974872013640206e-02 1.974751025163228e-02 1.974629994489470e-02 - 1.974508921425132e-02 1.974387805573186e-02 1.974266646519683e-02 1.974145444319864e-02 1.974024199150465e-02 - 1.973902910920840e-02 1.973781579519036e-02 1.973660204598839e-02 1.973538785240977e-02 1.973417321684443e-02 - 1.973295814730416e-02 1.973174263781577e-02 1.973052668253849e-02 1.972931027913797e-02 1.972809342747564e-02 - 1.972687612827085e-02 1.972565838187941e-02 1.972444018482310e-02 1.972322153363352e-02 1.972200242687443e-02 - 1.972078286440720e-02 1.971956284541047e-02 1.971834236691286e-02 1.971712142485657e-02 1.971590001741145e-02 - 1.971467814826898e-02 1.971345581852119e-02 1.971223302479186e-02 1.971100975804211e-02 1.970978601823674e-02 - 1.970856181065497e-02 1.970733713228995e-02 1.970611197806177e-02 1.970488634450282e-02 1.970366023582840e-02 - 1.970243364879734e-02 1.970120657299705e-02 1.969997901837739e-02 1.969875098677333e-02 1.969752246217473e-02 - 1.969629345274012e-02 1.969506396226801e-02 1.969383397141272e-02 1.969260348756574e-02 1.969137252109090e-02 - 1.969014105730648e-02 1.968890909233832e-02 1.968767662961491e-02 1.968644366805134e-02 1.968521020635475e-02 - 1.968397624286150e-02 1.968274177331172e-02 1.968150679588088e-02 1.968027131148579e-02 1.967903532058098e-02 - 1.967779882218197e-02 1.967656181292412e-02 1.967532428489620e-02 1.967408623811289e-02 1.967284768294825e-02 - 1.967160860971293e-02 1.967036900987211e-02 1.966912889102269e-02 1.966788825153749e-02 1.966664708600774e-02 - 1.966540539310703e-02 1.966416317292449e-02 1.966292042476060e-02 1.966167714455673e-02 1.966043333167102e-02 - 1.965918898702837e-02 1.965794410650064e-02 1.965669868705162e-02 1.965545272765306e-02 1.965420622710374e-02 - 1.965295918609461e-02 1.965171160585919e-02 1.965046347855766e-02 1.964921480087875e-02 1.964796557872257e-02 - 1.964671580769246e-02 1.964546548231519e-02 1.964421460325605e-02 1.964296317129598e-02 1.964171118580111e-02 - 1.964045864365522e-02 1.963920554157133e-02 1.963795187629582e-02 1.963669764477085e-02 1.963544284945441e-02 - 1.963418749362842e-02 1.963293156932153e-02 1.963167507295046e-02 1.963041800662418e-02 1.962916036936736e-02 - 1.962790216073956e-02 1.962664338014056e-02 1.962538401760687e-02 1.962412407160046e-02 1.962286355381917e-02 - 1.962160245501161e-02 1.962034076606272e-02 1.961907849332115e-02 1.961781563715828e-02 1.961655219371613e-02 - 1.961528815879130e-02 1.961402353224150e-02 1.961275831461461e-02 1.961149250160691e-02 1.961022609250104e-02 - 1.960895908768241e-02 1.960769148013132e-02 1.960642326897369e-02 1.960515445887448e-02 1.960388504699325e-02 - 1.960261502901453e-02 1.960134440209794e-02 1.960007316755673e-02 1.959880132269796e-02 1.959752885956289e-02 - 1.959625578572781e-02 1.959498210471557e-02 1.959370780282661e-02 1.959243287776576e-02 1.959115733236078e-02 - 1.958988116575855e-02 1.958860437570835e-02 1.958732696070351e-02 1.958604892230215e-02 1.958477025538254e-02 - 1.958349095293616e-02 1.958221102005211e-02 1.958093045820349e-02 1.957964926225915e-02 1.957836742427244e-02 - 1.957708494595253e-02 1.957580183693370e-02 1.957451808573694e-02 1.957323368588814e-02 1.957194864588927e-02 - 1.957066295908808e-02 1.956937661864716e-02 1.956808962863577e-02 1.956680198857452e-02 1.956551369740821e-02 - 1.956422475810978e-02 1.956293516289206e-02 1.956164490198652e-02 1.956035397935251e-02 1.955906239928264e-02 - 1.955777016187055e-02 1.955647725858155e-02 1.955518368630142e-02 1.955388944730695e-02 1.955259453790914e-02 - 1.955129895574477e-02 1.955000270138056e-02 1.954870577278503e-02 1.954740816848287e-02 1.954610988870274e-02 - 1.954481093111385e-02 1.954351129226784e-02 1.954221096901902e-02 1.954090996078360e-02 1.953960826724446e-02 - 1.953830588603245e-02 1.953700281656794e-02 1.953569905855491e-02 1.953439460897686e-02 1.953308946443935e-02 - 1.953178362233442e-02 1.953047708245082e-02 1.952916984426731e-02 1.952786190592496e-02 1.952655326324738e-02 - 1.952524391408689e-02 1.952393385929222e-02 1.952262309949111e-02 1.952131163370209e-02 1.951999945844595e-02 - 1.951868656751035e-02 1.951737295829730e-02 1.951605863555755e-02 1.951474359789877e-02 1.951342784097203e-02 - 1.951211136184995e-02 1.951079415956861e-02 1.950947623396647e-02 1.950815758387342e-02 1.950683820574165e-02 - 1.950551809587482e-02 1.950419725560715e-02 1.950287568354725e-02 1.950155337574423e-02 1.950023033242808e-02 - 1.949890655251627e-02 1.949758203322258e-02 1.949625677745909e-02 1.949493078034667e-02 1.949360402739089e-02 - 1.949227653112452e-02 1.949094829757290e-02 1.948961930480046e-02 1.948828955781861e-02 1.948695906691206e-02 - 1.948562782150981e-02 1.948429581598615e-02 1.948296304982478e-02 1.948162952319633e-02 1.948029523591830e-02 - 1.947896018726217e-02 1.947762437581102e-02 1.947628779922486e-02 1.947495045397724e-02 1.947361233489661e-02 - 1.947227344348770e-02 1.947093378593678e-02 1.946959335022997e-02 1.946825212971076e-02 1.946691013283964e-02 - 1.946556736109183e-02 1.946422381089845e-02 1.946287947598024e-02 1.946153435147304e-02 1.946018843640089e-02 - 1.945884173551620e-02 1.945749424593349e-02 1.945614596164208e-02 1.945479688244431e-02 1.945344700980195e-02 - 1.945209634356683e-02 1.945074487666461e-02 1.944939260492236e-02 1.944803952905332e-02 1.944668565282712e-02 - 1.944533097303948e-02 1.944397548026850e-02 1.944261917903520e-02 1.944126207147254e-02 1.943990414971487e-02 - 1.943854540610747e-02 1.943718584222317e-02 1.943582547177293e-02 1.943446428245481e-02 1.943310226105812e-02 - 1.943173942068859e-02 1.943037575924362e-02 1.942901126749138e-02 1.942764594793762e-02 1.942627979717840e-02 - 1.942491280913776e-02 1.942354498868186e-02 1.942217633546996e-02 1.942080684436220e-02 1.941943651933332e-02 - 1.941806535493775e-02 1.941669333695301e-02 1.941532047644210e-02 1.941394677715704e-02 1.941257222315028e-02 - 1.941119681542690e-02 1.940982056035791e-02 1.940844345901757e-02 1.940706550055424e-02 1.940568667678698e-02 - 1.940430699663802e-02 1.940292645883611e-02 1.940154505765652e-02 1.940016279578962e-02 1.939877966977487e-02 - 1.939739567223053e-02 1.939601080219835e-02 1.939462506233509e-02 1.939323845462366e-02 1.939185096971125e-02 - 1.939046260516801e-02 1.938907336764642e-02 1.938768325184633e-02 1.938629225021856e-02 1.938490035911401e-02 - 1.938350758330235e-02 1.938211392651081e-02 1.938071938447496e-02 1.937932394922459e-02 1.937792761695239e-02 - 1.937653039473651e-02 1.937513227779157e-02 1.937373325789699e-02 1.937233333934693e-02 1.937093252080456e-02 - 1.936953079702195e-02 1.936812816928827e-02 1.936672463690015e-02 1.936532019607867e-02 1.936391484345597e-02 - 1.936250857586552e-02 1.936110139138094e-02 1.935969329410197e-02 1.935828428412852e-02 1.935687435366041e-02 - 1.935546349795341e-02 1.935405171682407e-02 1.935263901452006e-02 1.935122538845629e-02 1.934981083240821e-02 - 1.934839534117787e-02 1.934697891910190e-02 1.934556156924906e-02 1.934414327695751e-02 1.934272404361874e-02 - 1.934130387854031e-02 1.933988276959641e-02 1.933846071416343e-02 1.933703771882020e-02 1.933561377409585e-02 - 1.933418887831357e-02 1.933276303945045e-02 1.933133624375953e-02 1.932990848653697e-02 1.932847978247962e-02 - 1.932705012296452e-02 1.932561949662077e-02 1.932418790536504e-02 1.932275535526071e-02 1.932132184669807e-02 - 1.931988736608416e-02 1.931845191123332e-02 1.931701548648173e-02 1.931557809132799e-02 1.931413972218449e-02 - 1.931270037603072e-02 1.931126005688787e-02 1.930981875761609e-02 1.930837646527647e-02 1.930693319154590e-02 - 1.930548893938918e-02 1.930404369700001e-02 1.930259746628386e-02 1.930115024647330e-02 1.929970202824377e-02 - 1.929825281461415e-02 1.929680260792617e-02 1.929535140092010e-02 1.929389919235001e-02 1.929244598266550e-02 - 1.929099176842190e-02 1.928953654639375e-02 1.928808031414528e-02 1.928662307035359e-02 1.928516481711372e-02 - 1.928370555611205e-02 1.928224527966380e-02 1.928078398206115e-02 1.927932166173262e-02 1.927785831899656e-02 - 1.927639395364510e-02 1.927492856464996e-02 1.927346215243780e-02 1.927199471282116e-02 1.927052623652251e-02 - 1.926905672766994e-02 1.926758618873705e-02 1.926611461056382e-02 1.926464199150991e-02 1.926316833245443e-02 - 1.926169363057714e-02 1.926021788634381e-02 1.925874109903830e-02 1.925726325940621e-02 1.925578436860509e-02 - 1.925430443199749e-02 1.925282343948819e-02 1.925134138889128e-02 1.924985828498051e-02 1.924837411847957e-02 - 1.924688888599618e-02 1.924540259377309e-02 1.924391524090012e-02 1.924242682077230e-02 1.924093732460676e-02 - 1.923944675829762e-02 1.923795512510602e-02 1.923646241448938e-02 1.923496862521413e-02 1.923347375911634e-02 - 1.923197781292445e-02 1.923048078180134e-02 1.922898266296426e-02 1.922748346006174e-02 1.922598317069195e-02 - 1.922448178990142e-02 1.922297932164773e-02 1.922147575963824e-02 1.921997109174737e-02 1.921846532805457e-02 - 1.921695846861228e-02 1.921545049993734e-02 1.921394143207274e-02 1.921243126559395e-02 1.921091998083786e-02 - 1.920940758472120e-02 1.920789408374423e-02 1.920637946562360e-02 1.920486373146851e-02 1.920334688393281e-02 - 1.920182891329169e-02 1.920030981699324e-02 1.919878959725658e-02 1.919726825432456e-02 1.919574578635056e-02 - 1.919422218928470e-02 1.919269745661605e-02 1.919117158884151e-02 1.918964459045353e-02 1.918811645370936e-02 - 1.918658717454346e-02 1.918505675553962e-02 1.918352519296369e-02 1.918199248296462e-02 1.918045862469436e-02 - 1.917892361805418e-02 1.917738746182788e-02 1.917585015265352e-02 1.917431168820606e-02 1.917277206550804e-02 - 1.917123127946213e-02 1.916968933132487e-02 1.916814622316750e-02 1.916660194885779e-02 1.916505650873668e-02 - 1.916350990423480e-02 1.916196212155291e-02 1.916041316033273e-02 1.915886303062994e-02 1.915731172194125e-02 - 1.915575922930148e-02 1.915420555876758e-02 1.915265070860661e-02 1.915109467332810e-02 1.914953744666585e-02 - 1.914797902645569e-02 1.914641941412443e-02 1.914485861314037e-02 1.914329661713828e-02 1.914173341932142e-02 - 1.914016902223032e-02 1.913860342379879e-02 1.913703662029905e-02 1.913546861279183e-02 1.913389939805644e-02 - 1.913232897075573e-02 1.913075733118505e-02 1.912918447844714e-02 1.912761040908805e-02 1.912603511839811e-02 - 1.912445860715432e-02 1.912288088009771e-02 1.912130192853472e-02 1.911972174626816e-02 1.911814033569584e-02 - 1.911655769224527e-02 1.911497381452394e-02 1.911338870990516e-02 1.911180236957772e-02 1.911021478317005e-02 - 1.910862595492130e-02 1.910703588697045e-02 1.910544457683553e-02 1.910385201685182e-02 1.910225820527016e-02 - 1.910066314375077e-02 1.909906682830796e-02 1.909746925477876e-02 1.909587042200599e-02 1.909427033688354e-02 - 1.909266899402551e-02 1.909106637643193e-02 1.908946249114346e-02 1.908785734491775e-02 1.908625093213804e-02 - 1.908464324204344e-02 1.908303427175084e-02 1.908142403234494e-02 1.907981251534393e-02 1.907819971100440e-02 - 1.907658562789714e-02 1.907497026158614e-02 1.907335360333112e-02 1.907173565762024e-02 1.907011642370295e-02 - 1.906849589616872e-02 1.906687407274958e-02 1.906525095073851e-02 1.906362652703246e-02 1.906200080112851e-02 - 1.906037377260159e-02 1.905874543999789e-02 1.905711580005939e-02 1.905548484883143e-02 1.905385258297056e-02 - 1.905221900422594e-02 1.905058411108648e-02 1.904894789413228e-02 1.904731035325132e-02 1.904567149183364e-02 - 1.904403130952197e-02 1.904238980136186e-02 1.904074696113758e-02 1.903910278612417e-02 1.903745727544392e-02 - 1.903581042868199e-02 1.903416224385271e-02 1.903251272055347e-02 1.903086185871027e-02 1.902920965236104e-02 - 1.902755609551852e-02 1.902590118543579e-02 1.902424492713456e-02 1.902258731926820e-02 1.902092835050054e-02 - 1.901926802409253e-02 1.901760634215130e-02 1.901594329530476e-02 1.901427888303375e-02 1.901261310655987e-02 - 1.901094596056572e-02 1.900927744335199e-02 1.900760755425454e-02 1.900593628837979e-02 1.900426364429972e-02 - 1.900258962310978e-02 1.900091422355684e-02 1.899923743835855e-02 1.899755925950979e-02 1.899587969656637e-02 - 1.899419874741247e-02 1.899251639645128e-02 1.899083265299966e-02 1.898914752052511e-02 1.898746098477085e-02 - 1.898577304386013e-02 1.898408369969058e-02 1.898239295076986e-02 1.898070079269564e-02 1.897900722255288e-02 - 1.897731224261929e-02 1.897561584849886e-02 1.897391803334516e-02 1.897221879605241e-02 1.897051814026927e-02 - 1.896881606767167e-02 1.896711256470153e-02 1.896540762798833e-02 1.896370126437186e-02 1.896199347193909e-02 - 1.896028424413336e-02 1.895857357350164e-02 1.895686146124061e-02 1.895514791045918e-02 1.895343292131205e-02 - 1.895171648302300e-02 1.894999858923527e-02 1.894827924721451e-02 1.894655845419708e-02 1.894483620522033e-02 - 1.894311250187257e-02 1.894138733732357e-02 1.893966070463249e-02 1.893793261072514e-02 1.893620305335951e-02 - 1.893447202418282e-02 1.893273952309081e-02 1.893100555094376e-02 1.892927010627177e-02 1.892753318110494e-02 - 1.892579477108063e-02 1.892405487784487e-02 1.892231350329449e-02 1.892057064453369e-02 1.891882629307712e-02 - 1.891708044683251e-02 1.891533310610873e-02 1.891358427035544e-02 1.891183393696100e-02 1.891008210291091e-02 - 1.890832876617924e-02 1.890657392211156e-02 1.890481756749361e-02 1.890305970669826e-02 1.890130033664154e-02 - 1.889953944876527e-02 1.889777703845312e-02 1.889601310905792e-02 1.889424766560776e-02 1.889248069356991e-02 - 1.889071219005931e-02 1.888894216610460e-02 1.888717060771540e-02 1.888539750970531e-02 1.888362288621832e-02 - 1.888184672351093e-02 1.888006901097801e-02 1.887828976119468e-02 1.887650896887177e-02 1.887472662448569e-02 - 1.887294273026847e-02 1.887115728373587e-02 1.886937028132879e-02 1.886758172601296e-02 1.886579161241305e-02 - 1.886399993232671e-02 1.886220669095003e-02 1.886041188581822e-02 1.885861550746470e-02 1.885681755698847e-02 - 1.885501803485419e-02 1.885321693733238e-02 1.885141425906957e-02 1.884960999916156e-02 1.884780416185130e-02 - 1.884599674103886e-02 1.884418772927479e-02 1.884237712445391e-02 1.884056492700234e-02 1.883875113673901e-02 - 1.883693574995443e-02 1.883511876102816e-02 1.883330016667216e-02 1.883147997149076e-02 1.882965817385698e-02 - 1.882783476601560e-02 1.882600973926643e-02 1.882418309568715e-02 1.882235484340025e-02 1.882052497417560e-02 - 1.881869348031539e-02 1.881686035975185e-02 1.881502561164409e-02 1.881318923741505e-02 1.881135123913003e-02 - 1.880951160558249e-02 1.880767032900146e-02 1.880582741534564e-02 1.880398286136111e-02 1.880213666245483e-02 - 1.880028882149621e-02 1.879843933370182e-02 1.879658819228311e-02 1.879473539862031e-02 1.879288094991765e-02 - 1.879102484097325e-02 1.878916707209326e-02 1.878730764191372e-02 1.878544654683108e-02 1.878358378459472e-02 - 1.878171935183507e-02 1.877985324430765e-02 1.877798546179407e-02 1.877611600228067e-02 1.877424486050507e-02 - 1.877237203778229e-02 1.877049753324887e-02 1.876862133863330e-02 1.876674345293673e-02 1.876486387617420e-02 - 1.876298260257535e-02 1.876109963059111e-02 1.875921496034764e-02 1.875732858848502e-02 1.875544051216185e-02 - 1.875355072885378e-02 1.875165923449702e-02 1.874976602623304e-02 1.874787110336161e-02 1.874597446797304e-02 - 1.874407611425766e-02 1.874217603022874e-02 1.874027422146802e-02 1.873837068906284e-02 1.873646542198345e-02 - 1.873455842189881e-02 1.873264969164939e-02 1.873073922656172e-02 1.872882701964194e-02 1.872691306648714e-02 - 1.872499736923527e-02 1.872307992509612e-02 1.872116072949887e-02 1.871923978227258e-02 1.871731708186487e-02 - 1.871539262387551e-02 1.871346640021372e-02 1.871153841041527e-02 1.870960865979342e-02 1.870767714578883e-02 - 1.870574386089293e-02 1.870380879685916e-02 1.870187195798613e-02 1.869993334446320e-02 1.869799294696750e-02 - 1.869605076691687e-02 1.869410680376838e-02 1.869216104730458e-02 1.869021349836844e-02 1.868826416022470e-02 - 1.868631302853863e-02 1.868436009644664e-02 1.868240535897862e-02 1.868044881818047e-02 1.867849047172725e-02 - 1.867653031474529e-02 1.867456834731333e-02 1.867260456736053e-02 1.867063897034608e-02 1.866867155351236e-02 - 1.866670231459311e-02 1.866473125095620e-02 1.866275835809391e-02 1.866078363356833e-02 1.865880707775009e-02 - 1.865682868564128e-02 1.865484845476688e-02 1.865286638889887e-02 1.865088247751579e-02 1.864889671303901e-02 - 1.864690910747520e-02 1.864491965354244e-02 1.864292833855512e-02 1.864093516946379e-02 1.863894014384585e-02 - 1.863694325319922e-02 1.863494449952898e-02 1.863294388193027e-02 1.863094139526787e-02 1.862893703607748e-02 - 1.862693080034535e-02 1.862492268387857e-02 1.862291268732941e-02 1.862090081042848e-02 1.861888704957227e-02 - 1.861687140151818e-02 1.861485386231105e-02 1.861283442704270e-02 1.861081309610335e-02 1.860878986806025e-02 - 1.860676473338590e-02 1.860473769529663e-02 1.860270875778476e-02 1.860067790615180e-02 1.859864513789995e-02 - 1.859661045850656e-02 1.859457386260990e-02 1.859253534675110e-02 1.859049490946049e-02 1.858845254228221e-02 - 1.858640824383296e-02 1.858436201966219e-02 1.858231386031445e-02 1.858026376148910e-02 1.857821173011040e-02 - 1.857615775674864e-02 1.857410183289329e-02 1.857204396224591e-02 1.856998414158087e-02 1.856792236630606e-02 - 1.856585863699762e-02 1.856379295088432e-02 1.856172530348682e-02 1.855965569223371e-02 1.855758411493529e-02 - 1.855551056872843e-02 1.855343504862798e-02 1.855135755357239e-02 1.854927808391809e-02 1.854719662999937e-02 - 1.854511318947389e-02 1.854302776884543e-02 1.854094036342127e-02 1.853885096469986e-02 1.853675956540365e-02 - 1.853466616668727e-02 1.853257077183708e-02 1.853047338096206e-02 1.852837398473379e-02 1.852627257507170e-02 - 1.852416915520061e-02 1.852206372211816e-02 1.851995627104085e-02 1.851784680396669e-02 1.851573531468755e-02 - 1.851362179508880e-02 1.851150625260910e-02 1.850938868433302e-02 1.850726907790290e-02 1.850514743267316e-02 - 1.850302375022463e-02 1.850089802974987e-02 1.849877026321467e-02 1.849664044568886e-02 1.849450857919205e-02 - 1.849237466328984e-02 1.849023869225825e-02 1.848810065567833e-02 1.848596056072587e-02 1.848381841125062e-02 - 1.848167418759208e-02 1.847952788817062e-02 1.847737952020788e-02 1.847522908039946e-02 1.847307656165976e-02 - 1.847092195736722e-02 1.846876526733367e-02 1.846660649126623e-02 1.846444562782898e-02 1.846228267641075e-02 - 1.846011763022634e-02 1.845795047822359e-02 1.845578122357826e-02 1.845360986824314e-02 1.845143640646702e-02 - 1.844926083412144e-02 1.844708314829677e-02 1.844490334652741e-02 1.844272142526039e-02 1.844053738232335e-02 - 1.843835121884711e-02 1.843616292877729e-02 1.843397250473794e-02 1.843177994759022e-02 1.842958525561723e-02 - 1.842738842512387e-02 1.842518945510765e-02 1.842298833954339e-02 1.842078507029563e-02 1.841857965103055e-02 - 1.841637208298309e-02 1.841416236088061e-02 1.841195047731196e-02 1.840973642948215e-02 1.840752022011446e-02 - 1.840530184216091e-02 1.840308128892246e-02 1.840085856103635e-02 1.839863365911139e-02 1.839640658087383e-02 - 1.839417731924000e-02 1.839194587083986e-02 1.838971223370895e-02 1.838747640300020e-02 1.838523837692452e-02 - 1.838299815548432e-02 1.838075573582631e-02 1.837851111106092e-02 1.837626427462707e-02 1.837401523350234e-02 - 1.837176398539980e-02 1.836951051641877e-02 1.836725482529124e-02 1.836499691387402e-02 1.836273678151691e-02 - 1.836047442118306e-02 1.835820982858270e-02 1.835594300692513e-02 1.835367394977665e-02 1.835140264983480e-02 - 1.834912910825698e-02 1.834685332362546e-02 1.834457529066184e-02 1.834229500068380e-02 1.834001245612868e-02 - 1.833772766191195e-02 1.833544060380268e-02 1.833315127769170e-02 1.833085968975407e-02 1.832856583633842e-02 - 1.832626971106521e-02 1.832397130817964e-02 1.832167062581619e-02 1.831936766045366e-02 1.831706240632338e-02 - 1.831475486820015e-02 1.831244504576387e-02 1.831013292472488e-02 1.830781850356614e-02 1.830550178468002e-02 - 1.830318276421879e-02 1.830086143845657e-02 1.829853780375753e-02 1.829621185558813e-02 1.829388359300937e-02 - 1.829155301569956e-02 1.828922011662799e-02 1.828688489153528e-02 1.828454733892483e-02 1.828220745351499e-02 - 1.827986523367206e-02 1.827752068069898e-02 1.827517378500067e-02 1.827282454323407e-02 1.827047296291425e-02 - 1.826811903643735e-02 1.826576275326505e-02 1.826340410954280e-02 1.826104310998728e-02 1.825867975496676e-02 - 1.825631402943589e-02 1.825394593365713e-02 1.825157547349511e-02 1.824920264235266e-02 1.824682743095013e-02 - 1.824444983334214e-02 1.824206985531418e-02 1.823968749396920e-02 1.823730273947125e-02 1.823491559405069e-02 - 1.823252605635143e-02 1.823013411851380e-02 1.822773977727079e-02 1.822534302885856e-02 1.822294386817581e-02 - 1.822054229933361e-02 1.821813832218229e-02 1.821573192447362e-02 1.821332310276354e-02 1.821091185568656e-02 - 1.820849817689734e-02 1.820608206836350e-02 1.820366353310689e-02 1.820124256311412e-02 1.819881915016099e-02 - 1.819639328969794e-02 1.819396498477247e-02 1.819153423068764e-02 1.818910101812068e-02 1.818666535246774e-02 - 1.818422723286477e-02 1.818178664914423e-02 1.817934360000525e-02 1.817689808189780e-02 1.817445008627356e-02 - 1.817199961756547e-02 1.816954667558178e-02 1.816709124568389e-02 1.816463332917677e-02 1.816217292950077e-02 - 1.815971003769815e-02 1.815724465123547e-02 1.815477676809149e-02 1.815230637650250e-02 1.814983348051392e-02 - 1.814735808823705e-02 1.814488018072306e-02 1.814239975267995e-02 1.813991681262074e-02 1.813743135508509e-02 - 1.813494337086823e-02 1.813245285281114e-02 1.812995980445686e-02 1.812746422731492e-02 1.812496611573551e-02 - 1.812246546481565e-02 1.811996226848969e-02 1.811745651920204e-02 1.811494821957559e-02 1.811243737133842e-02 - 1.810992396481434e-02 1.810740799805441e-02 1.810488947142559e-02 1.810236837745802e-02 1.809984471224923e-02 - 1.809731847419077e-02 1.809478965788605e-02 1.809225826197647e-02 1.808972428730369e-02 1.808718772623545e-02 - 1.808464857219165e-02 1.808210682315950e-02 1.807956248210254e-02 1.807701554512131e-02 1.807446599893149e-02 - 1.807191384222250e-02 1.806935907649996e-02 1.806680169977935e-02 1.806424171112906e-02 1.806167910639137e-02 - 1.805911387430984e-02 1.805654601234490e-02 1.805397552118165e-02 1.805140239539148e-02 1.804882663464111e-02 - 1.804624823872755e-02 1.804366719439020e-02 1.804108350087335e-02 1.803849716547347e-02 1.803590817366155e-02 - 1.803331652090480e-02 1.803072221546651e-02 1.802812524400898e-02 1.802552559998909e-02 1.802292329257977e-02 - 1.802031831251088e-02 1.801771065083283e-02 1.801510031065072e-02 1.801248728509480e-02 1.800987156794499e-02 - 1.800725316456288e-02 1.800463207196059e-02 1.800200828229563e-02 1.799938179038418e-02 1.799675259135415e-02 - 1.799412068157979e-02 1.799148606152016e-02 1.798884872978088e-02 1.798620868169797e-02 1.798356590941466e-02 - 1.798092041139825e-02 1.797827219073602e-02 1.797562123473000e-02 1.797296753674024e-02 1.797031110360818e-02 - 1.796765193280976e-02 1.796499001786419e-02 1.796232535287627e-02 1.795965793501132e-02 1.795698776183851e-02 - 1.795431482887613e-02 1.795163913285315e-02 1.794896067070983e-02 1.794627943785036e-02 1.794359543174794e-02 - 1.794090865000600e-02 1.793821908548673e-02 1.793552673496832e-02 1.793283159877326e-02 1.793013367385930e-02 - 1.792743295577707e-02 1.792472944026945e-02 1.792202312682011e-02 1.791931400976357e-02 1.791660207728341e-02 - 1.791388733234035e-02 1.791116977642004e-02 1.790844939977351e-02 1.790572620127331e-02 1.790300018053203e-02 - 1.790027132960331e-02 1.789753964610457e-02 1.789480512776976e-02 1.789206776371137e-02 1.788932755546883e-02 - 1.788658450796398e-02 1.788383860557862e-02 1.788108984645815e-02 1.787833823870088e-02 1.787558376650758e-02 - 1.787282642238153e-02 1.787006621288861e-02 1.786730313584615e-02 1.786453718506033e-02 1.786176835331611e-02 - 1.785899663566110e-02 1.785622203220682e-02 1.785344454733639e-02 1.785066416506327e-02 1.784788087479271e-02 - 1.784509469481547e-02 1.784230561688990e-02 1.783951362363962e-02 1.783671871969004e-02 1.783392090351773e-02 - 1.783112016693977e-02 1.782831650359620e-02 1.782550991644932e-02 1.782270041052123e-02 1.781988796773664e-02 - 1.781707258188517e-02 1.781425426228424e-02 1.781143299909701e-02 1.780860878344276e-02 1.780578161636334e-02 - 1.780295150019453e-02 1.780011843142990e-02 1.779728239750767e-02 1.779444339320670e-02 1.779160141853593e-02 - 1.778875647528820e-02 1.778590855799184e-02 1.778305765851556e-02 1.778020377358821e-02 1.777734690358035e-02 - 1.777448704738365e-02 1.777162419310320e-02 1.776875833746895e-02 1.776588948369731e-02 1.776301762263940e-02 - 1.776014274927566e-02 1.775726486578331e-02 1.775438397030816e-02 1.775150005486545e-02 1.774861310790110e-02 - 1.774572313526677e-02 1.774283013776283e-02 1.773993409898065e-02 1.773703502220879e-02 1.773413291089222e-02 - 1.773122774923129e-02 1.772831953604024e-02 1.772540827370780e-02 1.772249394894422e-02 1.771957656009896e-02 - 1.771665611194296e-02 1.771373259698992e-02 1.771080600888477e-02 1.770787634473108e-02 1.770494360249459e-02 - 1.770200777818149e-02 1.769906886558849e-02 1.769612685929023e-02 1.769318175770428e-02 1.769023356261796e-02 - 1.768728226707501e-02 1.768432786370409e-02 1.768137035050212e-02 1.767840972761326e-02 1.767544598996190e-02 - 1.767247912224100e-02 1.766950912887429e-02 1.766653601772543e-02 1.766355977437013e-02 1.766058039164660e-02 - 1.765759786981226e-02 1.765461220736955e-02 1.765162339764906e-02 1.764863143247870e-02 1.764563631444012e-02 - 1.764263804044564e-02 1.763963660052613e-02 1.763663199590508e-02 1.763362422648862e-02 1.763061328532627e-02 - 1.762759916389677e-02 1.762458185742205e-02 1.762156136756127e-02 1.761853769290762e-02 1.761551082691653e-02 - 1.761248075761478e-02 1.760944748669641e-02 1.760641101894919e-02 1.760337134551661e-02 1.760032845807722e-02 - 1.759728235211478e-02 1.759423302856655e-02 1.759118048266074e-02 1.758812470690578e-02 1.758506570645847e-02 - 1.758200347417691e-02 1.757893799151254e-02 1.757586926700291e-02 1.757279730534286e-02 1.756972209521438e-02 - 1.756664362962799e-02 1.756356190543487e-02 1.756047692143249e-02 1.755738866974527e-02 1.755429714394244e-02 - 1.755120234663686e-02 1.754810427470094e-02 1.754500292288027e-02 1.754189829041229e-02 1.753879037098419e-02 - 1.753567915477636e-02 1.753256463576890e-02 1.752944681640228e-02 1.752632570156945e-02 1.752320127895599e-02 - 1.752007354011609e-02 1.751694248500407e-02 1.751380811099548e-02 1.751067041466748e-02 1.750752939229762e-02 - 1.750438503712632e-02 1.750123734468025e-02 1.749808631552286e-02 1.749493194526630e-02 1.749177422703599e-02 - 1.748861315463852e-02 1.748544872591071e-02 1.748228094036503e-02 1.747910979560325e-02 1.747593528635296e-02 - 1.747275740493088e-02 1.746957614261004e-02 1.746639150171011e-02 1.746320348827029e-02 1.746001208402579e-02 - 1.745681728232032e-02 1.745361909228664e-02 1.745041750587895e-02 1.744721251527593e-02 1.744400411995098e-02 - 1.744079231626219e-02 1.743757709612158e-02 1.743435844889677e-02 1.743113638300998e-02 1.742791090294012e-02 - 1.742468198827393e-02 1.742144963687445e-02 1.741821385208018e-02 1.741497462017237e-02 1.741173194001650e-02 - 1.740848581625378e-02 1.740523623716524e-02 1.740198319673262e-02 1.739872669626729e-02 1.739546673433575e-02 - 1.739220330474240e-02 1.738893639777237e-02 1.738566600801745e-02 1.738239213410604e-02 1.737911477739739e-02 - 1.737583393441487e-02 1.737254959973500e-02 1.736926176792087e-02 1.736597043319887e-02 1.736267559029083e-02 - 1.735937723525189e-02 1.735607536431420e-02 1.735276997535949e-02 1.734946106967137e-02 1.734614863942214e-02 - 1.734283267462293e-02 1.733951317984790e-02 1.733619014933173e-02 1.733286356952035e-02 1.732953344236944e-02 - 1.732619976822115e-02 1.732286254123125e-02 1.731952175476255e-02 1.731617740506982e-02 1.731282949118149e-02 - 1.730947800429541e-02 1.730612293897103e-02 1.730276429900506e-02 1.729940207772190e-02 1.729603626710180e-02 - 1.729266686687025e-02 1.728929387127552e-02 1.728591727431661e-02 1.728253707811547e-02 1.727915327486350e-02 - 1.727576585445017e-02 1.727237482415143e-02 1.726898017713387e-02 1.726558189725253e-02 1.726217999255776e-02 - 1.725877446141184e-02 1.725536528836806e-02 1.725195247427305e-02 1.724853602088567e-02 1.724511592318061e-02 - 1.724169217016580e-02 1.723826475637563e-02 1.723483368674653e-02 1.723139894995541e-02 1.722796053633534e-02 - 1.722451845482723e-02 1.722107270070567e-02 1.721762326419149e-02 1.721417014587169e-02 1.721071333868621e-02 - 1.720725283251134e-02 1.720378862838028e-02 1.720032072298445e-02 1.719684910908383e-02 1.719337378669194e-02 - 1.718989475327181e-02 1.718641200187306e-02 1.718292552719872e-02 1.717943532374793e-02 1.717594138625576e-02 - 1.717244371734551e-02 1.716894231509765e-02 1.716543716617480e-02 1.716192826455456e-02 1.715841561099909e-02 - 1.715489920993168e-02 1.715137904713604e-02 1.714785510917266e-02 1.714432741097788e-02 1.714079594608009e-02 - 1.713726069602739e-02 1.713372166332687e-02 1.713017885016558e-02 1.712663225240283e-02 1.712308185705881e-02 - 1.711952765873538e-02 1.711596966109396e-02 1.711240786053498e-02 1.710884225051524e-02 1.710527282476134e-02 - 1.710169958307061e-02 1.709812252022495e-02 1.709454162136748e-02 1.709095688985418e-02 1.708736832996113e-02 - 1.708377593024533e-02 1.708017968752960e-02 1.707657960032946e-02 1.707297565703870e-02 1.706936785401023e-02 - 1.706575619189593e-02 1.706214066346443e-02 1.705852126552140e-02 1.705489799818787e-02 1.705127085519305e-02 - 1.704763983091843e-02 1.704400492089210e-02 1.704036611449886e-02 1.703672340943711e-02 1.703307681394708e-02 - 1.702942631772786e-02 1.702577190966809e-02 1.702211358937508e-02 1.701845135582294e-02 1.701478520463906e-02 - 1.701111512687454e-02 1.700744111902223e-02 1.700376317991698e-02 1.700008130526762e-02 1.699639548886451e-02 - 1.699270572517141e-02 1.698901201362202e-02 1.698531434790372e-02 1.698161271901581e-02 1.697790713038581e-02 - 1.697419757947398e-02 1.697048405591379e-02 1.696676655885514e-02 1.696304508413142e-02 1.695931962055792e-02 - 1.695559016575875e-02 1.695185672007940e-02 1.694811928170539e-02 1.694437784303563e-02 1.694063239701608e-02 - 1.693688294268234e-02 1.693312947555357e-02 1.692937198914621e-02 1.692561047849961e-02 1.692184494218333e-02 - 1.691807537819241e-02 1.691430177590003e-02 1.691052413380094e-02 1.690674245501956e-02 1.690295672392027e-02 - 1.689916693403359e-02 1.689537309141036e-02 1.689157519031890e-02 1.688777322481082e-02 1.688396719247375e-02 - 1.688015708323470e-02 1.687634289028026e-02 1.687252461641300e-02 1.686870225976892e-02 1.686487581335405e-02 - 1.686104526641643e-02 1.685721061978611e-02 1.685337187596560e-02 1.684952902423863e-02 1.684568205626177e-02 - 1.684183096806695e-02 1.683797575916921e-02 1.683411642637722e-02 1.683025296370582e-02 1.682638536598722e-02 - 1.682251363071521e-02 1.681863775630957e-02 1.681475773295268e-02 1.681087355358095e-02 1.680698521822956e-02 - 1.680309272743823e-02 1.679919607564722e-02 1.679529524908240e-02 1.679139024683375e-02 1.678748107079098e-02 - 1.678356771499038e-02 1.677965016895157e-02 1.677572842703558e-02 1.677180249929987e-02 1.676787237703614e-02 - 1.676393804299063e-02 1.675999950051788e-02 1.675605674951069e-02 1.675210978219402e-02 1.674815858725950e-02 - 1.674420316518524e-02 1.674024352454331e-02 1.673627964747038e-02 1.673231152527195e-02 1.672833916857912e-02 - 1.672436256552257e-02 1.672038170373856e-02 1.671639658470834e-02 1.671240720840105e-02 1.670841357063555e-02 - 1.670441566220705e-02 1.670041347959014e-02 1.669640702110204e-02 1.669239628051189e-02 1.668838125191250e-02 - 1.668436193143650e-02 1.668033831890629e-02 1.667631040878886e-02 1.667227819212758e-02 1.666824166734860e-02 - 1.666420083129591e-02 1.666015567735254e-02 1.665610620005455e-02 1.665205239678242e-02 1.664799426695549e-02 - 1.664393180284348e-02 1.663986499713315e-02 1.663579384792829e-02 1.663171835503466e-02 1.662763851356003e-02 - 1.662355430939835e-02 1.661946574092143e-02 1.661537281150426e-02 1.661127551677910e-02 1.660717384720702e-02 - 1.660306779425839e-02 1.659895736095696e-02 1.659484254425630e-02 1.659072333444665e-02 1.658659972465595e-02 - 1.658247171530552e-02 1.657833931027815e-02 1.657420249617699e-02 1.657006126301349e-02 1.656591561144095e-02 - 1.656176553662080e-02 1.655761103381663e-02 1.655345210211223e-02 1.654928873901935e-02 1.654512093811135e-02 - 1.654094868807454e-02 1.653677198858015e-02 1.653259084096055e-02 1.652840523447503e-02 1.652421516561530e-02 - 1.652002063436291e-02 1.651582163151349e-02 1.651161815099949e-02 1.650741019156900e-02 1.650319775344297e-02 - 1.649898082810461e-02 1.649475940168675e-02 1.649053348141889e-02 1.648630306850305e-02 1.648206814836095e-02 - 1.647782871114676e-02 1.647358475732917e-02 1.646933629656457e-02 1.646508330893651e-02 1.646082578033714e-02 - 1.645656373337251e-02 1.645229715576629e-02 1.644802602626009e-02 1.644375035674409e-02 1.643947014097659e-02 - 1.643518536281393e-02 1.643089602671802e-02 1.642660213310334e-02 1.642230367492405e-02 1.641800064388943e-02 - 1.641369303446324e-02 1.640938084474308e-02 1.640506407467653e-02 1.640074271742540e-02 1.639641675907646e-02 - 1.639208620097271e-02 1.638775104513307e-02 1.638341128505268e-02 1.637906691499287e-02 1.637471792980197e-02 - 1.637036432400064e-02 1.636600609175647e-02 1.636164322915392e-02 1.635727573684415e-02 1.635290360792794e-02 - 1.634852683359730e-02 1.634414541697593e-02 1.633975935494602e-02 1.633536863669590e-02 1.633097325119221e-02 - 1.632657319870386e-02 1.632216848742881e-02 1.631775910539292e-02 1.631334504210032e-02 1.630892629731235e-02 - 1.630450287107613e-02 1.630007475715268e-02 1.629564194133085e-02 1.629120442381021e-02 1.628676220752001e-02 - 1.628231528645751e-02 1.627786365361661e-02 1.627340730437480e-02 1.626894623909321e-02 1.626448044809207e-02 - 1.626000991935131e-02 1.625553465710418e-02 1.625105466086324e-02 1.624656992364918e-02 1.624208044008659e-02 - 1.623758620493278e-02 1.623308721259990e-02 1.622858345750622e-02 1.622407493651434e-02 1.621956164908100e-02 - 1.621504359102545e-02 1.621052075671857e-02 1.620599314061202e-02 1.620146073758967e-02 1.619692354185834e-02 - 1.619238154678624e-02 1.618783475477294e-02 1.618328316706134e-02 1.617872676957040e-02 1.617416555535298e-02 - 1.616959952441603e-02 1.616502867670949e-02 1.616045300241566e-02 1.615587248863419e-02 1.615128714307292e-02 - 1.614669696726644e-02 1.614210195036420e-02 1.613750207990814e-02 1.613289735436475e-02 1.612828778261194e-02 - 1.612367334765880e-02 1.611905403879705e-02 1.611442986870223e-02 1.610980082722066e-02 1.610516690212456e-02 - 1.610052809916244e-02 1.609588441136000e-02 1.609123582829610e-02 1.608658235171540e-02 1.608192397521171e-02 - 1.607726068992654e-02 1.607259250083978e-02 1.606791940362701e-02 1.606324138657220e-02 1.605855844962495e-02 - 1.605387058768025e-02 1.604917779011535e-02 1.604448006054786e-02 1.603977739874237e-02 1.603506979420087e-02 - 1.603035723984084e-02 1.602563973257448e-02 1.602091727188371e-02 1.601618984720332e-02 1.601145745295015e-02 - 1.600672010067149e-02 1.600197777942985e-02 1.599723047266619e-02 1.599247818462375e-02 1.598772091449355e-02 - 1.598295865408641e-02 1.597819139147786e-02 1.597341912912636e-02 1.596864187530068e-02 1.596385961058315e-02 - 1.595907232771693e-02 1.595428003613896e-02 1.594948272828454e-02 1.594468039178993e-02 1.593987301780130e-02 - 1.593506061365002e-02 1.593024318102167e-02 1.592542070422077e-02 1.592059317798925e-02 1.591576060279083e-02 - 1.591092297799217e-02 1.590608029141302e-02 1.590123253274349e-02 1.589637971157846e-02 1.589152182656434e-02 - 1.588665886609507e-02 1.588179081847464e-02 1.587691768450550e-02 1.587203947045915e-02 1.586715616213467e-02 - 1.586226775168990e-02 1.585737424168921e-02 1.585247562649581e-02 1.584757190117160e-02 1.584266306445842e-02 - 1.583774911091078e-02 1.583283003450806e-02 1.582790583090947e-02 1.582297649499978e-02 1.581804202355953e-02 - 1.581310241701619e-02 1.580815766650671e-02 1.580320776320766e-02 1.579825271139450e-02 1.579329250537274e-02 - 1.578832713506978e-02 1.578335660262603e-02 1.577838090296324e-02 1.577340002574811e-02 1.576841397243399e-02 - 1.576342274326813e-02 1.575842633194578e-02 1.575342472205075e-02 1.574841791148685e-02 1.574340591569888e-02 - 1.573838872006093e-02 1.573336631006632e-02 1.572833869008299e-02 1.572330586230670e-02 1.571826781924578e-02 - 1.571322454052314e-02 1.570817603062760e-02 1.570312230059812e-02 1.569806333998715e-02 1.569299913693516e-02 - 1.568792968457186e-02 1.568285498663007e-02 1.567777503779379e-02 1.567268982728102e-02 1.566759935997030e-02 - 1.566250363482262e-02 1.565740264102256e-02 1.565229637077196e-02 1.564718482295817e-02 1.564206800099241e-02 - 1.563694589151567e-02 1.563181848599405e-02 1.562668579194260e-02 1.562154780177149e-02 1.561640450642917e-02 - 1.561125590888111e-02 1.560610200797837e-02 1.560094279515962e-02 1.559577825343192e-02 1.559060838842812e-02 - 1.558543321151646e-02 1.558025270088283e-02 1.557506685188879e-02 1.556987567405825e-02 1.556467915294808e-02 - 1.555947727806998e-02 1.555427005014520e-02 1.554905747326830e-02 1.554383954557267e-02 1.553861625685508e-02 - 1.553338760005679e-02 1.552815357203842e-02 1.552291417232042e-02 1.551766939022104e-02 1.551241921985975e-02 - 1.550716367246923e-02 1.550190274051892e-02 1.549663640983429e-02 1.549136467943576e-02 1.548608754911306e-02 - 1.548080501516420e-02 1.547551706650131e-02 1.547022370107663e-02 1.546492492363977e-02 1.545962073006300e-02 - 1.545431111106912e-02 1.544899605692932e-02 1.544367557060635e-02 1.543834964941066e-02 1.543301828099291e-02 - 1.542768146907574e-02 1.542233921474585e-02 1.541699150599057e-02 1.541163833967913e-02 1.540627971422265e-02 - 1.540091562222576e-02 1.539554606062004e-02 1.539017102808156e-02 1.538479052048013e-02 1.537940453376258e-02 - 1.537401306270197e-02 1.536861609811398e-02 1.536321364249661e-02 1.535780570199338e-02 1.535239225620149e-02 - 1.534697329939463e-02 1.534154884369051e-02 1.533611887960563e-02 1.533068339829330e-02 1.532524239983298e-02 - 1.531979587995433e-02 1.531434383110085e-02 1.530888624554550e-02 1.530342313142362e-02 1.529795449144603e-02 - 1.529248030485156e-02 1.528700056732233e-02 1.528151528324413e-02 1.527602445059826e-02 1.527052806021316e-02 - 1.526502610370102e-02 1.525951858764995e-02 1.525400550804322e-02 1.524848685322667e-02 1.524296262660809e-02 - 1.523743282528689e-02 1.523189743753784e-02 1.522635646012132e-02 1.522080989370855e-02 1.521525773883866e-02 - 1.520969998584297e-02 1.520413662809972e-02 1.519856766896251e-02 1.519299310438481e-02 1.518741292689401e-02 - 1.518182713051541e-02 1.517623571498702e-02 1.517063867977171e-02 1.516503601659771e-02 1.515942772580205e-02 - 1.515381380882217e-02 1.514819425008754e-02 1.514256904339338e-02 1.513693819284546e-02 1.513130169987854e-02 - 1.512565955837021e-02 1.512001175774349e-02 1.511435830052952e-02 1.510869918485496e-02 1.510303439909880e-02 - 1.509736393861015e-02 1.509168780464220e-02 1.508600600178219e-02 1.508031852355242e-02 1.507462535986425e-02 - 1.506892650464710e-02 1.506322195838325e-02 1.505751172137055e-02 1.505179578553525e-02 1.504607414992266e-02 - 1.504034681527993e-02 1.503461377008154e-02 1.502887501067205e-02 1.502313053999477e-02 1.501738035243006e-02 - 1.501162444030474e-02 1.500586279803602e-02 1.500009542963074e-02 1.499432233574762e-02 1.498854350912934e-02 - 1.498275894315130e-02 1.497696863387312e-02 1.497117258012378e-02 1.496537077480856e-02 1.495956321394884e-02 - 1.495374990400090e-02 1.494793083920974e-02 1.494210600904758e-02 1.493627541059610e-02 1.493043904648383e-02 - 1.492459691659297e-02 1.491874900408085e-02 1.491289530722370e-02 1.490703583623931e-02 1.490117058646935e-02 - 1.489529954725381e-02 1.488942270892006e-02 1.488354007804980e-02 1.487765165385858e-02 1.487175742273507e-02 - 1.486585738883519e-02 1.485995155398175e-02 1.485403990610964e-02 1.484812243988829e-02 1.484219915557141e-02 - 1.483627005584607e-02 1.483033513203473e-02 1.482439437542072e-02 1.481844779264578e-02 1.481249538141862e-02 - 1.480653713381494e-02 1.480057304868135e-02 1.479460312202780e-02 1.478862734716873e-02 1.478264572087699e-02 - 1.477665824308106e-02 1.477066491441443e-02 1.476466572742758e-02 1.475866067903805e-02 1.475264977269339e-02 - 1.474663299844858e-02 1.474061034872640e-02 1.473458182710518e-02 1.472854743115566e-02 1.472250715651883e-02 - 1.471646100132783e-02 1.471040896256117e-02 1.470435103749897e-02 1.469828722554372e-02 1.469221751827344e-02 - 1.468614190646898e-02 1.468006039547928e-02 1.467397298615093e-02 1.466787967378610e-02 1.466178045636883e-02 - 1.465567533041493e-02 1.464956428982840e-02 1.464344732703370e-02 1.463732444018100e-02 1.463119563426315e-02 - 1.462506090797482e-02 1.461892025637629e-02 1.461277367320199e-02 1.460662115516677e-02 1.460046270026797e-02 - 1.459429830605704e-02 1.458812796887011e-02 1.458195168595082e-02 1.457576945823491e-02 1.456958128559711e-02 - 1.456338716422361e-02 1.455718708308891e-02 1.455098103823577e-02 1.454476903226018e-02 1.453855106504101e-02 - 1.453232713525658e-02 1.452609724028033e-02 1.451986137384772e-02 1.451361953112174e-02 1.450737171027855e-02 - 1.450111790831084e-02 1.449485812287890e-02 1.448859235383744e-02 1.448232060352556e-02 1.447604287018101e-02 - 1.446975914267516e-02 1.446346941597466e-02 1.445717368938523e-02 1.445087196279080e-02 1.444456423724572e-02 - 1.443825051237331e-02 1.443193078136921e-02 1.442560503975330e-02 1.441927328581930e-02 1.441293551683267e-02 - 1.440659172970616e-02 1.440024192165075e-02 1.439388609177658e-02 1.438752424156573e-02 1.438115637277796e-02 - 1.437478247503487e-02 1.436840254149195e-02 1.436201657648160e-02 1.435562457263202e-02 1.434922652522855e-02 - 1.434282244486077e-02 1.433641232984850e-02 1.432999617114929e-02 1.432357396196595e-02 1.431714570255755e-02 - 1.431071139387867e-02 1.430427102559402e-02 1.429782460021014e-02 1.429137212732056e-02 1.428491359501307e-02 - 1.427844899676062e-02 1.427197833606156e-02 1.426550161130239e-02 1.425901881685885e-02 1.425252994564961e-02 - 1.424603499980085e-02 1.423953398385027e-02 1.423302689906778e-02 1.422651373475527e-02 1.421999448399202e-02 - 1.421346915585374e-02 1.420693774198730e-02 1.420040023237321e-02 1.419385663850131e-02 1.418730696003290e-02 - 1.418075118751426e-02 1.417418931634679e-02 1.416762135086922e-02 1.416104729584521e-02 1.415446713263836e-02 - 1.414788085973522e-02 1.414128849363525e-02 1.413469002361970e-02 1.412808544052846e-02 1.412147474772301e-02 - 1.411485794712882e-02 1.410823503604182e-02 1.410160600672222e-02 1.409497085818714e-02 1.408832959214252e-02 - 1.408168220875668e-02 1.407502870564407e-02 1.406836907961611e-02 1.406170332864153e-02 1.405503144837146e-02 - 1.404835343608425e-02 1.404166929852345e-02 1.403497903248639e-02 1.402828262916828e-02 1.402158009603205e-02 - 1.401487143048169e-02 1.400815661918214e-02 1.400143566703935e-02 1.399470857625501e-02 1.398797534046779e-02 - 1.398123596549795e-02 1.397449045134991e-02 1.396773878380821e-02 1.396098096640959e-02 1.395421700271061e-02 - 1.394744688102961e-02 1.394067060648909e-02 1.393388818692338e-02 1.392709961198955e-02 1.392030488001634e-02 - 1.391350399327543e-02 1.390669694254475e-02 1.389988372719557e-02 1.389306435287330e-02 1.388623881438261e-02 - 1.387940711188756e-02 1.387256925103053e-02 1.386572522405790e-02 1.385887502683316e-02 1.385201866296698e-02 - 1.384515612379329e-02 1.383828740611332e-02 1.383141252098464e-02 1.382453146615934e-02 1.381764423695148e-02 - 1.381075083621117e-02 1.380385125926009e-02 1.379694549932224e-02 1.379003355634722e-02 1.378311543405784e-02 - 1.377619113577579e-02 1.376926065784134e-02 1.376232399626086e-02 1.375538114862362e-02 1.374843211529037e-02 - 1.374147689626999e-02 1.373451549097131e-02 1.372754790081035e-02 1.372057412482435e-02 1.371359415880417e-02 - 1.370660800191563e-02 1.369961565562416e-02 1.369261712158748e-02 1.368561239160383e-02 1.367860146147292e-02 - 1.367158434223160e-02 1.366456103295884e-02 1.365753152816715e-02 1.365049582984413e-02 1.364345393626983e-02 - 1.363640584363454e-02 1.362935155197557e-02 1.362229106201978e-02 1.361522437421294e-02 1.360815148809621e-02 - 1.360107240365773e-02 1.359398712117658e-02 1.358689563898480e-02 1.357979795217255e-02 1.357269405533802e-02 - 1.356558396017600e-02 1.355846767355538e-02 1.355134518540141e-02 1.354421648973967e-02 1.353708158728038e-02 - 1.352994048497773e-02 1.352279317412557e-02 1.351563964921714e-02 1.350847993234027e-02 1.350131401794928e-02 - 1.349414188812881e-02 1.348696355361660e-02 1.347977901858603e-02 1.347258827670450e-02 1.346539132112732e-02 - 1.345818815687027e-02 1.345097879723517e-02 1.344376323611521e-02 1.343654146470481e-02 1.342931348024562e-02 - 1.342207929164266e-02 1.341483890125029e-02 1.340759229714105e-02 1.340033948592649e-02 1.339308047488992e-02 - 1.338581525615185e-02 1.337854383232506e-02 1.337126620737807e-02 1.336398237245951e-02 1.335669232490426e-02 - 1.334939606999042e-02 1.334209361886319e-02 1.333478496691931e-02 1.332747010093965e-02 1.332014902896288e-02 - 1.331282175723704e-02 1.330548828381385e-02 1.329814860211957e-02 1.329080271412866e-02 1.328345063097246e-02 - 1.327609234424045e-02 1.326872784914616e-02 1.326135715657202e-02 1.325398026514318e-02 1.324659716972378e-02 - 1.323920787031880e-02 1.323181236976987e-02 1.322441067219326e-02 1.321700278123619e-02 1.320958869473772e-02 - 1.320216840889533e-02 1.319474192647233e-02 1.318730924299288e-02 1.317987035320805e-02 1.317242527523754e-02 - 1.316497401404441e-02 1.315751655750498e-02 1.315005290457417e-02 1.314258305915991e-02 1.313510702533477e-02 - 1.312762479749873e-02 1.312013637454663e-02 1.311264176674524e-02 1.310514097528989e-02 1.309763399743803e-02 - 1.309012083240218e-02 1.308260148524151e-02 1.307507595779872e-02 1.306754423810231e-02 1.306000633130083e-02 - 1.305246225068735e-02 1.304491199415833e-02 1.303735555888092e-02 1.302979294561730e-02 1.302222416114251e-02 - 1.301464920127586e-02 1.300706805512286e-02 1.299948074007148e-02 1.299188726392925e-02 1.298428761376350e-02 - 1.297668178953030e-02 1.296906979917289e-02 1.296145165196894e-02 1.295382733572278e-02 1.294619684321666e-02 - 1.293856019418804e-02 1.293091739361701e-02 1.292326843600229e-02 1.291561331594024e-02 1.290795203962965e-02 - 1.290028461406370e-02 1.289261102589192e-02 1.288493127982097e-02 1.287724539399148e-02 1.286955336728896e-02 - 1.286185519483855e-02 1.285415087393522e-02 1.284644040779901e-02 1.283872379943217e-02 1.283100105007112e-02 - 1.282327216499671e-02 1.281553714651719e-02 1.280779599126801e-02 1.280004870582322e-02 1.279229529551004e-02 - 1.278453575462785e-02 1.277677008230648e-02 1.276899828322272e-02 1.276122036637128e-02 1.275343633303281e-02 - 1.274564618082443e-02 1.273784991358546e-02 1.273004753391990e-02 1.272223904101719e-02 1.271442442957637e-02 - 1.270660370794978e-02 1.269877689384363e-02 1.269094397773904e-02 1.268310495443295e-02 1.267525983383190e-02 - 1.266740862159357e-02 1.265955131610305e-02 1.265168790986125e-02 1.264381841321034e-02 1.263594283614933e-02 - 1.262806117310012e-02 1.262017342951705e-02 1.261227961209872e-02 1.260437971406514e-02 1.259647373729069e-02 - 1.258856168925583e-02 1.258064357239260e-02 1.257271939240096e-02 1.256478915520078e-02 1.255685285459754e-02 - 1.254891049173029e-02 1.254096207570647e-02 1.253300760376554e-02 1.252504707668881e-02 1.251708050378790e-02 - 1.250910789128773e-02 1.250112924190730e-02 1.249314455497329e-02 1.248515382942968e-02 1.247715706626537e-02 - 1.246915427066142e-02 1.246114545004359e-02 1.245313061093009e-02 1.244510975519442e-02 1.243708288271855e-02 - 1.242904999334644e-02 1.242101108960597e-02 1.241296617602342e-02 1.240491525784085e-02 1.239685833832253e-02 - 1.238879542265411e-02 1.238072651672425e-02 1.237265161832934e-02 1.236457072972670e-02 1.235648385971585e-02 - 1.234839100475330e-02 1.234029216644840e-02 1.233218735967670e-02 1.232407658450629e-02 1.231595983825897e-02 - 1.230783712734204e-02 1.229970846199802e-02 1.229157384500942e-02 1.228343326032102e-02 1.227528672233900e-02 - 1.226713425500730e-02 1.225897584359588e-02 1.225081148758153e-02 1.224264120133804e-02 1.223446498720786e-02 - 1.222628284514866e-02 1.221809477711035e-02 1.220990079161559e-02 1.220170089405064e-02 1.219349508434973e-02 - 1.218528336781141e-02 1.217706575082829e-02 1.216884223701085e-02 1.216061282093886e-02 1.215237750559525e-02 - 1.214413631491834e-02 1.213588924765066e-02 1.212763629639266e-02 1.211937747504947e-02 1.211111278696468e-02 - 1.210284222899338e-02 1.209456580676226e-02 1.208628352659129e-02 1.207799539529086e-02 1.206970142400196e-02 - 1.206140161359375e-02 1.205309595715539e-02 1.204478446558403e-02 1.203646714593309e-02 1.202814399601385e-02 - 1.201981502726849e-02 1.201148024892713e-02 1.200313965960066e-02 1.199479326438714e-02 1.198644106975963e-02 - 1.197808307814890e-02 1.196971928979660e-02 1.196134970757412e-02 1.195297434273665e-02 1.194459320579336e-02 - 1.193620630286995e-02 1.192781363156250e-02 1.191941519457288e-02 1.191101099930699e-02 1.190260104978759e-02 - 1.189418535108248e-02 1.188576391078268e-02 1.187733673904143e-02 1.186890383909906e-02 1.186046520717658e-02 - 1.185202085452967e-02 1.184357078721630e-02 1.183511499765447e-02 1.182665350164435e-02 1.181818631619212e-02 - 1.180971343948878e-02 1.180123487113532e-02 1.179275061618258e-02 1.178426068678883e-02 1.177576508273127e-02 - 1.176726380098327e-02 1.175875685721244e-02 1.175024426443667e-02 1.174172602804813e-02 1.173320214474543e-02 - 1.172467261918110e-02 1.171613746318596e-02 1.170759667473828e-02 1.169905025976067e-02 1.169049823639713e-02 - 1.168194060529573e-02 1.167337736787376e-02 1.166480853596695e-02 1.165623411322526e-02 1.164765410079015e-02 - 1.163906850325271e-02 1.163047732858534e-02 1.162188058835008e-02 1.161327829716097e-02 1.160467045202270e-02 - 1.159605704763531e-02 1.158743810702480e-02 1.157881363156412e-02 1.157018361041755e-02 1.156154807040710e-02 - 1.155290702254676e-02 1.154426045745637e-02 1.153560838867705e-02 1.152695082724772e-02 1.151828777265603e-02 - 1.150961922666123e-02 1.150094519786783e-02 1.149226570234640e-02 1.148358074611148e-02 1.147489033148848e-02 - 1.146619446355201e-02 1.145749315215113e-02 1.144878640491215e-02 1.144007421936342e-02 1.143135660500108e-02 - 1.142263357779597e-02 1.141390514531738e-02 1.140517131031360e-02 1.139643207471360e-02 1.138768744746770e-02 - 1.137893743736065e-02 1.137018205114591e-02 1.136142129485616e-02 1.135265517811921e-02 1.134388371322748e-02 - 1.133510690045416e-02 1.132632474439678e-02 1.131753726104511e-02 1.130874445081251e-02 1.129994631541456e-02 - 1.129114287234474e-02 1.128233413053084e-02 1.127352009524980e-02 1.126470077646612e-02 1.125587617975814e-02 - 1.124704630615814e-02 1.123821115477194e-02 1.122937074388692e-02 1.122052509984340e-02 1.121167421843202e-02 - 1.120281809651728e-02 1.119395674175946e-02 1.118509017235879e-02 1.117621839625571e-02 1.116734140890626e-02 - 1.115845922925729e-02 1.114957187162777e-02 1.114067933143962e-02 1.113178161769016e-02 1.112287874451852e-02 - 1.111397072153178e-02 1.110505754694771e-02 1.109613922373310e-02 1.108721577854856e-02 1.107828721826434e-02 - 1.106935353946150e-02 1.106041475521090e-02 1.105147087839408e-02 1.104252191603393e-02 1.103356786436798e-02 - 1.102460873384026e-02 1.101564454870664e-02 1.100667531791245e-02 1.099770104268406e-02 1.098872172333136e-02 - 1.097973737703280e-02 1.097074801492989e-02 1.096175363206450e-02 1.095275424291130e-02 1.094374986633713e-02 - 1.093474051123777e-02 1.092572618232803e-02 1.091670688531980e-02 1.090768263148204e-02 1.089865342255811e-02 - 1.088961926240844e-02 1.088058018050034e-02 1.087153618780464e-02 1.086248727940419e-02 1.085343346361914e-02 - 1.084437475261139e-02 1.083531115780061e-02 1.082624268419920e-02 1.081716934144050e-02 1.080809114559821e-02 - 1.079900810312026e-02 1.078992022093278e-02 1.078082751184906e-02 1.077172998533364e-02 1.076262764813011e-02 - 1.075352050586474e-02 1.074440857092024e-02 1.073529185762834e-02 1.072617037570664e-02 1.071704413251609e-02 - 1.070791313635956e-02 1.069877740113652e-02 1.068963693244828e-02 1.068049173224424e-02 1.067134181766250e-02 - 1.066218720670161e-02 1.065302791162099e-02 1.064386393117340e-02 1.063469527249458e-02 1.062552195483164e-02 - 1.061634397913101e-02 1.060716135205155e-02 1.059797409807024e-02 1.058878223029125e-02 1.057958575437316e-02 - 1.057038467384018e-02 1.056117900039964e-02 1.055196874533382e-02 1.054275390960051e-02 1.053353451406393e-02 - 1.052431058354873e-02 1.051508211263400e-02 1.050584910821505e-02 1.049661158906674e-02 1.048736956269110e-02 - 1.047812303544552e-02 1.046887201730896e-02 1.045961652742825e-02 1.045035657823219e-02 1.044109217270465e-02 - 1.043182332652317e-02 1.042255005238709e-02 1.041327235213399e-02 1.040399023555266e-02 1.039470371859749e-02 - 1.038541282005145e-02 1.037611754740451e-02 1.036681790639924e-02 1.035751391340543e-02 1.034820558036888e-02 - 1.033889291336949e-02 1.032957591435120e-02 1.032025460242317e-02 1.031092900384275e-02 1.030159911688449e-02 - 1.029226495054825e-02 1.028292652729243e-02 1.027358385071069e-02 1.026423692589549e-02 1.025488576741323e-02 - 1.024553039300053e-02 1.023617081698821e-02 1.022680704740226e-02 1.021743909457171e-02 1.020806697035185e-02 - 1.019869068658227e-02 1.018931025066223e-02 1.017992567348438e-02 1.017053697875713e-02 1.016114417776936e-02 - 1.015174727399650e-02 1.014234627700861e-02 1.013294120450803e-02 1.012353207457940e-02 1.011411888599992e-02 - 1.010470164920459e-02 1.009528038851809e-02 1.008585511657422e-02 1.007642584330934e-02 1.006699257991301e-02 - 1.005755533847607e-02 1.004811412861271e-02 1.003866895746225e-02 1.002921984502842e-02 1.001976681035788e-02 - 1.001030986009602e-02 1.000084900502786e-02 9.991384259025663e-03 9.981915635495017e-03 9.972443141719819e-03 - 9.962966786689603e-03 9.953486595586885e-03 9.944002583039199e-03 9.934514754395770e-03 9.925023122335749e-03 - 9.915527701693664e-03 9.906028505794947e-03 9.896525539473492e-03 9.887018817044350e-03 9.877508364713565e-03 - 9.867994191756903e-03 9.858476305769829e-03 9.848954721540815e-03 9.839429453723526e-03 9.829900512927632e-03 - 9.820367904529967e-03 9.810831649938153e-03 9.801291772225836e-03 9.791748277276684e-03 9.782201174956444e-03 - 9.772650480173910e-03 9.763096209214261e-03 9.753538370443265e-03 9.743976971083063e-03 9.734412038356991e-03 - 9.724843589152831e-03 9.715271627378256e-03 9.705696167153652e-03 9.696117225097080e-03 9.686534815487291e-03 - 9.676948943754414e-03 9.667359623576509e-03 9.657766883492007e-03 9.648170733986708e-03 9.638571181819185e-03 - 9.628968243024477e-03 9.619361933494769e-03 9.609752265452595e-03 9.600139245296816e-03 9.590522893495216e-03 - 9.580903234511828e-03 9.571280275331249e-03 9.561654026946651e-03 9.552024506017841e-03 9.542391727779683e-03 - 9.532755702177183e-03 9.523116437885958e-03 9.513473960404769e-03 9.503828289303256e-03 9.494179431678001e-03 - 9.484527400058637e-03 9.474872210511853e-03 9.465213879778082e-03 9.455552415295903e-03 9.445887829718797e-03 - 9.436220151655284e-03 9.426549394486200e-03 9.416875565725477e-03 9.407198681221749e-03 9.397518758018270e-03 - 9.387835810148322e-03 9.378149843813783e-03 9.368460878589471e-03 9.358768941430739e-03 9.349074041571485e-03 - 9.339376189353358e-03 9.329675400879622e-03 9.319971694171958e-03 9.310265081086165e-03 9.300555568605354e-03 - 9.290843182951191e-03 9.281127946492163e-03 9.271409865969660e-03 9.261688954922952e-03 9.251965230660204e-03 - 9.242238709904914e-03 9.232509401801155e-03 9.222777318787652e-03 9.213042489474691e-03 9.203304930168641e-03 - 9.193564649383718e-03 9.183821661973759e-03 9.174075985705271e-03 9.164327637046287e-03 9.154576623077591e-03 - 9.144822962285418e-03 9.135066683045857e-03 9.125307796249328e-03 9.115546312613307e-03 9.105782249286811e-03 - 9.096015624756502e-03 9.086246452281876e-03 9.076474739187750e-03 9.066700510968253e-03 9.056923792083085e-03 - 9.047144590189744e-03 9.037362919662660e-03 9.027578799121916e-03 9.017792245480461e-03 9.008003268928564e-03 - 8.998211881680073e-03 8.988418113610518e-03 8.978621982540696e-03 8.968823496265647e-03 8.959022672124209e-03 - 8.949219528590024e-03 8.939414081469170e-03 8.929606339864140e-03 8.919796321979990e-03 8.909984056877767e-03 - 8.900169557867096e-03 8.890352835957138e-03 8.880533907981049e-03 8.870712793191068e-03 8.860889506593549e-03 - 8.851064055633283e-03 8.841236465905915e-03 8.831406764712287e-03 8.821574959648875e-03 8.811741064546590e-03 - 8.801905099237244e-03 8.792067082696866e-03 8.782227026145442e-03 8.772384940188230e-03 8.762540855386065e-03 - 8.752694792574688e-03 8.742846759945761e-03 8.732996774006149e-03 8.723144854408183e-03 8.713291019755398e-03 - 8.703435278608567e-03 8.693577647775636e-03 8.683718159456632e-03 8.673856827661263e-03 8.663993662505663e-03 - 8.654128683145933e-03 8.644261909320558e-03 8.634393356690426e-03 8.624523033451901e-03 8.614650964506795e-03 - 8.604777179373340e-03 8.594901686657006e-03 8.585024500118565e-03 8.575145640490715e-03 8.565265126670765e-03 - 8.555382971806235e-03 8.545499187654319e-03 8.535613803632294e-03 8.525726842250045e-03 8.515838312646278e-03 - 8.505948232174527e-03 8.496056621077198e-03 8.486163497882877e-03 8.476268872748003e-03 8.466372762116349e-03 - 8.456475199094931e-03 8.446576199856061e-03 8.436675774300739e-03 8.426773941795081e-03 8.416870722731803e-03 - 8.406966134358667e-03 8.397060186389057e-03 8.387152901959176e-03 8.377244311160385e-03 8.367334425300299e-03 - 8.357423258296441e-03 8.347510830980188e-03 8.337597163605794e-03 8.327682270401855e-03 8.317766161869340e-03 - 8.307848867754637e-03 8.297930413816063e-03 8.288010810083676e-03 8.278090072673102e-03 8.268168221765407e-03 - 8.258245278027963e-03 8.248321253600945e-03 8.238396163758082e-03 8.228470040664376e-03 8.218542903042886e-03 - 8.208614761992156e-03 8.198685637447353e-03 8.188755549837494e-03 8.178824516773604e-03 8.168892549578916e-03 - 8.158959670459199e-03 8.149025910256038e-03 8.139091282816925e-03 8.129155801857130e-03 8.119219487437710e-03 - 8.109282361690508e-03 8.099344440765549e-03 8.089405733754036e-03 8.079466270417937e-03 8.069526079135253e-03 - 8.059585169010465e-03 8.049643556954327e-03 8.039701265060109e-03 8.029758314127560e-03 8.019814717074126e-03 - 8.009870488264625e-03 7.999925660293698e-03 7.989980254561855e-03 7.980034282561204e-03 7.970087763203990e-03 - 7.960140717914167e-03 7.950193166721423e-03 7.940245120231920e-03 7.930296599391260e-03 7.920347637831796e-03 - 7.910398250263278e-03 7.900448449763646e-03 7.890498257622273e-03 7.880547695356892e-03 7.870596780430528e-03 - 7.860645524802819e-03 7.850693955430419e-03 7.840742100859013e-03 7.830789973961963e-03 7.820837591210042e-03 - 7.810884973654219e-03 7.800932143705464e-03 7.790979115476222e-03 7.781025902060369e-03 7.771072537550891e-03 - 7.761119045304192e-03 7.751165435253132e-03 7.741211727248220e-03 7.731257943744334e-03 7.721304105116559e-03 - 7.711350222852130e-03 7.701396316987202e-03 7.691442422531397e-03 7.681488555826352e-03 7.671534729460651e-03 - 7.661580965493510e-03 7.651627286213397e-03 7.641673709645761e-03 7.631720246474624e-03 7.621766924002147e-03 - 7.611813774300424e-03 7.601860809420407e-03 7.591908045212342e-03 7.581955503946372e-03 7.572003208680656e-03 - 7.562051174726026e-03 7.552099414296815e-03 7.542147961065804e-03 7.532196840825635e-03 7.522246063843738e-03 - 7.512295650102864e-03 7.502345622322073e-03 7.492396000716249e-03 7.482446799189802e-03 7.472498037196947e-03 - 7.462549747897286e-03 7.452601950331629e-03 7.442654658211039e-03 7.432707892744488e-03 7.422761676416634e-03 - 7.412816028768508e-03 7.402870961455420e-03 7.392926500328647e-03 7.382982678429822e-03 7.373039508794957e-03 - 7.363097007225734e-03 7.353155196864952e-03 7.343214100532815e-03 7.333273734782904e-03 7.323334112197604e-03 - 7.313395265021593e-03 7.303457220900774e-03 7.293519991033275e-03 7.283583594600794e-03 7.273648054943689e-03 - 7.263713394446934e-03 7.253779626580373e-03 7.243846768480717e-03 7.233914855435080e-03 7.223983908518886e-03 - 7.214053940460562e-03 7.204124972417771e-03 7.194197027491048e-03 7.184270126394881e-03 7.174344280726286e-03 - 7.164419514784642e-03 7.154495863236941e-03 7.144573340914020e-03 7.134651962993328e-03 7.124731752265264e-03 - 7.114812732100897e-03 7.104894920638768e-03 7.094978330575343e-03 7.085062992246606e-03 7.075148934793896e-03 - 7.065236171017366e-03 7.055324719420953e-03 7.045414603125002e-03 7.035505845669364e-03 7.025598461448587e-03 - 7.015692466009597e-03 7.005787894887785e-03 6.995884771371198e-03 6.985983107977662e-03 6.976082925249031e-03 - 6.966184246523457e-03 6.956287093797063e-03 6.946391479271966e-03 6.936497425652844e-03 6.926604968509339e-03 - 6.916714124366364e-03 6.906824907731460e-03 6.896937340931554e-03 6.887051448149962e-03 6.877167248699087e-03 - 6.867284753979424e-03 6.857403994050719e-03 6.847525000658012e-03 6.837647785670592e-03 6.827772367409923e-03 - 6.817898770109592e-03 6.808027016717447e-03 6.798157122708669e-03 6.788289103240300e-03 6.778422992931511e-03 - 6.768558816798320e-03 6.758696587557012e-03 6.748836325648165e-03 6.738978054348659e-03 6.729121795949092e-03 - 6.719267563927435e-03 6.709415379633438e-03 6.699565278400954e-03 6.689717278120727e-03 6.679871393303892e-03 - 6.670027647355804e-03 6.660186063525513e-03 6.650346660981845e-03 6.640509452367944e-03 6.630674466396449e-03 - 6.620841735868644e-03 6.611011273308148e-03 6.601183096392477e-03 6.591357229649247e-03 6.581533696087914e-03 - 6.571712512145987e-03 6.561893692372858e-03 6.552077270290561e-03 6.542263272668194e-03 6.532451712617284e-03 - 6.522642609933696e-03 6.512835987879551e-03 6.503031869590782e-03 6.493230268870023e-03 6.483431205156500e-03 - 6.473634714105858e-03 6.463840816056773e-03 6.454049525191551e-03 6.444260863046832e-03 6.434474853362258e-03 - 6.424691517208967e-03 6.414910866799055e-03 6.405132928351729e-03 6.395357735592168e-03 6.385585303753894e-03 - 6.375815649717760e-03 6.366048796411005e-03 6.356284767471845e-03 6.346523580477974e-03 6.336765248927921e-03 - 6.327009805730009e-03 6.317257279178600e-03 6.307507681412946e-03 6.297761032647583e-03 6.288017356862164e-03 - 6.278276676438099e-03 6.268539005625230e-03 6.258804362658888e-03 6.249072783406197e-03 6.239344289504087e-03 - 6.229618894349891e-03 6.219896619699197e-03 6.210177489065160e-03 6.200461523673893e-03 6.190748736475173e-03 - 6.181039151999554e-03 6.171332804226705e-03 6.161629709556120e-03 6.151929884103313e-03 6.142233350147177e-03 - 6.132540131644584e-03 6.122850247356021e-03 6.113163710170625e-03 6.103480551213418e-03 6.093800800141988e-03 - 6.084124469547710e-03 6.074451578566364e-03 6.064782150905211e-03 6.055116209626953e-03 6.045453769994722e-03 - 6.035794848740185e-03 6.026139480474754e-03 6.016487688229946e-03 6.006839485237500e-03 5.997194892776407e-03 - 5.987553934341584e-03 5.977916631713333e-03 5.968282997802390e-03 5.958653055343909e-03 5.949026838944569e-03 - 5.939404365780911e-03 5.929785651209331e-03 5.920170717549854e-03 5.910559587858684e-03 5.900952281370824e-03 - 5.891348811852907e-03 5.881749208142844e-03 5.872153500225121e-03 5.862561701850070e-03 5.852973831530551e-03 - 5.843389912374926e-03 5.833809966833203e-03 5.824234011006907e-03 5.814662060999971e-03 5.805094150375409e-03 - 5.795530303292347e-03 5.785970532524381e-03 5.776414859211175e-03 5.766863306294991e-03 5.757315894674337e-03 - 5.747772638659374e-03 5.738233559732430e-03 5.728698691311226e-03 5.719168051719483e-03 5.709641656042984e-03 - 5.700119526414031e-03 5.690601685377130e-03 5.681088152168133e-03 5.671578940158426e-03 5.662074076665564e-03 - 5.652573592801510e-03 5.643077502877857e-03 5.633585823810169e-03 5.624098577633230e-03 5.614615788052954e-03 - 5.605137471831965e-03 5.595663642810052e-03 5.586194333773162e-03 5.576729570469775e-03 5.567269364923084e-03 - 5.557813736696195e-03 5.548362708847973e-03 5.538916303890826e-03 5.529474534822445e-03 5.520037420561356e-03 - 5.510604996543656e-03 5.501177281279281e-03 5.491754287530179e-03 5.482336037985177e-03 5.472922555453679e-03 - 5.463513859119052e-03 5.454109961206277e-03 5.444710887376439e-03 5.435316669896643e-03 5.425927322428118e-03 - 5.416542861379438e-03 5.407163309793553e-03 5.397788689388935e-03 5.388419016905312e-03 5.379054306533677e-03 - 5.369694588817857e-03 5.360339890208465e-03 5.350990223294556e-03 5.341645606645782e-03 5.332306062415535e-03 - 5.322971612709802e-03 5.313642271564683e-03 5.304318056285795e-03 5.294999000250198e-03 5.285685123732157e-03 - 5.276376439554206e-03 5.267072968338082e-03 5.257774732353860e-03 5.248481751732874e-03 5.239194038865901e-03 - 5.229911616755654e-03 5.220634516968343e-03 5.211362754853240e-03 5.202096346092698e-03 5.192835312362628e-03 - 5.183579674966123e-03 5.174329450821569e-03 5.165084652994387e-03 5.155845310548846e-03 5.146611450951191e-03 - 5.137383086378589e-03 5.128160234647254e-03 5.118942917508807e-03 5.109731156137037e-03 5.100524965000140e-03 - 5.091324360054826e-03 5.082129373049942e-03 5.072940025255639e-03 5.063756329149303e-03 5.054578304260502e-03 - 5.045405972366202e-03 5.036239353680495e-03 5.027078459118392e-03 5.017923310123222e-03 5.008773940483098e-03 - 4.999630364315774e-03 4.990492594829337e-03 4.981360654331298e-03 4.972234563790402e-03 4.963114339923834e-03 - 4.953999995020500e-03 4.944891556281875e-03 4.935789051765770e-03 4.926692493194353e-03 4.917601897109304e-03 - 4.908517284729773e-03 4.899438676825864e-03 4.890366088012707e-03 4.881299532722441e-03 4.872239041569468e-03 - 4.863184636415129e-03 4.854136328649667e-03 4.845094137498133e-03 4.836058083872883e-03 4.827028186746977e-03 - 4.818004458681770e-03 4.808986918914880e-03 4.799975597861264e-03 4.790970512088721e-03 4.781971675128856e-03 - 4.772979106768043e-03 4.763992827229902e-03 4.755012853632298e-03 4.746039197549013e-03 4.737071883993436e-03 - 4.728110941197518e-03 4.719156380399636e-03 4.710208217424537e-03 4.701266473663848e-03 4.692331168251817e-03 - 4.683402315353613e-03 4.674479928383867e-03 4.665564036556664e-03 4.656654662394768e-03 4.647751816371710e-03 - 4.638855516650367e-03 4.629965783672686e-03 4.621082635909843e-03 4.612206084994354e-03 4.603336148102954e-03 - 4.594472856159325e-03 4.585616225744373e-03 4.576766268345947e-03 4.567923003199363e-03 4.559086450091263e-03 - 4.550256626033265e-03 4.541433541986122e-03 4.532617220194613e-03 4.523807688535670e-03 4.515004959722835e-03 - 4.506209047920159e-03 4.497419972185719e-03 4.488637751873642e-03 4.479862401381760e-03 4.471093932025212e-03 - 4.462332371280023e-03 4.453577742726973e-03 4.444830056583276e-03 4.436089328917552e-03 4.427355578888171e-03 - 4.418628824988929e-03 4.409909078668640e-03 4.401196354933857e-03 4.392490684030716e-03 4.383792083151365e-03 - 4.375100562120779e-03 4.366416138313078e-03 4.357738831525952e-03 4.349068659591380e-03 4.340405630957790e-03 - 4.331749765364269e-03 4.323101091949651e-03 4.314459623208851e-03 4.305825371349630e-03 4.297198354190413e-03 - 4.288578590720092e-03 4.279966095343473e-03 4.271360877578565e-03 4.262762963097229e-03 4.254172376200769e-03 - 4.245589126222103e-03 4.237013227440267e-03 4.228444697962537e-03 4.219883556022182e-03 4.211329813254019e-03 - 4.202783482548908e-03 4.194244591796649e-03 4.185713159116739e-03 4.177189194188086e-03 4.168672712320958e-03 - 4.160163731860882e-03 4.151662270610665e-03 4.143168336754119e-03 4.134681947397693e-03 4.126203130809124e-03 - 4.117731899759874e-03 4.109268265260960e-03 4.100812244167818e-03 4.092363854125291e-03 4.083923109325604e-03 - 4.075490018959178e-03 4.067064605609816e-03 4.058646892914489e-03 4.050236890474988e-03 4.041834611549669e-03 - 4.033440073099425e-03 4.025053291802670e-03 4.016674279190388e-03 4.008303046950822e-03 3.999939621219669e-03 - 3.991584019864232e-03 3.983236251035503e-03 3.974896329846703e-03 3.966564273682151e-03 3.958240098637734e-03 - 3.949923812376889e-03 3.941615430268695e-03 3.933314980874398e-03 3.925022475755094e-03 3.916737923312982e-03 - 3.908461340476090e-03 3.900192744628528e-03 3.891932149238224e-03 3.883679560814138e-03 3.875435000263637e-03 - 3.867198492508630e-03 3.858970045729460e-03 3.850749670926077e-03 3.842537384120139e-03 3.834333202377867e-03 - 3.826137136626801e-03 3.817949195349815e-03 3.809769403427763e-03 3.801597779587331e-03 3.793434330750140e-03 - 3.785279069923421e-03 3.777132013373491e-03 3.768993177352847e-03 3.760862568898475e-03 3.752740200334732e-03 - 3.744626099044159e-03 3.736520277340854e-03 3.728422742215669e-03 3.720333508785603e-03 3.712252593018920e-03 - 3.704180008090329e-03 3.696115760631814e-03 3.688059868276574e-03 3.680012354362612e-03 3.671973228138760e-03 - 3.663942499526064e-03 3.655920182566113e-03 3.647906292785413e-03 3.639900840938008e-03 3.631903834337251e-03 - 3.623915295229000e-03 3.615935242250758e-03 3.607963681828620e-03 3.600000626081414e-03 3.592046089865790e-03 - 3.584100087061132e-03 3.576162625323692e-03 3.568233715505030e-03 3.560313381862740e-03 3.552401637255495e-03 - 3.544498488187401e-03 3.536603947761108e-03 3.528718030587010e-03 3.520840749407267e-03 3.512972109975055e-03 - 3.505112127471606e-03 3.497260824593953e-03 3.489418209893856e-03 3.481584291815555e-03 3.473759083632174e-03 - 3.465942599385497e-03 3.458134849136788e-03 3.450335838875430e-03 3.442545588595099e-03 3.434764116831954e-03 - 3.426991428902786e-03 3.419227535146918e-03 3.411472449427477e-03 3.403726185233638e-03 3.395988749408295e-03 - 3.388260149964055e-03 3.380540409506120e-03 3.372829541439428e-03 3.365127551327278e-03 3.357434450344299e-03 - 3.349750251864305e-03 3.342074968176267e-03 3.334408603200120e-03 3.326751169911567e-03 3.319102691777129e-03 - 3.311463175183513e-03 3.303832626198486e-03 3.296211059114474e-03 3.288598486024217e-03 3.280994915398627e-03 - 3.273400352769854e-03 3.265814815709593e-03 3.258238322074859e-03 3.250670876135365e-03 3.243112486983179e-03 - 3.235563167624456e-03 3.228022929479646e-03 3.220491779361285e-03 3.212969724272006e-03 3.205456783570964e-03 - 3.197952970426890e-03 3.190458290104943e-03 3.182972751519780e-03 3.175496366385864e-03 3.168029146873250e-03 - 3.160571096621216e-03 3.153122225636278e-03 3.145682555500280e-03 3.138252093348739e-03 3.130830843615626e-03 - 3.123418817816768e-03 3.116016027518625e-03 3.108622481356378e-03 3.101238183229207e-03 3.093863147897005e-03 - 3.086497392737253e-03 3.079140921752824e-03 3.071793741871484e-03 3.064455864252268e-03 3.057127299904285e-03 - 3.049808055146270e-03 3.042498134791386e-03 3.035197556645182e-03 3.027906333235584e-03 3.020624467536793e-03 - 3.013351968343262e-03 3.006088846580162e-03 2.998835112089031e-03 2.991590768047797e-03 2.984355822285627e-03 - 2.977130294631421e-03 2.969914192263928e-03 2.962707518230782e-03 2.955510282832787e-03 2.948322496039390e-03 - 2.941144165204636e-03 2.933975293458325e-03 2.926815893073326e-03 2.919665980487675e-03 2.912525559332239e-03 - 2.905394635071103e-03 2.898273217656210e-03 2.891161316595433e-03 2.884058936906487e-03 2.876966081111658e-03 - 2.869882766189157e-03 2.862809005041444e-03 2.855744798230348e-03 2.848690153100023e-03 2.841645079496137e-03 - 2.834609585256340e-03 2.827583673848185e-03 2.820567351490293e-03 2.813560634590312e-03 2.806563530531927e-03 - 2.799576041999259e-03 2.792598177467573e-03 2.785629945309582e-03 2.778671351607254e-03 2.771722398039775e-03 - 2.764783095014263e-03 2.757853459091809e-03 2.750933492568204e-03 2.744023198517816e-03 2.737122585640385e-03 - 2.730231662189404e-03 2.723350432970404e-03 2.716478899800820e-03 2.709617075896625e-03 2.702764973241287e-03 - 2.695922593060963e-03 2.689089940152226e-03 2.682267022316270e-03 2.675453847914084e-03 2.668650418902243e-03 - 2.661856738145520e-03 2.655072822033232e-03 2.648298678030288e-03 2.641534306206961e-03 2.634779712258937e-03 - 2.628034904058933e-03 2.621299888635041e-03 2.614574665771587e-03 2.607859242632423e-03 2.601153634957146e-03 - 2.594457844452072e-03 2.587771872555374e-03 2.581095727373358e-03 2.574429415266960e-03 2.567772939497474e-03 - 2.561126300777387e-03 2.554489510835181e-03 2.547862581281132e-03 2.541245510713479e-03 2.534638303078699e-03 - 2.528040966193904e-03 2.521453505493298e-03 2.514875922225054e-03 2.508308218200437e-03 2.501750407164573e-03 - 2.495202496081871e-03 2.488664484118587e-03 2.482136376281468e-03 2.475618178705269e-03 2.469109895957427e-03 - 2.462611527825166e-03 2.456123079328407e-03 2.449644563898542e-03 2.443175984269443e-03 2.436717340526153e-03 - 2.430268636964234e-03 2.423829879853036e-03 2.417401073311931e-03 2.410982215756923e-03 2.404573315098301e-03 - 2.398174382071132e-03 2.391785416912405e-03 2.385406421217447e-03 2.379037399546287e-03 2.372678357701878e-03 - 2.366329296305038e-03 2.359990214012962e-03 2.353661123666590e-03 2.347342032379030e-03 2.341032936953993e-03 - 2.334733840455562e-03 2.328444748068140e-03 2.322165663885325e-03 2.315896586946297e-03 2.309637519733881e-03 - 2.303388473653537e-03 2.297149451184649e-03 2.290920451297887e-03 2.284701476927273e-03 2.278492533074980e-03 - 2.272293622898508e-03 2.266104742447669e-03 2.259925897918875e-03 2.253757100645447e-03 2.247598348619136e-03 - 2.241449641489242e-03 2.235310983406359e-03 2.229182378556762e-03 2.223063827011661e-03 2.216955326220785e-03 - 2.210856885615230e-03 2.204768511855369e-03 2.198690202073136e-03 2.192621957162963e-03 2.186563780523993e-03 - 2.180515675851768e-03 2.174477640514074e-03 2.168449674335647e-03 2.162431789038673e-03 2.156423986093689e-03 - 2.150426261719325e-03 2.144438618887063e-03 2.138461061015507e-03 2.132493589319895e-03 2.126536199820428e-03 - 2.120588896234097e-03 2.114651688169617e-03 2.108724573757348e-03 2.102807551461262e-03 2.096900623831682e-03 - 2.091003792760502e-03 2.085117057433877e-03 2.079240415028002e-03 2.073373872799373e-03 2.067517436442142e-03 - 2.061671101563673e-03 2.055834867994772e-03 2.050008738194652e-03 2.044192713868095e-03 2.038386792128391e-03 - 2.032590971333173e-03 2.026805260662020e-03 2.021029661329869e-03 2.015264168518725e-03 2.009508783500123e-03 - 2.003763508166370e-03 1.998028342654997e-03 1.992303282805534e-03 1.986588330078225e-03 1.980883492165770e-03 - 1.975188767039759e-03 1.969504151730439e-03 1.963829647004430e-03 1.958165254218237e-03 1.952510971963634e-03 - 1.946866794889960e-03 1.941232728159857e-03 1.935608777640074e-03 1.929994938329363e-03 1.924391207914093e-03 - 1.918797587114099e-03 1.913214077256622e-03 1.907640674795718e-03 1.902077375557082e-03 1.896524186430478e-03 - 1.890981108949087e-03 1.885448138032121e-03 1.879925272541809e-03 1.874412513138102e-03 1.868909859971047e-03 - 1.863417306389931e-03 1.857934851379391e-03 1.852462503653811e-03 1.847000259754348e-03 1.841548114039762e-03 - 1.836106066817225e-03 1.830674118529854e-03 1.825252266916765e-03 1.819840505202892e-03 1.814438836319749e-03 - 1.809047265638602e-03 1.803665787133681e-03 1.798294397101445e-03 1.792933095135866e-03 1.787581880369786e-03 - 1.782240749155103e-03 1.776909697172910e-03 1.771588728179710e-03 1.766277842767543e-03 1.760977035675204e-03 - 1.755686304337379e-03 1.750405647484752e-03 1.745135063548007e-03 1.739874546386865e-03 1.734624093589025e-03 - 1.729383711586370e-03 1.724153396315838e-03 1.718933140719367e-03 1.713722944309894e-03 1.708522806163372e-03 - 1.703332722978997e-03 1.698152687791741e-03 1.692982700783420e-03 1.687822765464940e-03 1.682672875794938e-03 - 1.677533027054054e-03 1.672403217813849e-03 1.667283446525115e-03 1.662173708173832e-03 1.657073995739192e-03 - 1.651984312946546e-03 1.646904660364047e-03 1.641835029387390e-03 1.636775416468660e-03 1.631725820220986e-03 - 1.626686238226539e-03 1.621656663682810e-03 1.616637091835148e-03 1.611627526662728e-03 1.606627964700548e-03 - 1.601638398623349e-03 1.596658825754688e-03 1.591689243408400e-03 1.586729647378206e-03 1.581780030725023e-03 - 1.576840391697073e-03 1.571910732264727e-03 1.566991046477593e-03 1.562081328242421e-03 1.557181574037859e-03 - 1.552291781114454e-03 1.547411944138861e-03 1.542542055154552e-03 1.537682115822498e-03 1.532832126356767e-03 - 1.527992077470792e-03 1.523161963747274e-03 1.518341782422417e-03 1.513531530571088e-03 1.508731200913292e-03 - 1.503940786876937e-03 1.499160290964809e-03 1.494389709200610e-03 1.489629032745148e-03 1.484878257820629e-03 - 1.480137381279299e-03 1.475406398389162e-03 1.470685299850305e-03 1.465974082141071e-03 1.461272748080975e-03 - 1.456581290224651e-03 1.451899700275850e-03 1.447227974089072e-03 1.442566108566721e-03 1.437914097994959e-03 - 1.433271932504185e-03 1.428639611034298e-03 1.424017133356480e-03 1.419404490680891e-03 1.414801676491448e-03 - 1.410208686553135e-03 1.405625516589791e-03 1.401052158609908e-03 1.396488604511052e-03 1.391934855472548e-03 - 1.387390907364871e-03 1.382856750165021e-03 1.378332378783991e-03 1.373817788890047e-03 1.369312974750468e-03 - 1.364817927255285e-03 1.360332641059443e-03 1.355857116711623e-03 1.351391347026849e-03 1.346935323100728e-03 - 1.342489039284644e-03 1.338052491255308e-03 1.333625672740901e-03 1.329208572800934e-03 1.324801188462658e-03 - 1.320403519143769e-03 1.316015555822497e-03 1.311637290544184e-03 1.307268717472159e-03 1.302909831116118e-03 - 1.298560623326278e-03 1.294221085253892e-03 1.289891216124110e-03 1.285571011566486e-03 1.281260461060531e-03 - 1.276959557618139e-03 1.272668295740209e-03 1.268386669608614e-03 1.264114669618853e-03 1.259852288349743e-03 - 1.255599524419093e-03 1.251356371085625e-03 1.247122819189722e-03 1.242898861265979e-03 1.238684491359706e-03 - 1.234479702756933e-03 1.230284484841117e-03 1.226098832748256e-03 1.221922744434409e-03 1.217756210326720e-03 - 1.213599221362577e-03 1.209451770765583e-03 1.205313852635065e-03 1.201185458480448e-03 1.197066577985755e-03 - 1.192957208640432e-03 1.188857345511447e-03 1.184766976969275e-03 1.180686095693037e-03 1.176614695732404e-03 - 1.172552769621902e-03 1.168500307042727e-03 1.164457299537124e-03 1.160423745213695e-03 1.156399636114517e-03 - 1.152384961360659e-03 1.148379714206853e-03 1.144383887440774e-03 1.140397472403066e-03 1.136420458871837e-03 - 1.132452840804467e-03 1.128494614815977e-03 1.124545770440235e-03 1.120606297984056e-03 1.116676190709075e-03 - 1.112755440623707e-03 1.108844038267568e-03 1.104941973598277e-03 1.101049242215234e-03 1.097165838523137e-03 - 1.093291750933755e-03 1.089426970747485e-03 1.085571490835547e-03 1.081725303225761e-03 1.077888396808512e-03 - 1.074060761522748e-03 1.070242395009795e-03 1.066433289590875e-03 1.062633433332422e-03 1.058842817553080e-03 - 1.055061434373011e-03 1.051289275348505e-03 1.047526329409495e-03 1.043772588486000e-03 1.040028047931513e-03 - 1.036292698203525e-03 1.032566529042292e-03 1.028849531681517e-03 1.025141697676040e-03 1.021443017315572e-03 - 1.017753479165712e-03 1.014073077446178e-03 1.010401806565697e-03 1.006739654876394e-03 1.003086612170896e-03 - 9.994426698862881e-04 9.958078198244436e-04 9.921820510029489e-04 9.885653522799815e-04 9.849577193159157e-04 - 9.813591440739670e-04 9.777696142556011e-04 9.741891204675346e-04 9.706176542328248e-04 9.670552065524777e-04 - 9.635017651512704e-04 9.599573207794398e-04 9.564218691437683e-04 9.528953995809905e-04 9.493779002331982e-04 - 9.458693621672339e-04 9.423697766254766e-04 9.388791334439822e-04 9.353974200435674e-04 9.319246293443443e-04 - 9.284607555133966e-04 9.250057861419034e-04 9.215597102726345e-04 9.181225189615299e-04 9.146942031524666e-04 - 9.112747514066988e-04 9.078641516289516e-04 9.044623983719834e-04 9.010694834242857e-04 8.976853937790154e-04 - 8.943101192935385e-04 8.909436508104612e-04 8.875859786393426e-04 8.842370902316334e-04 8.808969751654204e-04 - 8.775656281905130e-04 8.742430385918343e-04 8.709291937982416e-04 8.676240840155020e-04 8.643276998573467e-04 - 8.610400308208924e-04 8.577610636611962e-04 8.544907899714905e-04 8.512292035626933e-04 8.479762917886125e-04 - 8.447320428739457e-04 8.414964471843920e-04 8.382694949325988e-04 8.350511744137459e-04 8.318414728923707e-04 - 8.286403836395943e-04 8.254478982373706e-04 8.222640032931049e-04 8.190886878204532e-04 8.159219419987107e-04 - 8.127637556794064e-04 8.096141160179775e-04 8.064730115089579e-04 8.033404360997527e-04 8.002163789609624e-04 - 7.971008268111541e-04 7.939937692507287e-04 7.908951962853333e-04 7.878050969946667e-04 7.847234577702081e-04 - 7.816502689905088e-04 7.785855239466778e-04 7.755292098590464e-04 7.724813142232633e-04 7.694418267842021e-04 - 7.664107372089749e-04 7.633880335334087e-04 7.603737023812342e-04 7.573677358642847e-04 7.543701253849379e-04 - 7.513808572285544e-04 7.483999196962093e-04 7.454273024026923e-04 7.424629947358947e-04 7.395069836664074e-04 - 7.365592567622367e-04 7.336198070174806e-04 7.306886236388442e-04 7.277656929130117e-04 7.248510036837761e-04 - 7.219445453636994e-04 7.190463067357669e-04 7.161562739946586e-04 7.132744364309508e-04 7.104007867132190e-04 - 7.075353120392018e-04 7.046779992824802e-04 7.018288375861283e-04 6.989878161882759e-04 6.961549229362052e-04 - 6.933301438820412e-04 6.905134700383686e-04 6.877048926511914e-04 6.849043978549774e-04 6.821119732944710e-04 - 6.793276080246700e-04 6.765512910034699e-04 6.737830090783149e-04 6.710227490756584e-04 6.682705030776122e-04 - 6.655262603091742e-04 6.627900067379164e-04 6.600617305924390e-04 6.573414207627890e-04 6.546290656955580e-04 - 6.519246513982958e-04 6.492281662548372e-04 6.465396024423735e-04 6.438589471596415e-04 6.411861867028291e-04 - 6.385213096762252e-04 6.358643049114898e-04 6.332151601148890e-04 6.305738609661260e-04 6.279403974635571e-04 - 6.253147606410383e-04 6.226969365620930e-04 6.200869123319087e-04 6.174846765257772e-04 6.148902176504979e-04 - 6.123035224628875e-04 6.097245772740803e-04 6.071533733723410e-04 6.045898999580564e-04 6.020341426510520e-04 - 5.994860891934145e-04 5.969457280748620e-04 5.944130474177512e-04 5.918880332091087e-04 5.893706730594447e-04 - 5.868609584534629e-04 5.843588766665737e-04 5.818644136544619e-04 5.793775576682911e-04 5.768982970317317e-04 - 5.744266191686133e-04 5.719625097277512e-04 5.695059578510202e-04 5.670569542308351e-04 5.646154849082753e-04 - 5.621815365284883e-04 5.597550972743215e-04 5.573361553519681e-04 5.549246974872960e-04 5.525207095632259e-04 - 5.501241820142805e-04 5.477351040267441e-04 5.453534610951853e-04 5.429792405131840e-04 5.406124304314462e-04 - 5.382530187447214e-04 5.359009913605971e-04 5.335563351904396e-04 5.312190411682156e-04 5.288890968140364e-04 - 5.265664878332606e-04 5.242512018091515e-04 5.219432267978740e-04 5.196425502978362e-04 5.173491576918976e-04 - 5.150630373381158e-04 5.127841797796618e-04 5.105125710953982e-04 5.082481974966798e-04 5.059910467933278e-04 - 5.037411069671739e-04 5.014983647643853e-04 4.992628057533249e-04 4.970344196034297e-04 4.948131954905409e-04 - 4.925991188614672e-04 4.903921766298550e-04 4.881923566574878e-04 4.859996466359864e-04 4.838140324815327e-04 - 4.816355005995136e-04 4.794640414647377e-04 4.772996426854546e-04 4.751422896755638e-04 4.729919697488023e-04 - 4.708486707166207e-04 4.687123799720691e-04 4.665830828962369e-04 4.644607671738101e-04 4.623454230212830e-04 - 4.602370366779194e-04 4.581355941018685e-04 4.560410828358216e-04 4.539534906171381e-04 4.518728041821612e-04 - 4.497990089033435e-04 4.477320938149108e-04 4.456720481170030e-04 4.436188572707195e-04 4.415725078895158e-04 - 4.395329875976124e-04 4.375002838422590e-04 4.354743826722610e-04 4.334552702201095e-04 4.314429363226086e-04 - 4.294373687059989e-04 4.274385527576286e-04 4.254464755700176e-04 4.234611247199864e-04 4.214824874479911e-04 - 4.195105492176435e-04 4.175452972239935e-04 4.155867214135851e-04 4.136348082067204e-04 4.116895433467350e-04 - 4.097509141339746e-04 4.078189081189173e-04 4.058935120995524e-04 4.039747114386321e-04 4.020624945699733e-04 - 4.001568506324645e-04 3.982577652062802e-04 3.963652246433777e-04 3.944792163840573e-04 3.925997278951708e-04 - 3.907267452820787e-04 3.888602542761684e-04 3.870002443827855e-04 3.851467035420477e-04 3.832996170232135e-04 - 3.814589716941001e-04 3.796247550166885e-04 3.777969542187427e-04 3.759755548771444e-04 3.741605437648361e-04 - 3.723519105456335e-04 3.705496418343326e-04 3.687537232626712e-04 3.669641420580878e-04 3.651808856652343e-04 - 3.634039408935104e-04 3.616332930379869e-04 3.598689301103073e-04 3.581108413327368e-04 3.563590123412032e-04 - 3.546134293224166e-04 3.528740796868620e-04 3.511409507353364e-04 3.494140287293094e-04 3.476932993968030e-04 - 3.459787517007610e-04 3.442703736842207e-04 3.425681507579447e-04 3.408720696736798e-04 3.391821178070990e-04 - 3.374982823340253e-04 3.358205489790399e-04 3.341489042294683e-04 3.324833375391577e-04 3.308238358267097e-04 - 3.291703846864138e-04 3.275229711235071e-04 3.258815824857735e-04 3.242462057388915e-04 3.226168264116891e-04 - 3.209934320343741e-04 3.193760116170641e-04 3.177645512713499e-04 3.161590371207419e-04 3.145594562690266e-04 - 3.129657961319975e-04 3.113780432227079e-04 3.097961831114660e-04 3.082202043645004e-04 3.066500952444524e-04 - 3.050858414009347e-04 3.035274294402161e-04 3.019748466354355e-04 3.004280802320956e-04 2.988871162192853e-04 - 2.973519409077311e-04 2.958225434173786e-04 2.942989109163873e-04 2.927810290941792e-04 2.912688849504159e-04 - 2.897624658129895e-04 2.882617587216531e-04 2.867667493909568e-04 2.852774250910157e-04 2.837937747837379e-04 - 2.823157848000407e-04 2.808434412718301e-04 2.793767313619733e-04 2.779156424588856e-04 2.764601612241833e-04 - 2.750102732798498e-04 2.735659669757869e-04 2.721272307826111e-04 2.706940504177620e-04 2.692664125118005e-04 - 2.678443044384447e-04 2.664277133531666e-04 2.650166254907073e-04 2.636110271946842e-04 2.622109073508727e-04 - 2.608162534146021e-04 2.594270512444905e-04 2.580432877716125e-04 2.566649503351083e-04 2.552920261463284e-04 - 2.539245011192165e-04 2.525623623480746e-04 2.512055988243127e-04 2.498541971146173e-04 2.485081433825346e-04 - 2.471674249383843e-04 2.458320291468696e-04 2.445019428356345e-04 2.431771519464020e-04 2.418576445147758e-04 - 2.405434090455539e-04 2.392344316436903e-04 2.379306989304936e-04 2.366321982706708e-04 2.353389171046539e-04 - 2.340508418959193e-04 2.327679588365217e-04 2.314902568213100e-04 2.302177235947735e-04 2.289503450019842e-04 - 2.276881081822984e-04 2.264310006278554e-04 2.251790095285085e-04 2.239321211178975e-04 2.226903224828012e-04 - 2.214536025966827e-04 2.202219483393713e-04 2.189953459440866e-04 2.177737827672056e-04 2.165572463172210e-04 - 2.153457236927424e-04 2.141392010208329e-04 2.129376661694288e-04 2.117411078009580e-04 2.105495123800498e-04 - 2.093628666254358e-04 2.081811579562958e-04 2.070043738711933e-04 2.058325011765904e-04 2.046655262979033e-04 - 2.035034378928387e-04 2.023462239716796e-04 2.011938707312936e-04 2.000463653117907e-04 1.989036953143001e-04 - 1.977658482429478e-04 1.966328105707422e-04 1.955045692837424e-04 1.943811134060168e-04 1.932624302421221e-04 - 1.921485062157297e-04 1.910393287336514e-04 1.899348854684124e-04 1.888351638115297e-04 1.877401500482506e-04 - 1.866498319949601e-04 1.855641985831636e-04 1.844832365124926e-04 1.834069326310023e-04 1.823352746298841e-04 - 1.812682501147551e-04 1.802058461455679e-04 1.791480493724017e-04 1.780948483852737e-04 1.770462314872484e-04 - 1.760021851824818e-04 1.749626967491274e-04 1.739277539439587e-04 1.728973444305181e-04 1.718714550470096e-04 - 1.708500728855944e-04 1.698331869571933e-04 1.688207849549946e-04 1.678128535713188e-04 1.668093803524777e-04 - 1.658103531111011e-04 1.648157594964937e-04 1.638255861976382e-04 1.628398210066413e-04 1.618584529166454e-04 - 1.608814690931768e-04 1.599088565742865e-04 1.589406031206167e-04 1.579766966509897e-04 1.570171246224424e-04 - 1.560618738321770e-04 1.551109328208930e-04 1.541642902068764e-04 1.532219328717612e-04 1.522838482661923e-04 - 1.513500243337891e-04 1.504204489591066e-04 1.494951093483970e-04 1.485739927662749e-04 1.476570882997282e-04 - 1.467443839796364e-04 1.458358667202351e-04 1.449315243896633e-04 1.440313449862068e-04 1.431353162531848e-04 - 1.422434254066872e-04 1.413556604013758e-04 1.404720102486319e-04 1.395924625558734e-04 1.387170046489957e-04 - 1.378456244430427e-04 1.369783100559194e-04 1.361150493062282e-04 1.352558293490397e-04 1.344006387024136e-04 - 1.335494662293593e-04 1.327022993333140e-04 1.318591256583063e-04 1.310199332689028e-04 1.301847103692820e-04 - 1.293534446013900e-04 1.285261234477974e-04 1.277027359881715e-04 1.268832706365997e-04 1.260677147052468e-04 - 1.252560562359565e-04 1.244482834803957e-04 1.236443845356053e-04 1.228443469528238e-04 1.220481588198588e-04 - 1.212558093699401e-04 1.204672865809282e-04 1.196825780471873e-04 1.189016720308052e-04 1.181245568536085e-04 - 1.173512205995857e-04 1.165816508484800e-04 1.158158362776897e-04 1.150537660210759e-04 1.142954277590100e-04 - 1.135408094568152e-04 1.127898995954114e-04 1.120426864956402e-04 1.112991581353023e-04 1.105593024093304e-04 - 1.098231085283700e-04 1.090905652465313e-04 1.083616601800625e-04 1.076363816399760e-04 1.069147182196831e-04 - 1.061966583782502e-04 1.054821899944032e-04 1.047713013150353e-04 1.040639818640637e-04 1.033602200082437e-04 - 1.026600035826387e-04 1.019633211976323e-04 1.012701615275282e-04 1.005805130149820e-04 9.989436355203399e-05 - 9.921170194739147e-05 9.853251765411631e-05 9.785679881782247e-05 9.718453366352614e-05 9.651571091087277e-05 - 9.585031930594751e-05 9.518834724915350e-05 9.452978284703146e-05 9.387461543789448e-05 9.322283420353250e-05 - 9.257442723618249e-05 9.192938310286574e-05 9.128769066247626e-05 9.064933872161225e-05 9.001431561187756e-05 - 8.938260983500139e-05 8.875421104519957e-05 8.812910809646098e-05 8.750728925694059e-05 8.688874335824857e-05 - 8.627345936363417e-05 8.566142611724158e-05 8.505263195150667e-05 8.444706587898619e-05 8.384471762172232e-05 - 8.324557578035348e-05 8.264962891132210e-05 8.205686604727953e-05 8.146727626544971e-05 8.088084838175318e-05 - 8.029757088191735e-05 7.971743327705584e-05 7.914042512047892e-05 7.856653495630607e-05 7.799575166346450e-05 - 7.742806441871695e-05 7.686346239245813e-05 7.630193435494130e-05 7.574346911053080e-05 7.518805653837606e-05 - 7.463568593117825e-05 7.408634594826592e-05 7.354002575090044e-05 7.299671464423979e-05 7.245640185167563e-05 - 7.191907614532941e-05 7.138472679150608e-05 7.085334380230530e-05 7.032491623916224e-05 6.979943301854977e-05 - 6.927688351841825e-05 6.875725716877753e-05 6.824054320182008e-05 6.772673050550591e-05 6.721580881996242e-05 - 6.670776807704407e-05 6.620259726868480e-05 6.570028562031883e-05 6.520082266140781e-05 6.470419793220322e-05 - 6.421040064958054e-05 6.371941996817583e-05 6.323124601185380e-05 6.274586851226631e-05 6.226327655003573e-05 - 6.178345963615301e-05 6.130640743984757e-05 6.083210957777482e-05 6.036055527561582e-05 5.989173409263222e-05 - 5.942563633391719e-05 5.896225154191688e-05 5.850156903007261e-05 5.804357852627766e-05 5.758826983099529e-05 - 5.713563260712647e-05 5.668565617514362e-05 5.623833053838233e-05 5.579364600051564e-05 5.535159201768813e-05 - 5.491215819134343e-05 5.447533442712218e-05 5.404111064124177e-05 5.360947650466450e-05 5.318042157160001e-05 - 5.275393622516995e-05 5.233001062811153e-05 5.190863431238880e-05 5.148979716458554e-05 5.107348923404401e-05 - 5.065970053025621e-05 5.024842074849432e-05 4.983963979263951e-05 4.943334827635427e-05 4.902953621108006e-05 - 4.862819332553702e-05 4.822930973793706e-05 4.783287562882953e-05 4.743888107972067e-05 4.704731588033618e-05 - 4.665817033540254e-05 4.627143510842172e-05 4.588710014690383e-05 4.550515545082771e-05 4.512559130332447e-05 - 4.474839802715817e-05 4.437356575264515e-05 4.400108444300858e-05 4.363094478314062e-05 4.326313737450849e-05 - 4.289765220307346e-05 4.253447954450777e-05 4.217360984935306e-05 4.181503354031293e-05 4.145874078526325e-05 - 4.110472186234567e-05 4.075296770939578e-05 4.040346881442376e-05 4.005621534517384e-05 3.971119780891244e-05 - 3.936840678851008e-05 3.902783280379881e-05 3.868946611492773e-05 3.835329736378580e-05 3.801931758461789e-05 - 3.768751721520911e-05 3.735788667634669e-05 3.703041665089796e-05 3.670509786268472e-05 3.638192090588934e-05 - 3.606087620758478e-05 3.574195476070656e-05 3.542514758568229e-05 3.511044516462031e-05 3.479783817623805e-05 - 3.448731747191980e-05 3.417887390941621e-05 3.387249813623169e-05 3.356818082938366e-05 3.326591326488256e-05 - 3.296568640239042e-05 3.266749086476883e-05 3.237131756688427e-05 3.207715751232477e-05 3.178500166911470e-05 - 3.149484077201404e-05 3.120666582870710e-05 3.092046825328168e-05 3.063623897047349e-05 3.035396883732847e-05 - 3.007364895961203e-05 2.979527048619034e-05 2.951882447255356e-05 2.924430180184470e-05 2.897169381596313e-05 - 2.870099196601076e-05 2.843218722351712e-05 2.816527069305565e-05 2.790023364581556e-05 2.763706736588794e-05 - 2.737576298520704e-05 2.711631161938774e-05 2.685870489191871e-05 2.660293422952212e-05 2.634899073350601e-05 - 2.609686574272242e-05 2.584655068622352e-05 2.559803697386157e-05 2.535131582907573e-05 2.510637865851451e-05 - 2.486321726016628e-05 2.462182305120829e-05 2.438218734168926e-05 2.414430166313400e-05 2.390815760058303e-05 - 2.367374667612129e-05 2.344106023464476e-05 2.321008999935892e-05 2.298082786356460e-05 2.275326527748312e-05 - 2.252739378233606e-05 2.230320509258137e-05 2.208069093512809e-05 2.185984291941186e-05 2.164065260635458e-05 - 2.142311199522572e-05 2.120721298028661e-05 2.099294714303281e-05 2.078030625998752e-05 2.056928220029127e-05 - 2.035986682231265e-05 2.015205183896797e-05 1.994582907956633e-05 1.974119073954575e-05 1.953812872162773e-05 - 1.933663479825456e-05 1.913670094979531e-05 1.893831919578259e-05 1.874148151575467e-05 1.854617976080873e-05 - 1.835240605058427e-05 1.816015268982217e-05 1.796941162992672e-05 1.778017486956627e-05 1.759243456762222e-05 - 1.740618289118282e-05 1.722141193137039e-05 1.703811372777776e-05 1.685628066375182e-05 1.667590509374455e-05 - 1.649697910104339e-05 1.631949489857415e-05 1.614344479286407e-05 1.596882111103627e-05 1.579561606259506e-05 - 1.562382191518076e-05 1.545343126338709e-05 1.528443649706141e-05 1.511682986511545e-05 1.495060379262073e-05 - 1.478575075387210e-05 1.462226320346460e-05 1.446013347627832e-05 1.429935410828208e-05 1.413991783947596e-05 - 1.398181711799591e-05 1.382504440087988e-05 1.366959229690567e-05 1.351545344207288e-05 1.336262041089977e-05 - 1.321108569966174e-05 1.306084210743495e-05 1.291188246012095e-05 1.276419932540445e-05 1.261778537439798e-05 - 1.247263337350260e-05 1.232873611168182e-05 1.218608628547451e-05 1.204467661277090e-05 1.190450010670460e-05 - 1.176554964839514e-05 1.162781797531038e-05 1.149129796332477e-05 1.135598253898601e-05 1.122186462622714e-05 - 1.108893706038782e-05 1.095719281332111e-05 1.082662505098182e-05 1.069722672643097e-05 1.056899077370047e-05 - 1.044191025341683e-05 1.031597825830204e-05 1.019118784797653e-05 1.006753201372614e-05 9.945003972957807e-06 - 9.823597003224701e-06 9.703304169766936e-06 9.584118614966616e-06 9.466033570975281e-06 9.349042284940899e-06 - 9.233137946012443e-06 9.118313747892748e-06 9.004563126071509e-06 8.891879438415634e-06 8.780255908737012e-06 - 8.669685879934477e-06 8.560162746518096e-06 8.451679906731882e-06 8.344230688978416e-06 8.237808513777729e-06 - 8.132406985376577e-06 8.028019552616531e-06 7.924639629701503e-06 7.822260741691212e-06 7.720876445763237e-06 - 7.620480284148957e-06 7.521065743540658e-06 7.422626477381218e-06 7.325156218634066e-06 7.228648532638821e-06 - 7.133097034958690e-06 7.038495423985100e-06 6.944837416133499e-06 6.852116691729515e-06 6.760326924607246e-06 - 6.669461983453847e-06 6.579515704432944e-06 6.490481806747385e-06 6.402354101863004e-06 6.315126452251840e-06 - 6.228792731669073e-06 6.143346764859859e-06 6.058782435540508e-06 5.975093791198315e-06 5.892274772590937e-06 - 5.810319279027480e-06 5.729221306547671e-06 5.648974882411472e-06 5.569574030477156e-06 5.491012732167998e-06 - 5.413285091010444e-06 5.336385298912571e-06 5.260307420244722e-06 5.185045547999291e-06 5.110593849728286e-06 - 5.036946516955677e-06 4.964097720721464e-06 4.892041619202182e-06 4.820772525961763e-06 4.750284753859853e-06 - 4.680572517390150e-06 4.611630102585562e-06 4.543451844884654e-06 4.476032095169469e-06 4.409365173309600e-06 - 4.343445435493855e-06 4.278267378107974e-06 4.213825432046252e-06 4.150113986510229e-06 4.087127510654963e-06 - 4.024860505544460e-06 3.963307478207591e-06 3.902462905546128e-06 3.842321351732513e-06 3.782877469285005e-06 - 3.724125818875267e-06 3.666060976275786e-06 3.608677584308628e-06 3.551970310325800e-06 3.495933813913828e-06 - 3.440562742860537e-06 3.385851865026623e-06 3.331795968547279e-06 3.278389763636986e-06 3.225628015585682e-06 - 3.173505536483180e-06 3.122017155106099e-06 3.071157684657154e-06 3.020921961442045e-06 2.971304937503200e-06 - 2.922301530764381e-06 2.873906622400171e-06 2.826115159163556e-06 2.778922119160790e-06 2.732322492500433e-06 - 2.686311250918327e-06 2.640883427466542e-06 2.596034137909800e-06 2.551758437600915e-06 2.508051388712647e-06 - 2.464908112415978e-06 2.422323753722291e-06 2.380293459852445e-06 2.338812372063220e-06 2.297875719562253e-06 - 2.257478763762930e-06 2.217616712073996e-06 2.178284811840686e-06 2.139478353112250e-06 2.101192645402220e-06 - 2.063422994293474e-06 2.026164721213360e-06 1.989413239181793e-06 1.953163950788084e-06 1.917412231009713e-06 - 1.882153506609316e-06 1.847383234461138e-06 1.813096887995954e-06 1.779289933937322e-06 1.745957881749227e-06 - 1.713096313387221e-06 1.680700776153704e-06 1.648766820412035e-06 1.617290047665242e-06 1.586266083282953e-06 - 1.555690561349229e-06 1.525559115412809e-06 1.495867444877275e-06 1.466611286844381e-06 1.437786342321971e-06 - 1.409388342689011e-06 1.381413059137875e-06 1.353856283643994e-06 1.326713811980504e-06 1.299981452903499e-06 - 1.273655087535907e-06 1.247730601634883e-06 1.222203862466376e-06 1.197070780161529e-06 1.172327293218336e-06 - 1.147969358200551e-06 1.123992934949297e-06 1.100394014305713e-06 1.077168647815731e-06 1.054312872343777e-06 - 1.031822727943270e-06 1.009694299029158e-06 9.879236928228051e-07 9.665070295488333e-07 9.454404356909418e-07 - 9.247200854784831e-07 9.043421911847067e-07 8.843029477247774e-07 8.645985728173436e-07 8.452253193362285e-07 - 8.261794626052351e-07 8.074572875932502e-07 7.890550921071068e-07 7.709692301619030e-07 7.531960701353248e-07 - 7.357319715620587e-07 7.185733287203112e-07 7.017165630618881e-07 6.851581162834306e-07 6.688944388625421e-07 - 6.529220052598067e-07 6.372373411274385e-07 6.218369717692920e-07 6.067174274527125e-07 5.918752755194360e-07 - 5.773071063798692e-07 5.630095271034721e-07 5.489791556312369e-07 5.352126455394792e-07 5.217066864180125e-07 - 5.084579644193884e-07 4.954631845887763e-07 4.827190834887087e-07 4.702224204045173e-07 4.579699684713550e-07 - 4.459585154334098e-07 4.341848919935187e-07 4.226459485782965e-07 4.113385363883691e-07 4.002595352312233e-07 - 3.894058504065020e-07 3.787744086301839e-07 3.683621500987016e-07 3.581660355932383e-07 3.481830676805770e-07 - 3.384102581524441e-07 3.288446273745833e-07 3.194832275224818e-07 3.103231330843525e-07 3.013614373207315e-07 - 2.925952486098954e-07 2.840217031010630e-07 2.756379695267500e-07 2.674412234106971e-07 2.594286576386206e-07 - 2.515974937029081e-07 2.439449754383926e-07 2.364683632309526e-07 2.291649345383248e-07 2.220320002407473e-07 - 2.150668931442167e-07 2.082669548865648e-07 2.016295514473211e-07 1.951520727682157e-07 1.888319311586693e-07 - 1.826665552837694e-07 1.766533931743509e-07 1.707899271779558e-07 1.650736547045015e-07 1.595020857916059e-07 - 1.540727581256184e-07 1.487832309302349e-07 1.436310837043274e-07 1.386139140291348e-07 1.337293426531939e-07 - 1.289750194034745e-07 1.243486077550924e-07 1.198477884856861e-07 1.154702687444825e-07 1.112137774078364e-07 - 1.070760615754017e-07 1.030548878714015e-07 9.914804983102429e-08 9.535336319532080e-08 9.166865877274502e-08 - 8.809178921148019e-08 8.462062987184363e-08 8.125307865123530e-08 7.798705169188094e-08 7.482048486743137e-08 - 7.175134265372113e-08 6.877760756933380e-08 6.589727849023001e-08 6.310837918621049e-08 6.040895419177239e-08 - 5.779706919084610e-08 5.527080986023133e-08 5.282828275733461e-08 5.046762055622123e-08 4.818697371034567e-08 - 4.598451068334482e-08 4.385842456607357e-08 4.180692971968811e-08 3.982825980405518e-08 3.792066966127786e-08 - 3.608243718277188e-08 3.431186206040581e-08 3.260726312426322e-08 3.096697968233847e-08 2.938937298745983e-08 - 2.787282684203093e-08 2.641574418968914e-08 2.501654849393015e-08 2.367368813134603e-08 2.238563078881267e-08 - 2.115086344400587e-08 1.996789606940446e-08 1.883525886916157e-08 1.775150390948272e-08 1.671520402936120e-08 - 1.572495208680648e-08 1.477936511938296e-08 1.387707990026544e-08 1.301675220490221e-08 1.219706138041649e-08 - 1.141670750179082e-08 1.067441065312196e-08 9.968913113355902e-09 9.298978133402818e-09 8.663390331238368e-09 - 8.060955677291694e-09 7.490500025975069e-09 6.950870854385858e-09 6.440937996309972e-09 5.959590797852082e-09 - 5.505739944416565e-09 5.078318901633865e-09 4.676280806472903e-09 4.298600029449081e-09 3.944272776496124e-09 - 3.612315204086912e-09 3.301765808464261e-09 3.011683971683484e-09 2.741149022073358e-09 2.489263438950313e-09 - 2.255150010734707e-09 2.037951439802415e-09 1.836833426869985e-09 1.650981924522248e-09 1.479603458288696e-09 - 1.321927088896133e-09 1.177201927023745e-09 1.044698361371603e-09 9.237089042804517e-10 8.135457713165132e-10 - 7.135428727606122e-10 6.230561233086797e-10 5.414610837010692e-10 4.681552957722881e-10 4.025579739718386e-10 - 3.441080911031397e-10 2.922668865200973e-10 2.465167169238545e-10 2.063598966733955e-10 1.713213823559041e-10 - 1.409467301732644e-10 1.148017117805301e-10 9.247489436372923e-11 7.357503403670199e-11 5.773147403071901e-11 - 4.459623415664643e-11 3.384125546419585e-11 2.515956035071991e-11 1.826656159304613e-11 1.289741553721677e-11 - 8.808852910154413e-12 5.779611749592996e-12 3.608107240050744e-12 2.114775563702074e-12 1.141629414770904e-12 - 5.504076981088132e-13 2.252028793998774e-13 7.135404618680312e-14 1.400208835054596e-14 2.858282411901289e-16 - 0.000000000000000e+00 3.280907692410757e+00 6.559093802140417e+00 9.834554467967374e+00 1.310728583537977e+01 - 1.637728405657552e+01 1.964454529046227e+01 2.290906570265743e+01 2.617084146548816e+01 2.942986875799139e+01 - 3.268614376591378e+01 3.593966268171175e+01 3.919042170455148e+01 4.243841704030890e+01 4.568364490156970e+01 - 4.892610150762930e+01 5.216578308449292e+01 5.540268586487547e+01 5.863680608820168e+01 6.186814000060598e+01 - 6.509668385493259e+01 6.832243391073550e+01 7.154538643427834e+01 7.476553769853463e+01 7.798288398318758e+01 - 8.119742157463018e+01 8.440914676596513e+01 8.761805585700493e+01 9.082414515427180e+01 9.402741097099775e+01 - 9.722784962712448e+01 1.004254574493035e+02 1.036202307708961e+02 1.068121659319733e+02 1.100012592793157e+02 - 1.131875071664140e+02 1.163709059534683e+02 1.195514520073887e+02 1.227291417017950e+02 1.259039714170167e+02 - 1.290759375400930e+02 1.322450364647731e+02 1.354112645915156e+02 1.385746183274891e+02 1.417350940865720e+02 - 1.448926882893522e+02 1.480473973631275e+02 1.511992177419055e+02 1.543481458664036e+02 1.574941781840487e+02 - 1.606373111489777e+02 1.637775412220371e+02 1.669148648707833e+02 1.700492785694823e+02 1.731807787991100e+02 - 1.763093620473519e+02 1.794350248086033e+02 1.825577635839695e+02 1.856775748812652e+02 1.887944552150149e+02 - 1.919084011064531e+02 1.950194090835239e+02 1.981274756808810e+02 2.012325974398883e+02 2.043347709086188e+02 - 2.074339926418558e+02 2.105302592010923e+02 2.136235671545306e+02 2.167139130770834e+02 2.198012935503726e+02 - 2.228857051627302e+02 2.259671445091978e+02 2.290456081915269e+02 2.321210928181784e+02 2.351935950043234e+02 - 2.382631113718425e+02 2.413296385493261e+02 2.443931731720744e+02 2.474537118820972e+02 2.505112513281143e+02 - 2.535657881655549e+02 2.566173190565586e+02 2.596658406699738e+02 2.627113496813596e+02 2.657538427729843e+02 - 2.687933166338259e+02 2.718297679595726e+02 2.748631934526219e+02 2.778935898220815e+02 2.809209537837683e+02 - 2.839452820602094e+02 2.869665713806416e+02 2.899848184810112e+02 2.930000201039745e+02 2.960121729988974e+02 - 2.990212739218558e+02 3.020273196356349e+02 3.050303069097302e+02 3.080302325203465e+02 3.110270932503987e+02 - 3.140208858895110e+02 3.170116072340180e+02 3.199992540869634e+02 3.229838232581013e+02 3.259653115638948e+02 - 3.289437158275174e+02 3.319190328788521e+02 3.348912595544916e+02 3.378603926977383e+02 3.408264291586049e+02 - 3.437893657938130e+02 3.467491994667945e+02 3.497059270476910e+02 3.526595454133537e+02 3.556100514473437e+02 - 3.585574420399318e+02 3.615017140880985e+02 3.644428644955341e+02 3.673808901726388e+02 3.703157880365222e+02 - 3.732475550110041e+02 3.761761880266134e+02 3.791016840205897e+02 3.820240399368814e+02 3.849432527261474e+02 - 3.878593193457557e+02 3.907722367597846e+02 3.936820019390219e+02 3.965886118609651e+02 3.994920635098217e+02 - 4.023923538765087e+02 4.052894799586530e+02 4.081834387605912e+02 4.110742272933696e+02 4.139618425747443e+02 - 4.168462816291812e+02 4.197275414878559e+02 4.226056191886540e+02 4.254805117761704e+02 4.283522163017099e+02 - 4.312207298232872e+02 4.340860494056267e+02 4.369481721201628e+02 4.398070950450389e+02 4.426628152651090e+02 - 4.455153298719365e+02 4.483646359637945e+02 4.512107306456656e+02 4.540536110292430e+02 4.568932742329288e+02 - 4.597297173818351e+02 4.625629376077841e+02 4.653929320493071e+02 4.682196978516460e+02 4.710432321667516e+02 - 4.738635321532851e+02 4.766805949766169e+02 4.794944178088276e+02 4.823049978287075e+02 4.851123322217564e+02 - 4.879164181801841e+02 4.907172529029099e+02 4.935148335955632e+02 4.963091574704831e+02 4.991002217467178e+02 - 5.018880236500261e+02 5.046725604128764e+02 5.074538292744463e+02 5.102318274806237e+02 5.130065522840063e+02 - 5.157780009439010e+02 5.185461707263250e+02 5.213110589040049e+02 5.240726627563774e+02 5.268309795695885e+02 - 5.295860066364945e+02 5.323377412566609e+02 5.350861807363634e+02 5.378313223885873e+02 5.405731635330272e+02 - 5.433117014960885e+02 5.460469336108854e+02 5.487788572172420e+02 5.515074696616928e+02 5.542327682974811e+02 - 5.569547504845609e+02 5.596734135895950e+02 5.623887549859570e+02 5.651007720537292e+02 5.678094621797045e+02 - 5.705148227573850e+02 5.732168511869830e+02 5.759155448754203e+02 5.786109012363282e+02 5.813029176900482e+02 - 5.839915916636313e+02 5.866769205908384e+02 5.893589019121401e+02 5.920375330747167e+02 5.947128115324583e+02 - 5.973847347459648e+02 6.000533001825459e+02 6.027185053162206e+02 6.053803476277183e+02 6.080388246044777e+02 - 6.106939337406476e+02 6.133456725370861e+02 6.159940385013617e+02 6.186390291477520e+02 6.212806419972447e+02 - 6.239188745775372e+02 6.265537244230364e+02 6.291851890748597e+02 6.318132660808333e+02 6.344379529954938e+02 - 6.370592473800871e+02 6.396771468025696e+02 6.422916488376064e+02 6.449027510665734e+02 6.475104510775553e+02 - 6.501147464653474e+02 6.527156348314542e+02 6.553131137840901e+02 6.579071809381794e+02 6.604978339153558e+02 - 6.630850703439634e+02 6.656688878590552e+02 6.682492841023947e+02 6.708262567224546e+02 6.733998033744177e+02 - 6.759699217201766e+02 6.785366094283333e+02 6.810998641742000e+02 6.836596836397980e+02 6.862160655138592e+02 - 6.887690074918247e+02 6.913185072758453e+02 6.938645625747821e+02 6.964071711042051e+02 6.989463305863949e+02 - 7.014820387503412e+02 7.040142933317441e+02 7.065430920730126e+02 7.090684327232666e+02 7.115903130383348e+02 - 7.141087307807558e+02 7.166236837197782e+02 7.191351696313601e+02 7.216431862981700e+02 7.241477315095852e+02 - 7.266488030616937e+02 7.291463987572921e+02 7.316405164058881e+02 7.341311538236981e+02 7.366183088336488e+02 - 7.391019792653765e+02 7.415821629552270e+02 7.440588577462564e+02 7.465320614882301e+02 7.490017720376235e+02 - 7.514679872576214e+02 7.539307050181191e+02 7.563899231957208e+02 7.588456396737411e+02 7.612978523422037e+02 - 7.637465590978424e+02 7.661917578441014e+02 7.686334464911333e+02 7.710716229558018e+02 7.735062851616793e+02 - 7.759374310390485e+02 7.783650585249019e+02 7.807891655629417e+02 7.832097501035795e+02 7.856268101039369e+02 - 7.880403435278453e+02 7.904503483458460e+02 7.928568225351897e+02 7.952597640798369e+02 7.976591709704585e+02 - 8.000550412044341e+02 8.024473727858536e+02 8.048361637255169e+02 8.072214120409334e+02 8.096031157563222e+02 - 8.119812729026120e+02 8.143558815174417e+02 8.167269396451593e+02 8.190944453368236e+02 8.214583966502021e+02 - 8.238187916497725e+02 8.261756284067224e+02 8.285289049989487e+02 8.308786195110586e+02 8.332247700343684e+02 - 8.355673546669050e+02 8.379063715134042e+02 8.402418186853124e+02 8.425736943007848e+02 8.449019964846872e+02 - 8.472267233685945e+02 8.495478730907921e+02 8.518654437962743e+02 8.541794336367457e+02 8.564898407706205e+02 - 8.587966633630226e+02 8.610998995857861e+02 8.633995476174539e+02 8.656956056432798e+02 8.679880718552264e+02 - 8.702769444519665e+02 8.725622216388828e+02 8.748439016280670e+02 8.771219826383219e+02 8.793964628951586e+02 - 8.816673406307990e+02 8.839346140841741e+02 8.861982815009252e+02 8.884583411334027e+02 8.907147912406675e+02 - 8.929676300884897e+02 8.952168559493493e+02 8.974624671024361e+02 8.997044618336495e+02 9.019428384355992e+02 - 9.041775952076036e+02 9.064087304556922e+02 9.086362424926032e+02 9.108601296377846e+02 9.130803902173951e+02 - 9.152970225643020e+02 9.175100250180832e+02 9.197193959250255e+02 9.219251336381268e+02 9.241272365170935e+02 - 9.263257029283417e+02 9.285205312449986e+02 9.307117198468995e+02 9.328992671205907e+02 9.350831714593277e+02 - 9.372634312630761e+02 9.394400449385104e+02 9.416130108990160e+02 9.437823275646871e+02 9.459479933623287e+02 - 9.481100067254541e+02 9.502683660942876e+02 9.524230699157629e+02 9.545741166435229e+02 9.567215047379214e+02 - 9.588652326660207e+02 9.610052989015940e+02 9.631417019251231e+02 9.652744402238004e+02 9.674035122915279e+02 - 9.695289166289172e+02 9.716506517432896e+02 9.737687161486764e+02 9.758831083658184e+02 9.779938269221661e+02 - 9.801008703518804e+02 9.822042371958310e+02 9.843039260015983e+02 9.863999353234714e+02 9.884922637224498e+02 - 9.905809097662435e+02 9.926658720292703e+02 9.947471490926598e+02 9.968247395442500e+02 9.988986419785891e+02 - 1.000968854996935e+03 1.003035377207256e+03 1.005098207224229e+03 1.007157343669241e+03 1.009212785170389e+03 - 1.011264530362480e+03 1.013312577887031e+03 1.015356926392268e+03 1.017397574533126e+03 1.019434520971252e+03 - 1.021467764375000e+03 1.023497303419437e+03 1.025523136786337e+03 1.027545263164185e+03 1.029563681248175e+03 - 1.031578389740212e+03 1.033589387348909e+03 1.035596672789591e+03 1.037600244784291e+03 1.039600102061752e+03 - 1.041596243357428e+03 1.043588667413480e+03 1.045577372978782e+03 1.047562358808916e+03 1.049543623666173e+03 - 1.051521166319557e+03 1.053494985544777e+03 1.055465080124256e+03 1.057431448847125e+03 1.059394090509224e+03 - 1.061353003913104e+03 1.063308187868025e+03 1.065259641189957e+03 1.067207362701581e+03 1.069151351232285e+03 - 1.071091605618170e+03 1.073028124702043e+03 1.074960907333424e+03 1.076889952368542e+03 1.078815258670335e+03 - 1.080736825108451e+03 1.082654650559248e+03 1.084568733905793e+03 1.086479074037864e+03 1.088385669851947e+03 - 1.090288520251241e+03 1.092187624145651e+03 1.094082980451794e+03 1.095974588092995e+03 1.097862445999292e+03 - 1.099746553107428e+03 1.101626908360861e+03 1.103503510709754e+03 1.105376359110983e+03 1.107245452528133e+03 - 1.109110789931497e+03 1.110972370298081e+03 1.112830192611597e+03 1.114684255862470e+03 1.116534559047833e+03 - 1.118381101171529e+03 1.120223881244111e+03 1.122062898282842e+03 1.123898151311694e+03 1.125729639361349e+03 - 1.127557361469200e+03 1.129381316679347e+03 1.131201504042604e+03 1.133017922616489e+03 1.134830571465235e+03 - 1.136639449659783e+03 1.138444556277782e+03 1.140245890403593e+03 1.142043451128286e+03 1.143837237549640e+03 - 1.145627248772146e+03 1.147413483907002e+03 1.149195942072117e+03 1.150974622392110e+03 1.152749523998310e+03 - 1.154520646028755e+03 1.156287987628192e+03 1.158051547948079e+03 1.159811326146585e+03 1.161567321388586e+03 - 1.163319532845669e+03 1.165067959696131e+03 1.166812601124979e+03 1.168553456323928e+03 1.170290524491405e+03 - 1.172023804832545e+03 1.173753296559195e+03 1.175478998889909e+03 1.177200911049953e+03 1.178919032271301e+03 - 1.180633361792637e+03 1.182343898859357e+03 1.184050642723563e+03 1.185753592644071e+03 1.187452747886402e+03 - 1.189148107722792e+03 1.190839671432183e+03 1.192527438300227e+03 1.194211407619287e+03 1.195891578688435e+03 - 1.197567950813455e+03 1.199240523306837e+03 1.200909295487783e+03 1.202574266682204e+03 1.204235436222721e+03 - 1.205892803448666e+03 1.207546367706079e+03 1.209196128347710e+03 1.210842084733019e+03 1.212484236228177e+03 - 1.214122582206062e+03 1.215757122046265e+03 1.217387855135084e+03 1.219014780865528e+03 1.220637898637316e+03 - 1.222257207856876e+03 1.223872707937346e+03 1.225484398298575e+03 1.227092278367119e+03 1.228696347576247e+03 - 1.230296605365935e+03 1.231893051182870e+03 1.233485684480449e+03 1.235074504718779e+03 1.236659511364675e+03 - 1.238240703891664e+03 1.239818081779981e+03 1.241391644516571e+03 1.242961391595090e+03 1.244527322515903e+03 - 1.246089436786084e+03 1.247647733919417e+03 1.249202213436398e+03 1.250752874864230e+03 1.252299717736826e+03 - 1.253842741594810e+03 1.255381945985516e+03 1.256917330462986e+03 1.258448894587972e+03 1.259976637927938e+03 - 1.261500560057056e+03 1.263020660556207e+03 1.264536939012984e+03 1.266049395021687e+03 1.267558028183329e+03 - 1.269062838105629e+03 1.270563824403019e+03 1.272060986696640e+03 1.273554324614341e+03 1.275043837790682e+03 - 1.276529525866934e+03 1.278011388491075e+03 1.279489425317796e+03 1.280963636008494e+03 1.282434020231280e+03 - 1.283900577660971e+03 1.285363307979095e+03 1.286822210873891e+03 1.288277286040307e+03 1.289728533179999e+03 - 1.291175952001336e+03 1.292619542219393e+03 1.294059303555960e+03 1.295495235739530e+03 1.296927338505312e+03 - 1.298355611595221e+03 1.299780054757883e+03 1.301200667748633e+03 1.302617450329516e+03 1.304030402269289e+03 - 1.305439523343415e+03 1.306844813334069e+03 1.308246272030136e+03 1.309643899227210e+03 1.311037694727594e+03 - 1.312427658340302e+03 1.313813789881058e+03 1.315196089172293e+03 1.316574556043153e+03 1.317949190329488e+03 - 1.319319991873862e+03 1.320686960525546e+03 1.322050096140523e+03 1.323409398581483e+03 1.324764867717829e+03 - 1.326116503425671e+03 1.327464305587830e+03 1.328808274093838e+03 1.330148408839934e+03 1.331484709729068e+03 - 1.332817176670901e+03 1.334145809581802e+03 1.335470608384850e+03 1.336791573009835e+03 1.338108703393256e+03 - 1.339421999478320e+03 1.340731461214948e+03 1.342037088559766e+03 1.343338881476113e+03 1.344636839934036e+03 - 1.345930963910293e+03 1.347221253388351e+03 1.348507708358388e+03 1.349790328817288e+03 1.351069114768650e+03 - 1.352344066222779e+03 1.353615183196692e+03 1.354882465714113e+03 1.356145913805479e+03 1.357405527507935e+03 - 1.358661306865335e+03 1.359913251928245e+03 1.361161362753938e+03 1.362405639406399e+03 1.363646081956323e+03 - 1.364882690481112e+03 1.366115465064880e+03 1.367344405798451e+03 1.368569512779358e+03 1.369790786111843e+03 - 1.371008225906858e+03 1.372221832282067e+03 1.373431605361840e+03 1.374637545277261e+03 1.375839652166119e+03 - 1.377037926172918e+03 1.378232367448867e+03 1.379422976151887e+03 1.380609752446609e+03 1.381792696504374e+03 - 1.382971808503231e+03 1.384147088627939e+03 1.385318537069970e+03 1.386486154027501e+03 1.387649939705423e+03 - 1.388809894315333e+03 1.389966018075540e+03 1.391118311211063e+03 1.392266773953630e+03 1.393411406541678e+03 - 1.394552209220356e+03 1.395689182241520e+03 1.396822325863737e+03 1.397951640352285e+03 1.399077125979150e+03 - 1.400198783023028e+03 1.401316611769325e+03 1.402430612510158e+03 1.403540785544351e+03 1.404647131177441e+03 - 1.405749649721672e+03 1.406848341496000e+03 1.407943206826088e+03 1.409034246044311e+03 1.410121459489754e+03 - 1.411204847508209e+03 1.412284410452182e+03 1.413360148680885e+03 1.414432062560241e+03 1.415500152462884e+03 - 1.416564418768155e+03 1.417624861862108e+03 1.418681482137504e+03 1.419734279993815e+03 1.420783255837224e+03 - 1.421828410080621e+03 1.422869743143608e+03 1.423907255452495e+03 1.424940947440303e+03 1.425970819546763e+03 - 1.426996872218314e+03 1.428019105908108e+03 1.429037521076003e+03 1.430052118188569e+03 1.431062897719085e+03 - 1.432069860147540e+03 1.433073005960632e+03 1.434072335651771e+03 1.435067849721075e+03 1.436059548675370e+03 - 1.437047433028196e+03 1.438031503299800e+03 1.439011760017138e+03 1.439988203713878e+03 1.440960834930396e+03 - 1.441929654213780e+03 1.442894662117825e+03 1.443855859203037e+03 1.444813246036631e+03 1.445766823192535e+03 - 1.446716591251382e+03 1.447662550800518e+03 1.448604702433997e+03 1.449543046752585e+03 1.450477584363755e+03 - 1.451408315881691e+03 1.452335241927287e+03 1.453258363128147e+03 1.454177680118583e+03 1.455093193539620e+03 - 1.456004904038989e+03 1.456912812271134e+03 1.457816918897206e+03 1.458717224585068e+03 1.459613730009291e+03 - 1.460506435851157e+03 1.461395342798658e+03 1.462280451546494e+03 1.463161762796076e+03 1.464039277255525e+03 - 1.464912995639670e+03 1.465782918670054e+03 1.466649047074924e+03 1.467511381589240e+03 1.468369922954673e+03 - 1.469224671919600e+03 1.470075629239112e+03 1.470922795675006e+03 1.471766171995790e+03 1.472605758976684e+03 - 1.473441557399614e+03 1.474273568053219e+03 1.475101791732846e+03 1.475926229240551e+03 1.476746881385102e+03 - 1.477563748981976e+03 1.478376832853358e+03 1.479186133828146e+03 1.479991652741944e+03 1.480793390437068e+03 - 1.481591347762545e+03 1.482385525574108e+03 1.483175924734204e+03 1.483962546111986e+03 1.484745390583318e+03 - 1.485524459030776e+03 1.486299752343644e+03 1.487071271417914e+03 1.487839017156289e+03 1.488602990468185e+03 - 1.489363192269722e+03 1.490119623483735e+03 1.490872285039765e+03 1.491621177874064e+03 1.492366302929595e+03 - 1.493107661156030e+03 1.493845253509749e+03 1.494579080953843e+03 1.495309144458115e+03 1.496035444999074e+03 - 1.496757983559942e+03 1.497476761130647e+03 1.498191778707831e+03 1.498903037294843e+03 1.499610537901742e+03 - 1.500314281545298e+03 1.501014269248990e+03 1.501710502043006e+03 1.502402980964245e+03 1.503091707056315e+03 - 1.503776681369534e+03 1.504457904960931e+03 1.505135378894241e+03 1.505809104239914e+03 1.506479082075105e+03 - 1.507145313483682e+03 1.507807799556220e+03 1.508466541390007e+03 1.509121540089038e+03 1.509772796764020e+03 - 1.510420312532367e+03 1.511064088518205e+03 1.511704125852369e+03 1.512340425672404e+03 1.512972989122564e+03 - 1.513601817353814e+03 1.514226911523828e+03 1.514848272796989e+03 1.515465902344391e+03 1.516079801343838e+03 - 1.516689970979842e+03 1.517296412443626e+03 1.517899126933124e+03 1.518498115652977e+03 1.519093379814537e+03 - 1.519684920635866e+03 1.520272739341736e+03 1.520856837163628e+03 1.521437215339733e+03 1.522013875114953e+03 - 1.522586817740897e+03 1.523156044475887e+03 1.523721556584951e+03 1.524283355339831e+03 1.524841442018975e+03 - 1.525395817907543e+03 1.525946484297405e+03 1.526493442487138e+03 1.527036693782033e+03 1.527576239494086e+03 - 1.528112080942007e+03 1.528644219451213e+03 1.529172656353831e+03 1.529697392988700e+03 1.530218430701367e+03 - 1.530735770844087e+03 1.531249414775829e+03 1.531759363862268e+03 1.532265619475790e+03 1.532768182995492e+03 - 1.533267055807180e+03 1.533762239303368e+03 1.534253734883281e+03 1.534741543952856e+03 1.535225667924735e+03 - 1.535706108218275e+03 1.536182866259539e+03 1.536655943481301e+03 1.537125341323045e+03 1.537591061230964e+03 - 1.538053104657961e+03 1.538511473063650e+03 1.538966167914353e+03 1.539417190683102e+03 1.539864542849641e+03 - 1.540308225900420e+03 1.540748241328602e+03 1.541184590634058e+03 1.541617275323370e+03 1.542046296909827e+03 - 1.542471656913432e+03 1.542893356860894e+03 1.543311398285634e+03 1.543725782727782e+03 1.544136511734178e+03 - 1.544543586858370e+03 1.544947009660620e+03 1.545346781707894e+03 1.545742904573873e+03 1.546135379838945e+03 - 1.546524209090207e+03 1.546909393921469e+03 1.547290935933248e+03 1.547668836732771e+03 1.548043097933976e+03 - 1.548413721157510e+03 1.548780708030729e+03 1.549144060187701e+03 1.549503779269201e+03 1.549859866922715e+03 - 1.550212324802440e+03 1.550561154569281e+03 1.550906357890854e+03 1.551247936441483e+03 1.551585891902203e+03 - 1.551920225960758e+03 1.552250940311604e+03 1.552578036655905e+03 1.552901516701533e+03 1.553221382163073e+03 - 1.553537634761818e+03 1.553850276225772e+03 1.554159308289647e+03 1.554464732694865e+03 1.554766551189559e+03 - 1.555064765528572e+03 1.555359377473454e+03 1.555650388792468e+03 1.555937801260586e+03 1.556221616659488e+03 - 1.556501836777564e+03 1.556778463409917e+03 1.557051498358356e+03 1.557320943431401e+03 1.557586800444283e+03 - 1.557849071218940e+03 1.558107757584023e+03 1.558362861374890e+03 1.558614384433611e+03 1.558862328608964e+03 - 1.559106695756438e+03 1.559347487738230e+03 1.559584706423249e+03 1.559818353687112e+03 1.560048431412147e+03 - 1.560274941487391e+03 1.560497885808591e+03 1.560717266278204e+03 1.560933084805396e+03 1.561145343306044e+03 - 1.561354043702732e+03 1.561559187924758e+03 1.561760777908126e+03 1.561958815595552e+03 1.562153302936461e+03 - 1.562344241886987e+03 1.562531634409975e+03 1.562715482474979e+03 1.562895788058264e+03 1.563072553142803e+03 - 1.563245779718279e+03 1.563415469781085e+03 1.563581625334326e+03 1.563744248387813e+03 1.563903340958068e+03 - 1.564058905068325e+03 1.564210942748526e+03 1.564359456035321e+03 1.564504446972073e+03 1.564645917608853e+03 - 1.564783870002442e+03 1.564918306216331e+03 1.565049228320720e+03 1.565176638392519e+03 1.565300538515349e+03 - 1.565420930779540e+03 1.565537817282130e+03 1.565651200126870e+03 1.565761081424219e+03 1.565867463291344e+03 - 1.565970347852125e+03 1.566069737237150e+03 1.566165633583717e+03 1.566258039035835e+03 1.566346955744220e+03 - 1.566432385866300e+03 1.566514331566212e+03 1.566592795014803e+03 1.566667778389629e+03 1.566739283874957e+03 - 1.566807313661764e+03 1.566871869947734e+03 1.566932954937263e+03 1.566990570841457e+03 1.567044719878131e+03 - 1.567095404271811e+03 1.567142626253729e+03 1.567186388061831e+03 1.567226691940771e+03 1.567263540141913e+03 - 1.567296934923331e+03 1.567326878549808e+03 1.567353373292836e+03 1.567376421430620e+03 1.567396025248071e+03 - 1.567412187036812e+03 1.567424909095176e+03 1.567434193728203e+03 1.567440043247646e+03 1.567442459971967e+03 - 1.567441446226336e+03 1.567437004342634e+03 1.567429136659453e+03 1.567417845522091e+03 1.567403133282561e+03 - 1.567385002299581e+03 1.567363454938582e+03 1.567338493571702e+03 1.567310120577791e+03 1.567278338342408e+03 - 1.567243149257822e+03 1.567204555723011e+03 1.567162560143663e+03 1.567117164932177e+03 1.567068372507660e+03 - 1.567016185295929e+03 1.566960605729512e+03 1.566901636247646e+03 1.566839279296277e+03 1.566773537328063e+03 - 1.566704412802369e+03 1.566631908185271e+03 1.566556025949555e+03 1.566476768574717e+03 1.566394138546961e+03 - 1.566308138359204e+03 1.566218770511069e+03 1.566126037508891e+03 1.566029941865714e+03 1.565930486101294e+03 - 1.565827672742092e+03 1.565721504321283e+03 1.565611983378751e+03 1.565499112461087e+03 1.565382894121595e+03 - 1.565263330920288e+03 1.565140425423888e+03 1.565014180205826e+03 1.564884597846246e+03 1.564751680931997e+03 - 1.564615432056643e+03 1.564475853820452e+03 1.564332948830408e+03 1.564186719700199e+03 1.564037169050227e+03 - 1.563884299507601e+03 1.563728113706142e+03 1.563568614286379e+03 1.563405803895550e+03 1.563239685187607e+03 - 1.563070260823207e+03 1.562897533469719e+03 1.562721505801220e+03 1.562542180498501e+03 1.562359560249057e+03 - 1.562173647747097e+03 1.561984445693539e+03 1.561791956796009e+03 1.561596183768845e+03 1.561397129333092e+03 - 1.561194796216507e+03 1.560989187153558e+03 1.560780304885418e+03 1.560568152159974e+03 1.560352731731822e+03 - 1.560134046362267e+03 1.559912098819323e+03 1.559686891877715e+03 1.559458428318879e+03 1.559226710930956e+03 - 1.558991742508803e+03 1.558753525853981e+03 1.558512063774766e+03 1.558267359086140e+03 1.558019414609795e+03 - 1.557768233174136e+03 1.557513817614273e+03 1.557256170772030e+03 1.556995295495938e+03 1.556731194641239e+03 - 1.556463871069885e+03 1.556193327650536e+03 1.555919567258564e+03 1.555642592776049e+03 1.555362407091783e+03 - 1.555079013101264e+03 1.554792413706704e+03 1.554502611817021e+03 1.554209610347846e+03 1.553913412221517e+03 - 1.553614020367084e+03 1.553311437720305e+03 1.553005667223649e+03 1.552696711826295e+03 1.552384574484129e+03 - 1.552069258159750e+03 1.551750765822466e+03 1.551429100448294e+03 1.551104265019960e+03 1.550776262526902e+03 - 1.550445095965265e+03 1.550110768337907e+03 1.549773282654394e+03 1.549432641931000e+03 1.549088849190713e+03 - 1.548741907463227e+03 1.548391819784946e+03 1.548038589198987e+03 1.547682218755173e+03 1.547322711510039e+03 - 1.546960070526829e+03 1.546594298875496e+03 1.546225399632705e+03 1.545853375881829e+03 1.545478230712950e+03 - 1.545099967222861e+03 1.544718588515066e+03 1.544334097699777e+03 1.543946497893915e+03 1.543555792221112e+03 - 1.543161983811711e+03 1.542765075802762e+03 1.542365071338026e+03 1.541961973567975e+03 1.541555785649789e+03 - 1.541146510747358e+03 1.540734152031283e+03 1.540318712678874e+03 1.539900195874149e+03 1.539478604807839e+03 - 1.539053942677383e+03 1.538626212686929e+03 1.538195418047336e+03 1.537761561976173e+03 1.537324647697717e+03 - 1.536884678442957e+03 1.536441657449592e+03 1.535995587962026e+03 1.535546473231378e+03 1.535094316515475e+03 - 1.534639121078853e+03 1.534180890192759e+03 1.533719627135150e+03 1.533255335190690e+03 1.532788017650757e+03 - 1.532317677813435e+03 1.531844318983518e+03 1.531367944472514e+03 1.530888557598635e+03 1.530406161686807e+03 - 1.529920760068664e+03 1.529432356082550e+03 1.528940953073517e+03 1.528446554393331e+03 1.527949163400464e+03 - 1.527448783460099e+03 1.526945417944129e+03 1.526439070231157e+03 1.525929743706494e+03 1.525417441762163e+03 - 1.524902167796895e+03 1.524383925216131e+03 1.523862717432025e+03 1.523338547863434e+03 1.522811419935932e+03 - 1.522281337081799e+03 1.521748302740024e+03 1.521212320356308e+03 1.520673393383061e+03 1.520131525279401e+03 - 1.519586719511159e+03 1.519038979550873e+03 1.518488308877793e+03 1.517934710977876e+03 1.517378189343791e+03 - 1.516818747474916e+03 1.516256388877339e+03 1.515691117063858e+03 1.515122935553979e+03 1.514551847873920e+03 - 1.513977857556607e+03 1.513400968141679e+03 1.512821183175479e+03 1.512238506211065e+03 1.511652940808203e+03 - 1.511064490533368e+03 1.510473158959745e+03 1.509878949667230e+03 1.509281866242427e+03 1.508681912278651e+03 - 1.508079091375926e+03 1.507473407140987e+03 1.506864863187277e+03 1.506253463134950e+03 1.505639210610869e+03 - 1.505022109248608e+03 1.504402162688449e+03 1.503779374577385e+03 1.503153748569118e+03 1.502525288324061e+03 - 1.501893997509335e+03 1.501259879798773e+03 1.500622938872914e+03 1.499983178419011e+03 1.499340602131025e+03 - 1.498695213709626e+03 1.498047016862194e+03 1.497396015302820e+03 1.496742212752304e+03 1.496085612938155e+03 - 1.495426219594593e+03 1.494764036462547e+03 1.494099067289655e+03 1.493431315830267e+03 1.492760785845442e+03 - 1.492087481102946e+03 1.491411405377259e+03 1.490732562449567e+03 1.490050956107769e+03 1.489366590146471e+03 - 1.488679468366991e+03 1.487989594577355e+03 1.487296972592300e+03 1.486601606233272e+03 1.485903499328426e+03 - 1.485202655712629e+03 1.484499079227457e+03 1.483792773721193e+03 1.483083743048834e+03 1.482371991072084e+03 - 1.481657521659358e+03 1.480940338685780e+03 1.480220446033183e+03 1.479497847590113e+03 1.478772547251821e+03 - 1.478044548920272e+03 1.477313856504138e+03 1.476580473918802e+03 1.475844405086357e+03 1.475105653935605e+03 - 1.474364224402058e+03 1.473620120427938e+03 1.472873345962177e+03 1.472123904960415e+03 1.471371801385004e+03 - 1.470617039205005e+03 1.469859622396187e+03 1.469099554941032e+03 1.468336840828730e+03 1.467571484055180e+03 - 1.466803488622991e+03 1.466032858541484e+03 1.465259597826687e+03 1.464483710501340e+03 1.463705200594890e+03 - 1.462924072143496e+03 1.462140329190026e+03 1.461353975784058e+03 1.460565015981880e+03 1.459773453846489e+03 - 1.458979293447591e+03 1.458182538861605e+03 1.457383194171656e+03 1.456581263467582e+03 1.455776750845927e+03 - 1.454969660409948e+03 1.454159996269611e+03 1.453347762541590e+03 1.452532963349272e+03 1.451715602822750e+03 - 1.450895685098830e+03 1.450073214321026e+03 1.449248194639563e+03 1.448420630211373e+03 1.447590525200101e+03 - 1.446757883776100e+03 1.445922710116434e+03 1.445085008404874e+03 1.444244782831905e+03 1.443402037594718e+03 - 1.442556776897215e+03 1.441709004950008e+03 1.440858725970420e+03 1.440005944182481e+03 1.439150663816933e+03 - 1.438292889111226e+03 1.437432624309523e+03 1.436569873662692e+03 1.435704641428314e+03 1.434836931870678e+03 - 1.433966749260786e+03 1.433094097876346e+03 1.432218982001777e+03 1.431341405928208e+03 1.430461373953479e+03 - 1.429578890382137e+03 1.428693959525441e+03 1.427806585701360e+03 1.426916773234569e+03 1.426024526456458e+03 - 1.425129849705122e+03 1.424232747325370e+03 1.423333223668719e+03 1.422431283093393e+03 1.421526929964331e+03 - 1.420620168653178e+03 1.419711003538289e+03 1.418799439004731e+03 1.417885479444278e+03 1.416969129255415e+03 - 1.416050392843337e+03 1.415129274619950e+03 1.414205779003866e+03 1.413279910420411e+03 1.412351673301618e+03 - 1.411421072086230e+03 1.410488111219700e+03 1.409552795154193e+03 1.408615128348581e+03 1.407675115268446e+03 - 1.406732760386080e+03 1.405788068180486e+03 1.404841043137375e+03 1.403891689749170e+03 1.402940012515001e+03 - 1.401986015940709e+03 1.401029704538846e+03 1.400071082828672e+03 1.399110155336157e+03 1.398146926593981e+03 - 1.397181401141535e+03 1.396213583524918e+03 1.395243478296938e+03 1.394271090017116e+03 1.393296423251680e+03 - 1.392319482573570e+03 1.391340272562432e+03 1.390358797804626e+03 1.389375062893219e+03 1.388389072427989e+03 - 1.387400831015423e+03 1.386410343268718e+03 1.385417613807782e+03 1.384422647259231e+03 1.383425448256391e+03 - 1.382426021439299e+03 1.381424371454700e+03 1.380420502956051e+03 1.379414420603515e+03 1.378406129063970e+03 - 1.377395633010999e+03 1.376382937124898e+03 1.375368046092671e+03 1.374350964608031e+03 1.373331697371403e+03 - 1.372310249089921e+03 1.371286624477428e+03 1.370260828254477e+03 1.369232865148331e+03 1.368202739892964e+03 - 1.367170457229056e+03 1.366136021904002e+03 1.365099438671902e+03 1.364060712293568e+03 1.363019847536522e+03 - 1.361976849174995e+03 1.360931721989928e+03 1.359884470768972e+03 1.358835100306487e+03 1.357783615403544e+03 - 1.356730020867921e+03 1.355674321514110e+03 1.354616522163310e+03 1.353556627643430e+03 1.352494642789090e+03 - 1.351430572441617e+03 1.350364421449050e+03 1.349296194666138e+03 1.348225896954338e+03 1.347153533181818e+03 - 1.346079108223457e+03 1.345002626960841e+03 1.343924094282267e+03 1.342843515082743e+03 1.341760894263984e+03 - 1.340676236734416e+03 1.339589547409177e+03 1.338500831210112e+03 1.337410093065776e+03 1.336317337911434e+03 - 1.335222570689062e+03 1.334125796347346e+03 1.333027019841677e+03 1.331926246134163e+03 1.330823480193616e+03 - 1.329718726995561e+03 1.328611991522230e+03 1.327503278762568e+03 1.326392593712228e+03 1.325279941373571e+03 - 1.324165326755672e+03 1.323048754874311e+03 1.321930230751983e+03 1.320809759417887e+03 1.319687345907936e+03 - 1.318562995264752e+03 1.317436712537665e+03 1.316308502782716e+03 1.315178371062656e+03 1.314046322446946e+03 - 1.312912362011755e+03 1.311776494839963e+03 1.310638726021160e+03 1.309499060651645e+03 1.308357503834428e+03 - 1.307214060679228e+03 1.306068736302473e+03 1.304921535827301e+03 1.303772464383560e+03 1.302621527107810e+03 - 1.301468729143317e+03 1.300314075640058e+03 1.299157571754721e+03 1.297999222650704e+03 1.296839033498112e+03 - 1.295677009473761e+03 1.294513155761180e+03 1.293347477550602e+03 1.292179980038974e+03 1.291010668429951e+03 - 1.289839547933899e+03 1.288666623767893e+03 1.287491901155716e+03 1.286315385327865e+03 1.285137081521542e+03 - 1.283956994980662e+03 1.282775130955849e+03 1.281591494704436e+03 1.280406091490466e+03 1.279218926584693e+03 - 1.278030005264579e+03 1.276839332814297e+03 1.275646914524728e+03 1.274452755693465e+03 1.273256861624810e+03 - 1.272059237629775e+03 1.270859889026079e+03 1.269658821138155e+03 1.268456039297144e+03 1.267251548840895e+03 - 1.266045355113969e+03 1.264837463467636e+03 1.263627879259876e+03 1.262416607855379e+03 1.261203654625543e+03 - 1.259989024948479e+03 1.258772724209004e+03 1.257554757798647e+03 1.256335131115646e+03 1.255113849564950e+03 - 1.253890918558217e+03 1.252666343513813e+03 1.251440129856817e+03 1.250212283019015e+03 1.248982808438904e+03 - 1.247751711561691e+03 1.246518997839292e+03 1.245284672730334e+03 1.244048741700151e+03 1.242811210220790e+03 - 1.241572083771006e+03 1.240331367836264e+03 1.239089067908740e+03 1.237845189487317e+03 1.236599738077590e+03 - 1.235352719191863e+03 1.234104138349150e+03 1.232854001075175e+03 1.231602312902370e+03 1.230349079369880e+03 - 1.229094306023557e+03 1.227837998415964e+03 1.226580162106373e+03 1.225320802660766e+03 1.224059925651835e+03 - 1.222797536658982e+03 1.221533641268318e+03 1.220268245072664e+03 1.219001353671552e+03 1.217732972671222e+03 - 1.216463107684624e+03 1.215191764331420e+03 1.213918948237977e+03 1.212644665037377e+03 1.211368920369408e+03 - 1.210091719880570e+03 1.208813069224072e+03 1.207532974059833e+03 1.206251440054480e+03 1.204968472881353e+03 - 1.203684078220499e+03 1.202398261758676e+03 1.201111029189351e+03 1.199822386212701e+03 1.198532338535615e+03 - 1.197240891871687e+03 1.195948051941225e+03 1.194653824471246e+03 1.193358215195474e+03 1.192061229854346e+03 - 1.190762874195007e+03 1.189463153971313e+03 1.188162074943828e+03 1.186859642879827e+03 1.185555863553295e+03 - 1.184250742744927e+03 1.182944286242125e+03 1.181636499839004e+03 1.180327389336388e+03 1.179016960541809e+03 - 1.177705219269511e+03 1.176392171340446e+03 1.175077822582277e+03 1.173762178829377e+03 1.172445245922827e+03 - 1.171127029710419e+03 1.169807536046655e+03 1.168486770792745e+03 1.167164739816612e+03 1.165841448992886e+03 - 1.164516904202907e+03 1.163191111334726e+03 1.161864076283103e+03 1.160535804949508e+03 1.159206303242120e+03 - 1.157875577075829e+03 1.156543632372233e+03 1.155210475059642e+03 1.153876111073074e+03 1.152540546354257e+03 - 1.151203786851631e+03 1.149865838520342e+03 1.148526707322247e+03 1.147186399225916e+03 1.145844920206624e+03 - 1.144502276246358e+03 1.143158473333815e+03 1.141813517464402e+03 1.140467414640234e+03 1.139120170870139e+03 - 1.137771792169650e+03 1.136422284561014e+03 1.135071654073185e+03 1.133719906741829e+03 1.132367048609320e+03 - 1.131013085724743e+03 1.129658024143891e+03 1.128301869929270e+03 1.126944629150092e+03 1.125586307882280e+03 - 1.124226912208469e+03 1.122866448218001e+03 1.121504922006928e+03 1.120142339678013e+03 1.118778707340729e+03 - 1.117414031111256e+03 1.116048317112488e+03 1.114681571474025e+03 1.113313800332179e+03 1.111945009829970e+03 - 1.110575206117129e+03 1.109204395350097e+03 1.107832583692024e+03 1.106459777312770e+03 1.105085982388904e+03 - 1.103711205103706e+03 1.102335451647166e+03 1.100958728215983e+03 1.099581041013564e+03 1.098202396250028e+03 - 1.096822800142205e+03 1.095442258913632e+03 1.094060778794555e+03 1.092678366021934e+03 1.091295026839436e+03 - 1.089910767497437e+03 1.088525594253023e+03 1.087139513369993e+03 1.085752531118851e+03 1.084364653776815e+03 - 1.082975887627809e+03 1.081586238962469e+03 1.080195714078142e+03 1.078804319278880e+03 1.077412060875450e+03 - 1.076018945185327e+03 1.074624978532693e+03 1.073230167248444e+03 1.071834517670182e+03 1.070438036142223e+03 - 1.069040729015589e+03 1.067642602648012e+03 1.066243663403937e+03 1.064843917654515e+03 1.063443371777609e+03 - 1.062042032157791e+03 1.060639905186343e+03 1.059236997261256e+03 1.057833314787232e+03 1.056428864175682e+03 - 1.055023651844726e+03 1.053617684219196e+03 1.052210967730631e+03 1.050803508817282e+03 1.049395313897890e+03 - 1.047986388534756e+03 1.046576737255851e+03 1.045166364529164e+03 1.043755274824231e+03 1.042343472612131e+03 - 1.040930962365484e+03 1.039517748558457e+03 1.038103835666756e+03 1.036689228167636e+03 1.035273930539893e+03 - 1.033857947263865e+03 1.032441282821436e+03 1.031023941696033e+03 1.029605928372625e+03 1.028187247337727e+03 - 1.026767903079397e+03 1.025347900087235e+03 1.023927242852386e+03 1.022505935867538e+03 1.021083983626923e+03 - 1.019661390626317e+03 1.018238161363038e+03 1.016814300335948e+03 1.015389812045455e+03 1.013964700993507e+03 - 1.012538971683598e+03 1.011112628620765e+03 1.009685676311588e+03 1.008258119264191e+03 1.006829961988242e+03 - 1.005401208994952e+03 1.003971864797076e+03 1.002541933908912e+03 1.001111420846301e+03 9.996803301266303e+02 - 9.982486662688275e+02 9.968164337933661e+02 9.953836372222621e+02 9.939502810790750e+02 9.925163698889086e+02 - 9.910819081784098e+02 9.896469004757686e+02 9.882113513107199e+02 9.867752652145410e+02 9.853386467200531e+02 - 9.839015003616214e+02 9.824638306751541e+02 9.810256421981031e+02 9.795869394694643e+02 9.781477270297768e+02 - 9.767080094211232e+02 9.752677911871300e+02 9.738270768729670e+02 9.723858710253478e+02 9.709441781925295e+02 - 9.695020029243127e+02 9.680593497720415e+02 9.666162232886040e+02 9.651726280284314e+02 9.637285685474986e+02 - 9.622840494033246e+02 9.608390751549712e+02 9.593936503630440e+02 9.579477795896925e+02 9.565014673986094e+02 - 9.550547183550314e+02 9.536075370257383e+02 9.521599279790540e+02 9.507118957848456e+02 9.492634450145238e+02 - 9.478145802410424e+02 9.463653060389005e+02 9.449156269841388e+02 9.434655476543426e+02 9.420150726286407e+02 - 9.405642064877048e+02 9.391129538137513e+02 9.376613191905399e+02 9.362093072033728e+02 9.347569224390970e+02 - 9.333041694861028e+02 9.318510529343232e+02 9.303975773752362e+02 9.289437474018629e+02 9.274895676087672e+02 - 9.260350425920570e+02 9.245801769493847e+02 9.231249752799448e+02 9.216694421844763e+02 9.202135822652619e+02 - 9.187574001261273e+02 9.173009003724419e+02 9.158440876111187e+02 9.143869664506148e+02 9.129295415009306e+02 - 9.114718173736089e+02 9.100137986817383e+02 9.085554900399494e+02 9.070968960644165e+02 9.056380213728581e+02 - 9.041788705845360e+02 9.027194483202552e+02 9.012597592023648e+02 8.997998078547574e+02 8.983395989028686e+02 - 8.968791369736786e+02 8.954184266957105e+02 8.939574726990309e+02 8.924962796152502e+02 8.910348520775226e+02 - 8.895731947205452e+02 8.881113121805595e+02 8.866492090953504e+02 8.851868901042455e+02 8.837243598481174e+02 - 8.822616229693809e+02 8.807986841119955e+02 8.793355479214636e+02 8.778722190448314e+02 8.764087021306887e+02 - 8.749450018291686e+02 8.734811227919481e+02 8.720170696722481e+02 8.705528471248323e+02 8.690884598060085e+02 - 8.676239123736278e+02 8.661592094870851e+02 8.646943558073189e+02 8.632293559968109e+02 8.617642147195870e+02 - 8.602989366412162e+02 8.588335264288111e+02 8.573679887510280e+02 8.559023282780669e+02 8.544365496816713e+02 - 8.529706576351281e+02 8.515046568132680e+02 8.500385518924651e+02 8.485723475506371e+02 8.471060484672456e+02 - 8.456396593232956e+02 8.441731848013352e+02 8.427066295854568e+02 8.412399983612960e+02 8.397732958160319e+02 - 8.383065266383875e+02 8.368396955186294e+02 8.353728071485672e+02 8.339058662215547e+02 8.324388774324890e+02 - 8.309718454778108e+02 8.295047750555044e+02 8.280376708650979e+02 8.265705376076626e+02 8.251033799858133e+02 - 8.236362027037090e+02 8.221690104670519e+02 8.207018079830875e+02 8.192345999606056e+02 8.177673911099388e+02 - 8.163001861429635e+02 8.148329897731001e+02 8.133658067153123e+02 8.118986416861073e+02 8.104314994035359e+02 - 8.089643845871925e+02 8.074973019582153e+02 8.060302562392853e+02 8.045632521546285e+02 8.030962944300132e+02 - 8.016293877927517e+02 8.001625369717000e+02 7.986957466972576e+02 7.972290217013673e+02 7.957623667175162e+02 - 7.942957864807344e+02 7.928292857275953e+02 7.913628691962167e+02 7.898965416262595e+02 7.884303077589279e+02 - 7.869641723369706e+02 7.854981401046790e+02 7.840322158078881e+02 7.825664041939773e+02 7.811007100118686e+02 - 7.796351380120283e+02 7.781696929464658e+02 7.767043795687346e+02 7.752392026339312e+02 7.737741668986956e+02 - 7.723092771212124e+02 7.708445380612087e+02 7.693799544799557e+02 7.679155311402681e+02 7.664512728065041e+02 - 7.649871842445651e+02 7.635232702218972e+02 7.620595355074889e+02 7.605959848718730e+02 7.591326230871256e+02 - 7.576694549268664e+02 7.562064851662584e+02 7.547437185820088e+02 7.532811599523681e+02 7.518188140571300e+02 - 7.503566856776325e+02 7.488947795967565e+02 7.474331005989271e+02 7.459716534701122e+02 7.445104429978242e+02 - 7.430494739711182e+02 7.415887511805935e+02 7.401282794183929e+02 7.386680634782024e+02 7.372081081552518e+02 - 7.357484182463149e+02 7.342889985497084e+02 7.328298538652926e+02 7.313709889944722e+02 7.299124087401947e+02 - 7.284541179069513e+02 7.269961213007771e+02 7.255384237292504e+02 7.240810300014931e+02 7.226239449281712e+02 - 7.211671733214938e+02 7.197107199952134e+02 7.182545897646269e+02 7.167987874465738e+02 7.153433178594373e+02 - 7.138881858231457e+02 7.124333961591685e+02 7.109789536905207e+02 7.095248632417597e+02 7.080711296389870e+02 - 7.066177577098478e+02 7.051647522835304e+02 7.037121181907675e+02 7.022598602638342e+02 7.008079833365500e+02 - 6.993564922442782e+02 6.979053918239249e+02 6.964546869139400e+02 6.950043823543177e+02 6.935544829865950e+02 - 6.921049936538523e+02 6.906559192007142e+02 6.892072644733491e+02 6.877590343194680e+02 6.863112335883264e+02 - 6.848638671307228e+02 6.834169397989994e+02 6.819704564470420e+02 6.805244219302806e+02 6.790788411056876e+02 - 6.776337188317796e+02 6.761890599686175e+02 6.747448693778041e+02 6.733011519224871e+02 6.718579124673579e+02 - 6.704151558786504e+02 6.689728870241429e+02 6.675311107731571e+02 6.660898319965579e+02 6.646490555667547e+02 - 6.632087863576994e+02 6.617690292448882e+02 6.603297891053608e+02 6.588910708177000e+02 6.574528792620325e+02 - 6.560152193200289e+02 6.545780958749028e+02 6.531415138114120e+02 6.517054780158572e+02 6.502699933760831e+02 - 6.488350647814780e+02 6.474006971229736e+02 6.459668952930450e+02 6.445336641857116e+02 6.431010086965356e+02 - 6.416689337226230e+02 6.402374441626239e+02 6.388065449167315e+02 6.373762408866819e+02 6.359465369757564e+02 - 6.345174380887786e+02 6.330889491321157e+02 6.316610750136796e+02 6.302338206429247e+02 6.288071909308491e+02 - 6.273811907899951e+02 6.259558251344477e+02 6.245310988798360e+02 6.231070169433332e+02 6.216835842436550e+02 - 6.202608057010611e+02 6.188386862373554e+02 6.174172307758844e+02 6.159964442415383e+02 6.145763315607522e+02 - 6.131568976615030e+02 6.117381474733122e+02 6.103200859272448e+02 6.089027179559087e+02 6.074860484934565e+02 - 6.060700824755835e+02 6.046548248395288e+02 6.032402805240755e+02 6.018264544695495e+02 6.004133516178208e+02 - 5.990009769123031e+02 5.975893352979532e+02 5.961784317212720e+02 5.947682711303036e+02 5.933588584746357e+02 - 5.919501987053994e+02 5.905422967752705e+02 5.891351576384668e+02 5.877287862507508e+02 5.863231875694282e+02 - 5.849183665533477e+02 5.835143281629030e+02 5.821110773600302e+02 5.807086191082091e+02 5.793069583724634e+02 - 5.779061001193606e+02 5.765060493170109e+02 5.751068109350690e+02 5.737083899447330e+02 5.723107913187440e+02 - 5.709140200313871e+02 5.695180810584912e+02 5.681229793774282e+02 5.667287199671144e+02 5.653353078080089e+02 - 5.639427478821145e+02 5.625510451729782e+02 5.611602046656897e+02 5.597702313468828e+02 5.583811302047351e+02 - 5.569929062289672e+02 5.556055644108436e+02 5.542191097431725e+02 5.528335472203050e+02 5.514488818381369e+02 - 5.500651185941068e+02 5.486822624871968e+02 5.473003185179330e+02 5.459192916883851e+02 5.445391870021655e+02 - 5.431600094644319e+02 5.417817640818839e+02 5.404044558627653e+02 5.390280898168637e+02 5.376526709555103e+02 - 5.362782042915790e+02 5.349046948394886e+02 5.335321476152006e+02 5.321605676362202e+02 5.307899599215965e+02 - 5.294203294919217e+02 5.280516813693320e+02 5.266840205775071e+02 5.253173521416702e+02 5.239516810885877e+02 - 5.225870124465707e+02 5.212233512454725e+02 5.198607025166908e+02 5.184990712931668e+02 5.171384626093851e+02 - 5.157788815013741e+02 5.144203330067055e+02 5.130628221644946e+02 5.117063540154008e+02 5.103509336016263e+02 - 5.089965659669175e+02 5.076432561565640e+02 5.062910092173990e+02 5.049398301977998e+02 5.035897241476866e+02 - 5.022406961185235e+02 5.008927511633182e+02 4.995458943366220e+02 4.982001306945292e+02 4.968554652946787e+02 - 4.955119031962524e+02 4.941694494599757e+02 4.928281091481178e+02 4.914878873244913e+02 4.901487890544524e+02 - 4.888108194049014e+02 4.874739834442815e+02 4.861382862425793e+02 4.848037328713260e+02 4.834703284035954e+02 - 4.821380779140055e+02 4.808069864787175e+02 4.794770591754360e+02 4.781483010834104e+02 4.768207172834317e+02 - 4.754943128578365e+02 4.741690928905032e+02 4.728450624668552e+02 4.715222266738587e+02 4.702005906000235e+02 - 4.688801593354034e+02 4.675609379715956e+02 4.662429316017405e+02 4.649261453205227e+02 4.636105842241698e+02 - 4.622962534104534e+02 4.609831579786886e+02 4.596713030297340e+02 4.583606936659914e+02 4.570513349914071e+02 - 4.557432321114703e+02 4.544363901332138e+02 4.531308141652141e+02 4.518265093175915e+02 4.505234807020092e+02 - 4.492217334316751e+02 4.479212726213398e+02 4.466221033872973e+02 4.453242308473862e+02 4.440276601209875e+02 - 4.427323963290266e+02 4.414384445939725e+02 4.401458100398370e+02 4.388544977921764e+02 4.375645129780900e+02 - 4.362758607262207e+02 4.349885461667554e+02 4.337025744314242e+02 4.324179506535007e+02 4.311346799678025e+02 - 4.298527675106906e+02 4.285722184200691e+02 4.272930378353866e+02 4.260152308976346e+02 4.247388027493482e+02 - 4.234637585346064e+02 4.221901033990317e+02 4.209178424897899e+02 4.196469809555908e+02 4.183775239466873e+02 - 4.171094766148764e+02 4.158428441134982e+02 4.145776315974367e+02 4.133138442231195e+02 4.120514871485177e+02 - 4.107905655331455e+02 4.095310845380616e+02 4.082730493258674e+02 4.070164650607085e+02 4.057613369082738e+02 - 4.045076700357962e+02 4.032554696120511e+02 4.020047408073589e+02 4.007554887935824e+02 3.995077187441286e+02 - 3.982614358339480e+02 3.970166452395346e+02 3.957733521389259e+02 3.945315617117033e+02 3.932912791389912e+02 - 3.920525096034583e+02 3.908152582893162e+02 3.895795303823206e+02 3.883453310697706e+02 3.871126655405087e+02 - 3.858815389849212e+02 3.846519565949380e+02 3.834239235640323e+02 3.821974450872211e+02 3.809725263610652e+02 - 3.797491725836686e+02 3.785273889546788e+02 3.773071806752873e+02 3.760885529482291e+02 3.748715109777822e+02 - 3.736560599697692e+02 3.724422051315553e+02 3.712299516720498e+02 3.700193048017055e+02 3.688102697325187e+02 - 3.676028516780295e+02 3.663970558533210e+02 3.651928874750207e+02 3.639903517612993e+02 3.627894539318706e+02 - 3.615901992079928e+02 3.603925928124674e+02 3.591966399696389e+02 3.580023459053963e+02 3.568097158471716e+02 - 3.556187550239405e+02 3.544294686662223e+02 3.532418620060801e+02 3.520559402771199e+02 3.508717087144923e+02 - 3.496891725548904e+02 3.485083370365518e+02 3.473292073992571e+02 3.461517888843309e+02 3.449760867346407e+02 - 3.438021061945983e+02 3.426298525101589e+02 3.414593309288210e+02 3.402905466996269e+02 3.391235050731623e+02 - 3.379582113015570e+02 3.367946706384836e+02 3.356328883391590e+02 3.344728696603431e+02 3.333146198603399e+02 - 3.321581441989965e+02 3.310034479377038e+02 3.298505363393963e+02 3.286994146685523e+02 3.275500881911931e+02 - 3.264025621748842e+02 3.252568418887342e+02 3.241129326033955e+02 3.229708395910641e+02 3.218305681254797e+02 - 3.206921234819250e+02 3.195555109372272e+02 3.184207357697562e+02 3.172878032594259e+02 3.161567186876940e+02 - 3.150274873375612e+02 3.139001144935722e+02 3.127746054418153e+02 3.116509654699221e+02 3.105291998670680e+02 - 3.094093139239718e+02 3.082913129328962e+02 3.071752021876472e+02 3.060609869835743e+02 3.049486726175709e+02 - 3.038382643880739e+02 3.027297675950632e+02 3.016231875400634e+02 3.005185295261418e+02 2.994157988579094e+02 - 2.983150008415209e+02 2.972161407846750e+02 2.961192239966130e+02 2.950242557881208e+02 2.939312414715272e+02 - 2.928401863607048e+02 2.917510957710699e+02 2.906639750195822e+02 2.895788294247451e+02 2.884956643066055e+02 - 2.874144849867538e+02 2.863352967883243e+02 2.852581050359946e+02 2.841829150559857e+02 2.831097321760628e+02 - 2.820385617255341e+02 2.809694090352515e+02 2.799022794376108e+02 2.788371782665511e+02 2.777741108575549e+02 - 2.767130825476488e+02 2.756540986754025e+02 2.745971645809293e+02 2.735422856058867e+02 2.724894670934750e+02 - 2.714387143884384e+02 2.703900328370648e+02 2.693434277871856e+02 2.682989045881756e+02 2.672564685909533e+02 - 2.662161251479810e+02 2.651778796132642e+02 2.641417373423522e+02 2.631077036923379e+02 2.620757840218578e+02 - 2.610459836910915e+02 2.600183080617631e+02 2.589927624971394e+02 2.579693523620314e+02 2.569480830227931e+02 - 2.559289598473227e+02 2.549119882050614e+02 2.538971734669946e+02 2.528845210056507e+02 2.518740361951020e+02 - 2.508657244109642e+02 2.498595910303967e+02 2.488556414321026e+02 2.478538809963281e+02 2.468543151048638e+02 - 2.458569491410431e+02 2.448617884897432e+02 2.438688385373852e+02 2.428781046719333e+02 2.418895922828956e+02 - 2.409033067613238e+02 2.399192534998131e+02 2.389374378925019e+02 2.379578653350729e+02 2.369805412247519e+02 - 2.360054709603084e+02 2.350326599420553e+02 2.340621135718494e+02 2.330938372530911e+02 2.321278363907239e+02 - 2.311641163912353e+02 2.302026826626565e+02 2.292435406145617e+02 2.282866956580692e+02 2.273321532058407e+02 - 2.263799186720815e+02 2.254299974725404e+02 2.244823950245099e+02 2.235371167468261e+02 2.225941680598685e+02 - 2.216535543855603e+02 2.207152811473682e+02 2.197793537703028e+02 2.188457776809178e+02 2.179145583073106e+02 - 2.169857010791227e+02 2.160592114275385e+02 2.151350947852860e+02 2.142133565866376e+02 2.132940022674083e+02 - 2.123770372649571e+02 2.114624670181867e+02 2.105502969675431e+02 2.096405325550162e+02 2.087331792241393e+02 - 2.078282424199890e+02 2.069257275891860e+02 2.060256401798943e+02 2.051279856418216e+02 2.042327694262190e+02 - 2.033399969858813e+02 2.024496737751469e+02 2.015618052498977e+02 2.006763968675590e+02 1.997934540871004e+02 - 1.989129823690343e+02 1.980349871754169e+02 1.971594739698481e+02 1.962864482174713e+02 1.954159153849736e+02 - 1.945478809405854e+02 1.936823503540812e+02 1.928193290967781e+02 1.919588226415381e+02 1.911008364627658e+02 - 1.902453760364096e+02 1.893924468399617e+02 1.885420543524577e+02 1.876942040544768e+02 1.868489014281417e+02 - 1.860061519571189e+02 1.851659611266184e+02 1.843283344233937e+02 1.834932773357418e+02 1.826607953535034e+02 - 1.818308939680629e+02 1.810035786723481e+02 1.801788549608304e+02 1.793567283295249e+02 1.785372042759901e+02 - 1.777202882993282e+02 1.769059859001850e+02 1.760943025807497e+02 1.752852438447554e+02 1.744788151974785e+02 - 1.736750221457390e+02 1.728738701979007e+02 1.720753648638706e+02 1.712795116550998e+02 1.704863160845825e+02 - 1.696957836668566e+02 1.689079199180039e+02 1.681227303556493e+02 1.673402204989617e+02 1.665603958686532e+02 - 1.657832619869799e+02 1.650088243777409e+02 1.642370885662795e+02 1.634680600794823e+02 1.627017444457793e+02 - 1.619381471951445e+02 1.611772738590951e+02 1.604191299706921e+02 1.596637210645399e+02 1.589110526767867e+02 - 1.581611303451241e+02 1.574139596087874e+02 1.566695460085554e+02 1.559278950867503e+02 1.551890123872385e+02 - 1.544529034554292e+02 1.537195738382757e+02 1.529890290842748e+02 1.522612747434666e+02 1.515363163674351e+02 - 1.508141595093076e+02 1.500948097237555e+02 1.493782725669932e+02 1.486645535967789e+02 1.479536583724143e+02 - 1.472455924547449e+02 1.465403614061596e+02 1.458379707905909e+02 1.451384261735148e+02 1.444417331219514e+02 - 1.437478972044633e+02 1.430569239911578e+02 1.423688190536853e+02 1.416835879652396e+02 1.410012363005585e+02 - 1.403217696359229e+02 1.396451935491577e+02 1.389715136196312e+02 1.383007354282553e+02 1.376328645574854e+02 - 1.369679065913208e+02 1.363058671153038e+02 1.356467517165207e+02 1.349905659836014e+02 1.343373155067194e+02 - 1.336870058775913e+02 1.330396426894780e+02 1.323952315371832e+02 1.317537780170550e+02 1.311152877269845e+02 - 1.304797662664065e+02 1.298472192362996e+02 1.292176522391855e+02 1.285910708791301e+02 1.279674807617425e+02 - 1.273468874941753e+02 1.267292966851250e+02 1.261147139448316e+02 1.255031448850783e+02 1.248945951191923e+02 - 1.242890702620443e+02 1.236865759300485e+02 1.230871177411627e+02 1.224907013148884e+02 1.218973322722703e+02 - 1.213070162358971e+02 1.207197588299010e+02 1.201355656799576e+02 1.195544424132864e+02 1.189763946586499e+02 - 1.184014280463548e+02 1.178295482082510e+02 1.172607607777323e+02 1.166950713897357e+02 1.161324856807421e+02 - 1.155730092887757e+02 1.150166478534045e+02 1.144634070157400e+02 1.139132924184372e+02 1.133663097056950e+02 - 1.128224645232555e+02 1.122817625184044e+02 1.117442093399712e+02 1.112098106383290e+02 1.106785720653942e+02 - 1.101504843345202e+02 1.096253193854976e+02 1.091027814759659e+02 1.085828903190926e+02 1.080656662057070e+02 - 1.075510744401853e+02 1.070391017583160e+02 1.065297369211215e+02 1.060229642403793e+02 1.055187689946627e+02 - 1.050171373101604e+02 1.045180558156006e+02 1.040215103049707e+02 1.035274865113781e+02 1.030359706887152e+02 - 1.025469492169604e+02 1.020604083357866e+02 1.015763340040288e+02 1.010947131078929e+02 1.006155327791835e+02 - 1.001387792631148e+02 9.966443911893010e+01 9.919249927205091e+01 9.872294669690289e+01 9.825576811144268e+01 - 9.779095024426459e+01 9.732848086108395e+01 9.686834738339628e+01 9.641053663288847e+01 9.595503591883143e+01 - 9.550183276437639e+01 9.505091470489599e+01 9.460226894357737e+01 9.415588307372171e+01 9.371174549820027e+01 - 9.326984390100915e+01 9.283016578095182e+01 9.239269910989660e+01 9.195743199867270e+01 9.152435246657959e+01 - 9.109344822825337e+01 9.066470776170968e+01 9.023811990175319e+01 8.981367265385576e+01 8.939135422700863e+01 - 8.897115319588202e+01 8.855305819940260e+01 8.813705766268812e+01 8.772313993524557e+01 8.731129428898021e+01 - 8.690150981214184e+01 8.649377498492467e+01 8.608807868460502e+01 8.568441000539183e+01 8.528275807208179e+01 - 8.488311171021131e+01 8.448546000255536e+01 8.408979283578468e+01 8.369609949978657e+01 8.330436902264381e+01 - 8.291459088961614e+01 8.252675470341519e+01 8.214085000107356e+01 8.175686603719873e+01 8.137479266933553e+01 - 8.099462018292702e+01 8.061633811896954e+01 8.023993612969721e+01 7.986540422509246e+01 7.949273245617202e+01 - 7.912191071864751e+01 7.875292880591886e+01 7.838577728963824e+01 7.802044667908689e+01 7.765692688210476e+01 - 7.729520814701189e+01 7.693528093921003e+01 7.657713574044320e+01 7.622076279877933e+01 7.586615250876412e+01 - 7.551329599462582e+01 7.516218394284439e+01 7.481280673973237e+01 7.446515517211270e+01 7.411922012543234e+01 - 7.377499243991551e+01 7.343246273248482e+01 7.309162206375170e+01 7.275246194060588e+01 7.241497325488510e+01 - 7.207914691168762e+01 7.174497413637995e+01 7.141244624067238e+01 7.108155440657860e+01 7.075228964021176e+01 - 7.042464364044737e+01 7.009860816502822e+01 6.977417437950896e+01 6.945133371117183e+01 6.913007780419414e+01 - 6.881039831641085e+01 6.849228672098478e+01 6.817573455985929e+01 6.786073404036127e+01 6.754727706019318e+01 - 6.723535518365489e+01 6.692496029976250e+01 6.661608442214438e+01 6.630871955818391e+01 6.600285747074972e+01 - 6.569849025826812e+01 6.539561050984807e+01 6.509421028016476e+01 6.479428156422156e+01 6.449581665898590e+01 - 6.419880794007263e+01 6.390324769379086e+01 6.360912802573969e+01 6.331644161216560e+01 6.302518126952705e+01 - 6.273533924838438e+01 6.244690800283556e+01 6.215988021335375e+01 6.187424856554645e+01 6.159000558852496e+01 - 6.130714382209544e+01 6.102565642873360e+01 6.074553634647369e+01 6.046677613965124e+01 6.018936867893675e+01 - 5.991330696615304e+01 5.963858400265185e+01 5.936519255461710e+01 5.909312563142009e+01 5.882237675846172e+01 - 5.855293899151076e+01 5.828480526925385e+01 5.801796883717194e+01 5.775242299813667e+01 5.748816098906929e+01 - 5.722517588172157e+01 5.696346118973321e+01 5.670301063052477e+01 5.644381744585571e+01 5.618587497447161e+01 - 5.592917675378749e+01 5.567371639288440e+01 5.541948735564524e+01 5.516648303666721e+01 5.491469740133566e+01 - 5.466412430128952e+01 5.441475721341882e+01 5.416658984866251e+01 5.391961604526729e+01 5.367382965707854e+01 - 5.342922435049869e+01 5.318579394824101e+01 5.294353276046760e+01 5.270243471566913e+01 5.246249358126801e+01 - 5.222370341980431e+01 5.198605834991378e+01 5.174955243603662e+01 5.151417956992881e+01 5.127993401538280e+01 - 5.104681029539683e+01 5.081480246751264e+01 5.058390465007635e+01 5.035411117607305e+01 5.012541641928832e+01 - 4.989781463692880e+01 4.967129999443014e+01 4.944586717469857e+01 4.922151081792142e+01 4.899822516393252e+01 - 4.877600466591702e+01 4.855484391176263e+01 4.833473749525371e+01 4.811567985888949e+01 4.789766553100244e+01 - 4.768068948486052e+01 4.746474643299185e+01 4.724983089968822e+01 4.703593761581940e+01 4.682306140175855e+01 - 4.661119706938157e+01 4.640033923440899e+01 4.619048280117971e+01 4.598162297433280e+01 4.577375454810339e+01 - 4.556687232031752e+01 4.536097129194708e+01 4.515604651624491e+01 4.495209295916556e+01 4.474910546848848e+01 - 4.454707932343867e+01 4.434600983627007e+01 4.414589194663536e+01 4.394672075425581e+01 4.374849149110094e+01 - 4.355119939554362e+01 4.335483958155968e+01 4.315940720272008e+01 4.296489783321342e+01 4.277130684141869e+01 - 4.257862938067940e+01 4.238686082011235e+01 4.219599659307687e+01 4.200603211268383e+01 4.181696265307154e+01 - 4.162878369849639e+01 4.144149102922540e+01 4.125508008000694e+01 4.106954625154178e+01 4.088488514080404e+01 - 4.070109237453877e+01 4.051816351991027e+01 4.033609404369983e+01 4.015487975529847e+01 3.997451654390139e+01 - 3.979499995457292e+01 3.961632565249730e+01 3.943848943565658e+01 3.926148710146721e+01 3.908531435163689e+01 - 3.890996689581685e+01 3.873544082272831e+01 3.856173207783515e+01 3.838883637414560e+01 3.821674961156019e+01 - 3.804546776546066e+01 3.787498680517137e+01 3.770530255859592e+01 3.753641100849845e+01 3.736830845518836e+01 - 3.720099088344971e+01 3.703445420945200e+01 3.686869456603723e+01 3.670370808841574e+01 3.653949085950763e+01 - 3.637603888796111e+01 3.621334844811717e+01 3.605141592615973e+01 3.589023740445852e+01 3.572980904042850e+01 - 3.557012712196481e+01 3.541118795282225e+01 3.525298774403768e+01 3.509552267323749e+01 3.493878928773343e+01 - 3.478278404343990e+01 3.462750313614663e+01 3.447294293878365e+01 3.431909990161546e+01 3.416597046087814e+01 - 3.401355094900445e+01 3.386183779648810e+01 3.371082772101448e+01 3.356051721064496e+01 3.341090265530899e+01 - 3.326198061398263e+01 3.311374767636361e+01 3.296620040125966e+01 3.281933525310492e+01 3.267314891432770e+01 - 3.252763821351709e+01 3.238279969616838e+01 3.223862995512887e+01 3.209512571750849e+01 3.195228370249094e+01 - 3.181010057023420e+01 3.166857295105629e+01 3.152769775432829e+01 3.138747186368265e+01 3.124789194582367e+01 - 3.110895478177638e+01 3.097065722333928e+01 3.083299612203396e+01 3.069596823521478e+01 3.055957038379009e+01 - 3.042379968490992e+01 3.028865305190764e+01 3.015412726448298e+01 3.002021927954454e+01 2.988692608783410e+01 - 2.975424465393443e+01 2.962217185358958e+01 2.949070472525562e+01 2.935984046863818e+01 2.922957605244617e+01 - 2.909990844798608e+01 2.897083474125067e+01 2.884235205411202e+01 2.871445744621140e+01 2.858714789194334e+01 - 2.846042066311678e+01 2.833427304434733e+01 2.820870204788112e+01 2.808370481822039e+01 2.795927858955916e+01 - 2.783542056310479e+01 2.771212788710439e+01 2.758939774558937e+01 2.746722754519704e+01 2.734561457842300e+01 - 2.722455602005491e+01 2.710404915757552e+01 2.698409131619408e+01 2.686467981339180e+01 2.674581188504884e+01 - 2.662748489299116e+01 2.650969637323688e+01 2.639244364869198e+01 2.627572402574995e+01 2.615953493480668e+01 - 2.604387380499337e+01 2.592873803144385e+01 2.581412497154068e+01 2.570003216993883e+01 2.558645721031992e+01 - 2.547339748309297e+01 2.536085044648649e+01 2.524881363723968e+01 2.513728460374055e+01 2.502626081142699e+01 - 2.491573971820056e+01 2.480571905896494e+01 2.469619646153339e+01 2.458716938319504e+01 2.447863542000312e+01 - 2.437059221927192e+01 2.426303741725681e+01 2.415596854366440e+01 2.404938323139217e+01 2.394327933047775e+01 - 2.383765447837906e+01 2.373250626120992e+01 2.362783239922733e+01 2.352363062421024e+01 2.341989863680159e+01 - 2.331663407933185e+01 2.321383475989216e+01 2.311149855755017e+01 2.300962316438995e+01 2.290820631357202e+01 - 2.280724581327735e+01 2.270673948178020e+01 2.260668508940155e+01 2.250708039173678e+01 2.240792334786956e+01 - 2.230921186720802e+01 2.221094371595302e+01 2.211311674173436e+01 2.201572884123411e+01 2.191877792312015e+01 - 2.182226182065280e+01 2.172617842216956e+01 2.163052579410284e+01 2.153530186271772e+01 2.144050449256298e+01 - 2.134613164544727e+01 2.125218130870039e+01 2.115865145244560e+01 2.106553997668644e+01 2.097284492087666e+01 - 2.088056441996010e+01 2.078869643251129e+01 2.069723893213309e+01 2.060618996606658e+01 2.051554761096601e+01 - 2.042530989859754e+01 2.033547481777502e+01 2.024604054022628e+01 2.015700522393599e+01 2.006836688994228e+01 - 1.998012363072147e+01 1.989227358045817e+01 1.980481486918973e+01 1.971774557717947e+01 1.963106382303616e+01 - 1.954476789103884e+01 1.945885594703988e+01 1.937332608222908e+01 1.928817649453870e+01 1.920340539662878e+01 - 1.911901098077130e+01 1.903499138773951e+01 1.895134486255558e+01 1.886806974988112e+01 1.878516424109755e+01 - 1.870262653275597e+01 1.862045489823334e+01 1.853864761644500e+01 1.845720293609644e+01 1.837611907561623e+01 - 1.829539441141390e+01 1.821502731690405e+01 1.813501600648008e+01 1.805535878852776e+01 1.797605402680784e+01 - 1.789710004813803e+01 1.781849513976010e+01 1.774023761822760e+01 1.766232596769640e+01 1.758475857461898e+01 - 1.750753373031707e+01 1.743064982368309e+01 1.735410526816905e+01 1.727789846424588e+01 1.720202775432962e+01 - 1.712649156263800e+01 1.705128842771503e+01 1.697641675133914e+01 1.690187492053174e+01 1.682766139576636e+01 - 1.675377465125957e+01 1.668021313537254e+01 1.660697525047803e+01 1.653405953620346e+01 1.646146456303875e+01 - 1.638918876353225e+01 1.631723061252691e+01 1.624558863577738e+01 1.617426136715184e+01 1.610324729276991e+01 - 1.603254489420701e+01 1.596215281065743e+01 1.589206962268447e+01 1.582229381597797e+01 1.575282394813798e+01 - 1.568365860435203e+01 1.561479636559848e+01 1.554623575841051e+01 1.547797536749664e+01 1.541001389568697e+01 - 1.534234992945672e+01 1.527498202635700e+01 1.520790881496337e+01 1.514112893627654e+01 1.507464101206718e+01 - 1.500844361854594e+01 1.494253544400039e+01 1.487691522461213e+01 1.481158156982783e+01 1.474653311471545e+01 - 1.468176854391490e+01 1.461728655322583e+01 1.455308580005108e+01 1.448916492494823e+01 1.442552270891503e+01 - 1.436215789907635e+01 1.429906914560298e+01 1.423625515786986e+01 1.417371467503432e+01 1.411144643634281e+01 - 1.404944913182382e+01 1.398772148936426e+01 1.392626235467004e+01 1.386507047757601e+01 1.380414456703780e+01 - 1.374348339923097e+01 1.368308576360786e+01 1.362295043539383e+01 1.356307614411792e+01 1.350346171009224e+01 - 1.344410601461897e+01 1.338500782259274e+01 1.332616591200318e+01 1.326757911048049e+01 1.320924625504148e+01 - 1.315116615215319e+01 1.309333758418828e+01 1.303575945915385e+01 1.297843067064863e+01 1.292135001185642e+01 - 1.286451632934388e+01 1.280792850075226e+01 1.275158540067995e+01 1.269548586414703e+01 1.263962874841400e+01 - 1.258401302186647e+01 1.252863758019894e+01 1.247350127006052e+01 1.241860299544399e+01 1.236394167532885e+01 - 1.230951622025856e+01 1.225532549825102e+01 1.220136844757296e+01 1.214764407513537e+01 1.209415128431592e+01 - 1.204088897936275e+01 1.198785611322907e+01 1.193505164847797e+01 1.188247452422181e+01 1.183012365035161e+01 - 1.177799804372636e+01 1.172609672645034e+01 1.167441862559045e+01 1.162296270435431e+01 1.157172795813644e+01 - 1.152071338824009e+01 1.146991795771504e+01 1.141934063624516e+01 1.136898050295155e+01 1.131883658051165e+01 - 1.126890783457083e+01 1.121919328583311e+01 1.116969196974251e+01 1.112040291453270e+01 1.107132511138846e+01 - 1.102245760367597e+01 1.097379950683186e+01 1.092534984778681e+01 1.087710764406476e+01 1.082907196010627e+01 - 1.078124186863284e+01 1.073361642501848e+01 1.068619465441603e+01 1.063897567074718e+01 1.059195860734133e+01 - 1.054514250814830e+01 1.049852644360809e+01 1.045210951602862e+01 1.040589083229813e+01 1.035986946911022e+01 - 1.031404450080543e+01 1.026841510170119e+01 1.022298040707346e+01 1.017773949095798e+01 1.013269147478631e+01 - 1.008783549702620e+01 1.004317069189082e+01 9.998696157456914e+00 9.954411030186206e+00 9.910314523784715e+00 - 9.866405774945729e+00 9.822683900561229e+00 9.779148062474189e+00 9.735797433007823e+00 9.692631171490490e+00 - 9.649648402951970e+00 9.606848328743531e+00 9.564230182014787e+00 9.521793107635142e+00 9.479536270440141e+00 - 9.437458869806633e+00 9.395560106559989e+00 9.353839157926716e+00 9.312295192835592e+00 9.270927467731591e+00 - 9.229735216231479e+00 9.188717610212938e+00 9.147873860369382e+00 9.107203196336844e+00 9.066704846764596e+00 - 9.026378005702853e+00 8.986221892357717e+00 8.946235805206038e+00 8.906418978693665e+00 8.866770619316361e+00 - 8.827289975974383e+00 8.787976307390357e+00 8.748828863538764e+00 8.709846863139358e+00 8.671029583554503e+00 - 8.632376341244221e+00 8.593886376949055e+00 8.555558939921891e+00 8.517393311170933e+00 8.479388776756116e+00 - 8.441544603229096e+00 8.403860042243403e+00 8.366334424744339e+00 8.328967072292842e+00 8.291757243124138e+00 - 8.254704227472720e+00 8.217807335382002e+00 8.181065876905594e+00 8.144479133106664e+00 8.108046399433587e+00 - 8.071767047639053e+00 8.035640397926882e+00 7.999665736506032e+00 7.963842390434660e+00 7.928169696145141e+00 - 7.892646983285742e+00 7.857273552651162e+00 7.822048750599857e+00 7.786971968025827e+00 7.752042529333232e+00 - 7.717259758863888e+00 7.682623011133142e+00 7.648131647347260e+00 7.613785013617140e+00 7.579582436948184e+00 - 7.545523312250220e+00 7.511607037617057e+00 7.477832951167176e+00 7.444200413093294e+00 7.410708803334905e+00 - 7.377357505498556e+00 7.344145878673218e+00 7.311073286547245e+00 7.278139163173499e+00 7.245342906306997e+00 - 7.212683876663248e+00 7.180161467446147e+00 7.147775082852699e+00 7.115524124234772e+00 7.083407965702390e+00 - 7.051426016132217e+00 7.019577732801474e+00 6.987862512275252e+00 6.956279745475502e+00 6.924828855941318e+00 - 6.893509269882150e+00 6.862320401692200e+00 6.831261647888545e+00 6.800332460884749e+00 6.769532305211046e+00 - 6.738860589806862e+00 6.708316738463165e+00 6.677900193977888e+00 6.647610403615440e+00 6.617446795946176e+00 - 6.587408797932629e+00 6.557495898186097e+00 6.527707560796614e+00 6.498043211862364e+00 6.468502306113241e+00 - 6.439084309299234e+00 6.409788685242900e+00 6.380614873655190e+00 6.351562339061567e+00 6.322630595895343e+00 - 6.293819108127046e+00 6.265127326375664e+00 6.236554729526047e+00 6.208100805116588e+00 6.179765032202197e+00 - 6.151546864740690e+00 6.123445807150094e+00 6.095461385258917e+00 6.067593067877628e+00 6.039840335121551e+00 - 6.012202688508743e+00 5.984679633169969e+00 5.957270656961056e+00 5.929975240292937e+00 5.902792923627279e+00 - 5.875723232013562e+00 5.848765648702115e+00 5.821919682493143e+00 5.795184854142510e+00 5.768560683026402e+00 - 5.742046666390822e+00 5.715642318587924e+00 5.689347205919744e+00 5.663160851223163e+00 5.637082758311135e+00 - 5.611112458697719e+00 5.585249491519008e+00 5.559493390584049e+00 5.533843667789125e+00 5.508299872311603e+00 - 5.482861578646651e+00 5.457528314665947e+00 5.432299611523626e+00 5.407175018586152e+00 5.382154093094761e+00 - 5.357236378022760e+00 5.332421403106363e+00 5.307708752059064e+00 5.283098003376689e+00 5.258588694187007e+00 - 5.234180379291222e+00 5.209872626694981e+00 5.185665008050016e+00 5.161557074183171e+00 5.137548383980142e+00 - 5.113638545797982e+00 5.089827134282968e+00 5.066113702430728e+00 5.042497830741953e+00 5.018979105007048e+00 - 4.995557105455633e+00 4.972231392615168e+00 4.949001558388967e+00 4.925867224885915e+00 4.902827967986653e+00 - 4.879883363679411e+00 4.857033008673309e+00 4.834276503129009e+00 4.811613436797770e+00 4.789043387081744e+00 - 4.766565977795326e+00 4.744180833573695e+00 4.721887536130310e+00 4.699685684376157e+00 4.677574891583497e+00 - 4.655554772271826e+00 4.633624922898647e+00 4.611784942911348e+00 4.590034481232405e+00 4.568373160121153e+00 - 4.546800575450856e+00 4.525316347519302e+00 4.503920103923871e+00 4.482611469298424e+00 4.461390048788094e+00 - 4.440255471271009e+00 4.419207398665950e+00 4.398245451269402e+00 4.377369245425554e+00 4.356578419383048e+00 - 4.335872613273037e+00 4.315251459075552e+00 4.294714576337845e+00 4.274261622204341e+00 4.253892261314030e+00 - 4.233606119889290e+00 4.213402835603544e+00 4.193282059746365e+00 4.173243445650493e+00 4.153286631923412e+00 - 4.133411255497697e+00 4.113616998652003e+00 4.093903524786619e+00 4.074270469191258e+00 4.054717490515994e+00 - 4.035244253601178e+00 4.015850419023907e+00 3.996535633568783e+00 3.977299560905666e+00 3.958141896495164e+00 - 3.939062301025637e+00 3.920060427447142e+00 3.901135950094528e+00 3.882288544897898e+00 3.863517881118590e+00 - 3.844823615448907e+00 3.826205437051391e+00 3.807663047653544e+00 3.789196110563124e+00 3.770804297342049e+00 - 3.752487294212357e+00 3.734244789018890e+00 3.716076457976182e+00 3.697981972490954e+00 3.679961043694115e+00 - 3.662013372248035e+00 3.644138631063968e+00 3.626336509775109e+00 3.608606705542072e+00 3.590948914412318e+00 - 3.573362819793663e+00 3.555848115085657e+00 3.538404523614169e+00 3.521031745026515e+00 3.503729467883798e+00 - 3.486497394134707e+00 3.469335231734055e+00 3.452242686325544e+00 3.435219448952052e+00 3.418265234650198e+00 - 3.401379774604279e+00 3.384562769850576e+00 3.367813923930398e+00 3.351132951883403e+00 3.334519571031865e+00 - 3.317973491801103e+00 3.301494419647167e+00 3.285082090084510e+00 3.268736234671993e+00 3.252456560777042e+00 - 3.236242786971220e+00 3.220094639575606e+00 3.204011846234647e+00 3.187994121490988e+00 3.172041185626448e+00 - 3.156152791161071e+00 3.140328668842820e+00 3.124568535295174e+00 3.108872124034968e+00 3.093239171871656e+00 - 3.077669412161458e+00 3.062162565910707e+00 3.046718374098970e+00 3.031336596904380e+00 3.016016966139392e+00 - 3.000759212810465e+00 2.985563079528153e+00 2.970428312130104e+00 2.955354650145179e+00 2.940341825152254e+00 - 2.925389598488303e+00 2.910497731503551e+00 2.895665957526404e+00 2.880894022713473e+00 2.866181682137055e+00 - 2.851528688498591e+00 2.836934785005289e+00 2.822399718118186e+00 2.807923264019232e+00 2.793505182293368e+00 - 2.779145216423770e+00 2.764843124903896e+00 2.750598669795774e+00 2.736411610868753e+00 2.722281698431688e+00 - 2.708208697067331e+00 2.694192390113966e+00 2.680232535961204e+00 2.666328890540199e+00 2.652481222662398e+00 - 2.638689303226956e+00 2.624952898002155e+00 2.611271764144950e+00 2.597645683492627e+00 2.584074442444535e+00 - 2.570557801667266e+00 2.557095530257868e+00 2.543687406599445e+00 2.530333209423413e+00 2.517032707379746e+00 - 2.503785668122807e+00 2.490591889861845e+00 2.477451158950901e+00 2.464363243138197e+00 2.451327922049569e+00 - 2.438344980862380e+00 2.425414204994132e+00 2.412535368413293e+00 2.399708255484590e+00 2.386932671907132e+00 - 2.374208401602455e+00 2.361535223009603e+00 2.348912926727443e+00 2.336341305706971e+00 2.323820149408004e+00 - 2.311349238873846e+00 2.298928374328811e+00 2.286557363678248e+00 2.274235992966902e+00 2.261964052364815e+00 - 2.249741340335214e+00 2.237567658215990e+00 2.225442798573621e+00 2.213366549457367e+00 2.201338726388740e+00 - 2.189359138707274e+00 2.177427577694549e+00 2.165543843493499e+00 2.153707741170415e+00 2.141919076444355e+00 - 2.130177647034976e+00 2.118483256831743e+00 2.106835728234196e+00 2.095234867960482e+00 2.083680476325080e+00 - 2.072172364176171e+00 2.060710343839133e+00 2.049294224696878e+00 2.037923808395575e+00 2.026598913260298e+00 - 2.015319367985618e+00 2.004084979196668e+00 1.992895556108562e+00 1.981750916950703e+00 1.970650881000152e+00 - 1.959595261684839e+00 1.948583868145923e+00 1.937616532016987e+00 1.926693081878526e+00 1.915813328267264e+00 - 1.904977090405082e+00 1.894184192977273e+00 1.883434460875044e+00 1.872727710477953e+00 1.862063762090873e+00 - 1.851442457083682e+00 1.840863622251705e+00 1.830327074965862e+00 1.819832643502570e+00 1.809380158797907e+00 - 1.798969449793061e+00 1.788600336572885e+00 1.778272652771865e+00 1.767986244795942e+00 1.757740938619203e+00 - 1.747536560606076e+00 1.737372946411540e+00 1.727249932639099e+00 1.717167351154095e+00 1.707125028541288e+00 - 1.697122811212298e+00 1.687160545804055e+00 1.677238060829077e+00 1.667355192130723e+00 1.657511781312863e+00 - 1.647707669880958e+00 1.637942692337234e+00 1.628216684763444e+00 1.618529503053863e+00 1.608880992276723e+00 - 1.599270986915247e+00 1.589699330823691e+00 1.580165870897195e+00 1.570670452975510e+00 1.561212914561866e+00 - 1.551793103249197e+00 1.542410880472349e+00 1.533066090216831e+00 1.523758574579748e+00 1.514488184288800e+00 - 1.505254771462676e+00 1.496058184704016e+00 1.486898266759950e+00 1.477774877044576e+00 1.468687878023066e+00 - 1.459637114930725e+00 1.450622438289068e+00 1.441643704572125e+00 1.432700770639202e+00 1.423793487269355e+00 - 1.414921704769478e+00 1.406085292220042e+00 1.397284110913275e+00 1.388518010515092e+00 1.379786849127615e+00 - 1.371090488107240e+00 1.362428788219066e+00 1.353801602746353e+00 1.345208792137069e+00 1.336650231141558e+00 - 1.328125779708811e+00 1.319635294146069e+00 1.311178639017341e+00 1.302755680403749e+00 1.294366281732825e+00 - 1.286010300246468e+00 1.277687607130681e+00 1.269398079017509e+00 1.261141576506052e+00 1.252917963373013e+00 - 1.244727109229262e+00 1.236568884548108e+00 1.228443154841189e+00 1.220349783647821e+00 1.212288651549746e+00 - 1.204259634287000e+00 1.196262595500517e+00 1.188297406122070e+00 1.180363940507803e+00 1.172462072687314e+00 - 1.164591670206239e+00 1.156752605274376e+00 1.148944764287503e+00 1.141168021685895e+00 1.133422246839356e+00 - 1.125707316556084e+00 1.118023109341937e+00 1.110369501923575e+00 1.102746365022667e+00 1.095153580538906e+00 - 1.087591037394418e+00 1.080058609806265e+00 1.072556173728377e+00 1.065083611042832e+00 1.057640804167975e+00 - 1.050227631677888e+00 1.042843969448370e+00 1.035489708218281e+00 1.028164736497249e+00 1.020868930712798e+00 - 1.013602173363602e+00 1.006364350528145e+00 9.991553480860069e-01 9.919750464549014e-01 9.848233287198007e-01 - 9.777000916381701e-01 9.706052224312447e-01 9.635386022157533e-01 9.565001191688937e-01 9.494896630661879e-01 - 9.425071223228538e-01 9.355523797940184e-01 9.286253271866921e-01 9.217258644183214e-01 9.148538781303724e-01 - 9.080092551050607e-01 9.011918879859632e-01 8.944016703005543e-01 8.876384924746002e-01 8.809022413584221e-01 - 8.741928168976413e-01 8.675101190938330e-01 8.608540359442419e-01 8.542244603473701e-01 8.476212889430066e-01 - 8.410444181391276e-01 8.344937399710189e-01 8.279691476350027e-01 8.214705470141707e-01 8.149978368018493e-01 - 8.085509088588196e-01 8.021296614287111e-01 7.957339944800463e-01 7.893638070383275e-01 7.830189931350516e-01 - 7.766994532966268e-01 7.704050967403675e-01 7.641358215802615e-01 7.578915247022724e-01 7.516721083807270e-01 - 7.454774759379389e-01 7.393075284143857e-01 7.331621629407183e-01 7.270412875750237e-01 7.209448123528730e-01 - 7.148726361079928e-01 7.088246610576617e-01 7.028007931997213e-01 6.968009387204053e-01 6.908250000358214e-01 - 6.848728793751606e-01 6.789444908271167e-01 6.730397435251165e-01 6.671585392499849e-01 6.613007849024644e-01 - 6.554663896318030e-01 6.496552624588109e-01 6.438673070778183e-01 6.381024319556428e-01 6.323605552121262e-01 - 6.266415850605696e-01 6.209454272475601e-01 6.152719929073242e-01 6.096211942955035e-01 6.039929419697414e-01 - 5.983871423673978e-01 5.928037109278776e-01 5.872425665727200e-01 5.817036179262789e-01 5.761867757580472e-01 - 5.706919545755328e-01 5.652190691753797e-01 5.597680312855905e-01 5.543387515608681e-01 5.489311514266204e-01 - 5.435451491959484e-01 5.381806555529779e-01 5.328375858091706e-01 5.275158573424954e-01 5.222153871968650e-01 - 5.169360885007255e-01 5.116778775087658e-01 5.064406794925096e-01 5.012244118255510e-01 4.960289886382637e-01 - 4.908543290552675e-01 4.857003532629381e-01 4.805669801867241e-01 4.754541247133137e-01 4.703617092625736e-01 - 4.652896609026711e-01 4.602378967146020e-01 4.552063350475851e-01 4.501948983226124e-01 4.452035092771810e-01 - 4.402320879227842e-01 4.352805523654864e-01 4.303488309750054e-01 4.254368504386150e-01 4.205445290166767e-01 - 4.156717895856258e-01 4.108185573527897e-01 4.059847567861119e-01 4.011703090912549e-01 3.963751374739253e-01 - 3.915991740467544e-01 3.868423443729578e-01 3.821045699452743e-01 3.773857771630841e-01 3.726858934536713e-01 - 3.680048452743795e-01 3.633425553945757e-01 3.586989523890614e-01 3.540739701811214e-01 3.494675340422360e-01 - 3.448795694018267e-01 3.403100055229290e-01 3.357587720701978e-01 3.312257966625470e-01 3.267110046986084e-01 - 3.222143302305144e-01 3.177357072575733e-01 3.132750617821559e-01 3.088323230437107e-01 3.044074228278458e-01 - 3.000002929514869e-01 2.956108619814004e-01 2.912390591663653e-01 2.868848226223222e-01 2.825480855369588e-01 - 2.782287763584979e-01 2.739268276304007e-01 2.696421732978619e-01 2.653747469077652e-01 2.611244782932083e-01 - 2.568913016367161e-01 2.526751570146955e-01 2.484759769388697e-01 2.442936932048949e-01 2.401282413902519e-01 - 2.359795575701045e-01 2.318475761710866e-01 2.277322290127450e-01 2.236334554284879e-01 2.195511960314929e-01 - 2.154853836729677e-01 2.114359536211432e-01 2.074028437636633e-01 2.033859920182897e-01 1.993853337119912e-01 - 1.954008040589642e-01 1.914323463143237e-01 1.874799002688242e-01 1.835434007181165e-01 1.796227861758036e-01 - 1.757179964922509e-01 1.718289711649378e-01 1.679556465242757e-01 1.640979620393169e-01 1.602558632656972e-01 - 1.564292893436780e-01 1.526181778855338e-01 1.488224700413446e-01 1.450421075715582e-01 1.412770310767497e-01 - 1.375271785489454e-01 1.337924939887067e-01 1.300729236356154e-01 1.263684067750867e-01 1.226788841702678e-01 - 1.190042991249222e-01 1.153445951805052e-01 1.116997137432381e-01 1.080695954417651e-01 1.044541881911586e-01 - 1.008534377603918e-01 9.726728475975084e-02 9.369567294988820e-02 9.013854752144720e-02 8.659585347215112e-02 - 8.306753302147955e-02 7.955353046975124e-02 7.605379621791922e-02 7.256827534889604e-02 6.909691079142652e-02 - 6.563964883225221e-02 6.219643640409570e-02 5.876721959493493e-02 5.535194193553600e-02 5.195055179453398e-02 - 4.856300050562060e-02 4.518923308325209e-02 4.182919528191363e-02 3.848283536820589e-02 3.515010193539807e-02 - 3.183094185890936e-02 2.852530077920949e-02 2.523313079087341e-02 2.195438300307553e-02 1.868900335629075e-02 - 1.543694036357313e-02 1.219814405293583e-02 8.972564385828061e-03 5.760148923624660e-03 2.560846417529306e-03 - -6.253884489496408e-04 -3.798605206001689e-03 -6.958856024607482e-03 -1.010619000899848e-02 -1.324065554473652e-02 - -1.636230159824732e-02 -1.947117958312726e-02 -2.256733711284757e-02 -2.565081832749929e-02 -2.872167302619957e-02 - -3.177995089902724e-02 -3.482569914268617e-02 -3.785896464500105e-02 -4.087979562235380e-02 -4.388824175488684e-02 - -4.688434717766576e-02 -4.986815604286890e-02 -5.283971753775529e-02 -5.579907881824794e-02 -5.874628546589089e-02 - -6.168138307363240e-02 -6.460441923558070e-02 -6.751544105442296e-02 -7.041449003639784e-02 -7.330161087707579e-02 - -7.617685125406765e-02 -7.904025608548425e-02 -8.189186951723537e-02 -8.473173608907363e-02 -8.755990257827875e-02 - -9.037641289395969e-02 -9.318130717201861e-02 -9.597463047763352e-02 -9.875642835115833e-02 -1.015267439140877e-01 - -1.042856199263307e-01 -1.070331001684683e-01 -1.097692300567918e-01 -1.124940502948268e-01 -1.152076007898061e-01 - -1.179099262631479e-01 -1.206010699593113e-01 -1.232810735016665e-01 -1.259499784255051e-01 -1.286078279418341e-01 - -1.312546653333709e-01 -1.338905286984875e-01 -1.365154583874092e-01 -1.391294979538990e-01 -1.417326885345280e-01 - -1.443250704192513e-01 -1.469066841433861e-01 -1.494775722507627e-01 -1.520377752494497e-01 -1.545873297590701e-01 - -1.571262765202916e-01 -1.596546572452540e-01 -1.621725113907878e-01 -1.646798779801165e-01 -1.671767967821347e-01 - -1.696633092874520e-01 -1.721394530811854e-01 -1.746052643091513e-01 -1.770607836101869e-01 -1.795060506428017e-01 - -1.819411034225526e-01 -1.843659798390828e-01 -1.867807191554161e-01 -1.891853611111403e-01 -1.915799407499077e-01 - -1.939644945120454e-01 -1.963390621459183e-01 -1.987036813730624e-01 -2.010583889984393e-01 -2.034032219467188e-01 - -2.057382189127211e-01 -2.080634172465200e-01 -2.103788504106409e-01 -2.126845552585028e-01 -2.149805700057577e-01 - -2.172669307458855e-01 -2.195436731393316e-01 -2.218108333786645e-01 -2.240684493062661e-01 -2.263165556286022e-01 - -2.285551851690127e-01 -2.307843748874083e-01 -2.330041611277884e-01 -2.352145785311434e-01 -2.374156618282909e-01 - -2.396074467707450e-01 -2.417899696732801e-01 -2.439632627554057e-01 -2.461273590292558e-01 -2.482822949571798e-01 - -2.504281050002428e-01 -2.525648226666662e-01 -2.546924818382261e-01 -2.568111176810049e-01 -2.589207645010757e-01 - -2.610214530059819e-01 -2.631132165202481e-01 -2.651960899948890e-01 -2.672701065219724e-01 -2.693352987894519e-01 - -2.713916998229662e-01 -2.734393439668777e-01 -2.754782632038173e-01 -2.775084874639143e-01 -2.795300503441993e-01 - -2.815429852855671e-01 -2.835473240274155e-01 -2.855430981234691e-01 -2.875303400246380e-01 -2.895090831627840e-01 - -2.914793573631382e-01 -2.934411924374482e-01 -2.953946213942734e-01 -2.973396760049649e-01 -2.992763870705049e-01 - -3.012047853752455e-01 -3.031249029054077e-01 -3.050367713048046e-01 -3.069404187491607e-01 -3.088358754333808e-01 - -3.107231733999588e-01 -3.126023429151826e-01 -3.144734138246973e-01 -3.163364162512183e-01 -3.181913814969073e-01 - -3.200383391593082e-01 -3.218773166629695e-01 -3.237083442965246e-01 -3.255314526206347e-01 -3.273466708133588e-01 - -3.291540279174764e-01 -3.309535535062730e-01 -3.327452779044484e-01 -3.345292286746930e-01 -3.363054329977739e-01 - -3.380739209920870e-01 -3.398347217688169e-01 -3.415878634526212e-01 -3.433333743100879e-01 -3.450712833788954e-01 - -3.468016195958206e-01 -3.485244091566739e-01 -3.502396793974815e-01 -3.519474593420066e-01 -3.536477770380763e-01 - -3.553406598299846e-01 -3.570261348354672e-01 -3.587042307855341e-01 -3.603749751839582e-01 -3.620383929731605e-01 - -3.636945116923384e-01 -3.653433594409278e-01 -3.669849628231984e-01 -3.686193482790397e-01 -3.702465427747400e-01 - -3.718665743211436e-01 -3.734794684043725e-01 -3.750852495624684e-01 -3.766839451194457e-01 -3.782755819189342e-01 - -3.798601858648072e-01 -3.814377826321034e-01 -3.830083986549013e-01 -3.845720606417443e-01 -3.861287926090124e-01 - -3.876786193539286e-01 -3.892215675502101e-01 -3.907576628594260e-01 -3.922869303026715e-01 -3.938093947284727e-01 - -3.953250822556230e-01 -3.968340182497304e-01 -3.983362256494206e-01 -3.998317293097848e-01 -4.013205549386248e-01 - -4.028027272117153e-01 -4.042782703087232e-01 -4.057472086115670e-01 -4.072095677082399e-01 -4.086653712889545e-01 - -4.101146418277140e-01 -4.115574040934622e-01 -4.129936826934361e-01 -4.144235014035024e-01 -4.158468836578273e-01 - -4.172638535617268e-01 -4.186744357650895e-01 -4.200786523524958e-01 -4.214765258006608e-01 -4.228680805923657e-01 - -4.242533401481378e-01 -4.256323273241845e-01 -4.270050650780072e-01 -4.283715771591216e-01 -4.297318868367957e-01 - -4.310860152683936e-01 -4.324339850671611e-01 -4.337758197699306e-01 -4.351115419219263e-01 -4.364411736856622e-01 - -4.377647373653272e-01 -4.390822563519974e-01 -4.403937525793140e-01 -4.416992465950099e-01 -4.429987609092939e-01 - -4.442923180804305e-01 -4.455799398898891e-01 -4.468616477876415e-01 -4.481374637930542e-01 -4.494074106490894e-01 - -4.506715085877422e-01 -4.519297779021105e-01 -4.531822412097039e-01 -4.544289201442401e-01 -4.556698355752103e-01 - -4.569050083194456e-01 -4.581344599890250e-01 -4.593582121055255e-01 -4.605762842891920e-01 -4.617886970897419e-01 - -4.629954719556403e-01 -4.641966295426422e-01 -4.653921902577345e-01 -4.665821746143150e-01 -4.677666038635413e-01 - -4.689454981292748e-01 -4.701188761476531e-01 -4.712867586709557e-01 -4.724491664926360e-01 -4.736061192593240e-01 - -4.747576368456714e-01 -4.759037394682022e-01 -4.770444475543998e-01 -4.781797800875144e-01 -4.793097558338887e-01 - -4.804343950164401e-01 -4.815537175042383e-01 -4.826677426390972e-01 -4.837764894228364e-01 -4.848799775883490e-01 - -4.859782270303963e-01 -4.870712557287352e-01 -4.881590823344398e-01 -4.892417265305033e-01 -4.903192072931410e-01 - -4.913915433426016e-01 -4.924587534540600e-01 -4.935208569593936e-01 -4.945778724869024e-01 -4.956298174121960e-01 - -4.966767104426105e-01 -4.977185705977166e-01 -4.987554161795947e-01 -4.997872652579317e-01 -5.008141361357437e-01 - -5.018360477540788e-01 -5.028530175622089e-01 -5.038650625463708e-01 -5.048722015765362e-01 -5.058744527800632e-01 - -5.068718334710337e-01 -5.078643614554021e-01 -5.088520548881869e-01 -5.098349318298798e-01 -5.108130088001350e-01 - -5.117863028619736e-01 -5.127548322161382e-01 -5.137186142245088e-01 -5.146776659499980e-01 -5.156320045833772e-01 - -5.165816478015819e-01 -5.175266128170244e-01 -5.184669156304091e-01 -5.194025733016244e-01 -5.203336032597101e-01 - -5.212600221732120e-01 -5.221818466804444e-01 -5.230990936596679e-01 -5.240117804553392e-01 -5.249199232262068e-01 - -5.258235374392936e-01 -5.267226400387954e-01 -5.276172478389746e-01 -5.285073771019844e-01 -5.293930438910602e-01 - -5.302742646986305e-01 -5.311510563423283e-01 -5.320234339437281e-01 -5.328914129379527e-01 -5.337550101355577e-01 - -5.346142414983102e-01 -5.354691226448078e-01 -5.363196694209366e-01 -5.371658979374595e-01 -5.380078240078261e-01 - -5.388454624615836e-01 -5.396788287704753e-01 -5.405079388378121e-01 -5.413328081929075e-01 -5.421534521210617e-01 - -5.429698859177164e-01 -5.437821254261226e-01 -5.445901856060492e-01 -5.453940806517681e-01 -5.461938261275164e-01 - -5.469894375147514e-01 -5.477809296410460e-01 -5.485683172596564e-01 -5.493516154047422e-01 -5.501308394233321e-01 - -5.509060035978606e-01 -5.516771220917993e-01 -5.524442098036262e-01 -5.532072816062331e-01 -5.539663521228516e-01 - -5.547214355736525e-01 -5.554725467511782e-01 -5.562197004144761e-01 -5.569629099559865e-01 -5.577021895124128e-01 - -5.584375539231472e-01 -5.591690174427206e-01 -5.598965939391384e-01 -5.606202972403660e-01 -5.613401421520022e-01 - -5.620561426054913e-01 -5.627683113219669e-01 -5.634766626491997e-01 -5.641812109417922e-01 -5.648819696019924e-01 - -5.655789522526887e-01 -5.662721727674018e-01 -5.669616451334641e-01 -5.676473824290281e-01 -5.683293976251365e-01 - -5.690077046537543e-01 -5.696823171027902e-01 -5.703532481968968e-01 -5.710205111045815e-01 -5.716841193018837e-01 - -5.723440862989044e-01 -5.730004247377283e-01 -5.736531475408438e-01 -5.743022680808630e-01 -5.749477994635019e-01 - -5.755897545119250e-01 -5.762281459317424e-01 -5.768629872133108e-01 -5.774942912813225e-01 -5.781220698864685e-01 - -5.787463360372200e-01 -5.793671029370097e-01 -5.799843829591812e-01 -5.805981885004621e-01 -5.812085322229668e-01 - -5.818154271777390e-01 -5.824188854500640e-01 -5.830189187855023e-01 -5.836155400127914e-01 -5.842087616519486e-01 - -5.847985957903102e-01 -5.853850545399070e-01 -5.859681502822114e-01 -5.865478954643482e-01 -5.871243015837295e-01 - -5.876973804424807e-01 -5.882671445115567e-01 -5.888336058093040e-01 -5.893967761301214e-01 -5.899566672475657e-01 - -5.905132912554449e-01 -5.910666600004119e-01 -5.916167846344484e-01 -5.921636769312483e-01 -5.927073488739303e-01 - -5.932478119884005e-01 -5.937850777230974e-01 -5.943191576345895e-01 -5.948500635775013e-01 -5.953778067525587e-01 - -5.959023980172641e-01 -5.964238491804477e-01 -5.969421717317064e-01 -5.974573766302176e-01 -5.979694750153504e-01 - -5.984784782975928e-01 -5.989843980133127e-01 -5.994872448737363e-01 -5.999870296226286e-01 -6.004837635008013e-01 - -6.009774575116591e-01 -6.014681225640990e-01 -6.019557696406324e-01 -6.024404098188824e-01 -6.029220539582525e-01 - -6.034007123251734e-01 -6.038763957092128e-01 -6.043491151546724e-01 -6.048188811990667e-01 -6.052857043294740e-01 - -6.057495951725935e-01 -6.062105647034982e-01 -6.066686232996821e-01 -6.071237808282512e-01 -6.075760480581535e-01 - -6.080254356249652e-01 -6.084719536597242e-01 -6.089156123708600e-01 -6.093564221655233e-01 -6.097943936088406e-01 - -6.102295366277345e-01 -6.106618611466814e-01 -6.110913776082281e-01 -6.115180960018122e-01 -6.119420262061138e-01 - -6.123631785057825e-01 -6.127815629923925e-01 -6.131971895415724e-01 -6.136100679122567e-01 -6.140202079254689e-01 - -6.144276194632986e-01 -6.148323123693087e-01 -6.152342964516117e-01 -6.156335814880438e-01 -6.160301772367670e-01 - -6.164240932773791e-01 -6.168153390131846e-01 -6.172039241057757e-01 -6.175898582479540e-01 -6.179731510100582e-01 - -6.183538118537011e-01 -6.187318502245757e-01 -6.191072755983122e-01 -6.194800972241303e-01 -6.198503243163954e-01 - -6.202179663089392e-01 -6.205830326036273e-01 -6.209455324825972e-01 -6.213054750121583e-01 -6.216628693834372e-01 - -6.220177248671027e-01 -6.223700505100402e-01 -6.227198553511943e-01 -6.230671484590707e-01 -6.234119388224310e-01 - -6.237542354039819e-01 -6.240940471906395e-01 -6.244313833278470e-01 -6.247662526956897e-01 -6.250986637315333e-01 - -6.254286253149073e-01 -6.257561464374979e-01 -6.260812358699522e-01 -6.264039022632663e-01 -6.267241542804416e-01 - -6.270420007239386e-01 -6.273574502418447e-01 -6.276705113436000e-01 -6.279811924920996e-01 -6.282895022600340e-01 - -6.285954492669960e-01 -6.288990419377586e-01 -6.292002887596219e-01 -6.294991982474318e-01 -6.297957785295903e-01 - -6.300900379535952e-01 -6.303819851813233e-01 -6.306716282540937e-01 -6.309589752809680e-01 -6.312440348023121e-01 - -6.315268150763020e-01 -6.318073241903770e-01 -6.320855701836068e-01 -6.323615610879741e-01 -6.326353050044859e-01 - -6.329068101802829e-01 -6.331760846635813e-01 -6.334431363818833e-01 -6.337079733473078e-01 -6.339706034520735e-01 - -6.342310345121693e-01 -6.344892744839461e-01 -6.347453312805855e-01 -6.349992127114430e-01 -6.352509264768633e-01 - -6.355004804526597e-01 -6.357478826585540e-01 -6.359931404400122e-01 -6.362362612918424e-01 -6.364772532644518e-01 - -6.367161239398067e-01 -6.369528807876881e-01 -6.371875315012039e-01 -6.374200836672138e-01 -6.376505447719858e-01 - -6.378789222449943e-01 -6.381052236017390e-01 -6.383294563385360e-01 -6.385516277126226e-01 -6.387717451483415e-01 - -6.389898161925324e-01 -6.392058481779943e-01 -6.394198483013303e-01 -6.396318237129481e-01 -6.398417817583982e-01 - -6.400497298004382e-01 -6.402556751053731e-01 -6.404596246811356e-01 -6.406615856182318e-01 -6.408615652398488e-01 - -6.410595705960431e-01 -6.412556087124355e-01 -6.414496867908267e-01 -6.416418117430738e-01 -6.418319904244396e-01 - -6.420202299552208e-01 -6.422065373268501e-01 -6.423909194238488e-01 -6.425733831564441e-01 -6.427539354568388e-01 - -6.429325832107947e-01 -6.431093330874931e-01 -6.432841919278923e-01 -6.434571667152847e-01 -6.436282640341581e-01 - -6.437974905134223e-01 -6.439648529819666e-01 -6.441303582355420e-01 -6.442940129046214e-01 -6.444558234243410e-01 - -6.446157964842297e-01 -6.447739387669796e-01 -6.449302567289288e-01 -6.450847570451982e-01 -6.452374463418470e-01 - -6.453883308317777e-01 -6.455374170518916e-01 -6.456847116523639e-01 -6.458302208459006e-01 -6.459739509825424e-01 - -6.461159085765001e-01 -6.462561000624228e-01 -6.463945317857885e-01 -6.465312099893501e-01 -6.466661407794220e-01 - -6.467993305071421e-01 -6.469307857586633e-01 -6.470605124176557e-01 -6.471885165505020e-01 -6.473148048129491e-01 - -6.474393831451855e-01 -6.475622574433044e-01 -6.476834341411803e-01 -6.478029193005811e-01 -6.479207188186653e-01 - -6.480368387749067e-01 -6.481512852365653e-01 -6.482640642356557e-01 -6.483751817763184e-01 -6.484846438333333e-01 - -6.485924563559199e-01 -6.486986252696630e-01 -6.488031563964390e-01 -6.489060555062011e-01 -6.490073285956434e-01 - -6.491069816182633e-01 -6.492050203757027e-01 -6.493014505946639e-01 -6.493962779796888e-01 -6.494895082497514e-01 - -6.495811472172135e-01 -6.496712006463234e-01 -6.497596741452655e-01 -6.498465734697708e-01 -6.499319043537729e-01 - -6.500156722751166e-01 -6.500978828758883e-01 -6.501785418212779e-01 -6.502576544563589e-01 -6.503352264336196e-01 - -6.504112635780723e-01 -6.504857712206107e-01 -6.505587548117625e-01 -6.506302199692129e-01 -6.507001719669850e-01 - -6.507686161481057e-01 -6.508355580770583e-01 -6.509010033515999e-01 -6.509649573333303e-01 -6.510274250599254e-01 - -6.510884119408136e-01 -6.511479234691252e-01 -6.512059649357221e-01 -6.512625414820176e-01 -6.513176583196066e-01 - -6.513713209657690e-01 -6.514235346566493e-01 -6.514743044494572e-01 -6.515236355351222e-01 -6.515715331668240e-01 - -6.516180025498758e-01 -6.516630486086969e-01 -6.517066764698182e-01 -6.517488914696901e-01 -6.517896986474616e-01 - -6.518291029696229e-01 -6.518671094474887e-01 -6.519037232298822e-01 -6.519389493677847e-01 -6.519727927034696e-01 - -6.520052582102593e-01 -6.520363509344871e-01 -6.520660759114448e-01 -6.520944379877177e-01 -6.521214419863292e-01 - -6.521470929034477e-01 -6.521713955379932e-01 -6.521943546611896e-01 -6.522159753870301e-01 -6.522362625000242e-01 - -6.522552205660485e-01 -6.522728545508729e-01 -6.522891692872490e-01 -6.523041693781095e-01 -6.523178594474156e-01 - -6.523302443147758e-01 -6.523413289626511e-01 -6.523511179648659e-01 -6.523596158248584e-01 -6.523668271884714e-01 - -6.523727568212391e-01 -6.523774093997819e-01 -6.523807893579161e-01 -6.523829012952149e-01 -6.523837498990516e-01 - -6.523833397960367e-01 -6.523816754611410e-01 -6.523787613199525e-01 -6.523746019358498e-01 -6.523692018302728e-01 - -6.523625654555820e-01 -6.523546972248629e-01 -6.523456017173497e-01 -6.523352835702680e-01 -6.523237468711672e-01 - -6.523109959032295e-01 -6.522970353197415e-01 -6.522818693382445e-01 -6.522655022842732e-01 -6.522479388337681e-01 - -6.522291831409690e-01 -6.522092393163972e-01 -6.521881118419591e-01 -6.521658050464721e-01 -6.521423231008568e-01 - -6.521176700882644e-01 -6.520918504277817e-01 -6.520648685798258e-01 -6.520367284462982e-01 -6.520074341903623e-01 - -6.519769901852531e-01 -6.519454004576026e-01 -6.519126690272374e-01 -6.518788000417296e-01 -6.518437978790763e-01 - -6.518076667685843e-01 -6.517704106505043e-01 -6.517320333460206e-01 -6.516925389358605e-01 -6.516519318553129e-01 - -6.516102158220000e-01 -6.515673946405215e-01 -6.515234728464969e-01 -6.514784543315630e-01 -6.514323427842886e-01 - -6.513851423523833e-01 -6.513368570527661e-01 -6.512874907235414e-01 -6.512370470939771e-01 -6.511855301990920e-01 - -6.511329442190841e-01 -6.510792928715797e-01 -6.510245798816351e-01 -6.509688091361985e-01 -6.509119847142907e-01 - -6.508541103488035e-01 -6.507951894034477e-01 -6.507352259931611e-01 -6.506742241942834e-01 -6.506121876059120e-01 - -6.505491199228429e-01 -6.504850249436106e-01 -6.504199065016956e-01 -6.503537680222150e-01 -6.502866130342899e-01 - -6.502184457971011e-01 -6.501492700279957e-01 -6.500790890906794e-01 -6.500079066129352e-01 -6.499357263329657e-01 - -6.498625519683058e-01 -6.497883869826074e-01 -6.497132350047277e-01 -6.496370998048885e-01 -6.495599847614121e-01 - -6.494818934475555e-01 -6.494028297363450e-01 -6.493227969968260e-01 -6.492417985197620e-01 -6.491598378013752e-01 - -6.490769185970405e-01 -6.489930446200032e-01 -6.489082192796405e-01 -6.488224457999440e-01 -6.487357275334984e-01 - -6.486480682838258e-01 -6.485594713376021e-01 -6.484699398068251e-01 -6.483794774339799e-01 -6.482880877536140e-01 - -6.481957740532812e-01 -6.481025397024727e-01 -6.480083880017639e-01 -6.479133221889776e-01 -6.478173456351086e-01 - -6.477204618036257e-01 -6.476226741599570e-01 -6.475239858039916e-01 -6.474243999826228e-01 -6.473239202990485e-01 - -6.472225498463482e-01 -6.471202916312221e-01 -6.470171489638400e-01 -6.469131252405815e-01 -6.468082238277443e-01 - -6.467024479420175e-01 -6.465958006550642e-01 -6.464882850509053e-01 -6.463799044773618e-01 -6.462706620382276e-01 - -6.461605607272912e-01 -6.460496040101232e-01 -6.459377950690467e-01 -6.458251367734501e-01 -6.457116323868038e-01 - -6.455972850655802e-01 -6.454820977029684e-01 -6.453660732942879e-01 -6.452492150754419e-01 -6.451315264887545e-01 - -6.450130102914885e-01 -6.448936692680686e-01 -6.447735068128447e-01 -6.446525260129213e-01 -6.445307296530088e-01 - -6.444081203587793e-01 -6.442847014715996e-01 -6.441604765089356e-01 -6.440354480546840e-01 -6.439096188724848e-01 - -6.437829920095609e-01 -6.436555704731397e-01 -6.435273570693492e-01 -6.433983545533010e-01 -6.432685663163126e-01 - -6.431379953365300e-01 -6.430066439769492e-01 -6.428745153347271e-01 -6.427416124750638e-01 -6.426079380140648e-01 - -6.424734947555180e-01 -6.423382856273998e-01 -6.422023135830728e-01 -6.420655814260000e-01 -6.419280919255173e-01 - -6.417898479598759e-01 -6.416508523135933e-01 -6.415111076305331e-01 -6.413706163966455e-01 -6.412293816393564e-01 - -6.410874066048897e-01 -6.409446936267265e-01 -6.408012453136449e-01 -6.406570646910840e-01 -6.405121544270317e-01 - -6.403665170374713e-01 -6.402201550644944e-01 -6.400730715072882e-01 -6.399252691822962e-01 -6.397767504407681e-01 - -6.396275180930010e-01 -6.394775749890055e-01 -6.393269236107165e-01 -6.391755662191552e-01 -6.390235053902433e-01 - -6.388707445708105e-01 -6.387172861694177e-01 -6.385631322023312e-01 -6.384082857966726e-01 -6.382527494896121e-01 - -6.380965253642142e-01 -6.379396162401521e-01 -6.377820248167250e-01 -6.376237535602883e-01 -6.374648052204416e-01 - -6.373051823107587e-01 -6.371448870124290e-01 -6.369839218821269e-01 -6.368222895078627e-01 -6.366599923302766e-01 - -6.364970329561520e-01 -6.363334139746031e-01 -6.361691377885151e-01 -6.360042067688202e-01 -6.358386233547334e-01 - -6.356723901317635e-01 -6.355055093799952e-01 -6.353379833438523e-01 -6.351698147827204e-01 -6.350010061497325e-01 - -6.348315596278746e-01 -6.346614776297652e-01 -6.344907627044540e-01 -6.343194173354602e-01 -6.341474433478579e-01 - -6.339748431233465e-01 -6.338016197812808e-01 -6.336277753787244e-01 -6.334533118997744e-01 -6.332782318265875e-01 - -6.331025376588558e-01 -6.329262316544187e-01 -6.327493157114107e-01 -6.325717923863455e-01 -6.323936643403999e-01 - -6.322149336030685e-01 -6.320356024195775e-01 -6.318556731749607e-01 -6.316751480498738e-01 -6.314940290711796e-01 - -6.313123183267710e-01 -6.311300184615836e-01 -6.309471319109403e-01 -6.307636607640942e-01 -6.305796070902886e-01 - -6.303949730482692e-01 -6.302097608691579e-01 -6.300239725606558e-01 -6.298376103756032e-01 -6.296506769748604e-01 - -6.294631743864889e-01 -6.292751044804592e-01 -6.290864694027335e-01 -6.288972714311484e-01 -6.287075127245377e-01 - -6.285171950849623e-01 -6.283263208775478e-01 -6.281348926187029e-01 -6.279429120773061e-01 -6.277503812180564e-01 - -6.275573022752827e-01 -6.273636774541002e-01 -6.271695087389834e-01 -6.269747979757735e-01 -6.267795473573458e-01 - -6.265837591630624e-01 -6.263874355834504e-01 -6.261905784094625e-01 -6.259931895045528e-01 -6.257952710369122e-01 - -6.255968250363517e-01 -6.253978534898084e-01 -6.251983584520242e-01 -6.249983420853732e-01 -6.247978064572296e-01 - -6.245967533125147e-01 -6.243951846742302e-01 -6.241931026018996e-01 -6.239905086686763e-01 -6.237874050561640e-01 - -6.235837942608177e-01 -6.233796778475696e-01 -6.231750576026635e-01 -6.229699356978790e-01 -6.227643140512986e-01 - -6.225581944126894e-01 -6.223515785171654e-01 -6.221444686516174e-01 -6.219368669106876e-01 -6.217287748516653e-01 - -6.215201944179222e-01 -6.213111276341791e-01 -6.211015763012264e-01 -6.208915420627059e-01 -6.206810267189914e-01 - -6.204700325606027e-01 -6.202585614407183e-01 -6.200466150025669e-01 -6.198341952555039e-01 -6.196213039807257e-01 - -6.194079427661365e-01 -6.191941133919308e-01 -6.189798178811384e-01 -6.187650583625046e-01 -6.185498365366234e-01 - -6.183341539791172e-01 -6.181180123373080e-01 -6.179014136693182e-01 -6.176843597571294e-01 -6.174668518753883e-01 - -6.172488922358068e-01 -6.170304830078728e-01 -6.168116255085183e-01 -6.165923213940302e-01 -6.163725725542526e-01 - -6.161523808379610e-01 -6.159317477445455e-01 -6.157106747923912e-01 -6.154891641891720e-01 -6.152672177134336e-01 - -6.150448367622374e-01 -6.148220230127394e-01 -6.145987783325538e-01 -6.143751045698781e-01 -6.141510029326600e-01 - -6.139264750393221e-01 -6.137015231470567e-01 -6.134761489851926e-01 -6.132503540152313e-01 -6.130241396532106e-01 - -6.127975076851865e-01 -6.125704598048077e-01 -6.123429972989166e-01 -6.121151221351967e-01 -6.118868363314907e-01 - -6.116581411278224e-01 -6.114290380220153e-01 -6.111995287783158e-01 -6.109696151823703e-01 -6.107392985450728e-01 - -6.105085801024925e-01 -6.102774622058419e-01 -6.100459465922933e-01 -6.098140342484372e-01 -6.095817267256873e-01 - -6.093490257933440e-01 -6.091159331809802e-01 -6.088824500709522e-01 -6.086485779905337e-01 -6.084143191489354e-01 - -6.081796748129595e-01 -6.079446461968719e-01 -6.077092351925356e-01 -6.074734432434898e-01 -6.072372716150822e-01 - -6.070007218360295e-01 -6.067637956065657e-01 -6.065264946232775e-01 -6.062888203126375e-01 -6.060507740692458e-01 - -6.058123573561740e-01 -6.055735718185850e-01 -6.053344188005130e-01 -6.050948994718379e-01 -6.048550157592759e-01 - -6.046147693250087e-01 -6.043741612917217e-01 -6.041331930896253e-01 -6.038918662688606e-01 -6.036501823335466e-01 - -6.034081424814672e-01 -6.031657481058161e-01 -6.029230011393863e-01 -6.026799028730719e-01 -6.024364544399844e-01 - -6.021926574869638e-01 -6.019485136055120e-01 -6.017040241022006e-01 -6.014591897708976e-01 -6.012140122415236e-01 - -6.009684936432825e-01 -6.007226351565053e-01 -6.004764378633045e-01 -6.002299030368295e-01 -5.999830322604393e-01 - -5.997358269112610e-01 -5.994882881008079e-01 -5.992404174674395e-01 -5.989922165630734e-01 -5.987436865327392e-01 - -5.984948286273432e-01 -5.982456442781595e-01 -5.979961350600861e-01 -5.977463018616249e-01 -5.974961457245347e-01 - -5.972456688462123e-01 -5.969948725706038e-01 -5.967437577688297e-01 -5.964923259025159e-01 -5.962405782771161e-01 - -5.959885160038786e-01 -5.957361402849749e-01 -5.954834525607696e-01 -5.952304544228757e-01 -5.949771471628894e-01 - -5.947235319540697e-01 -5.944696099654433e-01 -5.942153825546195e-01 -5.939608509107162e-01 -5.937060159741117e-01 - -5.934508794411635e-01 -5.931954428951332e-01 -5.929397071302310e-01 -5.926836734445704e-01 -5.924273432987167e-01 - -5.921707177793331e-01 -5.919137978828047e-01 -5.916565847753502e-01 -5.913990801532651e-01 -5.911412853604616e-01 - -5.908832013941032e-01 -5.906248293335863e-01 -5.903661704565201e-01 -5.901072261246485e-01 -5.898479972855557e-01 - -5.895884850905705e-01 -5.893286910470348e-01 -5.890686164387193e-01 -5.888082623596927e-01 -5.885476297953414e-01 - -5.882867200485414e-01 -5.880255342895034e-01 -5.877640732646211e-01 -5.875023385228563e-01 -5.872403317009627e-01 - -5.869780535979796e-01 -5.867155052441069e-01 -5.864526878805291e-01 -5.861896026754034e-01 -5.859262506932092e-01 - -5.856626329801135e-01 -5.853987507817091e-01 -5.851346053972879e-01 -5.848701980701103e-01 -5.846055297559873e-01 - -5.843406014627009e-01 -5.840754143260567e-01 -5.838099692919883e-01 -5.835442675863415e-01 -5.832783108438364e-01 - -5.830120998737411e-01 -5.827456354637697e-01 -5.824789190313094e-01 -5.822119517157962e-01 -5.819447343999242e-01 - -5.816772678604962e-01 -5.814095534384316e-01 -5.811415926659900e-01 -5.808733865100626e-01 -5.806049358083534e-01 - -5.803362414940428e-01 -5.800673049021045e-01 -5.797981269727348e-01 -5.795287083747186e-01 -5.792590507223763e-01 - -5.789891553127540e-01 -5.787190227795775e-01 -5.784486540773595e-01 -5.781780503537821e-01 -5.779072127885909e-01 - -5.776361421027820e-01 -5.773648392415993e-01 -5.770933058481036e-01 -5.768215427543451e-01 -5.765495506173008e-01 - -5.762773307782053e-01 -5.760048843724456e-01 -5.757322122309633e-01 -5.754593149355522e-01 -5.751861936930261e-01 - -5.749128500443350e-01 -5.746392847733658e-01 -5.743654986749642e-01 -5.740914927526973e-01 -5.738172681170074e-01 - -5.735428256834612e-01 -5.732681661997935e-01 -5.729932909950833e-01 -5.727182011898047e-01 -5.724428973589288e-01 - -5.721673806475209e-01 -5.718916522032619e-01 -5.716157126986885e-01 -5.713395629769044e-01 -5.710632040862346e-01 - -5.707866372440725e-01 -5.705098634203313e-01 -5.702328834166335e-01 -5.699556980810941e-01 -5.696783084118523e-01 - -5.694007154024264e-01 -5.691229196446771e-01 -5.688449222662509e-01 -5.685667247951188e-01 -5.682883277592247e-01 - -5.680097317796297e-01 -5.677309379467054e-01 -5.674519473718960e-01 -5.671727608332666e-01 -5.668933787438524e-01 - -5.666138024324125e-01 -5.663340332775648e-01 -5.660540719736767e-01 -5.657739191147048e-01 -5.654935755198692e-01 - -5.652130424887296e-01 -5.649323205844615e-01 -5.646514102596061e-01 -5.643703131320561e-01 -5.640890302500955e-01 - -5.638075621229782e-01 -5.635259096013298e-01 -5.632440735413435e-01 -5.629620547371306e-01 -5.626798540413637e-01 - -5.623974724401825e-01 -5.621149109968532e-01 -5.618321704141040e-01 -5.615492514232792e-01 -5.612661549867731e-01 - -5.609828820346520e-01 -5.606994332802816e-01 -5.604158091721365e-01 -5.601320109850756e-01 -5.598480400285579e-01 - -5.595638966628304e-01 -5.592795815381203e-01 -5.589950956088516e-01 -5.587104398719418e-01 -5.584256150214867e-01 - -5.581406216413944e-01 -5.578554608147975e-01 -5.575701335442586e-01 -5.572846406020895e-01 -5.569989825973618e-01 - -5.567131602740183e-01 -5.564271745453506e-01 -5.561410260628522e-01 -5.558547156725416e-01 -5.555682445647333e-01 - -5.552816133007876e-01 -5.549948224318785e-01 -5.547078730025937e-01 -5.544207659049382e-01 -5.541335017868810e-01 - -5.538460810525171e-01 -5.535585047530838e-01 -5.532707741030544e-01 -5.529828895161875e-01 -5.526948516856666e-01 - -5.524066615722431e-01 -5.521183198617187e-01 -5.518298271294942e-01 -5.515411840216864e-01 -5.512523916981388e-01 - -5.509634510475757e-01 -5.506743625070015e-01 -5.503851268106821e-01 -5.500957448096843e-01 -5.498062173123895e-01 - -5.495165448046009e-01 -5.492267279674086e-01 -5.489367680360671e-01 -5.486466657159732e-01 -5.483564214808752e-01 - -5.480660360175322e-01 -5.477755101695411e-01 -5.474848446983241e-01 -5.471940399297857e-01 -5.469030967097296e-01 - -5.466120162347039e-01 -5.463207992130580e-01 -5.460294461220425e-01 -5.457379574365921e-01 -5.454463341419615e-01 - -5.451545769787555e-01 -5.448626863052353e-01 -5.445706629798505e-01 -5.442785079610155e-01 -5.439862220351145e-01 - -5.436938056623958e-01 -5.434012594168094e-01 -5.431085842649811e-01 -5.428157805859503e-01 -5.425228488112607e-01 - -5.422297902211034e-01 -5.419366056396356e-01 -5.416432955189590e-01 -5.413498603513526e-01 -5.410563008101139e-01 - -5.407626176406882e-01 -5.404688113584152e-01 -5.401748827259091e-01 -5.398808327262222e-01 -5.395866619984641e-01 - -5.392923710452394e-01 -5.389979603718316e-01 -5.387034307479797e-01 -5.384087828255361e-01 -5.381140170098579e-01 - -5.378191341794292e-01 -5.375241352697128e-01 -5.372290208939874e-01 -5.369337913756430e-01 -5.366384472427702e-01 - -5.363429897090184e-01 -5.360474189692397e-01 -5.357517350808286e-01 -5.354559397287709e-01 -5.351600336380363e-01 - -5.348640167550405e-01 -5.345678898586708e-01 -5.342716537895550e-01 -5.339753091509816e-01 -5.336788560795809e-01 - -5.333822952812678e-01 -5.330856281219807e-01 -5.327888549366336e-01 -5.324919760228772e-01 -5.321949921530423e-01 - -5.318979038948367e-01 -5.316007117591099e-01 -5.313034163655616e-01 -5.310060185016283e-01 -5.307085188690476e-01 - -5.304109178113635e-01 -5.301132159560333e-01 -5.298154141057816e-01 -5.295175129068631e-01 -5.292195125739295e-01 - -5.289214133220888e-01 -5.286232164928936e-01 -5.283249229043371e-01 -5.280265326905970e-01 -5.277280463629660e-01 - -5.274294646406563e-01 -5.271307882435877e-01 -5.268320172699235e-01 -5.265331522204252e-01 -5.262341943956992e-01 - -5.259351442515741e-01 -5.256360020246456e-01 -5.253367683007200e-01 -5.250374438802079e-01 -5.247380293156688e-01 - -5.244385244793137e-01 -5.241389303158239e-01 -5.238392481089597e-01 -5.235394779437145e-01 -5.232396201567239e-01 - -5.229396754457293e-01 -5.226396444439171e-01 -5.223395275325885e-01 -5.220393250130385e-01 -5.217390378529512e-01 - -5.214386667612969e-01 -5.211382119631184e-01 -5.208376739941909e-01 -5.205370535049869e-01 -5.202363510969753e-01 - -5.199355670763710e-01 -5.196347019022574e-01 -5.193337564915598e-01 -5.190327313042545e-01 -5.187316266472318e-01 - -5.184304431068453e-01 -5.181291813913007e-01 -5.178278420262173e-01 -5.175264249304404e-01 -5.172249309061349e-01 - -5.169233612064826e-01 -5.166217158673360e-01 -5.163199951550123e-01 -5.160181998004911e-01 -5.157163303784532e-01 - -5.154143871836301e-01 -5.151123703899823e-01 -5.148102810445049e-01 -5.145081200022412e-01 -5.142058873966443e-01 - -5.139035834879907e-01 -5.136012088439446e-01 -5.132987643470369e-01 -5.129962500176725e-01 -5.126936660139045e-01 - -5.123910137907831e-01 -5.120882937169244e-01 -5.117855056864241e-01 -5.114826505830118e-01 -5.111797289351894e-01 - -5.108767409175631e-01 -5.105736869791608e-01 -5.102705678009448e-01 -5.099673841164564e-01 -5.096641361609235e-01 - -5.093608243087677e-01 -5.090574492425100e-01 -5.087540114820200e-01 -5.084505112619658e-01 -5.081469486274651e-01 - -5.078433245912960e-01 -5.075396400795943e-01 -5.072358951124865e-01 -5.069320899536702e-01 -5.066282251477461e-01 - -5.063243014155288e-01 -5.060203189866231e-01 -5.057162780382299e-01 -5.054121795257869e-01 -5.051080240346536e-01 - -5.048038117428125e-01 -5.044995428560932e-01 -5.041952179946867e-01 -5.038908379779851e-01 -5.035864027540428e-01 - -5.032819126747086e-01 -5.029773687584369e-01 -5.026727713803431e-01 -5.023681207203433e-01 -5.020634170773620e-01 - -5.017586611304518e-01 -5.014538534087800e-01 -5.011489939472488e-01 -5.008440834008399e-01 -5.005391225202214e-01 - -5.002341114848970e-01 -4.999290507534227e-01 -4.996239408965545e-01 -4.993187821357916e-01 -4.990135746184980e-01 - -4.987083187010172e-01 -4.984030154770353e-01 -4.980976654859903e-01 -4.977922686591017e-01 -4.974868253646026e-01 - -4.971813362150598e-01 -4.968758018164073e-01 -4.965702219796178e-01 -4.962645970518764e-01 -4.959589283986423e-01 - -4.956532161259331e-01 -4.953474601672504e-01 -4.950416611894621e-01 -4.947358197709370e-01 -4.944299362131679e-01 - -4.941240104625670e-01 -4.938180432013966e-01 -4.935120353360559e-01 -4.932059869696777e-01 -4.928998983832586e-01 - -4.925937700937396e-01 -4.922876025288242e-01 -4.919813957951697e-01 -4.916751499430368e-01 -4.913688660561277e-01 - -4.910625447982750e-01 -4.907561860728009e-01 -4.904497902858990e-01 -4.901433579647613e-01 -4.898368894758774e-01 - -4.895303847877975e-01 -4.892238442443610e-01 -4.889172690570770e-01 -4.886106594399146e-01 -4.883040152916479e-01 - -4.879973371198497e-01 -4.876906255185612e-01 -4.873838808516193e-01 -4.870771028969680e-01 -4.867702923235035e-01 - -4.864634502410182e-01 -4.861565765237592e-01 -4.858496713307078e-01 -4.855427352755911e-01 -4.852357685536697e-01 - -4.849287714451036e-01 -4.846217444589359e-01 -4.843146879997467e-01 -4.840076025123002e-01 -4.837004885060202e-01 - -4.833933461066379e-01 -4.830861755003688e-01 -4.827789772517898e-01 -4.824717516127337e-01 -4.821644988235214e-01 - -4.818572195031119e-01 -4.815499140763169e-01 -4.812425828318353e-01 -4.809352261296052e-01 -4.806278443199989e-01 - -4.803204376463540e-01 -4.800130060714603e-01 -4.797055501717924e-01 -4.793980709573083e-01 -4.790905684347367e-01 - -4.787830426340720e-01 -4.784754939887473e-01 -4.781679231200341e-01 -4.778603302286951e-01 -4.775527150015833e-01 - -4.772450784284375e-01 -4.769374213667171e-01 -4.766297434623847e-01 -4.763220450397429e-01 -4.760143266869929e-01 - -4.757065886153464e-01 -4.753988310011543e-01 -4.750910541528841e-01 -4.747832586964973e-01 -4.744754450010169e-01 - -4.741676132522562e-01 -4.738597638648681e-01 -4.735518971269201e-01 -4.732440131603057e-01 -4.729361121339242e-01 - -4.726281945136708e-01 -4.723202610280838e-01 -4.720123119889466e-01 -4.717043475548789e-01 -4.713963678930571e-01 - -4.710883732580126e-01 -4.707803639362851e-01 -4.704723402372425e-01 -4.701643027667922e-01 -4.698562520096238e-01 - -4.695481878708884e-01 -4.692401107063794e-01 -4.689320210638210e-01 -4.686239190614940e-01 -4.683158048406638e-01 - -4.680076787162389e-01 -4.676995413185929e-01 -4.673913930202820e-01 -4.670832339045677e-01 -4.667750641928977e-01 - -4.664668842720264e-01 -4.661586945788764e-01 -4.658504950199774e-01 -4.655422858974875e-01 -4.652340682220931e-01 - -4.649258420178881e-01 -4.646176071935555e-01 -4.643093642460228e-01 -4.640011135361189e-01 -4.636928552533583e-01 - -4.633845894780055e-01 -4.630763167063440e-01 -4.627680375263447e-01 -4.624597520114774e-01 -4.621514604268375e-01 - -4.618431632080228e-01 -4.615348605890552e-01 -4.612265525685530e-01 -4.609182391698630e-01 -4.606099213200685e-01 - -4.603015994943055e-01 -4.599932734377760e-01 -4.596849434943749e-01 -4.593766101319814e-01 -4.590682736286037e-01 - -4.587599339472412e-01 -4.584515913122191e-01 -4.581432465762054e-01 -4.578348999443045e-01 -4.575265513883392e-01 - -4.572182012155285e-01 -4.569098498253546e-01 -4.566014974456956e-01 -4.562931438038699e-01 -4.559847894939479e-01 - -4.556764355440957e-01 -4.553680818446301e-01 -4.550597283221777e-01 -4.547513752454754e-01 -4.544430231318768e-01 - -4.541346721146189e-01 -4.538263219879204e-01 -4.535179736207505e-01 -4.532096276207381e-01 -4.529012837320638e-01 - -4.525929421989657e-01 -4.522846033793929e-01 -4.519762674029318e-01 -4.516679344715044e-01 -4.513596049388520e-01 - -4.510512793496801e-01 -4.507429578901284e-01 -4.504346405869434e-01 -4.501263277269192e-01 -4.498180196893253e-01 - -4.495097167463535e-01 -4.492014186979058e-01 -4.488931259139300e-01 -4.485848392328776e-01 -4.482765586745183e-01 - -4.479682843350483e-01 -4.476600166157323e-01 -4.473517555800268e-01 -4.470435013321629e-01 -4.467352542154915e-01 - -4.464270145748750e-01 -4.461187827567155e-01 -4.458105590951706e-01 -4.455023436689998e-01 -4.451941365719282e-01 - -4.448859382022067e-01 -4.445777486373541e-01 -4.442695679571050e-01 -4.439613968717006e-01 -4.436532356916815e-01 - -4.433450843880059e-01 -4.430369431657580e-01 -4.427288122616561e-01 -4.424206918620519e-01 -4.421125820372482e-01 - -4.418044832064567e-01 -4.414963960811867e-01 -4.411883204960218e-01 -4.408802564087612e-01 -4.405722043668788e-01 - -4.402641646390490e-01 -4.399561373068210e-01 -4.396481224088197e-01 -4.393401203468038e-01 -4.390321316119934e-01 - -4.387241564347777e-01 -4.384161947343386e-01 -4.381082465266398e-01 -4.378003125430411e-01 -4.374923928277115e-01 - -4.371844871230922e-01 -4.368765963346815e-01 -4.365687207997857e-01 -4.362608601883623e-01 -4.359530147661063e-01 - -4.356451849773876e-01 -4.353373711547212e-01 -4.350295729831375e-01 -4.347217906709347e-01 -4.344140253247259e-01 - -4.341062767701542e-01 -4.337985447574569e-01 -4.334908298973194e-01 -4.331831324142745e-01 -4.328754522838512e-01 - -4.325677895304312e-01 -4.322601446380396e-01 -4.319525182069930e-01 -4.316449103351276e-01 -4.313373209430619e-01 - -4.310297500384340e-01 -4.307221981580691e-01 -4.304146654764764e-01 -4.301071518609876e-01 -4.297996578556980e-01 - -4.294921838432407e-01 -4.291847298181669e-01 -4.288772959356691e-01 -4.285698824691314e-01 -4.282624896947286e-01 - -4.279551173581843e-01 -4.276477655542056e-01 -4.273404353166645e-01 -4.270331268873108e-01 -4.267258400671970e-01 - -4.264185747737768e-01 -4.261113314513503e-01 -4.258041105111009e-01 -4.254969114260224e-01 -4.251897346526543e-01 - -4.248825811839114e-01 -4.245754507348872e-01 -4.242683433304872e-01 -4.239612594489042e-01 -4.236541990429175e-01 - -4.233471621233121e-01 -4.230401489624036e-01 -4.227331599159186e-01 -4.224261953202194e-01 -4.221192554076946e-01 - -4.218123401221037e-01 -4.215054495276057e-01 -4.211985840665567e-01 -4.208917437341202e-01 -4.205849285470991e-01 - -4.202781391077526e-01 -4.199713756820169e-01 -4.196646382796324e-01 -4.193579269625680e-01 -4.190512419898234e-01 - -4.187445835885104e-01 -4.184379514023820e-01 -4.181313458657921e-01 -4.178247679943504e-01 -4.175182174706034e-01 - -4.172116941638125e-01 -4.169051985589959e-01 -4.165987308801878e-01 -4.162922910262470e-01 -4.159858787333477e-01 - -4.156794948456864e-01 -4.153731400237493e-01 -4.150668138055245e-01 -4.147605162480433e-01 -4.144542477033889e-01 - -4.141480084083939e-01 -4.138417983331389e-01 -4.135356175072968e-01 -4.132294665425894e-01 -4.129233456523720e-01 - -4.126172547353913e-01 -4.123111939769975e-01 -4.120051637027982e-01 -4.116991641480549e-01 -4.113931948631621e-01 - -4.110872561089984e-01 -4.107813489720965e-01 -4.104754732505308e-01 -4.101696286974395e-01 -4.098638156566466e-01 - -4.095580344057681e-01 -4.092522850492459e-01 -4.089465675148873e-01 -4.086408821301867e-01 -4.083352292811099e-01 - -4.080296090087697e-01 -4.077240214925531e-01 -4.074184669621912e-01 -4.071129454474836e-01 -4.068074568206541e-01 - -4.065020011172992e-01 -4.061965792344674e-01 -4.058911914234347e-01 -4.055858372701102e-01 -4.052805169731385e-01 - -4.049752308691225e-01 -4.046699791746853e-01 -4.043647616984872e-01 -4.040595785275335e-01 -4.037544302850327e-01 - -4.034493171430220e-01 -4.031442391412985e-01 -4.028391964411297e-01 -4.025341890399178e-01 -4.022292169515432e-01 - -4.019242804318620e-01 -4.016193797575413e-01 -4.013145151618574e-01 -4.010096867767989e-01 -4.007048946739946e-01 - -4.004001389575452e-01 -4.000954199442892e-01 -3.997907376333255e-01 -3.994860918450180e-01 -3.991814831388100e-01 - -3.988769118682245e-01 -3.985723779299208e-01 -3.982678813725196e-01 -3.979634224118638e-01 -3.976590013430957e-01 - -3.973546179557737e-01 -3.970502723184750e-01 -3.967459652757308e-01 -3.964416967373386e-01 -3.961374664325438e-01 - -3.958332748416728e-01 -3.955291221412219e-01 -3.952250082276700e-01 -3.949209329883424e-01 -3.946168969005399e-01 - -3.943129006192436e-01 -3.940089438207542e-01 -3.937050264421336e-01 -3.934011488327164e-01 -3.930973111392007e-01 - -3.927935133510078e-01 -3.924897554398895e-01 -3.921860379028622e-01 -3.918823611410527e-01 -3.915787251272155e-01 - -3.912751296302741e-01 -3.909715747221262e-01 -3.906680610479274e-01 -3.903645884467465e-01 -3.900611567141484e-01 - -3.897577665105899e-01 -3.894544180732338e-01 -3.891511112918067e-01 -3.888478460867855e-01 -3.885446227676595e-01 - -3.882414417069796e-01 -3.879383024897914e-01 -3.876352053351357e-01 -3.873321510269954e-01 -3.870291394376005e-01 - -3.867261704550462e-01 -3.864232442776043e-01 -3.861203610538394e-01 -3.858175208256477e-01 -3.855147235659399e-01 - -3.852119696012977e-01 -3.849092593053318e-01 -3.846065928280623e-01 -3.843039700003283e-01 -3.840013907871894e-01 - -3.836988557264463e-01 -3.833963646642737e-01 -3.830939173673272e-01 -3.827915146861536e-01 -3.824891567344230e-01 - -3.821868431312930e-01 -3.818845742897094e-01 -3.815823505036508e-01 -3.812801717050347e-01 -3.809780375081945e-01 - -3.806759481537249e-01 -3.803739045452896e-01 -3.800719066553854e-01 -3.797699542729503e-01 -3.794680474344709e-01 - -3.791661864151066e-01 -3.788643713579414e-01 -3.785626020610045e-01 -3.782608787892401e-01 -3.779592019649877e-01 - -3.776575717504184e-01 -3.773559879986245e-01 -3.770544506277551e-01 -3.767529601718599e-01 -3.764515165488658e-01 - -3.761501194541416e-01 -3.758487697291592e-01 -3.755474675286999e-01 -3.752462123142175e-01 -3.749450044400430e-01 - -3.746438442933219e-01 -3.743427319385532e-01 -3.740416670860849e-01 -3.737406497610264e-01 -3.734396805632812e-01 - -3.731387597991040e-01 -3.728378873981389e-01 -3.725370629746288e-01 -3.722362869751284e-01 -3.719355598195744e-01 - -3.716348809475082e-01 -3.713342505611615e-01 -3.710336692885385e-01 -3.707331373206220e-01 -3.704326544188714e-01 - -3.701322203470578e-01 -3.698318357923215e-01 -3.695315007664240e-01 -3.692312147431765e-01 -3.689309784821330e-01 - -3.686307923312130e-01 -3.683306558583173e-01 -3.680305692832940e-01 -3.677305328772401e-01 -3.674305466155561e-01 - -3.671306102835627e-01 -3.668307239979260e-01 -3.665308885123383e-01 -3.662311039528895e-01 -3.659313700864294e-01 - -3.656316867340536e-01 -3.653320542170925e-01 -3.650324728818179e-01 -3.647329423252613e-01 -3.644334627823841e-01 - -3.641340348652060e-01 -3.638346584224414e-01 -3.635353333854674e-01 -3.632360599381753e-01 -3.629368383087880e-01 - -3.626376683911322e-01 -3.623385498640058e-01 -3.620394834143431e-01 -3.617404694429358e-01 -3.614415075289109e-01 - -3.611425978472304e-01 -3.608437406892576e-01 -3.605449360396625e-01 -3.602461837170217e-01 -3.599474837636126e-01 - -3.596488368123176e-01 -3.593502429497555e-01 -3.590517019950174e-01 -3.587532141258951e-01 -3.584547794364419e-01 - -3.581563978967544e-01 -3.578580694598877e-01 -3.575597943932133e-01 -3.572615731273898e-01 -3.569634054963255e-01 - -3.566652915450074e-01 -3.563672316398869e-01 -3.560692255181004e-01 -3.557712730433470e-01 -3.554733745722332e-01 - -3.551755304325120e-01 -3.548777407381354e-01 -3.545800053200450e-01 -3.542823243820459e-01 -3.539846981602633e-01 - -3.536871265064687e-01 -3.533896092936707e-01 -3.530921466577667e-01 -3.527947392696623e-01 -3.524973870763591e-01 - -3.522000896417020e-01 -3.519028473926252e-01 -3.516056606257513e-01 -3.513085292624320e-01 -3.510114529438408e-01 - -3.507144318797571e-01 -3.504174668509267e-01 -3.501205576763053e-01 -3.498237041407538e-01 -3.495269064579332e-01 - -3.492301648012658e-01 -3.489334792023763e-01 -3.486368495320163e-01 -3.483402759532310e-01 -3.480437587608516e-01 - -3.477472981563033e-01 -3.474508940116457e-01 -3.471545462266357e-01 -3.468582552838557e-01 -3.465620210594309e-01 - -3.462658431862374e-01 -3.459697223261950e-01 -3.456736587298253e-01 -3.453776521244075e-01 -3.450817025977070e-01 - -3.447858103250944e-01 -3.444899754033867e-01 -3.441941976114102e-01 -3.438984770490408e-01 -3.436028143288083e-01 - -3.433072093931014e-01 -3.430116620696204e-01 -3.427161725111446e-01 -3.424207408695913e-01 -3.421253671506906e-01 - -3.418300511322294e-01 -3.415347931565998e-01 -3.412395936962896e-01 -3.409444525560181e-01 -3.406493696743920e-01 - -3.403543451949735e-01 -3.400593792856730e-01 -3.397644718554241e-01 -3.394696227303268e-01 -3.391748324448361e-01 - -3.388801012525273e-01 -3.385854289098167e-01 -3.382908154719833e-01 -3.379962610967925e-01 -3.377017658856785e-01 - -3.374073296405456e-01 -3.371129523992028e-01 -3.368186347618567e-01 -3.365243767275647e-01 -3.362301780997549e-01 - -3.359360390044588e-01 -3.356419595939377e-01 -3.353479398983790e-01 -3.350539796822969e-01 -3.347600792157354e-01 - -3.344662390001809e-01 -3.341724588683134e-01 -3.338787387386647e-01 -3.335850787505256e-01 -3.332914790393797e-01 - -3.329979395469141e-01 -3.327044601082655e-01 -3.324110411740308e-01 -3.321176830325031e-01 -3.318243854727410e-01 - -3.315311485033696e-01 -3.312379722613320e-01 -3.309448568815591e-01 -3.306518021855764e-01 -3.303588081394571e-01 - -3.300658753265905e-01 -3.297730038003383e-01 -3.294801933460689e-01 -3.291874440822869e-01 -3.288947561448500e-01 - -3.286021295596533e-01 -3.283095641084477e-01 -3.280170600152969e-01 -3.277246178092963e-01 -3.274322373144385e-01 - -3.271399184133136e-01 -3.268476612759387e-01 -3.265554660369243e-01 -3.262633326374516e-01 -3.259712608638953e-01 - -3.256792511518811e-01 -3.253873038511834e-01 -3.250954187049387e-01 -3.248035957166725e-01 -3.245118350464998e-01 - -3.242201368055027e-01 -3.239285008232202e-01 -3.236369270127419e-01 -3.233454159517716e-01 -3.230539677655248e-01 - -3.227625822208953e-01 -3.224712593689608e-01 -3.221799993547627e-01 -3.218888022707884e-01 -3.215976678728723e-01 - -3.213065962862219e-01 -3.210155880538063e-01 -3.207246430922022e-01 -3.204337612603162e-01 -3.201429426545060e-01 - -3.198521874188910e-01 -3.195614955407240e-01 -3.192708667833873e-01 -3.189803015317205e-01 -3.186898001852494e-01 - -3.183993624745159e-01 -3.181089883645859e-01 -3.178186780215274e-01 -3.175284315788672e-01 -3.172382488912609e-01 - -3.169481298117736e-01 -3.166580748847834e-01 -3.163680842820584e-01 -3.160781577505636e-01 -3.157882953403168e-01 - -3.154984971942622e-01 -3.152087634033934e-01 -3.149190937439705e-01 -3.146294882798918e-01 -3.143399475483734e-01 - -3.140504715109739e-01 -3.137610600081304e-01 -3.134717131245625e-01 -3.131824310053718e-01 -3.128932136614712e-01 - -3.126040608259110e-01 -3.123149728003283e-01 -3.120259500284038e-01 -3.117369923103007e-01 -3.114480995811182e-01 - -3.111592719695180e-01 -3.108705096041851e-01 -3.105818123704323e-01 -3.102931800853200e-01 -3.100046132424714e-01 - -3.097161120700553e-01 -3.094276763275429e-01 -3.091393060498078e-01 -3.088510013669117e-01 -3.085627623567511e-01 - -3.082745888090075e-01 -3.079864807413559e-01 -3.076984387104112e-01 -3.074104627037881e-01 -3.071225525229602e-01 - -3.068347082674415e-01 -3.065469300647063e-01 -3.062592179233167e-01 -3.059715715883658e-01 -3.056839913222955e-01 - -3.053964776128304e-01 -3.051090302429263e-01 -3.048216491115613e-01 -3.045343343664140e-01 -3.042470861256498e-01 - -3.039599042912569e-01 -3.036727886539801e-01 -3.033857396783212e-01 -3.030987576532087e-01 -3.028118423290159e-01 - -3.025249936916685e-01 -3.022382118572411e-01 -3.019514969324824e-01 -3.016648487319269e-01 -3.013782672163520e-01 - -3.010917529380510e-01 -3.008053059332530e-01 -3.005189259718208e-01 -3.002326131255288e-01 -2.999463675243501e-01 - -2.996601892115071e-01 -2.993740779431134e-01 -2.990880338991673e-01 -2.988020575697556e-01 -2.985161488129333e-01 - -2.982303074956766e-01 -2.979445337070337e-01 -2.976588275957710e-01 -2.973731891105994e-01 -2.970876179949718e-01 - -2.968021146693378e-01 -2.965166794729635e-01 -2.962313121299224e-01 -2.959460126205053e-01 -2.956607810824475e-01 - -2.953756176130727e-01 -2.950905220348498e-01 -2.948054942542040e-01 -2.945205348259674e-01 -2.942356438398593e-01 - -2.939508210351428e-01 -2.936660664737455e-01 -2.933813802767271e-01 -2.930967624892026e-01 -2.928122128931882e-01 - -2.925277316158055e-01 -2.922433191494531e-01 -2.919589753765323e-01 -2.916747001400424e-01 -2.913904935350139e-01 - -2.911063557118664e-01 -2.908222866434848e-01 -2.905382860439090e-01 -2.902543542778646e-01 -2.899704917370004e-01 - -2.896866981425306e-01 -2.894029734511842e-01 -2.891193178139609e-01 -2.888357313345801e-01 -2.885522138545054e-01 - -2.882687652243500e-01 -2.879853859636904e-01 -2.877020762131379e-01 -2.874188357014512e-01 -2.871356645025479e-01 - -2.868525627422169e-01 -2.865695304469716e-01 -2.862865673963798e-01 -2.860036736642309e-01 -2.857208497673618e-01 - -2.854380956360413e-01 -2.851554110854154e-01 -2.848727961880673e-01 -2.845902510831507e-01 -2.843077757793696e-01 - -2.840253700094237e-01 -2.837430340397069e-01 -2.834607682748240e-01 -2.831785725328111e-01 -2.828964467316310e-01 - -2.826143909542473e-01 -2.823324053101364e-01 -2.820504896922502e-01 -2.817686439371250e-01 -2.814868685136343e-01 - -2.812051636152371e-01 -2.809235289745332e-01 -2.806419646055033e-01 -2.803604706362606e-01 -2.800790471610514e-01 - -2.797976939416736e-01 -2.795164109639519e-01 -2.792351987736799e-01 -2.789540573481899e-01 -2.786729864814172e-01 - -2.783919862645312e-01 -2.781110567914744e-01 -2.778301980476193e-01 -2.775494098202491e-01 -2.772686923282846e-01 - -2.769880459823117e-01 -2.767074706347814e-01 -2.764269661749121e-01 -2.761465326612197e-01 -2.758661702373058e-01 - -2.755858788282252e-01 -2.753056582075042e-01 -2.750255088041456e-01 -2.747454308713073e-01 -2.744654241403574e-01 - -2.741854886058927e-01 -2.739056243892176e-01 -2.736258315782464e-01 -2.733461099674180e-01 -2.730664595012521e-01 - -2.727868807168794e-01 -2.725073736368404e-01 -2.722279380246611e-01 -2.719485739535283e-01 -2.716692815376729e-01 - -2.713900607905190e-01 -2.711109114418696e-01 -2.708318336740216e-01 -2.705528279896257e-01 -2.702738942089605e-01 - -2.699950321750810e-01 -2.697162419812612e-01 -2.694375237750356e-01 -2.691588774953904e-01 -2.688803028674867e-01 - -2.686018002777490e-01 -2.683233700490228e-01 -2.680450119322323e-01 -2.677667258920440e-01 -2.674885120321642e-01 - -2.672103704327183e-01 -2.669323009240009e-01 -2.666543034142266e-01 -2.663763784024609e-01 -2.660985259744725e-01 - -2.658207458961011e-01 -2.655430381891060e-01 -2.652654029648259e-01 -2.649878402880381e-01 -2.647103499069445e-01 - -2.644329319184849e-01 -2.641555868035665e-01 -2.638783144422805e-01 -2.636011146840161e-01 -2.633239876271375e-01 - -2.630469333706403e-01 -2.627699518665801e-01 -2.624930428881614e-01 -2.622162067361601e-01 -2.619394437425979e-01 - -2.616627537197243e-01 -2.613861365959049e-01 -2.611095924398818e-01 -2.608331213683194e-01 -2.605567232565551e-01 - -2.602803979638560e-01 -2.600041459185203e-01 -2.597279672559259e-01 -2.594518617711524e-01 -2.591758294668244e-01 - -2.588998704444723e-01 -2.586239847880919e-01 -2.583481722507706e-01 -2.580724328621725e-01 -2.577967671126083e-01 - -2.575211749406902e-01 -2.572456561780725e-01 -2.569702108956164e-01 -2.566948391959332e-01 -2.564195410517088e-01 - -2.561443162003717e-01 -2.558691649278121e-01 -2.555940876367002e-01 -2.553190840839927e-01 -2.550441541814838e-01 - -2.547692980445108e-01 -2.544945157803290e-01 -2.542198072584164e-01 -2.539451722830000e-01 -2.536706112997469e-01 - -2.533961245035316e-01 -2.531217116489478e-01 -2.528473727232912e-01 -2.525731078267265e-01 -2.522989170513077e-01 - -2.520248001810547e-01 -2.517507572028029e-01 -2.514767886096237e-01 -2.512028943623831e-01 -2.509290742545349e-01 - -2.506553283625735e-01 -2.503816568034038e-01 -2.501080595782905e-01 -2.498345364108095e-01 -2.495610875124447e-01 - -2.492877133133172e-01 -2.490144136112123e-01 -2.487411882994743e-01 -2.484680374856057e-01 -2.481949612635986e-01 - -2.479219595287280e-01 -2.476490320734136e-01 -2.473761793087864e-01 -2.471034014703498e-01 -2.468306982957061e-01 - -2.465580697844871e-01 -2.462855160432138e-01 -2.460130371204629e-01 -2.457406328233614e-01 -2.454683031113906e-01 - -2.451960484794311e-01 -2.449238689415910e-01 -2.446517642712055e-01 -2.443797345227543e-01 -2.441077797933181e-01 - -2.438359000947776e-01 -2.435640951889690e-01 -2.432923652315951e-01 -2.430207106571287e-01 -2.427491313175689e-01 - -2.424776270783986e-01 -2.422061980074125e-01 -2.419348442072336e-01 -2.416635656192684e-01 -2.413923620306189e-01 - -2.411212337762792e-01 -2.408501811283544e-01 -2.405792038734625e-01 -2.403083019688687e-01 -2.400374754936993e-01 - -2.397667245256450e-01 -2.394960488977194e-01 -2.392254485194238e-01 -2.389549238762380e-01 -2.386844750244205e-01 - -2.384141017100180e-01 -2.381438039886236e-01 -2.378735819631148e-01 -2.376034356560101e-01 -2.373333648418426e-01 - -2.370633696160408e-01 -2.367934504134751e-01 -2.365236071336530e-01 -2.362538396334552e-01 -2.359841479713349e-01 - -2.357145322333765e-01 -2.354449923780104e-01 -2.351755281955192e-01 -2.349061399838227e-01 -2.346368280467886e-01 - -2.343675921502802e-01 -2.340984322401892e-01 -2.338293484224673e-01 -2.335603407944267e-01 -2.332914091991481e-01 - -2.330225534791031e-01 -2.327537740958542e-01 -2.324850711724544e-01 -2.322164444575208e-01 -2.319478939696494e-01 - -2.316794198107119e-01 -2.314110220364787e-01 -2.311427004172850e-01 -2.308744549913938e-01 -2.306062862221652e-01 - -2.303381940399467e-01 -2.300701782673901e-01 -2.298022389505013e-01 -2.295343762055658e-01 -2.292665900251787e-01 - -2.289988801367178e-01 -2.287312467963517e-01 -2.284636903804389e-01 -2.281962106639611e-01 -2.279288075702767e-01 - -2.276614812041137e-01 -2.273942316314865e-01 -2.271270587234099e-01 -2.268599623216859e-01 -2.265929428586625e-01 - -2.263260004971463e-01 -2.260591349680134e-01 -2.257923462859340e-01 -2.255256345570404e-01 -2.252589998316905e-01 - -2.249924418873443e-01 -2.247259607239798e-01 -2.244595568451081e-01 -2.241932301870257e-01 -2.239269805236896e-01 - -2.236608079513920e-01 -2.233947125724077e-01 -2.231286943677930e-01 -2.228627530899186e-01 -2.225968889349937e-01 - -2.223311022938890e-01 -2.220653929888047e-01 -2.217997609137618e-01 -2.215342061492806e-01 -2.212687287997047e-01 - -2.210033287645195e-01 -2.207380058226258e-01 -2.204727603658667e-01 -2.202075926188733e-01 -2.199425023254976e-01 - -2.196774894791217e-01 -2.194125541827232e-01 -2.191476964953657e-01 -2.188829162198361e-01 -2.186182133017065e-01 - -2.183535882155842e-01 -2.180890409721393e-01 -2.178245713492862e-01 -2.175601793915103e-01 -2.172958651996608e-01 - -2.170316287941991e-01 -2.167674699222372e-01 -2.165033887351043e-01 -2.162393856655618e-01 -2.159754605317784e-01 - -2.157116131976179e-01 -2.154478437626437e-01 -2.151841523053365e-01 -2.149205387568082e-01 -2.146570029331132e-01 - -2.143935451423346e-01 -2.141301656253313e-01 -2.138668641770334e-01 -2.136036407648879e-01 -2.133404954698548e-01 - -2.130774283590253e-01 -2.128144392711416e-01 -2.125515281171839e-01 -2.122886953403734e-01 -2.120259409959825e-01 - -2.117632648531722e-01 -2.115006669388265e-01 -2.112381473557379e-01 -2.109757061544524e-01 -2.107133431005909e-01 - -2.104510582708100e-01 -2.101888520817322e-01 -2.099267244352251e-01 -2.096646751892664e-01 -2.094027043922436e-01 - -2.091408121382980e-01 -2.088789983898283e-01 -2.086172629233026e-01 -2.083556060294393e-01 -2.080940280081475e-01 - -2.078325286261216e-01 -2.075711078316715e-01 -2.073097657230958e-01 -2.070485023681648e-01 -2.067873176254528e-01 - -2.065262113703670e-01 -2.062651840261599e-01 -2.060042356935543e-01 -2.057433661320316e-01 -2.054825753736384e-01 - -2.052218635119340e-01 -2.049612305777034e-01 -2.047006763593381e-01 -2.044402009029163e-01 -2.041798046444743e-01 - -2.039194875091236e-01 -2.036592493288050e-01 -2.033990901597007e-01 -2.031390101041152e-01 -2.028790091364410e-01 - -2.026190869860804e-01 -2.023592439213894e-01 -2.020994803209571e-01 -2.018397959336108e-01 -2.015801906636277e-01 - -2.013206646163115e-01 -2.010612178968381e-01 -2.008018503846473e-01 -2.005425618909167e-01 -2.002833527994660e-01 - -2.000242232866459e-01 -1.997651731545872e-01 -1.995062023757428e-01 -1.992473110134654e-01 -1.989884991329442e-01 - -1.987297665552775e-01 -1.984711132804359e-01 -1.982125397288479e-01 -1.979540458641874e-01 -1.976956315048893e-01 - -1.974372966986851e-01 -1.971790415364275e-01 -1.969208660181268e-01 -1.966627699138122e-01 -1.964047534115951e-01 - -1.961468168792641e-01 -1.958889601415059e-01 -1.956311830976701e-01 -1.953734858227050e-01 -1.951158683885618e-01 - -1.948583307060198e-01 -1.946008726082255e-01 -1.943434944554087e-01 -1.940861964418109e-01 -1.938289783248288e-01 - -1.935718400929853e-01 -1.933147818435645e-01 -1.930578036445209e-01 -1.928009053047615e-01 -1.925440867668252e-01 - -1.922873484836986e-01 -1.920306904586313e-01 -1.917741124759950e-01 -1.915176145882685e-01 -1.912611968971867e-01 - -1.910048594156118e-01 -1.907486018758652e-01 -1.904924244300230e-01 -1.902363275204000e-01 -1.899803109613821e-01 - -1.897243746214878e-01 -1.894685186111405e-01 -1.892127429944364e-01 -1.889570476814606e-01 -1.887014324762902e-01 - -1.884458977092228e-01 -1.881904436322386e-01 -1.879350700181010e-01 -1.876797768445363e-01 -1.874245641980662e-01 - -1.871694321106837e-01 -1.869143804464632e-01 -1.866594091449939e-01 -1.864045185802509e-01 -1.861497088150435e-01 - -1.858949796742653e-01 -1.856403311585743e-01 -1.853857633524328e-01 -1.851312763093270e-01 -1.848768697910832e-01 - -1.846225438828809e-01 -1.843682990131126e-01 -1.841141350478542e-01 -1.838600518410295e-01 -1.836060494900988e-01 - -1.833521280737523e-01 -1.830982875326949e-01 -1.828445276569093e-01 -1.825908487213151e-01 -1.823372510073639e-01 - -1.820837342990139e-01 -1.818302985608840e-01 -1.815769438919524e-01 -1.813236703339543e-01 -1.810704777470943e-01 - -1.808173660274447e-01 -1.805643355946649e-01 -1.803113865319381e-01 -1.800585185867421e-01 -1.798057318207557e-01 - -1.795530263298101e-01 -1.793004021140676e-01 -1.790478589821669e-01 -1.787953969871552e-01 -1.785430165333783e-01 - -1.782907175616041e-01 -1.780384999147782e-01 -1.777863636186671e-01 -1.775343087850783e-01 -1.772823354138563e-01 - -1.770304432439544e-01 -1.767786324996124e-01 -1.765269035206169e-01 -1.762752561209628e-01 -1.760236902365481e-01 - -1.757722059508868e-01 -1.755208033072168e-01 -1.752694821962465e-01 -1.750182424985018e-01 -1.747670845873172e-01 - -1.745160085943736e-01 -1.742650142826787e-01 -1.740141016708582e-01 -1.737632708599284e-01 -1.735125219002990e-01 - -1.732618545819516e-01 -1.730112688968157e-01 -1.727607652962038e-01 -1.725103437360838e-01 -1.722600040199003e-01 - -1.720097462053399e-01 -1.717595703957765e-01 -1.715094765937824e-01 -1.712594645505801e-01 -1.710095344617568e-01 - -1.707596867053610e-01 -1.705099210652020e-01 -1.702602374503936e-01 -1.700106359820640e-01 -1.697611167032507e-01 - -1.695116795170456e-01 -1.692623242857098e-01 -1.690130513415946e-01 -1.687638608735592e-01 -1.685147526839133e-01 - -1.682657267304136e-01 -1.680167830834059e-01 -1.677679218434041e-01 -1.675191428301483e-01 -1.672704459776749e-01 - -1.670218317162355e-01 -1.667733000505553e-01 -1.665248507843929e-01 -1.662764839848620e-01 -1.660281997331086e-01 - -1.657799980211539e-01 -1.655318786421316e-01 -1.652838417439954e-01 -1.650358877061586e-01 -1.647880163635810e-01 - -1.645402275978841e-01 -1.642925215033296e-01 -1.640448981629310e-01 -1.637973575048030e-01 -1.635498993322754e-01 - -1.633025239587731e-01 -1.630552316214122e-01 -1.628080220971913e-01 -1.625608953706327e-01 -1.623138515347123e-01 - -1.620668906280902e-01 -1.618200125176413e-01 -1.615732171440627e-01 -1.613265048790783e-01 -1.610798757703294e-01 - -1.608333296326273e-01 -1.605868664946396e-01 -1.603404864451659e-01 -1.600941895233320e-01 -1.598479755194739e-01 - -1.596018445089071e-01 -1.593557968710357e-01 -1.591098325274174e-01 -1.588639513462271e-01 -1.586181533501567e-01 - -1.583724386633118e-01 -1.581268072684121e-01 -1.578812589110151e-01 -1.576357938605635e-01 -1.573904124176000e-01 - -1.571451143885420e-01 -1.568998997115455e-01 -1.566547684551118e-01 -1.564097207009810e-01 -1.561647563377750e-01 - -1.559198752534892e-01 -1.556750777971572e-01 -1.554303640753041e-01 -1.551857339241298e-01 -1.549411873472499e-01 - -1.546967244117141e-01 -1.544523451583313e-01 -1.542080493972972e-01 -1.539638371771692e-01 -1.537197089019022e-01 - -1.534756644902717e-01 -1.532317037874507e-01 -1.529878268669247e-01 -1.527440338285302e-01 -1.525003246495042e-01 - -1.522566990917994e-01 -1.520131573865194e-01 -1.517696998607227e-01 -1.515263263105132e-01 -1.512830366842278e-01 - -1.510398310896279e-01 -1.507967095609423e-01 -1.505536719818633e-01 -1.503107182379510e-01 -1.500678487166025e-01 - -1.498250635429138e-01 -1.495823624607518e-01 -1.493397455183047e-01 -1.490972128240516e-01 -1.488547643939502e-01 - -1.486124000468938e-01 -1.483701197975273e-01 -1.481279240643807e-01 -1.478858128086334e-01 -1.476437858541442e-01 - -1.474018432575297e-01 -1.471599850901578e-01 -1.469182113447434e-01 -1.466765218581870e-01 -1.464349167991909e-01 - -1.461933964691583e-01 -1.459519607332137e-01 -1.457106095126376e-01 -1.454693428712828e-01 -1.452281609001614e-01 - -1.449870635167667e-01 -1.447460505411944e-01 -1.445051223204885e-01 -1.442642790465533e-01 -1.440235204958664e-01 - -1.437828466645076e-01 -1.435422576460715e-01 -1.433017535021517e-01 -1.430613340788666e-01 -1.428209993367665e-01 - -1.425807496580667e-01 -1.423405850452980e-01 -1.421005053276286e-01 -1.418605105748216e-01 -1.416206008760722e-01 - -1.413807762310167e-01 -1.411410364179444e-01 -1.409013815814383e-01 -1.406618121114770e-01 -1.404223278620860e-01 - -1.401829287142080e-01 -1.399436147388266e-01 -1.397043860171121e-01 -1.394652424999606e-01 -1.392261840277533e-01 - -1.389872108800275e-01 -1.387483232704581e-01 -1.385095210193419e-01 -1.382708041155041e-01 -1.380321726381191e-01 - -1.377936266235328e-01 -1.375551659356028e-01 -1.373167905196480e-01 -1.370785007699294e-01 -1.368402967462084e-01 - -1.366021782602805e-01 -1.363641453151502e-01 -1.361261980034910e-01 -1.358883363925467e-01 -1.356505602730137e-01 - -1.354128697173978e-01 -1.351752651019714e-01 -1.349377463365720e-01 -1.347003133096952e-01 -1.344629660943524e-01 - -1.342257047644556e-01 -1.339885292721434e-01 -1.337514394288152e-01 -1.335144355004790e-01 -1.332775177574095e-01 - -1.330406860095451e-01 -1.328039402156265e-01 -1.325672804621033e-01 -1.323307068237664e-01 -1.320942191803451e-01 - -1.318578174250235e-01 -1.316215019436967e-01 -1.313852728254415e-01 -1.311491298574344e-01 -1.309130730812647e-01 - -1.306771025967214e-01 -1.304412184433993e-01 -1.302054204167683e-01 -1.299697085633917e-01 -1.297340833011096e-01 - -1.294985445422908e-01 -1.292630921400970e-01 -1.290277262032818e-01 -1.287924468024440e-01 -1.285572538860320e-01 - -1.283221472565841e-01 -1.280871271607027e-01 -1.278521939245786e-01 -1.276173473594251e-01 -1.273825873815436e-01 - -1.271479140654554e-01 -1.269133275291332e-01 -1.266788276689478e-01 -1.264444143112885e-01 -1.262100878411512e-01 - -1.259758484249543e-01 -1.257416958580221e-01 -1.255076301118343e-01 -1.252736512740011e-01 -1.250397594556589e-01 - -1.248059544551782e-01 -1.245722362561283e-01 -1.243386053032582e-01 -1.241050615437150e-01 -1.238716047916152e-01 - -1.236382351439431e-01 -1.234049527007845e-01 -1.231717574487822e-01 -1.229386491649988e-01 -1.227056280466961e-01 - -1.224726944551588e-01 -1.222398481939305e-01 -1.220070891810755e-01 -1.217744175349468e-01 -1.215418333321439e-01 - -1.213093364896874e-01 -1.210769268543440e-01 -1.208446047468073e-01 -1.206123703546746e-01 -1.203802234985189e-01 - -1.201481641556592e-01 -1.199161924040098e-01 -1.196843083373426e-01 -1.194525118101599e-01 -1.192208027778711e-01 - -1.189891816158967e-01 -1.187576483334740e-01 -1.185262027772708e-01 -1.182948450325541e-01 -1.180635751718018e-01 - -1.178323931740712e-01 -1.176012988598141e-01 -1.173702923768903e-01 -1.171393740841554e-01 -1.169085438684581e-01 - -1.166778016318426e-01 -1.164471474323627e-01 -1.162165813372163e-01 -1.159861033094216e-01 -1.157557132288848e-01 - -1.155254113554128e-01 -1.152951978878259e-01 -1.150650726784410e-01 -1.148350356935617e-01 -1.146050869998271e-01 - -1.143752266983624e-01 -1.141454546633286e-01 -1.139157708150553e-01 -1.136861755297615e-01 -1.134566688685596e-01 - -1.132272506625232e-01 -1.129979209389772e-01 -1.127686797968139e-01 -1.125395272939830e-01 -1.123104632216639e-01 - -1.120814876598629e-01 -1.118526009932446e-01 -1.116238031362107e-01 -1.113950939743172e-01 -1.111664735714766e-01 - -1.109379420230661e-01 -1.107094992989161e-01 -1.104811452047023e-01 -1.102528800189790e-01 -1.100247040176238e-01 - -1.097966169898620e-01 -1.095686189066022e-01 -1.093407098806465e-01 -1.091128899944971e-01 -1.088851591239916e-01 - -1.086575171512236e-01 -1.084299644451029e-01 -1.082025011238454e-01 -1.079751270251657e-01 -1.077478421434466e-01 - -1.075206465724022e-01 -1.072935404061887e-01 -1.070665234272605e-01 -1.068395956686409e-01 -1.066127575621145e-01 - -1.063860090403522e-01 -1.061593499609373e-01 -1.059327804074918e-01 -1.057063004552603e-01 -1.054799100848440e-01 - -1.052536091459819e-01 -1.050273978363624e-01 -1.048012764247322e-01 -1.045752447992682e-01 -1.043493029044653e-01 - -1.041234507912105e-01 -1.038976885616201e-01 -1.036720161437409e-01 -1.034464334142674e-01 -1.032209407082870e-01 - -1.029955381585720e-01 -1.027702255852857e-01 -1.025450030256683e-01 -1.023198705766582e-01 -1.020948282803886e-01 - -1.018698759615270e-01 -1.016450136357437e-01 -1.014202417243671e-01 -1.011955602054591e-01 -1.009709689162001e-01 - -1.007464679013254e-01 -1.005220572777319e-01 -1.002977370772110e-01 -1.000735070732387e-01 -9.984936745539402e-02 - -9.962531858349888e-02 -9.940136027998529e-02 -9.917749246814733e-02 -9.895371525770333e-02 -9.873002873335845e-02 - -9.850643282337790e-02 -9.828292738770521e-02 -9.805951276903688e-02 -9.783618914357473e-02 -9.761295629040607e-02 - -9.738981424317925e-02 -9.716676311420755e-02 -9.694380293900719e-02 -9.672093359332221e-02 -9.649815506782670e-02 - -9.627546771326484e-02 -9.605287156919239e-02 -9.583036651098850e-02 -9.560795255252680e-02 -9.538562978098189e-02 - -9.516339824129488e-02 -9.494125774199282e-02 -9.471920843970391e-02 -9.449725071216948e-02 -9.427538438593883e-02 - -9.405360936874554e-02 -9.383192580278800e-02 -9.361033376064058e-02 -9.338883317577901e-02 -9.316742389906425e-02 - -9.294610622995669e-02 -9.272488039403920e-02 -9.250374621386263e-02 -9.228270367992475e-02 -9.206175287916113e-02 - -9.184089387273792e-02 -9.162012656935895e-02 -9.139945093572596e-02 -9.117886729658348e-02 -9.095837571294788e-02 - -9.073797605928635e-02 -9.051766837713708e-02 -9.029745274779008e-02 -9.007732920697027e-02 -8.985729759887780e-02 - -8.963735802530043e-02 -8.941751083887589e-02 -8.919775594907166e-02 -8.897809325953572e-02 -8.875852286193828e-02 - -8.853904483959285e-02 -8.831965916578795e-02 -8.810036569419880e-02 -8.788116467295366e-02 -8.766205635082600e-02 - -8.744304058057480e-02 -8.722411733824492e-02 -8.700528670561582e-02 -8.678654875532379e-02 -8.656790339361393e-02 - -8.634935054757228e-02 -8.613089058374623e-02 -8.591252359970507e-02 -8.569424942256174e-02 -8.547606809595372e-02 - -8.525797972327777e-02 -8.503998436304407e-02 -8.482208183975883e-02 -8.460427219735964e-02 -8.438655581333676e-02 - -8.416893266387415e-02 -8.395140264416648e-02 -8.373396580036768e-02 -8.351662221748458e-02 -8.329937190808817e-02 - -8.308221474187347e-02 -8.286515089972675e-02 -8.264818063381729e-02 -8.243130387381740e-02 -8.221452057360500e-02 - -8.199783077068876e-02 -8.178123458056528e-02 -8.156473193866548e-02 -8.134832272179610e-02 -8.113200727104515e-02 - -8.091578573554094e-02 -8.069965795549490e-02 -8.048362394306618e-02 -8.026768379237301e-02 -8.005183759034226e-02 - -7.983608519016389e-02 -7.962042660317335e-02 -7.940486220827629e-02 -7.918939199917317e-02 -7.897401585103307e-02 - -7.875873382193239e-02 -7.854354599947752e-02 -7.832845240531904e-02 -7.811345290511561e-02 -7.789854765910142e-02 - -7.768373695009409e-02 -7.746902070156129e-02 -7.725439886068521e-02 -7.703987147751143e-02 -7.682543865920169e-02 - -7.661110037032860e-02 -7.639685648697914e-02 -7.618270730319152e-02 -7.596865299784139e-02 -7.575469343456721e-02 - -7.554082861289950e-02 -7.532705861915691e-02 -7.511338355056779e-02 -7.489980327273796e-02 -7.468631776375068e-02 - -7.447292742489155e-02 -7.425963225373161e-02 -7.404643208981297e-02 -7.383332706618533e-02 -7.362031725942129e-02 - -7.340740264369265e-02 -7.319458312424655e-02 -7.298185885257603e-02 -7.276923011698885e-02 -7.255669681825400e-02 - -7.234425890125808e-02 -7.213191646645117e-02 -7.191966959969415e-02 -7.170751827394115e-02 -7.149546237742448e-02 - -7.128350216363183e-02 -7.107163782537941e-02 -7.085986923051370e-02 -7.064819639413342e-02 -7.043661941815849e-02 - -7.022513838389523e-02 -7.001375316964638e-02 -6.980246372359999e-02 -6.959127044971054e-02 -6.938017339783993e-02 - -6.916917238807876e-02 -6.895826751099868e-02 -6.874745887832359e-02 -6.853674652264935e-02 -6.832613029387129e-02 - -6.811561029537151e-02 -6.790518687416305e-02 -6.769485994872884e-02 -6.748462944761908e-02 -6.727449549181348e-02 - -6.706445814195625e-02 -6.685451736224034e-02 -6.664467305023641e-02 -6.643492546019260e-02 -6.622527482862205e-02 - -6.601572100856345e-02 -6.580626400049541e-02 -6.559690390732385e-02 -6.538764078471235e-02 -6.517847455920224e-02 - -6.496940519404462e-02 -6.476043303620643e-02 -6.455155816426872e-02 -6.434278041275177e-02 -6.413409988235154e-02 - -6.392551667227454e-02 -6.371703078482928e-02 -6.350864213121965e-02 -6.330035079826633e-02 -6.309215709125325e-02 - -6.288406097171770e-02 -6.267606236590158e-02 -6.246816137578116e-02 -6.226035810132791e-02 -6.205265253482506e-02 - -6.184504450634240e-02 -6.163753424009603e-02 -6.143012204113525e-02 -6.122280779495761e-02 -6.101559145710207e-02 - -6.080847310111580e-02 -6.060145284620669e-02 -6.039453063876327e-02 -6.018770637541451e-02 -5.998098039534337e-02 - -5.977435284136760e-02 -5.956782355675167e-02 -5.936139258218223e-02 -5.915506002510895e-02 -5.894882595975996e-02 - -5.874269025717062e-02 -5.853665294379332e-02 -5.833071438748900e-02 -5.812487459491447e-02 -5.791913345983549e-02 - -5.771349104248068e-02 -5.750794745476003e-02 -5.730250273990040e-02 -5.709715674449271e-02 -5.689190963313420e-02 - -5.668676170442684e-02 -5.648171287301057e-02 -5.627676311138611e-02 -5.607191251359627e-02 -5.586716116856662e-02 - -5.566250902085241e-02 -5.545795595276776e-02 -5.525350230977423e-02 -5.504914828197500e-02 -5.484489368806074e-02 - -5.464073856561743e-02 -5.443668303623681e-02 -5.423272717677420e-02 -5.402887087270093e-02 -5.382511411736842e-02 - -5.362145727556954e-02 -5.341790037997223e-02 -5.321444331788154e-02 -5.301108618236487e-02 -5.280782907094528e-02 - -5.260467200594416e-02 -5.240161485390568e-02 -5.219865776343095e-02 -5.199580105954085e-02 -5.179304465507040e-02 - -5.159038850941820e-02 -5.138783273765680e-02 -5.118537740030552e-02 -5.098302246878324e-02 -5.078076787428482e-02 - -5.057861387937131e-02 -5.037656068404879e-02 -5.017460818262723e-02 -4.997275637519877e-02 -4.977100534878579e-02 - -4.956935521374012e-02 -4.936780587637167e-02 -4.916635729330274e-02 -4.896500983679772e-02 -4.876376358063662e-02 - -4.856261839799727e-02 -4.836157437280066e-02 -4.816063160553166e-02 -4.795979012910388e-02 -4.775904981223175e-02 - -4.755841077230219e-02 -4.735787336181510e-02 -4.715743752596301e-02 -4.695710319390285e-02 -4.675687045398216e-02 - -4.655673941737810e-02 -4.635671009364274e-02 -4.615678236145827e-02 -4.595695644691457e-02 -4.575723258610617e-02 - -4.555761069075770e-02 -4.535809077212207e-02 -4.515867291944397e-02 -4.495935719937229e-02 -4.476014355843901e-02 - -4.456103197632578e-02 -4.436202279051898e-02 -4.416311608901573e-02 -4.396431172960501e-02 -4.376560979706327e-02 - -4.356701040970479e-02 -4.336851362154585e-02 -4.317011930970618e-02 -4.297182755295056e-02 -4.277363871130811e-02 - -4.257555275870079e-02 -4.237756961321195e-02 -4.217968936488893e-02 -4.198191211978222e-02 -4.178423789759614e-02 - -4.158666657665847e-02 -4.138919837391426e-02 -4.119183356383482e-02 -4.099457203865310e-02 -4.079741379048268e-02 - -4.060035892668235e-02 -4.040340754077800e-02 -4.020655958670875e-02 -4.000981499812348e-02 -3.981317410229721e-02 - -3.961663704352115e-02 -3.942020369405195e-02 -3.922387410519079e-02 -3.902764838570288e-02 -3.883152661169272e-02 - -3.863550868276464e-02 -3.843959464464100e-02 -3.824378485096525e-02 -3.804807931112070e-02 -3.785247793879744e-02 - -3.765698082240899e-02 -3.746158806803077e-02 -3.726629970906549e-02 -3.707111562537097e-02 -3.687603600301111e-02 - -3.668106114329449e-02 -3.648619095542227e-02 -3.629142541706046e-02 -3.609676463615045e-02 -3.590220871216067e-02 - -3.570775761915167e-02 -3.551341127587861e-02 -3.531916998478909e-02 -3.512503392646860e-02 -3.493100298239093e-02 - -3.473707719308593e-02 -3.454325666569649e-02 -3.434954148093054e-02 -3.415593156072503e-02 -3.396242692622412e-02 - -3.376902792182854e-02 -3.357573459185429e-02 -3.338254684613227e-02 -3.318946476737597e-02 -3.299648846264201e-02 - -3.280361798076661e-02 -3.261085320981364e-02 -3.241819429994710e-02 -3.222564156785773e-02 -3.203319495411584e-02 - -3.184085442350271e-02 -3.164862007407277e-02 -3.145649201602077e-02 -3.126447024597763e-02 -3.107255466700169e-02 - -3.088074555671056e-02 -3.068904313085425e-02 -3.049744727803826e-02 -3.030595802638682e-02 -3.011457548570120e-02 - -2.992329974875160e-02 -2.973213075050443e-02 -2.954106848293515e-02 -2.935011329195715e-02 -2.915926525661732e-02 - -2.896852427673346e-02 -2.877789042941862e-02 -2.858736382466336e-02 -2.839694452567641e-02 -2.820663243092813e-02 - -2.801642765839682e-02 -2.782633053619610e-02 -2.763634102981755e-02 -2.744645909471058e-02 -2.725668483048721e-02 - -2.706701834793413e-02 -2.687745966148872e-02 -2.668800867127078e-02 -2.649866562411629e-02 -2.630943076513501e-02 - -2.612030399888650e-02 -2.593128533989631e-02 -2.574237489560391e-02 -2.555357276907920e-02 -2.536487891525730e-02 - -2.517629330290238e-02 -2.498781626631630e-02 -2.479944791947400e-02 -2.461118815951395e-02 -2.442303705775731e-02 - -2.423499472682666e-02 -2.404706124098910e-02 -2.385923651050157e-02 -2.367152062237768e-02 -2.348391391197065e-02 - -2.329641637680258e-02 -2.310902796361102e-02 -2.292174876507744e-02 -2.273457889435020e-02 -2.254751838574287e-02 - -2.236056713942959e-02 -2.217372537079298e-02 -2.198699334983061e-02 -2.180037099746794e-02 -2.161385831877313e-02 - -2.142745542221016e-02 -2.124116241611923e-02 -2.105497927356034e-02 -2.086890594375282e-02 -2.068294274565517e-02 - -2.049708982965088e-02 -2.031134709508492e-02 -2.012571460207244e-02 -1.994019246558534e-02 -1.975478077426674e-02 - -1.956947944878238e-02 -1.938428854559868e-02 -1.919920840769478e-02 -1.901423906121075e-02 -1.882938044349050e-02 - -1.864463264867233e-02 -1.845999578941159e-02 -1.827546991282947e-02 -1.809105492490821e-02 -1.790675101318496e-02 - -1.772255847013706e-02 -1.753847723077995e-02 -1.735450728912205e-02 -1.717064875577919e-02 -1.698690174123156e-02 - -1.680326624034783e-02 -1.661974219495428e-02 -1.643632989539235e-02 -1.625302952284425e-02 -1.606984099009794e-02 - -1.588676434582367e-02 -1.570379970237604e-02 -1.552094715767664e-02 -1.533820665109939e-02 -1.515557821470722e-02 - -1.497306218983010e-02 -1.479065863118324e-02 -1.460836746737021e-02 -1.442618879376636e-02 -1.424412272699600e-02 - -1.406216932715821e-02 -1.388032850365394e-02 -1.369860041414062e-02 -1.351698537084881e-02 -1.333548332713773e-02 - -1.315409426742165e-02 -1.297281830737383e-02 -1.279165555870565e-02 -1.261060603011550e-02 -1.242966965324022e-02 - -1.224884670128487e-02 -1.206813738892206e-02 -1.188754163203305e-02 -1.170705946859269e-02 -1.152669101347058e-02 - -1.134643637569507e-02 -1.116629550991553e-02 -1.098626842139487e-02 -1.080635544822676e-02 -1.062655668128806e-02 - -1.044687204494093e-02 -1.026730162280993e-02 -1.008784553433474e-02 -9.908503858526582e-03 -9.729276511698201e-03 - -9.550163618928804e-03 -9.371165505355611e-03 -9.192282154920128e-03 -9.013513542246960e-03 -8.834859775588668e-03 - -8.656320970291077e-03 -8.477897155130903e-03 -8.299588259899083e-03 -8.121394531144674e-03 -7.943316209259341e-03 - -7.765353219198069e-03 -7.587505591333328e-03 -7.409773443860054e-03 -7.232156891183837e-03 -7.054655906230881e-03 - -6.877270474033493e-03 -6.700000921715352e-03 -6.522847372218281e-03 -6.345809748257097e-03 -6.168888131399519e-03 - -5.992082642122597e-03 -5.815393366379400e-03 -5.638820235869921e-03 -5.462363348533388e-03 -5.286023033805962e-03 - -5.109799304673499e-03 -4.933692127821829e-03 -4.757701606393674e-03 -4.581827861470766e-03 -4.406070940931505e-03 - -4.230430770274698e-03 -4.054907567997104e-03 -3.879501600335772e-03 -3.704212807069328e-03 -3.529041210474627e-03 - -3.353986930090703e-03 -3.179050081041732e-03 -3.004230655593028e-03 -2.829528626659512e-03 -2.654944304289923e-03 - -2.480477843039907e-03 -2.306129168890747e-03 -2.131898354626704e-03 -1.957785522367332e-03 -1.783790769612464e-03 - -1.609914041309663e-03 -1.436155409326836e-03 -1.262515208025358e-03 -1.088993476198761e-03 -9.155901719868249e-04 - -7.423054008843995e-04 -5.691392854771952e-04 -3.960918865957833e-04 -2.231631331613931e-04 -5.035321608514060e-05 - 1.223375771945329e-04 2.949092895407656e-04 4.673619084872533e-04 6.396953140537370e-04 8.119093865188150e-04 - 9.840041155727759e-04 1.155979539871523e-03 1.327835367602612e-03 1.499571413663267e-03 1.671187748049661e-03 - 1.842684305331169e-03 2.014060960896812e-03 2.185317608856639e-03 2.356454289147141e-03 2.527470954200780e-03 - 2.698367270832486e-03 2.869143169831049e-03 3.039798698561594e-03 3.210333755176400e-03 3.380748214685887e-03 - 3.551042001872539e-03 3.721215182132198e-03 3.891267592694254e-03 4.061198929412137e-03 4.231009214636464e-03 - 4.400698444839332e-03 4.570266499650065e-03 4.739713256426893e-03 4.909038688279234e-03 5.078242841339914e-03 - 5.247325443294046e-03 5.416286280121805e-03 5.585125417934797e-03 5.753842797319914e-03 5.922438289361948e-03 - 6.090911784292105e-03 6.259263304936011e-03 6.427492823105761e-03 6.595600012759487e-03 6.763584774419725e-03 - 6.931447157908777e-03 7.099187064683324e-03 7.266804368739545e-03 7.434298984071849e-03 7.601670964899477e-03 - 7.768920175905106e-03 7.936046303989365e-03 8.103049345026314e-03 8.269929303195386e-03 8.436686062480435e-03 - 8.603319496825714e-03 8.769829559891583e-03 8.936216298209541e-03 9.102479469308070e-03 9.268618835503980e-03 - 9.434634442417017e-03 9.600526244002849e-03 9.766294116521254e-03 9.931937936947469e-03 1.009745771049027e-02 - 1.026285342997890e-02 1.042812477681206e-02 1.059327162144324e-02 1.075829401681754e-02 1.092319186819127e-02 - 1.108796504594824e-02 1.125261345370748e-02 1.141713713772357e-02 1.158153598704318e-02 1.174580967555363e-02 - 1.190995817803677e-02 1.207398151021485e-02 1.223787955540131e-02 1.240165218070774e-02 1.256529932365555e-02 - 1.272882103806231e-02 1.289221710280211e-02 1.305548725320952e-02 1.321863152957668e-02 1.338164989105289e-02 - 1.354454220587777e-02 1.370730835288826e-02 1.386994832163190e-02 1.403246211588375e-02 1.419484943187744e-02 - 1.435711010999991e-02 1.451924419921884e-02 1.468125161270911e-02 1.484313222013652e-02 1.500488591571896e-02 - 1.516651273046586e-02 1.532801257754355e-02 1.548938513124086e-02 1.565063033579857e-02 1.581174821092933e-02 - 1.597273864701365e-02 1.613360150922888e-02 1.629433671764488e-02 1.645494432276120e-02 1.661542413184349e-02 - 1.677577586209575e-02 1.693599953321696e-02 1.709609511287956e-02 1.725606247097126e-02 1.741590148147653e-02 - 1.757561211738663e-02 1.773519439308624e-02 1.789464801957598e-02 1.805397280960725e-02 1.821316881163111e-02 - 1.837223594327105e-02 1.853117406905512e-02 1.868998307594014e-02 1.884866298214414e-02 1.900721372338833e-02 - 1.916563497459167e-02 1.932392665507269e-02 1.948208878919649e-02 1.964012126059438e-02 1.979802393750615e-02 - 1.995579673545799e-02 2.011343968946751e-02 2.027095263124555e-02 2.042833526879373e-02 2.058558759933038e-02 - 2.074270959919291e-02 2.089970114286997e-02 2.105656209513535e-02 2.121329241031374e-02 2.136989211400533e-02 - 2.152636093833320e-02 2.168269866776463e-02 2.183890534086288e-02 2.199498088647827e-02 2.215092516911965e-02 - 2.230673806408907e-02 2.246241957468516e-02 2.261796965793072e-02 2.277338799181243e-02 2.292867446749406e-02 - 2.308382911412376e-02 2.323885181888266e-02 2.339374244699652e-02 2.354850090287507e-02 2.370312721409915e-02 - 2.385762123470989e-02 2.401198266010886e-02 2.416621147301771e-02 2.432030765671687e-02 2.447427107682733e-02 - 2.462810160176357e-02 2.478179917471193e-02 2.493536381795363e-02 2.508879528739230e-02 2.524209334527653e-02 - 2.539525801488748e-02 2.554828923354157e-02 2.570118686847216e-02 2.585395079171064e-02 2.600658098606827e-02 - 2.615907742012537e-02 2.631143978762620e-02 2.646366795301069e-02 2.661576194257877e-02 2.676772164859378e-02 - 2.691954693391293e-02 2.707123769272043e-02 2.722279394328245e-02 2.737421556407061e-02 2.752550224474631e-02 - 2.767665393933695e-02 2.782767063812680e-02 2.797855221700411e-02 2.812929853552858e-02 2.827990951702357e-02 - 2.843038519104858e-02 2.858072533585580e-02 2.873092969062032e-02 2.888099827101270e-02 2.903093101911967e-02 - 2.918072779556083e-02 2.933038847140823e-02 2.947991301658642e-02 2.962930141213865e-02 2.977855336278226e-02 - 2.992766870509821e-02 3.007664746318324e-02 3.022548953626840e-02 3.037419478553557e-02 3.052276309616091e-02 - 3.067119447416764e-02 3.081948881896879e-02 3.096764581778017e-02 3.111566540198458e-02 3.126354756710210e-02 - 3.141129218718559e-02 3.155889912410548e-02 3.170636829125183e-02 3.185369970791438e-02 3.200089317518744e-02 - 3.214794841776677e-02 3.229486543634106e-02 3.244164418203412e-02 3.258828451581320e-02 3.273478630264194e-02 - 3.288114949586567e-02 3.302737408530167e-02 3.317345979235018e-02 3.331940642975919e-02 3.346521401820098e-02 - 3.361088246101045e-02 3.375641161607764e-02 3.390180136352038e-02 3.404705169548587e-02 3.419216253016829e-02 - 3.433713355905806e-02 3.448196468652563e-02 3.462665590981111e-02 3.477120710939272e-02 3.491561814527116e-02 - 3.505988891618091e-02 3.520401943397326e-02 3.534800952666442e-02 3.549185891051008e-02 3.563556756111654e-02 - 3.577913543618631e-02 3.592256240340591e-02 3.606584831947614e-02 3.620899312153205e-02 3.635199681091714e-02 - 3.649485912620978e-02 3.663757985375464e-02 3.678015900636063e-02 3.692259649832257e-02 3.706489218607827e-02 - 3.720704593508108e-02 3.734905772908955e-02 3.749092751022131e-02 3.763265496742431e-02 3.777423997951684e-02 - 3.791568254953915e-02 3.805698256030369e-02 3.819813986869797e-02 3.833915436267914e-02 3.848002605018682e-02 - 3.862075477984065e-02 3.876134025391093e-02 3.890178243600422e-02 3.904208129158644e-02 3.918223668100989e-02 - 3.932224846044379e-02 3.946211655605483e-02 3.960184097189857e-02 3.974142146457355e-02 3.988085779819951e-02 - 4.002014997942075e-02 4.015929792921669e-02 4.029830150192959e-02 4.043716055991190e-02 4.057587507004282e-02 - 4.071444498657769e-02 4.085287001066611e-02 4.099114999824743e-02 4.112928495212512e-02 4.126727475679569e-02 - 4.140511926665246e-02 4.154281836167219e-02 4.168037204269245e-02 4.181778018003033e-02 4.195504246778908e-02 - 4.209215884913708e-02 4.222912929605258e-02 4.236595366776428e-02 4.250263182248033e-02 4.263916367566677e-02 - 4.277554922465009e-02 4.291178824859961e-02 4.304788049654025e-02 4.318382596138427e-02 4.331962457087349e-02 - 4.345527617981602e-02 4.359078064797250e-02 4.372613792550029e-02 4.386134797486977e-02 4.399641051415262e-02 - 4.413132537776133e-02 4.426609256403441e-02 4.440071196061698e-02 4.453518342174363e-02 4.466950682320869e-02 - 4.480368214879805e-02 4.493770928728694e-02 4.507158793990715e-02 4.520531802497359e-02 4.533889951667943e-02 - 4.547233228082954e-02 4.560561616979211e-02 4.573875108353129e-02 4.587173702317195e-02 4.600457379177124e-02 - 4.613726112101928e-02 4.626979898466685e-02 4.640218731770854e-02 4.653442597807410e-02 4.666651481740990e-02 - 4.679845378497393e-02 4.693024287357150e-02 4.706188178521280e-02 4.719337030512012e-02 4.732470843170088e-02 - 4.745589609974604e-02 4.758693317708736e-02 4.771781949014568e-02 4.784855500276729e-02 4.797913963655120e-02 - 4.810957311625792e-02 4.823985532440599e-02 4.836998622519359e-02 4.849996572088229e-02 4.862979364778694e-02 - 4.875946986129576e-02 4.888899438454671e-02 4.901836703838853e-02 4.914758752328308e-02 4.927665585368439e-02 - 4.940557196434897e-02 4.953433564666962e-02 4.966294680168561e-02 4.979140536998770e-02 4.991971127467005e-02 - 5.004786430086550e-02 5.017586426593462e-02 5.030371111424699e-02 5.043140473941395e-02 5.055894500969876e-02 - 5.068633180855401e-02 5.081356509387767e-02 5.094064477169723e-02 5.106757053524139e-02 5.119434226596677e-02 - 5.132095996453229e-02 5.144742351517578e-02 5.157373274644007e-02 5.169988750799723e-02 5.182588783131492e-02 - 5.195173357105356e-02 5.207742440366903e-02 5.220296027189056e-02 5.232834113948501e-02 5.245356688434039e-02 - 5.257863735375337e-02 5.270355244318054e-02 5.282831211610928e-02 5.295291615700908e-02 5.307736435753736e-02 - 5.320165668494783e-02 5.332579302368824e-02 5.344977322479061e-02 5.357359720391287e-02 5.369726488407797e-02 - 5.382077614890905e-02 5.394413077320572e-02 5.406732861255047e-02 5.419036960275756e-02 5.431325364836510e-02 - 5.443598061485443e-02 5.455855035736775e-02 5.468096283548277e-02 5.480321791614200e-02 5.492531533836561e-02 - 5.504725504027442e-02 5.516903696522249e-02 5.529066094250196e-02 5.541212681912044e-02 5.553343451105355e-02 - 5.565458402054679e-02 5.577557512714444e-02 5.589640757833542e-02 5.601708136214176e-02 5.613759637012277e-02 - 5.625795242697428e-02 5.637814944133901e-02 5.649818735356010e-02 5.661806606948155e-02 5.673778531909066e-02 - 5.685734496106067e-02 5.697674499811992e-02 5.709598525886500e-02 5.721506557962035e-02 5.733398588420521e-02 - 5.745274613557275e-02 5.757134619305772e-02 5.768978576165893e-02 5.780806477237931e-02 5.792618319490116e-02 - 5.804414085654030e-02 5.816193759992416e-02 5.827957333255503e-02 5.839704805764100e-02 5.851436157058919e-02 - 5.863151359019340e-02 5.874850407742044e-02 5.886533297606138e-02 5.898200016057164e-02 5.909850545490182e-02 - 5.921484876799358e-02 5.933103006596772e-02 5.944704910278828e-02 5.956290569090495e-02 5.967859979076014e-02 - 5.979413129454921e-02 5.990950006107775e-02 6.002470595625681e-02 6.013974894676900e-02 6.025462892974234e-02 - 6.036934559538653e-02 6.048389882575328e-02 6.059828859366181e-02 6.071251478747773e-02 6.082657726499330e-02 - 6.094047589468096e-02 6.105421060960093e-02 6.116778124880510e-02 6.128118760026364e-02 6.139442960439424e-02 - 6.150750715787331e-02 6.162042008748835e-02 6.173316829355946e-02 6.184575170612789e-02 6.195817023946892e-02 - 6.207042366308074e-02 6.218251178412997e-02 6.229443455021107e-02 6.240619187345142e-02 6.251778362644587e-02 - 6.262920965673664e-02 6.274046989094115e-02 6.285156423838029e-02 6.296249246083868e-02 6.307325441937692e-02 - 6.318385004239983e-02 6.329427920287174e-02 6.340454177652059e-02 6.351463766120390e-02 6.362456678994362e-02 - 6.373432899407734e-02 6.384392402667542e-02 6.395335181995393e-02 6.406261231361865e-02 6.417170537725830e-02 - 6.428063082883417e-02 6.438938856382127e-02 6.449797859582693e-02 6.460640069400744e-02 6.471465460887021e-02 - 6.482274028565467e-02 6.493065766530991e-02 6.503840663024645e-02 6.514598697176463e-02 6.525339863731919e-02 - 6.536064160053869e-02 6.546771556229376e-02 6.557462036169828e-02 6.568135597564134e-02 6.578792228094754e-02 - 6.589431913461476e-02 6.600054641494822e-02 6.610660407274732e-02 6.621249195669229e-02 6.631820979208959e-02 - 6.642375751800587e-02 6.652913508526218e-02 6.663434233390064e-02 6.673937912206085e-02 6.684424535139094e-02 - 6.694894096694531e-02 6.705346576057515e-02 6.715781952052316e-02 6.726200223606826e-02 6.736601378290344e-02 - 6.746985396850236e-02 6.757352270136854e-02 6.767701992273348e-02 6.778034554033589e-02 6.788349929667206e-02 - 6.798648102682574e-02 6.808929069330329e-02 6.819192820375723e-02 6.829439341428477e-02 6.839668615716293e-02 - 6.849880637697058e-02 6.860075397106770e-02 6.870252870886938e-02 6.880413046413429e-02 6.890555915577500e-02 - 6.900681468090485e-02 6.910789689150486e-02 6.920880565820778e-02 6.930954094436353e-02 6.941010257623929e-02 - 6.951049032497619e-02 6.961070411466443e-02 6.971074386483528e-02 6.981060945693285e-02 6.991030074013053e-02 - 7.000981760721879e-02 7.010915998226322e-02 7.020832768385020e-02 7.030732053981503e-02 7.040613843777971e-02 - 7.050478130476578e-02 7.060324902125202e-02 7.070154139632766e-02 7.079965841104072e-02 7.089759998592053e-02 - 7.099536579014293e-02 7.109295574922263e-02 7.119036986301433e-02 7.128760792254588e-02 7.138466979343019e-02 - 7.148155540894172e-02 7.157826467726322e-02 7.167479742578257e-02 7.177115345207208e-02 7.186733268619028e-02 - 7.196333504975572e-02 7.205916041090092e-02 7.215480858692887e-02 7.225027948023270e-02 7.234557308374470e-02 - 7.244068916926014e-02 7.253562753252076e-02 7.263038813284139e-02 7.272497087062332e-02 7.281937559790036e-02 - 7.291360215228662e-02 7.300765049821943e-02 7.310152057265214e-02 7.319521208383468e-02 7.328872490709243e-02 - 7.338205901635925e-02 7.347521425841259e-02 7.356819049091311e-02 7.366098761637971e-02 7.375360558736099e-02 - 7.384604424623381e-02 7.393830334347133e-02 7.403038279875497e-02 7.412228254437477e-02 7.421400245985316e-02 - 7.430554241104276e-02 7.439690229021774e-02 7.448808202204141e-02 7.457908141717452e-02 7.466990029970315e-02 - 7.476053861745356e-02 7.485099625058683e-02 7.494127304678436e-02 7.503136889191833e-02 7.512128371784581e-02 - 7.521101743547498e-02 7.530056981436373e-02 7.538994071268737e-02 7.547913007544443e-02 7.556813780083994e-02 - 7.565696374971752e-02 7.574560777501017e-02 7.583406981695588e-02 7.592234975180168e-02 7.601044736291800e-02 - 7.609836256769248e-02 7.618609528331391e-02 7.627364535037680e-02 7.636101265407126e-02 7.644819711937149e-02 - 7.653519868718589e-02 7.662201715447789e-02 7.670865230880411e-02 7.679510411035856e-02 7.688137246970578e-02 - 7.696745724207896e-02 7.705335828035317e-02 7.713907552614908e-02 7.722460893765626e-02 7.730995825366380e-02 - 7.739512330293280e-02 7.748010405365591e-02 7.756490042829636e-02 7.764951228919105e-02 7.773393946198498e-02 - 7.781818189157449e-02 7.790223948237281e-02 7.798611201876808e-02 7.806979939436651e-02 7.815330154059554e-02 - 7.823661834982702e-02 7.831974966729814e-02 7.840269536418043e-02 7.848545542109749e-02 7.856802968700778e-02 - 7.865041794492959e-02 7.873262009221961e-02 7.881463606524114e-02 7.889646578364969e-02 7.897810905385311e-02 - 7.905956578813299e-02 7.914083598393755e-02 7.922191938944982e-02 7.930281582198326e-02 7.938352526916173e-02 - 7.946404763288464e-02 7.954438277705837e-02 7.962453057021987e-02 7.970449093695484e-02 7.978426377009373e-02 - 7.986384886265184e-02 7.994324611178145e-02 8.002245546069972e-02 8.010147680163558e-02 8.018030998339011e-02 - 8.025895486859348e-02 8.033741142939121e-02 8.041567953647351e-02 8.049375898816008e-02 8.057164970191152e-02 - 8.064935159117341e-02 8.072686453538828e-02 8.080418841559016e-02 8.088132313650849e-02 8.095826861741187e-02 - 8.103502469212946e-02 8.111159121525567e-02 8.118796811657426e-02 8.126415526945288e-02 8.134015254787534e-02 - 8.141595988122388e-02 8.149157718184835e-02 8.156700432424771e-02 8.164224113093393e-02 8.171728750211138e-02 - 8.179214337283539e-02 8.186680860558979e-02 8.194128308109257e-02 8.201556671181809e-02 8.208965942384167e-02 - 8.216356107347705e-02 8.223727146913333e-02 8.231079055026533e-02 8.238411825286719e-02 8.245725445426123e-02 - 8.253019901019013e-02 8.260295182089074e-02 8.267551284923887e-02 8.274788192985057e-02 8.282005889192648e-02 - 8.289204367192234e-02 8.296383619751495e-02 8.303543635380874e-02 8.310684396376640e-02 8.317805898151856e-02 - 8.324908138250064e-02 8.331991092178788e-02 8.339054746670159e-02 8.346099098907200e-02 8.353124136246602e-02 - 8.360129848004999e-02 8.367116227251760e-02 8.374083263302687e-02 8.381030943134427e-02 8.387959252741883e-02 - 8.394868181167527e-02 8.401757720093640e-02 8.408627862550171e-02 8.415478594369409e-02 8.422309904154775e-02 - 8.429121790707177e-02 8.435914237533512e-02 8.442687225429805e-02 8.449440750560887e-02 8.456174803803686e-02 - 8.462889372267089e-02 8.469584447602406e-02 8.476260023136410e-02 8.482916090148240e-02 8.489552630009754e-02 - 8.496169630228255e-02 8.502767086164854e-02 8.509344988672647e-02 8.515903326018803e-02 8.522442086136313e-02 - 8.528961263471936e-02 8.535460848680074e-02 8.541940824041729e-02 8.548401181612168e-02 8.554841915131453e-02 - 8.561263012321893e-02 8.567664461211427e-02 8.574046253447680e-02 8.580408386832587e-02 8.586750845589863e-02 - 8.593073610333024e-02 8.599376680387132e-02 8.605660047760594e-02 8.611923696874126e-02 8.618167618396408e-02 - 8.624391807608472e-02 8.630596259724549e-02 8.636780954833972e-02 8.642945878839840e-02 8.649091029427977e-02 - 8.655216396695875e-02 8.661321970043215e-02 8.667407742210617e-02 8.673473702989365e-02 8.679519841504303e-02 - 8.685546148336530e-02 8.691552612855238e-02 8.697539224666265e-02 8.703505975750943e-02 8.709452857692032e-02 - 8.715379861893667e-02 8.721286980508075e-02 8.727174201224434e-02 8.733041510377958e-02 8.738888903629666e-02 - 8.744716372671989e-02 8.750523904187274e-02 8.756311491392924e-02 8.762079127795709e-02 8.767826803995526e-02 - 8.773554506310657e-02 8.779262223690780e-02 8.784949951260017e-02 8.790617682173207e-02 8.796265406226209e-02 - 8.801893109931651e-02 8.807500788687952e-02 8.813088437660771e-02 8.818656039674132e-02 8.824203585227545e-02 - 8.829731070095961e-02 8.835238486000704e-02 8.840725822106667e-02 8.846193068214857e-02 8.851640221803356e-02 - 8.857067273700293e-02 8.862474207580676e-02 8.867861014722141e-02 8.873227689758616e-02 8.878574227696898e-02 - 8.883900618220902e-02 8.889206851560667e-02 8.894492921167085e-02 8.899758815302622e-02 8.905004524008538e-02 - 8.910230044719054e-02 8.915435367300073e-02 8.920620479173334e-02 8.925785373448247e-02 8.930930045917142e-02 - 8.936054490961548e-02 8.941158695191696e-02 8.946242647641844e-02 8.951306341364354e-02 8.956349771969928e-02 - 8.961372931388180e-02 8.966375808278661e-02 8.971358396554302e-02 8.976320688963368e-02 8.981262675341668e-02 - 8.986184348935064e-02 8.991085703129179e-02 8.995966729258320e-02 9.000827417122792e-02 9.005667759770250e-02 - 9.010487756379584e-02 9.015287394264000e-02 9.020066659275561e-02 9.024825550203337e-02 9.029564061179933e-02 - 9.034282181894199e-02 9.038979902630290e-02 9.043657218570805e-02 9.048314126656666e-02 9.052950615463343e-02 - 9.057566675480395e-02 9.062162300961238e-02 9.066737484935303e-02 9.071292219781772e-02 9.075826498061153e-02 - 9.080340315127385e-02 9.084833664156222e-02 9.089306533771581e-02 9.093758915627431e-02 9.098190804149961e-02 - 9.102602195783284e-02 9.106993084471440e-02 9.111363462196023e-02 9.115713320054021e-02 9.120042650346059e-02 - 9.124351446434358e-02 9.128639702175202e-02 9.132907412994692e-02 9.137154573427010e-02 9.141381170435277e-02 - 9.145587198962597e-02 9.149772660800266e-02 9.153937542844172e-02 9.158081834977004e-02 9.162205535599281e-02 - 9.166308637778346e-02 9.170391133536025e-02 9.174453017072061e-02 9.178494285856946e-02 9.182514933661440e-02 - 9.186514945794547e-02 9.190494319482566e-02 9.194453054665523e-02 9.198391140758180e-02 9.202308569543158e-02 - 9.206205336702038e-02 9.210081441034919e-02 9.213936875086109e-02 9.217771627651770e-02 9.221585694962209e-02 - 9.225379072840771e-02 9.229151754885842e-02 9.232903734819613e-02 9.236635007909103e-02 9.240345570404732e-02 - 9.244035413434255e-02 9.247704529963750e-02 9.251352918345666e-02 9.254980573968512e-02 9.258587489795035e-02 - 9.262173657649034e-02 9.265739073985793e-02 9.269283735974691e-02 9.272807636276849e-02 9.276310769047050e-02 - 9.279793130272118e-02 9.283254716719631e-02 9.286695521394739e-02 9.290115536246511e-02 9.293514761281572e-02 - 9.296893192325742e-02 9.300250819824006e-02 9.303587638369953e-02 9.306903645092859e-02 9.310198837852499e-02 - 9.313473209662422e-02 9.316726755984403e-02 9.319959477466139e-02 9.323171364631608e-02 9.326362408592948e-02 - 9.329532610133226e-02 9.332681964339190e-02 9.335810464438972e-02 9.338918108249107e-02 9.342004893308628e-02 - 9.345070815580041e-02 9.348115868437977e-02 9.351140046962789e-02 9.354143348306601e-02 9.357125770365762e-02 - 9.360087308621738e-02 9.363027956518245e-02 9.365947710363894e-02 9.368846567300493e-02 9.371724524372237e-02 - 9.374581578300241e-02 9.377417725111503e-02 9.380232960142115e-02 9.383027280206080e-02 9.385800682788301e-02 - 9.388553164914089e-02 9.391284719773688e-02 9.393995342276806e-02 9.396685035781838e-02 9.399353796706621e-02 - 9.402001617537038e-02 9.404628495786660e-02 9.407234429781461e-02 9.409819417117830e-02 9.412383453169183e-02 - 9.414926534580341e-02 9.417448659641373e-02 9.419949825736050e-02 9.422430029380560e-02 9.424889267135104e-02 - 9.427327539998738e-02 9.429744844865905e-02 9.432141171534560e-02 9.434516522540957e-02 9.436870900006604e-02 - 9.439204294634228e-02 9.441516705436934e-02 9.443808133745002e-02 9.446078573953387e-02 9.448328023801857e-02 - 9.450556483411636e-02 9.452763950923013e-02 9.454950421611270e-02 9.457115890701832e-02 9.459260360830167e-02 - 9.461383832574666e-02 9.463486302352626e-02 9.465567765409444e-02 9.467628220109425e-02 9.469667668274938e-02 - 9.471686106967921e-02 9.473683533004949e-02 9.475659945563136e-02 9.477615343325803e-02 9.479549725292793e-02 - 9.481463091432241e-02 9.483355439545672e-02 9.485226766778346e-02 9.487077071788189e-02 9.488906353992572e-02 - 9.490714613644993e-02 9.492501852119042e-02 9.494268066964073e-02 9.496013253895599e-02 9.497737414244060e-02 - 9.499440547543551e-02 9.501122651272445e-02 9.502783728094538e-02 9.504423778187990e-02 9.506042797340242e-02 - 9.507640785191551e-02 9.509217742006319e-02 9.510773667189122e-02 9.512308563868060e-02 9.513822432123879e-02 - 9.515315264231193e-02 9.516787063845662e-02 9.518237836728226e-02 9.519667577724227e-02 9.521076284349063e-02 - 9.522463958294539e-02 9.523830604498588e-02 9.525176221483619e-02 9.526500804718509e-02 9.527804359769618e-02 - 9.529086886623650e-02 9.530348379689602e-02 9.531588845120076e-02 9.532808286166987e-02 9.534006699012688e-02 - 9.535184085361241e-02 9.536340447105748e-02 9.537475783364874e-02 9.538590095359538e-02 9.539683385237334e-02 - 9.540755654711666e-02 9.541806903829181e-02 9.542837132640679e-02 9.543846343230179e-02 9.544834536597921e-02 - 9.545801714100983e-02 9.546747880593646e-02 9.547673036184304e-02 9.548577178084619e-02 9.549460309483834e-02 - 9.550322434581640e-02 9.551163556335956e-02 9.551983673903520e-02 9.552782788036314e-02 9.553560902903191e-02 - 9.554318022933674e-02 9.555054148771730e-02 9.555769276632298e-02 9.556463412975340e-02 9.557136563747151e-02 - 9.557788725689133e-02 9.558419903459103e-02 9.559030102901959e-02 9.559619321427665e-02 9.560187562136102e-02 - 9.560734830883322e-02 9.561261127917654e-02 9.561766456108449e-02 9.562250820572099e-02 9.562714223416331e-02 - 9.563156666435306e-02 9.563578152405575e-02 9.563978686682097e-02 9.564358272631937e-02 9.564716910782914e-02 - 9.565054604965099e-02 9.565371359980702e-02 9.565667179877529e-02 9.565942066526258e-02 9.566196023293236e-02 - 9.566429057683135e-02 9.566641172752892e-02 9.566832368940979e-02 9.567002647518966e-02 9.567152016429874e-02 - 9.567280484915060e-02 9.567388053004788e-02 9.567474721294261e-02 9.567540493730267e-02 9.567585379392737e-02 - 9.567609383300600e-02 9.567612506298810e-02 9.567594754568214e-02 9.567556133790830e-02 9.567496647244744e-02 - 9.567416299512438e-02 9.567315095370396e-02 9.567193039196389e-02 9.567050136232016e-02 9.566886392120964e-02 - 9.566701812558283e-02 9.566496403827787e-02 9.566270170884209e-02 9.566023115264767e-02 9.565755243736668e-02 - 9.565466564791879e-02 9.565157080775241e-02 9.564826797386157e-02 9.564475723264595e-02 9.564103864027859e-02 - 9.563711223757489e-02 9.563297806735498e-02 9.562863621895812e-02 9.562408675116861e-02 9.561932968250994e-02 - 9.561436511583814e-02 9.560919313325968e-02 9.560381374743886e-02 9.559822704785555e-02 9.559243313048145e-02 - 9.558643203289170e-02 9.558022378864620e-02 9.557380846466877e-02 9.556718619530349e-02 9.556035703327785e-02 - 9.555332100122134e-02 9.554607821247386e-02 9.553862873475936e-02 9.553097259908433e-02 9.552310989218279e-02 - 9.551504070130773e-02 9.550676510186747e-02 9.549828317393894e-02 9.548959500356741e-02 9.548070067318166e-02 - 9.547160021295119e-02 9.546229369018946e-02 9.545278124506257e-02 9.544306292579091e-02 9.543313878273989e-02 - 9.542300894892854e-02 9.541267351639289e-02 9.540213254817664e-02 9.539138610562420e-02 9.538043425774057e-02 - 9.536927709152246e-02 9.535791472882026e-02 9.534634726779553e-02 9.533457478138217e-02 9.532259734256758e-02 - 9.531041503990305e-02 9.529802797105680e-02 9.528543620462085e-02 9.527263983869082e-02 9.525963900525855e-02 - 9.524643375927100e-02 9.523302417643500e-02 9.521941040061487e-02 9.520559252291068e-02 9.519157060486365e-02 - 9.517734471153570e-02 9.516291499670615e-02 9.514828160467456e-02 9.513344455080376e-02 9.511840393248631e-02 - 9.510315989360162e-02 9.508771251519674e-02 9.507206189457258e-02 9.505620814925633e-02 9.504015138530268e-02 - 9.502389169582724e-02 9.500742917228551e-02 9.499076394524120e-02 9.497389612890822e-02 9.495682580659018e-02 - 9.493955308203066e-02 9.492207807526097e-02 9.490440091330225e-02 9.488652168366014e-02 9.486844048723730e-02 - 9.485015747906970e-02 9.483167277063544e-02 9.481298644119306e-02 9.479409856622809e-02 9.477500930738031e-02 - 9.475571884085587e-02 9.473622721810367e-02 9.471653454723004e-02 9.469664098786204e-02 9.467654664635866e-02 - 9.465625162221861e-02 9.463575602621152e-02 9.461505999415500e-02 9.459416367044585e-02 9.457306719633034e-02 - 9.455177068421998e-02 9.453027423759350e-02 9.450857796468222e-02 9.448668199276268e-02 9.446458647203468e-02 - 9.444229157255099e-02 9.441979739649474e-02 9.439710403006842e-02 9.437421161454676e-02 9.435112031829759e-02 - 9.432783029179438e-02 9.430434160094567e-02 9.428065438538669e-02 9.425676883924589e-02 9.423268508508292e-02 - 9.420840322981890e-02 9.418392339716981e-02 9.415924578030670e-02 9.413437051700123e-02 9.410929767030043e-02 - 9.408402741009517e-02 9.405855992335012e-02 9.403289535840260e-02 9.400703383941893e-02 9.398097549341558e-02 - 9.395472046838550e-02 9.392826889502673e-02 9.390162091553057e-02 9.387477672023849e-02 9.384773645864139e-02 - 9.382050025947151e-02 9.379306828457251e-02 9.376544068778003e-02 9.373761760606118e-02 9.370959916011609e-02 - 9.368138552427184e-02 9.365297690930323e-02 9.362437342817573e-02 9.359557520850639e-02 9.356658243379877e-02 - 9.353739529945312e-02 9.350801394425273e-02 9.347843843855524e-02 9.344866901272440e-02 9.341870589097585e-02 - 9.338854915644307e-02 9.335819897637819e-02 9.332765555734250e-02 9.329691906420928e-02 9.326598960092489e-02 - 9.323486729288316e-02 9.320355242698486e-02 9.317204517635257e-02 9.314034562740874e-02 9.310845398153604e-02 - 9.307637042858882e-02 9.304409511565054e-02 9.301162817412864e-02 9.297896979469056e-02 9.294612022999450e-02 - 9.291307963943660e-02 9.287984815938743e-02 9.284642594887814e-02 9.281281319942865e-02 9.277901009754375e-02 - 9.274501679883909e-02 9.271083349621308e-02 9.267646039527271e-02 9.264189767811302e-02 9.260714551564306e-02 - 9.257220408228978e-02 9.253707357624473e-02 9.250175417101536e-02 9.246624602802385e-02 9.243054935165987e-02 - 9.239466434718238e-02 9.235859120974489e-02 9.232233012999355e-02 9.228588129454922e-02 9.224924488066757e-02 - 9.221242103323031e-02 9.217540995047416e-02 9.213821191347883e-02 9.210082709355732e-02 9.206325564930115e-02 - 9.202549780755387e-02 9.198755374602623e-02 9.194942363528436e-02 9.191110769995278e-02 9.187260614753277e-02 - 9.183391917841241e-02 9.179504701848260e-02 9.175598985687712e-02 9.171674785963810e-02 9.167732123351167e-02 - 9.163771019528422e-02 9.159791495855178e-02 9.155793572040530e-02 9.151777270193290e-02 9.147742614628342e-02 - 9.143689622063791e-02 9.139618310892414e-02 9.135528705455570e-02 9.131420824439858e-02 9.127294688450004e-02 - 9.123150325806001e-02 9.118987755991119e-02 9.114806996063474e-02 9.110608069642255e-02 9.106390998608170e-02 - 9.102155802996120e-02 9.097902503011562e-02 9.093631123402490e-02 9.089341690732793e-02 9.085034224655422e-02 - 9.080708743846595e-02 9.076365269164367e-02 9.072003828369785e-02 9.067624443485320e-02 9.063227129485288e-02 - 9.058811915193726e-02 9.054378827004000e-02 9.049927881221763e-02 9.045459103770109e-02 9.040972520178260e-02 - 9.036468147234690e-02 9.031946007844127e-02 9.027406127956829e-02 9.022848531585773e-02 9.018273243214560e-02 - 9.013680287341128e-02 9.009069686920407e-02 9.004441462623869e-02 8.999795635152021e-02 8.995132231203949e-02 - 8.990451276610797e-02 8.985752795281814e-02 8.981036812557305e-02 8.976303351703613e-02 8.971552434037033e-02 - 8.966784087291869e-02 8.961998334831080e-02 8.957195192338249e-02 8.952374693198487e-02 8.947536869631613e-02 - 8.942681737354224e-02 8.937809319632291e-02 8.932919644498671e-02 8.928012738635183e-02 8.923088623240803e-02 - 8.918147319450437e-02 8.913188858291199e-02 8.908213269254797e-02 8.903220577223506e-02 8.898210800726358e-02 - 8.893183965769864e-02 8.888140104180198e-02 8.883079233855783e-02 8.878001380541380e-02 8.872906581842580e-02 - 8.867794859494142e-02 8.862666233412557e-02 8.857520730323154e-02 8.852358381153494e-02 8.847179212845252e-02 - 8.841983243253916e-02 8.836770502123131e-02 8.831541022882371e-02 8.826294830990469e-02 8.821031949641793e-02 - 8.815752403748606e-02 8.810456224863354e-02 8.805143437639511e-02 8.799814063336710e-02 8.794468134879541e-02 - 8.789105684257616e-02 8.783726738270531e-02 8.778331316928159e-02 8.772919447874153e-02 8.767491167446911e-02 - 8.762046495069514e-02 8.756585454037039e-02 8.751108081839833e-02 8.745614408581825e-02 8.740104459021790e-02 - 8.734578256007368e-02 8.729035830815834e-02 8.723477214343743e-02 8.717902426868683e-02 8.712311501918556e-02 - 8.706704476846663e-02 8.701081371877695e-02 8.695442211628683e-02 8.689787027644420e-02 8.684115853767592e-02 - 8.678428714435096e-02 8.672725629439892e-02 8.667006642064547e-02 8.661271785522098e-02 8.655521075244504e-02 - 8.649754543067346e-02 8.643972223965939e-02 8.638174147222141e-02 8.632360334916610e-02 8.626530814542391e-02 - 8.620685627786050e-02 8.614824804295058e-02 8.608948367410735e-02 8.603056343813603e-02 8.597148768708160e-02 - 8.591225676580187e-02 8.585287085352321e-02 8.579333027004854e-02 8.573363543090719e-02 8.567378659419787e-02 - 8.561378404241062e-02 8.555362810687137e-02 8.549331906471129e-02 8.543285719635127e-02 8.537224281446841e-02 - 8.531147627953188e-02 8.525055791649624e-02 8.518948798167383e-02 8.512826679756995e-02 8.506689470133286e-02 - 8.500537199311337e-02 8.494369892596923e-02 8.488187579804041e-02 8.481990305210670e-02 8.475778099074194e-02 - 8.469550984763315e-02 8.463308996695838e-02 8.457052168539449e-02 8.450780530789033e-02 8.444494110975011e-02 - 8.438192942971584e-02 8.431877065438623e-02 8.425546507059704e-02 8.419201297696736e-02 8.412841471805475e-02 - 8.406467061549007e-02 8.400078097306259e-02 8.393674609180030e-02 8.387256634619757e-02 8.380824209666674e-02 - 8.374377362095807e-02 8.367916122870038e-02 8.361440526888680e-02 8.354950611900661e-02 8.348446403538942e-02 - 8.341927927704872e-02 8.335395233905314e-02 8.328848356223681e-02 8.322287316371958e-02 8.315712149574238e-02 - 8.309122893699929e-02 8.302519583647612e-02 8.295902243510637e-02 8.289270907781640e-02 8.282625623697057e-02 - 8.275966417678003e-02 8.269293318851907e-02 8.262606370095599e-02 8.255905601211083e-02 8.249191039312886e-02 - 8.242462718945633e-02 8.235720681988298e-02 8.228964967784431e-02 8.222195602541869e-02 8.215412621284769e-02 - 8.208616062445039e-02 8.201805954142698e-02 8.194982329150195e-02 8.188145225476894e-02 8.181294680713293e-02 - 8.174430731452863e-02 8.167553412282050e-02 8.160662752890076e-02 8.153758789030935e-02 8.146841562526554e-02 - 8.139911098330359e-02 8.132967428676124e-02 8.126010603531450e-02 8.119040656216225e-02 8.112057615694021e-02 - 8.105061517994502e-02 8.098052402265073e-02 8.091030303880128e-02 8.083995248093376e-02 8.076947276447492e-02 - 8.069886435754116e-02 8.062812754457355e-02 8.055726265736828e-02 8.048627008799529e-02 8.041515020636995e-02 - 8.034390332540668e-02 8.027252974489747e-02 8.020102993492553e-02 8.012940431195667e-02 8.005765317555476e-02 - 7.998577686939379e-02 7.991377577220368e-02 7.984165027334414e-02 7.976940065907111e-02 7.969702727793032e-02 - 7.962453065567111e-02 7.955191112254574e-02 7.947916895239987e-02 7.940630455590227e-02 7.933331833212637e-02 - 7.926021063894960e-02 7.918698178217287e-02 7.911363216326053e-02 7.904016223823181e-02 7.896657235187955e-02 - 7.889286283938438e-02 7.881903406306398e-02 7.874508643443230e-02 7.867102031060058e-02 7.859683599526633e-02 - 7.852253395767629e-02 7.844811463098400e-02 7.837357831424305e-02 7.829892537205134e-02 7.822415619643758e-02 - 7.814927116484589e-02 7.807427062910767e-02 7.799915496813195e-02 7.792392464520610e-02 7.784858004657273e-02 - 7.777312150359181e-02 7.769754936428309e-02 7.762186403791040e-02 7.754606594385612e-02 7.747015537442642e-02 - 7.739413273994507e-02 7.731799855521804e-02 7.724175314852555e-02 7.716539684747571e-02 7.708893004657069e-02 - 7.701235315053030e-02 7.693566653742440e-02 7.685887055661017e-02 7.678196565918903e-02 7.670495227727288e-02 - 7.662783073280909e-02 7.655060142689749e-02 7.647326478202995e-02 7.639582115595660e-02 7.631827089499127e-02 - 7.624061438211467e-02 7.616285210329320e-02 7.608498447266238e-02 7.600701183814436e-02 7.592893457493513e-02 - 7.585075308733022e-02 7.577246778116596e-02 7.569407897223836e-02 7.561558707997214e-02 7.553699264667676e-02 - 7.545829602219666e-02 7.537949752159374e-02 7.530059752746436e-02 7.522159652110559e-02 7.514249491290788e-02 - 7.506329293711217e-02 7.498399108869409e-02 7.490458989985715e-02 7.482508965268882e-02 7.474549074308040e-02 - 7.466579363230305e-02 7.458599868473173e-02 7.450610623924510e-02 7.442611667561436e-02 7.434603053570255e-02 - 7.426584824442337e-02 7.418557009969678e-02 7.410519651333995e-02 7.402472793153594e-02 7.394416477978479e-02 - 7.386350736456949e-02 7.378275607823381e-02 7.370191147772952e-02 7.362097394239986e-02 7.353994380500382e-02 - 7.345882147239775e-02 7.337760740248925e-02 7.329630201371148e-02 7.321490559729334e-02 7.313341861868546e-02 - 7.305184160923943e-02 7.297017492620234e-02 7.288841893034562e-02 7.280657402242413e-02 7.272464064227188e-02 - 7.264261917439505e-02 7.256050997585588e-02 7.247831356170273e-02 7.239603038649280e-02 7.231366079163171e-02 - 7.223120520116612e-02 7.214866404160214e-02 7.206603769517569e-02 7.198332653777370e-02 7.190053098792457e-02 - 7.181765153838118e-02 7.173468863077177e-02 7.165164265282598e-02 7.156851395212357e-02 7.148530298289761e-02 - 7.140201021117390e-02 7.131863593482980e-02 7.123518058493326e-02 7.115164469180060e-02 7.106802866653637e-02 - 7.098433289103630e-02 7.090055775733806e-02 7.081670370962735e-02 7.073277114629017e-02 7.064876042084919e-02 - 7.056467204467058e-02 7.048050649359339e-02 7.039626411522021e-02 7.031194531783586e-02 7.022755055007633e-02 - 7.014308026270048e-02 7.005853477507426e-02 6.997391445865883e-02 6.988921994223606e-02 6.980445161374127e-02 - 6.971960976161336e-02 6.963469490630880e-02 6.954970749457975e-02 6.946464787470261e-02 6.937951638488904e-02 - 6.929431352344900e-02 6.920903988440608e-02 6.912369577614699e-02 6.903828154824053e-02 6.895279768813133e-02 - 6.886724462309453e-02 6.878162274040467e-02 6.869593242264821e-02 6.861017418575431e-02 6.852434851303352e-02 - 6.843845573229547e-02 6.835249626715924e-02 6.826647058722328e-02 6.818037912112360e-02 6.809422221022603e-02 - 6.800800023353686e-02 6.792171381432285e-02 6.783536337902803e-02 6.774894920974223e-02 6.766247176656806e-02 - 6.757593152448671e-02 6.748932891036163e-02 6.740266425451470e-02 6.731593799992638e-02 6.722915072040272e-02 - 6.714230278026269e-02 6.705539454984789e-02 6.696842651283096e-02 6.688139909018249e-02 6.679431266253504e-02 - 6.670716761081900e-02 6.661996446504156e-02 6.653270374249923e-02 6.644538575792285e-02 6.635801090742725e-02 - 6.627057965598744e-02 6.618309245387675e-02 6.609554968705872e-02 6.600795173819872e-02 6.592029914958422e-02 - 6.583259238307172e-02 6.574483179767340e-02 6.565701780669353e-02 6.556915085921187e-02 6.548123140723705e-02 - 6.539325979064996e-02 6.530523643565112e-02 6.521716192687264e-02 6.512903665438342e-02 6.504086097557776e-02 - 6.495263535156262e-02 6.486436022769713e-02 6.477603601048113e-02 6.468766306269763e-02 6.459924187637454e-02 - 6.451077298036002e-02 6.442225675573160e-02 6.433369358016772e-02 6.424508387319842e-02 6.415642813133042e-02 - 6.406772674084167e-02 6.397898002556264e-02 6.389018858464109e-02 6.380135290132970e-02 6.371247325592760e-02 - 6.362355010153516e-02 6.353458392277617e-02 6.344557514446422e-02 6.335652411846264e-02 6.326743126079815e-02 - 6.317829713990436e-02 6.308912216326193e-02 6.299990668862973e-02 6.291065117630994e-02 6.282135608306753e-02 - 6.273202182393535e-02 6.264264873955985e-02 6.255323731562341e-02 6.246378810230178e-02 6.237430143094801e-02 - 6.228477769978175e-02 6.219521740601344e-02 6.210562097707054e-02 6.201598879095212e-02 6.192632121693314e-02 - 6.183661876812600e-02 6.174688193928092e-02 6.165711112558074e-02 6.156730673780070e-02 6.147746920022401e-02 - 6.138759893800432e-02 6.129769633241683e-02 6.120776180293847e-02 6.111779589683188e-02 6.102779903735479e-02 - 6.093777158500626e-02 6.084771398591046e-02 6.075762667844817e-02 6.066751007308262e-02 6.057736455111417e-02 - 6.048719057054321e-02 6.039698864588414e-02 6.030675917961215e-02 6.021650256672047e-02 6.012621923377075e-02 - 6.003590961818356e-02 5.994557411659043e-02 5.985521308639186e-02 5.976482706463886e-02 5.967441656528669e-02 - 5.958398192281734e-02 5.949352353003544e-02 5.940304183449088e-02 5.931253730252380e-02 5.922201027916447e-02 - 5.913146112197507e-02 5.904089044032181e-02 5.895029868043596e-02 5.885968615096351e-02 5.876905326755812e-02 - 5.867840050492581e-02 5.858772833116550e-02 5.849703703991720e-02 5.840632705235495e-02 5.831559896255584e-02 - 5.822485314806121e-02 5.813408997000494e-02 5.804330987759122e-02 5.795251328764216e-02 5.786170059865808e-02 - 5.777087221384987e-02 5.768002859772193e-02 5.758917021647553e-02 5.749829746896256e-02 5.740741077575853e-02 - 5.731651056875526e-02 5.722559725171274e-02 5.713467118430270e-02 5.704373274635539e-02 5.695278249332581e-02 - 5.686182088614487e-02 5.677084826809927e-02 5.667986504336005e-02 5.658887165217444e-02 5.649786853613976e-02 - 5.640685602792318e-02 5.631583453941855e-02 5.622480462822738e-02 5.613376666437993e-02 5.604272100502515e-02 - 5.595166813210956e-02 5.586060845174765e-02 5.576954232437998e-02 5.567847012652845e-02 5.558739236715193e-02 - 5.549630955542323e-02 5.540522197136583e-02 5.531413002536285e-02 5.522303422299683e-02 5.513193492275553e-02 - 5.504083247717721e-02 5.494972729209355e-02 5.485861988753332e-02 5.476751071228679e-02 5.467640010379995e-02 - 5.458528846418693e-02 5.449417622493567e-02 5.440306381105370e-02 5.431195155656662e-02 5.422083985771245e-02 - 5.412972927459819e-02 5.403862019627870e-02 5.394751295390937e-02 5.385640797531270e-02 5.376530569364821e-02 - 5.367420650537214e-02 5.358311072889269e-02 5.349201882499156e-02 5.340093132499041e-02 5.330984856991542e-02 - 5.321877091980749e-02 5.312769879767464e-02 5.303663263591166e-02 5.294557280318667e-02 5.285451962473617e-02 - 5.276347361952855e-02 5.267243525955664e-02 5.258140485845194e-02 5.249038280640431e-02 5.239936952998326e-02 - 5.230836544276557e-02 5.221737088032564e-02 5.212638621732711e-02 5.203541199430900e-02 5.194444860919033e-02 - 5.185349638284296e-02 5.176255572471577e-02 5.167162705674897e-02 5.158071077330502e-02 5.148980718747074e-02 - 5.139891673261619e-02 5.130803993485430e-02 5.121717713356427e-02 5.112632867301793e-02 5.103549496777923e-02 - 5.094467643725986e-02 5.085387344650644e-02 5.076308630673339e-02 5.067231551219451e-02 5.058156153920812e-02 - 5.049082469322039e-02 5.040010534612100e-02 5.030940391348503e-02 5.021872080090227e-02 5.012805633824483e-02 - 5.003741087422633e-02 4.994678493647212e-02 4.985617892926745e-02 4.976559315779018e-02 4.967502801470126e-02 - 4.958448390876292e-02 4.949396122643934e-02 4.940346027599988e-02 4.931298146262254e-02 4.922252530167843e-02 - 4.913209213539834e-02 4.904168229174269e-02 4.895129616994274e-02 4.886093417404704e-02 4.877059666413559e-02 - 4.868028394034647e-02 4.858999646754281e-02 4.849973472130898e-02 4.840949900241633e-02 4.831928966152828e-02 - 4.822910709871525e-02 4.813895171199074e-02 4.804882382564480e-02 4.795872376124456e-02 4.786865202942978e-02 - 4.777860903855367e-02 4.768859507592742e-02 4.759861051627762e-02 4.750865575639699e-02 4.741873117406014e-02 - 4.732883706721817e-02 4.723897381137243e-02 4.714914191200375e-02 4.705934171189571e-02 4.696957351961628e-02 - 4.687983771740974e-02 4.679013469431771e-02 4.670046480338604e-02 4.661082833156779e-02 4.652122571187634e-02 - 4.643165741520618e-02 4.634212373882778e-02 4.625262501422293e-02 4.616316162482947e-02 4.607373395212459e-02 - 4.598434231610999e-02 4.589498701904484e-02 4.580566854223844e-02 4.571638729424802e-02 4.562714355109129e-02 - 4.553793766452621e-02 4.544877001582995e-02 4.535964097502848e-02 4.527055082898004e-02 4.518149992236756e-02 - 4.509248874970542e-02 4.500351765014129e-02 4.491458690878355e-02 4.482569689376779e-02 4.473684797939540e-02 - 4.464804050747698e-02 4.455927474828068e-02 4.447055110499822e-02 4.438187004531898e-02 4.429323185876936e-02 - 4.420463685202721e-02 4.411608538888854e-02 4.402757783926076e-02 4.393911451733543e-02 4.385069570127949e-02 - 4.376232184208732e-02 4.367399334643604e-02 4.358571047769912e-02 4.349747356709084e-02 4.340928298020802e-02 - 4.332113907381294e-02 4.323304212320113e-02 4.314499244129432e-02 4.305699050668390e-02 4.296903665620930e-02 - 4.288113115167341e-02 4.279327434447749e-02 4.270546659199307e-02 4.261770822231841e-02 4.252999949469098e-02 - 4.244234077853745e-02 4.235473252680039e-02 4.226717502474875e-02 4.217966855846760e-02 4.209221347273914e-02 - 4.200481011967518e-02 4.191745880279663e-02 4.183015977695443e-02 4.174291346429643e-02 4.165572027077732e-02 - 4.156858044734360e-02 4.148149429654668e-02 4.139446216241891e-02 4.130748439363172e-02 4.122056125606220e-02 - 4.113369302794675e-02 4.104688016346336e-02 4.096012300095512e-02 4.087342178434451e-02 4.078677683583759e-02 - 4.070018849668031e-02 4.061365708919899e-02 4.052718285106741e-02 4.044076611819490e-02 4.035440733833207e-02 - 4.026810678092279e-02 4.018186470341873e-02 4.009568143909095e-02 4.000955732298062e-02 3.992349264534106e-02 - 3.983748763759326e-02 3.975154269055037e-02 3.966565820546299e-02 3.957983441649049e-02 3.949407160357907e-02 - 3.940837009289332e-02 3.932273021031552e-02 3.923715221270428e-02 3.915163635394041e-02 3.906618306202975e-02 - 3.898079266950179e-02 3.889546539672872e-02 3.881020154253283e-02 3.872500143016262e-02 3.863986536923758e-02 - 3.855479358615301e-02 3.846978637959592e-02 3.838484417257106e-02 3.829996723484980e-02 3.821515580420295e-02 - 3.813041018714970e-02 3.804573069687705e-02 3.796111761198420e-02 3.787657114752344e-02 3.779209165765486e-02 - 3.770767953120019e-02 3.762333499040284e-02 3.753905829251161e-02 3.745484974542636e-02 3.737070965331050e-02 - 3.728663825939783e-02 3.720263578933122e-02 3.711870264209954e-02 3.703483914671073e-02 3.695104550519348e-02 - 3.686732199057993e-02 3.678366890490292e-02 3.670008654113079e-02 3.661657511036890e-02 3.653313487804630e-02 - 3.644976625150438e-02 3.636646948823320e-02 3.628324479604935e-02 3.620009246605282e-02 3.611701279349350e-02 - 3.603400604041686e-02 3.595107239910939e-02 3.586821219020735e-02 3.578542579441001e-02 3.570271341631447e-02 - 3.562007528519529e-02 3.553751169069794e-02 3.545502291550906e-02 3.537260919186706e-02 3.529027072401183e-02 - 3.520800787214007e-02 3.512582095428173e-02 3.504371015751370e-02 3.496167573051010e-02 3.487971795476078e-02 - 3.479783710598274e-02 3.471603337811516e-02 3.463430699965583e-02 3.455265835796009e-02 3.447108770848941e-02 - 3.438959523450754e-02 3.430818119554624e-02 3.422684586511945e-02 3.414558949343227e-02 3.406441225419257e-02 - 3.398331443038755e-02 3.390229638782512e-02 3.382135832287533e-02 3.374050043789544e-02 3.365972299780525e-02 - 3.357902626321113e-02 3.349841045119794e-02 3.341787574130316e-02 3.333742246166845e-02 3.325705092272905e-02 - 3.317676129391954e-02 3.309655379649919e-02 3.301642868788483e-02 3.293638622159571e-02 3.285642658240021e-02 - 3.277654996949401e-02 3.269675673538998e-02 3.261704712715797e-02 3.253742130855802e-02 3.245787951722746e-02 - 3.237842200259459e-02 3.229904899349424e-02 3.221976065258773e-02 3.214055722659278e-02 3.206143905506719e-02 - 3.198240632628265e-02 3.190345921865954e-02 3.182459797365254e-02 3.174582282841434e-02 3.166713398447476e-02 - 3.158853160183031e-02 3.151001597036992e-02 3.143158738592136e-02 3.135324600516137e-02 3.127499202279022e-02 - 3.119682567104914e-02 3.111874718036912e-02 3.104075672462514e-02 3.096285447683152e-02 3.088504075536903e-02 - 3.080731579690068e-02 3.072967974437236e-02 3.065213281019982e-02 3.057467522135681e-02 3.049730718652442e-02 - 3.042002885157935e-02 3.034284042889533e-02 3.026574223701538e-02 3.018873445294931e-02 3.011181722724549e-02 - 3.003499077734359e-02 2.995825532248887e-02 2.988161104857855e-02 2.980505808548691e-02 2.972859668986686e-02 - 2.965222714891759e-02 2.957594959806504e-02 2.949976420500935e-02 2.942367118266701e-02 2.934767073798247e-02 - 2.927176302885600e-02 2.919594820074298e-02 2.912022654108078e-02 2.904459827654108e-02 2.896906352751058e-02 - 2.889362247668933e-02 2.881827533028623e-02 2.874302228403363e-02 2.866786346167200e-02 2.859279903706265e-02 - 2.851782931145582e-02 2.844295445253672e-02 2.836817458182308e-02 2.829348988995876e-02 2.821890057629359e-02 - 2.814440681221589e-02 2.807000870175516e-02 2.799570646465742e-02 2.792150037589211e-02 2.784739055623231e-02 - 2.777337714638600e-02 2.769946033688953e-02 2.762564030841585e-02 2.755191720229608e-02 2.747829114116882e-02 - 2.740476237631904e-02 2.733133112357609e-02 2.725799748998750e-02 2.718476162641247e-02 2.711162371095654e-02 - 2.703858392279279e-02 2.696564237390275e-02 2.689279920452167e-02 2.682005468428394e-02 2.674740897239565e-02 - 2.667486216835663e-02 2.660241443488607e-02 2.653006594727732e-02 2.645781686062815e-02 2.638566726160998e-02 - 2.631361733435826e-02 2.624166733570949e-02 2.616981737012440e-02 2.609806754771221e-02 2.602641803533937e-02 - 2.595486900051258e-02 2.588342056814261e-02 2.581207282360541e-02 2.574082599292273e-02 2.566968028470076e-02 - 2.559863577456860e-02 2.552769259041796e-02 2.545685089381796e-02 2.538611083889939e-02 2.531547252137675e-02 - 2.524493605061727e-02 2.517450166747065e-02 2.510416952086314e-02 2.503393968681819e-02 2.496381230163825e-02 - 2.489378751859868e-02 2.482386547683629e-02 2.475404624292582e-02 2.468432996264991e-02 2.461471687229032e-02 - 2.454520706873932e-02 2.447580063686782e-02 2.440649771598710e-02 2.433729844997764e-02 2.426820294893469e-02 - 2.419921127712116e-02 2.413032362216684e-02 2.406154017790910e-02 2.399286100816565e-02 2.392428621229386e-02 - 2.385581592554643e-02 2.378745028409909e-02 2.371918936700126e-02 2.365103325041379e-02 2.358298215018098e-02 - 2.351503620457756e-02 2.344719546326070e-02 2.337946004127276e-02 2.331183006962702e-02 2.324430566419196e-02 - 2.317688687789637e-02 2.310957382435168e-02 2.304236671579298e-02 2.297526563441205e-02 2.290827063843882e-02 - 2.284138184722980e-02 2.277459938171355e-02 2.270792333404544e-02 2.264135374860772e-02 2.257489077729924e-02 - 2.250853459738779e-02 2.244228525780410e-02 2.237614283279474e-02 2.231010743473913e-02 2.224417917668724e-02 - 2.217835812285958e-02 2.211264432248330e-02 2.204703795931322e-02 2.198153916317220e-02 2.191614796666107e-02 - 2.185086445220271e-02 2.178568872592581e-02 2.172062089111306e-02 2.165566098457172e-02 2.159080908357505e-02 - 2.152606537366001e-02 2.146142993110024e-02 2.139690279242156e-02 2.133248404619538e-02 2.126817379406035e-02 - 2.120397211607284e-02 2.113987903003668e-02 2.107589465469217e-02 2.101201915594272e-02 2.094825256288664e-02 - 2.088459492231405e-02 2.082104632696408e-02 2.075760686991806e-02 2.069427660166107e-02 2.063105554609518e-02 - 2.056794384972622e-02 2.050494162894281e-02 2.044204890243054e-02 2.037926573000831e-02 2.031659219454509e-02 - 2.025402837653619e-02 2.019157429898307e-02 2.012923000978476e-02 2.006699566765361e-02 2.000487133731908e-02 - 1.994285703240835e-02 1.988095281849638e-02 1.981915877663429e-02 1.975747497137283e-02 1.969590139839621e-02 - 1.963443814246610e-02 1.957308535571834e-02 1.951184305296579e-02 1.945071125524195e-02 1.938969003470093e-02 - 1.932877945979973e-02 1.926797956444602e-02 1.920729035294688e-02 1.914671194302782e-02 1.908624443873623e-02 - 1.902588783798898e-02 1.896564217312377e-02 1.890550750534374e-02 1.884548390173623e-02 1.878557136933607e-02 - 1.872576992282937e-02 1.866607969751645e-02 1.860650074902563e-02 1.854703306920867e-02 1.848767670108510e-02 - 1.842843170242723e-02 1.836929811895166e-02 1.831027593341436e-02 1.825136519709141e-02 1.819256603897189e-02 - 1.813387846842225e-02 1.807530248298604e-02 1.801683812530333e-02 1.795848544988909e-02 1.790024447932676e-02 - 1.784211518704799e-02 1.778409766075985e-02 1.772619199567190e-02 1.766839817113224e-02 1.761071619932593e-02 - 1.755314612276550e-02 1.749568797940397e-02 1.743834176385679e-02 1.738110747126647e-02 1.732398520795971e-02 - 1.726697501687009e-02 1.721007686976607e-02 1.715329079150987e-02 1.709661681774517e-02 1.704005496995066e-02 - 1.698360522175755e-02 1.692726759648597e-02 1.687104219632033e-02 1.681492902190890e-02 1.675892805218375e-02 - 1.670303930866012e-02 1.664726282100333e-02 1.659159859573434e-02 1.653604659349284e-02 1.648060687061485e-02 - 1.642527950537791e-02 1.637006446137386e-02 1.631496172845883e-02 1.625997133117372e-02 1.620509328829045e-02 - 1.615032758053278e-02 1.609567417924041e-02 1.604113316306734e-02 1.598670456411958e-02 1.593238833576510e-02 - 1.587818448257840e-02 1.582409302120838e-02 1.577011395254391e-02 1.571624723647299e-02 1.566249287063067e-02 - 1.560885093721684e-02 1.555532142372995e-02 1.550190428691725e-02 1.544859953345741e-02 1.539540716895692e-02 - 1.534232718045593e-02 1.528935952298772e-02 1.523650422043375e-02 1.518376132655854e-02 1.513113080051426e-02 - 1.507861261080395e-02 1.502620675643192e-02 1.497391324399307e-02 1.492173204313831e-02 1.486966309840608e-02 - 1.481770646058926e-02 1.476586215324725e-02 1.471413011485714e-02 1.466251032223325e-02 1.461100277337298e-02 - 1.455960746411957e-02 1.450832433725036e-02 1.445715335761371e-02 1.440609458945226e-02 1.435514801148310e-02 - 1.430431355790390e-02 1.425359121341204e-02 1.420298097105418e-02 1.415248280845771e-02 1.410209665546564e-02 - 1.405182250942155e-02 1.400166041623447e-02 1.395161031395394e-02 1.390167215017196e-02 1.385184591619880e-02 - 1.380213159317199e-02 1.375252913341631e-02 1.370303846818604e-02 1.365365962256361e-02 1.360439260851619e-02 - 1.355523734898775e-02 1.350619380184460e-02 1.345726194685572e-02 1.340844175819677e-02 1.335973317080697e-02 - 1.331113613029375e-02 1.326265067233158e-02 1.321427676765317e-02 1.316601433678336e-02 1.311786334248669e-02 - 1.306982375879771e-02 1.302189555021592e-02 1.297407863461756e-02 1.292637298076667e-02 1.287877861455418e-02 - 1.283129547339001e-02 1.278392348592105e-02 1.273666261347862e-02 1.268951282495219e-02 1.264247406704279e-02 - 1.259554625321822e-02 1.254872937642621e-02 1.250202343522368e-02 1.245542834900525e-02 1.240894405313941e-02 - 1.236257050462080e-02 1.231630767029411e-02 1.227015547343941e-02 1.222411383176151e-02 1.217818275998809e-02 - 1.213236222220244e-02 1.208665212384520e-02 1.204105241018576e-02 1.199556303854240e-02 1.195018395838791e-02 - 1.190491507365890e-02 1.185975632952753e-02 1.181470773836339e-02 1.176976922480089e-02 1.172494069835479e-02 - 1.168022211004454e-02 1.163561340968965e-02 1.159111452823667e-02 1.154672536811994e-02 1.150244589927961e-02 - 1.145827610670764e-02 1.141421589534856e-02 1.137026518661645e-02 1.132642392502224e-02 1.128269205281729e-02 - 1.123906948383837e-02 1.119555612518262e-02 1.115215196588227e-02 1.110885695891592e-02 1.106567099667937e-02 - 1.102259400831050e-02 1.097962593601935e-02 1.093676671505125e-02 1.089401623812122e-02 1.085137442757511e-02 - 1.080884127911701e-02 1.076641671182367e-02 1.072410061923310e-02 1.068189293399554e-02 1.063979359231152e-02 - 1.059780251428707e-02 1.055591958418482e-02 1.051414475108346e-02 1.047247799305691e-02 1.043091920126454e-02 - 1.038946827795377e-02 1.034812515386981e-02 1.030688975996647e-02 1.026576200007446e-02 1.022474176231751e-02 - 1.018382901647819e-02 1.014302370834395e-02 1.010232571551464e-02 1.006173495028295e-02 1.002125134058496e-02 - 9.980874808217161e-03 9.940605238090998e-03 9.900442533803457e-03 9.860386673211879e-03 9.820437566105797e-03 - 9.780595089730604e-03 9.740859166502601e-03 9.701229717604148e-03 9.661706648486619e-03 9.622289837555094e-03 - 9.582979211676392e-03 9.543774731762645e-03 9.504676285752028e-03 9.465683761437204e-03 9.426797070527869e-03 - 9.388016130061547e-03 9.349340837763126e-03 9.310771071700266e-03 9.272306774287777e-03 9.233947879847340e-03 - 9.195694263233465e-03 9.157545820041815e-03 9.119502462398593e-03 9.081564104605406e-03 9.043730620594144e-03 - 9.006001891771507e-03 8.968377884117109e-03 8.930858503326412e-03 8.893443610144467e-03 8.856133108771761e-03 - 8.818926910576046e-03 8.781824915337199e-03 8.744826984807866e-03 8.707933026764444e-03 8.671142997995955e-03 - 8.634456771198624e-03 8.597874217863410e-03 8.561395247729468e-03 8.525019762147885e-03 8.488747643810387e-03 - 8.452578758551675e-03 8.416513035074836e-03 8.380550402064440e-03 8.344690718755845e-03 8.308933866062409e-03 - 8.273279745485652e-03 8.237728259206089e-03 8.202279277607399e-03 8.166932668725525e-03 8.131688373197346e-03 - 8.096546291813443e-03 8.061506280849479e-03 8.026568229604077e-03 7.991732033790425e-03 7.956997581179438e-03 - 7.922364735477982e-03 7.887833385768220e-03 7.853403460644042e-03 7.819074838170454e-03 7.784847385209607e-03 - 7.750720988388416e-03 7.716695538073770e-03 7.682770912288046e-03 7.648946965667346e-03 7.615223607644973e-03 - 7.581600758648286e-03 7.548078272068747e-03 7.514656018308716e-03 7.481333888256649e-03 7.448111767084748e-03 - 7.414989518558892e-03 7.381967002509678e-03 7.349044141005179e-03 7.316220829119200e-03 7.283496916229069e-03 - 7.250872276568530e-03 7.218346796125786e-03 7.185920358959778e-03 7.153592811909379e-03 7.121364026156801e-03 - 7.089233934032213e-03 7.057202401526107e-03 7.025269274784423e-03 6.993434437254338e-03 6.961697770726437e-03 - 6.930059144137623e-03 6.898518406074085e-03 6.867075445461445e-03 6.835730169890301e-03 6.804482436531050e-03 - 6.773332103630715e-03 6.742279042830752e-03 6.711323134446215e-03 6.680464239400761e-03 6.649702204950062e-03 - 6.619036937093537e-03 6.588468325547939e-03 6.557996212108587e-03 6.527620458965777e-03 6.497340941897300e-03 - 6.467157538628341e-03 6.437070090473932e-03 6.407078453159759e-03 6.377182548096138e-03 6.347382238649846e-03 - 6.317677359750170e-03 6.288067782822399e-03 6.258553381641384e-03 6.229134019133821e-03 6.199809533909972e-03 - 6.170579803332374e-03 6.141444731866248e-03 6.112404164377095e-03 6.083457948651627e-03 6.054605954063168e-03 - 6.025848047899531e-03 5.997184082520315e-03 5.968613898555075e-03 5.940137388272029e-03 5.911754435973001e-03 - 5.883464876798197e-03 5.855268565478542e-03 5.827165369238958e-03 5.799155152943781e-03 5.771237757858197e-03 - 5.743413031370796e-03 5.715680873423079e-03 5.688041146137241e-03 5.660493683352233e-03 5.633038344713090e-03 - 5.605674994693767e-03 5.578403490874967e-03 5.551223666073857e-03 5.524135383482108e-03 5.497138538622371e-03 - 5.470232973711985e-03 5.443418527865922e-03 5.416695061766649e-03 5.390062436684385e-03 5.363520500801443e-03 - 5.337069085950208e-03 5.310708070645691e-03 5.284437334686721e-03 5.258256709167105e-03 5.232166039984466e-03 - 5.206165186351173e-03 5.180254006079314e-03 5.154432337116667e-03 5.128700017566677e-03 5.103056934758595e-03 - 5.077502948400768e-03 5.052037887552509e-03 5.026661602896529e-03 5.001373950974750e-03 4.976174783805283e-03 - 4.951063931174483e-03 4.926041244835856e-03 4.901106610871052e-03 4.876259869861805e-03 4.851500854152867e-03 - 4.826829416485723e-03 4.802245411238555e-03 4.777748682676776e-03 4.753339057595283e-03 4.729016402174706e-03 - 4.704780591018902e-03 4.680631452386119e-03 4.656568824906738e-03 4.632592561043116e-03 4.608702512089780e-03 - 4.584898512841469e-03 4.561180394112987e-03 4.537548032865621e-03 4.514001286180084e-03 4.490539978046344e-03 - 4.467163952568486e-03 4.443873060291688e-03 4.420667147623122e-03 4.397546041481102e-03 4.374509584352294e-03 - 4.351557654555007e-03 4.328690090868674e-03 4.305906719484884e-03 4.283207387010587e-03 4.260591942258349e-03 - 4.238060226010617e-03 4.215612060889534e-03 4.193247302342208e-03 4.170965820265097e-03 4.148767441443334e-03 - 4.126651998168965e-03 4.104619336614093e-03 4.082669303050944e-03 4.060801730082235e-03 4.039016442831475e-03 - 4.017313308452854e-03 3.995692181792875e-03 3.974152883344686e-03 3.952695251163741e-03 3.931319130911208e-03 - 3.910024364917125e-03 3.888810777810686e-03 3.867678204037116e-03 3.846626514691173e-03 3.825655547709963e-03 - 3.804765124734014e-03 3.783955087456414e-03 3.763225279741349e-03 3.742575538839424e-03 3.722005684569956e-03 - 3.701515563829318e-03 3.681105042529648e-03 3.660773945892437e-03 3.640522100973796e-03 3.620349349516141e-03 - 3.600255533338096e-03 3.580240483202974e-03 3.560304020332013e-03 3.540446002992503e-03 3.520666284206718e-03 - 3.500964682823155e-03 3.481341031384374e-03 3.461795171007476e-03 3.442326941040924e-03 3.422936165061433e-03 - 3.403622671201535e-03 3.384386323473485e-03 3.365226959961049e-03 3.346144399498565e-03 3.327138478378434e-03 - 3.308209036536853e-03 3.289355909461925e-03 3.270578915351533e-03 3.251877893639187e-03 3.233252706195778e-03 - 3.214703178029928e-03 3.196229132118811e-03 3.177830406368320e-03 3.159506839403438e-03 3.141258260810600e-03 - 3.123084488811596e-03 3.104985374197366e-03 3.086960768611876e-03 3.069010490077185e-03 3.051134366997480e-03 - 3.033332237019262e-03 3.015603936903380e-03 2.997949290147841e-03 2.980368120588831e-03 2.962860285290425e-03 - 2.945425622240710e-03 2.928063948810786e-03 2.910775098113858e-03 2.893558906982335e-03 2.876415208617919e-03 - 2.859343821344898e-03 2.842344578930633e-03 2.825417338731532e-03 2.808561926446875e-03 2.791778162629514e-03 - 2.775065882662152e-03 2.758424922052246e-03 2.741855109318431e-03 2.725356262118107e-03 2.708928224810950e-03 - 2.692570847204586e-03 2.676283947708203e-03 2.660067352018658e-03 2.643920895408666e-03 2.627844412630983e-03 - 2.611837727127577e-03 2.595900659591014e-03 2.580033062057212e-03 2.564234773200918e-03 2.548505609580814e-03 - 2.532845401329118e-03 2.517253983314282e-03 2.501731188088862e-03 2.486276834298587e-03 2.470890751027053e-03 - 2.455572791828030e-03 2.440322784214469e-03 2.425140547489158e-03 2.410025914370114e-03 2.394978718743150e-03 - 2.379998789312335e-03 2.365085943631231e-03 2.350240020749269e-03 2.335460868942443e-03 2.320748308349550e-03 - 2.306102163022297e-03 2.291522266200105e-03 2.277008450857895e-03 2.262560541519312e-03 2.248178358404482e-03 - 2.233861748393963e-03 2.219610550590767e-03 2.205424582540762e-03 2.191303672653564e-03 2.177247654150935e-03 - 2.163256358437406e-03 2.149329606085116e-03 2.135467224025938e-03 2.121669062135428e-03 2.107934949596006e-03 - 2.094264705479671e-03 2.080658161247730e-03 2.067115150052171e-03 2.053635501035216e-03 2.040219032033609e-03 - 2.026865578574763e-03 2.013574988607888e-03 2.000347084189316e-03 1.987181688126059e-03 1.974078632294973e-03 - 1.961037750159034e-03 1.948058867783843e-03 1.935141804192390e-03 1.922286403096425e-03 1.909492504980594e-03 - 1.896759928265229e-03 1.884088500763132e-03 1.871478055631251e-03 1.858928424089599e-03 1.846439428400912e-03 - 1.834010894228015e-03 1.821642669213327e-03 1.809334584628213e-03 1.797086460037203e-03 1.784898126770644e-03 - 1.772769417737367e-03 1.760700162615002e-03 1.748690181778845e-03 1.736739308394668e-03 1.724847388831493e-03 - 1.713014248130287e-03 1.701239709792772e-03 1.689523605558227e-03 1.677865768960374e-03 1.666266027776910e-03 - 1.654724201747776e-03 1.643240132443950e-03 1.631813662093462e-03 1.620444610863358e-03 1.609132806416696e-03 - 1.597878082462674e-03 1.586680271167799e-03 1.575539197124769e-03 1.564454685806544e-03 1.553426583192850e-03 - 1.542454723186195e-03 1.531538926942232e-03 1.520679025889417e-03 1.509874853790604e-03 1.499126242122267e-03 - 1.488433013507451e-03 1.477795000037597e-03 1.467212048115432e-03 1.456683985464255e-03 1.446210636719452e-03 - 1.435791835117153e-03 1.425427414393694e-03 1.415117204211151e-03 1.404861027594662e-03 1.394658724273689e-03 - 1.384510137356095e-03 1.374415090575271e-03 1.364373412382042e-03 1.354384937246215e-03 1.344449499301808e-03 - 1.334566925970926e-03 1.324737043332181e-03 1.314959696939330e-03 1.305234723823342e-03 1.295561947265019e-03 - 1.285941199528206e-03 1.276372315963847e-03 1.266855130463658e-03 1.257389468322312e-03 1.247975161599065e-03 - 1.238612057815808e-03 1.229299987951490e-03 1.220038778115428e-03 1.210828263449681e-03 1.201668279419893e-03 - 1.192558658328712e-03 1.183499226491516e-03 1.174489822883548e-03 1.165530291825810e-03 1.156620461345326e-03 - 1.147760161971411e-03 1.138949229776032e-03 1.130187500878873e-03 1.121474806129454e-03 1.112810973708310e-03 - 1.104195848566657e-03 1.095629271185936e-03 1.087111069073448e-03 1.078641075658101e-03 1.070219127753748e-03 - 1.061845062287274e-03 1.053518708913237e-03 1.045239900848634e-03 1.037008485418972e-03 1.028824298155823e-03 - 1.020687168641753e-03 1.012596933141099e-03 1.004553429894111e-03 9.965564952721074e-04 9.886059579764911e-04 - 9.807016577383673e-04 9.728434421263681e-04 9.650311428619217e-04 9.572645925441391e-04 9.495436296868831e-04 - 9.418680934992058e-04 9.342378189983833e-04 9.266526374013966e-04 9.191123940951565e-04 9.116169327210938e-04 - 9.041660846048507e-04 8.967596865276394e-04 8.893975784458786e-04 8.820795994475233e-04 8.748055834052338e-04 - 8.675753662309574e-04 8.603887967412885e-04 8.532457145816050e-04 8.461459528881801e-04 8.390893515597134e-04 - 8.320757512954288e-04 8.251049910410551e-04 8.181769052102455e-04 8.112913354889369e-04 8.044481307476467e-04 - 7.976471276304203e-04 7.908881626723219e-04 7.841710779271092e-04 7.774957151422038e-04 7.708619131557394e-04 - 7.642695077220146e-04 7.577183458379644e-04 7.512082748417916e-04 7.447391309361296e-04 7.383107537219758e-04 - 7.319229861740803e-04 7.255756719189899e-04 7.192686493738265e-04 7.130017570250109e-04 7.067748463319056e-04 - 7.005877618919097e-04 6.944403408515077e-04 6.883324261093659e-04 6.822638623160529e-04 6.762344932684062e-04 - 6.702441573916524e-04 6.642926986443232e-04 6.583799694858947e-04 6.525058122102392e-04 6.466700672293728e-04 - 6.408725793807691e-04 6.351131947715911e-04 6.293917574305099e-04 6.237081070877600e-04 6.180620932909059e-04 - 6.124535677685099e-04 6.068823714677426e-04 6.013483481700967e-04 5.958513451670206e-04 5.903912096703989e-04 - 5.849677853780454e-04 5.795809154020751e-04 5.742304534677881e-04 5.689162489783443e-04 5.636381442526738e-04 - 5.583959863498279e-04 5.531896240506697e-04 5.480189055622431e-04 5.428836748799696e-04 5.377837797240800e-04 - 5.327190759830209e-04 5.276894110958636e-04 5.226946300477827e-04 5.177345825024617e-04 5.128091188465486e-04 - 5.079180879528710e-04 5.030613351067660e-04 4.982387130290541e-04 4.934500776624026e-04 4.886952758062522e-04 - 4.839741558713263e-04 4.792865695826084e-04 4.746323688630657e-04 4.700114029595036e-04 4.654235198613055e-04 - 4.608685766627245e-04 4.563464280591107e-04 4.518569219186994e-04 4.473999099762359e-04 4.429752457691277e-04 - 4.385827824909558e-04 4.342223700107388e-04 4.298938604566902e-04 4.255971135329090e-04 4.213319826090788e-04 - 4.170983180859963e-04 4.128959744299958e-04 4.087248069577171e-04 4.045846700338900e-04 4.004754147907325e-04 - 3.963968979642262e-04 3.923489801919561e-04 3.883315144592717e-04 3.843443544269981e-04 3.803873568608614e-04 - 3.764603788261386e-04 3.725632754784107e-04 3.686959004384349e-04 3.648581147870281e-04 3.610497787686854e-04 - 3.572707463878945e-04 3.535208745539621e-04 3.498000220657478e-04 3.461080477383748e-04 3.424448076363575e-04 - 3.388101589386426e-04 3.352039657815740e-04 3.316260877532703e-04 3.280763812137888e-04 3.245547060139738e-04 - 3.210609229167205e-04 3.175948921405597e-04 3.141564711604799e-04 3.107455215081982e-04 3.073619088757455e-04 - 3.040054927848886e-04 3.006761327105527e-04 2.973736909925681e-04 2.940980303881470e-04 2.908490123115160e-04 - 2.876264965105581e-04 2.844303488008553e-04 2.812604353029198e-04 2.781166164989417e-04 2.749987551423296e-04 - 2.719067158817455e-04 2.688403633742989e-04 2.657995602462465e-04 2.627841695326067e-04 2.597940603791381e-04 - 2.568290988582687e-04 2.538891477672460e-04 2.509740728301346e-04 2.480837407612393e-04 2.452180180501483e-04 - 2.423767689150773e-04 2.395598604007145e-04 2.367671637065971e-04 2.339985452156380e-04 2.312538707417314e-04 - 2.285330086975239e-04 2.258358279521211e-04 2.231621965330517e-04 2.205119809474630e-04 2.178850522930381e-04 - 2.152812827957872e-04 2.127005401044592e-04 2.101426932429596e-04 2.076076129630843e-04 2.050951703707553e-04 - 2.026052350574154e-04 2.001376764695323e-04 1.976923692963255e-04 1.952691863631026e-04 1.928679973631469e-04 - 1.904886744667185e-04 1.881310908124045e-04 1.857951194428946e-04 1.834806317739651e-04 1.811875010647571e-04 - 1.789156043640377e-04 1.766648152326652e-04 1.744350063601967e-04 1.722260526922104e-04 1.700378296945535e-04 - 1.678702123432160e-04 1.657230742438847e-04 1.635962925697728e-04 1.614897461072756e-04 1.594033097074569e-04 - 1.573368592094730e-04 1.552902721810668e-04 1.532634264532060e-04 1.512561988693490e-04 1.492684659352835e-04 - 1.473001083560244e-04 1.453510059716440e-04 1.434210358729406e-04 1.415100771164913e-04 1.396180097223186e-04 - 1.377447137267307e-04 1.358900680130841e-04 1.340539526362652e-04 1.322362510498252e-04 1.304368442346035e-04 - 1.286556121626104e-04 1.268924368411170e-04 1.251472007379926e-04 1.234197860690376e-04 1.217100740639766e-04 - 1.200179485071157e-04 1.183432949752447e-04 1.166859960758634e-04 1.150459349477667e-04 1.134229962637926e-04 - 1.118170649981152e-04 1.102280255615328e-04 1.086557620076939e-04 1.071001616642248e-04 1.055611117192228e-04 - 1.040384970703678e-04 1.025322040262462e-04 1.010421198490596e-04 9.956813202096472e-05 9.811012722455996e-05 - 9.666799283658755e-05 9.524161921027426e-05 9.383089505710078e-05 9.243570803818307e-05 9.105594759252440e-05 - 8.969150364397068e-05 8.834226604286881e-05 8.700812397260034e-05 8.568896841419017e-05 8.438469212608002e-05 - 8.309518568825200e-05 8.182033994906239e-05 8.056004718218619e-05 7.931419998170841e-05 7.808269064296404e-05 - 7.686541112857092e-05 7.566225594198306e-05 7.447311991364301e-05 7.329789600792314e-05 7.213647827366786e-05 - 7.098876170896106e-05 6.985464163907488e-05 6.873401282606521e-05 6.762677039259616e-05 6.653281205307769e-05 - 6.545203459530543e-05 6.438433381335806e-05 6.332960688869456e-05 6.228775159650499e-05 6.125866586213212e-05 - 6.024224709312662e-05 5.923839394811549e-05 5.824700680510711e-05 5.726798458845817e-05 5.630122626966778e-05 - 5.534663202079377e-05 5.440410243697520e-05 5.347353805513213e-05 5.255483915897720e-05 5.164790790372327e-05 - 5.075264706713765e-05 4.986895809670387e-05 4.899674321102013e-05 4.813590548272275e-05 4.728634834520723e-05 - 4.644797500988253e-05 4.562068892036128e-05 4.480439551815946e-05 4.399899988301035e-05 4.320440633696577e-05 - 4.242052030402665e-05 4.164724778526068e-05 4.088449502887978e-05 4.013216802138054e-05 3.939017361734100e-05 - 3.865842020891389e-05 3.793681530287127e-05 3.722526637683801e-05 3.652368195642655e-05 3.583197100166348e-05 - 3.515004257550265e-05 3.447780563338777e-05 3.381517049939420e-05 3.316204825033269e-05 3.251834908257212e-05 - 3.188398376275541e-05 3.125886384349450e-05 3.064290126992314e-05 3.003600797392098e-05 2.943809607683111e-05 - 2.884907925556903e-05 2.826887119646782e-05 2.769738505988399e-05 2.713453488302094e-05 2.658023526748751e-05 - 2.603440114263312e-05 2.549694738792051e-05 2.496778949423694e-05 2.444684425976710e-05 2.393402805764408e-05 - 2.342925723948219e-05 2.293244905822871e-05 2.244352120797989e-05 2.196239159983278e-05 2.148897818423003e-05 - 2.102319990982268e-05 2.056497650699234e-05 2.011422722229805e-05 1.967087173846936e-05 1.923483045310688e-05 - 1.880602417859793e-05 1.838437386840237e-05 1.796980069033951e-05 1.756222699777835e-05 1.716157539169325e-05 - 1.676776819323897e-05 1.638072842752046e-05 1.600037965967140e-05 1.562664583506045e-05 1.525945101785764e-05 - 1.489871974108943e-05 1.454437762041471e-05 1.419635018600421e-05 1.385456300630342e-05 1.351894241351905e-05 - 1.318941519258516e-05 1.286590843459537e-05 1.254834939298960e-05 1.223666606495489e-05 1.193078719950152e-05 - 1.163064137727749e-05 1.133615754527981e-05 1.104726530816775e-05 1.076389469662666e-05 1.048597599093073e-05 - 1.021343974753131e-05 9.946217419267380e-06 9.684240838620889e-06 9.427441790773100e-06 9.175752643853506e-06 - 8.929106280098344e-06 8.687435997194528e-06 8.450675338936148e-06 8.218758257424963e-06 7.991619584870982e-06 - 7.769194298227330e-06 7.551417507621627e-06 7.338224987041431e-06 7.129552955942858e-06 6.925337997222138e-06 - 6.725516977155444e-06 6.530027335862672e-06 6.338807194551445e-06 6.151794769434223e-06 5.968928615355085e-06 - 5.790147878391894e-06 5.615392155261267e-06 5.444601365246586e-06 5.277715758699128e-06 5.114676291438329e-06 - 4.955424365336747e-06 4.799901525655197e-06 4.648049820836300e-06 4.499811793985402e-06 4.355130438087899e-06 - 4.213949069835453e-06 4.076211399540344e-06 3.941861865039729e-06 3.810845196499976e-06 3.683106361660463e-06 - 3.558590910585118e-06 3.437244835818923e-06 3.319014541070219e-06 3.203846795533912e-06 3.091688852089737e-06 - 2.982488579295818e-06 2.876194109656037e-06 2.772753925582794e-06 2.672117063800105e-06 2.574233014808049e-06 - 2.479051643033932e-06 2.386523210361943e-06 2.296598552297165e-06 2.209228971591383e-06 2.124366069775506e-06 - 2.041961906232304e-06 1.961969019732135e-06 1.884340423438541e-06 1.809029507182080e-06 1.735990071613592e-06 - 1.665176534356502e-06 1.596543687803830e-06 1.530046658503296e-06 1.465641105678908e-06 1.403283128309336e-06 - 1.342929271825179e-06 1.284536503035511e-06 1.228062233226246e-06 1.173464436795038e-06 1.120701460082181e-06 - 1.069732028902882e-06 1.020515399241352e-06 9.730112822753146e-07 9.271798002921477e-07 8.829815278752155e-07 - 8.403775374680640e-07 7.993293716485992e-07 7.597989809176624e-07 7.217487560416926e-07 6.851415619710593e-07 - 6.499407524191172e-07 6.161100929136179e-07 5.836137918783888e-07 5.524166028233452e-07 5.224836968385216e-07 - 4.937806609639881e-07 4.662735849361845e-07 4.399289991547822e-07 4.147139110260500e-07 3.905957813609555e-07 - 3.675425084859321e-07 3.455225231396512e-07 3.245046871736890e-07 3.044582778536548e-07 2.853530928283095e-07 - 2.671593859185241e-07 2.498478511400059e-07 2.333896726605378e-07 2.177564985206194e-07 2.029204500538344e-07 - 1.888541210793108e-07 1.755305458522738e-07 1.629232393506973e-07 1.510062144201093e-07 1.397539174372155e-07 - 1.291412703741045e-07 1.191437050672961e-07 1.097370923617762e-07 1.008977778162274e-07 9.260259669902208e-08 - 8.482883141984319e-08 7.755426670738778e-08 7.075715683240311e-08 6.441620467100832e-08 5.851063608240125e-08 - 5.302013495440350e-08 4.792483459927075e-08 4.320538955913144e-08 3.884291294265582e-08 3.481898425658018e-08 - 3.111569527451850e-08 2.771559342817648e-08 2.460171067137196e-08 2.175758348333717e-08 1.916719757773861e-08 - 1.681503457183268e-08 1.468607978947252e-08 1.276576812429566e-08 1.104003874048358e-08 9.495328649625366e-09 - 8.118528715645258e-09 6.897042498203040e-09 5.818760232281117e-09 4.872032311209139e-09 4.045732447740840e-09 - 3.329210679517489e-09 2.712284881132093e-09 2.185301687016959e-09 1.739076161987666e-09 1.364901589086205e-09 - 1.054599065845252e-09 8.004535320102697e-10 5.952414597054672e-10 4.322622496028902e-10 3.052766304104823e-10 - 2.085502003918036e-10 1.368642901349301e-10 8.546164059834664e-11 5.010215808832263e-11 2.705311520847365e-11 - 1.304599438344934e-11 5.339090781311160e-12 1.692041320615927e-12 3.321208355096226e-13 6.781366937015517e-15 -- GitLab From 6008cee6aa322646f872f30c50b73589ac44c553 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 26 Jun 2018 16:02:56 -0400 Subject: [PATCH 196/675] ...and replace with symbolic links --- examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy | 1 + examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy | 1 + 2 files changed, 2 insertions(+) create mode 120000 examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy create mode 120000 examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy diff --git a/examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy new file mode 120000 index 0000000000..6a47c9eebe --- /dev/null +++ b/examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy @@ -0,0 +1 @@ +../cobalt_fcc/Co_PurjaPun_2012.eam.alloy \ No newline at end of file diff --git a/examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy new file mode 120000 index 0000000000..6a47c9eebe --- /dev/null +++ b/examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy @@ -0,0 +1 @@ +../cobalt_fcc/Co_PurjaPun_2012.eam.alloy \ No newline at end of file -- GitLab From 5c4bf8ac47935b49d590b3c7d6ae47fa5e3e0bc7 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Tue, 26 Jun 2018 20:40:02 -0600 Subject: [PATCH 197/675] bond/react: optional EdgeIDs take2 --- src/USER-MISC/fix_bond_react.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/USER-MISC/fix_bond_react.cpp b/src/USER-MISC/fix_bond_react.cpp index 09f97be7c4..c72a1b027b 100644 --- a/src/USER-MISC/fix_bond_react.cpp +++ b/src/USER-MISC/fix_bond_react.cpp @@ -265,7 +265,7 @@ FixBondReact::FixBondReact(LAMMPS *lmp, int narg, char **arg) : memory->create(landlocked_atoms,max_natoms,nreacts,"bond/react:landlocked_atoms"); for (int j = 0; j < nreacts; j++) - for (int i = 0; i < onemol->natoms; i++) edge[i][j] = 0; + for (int i = 0; i < max_natoms; i++) edge[i][j] = 0; // read all superimpose files afterward for (int i = 0; i < nreacts; i++) { -- GitLab From 264f832b1843e25b0aa88eec4ef5169552e23332 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Jun 2018 07:58:57 -0400 Subject: [PATCH 198/675] fix formatting of dump_modify docs --- doc/src/dump_modify.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/dump_modify.txt b/doc/src/dump_modify.txt index 3230507dc3..5365610d64 100644 --- a/doc/src/dump_modify.txt +++ b/doc/src/dump_modify.txt @@ -486,7 +486,7 @@ to respond to the call from the dump command, and update the appropriate reference positions. This is done be defining an "atom-style variable"_variable.html, {check} in this example, which calculates a Boolean value (0 or 1) for each atom, based on the same -criterion used by dump_modify thresh. +criterion used by dump_modify thresh. See the "compute displace/atom"_compute_displace_atom.html command for more details, including an example of how to produce output that @@ -600,13 +600,13 @@ included.) region foo sphere 10 20 10 15 variable inregion atom rmask(foo) -dump_modify ... thresh v_inregion |^ LAST +dump_modify ... thresh v_inregion |^ LAST :pre This will dump atoms which crossed the boundary of the spherical region since the last dump. variable charge atom "(q > 0.5) || (q < -0.5)" -dump_modify ... thresh v_charge |^ LAST +dump_modify ... thresh v_charge |^ LAST :pre This will dump atoms whose charge has changed from an absolute value less than 1/2 to greater than 1/2 (or vice versa) since the last dump. -- GitLab From 244963aa195f1bb345f25f47f1b7fa3fb831033e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Jun 2018 12:29:34 -0400 Subject: [PATCH 199/675] fix incorrect scaling of emag bug --- examples/SPIN/bfo/log.11May18.spin.bfo.g++.1 | 212 +++++++++++++++++++ examples/SPIN/bfo/log.11May18.spin.bfo.g++.4 | 212 +++++++++++++++++++ src/SPIN/fix_precession_spin.cpp | 7 +- 3 files changed, 427 insertions(+), 4 deletions(-) create mode 100644 examples/SPIN/bfo/log.11May18.spin.bfo.g++.1 create mode 100644 examples/SPIN/bfo/log.11May18.spin.bfo.g++.4 diff --git a/examples/SPIN/bfo/log.11May18.spin.bfo.g++.1 b/examples/SPIN/bfo/log.11May18.spin.bfo.g++.1 new file mode 100644 index 0000000000..8e9eb82d1f --- /dev/null +++ b/examples/SPIN/bfo/log.11May18.spin.bfo.g++.1 @@ -0,0 +1,212 @@ +LAMMPS (11 May 2018) +# layer sc iron atoms (in the [001] plane) in bismuth oxide + +clear +units metal +atom_style spin + +dimension 3 +boundary p p f + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice sc 3.96 +Lattice spacing in x,y,z = 3.96 3.96 3.96 +region box block 0.0 34.0 0.0 34.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (134.64 134.64 19.8) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 5780 atoms + Time spent = 0.0013566 secs + +# setting mass, mag. moments, and interactions for bfo + +mass 1 1.0 + +set group all spin/random 11 2.50 + 5780 settings made for spin/random + +pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 +pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965 +pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.1 21 +fix 3 all nve/spin lattice no + +timestep 0.0002 + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_emag temp etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 5000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.1 + ghost atom cutoff = 6.1 + binsize = 3.05, bins = 45 45 7 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (2) pair spin/magelec, perpetual, copy from (1) + attributes: full, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 7.272 | 7.272 | 7.272 Mbytes +Step Time v_magnorm v_emag Temp TotEng + 0 0 0.010071723 -0.13298298 0 -0.12034311 + 50 0.01 0.0098643821 -1.3898985 0 -1.3772103 + 100 0.02 0.0096526211 -2.6381677 0 -2.6254222 + 150 0.03 0.0094342235 -3.8784006 0 -3.8656019 + 200 0.04 0.0092074832 -5.111441 0 -5.0986001 + 250 0.05 0.0089713115 -6.3380611 0 -6.3251904 + 300 0.06 0.0087256081 -7.5587787 0 -7.5458894 + 350 0.07 0.0084715548 -8.7738491 0 -8.7609521 + 400 0.08 0.008211486 -9.9833855 0 -9.9704932 + 450 0.09 0.0079483243 -11.18751 0 -11.174637 + 500 0.1 0.0076849713 -12.386462 0 -12.37362 + 550 0.11 0.007424064 -13.580633 0 -13.567832 + 600 0.12 0.0071680699 -14.770519 0 -14.757759 + 650 0.13 0.0069192726 -15.956579 0 -15.943853 + 700 0.14 0.0066793495 -17.139049 0 -17.126343 + 750 0.15 0.0064488038 -18.317803 0 -18.305099 + 800 0.16 0.0062267571 -19.492336 0 -19.479616 + 850 0.17 0.0060112235 -20.661925 0 -20.649176 + 900 0.18 0.0057995251 -21.825931 0 -21.813141 + 950 0.19 0.0055886511 -22.98413 0 -22.971297 + 1000 0.2 0.0053757923 -24.136967 0 -24.124095 + 1050 0.21 0.0051592263 -25.285621 0 -25.272717 + 1100 0.22 0.0049391661 -26.431928 0 -26.419004 + 1150 0.23 0.0047179149 -27.578212 0 -27.565281 + 1200 0.24 0.0044991004 -28.727051 0 -28.714128 + 1250 0.25 0.0042864034 -29.880967 0 -29.868062 + 1300 0.26 0.0040824475 -31.042054 0 -31.029173 + 1350 0.27 0.0038883007 -32.21165 0 -32.198795 + 1400 0.28 0.0037036595 -33.390159 0 -33.377326 + 1450 0.29 0.0035274815 -34.577121 0 -34.564302 + 1500 0.3 0.0033587207 -35.771483 0 -35.758672 + 1550 0.31 0.0031969501 -36.971996 0 -36.95919 + 1600 0.32 0.0030429081 -38.177601 0 -38.164801 + 1650 0.33 0.0028989804 -39.387757 0 -39.374962 + 1700 0.34 0.0027692024 -40.602665 0 -40.589873 + 1750 0.35 0.0026581403 -41.823341 0 -41.81054 + 1800 0.36 0.0025686991 -43.05145 0 -43.038628 + 1850 0.37 0.002500124 -44.288966 0 -44.276111 + 1900 0.38 0.0024477804 -45.537752 0 -45.52486 + 1950 0.39 0.0024050049 -46.799255 0 -46.786336 + 2000 0.4 0.0023657031 -48.074388 0 -48.061466 + 2050 0.41 0.0023260844 -49.363587 0 -49.350695 + 2100 0.42 0.0022848329 -50.666866 0 -50.654039 + 2150 0.43 0.0022419759 -51.983781 0 -51.971055 + 2200 0.44 0.0021972506 -53.31336 0 -53.300764 + 2250 0.45 0.0021488322 -54.654121 0 -54.641676 + 2300 0.46 0.0020929483 -56.004207 0 -55.991918 + 2350 0.47 0.0020244601 -57.361586 0 -57.349442 + 2400 0.48 0.001938225 -58.72428 0 -58.712247 + 2450 0.49 0.0018309419 -60.09064 0 -60.078671 + 2500 0.5 0.0017030436 -61.459658 0 -61.447705 + 2550 0.51 0.0015599449 -62.831213 0 -62.819237 + 2600 0.52 0.0014117554 -64.206088 0 -64.194074 + 2650 0.53 0.0012709942 -65.585701 0 -65.573657 + 2700 0.54 0.0011490452 -66.971565 0 -66.959515 + 2750 0.55 0.001053009 -68.364663 0 -68.352635 + 2800 0.56 0.00098415327 -69.765002 0 -69.753017 + 2850 0.57 0.00093809306 -71.171532 0 -71.159598 + 2900 0.58 0.00090656933 -72.58234 0 -72.570459 + 2950 0.59 0.00088069677 -73.994931 0 -73.983099 + 3000 0.6 0.00085472643 -75.406507 0 -75.39472 + 3050 0.61 0.00082842902 -76.814319 0 -76.802575 + 3100 0.62 0.00080642618 -78.216074 0 -78.204373 + 3150 0.63 0.00079463972 -79.610246 0 -79.598589 + 3200 0.64 0.0007962304 -80.996103 0 -80.984494 + 3250 0.65 0.00080980411 -82.37346 0 -82.361903 + 3300 0.66 0.00083070982 -83.742356 0 -83.730855 + 3350 0.67 0.00085389185 -85.102808 0 -85.091374 + 3400 0.68 0.00087624091 -86.454619 0 -86.443259 + 3450 0.69 0.00089741986 -87.797089 0 -87.785814 + 3500 0.7 0.00091910796 -89.12875 0 -89.117567 + 3550 0.71 0.00094318459 -90.447312 0 -90.436232 + 3600 0.72 0.00096989367 -91.750008 0 -91.739046 + 3650 0.73 0.00099713096 -93.034224 0 -93.023402 + 3700 0.74 0.0010212995 -94.298186 0 -94.287529 + 3750 0.75 0.0010391164 -95.5414 0 -95.530926 + 3800 0.76 0.0010491462 -96.764626 0 -96.754338 + 3850 0.77 0.0010521238 -97.969346 0 -97.95923 + 3900 0.78 0.0010500324 -99.156875 0 -99.146899 + 3950 0.79 0.0010447043 -100.32743 0 -100.31756 + 4000 0.8 0.0010368986 -101.4796 0 -101.46978 + 4050 0.81 0.0010263632 -102.61044 0 -102.60064 + 4100 0.82 0.0010126933 -103.71619 0 -103.70639 + 4150 0.83 0.00099631895 -104.79338 0 -104.78358 + 4200 0.84 0.0009789075 -105.8398 0 -105.82998 + 4250 0.85 0.00096287608 -106.85496 0 -106.84515 + 4300 0.86 0.00095034023 -107.84011 0 -107.83029 + 4350 0.87 0.00094219078 -108.7976 0 -108.78778 + 4400 0.88 0.00093779428 -109.73016 0 -109.72031 + 4450 0.89 0.0009354459 -110.63996 0 -110.63008 + 4500 0.9 0.00093342614 -111.52805 0 -111.51812 + 4550 0.91 0.0009311077 -112.39417 0 -112.38416 + 4600 0.92 0.00092926689 -113.23706 0 -113.22697 + 4650 0.93 0.00092921566 -114.05512 0 -114.04495 + 4700 0.94 0.00093142598 -114.84701 0 -114.83675 + 4750 0.95 0.00093479851 -115.61197 0 -115.60164 + 4800 0.96 0.0009369799 -116.3499 0 -116.33951 + 4850 0.97 0.00093516768 -117.06128 0 -117.05084 + 4900 0.98 0.00092684411 -117.74695 0 -117.73645 + 4950 0.99 0.00091046222 -118.40798 0 -118.39742 + 5000 1 0.00088619957 -119.04554 0 -119.03492 +Loop time of 128.304 on 1 procs for 5000 steps with 5780 atoms + +Performance: 0.673 ns/day, 35.640 hours/ns, 38.970 timesteps/s +99.6% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 24.227 | 24.227 | 24.227 | 0.0 | 18.88 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.081048 | 0.081048 | 0.081048 | 0.0 | 0.06 +Output | 39.796 | 39.796 | 39.796 | 0.0 | 31.02 +Modify | 64.112 | 64.112 | 64.112 | 0.0 | 49.97 +Other | | 0.08788 | | | 0.07 + +Nlocal: 5780 ave 5780 max 5780 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1065 ave 1065 max 1065 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 92480 ave 92480 max 92480 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 92480 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:02:08 diff --git a/examples/SPIN/bfo/log.11May18.spin.bfo.g++.4 b/examples/SPIN/bfo/log.11May18.spin.bfo.g++.4 new file mode 100644 index 0000000000..c0f96b8195 --- /dev/null +++ b/examples/SPIN/bfo/log.11May18.spin.bfo.g++.4 @@ -0,0 +1,212 @@ +LAMMPS (11 May 2018) +# layer sc iron atoms (in the [001] plane) in bismuth oxide + +clear +units metal +atom_style spin + +dimension 3 +boundary p p f + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice sc 3.96 +Lattice spacing in x,y,z = 3.96 3.96 3.96 +region box block 0.0 34.0 0.0 34.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (134.64 134.64 19.8) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 5780 atoms + Time spent = 0.000355959 secs + +# setting mass, mag. moments, and interactions for bfo + +mass 1 1.0 + +set group all spin/random 11 2.50 + 5780 settings made for spin/random + +pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 +pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965 +pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.1 21 +fix 3 all nve/spin lattice no + +timestep 0.0002 + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_emag temp etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 5000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.1 + ghost atom cutoff = 6.1 + binsize = 3.05, bins = 45 45 7 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (2) pair spin/magelec, perpetual, copy from (1) + attributes: full, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 6.862 | 6.862 | 6.862 Mbytes +Step Time v_magnorm v_emag Temp TotEng + 0 0 0.010071723 -0.13298298 0 -0.12034311 + 50 0.01 0.0098643821 -1.3898985 0 -1.3772103 + 100 0.02 0.009652621 -2.6381677 0 -2.6254222 + 150 0.03 0.0094342234 -3.8784007 0 -3.8656019 + 200 0.04 0.009207483 -5.1114411 0 -5.0986001 + 250 0.05 0.0089713114 -6.3380611 0 -6.3251904 + 300 0.06 0.0087256079 -7.5587787 0 -7.5458894 + 350 0.07 0.0084715546 -8.7738491 0 -8.7609521 + 400 0.08 0.0082114858 -9.9833855 0 -9.9704932 + 450 0.09 0.0079483242 -11.18751 0 -11.174637 + 500 0.1 0.0076849711 -12.386462 0 -12.37362 + 550 0.11 0.0074240638 -13.580633 0 -13.567832 + 600 0.12 0.0071680697 -14.770519 0 -14.757759 + 650 0.13 0.0069192724 -15.956579 0 -15.943853 + 700 0.14 0.0066793493 -17.139049 0 -17.126343 + 750 0.15 0.0064488035 -18.317803 0 -18.305099 + 800 0.16 0.0062267569 -19.492336 0 -19.479616 + 850 0.17 0.0060112233 -20.661925 0 -20.649176 + 900 0.18 0.005799525 -21.825931 0 -21.813141 + 950 0.19 0.0055886511 -22.98413 0 -22.971297 + 1000 0.2 0.0053757923 -24.136967 0 -24.124095 + 1050 0.21 0.0051592265 -25.285621 0 -25.272717 + 1100 0.22 0.0049391664 -26.431928 0 -26.419004 + 1150 0.23 0.0047179153 -27.578212 0 -27.565281 + 1200 0.24 0.0044991009 -28.727051 0 -28.714128 + 1250 0.25 0.0042864039 -29.880967 0 -29.868062 + 1300 0.26 0.004082448 -31.042054 0 -31.029174 + 1350 0.27 0.0038883012 -32.21165 0 -32.198795 + 1400 0.28 0.0037036599 -33.390159 0 -33.377326 + 1450 0.29 0.0035274817 -34.577121 0 -34.564302 + 1500 0.3 0.0033587208 -35.771483 0 -35.758672 + 1550 0.31 0.0031969501 -36.971996 0 -36.95919 + 1600 0.32 0.0030429079 -38.177601 0 -38.164801 + 1650 0.33 0.0028989801 -39.387757 0 -39.374962 + 1700 0.34 0.0027692022 -40.602666 0 -40.589873 + 1750 0.35 0.0026581401 -41.823341 0 -41.81054 + 1800 0.36 0.002568699 -43.05145 0 -43.038628 + 1850 0.37 0.0025001242 -44.288966 0 -44.276111 + 1900 0.38 0.0024477808 -45.537752 0 -45.52486 + 1950 0.39 0.0024050056 -46.799255 0 -46.786336 + 2000 0.4 0.002365704 -48.074388 0 -48.061466 + 2050 0.41 0.0023260854 -49.363587 0 -49.350695 + 2100 0.42 0.002284834 -50.666866 0 -50.654039 + 2150 0.43 0.0022419771 -51.983781 0 -51.971055 + 2200 0.44 0.0021972518 -53.31336 0 -53.300764 + 2250 0.45 0.0021488333 -54.654121 0 -54.641676 + 2300 0.46 0.0020929494 -56.004207 0 -55.991918 + 2350 0.47 0.0020244612 -57.361586 0 -57.349441 + 2400 0.48 0.0019382262 -58.72428 0 -58.712247 + 2450 0.49 0.001830943 -60.090639 0 -60.078671 + 2500 0.5 0.0017030446 -61.459658 0 -61.447704 + 2550 0.51 0.0015599459 -62.831213 0 -62.819237 + 2600 0.52 0.0014117562 -64.206088 0 -64.194074 + 2650 0.53 0.001270995 -65.5857 0 -65.573657 + 2700 0.54 0.001149046 -66.971565 0 -66.959515 + 2750 0.55 0.0010530098 -68.364663 0 -68.352635 + 2800 0.56 0.00098415418 -69.765002 0 -69.753017 + 2850 0.57 0.00093809402 -71.171532 0 -71.159598 + 2900 0.58 0.00090657031 -72.58234 0 -72.570459 + 2950 0.59 0.00088069773 -73.994931 0 -73.983099 + 3000 0.6 0.00085472731 -75.406507 0 -75.39472 + 3050 0.61 0.00082842975 -76.814319 0 -76.802575 + 3100 0.62 0.00080642669 -78.216074 0 -78.204373 + 3150 0.63 0.00079464 -79.610246 0 -79.59859 + 3200 0.64 0.00079623049 -80.996103 0 -80.984494 + 3250 0.65 0.00080980416 -82.373461 0 -82.361903 + 3300 0.66 0.00083070997 -83.742356 0 -83.730856 + 3350 0.67 0.00085389223 -85.102809 0 -85.091374 + 3400 0.68 0.00087624159 -86.454619 0 -86.44326 + 3450 0.69 0.00089742086 -87.79709 0 -87.785815 + 3500 0.7 0.00091910931 -89.12875 0 -89.117568 + 3550 0.71 0.00094318635 -90.447312 0 -90.436233 + 3600 0.72 0.00096989594 -91.750008 0 -91.739047 + 3650 0.73 0.00099713386 -93.034224 0 -93.023403 + 3700 0.74 0.0010213031 -94.298186 0 -94.287529 + 3750 0.75 0.0010391209 -95.541401 0 -95.530926 + 3800 0.76 0.0010491514 -96.764626 0 -96.754339 + 3850 0.77 0.0010521296 -97.969347 0 -97.959231 + 3900 0.78 0.0010500386 -99.156876 0 -99.146899 + 3950 0.79 0.0010447106 -100.32743 0 -100.31756 + 4000 0.8 0.0010369046 -101.4796 0 -101.46978 + 4050 0.81 0.0010263688 -102.61044 0 -102.60064 + 4100 0.82 0.0010126985 -103.71619 0 -103.70639 + 4150 0.83 0.00099632366 -104.79338 0 -104.78358 + 4200 0.84 0.00097891183 -105.8398 0 -105.82998 + 4250 0.85 0.00096288003 -106.85496 0 -106.84515 + 4300 0.86 0.00095034371 -107.84011 0 -107.83029 + 4350 0.87 0.00094219371 -108.7976 0 -108.78778 + 4400 0.88 0.00093779663 -109.73016 0 -109.72031 + 4450 0.89 0.00093544766 -110.63996 0 -110.63008 + 4500 0.9 0.00093342739 -111.52805 0 -111.51812 + 4550 0.91 0.00093110855 -112.39417 0 -112.38416 + 4600 0.92 0.00092926746 -113.23706 0 -113.22697 + 4650 0.93 0.00092921608 -114.05512 0 -114.04495 + 4700 0.94 0.0009314263 -114.84701 0 -114.83675 + 4750 0.95 0.0009347987 -115.61197 0 -115.60164 + 4800 0.96 0.00093697985 -116.3499 0 -116.33951 + 4850 0.97 0.00093516726 -117.06128 0 -117.05084 + 4900 0.98 0.00092684316 -117.74695 0 -117.73645 + 4950 0.99 0.00091046061 -118.40798 0 -118.39742 + 5000 1 0.00088619727 -119.04554 0 -119.03492 +Loop time of 37.142 on 4 procs for 5000 steps with 5780 atoms + +Performance: 2.326 ns/day, 10.317 hours/ns, 134.619 timesteps/s +98.7% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 6.2804 | 6.3487 | 6.4569 | 2.7 | 17.09 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.15385 | 0.27957 | 0.36215 | 14.6 | 0.75 +Output | 10.573 | 10.784 | 10.994 | 4.8 | 29.03 +Modify | 19.48 | 19.707 | 19.925 | 3.7 | 53.06 +Other | | 0.02255 | | | 0.06 + +Nlocal: 1445 ave 1445 max 1445 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 555 ave 555 max 555 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 23120 ave 23120 max 23120 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 92480 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:37 diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index 9b33fac551..3543c4087d 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -193,22 +193,21 @@ void FixPrecessionSpin::post_force(int vflag) spi[2] = sp[i][2]; fmi[0] = fmi[1] = fmi[2] = 0.0; - if (zeeman_flag) { // compute Zeeman interaction + if (zeeman_flag) { // compute Zeeman interaction compute_zeeman(i,fmi); emag -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); - emag *= hbar; } - if (aniso_flag) { // compute magnetic anisotropy + if (aniso_flag) { // compute magnetic anisotropy compute_anisotropy(spi,fmi); emag -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); - emag *= hbar; } fm[i][0] += fmi[0]; fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; } + emag *= hbar; } /* ---------------------------------------------------------------------- */ -- GitLab From 3549345830e73e1dc2d67ec02a303ab8dd46508c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Jun 2018 12:30:19 -0400 Subject: [PATCH 200/675] whitespace cleanup --- src/SPIN/fix_precession_spin.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index 3543c4087d..eedf0becb7 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -125,12 +125,12 @@ int FixPrecessionSpin::setmask() void FixPrecessionSpin::init() { - const double hbar = force->hplanck/MY_2PI; // eV/(rad.THz) - const double mub = 5.78901e-5; // in eV/T - const double gyro = mub/hbar; // in rad.THz/T + const double hbar = force->hplanck/MY_2PI; // eV/(rad.THz) + const double mub = 5.78901e-5; // in eV/T + const double gyro = mub/hbar; // in rad.THz/T - H_field *= gyro; // in rad.THz - Ka /= hbar; // in rad.THz + H_field *= gyro; // in rad.THz + Ka /= hbar; // in rad.THz if (strstr(update->integrate_style,"respa")) { ilevel_respa = ((Respa *) update->integrate)->nlevels-1; @@ -176,7 +176,7 @@ void FixPrecessionSpin::post_force(int vflag) if (varflag != CONSTANT) { modify->clearstep_compute(); modify->addstep_compute(update->ntimestep + 1); - set_magneticprecession(); // update mag. field if time-dep. + set_magneticprecession(); // update mag. field if time-dep. } double **sp = atom->sp; @@ -255,14 +255,14 @@ void FixPrecessionSpin::post_force_respa(int vflag, int ilevel, int iloop) void FixPrecessionSpin::set_magneticprecession() { if (zeeman_flag) { - hx = H_field*nhx; - hy = H_field*nhy; - hz = H_field*nhz; + hx = H_field*nhx; + hy = H_field*nhy; + hz = H_field*nhz; } if (aniso_flag) { - Kax = 2.0*Ka*nax; - Kay = 2.0*Ka*nay; - Kaz = 2.0*Ka*naz; + Kax = 2.0*Ka*nax; + Kay = 2.0*Ka*nay; + Kaz = 2.0*Ka*naz; } } -- GitLab From d3b83885d1f8e86bd860ace06f2aa954190c3126 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Jun 2018 14:06:56 -0400 Subject: [PATCH 201/675] make SPIN package examples consistent with other examples and add reference logs --- examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc | 6 +- .../log.11May18.spin.cobalt_fcc.g++.1 | 142 +++ .../log.11May18.spin.cobalt_fcc.g++.4 | 142 +++ examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp | 2 +- .../log.11May18.spin.cobalt_hcp.g++.1 | 318 +++++ .../log.11May18.spin.cobalt_hcp.g++.4 | 318 +++++ examples/SPIN/iron/in.spin.iron | 2 +- .../SPIN/iron/log.11May18.spin.iron.g++.1 | 1115 +++++++++++++++++ .../SPIN/iron/log.11May18.spin.iron.g++.4 | 1115 +++++++++++++++++ examples/SPIN/nickel/in.spin.nickel | 2 +- .../SPIN/nickel/log.11May18.spin.nickel.g++.1 | 157 +++ .../SPIN/nickel/log.11May18.spin.nickel.g++.4 | 157 +++ examples/SPIN/read_restart/in.spin.read_data | 4 +- examples/SPIN/read_restart/in.spin.restart | 2 +- .../log.11May18.spin.read_data.g++.1 | 112 ++ .../log.11May18.spin.read_data.g++.4 | 112 ++ .../log.11May18.spin.restart.g++.1 | 117 ++ .../log.11May18.spin.restart.g++.4 | 118 ++ .../log.11May18.spin.write_restart.g++.1 | 119 ++ .../log.11May18.spin.write_restart.g++.4 | 119 ++ 20 files changed, 4170 insertions(+), 9 deletions(-) create mode 100644 examples/SPIN/cobalt_fcc/log.11May18.spin.cobalt_fcc.g++.1 create mode 100644 examples/SPIN/cobalt_fcc/log.11May18.spin.cobalt_fcc.g++.4 create mode 100644 examples/SPIN/cobalt_hcp/log.11May18.spin.cobalt_hcp.g++.1 create mode 100644 examples/SPIN/cobalt_hcp/log.11May18.spin.cobalt_hcp.g++.4 create mode 100644 examples/SPIN/iron/log.11May18.spin.iron.g++.1 create mode 100644 examples/SPIN/iron/log.11May18.spin.iron.g++.4 create mode 100644 examples/SPIN/nickel/log.11May18.spin.nickel.g++.1 create mode 100644 examples/SPIN/nickel/log.11May18.spin.nickel.g++.4 create mode 100644 examples/SPIN/read_restart/log.11May18.spin.read_data.g++.1 create mode 100644 examples/SPIN/read_restart/log.11May18.spin.read_data.g++.4 create mode 100644 examples/SPIN/read_restart/log.11May18.spin.restart.g++.1 create mode 100644 examples/SPIN/read_restart/log.11May18.spin.restart.g++.4 create mode 100644 examples/SPIN/read_restart/log.11May18.spin.write_restart.g++.1 create mode 100644 examples/SPIN/read_restart/log.11May18.spin.write_restart.g++.4 diff --git a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc index fd5eeb38b8..fd6833727b 100644 --- a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc +++ b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc @@ -24,7 +24,7 @@ set group all spin 1.72 0.0 0.0 1.0 velocity all create 100 4928459 rot yes dist gaussian pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/cobalt_fcc/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 neighbor 0.1 bin @@ -57,7 +57,7 @@ variable tmag equal c_out_mag[6] thermo_style custom step time f_1 v_magx v_magy v_magnorm v_emag temp etotal thermo 50 -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 100 all custom 1 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] +#compute outsp all property/atom spx spy spz sp fmx fmy fmz +#dump 100 all custom 1 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] run 1000 diff --git a/examples/SPIN/cobalt_fcc/log.11May18.spin.cobalt_fcc.g++.1 b/examples/SPIN/cobalt_fcc/log.11May18.spin.cobalt_fcc.g++.1 new file mode 100644 index 0000000000..d832b0001a --- /dev/null +++ b/examples/SPIN/cobalt_fcc/log.11May18.spin.cobalt_fcc.g++.1 @@ -0,0 +1,142 @@ +LAMMPS (11 May 2018) +# fcc cobalt in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice fcc 3.54 +Lattice spacing in x,y,z = 3.54 3.54 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (17.7 17.7 17.7) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000651121 secs + +# setting mass, mag. moments, and interactions for fcc cobalt + +mass 1 58.93 + +#set group all spin/random 31 1.72 +set group all spin 1.72 0.0 0.0 1.0 + 500 settings made for spin +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 +fix_modify 1 energy yes + +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# compute and output options + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +thermo_style custom f_1 + +variable magx equal c_out_mag[1] +variable magy equal c_out_mag[2] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time f_1 v_magx v_magy v_magnorm v_emag temp etotal +thermo 50 + +#compute outsp all property/atom spx spy spz sp fmx fmy fmz +#dump 100 all custom 1 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.59954 + ghost atom cutoff = 6.59954 + binsize = 3.29977, bins = 6 6 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.218 | 5.218 | 5.218 Mbytes +Step Time f_1 v_magx v_magy v_magnorm v_emag Temp TotEng + 0 0 0.049785486 0 0 1 -187.94116 100.00543 -2372.4636 + 50 0.005 0.049785486 0 0 1 -187.94112 95.094679 -2372.4636 + 100 0.01 0.049785486 0 0 1 -187.94071 81.578321 -2372.4636 + 150 0.015 0.049785486 0 0 1 -187.93912 62.802727 -2372.4636 + 200 0.02 0.049785486 0 0 1 -187.93551 43.35108 -2372.4636 + 250 0.025 0.049785486 0 0 1 -187.92942 27.749821 -2372.4636 + 300 0.03 0.049785486 0 0 1 -187.92118 19.149389 -2372.4636 + 350 0.035 0.049785486 0 0 1 -187.91199 18.453387 -2372.4636 + 400 0.04 0.049785486 0 0 1 -187.90364 24.249423 -2372.4636 + 450 0.045 0.049785486 0 0 1 -187.89806 33.548008 -2372.4636 + 500 0.05 0.049785486 0 0 1 -187.89668 42.973172 -2372.4636 + 550 0.055 0.049785486 0 0 1 -187.9 49.902539 -2372.4636 + 600 0.06 0.049785486 0 0 1 -187.90735 53.166772 -2372.4636 + 650 0.065 0.049785486 0 0 1 -187.91706 53.153416 -2372.4636 + 700 0.07 0.049785486 0 0 1 -187.92692 51.377187 -2372.4636 + 750 0.075 0.049785486 0 0 1 -187.9348 49.725449 -2372.4636 + 800 0.08 0.049785486 0 0 1 -187.93921 49.663576 -2372.4636 + 850 0.085 0.049785486 0 0 1 -187.93974 51.681567 -2372.4636 + 900 0.09 0.049785486 0 0 1 -187.937 55.166554 -2372.4636 + 950 0.095 0.049785486 0 0 1 -187.93239 58.718232 -2372.4636 + 1000 0.1 0.049785486 0 0 1 -187.92755 60.75567 -2372.4636 +Loop time of 4.1303 on 1 procs for 1000 steps with 500 atoms + +Performance: 2.092 ns/day, 11.473 hours/ns, 242.113 timesteps/s +99.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.142 | 2.142 | 2.142 | 0.0 | 51.86 +Neigh | 0.0094573 | 0.0094573 | 0.0094573 | 0.0 | 0.23 +Comm | 0.023293 | 0.023293 | 0.023293 | 0.0 | 0.56 +Output | 0.00031972 | 0.00031972 | 0.00031972 | 0.0 | 0.01 +Modify | 1.9488 | 1.9488 | 1.9488 | 0.0 | 47.18 +Other | | 0.006488 | | | 0.16 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 24065 ave 24065 max 24065 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 48130 ave 48130 max 48130 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 48130 +Ave neighs/atom = 96.26 +Neighbor list builds = 6 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:04 diff --git a/examples/SPIN/cobalt_fcc/log.11May18.spin.cobalt_fcc.g++.4 b/examples/SPIN/cobalt_fcc/log.11May18.spin.cobalt_fcc.g++.4 new file mode 100644 index 0000000000..358d7cfc7a --- /dev/null +++ b/examples/SPIN/cobalt_fcc/log.11May18.spin.cobalt_fcc.g++.4 @@ -0,0 +1,142 @@ +LAMMPS (11 May 2018) +# fcc cobalt in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice fcc 3.54 +Lattice spacing in x,y,z = 3.54 3.54 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (17.7 17.7 17.7) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000240088 secs + +# setting mass, mag. moments, and interactions for fcc cobalt + +mass 1 58.93 + +#set group all spin/random 31 1.72 +set group all spin 1.72 0.0 0.0 1.0 + 500 settings made for spin +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 +fix_modify 1 energy yes + +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# compute and output options + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +thermo_style custom f_1 + +variable magx equal c_out_mag[1] +variable magy equal c_out_mag[2] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time f_1 v_magx v_magy v_magnorm v_emag temp etotal +thermo 50 + +#compute outsp all property/atom spx spy spz sp fmx fmy fmz +#dump 100 all custom 1 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.59954 + ghost atom cutoff = 6.59954 + binsize = 3.29977, bins = 6 6 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.163 | 5.163 | 5.163 Mbytes +Step Time f_1 v_magx v_magy v_magnorm v_emag Temp TotEng + 0 0 0.049785486 0 0 1 -187.94116 100.00543 -2372.4636 + 50 0.005 0.049785486 0 0 1 -187.94101 95.174807 -2372.4636 + 100 0.01 0.049785486 0 0 1 -187.94029 81.854304 -2372.4636 + 150 0.015 0.049785486 0 0 1 -187.93834 63.270938 -2372.4636 + 200 0.02 0.049785486 0 0 1 -187.93446 43.867262 -2372.4636 + 250 0.025 0.049785486 0 0 1 -187.92831 28.075261 -2372.4636 + 300 0.03 0.049785486 0 0 1 -187.92031 19.046222 -2372.4636 + 350 0.035 0.049785486 0 0 1 -187.91161 17.79071 -2372.4636 + 400 0.04 0.049785486 0 0 1 -187.9039 23.079994 -2372.4636 + 450 0.045 0.049785486 0 0 1 -187.89895 32.127316 -2372.4636 + 500 0.05 0.049785486 0 0 1 -187.89801 41.709644 -2372.4636 + 550 0.055 0.049785486 0 0 1 -187.90146 49.246292 -2372.4636 + 600 0.06 0.049785486 0 0 1 -187.90859 53.465535 -2372.4636 + 650 0.065 0.049785486 0 0 1 -187.91778 54.522857 -2372.4636 + 700 0.07 0.049785486 0 0 1 -187.9269 53.635521 -2372.4636 + 750 0.075 0.049785486 0 0 1 -187.93396 52.419678 -2372.4636 + 800 0.08 0.049785486 0 0 1 -187.9376 52.176558 -2372.4636 + 850 0.085 0.049785486 0 0 1 -187.93744 53.380592 -2372.4636 + 900 0.09 0.049785486 0 0 1 -187.93412 55.551378 -2372.4636 + 950 0.095 0.049785486 0 0 1 -187.92902 57.540047 -2372.4636 + 1000 0.1 0.049785486 0 0 1 -187.92378 58.088674 -2372.4636 +Loop time of 1.71411 on 4 procs for 1000 steps with 500 atoms + +Performance: 5.041 ns/day, 4.761 hours/ns, 583.392 timesteps/s +97.7% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.54717 | 0.57392 | 0.58784 | 2.1 | 33.48 +Neigh | 0.0023484 | 0.0025793 | 0.0026793 | 0.3 | 0.15 +Comm | 0.058548 | 0.073335 | 0.10006 | 5.9 | 4.28 +Output | 0.00042272 | 0.00079203 | 0.0018559 | 0.0 | 0.05 +Modify | 1.0577 | 1.0611 | 1.0625 | 0.2 | 61.90 +Other | | 0.00239 | | | 0.14 + +Nlocal: 125 ave 133 max 116 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 1099 ave 1108 max 1091 min +Histogram: 1 0 0 0 2 0 0 0 0 1 +Neighs: 6032.5 ave 6417 max 5489 min +Histogram: 1 0 0 0 0 0 1 1 0 1 +FullNghs: 12065 ave 13062 max 10970 min +Histogram: 1 0 0 0 0 2 0 0 0 1 + +Total # of neighbors = 48260 +Ave neighs/atom = 96.52 +Neighbor list builds = 6 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:01 diff --git a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp index 76d41f724d..4a42ec419a 100644 --- a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp +++ b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp @@ -25,7 +25,7 @@ velocity all create 100 4928459 rot yes dist gaussian #pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0 pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 #pair_coeff * * spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 diff --git a/examples/SPIN/cobalt_hcp/log.11May18.spin.cobalt_hcp.g++.1 b/examples/SPIN/cobalt_hcp/log.11May18.spin.cobalt_hcp.g++.1 new file mode 100644 index 0000000000..4bb513de18 --- /dev/null +++ b/examples/SPIN/cobalt_hcp/log.11May18.spin.cobalt_hcp.g++.1 @@ -0,0 +1,318 @@ +LAMMPS (11 May 2018) +# hcp cobalt in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice hcp 2.5071 +Lattice spacing in x,y,z = 2.5071 4.34242 4.09408 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000801802 secs + +# setting mass, mag. moments, and interactions for hcp cobalt + +mass 1 58.93 + +#set group all spin/random 31 1.72 +set group all spin 1.72 0.0 0.0 1.0 + 500 settings made for spin +velocity all create 100 4928459 rot yes dist gaussian + +#pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0 +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 +#pair_coeff * * spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 + + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 +fix 3 all nve/spin lattice yes + +timestep 0.0001 + + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_emag temp etotal +thermo 10 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_cobalt_hcp.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 2000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.59954 + ghost atom cutoff = 6.59954 + binsize = 3.29977, bins = 4 7 7 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.401 | 7.401 | 7.401 Mbytes +Step Time v_magnorm v_emag Temp TotEng + 0 0 1 -187.29499 100.00543 -2375.8943 + 10 0.001 1 -187.29714 99.845593 -2375.8943 + 20 0.002 1 -187.30356 99.367234 -2375.8943 + 30 0.003 1 -187.31419 98.573996 -2375.8943 + 40 0.004 1 -187.32896 97.472027 -2375.8943 + 50 0.005 1 -187.34772 96.069944 -2375.8943 + 60 0.006 1 -187.37032 94.378764 -2375.8943 + 70 0.007 1 -187.39656 92.411827 -2375.8943 + 80 0.008 1 -187.4262 90.184697 -2375.8943 + 90 0.009 1 -187.459 87.715037 -2375.8943 + 100 0.01 1 -187.49466 85.022479 -2375.8943 + 110 0.011 1 -187.53289 82.128462 -2375.8943 + 120 0.012 1 -187.57334 79.05606 -2375.8943 + 130 0.013 1 -187.61568 75.82979 -2375.8943 + 140 0.014 1 -187.65953 72.475403 -2375.8943 + 150 0.015 1 -187.70453 69.019658 -2375.8943 + 160 0.016 1 -187.75028 65.490086 -2375.8943 + 170 0.017 1 -187.79642 61.914735 -2375.8943 + 180 0.018 1 -187.84254 58.321911 -2375.8943 + 190 0.019 1 -187.88828 54.739907 -2375.8943 + 200 0.02 1 -187.93324 51.196728 -2375.8943 + 210 0.021 1 -187.97708 47.719812 -2375.8943 + 220 0.022 1 -188.01947 44.335762 -2375.8943 + 230 0.023 1 -188.06003 41.07007 -2375.8943 + 240 0.024 1 -188.09853 37.946852 -2375.8944 + 250 0.025 1 -188.13457 34.988599 -2375.8944 + 260 0.026 1 -188.16795 32.215943 -2375.8944 + 270 0.027 1 -188.19851 29.647465 -2375.8944 + 280 0.028 1 -188.22593 27.299481 -2375.8944 + 290 0.029 1 -188.25011 25.185896 -2375.8944 + 300 0.03 1 -188.27095 23.318075 -2375.8945 + 310 0.031 1 -188.2883 21.70475 -2375.8945 + 320 0.032 1 -188.30213 20.35194 -2375.8945 + 330 0.033 1 -188.31251 19.262946 -2375.8945 + 340 0.034 1 -188.31928 18.438347 -2375.8945 + 350 0.035 1 -188.32258 17.876036 -2375.8945 + 360 0.036 1 -188.32249 17.571322 -2375.8945 + 370 0.037 1 -188.31913 17.517032 -2375.8945 + 380 0.038 1 -188.31264 17.703653 -2375.8945 + 390 0.039 1 -188.30321 18.119513 -2375.8945 + 400 0.04 1 -188.29102 18.750969 -2375.8945 + 410 0.041 1 -188.2763 19.582631 -2375.8945 + 420 0.042 1 -188.25929 20.597597 -2375.8945 + 430 0.043 1 -188.24025 21.777699 -2375.8945 + 440 0.044 1 -188.21945 23.103765 -2375.8945 + 450 0.045 1 -188.19719 24.555878 -2375.8946 + 460 0.046 1 -188.17368 26.113643 -2375.8946 + 470 0.047 1 -188.1493 27.756439 -2375.8946 + 480 0.048 1 -188.12429 29.463677 -2375.8946 + 490 0.049 1 -188.09895 31.21504 -2375.8946 + 500 0.05 1 -188.07354 32.990713 -2375.8946 + 510 0.051 1 -188.04832 34.771601 -2375.8945 + 520 0.052 1 -188.02358 36.539517 -2375.8945 + 530 0.053 1 -187.99951 38.27736 -2375.8945 + 540 0.054 1 -187.97636 39.969275 -2375.8945 + 550 0.055 1 -187.95437 41.600775 -2375.8945 + 560 0.056 1 -187.93364 43.158863 -2375.8944 + 570 0.057 1 -187.9144 44.632119 -2375.8944 + 580 0.058 1 -187.89669 46.010765 -2375.8944 + 590 0.059 1 -187.88074 47.286714 -2375.8944 + 600 0.06 1 -187.86658 48.453573 -2375.8944 + 610 0.061 1 -187.85422 49.506668 -2375.8943 + 620 0.062 1 -187.84377 50.443021 -2375.8943 + 630 0.063 1 -187.8352 51.261297 -2375.8943 + 640 0.064 1 -187.8285 51.961764 -2375.8943 + 650 0.065 1 -187.8236 52.54622 -2375.8943 + 660 0.066 1 -187.8205 53.017899 -2375.8943 + 670 0.067 1 -187.81909 53.381374 -2375.8943 + 680 0.068 1 -187.81926 53.64244 -2375.8943 + 690 0.069 1 -187.82092 53.807997 -2375.8943 + 700 0.07 1 -187.82391 53.885909 -2375.8943 + 710 0.071 1 -187.82814 53.884865 -2375.8943 + 720 0.072 1 -187.83339 53.814238 -2375.8943 + 730 0.073 1 -187.83952 53.68392 -2375.8943 + 740 0.074 1 -187.84635 53.504185 -2375.8943 + 750 0.075 1 -187.85375 53.285525 -2375.8943 + 760 0.076 1 -187.86153 53.038494 -2375.8943 + 770 0.077 1 -187.86952 52.773567 -2375.8943 + 780 0.078 1 -187.87758 52.500994 -2375.8943 + 790 0.079 1 -187.88549 52.230655 -2375.8943 + 800 0.08 1 -187.89313 51.971933 -2375.8943 + 810 0.081 1 -187.90035 51.733593 -2375.8943 + 820 0.082 1 -187.90702 51.523671 -2375.8943 + 830 0.083 1 -187.91302 51.349376 -2375.8943 + 840 0.084 1 -187.91824 51.217006 -2375.8943 + 850 0.085 1 -187.9226 51.131875 -2375.8943 + 860 0.086 1 -187.92602 51.098259 -2375.8943 + 870 0.087 1 -187.92844 51.119356 -2375.8943 + 880 0.088 1 -187.92979 51.197261 -2375.8943 + 890 0.089 1 -187.93011 51.332955 -2375.8943 + 900 0.09 1 -187.92937 51.526314 -2375.8943 + 910 0.091 1 -187.92757 51.77613 -2375.8943 + 920 0.092 1 -187.92475 52.080145 -2375.8943 + 930 0.093 1 -187.92096 52.435106 -2375.8943 + 940 0.094 1 -187.91624 52.836825 -2375.8943 + 950 0.095 1 -187.91068 53.280251 -2375.8943 + 960 0.096 1 -187.90435 53.759559 -2375.8943 + 970 0.097 1 -187.89734 54.268246 -2375.8943 + 980 0.098 1 -187.88981 54.799223 -2375.8943 + 990 0.099 1 -187.88185 55.344928 -2375.8943 + 1000 0.1 1 -187.87357 55.897438 -2375.8943 + 1010 0.101 1 -187.86511 56.448585 -2375.8943 + 1020 0.102 1 -187.8566 56.990069 -2375.8943 + 1030 0.103 1 -187.84817 57.513575 -2375.8943 + 1040 0.104 1 -187.83995 58.010887 -2375.8943 + 1050 0.105 1 -187.83208 58.474004 -2375.8943 + 1060 0.106 1 -187.8247 58.89524 -2375.8943 + 1070 0.107 1 -187.81789 59.267328 -2375.8943 + 1080 0.108 1 -187.81177 59.583518 -2375.8943 + 1090 0.109 1 -187.80646 59.837665 -2375.8943 + 1100 0.11 1 -187.80204 60.024306 -2375.8943 + 1110 0.111 1 -187.79861 60.138734 -2375.8943 + 1120 0.112 1 -187.79625 60.177056 -2375.8943 + 1130 0.113 1 -187.79497 60.136244 -2375.8943 + 1140 0.114 1 -187.79485 60.014176 -2375.8943 + 1150 0.115 1 -187.7959 59.809665 -2375.8943 + 1160 0.116 1 -187.79811 59.52248 -2375.8943 + 1170 0.117 1 -187.80157 59.153353 -2375.8943 + 1180 0.118 1 -187.80618 58.703971 -2375.8943 + 1190 0.119 1 -187.81193 58.176956 -2375.8943 + 1200 0.12 1 -187.81879 57.575849 -2375.8943 + 1210 0.121 1 -187.82668 56.905072 -2375.8943 + 1220 0.122 1 -187.83554 56.169878 -2375.8943 + 1230 0.123 1 -187.84528 55.376297 -2375.8943 + 1240 0.124 1 -187.85581 54.53107 -2375.8943 + 1250 0.125 1 -187.86702 53.641573 -2375.8943 + 1260 0.126 1 -187.8788 52.715739 -2375.8943 + 1270 0.127 1 -187.89103 51.761969 -2375.8943 + 1280 0.128 1 -187.90358 50.789036 -2375.8943 + 1290 0.129 1 -187.91632 49.805988 -2375.8943 + 1300 0.13 1 -187.92911 48.822045 -2375.8943 + 1310 0.131 1 -187.94182 47.846491 -2375.8943 + 1320 0.132 1 -187.95428 46.888574 -2375.8943 + 1330 0.133 1 -187.96643 45.957394 -2375.8943 + 1340 0.134 1 -187.9781 45.061794 -2375.8943 + 1350 0.135 1 -187.9892 44.210263 -2375.8943 + 1360 0.136 1 -187.99955 43.410832 -2375.8943 + 1370 0.137 1 -188.00907 42.670979 -2375.8943 + 1380 0.138 1 -188.01767 41.997547 -2375.8943 + 1390 0.139 1 -188.02525 41.396655 -2375.8943 + 1400 0.14 1 -188.03177 40.873631 -2375.8944 + 1410 0.141 1 -188.03711 40.432952 -2375.8944 + 1420 0.142 1 -188.04124 40.078172 -2375.8944 + 1430 0.143 1 -188.04413 39.811902 -2375.8944 + 1440 0.144 1 -188.04575 39.635775 -2375.8944 + 1450 0.145 1 -188.04607 39.550435 -2375.8943 + 1460 0.146 1 -188.04515 39.555512 -2375.8943 + 1470 0.147 1 -188.04298 39.649651 -2375.8943 + 1480 0.148 1 -188.03961 39.830523 -2375.8943 + 1490 0.149 1 -188.03508 40.094865 -2375.8943 + 1500 0.15 1 -188.02944 40.438519 -2375.8943 + 1510 0.151 1 -188.02275 40.856491 -2375.8943 + 1520 0.152 1 -188.01515 41.343019 -2375.8943 + 1530 0.153 1 -188.00671 41.891643 -2375.8943 + 1540 0.154 1 -187.99753 42.495295 -2375.8943 + 1550 0.155 1 -187.98772 43.14639 -2375.8943 + 1560 0.156 1 -187.9774 43.836918 -2375.8943 + 1570 0.157 1 -187.9667 44.558553 -2375.8943 + 1580 0.158 1 -187.95576 45.302751 -2375.8943 + 1590 0.159 1 -187.94466 46.060862 -2375.8943 + 1600 0.16 1 -187.93356 46.824226 -2375.8943 + 1610 0.161 1 -187.92257 47.584289 -2375.8943 + 1620 0.162 1 -187.91183 48.332703 -2375.8943 + 1630 0.163 1 -187.90145 49.061422 -2375.8943 + 1640 0.164 1 -187.89155 49.762798 -2375.8943 + 1650 0.165 1 -187.88222 50.429671 -2375.8943 + 1660 0.166 1 -187.87357 51.055445 -2375.8943 + 1670 0.167 1 -187.86569 51.634167 -2375.8943 + 1680 0.168 1 -187.85864 52.160588 -2375.8943 + 1690 0.169 1 -187.85249 52.630219 -2375.8943 + 1700 0.17 1 -187.8473 53.039377 -2375.8943 + 1710 0.171 1 -187.84311 53.385221 -2375.8943 + 1720 0.172 1 -187.83994 53.665778 -2375.8943 + 1730 0.173 1 -187.83781 53.879954 -2375.8943 + 1740 0.174 1 -187.83671 54.027539 -2375.8943 + 1750 0.175 1 -187.83663 54.109201 -2375.8943 + 1760 0.176 1 -187.83753 54.126472 -2375.8943 + 1770 0.177 1 -187.83941 54.081708 -2375.8943 + 1780 0.178 1 -187.8422 53.97806 -2375.8943 + 1790 0.179 1 -187.84584 53.819424 -2375.8943 + 1800 0.18 1 -187.85025 53.610389 -2375.8943 + 1810 0.181 1 -187.85535 53.356163 -2375.8943 + 1820 0.182 1 -187.86105 53.06251 -2375.8943 + 1830 0.183 1 -187.86723 52.735671 -2375.8943 + 1840 0.184 1 -187.87384 52.382262 -2375.8943 + 1850 0.185 1 -187.88075 52.009201 -2375.8943 + 1860 0.186 1 -187.88784 51.623613 -2375.8943 + 1870 0.187 1 -187.89501 51.232726 -2375.8943 + 1880 0.188 1 -187.90214 50.843782 -2375.8943 + 1890 0.189 1 -187.90912 50.463929 -2375.8943 + 1900 0.19 1 -187.91585 50.100133 -2375.8943 + 1910 0.191 1 -187.92222 49.759075 -2375.8943 + 1920 0.192 1 -187.92814 49.447064 -2375.8943 + 1930 0.193 1 -187.93351 49.169949 -2375.8943 + 1940 0.194 1 -187.93826 48.933036 -2375.8943 + 1950 0.195 1 -187.94232 48.741013 -2375.8943 + 1960 0.196 1 -187.94561 48.597888 -2375.8943 + 1970 0.197 1 -187.94809 48.506926 -2375.8943 + 1980 0.198 1 -187.94972 48.470605 -2375.8943 + 1990 0.199 1 -187.95047 48.490576 -2375.8943 + 2000 0.2 1 -187.95033 48.567643 -2375.8943 +Loop time of 10.5391 on 1 procs for 2000 steps with 500 atoms + +Performance: 1.640 ns/day, 14.638 hours/ns, 189.770 timesteps/s +99.6% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.9958 | 4.9958 | 4.9958 | 0.0 | 47.40 +Neigh | 0.020741 | 0.020741 | 0.020741 | 0.0 | 0.20 +Comm | 0.05899 | 0.05899 | 0.05899 | 0.0 | 0.56 +Output | 1.1598 | 1.1598 | 1.1598 | 0.0 | 11.00 +Modify | 4.2885 | 4.2885 | 4.2885 | 0.0 | 40.69 +Other | | 0.01522 | | | 0.14 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2444 ave 2444 max 2444 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 27041 ave 27041 max 27041 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 54082 ave 54082 max 54082 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 54082 +Ave neighs/atom = 108.164 +Neighbor list builds = 12 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:10 diff --git a/examples/SPIN/cobalt_hcp/log.11May18.spin.cobalt_hcp.g++.4 b/examples/SPIN/cobalt_hcp/log.11May18.spin.cobalt_hcp.g++.4 new file mode 100644 index 0000000000..4e7e6b1b97 --- /dev/null +++ b/examples/SPIN/cobalt_hcp/log.11May18.spin.cobalt_hcp.g++.4 @@ -0,0 +1,318 @@ +LAMMPS (11 May 2018) +# hcp cobalt in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice hcp 2.5071 +Lattice spacing in x,y,z = 2.5071 4.34242 4.09408 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000241518 secs + +# setting mass, mag. moments, and interactions for hcp cobalt + +mass 1 58.93 + +#set group all spin/random 31 1.72 +set group all spin 1.72 0.0 0.0 1.0 + 500 settings made for spin +velocity all create 100 4928459 rot yes dist gaussian + +#pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0 +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 +#pair_coeff * * spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 + + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 +fix 3 all nve/spin lattice yes + +timestep 0.0001 + + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_emag temp etotal +thermo 10 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_cobalt_hcp.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 2000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.59954 + ghost atom cutoff = 6.59954 + binsize = 3.29977, bins = 4 7 7 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.313 | 7.314 | 7.314 Mbytes +Step Time v_magnorm v_emag Temp TotEng + 0 0 1 -187.29499 100.00543 -2375.8943 + 10 0.001 1 -187.29721 99.841045 -2375.8943 + 20 0.002 1 -187.30385 99.349208 -2375.8943 + 30 0.003 1 -187.31485 98.533905 -2375.8943 + 40 0.004 1 -187.33011 97.401749 -2375.8943 + 50 0.005 1 -187.34949 95.961938 -2375.8943 + 60 0.006 1 -187.37283 94.22618 -2375.8943 + 70 0.007 1 -187.39992 92.208606 -2375.8943 + 80 0.008 1 -187.43051 89.92566 -2375.8943 + 90 0.009 1 -187.46434 87.39597 -2375.8943 + 100 0.01 1 -187.5011 84.640195 -2375.8943 + 110 0.011 1 -187.54047 81.680862 -2375.8943 + 120 0.012 1 -187.5821 78.542172 -2375.8943 + 130 0.013 1 -187.62564 75.249797 -2375.8943 + 140 0.014 1 -187.67069 71.830656 -2375.8943 + 150 0.015 1 -187.71686 68.312673 -2375.8943 + 160 0.016 1 -187.76377 64.724523 -2375.8943 + 170 0.017 1 -187.81099 61.095365 -2375.8943 + 180 0.018 1 -187.85814 57.454566 -2375.8943 + 190 0.019 1 -187.90481 53.831412 -2375.8943 + 200 0.02 1 -187.95061 50.254822 -2375.8943 + 210 0.021 1 -187.99517 46.753056 -2375.8943 + 220 0.022 1 -188.03812 43.353428 -2375.8943 + 230 0.023 1 -188.07913 40.082023 -2375.8943 + 240 0.024 1 -188.11787 36.963429 -2375.8943 + 250 0.025 1 -188.15409 34.020481 -2375.8943 + 260 0.026 1 -188.1875 31.27403 -2375.8943 + 270 0.027 1 -188.21782 28.74271 -2375.8943 + 280 0.028 1 -188.2449 26.44276 -2375.8943 + 290 0.029 1 -188.26857 24.387875 -2375.8943 + 300 0.03 1 -188.28877 22.589076 -2375.8944 + 310 0.031 1 -188.30529 21.054615 -2375.8944 + 320 0.032 1 -188.31814 19.789913 -2375.8944 + 330 0.033 1 -188.3273 18.797563 -2375.8944 + 340 0.034 1 -188.33284 18.077336 -2375.8944 + 350 0.035 1 -188.33478 17.626237 -2375.8945 + 360 0.036 1 -188.33319 17.438611 -2375.8945 + 370 0.037 1 -188.32824 17.506247 -2375.8945 + 380 0.038 1 -188.32007 17.818564 -2375.8945 + 390 0.039 1 -188.30888 18.362769 -2375.8945 + 400 0.04 1 -188.2949 19.124086 -2375.8945 + 410 0.041 1 -188.27837 20.085983 -2375.8945 + 420 0.042 1 -188.25957 21.230423 -2375.8945 + 430 0.043 1 -188.23868 22.538112 -2375.8945 + 440 0.044 1 -188.21604 23.988778 -2375.8945 + 450 0.045 1 -188.19195 25.561447 -2375.8945 + 460 0.046 1 -188.16672 27.234703 -2375.8945 + 470 0.047 1 -188.14064 28.986964 -2375.8946 + 480 0.048 1 -188.11402 30.796738 -2375.8946 + 490 0.049 1 -188.08713 32.642869 -2375.8945 + 500 0.05 1 -188.06032 34.504776 -2375.8945 + 510 0.051 1 -188.03383 36.362662 -2375.8945 + 520 0.052 1 -188.00793 38.197721 -2375.8945 + 530 0.053 1 -187.98284 39.992314 -2375.8945 + 540 0.054 1 -187.95884 41.730127 -2375.8945 + 550 0.055 1 -187.93612 43.396298 -2375.8945 + 560 0.056 1 -187.91489 44.97754 -2375.8945 + 570 0.057 1 -187.89524 46.462224 -2375.8945 + 580 0.058 1 -187.87735 47.840443 -2375.8945 + 590 0.059 1 -187.8613 49.104064 -2375.8945 + 600 0.06 1 -187.84719 50.246744 -2375.8945 + 610 0.061 1 -187.83509 51.26393 -2375.8944 + 620 0.062 1 -187.82506 52.152839 -2375.8944 + 630 0.063 1 -187.81706 52.912413 -2375.8944 + 640 0.064 1 -187.81109 53.543272 -2375.8944 + 650 0.065 1 -187.80708 54.047636 -2375.8944 + 660 0.066 1 -187.80499 54.429234 -2375.8944 + 670 0.067 1 -187.8047 54.693202 -2375.8944 + 680 0.068 1 -187.80613 54.845965 -2375.8944 + 690 0.069 1 -187.80914 54.895106 -2375.8944 + 700 0.07 1 -187.81356 54.849238 -2375.8944 + 710 0.071 1 -187.81923 54.71786 -2375.8943 + 720 0.072 1 -187.82608 54.511181 -2375.8943 + 730 0.073 1 -187.83388 54.239987 -2375.8943 + 740 0.074 1 -187.84244 53.91548 -2375.8943 + 750 0.075 1 -187.85158 53.549112 -2375.8943 + 760 0.076 1 -187.86112 53.152433 -2375.8943 + 770 0.077 1 -187.87086 52.736925 -2375.8943 + 780 0.078 1 -187.88063 52.313858 -2375.8943 + 790 0.079 1 -187.89026 51.894138 -2375.8943 + 800 0.08 1 -187.89958 51.488169 -2375.8943 + 810 0.081 1 -187.90842 51.105725 -2375.8943 + 820 0.082 1 -187.91663 50.755829 -2375.8943 + 830 0.083 1 -187.92411 50.446651 -2375.8943 + 840 0.084 1 -187.93071 50.185404 -2375.8943 + 850 0.085 1 -187.93637 49.978262 -2375.8943 + 860 0.086 1 -187.94099 49.830307 -2375.8943 + 870 0.087 1 -187.9445 49.745473 -2375.8943 + 880 0.088 1 -187.94685 49.726517 -2375.8943 + 890 0.089 1 -187.94802 49.774999 -2375.8943 + 900 0.09 1 -187.94799 49.891282 -2375.8943 + 910 0.091 1 -187.94678 50.074549 -2375.8943 + 920 0.092 1 -187.94441 50.322833 -2375.8943 + 930 0.093 1 -187.94093 50.633063 -2375.8943 + 940 0.094 1 -187.93639 51.001126 -2375.8943 + 950 0.095 1 -187.93089 51.421938 -2375.8943 + 960 0.096 1 -187.9245 51.889531 -2375.8943 + 970 0.097 1 -187.91733 52.397148 -2375.8943 + 980 0.098 1 -187.9095 52.937345 -2375.8943 + 990 0.099 1 -187.90113 53.502108 -2375.8943 + 1000 0.1 1 -187.89236 54.082966 -2375.8943 + 1010 0.101 1 -187.88332 54.671115 -2375.8943 + 1020 0.102 1 -187.87415 55.257545 -2375.8943 + 1030 0.103 1 -187.86501 55.833162 -2375.8943 + 1040 0.104 1 -187.85602 56.388915 -2375.8943 + 1050 0.105 1 -187.84734 56.915918 -2375.8943 + 1060 0.106 1 -187.83909 57.405575 -2375.8943 + 1070 0.107 1 -187.83143 57.849686 -2375.8943 + 1080 0.108 1 -187.82446 58.240564 -2375.8943 + 1090 0.109 1 -187.8183 58.571132 -2375.8943 + 1100 0.11 1 -187.81306 58.835016 -2375.8943 + 1110 0.111 1 -187.80883 59.026633 -2375.8943 + 1120 0.112 1 -187.8057 59.141258 -2375.8943 + 1130 0.113 1 -187.80372 59.17509 -2375.8943 + 1140 0.114 1 -187.80295 59.125305 -2375.8943 + 1150 0.115 1 -187.80341 58.990092 -2375.8943 + 1160 0.116 1 -187.80515 58.76868 -2375.8943 + 1170 0.117 1 -187.80814 58.461352 -2375.8943 + 1180 0.118 1 -187.81244 58.069457 -2375.8943 + 1190 0.119 1 -187.81794 57.595377 -2375.8944 + 1200 0.12 1 -187.82458 57.042514 -2375.8944 + 1210 0.121 1 -187.83233 56.415256 -2375.8944 + 1220 0.122 1 -187.84112 55.718931 -2375.8944 + 1230 0.123 1 -187.85086 54.959744 -2375.8944 + 1240 0.124 1 -187.86145 54.144707 -2375.8944 + 1250 0.125 1 -187.87277 53.281562 -2375.8944 + 1260 0.126 1 -187.88471 52.378686 -2375.8944 + 1270 0.127 1 -187.89713 51.445 -2375.8944 + 1280 0.128 1 -187.9099 50.489858 -2375.8944 + 1290 0.129 1 -187.92288 49.522943 -2375.8944 + 1300 0.13 1 -187.93591 48.554147 -2375.8944 + 1310 0.131 1 -187.94886 47.593456 -2375.8944 + 1320 0.132 1 -187.96157 46.650829 -2375.8944 + 1330 0.133 1 -187.97391 45.736073 -2375.8944 + 1340 0.134 1 -187.98573 44.858733 -2375.8944 + 1350 0.135 1 -187.99691 44.027964 -2375.8944 + 1360 0.136 1 -188.00731 43.252426 -2375.8944 + 1370 0.137 1 -188.01678 42.540178 -2375.8943 + 1380 0.138 1 -188.02529 41.898568 -2375.8943 + 1390 0.139 1 -188.0327 41.334152 -2375.8943 + 1400 0.14 1 -188.03894 40.852606 -2375.8943 + 1410 0.141 1 -188.04396 40.45866 -2375.8944 + 1420 0.142 1 -188.04768 40.156041 -2375.8944 + 1430 0.143 1 -188.05007 39.947416 -2375.8944 + 1440 0.144 1 -188.05107 39.834367 -2375.8944 + 1450 0.145 1 -188.0507 39.817378 -2375.8944 + 1460 0.146 1 -188.04898 39.895828 -2375.8944 + 1470 0.147 1 -188.04595 40.068005 -2375.8945 + 1480 0.148 1 -188.04164 40.331129 -2375.8945 + 1490 0.149 1 -188.03603 40.681394 -2375.8945 + 1500 0.15 1 -188.02929 41.114003 -2375.8945 + 1510 0.151 1 -188.02148 41.623259 -2375.8945 + 1520 0.152 1 -188.0127 42.20263 -2375.8945 + 1530 0.153 1 -188.00302 42.844846 -2375.8945 + 1540 0.154 1 -187.99255 43.541977 -2375.8945 + 1550 0.155 1 -187.98148 44.285554 -2375.8945 + 1560 0.156 1 -187.96989 45.066666 -2375.8945 + 1570 0.157 1 -187.95793 45.876084 -2375.8945 + 1580 0.158 1 -187.94574 46.704378 -2375.8945 + 1590 0.159 1 -187.93346 47.542032 -2375.8945 + 1600 0.16 1 -187.92122 48.379564 -2375.8945 + 1610 0.161 1 -187.90916 49.207642 -2375.8945 + 1620 0.162 1 -187.89742 50.0172 -2375.8945 + 1630 0.163 1 -187.88613 50.799541 -2375.8945 + 1640 0.164 1 -187.87536 51.546446 -2375.8944 + 1650 0.165 1 -187.86531 52.250265 -2375.8944 + 1660 0.166 1 -187.85604 52.904001 -2375.8944 + 1670 0.167 1 -187.84765 53.501394 -2375.8944 + 1680 0.168 1 -187.84021 54.036987 -2375.8944 + 1690 0.169 1 -187.83379 54.506178 -2375.8944 + 1700 0.17 1 -187.82846 54.905273 -2375.8944 + 1710 0.171 1 -187.82424 55.231514 -2375.8944 + 1720 0.172 1 -187.82117 55.483104 -2375.8944 + 1730 0.173 1 -187.81922 55.659221 -2375.8944 + 1740 0.174 1 -187.81843 55.760007 -2375.8944 + 1750 0.175 1 -187.81881 55.786556 -2375.8944 + 1760 0.176 1 -187.82029 55.740888 -2375.8944 + 1770 0.177 1 -187.82284 55.625916 -2375.8944 + 1780 0.178 1 -187.82639 55.445397 -2375.8944 + 1790 0.179 1 -187.83088 55.203871 -2375.8944 + 1800 0.18 1 -187.83623 54.906597 -2375.8944 + 1810 0.181 1 -187.84235 54.559471 -2375.8944 + 1820 0.182 1 -187.84913 54.168949 -2375.8944 + 1830 0.183 1 -187.85646 53.741952 -2375.8943 + 1840 0.184 1 -187.86424 53.28578 -2375.8943 + 1850 0.185 1 -187.87239 52.807988 -2375.8943 + 1860 0.186 1 -187.88077 52.3163 -2375.8943 + 1870 0.187 1 -187.88925 51.81851 -2375.8943 + 1880 0.188 1 -187.89772 51.322368 -2375.8943 + 1890 0.189 1 -187.90605 50.835483 -2375.8943 + 1900 0.19 1 -187.91415 50.365218 -2375.8943 + 1910 0.191 1 -187.92189 49.9186 -2375.8943 + 1920 0.192 1 -187.92917 49.502222 -2375.8943 + 1930 0.193 1 -187.93591 49.122167 -2375.8943 + 1940 0.194 1 -187.94198 48.783928 -2375.8943 + 1950 0.195 1 -187.94737 48.492348 -2375.8943 + 1960 0.196 1 -187.95199 48.25154 -2375.8943 + 1970 0.197 1 -187.95576 48.064862 -2375.8943 + 1980 0.198 1 -187.95866 47.934875 -2375.8943 + 1990 0.199 1 -187.96065 47.863314 -2375.8943 + 2000 0.2 1 -187.96171 47.851079 -2375.8943 +Loop time of 4.40076 on 4 procs for 2000 steps with 500 atoms + +Performance: 3.927 ns/day, 6.112 hours/ns, 454.467 timesteps/s +96.2% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.2934 | 1.3683 | 1.432 | 4.2 | 31.09 +Neigh | 0.005039 | 0.0053418 | 0.0054908 | 0.2 | 0.12 +Comm | 0.12642 | 0.1922 | 0.26891 | 11.6 | 4.37 +Output | 0.39256 | 0.40875 | 0.43431 | 2.5 | 9.29 +Modify | 2.395 | 2.4202 | 2.4352 | 1.0 | 54.99 +Other | | 0.006007 | | | 0.14 + +Nlocal: 125 ave 130 max 122 min +Histogram: 1 1 0 1 0 0 0 0 0 1 +Nghost: 1324 ave 1330 max 1316 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 6747 ave 6959 max 6652 min +Histogram: 2 1 0 0 0 0 0 0 0 1 +FullNghs: 13494 ave 14060 max 13186 min +Histogram: 2 0 0 1 0 0 0 0 0 1 + +Total # of neighbors = 53976 +Ave neighs/atom = 107.952 +Neighbor list builds = 12 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:04 diff --git a/examples/SPIN/iron/in.spin.iron b/examples/SPIN/iron/in.spin.iron index 758cc6c589..c2d5082cb6 100644 --- a/examples/SPIN/iron/in.spin.iron +++ b/examples/SPIN/iron/in.spin.iron @@ -23,7 +23,7 @@ set group all spin/random 31 2.2 velocity all create 100 4928459 rot yes dist gaussian pair_style hybrid/overlay eam/alloy spin/exchange 3.5 -pair_coeff * * eam/alloy ../examples/SPIN/iron/Fe_Mishin2006.eam.alloy Fe +pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841 neighbor 0.1 bin diff --git a/examples/SPIN/iron/log.11May18.spin.iron.g++.1 b/examples/SPIN/iron/log.11May18.spin.iron.g++.1 new file mode 100644 index 0000000000..1b27478002 --- /dev/null +++ b/examples/SPIN/iron/log.11May18.spin.iron.g++.1 @@ -0,0 +1,1115 @@ +LAMMPS (11 May 2018) +# bcc iron in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice bcc 2.8665 +Lattice spacing in x,y,z = 2.8665 2.8665 2.8665 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 250 atoms + Time spent = 0.000727415 secs + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 + +set group all spin/random 31 2.2 + 250 settings made for spin/random +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 3.5 +pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe +pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# compute and output options + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_tmag temp v_emag ke pe etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 50000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.77337 + ghost atom cutoff = 5.77337 + binsize = 2.88668, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.319 | 7.319 | 7.319 Mbytes +Step Time v_magnorm v_tmag Temp v_emag KinEng PotEng TotEng + 0 0 0.076456975 9109.0924 100.00358 -0.85791269 3.2186929 -1070.8579 -1067.6392 + 50 0.005 0.076456974 9316.7659 96.663685 -0.86504718 3.1111957 -1070.7504 -1067.6392 + 100 0.01 0.076456983 9488.3743 86.965803 -0.88035771 2.7990619 -1070.4383 -1067.6392 + 150 0.015 0.076456973 9589.0566 72.421197 -0.8996913 2.3309324 -1069.9702 -1067.6392 + 200 0.02 0.076456944 9415.3095 55.633188 -0.921682 1.7905973 -1069.4298 -1067.6392 + 250 0.025 0.076456953 8878.9394 39.802206 -0.94649004 1.2810649 -1068.9203 -1067.6392 + 300 0.03 0.076457027 8203.3388 27.882295 -0.97253854 0.8974133 -1068.5366 -1067.6392 + 350 0.035 0.076457103 7720.309 21.776538 -0.99708692 0.70089477 -1068.3401 -1067.6392 + 400 0.04 0.076457117 7531.0683 21.857102 -1.0190244 0.70348778 -1068.3427 -1067.6392 + 450 0.045 0.076457072 7479.8073 26.959407 -1.0389343 0.86770942 -1068.5069 -1067.6392 + 500 0.05 0.076457001 7461.6683 34.92521 -1.0582008 1.124095 -1068.7633 -1067.6392 + 550 0.055 0.076456962 7396.1112 43.405912 -1.0785156 1.397053 -1069.0363 -1067.6392 + 600 0.06 0.076456997 7121.894 50.544844 -1.102048 1.626825 -1069.2661 -1067.6392 + 650 0.065 0.076457079 6683.4805 55.261218 -1.1296588 1.7786252 -1069.4179 -1067.6392 + 700 0.07 0.076457136 6313.6896 57.25083 -1.1595102 1.8426624 -1069.4819 -1067.6392 + 750 0.075 0.076457132 6199.0363 56.934336 -1.1893875 1.8324758 -1069.4717 -1067.6392 + 800 0.08 0.076457116 6265.997 55.266343 -1.2181223 1.7787901 -1069.418 -1067.6392 + 850 0.085 0.076457116 6326.5886 53.376453 -1.2443326 1.7179626 -1069.3572 -1067.6392 + 900 0.09 0.076457121 6336.1261 52.279557 -1.2676425 1.6826581 -1069.3219 -1067.6392 + 950 0.095 0.076457122 6288.4204 52.667743 -1.2902335 1.6951522 -1069.3344 -1067.6392 + 1000 0.1 0.076457135 6122.1622 54.684094 -1.314147 1.76005 -1069.3993 -1067.6392 + 1050 0.105 0.076457155 5830.2219 57.880399 -1.3392396 1.8629256 -1069.5022 -1067.6392 + 1100 0.11 0.076457162 5477.4214 61.505616 -1.3662331 1.979606 -1069.6188 -1067.6392 + 1150 0.115 0.076457195 5194.1423 64.810972 -1.3984474 2.0859914 -1069.7252 -1067.6392 + 1200 0.12 0.076457219 5096.2484 67.147472 -1.438326 2.1611935 -1069.8004 -1067.6392 + 1250 0.125 0.076457214 5180.7444 67.957533 -1.4822383 2.1872659 -1069.8265 -1067.6392 + 1300 0.13 0.076457208 5332.4483 66.96652 -1.5226303 2.1553694 -1069.7946 -1067.6392 + 1350 0.135 0.076457225 5441.1287 64.471602 -1.5553539 2.0750686 -1069.7143 -1067.6392 + 1400 0.14 0.076457244 5466.8622 61.292592 -1.5804721 1.9727496 -1069.612 -1067.6392 + 1450 0.145 0.07645724 5403.309 58.518161 -1.6006864 1.8834524 -1069.5227 -1067.6392 + 1500 0.15 0.076457224 5275.2171 57.1713 -1.6196756 1.8401027 -1069.4793 -1067.6392 + 1550 0.155 0.076457217 5122.7481 57.878063 -1.6407322 1.8628504 -1069.5021 -1067.6392 + 1600 0.16 0.076457217 4968.5049 60.639452 -1.6657935 1.9517278 -1069.591 -1067.6392 + 1650 0.165 0.076457208 4850.1861 64.668839 -1.690847 2.0814168 -1069.7206 -1067.6392 + 1700 0.17 0.076457217 4809.0194 68.693586 -1.7087416 2.2109564 -1069.8502 -1067.6392 + 1750 0.175 0.076457274 4835.8611 71.611033 -1.7188587 2.3048567 -1069.9441 -1067.6392 + 1800 0.18 0.076457318 4929.7428 72.815077 -1.7280248 2.3436098 -1069.9828 -1067.6392 + 1850 0.185 0.076457279 5036.6365 72.102335 -1.7426092 2.3206696 -1069.9599 -1067.6392 + 1900 0.19 0.076457222 5116.2436 69.579977 -1.7638235 2.2394856 -1069.8787 -1067.6392 + 1950 0.195 0.076457228 5207.2334 65.715745 -1.7895824 2.1151122 -1069.7543 -1067.6392 + 2000 0.2 0.076457288 5216.0413 61.340972 -1.8174915 1.9743068 -1069.6135 -1067.6392 + 2050 0.205 0.076457267 5023.1601 57.468628 -1.8456914 1.8496724 -1069.4889 -1067.6392 + 2100 0.21 0.076457198 4748.7818 55.033266 -1.8742291 1.7712884 -1069.4105 -1067.6392 + 2150 0.215 0.076457199 4558.1302 54.573806 -1.9035225 1.7565003 -1069.3957 -1067.6392 + 2200 0.22 0.076457185 4483.1644 56.074241 -1.9322669 1.804793 -1069.444 -1067.6392 + 2250 0.225 0.076457114 4430.1583 59.0552 -1.9577399 1.9007374 -1069.54 -1067.6392 + 2300 0.23 0.076457092 4353.7973 62.874849 -1.9801275 2.0236758 -1069.6629 -1067.6392 + 2350 0.235 0.076457145 4303.5275 66.892738 -2.0022129 2.1529947 -1069.7922 -1067.6392 + 2400 0.24 0.076457171 4258.6889 70.426826 -2.0233072 2.2667421 -1069.906 -1067.6392 + 2450 0.245 0.076457169 4178.5775 72.910422 -2.0405304 2.3466785 -1069.9859 -1067.6392 + 2500 0.25 0.07645717 4114.786 74.106367 -2.0531755 2.3851709 -1070.0244 -1067.6392 + 2550 0.255 0.076457136 4067.5017 74.169349 -2.0634674 2.3871981 -1070.0264 -1067.6392 + 2600 0.26 0.076457099 4045.3324 73.586199 -2.0755814 2.3684289 -1070.0077 -1067.6392 + 2650 0.265 0.076457099 4137.898 72.914235 -2.0913646 2.3468012 -1069.986 -1067.6392 + 2700 0.27 0.076457106 4332.063 72.583192 -2.1091075 2.3361464 -1069.9754 -1067.6392 + 2750 0.275 0.07645709 4465.1953 72.814559 -2.125099 2.3435931 -1069.9828 -1067.6392 + 2800 0.28 0.076457051 4516.5192 73.652154 -2.1371914 2.3705517 -1070.0098 -1067.6392 + 2850 0.285 0.076457019 4555.5962 75.060211 -2.1489378 2.4158711 -1070.0551 -1067.6392 + 2900 0.29 0.076457069 4544.2734 76.844795 -2.1667679 2.4733094 -1070.1125 -1067.6392 + 2950 0.295 0.076457172 4460.2109 78.48171 -2.1924421 2.5259948 -1070.1652 -1067.6392 + 3000 0.3 0.076457219 4323.2746 79.20682 -2.2209955 2.549333 -1070.1886 -1067.6392 + 3050 0.305 0.076457213 4155.688 78.543529 -2.2505299 2.5279844 -1070.1672 -1067.6392 + 3100 0.31 0.076457203 3969.6188 76.554785 -2.2858382 2.4639752 -1070.1032 -1067.6392 + 3150 0.315 0.076457187 3761.432 73.396149 -2.3245055 2.362312 -1070.0015 -1067.6392 + 3200 0.32 0.076457142 3602.8035 69.313196 -2.3577056 2.230899 -1069.8701 -1067.6392 + 3250 0.325 0.076457116 3505.707 65.032482 -2.3836874 2.0931209 -1069.7324 -1067.6392 + 3300 0.33 0.07645716 3424.8795 61.551539 -2.4057167 1.9810841 -1069.6203 -1067.6392 + 3350 0.335 0.076457236 3335.9672 59.709703 -2.4251844 1.9218031 -1069.561 -1067.6392 + 3400 0.34 0.076457298 3238.0186 60.026953 -2.4425501 1.9320141 -1069.5712 -1067.6392 + 3450 0.345 0.076457297 3185.0674 62.613739 -2.4593531 2.0152718 -1069.6545 -1067.6392 + 3500 0.35 0.07645723 3197.4087 67.011871 -2.4756907 2.1568291 -1069.7961 -1067.6392 + 3550 0.355 0.076457177 3216.1428 72.316209 -2.4911379 2.3275533 -1069.9668 -1067.6392 + 3600 0.36 0.076457165 3241.0326 77.550071 -2.5083858 2.4960092 -1070.1352 -1067.6392 + 3650 0.365 0.076457168 3309.6874 81.877688 -2.5306273 2.6352969 -1070.2745 -1067.6392 + 3700 0.37 0.07645718 3350.748 84.764646 -2.5595247 2.7282159 -1070.3674 -1067.6392 + 3750 0.375 0.07645721 3368.085 86.031781 -2.5938559 2.7689996 -1070.4082 -1067.6392 + 3800 0.38 0.076457208 3425.3173 85.733048 -2.6266899 2.7593847 -1070.3986 -1067.6392 + 3850 0.385 0.076457165 3420.4429 84.240647 -2.6514805 2.7113506 -1070.3506 -1067.6392 + 3900 0.39 0.076457146 3323.0403 82.320886 -2.6700966 2.6495616 -1070.2888 -1067.6392 + 3950 0.395 0.076457179 3273.2625 80.780607 -2.6892405 2.5999865 -1070.2392 -1067.6392 + 4000 0.4 0.076457229 3313.2671 79.92769 -2.709641 2.5725347 -1070.2118 -1067.6392 + 4050 0.405 0.076457272 3381.1117 79.663389 -2.7291493 2.564028 -1070.2033 -1067.6392 + 4100 0.41 0.07645731 3373.3005 79.895158 -2.7514856 2.5714877 -1070.2107 -1067.6392 + 4150 0.415 0.076457296 3279.6989 80.402828 -2.7788004 2.5878274 -1070.2271 -1067.6392 + 4200 0.42 0.076457251 3197.0478 80.770336 -2.8064773 2.599656 -1070.2389 -1067.6392 + 4250 0.425 0.076457243 3160.9065 80.756747 -2.8307967 2.5992186 -1070.2385 -1067.6392 + 4300 0.43 0.076457282 3173.9599 80.446488 -2.852192 2.5892326 -1070.2285 -1067.6392 + 4350 0.435 0.076457289 3185.8003 80.110494 -2.8726607 2.5784184 -1070.2177 -1067.6392 + 4400 0.44 0.076457262 3166.3054 80.045036 -2.8936787 2.5763116 -1070.2155 -1067.6392 + 4450 0.445 0.076457226 3177.4332 80.500194 -2.9171408 2.5909612 -1070.2302 -1067.6392 + 4500 0.45 0.076457174 3238.8362 81.573722 -2.9447352 2.6255135 -1070.2647 -1067.6392 + 4550 0.455 0.07645714 3277.7104 83.104228 -2.975052 2.6747741 -1070.314 -1067.6392 + 4600 0.46 0.076457157 3224.8571 84.845473 -3.0065552 2.7308174 -1070.37 -1067.6392 + 4650 0.465 0.076457215 3112.9952 86.608217 -3.03972 2.7875527 -1070.4268 -1067.6392 + 4700 0.47 0.076457254 3001.141 88.18732 -3.074928 2.8383773 -1070.4776 -1067.6392 + 4750 0.475 0.076457235 2904.0735 89.204263 -3.1082127 2.8711084 -1070.5103 -1067.6392 + 4800 0.48 0.076457195 2832.0276 89.24571 -3.134302 2.8724424 -1070.5117 -1067.6392 + 4850 0.485 0.076457172 2833.7453 88.206351 -3.1541802 2.8389899 -1070.4782 -1067.6392 + 4900 0.49 0.076457184 2941.993 86.310712 -3.1725372 2.7779773 -1070.4172 -1067.6392 + 4950 0.495 0.076457228 3082.4825 84.029047 -3.1931038 2.7045401 -1070.3438 -1067.6392 + 5000 0.5 0.07645727 3155.7095 81.99875 -3.2175967 2.6391934 -1070.2784 -1067.6392 + 5050 0.505 0.076457297 3162.1875 80.72053 -3.2420203 2.5980529 -1070.2373 -1067.6392 + 5100 0.51 0.076457279 3133.3889 80.483768 -3.2606472 2.5904325 -1070.2297 -1067.6392 + 5150 0.515 0.076457223 3144.6361 81.566513 -3.2759117 2.6252815 -1070.2645 -1067.6392 + 5200 0.52 0.076457166 3156.8183 84.062018 -3.2944729 2.7056013 -1070.3448 -1067.6392 + 5250 0.525 0.076457128 3059.9886 87.694328 -3.3209415 2.82251 -1070.4617 -1067.6392 + 5300 0.53 0.076457126 2891.6506 91.782947 -3.3547324 2.9541054 -1070.5933 -1067.6392 + 5350 0.535 0.076457151 2751.9451 95.417928 -3.3914125 3.0711001 -1070.7103 -1067.6392 + 5400 0.54 0.07645725 2681.0265 97.845096 -3.4276651 3.1492204 -1070.7885 -1067.6392 + 5450 0.545 0.076457325 2657.0871 98.736021 -3.4632111 3.1778955 -1070.8171 -1067.6392 + 5500 0.55 0.076457263 2653.1919 98.075727 -3.4957627 3.1566434 -1070.7959 -1067.6392 + 5550 0.555 0.076457185 2644.2053 96.114963 -3.5208827 3.0935347 -1070.7328 -1067.6392 + 5600 0.56 0.076457195 2622.4174 93.525807 -3.5389264 3.0102007 -1070.6494 -1067.6392 + 5650 0.565 0.07645725 2616.3851 91.264369 -3.5558733 2.9374145 -1070.5766 -1067.6392 + 5700 0.57 0.076457256 2608.2454 90.135397 -3.5771374 2.9010777 -1070.5403 -1067.6392 + 5750 0.575 0.076457193 2573.217 90.456889 -3.6030061 2.9114252 -1070.5507 -1067.6392 + 5800 0.58 0.076457145 2565.3325 92.099499 -3.6318265 2.9642939 -1070.6035 -1067.6392 + 5850 0.585 0.076457161 2566.2763 94.62532 -3.6627041 3.0455894 -1070.6848 -1067.6392 + 5900 0.59 0.076457186 2564.6814 97.321391 -3.6927592 3.1323645 -1070.7716 -1067.6392 + 5950 0.595 0.076457195 2570.6317 99.384979 -3.7170023 3.1987827 -1070.838 -1067.6392 + 6000 0.6 0.076457206 2556.8466 100.3814 -3.7363622 3.2308533 -1070.8701 -1067.6392 + 6050 0.605 0.076457195 2521.7989 100.35237 -3.7587516 3.2299188 -1070.8692 -1067.6392 + 6100 0.61 0.076457175 2476.1857 99.370382 -3.7869326 3.1983129 -1070.8375 -1067.6392 + 6150 0.615 0.076457178 2397.2805 97.465979 -3.8168635 3.1370182 -1070.7763 -1067.6392 + 6200 0.62 0.07645713 2286.8528 94.931714 -3.8450242 3.0554509 -1070.6947 -1067.6392 + 6250 0.625 0.076457116 2250.5238 92.438461 -3.8722441 2.9752036 -1070.6144 -1067.6392 + 6300 0.63 0.076457156 2338.521 90.714356 -3.9006124 2.9197119 -1070.5589 -1067.6392 + 6350 0.635 0.07645717 2433.0115 90.142291 -3.9291158 2.9012996 -1070.5405 -1067.6392 + 6400 0.64 0.076457159 2467.5348 90.771111 -3.9562691 2.9215387 -1070.5608 -1067.6392 + 6450 0.645 0.076457107 2475.8592 92.488016 -3.9828131 2.9767986 -1070.616 -1067.6392 + 6500 0.65 0.0764571 2489.7418 95.127451 -4.0122141 3.0617508 -1070.701 -1067.6392 + 6550 0.655 0.076457169 2500.4747 98.171693 -4.0419177 3.1597321 -1070.799 -1067.6392 + 6600 0.66 0.076457208 2530.7924 100.74938 -4.0631997 3.242697 -1070.8819 -1067.6392 + 6650 0.665 0.076457205 2539.1274 102.26227 -4.0743158 3.2913904 -1070.9306 -1067.6392 + 6700 0.67 0.076457193 2456.6296 102.74328 -4.083416 3.3068723 -1070.9461 -1067.6392 + 6750 0.675 0.076457138 2387.5795 102.56259 -4.0973623 3.3010567 -1070.9403 -1067.6392 + 6800 0.68 0.076457109 2401.1036 102.04306 -4.113996 3.284335 -1070.9236 -1067.6392 + 6850 0.685 0.076457149 2426.9334 101.49407 -4.1282015 3.2666654 -1070.9059 -1067.6392 + 6900 0.69 0.076457185 2389.4808 101.35428 -4.1401792 3.2621662 -1070.9014 -1067.6392 + 6950 0.695 0.076457175 2323.8732 101.97431 -4.1517617 3.2821222 -1070.9214 -1067.6392 + 7000 0.7 0.076457145 2273.8742 103.4638 -4.1630859 3.3300628 -1070.9693 -1067.6392 + 7050 0.705 0.076457126 2231.6619 105.80757 -4.1770066 3.4054989 -1071.0447 -1067.6392 + 7100 0.71 0.076457114 2185.0913 108.81901 -4.1989399 3.5024243 -1071.1417 -1067.6392 + 7150 0.715 0.076457137 2139.1488 111.85718 -4.2283649 3.60021 -1071.2394 -1067.6392 + 7200 0.72 0.076457149 2101.4843 113.84985 -4.2560033 3.6643459 -1071.3036 -1067.6392 + 7250 0.725 0.07645712 2118.2459 113.9441 -4.2761251 3.6673792 -1071.3066 -1067.6392 + 7300 0.73 0.076457121 2191.8612 111.95162 -4.2925363 3.6032496 -1071.2425 -1067.6392 + 7350 0.735 0.076457137 2227.2133 108.21226 -4.3103732 3.4828957 -1071.1221 -1067.6392 + 7400 0.74 0.076457111 2182.8818 103.43153 -4.3300151 3.329024 -1070.9683 -1067.6392 + 7450 0.745 0.076457109 2101.9195 98.839733 -4.354205 3.1812335 -1070.8205 -1067.6392 + 7500 0.75 0.076457149 2036.6331 95.828658 -4.3866968 3.0843197 -1070.7235 -1067.6392 + 7550 0.755 0.076457161 1994.7766 95.143411 -4.4221882 3.0622645 -1070.7015 -1067.6392 + 7600 0.76 0.076457127 1970.8688 96.749372 -4.4522754 3.1139536 -1070.7532 -1067.6392 + 7650 0.765 0.076457086 1994.0036 100.15642 -4.4763519 3.223612 -1070.8628 -1067.6392 + 7700 0.77 0.076457048 2073.628 104.50472 -4.498005 3.3635656 -1071.0028 -1067.6392 + 7750 0.775 0.076457027 2167.9613 108.65949 -4.5168957 3.49729 -1071.1365 -1067.6392 + 7800 0.78 0.07645702 2217.2571 111.71851 -4.5326316 3.5957471 -1071.235 -1067.6392 + 7850 0.785 0.076457018 2202.7741 113.32785 -4.548779 3.6475449 -1071.2868 -1067.6392 + 7900 0.79 0.076457015 2164.9013 113.50963 -4.5689927 3.6533954 -1071.2926 -1067.6392 + 7950 0.795 0.076457037 2130.7469 112.46016 -4.5932603 3.6196176 -1071.2589 -1067.6392 + 8000 0.8 0.076457043 2075.0145 110.59865 -4.6198672 3.5597035 -1071.1989 -1067.6392 + 8050 0.805 0.076457061 2007.4917 108.6927 -4.6506917 3.4983589 -1071.1376 -1067.6392 + 8100 0.81 0.076457077 1991.5702 107.59433 -4.6877068 3.4630069 -1071.1022 -1067.6392 + 8150 0.815 0.07645708 2031.0743 107.95739 -4.7305236 3.4746923 -1071.1139 -1067.6392 + 8200 0.82 0.076457089 2054.3404 109.99515 -4.7756305 3.5402792 -1071.1795 -1067.6392 + 8250 0.825 0.076457091 2082.2542 113.4122 -4.8195703 3.6502597 -1071.2895 -1067.6392 + 8300 0.83 0.076457089 2137.8944 117.42257 -4.8606167 3.7793367 -1071.4186 -1067.6392 + 8350 0.835 0.076457127 2145.0506 120.77123 -4.8931181 3.8871159 -1071.5263 -1067.6392 + 8400 0.84 0.076457184 2101.9996 122.34334 -4.9126837 3.9377155 -1071.5769 -1067.6392 + 8450 0.845 0.076457201 2057.1092 121.73484 -4.921619 3.9181301 -1071.5574 -1067.6392 + 8500 0.85 0.076457149 2005.1132 119.2385 -4.9251343 3.8377838 -1071.477 -1067.6392 + 8550 0.855 0.076457098 1942.6247 115.64537 -4.9291799 3.722136 -1071.3614 -1067.6392 + 8600 0.86 0.076457115 1910.1502 111.98317 -4.9396222 3.6042654 -1071.2435 -1067.6392 + 8650 0.865 0.076457185 1943.3663 109.19353 -4.9603011 3.5144784 -1071.1537 -1067.6392 + 8700 0.87 0.076457254 2019.4182 107.80177 -4.9898541 3.4696837 -1071.1089 -1067.6392 + 8750 0.875 0.076457249 2073.1225 107.76716 -5.0205034 3.4685697 -1071.1078 -1067.6392 + 8800 0.88 0.076457175 2088.6545 108.72646 -5.0437829 3.4994455 -1071.1387 -1067.6392 + 8850 0.885 0.076457093 2077.5406 110.36499 -5.0572565 3.5521827 -1071.1914 -1067.6392 + 8900 0.89 0.076457088 2039.5392 112.51291 -5.0650529 3.6213154 -1071.2605 -1067.6392 + 8950 0.895 0.076457167 2016.6853 114.99374 -5.0744542 3.7011627 -1071.3404 -1067.6392 + 9000 0.9 0.076457241 2000.3012 117.47475 -5.0917242 3.781016 -1071.4202 -1067.6392 + 9050 0.905 0.076457226 1957.0091 119.35854 -5.1139655 3.8416472 -1071.4809 -1067.6392 + 9100 0.91 0.076457166 1923.1545 120.23087 -5.1350957 3.869724 -1071.509 -1067.6392 + 9150 0.915 0.076457128 1933.618 120.11319 -5.1511544 3.8659364 -1071.5052 -1067.6392 + 9200 0.92 0.076457114 1961.4473 119.3017 -5.1596749 3.8398178 -1071.4791 -1067.6392 + 9250 0.925 0.076457136 1962.1 118.34889 -5.1642618 3.8091509 -1071.4484 -1067.6392 + 9300 0.93 0.076457156 1942.9357 117.84262 -5.1720815 3.7928561 -1071.4321 -1067.6392 + 9350 0.935 0.076457138 1911.4886 118.10075 -5.1877615 3.8011641 -1071.4404 -1067.6392 + 9400 0.94 0.076457123 1890.6033 118.99959 -5.2079977 3.830094 -1071.4693 -1067.6392 + 9450 0.945 0.076457145 1911.9879 120.23989 -5.2265042 3.8700141 -1071.5092 -1067.6392 + 9500 0.95 0.076457172 1944.8053 121.67513 -5.2423826 3.9162086 -1071.5554 -1067.6392 + 9550 0.955 0.076457175 1950.6137 123.16708 -5.2566963 3.9642282 -1071.6035 -1067.6392 + 9600 0.96 0.076457174 1953.467 124.46943 -5.2686278 4.0061451 -1071.6454 -1067.6392 + 9650 0.965 0.076457174 1991.321 125.52237 -5.2816008 4.0400348 -1071.6793 -1067.6392 + 9700 0.97 0.076457153 2064.4494 126.48746 -5.3037304 4.0710971 -1071.7103 -1067.6392 + 9750 0.975 0.076457119 2117.0576 127.38593 -5.3401962 4.100015 -1071.7392 -1067.6392 + 9800 0.98 0.076457147 2129.8396 127.90735 -5.38872 4.1167973 -1071.756 -1067.6392 + 9850 0.985 0.076457201 2114.5902 127.47883 -5.4369444 4.103005 -1071.7422 -1067.6392 + 9900 0.99 0.076457216 2054.2807 125.71916 -5.4695662 4.0463688 -1071.6856 -1067.6392 + 9950 0.995 0.076457168 1984.2158 123.01154 -5.4834672 3.9592219 -1071.5985 -1067.6392 + 10000 1 0.076457131 1962.6658 120.32305 -5.4872199 3.8726906 -1071.5119 -1067.6392 + 10050 1.005 0.076457159 1973.2973 118.61523 -5.4922129 3.8177233 -1071.457 -1067.6392 + 10100 1.01 0.076457216 1957.9424 118.36973 -5.5066432 3.8098215 -1071.4491 -1067.6392 + 10150 1.015 0.076457197 1942.1125 119.27525 -5.5290592 3.8389666 -1071.4782 -1067.6392 + 10200 1.02 0.076457142 1978.3009 120.6949 -5.5571675 3.8846591 -1071.5239 -1067.6392 + 10250 1.025 0.076457171 2058.9652 122.05983 -5.5914809 3.9285903 -1071.5678 -1067.6392 + 10300 1.03 0.07645722 2104.5325 122.92754 -5.6303584 3.9565181 -1071.5958 -1067.6392 + 10350 1.035 0.07645723 2072.9687 123.15237 -5.6697758 3.9637547 -1071.603 -1067.6392 + 10400 1.04 0.076457234 2012.912 123.02584 -5.7067292 3.9596822 -1071.5989 -1067.6392 + 10450 1.045 0.076457242 1971.6903 123.23438 -5.7426231 3.9663941 -1071.6056 -1067.6392 + 10500 1.05 0.0764573 1932.8929 124.43675 -5.7779702 4.0050935 -1071.6443 -1067.6392 + 10550 1.055 0.076457357 1892.1027 126.80016 -5.8082237 4.0811614 -1071.7204 -1067.6392 + 10600 1.06 0.076457317 1911.4422 130.09167 -5.8347562 4.1871012 -1071.8263 -1067.6392 + 10650 1.065 0.076457251 1994.4648 133.74505 -5.8634891 4.3046881 -1071.9439 -1067.6392 + 10700 1.07 0.076457242 2058.3043 136.94864 -5.8957766 4.4077983 -1072.047 -1067.6392 + 10750 1.075 0.076457284 2065.4421 138.83647 -5.9266133 4.4685595 -1072.1078 -1067.6392 + 10800 1.08 0.076457341 2054.3284 138.84647 -5.9519915 4.4688815 -1072.1081 -1067.6392 + 10850 1.085 0.076457339 2019.0718 136.8565 -5.9690783 4.4048328 -1072.0441 -1067.6392 + 10900 1.09 0.076457316 1950.5439 133.30535 -5.9772058 4.290536 -1071.9298 -1067.6392 + 10950 1.095 0.076457386 1880.7681 129.31046 -5.9839906 4.1619576 -1071.8012 -1067.6392 + 11000 1.1 0.076457422 1858.5762 126.17301 -5.9991286 4.0609761 -1071.7002 -1067.6392 + 11050 1.105 0.076457344 1895.8864 124.66179 -6.0225804 4.0123366 -1071.6516 -1067.6392 + 11100 1.11 0.076457251 1940.5442 124.88033 -6.0460181 4.0193704 -1071.6586 -1067.6392 + 11150 1.115 0.076457202 1961.4346 126.74742 -6.0683173 4.0794642 -1071.7187 -1067.6392 + 11200 1.12 0.076457268 1940.4836 129.91024 -6.0923522 4.1812618 -1071.8205 -1067.6392 + 11250 1.125 0.07645736 1893.8666 133.48134 -6.1129806 4.2962004 -1071.9354 -1067.6392 + 11300 1.13 0.076457404 1883.0365 136.68921 -6.127246 4.3994482 -1072.0387 -1067.6392 + 11350 1.135 0.076457466 1882.1011 139.1981 -6.1379481 4.480199 -1072.1194 -1067.6392 + 11400 1.14 0.076457485 1867.5435 140.91567 -6.1513193 4.5354803 -1072.1747 -1067.6392 + 11450 1.145 0.076457418 1847.4052 141.74281 -6.1759478 4.5621023 -1072.2013 -1067.6392 + 11500 1.15 0.076457338 1813.6291 141.28184 -6.2119682 4.5472657 -1072.1865 -1067.6392 + 11550 1.155 0.076457333 1784.6892 139.23575 -6.2525061 4.4814106 -1072.1206 -1067.6392 + 11600 1.16 0.076457369 1755.4332 135.80671 -6.2888206 4.3710442 -1072.0103 -1067.6392 + 11650 1.165 0.076457401 1699.9293 131.63594 -6.3110048 4.236805 -1071.876 -1067.6392 + 11700 1.17 0.076457404 1653.9907 128.00726 -6.3221466 4.120013 -1071.7592 -1067.6392 + 11750 1.175 0.076457374 1643.4316 126.38341 -6.3360107 4.067748 -1071.707 -1067.6392 + 11800 1.18 0.07645738 1673.0949 127.37545 -6.3582141 4.0996777 -1071.7389 -1067.6392 + 11850 1.185 0.076457443 1718.7225 130.55123 -6.3857492 4.2018928 -1071.8411 -1067.6392 + 11900 1.19 0.076457444 1724.682 134.87067 -6.4146926 4.3409171 -1071.9801 -1067.6392 + 11950 1.195 0.076457414 1724.3414 139.24431 -6.4451679 4.4816863 -1072.1209 -1067.6392 + 12000 1.2 0.07645743 1749.066 142.81679 -6.4797792 4.5966692 -1072.2359 -1067.6392 + 12050 1.205 0.076457426 1742.2617 144.86234 -6.5158489 4.6625067 -1072.3017 -1067.6392 + 12100 1.21 0.076457401 1675.5507 144.96503 -6.548258 4.6658119 -1072.305 -1067.6392 + 12150 1.215 0.076457385 1610.7217 143.28189 -6.5749551 4.6116388 -1072.2509 -1067.6392 + 12200 1.22 0.07645736 1594.8876 140.48135 -6.5962025 4.5215012 -1072.1607 -1067.6392 + 12250 1.225 0.076457308 1625.0427 137.50616 -6.6145044 4.4257425 -1072.065 -1067.6392 + 12300 1.23 0.076457299 1685.9568 135.20765 -6.6302129 4.3517632 -1071.991 -1067.6392 + 12350 1.235 0.07645735 1733.821 134.30584 -6.6414385 4.3227378 -1071.962 -1067.6392 + 12400 1.24 0.076457353 1729.246 135.30039 -6.6446018 4.3547479 -1071.994 -1067.6392 + 12450 1.245 0.076457334 1680.067 138.31057 -6.6400277 4.4516331 -1072.0909 -1067.6392 + 12500 1.25 0.076457325 1617.8899 143.09184 -6.6404768 4.6055219 -1072.2448 -1067.6392 + 12550 1.255 0.07645726 1599.1888 148.81179 -6.6580865 4.7896229 -1072.4289 -1067.6392 + 12600 1.26 0.076457209 1658.9431 154.06138 -6.6888278 4.9585849 -1072.5978 -1067.6392 + 12650 1.265 0.07645722 1736.4699 157.49898 -6.7220069 5.0692269 -1072.7085 -1067.6392 + 12700 1.27 0.076457274 1779.2323 158.32957 -6.7551291 5.09596 -1072.7352 -1067.6392 + 12750 1.275 0.076457311 1789.9676 156.14983 -6.7885643 5.0258035 -1072.665 -1067.6392 + 12800 1.28 0.076457268 1802.2393 151.08471 -6.8186653 4.8627787 -1072.502 -1067.6392 + 12850 1.285 0.076457196 1818.1637 144.48302 -6.8490939 4.650298 -1072.2895 -1067.6392 + 12900 1.29 0.076457211 1817.2314 138.47831 -6.8873527 4.4570318 -1072.0963 -1067.6392 + 12950 1.295 0.076457276 1820.0753 134.61334 -6.9279428 4.3326347 -1071.9719 -1067.6392 + 13000 1.3 0.076457312 1845.4907 133.46496 -6.9596793 4.2956734 -1071.9349 -1067.6392 + 13050 1.305 0.076457338 1874.3042 135.13413 -6.9813982 4.3493968 -1071.9886 -1067.6392 + 13100 1.31 0.076457326 1866.7738 139.17204 -6.9940579 4.4793602 -1072.1186 -1067.6392 + 13150 1.315 0.076457289 1832.5745 144.49783 -6.9974757 4.6507749 -1072.29 -1067.6392 + 13200 1.32 0.076457244 1807.0747 149.77919 -6.9983839 4.8207594 -1072.46 -1067.6392 + 13250 1.325 0.076457187 1796.8435 153.72265 -7.0061211 4.9476829 -1072.5869 -1067.6392 + 13300 1.33 0.076457166 1784.1488 155.25389 -7.0202393 4.9969671 -1072.6362 -1067.6392 + 13350 1.335 0.076457229 1753.2853 154.01439 -7.0330486 4.9570726 -1072.5963 -1067.6392 + 13400 1.34 0.0764573 1735.0082 150.84246 -7.0447346 4.8549818 -1072.4942 -1067.6392 + 13450 1.345 0.076457318 1726.8186 147.29221 -7.0628093 4.7407141 -1072.3799 -1067.6392 + 13500 1.35 0.076457297 1714.977 144.61665 -7.0896843 4.654599 -1072.2938 -1067.6392 + 13550 1.355 0.076457254 1740.268 143.14927 -7.1129029 4.6073704 -1072.2466 -1067.6392 + 13600 1.36 0.076457211 1795.1636 143.04769 -7.1231397 4.6041009 -1072.2433 -1067.6392 + 13650 1.365 0.076457195 1823.9739 144.93969 -7.1325 4.6649965 -1072.3042 -1067.6392 + 13700 1.37 0.076457222 1791.6272 148.76155 -7.1501954 4.7880059 -1072.4272 -1067.6392 + 13750 1.375 0.076457214 1717.918 153.25937 -7.1700837 4.9327719 -1072.572 -1067.6392 + 13800 1.38 0.076457173 1650.2116 156.96821 -7.1856522 5.0521435 -1072.6914 -1067.6392 + 13850 1.385 0.076457198 1622.7393 158.94614 -7.1959656 5.1158049 -1072.755 -1067.6392 + 13900 1.39 0.076457218 1637.783 158.98661 -7.2040613 5.1171074 -1072.7563 -1067.6392 + 13950 1.395 0.076457202 1657.4634 157.44492 -7.212632 5.0674868 -1072.7067 -1067.6392 + 14000 1.4 0.076457212 1629.5225 155.05742 -7.2266988 4.9906432 -1072.6299 -1067.6392 + 14050 1.405 0.076457239 1593.2904 152.54882 -7.2502659 4.909902 -1072.5491 -1067.6392 + 14100 1.41 0.07645727 1606.034 150.42146 -7.2818725 4.8414313 -1072.4807 -1067.6392 + 14150 1.415 0.076457309 1640.1759 149.04348 -7.3155252 4.7970802 -1072.4363 -1067.6392 + 14200 1.42 0.076457319 1638.1785 148.56697 -7.3411886 4.7817433 -1072.421 -1067.6392 + 14250 1.425 0.07645727 1612.0972 148.95521 -7.3526259 4.7942389 -1072.4335 -1067.6392 + 14300 1.43 0.076457238 1604.4691 150.10919 -7.3547431 4.8313808 -1072.4706 -1067.6392 + 14350 1.435 0.076457245 1636.4307 151.65208 -7.3541157 4.88104 -1072.5203 -1067.6392 + 14400 1.44 0.076457266 1696.8545 152.99826 -7.354098 4.9243678 -1072.5636 -1067.6392 + 14450 1.445 0.076457266 1741.9828 153.81879 -7.3623341 4.9507773 -1072.59 -1067.6392 + 14500 1.45 0.076457331 1723.2799 153.89268 -7.3834301 4.9531555 -1072.5924 -1067.6392 + 14550 1.455 0.076457432 1657.9319 152.98996 -7.4146781 4.9241004 -1072.5633 -1067.6392 + 14600 1.46 0.076457435 1610.2643 151.16037 -7.4510333 4.8652138 -1072.5044 -1067.6392 + 14650 1.465 0.076457345 1613.0087 148.97 -7.4863307 4.794715 -1072.4339 -1067.6392 + 14700 1.47 0.076457271 1634.4356 147.61305 -7.5183727 4.7510405 -1072.3903 -1067.6392 + 14750 1.475 0.076457283 1633.8891 148.27943 -7.5460376 4.7724886 -1072.4117 -1067.6392 + 14800 1.48 0.076457348 1618.243 151.33474 -7.5665855 4.870826 -1072.5101 -1067.6392 + 14850 1.485 0.076457439 1627.6856 156.2869 -7.5835708 5.0302153 -1072.6694 -1067.6392 + 14900 1.49 0.076457511 1648.6155 162.01117 -7.6018187 5.2144553 -1072.8537 -1067.6392 + 14950 1.495 0.076457476 1659.3058 167.117 -7.6196613 5.3787903 -1073.018 -1067.6392 + 15000 1.5 0.076457375 1669.5167 170.51349 -7.6348747 5.4881089 -1073.1273 -1067.6392 + 15050 1.505 0.076457377 1665.0495 171.6971 -7.6501299 5.5262045 -1073.1654 -1067.6392 + 15100 1.51 0.076457509 1653.5232 170.56263 -7.668555 5.4896905 -1073.1289 -1067.6392 + 15150 1.515 0.07645762 1663.0378 167.19624 -7.6903772 5.3813406 -1073.0206 -1067.6392 + 15200 1.52 0.076457618 1681.9976 161.85457 -7.7108297 5.209415 -1072.8486 -1067.6392 + 15250 1.525 0.076457556 1694.698 155.288 -7.7230717 4.9980649 -1072.6373 -1067.6392 + 15300 1.53 0.076457526 1707.5473 149.10693 -7.726013 4.7991221 -1072.4384 -1067.6392 + 15350 1.535 0.076457503 1714.975 145.26109 -7.7215489 4.6753408 -1072.3146 -1067.6392 + 15400 1.54 0.076457471 1739.6517 145.03787 -7.7121713 4.6681565 -1072.3074 -1067.6392 + 15450 1.545 0.076457463 1779.381 148.49637 -7.7068895 4.7794708 -1072.4187 -1067.6392 + 15500 1.55 0.07645747 1810.3562 154.24813 -7.7125777 4.9645959 -1072.6038 -1067.6392 + 15550 1.555 0.076457505 1808.4717 160.18471 -7.7266491 5.1556691 -1072.7949 -1067.6392 + 15600 1.56 0.076457526 1770.3298 164.69045 -7.7419766 5.3006898 -1072.9399 -1067.6392 + 15650 1.565 0.0764575 1738.214 167.21043 -7.7549828 5.3817975 -1073.021 -1067.6392 + 15700 1.57 0.076457497 1697.7709 168.21074 -7.7723359 5.4139933 -1073.0532 -1067.6392 + 15750 1.575 0.076457555 1621.7132 168.50851 -7.8026216 5.4235772 -1073.0628 -1067.6392 + 15800 1.58 0.076457525 1558.2186 168.47199 -7.8436156 5.4224019 -1073.0616 -1067.6392 + 15850 1.585 0.076457429 1502.1375 167.96717 -7.8883594 5.4061538 -1073.0454 -1067.6392 + 15900 1.59 0.076457478 1425.3742 166.66576 -7.932759 5.3642668 -1073.0035 -1067.6392 + 15950 1.595 0.076457632 1386.0338 164.33246 -7.9718972 5.2891677 -1072.9284 -1067.6392 + 16000 1.6 0.076457666 1419.1839 161.41038 -8.0074959 5.1951185 -1072.8344 -1067.6392 + 16050 1.605 0.076457544 1468.9614 158.91164 -8.0487546 5.1146946 -1072.7539 -1067.6392 + 16100 1.61 0.076457494 1490.7382 157.31753 -8.0937558 5.063387 -1072.7026 -1067.6392 + 16150 1.615 0.076457538 1474.5813 156.42997 -8.1330424 5.03482 -1072.6741 -1067.6392 + 16200 1.62 0.076457556 1437.0783 156.08614 -8.164616 5.0237536 -1072.663 -1067.6392 + 16250 1.625 0.07645755 1438.9601 156.34668 -8.1896203 5.0321393 -1072.6714 -1067.6392 + 16300 1.63 0.076457624 1484.8299 157.40778 -8.2067204 5.0662916 -1072.7055 -1067.6392 + 16350 1.635 0.076457699 1524.3051 159.66771 -8.218867 5.1390293 -1072.7783 -1067.6392 + 16400 1.64 0.076457644 1544.3149 163.28567 -8.2298125 5.255476 -1072.8947 -1067.6392 + 16450 1.645 0.076457498 1553.8417 167.83654 -8.2377547 5.4019493 -1073.0412 -1067.6392 + 16500 1.65 0.076457465 1570.695 172.8939 -8.2462061 5.5647244 -1073.204 -1067.6392 + 16550 1.655 0.076457507 1593.9327 178.16048 -8.2624521 5.7342334 -1073.3735 -1067.6392 + 16600 1.66 0.076457489 1603.2741 183.00592 -8.2872119 5.8901875 -1073.5294 -1067.6392 + 16650 1.665 0.076457496 1571.7154 186.29884 -8.312974 5.9961727 -1073.6354 -1067.6392 + 16700 1.67 0.07645753 1518.6156 186.99911 -8.3350509 6.0187115 -1073.6579 -1067.6392 + 16750 1.675 0.07645752 1499.821 184.74394 -8.3580495 5.9461271 -1073.5854 -1067.6392 + 16800 1.68 0.076457499 1530.7723 179.78119 -8.3875745 5.7863972 -1073.4256 -1067.6392 + 16850 1.685 0.076457548 1575.4962 172.5183 -8.4158429 5.5526355 -1073.1919 -1067.6392 + 16900 1.69 0.076457558 1612.3074 163.97541 -8.4338169 5.277676 -1072.9169 -1067.6392 + 16950 1.695 0.076457479 1635.3132 156.35605 -8.4487945 5.0324408 -1072.6717 -1067.6392 + 17000 1.7 0.076457438 1614.5636 151.92591 -8.4700427 4.8898534 -1072.5291 -1067.6392 + 17050 1.705 0.076457424 1564.7085 151.36605 -8.4902367 4.8718339 -1072.5111 -1067.6392 + 17100 1.71 0.076457358 1535.6285 153.90525 -8.4942176 4.95356 -1072.5928 -1067.6392 + 17150 1.715 0.07645735 1518.627 158.54937 -8.4805275 5.1030346 -1072.7423 -1067.6392 + 17200 1.72 0.07645738 1514.2327 164.40935 -8.4621733 5.2916425 -1072.9309 -1067.6392 + 17250 1.725 0.076457379 1551.5372 170.62245 -8.4562493 5.4916159 -1073.1308 -1067.6392 + 17300 1.73 0.076457343 1595.3198 176.25515 -8.4715899 5.6729089 -1073.3121 -1067.6392 + 17350 1.735 0.076457342 1587.5028 180.16731 -8.4978474 5.7988247 -1073.4381 -1067.6392 + 17400 1.74 0.076457376 1544.7126 181.61601 -8.5200915 5.8454522 -1073.4847 -1067.6392 + 17450 1.745 0.076457389 1509.6731 180.91787 -8.5397072 5.8229821 -1073.4622 -1067.6392 + 17500 1.75 0.076457336 1478.9973 178.87414 -8.56042 5.7572029 -1073.3964 -1067.6392 + 17550 1.755 0.076457332 1451.7239 176.20376 -8.5752611 5.6712547 -1073.3105 -1067.6392 + 17600 1.76 0.076457348 1448.0805 173.64327 -8.5784834 5.5888433 -1073.2281 -1067.6392 + 17650 1.765 0.076457351 1433.0266 171.81431 -8.5726784 5.5299771 -1073.1692 -1067.6392 + 17700 1.77 0.076457438 1390.9365 171.02874 -8.564521 5.5046929 -1073.1439 -1067.6392 + 17750 1.775 0.076457533 1349.1394 171.41687 -8.5621201 5.517185 -1073.1564 -1067.6392 + 17800 1.78 0.076457498 1329.3506 172.86493 -8.5713277 5.563792 -1073.203 -1067.6392 + 17850 1.785 0.076457438 1327.4567 174.82124 -8.5922814 5.6267573 -1073.266 -1067.6392 + 17900 1.79 0.076457427 1319.5199 176.42672 -8.6210646 5.6784309 -1073.3177 -1067.6392 + 17950 1.795 0.076457411 1304.8013 176.80992 -8.649668 5.6907647 -1073.33 -1067.6392 + 18000 1.8 0.076457418 1286.8171 175.49891 -8.6685582 5.6485687 -1073.2878 -1067.6392 + 18050 1.805 0.076457416 1286.4901 172.8819 -8.6780447 5.5643383 -1073.2036 -1067.6392 + 18100 1.81 0.076457432 1323.7883 169.97231 -8.6878072 5.4706908 -1073.1099 -1067.6392 + 18150 1.815 0.076457437 1368.7263 167.90229 -8.7078544 5.4040655 -1073.0433 -1067.6392 + 18200 1.82 0.076457419 1375.2794 167.69816 -8.7440081 5.3974953 -1073.0367 -1067.6392 + 18250 1.825 0.076457418 1341.4685 169.86898 -8.7923763 5.467365 -1073.1066 -1067.6392 + 18300 1.83 0.076457444 1302.4142 174.12507 -8.8422065 5.6043505 -1073.2436 -1067.6392 + 18350 1.835 0.07645748 1271.1442 179.47439 -8.8848553 5.7765226 -1073.4158 -1067.6392 + 18400 1.84 0.07645751 1240.9996 184.64305 -8.9194649 5.9428799 -1073.5821 -1067.6392 + 18450 1.845 0.07645748 1233.4446 188.58667 -8.9527618 6.0698084 -1073.709 -1067.6392 + 18500 1.85 0.07645741 1261.96 190.37217 -8.9842233 6.1272761 -1073.7665 -1067.6392 + 18550 1.855 0.076457388 1308.7001 189.47505 -9.0098977 6.0984017 -1073.7376 -1067.6392 + 18600 1.86 0.076457432 1358.6974 185.96915 -9.0244894 5.9855615 -1073.6248 -1067.6392 + 18650 1.865 0.076457467 1405.4436 180.67131 -9.0286656 5.8150463 -1073.4543 -1067.6392 + 18700 1.87 0.076457462 1433.4669 175.00624 -9.0350323 5.6327117 -1073.2719 -1067.6392 + 18750 1.875 0.0764574 1445.5264 170.24923 -9.048183 5.4796035 -1073.1188 -1067.6392 + 18800 1.88 0.07645736 1443.3405 167.50038 -9.0636349 5.3911298 -1073.0304 -1067.6392 + 18850 1.885 0.076457415 1447.0868 167.72835 -9.083147 5.3984671 -1073.0377 -1067.6392 + 18900 1.89 0.076457524 1458.9885 171.02105 -9.1096362 5.5044452 -1073.1437 -1067.6392 + 18950 1.895 0.076457539 1446.6895 176.34791 -9.1375492 5.6758943 -1073.3151 -1067.6392 + 19000 1.9 0.076457474 1411.5198 182.40529 -9.161382 5.8708558 -1073.5101 -1067.6392 + 19050 1.905 0.076457448 1385.2991 188.2183 -9.1852956 6.0579522 -1073.6972 -1067.6392 + 19100 1.91 0.076457528 1413.6999 192.85984 -9.215331 6.2073435 -1073.8466 -1067.6392 + 19150 1.915 0.076457582 1480.043 195.28016 -9.2474153 6.2852437 -1073.9245 -1067.6392 + 19200 1.92 0.076457539 1547.1186 195.01127 -9.2733006 6.2765891 -1073.9158 -1067.6392 + 19250 1.925 0.07645751 1605.8035 192.80171 -9.2939477 6.2054728 -1073.8447 -1067.6392 + 19300 1.93 0.076457473 1598.3059 190.10762 -9.3163636 6.1187613 -1073.758 -1067.6392 + 19350 1.935 0.076457416 1509.2408 188.03157 -9.3412168 6.0519421 -1073.6912 -1067.6392 + 19400 1.94 0.076457518 1434.6458 186.83194 -9.3626576 6.0133311 -1073.6526 -1067.6392 + 19450 1.945 0.076457638 1403.9558 186.03899 -9.3780305 5.9878093 -1073.627 -1067.6392 + 19500 1.95 0.076457559 1394.7584 185.05086 -9.3957021 5.9560055 -1073.5952 -1067.6392 + 19550 1.955 0.076457442 1413.4384 183.7353 -9.4257255 5.9136631 -1073.5529 -1067.6392 + 19600 1.96 0.076457383 1421.2339 182.69045 -9.4681432 5.880034 -1073.5193 -1067.6392 + 19650 1.965 0.076457413 1420.5968 182.99886 -9.5190918 5.8899604 -1073.5292 -1067.6392 + 19700 1.97 0.076457479 1422.3009 185.07328 -9.5688775 5.9567273 -1073.596 -1067.6392 + 19750 1.975 0.076457568 1401.8644 188.22803 -9.6031318 6.0582654 -1073.6975 -1067.6392 + 19800 1.98 0.076457554 1393.8386 191.47532 -9.6182282 6.1627819 -1073.802 -1067.6392 + 19850 1.985 0.076457465 1418.2809 194.07382 -9.6229072 6.2464164 -1073.8856 -1067.6392 + 19900 1.99 0.076457438 1451.5379 195.52045 -9.6257452 6.2929776 -1073.9322 -1067.6392 + 19950 1.995 0.076457422 1478.147 195.5996 -9.6318225 6.295525 -1073.9348 -1067.6392 + 20000 2 0.076457344 1467.9497 194.43701 -9.6465325 6.258106 -1073.8973 -1067.6392 + 20050 2.005 0.076457295 1455.781 192.15793 -9.6679695 6.1847521 -1073.824 -1067.6392 + 20100 2.01 0.076457282 1475.7234 188.99879 -9.6853381 6.0830729 -1073.7223 -1067.6392 + 20150 2.015 0.076457336 1511.2492 185.9129 -9.6914823 5.983751 -1073.623 -1067.6392 + 20200 2.02 0.076457369 1535.108 184.55863 -9.6947447 5.9401628 -1073.5794 -1067.6392 + 20250 2.025 0.07645738 1549.6908 186.04749 -9.7111475 5.9880829 -1073.6273 -1067.6392 + 20300 2.03 0.076457371 1573.2987 189.74993 -9.7443086 6.1072487 -1073.7465 -1067.6392 + 20350 2.035 0.076457335 1598.8027 193.78171 -9.7835665 6.2370146 -1073.8762 -1067.6392 + 20400 2.04 0.076457321 1612.4365 196.34944 -9.8182578 6.3196591 -1073.9589 -1067.6392 + 20450 2.045 0.076457294 1595.6224 196.49735 -9.8435079 6.3244197 -1073.9637 -1067.6392 + 20500 2.05 0.076457341 1551.0932 194.1488 -9.8554709 6.2488299 -1073.8881 -1067.6392 + 20550 2.055 0.076457438 1523.3882 190.11991 -9.8537895 6.1191568 -1073.7584 -1067.6392 + 20600 2.06 0.07645743 1505.948 186.07182 -9.8495482 5.9888659 -1073.6281 -1067.6392 + 20650 2.065 0.076457406 1490.3445 183.51625 -9.8537234 5.906613 -1073.5458 -1067.6392 + 20700 2.07 0.076457442 1490.946 182.9075 -9.8637593 5.8870197 -1073.5263 -1067.6392 + 20750 2.075 0.076457441 1481.0717 184.03654 -9.8709996 5.9233588 -1073.5626 -1067.6392 + 20800 2.08 0.076457493 1467.9055 186.97232 -9.8793685 6.0178494 -1073.6571 -1067.6392 + 20850 2.085 0.076457525 1469.5229 191.9059 -9.9019503 6.1766405 -1073.8159 -1067.6392 + 20900 2.09 0.07645743 1500.8747 198.14128 -9.9382469 6.3773308 -1074.0166 -1067.6392 + 20950 2.095 0.076457353 1522.7523 204.22851 -9.9761093 6.573253 -1074.2125 -1067.6392 + 21000 2.1 0.076457408 1493.9748 209.08499 -10.009592 6.7295628 -1074.3688 -1067.6392 + 21050 2.105 0.076457469 1446.2705 212.35054 -10.040544 6.8346669 -1074.4739 -1067.6392 + 21100 2.11 0.076457354 1411.2601 213.76664 -10.067187 6.8802453 -1074.5195 -1067.6392 + 21150 2.115 0.07645727 1391.2445 213.01118 -10.083619 6.8559303 -1074.4952 -1067.6392 + 21200 2.12 0.07645735 1371.2169 210.04448 -10.087484 6.7604446 -1074.3997 -1067.6392 + 21250 2.125 0.076457381 1340.7221 205.38603 -10.08789 6.6105088 -1074.2497 -1067.6392 + 21300 2.13 0.076457303 1325.8617 199.86436 -10.098269 6.4327894 -1074.072 -1067.6392 + 21350 2.135 0.076457273 1350.6616 194.28131 -10.12363 6.2530948 -1073.8923 -1067.6392 + 21400 2.14 0.076457275 1394.6898 189.37392 -10.157685 6.0951465 -1073.7344 -1067.6392 + 21450 2.145 0.076457319 1404.9529 186.00624 -10.193758 5.9867551 -1073.626 -1067.6392 + 21500 2.15 0.076457343 1377.3399 184.88515 -10.229093 5.950672 -1073.5899 -1067.6392 + 21550 2.155 0.076457316 1331.0234 185.97828 -10.259659 5.9858551 -1073.6251 -1067.6392 + 21600 2.16 0.076457281 1273.4665 188.83363 -10.28823 6.077757 -1073.717 -1067.6392 + 21650 2.165 0.076457288 1243.3898 192.93897 -10.322287 6.2098905 -1073.8491 -1067.6392 + 21700 2.17 0.076457281 1219.7561 197.68298 -10.364391 6.3625801 -1074.0018 -1067.6392 + 21750 2.175 0.076457285 1200.7077 202.03274 -10.403933 6.5025805 -1074.1418 -1067.6392 + 21800 2.18 0.076457259 1184.4538 204.87849 -10.429043 6.5941733 -1074.2334 -1067.6392 + 21850 2.185 0.076457258 1175.6721 205.68948 -10.440346 6.6202757 -1074.2595 -1067.6392 + 21900 2.19 0.076457315 1180.8341 204.8243 -10.448053 6.5924291 -1074.2317 -1067.6392 + 21950 2.195 0.07645731 1194.0301 203.45174 -10.464561 6.5482521 -1074.1875 -1067.6392 + 22000 2.2 0.076457233 1221.9791 202.73877 -10.493309 6.5253048 -1074.1645 -1067.6392 + 22050 2.205 0.076457231 1250.0249 203.00033 -10.523727 6.5337233 -1074.173 -1067.6392 + 22100 2.21 0.076457313 1249.3152 204.03327 -10.546944 6.5669691 -1074.2062 -1067.6392 + 22150 2.215 0.076457371 1237.3367 205.55066 -10.562365 6.6158075 -1074.255 -1067.6392 + 22200 2.22 0.076457296 1243.2787 207.11609 -10.573015 6.6661921 -1074.3054 -1067.6392 + 22250 2.225 0.076457216 1271.1183 208.31179 -10.585742 6.7046767 -1074.3439 -1067.6392 + 22300 2.23 0.076457244 1284.8837 208.8428 -10.603798 6.7217677 -1074.361 -1067.6392 + 22350 2.235 0.076457332 1283.4661 208.59905 -10.624708 6.7139222 -1074.3532 -1067.6392 + 22400 2.24 0.07645736 1303.7498 207.46236 -10.6408 6.6773371 -1074.3166 -1067.6392 + 22450 2.245 0.076457355 1335.4979 205.36278 -10.647746 6.6097605 -1074.249 -1067.6392 + 22500 2.25 0.076457336 1346.4145 202.64405 -10.654521 6.5222561 -1074.1615 -1067.6392 + 22550 2.255 0.076457311 1346.1625 199.76606 -10.666656 6.4296256 -1074.0689 -1067.6392 + 22600 2.26 0.076457308 1340.0768 197.47287 -10.68361 6.3558176 -1073.995 -1067.6392 + 22650 2.265 0.076457239 1331.9216 197.00994 -10.705717 6.3409178 -1073.9801 -1067.6392 + 22700 2.27 0.076457144 1323.8234 199.2165 -10.723115 6.4119377 -1074.0512 -1067.6392 + 22750 2.275 0.076457155 1328.8167 204.12885 -10.731517 6.5700455 -1074.2093 -1067.6392 + 22800 2.28 0.076457245 1341.6384 210.71157 -10.738456 6.7819153 -1074.4211 -1067.6392 + 22850 2.285 0.076457291 1356.1262 216.84292 -10.742858 6.9792578 -1074.6185 -1067.6392 + 22900 2.29 0.07645725 1366.5895 220.63144 -10.743306 7.1011942 -1074.7404 -1067.6392 + 22950 2.295 0.076457156 1344.6768 221.40356 -10.750585 7.1260454 -1074.7653 -1067.6392 + 23000 2.3 0.076457186 1294.1965 219.35393 -10.774867 7.0600763 -1074.6993 -1067.6392 + 23050 2.305 0.076457196 1239.1224 214.99785 -10.815487 6.9198728 -1074.5591 -1067.6392 + 23100 2.31 0.076457076 1215.0106 208.92641 -10.858673 6.7244588 -1074.3637 -1067.6392 + 23150 2.315 0.076457176 1230.6321 202.19142 -10.890066 6.5076879 -1074.1469 -1067.6392 + 23200 2.32 0.076457304 1238.2351 196.6442 -10.911075 6.3291462 -1073.9684 -1067.6392 + 23250 2.325 0.076457249 1239.4105 194.24059 -10.931389 6.2517841 -1073.891 -1067.6392 + 23300 2.33 0.076457161 1257.0758 195.88203 -10.952578 6.3046152 -1073.9438 -1067.6392 + 23350 2.335 0.076457197 1279.1537 200.82031 -10.967466 6.4635575 -1074.1028 -1067.6392 + 23400 2.34 0.076457257 1300.7395 207.5662 -10.975013 6.6806793 -1074.3199 -1067.6392 + 23450 2.345 0.07645726 1308.5908 214.80077 -10.98098 6.9135294 -1074.5528 -1067.6392 + 23500 2.35 0.076457272 1289.4755 221.18513 -10.987842 7.1190149 -1074.7582 -1067.6392 + 23550 2.355 0.076457236 1283.5991 225.44351 -10.997358 7.2560744 -1074.8953 -1067.6392 + 23600 2.36 0.076457163 1312.3799 226.64105 -11.007971 7.294618 -1074.9339 -1067.6392 + 23650 2.365 0.076457229 1344.3851 224.59123 -11.019084 7.2286432 -1074.8679 -1067.6392 + 23700 2.37 0.07645729 1365.885 219.94976 -11.030767 7.0792538 -1074.7185 -1067.6392 + 23750 2.375 0.076457227 1401.6314 214.22979 -11.045135 6.895152 -1074.5344 -1067.6392 + 23800 2.38 0.076457188 1427.6864 209.29217 -11.064939 6.7362309 -1074.3755 -1067.6392 + 23850 2.385 0.076457163 1408.8222 206.27856 -11.086967 6.6392355 -1074.2785 -1067.6392 + 23900 2.39 0.07645708 1385.5983 205.10952 -11.107172 6.6016091 -1074.2408 -1067.6392 + 23950 2.395 0.076457071 1387.0133 205.04577 -11.129799 6.5995574 -1074.2388 -1067.6392 + 24000 2.4 0.076457108 1390.5162 205.39894 -11.156831 6.6109242 -1074.2502 -1067.6392 + 24050 2.405 0.076457131 1357.8774 206.15789 -11.185375 6.6353518 -1074.2746 -1067.6392 + 24100 2.41 0.076457132 1299.8027 207.97437 -11.215364 6.6938165 -1074.333 -1067.6392 + 24150 2.415 0.076457046 1264.5476 211.18407 -11.243431 6.7971232 -1074.4364 -1067.6392 + 24200 2.42 0.076456997 1257.3066 215.49914 -11.266145 6.9360069 -1074.5752 -1067.6392 + 24250 2.425 0.076457004 1257.7398 220.04117 -11.280372 7.0821959 -1074.7214 -1067.6392 + 24300 2.43 0.07645702 1251.1577 223.4371 -11.283992 7.1914966 -1074.8307 -1067.6392 + 24350 2.435 0.076457022 1252.7715 224.64315 -11.285671 7.230314 -1074.8695 -1067.6392 + 24400 2.44 0.076456984 1265.9957 223.69761 -11.294539 7.1998812 -1074.8391 -1067.6392 + 24450 2.445 0.076456934 1262.7138 221.81546 -11.310639 7.1393028 -1074.7785 -1067.6392 + 24500 2.45 0.076456873 1233.0144 220.50339 -11.329658 7.0970727 -1074.7363 -1067.6392 + 24550 2.455 0.076456875 1202.6505 220.34157 -11.349408 7.0918644 -1074.7311 -1067.6392 + 24600 2.46 0.076456941 1202.6676 220.33665 -11.361751 7.0917062 -1074.7309 -1067.6392 + 24650 2.465 0.076456963 1226.7474 219.30132 -11.363433 7.058383 -1074.6976 -1067.6392 + 24700 2.47 0.076456936 1249.5386 217.48305 -11.36762 6.9998606 -1074.6391 -1067.6392 + 24750 2.475 0.076456975 1268.5471 215.9159 -11.38311 6.9494209 -1074.5887 -1067.6392 + 24800 2.48 0.076456964 1270.5323 215.29735 -11.406944 6.9295122 -1074.5687 -1067.6392 + 24850 2.485 0.076456848 1246.8523 215.79179 -11.434782 6.9454262 -1074.5847 -1067.6392 + 24900 2.49 0.076456767 1228.3555 217.27323 -11.464221 6.9931074 -1074.6323 -1067.6392 + 24950 2.495 0.076456798 1234.9605 219.39808 -11.48602 7.0614974 -1074.7007 -1067.6392 + 25000 2.5 0.076456902 1253.6133 221.8827 -11.487009 7.1414669 -1074.7807 -1067.6392 + 25050 2.505 0.076456945 1263.1766 224.65139 -11.467154 7.2305793 -1074.8698 -1067.6392 + 25100 2.51 0.076456885 1268.8469 227.19826 -11.44163 7.3125522 -1074.9518 -1067.6392 + 25150 2.515 0.076456776 1270.7217 228.36783 -11.425894 7.3501958 -1074.9894 -1067.6392 + 25200 2.52 0.076456734 1279.1408 227.30965 -11.424483 7.3161374 -1074.9554 -1067.6392 + 25250 2.525 0.076456742 1292.6915 224.19273 -11.429236 7.2158169 -1074.8551 -1067.6392 + 25300 2.53 0.07645679 1314.5843 219.60843 -11.430397 7.0682677 -1074.7075 -1067.6392 + 25350 2.535 0.07645686 1334.032 213.71531 -11.425496 6.8785933 -1074.5178 -1067.6392 + 25400 2.54 0.076456849 1349.3813 207.2907 -11.418326 6.6718121 -1074.311 -1067.6392 + 25450 2.545 0.07645677 1377.8998 202.81528 -11.421994 6.5277672 -1074.167 -1067.6392 + 25500 2.55 0.076456793 1396.8932 202.49375 -11.445285 6.5174184 -1074.1566 -1067.6392 + 25550 2.555 0.076456881 1384.3333 205.94001 -11.474157 6.628339 -1074.2676 -1067.6392 + 25600 2.56 0.076456893 1392.2099 211.07888 -11.490781 6.7937375 -1074.433 -1067.6392 + 25650 2.565 0.076456856 1425.474 216.44999 -11.500276 6.966611 -1074.6058 -1067.6392 + 25700 2.57 0.07645682 1422.3347 221.7408 -11.521064 7.1368997 -1074.7761 -1067.6392 + 25750 2.575 0.076456827 1389.5116 226.77774 -11.558724 7.2990176 -1074.9383 -1067.6392 + 25800 2.58 0.076456894 1376.0165 230.42348 -11.588294 7.4163587 -1075.0556 -1067.6392 + 25850 2.585 0.076456848 1392.9987 231.78982 -11.595522 7.4603351 -1075.0996 -1067.6392 + 25900 2.59 0.07645674 1406.285 231.56537 -11.605309 7.4531113 -1075.0923 -1067.6392 + 25950 2.595 0.076456751 1413.5397 230.66657 -11.635338 7.4241825 -1075.0634 -1067.6392 + 26000 2.6 0.076456899 1416.443 229.45699 -11.678587 7.3852513 -1075.0245 -1067.6392 + 26050 2.605 0.076457003 1403.885 228.28072 -11.723713 7.3473922 -1074.9866 -1067.6392 + 26100 2.61 0.076457021 1373.3644 227.67281 -11.766892 7.3278259 -1074.9671 -1067.6392 + 26150 2.615 0.076456911 1340.7862 227.79846 -11.809643 7.3318702 -1074.9711 -1067.6392 + 26200 2.62 0.076456907 1300.443 227.6998 -11.840279 7.3286948 -1074.9679 -1067.6392 + 26250 2.625 0.076456986 1245.9108 226.64351 -11.849238 7.2946973 -1074.9339 -1067.6392 + 26300 2.63 0.076456906 1213.3895 225.39942 -11.849142 7.2546552 -1074.8939 -1067.6392 + 26350 2.635 0.076456826 1226.1376 224.51387 -11.849268 7.2261533 -1074.8654 -1067.6392 + 26400 2.64 0.076456838 1277.7083 223.02405 -11.845728 7.1782022 -1074.8174 -1067.6392 + 26450 2.645 0.076456848 1348.5108 219.94872 -11.843068 7.0792202 -1074.7185 -1067.6392 + 26500 2.65 0.076456809 1384.7118 215.79754 -11.858605 6.9456112 -1074.5848 -1067.6392 + 26550 2.655 0.076456789 1365.0705 211.7995 -11.891933 6.8169312 -1074.4562 -1067.6392 + 26600 2.66 0.076456914 1299.543 209.09625 -11.921163 6.729925 -1074.3692 -1067.6392 + 26650 2.665 0.076457016 1239.2364 208.71915 -11.931351 6.7177878 -1074.357 -1067.6392 + 26700 2.67 0.076456972 1214.9068 211.699 -11.935106 6.8136966 -1074.4529 -1067.6392 + 26750 2.675 0.076456871 1213.0891 218.33214 -11.952461 7.0271895 -1074.6664 -1067.6392 + 26800 2.68 0.076456798 1223.6985 227.28091 -11.983537 7.3152126 -1074.9544 -1067.6392 + 26850 2.685 0.076456809 1225.5098 236.07415 -12.013499 7.5982297 -1075.2375 -1067.6392 + 26900 2.69 0.076456872 1227.6603 242.5254 -12.033513 7.8058683 -1075.4451 -1067.6392 + 26950 2.695 0.076456972 1258.3608 245.56912 -12.047317 7.9038328 -1075.5431 -1067.6392 + 27000 2.7 0.076456994 1275.6126 245.13472 -12.061439 7.8898512 -1075.5291 -1067.6392 + 27050 2.705 0.076456887 1268.2866 241.7328 -12.077934 7.7803577 -1075.4196 -1067.6392 + 27100 2.71 0.076456789 1276.6398 236.41209 -12.099691 7.6091067 -1075.2483 -1067.6392 + 27150 2.715 0.076456817 1285.086 230.59357 -12.127675 7.4218332 -1075.0611 -1067.6392 + 27200 2.72 0.076456956 1279.8644 225.6959 -12.152964 7.2641976 -1074.9034 -1067.6392 + 27250 2.725 0.076457008 1265.0918 222.9285 -12.162529 7.1751269 -1074.8144 -1067.6392 + 27300 2.73 0.076456892 1255.4758 223.34114 -12.160471 7.1884079 -1074.8276 -1067.6392 + 27350 2.735 0.076456791 1255.3028 227.16525 -12.168727 7.3114899 -1074.9507 -1067.6392 + 27400 2.74 0.07645683 1235.3098 232.49107 -12.190625 7.4829055 -1075.1221 -1067.6392 + 27450 2.745 0.076456913 1195.6445 236.20823 -12.208759 7.6025451 -1075.2418 -1067.6392 + 27500 2.75 0.076456943 1161.6213 236.76136 -12.22307 7.6203482 -1075.2596 -1067.6392 + 27550 2.755 0.076456918 1154.7881 234.39737 -12.238887 7.5442614 -1075.1835 -1067.6392 + 27600 2.76 0.076456852 1164.6343 230.1096 -12.253338 7.4062559 -1075.0455 -1067.6392 + 27650 2.765 0.07645681 1192.4719 225.31606 -12.266794 7.2519722 -1074.8912 -1067.6392 + 27700 2.77 0.076456909 1231.6135 221.89166 -12.281503 7.1417553 -1074.781 -1067.6392 + 27750 2.775 0.076457006 1235.7541 221.87696 -12.295173 7.1412822 -1074.7805 -1067.6392 + 27800 2.78 0.07645698 1208.1367 226.64974 -12.307425 7.2948978 -1074.9341 -1067.6392 + 27850 2.785 0.076456891 1176.1511 235.51318 -12.317651 7.5801745 -1075.2194 -1067.6392 + 27900 2.79 0.076456848 1164.9233 245.47424 -12.322706 7.9007791 -1075.54 -1067.6392 + 27950 2.795 0.076456846 1164.6239 253.11209 -12.32738 8.1466091 -1075.7858 -1067.6392 + 28000 2.8 0.076456848 1160.4177 256.41801 -12.347417 8.2530127 -1075.8922 -1067.6392 + 28050 2.805 0.076456824 1162.4022 254.7287 -12.389013 8.1986408 -1075.8379 -1067.6392 + 28100 2.81 0.076456816 1169.0586 248.13397 -12.435631 7.9863846 -1075.6256 -1067.6392 + 28150 2.815 0.076456796 1178.5376 238.03172 -12.470806 7.6612358 -1075.3005 -1067.6392 + 28200 2.82 0.076456763 1199.2585 227.28714 -12.495824 7.3154129 -1074.9546 -1067.6392 + 28250 2.825 0.07645681 1234.5536 218.97616 -12.518189 7.0479177 -1074.6871 -1067.6392 + 28300 2.83 0.076456865 1276.7135 215.42144 -12.539753 6.9335061 -1074.5727 -1067.6392 + 28350 2.835 0.076456943 1320.0112 217.52061 -12.555571 7.0010697 -1074.6403 -1067.6392 + 28400 2.84 0.07645694 1322.7705 223.90193 -12.561183 7.2064573 -1074.8457 -1067.6392 + 28450 2.845 0.076456873 1274.2662 231.82206 -12.558374 7.461373 -1075.1006 -1067.6392 + 28500 2.85 0.07645682 1212.3657 239.21446 -12.557378 7.6993032 -1075.3385 -1067.6392 + 28550 2.855 0.076456743 1168.3546 245.06433 -12.567018 7.8875858 -1075.5268 -1067.6392 + 28600 2.86 0.076456731 1159.1141 248.78928 -12.591534 8.007476 -1075.6467 -1067.6392 + 28650 2.865 0.07645684 1173.7764 249.83877 -12.632126 8.0412547 -1075.6805 -1067.6392 + 28700 2.87 0.076456919 1172.0608 247.79274 -12.684385 7.9754016 -1075.6146 -1067.6392 + 28750 2.875 0.076456876 1150.8061 243.05242 -12.738771 7.8228308 -1075.4621 -1067.6392 + 28800 2.88 0.076456855 1119.2348 237.23074 -12.782276 7.6354555 -1075.2747 -1067.6392 + 28850 2.885 0.076456907 1109.9511 233.14457 -12.809798 7.5039389 -1075.1432 -1067.6392 + 28900 2.89 0.076456909 1118.3015 233.7173 -12.825932 7.5223728 -1075.1616 -1067.6392 + 28950 2.895 0.076456802 1110.4763 239.3953 -12.836993 7.7051234 -1075.3444 -1067.6392 + 29000 2.9 0.076456789 1094.3593 246.77428 -12.846357 7.9426216 -1075.5819 -1067.6392 + 29050 2.905 0.076456914 1087.347 250.95238 -12.854444 8.077097 -1075.7163 -1067.6392 + 29100 2.91 0.076456912 1080.3745 249.15916 -12.864944 8.019381 -1075.6586 -1067.6392 + 29150 2.915 0.076456867 1077.8142 242.15509 -12.879291 7.7939495 -1075.4332 -1067.6392 + 29200 2.92 0.076456965 1073.411 233.44287 -12.891242 7.5135398 -1075.1528 -1067.6392 + 29250 2.925 0.076457115 1072.0744 227.42913 -12.90317 7.3199831 -1074.9592 -1067.6392 + 29300 2.93 0.076457151 1093.6395 227.10626 -12.933289 7.3095913 -1074.9488 -1067.6392 + 29350 2.935 0.076457038 1119.3849 232.36032 -12.988079 7.4786974 -1075.1179 -1067.6392 + 29400 2.94 0.076456921 1134.6243 240.72805 -13.055919 7.748019 -1075.3873 -1067.6392 + 29450 2.945 0.076456864 1141.918 249.49518 -13.118734 8.0301961 -1075.6694 -1067.6392 + 29500 2.95 0.076456941 1159.6822 257.15763 -13.165805 8.2768181 -1075.9161 -1067.6392 + 29550 2.955 0.07645714 1179.2951 262.93943 -13.20027 8.4629096 -1076.1021 -1067.6392 + 29600 2.96 0.07645717 1186.3391 265.77303 -13.225007 8.5541112 -1076.1933 -1067.6392 + 29650 2.965 0.076456962 1198.5613 265.15045 -13.244795 8.5340732 -1076.1733 -1067.6392 + 29700 2.97 0.07645683 1197.8883 261.64426 -13.26969 8.4212236 -1076.0605 -1067.6392 + 29750 2.975 0.076456909 1177.7226 255.9899 -13.299001 8.2392337 -1075.8785 -1067.6392 + 29800 2.98 0.076457063 1159.8441 249.00075 -13.322918 8.0142823 -1075.6535 -1067.6392 + 29850 2.985 0.076457146 1148.4764 242.18856 -13.338769 7.7950268 -1075.4343 -1067.6392 + 29900 2.99 0.076457089 1130.9903 237.45135 -13.348753 7.6425559 -1075.2818 -1067.6392 + 29950 2.995 0.076457001 1117.7814 236.46455 -13.358912 7.610795 -1075.25 -1067.6392 + 30000 3 0.076456942 1126.2416 239.60448 -13.37352 7.7118561 -1075.3511 -1067.6392 + 30050 3.005 0.076456886 1156.3534 245.25724 -13.389734 7.8937946 -1075.533 -1067.6392 + 30100 3.01 0.076456966 1190.7799 250.77536 -13.402583 8.0713994 -1075.7106 -1067.6392 + 30150 3.015 0.076457085 1203.6351 254.27554 -13.409529 8.1840557 -1075.8233 -1067.6392 + 30200 3.02 0.076457139 1204.0863 255.8356 -13.413637 8.2342673 -1075.8735 -1067.6392 + 30250 3.025 0.07645724 1221.2681 256.67609 -13.417029 8.2613191 -1075.9006 -1067.6392 + 30300 3.03 0.076457187 1256.9158 257.31837 -13.417166 8.2819915 -1075.9212 -1067.6392 + 30350 3.035 0.076457004 1278.7323 257.24074 -13.411793 8.2794928 -1075.9187 -1067.6392 + 30400 3.04 0.076457001 1251.5199 256.19386 -13.407137 8.2457981 -1075.885 -1067.6392 + 30450 3.045 0.076457164 1196.1208 254.69214 -13.410047 8.1974643 -1075.8367 -1067.6392 + 30500 3.05 0.076457257 1145.1647 253.23253 -13.415744 8.1504855 -1075.7897 -1067.6392 + 30550 3.055 0.076457144 1116.3699 251.85343 -13.417375 8.1060982 -1075.7453 -1067.6392 + 30600 3.06 0.076456997 1135.1489 250.16809 -13.409575 8.051854 -1075.6911 -1067.6392 + 30650 3.065 0.076457054 1166.8172 248.05389 -13.394954 7.9838071 -1075.623 -1067.6392 + 30700 3.07 0.076457216 1168.9659 245.96158 -13.389042 7.9164642 -1075.5557 -1067.6392 + 30750 3.075 0.076457229 1179.4894 244.10708 -13.40216 7.8567758 -1075.496 -1067.6392 + 30800 3.08 0.076457154 1215.0559 242.34737 -13.43183 7.8001383 -1075.4394 -1067.6392 + 30850 3.085 0.076457184 1249.0791 240.65467 -13.466111 7.7456575 -1075.3849 -1067.6392 + 30900 3.09 0.076457196 1263.3416 239.28699 -13.484792 7.7016376 -1075.3409 -1067.6392 + 30950 3.095 0.076457165 1271.4598 239.5317 -13.488388 7.7095135 -1075.3487 -1067.6392 + 31000 3.1 0.076457184 1286.9333 242.95851 -13.498706 7.8198081 -1075.459 -1067.6392 + 31050 3.105 0.076457244 1283.9706 249.40628 -13.524063 8.0273348 -1075.6666 -1067.6392 + 31100 3.11 0.076457303 1260.718 256.94623 -13.554227 8.2700138 -1075.9092 -1067.6392 + 31150 3.115 0.076457309 1234.9544 263.41539 -13.575646 8.4782287 -1076.1175 -1067.6392 + 31200 3.12 0.076457299 1221.679 267.76241 -13.587061 8.618141 -1076.2574 -1067.6392 + 31250 3.125 0.07645728 1205.3199 269.88964 -13.601419 8.6866074 -1076.3258 -1067.6392 + 31300 3.13 0.076457321 1193.2183 269.84108 -13.633868 8.6850446 -1076.3243 -1067.6392 + 31350 3.135 0.076457329 1188.8946 267.62378 -13.682779 8.6136792 -1076.2529 -1067.6392 + 31400 3.14 0.07645724 1172.3644 263.84237 -13.735657 8.4919716 -1076.1312 -1067.6392 + 31450 3.145 0.076457234 1156.6255 259.26765 -13.777686 8.3447306 -1075.984 -1067.6392 + 31500 3.15 0.076457352 1146.2606 254.31094 -13.801841 8.1851949 -1075.8244 -1067.6392 + 31550 3.155 0.076457413 1127.1739 249.59314 -13.819577 8.0333488 -1075.6726 -1067.6392 + 31600 3.16 0.076457375 1124.4259 245.82878 -13.842426 7.91219 -1075.5514 -1067.6392 + 31650 3.165 0.076457268 1141.1569 243.59222 -13.866183 7.8402047 -1075.4794 -1067.6392 + 31700 3.17 0.076457185 1142.9315 243.62712 -13.876409 7.8413279 -1075.4806 -1067.6392 + 31750 3.175 0.076457201 1127.0843 246.58578 -13.867806 7.9365548 -1075.5758 -1067.6392 + 31800 3.18 0.076457204 1110.3606 251.69266 -13.849255 8.1009235 -1075.7402 -1067.6392 + 31850 3.185 0.076457198 1090.6423 257.43936 -13.842194 8.2858857 -1075.9251 -1067.6392 + 31900 3.19 0.076457249 1070.2837 263.0995 -13.858302 8.4680616 -1076.1073 -1067.6392 + 31950 3.195 0.076457354 1038.4021 268.06563 -13.88309 8.6279005 -1076.2671 -1067.6392 + 32000 3.2 0.076457382 1003.1513 271.1038 -13.895783 8.7256861 -1076.3649 -1067.6392 + 32050 3.205 0.07645731 1001.503 271.56962 -13.890494 8.7406789 -1076.3799 -1067.6392 + 32100 3.21 0.076457342 1028.1672 270.88408 -13.884736 8.7186143 -1076.3578 -1067.6392 + 32150 3.215 0.076457246 1043.2279 270.60923 -13.897305 8.709768 -1076.349 -1067.6392 + 32200 3.22 0.076457163 1061.7278 269.95561 -13.919101 8.688731 -1076.328 -1067.6392 + 32250 3.225 0.076457192 1099.7924 267.40921 -13.929905 8.6067729 -1076.246 -1067.6392 + 32300 3.23 0.07645728 1115.399 262.77167 -13.926581 8.4575103 -1076.0967 -1067.6392 + 32350 3.235 0.076457358 1107.8892 257.08093 -13.924138 8.2743494 -1075.9136 -1067.6392 + 32400 3.24 0.076457338 1118.6333 252.33081 -13.927952 8.1214629 -1075.7607 -1067.6392 + 32450 3.245 0.076457214 1128.4292 251.44519 -13.927409 8.0929586 -1075.7322 -1067.6392 + 32500 3.25 0.076457246 1127.0405 254.99795 -13.916976 8.2073069 -1075.8465 -1067.6392 + 32550 3.255 0.076457307 1140.3298 259.54929 -13.905249 8.3537953 -1075.993 -1067.6392 + 32600 3.26 0.076457287 1141.9087 261.74213 -13.898995 8.4243735 -1076.0636 -1067.6392 + 32650 3.265 0.076457265 1125.1087 260.48084 -13.894888 8.3837781 -1076.023 -1067.6392 + 32700 3.27 0.076457288 1107.2451 256.23647 -13.88768 8.2471695 -1075.8864 -1067.6392 + 32750 3.275 0.076457331 1106.2294 250.66639 -13.887159 8.0678924 -1075.7071 -1067.6392 + 32800 3.28 0.076457361 1102.8873 245.7362 -13.901525 7.9092104 -1075.5484 -1067.6392 + 32850 3.285 0.0764573 1073.7918 243.36584 -13.927674 7.8329184 -1075.4721 -1067.6392 + 32900 3.29 0.076457246 1038.3344 245.33181 -13.96315 7.8961946 -1075.5354 -1067.6392 + 32950 3.295 0.076457262 1052.5387 251.76398 -14.002376 8.103219 -1075.7424 -1067.6392 + 33000 3.3 0.076457271 1099.7091 260.70233 -14.040774 8.3909068 -1076.0301 -1067.6392 + 33050 3.305 0.076457299 1122.3662 269.29951 -14.075396 8.6676137 -1076.3068 -1067.6392 + 33100 3.31 0.076457348 1133.2046 274.78945 -14.097368 8.8443117 -1076.4835 -1067.6392 + 33150 3.315 0.076457345 1144.5149 275.86818 -14.112263 8.8790314 -1076.5183 -1067.6392 + 33200 3.32 0.076457354 1152.0065 273.20166 -14.133828 8.7932075 -1076.4324 -1067.6392 + 33250 3.325 0.076457309 1165.8775 268.65705 -14.161563 8.6469357 -1076.2862 -1067.6392 + 33300 3.33 0.076457216 1161.3025 264.27145 -14.185104 8.5057818 -1076.145 -1067.6392 + 33350 3.335 0.076457256 1163.6382 261.21763 -14.196243 8.4074921 -1076.0467 -1067.6392 + 33400 3.34 0.076457414 1170.8832 259.37361 -14.192673 8.348141 -1075.9874 -1067.6392 + 33450 3.345 0.076457435 1147.1567 258.47673 -14.188523 8.3192742 -1075.9585 -1067.6392 + 33500 3.35 0.076457365 1105.1155 258.65363 -14.192309 8.3249679 -1075.9642 -1067.6392 + 33550 3.355 0.07645739 1090.5352 260.22936 -14.198584 8.3756839 -1076.0149 -1067.6392 + 33600 3.36 0.076457404 1090.7024 263.15737 -14.207014 8.469924 -1076.1092 -1067.6392 + 33650 3.365 0.076457298 1076.4632 266.48318 -14.215356 8.576968 -1076.2162 -1067.6392 + 33700 3.37 0.076457283 1073.0859 269.43944 -14.224471 8.6721174 -1076.3113 -1067.6392 + 33750 3.375 0.076457376 1089.3381 271.89961 -14.244593 8.7512999 -1076.3905 -1067.6392 + 33800 3.38 0.076457435 1103.4612 273.25721 -14.276978 8.7949953 -1076.4342 -1067.6392 + 33850 3.385 0.076457308 1111.4346 272.37848 -14.311851 8.7667127 -1076.4059 -1067.6392 + 33900 3.39 0.076457152 1121.3405 268.69095 -14.338922 8.6480268 -1076.2873 -1067.6392 + 33950 3.395 0.076457254 1157.28 262.95636 -14.353057 8.4634547 -1076.1027 -1067.6392 + 34000 3.4 0.076457397 1196.7048 257.60289 -14.365288 8.2911489 -1075.9304 -1067.6392 + 34050 3.405 0.076457474 1195.8072 255.33311 -14.384718 8.2180942 -1075.8573 -1067.6392 + 34100 3.41 0.076457516 1168.6865 257.33079 -14.404595 8.2823911 -1075.9216 -1067.6392 + 34150 3.415 0.076457484 1150.4642 263.06466 -14.423569 8.4669403 -1076.1062 -1067.6392 + 34200 3.42 0.076457454 1145.8816 270.24631 -14.440471 8.6980873 -1076.3373 -1067.6392 + 34250 3.425 0.076457414 1150.0173 275.63341 -14.450898 8.8714751 -1076.5107 -1067.6392 + 34300 3.43 0.076457415 1133.3958 276.80837 -14.458349 8.9092922 -1076.5485 -1067.6392 + 34350 3.435 0.076457417 1105.4056 273.08081 -14.468157 8.7893178 -1076.4286 -1067.6392 + 34400 3.44 0.07645741 1103.7812 265.31563 -14.480189 8.5393893 -1076.1786 -1067.6392 + 34450 3.445 0.076457445 1111.05 255.73892 -14.490895 8.2311555 -1075.8704 -1067.6392 + 34500 3.45 0.076457521 1110.7118 247.85989 -14.49958 7.9775629 -1075.6168 -1067.6392 + 34550 3.455 0.076457579 1130.7725 245.33622 -14.510207 7.8963366 -1075.5356 -1067.6392 + 34600 3.46 0.07645756 1160.5408 249.98597 -14.528291 8.0459926 -1075.6852 -1067.6392 + 34650 3.465 0.076457475 1173.3904 260.77724 -14.552952 8.393318 -1076.0325 -1067.6392 + 34700 3.47 0.076457459 1180.1124 274.58004 -14.57703 8.8375718 -1076.4768 -1067.6392 + 34750 3.475 0.076457431 1180.26 287.50066 -14.596337 9.2534319 -1076.8927 -1067.6392 + 34800 3.48 0.076457427 1168.0204 296.32134 -14.616838 9.5373322 -1077.1766 -1067.6392 + 34850 3.485 0.076457533 1160.6555 299.11042 -14.639374 9.6271011 -1077.2663 -1067.6392 + 34900 3.49 0.076457572 1154.8977 295.41469 -14.653836 9.5081511 -1077.1474 -1067.6392 + 34950 3.495 0.076457515 1144.2382 286.47523 -14.655017 9.2204277 -1076.8597 -1067.6392 + 35000 3.5 0.076457456 1136.3462 275.07037 -14.654715 8.8533533 -1076.4926 -1067.6392 + 35050 3.505 0.076457435 1137.4511 264.5464 -14.667149 8.5146312 -1076.1539 -1067.6392 + 35100 3.51 0.076457336 1147.1459 257.28562 -14.689408 8.2809373 -1075.9202 -1067.6392 + 35150 3.515 0.076457286 1150.785 253.77586 -14.702669 8.167973 -1075.8072 -1067.6392 + 35200 3.52 0.076457352 1139.7459 253.69403 -14.69943 8.1653391 -1075.8046 -1067.6392 + 35250 3.525 0.076457425 1116.52 256.58494 -14.694772 8.2583854 -1075.8976 -1067.6392 + 35300 3.53 0.07645748 1111.2173 261.10191 -14.6981 8.4037676 -1076.043 -1067.6392 + 35350 3.535 0.076457452 1135.6446 265.79828 -14.707669 8.554924 -1076.1942 -1067.6392 + 35400 3.54 0.076457288 1139.7867 270.36596 -14.724124 8.7019382 -1076.3412 -1067.6392 + 35450 3.545 0.076457217 1102.2707 274.78594 -14.743394 8.8441988 -1076.4834 -1067.6392 + 35500 3.55 0.076457301 1090.3939 278.40484 -14.763703 8.9606757 -1076.5999 -1067.6392 + 35550 3.555 0.076457358 1123.8334 280.40441 -14.795776 9.0250337 -1076.6643 -1067.6392 + 35600 3.56 0.076457339 1139.5536 280.69755 -14.849214 9.0344686 -1076.6737 -1067.6392 + 35650 3.565 0.076457352 1140.7103 280.04749 -14.917058 9.0135457 -1076.6528 -1067.6392 + 35700 3.57 0.076457331 1142.1674 279.62947 -14.981817 9.0000914 -1076.6393 -1067.6392 + 35750 3.575 0.07645736 1144.6546 281.13135 -15.039973 9.0484306 -1076.6877 -1067.6392 + 35800 3.58 0.076457452 1144.7784 285.20803 -15.085998 9.1796418 -1076.8189 -1067.6392 + 35850 3.585 0.076457435 1129.3741 290.12224 -15.107991 9.3378094 -1076.977 -1067.6392 + 35900 3.59 0.076457393 1112.74 293.01297 -15.11219 9.43085 -1077.0701 -1067.6392 + 35950 3.595 0.076457348 1103.3623 292.03339 -15.117469 9.3993213 -1077.0386 -1067.6392 + 36000 3.6 0.076457342 1092.3592 288.39522 -15.133694 9.282224 -1076.9215 -1067.6392 + 36050 3.605 0.076457368 1097.7068 284.33868 -15.15275 9.1516611 -1076.7909 -1067.6392 + 36100 3.61 0.076457447 1089.6532 278.3984 -15.16353 8.9604684 -1076.5997 -1067.6392 + 36150 3.615 0.076457405 1081.2352 270.14161 -15.16929 8.6947173 -1076.3339 -1067.6392 + 36200 3.62 0.076457246 1076.5583 262.87042 -15.178409 8.4606885 -1076.0999 -1067.6392 + 36250 3.625 0.076457235 1061.0661 259.62181 -15.1944 8.3561296 -1075.9954 -1067.6392 + 36300 3.63 0.07645747 1050.7866 261.15131 -15.213791 8.4053577 -1076.0446 -1067.6392 + 36350 3.635 0.076457644 1053.0141 266.64658 -15.238262 8.5822271 -1076.2215 -1067.6392 + 36400 3.64 0.076457572 1037.7841 274.52553 -15.272383 8.8358172 -1076.475 -1067.6392 + 36450 3.645 0.076457433 1003.6397 283.25391 -15.31747 9.1167468 -1076.756 -1067.6392 + 36500 3.65 0.076457386 978.50118 290.76048 -15.359824 9.3583516 -1076.9976 -1067.6392 + 36550 3.655 0.076457382 954.71445 294.4333 -15.380916 9.4765644 -1077.1158 -1067.6392 + 36600 3.66 0.076457454 934.6731 293.09974 -15.381452 9.4336425 -1077.0729 -1067.6392 + 36650 3.665 0.076457485 917.05162 288.19168 -15.372846 9.2756729 -1076.9149 -1067.6392 + 36700 3.67 0.076457404 904.52028 282.67475 -15.369934 9.0981062 -1076.7373 -1067.6392 + 36750 3.675 0.076457354 922.86218 278.65706 -15.385872 8.9687938 -1076.608 -1067.6392 + 36800 3.68 0.076457377 950.29972 276.39567 -15.411585 8.8960092 -1076.5352 -1067.6392 + 36850 3.685 0.076457379 947.97462 275.42079 -15.423194 8.864632 -1076.5039 -1067.6392 + 36900 3.69 0.076457359 941.51877 276.16385 -15.417289 8.8885477 -1076.5278 -1067.6392 + 36950 3.695 0.076457353 956.9108 279.42747 -15.409523 8.99359 -1076.6328 -1067.6392 + 37000 3.7 0.076457317 971.60851 284.78002 -15.412025 9.165866 -1076.8051 -1067.6392 + 37050 3.705 0.076457306 982.77877 290.53372 -15.432887 9.3510532 -1076.9903 -1067.6392 + 37100 3.71 0.076457343 997.15237 294.70552 -15.468502 9.4853259 -1077.1246 -1067.6392 + 37150 3.715 0.076457385 1016.0615 296.28658 -15.49906 9.5362134 -1077.1754 -1067.6392 + 37200 3.72 0.076457326 1051.0664 296.04901 -15.514614 9.5285671 -1077.1678 -1067.6392 + 37250 3.725 0.076457371 1089.2886 295.21317 -15.526145 9.501665 -1077.1409 -1067.6392 + 37300 3.73 0.076457452 1106.1528 293.87568 -15.548007 9.4586168 -1077.0978 -1067.6392 + 37350 3.735 0.076457445 1104.2757 291.48449 -15.577866 9.3816546 -1077.0209 -1067.6392 + 37400 3.74 0.076457331 1085.4998 288.23588 -15.602969 9.2770954 -1076.9163 -1067.6392 + 37450 3.745 0.076457268 1062.8115 285.35794 -15.620806 9.1844668 -1076.8237 -1067.6392 + 37500 3.75 0.076457259 1070.5416 284.37772 -15.640178 9.1529175 -1076.7921 -1067.6392 + 37550 3.755 0.076457261 1092.7901 285.9339 -15.668545 9.2030045 -1076.8422 -1067.6392 + 37600 3.76 0.076457268 1115.2985 288.69513 -15.700277 9.2918767 -1076.9311 -1067.6392 + 37650 3.765 0.076457312 1142.7167 290.22268 -15.717189 9.3410421 -1076.9803 -1067.6392 + 37700 3.77 0.076457266 1159.0972 289.01456 -15.704132 9.3021579 -1076.9414 -1067.6392 + 37750 3.775 0.076457153 1167.8654 285.54867 -15.672789 9.1906054 -1076.8298 -1067.6392 + 37800 3.78 0.076457127 1147.6845 281.59483 -15.654861 9.0633481 -1076.7026 -1067.6392 + 37850 3.785 0.076457194 1112.0309 278.61486 -15.657502 8.9674356 -1076.6067 -1067.6392 + 37900 3.79 0.076457284 1085.8713 277.75431 -15.666153 8.9397381 -1076.579 -1067.6392 + 37950 3.795 0.076457256 1063.8837 280.32673 -15.681907 9.0225334 -1076.6618 -1067.6392 + 38000 3.8 0.076457157 1076.2096 286.41182 -15.708072 9.2183866 -1076.8576 -1067.6392 + 38050 3.805 0.076457093 1101.2483 293.93325 -15.728993 9.4604696 -1077.0997 -1067.6392 + 38100 3.81 0.076457058 1093.1319 300.15342 -15.736321 9.6606707 -1077.2999 -1067.6392 + 38150 3.815 0.076457144 1052.1314 302.93086 -15.72822 9.7500647 -1077.3893 -1067.6392 + 38200 3.82 0.076457165 1022.6071 302.06991 -15.711588 9.7223544 -1077.3616 -1067.6392 + 38250 3.825 0.076457122 1033.0652 299.22877 -15.705515 9.6309102 -1077.2701 -1067.6392 + 38300 3.83 0.076457164 1062.0732 295.72691 -15.720213 9.5182002 -1077.1574 -1067.6392 + 38350 3.835 0.076457203 1064.4455 291.57116 -15.75021 9.384444 -1077.0237 -1067.6392 + 38400 3.84 0.076457185 1056.9879 286.00051 -15.778615 9.2051482 -1076.8444 -1067.6392 + 38450 3.845 0.076457163 1051.055 278.73145 -15.794206 8.971188 -1076.6104 -1067.6392 + 38500 3.85 0.076457045 1043.4921 270.84089 -15.799919 8.7172241 -1076.3565 -1067.6392 + 38550 3.855 0.07645701 1047.2952 264.8644 -15.80707 8.5248663 -1076.1641 -1067.6392 + 38600 3.86 0.076457105 1066.4021 263.59538 -15.821774 8.4840218 -1076.1232 -1067.6392 + 38650 3.865 0.076457109 1081.5763 268.25027 -15.841226 8.6338433 -1076.2731 -1067.6392 + 38700 3.87 0.076457016 1072.3855 277.54565 -15.859692 8.933022 -1076.5723 -1067.6392 + 38750 3.875 0.076456913 1054.1463 288.47412 -15.875746 9.2847635 -1076.924 -1067.6392 + 38800 3.88 0.076456918 1046.099 297.63078 -15.88286 9.5794778 -1077.2187 -1067.6392 + 38850 3.885 0.076456965 1035.9503 302.79444 -15.874155 9.745674 -1077.3849 -1067.6392 + 38900 3.89 0.076456968 1006.8277 304.00878 -15.862675 9.7847584 -1077.424 -1067.6392 + 38950 3.895 0.076456992 982.30541 302.68425 -15.866243 9.7421275 -1077.3814 -1067.6392 + 39000 3.9 0.076457051 964.15884 300.333 -15.885469 9.6664508 -1077.3057 -1067.6392 + 39050 3.905 0.07645708 963.47178 297.96261 -15.907738 9.5901579 -1077.2294 -1067.6392 + 39100 3.91 0.07645707 982.39789 295.77017 -15.919704 9.5195926 -1077.1588 -1067.6392 + 39150 3.915 0.07645701 986.19343 293.76453 -15.921564 9.4550395 -1077.0943 -1067.6392 + 39200 3.92 0.076456973 973.23149 292.25935 -15.917749 9.406594 -1077.0458 -1067.6392 + 39250 3.925 0.07645699 956.8331 292.06244 -15.915109 9.4002564 -1077.0395 -1067.6392 + 39300 3.93 0.076457091 947.66562 293.77507 -15.928151 9.4553785 -1077.0946 -1067.6392 + 39350 3.935 0.076457197 953.8454 296.30939 -15.95971 9.5369477 -1077.1762 -1067.6392 + 39400 3.94 0.076457123 941.598 297.57903 -16.001499 9.5778122 -1077.217 -1067.6392 + 39450 3.945 0.076456979 937.81347 295.88089 -16.028812 9.5231561 -1077.1624 -1067.6392 + 39500 3.95 0.076456966 972.55148 291.44854 -16.022183 9.3804973 -1077.0197 -1067.6392 + 39550 3.955 0.076456998 1016.9451 286.92489 -16.003393 9.2349002 -1076.8741 -1067.6392 + 39600 3.96 0.076457077 1044.6221 284.67636 -16.001645 9.1625296 -1076.8018 -1067.6392 + 39650 3.965 0.076457123 1054.2122 285.21332 -16.024476 9.179812 -1076.819 -1067.6392 + 39700 3.97 0.0764571 1065.5507 287.8143 -16.060544 9.2635265 -1076.9028 -1067.6392 + 39750 3.975 0.076457084 1090.1167 291.49835 -16.091023 9.3821005 -1077.0213 -1067.6392 + 39800 3.98 0.076457092 1088.6899 295.37171 -16.105973 9.5067677 -1077.146 -1067.6392 + 39850 3.985 0.076457119 1048.7529 298.22527 -16.109259 9.5986118 -1077.2378 -1067.6392 + 39900 3.99 0.076457095 1002.706 298.65816 -16.11916 9.6125446 -1077.2518 -1067.6392 + 39950 3.995 0.076457007 987.02608 295.67741 -16.143138 9.5166068 -1077.1558 -1067.6392 + 40000 4 0.076456959 991.32371 290.38741 -16.167165 9.3463442 -1076.9856 -1067.6392 + 40050 4.005 0.076456996 1005.4007 286.06135 -16.191789 9.2071066 -1076.8463 -1067.6392 + 40100 4.01 0.076457058 1012.3385 284.2928 -16.225309 9.1501844 -1076.7894 -1067.6392 + 40150 4.015 0.076457022 981.99522 284.09917 -16.253328 9.1439521 -1076.7832 -1067.6392 + 40200 4.02 0.076457038 941.79789 284.62665 -16.265654 9.1609297 -1076.8002 -1067.6392 + 40250 4.025 0.076457083 937.71916 286.12641 -16.277424 9.2092004 -1076.8484 -1067.6392 + 40300 4.03 0.076457088 965.18662 288.6347 -16.293112 9.2899318 -1076.9292 -1067.6392 + 40350 4.035 0.076457059 1017.9185 291.81257 -16.296246 9.3922139 -1077.0314 -1067.6392 + 40400 4.04 0.076456957 1076.0557 296.38482 -16.287869 9.5393756 -1077.1786 -1067.6392 + 40450 4.045 0.076456887 1095.6373 303.83922 -16.288858 9.779301 -1077.4185 -1067.6392 + 40500 4.05 0.076456882 1073.7393 314.05155 -16.311397 10.107993 -1077.7472 -1067.6392 + 40550 4.055 0.076456904 1044.4103 323.76759 -16.342897 10.420711 -1078.0599 -1067.6392 + 40600 4.06 0.076457029 1034.8473 329.10878 -16.368322 10.592622 -1078.2319 -1067.6392 + 40650 4.065 0.076457135 1060.2685 328.20348 -16.381961 10.563484 -1078.2027 -1067.6392 + 40700 4.07 0.076457112 1074.3918 321.48063 -16.381837 10.347104 -1077.9863 -1067.6392 + 40750 4.075 0.076457033 1068.0033 311.42134 -16.370626 10.023338 -1077.6626 -1067.6392 + 40800 4.08 0.076457002 1062.9309 301.40533 -16.356398 9.7009645 -1077.3402 -1067.6392 + 40850 4.085 0.076457035 1060.5178 293.82988 -16.353033 9.4571427 -1077.0964 -1067.6392 + 40900 4.09 0.076457118 1042.7869 289.64315 -16.36814 9.3223897 -1076.9616 -1067.6392 + 40950 4.095 0.076457102 1018.1514 288.9377 -16.391984 9.2996841 -1076.9389 -1067.6392 + 41000 4.1 0.076457101 1008.7893 291.04209 -16.410378 9.3674155 -1077.0066 -1067.6392 + 41050 4.105 0.076457128 1003.0943 294.82137 -16.429591 9.4890547 -1077.1283 -1067.6392 + 41100 4.11 0.07645713 988.07337 298.92586 -16.468813 9.6211607 -1077.2604 -1067.6392 + 41150 4.115 0.076457209 989.22727 301.53433 -16.530448 9.7051164 -1077.3443 -1067.6392 + 41200 4.12 0.076457137 995.23968 300.7184 -16.59589 9.6788552 -1077.3181 -1067.6392 + 41250 4.125 0.076457081 985.88397 295.87985 -16.651304 9.5231227 -1077.1624 -1067.6392 + 41300 4.13 0.076457157 984.43258 288.32296 -16.693415 9.2798984 -1076.9191 -1067.6392 + 41350 4.135 0.076457193 1006.7996 280.67631 -16.722715 9.033785 -1076.673 -1067.6392 + 41400 4.14 0.076457144 1035.0581 275.89522 -16.743941 8.8799019 -1076.5191 -1067.6392 + 41450 4.145 0.076457091 1055.193 276.48914 -16.770034 8.8990177 -1076.5382 -1067.6392 + 41500 4.15 0.076457094 1049.464 282.98604 -16.80422 9.1081253 -1076.7474 -1067.6392 + 41550 4.155 0.076457138 1033.4498 293.55036 -16.837757 9.448146 -1077.0874 -1067.6392 + 41600 4.16 0.076457177 1025.5053 305.59852 -16.868232 9.8359254 -1077.4752 -1067.6392 + 41650 4.165 0.076457144 1030.3407 316.75401 -16.9012 10.194974 -1077.8342 -1067.6392 + 41700 4.17 0.076457109 1042.8576 325.10515 -16.941062 10.463762 -1078.103 -1067.6392 + 41750 4.175 0.076457116 1041.7476 329.79088 -16.983477 10.614575 -1078.2538 -1067.6392 + 41800 4.18 0.076457129 1021.8465 330.97667 -17.012787 10.652741 -1078.292 -1067.6392 + 41850 4.185 0.076457027 1009.1192 329.54708 -17.026799 10.606729 -1078.246 -1067.6392 + 41900 4.19 0.076457044 1009.0074 326.75477 -17.042781 10.516856 -1078.1561 -1067.6392 + 41950 4.195 0.076457158 1008.7758 323.40391 -17.062093 10.409006 -1078.0482 -1067.6392 + 42000 4.2 0.076457147 1005.3634 320.10432 -17.080158 10.302806 -1077.942 -1067.6392 + 42050 4.205 0.076457115 991.88405 317.33885 -17.10087 10.213797 -1077.853 -1067.6392 + 42100 4.21 0.076457042 980.63929 315.014 -17.130865 10.13897 -1077.7782 -1067.6392 + 42150 4.215 0.076456975 998.50297 312.63763 -17.172141 10.062485 -1077.7017 -1067.6392 + 42200 4.22 0.07645708 1026.9562 310.54725 -17.204551 9.9952042 -1077.6344 -1067.6392 + 42250 4.225 0.07645718 1024.8324 310.92967 -17.213513 10.007513 -1077.6467 -1067.6392 + 42300 4.23 0.076457083 1017.3813 314.39712 -17.205294 10.119115 -1077.7583 -1067.6392 + 42350 4.235 0.076457003 1012.2184 317.86117 -17.191657 10.230608 -1077.8698 -1067.6392 + 42400 4.24 0.076457062 1014.6726 317.97177 -17.18376 10.234168 -1077.8734 -1067.6392 + 42450 4.245 0.076457115 1041.0192 313.50056 -17.1786 10.090259 -1077.7295 -1067.6392 + 42500 4.25 0.076457027 1065.6231 305.46596 -17.164761 9.8316589 -1077.4709 -1067.6392 + 42550 4.255 0.076456955 1061.963 296.42889 -17.133558 9.540794 -1077.18 -1067.6392 + 42600 4.26 0.076457002 1048.971 289.79488 -17.095891 9.327273 -1076.9665 -1067.6392 + 42650 4.265 0.076457008 1015.7483 288.18363 -17.073381 9.2754137 -1076.9146 -1067.6392 + 42700 4.27 0.076456971 966.63074 291.62369 -17.06781 9.3861349 -1077.0254 -1067.6392 + 42750 4.275 0.076456941 937.2059 298.17523 -17.069236 9.5970012 -1077.2362 -1067.6392 + 42800 4.28 0.076456915 941.41873 305.73809 -17.079494 9.8404177 -1077.4796 -1067.6392 + 42850 4.285 0.076456844 968.97273 312.62631 -17.099416 10.06212 -1077.7014 -1067.6392 + 42900 4.29 0.076456817 989.21318 317.5486 -17.113085 10.220548 -1077.8598 -1067.6392 + 42950 4.295 0.07645684 1007.6816 320.37965 -17.114449 10.311668 -1077.9509 -1067.6392 + 43000 4.3 0.076456884 1017.4556 321.9046 -17.116189 10.360749 -1078 -1067.6392 + 43050 4.305 0.076456934 997.36098 322.79504 -17.129186 10.389409 -1078.0286 -1067.6392 + 43100 4.31 0.076456922 976.5255 323.56991 -17.161651 10.414349 -1078.0536 -1067.6392 + 43150 4.315 0.076456789 965.28563 323.98987 -17.208478 10.427865 -1078.0671 -1067.6392 + 43200 4.32 0.076456656 976.013 322.91929 -17.253423 10.393408 -1078.0326 -1067.6392 + 43250 4.325 0.07645674 986.91303 319.71702 -17.290058 10.29034 -1077.9296 -1067.6392 + 43300 4.33 0.076456855 994.50735 315.51655 -17.319905 10.155145 -1077.7944 -1067.6392 + 43350 4.335 0.076456913 992.09776 312.98202 -17.344711 10.073569 -1077.7128 -1067.6392 + 43400 4.34 0.076456873 993.00971 314.05271 -17.361697 10.10803 -1077.7473 -1067.6392 + 43450 4.345 0.076456881 1011.1756 318.25407 -17.363193 10.243254 -1077.8825 -1067.6392 + 43500 4.35 0.076456916 1022.1325 324.00289 -17.356684 10.428285 -1078.0675 -1067.6392 + 43550 4.355 0.076456894 1001.5952 329.50567 -17.36965 10.605396 -1078.2446 -1067.6392 + 43600 4.36 0.076456787 990.25729 331.52244 -17.398294 10.670307 -1078.3095 -1067.6392 + 43650 4.365 0.076456812 1014.8329 327.94176 -17.418135 10.55506 -1078.1943 -1067.6392 + 43700 4.37 0.076456927 1009.9859 320.07607 -17.423852 10.301897 -1077.9411 -1067.6392 + 43750 4.375 0.076456903 969.415 310.42468 -17.431775 9.9912593 -1077.6305 -1067.6392 + 43800 4.38 0.076456845 959.2175 300.83991 -17.450035 9.6827659 -1077.322 -1067.6392 + 43850 4.385 0.076456904 972.76707 292.38261 -17.458814 9.4105611 -1077.0498 -1067.6392 + 43900 4.39 0.076456967 1000.7902 286.33658 -17.440879 9.215965 -1076.8552 -1067.6392 + 43950 4.395 0.076456908 1023.9806 285.0775 -17.417685 9.1754407 -1076.8147 -1067.6392 + 44000 4.4 0.076456873 1016.312 289.59884 -17.414064 9.3209636 -1076.9602 -1067.6392 + 44050 4.405 0.076456899 1002.0937 297.58236 -17.427534 9.5779192 -1077.2171 -1067.6392 + 44100 4.41 0.076456992 979.49413 305.48344 -17.460189 9.8322216 -1077.4715 -1067.6392 + 44150 4.415 0.076456954 957.12038 310.16996 -17.500467 9.983061 -1077.6223 -1067.6392 + 44200 4.42 0.076456909 969.36774 310.67664 -17.517203 9.9993688 -1077.6386 -1067.6392 + 44250 4.425 0.076457034 990.1925 309.6621 -17.501366 9.966715 -1077.6059 -1067.6392 + 44300 4.43 0.076457126 997.07426 311.42685 -17.48063 10.023515 -1077.6627 -1067.6392 + 44350 4.435 0.076457073 1012.156 317.95445 -17.477266 10.233611 -1077.8728 -1067.6392 + 44400 4.44 0.076456939 1014.2778 328.00805 -17.482372 10.557194 -1078.1964 -1067.6392 + 44450 4.445 0.076456926 999.33044 339.05571 -17.484164 10.912771 -1078.552 -1067.6392 + 44500 4.45 0.076457063 992.03592 348.59795 -17.490492 11.219896 -1078.8591 -1067.6392 + 44550 4.455 0.076457102 1000.0606 354.61439 -17.51719 11.413539 -1079.0528 -1067.6392 + 44600 4.46 0.076456962 996.40689 355.89465 -17.569196 11.454745 -1079.094 -1067.6392 + 44650 4.465 0.076456921 982.66296 351.92721 -17.625938 11.32705 -1078.9663 -1067.6392 + 44700 4.47 0.076457079 980.49035 343.41935 -17.667243 11.053218 -1078.6925 -1067.6392 + 44750 4.475 0.076457159 979.21197 332.02069 -17.68549 10.686344 -1078.3256 -1067.6392 + 44800 4.48 0.076457107 992.32881 320.06951 -17.687575 10.301685 -1077.9409 -1067.6392 + 44850 4.485 0.076456963 1013.5196 310.0827 -17.693112 9.9802522 -1077.6195 -1067.6392 + 44900 4.49 0.076456969 1001.5918 303.20339 -17.722904 9.7588364 -1077.3981 -1067.6392 + 44950 4.495 0.07645701 980.51163 298.27852 -17.770105 9.6003255 -1077.2396 -1067.6392 + 45000 4.5 0.076457008 965.95999 294.19092 -17.8048 9.4687631 -1077.108 -1067.6392 + 45050 4.505 0.076457017 961.98916 292.94732 -17.819999 9.4287368 -1077.068 -1067.6392 + 45100 4.51 0.07645703 971.83236 297.17494 -17.826582 9.5648062 -1077.204 -1067.6392 + 45150 4.515 0.076457062 971.3126 305.34652 -17.830021 9.8278148 -1077.467 -1067.6392 + 45200 4.52 0.076457088 967.70533 313.76007 -17.837312 10.098611 -1077.7378 -1067.6392 + 45250 4.525 0.076457101 978.16788 320.28707 -17.856874 10.308688 -1077.9479 -1067.6392 + 45300 4.53 0.076457058 976.86282 324.31727 -17.883352 10.438403 -1078.0776 -1067.6392 + 45350 4.535 0.076457004 957.06022 326.51332 -17.908809 10.509085 -1078.1483 -1067.6392 + 45400 4.54 0.076457052 942.23138 327.86211 -17.932213 10.552497 -1078.1917 -1067.6392 + 45450 4.545 0.07645704 939.40207 328.25924 -17.946431 10.565278 -1078.2045 -1067.6392 + 45500 4.55 0.076456984 936.0127 327.92287 -17.951349 10.554452 -1078.1937 -1067.6392 + 45550 4.555 0.076456984 943.56455 327.95367 -17.956533 10.555444 -1078.1947 -1067.6392 + 45600 4.56 0.076456952 970.72253 329.0502 -17.962098 10.590736 -1078.23 -1067.6392 + 45650 4.565 0.076456987 995.14598 331.17156 -17.959883 10.659014 -1078.2982 -1067.6392 + 45700 4.57 0.076457009 998.94348 333.51018 -17.947766 10.734284 -1078.3735 -1067.6392 + 45750 4.575 0.076456926 989.53969 334.52552 -17.932792 10.766963 -1078.4062 -1067.6392 + 45800 4.58 0.076456925 980.95008 333.13239 -17.931126 10.722125 -1078.3614 -1067.6392 + 45850 4.585 0.076457115 959.08206 328.86879 -17.93416 10.584897 -1078.2241 -1067.6392 + 45900 4.59 0.076457157 946.57457 322.43709 -17.923384 10.377888 -1078.0171 -1067.6392 + 45950 4.595 0.07645705 952.85741 316.41194 -17.913842 10.183964 -1077.8232 -1067.6392 + 46000 4.6 0.076456979 945.08309 313.54756 -17.919013 10.091772 -1077.731 -1067.6392 + 46050 4.605 0.076457016 924.59556 315.06793 -17.927039 10.140706 -1077.7799 -1067.6392 + 46100 4.61 0.076457109 914.10059 320.37764 -17.937025 10.311603 -1077.9508 -1067.6392 + 46150 4.615 0.076457104 917.2827 327.12661 -17.957731 10.528824 -1078.1681 -1067.6392 + 46200 4.62 0.076457168 920.84155 332.53739 -17.977107 10.702974 -1078.3422 -1067.6392 + 46250 4.625 0.076457189 935.24004 335.24356 -17.979199 10.790074 -1078.4293 -1067.6392 + 46300 4.63 0.0764571 956.82788 335.57661 -17.975075 10.800794 -1078.44 -1067.6392 + 46350 4.635 0.076457031 962.26794 334.10104 -17.978152 10.753301 -1078.3925 -1067.6392 + 46400 4.64 0.076457042 962.1098 331.07198 -17.987144 10.655809 -1078.295 -1067.6392 + 46450 4.645 0.076457107 952.75718 326.27068 -17.988379 10.501275 -1078.1405 -1067.6392 + 46500 4.65 0.076457159 948.45576 319.53501 -17.972857 10.284482 -1077.9237 -1067.6392 + 46550 4.655 0.076457197 951.57922 312.18572 -17.950863 10.04794 -1077.6872 -1067.6392 + 46600 4.66 0.076457169 953.72078 306.60692 -17.937745 9.8683816 -1077.5076 -1067.6392 + 46650 4.665 0.07645714 969.19209 304.86187 -17.945815 9.8122157 -1077.4514 -1067.6392 + 46700 4.67 0.076457121 982.50268 307.98161 -17.974576 9.9126272 -1077.5519 -1067.6392 + 46750 4.675 0.076457149 974.5768 314.91384 -18.000917 10.135746 -1077.775 -1067.6392 + 46800 4.68 0.076457222 954.17186 322.2853 -18.003497 10.373003 -1078.0122 -1067.6392 + 46850 4.685 0.076457263 943.539 327.31716 -17.991456 10.534957 -1078.1742 -1067.6392 + 46900 4.69 0.076457272 943.2156 329.68269 -17.979619 10.611093 -1078.2503 -1067.6392 + 46950 4.695 0.076457248 943.45366 330.93325 -17.974243 10.651343 -1078.2906 -1067.6392 + 47000 4.7 0.076457135 949.24404 332.85406 -17.979019 10.713166 -1078.3524 -1067.6392 + 47050 4.705 0.076457109 948.38347 335.49431 -17.990033 10.798145 -1078.4374 -1067.6392 + 47100 4.71 0.076457108 930.57759 336.79293 -18.000912 10.839942 -1078.4792 -1067.6392 + 47150 4.715 0.076457061 927.62433 334.90723 -18.010023 10.779249 -1078.4185 -1067.6392 + 47200 4.72 0.076457026 952.31461 330.77819 -18.012971 10.646353 -1078.2856 -1067.6392 + 47250 4.725 0.076457029 970.41647 328.26943 -18.01237 10.565606 -1078.2048 -1067.6392 + 47300 4.73 0.07645704 968.2995 329.56928 -18.014991 10.607443 -1078.2467 -1067.6392 + 47350 4.735 0.076457096 954.1138 332.31723 -18.02454 10.695888 -1078.3351 -1067.6392 + 47400 4.74 0.07645714 968.01812 333.90938 -18.038354 10.747133 -1078.3864 -1067.6392 + 47450 4.745 0.076457183 1006.2574 334.70242 -18.050106 10.772657 -1078.4119 -1067.6392 + 47500 4.75 0.076457147 1037.4547 335.39669 -18.062338 10.795003 -1078.4342 -1067.6392 + 47550 4.755 0.076457004 1027.5546 333.98227 -18.07862 10.749479 -1078.3887 -1067.6392 + 47600 4.76 0.076457078 986.81013 328.40773 -18.100384 10.570058 -1078.2093 -1067.6392 + 47650 4.765 0.076457236 980.12421 319.46388 -18.120191 10.282193 -1077.9214 -1067.6392 + 47700 4.77 0.076457087 973.75413 310.20532 -18.133538 9.984199 -1077.6234 -1067.6392 + 47750 4.775 0.076456955 944.49227 304.05996 -18.150575 9.7864056 -1077.4256 -1067.6392 + 47800 4.78 0.076457043 934.26558 302.74055 -18.16342 9.7439395 -1077.3832 -1067.6392 + 47850 4.785 0.076457163 946.5867 306.50326 -18.158739 9.8650453 -1077.5043 -1067.6392 + 47900 4.79 0.076457207 956.86274 314.93949 -18.15119 10.136572 -1077.7758 -1067.6392 + 47950 4.795 0.07645715 958.82327 326.06488 -18.164425 10.494651 -1078.1339 -1067.6392 + 48000 4.8 0.076457039 947.13341 336.0645 -18.196245 10.816497 -1078.4557 -1067.6392 + 48050 4.805 0.076457079 939.87276 341.25341 -18.222449 10.983506 -1078.6227 -1067.6392 + 48100 4.81 0.076457027 941.59608 340.87478 -18.232947 10.971319 -1078.6106 -1067.6392 + 48150 4.815 0.076456851 947.69448 337.06143 -18.235444 10.848584 -1078.4878 -1067.6392 + 48200 4.82 0.076456923 945.0083 331.93845 -18.226235 10.683697 -1078.3229 -1067.6392 + 48250 4.825 0.076457065 955.23353 326.88598 -18.206503 10.521079 -1078.1603 -1067.6392 + 48300 4.83 0.076457035 976.25082 323.10993 -18.198786 10.399544 -1078.0388 -1067.6392 + 48350 4.835 0.076456918 980.22652 320.95231 -18.21424 10.330099 -1077.9693 -1067.6392 + 48400 4.84 0.07645681 991.61794 319.56431 -18.236887 10.285425 -1077.9247 -1067.6392 + 48450 4.845 0.076456811 1004.3973 319.00657 -18.259638 10.267474 -1077.9067 -1067.6392 + 48500 4.85 0.076456872 1011.2382 320.78368 -18.281738 10.324672 -1077.9639 -1067.6392 + 48550 4.855 0.076456865 1011.4359 325.48338 -18.293785 10.475935 -1078.1152 -1067.6392 + 48600 4.86 0.076456844 1005.7488 332.46822 -18.305193 10.700748 -1078.34 -1067.6392 + 48650 4.865 0.076456876 989.87609 340.85827 -18.332595 10.970788 -1078.61 -1067.6392 + 48700 4.87 0.07645693 968.07155 348.89288 -18.372402 11.229388 -1078.8686 -1067.6392 + 48750 4.875 0.076456873 954.48433 354.07093 -18.412323 11.396048 -1079.0353 -1067.6392 + 48800 4.88 0.076456838 951.82821 354.8518 -18.445418 11.421181 -1079.0604 -1067.6392 + 48850 4.885 0.076456946 955.18291 351.65785 -18.473652 11.318381 -1078.9576 -1067.6392 + 48900 4.89 0.076457014 961.21122 345.9779 -18.498732 11.135567 -1078.7748 -1067.6392 + 48950 4.895 0.076456863 971.60448 338.99359 -18.517002 10.910772 -1078.55 -1067.6392 + 49000 4.9 0.076456715 983.55102 331.29604 -18.525123 10.66302 -1078.3022 -1067.6392 + 49050 4.905 0.076456793 965.60848 324.24302 -18.535514 10.436013 -1078.0752 -1067.6392 + 49100 4.91 0.076456864 944.53951 319.79955 -18.557009 10.292997 -1077.9322 -1067.6392 + 49150 4.915 0.076456768 947.20225 319.09103 -18.582911 10.270192 -1077.9094 -1067.6392 + 49200 4.92 0.076456734 944.86084 321.47471 -18.607567 10.346913 -1077.9861 -1067.6392 + 49250 4.925 0.076456851 940.6342 324.66116 -18.626242 10.449471 -1078.0887 -1067.6392 + 49300 4.93 0.076456872 950.6162 326.9518 -18.64032 10.523198 -1078.1624 -1067.6392 + 49350 4.935 0.076456643 952.42705 328.08816 -18.649274 10.559772 -1078.199 -1067.6392 + 49400 4.94 0.076456451 940.33548 329.05106 -18.66058 10.590764 -1078.23 -1067.6392 + 49450 4.945 0.076456558 946.93554 331.05799 -18.683544 10.655358 -1078.2946 -1067.6392 + 49500 4.95 0.076456719 968.13429 334.1178 -18.710726 10.753841 -1078.3931 -1067.6392 + 49550 4.955 0.076456712 989.14725 337.02333 -18.733226 10.847357 -1078.4866 -1067.6392 + 49600 4.96 0.076456681 986.97561 338.47429 -18.752155 10.894058 -1078.5333 -1067.6392 + 49650 4.965 0.076456692 980.18259 338.36307 -18.779369 10.890478 -1078.5297 -1067.6392 + 49700 4.97 0.076456776 962.29895 337.41689 -18.815353 10.860024 -1078.4993 -1067.6392 + 49750 4.975 0.076456852 943.47442 335.97999 -18.836611 10.813777 -1078.453 -1067.6392 + 49800 4.98 0.076456829 951.10385 334.29845 -18.839995 10.759655 -1078.3989 -1067.6392 + 49850 4.985 0.076456797 968.57767 333.00568 -18.84792 10.718046 -1078.3573 -1067.6392 + 49900 4.99 0.076456886 973.40031 332.98155 -18.860429 10.71727 -1078.3565 -1067.6392 + 49950 4.995 0.076456914 964.32242 335.13156 -18.853933 10.786469 -1078.4257 -1067.6392 + 50000 5 0.076456921 972.52311 340.63067 -18.841947 10.963463 -1078.6027 -1067.6392 +Loop time of 90.4316 on 1 procs for 50000 steps with 250 atoms + +Performance: 4.777 ns/day, 5.024 hours/ns, 552.904 timesteps/s +99.3% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 37.302 | 37.302 | 37.302 | 0.0 | 41.25 +Neigh | 0.386 | 0.386 | 0.386 | 0.0 | 0.43 +Comm | 0.7718 | 0.7718 | 0.7718 | 0.0 | 0.85 +Output | 15.35 | 15.35 | 15.35 | 0.0 | 16.97 +Modify | 36.465 | 36.465 | 36.465 | 0.0 | 40.32 +Other | | 0.1579 | | | 0.17 + +Nlocal: 250 ave 250 max 250 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1327 ave 1327 max 1327 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7747 ave 7747 max 7747 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 15494 ave 15494 max 15494 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 15494 +Ave neighs/atom = 61.976 +Neighbor list builds = 614 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:01:30 diff --git a/examples/SPIN/iron/log.11May18.spin.iron.g++.4 b/examples/SPIN/iron/log.11May18.spin.iron.g++.4 new file mode 100644 index 0000000000..1467f8e2c5 --- /dev/null +++ b/examples/SPIN/iron/log.11May18.spin.iron.g++.4 @@ -0,0 +1,1115 @@ +LAMMPS (11 May 2018) +# bcc iron in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice bcc 2.8665 +Lattice spacing in x,y,z = 2.8665 2.8665 2.8665 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 250 atoms + Time spent = 0.00023818 secs + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 + +set group all spin/random 31 2.2 + 250 settings made for spin/random +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 3.5 +pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe +pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# compute and output options + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_tmag temp v_emag ke pe etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 50000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.77337 + ghost atom cutoff = 5.77337 + binsize = 2.88668, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.265 | 7.265 | 7.265 Mbytes +Step Time v_magnorm v_tmag Temp v_emag KinEng PotEng TotEng + 0 0 0.076456975 9109.0924 100.00358 -0.85791269 3.2186929 -1070.8579 -1067.6392 + 50 0.005 0.076456995 9402.4007 96.298333 -0.85659448 3.0994366 -1070.7387 -1067.6392 + 100 0.01 0.076457028 9589.1846 86.330828 -0.87003341 2.7786247 -1070.4179 -1067.6392 + 150 0.015 0.076457074 9673.9268 71.603402 -0.89006992 2.3046111 -1069.9438 -1067.6392 + 200 0.02 0.076457106 9509.1148 54.648817 -0.91124541 1.7589146 -1069.3981 -1067.6392 + 250 0.025 0.076457128 9004.27 38.599515 -0.93187522 1.2423553 -1068.8816 -1067.6392 + 300 0.03 0.076457157 8353.4371 26.383018 -0.95082226 0.8491579 -1068.4884 -1067.6392 + 350 0.035 0.076457207 7911.1316 20.01039 -0.96826468 0.64404992 -1068.2833 -1067.6392 + 400 0.04 0.076457243 7775.9492 20.097682 -0.98706373 0.64685949 -1068.2861 -1067.6392 + 450 0.045 0.076457231 7737.1225 25.687511 -1.0095684 0.82677249 -1068.466 -1067.6392 + 500 0.05 0.076457204 7676.9809 34.604697 -1.0349855 1.113779 -1068.753 -1067.6392 + 550 0.055 0.076457196 7550.2809 44.251809 -1.0609123 1.4242788 -1069.0635 -1067.6392 + 600 0.06 0.076457188 7209.7657 52.475202 -1.0880854 1.6889551 -1069.3282 -1067.6392 + 650 0.065 0.07645718 6691.1787 57.926479 -1.1179657 1.8644087 -1069.5036 -1067.6392 + 700 0.07 0.076457185 6276.4003 60.030548 -1.1469999 1.9321298 -1069.5714 -1067.6392 + 750 0.075 0.07645719 6149.9253 59.122504 -1.1721939 1.9029037 -1069.5421 -1067.6392 + 800 0.08 0.076457195 6207.0587 56.349146 -1.1949365 1.813641 -1069.4529 -1067.6392 + 850 0.085 0.076457199 6328.4635 53.154464 -1.2164642 1.7108177 -1069.35 -1067.6392 + 900 0.09 0.076457199 6456.2716 50.837416 -1.2366018 1.6362417 -1069.2755 -1067.6392 + 950 0.095 0.076457222 6495.1064 50.234549 -1.2539657 1.6168379 -1069.2561 -1067.6392 + 1000 0.1 0.076457266 6416.775 51.592727 -1.2671834 1.6605519 -1069.2998 -1067.6392 + 1050 0.105 0.076457256 6305.9015 54.719414 -1.2794824 1.7611868 -1069.4004 -1067.6392 + 1100 0.11 0.076457222 6165.987 59.01343 -1.2960617 1.8993931 -1069.5386 -1067.6392 + 1150 0.115 0.076457194 5941.7807 63.475298 -1.317859 2.0430017 -1069.6822 -1067.6392 + 1200 0.12 0.076457182 5692.0982 67.036713 -1.3432854 2.1576286 -1069.7969 -1067.6392 + 1250 0.125 0.076457217 5543.1736 68.917405 -1.3719994 2.2181602 -1069.8574 -1067.6392 + 1300 0.13 0.076457263 5507.9968 68.753418 -1.4042339 2.2128821 -1069.8521 -1067.6392 + 1350 0.135 0.076457286 5500.7848 66.608286 -1.4385667 2.1438394 -1069.7831 -1067.6392 + 1400 0.14 0.076457254 5523.456 62.967429 -1.4712143 2.0266556 -1069.6659 -1067.6392 + 1450 0.145 0.076457188 5501.5777 58.75732 -1.4990458 1.89115 -1069.5304 -1067.6392 + 1500 0.15 0.076457175 5324.4931 55.246308 -1.5236774 1.7781453 -1069.4174 -1067.6392 + 1550 0.155 0.076457234 5025.5908 53.607297 -1.5492947 1.7253925 -1069.3646 -1067.6392 + 1600 0.16 0.076457297 4742.9546 54.443418 -1.5785798 1.7523036 -1069.3915 -1067.6392 + 1650 0.165 0.076457321 4558.083 57.572305 -1.6113848 1.8530093 -1069.4922 -1067.6392 + 1700 0.17 0.076457304 4479.4352 62.073307 -1.6443595 1.9978776 -1069.6371 -1067.6392 + 1750 0.175 0.076457272 4520.5577 66.677964 -1.6742729 2.146082 -1069.7853 -1067.6392 + 1800 0.18 0.076457253 4659.9114 70.277293 -1.7021557 2.2619292 -1069.9012 -1067.6392 + 1850 0.185 0.076457257 4734.1597 72.135028 -1.7307798 2.3217219 -1069.961 -1067.6392 + 1900 0.19 0.076457279 4632.2637 71.873382 -1.7598165 2.3133006 -1069.9525 -1067.6392 + 1950 0.195 0.076457276 4496.6621 69.52131 -1.7866398 2.2375973 -1069.8768 -1067.6392 + 2000 0.2 0.076457276 4507.4594 65.61098 -1.8106776 2.1117403 -1069.751 -1067.6392 + 2050 0.205 0.076457288 4652.9279 61.016261 -1.8317479 1.9638557 -1069.6031 -1067.6392 + 2100 0.21 0.076457307 4738.4188 56.745795 -1.8489776 1.8264074 -1069.4656 -1067.6392 + 2150 0.215 0.076457279 4643.423 53.837376 -1.8647516 1.7327977 -1069.372 -1067.6392 + 2200 0.22 0.076457215 4517.9871 53.044053 -1.8828305 1.707264 -1069.3465 -1067.6392 + 2250 0.225 0.07645717 4436.4399 54.521839 -1.9038753 1.7548277 -1069.3941 -1067.6392 + 2300 0.23 0.076457132 4318.8261 57.895634 -1.9276454 1.8634159 -1069.5026 -1067.6392 + 2350 0.235 0.076457114 4148.8616 62.484473 -1.9559372 2.0111113 -1069.6503 -1067.6392 + 2400 0.24 0.076457144 4014.8498 67.404243 -1.9902034 2.1694579 -1069.8087 -1067.6392 + 2450 0.245 0.076457189 4004.017 71.654167 -2.0278558 2.306245 -1069.9455 -1067.6392 + 2500 0.25 0.076457202 4109.5497 74.379393 -2.0629968 2.3939585 -1070.0332 -1067.6392 + 2550 0.255 0.076457205 4251.6933 75.255112 -2.0918484 2.4221442 -1070.0614 -1067.6392 + 2600 0.26 0.076457208 4320.6876 74.700611 -2.1169691 2.4042972 -1070.0435 -1067.6392 + 2650 0.265 0.076457197 4297.5527 73.627823 -2.143 2.3697686 -1070.009 -1067.6392 + 2700 0.27 0.076457213 4198.4852 72.957211 -2.1702374 2.3481845 -1069.9874 -1067.6392 + 2750 0.275 0.076457256 4019.2384 73.353574 -2.1967187 2.3609417 -1070.0002 -1067.6392 + 2800 0.28 0.076457288 3867.2492 75.083781 -2.2227117 2.4166298 -1070.0559 -1067.6392 + 2850 0.285 0.076457302 3879.8471 77.82546 -2.2488766 2.5048728 -1070.1441 -1067.6392 + 2900 0.29 0.076457321 4003.8986 80.741745 -2.2742584 2.5987357 -1070.238 -1067.6392 + 2950 0.295 0.076457347 4026.6754 82.934399 -2.3001834 2.669308 -1070.3085 -1067.6392 + 3000 0.3 0.076457334 3857.2183 83.701738 -2.3291113 2.6940054 -1070.3332 -1067.6392 + 3050 0.305 0.076457295 3640.7581 82.615991 -2.3614721 2.6590598 -1070.2983 -1067.6392 + 3100 0.31 0.07645725 3489.102 79.573679 -2.3943974 2.5611406 -1070.2004 -1067.6392 + 3150 0.315 0.076457232 3396.4301 74.896125 -2.4236621 2.4105899 -1070.0498 -1067.6392 + 3200 0.32 0.076457259 3378.11 69.450128 -2.4483292 2.2353063 -1069.8745 -1067.6392 + 3250 0.325 0.076457289 3463.7734 64.542714 -2.4729224 2.0773573 -1069.7166 -1067.6392 + 3300 0.33 0.076457318 3637.4971 61.346221 -2.500303 1.9744757 -1069.6137 -1067.6392 + 3350 0.335 0.076457361 3833.5389 60.346704 -2.5252732 1.9423055 -1069.5815 -1067.6392 + 3400 0.34 0.076457387 3965.2081 61.464125 -2.5426842 1.9782706 -1069.6175 -1067.6392 + 3450 0.345 0.076457375 3976.7956 64.41797 -2.5565409 2.0733424 -1069.7126 -1067.6392 + 3500 0.35 0.076457371 3862.8334 68.714547 -2.5743062 2.211631 -1069.8509 -1067.6392 + 3550 0.355 0.076457375 3697.284 73.534942 -2.5974674 2.3667792 -1070.006 -1067.6392 + 3600 0.36 0.076457362 3575.9012 77.902682 -2.6209385 2.5073583 -1070.1466 -1067.6392 + 3650 0.365 0.076457345 3550.0667 81.043684 -2.6394846 2.6084539 -1070.2477 -1067.6392 + 3700 0.37 0.076457309 3535.0981 82.730976 -2.65464 2.6627607 -1070.302 -1067.6392 + 3750 0.375 0.076457309 3444.1795 83.322515 -2.6736085 2.6817998 -1070.321 -1067.6392 + 3800 0.38 0.076457348 3323.7191 83.436143 -2.7008525 2.685457 -1070.3247 -1067.6392 + 3850 0.385 0.076457368 3252.5404 83.62535 -2.7353937 2.6915468 -1070.3308 -1067.6392 + 3900 0.39 0.076457344 3219.5349 84.088597 -2.7722909 2.7064568 -1070.3457 -1067.6392 + 3950 0.395 0.076457316 3210.4164 84.636475 -2.8060651 2.7240906 -1070.3633 -1067.6392 + 4000 0.4 0.076457319 3223.9708 85.042888 -2.8352998 2.7371713 -1070.3764 -1067.6392 + 4050 0.405 0.076457335 3232.7108 85.266853 -2.8607963 2.7443798 -1070.3836 -1067.6392 + 4100 0.41 0.076457314 3206.1428 85.444074 -2.8837721 2.7500838 -1070.3893 -1067.6392 + 4150 0.415 0.076457325 3146.4589 85.771643 -2.9074131 2.7606269 -1070.3999 -1067.6392 + 4200 0.42 0.076457395 3092.6283 86.24875 -2.9341331 2.775983 -1070.4152 -1067.6392 + 4250 0.425 0.07645742 3103.0319 86.563557 -2.9622203 2.7861153 -1070.4253 -1067.6392 + 4300 0.43 0.076457425 3116.9053 86.320099 -2.9880208 2.7782794 -1070.4175 -1067.6392 + 4350 0.435 0.076457427 3061.2259 85.306966 -3.0085539 2.7456709 -1070.3849 -1067.6392 + 4400 0.44 0.076457432 3033.5229 83.703441 -3.0243431 2.6940602 -1070.3333 -1067.6392 + 4450 0.445 0.076457411 3042.5167 82.058057 -3.0397518 2.6411023 -1070.2803 -1067.6392 + 4500 0.45 0.076457387 2994.5161 81.002427 -3.0597817 2.607126 -1070.2464 -1067.6392 + 4550 0.455 0.076457413 2868.381 80.936403 -3.086593 2.605001 -1070.2442 -1067.6392 + 4600 0.46 0.076457454 2716.5128 81.904984 -3.1192161 2.6361755 -1070.2754 -1067.6392 + 4650 0.465 0.076457402 2628.691 83.537981 -3.1529675 2.6887347 -1070.328 -1067.6392 + 4700 0.47 0.076457327 2609.7253 85.196185 -3.1819342 2.7421053 -1070.3813 -1067.6392 + 4750 0.475 0.076457328 2604.4797 86.479192 -3.2088497 2.7833999 -1070.4226 -1067.6392 + 4800 0.48 0.076457385 2610.7583 87.294321 -3.242028 2.8096355 -1070.4489 -1067.6392 + 4850 0.485 0.076457398 2649.7853 87.477655 -3.2810534 2.8155362 -1070.4548 -1067.6392 + 4900 0.49 0.076457371 2678.8351 86.820207 -3.3154833 2.7943757 -1070.4336 -1067.6392 + 4950 0.495 0.076457344 2687.9239 85.543066 -3.3381845 2.75327 -1070.3925 -1067.6392 + 5000 0.5 0.076457351 2720.6587 84.363474 -3.3508261 2.7153039 -1070.3545 -1067.6392 + 5050 0.505 0.076457408 2755.8291 84.030245 -3.3582878 2.7045787 -1070.3438 -1067.6392 + 5100 0.51 0.076457454 2753.2313 84.932962 -3.3648805 2.7336333 -1070.3729 -1067.6392 + 5150 0.515 0.076457453 2706.7195 86.928397 -3.3711152 2.7978579 -1070.4371 -1067.6392 + 5200 0.52 0.076457474 2678.1769 89.583728 -3.3768576 2.8833218 -1070.5226 -1067.6392 + 5250 0.525 0.076457519 2699.6153 92.51484 -3.3860255 2.9776619 -1070.6169 -1067.6392 + 5300 0.53 0.076457531 2703.4089 95.385751 -3.4040809 3.0700644 -1070.7093 -1067.6392 + 5350 0.535 0.076457501 2642.6927 97.779641 -3.4335521 3.1471136 -1070.7863 -1067.6392 + 5400 0.54 0.076457502 2536.3506 99.093181 -3.4686217 3.1893909 -1070.8286 -1067.6392 + 5450 0.545 0.076457526 2496.939 98.768918 -3.4975315 3.1789543 -1070.8182 -1067.6392 + 5500 0.55 0.07645752 2590.2958 96.816602 -3.5146308 3.1161175 -1070.7554 -1067.6392 + 5550 0.555 0.07645751 2736.4682 93.934193 -3.5252273 3.0233449 -1070.6626 -1067.6392 + 5600 0.56 0.076457511 2852.5255 91.119522 -3.5395987 2.9327525 -1070.572 -1067.6392 + 5650 0.565 0.07645752 2911.6957 89.034641 -3.5601373 2.865649 -1070.5049 -1067.6392 + 5700 0.57 0.076457504 2872.1072 87.822315 -3.578603 2.8266294 -1070.4659 -1067.6392 + 5750 0.575 0.076457514 2742.4368 87.594069 -3.5903293 2.8192831 -1070.4585 -1067.6392 + 5800 0.58 0.076457541 2620.8057 88.56771 -3.5997032 2.8506205 -1070.4899 -1067.6392 + 5850 0.585 0.076457558 2577.6654 90.685493 -3.6121768 2.918783 -1070.558 -1067.6392 + 5900 0.59 0.076457556 2603.2357 93.377822 -3.6265072 3.0054377 -1070.6447 -1067.6392 + 5950 0.595 0.076457545 2622.1452 95.785548 -3.6355062 3.0829322 -1070.7222 -1067.6392 + 6000 0.6 0.076457592 2584.5081 97.370124 -3.6379266 3.133933 -1070.7732 -1067.6392 + 6050 0.605 0.076457628 2511.2974 98.197855 -3.6436111 3.1605742 -1070.7998 -1067.6392 + 6100 0.61 0.076457605 2460.1929 98.607339 -3.6641341 3.1737537 -1070.813 -1067.6392 + 6150 0.615 0.076457552 2425.1563 98.77721 -3.7023511 3.1792212 -1070.8185 -1067.6392 + 6200 0.62 0.076457529 2378.8547 98.671042 -3.7529171 3.1758041 -1070.815 -1067.6392 + 6250 0.625 0.076457536 2373.6127 98.176109 -3.8075656 3.1598743 -1070.7991 -1067.6392 + 6300 0.63 0.076457584 2457.9835 97.287991 -3.8600042 3.1312895 -1070.7705 -1067.6392 + 6350 0.635 0.076457603 2571.5799 96.270875 -3.9092353 3.0985528 -1070.7378 -1067.6392 + 6400 0.64 0.076457558 2610.0081 95.435983 -3.9541076 3.0716812 -1070.7109 -1067.6392 + 6450 0.645 0.076457543 2587.7565 94.898723 -3.9898259 3.054389 -1070.6936 -1067.6392 + 6500 0.65 0.076457571 2592.6987 94.73176 -4.0156724 3.0490152 -1070.6882 -1067.6392 + 6550 0.655 0.076457601 2601.6462 95.026393 -4.0381259 3.0584982 -1070.6977 -1067.6392 + 6600 0.66 0.076457634 2566.7039 95.637128 -4.0616088 3.0781552 -1070.7174 -1067.6392 + 6650 0.665 0.076457648 2514.9262 96.272229 -4.0866885 3.0985964 -1070.7378 -1067.6392 + 6700 0.67 0.076457667 2469.8505 96.811573 -4.1148394 3.1159556 -1070.7552 -1067.6392 + 6750 0.675 0.076457679 2455.7259 97.232643 -4.1435989 3.1295081 -1070.7687 -1067.6392 + 6800 0.68 0.076457673 2468.7089 97.598131 -4.1658056 3.1412716 -1070.7805 -1067.6392 + 6850 0.685 0.076457641 2449.9304 98.364281 -4.1815157 3.1659307 -1070.8052 -1067.6392 + 6900 0.69 0.076457591 2353.8798 100.13599 -4.1974942 3.2229545 -1070.8622 -1067.6392 + 6950 0.695 0.076457574 2209.8271 103.01376 -4.2144962 3.3155778 -1070.9548 -1067.6392 + 7000 0.7 0.07645757 2076.4986 106.68059 -4.2313568 3.4335975 -1071.0728 -1067.6392 + 7050 0.705 0.076457532 2018.5403 110.71749 -4.2520079 3.5635282 -1071.2028 -1067.6392 + 7100 0.71 0.076457492 2065.9887 114.55487 -4.281219 3.6870374 -1071.3263 -1067.6392 + 7150 0.715 0.07645748 2155.5459 117.3116 -4.3158586 3.7757647 -1071.415 -1067.6392 + 7200 0.72 0.076457494 2209.3453 118.11442 -4.3476298 3.8016043 -1071.4408 -1067.6392 + 7250 0.725 0.076457549 2217.3813 116.73458 -4.3751538 3.757193 -1071.3964 -1067.6392 + 7300 0.73 0.076457599 2194.6993 113.55369 -4.4007611 3.6548138 -1071.294 -1067.6392 + 7350 0.735 0.07645757 2162.8509 109.25439 -4.4239789 3.5164373 -1071.1557 -1067.6392 + 7400 0.74 0.076457504 2179.0418 104.7754 -4.4453985 3.3722777 -1071.0115 -1067.6392 + 7450 0.745 0.076457518 2259.2856 101.07787 -4.4663409 3.2532696 -1070.8925 -1067.6392 + 7500 0.75 0.076457572 2343.5535 98.882501 -4.4873841 3.1826101 -1070.8218 -1067.6392 + 7550 0.755 0.076457589 2398.2908 98.45877 -4.5060042 3.1689719 -1070.8082 -1067.6392 + 7600 0.76 0.076457555 2420.4319 99.704417 -4.5200225 3.209064 -1070.8483 -1067.6392 + 7650 0.765 0.076457552 2411.7072 102.42806 -4.5350873 3.2967265 -1070.936 -1067.6392 + 7700 0.77 0.076457571 2387.7867 106.24775 -4.5597359 3.4196662 -1071.0589 -1067.6392 + 7750 0.775 0.076457574 2378.614 110.33425 -4.5954327 3.5511934 -1071.1904 -1067.6392 + 7800 0.78 0.076457546 2386.339 113.47426 -4.6333762 3.6522573 -1071.2915 -1067.6392 + 7850 0.785 0.076457584 2373.6185 114.65304 -4.6634531 3.6901971 -1071.3294 -1067.6392 + 7900 0.79 0.076457607 2346.7767 113.53184 -4.6813286 3.6541104 -1071.2933 -1067.6392 + 7950 0.795 0.076457576 2325.1204 110.53074 -4.6884073 3.5575175 -1071.1968 -1067.6392 + 8000 0.8 0.076457577 2299.9447 106.81524 -4.6940716 3.4379313 -1071.0772 -1067.6392 + 8050 0.805 0.076457592 2281.6434 103.78514 -4.7080773 3.3404052 -1070.9796 -1067.6392 + 8100 0.81 0.076457595 2279.2037 102.50084 -4.7334489 3.2990691 -1070.9383 -1067.6392 + 8150 0.815 0.076457635 2249.7793 103.47522 -4.7690042 3.3304303 -1070.9697 -1067.6392 + 8200 0.82 0.076457642 2189.9745 106.45522 -4.8073957 3.426344 -1071.0656 -1067.6392 + 8250 0.825 0.076457606 2149.0282 110.6545 -4.8397042 3.5615011 -1071.2007 -1067.6392 + 8300 0.83 0.076457542 2135.0181 115.25463 -4.8644908 3.7095598 -1071.3488 -1067.6392 + 8350 0.835 0.076457496 2133.8536 119.41482 -4.8843171 3.8434585 -1071.4827 -1067.6392 + 8400 0.84 0.076457518 2133.1467 122.18695 -4.8996144 3.932682 -1071.5719 -1067.6392 + 8450 0.845 0.076457578 2134.2861 123.01595 -4.9155444 3.9593637 -1071.5986 -1067.6392 + 8500 0.85 0.076457574 2141.613 121.9466 -4.9391276 3.9249459 -1071.5642 -1067.6392 + 8550 0.855 0.076457587 2138.9082 119.39807 -4.9693983 3.8429195 -1071.4822 -1067.6392 + 8600 0.86 0.076457616 2068.0673 116.09276 -5.000552 3.7365357 -1071.3758 -1067.6392 + 8650 0.865 0.076457587 1952.0961 112.98671 -5.0303107 3.6365649 -1071.2758 -1067.6392 + 8700 0.87 0.076457563 1866.7421 110.99219 -5.0605853 3.5723697 -1071.2116 -1067.6392 + 8750 0.875 0.07645759 1830.3031 110.63824 -5.0918767 3.5609778 -1071.2002 -1067.6392 + 8800 0.88 0.076457593 1839.3749 111.91657 -5.1197801 3.6021218 -1071.2414 -1067.6392 + 8850 0.885 0.07645757 1836.93 114.56856 -5.1423719 3.687478 -1071.3267 -1067.6392 + 8900 0.89 0.076457579 1795.2859 118.25516 -5.1643112 3.8061342 -1071.4454 -1067.6392 + 8950 0.895 0.076457614 1766.8498 122.31379 -5.1895303 3.9367641 -1071.576 -1067.6392 + 9000 0.9 0.076457668 1777.4862 125.80875 -5.2189311 4.0492522 -1071.6885 -1067.6392 + 9050 0.905 0.076457701 1778.9988 127.84202 -5.250791 4.1146947 -1071.7539 -1067.6392 + 9100 0.91 0.076457703 1756.3985 127.83199 -5.2809641 4.1143719 -1071.7536 -1067.6392 + 9150 0.915 0.076457636 1750.7698 125.64781 -5.3037451 4.0440723 -1071.6833 -1067.6392 + 9200 0.92 0.076457553 1795.5785 121.64446 -5.3145968 3.9152214 -1071.5545 -1067.6392 + 9250 0.925 0.076457546 1884.6389 116.77819 -5.317446 3.7585968 -1071.3978 -1067.6392 + 9300 0.93 0.076457575 1961.0059 112.44866 -5.3248028 3.6192473 -1071.2585 -1067.6392 + 9350 0.935 0.076457586 1988.8357 109.85485 -5.3452949 3.5357635 -1071.175 -1067.6392 + 9400 0.94 0.076457583 1972.3793 109.57616 -5.3783713 3.5267939 -1071.166 -1067.6392 + 9450 0.945 0.076457572 1948.7911 111.48324 -5.4161951 3.5881745 -1071.2274 -1067.6392 + 9500 0.95 0.076457563 1922.5709 114.9318 -5.4492314 3.6991693 -1071.3384 -1067.6392 + 9550 0.955 0.076457545 1887.2071 119.14996 -5.473804 3.8349339 -1071.4742 -1067.6392 + 9600 0.96 0.076457569 1854.7259 123.36854 -5.4904613 3.9707121 -1071.6099 -1067.6392 + 9650 0.965 0.076457622 1827.4781 126.8424 -5.4992845 4.0825212 -1071.7218 -1067.6392 + 9700 0.97 0.076457643 1811.2431 129.09763 -5.503264 4.1551074 -1071.7943 -1067.6392 + 9750 0.975 0.076457625 1802.4995 130.06103 -5.5091498 4.1861153 -1071.8253 -1067.6392 + 9800 0.98 0.076457569 1802.206 129.93881 -5.5226464 4.1821816 -1071.8214 -1067.6392 + 9850 0.985 0.076457512 1815.5438 128.98667 -5.542848 4.1515359 -1071.7908 -1067.6392 + 9900 0.99 0.076457501 1820.5473 127.45475 -5.5621249 4.1022301 -1071.7415 -1067.6392 + 9950 0.995 0.076457538 1816.8204 125.90549 -5.5773991 4.0523658 -1071.6916 -1067.6392 + 10000 1 0.076457537 1784.5276 125.28779 -5.5974427 4.0324847 -1071.6717 -1067.6392 + 10050 1.005 0.076457529 1720.376 126.28509 -5.6322599 4.0645836 -1071.7038 -1067.6392 + 10100 1.01 0.076457551 1689.9106 128.66253 -5.6814138 4.1411033 -1071.7803 -1067.6392 + 10150 1.015 0.076457539 1713.0249 131.40846 -5.7369528 4.2294833 -1071.8687 -1067.6392 + 10200 1.02 0.076457489 1743.8221 133.3229 -5.789472 4.2911009 -1071.9303 -1067.6392 + 10250 1.025 0.076457427 1770.5405 133.47365 -5.8284105 4.2959531 -1071.9352 -1067.6392 + 10300 1.03 0.076457402 1784.3689 131.77123 -5.852419 4.2411593 -1071.8804 -1067.6392 + 10350 1.035 0.076457432 1759.9766 128.82223 -5.8669372 4.1462436 -1071.7855 -1067.6392 + 10400 1.04 0.076457457 1756.0701 125.3228 -5.8723914 4.0336114 -1071.6728 -1067.6392 + 10450 1.045 0.076457431 1796.2676 122.12283 -5.8711897 3.930618 -1071.5698 -1067.6392 + 10500 1.05 0.076457363 1832.5849 120.24945 -5.8728862 3.870322 -1071.5096 -1067.6392 + 10550 1.055 0.076457315 1825.9591 120.26647 -5.8808515 3.8708698 -1071.5101 -1067.6392 + 10600 1.06 0.076457322 1783.5912 121.98369 -5.8879416 3.9261399 -1071.5654 -1067.6392 + 10650 1.065 0.07645737 1765.4445 124.88567 -5.8906657 4.0195423 -1071.6588 -1067.6392 + 10700 1.07 0.076457449 1789.2376 128.29349 -5.8943984 4.1292256 -1071.7685 -1067.6392 + 10750 1.075 0.076457481 1818.6141 131.12076 -5.9023895 4.2202233 -1071.8595 -1067.6392 + 10800 1.08 0.076457417 1821.6989 132.13157 -5.9106221 4.2527572 -1071.892 -1067.6392 + 10850 1.085 0.076457331 1835.7675 130.83646 -5.9174483 4.2110729 -1071.8503 -1067.6392 + 10900 1.09 0.076457313 1863.9325 127.86582 -5.9253528 4.1154608 -1071.7547 -1067.6392 + 10950 1.095 0.076457328 1879.7524 124.69175 -5.9376375 4.0133007 -1071.6525 -1067.6392 + 11000 1.1 0.07645735 1877.2445 122.96147 -5.9563654 3.9576103 -1071.5968 -1067.6392 + 11050 1.105 0.076457334 1853.502 123.73028 -5.9816201 3.9823552 -1071.6216 -1067.6392 + 11100 1.11 0.076457299 1840.4 127.02072 -6.0118687 4.0882605 -1071.7275 -1067.6392 + 11150 1.115 0.076457349 1868.0417 131.88474 -6.0432323 4.2448126 -1071.884 -1067.6392 + 11200 1.12 0.076457425 1906.0826 137.04774 -6.0742843 4.4109879 -1072.0502 -1067.6392 + 11250 1.125 0.076457409 1916.8851 141.44887 -6.1055084 4.5526417 -1072.1919 -1067.6392 + 11300 1.13 0.076457315 1929.063 144.55599 -6.1379843 4.6526467 -1072.2919 -1067.6392 + 11350 1.135 0.07645728 1963.9888 146.27645 -6.1715945 4.7080209 -1072.3473 -1067.6392 + 11400 1.14 0.076457317 2003.9719 146.52242 -6.201081 4.7159377 -1072.3552 -1067.6392 + 11450 1.145 0.076457337 2032.7751 145.14866 -6.2190123 4.6717222 -1072.311 -1067.6392 + 11500 1.15 0.076457346 2007.3165 142.48643 -6.228223 4.5860364 -1072.2253 -1067.6392 + 11550 1.155 0.076457364 1930.307 139.42166 -6.2424032 4.4873945 -1072.1266 -1067.6392 + 11600 1.16 0.076457384 1815.1751 136.55133 -6.2668555 4.3950107 -1072.0342 -1067.6392 + 11650 1.165 0.076457374 1692.3408 134.02582 -6.2982889 4.3137251 -1071.953 -1067.6392 + 11700 1.17 0.076457362 1632.1328 131.95661 -6.333283 4.2471259 -1071.8864 -1067.6392 + 11750 1.175 0.07645735 1668.5268 130.40398 -6.3655085 4.1971534 -1071.8364 -1067.6392 + 11800 1.18 0.076457303 1739.9788 129.31098 -6.3892439 4.1619742 -1071.8012 -1067.6392 + 11850 1.185 0.076457253 1807.7337 128.65584 -6.4083517 4.1408881 -1071.7801 -1067.6392 + 11900 1.19 0.0764573 1826.428 128.39557 -6.4305339 4.1325111 -1071.7717 -1067.6392 + 11950 1.195 0.076457354 1740.376 128.35778 -6.456201 4.1312949 -1071.7705 -1067.6392 + 12000 1.2 0.076457321 1628.3377 128.64127 -6.4864265 4.1404191 -1071.7797 -1067.6392 + 12050 1.205 0.076457228 1610.9113 129.62765 -6.5236327 4.1721667 -1071.8114 -1067.6392 + 12100 1.21 0.07645719 1647.6711 131.56179 -6.5624185 4.2344183 -1071.8736 -1067.6392 + 12150 1.215 0.076457244 1667.2405 134.45387 -6.593096 4.327502 -1071.9667 -1067.6392 + 12200 1.22 0.076457281 1650.0369 138.29884 -6.6148053 4.4512554 -1072.0905 -1067.6392 + 12250 1.225 0.076457269 1610.0214 142.96914 -6.6359085 4.6015728 -1072.2408 -1067.6392 + 12300 1.23 0.076457261 1594.6496 147.74828 -6.6580315 4.755393 -1072.3946 -1067.6392 + 12350 1.235 0.076457238 1609.8485 151.54432 -6.6730075 4.8775714 -1072.5168 -1067.6392 + 12400 1.24 0.076457201 1649.4384 153.78009 -6.6795567 4.9495317 -1072.5888 -1067.6392 + 12450 1.245 0.076457189 1676.2248 154.4468 -6.6837801 4.9709901 -1072.6102 -1067.6392 + 12500 1.25 0.076457239 1670.814 153.58107 -6.6881901 4.9431258 -1072.5824 -1067.6392 + 12550 1.255 0.076457285 1649.8854 151.2045 -6.6908201 4.8666342 -1072.5059 -1067.6392 + 12600 1.26 0.076457284 1650.7306 147.66332 -6.6919133 4.7526585 -1072.3919 -1067.6392 + 12650 1.265 0.076457189 1716.8308 143.58784 -6.6915867 4.6214861 -1072.2607 -1067.6392 + 12700 1.27 0.076457085 1831.8331 139.80608 -6.6912135 4.4997672 -1072.139 -1067.6392 + 12750 1.275 0.076457143 1914.1068 137.09279 -6.6943577 4.4124378 -1072.0517 -1067.6392 + 12800 1.28 0.076457209 1952.4216 135.78967 -6.7027456 4.370496 -1072.0097 -1067.6392 + 12850 1.285 0.076457218 1975.0105 135.8441 -6.71489 4.3722479 -1072.0115 -1067.6392 + 12900 1.29 0.076457295 1973.6709 137.16928 -6.7284709 4.4148997 -1072.0541 -1067.6392 + 12950 1.295 0.076457414 1949.6975 139.70897 -6.7419581 4.4966417 -1072.1359 -1067.6392 + 13000 1.3 0.076457467 1910.5263 143.0515 -6.7515077 4.6042234 -1072.2435 -1067.6392 + 13050 1.305 0.076457461 1863.8288 146.61488 -6.7594325 4.7189138 -1072.3581 -1067.6392 + 13100 1.31 0.07645739 1808.6316 149.91966 -6.7746805 4.8252807 -1072.4645 -1067.6392 + 13150 1.315 0.07645729 1782.3809 152.39881 -6.7984035 4.9050739 -1072.5443 -1067.6392 + 13200 1.32 0.076457252 1781.5232 153.48161 -6.8240019 4.9399248 -1072.5792 -1067.6392 + 13250 1.325 0.07645725 1763.5272 152.93985 -6.8501794 4.9224879 -1072.5617 -1067.6392 + 13300 1.33 0.076457252 1710.4946 150.83438 -6.8814293 4.8547215 -1072.494 -1067.6392 + 13350 1.335 0.076457258 1644.7486 147.30722 -6.9178941 4.7411971 -1072.3804 -1067.6392 + 13400 1.34 0.076457331 1605.6165 142.74866 -6.9539225 4.5944763 -1072.2337 -1067.6392 + 13450 1.345 0.076457403 1581.6983 137.98535 -6.9831256 4.4411657 -1072.0804 -1067.6392 + 13500 1.35 0.076457367 1564.3505 134.11939 -7.0019808 4.3167366 -1071.956 -1067.6392 + 13550 1.355 0.076457301 1574.5107 132.21611 -7.0146772 4.2554781 -1071.8947 -1067.6392 + 13600 1.36 0.076457257 1611.9755 132.80504 -7.0296151 4.2744333 -1071.9137 -1067.6392 + 13650 1.365 0.076457201 1640.7113 135.56674 -7.0513962 4.3633208 -1072.0026 -1067.6392 + 13700 1.37 0.076457189 1654.0361 139.6012 -7.0805562 4.4931729 -1072.1324 -1067.6392 + 13750 1.375 0.076457229 1678.441 143.86647 -7.1124767 4.6304539 -1072.2697 -1067.6392 + 13800 1.38 0.076457284 1686.1364 147.62332 -7.1379787 4.7513712 -1072.3906 -1067.6392 + 13850 1.385 0.076457274 1656.3348 150.77783 -7.1529695 4.8529016 -1072.4921 -1067.6392 + 13900 1.39 0.076457235 1597.0959 153.61417 -7.1618005 4.9441914 -1072.5834 -1067.6392 + 13950 1.395 0.076457252 1565.4065 156.26062 -7.170134 5.0293694 -1072.6686 -1067.6392 + 14000 1.4 0.076457261 1576.0797 158.74996 -7.1843908 5.1094907 -1072.7487 -1067.6392 + 14050 1.405 0.076457231 1597.0006 160.90398 -7.2025683 5.1788195 -1072.8181 -1067.6392 + 14100 1.41 0.076457223 1613.5592 162.39878 -7.2156174 5.2269309 -1072.8662 -1067.6392 + 14150 1.415 0.076457286 1629.6758 163.17046 -7.2245128 5.251768 -1072.891 -1067.6392 + 14200 1.42 0.076457403 1653.3044 163.16418 -7.2361077 5.2515657 -1072.8908 -1067.6392 + 14250 1.425 0.076457462 1662.8527 162.13868 -7.2521095 5.2185594 -1072.8578 -1067.6392 + 14300 1.43 0.076457412 1630.9111 160.1566 -7.2734168 5.1547645 -1072.794 -1067.6392 + 14350 1.435 0.076457382 1580.8899 157.80029 -7.3028008 5.0789247 -1072.7182 -1067.6392 + 14400 1.44 0.076457398 1564.0104 155.5646 -7.336948 5.0069673 -1072.6462 -1067.6392 + 14450 1.445 0.076457402 1558.3075 153.27872 -7.3628999 4.9333947 -1072.5726 -1067.6392 + 14500 1.45 0.076457377 1530.3969 150.48123 -7.3702551 4.8433552 -1072.4826 -1067.6392 + 14550 1.455 0.076457353 1511.7287 147.14899 -7.362315 4.7361044 -1072.3753 -1067.6392 + 14600 1.46 0.076457341 1535.6604 143.91325 -7.3525622 4.6319595 -1072.2712 -1067.6392 + 14650 1.465 0.076457346 1579.1663 141.56448 -7.3510104 4.5563627 -1072.1956 -1067.6392 + 14700 1.47 0.076457397 1612.3535 140.59549 -7.360296 4.5251749 -1072.1644 -1067.6392 + 14750 1.475 0.076457471 1642.2272 141.10169 -7.3761707 4.5414673 -1072.1807 -1067.6392 + 14800 1.48 0.076457425 1655.8317 143.06873 -7.3922813 4.604778 -1072.244 -1067.6392 + 14850 1.485 0.076457358 1635.8169 146.57617 -7.4084124 4.7176678 -1072.3569 -1067.6392 + 14900 1.49 0.07645736 1620.3521 151.43759 -7.4283243 4.8741364 -1072.5134 -1067.6392 + 14950 1.495 0.076457392 1613.6163 156.81465 -7.451549 5.0472011 -1072.6864 -1067.6392 + 15000 1.5 0.076457432 1641.9185 161.49441 -7.4752177 5.1978229 -1072.8371 -1067.6392 + 15050 1.505 0.076457454 1694.671 164.44492 -7.4987743 5.2927872 -1072.932 -1067.6392 + 15100 1.51 0.076457415 1736.9184 165.1692 -7.5221765 5.3160988 -1072.9553 -1067.6392 + 15150 1.515 0.076457338 1752.072 163.78444 -7.5411028 5.2715294 -1072.9108 -1067.6392 + 15200 1.52 0.076457306 1752.6181 161.09848 -7.553989 5.1850797 -1072.8243 -1067.6392 + 15250 1.525 0.076457359 1736.1908 158.22125 -7.5667375 5.0924736 -1072.7317 -1067.6392 + 15300 1.53 0.076457401 1730.7557 155.8948 -7.5868022 5.0175953 -1072.6568 -1067.6392 + 15350 1.535 0.076457406 1749.4877 154.29785 -7.6163309 4.9661959 -1072.6054 -1067.6392 + 15400 1.54 0.076457413 1767.8554 153.256 -7.646484 4.9326634 -1072.5719 -1067.6392 + 15450 1.545 0.076457408 1774.3702 152.86159 -7.6690389 4.9199689 -1072.5592 -1067.6392 + 15500 1.55 0.076457491 1770.2174 153.59646 -7.6870142 4.9436212 -1072.5829 -1067.6392 + 15550 1.555 0.076457608 1767.1771 155.78946 -7.7079221 5.0142046 -1072.6534 -1067.6392 + 15600 1.56 0.076457561 1738.6373 159.28425 -7.7334961 5.1266873 -1072.7659 -1067.6392 + 15650 1.565 0.076457428 1700.8184 163.47112 -7.7586601 5.2614448 -1072.9007 -1067.6392 + 15700 1.57 0.076457375 1688.1496 167.31488 -7.7745852 5.3851594 -1073.0244 -1067.6392 + 15750 1.575 0.076457393 1700.6524 169.85179 -7.7793279 5.4668117 -1073.106 -1067.6392 + 15800 1.58 0.076457312 1732.7457 170.75736 -7.7843367 5.4959582 -1073.1352 -1067.6392 + 15850 1.585 0.076457273 1770.0139 169.97991 -7.7986828 5.4709353 -1073.1102 -1067.6392 + 15900 1.59 0.076457392 1786.2936 167.32785 -7.8165236 5.3855768 -1073.0248 -1067.6392 + 15950 1.595 0.076457536 1758.2055 162.95664 -7.8294313 5.244886 -1072.8841 -1067.6392 + 16000 1.6 0.076457587 1701.2308 157.82826 -7.8390235 5.079825 -1072.7191 -1067.6392 + 16050 1.605 0.076457541 1658.3347 153.26331 -7.8499456 4.9328986 -1072.5721 -1067.6392 + 16100 1.61 0.076457398 1664.9861 150.22106 -7.8641896 4.8349815 -1072.4742 -1067.6392 + 16150 1.615 0.076457358 1704.9163 148.78635 -7.8778806 4.7888042 -1072.428 -1067.6392 + 16200 1.62 0.076457411 1717.877 148.52697 -7.8854701 4.7804557 -1072.4197 -1067.6392 + 16250 1.625 0.076457389 1676.6721 149.39648 -7.8911926 4.8084417 -1072.4477 -1067.6392 + 16300 1.63 0.076457343 1606.1432 151.67229 -7.9043128 4.8816903 -1072.5209 -1067.6392 + 16350 1.635 0.076457336 1579.1024 155.15678 -7.9251862 4.9938414 -1072.6331 -1067.6392 + 16400 1.64 0.076457384 1586.2825 159.18596 -7.949204 5.1235238 -1072.7628 -1067.6392 + 16450 1.645 0.076457396 1574.4855 163.18237 -7.976768 5.2521512 -1072.8914 -1067.6392 + 16500 1.65 0.07645733 1576.1962 166.71848 -8.0077333 5.3659636 -1073.0052 -1067.6392 + 16550 1.655 0.07645727 1597.1073 169.59771 -8.038467 5.4586339 -1073.0979 -1067.6392 + 16600 1.66 0.076457285 1599.917 171.99866 -8.06723 5.5359104 -1073.1751 -1067.6392 + 16650 1.665 0.076457312 1567.2444 174.07518 -8.0934269 5.6027449 -1073.242 -1067.6392 + 16700 1.67 0.076457288 1538.1861 175.68138 -8.1188007 5.6544416 -1073.2937 -1067.6392 + 16750 1.675 0.07645721 1511.9049 176.53933 -8.146985 5.6820555 -1073.3213 -1067.6392 + 16800 1.68 0.076457228 1468.497 176.55444 -8.1808459 5.6825417 -1073.3218 -1067.6392 + 16850 1.685 0.076457264 1431.494 175.8924 -8.2214633 5.6612334 -1073.3005 -1067.6392 + 16900 1.69 0.076457269 1415.3928 174.78298 -8.266249 5.6255257 -1073.2648 -1067.6392 + 16950 1.695 0.076457225 1452.9617 173.33174 -8.3082586 5.5788167 -1073.218 -1067.6392 + 17000 1.7 0.076457179 1470.3678 171.67883 -8.3449394 5.5256165 -1073.1648 -1067.6392 + 17050 1.705 0.076457163 1443.7364 169.99399 -8.3798127 5.4713883 -1073.1106 -1067.6392 + 17100 1.71 0.07645721 1420.9961 168.25292 -8.4131544 5.4153509 -1073.0546 -1067.6392 + 17150 1.715 0.076457295 1438.9266 166.52365 -8.4428287 5.3596929 -1072.9989 -1067.6392 + 17200 1.72 0.076457288 1491.1593 165.33242 -8.4714901 5.3213522 -1072.9606 -1067.6392 + 17250 1.725 0.076457246 1522.9686 165.31615 -8.5004148 5.3208287 -1072.9601 -1067.6392 + 17300 1.73 0.076457324 1507.7851 166.83662 -8.5254522 5.369766 -1073.009 -1067.6392 + 17350 1.735 0.076457348 1472.7382 169.83517 -8.5448034 5.4662768 -1073.1055 -1067.6392 + 17400 1.74 0.076457306 1446.0079 173.344 -8.5542116 5.5792111 -1073.2184 -1067.6392 + 17450 1.745 0.07645735 1428.36 175.90072 -8.5502511 5.661501 -1073.3007 -1067.6392 + 17500 1.75 0.076457419 1424.108 176.56743 -8.5390662 5.6829599 -1073.3222 -1067.6392 + 17550 1.755 0.076457329 1441.9785 175.33547 -8.5352293 5.6433082 -1073.2825 -1067.6392 + 17600 1.76 0.076457184 1458.608 172.71768 -8.5475316 5.5590527 -1073.1983 -1067.6392 + 17650 1.765 0.076457192 1468.4405 169.36794 -8.5725313 5.4512387 -1073.0905 -1067.6392 + 17700 1.77 0.076457276 1483.3347 165.84641 -8.6000497 5.3378954 -1072.9771 -1067.6392 + 17750 1.775 0.076457328 1488.5201 162.8195 -8.6287352 5.2404721 -1072.8797 -1067.6392 + 17800 1.78 0.07645732 1470.5993 161.04107 -8.6640671 5.1832319 -1072.8225 -1067.6392 + 17850 1.785 0.076457278 1462.6343 161.04849 -8.7048157 5.1834707 -1072.8227 -1067.6392 + 17900 1.79 0.076457233 1453.3573 163.16996 -8.7450188 5.2517519 -1072.891 -1067.6392 + 17950 1.795 0.076457161 1447.1007 167.58872 -8.7859818 5.3939729 -1073.0332 -1067.6392 + 18000 1.8 0.076457139 1440.0053 173.87077 -8.833056 5.5961657 -1073.2354 -1067.6392 + 18050 1.805 0.076457185 1418.2881 180.47756 -8.8792523 5.8088102 -1073.448 -1067.6392 + 18100 1.81 0.076457223 1401.1744 185.61692 -8.9125448 5.9742247 -1073.6135 -1067.6392 + 18150 1.815 0.07645727 1389.0345 188.42536 -8.9312647 6.0646165 -1073.7039 -1067.6392 + 18200 1.82 0.076457264 1387.7229 189.24556 -8.9469259 6.0910152 -1073.7302 -1067.6392 + 18250 1.825 0.076457202 1402.1898 188.92804 -8.9718195 6.0807957 -1073.72 -1067.6392 + 18300 1.83 0.076457177 1390.586 188.00713 -9.0028575 6.0511554 -1073.6904 -1067.6392 + 18350 1.835 0.076457182 1352.2199 186.92382 -9.0291119 6.0162881 -1073.6555 -1067.6392 + 18400 1.84 0.076457214 1348.252 186.22966 -9.0428346 5.9939461 -1073.6332 -1067.6392 + 18450 1.845 0.076457257 1391.9407 186.3174 -9.0469158 5.9967701 -1073.636 -1067.6392 + 18500 1.85 0.07645722 1426.8552 186.92904 -9.0496753 6.0164563 -1073.6557 -1067.6392 + 18550 1.855 0.076457185 1446.4566 187.30921 -9.0572556 6.0286923 -1073.6679 -1067.6392 + 18600 1.86 0.076457223 1464.9221 186.80304 -9.0713411 6.0124008 -1073.6516 -1067.6392 + 18650 1.865 0.076457199 1471.3202 185.06559 -9.0868448 5.9564798 -1073.5957 -1067.6392 + 18700 1.87 0.07645725 1461.0629 182.41219 -9.1051202 5.871078 -1073.5103 -1067.6392 + 18750 1.875 0.076457345 1431.7789 179.46716 -9.1294581 5.7762898 -1073.4155 -1067.6392 + 18800 1.88 0.076457274 1409.3438 176.48484 -9.1499481 5.6803016 -1073.3195 -1067.6392 + 18850 1.885 0.076457201 1370.4168 173.84236 -9.1643576 5.5952513 -1073.2345 -1067.6392 + 18900 1.89 0.076457245 1307.0644 172.24292 -9.1908564 5.543772 -1073.183 -1067.6392 + 18950 1.895 0.076457257 1298.5302 171.72024 -9.2357227 5.5269491 -1073.1662 -1067.6392 + 19000 1.9 0.076457286 1335.2088 171.37187 -9.2735952 5.5157366 -1073.155 -1067.6392 + 19050 1.905 0.076457382 1347.2532 170.91617 -9.2850717 5.5010696 -1073.1403 -1067.6392 + 19100 1.91 0.076457395 1332.8305 171.59912 -9.2864975 5.5230508 -1073.1623 -1067.6392 + 19150 1.915 0.076457344 1304.8597 174.54105 -9.2959387 5.6177392 -1073.257 -1067.6392 + 19200 1.92 0.076457301 1276.1592 179.42057 -9.309653 5.7747904 -1073.414 -1067.6392 + 19250 1.925 0.076457274 1260.6559 185.20252 -9.325615 5.9608868 -1073.6001 -1067.6392 + 19300 1.93 0.076457271 1265.939 190.71739 -9.3483129 6.1383871 -1073.7776 -1067.6392 + 19350 1.935 0.076457278 1304.535 194.87898 -9.3783203 6.2723313 -1073.9116 -1067.6392 + 19400 1.94 0.07645731 1362.5576 197.21347 -9.4193269 6.3474686 -1073.9867 -1067.6392 + 19450 1.945 0.076457423 1382.7886 197.45962 -9.4694007 6.355391 -1073.9946 -1067.6392 + 19500 1.95 0.076457472 1352.303 195.21464 -9.5133315 6.2831347 -1073.9224 -1067.6392 + 19550 1.955 0.076457413 1318.6835 190.89792 -9.5445597 6.1441978 -1073.7834 -1067.6392 + 19600 1.96 0.076457386 1300.0189 186.19759 -9.5724767 5.9929138 -1073.6321 -1067.6392 + 19650 1.965 0.076457417 1281.4514 182.93348 -9.6006152 5.8878559 -1073.5271 -1067.6392 + 19700 1.97 0.07645744 1265.2354 182.28868 -9.628322 5.8671025 -1073.5063 -1067.6392 + 19750 1.975 0.076457421 1267.1291 184.68067 -9.6640365 5.9440908 -1073.5833 -1067.6392 + 19800 1.98 0.076457374 1293.1065 189.3714 -9.7123982 6.0950654 -1073.7343 -1067.6392 + 19850 1.985 0.076457367 1329.191 194.76572 -9.7631294 6.268686 -1073.9079 -1067.6392 + 19900 1.99 0.076457418 1354.9407 199.74508 -9.810328 6.4289505 -1074.0682 -1067.6392 + 19950 1.995 0.076457493 1364.3708 203.86864 -9.8606606 6.5616706 -1074.2009 -1067.6392 + 20000 2 0.076457544 1370.452 206.23944 -9.9126035 6.6379764 -1074.2772 -1067.6392 + 20050 2.005 0.076457509 1383.7523 205.76789 -9.9571492 6.6227992 -1074.262 -1067.6392 + 20100 2.01 0.076457429 1414.7434 202.49809 -9.9940319 6.517558 -1074.1568 -1067.6392 + 20150 2.015 0.076457429 1440.4523 197.73428 -10.025459 6.3642312 -1074.0035 -1067.6392 + 20200 2.02 0.076457497 1438.5359 193.30554 -10.048612 6.2216888 -1073.8609 -1067.6392 + 20250 2.025 0.07645744 1414.6747 190.72151 -10.062382 6.1385198 -1073.7778 -1067.6392 + 20300 2.03 0.07645731 1378.8817 190.25946 -10.069669 6.1236485 -1073.7629 -1067.6392 + 20350 2.035 0.076457261 1346.5661 190.90571 -10.074723 6.1444483 -1073.7837 -1067.6392 + 20400 2.04 0.076457374 1317.3739 191.59018 -10.08691 6.1664785 -1073.8057 -1067.6392 + 20450 2.045 0.076457432 1298.4495 191.78045 -10.110389 6.1726027 -1073.8118 -1067.6392 + 20500 2.05 0.076457389 1307.5371 191.15865 -10.137263 6.1525895 -1073.7918 -1067.6392 + 20550 2.055 0.07645742 1349.47 189.92735 -10.166271 6.1129591 -1073.7522 -1067.6392 + 20600 2.06 0.076457466 1398.5195 188.8647 -10.202844 6.0787568 -1073.718 -1067.6392 + 20650 2.065 0.076457498 1429.8721 188.62808 -10.24022 6.0711412 -1073.7104 -1067.6392 + 20700 2.07 0.076457542 1418.3434 189.78814 -10.271874 6.1084787 -1073.7477 -1067.6392 + 20750 2.075 0.076457458 1385.6893 192.47669 -10.295734 6.1950118 -1073.8342 -1067.6392 + 20800 2.08 0.076457259 1384.4289 196.10104 -10.308523 6.3116642 -1073.9509 -1067.6392 + 20850 2.085 0.0764572 1421.2966 200.257 -10.317753 6.4454271 -1074.0847 -1067.6392 + 20900 2.09 0.076457326 1452.7855 205.19616 -10.341775 6.6043977 -1074.2436 -1067.6392 + 20950 2.095 0.076457501 1427.8013 210.86618 -10.385931 6.7868916 -1074.4261 -1067.6392 + 21000 2.1 0.076457596 1357.2483 216.14216 -10.43158 6.9567033 -1074.5959 -1067.6392 + 21050 2.105 0.07645759 1324.5353 219.6255 -10.462375 7.0688173 -1074.7081 -1067.6392 + 21100 2.11 0.076457496 1347.0889 220.73435 -10.48964 7.1045064 -1074.7437 -1067.6392 + 21150 2.115 0.076457458 1361.8801 219.46337 -10.529469 7.0635988 -1074.7028 -1067.6392 + 21200 2.12 0.076457466 1365.4715 216.13572 -10.578785 6.9564959 -1074.5957 -1067.6392 + 21250 2.125 0.076457537 1362.6717 211.57708 -10.625983 6.8097726 -1074.449 -1067.6392 + 21300 2.13 0.076457586 1340.2017 206.63829 -10.66147 6.6508137 -1074.29 -1067.6392 + 21350 2.135 0.076457554 1331.9946 201.93393 -10.679818 6.4994001 -1074.1386 -1067.6392 + 21400 2.14 0.076457547 1347.0023 198.28955 -10.68412 6.382103 -1074.0213 -1067.6392 + 21450 2.145 0.076457533 1340.6741 196.9082 -10.686481 6.3376433 -1073.9769 -1067.6392 + 21500 2.15 0.076457456 1316.0121 198.72879 -10.696049 6.3962403 -1074.0355 -1067.6392 + 21550 2.155 0.076457391 1324.8545 203.55687 -10.714867 6.551636 -1074.1909 -1067.6392 + 21600 2.16 0.076457382 1351.2014 209.51125 -10.739588 6.7432823 -1074.3825 -1067.6392 + 21650 2.165 0.076457455 1366.4862 213.95654 -10.765901 6.8863571 -1074.5256 -1067.6392 + 21700 2.17 0.076457459 1377.4225 215.23385 -10.795997 6.9274684 -1074.5667 -1067.6392 + 21750 2.175 0.076457481 1396.0304 212.90984 -10.825441 6.8526684 -1074.4919 -1067.6392 + 21800 2.18 0.076457615 1387.0649 207.72279 -10.844968 6.6857194 -1074.325 -1067.6392 + 21850 2.185 0.07645756 1347.9695 201.50492 -10.85814 6.4855922 -1074.1248 -1067.6392 + 21900 2.19 0.076457366 1323.2228 196.28581 -10.872625 6.3176113 -1073.9568 -1067.6392 + 21950 2.195 0.076457329 1315.1922 193.83068 -10.887085 6.2385908 -1073.8778 -1067.6392 + 22000 2.2 0.076457369 1307.9895 195.03955 -10.898532 6.2774994 -1073.9167 -1067.6392 + 22050 2.205 0.076457333 1302.1738 199.68283 -10.909377 6.4269467 -1074.0662 -1067.6392 + 22100 2.21 0.076457379 1305.5855 206.92378 -10.917331 6.6600025 -1074.2992 -1067.6392 + 22150 2.215 0.076457515 1304.6883 215.29251 -10.918892 6.9293567 -1074.5686 -1067.6392 + 22200 2.22 0.076457547 1296.8284 222.98568 -10.922929 7.1769673 -1074.8162 -1067.6392 + 22250 2.225 0.076457453 1286.8966 228.09069 -10.938316 7.341276 -1074.9805 -1067.6392 + 22300 2.23 0.076457432 1283.0205 228.97664 -10.961235 7.369791 -1075.009 -1067.6392 + 22350 2.235 0.076457491 1270.3982 225.44347 -10.985727 7.256073 -1074.8953 -1067.6392 + 22400 2.24 0.076457539 1249.8598 219.23739 -11.012893 7.0563256 -1074.6956 -1067.6392 + 22450 2.245 0.076457476 1240.8541 212.79326 -11.044291 6.8489162 -1074.4881 -1067.6392 + 22500 2.25 0.076457394 1216.6944 207.29518 -11.068062 6.6719563 -1074.3112 -1067.6392 + 22550 2.255 0.07645743 1199.1131 202.98585 -11.071495 6.5332571 -1074.1725 -1067.6392 + 22600 2.26 0.076457488 1212.1478 200.96232 -11.064393 6.4681283 -1074.1074 -1067.6392 + 22650 2.265 0.076457528 1237.8172 202.93395 -11.064895 6.5315867 -1074.1708 -1067.6392 + 22700 2.27 0.076457598 1271.2811 209.42782 -11.076273 6.740597 -1074.3798 -1067.6392 + 22750 2.275 0.076457625 1292.63 218.78195 -11.089805 7.0416668 -1074.6809 -1067.6392 + 22800 2.28 0.076457646 1294.2671 227.41133 -11.098416 7.31941 -1074.9586 -1067.6392 + 22850 2.285 0.07645765 1293.2803 231.3383 -11.10365 7.4458026 -1075.085 -1067.6392 + 22900 2.29 0.076457537 1276.9806 228.2557 -11.10958 7.346587 -1074.9858 -1067.6392 + 22950 2.295 0.076457429 1247.4583 218.93487 -11.118854 7.0465888 -1074.6858 -1067.6392 + 23000 2.3 0.07645749 1220.8505 206.99183 -11.13279 6.6621926 -1074.3014 -1067.6392 + 23050 2.305 0.076457684 1195.6985 196.96159 -11.149 6.3393615 -1073.9786 -1067.6392 + 23100 2.31 0.076457705 1177.6963 192.24501 -11.168942 6.1875548 -1073.8268 -1067.6392 + 23150 2.315 0.076457622 1189.909 193.63937 -11.194406 6.2324333 -1073.8717 -1067.6392 + 23200 2.32 0.076457629 1176.2126 199.45702 -11.222484 6.4196791 -1074.0589 -1067.6392 + 23250 2.325 0.076457691 1143.0276 207.378 -11.256925 6.6746219 -1074.3139 -1067.6392 + 23300 2.33 0.076457654 1149.5521 215.51136 -11.297612 6.9364003 -1074.5756 -1067.6392 + 23350 2.335 0.076457506 1175.2519 222.4968 -11.332657 7.1612322 -1074.8005 -1067.6392 + 23400 2.34 0.07645745 1206.0616 227.6206 -11.358013 7.3261457 -1074.9654 -1067.6392 + 23450 2.345 0.076457571 1244.7472 230.22754 -11.372594 7.4100522 -1075.0493 -1067.6392 + 23500 2.35 0.076457771 1284.7778 229.70862 -11.373027 7.3933501 -1075.0326 -1067.6392 + 23550 2.355 0.076457864 1311.4158 226.4096 -11.368792 7.2871688 -1074.9264 -1067.6392 + 23600 2.36 0.076457811 1306.2401 221.71694 -11.376759 7.1361318 -1074.7754 -1067.6392 + 23650 2.365 0.076457644 1286.7748 217.10502 -11.396699 6.9876935 -1074.6269 -1067.6392 + 23700 2.37 0.076457559 1285.9692 213.6234 -11.411758 6.8756348 -1074.5149 -1067.6392 + 23750 2.375 0.076457583 1315.8724 212.16671 -11.41765 6.8287501 -1074.468 -1067.6392 + 23800 2.38 0.076457631 1339.9814 212.92958 -11.42278 6.8533037 -1074.4925 -1067.6392 + 23850 2.385 0.076457734 1345.9875 214.96489 -11.430277 6.918812 -1074.558 -1067.6392 + 23900 2.39 0.076457858 1361.0323 217.03056 -11.439982 6.985297 -1074.6245 -1067.6392 + 23950 2.395 0.076457821 1349.6621 218.41589 -11.451629 7.0298849 -1074.6691 -1067.6392 + 24000 2.4 0.076457708 1314.3225 219.11487 -11.463434 7.0523821 -1074.6916 -1067.6392 + 24050 2.405 0.076457674 1317.1772 219.55885 -11.474327 7.066672 -1074.7059 -1067.6392 + 24100 2.41 0.076457767 1340.506 220.1472 -11.487319 7.0856086 -1074.7248 -1067.6392 + 24150 2.415 0.076457818 1335.5812 220.89722 -11.505688 7.1097485 -1074.749 -1067.6392 + 24200 2.42 0.076457791 1314.6836 221.34153 -11.523839 7.1240489 -1074.7633 -1067.6392 + 24250 2.425 0.0764578 1318.1131 221.06173 -11.535018 7.1150433 -1074.7543 -1067.6392 + 24300 2.43 0.076457733 1331.7464 220.35927 -11.543314 7.0924342 -1074.7317 -1067.6392 + 24350 2.435 0.076457676 1349.095 220.17248 -11.558019 7.0864221 -1074.7257 -1067.6392 + 24400 2.44 0.076457742 1356.5902 221.03788 -11.578741 7.1142759 -1074.7535 -1067.6392 + 24450 2.445 0.076457749 1335.6175 222.53673 -11.601255 7.1625175 -1074.8017 -1067.6392 + 24500 2.45 0.076457723 1333.7469 223.84826 -11.630787 7.2047301 -1074.844 -1067.6392 + 24550 2.455 0.07645779 1345.535 223.91615 -11.665528 7.2069151 -1074.8461 -1067.6392 + 24600 2.46 0.076457891 1349.7061 222.16848 -11.700181 7.1506649 -1074.7899 -1067.6392 + 24650 2.465 0.076457886 1343.7465 219.10866 -11.729696 7.0521824 -1074.6914 -1067.6392 + 24700 2.47 0.076457762 1339.7649 216.23529 -11.746431 6.9597005 -1074.5989 -1067.6392 + 24750 2.475 0.076457705 1355.939 215.51975 -11.750957 6.9366704 -1074.5759 -1067.6392 + 24800 2.48 0.076457776 1356.4139 218.30642 -11.757207 7.0263614 -1074.6656 -1067.6392 + 24850 2.485 0.076457848 1330.0312 224.05179 -11.772578 7.2112807 -1074.8505 -1067.6392 + 24900 2.49 0.076457863 1297.5013 230.5494 -11.792498 7.4204112 -1075.0596 -1067.6392 + 24950 2.495 0.076457868 1290.2485 235.49414 -11.816527 7.5795618 -1075.2188 -1067.6392 + 25000 2.5 0.076457817 1324.8441 237.34082 -11.84201 7.6389985 -1075.2782 -1067.6392 + 25050 2.505 0.076457813 1382.8669 235.99886 -11.868053 7.5958063 -1075.235 -1067.6392 + 25100 2.51 0.076457866 1404.5052 232.75422 -11.897872 7.4913751 -1075.1306 -1067.6392 + 25150 2.515 0.076457758 1373.5678 229.12093 -11.930189 7.3744349 -1075.0137 -1067.6392 + 25200 2.52 0.076457631 1340.2368 225.89973 -11.961129 7.2707582 -1074.91 -1067.6392 + 25250 2.525 0.076457603 1287.6672 223.17935 -11.988402 7.1832006 -1074.8224 -1067.6392 + 25300 2.53 0.076457707 1215.9369 221.04361 -12.017068 7.1144602 -1074.7537 -1067.6392 + 25350 2.535 0.076457838 1180.1736 219.67591 -12.055753 7.0704398 -1074.7097 -1067.6392 + 25400 2.54 0.076457842 1170.0761 218.91437 -12.098288 7.0459289 -1074.6852 -1067.6392 + 25450 2.545 0.076457763 1167.2929 218.81794 -12.132702 7.0428252 -1074.6821 -1067.6392 + 25500 2.55 0.076457742 1155.4395 219.83672 -12.154195 7.0756153 -1074.7148 -1067.6392 + 25550 2.555 0.076457848 1131.146 222.18391 -12.164224 7.1511617 -1074.7904 -1067.6392 + 25600 2.56 0.076457871 1116.0652 225.47579 -12.165095 7.2571134 -1074.8963 -1067.6392 + 25650 2.565 0.076457678 1117.8567 229.01451 -12.157967 7.3710097 -1075.0102 -1067.6392 + 25700 2.57 0.076457577 1115.2103 232.4771 -12.148741 7.4824559 -1075.1217 -1067.6392 + 25750 2.575 0.07645762 1102.8295 236.02578 -12.149186 7.5966728 -1075.2359 -1067.6392 + 25800 2.58 0.076457709 1096.6263 239.31704 -12.161384 7.7026045 -1075.3418 -1067.6392 + 25850 2.585 0.076457771 1099.7531 240.71012 -12.161592 7.747442 -1075.3867 -1067.6392 + 25900 2.59 0.076457794 1113.7391 239.15473 -12.139363 7.6973807 -1075.3366 -1067.6392 + 25950 2.595 0.07645781 1147.6615 235.77781 -12.120655 7.5886918 -1075.2279 -1067.6392 + 26000 2.6 0.076457803 1195.6627 232.4229 -12.122283 7.4807114 -1075.1199 -1067.6392 + 26050 2.605 0.076457723 1213.8878 230.05021 -12.134196 7.4043447 -1075.0436 -1067.6392 + 26100 2.61 0.076457662 1191.4257 228.34601 -12.14523 7.3494937 -1074.9887 -1067.6392 + 26150 2.615 0.076457767 1186.9577 226.17929 -12.149057 7.2797559 -1074.919 -1067.6392 + 26200 2.62 0.076457849 1226.0678 223.24397 -12.148604 7.1852804 -1074.8245 -1067.6392 + 26250 2.625 0.076457784 1270.1774 220.78885 -12.161228 7.1062605 -1074.7455 -1067.6392 + 26300 2.63 0.076457753 1268.5951 220.05927 -12.190785 7.0827783 -1074.722 -1067.6392 + 26350 2.635 0.076457796 1244.3015 221.38274 -12.221833 7.1253752 -1074.7646 -1067.6392 + 26400 2.64 0.076457904 1225.8939 224.5378 -12.241241 7.2269233 -1074.8662 -1067.6392 + 26450 2.645 0.076457928 1204.224 229.04038 -12.247464 7.3718425 -1075.0111 -1067.6392 + 26500 2.65 0.076457842 1199.5629 234.11351 -12.243703 7.5351249 -1075.1744 -1067.6392 + 26550 2.655 0.0764578 1235.5048 238.7946 -12.230359 7.6857895 -1075.325 -1067.6392 + 26600 2.66 0.076457721 1281.541 242.70107 -12.219967 7.8115224 -1075.4508 -1067.6392 + 26650 2.665 0.0764577 1281.3617 245.64082 -12.229105 7.9061404 -1075.5454 -1067.6392 + 26700 2.67 0.07645779 1230.3534 246.77381 -12.256827 7.9426067 -1075.5818 -1067.6392 + 26750 2.675 0.076457839 1175.2288 245.47917 -12.297669 7.9009375 -1075.5402 -1067.6392 + 26800 2.68 0.076457784 1149.9437 242.07494 -12.342321 7.7913698 -1075.4306 -1067.6392 + 26850 2.685 0.076457711 1169.6008 237.70339 -12.376334 7.650668 -1075.2899 -1067.6392 + 26900 2.69 0.076457632 1210.4254 233.714 -12.396735 7.5222663 -1075.1615 -1067.6392 + 26950 2.695 0.076457617 1244.0163 230.58832 -12.405269 7.4216639 -1075.0609 -1067.6392 + 27000 2.7 0.076457659 1257.3494 228.32233 -12.406329 7.3487312 -1074.988 -1067.6392 + 27050 2.705 0.076457668 1242.1629 227.1087 -12.40368 7.3096696 -1074.9489 -1067.6392 + 27100 2.71 0.076457682 1217.8126 227.49963 -12.404175 7.3222522 -1074.9615 -1067.6392 + 27150 2.715 0.076457706 1217.8124 229.8195 -12.417454 7.3969191 -1075.0361 -1067.6392 + 27200 2.72 0.076457701 1219.6581 233.1475 -12.435301 7.5040334 -1075.1433 -1067.6392 + 27250 2.725 0.076457686 1211.6763 235.8244 -12.43823 7.5901913 -1075.2294 -1067.6392 + 27300 2.73 0.076457643 1225.8491 236.93145 -12.423077 7.6258227 -1075.2651 -1067.6392 + 27350 2.735 0.076457549 1261.0199 236.94668 -12.410644 7.6263127 -1075.2655 -1067.6392 + 27400 2.74 0.076457483 1284.2546 236.98531 -12.421882 7.6275561 -1075.2668 -1067.6392 + 27450 2.745 0.076457556 1281.5681 237.67885 -12.455724 7.6498782 -1075.2891 -1067.6392 + 27500 2.75 0.076457685 1256.839 238.55422 -12.493006 7.6780526 -1075.3173 -1067.6392 + 27550 2.755 0.076457693 1220.0129 238.19759 -12.515867 7.6665742 -1075.3058 -1067.6392 + 27600 2.76 0.076457632 1193.1779 235.68564 -12.532016 7.5857252 -1075.225 -1067.6392 + 27650 2.765 0.076457609 1192.09 231.33982 -12.558081 7.4458516 -1075.0851 -1067.6392 + 27700 2.77 0.076457625 1202.0934 226.4355 -12.590497 7.2880024 -1074.9272 -1067.6392 + 27750 2.775 0.076457615 1223.3689 222.74878 -12.619082 7.1693425 -1074.8086 -1067.6392 + 27800 2.78 0.076457614 1236.1154 221.25926 -12.636081 7.1214011 -1074.7606 -1067.6392 + 27850 2.785 0.076457572 1215.5551 222.18867 -12.64127 7.1513149 -1074.7905 -1067.6392 + 27900 2.79 0.07645756 1193.3848 226.01602 -12.647063 7.2745009 -1074.9137 -1067.6392 + 27950 2.795 0.076457569 1199.0777 232.72902 -12.662048 7.4905641 -1075.1298 -1067.6392 + 28000 2.8 0.076457558 1226.0822 240.9006 -12.684171 7.7535728 -1075.3928 -1067.6392 + 28050 2.805 0.076457525 1250.6269 248.18701 -12.706245 7.9880915 -1075.6273 -1067.6392 + 28100 2.81 0.076457523 1248.7874 252.69422 -12.722605 8.1331597 -1075.7724 -1067.6392 + 28150 2.815 0.07645753 1230.0137 253.95916 -12.737961 8.1738726 -1075.8131 -1067.6392 + 28200 2.82 0.076457605 1234.0819 252.35766 -12.756693 8.1223272 -1075.7616 -1067.6392 + 28250 2.825 0.07645771 1254.628 248.5247 -12.774833 7.9989605 -1075.6382 -1067.6392 + 28300 2.83 0.07645778 1281.309 243.72026 -12.788447 7.8443256 -1075.4836 -1067.6392 + 28350 2.835 0.076457708 1285.3002 239.8707 -12.802912 7.7204245 -1075.3597 -1067.6392 + 28400 2.84 0.076457582 1256.9488 238.10994 -12.817628 7.6637532 -1075.303 -1067.6392 + 28450 2.845 0.076457576 1242.8447 238.02503 -12.821369 7.6610204 -1075.3003 -1067.6392 + 28500 2.85 0.076457672 1248.8453 238.87258 -12.815092 7.6882993 -1075.3275 -1067.6392 + 28550 2.855 0.07645771 1281.7135 240.3983 -12.811904 7.7374058 -1075.3766 -1067.6392 + 28600 2.86 0.07645762 1294.605 242.33371 -12.814653 7.7996987 -1075.4389 -1067.6392 + 28650 2.865 0.076457529 1252.3957 244.15537 -12.817984 7.8583301 -1075.4976 -1067.6392 + 28700 2.87 0.076457548 1213.8804 245.30616 -12.82322 7.8953691 -1075.5346 -1067.6392 + 28750 2.875 0.076457553 1200.6384 245.23015 -12.835086 7.8929227 -1075.5322 -1067.6392 + 28800 2.88 0.076457552 1189.7135 243.32741 -12.845696 7.8316815 -1075.4709 -1067.6392 + 28850 2.885 0.076457676 1171.5405 239.66267 -12.847297 7.7137291 -1075.353 -1067.6392 + 28900 2.89 0.076457794 1182.195 235.25919 -12.851038 7.5719995 -1075.2112 -1067.6392 + 28950 2.895 0.076457813 1224.8369 230.84518 -12.859984 7.4299314 -1075.0692 -1067.6392 + 29000 2.9 0.076457656 1269.692 226.8838 -12.858576 7.3024311 -1074.9417 -1067.6392 + 29050 2.905 0.076457468 1286.8403 225.08705 -12.856504 7.2446013 -1074.8838 -1067.6392 + 29100 2.91 0.0764575 1271.0526 226.82973 -12.880368 7.3006909 -1074.9399 -1067.6392 + 29150 2.915 0.07645747 1248.4957 230.86777 -12.929739 7.4306583 -1075.0699 -1067.6392 + 29200 2.92 0.07645748 1245.8599 234.77185 -12.982866 7.5563142 -1075.1955 -1067.6392 + 29250 2.925 0.076457588 1257.79 237.40229 -13.022402 7.6409768 -1075.2802 -1067.6392 + 29300 2.93 0.076457597 1260.7886 239.44496 -13.046942 7.7067219 -1075.346 -1067.6392 + 29350 2.935 0.07645748 1254.7882 242.29319 -13.065883 7.7983943 -1075.4376 -1067.6392 + 29400 2.94 0.076457359 1263.4607 246.63741 -13.085623 7.9382166 -1075.5774 -1067.6392 + 29450 2.945 0.076457332 1289.6554 251.59184 -13.099481 8.0976788 -1075.7369 -1067.6392 + 29500 2.95 0.076457414 1305.0692 255.25633 -13.098228 8.2156232 -1075.8549 -1067.6392 + 29550 2.955 0.076457494 1277.7916 256.65211 -13.088762 8.2605473 -1075.8998 -1067.6392 + 29600 2.96 0.076457446 1192.1394 256.67442 -13.090594 8.2612654 -1075.9005 -1067.6392 + 29650 2.965 0.076457417 1102.145 257.10406 -13.122356 8.2750937 -1075.9143 -1067.6392 + 29700 2.97 0.076457454 1062.1511 258.80127 -13.182596 8.3297196 -1075.969 -1067.6392 + 29750 2.975 0.076457483 1054.3636 261.18603 -13.249025 8.4064751 -1076.0457 -1067.6392 + 29800 2.98 0.076457498 1047.2927 263.27484 -13.304946 8.4737052 -1076.1129 -1067.6392 + 29850 2.985 0.076457496 1036.3496 264.2054 -13.347539 8.503656 -1076.1429 -1067.6392 + 29900 2.99 0.076457524 1049.8211 263.14933 -13.375057 8.4696654 -1076.1089 -1067.6392 + 29950 2.995 0.076457485 1086.8925 259.64496 -13.389366 8.3568747 -1075.9961 -1067.6392 + 30000 3 0.076457358 1121.0033 253.8035 -13.399945 8.1688626 -1075.8081 -1067.6392 + 30050 3.005 0.076457431 1153.305 246.37026 -13.414937 7.929618 -1075.5688 -1067.6392 + 30100 3.01 0.076457504 1145.6871 238.79622 -13.434682 7.6858415 -1075.3251 -1067.6392 + 30150 3.015 0.076457434 1115.5285 232.85496 -13.455727 7.4946177 -1075.1338 -1067.6392 + 30200 3.02 0.076457399 1103.9994 229.6959 -13.474938 7.392941 -1075.0322 -1067.6392 + 30250 3.025 0.076457501 1101.6296 229.35272 -13.488841 7.3818953 -1075.0211 -1067.6392 + 30300 3.03 0.076457539 1112.6865 231.35224 -13.495096 7.4462514 -1075.0855 -1067.6392 + 30350 3.035 0.076457548 1123.796 235.35091 -13.499855 7.5749517 -1075.2142 -1067.6392 + 30400 3.04 0.076457611 1111.9754 240.67564 -13.509248 7.7463324 -1075.3856 -1067.6392 + 30450 3.045 0.076457553 1103.8338 246.28636 -13.523249 7.9269177 -1075.5661 -1067.6392 + 30500 3.05 0.076457568 1119.7372 251.34267 -13.540792 8.089659 -1075.7289 -1067.6392 + 30550 3.055 0.076457571 1132.1966 255.24219 -13.56046 8.2151678 -1075.8544 -1067.6392 + 30600 3.06 0.076457421 1124.379 257.49852 -13.581214 8.2877897 -1075.927 -1067.6392 + 30650 3.065 0.076457351 1122.0717 257.82611 -13.600369 8.2983334 -1075.9376 -1067.6392 + 30700 3.07 0.076457488 1124.7347 256.51074 -13.616001 8.2559974 -1075.8952 -1067.6392 + 30750 3.075 0.076457614 1114.8471 254.66368 -13.629361 8.1965481 -1075.8358 -1067.6392 + 30800 3.08 0.076457581 1094.5902 253.68827 -13.6371 8.1651537 -1075.8044 -1067.6392 + 30850 3.085 0.076457515 1073.605 254.18179 -13.626926 8.1810381 -1075.8203 -1067.6392 + 30900 3.09 0.076457524 1059.6001 255.86129 -13.596369 8.2350942 -1075.8743 -1067.6392 + 30950 3.095 0.0764576 1050.7385 258.54322 -13.569865 8.3214142 -1075.9606 -1067.6392 + 31000 3.1 0.076457649 1033.7103 262.19251 -13.574242 8.4388695 -1076.0781 -1067.6392 + 31050 3.105 0.076457659 1023.1274 265.66302 -13.599347 8.5505704 -1076.1898 -1067.6392 + 31100 3.11 0.076457746 1039.0568 267.03003 -13.620524 8.5945689 -1076.2338 -1067.6392 + 31150 3.115 0.076457898 1064.7448 265.17792 -13.632089 8.5349571 -1076.1742 -1067.6392 + 31200 3.12 0.076458052 1085.3299 260.61936 -13.639394 8.3882363 -1076.0275 -1067.6392 + 31250 3.125 0.076457928 1090.3799 255.5305 -13.653293 8.2244474 -1075.8637 -1067.6392 + 31300 3.13 0.076457763 1073.4364 252.27482 -13.679887 8.1196609 -1075.7589 -1067.6392 + 31350 3.135 0.076457843 1055.311 251.62684 -13.710258 8.098805 -1075.738 -1067.6392 + 31400 3.14 0.07645797 1050.9396 252.63775 -13.731468 8.131342 -1075.7706 -1067.6392 + 31450 3.145 0.076457995 1046.9287 253.93922 -13.744029 8.1732308 -1075.8125 -1067.6392 + 31500 3.15 0.076457929 1022.8429 255.08707 -13.767257 8.2101752 -1075.8494 -1067.6392 + 31550 3.155 0.076457813 1004.9865 255.64995 -13.801963 8.228292 -1075.8675 -1067.6392 + 31600 3.16 0.076457767 1012.0538 254.8658 -13.829447 8.2030536 -1075.8423 -1067.6392 + 31650 3.165 0.076457802 1018.5353 252.69011 -13.844282 8.1330274 -1075.7723 -1067.6392 + 31700 3.17 0.076457799 1017.5009 249.999 -13.85414 8.0464118 -1075.6856 -1067.6392 + 31750 3.175 0.076457841 1019.8774 248.32876 -13.869648 7.9926539 -1075.6319 -1067.6392 + 31800 3.18 0.076457886 1027.7011 249.00645 -13.900943 8.014466 -1075.6537 -1067.6392 + 31850 3.185 0.07645785 1032.5018 251.69035 -13.947711 8.1008491 -1075.7401 -1067.6392 + 31900 3.19 0.076457837 1045.2307 254.29935 -13.987581 8.1848219 -1075.8241 -1067.6392 + 31950 3.195 0.076457885 1056.0235 255.3938 -14.000115 8.2200476 -1075.8593 -1067.6392 + 32000 3.2 0.076457879 1063.1819 256.13783 -14.001498 8.2439948 -1075.8832 -1067.6392 + 32050 3.205 0.076457704 1063.2852 258.5764 -14.010496 8.3224822 -1075.9617 -1067.6392 + 32100 3.21 0.076457634 1060.1503 263.31955 -14.023472 8.4751441 -1076.1144 -1067.6392 + 32150 3.215 0.07645773 1082.1484 268.96215 -14.036792 8.6567557 -1076.296 -1067.6392 + 32200 3.22 0.076457724 1103.843 273.4235 -14.055183 8.8003475 -1076.4396 -1067.6392 + 32250 3.225 0.076457625 1120.0414 275.94618 -14.084096 8.8815421 -1076.5208 -1067.6392 + 32300 3.23 0.076457606 1136.3108 276.73679 -14.116774 8.9069885 -1076.5462 -1067.6392 + 32350 3.235 0.07645768 1140.5919 275.77159 -14.139186 8.8759228 -1076.5152 -1067.6392 + 32400 3.24 0.076457802 1142.314 273.10495 -14.154735 8.7900947 -1076.4293 -1067.6392 + 32450 3.245 0.076457801 1159.6999 269.05809 -14.173996 8.6598435 -1076.2991 -1067.6392 + 32500 3.25 0.076457663 1174.6995 264.30819 -14.195702 8.5069643 -1076.1462 -1067.6392 + 32550 3.255 0.07645754 1185.7335 260.56202 -14.220076 8.3863908 -1076.0256 -1067.6392 + 32600 3.26 0.07645745 1198.982 259.45314 -14.241025 8.3507006 -1075.9899 -1067.6392 + 32650 3.265 0.076457456 1199.5794 261.37319 -14.253149 8.4124991 -1076.0517 -1067.6392 + 32700 3.27 0.076457573 1179.3566 265.3589 -14.262294 8.540782 -1076.18 -1067.6392 + 32750 3.275 0.076457607 1165.0216 269.79834 -14.273699 8.683669 -1076.3229 -1067.6392 + 32800 3.28 0.076457614 1173.1315 273.40897 -14.289043 8.7998799 -1076.4391 -1067.6392 + 32850 3.285 0.076457555 1178.2206 274.57793 -14.299588 8.8375039 -1076.4767 -1067.6392 + 32900 3.29 0.076457497 1160.0236 271.50252 -14.294919 8.7385195 -1076.3778 -1067.6392 + 32950 3.295 0.076457473 1144.3971 264.301 -14.284674 8.5067327 -1076.146 -1067.6392 + 33000 3.3 0.076457442 1138.8725 255.31826 -14.284777 8.2176163 -1075.8568 -1067.6392 + 33050 3.305 0.076457458 1135.3747 247.47369 -14.298209 7.9651327 -1075.6044 -1067.6392 + 33100 3.31 0.07645749 1148.9774 242.6502 -14.315521 7.809885 -1075.4491 -1067.6392 + 33150 3.315 0.076457432 1189.6279 241.36912 -14.324008 7.7686525 -1075.4079 -1067.6392 + 33200 3.32 0.076457424 1218.5788 243.90794 -14.331626 7.8503665 -1075.4896 -1067.6392 + 33250 3.325 0.076457482 1226.0538 250.03113 -14.352941 8.0474459 -1075.6867 -1067.6392 + 33300 3.33 0.076457454 1217.2314 257.73002 -14.374194 8.2952407 -1075.9345 -1067.6392 + 33350 3.335 0.076457399 1179.6803 264.28604 -14.379749 8.5062513 -1076.1455 -1067.6392 + 33400 3.34 0.076457379 1147.4971 267.79867 -14.373039 8.6193079 -1076.2585 -1067.6392 + 33450 3.345 0.076457399 1124.9366 267.92167 -14.366464 8.6232668 -1076.2625 -1067.6392 + 33500 3.35 0.076457444 1092.1841 265.9319 -14.368822 8.5592245 -1076.1985 -1067.6392 + 33550 3.355 0.076457408 1060.5254 264.14114 -14.37771 8.5015877 -1076.1408 -1067.6392 + 33600 3.36 0.07645736 1052.8302 265.02822 -14.389997 8.5301389 -1076.1694 -1067.6392 + 33650 3.365 0.076457327 1071.8382 269.77669 -14.410837 8.6829721 -1076.3222 -1067.6392 + 33700 3.37 0.076457378 1077.2229 277.22693 -14.442017 8.9227639 -1076.562 -1067.6392 + 33750 3.375 0.076457477 1071.9501 284.74963 -14.478049 9.1648879 -1076.8041 -1067.6392 + 33800 3.38 0.076457559 1090.056 289.50132 -14.506085 9.3178246 -1076.9571 -1067.6392 + 33850 3.385 0.076457575 1101.8505 289.82737 -14.514725 9.328319 -1076.9676 -1067.6392 + 33900 3.39 0.076457503 1091.3063 286.53466 -14.509436 9.2223404 -1076.8616 -1067.6392 + 33950 3.395 0.076457435 1087.1463 282.13005 -14.507235 9.0805746 -1076.7198 -1067.6392 + 34000 3.4 0.076457382 1079.0451 278.26682 -14.510716 8.9562337 -1076.5955 -1067.6392 + 34050 3.405 0.076457431 1073.4079 274.56089 -14.506574 8.8369554 -1076.4762 -1067.6392 + 34100 3.41 0.076457549 1080.3626 270.2225 -14.496075 8.6973209 -1076.3366 -1067.6392 + 34150 3.415 0.076457614 1081.8942 265.22981 -14.489633 8.5366274 -1076.1759 -1067.6392 + 34200 3.42 0.076457554 1102.3586 260.17866 -14.492136 8.3740522 -1076.0133 -1067.6392 + 34250 3.425 0.076457464 1141.421 255.94089 -14.50297 8.2376562 -1075.8769 -1067.6392 + 34300 3.43 0.076457528 1167.5346 253.78734 -14.520502 8.1683424 -1075.8076 -1067.6392 + 34350 3.435 0.076457597 1181.2246 255.29171 -14.550339 8.2167619 -1075.856 -1067.6392 + 34400 3.44 0.076457601 1162.4984 260.55233 -14.591365 8.386079 -1076.0253 -1067.6392 + 34450 3.445 0.076457485 1116.5653 267.61508 -14.63639 8.6133991 -1076.2526 -1067.6392 + 34500 3.45 0.07645735 1088.0554 273.74226 -14.675649 8.8106072 -1076.4498 -1067.6392 + 34550 3.455 0.076457477 1088.7296 277.3573 -14.702608 8.9269599 -1076.5662 -1067.6392 + 34600 3.46 0.076457673 1090.2675 279.19132 -14.732125 8.9859893 -1076.6252 -1067.6392 + 34650 3.465 0.07645765 1100.9294 280.27784 -14.77937 9.0209599 -1076.6602 -1067.6392 + 34700 3.47 0.076457569 1122.6353 279.51649 -14.824493 8.9964553 -1076.6357 -1067.6392 + 34750 3.475 0.076457534 1143.7477 275.73199 -14.844911 8.874648 -1076.5139 -1067.6392 + 34800 3.48 0.076457556 1165.0387 270.72066 -14.849166 8.7133545 -1076.3526 -1067.6392 + 34850 3.485 0.076457595 1162.8441 267.90858 -14.858627 8.6228456 -1076.2621 -1067.6392 + 34900 3.49 0.076457625 1139.7512 268.63619 -14.881699 8.6462643 -1076.2855 -1067.6392 + 34950 3.495 0.076457625 1112.7165 270.83924 -14.900675 8.7171711 -1076.3564 -1067.6392 + 35000 3.5 0.076457606 1086.0982 271.68623 -14.896016 8.7444321 -1076.3837 -1067.6392 + 35050 3.505 0.076457591 1071.7971 270.42576 -14.87744 8.703863 -1076.3431 -1067.6392 + 35100 3.51 0.076457658 1060.0049 267.97932 -14.863646 8.6251225 -1076.2644 -1067.6392 + 35150 3.515 0.076457689 1048.4698 265.72769 -14.860477 8.5526519 -1076.1919 -1067.6392 + 35200 3.52 0.076457634 1056.5787 265.02751 -14.865903 8.530116 -1076.1693 -1067.6392 + 35250 3.525 0.076457566 1046.9055 266.33972 -14.87323 8.5723504 -1076.2116 -1067.6392 + 35300 3.53 0.076457569 1013.1592 269.06436 -14.877187 8.6600451 -1076.2993 -1067.6392 + 35350 3.535 0.076457656 997.2022 272.57564 -14.87974 8.7730585 -1076.4123 -1067.6392 + 35400 3.54 0.07645767 994.65584 277.00538 -14.890358 8.9156331 -1076.5549 -1067.6392 + 35450 3.545 0.076457529 1001.1164 282.19926 -14.906943 9.0828022 -1076.722 -1067.6392 + 35500 3.55 0.076457424 1005.5196 287.07965 -14.918939 9.2398813 -1076.8791 -1067.6392 + 35550 3.555 0.076457509 997.69944 290.53612 -14.933609 9.3511304 -1076.9904 -1067.6392 + 35600 3.56 0.076457585 987.73643 291.05935 -14.952689 9.367971 -1077.0072 -1067.6392 + 35650 3.565 0.076457527 979.49042 287.4359 -14.968978 9.2513476 -1076.8906 -1067.6392 + 35700 3.57 0.07645746 984.55099 280.23031 -14.982301 9.01943 -1076.6587 -1067.6392 + 35750 3.575 0.07645748 1007.1391 271.88244 -14.993121 8.7507474 -1076.39 -1067.6392 + 35800 3.58 0.076457584 1039.0252 265.93314 -15.003434 8.5592646 -1076.1985 -1067.6392 + 35850 3.585 0.076457694 1068.9559 264.36704 -15.012954 8.5088585 -1076.1481 -1067.6392 + 35900 3.59 0.076457572 1070.9201 265.93574 -15.011002 8.559348 -1076.1986 -1067.6392 + 35950 3.595 0.076457429 1036.7314 268.37032 -15.000108 8.637707 -1076.2769 -1067.6392 + 36000 3.6 0.076457451 992.35033 270.35259 -15.003655 8.7015079 -1076.3407 -1067.6392 + 36050 3.605 0.076457474 975.3892 271.29311 -15.025665 8.7317792 -1076.371 -1067.6392 + 36100 3.61 0.076457434 1003.1636 271.41843 -15.049959 8.7358129 -1076.375 -1067.6392 + 36150 3.615 0.076457412 1027.3457 271.65889 -15.065017 8.7435522 -1076.3828 -1067.6392 + 36200 3.62 0.076457466 1042.0311 273.28003 -15.081242 8.79573 -1076.435 -1067.6392 + 36250 3.625 0.076457508 1050.9908 276.54947 -15.107217 8.9009594 -1076.5402 -1067.6392 + 36300 3.63 0.076457539 1064.6932 280.62712 -15.141343 9.0322016 -1076.6714 -1067.6392 + 36350 3.635 0.076457488 1085.4466 284.55482 -15.179271 9.1586178 -1076.7979 -1067.6392 + 36400 3.64 0.07645739 1094.0882 287.6198 -15.211097 9.2572665 -1076.8965 -1067.6392 + 36450 3.645 0.076457389 1092.1647 289.93627 -15.238113 9.3318239 -1076.9711 -1067.6392 + 36500 3.65 0.076457492 1082.1176 292.06035 -15.270924 9.4001889 -1077.0394 -1067.6392 + 36550 3.655 0.07645746 1078.0108 293.66619 -15.302636 9.4518744 -1077.0911 -1067.6392 + 36600 3.66 0.076457339 1094.3091 293.79253 -15.317422 9.4559406 -1077.0952 -1067.6392 + 36650 3.665 0.076457274 1100.3857 292.13609 -15.32291 9.4026267 -1077.0419 -1067.6392 + 36700 3.67 0.0764573 1059.1813 288.62112 -15.334691 9.2894948 -1076.9287 -1067.6392 + 36750 3.675 0.076457376 1010.0955 283.16513 -15.348493 9.1138894 -1076.7531 -1067.6392 + 36800 3.68 0.07645743 1004.7965 277.87783 -15.360479 8.9437136 -1076.5829 -1067.6392 + 36850 3.685 0.076457375 1018.8309 276.50784 -15.379064 8.8996193 -1076.5388 -1067.6392 + 36900 3.69 0.076457369 1028.961 278.28003 -15.401946 8.9566587 -1076.5959 -1067.6392 + 36950 3.695 0.076457388 1023.5143 278.85362 -15.418664 8.9751201 -1076.6144 -1067.6392 + 37000 3.7 0.076457408 1012.265 276.41504 -15.427991 8.8966325 -1076.5359 -1067.6392 + 37050 3.705 0.076457493 990.96196 271.81651 -15.438424 8.7486254 -1076.3879 -1067.6392 + 37100 3.71 0.076457562 981.1712 266.91048 -15.456878 8.5907211 -1076.23 -1067.6392 + 37150 3.715 0.076457539 986.354 263.91762 -15.48189 8.4943933 -1076.1336 -1067.6392 + 37200 3.72 0.076457423 996.09368 264.87626 -15.509807 8.525248 -1076.1645 -1067.6392 + 37250 3.725 0.076457402 997.16422 270.68182 -15.53609 8.7121043 -1076.3513 -1067.6392 + 37300 3.73 0.076457531 991.56754 280.3235 -15.553199 9.0224294 -1076.6617 -1067.6392 + 37350 3.735 0.076457475 983.899 291.64399 -15.567246 9.3867882 -1077.026 -1067.6392 + 37400 3.74 0.076457375 957.07127 302.31861 -15.591292 9.7303592 -1077.3696 -1067.6392 + 37450 3.745 0.076457441 915.9148 310.31227 -15.627635 9.9876414 -1077.6269 -1067.6392 + 37500 3.75 0.076457477 897.56201 314.34798 -15.671163 10.117534 -1077.7568 -1067.6392 + 37550 3.755 0.076457431 903.88431 313.87044 -15.71386 10.102164 -1077.7414 -1067.6392 + 37600 3.76 0.076457491 917.28579 308.82801 -15.749285 9.9398693 -1077.5791 -1067.6392 + 37650 3.765 0.076457525 942.06017 299.66951 -15.772048 9.6450956 -1077.2843 -1067.6392 + 37700 3.77 0.076457445 961.28174 287.88151 -15.778198 9.2656899 -1076.9049 -1067.6392 + 37750 3.775 0.076457477 958.2021 276.39254 -15.772569 8.8959083 -1076.5351 -1067.6392 + 37800 3.78 0.076457557 948.94806 268.64513 -15.765698 8.6465521 -1076.2858 -1067.6392 + 37850 3.785 0.076457556 947.78704 266.8871 -15.766401 8.5899684 -1076.2292 -1067.6392 + 37900 3.79 0.076457558 962.37609 270.88487 -15.776472 8.7186398 -1076.3579 -1067.6392 + 37950 3.795 0.076457526 991.61874 278.53558 -15.795866 8.9648839 -1076.6041 -1067.6392 + 38000 3.8 0.076457499 1010.916 287.47978 -15.824326 9.25276 -1076.892 -1067.6392 + 38050 3.805 0.076457489 993.35135 295.7602 -15.862726 9.5192717 -1077.1585 -1067.6392 + 38100 3.81 0.076457546 989.74778 301.47541 -15.907632 9.70322 -1077.3425 -1067.6392 + 38150 3.815 0.07645761 993.3824 303.44671 -15.946558 9.7666679 -1077.4059 -1067.6392 + 38200 3.82 0.076457588 988.80567 302.40203 -15.977266 9.733044 -1077.3723 -1067.6392 + 38250 3.825 0.07645753 984.55282 300.11697 -16.011838 9.6594977 -1077.2987 -1067.6392 + 38300 3.83 0.076457562 983.37008 297.61678 -16.053812 9.5790269 -1077.2183 -1067.6392 + 38350 3.835 0.076457613 1000.3554 294.80409 -16.085202 9.4884983 -1077.1277 -1067.6392 + 38400 3.84 0.076457626 1033.4664 291.876 -16.096115 9.3942555 -1077.0335 -1067.6392 + 38450 3.845 0.076457661 1047.3368 290.07519 -16.110059 9.3362953 -1076.9755 -1067.6392 + 38500 3.85 0.076457655 1024.7937 289.82293 -16.139554 9.328176 -1076.9674 -1067.6392 + 38550 3.855 0.076457638 1017.4806 289.8687 -16.161946 9.3296489 -1076.9689 -1067.6392 + 38600 3.86 0.076457592 1039.5043 289.37833 -16.169892 9.3138662 -1076.9531 -1067.6392 + 38650 3.865 0.076457557 1063.9366 288.50085 -16.171467 9.2856238 -1076.9249 -1067.6392 + 38700 3.87 0.076457677 1070.449 287.9452 -16.169902 9.2677398 -1076.907 -1067.6392 + 38750 3.875 0.076457662 1052.016 288.41298 -16.166026 9.2827956 -1076.922 -1067.6392 + 38800 3.88 0.076457605 1032.1006 289.76121 -16.162583 9.3261896 -1076.9654 -1067.6392 + 38850 3.885 0.076457712 1020.3335 291.3617 -16.16773 9.3777023 -1077.0169 -1067.6392 + 38900 3.89 0.076457683 1015.7433 292.68938 -16.184231 9.4204347 -1077.0597 -1067.6392 + 38950 3.895 0.076457564 1027.8269 293.63898 -16.21584 9.4509986 -1077.0902 -1067.6392 + 39000 3.9 0.076457619 1038.6319 293.97207 -16.254979 9.4617194 -1077.101 -1067.6392 + 39050 3.905 0.076457705 1044.5679 293.885 -16.278531 9.4589168 -1077.0981 -1067.6392 + 39100 3.91 0.076457709 1046.1788 295.0006 -16.27343 9.4948231 -1077.1341 -1067.6392 + 39150 3.915 0.076457649 1023.8873 298.98535 -16.251292 9.6230756 -1077.2623 -1067.6392 + 39200 3.92 0.076457633 1000.8332 305.48222 -16.233015 9.8321825 -1077.4714 -1067.6392 + 39250 3.925 0.07645756 988.14502 312.10448 -16.230005 10.045325 -1077.6846 -1067.6392 + 39300 3.93 0.076457575 997.35073 315.81405 -16.238203 10.16472 -1077.804 -1067.6392 + 39350 3.935 0.076457677 1028.5818 314.19089 -16.240391 10.112478 -1077.7517 -1067.6392 + 39400 3.94 0.076457714 1045.4201 306.98031 -16.22979 9.8803995 -1077.5196 -1067.6392 + 39450 3.945 0.076457711 1044.1918 297.96176 -16.221111 9.5901304 -1077.2294 -1067.6392 + 39500 3.95 0.076457669 1031.5483 292.5692 -16.214559 9.4165666 -1077.0558 -1067.6392 + 39550 3.955 0.07645756 1025.8724 290.92753 -16.201804 9.3637283 -1077.003 -1067.6392 + 39600 3.96 0.076457551 1043.0568 290.57097 -16.194891 9.3522522 -1076.9915 -1067.6392 + 39650 3.965 0.076457568 1064.0457 291.54866 -16.212818 9.3837199 -1077.0229 -1067.6392 + 39700 3.97 0.076457614 1074.2493 294.08039 -16.259022 9.4652057 -1077.1044 -1067.6392 + 39750 3.975 0.076457622 1045.9401 296.58886 -16.307783 9.5459427 -1077.1852 -1067.6392 + 39800 3.98 0.076457589 1003.4409 297.25507 -16.339872 9.5673852 -1077.2066 -1067.6392 + 39850 3.985 0.076457612 993.64485 295.77116 -16.361298 9.5196243 -1077.1589 -1067.6392 + 39900 3.99 0.076457712 1006.0484 293.1885 -16.376761 9.4364994 -1077.0757 -1067.6392 + 39950 3.995 0.076457679 991.57157 290.9198 -16.379302 9.3634795 -1077.0027 -1067.6392 + 40000 4 0.076457582 964.36543 290.23473 -16.367849 9.3414299 -1076.9807 -1067.6392 + 40050 4.005 0.076457559 954.79409 292.02726 -16.354715 9.3991239 -1077.0384 -1067.6392 + 40100 4.01 0.076457588 961.79789 296.03902 -16.354183 9.5282455 -1077.1675 -1067.6392 + 40150 4.015 0.0764576 986.86742 299.96659 -16.365093 9.6546575 -1077.2939 -1067.6392 + 40200 4.02 0.076457589 994.14866 300.89633 -16.372591 9.6845819 -1077.3238 -1067.6392 + 40250 4.025 0.076457645 996.14585 298.37892 -16.367541 9.6035572 -1077.2428 -1067.6392 + 40300 4.03 0.076457675 1009.035 295.25357 -16.358503 9.5029652 -1077.1422 -1067.6392 + 40350 4.035 0.076457598 1014.8105 294.51698 -16.354826 9.4792575 -1077.1185 -1067.6392 + 40400 4.04 0.076457586 1029.6311 295.9285 -16.358567 9.5246883 -1077.1639 -1067.6392 + 40450 4.045 0.076457599 1038.8165 296.70455 -16.37191 9.5496663 -1077.1889 -1067.6392 + 40500 4.05 0.076457523 1019.8005 294.96456 -16.392342 9.4936634 -1077.1329 -1067.6392 + 40550 4.055 0.076457428 1023.4475 291.60684 -16.41267 9.3855926 -1077.0248 -1067.6392 + 40600 4.06 0.076457444 1057.8107 289.35106 -16.430176 9.3129884 -1076.9522 -1067.6392 + 40650 4.065 0.076457557 1057.6424 290.01367 -16.442565 9.3343151 -1076.9735 -1067.6392 + 40700 4.07 0.076457689 1032.0152 293.01599 -16.440441 9.430947 -1077.0702 -1067.6392 + 40750 4.075 0.076457733 1027.6923 297.33249 -16.429161 9.5698769 -1077.2091 -1067.6392 + 40800 4.08 0.076457683 1049.2581 302.71656 -16.425908 9.7431675 -1077.3824 -1067.6392 + 40850 4.085 0.076457676 1062.7046 309.06748 -16.434404 9.9475769 -1077.5868 -1067.6392 + 40900 4.09 0.076457757 1056.9788 316.0858 -16.451775 10.173467 -1077.8127 -1067.6392 + 40950 4.095 0.076457774 1073.6105 322.63471 -16.485634 10.384248 -1078.0235 -1067.6392 + 41000 4.1 0.076457723 1102.1708 326.00311 -16.532097 10.492663 -1078.1319 -1067.6392 + 41050 4.105 0.076457742 1135.7358 323.78206 -16.572384 10.421177 -1078.0604 -1067.6392 + 41100 4.11 0.076457839 1150.9624 315.72207 -16.586201 10.16176 -1077.801 -1067.6392 + 41150 4.115 0.0764579 1133.6801 304.50129 -16.576495 9.8006105 -1077.4398 -1067.6392 + 41200 4.12 0.076457874 1106.7713 294.55355 -16.562247 9.4804346 -1077.1197 -1067.6392 + 41250 4.125 0.076457816 1077.861 288.97154 -16.546794 9.3007733 -1076.94 -1067.6392 + 41300 4.13 0.076457775 1049.8951 288.68305 -16.541043 9.2914881 -1076.9307 -1067.6392 + 41350 4.135 0.076457789 1040.6446 293.17749 -16.568222 9.4361451 -1077.0754 -1067.6392 + 41400 4.14 0.076457796 1062.3287 300.13752 -16.620751 9.660159 -1077.2994 -1067.6392 + 41450 4.145 0.076457888 1076.5853 306.09407 -16.668767 9.8518751 -1077.4911 -1067.6392 + 41500 4.15 0.076457877 1065.2199 308.61394 -16.698067 9.9329793 -1077.5722 -1067.6392 + 41550 4.155 0.076457852 1068.7881 308.03917 -16.719828 9.9144797 -1077.5537 -1067.6392 + 41600 4.16 0.07645779 1068.4578 306.44808 -16.737367 9.8632693 -1077.5025 -1067.6392 + 41650 4.165 0.076457748 1034.0147 305.80908 -16.739572 9.8427024 -1077.4819 -1067.6392 + 41700 4.17 0.076457762 999.13334 306.91055 -16.733356 9.8781543 -1077.5174 -1067.6392 + 41750 4.175 0.076457738 1002.966 308.67217 -16.740815 9.9348535 -1077.5741 -1067.6392 + 41800 4.18 0.076457662 1026.9401 309.28404 -16.76882 9.9545468 -1077.5938 -1067.6392 + 41850 4.185 0.076457785 1048.1545 308.26721 -16.803047 9.9218192 -1077.5611 -1067.6392 + 41900 4.19 0.076457896 1061.9672 306.79451 -16.828056 9.8744195 -1077.5136 -1067.6392 + 41950 4.195 0.076457788 1063.3452 305.81438 -16.838103 9.8428732 -1077.4821 -1067.6392 + 42000 4.2 0.076457653 1066.6376 305.00511 -16.838688 9.8168263 -1077.4561 -1067.6392 + 42050 4.205 0.076457619 1066.8981 303.458 -16.842064 9.7670311 -1077.4063 -1067.6392 + 42100 4.21 0.076457741 1057.308 300.62005 -16.861587 9.6756897 -1077.3149 -1067.6392 + 42150 4.215 0.076457798 1034.8812 296.98868 -16.899542 9.5588112 -1077.198 -1067.6392 + 42200 4.22 0.076457741 1006.9297 294.0721 -16.935797 9.4649389 -1077.1042 -1067.6392 + 42250 4.225 0.076457708 986.75051 293.0943 -16.947693 9.4334674 -1077.0727 -1067.6392 + 42300 4.23 0.076457808 969.75426 294.20406 -16.945858 9.4691862 -1077.1084 -1067.6392 + 42350 4.235 0.076457868 963.74596 296.59463 -16.946926 9.5461283 -1077.1854 -1067.6392 + 42400 4.24 0.076457778 979.44368 299.96439 -16.956659 9.6545866 -1077.2938 -1067.6392 + 42450 4.245 0.076457791 984.2135 304.59299 -16.974496 9.8035617 -1077.4428 -1067.6392 + 42500 4.25 0.076457854 979.70863 310.10222 -16.997517 9.9808808 -1077.6201 -1067.6392 + 42550 4.255 0.076457845 963.18828 315.17089 -17.018507 10.14402 -1077.7833 -1067.6392 + 42600 4.26 0.07645772 924.95483 318.99173 -17.029395 10.266996 -1077.9062 -1067.6392 + 42650 4.265 0.076457639 917.86112 322.34212 -17.035941 10.374831 -1078.0141 -1067.6392 + 42700 4.27 0.07645774 944.82028 325.38302 -17.047468 10.472705 -1078.1119 -1067.6392 + 42750 4.275 0.076457938 960.10214 326.61344 -17.067033 10.512307 -1078.1515 -1067.6392 + 42800 4.28 0.076458022 972.52239 325.00876 -17.091275 10.460659 -1078.0999 -1067.6392 + 42850 4.285 0.076458002 992.87865 320.17152 -17.108075 10.304969 -1077.9442 -1067.6392 + 42900 4.29 0.076457841 1006.327 311.59438 -17.103583 10.028907 -1077.6681 -1067.6392 + 42950 4.295 0.076457788 1002.2455 300.38593 -17.078254 9.6681543 -1077.3074 -1067.6392 + 43000 4.3 0.076457862 996.17457 290.24794 -17.044976 9.3418551 -1076.9811 -1067.6392 + 43050 4.305 0.076457877 1000.9547 285.54988 -17.01983 9.1906446 -1076.8299 -1067.6392 + 43100 4.31 0.076457942 988.65155 288.59122 -17.015533 9.2885325 -1076.9278 -1067.6392 + 43150 4.315 0.076457999 972.41145 298.32202 -17.033256 9.6017256 -1077.241 -1067.6392 + 43200 4.32 0.076458028 948.97512 311.09248 -17.065815 10.012753 -1077.652 -1067.6392 + 43250 4.325 0.076457935 916.82485 322.42515 -17.093329 10.377504 -1078.0167 -1067.6392 + 43300 4.33 0.076457873 899.77572 329.85568 -17.106846 10.616661 -1078.2559 -1067.6392 + 43350 4.335 0.076457929 878.86717 333.35452 -17.115682 10.729274 -1078.3685 -1067.6392 + 43400 4.34 0.076457966 874.70786 333.18911 -17.121427 10.72395 -1078.3632 -1067.6392 + 43450 4.345 0.076458006 891.26384 329.38375 -17.117357 10.601472 -1078.2407 -1067.6392 + 43500 4.35 0.076458001 898.35186 322.8122 -17.107186 10.389961 -1078.0292 -1067.6392 + 43550 4.355 0.076458013 901.74597 315.36342 -17.103127 10.150216 -1077.7894 -1067.6392 + 43600 4.36 0.076458088 926.67246 308.8075 -17.112922 9.9392091 -1077.5784 -1067.6392 + 43650 4.365 0.076458104 960.6166 303.94548 -17.140357 9.7827213 -1077.422 -1067.6392 + 43700 4.37 0.076458063 975.11769 300.59062 -17.177028 9.6747425 -1077.314 -1067.6392 + 43750 4.375 0.076458054 968.24523 298.47066 -17.207996 9.60651 -1077.2457 -1067.6392 + 43800 4.38 0.076458041 964.14007 298.09373 -17.232401 9.5943781 -1077.2336 -1067.6392 + 43850 4.385 0.076457954 965.79688 300.53579 -17.264344 9.6729776 -1077.3122 -1067.6392 + 43900 4.39 0.076457854 955.96603 305.88479 -17.306956 9.8451395 -1077.4844 -1067.6392 + 43950 4.395 0.076457896 941.12525 312.31823 -17.341534 10.052205 -1077.6914 -1067.6392 + 44000 4.4 0.076457859 938.67889 317.5795 -17.360921 10.221543 -1077.8608 -1067.6392 + 44050 4.405 0.076457719 947.63231 320.31294 -17.381896 10.309521 -1077.9488 -1067.6392 + 44100 4.41 0.076457755 969.34037 320.05455 -17.418322 10.301204 -1077.9404 -1067.6392 + 44150 4.415 0.076457877 994.80806 316.92978 -17.455307 10.200631 -1077.8399 -1067.6392 + 44200 4.42 0.076457883 994.27896 312.50804 -17.485343 10.058314 -1077.6975 -1067.6392 + 44250 4.425 0.076457773 973.05564 308.95598 -17.522396 9.943988 -1077.5832 -1067.6392 + 44300 4.43 0.076457724 951.78988 307.21327 -17.563966 9.8878976 -1077.5271 -1067.6392 + 44350 4.435 0.076457759 928.72012 308.03041 -17.602557 9.9141978 -1077.5534 -1067.6392 + 44400 4.44 0.076457834 916.44987 311.99524 -17.635148 10.041809 -1077.681 -1067.6392 + 44450 4.445 0.076457893 928.75804 317.70608 -17.652296 10.225617 -1077.8648 -1067.6392 + 44500 4.45 0.076457885 943.60516 322.59137 -17.661113 10.382853 -1078.0221 -1067.6392 + 44550 4.455 0.076457906 945.49994 325.00133 -17.680273 10.46042 -1078.0997 -1067.6392 + 44600 4.46 0.076457941 952.36178 325.6626 -17.717875 10.481703 -1078.1209 -1067.6392 + 44650 4.465 0.076457852 940.32266 326.47902 -17.757759 10.507981 -1078.1472 -1067.6392 + 44700 4.47 0.076457689 897.56364 327.57886 -17.783166 10.54338 -1078.1826 -1067.6392 + 44750 4.475 0.076457713 857.39373 327.4808 -17.804428 10.540224 -1078.1795 -1067.6392 + 44800 4.48 0.07645791 851.17923 325.52967 -17.833839 10.477425 -1078.1167 -1067.6392 + 44850 4.485 0.076458019 869.19875 322.22447 -17.859584 10.371045 -1078.0103 -1067.6392 + 44900 4.49 0.076457959 892.97974 318.64189 -17.864667 10.255737 -1077.895 -1067.6392 + 44950 4.495 0.076457921 899.76829 316.57454 -17.858322 10.189197 -1077.8284 -1067.6392 + 45000 4.5 0.07645794 879.79667 318.12269 -17.875334 10.239026 -1077.8783 -1067.6392 + 45050 4.505 0.076457864 861.6753 323.54624 -17.930753 10.413587 -1078.0528 -1067.6392 + 45100 4.51 0.076457773 868.31935 329.69269 -17.990903 10.611415 -1078.2506 -1067.6392 + 45150 4.515 0.076457818 892.5502 332.57348 -18.015322 10.704136 -1078.3434 -1067.6392 + 45200 4.52 0.076457979 934.55633 331.51408 -18.006044 10.670038 -1078.3093 -1067.6392 + 45250 4.525 0.076457934 969.26205 329.02929 -17.994029 10.590063 -1078.2293 -1067.6392 + 45300 4.53 0.076457821 986.82839 326.98424 -17.994973 10.524241 -1078.1635 -1067.6392 + 45350 4.535 0.076457878 969.0246 325.50185 -18.001111 10.47653 -1078.1158 -1067.6392 + 45400 4.54 0.076458012 949.66785 324.76289 -18.004536 10.452746 -1078.092 -1067.6392 + 45450 4.545 0.076457931 934.25079 325.87047 -18.014727 10.488394 -1078.1276 -1067.6392 + 45500 4.55 0.076457855 926.68239 328.82491 -18.026773 10.583485 -1078.2227 -1067.6392 + 45550 4.555 0.076457796 929.74295 331.7329 -18.027681 10.677081 -1078.3163 -1067.6392 + 45600 4.56 0.076457858 934.2471 332.34645 -18.020161 10.696829 -1078.3361 -1067.6392 + 45650 4.565 0.076457947 919.70747 330.09857 -18.007458 10.624479 -1078.2637 -1067.6392 + 45700 4.57 0.076457972 912.95486 326.17283 -17.995078 10.498126 -1078.1374 -1067.6392 + 45750 4.575 0.076457896 941.11127 321.60716 -17.994665 10.351176 -1077.9904 -1067.6392 + 45800 4.58 0.076457862 966.79612 317.78513 -18.009696 10.228161 -1077.8674 -1067.6392 + 45850 4.585 0.076457935 944.28578 315.85752 -18.027571 10.16612 -1077.8053 -1067.6392 + 45900 4.59 0.076458044 901.04422 316.68004 -18.043848 10.192593 -1077.8318 -1067.6392 + 45950 4.595 0.076458007 879.51756 320.93625 -18.067698 10.329582 -1077.9688 -1067.6392 + 46000 4.6 0.076457964 872.83739 327.90148 -18.094801 10.553764 -1078.193 -1067.6392 + 46050 4.605 0.076457967 876.29409 335.50363 -18.112035 10.798445 -1078.4377 -1067.6392 + 46100 4.61 0.076457881 897.82101 341.25719 -18.123994 10.983628 -1078.6229 -1067.6392 + 46150 4.615 0.076457848 917.72011 342.09311 -18.135768 11.010532 -1078.6498 -1067.6392 + 46200 4.62 0.076457904 935.79066 336.81461 -18.142721 10.84064 -1078.4799 -1067.6392 + 46250 4.625 0.07645791 958.856 329.24209 -18.153564 10.596912 -1078.2361 -1067.6392 + 46300 4.63 0.076457941 976.84674 323.74284 -18.177828 10.419914 -1078.0591 -1067.6392 + 46350 4.635 0.076457974 986.64452 321.53234 -18.208728 10.348768 -1077.988 -1067.6392 + 46400 4.64 0.076457862 996.7259 323.14828 -18.22492 10.400778 -1078.04 -1067.6392 + 46450 4.645 0.076457805 1006.0233 328.59085 -18.21408 10.575952 -1078.2152 -1067.6392 + 46500 4.65 0.076457941 1004.0925 335.85497 -18.186199 10.809753 -1078.449 -1067.6392 + 46550 4.655 0.076457976 986.50596 341.77518 -18.164044 11.0003 -1078.6395 -1067.6392 + 46600 4.66 0.076457959 977.94506 343.98758 -18.166618 11.071507 -1078.7107 -1067.6392 + 46650 4.665 0.07645792 979.65854 341.91053 -18.193889 11.004656 -1078.6439 -1067.6392 + 46700 4.67 0.07645783 995.8469 337.32643 -18.237006 10.857113 -1078.4963 -1067.6392 + 46750 4.675 0.076457742 996.88168 332.71719 -18.282271 10.708761 -1078.348 -1067.6392 + 46800 4.68 0.076457785 982.69373 328.43469 -18.306019 10.570925 -1078.2102 -1067.6392 + 46850 4.685 0.076457823 978.36015 323.5801 -18.306181 10.414677 -1078.0539 -1067.6392 + 46900 4.69 0.076457791 962.75325 318.03098 -18.3112 10.236074 -1077.8753 -1067.6392 + 46950 4.695 0.076457771 943.72644 312.62711 -18.333493 10.062146 -1077.7014 -1067.6392 + 47000 4.7 0.076457655 933.06364 309.79024 -18.359925 9.9708393 -1077.6101 -1067.6392 + 47050 4.705 0.076457527 923.63321 312.99794 -18.385002 10.074082 -1077.7133 -1067.6392 + 47100 4.71 0.076457491 918.61147 323.5351 -18.420653 10.413228 -1078.0525 -1067.6392 + 47150 4.715 0.076457637 920.24413 338.17027 -18.464512 10.884273 -1078.5235 -1067.6392 + 47200 4.72 0.076457729 914.26076 351.25395 -18.491106 11.305381 -1078.9446 -1067.6392 + 47250 4.725 0.07645769 894.45791 358.77754 -18.490423 11.547534 -1079.1868 -1067.6392 + 47300 4.73 0.076457673 866.24513 359.47999 -18.476062 11.570142 -1079.2094 -1067.6392 + 47350 4.735 0.076457644 850.87063 353.65236 -18.459228 11.382576 -1079.0218 -1067.6392 + 47400 4.74 0.07645765 861.60254 342.84162 -18.444647 11.034624 -1078.6739 -1067.6392 + 47450 4.745 0.076457629 868.52502 329.8691 -18.432312 10.617093 -1078.2563 -1067.6392 + 47500 4.75 0.076457475 874.96863 318.16288 -18.423034 10.240319 -1077.8795 -1067.6392 + 47550 4.755 0.076457461 893.70831 310.61468 -18.425459 9.9973745 -1077.6366 -1067.6392 + 47600 4.76 0.076457507 898.58686 308.29041 -18.437291 9.9225663 -1077.5618 -1067.6392 + 47650 4.765 0.076457495 906.98902 310.84197 -18.447354 10.00469 -1077.6439 -1067.6392 + 47700 4.77 0.076457476 917.08363 317.51731 -18.453233 10.219541 -1077.8588 -1067.6392 + 47750 4.775 0.07645741 913.18684 326.63525 -18.458615 10.513009 -1078.1522 -1067.6392 + 47800 4.78 0.076457341 914.30453 335.22798 -18.466228 10.789573 -1078.4288 -1067.6392 + 47850 4.785 0.076457324 930.54553 340.64884 -18.477564 10.964047 -1078.6033 -1067.6392 + 47900 4.79 0.076457362 944.82928 342.0923 -18.497904 11.010506 -1078.6497 -1067.6392 + 47950 4.795 0.076457403 948.97835 339.9758 -18.525445 10.942385 -1078.5816 -1067.6392 + 48000 4.8 0.076457478 949.55048 335.14347 -18.544304 10.786853 -1078.4261 -1067.6392 + 48050 4.805 0.076457492 934.49484 329.4616 -18.547259 10.603977 -1078.2432 -1067.6392 + 48100 4.81 0.076457483 906.2488 325.50663 -18.537762 10.476683 -1078.1159 -1067.6392 + 48150 4.815 0.076457537 907.61196 324.83016 -18.527959 10.454911 -1078.0941 -1067.6392 + 48200 4.82 0.076457521 928.41301 327.05163 -18.532299 10.526411 -1078.1656 -1067.6392 + 48250 4.825 0.076457453 941.11541 331.5379 -18.558254 10.670805 -1078.31 -1067.6392 + 48300 4.83 0.07645744 943.62955 337.63093 -18.594136 10.866914 -1078.5061 -1067.6392 + 48350 4.835 0.076457431 950.73848 343.5387 -18.62029 11.05706 -1078.6963 -1067.6392 + 48400 4.84 0.076457508 977.05827 347.46226 -18.634634 11.183342 -1078.8226 -1067.6392 + 48450 4.845 0.076457572 985.51176 349.38288 -18.652405 11.245159 -1078.8844 -1067.6392 + 48500 4.85 0.0764575 966.51991 350.00883 -18.680976 11.265306 -1078.9045 -1067.6392 + 48550 4.855 0.076457449 952.81522 348.84984 -18.705088 11.228003 -1078.8672 -1067.6392 + 48600 4.86 0.07645757 956.4504 345.07299 -18.706134 11.106442 -1078.7457 -1067.6392 + 48650 4.865 0.076457648 962.27213 339.6091 -18.687227 10.930583 -1078.5698 -1067.6392 + 48700 4.87 0.076457531 951.28586 335.48047 -18.675207 10.797699 -1078.4369 -1067.6392 + 48750 4.875 0.076457622 939.27346 335.37698 -18.691822 10.794368 -1078.4336 -1067.6392 + 48800 4.88 0.07645763 929.93644 338.62392 -18.723472 10.898874 -1078.5381 -1067.6392 + 48850 4.885 0.07645746 927.0018 341.61788 -18.739309 10.995236 -1078.6345 -1067.6392 + 48900 4.89 0.076457454 933.2133 341.45716 -18.734537 10.990064 -1078.6293 -1067.6392 + 48950 4.895 0.076457525 927.17347 338.03446 -18.732333 10.879901 -1078.5191 -1067.6392 + 49000 4.9 0.076457565 934.00454 333.29208 -18.749493 10.727264 -1078.3665 -1067.6392 + 49050 4.905 0.076457546 946.42674 329.88244 -18.783172 10.617522 -1078.2568 -1067.6392 + 49100 4.91 0.076457456 953.85036 329.62056 -18.816988 10.609094 -1078.2483 -1067.6392 + 49150 4.915 0.076457497 981.62511 332.41677 -18.829947 10.699092 -1078.3383 -1067.6392 + 49200 4.92 0.076457502 1010.935 336.90702 -18.819016 10.843614 -1078.4828 -1067.6392 + 49250 4.925 0.076457418 1025.5157 341.57069 -18.807495 10.993718 -1078.6329 -1067.6392 + 49300 4.93 0.076457502 1027.8193 344.89678 -18.811783 11.100771 -1078.74 -1067.6392 + 49350 4.935 0.076457543 1020.505 345.48293 -18.816811 11.119636 -1078.7589 -1067.6392 + 49400 4.94 0.076457478 1016.2039 342.92093 -18.803277 11.037176 -1078.6764 -1067.6392 + 49450 4.945 0.07645749 1018.2955 337.76884 -18.778837 10.871352 -1078.5106 -1067.6392 + 49500 4.95 0.07645759 1012.1553 330.63853 -18.761954 10.641858 -1078.2811 -1067.6392 + 49550 4.955 0.076457651 985.5222 322.69351 -18.765732 10.386141 -1078.0254 -1067.6392 + 49600 4.96 0.076457607 966.22788 316.25074 -18.798665 10.178775 -1077.818 -1067.6392 + 49650 4.965 0.076457494 961.04675 313.18195 -18.839015 10.080004 -1077.7192 -1067.6392 + 49700 4.97 0.076457431 960.65868 314.4735 -18.863274 10.121574 -1077.7608 -1067.6392 + 49750 4.975 0.076457515 966.54445 320.68235 -18.880959 10.32141 -1077.9606 -1067.6392 + 49800 4.98 0.076457498 965.47876 331.30789 -18.90627 10.663401 -1078.3026 -1067.6392 + 49850 4.985 0.076457382 964.05595 343.93887 -18.938996 11.069939 -1078.7092 -1067.6392 + 49900 4.99 0.076457357 944.93024 354.89734 -18.970612 11.422646 -1079.0619 -1067.6392 + 49950 4.995 0.076457532 918.77322 361.48317 -18.987516 11.634616 -1079.2739 -1067.6392 + 50000 5 0.07645762 900.51128 363.08297 -18.994661 11.686107 -1079.3253 -1067.6392 +Loop time of 52.5523 on 4 procs for 50000 steps with 250 atoms + +Performance: 8.220 ns/day, 2.920 hours/ns, 951.434 timesteps/s +94.1% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 10.242 | 10.478 | 10.799 | 6.3 | 19.94 +Neigh | 0.10368 | 0.10776 | 0.11329 | 1.1 | 0.21 +Comm | 2.4492 | 2.7097 | 2.8852 | 11.0 | 5.16 +Output | 5.5737 | 5.9107 | 6.2742 | 11.8 | 11.25 +Modify | 32.833 | 33.256 | 33.661 | 5.2 | 63.28 +Other | | 0.09063 | | | 0.17 + +Nlocal: 62.5 ave 66 max 57 min +Histogram: 1 0 0 0 0 1 0 0 1 1 +Nghost: 772 ave 785 max 755 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Neighs: 1931 ave 2025 max 1751 min +Histogram: 1 0 0 0 0 0 1 0 0 2 +FullNghs: 3862 ave 4082 max 3518 min +Histogram: 1 0 0 0 0 1 0 0 1 1 + +Total # of neighbors = 15448 +Ave neighs/atom = 61.792 +Neighbor list builds = 614 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:52 diff --git a/examples/SPIN/nickel/in.spin.nickel b/examples/SPIN/nickel/in.spin.nickel index 2fa16b8a1b..ba447b077f 100644 --- a/examples/SPIN/nickel/in.spin.nickel +++ b/examples/SPIN/nickel/in.spin.nickel @@ -24,7 +24,7 @@ set group all spin/random 31 0.63 velocity all create 100 4928459 rot yes dist gaussian pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/nickel/Ni99.eam.alloy Ni +pair_coeff * * eam/alloy Ni99.eam.alloy Ni pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 neighbor 0.1 bin diff --git a/examples/SPIN/nickel/log.11May18.spin.nickel.g++.1 b/examples/SPIN/nickel/log.11May18.spin.nickel.g++.1 new file mode 100644 index 0000000000..82f54f4e6b --- /dev/null +++ b/examples/SPIN/nickel/log.11May18.spin.nickel.g++.1 @@ -0,0 +1,157 @@ +LAMMPS (11 May 2018) +# fcc nickel in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice fcc 3.524 +Lattice spacing in x,y,z = 3.524 3.524 3.524 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (17.62 17.62 17.62) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000804186 secs + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.69 + +set group all spin/random 31 0.63 + 500 settings made for spin/random +#set group all spin 0.63 0.0 0.0 1.0 +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Ni99.eam.alloy Ni +pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# compute and output options + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_emag temp v_tmag etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 50 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 2000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.90375 + ghost atom cutoff = 5.90375 + binsize = 2.95187, bins = 6 6 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.384 | 7.384 | 7.384 Mbytes +Step Time v_magnorm v_emag Temp v_tmag TotEng + 0 0 0.028733803 0.40997576 100.03408 -9550.1342 -2218.1018 + 50 0.005 0.028733807 0.070491717 101.47879 -56307.038 -2218.1018 + 100 0.01 0.028733815 -0.70937134 101.7311 5851.6355 -2218.1018 + 150 0.015 0.028733823 -1.853981 99.63039 2395.8677 -2218.1018 + 200 0.02 0.028733828 -3.2679239 94.850105 1482.3486 -2218.1018 + 250 0.025 0.028733824 -4.863967 88.444584 1100.7396 -2218.1018 + 300 0.03 0.028733807 -6.5763457 82.689581 899.56642 -2218.1018 + 350 0.035 0.028733783 -8.3489158 80.108798 768.64457 -2218.1018 + 400 0.04 0.028733763 -10.120216 82.374947 670.03091 -2218.1018 + 450 0.045 0.028733755 -11.828932 89.814597 593.77931 -2218.1018 + 500 0.05 0.028733762 -13.423712 101.39613 535.03371 -2218.1018 + 550 0.055 0.028733783 -14.866724 115.07399 489.92024 -2218.1018 + 600 0.06 0.028733801 -16.135279 128.57849 458.66654 -2218.1018 + 650 0.065 0.028733804 -17.222838 140.22402 440.11437 -2218.1018 + 700 0.07 0.028733795 -18.154813 149.61295 425.91356 -2218.1018 + 750 0.075 0.028733781 -18.996903 157.5814 412.82654 -2218.1018 + 800 0.08 0.028733768 -19.804249 164.92075 407.77954 -2218.1018 + 850 0.085 0.028733752 -20.579151 171.67278 406.84726 -2218.1018 + 900 0.09 0.028733728 -21.294277 177.67238 399.69633 -2218.1018 + 950 0.095 0.028733715 -21.943945 183.2621 389.92281 -2218.1018 + 1000 0.1 0.02873374 -22.551277 188.99284 383.19592 -2218.1018 + 1050 0.105 0.028733783 -23.120147 194.51391 375.87245 -2218.1018 + 1100 0.11 0.028733792 -23.602325 198.18631 365.37753 -2218.1018 + 1150 0.115 0.028733774 -23.976048 199.04022 354.04863 -2218.1018 + 1200 0.12 0.02873376 -24.31575 198.41999 346.40397 -2218.1018 + 1250 0.125 0.028733759 -24.718347 198.3669 343.1701 -2218.1018 + 1300 0.13 0.028733765 -25.189073 199.57949 336.90052 -2218.1018 + 1350 0.135 0.028733774 -25.650252 201.45897 329.07023 -2218.1018 + 1400 0.14 0.028733785 -26.042702 203.6926 327.97373 -2218.1018 + 1450 0.145 0.028733791 -26.373965 206.80469 327.38747 -2218.1018 + 1500 0.15 0.028733791 -26.691802 211.43923 322.75885 -2218.1018 + 1550 0.155 0.028733794 -27.021573 217.10969 315.55781 -2218.1018 + 1600 0.16 0.028733792 -27.344066 222.16052 310.6743 -2218.1018 + 1650 0.165 0.028733788 -27.640017 225.28449 310.49671 -2218.1018 + 1700 0.17 0.028733803 -27.907241 226.37676 310.9389 -2218.1018 + 1750 0.175 0.028733828 -28.143477 226.31095 313.28034 -2218.1018 + 1800 0.18 0.028733833 -28.363397 226.43633 317.31668 -2218.1018 + 1850 0.185 0.028733811 -28.58153 227.36287 318.98645 -2218.1018 + 1900 0.19 0.028733796 -28.785208 228.39889 316.9972 -2218.1018 + 1950 0.195 0.028733826 -28.9724 228.84666 309.8027 -2218.1018 + 2000 0.2 0.02873386 -29.175039 228.918 297.88519 -2218.1018 +Loop time of 10.033 on 1 procs for 2000 steps with 500 atoms + +Performance: 1.722 ns/day, 13.935 hours/ns, 199.342 timesteps/s +99.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.909 | 3.909 | 3.909 | 0.0 | 38.96 +Neigh | 0.031031 | 0.031031 | 0.031031 | 0.0 | 0.31 +Comm | 0.046559 | 0.046559 | 0.046559 | 0.0 | 0.46 +Output | 2.4087 | 2.4087 | 2.4087 | 0.0 | 24.01 +Modify | 3.625 | 3.625 | 3.625 | 0.0 | 36.13 +Other | | 0.01268 | | | 0.13 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19508 ave 19508 max 19508 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 39016 ave 39016 max 39016 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 39016 +Ave neighs/atom = 78.032 +Neighbor list builds = 21 +Dangerous builds = 0 + + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:10 diff --git a/examples/SPIN/nickel/log.11May18.spin.nickel.g++.4 b/examples/SPIN/nickel/log.11May18.spin.nickel.g++.4 new file mode 100644 index 0000000000..373271459f --- /dev/null +++ b/examples/SPIN/nickel/log.11May18.spin.nickel.g++.4 @@ -0,0 +1,157 @@ +LAMMPS (11 May 2018) +# fcc nickel in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice fcc 3.524 +Lattice spacing in x,y,z = 3.524 3.524 3.524 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (17.62 17.62 17.62) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000523567 secs + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.69 + +set group all spin/random 31 0.63 + 500 settings made for spin/random +#set group all spin 0.63 0.0 0.0 1.0 +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Ni99.eam.alloy Ni +pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# compute and output options + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_emag temp v_tmag etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 50 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 2000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.90375 + ghost atom cutoff = 5.90375 + binsize = 2.95187, bins = 6 6 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.298 | 7.298 | 7.298 Mbytes +Step Time v_magnorm v_emag Temp v_tmag TotEng + 0 0 0.028733803 0.40997576 100.03408 -9550.1342 -2218.1018 + 50 0.005 0.028733805 0.25324083 98.741633 -15727.749 -2218.1018 + 100 0.01 0.028733812 -0.37320751 97.073875 11244.373 -2218.1018 + 150 0.015 0.028733819 -1.3971549 94.073447 3250.0517 -2218.1018 + 200 0.02 0.028733825 -2.7238372 89.419944 1838.752 -2218.1018 + 250 0.025 0.028733829 -4.2684428 84.07494 1304.3675 -2218.1018 + 300 0.03 0.028733824 -5.9636712 80.06368 1025.7815 -2218.1018 + 350 0.035 0.02873381 -7.7386326 79.366702 844.49729 -2218.1018 + 400 0.04 0.028733802 -9.5148059 83.052751 715.20758 -2218.1018 + 450 0.045 0.028733806 -11.234935 91.282747 621.75552 -2218.1018 + 500 0.05 0.02873381 -12.875184 103.49836 550.04479 -2218.1018 + 550 0.055 0.028733808 -14.413473 118.16526 495.70417 -2218.1018 + 600 0.06 0.028733803 -15.812466 132.83837 461.35805 -2218.1018 + 650 0.065 0.028733808 -17.061311 145.41049 444.38951 -2218.1018 + 700 0.07 0.028733818 -18.181903 154.83414 438.85866 -2218.1018 + 750 0.075 0.028733823 -19.176259 160.58645 436.90462 -2218.1018 + 800 0.08 0.028733825 -20.035157 163.02829 429.73193 -2218.1018 + 850 0.085 0.028733825 -20.806548 164.4197 419.73763 -2218.1018 + 900 0.09 0.028733829 -21.571419 167.8571 411.59699 -2218.1018 + 950 0.095 0.028733825 -22.365879 175.00875 402.66175 -2218.1018 + 1000 0.1 0.028733821 -23.133464 184.68305 391.05824 -2218.1018 + 1050 0.105 0.028733833 -23.770507 193.83795 379.23354 -2218.1018 + 1100 0.11 0.02873385 -24.249882 200.5039 372.08521 -2218.1018 + 1150 0.115 0.028733864 -24.630489 204.46984 367.92135 -2218.1018 + 1200 0.12 0.028733877 -24.956281 205.96624 363.72367 -2218.1018 + 1250 0.125 0.028733884 -25.227332 205.18503 361.09236 -2218.1018 + 1300 0.13 0.028733877 -25.43568 202.76969 359.10924 -2218.1018 + 1350 0.135 0.028733868 -25.588748 199.85462 358.69556 -2218.1018 + 1400 0.14 0.028733866 -25.723582 197.99165 360.27856 -2218.1018 + 1450 0.145 0.028733851 -25.866283 198.30283 360.46623 -2218.1018 + 1500 0.15 0.028733812 -26.014569 200.95517 354.66722 -2218.1018 + 1550 0.155 0.02873379 -26.192673 205.95485 348.37935 -2218.1018 + 1600 0.16 0.028733795 -26.444059 212.87557 345.53576 -2218.1018 + 1650 0.165 0.028733838 -26.75551 219.86449 338.9224 -2218.1018 + 1700 0.17 0.028733868 -27.068513 224.47868 327.81241 -2218.1018 + 1750 0.175 0.028733862 -27.344118 225.62318 319.85486 -2218.1018 + 1800 0.18 0.028733849 -27.57563 224.07463 320.07064 -2218.1018 + 1850 0.185 0.028733852 -27.774274 221.70618 323.12599 -2218.1018 + 1900 0.19 0.028733864 -27.967999 220.53947 322.9504 -2218.1018 + 1950 0.195 0.028733863 -28.173041 221.61407 318.63401 -2218.1018 + 2000 0.2 0.028733853 -28.362177 224.22281 310.55185 -2218.1018 +Loop time of 3.95094 on 4 procs for 2000 steps with 500 atoms + +Performance: 4.374 ns/day, 5.487 hours/ns, 506.208 timesteps/s +98.1% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.0289 | 1.0467 | 1.0811 | 2.0 | 26.49 +Neigh | 0.0079527 | 0.0081946 | 0.0084369 | 0.2 | 0.21 +Comm | 0.094456 | 0.13311 | 0.15138 | 6.2 | 3.37 +Output | 0.69702 | 0.71998 | 0.74483 | 2.1 | 18.22 +Modify | 2.0107 | 2.0383 | 2.0598 | 1.3 | 51.59 +Other | | 0.004668 | | | 0.12 + +Nlocal: 125 ave 132 max 120 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Nghost: 1099 ave 1104 max 1092 min +Histogram: 1 0 0 0 1 0 0 0 0 2 +Neighs: 4876.5 ave 5100 max 4721 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +FullNghs: 9753 ave 10296 max 9362 min +Histogram: 2 0 0 0 0 1 0 0 0 1 + +Total # of neighbors = 39012 +Ave neighs/atom = 78.024 +Neighbor list builds = 21 +Dangerous builds = 0 + + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:04 diff --git a/examples/SPIN/read_restart/in.spin.read_data b/examples/SPIN/read_restart/in.spin.read_data index 88a2dc7f0a..80de036661 100644 --- a/examples/SPIN/read_restart/in.spin.read_data +++ b/examples/SPIN/read_restart/in.spin.read_data @@ -6,12 +6,12 @@ atom_style spin # necessary for the serial algorithm (sametag) atom_modify map array -read_data ../examples/SPIN/read_restart/Norm_randXY_8x8x32.data +read_data Norm_randXY_8x8x32.data mass 1 58.93 pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 neighbor 1.0 bin diff --git a/examples/SPIN/read_restart/in.spin.restart b/examples/SPIN/read_restart/in.spin.restart index f44616ca42..a1198ccf93 100644 --- a/examples/SPIN/read_restart/in.spin.restart +++ b/examples/SPIN/read_restart/in.spin.restart @@ -15,7 +15,7 @@ read_restart restart_hcp_cobalt.equil mass 1 58.93 pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 neighbor 1.0 bin diff --git a/examples/SPIN/read_restart/log.11May18.spin.read_data.g++.1 b/examples/SPIN/read_restart/log.11May18.spin.read_data.g++.1 new file mode 100644 index 0000000000..405be50bd9 --- /dev/null +++ b/examples/SPIN/read_restart/log.11May18.spin.read_data.g++.1 @@ -0,0 +1,112 @@ +LAMMPS (11 May 2018) +units metal +dimension 3 +boundary p p p + +atom_style spin + +# necessary for the serial algorithm (sametag) +atom_modify map array +read_data Norm_randXY_8x8x32.data + orthogonal box = (0 0 0) to (28.32 28.32 113.28) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8192 atoms + +mass 1 58.93 + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 + +neighbor 1.0 bin +neigh_modify every 1 check no delay 0 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# define outputs and computes + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo 10 +thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo_modify format float %20.15g + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 10 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 100 +Neighbor list info ... + update every 1 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7.49954 + ghost atom cutoff = 7.49954 + binsize = 3.74977, bins = 8 8 31 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 18.68 | 18.68 | 18.68 Mbytes +Step Time v_magnorm v_emag v_tmag Temp TotEng + 0 0 0.980832325249102 -2984.9466433509 51.7121203365409 0 -38881.8459242429 + 10 0.001 0.980832325038224 -2984.94800197308 52.2550760237226 0.00128259392155095 -38881.8459243688 + 20 0.002 0.980832322622779 -2984.95196908579 53.4253029071033 0.0050206854169363 -38881.8459246487 + 30 0.003 0.980832317889283 -2984.95826684048 55.1488791221993 0.0109316238061975 -38881.8459250502 + 40 0.004 0.980832310888481 -2984.96649810512 57.3217709603901 0.0186091353316915 -38881.8459255204 + 50 0.005 0.980832301939686 -2984.97619813381 59.8271487572311 0.0275752699737783 -38881.8459260027 + 60 0.006 0.980832291654664 -2984.98688847988 62.5518654049861 0.0373348857300743 -38881.8459264498 + 70 0.007 0.980832280861627 -2984.99812400566 65.3978892661935 0.0474235455824994 -38881.845926824 + 80 0.008 0.980832270462785 -2985.00952679611 68.286219599829 0.0574425858114516 -38881.8459271072 + 90 0.009 0.980832261284587 -2985.02080458573 71.1539714621652 0.0670788260497413 -38881.8459272915 + 100 0.01 0.980832253960703 -2985.03175506188 73.9486358176052 0.0761100787140068 -38881.8459273845 +Loop time of 12.4286 on 1 procs for 100 steps with 8192 atoms + +Performance: 0.070 ns/day, 345.239 hours/ns, 8.046 timesteps/s +99.6% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.0123 | 4.0123 | 4.0123 | 0.0 | 32.28 +Neigh | 3.005 | 3.005 | 3.005 | 0.0 | 24.18 +Comm | 0.041798 | 0.041798 | 0.041798 | 0.0 | 0.34 +Output | 1.8465 | 1.8465 | 1.8465 | 0.0 | 14.86 +Modify | 3.5157 | 3.5157 | 3.5157 | 0.0 | 28.29 +Other | | 0.007261 | | | 0.06 + +Nlocal: 8192 ave 8192 max 8192 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 14621 ave 14621 max 14621 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 573440 ave 573440 max 573440 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 1.14688e+06 ave 1.14688e+06 max 1.14688e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1146880 +Ave neighs/atom = 140 +Neighbor list builds = 100 +Dangerous builds not checked + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:12 diff --git a/examples/SPIN/read_restart/log.11May18.spin.read_data.g++.4 b/examples/SPIN/read_restart/log.11May18.spin.read_data.g++.4 new file mode 100644 index 0000000000..56fed35307 --- /dev/null +++ b/examples/SPIN/read_restart/log.11May18.spin.read_data.g++.4 @@ -0,0 +1,112 @@ +LAMMPS (11 May 2018) +units metal +dimension 3 +boundary p p p + +atom_style spin + +# necessary for the serial algorithm (sametag) +atom_modify map array +read_data Norm_randXY_8x8x32.data + orthogonal box = (0 0 0) to (28.32 28.32 113.28) + 1 by 1 by 4 MPI processor grid + reading atoms ... + 8192 atoms + +mass 1 58.93 + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 + +neighbor 1.0 bin +neigh_modify every 1 check no delay 0 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# define outputs and computes + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo 10 +thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo_modify format float %20.15g + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 10 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 100 +Neighbor list info ... + update every 1 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7.49954 + ghost atom cutoff = 7.49954 + binsize = 3.74977, bins = 8 8 31 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.883 | 7.994 | 8.25 Mbytes +Step Time v_magnorm v_emag v_tmag Temp TotEng + 0 0 0.980832325249103 -2984.9466433509 51.7121203365411 0 -38881.8459242507 + 10 0.001 0.980832325329477 -2984.94800197307 52.2550778515409 0.00128259391683994 -38881.8459243698 + 20 0.002 0.980832324654401 -2984.95196908569 53.4253110612179 0.00502068532291255 -38881.8459246487 + 30 0.003 0.98083232312993 -2984.95826683995 55.148898005011 0.0109316232931419 -38881.84592505 + 40 0.004 0.980832320808156 -2984.9664981035 57.3218040934977 0.0186091337978305 -38881.8459255198 + 50 0.005 0.980832317596783 -2984.97619813016 59.827198436387 0.0275752665472358 -38881.8459260035 + 60 0.006 0.980832313514709 -2984.98688847322 62.5519331668858 0.037334879488755 -38881.84592645 + 70 0.007 0.980832309220414 -2984.99812399537 65.3979760533737 0.0474235360022736 -38881.8459268243 + 80 0.008 0.980832304490479 -2985.00952678209 68.2863250613635 0.0574425728014485 -38881.8459271068 + 90 0.009 0.980832299379824 -2985.02080456789 71.1540940309591 0.0670788096168283 -38881.8459272917 + 100 0.01 0.980832294622694 -2985.03175503971 73.9487734241296 0.0761100584457276 -38881.8459273851 +Loop time of 3.6612 on 4 procs for 100 steps with 8192 atoms + +Performance: 0.236 ns/day, 101.700 hours/ns, 27.313 timesteps/s +98.8% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.0622 | 1.076 | 1.0936 | 1.1 | 29.39 +Neigh | 0.77462 | 0.79542 | 0.81798 | 1.9 | 21.73 +Comm | 0.024701 | 0.066122 | 0.10261 | 11.1 | 1.81 +Output | 0.50304 | 0.51253 | 0.52111 | 0.9 | 14.00 +Modify | 1.2006 | 1.2082 | 1.2205 | 0.7 | 33.00 +Other | | 0.002962 | | | 0.08 + +Nlocal: 2048 ave 2095 max 1981 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Nghost: 5765 ave 5832 max 5718 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 143360 ave 146361 max 139058 min +Histogram: 1 0 0 0 0 0 1 1 0 1 +FullNghs: 286720 ave 293300 max 277340 min +Histogram: 1 0 0 0 0 0 2 0 0 1 + +Total # of neighbors = 1146880 +Ave neighs/atom = 140 +Neighbor list builds = 100 +Dangerous builds not checked + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:03 diff --git a/examples/SPIN/read_restart/log.11May18.spin.restart.g++.1 b/examples/SPIN/read_restart/log.11May18.spin.restart.g++.1 new file mode 100644 index 0000000000..16eb7c3f5e --- /dev/null +++ b/examples/SPIN/read_restart/log.11May18.spin.restart.g++.1 @@ -0,0 +1,117 @@ +LAMMPS (11 May 2018) +# start a spin-lattice simulation from a data file +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +read_restart restart_hcp_cobalt.equil + restoring atom style spin from restart + orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704) + 1 by 1 by 1 MPI processor grid + restoring pair style spin/exchange from restart + 500 atoms + +# setting mass, mag. moments, and interactions + +mass 1 58.93 + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 + +neighbor 1.0 bin +neigh_modify every 1 check no delay 0 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# define outputs + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo 10 +thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo_modify format float %20.15g + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 100 +Neighbor list info ... + update every 1 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7.49954 + ghost atom cutoff = 7.49954 + binsize = 3.74977, bins = 4 6 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.315 | 6.315 | 6.315 Mbytes +Step Time v_magnorm v_emag v_tmag Temp TotEng + 1000 0 0.106120063678768 -11.8110267448938 5244.87332482316 0 -2206.81097898043 + 1010 0.001 0.106120047478105 -11.8198467887534 5263.87502105137 0.136650312456579 -2206.81097929055 + 1020 0.002 0.106120026430373 -11.8460960518731 5267.29822866382 0.542282409605327 -2206.81098022997 + 1030 0.003 0.106120005015917 -11.8891434078861 5252.95323564256 1.204018338139 -2206.81098172551 + 1040 0.004 0.106119988532653 -11.9479778701641 5220.88508622311 2.10120884995911 -2206.81098371047 + 1050 0.005 0.10611998133687 -12.021242685853 5172.58549378915 3.20622445795757 -2206.81098610701 + 1060 0.006 0.10611998489458 -12.107271344148 5110.57395203849 4.48535975411235 -2206.81098879725 + 1070 0.007 0.106119996964771 -12.204156761765 5038.48903231346 5.9003121044977 -2206.81099161183 + 1080 0.008 0.106120013042521 -12.3098695046152 4961.0327167967 7.4104497466856 -2206.81099434653 + 1090 0.009 0.106120029236234 -12.4224157835754 4883.3210922213 8.97568980540163 -2206.81099680117 + 1100 0.01 0.106120044071404 -12.5400036896932 4809.88136080052 10.559459821976 -2206.81099883104 +Loop time of 0.833234 on 1 procs for 100 steps with 500 atoms + +Performance: 1.037 ns/day, 23.145 hours/ns, 120.014 timesteps/s +99.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.26558 | 0.26558 | 0.26558 | 0.0 | 31.87 +Neigh | 0.21352 | 0.21352 | 0.21352 | 0.0 | 25.62 +Comm | 0.0057988 | 0.0057988 | 0.0057988 | 0.0 | 0.70 +Output | 0.12463 | 0.12463 | 0.12463 | 0.0 | 14.96 +Modify | 0.22275 | 0.22275 | 0.22275 | 0.0 | 26.73 +Other | | 0.0009537 | | | 0.11 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2534 ave 2534 max 2534 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 36500 ave 36500 max 36500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 73000 ave 73000 max 73000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 73000 +Ave neighs/atom = 146 +Neighbor list builds = 100 +Dangerous builds not checked + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:00 diff --git a/examples/SPIN/read_restart/log.11May18.spin.restart.g++.4 b/examples/SPIN/read_restart/log.11May18.spin.restart.g++.4 new file mode 100644 index 0000000000..f93605a10a --- /dev/null +++ b/examples/SPIN/read_restart/log.11May18.spin.restart.g++.4 @@ -0,0 +1,118 @@ +LAMMPS (11 May 2018) +# start a spin-lattice simulation from a data file +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +read_restart restart_hcp_cobalt.equil +WARNING: Restart file used different # of processors (../read_restart.cpp:723) + restoring atom style spin from restart + orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704) + 1 by 2 by 2 MPI processor grid + restoring pair style spin/exchange from restart + 500 atoms + +# setting mass, mag. moments, and interactions + +mass 1 58.93 + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 + +neighbor 1.0 bin +neigh_modify every 1 check no delay 0 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# define outputs + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo 10 +thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo_modify format float %20.15g + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 100 +Neighbor list info ... + update every 1 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7.49954 + ghost atom cutoff = 7.49954 + binsize = 3.74977, bins = 4 6 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.203 | 6.203 | 6.203 Mbytes +Step Time v_magnorm v_emag v_tmag Temp TotEng + 1000 0 0.106120063678768 -11.8110267448939 5244.87332482316 0 -2206.81097898003 + 1010 0.001 0.106120030254187 -11.8198467883806 5263.87550015043 0.136650306637598 -2206.81097929055 + 1020 0.002 0.106119996655714 -11.8460960476455 5267.299198699 0.542282344092749 -2206.81098022997 + 1030 0.003 0.106119967407682 -11.8891433919665 5252.95473019843 1.20401809237154 -2206.81098172552 + 1040 0.004 0.106119960016585 -11.9479778326021 5220.88686874944 2.10120827278397 -2206.81098371049 + 1050 0.005 0.106119961252471 -12.0212426191481 5172.58712301374 3.20622343988728 -2206.81098610703 + 1060 0.006 0.106119967598995 -12.1072712483404 5110.57504803718 4.48535830705751 -2206.81098879724 + 1070 0.007 0.106119967669058 -12.2041566468564 5038.48927079832 5.90031039867811 -2206.81099161179 + 1080 0.008 0.106119969263395 -12.3098693905406 4961.03212459716 7.41044810751949 -2206.8109943465 + 1090 0.009 0.106119960964075 -12.4224156966204 4883.31968289062 8.97568865379831 -2206.81099680112 + 1100 0.01 0.106119945605273 -12.5400036591612 4809.87930844463 10.5594596175303 -2206.81099883101 +Loop time of 0.304678 on 4 procs for 100 steps with 500 atoms + +Performance: 2.836 ns/day, 8.463 hours/ns, 328.215 timesteps/s +98.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.071445 | 0.073018 | 0.074151 | 0.4 | 23.97 +Neigh | 0.054448 | 0.055709 | 0.057528 | 0.5 | 18.28 +Comm | 0.0061178 | 0.0074609 | 0.0090766 | 1.2 | 2.45 +Output | 0.037489 | 0.038586 | 0.039952 | 0.5 | 12.66 +Modify | 0.12826 | 0.12954 | 0.13065 | 0.3 | 42.52 +Other | | 0.0003686 | | | 0.12 + +Nlocal: 125 ave 129 max 120 min +Histogram: 1 0 0 0 1 0 0 1 0 1 +Nghost: 1387 ave 1392 max 1383 min +Histogram: 1 0 1 0 0 1 0 0 0 1 +Neighs: 9125 ave 9428 max 8740 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +FullNghs: 18250 ave 18834 max 17520 min +Histogram: 1 0 0 0 1 0 0 1 0 1 + +Total # of neighbors = 73000 +Ave neighs/atom = 146 +Neighbor list builds = 100 +Dangerous builds not checked + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:00 diff --git a/examples/SPIN/read_restart/log.11May18.spin.write_restart.g++.1 b/examples/SPIN/read_restart/log.11May18.spin.write_restart.g++.1 new file mode 100644 index 0000000000..c3be90cb50 --- /dev/null +++ b/examples/SPIN/read_restart/log.11May18.spin.write_restart.g++.1 @@ -0,0 +1,119 @@ +LAMMPS (11 May 2018) +# fcc cobalt in a 3d periodic box + +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice hcp 2.5071 +Lattice spacing in x,y,z = 2.5071 4.34242 4.09408 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.00027585 secs + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.93 + +set group all spin/random 31 1.72 + 500 settings made for spin/random + +pair_style spin/exchange 4.0 +pair_coeff * * exchange 4.0 0.3593 1.135028015e-05 1.064568567 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 100.0 0.01 21 + +fix 3 all nve/spin lattice no +timestep 0.0001 + +# compute and output options + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_emag temp etotal +thermo 100 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 4.1 + ghost atom cutoff = 4.1 + binsize = 2.05, bins = 7 11 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.446 | 6.446 | 6.446 Mbytes +Step Time v_magnorm v_emag Temp TotEng + 0 0 0.076558814 1.7982359 0 1.7982359 + 100 0.01 0.079107243 0.56368447 0 0.56368447 + 200 0.02 0.08225862 -0.42421042 0 -0.42421042 + 300 0.03 0.08397714 -1.4964948 0 -1.4964948 + 400 0.04 0.084704989 -2.6740652 0 -2.6740652 + 500 0.05 0.087486342 -4.2043382 0 -4.2043382 + 600 0.06 0.09187261 -5.6687169 0 -5.6687169 + 700 0.07 0.096925249 -6.937499 0 -6.937499 + 800 0.08 0.098988236 -8.2456715 0 -8.2456715 + 900 0.09 0.10434092 -10.111953 0 -10.111953 + 1000 0.1 0.10612006 -11.811027 0 -11.811027 +Loop time of 2.60215 on 1 procs for 1000 steps with 500 atoms + +Performance: 3.320 ns/day, 7.228 hours/ns, 384.297 timesteps/s +99.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.35178 | 0.35178 | 0.35178 | 0.0 | 13.52 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.014421 | 0.014421 | 0.014421 | 0.0 | 0.55 +Output | 1.2046 | 1.2046 | 1.2046 | 0.0 | 46.29 +Modify | 1.0274 | 1.0274 | 1.0274 | 0.0 | 39.48 +Other | | 0.004006 | | | 0.15 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1221 ave 1221 max 1221 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 10000 ave 10000 max 10000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 10000 +Ave neighs/atom = 20 +Neighbor list builds = 0 +Dangerous builds = 0 +write_restart restart_hcp_cobalt.equil + + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:02 diff --git a/examples/SPIN/read_restart/log.11May18.spin.write_restart.g++.4 b/examples/SPIN/read_restart/log.11May18.spin.write_restart.g++.4 new file mode 100644 index 0000000000..e54299b9dd --- /dev/null +++ b/examples/SPIN/read_restart/log.11May18.spin.write_restart.g++.4 @@ -0,0 +1,119 @@ +LAMMPS (11 May 2018) +# fcc cobalt in a 3d periodic box + +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice hcp 2.5071 +Lattice spacing in x,y,z = 2.5071 4.34242 4.09408 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000257969 secs + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.93 + +set group all spin/random 31 1.72 + 500 settings made for spin/random + +pair_style spin/exchange 4.0 +pair_coeff * * exchange 4.0 0.3593 1.135028015e-05 1.064568567 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 100.0 0.01 21 + +fix 3 all nve/spin lattice no +timestep 0.0001 + +# compute and output options + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_emag temp etotal +thermo 100 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 4.1 + ghost atom cutoff = 4.1 + binsize = 2.05, bins = 7 11 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.367 | 6.367 | 6.367 Mbytes +Step Time v_magnorm v_emag Temp TotEng + 0 0 0.076558814 1.7982359 0 1.7982359 + 100 0.01 0.081414414 0.70545723 0 0.70545723 + 200 0.02 0.084519539 -0.33171078 0 -0.33171078 + 300 0.03 0.089334139 -1.3988283 0 -1.3988283 + 400 0.04 0.092873722 -2.8519371 0 -2.8519371 + 500 0.05 0.0970839 -4.1531164 0 -4.1531164 + 600 0.06 0.099626132 -5.7993765 0 -5.7993765 + 700 0.07 0.10467169 -7.3011333 0 -7.3011333 + 800 0.08 0.10893493 -8.6918141 0 -8.6918141 + 900 0.09 0.11389657 -10.236174 0 -10.236174 + 1000 0.1 0.1180057 -11.896933 0 -11.896933 +Loop time of 1.05012 on 4 procs for 1000 steps with 500 atoms + +Performance: 8.228 ns/day, 2.917 hours/ns, 952.272 timesteps/s +98.1% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.08972 | 0.090456 | 0.091872 | 0.3 | 8.61 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.016958 | 0.018047 | 0.019791 | 0.8 | 1.72 +Output | 0.36286 | 0.37483 | 0.38975 | 1.6 | 35.69 +Modify | 0.55131 | 0.56541 | 0.57702 | 1.3 | 53.84 +Other | | 0.001374 | | | 0.13 + +Nlocal: 125 ave 125 max 125 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 597.5 ave 600 max 595 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 2500 ave 2500 max 2500 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 10000 +Ave neighs/atom = 20 +Neighbor list builds = 0 +Dangerous builds = 0 +write_restart restart_hcp_cobalt.equil + + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:01 -- GitLab From 3eed23d3f7c961db06b28559dfa80267d5b20c6d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Jun 2018 14:07:09 -0400 Subject: [PATCH 202/675] whitespace cleanup --- src/SPIN/pair_spin_magelec.cpp | 28 ++++++++++++++-------------- src/SPIN/pair_spin_neel.cpp | 32 ++++++++++++++++---------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp index b8ef9db609..e9e7c1fb3f 100644 --- a/src/SPIN/pair_spin_magelec.cpp +++ b/src/SPIN/pair_spin_magelec.cpp @@ -225,7 +225,7 @@ void PairSpinMagelec::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double **fm = atom->fm; - double **sp = atom->sp; + double **sp = atom->sp; int *type = atom->type; int nlocal = atom->nlocal; int newton_pair = force->newton_pair; @@ -281,32 +281,32 @@ void PairSpinMagelec::compute(int eflag, int vflag) // compute me interaction if (rsq <= local_cut2) { - compute_magelec(i,j,rsq,eij,fmi,spj); - if (lattice_flag) { - compute_magelec_mech(i,j,fi,spi,spj); - } + compute_magelec(i,j,rsq,eij,fmi,spj); + if (lattice_flag) { + compute_magelec_mech(i,j,fi,spi,spj); + } } - f[i][0] += fi[0]; - f[i][1] += fi[1]; + f[i][0] += fi[0]; + f[i][1] += fi[1]; f[i][2] += fi[2]; - fm[i][0] += fmi[0]; - fm[i][1] += fmi[1]; + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; if (newton_pair || j < nlocal) { - f[j][0] -= fi[0]; - f[j][1] -= fi[1]; + f[j][0] -= fi[0]; + f[j][1] -= fi[1]; f[j][2] -= fi[2]; } if (eflag) { - evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); - evdwl *= hbar; + evdwl = (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + evdwl *= hbar; } else evdwl = 0.0; if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, - evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); } } diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index 0160d8a69b..d74db638bd 100644 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -94,8 +94,8 @@ void PairSpinNeel::settings(int narg, char **arg) int i,j; for (i = 1; i <= atom->ntypes; i++) { for (j = i+1; j <= atom->ntypes; j++) { - if (setflag[i][j]) { - cut_spin_neel[i][j] = cut_spin_neel_global; + if (setflag[i][j]) { + cut_spin_neel[i][j] = cut_spin_neel_global; } } } @@ -230,7 +230,7 @@ void PairSpinNeel::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double **fm = atom->fm; - double **sp = atom->sp; + double **sp = atom->sp; int *type = atom->type; int nlocal = atom->nlocal; int newton_pair = force->newton_pair; @@ -289,32 +289,32 @@ void PairSpinNeel::compute(int eflag, int vflag) // compute neel interaction if (rsq <= local_cut2) { - compute_neel(i,j,rsq,eij,fmi,spi,spj); - if (lattice_flag) { - compute_neel_mech(i,j,rsq,eij,fi,spi,spj); - } + compute_neel(i,j,rsq,eij,fmi,spi,spj); + if (lattice_flag) { + compute_neel_mech(i,j,rsq,eij,fi,spi,spj); + } } - f[i][0] += fi[0]; - f[i][1] += fi[1]; + f[i][0] += fi[0]; + f[i][1] += fi[1]; f[i][2] += fi[2]; - fm[i][0] += fmi[0]; - fm[i][1] += fmi[1]; + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; if (newton_pair || j < nlocal) { - f[j][0] -= fi[0]; - f[j][1] -= fi[1]; + f[j][0] -= fi[0]; + f[j][1] -= fi[1]; f[j][2] -= fi[2]; } if (eflag) { - evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); - evdwl *= hbar; + evdwl = (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + evdwl *= hbar; } else evdwl = 0.0; if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, - evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); } } -- GitLab From 58559d9e62ff2285aee793bd2fe12a73fc2573fd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Jun 2018 14:08:54 -0400 Subject: [PATCH 203/675] update src/.gitignor for SPIN package sources --- src/.gitignore | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/.gitignore b/src/.gitignore index 3ae05079d2..92933ce5ee 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -130,6 +130,27 @@ /pair_lj_charmmfsw_coul_long.cpp /pair_lj_charmmfsw_coul_long.h +/atom_vec_spin.cpp +/atom_vec_spin.h +/compute_spin.cpp +/compute_spin.h +/fix_langevin_spin.cpp +/fix_langevin_spin.h +/fix_nve_spin.cpp +/fix_nve_spin.h +/fix_precession_spin.cpp +/fix_precession_spin.h +/pair_spin.cpp +/pair_spin.h +/pair_spin_dmi.cpp +/pair_spin_dmi.h +/pair_spin_exchange.cpp +/pair_spin_exchange.h +/pair_spin_magelec.cpp +/pair_spin_magelec.h +/pair_spin_neel.cpp +/pair_spin_neel.h + /angle_cg_cmm.cpp /angle_cg_cmm.h /angle_charmm.cpp -- GitLab From 7ffab9a2285016ac95fa1f3eb7c6f468c239c952 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Wed, 27 Jun 2018 13:22:22 -0600 Subject: [PATCH 204/675] cmake: added INJECT_KNL_FLAG option --- cmake/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 2bbc316902..1ced9e140f 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -642,6 +642,10 @@ if(PKG_USER-INTEL) message(FATAL_ERROR "USER-INTEL is needed at least 2016 intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}") endif() endif() + option(INJECT_KNL_FLAG "Inject flags for KNL build" OFF) + if(INJECT_KNL_FLAG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xMIC-AVX512") + endif() option(INJECT_INTEL_FLAG "Inject OMG fast flags for USER-INTEL" ON) if(INJECT_INTEL_FLAG AND CMAKE_CXX_COMPILER_ID STREQUAL "Intel") if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4) -- GitLab From 868f5711a29dcf5145957671e9b4b910d1c035aa Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Wed, 27 Jun 2018 13:23:35 -0600 Subject: [PATCH 205/675] cmake: fix summary for GPU --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 1ced9e140f..1e7b220772 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -944,7 +944,7 @@ message(STATUS "Link libraries: ${LAMMPS_LINK_LIBS}") if(BUILD_MPI) message(STATUS "Using mpi with headers in ${MPI_CXX_INCLUDE_PATH} and ${MPI_CXX_LIBRARIES}") endif() -if(ENABLED_GPU) +if(PKG_GPU) message(STATUS "GPU Api: ${GPU_API}") if(GPU_API STREQUAL "CUDA") message(STATUS "GPU Arch: ${GPU_ARCH}") -- GitLab From 9353569d302db637e3389dc5ce7658dde0c285f9 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Wed, 27 Jun 2018 13:25:56 -0600 Subject: [PATCH 206/675] cmake: add KOKKOS_ARCH to summary --- cmake/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 1e7b220772..5f665e2945 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -953,6 +953,9 @@ if(PKG_GPU) endif() message(STATUS "GPU Precision: ${GPU_PREC}") endif() +if(PKG_KOKKOS) + message(STATUS "Kokkos Arch: ${KOKKOS_ARCH}") +endif() if(PKG_KSPACE) message(STATUS "Using ${FFT} as FFT") endif() -- GitLab From 38cdc1828dd88fafdf994ae7748d4183f91008b7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Jun 2018 15:29:24 -0400 Subject: [PATCH 207/675] insert spin package into make and cmake build system --- cmake/CMakeLists.txt | 2 +- src/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 7ce7ca23e1..a864f1d077 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -113,7 +113,7 @@ endif(ENABLE_TESTING) option(ENABLE_ALL "Build all default packages" OFF) set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ - REAX REPLICA RIGID SHOCK SNAP SRD) + REAX REPLICA RIGID SHOCK SNAP SPIN SRD) set(OTHER_PACKAGES KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF diff --git a/src/Makefile b/src/Makefile index d17a2ccbd9..2cffe23fe7 100644 --- a/src/Makefile +++ b/src/Makefile @@ -55,7 +55,7 @@ endif PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ granular kim kokkos kspace latte manybody mc meam misc \ molecule mpiio mscg opt peri poems \ - python qeq reax replica rigid shock snap srd voronoi + python qeq reax replica rigid shock snap spin srd voronoi PACKUSER = user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \ user-diffraction user-dpd user-drude user-eff user-fep user-h5md \ -- GitLab From 8f4b7161c5a3aac92202798712d42bfb813354c0 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Wed, 27 Jun 2018 14:12:34 -0600 Subject: [PATCH 208/675] README: add cmake --- README | 1 + 1 file changed, 1 insertion(+) diff --git a/README b/README index a258a335e9..3a4a865eb5 100644 --- a/README +++ b/README @@ -25,6 +25,7 @@ The LAMMPS distribution includes the following files and directories: README this file LICENSE the GNU General Public License (GPL) bench benchmark problems +cmake cmake buildsystem couple code coupling examples using LAMMPS as a library doc documentation examples simple test problems -- GitLab From 20fe0cd9d07421b6e14112d1ad91de53f4f45f36 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 27 Jun 2018 16:41:10 -0400 Subject: [PATCH 209/675] Define CMake presets --- cmake/CMakeLists.txt | 3 +- cmake/presets/all_off.cmake | 22 +++++++++ cmake/presets/all_on.cmake | 22 +++++++++ cmake/presets/manual_selection.cmake | 69 ++++++++++++++++++++++++++++ cmake/presets/nolib.cmake | 22 +++++++++ cmake/presets/std.cmake | 22 +++++++++ cmake/presets/std_nolib.cmake | 26 +++++++++++ cmake/presets/user.cmake | 22 +++++++++ 8 files changed, 206 insertions(+), 2 deletions(-) create mode 100644 cmake/presets/all_off.cmake create mode 100644 cmake/presets/all_on.cmake create mode 100644 cmake/presets/manual_selection.cmake create mode 100644 cmake/presets/nolib.cmake create mode 100644 cmake/presets/std.cmake create mode 100644 cmake/presets/std_nolib.cmake create mode 100644 cmake/presets/user.cmake diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 7e4fd690e9..e58d15e47b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -115,7 +115,6 @@ if(ENABLE_TESTING) enable_testing() endif(ENABLE_TESTING) -option(ENABLE_ALL "Build all default packages" OFF) set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ REAX REPLICA RIGID SHOCK SNAP SRD) @@ -127,7 +126,7 @@ set(OTHER_PACKAGES KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM) set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU) foreach(PKG ${DEFAULT_PACKAGES}) - option(PKG_${PKG} "Build ${PKG} Package" ${ENABLE_ALL}) + option(PKG_${PKG} "Build ${PKG} Package" OFF) endforeach() foreach(PKG ${ACCEL_PACKAGES} ${OTHER_PACKAGES}) option(PKG_${PKG} "Build ${PKG} Package" OFF) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake new file mode 100644 index 0000000000..f7e90ddbb4 --- /dev/null +++ b/cmake/presets/all_off.cmake @@ -0,0 +1,22 @@ +set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU + GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC + MOLECULE MPIIO MSCG OPT PERI POEMS + PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI) + +set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS + USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD + USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO + USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE + USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB + USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY + USER-UEF USER-VTK) + +set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI + USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE + USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK) + +set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES}) + +foreach(PKG ${ALL_PACKAGES}) + set(PKG_${PKG} OFF CACHE BOOL "" FORCE) +endforeach() diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake new file mode 100644 index 0000000000..2c6f67904e --- /dev/null +++ b/cmake/presets/all_on.cmake @@ -0,0 +1,22 @@ +set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU + GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC + MOLECULE MPIIO MSCG OPT PERI POEMS + PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI) + +set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS + USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD + USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO + USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE + USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB + USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY + USER-UEF USER-VTK) + +set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI + USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE + USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK) + +set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES}) + +foreach(PKG ${ALL_PACKAGES}) + set(PKG_${PKG} ON CACHE BOOL "" FORCE) +endforeach() diff --git a/cmake/presets/manual_selection.cmake b/cmake/presets/manual_selection.cmake new file mode 100644 index 0000000000..6c03d983f6 --- /dev/null +++ b/cmake/presets/manual_selection.cmake @@ -0,0 +1,69 @@ +set(PKG_ASPHERE OFF CACHE BOOL "" FORCE) +set(PKG_BODY OFF CACHE BOOL "" FORCE) +set(PKG_CLASS2 OFF CACHE BOOL "" FORCE) +set(PKG_COLLOID OFF CACHE BOOL "" FORCE) +set(PKG_COMPRESS OFF CACHE BOOL "" FORCE) +set(PKG_CORESHELL OFF CACHE BOOL "" FORCE) +set(PKG_DIPOLE OFF CACHE BOOL "" FORCE) +set(PKG_GPU OFF CACHE BOOL "" FORCE) +set(PKG_GRANULAR OFF CACHE BOOL "" FORCE) +set(PKG_KIM OFF CACHE BOOL "" FORCE) +set(PKG_KOKKOS OFF CACHE BOOL "" FORCE) +set(PKG_KSPACE OFF CACHE BOOL "" FORCE) +set(PKG_LATTE OFF CACHE BOOL "" FORCE) +set(PKG_LIB OFF CACHE BOOL "" FORCE) +set(PKG_MANYBODY OFF CACHE BOOL "" FORCE) +set(PKG_MC OFF CACHE BOOL "" FORCE) +set(PKG_MEAM OFF CACHE BOOL "" FORCE) +set(PKG_MISC OFF CACHE BOOL "" FORCE) +set(PKG_MOLECULE OFF CACHE BOOL "" FORCE) +set(PKG_MPIIO OFF CACHE BOOL "" FORCE) +set(PKG_MSCG OFF CACHE BOOL "" FORCE) +set(PKG_OPT OFF CACHE BOOL "" FORCE) +set(PKG_PERI OFF CACHE BOOL "" FORCE) +set(PKG_POEMS OFF CACHE BOOL "" FORCE) +set(PKG_PYTHOFF OFF CACHE BOOL "" FORCE) +set(PKG_QEQ OFF CACHE BOOL "" FORCE) +set(PKG_REAX OFF CACHE BOOL "" FORCE) +set(PKG_REPLICA OFF CACHE BOOL "" FORCE) +set(PKG_RIGID OFF CACHE BOOL "" FORCE) +set(PKG_SHOCK OFF CACHE BOOL "" FORCE) +set(PKG_SNAP OFF CACHE BOOL "" FORCE) +set(PKG_SRD OFF CACHE BOOL "" FORCE) +set(PKG_VOROFFOI OFF CACHE BOOL "" FORCE) + +set(PKG_USER OFF CACHE BOOL "" FORCE) +set(PKG_USER-ATC OFF CACHE BOOL "" FORCE) +set(PKG_USER-AWPMD OFF CACHE BOOL "" FORCE) +set(PKG_USER-BOCS OFF CACHE BOOL "" FORCE) +set(PKG_USER-CGDNA OFF CACHE BOOL "" FORCE) +set(PKG_USER-CGSDK OFF CACHE BOOL "" FORCE) +set(PKG_USER-COLVARS OFF CACHE BOOL "" FORCE) +set(PKG_USER-DIFFRACTIOFF OFF CACHE BOOL "" FORCE) +set(PKG_USER-DPD OFF CACHE BOOL "" FORCE) +set(PKG_USER-DRUDE OFF CACHE BOOL "" FORCE) +set(PKG_USER-EFF OFF CACHE BOOL "" FORCE) +set(PKG_USER-FEP OFF CACHE BOOL "" FORCE) +set(PKG_USER-H5MD OFF CACHE BOOL "" FORCE) +set(PKG_USER-INTEL OFF CACHE BOOL "" FORCE) +set(PKG_USER-LB OFF CACHE BOOL "" FORCE) +set(PKG_USER-MANIFOLD OFF CACHE BOOL "" FORCE) +set(PKG_USER-MEAMC OFF CACHE BOOL "" FORCE) +set(PKG_USER-MESO OFF CACHE BOOL "" FORCE) +set(PKG_USER-MGPT OFF CACHE BOOL "" FORCE) +set(PKG_USER-MISC OFF CACHE BOOL "" FORCE) +set(PKG_USER-MOFFF OFF CACHE BOOL "" FORCE) +set(PKG_USER-MOLFILE OFF CACHE BOOL "" FORCE) +set(PKG_USER-NETCDF OFF CACHE BOOL "" FORCE) +set(PKG_USER-OMP OFF CACHE BOOL "" FORCE) +set(PKG_USER-PHOFFOFF OFF CACHE BOOL "" FORCE) +set(PKG_USER-QMMM OFF CACHE BOOL "" FORCE) +set(PKG_USER-QTB OFF CACHE BOOL "" FORCE) +set(PKG_USER-QUIP OFF CACHE BOOL "" FORCE) +set(PKG_USER-REAXC OFF CACHE BOOL "" FORCE) +set(PKG_USER-SMD OFF CACHE BOOL "" FORCE) +set(PKG_USER-SMTBQ OFF CACHE BOOL "" FORCE) +set(PKG_USER-SPH OFF CACHE BOOL "" FORCE) +set(PKG_USER-TALLY OFF CACHE BOOL "" FORCE) +set(PKG_USER-UEF OFF CACHE BOOL "" FORCE) +set(PKG_USER-VTK OFF CACHE BOOL "" FORCE) diff --git a/cmake/presets/nolib.cmake b/cmake/presets/nolib.cmake new file mode 100644 index 0000000000..cd603aa804 --- /dev/null +++ b/cmake/presets/nolib.cmake @@ -0,0 +1,22 @@ +set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU + GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC + MOLECULE MPIIO MSCG OPT PERI POEMS + PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI) + +set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS + USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD + USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO + USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE + USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB + USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY + USER-UEF USER-VTK) + +set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI + USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE + USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK) + +set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES}) + +foreach(PKG ${PACKAGES_WITH_LIB}) + set(PKG_${PKG} OFF CACHE BOOL "" FORCE) +endforeach() diff --git a/cmake/presets/std.cmake b/cmake/presets/std.cmake new file mode 100644 index 0000000000..36da897957 --- /dev/null +++ b/cmake/presets/std.cmake @@ -0,0 +1,22 @@ +set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU + GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC + MOLECULE MPIIO MSCG OPT PERI POEMS + PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI) + +set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS + USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD + USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO + USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE + USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB + USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY + USER-UEF USER-VTK) + +set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI + USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE + USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK) + +set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES}) + +foreach(PKG ${STANDARD_PACKAGES}) + set(PKG_${PKG} ON CACHE BOOL "" FORCE) +endforeach() diff --git a/cmake/presets/std_nolib.cmake b/cmake/presets/std_nolib.cmake new file mode 100644 index 0000000000..9bffefcbe0 --- /dev/null +++ b/cmake/presets/std_nolib.cmake @@ -0,0 +1,26 @@ +set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU + GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC + MOLECULE MPIIO MSCG OPT PERI POEMS + PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI) + +set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS + USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD + USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO + USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE + USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB + USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY + USER-UEF USER-VTK) + +set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI + USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE + USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK) + +set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES}) + +foreach(PKG ${STANDARD_PACKAGES}) + set(PKG_${PKG} ON CACHE BOOL "" FORCE) +endforeach() + +foreach(PKG ${PACKAGES_WITH_LIB}) + set(PKG_${PKG} OFF CACHE BOOL "" FORCE) +endforeach() diff --git a/cmake/presets/user.cmake b/cmake/presets/user.cmake new file mode 100644 index 0000000000..cb81b67558 --- /dev/null +++ b/cmake/presets/user.cmake @@ -0,0 +1,22 @@ +set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU + GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC + MOLECULE MPIIO MSCG OPT PERI POEMS + PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI) + +set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS + USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD + USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO + USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE + USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB + USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY + USER-UEF USER-VTK) + +set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI + USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE + USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK) + +set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES}) + +foreach(PKG ${USER_PACKAGES}) + set(PKG_${PKG} ON CACHE BOOL "" FORCE) +endforeach() -- GitLab From 08552fefe937ad08f2fc77b49ad3c0b74ddb74cc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Jun 2018 16:52:28 -0400 Subject: [PATCH 210/675] add md5 checksum support to Install.py for LATTE --- lib/latte/Install.py | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/lib/latte/Install.py b/lib/latte/Install.py index b9500a8996..e1ed9d4eaa 100644 --- a/lib/latte/Install.py +++ b/lib/latte/Install.py @@ -4,7 +4,7 @@ # used to automate the steps described in the README file in this dir from __future__ import print_function -import sys,os,re,subprocess +import sys,os,re,subprocess,hashlib # help message @@ -24,7 +24,7 @@ specify one or more options, order does not matter -b = download and build the LATTE library -p = specify folder of existing LATTE installation -m = copy Makefile.lammps.suffix to Makefile.lammps - -v = set version of LATTE library to download and set up (default = 1.1.1) + -v = set version of LATTE library to download and set up (default = 1.2.1) Example: @@ -36,6 +36,13 @@ make lib-latte args="-p $HOME/latte" # use existing LATTE installation version = '1.2.1' +# known checksums for different LATTE versions. used to validate the download. +checksums = { \ + '1.1.0' : '533635721ee222d0ed2925a18fb5b294', \ + '1.2.0' : '68bf0db879da5e068a71281020239ae7', \ + '1.2.1' : 'bed76e7e76c545c36dd848a8f1fd35eb' \ + } + # print error message or help def error(str=None): @@ -91,6 +98,17 @@ def geturl(url,fname): error("Failed to download source code with 'curl' or 'wget'") return +def checkmd5sum(md5sum,fname): + with open(fname,'rb') as fh: + m = hashlib.md5() + while True: + data = fh.read(81920) + if not data: + break + m.update(data) + fh.close() + return m.hexdigest() == md5sum + # parse args args = sys.argv[1:] @@ -144,6 +162,11 @@ if buildflag: print("Downloading LATTE ...") geturl(url,"LATTE.tar.gz") + # verify downloaded archive integrity via md5 checksum, if known. + if version in checksums: + if not checkmd5sum(checksums[version],'LATTE.tar.gz'): + error("Checksum for LATTE library does not match") + print("Unpacking LATTE ...") if os.path.exists(lattedir): cmd = 'rm -rf "%s"' % lattedir @@ -162,7 +185,7 @@ if buildflag: # create 3 links in lib/latte to LATTE dirs # do this -b or -p is set - + if buildflag or pathflag: print("Creating links to LATTE files") if os.path.isfile("includelink") or os.path.islink("includelink"): -- GitLab From 75aacfd17fbe09c74c7120e362a8e2e6e09483bc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Jun 2018 16:58:58 -0400 Subject: [PATCH 211/675] add explanation comment to ABIVERSION define --- src/LATTE/fix_latte.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/LATTE/fix_latte.cpp b/src/LATTE/fix_latte.cpp index 37205040e2..9db236399d 100644 --- a/src/LATTE/fix_latte.cpp +++ b/src/LATTE/fix_latte.cpp @@ -42,6 +42,12 @@ extern "C" { int latte_abiversion(); } +// the ABIVERSION number here must be kept consistent +// with its counterpart in the LATTE library and the +// prototype above. We want to catch mismatches with +// a meaningful error messages, as they can cause +// difficult to debug crashes or memory corruption. + #define ABIVERSION 20180622 #define INVOKED_PERATOM 8 -- GitLab From fc3694189ede9d3f43b27b26e210e421b46931c7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Jun 2018 17:01:49 -0400 Subject: [PATCH 212/675] update CODEOWNERS file for LATTE --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b145a3178f..75b79443c3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -16,6 +16,7 @@ src/COMPRESS/* @akohlmey src/GPU/* @ndtrung81 src/KOKKOS/* @stanmoore1 src/KIM/* @ellio167 +src/LATTE/* @cnegre src/USER-CGDNA/* @ohenrich src/USER-CGSDK/* @akohlmey src/USER-COLVARS/* @giacomofiorin -- GitLab From a2b250712111f9296ea13a038cac7953b3998753 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Wed, 27 Jun 2018 19:02:10 -0600 Subject: [PATCH 213/675] cmake: remove ENABLE_ALL option --- cmake/CMakeLists.txt | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 5f665e2945..3aba9dced7 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -131,21 +131,15 @@ if(ENABLE_TESTING) enable_testing() endif(ENABLE_TESTING) -option(ENABLE_ALL "Build all default packages" OFF) set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR - KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ - REAX REPLICA RIGID SHOCK SNAP SRD) -set(OTHER_PACKAGES KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE - USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO - USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF + KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ REAX REPLICA RIGID SHOCK SNAP SRD + KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS USER-CGDNA + USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM) set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU) -foreach(PKG ${DEFAULT_PACKAGES}) - option(PKG_${PKG} "Build ${PKG} Package" ${ENABLE_ALL}) -endforeach() -foreach(PKG ${ACCEL_PACKAGES} ${OTHER_PACKAGES}) +foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES}) option(PKG_${PKG} "Build ${PKG} Package" OFF) endforeach() @@ -481,7 +475,7 @@ RegisterStyles(${LAMMPS_SOURCE_DIR}) ############################################## # add sources of enabled packages ############################################ -foreach(PKG ${DEFAULT_PACKAGES} ${OTHER_PACKAGES}) +foreach(PKG ${DEFAULT_PACKAGES}) set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG}) # ignore PKG files which were manually installed in src folder @@ -897,7 +891,7 @@ endif() ############################################################################### # Print package summary ############################################################################### -foreach(PKG ${DEFAULT_PACKAGES} ${OTHER_PACKAGES} ${ACCEL_PACKAGES}) +foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES}) if(PKG_${PKG}) message(STATUS "Building package: ${PKG}") endif() -- GitLab From 23fb0370a9ae3c8c16e6c4476a6ac04a8b23bf9e Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 28 Jun 2018 00:39:24 -0400 Subject: [PATCH 214/675] Update CMake documentation --- cmake/README.md | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/cmake/README.md b/cmake/README.md index 8a582d82d9..462afcacb2 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -22,6 +22,7 @@ tasks, act as a reference and provide examples of typical use cases. * [Building LAMMPS using cmake](#building-lammps-using-cmake-1) * [Prerequisites](#prerequisites) * [Build directory vs. Source Directory](#build-directory-vs-source-directory) + * [Defining and using presets](#defining-and-using-presets) * [Reference](#reference) * [Common CMAKE Configuration Options](#common-cmake-configuration-options) * [LAMMPS Configuration Options](#lammps-configuration-options) @@ -150,6 +151,30 @@ build directory. ``` make ``` +# Defining and using presets + +The CMake build exposes a lot of different options. In the old build system +some of the package selections were possible by using special make target like +`make yes-std` or `make no-lib`. Achieving the same result with cmake requires +specifying all options manually. This can quickly become a very long command +line that is hard to handle. While these could be stored in a simple script +file, there is another way of defining "presets" to compile LAMMPS in a certain +way. + +A preset is a regular CMake script file that can use constructs such as +variables, lists and for-loops to manipulate configuration options. Options +must be set with the `CACHE` and `FORCE` flag to ensure they are considered. + +Such a file can then be passed to cmake via the `-C` flag to initialize the +cache. Several examples of such presets can be found in the `cmake/presets` +folder. + +```bash +# build LAMMPS with all "standard" packages which don't use libraries and enable GPU package +mkdir build +cd build +cmake -C ../cmake/presets/std_nolib.cmake ../cmake -DPKG_GPU=on +``` # Reference @@ -374,16 +399,6 @@ make - - ENABLE_ALL - Enable all default packages - -
      -
      off (default)
      -
      on
      -
      - - PKG_ASPHERE Computes, time-integration fixes, and pair styles for aspherical particle models including ellipsoids, 2d lines, and 3d triangles. -- GitLab From 7abc960d3932d1cbbb495aa315077df810fb4dd4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 28 Jun 2018 08:18:35 -0400 Subject: [PATCH 215/675] import moltemplate 2.8.6 from andrew jewett --- tools/moltemplate/.gitignore | 180 + tools/moltemplate/README.md | 10 +- tools/moltemplate/doc/moltemplate_manual.pdf | Bin 760231 -> 764320 bytes .../{2bead_residue.jpg => 2bead_monomer.jpg} | Bin .../{2bead_peptide.jpg => 2bead_polymer.jpg} | Bin ...LR.jpg => 2bead_polymers_nopbc_t=0_LR.jpg} | Bin ...s_LR.jpg => 2bead_polymers_t=100ps_LR.jpg} | Bin ...l_complex+mol_complex0_transparent_LR.jpg} | Bin .../{dimer_LR.jpg => mol_complex_LR.jpg} | Bin .../moltemplate_manual.tex | 654 +- .../moltemplate/doc/utils/docs_genpoly_lt.txt | 30 +- .../benzene/moltemplate_files/benzene.lt | 24 +- .../ethylene+benzene/README_visualize.txt | 4 +- .../ethylene+benzene_50bar_t=100000_LR.jpg | Bin 0 -> 36911 bytes .../ethylene+benzene_box80x80x80_LR.jpg | Bin 130048 -> 0 bytes .../images/ethylene+benzene_t=0_LR.jpg | Bin 0 -> 52598 bytes .../moltemplate_files/benzene.lt | 25 +- .../moltemplate_files/system.lt | 25 +- .../ethylene+benzene/run.in.nvt | 2 +- .../all_atom/force_field_COMPASS/WARNING.txt | 38 + .../alkane_chain_single/README.txt | 37 + .../README_remove_irrelevant_info.sh | 8 + .../alkane_chain_single/README_run.sh | 34 + .../alkane_chain_single/README_setup.sh | 34 + .../alkane_chain_single/README_visualize.txt | 87 + .../alkane_chain_single/images/ch2_ry90.jpg | Bin 0 -> 4680 bytes .../alkane_chain_single/images/ch3_ry60.jpg | Bin 0 -> 6951 bytes .../alkane_chain_single/images/t=0.jpg | Bin 0 -> 51583 bytes .../alkane_chain_single/images/t=1ns.jpg | Bin 0 -> 60111 bytes .../moltemplate_files/alkane50.lt | 137 + .../moltemplate_files/ch2group.lt | 76 + .../moltemplate_files/ch3group.lt | 78 + .../moltemplate_files/system.lt | 30 + .../alkane_chain_single/run.in.min | 37 + .../alkane_chain_single/run.in.nvt | 38 + .../force_field_COMPASS/butane/README.txt | 37 + .../butane/README_remove_irrelevant_info.sh | 8 + .../force_field_COMPASS/butane/README_run.sh | 34 + .../butane/README_setup.sh | 34 + .../butane/README_visualize.txt | 87 + .../after_pressure_equilibration_LR.jpg | Bin 0 -> 28251 bytes .../butane/images/butane.jpg | Bin 0 -> 4606 bytes .../butane/images/ch2_ry90.jpg | Bin 0 -> 4680 bytes .../butane/images/ch3_ry60.jpg | Bin 0 -> 3161 bytes .../images/initial_configuration_LR.jpg | Bin 0 -> 29167 bytes .../butane/moltemplate_files/butane.lt | 39 + .../butane/moltemplate_files/ch2group.lt | 71 + .../butane/moltemplate_files/ch3group.lt | 70 + .../butane/moltemplate_files/system.lt | 24 + .../force_field_COMPASS/butane/run.in.npt | 103 + .../force_field_COMPASS/butane/run.in.nvt | 45 + .../force_field_COMPASS/hexadecane/README.txt | 42 + .../README_remove_irrelevant_info.sh | 8 + .../hexadecane/README_run.sh | 21 + .../hexadecane/README_setup.sh | 34 + .../hexadecane/README_visualize.txt | 87 + .../hexadecane/WARNING.txt | 13 + .../images/hexadecane_12x12x2_t=0_LR.jpg | Bin 0 -> 27017 bytes .../hexadecane_12x12x2_t=10ps_npt_LR.jpg | Bin 0 -> 36181 bytes .../hexadecane/images/hexadecane_LR.jpg | Bin 0 -> 8118 bytes .../hexadecane/moltemplate_files/ch2group.lt | 70 + .../hexadecane/moltemplate_files/ch3group.lt | 70 + .../moltemplate_files/hexadecane.lt | 79 + .../hexadecane/moltemplate_files/system.lt | 20 + .../force_field_COMPASS/hexadecane/run.in.npt | 102 + .../force_field_COMPASS/hexadecane/run.in.nvt | 45 + .../force_field_OPLSAA/butane/README.txt | 37 + .../butane/README_remove_irrelevant_info.sh | 8 + .../force_field_OPLSAA/butane/README_run.sh | 34 + .../force_field_OPLSAA/butane/README_setup.sh | 34 + .../butane/README_visualize.txt | 87 + .../after_pressure_equilibration_LR.jpg | Bin 0 -> 28251 bytes .../butane/images/butane.jpg | Bin 0 -> 5146 bytes .../butane/images/ch2_ry90.jpg | Bin 0 -> 4680 bytes .../butane/images/ch3_ry60.jpg | Bin 0 -> 6951 bytes .../images/initial_configuration_LR.jpg | Bin 0 -> 29167 bytes .../butane/moltemplate_files/butane.lt | 42 + .../butane/moltemplate_files/ch2group.lt | 67 + .../butane/moltemplate_files/ch3group.lt | 69 + .../butane/moltemplate_files/system.lt | 25 + .../force_field_OPLSAA/butane/run.in.npt | 103 + .../force_field_OPLSAA/butane/run.in.nvt | 45 + .../ethylene+benzene/README.txt | 3 - .../ethylene+benzene/README_visualize.txt | 4 +- .../ethylene+benzene_50bar_t=100000_LR.jpg | Bin 0 -> 36911 bytes .../ethylene+benzene_box80x80x80_LR.jpg | Bin 130048 -> 0 bytes .../images/ethylene+benzene_t=0_LR.jpg | Bin 0 -> 52598 bytes .../moltemplate_files/benzene.lt | 42 +- .../moltemplate_files/ethylene.lt | 32 +- .../moltemplate_files/system.lt | 20 +- .../ethylene+benzene/run.in.nvt | 2 +- .../moltemplate_files/benzene.lt | 54 +- .../moltemplate_files/ethylene.lt | 35 +- .../packmol_files/benzene.xyz | 24 +- .../force_field_OPLSAA/hexadecane/README.txt | 3 +- .../force_field_OPLSAA/hexadecane/WARNING.txt | 4 +- .../hexadecane/images/ch2_ry60_LR.jpg | Bin 0 -> 2590 bytes .../hexadecane/images/ch3_ry60_LR.jpg | Bin 0 -> 3758 bytes .../hexadecane/images/hexadecane_LR.jpg | Bin 5237 -> 8118 bytes .../hexadecane/moltemplate_files/ch2group.lt | 2 +- .../force_field_OPLSAA/hexadecane/run.in.npt | 19 +- .../force_field_OPLSAA/hexadecane/run.in.nvt | 5 +- .../ice_crystal/moltemplate_files/spce.lt | 34 +- .../ice_crystal/run.in.npt | 2 +- .../nanotube+water/moltemplate_files/spce.lt | 4 +- .../nanotube+water/moltemplate_files/watmw.lt | 54 - .../waterSPCE+Na+Cl/README_visualize.txt | 4 +- .../images/waterSPCE+Na+Cl_t=0.jpg | Bin 169027 -> 44020 bytes .../images/waterSPCE+Na+Cl_t=100ps.jpg | Bin 144377 -> 38522 bytes .../waterSPCE+Na+Cl/moltemplate_files/ions.lt | 77 +- .../waterSPCE+Na+Cl/moltemplate_files/spce.lt | 118 +- .../moltemplate_files/system.lt | 16 +- .../ELBAwater+methanol/README.txt | 11 + .../ELBAwater+methanol/README_run.sh | 20 + .../ELBAwater+methanol/README_setup.sh | 28 + ...ELBAwater+methanol_rendered_with_ovito.jpg | Bin 0 -> 22841 bytes .../moltemplate_files/elba.lt | 39 + .../moltemplate_files/methanol.lt | 84 + .../moltemplate_files/system.lt | 29 + .../packmol_files/README.txt | 12 + .../packmol_files/coord.xyz | 1008 ++ .../packmol_files/elba_water.xyz | 4 + .../packmol_files/input.packmol | 17 + .../packmol_files/methanol.xyz | 8 + .../ELBAwater+methanol/run.in.npt | 54 + .../packmol_files/README.txt | 8 + .../packmol_files/dopc.xyz | 14 + .../packmol_files/mix_lipids+water.inp | 35 + .../packmol_files/water.xyz | 3 + .../moltemplate_files/forcefield.lt | 93 +- .../abstract_2bead_polymer/README.txt | 17 + .../abstract_2bead_polymer/README_run.sh | 20 + .../abstract_2bead_polymer/README_setup.sh | 23 + .../README_visualize.txt | 86 + .../images/2bead_monomer.jpg | Bin 0 -> 3784 bytes .../images/2bead_polymer_LR.jpg | Bin 0 -> 6552 bytes .../images/2bead_polymer_array3x3x3_LR.jpg | Bin 0 -> 32045 bytes .../images/2bead_t=4850000_LR.jpg | Bin 0 -> 22763 bytes .../moltemplate_files/README.sh | 6 + .../moltemplate_files/README.txt | 19 + .../moltemplate_files/forcefield.lt | 110 + .../moltemplate_files/monomer.lt | 20 + .../moltemplate_files/polymer.lt | 27 + .../moltemplate_files/system.lt | 29 + .../abstract_2bead_polymer/run.in.nvt | 32 + .../moltemplate_files/monomer.lt | 81 +- .../moltemplate_files/polymer.lt | 8 +- .../moltemplate_files/polymer_forcefield.lt | 120 + .../ellipsoids_CG_benzene/README.txt | 20 + .../ellipsoids_CG_benzene/README_run.sh | 20 + .../ellipsoids_CG_benzene/README_setup.sh | 19 + .../README_visualization_OVITO.txt | 12 + .../README_visualization_OVITO_ellipsoids.png | Bin 0 -> 72390 bytes .../images/benzene_cg_ellipsoid.png | Bin 0 -> 2011 bytes .../ellipsoids_CG_benzene/images/t=0.jpg | Bin 0 -> 23529 bytes .../ellipsoids_CG_benzene/images/t=14900.jpg | Bin 0 -> 15966 bytes .../moltemplate_files/benzene_cg.lt | 62 + .../moltemplate_files/system.lt | 24 + .../ellipsoids_CG_benzene/run.in | 37 + .../membrane+protein/run.in.min | 2 +- .../moltemplate_files/spce.lt | 30 +- .../explicit_electrons/eff_CH4/README.txt | 25 + .../explicit_electrons/eff_CH4/README_run.sh | 3 + .../eff_CH4/README_setup.sh | 14 + .../eff_CH4/moltemplate_files/ch4.lt | 45 + .../eff_CH4/moltemplate_files/ch4_ionized.lt | 55 + .../eff_CH4/moltemplate_files/system_ch4.in | 42 + .../eff_CH4/moltemplate_files/system_ch4.lt | 28 + .../moltemplate_files/system_ch4_ionized.lt | 29 + .../eff_CH4/orig_files/README | 2 + .../eff_CH4/orig_files/data.ch4 | 32 + .../eff_CH4/orig_files/data.ch4_ionized | 31 + .../eff_CH4/orig_files/in.ch4.dynamics | 41 + .../eff_CH4/orig_files/in.ch4.min | 32 + .../orig_files/in.ch4_ionized.dynamics | 42 + .../explicit_electrons/eff_CH4/run.in.ch4 | 49 + .../eff_CH4/run.in.ch4_ionized | 62 + tools/moltemplate/moltemplate/__init__.py | 4 +- .../moltemplate/moltemplate/bonds_by_type.py | 2 +- .../moltemplate/moltemplate/charge_by_bond.py | 27 +- tools/moltemplate/moltemplate/dump2data.py | 17 +- tools/moltemplate/moltemplate/ettree.py | 8 +- .../moltemplate/force_fields/README.txt | 13 + .../force_fields/SDK_lipid+chol.lt | 423 - .../moltemplate/force_fields/__init__.py | 0 .../compass_original_format/README.txt | 30 + .../compass_published.frc | 1381 ++ .../force_fields/compass_published.lt | 4148 +++++ .../README.txt | 0 .../amberparm2lt.sh | 2 + .../amberparm_angle_to_lt.py | 6 +- .../amberparm_bond_to_lt.py | 6 +- .../amberparm_dihedral_to_lt.py | 4 +- .../amberparm_improper_to_lt.py | 6 +- .../amberparm_mass_to_lt.py | 0 .../amberparm_pair_to_lt.py | 6 +- .../convert_EMC_files_to_LT_files/README.txt | 18 + .../convert_EMC_files_to_LT_files/__init__.py | 0 .../emcprm2lt.py | 2 +- .../msifrc2lt.py | 4536 ++++++ .../__init__.py | 0 .../tinkerparm2lt.py | 246 +- .../README | 0 .../gen_potential-cooke.py | 0 .../tabulated_potential.dat | 0 .../moltemplate/force_fields/gaff.lt | 7 +- .../moltemplate/force_fields/gaff2.lt | 13357 ++++++++++++++++ .../moltemplate/force_fields/loplsaa.lt | 732 +- .../moltemplate/force_fields/martini.lt | 16 +- .../force_fields/martini/emcprm2lt.py | 580 - .../martini_original_format/README.txt | 42 + .../aminoacids.prm | 0 .../cholesterol.prm | 1 + .../lipids.prm | 0 .../martini.prm | 0 .../polymers.prm | 0 .../sugars.prm | 0 .../moltemplate/force_fields/oplsaa.lt | 12498 +++++++-------- .../force_fields/oplsaa/AUTHOR.txt | 2 - .../oplsaa_original_format/AUTHOR.txt | 7 + .../oplsaa_original_format/README.txt | 10 + .../loplsaa_ext.prm | 80 +- .../{sdk/SDK_lipid+chol.lt => sdk.lt} | 14 +- .../moltemplate/force_fields/sdk/README.txt | 63 - .../sdk_original_format/README.txt | 84 + .../SDK_lipidONLY.lt | 0 .../sdk_cholesterol.prm | 0 .../sdk_lipids.prm | 0 tools/moltemplate/moltemplate/genpoly_lt.py | 8 +- tools/moltemplate/moltemplate/ltemplify.py | 28 +- tools/moltemplate/moltemplate/lttree.py | 84 +- tools/moltemplate/moltemplate/lttree_check.py | 140 +- .../moltemplate/lttree_postprocess.py | 6 +- .../moltemplate/moltemplate/lttree_styles.py | 3 +- tools/moltemplate/moltemplate/nbody_Angles.py | 2 +- tools/moltemplate/moltemplate/nbody_Bonds.py | 2 +- .../moltemplate/nbody_Dihedrals.py | 2 +- .../moltemplate/nbody_Impropers.py | 2 +- .../nbody_alt_symmetry/cenIflipJK.py | 61 + .../nbody_alt_symmetry/cenJflipIL.py | 68 + .../moltemplate/moltemplate/nbody_by_type.py | 10 +- .../moltemplate/nbody_by_type_lib.py | 2 +- .../nbody_fix_ttree_assignments.py | 2 +- .../moltemplate/nbody_reorder_atoms.py | 2 +- .../moltemplate/postprocess_coeffs.py | 287 + .../moltemplate/postprocess_input_script.py | 4 + tools/moltemplate/moltemplate/raw2data.py | 69 +- .../scripts/cleanup_moltemplate.sh | 25 +- .../moltemplate/scripts/emoltemplate.sh | 56 +- .../moltemplate/scripts/moltemplate.sh | 176 +- tools/moltemplate/moltemplate/ttree.py | 27 +- tools/moltemplate/moltemplate/ttree_lex.py | 19 +- .../moltemplate/ttree_matrix_stack.py | 164 +- tools/moltemplate/moltemplate/ttree_render.py | 43 +- tools/moltemplate/setup.py | 23 +- 255 files changed, 37446 insertions(+), 8910 deletions(-) create mode 100644 tools/moltemplate/.gitignore rename tools/moltemplate/doc/moltemplate_manual_src/{2bead_residue.jpg => 2bead_monomer.jpg} (100%) rename tools/moltemplate/doc/moltemplate_manual_src/{2bead_peptide.jpg => 2bead_polymer.jpg} (100%) rename tools/moltemplate/doc/moltemplate_manual_src/{2bead_peptides_nopbc_t=0_LR.jpg => 2bead_polymers_nopbc_t=0_LR.jpg} (100%) rename tools/moltemplate/doc/moltemplate_manual_src/{2bead_peptides_t=100ps_LR.jpg => 2bead_polymers_t=100ps_LR.jpg} (100%) rename tools/moltemplate/doc/moltemplate_manual_src/{dimer+dimer0_transparent_LR.jpg => mol_complex+mol_complex0_transparent_LR.jpg} (100%) rename tools/moltemplate/doc/moltemplate_manual_src/{dimer_LR.jpg => mol_complex_LR.jpg} (100%) create mode 100644 tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/ethylene+benzene_50bar_t=100000_LR.jpg delete mode 100644 tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/ethylene+benzene_box80x80x80_LR.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/ethylene+benzene_t=0_LR.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/WARNING.txt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/README.txt create mode 100755 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/README_remove_irrelevant_info.sh create mode 100755 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/README_run.sh create mode 100755 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/README_setup.sh create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/README_visualize.txt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/images/ch2_ry90.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/images/ch3_ry60.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/images/t=0.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/images/t=1ns.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/alkane50.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/ch2group.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/ch3group.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/system.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/run.in.min create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/run.in.nvt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/README.txt create mode 100755 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/README_remove_irrelevant_info.sh create mode 100755 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/README_run.sh create mode 100755 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/README_setup.sh create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/README_visualize.txt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/images/after_pressure_equilibration_LR.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/images/butane.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/images/ch2_ry90.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/images/ch3_ry60.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/images/initial_configuration_LR.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/butane.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/ch2group.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/ch3group.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/system.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/run.in.npt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/run.in.nvt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README.txt create mode 100755 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_remove_irrelevant_info.sh create mode 100755 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_run.sh create mode 100755 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_setup.sh create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_visualize.txt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/WARNING.txt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/images/hexadecane_12x12x2_t=0_LR.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/images/hexadecane_12x12x2_t=10ps_npt_LR.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/images/hexadecane_LR.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/ch2group.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/ch3group.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/hexadecane.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/system.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/run.in.npt create mode 100644 tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/run.in.nvt create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README.txt create mode 100755 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_remove_irrelevant_info.sh create mode 100755 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_run.sh create mode 100755 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_setup.sh create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_visualize.txt create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/images/after_pressure_equilibration_LR.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/images/butane.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/images/ch2_ry90.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/images/ch3_ry60.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/images/initial_configuration_LR.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/butane.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch2group.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch3group.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/system.lt create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/run.in.npt create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/run.in.nvt create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/ethylene+benzene_50bar_t=100000_LR.jpg delete mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/ethylene+benzene_box80x80x80_LR.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/ethylene+benzene_t=0_LR.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/images/ch2_ry60_LR.jpg create mode 100644 tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/images/ch3_ry60_LR.jpg delete mode 100644 tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/watmw.lt create mode 100644 tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/README.txt create mode 100644 tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/README_run.sh create mode 100755 tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/README_setup.sh create mode 100644 tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/images/ELBAwater+methanol_rendered_with_ovito.jpg create mode 100644 tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/moltemplate_files/elba.lt create mode 100644 tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/moltemplate_files/methanol.lt create mode 100644 tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/moltemplate_files/system.lt create mode 100644 tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/packmol_files/README.txt create mode 100644 tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/packmol_files/coord.xyz create mode 100644 tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/packmol_files/elba_water.xyz create mode 100644 tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/packmol_files/input.packmol create mode 100644 tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/packmol_files/methanol.xyz create mode 100644 tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/run.in.npt create mode 100644 tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/packmol_files/README.txt create mode 100644 tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/packmol_files/dopc.xyz create mode 100644 tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/packmol_files/mix_lipids+water.inp create mode 100644 tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/packmol_files/water.xyz create mode 100644 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/README.txt create mode 100755 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/README_run.sh create mode 100755 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/README_setup.sh create mode 100644 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/README_visualize.txt create mode 100644 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/images/2bead_monomer.jpg create mode 100644 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/images/2bead_polymer_LR.jpg create mode 100644 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/images/2bead_polymer_array3x3x3_LR.jpg create mode 100644 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/images/2bead_t=4850000_LR.jpg create mode 100755 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/README.sh create mode 100644 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/README.txt create mode 100644 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/forcefield.lt create mode 100644 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/monomer.lt create mode 100644 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/polymer.lt create mode 100644 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/system.lt create mode 100644 tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/run.in.nvt create mode 100644 tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/polymer_forcefield.lt create mode 100644 tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README.txt create mode 100755 tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_run.sh create mode 100755 tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_setup.sh create mode 100644 tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_visualization_OVITO.txt create mode 100644 tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_visualization_OVITO_ellipsoids.png create mode 100644 tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/images/benzene_cg_ellipsoid.png create mode 100644 tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/images/t=0.jpg create mode 100644 tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/images/t=14900.jpg create mode 100644 tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/moltemplate_files/benzene_cg.lt create mode 100644 tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/moltemplate_files/system.lt create mode 100644 tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/run.in create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/README.txt create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/README_run.sh create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/README_setup.sh create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/moltemplate_files/ch4.lt create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/moltemplate_files/ch4_ionized.lt create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/moltemplate_files/system_ch4.in create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/moltemplate_files/system_ch4.lt create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/moltemplate_files/system_ch4_ionized.lt create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/orig_files/README create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/orig_files/data.ch4 create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/orig_files/data.ch4_ionized create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/orig_files/in.ch4.dynamics create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/orig_files/in.ch4.min create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/orig_files/in.ch4_ionized.dynamics create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/run.in.ch4 create mode 100644 tools/moltemplate/examples/misc_examples/explicit_electrons/eff_CH4/run.in.ch4_ionized create mode 100644 tools/moltemplate/moltemplate/force_fields/README.txt delete mode 100644 tools/moltemplate/moltemplate/force_fields/SDK_lipid+chol.lt create mode 100644 tools/moltemplate/moltemplate/force_fields/__init__.py create mode 100644 tools/moltemplate/moltemplate/force_fields/compass_original_format/README.txt create mode 100644 tools/moltemplate/moltemplate/force_fields/compass_original_format/compass_published.frc create mode 100644 tools/moltemplate/moltemplate/force_fields/compass_published.lt rename tools/moltemplate/moltemplate/force_fields/{amber => convert_AMBER_files_to_LT_files}/README.txt (100%) rename tools/moltemplate/moltemplate/force_fields/{amber => convert_AMBER_files_to_LT_files}/amberparm2lt.sh (98%) rename tools/moltemplate/moltemplate/force_fields/{amber => convert_AMBER_files_to_LT_files}/amberparm_angle_to_lt.py (91%) rename tools/moltemplate/moltemplate/force_fields/{amber => convert_AMBER_files_to_LT_files}/amberparm_bond_to_lt.py (90%) rename tools/moltemplate/moltemplate/force_fields/{amber => convert_AMBER_files_to_LT_files}/amberparm_dihedral_to_lt.py (97%) rename tools/moltemplate/moltemplate/force_fields/{amber => convert_AMBER_files_to_LT_files}/amberparm_improper_to_lt.py (94%) rename tools/moltemplate/moltemplate/force_fields/{amber => convert_AMBER_files_to_LT_files}/amberparm_mass_to_lt.py (100%) rename tools/moltemplate/moltemplate/force_fields/{amber => convert_AMBER_files_to_LT_files}/amberparm_pair_to_lt.py (93%) create mode 100644 tools/moltemplate/moltemplate/force_fields/convert_EMC_files_to_LT_files/README.txt create mode 100644 tools/moltemplate/moltemplate/force_fields/convert_EMC_files_to_LT_files/__init__.py rename tools/moltemplate/moltemplate/force_fields/{sdk => convert_EMC_files_to_LT_files}/emcprm2lt.py (99%) create mode 100755 tools/moltemplate/moltemplate/force_fields/convert_MSI_files_to_LT_files/msifrc2lt.py create mode 100644 tools/moltemplate/moltemplate/force_fields/convert_TINKER_files_to_LT_files/__init__.py rename tools/moltemplate/moltemplate/force_fields/{tinker => convert_TINKER_files_to_LT_files}/tinkerparm2lt.py (76%) rename tools/moltemplate/moltemplate/force_fields/{cooke_deserno => cooke_deserno_supporting_files}/README (100%) rename tools/moltemplate/moltemplate/force_fields/{cooke_deserno => cooke_deserno_supporting_files}/gen_potential-cooke.py (100%) rename tools/moltemplate/moltemplate/force_fields/{cooke_deserno => cooke_deserno_supporting_files}/tabulated_potential.dat (100%) create mode 100644 tools/moltemplate/moltemplate/force_fields/gaff2.lt delete mode 100755 tools/moltemplate/moltemplate/force_fields/martini/emcprm2lt.py create mode 100644 tools/moltemplate/moltemplate/force_fields/martini_original_format/README.txt rename tools/moltemplate/moltemplate/force_fields/{martini => martini_original_format}/aminoacids.prm (100%) rename tools/moltemplate/moltemplate/force_fields/{martini => martini_original_format}/cholesterol.prm (98%) rename tools/moltemplate/moltemplate/force_fields/{martini => martini_original_format}/lipids.prm (100%) rename tools/moltemplate/moltemplate/force_fields/{martini => martini_original_format}/martini.prm (100%) rename tools/moltemplate/moltemplate/force_fields/{martini => martini_original_format}/polymers.prm (100%) rename tools/moltemplate/moltemplate/force_fields/{martini => martini_original_format}/sugars.prm (100%) delete mode 100644 tools/moltemplate/moltemplate/force_fields/oplsaa/AUTHOR.txt create mode 100644 tools/moltemplate/moltemplate/force_fields/oplsaa_original_format/AUTHOR.txt create mode 100644 tools/moltemplate/moltemplate/force_fields/oplsaa_original_format/README.txt rename tools/moltemplate/moltemplate/force_fields/{oplsaa => oplsaa_original_format}/loplsaa_ext.prm (52%) rename tools/moltemplate/moltemplate/force_fields/{sdk/SDK_lipid+chol.lt => sdk.lt} (98%) delete mode 100644 tools/moltemplate/moltemplate/force_fields/sdk/README.txt create mode 100644 tools/moltemplate/moltemplate/force_fields/sdk_original_format/README.txt rename tools/moltemplate/moltemplate/force_fields/{sdk => sdk_original_format}/SDK_lipidONLY.lt (100%) rename tools/moltemplate/moltemplate/force_fields/{sdk => sdk_original_format}/sdk_cholesterol.prm (100%) rename tools/moltemplate/moltemplate/force_fields/{sdk => sdk_original_format}/sdk_lipids.prm (100%) create mode 100644 tools/moltemplate/moltemplate/nbody_alt_symmetry/cenIflipJK.py create mode 100644 tools/moltemplate/moltemplate/nbody_alt_symmetry/cenJflipIL.py create mode 100755 tools/moltemplate/moltemplate/postprocess_coeffs.py diff --git a/tools/moltemplate/.gitignore b/tools/moltemplate/.gitignore new file mode 100644 index 0000000000..d2053ce4dc --- /dev/null +++ b/tools/moltemplate/.gitignore @@ -0,0 +1,180 @@ +# from https://github.com/github/gitignore/blob/master/Python.gitignore + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# dotenv +.env + +# virtualenv +.venv/ +venv/ +ENV/ + +# Spyder project settings +.spyderproject + +# Rope project settings +.ropeproject + +# text-editor temporary files: +*~ + +# misc rubbish +deleteme* +DELETEME* + +######## files specific to moltemplate and lammps ######## + +# latex/bibtex temporary files for the moltemplate manual: +moltemplate_manual*.aux +moltemplate_manual*.bbl +moltemplate_manual*.blg +moltemplate_manual*.log +moltemplate_manual*.out +moltemplate_manual*.toc + +######## files created by running LAMMPS: ######## + +log.lammps +log.cite +traj*.lammpstrj + +######## files generated by running moltemplate: ######## + +system.data +system.in +system.in.init +system.in.settings +system.in.charges +system.psf +ttree_assignments.txt +output_ttree/ + +# Sections from the LAMMPS data file generated by moltemplate.sh +"Data Header"* +"Data Atoms"* +"Data Masses"* +"Data Velocities"* +"Data Bonds"* +"Data Bond List"* +"Data Bonds AtomId AtomId"* +"Data Angles"* +"Data Dihedrals"* +"Data Impropers"* +"Data Bond Coeffs"* +"Data Angle Coeffs"* +"Data Dihedral Coeffs"* +"Data Improper Coeffs"* +"Data Pair Coeffs"* +"Data PairIJ Coeffs"* + +# interactions-by-type (not id. This is not part of the LAMMPS standard.) +"Data Charge By Bond"* +"Data Bonds By Type"* +"Data Angles By Type"* +"Data Dihedrals By Type"* +"Data Impropers By Type"* + +# class2 data sections +"Data BondBond Coeffs"* +"Data BondAngle Coeffs"* +"Data MiddleBondTorsion Coeffs"* +"Data EndBondTorsion Coeffs"* +"Data AngleTorsion Coeffs"* +"Data AngleAngleTorsion Coeffs"* +"Data BondBond13 Coeffs"* +"Data AngleAngle Coeffs"* + +# sections for non-point-like particles: +"Data Ellipsoids"* +"Data Lines"* +"Data Triangles"* + +# periodic boundary conditions +"Data Boundary"* + +# Sections from the LAMMPS input script(s) generated by moltemplate.sh + +"In Init"* +"In Settings"* +"In Coords"* +"In Charges"* +#temporary file created by moltemplate.sh for storing coordinates +tmp_atom_coords.dat + diff --git a/tools/moltemplate/README.md b/tools/moltemplate/README.md index dc63a6bf4a..c0bcb28296 100644 --- a/tools/moltemplate/README.md +++ b/tools/moltemplate/README.md @@ -1,9 +1,11 @@ +[![Build Status](https://travis-ci.org/jewettaij/moltemplate.svg?branch=master)](https://travis-ci.org/jewettaij/moltemplate.svg?branch=master) + Moltemplate =========== ## Description -Moltemplate is a cross-platform text-based molecule builder for LAMMPS. +Moltemplate is a *general* cross-platform text-based molecule builder for **LAMMPS** and **ESPResSo**. Moltemplate was intended for building custom coarse-grained molecular models, but it can be used to prepare realistic all-atom simulations as well. It currently supports the **OPLS**, **COMPASS**, **AMBER**(GAFF,GAFF2), **MARTINI**, **SDK**, **LOPLS**(2015), and **TraPPE**(1998) force fields, and includes approximately 40 examples. (New force fields and examples are added continually by users.) ## Typical usage @@ -45,7 +47,7 @@ Make sure that your default pip install bin directory is in your PATH. (This is pip uninstall moltemplate -If you continue to run into difficulty, try installing moltemplate into a temporary virtual environment by installing "virtualenv", downloading moltemplate (to "~/moltemplate" in the example below), and running these commands: +If you continue to run into difficulty, try installing moltemplate into a temporary virtual environment by installing "*virtualenv*", downloading moltemplate (to "~/moltemplate" in the example below), and running these commands: cd ~/moltemplate virtualenv venv @@ -53,7 +55,9 @@ If you continue to run into difficulty, try installing moltemplate into a tempor pip install . #(now do something useful with moltemplate...) -(You will have to "run source ~/moltemplate/venv/bin/activate" beforehand every time you want to run moltemplate.) If all this fails, then try installing moltemplate by manually updating your \$PATH environment variable. Instructions for doing that are included below. +(You will have to "run source ~/moltemplate/venv/bin/activate" beforehand every time you want to run moltemplate. +The *virtualenv* tool is +[explained in detail here](http://docs.python-guide.org/en/latest/dev/virtualenvs/)) If all this fails, then try installing moltemplate by manually updating your \$PATH environment variable. Instructions for doing that are included below. ## Manual installation: diff --git a/tools/moltemplate/doc/moltemplate_manual.pdf b/tools/moltemplate/doc/moltemplate_manual.pdf index b0122a3fd875a12c698a128a9646c50eae7a4351..54d8b132bfd5ad1e7f205f673f4754e2a9bdc283 100644 GIT binary patch delta 185280 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 Y+@t;Kf>CGUqrBj|rz@p*m>dfJ@h|$(RsO}7 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

      _{1n%OBQm2&HIPOTBsIM1_Mu(9t2n*!Tk8x<~Q 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 diff --git a/tools/moltemplate/doc/moltemplate_manual_src/2bead_residue.jpg b/tools/moltemplate/doc/moltemplate_manual_src/2bead_monomer.jpg similarity index 100% rename from tools/moltemplate/doc/moltemplate_manual_src/2bead_residue.jpg rename to tools/moltemplate/doc/moltemplate_manual_src/2bead_monomer.jpg diff --git a/tools/moltemplate/doc/moltemplate_manual_src/2bead_peptide.jpg b/tools/moltemplate/doc/moltemplate_manual_src/2bead_polymer.jpg similarity index 100% rename from tools/moltemplate/doc/moltemplate_manual_src/2bead_peptide.jpg rename to tools/moltemplate/doc/moltemplate_manual_src/2bead_polymer.jpg diff --git a/tools/moltemplate/doc/moltemplate_manual_src/2bead_peptides_nopbc_t=0_LR.jpg b/tools/moltemplate/doc/moltemplate_manual_src/2bead_polymers_nopbc_t=0_LR.jpg similarity index 100% rename from tools/moltemplate/doc/moltemplate_manual_src/2bead_peptides_nopbc_t=0_LR.jpg rename to tools/moltemplate/doc/moltemplate_manual_src/2bead_polymers_nopbc_t=0_LR.jpg diff --git a/tools/moltemplate/doc/moltemplate_manual_src/2bead_peptides_t=100ps_LR.jpg b/tools/moltemplate/doc/moltemplate_manual_src/2bead_polymers_t=100ps_LR.jpg similarity index 100% rename from tools/moltemplate/doc/moltemplate_manual_src/2bead_peptides_t=100ps_LR.jpg rename to tools/moltemplate/doc/moltemplate_manual_src/2bead_polymers_t=100ps_LR.jpg diff --git a/tools/moltemplate/doc/moltemplate_manual_src/dimer+dimer0_transparent_LR.jpg b/tools/moltemplate/doc/moltemplate_manual_src/mol_complex+mol_complex0_transparent_LR.jpg similarity index 100% rename from tools/moltemplate/doc/moltemplate_manual_src/dimer+dimer0_transparent_LR.jpg rename to tools/moltemplate/doc/moltemplate_manual_src/mol_complex+mol_complex0_transparent_LR.jpg diff --git a/tools/moltemplate/doc/moltemplate_manual_src/dimer_LR.jpg b/tools/moltemplate/doc/moltemplate_manual_src/mol_complex_LR.jpg similarity index 100% rename from tools/moltemplate/doc/moltemplate_manual_src/dimer_LR.jpg rename to tools/moltemplate/doc/moltemplate_manual_src/mol_complex_LR.jpg diff --git a/tools/moltemplate/doc/moltemplate_manual_src/moltemplate_manual.tex b/tools/moltemplate/doc/moltemplate_manual_src/moltemplate_manual.tex index 10a3d4fd38..f8ce810fd5 100644 --- a/tools/moltemplate/doc/moltemplate_manual_src/moltemplate_manual.tex +++ b/tools/moltemplate/doc/moltemplate_manual_src/moltemplate_manual.tex @@ -36,7 +36,7 @@ \author{ Andrew Jewett, \\ - Jensen Lab (Caltech), Shea Lab (UCSB) \\ + MGL Lab (Scripps), Jensen Lab (Caltech), Shea Lab (UCSB) \\ \includegraphics[height=0.3cm]{author_email.png} } \date \today @@ -57,8 +57,16 @@ %(which is distributed with moltemplate). %These were created to supplement the moltemplate documentation. +\subsubsection*{Warning: This manual does not explain how to run ``active-matter'' simulations or use all-atom force fields.} +However numerous examples and README files are available to +demonstrate how to run these kinds of simulations. +Downloading these examples is \textit{highly recommended}. +(See section \ref{sec:installation}.) + \section{Introduction} + + Moltemplate is a general molecule builder and force-field database system for LAMMPS. A simple file format has been created to store molecule definitions and force-fields (the LAMMPS-template format, “LTâ€). LT files are templates containing \textit{all} of the text relevant to a particular molecule (including coordinates, bond-topology, angles, force-field parameters, constraints, groups and fixes). Moltemplate can then duplicate the molecule, customize it, and use it as a building-block for constructing larger, more complex molecules. (These molecules can be used to build even larger molecules.) Once built, individual molecules and subunits can be customized (atoms and bonds, and subunits can be inserted, moved, deleted and/or replaced). @@ -320,57 +328,82 @@ under the terms of the open-source 3-clause BSD license. \section{Installation} - -\subsection*{Obtaining Moltemplate} -\textit{If you don't already have moltemplate}, -the most up-to-date version can be downloaded at -\url{http://www.moltemplate.org} -If you obtained moltemplate as a .tar.gz file, -(as opposed to github or pip), you can unpack it using: -\begin{verbatim} -tar -xzvf moltemplate_2017-8-22.tar.gz -\end{verbatim} -(The date will vary from version to version.) -Alternately, if you obtained moltemplate bundled with LAMMPS, -then the \textit{``moltemplate''} directory will probably be located -in the \textit{``tools''} subdirectory of your lammps installation. +\label{sec:installation} There are two ways to install moltemplate: \subsubsection*{Installation Method 1 (pip)} -\textit{If you are familiar with pip}, then run the following command from within outermost directory: +\textit{If you are familiar with pip}, you can install +moltemplate by typing following command in the terminal/shell: + %from within outermost directory: \begin{verbatim} -pip install . +pip install moltemplate \end{verbatim} -\textit{In order for this to work, this directory should contain a file named ``\textbf{setup.py}''.} (If no such file exists, then either proceed to ``Installation Method 2'' below, or download a newer version of moltemplate.) If you receive an error regarding permissions, then run pip this way instead: +%\textit{In order for this to work, this directory should contain a file named ``\textbf{setup.py}''.} (If no such file exists, then either proceed to ``Installation Method 2'' below, or download a newer version of moltemplate.) +If you receive an error regarding permissions, then run pip this way instead: \begin{verbatim} -pip install . --user +pip install moltemplate --user \end{verbatim} Make sure that your default pip install bin directory is in your PATH. (This is usually something like \textapprox/.local/bin/ or \textapprox/anaconda3/bin/. If you have installed anaconda, your PATH should have been updated for you automatically.) Later, you can uninstall moltemplate using: \begin{verbatim} pip uninstall moltemplate \end{verbatim} -\textit{If you continue to run into difficulty}, try installing moltemplate into a temporary virtual environment by installing ``virtualenv'', downloading moltemplate (to ``\textapprox/moltemplate'' in the example below), and running these commands: +\textit{Note: There are is a large variety of detailed moltemplate examples +which will be omitted if you install moltemplate this way. +\textbf{Downloading the examples is strongly recommended.}} +You can do this either by using git: \begin{verbatim} -cd ~/moltemplate +git clone https://github.com/jewettaij/moltemplate ~/moltemplate +\end{verbatim} +or by visiting the \url{http://www.moltemplate.org} web site. +They will be in the ``examples'' subdirectory.) + +\textit{If you run into difficulty with pip}, then try installing +moltemplate into a temporary virtual environment +by installing ``virtualenv'', +%downloading moltemplate (to ``\textapprox/moltemplate'' in the example below), +and running these commands: +\begin{verbatim} +mkdir ~/moltemplate_v +cd ~/moltemplate_v virtualenv venv source venv/bin/activate -pip install . +pip install moltemplate #(now do something useful with moltemplate...) \end{verbatim} -You will have to ``run source \textapprox/moltemplate/venv/bin/activate'' beforehand whenver you want to run moltemplate. If all this fails, then try installing moltemplate by manually updating your \$PATH environment variable. Instructions for doing that are included below. +You will have to ``run source \textapprox/moltemplate\_v/venv/bin/activate'' beforehand whenver you want to run moltemplate again. If all this fails, then try installing moltemplate by manually updating your \$PATH environment variable. Instructions for doing that are included below. \subsubsection*{Installation Method 2} -Alternatively, you can edit your PATH variable manually to include +Alternatively, you can download the moltemplate files and edit your +PATH variable manually to include the subdirectory where the moltemplate.sh script is located (typically ``\textapprox/moltemplate/moltemplate/scripts/''), as well as -the directory containing the most of the python scripts (``\textapprox/moltemplate/moltemplate/''). -Suppose the directory where with the README file is named ``moltemplate'' -and it is located in your home directory: +the directory containing the most of the python scripts +(``\textapprox/moltemplate/moltemplate/''). + +\subsection*{Obtaining Moltemplate} +The most up-to-date version of moltemplate can be downloaded using git. +\begin{verbatim} +git clone https://github.com/jewettaij/moltemplate ~/moltemplate +\end{verbatim} +Later, you can update to the latest version of moltemplate using: +\begin{verbatim} +git pull +\end{verbatim} +Alternatively, you can also download moltemplate as a .tar.gz archive from +\url{http://www.moltemplate.org} +and can unpack it using: +\begin{verbatim} +tar -xzvf moltemplate_2017-8-22.tar.gz +\end{verbatim} +(The date will vary from version to version.) +Somewhat older versions of moltemplate are also bundled with the LAMMPS +source code and are located in the \textit{``tools''} subdirectory. + If you use the \textbf{bash} shell, typically you would edit your \mbox{$\sim$/.bash\_profile}, @@ -409,7 +442,7 @@ If you are using an older version of windows, try following the tutorial written To use LAMMPS and moltemplate, You will also need to install (and learn how to use) a text editor. (Word, Wordpad, and Notepad will not work.) Popular free text editors which you can safely install and run from within the WSL terminal include: nano, ne, emacs, vim, and jove. (Unfortunately, as of 2017-5-17, graphical unix-friendly text editors such as Atom, VSCode, Notepad++, and sublime won't work with WSL, and may cause file system corruption. Avoid these editors for now. (\url{https://www.reddit.com/r/bashonubuntuonwindows/comments/6bu1d1/since_we_shouldnt_edit_files_stored_in_wsl_with/}) -%\pagebreak +\pagebreak \section{Quick reference \textit{(skip on first reading)}} \section*{ @@ -674,7 +707,7 @@ create\_var \{ \textit{variable} \} & Create a variable specific to this molecule object. (Typically this is used to create molecule-ID numbers, for a molecule built from smaller components. -See section \ref{sec:2beadPeptide}.) +See section \ref{sec:2beadPolymer}.) \\ \hline replace \{ \textit{oldvariable} \textit{newvariable} \} & @@ -761,7 +794,7 @@ Note: \mbox{\textit{``\$mol''}} is shorthand for \mbox{\textit{``\$mol:.''}}) \$\textit{mol:}... & The ID number assigned to the molecule to which this object belongs (if applicable). -See sections \ref{sec:2beadPeptide}, +See sections \ref{sec:2beadPolymer}, \ref{sec:ellipsis_mol}, %\ref{sec:paths}, and appendix \ref{sec:adv_variable_syntax}. @@ -897,6 +930,21 @@ you want the scaling to occur. Of omitted, the origin is used.) \\ \hline +\begin{tabular}[t]{l} + \textit{.quat($a,b,c,d$)} \\ + \textit{.quat($a,b,c,d,x_0,y_0,z_0$)} \\ + \textit{.quatT($a,b,c,d$)} \\ + \textit{.quatT($a,b,c,d,x_0,y_0,z_0$)} \\ +\end{tabular} + & + Rotate atom coordinates by the rotation corresponding + to quaternion $a+b\mathbf{i}+c\mathbf{j}+b\mathbf{k}$ + (around \mbox{$(x_0,y_0,z_0)$}, if specified) + The \textit{.quatT(a,b,c,d)} variant performs the inverse rotation. + (Equivalent to \textit{.quat(a,-b,-c,-d)}.) + % Otherwise around $(0,0,0)$) +\\ +\hline \multicolumn{2}{c} { \textbf{ \textit{Note:} @@ -940,7 +988,6 @@ In this example, the first transformation, ``rot()'', is applied to both ``monom - \subsection{moltemplate.sh command line arguments:} \label{sec:args_table} %\begin{table} @@ -1055,7 +1102,7 @@ Do \textit{not} check for common LAMMPS/moltemplate syntax errors. This forces moltemplate.sh to check that there are valid angle and dihedral interactions defined for every 3 or 4 consecutively bonded atoms in the system -(defined in "Data Angles By Type'' and ``Data Dihedrals By Type" sections). +(defined in ``Data Angles By Type'' and ``Data Dihedrals By Type'' sections). \\ \hline -vmd & @@ -1094,10 +1141,16 @@ Invoke VMD after running moltemplate to view the system you have just created. Normally moltemplate.sh reorders the atoms in each bond, angle, dihedral, and improper interaction before writing them to the DATA file in order to help avoid duplicate interactions between the same atoms if listed in different but equivalent orders. Sometimes this is undesirable. \textit{\textbf{To disable this behavior, set ``file.py'' to ``None''.}} You can also manually choose alternate symmetry rules for unusual force fields. (Such as class2 force fields, dihedral\_style spherical, etc... For an example of the file format for ``file.py'', see the ``nbody\_Impropers.py'' file.) \\ \hline +-allow-wildcards & +Allow the use of ``*'' and ``?'' characters within +``pair\_coeff'', ``bond\_coeff'', ``angle\_coeff'', ``dihedral\_coeff'', +and ``improper\_coeff'' commands. (Default) +\\ +\hline \end{tabular} -%\pagebreak +\pagebreak @@ -2061,30 +2114,30 @@ within moltemplate is discouraged. See section \ref{sec:wildcard_bug}.) Objects can be connected together to form larger molecule objects. These objects can be used to form still larger objects. As an example, we define a small 2-atom molecule named ``Monomer'', -and use it to construct a short polymer (``Peptide''). +and use it to construct a short polymer (``Polymer''). \begin{figure}[htbp] \centering \textbf{a)} -\includegraphics[height=3cm]{2bead_residue.jpg} +\includegraphics[height=3cm]{2bead_monomer.jpg} \quad \quad \quad \quad \quad \textbf{b)} -\includegraphics[height=3cm]{2bead_peptide.jpg} +\includegraphics[height=3cm]{2bead_polymer.jpg} \newline \vspace{10 mm} \newline \textbf{c)} -\includegraphics[width=4cm]{2bead_peptides_nopbc_t=0_LR.jpg} +\includegraphics[width=4cm]{2bead_polymers_nopbc_t=0_LR.jpg} \textbf{d)} -\includegraphics[width=4cm]{2bead_peptides_t=100ps_LR.jpg} +\includegraphics[width=4cm]{2bead_polymers_t=100ps_LR.jpg} \caption{ -\label{fig:2bead_peptide} +\label{fig:2bead_polymer} \textbf{a)-b)} \textit{Building a complex system from small pieces:} Construction of a polymer (\textbf{b}) out of smaller (2-atom) subunits (\textbf{a}) using composition and rigid-body transformations. -Bonds connecting different residues together (blue) +Bonds connecting different monomer together (blue) must be declared explicitly, but angle and dihedral interactions will be generated automatically. See section \ref{sec:2bead} for details. @@ -2130,20 +2183,123 @@ Monomer inherits ForceField { \end{verbatim} -Soon will use it to construct a polymer (``Peptide'') +Soon will use it to construct a polymer (``Polymer'') \textit{Note: The ellipsis notation used here ``\$mol:...''. warns moltemplate that the ``Monomer'' molecule may be part of a larger molecule. (This is explained in more detail in section \ref{sec:ellipsis_mol}.) +(Note: The meaning of ``inherits ForceField'' + will be explained below in section \ref{sec:nbody_by_type_intro}) } - + In this example we will define two kinds of molecule objects: -``Monomer'', and ``Peptide'' (\textit{defined later}). -It is often convenient to store atom types, masses, and force-field -parameters in a separate file so that they -can be shared between these different molecules. -We do that in the ``forcefield.lt'' file below: +``Monomer'', and ``Polymer'' (\textit{defined later}). +\subsubsection*{Building a simple polymer} +We construct a short polymer by making 7 copies of ``Monomer'', +rotating and moving each copy: +\label{sec:2beadPolymer} +\begin{verbatim} +# -- file "polymer.lt" -- + +import "monomer.lt" #(defines "Monomer" and "ForceField") + +Polymer inherits ForceField { + + # The next line is optional: + create_var {$mol} #(force all monomers to share the same molecule-ID) + + # Now create some monomers + + mon1 = new Monomer #(no need to move the first monomer) + mon2 = new Monomer.rot(180.0, 1,0,0).move(3.2,0,0) + mon3 = new Monomer.rot(360.0, 1,0,0).move(6.4,0,0) + mon4 = new Monomer.rot(540.0, 1,0,0).move(9.6,0,0) + mon5 = new Monomer.rot(720.0, 1,0,0).move(12.8,0,0) + mon6 = new Monomer.rot(900.0, 1,0,0).move(16.0,0,0) + mon7 = new Monomer.rot(1080.0, 1,0,0).move(19.2,0,0) + + # Now, link the monomers together this way: + write("Data Bonds") { + $bond:backbone1 @bond:Backbone $atom:mon1/ca $atom:mon2/ca + $bond:backbone2 @bond:Backbone $atom:mon2/ca $atom:mon3/ca + $bond:backbone3 @bond:Backbone $atom:mon3/ca $atom:mon4/ca + $bond:backbone4 @bond:Backbone $atom:mon4/ca $atom:mon5/ca + $bond:backbone5 @bond:Backbone $atom:mon5/ca $atom:mon6/ca + $bond:backbone6 @bond:Backbone $atom:mon6/ca $atom:mon7/ca + } +} +\end{verbatim} +The position and orientation of each copy of ``Monomer'' +is specified after the ``new'' statement. +Each ``new'' statement is typically followed by a chain of +move/rotate/scale functions separated by dots, evaluated left-to-right +(optionally followed by square brackets and then more dots). +For example, ``mon2'' is a copy of ``Monomer'' which is first rotated +180 degrees around the X axis (denoted by ``1,0,0''), +and \textbf{then} moved in the (3.2,0,0) direction. +(The last three arguments to the ``rot()'' command + denote the axis of rotation, which does not have to be normalized.) +(A list of available coordinate transformations +is provided in section \ref{sec:xforms_table}.) + +\textit{(Note: Although we did not do this here, +it is sometimes convenient to represent polymers as 1-dimensional arrays. +See sections \ref{sec:arrays} and \ref{sec:random_arrays} for examples.)} + +To bond atoms in different molecules or molecular subunits together, we used +the write(``Data Bonds'') command to append additional bonds to the system. + +%\subsubsection{Sharing atom, bond and angle types} +%Normally you must separately define the parameters for all of the atoms types, +%and bond types, angle types etc... in every type of molecule. +%However different kinds of monomers in a heteropolymer typically will +%share some common backbone atom types and other properties. +%You must be careful to indicate which atom and bond types are shared between +%different monomers by referring them using a ``../'' prefix. +%(See sections \ref{sec:variable_scope}, +%\ref{sec:paths}, and +%\ref{sec:butane} for details and examples.) +%\textit{Note: There is a heteropolymer example in the the +%``2bead\_heteropolymer/'' directory in the online examples. +%This example demonstrates how to share backbone atoms, bonds, and angles. +%You can also define specific angle or dihedral interactions which are +%specific to the atom types in different monomers.} + + +\subsection{Bonded interactions \textit{by type}} +\label{sec:nbody_by_type_intro} + +In this example we did \textit{not} provide a list of all 3-body +and 4-body angle forces between bonded atoms in the polymer. +Moltemplate allows you to manually list all of these interactions +(using the ``write\_once("Data Angles")'' command +from section \ref{sec:spce_example}, +\textit{or} +the ``write\_once("Data Dihedrals")'', +or ``write\_once("Data Impropers")'' commands). +However there are usually many of them. +For this reason, it is often more convenient to provide +moltemplate with instructions to help it automatically figure out +which atoms participate in 3-body and 4-body angle interactions, +and what force field parameters to assign to them. +We will do that below using the following commands: +``write\_once("Data Angles By Type")'', +``write\_once("Data Dihedrals By Type")'', and +``write\_once("Data Impropers By Type")'' + + %Moltemplate can detect consecutively bonded atoms and + %determine the forces between them based on atom type (and bond type). + +Furthermoree, since many different kinds molecules often share +the same rules for creating 3-body and 4-body angle interactions, +it is convenient to organize all of this information +together into one place (eg an object named ``ForceField''). +A ``ForceField'' object will typically include many +``write\_once("Data Angles By Type")'' +commands, as well as force field parameters and related atom type properties. +We also typically store that information in a separate file +(eg ``forcefield.lt'', ``oplsaa.lt'', ``gaff2.lt'', ``compass.lt'', etc...). \begin{verbatim} # -- file "forcefield.lt" -- @@ -2199,14 +2355,14 @@ ForceField { angle_coeff @angle:Sidechain 30.00 132 } + # 4-body interactions in this example are listed by atomType # Rules for determining 4-body (dihedral) interactions by atom & bond type: write_once("Data Dihedrals By Type") { - # dihedralType atmType1 atmType2 atmType3 atmType4 bondType1 bnd2 bnd3 + # dihedralType atmType1 atmType2 atmType3 atmType4 bondType1 bType2 bType3 @dihedral:CCCC @atom:CA @atom:CA @atom:CA @atom:CA @bond:* @bond:* @bond:* @dihedral:RCCR @atom:R @atom:CA @atom:CA @atom:R @bond:* @bond:* @bond:* } - # 4-body interactions in this example are listed by atomType # The forumula used is: # # Udihedral(phi) = K * (1 + cos(n*phi - d)) @@ -2229,111 +2385,22 @@ ForceField { bond_style harmonic angle_style harmonic dihedral_style charmm - pair_style lj/cut/coul/debye 0.1 11.0 - pair_modify mix arithmetic - dielectric 80.0 - special_bonds lj 0.0 0.0 0.0 - } -} -\end{verbatim} - - - -\subsubsection{Building a simple polymer} -We construct a short polymer by making 7 copies of ``Monomer'', -rotating and moving each copy: -\label{sec:2beadPeptide} -\begin{verbatim} -# -- file "peptide.lt" -- - -import "monomer.lt" - -Peptide inherits ForceField { - - create_var {$mol} # optional:force all monomers to share the same molecule-ID - # (The "Data Atoms" in Monomer must use the "$mol:..." notation.) - - res1 = new Monomer - res2 = new Monomer.rot(180.0, 1,0,0).move(3.2,0,0) - res3 = new Monomer.rot(360.0, 1,0,0).move(6.4,0,0) - res4 = new Monomer.rot(540.0, 1,0,0).move(9.6,0,0) - res5 = new Monomer.rot(720.0, 1,0,0).move(12.8,0,0) - res6 = new Monomer.rot(900.0, 1,0,0).move(16.0,0,0) - res7 = new Monomer.rot(1080.0, 1,0,0).move(19.2,0,0) - - # Now, link the residues together this way: - write("Data Bonds") { - $bond:backbone1 @bond:Backbone $atom:res1/ca $atom:res2/ca - $bond:backbone2 @bond:Backbone $atom:res2/ca $atom:res3/ca - $bond:backbone3 @bond:Backbone $atom:res3/ca $atom:res4/ca - $bond:backbone4 @bond:Backbone $atom:res4/ca $atom:res5/ca - $bond:backbone5 @bond:Backbone $atom:res5/ca $atom:res6/ca - $bond:backbone6 @bond:Backbone $atom:res6/ca $atom:res7/ca + pair_style lj/cut 11.0 } } \end{verbatim} -The position and orientation of each copy of ``Monomer'' -is specified after the ``new'' statement. -Each ``new'' statement is typically followed by a chain of -move/rotate/scale functions separated by dots, evaluated left-to-right -(optionally followed by square brackets and then more dots). -For example, ``res2'' is a copy of ``Monomer'' which is first rotated -180 degrees around the X axis (denoted by ``1,0,0''), -and \textbf{then} moved in the (3.2,0,0) direction. -(The last three arguments to the ``rot()'' command - denote the axis of rotation, which does not have to be normalized.) -(A list of available coordinate transformations -is provided in section \ref{sec:xforms_table}.) - -\textit{(Note: Although we did not do this here, -it is sometimes convenient to represent polymers as 1-dimensional arrays. -See sections \ref{sec:arrays} and \ref{sec:random_arrays} for examples.)} - -To bond atoms in different molecules or molecular subunits together, we used -the write(``Data Bonds'') command to append additional bonds to the system. - -%\subsubsection{Sharing atom, bond and angle types} -%Normally you must separately define the parameters for all of the atoms types, -%and bond types, angle types etc... in every type of molecule. -%However different kinds of monomers in a heteropolymer typically will -%share some common backbone atom types and other properties. -%You must be careful to indicate which atom and bond types are shared between -%different monomers by referring them using a ``../'' prefix. -%(See sections \ref{sec:variable_scope}, -%\ref{sec:paths}, and -%\ref{sec:butane} for details and examples.) -%\textit{Note: There is a heteropolymer example in the the -%``2bead\_heteropolymer/'' directory in the online examples. -%This example demonstrates how to share backbone atoms, bonds, and angles. -%You can also define specific angle or dihedral interactions which are -%specific to the atom types in different residues.} - - -\subsection{Bonded interactions \textit{by type}} -\label{sec:nbody_by_type_intro} - -In this example we did \textit{not} provide a list of all 3-body -and 4-body forces between bonded atoms in the polymer. -(for example using the ``write\_once("Data Angles")'' command -from section \ref{sec:spce_example}, -\textit{or} -the ``write\_once("Data Dihedrals")'', -or ``write\_once("Data Impropers")'' commands.) -Instead we provided moltemplate.sh with instructions to help it figure out -which atoms participate in 3-body and 4-body bonded interactions. -Moltemplate can detect consecutively bonded atoms and -determine the forces between them based on atom type. -(Bond type can also be used as a criteria.) -We did this in ``forcefield.lt'' using the -\mbox{``write\_once("Data Angles By Type")''} and -\mbox{``write\_once("Data Dihedrals By Type")''} -commands. -You can also generate improper interactions -between any 4-atoms bonded together in a T-shaped topology -using the ``write\_once("Impropers By Type")'' command. -See appendix \ref{sec:nbody_by_type} for more details. -\textit{(More general interactions are possible. - See appendix \ref{sec:nbody_by_type_custom}.)} +Any molecule that wants to access this information can use the +``inherits ForceField'' keyword. +\textit{(...as we did in the ``monomer.lt'' and ``polymer.lt'' files in theexample above. + Note: the ``import forcefield'' statement was also necessary because the + information is located in a separate file: ``forcefield.lt''.} +%\textit{(Note: You can also generate \textbf{improper} interactions +% %between any 4-atoms bonded together in a T-shaped topology +% the same way, using the ``write\_once("Impropers By Type")'' command. +% See appendix \ref{sec:nbody_by_type} for more details. +\textit{You can customize these ``By Type'' rules further + by altering the bond topology search rules and atom type symmetry. + See appendix \ref{sec:nbody_by_type_custom} for details.)} %\subsubsection*{\textit{(Advanced)} Order matters when sets overlap} %Bonded-interactions are generated in the order they appear in the LT file. @@ -2379,17 +2446,17 @@ with molecules or atoms. (See sections \ref{sec:coords_intro} and \ref{sec:multidimensional_arrays}.) Here we show an easier way to create the short polymer -shown in section \ref{sec:2beadPeptide}. +shown in section \ref{sec:2beadPolymer}. You can make 7 copies of the \textit{Monomer} molecule this way: \begin{verbatim} - res = new Monomer[7] + monomers = new Monomer[7] \end{verbatim} This creates 7 new \textit{Monomer} molecules (named -\mbox{\textit{res[0]}}, -\mbox{\textit{res[1]}}, -\mbox{\textit{res[2]}}, -\mbox{\textit{res[3]}}, ... -\mbox{\textit{res[6]}}). +\mbox{\textit{monomers[0]}}, +\mbox{\textit{monomers[1]}}, +\mbox{\textit{monomers[2]}}, +\mbox{\textit{monomers[3]}}, ... +\mbox{\textit{monomers[6]}}). Unfortunately, by default, the coordinates of each molecule are identical. To prevent the atom coordinates from overlapping, you have several choices: @@ -2398,13 +2465,13 @@ To prevent the atom coordinates from overlapping, you have several choices: After every square-bracket [] in a new command, you can specify a list of transformations to apply. For example, we could have generated atomic coordinates for the -the short polymer in section \ref{sec:2beadPeptide} +the short polymer in section \ref{sec:2beadPolymer} using this command: \begin{verbatim} - res = new Monomer [7].rot(180, 1,0,0).move(3.2,0,0) + monomers = new Monomer [7].rot(180, 1,0,0).move(3.2,0,0) \end{verbatim} This will create 7 molecules. -The coordinates of the first molecule \textit{res[0]} are will be unmodified. +The coordinates of the first molecule \textit{monomers[0]} are will be unmodified. However each successive molecule will have its coordinates cumulatively modified by the commands ``rot(180, 1,0,0)'' followed by ``move(3.2,0,0)''. \subsubsection*{optional: initial customizations (preceding [] brackets)} @@ -2413,7 +2480,7 @@ You can also make adjustments to the initial coordinates of the molecule before it is copied, and before any of the array transformations are applied. For example: \begin{verbatim} - res = new Monomer.scale(1.5) [7].rot(180, 1,0,0).move(3.2,0,0) + monomers = new Monomer.scale(1.5) [7].rot(180, 1,0,0).move(3.2,0,0) \end{verbatim} In this example, the ``scale(1.5)'' transformation is applied once to enlarge every \textit{Monomer} object initially. @@ -2426,17 +2493,17 @@ are applied to build the polymer Alternately you apply transformations to a molecule after they have been created (even if they are part of an array). \begin{verbatim} - res = new Monomer [7] + monomers = new Monomer [7] # Again, the first line creates the molecules named - # "res[0]", "res[1]", "res[2]", "res[3]", ... "res[6]". + # "monomers[0]", "monomers[1]", "monomers[2]", ... "monomers[6]". # The following lines move them into position. - res[1].rot(180.0, 1,0,0).move(3.2,0,0) - res[2].rot(360.0, 1,0,0).move(6.4,0,0) - res[3].rot(540.0, 1,0,0).move(9.6,0,0) - res[4].rot(720.0, 1,0,0).move(12.8,0,0) - res[5].rot(900.0, 1,0,0).move(16.0,0,0) - res[6].rot(1080.0, 1,0,0).move(19.2,0,0) + monomers[1].rot(180.0, 1,0,0).move(3.2,0,0) + monomers[2].rot(360.0, 1,0,0).move(6.4,0,0) + monomers[3].rot(540.0, 1,0,0).move(9.6,0,0) + monomers[4].rot(720.0, 1,0,0).move(12.8,0,0) + monomers[5].rot(900.0, 1,0,0).move(16.0,0,0) + monomers[6].rot(1080.0, 1,0,0).move(19.2,0,0) \end{verbatim} \subsection{Transformation order (general case)} @@ -2454,13 +2521,13 @@ copy of the molecule multiple times. XFORMS2 will be applied $i$ times.) Finally after all the molecules have been created, the list of transformations in XFORMS3 will be applied. -For example, to create a ring of 10 peptides of radius 30.0, +For example, to create a ring of 10 polymers of radius 30.0, centered at position (0,25,0), use this notation: \begin{verbatim} -peptide_ring = new Peptide.move(0,30,0) [10].rot(36,1,0,0) +polymer_ring = new Polymer.move(0,30,0) [10].rot(36,1,0,0) # After creating it, we can move the entire ring # (These commands are applied last.) -peptide_ring[*].move(0,25,0) +polymer_ring[*].move(0,25,0) \end{verbatim} @@ -2618,19 +2685,19 @@ commands appearing later (following ``[50]'') are carried out. \label{sec:array_wildcards_intro} You can move the entire array of molecules using ``[*]'' notation: \begin{verbatim} - res[*].move(0,0,40) + monomers[*].move(0,0,40) \end{verbatim} -(Note that ``res.move(0,0,40)'' does not work. +(Note that ``monomers.move(0,0,40)'' does not work. You must include the ``[*]''.) -You can also use range limits to move only some of the residues: +You can also use range limits to move only some of the monomers: \begin{verbatim} - res[2-4].move(0,0,40) + monomers[2-4].move(0,0,40) \end{verbatim} -This will move only the third, fourth, and fifth residues. +This will move only the third, fourth, and fifth monomers. If you are more familiar with python's slice notation, you can accomplish the same thing using: \begin{verbatim} - res[2:5].move(0,0,40) + monomers[2:5].move(0,0,40) \end{verbatim} (In this case, the second integer (eg ``5'') is interpreted as a strict upper bound.) @@ -2678,10 +2745,10 @@ You can build multidimensional arrays using slice notation as well, for example The same techniques work with multidimensional arrays. Coordinate transformations can be applied to each layer in a multi-dimensional array. -For example, to create a cubic lattice of 3x3x3 peptides: +For example, to create a cubic lattice of 3x3x3 polymers: you would use this syntax: \begin{verbatim} -molecules = new Peptide [3].move(30.0, 0, 0) +molecules = new Polymer [3].move(30.0, 0, 0) [3].move(0, 30.0, 0) [3].move(0, 0, 30.0) \end{verbatim} @@ -2689,14 +2756,14 @@ molecules = new Peptide [3].move(30.0, 0, 0) with cylindrical, helical, conical, or toroidal symmetry.) \subsection{Customizing individual rows, columns, or layers} -Similarly, you can customize the position of individual peptides, +Similarly, you can customize the position of individual polymers, or layers or columns using the methods above: \begin{verbatim} molecules[1][*][*].move(0,20,0) molecules[*][1][*].move(0,0,20) molecules[*][*][1].move(20,0,0) \end{verbatim} -See figure \ref{fig:2bead_peptide}c) +See figure \ref{fig:2bead_polymer}c) \textit{(You can also use slice notation, eg ``molecules[1][0-2][0-1].move(20,0,0)'')} @@ -2858,48 +2925,57 @@ And all of this can be done from anywhere else in the LT file. %\textit{(The notation in section \ref{sec:paths} explains % how to navigate the object hierarchy.)} -For example, suppose we used the ``Peptide'' molecule we defined above -to create a larger, more complex ``Dimer'' molecule. +For example, suppose we used the ``Polymer'' molecule we defined above +to create a larger, more complicated ``MolecularComplex'' molecule. \begin{verbatim} -Dimer { - peptides[0] = new Peptide - peptides[1] = new Peptide.rot(180,1,0,0).move(0, 12.4, 0) +MolecularComplex { + polymers[0] = new Polymer + polymers[1] = new Polymer.rot(180,1,0,0).move(0, 12.4, 0) } -dimer = new Dimer +mol_complex = new MolecularComplex \end{verbatim} -The \textit{Dimer} molecule is shown in figure \ref{fig:dimers}a). -\textit{Optional: If you want all the atoms in a ``Dimer'' to share the same molecule-ID, -then define ``Dimer'' this way:} +The \textit{MolecularComplex} molecule is shown in figure \ref{fig:mol_complex}a). +\textit{Optional: If you want all the atoms in a ``MolecularComplex'' to share the same molecule-ID, +then define ``MolecularComplex'' this way:} \begin{verbatim} -Dimer inherits ForceField { +MolecularComplex inherits ForceField { create_var { $mol } - peptides[0] = new Peptide - peptides[1] = new Peptide.rot(180,1,0,0).move(0, 12.4, 0) + polymers[0] = new Polymer + polymers[1] = new Polymer.rot(180,1,0,0).move(0, 12.4, 0) } \end{verbatim} \textit{For this to work, you must also delete the \mbox{\textit{``create\_var \{\$mol:.\}''}} line from - the definition of the Peptide molecule. See section \ref{sec:2bead}.} + the definition of the Polymer molecule. See section \ref{sec:2bead}.} -We can subsquently customize the position of the 3rd residue -of the second peptide this way: +We can subsquently customize the position of the 3rd monomer (``monomers[2]'') +of the second polymer (``polymers[1]''), this way: \begin{verbatim} -dimer/peptides[1]/res[2].move(0,0.2,0.6) +mol_complex/polymers[1]/monomers[2].move(0,0.2,0.6) \end{verbatim} -This does not effect the position of \textit{res[2]} in \textit{peptides[0]}. -(or in any other \textit{``Peptide''} or \textit{``Dimer''} molecule.) -If you want to move both residues, you could use a wildcard character ``*'' +This does not effect the position of +\textit{monomers[2]} in \textit{polymers[0]}. +(or in any other \textit{``Polymer''} or +\textit{``MolecularComplex''} molecule.) +If you want to do the same thing for both polymers, +you could use a wildcard character ``*'' +\begin{verbatim} +mol_complex/polymers[*]/res[2].move(0,0.2,0.6) +\end{verbatim} +If you want to move both polymers, you can use: \begin{verbatim} -dimer/peptides[*]/res[2].move(0,0.2,0.6) +mol_complex/polymers[*].move(0,0.2,0.6) \end{verbatim} -(You can also use ranged (slice) notation, such as ``peptides[0-1]'', - as an alternative to ``peptides[*]''. +you could use a wildcard character ``*'' +(You can also use ranged (slice) notation, such as ``polymers[0-1]'', + as an alternative to ``polymers[*]''. See section \ref{sec:array_wildcards_intro}. -To make changes that apply to every subsequently created \textit{``Peptide''} or -\textit{``Dimer''} molecule, see section \ref{sec:molecule_customization}.) +To make changes that apply to every subsequently created \textit{``Polymer''} +or \textit{``MolecularComplex''} molecule, +see section \ref{sec:molecule_customization}.) \subsection{Customizing individual atom locations} @@ -2907,10 +2983,10 @@ To make changes that apply to every subsequently created \textit{``Peptide''} or The ``move'' or ``rot'' commands can not be used to control the positions of \textit{individual atoms}. Instead simply overwrite their coordinates this way: -%$atom:dimer/peptides[0]/res[2]/CA $mol:dimer/peptides[1] @atom:R 0 6.4 8.0 0 +%$atom:mol_complex/polymers[0]/res[2]/CA $mol:mol_complex/polymers[1] @atom:R 0 6.4 8.0 0 \begin{verbatim} write("Data Atoms") { - $atom:dimer/peptides[0]/res[2]/ca $mol:... @atom:R 0 6.4 8.2 0.6 + $atom:mol_complex/polymers[0]/res[2]/ca $mol:... @atom:R 0 6.4 8.2 0.6 } \end{verbatim} @@ -2918,8 +2994,8 @@ write("Data Atoms") { \label{sec:adding_atoms_bonds} Adding additional bonds within a molecule can be accomplished by writing additional lines of text to the ``Data Bonds'' section. -(This is what we did when we added bonds between residues to create a polymer - in section \ref{sec:2beadPeptide}.) +(This is what we did when we added bonds between monomers to create a polymer + in section \ref{sec:2beadPolymer}.) Again, bonds and atom names must be referred to by their \textit{full} names. Bonds and bonded interactions can be deleted using the ``delete'' command. (See section \ref{sec:delete}.) @@ -2931,18 +3007,18 @@ Bonds and bonded interactions can be deleted using the ``delete'' command. \subsubsection{Deleting molecules or molecular subunits} Molecules can be further customized by deleting individual atoms, bonds, bonded-interactions, and entire subunits. -We can \textbf{delete} the 3rd residue of the second peptide, +We can \textbf{delete} the 3rd monomer of the second polymer, use the ``delete'' command: \begin{verbatim} -delete dimer/peptides[1]/res[2] +delete mol_complex/polymers[1]/res[2] \end{verbatim} \subsubsection{Deleting atoms, bonds, angles, dihedrals, and impropers} \label{sec:delete_atoms_bonds} Individual atoms or bonds can be deleted in a similar way: \begin{verbatim} -delete dimer/peptides[1]/res[3]/ca #<-- deletes the "ca" atom -delete dimer/peptides[1]/res[4]/cr #<-- deletes the "cr" bond +delete mol_complex/polymers[1]/res[3]/ca #<-- deletes the "ca" atom +delete mol_complex/polymers[1]/res[4]/cr #<-- deletes the "cr" bond \end{verbatim} Whenever an atom or a molecule is deleted, the bonds, angles, dihedrals, and improper interactions involving those atoms are deleted as well. @@ -2961,10 +3037,10 @@ generated by moltemplate are removed as well. are not removed. These need to be deleted manually.) Multiple molecules can moved or deleted in a single command. For example, -the following command deletes the third, fourth, and fifth residues from -both peptides[0] and peptides[1]: +the following command deletes the third, fourth, and fifth monomers from +both polymers[0] and polymers[1]: \begin{verbatim} -delete dimer/peptides[*]/res[2-4] +delete mol_complex/polymers[*]/res[2-4] \end{verbatim} See section \ref{sec:array_wildcards_intro} for an explanation of ranged (``[2-4]'') array notation, @@ -3001,13 +3077,13 @@ to make sure they look reasonable. %By default, this transformations is applied relative %to the coordinate system in which the command was given. %In other words, this command will move the third - %residue of peptides[1] in the +Y direction + %monomer of polymers[1] in the +Y direction %regardless of the direction that the molecule ``res[2]'' is facing. %Alternately, if we want to apply this transformation - %in peptides[1]'s local coordinate system, - %we would use the context(peptides[1]) command: + %in polymers[1]'s local coordinate system, + %we would use the context(polymers[1]) command: %\begin{verbatim} - %dimer2/peptides[1]/res[2].context(peptides[1]).move(0,1,0) + %mol_complex/polymers[1]/res[2].context(polymers[1]).move(0,1,0) %\end{verbatim} @@ -3032,14 +3108,14 @@ to make sure they look reasonable. You can create modified versions of existing molecule \textit{types}, without having to redefine the entire molecule. For example: \begin{verbatim} -Dimer0 = Dimer.move(-9.6,-6.2, 0).scale(0.3125) +MolecularComplex0 = MolecularComplex.move(-9.6,-6.2, 0).scale(0.3125) \end{verbatim} or equivalently: \begin{verbatim} -Dimer0 = Dimer -Dimer0.move(-9.6,-6.2, 0).scale(0.3125) +MolecularComplex0 = MolecularComplex +MolecularComplex0.move(-9.6,-6.2, 0).scale(0.3125) \end{verbatim} -This creates a new type of molecule named ``Dimer0'' whose +This creates a new type of molecule named ``MolecularComplex0'' whose coordinates have been centered and rescaled. (Note that the ``scale()'' command only effects the atomic coordinates. (You will have to override earlier force field settings, @@ -3047,11 +3123,11 @@ such as atomic radii and bond-lengths in order for this to work properly.) If we want to make additional customizations (such as adding atoms, bonds, or molecular subunits), we could use this syntax: \begin{verbatim} -Dimer0 = Dimer +MolecularComplex0 = MolecularComplex -# Add some new atoms connecting the two peptides in the dimer +# Add some new atoms connecting the two polymers in the mol_complex -Dimer0 inherits ForceField { +MolecularComplex0 inherits ForceField { write("Data Atoms") { $atom:t1 $mol:. @atom:CA 0.0 23.0 0.0 0.0 $atom:t2 $mol:. @atom:CA 0.0 24.7 4.0 0.0 @@ -3059,36 +3135,36 @@ Dimer0 inherits ForceField { $atom:t4 $mol:. @atom:CA 0.0 23.0 12.4 0.0 } write("Data Bonds") { - $bond:b1 @bond:Backbone $atom:peptides[0]/res7/CA $atom:t1 + $bond:b1 @bond:Backbone $atom:polymers[0]/res7/CA $atom:t1 $bond:b2 @bond:Backbone $atom:t1 $atom:t2 $bond:b3 @bond:Backbone $atom:t2 $atom:t3 $bond:b4 @bond:Backbone $atom:t3 $atom:t4 - $bond:b5 @bond:Backbone $atom:t4 $atom:peptides[1]/res7/ca + $bond:b5 @bond:Backbone $atom:t4 $atom:polymers[1]/res7/ca } } -# Center and rescale the atoms in all "Dimer0" -Dimer0.move(-9.6,-6.2, 0).scale(0.3125) +# Center and rescale the atoms in all "MolecularComplex0" +MolecularComplex0.move(-9.6,-6.2, 0).scale(0.3125) \end{verbatim} -The result of these modifications is shown in figure \ref{fig:dimers}b). +The result of these modifications is shown in figure \ref{fig:mol_complex}b). \begin{figure}[htbp] \centering \textbf{a)} -\includegraphics[height=3cm]{dimer_LR.jpg} +\includegraphics[height=3cm]{mol_complex_LR.jpg} \hspace{1cm} \textbf{b)} -\includegraphics[height=3cm]{dimer+dimer0_transparent_LR.jpg} +\includegraphics[height=3cm]{mol_complex+mol_complex0_transparent_LR.jpg} %\newline %\vspace{10 mm} %\newline \caption{ -\label{fig:dimers} +\label{fig:mol_complex} \textbf{a)} -The ``Dimer'' molecule. This is a contrived example consisting of -two ``Peptides''. See section \ref{sec:2beadPeptide} +The ``MolecularComplex'' molecule. This is a contrived example consisting of +two ``Polymers''. See section \ref{sec:2beadPolymer} \textbf{b)} -A customized version of the ``Dimer'' molecule. -(The original ``Dimer'' is shown faded in the background for comparison.) +A customized version of the ``MolecularComplex'' molecule. +(The original ``MolecularComplex'' is shown faded in the background for comparison.) } \end{figure} @@ -3109,18 +3185,18 @@ an entire molecule type \textbf{after} all of its internal details \subsubsection*{\textit{(Advanced)} Inheritance} \label{sec:inheritance_intro} -The \textit{Dimer0} molecule is a type of \textit{Dimer} molecule. +The \textit{MolecularComplex0} molecule is a type of \textit{MolecularComplex} molecule. For those who are familiar with programming, relationships like this are analogous to the relationship between parent and child objects in an object-oriented programming language. %What we have done is equivalent to saying that - %\textit{Dimer0} inherits from \textit{Dimer}. + %\textit{MolecularComplex0} inherits from \textit{MolecularComplex}. More general kinds of inheritance are supported by moltemplate and are discussed in section \ref{sec:inheritance}. \subsubsection*{\textit{(Advanced)} Multiple Inheritance} If we wanted, we could have created a new molecule type -(like \textit{``Dimer0''}) +(like \textit{``MolecularComplex0''}) which includes atom types and features from \textit{multiple} different types of molecules. Section \ref{sec:inheritance} mentions one way to do this @@ -3984,10 +4060,8 @@ starting moltemplate and kill the process if it's memory usage exceeds 80\%. \textbf{3)} Limited support for non-point-like atoms: -As of 2014-12-09, only the ``full'', ``angle'', ``atomic'', ``charge'', -and ``molecular'' styles have been tested. -The ``dipole'' atom style \textit{is} fully supported -but it has not been tested. +As of 2017-8-31, only the ``full'', ``angle'', ``atomic'', ``charge'', +``sphere'', ``dipole'', and ``molecular'' styles have been tested. Non-point-like atoms like ``ellipsoid'', ``tri'', ``line'' \textit{should} also work with moltemplate. However these objects @@ -4027,28 +4101,36 @@ Please let me know if it is not working. \textbf{6)} Inconsistent support for wildcard characters (``*'' and ``?'') \label{sec:wildcard_bug} - As of 2014-1-28, - the wildcard character ``*'' + The wildcard character ``*'' is interpreted differently in different parts of an LT file. Wildcard characters work reliably and are used for \textit{string} - pattern matching when inside any of the \textit{``By Type''} sections + pattern matching when inside + ``bond\_coeff'', ``angle\_coeff'', ``dihedral\_coeff'', ``improper\_coeff'', + and most ``pair\_coeff'' commands, + as well as any of the \textit{``By Type''} sections in an LT file (such as \textit{``Data Angles By Type''}, \textit{``Data Dihedrals By Type''}, and \textit{``Data Impropers By Type''}). - However these characters are interpreted differently when they appear - in \textit{pair\_coeff}, \textit{bond\_coeff}, \textit{angle\_coeff} - \textit{dihedral\_coeff}, and \textit{improper\_coeff} commands - (and their corresponding \textit{``Coeff''} sections of a data file). - LAMMPS interprets ``*'' characters appearing in any of the - \textit{coeff} commands as \textit{numeric} wildcard characters. + However these wildcard characters \textit{do not} + within pair\_coeff commands that require \textit{more} + than 2 atom types as arguments. + (such as ``pair\_style hbond/dreiding/lj''. + However manybody pair\_styles which use ``pair\_coeff * *'' + notation work fine.) + As of 2017-8-31, wildcard characters (``*'', ``?'') also fail to work inside + \textit{``bond\_modify''} commands, and other commands used for running + active matter simulations. (Such commands are typically located within the + \textit{``write\_once("In Transitions")''} section of an .LT file.) + LAMMPS interprets ``*'' characters appearing here as + \textit{numeric ranges}, and their behavior depends on the + integers which moltemplate assigns to these variables, + \textit{not} the \textit{names} of the variables. + (See the official documentation for bond\_modify, and bond\_coeff + commands to see how ``*'' characters are interpreted. This can lead to unintended side-effects and is discouraged. - So please avoid ``*'' characters in any of the - \textit{``coeff''} commands - (eg \textit{pair\_coeff, bond\_coeff, angle\_coeff, - dihedral\_coeff, improper\_coeff}). - The ``*'' character can be safely used in array brackets, \textit{[*]}, - or in the \textit{``By Type''} sections. + The ``*'' character can be safely used in array brackets, \textit{[*]}, or in + the varios \textit{``\_coeff''} commands and \textit{``By Type''} sections. (See section \ref{sec:array_wildcards_intro} and appendix \ref{sec:nbody_by_type}.) @@ -4452,7 +4534,7 @@ To specify the atoms in each \textit{representation}, click on the \mbox{\textbf{Selections}} tab. By default ``all'' atoms are selected, however you can select atoms according to atom -\textbf{type}, \textbf{index}, \textbf{resid}, +\textbf{type}, \textbf{index}, \textbf{molid}, \textbf{charge}, \textbf{mass}, \textbf{x}, \textbf{y}, \textbf{z}. This will limit the current display settings to a subset of the atoms/bonds present in your system. @@ -4470,7 +4552,7 @@ and \textit{\textbf{Note:}} In VMD/topotools, -the \textbf{type}, \textbf{index}, and \textbf{resid} +the \textbf{type}, \textbf{index}, and \textbf{molid} properties of each atom correspond to the \textit{@atom}, \textit{\$atom}, and \textit{\$mol} variables for each atom in moltemplate. @@ -4745,7 +4827,7 @@ Keep in mind, that in this example, this could cause other atom-types (for example ``@atom:SPCE/H'') to be assigned to overlapping numbers. %For this reason, the ``-b'' flag is usually used only for %custom user-defined variable categories - %(such as the ``\$resid'' counter example described + %(such as the ``\$monomerid'' counter example described %in section \ref{sec:custom_categories}). @@ -4839,35 +4921,35 @@ By default variables in a given category are always assigned to unique integers. This can be overridden using the ``category'' command. For example, you might have a variable that keeps track of -the position index of each residue in each protein chain. -The first residue in a protein (N-terminus) is assigned ``1'', -the second residue, ``2'', etc, -\textit{regardless} of the number of protein chains in your system. +the monomer in every polymer. +The first monomer in a polymer is assigned ``1'', +the second monomer, ``2'', etc, +\textit{regardless} of the number of polymer in your system. -To do this, we can create a new variable category named ``resid'' which -is defined within the scope of each instance of the ``Protein'' molecule: +To do this, we can create a new variable category named ``monomerid'' which +is defined within the scope of each instance of the ``Polymer'' molecule: \begin{verbatim} -Residue { +Monomer { write("Data Atoms") { - $atom:ca @atom:CA $resid:. 0.0 0.0 0.0 0.0 - $atom:cb @atom:CB $resid:. 0.0 1.53 0.0 0.0 + $atom:ca @atom:CA $monomerid:. 0.0 0.0 0.0 0.0 + $atom:cb @atom:CB $monomerid:. 0.0 1.53 0.0 0.0 } } -Protein { - category $resid(1,1) - residues = Residue[100] +Polymer { + category $monomerid(1,1) + monomers = Monomer[100] } -proteins = Protein[10] +polymers = Polymer[10] \end{verbatim} -In this example, there are 10 proteins containing 100 residues each. -The ``\$resid'' counters will be replaced with integers in the range +In this example, there are 10 polymers containing 100 monomers each. +The ``\$monomerid'' counters will be replaced with integers in the range $1\ldots 100$, (not $1\ldots 1000$, as you might expect). -Because the ``\$resid'' counter is local to the +Because the ``\$monomerid'' counter is local to the protein it is defined within, -``\$resid'' variables in other proteins do not share the same counter, +``\$monomerid'' variables in other proteins do not share the same counter, and can overlap. \subsection{Counting order} @@ -5446,10 +5528,10 @@ However the \textit{\textbf{cpath}} can be specified explicitly, as in this example: ``\$/atom:'' (``/'' denotes explicitly that the counter has global scope). Another example with an explicit \textit{\textbf{cpath}} is -the custom local counter variable named ``\$/proteins[5]/resid:.'' +the custom local counter variable named ``\$/proteins[5]/monomerid:.'' (See section \ref{sec:cpath_simple}.) In this example, the \textit{\textbf{cpath}} is ``\$/proteins[5]'', the -\textit{\textbf{catname}} is ``resid'', +\textit{\textbf{catname}} is ``monomerid'', and the \textit{\textbf{lpath}} is ``.''. (In section \ref{sec:cpath_simple}, @@ -5488,7 +5570,7 @@ then it is equivalent to: \$\textit{\textbf{catname}}:\textit{\textbf{lpath}}. Again, in these cases, \textit{\textbf{lpath}} is a path which is relative to the object in which the variable was referenced. -If \$\textit{\textbf{lpath}} is omitted, then this is equivalent to \$\textit{\textbf{catname}}:. In other words, the the leaf node is the current node, ``.''. (This syntax is often used to count keep track of molecule ID numbers. You can use the counter variable ``\$mol'' to keep track of the current molecule id number, because it counts the molecular objects in which this variable was defined. In this case the name of the category is ``mol''. As in most examples, the category object, \textit{\textbf{cpath}}, is not specified. This means the category object is automatically global. A global category object means that every molecule object is given a unique ID number which is unique for the entire system, not just unique within some local molecule. As a counter-example, consider amino acid residue counters. Each amino acid in a protein can be assigned a residue ID number which identifies it within a single protein chain. However because their category was defined locally at the protein level, these residue ID numbers are not global, and are not uniquely defined if there are multiple protein chains present.) +If \$\textit{\textbf{lpath}} is omitted, then this is equivalent to \$\textit{\textbf{catname}}:. In other words, the the leaf node is the current node, ``.''. (This syntax is often used to count keep track of molecule ID numbers. You can use the counter variable ``\$mol'' to keep track of the current molecule id number, because it counts the molecular objects in which this variable was defined. In this case the name of the category is ``mol''. As in most examples, the category object, \textit{\textbf{cpath}}, is not specified. This means the category object is automatically global. A global category object means that every molecule object is given a unique ID number which is unique for the entire system, not just unique within some local molecule. As a counter-example, consider amino acid residue counters. Each amino acid in a protein can be assigned a residue ID number which identifies it within a single protein chain. However because their category was defined locally at the protein level, these residue ID numbers are not global, and are not uniquely defined if there are multiple protein chains present.) (See section \ref{sec:cpath_simple} for details.) diff --git a/tools/moltemplate/doc/utils/docs_genpoly_lt.txt b/tools/moltemplate/doc/utils/docs_genpoly_lt.txt index dbc751176d..31a0359b6d 100644 --- a/tools/moltemplate/doc/utils/docs_genpoly_lt.txt +++ b/tools/moltemplate/doc/utils/docs_genpoly_lt.txt @@ -13,22 +13,22 @@ Explanation: Usage: - genpoly_lt.py \\ - [-bond btype a1 a2] \\ - [-helix deltaphi] \\ - [-axis x,y,z] \\ - [-circular yes/no/connected] \\ + genpoly_lt.py \ + [-bond btype a1 a2] \ + [-helix deltaphi] \ + [-axis x,y,z] \ + [-circular yes/no/connected] \ [-dir-indices ia ib] \ - [-angle atype a1 a2 a3 i1 i2 i3] \\ - [-dihedral dtype a1 a2 a3 a4 i1 i2 i3 i4] \\ - [-improper itype a1 a2 a3 a4 i1 i2 i3 i4] \\ - [-monomer-name mname] \\ - [-sequence sequence.txt] \\ - [-polymer-name pname] \\ - [-inherits ForceFieldObject] \\ - [-header "import \"monomer.lt\""] \\ - [-cuts cuts.txt] \\ - [-box paddingX,paddingY,paddingZ] \\ + [-angle atype a1 a2 a3 i1 i2 i3] \ + [-dihedral dtype a1 a2 a3 a4 i1 i2 i3 i4] \ + [-improper itype a1 a2 a3 a4 i1 i2 i3 i4] \ + [-monomer-name mname] \ + [-sequence sequence.txt] \ + [-polymer-name pname] \ + [-inherits ForceFieldObject] \ + [-header "import monomer.lt"] \ + [-cuts cuts.txt] \ + [-box paddingX,paddingY,paddingZ] \ < coords.raw > polymer.lt Arguments (optional): diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/moltemplate_files/benzene.lt b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/moltemplate_files/benzene.lt index 05c55482d3..8d736e72b3 100644 --- a/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/moltemplate_files/benzene.lt +++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/moltemplate_files/benzene.lt @@ -20,18 +20,18 @@ Benzene inherits GAFF { # atomID molID atomType charge X Y Z write('Data Atoms') { - $atom:C1 $mol @atom:ca -0.115 5.274 1.999 -8.568 - $atom:C2 $mol @atom:ca -0.115 6.627 2.018 -8.209 - $atom:C3 $mol @atom:ca -0.115 7.366 0.829 -8.202 - $atom:C4 $mol @atom:ca -0.115 6.752 -0.379 -8.554 - $atom:C5 $mol @atom:ca -0.115 5.399 -0.398 -8.912 - $atom:C6 $mol @atom:ca -0.115 4.660 0.791 -8.919 - $atom:H11 $mol @atom:ha 0.115 4.704 2.916 -8.573 - $atom:H21 $mol @atom:ha 0.115 7.101 2.950 -7.938 - $atom:H31 $mol @atom:ha 0.115 8.410 0.844 -7.926 - $atom:H41 $mol @atom:ha 0.115 7.322 -1.296 -8.548 - $atom:H51 $mol @atom:ha 0.115 4.925 -1.330 -9.183 - $atom:H61 $mol @atom:ha 0.115 3.616 0.776 -9.196 + $atom:C1 $mol @atom:ca -0.115 -0.739 1.189 -0.00733 + $atom:C2 $mol @atom:ca -0.115 0.614 1.208 0.35167 + $atom:C3 $mol @atom:ca -0.115 1.353 0.019 0.35867 + $atom:C4 $mol @atom:ca -0.115 0.739 -1.189 0.00667 + $atom:C5 $mol @atom:ca -0.115 -0.614 -1.208 -0.35133 + $atom:C6 $mol @atom:ca -0.115 -1.353 -0.019 -0.35833 + $atom:H11 $mol @atom:ha 0.115 -1.309 2.106 -0.01233 + $atom:H21 $mol @atom:ha 0.115 1.088 2.14 0.62267 + $atom:H31 $mol @atom:ha 0.115 2.397 0.034 0.63467 + $atom:H41 $mol @atom:ha 0.115 1.309 -2.106 0.01267 + $atom:H51 $mol @atom:ha 0.115 -1.088 -2.14 -0.62233 + $atom:H61 $mol @atom:ha 0.115 -2.397 -0.034 -0.63533 } write('Data Bond List') { diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_visualize.txt index a3e3ed620e..b39d8901ad 100644 --- a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_visualize.txt +++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_visualize.txt @@ -60,8 +60,8 @@ d) Try entering these commands: It can help to shift the location of the periodic boundary box To shift the box in the y direction (for example) do this: - pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0} - pbc box -shiftcenterrel {0.0 0.15 0.0} + pbc wrap -compound res -all -shiftcenterrel {-0.05 -0.05 -0.05} + pbc box -shiftcenterrel {-0.05 -0.05 -0.05} Distances are measured in units of box-length fractions, not Angstroms. diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/ethylene+benzene_50bar_t=100000_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/ethylene+benzene_50bar_t=100000_LR.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b9ff053fcb48e18052a81039fb4a3a8ab65cb1a2 GIT binary patch literal 36911 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 literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/ethylene+benzene_box80x80x80_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/ethylene+benzene_box80x80x80_LR.jpg deleted file mode 100644 index 00c82d3d9f5f13a5dd36eaee35d982557be2b1b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130048 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≈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≀?b3cK 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

      @8tC#ZoYxsx&1V%-h`< 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 Console +c) Enter: + +(I assume that the the DATA file is called "system.data") + + topo readlammpsdata system.data full + animate write psf system.psf + +2) + +Later, to Load a trajectory in VMD: + + Start VMD + Select menu: File->New Molecule + -Browse to select the PSF file you created above, and load it. + (Don't close the window yet.) + -Browse to select the trajectory file. + If necessary, for "file type" select: "LAMMPS Trajectory" + Load it. + + ---- A note on trajectory format: ----- +If the trajectory is a DUMP file, then make sure the it contains the +information you need for pbctools (see below. I've been using this +command in my LAMMPS scripts to create the trajectories: + + dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz + +It's a good idea to use an atom_style which supports molecule-ID numbers +so that you can assign a molecule-ID number to each atom. (I think this +is needed to wrap atom coordinates without breaking molecules in half.) + +Of course, you don't have to save your trajectories in DUMP format, +(other formats like DCD work fine) I just mention dump files +because these are the files I'm familiar with. + +3) ----- Wrap the coordinates to the unit cell + (without cutting the molecules in half) + +a) Start VMD +b) Load the trajectory in VMD (see above) +c) Menu Extensions->Tk Console +d) Try entering these commands: + + pbc wrap -compound res -all + pbc box + + ----- Optional ---- + Sometimes the solvent or membrane obscures the view of the solute. + It can help to shift the location of the periodic boundary box + To shift the box in the y direction (for example) do this: + + pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0} + pbc box -shiftcenterrel {0.0 0.15 0.0} + + Distances are measured in units of box-length fractions, not Angstroms. + + Alternately if you have a solute whose atoms are all of type 1, + then you can also try this to center the box around it: + + pbc wrap -sel type=1 -all -centersel type=2 -center com + +4) + You should check if your periodic boundary conditions are too small. + To do that: + select Graphics->Representations menu option + click on the "Periodic" tab, and + click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes. + +5) Optional: If you like, change the atom types in the PSF file so + that VMD recognizes the atom types, use something like: + +sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf +sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf +sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf + +(If you do this, it might effect step 2 above.) diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/images/ch2_ry90.jpg b/tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/images/ch2_ry90.jpg new file mode 100644 index 0000000000000000000000000000000000000000..39a88795579f33345539451daac4815f999961a6 GIT binary patch literal 4680 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 Q@uD|NJscX?U;n=e0KyEW(f|Me literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/images/ch3_ry60.jpg b/tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/images/ch3_ry60.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ab140a8f9ec82a71118681ba46b7b3ba8365ea7b GIT binary patch literal 6951 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 aH1p&7scWwsyTekrq9J%8*RTEmZvp^O*$Jrt literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/images/t=0.jpg b/tools/moltemplate/examples/all_atom/force_field_COMPASS/alkane_chain_single/images/t=0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..39633edd5e6987b9b6f72e09ce493a1e3f3ff018 GIT binary patch literal 51583 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

      ka>{HGi1>T#BHl9u2 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%0Dofn;cKl106eKs%W^55P^M|+vL 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�Ae!a-L({(eD@>7-Z>td*N30AIV?&br1e$ zsA%-i+*5LDOU>uboTV#PRENgzt2iKb;d;J=!G{TT^V!3SZ4BnzNK!)acT2u|e%pOZY*TLV7S5l)n13c`@$oW0z7`ayc+EcOjB3C}XGaFhDI4}(kzrt9 zWcVd`mvaK^&rntt*Fq5i4n4Q1j#)k#{Mx!)+`&+wrKLvlCS&6bO5m2rx!XFi^;_n;E1sgT1)0 zk7bvRS!_(pA=M8%7~6KKWb(HEJoNUFCwnp5_5)AfZ|1H&c;HKzzyI=Vz^A z^)unH+jwV|b%5SocBwE{jy+-8sHYE|MZqYZfX_3g{41xGecklWB71;S*|oxh1l9E#^7B zoaWDWvYkc9@rg*GC- zowFz8KYOlYpnFNH>);{Qd1Zd_t9|awnqfQJ%=~22@zmQ7^gZ5Q+j07Gq*9}W;62PTLtQKzP^{GwI|+)A%CLa zuZ(poXBlh~|Rq_&I_{7TGe)Hn=l%1v)fjfO?w0-z_ zATnI3>E$BJY(}T(-OJ~${P*HP#!;@iRo{7BLll*l2zGQ>9yn0^&WT0J(d3DT#O!r* zd2VKXc$9cDS-@zugso}7`(FVM|1>FGadau^^Y8TzP7Qitpm-oreY=(T;sq~ElAb$x zY~0vAZT6fE|70#bktti8q%ZnXz?DnrtC&aAP=DdMnu5x$R$IB|g zVe99fJ)>bZza_(F>3@dw3tS9|9?K>K$}0EsFKDkbxckYkam@-Yr4~=7js+s(-)~C< zIK7yX|18k8bK#nnNy1a)t*d^gGdx?y^!c?=SlDIWU|}V_Q;UBaS2(rm7+B~g{`thu zp%(NzVvmJN#=QLg9<7s%1k)7c*pM2~1TGIwU7@b^1Ju_u`kd*IYe#e91cqdQsTP~QN&bfHu+(XaSrWm>RCpf=UZ3)P6Y*Apj?4{#uDH)n88_)UZ z1?z$w{zkDS-dC7^MSk5i_2~P6a}1)4PJg>rFaPk8p@nfV#|*ZK_u1`VCEf~@XS2vK zu{p23^^g41?x|{f)An#Af4o~@&mXtzY{?eCuK^58mbUopj1o}J+)}OiTGZy#xi1M^ z4g$=A{GBQ;?jCa!HhwWK zg*6pAPS0Ln-^%yw_{4{1F-;ayx-3jWt(5_+jt0+}P87yg8Ze!?_$LYPMegK>iSnMgE_MOHy6#g+Q7HW*RjK6Zfb?5j!q~8?@}f+cV50l zz0I1LQUNO-2Ur|4IXh3bp!{TaM{K{iyhV)@dnWtF6%Sz3nXmTO?9yzwft>;poM+W z_a;%3E`HGy>wXB>9TVWVb%a@iYr%$uU8j?yGbd&*xV7!p?Y~)P1D-V5MfKMRoY0Ao z-Cup}@MD=ajrot6Ew=jvXT^Cf=fB)HpI=Du&?Yms3*u`!*sg>;VL!T~<3*fgmh}v_ z!Xl4bngK^w^ljbwbz-h!$->yEXYS28Z-Pv%JB+p=tBMllz=$g6;J zEeRc^4F?1cEihnv=)lOpAi$HiX@cN|sXY!G7u=cgfZ6TDz7O%G?=4@i$O%8jnxtJE zTyd%KZA~(p4(CzN#fP1E4dm!jk|t%>$?jFC%UDG>aJaUFXQ-msWT52RdU`stMjDi=M1L|j#)byCZAul zKj5@;!|`y2Be82a4u(w>m1@jBwtes8ByO{hRRRBu3p77R9lT>5I&1&>%oSHW6_T~r z$+t76YiY$y-n!@Rc0nANnxdPfu1K8flUjL<4 zxOHN7QC)+rhgWvOcBM$(9kCWHW(=h#j)#3;ZoVyI`&JXSD@?1H)pqnq$Z)NA5*Pl@ zh=2EtJrgU7a<1lChAk18D6-pO`n8P}XBKjtU3$}-wQxrI3jy|TEY>%KU#4B#${dxp ioA)4dL}E^d$FYaHC5Tk Console +c) Enter: + +(I assume that the the DATA file is called "system.data") + + topo readlammpsdata system.data full + animate write psf system.psf + +2) + +Later, to Load a trajectory in VMD: + + Start VMD + Select menu: File->New Molecule + -Browse to select the PSF file you created above, and load it. + (Don't close the window yet.) + -Browse to select the trajectory file. + If necessary, for "file type" select: "LAMMPS Trajectory" + Load it. + + ---- A note on trajectory format: ----- +If the trajectory is a DUMP file, then make sure the it contains the +information you need for pbctools (see below. I've been using this +command in my LAMMPS scripts to create the trajectories: + + dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz + +It's a good idea to use an atom_style which supports molecule-ID numbers +so that you can assign a molecule-ID number to each atom. (I think this +is needed to wrap atom coordinates without breaking molecules in half.) + +Of course, you don't have to save your trajectories in DUMP format, +(other formats like DCD work fine) I just mention dump files +because these are the files I'm familiar with. + +3) ----- Wrap the coordinates to the unit cell + (without cutting the molecules in half) + +a) Start VMD +b) Load the trajectory in VMD (see above) +c) Menu Extensions->Tk Console +d) Try entering these commands: + + pbc wrap -compound res -all + pbc box + + ----- Optional ---- + Sometimes the solvent or membrane obscures the view of the solute. + It can help to shift the location of the periodic boundary box + To shift the box in the y direction (for example) do this: + + pbc wrap -compound res -all -shiftcenterrel {-0.05 -0.05 -0.05} + pbc box -shiftcenterrel {-0.05 -0.05 -0.05} -width 0.9 -style tubes + + Distances are measured in units of box-length fractions, not Angstroms. + + Alternately if you have a solute whose atoms are all of type 1, + then you can also try this to center the box around it: + + pbc wrap -sel type=1 -all -centersel type=2 -center com + +4) + You should check if your periodic boundary conditions are too small. + To do that: + select Graphics->Representations menu option + click on the "Periodic" tab, and + click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes. + +5) Optional: If you like, change the atom types in the PSF file so + that VMD recognizes the atom types, use something like: + +sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf +sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf +sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf + +(If you do this, it might effect step 2 above.) diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/images/after_pressure_equilibration_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/images/after_pressure_equilibration_LR.jpg new file mode 100644 index 0000000000000000000000000000000000000000..093f557dd9011f11456a082bcfbe1340b94c5df6 GIT binary patch literal 28251 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 Q@uD|NJscX?U;n=e0KyEW(f|Me literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/images/ch3_ry60.jpg b/tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/images/ch3_ry60.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3fa79ce3600f449e256120e6b65681140f35122b GIT binary patch literal 3161 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 SN|EyGhmM-m{b%6+e-i+`r6%+M literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/images/initial_configuration_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/images/initial_configuration_LR.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9fa7d195f3db76d596c4d37116daabbba0c40e39 GIT binary patch literal 29167 zcmex=9GX20;#nTMW0D83h@b1R0qH8UG()kYQk8VrB$6mjMdc*jZRPn3)(E{vTnG zW`xK>r9c!T6Eh1NEBpUj3_Q$?3`_#d0t^g{tA2;it~?*({Pf)2Nf(c3HJ^yx{32NS zmF|)%j*JJgP09AGUiL;e>{_jCSsQe%{`^rhvv@09(W}L??pCt-h1T@_LDwhmZ{?l% z!e#p6mGsd3cm$yo;+c%^tt!po@i+j*7W1kGCi9%QG zdM-%`%o6x{Kg{^oFCLqhY5l8`iay+``Yx ztDs%HbD9+2R~h4P|?}xMYE$=*i_+|b_tDt#bo$Oe*UX;J2 zY$z@KBIBiqhnLHXvx*8aLLY24`+5kmOz~%2uENE{$G*(4>J;w=Z}VDr;pWcE*IO>_ zm{7=eY-gEMwDlieU5=X_r(#Q!xxO5l!7U(eyt~e?_%zum(f}7l96Xyu4rb|N1Wdq-?VJHnBv|Os~oO4o|@az zY#n|f`qE>?_M!<#YdEIvmz7m}aelw&u}e=%jDO74IPbS3E_BM98l#({EUwiY&dUBn7BwKz))Ct6_4$$z9kC#dMD03c`y2KW_Z;E!_R49r>|%y zlqEhneSoPkj`g#C(^}Dw>PFYx1^64^aH|zDXw11NymG;Oor(6&Cr&(FZ}srY;w{Gx ztE^aNbs%e-SclnKiGv(mFRU|{Z#npd`O1?mSGFu;<#qMSUoGk_9H@NlPOvOOb;0N8jDyCn20iXh%+8gV0kb>@KB2i>jwwM10O_e^Q!+d z*k#7O*Zgi>XwJP0W%2uT{NuK4FQ4*x?#|^$UIu;&N;SEblV-ZDZPHKEvJLm2uI${hk7wmNxT3(}d|~9=A1JSg_GF($hQf*9P0K2^(G;Px={V zQ88CDzHD6_?-GTYQxlk7e@JgWz_=(u)_4M|QZmn>rA!Ai4izkMW$;h9@9g^|>iC*- z-cKXb4`q6U{q)(p(SGLa&pXyA@63$k_!V`Ik#}`Kgq~9RpLaE9)2o=B8vP#&bny!O0xo*^EzAGRoFmFkk4Rn^`yE?#>XyO6I9~$1gUUl{bLxH>jK5^JZ;YOOV-54vJxt3}UphX07b5-O){4*1 z^<7HDJp z_w?6n)z>TDM@)ThY*pcFc0>KAkl+tX!W}eZ|7c#LULXAi^#vBrGasCaz+v zY-A#!q-toY`2Q9I2O}c`BP-L!%$!`&BBu;%l{HeD-|84e|IO}xdhgtkWlL{7J@YEE zKkAarw<7bJzZUYR3lCg6&{NkZHXEj`I}l_eJof!!~W&f+RtBJ?bkTg z<2d0sZ!-Vo6P3Rz6_Gj;93zy0V?OqwWZQs;K zZ>I+sRu|+-gl&&_Q6~O3(rt-Bs_dbir+pVsw!SevrD({36^SEqT9Cn zHJ`?9C_QCK$@xR6-dXP-edIJP7m+TvabLW!y{0C!ba&B@(^A)$ z%)e%HYr_UdyInpPH7^LWK8VzI%qSOU66@)E;dV)y{lq$*9k+8b)_eSF(oegvv#lxB z$UgSR6Z_3K|1*55xa*t#D&px3&8H_%H%NA!Zd$%`mh{ne8BYx|=Np!Kv8#msN|7nD z?pf*mE_I5IFw?42%vUuw9#DIHlDBszlY3!kz1CW*OVQjsjiwolCk4OrnmTpOZ^({k zKRv^_;d7dChSsaAIi>ge!ukH}PrrY6jludk&PJ~k%a$}~M*T30De-BElk07;Q@N=LpL|Aj&^OYTvhnx!S7Aq7Y1)yzq)nz6`sfdj)F3I<_p_4Jzko# z>-6;djH{}bzpuI+McmjXG?PznuFO1+GMC2Q&1w#3v(`@y zUldy1#ePyiY>v;&n#)(?HP=46blZETvuCl0&MdJFmdh`{{?8z@%>L51>i-N?zPyd+ z-%0|X}^o#pv2dxdpw=T+KVuDI0de$wx>j3u+b$weEkQ>J3xOs_u7e$tj`c9VI>-DLr{ z<$C>>%eytd-Xh=kGqqg)<&AK@(CDpY+tyipV!3==Cbr6vwV}i^#5;5H)bwKO&C6%2 zBzju^ZGSwa_?O&yo7#ns`ZX>cX;;kK;Uo5vDKj(Wh~w|KY`Z#s|Jrqu^Tc!i<5s7p z#OJ;6pR)5t&x?cIc~#N=(! z2UXlx_TIK_f86}}+rRTR#x|0dGa5Q~ncG}`FfaD{q2-pbnztVPy}~&=gSYHy%(ttr zAM8-Gc*VVC&Sd@7g43<89lm_73wN}=bTvH zP3NwxPCa;Qwv+aaAGaN}@|-hvC23_lH`eTWaWUe|3mq-}PSXn44`N+k9B*-LcQ)^D zmkxT^eobHN;Mdn(n}U99-z|TfwY^q<^Z9=Vm&Nyb=vpcpO)7JAemlMVhg^2^vf{oC z9-Q-%KRs!@t;7%?bl_HsO3v%k8(%i1`)pYFqT`BL@U@N4vTpUQ67&&-qTWcZ@E*HOLB-2V)cYC$q~YhAY1*R6kY zCA+04g=5u;nX96Bo^EAZsdBOB_o+9%8c4FpN|M~6o#{+-wO}=^mqn%H6w~FoS6E6a| zo6}}XKlNM_HS=512h|IDMv4m!*FJ0wdRU^tpDhq1T@t7;by~0w`_cod25&8=i5R!# zoY=h1wzW#-Q-OBP&*loJ$%mS>POj1AtA1T$sTlbyTV#Uvxd_LcviQE%6Tj@!;}75a zy~Eq!diLr&jj^xFlFbt=OQs*oov!z3?xxFX-9gqjFSw>$t6bb*^)`T&W#WxB(+?GH z62Hs1lJmmR)tnQKF+Y6fT2a1VETc6=THvvqlWyd-1x}?0__z)qFtYj2koG$L$BV$f z^Ea=5c)8$NU0_MWbjD?->(0)(Ja6`k%zJC~7M)y`o3h?g&6Us8p?}qaZ&%i{bUU7T zwj<~DI+N>58eOBEiXS}EzNfx!;byxQrqx?^TCpJtQ%6z3H)`A?oe&#|sXBi#u0;{K}q99sT#p0^=(Ug6Al%pY+!9tA4I(GgJFlbG1`9 z5=$;eOnEDDiky6LsC+r`TQ1UmJHMzG>cddGGmF zhaE1b|G2g5@K2fO^kq9G3pMXu{&>OmUi;1SKlUr_FFn|>-p^Qd+OFX3OO7?pP@a)- zwYetYX0Ua!)k575%9<(KQf_P0DmUF*ea0r*>z7`q$lQVl*SH;)JLpW0KQCvnvgli` zxahpOt7fd`iD-S5OnwRF=MB?f@ zjl)dle+kyTY`%Bl^FTqJ^Qk!&t6uk-zKbdPcyy5V< z;{AAef%uA;fP#V9)NZoF8vJ^L;P8t(T3De`7nRzCFuP@BQT? zj9=CCzn(Ii>bq2|d+~DDInt9>99XMtxK>JzDK(cVZ)UA`$b|V97E~-PSbSF~qckGq z8t>|VL6@$D+Z8{2Hsuv_RLbRPt6oix*&1QU63cu;W9iTCTBT5L?~PXb7`|u!c=h7* z%YWzWkCZ&pVo_)+Vfnsymq)R1dT!}8j$Plk8(JLvwfW4p?6n*%mNDgP(r>Yf#Z9(Z z|0=zBPQTfHK|6kzb*X~8zj7`87`{XNxt>Ah<>#)`ZG7^th`$c`a8XI6yXkz#O0~Cb zFU#)tt^Ln%?pyvpX_+fgWmBj09qa4a_2k#D6{#O<&xm#FN0?vbT01R0+F>ut`4vr% zwfz^1wfQ34;f53OZRc8ty0=?2@QbuZawv z?Xtcr*kw`i0}*B0{f}2G{%4SWbN`Q+PG*F)o4HML%Fp@YkPdp zmCxAq(%F3(GYleDEnuH&@LV>XU&XLk?MAyo_mtq58Xq@RpR}+!xpkMYg^%39ijU2q zp>e`zUT)<}t8MkVsI~r5t%kn-SWUYPnT-uw|v#iS!Z?RL;u}VHov#JPkkA5RU=dA&{>{iGFL%XDLUA0 ze#!7tRpIAV#p-`k#CNYc^vRp~^UKEH`(~-niP7J6^w94m4EIU|_sKh%@4k5P!!Ij4 zO-}c@V)Ly`<4UUbNnDQK{nYus)x#&R`{(o9{HT04-~QIFSwHswKf<6P$iT?N!ph3X zzzk~FgD|5Y6SI)8fP$fsqoR^SV4{Jtu`{?)&&Bw285E;mP{f9jNPU?Kv_ zn!gk;T;g%+M97kPE-&o3*2K1yAFL8jRP4OG;74prn@P7%-XWDEosou-6BcbO56pzvuLrY5#3GySimwLCW>xA?`(KR}cAHglyg3xBmu2c&Y54()L}8 zz~Z6z{rgtmI|5d|c=eOSO=fPVZb~f8hUf~t>)*GrJjmzPBB9DdeXsVEMYo(?rKmnf z`_)aEn*NEO_PLAct?{{~s6I#Y{p#cY8JyBCny7qkjY%o|Waob3@sq+(nVDOBIc*+# zUHfPMOW3S)q52%Fl$XCtPF?^x45YYOH~;bePlm=BvxF)?WxB7J4OV|`zwGZDVCI9H z5;?sSH*Is%cn6gWx^mAp_R8e4&V}mp)#m-`-0gB<@}h_FrIzyAPiodrJlefl7$oQV zDf4|%-bE9Y7dt}wZpt4j44J*9-N~=Jxws{8iPiMPV;YlWy*Er)8(R>XQuIc}P$eq4 zOi1FAu3^MOzb=&%;bQ-s@-E48T4_vNv|9bq42_c$C!`#mkaEnHW6`SU2``jBILinu zRxA^Gqk6-8!}LVGL$NKpIYHbL-V>%P>N&-Z;FLX3t zEVUI`zG#Z36Bs#8NRecN5N*;QeEI($VXy@yH)duwZgv(XNP+{6g|Y|=C>pW~2|ETC zvWbX_DH#O@ON+vGJm^^T7`eMJg`I;55htN`pC9IMWU_eV#o>@6DA>eUWod zZZuXpoclxi{pXlhefGKgvgaCpb3R+V%i>i-*jW1*B#L--k&6Hd4D7KoOd9J z9H-}oH(1XlZ{YYa;|sN4qmR5xn5qLGJb7!XF=<`XbHnR$N3I1|H5`_FICY`+?9KQ6MQxRZ zg7i`no#yiWzG8NNcIerc?+!j%{wbwWt=Hmc#xKpDr4Nl2&K=39VEWInYUYX0K@-kI zY+0mpt~9J~sn?UplQW#OS&zD$2%az_?pHu2C9gN$(7&=wbLY1? zZ{BtN^?KA=dgDLCA}g=B1!vBDboZ{=G4HOo(jO=B??Gj%1(R3n@BWxB(o&Qz`Ezxu zwXR}t?2^!+Td}U*84X)l{jRdEl@wE6Sy}!tCBDPy-zz^`r5)Za``#a_t3Ng0T;iZW zX2D+5udibhf9ZVhamsPe7TbG1bBD6v*BxrRt&WFH*HvEGlzom*Z2Ass)+O~xY>SRh zVm*rf-Ck%zY$ndrF{8@H8}aVyn0$$t;(st-KfvVY@F0Y2@?bC3QwYh|If z!JOMiZE}>ZaCUUefj42DE7zXg5xpo&;1;jzGU?c^i{>n>tU9{uG#oPmQaGm8T-7^} zzamojk-&e3T~p#S-o9?Rao}#cT>Hs8!Ozy#&40Z8LEe9c)QNVA{O?~Z7F<&H^-xYi zo?k+pcBhNMmt{Nmu3V#gJyCRLMm3kfiY(ss?Q^Rx)&@H=wH?wf5?EQ9=bMg!!4{w?0VPPlYI-sawePxk4?O|3tk zf8hLYop!LS+^+C^?UuV4(vuJOhpf4=JSwgHY@&Xm|7*>=&Ka_#tmUmr z`Ona&XpoXD!Z*?4?=`3IKkDmUW&W-HKJ`%D9@&#m53draKF4Ty^u~?4j=f)(idC<6 z64j}mbBF1CsTNb>inVRKrd6+Q%05@hvGrZS5nbhmwF0K18?Gc)<+w|)Sa|+u$;K(m z-9;zt{X4(j)zH@%V(c}s)8=Z=W0$DE_y2fX>)4a+K0ThxXPt=qcYgn(8Rf6-D`V8Z zO(<92Z!EfubKUuafzlIu#3l&O5)iXe$hx#e?S5^`#muN#A0C&kt2nUMIJfZZYqeui zmyP;rCQe?qYfbC>H@|;rcDjT z9_C6%t+{q>+l0$qXITOny;~RdiZ{$uoT>8i^!nYeyCBY)`R)C^a4y>=vL|-%gjIyD zjM%yVb37*TmjG zJM`&aZywjKCZ=h^u2Bj)Y8_?EZbx4@c4+Rc)$1;4&3d)alJ}>6cg=w{jo`ppU(vbe z*E*4Ekh{L6FP!}7W3kcWiw6zF?u3slDG6I*QKvbwY*n-TOQl#Qg2`C%_i`&WPSWTUPRY zMtgMAT0JgjH6QvVM4FnryGjJMb#TBR_;tc>0+=bN#JeJ zg?M8Tr}oa6yYt`3X%#t{G-mX!&2|>Cu(xw9cJBzT)XMUco20SRdTZFPl{FL1O?g~f zw9Hrhlq%ve7JR!yovTGQFhptNPldyIir1l@-VgP3h4aflD}Jgav22{t^XA-vLJc!j zYY~IG)DZ8Lg)T0u7Jpvvcyx!Z^6wB|#XVXsi(0&03$%TO_k_6H{+PnzwJiO4Nz-G& z-OrC&nYedZ9$DVLNQrGlvEYnbrblWo&YDrMu%pJSz+$U`%Q|i~+p~SwteFefiDc^Un0C>5E<_H9pddxj+A1zrfD@_IKqJ zi&*|Ml%LUanE&o)>j~k%_YHQk)$e>Ju5kXl&7min|DMl?X|=!enR~+W-}4fSWd1W0 zpV4!k|E{w2MDcHXgPnZ!>CeQK{NMaJ^u+V;{6!GLXW^zVG2K(l;<_gmwVl3Lq!)0r zO3(F_wDOakQuQg}%KmSFvOcoT(s)aGXG~slMva$nv9$A}aH$#Vx7eu`uIyd-QM>2(`}sn%jpg^% zcnKTsetxvDJD&8ny5>(VUaneB*=isEK$rm4f5H($x+`MShp^xC!8zTdoJ=5_=NzN8s@t(QS zL0OhIpM|EsU3t3XKSOVpW}jVJUmTCoe+IAc{!>Dm_Vb!82?T<{y_Ne zmj4U|%V+LcXghsJ_}qRC|4k=nH$3$0@Ygt-eD2WxJ86HE_TN$aqqOYM`YFrK%geIb z3Dzt%yU2R3Y5$#NzgPb~Re#v)($BEOIXAe2PU=rhlkA-m-K#SH)#RHE%Kq9)Uhw^{KjT)PxbQUy*k_F zc1!=wajA^Qm7%*tFI-bta+IAl@J#Vu|Ch7Gn2Y!S4%zr2+p@2>rhm9}o@Z@p zZtC;t>w8VQjXl>MS-#Zmtns77ed{W_!?XMkM;i2;F?zK|Tk*)wFVk*(TFE|VhvJux z0#lJ9o7t`o(&ckKc9c!dahtt$+pQUTw>EuRyWog{<==ek(lw4plT@ZT-ICd}g5gul zzo)5=yKAlbULDqc#50M(?feU_c3zgZYKpf`vnyC#v#2`by?n{^b^EzQ!QNXcw8Q6a z=HoLPj&I^idH*yz-QWGUi@AKRYj4UH{}mIY|NgbfOgY+dVq2<>U)(Pv$EoSDdY0d% zB2Vl|_inD)du+oeA2!cwz2)tNE3S)doY`=t(NT%ZFmn~3#mZ@L5U$*B~fT(l62j8@%u1z+pbj&jiZdfSwMu$!5uAQnT z`Kj}Ar@Esr&%S=;DECKV8w3-NE|#dZ{vF!)YyXUe>$N^@-zz^iJ?AV}+)WF9sZ;N_ z+JibMvvyaF=46h2XE!ZtyL+{BHovCNE~CjSe_LHs zys%m!-eZ!iOv%Re#z$98@OxIcyz!@UlGj;j#^devt!Xo-+vqOn-(;gD@$t0asl%aH z!~SsmG;?~G8q4u+$*v=T635omCjDo~GJ4w4;pg-G8uynq*4r}|2i3irRQ%?$oz&5# zW?$xLE(zjU_tW>>`~M76b#BboI6F1eukFrJlfIjQt|v|2a-~k}*EM^j@1uO#L4EXB7+*Wc5!iSu?k zY%s~z;p5A|IWdot4jYy0_ev^niI~64!n{}Kl7`_ty|!;3SHwl9PT=-x_x@rk60y_e z@`|fR)A|mJ%$@Zdx|=wzYbiYkQ?}Z zPwsN7!w*u>6&6;q|H6 ztnFP-!->?(_-g$cCc;SA5!D0-dY)cum4=vuD0MKQlC|GCvAz` zdhgoRJxVWG}OK+DDN$ zi$2=tF1%WI%PnP>?OL7it-p_JbxA(Am>H6-D5BQVv9a@Jo%^u`I=6FoYrQ>i!Mrx{ zVP?;wYKbnk@jUz&02tUilKfkIk0&(q?9-fZ>;VM%2{NsEZIjcf9+$_siPZmkTy*MDxB zjp9A=Gshd29kW{WXw#d+U*0db*zriQa&=^HYM;;gFY#XG>eZU3^R|>-=u}XjxLH>( z<5Gmg?X5{$H+i;Qe=)DLD&+8ri4`}`ZmtN4%bMe$GwJ0cEy4L|mp<@cUw-2KuLJs7 z!Y0kMXF5UtX!+oeKWDpb;eECB&DNO0(;n{DxQB4lso&gWUtwgXWZwfnryc4 zxZY{HwMk}&L++M3-LNK|4SafcqBh((a?iJQ_S&xy=YMqtJHPK5OYyZ^*Jmc)4Bb}Q zn3xxPW#$IQZ5aY)G8ZPFU8;5Hum9a+i@U|%cN#GqRsUx4Kr7_X)5iHPc@F;$Q>;0Y zw0KJDS-Gz(Yq>XV-zxWYzf~XG+>fmGk?O+H8MQ1A?thm)5+pk#BW*&J$Fx`blqTv< zaJNuvEoXLv4Q^iDiH0=(_e4lj3ioB!9=K+FpvKh|8kyZ5 zYiE4P`mAHV=JX7nE8To@2}V7SEzI+_*t<<=zNclOmg&9W%+J}IJgx-y@Rb!GHtxMO z$Fp_jeBX(kZ7&zjlavr%&BXuQvn{+b)IH0&IJ)B5R28|i@AykK`ZR_4;tn2U*I2RO zv`Gciosi~fi#x;;nyx1oJC>bgzqDar;-w8gGWI-3oVo5&+TPY3;j@qYSbBKdzYAs^ zcD*k&F7UFttnA9M$+}*!c>7)73BGoGzR%R|m!|ZpP3K;gZnkw-(4w`yTd#dt`8-WV zcl#pFnq%`>S%N%U-R~ys%nx)IlNLx57uvXiec9IbLrKm*PqNPS-1T(Z)SeIWf`PSx zalzjYe_r$X-rXzz0;4;UyN*V0jZyn!e{Y*XE_2lH*IDUL7Ja#Bcj>{c2i!Fo$9{YF zFJfHjCvCrYTh609b^e#Q>v_!-#80f9@^WqEF?q9dKg(P9Ila9pQW!XSlel~-r@&qR zlPZ_W1ky~^bc}NX(yX#0H$3^fU)kSqOZKrtn-*{VeRO4zd6IwVRwsAn_WggPj{e~9 zSW&lNy{7!HMcXz#@-H}9^*P2Q^2yuOlPedCiF4IzusJC|zqIwR!AFIlhshHTeBwS^ z`+Dov1sCGQ6&}7=xpY43ez}cpeLwqeMlL;U)MhnTY&tLNRq@uduOgou&6U>)qa0#3 zDj%9sdD~S&ZoTf6d0UbWCvZQ_pQH4xz13aE!rjO`LrZ#T;&p*%mQs%uca&~;zb5|X zM^XMOqEGd!v`sE?T;DfeR?;}}lD47a-LRCY?$KNp6+y0w#c7ic&79_%8mA&B66E>) z_$HCdotG+fzg+J1-w+--w_8i#*=^ zT^f9(cIxIDd;|z7YUl7EPeE-j8T$GpLxxhgWEkHS6O7HWPW&a^Jeio!`EJ% zJDGd6bb5CBp6cV#;!$6kV_mgcx}i$y&_R`;9GSMxDR(>^jLIN z_ULK3hY=IHHwxVNT)2^FCNTe+=Tbd+-uAPW-c^Q2-yYjGW9f}&_qJ{knLOXI-6}?PN?43Y>V}5* zNotqAD76{NWF8D#GQn{&&vLg%*`h3gY1{rxYT4)a`dZk;_4Pih59rs|YAKxR(qVWS zkx_85lWFc^?SiZu9Vd%^_Si5kKYUKgwCr4R-~v05#@&&wFS*JV<;foJO;nufv}`H= zTWz*YhbM@gmuZREU;2{g$-Y^ZG8rE0Gbco7m-$+smB{$bW-0biAS&IVD9tA(lJhZ_A@L3O?=Ul(Adu9bMLP!D5o}!B(#y zZ6^h!W*wK-lT}XgdUn6?%bu*tbLV*{o}3_d?M~;CNyalJV&t}b_P80yde-}C*on<< zd>NZR*tFjctn|wiVzXXjTo%3jq@LoZcfBIB(@b`J3r$`aaXRAp%Lr%XRcn^y9G+WT z9~COII_Fz*0aMyWQ<-luE=AkiIwn>ZUuvl+ck3&B6}`MwjZ5O1g^;m=*fZCp`u0cK z{Oey`e;60=eepwg{ubRWr*FlD8Yf-Yv-Z_zbF0eK(k2nJ>z~$NTzK=~c|l#4=vZN& z)wgUj=N_5KdBN}s|EXy%%rW3_aZf^b0@Mxp`;g6#2m%nD8-nH@Hj~dNm zuJ_+&9-EOY$|tFO_U5H;FQX$9A++^u8knHZJY`{|kX`CWS+ zOP!W+y4mqo?$tEOMRnq$MyEs-n4Ue_ zvsh-fhF@CFoXB>4sUxSNY_y;6cJuqXGsvs$#bX28D}}*NW18Je&8IH;oN{zQzLUxQ zr%PR*`glKlJiVpEqW!~9)k?0kZIA4?Wb=1SPoK-NMeEl68SB*#MOn-|Vd#Fw+{$^`rIQ zMBDEDjryZ4|K9yj*OBo2?8YNkK0h|(EfwcJ`=TTHv{0ct&Tz>K=!ixi{CFAKrHR-vZfHoLW=4*DQbWz2ed$jgY_ub}a)(4Mllvjb~Xop7maQ zq5boF-Dmopopt0-hE})61;z*)ZHwN>?#*(s_EsmNwbHjG2OXO?fhjkyRJt@EOH+4E ze*T943{4w8v9m5=vHB|<5#x3tJ?+%#Gv$|ze_g$sb^F-%d4?-~dHeFL6E4|g9duM> zwq2(B#T6gdDs6pqB3tm${@-EJ@mJR$+Ia8xr@)alm7>*~;JIRAhJ=EVv4_ zdEVGc%}d*GNpcd8qums}<@>!3y7M#^8ck)NU4Cz3d3UO~uCuoO93gXluRf18mwaya z)I5IersMMT*;I3*m-+7xwF!BC>)&&f-Op{Koc4c)t%e3Tt|{5 z8(gm5Zkw~hxjoj-bV}96*J@9!+iSJ-Cc11}-2UcR+d=K5d;4#_Tey`y#eDwZrK|y> zZVg;F)mOT0mRld3%%8{?ziqMGo6QmbN*FG19egMpmZqEk`N*{s+#9PyE^fHWd1=a5 zQIR5}D)-t(Iqi>Y^moO#ChvXmBV>KY+|$)!5A04&;_*4mFSINzLBH;mfTgsg z`8*G|^zDAHZl2(iW}L25sIV{YbM$TxgQF*|J3U^pc8L#H;g>n?Uso1Nh8__!oAByu zS4_6V=Q*!LO+G9+qGS^7SRl7#mgic-?Dw*_XB|yUpK`p@?T$=x{rg~d!@o+*yH@DW zf4kzz#+X-9$2%5w9q|YhNsXDi`n9{*8>L6$YD;!J^zNIyd3M^PTlWu5b!X6xwtVL^ zcdE=ASI1|c|4s7TBa}J$(1yaJokoxDZeL_0G~JM82g}n19rxx;$ZC(1%*IQeAe}pL?tut-??)_m+{=PpePHTRU&59H(y5A|&nzQK2 zXH)rkhT?Bot~7c|>D&xSWme@#J~M$o<>UU^{9o6fURpd`#-n8(bLVQk3ycRiUb0CW zG-MTX$6VPgcd8~kyTh#2<816s_P@KjbQIH0UC&;-|6GZCt;b&NYx_T)b(@i%Hr4ad zw#$FEDn5|SVtb(S0A!guu#&1X{m zTx0TnRwUD%TWxaelkQ!X=)Lj%T1a`|<&=z;^61$w1=q*?XE<&8dj8L}mbS2SmTzuN zJ+oxf2WzwSbId=Tt$FaDLFZ!F5h4C}ra9k!Pusf5G&RPx{Yuu)^Z(fPmHuaFT&zCl z{rtOGw<=GZKlC$dUxhvA`g#0^vb7(x?vdIgll1gM7MJ15#5>u~SALiJ`KtEVoOOnb zwf<6>;u4Ls`=w_8H5ORkax~(k)F*{&!tqy@ADS~qOlH!ZGN*m1?f(MS&rJN!Fh#T8 z`S5=Rjqo!M{spX`<@je~yh-!Vq)7mqLPR_^zD zpt9yabO|N$zt#VeIx$L!@tz;~ZZtD7nx|@WXXZ=0&=XpvMOi&cf*8TiGPo_CInV}{w_3YZt&#Sya`|Wik!}< z>PQ`vvuwG>!1?d*Yu2WBEz3gI{!3Ia+^XkVxyQ$T;?$x)hUPqLH?^Bu{Mb-&=b**Z zHM!!x-cqv}cRi{1JXkIAM0V-?$^RZ#ziHffamNz-n2m8=Wn%OBpViiX*9p6{XrAzU zp{|7wwCg?uF_awp_oX*sNxZPVF{i;^?P~#%(>}ZwC~Mwx#=w5&yt?>{0;(G90y1Zd z+2yydaa0kj5*2xRa*O9drpl`Z4&SWK?f>`j_z^4b&aF!AWi?x8yn6dj<#OLggBLT> zda4a2nmO0-#U`yTUK5mj^!kpPlKi&7CA}xMne!`a{d=(W==ZrRzp#Iq{?asJ!(FHI z=QdjD9pekHN^J5IjAnb**Y6m1f5vC+tPe)}CUw5heWD+<@>}O5lgk#(t9lbw-Z|lM zAcH$@ukuHO?H6vogm4Z_U1L^{901SLmxD@YdkyVUsjXTynRW1 z^vt_SvE3WauhDO1<9FA)=Ej8$AHLLf;QYw7!c{*k?w{ZvG10BjViR)f zjDj-e+A5d!9(wBcLi@ninu8o-&)SY(y=J{>D{Iu{y!Z!~R=gA4zhX7FMvk#R_dNrx zwP}ZJuf9_%f39NO;UE{b^pem0Y0)nduB5403zz|S>L z$aXg~fg7{k4Xj(1vE=PMI{(<}cbUd@`)7r02)6O!zZ4$&bMB#Bhu0grmgm%psi!^g z3z7^t@Tu#mPA&V)16MqLmHeEhQn+fZJ%6Rcmg1_)&s-gqYfEJ${vP%$uX|>GS$S&Q z?f1NuFY=`OoP-+>>(BSF>)w$iEqP`4DYI{RXP$8zvHTJ&;9cx|+_3RXWo&r3Xx*lV z?TWnbPZxx>)G-;{+q|lpe~+J$=HZ7?KUxn?x_j;G^CML^xaTzgsd9Sm@w}+vSh7av za;aZ(>r{j-ZB9Mjtnli zs@l0@%UjlJz1_w~R$sh0-SGV%Q-?WEFE9A=v$c8q8q=Ta?4LYPbk2?4Q!$@?*QUoO z|E>{Mh`q;WwMF)o;diN-4ty))XGl46E}Lzu5Ua;A{o9N3NB<^i>aI8|t$)v4&W@cg z;=Dxuzl&|w7mnbSh&J4vjFy1L-?FVzyAb%&z2tk3%_q!I68e&Tq?L4_L0Z4ytfuCehn znh@S487z4;KJMb=+-(9c<1eytF_x)@`IwpYhu?8<+Gb)KdxgPg(B4y^?nyxwdQMAnKf1I~6js9hByx!}|-mhkP zT)30*)GuewV(t1^ClifV*@3?%8%=)t_h?eXomket$F@JP&tJd%!=%gMDMk18Dz-M< z=6Sx&(BNZ6{l>>XwB9m2oq5$ECveq!slw>ZrR#V1xpE87EE0X$r0XlucXeI<61fXq z22A_!luZj+ZYI1~++5~`S4kPe>wAly$G_p<>zEj|Ir%pEJ z=^5Q-)4h@$c`KE{#QvQeXIr4g3*Ul}S=VPBS8?F+J6-fngriHQP19NT>)b^Z?2FD< z6l!nSeY3miPDtpwkMs5>EcV=UU0Y|)hEUyyzyBQHwX@M?&C7r@2lq7w2)?T?h+oF; z6tdYq@aT@8Qv+Ki^w&qs6=l&e&NZEsv3YHJckf>(BlGf)x73a#AFsNXrM!vr#+-#0 zor_W~&sJJtuKJ%r^S~9RV%J99@72e4%OA8lSoysx`0Yan)>qnRzjvP57*?v&T(NzZ zuImZ*XJ!sxJLB8(!S?-54MDyg7zDLcojD66?nSW`As`2WCB83f%&F8B1b|2EytXOxc!1{pNJ{_62 zQ*QgNi$1fxxSes$)3@^LPA@Cth&;^lr1D(sg0yDQTvo}>{vx*7hwJZr)U7#jZhKE! zvOinvoPxXg>y4I&FlOC|+i+sPk72c&?K$76=|<;uc}-;4K74&CZ*44MYro@gFyEUZ zopW{SWq0N&Jc>S3XJ?zrC>;{UTTm)mkrwCwapvazSB@W(jJUo1+^o9fKJm0466cCL zOy>SRlG{|*|w^DC>5bUN?JDm&F{9`b$v15FR!7432kk4;1VGZbC^vEt-q z`(sHKCfjwr)86YjUfbohx^&XMq~BFbHs)Mm(sr%_WU&KCPqFd zw&()N_)nE5?$*tmt&u3=cJ`xx>+jLTh zHT%k$_jZ;$mA=$JocA<*|BiRtSmHF7iCTL7{FZq1rnjY^%sZ({t-G#q%7?G3*<3DN zR>!P;`Q@L|AMPdo!M|qkG~_1uymZ*h(4}>0()zx?PoKtW^x41ejGwwhR-%LNZ16EN zCkBOT-h%8k2h@3&misa7^Gr8e?Y`zh%sVly^b9woiZl!+Nd7Jnqzxf-RESd8t=8KJ1BaVK}y+P_8kyG4#<> zx2{FMZ&iCOOl35>V#2rP)ZF@(&OgbE_sD6;EmXR@@rM1%uz6OC-krX3q$?u%YMhc| z*-M+9wH$%kN>@9USO0R^dEn=}scpK4-%Og3)m8C*%0YuGHtj#T0~39I%(gXsCujJx zv3AoD_RIG)>v|UFhzDg~lew_WWMx@Sg?h3|Bq&k$*hl$3mF7vuLQc=MhuOP7`GIJMx4bmX57o4$nUp7-6^i+>4pa!28Z^1 z2wva3W^v%9)vl9%wmh-z`#8<*)SASn(N=pO-Oq5|QDa=YzkP+@@rBVZxlXf|OBP4& z&n%a6EfP)H(;wZMypl~XR4`K8=<#RH>~f!VC)(1DUYl$0PnK14c4>2LUU~h;iTSQA zqHQ}CUH1Pq`FFFjX{qD;JsG}{UuU~B>oWdZXP&Rs;9ICS>uR<5k|-CI z%io>PG`w*PVzWg3lqCcw@1(!Q<-+8uS`C~!f zg>N}-r&-C`tFX1{9eftrsrul0%jS3PQ=VTlJ|OUI&uj%5UcScx8Xb4Dj@K!xN_SmY zXm#h;y$-JEqc`oeKeo5mq@8_wEG_qg$brSH-q{NF9gQ`;qne-|%@c9mcE8cCMSFxU zul#qM(SqS=O}mIthvTfQ@65f?Lh6b)WclvY?c&mwFwEkfp1OB=@s_h0)fZ&UE2brF zleIed+-|dH&Xr4%oV#@6f?d*PmV~zE#62?(^a;r8ZJU!M(Z$8N)ZKce#aG)03ktNO zZl9XiVzc061$*Cx;3i{>AI}&q1*X^RU3gJNmiLCQdGxnwDgw98)jNOYcVt}6P+RBu zeXrn;z4PW>y!(6FTG5G%uZ8*>YA)sXcoLno{jLdP*7`S(#V6UYXjqtizWVB)a&NZY z+8-{PgXZ(Av3_J)VCC!|$=uD}@VhhIRQq(Fpwry#AKDzam^-w$$2Yndm$1AqmTK60 zSm)2BKVDCsR`Gvx@?V>`a%X*SO^J74-SzwX{wCeF-+kWq_t8}ci_dF>9ea@%wo3m1 z#Z)~2-B8os>3neb^mt_Pue- zf*8M5>+c+Cm73FCe)Ijz$=+pt%Wczz9Is0rHeWfnRc7ol$ZB%F)QH z=Y`H?m^q}pdfbsRfv;d!+KWZA)0lg{PQU8(pid^hc9G~b#_Z2!#m^o_P2_$nds{5# ziA_#>&g;!n*YQ_>nIU}Q@}B#D_g!3(w`Je^U|9=f&cz9z6|yp3Enf3 ztJjv+dnj_AxiO31ePgS{t_93nww~U<;PB<|0>ZBGCEL0~^u_0Q7%*gPQB^ATTKt($ z?@i6=X`iFMwj1m@=reb|;@t0Dvu+AK%iJ(m;QYcMiHgRK(o;53wP#K(=dTaH_tD9q z()zFYdxMxId(7qboL~8Je)wgLs+GAPx@QD>Nmae$Ip7xf#GEIt^=skPG?tA?-@aEL zXq8pl^`&##3)}NAo~gRL+{G$u)UxR9Cy5gMEmATEeGW)hZJM|0<*jG;wF{=n>_6L4vVbjtj>E?nsLVD)_pa(Psh~aytjU7=VSWM&~iA5+3by@g23-^=gXaY z1?T&|di$Egr%gGn;@VQFkNjWR5+ly2HNUjtmQ--Wh3>An0baifl;{uc4KfBg6UTfBl*{>j|sA@TzCi$B`! z{x#!-ko{FL(U;|0G&Vl|qkjLd@r!>mv_&rcXPBN8dEBniuK!m@$vWl9+Z-cA#toB@=GcQPN`;XL{9IM0rxZCHy4mjWZ zI(Vc0I>qW&zx-GKXAru6`P)qU;zxGnUyu9>IG!QH{o;|#ulJr`nC+CmFy9istry6D zapwG9<|i+v$?DB~ST}S22Z4z91+4`ZHOg=AI6ED9#MpC3kjJ2XQT_j04B*q17(hFZ z1RfpfWcpcKUCiY1fXnnV3%BljpQn2rwm*F%fAaJG{Ttr?37jEnyhBlgX`Pc_tFfJ` zgEafDKmP=$uz%Rgwj;<#V3pFN80Mf9M(;PN&5UN78X1@*Zy%hfda*`%LU_ZwwJyRF zd4)`ri^NVwURcI(NZ^yecK@3;4GauIo(w{s?^zoq8>?*um?s*Ds$6hTn8c_e#QBB) zfxdveb#wH_Jw7@ISk(?Gsx&xW?>%TgxlX#-eDbpxvqLIO2NaDO6EE`h>LdzDGM8=I z>}bgNfqg=}_(SLHaJQ}v&zOuo#V<@eT&-#MA;jQh^{?AWyaj4To3xAsr_3{+Y?5@* z{73RE=G-FIcMEiznI?b9kqmR(;FR9+^7AzH_^-WfeV^i_58iN?7Wr)bnyh18|Bo;z z2{JG-2LW(K-Hw{omy&b$GUsVILwzGdl2h(tX)nc zqAQZ+iPPnve*X-2ZRvdbzXN{HW zt2*mEGx+9$Ux!Q<&%BhCIVHpW`)x_-eIGy6PkT6L*Rg2%70Wj&NIfJW>DL*jLbEMHci#2j+-o*Q#a$0 z_@N*1+z-7Ux|tr%aetw5)BiwEZ<>)k$JxyspEV^O6npk=lwYR2C-40%ZOttKch8Ex zopMX#zL-eH-?N{S?0v%BKkwbo`#ItE7j=$3ZSR}If@hc)Zv0?gw6j9E{UD=ny70t`pGpn%>E`nt+&oStGF*$x~|oB zVv(t_xJsm_k>W!^-pnZz#VrFed1H>fc*naxV!hn{xx0gR={4tHn5vOgVVSBG@Z;E1 zUXx7|BfZ`jJTUiNoPSO8_(Si9HQL(eR_qhqc#HR9iF93u^SeZ&iR?3~PN_FLmq;&q zVShuNt3Z0^qMcK2X&1g;myx@5$}MfJwQYx@e$QTZ^WPbl{-uZ99-o$PU$b~U+d}U? z>1Fp1|7|L$ihEpsu;f(1UVc;FWt--!#-wJL2nLzET>kK%Ax%hq>b^tQg9~#HdpR79 z>|61r%G&K>Yx|ZfiNb=mA}ilq+?Dgk{)XH2ja%$CE(|egSrQ|V>5=X*$*p;^^9qlf zTvCBMueI!*B=XHdDeuBg-ucZz*M;x%S)cp7<*l{fWiYYlz4f`zd*1(N=sT%0*)Yn` z(T`li^4lq_Bjw=j0{YSOsuS+ zGu*)A%#cxLfxyI#A3y`m7ax8+sNeuj_@Et$0`@P8kFiNjU3u!~9j1c|3S^C}=I3O@ zpZzue#lPjh>Q^-WXUM-It$y-XTjA%rW&7*DivRu35Num}ao+ryGctcB&;7K~wk|Ar z|Hfv~_Nxtb@1HRH&u#tj^Zv!<#?zWTHOWbVHDCoVzkVb|xh z?Jm~6932rRpM1+L#L;P0yr`)1Q8Kx?<3;}!>8SU$k5pfI#qIeee4@_9Vf9t>rCu3Pd(EchI8VE@ z*+JcThA(sU=PX_wTLlBl=X;oar>xaWP+__@gVVW(Mf9cogWNZ}dEY)s+Zj_|B&&3@ zYJZe)RBeBr@Z)H!p4hj|p3@ztU2F@!`dKh)TUKuxbII$v$Tj)blsy#mBP5;Hhe`VU z+VsgWfR+2{G`6{68a4(C7_W8+%ne)AyD?9SUvmDYcRl;eKUaSLyTp5C2h%CG=A{RH z-Hrbpl$j8y%Ch12)OGob|1&6XTLe4qU;I@#ZQmTOU0EhiYfsJDR{Qa)e!7Pw&%R}P zb-b%W&M?*;VOw=~w}NHpwVCq^-%Yu8FUhusxu0#vYETrZ`Ej zXnxTH%Pgi$DLkE{bBF6FW4YskU(s=!-`QR`@ao{_M4qc13yk!mOV6td9`r8QYP~En zf7ztFNzWXG&WUmJ@4O)%>FibY!O`m3Z~GPBpGXxhPAR#Tve#z&%&v7}Z;L*x+FQ~m zrRShG?{&|`xzF!ZFF$E?K(3DQwaL9h5t%=O)(i9L82K0#e!m>>F-7yp;)2CB-rLS> zoi)XGSJZ;}h41?0!}qKWo@ctvZ^FuhT328E%8mQ*I!2T`Tq8iqyO}@ERN=bq0+TJz zdA6OCDtfT={ppHj$0r}_zaG2H=Wg*W#?3Me5j!)o`pq`CHLR{vzfrwt-s*c&-+!3R zmEzl4ULUG+D{=8bz9q~VIR%b~MNTr96=tlA-u2k~%rgOo#m(wo_C^6yip9RZjQE;r zR9wAOYS-Rp>*FMr2h_6O%-a^YeRTnAKZDpyCJjT0r8PP1hTN$~q(gka3)~JrQYCY6 z#p%9fD`sfSYSM|=ve|TPa)e#@F7_SYXZ@}J$-1yW>R9#Ws!aAZsW#8oY&Mz^a%Rc> zhLXJGRZV3T3R6zq=5$>7=xE2z79~MF!L@?g94ild*1B1Sp5OJ|{gd_C^Y(upaIfBV zO#IyY*Z&#jJo`AQ_TCe*+Pe=Hy?*Dnr%7c?QM~qZ&NWMI9QoiaMnAP_jAEfT zc(d1SeQ$Ga<PE3R_= z^!vcOlR1BOG_3Ft)!}=gvgg+stNR7)JX_mmdtKwde_U!q#5P{%?LUcc#tB&#cLL zv{lDqtv4S>bEJ5e?sEI+muo)nS|DM6@ul{=>Vp>&rxw4|ymf?8R4me0ODf^(l!CIE zj>)_glG`{s-phA4MFw~_wy`F3rg&>MX}eo44UT1FFSZmep6YMCN;Z7w)!BM=pJR+x zzDP`LbnA^I=db)wJF9~v|NnIIuLW?^TDhn-(#1O7;kh*9c7zw zj#AEajKmSyxsReCcHlu6-K1 zZqc>PjCZOn8#We1Y%ck_Y0r^gcTYZA8=JW5=c89VC4AGT?TlGce(S?!sUuSN@@+I? zB0^5x)9t*bbB^gq*CDgd9~?D%w2J~a2N`bV{VIC$<)Uo6=|%B}u9`fzFA-ejc14HX zyLjQ=u(XnG3au=?r;h$?h&x<3^?{j(eV}9fr^a39xwe)vo8;d!I#K%}YJNnla>%I~ zAK#0<0h*1|{hK%sF2Al@zxidk664bh?Q7o)cBI`h)7Rg9PI*q>o~Y@ppY|0B34GkL zXu>s}i?2#%_pRBaB({#>>+3Baeh{L*PG?u;1xWJF?7%6w4DdaL$~xEQgkACf~x_K!(>dRdJ(|VD$|I(t^mwiy!zo~xD zzk^3Zo~>~dR{QOs{Vtb5(`zOFV$#ntZR12H)>)e){(`l;BvUQu!+W$Yo zpeDe`$iNJqCTD?6k~0c2z^2Fr7H&Lv@!*-)~V``_jeVhJ%fBxs`b8Y%1bk8P?zUa!5e2d#l~Tt^XNJ z4%&uPsW15QxM}YE-Mo{wa5fy?!fz$OAi#51IsV*#hU4E4r)kbmU@*_b*tn*@-plGZ2Q&q?u#t<`$B_= ziH(_MN^i_>?pphR@5j1}oAaOEQ}c*t7VPJmtZpo@V{hOBSgwKd4Fx}8x zwXFXiE0^^5IYy33X)C5`$A0&b5mnfARWWfdHwUY)n;!T@5Zw|y)Sj2jXzaM;mgYlC1Q7( zY#r_9+Ujk2a{NffJA1ZIcXrR*IA_{?_I{UlcUyavz4T6+l$++n?04sITJa)_vE;`( z7f(lxS-czi_RaX)Exe4!C2LNi#SH(Q1rDwHGZTJa6y;vuZMX5_4Ms%=^_Q{EXVT6E z2yz8Vc|UsY!*_?V^6Lb)g2zQ%Q)Rgq>ur60a6U)!qUbf++&d-qty;^G$8*oVL79WlPfj(> zI<{x^BA4(T{EU;DnqADc9?5Umz&BOzEQ_Y^yX;^38yG|y_C8iyTm9^HV2aRfwkbE8 z&IHBIGCeUz`Mu{JM~|&*+x|1?sV8pu#rQA(wVHwHOm3s@LWSA{fk&Mz#_pFKl*{La zG6-lrE|E>z9`R|-6T$7Atrwf7lneT8D3uPKv!}D*tfvyPBlamqI;hyW$PeYcwxrNF++h7X8_&FV)7qXtyJ)w_YZ9ndr?Q zxBB~^p3O^7=wG?fGTHWQC)2UhqD^cO7c)CKe=sy}`)>7JOymKxRE?7Rj>NbhEOXB< z+2W_8>OGTzA501j|N=a@$!_|LG%VQSiKPuB|}<$fho%%{ZgUESreKk9n?*4AcQiGyO5k^xICorPT+ zc{Bda;pNf&+v76r?fvR&QPC3`&fP8-oStv6FKVW`wmuEXn`Um4E`E6Y`=Kc1Bc zmd7f%uvWaYnL6pESy}J0)vSGL?&}%;Gw3(umL#xFcW1jWNmi#_nEB&!2ToSD%*e~v zEDvhTZJzgFee975X{D3vr~XKGxNPjVR`i&z&VTlg6oVi)cM~3-K!dc&?JdVW*?fdrly-<~|KRaus;)9KR z-=W6w;cIlRk{??^tv9CG8ryp^#rQ!e@+@!D%^aZPVN+oabk@6VC*Vkquj zZ2f8P;bU1_9^G3WJMqB`o+&}o4?ll+e~n{O;0J?>`JK70zAZtoJFic8?dYZVNWfxQ z|J+XDcB}8VypK(~|Kh&U&ns60SRU^!ma3V1xY9xJ{kg8kS{oIG*D}M3A z?&^n=H&S^QY+i88`_!Cc+g2X4%fA*za-0L)_9r7=)E-U3|Q5Bt(K2z1Jll}9l0-lls}VSKEuF3 z`V6yFc#Vbr#($-a*Gd-E9(m5o#aN(qhDB?|y%z6J`OBxCV%qlOzyVeVeLj{4p2viY zPPp>&ZhkG9z#xBc(t+|zW)^C<)#aOI9JGy{Z%4BGO1oD{NiD2>bLoD2uX%P$Qqk(q zKMPqJ43%UrUN^P&+EVWXWt&FvpKPEMC~hb54Jvd6K(zA zsokysm8RUt!)mMd^YGZ^+xu8tN=e}NGe7^BX(PAkCQ-{TXXEByE-p^Z*tf{w-;<9Y zL%s#>F5&hvUnUp-K*DeSqWmv@UpHtnGv`S6M@;)QNj+GEclq%?kt<0;a;=wSn|E*? z@oKy=BT1mpIkf#^*G&!qN40f}6XvgEW#98MG&pfi-2Ww&)nS3%K=yFD5hML2}Z@^|_i;at2yi9K)5 zigg{X)lW=6J>BJVz%f9K`{PfeXFij*-BsMn*6ikEqGUREgP~sQ#)Hf99_7pwHs7pu4%35}G8s*nr%5VBy3b6%z|*!t zqd7*bx7X!{-`*?sUbk6Xa%No>lVRNB{!vrd_sw!c)^#0GdzsT0?l)B0ZJToXWzD}G z{ag5t9Q<&jlSPti!sa%w*9$*>ysiH5`$%noaQUt^QL zGX3PkJ??&@&zhI~e(b?`?4zmt*^i%_xJ-T;KRCg~Wg>Fj$KOzrLr7Qp)5E1+%P+=O z<=p&h@@l`U!@J&{F1a$=UzbK1=EN3A$_mzKxt&%N6@E{eoym1TdQbWwH2gp8$=!{;8jTbz({YEtDQLFOh0Q!A^& z*9IA0f*wce?e-~UzvVJ?xG(2l+$?5uquE)1hGUyzVaVR>bh}M|T~;VwDqY-Yv*-N% zl#`!=8~3wUNXTwKw(4!#avqPnPkOjQFTOLa3e{6%h!s@|__6DCsj>TB91(Y^ z<9ncJeCHVnyGTtg_O>gR+y#DKpE)5^YmvE|mecKs*HgM)PyA_6uXJ)wz~nEMw@l>b zc~$?4m*10jVdkGFuIed=PBT`o$qCiD!evyk+PHqkop?sQPxez?85#0V&r1}3kfEiR z#M_sB?Rq`ue}>rxpWaUN7m&(pZ1Jp%GzihVd08{zfy*&AYc=Jzl7OWg68j>jM2l^5 z)sW>ivrvoCu9d7Mm&Th0*d$w@4LFkH<_-_rz&MoBB z|02ThV#A6M{r74~?T*q6WncQ<>;5|AeWzr8$iJp6d#MSR=I!Kupzf6UOJmilu=VkKmN_35N&Qfw^geAv6UY5&vJD0CI?F@@YCR&tQ+h=;r`>Z?T##R5 zcy~>**Q-NJj;u?Mhzo^Ip6D@wn_2LbNK>$5kOogmtmT!J-xi41TfF+KT5^*~)nEE^ z0f+LTC9>>}H5-$gLVYG*KQNd3vzW!Q``Wwr`zwY&vpV{ybwSAPN3++u>pkodWE5-n z625c)otRZum~0pOJxedUt9kdO)l(FL%+Hlhl2zWb{ky>d56%-GT4R`>7Dn(mx*gMf zf4`vOOmV7-uFi_-%>NmJJ_Lmy&6vAYyMIE12-nmb{qM~sK26@mHtXKT_5Z8q?8aoUeScQ z+5_9T{Y7^<-7V2<@n5#((t4qzPc>yM4u~;7Fkr~+x$Y3K=2s!p-7~FD0qbJ={{_mu zcfWe^YN6YqN!y)7U*GYxKdoxHDW56ugVgm%uRqI9xJW;HWxr;}a%mS6)Ad_s`l^aW z8FO?hm;6nPV#?!BXn$ht=Xs37(R*WBr=zoJ;I}omT|8{1Bo|42*Qz<(zM!t4=~(AV z#jRfcH?6xW_C;Qk4gGrSi8cqr3>Pn{70#axj&(VluvpsFI?-2?PffL&TQKdyhv}UA z9GMt?F&Ov8&s=roi%j^95Eu3f7Ia3&G|P!OYFb*h}Ce7fy>jb z3VC&%rT=tqKe*}|EMd83^-2Ld2ZxHzwGWQG*!H6Hq4}%dTIVNC-MjGfp6^ZuUQNPh zRUH*?to!QUb7%_Jk`TTAT6LeyAFi>y+0EJR+jr=#-fx-RlF`gN{rSXiM;6sQd3g1q zX<^0nV-|@^Ir5@<*xtRGEH6^7kZHT}m-REHW&0Kg)?Ub5`*80Csl^UvM>qU^&6y$A zx&Ev`rmc?ZyzieotpycowGuo;T-G&TJm9o+Vc$Zt)eEfCbWVP-`oJ3QrVubaE9_>& z0TU+9gdgVu(mo0N>1@hw4iM81bNG6oZlVjz0>uq^FW!kiSg|2Unk{>|`CsV{#y_ro z*B=z{KUk<0#lJO*-DdiWt(UH7K2Glnu?k!8^I-Rn-oT77(Pygr`xryxSe{DX?0>dy zlh)GMz2Vn3J?03s-1Tv>$d_ZD61p}i6IQf6u6|uFbFB5&n_FcidX2uT8Iz2|x19RI zb~jl2uB_CRzy1q1e~q2n(S9#~o%NLy2WPk>Pva2{-&=c~Ux@22C)*>T&r;9AFsN!OAU5yrIUS`QaR4NzMW?>cblz` zNz`%g(%F;s8eF}0@y?rDqp24b$|%cQ!y*1`!-;??Atv{Zt^C@teTx5rZ_O%^OJ1l* za#&PJP1|6SyzO?%rKKjW>*Ef*FTl z*8DZW$ESE4v20xGy|Yp71xG;R#o(@YP7)7R9*OgMog#nVFM-q7rhNU~4qe7TwO#X) zZap{U)~H-{SMj&S8-bAR4H05R`BEDgRCfGZzV#hf?%nfe=dVaVRrkix*Hhr;UdF68!O<;bkG@)mq*`3|YclRhU zU3toM`N8v-2Rq*C2iY66-)@jsWKv*m5K3(?6}(wjq|dp)?Zn;*GQJ9W4hHUl?{eKg zH_7a(D~`V)y?>3J>Fl-gvfJupLKf&sr&omEy*W!<>f*J3x|hTLq`vFaYK{CVemV2y z^rdPnp$pzN+H-bR?T9;m`pDyVD<^%)doAB)W+*@J@v+#$@&3A3v$sctIkvr?ATPMN zE@GLm)Xc2CBGWql85R6EY-FR+^!w{}He(in*6+cY%hvDkczw-s8;RSJmQd{XTaEPC}<(Qxa3kI|GfE`>t0WB*U%SXxVdDuqT!$SLJ}$m zSVe8s%N9SKS^9b6BD2*;Z?SPbNRD1napam$K}_I+u+~Yyi;^5G5W}#?=^>~+iJ>fxiWv}(l?%KFW>Uf zd3FBQW4D}7{Gk&24+MNoPn*Cyg>$)|^uMr)ziRVuaNpr)&nRLrVPH9sCfW9?cWe0D zUlsuwb4=drKFWVD{rc12yS0+v8|E}0kYf08RNY8X8v*rXJ=LY?3g*hNoK~2me~C&o;He&65PwQY8Fba5bEEfrLbF8dwxoU0OO(ywxSZe zzK>0q+>h94NF8-C*ci!Ry{xTQ+K9oSXc7A*A(IQi*ETHVd&DVtsn%jDr{2(ov~RdT76 zc>EmkSLc0m;|-Uyi0cx%+j~^(VEpCBrUoLJ59;5~ky$;>TZ}#G`aPK}Mgw(*9|yGqE^N&&Z8-DNf3N*D zS*?JtjFZ}}EcYLiILwfIw*8?0`ZezwjdK1o^ndSicKmrn-sT=tZ|Q~=6Z$>qcnt+Uw6KIO&ytHs|WQ4<(8__Y~aA?bkC> z>lM7DI%9q~6IYh%B#8*Qrwz_|Zh9#-FU|ZeMD3C=>-k!ALaC{5^?``+o0BgjxTQ6T ztUTPkCjN liquid transition to complete. +# We will also slowly decrease the pressure to 1 bar. + +unfix fxnpt +fix fxnpt all npt temp 260.0 260.0 100.0 iso 500.0 1.0 1000.0 drag 2.0 + +timestep 1.0 +run 100000 + +write_data system_after_eq3_npt.data + diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/run.in.nvt new file mode 100644 index 0000000000..ea3ac42167 --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_COMPASS/butane/run.in.nvt @@ -0,0 +1,45 @@ +# PREREQUISITES: +# +# 1) You must use moltemplate.sh to create 3 files: +# system.data system.in.init system.in.settings +# (Follow the instructions in README_setup.sh, +# or run the file as a script using ./README_setup.sh) +# 2) You must equilibrate the system beforehand using "run.in.npt". +# This will create the file "system_after_npt.data" which this file reads. +# (Note: I have not verified that this equilibration protocol works well.) + +# ------------------------------- Initialization Section -------------------- + +include system.in.init + +# ------------------------------- Atom Definition Section ------------------- + + +# Read the coordinates generated by an earlier NPT simulation + +read_data system_after_eq3_npt.data + +# (The "write_restart" and "read_restart" commands were buggy in 2012, +# but they should work also. I prefer "write_data" and "read_data".) + + +# ------------------------------- Settings Section -------------------------- + +include system.in.settings +include system.in.charges + +# ------------------------------- Run Section ------------------------------- + +# -- simulation protocol -- + + +timestep 1.0 +dump 1 all custom 500 traj_nvt.lammpstrj id mol type x y z ix iy iz +fix fxnvt all nvt temp 260.0 260.0 500.0 tchain 1 +thermo_style custom step temp pe etotal epair ebond eangle edihed +thermo 100 +thermo_modify norm yes + +run 50000 + +write_data system_after_nvt.data diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README.txt b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README.txt new file mode 100644 index 0000000000..5ffefbc7f3 --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README.txt @@ -0,0 +1,42 @@ +This example is a simple simulation of many long alkane chains (hexadecane) in a +box near the boiling point at atmospheric pressure. Please read "WARNING.TXT". + +NOTE: This particular example uses the COMPASS force-field + However, moltemplate is not limited to COMPASS. + +1) Create the "system.data", "system.in.init", and "system.in.settings" +files which LAMMPS will read by running: + +moltemplate.sh system.lt + + +2) Run LAMMPS in this order: + +lmp_mpi -i run.in.npt # running the simulation at constant pressure +lmp_mpi -i run.in.nvt # running the simulation at constant temperature + +(The name of the LAMMPS executable, eg "lmp_mpi", may vary.) + +---- Details ---- + +The "Hexadecane" molecule, as well as the "CH2", and "CH3" monomers it contains +use the COMPASS force-field. This means that when we define these molecules, +we only specify the atom names, bond list, and coordinates. +We do not have to list the atom charges, angles, dihedrals, or impropers. +The rules for creating atomic charge and angle topology are contained in +the "compass_published.lt" file created by step 3) above. The "ch2group.lt", +"ch3group.lt", and "hexadecane.lt" files all refer to "compass_published.lt", +(as well as the "COMPASS" force-field object which it defines). Excerpt: + +import "compass_published.lt" +CH2 inherits COMPASS { ... +CH3 inherits COMPASS { ... +Hexadecane inherits COMPASS { ... + +Alternatively, you can manually define a list of angles, dihedrals, and +improper interactions in these files, instead of asking the force-field +to generate them for you. You can also specify some of the angles and +dihedrals explicitly, and let the force-field handle the rest. +(Many of the examples which come with moltemplate do this.) + + diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_remove_irrelevant_info.sh new file mode 100755 index 0000000000..5957289da9 --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_remove_irrelevant_info.sh @@ -0,0 +1,8 @@ + +# Note: By default, the system.data and system.in.settings files contain +# extra information for atoms defined in OPLSAA which you are not using +# in this simulation. +# This is harmless, but if you to delete this information from your +# system.in.settings and system.in.data files, run this script: + +cleanup_moltemplate.sh diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_run.sh new file mode 100755 index 0000000000..4871a06495 --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_run.sh @@ -0,0 +1,21 @@ +# --- Running LAMMPS --- +# +# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS +# input scripts which link to the input scripts and data files +# you hopefully have created earlier with moltemplate.sh: +# system.in.init, system.in.settings, system.data +# If not, carry out the instructions in "README_setup.sh". +# +# -- Instructions: -- +# If "lmp_mpi" is the name of the command you use to invoke lammps, +# then you would run lammps on these files this way: + + +lmp_mpi -i run.in.npt # minimization and simulation at constant pressure +lmp_mpi -i run.in.nvt # simulation at constant volume + + +# If you have compiled the MPI version of lammps, you can run lammps in parallel +#mpirun -np 4 lmp_mpi -i run.in.npt +#mpirun -np 4 lmp_mpi -i run.in.nvt +# (assuming you have 4 processors available) diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_setup.sh new file mode 100755 index 0000000000..15a3a963c8 --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_setup.sh @@ -0,0 +1,34 @@ + +# Create LAMMPS input files this way: +cd moltemplate_files + + # run moltemplate + + moltemplate.sh system.lt + + # Optional: + # To check for missing angle,dihedral params run moltemplate this way instead: + # moltemplate.sh -checkff system.lt + + + # Moltemplate generates various files with names ending in *.in* and *.data. + # Move them to the directory where you plan to run LAMMPS (in this case "../") + mv -f system.data system.in* ../ + + # Optional: + # The "./output_ttree/" directory is full of temporary files generated by + # moltemplate. They can be useful for debugging, but are usually thrown away. + rm -rf output_ttree/ + +cd ../ + + + + +# Optional: +# Note: The system.data and system.in.settings files contain extra information +# for atoms defined in OPLSAA which you are not using in this simulation. +# This is harmless, but if you to delete this information from your +# system.in.settings and system.in.data files, run this script: +# +# cleanup_moltemplate.sh diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_visualize.txt new file mode 100644 index 0000000000..a3e3ed620e --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/README_visualize.txt @@ -0,0 +1,87 @@ + + ------- To view a lammps trajectory in VMD -------- + + +1) Build a PSF file for use in viewing with VMD. + +This step works with VMD 1.9 and topotools 1.2. +(Older versions, like VMD 1.8.6, don't support this.) + + +a) Start VMD +b) Menu Extensions->Tk Console +c) Enter: + +(I assume that the the DATA file is called "system.data") + + topo readlammpsdata system.data full + animate write psf system.psf + +2) + +Later, to Load a trajectory in VMD: + + Start VMD + Select menu: File->New Molecule + -Browse to select the PSF file you created above, and load it. + (Don't close the window yet.) + -Browse to select the trajectory file. + If necessary, for "file type" select: "LAMMPS Trajectory" + Load it. + + ---- A note on trajectory format: ----- +If the trajectory is a DUMP file, then make sure the it contains the +information you need for pbctools (see below. I've been using this +command in my LAMMPS scripts to create the trajectories: + + dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz + +It's a good idea to use an atom_style which supports molecule-ID numbers +so that you can assign a molecule-ID number to each atom. (I think this +is needed to wrap atom coordinates without breaking molecules in half.) + +Of course, you don't have to save your trajectories in DUMP format, +(other formats like DCD work fine) I just mention dump files +because these are the files I'm familiar with. + +3) ----- Wrap the coordinates to the unit cell + (without cutting the molecules in half) + +a) Start VMD +b) Load the trajectory in VMD (see above) +c) Menu Extensions->Tk Console +d) Try entering these commands: + + pbc wrap -compound res -all + pbc box + + ----- Optional ---- + Sometimes the solvent or membrane obscures the view of the solute. + It can help to shift the location of the periodic boundary box + To shift the box in the y direction (for example) do this: + + pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0} + pbc box -shiftcenterrel {0.0 0.15 0.0} + + Distances are measured in units of box-length fractions, not Angstroms. + + Alternately if you have a solute whose atoms are all of type 1, + then you can also try this to center the box around it: + + pbc wrap -sel type=1 -all -centersel type=2 -center com + +4) + You should check if your periodic boundary conditions are too small. + To do that: + select Graphics->Representations menu option + click on the "Periodic" tab, and + click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes. + +5) Optional: If you like, change the atom types in the PSF file so + that VMD recognizes the atom types, use something like: + +sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf +sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf +sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf + +(If you do this, it might effect step 2 above.) diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/WARNING.txt b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/WARNING.txt new file mode 100644 index 0000000000..ab508fc894 --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/WARNING.txt @@ -0,0 +1,13 @@ +# -------- WARNING: -------- + +This software is experimental, and the force-fields and equilbration protocols +have not been tested carefully by me. There is no gaurantee that the simulation +will reproduce the behavior of real hexadecane molecules, + +# -------- REQUEST FOR HELP: -------- + +However, if you notice a problem with this example, please report it. +Peer-review is the only way to improve this software (or any software). +Other suggestions are also welcome! + +(Contact jewett.aij@gmail.com, 2017-10-03) diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/images/hexadecane_12x12x2_t=0_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/images/hexadecane_12x12x2_t=0_LR.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b0d31f88453d4594681cc81791d66c5c1e8c0b99 GIT binary patch literal 27017 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 literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/images/hexadecane_12x12x2_t=10ps_npt_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/images/hexadecane_12x12x2_t=10ps_npt_LR.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f7c13d0989c124f0c1ecd791045fb525f14a3f3b GIT binary patch literal 36181 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 Mv0wh5!TC5bm;@P_1sVSzVUT5D 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 liquid transition to complete. +# We will also slowly decrease the pressure to 1 bar. + +unfix fxnpt +fix fxnpt all npt temp 260.0 260.0 100.0 iso 500.0 1.0 1000.0 drag 2.0 + +timestep 1.0 +run 100000 + +write_data system_after_eq3_npt.data + diff --git a/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/run.in.nvt new file mode 100644 index 0000000000..7393961924 --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_COMPASS/hexadecane/run.in.nvt @@ -0,0 +1,45 @@ +# PREREQUISITES: +# +# 1) You must use moltemplate.sh to create 3 files: +# system.data system.in.init system.in.settings +# (Follow the instructions in README_setup.sh, +# or run the file as a script using ./README_setup.sh) +# 2) You must equilibrate the system beforehand using "run.in.npt". +# This will create the file "system_after_npt.data" which this file reads. +# (Note: I have not verified that this equilibration protocol works well.) + +# ------------------------------- Initialization Section -------------------- + +include system.in.init + +# ------------------------------- Atom Definition Section ------------------- + + +# Read the coordinates generated by an earlier NPT simulation + +read_data system_after_eq3_npt.data + +# (The "write_restart" and "read_restart" commands were buggy in 2012, +# but they should work also. I prefer "write_data" and "read_data".) + + +# ------------------------------- Settings Section -------------------------- + +include system.in.settings +include system.in.charges + +# ------------------------------- Run Section ------------------------------- + +# -- simulation protocol -- + + +timestep 1.0 +dump 1 all custom 500 traj_nvt.lammpstrj id mol type x y z ix iy iz +fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1 +thermo_style custom step temp pe etotal epair ebond eangle edihed +thermo 100 +thermo_modify norm yes + +run 50000 + +write_data system_after_nvt.data diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README.txt new file mode 100644 index 0000000000..4a6377569d --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README.txt @@ -0,0 +1,37 @@ +This example is a simple simulation of many short alkane chains (butane) in a +box near the boiling point at atmospheric pressure. Please read "WARNING.TXT". + +1) Create the "system.data", "system.in.init", and "system.in.settings" +files which LAMMPS will read by running: + +moltemplate.sh system.lt + + +2) Run LAMMPS in this order: + +lmp_mpi -i run.in.npt # running the simulation at constant pressure +lmp_mpi -i run.in.nvt # running the simulation at constant temperature + +(The name of the LAMMPS executable, eg "lmp_mpi", may vary.) + +---- Details ---- + +The "Butane50" molecule, as well as the "CH2", and "CH3" monomers it contains +use the OPLSAA force-field. This means that when we define these molecules, +we only specify the atom names, bond list, and coordinates. +We do not have to list the atom charges, angles, dihedrals, or impropers. +The rules for creating atomic charge and angle topology are contained in +the "oplsaa.lt" file created by step 3) above. The "ch2group.lt", +"ch3group.lt", and "butane.lt" files all refer to "oplsaa.lt", +(as well as the "OPLSAA" force-field object which it defines). Excerpt: + +import "oplsaa.lt" +CH2 inherits OPLSAA { ... +CH3 inherits OPLSAA { ... +Butane inherits OPLSAA { ... + +Alternatively, you can manually define a list of angles, dihedrals, and +improper interactions in these files, instead of asking the force-field +to generate them for you. You can also specify some of the angles and +dihedrals explicitly, and let the force-field handle the rest. +(Many of the examples which come with moltemplate do this.) diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_remove_irrelevant_info.sh new file mode 100755 index 0000000000..5957289da9 --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_remove_irrelevant_info.sh @@ -0,0 +1,8 @@ + +# Note: By default, the system.data and system.in.settings files contain +# extra information for atoms defined in OPLSAA which you are not using +# in this simulation. +# This is harmless, but if you to delete this information from your +# system.in.settings and system.in.data files, run this script: + +cleanup_moltemplate.sh diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_run.sh new file mode 100755 index 0000000000..94d6de972c --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_run.sh @@ -0,0 +1,34 @@ +# --- Running LAMMPS --- +# +# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS +# input scripts which link to the input scripts and data files +# you hopefully have created earlier with moltemplate.sh: +# system.in.init, system.in.settings, system.data +# If not, carry out the instructions in "README_setup.sh". +# +# -- Instructions: -- +# If "lmp_mpi" is the name of the command you use to invoke lammps, +# then you would run lammps on these files this way: + + +lmp_mpi -i run.in.min # minimization +lmp_mpi -i run.in.nvt # minimization and simulation at constant volume + +#(Note: The constant volume simulation lacks pressure equilibration. These are +# completely separate simulations. The results of the constant pressure +# simulation might be ignored when beginning the simulation at constant +# volume. (This is because restart files in LAMMPS don't always work, +# and I was spending a lot of time trying to convince people it was a +# LAMMPS bug, instead of a moltemplate bug, so I disabled restart files.) +# Read the "run.in.nvt" file to find out how to use the "read_restart" +# command to load the results of the pressure-equilibration simulation, +# before beginning a constant-volume run. + + + + + +# If you have compiled the MPI version of lammps, you can run lammps in parallel +#mpirun -np 4 lmp_mpi -i run.in.npt +#mpirun -np 4 lmp_mpi -i run.in.nvt +# (assuming you have 4 processors available) diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_setup.sh new file mode 100755 index 0000000000..5cd2142a41 --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_setup.sh @@ -0,0 +1,34 @@ + +# Create LAMMPS input files this way: +cd moltemplate_files + + # run moltemplate + + moltemplate.sh system.lt + + # Optional: + # To check for missing angle,dihedral params run moltemplate this way instead: + # moltemplate.sh -checkff system.lt + + + # Moltemplate generates various files with names ending in *.in* and *.data. + # Move them to the directory where you plan to run LAMMPS (in this case "../") + mv -f system.data system.in* ../ + + # Optional: + # The "./output_ttree/" directory is full of temporary files generated by + # moltemplate. They can be useful for debugging, but are usually thrown away. + rm -rf output_ttree/ + +cd ../ + + + + +# Optional: +# Note: The system.data and system.in.settings files contain extra information +# for atoms defined in OPLSAA which you are not using in this simulation. +# This is harmless, but if you to delete this information from your +# system.in.settings and system.in.data files, run this script: +# +# cleanup_moltemplate.sh diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_visualize.txt new file mode 100644 index 0000000000..b39d8901ad --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/README_visualize.txt @@ -0,0 +1,87 @@ + + ------- To view a lammps trajectory in VMD -------- + + +1) Build a PSF file for use in viewing with VMD. + +This step works with VMD 1.9 and topotools 1.2. +(Older versions, like VMD 1.8.6, don't support this.) + + +a) Start VMD +b) Menu Extensions->Tk Console +c) Enter: + +(I assume that the the DATA file is called "system.data") + + topo readlammpsdata system.data full + animate write psf system.psf + +2) + +Later, to Load a trajectory in VMD: + + Start VMD + Select menu: File->New Molecule + -Browse to select the PSF file you created above, and load it. + (Don't close the window yet.) + -Browse to select the trajectory file. + If necessary, for "file type" select: "LAMMPS Trajectory" + Load it. + + ---- A note on trajectory format: ----- +If the trajectory is a DUMP file, then make sure the it contains the +information you need for pbctools (see below. I've been using this +command in my LAMMPS scripts to create the trajectories: + + dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz + +It's a good idea to use an atom_style which supports molecule-ID numbers +so that you can assign a molecule-ID number to each atom. (I think this +is needed to wrap atom coordinates without breaking molecules in half.) + +Of course, you don't have to save your trajectories in DUMP format, +(other formats like DCD work fine) I just mention dump files +because these are the files I'm familiar with. + +3) ----- Wrap the coordinates to the unit cell + (without cutting the molecules in half) + +a) Start VMD +b) Load the trajectory in VMD (see above) +c) Menu Extensions->Tk Console +d) Try entering these commands: + + pbc wrap -compound res -all + pbc box + + ----- Optional ---- + Sometimes the solvent or membrane obscures the view of the solute. + It can help to shift the location of the periodic boundary box + To shift the box in the y direction (for example) do this: + + pbc wrap -compound res -all -shiftcenterrel {-0.05 -0.05 -0.05} + pbc box -shiftcenterrel {-0.05 -0.05 -0.05} + + Distances are measured in units of box-length fractions, not Angstroms. + + Alternately if you have a solute whose atoms are all of type 1, + then you can also try this to center the box around it: + + pbc wrap -sel type=1 -all -centersel type=2 -center com + +4) + You should check if your periodic boundary conditions are too small. + To do that: + select Graphics->Representations menu option + click on the "Periodic" tab, and + click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes. + +5) Optional: If you like, change the atom types in the PSF file so + that VMD recognizes the atom types, use something like: + +sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf +sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf +sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf + +(If you do this, it might effect step 2 above.) diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/images/after_pressure_equilibration_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/images/after_pressure_equilibration_LR.jpg new file mode 100644 index 0000000000000000000000000000000000000000..093f557dd9011f11456a082bcfbe1340b94c5df6 GIT binary patch literal 28251 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 Q@uD|NJscX?U;n=e0KyEW(f|Me literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/images/ch3_ry60.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/images/ch3_ry60.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ab140a8f9ec82a71118681ba46b7b3ba8365ea7b GIT binary patch literal 6951 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 aH1p&7scWwsyTekrq9J%8*RTEmZvp^O*$Jrt literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/images/initial_configuration_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/images/initial_configuration_LR.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9fa7d195f3db76d596c4d37116daabbba0c40e39 GIT binary patch literal 29167 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 liquid transition to complete. +# We will also slowly decrease the pressure to 1 bar. + +unfix fxnpt +fix fxnpt all npt temp 260.0 260.0 100.0 iso 500.0 1.0 1000.0 drag 2.0 + +timestep 1.0 +run 100000 + +write_data system_after_eq3_npt.data + diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/run.in.nvt new file mode 100644 index 0000000000..ea3ac42167 --- /dev/null +++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/butane/run.in.nvt @@ -0,0 +1,45 @@ +# PREREQUISITES: +# +# 1) You must use moltemplate.sh to create 3 files: +# system.data system.in.init system.in.settings +# (Follow the instructions in README_setup.sh, +# or run the file as a script using ./README_setup.sh) +# 2) You must equilibrate the system beforehand using "run.in.npt". +# This will create the file "system_after_npt.data" which this file reads. +# (Note: I have not verified that this equilibration protocol works well.) + +# ------------------------------- Initialization Section -------------------- + +include system.in.init + +# ------------------------------- Atom Definition Section ------------------- + + +# Read the coordinates generated by an earlier NPT simulation + +read_data system_after_eq3_npt.data + +# (The "write_restart" and "read_restart" commands were buggy in 2012, +# but they should work also. I prefer "write_data" and "read_data".) + + +# ------------------------------- Settings Section -------------------------- + +include system.in.settings +include system.in.charges + +# ------------------------------- Run Section ------------------------------- + +# -- simulation protocol -- + + +timestep 1.0 +dump 1 all custom 500 traj_nvt.lammpstrj id mol type x y z ix iy iz +fix fxnvt all nvt temp 260.0 260.0 500.0 tchain 1 +thermo_style custom step temp pe etotal epair ebond eangle edihed +thermo 100 +thermo_modify norm yes + +run 50000 + +write_data system_after_nvt.data diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README.txt index f744e1718f..470df87550 100644 --- a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README.txt +++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README.txt @@ -1,8 +1,5 @@ This is an example of how to use the OPLSAA force-field in LAMMPS -As of 2016-11-21, this code has not been tested for accuracy. -(See the WARNING.TXT file.) - step 1) To build the files which LAMMPS needs, follow the instructions in: README_setup.sh diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_visualize.txt index a3e3ed620e..642c85c24c 100644 --- a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_visualize.txt +++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_visualize.txt @@ -60,8 +60,8 @@ d) Try entering these commands: It can help to shift the location of the periodic boundary box To shift the box in the y direction (for example) do this: - pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0} - pbc box -shiftcenterrel {0.0 0.15 0.0} + pbc wrap -compound res -all -shiftcenterrel {-0.05 -0.05 -0.05} + pbc box -shiftcenterrel {-0.05 -0.05 -0.05} -width 0.5 Distances are measured in units of box-length fractions, not Angstroms. diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/ethylene+benzene_50bar_t=100000_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/ethylene+benzene_50bar_t=100000_LR.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b9ff053fcb48e18052a81039fb4a3a8ab65cb1a2 GIT binary patch literal 36911 zcmex=9GX20;!+9Y!5yMnMK9K}Kdl#{WkcWEdD3m>HNE85!V!m5rU5g@Xw!%gD&U z#0>HbT$Y)Ik%^U^jpP3<1|DWc1||V!0R{%fuO4s(L^JA=<#(QdtCop=#P@IS4ddJG zHoNS;o~a4^{^Wi)$BwUOG&7gS`1u<=wuC8tcwgfD-LNCSHom-XJMZb-j*wS?*4-F>Dhv5_oQ^BYQv7rzHmEx zUcTw(El+=y8S?UJeDPcIv;6wOskN>3i51g9{^#Q~?5celvwpvL`RTl0>!$ro34HuD z?d4m)+d{K;R`*%?yGQ5dgf2hhrg|rNb<_1(-^-(?NW6R=r@c+{*v+2AnzifZW-R(! zHs`&4z01$37Z?~AXV?13`F``O{ryaJ_K)5ri_ZQ`YCL~!>G{4%v;LmHw43*|tkvIp z^R8(HWY6V}i(1LD$MVIUX}{z4Wk=;*E4f}({jA9Ii0AcgI z3=9l%rC)AE%|CJD;Ld{U`TiU4cJocLo4egz%I8bMnlCzMeAm0V9$6Z8*=6(Ic;BS0 z_dcpAXTOw`*%Nd2-=i+?$er46Lw<3rlQ%W{`!Qlk)t0#S&(;eV7?_#AWL5Q_xN+Jp z&6e%THJ|L~eI+J4)VKMDEnYGwDDwB_$y5nHdD$FAjyW?t5hzOwyx z@-ah+(3i9IB&W?fpE>V~Q24|3`SWUO`*yFuOD{9*3bMw0U+AVrJ&K1vA3)-bG^t>nZ!_MPd*nV{0We$!%_DfGYG{;+9=;$*2+mFRo^?%nY-Y1ynzHr^e@4w#4 z3uZ7dFr@GI=1aVAdF{ur(jDUY^JXN|SHe0$QFJ%*2jYnLf^ z_s2fad|9-+kGC-J+@E_V&;9+V*T3Z7#B0ASw*F`6+Qh)XplSPJ#orfO^P9ICg!b!5 zXZl>1w2j!(S-#BhPM4o=$$I}~Kj&`ddAoe;*~MX>yRQ{5l`A}Eef9CRbvKXLR?klO zSRExES^s9s{<#|%7#OtnR($qf-CX+lb~1z7S%=RD{7RF{iMLtu z#j>j>?>*e9!N9=q`eeUORk?lnr|78>N#`ET-)Z;7uT<~db)8GsujDM!xp}m-Z|CB! z+_zsBt~#zSw&6wDlO@+ZqwhUkQ*b-~#===sHXg288(lu}&h@=o`xbw`eB);k0|Nt} z?Z&74LC?S1%f8>@TQ+NJTl%cK{}}?a;#~JvUn#r#&+f=k-3A5*_J>dUL!QO|>0j=7uH^2b zg{M{Pr-voGr@u5_^7;8^Yjfk-HHTg<4-WDB?eDmp?Zk}oDVOXr1%Krl$8pwODX_1e zyZ?-8$5&gk`%PQ#G%GMLFjO{QTakayyIw|TS!GXn!nL_Pvs_;+e4Bgg<@HqsY46M* zUpEX{@XlYQckkjC$8S%s-0^tcX4Sei1_HOCU(XGTcwKb%es^@qi4`B`X74eL)f0RC^5~4&la7ZS z+na1Cojd()H?POyy6*VP6?W~8O*t>R=Xts5 z(*-|{X^5t5$e!8xc+TajFM-jz?<41Ddi}bu^ZxSnNZ)M}4xbAt*?w&y>-Vy^e{*eB zKZV(Re>r8Z<&*Cq7s~m5oh4qcwtvyfb&6-2q-@^WR@%IDx9;7OX7cFe{mtjsO|vb# zF6i%TKCfug=hyjvxlK2zoL~9!TCV5n_1%Y9XynJoW%*iGz!=e}4m(~2zmUx?Pp}Fg^?49SQk6W&iNW5X`TeKxowC2yPv&F9# z?>g?kJnZ{Y&3x_n1O^5MkVo5>|C#omVaDFDcK@RrW!Jm?XV8@mUs$YluFNRqvGHSd z^G7bfl>0X~OSHE8Tw6C?a^tn%e~K=p-;WhvRjg({&}mO zUku+EKfCJV_Ib5B%g&XYEbe*2@bj3V)~@so{y|5|;$0RlE>V4Y*}D9|Es%D8jo;#S zcIS4xABvjyJYW9UrL<|+em;|RGI&4tlfk07!qE(J>E?TsmHWlMSY+9!Mqis}dU5hf zP^rOC`s8T!@+Iu<9(sKfWMz}`ULAg%Qz~)!!P_2WG@KINI&9VyhhyFL#}T^_}9jlna8);8$G`HeN|fDI`q4>u+#r4_Dmo9NHTqFC}tiN^Z?RHSYhRTvm$^SpXpeMk<#LU3R z#Ky$P%)$&Zf`yfdnT?TwT~J6^MASe`SwK<6L0mz#K*=!R|1Aa%Mn(okR;K?93;)#A zpV@XJnB&FN^DDOU)fV^$y}r_JTk+#dG8e-mqeq4Ne(?IAWj!$CyYr0#y_V$ik4Gmy zi+^;xL}Tsq;uf(eq1gGSc%+`aKKpi;;i{zu;qh+|osW4b$mza{?UQLycBql#ItAy< zxng277ff9;ZED4ThDmRovlzZCj^4}Wv zVgI(@3v7el@!l<*S-akNYImWi{mlypvmQlwJ?(rgz&6Lt zucXHz+neg_vaAj(E<3K&>R|9r;oGUHIj@Aal*d^1KP$TQCiS3- zuHj+nxb9PFH?|xyQ4T*f;n_U%7_(~klIafXGt%5X-*~yL{Qf-s?JT#Fbt{(oyD9Lh z9XQ$O^iz9BT+yvnSMSbad;4v=?QiRaUvo?EJZ;NeX!-TTmK6b)>q~OC*xcKzVYqoG zr>(5t#_BsSc^zdn{M3v-^!BXY5qKi4^UtdC)m(kKo-6*n&5KQ1mB-iGFL>+%Z~CMk zUthY+xNE%5E&8)sOzv{srBT=ZGZfl8GIymMZ=JR2>b>aqMftiJc29mutmy9L%{!BsDtdp)O8bRf zMmzc&|IX%Ly?evQ=&AGPo0Zj7&9#y#sC@h)PgC`cPiOnhaOE3LOwF;b?hS`FCBB+g z=*DKWT8H_LaY6s%x4nyATeewU3!6P}Vr%ufJ2$1zR4)CI?);?h!a0RI8~!uYEuZAc zwSNM$vf5#{{qJ78r6#+Z1u7@F%Po%&FMIr-fwlYj*{QF?o_RXH{av^=b!WM_Ug#6? z-g954tA1GV`kYZh@vF6!8FSKnBW6wgweZPhm#!%bQ!cPvWRvUY*eYR=S^w}!D zAH{mlbscm2_EpyV^V%O?JJNb@bgksOB)V$Z)RPs-M_Md9?cR7sC;jW|IGBDR`=5i$ z&t&;E5x+L-ig!M%E)l!gS7CHn(lj|qEiJE#?bve9EwXwUY;G(yJ2$R58W?+v+4TWm zaavgQx{KjYxnI3&vAG#{*Zb_G=`zIvn-0Cas~H{D`s>S?+eL4!dFCr|`<@g?f31_Q zF@36V!JhuvS)1I1S^gByIhXx(R`ATkjEYOM3KryMH^)F z!$W0m6l{yPoXB7M^4D9Qk4n4PrBuJY`|TYb0xO`h)ky+=}Jo?P_)JUh$O=o#iU z-dxP{{_67ve^|9}mQ&1{kX$yk=QoWLj6}YFdXn?mye36bDUPALr(!~q8{?8Q2A9Nd z*cM*P_*aw1uDfajmxS)hQ?t*V%s5-fdzClO_~F}U+i%`J5x3tp;aZ;vlbdGHfqq&UC_2-ZL!zlNR$Lsu5{h1l5*+p@p$I7=a_V9Urb#?!2<6D;XhyF82zqOakITrPL zz0I$wy~{5Ly~q8!Z|{`u_PwDM{8A393={Tc`!!A~`nz~pi$l`x;!p9?+w9wQ z-leB_KbY;ndVLA!Hc6wEozESWc>Xh-HaH=!z_&a?ho#o^+r!^YZ<#3Vy1wY&%$dIreO+i}eDrnLOW_N>fs)&HuBzM+@7Vjr$SR=c zT>{6PmW$o_mV6SErDlbmeOD@YLF~JZn_vFTAm<*JRSDYGhtA*Ia?Z&x=#|N|tdM)N zRa^TftA90YU$KAlroXka8GC{(%FOE5pTE>SVbaBjx4mND4Aj3nJLkN=W-WPf{tS($ zCHi5-Z^e(rUFgs}e#B8FcGBFSAkiW=x%iiLZ9B}anfLYUowxT0)0-T{Tl3&krMJel zxQf)Y&F}nQoqVGFwgeUx>|osx|e|GFlwIQ%vigUr+ zl1&%y+?p}(+R3nGefm#LYTC=We#ZBlJ$`!LuQmU+e)|*1VJfgnb-^{gm?>)(T{U>^ zvq(*>HEDPB>xRfkP65G_7QNa+{hEzi=6TI_-81Wr&}Jo7;{`>DYWe3b=%1g|P?{ud z_+C$(U#(k5sDIkFtKCjY*P7NfyzZMmP12xAGcDUp`rhu<52Hjbe$x20^FPBi-PBx@ zDw!MH$Ip0b@<~0;;qIw7Dz+DRmmS-6)$F+SBB{Am|JavKH9y-I{$$q8wJRq#xyOH6 z#LsnIXJzld$z|GyAI9!GW&CK;3Li}!=0_Pj`KP)CY!NfyK2$O%MQG8@(Bp2WD%@UoLPo%3pJM-RZ z_M(43U)+q5n31_Y`HpB(Q?y8NFDvs~tDIG>O8wIRgj-5i>*(dEZPNYnX`-K3-THO^ z8SK?=otxycX~UFNJLhu$?%7#!>)NS1lfP*`KY6#;N-R%5vB%W0wCvum#Y@h{zo@(+ zT7Qf?Vq1FWe(MYu=cNa3ouBUWq(t`VGAYiLT0IvdH;SeI?NO_Xch1e1O6pIojZhQW zxL?RcY;i=vsNAB$w&n43#xTB_2Y;Ky zb1vKUfch^WTYr7TihSveIu~FRBz8u>a-CPn^rZY;(uzZC_OP#s4L`Pq-(LBeZOGRZN2`jtPrvzfMJVyj zhsHbEw!X{Ou03}0w81`)U0H!sH-4;^uRW!1aj*F6E1{c**;d_L@89fU?K=CH*UDcD z{@Iq_`2F>}|GbKRsq*riIR>$+PoFice5kSMLrUp8advgdBmWuH7TsPKf8DrW=!VIb zfX}`0Q-Y?Nu30xBW6`7I-;-8E9@@CWPo*+u6PJZ@!sgpLH~CZRr!z#}z4-jF_U!_V z)h4^=pSGU(?X`V)k=d-(cO)mB4xY&#IA!HreTmySg{6iM%NE<5UCsaH$%kE1W<1-Z zr>)L8bMN3`?v^EeZb1U^M|67UznM}orzGRrP3v40kpm`s3;nrv{Mq!Zp8eLptE;}9 z{CDqlaBBX>C|AoJm+u^z_SNsEq^t{z+Qr!+PL2DU+B-uyrUd4#kkZ_}jP;Ym8*>LX zJ#FV`>HRm0D$Xu0-LGMA({u~_o=}yW-&@a2@n&o~`kx{9@D-oD)9T8rcUN@XTlY3< z=GXF!70=gIhaHLAFLsml`r6&>>(7=tmd2NPx0{sb)Kx9trTOO7-d{`>+!lM!BCU`sY7`?A_^2eRrAFe#L)$yJ+{1-4?6NLQ0u-cXT`I1@0?dvui6wFdMCxK^v>}E7R*~u?VTk5k7c3c$0E}s zrFpWlcVlmxZ2Ov?IsN=Z)-{6luRwhWeL)5$MrLLvR#pZkCU75uk%@s>P)JzOP{4>q z$-psCL_yg&(ZNZjz&W50+=*ajWVC1e&#=-se&&SfuikC>p4W0C=15^cY*OH5)qP1< z!_DNMniiNvHeb2>qif15?ll*j56<_qOS;I-%6@w8f(6?)OP^|5s$ba}{9Yh)&7yP1 z>(rmHJW?yIQ?lN;nKSTIq3QV}zxtp2YW!%oFm2b-Rcmr=^Ay#tM=lRMKg&QQ?3GgQ zo{KNrg4iz2;z}0Odi8esrMV8@r?qKCOs){^nv&_&Hd#pN630#cZHrsPm4d>a?wGN1 zYJuaCMK=GI3$AXw%@neFw=1J-yIX183pb}r3se$)4mv#%o0F@hw~PrepNNOtP;Ocyy*^S>e6C?Y&$pgcXo55W);raZx}0* zW8NM0%6X>eq#0YT`Oi4(`O|3as%Wu!(NUk~IqtlblNz;yU!!4KbfGq0!`|?L0%ko>QW;wk_wup*s zQ_>AOvbuMv*6M&})GpH$MJyH$V*dFP-DQ0b^55uv0^E=*7+0E{C^w3Wwjo`m?jt1=J zI3+)WD^Q+^QF~hGu42JXX1yxGBD({+N2UkP}7y5B5UvXx&?Rq5+7+j=3;*q zC)FIFVQ_du2Z#B$`9Ggp`LCYX>yp0G#-9E1`kNZx_@>OaZqQ}BpP=yZyVm0i`{zr% zZ`c#F`OMs15pmzzHfu6ndL;gR=Fd-C%#}0FE}NeD&~^Id^*2)a&hOSYU8;9)`?uc( zF`JB&WvBg^VY9fRcfy`4ERUHO@{~g)GjFL~O|`nYG1_a*_w8Fg{M|P<@32N$?J2qE zdg?N6Mn~3g=bm{d?NYO?*=8-rzKgD{y9DGkwoeO9YCfgt{az$G`@N|D?_zVk!j8lJ zmBCwPI&Z$b`bK*D+ut|LobEVnH}BbQK3(p!g4iQnhhrBuO>PNb*w8<9&jzOIMaz^9 z99o=|ytU=LG~2V_(p6Q#c1fu+9VeHDZ33CH5@d>f<-Zb#+xJA-XKvy?y1j;L$uq@8 z{DMW_XEx*{Y!nyVZZ<=+RqW@CbDHlgx*oP3S-4wn>TaIJH(&10oG0CUxkJM2QP$iT z-K+6R?g7i@-cnB6-kg_ug+oG4Vdu&{s_sV1AB#tr3zqdY9_?8cx?grVQ$^k5OWRYH z-mo=3^5NcJspH9-mqd2VIW?8nYQC}1z2B}&RvtOiwd1$XpC4|DmD9EhG*nIxD4em1 z+r@`<>A$qdeJXA{9;M}$_FZ*;dn8F9j{m3hc^-4ah$oIh`%{+Ru=U~*`rcntGuhqR zxY#sY$4BLM=9h-vGcK2X!U9CYeoc1B$|^|}Wf713GyUN9{@!)Tp`U&xyyuQy=>3uP$O(O; zb!DGicw1+jUZwX@Gxn=$Lgt&vhfUY1x~_;3H9k_H@c7Eo-~6}QHIFF0ueiSLf>iU2 zHU7#gquPESVc`~L+*AETSCaWn>YfkX-M#`2?6<1j-x&4!_?bOl-tp~g=D*958^xy? z9g9~q{G3{GVAm~%%Vx@a- zYu(Y;J!X&x6@SY>L?F`oCh@A5A7d%24@L`m-S-`ro4eM;JT=85o%vS(!LEcvxAO85tND zK+~{-EUauoio%8hN(M%bffF~1CKfg>Jb3Y;h?s)1im_8t(WFJ2RGovGKA1QZTrv$f z^buUiGeIi(jvL24iZ+BSE{mSMPrNRuchZHsALkwF3F3Vl8GH4>PicwOJ2)4t^qtz5 zmk>JlZ1&x_DJP>oMcLok*f;TJgjVSNmbb#ZOE^wXitSf^;Qi^g*ZDvEc=hkxzAhz$wv1?we*-$m?AQTxgb-8nD^tXmEPC&}_cK zV}XWiC$$=h9eZ>5$-YZJT(d%F-OW7XcIDf$+i#Og*1gqw@S*o<#4=Gt+*=mdP?ouw@r-U zLhH3%DvI9acAcp!yleaJoA&AMwg+;C{~0bmc_%$3?vu6kiffnlR;`x3owj@Cv@@s5 zzpcLZYM;K;_PlG`R|no+w(^GAH{R28+t1Z@*+^G9++yILYt0ka`!9Y;b;ysR&&#g} ztrZu2=A6yETX5IgT#*vLHyROZbqo0umrq!3mTlL#OX>N>+kR87r=>dec^Y4Q%GR*# z+`+IFbLT}}^wKg3*!b8ub|>4;mbPV0->UoMM}SYQ2MbWfOnPXJ#{+hUh%sTv;F ztu_3s?>#=csJCzOthoX$?I(A7y@)%f_9bQN+Qn1y6lY~MuhKqfFCMU{wB$jB&4XF5 zx>~nZm$Eu$Z{;()c=%lK`_-q;{pxmJ`J*dOV=v>c$G2v8zIQO0f8l;ozj!?B{RsYV zt+M;Fl%gfJ=Gt?xVExL>+HXDh)^#7#R zxW9!f&wuL130yOOMlYJ!uOgl$*lxE#Eq!6&M1_EBI_iIyUwSm_!^4G<4JHxCyKY|5v0E)}OIn``?pNzwaKzE!26uO9aBYV+}O;Z+aI`ZS>x~C5Q z9HLiQ-kxk=Tr_W{R&XNg&dJMcj*2W?yU@2@+UP_~))K}UVe?Dso~{YHdWv!T9C4jg z<&oLI&(fbT-)U~F>bE~Z$(VTVi6g> z(m08EABD5#N-rr(mlajXI5q3QwO1mu1Q)SxxhScz_Wa4#sLXGXuYAfScD(mH@%>|8 z*X`t{<1D$UN`LW+^(XI|?(?%t;G6eO z>WflK?@Nct2aUCy+rDmA51*2nyn-upajEZgvk#5@lUj3b%f^UieYjdxb5FXX_F6g1 z=PeUf?>lw#?T15eqhhpgZA^}qT|03@09&6w@2t2DKYw=}Jv4o4-HV_8{OeXJPRW{= z(S259>)OETrk?gMI_G*Wyo-4->$*X{pVF)~y#*JAZX64V@mtHCzHIh|bmzX66Q5i? znq=_o;fn*m=bmakx7=&zqKrK{U;Zt;x3O^TWB*;2)-9JlH-FSg(#+3)DEs_r@KS+4 zuT?WcUi@;ZI91}b<;+Zt!c%ji9#2^IG+ji~IJj%;ohK(wyK431zVs`OxGOMqLDsgn zm3KP$q}D{l%AS;tyms#?bLZ9HSMTSiw%wK4%%|;J68?6Z_Mz(^W>hZW^LuWxC+9yy z=ib*+{L5VG-mm$y`O$+j&*Y3A?GIg&yGq6OYF65$tR+1xr@kz=j?!IPxgz9a%#vis zsI;r;C(b&hgb*5U1mRym$M$^DZUqI6m}(h|A{bV-qfec5*n=5JFT}o-FB$% z!~2LUHGkBPRR1tn+hGx+yYbeW1DD$(5>s?0PHMM!pYhu+j*0Q!CM&HSYSz|S^B7rH z?Fg8XsT{nyX%h5%%Tfa6R%l_++(P$eR!Q7GyN{ zZE9uyCuq&Q>v+|1p^gU)a+~ignw}XeCL+40eZuND&-SF-+4f>)i9wUz4K_y)&A)aCujVPjcm|Xv^x)>>7OGmg|C^ z@=FSIT{y(kqflUYY>Vc(Wlt`>oARuArQ^=6j5gx=KDsX=oif+05E8yWb%nth(@3dn zso?=!gqo4DdZvd{a%iYQlwWedG4Z{>!ixf=iIy}0;<;Cd(CYpeD!ymop1G;~$9 z!=1%?LEG9^_xmZOScU$+d~<5C%K2;SrnAR|r5&@o@IK;YQ?%>c&kPPG4Cax8j8z3ZulpEtIjbx@lva1(4w|;x9yT+7rtS>wPv^MZad*K>-M?o zl$TtenBsSm)%;bJO>JkhVSV@IgVPpuetmY;%u+d7wc^pP1(j1a&X^Oaa7E|1%P-r` z=KdM#JcqiIu5aL5>N{mh(asx}t0Fi3X9zm>Idz+(tQCJf8~5{b?*&}0T%WS{$B#1g zI+5=wqHbjujk0Z4WwSrUQ)fs^Ic&^Lf-q&e_r}N`(S#}Y+2OLT~`dGOBZfTjp1SShhTZ&~ z`*&Kd)4TAZTju&jY5PE55vj!nKkN={$X{Dk|HsX3%f(zapBGjOrk>M0&^Y70Us~YI z6y?6Bo3gjsNFJ@Y!?ssO@r#IiMfNnA{|u)NKYyn!G5?XSd`bCK*-e)@mJ|s-*YfuH zW@Eo)?vs7KS8dtv-amEn_@R4=zjtuo61#fH=XlZ7-@y*;q6>s}o<9?OF3@3-p4tL^ zqx%cF(_@9DGTlGy-6_Yt&!wke^{Tm!LVD*ea2?ucedwapmFznkYkEH{i~2k9^@IKE z!{P)F%0$n)TeD}4O^x1r#rF?pT)ioAYo~A87Kg|WD^4@M=JI&V6B!r9sb%&ue)8@K zb0%nr^qh1GnUj_mVQ1cbv3*f%(l?{(M{Zvl?mbP~^)~F7q+-74?vr7i(mLm=SsAVP z!rnbjT*=<~x@y*?V4{)@|Xiwi$|Is4ImXH2+Fn8Y5< zicDXJS08^?HSNo<)Q{YpmvG1a+*B3CTidJn`L4VVe0Hxgzj^b*aJ{~~&fdb6y$Q=s zK4cgF&)^xhTD`?kd6BYL*G~p+iD6^WU|+LFU8Gt*=>Kj=O2R|Hjk1@m+*Tt?Bc3tM`c= z&E0lSD35J!)6%H7d|S``yubI@o-IZDlq2r?E2X}#a6dcu?#danzNCNFe#&Spe*5;h zZ2y_YQl~6G^j-b9@3`LN1GTIb@qFjMPPqJ=ePzyvy^9N(Kl6QkAl+BLa`xAzxy=a$ zYl`I#EIBxtFXiw?dyad&&!)|{-)YZ#Z_PjdCDp+>m-p;2ZMj@Gd-9BDQWn7z4ko`0 zn!o#X#JmeS;l+#6e)8}6&#)tEKAb9IREVWq%_?<(&tXqoU%zZ z_S?{J8eBL>|5Aj1hTYPKzx(Rfwtq3dvTa7v#Va=FC${6~q}^MVC2^mfy-ah)x=(4J_-C3+Mjg0j_N#VP=KPF_mrm|Iw*RB}|04|E z0-&*KCT3O^Hdann4rT@hMkZzk7C|9JR$)UW$H2rw5oM!B1E+}#Hy#u)4l24Rs^Xl~ zv}n`A4+|{VJ6=s z!Q(zT86MxKYb;;Lv;5P_hkccn3#Rs&GWM_hwDhX^_Rq?P^M7rA`q*o&&B5Z1_ev99 z*2jKZHsy42F~f~Br_OW+ZYq4EXCCW6<UL@AD@Kfx2{2-6LVo zJMzLKuYP+QyHD_&rTmxc*)1FXGhF-6@Hlogr~8ub=-aXV4(s7l$z!^OsC9VhF~)nxo<(2Q3pJGqnNR>POTpO>Vw6D|w> z`)r(-8r#6$8Y-;v!7fIH>0BueA2w*zVp+v zWRU`|mdu&KrT2Pg-7VIQ^37Pj;?~+ro(@lsC>v&;w5|xfF0^xd*Q59siMp4Mty7=( z^0fb4!``3ue?#v}?10yW5Vx-CXia zcJY4(E8#nbt&iPaCAhTil;)8Kg-fcp)HYUWvv>LTI=t?&1uH>I9~tTll8(R z>Q;o5YTm5k`+>7luJ&H-PWW|UR=ARPYf$x-U-Fw~+`W53rba?)-<>Np1{QZx*7V-I z+)!`mdb)V(E~_`ob3aDCTa>ALO<9qD!pw8`=f*_e@bb?vdbr7!)iaexyX3npS5CU(>h*mU@7{F& zyTM*lvwh{!J1qxKJj=3g__(rS?x+6@MlEmV-oNVqI40oVDf_?5FCIK~P@7lt@=CRK z-{)`FR==KB`nUCm`+~KB1-Cob7ykOWW!ry-yek(vW?0K#`~LXQ&g+v-TzCJ+X|rD; zbC&g_^LN%t^PieJDaHG1?PT?3<*VgFI&IHPl&gCF(0;0ao>^t2-@@z6yVm-COKXkod-3m?zj22Y|Sq`b@}l& zyIUC#w)mJINqH;$*|bt{s;Xadrsjkd#g`V%x>6nUJZ|aBE6JZ%=*eY@Mc#PPvi{KG z<8MXZTz86Axlr0SYuh^K-5Xjawy-om4?A|9Tjx^aI=gd!HPaq*p4-jtnNer_z&KE6 z*O3gqW$dMLd#|QeZK@7kGRb7s+K)07^XJCjIo0~+u%w|fulMAb9s9%Qom;i3Pl)Tq z)fMHFV{-pkHvfM7qgI|L-;(`D*3o-Y1Y?Rud(V3g((Vf0s;C0m1=o$AzC%lho-?n`xM-j_~jhf#t3T--m z>jd{U&3kHZPWEO=KU%)SLri9Zlj4h-tViDe88TIm1srX1{`us~(ujMxmZz7QWwp;< zWg%LU?pL_KHR)8QN>6`ho87BD-CYOHYRYyBuL|7sY^GP7TqO#TIxhp4D^VMhXTGIMp;=<0|MXcxg=Xw|NEPUj* zWS#W6Nr&4P&eWZK@6)l~xGgOI-gae4u1_kJyCSLFnQZ-dUEQlaTW8Ojer?m54$fc8 z*FSd(objYT_xI`!kq0VJIcAuOno4>QmpKPxxCeM=IMEtrv!+kf)4v`xK8*RPc0ecD~Nd(Ik^gyq(TZZ&hic+0%?g#6vChwcA3{tBMx zUpUX#zHs$Rb=7qyLd)gD_pO~SGrJ<1ar)O5A>$vxh1Q3rZ+yusoLBboXta%>pYGew zt2}-&Km1X<^_0T-smE+qp2=JCbMC80ha;bON=BA_lvs1l^4C&b>Bp*B&s3Tubf3*} zU!uXfd81C2%GQVaN5vy2Y?)-J{Vnvl#IAz8i}zd=9wr_8t6?Mf`}7($_TZb_-XhMuH_Ci?%IDAZRlUerI4?@AOw0OcVWfTL^v}O6`rq7H`Fqxm`bo*}SE|*w zvMqKkTxPHXsmNL>$#?CBw`D`V$fvrq-U(DXQ7yRYTj!^vMbk>6Yn`36zBN_U ziP}!Ry5Hc`lk6LM(#Mty#<^{p$}DltH_a?r@~!aWK+n8gYL}a8+*_H~-%nTG!@q4I zcW2s^PRm_Y=22%)giZD~-zn=L`7*}s)1?QuZ*S=fyXtvaz0O{1lG(QOXD+#q^Vf1( zm({#_RN;O5j@-57zPgicEIi%ov7;_6{dD?{$MsUPyW>4JN_rT&N=Q%pxNN_9s*2%E zA)B(o=dUysrUmGVnh0-;sl2WzxMY``RrrplyRJ+Zh!NdU8#TB8=)A3`rMAAd7JJj> zC-+@RCH><0<8@}gU+yUBKQ&41vZC+j=l;re6NR#R9p43R_^sU`WKh{<{^ggs{bntx z&Hpa^e(@xwBJ{IaLI+dHF~cR#v)V2xMJh?Ku8h_7KGW`Xg5yS5-jZ*9MY#%=M|}%b z&vkyyX}Nl2)4aO*%Tk)yuN1 zJ^wS@jahnF<5l~COYvL3&96Kq_OWN8_w1?Lx0GJxK2>z~f#Ku84=z@HSEDECA^AJI@o3pD)`OAK zGv?0QYk$4hy-?)UTD3b3R`aEv@2NX~R=R9+peOfP+dW!>C-Y8)OuKkm+FX0aWzRcV zZ;DL}dhV=Iem$QndiAl2_bfTR(o6^2r``Rkdw=)lhXIya@{carXq#PnCcw6+{QT0` zQ?FNvom*3~+(<4`dey(HZn_g(MYv?lJaWFT^*r)4@pS)&MSc&X^2BdF(%v_5PO!_S zt!r4OG4O1ztPI{#bm-sV|jCu;HgWAMg1Tb_TAcRx~J>i_+y|4PYay-zffEpondbsf3AXTtgSCNJ+) zUOr#0?9FKPQ`Y?JN*D38^L5EtZ!^BE727pSE~r_VM>dqF>dYne*QE?*XI-`jvbWEu z%}u}i+owWW$zZjdV%yit2-{`NK7tT$f%B0W>(iJhI& z-C5r+E4k|3IT+;6J4NZ_;u8}^G-vcp&5AScVr6-_NQ*mU-@Ej=vu%5>ZmB8#xh?Q^ zR+~zW$AT|x>*lvOSaPbFc&feP_uHDi?8%+Z@W9)J|3cG`_GFf)=KXlO@!b5thrXrR zc@uB*oIVluL$KWR&E&&>-qfwnN$J1&GbHTd>uzP@D59Z^kqJIhWjiTs@QX_{EPE{~4xD{$pBY|IGen{N*=-4! zEucR8&62a1EF@*Fp08i`RfSU`ji+RL*ThTxTU}3YIq)Rw$E-yU+phMQZ7NQkY+-Bn zaIbIf;iSnk3rb!bE3KdFd|=0QUTwZow^z6PYOAC;Q{FG0ev5bCccfIa! z*;D(qrdd~-tVx%;ywdiomdX5ccTFVfwyl@<@>J$Fx3pv6^{hJc!Oz^+y8K;+n_91^ zIUjrKpUq)+#BOZ9?{z3r<>KafGtNd9icYeaXS?+2`{nk%v0LxFHT~x3{$pS1k-TXx zeWnQtjRATa{M#2S4RsCIzQ`Z{d0p`?fNvKDWHGJ&-!7idSx}=_njd&_@r)I9 zY%gkhBV%Gsx@Gsw+8MyGSdM9Ohts81OQMv6Z>H3ImG~JFTxv-SR1+2#4OadOzt*8z8w*g>wcaiDIDa&_Fi$r3^tMO?hr1$juO?+a4U-QPekiYhZf9S&lEz)>eOpf! zd@DM4c&be8S=ZvfO1!Vz`hO_Dc=GphOqlob3p2VGocwj=y4m)^XAYJ*{IS1RanF2j z8l#}8;beT}v7Knn9<66?Q@%y>f0*;5D^u_Nl1U$Ws{*an79}iTyeYLu>#p+jDVq&? z_N<-2e?zNUVws`oCfU6GdON; zW81q&Gw6v(i0pB7QKmcQ=?_mXefZhvp1VxS;ghwCPTa0P61sDuthiLN&W;nG)-bIgziomp=?*QQfjqcjYdwDe}C%PH#7_Jn?mP zro_{EsrH5Ir0kzA{?EXFar@H33Vo;FcKz!L`!25Tu0Gup!Rw~3+wj~ve+T(ySgAmc(rW5PS!Xk3TDe9v!(? zC{uk{>FxaBaF0nQX~lgm?i-&5R-g5~p1(S*yyl=uxmJu-55M#CfaO~s`8;rAGwHYT z&Q@4oJilWO*Q0>%4pYygaTrK*ck^Ot!Y3su+L|W(}de^pN2ik_`AsBT%670fVE;}HLb2H z(`EO@ZLK^xHE_|vgTJoko}OnbBwso0n9ZJ7M=DO$b2Zio@b7+UG3!4=SpMIGZnuI? z?e4}Td{Pz{NPunc2om%<+=E2*hZ^f_8oW^lz8W&T> zyO&$NHu#;oE@|W{@AheFp-7R$C(GOiS>7vCo^IQeQuAQWl{|Or=@b0l1{aHSD}9v@ zuG?CY&vo~)R;!!iXVKhTbv+4P#)yye=9RKci0b$mZE}CB+v6Lm+Z&F)KU8B^@yXP5 zag>R;|Lwk_(&WRJc518bTu>gXzU+BTh~b^nZ#G)8F5#XNAaMWq5yh!R>-M^OZ9IMA z`@y?=+^j;ki*AinpQQ6mcz=!X_s})sJt?UZHW|yz5p<}iRekkiru*}tyG6HhI1tZpR|B4Z^RGkb$*%C0-}-gd5L%Y2Y2|MkV$D;4^u z)^6cg(C2zgeBITzVQ=JaoIHJ^=6%nVu61fG-#p&SnPx3vF8J`-n{Q3@?x(@Gx9(C( z|Jr*cz5c|tKJ_zglF8S3PVV@0dr!!QEGzrJmA9s-o?UVbGw}% zV`)(|@x67Wlhwp8oBJhI|1&VI_&e!8!_9=tZLuzOvRM)dbvc(F=&V>STm9lh{>67z z50>4}EjX#4&$4HVq38ZeTla^b7OdGW{>Sb_kz;3Zl+S|OWMl&q?Nx$ETJe3=jT#?K6WUfzAaQnEE1o@Z2Z~zQWXM@CTl099^*6>+<8UVP3_9f zSlfS7zJ1zU)Oaf6&nv#P*)CHWjAUJ<;;cisw?%!)NF9QWQ#dpy{5~>Z;*DT%K)%4`|>*~&} zGroMiU-U&!ebH?)}uLmzO4; zdhqJKQF{HMwHEcN^|N}48}GKa|N5}FMlJHKccxXmm2Y&x$N1vuiCcWereCw@7@2TX1x>fxOn2U<#D}v*W7h20(@@TEx)#S+qZK$ zf-+3vUlYEXTsrdbok^<7^RoF*FRh(d8|&i^_adFIpSOHP)ZJqcfr zKlb>x+-#E4$-FK*f$CMxTBliei|R_AU_Z2N=7U{){yt4xMRJSIEfv4H`0C}|Z&z0r z-MT5jmVB@J{H0s+l8Jv-t0#IMs&Hx+cb_jW@%8VlY3D43JPO;3%ufAFT9U48yT-a3$}uOHsL>F@8q=KS@q57qtp=k(y`gq;_)mtXt0 z;?qadC5i8r{LR^C=X`2jb?L>jy=#~^U)}vFj{D=aQj2Gd7yf;pE1Cc9?;0P`#g^wZ z|4wn4VDRedZ0{Gpy-dFq)P;20tUl}UJE%m|B(Ldlpv{KAwY6H7`Kdf>7KIiVl-X(< z9hoFIcj2r!*ENC3g-h$*Q=6;gzi~~RP^Q$ocBiHlZ*Kd!`Mj&Fv-<=VJD#_FsNuhI zp-#{imVd|F&n??odCw(#s*mBX8)scDa*bx(O#b^UIq2Sow=w(Ezq|i@{&MZJgP|F2 z(?7FZ_OxAdDbDU#=)nUYL~l*XsISw17&}juO;@a@QbLKCD+ONKCENf;jejR*!is6YB zOH$s{-`q6GGIISpy{#t~zv_8%p*wB@pNDd?e@^a^6aN{+_J7^#%AlcO+^e;3ZuY-( z1s&yOJs$3}Wptx&xqmp+Xj?bi=i-vp4_?oD`{8!}n`7c1)~@+kzf(Cp$-Cn}!}eL< zYaIVGY?oMb>!XR>tjQnNmmZ0V_g++gG*V)6Ixe|VE`UoF1#al@Y#-sLs(PTia;Ro zBs}4c>r1uljYrf!U0ZN%g+)*0=brV? zKcy|_llkhmENeG!n;$a!&x&H*cZ==3IR0c;Z|nGB_GY1r-?#L6ggkpn2ts0tO!*epGNMfFGz}ulS$g!GkHv z(*GImu^Ka48`v@sGsJbj_BJ(sQOP zo_uQ4T>EY83wH%b1RvRd>PwF9{9i|RJW=?5A9Lz)#>EpXhh7;zwtiJ~;ICoF{UpU-@-gz)v-DE06{xXy%(NOL$+hEuI_gMJs zXYQ|m^f1{yo4@(QPIY#-hu6Pzici1Cu4$NDZmgUfnC5B0^rX<$Chk+_ zZc#l@Ge6Gog6Y|%-WQTjoZ;e;YmBrz>FMK?94S^*z;SN3x{X}1h*064pj9O^+$JmE zpL6R0Bg6D6JK1!m7tb>~J4+rMoou2mZgQJQOn?}f*< z)^2Rm%wjAmy{3}q7&NDreOFDY*x$gu*Ks^+bM7>)^_yg5ezeDEqp)@N;R1C<-W}P# z3CE>4=l(E`@@iTrteefM!M}V0W9`Ny&zC}J8@Uem=B=Nbt*6%4T+3M}d|ArZX(LRhP!V|7oxF_%@2XW#Tnrpqgv6n_R^Z2zZM&?~Oy<2B*wRw--C zx9=MsC;YCDHIvB>n4x=V^>v1`H4MMi)aDt+KFIj8KW4X(fb0U3cc1!rRoYGnTW{y# zoPG5B5r#cRBKj_EhATL4TWLF&KDXhmQu(v_MR(%|)0e_id?x;Rx&POZwe8#njuwtN z^@ggUnl^JKWv=>m=&FYqcNfOZo!DcPmu{%mI(5~WCUfnBDZdntIdQzZv@?u(<)P+8 zre{oLQ@@epBCJnN_GA}Oe7I+}ot4TVN8XF(QieL493BKo zZ(Hn=!m`VX?@m@CNYWrXNU;63(vdgd3H2JZ*)whn0MLR2h_pi)gzamgl zmGr`<nJF7lVD;7NROyt+&bwVNfIp3$;t#>ux-w>+Z*gSWc;urs( zSKMYQM>g!)Z^>Dx!2CU#Vd^@CH)YS6E|qgeOxwdacb{~tx4cYEgSWJ`0rQVElZ^JV zywxVV{rDDmOFq0`{pCMHtoP}v{|v{Kwq37IT-B_?>~Qp?@%3fi*@a7b%5J3oXQ()) zX3lSMX_X1jL9_WiDcO_nvP(*Lrvz(-)^1K?;rNoMD$cs{^W@7@KOfindcyF|CBuae zKUe52$Xj>h+JA<-$-x>zN=8m$)&0*<0lb+uUu@(SxV`95sC#>kV;^kfO= z*(Wy-Gd3-|$Tn+Dppa>Mp~v4@N3Ze7t#zJPq_^3Ud-c^vRvsy5O~NJ#K0l_-;^vmd za(d@Mw%ZO}8g=25rr%#Jz@fDIpPTiUsq2{zeMst^a5nHxyM(rb_?f-s%a!y`pE8^u zsORDE`!Bl+SM`+*FMWTUHM39r`EOgp&6@Z*Upc=TMX4X$VZh16>Yjc&?wIaY9ew3j zQ*S*k-zmRkH=n-HwMd6qbL%8hR;ftH&-tActggE(-y!8f!_l()izkFR&208zSo5{P zUFB&^YRmH4hmy)7H}}n-W4qpf?L_h%s|O7$gOazeJ5wZnh~;wCHD%kLM3aLe2cOt? z?Gj-<_F6P_o`7~dF)Eq;7mE+`U9gmfyhk zqr#Le3wdlkexAN5Wx@YKwX#s^wUhn&f08r)JYVqdIfq(z%Q?n?1op<>jBHD}YjQ=> zr4sIrR-c}o3b|1;ef>G7#IyrzpU!k@ln^|)wPl`zaD8vWon2f$9v9R1%xDsE+RhSP zyRW-R*+?`a>D4C#7mG=CbC%0H6bqJkN4W5LOb&RLG|%*yEAI(Uh53g~&sbV?ESRZn zbk*BxPgJC;$`{)?DoaKAvd+mQo1F=WVeivdKNv8@Gw`@&eyr&wm;JN%EX*{T6xn%nWamDNYoSxUyQ>?zv5eRE#+|zF9Qf#qjSDb_BKI_cwYhn`|rPLntvWXp7@HLtH z+gs<(*D5M8DI9IAE-S+4zgE0kqxvUx-a!W8C;AZ?r@S5?wC>pRn*Hl*afutjv0Tm8>DuAEF)<2kmt!uyP1^9Ioh z-pWUP{~7KXEEVtBU8R5K;nZ5IU)&raK2M?}M7K=5MfiytxZPsZGW3$(*~aXxyL@;_)xfDyV#X7uDv`;QmZ?chh)A!=6dS_^GqEzrVrd9 zo-7e_Hup5#mb|*@=jZP8Yz~}}d2Rc6^x1wKt*g4Y=0>JmMg5(WX+CO;bQ@3G?c}I6 zjhpc%&n$Urocb&T2L$ zqf4cevJD^VZ?`-g;__;md1!~UpZ7$&*6P$;^GW%?{xcj2J5;IiuRi>9%E!02W>l#& z%SaTssCY%LTP(3X;N%}kQ9gx9>;1%EJn6ZT@Z^W^8sD%$lZy{}llT^}=lVZaN@_fl z>iX@%+#Q_GGdL_>8LpY&X8Q7A=II5K9G3VpyxDNCaHcuKa`?A|P~mqiYb@3XsYu5vPc-H~p}6{E!D`Ibld)~%Y`N0w|nBwAMa^$4S1 zA*-+J_lbW?ay9!ppHC~V2;I#zWzV+GNyh_p?oIJN<}+pQi5p*QQq+ti8|{NxQhUV? z%Nk!3UAWZAW%u87oul^*YPUzdYkE~udAw9*eIsx3%A23&U;npX%+u_ce(;xn^3Dg( zPcuumc)7ssjogm^46C|tNXa^vo-D76WzxCcD;slo3whnOm}vI z(aC$C1eru?b{#P|F7I8s+$UP7g}LDQg#&LR6ruw3R~c}w-h8RiK(_NhpwXQ}=igo{ zoa7Xe`Y((veucQ<>#5#Hwp280AHBN5WsBv5`X~Hnh-kibYOia8f?7qsN>YYI z^Fr0fkqSSpCW^(F`+4;lO{shN>?7yjTme@b{`V{gFK>FjNnI&tNk@+VG$tvwuZj1j zch2Mw)Lq`UVTO?K{CIZG2M)&dmBPLnN`k8VORhOST)5JXrNVH_WQXD%pC_jCJP_Q> znp08S|9J1>gBo9s`gK{v*c^SLWAfYJ&{FR)=gGz zD@=Y{7iaX1r8I6o^Bl`1DZdwfwUqW)l6{FOjI1 z*>O=_Zj)2w1w)aPnT;xwD-w@g#?@7CX|6IAYY-8kU^Q3fQ}6%Foy5yymQT z4LEn(Zboi`3#XBPg^@su>MEV~bqq|dpJvT7S{EjyUw8icbDi25N0~+MHUDOxq`!KC zg~WRAPt}ii#idR8uC$)t=Py%8xUbJ)K95E(rM!#FEcQO~dCK%-z52vIk9|d^H{`vI zP5hWKL5?+0-8N}a?!p$P3;Gt`Wsg@(PW!NU@sZgX7VUg$Cf}dPTj={Olu=&eGTYnl z!!Orq_x-mY<1TUT=dJp4X>#QD6Y1S%_vWqBStQ#nsBU8L>A`_x`OOPoZT88JG}1Ip zJy2j^vG}92_nEMrN5o{iTsn2~6~wl>Wc-?W;@y@iqt4fdRqy|13i@2({=)HZ^Pil5 zGc*L|c-MZMV$I5Ohr`|4=!&S7rhNHjhDTuyjaOoKnwYfEoOpd0V66gL((uwJ{lx!dN6%+IPVMlQPYRrTWb!?KKHoS^%UMCu zl{}~ZGjwI^ol-R0>*lxQ^;G_ABJw+>L#Bi=se4{l_nL5P>W1f21b=WmlpLXQf zYC7M|IcVaIocr=Q_H&#PHk~m&aN2%xh?=w&yTne}wC^vwAIUro;n{O*ug~XWxj}6y zih}DUIXTLWk`MLQBxu(tWo4Mh6|Q@AV&{f$S029Ty}YD(f6eA&PTbpG9!U_JAdpvW zEZD8^OU2D+^3Kvly2qXzKWXM}z-4{@+vkb{i?p+Yj!&r1sJE7hJ@oTLUi#jneX705 zzprWEWUozGVB%SRNLtk9*|LvG=lJ-39y+Sb)5$e)|H0mzE4~k|cbqJ|xWR7zbUn3? zt#YxCxy~zCZ|{9{u2~`7k!zAsg2<(5ivp^w9xGQ~ZK|64vBy@$;{@Y7xo7M_>vk9y z-uo{5#6Yp7Gs4tbqT*gSW2>0q*_AeNHhm%|FY@kM<9l6#=XSxQABM6gitHD!dSRGq zBC_E@JKOFf!4DRN-1ywh&})z(KCh_i+*$_9uU4m9Z*R!8+wcDE#WatvCscH2arEn^ zx(G73OgyO+9%&R@%ca1()pp~=48xN*dY{r3P6 zY2|S@9+|D+w0548Xqa)#gfs99Kl>hIpDSXMoqr@n_r)+j`g!c>A|aNlu-}zuX9qL| zK2^PUm|?E7zkY7#=g$Vq6;7+)aXxa)IA#aKI!@trK3#?KFGSgM+Ano2nXp?(c+!H; zvx@oSk69A$@*e=QbJ5L++7$ux^2 zuZ;idw-eetu362ULRB$!_k1qhw3~6T$Al^Qi$#BBZfc18(lyiES{A1oF7_$zd9s4z z!#w}Tbt`UvN$fekT7jjyy9g;#E9HC8RCILlxD{AkhOqQ~LFPocegKdo%IEwXgiw`*=z^5Gm0T-q33yY-f~ zZ|8a^Zu|W24Y&F2{~2UNpT<`DvHp@x_#{z%KXESal(K&RIZL@eEs@n|JHzv>w_|s| z*T?1~o*8PK)idW=9h6c$S$taaA_r634`uVsPiwsLCd=or%d$1{cOO{DHrHy;J*I;b z{xdLYI&+)Y|6ow`cyd-D?9+>T_phng@h*P(%5KK|RQ=l#^IyBHnE1oTbA{S0lP@#B zo!Zqg`S3rhe-8?FXl!8L+y0uBL39!NVEHeHs6KizxT}WlJmZ=o0C)jD&fg}{g=g0 zWrSZPx-Y0JH8_%(5LhX#WZE&5!mvZSaskd`7nD^l3g@(G?{ofdv z3hK+aCP%y0w8`D7KU7rZe4*B7(UJv`-_Envw4dy2eEovS=+5WHZ%3r!-M<;UdR$cN z7UJ`LpD{efMt`9@+dz z?wo9zdHQuZ#Uw}e{|rk1Z$S>)X8;}QBrwTSg+!!`P#?4S=7Kv-P!rUff6U|Dnr!Ww z0#abdHKXUKm2pPv5B>RRp0SfWRVFvA?NFGn z9Co`v1EkT&b$3n04CB?CpH-?%^0b)w`>BJ*lGU$@#XMCe`K>aND&~t=WOjPZBu|wI z?Gq;UE=o4koBHj^Bu^C;2lWDHg^NdD2)tC8GfpUI8T*HJ}M2V%j|u> zU79ihWFsewP?^`{HwPZ8fHYn*SQ0Fo*VrJE0J2eLN?vVHR)6HBZ6F){rM_w`N_yG% zYF*+aPnC(?Pwfvo^my^@nYm<=r^-Q1*;^}$kEtrZ0{Ky~DY$6m-WkU(Jvim5GRY&< zb42=5Xu0%;Ui z-KfIEshs!|WW^-I;s=f@lRW-S>jY_>bkb#lC&MI;S&Kj#m0}+56;pDV;4uYc1xUog zjV=6(HCQExt1`*+r!16#EJ!rlA2jYQ2pachWMW}shThx2$RMa_=qM0qkXX1-p>g8I zgC86&J}meM8TV#pWV9Ff&(M71KZBvew&=sJb)NjLZn{{1(zKV?fsiik#zh?Z;86CEgp58l( z>;6qX`~E+JdKKT{w|@`*NIh}BXTdh*(!Ok$=)#UEmrt5~daM6^&I8-hi?=vqAFUHS zEOu~y#)BJwla&rj<)luJXY;pJW?Pz-6KEm2vAIsE>1LnU5uL@~J5qJ5LT;@Wu4sq} zyZ^TB-MyMeuiB=qZgJc-<%rC|X*)w_da-9bUB#-q+-OQMqtBeHUm1N|EOvCVGtXGL zE*{^s^m{32>AlNRt-h%?S?b1hwAGwI4k)wHFSZJ$3U zEs$zDbaThNsl}SSr{vDx@k+Y0lfz=$SEk&SuXWFar)9tX{^6MT8V9#UkC&TXTz!A1 z$gxGm^RE79n5fOpuMsI4eyVKIRhHvxmizB{WcSf|%IE3#dU-egK2q7A>396%v`gnM z-T(EUL1A{c_2$!wcfL&%FI@Y!K}##`{_YRo_dMF~rSihQZi91n;iQzQmdc{4Oa*I? zKN4Z&P>S|3SRJzAxX+CH8Kx#BTWS{ZDllfLPPPkb;Qkq-rIp>Ly1!U9O{gSNaR_+PMm+HpxJ!c#b}di=#t;(oPxYta>506=Y15T^BtIT5#z>h`?E)4s(Np+>?r&-t=3)6=>J6w*Ai_$n9SlFxU4y&zCffC9(^a z)^I89deOanZOppq`=&5VSU;WF^jd$MDtEcCyT*ZAdFK`}@%YZ%vy_MJ5cl%&}mTLApYNVM2CCR+|?VWnpXU2-4@1pM#-fa4-8h&+3+ni%sGxlc~ zfBkUu-<|V&KN^^Mv1UpzWF|Z8Y$-D?ZWcAYvgpmE=B%kF_qDILeJEAPl{!?#&Vrb0-v1NI?a_Zh?eE9T5ZlPn2(rx9|!_!xA9{2U;4BoP2 zO}39`svqZ!fT#=e0u$UFkAxTmTDdS@D4!CNpuXkB=NUf|x48CCUaCG%?7P#{CEIw# zR(*Xff5d*rq0iHLcQ`gbXW7ZnkR=khWB2ko_w^L4m2%oMysl)k?m1Yp!>Knd=x5{R zw?Xfn)OusS&o7etVq@-e%6k2o+}$qb3)C*oIFc*#L%S}J)4*lj#w$;y?>u|JIwNt$ zqN7D#O=nZ27FAWns6E)U;NlgvTb$)-IwQk{bz7Wd+2RkCLVmSp!mE?z@&BDE6idHZcUTo z-n93T^`Qs}y;CM!=lAU6le3)S>b!G>mk`@u%a^UpM~?ih`_I61vC!+P*X1oX!7K|u zHz($VYV>~8TeM`sD}_B1SSK}DwD>0E9he?_aklg!6Z0)XVcUIOu6H(8oeg@>vbf-c za?hWMy)Wl1IUp{+)2S(1+w{1h>8>`<<{8D4^QW9;?l}J{VO7Mtq?4DXXgU48aB60C zU4qWfqh23{<@DJ<|MqI;>|4AoE-Fpn!IsxAs7#`?^pGKa9$ab5S-j~@7PtB~W|Pix1p;13H! z*d2IF88klVh{YJWJ-Qqtmc2#ig{pFz29gijOpW(qb``-*3O_;7{PmPh^O?B0`j#-CKhqHJqZfi72 z=-`_xSb6eq|6k=9vlz2qI7olnuzB6R)d>x3yAIE;tl99&iTP5?$%vE;rjo?du1~*A zT=jf?Ui^-dTU)~~m}Qjrb(KEIb(8hzmx;c=Hc#6@I;kgGDA3}C^W5m%o-a3Jz0L|$ zC7$;Gx=`|zMqqUMD;|}c;@HcJ{XJNwWPVA{GCroX$NlS0!3C{MT+vP^yRL_&KkMAH z?#-&q=&HAN|NNW9UhF?7b7#NvcmCC%-EU>AfBH?*QIe@SeCe#qXX}#B`!a0(qOiPb zmEfhhRuBCoE5eSsR<6r@ys0GZW3}FW(+F|f^&S>`C9CR%u9x=Q4|{%arb)i$)OE8D zZOC5YyK(;;7vJ)IpXV1Id$Z})=SP}LR{mxEds=?V`R}a%uCH0mJ@K{;`}8{Qdkd8U zBQNrAQh%bb0fxa&@oy4t?8 z!J;v{a?E6z?}zK0+rGW}`;XU8yKnw|Fsnx~?=@?}b^Bs2Zob@4#*r^i)qPg-dF5Z_ zIZOOR{k)(V=N0~*eV*2KIM%y;|C%2O@e_I&zqo|I7k>1#>g)Z_+=13R>^=l&RQ(C% zv{uy$Sl9k-zL$!H#C`zB=1BgU7fn( zwcn*LDUK%hYI<$`o(L^k{z<0p{c(TWz58E9xz?TRR%8_HmsYvVu;~x3-&F0gf=#ajj<_uxHEv5;7EgZMf81Yn-~D}|Re#uTO>Me8_YtG4 zD#Icxw(s({PcyEP+rVFO@zUEhRaLP|PaVBw)FOK!XFr3e^ntV0({fUhR9_1wNV$py zxlH@~cYQ>(^4~2kd9lkjT=-=#@sWG?SDXI~c}GMqDf>H26`wDZbWrE{5;G~ubrUOe zu2s2&UilEEXVIcMnLX&sx(7Q-F2zMHDTvDZ(Ug?=*yzJmy9wt%xxb6*dhONRo3i-Y z!cG^#&1uW*<=y6I|C*QlOPRUZ*)zocSXJJN8``SRHm?nr{=vGK!Q_KulXUR<#t0wB zmyE$t@__@W^$+_N(1zgQb6}>8(Avev7Ls$96W~(BSFjKYqo?o?kKj zQ}(|JD|Jd1rX4ssC4gPx+S;=}E`2)V*S67B=a9+qR>hW|qHi@O*9+>DM}L;q>R5cC z!+Bb4b7VltGA4$D+yNR-9Ogd!&mhC-5bcm7-*^8?^^`qNKV1LiE4NO|swwEOw{%m~ z!WrR}Ia%g?%bYj8)@0rDAmizS>@|BnGoLtPI#r3gJZYcvxry>8%KkGPSyK^pNOAHu ziRQy^|CIe}zAs<&`TUXkB^paVStL%~#x!A(*apEhN(I5X(~`8U&l@(l=sjZe?&h<8 zuf?^ajeTa&l*-vZd_y$91-H7cuirdr>a(>teNS-tG!UrU^SWPkt9 zusd9%w3#jZZ-?mXnKFt#{)Pchs}JX=?(n#EcEK}))TF|5L5r^ioLIRhN%X+?St_!M zn;(4(>d=)};JBPpb+AE*(SeyEY0rLnmpYN+)bQQVcrJc;nE`D4+`HGEh)v~1` zkMkL`q>nu<&3e|L*=;8HDBsBK*rl#R-#V;1LJaxil4Li0_n%^Ap`#kpzxmML1HaGj z(6uPzKYroaJ2#uj``*{Ogu-?$W*h#p9>BbQ*i}%N7Q#xAc&>6|-!|T#ghIlc|j}&MBn(X+XTavYpzZ^ zBb6k!`&me-`>KN?jxtkrNw!GrSQR`>kN&B$_B<7LPCy#4|hvs%=)Oq*I|F8 zFn)1GtRijtbP7v>&WExj))eVOsoH96@k zlcpV(TTGdAF_W)yyNNsXSxbneR7Q$x${led)YUd!m|!9h|F!culmT zin{#v>pt*ScrUXu7$g0XoD;7yi{cz!fX=L}z#3frF>E(A{VidinS|R(Q zhp#}MC(3+DSK^xOOKXlly_I{5|9TV0F7LHzlXhz99Ce7kaPaMtJ+8R|{E_n*I#^$I z?d4w*=FYP9jKdl^7Nw*A8AQZ*?C(b;Ynpe*a+muwEAy{!Og-W@b*c7(+^%}9PqOQ| zW>4zk*?u5(=B%y_yH+n;GcA6m(ogwpW`qgQ-BZ{YleSJPn zn6FK3hOdA&`;(~C`m1($ofTwz7cr+s<=`wH@ot&*hA-TIZuL99CsRZ>=ce?U$~jl# zZ|$3S`qceij-=2}Eu3v@HiRAbKh+d0yVWoI)Z!A3l)QZ%VvPR5@ouZHMamxEd1HP3 znHR2NB~DWwF26ZtLrYoosb#N|ozIo=C$7D(^;07J0{4^Yvp+AGazMCdf6qS8mJs%Z z`bVx>RO%jlB4H&z>%6?C+{N2pd4KL)Q}3KG-;(*^d;!7F1-k9uclfS;&iC%w<3ImQ zy?*2`PkC1Tal)IU#x@s!&s`JnUEb(vkc@uP-9_zl1I^A!87^MWvq|+(_yhIMFFpcG zzK4Ikd~*F?j>uS%AHAKc*HmlyUb5}ao9Xp!V^S`vK z{8a67?9P|9_Iv&*H2?ds{)TjaR*4YT0xQ1#>U*r+-4-meo2(P7-WGZ-r{dY%^O|l9 z>$}_eS=vqoaU57IYuXoi#KGlHgWg(I`}5lNdfl6kEr0)?A!q)P5`Qg+vz1dUZY=%B zv2IVHaP>LG!*BKHzH36<+MW_Ax^TgCNI>gxi-Rw&!#j22KsRz4Axqj%N;C z+U())74m|FE`**u=ykm!dd6Ho#o~vb{ANBPef_TWUL!7e~ni_q~)lr-! z+T&vy9R4Xu^Wj3)KMxi?KUN=O!vC^ulW^=Y2Sqc-O*b?h|E66nw2F0OQxI&<;4tp6 zoqlt<$4SNqjt}OV%rN{D+R*)So%`~NN%7o&fUroBCuwctj*c2`pO*B zY+|?WZB$7(tiqmQh*1Zy0cr*RZjvgi}BL=;F{J}*AC9H`8 ze+(6wD+Jl|nwM_yx=~@>_cCRHh}4A_JVAGqds`Z|8YW(_smkAnH3 z^PRKB7L8nD6Q^IWabyx#pZH3lO2x8urQ(zY4tqsx^?PKV&)pW9aKWzpjH%d^gR`3i znKI5-RK|a8&Z>5s$9;O?E8b~t509`dsSN${Z}HuYAHOY=n9Izzu5kaOE`OQm6Dp2= zsZL6JS9eEWn#ZNmQF7^Y&-%jWS8HGJFXpfeU@CpLxj#Z_+sh+Gdwu(Sj11DW#1&kZ zTDAE{hj_HleRx&To#Fe|AQp!p=l!!+yy28_8j_d8R z7He_WiX?$olWz(zt$cp$vha(2TNs4cE?nI6tW{=zdS+0?&z(j>TTeQ2?wet^R{E^y zr5oAo*LLzHhOphXGFx%8P-`mVe+G+;?3%nMJl$av1g;pbU36XdVqQbZ2Zv0xj~6ep zE)$;A?`o>Y$GISZz~VTxzz}rUw`=~ z!#-!_lMJSN)egM6svT{ zhMd-0_i2X!rk?-;n=u4BLKv_e2UVcYSl9lnf?ZPHN^ z$_LwzBu!cw&ocYv)*TKyu~L$z0!_~MoOG)h*%KX|^4tYe>>fyR>@a(=r8Zb^24EO^IDT$y@Pt*PF`98tCR#oEA|w0ZP#a-P{}9i@kGElta(Rv zoN>t8!wDx(u~u)tr~CZ5%(E!B!-1O?`=vN5WGv5c%PF1m+~rqyhtjtM8)dZz=8jC6 zo5f`tZ##TkxmI?5_ZlWI?!bxJJL`l5R40`)E_aUqXz%N9^7tG7+pcxnw7Pa{&u;wt zR(;p0T?ZE>Z{O(Ibz4dB;@ZtgcEV427cElz(yP2|cM~JemWPhZkFI?perQXM$F8^O zJ(90o%N%3fAOAXg!7<*sWLofn(lbsq^STt6--!KZh|m}Cy|Q41d-#r$17Y0VR>IZu zJ{;-r+;wq3J$R%BGOCVN;q?!xg5eVA){pP3B%^s9BW1TWX&rV zeSfoIYK^)=an_c2jdemln*8S_L@Y8}q*rPBaI&>W$oT|T^-w;(n>uC;YmTZtCI0lVj0 z{MnH=*`q~?MKZ|am}S|Yr{>Sg_0>BWgfxA;w|>l8oUQn#vdre}KmM&!QUd(&@5;ny!HM}H zE*84Y8GIXat#;U+3hMgiUa7oDV}nEJ7T)`p<7E$gGf1oY_AB^reRuV(np5J7L+VwI zajCwXDfjsBqIU_i=D9k*3Aw&H^g`jOb*rxWFfrE^=x@4sz-z`@qb$q7jXyXRRKDYM zN!w(y_{y{0dy0ZRuH`IoUAb25HQ$yE$#Je~Q-ogJ%eee5L~PyN56Qb8^DcianDOLA z@9I6`<-!NzoijQFISV}RbY;FW=l+w#wzN`E-&Z-AEuhF`!Nki^Y%EL(N)=i;JQwwP zwmErol|pRw9##{_wDW9wYuX&xB+jRB?7P;mLT%#=n+qKej$8}VX^q-m zlDtqv&|-64k$geIWFO-7Xi!T;! zoapSJcVoH@zhwL?i>K`Vx8~X2x$4NS9hq{|ZtX#vLyhr#h7sR)ADzGxczb^Y%g>{Y z>Wda%@R%=nOqX?wtXGfQlmMZ&Y~@ES9?hrqLo9}P)m~u8?)ua{Ao09K^O5NXFZ@|B^ z*-34J=<&LG|CXQkr_Z06zx%-lxm`9qH*M}mt}$)pp2YaxtLABb%(|!gYuDHa9M623 zEa13T?;wwhvcug=TH9o1`=vxND=u(~TU{x9joInojZH~x_uTo9#ulpO7y2%`ob97> zv2h`T!>iznv+@IuDQr#1E0A!rk%&^c)*ttgasQb$%uc#0diwhqF0-+!wcdVMwA?f$ zx}}t{%T3_a57VRjeK$C~G;jHtaWmtsi__xMb01x7o5{-}FLySvX6Fhf;RmYjD~&53 znz7oiY^yr#u8@>{@y&(pfkrJV3TsdG?&?}y+7WWkxA8P<@KXmhgNbu}%4;{Di)df! zdR2cyqur*8uO8h3p~=T~Us4Xa>vD4GAAb4e_w)AFz29?olS}xee8%UcEn82ER@E-E ztvj>l7O%jnB|)Nxc}L_xoe3-T^KV)&ddM&tIMjiFG{aJ6+rP>A@!ZqyV*( ztiM%^4pg=@Z~PiRAt250F891++sm%!J=ptEy>@@sU4GV?S-H*(T&oksq^klhW^4aa zPBIL68c@xnXLi7#kjLqcxWqzkSEa*o!V+3@^+KyIY>)bN@R&-%gpdal?>v6Zo20<7 z#I``;&awENw*}aW_}1*&A$4$B*!xM_s<*4;C|ug-#aY99;&;abu25E!`*NF3^EolQ zPVHqmxi;2RwMy=Bm*a93e}3yb)I?Qwk;d1;^k-k)PCx&0dn3k`MZkb@!|Iy6i-m0J7kF6j zY<--i{jutp!jj|r3#LE4a>OHBHdfX+G^Cly_j1RS;|qQ#MKR2C+!mjdSh~{l;ig>6 z?I%RJwt8?~%ecPri9!6mrFE}*?2d#QKC;@K87y zR&kO!>oV5JE)9{eNZchFU%>wLSJDjI`k50&bd8*5zCJCT@j|(g{nq;PKbCFrd&Jpt zpyXle)iW7)3ocG>7fSl4?+~?ln*7OOw!wRo^*UZ#ZcgAk zkQuVJ!NH7advlk`WT({*i`QFyZgNRbsAOOXNxpD)f!?~sSs}Tb8>c@JV7hkh+GQ@z z&3!MFv=>}p4r^YX@gUE8rA&Y+?-J{Kr9ZeLSwkAt`XpDMxuouCHF3ArmmND*79_-n z9?0!}k|_L$EtqBd+_1M3^ozCLuyQ#uEv$MnOU`$Jd#7JxWI&F8v3F72+-%(qzq_S2 zHdy`rxMQ(%^fH!(dJpm=4nIF*u*GEC)U6wLRJ2}PZ795m{pAbCQ1%Z7vvl3Gd?(I^)7n(S28ZUVFANe%O=r<=S*`F*{c&T9-6T8Ro0fR zB`@!{Yaffg+Oms*IpA49@Tp8k&e#oA%ME@7?odja+|6J)*Pm%27lRGsHSIlIK2Iat zUR)LBl!(mEnY!Z=d&cee(zR^Io!@(yKVMUB)?jq4%A>s0v|ayWu&5?e(8`;gV(wWi zPGPevc6_;6HpSaoOUEnZz{kK(fr?r|pWYn$Q(?on=#xX}c4jr((;<55Qypy{@TYDF zVUW(e`)kLf<8sN{7MJmGKNi2t{Y8<9E6m0AzzmM1_Zl`nQL-&Os<78F{Nt~>o&0xY zcw2?bm9jtmXJ9=h$YHj}=YG9#mO|bX;p;6&?c0vbs$r;IT`Ygn?2O>D7uTj-aI9SH z@_JLmy~FqNSan~v88wH;%@9frTM=MproAnj`RV1Gh3f?5b03}ioW(dRaLHp<^Zp%j zGgmVDYQ%qSUnMcKVd^vy=N-4cH=lUH;-$IMnd@|xWnc(HugYqfOSjn8x-alP%)3Xt zP<-L`8!8hR9~`aESDTQ!RfRe50~hlYW$i^(&E-hR7}?-rvAgGfG? zPkQJ4N4#4q>`na(@2hQ*YGL+?z82itEF2yl%fBzNYTvF~Mtd6pp~QUfd`qKc2_-q>3v93PGn<>zWSlKlC4s7 z>Z&&rm{)i6G~_Wfc1ekdavQc;BrRik^&lwd+01}Dks9mz4#*u^Dbc=Hc6OKJXLkmH zQcVt>gr)h{=XeN;c}S*&Y!~%Qun>r-DA`?oo!4Qf*jDRbdLP$SMIZX=bLT?XqkgIF zycL13W-a>4e0o7iz@Fxm(n2X&m0qzeOLOj5iduRzGT3(6TFztiYgyeQyq23y(A<_` zdj9k^LQaeA?!Wz2<#yCw$HBx@dv%t=`FE1V@eA60ZC+n9UGgwgx{2ZK&(g4o6Vsk3w2E}>(3{Bc zSn6)c4z(=~;jruFTU2p#s`tW6doL{eKAY)#v&z;b*6M9L zb6@R@2~%`pZI)S;sc>q->yi&M_Gmf@aryncf6edZ@5RnHr9A%3D0aFi$+db?(|hf$ zeAj|yS1sNfb3I6V)mHUbh7cX;l8I7G&nvhz_bOdWJ-B4PikEtGago`tgzXEylwZ@; znNhXwU?}tEYNs7=W+a@#Bc_oD1Facw6Li-xnNG-(3H1`pZ8_``d*aTvZoG z@JK&B8p>Fc^m3ysyvN$<_5X zXbQXEzF9tuTdbBQyElu9{j4Y|b}6{8V6#s5qe*^i*h$tMo;UmMwd(g?3{-fW%DQ)Q z8Beyu+m~j6_uhSwXqv@bb)?MK|JY((#SZJc$IBd~6kFb0_-cEm>8?P+T%jZEY{9OA z=7|+M*rvX)J#P7tL(|>q*dL!VCf8%Ls(2U~ z_*f4<;as_({`$*58`R|9A71#-QN$_kkl>YW0L~rWdE0 z7j(Qa-(k2@>GSk;y#=ynNpcb&o*YuJ+I&tYJ+PxyQmBtRdyai}gD9t{v$D<|qi-7A zVexsD>APn;YOo!d#OC^}dDBG=L7ROWr;DmRoivTpcjdaIb<=wtiyE5+mcC<~_Mm@i22|lxD-d!~PMK zmsV#m7rwk@xAjg}`oT$$PTq66zTnV7R_AT?-#h-we`)?(w?ONp>iho;a>5hbbSg6i zoiBA9nZRgrMbamA(cReQee?A)y$lq^@=U5T`#aV>xTSMEGE8Zsht7nur3*sbWqw-w zPF?iU=Wh1`9|paJPH$v3s>JmuoHBOmoqb~F7snnkj&20uPON=IL@0k zrWVzumIXgu-iW(1v_vu$YjmkP#mbk}-S7+23|-~ooEHDGZ_bW}g{#jk`f!pr?<*sV z%S62|4^KXH5)W%(y`3_%TF2D%t8h=0-|VCJ-hSU8$I#KWhjCR&hWJx4=if(^oc_*_ zQt5KsDd+W3Atc1>O`Xh|M@kKDYpo>LrS?B=>u^oAx^%vh|NZ@5ea2~L-(F)X_|FjF zf91~pvzbl1nQk+zF^JkM_rW96!C^(K>^y^f53f(Fr@cStIHl(pqsURlX#HkYPS)#= zEe@Sa)b^-&Z(PxIXo0zF;hchy6|XnQ>Iif5w(goCUefi!{c|9%j6w8$ekU92S+7oS zjuyNirLbpP)89_D1zqlwR|np_G;{WyQug|OHQ^OPasCP(=jVik1|4YH)gZLw$?5s? zI!fQDI<8A9DVX=8N|sYjx}{~aY3zLWud};emWkx7lw19noBN3411F1xGxt>mLr203sAAfaL za#p5k{r1Otr&fiA?phts`C34AA&2n=O=+1l|3LXr@6XfrsZG_NzL}M)H!*KtbKD_? zH-|LX_&(_eI{LOOnh zP`rD;U1nweU#^pm0_IB=n!eemrtYX*60=xf63@hvj8109L;Zphs=T?&Gx=gxGB#)W zE^aTblQ?Fu<7gt2!rA0AU49o7xD*s#UlW+H+c`lpa8}KSqY2S_7ky>wNQgE}X_A^P zCL6Q%f(-%J(V9&ZPz^2?$)67P-gdVgWhs%tQ_{yaV7i>S^n0c@N ztJAH7tX5vfU0?f{_%Gx-N-1zM23_;IQ1K=rgoE$JW{uOTGa4iXy0&~TxaR0s@>*(T zsMd}rJa=_D%ACU3j~;w~I+0T$L9Al!!Ttzm=h&?9qj%TpIk$fK9&X3aeoQdnP+v@Oo@RhU~b?W?X1UKtDJb%TPxF8rrA62on!bEwR4Y6W61=? zup`VBvilkuKQpqF8v9jRM1;TPDN0ikYq*{GW>#_Qmz7(Xv;|M^c&$|b;zLA}9-e?z182UhB-V zf5|0#76e>dQr`3A&PvDZt7d024qi2N)Z%qCart6l?#E#rDYzijN5-vn(X|b+_16uf zUG?@Q?%Th+Cx64bWyf~21h)NdW&Uwv3WL&OzB>`&GiFY|rC`W%RKZbrr+3+m8|wo- zkH|B3248Qi*sy-aq>PV8V=w*qrIPX?L3U41{?6Sqq{3ddv50Y4?Jd)OaD21h5hv!D zEC&8#tW%CD=mzMp%(-W;QqUm0weq##V}<=GH=q70ynL}?rOKtND_P6qK3B>ATPeWa zUahz{>G{41*J8ica8&$_Wfs!C>&Ms_)L^wPm`jN5N#LDLQ6>3zU#h&_DyY%l$78`D zuRToZ5ezGi;c*1Q@U0xb#yqw?tF35QGwo#;tRtMzUH;&h|=Wg7SR1V+rmOF z@W#fjDMb>Wn%;_~-}uLuEV5kk-TALQ=^P6^-}-xudP}K zJU=>VMKOM!_{D9vvWr1@_=EHFPu)MYzfY!fN&L1z1SE2T9Bhr`yFSoCzBTciAclUA#%3*^5^2? zwU7L=zdhA|UHkm0EsK8tXJ``aV(o69V{$l7k4=n&WB&9{_xL6*n*Y_R?u^o-^S4gB zGk=LNKgF@hV2Q5&L-&sz4hEhz`fq*0@83*2=%~JuH)d!2y@qA%eP=ful*|9K{KS?; zjFP_}Box*5*uAaYeEnzOjhMJ2XIVDtaN2c$TmQRHw4w0_pa1FZ`3LIfEU27#e!=|5 zj9EEpwY+Uj5z${9*)Pxfc(?uK=YKYpg6EPVRZx*MkgbB`Z)w@GyH z4X)ELoT$C=Z^M5EiyDm}^|@R#c10iBKc)Y^-oqM8rh{f@XKpmj+<4)~;wSR|8CW{g z7yBQcsy_KYLmK~moqea7zwvl{cmALyDP*$l@`V+@&+GoaAyTv9_S63iN8}LP~ literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/ethylene+benzene_box80x80x80_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/ethylene+benzene_box80x80x80_LR.jpg deleted file mode 100644 index 00c82d3d9f5f13a5dd36eaee35d982557be2b1b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130048 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≈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≀?b3cK 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

      @8tC#ZoYxsx&1V%-h`< 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 literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/images/ch3_ry60_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/images/ch3_ry60_LR.jpg new file mode 100644 index 0000000000000000000000000000000000000000..65e20353ca70955d22afffc5f07709f828d3d561 GIT binary patch literal 3758 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%0D1al7MgTO9kf^7O=G$5@lHU$p*R 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 E0BNcp0ssI2 delta 5122 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 IhyULM0My$HtN;K2 diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch2group.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch2group.lt index 05091ba39c..c800d56679 100644 --- a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch2group.lt +++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch2group.lt @@ -2,7 +2,7 @@ # First, load the OPLS force field parameters we will need. # These 2 files are located in the "force_fields" subdirectory -# of the moltemplate distribution. +# distributed with moltemplate. import "oplsaa.lt" # <-- defines the standard "OPLSAA" force field import "loplsaa.lt" # <-- custom parameters for long alkane chains taken from diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.npt index 1b1a28fabc..f30c796b47 100644 --- a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.npt +++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.npt @@ -74,11 +74,24 @@ unfix fxnvt # I did this to enable the molecules to move freely and reorient themselves. # After doing that, we should run the simulation under NPT conditions to # allow the simulation box to contract to it's natural size. We do that here: -# We begin the simulation at 100 barr (a relatively low pressure), and -# slowly decrease it to 1 barr, maintianing the temperature at 300K. +# To help it collapse, we begin the simulation at a relatively high pressure +# Later on, we will slowly decrease it to 1 bar. + +# First cool the system. (Do this at high pressure to avoid bubble formation.) dump dumpeq3 all custom 200 traj_eq3_npt.lammpstrj id mol type x y z ix iy iz -fix fxnpt all npt temp 900.0 300.0 100.0 iso 100.0 1.0 1000.0 drag 2.0 +fix fxnpt all npt temp 900.0 260.0 100.0 iso 500.0 500.0 1000.0 drag 2.0 + +timestep 1.0 +run 20000 + +# At the very end of the previous simulation, the temperature dropped below +# the boiling point. Run the simulation for longer at these conditions to +# give it a chance for the vapor -> liquid transition to complete. +# We will also slowly decrease the pressure to 1 bar. + +unfix fxnpt +fix fxnpt all npt temp 260.0 260.0 100.0 iso 500.0 1.0 1000.0 drag 2.0 timestep 1.0 run 100000 diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.nvt index 38815745c5..6f74ef0870 100644 --- a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.nvt +++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.nvt @@ -35,9 +35,10 @@ include system.in.charges timestep 1.0 dump 1 all custom 500 traj_nvt.lammpstrj id mol type x y z ix iy iz -fix fxnvt all nvt temp 350.0 350.0 500.0 tchain 1 +fix fxnvt all nvt temp 270.0 270.0 500.0 tchain 1 +thermo_style custom step temp pe etotal epair ebond eangle edihed thermo 100 -#thermo_modify flush yes +thermo_modify norm yes run 50000 diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce.lt index 2b550b6309..1f0f0f61b5 100644 --- a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce.lt +++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce.lt @@ -6,18 +6,6 @@ SPCE { - write_once("In Init") { - # -- Default styles (for solo "SPCE" water) -- - units real - atom_style full - # (Hybrid force fields were not necessary but are used for portability.) - pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0 - bond_style hybrid harmonic - angle_style hybrid harmonic - kspace_style pppm 0.0001 - pair_modify mix arithmetic - } - write("Data Atoms") { $atom:O $mol:. @atom:O -0.8476 0.0000000 0.00000 0.000000 $atom:H1 $mol:. @atom:H 0.4238 0.8164904 0.00000 0.5773590 @@ -39,13 +27,25 @@ SPCE { } write_once("In Settings") { - bond_coeff @bond:OH harmonic 1000.0 1.0 - angle_coeff @angle:HOH harmonic 1000.0 109.47 + bond_coeff @bond:OH harmonic 600.0 1.0 + angle_coeff @angle:HOH harmonic 75.0 109.47 pair_coeff @atom:O @atom:O lj/charmm/coul/long 0.1553 3.166 - pair_coeff @atom:H @atom:H lj/charmm/coul/long 0.0 2.058 + pair_coeff @atom:H @atom:H lj/charmm/coul/long 0.0 0.0 group spce type @atom:O @atom:H - fix fSHAKE spce shake 0.0001 10 100 b @bond:OH a @angle:HOH - # (Remember to "unfix" fSHAKE during minimization.) + fix fShakeSPCE spce shake 0.0001 10 100 b @bond:OH a @angle:HOH + # (Remember to "unfix" fShakeSPCE during minimization.) + } + + write_once("In Init") { + # -- Default styles (for solo "SPCE" water) -- + units real + atom_style full + # (Hybrid force fields were not necessary but are used for portability.) + pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0 + bond_style hybrid harmonic + angle_style hybrid harmonic + kspace_style pppm 0.0001 + #pair_modify mix arithmetic # LEAVE THIS UNSPECIFIED! } } # end of definition of "SPCE" water molecule type diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/run.in.npt index c10893b411..efa4fca484 100644 --- a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/run.in.npt +++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/run.in.npt @@ -27,7 +27,7 @@ include system.in.settings # Note: The minimization step is not necessary in this example. However # in general, it's always a good idea to minimize the system beforehand. # fSHAKE was defined in system.in.settings. It is incompatible with "minimize". -unfix fSHAKE +unfix fShakeSPCE minimize 1.0e-5 1.0e-7 100000 400000 # Now read "system.in.settings" in order to redefine fSHAKE again: include system.in.settings diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/spce.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/spce.lt index e1bf2390a0..d40da62b99 100644 --- a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/spce.lt +++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/spce.lt @@ -29,8 +29,8 @@ SPCE { write_once("In Settings") { bond_coeff @bond:OH harmonic 600.0 1.0 angle_coeff @angle:HOH harmonic 75.0 109.47 - pair_coeff @atom:O @atom:O lj/cut/coul/long 0.1553 3.166 - pair_coeff @atom:H @atom:H lj/cut/coul/long 0.0 2.058 + pair_coeff @atom:O @atom:O lj/cut/coul/long 0.1553 3.166 + pair_coeff @atom:H @atom:H lj/cut/coul/long 0.0 0.0 group spce type @atom:O @atom:H fix fShakeSPCE spce shake 0.0001 10 100 b @bond:OH a @angle:HOH # (Remember to "unfix" fShakeSPCE during minimization.) diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/watmw.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/watmw.lt deleted file mode 100644 index c7aaecebbc..0000000000 --- a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/watmw.lt +++ /dev/null @@ -1,54 +0,0 @@ -# This file stores LAMMPS data for the "mW" water model. -# (Molinero, V. and Moore, E.B., J. Phys. Chem. B 2009, 113, 4008-4016) -# -# In this model, each water molecule is represented by a single "mW" particle. -# These particles interact with their neighbors via 3-body Stillinger-Weber -# forces whose parameters are tuned to mimic directional hydrogen-bonding -# in liquid water (as well as hexagonal ice, type II ice, and -# low-density super-cooled liquid/amorphous water phases). - -WatMW { - write("Data Atoms") { - $atom:mW $mol:. @atom:mW 0.0 0.0 0.0 0.0 - } - - write_once("Data Masses") { - @atom:mW 18.02 - } - - write_once("system.in.sw") { - mW mW mW 6.189 2.3925 1.8 23.15 1.2 -0.333333333 7.049556277 0.602224558 4 0 0 - } - - write_once("In Init") { - # -- Default styles for "WatMW" -- - units real - pair_style sw - } - - write_once("In Settings") { - # --Now indicate which atom type(s) are simulated using the "sw" pair style - # -- In this case only one of the atom types is used (the mW water "atom"). - - pair_coeff * * sw system.in.sw mW NULL NULL NULL - - # -- Unfortunately LAMMPS itself does not understand molemlate syntax, so - # -- the atoms are identified by order in the list, not by name. (The "mW" - # -- refers to to an identifier in the system.in.sw file, not watmw.lt.) - # -- This command says that the first atom type corresponds to the "mW" - # -- atom in system.in.sw, and to ignore the remaining three atom types - # -- (correspond to the CH2, CH3, CH4 atom types defined in trappe1998.lt. - # -- We don't want to use the "sw" force field for interactions involving - # -- these atom types, so we put "NULL" there.) - # -- Note: For this to work, you should probably run moltemplate this way: - # -- moltemplate.sh -a "@atom:WatMW/mW 1" system.lt - # -- This assigns the atom type named @atom:WatMW/mW to 1 (the first atom) - } - - # -- optional -- - - write_once("In Settings") { - group WatMW type @atom:mW #(Atoms of this type belong to the "WatMW" group) - } - -} # WatMW diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/README_visualize.txt index a3e3ed620e..e345be951d 100644 --- a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/README_visualize.txt +++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/README_visualize.txt @@ -60,8 +60,8 @@ d) Try entering these commands: It can help to shift the location of the periodic boundary box To shift the box in the y direction (for example) do this: - pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0} - pbc box -shiftcenterrel {0.0 0.15 0.0} + pbc wrap -compound res -all -shiftcenterrel {-0.05 0.14 -0.05} + pbc box -shiftcenterrel {-0.05 0.14 -0.05} -width 0.5 -style tubes Distances are measured in units of box-length fractions, not Angstroms. diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/waterSPCE+Na+Cl_t=0.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/waterSPCE+Na+Cl_t=0.jpg index 2c34754c4c2754c75502a87245bf882f555b1def..bf00edc9c40a6c506d16c7c51b442facf810aa01 100644 GIT binary patch literal 44020 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

      ckI;c%MqsMH|9S3-1px9X594;W%VDHyZv5$ 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�hM{-0b`>`*UiUZk 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 literal 169027 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

      Ruix6#enl742rz4^QT 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

      `G>7I4rj7QGgh1@D@<~%5#lk!7irHN3X_&(c= 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�_7FAj?_ zG`!t^#B%xZ>}U7*Y9FoMW%~ZUgc{G^4}k&~rc~Kq>{xR%ZVr1>P{5iztG(YR@Cf~| zT->wuhmU#v$@dzwt7ll>TYQY2rF5tI=c&6q?$`frPIWN6QFzaN=4>|8`@i@MStG7b zZhx{znKikls^j;AYtu5+x95EB+3woX+1i$rDJbB1Q(wSOQC7%b;q^M>@ONxI(hI!r zAMAQ7Go$mO;(=e~*G#lqx0vmzN#I~f^yUeCa%AbX&;t@>M;9LXQU6_V!36u~X%0!z z77=TDG6dTC<>&Y)JbU;1`{e0azK1)5E^XKJGuU{>>wfa<;}UlBvLq}Q_v@MERrVIX zUlY;f(tCMtW?#9*QwNXwyN^6-ChnW{x?^wp){kgqedfJ=R`v2}L+}XFpyhiqG{3yiPVt=bTA5|9zi6Vt}^ne{Hhx_P$=~{%ezH@UkV9^Q}8h zThEcYU;O>-dJemDhTCubXSkajd3K)qG5-GyZO`Ys?<$;PBzofe*MFOGLO1zEAKrCf!^1!uwI5g%4_B+shMNIYvY$)@i1 zp29uOQzlQYuJBsDWB+sgk_mkC_WUa<@>rOl>XU11W0JTf;=-)V&CN2AUW(f+{q|ef ztFX8qS3l-ixmWw=$)mf3_eq*Q=PqAA?f3Uqw&Q#osyl1v|CA6u)Fs|HEzR=KgqrPk zKW&na9NuBy6S$kNIm}7Dr#T^1?f##zpwJ8L!pqz2*RYf+KHmGEA!2cdDx=ds>1z?r zDtdYQAANl+6?FFTVjaE&k599{wgwrs%)M>5`rgLaP4TxAPfXWgzU`*Kc=7V(>G}eH zlz*R)Ic?5RaOCfuZf`Z)+3$-ZTBLje9~H=i7Ab7t-0|jh%@c_u|2*s8?Mc#ObYJT! zcdKCb@{l7x-}7=biTh^ouX%dH$^OKD2Hyu4grvK)-R&iLnYje^-TxVJ$tlUA-bC-obn3J)7pnwrNSqCbP_qn9uNc%(!Q7Bqg=)*S~_G zO2eWF4pZDX6O?OSKAp2%YlX@R);mYCTWu13Gh1T&WL>{c3RHJC{Cs}@-PK?CPpd3m zq}pF|=bXF7o!Hpj>hGJvJU=gdjE352B*b$ zY>!Lq_H@5Fk>M1h-I4u$8%u)S<}cHp5|Ml}_}-@FXS&btSDoDG(#1Zx;Q&WxLjJ=a z1q(0o%&wlB(iD>(=dk4Q&y(>-`kwt~koe8o_RM3OO#;hNvzF;{f9CtFDd=Z;TkbB{ zTj(dI5h2~V&cGnXL2Qrv*SPxnC-s&$=bEbT`}Mg=L}W|o+xbGl=VW5`%;_|!xyE_f z_LsW*mlPIzj{J4!j8YwEUksROE8;TGDX(houR|Yh?V9-h*lPx<+v(?cOGVQCd4ijK z_b;ErFjHtw(Z2r-a|(h)jP(U4-8ymo^NL@|mlV&-E&h2#NHpi`Jx&IZ+8m!$&7ZaP z=Un2XT)%uhQCR!LvtU7dm%YWqM|W0UdFB55v4rNNo9gSGk32}6(J(FH#mC=YYxmE& zwPUODmA|V6ymI*3U#52+G#1z3SmN;D?&tQ|0@CyI|2?@l{lfK{_<4nmIX9E6=Fjg* z)i6tHu(5i+FQ0d_>hh1Txnx=6%lF*eb=v+j-(gD|dE4W*9~*pHJ#x1x|D5CJsS_g? z-{Z=v#PGDP^1bq2kp_=~EbSvtLqoQ8GOcHyqoL8VR8G+H&ffy*Am;5`pYOc)oPFCC z&WIV4-bp>@)6v+XFrjbecK%g+Tb!$2d48+=&v52ZXpaMr&E!8%92r;6{O6eW{&TyY z-Xynz-nR#nL*D;;yo!m<>`KqynkSW#N|N3EuPZb*-Q8e#WdAv7v1ZOFA-|oI_ZdD2 zXeqUsx4|{ILGbl8iM=}v1266@f2?waVXAkH^>XEi-5DpBw5a-gId8mYe&~(mkImIG z^QwxZens7)7hGJ;FMGZ$d$g}V&hYRW<2MhlAJc4@$aZq_LE-mr`%De^ zxc*$f{Qd3QzGDI_8{(!eTK=)yud&g2xqsYp(?eR8CjN8cf~46qZy&S>>J>h|z%Ytq zV#??4^|O!fzsPX1Tcv?}Dc9=jFIF^pa&CEN5Vpc=k@nfIQb!#W1V3KmF-n?RDQQ|C zeKa+o?Wq4ueJz2DGW%uOErfmA1O3nQKUY5^swP}zeWJrrNMw4QR^%ZC1x2+>6aLoE zJaALEUs181VeOsN*&l!Zd;H_DS4VL6m5*QgBQ{Rp-0_zCO692z>8+)o&(1cSb@Gtf zy^R9G#^L&gjly^490@IrbYRf>VdUU3CDo$gWQ3!Re*~w}1g5#Ke#}vGnajO*(b|eb zt!c{V3=cBB&W$~`|5=@9L+^iv?Gv|@t!^I`1Hb% zT;0R#*d8ugE7QD_Gv)Gh55eGh&i8NM3!0(iJJIa>hm_~HWt}fum5WdMlJH|z2lbdgNw1g1a+VY#Go{XG#cjU^6$y1zy+aBAz}MMrmiZDf(( zdsCXdv_iuk$%#+-0H-o8lE9et<8OO)M*)wW8(ce}?jg3hs3KcLic0zYV`!^E~w?nP<_Pozp7! zUrvkq#r&UP72n4?`6Vy^?0mF8=0$wYtKUZaYWynCB==OxDV(m|P-l2ipW*A;%_0xy=`bk#y$>5WVPs}v11%6^WB@G@ zV-QpXFA-B{oVak~L4gk!5d$YojEwdI{~4YJDD3*ra6)tugLvcVx9hJc-tf&idvn%; zH&vVd)^gYc*?VzD&X&*bnL;NOnO!N@~*Ie=Bx7E1n8kH)*eT_v$wvo46yw0)EcF ze8$Zp@9}wmh4;FA_llnX{M`Cuxqrz{)+z_{t%uj7e&~H4dV6MhR;E|W%xMZ!J_K%?cDvewCScmW~iHu*01E3e=bc4+T*pI z`*LUWN8!Ya?`29Be~(Ol9;&)AHX_bj~^-^S7*wDCD#AzjJ7D$|a+yS97vAzm&YtpRq4zdcY4I87f2kS=&bxTGtC(lnWDDJx zE0-Lbf`8ph7xaG3>^r@{r)|~yue|42?bq|wET}r^m~&dR$}xP8sD$b3-`AqfPI33z zq4mb<*zMHo5nYeeB62SU?pnamu(V}`QDp71B_iIE-fQkNKi5B>EZlyjs7>KIOF^{E z*=@hVcqK!QOU~c-^uwxme|py3{xXBX?c=|LuDYj>?$Li0o+2AGLvmA>Nx*cs#I5%$ zZnbfk2V9xub}d-IV4vc#OFxg$rdxTGZbgd{77%ow-;2glqol=ZA~_W=i+JP!iWImFJC3 zN;DKQlgm>$bZzf*n?vmScOR`YQPM3wvgI^qm9m7Pz*l97l34))pB_rC^g# z&0WQXjQj1c_$JNY{>N3D(fC;D+E-cLvOhn3S^UWB^6wQjEmmv8CN@W2Ki_eB^{c3^ zWp}^u?H9NaV9@pFoxD`Oc(P`&hqK4Um!i&Bo@wU0I5u6`xZJbHzUsWP)PZU5#p`6P zy_?%~r%7|px&G|>Op}N$j|4B-*owN}3%hsreIdh+=Gn8qHMnvHnYJaYDP3c~_v!01 zQ5}!Yd0y8JQ#m$y*3xp-?$CqxBwx}%N7Zxzp7HvbZ9M1SUtH+GAH6Fa06CqItpxXE`&GdFFarbAMu&Jo4A$?NUU9NAMk zV{zU}@A{)USNATD?>Bq?_{gMRS1;H+l4@VG^mJf-utWHnRWiL5d(Z2ByA}78y=wX~ z({sujSbQwv{xiHu3clEDF{Mr87=M}0Vx8<57s2Zl9E)QdlWv(i*FD+fm-TF(W&FG( zhOlR=>n`r{y7c#{uBO=(g~PiaJ#9$Xa&+Z-Tjj`vd0olZ?fQFfpMBf;)$&^O)zWGE zmQ>kVCd4O&Ka!98;C=5!uVHQ4#z<+cBl}8?Cvj%HxoTH`#nrK7$D+ND`=y*N-4eK- zEGy;B@VQq(M340t+Y${OsjW&9DQ65GuYTd=FmG$nt)-U+Ye#LQa=I%WEehY)V zqs6P<$GjHcHJ>x@w+wrxmuY&n1FQDOcGtf7_1$wzX3EZAaiRQ2F5^pWt}XXxwj~9J z85!7otC_T;}FqbNm{nb)$733zjtrN?O>JVh2dvxU{xb+N<|_WoyW==bIon;$%w;XtX^S!vX zYxT~WoVcs@%PY1gUaWc-_we!VKl3L^$+v7;`fJ+HzM0|ESVcJ$!dG(}t|@!_N2=C; zhV|9zHNWM5sH=DCL-&Rn0U|L9rU@5QgQo%U$V z*>GNfdm-Dlr^Vq#+qM>Go;NsUZV=Y|LG#}!D-;8+eXw38*Vo@HZaQQ) z@m*u{A>-A4OV@us_G0q#@b^<}^1c_pJ!iJXVY8#Q)57KZK5U3@iNEe{9rH!iG1rPY zyl3td7A7&Lv!*@;2X(cNp9%QS5W{&#qUS$@@e!e0T00IfD7A*Vixr7VR4IQbTiN_` zpIf8EDhtNf$A4Y?cZX+pck${9hrf!9spb;(nJY|lTUPbEu6Qsr;)2Y4lcVd{?($Uy zvRl1d%JtiYUHI?o>LX5y1&coHxWpi>rhG^#liS&})NRU)G>_cFN?MEcWeo3F@0an{ zNZu{vV+&=U{cCAK^&etq4IuDh(ow}f1rW{@c*d6BC{h?8S(zv?z!_o&MDpU;yt zdbIpr@!mSiVF%6CGc^spgobmyfTatE@Rr*ekgdb4u%{eS-%SP}ycmbEbatk`<< z+r`-~ThG1F6kVaT*O94(%klEkhFUL1E0@NJKPvcV-t8%$;264=y`|h-lXZq0`-W&C z&Ml2gy(CmZuD)(`S;YD{Y9;UaST|Q*k0TukTQ0Tm=}0zuDySan=PNJ2@pqw%gRhEp zbLrfi-k_$b-o+I$Yd-9ItS?gOPc64ei0L~_Wp#>rHj1^6st}izr?{G zV$iT~&fQ6q)xOMnwx^;dGjFNfvDZsJ6gH@c32iA}yzgU8#PxC?^KXZK*B*`2%3dsy z$yFFObD@~i#MRH4E${F)SX||CUQo1yE2cGA=hEKx0|ly#4-M3`WnNgVKB%~knDi!Tv>Flt#GFo6D>ekfP%JwmKiiWt7;wSn0GJ2od=Q5~-@7yz``KYWw zfP}BSjpIevBb$6!ENv~W?GEYK>7cQJzfWswowI`?)6F-=O=e;Ny$-q^RfelRSeCU4;3JNRBoC2C^l*N!g>zdf1%^wjR&7L#79d@knF z@9U1W<=8$u^y0Xsc7*U{ZhiJ6&tG1DSk*nD?WO(UCSkETp%W%DWdGSCFmZ={2;%{T zH*y~AYaTRrtdH2O`e>G8!IjXfFYR_jpWE1|ZK}62-fDtO=YctIyE!x;rXGsgs2eq5 z!qbFxm!i%z>#fPUEOSm&nP(9Tv-K|TQ(KG@=4zR}@c6N3XT;*8M?}_$EDgEL@E<&+@381!n@8=4@q=PjN_Gu}Ehh zZ&8S2()acSQBU9HaNUg3v|je-J)@s;700*kzn9lJX+GZ0GK(>_iswzCGbH zH;On}-^ex|H0kAh!x=K)(Y{8u+--HXnBY;lio~Q3lQi1w`=)s6HhCOkkeT=3!6BJT zXTrIfO4&Krhc>czGVDIM-e5Z4sa~eFnX@k+emL7gKg!K|-i8Xdo#qMLKGWUb&z|d| z!?5_9qu1fy&r@=JMI*Gd{)a~o z`Iu$1GCin}n-kfzXiJ7-@KU8~`OM6Vnqn`+3YzTo3)!W`_(4VW*RO{T+X9|3PLMKV zkI61;nCQu&!LYaT;D3g^*GgJ-^-@6@yq>k^Uz}DkxaMdox0kiJ@6$)Fmq+$0IR3GC z!}6$4#F0&@zw_{7rEG?WY7#GR`LW2Idtx48!ytLPe~v}$<4Knt1?*hHY?d$w1(;r1 z`pe|d#w}tFCT#Cjo_RF#cqXusrEbiNX_6N({m@5 z)?W{Um{#wRVp)A*R>9`F&jBZ1nlu^jsN+cxz5edw`2!#3uKMJAuZ<@<>pfd+1`y%bVxt8e9fhxvCwmFvO2F> zONIBOWvyD<-m|VMvyc$vWB;KqdAfO8X^O@^-HOt6DqH?-+|uLj-Z*szgYcz?j^PV}OU3wJ{$^A# zS>`;S&)bq!N=xbHqQ=q}rcWa~u9f8T-{+EDdsErzo6*Fli;g|GziHXZi^t-7VguQl z?no3keR$Zx^j5^T#Pw)re8QV4OB|eTS%sFazJIGugE5|e`G1C(5bu`^AqOQ`zBo5B zHJo4kYU6z6rY9CoTs^J%57^zc!`>7WN3j}uiZ9Rn zq5mQU=IvI=LWTLi4r~y7?6law;h9O&{mp@m9rql4QVb1rBR@(g={#y(vRF<0#zn=}k&Z&bqD#zK6R{zOfB@thCGENyyCo0{ev$gg1VTe?9%lD~_q^ zKOY>`ST{wB!M)D6a?WI<69Hmj+tgzVMFoVc9+Z6XzTI<7anC2ciJ7GbIJV4AIvBE7 z@VX4c^PL(C-I_MdVQI)dd-qoN5r&Hm-itVQ6f4>luuqwkxbCCi_kFC%{iz`(yB5yn z<9?Q_KBLva-Lvq?p|cS@n=>DMQz{bK&%P&Q1JA*^`U+huw#ck(oB6JAdROY6 z6~7-TnzggHD!3@`IOmYErR>5E&h#JZI{Ir_17{p$?XC$i=h(o}<1X^+TyV>tqfZ!C zy*B4!wQ+6 zO?UBI#Uf~G{!`ZB!s$d)F(b>M_f8@!CTaxyyzf>S?5ZSW(qOmXrtn@7E06lkCVa1@ z54~h@Kgz4{#9`--(A(GC7dPx?!ct{m&;4 zDc&1ju3eEhGH1tT-GxF8rSWX5D^ye^BcEnXFJkZF*pk%rNKZ&<`J4j(NZSP_0V?dV z#Y?Ww`1_wh!&;2zNzpXn(+s`~-|xt7@8OV%a9`@}z?z$uVRu zDSqq=&fQ@;AR;$IPm_Cw%}3qN(5!U+ry<#mih=tD7kyNg+{MDBQmoY7J`m+DN?X&0w5l`>#uRO{Xu_DM}mB<^%$$g8CIUJdsAi_1%yN6FPl~Hkm z!-B<^K1pthU^>2d(a!^?SSQZoRWg-WlYHPBXMXYHt|N=tkF&8gX&-)YSZYzMz_HLv zGSm2-opdskOAcIc?6cgpu6(QA*2V3YI-p0Bey?_c}q-m*c} zJ81>FFx%Wd(8QvUed%CeisXjab>>2mU=Wm2NS0<-J&sgovNJK>--Rn>lS!&==) zttA{68|B_Bi&-9LE{WKm!|t#`bSiV?Qh~fb1y-CbUpiHs7f*Q_kZN!BBjD&dwO#AI zO>*`&w{^^6Hb~06?=3p}RlaG<)D<3?+a9O{Ee#1iCdAHgXeG}cpB>&F7gLXVv2QJS z%e%A8L4ZXkRh`vD>T7?OmP;Ge`5x3rXEv77{auzwII^We# z5*}=kSGA}L(J)@l&>sn@sjla3%R{9AqT*`gV{ARe7)rW`rOxMGf?wWpA;Oys= zCC+jac;5bPU;HRnw{iWyoov~YCMhT+@7Ldb@RHV49tD=Adndi%e|O?Q&@O{7-{L$3 z=Pp?8|IX#WgYE;YTb^}koOzJ5Veetv_KnM(Pl$x|EaG<;wB4h4$D{2k*U_0gUWJX( z3f-E5Yt`({CtA8R3I1r_xwmkNe01ZZ-I}0EyBL!ddf)$R9%%eXx6bX6%0zXfv59j%`?>Nt&@T)t4Gxq&P&AaFN^w!OKx**Ub%EI>Jrs;3K&ifD$kX!Sr zhG`oY2JRme70q z&9*IUnW1B+_&gyt#KqiEOJw>4&MDPWKh-XKzBs*=Gki1CV$;3rLi_#v6x3E)%ik_= zJ(bS7DOlS*hTn@Z{#TkFuCrw>@ywIK1s6m(G;##n*&REq%Q3 zt}BzU(}DKmr&Sb#92s58zu%J#{kZ1x{RLemqMJ7^{;ag0Rr~Y7>zjU_bYQRkyL#HI z9vz306J;w;-*IS2XPLX9-R0;UgIg}Df7&FT^WJ*yT9|cHV4ZBphX6IDgQ*Q>iH??n zjx(4A)KrY8IKL9o7BdM*3Q2SM)$-!C63>}?F;-T+o8Dez`ce9G6Ki5s+HnnMpGZc2 zHv5T>u9$uGapQcLam#VWw<8lX(l?|hIte#qgkIR?BEBM)eNt)0;t3aOdUw7)+F7#q zPbb5Rn^zv%<;Xq>(X#rge2DAF^-HG$o8~?{`sn)aXsKY4(yqKYYi+z8MAa1*D5Mn| zs#gcKa5FwLnLg`NkYv$ThP_)Rczg~q$zTo8+@b~llqCFqcG1t?knv&wU~Am7#ML$NHCt zK07rhCbV2Q$TqEYVaI)eQeKyDE{l&DvhQ8unV2fW#9+Y5m&WYBTF1I*gS*yqMiCW; z$ipvfe4UpzOkW`5$NE9F*TFMshr^O}tmfp2Ph7VSAL4yDE9B7lppc zH$J7QWxLe$(D%Z_20>3xTwdtXntf5dp@P-MVZl%KbGr7ePn8ZjZ2R$eRWNs&s)yWE zm!jSvQSINXondOSpOzO1JzTKTd&c^MrR*W9eN815ODopwF=P<_w1MwFdyBeo$dawz z+vU4W<(j#4R`dOJ61}@+g^@%pu$7()nVE-&&RIlq$Kc;cBy+Ds_Z>;`PP4R9{C1JTSfc<8fmi zKdYN;tU~q$zv8$#JPd3$%z;m;Tw>)59VV5PpItHK?2)X*b$i3D&F1vocR1@)_F*yC zfuuh#RBC_vmH96J&(MB=f5D%pJ<7a+2d@1s6zMapIGeIy;j559;b{lI?qz4cpM9p` zqA)rwC z*P(%jd2vT$sUYVui~Y>gJNC8ZO|*#XYSo+|!J?$5ZV<@UzR1vf$~j%f=%X^i<_=nS z9;OGDuV7L3@)SxJe7Ug4)mHC7M^ouRyQvfQibbuBe4V>(Yecf(8ihYC4@8QKnfk** ze?H(moVNJ#mA5PI?%DE-eOAYU9SJLL9`Oo@YT`V}WEfoP!N{a}Du=IT&6yd>%luCRHh&lvHbNn$ow& z*FxacL<39rFDf}%^8Q~Bh4?*ZZT-)nnJ~qLtDb$np3&o<`qP@;{+st~RbFrWe+G5d zj~f`TH$7$BzW+~nt4VvP{Pvc$8`PR_Pj0aHc*Eed$ngE-xf{e!PucdD$NB-+joNWyeRG-WT&fwZHj&lCJA|cL%W#5nqohs5TyabcFlzb7hsa+RyY0 z9~dx{%xitTo4qCePx7z%e-$<%PwSRFvdYWaQ-KK!z}~va+(XvGZ|o z@X3h?ipY@+{vTiv00Sd4Gcz+23o|P#8w(2~FC!B(3j?bln~);Ap`&o1h*Dx9hf$-bveU$cVnIn8 z52_d!HC_B5ZZheis`H{lAA>ikxg=jQD{h{=`S9caM;N3TA@)J-0#VE?Oss5-?EjB2 zxC$~bf~{g_VrFAyW@Q9Bjzy4FNYPN(F_29uv9M9ZXyU?+2R~eVsO%IZYMfNG=_9+C z%A`XkO_x;F%$yem|G&k+!_3IQB*-ktV9)SoSI`ufrJ62YqtuWIg0S|8S1dPXw{ZBq z^v}7o?j-Z1?03gky#4My`Pz^5?6IkPUj_NI&ylIM6nz(*y@vZhS?KPinsGXprYsfI z^a>Oj6x7s}`?8`%Cu;p&Ueb5yl2P>CooA}wNQQq|_3QVwh{pG=m$z+Cw^=8&-JRvH zz&!uYqIJ``SFir}vZZe~e`kc{+q|byUzhF6nrojDG_h!x!Rby(-JZ3{|3aQzO`9Pb zd@VyQd;dm74T0!lohOw)+0WEJTbp{^VdIi@h3fIsX0KhdR?)@s<)0^Yu`^FTSMT{? zc{J9dR@Q85@SQJd`)#K;p0C_2U8=IPwD{3{gD*#?{@fIL$kt_Q@$nA|pKQv%t>s-G z_SNZg?ex6uRY}1rYj2#&oKmHr!DO^X?g^i#sojP0(>^o#UA9CncIfg8igXI_v(EQp z>IWO}nx`bkd?FQ@(3S zSE?W5tCo7+=!@+Z@l2kDqu z@~ylnmR-C~r)lXrEfG)IPL;5IkC$wj+4i|F^R^dLbfC72+Mzb~y8Hg7JHGX(yytG8 zJjHDCs-;ykuSmNs-J`m#w#2dP`a7{LZ?y{kB{!bl;85X&f{dId#zc!~RVcpG7{08?ot**2YS@K#|Cqi%Q3f=w*bJ}iA zXij|TrbynL6xhh@%`tEV2Ncut!Zo%vj7 zO^@uULjj_V$L)-4Un^ur%=-1za&_q^XR#Ht1vos5i#9p@LckKxk(8(uOlpB?Asc9nTz+*Gf<7u-7S`c_1_H>^Q9g|x4E|^1L}R{6$JD2nrg#X& z=r{=;J{`a!&KcBZw;)%BUu}`bOR*gt{s*$Y&1R6@onmv};&?;hlaS*0lJzmhsS~Sr z$0@~J&QJ7{Ia7LE=u**A#=Q#3JC9{^Za5Y3xcJe^><)3JBk>2T?mx0HJ&`B_RodM(E#%hik_BrW zgm|%d36cjuuQ`W2D0JmPI=6LH(Cx z`pvoS;{K9jHWLf}GyE%kyj!!Yck%vz&;G5xXKl6m+El+=RZr!f z>pzs*pl99nXLZbkC4H4AIOYAH)$W`ZR~n=%Re1aGhI?~nobY;LF0y1T!{Z6YCm5dm zPTCrrc-6rFz{G8Jvto*G&-!rgKzUGBXvqCIldMTz3*#oZHyuv5KY8kO{@PoTF7K)y z^zi(-=x@Vkq5k$)=<)=M$>pv0S*MH64V~)MV0=w)zU9yLex|oSAFiJNWOAg>*XZT% zmaMdzIDx5&?^~?D`n!4eFmgt?0(W$!%Sr!GgU|aXZXBIJmAXqiaWMk-;Jx*zSRypw)pZT@r~VI*IunJ z6}lbxzMuVm*V(KTa|d0o!~=e8*BMW)h!yGmKFfX4w};i2rmVQW(krNA%2JI^DpJ9B zBVXwry1gpy^0b{D4R<0Qp3E2N56lWG-nyyCUTaeEeamlaR4S75LT7n}U-eSXWImso zcJJM)rYUSv{2HsjuR71GeyacP-f8KSJxiu7+mtc8`MQZ$b->+u8Jk}v z98X*_M@VS?OfO4jRY%($$LF@PvicS?wi(sUmz`R5gICvkMjVH%xM$e9pDWgsIsRuj zs#o|}KkvcKuo&fePHZ9W>>F0qhS#lqZF}rC>+cj*fw?z+q%_WZ=w*FAufXG1#oE2? zi_U7+3$D`lKNqR8vg5vz@jTAJCm;I`6hHZS^FKpMaM0^W3-({p_v{yZ4frVYzC>rP z_qA%9+%pl2tZn~1)Go+%eA~qEX#ay0&b2 zHudtYQj5(|$wwnu#2xNDWIq_SX_4K`wP!2;E_e4`s>1Z2;mTkC!wEBGY9FoIYkP5Z zwuAMGb^3Q=ZB{Pp%w16T_?dm3^|#eRCzChdl+=yN-I%zfK_n`NRa8A8i()Oa$)0Ekt=8O9;@9~SfY68meZt1?m5lRkJZnx z3A^v}@^;v~&5Lg4_s#dtlZ`r{T`})fUDr<>_?VhBZIM?c_n}o=w#~WH zy=iN~MvtCbPoMHHynaQ*$Rg0f_T!2F4D03A-k!Sb*Un|q(_YQ1y|MUuf$TxQ^;aE_ zGe2c%uxp-mBX-X2jNM08h;{qiG)$@aFy*#adB%g4${DtOZu}Mpe_h+XLVk;q|Ap(- zlR5G#0`yr0%-$Aqd5P3DM%b^-+hEpb*dkxKPF`ts$eEu{O4c(7RcbGqvi_*1rf1L; zp^0}UA6RR3R&2?F)GSVx$CJDMvItH*>u7rPZDE|b$&RT0d{vFyCo454ZNAfYlYzOl z?A!Zjz1co{@8}w-$1S#%*!7>`ophzDwg#uXq308(>e|iEHYpu?W$-CBJ7cNIQf*PC z5au;en{=1mSj}xO@bpr4W|Y7sKY@GiLKZ)eT_uz9eeK@MA)Dnx)}4w?U3M$Q;`7o7 zg$aK5stcQcUG=leTB#`jcgOOBYR= zafK~}Df-+g=gWKDtFBZnlifPau{qE0r{99qEe{0d&)yi+pKrnP!?ZBmqE4)o`{MiS z+%}7BIZt?ZME(;GzLEZl^Pkf$yFJ-+o;AI_zE#jwWL-{_`J}M<0a@0uQ;c2{vEyEXIfcW`1WbbDx<4E3mmud?||M9Z(JaEpM@%YZ|`}utrWGJh+>1c%7*Zb9Y#4{$WzT^a>?(#V;Ex&pG zdOlXUI(^~SwX+T{_1a&iQs&{sz^Fc{`1{A8Lq1L4HvC)_(Gqw`;J~BjpEtbwC42JA zrroa$ucj*hXW-B0)s6UiL#Oe{)CqI=_-(GeI&5+$r$CQYRm~^u-a(0DPn!R2UHYna z+QZsQ{;pd!B-dKB-^}&q^j@kyMX2_m#oH5-3Tb--Vs1SQ+~s$g-zO_O_3iy$p3Rd& zmh>d@}y1%`Pt>NZMH`Xubj0mzG&X2t9LSZTKUN$ot7TW4E8D78}7|B z?&EWOY$3N}YpB;nzO;LUa7I>We z^W-tJ}$i*EQdHo6Es1u`?nIw_lcF**&4C-R!}GIkI;qo@ZB)tGOn=Hg(B+ zX8)L}YIj~|-dS+FJ!Q%yhk$@TCoF8LpDQafFHkRSc0K0)?y1+5cYhZyTRdU$*Haq| ze_d1Czd5RE>*eofm-;SyD0nE@>T$x_iWSR4R+IOzLdR%bv6?Ao#4i za+XTZ4Y|ZHS^K$5pZIQx+A24F+lkPl7f$P$^mhBN*dP?*wDWnNTj7l#W}oNEzr1z1 zF+s!b<&6If{~7kj^e%lCvoOoM=2&#lQpYLn0T*SbwKg};yVLbnd)lVWPCwXA?^`qT zEc?t?+;q=_)nCjX4G$`l7t6o=eI*KfbqVz4+{;4qWz{%&L=6_Chxfx6LpZ?;pFy;KiV|rDrK6`(Z+f3V9@QXEi z|Me?tJmuS0&tSiBWy2kt$2FnqHib9l+n;_NR=a-Xt+?8Ur?bK}o7#mgRDL@Y9dw?7 zue|(|gQ)3B<+p7bWmDw;uKg==Rib$1384+!{)U^cUoh+7nq|75E^dv{*0bvAkx!8? z{`2~)to*AQRbipO0&<)>cjEjCr}RIRZM0vwu79cje+KhM>i167+!C!%PkQ!nq1ByB zUD3Pm6c{#jKWeb4KmLXJXT`Jq;wi5`%kR~@dv!}P=guwr)sKCi_wQ<*@rt$ickgUH zUSq4cRK#*i@5+F8bAI=~yuCM9x{!}4U_n7aUE8Mr46|05*9gx4yMNaaw?jEH;pXeY z<7ZT+Y_HIIy18v;RE6y^A@})btotoQpY;Y`pRv**hWqhKi34US>uo9(_x${q{61DU z@NebnH@D1=?Vfw{10P3X%fwf9>)$P@Tdcm}bC6?yS9`~8SLr!rjQihhGK`2f3=uiE zsxef=m~K6F-;Lwz3untI*EY>9P*-PpkiPSP4cB^8_sB1I*J`=$UA}yebsp=K z`hd{?443AuDuJL8zJ6(b=kQaMK24xd9**Z$1r;TXJ{$6 zUmCdb`d;sAHU)fs?wrnGmyt)LmI3 z%&=dyIy0AlnaQP~+_Ghpen{x={(aoP{*mqOA4i?-`F+m{>aFLF{*areyIIz+l|T0U z?5YFd7RN5myLY!wH*3Wox0M$%9d`V5|7vBz<2k)vK~q*~tE^z#aJ4^kZP1cC zlNR!RyZoW$fx1k-eGp%T-Q$}F2FpJo`vvq37e}<40=}U=`3zVMSaFCn8 z^)+OX@dP(FcFFfQuAFwus=vK@I+u^@;T_H#`kNLw96ESV^7+Akb3RA$mfgwKt>|8< z7?HemzOTo$KV?mRp3>zH3T&soKlpL3+nnnG3+|-f(fgM9)_;bybabj>>XPOyZv$mg zy`B^XTC~ZWEBiC;keJodIT8zZGGy0=ZVvPfT%S|MeY&iZ$@$Zj3EPEExk-Ay2?=p{ ze)~T|*4eo$AGvKYEdCPvB`(8a%4)`#2B*Sz#W6cqJbR_RZT+mr56|B+p5pz&;epx2 z`F}N?s(-6Zdd86YY~z9y{)u;TXYaVNZsV4?wc%+2Z}%1Jw=U69(dJ_KscF;I@K15( ze}*qrH%(RAC1-C`k-I&?|35>*+OR3r{x5yCuDqB$*Z07tC8_>XRX%avY5vqu_#kY0 zM0UrlWhU7|OoDq8kLqZ*tY8XR+%GeSe{If(lYb{Ioa}kxQ%HJEkmn@nr#9#H+x1Ut z-&1Mv=sNtEliy5ig1?1={MQxR1D5PmEY$h1OmU_3J~fAvKchS>v<{wN`OE)wt@QWk zwUZrIJve^oRB-M??l-SHJdWoiJeGKT;QOkw*lX|WLS{D$Ghfg2kXy9CW<4uE6ra)zu4j1uy%u z^rHEaRldhQNZ(5JjB^qRZWX&=;aB;7663Mz=aN#_qi(mF>RfW2VRghJ$Nlos>FWb_ zmCA?s`W}v#&a@l-;hZJn)vy%Z&T< znKLl_d!MEK`l>}%;W=(=uINPzy*{zgF=1v#&Pv5k{--9naolaH{V<7r$1eR@vwdII zH#b^E2Xc3E^viBL)#34=W~Gcu*8_fwQJI@|JGfxvd}ABRqv^$pMTDjcfVWsvwmLj zJ^U(f)kN9$6r&?*9*I{?mONlhbZ76GDxOnzvU(GGG3MtLS>fN=E5cu&n0EcZu_(F9 zy}O+{aut@_-_v5LJ#Q)+9<()e-L3W~@lQ`yJrare%Bks~@>G*0(e@LUVc*@>h%(7f zruP~`xQjR3j`kC~t34@b(;B9!jN2QVDxPmm=Gl0q+-usdrp+8%-Y7I?&zt_l@oMla zYtQtM&eWFL%Th1fP84#;^Y8z{Kml zmaW%{jwP1`f4Wi=J||70TXx6CnYnGz9$wP9ikcpB3^I&yQ+cjN?TGqX60LQ|nMX|M z_qo-RTQwc{H{5=F|K%C~6?YxCSTB3J$mDmkP*70d3#-7J4gwy^O~#Kl=_)QgrE%x_ znH%S(E5t9ox-4(oMwCD$<{5yrQV7IeAW{cN3fY}X_WW*`5vSF@}prp~Uv z6two+)h#n;Pk3y%@=!?7f&xE_6D+kKL#wUoR|VhTS$E@(i@~)coWcT(ztj`MzaFoD zT6t+XpJKMmfyYHVi_{wTynGv+^Y8j*(G%~d{_@EE`!LnIc!ELUXRdu)YBwEB-R0At zS8S+rJjSv=HB36x!hNr}LoX zaT}SBk1y+r7F|BSzj$9v6aflEB=ZXlACo+?|TnrMkQttrlTL6F68NFrGMJxp0a>)}FpLuO@HSe~l5bTyx9! zWu2aS?8T%1422R5Q`Z-2MeY80oKdB2Yi@i3_tHtV8+JtrJ+?Slz%wP^)35NkMe*4Yz@|BuT%ZAA81P>3#h)6rfQ8o37#rn!L;~&d z?T*f^iQ*OhyRJ;Jh`Oj+@4)}FENLGnWEpe zPj?g}Efw9>cfLOx6)XOddDkbdQr1VGR$M!FU$^7pL4AuLN6Wy6%JUwpzYY29^D>9; z^g@Be3m2YObLxrh+w-f4D{|$o)|5?gqFSc}ZWcD3?k<-%-_-D-rmkttzaGo-sY}HR zcbmOdi+&Z&yJOPSsssiRN12o+_si^Ob4>0vUXrSvHks)tufIt-r;#+jUFdncMVr>E zZ)8aC32R;>8@e?kqN`p0^8DID%Ph6`Q`dZpUQ#CKR6T#elf0Li%hykFWX^m1bG^fk zYc3~tAI+_re??obWoy-E5tZ{Lf>OfSjCt}!^{sZV{yEIkYPnQZ9`bd4xNXh8Q$@B* zm%c51vYgYYc*0?Yk8|XnTf8eO;9e$cv;V8zuf5@`mhAtno1b6$+(>4Iqos4j1BGOk z9>yEBR(;o*MAzLryYH^(ij5L}$7W?(2TlAUdd=U~JYCr!Sm0Ol;<+dHF(3c%#ewJ8 zyPIxXMR#3a@++{SIV;gn$z|&a-lgm;E4Hokd>7*R{$19NKgv!~y0e-d1T1KeOP#XX zMyO?_OY*;x{|r_$>y(zR)AxLr>2_z|wkS(G?oM^N=l!48@E>MzlwYR!e)iv0#pgcX z?p^WtKZ9#f>$^NgoAu^KHvHBRYx=)0DB-%aR5NDQT+){a#0fuh-hMP><)<5+vJ!V* zpJP$9{I1>@ARBy*S3B*LvhL~bJ^y?Z_t_s=7h<=POD1$zl+>*4sjaQ|;@6!Pw=geS z6LoZFOzyW6{}}{}=1NIh9{YaRJM;WD&sALRVWsC*PFOK3=+gHyYxlqD5q)#6aOY9x zKOg#zZ?F2YwPbeOD^0bu6?@fgh&4`rC27QOKV|OSjq@K{JV@SW-n_YKPTKmJ8-L`z zZ}@wqCj0lISLG|MPA}DU&I$VS-Jo8pR;Bst-OqIkRYDm5E&VDSZuwzW(skve{$=4@ zmYmO-pA|;lvfJrqd^TcM`r=(`=T7l-SFO9`$m;JC7@)53&#~pP@(H^mvo?5Ao0%zP&rWr0DJc%SH~+`m$Q8moyNn)5 z2G)M9Z_QShUl$&xH|u3y=f>PsCs7f7-sd zL|*rA-liPitUpdcEi8(PnjQxj5*Q=OwWn0*yCl}`D+);;m~ z{Zd|&TVB_;u29wVkW`s`gYnr)+u*ft%a81>>NI`v&N*myQ%}p92Y=2bpYoT#yfyQd zTej%z+v+@f7w1pfarBfx>9IMJPKn*FTXZnuq2)pQ<@0x}4@+~evMATf&(s{4L43=;r>??tLwGSD)@?OR`il?o(Jt} z$NFEj-}c}vP-$6hGp}fYqm0ZvHp`8#kJ;G7=&Z`T@2}YVyRXwLXj6cyW>n?(7Z>w0 zx2{;KS7o>9+U5q~^Pg>`zHqOJd2q34%U$2yo|}yGc1&0rec_`}gT<4_Y5t8r+wb%* zb-0>6_v+5B8AlFgH8M<5b4c0wYOV99rUS^1K~E}3~|FLFH! zQyBO^Ch)oE89&=(mAUrOt7A)!d;4xyQwj)~_Iaykz=MYBgeJrDeU%4}o@e-QYMxdk zPu;b%joW_xF%QT-JFnbd;QE^7@5`=7=}r$jc=s)MaTa zb~#k;6#8x`x>Mt+PT@{Rm6SY7nI9e>DrdabZt37?ST=`u(~}9epRC}Y&eGuDcr>## zY_nC?>8iOFn--iBn8BG@skdW6fpr1$`)otL9#{$4uIZhp2; zO|izbfM2!&LDH<&n+$vEw(7phYrPzvUGq0MtN7tM!5P7;VuX789;;04DL+>E;P1!K z?S5NQABVi$E_U{>*@j1dT_3WhCLjC6aa{RzgxF4TZ`E(Ui>xLcE|ds1ZYU7=5ycV4 zaZp2{iI49dugl4~!ZUul-Y%?H-QCnSZS5s@p9j~?9ZW6zjXcfd=B+yNa^I9a_ZQvH zH|Ji>bmR8yBPA*;^Kv3tx!9jFOzHW4;?bsev$XUkUeme1NrzmqPj~P*SIWMd{x9pYZ zVjq)fY1@8Z>XzHkceu8_&!3^7_-*t3traiombhIJZ(A#@P-_=zsre56lyx_ldUud^l%#Vq2xzp!) zl%7A)|HwY3I((Om)0HL7pVg%&Rrg#K)L*r&UAHi=w`JYC*0+UTPgLuIj4atLnUB>? z)qXMcaKODMciw%s*pz%ANT6d?<=%a}HZ58-=X1*k;~VcjH+N6V%urZY@-b4g_wCl+ zDfh$fwRT zFa(9pv)$ldbG>nGS!+t_B;~oS-umA(q=c7k5?&^-;IH_e(vfUKKH+j)m~Q0EOy$bdF8u_v!d?ksjQ9H zWZ_wA`P99sLgx9_yppAl{bGV%>1g#$@GQ;9o$s+;owee?dAlr2X8(fKA(Q;h|LQpS z(d_c0RkG5TapF@?yCJ8_MajC%O<{M zS0^b%tjmdvYL?y7HqWzAt7MYE#LuY;4_)RJ_8m7}=r`+Ht#;w`<;T50FdseN+qTr= z-oqO@2_jDz?w{OG;T6bOIw+>>EJjVBqpKYyF z_~G|PhnVh{Zky!cp&h`izTx@VD&MbKW(FpyS?jGPUX{2N_3zmH#{9o4iwpO@TVlP% zaQ^8Dj9TiG`z(&{4L7^D!8&W_$>PurP~z?$#s5wo~?td3tqtiGMxD z)bZW&pu~gEK9aI}32&KRbY~_le7H*?rQZ1KhwbgFc37FNe;W7oaYv=zDwS#8xle7T zzGIQ!Ao*|k(YUYYY?byzzTw|qywjmBWU6Ln+xwNL6P9z`>S26mJmp~i%=rCi4z6uJNG+H^8n^WD2GUrmGqHb}acPrRG(+E+07YIfr5t`uX{{;5LB zmK)E`{U+1IReWB#U*hEYXtl0O*V<F!?DnbLp7h4yyc zS|jt|`r5SB+_Fy3`;Umt?ElZuvEiLY#!_*P1-pubrs{6qGUw;dvh+8$uM#hv4O=_$ z%awZHCvK;_cRuc!#8!CV@vm#YS55Dgl@-*rnsqNPe_ySe^0qlU8t3G5ozRpKJoucY z`nut(+rOjgqwd_=m~x=>(_;;F)(PvJii~e>FMhNq`Q~hW(-yI$?26{ zm!`MuEx2pA^OTo-=61uEi+>-sJ#l_cy86Ue_O&{JrtkU^1(sJupHg$2G{MVh+uS96 zMqD9oHtDuUxo6KhSfMz@Nu}Vzo3KNAi`tUiilWaNY`?fyQ=NgI{rpyk(*BU?@71b)5m-I{g#)0D@W3@LKe{~6Y1D}Lz@_fF7yxhlb_a{q}LXY`yx?3TK2vZ*kQ zd%bRY)(ojVhMCiqemy_j$#u3G zYx3-_hsEu_W>w3()aZ#`aw=$+&na}`=b}p4kH@zLZ`;eh{%g1Q#Pp5JOxQ%c`Sy0a zET6!3_Ri|Q^0Eh?=V{&jWA(CPU9`$QQx;~W4`97Yewm+n&r{~lDvNj4ziW9*Yqbwuh@L#jtWw%s?(e(R zT_s;+T?=Q;RcAY|XwGUU^eODrgl)f@#QdLn9JG17H8!e!vF@!c4EcWQ-`W-=ITy{X zyu<3r={0HD#mQ~Q#3$HHSt3-S^k!+YjBnzO;H%fqh8#FPmtFN#xNq*NFL%^@uiY-+ z`YSU?aal_0mR9W(o&gM>PaX}EnjCRoPs=GK=E?4z{~0=quM|vKdw|PPd7Fa@e?o!w z-t@zr1#NFEFV37Q`Q&Zk^a*0E{Ym_6EBu!Hla<_gcdEVHnbzFYdoj%_`j?zG-rcGq z#Q5)>#dDbio+Yg3_+BhpI&s61A8j+g+c8gCX;r%H=DwN2PrXXF?tQh^ks(=S@|}NM zFV`|{aoO~uJ;^zEmE)|fD|W1z$6S6t9sLr z`5pdw(s%F3Or3h|-e%WJ|Ms@~uH6~Faf;11b90`L_m#Qh)%y;7|F%Ni?U#4aHQ~V3 zUpFn0u0H*B!sXX?TOQxhP5C5H`+G&%0fjmLTE7Gqg`8Vtl@^Z;oYsC1@Yytn5b&K}@h!EAOzw+GrVc{1ov)9^P=ay>5tRlAGIrXWY zPe$QYrI@zGn|ksJueK~nd5|*CdV-ed%Br=C-^}noHuH7BDWBL?Ie+Jf6=3p65DWxBh$eA-~@t!7CdZ zI#%f0_}fm~^7wYcy}GTBr5#F>BldNMm%DCUJXP^@%cRFE+4o)fbIS2oBGWFhve*w> z>~@76vGLo_f9aK+g_TKcRMqO$xBO1bU1Rg~cq@cGZ^MrSn5y zadL0Z?5;Z8Wv``Zusrtmfj>v&)ei~Z-|Jg)+^J;gUXO{@b*b+HYn^xoLs!Uc*;$ zD@%<`WiNm8_LOj1Vz<(W!T#>gPUaUO^SAn&tam9XUFcc&Xr}ne*eff&4p%*u6oZ!%x(y07}rHQ(07M=PQqI&VMf;vuMfq_5{~X4@fwIdkSP9#}Cw z@K(=FSx9(fL!K3@byh(f0Lp(JP6;7&@uyfOPd%Z`G>j$fHtLAqyl?(>Qc<9^P0 z$n#ffOxc^t11rpZ)(UPtADj?CuA(5#t; zFAbh7SYq*5y1ruKafSY~Jv@Ke91pC0*Lv}qu4IPqwv*xs?_R%4*z@swRDJ)WKypCSe|dhLcDViO zLX}sV=GxW#d$apx6u0hdNsM_~T|Dne#Rnr+xAj#U4oo<=pzE}E=vh~zpbD>$YHjA7 zn!k&*HJZrE^qY6x>hqKHBN*5% zw4y9zk|kNb->F@de8tz}+1%|0D;~1Bv}!09*iM?{XH$O5^1H>aMCl{5wx&mVt15S^ zN&T&v>VIY3oR_)A%cp(08(128&WW?<(kU~$S7q-GIT;C`_Zh|*{|;dfeRcZE-n89Qe)joH5N~5T_GGF0rl5HTY8l?giCL$f z4>+T(F~>n+>54NekH?&}QQ>*}_D=t$)w?@hx^CkxW?05)H72)a z&CWeB?RHoAitPq#o=@ywSMzt(-W_qepK|+;S0--d3w%`<$~1xFU-Q4SQNNrQTZP$f zQ(66X=g;Y?Di)vQCxu8wKF>elVDa`&&vO~6zgKT@?A=DslUXOsIA}GYPW*4E{nD*vOD?&Yggss+T_hlvdpvNe=G<2vnp|(} zf=|kP|7JQr(f-IBgf zXUVn~75PD)EHeKYY?{BWUDmPjRqE}zK~vdoi+*MPcWbHYQ9egSMwQ3!`(MvmEiU+J z();p7_pVi|i0I~+3H@gXxG?+ur&wj_(4*OY+lwYEZrSz7e_6{429Ea=@6@io_BzXL z`{il7r&RVuFA@727R&pdL5HVlPET`V^Te1_uk?z{j+Q-XkMJ{Ro3v!5^NIJz@Bdl7 zbj!ar+r2ih-@2LKbt>q#2a9L|AH(^?#$TZuJ}SOj%e->F*Xh$6zXrsu&0K4mb0K?! zt)OtPkQrt6{%Gwebe`6-8EKl-+rRTHPy-LJKG_@B8QXG zdwyS;9=k5}dq9l(%Z^P?HY{LSer->S#zX7!6+c-LE#KZq2-&`9v+K;2hI;3gX-_=V zbZIMt#Rt0`Z$o`8XFj)^_G0^*qsfOeZ)NU2SN7o3{)U&^UKwB9oP04aM$cTkpzgtK z%k=93UxnDU0@xK*U3ik`sP8we&EyTuyvk$qc4J=Z+}2}v7&H|frp)7%dGPZ?*19WE zfw3O*6>cuuE-Lm+=(4{qbM{V4?`-AyQ<#dI@4pVVoA^T9BqlS@XNOwK$wbD)Efa2M z`W3KMh85pweA{0+kE4P)b#VV_-0DK z+RDF~D<9n#EbA})dr-GE+VS9*Y4%$CgXcV+BV-*KygF}t=XcJeUvG}D*YOG{)K<@~ zu+U`wQBa-S6WW_{Vdd_Z*VJOw7M0xed3tq0!x<5g=J_Aj%brg>!E9mr#7JC7XUY1- zIlRf;@A#juTD$0u{GKHzcb_RPae3%~61vTIWCVSseJ!pw;mzx^Ggm znao^!L7(@tLFcc z*41uaoO(yDV_VF8{o?G1gN0L;u*~1~XixRCHQjp;>8`r-;smY^nNJQ3wVn!f zTjgHr{)$_2p+IkPz=TiRw}nh>c;M9KwDDcx`Rlg3!^8vBkL;Gb<#{rrO;lEIozqT@ zh=3>tne?$nZvEBO z@@U$226j!qCp|oWIY0IlY4n!tPT5=gVVeZo%^YqXqp3S$0vYD4b@}9JXT!t4HZfSR z;9~T_>}clwogbgEn;JFq*?xMRw8=lsqNrrr%rI%q;7o0XKR2KEC*Rw3>T&w^a~pQ2 z)LGfF9<$~5Q4yH(n3DLZ}G-*>v!O-13L=>`FX_Z#MXyuvd-0oa3%e$+i)K-8(*U z9ejCZw@d5Y$(ed0RWAx1v+oG+wBTg<+&^XhwWU`XUWzSmTybyjGLi5ZhV%04S4`mA z&dPY=KST5V^PlG}%!q#y75dF`eX;4^XKywdob>-=={mF!j5W8v45qMKGDAKWDVQQqMQ(cbW_Id87AD^u+-LvX>(WZEHs|mm66ezqo$lKe_ z^4Ru#{{Cxw9&EkUd!<=$mV$EG8kvsgUqkI?UYz_?>Dg_wmy@0xD%iHvq*YU)Rb);= zb=Mocc^i~oShJK&=U<+eXurqrYWii#6CdiPMwjf$QO~bx{A{@O=tRZu+n2O7H9eX- zasK|SEhcMTT+VfV822^c&}r)(ADh_aowNo05363^du7t2ww1l@3K{u+b=m3x9utKQ z7fcmY43g}6+{=7pjmiZ38KR*jH8H_UpT>&)ny#8NU1<3fPi~t@ewFIyvI4K24b8i} zi|xa$cRg-9J=-1|N^#4rj5_EM6vS6?uJ}gsmvsr7e0N2C`8`=7Mm8(B+e=93<-LVZ zl252heqZrqbq))6+^eVj=}(VJJZDekeP#aV^{N+r)3dh3=y!KK=2J`AF8j6mgS5m+ z+1<_Of3!wklFPCwSFw8(mAPc<+AIrB4@s5zIib!MSNk6Kd6nP1^z*no?F8rJJ9Fx`n$`Tebvo)*e%d>B zcD@C7bYd;nDBgR#-*SmqqDg_+^WwMjbAE^P8NWT*cl*r>&Fw-WlWbQ{+Hz#At75^L zoPD=guHQ<~)e1Zq)Ko6=*LdE4hP9=ovzWtnheTIvMO~C#vQ1?3RBh&+zvg|N{q|&d z$DYYWn_dRQ#;&=yEjwaX?V`)Pnp12(pO*P^N`bH9!0kzu@4q~AP2A_UYqz4|$zWd% zRlSP9=N9(g@9jC2Tl#Y9!kb=q!VkaOa+uHV_lnGAm%_HLb=357IH@x40Ke&)tGl`` zFJ04jPd{j~oOX)3O3zC7O+hyE{?zgoZI7_pS@DWz+Z(Aeog3G-&TZ08SoyQd{vPLZ zxf7D-iy!dbV{Zsa`gC)aLG?Ln{wqIfN<7nYl4Gwwf5aV?c{YB}4WsNS9> zarkqXUC2_Eq9tVqmDQOgWZ%R!eu*_Z-*(mNklE{w!xJ9pZ%N{Fx@NO}BlD)3Kli7H zUwSK@|MKap+gcx{rN4??lh3&MI~j^w!WOy? zzNy^!U1jcD*Q)&b=_?+1@7Q(FCFt9Y*Y?L7KPUGcZk%89J7m>H>oqg-F68XozedY^ z{}I_$7hZbJ%DfTi!EE6*O>9m7e})zHKH(nWmXTNT?YqkFd3a4aa=oe3Q=v*%Q~ue+ z^ZQ@MO2^t~+PBN9$X}MQTVB7YOV+!;D`?8PSidRwwhcnINp*ly&I87Pxz1N@rPH+? zc4$3$WN(zP#9~6>9C1$G<}X^SMZQeFvRg+-&yKMohV4~;yxxx6zPi`Lrrmb(nzB@e zrSZ<>2jMnZ`;V|3pS0qdM9-0^wkvD+JBn2b+zMJI)OE}5ySkuv`L3<&zxfoYEPFil zU7qXJPfVWwR1{V{Lti2*kj%FEL#>yzLk-WxuTrhs*{uUecg3= zfBO#C{|sGMcQwUcOqP!7|GnkooL0@qK=zm0<^FukdReQytmJgGPFTc*e#=75I}gwA zx;j<<%9S}e?EL@UE-SBiaew}Q2KmsZOY45=RkbeqwSHZisnJu}6CB4_R`9w%YgYTM>a?pl zaAd!qNywkmQH}TeUisDj-8Xgn)m?elSH9iPT%23sdD`D(?K+e7CG)>nvY%L2_)2$^ z->iLibf>-Eesp2O{O^m|r!+SOAFKTK{N=4JZs8u@^YW_Zh6KC4z9X&IetFiS+m$=L zw;i9*x?fiDU~|*9lgHlF@-hDIueyI-{LAgA*e`R>)h)aiTj(w56xwuY@}Vw1w}Xc-!M#-@f(>tvw>GJdgh~)SE_I=qd0{J8;>~B2u}-a#uxZ zv{ca4SDl((fug)WmTbB6C`MQ65|hBT#R@JJ6F42Uv>X+_%S`-!e6Qnv{?E^kzZTu% zH7VL<+q~3Fj}sBPQ(NXI?o{~rgzIH(Wm0y~i{Eo6zIo)WqW)sbge7vve@xPvdGVL+ zgbwlU)EQbXu1k;X_;t!bBOu^uI>Xb7SHaksV8aoXW7^FPh|V$8M|9OWj?1%g=E4 zY@c1o%6s_dv9r%Dx!8|CeInTNeBRYf(N+C%F}E)9Zt7IzS^Gx!fzTB5^QZiu2CAsY zv&MX!9JQlt_qvID*0$@K7kp+f<_J;cN#Cf#qy5f+Q*y;@uLHR!nN)NnKb*L@1<#67iSF#g7KY!}~#LMt!)5e}3lIOQZ-c4!fb-QeKBY)}6 z3v;**-MKmU<(tV*WBd3e&bt3fESZ_`^4ZF3+rzx4^FEOH-FPTq;>*_L?RqkQ?XHGr z@rEls`BcjL$~ovAzp~D@h6%S53QxHw86GR16XHK{%iU|;tEXI<{5a3ZTOmVw{)M_% z7p}-^UwV^yU1Wz)^xl=NnnH_rZC$A@du`qg`>Z=(gqMHb(i0hOJ?F-z_&Jvor)=Ql z$p4(O(m`fUPfv2={UhEkrG|z&=d4w)r{0mfz45xtbM<|1zOQz3Th^FzDRWm%a4=(# zBWLl`=q}3uc6t5DCyt921zfoEeA4q3XUx^|>PRY8PECsNMejwxU<%#O z^OCOoXONWSa6D=8c#iP9$~8A;y}PM&Q7M=)D87G(#pO7I3iTTa%^_2wTh^vuW&XRo z_r%7(mtJSDR*1ZJ{k>(j zPs#0RxAV5$DOtMZaaK@}5IeiV6B)UG)hCr+ciixZ5(}|4DKeY5edqJ-cG-zR5g#QpBsVqWUdjBzuxitp;KVAJ4k4 zVKwV#zx^p&T=R4{YTmdtfr-h(l8c$0UD?uRzA4-Ol7))P*Y&iR3BB6>c8_ibTKipjs{eS?gqr3rzvU{{$2wj!pLbDvt4-VW zy}H}xG_}^O@_hfFK{sSV+m>nX#7x$fY&P6fy`;h4v9v5hQi|K<#^l`O@Y^bT74L_+ zw5OTxyv}#!Im4e$W(heq&rjLKS9pVF^R}tn$jZHJ<`kKE!D$ks*OUNc&Ms;u}|G~y>N@~)n!XgM%Qm$GVRKnWigfk z3cRbnD>vS@2{E;r^f@tRt|I4T)kjN~YNoKVGcxC^Z*yvAKY84A;<{g!Yu@IlJ0n*8JWQ>~|nIXstSnRj3g*K+AAm+$YeH9dZP*$x*>_|Do4*X> zqcwglcT~C0-n*^)WGSD~l^JK2rh0O|@%Z)7L-KRu+rYn;t8SIMx^Ibzn`~Pg$$Khh z`jxGT&MHNIhBuP8Y1MRZn{|2p?OT1@qIAuq4opy8+UnJzSuIguISRVOX2?+gan*I>K@NGZ7q9Q@B7T|a8St? zx49nH!m>vrNOhI^1z3!pB(7*z?wHp9QKMatHVrR#ku0-X=ZG^Ubb^ z()*FqLvBc4o48@Qz2nsSS8Mv_mF8V~di1s4qS_rrVeg*J;|R!BXV_M>RAfR?kte&I z;hFEznXmcQY?9bs9wLz$w@5zq!Bms#JobsVZ4Zh*RuSUf=pE{=sxrr_F@OK`P|q*# zbpJC%-$>7ln9jB+I>LWd*r#$0U9VFG#*?Qq&u5lF>6Crc9TwJlL{Q^MF>Xx?W?8;`(&$@hJZGXcBL7_dHQZyB#r}Q0HdH(5#Jq1BR3wKPFJNdIlcuo&rVa(Ude_8XV+F4)U zy(+frNs4FTigiuPn5L{)J1!NW7hW@ypzUmu0pzG#ke7F6iOm zX{dPe`O8ujzhsYnbEZ}NtqC<|f3l^ye*3Dq_tK4Xw)pHgVUecIU0H7+qpC8`Kkw@4 z=_{;FrX;9|oBcWScq(hMB#XS=jn&@kZ_WH&@2?Q`slQ{7z?pU-uO^`e?gsgyHGJ;5 zcha}&FFO-4YnNu8!=%$1T&xNW#mAHHpBH%~@J~W|4XbjjPu85b(x+D)xqK>*~}d!E4@?TC;oBR5|p%QsBE?aeR`)lR2SfmyW&r z9vgNor)Zt>L8haNHSIjpUm2JCx@P#4P1=??_f*`Q7N(}DLUjw~X{Y{Jw%4ce@-{^m zR-U`6s_pmwy<*V5Ww%OGeu47Y;OpCy-FMaa2p6UMwr?|1neuD-&Zo*dWOtsw^5p8o z%hF41b2BC`HI!RZ?lNPWeiw;_(fU89G8!d4zWeZqX=McwXK>vhT~k zkI7fUvTOfUlwCA@WAU2%!9vYDOQt4>Ok$L6zkF|blevM+t+i?D!MrZL4_+p&pS8Vo zU)%QAKLYeOF5jQKLn8BwTn?+MN5H))YXm1T2HFVT`F+*7{@V7pLYH?L2W;6wjG6Xk8bzS&#q~hdbZJS9B|6a(NG2h&2=2qnc6M3mNfq(9bnY*gid&Z3^gL*)`_GVdDJmzN*RZ_f&GKlcIT2o`^P1d?H#*2! zmziD+%dO7Z{4(N!O@GIeH8~IWUt5=ScX3;VZ8MLgLf$;R&(HI1{hlv6v~N~c<$s1( z>@~04y?3^4=?LWyC89t|Bg6HuIlPAymyXh-`(9zAY z(VLD;*1C6Sv+9Al_nO4`&n%i3Ja_rCH}+HAetoXo7yBeC|I*t_$u6_n1;v~fXH;rx z+VK7Od5~Sg^09@f(jOJSsnTJ06m|)%u03UTe6P!&RfUoo%=WH2$$#Rr9u%EYQ`j*f zJown6$^4lqitBQF&wXcK_v|lM?v3b)nykmdFExa+yWy%WOEt*F) zmrb8kuF5ijudqLdCu!MKoxpj=zSxuGd+=bJE>>qNg|7SQSS{3em>v(hL-sZHn z#t-tVx)|?x1x-D>68rY{E=7fvE)13`Kb98lf3)fIikq((w(d0Y4x8VSdE?{Z_KW3H zQ?uNY*4}PcwqQP*XJDgvV{7>4tq*qz7eBn9@pN+A?bXlzGhCS~pI(@=v&854?Xauc z1*&%Q|CnOu@^{L@P_uP^98cbRZDuhsX|aUYwc7H!KZ#rBUrm00YlZa8-ER_aPcE8t zyMsIVs?(%ag>RZ~%;r=)T2sq-Rabp!goC@U!d^{HhBL-ochxgk{=5jgGv~u326l<> zzl5#jeVrvHZj`)x=`Hg!_Y14$U3e}XciP15)$xGqJ6GqP{BcgZpzOikHOuV{f`Znr z?c+G;RorBK<+;y4dFFMC!nRz|_Y3&X@HL}lDf7IeSxakyU7q^KIYaVz&c)(w z+P3%m_uBrwtz~~{xme$VjP8xMnM0#w;tDqg1+~uK6yj+6+O^}+jJwtqg_l1>{}a3a zpW*eFO;dY%Uin_XHtE7FZ?CtZlTJ!mzjV9b5peIL{KwVmbAJ41aE$i;`s#9G^T+F* zZ=CvfDCk~IF527h&Y$H$wbZ%XBUTODu1#I?Ey&MtUF{#g{fcjMlR9PoWFA@*tS9fSs_f)Lo+?%yid)7_Q;EYrkqnpn! zdwx9YzpLlQ$ zFP6Uc+xE&cH_<^xro!&nzE?9}?Ay8H)w>0ErJclf|Oi=z{f6p1+zj$@X*X)_}UDUk>}e zp3*5S6=Jn=)MtQR2?hNV*i8{Jw?R8zR)!O=1tvS;pgEny9?mhYI`-xx7L9;$|OY28` z_*l@w#9`YT@N2ezso1H|l#K@`7d32s+8$NPXfucR!Ne_nM%9()w|?|u7u@vm4F6rX zU8$)%BTRC%YwtP5&;M-o)A3Zm(iJO~$Sb5vevY#ZxGr{=b9rd-?2Rw=WG5RQ9+ zX3;-V6m#`2N0q&EZdt)2SIK@pPdon7THA`9-i8n2a&z}e9$VTZ&mFW)-_p-o=0Qr6 z<+D|?*2_%)?MPi3ky9?+%pi8**M>F+83CC{&d2W`ExQ%Id~WRJaM3eXVF^JugV>j9 zwthU+SGMMd|Emg_s}c{Up34`wqc?B8$ig;BS7qin*DZg|Vl~caKM8+&=h^wR;ImuG zOzK>g_w;C=xA`Wz{F2nQnzgoddrq~y$gbG2YbfF`jYthTd=M0Qf3!9%e&%0`PUA%kW{FlAWE}q(ci|6%sOqv$+w56&m z?#_}Xzk>M+Z^JKbD?WA2=ymtujMSAY1bNTf?_aca-L8pd+Afvfo%XJqAW~qqq;TFn z*WmlzEdGDDrv?Ap|7NOtP?YAM#=pnQUvE#ZXL!8vm|EYYcT28LTWedllT(asHdlei zlrpPVenAc4cczLoHQr%<8_T{z*C2merP=Im#TS>NHKP3clWaTQ@rFM#TV%c6b!)B4 z4%aYGzU<;x93kot&uLu#b@F0CrBUoo*DuL?n!KWqpJVfHZM-jgiG9}2t@HY}zM8Tr z&00(Q%@frhtG&X4>RaBi2+pfcsZdro%$s{W@6esI(yG1doYnaYr%NAuu;=H4R{osF zN4+1u+AY25jJRImMFoK=?<4$IPP~);_RoI?ud_WRIlH@72iuqiPh{qhHQyh!RXmz) z?&Vmk*=Yu6I{5p2zwCRcUFjz$dqb#U=lC8f+rp{KEn zcK*Bc``vrzh?BfMjFXJdZ!^4aD)UEY`ox$+wOh_ln-DYceBz^RRql%}z7v108o#b? zPsR<8+@@u7OWytrS;Ws!w^Q?Dpl|A;tu?XER(2D2c+5MyHAPM8Y9~wKIfh&NEI)W0 zV^rH(uIpU0XOGN|yQy|g+f}WUi?2$4o1~@(NXE*4y6<+hm$_bng|mzmopC@dA(dE^L|qQ1k84 ze3O6u*DsYko_^!JF&Fo{rK)^8e;+q%S~$U)M_xs)IxO|oy|h=0?Ot55@0su+c>UTX z+sxCa&S5Y%Xh5DispXC#_EU60y`l zcN*M##%7fqOP{%l}k%Y&-UROV-z zpPH5m-7t?O#>0<&Wxv$Lkudbd2^)-GhQV5!ch!p1pF+KI;V6DJl$l!P2S zFDl&^_5Qa;@8BM3>vNtS>yY@kx{2JT2yUfsCEkp1=LQ_QIQ~$(;`wT-Wd2{$#27 zyBP;M(?X}_nU?R`H`S*u`E5>A&<*S8RE4LEG0&gb?)kvtbmHoHKRt;?*>JOYp3Z?6 zj<0gGNmwp#U-x6B-jXZZdE>QY@B7}?6N;{qyLLL~m&2SnOC!P0v$C!Skm~YAUGwS6cc{_`&%t4*Q~)>rPpkXY$)uHB#ZB zXXM*2?(?(0zgBv@bG^>$9VR>0uDdsBJNvWn_o7pZkDva}aQEB#SmBz>7fjD+r#5(0 z7K<(OniCebC0EO)fI+(WedDi?MQryw&j!?~>hlCgq>4RVwW0Li#%&q5ql5K0O0VwQ zbem_3UFvGdcNNTc{?=Tr&e>P8J$RMty|T`xG@DJQroC|se>M5J?dP7w1|$8PWY{YBpO!mZg$ql$`oR{QQM`Frs|sI1(oyNT(Nx0VQhYGP-#IKJ_1 zK;HCB&FgQ&)$BIZ-Vn-NmuTQ1J#B-L=Q&52CJTk09|zZ7_k1TVeQi-|J zEaSfJTO-oHD9CvJ4*9BSrHk%834fGzx+Gj|$4ZSIztUAqdrw5QRr6>Fv41Q+RI$Oq z&O7Az&gmD@<@L8-dG@z1?QDk6Ne0cMy1EOM8@3AHf7{^yvTK#;zV7z5Ra=f6ws7~# zUBlk3To-e1-;+7~({oL}o~sYh&uEG$-EES%_a~3+!lf(%4NZ=$t`R4`oz41Ux2}14 zzIfOYkC^>#&TF?l=hVKnMlnU6RY9g&O5$aZ6a`XWvV* z?sICCg{*_p0u+H1dLnMZ2=lBG{}U1{g`TbjWlA~eC{v243S zzi8BqlhT_#-ike!$kmNelJZ!quyyUSIe%<^uAc1iVy*h$=~X$c9$wehc1&CPG%vfu6^3ao;vw$LV^DocKm0s`gpnLb@iK6mtM&kXBJ*KJxOj_!>tfE zM+Tv-h37eKLKm;9GUj{DcTw%E>9Tc!NlTZ9s8{+D*IqxXV|nB&iD|cUGI>t4vR5cRU97>p^JjZ;LxJ&Mt@W?`))xnrGJPzY z^7!c{?m&U1$(J1b1REcuYbjI)eqXod@-3;`nU{)nw*SmMXKo-}&3S7|gTa(-miBs{ z?E5MoZ+KR{-akJm-!Jp&%bn|EXIEeLerxu~X%eU8$wRfq_X|HhDGtqYoWOW8&meu% zGu`+oI_D*3$O=7igxwVK*o^5&OC zQ!?cbr%l@4F9b@0>aec^UOR}n;PWQVPAubW_*}L?Z zZ7RRZT1Umq<4>X-PaZGu^3Af^y>$KsStlQEo5#BCip#t+%3GImMO_kF%Eu|~Z&!RH z?D*0PYom%+otj;><%E-x*`oy}k2qNWEMcv=lfbliUO|DwIW6BS`=-Qw)tS9)U+b#o z?V2o_0x^9;4Yw-1GsCJ?E&d5l;(V87A@zy-#J*MEG{Ys$nGsf7ynyV?7))}c-t<;Jv zT|Z^X5~g{TCw~8DnCknbZeHPciAk%MAM(n1&lw#(iNEoV;Ny8&TYZ-l6q<1tH_g;| zT%*%td3*kL*PL5cp?tTCQddf~od2;jQSh|tmJgQdlXtWHP<|V+YtgNL4Oa#4^~~to zvVN{+PU3ckcdaV5{~1=Sc)hFb=d$;_Cu175FZ;in-{-0PZt{uukCnEDul2P1@_ePC z7l)@RXW;XB&o-@kFyr&FQt7P42kyq*+RPe~aO{EeJGN`D&rkTXYf5zT!E3e7MXn!P zEv9=X3N|k=D_0Sy3qH;zlalb<=1Iu>@Jx+cwO33RT>2TI{%8Ta*YyUYr3+o2OkjU{ zKJj>t1iQz(Sy{UOoZbu1$Ys3b6~h&tc;bP)X=%x``*~AWiLZFL($jsx5_8$?1D=7B z@$(8ej_3Km+|aGP_zc6YC$E2O44HAy&-+H)Hw9^KEsfV@4_+@%w^_1asm`?1%?xin zBrM;bFiqTjE!LXZ*JpNlm)>MPNLb=(zD_!QuE@mz~ z!O498fJ)g8_Ov4(rQSF^Y25XCq5bx0%M-5#P1v&QjCe%Uq~9y5npcP0JyZ-z^Nc&f z=bWSbBiiAgNdL1+b(KkZZ`uAcd@H-RTC91K&-B8m0JS~0BTKVoQjeB770+QRFsghq zYgtMEai_eHX$uW?J2b*REbZ;ovM%Q@o>T9&XFq?q^|HAaq$Y>OChtk~oOHS%I#T&+ zfzVWq^dFv4Y!B}zep?%6ed}hSrtPGuJ2h`FkU6_eefoqayDT?&RcNqWviQhG+Ol-Zio(hLHGQ?O-?^=C{=4Ge zc^Af?8V4#JBY7vEyTkM3@#Nd0=gf@mGF>|zeq3^1ey)i7N9XLk$Cp;}ud-kDgwyAQ z(_W+fK6$s6%E$?C^*Z^a)~2i5`R?0k8f(sQ>-)H$Iwh^3kdnO3$bV~z-s)>*(axEj ziXM~IJarc~o(i#X-Ez&Y-WRuz{NA&=b0Tly zjKoYQ^FFVgCm!EOwy(M!v+lxzEuZETUoBlSDKh(6!N&=P?<(HEj}XXDwT?4Nv(kCh z{Pj^p=cU<~HZ52#aNC)k z=dyE2$tngdUoxfn(1j@)bN(6y)KASdh~Sygqho)C|8QvY((D=DUMK$;I{(Oq|T zwA|{2;f+O7W#OFm7S`0wF4yX2lZI_h$4U#qX)joKTX zmK>PbJ+;s8zF$u2=AE8*H@eiUI=;(~<5$C#<+LyN%+9GQE96&3)oz%-*C+3;;mf}lwS>M*T_egPYH)tR`nZ6Df~Q~M^MauIXY01CeV(N}oA;>P54k9n_e`A9 z@3;3}2@v?k{VC+>`wy=dKFbT;<$LMICcY~RA3S0_F3HU@ukcSO=bnF(dA&=$HfPN! z;;Res?pszrYf|{X(90&Pw%lEN^yL>}AsYvKBmK{j63RByW&B>&hi~cD_h`8CtXZtd2{Y1trA;$iSKyk(NvF+vZY3q=R)Vm{rMLhJeU7+uf4HDl*H94uiL*p zj6yzz%W@WOS}MviRh?ZSSN2cs>)7f)wqM>o@LJ@)lA^Glvr17i*`-DWcFa0Xw%1x&71r_%jW!%a_W#&FAADeT|D{r zeo?z^vAWaU_GYIZQ@Qq^VZZE?9rm+4*H!HOClPb(wccv49Z!WGC(pC*RQX#IBKP(} z+_GD8K?|LG3%r8=ed9UO(>%dVd~59PkIyzqh%tu$XIQrO^uNMiPa{62=I^2WD_%j4&`{BLdFR)3^#cl%c3N4N4kI1g$k`mUK%eoBP> z%bJuoqJ?=?nUV@0?3{#FlP>+c7gR0yZ$Y@V z)8+8!OEYJ#$ltIiN??!8Wg)L6I~Y!IdipWgdD>Kmw4MC1VCz~>-}hc;`pjg{IZv2g zv|hrislYz|dFb+huT#4|uTb5;T+OSKDXO_~`t4iMfz0)m3N^R;S$br6%GR2?r+tia z@R?xI&p7+9c_f2+MNUf0*9|{svtF0-4mf;8%q&l5N8?^Er^&m2Oj-3@MC$FmOvnMOeTD1Eo+ORTNShvrYT&cGD z)zs-;TP6JYeT$s>j<|E)6R_`Sa`-0u^Dl4lk=WRkrpLDTrfo1v^QkUi&A!#xxMQmJ z0S5X13_`5=Rn3>;R_s+>*?arpohHdIR}_8N8H9@4nK<7+kUF&RxZ=rOpSfD+UAi3N z=bNYh;Zr#8{36B=IUO`j8>s>#S@@uYYX zpEcK3y}er3&v@TwdY&~`$f~<{slUbLbC0L=?)Gw2?+fi;>sZylYU|RKFSd2xk-QL@ zlOGi47G3K8`jmL%yd&S0)?C?jQD*j9J3)@xY>Qvp=l-!H8FK3Q489=&UaL%F@GMGoj*r%=)q` zhDyhS9_(uMtd+i7$)TZf;_03;G=lH4P4V*y@ z=WW{?C-6GEn@nPovkg1G#iCSJ`qr=Vxs~~e4}Y&)x2k`At>vy)l?7kr=FYfXZn2i* zb?SBI%;@SV3xf7@vAQIDaC~QYc3Qq*t@yPYgXc)%P+KtlZl+vlr@5ux z?BX@{JH?*+zZc!|`1_1ETz>A?-_Dw|!QyGrRafgrG8sE-uZAv~wIfqDRI;}`Su=Cl zr_=YfCOz6AKOxPsu-&`bae@AK+3flm zYSB(>GP{B{d?{KMtLm_nx!}+SqniH=QCDBZO*L2gu}n8=Zb71**BM6aRhJ0<^i$(L=e0G-rEa_Opitp~_ESlA zb;&ms4=Q`3a;v7P9JEm%-7Otd|JiNOZRR74Cd{@vSXpoi5qM(X-kF z+C>(&?s(M|6jLmJ#Pj68IZ0c7{rb<4ICc55!?O+YTuSZQZyway#eO3AyB6nP51W*p z)Sgp1WkG?VU6L%l47-myJ^5PUzD3{bhEra+nq-JeEc5S(6P_G}s?OR9$tn+oI9a+D zEAQAJ>UdP>+2b9PC;88-xsrBq#l2?E*A+LUYCZK-J)b{)+x%$VzTTT#=3cw<_IO~! zuX!v+x8?-Zs`NCiX)^MB`|a1Y6^Cu!pFCN<@%qCZv4$&hKWA2FdH%SeD?91RpKW_x zn7eKr-)Wx~m>a{jS@)LW?%KU4udRGoC{(_5rl#~Mo8H4s#b18aX8T{A-PTv{qi4*~ z{qgJ)U7_gwq^1UY&BrPg$A2~Yzgfxby*^1SeY;7K$Bj+XO>W1oeNn#s>DBl(PyUon zJ-J5vduIu|K_$oW?e|5WUb5Eywe@+9HXu`H_Z86ZomAc+(hMSubj1x zT7M2`^jv$t?0wwq9o~NPyJ8F;Yb7t-%CJO{%gd{MpE+~m`MR&F3Y|wx4+b7zvZlpT zCn)pu3ij!~;trX4b6-~b+z>lyZn<4t(lbh;@(A0s1)hf{3D2{BY+>=FVtxFPzNMYZ zegziy#Bfe8&N$d{Ds-#Y9fM8whXm*Rcw=*=+{?F-=|*p?-K*s)TNW)3`#gg~-CoPR zct=X5x=nS6`Pxf&uIrncd3*OWF57lMVJeHpr$se+HcYlnbziqkGR`(E6xquAh~2+B zzW)5IzAy4#8&`&kx!$u$J>2tY+Tm=srxt6HpUHN)+sKhSlq@G4vPiFK_;HB zH5*lKrz*B3+>Oq8u;WGk)G71K^Sn0q`8|9adTibzy;4S>CMNTuzrn%I2Q@ z=@QNQF>L?lp2_s|OwBi#K5dOa%deFR55E6wa{qJH z;ht_7+rnvQwmGkB`Q@1_EhKtpQq9MSw|23xK0J=ju!{IX!tcFkM-@>h9;{ zo^%O@AMdQg{G+~HKXfB+)}*_p->%K=JK1~C>+(*;EcP9TiWcAB_%`a^oL66C7P)SS z-e#_OHT9%c9D|#6^2rbE^PgpfZC#h!wd|)#TcEPJ)T(!4>*r_gIpJcu>ooV7RK=-t zSLWM1wyW*G@@?(X&F;5K-!05>E;+W{Kg|9CZCjiEXm0( zX>s7O!c~nJrOJ+9dXoiuuWmWBHbJGEy+pn>?%V7d>(FhsyY3xQKHArC+jl{N3fEKH zxRtYR`OJQM(&t2B0)M;K?H5bZIo&U${5-GzIyN`v_&SrX8>@Ex`muL^no@CBk&&c# zr^0%bB~zJt4?p{-IJJP`(ORS9rHiKQh}d#7JgV%}-L)@`<$7M^9)79Nn!>~LVD-c& zLe>xXZmtgUT69-mDyZ}#kN=!IrJJ@|8E;*(QY%+QrpfK;=bpc>p1<5ScYEevVYb_X z?M|{O*2<6EVhXbvR@ck^JZ5-6;$!Ih@GWz<@gCzjYx2h8di;#p0VOK?n*U^YTKI7l z_6Zf=k^8u{mw(rG)sS-yZhVWQKmSx9$CssqeUS3-4;N zpR*~*n)l=7TaSRk?AmiD3%%ahUDaNm9TT<6z1>^KcSaWH_Jd`9tFH0HJvwmpR^j{Z z&b+{+lG1`5>vTOi?@YcUWcDPb@Sx4(^vk}Hb}!53+&QYE>8f?`iJ~UUB!l`R_EUrY zGqn5`IsN+AjFY*?b(dY)kzFi%zc4eZZ1S-uZ`5CS`A>|i3Vl5>X2Z&LMz2DgJEQy_ z6rQkYvb!oHB+hN2ZPBZ(IAO-zt@~86b{)EDXM1q!PT3=C%r>=(%rmn5&!D8WWcQs# zS$v!JoXBRPK9`&DFhIGitbhBd zDIY`Q;}XtXtlC<&N@T{n+v{F`4Qkobvgh^!hBeAfOXl%CdCoHT#)FxRJm%I~Gv%!- za<1N!UOPQB^`*6YpswN4bJ3Y;R(C3wnuV2HY+(FZX+JUY@$Fd?OS40xk}@hj=S&xy z7ZRdUmAjh#*)gFd^Md?)8e?u}PI|ZW%KLjMOCMPjUS)Z&;pE2VKJU)oSDs7X89vLN zIXT_t^0up+mdSec9nsa2kYxFGAbcL5)?`C=tHo_>-OJ~1+Hkn#cl5oASuq)IOERB7 zF5UKG-lX1@>ra8)k zRCAVuB+I0N>d*ffHgvyS;?!C;S4m~MIG=KNuy@?urbb%H5O~-PQ8RO_j_unL6!Ok=@-RWi0O>E1$Eume+W3*CD$Z!Pj0N zQL)>$ZP%r+B~6C6%j_?0kvi`GRqc4f?2<`JJ5DjEUz$2;?h%y~0pljOy03*-E^M9E zJFQ73U0~J%)Bb(Q3tq1~70#zQN{wobiDNg>yb>HB5T^^w4xU&)m%?oi=g)s{YULK8SDT z%XZVUEt_x2IIn0`3krJaR8(tt>ioY6l^rxLH#rY?H|5YYSVrmC;?^>eLnUav8=GqHR@&m%Y(l zcW}uX-en>oY>RfkVlka};4QPNeaw@;#!-9gSEk$xT{_cT_Gq3*nU~WBp#{<$s>*$* z;_RMnt@xg)er(BxcSp?f?|ijaJbgUiMeUTEhxcqb`SR&He(&zivXsi=C+Qgne+JGo zaPzm1+W2dAZufF4mTvtOQ);ve7B4)!MfPRs-c#RB9_l>4^Vh7q>vU$CMLYDYIM-rx zF_@qEbIoCG$@7Wl^Q$`lX(iu%@^ZCNqUgGNE0+q*%2!#NYMC*op5xH(pPK8^JZ{TZ zE{s~fdfo<(rM1VkKLyH7Fq_@CZ;R_>3!mIYJLP71JXol*WRBdy=$xXn%R>_TNO-}Gr3)5Y~p;7(D$7A*{_iN=$O*bt(Py1U@cUhJwlG>Ze(-qzZFOS7SGN@}V|+FF z{k?Xz*;k|_sBXKu*PSzJ1J@+c9;PfiZXyy}HIwW(O`ZjGGYDC*3z(fyWIBPSaA2@>SAFD=NG?N84BtaZw>v=&~?_Xd%54mO6Te& zQS#hevWNWyTKk`G_|I@UVt&hB&)@E@r!Jq@5MS$`m%m@v!mIsL*uQ&^zrHh+epJC? z>U^)|N%^#C{~3-y3Qa3l)qS;YR?yVLt2N_Ur};E0Y`MQic!TAZJkIw$-;dT_>X@=L z`>W1#-D#ZH*=BzgmunD8q%X@I?=ql z!yj#Xx9p7R(&EQr?)a1_tpB?(M$yCb&yoKO{LGUo9@~3Oyf|S&-vXN(FP2>2y>;8k z+_I--v(8xb@~pic+W1ZG`3*kb;{OZ*yEa}vy=H4$36J&fnFnW@E-~@57ATuK@qY8R z)$`WAetGM4u(iUD$7RdJ0@*AdsLF1i`1fhK-Ob~Pfo4)sKRMO*O}u&UjLS97S2D$N z4iobOlRpQZHQd`YJ)7HX+Uz88>)4e$gywQbIO}UHkmCw&Dtu>Mv1-MR8-bp293Qey zY;o+iv+UH${y1UX?*jKvN*mVSN;;mE^M`AyqSsSD8>cDt%SERYd~2Gw=D4gUkNB1E zTb?dtf3>OcgJFxunfroYqH?(xnfh%v+P~SXeYujx>2-PDxy{Er2JH7`F*wWcX~(AiOkoF zQW`3v{@ENqnUs0s-Di`S`UO@KS8VaU_`7%I>f-e_7c!k(5}X3~%9dw(dYt2A=y^~b zx;f=fkdIeT_q|Dpk3!0=`6Ba~=Ol7@ZK|#p`21~M)5IlT_H<{5UH|fQ>5ZJl$v*3( zQ+b!)RFCtD_AED=&E#$+T|YGXLFTRpz(bMFo!UwhaHzuxinX`oq7) z{)+F>jDEK>I5y^$yPws}6uBjy*Q(!`Ocsji_0Z!PrxI;yH`p zY9a>RI}uZxBHUc^{rl+lcrP> zyL54>kM*6CW!IjWs=nxSYF>FjZ^?(yEoBE~9{0}(`}8?y`@P&E-RT~^-tCI4d|Muz z2>8$7{6z4CP1l2NxmnjgM#ermn7wZ)&zdbO!!B&i31FDGbKgDf@|@T5Azyy)=h^FS zdg#WXSvyRoPrcnUwQ2q9IQtEHbHoEfHaY&hY;<(0Y6E-IF0bH!oI1K{ap5`uM17~&W?{(aq@bblL z8J=r?`}p;-ckqofX;Xx56i5H^u-Eh zcfT@iXPon(pJhVUhKZ}*MYV_gDOst@J}-`a)s$%y=6smDB$@e@-QJ(;)!s)%g`SL- z%UPJoGE;+5GklJah0L{IYQ0-tWt^_Mu4hwz@IOP%K`#G&T#g6de}5a(rYxGHVzf;B z_%n`Q4ZCCH*_JQOe%==5S*yFy>}PMui%t4-y>|cc%=7*AQe_*1rq8C^uAa6Z8jOsa z&-z}zUKZahn%ODXe&wRJha{)PLFGA(^X@MVud4QlDtWg!%WYkk{)R@)m=aB22L4nY zjg8a~w zbJy$icMBw!vqaC=wbPQmSUEj5S?;IZXV&*OHcRJDlPQ_f>5_M6N#%hP((RKEp7K-P zTYTxvOKFZh(PED;+@H`Em-tjvQ<9}e`;^}$gY_y!#YYd;UJcXcRxQt5+1;wj>2_(W z#>9zR)K&WUZ~qL_xha(%^^&`#yesYYm1`=S9KCKUu=eylbY^INXK^;V`1iGas~tt{ zKOAXYvN`+Hk9BHNo@YI)(o8#N>g`lLAk^=&eCI#aIV$`gr8aMUHotR0hRTJ*1Y|`GsUW}9^E}_`stvquyd9_9lV?x&)=6jw&&}5 zFViR0T&Aj*Lic*)U)FAEpAzdBb*aH#?^4mi$-8C$GsMjEmh!mk?k8>XHm7}OZQjPb zzcEu*YYRwB2z{Zll=tnS_WS=Cs@5;_pITIYZK|T5igr;D|EbU?{mZIrR~>jI@0TA? z!fpO@!_2Qy#mTGtHh5&`vpN(up7XD-)7sdj;$112aJ-2IyN%<}b;V87WeTP=v@G~@|A>*t0m;?uOZcW_duLWT7d(uX z3_9smI6){#_`osG@ZtwjN7v{SFqh7`s=K21eWj(t<@1xSecg26U)S~4HrcN_;ciz} z^op}dJju_OGn>l9XDxVA;aXGKmdQB{fBPc8UYrmj`S-D(fJK1v`|qMz@w&UJ<1#Z3 zeJ&2M>^&L$QRVHOZKtlD6PzHz!64v&<6}tASwpdlmhxMct3BzNAaE(9Mf+9gocT69 zWh-NDDi&6kvIe(BBl2xcCtv;<^iS8waJuQ%HHiyd#fa-+YdHp-HwoO~xH7Tm=NZIkSPh1oG%$g=t zeq+D4^U&|2s*71!msY&$+p41F)I7U+=Tn;srS)fxh5Uo{bmG3+Zm3}r5Nm5XAt`%> z!MZ_x`<&X>(U<=+F3+DEvfF>YCA1t4o(k?s>8nd@zAtQ2@aQ4yx@q~@Yroyp z-Ld0!c5Tk`jk|WIPtMi~@%?;{b-Atc?kmUa+qZGp?me4jn$|cq_2QXqU&D+T%{5zA z3ct+=^m~#rVTsBlfhEf&Jq{czFg`f3J|%ar)m5d}T=!;*b^0;fiaFF1ZrwO}Qnips z<%i0HMzXalA1!ykr*t$rD8|6=$%3XSOH(!MYgqp?EcLka(`mV7dyltUdvuYU{H|x$ ztvX6W%2nb{&EKi3nPM_!?)vTXgpWVfJbCaxgK>1Py3)0~KRc%Hyd?1ZjM#;?fGKR# zEN^XDt5U@9r1D>>=cYd$#i!pq)iYc3)b>#OtQ)u28NVyP-&gv0=hF6=!XwY0eLVg$ zs*dw8`DKR;KiC@5??GZ>DPAVY`{Sm0|sqN{^3USDjxO zc5=IJ_RHIE{kFY5s(4f~hDCd$qDzr=*?CjB7uObLcCOuBG|9Ve*>w@?mcFajufziv z?7O~H`1>L2hD}a&$>-~z&blvf>0bBKvo*alnvCUl-HEN*n|HbJpVXII^XK&*G z-!plWUr5o!IsLYqn~!BiM4bxxw=8D;^%OA`pQxBjcI#RJ1}Dc)3=HWf+0RxQFHg_< zeLGh#$J;~W@9oLvO|L2gZcUhczV1owEB&=5Pgayq%!oa>vqg?OuCDd=! z+gCY$E6e`w^de;$f5*`YoiX~^vg=Qj1f8wd?0)<3bm=^3P!P?XRo%^RE|e^?fC}jCap|K}D@8w{?H5a8~}j(&1y1#qmi6maBaqp1glI z^Xa!)fd>_~p*wRKlL-%Wl`2j4|krLK!!JG?Tn&Drz$rViPY5-Rh2i`64oD)+`; zVe*>D&bO44clnij3vM~6OB@U@emk$Y>qW2n%7=GNnYYajj_5h;dUTGA`UHk=k{|58 zE`Qzc|L9dV_x0-3t$bM?iQGMpM7R1a)smha-deMJ<2=V>Hdl;}&vq^9T5+hNA?C)4 zb2Iu@vwLrgzOp>{)e@^8ZdVx=h2FLJeX zi`*qk>T46;sY}`&ct&?gG*}C)^yZOXFyOzG)Zh3LqYq75$ ze;@Kr*~EEw$A@{gzmwL=sxHXeSaSM1ufyeO-NLBM!#O5WiAF|?oVI<_@_ekk!#?W6%X4%0WxtrXB>qCw^L zXWm@x&w0*h%@5`Kg6_W3rCL}0jKfuD98Tc9ntAyyvv$~BAr(K@WnA-k-rwGPJoGq+ zpS#3ArNTG-ruMIowOszC?|V~U%-T6;yHr%fO!cZO54k)!gEkd5t>b(=X@b`Ei+?RQ zX3p$A)$`@1pYcTbM>2j=Clns2YO*|-=a*f-NfDuz9iet0d;Fi zx4mAib3P*RSTEm|cPy<7_uunic%qVb?#dJ9dC%nw5@Q4QW_E8|RQgwU`Q@}NOTE5C zeU;I!xA=K&(xNGR7G4eq?6Q>(FIw*_mM^~A`K>!6pW;jo-F&A$p*0#slPC7n+Q+Ya zxI8e4$Ci}5B>_h`Xhe( zovr$z!4;YPZZ~sNuX+_Od6TPpY|1TZKMVF}>T)MdbD~P#&6~P>|CaFAG2E|zdiyS` zak07_(^S@EWX*W;nAWCOaU1qV-<`Sq&2^T@H)ps1JIi$IQnDG-R&)aF-4#m7(g6*f=)_Az+> z;Z<+F1?TNB710rTQF-q{Lt*osx~bKf$G^P&_g=4B?1bLwo+W}h8=BrLG=6?;DP8+J zX=_gMEWJ>!l@F)+OuX}Bg59av7w(2Rm!}Dq>sifs({?M@J!uxZyaD@u`R9?c4%a`F z2JhT{HaBbr_t&loZhv3C+qz)>3_b@<%VV{#9$%Nz_RF@eKNP?AWyKPKD=k9pGu2Ot zS<3x*B2&a$Bp+o}(Kq+ii*Gy3ThF!IF8b}eWA3^wy+1f3Wwf_*Nu1+nTDZFSv>xx8 zZ4x{oZ&q&UJv$?UdDHGM^CQ=$$?m;`i)wxw#|`wxAsTeG&!u#$||z$(Ih7BT*jSQ=W|+` zd;YSUmc;IgE!hyYPFU{B$*QZot^1fFG;0$TCNvdqk*OE|&)}QvYP=*<|EljTA3HA3 zXj$W;mqq&Zy6?8d>c3pOtYl@>y1$v3_j?|xxL=%NHep@(mTz|(8y{MJShaoerZZ&% zN6KcWF1sYuc45MlC42`MZ-kaF*}5le%ac;CTI~s3QCZf>5+2M9wKmmP`@^`6-fUTv zthY{O;#EzruCKZPh-zj(+k&nZ?82! zz58TlR)%MdMiJAs7m|LJZ6w}pj0*Go*sA%S?cDcr{noX6ug2wzpWK*gy~9v+X^Z0G$GRFKQ-1tx zvtX}j~CnKE}bR0X@i03<08wSUxRCNm&a|rug7CJ z;YcP|F4rBSg}WJMUC7EVKj`Q@U*L5=>lB;bonE33Sot_tT>1Iw>A9ld^-uk@i`s4e zGeo`Ao0PHExcCx>QP7{x^NM<^U-oSI<;NGagk|E5iT7>ydu=vT>_2E7tFr7ar^i>HU=f zK~9s3I8K-zw+-05;d#LP#-fhZKJC}Gu6%Iv)^qtej0aiz>b_pSYkP%r_seN1O3FT4 zE_{jd&Tq~4Vvye8RQM$MWnj{b$=b`r#0sLqF4<05wEQREJolwjmQC&HTr+)kW@T>P z^Gn>y&yTCi{4S0(U8i(PZHGmSR`EyI?C@`8tiOz3Cw^1mI4`n3@7pv^$?u2Sng6)0 zuABAh*qXA_OZNuMnZ)C|R-23S#2ti1b)cuuI|_`PN2E4F2Rd)|9b#ByV#*OW&p zM$?5Ru=zPPevJ8@dQD7LXqxUfj-WhY4?R1vcT#uUxH=df{8`*!!!zq!_tldh^0o^W z3ohO8S@W)pMaXpbB&H1p1%WdcRhJT{vM#GwY$KGzdGF4ay>A~a zHTqS4>92Eo*?VPQ$L(7-w@9oCwotZ7WMQcM_OD`H-u{f&#pab87oMnHcH!5gYhT$7 zdj9M@AZc+l;^E23YhM|r@0Zh>;_VS|XUmdrCs~*Z`wFzA6*ZHx&n&(4?&_Qst5xQ& z&FjxBjB;al40!k~&yMYtjZmLtR=lXQflpkNa>U7rQTl<#1;{2pK)h+U?tU@lcb$?<{ z@qE$k3;r{7R;=dpnsB{uNyMKHdDSgPcAGLM>n~9^{ig0+SFvhi_+4koYPp?$cjlSd zZCaDulNh;DZsx0Pt2eA{mb~$98YAz@BQi^bJegS-j6B~yx!NedylUIsq`L2RC$79W znK9{9ELW6~Mc93dZ!({w=1nMh#UJqgyQ1>tZa$g%KtHy=yRQN`*|R1eW9qM$U7abP z{h@04e}?Oc59HRK^1rzJ*;dgh>kRm0{R-<#?)%T=GB1Bs^7{0uqNfs5>zO9)nezGk z_CBqLFXJPsYV+E*sdxX@v(9-Olm2S+_TaD2T^lra z%Z5Gr@Z7~e`maZUyy$A-s~*QLZ@9y}K(_AH^$ROrhMs#d*Ol+X;Yo`;w2~yJHI?&- ztWlO*c+6d80*Bolzh84p`p!)#)nonlH{dKgqeDV-p_@%0+y_4IB6@y*4-B-aczl&vVuF z-_O1Es}?PCE&MS({o}06Vo&a7cL$HJTMxbY5Vc0*!i;zcBk3mJ_0RYfcAZ}ROH6d) za@OiPafW^dFtK4x0f9(ZQa%2cASYb z)6;)~XwP5%OUrGU_TMvY?LA?&)W^T=i|VHJAx+CKaCqFYnY+|s-gAa|l_oYTuGgwt zxvmPGnG`kuOLWw2ZS7l&xB}d{&L^>EFR$s%;N_Yo>*q(cV{;K|WG*e)zQU?>yX?j@?JI61rqplNzA(X`-CD$} z=11h3%}u6J|Cnd}dwJEXv~9VR-A`@*%w{p060;kHD`#JF`rs#BuEN+fv58;dO0Z+8 zR0wap(L*EV)2T~W8nxuEVz%H8Jjfbx%Q}5~^3kB_ys@it!%r6G=h|GEA6d61GxuL; zoZ*a3fmS(Qfz4Fk6S3q%D)KT-kc;xL^0nDG_#@COqfveP9sc zx7#c3=X2R=(u+g4FDLPyJ6Kr$NZI>G!xTl8)zXbWKh2p?!1-@M^sc;XXD1zGyL70(uu_F+U5ld@^V9$tTz4N~}KD?{t`)mHP7itz^xhX@^r?ISw+&Cr%Zu{rKh4 z)0fZo?{?psDR7 z{z3UpN$J^{%uk)UDz#)pRx%eT{CNAX)GdC^w<|Z6>}C7(_&l3*bnDgUnn8!0+=TBJ zU8?-|-qiM0-0nP^jOBtoO*fe*5X)v#MD;Os=Hg)c39BRBw5pnQU)v$$5K%rR>fX^IpvO zn7A@pB5BRMnNQDcjxgD8&-h|nY{B+OscQvWS@$O9``S%Cs!=fQ+5?Xp8`v4%da}=v z;WM6;x;ZuT_ta@Oj_5aPPnA%;ai-;g$OGAfwyVFdjy2!9`Qlo)BLZ(a-x_~BF;y{B zkJb3|0~v;iTXbzI0@u~Nc=}YJBWSMmq>Vc*KfVpx<1#Q0F;D2qc^t^q|2^Zg*r))d8)j#s2;NztmHu*n`@HnU- zXB@utn&_gs*}ZvJ0w4Rex2UuWw<Icel`kEkaQNccu!?c^mNYSS8a6y@eSXx!Kt* zwZ_^P8n(3GN?BZY_T-%)21`zM3zig~^7XQUIaj58w1fBNO`4&*GVrn{@1&Ob(~J5X z6m1@t8O}XyBemwl(&XhbOZO?nJm;clyh`{p-cdb+T#uU&$@dv)xs-@aE0R%)Z<5nxz}oPt8`Jw1~mp z=i_s8@2XR*+YU8!y0~iMt0#|tFTZhJH=~!e`pT`3-L`A_9E&W^ob1Y3xlQ`{ zvj7&>bP10WcWNH1`0d)gZ1&5un?!amTkCo)c#@Fh_N@{|k2@J%)_-0x<%voe^StL< zBNw!JP3KsgSbV4K*}|jB#i{Rhq%wP#{Po(cXY0H@q9kdn-;(e{1|dSXIsDH(+Bl(w zsVJnN@Nv%v>!S3?U&||B@!ro~dgEHzT&?CD_Qqq(eaWA7KKDG&^N>Ahc(!zne$=`r zr?0C|c{Gbv;E|%sb_tmjmCC>aCqFrSW2lNs^4i3Ds>e3FX;x5diCKuUYNlp{q=eS3 zg3!k{)z_~qSakTeyqEUs-IwQ=E?)2Wy?nvP#jd`A9Ue)EAGK>Q&DOD~>a)EZbTqgt z^}x0pB{j?0cYasCef-n9#=Wnk>jTztT=JP7=`!v53!A{bJ}Wivw8~W6oAM-m;<3uJ zK~+UnTb&+d-VkKmdBQrNsi0?xQ26d24h)lO7^<(fE_rtQOZ;1NUF-Wni`N>e?wX_L z+$iC7?$2A+cmu~b9Pdxs+aLM3@?&Ms=Uso<6|5LfzuGu$>X&z$TRY;yqV;y}@Txno zY_G*e`QZGMnW@Ll9d6a!@;&f?#RQkM5;wtWM6H(r(sZUDLay z{G>&o?P~AKaSL2GMaJ@_9-q>q=vB-X8Y4qx*K(L#Jbm?j>_?`rF-< zzqEBy-@|RMt(5;W1ReO@HaR)>?W_H9+cQp2TVDR#x_D$unw`Q8$C*OJut zzTLg&11*jp_rJmHJ7LkKAWzGH$0`#KJZ}8u5UW`6Vq21x+oj3>8Qz%v`Sg3W(t^2F zU6=nF?DP!QD7>MS70l{vEi$#i(atqtt z!Vj*7UYGndowq&j`_;`nPq*hzxcc++9MOcw$3LbYm$}lvJ95^krP|5!3OP&HZJi~& z;`%}+s}w`whso19Bb*u?b@emv&a?bCb<-b>!_WRR*v$XWpmfUp-=_NC^=m_x-CuFE z^SRVU-=wQDzgA8AQ`ET8i_hYyADT2;bu`e_uLaw`Aq&piVgrSU5_unSMS)Z$#StPfwgTx>Fd|u!lr6^UD7QInzBe$(@O~}6`KBI z>g8iUFa0c%%30^THgiUgx_ZLHb2SXDqVhjnBd0#qvo?BUE9RVdEY4|mA^WCDZXEyI z)?NtR)wj&5?cF8*SGHk#c?nKS>^WvNKPq{9-gnQVDNoc}rZG*OWA>a?p@Pv<{oSs; z+LLx=z4}#p{c`4vO;?IFPZxKES>_)8y;S&t@XOV9tfg!7ev?W&jH|`oU--TB(1U4x>veB)&$qjAfB%=ijd!<~_dJ#> ze6-Hmc9-n3t713vQ;fy5Ju{~;&rwxop0ED;*`^6w4_ylkHuLZ-C}jDUwb7(+{Uo|usru(Jj`z>ERvcoC^t$xzhMw1} z+}yU$|K8cN!T0QVe=nZiwRFq&Z@+`HJA~Gm%`E$!;@zxn&R#ZUp~|~G$;_-x*Y2$seA{=l@4^qT60g_ zsn^;U;Q02A+)vRQU%@NB$tx}$TbAX!?Aq;_Qx%WTj$VD>&)SyB_ZxS7FrGLkX|rU} ztA*v_9o)VRp*lbFcCL`xl<_)byPmFYhIdcX2#6FC>&i9-x#Ir*| z%Vye?+np**MpGHwS>$S8?=fkcv?0?%O}FpPmD&UBamvN(lQ%}4*Lqj|?YzWV|Ijae zv#*9J-F<(tS9PC~FURS%8uJ*AaZU0wn$u7>_o&&W4H@FjX11Z4XCAFky-{-Z_VWHa zN*;BxHu=y}I3_tyR`bF6ITzo0)uN(~S_*Z987o$$i=L zfMw!Nl>}DC6YP?od#)8<7N0oTl})_oICGr(`}n{*?`-vj+e=RKx?T}`J}b!6>q@I? zq#T!9f!)qkufFHaUQ!x=;LfF{FX2qvP1c?a`1is7`>l0pZ*Tp&Y!a<}XQ7|aY(;%F z$3sGV23uC-d7g8Zd>eHwxZ*AJ1TFCQnI zGugD3O*_)MhtF~|ceLaFt|?zWJ^Qy|6UVWlB-hlvt9bhF?c%Gne870T|LMKO2J<(* z@DQ)n%$YO&eR%qvnB{)#ORhiVl;b=YDDnJRST$Gc>$Bb^p&x($-PpeH_O(~iJ2qY3 z-PGKv{LH3iiK;_SvO=ZOV(}gCV??Erb*&D!+A9X$+G@ssYEyNs#j4NYTPzs#tk$lR zzv-FM`)=aTIFr-M&)k3cF-*nQchx$+jf>ahtcqEqnc-C+H05X1)IXY%pWm^obWOfv zmApE5`J9fu!MU1+n)>2Q7aA5g9-9*L!Dr_&d(ou4mrw{aBWd)xu!T zN=xRJ=8655&rK6!pWRHjrF4F$N2J{J6;sUC-ah!NVr^T@+nrXTr>y+brk%~NTwX5_ zuK8-Exp-WiwB;lPQM1=)6&@^PdGd{2_MCs$t&(l`t^R#JBztzZOG&{_*S+WT&mAx_ z=V_eaXI;L2-o~ud7=0s&%Yo9pTtQy<`(-V|sx`gsj@$lDnf3eSv-wxI^%@;pGC5Ck zL%Y{LUA_e^b8ji`bFG*PKdWjURCSr;`G)bqbLBave)GCBt1kp=b4hZRZs$8X zq40^!zp0nZ4FEqpoUi#(swJlY=PFu9w6}I@or7o^RMTXE6)Fz*nM#iXUui}kLLdwdZ(VT-~3o$dGSJ)Jtazq&;4geS|y_P zJE_JqCnk5@(s=C^_b#%(SlC~6Ejqx~-qM-_258v|_wi94%<@FXX*iOr|l^S)+%d3#z& z=U(sPAg6sR^E8jAxKCo@_#e`8O;AJ zpYu}w@~u9GkfpcubQPO->}w0%$RdAsPvQM@*~&N0i0%H*;2gQ$DeC?7l2tl$&s;rN zI{ne~<%R34gg&oWtH|Su zubOLzW{c%0Y}sBfTJ=w+H1U#^pn-f-L#NTS*Q<3uxic{BDg1Ii=j!97D#u^3A3L!l z+WgjSO`menV_}@J~u5ui%WWwlgI?i zQ*P!w$u?JCCjD{!vhPVlO3brc)BKp!oa5?eS6{LZjT>&Z02E^LWdX@88b)>3`p*SGC}kF7wJY-&49*6o&^#>DM!bgNvHRb|Pyw@r?ZZC9Dv$L}?cuq@tTDfmFzC-r#WttM54 z9+`LQlIJZ?NIqJ-R!~n_%J=uInf{AK_cSzqTIk+j`CL-jQf*<2Ye;dQSC0Gb4Q^cJ z6Nz3&)-MZ_@w%kc?t0!&U^4qg^C+C5n zdV||_*YZRWWXRJ1lsvE8b3?PJ;Z`QCaJS7U>B#@_Sh+0mY2$DHY9!B9P?LiSbs z6}jbiBetHaQJm5&pOc{=DmKM|@#t!1>v}WmF#W){Vx?k>GNo%b-ONwXJRT}%6vY+f zs9rV6XiZ`S`_{UWvsJY>f)stac5YHX7E+n1w^AbYV5@q;la%V>u8(h~xpzx5Ou2mV z(t&r%#uk638VmiIaqZKV9WirNv-B;tGzA%P1ccWfc|PkU-~88XIaOY&o8B6(JeLy~ z6*8e=f@jdDn#ReK+-(X&_Xk!n8wrZbZtXm0#XI%_;Q6e4op*W0x8mTUIL62mV=U9UfVgp84ZwbaJd!d$IePDSOP- zuAORs_kI4uFuSCQtuhZLFnQidEb#8~P+FXqEXmA~GzvufSD3$+0!k=W}mTrb<1{ja{ifYj=>x?wI*8ujlk0 znZguwip}rX@fH=~Z}KbGL~lLyapn5+rzY$Eo_ZvVez`(#7 zv)ACl*ivQL?4M!KN-~%?I1RuS&12_M5jM^P#YZ z15a#<&22wZS+3|w<+2Mo9nPyvC}1~bzc}mO%jA|X5^qj9cjs)|a9cI{fW?Uerj;c@ zH?Ev^u3Govlz92ny}F_+G<{5_YT9f36Ixf?_gFsbXPtJWnx^uyRhDz=;$j(ItVz5Y zY7*Rj9}m zUeuUo&2>qMwqu7^rMifouv93V7sSV@{73n0)LoyKYv;#UTsbL};BE@Q+6fi&iQUJrc?CUpGFn&J(;iQz*8S}b(6X2Em^T^ zi`GdlP;>kKeb@ARsW10BUp=|8ZT>cvqmw_ZE)2XR^7~{Uchot{pPLx%*lIUs`R}-? zax&lde45FQPX(tp-aFj8VvgX!bCt|pi|SLBl}Ds)*mAxpZO`HNrW2+v_1iXeMbDF_ z@^to%>RlVYz1@?f2z5`Y@;#%X?Tv2Ud8mn)~<%H%F93e z%3rUL)h!}kpR{LzQ^9gU&JS)zes!TK$%XGHz6}>$_BQv*wvfB>PBXk!wX_~Iyt6#; z?LWg>kFBk}z23{xZ#>ztZ1%Kk=L0plG{PLc8f;Po_+LKSc{n=KbY8zdg7 z7!!Y=E&6)<4td$SELfw_%Jck*&Epg6=WTy+Q8-TFX6_qPsgjgEkvVObVz@LTm>Z1D z<{6$`@w8&n%}UXtK4uTk83NwE>zA)@ycjjtV4w5UWjA#VF7vwN=LO7N$!TZ6zTb5D z>*8z5a)(PNh)fSx*fvwcf^qHcDXj@IpL_WJetaUe+~4iGuA^a6R9@fFb60oWaj)U| z7cfWoo9V+frNN){bewh`sGV_fR-T5w8%H?@v$__;yXU{U{QmTwxwz^x&r;Fg8P95G zmF_pKdEx$LO{9+b^5mm>F@iJsHt; zqMrWRN6X`N*DiW=GRlwfl%vX%;(ke)(_6MRZMn^Dyv}#o(^3Y_{M}O(wa*o`$g$bT zr1y&&EKM)Y)>_!h_G;rFud{}`ijwp}UtYlrEdIE&7T<(&5a>C+w#( z+8(dFdNH(~o27C7weQvs7xnHs5q4j)vbf^-wblC%i7ou9c=yZZbE&=>zI~JU%H}AZE50GyF7a;h``9)2 z|9WpeTlc=<_J4-VKk`hg`<`rjwf(^~H)Uytf3^O--#Wbm)$ik+4)%CEi>%BfnBG1u2qU#jd`#?z}6U*4}V zd;RoD#QW@aq2x|Bo3>LEPM`YJqd#T!?MeLi8BVOPYSp~9V&i_z9Uq%Diwgq|b)GMN z{HE^T)qpzHlCwKIF0R|QP{b#-IzD#`i$?QtiwAQaeEz!DMfBL-mw}q)?vL*1UYyx; z>CVsDg_`V|%KIu$DExd=u|6UB#%r7VM-4S!W=S4hE~!_V_wDP)@Zekbl%pnz?z{Q> zi|(O2EvnIt9#7WV9Z8tK{?p1k={F~xic383Nc2Y66I<=tf9H2SJyhJH>#SANyw&rY z`KJix1)vEC8MeG%dD?kmu~x5vAs01cq#jx?F*Nvv9qYC zCwXnK{hs&yuXb?WtG&1V<0oDHI3q~H!HXl?(#iUr*XEOwPvm|a7kSkm^f)U`y5mSm zjC}5)Y0=KE?u~OE6yLbU%Lz$1R>WtM%cEtxrFP z8f}yGx|gZJdcp0EqV0bMP4=%cS9ZIVM*H0`xwvJSO2wx~8+Ym(Eq*CDU;1R&yPC=K z>aIGvHeK5&J6ZWkRMPE~4PHzR z>{q`0)Js=kSlCdL&f>^2m4DhhtCDCPzuD|f-R<0YpU=##_n&m?(q8wBEKl>Bxw_w$ zteGG_rS$>JQ}vApzkQCfTV85ueq4IHK=|G>3->%xRi6K4ZGG(4uggQ-wr)?oyxw_h zRQZAqQvO(tBes$gQe#M?9t`j6+Z0nZvutu&(^kjrn6f(I+N#E?8Li(kp~%^M3{bk6+h))*idCVCs%3lWz$3 zT)!H@vL!;-`IbsqdRDmBt9_I2nrz*5gG;LN=BBVy7x{~4Dk>~4>R|P@-}AAtv1>}k z_4^kmJ-boLlF1kO*JO>U;vPlsC_gvRgX|K2`E0JPzv8*Z)vQoe+dD1o(~CbV4v84l z{q8*e!+&dK)O#`OZ;NMVX6GESXXbC^S?b}m@x-yh--qKke&6x_rP-VCK+2~%uIAUO zxTni^)&Ay-eGy@{FU|DBin8ccnVhGJe{b3&P_Rx!#L`YHv*!A(I=cyZk{pr2_ItS< z7`eWAuBeYJ`79OoU4*-FVrI=s&z`Nzt6h>c?H)gqP$}T}n>@=*g}e3^@3;4i`3JSW zCN6yLHQU;c^WZtR>U5ii+Fpzvir`{`G4oe^J|2bfnW?L{#ybY`~3>$;Ui?3An!uzc%Z&K;=&DS}#=& zX?}Jt_46-hwSBdZx>d^hbjn^SnW^ia7FZk#E8~|`n0Rl?_7}HA!>+|N9690lDK<-F zg21QEPgP|1-Pe>~n#kkRdhYb5%^lZ6k_?@XnJayJz5m{wX^#Wq-uzl{Zo(B=UoVrtnJ=n+4wZqqx!KJ=lk7_jeU%t1I`Ms$eqUh zc9l=Gmrt6U{}II_d4F%(8#3FhW|=toKFhOp^H#r{vXbj+S=o##?KkhHOjy9wwO_mQ z`?-hz87kM<{xmj-`6Baf&5@JJ%LTmevL{tW-RHj>ayQ~iSVXbXi@nPEsZ&(Xca#;K z41N{0NvL7-35LAy5&>`Ae3YKsy!7|rY_MCy;PHtAqUxIh!6+Q;vTmEHnpzkHY zt!Km&r@A!B)EQ?frdc^n-&5H8lI2OIY`@G)tN7*fu3bAUc2!Vrmwmb6(>VCnQK93;PqFRkt1=^9e$0t7v7A%+^Q#<}{L1%2rdJQPt}+gsaO2MQI}Q?_ zHcZuzcOJk0I!xc+DtKY3bK>&ZvrbA+f29_7bxLy2bItSf*z1?(tlw)@c3tg0qrnZI z=S-24qO_y^^kvqF_V6^$DSR%umgV9KtK#y0u78Io&d^kD-yi%?p)C%?MnCm41yocJP!-8-~Khr^sAV?Y1Z;hSFcRTT{Uyjkx%B^=Rb_u zZ0!9?W1ZOD%|3y$r+ufh*OdFY7qP#N5KKM4-EOgz&y2o?ptao^7N7X+Pwiq4Ggo%a zmToS)>Jja`XVKy8;=(Vxmn^NTP~QLf(ek^pmp`uGX5F*aF>Sj~Syjk?hUJRW?)ZIO zU1*`uP?Wv2`JYPR?MdrqSQKykEl{`GU)N;HwFBol@%I-pGf__Cf~X{Xo1J%CHb3srYzTWohGngX-eUq+}p>h`~GF6CC5%!`|scU z_UpUzzexX?7JNKVk@fwV9KP=tUY{-gw&AMMZ_x(H%I%SX3PNUc`sz=FfYc{l9Lly|AV1~J-xg%gA)_uK9ks1}T{-&8yGNMBagoF$*m*!7A3TpjXbYpOC! z?hV~%tuOflO;`FH%Q^41JwY=_b%)efH^y5%pFG+38QA_f8Xf-Db={V)8_RaLPJ1i5 zZO-kTfmb55KDHNb=-;$@*6g~sDYLfSE-T#>#Bp!RN}nB*EG1>+lY^44#w}cT?d>MF zH9O9zQaWa!#|m_%>QtxqV=VE_WCP=pCzZ1RxDl}BWtdDL369PNwZPj z^faO0FN3@tH#vQ0-jQy@=Wg-s(Q04zy0nWcQq592xq4L^HW|KBRcCl?+aW6KA6hCr z?Z*byjhx?-MMXpwEUgUiu(Uk>pehc%-OtCr!4c7 zV5#P>Unu+gW7G_5^Ug=c)sn4e_B}nTz*zgP&LOK(cb)8X?wMQ9R+#NO9^_#a{Xuu> zt2cj-2h?56*#2s1-Kr~FTFoX|%gFKDJoxxn;?aifK6~$6Yr7Y{-lJfh%k(Q=(-swl zEG=L2R(aXFU5AR^ek+@FB~5tm^B4=S+D$bp-5VzUWl)LQ^kv)Zf5%pPxoy-kTb5e? zbI!`0atoL>3*^k^70(mmbJKodbiVzYR{u>+wyGvm^;hpV*WbBxMEmK{ET2y=toR%q zb=F7eGCq4`G*c_hAt*(^>6Lqd`*%Nf(Tp$8ZmxSTwaw;t?xGTpB1WgBR;MPNin2H- zvL=Pkf?ZugF3a*#uA+8mr1~wT=;(ectG_8HYOVR@wI(d?JuY|H!cObNo>#Hq%jL6l zul;&GS+eU!`h`Gm&jYu2EN9U8IM4CPtRF|N3SYUhZ`GoAh2}f|{3v>|J8ETet+K|W ziEA$hKK%Xp`B^WkN&Dt070pPy(cSuz{X&IXtiHE-1&+BkLPmW48&@t(Oy+Le7NVh&>g%jnd3wgJ-#0^LgZJs)Khk>2 zMSF!oppubo#HXVBrw%7ZDm+$gHo@KqCE?xNh{)jqfLGy9B`(IYNd)>NH)f{fWB3EoC|KaUI zPv*D#IWZmNbdWvy+(OcV{b-iN^OG9tsrN(Nz1x>l(BSy$)f>@98bfA6nS)YL3~c0yT!WkUTl+tnxM3g`B&OFD8rS~f}|_qv2v zhZobPvK337R=hoUtoTm(t&?&E%w7*OUhUv7ewur9OX$09{X6T!s`KV;TN|FN%6`r5 zIsY?>NajyVZBIV#nUuZKYIoYMvqhK7w;nRy$FNH_(Pn+tH`$Z&M|)=|6rVUg>sHCn zyEea6XS1&3F-u-y!c!*HXZ_YfKKa*G?jKvPUUzw&aVwMG>h3O^uzNbJiTYNX*3W3X z&%nU=rnv7bLw^IO)YMIrRyL4Dr7PT_pPK+fetEyog7QdH7a8YP);^FDMGC)O$KlwqEz1OKl z2i}8*NkYuyrvCO{bt~)SMm^W3M#6>e*>}1?{}5g>`upLQwyxil(ZTBuhfqlhsE1 zKkWX<{9#pO*1ao-4t?6(-&(=D)P3hIk*V^lwAZelYcC#^n=w24YOc(dS9Po(>RXeG zF1X*x|D7xM_1ZV5GO6hoPgPGg*?xWcsaIT$cll(dyIxvUtFYgA#jet{dADcZaY=EX zcwh0_0k6&TSDb$xbn2N_LaEKU&fi-meh6kRELo~$zhdjM8J9l?vb`? z3$5b4#+RA7@vckh{(vvV;;v}2g+@C+<&WTcVTTn)TG&$7@HnCdfM+}#^*rnY(%@~+nNxV5C|M&O_Qvn`)Ikg4vniQI9G?O>_yg2S`h zX2u=*F1Yduf9tM_yD?^Ri%wpx_1oKZ#wm{Mvl) zm$kM_A8DC3o#(rA>yUHnw5E_}Y>Yv>SN!#~J)5VU@H|a>QlG)WgsEJw@}};L7nXXQ zH04V59G8`fdO{Ok`77kfPidZ0_~g0l>%=SBx35_%^KWf@eaf3Ve9DrgE)&20Ec|sP zIViiEciFY+${v|F899rucy)Ok7$&OWC|ANnPO(^`L z!gww#^IC8HGQDdziXPowY^|&JCTQBL&fpZ`CN|?HBjelZ_ZDos`MvYak@?A~1`|a; zyw+c-z+z{4tGW642Ahgirl$J6KRqt5dSy@}HgD4muj}8xZqB`YJ$};s7kSfOt<7C_ zb9T*6Q@)$3th(+~PR)rs*xRS7uw3#vyTap%2UoBMY{^^l()CkBYWvfu`0QkJp<~ak zwDJWlvT!=c-u!mr#Mss)>nD6wo7Y*{6#mk~@l@E{RZa&rgFHSsHOeoSl(}|ov%$u< z3^^;0cZLT0#XY`vV`-GRfd#~Neo9?J4qG}=C$7QxtGt#=tyq?L)LyO^|tFp`_ z-M=Q^=Ke7IQr3T2@a^`WuQ|S+K3#74WYVKeTb3$6)0C7EZmL*uZr9bq*jH|gcTVrQ zl&Whm-)X~?7TFcbcUYG2uZ^^C<#t*p^gilTiSSM@pA4hW1M1K8bN%!GGpLy-A7no3 z$h;(HTV8K;j-OSehQ(x=%hIwZwzqEE@G)LLquZ_ds#tU3thd*aUlbmHYInjr`58lw zyM^+cr|vu62Axe^zvb!DxW$Y+S9>uzZBLXhvX7dby;eQ%>a~SjS@#mJb;eZk%+Xz1 z{rMpK3Hu8Vt}?E%%GdUY?Y;ITCCfUceNNDwKINC+3xT>(MF{C#>B}z-`)ou+tpq?apAJ)C9Zu}oR;kq^{IPdGG)h9u}c&9 z9yZ=qX1>4G&m?dA_LwzioF^FXm764V>4d&~k!$#}K1sc2tvilo6>7z7JoA?0PIi6# zsts@X_ldu>x+LARMdj$B#skc(GL;f6!!a8dU%U5?mnxFP(k&iinAW7rxmkXcWLDf%l-D%<;ZcSGImNV>Vh> z^hD=G!3x!>Danm}wa0%wTV|_qmG}OeNpgi*o-T`~u&VSZG;ZJDRGxf%Yw_e;v;Ac? zKja?vp0vRCuFP8o-Q~ic`zjxLc*=j2ullt4wf7bEIh9jpe2C9j=%Mm3x!`BxCr9?T zXXS0Gg(f71`l+7H*UMh>wb;zPYDg%jJh+$?;$t3aBeF2P;lx8V7$MP zU=k8u@^$S~rbicE_3V_8_<2`lh59}LK1t<&CH7zt$xgBn*xIbV&r&j5P`NfS>{w)ZPzS&h}tX9>;y_5NC zsFr*-L+OV7>s7^jF4jJn^JK**Ur+nZ<`Nh7nQ5PP3v$#5GvatsyIPKS;zwDdAot6& zwp2wflesE(J<#mQV_u#mstY(7DlOOj7CEx=L5szX)EnJ#|GKtUDHj)nXfMs^t+`%S z&HFSnOY2UM%%M}v2NYct9()gKkdL|YJn)OBp=tP`=&vT-rOUikuU-3`S)6tG=j1s{ z$_}2F{r6S=mDq%>8J$e8xt@L5{>Y+TZ0Zhy#pk(mJs6fOnNT<5TvqPV_1pcHe2IGz zGws&8Z^!54SS&EN>z&E)_88Zsr78(ULB{j4AMa?{(zm8yY0t*x@%(=CyqBza6mrpQ z<)!wCca?7SUqAn9>+;1_MSs&erG3v%mWtL2nzzIAaQE~H){WaUSZa10W3-gCT+usw z(XF{v>vH#n%vkY-?TW|!9XfJH)SDm6JpTGw{o-7&w6n|O`d_MEU8|hj8lmxM%e8as zEv_w}skljmCDiQE^%Gn{ZT4~6?5=XJon>P^Hn8Vzk*d^vdwo&U^_-aRTa7O*I_CHN zrofb28~D$DX4T-~ne+IlcmA$pr~X8Sx!%b=Wc1eC@SmJRiDm|;rl<182j9Ob?{!fx zl@3w&Jni)6yThFw@7m^uxI4r>sPx*{eDG|@+iXr%KfU05OT#U16H`+(r>0NtTJdwf z$A=fKKmUlkw+1_RHoZE@p?iVx$*%9q`P}C(&^_>`cB;{`Ya$bZ7Kj8n%69x`uv&A! z{XavStedykjfbms4{B9edrCMt+V9E!7b@VsAt?Lxho38#xW1feEXQ@fs>s^<>R}Gu zh3WR6Md#Fa%wJmVe6=|w`^)BnEbH7u1sg@yGUVLdUa9hXg1v**?G)oZr(8G3{0W;b zn4D1jFmrF;oIO)+huUYl?y`A3Ltdz*J=!bg_$kXL{rjsH*9%r1cFoGwy1I+G@b0cj z6WWiTdnDXEaYxy~<1D}X)wb`A-6M2vLDRvU)t5@QOsSOiV>o{K=XHJ0Df0ulwf-zy z74G${;aKmr^P5csJ$!xo6t>*DmBsg6bGdZzbQ9;=D`wvNW=7g;RUXT#tl4L|?0%=* ztv@Aa8#cT)UOa!c#hcoLpR5HBz7O5|EurX9n!%+2S>`Ii8yY+*wIAp2OtoS9xz4dGWG(e)oNe`%)U9q1 zH{0ECd+GPUj9d4;94{ZzY*0 zALFgvV>=3Vz~ZIKaaEzMFRUYw-vSh z{IqsSHUAUd7c;JzFz+`#8y<2p*s$31?61L2HkHb`ZP{>UAy4be)iZUrfcjy2~3;w>`U6uS|=|f46wzJa>l4&m~x{UR?ghN-IAg zPh;cJ$sdxO7B8GGf9KYfsRCXW=k7E&cs~Bg9UK~+d~~B}{?-`#w3Z#*ok8WQ3=>2a zS%2UyEwSBnTyqxlva|mZ_|IMcxmLDhf~Te7c8#BUVppW%ekT<<i(wBMDcY1msb6w|s;zufj zXU=q?GX2+m$ItQSUG*=CI$yM}l#h4crMBt1zPq-l9?kXIwr#0^ADf5G+8ZNi6t+ppLm}>OczDTcrx&-m#g1QE>6z*Eb+L2d z-IFH{@~yNk*H)=iDSIq&bbd|0*z=@0hwkYtye87ROYpNo!sq7mvL9pimR^}P+dp=> z+Ya4p?>Q!PJYBH%RjzeW%aWe|419+Db=tv-vGLPYjh^d$&g|8cV80rzn`3*)!{Xx! zo4?u*O|QC4Hfh;;i)IO(PU;iX(LIOMGz0E&uva;KR}r2#!QohaOxWRQx1DZVc1ZTB9IZ|CwLaCfX->`^ zi#x_W{@DC%nMr6qU#tGJAoh}0nT9p#vah{U zubWr!q14bY+JNIxQXH1BRBlEeJRAF-EzZc)v zKKVQENb(|6W3glG!Rs3?$a)={xg{{{X2Xe#+f_?S+Wj-CPrr?xx^(TkrbV~zPgrX8 z_(%9N)htcN1OFK2%=!JGBy2|6NydxIb2cWs^vZ74KCHnq$XPj5Q6VC{qKkI-u?~w|d+nnb@xQ??%GRPDdxcO$W zR3_cd)mw4WWbzd&?;FC~{aG`v>R!LebNlPmChrYL)_3$gcI3zr{j-|=_QcO0Y>MBX zc^vSS?{vo1+{_8>OJg{=D$E?b6&l3+7HaSFHT~=pTEtpnIJ@F}qnl>@MD5tJ!Kdd4*=+Pod%-KJ8im z83e;mO5I*@IwoSZPjtWlwUrOr-MjHV{Fhb7lg5G~X7Ah`7rmsk{odb~ zllEucS5$Y>)bWpSnfK?OIHeuWS1nkkqHa+lILY`OUxm%TDLN`QroJiV$vAhdDsP`v z{L1hpDMo4wOnzr+F+OZrZ@F5}Zr4?DPyUlzZ|MmOyyl8dvk6^eVZ?v3@%+={qFj@U zIzRLs>SfFfj0#yYWyRX+;z>3IwHuQ}ASJWxz}U8~T-rll-P zQX?!p&*vFfOMN&$@upq2*~6wqau!NYZtL6otq#3BZ=poS-}#kyT2;TxPPpiQ?o?Oj z?bfn`?|)t0y5RllD`r21o1>H4yQIRuZ?HUmLH_luXMv_Kr@h|Ne&Ns)y|iZ`uQ^mX z10w^t0?vQrGoEj!y;gUPTW@~9oPa~m?M&}z!|iz%$1MJZcB|(!YgcNn`fze(%+00$ zs=xkR(-pL5*&gM?RgRjB%dTt+z1=u3+dwZzG}ZOXOwFBN9|y!t+t`*g=RULJ^{uXFFIfFFr{vx4nY`EQn1$@+qp?@_zqQ`~`b_dq=IBrR@4E8u zE?KG>^J^;B)2)yM7uCjIUK~>L?RB=3z)HF4Yo!a$$-190eB;MeA2lr`?eB_+=9N)f zPEDB6qh(RCYw>oKsXXcb;$Meprqu|Wg~>)a%5_=BNL?-ss1w{Obb5NMzT(vtIl{`S zUMD=*vm5v&?@T^^ZT;;jOB}a*&Uv9Kcr$txL&}5+p8pxNo^(vtsM24za>s3Xhiz(g zPE#gt6}Nzh!!ncU-M)LKhcztR(Xgm#@-a*0(h}K? zDL$)Hqit`_lCk;uxASvw;+Dx*kG&Jv7yD<*TB}X>c603T-I-f@q2RXO+u-!K^RAx# z8+1)<`Lks%0@L!|T6oRtn=t8{|Fb~ZtH5f{{ zlc&(i^uqVmo4ZGMgk`?;-Zbayvgv}aOx9Uy`8iGQJLsuwleWvzIAFs1Sk=9YRg<4N z%01|puL)uLdZ{~E_}-q3uS%y23Q~O)?ROOXX0X5e7!$m_B8Qtzb>mlfuzKTxaR zlhM;+!B*X5I7R(e*sS|Ya({WpAKHH__fsu@eDWpk?k|V)mS<|&PiHO&x4$d8JBx4G zGiZuG1K+a^K|0<~SMk2O_I2B%6II5Cx%>(oWtuqNI6gNGx4qzN zZ}dQB=Y74;3aXJmoR%n8oPQd0$+(|A@A6mCWPzbVz5s*j!4P%QQQCtNJMg*)cHS5>@_ zcg}x?)P;LKNKd-Gy6~NKO6!XL=b^j4n67s(Wj(U~`NiwZEl0hsPK%NGm8J5I)%M^y z51TSmqiazcySZ1)X3J8)vyOu^T6f7Bo(Jj)GVdggS^leiJniSLX^*q_-G2AYGb!bX z;<3p3?{yRWJPKNqSti--*G)<6{dRU$m)5UYL5~GbpFUFepTRZvcCz!cm2K}{Wn}IJJx7P%%qN!aq%VUoE||%i|@!hKA(SScesDlq8o1v zbS_NZW~1>Uai8IYDUFlATAciKHGYxFbMI%bIxesMr0zZKcIyirzo_O!kLS8gY@g=+ zP?^~C<81U*VQ;=Q;mdNJIdZ=5cs2FYXWu=iZdP&@ZWjvLqLHE@$Dw>{zlzmu9*f_r zZr#q*jyzVtaPn{|uQYog^|Q1zkFLZ-M>w^ZCE7B`$fhdY{|oQkPQarRHaC zC0~B4C4@{y?!wTn_8=iBE38Xzspao zlqssPFO01^z1Aa<-(<^<%bi?K?TVht3Rmr~?3-u*Tkpx8l!a$)72~$d=$WeeB;koj z1Bar@JJ}6v25wnqZr64j+>M#HEiy^)au=hA!}D!-k5s=6{KZ?>_TsnI#?vy!M~=-2A&nSHxb5b-dc%;W4jl<#SoDORaoQrcCa$WIo?-YI9*$ zlvvNT`J3NgdhA_(IX82{whnJc2O);An&%VWSeFUcExflz=Y|B=6cxJ*+-}Fc+La~V z-=F_Hs@vZy&#LK;-uBmfcBgz7?0Bn=-=v_C0%Pg0@IAeD^7S{Tx#62_X|5~hf4lA# zrONzyy^Wmh=KKGqre?f#&$-NV!d&9s+KWAks#y=GGM~Iv{k!?w(a3ocbCu&xzun%o z;MViQ9tp|r)y3yd?f&Crb9no~x-{l#_hVCc=4>%z7e9G_OY*Y^t->cCpUYZN_Jl)l z?Ta9xJ^6v}D$oC&we?qj@$|L#!{5B%KUwJ|KRuqaVllf-j@_S(U#nAm zC+<$&dD{KpDHjv*{RPoc*WBkZs=tpqHLK~mSmVN2HvZ=0CcZPzF`m74{VQv9EdQ&h z#Ej*)=I{NPyC*XBsJ5!-gU|E+e*6`-KK`YLx%SyjFFC&)DXP{ES@QOdt;3pc=h?X# zzR9HTD_)cIdHI^Cg3Q~ZeKN}h4n>9hU*3z@M)y5eZC=ph`aE!wyd(pWaf4qxW zwsWs-67b_Q{_-}$H<~9`(0*@fKHr;js?o-)6}CjKbFi}$v#N`Xu2tK7`wg$2%+GVn znAa`+vhoSPZ+_zz#s}K$jd%VQXa}y*G3O0jy-wV3zDw$JX-?xszZNbCZJM%H<)Ola zK1bz=^Q$i0+sd|nUv#%P=c(F04v$pc#^#B=4apl;^Dp}K>eR8jW?y%iE^|IDHz6Z8 z^=bmoRE?>kbNJ8BdAzS;rNa8wzsE8!y_%1hf3puoL<_Vm_;+uvkZz$Xw;R+wQ9EaW83iO2^SdF{Vn&2j*95L-s+{A)N&wpYU82_c)KaJJdtG;ypm9BYuo&C$+T1@(4?ir~*$;tn_ z-^Ka+Y_8fbGG(0@ENOUxEbdU%JEVcwH+yMK>OlV8^@&itJ>BXhUN{MhN7 zshJG#w2x~Z{A9nr=W2A_E9U8(J~tn1I<4f?oRMYa6mY9%!o&s!Nz;k5imiQrddBvk%9rPU<+^V-^;_z{a*Lv$ zoRfP_h<{w1ooMTkj;)JQwtZMMHG!o}<*&a&{oAm5UxkRg>Bkqw1l(S;^ia#x-CG#= zWjFTS{dZOF^>M$XZ7Q#9m32;Z=cH)mq{p0^owNG$f^P~kPvi=ljGKFl7fw3nP#T+3 z(Q1}RM0FU+a7Xq?@5?vx$5`QZ`pm@Do@mJnp$+{V1h?F;LodD{%#I?w&-F( zsaXGp+wVC-`-2W~c6<{PGnlg^ot?|8{fy0Wi*t;uo;vGUqEEf-PyAwXuFvPtk?##w zfAr6YYanGa6y0cgJaGYm4V^a{J(B#$l=fE71x6JI8HjQgv`EA@0yF^Jva=ln> zsK};Eo$A}pvDYyEd7XIWEI<45UllQH!`07BY3StLw`6ru=&>LNxyOCgKaTMpy*S(X z;;-uDiIv+IiU-O(%{O8`k+b4grphOS-ex%l=A$Wx4fhoN2{F|Yg@v=aj`&*N;!I zVE86^V6|~@X0+VGP3O0sZ#cf(l2y;5ZITSvb8dF|8Nw54UpM}mn6dZ8+Va9p_rqc* z%0|yBsSCgPu66kf_kI?EO134l%8!ee#H@-allKmd;CZrj_5{1G4}YA$8ksGA`SiH& z;g(;v>XOmx_ivdl{7PkU-la-~CzJmc&suHIV=Z_sI(T(ZKy;eZgr({V+85(&`nSLS z)iG;*zUSr75z}5qPjXIWna{BNseFR=_vO>`Z&WR_JtL#J#6tM^RE6ctKd)b}R(sBO z^6K;Z`|E#8ZMiX__o|;jyzcMq_wGzja@ZA>`$0cye!xblnicNcg_-`V9(CSon4jRu zzOEcUGb19v2s!&5QQ+ z^EQ0?u2_^tP#>tDy~?v5`! znILV#V!NcBx%y3=^_p1U%cfCQd(%6!cB_92+1)J9_o!3P%)43B?#KK2w)?i$e!cWu zGb-oh>tyXBpG%W|@132vWQE4N@ch{l2S3ig9-7n2X4?GtnP2A7T>f>@Ei4MlpB*^= zl%enMYdhO-V%xUT8AyrTKsn>ool?R{pgdsQfVn0NiAJMNwP zR=53X6K8wz_{v=O)6=cvXDwAcS9X25zVW*0S6qG9F8O1unSIshZkSW_ov8`wvOf=~ zJZ=uz^7B((@V&W)haR8TS?Myrcn<&4=>H5|)uqclcPC%Gma>mAGn}(;*WOdLF4Jyn zDKkI4^^T1}`keKwr2*M1-`uI>7yLCfYR$2@3Z=6))51KQy4*Zix@O$^Qu0$OEA(DY zX2Gq*B`dejNp$2Bs_^sQZ@TW~)s?fiE$%tf`X*JIJMvf&+pX2DwHk;|kXIR(fE^m5bEzDVTR<&4l%~CxP zqhob}Pgeh&Q`i1w%9r?+LR-uh`dChqFZVxL{QV8{4wKCXN|g_OD7;fWL5sIUyW?S^ z*3aN$+96xtojhCqMMBn8PxMVt#GUNtS8Ati+qC#rddXt%sr6sg%4W@7z5Gs&zQvW} zw|RGL_!z!oYq>>y-h+Yy!&@7-R7bU*Jo{p;($cARwb7IA2JkLbXqhS_+_GGGyUOGJ zS$DpCUb0O$_mZ{jBbKMP^|`;+DS6!a6suY2d25L%!z3nm&Exw`vrASlyY`mj@Oic5 z?c8%(-c$u$-e_GsVaj54=50lu>Oc8A{Jm97^)kzM`Cl!0EU@&OoaW`Oi9WX+z$&72ACstD9warcTuqyuopQ ztEIZCO{xnIga7q;EazI73@Sx+&#u{0$@*^RZJ(_F3~kpwuiw6Q-kPhw4qraN%BY~K zFrV{){PJr{%U{k~9hv#mH03hy+T}4`vnDHN3D0TXldr6K@Ezml=UsDLFIf4RUKCf$ zqjuZC7`_KZ4z*v8)3@#Lf>4};RzG{2j&l%YQMYG#P} zq6z!hmxYyxG%Sw}K6UV1`C2dbpMt?!(+m@u-`NguUACw;d>HqMDPQr>w({e7(PK)kq{ZjTZ;Ywc?Z~TYV zAtBQqxZIPwwaNYc=9?Ch4COyNA2XZp)r_eSyXf&;T*xc@p_5lrmt(-2!V~Lng|8M_ zf1ssxYReK$2d2W4$Fu&fdcR_C_~l<|$`jvSO1_)-G;Vg`t+*$OH9c#c8=LQ1p6|2n ziTk!8_Nc$Vudeqem)lblEw-4oT0FYcqLQ-Goq?-2_G?|$b2^)S-)oB^sTXVJEy(Om)Vp#eJ9+J$ zMY|q&E3RbJ3h?vr^y*;v#K&m!?PDM>XF<~06}PtERkW6><_?(9evHpOU43-#>)cJ!Z*8`xXfQ3=w)UW=>`5E`1jdtZc>kK6PM@t9q!zW{M6HL0 z-cDJqNKXmnLdjzmtBc&O@3DC&)--KbR#v6vjOum!cIPcJG!>h)<9tT@qb+Z2B+l=; zcXg>3i#EGVg8b{yur=4KTHm^?Zryvjx+7}3lyz@z)U=Ctw`jA=ZmO>AbVI^3mvGUh^y5`O8B!Uc{}@c@1#Z_r|@5c1n?>sW;CnfBo zKFzW1-7~uD>H3Q=?yAr#y18uGE8QZMDAC_?9H%$lb@K4K#_1XCAb3D|hcZiH z*q`0Mw$#mWzJ5|KCg6Z~+%AT%a^aWNC-;1}v!0bTS5fiDhwx>~xN|yqINm6F2jpL7 zekv)c(0B8B-_I3G&o96A>1k@7@UL~s*$kmozDGpeU*)xH+Z|ht?Tbw=eogbJUD6a}-@xSOzF+b|^4Wx!d$UaE zKGF`4;PAVMn^L~v=&&}+EC4-F7fLxtM97CFZmX3 z&*n`p*=w2ak|_}3>^nVVs>pP&%^PFnoGc&IM{Rw4qF+Jdc@_aWzbIL9Jn?u?@Oec~iQ5OC zzYn;!wp>`n;Bh@y$bweQr#YO@Wquwl-TOFtUGSTmTV|*E9t${dl0&^`rI-2!k8}P% z=Y$Hb-|}k9y7kWDno8bzODrDE^b=~Gf3D^E4weVi-rRh?J6B7D7=)ZWGPjL)5&WvZd;hx90r#-B%x^_3GubNgH1Civ3yZo7rvU(#hpf z>&voZ%5n*gh=a@u^Z1PCZw;Sib>VaC>bvK?Ii+f!u&h1s>bA~<2Np~rB0)7DZ_ls! z5;xa(tC+`%Ek?HuCiR%yVq+?(l&^WNe)4Q+@A(Po<#t|oYYHyyzd6Hs&i!X%*Iy@D z6@}cL>=Lo|uM1B^irtrt=%`647Gg^+M7)~HmhdpPe10OIGhhD5>7X8Uu}JTW^KZ0F zaB6aMcvA6ftN30=Ft28USIaw zr|XF7XkNcxdbZb$-Qs+a=Wzz%o_PmmZ7b?{W2LLivVIj`d4T_fzf-O+yK8pIc+2)< zcY}VfVt!s@v*b;fHG{?RJ5s%`c*Vu8r_Cle7|eW$i3UCr5=pL06PD6%wlLD0L9 z)`}CylaHG&xuUmaC+o3&!E<^lR&eXY$><)PDCVr;wZ9_P(d~l2#rfjk_UHzkH*4#q zwVvyy3O?T0z<%X}*PgQDRhMR!?|3S8vsTF_X_lH~3hT}ex%8kK9fm7!)=J9;Np9Vdfb)UO44az=g&ly+3!$-Z4wFgf66+f+WQwbR}I)#yBoJo%>P$&cTK zQO~xxE#DfI8k@H*#OOedj_&(=j13h(Igi&psaS6}#bwJYy~T%oZ%&)aWb74uvNR$` zV3H93pS%06Zf#qXbGE0qCY-e+QKC3;(mG4VOmoI1nGerYWu_WlG~Z!XaoyYZ;X@sZ z+r7VfLpAU zk17a0+IeiIr1IXzb=5L@ZqXBL99~}kJKgB)ruZ$ZKb~IMv3;+}o~4_o>N#B9zzejC1+2XFJpf04tDSgQaLbYjOIcNf*q?H7AD6vW`}$_2T98DTN$};uTd$_w z-90t@hN#hHrOe>v8kw8C{53ryJP)YPdl2$_nfMBwyQw=Xw_9u7Rh@KtofT7`SLngF zE%WZwuZ`SpE4g%8=3%S537PLBH#~lsn(8-Y0;fmdNfrT)Up-gsmrcm|Hv7+s%?esI zmVP_s?2j(g;&KRh&=iDOw?3cUq#%EhC*cHNS?el|qn!Ci*i)e$*mm)~rS z71_BpZLh}`mlOSxPtC49GFrm?Nn_%jDGz3Cu3DadkTrlPkOo|f0Ez3?b^4_UYTjMb=G^WUa=U7`Fm1lc7$E)U`Vz0V>)M{ zt{^#0YRA>E)uo4hr)pW>j9GhMySH&dVDp`K=M{cDcyL|pWykd0i|%i^)zqE1 z)MLt~wQINCPMEZHeu8n|lgW*f9M(0wuswA@W7{f`lRNq@g-%+qK*mz#&(2StN?X6| zarf{(d+621{i%J^%nqEki4Zc|y7R}6pR12uG(G8OH`Qp{g?pEp_Pt_}|5f{Qoyi}k z%jeB$#kJ@{>pbkrZ4~YG}hE7qq$ts<*lRz^RL>oo?G`+$A7DHnQ}P)+w8v7 z?^iCBKd-9!e!k|}hAO$E+uQ>eY%iC5f983f zm0ryJwfTNtQ}KC z?b6wiS8{DvEcD*=;$Y6y-yTaf`i{4UZSGNxyyd?09J{5B)Rn8-!p_c!KU@BH{(4d+N2{J3{m&5k@~tn=WWLAAxxVQ?ykg6XJl{^-!DJ(UX_bl8 z{$Gt3_lAluE?gG#^jKNi+(dshW0f7=-q!b|cQEJI9dDUexnjSEmCLbBT{FeC4^P+| zP-|jxBhce`sqnw}YrAulc23xIUi;Zp*PcSaXXrETT_|jdiWlLh!Jeq~HW;@T>5%Ns*_ETobCzYSW=1%|cd+EDfk-=;WcDc_8 zGP79FY7+YV=`Bv#A9tg(`Ys+hnDF|iR?F69N5g-aN5_^NU3Qa6e9f6Div9{3Q(E3f z28H)qPYV7n?;P$n;dSb@@0Hz|vFog^{#$Z_behoCcwb1u8&suNV zlx;3=+^c&!C|Wf$+(vs2zx=iBVmH^EOU+JAblp1bdOw%Me+DP*`Blzq7u;N%r{&$Z zYtuDp>tp4WcV}(+6}wvTe#^0d%PUIrHLvV^nYi77gPrTsg6h5>zYDV*F5GTC6FgJq z6W^+0ub_qDpsUri=Kl#e_18U8f?x_U6AJpRDWuk1cIu83_} zt05ia=D+IQIlKMp`#-Jyo;HI|>9}>;oj;6$zVAc}GBc9yFI!s>G*!jD<8noKVGHB= zyzFGJu-^Cjg@wnYU*ue?IGRJ&j>$*4NatVYT*Jk6KtY*Dgp&m!2j( z|FY#@?aYYp8inr+I;kK9Irlfw9swO#aWlVef!=mZ+VgXfJ@HlZ`hUkT_F}+a>u`%SY5rK zcc;|3w_Cr>uDNr?dEzwo6O$O&El$|vDQ~|Zm-TP1kj{@jm)Wu_1@B6S-R|V_YQG}2 zbZcza=gY_6iObrG`ro>r(I2u_JDNi!b(82x$v19()^mEU2|69KH`*NC8FIz(;H%PC zRodA;C%qp0J70K3FN9%Q9H-?QyU@A?^#QK-mWp5 zwD{b;qDAX3Gw&d&x^XWr%pDM zg?C!m4f(U~s_U-(GRl3F_59|${|uX->}qIlx)d_C!GNDdps=y;c;CI`k6WhnDwl0t z$G^OE%8$~Z`SrXjvwl{b*Wx&4V0n<`yJ_Z9&wx`QBDM!tonICFE-E|3<;u$5*9U$S zoa(z2)XKEDwK~1b@mI(jtM0WaZzOr!mgc8=%)2C_qGgjkYi3~I=XC$~-!|1f{B7Nmoz_K}US2GfTFx5rO;h-%ESIo2ZdbXUZ^_rZ)T19dwES1K ziZY3mEvOE0x}3WIzPD7L@rn7xg=bH;O|tdjV-u=3e2~C1d4AQ(_^AgXuW2uMvwCTp zd$UBb$4-?T{q@V6Ue(Pn)zZE1X0G=x=mD{MT+K3!%>29Y?2^Kh-#>hKv21&8 z{_1xd$Wipn+|;Y{w^p^Ay*PckOnu2E-M*ZlpeTlvh6Q}) z;x^@WSNFWSyLd(667QKct!&Q4!CUn<1T9U}WOyuLyYcbcC|}z$siu3YEiRqfbs|Gl zb$|2MkQ@IQxHeAd`FQYo*P0i1&C>Qep3F;J-Ol^)ynnex-?zoic}}M;yx1M~yXb1( zHr=CMGj4?%UR_R`gMEHYNrRchy5{5|T6i zGh7j>G!?y2mG@rBq;2uu-%{VsOjU84wpDe*y(3e4@2u4NbKKsnobT@0iI;e#OSZ?P zWO;wRrgKwoTSU*D(3QSh=H9mq3}9I?rSW!;oL|M3sKXKr8D>$Aw%%Fs%5#g}{&AF_ z=T-9dZewW`Q&`K4x9xIKzg6V_cKj>#dL8}ct^Uf?d%1k?`-`{=9hbb*)mWX>)IK4E zlk3+HrR`FyuqZe=G+IwkNTd;Y!DeF6jFVQ(m zb5e>fDy+7&P;toz}S>o>n$?q{<_yiKyNz1t(|dP~#72}0{7e<5_!w+aedaXRGyig+f~KqFIj#_U=LnAdO6NPa9cbNA=O3b8bSKPT^V>Oh z<{P0}t0ujF*mk#Mh8V9*Lg-1o=Uy7Lzqfj|WFe=^rskKdya!Y_)tm8o+CAYH zt@mjxT4LY#$oJ^E+f^mp=0UgLNR>yZnoUo-8CS$Lr(|KGs0M zeO<3Z?glE|`eGiFrtPr0>QJ<$1*h%rPxW3KztrCJj=t7i&EwuHdNuc;_ASmk?)63W z-`0h{?D^}QJL8q~<~vi=O>WK7=vzNSsBGTd4omiJmT!Yk>n*=(=6QLt*wy0P?;%Te zNOvvgE8Ov%;qT|~Yv)?e`Oz+1dhF3hSKj2KYCV^3-9I01y6Uy)luTP+yVO%o`b{sk z?&;)aRNd}*lGUck^1wHl!mftsb<=lCZ@ayuVp7uK;G>12o0Ic$4@S5rxSuiZubTLZ zHU8_=OE#Il7N;|di)NLo>gBSty2!b!sPLrE`Sxt>>Ek|=OD?ZHvN!fZe`M1N-A(=9 zg9<-Qp66YA@R&{6s&h;8ik|gLU$H_bV-Qnqpw<@ONyQvI_!C7{ELU{ zOLx&15gFd?ulP=DO1Hm`keYP9?6UasobNljyLI;!)N5U;)>Z#8sqmouGv2IaUJ6?# z)CH}pe;M^N;?0q{*CU-n**SaC4js^aa(dRiay^X|^YgNvZO>TtrmD*H?@oK6H#HXR z*A`4!$tBam^X(Y_+54b>Di?E@Q@t_}a49%a8lkX)n8Tr7!-C)9vK#yA`?8 zv+u1lo80H{U9@@m7v5QM9b27d=I)Gq_c1y+f0d&D3ctrcPqK2KXDL?@U|ehNW-7bt ze%{T3sV~}Yv2IPaG~KnUG)X1=&aEXn8a2E9x9`oHbKnuz&)sS@xjNFqU-tKRt+ZO3 zyp>JnhIIzv`>(TFv7$!-E z-C3F?XB=&}BYXa>S%)7-+?pR|WnTP5$o>RZ=Uc(lkTTg^WC&YGMkp`SafE?rc<8d$5i-D&c~Q=YdcwzPa#TYN27an+ky z^54!LQ~9Cm6&W;X+XtaZ2Ikd54Db7Xtn7*FeHHP`>i(*ScV{GJAFxpLVBNY<-P&N| zoVCs}0*3Sa*|sr$nzqHfaDUh1yR6)5Ge1Xcb1s{ZKfU<${Q0Y9Mq4cuy1i6Tl=JTk zd*g%kGgZot=IV+?Zr;MO`s&52x1ZKzPUT(0v~AL+De{5pEO`ekPAD_{)ta>H%jf9m zcdWms&h^{0Nv86d$n;A+^FsEvytR2gC-iOAu2b2L7Tt4JCjX=-;9vv!zG zS)lmk9k=HxvnIDUGIRKsro8eszrz1!|1mvbzF$7Se3lvszuLxm{FDfr@#F@(oFD6@ z6%=-;T-oHVoK!bI`(JnLMT>1_H+Dwn^&S#jzCzFIhx@9A2}=~F%wsrLc)!r{34>Pq z)ygE-Yq49G2XhKtnY6@aDod(+#;<49E z9owCm5mmj!W4EPL{F>d}UK2tV1x;z07kWI&&r*4kmh|4YtPRX(bC?sF+&2|HH+Xfs zc+=IWlDqeAFUk3}v`BiAtk=ET1$Gs$xx(%~wrOIpe0*EB^KPWo)QU}P&tmdkMP1qQ zpJ9`>L=fYt9mik3KVLQN#f~!B^wc1|%Tkk$FWs2yGV`!P-|@u9cE$JK9u5BW+~cN+ z+D@;iT~@1uUj$zaTOhVY*WxGtjwcC!3m>a#9ka9ee0)XtZ+jC_Q#Y=I>9P#UiTiEy z^A~OX&mdgY?jQ3@xiofBNhY6HO#RFybJj9`5uV(4Q?91#x&7g*^S`|hei&WrvF2B= zRc-hMF~OGaoGN+YJ++=6<94+@RZE+{zb5FP?DE^0*Dh|(C_L~vfx)I`RnX?=`LFEk z`Gwbt?OW!yEAC!!!9&+Nr)`T1BfU5|6=`~<<|daa1L9)MWR|G z`!+YH(t$glcWQ5$yZgmmPASucKQ}JW%w*M7W%b*A%zUMWq{`!cHnmz^`?D5WJ=gm4 z=jx`;NkQV0TeVf0IXxt8KQR2NW%c_qg;#gw{;aIoUpQXR)J@D=dEI=aOroaSyMqdh z$E-uVK3-mV$*Qt?=WV5>Uk~q|Il=#VnM;Urb|<^dgC`A+mN}1ABiB#eXKBnmS7giA zklxmxjz-aQ*VOFUSI1R*$vY;#YkC>C+>(`gUJ>C6qH9)XsNc4b&pNZyGOK!};JWWO z0~Q|JyfAOWm-b67zt*X2o50m^{#01uJN8SfY?ZHEjr{Wa!i;F^m_JABXIi|ooBB{Y zF8X=K?@RAK&Y2`1&88*v?*57OGvkv)|7u-1c5#xGt}RRDs~Oj4GnLv^)rxM}x9!FA zcU;?!^;b;VI%&#|(;S-ifm55mz74t7d*yS9^D2(}8}c(}a=8V3a+myew@1jj`JgCo zcYW8_KQ*$OYz%%YPKb}{$eAjCFMVI(ztHqAUhn@--xvFKyQWXO$^x0PmHp5Eecxiu%cOD4UUWWMFrY+Vbkkfm}3 zj&C0y4SDuzszKAc(4Lm2bqxO*KAtVr+jp@zKiu`s^OwiAide2SpD-`va3kZUiLI>t zC+8k!o>v_*eaT++%T<0->H8Df^tmm+$_CcvEI;HJsGz;ii{V`1IpeUbq{o6Y-fX#H zr}}r!^^Sw@qfh(pTN)(B{q)-RB@x{@n`4%*-0?EivsdtV!II_7){e(>uKl}PbG>7W zv`egYJ!hiJ%FTHtEZXNh{jZx|E?If_1cPqOgpKd@UgfQN%fD9lW6ABnXZwQwr0q)* zS!40gGVoXNyvJK3!@i%HA^2pas_L~#n@3RDFJz!yB&9irGviv4`;nyVL?Yh=Q+YO#C zd9z~Orq<`uAxkFk)s(MV?|Acl!McwN|1+d7Jzm=GP!;`Bk;6f`(5wH{I_un%_UHCw zTzm3nNp(YJcJ#{UuS<)9rmPoV=@ry5)#KjzxA{lbaNN-HF}m@y@o}>2ecPROc7K1a z-nCMe>H1s!BeK7;EY^L3wK=?4|Z{0k>tH%&ZNmd zr|`)+*vA#wPLDNY3l?5zXr|qG5F`FirdPhL?4A4JkzlWC#{Qpe?Qd+k zns^x#pX^=f6|T12D`<-As;lQu_bykn=g`=5i)mln?;`W$e=%1>SAF%-ek8Raa-p?e z$hBH|Pfga;*pm_#2i{LUz&uau)rxal_uMq`offxrB5T8^4)=Gny<%#!Y*bdu`%J1` zedpm?^P3enVpZ0j-23Ho$YNR1Ym?pzEju+^NagJQT}`4pcCokWs%LqAyir6>mDOv{eOCLC`)`hVq_g0SpzT!&{Ij_^B~NwrE1%PvQ{*5cBkmsV+BIWI?*r-H zQt6V*@7B&WT_?E0s#ENCMrJ%;+uV>vLKZp9TUNi`vxI-=ud6dd(;xn4@chHO_;<45 zp_SK{F}x z$+Fo!vd&$fmh>LZw5#r4uC}PGuJ3iOY;E4lyqSETj^zB(%#EA9Q(00Y{*?8+Q)=sX z-~DzrCBw38=g~F}Ew9)DRt>)2!FT>OZN26jEcfA4FzZs0Den(=YH0d56`!!(ar|}Q zHnW}AnFCjC`*reB*Eto_L-*$Dt+e%BDVdsk?=+wD6~Vc;HCb}CnI*K?H(heGF5c|y+@xr6aPZC|yp1Q7&?cK_C>t1oY^vWEWX(X)V?r z?;hWm{5R)gsNSTj#W}w=_-uBqy?TN(VM|chcF%xAL2Q0+z8#EY65258ufh)Zo9Ysf>9}#WCZ@rr{;mOm`hzHFu}wN6jeZDI1mCxMl}3TX;yY zEH8L&leS=zQ=Ama@G64*Qti zv2GQ++&pR1BEth8=T%p(_FGmz>)H{MTc>BQ|K%T?nI5uw>E4rNY4f#Wc0AG9#rf0g zSP@&{oCYI*+f{EbPQLcEOEdJO@jZ<@&sXf9Dev>xLjKXoU$Z93x$!!`-=&#|S>3`+Nuisauj7;q zo*%HeJzGr7^2^C58bXH6^Zp3Vx$1nO<5sfI$;lK;)|2v^a*S4t0J(QkOHqZK# z`;9qgSF#3KMm+G0tNL_YIN-I0@3GA3du=%XGiWF)|Gi=NoGVcIm~g25qo~8nli8GR zD|c6)VcFEOeM0j*|5Np6l9p`PntV$;_@3mh!-1vG=T>r-MtgEc28Hoko~x-m@iA)K zx^4Fs#OUeYzsa@Dtz%nHEB{Qr)zY=56`IE$-$`z=TqDmNb6Rly-N>cuXK`-cdc^G4 zjd!BSY5R6vHe7IwPpvq9x97X5>aXgW|LphL`8e}$^s+g<#=hRZ{}~=9wa+QjJ0c>= z_(v;TQ{jo+k8_26*?&bBJh`8ncwN3OdbC z8?yyWVJ&O@80SBd{XCz&!TNL8#=EVnzX}U%os*F`J(~I91D%Jdo16Ct6*jpi_cYE| z2y1d{p1kz^gv)9#R3k;!*epB7?G^BpMW(OzZ@bN-b=B5y44JGsDvwJX$ek`57P3CU zfBydY`|Fh+rxnlLbZXDTXBvwe${Vh)Um4;aEO~AEi^2!-TULo3St=-bz1d;YChI27 zAb!b@b1I)L+-}z#Cvo}xxvC_mOQ)t?@M`od;907!kgVSG{QS${_eXiJ{ayAxZ1$NH z-4l6=fj0u!lk@6QS>;(C2;Npym+f5j?dFxad9%GQsj2QP+vJ?rvP5CIM;nMFmyebE{jXH!%AB*}=&bW*1j2b>+*etMY-))j8L1IcuK!Ytdb@WZuaS_UpT* zN5A#6FHF15rFv5^dCBxSybVh=CRA(GJ4U*D9lCw*!HU<0GapYeS93RC_n*OjMPE@1m9#tiN>civKS@i>+pl z9&c&ja`+jvX5#sx>c@?Nx$&C5SEDVNs)-?PJ`Qb zLac?>q)dE2YyGaJYC5~WUecP;bY=z5mL2C?>b};fW_bp%Jn22jy#4c87t{A4@5SFZ zZr$^CACsHdvMWKapPy7I^Z()g`i`{p_S8CrhV+l#K7{tH?wE?um<)HhD$ z*T=hGnKm#lJiAkN5A($HT`RW!J@wS6xKQTn>@;cNh^KtS!7JHwP<&m#6-^U!1?3GN>)SmEATls#Lqw@WE zmEYI8te@twd+n9gCMH`-rrtj`?QEvf?^3C}E!SS^N9*bz5qP@j!2<4?`I@{kMHP?d z6o<*w=IT9Py4Gx_(L6=wE7NyYe&wo8nUnINKKR+zZFiMRl2;qN5kJ{w_EX2A)jKoN z>y|PDQ?=|-8^ME;2am=?#V^|xxZ?gMy|Cq~Ra`+cYOja2u2+BN_eA6g^EsQ8t5H>z zMY|qdzni~tPF#DZK=04fzQ?@m%K99YHH1H&wis15h2}G^TI+Uw_Wq_uzXy0 z$f!c{m(1tKyRQ9bSW|9TH0M*!#|be%L@YOM**1CiGiK?l&(+m!HyCLB-uCLIn04#L zWx4BegI8r43A74a5-MA$e4CTe!tUPHv$M84-~aMuCGYW6zN1kaZUt&C-8E&7NNdaL z*FF7t4sV06y1Wy}_PUx7deLm>=Tip@i%f3E*6g`5f7zS6>t-Fkdg)w^u+ECLS*3>r zrgi@5R-U|D;<(-4R?n@^{Yyjt3f}EEvOV-(E^77P3d-olYYJL&j zb64x~#dU>G9BQ94U0S-FGpew$waliq%(U=}f2d>T`>x$y8qNoHzfzw+=kuRcSzckA zWcr@1Oulhvt3=0&9=-<*a{IERul(gNv(?<0)%}Qf-^)B5V>LyOz-qmPjCT(_VBUSK z_{*x@i$4V0M=V`B?NG4f)jyA$8*hI-XZLKq{*k(!Ngo%k3sACZt@<}9#PHmaJ*~`N zp77Pb4srKtDb3ol$gx0l!`&S%uRoTn$(xe;H3tJU-t1j8qF6YU@#CVJI&B7;gwMV1o%I`huEwse1 z)Ly_(XuG8%Lwbgt<*(v+Ext1zTCX2HJa*lLyVy4Wm(ISGU&?*6%G6?Wx9zxC%JiS1 zLe^8m`Sl6)D;^J4^!&MT&O>EZ$CpK~b1rR6IkMX^&*sJL*-^G8lVsSrJnie1)^`Lg zK9i{LUdpHHAV1aNv9g85THWWaFQbnhxua+1vHp~b=+34|&n%=rxV>YLH>-HOHRXE5 zT~}@H+tX8>zHa-yq*Qm&ozFh1GdHBDx*lr^3cIxlMTlBN1IPwE*IR@-EGXA)O*~y@cEAI zU3swLCYwP=gl`rQXFZ+^E~H#kQB-}kFu zt_YoC_G`xPZV#_WZf5+5oexG{w5H zr+{7I``Y?&)2zEy*4wg|9#L)0YGXLjxbf% z>^%PW_Z4f0FB1!M&Y7-Sx6UW}XF#vuQN?W{HLX3Ob69>b$b4A$Rrit<+sS3Ae`4Iz zJS$k)t|}f_?{E8oLFRGKoLN)*BpH-L-Im$^nr_**JAb*Z&9U@ z$t3g@&k2$Ka8<-~vAVbJl(j!!`91#Q=_T0zDm40){=C zOTB`oxGdFlA%Y4uf7I?Ty{;wi!!_?~?d202Pv;3ttvFxMe1C(zPgNUVL!fSyPS^M@-8WwJN4i{Q6~P^XN%`Q{FHnvc(u5! zrfq~#tw+}}2YnMyuYE^YAOBN~E#>_7hc7Gny-RVwUVZT^(emiyD6A;S9ST?bGpA)7$$Yx8%uu2|2g&np9|ADVnNSIL^F zWEkYU=2vwX~zl-DQ7SBA|^LRu9egM^s}#6x#?a! zv{ZEM5!Q*l54D4w_U+;O_jA>1w=WlB64d@PtnZnz=G4Ld46oC9GEW*_%CrieJ2Jt2 z@|?!vsO$MHXQE>wIvXxU-fEm%N5oG$&3j{4!(H%4Y^kyed6Qo-2Q9 znKX}G;lU@nt)(kkmaKGPVDq$X&63(v6Z2EYRl_;3LC3zSdafyKLrYo<0%j9}4PrdnMrSHNoz3Ws`7A7=J z<=@EMudKA{b=a0oH%*!zo^%S;RM_(FfygAoCeKe&OtHm$1Tcf+*i&#|qGRPD_@ zqn@6~%+qlr3iTi6AwSDRRb?C8EL>=$(Q{q;QWr6ymF=ZR?;-_O5Xh>|a{c7GO{p&8)Q!ijTlKY%c`#I`%b(j^a^}Z&TYIJw^V_x4XE=IYSm0K8;&<}| z_a?37R#!4>{Z~lrTwwA2sMQjIeS%Z-{P-sbxqn)@c%yc7@Z6@urN-C7o$dYZ*a;rx zG~0f=@Y(^*uflWq_-#HP-<8$)YVWVNR-d&p+ODq7yEf&PCs$1a+q)uu`O7j_-n(b7 zuD$o4p=@TUcazYC7S`N{$Au?P{Kh5opP_5Pu743%f6XztnH#v6FW$>f%3Vd}cirBT zzphWdyLNYMYBKL>ojaDwXFN7sPrjO15_EK>DetAnO!xP$m^70qWNK4X4!h7J&&SU! z-5HANnpL8>JFn!L7^~g+b3(99V8=Q3$vrC9CWW;+kfM-e{843UkSz5=JC(X zVrMT`;i*~7-2XaEwoC-ARuTQ$$=CdA~H*LwQ+Gn8$cUSkX%)S*{s$z1;ol!C3 z9h(KS<#U;9w+^(ekvevC`PUfteXKtf`P?$L&3Km=c4dXgg-e7c&$slD{^#t+6{Z9j&bdUtW@ucbp z6Yn$6ySqudJo8f2L~#rIE$@Bw?z3LlqS$-;&aI*eMFtZm7#UTZ_;u}?_W7HUo%v}( zeFy(Nox7BE&4Vf54obfL&k$##|FziPW!KK!Sx26DIJa&!>o_N>>L6#A((~=O+~XZ5 z#Z&8fVvjKF++|fBYOSNAr@TP@aqblEk4tlR?oGJ-z2jtI*z4-|YH61WrdqyiyHX#r z((*rp__Y<1R?F_a7MvmWpTTq4EzUxXf`+aAkA8puS9)Qt_p1Ih3&_AhEZ?1Fa70OHhI*Dy?+ z$7%84_0uNHbJ^=QwTrAiG(*8~_T2scrt4pXt-E~ftf8XnN{+&pSwSZvEDi-R9RK{U zG%;gtdZzPq%gL(0vh-Hwq}tC(c~JP}XmM@BjkkV#**x!EY3{roPA4Id_NY#7nSML31 zaBaVS`f1zG`fkIFzaO}~yAoPfEI;PSe*WjIYhTvRG$`p?v+sD~kt5N%2Xe2oIhG#n zz3o?TkYDhiUj9YST<6QuadRf8`&8FhzL@ktXxaH&zq{f*pIR^|%dqrcpEEhZ_mbKC zKlcAl_{_UvcJk}r5c92`ac>VldHY;G|9OO&QIyb%;rrQIjGZQ~r_&q7Y^ zJ8Zrk4L`ndyy9!9 z>Mty3S?W2JyPV@r@y{Kq>iZk-_i4WqTebD2#^kl@PJK-^dL~)Ac_(+y<9xdZ<-fX~ z$IXAmn_aj2q-*P>B#Q}$J949?9o01tyjy(m0aM|uc_&})o+LNp?Cod{p`<0^K}zqP zI=w=I>rH1~SCZhk($|HYKMTiM@6U%V11uzg0$ zLzmVCqHM)mTD4^-&oio-_&#XM*EpHgZ+C85w&-YL;_+*-r=oL}pIO>@oM7Im&a~Hx zHE;XPlCLL@&3PQRk@b0q5GS*>8(+m!_nnr3&lbtXraMR8=~TNbYb?^TvR$%|+4s51 zk~uu{UOj&s>92g_&;z~2hcz=_X-SLp=}Nu+%vH@C{pEhpePPAdB2%XBoAyu7*~8l_ zXkWdqw zr>t+;zPL~|_eqOT-A$E`=QsYk9+P>qSMA=FWXqE)G8vV;j)l1A&uQ$vAOG7_^T&FY zJsI00HfLncIq386qg4O>kE{6%%kf1&5Z zcYK?%>t2a8?==_ew2v>Q&tQ4}qmiMn^8N8E>86#h_Id@U?Yf<(RS?I#I+x``@cF0y z$_#z?3>;TYd!4%d&hsq{5kYh0HYhC3V2wAc`2GF)`>-`{4@L#NIHCCHo|g3$ZPytY zC)eM;JKroP#cZcgOhL}ASf|1*Jd9I$`2Ib4w9r=jiqMvQ>(f57@@PftT1e_`6BAm> zlgIG$plMC1*UM%989q1%I$Rc8@o|xktNRhwnsY2Ca~|+3pQ|`;Q@N`9!`EdGU#(kg zo;6?g`r{evb}ZSpXx@#3Dn;yee?P{DzWGr2W@*C5`d?Bj%-oF9_Pk3-)gpGfBzQ$ZQLqR3W3Ovij|x)s-2qmi1i`yz=+H-Q|44Z_|IT-t?8hZN_O;xwU^|~onB3d zaXg%rQ~7M4OxDugbKB2{etnh@Q5#}dsJmi^&V|?4-!6KQHz_XHbFcSQsiIj;b6+G( zV$gjeBWGz-`ETaxw&R6aFY|r2iSFFARYjxnpz>es$t68Ienqw#o2r#$&fn9k$ia|z z{7m!YDNvX-y zb;6U}l`8ws{t4?|SFpgRGdG3RxV$vm$5P=fZv$gMJiDgK;=VtVtYtp$Jsc=DD|T<5 z^+!Js@1Rr1e{X0_S#JN4!QyP`zIB(w-g>hNKKs>cb!oey;u>}-n{<{Yg91jmx(9+@ zUyT`y;@qO z9qQV;*n3s(cNz7p4JU)E9p2Bnb@*D}>*=;6IynQx% zq1F6^#>?)r>P%0j3K@7wJIXY^+rMy4_VwVm+ii6YvG!hg6jRxs54Qu4-|4v;&m0#YdpYoZQ#40upp&i0HZHdi#z^%^3)pY(XIn0| z*H_MLc7Ne?>#LPVrcPOT!BfsrPTSzlp@$(gbJ$brmSof%TD|M{(volUcSfp3=$_c_ zReeqG7sFC6&KttV3asZHo-^m0Xy>KZJ)Gg8wkzda+Gcoqq-NgfdE6BIy_S4 zUxS79)}9RA80eI^a^aMfF)N*A{@gq+agw1rRQGp@=FLgbTh<HlXfOtbel`j{69ManKcglY5C9a^07?W%*S<@!w)g%Xk=SQ(N;zf9Ujt(`S1pdq<8f-Ay2c>3 z<^#jquWu)@?>E(5&k?ZD(P<)=O2vu5J4-g*a8SSVXs>+biZ{C7?>hUMOD zou_T9OkUo`-kGe^?`laGy^`(JZMpSCGCT10>$a&cjL$!d+HvAPL%YhgSE7&1kGQox z`L^Ul{lAI_h38G- zl(nalgmqW+t0*u>->h$McDw(&(w;Gu;hOW4ZBv$NyO1#A;PveM5z)O>-mA>^#^?H7 z*7TU%BQQU5DepbQCbK8Cq4U08DvkQ5yyfHGFK=JwEH~2itBH7jia{~?r|kVt*ZwnX zHf@?MkWjzt-^)+-d#41Oy$Swp@=b5sjOiAuxRQc3DmTyPV(9<8X4k5Ep74*w7qqrm z1i!u&7o5O+GBahZ%D<(Vzg0rlM!oUsxfptq@n7(#r=KD>-kil1G_}8IuGC%LqNRJ< zX8B77ZJboizthw;Wsm+D_qmzVbL+e$eoPa&_sA`HM}oHGbGDVQ?=D`oaLbLv=$?)f zk%H*RHXzS6@D<_*pjb%Tceqg9}5WT%HGRS~>HD?!U+458wZ~%bDt;c`V6A z>*P5PuAp|wUt!lB>g3>rC+~<_?%mC|8~-yz3$aPQq3C=^Da9T zGsRtD$NEPsa+S<4=VgVmxh;DYy~c0z?bg1_FQ#X4a=(dHnncukZA4YC?UtD zWmUG%pxElwJAGTz=vj%~8ZvLQ|E&&QXmZ*r>X^bZr>7?i5@a>N#%wG3+8d24cV)CA^!I7Gdqg& z`#0xpH=DHJ#^KZ4cNqMNgxKy?|E@eSq#lh!aESarvI=ii45q8Eqy z@)`(u6k9O4Uw^R4#NBPnwQ0M}3$s#>72PbbIHa;;?uvkOoSe*sk|*96pVQiL{jb{I z=s9yruI#^M_ALB02dCE8+bk(PWr55R2k*G|eBU;AuW4RY@UMwS7P-}WycH^ZIq$ZA zPcr*CSND=BvzPw8J#$-((2?}JDi#~}toZ%??fmtosaGC8Iv3SZ=&5-pR&M&wwe}9; zdcyg~_1A8HqN8!#Qq#f1Qp>O2e1Gx*d9RhrOJ!Gnw_bBI?0Z0}XW^Bc01H-^mI<|O z?6Y=moz~l&e`#}!c=_zzs;uWjr+cSf<(bsO&#qGZ<=M`4sh_Uh4w7`;XWdo6AX`v# z;@~^GuR-Pe=4_qVdLePjmmix|SFM^5_t;n;wP-rd)oi4df277 zfMeXb&F73PJ>I^J`_?yWZ*9oU$;%cU&&vF|bjHR@lY%C!pD}rkO11FhCw~+Es?A*U zWn0&bPddRD*`7RKb8DZ(6tf8o_dNd0-hZ^Gf#cULp9sBjzPVl9^Ig!Wzp5zzr4_4r-)dgTxmnut zbmQ`*#nn6lF<#&1u5{FV)AKLq+W{G-tZx_1E52*2H zefXA}UG!q(ys1|{XBD&OymP70$dB4GZ+1vne%@^^mHoQgmh3saI=_e`P%FTbVUmM% z$9db|A=wc=m%@DQ?r7^&oa%aQH@nAVl3i-LO}WbC`}fv}StqN^U->@L_K%v- zQ(has)hl@VzJJ)SH!bw;eiz>zCu3%J-E+zLvpb||!Ti$V{|uLG9;=!rM&#bV;s4Kc z`Hh&>)e2gX!7&^5$i;X>^;cpFNK@oSLYWts{G#!&jtXQ@Na< z`Gb!q>=(X`zyDTzhHm`YQ#;nW`IK%6yQzN7{~5dN&tv@CP2m(Zp=1uedFKnePs;Y-EWI8re%1?-Vcs`m*<-6w=blVktUe4E!h_2|Hn|U_gv^|H$ zXWa@t)qMVQ!BbNz-_<+zrC(V0af^-1&Ae>YH!TaVs6PoZeEZ-(!?jg&6|b;lW*SH5 z=IGbe-zz(4$x>VYGEg>i<$I||Pp(v_Wb(I7S-f}i7U90zo7lI{SK7u`9dVcG>5P+E zOL&XdSj}ykocTBWZ_m}D3%Ad%X%E|WWs_H|Q>S9gocYQ3CuAp_TbjK>s`*>&ErZEv zEIW&CeP7nlBQzzYc&Y|t%jcdsJt-mA-t?zvPjW9}KQ%wh@e;Gbdd0<+OEHt6nKBJ^D*mzN5OTA-biogte0~A zYg*s0`lIlhn$6a=iAx!8YKIj}UEXKYlTg0u(E`aH-{&hnN2fmwGUw0DX_&L@+@~9Y z+o!)wS}-fKGx(iB(z>d(13(9n&84c3t-7=(g6H z;7{}H_Z8bLU}4;<%sz4Q=UUdRtzUb4^;hZ&ncSWz|E2v1+x#gqo^kJ|KRxk4aNeKC z^Vh_kUHerf*6z>pymd;->;AoMS-PoJ=F{Y350B6J&tTR0)v;w$Y|YeHHGG~oPIXB$ zINCm5*S@rC>Pudhr~gEr&+t-MW}UZ{(e;AJ^)aA*OsjDHDCC2XHDgjxFtL0-+b$CeS%rh(dF?| zh2I~Xs^@7Pe6?=%WM<#vp({VMS{J%_@-2+ebUUj5^po)xp1&UNn*-i0c_nRSvUJ*Y z(H%i5eih;;^R+X#^i1Gy^1C=c=PyUW`t>HFI~h{f-MuPXwrBBw2CjA64mUiSbV{VD z(rMD?l>ZD9SM2vRl{u@wn)eX*d!yGA=cG(KXC&I({N+KtLQUxR>)K*dx7X5MNgs7ISX45M@!oC#u+vG|7 zdVaLlpQ$iCWwpnZp8pIlvX;7wl!_J}`<%9;p++z4eYj=WwOJF+M6aK!x_8}b)~kP( zeC~OCet*`rENy{}_ZLgE9zEUTK4rq~)A>mg_P<+wyyyA*UnlIh70&swvpfI7ynre0 zF(oak%IcQP`>XDJdF>c)dTrkHk}aFsCve!i#OMhKfuD{3HlWXxdddH$nExef5ql%4-EbY&h%{z*p72 z;ZE<#3l<(Y@UF=I)PkAovh&1F^VbBOkyPC9d(B&wWs{exbvkmliSQkG;oW#9 zLGT^>*2>5`JL6Ptms~Lqn6lrHXG8b_?m|a}No<9aBYvej-(P1g@$F@w+SQL7e2cHM ztXZ(4_qO}Z7$JW7sFxhII+wR`Kbx`Z)`LbV?VfhAFHOru9s~rG#w4s*eIt1rgY4Fi z0eg1rc(d!)yDPyQv$@S>4jtV1B|KzfZqi-r5C><8@D)*sc_Jy3Tb?Ypv$Qx?U3gCR zvu|dtX`zqze}>>$o{5QGU3Y|*JG>KG)Vi9bzrc9nF^kpbgKEm(aNgf+{Bd5>UYYW{ z{qpho>$E#fYqEQ+j~h5=9|QnHrs96UQPD-@@cy1wXN&(Wv5gx?Z`U5 z=AFTN@r=S{M@zOjRx)TND#+x$GrrvzcHMvObcL9E6BYfpe`Ms^g(qF~~Ue@>i&%kf;pJCCWCI8N+tMt^|W_$m7 z)_PI5qGV==Z8!Ra-@HkUo?mYFU6yNNX!eih-OKFy{x+QQo~*Y{m4o?*z*JUI`74aS z=4ah5jgB#2^w1$N)w?Krl~d?;MMh=ye|c^;<=+mjGX1kUY-JJOlJ3H3SK2&`l22HR zFr4(v`FP;a2DW;`HTS-4$qMy~%1o~~aXI_epT?)9nwN{7I9y)y@}ya@=FOL0QTeT^ znZNpFH&5!F0r%u`K{d4_U4s6 zUzX~wnDLJ-Xzh~P?<)NpnA9+Fxu2^NAxM@8ns8jCg z(S^$Y8P3{iJzG^A(pdDzCGyey8LrOmT*}N@A@5~si{H;z?ujYgeYASYmJMGr%l{tx z&yXr?THF;hWvvv!i(jTJ71ZSBQ2SI&*;3ak?U(m1p9s$OE1WX1$$o0prM)c8 z1>Li(^cBwvU+cUTm%N(Cv+zWumUPILxo34go^v?x_UG%RujlR;4qN`_)~SoD-##!| z-sBkN{#S;-s~>Nd-jRn=edxxb7J&p5EUi^p~U zx!cx%&i?tSq4;jnxo)kR9TyaB&9dJf?>ohHr!bw<%e~0AczfX1M_V_)+i-Y3|FVa6 zUNK&tMj}Q+TbY{}KNudXe7^1aYIEcAZQh+`PPZzz&vowk&rr-IZTQaO_HUrgG)t2*B?uD!AL8+)|3-)Eae@1*(n zKRXrsqh`aYE9H{mw`aGWHeuguu`$GH!uCUsTE`n&rp&uDmHCh91=EF>#kA8pF22}$ zTe|YZhS||AtGPvHA#^Eus>S3X6xIR;Ide|Kr^zaRlN$8(0ae}+$+wB>&3xh1Zvy&KtVN>!gP z$+K2ku8?=WRC}NBod@3-CI)WxD?X51r(N@hO=4xds>?N-Oy+_K7hr_H1V zM#5htm_^kxk67J`$<2%sF%p?PA?x>@*i}y#CM0aVZu+${Q1`F*{zb*EJo~1_=gK^M z{BpUvol$wcau8qVSIg_nQF%oI+mv&%tQ-Cu+_YfA%D?@>HI}Kjm}t z1j}iJTHP!#7%E%@po;ZKB=(3vaK~Ke2h1Lbt zx{(L{EG-VT%f3qYxG{&(dX+)o*=XS<$(%fQLpfjZbZnb>IkvQL9ly>ht4WSQq7Cdn zQ=0!XY|X0Q9vn4SKIHsdt;Z{b+!wxD&XGU4hq0&0hJo?qYU5Sc-g4Jp>YQ$PY+~iD z={!&P?=wy8T_^nWn8lNik5=xRx7O^eU-#-DJ0%z8UFOn3{JBSpZ^+qwjoa9#msz+W zy6^lIcNrryjn5vA_ipFzeEMLiRNLECrM?%Z=V!(kyfUBWJl{z8tNh__ALmskZU0sG zz3P(Kb>Y0O*Au7N8U)-dX80!OSGPawQ_r2-XO5@unj$XqexpKxb;{58k(1O`+3vl; z&%?_1*Vs_|Q ztUVhorKo3hpGDXEgilpt$?7Q-d7f< zrk*eIw0O4lqCzRt(`<9;?4^Oq3*H`XFPdci*3VtEe_2&r>C#=kw`$+jq*{0eH7Djy zeefhVkmbRHc{NvWF3~?d;ormJ5|K5_g?{nCg``OE`;HZ-^oAP|coo#;&3{Nt;X!mb#jUFt-=uLVlMXXU*tgHy8t*o!t#a4UWvwyopZ^>0$! z{By5emb-CE;NP2vAGa_~m5~c=ZtkCBOtIDL>??swmStUhU1Jo(s4#z~{q#8x zV>iE#r*%S+ zd5GTzR~E}(e#gu;VQ z=KagIVq4g)YB*)Nl;?z3v%M3ZENNOef4$~6nc}c`!D^kSOP8$`x%^S_!rPy}R!J}0 z^)7d}->LTeZJw2dlcwx(DP3{=xy%HEIrA)6x4Z6DvYXte-@onhchR*Gxskf8-z1N5 z%A|ZdSKT#z&uRS)kM+!^Zh7SuHpwDDncco>{Z_siz020>-(rBxP3zNqzeHLCa^J_yZ6Ipc~AJYwoBr=eqIZAo!0c)Fm=tG z=P$b^W}Fb$Ub`(v;fZ$atf(`Y+5y4qP8Qlc-O@ajaYyk4%Xc1YUc0~5n-z2I@WpFy zw|?g?oL{Ms@3m8g`B3}UqfRGgYx19-QW72Y#?Pzfqv^vZbKmaRwk!MJ>A=dXzcxF? zTwMB&BeUbEWk^fQ&esciWOqtPoX<&beDIlVs^YQf?Nhe0KK0$PB$scwjRx1&s+DCI z!*3V!E?sE#pFxuKT2%g=Cbpoh=_d{zuVe38RkCjWm0kb7{GRqBvtLXpBy4LQZxj3P zEqq0b@5}BzablGzZ^=|k#~r`)y18aa`N;TuE4Wj6>*lWPo%>(sioe~ybbD_iQ{Cb% zF$)}Y)+m@8rf%8iR!In6I(HvyY?%j zr!7_gyHKd0N1jn7o#op>*^lQ<_ic{bs=|?RS$m5|T1{(Pz~vPhUO^KWo^N9-o;Y9P zyyzS!r^iRM_Ex|6k@GFA^8V-2%#6Rnsh8gGRTDqrG38U4mdn&u{rvB43=Flc8S7Ux z=U!Q#`F%#B+3G{wpKMc7xwKStC2f*Ve!F8`dHR*?)3Cqh8r+u_@4H-YB;mnbXmP0R zDRc9kCkZ{Fri+)~%!}G}k*PXwhMvW;JAtK+(bFf)pQ)0Pcl-XGYkJe$6<9PA7K)mz zpV-fIXXos!#j(B@u6c{C={9ygIqgdA@B2AA`j?JR`(S*d%<}u$cw5^mx2m2li`u?b za*E9Z&cc?(oh&_~f6q_Ke!em+I<(*GR$}zxU%az7@jugwx)NP%Z`9}c_~aYI2O-iS z5&2bdKlX+$U%P(Qm0yz{d|_X)#R*|WkXK{nGf;%=e()w`@U!{V6 z-LjJ1{{Jra+um-ynKR{AR=?zt{G7=X+@8$o^Em$X@vLtDms8K}xUVzu;hC9gYEO?I z3f-|({gk_;roz>Sm#=-DxAN*oz3Umqic!g{ABlWvJMH?l!AzA?MWcDb+8ei9CO#MK zS$%m;>9r@1JM+wBy|dUGmNahA_@#~6jyEolSewF!MU1qZUwNfvixve=O z^$c3_QyLq8mD#0S&zR=^Ri*5~oh3)-yb`&;Ud)f3VNHR(frPSr)Qy<@Q-;{&$+TlZR3LWn!4>F@%CHy=Y8JEcz%Jbl~#0Mwtmm1`jkNV z;?@IlCr`3yTL;xlT34in>UgxnLQOob#cGmj4RQE#b`#9%Z zg*g)+t4u!U-;*qJwKzT3k?;1?kI~b6Y-f~3^C{T>ZhT&N+21wb>%QBow(L>g^7rkI zcP5Xdqf*=pR&x72C}L``J;pEb>uU0n-1m3$HMYBX22TfOx5eIGaa()o%9e#cUVCW7 zT}{_~ll`i8&Y6Fw!nWSO^8U-ljOT`zy+tNwFHk@C{99D^x+!z>_j_*JFu$Mot>QJK zfHg~m*eVr-f+xR?W&9ChRI>lA#dp;lmkX`G6yEVp5i&l`Fk#R9Meg&o`B!bzDC1jb zyeqhk`JzC_0Rd)LNv`bkIj!l;)_)#cQ(JVks_N|WWrw$IdQg_Ey7t{JvCR{EQWzVb zH^%FWyh+rznR+~Fs;J<$8H_8%&90ZGmrnM({k8O=;rH&`W4F#dd-g%(RR|}?^Uo^6 za|+MB5j>Zjz1;uaHrK5u_GkG=&V1@REvhSchsyHLe~vfro>TFuxa;Uet5+f1xjSAh zReG7zx3?qnh@hgb{5$<0lji;Qzae-`eQrj7?Jm!4cOM+Aa-GI(z3G(WEs+J~3B^ql z8jt5L`51UOKrQw0oxHV=B%D9Ins94k+3o;$>sqds?1*v=^Tw)}1?P{6EU*Y#bo;iD z;7&`1<%|jmebs+`4lgyEt14&H>sYhH;O${e&VuDx(w^^xEVWd=hZ#3m7YE(esrO&)0%UZ?DNy;65|Ur>*{p0|-h?oKUk{;3ag zr5z43h^EhDJnOB}mthv7xpL9WxBNSHZjZGO?O&a1zIyFJt8=Hbyf;P$_Pw!KrFSBm zT`^jS)AF4EyyBkXpjt)qu&mp6OntWP6}u^VWaany30p*>72bF#KT~yPKk)p-(Xgtd zpH-XgF4)Vt-S>pR>wha4wKBdrDm>4WGFW_yV{;xbHyI! zdd!wwESKcP?S1IdmWd|X7%je<4j3Kkb))U2{wNY;fgdr=t;D^Eccy?fs-Z?dN_* zDet4xW|eH?POMR$lE*9|d#v#OtQWTG%XGG#_?Uit`=-uSsanx1C9JzD70P5!JleT) znQ8C4*Ou3Gg;K2z5A{dx`IW52Ed8HB&zi3$JSg+TB!$e^Ig)+tDaSi5`&)1-W_vLN zo_zA8IdoCU(sO*bC*8U3>T)BgMDFkITlYWDddjykWAn0K-D+3U90XFfbOzqyVI@0ZWI|5e)2eC0FOU56)K ziJnr@)-^Z3I&b?V2jv|KlN{xq2;S)BJ?$5@<%mXcsY~nKCAxom4Md{*CJ1@nnOClo zY#+yFIBTAn;c|1+wJTT5$~cnp!t!&#zE!6hYxbJV=8<0e$hlW!<+ej}Z!J6!;IAT6 zZ&SN)1Z<}_F@AqLPkXVB)n^ZnQnP340v=gSX%blY za{D)ykMr)7udGmLa6Dn#8(t!~%jxNsG|g~P?F1?A2gh7oNRwL{TWj{OVQ=AZh{P%0Al_SaHPuZt^# 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 diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/ions.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/ions.lt index 8d36341253..ff52a7db97 100644 --- a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/ions.lt +++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/ions.lt @@ -1,67 +1,68 @@ # We define two molecule classes to represent Na+ and Cl- ions, respectively. -# This may seem like overkill since they both only consist of one atom each. +# They both contain only one atom. - -# Note: Monovalent ion parameters for Ewald and SPC/E water -# are from: Joung & Cheatham JPCB (2008) -# These Lennard Jones parameters match the parameters for ions -# in SPC/E water in the "frcmod.ionsjc_spce" file distributed -# with Amber (the 2010 version). +# In moltemplate each molecule type is stored in a file whose format mimics the +# format of a LAMMPS "data" file, with "Atoms", "Bonds", and "Angles" sections. +# Once defined, these molecules may be copied and moved to build larger systems. NaIon { - # The epsilong & sigma parameters from that paper were 0.3526418 & 1.212. - # However sigma must be divided by 2^(1/6), because they use the alternate - # Lennard-Jones convention: U(r)=epsilon*((s/r)^12 - 2*(s/r)^6), and - # pair_style lj/charmm/coul/long uses U(r)=4*epsilon*((s/r)^12 - (s/r)^6) - # (Note: This change does not effect the epsilon parameter.) + # ---- Definition of "NaIon" ---- - write_once("In Settings") { - pair_coeff @atom:Na @atom:Na lj/charmm/coul/long 0.3526418 1.079769246386 + # AtomID MolID AtomType charge X Y Z + write("Data Atoms") { + $atom:Na $mol @atom:Na 1.0 0.00000 0.00000 0.000000 } write_once("Data Masses") { @atom:Na 22.9898 } - # assumes "full" atom style - write("Data Atoms") { - $atom:Na $mol @atom:Na 1.0 0.00000 0.00000 0.000000 + write_once("In Settings") { + pair_coeff @atom:Na @atom:Na 0.3526418 1.079769246386 } + # (explanation: http://lammps.sandia.gov/doc/pair_charmm.html) + } # NaIon + + ClIon { - write_once("In Settings") { - pair_coeff @atom:Cl @atom:Cl lj/charmm/coul/long 0.0127850 2.711 + + # ---- Definition of "ClIon" ---- + + # AtomID MolID AtomType charge X Y Z + write("Data Atoms") { + $atom:Cl $mol @atom:Cl -1.0 0.00000 0.00000 0.000000 } write_once("Data Masses") { @atom:Cl 35.453 } - # assumes "full" atom style - write("Data Atoms") { - $atom:Cl $mol @atom:Cl -1.0 0.00000 0.00000 0.000000 + write_once("In Settings") { + pair_coeff @atom:Cl @atom:Cl 0.0127850 2.711 } + # (explanation: http://lammps.sandia.gov/doc/pair_charmm.html) + } # ClIon -write_once("In Init") { - # -- Default styles for ions -- - units real - atom_style full - # (Hybrid force fields were not necessary but are used for portability.) - pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0 - kspace_style pppm 0.0001 - pair_modify mix arithmetic -} - -# Optional: Define a group named "ions" consisting of either Na or Cl ions. -write_once("In Settings") { - group ionNa type @atom:NaIon/Na @atom:NaIon/Na - group ionCl type @atom:ClIon/Cl @atom:ClIon/Cl - group ions type @atom:NaIon/Na @atom:ClIon/Cl -} + + + + +# Note: Monovalent ion parameters for Ewald and SPC/E water +# are from: Joung & Cheatham JPCB (2008) +# These Lennard Jones parameters match the parameters for ions +# in SPC/E water in the "frcmod.ionsjc_spce" file distributed +# with Amber (the 2010 version). +# +# The epsilong & sigma parameters from that paper were 0.3526418 & 1.212. +# However sigma must be divided by 2^(1/6), because they use the alternate +# Lennard-Jones convention: U(r)=epsilon*((s/r)^12 - 2*(s/r)^6), and +# pair_style lj/charmm/coul/long uses U(r)=4*epsilon*((s/r)^12 - (s/r)^6) +# (Note: This change does not effect the epsilon parameter.) diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/spce.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/spce.lt index 019911c19b..db5e7df3b3 100644 --- a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/spce.lt +++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/spce.lt @@ -1,51 +1,113 @@ +# In moltemplate each molecule type is stored in a file whose format mimics the +# format of a LAMMPS "data" file, with "Atoms", "Bonds", and "Angles" sections. +# Once defined, these molecules can be copied and moved to build larger systems. +# +# "SPCE" ("extended simple point charge") is one of several popular water models +# (See Berendsen H.J.C et al., J.Phys.Chem. Vol91 pp.6269-6271,1987 for details) +# # file "spce.lt" # # H1 H2 # \ / # O + SPCE { - write_once("In Init") { - # -- Default styles (for solo "SPCE" water) -- - units real - atom_style full - # (Hybrid force fields were not necessary but are used for portability.) - pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0 - bond_style hybrid harmonic - angle_style hybrid harmonic - kspace_style pppm 0.0001 - pair_modify mix arithmetic - } + # ---- Definition of the "SPCE" (water molecule type) ---- + + # The "Data Atoms" section is a list of atom attributes (type, charge, x,y,z) + # AtomID MoleculeID AtomType Charge X Y Z write("Data Atoms") { - $atom:O $mol:. @atom:O -0.8476 0.0000000 0.00000 0.000000 - $atom:H1 $mol:. @atom:H 0.4238 0.8164904 0.00000 0.5773590 - $atom:H2 $mol:. @atom:H 0.4238 -0.8164904 0.00000 0.5773590 + $atom:o $mol @atom:O -0.8476 0.0000000 0.00000 0.000000 + $atom:h1 $mol @atom:H 0.4238 0.8164904 0.00000 0.5773590 + $atom:h2 $mol @atom:H 0.4238 -0.8164904 0.00000 0.5773590 } + # Note: LAMMPS expects an integer in the 2nd column (the Molecule-ID number). + # If we put "$mol" there, moltemplate will generate this integer for you - write_once("Data Masses") { - @atom:O 15.9994 - @atom:H 1.008 - } + # A list of the bonds in the molecule: + # BondID BondType AtomID1 AtomID2 write("Data Bonds") { - $bond:OH1 @bond:OH $atom:O $atom:H1 - $bond:OH2 @bond:OH $atom:O $atom:H2 + $bond:OH1 @bond:OH $atom:o $atom:h1 + $bond:OH2 @bond:OH $atom:o $atom:h2 } + # A list of the angles in the molecule: + # AngleID AngleType AtomID1 AtomID2 AtomID3 + write("Data Angles") { - $angle:HOH @angle:HOH $atom:H1 $atom:O $atom:H2 + $angle:HOH @angle:HOH $atom:h1 $atom:o $atom:h2 + } + + # The mass of each atom type: + + write_once("Data Masses") { + @atom:O 15.9994 + @atom:H 1.008 } + + # ---- Where to put force field parameters? ---- + # Moltemplate allows you to specify force-field parameters anywhere you want. + # Sometimes it is convenient to nest them within a molecule's definition. + # For more complicated simulations, it's convenient to define a "ForceField" + # object containing force field parameters shared by many different types of + # molecules. (Since this is a simple example, there is no need to do that.) + + # The "In Settings" section contains LAMMPS commands which typically define + # force-field parameters (eg "pair_coeff") and constraints (eg "fix shake") + write_once("In Settings") { - bond_coeff @bond:OH harmonic 1000.0 1.0 - angle_coeff @angle:HOH harmonic 1000.0 109.47 - pair_coeff @atom:O @atom:O lj/charmm/coul/long 0.1553 3.166 - pair_coeff @atom:H @atom:H lj/charmm/coul/long 0.0 2.058 - group spce type @atom:O @atom:H - fix fShakeSPCE spce shake 0.0001 10 100 b @bond:OH a @angle:HOH - # (Remember to "unfix" fShakeSPCE during minimization.) + bond_coeff @bond:OH 1000.0 1.0 + # explanation: http://lammps.sandia.gov/doc/bond_harmonic.html + + angle_coeff @angle:HOH 1000.0 109.47 + # explanation: http://lammps.sandia.gov/doc/angle_harmonic.html + + pair_coeff @atom:O @atom:O 0.1553 3.166 + pair_coeff @atom:H @atom:H 0.0 2.058 + # explanation: http://lammps.sandia.gov/doc/pair_charmm.html + + # OPTIONAL: We want the water molecules to behave like rigid objects, so + # we apply the "SHAKE" constraint to the group of atoms in water molecules. + # (SHAKE is used to make bonds and angles rigid.) + + group gSPCE type @atom:O @atom:H + # explanation: http://lammps.sandia.gov/doc/group.html + + fix fShakeSPCE gSPCE shake 0.0001 10 100 b @bond:OH a @angle:HOH + # explanation: http://lammps.sandia.gov/doc/fix_shake.html + # (Remember to "unfix" fSHAKE during minimization.) + + } + + # LAMMPS requires that some commands must be issued in a certain order. + # (IE. You must inform LAMMPS the kind of simulation you wish to run + # before supplying LAMMPS with numeric parameters for that simulation.) + # The "In Init" section is where you put commands which must be run before + # all other commands in the simulation (such as the commands in "In Settings") + + write_once("In Init") { + + units real + # explanation: http://lammps.sandia.gov/doc/units.html + + # Specify the attributes of the particles in our system (eg. "full") + atom_style full + # explanation: http://lammps.sandia.gov/doc/atom_style.html + + # Specify the kinds of formulas we want to use to calculate + # the forces in our system (ie. force-field "styles") + bond_style harmonic + angle_style harmonic + pair_style lj/charmm/coul/long 9.0 10.0 10.0 + pair_modify mix arithmetic + # explanation: http://lammps.sandia.gov/doc/pair_modify.html + kspace_style pppm 0.0001 + # explanation: http://lammps.sandia.gov/doc/kspace_style.html } } # end of definition of "SPCE" water molecule type diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/system.lt index af38795022..284d042d73 100644 --- a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/system.lt +++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/system.lt @@ -1,6 +1,4 @@ -import "spce.lt" # <- This defines the SPCE water molecule. This file is - # located in the "force_fields" subdirectory - # distributed with moltemplate +import "spce.lt" # <- This defines the SPCE water molecule. import "ions.lt" # <- This defines the ions "NaIon" and "ClIon". @@ -16,8 +14,8 @@ write_once("Data Boundary") { # spacing 3.45 Angstroms. (The pressure must be equilibrated later.) wat = new SPCE [10].move(0.00, 0.00, 3.45) - [10].move(0.00, 3.45, 0.00) - [10].move(3.45, 0.00, 0.00) + [10].move(0.00, 3.45, 0.01) + [10].move(3.45, 0.01, 0.01) # We now create a 2x2x2 lattice of Na+ and Cl- ions: @@ -30,14 +28,16 @@ cl = new ClIon [2].move(0,0,17.25) [2].move(0,17.25,0) [2].move(17.25,0,0) -na[*][*][*].move(5.175,5.175,5.6) -cl[*][*][*].move(12.075,12.075,12.5) +na[*][*][*].move(5,5,5) +cl[*][*][*].move(12,12,12) -# (The (5.175,5.175,5.175) and (12.075,12.075,12.075) translational shifts +# (The (5,5,5) and (12,12,12) translational shifts # prevent the Na and Cl ions from overlapping # with the water molecules or each other.) + + # Comment: Fortunately the ions and the water in this example share the # same force-field styles (so their was no need to use "hybrid" styles). # If this were not the case, you might need to add something like this. diff --git a/tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/README.txt b/tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/README.txt new file mode 100644 index 0000000000..b2996dab29 --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/README.txt @@ -0,0 +1,11 @@ +This is an example of all-atom methanol immersed in coarse grained ELBA water. +It was provided by Oscar Matus Rivas at McGill University. + + +References: +1. Orsi, Mario, Wei Ding, and Michail Palaiokostas. "Direct mixing of atomistic solutes and coarse-grained water." Journal of chemical theory and computation 10.10 (2014): 4684-4693. + +2. Orsi, Mario. "Comparative assessment of the ELBA coarse-grained model for water." Molecular Physics 112.11 (2014): 1566-1576. + +3. ELBA coarse-grained water model tutorial: +https://github.com/orsim/elba-lammps/tree/master/examples/water-bulk diff --git a/tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/README_run.sh b/tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/README_run.sh new file mode 100644 index 0000000000..91e79124e1 --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/README_run.sh @@ -0,0 +1,20 @@ +# --- Running LAMMPS --- +# +# The file "run.in.npt" is a LAMMPS +# input script which link to the input scripts and data files +# you hopefully have created earlier with moltemplate.sh: +# system.in.init, system.in.settings, system.data +# If not, carry out the instructions in "README_setup.sh". +# +# -- Instructions: -- +# If "lmp_mpi" is the name of the command you use to invoke lammps, +# then you would run lammps on these files this way: + +lmp_mpi -i run.in.npt # simulation at constant pressure + +# (Note: The "lmp_mpi" program is also frequently called "lmp_ubuntu", +# and has many other names depending upon how it was compiled.) + +# If you have compiled the MPI version of lammps, you can run lammps in parallel +#mpirun -np 4 lmp_mpi -i run.in.npt +# (assuming you have 4 processors available) diff --git a/tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/README_setup.sh b/tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/README_setup.sh new file mode 100755 index 0000000000..20d5eac231 --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/README_setup.sh @@ -0,0 +1,28 @@ + +# Create the coordinates of the atoms using PACKMOL +cd packmol_files + + packmol < input.packmol + mv -f system.xyz ../moltemplate_files/ + +cd .. + +# Create LAMMPS input files this way: +cd moltemplate_files + + # run moltemplate + moltemplate.sh -atomstyle "hybrid sphere dipole molecular" \ + -xyz system.xyz system.lt + + + # This will generate various files with names ending in *.in* and *.data. + # Move them to the directory where you plan to run LAMMPS (in this case "../") + mv -f system.data system.in* ../ + + # Optional: + # The "./output_ttree/" directory is full of temporary files generated by + # moltemplate. They can be useful for debugging, but are usually thrown away. + rm -rf output_ttree/ system.xyz + +cd ../ + diff --git a/tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/images/ELBAwater+methanol_rendered_with_ovito.jpg b/tools/moltemplate/examples/coarse_grained/ELBAwater+methanol/images/ELBAwater+methanol_rendered_with_ovito.jpg new file mode 100644 index 0000000000000000000000000000000000000000..88773055a10ba0a6ec73085d6d49ffb2d14a50db GIT binary patch literal 22841 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 Console +c) Enter: + +(I assume that the the DATA file is called "system.data") + + topo readlammpsdata system.data full + animate write psf system.psf + +2) + +Later, to Load a trajectory in VMD: + + Start VMD + Select menu: File->New Molecule + -Browse to select the PSF file you created above, and load it. + (Don't close the window yet.) + -Browse to select the trajectory file. + If necessary, for "file type" select: "LAMMPS Trajectory" + Load it. + + ---- A note on trajectory format: ----- +If the trajectory is a DUMP file, then make sure the it contains the +information you need for pbctools (see below. I've been using this +command in my LAMMPS scripts to create the trajectories: + + dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz + +It's a good idea to use an atom_style which supports molecule-ID numbers +so that you can assign a molecule-ID number to each atom. (I think this +is needed to wrap atom coordinates without breaking molecules in half.) + +Of course, you don't have to save your trajectories in DUMP format, +(other formats like DCD work fine) I just mention dump files +because these are the files I'm familiar with. + +3) ----- Wrap the coordinates to the unit cell + (without cutting the molecules in half) + +a) Start VMD +b) Load the trajectory in VMD (see above) +c) Menu Extensions->Tk Console +d) Try entering these commands: + + pbc wrap -compound res -all + pbc box + + ----- Optional ---- + It can help to shift the location of the periodic boundary box + To shift the box in the y direction (for example) do this: + + pbc wrap -compound res -all -shiftcenterrel {-0.05 -0.15 -0.05} + pbc box -shiftcenterrel {-0.05 -0.15 -0.05} -width 1.6 -style tubes + + Distances are measured in units of box-length fractions, not Angstroms. + + Alternately if you have a solute whose atoms are all of type 1, + then you can also try this to center the box around it: + + pbc wrap -sel type=1 -all -centersel type=2 -center com + +4) + You should check if your periodic boundary conditions are too small. + To do that: + select Graphics->Representations menu option + click on the "Periodic" tab, and + click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes. + +5) Optional: If you like, change the atom types in the PSF file so + that VMD recognizes the atom types, use something like: + +sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf +sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf +sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf + +(If you do this, it might effect step 2 above.) diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/images/2bead_monomer.jpg b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/images/2bead_monomer.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35af99387ec987f274dc91c837cd4a6fb23a21ee GIT binary patch literal 3784 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 E04e9Np8x;= literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/images/2bead_polymer_array3x3x3_LR.jpg b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/images/2bead_polymer_array3x3x3_LR.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fbc31e652537adfd3662aad7595407c6b84a2cd1 GIT binary patch literal 32045 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 AwEzGB literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/images/2bead_t=4850000_LR.jpg b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/images/2bead_t=4850000_LR.jpg new file mode 100644 index 0000000000000000000000000000000000000000..18ca16001c4d3a58b3cc264278aa6a83b7ee3317 GIT binary patch literal 22763 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 literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/README.sh b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/README.sh new file mode 100755 index 0000000000..bcc5947b1f --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/README.sh @@ -0,0 +1,6 @@ +# Use these commands to generate the LAMMPS input script and data file +# (and other auxilliary files): +moltemplate.sh system.lt + +# This will generate various files with names ending in *.in* and *.data. + diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/README.txt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/README.txt new file mode 100644 index 0000000000..3d9fdab320 --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/README.txt @@ -0,0 +1,19 @@ +# In this example, we construct a large molecule ("Polymer") +# from multiple smaller molecular subunits ("Monomer"). +# The "Monomer" molecule contains two atoms (type "CA", and "R") +# +# "Monomer" +# +# @R +# | +# @CA +# +# Eventually, we will connect multiple "Monomer" molecular subunits +# together to form a polymer, as shown below: +# +# @R @R +# | | +# _@CA_ _@CA_ +# ... -.@CA-' `-@CA-' ` ... +# | | +# @R @R diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/forcefield.lt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/forcefield.lt new file mode 100644 index 0000000000..8dfdf98a41 --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/forcefield.lt @@ -0,0 +1,110 @@ + +# Define a "ForceField" object. +# A force field in moltemplate is any object containing mostly pair_coeff, +# bond_coeff, angle_coeff, dihedral_coeff, "Bonds By Type", "Angles By Type", +# "Dihedrals By Type", "Impropers By Type", "Data Masses" (and "In Charges") +# information. Later on when we define molecule objects, we can access all +# of the atom types and force field parameters here using "inherits ForceField". +# (See "monomer.lt" for example.) + + +ForceField { + + + # LAMMPS supports a large number of "styles" (ie. equations for calculating + # forces between particles). At some point, we must eventually select the + # formulas we want to use. This can be done anywhere, but we might as + # well specify that now. Later on we will specify the parameters + # which go into these equations. + + write_once("In Init") { + # -- Styles used in "ForceField" -- + # -- (Changing these styles will change the formulas above) -- + units real + atom_style full + bond_style harmonic + angle_style harmonic + dihedral_style charmm + pair_style lj/cut 11.0 + } + + + # There are 2 atom types: "CA" and "R" + write_once("Data Masses") { + @atom:CA 13.0 + @atom:R 50.0 + } + + # ---- 2-body (non-bonded) interactions: ---- + # U(r) = 4*epsilon((sigma/r)^12 - (sigma/r)^6) + # (for details see http://lammps.sandia.gov/doc/pair_lj.html) + # atom-type atom-type epsilon sigma + + write_once("In Settings") { + # Pairwise (non-bonded) interactions: + # atomType1 atomType2 epsilon sigma + pair_coeff @atom:CA @atom:CA 0.10 2.0 + pair_coeff @atom:R @atom:R 0.50 3.6 + # (Interactions between different atoms are determined by mixing rules.) + } + + # ---- 2-body (bonded) interactions: ---- + # + # Ubond(r) = k*(r-r0)^2 + # (for details see http://lammps.sandia.gov/doc/bond_harmonic.html) + # + write_once("In Settings") { + # bond-type k r0 + bond_coeff @bond:Sidechain 15.0 3.4 + bond_coeff @bond:Backbone 15.0 3.7 + } + + # ---- 3-body angle (hinge) interactions: ---- + + # Rules for determining 3-body (angle) interactions by atom & bond type: + # angle-type atomType1 atomType2 atomType3 bondType1 bondType2 + + write_once("Data Angles By Type") { + @angle:Backbone @atom:CA @atom:CA @atom:CA @bond:* @bond:* + @angle:Sidechain @atom:CA @atom:CA @atom:R @bond:* @bond:* + } + + # Force-field parameters for 3-body (angle) interactions: + # + # Uangle(theta) = k*(theta-theta0)^2 + # (for details see http://lammps.sandia.gov/doc/angle_harmonic.html) + # + write_once("In Settings") { + # angle-type k theta0 + angle_coeff @angle:Backbone 30.00 114 + angle_coeff @angle:Sidechain 30.00 132 + } + + # ---- 4-body dihedral interactions ---- + + # 4-body interactions in this example are listed by atomType + # Rules for determining 4-body (dihedral) interactions by atom & bond type: + write_once("Data Dihedrals By Type") { + # dihedralType atmType1 atmType2 atmType3 atmType4 bondType1 bType2 bType3 + @dihedral:CCCC @atom:CA @atom:CA @atom:CA @atom:CA @bond:* @bond:* @bond:* + @dihedral:RCCR @atom:R @atom:CA @atom:CA @atom:R @bond:* @bond:* @bond:* + } + + # The forumula used is: + # + # Udihedral(phi) = K * (1 + cos(n*phi - d)) + # + # The d parameter is in degrees, K is in kcal/mol/rad^2. + # (for details, see http://lammps.sandia.gov/doc/dihedral_charmm.html) + # + # The corresponding command is + # dihedral_coeff dihedralType K n d w(ignored) + + write_once("In Settings") { + dihedral_coeff @dihedral:CCCC -0.5 1 -180 0.0 + dihedral_coeff @dihedral:RCCR -1.5 1 -180 0.0 + } + +} # "ForceField" + + diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/monomer.lt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/monomer.lt new file mode 100644 index 0000000000..286eb12ff4 --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/monomer.lt @@ -0,0 +1,20 @@ +import "forcefield.lt" # contains force-field parameters + +Monomer inherits ForceField { + + write("Data Atoms") { + # atomId molId atomType charge x y z + $atom:ca $mol:... @atom:CA 0.0 0.000 1.0000 0.0000000 + $atom:r $mol:... @atom:R 0.0 0.000 4.4000 0.0000000 + } + write("Data Bonds") { + # bond-id bond-type atom-id1 atom-id2 + $bond:cr @bond:Sidechain $atom:ca $atom:r + } +} + + + +# NOTE: The "..." in "$mol:..." tells moltemplate that this molecule is part +# of a larger molecule, and to use the larger parent object's +# molecule id number as it's own. diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/polymer.lt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/polymer.lt new file mode 100644 index 0000000000..5ca8eb03e9 --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/polymer.lt @@ -0,0 +1,27 @@ +import "monomer.lt" # <-- defines "Monomer" and "ForceField" + +Polymer inherits ForceField { + + # The next line is optional + create_var {$mol} # force all monomers to share the same molecule-ID + + # Now create some monomers + + mon1 = new Monomer + mon2 = new Monomer.rot(180.0, 1,0,0).move(3.2,0,0) + mon3 = new Monomer.move(6.4,0,0) + mon4 = new Monomer.rot(180.0, 1,0,0).move(9.6,0,0) + mon5 = new Monomer.move(12.8,0,0) + mon6 = new Monomer.rot(180.0, 1,0,0).move(16.0,0,0) + mon7 = new Monomer.move(19.2,0,0) + + # Now, link the monomers together this way: + write("Data Bonds") { + $bond:backbone1 @bond:Backbone $atom:mon1/ca $atom:mon2/ca + $bond:backbone2 @bond:Backbone $atom:mon2/ca $atom:mon3/ca + $bond:backbone3 @bond:Backbone $atom:mon3/ca $atom:mon4/ca + $bond:backbone4 @bond:Backbone $atom:mon4/ca $atom:mon5/ca + $bond:backbone5 @bond:Backbone $atom:mon5/ca $atom:mon6/ca + $bond:backbone6 @bond:Backbone $atom:mon6/ca $atom:mon7/ca + } +} diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/system.lt new file mode 100644 index 0000000000..480f8c0216 --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/moltemplate_files/system.lt @@ -0,0 +1,29 @@ +import "polymer.lt" + + +# Specify the periodic boundary conditions: +write_once("Data Boundary") { + 0 90.0 xlo xhi + 0 90.0 ylo yhi + 0 90.0 zlo zhi +} + +# Create 27 polymers in a rectangular grid + +polymers = new Polymer [3].move(0, 0, 30.0) + [3].move(0, 30.0, 0) + [3].move(30.0, 0, 0) + + + +# ------------ Optional: ------------ +# Now (for fun) shift some of the polymers +# in the x direction by a distance of 20.0 +# Suppose we want to move the middle slice +# (which has constant Z). We do that this way: +# polymers[1][*][*].move(20,0,0) +# more examples: +# polymers[*][1][*].move(0,0,20) +# polymers[*][*][1].move(0,20,0) + + diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/run.in.nvt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/run.in.nvt new file mode 100644 index 0000000000..e9fdbf41fd --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_polymer/run.in.nvt @@ -0,0 +1,32 @@ +# -- Init Section -- + +include system.in.init + +# -- Atom Definition Section -- + +read_data system.data + +# -- Settings Section -- + +include system.in.settings + +# -- Run Section -- + + +timestep 2.0 +dump 1 all custom 5000 traj_nvt.lammpstrj id mol type x y z ix iy iz + +# To use Langevin dynamics in LAMMPS you need both "fix langevin" and "fix nve". +# (See http://lammps.sandia.gov/doc/fix_langevin.html for details.) + +fix fxlan all langevin 300.0 300.0 5000.0 48279 +fix fxnve all nve + + +thermo_style custom step temp pe etotal press vol epair ebond eangle edihed +thermo 1000 # time interval for printing out "thermo" data + +run 40000000 + +write_data system_after_nvt.data + diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/monomer.lt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/monomer.lt index a8a35339f5..88c1f6e322 100644 --- a/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/monomer.lt +++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/monomer.lt @@ -10,7 +10,10 @@ # ---------------------------------------------------------------------- -Monomer { +import "polymer_forcefield.lt" # contains force-field parameters + + +Monomer inherits ForceField { # atom-id mol-id atom-type charge x y z @@ -24,88 +27,14 @@ Monomer { # be a part of a larger molecule, and (if so) to use the larger # parent object's molecule id number as it's own - - # atom-type mass - - write_once("Data Masses") { - @atom:CA 13.0 - @atom:R 50.0 - } - - # atom-type atom-type epsilon sigma - - write_once("In Settings") { - pair_coeff @atom:CA @atom:CA 0.05 2.0 - pair_coeff @atom:R @atom:R 0.50 2.0 - } - # bond-id bond-type atom-id1 atom-id2 write("Data Bonds") { $bond:CR1 @bond:sidechain $atom:CA $atom:R1 $bond:CR2 @bond:sidechain $atom:CA $atom:R2 } - - write_once("In Settings") { - # bond-type k r0 - bond_coeff @bond:sidechain 30.0 1.2 - bond_coeff @bond:bb 30.0 2.0 # "bb" shorthand for "backbone" - } - - # For a compound molecule consisting of smaller building blocks (such as a - # polymer built from monomers), it is tedious to explicitly list all of the - # angles, dihedrals in the entire molecule. Instead, you can define rules - # for automatically generating all the angular interactions between bonded - # atoms according to their connectivity and the atom/bond type. - # Later, when you connect multiple monomers together to form a polymer, - # appropriate bond-angle forces will be applied to these atoms automatically - # (as well as dihedral and improper forces, if defined). - - # Rules for determining 3 and 4-body bonded interactions by type - - # angle-type atomType1 atomType2 atomType3 bondType1 bondType2 - - write_once("Data Angles By Type") { - @angle:backbone @atom:CA @atom:CA @atom:CA @bond:* @bond:* - @angle:sidechain @atom:CA @atom:CA @atom:R @bond:* @bond:* - @angle:RCR @atom:R @atom:CA @atom:R @bond:* @bond:* - } - - # ("@angle:RCR" defines the angle between the R-C-R atoms within a monomer. - # The other angular interactions are between atoms in neighboring monomers.) - - - # dihedral-type AtomType1 AtomType2 AtomType3 AtomType4 bondType1 btyp2 btyp3 - - write_once("Data Dihedrals By Type") { - @dihedral:backbn @atom:CA @atom:CA @atom:CA @atom:CA @bond:* @bond:* @bond:* - } - - # Parameters for these new angular interactions must be defined. (I recommend - # putting all force-field parameters (coeffs) in the "In Settings" section.) - - write_once("In Settings") { - # angle-type k theta0 - angle_coeff @angle:backbone 50.00 160 - angle_coeff @angle:sidechain 50.00 120 - angle_coeff @angle:RCR 50.00 120 - # dihedral-type K1 K2 K3 K4 - dihedral_coeff @dihedral:backbn 1.411036 -0.271016 3.145034 0.0 - } + # atom-type mass } # Monomer - - - - -# ------------------------------------------------------------------------- -# Heteropolymers: -# -# There is a similar example for heteropolymers which is distributed online -# bundled with the moltemplate software. It is named "2bead_heteropolymer", -# and it demonstrates how to share backbone (CA) atoms, bonds and angles -# (so that you don't have to define them seperately for each type of monomer). -# ------------------------------------------------------------------------- - diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/polymer.lt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/polymer.lt index 31a36d07ce..5eae2abe29 100644 --- a/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/polymer.lt +++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/polymer.lt @@ -1,9 +1,9 @@ -import "monomer.lt" +import "monomer.lt" # <-- defines "Monomer" and "ForceField" -Polymer { +Polymer inherits ForceField { create_var {$mol} # optional:force all monomers to share the same molecule-ID - # (The "Data Atoms" in Monomer must use "$mol:..." notation.) + #(The "Data Atoms" in Monomer must use "$mol:..." notation.) # Make a chain of monomers monomers = new Monomer [12].rot(180, 1,0,0).move(2.0, 0, 0) @@ -29,4 +29,4 @@ Polymer { # Angle, dihedral and improper interactions will be generated -# automatically according to the instructions in "monomer.lt" +# automatically according to the instructions in "forcefield.lt" diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/polymer_forcefield.lt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/polymer_forcefield.lt new file mode 100644 index 0000000000..ef7efe24e4 --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/polymer_forcefield.lt @@ -0,0 +1,120 @@ +# Define a "ForceField" object. +# A force field in moltemplate is any object containing mostly pair_coeff, +# bond_coeff, angle_coeff, dihedral_coeff, "Bonds By Type", "Angles By Type", +# "Dihedrals By Type", "Impropers By Type", "Data Masses" (and "In Charges") +# information. Later on when we define molecule objects, we can access all +# of the atom types and force field parameters here using "inherits ForceField". +# (See "monomer.lt" for example.) + + +ForceField { + + # LAMMPS supports a large number of "styles" (ie. equations for calculating + # forces between particles). At some point, we must eventually select the + # formulas we want to use. This can be done anywhere, but we might as + # well specify that now. Later on we will specify the parameters + # which go into these equations. + + write_once("In Init") { + # -- Styles used in "ForceField" -- + # -- (Changing these styles will change the formulas above) -- + units real + atom_style full + bond_style harmonic + angle_style harmonic + dihedral_style opls + pair_style lj/cut 11.0 + } + + + # There are 2 atom types: "CA" and "R" + + write_once("Data Masses") { + @atom:CA 13.0 + @atom:R 50.0 + } + + # ---- 2-body (non-bonded) interactions: ---- + # U(r) = 4*epsilon((sigma/r)^12 - (sigma/r)^6) + # (for details see http://lammps.sandia.gov/doc/pair_lj.html) + # atom-type atom-type epsilon sigma + + write_once("In Settings") { + pair_coeff @atom:CA @atom:CA 0.05 2.0 + pair_coeff @atom:R @atom:R 0.50 2.0 + # (Interactions between different atoms are determined by mixing rules.) + } + + # ---- 2-body (bonded) interactions: ---- + # + # Ubond(r) = k*(r-r0)^2 + # (for details see http://lammps.sandia.gov/doc/bond_harmonic.html) + # + write_once("In Settings") { + # bond-type k r0 + bond_coeff @bond:sidechain 30.0 1.2 + bond_coeff @bond:bb 30.0 2.0 # "bb" shorthand for "backbone" + } + + # For a compound molecule consisting of smaller building blocks (such as a + # polymer built from monomers), it is tedious to explicitly list all of the + # angles, dihedrals in the entire molecule. Instead, you can define rules + # for automatically generating all the angular interactions between bonded + # atoms according to their connectivity and the atom/bond type. + # Later, when you connect multiple monomers together to form a polymer, + # appropriate bond-angle forces will be applied to these atoms automatically + # (as well as dihedral and improper forces, if defined). + + # ---- 3-body angle (hinge) interactions ---- + # Rules for determining 3-body interactions by type + + # angle-type atomType1 atomType2 atomType3 bondType1 bondType2 + + write_once("Data Angles By Type") { + @angle:backbone @atom:CA @atom:CA @atom:CA @bond:* @bond:* + @angle:sidechain @atom:CA @atom:CA @atom:R @bond:* @bond:* + @angle:RCR @atom:R @atom:CA @atom:R @bond:* @bond:* + } + + # ("@angle:RCR" defines the angle between the R-C-R atoms within a monomer. + # The other angular interactions are between atoms in neighboring monomers.) + + # Force-field parameters for 3-body (angle) interactions: + # + # Uangle(theta) = k*(theta-theta0)^2 + # (for details see http://lammps.sandia.gov/doc/angle_harmonic.html) + # + write_once("In Settings") { + # angle-type k theta0 + angle_coeff @angle:backbone 50.00 160 + angle_coeff @angle:sidechain 50.00 120 + angle_coeff @angle:RCR 50.00 120 + } + + # ---- 4-body dihedral interactions ---- + + # Rules for determining 4-body (dihedral) interactions by atom & bond type: + # dihedralType atmType1 atmType2 atmType3 atmType4 bondType1 bType2 bType3 + + write_once("Data Dihedrals By Type") { + @dihedral:backbn @atom:CA @atom:CA @atom:CA @atom:CA @bond:* @bond:* @bond:* + } + # (A more realistic force field would have more dihedral and angle types) + + + # The forumula used for dihedral interactions is: + # + # Udihedral(phi) = (K1/2)*(1+cos(phi)) + (K2/2)*(1+cos(2*phi)) + + # ... (K3/2)*(1+cos(3*phi)) + (K4/2)*(1+cos(4*phi)) + # (for details, see http://lammps.sandia.gov/doc/dihedral_opls.html) + # + # The corresponding command is + + write_once("In Settings") { + # dihedral-type K1 K2 K3 K4 + dihedral_coeff @dihedral:backbn 1.411036 -0.271016 3.145034 0.0 + } + +} # "ForceField" + + diff --git a/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README.txt b/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README.txt new file mode 100644 index 0000000000..c3c4faecb1 --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README.txt @@ -0,0 +1,20 @@ +# CG model of benzene where each molecule is represented as an ellipsoid +# and the intermolecular interactions are described with the Gay-Berne potential +# +# Do not expect realistic behaviour from this example. +# The long-range electrostatic interactions are missing. +# +# To build the files which LAMMPS needs, follow the instructions in +# README_setup.sh +# +# To run the simulation in LAMMPS, follow the instructions in: +# README_run.sh +# +# Finally, to view the simulation results in OVITO, follow the instructions in: +# README_visualization_OVITO.txt +# README_visualization_OVITO_ellipsoids.png +# +# +# This example was provided by Otello M. Roscion (U.Southampton) +# and Matteo Ricci(U.Bologna) Many thanks for editing and debugging +# moltemplate code to get this working! diff --git a/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_run.sh b/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_run.sh new file mode 100755 index 0000000000..91e79124e1 --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_run.sh @@ -0,0 +1,20 @@ +# --- Running LAMMPS --- +# +# The file "run.in.npt" is a LAMMPS +# input script which link to the input scripts and data files +# you hopefully have created earlier with moltemplate.sh: +# system.in.init, system.in.settings, system.data +# If not, carry out the instructions in "README_setup.sh". +# +# -- Instructions: -- +# If "lmp_mpi" is the name of the command you use to invoke lammps, +# then you would run lammps on these files this way: + +lmp_mpi -i run.in.npt # simulation at constant pressure + +# (Note: The "lmp_mpi" program is also frequently called "lmp_ubuntu", +# and has many other names depending upon how it was compiled.) + +# If you have compiled the MPI version of lammps, you can run lammps in parallel +#mpirun -np 4 lmp_mpi -i run.in.npt +# (assuming you have 4 processors available) diff --git a/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_setup.sh b/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_setup.sh new file mode 100755 index 0000000000..3a5a6d2e67 --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_setup.sh @@ -0,0 +1,19 @@ +# Create LAMMPS input files this way: +cd moltemplate_files + + # Run moltemplate with the "-allow-wildcards" and "-nocheck" arguments + # as well as a custom -atomstyle + + moltemplate.sh -atomstyle "atomid atomtype flag density x y z" system.lt \ + -allow-wildcards -nocheck + + # This will generate various files with names ending in *.in* and *.data. + # Move them to the directory where you plan to run LAMMPS (in this case "../") + mv -f system.data system.in* ../ + + # Optional: + # The "./output_ttree/" directory is full of temporary files generated by + # moltemplate. They can be useful for debugging, but are usually thrown away. + rm -rf output_ttree/ + +cd ../ diff --git a/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_visualization_OVITO.txt b/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_visualization_OVITO.txt new file mode 100644 index 0000000000..cd2498b1a1 --- /dev/null +++ b/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_visualization_OVITO.txt @@ -0,0 +1,12 @@ +You can visualize the trajectory (dump file) with the program OVITO (www.ovito.org). You will have to define few parameters, thought. Invoke ovito using: + +ovito traj.lammpstrj + +On the right panel of ovito, under the section "LAMMPS dump" click on the button "Edit column mapping" and enter the fields as specified in the attached png file. On the same panel, tick "File contains a time series" to display the entire trajectory. + +A screenshot of these settings is available: +README_visualization_OVITO_ellipsoids.png + + +Otello M. Roscioni +roscioni@gmail.com diff --git a/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_visualization_OVITO_ellipsoids.png b/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/README_visualization_OVITO_ellipsoids.png new file mode 100644 index 0000000000000000000000000000000000000000..15e5e77c4bb87793f3e7a9cfe81b5be5616dc39b GIT binary patch literal 72390 zcmeAS@N?(olHy`uVBq!ia0y~yV7$S=z$DAT#K6EHSoS-Ffq{W7$=lt9;Xep2*t>i( z0|NtRfk$L90|U1(2s1Lwnj^u$z`$PO>Fdh=h*^+XN@kw9(>VqP1qM$S$B>F!Z|0WA zh#VI`aR1#`rgCq~GDzuVJmWL9dv$mB=E)&ik3a5^>NQhVew-Q;bEkW{&|_Bne+Qdx+|&|Xd->$ioLPte z_xNwnFIDDY`y9`p=&~jI@)VWRa`V&DpU+}2Ufj5Sb3?C&tbvIF3k#!4cS7-_qLnAS z`-?e(bi}6Vbu@7B@(Omgh`1W^Gz%zkG^u!+&7QkBDAuBWqDsKaCiy=Gi4~`&lxuOt zJULWy>dv|2cW*n+D*t;US@gAWs|VZ0%|$!oAGpPze!R=!@VX+#v%-(;nh)0W-Q=7$ zeYv)yz|!+ipJpE6*{XCU_}q$#QLQCWE-wXq6}{R^qL!STEKuUCetN}@@0A=IZ|WRw z;%Pc2_)vv0YHi!H%(g^$AhATSz7e9OT@%T-i!;k9tre5rrKUwwN$DjFM zLR}J%oIWEalJO%esBcbUKpczc$ZW z%c}4A(-(^^oiwzq)opBimS4SOlAGe!lC&{mYc~6Q+vCL?$HTv-psfv z-O8&ItQUVmfrI<75|0zdjhQzqr9!9mxv_NX3QiQ-$QkQ)Cp~qQ$*eg(x~&Wx3mcMC z)vhsiHcXwk_}a6Sml-T9nxchEmMJaUVZq_x%sJI_{Z@xvCn}@XMa=YFxoL_@`|}jd zQ_f91PpjvKd0*yW+;AgjW5e=`875I&jEW*fYnC$U9$YA>AN(_J_0=E~CI*E_A;su4 ztz})^UdnN)SS!JrVC(>YLqHNHnW|5^+DFs`uO;7YmOY4I(go@!rVJs)4LPGHM`Gs?XS!_zit0Kj-_f=%?#}V z*2>PSSKMBfzB+1OSdGKZkKz9#_Pw+^eZfltc zo!2kdotM9OtH?x#T|MF7``-Wf8`Y%MZN@2Yp?K){wWveN3?`ZSNq+Lb9zPLYc*SSs zqiL013R@FQp0!HF{hK6jSdcKYD63)m#D%4~ca}y^R^TtzV+hg~j=%Ra`?I|Hfg>W{ zO?a05Q7pU}EG*(`xlz+??&|)F@6;B({JJMCw(8Q+S%1@oOqZ@(ZvA!M$zVnXffix+ z1@{{l>T8H_mF!xi|59`6si3Ks85{(9JdWt={8(5}xn!EI$vr)%nF|YF*%YP~dox&B zE4!;~U4OH14RijrHO(Juf`gZR*pzc?+1DMcZ*#sDhO#?x$CYj4TWP$NPgeb0R^H0` zgo#PF7i>GcH}{%fOs%xwvo^;2KVHaQoN~ha#Mx=w3|6{_1tWf&y?w;Z;L+ZoT(;_N zCDYfcH_Os_BE;jCT`T;dKJB`S07hxqCk5b3Hlcr>K#o<2-ws z?(?1BXL`K4nEdMeLnDSMQ@@y9KXNT9?Q!tg&aHo!iTS4`7>N4%PFRuS;IdlMS8j2r zag^!Yna@^M-QL{w_7_WTdVXvEJ!>mt-})Pq?S9xcrMPgF3Y{QJNxs!*xB{+?^k>I8(lkU%F{0R>w8Wb=ZAkMdIbO0 z$y}{>EHP_Xl-MHbTp;Nczj4|##d+cL&9*VTxcaZMb{GGM@M2|{ra?N z47=QCFE9I_c;G;25BN(>q&Gp-AC2viuo=mxE z?|ZAln7`q5*yU-#0ddu}?@q++t(V!X8pf`$^7_hsmX6^yrzQjyy=o8)`>hzmw%~X5 z+ZM;>%JWZQ3M-WgqVRozn9*e=~b{@sG!eP0hS-^|f}H z1ba_R`Pa(g_~h9t&P5q3B7WUgVpUFZS{fuS_9tMA)v`I8vt}v0sg>nq*pMN*b64m? z&WTf1<>QP^lp+}xENs}Y`jr!t!N%Wx$0KKR7jx)2Ubq=GX~Xwo6^0qlkL#&x>ztYV z-%fmT=<xoe*KBdJrKH)d^`tpBfc z`RsJwd7+`!_Zq)XwG8!PaJFpiIJf2FMrMX*KUYe7P3)AExC{!9WEY-Pf8PxePr7Ad z8KyHHVK}haCh4H{w?;Xuf9XwCN{IHZ9v+>SlB483V(HPVboqo^6n9`NBGRQgBR5U+c&3=jQHS zs=k1+;b@Yo`f?GmHBWBu^KdwEW|ne%f=HXpWiKH z-Z;}_f)clMnc9Y%Q77cvH{V#`UG<5NX^uyK*ut{ne^pbDKjHFmQOnW#e7D(L;Dz5V z)Ai}5&qF3@?1W~tGhz+;z7n$CCyHct0=^D=p1ukV^O5du?hRRw-CkP>K~ zP&c0~Ip@2_$y*%4(%NrNU8aMqJtM;sTi+{Tk3uBf z6nUDA=Ke9^Ty=BuyR*_a>})3MZP(eQ+RSXo7OdB^@u-#F^jg!|88h82HVP=Ttv*?J zs$=oz5C(^I&ABB}Zj0S`cv&Q;d&h-tJfikfIZ1E&+=U^}PMoc@k#ky6Huu)j_p@eB zbQEyO%bOQ8Gc!r)&jvwZEvclbJ%>xGa*VDNu}t4rtR8e(EN0iX&rX{)6@#w#O*SiA zQo=La+3C+Y&(Dj491mQa{zOo!^x0W^y{$81?qB)bE_r+R>ynPcf%9gWjO4>sC{D{`tG7GA}sf+^+oge(hD0`SJgD z>^sCZts>;r>`0?B>9xF?@q5m&NejE){^`AH@42MgC%o-anAQK}FONF@wD?OgXW;vc zNh>~t>?{&eS#tl!=cw+FTV3|;RoebV%kieVa}1LS!bSo+}U=w_xR&|6@t&7z4H=Ex%GRC(KB(*CdV_~;)OMK%Z>hu zIKI3QA~2cPZhFC{^J{PA*zbsC4&V2xwoh_;-Hyz2Yqrboatrys;X$ECfcE_(t0P$y zn%^h9IO25gFYo5(`(EGJT38xx%-4Ql+45I6bW+YG&wC#su=35F&5;YbTUd8`mYOKDvfe()1qX!Jtorl3 zb>@tHd&{o<*&*i3B)inb&+4tn6IG@tZ)G<2B%Wo59DGc;*5~V7ZwXs$y!4aX%=FzG zN{_ZBvM@5}Yrg9;DO77e|G3Coe2HXAdiv?dA9;?u{OWY+b(=k5g2Sc-C638YQdXIm z2z{Iokdh>ECqrP>rQi~VZOfL-(mk`d^41)lS<7;LJWSnBD3q;p^IrW~gN>2FbCQr< z(nnWSW$O*apGvl?e^|XI2^2W$h-7tlrcau=c3Fv(T>FF>9Y&fH&9o&MPv7gA&8yb7_QbVMTP!nK zx|bR}&E&as<>J)Uy5bf$v)aN|e|o--GhyPA)`%JF3Z*vZ#qh5C_Uley_xsh19D3qs zTKCvo3YnT6`Ak#yq}iU8UAc)q=W^P-xmYGlo8qackW%V)Rx&#HgiV}z%E3~BhdiR- zB8w;Z+q%v_=AnA(vsISwPrv@;*|ldYV|Q2yH=T5Q!mayz)hzkN!bKG^db4A9S+t*4 z)cE!FwYk#5fE*<;jvp!~lO(Ln{pU`eJ9+l((@zU6QbkSLPJ}GEzbr7xT$FRCnvo&H z6GjFmyOj@Tb8-FmW>9@J@qn=C{65WCTh(X62lRLO#0JEiQE$}Ot2!XU!|HvfgJo`K z2lJw&N(qe+C!1R#XBZ#6@b8S!n&`vBuxiru#uOa3{2A7Z&z($dNmArwSoK2r`%al92bq(2 zmNf|)hD>0ad{l|m>7TFc^QyiXiC?tcSUe}`n04zX2(l!u(dl;OYPIS0n>~9{)S?9r z2eg+fJlkwj6xhi*L22>y;#HgSSQ>6HDSb@s>fO6Eg2y3sUuDI^2lJ21JvFcqG&5lf z{&>aZ@P%E+mZ=$lMix|;sY$eam{-li*8EdEK0{tK4m}4G3@ika4J6Lg z+X@Juy5h2i1FY)cZ&i?1_9Py*=7Wu(VFHLU9=;pe4WUqEyTdE<)gcpPo&gTulk+Q&us4+R=@fbZ8?9D-mls( zZIYY+*R1<%UfQuKPe=An`Lo_T?++=jm{PoY`8mrEQNQO_?0ELEEwOf)oPVm_J}$M- z&yJl~IXlVT_kxB#%hb2$Z~aL2UZ($l(cCYe*&p@XZs&JDns)Ji=j_IBPk*KP$*ncp zf9>h_MXhtQt4=)OnrV~Z5R%q<(`l%*}Vj~zch z`>@39pjlC?&$^Bu#+I*NvDD9A5IB7^qr+r@t-sgLI8y(qdqc^ssb{md$NX}!3yI^< zx;=lZ{x`ko;t!uoFZDOac4lun_ht3vmmX1dj4PeD{#wi4Cw=ka^)J6?Usqra)02BA z<88-zV2{1!rt_bE_on~bw`P~*VzHlHo%PW+cW2*i-u>^@_Wyag+UM$n8`eKe{F_m^ zKk#?T;pzV_-f3N)_C}`LWZ^Eu)xY`IFTcn6QDF1`pS>LGW-e}5zaIAG|`J$!xk+vc`)r(f+VNq3LuJbmPD)9-WV4qra&c!=%He#s8OxpOD6mF>N@ zHYcBZ=S$A-eCy+^EZ+Q?&Fy}CcU}3bfGu&QtG51oe|{u4g`PPD!I z5A7#hGh-eGtUi8cv!)0G!{ox`-2DRa#XFtU%2(e?y&IgnbE-(M$32-j*Dl_VQ=F{5 z#^&(xIj0>MW*yJ2HsvYX6bMREwF!?O?sr`-x^GQJoc!F|8>j8|S!Ynp|MuhQr-yDT zPWk-dd#CIwORbcmR$qtfQ~kGS6WQQrmF( z$lZ-vEDI_nB4ZQpzD;TSH>uoO>ZGjIpQ()u3@=*F3L3rsR_%T6_|rG}@6{%2rxfis zH2?HP{_d=MH;zUrPPVQvmEHYxB3I~@4@v89?p8D9FPL;vRP5f_<8r=QTT=h5V{Fvh zX0+2OEqLw46SA&brwKH8+M60(IqIf3S^JFb;os|aO$_`sw?8Z{-h9)>{fj|G_T&_9Oc6;X1)0y+vuTd<2U+=l}fBwDR`8H1u8p~%eIDD?~ zJ>OacP>O;DUy-|cudkE_+^UC7d>OJe;$d+qt~e9rrHW&XdWe&KP> zFRo0UY<=ZJ;lz`oMmyJf-<31w+jk{Ar0*L8!-Fb${=MI-=A1P9z@cS6y>0g4)w52E z8i6AB%bsfEnx|LQ?u1SMCU`cC1xXCo{qU81GS%+%apoUfm8KhJdg_d9RB z_q?>8z1;8RRqvvwM8*z z9DYsx$!pi%cp4UT!CvTlugs6=r0J@=e}#xXKeB((9T%1cJNiPhN}PD`cKs z&FQtuUFbq`*nS5~+47QmQ*O@X?BD%b`XtBK=6Ea9_!)N!-b{)$^?l^8Gv92Dt4wiX zdiZm-uV<&txBG3g-g5%OCiyv499EaP^{?nMu}=8>;f(Qzd15-+A2&Q{)xB+P9l*hI z{mx8&Ee3|lzXywNReBZ4{}r^%_6bj%`ntG@<(PEdhpt&gIVGC~-F2<}?%p^!eY(u% z?3at1f^{~(n!9Y>tEC3dQ|{chtUUF@?wjNEx=$)z+zy-e-tLLI=$EK@qTAM@{LYzw zo20H!W98;$3A2y6xAJDw_OI<{Z^|XP@2OwTJ)yW{z4`Yn!*ARE_ZOR+Z}QszCHjfK zZc?$njLge}Yu~7Ne(GKEd)Bn>?cWPhm%6N%-JS9)wBOG-Ex*gecmIx>OI?kRncwH- zr#mkHU;8pGYpUdIws6sv@pEHMQzPdy`d#NM+q`i8+V|FJ{N*3?+i&kKG>%i}$m!ny zRbun>wQ<#Zes%Yq;S^!opz3!>Xp$xG&*EhFXtN1Q*2O~im>AA4etaeIYwn41@qgwU z9T=v4dwT0#?s8Sr{yQIvH+*>dPExqN>$x zIVtbm&(wnl)ci}ux0eTnEOELY*&c2(Mc}|Bi%ze(zbpUWauZ_m*f_VP!`SHJoQi~m z&w=JyJ<(h3kJ!9?@~80ft=BU7>$6kBELz)*&ilUE|Dx=~9NE*aXS}|*_rwPi{SS8S zYLC_3Ej~{*l&+66*s%W2^D7bjd@thib#H5HNiI9}@%g0752nPcp>KN*?cJmwRTmYV~fD z`lrgP|Fv)T;}c_a$XM_uw3m_F+%C)f?(R_Ehv!bG-+$3$v+~B{@~tr*J4-a2JE+*^G6le&hhobRn_1_p->%YVK2SNB{lt@rzsDMAbl z$@2Hk$uTfwg*}Y9aaZ$K)+D_fOAXd7>^aRHX17JIpyK(N2ZxL*&BOF}oXOo=d-~3@ zG!=)#x5_k4cj-iz?Y)2NR}=q-xS8=D9?a={SGH8{(=SZ*{xKdaxRlx-DEQCre%p|T|L?yEGFkkye%F;f$-#QjrY zVDNtQ;_YK)y_~c{rIxIFkemG@8!ecIt)rx5h3r_e0^!G1cPnHk7>h|o^{M^{0Id?xE*j2c28HZlJ>pt))}r}5v^IS zaelt{gL}oFI_{m5X>d#2ck7noemz@T%_V!+J<|L9-rv`zk7rx?hO#do^KWGTGMyc_ z|4pn=R+dEb7EZ%{(}Mae-JSp5p4@u-piG7QbT>wWndRnvF9QxAKkJnD{7#-XQ$|rK zPe*gTRHSWb>FF%r_H(yuwOykfRa@`gTY7p2pV;)aYZ(^`Km7_me>%8}5hE2dX% zJL(n(9*?bSGkM-#5v7?@)OzMr{RLCDp!ns1A*bHX5c!ZLtFn3vSB2bME34;mw+fB9 z9p62ETpw(=_Vvlgr!o1jmp7boS<1KNQ=&dUdh)Ymx0vtT9r8(jjdRyC83`L{8r&*4oOtl{ zYW)Mt;&fdliyz$j@tC{1h28S@trKsudb`pbX0O&Ro;$OuKJ)2@4u$yEsZMcA??24B z@GNU)l4$JS+1fmLuXK%S68Bacv+ju!@A<~*xiu`*a%Oq{zTZ1?<7Bwaxledk&hKVm zxRJ(}w!rJ8-q!a`*)N|TSa^AIQHH<|ei`w$Z)NKv_n%**J6-t73YW*dw_eMCHS1ft zes3Iu*3)}?O*-Q5UGP*3Kk9|CH1>EsCn=;?gF3 z)a(BDJT7paz4ZH~e!N*8FVoG1O{Tsy`v0%vM&g5QTi?F<;k0t<+P$eWvk!4FE`K-4 z**jbGn?;lER^bI_j34jnv43k@_3>HQzO*Zc?^p3zGc!2MVDYt)xowv9`P#HqMq>eIy`h_qW%{uXt=Wq<;PXtnB87Ef*g>w*F-?o$IK|Y?dPmEDRhexnb}B zpWMDds44y3iAEPTMu88C)`}H*velLP@q4~zx#gZdJblxhU+q)>Upn+?1A_z`qXLVA z#67M5`7A9aJF0chEvOB@ch%eW-@SC7_P+A%@9qfyT^IJJv*Pu#+&h(L)Xuzxtpy0! z6;k=_$%F$2K6Ou1&GzhA#9)}pBL4RB*4S#@^Diy3zc$_awr5N5<6URnQn?)V-!|Uy z_>FpEu=qRfV!`Jzv+pLq>Yh}0aKWS8>%YA^Z*|m6^qw)%m1*fhtu9TL_VbJZuP5AF zqN5kR{#(%XjXPLhJ*?!pS8Dy}(mmenu-@$LX@$$b25Lt~ZRUNdeLL>y>A;1xT`Ue9 z2VOsS&W@TP-p3M=WL@~w=HddyrLpr}85CGf?D%GP_M3bQ!yEQDx9(kD8IZr^z^zjS z8HYA;%rF00xP9^MYk%L@Gr!j7n^RTuz2d!56{oZD(<)ZSO&$zU-ix_f%paY9YToSV zFo7lTq~2%!{tnk~b&QORb@R?GU1YFGlI6fw?oW?i&AWFpw4$P->J@)^xHjX$>hi~N z(>6T3Q8@Q?`1h}C!|wVfB`^n{?@09icHipT;=7m6?vFWZ7UjvA`*}@v+1xE(|6IMw zTXg=Cuy* zz*v>!XBQ~RcY76Ugu|PO(LYbQM}F_Sb9v^E(CrVOeK&4%V>mGF#w_7i&-sJxPVY+% zdLeTu``tS4>uDAHZ*Tq-Arz}wJyn{mB1vw=r4Z3}roF%S?)!J|&fU!y9M;WGST41A zPw6vOjaAh%CLG)9Uf^0I6q31$KdwvZi>;g@!^CP`c8?vR`HzBLB+PsFZBkHTck;XI zd1uxyPu^B4ayM%0yZp!TS2T}nbL_hl#lpG$-juydqvV@TeSBVYXv3?E8&A)anSYCK za`>$5hVQG1EZWzQl) zzluDW7rpTj!|Kj%&aUdo`%kT@-B|rNbm9E%YXhX~A39ofyz;o&a>hf|m9gJ%@1ETF zNx`P#lG>jiZZ)@>aPsKSd%tUbH^r;2T@{%v|7Ol-?>VX4m-aqYk={D@Lg7XJ)7Ib8 z)V{BJta8G;=3CgkUFADWqeV<=O1{<_|0mkJiNzg+PBx*vn^LFv-o$U>tvwI;it^2KQK0IS#e*z=X&|g zsIcCrylW$vHtXpwnH`qHaD3z4Jr$~JQXh(EIOfK0Nnu~V(dM&nU;Xm3v|~Kk*=ruM zt=*VuzV!MfzSFn9Uh#V!ecp3I_4~lII*IN4MQuxGPy74srtyJE%d7s(Gg5N+{lFpo zQ~zJ@>(}L?&WEk2{Noq9>+QnHY`aY2u5Ol2|8yWAeWI0WWWe_1yNSYC?`In9nE&@q z;={00-Pz0EpZPG`Zre0Y1`eGwJ6~Lz|9gG-`?$lK+`jLc^N`!!PnPr95rclrFinv<*kmT48#o@Gf{`X=`S<%5d)c4t@m9%s1hbyRxVN++gp{x^FsRTR{ozn6TdUfOu! z;|)CKFfu>H4xe{rueT4^r*>qm0v&7v28w_Te*@=&-`+ zKWj9Cg|#h$lZm#QxsCt4|sC*uI}PlRkJsK4Gvl-SggPQ z+I+9-vYf*234f2Ud%wC`{r&M4_0?GnS7N?zSm1X)(lEcv{O8xJoa-0_cD!)Q(u@_= z|72Dcs^D-|*Z=F=UG-0%U#okj!|>qt)i=A9wCt8{c(7Ud?wN+z^ta91PhD|IJ@hj0 z8$+m4{$B01A6jnQRhD`Y{^Mv~tl1q;Q-O$?vu4zkZnEyU{k}e~?l5nkdH;8xy!f+T z>+|}q*e$sGXU6uMU*@5kLX*%5cpVTS6ag8aQo zYDExP}E^jB|Q zvfpz5n#J2$7#eaTtM9Z{EN0RO7QQ_1@75jFyw!VO{RnIPTW;rX_RR0t>&o)fW$F!~ z38mF?3=`5qZ=JXKqNKT>E%{ck+VOe+c6N3PFf`=LZ~PH8aq@EU?;5FDNsneankATi zNSR|~8u;_usZ-zNlGgox;+;Qb<$EE$buu!K7WF@rDV~3Bb-svk?W40_WA}Vcui1I6 zaqjbZwI8=FVY>h4>V2V{_IX~H$~}|gCjR>Nbfe_k+RxXo?hN|9YHeCP6PQ7lvecJ)e$p-(;c1_nl^h&Sjzj0YHv*ER4=G^~oC8aK$y7BuxqYrvn2Ty1$ z7gV49K%)mV!v1g5f}R(ZxxeR}dUmt@?~ae>AI`H`BgDh@x$}n~c*OtNZPxwq$>5Rs z|17z8=CNL`?>v{VL3KaJ{qSpLJZ$Wb{F|)GZeRM^KJS^>?;y5QwZ)IWoZNjX-!OLX zvyX=ub|zond^28U&9tB?zv@zK-TU_)59+bGx$obaxAQk_1P%EASFy5>yt(}P4rWey zLEQVOt$oTY_TsD;!W>g9R-L=}{~FWWy6odqSXb%sUr;;Cvinn9y!D2{ z!v7N%AO7~wbZ_68wYC1|Qz!11uQ05b6aLWrZ%BQ<{fsmGv+oD^r97=aQuuD?vw&Jr z<^{cf*Z#k<`rzhz>6d4j6^{D($y`uPzUiH@9!|FP~}hI)1wbyY>X7;|JIjd7Yf4uJCUVWVo-kATPtC z`ND)M$3CSm?+$bXwr@Tx7H_#XE$TmCZq&B-_L)~-dY_ic_V1V8_?nls<%H#h`}=n_ zC7Tr1T~u+i?25g*Zq{m_brVj;{<-~UPyGMOQ+vo8J!JA^)$aX&Cm!I9wcgfu zaQaiv%Tdb9U31=if1Yoic8zOuzU6{*UoO_at1v07YhYjq2s<+^Sn`uubJi@OfSG$t zLJn;#eZKYE;^pNl=F?M+2Jv4fGB=+)vc%`p*7T`!6=WDr`Q5yC>dp(z$2afz=Be`DR)6@0=!qa%sp8vJM&j7ceTs%GdMgD zx}~%yu5R^bFRfD_GAD(HJ*v5-An-iQY-^?Ewe1{Pw=8`AuPw1E{5?naquk_mYb9Tv zWX%ZKFZDa~YbJMDKeuEOcY@0Io!xm;@UYW6MmXCvoR>NgmDQzS(0*DRGs5``_@HM-aegUH1DkK*MH2a6(%3ee@^&1 z)qi^1oC&59x6T>8{g8igCdZ5^#?p&E)v%X+|Dkh#leTtYo#iA+4Y8+ocg=Se&)DAG zeCCpE$v@=_&tBS9Bs;WrezsQvxt~2?|DF#mfh}!fOT?buFv)nr<9~j?#?2iYNrD}ZhnN6n7FPok4IpTmq$V`@pKcDgjZJS~aBRlhE7?_^@*EBIY|^45we6BanX zUKF`-wN&`w{o)H*!X4OvhtDpRun?4tF7RA;}L~_UexqmHLI{fbBEs}zI{~1I# z<<90`alSX+Jo~+Nv%|t(dy$=HeWG{v*PdiKt}6U|dU^xX+l`mykM3zca8bC*d`;ZZ z>-Hy(uesEvrIt0b^E2e2u7qO>y z&+8g^M9r^7*vcoc@;u}2?da|MddgcMF6`8|B0tIV&-8dC>=vH8$JuP%Utzpy?|w^_ zcyAUBOSZ?iu6+>IvETGzdfVbx9QTh4o9;FE4~&>i@1X{`juB+<$$jh2){2EfTjA)1LoqmTP`}BX+BgeTJ~s?QMtuPn*XlZ@4b+ z@(aOQso&8;EBP01`N3mHp);UK~2A$nx2gHECPz_W!vRW_CrM z`^7dp%vZ3vv#=oL(9O<2zEkW^6I2nOfPkp(CQGs{8Gd*4xLw$9Xbp z7Ur5LE=k{E%5c5%K%elVO5^Ez(wmIA8Cs^veVw(FqubTlNy_g1^g8Bcy3%)YITgRY z-@nk;l()?Y2sS-o{$dC9qi_md7A1quE6ywSUHwb=R}$uB3A-sE60 z3q5>n&277FYnR`6z}Awv_G0th^0W1#M%$JjXD@f@bH09m-OhJ0J5oL`JNY|k>w#%I zuVtFQ{&2+Z>)I~f_L*~9qS?iA=gnKioG|mJ$^1=;erGRbH>GCjXFS^`c~khG`L54y zTnsyeZfEtLIklxY)3sId51aM%+8^`XTa44z%&@K~mfNr-&i0yVzF<`TttW1K#a;ZY zZ@+oMFQ@!nM(}(`%+7)r-(nc{g+AclU-JIdQFU$Ql*mh0=2sW(zWL+k>ECZoGi~(# zF`;y~n)$@Z3;2&52tNMDtSom=o5|`+WzY5<{iSeX?GheQvu$sxcBDo<lSv+t#9>ZS@Cp-rZNc-}23_cY?)tOSbcZ$?#<%Kj$6nd;>Pgl9&Mn(<@Y<@LY-Xp3aEUkTX7Dc!YLs{w-@0;2JWS}kXvfB# z3nq0P+I1+Q{Ai8F)H|k)b_X5R<>uepeSOpKSN=iKE1myloISAaao@5FA1Yt1Kf?I` z-rD_h9~-PP_nouW$*r%Fa{ac&rFF5w zkDRygvAs3hV4?MU=D*0h4~%b{?`OP!^h}m!dFrKef37UKnt%SSH1E7!yOyoioGMfO z`O##Zwm*Eges8_~?y|2hLqlhD!QEY7KlNK3T&KnobYJGZ>W3L6+S^}HIx1O=##LB9< zx3)^Rn7=psG~GEmx-&lax2ap}i!G1suWg#>$(pqC#KL#{r`Ky|I&fU^H|Na=xqHn= zOTe2|FZRFB5=KUwId7DwavceBJkjT}YsOK*sd9T?9T(u&Zj8_hVfpvrw{$M2xx=d+ z&c@N^z@b5q0?mS<9+5DTn%;n9sug&JN`$cT2 zy&RCQClQ|W)Jo*i-aoY-9rIU*=!kYK6`Ia=_xb#;>msu(-kv(;_%-G!D0a4gy)oB+ z)7Nij_nGZ2%{7S@P+jW8z;v&8jo^_ZW;lzh%cp^R6hQPm!%Q{IxUb&a|tgDIq~$er0n1Dw!T`X@4-lW^vT7Ha7khJ2D$|g^C@P zU%KSbReP&9{%#;>rvI+EWl@xW@&pO@P)P1GiUb82`P&MAM( zf1PxkEhs15anW|ysjKC6GVf-byFDTBb9t+kzn z>5SsSqaPyYRz=^px^sEk3H_OCjz8D85AV6TXV^!ML(sA!TPmcPpT{$5u9o8&<(Us$M znd8C5^Px}e#cM*64{zRY6?s8~xk147vQ^tM#)d?Vu4~KO&&K^dlYeckYOTyohJ$h5 zi~Gy(?fZZ9!h9Pp=h%B|rxxoK-1_tJ_@iadSRa>tU3_)(_tfiAm6@6O(P9n}vgM&? zFPIwl@!H;qTenz{VNqt3yPy>tgMjZvD=vnNE=Sh?OEuXJ99f%}v6sQ_N=fiLTbs7) zo5G)SSaO!Wjel=x`1*xxYQ43gv+@J$E16deTzCTR&$oMRTXg^CcI6n^Qy0ZOmAaN` zU%Psp`KSRy$E8(QE2BcA?#vZlt^OwH)8Snq4_|9cTa*~h%D}+#bHk#48RbudobncE zyDGDYHTp`K7d&KOaQIf+;*jw4)zha(uGx2AZ56w|&)&ZJCiBq)$=2!D1Vn#LT6TiB zq~y@Mo7PhjU+bOCNcUt4DG#0dQFe#stJvxCA}JFmm@w^2-rMm(z|bLMaaGvbX18;Z z_4}`y#CJI|n0=jPx+>j|fgwX)*YK5`NUy+*aNc~GSBDxev_1UiQn2}|aXqh5i z@LW@UogO5?AaJv?qWaXALo>H#~@bFF9s!iMeYn2uq^T=|fKY~%_=Wm&x2kiM|7x%?MqJIfVsK2E8o%pb=8x?W42@4S1ac{F}vnhxApelk{P$l&K=w;yC%|M@BS?{1&$%UwloeAg0l z_dfVKwSDGNcay2*{7!GKuUfbA+rz2XU-eH|$T83T`MGmD#q0J@>{R&vapQi?``f-g zU6WrXCCbpT$tpKhH2NeT>w(g~jt%WMxb?5hGQar!Q_Df!n$L4vOxEAM#4WV$-`v1M zcR3a|&*x3qb9M`ieTwI4K2(%>T!7rIRyq%SWYn>-jkw`4}5c?DP8i z%J0pi)r_w73WrshSmx|H-KV!U_J${C-<5gsCF(~m_^g~gJ!-<`@UE_DvI0&Vf-Ig4 z7qVoV1p*_Q58iTl7@uRuo}qhIp@ktLhL2HemS(AFQlUqJ#;!k|buIh09<^#=II!pM z`rGYQoj=vYwteH`oX)`DviI)Q{k2aXw_Tq0Ci{ifxz2faYd;kqX0<$Q?_C?P#JbJV zK|uAIyMWe0-N@Vb`Fy@S75~L}{ZMCez@jNN8+ie z3tj%UnQL@t&I@fjEcPd>B3Q;?~I9D*S0@oQoTD>_xncWhlO8?L(8)ZUAZ5s zibfZ-{Sh)^1}41%PCQH-g@duGvb;3&#+&u77cAXTDi?J&L;HC$K$JnUN^JmF~l6dwQj*4@zZ5GCCvQ(>c()g2VVd|7^`HAKtJFgctv_yYQn(j0?66y*OU{=J~_3s=ZfUVbR(Uy!qbb=(VyI%YLhTJ#y{btLW&o zH5E@yDsqD@869S6sR-02yq|i^{#yB(OR9&yeAx9+SXOP@w@EMN*@rkq?v7Y^W!W_& zaj}IzR=!VLd2UDN&TWnBo}8=ozIIhI>VDXYx*uV&+oBkL_?6!2w7vao-RfKSr+auA zUd(x&cE?tL;lStI&*3w+ zac#I}cf+zeb582_rGiCGy*(!bZvA4qZl$*&#m|o_sj2~Yoo1lJLPVfkkcyve&|m=FTfkl z^GP=~zB#(U_E!&gymgjSyQ1V{YqpyOo8pcyt1NvjtD|}#Vxm#5dyVb0gzz$#n3LRH z^PG;J?G>1CZEbqbE$fP}{-0-?-@R#3@oOS;+U2y|8TZoXiaF%OFRyo4f9;&i;fx1% zHQ(b8NnQ>=Be}zpKO$(o-0NA}Gj6=vF1$M3H^O4?@oO1n8*R^=+VT^Q>S;eNe!T8) z?$SWRTYA%Kw_lZ>*V`L&XSu5i!v+_zcMrcgZ91}pjiF)7%N;o{ryiVW{9BHBTk6}3 zp|@D2R`^MnyuILfbIZ*AzAv|WvBz{TP_(|)_CtDCqwA4Nm!oslbZ^-0d(Oq>(V4xN zQ_=SD+6dLwCr^*Ak=<+-=RE88*4{h&D;5}EPY_!jP&aL9;CBWVhM04+n~`TZ>(~eeJom*y!+vp_gl=Cf6k3_ zGkYIMcO6mnIlt|H;%C?6XS=88-L!jpflHRb`%%Q+hx}5evGbC&?=QTuXN$2no4)_T z9oG)tojz~IT|Y-9hnoK%fA?`L_lY!J^w?=ue)#I!UCEnw-QMJV`}zX2ZMoCeEK_Q)JvC$PS{;u! z>r(Yj-oE3H_H&&feE-Jp3)73k50`7cxh!w%-qY;;bW6);t~#-;Vp-qi-JATg z6qfYNyS?rF%A9$%FCO&P^L&0#7rgENrgvF8vY)<|7OZD2K00;QtPks>MA=)o5;xx1 zxN&1%-ns};@K{KV-1plvX6>l?X|yd&)zi!Ch}VIH^1p2vBKJPro-ymijiuJx!k+&8 zeNT3&k*%qv* zFaEqgfBu2PpUyz7%g#=RH_92r_w+~q=i=bmSMt(^@j>v>_x8IFy?ONPq@0b$YQrI^&ZXaMo&S$MuWy1?gu$ z%NB?4<@{fn)FIjV`_l4OzdzZxUdV1*Ia}?=|I7MQ7OkM9JAX;jx71GKUL)PZrhX7^RE`x7roRkUM-(DV{gs-WYK?0 zQLY9v{m;o;{nOa3F*7tRq@I1=<$m$ay;Bxk%71gW_EF+7^&bm4q9pfb9Xz!-e~Y}h zvdQ~AIr|dLjT)zSeY@H9OKs8yQ~j^srwo|rS0N9woDPLX+^;wf^#uz2Ow z%uDaT8`-Oz_Bgk-^Xx4@o2gL}VVv8poIHK}cHpO#X+HvQz5B)TaQ~mD%l~OI-(9`d zcJ}v}uRC5$m+@G5=KP3`F8fuTd!yTp62$A$Kva&xGyIA`{$Vnu>Pxgb#D7g{%yI>&l=9xJU>T;wv z(-Z`gJ7@iH=v}a4!HNj>vGck+Mv9(Pv;k(KAvf)&@!Xv-W1=HQ*E=w*8ZOp z{cP3A1_39@zcbtA%7Z+!-o5*}H9*0U<7jA(*q^W~EzArIzcYLKr~VS)oOfH_vgpt& z@29foO8>6hSi+&$QuJ^8><{7l``bS3p1i)0p`a{TnElSjKm`X5#Xs+!yk53u!@_{V z#HwQd<##7+y?QxkhlrpPhv(ti^t_ zf6q3WWqZjUT71rO)uHgEImVVk6}KXj*7@;By{(LTyL|8T6i@n^R^~a~xefo30 zx4*U@e;rh}>GPfAh0)TxFMBOBd;VqH)%SJFw>?_Hxy^p6f2WOXreN&++E}vzPg0u2}loQ$gw7pN}6ND!+UwDZh2& zrcHBs{tdn)K-Xd;7{yPZ}B;9z9AbFaJKT zq_cm@x!u-_-km(-^~d;dFHP(+d2oXWzXQ6&_ggyWdx_Gw0cxmsLUy zYpn8?X)!P~TwHu2yua7iS2sC2n~8xzBFXaPS`tQT;J73z4GY?reW5w|*=e{WA$SJ$LTm%iU$v4Usr{%PP&lrRi+TC{Ir z;ghY*xa(Dz1f} zL|U>vTlUx5A35~?!ogU-pbdLJ-8y$vn_umjUG>>%2@PxuZr%7l>FfEt6w@GG_1ERm zdl&uu*vnp#eb=Y*(3w8{cKgb+Y+X~Jb#ToT8r~Z_(xt*r7Z|&sz z|2sDEHt@46Y4=F^J(}`A`aI(o#^^P_FNZmtxxLt(hao~zaAV5LOSg7eF*K+&Z!}U` zq&BCmR1qjujo z9U{}P?AgPR3$lX2FOn8K3}s&4J->TV(o*M}mDc+f9K6`|O|kT`j2<6@K=9^^EXy}> zb!Hit{t{T`DEV#fz8ihf>6@}--`dCQ5oni?Jl$Y_Nh@{w?UP?WinoaDlE_%M>TSJ9 z(f8%OWFK zef`E!-7jTxzUw6I+Nh)9ugN@rV~J=*K!}dX#u@j`-)@b5v%o3$Wc|fEvECmA%Wi%6 zanQ8dM@-^C{r{;&bMJnXu}s;uCVEBU*5pSjmzE`{^G11B?rdrPF44Bgq+)W>oAWt) zC68%czIHb5{kFn6?9ZRezrCt5>vWe_n-6bE=$l{5+l~BQPk%8xr$E~M-lxg4`$D1% zt5g|$7#J2r>cwVN<^0sSF7G|9O5#-0tK+S__gT+geVzEb+2Y8J8js%-OJ65xB7 zS!@0;(Q0$Qc-ntIX-{G1W%(1=y;r?Zc!ZCSkJ(Zr(pJN+d7oC!=||E}?@mXEhyXF5;Qxx4X<_AX9_o`q}PXDxSOV+bgjrn2nfp~KtP zf3>^B(XgZG=biZ4+OJ2d3;I=cuKnNk=i{H)V)ZwyUnXwm-(C6j>#c*oDsOdk{AR!L zvXSp%?U9-J|32DXU6XwB)YU5?U#+HXF}Zx>Ow5t=qcel|FK$xfXl`5GIsMF8UA7B? zhc|dn*VEF{kmxgdRJ3zZrY+CmPesLRa%K0u3KY^mRzGuAX-Ax(K+75BV-rmd`hR_S z(TShY@xaX#hu_n8aJcx^s9si7a&vHSkTd+$Az0PCW{!*z(;!m`uh4sT8lWEo0lv(@~>=R z(8>@gU;q083?JT{TzqNLrC(JOy_4LR8%s=@v?}XW&BJ+%U;j9LKkMS*c#fKVTIvE; za^0;GZVDaC1R0))Gr7op6nCqO^RwRVd;b8(Or}JE36m?!dlsK&uu4l`cK`J0rI%m6 zeVZd|%Y1Rmy~*zU^Z$Q#DgD9Wa^z6ktXWyszc-%X<7nQ_Bz@u9{)wHDS+7bt8v5q# zJK^TLVr90N*d1rNjRH)bhdG*kk1$U?6t}m=^N@jH_@!4_*#d&f3JNvS{X2^7k_7!S z)dPNZ7{9-_^6lYT=b)flR}KmJ^02fxrad~pSRv7`SyRF0j=9phwQCKxZg|HWzkH$R zLGcGu;v+<>Vyd35_vSq^!E}QA9d7>af^Vk#EGO^t5}p*>YHMz0*45pe9PwRIq2lr8 z+t;~Hggy3|$zqbs#*z27dCKemJd%%BIX{oJsCXM{|Mz3~arL{_3Aa<-o_~AQW4!$T zHoiv+j}?{PIhS8N>wd=k#~OoO9UUCGxo;00I+Pb}BA)ZTB)Z^}Wps(|pJ$h@D1MOj zFv^-1JpK67tKXhiUTU*GeQc+`cg@#%VTyrSH#}r>Lr>~2`mo*pemcwUrY~=#c{AEL z+Dr^LTu(0(@0*@bd1U^gb?fxh)Y=>rzU-Z_*~3rBulA_+0wDqM$F?FSVYcUOc7J|; z)2;LTr%Pck`6J90%v$4j=4Vj4$An`0DQmvAF+2SJoLv03ZgTYh>t)(n3;{kT17!X- zFcoyx-V2+pksdG1)^A~Ewr$_Od*{#lJ2@?SK5ePB?-9iofvnsUJ4|AQPO;y~tE%P= znYTgR>GEGyUH|0TwO3M)Dzpd$J?UM(ZhyqBz~^hw8>UR#pG>>5Y17t?vX8A&&#k&~ zy4|gL&foU;rp58`Ggcp0apq8LOtr{$kKz?)V2F~J`|#7R*|kx?NyGl7izPb)!#iC$ z$0h-%48h=Yx#u_nn@%m9x#yMFoK?|*c44QI1e|<=ilg3a_P-`?D<#mSIn&C*%F4>B zZ)4bU=B70h_by(%c=6+i?3dihodr*hE!w`H<@ZUwT93lNn^)~jSibzDL8eiQfD@;v z_WW2)*>_g=3hd2p)XlJHnV^zxRh{pqEAG2_y{<10&-|OQ777#O3WI}#V`AnkT)1%N z%*c`wleR=hN5{S2q>Ns>91@b{YIwvYb;;a4*iSvS;!@U9f5rt173`)PD;;s;TYt)H z*XN=u%YwUoUz|O^PBvz9S<}(a-rxCl8X4x5CSAxle>uzk?OvPIioaVu{)awJ*Rt7V zQ@*0X?OtLMkCxyT(=A1YZTGHBZBNrU*=a61H%f5F5$9vSPBLa^MSDJ)8NKy!*}Sjj zNn1ja-EHb5 ze!KsF?N|Q7wAHqDhK-zpiFK~{TDCXe%GY{Anzj?K+nafNdVc)=eZEa)k%NOnVd2Kz zyQ||%IJ@R7+jsEx+v;~2^3k7qHgo=8b5Y(iuX0kw?yz&IbEH`BurqkPvfABiF3O&8 z=g51N-mhV6tu~%AjCgwg^6KPObL-A`&QWYss53v`viauP zwWXp*xBtH(GU-Ixxq0i<8BeTwoVE(o5Vq~A`Fi8Vl`BTuwyM2ZXt&^ypE|@A=>Q&&-)S*VNSX@#Dvb4;^A)P*ha>Yd7!B4F>m*?1j(&CpLfk zbmjEI`^7ktmwyT|;qVB+g!pvf3H`F z@ov&_OXf8$i=MRVO}R$p{K+CY>-TJXTm4#alMstX(43-Wd|S-6eJz)~|LcugnDW)4 zO?GQ{i_K4VSaj;i&$J(RXROxWx!~!?rB}?gCad$P*I(hd5xK;z$DY@ci44PRkv!?BnK?*oGK{D!!}p_pOM6use*#GI;RR_EUt1&P33wR z%_`&MusG;v#LO4V-7(v~`m%Ph6P%VgZ;(#@vwpdJ>yOlVdJC*_jFvH8_*AIf)4@3B zboC2%cB9L6{xP>V7PDw>%1UXRrF~d@Ztv$X!R21sD^{Gk+-c+g^+w6{r>y5@fBXM- zk>`5l>;T%(6gk{IYz1$Z~5#;In60@)EnB&c9Nf>$Uls-Zvvr_5~{|Eks4WXC3jc z)9dP*%9r~5?T;olckNs4S9*(gSTM}bbZ9!XMD^X4&g#C{)mEW8??0|~6qnw-)_>id zRf-vrE4vtHO*>n#;pw^JW9K>#U%dRe`MFT}&(bgVR>=M1Qn=T7vehiB$#MC&vm8xs zM|jwjEiHGhS###_;l~HW_Rw*%*KbC@)ovT?dzQEF}rE5Nrvvzr$T)9k|nw>J@7rX(SGySG>Q6o zj0?B?om6@1nf>|L>uUD@CnU1-+gof(>z=ZFrc?C0i=xu=PMp7M@5sj-aJ+u&>32K1 z=k8x0X?i+nX2@^GRzIG}%b#E=EGU>^njN-2Fq?sa zAvNavAE_0;6E<&Oy}9~D{iJ`HhZq@DzFNLk>kKzPQPp~*1^Gyr?Y)P%Z z{9I|;x0B=YC1>tsJ1llp==|~zx+tx9L8f!nzCv}Uub;0~-zvX{*tF*UmY|Qet7FCP)Y&K!YoE9ClE~jvn^}Z9AuU<^O z<(|i zOkR1>?~(w6L&!(lV)L?x8|KIst65t1&6X6be(fn6)Un@8kY6Qd^<)p7T^qA&oR4gH z7Fu~;_tItKh)qSNrlEWLRCUjqm>IvnoOoL5j2`8~dCQj_lgKHPqk^+>h& zbEAmI5ra3EmUee>akVY(aoJGxqFVXM(`OO4t!l0=R*CB|H#h&ybjcsdzD$Qb7}E{nMd|NxMq8k{jr#PS-$S)Q$A?U z=E-<1FW$JKbA5`{LG>iV!(YGee7*Ze^NySIjB5C21=q07I{VP*Pl0&-0_(ZiE+;uB zxcAs3IjSZJHjvX(*l^$UVWHmi=!l3TDVs8cu51!d?egjpaH=~s*-m1+zTWiT@4JoK zRN`%F`#XMc6WLYxWfiztdhWRd53g0LRw^rrU5eH{^{(r{^VLO65C0}_Eal}j-J0)m zA%DWtBE`mdxqa>~e_AKbpMLpV-eq$Gr)3TjEKgGI$v%Ez)X;Zx=F9J&iV7Px-;T=N zU!D97t$rEJ-*z#G;7ObsT7T$d2%4>$>xjC{fW?6?$9MLg- zD)p(ORlq~aO(I80ZiUFP-C?dVp4Fj|ogEU4j1O;D9C@FtQn545^=ic*A&pDwO6T@e zFW&PEri@VnY3Qn$bP!W1r^6PhhhF8tmn_<&RX)2p*Z#bjSIxBP+r0M2PwifzwpzHjB7e5sPvywsgFD}_ zp18HB64V2Te*Pv~$nD{Avp>1pZk4}1Vr}haoN#+F^XF;zru_a`v_x6>@Wo=UKQ9E2 zA3JvK`t{#Gf0o9tY7YK+-A65@a{l@!ObixJm)kDcI8ob3%H=)#RIH7D<^yX_+sY)Y z*5XrKq7i-m?)13BpQqf`7P{_tWm1cP)1ogYBny|m1(gIEj!!R~DHomURX(f3nM3i) zt$-`X>O@v@XU2uUVr00>&;2Uj)#5e(R3%3a#U&b1=d5SkZ%7lLq-NE)XtROZrCl}i z&%b(Y>g#&(^R)Y+aU#3#wJ}aGIp~hP34hmIooD8j=P$lnO@5|3FHtnPD!1`}WoyTm z(6n>!>z=^Q1u&TyXP*pfj^Fg>-xbZeOj`fe-{q^Fu5P{i@ZjS2=1-UFNZy7;YoT#txF&Wr&uj=d~iR{t*C-Ed1}&(oj1OPGoZe41t} z{j>VL{i*h!nr&IVOYTI>#&=RTKmYj|J2^svL2uhCebYH+`FkV_e0DEd z!>AGEU$E)gqK0>$b_6~#`O3?4ZeNZ+N=vafkUHp~*^HUz`Y17W}%G>(Ew}6GvGLGM~3+ufF{|*K%_B-Fx$u zx9)$FcVkc-M;IZ=mlWOonTUn_pV#?zm>dIT}{4Hjl zWn`E#*RJ5PsJnq_d!3}?fewko8y-AJ(3>6|60&6Z^7Q=t`|YQf?9%#2fmZvP}siLH5R1{q<$b7dXzj8zU zyGzlZxF6-ele}G#^zYGU{oAZ2DvRE`2^c7`G5q-Po*^-jx6f+I9CmBHZF79rTpaO`y&dA_N;8x(Xc4rKC4{!!Pdypu2clN%uK6`*Q(9tsci$=yjhDpDg{@+z; zY0cr9vtx0uO1{^s``ztLgMr14SrsSm)F`kD8S?Bdd8x#Z zaA(Iyr3lL{n+5lMYw_J9k)N0MjnyW}WjzOn(=)-xv0lO_N|;o96%-Uc2+rp5`14;Q zi)kjGpdk|z)2EJ!?mZu#Drl>>_cR!sD7kcBPNMB$%(^vmWTqcJxHE>wNpMPMrCY+L zh>ng{0Uyb8z|(Z{HkOvR2@^ z$Ccv{{ohS3ZRN`AjD5FnSasxFX#tIEo-%zR$gMcRq{rZfi%o!LPx;!e9h1JT+9U)D zs6*R7cHBSi@xVghVNC$jQo;0ldxN8+FJ~KjdS(W5dz%;v2(ZoUwC`{Fv0}!?6`u<3 zckI}as3!#%UwPwtzZH5K3Fp0L&Rv(WE7Yq#~i$)53L253<=RoP-flKt3RK~7kXDG4P zS+QUA;TrppE*8a>35zl;-zU^D&x-Y!Rl(nM=}K&NPgY<1+jH563irJIc=71PrN^?% z{DPGfGMoBs9xYq8Y{w1@XJ=<)TrG&uoT7vlmM)@7kDemz&>(HNHI7UH1Rws({km@`?{He*6B^^ma2-Wvg80 zUw%(gK3V(rw?#Xm+Fe;1{$8}8R*R(md*>3v`uCR>-*;t`n=$XjRLNat!L=vf{(Pn4 zc>CPz^@1!t9l=3CfBybe_n#*tAP^7}^XA>VdyDlLm%9JHF)4kH?~nA}e;!4rCm*@J zwMg&r6_*Whvgb0>H%CXm*6Patzfn_V;@LU2vHU6PBFcN;RQ~(3&QphnK|K2EbSb~t z=J$9kmc<5MV-Q)ZZV{Os=ulpHN26#KX!`hSubS6f^v5?Pg@e&d!)`j4}-!vg~YgMxnjlNO!2u(+mnx2S>Ls#Kjkfii_B zS7vj$3vu(R ze(t<-V`bH%7j>d7*`5=QW~@m(mggNb^)H|5`{G5RX-oF9{F)c$b1$D^sgG@sXTH(p zxGkr5uI0USj{kbt_V2fg)Yk9XYww;_fAj8!T>1NID-ZWfaqxXPyUZokNzHdnPe+2m z3!9JA4=z~W)A1rPumJTM&Uai*98#W`2~BiSnxv$>y;R)rLT?&&1s9-XNt85kTUna8)6gi2LKm z#ky;sdC$*FrrY-Ge)$$~ckh+Zg<3zSA9Y{dYrcL{;)Aa@+xeer&Ukfdvb0=WeE|Cs z5moye_m`}QkoL&2-d(jiyG3{FC(A8A4{qf@%rr$UGGl2cY z3SNYN3!3z6PU+-p{y)8I;yQRAJ>=)v{Gi^PGf{Cillr?1<&(4h{;Qg5x%l&J3Afu( zX=3wkd6pi7i0kK>)&Ba|#hKU6wMmk^Zo8k&kNf7Ex4Q&SNwCiUSQPlKHiE_F$lU3n zb6pe>3Xp&3_a53aV*;HWoC!2&)d)`{`ldv#e5`tk+Ju)Z4zpfpM|Ja`HMU1_SA9}F%0Na+Y`6)@$W>v{P*wMST`GlLV#LO8>m&Kq?q*h#C)uElaUQ1gL zI*a!Xn>=NT+13p%!pw|`6K4MStkKcmCE2aT|Gl>( zJ3HG)cg^nu*E2JM6cjjG+q<|RTkX}EIl2&U0hsRwrwj* zOjMl3bNBJtr7N8uSWif~qO)AD|Mcp&=7~;N21gdBXut(Gs@cmy z)1(jg=KgxppK_M<`6h9N?Cxi(-zuYX=WbpfSRyvxd)Bp2d3)Oa)P6qncxAB7mLmmU zCJ4>1IB~#; z7JZZ7cb$h}yWaPLhPA6KS|%*Yu`Q3U;yrKiR={qWvH_O@Yu4TI1EB^N1<Aw^ zJ8`RK#p%z|o~%zE%wREh{Zsla|8)3|{^e34?>A0y$WgoDa_8schlkxST{gDMN={9+ zOz+F*xB2&RyDtCY{oidh&ED7VKO3yheJ?Gp9<-cj4weORrJNcIErQ|&8?LnnI^H%G zWfH3YEa@iX+qh`%*}UAft2OrhJ-%#$i&^ov659zolkS>sdj9kCZncdD3^6&O@mUtR z_bQAZ%qVk>WDeLe??K91SH`R08mR3_!6A>Z7prE3%M1Q(x^0j9xyDx9K z_IK;yKsT4W51R^fIX6l4nx46l>$z&v{e@3z{kELy*)rYX{^hQdn>nW#eKkC*gLf>SwXnrt*uYC5>! z^O1PA=6yy=i`rc+`|3@YmOneTDsumx4fiE?dxXan;2huh9eQcPzt25i`PY`siOTa4 zy=nXRVfVRvyJk;}{jg(C-``K?6z!RY1fR4yyJ=uQXg| z_ulN456U=ydDHGh`&hn-oDHWP1@oES3zQ4;3P|qkby1nvvE;;w+`FzkB{$~=Pu`Ps zZ(`K-761P&@Dlkjp<|ykXw-$_!Q;n=tA%A`?zF2E@k+i<&#h0CFV(47qA{IsDX(;D zUS8G`Yo~et{CJd3&5k^@<+rt#AAE9W))Z6jx@;+V*{3UA z1lnF~v6Fr%z4-paY~-fH^KuuR+HVh?E4h~K`t+o&{kr@WMorg~{GW~ng{%n1 zEmOAL)Trz#xaAknDZ%jI!G+^*mcG^3o4<#h!Qw$`*@L&?&h@9X?j`noYhz$&ShA1G zZH#i|E&qytCUG(-n4M7GRvf)}uWP3rm(vUzIhqYucnY5=X`;n&MXeMAY#kQ&^MZHc z_pV>O)+q2Pc;1(TJ8D1n97sB;q$K9_Lb7Mq^y$@)e}#s)iX;|Hm@?(YeZ3H^sa}g; zzLaKS_*A^9xTtt_+#?fr4c*8Td&>HDuPQdbxFQ4{K?P+}w2?bzcW zP^zrZA8}#=;rWzYS(nRIHp(xg`hjOgM;J#G37dW<;KSjEuS4Z zr?}0j{O*^V>%0D}it18dU7d?Z92_K4)c)CUJzAV}Y|*L1waSlf-I5CCer@-m^wxFD zlh3{c#I9aZzk@-b^!n43wO3y&Da-%+)wB846>VPzhE<<;PC6Z&a)HIwL9Q^qBBEse zn#c3eniYSl!lkxv?OeUl=H-cl#CarN;C>v#ps?dZO>fl{12GIzwSoGJg;3 zGPm>g_BgTT5zm6u;%`NXvFGxU-~Jh1uV&49b*jXUr}N0{`A72q9Sn1x#h}>oB{A&s^*@1E zauusRrbw9uxkrZH}3A%$DXECe>eJ{6a(kBiB zU!OLCmXTii%2A%2~99Rqt#~%YIH>YkYR<5zsoX8ChcYe#>vG zyR~NT7ncW3k9Fnt&*P9e_5bn`!^h8ON*lH7dFgrd#F>@vdcMWd`&-N@f6nU~Hy-Z& z6lTlk@cJ;b-TllB8UjunPu1sYG>=cj#EhAJRU4rzpR@ z{bPaJdhx((1-HIM&#l;7vb@uxMZjq-uWRmtzdr-@c|Dn01SW~Ta_Bs^>P`!9+arbsv7aI@Q_FV+2O2ug{4{6Pp+n{l zXYU2PI=q#A%9U~nMm?Jo^(V_h85kNAr%k>y=Srpd%4gqQdcsxL-u_!~<(v9{&Jbm$ z4|5qUbq{`hF;m@s?KL(Ah66@rvhNr9G5M8w@#{s*x0ra};-DNe0|RLFS>wUqPNgPq zJ&h}D*OW$|lbt_rM)YpCa*iKMQkP%#3V!yj^!kZ;&(FV~b>t93!N$7+b^nN+nMlIYfrIm@Rf4q7b zxjC<0y))`(PW&eHqB_d3aykd1O?hp-vvLh{W>TsPOS9wi%mqAbwW%&H{M|(|?`@bu zuZObl@!B1E?b^3D=bgW|otv|0wSDQTq=OGH_eb9pEzkesE%kJfrXI&E=l$^Q3I@|p z>uPCTx_o)__U-TAN%SeIFSA~I$3K>UtzUKr zXIVwIrj$Q;_m@xP-rcNUE4BPpgc%+bebh@*zTH)}b7%gUt8q0ZmfGfT`%{;_k2(;? z_a{*J9)IWef{d2@#{%UW*+r4sm9_WQ94>4)*;jU%>1ciWRC|k`ubsa}&QtbCS-bMy zVY$CmZ|W-FEp2x=f7eBbRaQ(P_`J7U{?z0A)Le!LB zJ+_{{<8=6!dn;b-4ZPc)`!LqX(zCK>wUPPniZ}1>pK|;A!my`<`BKNsx~l(j_eF)L zAH6ms!I(vO!G;byX~zX7Nem3l2R;1!^t81XtP|{9LmS^M4{>5?vse#7%lpX=|vu({X1e0kQnB368UFVEgh zN81>y4HtaA^+532?qxdy&0BkDYjTI^7*FUje?@LrUGkx90zqt#yx4(L~bRAdd$^ANZQMr36r}8p4R2`|UQS;@Q zu+LgkdhR;;Ud=qNz~9^Fi%1I_J5FqPY@xtc`h9zZ?4Gwq68lQ#aCvsf9T9#ptCWwg z_FNnncsZ1T^K@6;Pj_yzop9DUEVQi5^9aM_;{T?mZIV0EzJ5v8y&=HNow=#t?(ygD z3=9eko-U3dXDWQMzATI8KU2P@)8^M^{}5R|l_|b4;d4A93}dI?TP?u+GVFGq+D4~v zm;WZE{@M&Bp}Skt?7w*&2{=}IetqL*C$s9^c`Zh62h;bIwa>Tw@#y&c`dJdUxfm2Y zwWO-Fx(=?3+NDw6;~W(KVgKxw4HJADh0C{0eB!(O|0F5VMe1!G{uUh)WkQ|yGL4ID zOD8@0_y5{%ww_eSd-Dw{r?d7w%B<)AIA@KUn37yu&FA$8uul&D;hr1eeUIyHAp6@O zufAIWv){3-io757&%!!n?RIJRyZ7^)k6k~u*YD#mx1DO|=KQ*wy~{j_z2)G+t4F+_ zJ!96K(2;m!skb;I!{cMU;s;MHoZI_ht9s6(qZP%)oAn~Hn?YV8Yd)uZxF-~*N zC0*QQleuT>uhi1)*ii1OEewp6M{3`OCeDdEdecoIe zrq#vuESf8Nw^`=Z`IALNM7O5JCN6$k%`!1*vi`S@%^LfDJaLzKbL7L8i`ADlU#mSc zb;gW6*W4d1p7C&6{RiDW--V|A*8cE!Z-&kqN%N1A8DUBa+xaSwG(8vOHxo?$@{sM= z;np9^r%s*hd<8s#`98A)>j2_34WW$}nl%rfIkhJ{DXY<^(ZHf%!+s{^b5D!7xw~ih zh@E?QM}N=y#cP@2J2NC3k4|!R(P_D0EK#bj|NYq4)hoI*4n0uN)ZDl~c14KRRJY5Q z%~=?pJWqN4I^7~W;qIeJCtpcReQd4nTlZMMel=^xZh^-A;ZIqdjwf%FIKsga zXwLMhqm}1prRCc8usZiznC$1W}UviIJ?E}wO6lQb2M3d+_-7q zLk-+pF&ZA5ZR1mtHcbQ#C>HTn9&zGO;Z^1_6XXx!dK|l2Y2A{&tJb)<^fWYl$hCR& z-B8Gaui-_}Mu*HJGt1v!xpwW#Eg$r)7suX zQMO*<;*Vb&pIa5Y-h`21#kuERdj1m~g+)Ng;bG#%+D(1+Ov`^u?Nhrc+To%!*RTHn z$Jeo$cdn_eJN9YGZ+>olohxswm{q0}+Rpm^A@Q1`byBdg`v&!}w^u8*rX(_IGM{GZ z!rCQxrb4(&(6&}p+}zK6qOuc*;me7Sr~Uo8hnJz@;*=|JZmSG6 zSIBKn@DygQuD!I^uzK&r89UB>vi^E!`~5Apb_UZF*L`~Y^tz0q?{8&?OD@w_tX|#S z*{LYNVJlwr?^Af}-MPL8f5%z0$wn^q)!ezE)N@Ju@(BN?zd-ivI+AxTPuV7m%cmY_1&$E3^8U^TU`9#T7+(2RI_HvQH7Qn zOP+1Hk$$&2>&++a==53IA3vo8LHY=FlfDQU<$M>NddFtRne5G_t zT-z#bTsLp0V)2VbPnwRrNG)Do?KgXK%K4>#rWEux$==h>zxtSAi=EAb&vV(jnG{MnJDYU>eDT_H2;7wZ zX=!N}FJ6>rV`XLiy64x~`!?6od{;VGT(NWy{jq9F?zPyPNq>AlDS0pd+nao-Y_6Pj z)3qt$Z@0hsbobOZ2i;TZ-sM~`|IXU~$yGK$YN^Y^>yeixY*c?{dGlpT%iNOVzWkGa z<=wo-`P-)N?Y^y7kBMrd?~2xVf9CP(w{y!TJ$F}qbNO+~yZ9Y9?)t7WNNzQo89TAe za(U&ad;4p)ocQXReqArlit&|=t!3kOPs@~Roh_Z*zzOsa6Y4#PLS`l zi5Fb${X(~%i(c*ha#5=1^4pJa%`R`zyelWgDRsZ2!@Az4=7&dB)iL+nHEVR9pZWN< z@wm0!WVbW+dtNWf{IEvy|EW7?F2zjSbgGGqCD(fWe$e71Kg|6f=XbHhP2Q6iJum6Q z+RwMwX4>+ftt_m1+9=c;x|36y=O`nC?kCMlr{8_KvwZKLKmPXfM8DgK=bc!;^om7j zYioYPti21bv}f~ctbA|46jL$b|D?C87#J9wb<}rS?wuMw>%OpI+|(_3-wy}gp8rQZ zpqJx7Iop#hEY}yO&-=3_N}7Rz;q;BtJ>6EE7B@9*cO=w4a;baFQq9A_0GU*Nzt-vU zJd@_@hoiPXz4P&9=gzI!CG8FVQDsqUO;YpXvCmK2ZM*G!SwOo^I(L!rpJ!)RuUMg> zsagBKx9ije%YFOqa!Jg;Vx+dRW`F(d!nv*DtEY(F;V@prwLs-!zB0!&lZS8KtXa8I zQeIwOOpJ|zgOl^+&f3?Tr6YSoPM`d>_xy!t?$@~rmljSoIr_UoFIRQ>^XTe-OSeCN zrC4s6csBCVFIaEjQK-?xqQ8sf_Ei0OC0yz5b2LSx;`5?ech4F;5BE0=oGN&D!HdN66U(}4>x<>Ek>;1sHq!V+8#-GW8QS;U3 zoO#B;aLP}9$Hy+^8AP@DuWdh;`(I{uuA%b52lm_lN3Bplcw9RPYcJrb$KI&c6bd>4 zsDsOYb*5hVl<@z~((O;gkKDgwyzS$WKS!U(Z{yDJa3QwAzt=jf;_zM5$2EE{-Ive% zBCmPw`R10ieHYR*qLYqXyJ9YDrx7=MTdk|p<~iRNUF?bD^+*#>HPOm^y{CCwn^XUG zIgf?ijcwt)?-w`Eo*$#lvdi&xlUk&-q*U}Qji6oGH)qB^_0>&rJh*fB)gQNm&%s8n z1;2ir>wV{`c2$1JmwPMT9p3gqZ|0t-|L$3?-W)0}8=1ZOyK~8vigP~?T=*>7e3&< z^B2roZ@uwR+g&m1=HJ~;`?rTKH?`ecsg!m7Xu7iV`kal42jX~M>@llo`MORs?~1SD zV>hpD`*rGEN_c0PHQf=ej7FU!pJ{ieiseV;|6|R!KA(MhREkUM=H0D-4sK1Bz`X>J zVS!ws{CrPg<|Xg_P93ure0{O8!S|<@WB7C_Zw46+znfb>Z`oM?ViNZ?_q%Nghcc`k zRg)MRnw{rwp6)d3>9i@@XD*}$cH5M1WBep=dPB>~SRum$Pwv$F_9n8ei?sb4!EJWr zfYYoyUwiWP{7z-Fmqx2aStl0T|8}|h(81~E zkMqIv-{({=OuA?e7`dhK7}E`;WLA9@hQ;Am25C^YmZQAOGS^#IE(s{=s9S zEjS^%-6rYa=MMJS9frROm>)lM`g8fzsgsIX4iYI=FTa}{F_?3D>eR`Pi!3arcROk{ z85y4E@DcMC>5O=Ba7toY>OE7#tq#i^BxD?J#5W4kc%p!5OKiu1`>TtX7Czn>!IQ+& zv_hJ(@`zL0pFMNR%4Y9t6f|Nzq@bYw`JIIObjFf1=X~~0pWe+p=kB$v?AHpju057? zyk8)ql$7Y~>$`RC--s0UmV?oaycw_WpE#mp`qk<{p>#C+#NJs3Muy(LJKJoM6j>&< z39`-ZVApE>xGq#M{8C(Km=b7b`wug@kG~~2W!N1`c1A2Pd30uXc~*9IRj!(*W^Ptu zry3j6AqC@)&jSVIMUBNm<=#mPUcYv2MpVT2#`Tx?o%1wX-u^1e_3vTUh84T@)U(&d ziHpAaa6Nra=<>KsCWe5y=cmTZQ)*VzVEWYY`_SPV@Ye{skVAdBQubXQucNA~@?()1aj=S8= zcXG~2f9=et(cI=~e{71KpIvZ0$=Z4G^fSNjbIj6D&h!4M`A~}0dQbShRmT}KYAX&r zx8@aNb>dj~XNmArUP(o-085j}(Z#xx}$VwJ9AFxQNB`;LB(BQv-=2HD<#EOB$BVlcd-q;{GiR9#Rl5aV=E=pgJ`VhGW{Ge7=X&=kI#9zhYA!G`{SNo4GLC`0DgK^Va(b;n~H4F-u@$^8Dz_ zsq9`RVNca^3`E!&wwze*p}+fb?&n`F{HoLKUo$GqTd7Gb^Tg@047^ZD}T_Ij7RIn+ys^H+SBb|Saaek9vU~Se>^#zTaNv z;h&_t8NcTj&uS^|+G@8y^a4|nv-^aKsXj~4W(@wFzc=;x)h)Fjx1L{ndu{aglKkRX z-On61YffAwG_zejrGrf|IHax1tHUO);+1Vmhx~dU*NzJ=ZKwW-Xl7opxm$hyeSfw` z-sb6Tpa0IWe|4w!n`QOez5A=*Zv7tj`tt5e$HX>SzBkV7*rUPf{O446-lm27b}i(M zX8P=WYcBr++nYUowPqZWR#G48y!L-yx6paL+6QhQVd*`4GffoxK2CQNzV+bk-BU|s zj?aF|5OR2{pttJgq+r+B{}JXc3#PwY{bGVZm84*@#ItA5j-_obE-KoxWs8oE&aEuv z9GP3MA8;IJoVcM(?bwP zx|Ahqvh^e3MGjYwuUfymIXgb~Je%)z-*v)gzLxU(w0nHsI%SjQZZD}>9S0|G)?E7I zx&Jwf*%v)7n@?30zHNYc9SANMwV*qf-EfBR5$>ZfZ(?_9%ow_aGCbA-WR@kJqF z;m@Bx%gV~$R`cBTRjoX9vuv4g1@oOXA*`>txLDlIZkqIP5$mTDzBdi79xt4_*0}hz zkF1wtQOXzThKVsoYfs*hF6fMp_jjBU@-_cceDpU_gJ(K&PH$K4ZOPiBS@rkq#M^GK zQgpx1v2}9Y@a*f`7aQh^-{<+ZXIE~8^s!tQ`Pa{v zH77?a=NHR1E-<#cox8_9pu6behnHQ?PHm{%U*GaeDcRHO>f}YorUjkb`g2-u!$+z6 zg7rJk7frdp_n6x%mBQ;?CxV&}^d8P+n9B0~tHEU#^_ROlQ=4D+*V@mCU4PHrCM#t3 z-swt?mvcSCU(U-uJk6gkmtoV6m#22DjOmmx=b3FT_f|eJ$5R+)X7{IG zpC)q0{#*Kr@9k9#b(zf4?`JIFHTyE}^+P#fNvR2cu2i(=7d%N@zJW`IC8hnwn*P3M z``F+WzRo;CM%=sR9{3O=zc1_6yebC8pA+A?bw{fvsbp<_etzj?8>aM|Ka>M&x6jbr zy*Ekep6WtG{7snYC1fD(~|5yF{NY zbXDwFpD$pTm89})5_4bu-?jYRd|zi=TDYm7b?tHwU*F^o&nZ)H`SJWO ziKYD4SHE`c@j2Bk&5Qk0L>q~Z=dKqo9p5JcN;#6C-?UD)-}2P`TSxl_u;za z%0S0PhW!G~iYLA<{`l(>|I)9bs-;IRGBLHd-TAltL*1J%%lm)KdcmTlce|MHTrGd* z_ba!|=GE*v>Ejo5sv_F#yK_m!$^U8|p5FYkinmUT*r$GB{f#A?wIgF|_TF4>3m;bi@_-B@*(<8b4qom7v6^9k2EpB&y zn>>1_mgM6Rc-&zlfB4!NEi8__EW2j53^i-3BA1P97oM)@8K5?IH_fY{irLX0R0#b$YhZnc=&*(@7gURO=AJ-zS2x?^{lRfM*7*8F%AdFYR;?i$-y<4!qE8*b|PIs$msnfCL8z1Ey+OkXkXQ=J1=Wj&4=RUFMXcBIpQnkWOMpQI3GID3Z zLnlVY#%q^0dQCb!=S+$whoVnJZq$|8(@eJ>Yg&CfUFvkfpOjA*r~0J5tv`16rK-Va zf4zbqu}V+msMyuKZF)I*`Pulr&o3=j(Z8y0otEpd?g-d>#Q@|$*N_=HqA!d>)CuRE=}f8R1AH+_4#Lu#3`@k-WQkz zEGeG%NbvGpu}Lw%&Mx?1R>EQL#IevZx>%}VrnIGN=!_NtrfSGR_3BkqBO@+;{^JH`u3p{x_2&D<2QD72z2EnV%i7vauD0fO z#+9HONq>SL6$P*Udv%(2`8=t$IuV}@Y98Lw)^t6yw7D*3R(8eD<2lo}bgIAC53w!Y zk^X(ssx7weMJL15_qg-@Fnf`xbog4{_Pfu2e1G@k?cv-Fdw$G#@~LoP`m`69UwIkU zvaMX8+5bBtqIHsZ>(RHDla{_Ok2ky+r(&JE*J|g+59g+`Z{@2#Z^^3^{%p?2=#9t3 zGWXaeo{n51GGADBdsH*O!2T&h`V(HL6>tCdRO#>o-P0CtcGi3hsr=ktH>)Nl=$Wac zSiHNBN%X9&4K?5Y=PdDB_x@Xv^sLa&8kt+I;=9+Y@ks6O=$QSl`o)EZSFUVH%RF<& z=lS{h*SY%5_eX!%srj}?Smb&AzoIb3@B5DK>El{BU9d1H=+Y!rZy6bxn3$M(_Vsp! zkB(e>D^wBrXxW1HOL-@sJD*{VK0oX0yDM$Xm8+zUA8&j0iP>Rp%B6;_-*;%A(^r00 z`P}m8TzT)~pQF8g{&7sn!-frx5yk zYRAV(Exx4@ilIzZ1yI|$^Kn& z>lza?!-L5Im(Lz&42P`+xOVa9tH+T6wTF1l2|t@vn%?i*e_rSNRgrf2AhVfkuPkZL z+2uE{=HH)loIE@Ss#^ZAhpu+`e_QXk+x8z>j!mNVy}64t#jLEw#l)UH-TSx7-7oLK zpUTfsCJBEePD`x!`Z#~5o^SEzw+9TFH{9ECa>rq(7qQDaHzprnwQ}XrW5?FT>=a_K zv9XErkN^KH&CT@c702Cg<)VH+sxs3v&TEpYkG}Hl-HW&<7Z!#K|6pC#$$Rgf$t;26KfD)n=6?8=mm1Xf z_-s+a)Vp^q(yv>0Us&;U)}OuCpIuN?{9>eZ%;3z~v%P22ox=e0I@ufUAiL!5q@~L`Ln_?mJWl>0+q;|fZ z%Rl{g%U{FrdCRBgcV_GtsG6C{#4u;h9E+|ENX>Gm_s8s3N+n-w3-Sq+TF0io{{E?a znMHS`%oBOqg)Jkm&i`r|_HgCP#oJHI?5REAICs7KHzCL5^5u=k5AWH2e-oGF$D?+Q z)9-Ue%7<%j%=j4~MyYi8w>WjQlmJ>GHZ+RUA)%lMWmSQ`D}J>a3o+4_{d-q!liB2R9H{tbr| zQVsXX-4a@HZ1$q-_hokGF7dlobpEDt2upU{{XV|il^@S0oL_yr?Q(!LlMG!N?cpzW zzZBW4W}6b3vT)91-M5)Rk1nr|^>exF;Xi48{;74_g$x;bq^{<@U+Qt8B>Gb5uIINl zJe}+;-Jp}V%P3DPT#3ym>Cyb{eHW(x`sMR~H=pozLrI5s(zbGV+v}?0oHJSP`XyAX zgsGuW{mF&@ z?rV#GW>7eF)o@j2)Ze|9AN_)AFI3vRGIZ%VWhb^}o|36)ucBIDSlFesIA*pBygfbj zm)ft|#;ji_ZfK;bUu3cM*}Wju&reGA-&bpGH7y8<*(NR@U$?~~^OXK4Q^Dd-Kc>9g z%u%Lr!FGpO{mC0Uj2VTX#|ZRDo9~l%M%vG^WSGqYcuQXkJRzOKjfyZ5Op zD=X6;1=Gd)rUB7Cz;QpgT8*fK=h{`G!IrZ*$S$%7mps-K7OS*^~T-4 zhpg@IJkQ>^GDq96>&b$&WA0t=w$*>kowJ|S=ezi$-?ukxG)TL1EL~vlB!-381f>e! zU+&mFyTee?RhIdvUCh=bAt4r1ffs33FAL0%7|b~ruwLJZDb_r%? z8LwXmFH*R`TQOl?lI5{o!uN8sP!DjCI$*Z-=PKVuR6pEBTW z_>=L+^>%N!e;_hTeuvNJ{hxmw{a28)< zsQL3GSA6&0Gr@F^rR)yv+gGX=_qvqp7e9Vl&NRI(WQQ!T(eiD|mYWUg!atNoem`q0 z%K87OZIH5?@BH`cUG5Z{`E4)%JFpvxQTT z-uAk+lT(i7k zgkJ1@`29&x!~D{qnKR1|JtEKq{-E@Id9+ z+|HxnO~)@7&aqg2McDMwiWMtPojTRZEzZTkv1OIfRF!tinJ0q;oMvpewPl65?hVNs zspZbgUw2IuaPsgdyt8hO{yV+Z`sc!zE4B!P7EXD7GJJk=OW6I-M$?|Sb116VoVfP9 zNKu$!!N<}oHpZfcean6AJeyZW>+SoyZ2r~1)n#{gIGVHwsI4;9RM^;|9UHPdXWn*I z=dBgg5TYCHA#IOGKQ@eT6`C&Ixrsh5U zs;P%sc%$Ej{_uYH=JOqs2b4JNl&cQd#jR9noC2g*ZTym*(0|n2LQq%%F48`_p9UKaoB z`t6T#;j@IIm#=LYEsYrBzCUxT5v#oUu>MWz0t;ic6X_E@(~drt)@Co9wwFyp_s-KK zt%FsS$F3*$>Rzg-JrpJqy8I`Oj*_Cjo!ZWtm=`lue{IKDAg_p5T6WaG5 z)>#@J{+wTB>je9qPlJp2Ap&t_@0oCRA8lfN7@%qx2D|5HYDtJOb+iZ&Lu1hXA_aaDdUP8avE zPO`rhxN-iiqme(KZ=0Wdd)`bH??oQEQK>>(ihj4g6*E>fOsG4h%XVvq;bS)`V*>-J zUzMvk7!+)4n&$E{H*Q_~^?}sYPR7P^arZ)}m0ta`Ob^GkiXY>fe5TLTTI}zNTV*M= zhnC$v|HUcp@4k>u_JkRHKmF$Trkq(FYWIqPK_SoT;61NaW2S3jTSBdyUJ0ia%rm~e z#=1JEswQpcdbPRMg4yfscmJQd_%_d0VY_Rer|A^OW~|oybM=jr`8=!aMT+(ZG`23< zanQ~^*#4}vhkHl%za-shx4xW}ulxVu&oqIz=57*<5~oGu0zO+7tUq)uY=*)^HQi_2 zSUYqN&K5tII(x7Eiy3Xdj|$C9H4lFkT)oh95#cUf^oFx*THEqsvOg(a@i|#C?fw1l zTszl(Pf*g5;?b!7-N||2-;{5^7X>z}wpIx6-~II6X2tqvn`Sop-@N80w`u*}6|J|X zo6mprmD5<&vN(RylR42j8dafpe$4OQ@$u=#x!c*##3U+qF;qNRwnol+Xd(8Q@Pp^3yYi4tjwNe-C(*gAtIlk^Z>HkXMa`4RQ z!XI3YJS$PHsrk8aqw&_@`PKK*F9}oza<%=KDte^&F#>=m6LRzc704}*lgL}ULY{H%*OV$^d?~&_P@_} z$7IXP{`t$f`@;bP$8#JCcB<=U&E2T}DbtoAz{EyxU+qi*n`Q6L1bMS=-D&uK<{hra zh5D^O9Ayrq)$7T;Kf$c&%RPP5-GBv;w_cvG`EuQ&`enbmP8{huW4-*k)V9Un3|1Zb zaKEPiPR-1%w>8q==W7d}j$X6#+w=cxuUPOYyce8(b4h_^db-y{4z7QTE*9P76_AlR za{BP;(}$&HWUd?x@GSNJt{*X3XQ$4$Z}To*z1ST#=l_8>OQV%;>9@qC&0=6sS6A;- zdh_hrwPnJVc9zDx`!4L>=)daNjIC=$m^~v7*F9z2?drFB>)FHGRDVX^+BRXs!@GNX zidOZ$Z@cft&1e$9)_s6A@8t~E?d$(>Yk5!o(YVMYhSx7G<+H}wD?k1j9IM~`E_kMp z+)VZDI?t{!wd!wLSH0uvwVx0E{m%Y2Gmz0>)hCJRbCaLx^BD%kZ+=^IKt=rD`{ET9 z65nU2np_I#y0dD|$%XuvR;7wbb8o-B=Frx%EYOSZKP zYGg$A1$5t-1q-Hm7CV=`^vZ%ZWlD{b@TS|IdlGec}Yo5^x37+ z`90*FmzTo_&Pj8%djEd=r@0l zTW&Jb-xeUW;_Ug8!t-}sar_Gr^*6+h-WIB%8y zt#6X?LYrf=oyzh$hD~zK|3Aw-{pa_7!mp3F7R{gZeXU*0l5Kfs1Ed^MyNl#-^|-BL ztS5_}nVR^y?mx#@*JG2WtWtNKe^z=%!wv~a|4yrUId5|GoF9HLikr9P+)srW{bq71 zswec$?vxSx!87GL-_!?<{knUmTypxSJAIaaa%cb7cdYM{)2HXoN!B_Y{V)HU``Mq} zXW0byZP`CdZI{#i`@R=n$IBFOR;WC$%I$4rc%WdLnf^kvS#{oO{Tc4Jx|3@I%l1y~ zU`)8OqO4lqwQ1SyN$W1zUT@Q#FLR3_rSS69!r+~PhP$=QzqY(@43(E+^x%W;+k$0hF{)&6#7%NKSA6^C#+E02~hl@}Y^gK9EQ&&h4|*|g>6pN`ws>8Bf~*PjKYDNziy5Cb6?1Cw?^Xoqgtx#UuMohi%6tNQP#)muY zYOY?f{mS65{tF#-v&F{wsi#FJl=FIc*(M5hDTIRo$|VMCi?)xuEvQU^>zJnXSH{Iyty({ zzfAhm_Sw4Ji_a{*E4prKo{)eDOQy7uH^h=UKB9T)wYvYsssNKbl&7ZsYd%if`vd{r1*gVpTS4 z)|M?-rf7@muDCVR?pM$yF6HKU;paA-UkuD%zFF3!XLrwhom^1o-Mu`z7A5{!$Ce#S zJ9=DWQgdBbyl35F+n+z?@%6b*^7~$}e4CNkoxgnd@7i8d+8BBA$C`h~)c$V1(&FZm zab$lRg<}YrMvYck2}f?`l$Dk7%{_M@a?P4II=rR4Edlj<@$qT+J`{eZgp%w@~({6rZ;nEYveXT#rzH!_Y|nrAUO6x7_=%^jos;mY0k)yXn{ znphpAw%FMk2lRi^&RYHO?8^hOH<#U$&Q;k}JyTkLzwi!|C5PT-Ot9Q4dva#$$K6fq zPw&c~x6*@+$u@wvA%ts}`N$eV2)TLi;VP})F<*XuNlN=Y$$Ve$?Y*zxPZ3g@7r0&E zdzg-xP+OoLXsA!=%i=C+|undGPs`!lVfgmJ3q}rx zETgij!awxil$~>+76ngjh?(chgRDTLOad7f) z`nogb1Pen(jjZW;AJ?A8nUno5CA^x}oxlHOdg=dpvF3RKyoxQIS-xBzI***h_jsKa z`aEyW&21&S4lnsR`~MwN9uzqGx?BF*1B-hfjEY=;L^I#NkZGiH$mC+P z$)j1bW-WH_fA#8>l%!;9dwa6PvsbTfSuxvk$=Kfc{#IlChRw-OE*{_B>n3!^`Qp`O zxg}qAt$0^%bka|bD_+FI`(xe3)go#+H?r0riZ4o^|9qLG@X=DEJy%a2P|traY8Mp~ zw8HRv(gC6WntE+J{}(SX_BIlFS9^imVrNoEz}wlc1^3l$Q`TX=KMDg71t@DD)l%ITPPgHy- z_Sk#6=Ig&3jVp7PsPZyM&1>_G{~~_#^Z6q)n@=uX|C!~<35JThv!y>qK1pr=zj1ow zqcbxU=DVuR6z$Jn^GBwzs^Q|HSiNOJYo@2y*j~G#)O%e$$2G8YR)1@#MrB~c9Xs8y zUv=L_h2Oevx_oW*Wa&?jk|&)$-a0RGk^gG#qhBPKG?`_!yO_`1{Z(IFk}W^-SmODo z-OEqSw*PYZ$-RIdDZEb}2F19%;hLMdis|fHGm+kzjM+NulkTaqRQ|9&6I4}N`p+SV z`{(3nJyT=*s%<~_>~{X!7qeNY`hWj@q5h4%Uiyo3U%IID>-*gLa^Ja~Z~3xirrybE zX;$_B_JmdZS*^5aSH}BUClU{O^ZWGApY-nK^mUtly;BmscW>LA>w$`Ys;1QHWc=M# z^l<*_aJ{0e*O!)hGdy_k;K0x1M@Kq+k55~Fa$i%dlzAtYQQpa^xqLoP#dCi;)Lp&H zRW^Ax@A+nv1}n>jOvejl(x1A|QoeBecmCt={nyggOk&R5K1E7qy=UokwwX^eP3OeF zn)f4{f#>G$U4rS)-kH1Agk5aa@r!G9Z%Cgrd9i(w%0VqFb5{wM=l50|`PlWtlWBqEr$vm%3uV^td#%N) zw0V8_qc@NK_bzX^_bzgSiALKFjTPl~<&M{v)|j$7+wza5{fY-nKrtFhPkzN`sL zO69-cVny3q_Rg&=2i9lpEjj*Eeg2HI_nRJD-1}fsU@$=^x$CCxv-?FWU(5Yo(eNUl zbN-F_w_Q5a0^U5bd&pujcipm8n{GbcTX%QP&CUDc?!CVLcgC`9yIy_iOkVCUvwH2i zU;mbOEpp*^eQnpZ}$GjCkR3GaeuJ`A%+S#%*CWd8iB1}!U-nemN zs&+V2LwmdX>zA+Z-#N2l*(|FJ?rk%-UbxVk?Q7REOLOMAPk(>MDQ^EN=i}nq%$S;Q zZ^(FK{-wHjldKI(1o$5-w%}qbXCC=gFJbB(MCullyhakKHC$O!wJr`~0n8rnZiYAVdG1DOVqRTzB$+ zZp7%|Q2&!H`_GQKljc2s)$w}g);nAHd~$yHFt0Ird++zN`CgJM^ttEXn`-7%oA+t5 z)rl`5&z`c_2yV2D<&=-F%X#DT_R8~l-)EY*#7${Ztb6Kee)Ep&@6=xoSIaua`Wwt78 zEkLO=OV!JLU3{Dir{C-_&FM zW*)!1d7q;7!D4~!vFqOWZ~yDo|3N#t=4IK9AM4)TSX*22;k){qL(GR+ER`F6OxclD zc5L2>bE`HeY<6ElJhZ(z!y>&&eJUg~0y-1s-ZJ)>^_Cki)e|Hw_QRZJ_q8oGS z+cjnT;`MXe=FI&j{MYzuxQkj^%00`y*EYy*Z4VS}`~R%^$+OdI?z&l4*GJEcxR-Qx ztNs7{rN;^xD*JDoQENSIX&v0<5>RmY>bA7-f&u}3etmuZ{DOjjc4t*Z$Ge(~k2;jJ zG@FTjeWWY+R@_N{vmkTB)%d5xA59cp#WsuTnc74Ef-SuzN?ePDsQ)LeYJ`(Uy}?7O#9H6Ko_EIOU!ryKA?>GiJm=-j#d z@AmIcn=dKKuvn|V@TO(jzefVfUrleHWA`b_T-Fe7(^Gv$NGemqH81qslMC#bSB<)R zTW{xDK8>>8x_(`H^RsWh>x4rp7`3>T{#1~EaQa%g+3KmGMn~2sRE zCQI@Evmaqu2Y)^6+VD0`Pxp%7M2m^%V^yD3S=Z!8Xzyn_v_JWi{Efe>x7}HtdO1(= zi<#20iy57roj-s6?Ca~xUA+_6#C+=8)&Fi@tTkWx%ZhpB*PWdFUJe;Y8m5JxI1$7q z#dI~CsmXuBn~=;m)7S66J$rV2+UaYKo7=S#^pmz#Eakc-JA3I7Zk3&xv+Hgry|+I% zackwq)=3Vzb$;`HTv=*%>8xtNZ zLulz!y)w01HSzCP?Yg~Is@Ud_--3m=djE<`nS2p#iIkrdY|jwcfAD{0Us3(?a*w|i zxflIU{tlDZ3yR*Jrop>lldEO_*WzHa`<5r?Nj)&k+hFkd@Mm!wvvrrJoRnQR_aqnE zV%_u4czqmVdU}?-$oiX=nN43<(9$?veQmKF$Fs$~?4F#Pyo>ePS?!pgZgp0zc#zDk zzjVul`qN9FU5@s>n@dDn!hf%S-z&?RuDW~Ad*XtZ+m@^@IlndWw0gT4L*$*3)H@-0E@#%A^0j?fop80?jX}uy z_(6NMk{JqHmeeV>-IY(T5nq49`0^!rh6xO@l`j+oFFh}uL&CrVv!F3|aGvOa<;C4@ zbADI(r&ZqSzS}l;gUIG?p>J_(fe>JDt2u_3#0-^}#w?<4+g6Jv0> zvgZ1no&o`98NSEOYnh1NT|Nw{o8z7UYdhbn&Wn1iFvONhx^_Q=2uX$zjQaF zP}=3p-ZCa^>xCOSmhRvGRwQ13{b}LJb5rfKPxwrl;&E`{gQW-MUokiYoV!tXx^==< zwm%n=eDdthihXJq^FFI=uCLa*C9(B?-_PZz3Ll7Gp1H4hldsbE-Udl>fw8vyKT&*3j0@G+xih{DRHx*#0dRTQlXfj-@Xz>oC9B8u;we zJFf8i^Ec$2uDSHV#KHYB|L!l(t$CtgD-&Y7+&wQ>Up4kG+9q{x4&R-rxv%zKbX&B0`p%D^tQ)%?!RhaZaSfe(fK-*8F}pvn!=ZvwD$R&n&z9@tr%K=gi4_|IIWp@4>@|fQf0=wruZAJ6?rdbA|3TH2o0<=YhJM@m;`7U+XTGWC*GO-#zJ6a*)x~CU zp5mkVqDObiFPbiB7+z6by?XWP^z`)a|Bjtewh0LJ^^Kg>b#{3B{?@hBuSmw_V5hT}ZHRJTSJ$dFYhrd3ENpOC zeNZ_<^<<)7+9r_}0kt(|y03h_3n!m`*XDO!R9UfQ!h}aVVlBVUuV1mxB7Sb0fK$lP zz`^DD!{M7KWt)kcLc=-1yKQ8@t zqvYS~f4?`s+F#c63dgF2!b857L$EGd_+xrRYx9S!10u0jZ303;TjQ$j`h(y7N@t(b zw$kW_fD?zOUx(fbug?=4H_dywRre~Nv3XI~Dg#c%mJ^rMxcThXW$pZ88u|R4nU~%_ z#VcB6c(yF6&kXrFv9F5>v_Rv=wdX;MpSdfG&+gwE^f)v!Fi(u@4~JqL z=i&R`mQCHC^KW_lzBW|Yo)h-c6t$EW5-?|rgQMa#;1Y<~UNcG07$T4UFMtys7eaV27w?Dp>g zeGg{rO;d_Be)Txj+=;JVLhMnV;l7fYo9@Y5PrmLJb%|lY!^|6BT-hK5y!ndhDuIx#H%I^*M}&wlaM``uz2 z+ugICY|&(3FgP>e--8F-$(zYm%0bVDja2h#-SQ)ejbHX*Q

      RkFB^u# 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 literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/images/benzene_cg_ellipsoid.png b/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/images/benzene_cg_ellipsoid.png new file mode 100644 index 0000000000000000000000000000000000000000..89629bde4840d81a79c07a3d65c0ff48c3cd7cf3 GIT binary patch literal 2011 zcmeAS@N?(olHy`uVBq!ia0y~yV6b6eV9?-TV_;xdw0q`%1_lPUByV>YhW{YAVDIwD z3=9mM1s;*b3=DinK$vl=HlH*D0|R@Br>`sfBQ|Lf9loe#6+#RQ>=~Xejv*QM-p=qo zF(+O0c>Qym^Pl&UAO|u`J%G;&UBoce&%e0Q}Ea|A|qeHhlpNj?hti<{33qE{Q{=fOa_ILMfHKs(*eLijK)q}pF zXZxN`Z40Oj>AkqZO?F8Jhq6!H(Vd5mMJ88nUHE!gNv@LW!ntm9!nWjEDJu0>e(gW< zLhj$k?f(sGPdD1vKG;=jd6RMRoBpM%x93W4+?Cq-FhEj=b(*`gkI}-WUEfwzg=qDN z1u_bUOr4S*5g4N7H_yg*j^y!p%ia}+_vQ%hzA!aL{+7jUyC19D`()}aH`;HjzrOC_ z2Fn{)ynn|UI8Bz|lfJgiOlSSI9yeaK&IeOheNtdmS@=jmOTdx!h~!e0Ri`d*6%2Lf zm?yz)>Fm`yy>D*Ho{1F?*T0@)8@uB0hk&~U_x0;Oz2VL`$@@P4z`cJv_m)e1G+)T| zUV3dv&h9&#OK*3qz1_YhZ)HZCTc~vC+7^YDQ;I z)VA$=7bljkO-$XImU%PqYCxzLNA0qj4=Xh8S??*g-6A|k_)4SI;h+DuhKdS^?kT@g z+8lY1-SKLM)bVe!+HdyM^qwr49Hg=(`R9v${JFg6Z3;ha^k%AgF8-~~b&HHhL~w>HYjBYbzwGE ztLWVGy-nLtX#JiNu86(tJ034$tQODf(=?W`oFhIf%_Fqh#poR8xu2F9`N7W}O}?M? zOyx_im9;eAzWzas1B=(pv$pC90bDa)?zuNrq&Gxic~f~~h?3obt?zHT=Jao@OZxnb z`_YaEzrDY5U39UPSP(Qhm@Qbq`N&sZ5AXa;{S}+{{c}0TJij?Cbiww`s~FpgZ{3dK z+5FFTsl@7#-LvXx3{^fPMDm$XQsu^ z@4m~DtA8$H>b|x3Rf`1o>(}WL{nlxloirx|shv}Day{pC&h2EtrX<&A-%QR_oZa~I zx^&vo^GSwl8Y1W4ozy#rdufW-%X*p3XP!Nq5t;6z-uhKIm{0y6w`zEQ+?DK?cdOm> zJ5DfeZkj0YGTS>uAkfRxHs)K$x5nw0oSPEVW<>G_aj9}Ionu|ecjJ2A$urB>_?&B< zGu6WTNaV7&T$*aT#MGqS`WlUwt3A<~Z~5!WuaDhqf1anGliC08ul4eCKl{H#3OcP2 zxN~P$!qNbp;7t>}6{kC$JhNHn$!7-JigP>dPoB7W!qdYzS&Um#EXeDORpPbOTV|KG zwdPHl*~9&~_r%L!+2ix<`#g4hpKky6@_PMW4+_7W{Ca%--QCI|p{0vEF8Nu9XnVDp zcrTa`thDTg^HRIu!Z44O+cSD>6Es^TlnvFA&XmlZsB~tR({;5ZEuUjEUz%Lr+F3R$ z^LXdSXFa{)=|0C=gVm4Ev9$g9%-P=J*H`adHZ`BlWxtouyJ|njPn}tCN6zmuH|@Tu zy7L0K?Hr6({95Szzw-V!VG)b-d!(n^u`~y~-1^y~}5fVxv7S zE_-Wo@AKdFvj2Y0-lSXmYF&2O)EsurUHeyQzjBL|s%%sC53O$VHa&Y_@@by;r~mBx z`h0rZzQV5un2Nh^?RNK;cKx+fwaI-qTzQWA@J~Hc%YWzp5$Su={=KgKA-p|) z^Lfj9hMfK1!>;!pu3Va@HLFoQkj@bdgtdZ(Dn4QaKy=(NvzsTI~R2)Cuv29 z?TSpZnpu)ow1Vquv;D7Y!TJB}{#4y9`##T6^JUokuVT-?s`-?y2(P)iz9y98ua$=6 zb0#e>LuZ34mI5a~WT^V8D!0(S=`!&m6Q75C%{ce-L;1d6$CY)U^_vs- d-~F%T8)jcQ;-u!K!@$76;OXk;vd$@?2>=+!)WiS) literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/images/t=0.jpg b/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/images/t=0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b3514f4c8ab106b4a72227760638be21f692812a GIT binary patch literal 23529 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 literal 0 HcmV?d00001 diff --git a/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/images/t=14900.jpg b/tools/moltemplate/examples/coarse_grained/ellipsoids_CG_benzene/images/t=14900.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7c35039c01494d4d4aba7383d81b9b1d0187859e GIT binary patch literal 15966 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

      |Ear0mbDB?2glBbj!F7{^0_)tZ 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 len(tokens)) or (i_vy >= len(tokens)) or (i_vz >= len(tokens))): @@ -697,8 +698,9 @@ def WriteFrameToData(out_file, tokens[i_vz] = vxvyvz[2] else: - if data_settings.column_names[ - i_vx] not in dump_column_names: + if (dump_column_names and + (data_settings.column_names[ + i_vx] not in dump_column_names)): raise InputError('Error(dump2data): You have a vector coordinate in your DATA file named \"' + data_settings.column_names[i_vx] + '\"\n' ' However there are no columns with this name in your DUMP file\n' ' (or the column was not in the expected place).\n' @@ -1273,6 +1275,7 @@ def main(): descr_str, misc_settings, data_settings, + dump_column_names, frame_natoms, frame_coords, frame_coords_ixiyiz, diff --git a/tools/moltemplate/moltemplate/ettree.py b/tools/moltemplate/moltemplate/ettree.py index c8d90c7e42..20353a86ef 100755 --- a/tools/moltemplate/moltemplate/ettree.py +++ b/tools/moltemplate/moltemplate/ettree.py @@ -56,7 +56,7 @@ try: iEsptAtomCoords, iEsptAtomVects, iEsptAtomType, iEsptAtomID from .ttree_matrix_stack import AffineTransform, MultiAffineStack, \ LinTransform -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from ttree import * from ttree_lex import * @@ -482,7 +482,7 @@ def WriteFiles(files_content, suffix='', write_to_stdout=True): -def main() +def main(): """ This is is a "main module" wrapper for invoking ettree.py as a stand alone program. This program: @@ -495,8 +495,8 @@ def main() """ g_program_name = 'ettree.py' - g_date_str = '2016-12-22' - g_version_str = '0.36.0' + g_date_str = '2018-6-26' + g_version_str = '0.37.0' SimpleCounter.default_n0 = 0 # counters in Espresso begin at 0, not 1 diff --git a/tools/moltemplate/moltemplate/force_fields/README.txt b/tools/moltemplate/moltemplate/force_fields/README.txt new file mode 100644 index 0000000000..d0650a0f72 --- /dev/null +++ b/tools/moltemplate/moltemplate/force_fields/README.txt @@ -0,0 +1,13 @@ + +If moltemplate is unable to locate an .LT file that the user has requested +(ie. using the "import" command) in the current local directory, +moltemplate will search for that file here. + +This directory contains moltemplate files (.LT files) containing common +force fields (including parameters and rules for creating bonded interactions), +as well as definitions of molecules which are frequently used (for example +SPCE water). + +The scripts used to convert these force fields are located here as well, along +with the original files containing the force field parameters (when available). + diff --git a/tools/moltemplate/moltemplate/force_fields/SDK_lipid+chol.lt b/tools/moltemplate/moltemplate/force_fields/SDK_lipid+chol.lt deleted file mode 100644 index dd54c6b697..0000000000 --- a/tools/moltemplate/moltemplate/force_fields/SDK_lipid+chol.lt +++ /dev/null @@ -1,423 +0,0 @@ -# Autogenerated by EMC 2 LT tool v0.2 on 2017-02-28 -# -# ./emcprm2lt.py --pair-style=lj/sdk/coul/long --bond-style=harmonic --angle-style=sdk sdk_lipids.prm sdk_cholesterol.prm --name=SDK_lipid+chol --units -# -# Adapted from EMC by Pieter J. in 't Veld -# Originally written as, FFNAME:SDK STYLE:COARSE VERSION:1.0 on Oct 2014 - -SDK { - write_once("Data Masses") { - @atom:CM 42.080400 # CM - @atom:CMD2 26.037800 # CMD2 - @atom:CT 43.088300 # CT - @atom:CT2 29.061500 # CT2 - @atom:EST1 58.036600 # EST1 - @atom:EST2 58.036600 # EST2 - @atom:GL 41.072500 # GL - @atom:NC 87.164400 # NC - @atom:NH 44.076100 # NH - @atom:PH 94.971600 # PH - @atom:PHE 94.971600 # PHE - @atom:W 54.045600 # W - @atom:C2T 43.090000 # C2T - @atom:CM2 28.050000 # CM2 - @atom:CM2R 28.050000 # CM2R - @atom:CMDB 39.060000 # CMDB - @atom:CMB 40.060000 # CMB - @atom:CMR 41.070000 # CMR - @atom:CMR5 41.070000 # CMR5 - @atom:CTB 42.080000 # CTB - @atom:CTBA 27.050000 # CTBA - @atom:CTBB 27.050000 # CTBB - @atom:OAB 30.030000 # OAB - } # end of atom masses - - # ----- EQUIVALENCE CATEGORIES for bonded interaction lookup ----- - replace{ @atom:CM @atom:CM_bCM_aCM_dCM_iCM} - replace{ @atom:CMD2 @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2} - replace{ @atom:CT @atom:CT_bCT_aCT_dCT_iCT} - replace{ @atom:CT2 @atom:CT2_bCT2_aCT2_dCT2_iCT2} - replace{ @atom:EST1 @atom:EST1_bEST1_aEST1_dEST1_iEST1} - replace{ @atom:EST2 @atom:EST2_bEST2_aEST2_dEST2_iEST2} - replace{ @atom:GL @atom:GL_bGL_aGL_dGL_iGL} - replace{ @atom:NC @atom:NC_bNC_aNC_dNC_iNC} - replace{ @atom:NH @atom:NH_bNH_aNH_dNH_iNH} - replace{ @atom:PH @atom:PH_bPH_aPH_dPH_iPH} - replace{ @atom:PHE @atom:PHE_bPHE_aPHE_dPHE_iPHE} - replace{ @atom:W @atom:W_bW_aW_dW_iW} - replace{ @atom:C2T @atom:C2T_bC2T_aC2T_dC2T_iC2T} - replace{ @atom:CM2 @atom:CM2_bCM2_aCM2_dCM2_iCM2} - replace{ @atom:CM2R @atom:CM2R_bCM2R_aCM2R_dCM2R_iCM2R} - replace{ @atom:CMDB @atom:CMDB_bCMDB_aCMDB_dCMDB_iCMDB} - replace{ @atom:CMB @atom:CMB_bCMB_aCMB_dCMB_iCMB} - replace{ @atom:CMR @atom:CMR_bCMR_aCMR_dCMR_iCMR} - replace{ @atom:CMR5 @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5} - replace{ @atom:CTB @atom:CTB_bCTB_aCTB_dCTB_iCTB} - replace{ @atom:CTBA @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA} - replace{ @atom:CTBB @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB} - replace{ @atom:OAB @atom:OAB_bOAB_aOAB_dOAB_iOAB} - # END EQUIVALENCE - - write_once("In Settings") { - # ----- Non-Bonded interactions ----- - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CM_bCM_aCM_dCM_iCM lj9_6 0.420000 4.506000 # CM-CM - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.312000 4.255500 # CM-CMD2 - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.444000 4.545500 # CM-CT - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.362000 4.363500 # CM-CT2 - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.403000 # CM-EST1 - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.403000 # CM-EST2 - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.420000 4.506000 # CM-GL - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.400000 5.128000 # CM-NC - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.330000 4.553000 # CM-NH - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.300000 4.953000 # CM-PH - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.300000 4.953000 # CM-PHE - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:W_bW_aW_dW_iW lj12_4 0.340000 4.438500 # CM-W - pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.232000 4.005000 # CMD2-CMD2 - pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.330000 4.295000 # CMD2-CT - pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.269000 4.113000 # CMD2-CT2 - pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.440000 4.005000 # CMD2-EST1 - pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.440000 4.005000 # CMD2-EST2 - pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.312000 4.255500 # CMD2-GL - pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.350000 4.877500 # CMD2-NC - pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.300000 4.302500 # CMD2-NH - pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.300000 4.702500 # CMD2-PH - pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.300000 4.702500 # CMD2-PHE - pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:W_bW_aW_dW_iW lj12_4 0.270000 4.188000 # CMD2-W - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.469000 4.585000 # CT-CT - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.383000 4.403000 # CT-CT2 - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.442500 # CT-EST1 - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.442500 # CT-EST2 - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.444000 4.545500 # CT-GL - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.420000 5.167500 # CT-NC - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.340000 4.925000 # CT-NH - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.320000 4.992500 # CT-PH - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.320000 4.992500 # CT-PHE - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:W_bW_aW_dW_iW lj12_4 0.360000 4.478000 # CT-W - pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.312000 4.221000 # CT2-CT2 - pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.390000 4.260500 # CT2-EST1 - pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.390000 4.260500 # CT2-EST2 - pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.362000 4.365000 # CT2-GL - pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.320000 4.985500 # CT2-NC - pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.320000 4.410500 # CT2-NH - pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.280000 4.810500 # CT2-PH - pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.280000 4.810500 # CT2-PHE - pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:W_bW_aW_dW_iW lj12_4 0.290000 4.296000 # CT2-W - pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.495000 4.300000 # EST1-EST1 - pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.495000 4.300000 # EST1-EST2 - pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.470000 4.403000 # EST1-GL - pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.750000 4.475000 # EST1-NC - pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.850000 4.110000 # EST1-NH - pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.500000 4.550000 # EST1-PH - pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.500000 4.550000 # EST1-PHE - pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:W_bW_aW_dW_iW lj12_4 0.820000 4.290000 # EST1-W - pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.495000 4.300000 # EST2-EST2 - pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.470000 4.403000 # EST2-GL - pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.750000 4.475000 # EST2-NC - pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.850000 4.110000 # EST2-NH - pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.500000 4.550000 # EST2-PH - pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.500000 4.550000 # EST2-PHE - pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:W_bW_aW_dW_iW lj12_4 0.820000 4.290000 # EST2-W - pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.420000 4.506000 # GL-GL - pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.650000 4.620000 # GL-NC - pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.750000 4.190000 # GL-NH - pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.300000 4.750000 # GL-PH - pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.300000 4.750000 # GL-PHE - pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:W_bW_aW_dW_iW lj12_4 0.640000 4.438500 # GL-W - pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.700000 5.750000 # NC-NC - pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.880000 5.175000 # NC-NH - pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:PH_bPH_aPH_dPH_iPH lj9_6 1.150000 4.200000 # NC-PH - pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.150000 4.200000 # NC-PHE - pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:W_bW_aW_dW_iW lj12_4 0.900000 4.610000 # NC-W - pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:NH_bNH_aNH_dNH_iNH lj9_6 1.100000 4.600000 # NH-NH - pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:PH_bPH_aPH_dPH_iPH lj9_6 1.200000 3.800000 # NH-PH - pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.200000 3.800000 # NH-PHE - pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:W_bW_aW_dW_iW lj12_4 0.800000 3.950000 # NH-W - pair_coeff @atom:PH_bPH_aPH_dPH_iPH @atom:PH_bPH_aPH_dPH_iPH lj9_6 1.400000 5.400000 # PH-PH - pair_coeff @atom:PH_bPH_aPH_dPH_iPH @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.400000 5.000000 # PH-PHE - pair_coeff @atom:PH_bPH_aPH_dPH_iPH @atom:W_bW_aW_dW_iW lj12_4 1.000000 4.030000 # PH-W - pair_coeff @atom:PHE_bPHE_aPHE_dPHE_iPHE @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.400000 4.600000 # PHE-PHE - pair_coeff @atom:PHE_bPHE_aPHE_dPHE_iPHE @atom:W_bW_aW_dW_iW lj12_4 1.000000 4.030000 # PHE-W - pair_coeff @atom:W_bW_aW_dW_iW @atom:W_bW_aW_dW_iW lj12_4 0.895000 4.371000 # W-W - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.420000 5.167500 # C2T-NC - pair_coeff @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5 @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.444000 4.545500 # CMR5-CT - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.252000 4.767700 # C2T-CTBA - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.469000 4.585000 # CT-CTB - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMR_bCMR_aCMR_dCMR_iCMR lj9_6 0.331000 4.771400 # C2T-CMR - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.383000 4.403000 # CT-CTBA - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.252000 4.767700 # C2T-CTBB - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.383000 4.403000 # CT-CTBB - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.444000 4.545500 # C2T-GL - pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.437000 4.033000 # CT-OAB - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CM2R_bCM2R_aCM2R_dCM2R_iCM2R lj9_6 0.254000 4.610100 # C2T-CM2R - pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.383000 4.403000 # CT2-CTB - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.330000 4.295000 # C2T-CMD2 - pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.312000 4.221000 # CT2-CTBA - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5 lj9_6 0.331000 4.771400 # C2T-CMR5 - pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.312000 4.221000 # CT2-CTBB - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:W_bW_aW_dW_iW lj12_4 0.360000 4.478000 # C2T-W - pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.415000 3.950500 # CT2-OAB - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:C2T_bC2T_aC2T_dC2T_iC2T lj9_6 0.400000 4.811500 # C2T-C2T - pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.269000 5.015500 # CTB-CTB - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.437000 4.033000 # C2T-OAB - pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.442500 # CTB-EST1 - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.320000 4.992500 # C2T-PH - pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.442500 # CTB-EST2 - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMDB_bCMDB_aCMDB_dCMDB_iCMDB lj9_6 0.354000 4.894100 # C2T-CMDB - pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.420000 5.167500 # CTB-NC - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.297000 4.527200 # C2T-CT2 - pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.265000 4.464800 # CTB-CTBA - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CM2_bCM2_aCM2_dCM2_iCM2 lj9_6 0.291000 4.588000 # C2T-CM2 - pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.265000 4.464800 # CTB-CTBB - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CM_bCM_aCM_dCM_iCM lj9_6 0.391000 4.545500 # C2T-CM - pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.444000 4.545500 # CTB-GL - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.409000 4.860100 # C2T-CT - pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:W_bW_aW_dW_iW lj12_4 0.360000 4.478000 # CTB-W - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.283000 4.910900 # C2T-CTB - pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.437000 4.033000 # CTB-OAB - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMB_bCMB_aCMB_dCMB_iCMB lj9_6 0.310000 4.656400 # C2T-CMB - pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.320000 4.992500 # CTB-PH - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.442500 # C2T-EST1 - pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.320000 4.985500 # CTBA-NC - pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.442500 # C2T-EST2 - pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.390000 4.260500 # CTBA-EST1 - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMR_bCMR_aCMR_dCMR_iCMR lj9_6 0.420000 4.506000 # CM-CMR - pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.390000 4.260500 # CTBA-EST2 - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CM2R_bCM2R_aCM2R_dCM2R_iCM2R lj9_6 0.390000 4.434200 # CM-CM2R - pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:W_bW_aW_dW_iW lj12_4 0.290000 4.296000 # CTBA-W - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5 lj9_6 0.420000 4.506000 # CM-CMR5 - pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.362000 4.363500 # CTBA-GL - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.561000 4.093000 # CM-OAB - pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.265000 4.461000 # CTBA-CTBA - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMDB_bCMDB_aCMDB_dCMDB_iCMDB lj9_6 0.362000 4.379000 # CM-CMDB - pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.265000 4.461000 # CTBA-CTBB - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CM2_bCM2_aCM2_dCM2_iCM2 lj9_6 0.336000 4.461900 # CM-CM2 - pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.280000 4.810500 # CTBA-PH - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.444000 4.545500 # CM-CTB - pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.380000 3.840000 # CTBA-OAB - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMB_bCMB_aCMB_dCMB_iCMB lj9_6 0.420000 4.506000 # CM-CMB - pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:W_bW_aW_dW_iW lj12_4 0.290000 4.296000 # CTBB-W - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.362000 4.363500 # CM-CTBA - pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.320000 4.985500 # CTBB-NC - pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.362000 4.363500 # CM-CTBB - pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.362000 4.363500 # CTBB-GL - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.248000 4.936800 # CM2-PH - pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.390000 4.260500 # CTBB-EST1 - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.413000 4.066900 # CM2-OAB - pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.390000 4.260500 # CTBB-EST2 - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CM2R_bCM2R_aCM2R_dCM2R_iCM2R lj9_6 0.237000 4.440300 # CM2-CM2R - pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.280000 4.810500 # CTBB-PH - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.248000 4.231300 # CM2-CMD2 - pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.380000 3.840000 # CTBB-OAB - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5 lj9_6 0.333000 4.484600 # CM2-CMR5 - pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.265000 4.461000 # CTBB-CTBB - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.228000 4.319900 # CM2-CT2 - pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 1.100000 3.990000 # EST1-OAB - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CM2_bCM2_aCM2_dCM2_iCM2 lj9_6 0.265000 4.461000 # CM2-CM2 - pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 1.100000 3.990000 # EST2-OAB - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CMDB_bCMDB_aCMDB_dCMDB_iCMDB lj9_6 0.267000 4.369700 # CM2-CMDB - pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.669000 4.093000 # GL-OAB - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.301000 4.454600 # CM2-CT - pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.637000 3.931900 # NC-OAB - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.353000 4.524600 # CM2-CTB - pair_coeff @atom:OAB_bOAB_aOAB_dOAB_iOAB @atom:W_bW_aW_dW_iW lj9_6 1.026000 4.025500 # OAB-W - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CMB_bCMB_aCMB_dCMB_iCMB lj9_6 0.333000 4.484600 # CM2-CMB - pair_coeff @atom:OAB_bOAB_aOAB_dOAB_iOAB @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.928000 3.616600 # OAB-PH - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.306000 5.113800 # CM2-NC - pair_coeff @atom:OAB_bOAB_aOAB_dOAB_iOAB @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.580000 3.680000 # OAB-OAB - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.366000 4.380500 # CM2-EST1 - pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.366000 4.380500 # CM2-EST2 - } # end of nonbonded parameters - - write_once("In Settings") { - # ----- Bonds ----- - bond_coeff @bond:CM-CM harmonic 6.160000 3.640000 - bond_coeff @bond:CM-CMD2 harmonic 8.000000 3.030000 - bond_coeff @bond:CM-CT harmonic 6.160000 3.650000 - bond_coeff @bond:CM-CT2 harmonic 9.000000 3.130000 - bond_coeff @bond:CM-EST1 harmonic 4.700000 3.550000 - bond_coeff @bond:CM-EST2 harmonic 5.100000 3.610000 - bond_coeff @bond:CM-PHE harmonic 12.000000 3.690000 - bond_coeff @bond:CM-SO4 harmonic 11.000000 3.630000 - bond_coeff @bond:CMD2-CT harmonic 8.000000 3.090000 - bond_coeff @bond:CMD2-CT2 harmonic 60.000000 2.540000 - bond_coeff @bond:CT-CT harmonic 6.955000 3.710000 - bond_coeff @bond:EST1-GL harmonic 30.000000 2.880000 - bond_coeff @bond:EST2-GL harmonic 8.400000 3.480000 - bond_coeff @bond:GL-PHE harmonic 8.900000 3.520000 - bond_coeff @bond:NC-PHE harmonic 4.800000 4.250000 - bond_coeff @bond:NH-PHE harmonic 9.400000 3.600000 - bond_coeff @bond:PHE1-PHE2 harmonic 2.500000 150.000000 - bond_coeff @bond:C2T-CM2 harmonic 55.000000 2.500000 - bond_coeff @bond:CM2-CTB harmonic 42.500000 2.900000 - bond_coeff @bond:CM2R-CTBA harmonic 45.000000 2.400000 - bond_coeff @bond:CM2R-OAB harmonic 50.000000 2.600000 - bond_coeff @bond:CMB-CMDB harmonic 75.000000 3.500000 - bond_coeff @bond:CMB-CMR5 harmonic 50.000000 3.000000 - bond_coeff @bond:CMB-CTBA harmonic 35.000000 3.400000 - bond_coeff @bond:CMB-CTBB harmonic 50.000000 3.000000 - bond_coeff @bond:CMDB-CTBA harmonic 40.000000 2.500000 - bond_coeff @bond:CMDB-OAB harmonic 55.000000 3.100000 - bond_coeff @bond:CMR5-CTBB harmonic 60.000000 2.300000 - bond_coeff @bond:CMR-CTBA harmonic 50.000000 3.000000 - bond_coeff @bond:CMR-CTBB harmonic 55.000000 2.500000 - bond_coeff @bond:CTB-CTBB harmonic 22.500000 3.400000 - bond_coeff @bond:CMR5-CTB harmonic 35.000000 3.100000 - } - - write_once("Data Bonds By Type") { - @bond:CM-CM @atom:*_bCM_a*_d*_i* @atom:*_bCM_a*_d*_i* - @bond:CM-CMD2 @atom:*_bCM_a*_d*_i* @atom:*_bCMD2_a*_d*_i* - @bond:CM-CT @atom:*_bCM_a*_d*_i* @atom:*_bCT_a*_d*_i* - @bond:CM-CT2 @atom:*_bCM_a*_d*_i* @atom:*_bCT2_a*_d*_i* - @bond:CM-EST1 @atom:*_bCM_a*_d*_i* @atom:*_bEST1_a*_d*_i* - @bond:CM-EST2 @atom:*_bCM_a*_d*_i* @atom:*_bEST2_a*_d*_i* - @bond:CM-PHE @atom:*_bCM_a*_d*_i* @atom:*_bPHE_a*_d*_i* - @bond:CM-SO4 @atom:*_bCM_a*_d*_i* @atom:*_bSO4_a*_d*_i* - @bond:CMD2-CT @atom:*_bCMD2_a*_d*_i* @atom:*_bCT_a*_d*_i* - @bond:CMD2-CT2 @atom:*_bCMD2_a*_d*_i* @atom:*_bCT2_a*_d*_i* - @bond:CT-CT @atom:*_bCT_a*_d*_i* @atom:*_bCT_a*_d*_i* - @bond:EST1-GL @atom:*_bEST1_a*_d*_i* @atom:*_bGL_a*_d*_i* - @bond:EST2-GL @atom:*_bEST2_a*_d*_i* @atom:*_bGL_a*_d*_i* - @bond:GL-PHE @atom:*_bGL_a*_d*_i* @atom:*_bPHE_a*_d*_i* - @bond:NC-PHE @atom:*_bNC_a*_d*_i* @atom:*_bPHE_a*_d*_i* - @bond:NH-PHE @atom:*_bNH_a*_d*_i* @atom:*_bPHE_a*_d*_i* - @bond:PHE1-PHE2 @atom:*_bPHE1_a*_d*_i* @atom:*_bPHE2_a*_d*_i* - @bond:C2T-CM2 @atom:*_bC2T_a*_d*_i* @atom:*_bCM2_a*_d*_i* - @bond:CM2-CTB @atom:*_bCM2_a*_d*_i* @atom:*_bCTB_a*_d*_i* - @bond:CM2R-CTBA @atom:*_bCM2R_a*_d*_i* @atom:*_bCTBA_a*_d*_i* - @bond:CM2R-OAB @atom:*_bCM2R_a*_d*_i* @atom:*_bOAB_a*_d*_i* - @bond:CMB-CMDB @atom:*_bCMB_a*_d*_i* @atom:*_bCMDB_a*_d*_i* - @bond:CMB-CMR5 @atom:*_bCMB_a*_d*_i* @atom:*_bCMR5_a*_d*_i* - @bond:CMB-CTBA @atom:*_bCMB_a*_d*_i* @atom:*_bCTBA_a*_d*_i* - @bond:CMB-CTBB @atom:*_bCMB_a*_d*_i* @atom:*_bCTBB_a*_d*_i* - @bond:CMDB-CTBA @atom:*_bCMDB_a*_d*_i* @atom:*_bCTBA_a*_d*_i* - @bond:CMDB-OAB @atom:*_bCMDB_a*_d*_i* @atom:*_bOAB_a*_d*_i* - @bond:CMR5-CTBB @atom:*_bCMR5_a*_d*_i* @atom:*_bCTBB_a*_d*_i* - @bond:CMR-CTBA @atom:*_bCMR_a*_d*_i* @atom:*_bCTBA_a*_d*_i* - @bond:CMR-CTBB @atom:*_bCMR_a*_d*_i* @atom:*_bCTBB_a*_d*_i* - @bond:CTB-CTBB @atom:*_bCTB_a*_d*_i* @atom:*_bCTBB_a*_d*_i* - @bond:CMR5-CTB @atom:*_bCMR5_a*_d*_i* @atom:*_bCTB_a*_d*_i* - } # end of bonds - - write_once("In Settings") { - # ----- Angles ----- - angle_coeff @angle:CM-CM-CM sdk 1.190000 173.000000 - angle_coeff @angle:CM-CM-CMD2 sdk 1.900000 161.000000 - angle_coeff @angle:CM-CM-CT sdk 1.190000 175.000000 - angle_coeff @angle:CM-CM-CT2 sdk 1.600000 172.000000 - angle_coeff @angle:CM-CM-EST1 sdk 1.000000 178.000000 - angle_coeff @angle:CM-CM-EST2 sdk 1.000000 178.000000 - angle_coeff @angle:CM-CM-PHE sdk 1.100000 178.000000 - angle_coeff @angle:CM-CMD2-CM sdk 6.000000 110.000000 - angle_coeff @angle:CM-EST1-GL sdk 0.800000 168.000000 - angle_coeff @angle:CM-EST2-GL sdk 0.800000 172.000000 - angle_coeff @angle:CM-PHE-NC sdk 3.300000 112.000000 - angle_coeff @angle:CT-CM-CT sdk 1.093000 175.500000 - angle_coeff @angle:CT-CM-CT2 sdk 1.600000 172.000000 - angle_coeff @angle:CT-CMD2-CT sdk 7.700000 116.000000 - angle_coeff @angle:CT2-CM-CT2 sdk 1.700000 173.000000 - angle_coeff @angle:CT2-CMD2-CT2 sdk 12.000000 110.000000 - angle_coeff @angle:EST1-GL-EST2 sdk 1.000000 95.000000 - angle_coeff @angle:EST1-GL-PHE sdk 1.400000 124.000000 - angle_coeff @angle:EST2-GL-PHE sdk 2.000000 138.000000 - angle_coeff @angle:GL-PHE-NC sdk 3.100000 112.000000 - angle_coeff @angle:GL-PHE-NH sdk 4.000000 102.000000 - angle_coeff @angle:C2T-CM2-CTB sdk 8.000000 160.000000 - angle_coeff @angle:CM2-CTB-CTBB sdk 4.000000 130.000000 - angle_coeff @angle:CM2R-CTBA-CMB harmonic 40.000000 112.500000 - angle_coeff @angle:CM2R-CTBA-CMDB harmonic 22.500000 75.900000 - angle_coeff @angle:CM2R-CTBA-CMR harmonic 35.000000 98.700000 - angle_coeff @angle:CM2R-OAB-CMDB harmonic 40.000000 63.900000 - angle_coeff @angle:CMB-CMDB-CTBA harmonic 45.000000 68.600000 - angle_coeff @angle:CMB-CMDB-OAB harmonic 65.000000 146.600000 - angle_coeff @angle:CMB-CMR5-CTBB harmonic 35.000000 67.800000 - angle_coeff @angle:CMB-CTBA-CMDB harmonic 25.000000 68.900000 - angle_coeff @angle:CMB-CTBA-CMR harmonic 75.000000 47.800000 - angle_coeff @angle:CMB-CTBB-CMR5 harmonic 25.000000 68.200000 - angle_coeff @angle:CMB-CTBB-CMR harmonic 50.000000 56.300000 - angle_coeff @angle:CMB-CTBB-CTB sdk 35.000000 120.700000 - angle_coeff @angle:CMDB-CMB-CMR5 harmonic 150.000000 175.600000 - angle_coeff @angle:CMDB-CMB-CTBA harmonic 62.500000 42.500000 - angle_coeff @angle:CMDB-CMB-CTBB harmonic 25.000000 134.200000 - angle_coeff @angle:CMDB-CTBA-CMR harmonic 50.000000 108.600000 - angle_coeff @angle:CMR5-CNB-CTBA harmonic 15.000000 135.800000 - angle_coeff @angle:CMR5-CMB-CTBB harmonic 45.000000 44.000000 - angle_coeff @angle:CMR5-CTBB-CTB harmonic 20.000000 62.700000 - angle_coeff @angle:CMR-CTBB-CMR5 harmonic 75.000000 107.000000 - angle_coeff @angle:CMR-CTBB-CTB sdk 37.500000 110.100000 - angle_coeff @angle:CTBA-CM2R-OAB harmonic 25.000000 107.400000 - angle_coeff @angle:CTBA-CMB-CTBB harmonic 20.000000 92.200000 - angle_coeff @angle:CTBA-CMDB-OAB harmonic 20.000000 91.800000 - angle_coeff @angle:CTBA-CMR-CTBB harmonic 15.000000 115.000000 - angle_coeff @angle:CMB-CMR5-CTB harmonic 88.000000 131.700000 - angle_coeff @angle:CTBB-CMR5-CTB harmonic 20.000000 77.400000 - angle_coeff @angle:CM2-CTB-CMR5 sdk 20.000000 118.000000 - angle_coeff @angle:CMR5-CTB-CTBB harmonic 62.500000 39.700000 - } - - write_once("Data Angles By Type") { - @angle:CM-CM-CM @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* - @angle:CM-CM-CMD2 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCMD2_d*_i* - @angle:CM-CM-CT @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT_d*_i* - @angle:CM-CM-CT2 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT2_d*_i* - @angle:CM-CM-EST1 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST1_d*_i* - @angle:CM-CM-EST2 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST2_d*_i* - @angle:CM-CM-PHE @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aPHE_d*_i* - @angle:CM-CMD2-CM @atom:*_b*_aCM_d*_i* @atom:*_b*_aCMD2_d*_i* @atom:*_b*_aCM_d*_i* - @angle:CM-EST1-GL @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST1_d*_i* @atom:*_b*_aGL_d*_i* - @angle:CM-EST2-GL @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST2_d*_i* @atom:*_b*_aGL_d*_i* - @angle:CM-PHE-NC @atom:*_b*_aCM_d*_i* @atom:*_b*_aPHE_d*_i* @atom:*_b*_aNC_d*_i* - @angle:CT-CM-CT @atom:*_b*_aCT_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT_d*_i* - @angle:CT-CM-CT2 @atom:*_b*_aCT_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT2_d*_i* - @angle:CT-CMD2-CT @atom:*_b*_aCT_d*_i* @atom:*_b*_aCMD2_d*_i* @atom:*_b*_aCT_d*_i* - @angle:CT2-CM-CT2 @atom:*_b*_aCT2_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT2_d*_i* - @angle:CT2-CMD2-CT2 @atom:*_b*_aCT2_d*_i* @atom:*_b*_aCMD2_d*_i* @atom:*_b*_aCT2_d*_i* - @angle:EST1-GL-EST2 @atom:*_b*_aEST1_d*_i* @atom:*_b*_aGL_d*_i* @atom:*_b*_aEST2_d*_i* - @angle:EST1-GL-PHE @atom:*_b*_aEST1_d*_i* @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i* - @angle:EST2-GL-PHE @atom:*_b*_aEST2_d*_i* @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i* - @angle:GL-PHE-NC @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i* @atom:*_b*_aNC_d*_i* - @angle:GL-PHE-NH @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i* @atom:*_b*_aNH_d*_i* - @angle:C2T-CM2-CTB @atom:*_b*_aC2T_d*_i* @atom:*_b*_aCM2_d*_i* @atom:*_b*_aCTB_d*_i* - @angle:CM2-CTB-CTBB @atom:*_b*_aCM2_d*_i* @atom:*_b*_aCTB_d*_i* @atom:*_b*_aCTBB_d*_i* - @angle:CM2R-CTBA-CMB @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMB_d*_i* - @angle:CM2R-CTBA-CMDB @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMDB_d*_i* - @angle:CM2R-CTBA-CMR @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMR_d*_i* - @angle:CM2R-OAB-CMDB @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aOAB_d*_i* @atom:*_b*_aCMDB_d*_i* - @angle:CMB-CMDB-CTBA @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCTBA_d*_i* - @angle:CMB-CMDB-OAB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aOAB_d*_i* - @angle:CMB-CMR5-CTBB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTBB_d*_i* - @angle:CMB-CTBA-CMDB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMDB_d*_i* - @angle:CMB-CTBA-CMR @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMR_d*_i* - @angle:CMB-CTBB-CMR5 @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCMR5_d*_i* - @angle:CMB-CTBB-CMR @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCMR_d*_i* - @angle:CMB-CTBB-CTB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCTB_d*_i* - @angle:CMDB-CMB-CMR5 @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMR5_d*_i* - @angle:CMDB-CMB-CTBA @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBA_d*_i* - @angle:CMDB-CMB-CTBB @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i* - @angle:CMDB-CTBA-CMR @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMR_d*_i* - @angle:CMR5-CNB-CTBA @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCNB_d*_i* @atom:*_b*_aCTBA_d*_i* - @angle:CMR5-CMB-CTBB @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i* - @angle:CMR5-CTBB-CTB @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCTB_d*_i* - @angle:CMR-CTBB-CMR5 @atom:*_b*_aCMR_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCMR5_d*_i* - @angle:CMR-CTBB-CTB @atom:*_b*_aCMR_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCTB_d*_i* - @angle:CTBA-CM2R-OAB @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aOAB_d*_i* - @angle:CTBA-CMB-CTBB @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i* - @angle:CTBA-CMDB-OAB @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aOAB_d*_i* - @angle:CTBA-CMR-CTBB @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMR_d*_i* @atom:*_b*_aCTBB_d*_i* - @angle:CMB-CMR5-CTB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTB_d*_i* - @angle:CTBB-CMR5-CTB @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTB_d*_i* - @angle:CM2-CTB-CMR5 @atom:*_b*_aCM2_d*_i* @atom:*_b*_aCTB_d*_i* @atom:*_b*_aCMR5_d*_i* - @angle:CMR5-CTB-CTBB @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTB_d*_i* @atom:*_b*_aCTBB_d*_i* - } # end of angles - - write_once("In Init") { - # Warning: This is a very generic "In Init" section, further - # modification prior to any simulation is extremely likely - units real - atom_style full - bond_style hybrid harmonic - angle_style hybrid sdk - pair_style hybrid lj/sdk/coul/long 9.000000 12.000000 - special_bonds lj/coul 0.0 0.0 0.0 - } # end init -} # SDK diff --git a/tools/moltemplate/moltemplate/force_fields/__init__.py b/tools/moltemplate/moltemplate/force_fields/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tools/moltemplate/moltemplate/force_fields/compass_original_format/README.txt b/tools/moltemplate/moltemplate/force_fields/compass_original_format/README.txt new file mode 100644 index 0000000000..d228c3c18f --- /dev/null +++ b/tools/moltemplate/moltemplate/force_fields/compass_original_format/README.txt @@ -0,0 +1,30 @@ +This directoroy contains the COMPASS force field parameters in the original +MSI file format ("compass_published.frc" which is distributed with "msi2lmp"). +It can be converted into moltemplate format using the following command: + +msifrc2lt.py -name COMPASS < compass_published.frc > compass_published.lt + +--- Credits: ---- + This is an incomplete version of the COMPASS force field based on available +public sources. Parameters for some common chemical groups are missing +(for example, the NH2 amine group). The commercial version of COMPASS is +much larger and presumably includes more up to date parameters and parameters +for a wider range of atom types and molecule types. (However files +containing those force field parameters are not publicly available.) + + This file has been graciously made available by Materials Design Inc. + + Here is a comment from "compass_published.frc": + + "This file created by Materials Design, Inc. (www.materialsdesign.com) +Please realize that we neither support this version, nor make any warranty +as to the correctness of the parameters. We have checked the numbers against +the literature, but of course there may still be errors, including errors of +interpretation. Also, the current version of COMPASS may well be different +that that originally published. + If you have comments or suggestions, feel free to email Paul Saxe +at psaxe (at) materialsdesign.com" + +(Note: This file predates moltemplate and was intended for use with other + software. Paul Saxe cannot be expected to answer questions related to + moltemplate.) diff --git a/tools/moltemplate/moltemplate/force_fields/compass_original_format/compass_published.frc b/tools/moltemplate/moltemplate/force_fields/compass_original_format/compass_published.frc new file mode 100644 index 0000000000..6c2e681b5c --- /dev/null +++ b/tools/moltemplate/moltemplate/force_fields/compass_original_format/compass_published.frc @@ -0,0 +1,1381 @@ +!BIOSYM forcefield 1 + +#version compass_published.frc 1.1 30-Jun-09 +#version compass_published.frc 1.0 01-Jun-09 + +#define compass + +!Ver Ref Function Label +!---- --- --------------------------------- ------ + 1.0 1 atom_types compass + 1.0 1 equivalence compass + 1.0 1 quartic_bond compass + 1.0 1 quartic_angle compass + 1.0 1 bond-bond compass + 1.0 1 bond-bond_1_3 compass + 1.0 1 bond-angle compass + 1.0 1 torsion_3 compass + 1.0 1 end_bond-torsion_3 compass + 1.0 1 middle_bond-torsion_3 compass + 1.0 1 angle-torsion_3 compass + 1.0 1 wilson_out_of_plane compass + 1.0 1 angle-angle compass + 1.0 1 angle-angle-torsion_1 compass + 1.0 1 nonbond(9-6) compass + 1.0 1 bond_increments compass + 1.0 1 templates compass + +#atom_types compass + +> Atom type definitions for any variant of compass +> Masses from CRC 1973/74 pages B-250. + +!Ver Ref Type Mass Element Comment +!---- --- ---- ---------- ------- ----------------------------------------- + 1.0 5 ar 39.94400 Ar argon + 1.0 1 c3a 12.01115 C aromatic carbon + 1.0 5 c1o 12.01115 C carbon in CO + 1.0 5 c2= 12.01115 C carbon in CO2 and CS2 + 1.0 7 c3' 12.01115 C carbonyl carbon [one polar substituent] + 1.0 1 c4 12.01115 C generic sp3 carbon + 1.0 8 c41o 12.01115 C carbon, sp3, in methanol + 1.0 8 c43o 12.01115 C carbon, sp3 in secondary alcohols + 1.0 1 c43 12.01115 C sp3 carbon with three heavy atoms attached + 1.0 1 c44 12.01115 C sp3 carbon with four heavy atoms attached + 1.0 3 c4o 12.01115 C alpha carbon + 1.0 9 c4z 12.01115 C carbon, sp3, bonded to -N3 + 1.0 1 h1 1.00797 H nonpolar hydrogen + 1.0 5 h1h 1.00797 H hydrogen in H2 + 1.0 3 h1o 1.00797 H strongly polar hydrogen, bonded to O,F + 1.0 5 he 4.00300 He helium + 1.0 5 kr 83.80000 Kr krypton + 1.0 5 n1n 14.00670 N nitrogen in N2 + 1.0 5 n1o 14.00670 N nitrogen in NO + 1.0 5 n1z 14.00670 N nitrogen, terminal atom in -N3 + 1.0 4 n2= 14.00670 N nitrogen + 1.0 5 n2o 14.00670 N nitrogen in NO2 + 1.0 9 n2t 14.00670 N nitrogen, central atom in -N3 + 1.0 9 n2z 14.00670 N nitrogen, first atom in -N3 + 1.0 7 n3m 14.00670 N sp3 nitrogen in amides without hydrogen + 1.0 6 n3o 14.00670 N nitrogen in nitro group + 1.0 5 ne 20.18300 Ne neon + 1.0 5 o1= 15.99940 O oxygen in NO2 and SO2 [and carbonyl] + 1.0 5 o1=* 15.99940 O oxygen in CO2 + 1.0 6 o12 15.99940 O oxygen in nitro group (-NO2) + 1.0 5 o1c 15.99940 O oxygen in CO + 1.0 5 o1n 15.99940 O oxygen in NO + 1.0 5 o1o 15.99940 O oxygen in O2 + 1.0 2 o2 15.99940 O generic oxygen with two bonds attached + 1.0 3 o2e 15.99940 O ether oxygen + 1.0 3 o2h 15.99940 O hydroxyl oxygen + 1.0 6 o2n 15.99940 O oxygen in nitrates + 1.0 7 o2s 15.99940 O ester oxygen + 1.0 2 o2z 15.99940 O oxygen, in siloxanes and zeolites + 1.0 4 p4= 30.97380 P phosphorous + 1.0 5 s1= 32.06400 S sulfur in CS2 + 1.0 5 s2= 32.06400 S sulfur in SO2 + 1.0 2 si4 28.08600 Si generic silicon with four bonds attached + 1.0 2 si4c 28.08600 Si a subset of si4, non-hydrogen atom attached [siloxanes] + 1.0 5 xe 131.30000 Xe xenon + + +#equivalence compass + +! Equivalences +! ----------------------------------------- +!Ver Ref Type NonB Bond Angle Torsion OOP +!---- --- ---- ---- ---- ----- ------- ---- + 1.0 5 ar ar ar ar ar ar + 1.0 5 c1o c1o c1o c1o c1o c1o + 1.0 5 c2= c2= c2= c2= c2= c2= + 1.0 1 c3a c3a c3a c3a c3a c3a + 1.0 7 c3' c3' c3' c3' c3' c3' + 1.0 1 c4 c4 c4 c4 c4 c4 + 1.0 8 c41o c41o c4 c4 c4 c4 + 1.0 8 c43o c43o c4 c4 c4 c4 + 1.0 1 c43 c43 c4 c4 c4 c4 + 1.0 1 c44 c44 c4 c4 c4 c4 + 1.0 3 c4o c4o c4 c4 c4 c4 + 1.0 9 c4z c4z c4 c4 c4 c4 + 1.0 1 h1 h1 h1 h1 h1 h1 + 1.0 5 h1h h1h h1h h1 h1 h1 + 1.0 3 h1o h1o h1 h1 h1 h1 + 1.0 5 he he he he he he + 1.0 5 kr kr kr kr kr kr + 1.0 5 n1n n1n n1n n1n n1n n1n + 1.0 5 n1o n1o n1o n1o n1o n1o + 1.0 9 n1z n1z n1t n1t n1t n1t + 1.0 4 n2= n2= n2= n2= n2= n2= + 1.0 5 n2o n2o n2o n2o n2o n2o + 1.0 9 n2t n2t n2t n2t n2t n2t + 1.0 9 n2z n2z n2z n2z n2z n2z + 1.0 7 n3m n3m n3m n3m n3m n3m + 1.0 6 n3o n3o n3o n3o n3o n3o + 1.0 5 ne ne ne ne ne ne + 1.0 5 o1= o1= o1= o1= o1= o1= + 1.0 5 o1=* o1=* o1= o1= o1= o1= + 1.0 6 o12 o12 o1= o1= o1= o1= + 1.0 5 o1c o1c o1c o1c o1c o1c + 1.0 5 o1n o1n o1n o1n o1n o1n + 1.0 5 o1o o1o o1o o1o o1o o1o + 1.0 2 o2 o2 o2 o2 o2 o2 + 1.0 3 o2h o2h o2h o2 o2 o2 + 1.0 3 o2e o2e o2e o2 o2 o2 + 1.0 6 o2n o2n o2n o2n o2 o2 + 1.0 7 o2s o2s o2e o2 o2 o2 + 1.0 2 o2z o2z o2z o2z o2z o2z + 1.0 4 p4= p4= p4= p4= p4= p4= + 1.0 5 s1= s1= s1= s1= s1= s1= + 1.0 5 s2= s2= s2= s2= s2= s2= + 1.0 2 si4 si4 si4 si4 si4 si4 + 1.0 2 si4c si4c si4 si4 si4 si4 + 1.0 5 xe xe xe xe xe xe + + +#quartic_bond compass + +> E = K2 * (R - R0)^2 + K3 * (R - R0)^3 + K4 * (R - R0)^4 + +!Ver Ref I J R0 K2 K3 K4 +!---- --- ---- ---- ------- -------- --------- -------- + 1.0 1 c3a c3a 1.4170 470.8361 -627.6179 1327.6345 + 1.0 1 c3a c4 1.5010 321.9021 -521.8208 572.1628 + 1.0 1 c3a h1 1.0982 372.8251 -803.4526 894.3173 + 1.0 1 c4 c4 1.5300 299.6700 -501.7700 679.8100 + 1.0 1 c4 h1 1.1010 345.0000 -691.8900 844.6000 + 1.0 2 o2z si4 1.6400 350.1232 -517.3424 673.7067 + 1.0 3 c3a o2 1.3768 428.8798 -738.2350 1114.9655 + 1.0 3 c3a o2e 1.3768 428.8798 -738.2351 1114.9655 + 1.0 3 c3a o2h 1.3768 428.8798 -738.2351 1114.9655 + 1.0 3 c4 o2e 1.4200 400.3954 -835.1951 1313.0142 + 1.0 3 c4 o2h 1.4200 400.3954 -835.1951 1313.0142 + 1.0 3 h1 o2h 0.9494 540.3633 -1311.8663 2132.4446 + 1.0 4 c3a n2= 1.4000 350.0000 0.0000 0.0000 + 1.0 4 c3a p4= 1.7890 197.7020 -332.2510 325.7160 + 1.0 4 c4 n2= 1.4740 337.0600 -147.3700 213.6330 + 1.0 4 c4 p4= 1.8000 218.1400 -329.5110 290.3490 + 1.0 4 cl1p p4= 2.0000 158.7770 -239.1290 210.0840 + 1.0 4 f1p p4= 1.5650 340.0000 -882.3840 1197.9190 + 1.0 4 h1 n2= 1.0310 540.1120 -1500.2952 2431.0080 + 1.0 4 h1 p4= 1.4300 285.2040 -575.6850 677.8460 + 1.0 4 n2= p4= 1.5980 393.0060 -751.4050 767.4310 + 1.0 4 n3 p4= 1.6780 329.0000 -713.7950 902.9190 + 1.0 4 o2 p4= 1.6000 333.0980 -726.6230 924.6200 + 1.0 5 h1h h1h 0.7412 414.2185 -805.6549 914.1296 + 1.0 5 n1n n1n 1.0977 1651.3730 -4069.3178 5984.9629 + 1.0 5 o1o o1o 1.2074 846.7150 -2247.1760 3478.9900 + 1.0 5 c1o o1c 1.1283 1368.7676 -3157.0007 4247.5298 + 1.0 5 n1o o1n 1.1506 1147.8362 -3167.7349 5099.5811 + 1.0 5 o1= s2= 1.4308 730.8387 -1531.7910 1859.7753 + 1.0 5 c2= o1= 1.1600 1161.3421 -2564.5706 3932.8735 + 1.0 5 n2o o1= 1.1930 620.0000 -1808.6018 3077.5918 + 1.0 5 c2= s1= 1.5540 559.0065 -1348.6633 1248.8604 + 1.0 6 c3a n3o 1.4300 313.8329 -568.6087 600.9597 + 1.0 6 c4 n3o 1.4740 301.6051 -535.7028 555.0420 + 1.0 6 c4 o2n 1.4350 400.3954 -835.1951 1313.0142 + 1.0 6 h1 n3o 1.0400 439.9346 -943.7307 1180.9318 + 1.0 6 n3o o1= 1.2100 765.0664 -2070.2830 2793.3218 + 1.0 6 n3o o2n 1.4020 300.0000 -1000.0000 2000.0000 + 1.0 7 c3' o2e 1.3750 368.7309 -832.4784 1274.0231 + 1.0 7 c3' c4 1.5140 312.3719 -465.8290 473.8300 + 1.0 7 c3' o1= 1.2160 823.7948 -1878.7939 2303.5310 + 1.0 7 c3' c3a 1.4890 339.3574 -655.7236 670.2362 + 1.0 7 c3' n3m 1.3850 359.1591 -558.4730 1146.3810 + 1.0 7 c3a n3m 1.3950 344.0452 -652.1208 1022.2242 + 1.0 9 n1t n1t 1.1354 1337.7450 -2675.4900 3121.4049 + 1.0 9 n2z n2t 1.2343 720.3345 -1542.6689 1799.7804 + 1.0 9 n2t n1t 1.1354 1198.7450 -2675.4900 3121.4049 + 1.0 9 n2z c4 1.4814 324.4578 -648.9156 757.0681 + 1.0 9 n2z h1 1.0221 440.1623 -960.3246 1120.3787 + 1.0 10 c3a si4 1.8634 233.2433 -276.8692 161.6659 + 1.0 10 c4 si4 1.8995 189.6536 -279.4210 307.5135 + 1.0 10 h1 si4 1.4783 202.7798 -305.3603 280.2685 + 1.0 10 si4 si4 2.3384 114.2164 -140.4212 80.7084 + 1.0 10 c4 n3m 1.4000 350.0000 0.0000 0.0000 + + +#quartic_angle compass + +> Delta = Theta - Theta0 +> E = K2 * Delta^2 + K3 * Delta^3 + K4 * Delta^4 + +!Ver Ref I J K Theta0 K2 K3 K4 +!---- --- ---- ---- ---- -------- ------- -------- -------- + 1.0 1 c3a c3a c3a 118.9000 61.0226 -34.9931 0.0000 + 1.0 1 c3a c3a c4 120.0500 44.7148 -22.7352 0.0000 + 1.0 1 c3a c3a h1 117.9400 35.1558 -12.4682 0.0000 + 1.0 1 c3a c4 c3a 111.0000 44.3234 -9.4454 0.0000 + 1.0 1 c3a c4 c4 108.4000 43.9594 -8.3924 -9.3379 + 1.0 1 c3a c4 h1 111.0000 44.3234 -9.4454 0.0000 + 1.0 1 c4 c4 c4 112.6700 39.5160 -7.4430 -9.5583 + 1.0 1 c4 c4 h1 110.7700 41.4530 -10.6040 5.1290 + 1.0 1 h1 c4 h1 107.6600 39.6410 -12.9210 -2.4318 + 1.0 2 h1 o2z si4 122.8000 23.7764 -19.8152 9.6331 + 1.0 2 si4 o2z si4 159.0000 8.5000 -13.4188 -4.1785 + 1.0 2 c3a si4 o2z 114.9060 23.0218 -31.3993 24.9814 + 1.0 2 c4 si4 o2z 114.9060 23.0218 -31.3993 24.9814 + 1.0 2 h1 si4 o2z 107.4000 57.6643 -10.6506 4.6274 + 1.0 2 o2z si4 o2z 110.7000 70.3069 -6.9375 0.0000 + 1.0 3 c3a c3a o2 123.4200 73.6781 -21.6787 0.0000 + 1.0 3 c4 c4 o2 111.2700 54.5381 -8.3642 -13.0838 + 1.0 3 h1 c4 o2 108.7280 58.5446 -10.8088 -12.4006 + 1.0 3 c3a o2 c4 102.9695 38.9739 -6.2595 -8.1710 + 1.0 3 c3a o2 h1 108.1900 53.1250 -8.5016 0.0000 + 1.0 3 c4 o2 c4 104.5000 35.7454 -10.0067 -6.2729 + 1.0 3 c4 o2 h1 105.8000 52.7061 -12.1090 -9.8681 + 1.0 4 c3a c3a n2= 120.0000 60.0000 0.0000 0.0000 + 1.0 4 c3a c3a p4= 120.0010 47.8410 -15.2290 -10.9070 + 1.0 4 c4 c4 n2= 117.3170 55.2420 0.0000 0.0000 + 1.0 4 h1 c4 n2= 107.4990 62.7310 0.0000 0.0000 + 1.0 4 h1 c4 p4= 110.8860 33.8300 -7.0430 -7.2460 + 1.0 4 c4 n2= h1 117.2000 37.2620 0.0000 0.0000 + 1.0 4 h1 n2= h1 110.9100 31.0910 0.0000 0.0000 + 1.0 4 h1 n2= p4= 120.0000 26.0680 -8.2980 -5.9430 + 1.0 4 p4= n2= p4= 135.0000 23.8680 -8.7360 0.0000 + 1.0 4 c4 n3 p4= 120.0830 25.0010 -6.1170 -5.4570 + 1.0 4 h1 n3 p4= 120.0830 25.0010 -6.1170 -5.4570 + 1.0 4 c4 o2 p4= 118.2830 35.0010 -10.3600 -7.8700 + 1.0 4 h1 o2 p4= 117.0000 26.0310 -5.8280 -5.6200 + 1.0 4 c3a p4= c3a 110.2310 56.1850 -17.3160 -12.7280 + 1.0 4 c3a p4= h1 108.2310 36.1850 -6.4880 -7.6460 + 1.0 4 c3a p4= n2= 109.6000 63.0620 -19.7400 -14.3290 + 1.0 4 c3a p4= n3 108.1650 70.9770 -11.5480 -15.1090 + 1.0 4 c3a p4= o2 107.3650 71.9770 -10.9430 -15.2900 + 1.0 4 c4 p4= c4 102.5000 48.2320 -5.7980 -9.9660 + 1.0 4 c4 p4= h1 102.9000 52.0710 -6.4680 -10.7730 + 1.0 4 c4 p4= n2= 119.3000 47.3660 -14.6410 -10.7360 + 1.0 4 h1 p4= h1 101.4080 39.6950 -5.1340 -8.2270 + 1.0 4 h1 p4= n2= 110.0330 45.9780 -14.0520 -10.3990 + 1.0 4 h1 p4= n3 103.9780 68.2570 -9.2210 -14.1740 + 1.0 4 h1 p4= o2 103.9780 73.2570 -9.8970 -15.2120 + 1.0 4 n2= p4= n2= 125.0000 90.5230 -20.8010 -19.6020 + 1.0 4 n2= p4= n3 123.2150 89.9230 -32.6120 -21.0960 + 1.0 4 n2= p4= o2 112.2150 99.9230 -32.0930 -22.8210 + 1.0 4 n3 p4= n3 107.1000 85.7690 -5.7790 -17.4890 + 1.0 4 n3 p4= o2 108.3000 86.7690 -5.1750 -17.6710 + 1.0 4 o2 p4= o2 107.5000 86.7690 -4.5700 -17.8520 + 1.0 5 o1= c2= o1= 180.0000 57.1000 0.0000 0.0000 + 1.0 5 s1= c2= s1= 180.0000 48.0000 0.0000 0.0000 + 1.0 5 o1= n2o o1= 134.1000 150.0000 -82.1013 -40.0005 + 1.0 5 o1= s2= o1= 119.3000 115.2627 -35.6278 -26.1261 + 1.0 6 c3a c3a n3o 118.8000 29.2436 -8.8495 -6.6020 + 1.0 6 h1 c4 n3o 107.0000 54.9318 -9.1333 -11.5434 + 1.0 6 h1 c4 o2n 108.7280 58.5446 -10.8088 -12.4006 + 1.0 6 c3a n3o o1= 117.7000 63.9404 -18.4524 -14.3129 + 1.0 6 c4 n3o o1= 117.5000 64.5228 -18.4582 -14.4215 + 1.0 6 h1 n3o o1= 115.7000 53.8034 -14.1991 -11.8708 + 1.0 6 o1= n3o o1= 128.0000 95.1035 -47.4240 -27.9164 + 1.0 6 c4 o2n n3o 108.5000 55.7454 -10.0067 -6.2729 + 1.0 6 c4 c4 o2n 105.0000 54.5381 -8.3642 -13.0838 + 1.0 6 o2n n3o o1= 112.8000 85.5228 -18.4582 -14.4215 + 1.0 7 c3' o2 c4 109.0000 38.9739 -6.2595 -8.1710 + 1.0 7 c3' c4 h1 107.8594 38.0833 -17.5074 0.0000 + 1.0 7 c3' n3m c3' 121.9556 76.3105 -26.3166 -17.6944 + 1.0 7 c3a c3a c3' 116.0640 71.2598 -15.8273 2.0506 + 1.0 7 c3a c3' n3m 108.4400 84.8377 -19.9640 2.7405 + 1.0 7 c3a c3' o1= 125.5320 72.3167 -16.0650 2.0818 + 1.0 7 c3a c3a n3m 120.7640 73.2738 -27.4033 13.3920 + 1.0 7 c3a n3m c3' 120.0700 47.1131 -32.5592 13.1257 + 1.0 7 o1= c3' o2 118.9855 98.6813 -22.2485 10.3673 + 1.0 7 o1= c3' c4 119.3000 65.1016 -17.9766 0.0000 + 1.0 7 o2 c3' c4 100.3182 88.8631 -3.8323 -7.9802 + 1.0 7 n3m c3' o1= 121.5420 92.5720 -34.4800 -11.1871 + 1.0 9 n2z n2t n1t 171.6211 47.7899 0.0000 0.0000 + 1.0 9 n2t n2z h1 110.0345 55.7635 0.6618 0.0022 + 1.0 9 n2t n2z c4 113.5017 82.6294 0.9845 0.0033 + 1.0 9 n2z c4 h1 107.9744 52.7803 0.6615 0.0023 + 1.0 9 n2z c4 c4 110.9900 77.9387 0.9499 0.0033 + 1.0 10 c3a c3a si4 120.0000 30.4689 -23.5439 0.0000 + 1.0 10 c4 c4 si4 112.6700 39.5160 -7.4430 0.0000 + 1.0 10 h1 c4 si4 112.0355 28.7721 -13.9523 0.0000 + 1.0 10 c3a si4 h1 109.5932 41.9497 -42.3639 48.1442 + 1.0 10 c4 si4 c4 113.1855 36.2069 -20.3939 20.0172 + 1.0 10 c4 si4 h1 112.0977 36.4832 -12.8094 0.0000 + 1.0 10 h1 si4 h1 108.6051 32.5415 -8.3164 0.0000 + 1.0 10 c4 si4 si4 113.0000 19.4692 -34.3471 0.0000 + 1.0 10 h1 si4 si4 112.0893 22.5062 -11.5926 0.0000 + 1.0 10 si4 si4 si4 114.2676 24.9501 -19.5949 0.0000 + +#bond-bond compass + +> E = K(b,b') * (R - R0) * (R' - R0') + +!Ver Ref I J K K(b,b') +!---- --- ---- ---- ---- ------- + 1.0 1 c3a c3a c3a 68.2856 + 1.0 1 c3a c3a c4 12.0676 + 1.0 1 c3a c3a h1 1.0795 + 1.0 1 c3a c4 h1 2.9168 + 1.0 1 c4 c4 h1 3.3872 + 1.0 1 h1 c4 h1 5.3316 + 1.1 2 h1 c4 si4 6.3820 + 1.0 2 h1 o2z si4 6.3820 + 1.0 2 si4 o2z si4 41.1143 + 1.0 2 c4 si4 o2z 5.4896 + 1.0 2 h1 si4 o2z 11.6183 + 1.0 2 o2z si4 o2z 41.1143 + 1.0 3 c3a c3a o2 48.4754 + 1.0 3 h1 c3a o2 4.5800 + 1.0 3 c4 c4 o2 11.4318 + 1.0 3 h1 c4 o2 23.1979 + 1.0 3 o2 c4 o2 8.2983 + 1.0 3 c3a o2 h1 20.6577 + 1.0 3 c4 o2 c4 -7.1131 + 1.0 3 c4 o2 h1 -9.6879 + 1.0 4 c4 c4 n2= 22.7100 + 1.0 4 h1 c4 n2= 5.6640 + 1.0 4 h1 c4 p4= 1.0500 + 1.0 4 c4 n2= h1 12.5630 + 1.0 4 h1 n2= h1 1.4570 + 1.0 4 h1 n2= p4= -18.2870 + 1.0 4 p4= n2= p4= 20.0000 + 1.0 4 c4 p4= c4 6.2460 + 1.0 4 c4 p4= h1 3.8820 + 1.0 4 c4 p4= n2= 1.0720 + 1.0 4 h1 p4= h1 20.0000 + 1.0 4 h1 p4= n2= 12.5700 + 1.0 4 n2= p4= n2= 20.0000 + 1.0 5 o1= c2= o1= 275.4350 + 1.0 5 s1= c2= s1= 100.7369 + 1.0 5 o1= n2o o1= 20.0000 + 1.0 5 o1= s2= o1= 20.0000 + 1.0 6 c3a c3a n3o 21.0495 + 1.0 6 c4 c4 o2n 11.4318 + 1.0 6 h1 c4 n3o 3.3770 + 1.0 6 h1 c4 o2n 23.1979 + 1.0 6 c3a n3o o1= 93.7948 + 1.0 6 o2n n3o o1= 80.0000 + 1.0 6 c4 n3o o1= 48.1403 + 1.0 6 h1 n3o o1= 14.8226 + 1.0 6 o1= n3o o1= 265.7106 + 1.0 7 c3' o2 c3a 69.5999 + 1.0 7 c3' c4 h1 2.2522 + 1.0 7 c3' n3m c3' 25.9530 + 1.0 7 c3a c4 o2 0.0000 + 1.0 7 c3a o2 c3a 0.0000 + 1.0 7 c3' c3a c3a 37.8749 + 1.0 7 c3a c3' n3m 0.0000 + 1.0 7 c3a c3' o1= 116.9445 + 1.0 7 c3a c3a n3m 37.8749 + 1.0 7 c3a n3m c3' 0.0000 + 1.0 7 o1= c3' o2 210.1813 + 1.0 7 c4 c3' o1= 77.5201 + 1.0 7 c4 c3' o2 19.1069 + 1.0 7 n3m c3' o1= 138.4954 + 1.0 9 h1 n2z n2t 14.9026 + 1.0 9 n2z n2t n1t 204.9909 + 1.0 9 n2t n2z c4 84.2075 + 1.0 9 n2z c4 h1 18.4621 + 1.0 9 n2z c4 c4 36.9309 + 1.0 10 h1 c4 si4 1.6561 + 1.0 10 c3a c3a si4 21.3938 + 1.0 10 c3a si4 h1 3.9264 + 1.0 10 c4 si4 c4 3.7419 + 1.0 10 c4 si4 h1 3.9340 + 1.0 10 c4 si4 si4 2.3030 + 1.0 10 h1 si4 h1 4.6408 + 1.0 10 h1 si4 si4 3.5172 + 1.0 10 si4 si4 si4 6.0704 + + +#bond-bond_1_3 compass + +> E = K(b,b') * (R - R0) * (R' - R0') + +!Ver Ref I J K L K(b,b') +!--- --- ----- ----- ----- ----- -------- + 1.0 1 c3a c3a c3a c3a 53.0000 + 1.0 1 c3a c3a c3a c4 2.5085 + 1.0 1 c3a c3a c3a h1 -6.2741 + 1.0 1 c4 c3a c3a h1 0.8743 + 1.0 1 h1 c3a c3a h1 -1.7077 + 1.0 1 c3a c3a c4 h1 -3.4826 + 1.0 3 c3a c3a c3a o2 -2.2436 + 1.0 3 h1 c3a c3a o2 -2.0517 + 1.0 3 c3a c3a o2 h1 1.1590 + + +#bond-angle compass + +> E = K * (R - R0) * (Theta - Theta0) + +!Ver Ref I J K K(b,theta) K(b',theta) +!---- --- ---- ---- ---- ---------- ----------- + 1.0 1 c3a c3a c3a 28.8708 + 1.0 1 c3a c3a c4 31.0771 47.0579 + 1.0 1 c3a c3a h1 20.0033 24.2183 + 1.0 1 c3a c4 h1 26.4608 11.7717 + 1.0 1 c4 c4 c4 8.0160 + 1.0 1 c4 c4 h1 20.7540 11.4210 + 1.0 1 h1 c4 h1 18.1030 + 1.0 2 h1 o2z si4 18.0902 31.0726 + 1.0 2 si4 o2z si4 28.6686 + 1.0 2 c4 si4 o2z 6.4278 20.5669 + 1.0 2 h1 si4 o2z 6.4278 20.5669 + 1.0 2 o2z si4 o2z 23.4380 + 1.0 3 c3a c3a o2 58.4790 107.6806 + 1.0 3 c4 c4 o2 2.6868 20.4033 + 1.0 3 h1 c4 o2 4.6189 55.3270 + 1.0 3 c3a o2 h1 53.8614 23.9224 + 1.0 3 c4 o2 c4 -2.8112 + 1.0 3 c4 o2 h1 28.5800 18.9277 + 1.0 4 c4 c4 n2= 19.2440 59.4220 + 1.0 4 h1 c4 n2= 6.4070 46.3730 + 1.0 4 h1 c4 p4= 19.8120 16.9400 + 1.0 4 c4 n2= h1 18.4860 7.8370 + 1.0 4 h1 n2= h1 8.4900 + 1.0 4 h1 n2= p4= 40.0630 90.7910 + 1.0 4 c4 p4= c4 12.8050 + 1.0 4 c4 p4= h1 11.1260 -19.4700 + 1.0 4 c4 p4= n2= -7.1280 26.3530 + 1.0 4 h1 p4= n2= -24.3830 72.9250 + 1.0 5 o1= n2o o1= -50.0000 + 1.0 5 o1= s2= o1= 45.0585 + 1.0 6 c3a c3a n3o 30.5211 59.8025 + 1.0 6 c4 c4 o2n 2.6868 20.4033 + 1.0 6 h1 c4 n3o 12.2491 30.5314 + 1.0 6 h1 c4 o2n 4.6189 55.3270 + 1.0 6 c3a n3o o1= 40.3757 92.1955 + 1.0 6 c4 n3o o1= 27.2141 93.9927 + 1.0 6 h1 n3o o1= -8.6275 58.6036 + 1.0 6 o1= n3o o1= 95.6936 + 1.0 7 c3' o2 c4 21.5366 -16.6748 + 1.0 7 c3' c4 h1 15.5988 14.6287 + 1.0 7 c3' n3m c3' 20.0533 + 1.0 7 c3' c3a c3a 23.6977 45.8865 + 1.0 7 c3a c3a n3m 35.8865 53.6977 + 1.0 7 c3a c3' o1= 72.8758 76.1093 + 1.0 7 o1= c3' o2 79.4497 57.0987 + 1.0 7 c4 c3' o1= 31.8455 46.6613 + 1.0 7 c4 c3' o2 1.3435 4.6978 + 1.0 7 n3m c3' o1= 62.7124 52.4045 + 1.0 9 h1 n2z n2t 37.4419 141.1218 + 1.0 9 n2z n2t n1t 25.5611 1.2222 + 1.0 9 n2t n2z c4 195.9722 88.2679 + 1.0 9 n2z c4 h1 61.9652 3.3182 + 1.0 9 n2z c4 c4 67.8888 34.8803 + 1.0 10 c3a c3a si4 14.5831 23.7679 + 1.0 10 h1 c4 si4 16.6908 18.2764 + 1.0 10 c3a si4 h1 22.5947 8.7811 + 1.0 10 c4 si4 c4 18.5805 + 1.0 10 c4 si4 h1 13.3961 7.4104 + 1.0 10 c4 si4 si4 16.9455 11.4377 + 1.0 10 h1 si4 h1 9.3467 + 1.0 10 h1 si4 si4 5.6630 2.0706 + 1.0 10 si4 si4 si4 8.9899 + + +#torsion_3 compass + +> E = SUM(n=1,3) { V(n) * [ 1 - cos(n*Phi - Phi0(n)) ] } + +!Ver Ref I J K L V1 Phi0 V2 Phi0 V3 Phi0 +!---- --- ---- ---- ---- ---- ------- ------ ------- ------ ------- ------ + 1.0 1 c3a c3a c3a c3a 8.3667 0.0 1.2000 0.0 0.0000 0.0 + 1.0 1 c3a c3a c3a c4 0.0000 0.0 4.4072 0.0 0.0000 0.0 + 1.0 1 c3a c3a c3a h1 0.0000 0.0 3.9661 0.0 0.0000 0.0 + 1.0 1 c4 c3a c3a h1 0.0000 0.0 1.5590 0.0 0.0000 0.0 + 1.0 1 h1 c3a c3a h1 0.0000 0.0 2.3500 0.0 0.0000 0.0 + 1.0 1 c3a c3a c4 c3a -0.2802 0.0 -0.0678 0.0 -0.0122 0.0 + 1.0 1 c3a c3a c4 c4 -0.2802 0.0 -0.0678 0.0 -0.0122 0.0 + 1.0 1 c3a c3a c4 h1 -0.2802 0.0 -0.0678 0.0 -0.0122 0.0 + 1.0 1 c3a c4 c4 h1 -0.0228 0.0 0.0280 0.0 -0.1863 0.0 + 1.0 1 c4 c4 c4 c4 0.0000 0.0 0.0514 0.0 -0.1430 0.0 + 1.0 1 c4 c4 c4 h1 0.0000 0.0 0.0316 0.0 -0.1681 0.0 + 1.0 1 h1 c4 c4 h1 -0.1432 0.0 0.0617 0.0 -0.1530 0.0 + 1.0 1 * c3a c3a * 0.0000 0.0 4.5000 0.0 0.0000 0.0 + 1.0 1 * c4 c4 * 0.0000 0.0 0.0000 0.0 -0.1530 0.0 + 1.0 2 h1 o2z si4 c4 0.0000 0.0 0.0000 0.0 -0.0500 0.0 + 1.0 2 h1 o2z si4 h1 0.0000 0.0 0.0000 0.0 -0.0500 0.0 + 1.0 2 h1 o2z si4 o2z 0.0000 0.0 0.0000 0.0 -0.0500 0.0 + 1.0 2 si4 o2z si4 c4 0.0000 0.0 0.0000 0.0 -0.0100 0.0 + 1.0 2 si4 o2z si4 h1 0.0000 0.0 0.0000 0.0 -0.0100 0.0 + 1.0 2 si4 o2z si4 o2z -0.2250 0.0 0.0000 0.0 -0.0100 0.0 + 1.0 2 * o2z si4 * 0.0000 0.0 0.0000 0.0 -0.0100 0.0 + 1.0 3 c3a c3a c3a o2 0.0000 0.0 4.8498 0.0 0.0000 0.0 + 1.0 3 h1 c3a c3a o2 0.0000 0.0 1.7234 0.0 0.0000 0.0 + 1.0 3 c3a c3a o2 c4 0.0000 0.0 1.5000 0.0 0.0000 0.0 + 1.0 3 c3a c3a o2 h1 -0.6900 0.0 0.5097 0.0 0.0095 0.0 + 1.0 3 c4 c4 c4 o2 0.7137 0.0 0.2660 0.0 -0.2545 0.0 + 1.0 3 h1 c4 c4 o2 -0.1435 0.0 0.2530 0.0 -0.0905 0.0 + 1.0 3 o2 c4 c4 o2 1.1000 0.0 -0.0500 0.0 -0.1441 0.0 + 1.0 3 c4 c4 o2 c4 -0.4000 0.0 -0.4028 0.0 -0.2450 0.0 + 1.0 3 c4 c4 o2 h1 -0.6732 0.0 -0.4778 0.0 -0.1670 0.0 + 1.0 3 h1 c4 o2 c3a 0.9513 0.0 0.1155 0.0 0.0720 0.0 + 1.0 3 h1 c4 o2 c4 0.5302 0.0 0.0000 0.0 -0.3966 0.0 + 1.0 3 h1 c4 o2 h1 0.1863 0.0 -0.4338 0.0 -0.2121 0.0 + 1.0 4 c3a c3a c3a p4= 0.0000 0.0 5.4770 0.0 0.0000 0.0 + 1.0 4 h1 c3a c3a p4= 0.0000 0.0 2.2700 0.0 0.0000 0.0 + 1.0 4 c3a c3a p4= h1 -0.2720 0.0 1.1900 0.0 0.0000 0.0 + 1.0 4 c3a c3a p4= n2= -0.2720 0.0 1.1900 0.0 0.0000 0.0 + 1.0 4 c4 c4 c4 n2= 0.0970 0.0 0.0720 0.0 -0.2580 0.0 + 1.0 4 h1 c4 c4 n2= -0.1510 0.0 0.0100 0.0 -0.1860 0.0 + 1.0 4 c4 c4 n2= h1 -5.0720 0.0 -0.4980 0.0 -0.4380 0.0 + 1.0 4 h1 c4 n2= h1 1.2660 0.0 -0.7740 0.0 0.0380 0.0 + 1.0 4 h1 c4 p4= c4 0.0000 0.0 0.0000 0.0 -0.0680 0.0 + 1.0 4 h1 c4 p4= h1 0.0000 0.0 0.0000 0.0 -0.0680 0.0 + 1.0 4 h1 c4 p4= n2= 0.0000 0.0 0.0000 0.0 -0.0680 0.0 + 1.0 4 h1 n2= p4= c3a 0.0000 0.0 0.0000 0.0 -0.3500 0.0 + 1.0 4 h1 n2= p4= c4 0.0000 0.0 0.0000 0.0 -0.3690 0.0 + 1.0 4 h1 n2= p4= h1 0.0000 0.0 0.0000 0.0 -0.3500 0.0 + 1.0 4 h1 n2= p4= o2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 + 1.0 4 p4= n2= p4= h1 0.0000 0.0 0.0000 0.0 0.0000 0.0 + 1.0 4 p4= n2= p4= n2= 1.8000 0.0 0.5000 0.0 2.0000 0.0 + 1.0 4 h1 n3 p4= h1 0.0000 0.0 0.0000 0.0 0.0000 0.0 + 1.0 4 h1 n3 p4= n2= 0.0000 0.0 0.0000 0.0 0.0000 0.0 + 1.0 4 h1 n3 p4= o2 0.0000 0.0 0.0000 0.0 0.0000 0.0 + 1.0 4 h1 o2 p4= h1 5.7080 0.0 2.1180 0.0 0.0000 0.0 + 1.0 4 h1 o2 p4= n2= 5.7080 0.0 2.1180 0.0 0.0000 0.0 + 1.0 4 h1 o2 p4= o2 5.7080 0.0 2.1180 0.0 0.0000 0.0 + 1.0 4 * o2 p4= * 5.7080 0.0 2.1180 0.0 0.0000 0.0 + 1.0 4 * c3a n2= * 0.0000 0.0 1.0000 0.0 0.0000 0.0 + 1.0 4 * c3a p4= * -0.2720 0.0 1.1900 0.0 0.0000 0.0 + 1.0 4 * c4 n2= * 0.0000 0.0 0.0000 0.0 -0.0200 0.0 + 1.0 4 * c4 p4= * 0.0000 0.0 0.0000 0.0 -0.0680 0.0 + 1.0 4 * n2= p4= * 0.0000 0.0 0.0000 0.0 -0.3500 0.0 + 1.0 4 * n3 p4= * 0.0000 0.0 0.0000 0.0 0.0000 0.0 + 1.0 6 c3a c3a c3a n3o 0.0000 0.0 7.2124 0.0 0.0000 0.0 + 1.0 6 h1 c3a c3a n3o 0.0000 0.0 2.9126 0.0 0.0000 0.0 + 1.0 6 c3a c3a n3o o1= 0.0000 0.0 1.1600 0.0 0.0000 0.0 + 1.0 6 c4 c4 n3o o1= 0.0000 0.0 0.0000 0.0 -0.3500 0.0 + 1.0 6 h1 c4 n3o o1= 0.0000 0.0 0.0000 0.0 -0.3500 0.0 + 1.0 6 c4 c4 o2 n3o 0.0000 0.0 -0.4000 0.0 -0.2000 0.0 + 1.0 6 o1= n3o o2 c4 0.0000 0.0 2.0000 0.0 0.0000 0.0 + 1.0 7 c3' c3a c3a c3a 0.0000 0.0 4.6282 0.0 0.0000 0.0 + 1.0 7 c3' c3a c3a h1 0.0000 0.0 2.1670 0.0 0.0000 0.0 + 1.0 7 c3' n3m c3a c3a 0.0000 0.0 0.6500 0.0 0.0000 0.0 + 1.0 7 c3' n3m c3' o1 -0.4066 0.0 1.2513 0.0 -0.7507 0.0 + 1.0 7 c3' o2 c4 c4 0.1302 0.0 -0.3250 0.0 0.1134 0.0 + 1.0 7 c3' o2 c4 h1 0.9513 0.0 0.1155 0.0 0.0000 0.0 + 1.0 7 c3a c3a c3' o1= 0.0000 0.0 0.7800 0.0 0.0000 0.0 + 1.0 7 c3a c3a c3a n3m 0.0000 0.0 3.4040 0.0 0.0000 0.0 + 1.0 7 c3a n3m c3' o1= 0.0000 0.0 2.0521 0.0 0.0000 0.0 + 1.0 7 c4 o2 c3' c4 -2.5594 0.0 2.2013 0.0 0.0325 0.0 + 1.0 7 c4 o2 c3' o1= 0.8905 0.0 3.2644 0.0 0.2646 0.0 + 1.0 7 o1= c3' c4 h1 0.0000 0.0 0.0000 0.0 0.0000 0.0 + 1.0 7 o2 c3' c4 h1 0.0000 0.0 0.0000 0.0 0.0000 0.0 + 1.0 7 n3m c3a c3a h1 0.0000 0.0 3.4040 0.0 0.0000 0.0 + 1.0 9 h1 n2z n2t n1t 0.0000 0.0 0.0000 0.0 -0.2637 0.0 + 1.0 9 c4 n2z n2t n1t 0.0000 0.0 0.0000 0.0 -0.1823 0.0 + 1.0 9 n2t n2z c4 h1 0.0000 0.0 0.0000 0.0 -0.2181 0.0 + 1.0 9 n2t n2z c4 c4 0.0000 0.0 0.0000 0.0 -0.2021 0.0 + 1.0 9 n2z c4 c4 h1 0.0000 0.0 0.0000 0.0 -0.2259 0.0 + 1.0 10 c3a c3a c3a si4 0.0000 0.0 4.3270 0.0 0.0000 0.0 + 1.0 10 h1 c3a c3a si4 0.0000 0.0 1.5093 0.0 0.0000 0.0 + 1.0 10 c3a c3a si4 * 0.0000 0.0 0.0000 0.0 -0.0231 0.0 + 1.0 10 c4 c4 si4 si4 -0.3500 0.0 0.0000 0.0 -0.0657 0.0 + 1.0 10 * c4 si4 * 0.0000 0.0 0.0000 0.0 -0.0657 0.0 + 1.0 10 * si4 si4 * 0.0000 0.0 0.0000 0.0 -0.0657 0.0 + + +#end_bond-torsion_3 compass + +> E = (R - R0) * +> { F(1) * cos(phi) + F(2) * cos(2 * phi) + F(3) * cos(3 * phi) } + +! LEFT RIGHT +! ------------------------------- ------------------------------- +!Ver Ref I J K L F(1) F(2) F(3) F(1) F(2) F(3) +!---- --- ---- ---- ---- ---- ------- ------- ------- ------- ------- ------- + 1.0 1 c3a c3a c3a c3a -0.1185 6.3204 0.0000 + 1.0 1 c3a c3a c3a c4 0.0000 -0.6918 0.0000 0.0000 0.2421 0.0000 + 1.0 1 c3a c3a c3a h1 0.0000 -6.8958 0.0000 0.0000 -0.4669 0.0000 + 1.0 1 c4 c3a c3a h1 0.0000 -1.7970 0.0000 0.0000 -0.4879 0.0000 + 1.0 1 h1 c3a c3a h1 0.0000 -0.6890 0.0000 + 1.0 1 c3a c3a c4 c4 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 + 1.0 1 c3a c3a c4 h1 -0.5835 1.1220 0.3978 1.3997 0.7756 0.0000 + 1.0 1 c3a c4 c4 h1 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 + 1.0 1 c4 c4 c4 c4 -0.0732 0.0000 0.0000 + 1.0 1 c4 c4 c4 h1 0.2486 0.2422 -0.0925 0.0814 0.0591 0.2219 + 1.0 1 h1 c4 c4 h1 0.2130 0.3120 0.0777 + 1.0 3 c3a c3a c3a o2 0.0000 0.2655 0.0000 0.0000 4.8905 0.0000 + 1.0 3 h1 c3a c3a o2 0.0000 -1.5867 0.0000 0.0000 4.2641 0.0000 + 1.0 3 c3a c3a o2 h1 0.9000 -1.3456 1.1900 3.4132 0.5873 -0.1323 + 1.0 3 c4 c4 c4 o2 -0.3190 0.4411 -0.7174 1.1538 0.8409 -0.9138 + 1.0 3 h1 c4 c4 o2 0.9681 0.9551 0.0436 0.5903 0.6669 0.8584 + 1.0 3 o2 c4 c4 o2 1.0165 0.7553 -0.4609 + 1.0 3 c4 c4 o2 c4 -0.2456 1.0517 -0.7795 0.4741 1.2635 0.5576 + 1.0 3 c4 c4 o2 h1 -0.5800 0.9004 0.0000 0.0000 0.5343 0.9025 + 1.0 3 h1 c4 o2 c4 -0.6054 1.3339 0.9648 -0.1620 0.1564 -1.1408 + 1.0 3 h1 c4 o2 h1 -1.7554 1.3145 0.2263 0.2493 0.6803 0.0000 + 1.0 7 o1= c3' n3m c3' -0.7019 0.8305 -0.6874 0.1726 -0.4823 0.2666 + 1.0 7 c4 c4 o2 c3' -1.2164 -0.1715 -0.0964 0.2560 0.8133 -0.0728 + 1.0 7 h1 c4 o2 c3' 0.9589 0.9190 -0.6015 0.2282 2.2998 -0.4473 + 1.0 7 c4 c3' o2 c4 0.1928 1.3187 0.8599 0.0004 -1.0975 0.4831 + 1.0 7 o1= c3' o2 c4 -4.2421 10.1102 1.6824 0.0882 -2.4309 -0.7426 + 1.0 7 o1= c3' c4 h1 0.0536 0.0354 0.3853 2.9036 0.5307 0.1439 + 1.0 7 o2 c3' c4 h1 0.4160 -0.1140 0.7099 0.7800 1.3339 0.3268 + + +#middle_bond-torsion_3 compass + +> E = (R - R0) * +> { F(1) * cos(phi) + F(2) * cos(2 * phi) + F(3) * cos(3 * phi) } + +!Ver Ref I J K L F(1) F(2) F(3) +!---- --- ---- ---- ---- ---- -------- ------- ------- + 1.0 1 c3a c3a c3a c3a 27.5989 -2.3120 0.0000 + 1.0 1 c3a c3a c3a c4 0.0000 9.1792 0.0000 + 1.0 1 c3a c3a c3a h1 0.0000 -1.1521 0.0000 + 1.0 1 c4 c3a c3a h1 0.0000 3.9421 0.0000 + 1.0 1 h1 c3a c3a h1 0.0000 4.8228 0.0000 + 1.0 1 c3a c3a c4 c4 0.0000 0.0000 0.0000 + 1.0 1 c3a c3a c4 h1 -5.5679 1.4083 0.3010 + 1.0 1 c3a c4 c4 h1 0.0000 0.0000 0.0000 + 1.0 1 c4 c4 c4 c4 -17.7870 -7.1877 0.0000 + 1.0 1 c4 c4 c4 h1 -14.8790 -3.6581 -0.3138 + 1.0 1 h1 c4 c4 h1 -14.2610 -0.5322 -0.4864 + 1.0 3 c3a c3a c3a o2 0.0000 4.8255 0.0000 + 1.0 3 h1 c3a c3a o2 0.0000 5.5432 0.0000 + 1.0 3 c3a c3a o2 h1 1.1580 3.2697 3.5132 + 1.0 3 c4 c4 c4 o2 -21.8842 -7.6764 -0.6868 + 1.0 3 h1 c4 c4 o2 -16.7975 -1.2296 -0.2750 + 1.0 3 o2 c4 c4 o2 -17.2585 -3.6157 -0.8364 + 1.0 3 c4 c4 o2 c4 -5.9288 -2.7007 -0.3175 + 1.0 3 c4 c4 o2 h1 1.2472 0.0000 0.7485 + 1.0 3 h1 c4 o2 c4 -6.8007 -4.6546 -1.4101 + 1.0 3 h1 c4 o2 h1 0.0000 0.9241 -0.5889 + 1.0 4 c4 c4 c4 n2= 0.0000 0.0000 0.0000 + 1.0 4 h1 c4 c4 n2= -3.5150 -2.2980 -1.2770 + 1.0 4 c4 c4 n2= h1 -2.3800 2.5290 -0.7300 + 1.0 4 h1 c4 n2= h1 -0.4140 -2.8620 0.0070 + 1.0 4 p4= n2= p4= n2= 0.0000 0.0000 0.0000 + 1.0 7 c3' c3a c3a c3a 0.0000 3.8762 0.0000 + 1.0 7 o1= c3' n3m c3' -0.1118 -1.1990 0.6784 + 1.0 7 c4 c4 o2 c3' 9.9416 2.6421 2.2333 + 1.0 7 h1 c4 o2 c3' 7.7147 4.2557 -1.0118 + 1.0 7 o1= c3' c3a c3a 0.0000 2.4002 0.0000 + 1.0 7 c3a c3a c3a n3m 0.0000 5.2012 0.0000 + 1.0 7 c4 c3' o2 c4 1.3445 3.5515 -4.9202 + 1.0 7 o1= c3' o2 c4 0.4552 7.3091 0.2842 + 1.0 7 o1= c3' c4 h1 0.0000 0.0000 -1.0000 + 1.0 7 o2 c3' c4 h1 -13.7686 -2.5959 1.1934 + 1.0 7 h1 c3a c3a n3m 0.0000 5.2012 0.0000 + 1.0 10 c3a c3a c3a si4 0.0000 11.1576 0.0000 + 1.0 10 h1 c3a c3a si4 0.0000 6.2168 0.0000 + 1.0 10 c3a c3a si4 h1 0.0000 0.0000 -0.3146 + 1.0 10 h1 c4 si4 h1 0.0000 0.0000 -0.5906 + 1.0 10 h1 c4 si4 si4 0.0000 0.0000 -0.1909 + 1.0 10 c4 si4 si4 h1 0.0000 0.0000 -0.6941 + 1.0 10 h1 si4 si4 h1 0.0000 0.0000 -0.6302 + + +#angle-torsion_3 compass + +> E = (Theta - Theta0) * +> { F(1) * cos(phi) + F(2) * cos(2 * phi) + F(3) * cos(3 * phi) } + +! LEFT RIGHT +! ------------------------------- ------------------------------- +!Ver Ref I J K L F(1) F(2) F(3) F(1) F(2) F(3) +!---- --- ---- ---- ---- ---- ------- ------- ------- ------- ------- ------- + 1.0 1 c3a c3a c3a c3a 1.9767 1.0239 0.0000 + 1.0 1 c3a c3a c3a c4 0.0000 3.8987 0.0000 0.0000 -4.4683 0.0000 + 1.0 1 c3a c3a c3a h1 0.0000 2.5014 0.0000 0.0000 2.7147 0.0000 + 1.0 1 c4 c3a c3a h1 0.0000 -0.1242 0.0000 0.0000 3.4601 0.0000 + 1.0 1 h1 c3a c3a h1 0.0000 2.4501 0.0000 + 1.0 1 c3a c3a c4 c4 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 + 1.0 1 c3a c3a c4 h1 0.2251 0.6548 0.1237 4.6266 0.1632 0.0461 + 1.0 1 c3a c4 c4 h1 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 + 1.0 1 c4 c4 c4 c4 0.3886 -0.3139 0.1389 + 1.0 1 c4 c4 c4 h1 -0.2454 0.0000 -0.1136 0.3113 0.4516 -0.1988 + 1.0 1 h1 c4 c4 h1 -0.8085 0.5569 -0.2466 + 1.0 3 c3a c3a c3a o2 0.0000 10.0155 0.0000 0.0000 1.7404 0.0000 + 1.0 3 h1 c3a c3a o2 0.0000 1.8729 0.0000 0.0000 2.5706 0.0000 + 1.0 3 c3a c3a o2 h1 -5.1360 -1.0122 0.0000 4.6852 0.0230 -0.5980 + 1.0 3 c4 c4 c4 o2 0.5623 -0.3041 -0.4015 0.9672 -0.7566 -1.2331 + 1.0 3 h1 c4 c4 o2 2.3668 2.4920 -1.0122 -0.1892 0.4918 0.7273 + 1.0 3 o2 c4 c4 o2 0.5511 0.9737 -0.6673 + 1.0 3 c4 c4 o2 c4 -2.7466 1.4877 -0.8955 0.5676 0.9450 0.0703 + 1.0 3 c4 c4 o2 h1 -3.5903 2.5225 0.4888 0.8726 -0.3577 0.3888 + 1.0 3 h1 c4 o2 c4 -1.8234 1.6393 0.5144 -0.7777 0.4340 -0.6653 + 1.0 3 h1 c4 o2 h1 -3.4060 1.6396 0.0737 0.0000 -0.2810 -0.5944 + 1.0 4 c4 c4 c4 n2= -2.0980 1.8610 -1.6890 -0.1220 1.8930 -0.5670 + 1.0 4 h1 c4 c4 n2= -2.0980 1.8610 -1.6890 -0.1220 1.8930 -0.5670 + 1.0 4 c4 c4 n2= h1 -2.5230 2.8480 2.0590 -3.6920 4.0610 -1.5440 + 1.0 4 h1 c4 n2= h1 -1.8950 1.2210 -0.7460 0.1100 0.0650 0.1090 + 1.0 6 c3a c3a c3a n3o 0.0000 7.7594 0.0000 0.0000 0.0000 0.0000 + 1.0 6 h1 c3a c3a n3o 0.0000 -8.0369 0.0000 0.0000 0.0000 0.0000 + 1.0 6 c3a c3a n3o o1= 0.0000 0.0000 0.0000 0.0000 -3.4207 0.0000 + 1.0 6 h1 c4 n3o o1= 0.0000 -0.3086 0.0000 0.0000 1.0352 0.0000 + 1.0 6 o1= n3o o2 c4 -3.0000 0.0000 0.0000 0.0000 0.0000 0.0000 + 1.0 7 o1= c3' n3m c3' -1.5747 2.3997 -0.2851 -0.3038 -0.0548 -0.3188 + 1.0 7 c4 c4 o2 c3' -0.4620 1.4492 -0.6765 -0.0890 -0.9159 0.7229 + 1.0 7 h1 c4 o2 c3' -0.4990 2.8061 -0.0401 -0.3142 -0.8699 0.0971 + 1.0 7 c4 c3' o2 c4 0.9701 -2.5169 1.7195 0.8831 -0.8203 0.2405 + 1.0 7 o1= c3' o2 c4 5.9732 2.7261 1.9052 2.3573 1.0059 -0.0327 + 1.0 7 o1= c3' c4 h1 -2.0667 0.7308 -0.2083 14.4728 0.3339 0.0800 + 1.0 7 o2 c3' c4 h1 -0.0241 1.4427 0.1212 13.2959 0.8005 -0.0071 + 1.0 10 c3a c3a c3a si4 0.0000 -5.5448 0.0000 0.0000 4.3281 0.0000 + 1.0 10 h1 c3a c3a si4 0.0000 4.5914 0.0000 0.0000 1.1079 0.0000 + 1.0 10 c3a c3a si4 h1 0.0000 0.0000 -0.2779 0.0000 0.0000 -0.1932 + 1.0 10 h1 c4 si4 c4 0.0000 0.0000 0.3382 0.0000 0.0000 0.4272 + + +#wilson_out_of_plane compass + +> E = K * (Chi - Chi0)^2 + +!Ver Ref I J K L K Chi0 +!---- --- ---- ---- ---- ---- ------- ---- + 1.0 1 c3a c3a c3a c3a 7.1794 0.0 + 1.0 1 c3a c3a c3a c4 7.8153 0.0 + 1.0 1 c3a c3a c3a h1 4.8912 0.0 + 1.0 3 c3a c3a c3a o2 13.0421 0.0 + 1.0 4 c3a c3a c3a n2= 8.0000 0.0 + 1.0 4 c3a c3a c3a p4= 6.7090 0.0 + 1.0 6 c3a c3a c3a n3o 0.9194 0.0 + 1.0 6 c3a n3o o1= o1= 36.2612 0.0 + 1.0 6 c4 n3o o1= o1= 44.3062 0.0 + 1.0 6 h1 n3o o1= o1= 38.5581 0.0 + 1.0 6 o1= n3o o1= o2 45.0000 0.0 + 1.0 7 c3' c3' n3m c3a 0.0000 0.0 + 1.0 7 c3' c3a c3a c3a 17.0526 0.0 + 1.0 7 c3' n3m c3' c3a 0.0000 0.0 + 1.0 7 c3a c3a n3m c3a 17.0526 0.0 +!1.0 7 c3a c3a c3a n3m 17.0526 0.0 + 1.0 7 c3a c3' n3m o1= 30.0000 0.0 +!1.0 7 c3a c3a c3' c3a 17.0526 0.0 +!1.0 7 c3a c3' o1= n3m 30.0000 0.0 + 1.0 7 c3a o1= c3' n3m 30.0000 0.0 + 1.0 7 c4 c3' o2 o1= 46.9264 0.0 + 1.0 10 c3a c3a si4 c3a 5.3654 0.0 + + +#angle-angle compass + +> E = K * (Theta - Theta0) * (Theta' - Theta0') + +! J' I' K' +!Ver Ref I J K K +!---- --- ---- ---- ---- ---- ------- + 1.0 1 c3a c3a c3a c3a 0.0000 + 1.0 1 c3a c3a c3a h1 0.0000 + 1.0 1 c3a c3a h1 c3a 0.0000 + 1.0 1 c4 c4 c3a h1 2.0403 + 1.0 1 h1 c4 c3a h1 3.0118 + 1.0 1 c3a c4 c4 h1 -1.8202 + 1.0 1 c4 c4 c4 c4 -0.1729 + 1.0 1 c4 c4 c4 h1 -1.3199 + 1.0 1 h1 c4 c4 h1 -0.4825 + 1.0 1 c3a c4 h1 c4 1.0827 + 1.0 1 c3a c4 h1 h1 2.3794 + 1.0 1 c4 c4 h1 c4 0.1184 + 1.0 1 c4 c4 h1 h1 0.2738 + 1.0 1 h1 c4 h1 h1 -0.3157 + 1.0 3 c3a c3a c3a o2 0.0000 + 1.0 3 c3a c3a o2 c3a 0.0000 + 1.0 3 c4 c4 c4 o2 -0.8330 + 1.0 3 h1 c4 c4 o2 2.5926 + 1.0 3 c4 c4 h1 o2 3.9177 + 1.0 3 h1 c4 h1 o2 2.4259 + 1.0 3 c4 c4 o2 c4 -3.5744 + 1.0 3 c4 c4 o2 h1 0.1689 + 1.0 3 h1 c4 o2 h1 2.1283 + 1.0 4 h1 c4 c4 n2= 1.0910 + 1.0 4 c4 c4 h1 n2= 2.7530 + 1.0 4 h1 c4 h1 n2= 1.7680 + 1.0 4 c4 c4 n2= h1 -1.3060 + 1.0 4 h1 c4 n2= h1 -2.9470 + 1.0 7 h1 c4 c3' o2 4.7955 + 1.0 7 c3' c4 h1 h1 -1.7653 + 1.0 11 h1 c4 c3' h1 0.0 + 1.0 10 h1 c4 h1 si4 0.0000 + 1.0 10 h1 c4 si4 h1 2.2050 + 1.0 10 c4 si4 c4 h1 3.3827 + 1.0 10 c4 si4 c4 si4 1.3465 + 1.0 10 h1 si4 c4 h1 4.6809 + 1.0 10 si4 si4 c4 si4 -5.6849 + 1.0 10 c4 si4 h1 c4 2.7963 + 1.0 10 c4 si4 h1 h1 4.4559 + 1.0 10 c4 si4 h1 si4 3.4758 + 1.0 10 h1 si4 h1 h1 2.0665 + 1.0 10 si4 si4 h1 si4 3.4924 + 1.0 10 c4 si4 si4 c4 2.0805 + 1.0 10 c4 si4 si4 h1 -2.9623 + 1.0 10 c4 si4 si4 si4 4.5272 + 1.0 10 h1 si4 si4 h1 1.6082 + 1.0 10 si4 si4 si4 h1 4.1996 + + +#angle-angle-torsion_1 compass + +> E = K * (Theta - Theta0) * (Theta' - Theta0') * cos(Phi) + +!Ver Ref I J K L K(Ang,Ang,Tor) +!---- --- ---- ---- ---- ---- -------------- + 1.0 1 c3a c3a c3a c3a 0.0000 + 1.0 1 c3a c3a c3a c4 -14.4097 + 1.0 1 c3a c3a c3a h1 -4.8141 + 1.0 1 c4 c3a c3a h1 4.4444 + 1.0 1 h1 c3a c3a h1 0.3598 + 1.0 1 c3a c3a c4 h1 -5.8888 + 1.0 1 c4 c4 c4 c4 -22.0450 + 1.0 1 c4 c4 c4 h1 -16.1640 + 1.0 1 h1 c4 c4 h1 -12.5640 + 1.0 3 c3a c3a c3a o2 -21.0247 + 1.0 3 h1 c3a c3a o2 4.2296 + 1.0 3 c3a c3a o2 h1 -4.6072 + 1.0 3 c4 c4 c4 o2 -29.0420 + 1.0 3 h1 c4 c4 o2 -20.2006 + 1.0 3 o2 c4 c4 o2 -14.0484 + 1.0 3 c4 c4 o2 c4 -19.0059 + 1.0 3 c4 c4 o2 h1 -12.1038 + 1.0 3 h1 c4 o2 c4 -16.4438 + 1.0 3 h1 c4 o2 h1 -10.5093 + 1.0 4 c4 c4 c4 n2= 0.0000 + 1.0 4 h1 c4 c4 n2= -27.5060 + 1.0 4 c4 c4 n2= h1 -8.8980 + 1.0 4 h1 c4 n2= h1 -9.6280 + 1.0 4 h1 c4 p4= c4 -25.5460 + 1.0 4 h1 c4 p4= h1 -16.0180 + 1.0 4 h1 c4 p4= n2= -19.9340 + 1.0 4 h1 n2= p4= c4 -11.1020 + 1.0 4 h1 n2= p4= h1 -3.7880 + 1.0 6 c3a c3a c3a n3o -34.9681 + 1.0 6 h1 c3a c3a n3o 2.1508 + 1.0 6 c3a c3a n3o o1= -18.0436 + 1.0 6 h1 c4 n3o o1= -16.2615 + 1.0 7 o1= c3' n3m c3' -3.3556 + 1.0 7 c4 c4 o2 c3' -15.7082 + 1.0 7 h1 c4 o2 c3' -13.1500 + 1.0 7 c4 c3' o2 c4 -12.2070 + 1.0 7 o1= c3' o2 c4 -32.9368 + 1.0 7 o1= c3' c4 h1 -23.1923 + 1.0 7 o2 c3' c4 h1 -13.9734 + 1.0 10 c4 si4 c4 h1 -17.5802 + 1.0 10 h1 si4 c4 h1 -12.9341 + 1.0 10 h1 c4 si4 si4 -13.3679 + 1.0 10 c4 si4 si4 h1 -16.9141 + 1.0 10 h1 si4 si4 h1 -10.8232 + 1.0 10 h1 si4 si4 si4 -12.2900 + + +#nonbond(9-6) compass + +> E = eps(ij) [2(r(ij)*/r(ij))**9 - 3(r(ij)*/r(ij))**6] +> where r(ij) = [(r(i)**6 + r(j)**6))/2]**(1/6) +> +> eps(ij) = 2 sqrt(eps(i) * eps(j)) * +> r(i)^3 * r(j)^3/[r(i)^6 + r(j)^6] + +@combination sixth-power +@type r-eps + +!Ver Ref I r eps +!---- --- ---- --------- --------- + 1.0 1 c3a 3.9150 0.0680 + 1.0 1 c4 3.8540 0.0620 + 1.0 1 c43 3.8540 0.0400 + 1.0 1 c44 3.8540 0.0200 + 1.0 1 h1 2.8780 0.0230 + 1.0 2 o2z 3.3000 0.0800 + 1.0 2 si4 4.4050 0.1980 + 1.0 2 si4c 4.2900 0.1310 + 1.0 3 c4o 3.8150 0.0680 + 1.0 3 h1o 1.0870 0.0080 + 1.0 3 o2 3.3000 0.0800 + 1.0 3 o2e 3.3000 0.1200 + 1.0 3 o2h 3.5800 0.0960 + 1.0 4 n2= 3.8300 0.0960 + 1.0 4 p4= 4.2950 0.0650 + 1.0 5 he 2.9000 0.0050 + 1.0 5 ne 3.2000 0.0550 + 1.0 5 ar 3.8800 0.2000 + 1.0 5 kr 4.3000 0.2800 + 1.0 5 xe 4.2600 0.3900 + 1.0 5 h1h 1.4210 0.0216 + 1.0 5 n1n 3.8008 0.0598 + 1.0 5 c1o 4.0120 0.0530 + 1.0 5 o1o 3.4758 0.0780 + 1.0 5 o1c 3.6020 0.0850 + 1.0 5 n1o 3.4600 0.1280 + 1.0 5 o1n 3.3000 0.1560 + 1.0 5 c2= 3.9150 0.0680 + 1.0 5 s2= 4.0470 0.1250 + 1.0 5 n2o 3.5290 0.3330 + 1.0 5 o1= 3.4300 0.1920 + 1.0 5 o1=* 3.3600 0.0670 + 1.0 5 s1= 4.0070 0.3130 + 1.0 6 n3o 3.7600 0.0480 + 1.0 6 o12 3.4000 0.0480 + 1.0 6 o2n 3.6500 0.2000 + 1.0 7 c3' 3.9000 0.0640 + 1.0 7 n3m 3.7200 0.1500 + 1.0 7 o2s 3.3000 0.0960 + 1.1 8 c4o 3.8700 0.0748 + 1.1 8 c41o 3.8700 0.1080 + 1.1 8 c43o 3.6700 0.0498 + 1.0 9 c4z 3.6500 0.0800 + 1.0 9 n1z 3.5200 0.0850 + 1.0 9 n2t 3.3000 0.0500 + 1.0 9 n2z 3.4000 0.1200 + + +#bond_increments compass + +!Ver Ref I J DeltaIJ DeltaJI +!---- --- ---- ---- ------- ------- + 1.0 1 c3a c3a 0.0000 0.0000 + 1.0 1 c3a c4 0.0000 0.0000 + 1.0 1 c3a h1 -0.1268 0.1268 + 1.0 1 c4 c4 0.0000 0.0000 + 1.0 1 c4 h1 -0.0530 0.0530 + 1.0 2 o2z si4 -0.2225 0.2225 + 1.0 3 c3a o2e 0.0420 -0.0420 + 1.0 3 c3a o2h 0.0420 -0.0420 + 1.0 3 c4 o2e 0.1600 -0.1600 + 1.0 3 c4 o2h 0.1600 -0.1600 + 1.0 3 h1 o2 0.4200 -0.4200 + 1.0 3 h1 o2h 0.4200 -0.4200 + 1.0 4 c3a n2= 0.1990 -0.1990 + 1.0 4 c3a p4= -0.0600 0.0600 + 1.0 4 c4 n2= 0.3450 -0.3450 + 1.0 4 c4 p4= -0.0500 0.0500 + 1.0 4 cl1p p4= -0.1200 0.1200 + 1.0 4 f1p p4= -0.1800 0.1800 + 1.0 4 h1 n2= 0.3280 -0.3280 + 1.0 4 h1 p4= -0.0500 0.0500 + 1.0 4 n2= n2= 0.0000 0.0000 + 1.0 4 n2= n3 0.0250 -0.0250 + 1.0 4 n2= o2 -0.0430 0.0430 + 1.0 4 n2= p4= -0.3500 0.3500 + 1.0 4 n3 p4= -0.1200 0.1200 + 1.0 4 o2 p4= -0.1400 0.1400 + 1.0 5 c1o o1c -0.0203 0.0203 + 1.0 5 c2= o1= 0.4000 -0.4000 + 1.0 5 c2= s1= 0.0258 -0.0258 + 1.0 5 n2o o1= 0.0730 -0.0730 + 1.0 5 h1h h1h 0.0000 0.0000 + 1.0 5 n1n n1n 0.0000 0.0000 + 1.0 5 n1o o1n 0.0288 -0.0288 + 1.0 5 o1= s2= -0.2351 0.2351 + 1.0 5 o1o o1o 0.0000 0.0000 + 1.0 6 c3a n3o 0.2390 -0.2390 + 1.0 6 c4 n3o 0.2100 -0.2100 + 1.0 6 c4 o2n 0.3170 -0.3170 + 1.0 6 h1 n3o 0.1880 -0.1880 + 1.0 6 n3o o1= 0.4280 -0.4280 + 1.0 6 n3o o2n 0.0010 -0.0010 + 1.0 7 c3' o2e 0.1120 -0.1120 + 1.0 7 c3' c4 0.0000 0.0000 + 1.0 7 c3' o1= 0.4500 -0.4500 + 1.0 7 c3' c3a 0.0350 -0.0350 + 1.0 7 c3' n3m 0.0000 0.0000 + 1.0 7 c3a n3m 0.0950 -0.0950 + 1.1 8 h1 o2h 0.4100 -0.4100 + 1.0 9 n2z c4 -0.3110 0.3110 + 1.0 9 n2z h1 -0.3350 0.3350 + 1.0 9 n2t n1t 0.3860 -0.3860 + 1.0 9 n2t n2z 0.2470 -0.2470 + 1.0 10 c3a si4 -0.1170 0.1170 + 1.0 10 c4 si4 -0.1350 0.1350 + 1.0 10 h1 si4 -0.1260 0.1260 + +#templates compass + +type: ? + ! anything + template: (>*) +end_type + +type: ar + ! Argon atom + template: (>Ar) +end_type + +type:c1o + ! Carbon in CO + template: [>C[~O]] +end_type + +type:c2= + ! Carbon in =C= (e.g. CO2, CS2) + template: [>C[~*][~*]] +end_type + +type:c3' + ! Carbonyl carbon [one polar substituent such as O,N] + ! e.g. amide, acid and ester + template: (>C (~O) (~*) (~*)) + atom_test:1 + hybridization:sp2 + end_test + atom_test:3 + allowed_elements: C, H + end_test + atom_test:4 + allowed_elements: O, N + end_test +end_type + +type:c3a + ! SP2 aromatic carbon + template:(>C(~*)(~*)(~*)) + atom_test:1 + hybridization: SP2 + aromaticity:AROMATIC + end_test +end_type + +type:c3a + ! Transferred from pcff - may not be required. + ! This is used for aromatic carbons that fail the aromaticity test because + ! the current ring checker is too lame to figure on a ring with more than + ! seven or eight sides. The NON_AROMATIC test is to eliminate the conflict + ! with the above 'c3a' definition. This can be removed when the ring checker + ! is made more robust. + template: [>C(-*)(:*)(:*)] + atom_test:1 + hybridization:SP2 + aromaticity:NON_AROMATIC + end_test +end_type + +type:c4 + ! generic SP3 carbon + template: (>C(-*)(-*)(-*)(-*)) + atom_test:1 + hybridization:SP3 + end_test +end_type + +type:c41o + ! Carbon, sp3, in methanol (and dimethyl ether?) + template: [>C(-O(-*))(-H)(-H)(-H)] + atom_test:1 + hybridization:SP3 + end_test + atom_test:3 + allowed_elements:C,H +end_type + +type: c43 + ! sp3 carbon with 1 h and 3 heavy atoms + template: (>C(-H)(-*)(-*)(-*)) + atom_test:1 + hybridization:SP3 + atom_test:3 + disallowed_elements:H + atom_test:4 + disallowed_elements:H + atom_test:5 + disallowed_elements:H + end_test +end_type + +type:c43o + ! Carbon, sp3, in secondary alcohols + template: [>C(-O(-H))(-H)(-C)(-C)] + atom_test:1 + hybridization:SP3 + end_test +end_type + +type: c44 + ! sp3 carbon with four heavy atoms attached + template: (>C(-*)(-*)(-*)(-*)) + atom_test:1 + hybridization:SP3 + atom_test:2 + disallowed_elements:H + atom_test:3 + disallowed_elements:H + atom_test:4 + disallowed_elements:H + atom_test:5 + disallowed_elements:H + end_test +end_type + +type: c4o + ! alpha carbon (e.g. alpha to oxygen in ethers and alcohols) + template: (>C(-O)(-*)(-*)(-*)) + atom_test:1 + hybridization:SP3 + end_test +end_type + +type: c4z + ! Carbon, sp3, bonded to -N3 (azides) + template: (>C(-N(~N(~N)))(-*)(-*)(-*)) + atom_test:1 + hybridization:SP3 + end_test +end_type + +type:h1 + ! nonpolar hydrogen + template: (>H (-*) ) + atom_test:2 + allowed_elements:C,Si + end_test +end_type + +type:h1h + ! Hydrogen in H2 + template: [>H[-H]] +end_type + +type:h1o + ! strongly polar hydrogen (bonded to fluorine, nitrogen, Oxygen - h* in pcff) + template: (>H(-*)) + atom_test:2 + allowed_elements:O,N,F + end_test +end_type + +type: he + ! Helium atom + template: (>He) +end_type + +type: kr + ! Krypton atom + template: (>Kr) +end_type + +type:n1n + ! Nitrogen in N2 + template: [>N[~N]] +end_type + +type:n1o + ! Nitrogen in NO + template: [>N[~O]] +end_type + +type:n1z + ! Nitrogen, terminal atom in -N3 + template: [>N[~N[~N(~*)]]] +end_type + +type:n2= + ! Nitrogen (in phosphazenes, or generic???) + template: [>N(~*)(~*)] +end_type + +type:n2o + ! Nitrogen in NO2 + template: [>N[~O][~O]] +end_type + +type:n2t + ! Nitrogen, central atom in -N3 + template: [>N[~N][~N(~*)]] +end_type + +type:n2z + ! Nitrogen, first atom in -N3 + template: (>N[~N[~N]](~*)) +end_type + +type: n3m + ! sp3 nitrogen in amides without hydrogen + template: (>N(-C[=O])(-C)(-C)) + atom_test:1 + hybridization:SP3 + end_test +end_type + +type: n3o + ! Nitrogen in nitro group + template: (>N[~O][~O](~O(~C))) +end_type + +type: ne + ! Neon atom + template: (>Ne) +end_type + +type:o1= + ! Oxygen in NO2 and SO2 [and carbonyl] + template: (>O(~*)) + atom_test:2 + allowed_elements:N,S,C + end_test +end_type + +type:o1=* + ! Oxygen in CO2 + template: [>O[~C[~O]]] +end_type + +type:o12 + ! Oxygen in nitro group -NO2 + template: [>O[~N[~O](~*)]] +end_type + +type:o1c + ! Oxygen in CO + template: [>O[~C]] +end_type + +type:o1n + ! Oxygen in NO + template: [>O[~N]] +end_type + +type:o1o + ! Oxygen in O2 + template: [>O[~O]] +end_type + +type:o2 + ! Generic oxygen with two bonds attached + template: [>O(~*)(~*)] +end_type + +type:o2e + ! Ether oxygen + template: [>O(-C)(-C)] + atom_test: 1 + aromaticity:NON_AROMATIC + end_test +end_type + +type:o2h + ! Hydroxyl oxygen + template: (>O[-H](~*)) +end_type + +type:o2n + ! Oxygen in nitrates + template: (>O[~N[~O][~O]](~C)) +end_type + +type:o2s + ! Ester oxygen + template: (>O[~C[~O](~*)](~C)) +end_type + +type: o2z + ! Oxygen in siloxanes and zeolites + template: (>O(-Si)(-*) ) + atom_test: 3 + allowed_elements: Si, H + end_test +end_type + +type: p4= + ! Phosphorous [in phosphazenes] + template: (>P(~*)(~*)(~*)(~*)) +end_type + +type:s1= + ! Sulfur in CS2 + template: [>S[~C[~S]]] +end_type + +type:s2= + ! Sulfur in SO2 + template: [>S[~O][~O]] +end_type + +type: si4 + ! Generic silicon with four bonds attached + template: (>Si(-*)(-*)(-*)(-*)) +end_type + +type: si4c + ! A subset of si4, non-hydrogen atom attached [siloxanes??] + template: (>Si(-O)(-*)(-*)(-*)) + atom_test: 3 + allowed_elements: O, C + end_test + atom_test: 4 + allowed_elements: O, C + end_test + atom_test: 5 + allowed_elements: O, C + end_test +end_type + +type: xe + ! Xenon atom + template: (>Xe) +end_type + +precedence: +(? + (ar) + (c1o) + (c2=) + (c3a) (c3') + (c4 (c43 (c43o)) (c44) (c4o(c41o)) (c4z) ) + (h1) (h1h) (h1o) + (he) + (kr) + (n1n) (n1o) (n1z) + (n2= (n2o) (n2t) (n2z) ) + (n3m) (n3o) + (ne) + (o1= (o1=*) (o12) (o1c) (o1n) ) (o1o) + (o2 (o2e(o2s)) (o2h) (o2n) (o2z) ) + (p4=) + (s1=) + (s2=) + (si4 (si4c) ) + (xe) +) +end_precedence + + + +#reference 1 +@Author tester +@Date 01-Jun-09 +Barebones compass for aromatic & aliphatic hydrocarbons from H. Sun JCP B102, 7361-2 (1998) + +This file created by Materials Design, Inc. (www.materialsdesign.com) Please realize that +we neither support this version, nor make any warranty as to the correctness of the parameters. +We have checked the numbers against the literature, but of course there may still be errors, +including errors of interpretation. Also, the current version of COMPASS may well be different +that that originally published. + +If you have comments or suggestions, feel free to email Paul Saxe at psaxe (at) materialsdesign.com + +#reference 2 +@Author tester +@Date 27-Jun-09 +Parameters for siloxanes from Sun/Rigby Spectrochim. Acta A53, 1301-23 (1997) (o2 later renamed to o2z) + +#reference 3 +@Author tester +@Date 27-Jun-09 +Parameters for ethers and alcohols from Rigby/Sun/Eichinger Polym. Int. 44, 311-330 (1997) + +#reference 4 +@Author tester +@Date 30-Jun-09 +Parameters for phosphazenes from Comput. Theor. Polym. Sci. 8, 229-246 (1998) + +#reference 5 +@Author tester +@Date 28-Jun-09 +Parameters for He,Ne,Ar,Kr,Xe,H2,O2,N2,NO,CO,CO2,NO2,CS2,SO2 from JPC B104, 4951-7 (2000) + +#reference 6 +@Author tester +@Date 29-Jun-09 +Parameters for nitrate esters from JPC B104, 2477-89 (2000) + +#reference 7 +@Author tester +@Date 30-Jun-09 +Parameters for Ultem (imides) from Polymer 43, 599-607 (2002) + +#reference 8 +@Author tester +@Date 30-Jun-09 +Parameters for 2y and 3y alcohols from Fluid Phase Equilibria 217, 77-87 (2004) + +#reference 9 +@Author tester +@Date 30-Jun-09 +Parameters for aliphatic azides from J. Comput. Chem. 25, 61-71 (2004) + +#reference 10 +@Author tester +@Date 02-Jul-09 +Ref 2 missing -C-Si- params; assume values from Macromols 28, 701-712 (1995) (see pcff) diff --git a/tools/moltemplate/moltemplate/force_fields/compass_published.lt b/tools/moltemplate/moltemplate/force_fields/compass_published.lt new file mode 100644 index 0000000000..3ec7595f28 --- /dev/null +++ b/tools/moltemplate/moltemplate/force_fields/compass_published.lt @@ -0,0 +1,4148 @@ +# This file was generated automatically using: +# msifrc2lt.py -name COMPASS < compass_published.frc > compass_published.lt + +# This is an incomplete version of the COMPASS force field based on available +# public sources. Parameters for common atoms and many groups are missing +# (for example, sp2 carbons and the NH2 amine group). The commercial version +# of COMPASS is much larger and presumably includes more up to date +# parameters and parameters for a wider range of atom types and molecule types. +# (However files containing those force field parameters have not been publicly +# disclosed.) We would like to thank Materials Design Inc. for collecting +# these force field parameters and making them publicly available. + +# USAGE: You can create molecules using this force-field this way: +# +# MyMolecule inherits COMPASS { +# # atom-id mol-id atom-type charge X Y Z +# write('Data Atoms') { +# $atom:C1 $mol @atom:c4 0.00 -0.6695 0.000000 0.000000 +# $atom:H11 $mol @atom:h1 0.00 -1.234217 -0.854458 0.000000 +# : : : : : : +# } +# } +# +# You can omit the atom charge in your molecule definition. +# (Partial charges will be assigned later according to the force field rules.) +# Responsibility for choosing the atom types (eg "@atom:c4", "@atom:h1") falls +# on the user. You must select the type of each atom in the molecule carefully +# by looking at the description in the "Data Masses" section of this file +# (see below), and looking for a reasonable match. If your simulation is +# non-neutral, or moltemplate complains that you have missing bond, angle, or +# dihedral types, this means at least one of your atom types is incorrect. + + + +COMPASS { + + + # AtomType Mass # "Description" (version, reference) + + write_once("Data Masses") { + @atom:ar 39.944 # Ar, "argon" (ver=1.0, ref=5) + @atom:c3a 12.01115 # C, "aromatic carbon" (ver=1.0, ref=1) + @atom:c1o 12.01115 # C, "carbon in CO" (ver=1.0, ref=5) + @atom:c2= 12.01115 # C, "carbon in CO2 and CS2" (ver=1.0, ref=5) + @atom:c3prime 12.01115 # C, "carbonyl carbon [one polar substituent]" (ver=1.0, ref=7) + @atom:c4 12.01115 # C, "generic sp3 carbon" (ver=1.0, ref=1) + @atom:c41o 12.01115 # C, "carbon, sp3, in methanol" (ver=1.0, ref=8) + @atom:c43o 12.01115 # C, "carbon, sp3 in secondary alcohols" (ver=1.0, ref=8) + @atom:c43 12.01115 # C, "sp3 carbon with three heavy atoms attached" (ver=1.0, ref=1) + @atom:c44 12.01115 # C, "sp3 carbon with four heavy atoms attached" (ver=1.0, ref=1) + @atom:c4o 12.01115 # C, "alpha carbon" (ver=1.0, ref=3) + @atom:c4z 12.01115 # C, "carbon, sp3, bonded to -N3" (ver=1.0, ref=9) + @atom:h1 1.00797 # H, "nonpolar hydrogen" (ver=1.0, ref=1) + @atom:h1h 1.00797 # H, "hydrogen in H2" (ver=1.0, ref=5) + @atom:h1o 1.00797 # H, "strongly polar hydrogen, bonded to O,F" (ver=1.0, ref=3) + @atom:he 4.003 # He, "helium" (ver=1.0, ref=5) + @atom:kr 83.8 # Kr, "krypton" (ver=1.0, ref=5) + @atom:n1n 14.0067 # N, "nitrogen in N2" (ver=1.0, ref=5) + @atom:n1o 14.0067 # N, "nitrogen in NO" (ver=1.0, ref=5) + @atom:n1z 14.0067 # N, "nitrogen, terminal atom in -N3" (ver=1.0, ref=5) + @atom:n2= 14.0067 # N, "nitrogen" (ver=1.0, ref=4) + @atom:n2o 14.0067 # N, "nitrogen in NO2" (ver=1.0, ref=5) + @atom:n2t 14.0067 # N, "nitrogen, central atom in -N3" (ver=1.0, ref=9) + @atom:n2z 14.0067 # N, "nitrogen, first atom in -N3" (ver=1.0, ref=9) + @atom:n3m 14.0067 # N, "sp3 nitrogen in amides without hydrogen" (ver=1.0, ref=7) + @atom:n3o 14.0067 # N, "nitrogen in nitro group" (ver=1.0, ref=6) + @atom:ne 20.183 # Ne, "neon" (ver=1.0, ref=5) + @atom:o1= 15.9994 # O, "oxygen in NO2 and SO2 [and carbonyl]" (ver=1.0, ref=5) + @atom:o1=star 15.9994 # O, "oxygen in CO2" (ver=1.0, ref=5) + @atom:o12 15.9994 # O, "oxygen in nitro group (-NO2)" (ver=1.0, ref=6) + @atom:o1c 15.9994 # O, "oxygen in CO" (ver=1.0, ref=5) + @atom:o1n 15.9994 # O, "oxygen in NO" (ver=1.0, ref=5) + @atom:o1o 15.9994 # O, "oxygen in O2" (ver=1.0, ref=5) + @atom:o2 15.9994 # O, "generic oxygen with two bonds attached" (ver=1.0, ref=2) + @atom:o2e 15.9994 # O, "ether oxygen" (ver=1.0, ref=3) + @atom:o2h 15.9994 # O, "hydroxyl oxygen" (ver=1.0, ref=3) + @atom:o2n 15.9994 # O, "oxygen in nitrates" (ver=1.0, ref=6) + @atom:o2s 15.9994 # O, "ester oxygen" (ver=1.0, ref=7) + @atom:o2z 15.9994 # O, "oxygen, in siloxanes and zeolites" (ver=1.0, ref=2) + @atom:p4= 30.9738 # P, "phosphorous" (ver=1.0, ref=4) + @atom:s1= 32.064 # S, "sulfur in CS2" (ver=1.0, ref=5) + @atom:s2= 32.064 # S, "sulfur in SO2" (ver=1.0, ref=5) + @atom:si4 28.086 # Si, "generic silicon with four bonds attached" (ver=1.0, ref=2) + @atom:si4c 28.086 # Si, "a subset of si4, non-hydrogen atom attached [siloxanes]" (ver=1.0, ref=2) + @atom:xe 131.3 # Xe, "xenon" (ver=1.0, ref=5) + } #(end of atom masses) + + + # ---------- EQUIVALENCE CATEGORIES for bonded interaction lookup ---------- + # Each type of atom has a separate ID used for looking up bond parameters + # and a separate ID for looking up 3-body angle interaction parameters + # and a separate ID for looking up 4-body dihedral interaction parameters + # and a separate ID for looking up 4-body improper interaction parameters + # The complete @atom type name includes ALL of these ID numbers. There's + # no need to force the end-user to type the complete name of each atom. + # The "replace" command used below informs moltemplate that the short + # @atom names we have been using abovee are equivalent to the complete + # @atom names used below: + + replace{ @atom:ar @atom:ar,par,bar,aar,dar,iar } + replace{ @atom:c3a @atom:c3a,pc3a,bc3a,ac3a,dc3a,ic3a } + replace{ @atom:c1o @atom:c1o,pc1o,bc1o,ac1o,dc1o,ic1o } + replace{ @atom:c2= @atom:c2=,pc2=,bc2=,ac2=,dc2=,ic2= } + replace{ @atom:c3prime @atom:c3prime,pc3prime,bc3prime,ac3prime,dc3prime,ic3prime } + replace{ @atom:c4 @atom:c4,pc4,bc4,ac4,dc4,ic4 } + replace{ @atom:c41o @atom:c41o,pc41o,bc4,ac4,dc4,ic4 } + replace{ @atom:c43o @atom:c43o,pc43o,bc4,ac4,dc4,ic4 } + replace{ @atom:c43 @atom:c43,pc43,bc4,ac4,dc4,ic4 } + replace{ @atom:c44 @atom:c44,pc44,bc4,ac4,dc4,ic4 } + replace{ @atom:c4o @atom:c4o,pc4o,bc4,ac4,dc4,ic4 } + replace{ @atom:c4z @atom:c4z,pc4z,bc4,ac4,dc4,ic4 } + replace{ @atom:h1 @atom:h1,ph1,bh1,ah1,dh1,ih1 } + replace{ @atom:h1h @atom:h1h,ph1h,bh1h,ah1,dh1,ih1 } + replace{ @atom:h1o @atom:h1o,ph1o,bh1,ah1,dh1,ih1 } + replace{ @atom:he @atom:he,phe,bhe,ahe,dhe,ihe } + replace{ @atom:kr @atom:kr,pkr,bkr,akr,dkr,ikr } + replace{ @atom:n1n @atom:n1n,pn1n,bn1n,an1n,dn1n,in1n } + replace{ @atom:n1o @atom:n1o,pn1o,bn1o,an1o,dn1o,in1o } + replace{ @atom:n1z @atom:n1z,pn1z,bn1t,an1t,dn1t,in1t } + replace{ @atom:n2= @atom:n2=,pn2=,bn2=,an2=,dn2=,in2= } + replace{ @atom:n2o @atom:n2o,pn2o,bn2o,an2o,dn2o,in2o } + replace{ @atom:n2t @atom:n2t,pn2t,bn2t,an2t,dn2t,in2t } + replace{ @atom:n2z @atom:n2z,pn2z,bn2z,an2z,dn2z,in2z } + replace{ @atom:n3m @atom:n3m,pn3m,bn3m,an3m,dn3m,in3m } + replace{ @atom:n3o @atom:n3o,pn3o,bn3o,an3o,dn3o,in3o } + replace{ @atom:ne @atom:ne,pne,bne,ane,dne,ine } + replace{ @atom:o1= @atom:o1=,po1=,bo1=,ao1=,do1=,io1= } + replace{ @atom:o1=star @atom:o1=star,po1=star,bo1=,ao1=,do1=,io1= } + replace{ @atom:o12 @atom:o12,po12,bo1=,ao1=,do1=,io1= } + replace{ @atom:o1c @atom:o1c,po1c,bo1c,ao1c,do1c,io1c } + replace{ @atom:o1n @atom:o1n,po1n,bo1n,ao1n,do1n,io1n } + replace{ @atom:o1o @atom:o1o,po1o,bo1o,ao1o,do1o,io1o } + replace{ @atom:o2 @atom:o2,po2,bo2,ao2,do2,io2 } + replace{ @atom:o2e @atom:o2e,po2e,bo2e,ao2,do2,io2 } + replace{ @atom:o2h @atom:o2h,po2h,bo2h,ao2,do2,io2 } + replace{ @atom:o2n @atom:o2n,po2n,bo2n,ao2n,do2,io2 } + replace{ @atom:o2s @atom:o2s,po2s,bo2e,ao2,do2,io2 } + replace{ @atom:o2z @atom:o2z,po2z,bo2z,ao2z,do2z,io2z } + replace{ @atom:p4= @atom:p4=,pp4=,bp4=,ap4=,dp4=,ip4= } + replace{ @atom:s1= @atom:s1=,ps1=,bs1=,as1=,ds1=,is1= } + replace{ @atom:s2= @atom:s2=,ps2=,bs2=,as2=,ds2=,is2= } + replace{ @atom:si4 @atom:si4,psi4,bsi4,asi4,dsi4,isi4 } + replace{ @atom:si4c @atom:si4c,psi4c,bsi4,asi4,dsi4,isi4 } + replace{ @atom:xe @atom:xe,pxe,bxe,axe,dxe,ixe } + + + + + # --------------- Non-Bonded Interactions: --------------------- + # Syntax: + # pair_coeff AtomType1 AtomType2 pair_style_name parameters... + + write_once("In Settings") { + pair_coeff @atom:*,pc3a,b*,a*,d*,i* @atom:*,pc3a,b*,a*,d*,i* lj/class2/coul/long 0.0680 3.9150 # (ver=1.0, ref=1) + pair_coeff @atom:*,pc4,b*,a*,d*,i* @atom:*,pc4,b*,a*,d*,i* lj/class2/coul/long 0.0620 3.8540 # (ver=1.0, ref=1) + pair_coeff @atom:*,pc43,b*,a*,d*,i* @atom:*,pc43,b*,a*,d*,i* lj/class2/coul/long 0.0400 3.8540 # (ver=1.0, ref=1) + pair_coeff @atom:*,pc44,b*,a*,d*,i* @atom:*,pc44,b*,a*,d*,i* lj/class2/coul/long 0.0200 3.8540 # (ver=1.0, ref=1) + pair_coeff @atom:*,ph1,b*,a*,d*,i* @atom:*,ph1,b*,a*,d*,i* lj/class2/coul/long 0.0230 2.8780 # (ver=1.0, ref=1) + pair_coeff @atom:*,po2z,b*,a*,d*,i* @atom:*,po2z,b*,a*,d*,i* lj/class2/coul/long 0.0800 3.3000 # (ver=1.0, ref=2) + pair_coeff @atom:*,psi4,b*,a*,d*,i* @atom:*,psi4,b*,a*,d*,i* lj/class2/coul/long 0.1980 4.4050 # (ver=1.0, ref=2) + pair_coeff @atom:*,psi4c,b*,a*,d*,i* @atom:*,psi4c,b*,a*,d*,i* lj/class2/coul/long 0.1310 4.2900 # (ver=1.0, ref=2) + pair_coeff @atom:*,pc4o,b*,a*,d*,i* @atom:*,pc4o,b*,a*,d*,i* lj/class2/coul/long 0.0748 3.8700 # (ver=1.1, ref=8) + pair_coeff @atom:*,ph1o,b*,a*,d*,i* @atom:*,ph1o,b*,a*,d*,i* lj/class2/coul/long 0.0080 1.0870 # (ver=1.0, ref=3) + pair_coeff @atom:*,po2,b*,a*,d*,i* @atom:*,po2,b*,a*,d*,i* lj/class2/coul/long 0.0800 3.3000 # (ver=1.0, ref=3) + pair_coeff @atom:*,po2e,b*,a*,d*,i* @atom:*,po2e,b*,a*,d*,i* lj/class2/coul/long 0.1200 3.3000 # (ver=1.0, ref=3) + pair_coeff @atom:*,po2h,b*,a*,d*,i* @atom:*,po2h,b*,a*,d*,i* lj/class2/coul/long 0.0960 3.5800 # (ver=1.0, ref=3) + pair_coeff @atom:*,pn2=,b*,a*,d*,i* @atom:*,pn2=,b*,a*,d*,i* lj/class2/coul/long 0.0960 3.8300 # (ver=1.0, ref=4) + pair_coeff @atom:*,pp4=,b*,a*,d*,i* @atom:*,pp4=,b*,a*,d*,i* lj/class2/coul/long 0.0650 4.2950 # (ver=1.0, ref=4) + pair_coeff @atom:*,phe,b*,a*,d*,i* @atom:*,phe,b*,a*,d*,i* lj/class2/coul/long 0.0050 2.9000 # (ver=1.0, ref=5) + pair_coeff @atom:*,pne,b*,a*,d*,i* @atom:*,pne,b*,a*,d*,i* lj/class2/coul/long 0.0550 3.2000 # (ver=1.0, ref=5) + pair_coeff @atom:*,par,b*,a*,d*,i* @atom:*,par,b*,a*,d*,i* lj/class2/coul/long 0.2000 3.8800 # (ver=1.0, ref=5) + pair_coeff @atom:*,pkr,b*,a*,d*,i* @atom:*,pkr,b*,a*,d*,i* lj/class2/coul/long 0.2800 4.3000 # (ver=1.0, ref=5) + pair_coeff @atom:*,pxe,b*,a*,d*,i* @atom:*,pxe,b*,a*,d*,i* lj/class2/coul/long 0.3900 4.2600 # (ver=1.0, ref=5) + pair_coeff @atom:*,ph1h,b*,a*,d*,i* @atom:*,ph1h,b*,a*,d*,i* lj/class2/coul/long 0.0216 1.4210 # (ver=1.0, ref=5) + pair_coeff @atom:*,pn1n,b*,a*,d*,i* @atom:*,pn1n,b*,a*,d*,i* lj/class2/coul/long 0.0598 3.8008 # (ver=1.0, ref=5) + pair_coeff @atom:*,pc1o,b*,a*,d*,i* @atom:*,pc1o,b*,a*,d*,i* lj/class2/coul/long 0.0530 4.0120 # (ver=1.0, ref=5) + pair_coeff @atom:*,po1o,b*,a*,d*,i* @atom:*,po1o,b*,a*,d*,i* lj/class2/coul/long 0.0780 3.4758 # (ver=1.0, ref=5) + pair_coeff @atom:*,po1c,b*,a*,d*,i* @atom:*,po1c,b*,a*,d*,i* lj/class2/coul/long 0.0850 3.6020 # (ver=1.0, ref=5) + pair_coeff @atom:*,pn1o,b*,a*,d*,i* @atom:*,pn1o,b*,a*,d*,i* lj/class2/coul/long 0.1280 3.4600 # (ver=1.0, ref=5) + pair_coeff @atom:*,po1n,b*,a*,d*,i* @atom:*,po1n,b*,a*,d*,i* lj/class2/coul/long 0.1560 3.3000 # (ver=1.0, ref=5) + pair_coeff @atom:*,pc2=,b*,a*,d*,i* @atom:*,pc2=,b*,a*,d*,i* lj/class2/coul/long 0.0680 3.9150 # (ver=1.0, ref=5) + pair_coeff @atom:*,ps2=,b*,a*,d*,i* @atom:*,ps2=,b*,a*,d*,i* lj/class2/coul/long 0.1250 4.0470 # (ver=1.0, ref=5) + pair_coeff @atom:*,pn2o,b*,a*,d*,i* @atom:*,pn2o,b*,a*,d*,i* lj/class2/coul/long 0.3330 3.5290 # (ver=1.0, ref=5) + pair_coeff @atom:*,po1=,b*,a*,d*,i* @atom:*,po1=,b*,a*,d*,i* lj/class2/coul/long 0.1920 3.4300 # (ver=1.0, ref=5) + pair_coeff @atom:*,po1=star,b*,a*,d*,i* @atom:*,po1=star,b*,a*,d*,i* lj/class2/coul/long 0.0670 3.3600 # (ver=1.0, ref=5) + pair_coeff @atom:*,ps1=,b*,a*,d*,i* @atom:*,ps1=,b*,a*,d*,i* lj/class2/coul/long 0.3130 4.0070 # (ver=1.0, ref=5) + pair_coeff @atom:*,pn3o,b*,a*,d*,i* @atom:*,pn3o,b*,a*,d*,i* lj/class2/coul/long 0.0480 3.7600 # (ver=1.0, ref=6) + pair_coeff @atom:*,po12,b*,a*,d*,i* @atom:*,po12,b*,a*,d*,i* lj/class2/coul/long 0.0480 3.4000 # (ver=1.0, ref=6) + pair_coeff @atom:*,po2n,b*,a*,d*,i* @atom:*,po2n,b*,a*,d*,i* lj/class2/coul/long 0.2000 3.6500 # (ver=1.0, ref=6) + pair_coeff @atom:*,pc3prime,b*,a*,d*,i* @atom:*,pc3prime,b*,a*,d*,i* lj/class2/coul/long 0.0640 3.9000 # (ver=1.0, ref=7) + pair_coeff @atom:*,pn3m,b*,a*,d*,i* @atom:*,pn3m,b*,a*,d*,i* lj/class2/coul/long 0.1500 3.7200 # (ver=1.0, ref=7) + pair_coeff @atom:*,po2s,b*,a*,d*,i* @atom:*,po2s,b*,a*,d*,i* lj/class2/coul/long 0.0960 3.3000 # (ver=1.0, ref=7) + pair_coeff @atom:*,pc41o,b*,a*,d*,i* @atom:*,pc41o,b*,a*,d*,i* lj/class2/coul/long 0.1080 3.8700 # (ver=1.1, ref=8) + pair_coeff @atom:*,pc43o,b*,a*,d*,i* @atom:*,pc43o,b*,a*,d*,i* lj/class2/coul/long 0.0498 3.6700 # (ver=1.1, ref=8) + pair_coeff @atom:*,pc4z,b*,a*,d*,i* @atom:*,pc4z,b*,a*,d*,i* lj/class2/coul/long 0.0800 3.6500 # (ver=1.0, ref=9) + pair_coeff @atom:*,pn1z,b*,a*,d*,i* @atom:*,pn1z,b*,a*,d*,i* lj/class2/coul/long 0.0850 3.5200 # (ver=1.0, ref=9) + pair_coeff @atom:*,pn2t,b*,a*,d*,i* @atom:*,pn2t,b*,a*,d*,i* lj/class2/coul/long 0.0500 3.3000 # (ver=1.0, ref=9) + pair_coeff @atom:*,pn2z,b*,a*,d*,i* @atom:*,pn2z,b*,a*,d*,i* lj/class2/coul/long 0.1200 3.4000 # (ver=1.0, ref=9) + } #(end of pair_coeffs) + + + + # ---------- Charge By Bond (a.k.a. "bond equivalences") ---------- + + + + write_once("Data Charge By Bond") { + @atom:*,p*,bh1,a*,d*,i* @atom:*,p*,bsi4,a*,d*,i* -0.1260 0.1260 # (ver=1.0, ref=10) + @atom:*,p*,bc4,a*,d*,i* @atom:*,p*,bsi4,a*,d*,i* -0.1350 0.1350 # (ver=1.0, ref=10) + @atom:*,p*,bc3a,a*,d*,i* @atom:*,p*,bsi4,a*,d*,i* -0.1170 0.1170 # (ver=1.0, ref=10) + @atom:*,p*,bn2t,a*,d*,i* @atom:*,p*,bn2z,a*,d*,i* 0.2470 -0.2470 # (ver=1.0, ref=9) + @atom:*,p*,bn1t,a*,d*,i* @atom:*,p*,bn2t,a*,d*,i* -0.3860 0.3860 # (ver=1.0, ref=9) + @atom:*,p*,bh1,a*,d*,i* @atom:*,p*,bn2z,a*,d*,i* 0.3350 -0.3350 # (ver=1.0, ref=9) + @atom:*,p*,bc4,a*,d*,i* @atom:*,p*,bn2z,a*,d*,i* 0.3110 -0.3110 # (ver=1.0, ref=9) + @atom:*,p*,bc3a,a*,d*,i* @atom:*,p*,bn3m,a*,d*,i* 0.0950 -0.0950 # (ver=1.0, ref=7) + @atom:*,p*,bc3prime,a*,d*,i* @atom:*,p*,bn3m,a*,d*,i* 0.0000 0.0000 # (ver=1.0, ref=7) + @atom:*,p*,bc3a,a*,d*,i* @atom:*,p*,bc3prime,a*,d*,i* -0.0350 0.0350 # (ver=1.0, ref=7) + @atom:*,p*,bc3prime,a*,d*,i* @atom:*,p*,bo1=,a*,d*,i* 0.4500 -0.4500 # (ver=1.0, ref=7) + @atom:*,p*,bc3prime,a*,d*,i* @atom:*,p*,bc4,a*,d*,i* 0.0000 0.0000 # (ver=1.0, ref=7) + @atom:*,p*,bc3prime,a*,d*,i* @atom:*,p*,bo2e,a*,d*,i* 0.1120 -0.1120 # (ver=1.0, ref=7) + @atom:*,p*,bn3o,a*,d*,i* @atom:*,p*,bo2n,a*,d*,i* 0.0010 -0.0010 # (ver=1.0, ref=6) + @atom:*,p*,bn3o,a*,d*,i* @atom:*,p*,bo1=,a*,d*,i* 0.4280 -0.4280 # (ver=1.0, ref=6) + @atom:*,p*,bh1,a*,d*,i* @atom:*,p*,bn3o,a*,d*,i* 0.1880 -0.1880 # (ver=1.0, ref=6) + @atom:*,p*,bc4,a*,d*,i* @atom:*,p*,bo2n,a*,d*,i* 0.3170 -0.3170 # (ver=1.0, ref=6) + @atom:*,p*,bc4,a*,d*,i* @atom:*,p*,bn3o,a*,d*,i* 0.2100 -0.2100 # (ver=1.0, ref=6) + @atom:*,p*,bc3a,a*,d*,i* @atom:*,p*,bn3o,a*,d*,i* 0.2390 -0.2390 # (ver=1.0, ref=6) + @atom:*,p*,bo1o,a*,d*,i* @atom:*,p*,bo1o,a*,d*,i* 0.0000 0.0000 # (ver=1.0, ref=5) + @atom:*,p*,bo1=,a*,d*,i* @atom:*,p*,bs2=,a*,d*,i* -0.2351 0.2351 # (ver=1.0, ref=5) + @atom:*,p*,bn1o,a*,d*,i* @atom:*,p*,bo1n,a*,d*,i* 0.0288 -0.0288 # (ver=1.0, ref=5) + @atom:*,p*,bn1n,a*,d*,i* @atom:*,p*,bn1n,a*,d*,i* 0.0000 0.0000 # (ver=1.0, ref=5) + @atom:*,p*,bh1h,a*,d*,i* @atom:*,p*,bh1h,a*,d*,i* 0.0000 0.0000 # (ver=1.0, ref=5) + @atom:*,p*,bn2o,a*,d*,i* @atom:*,p*,bo1=,a*,d*,i* 0.0730 -0.0730 # (ver=1.0, ref=5) + @atom:*,p*,bc2=,a*,d*,i* @atom:*,p*,bs1=,a*,d*,i* 0.0258 -0.0258 # (ver=1.0, ref=5) + @atom:*,p*,bc2=,a*,d*,i* @atom:*,p*,bo1=,a*,d*,i* 0.4000 -0.4000 # (ver=1.0, ref=5) + @atom:*,p*,bc1o,a*,d*,i* @atom:*,p*,bo1c,a*,d*,i* -0.0203 0.0203 # (ver=1.0, ref=5) + @atom:*,p*,bo2,a*,d*,i* @atom:*,p*,bp4=,a*,d*,i* -0.1400 0.1400 # (ver=1.0, ref=4) + @atom:*,p*,bn3,a*,d*,i* @atom:*,p*,bp4=,a*,d*,i* -0.1200 0.1200 # (ver=1.0, ref=4) + @atom:*,p*,bn2=,a*,d*,i* @atom:*,p*,bp4=,a*,d*,i* -0.3500 0.3500 # (ver=1.0, ref=4) + @atom:*,p*,bn2=,a*,d*,i* @atom:*,p*,bo2,a*,d*,i* -0.0430 0.0430 # (ver=1.0, ref=4) + @atom:*,p*,bn2=,a*,d*,i* @atom:*,p*,bn3,a*,d*,i* 0.0250 -0.0250 # (ver=1.0, ref=4) + @atom:*,p*,bn2=,a*,d*,i* @atom:*,p*,bn2=,a*,d*,i* 0.0000 0.0000 # (ver=1.0, ref=4) + @atom:*,p*,bh1,a*,d*,i* @atom:*,p*,bp4=,a*,d*,i* -0.0500 0.0500 # (ver=1.0, ref=4) + @atom:*,p*,bh1,a*,d*,i* @atom:*,p*,bn2=,a*,d*,i* 0.3280 -0.3280 # (ver=1.0, ref=4) + @atom:*,p*,bf1p,a*,d*,i* @atom:*,p*,bp4=,a*,d*,i* -0.1800 0.1800 # (ver=1.0, ref=4) + @atom:*,p*,bcl1p,a*,d*,i* @atom:*,p*,bp4=,a*,d*,i* -0.1200 0.1200 # (ver=1.0, ref=4) + @atom:*,p*,bc4,a*,d*,i* @atom:*,p*,bp4=,a*,d*,i* -0.0500 0.0500 # (ver=1.0, ref=4) + @atom:*,p*,bc4,a*,d*,i* @atom:*,p*,bn2=,a*,d*,i* 0.3450 -0.3450 # (ver=1.0, ref=4) + @atom:*,p*,bc3a,a*,d*,i* @atom:*,p*,bp4=,a*,d*,i* -0.0600 0.0600 # (ver=1.0, ref=4) + @atom:*,p*,bc3a,a*,d*,i* @atom:*,p*,bn2=,a*,d*,i* 0.1990 -0.1990 # (ver=1.0, ref=4) + @atom:*,p*,bh1,a*,d*,i* @atom:*,p*,bo2,a*,d*,i* 0.4200 -0.4200 # (ver=1.0, ref=3) + @atom:*,p*,bc4,a*,d*,i* @atom:*,p*,bo2h,a*,d*,i* 0.1600 -0.1600 # (ver=1.0, ref=3) + @atom:*,p*,bc4,a*,d*,i* @atom:*,p*,bo2e,a*,d*,i* 0.1600 -0.1600 # (ver=1.0, ref=3) + @atom:*,p*,bc3a,a*,d*,i* @atom:*,p*,bo2h,a*,d*,i* 0.0420 -0.0420 # (ver=1.0, ref=3) + @atom:*,p*,bc3a,a*,d*,i* @atom:*,p*,bo2e,a*,d*,i* 0.0420 -0.0420 # (ver=1.0, ref=3) + @atom:*,p*,bo2z,a*,d*,i* @atom:*,p*,bsi4,a*,d*,i* -0.2225 0.2225 # (ver=1.0, ref=2) + @atom:*,p*,bc4,a*,d*,i* @atom:*,p*,bh1,a*,d*,i* -0.0530 0.0530 # (ver=1.0, ref=1) + @atom:*,p*,bc4,a*,d*,i* @atom:*,p*,bc4,a*,d*,i* 0.0000 0.0000 # (ver=1.0, ref=1) + @atom:*,p*,bc3a,a*,d*,i* @atom:*,p*,bh1,a*,d*,i* -0.1268 0.1268 # (ver=1.0, ref=1) + @atom:*,p*,bc3a,a*,d*,i* @atom:*,p*,bc4,a*,d*,i* 0.0000 0.0000 # (ver=1.0, ref=1) + @atom:*,p*,bc3a,a*,d*,i* @atom:*,p*,bc3a,a*,d*,i* 0.0000 0.0000 # (ver=1.0, ref=1) + @atom:*,p*,bh1,a*,d*,i* @atom:*,p*,bo2h,a*,d*,i* 0.4100 -0.4100 # (ver=1.1, ref=8) + } #(end of Charge by Bond (bond equivalences)) + + + + + + # --------------- Bond Interactions: --------------------- + + + # -- Rules for generating (2-body) "bond" interactions: -- + # BondType AtomType1 AtomType2 + + write_once("Data Bonds By Type") { + @bond:c4,n3m @atom:*,bc4,a*,d*,i* @atom:*,bn3m,a*,d*,i* + @bond:si4,si4 @atom:*,bsi4,a*,d*,i* @atom:*,bsi4,a*,d*,i* + @bond:h1,si4 @atom:*,bh1,a*,d*,i* @atom:*,bsi4,a*,d*,i* + @bond:c4,si4 @atom:*,bc4,a*,d*,i* @atom:*,bsi4,a*,d*,i* + @bond:c3a,si4 @atom:*,bc3a,a*,d*,i* @atom:*,bsi4,a*,d*,i* + @bond:h1,n2z @atom:*,bh1,a*,d*,i* @atom:*,bn2z,a*,d*,i* + @bond:c4,n2z @atom:*,bc4,a*,d*,i* @atom:*,bn2z,a*,d*,i* + @bond:n1t,n2t @atom:*,bn1t,a*,d*,i* @atom:*,bn2t,a*,d*,i* + @bond:n2t,n2z @atom:*,bn2t,a*,d*,i* @atom:*,bn2z,a*,d*,i* + @bond:n1t,n1t @atom:*,bn1t,a*,d*,i* @atom:*,bn1t,a*,d*,i* + @bond:c3a,n3m @atom:*,bc3a,a*,d*,i* @atom:*,bn3m,a*,d*,i* + @bond:c3prime,n3m @atom:*,bc3prime,a*,d*,i* @atom:*,bn3m,a*,d*,i* + @bond:c3a,c3prime @atom:*,bc3a,a*,d*,i* @atom:*,bc3prime,a*,d*,i* + @bond:c3prime,o1= @atom:*,bc3prime,a*,d*,i* @atom:*,bo1=,a*,d*,i* + @bond:c3prime,c4 @atom:*,bc3prime,a*,d*,i* @atom:*,bc4,a*,d*,i* + @bond:c3prime,o2e @atom:*,bc3prime,a*,d*,i* @atom:*,bo2e,a*,d*,i* + @bond:n3o,o2n @atom:*,bn3o,a*,d*,i* @atom:*,bo2n,a*,d*,i* + @bond:n3o,o1= @atom:*,bn3o,a*,d*,i* @atom:*,bo1=,a*,d*,i* + @bond:h1,n3o @atom:*,bh1,a*,d*,i* @atom:*,bn3o,a*,d*,i* + @bond:c4,o2n @atom:*,bc4,a*,d*,i* @atom:*,bo2n,a*,d*,i* + @bond:c4,n3o @atom:*,bc4,a*,d*,i* @atom:*,bn3o,a*,d*,i* + @bond:c3a,n3o @atom:*,bc3a,a*,d*,i* @atom:*,bn3o,a*,d*,i* + @bond:c2=,s1= @atom:*,bc2=,a*,d*,i* @atom:*,bs1=,a*,d*,i* + @bond:n2o,o1= @atom:*,bn2o,a*,d*,i* @atom:*,bo1=,a*,d*,i* + @bond:c2=,o1= @atom:*,bc2=,a*,d*,i* @atom:*,bo1=,a*,d*,i* + @bond:o1=,s2= @atom:*,bo1=,a*,d*,i* @atom:*,bs2=,a*,d*,i* + @bond:n1o,o1n @atom:*,bn1o,a*,d*,i* @atom:*,bo1n,a*,d*,i* + @bond:c1o,o1c @atom:*,bc1o,a*,d*,i* @atom:*,bo1c,a*,d*,i* + @bond:o1o,o1o @atom:*,bo1o,a*,d*,i* @atom:*,bo1o,a*,d*,i* + @bond:n1n,n1n @atom:*,bn1n,a*,d*,i* @atom:*,bn1n,a*,d*,i* + @bond:h1h,h1h @atom:*,bh1h,a*,d*,i* @atom:*,bh1h,a*,d*,i* + @bond:o2,p4= @atom:*,bo2,a*,d*,i* @atom:*,bp4=,a*,d*,i* + @bond:n3,p4= @atom:*,bn3,a*,d*,i* @atom:*,bp4=,a*,d*,i* + @bond:n2=,p4= @atom:*,bn2=,a*,d*,i* @atom:*,bp4=,a*,d*,i* + @bond:h1,p4= @atom:*,bh1,a*,d*,i* @atom:*,bp4=,a*,d*,i* + @bond:h1,n2= @atom:*,bh1,a*,d*,i* @atom:*,bn2=,a*,d*,i* + @bond:f1p,p4= @atom:*,bf1p,a*,d*,i* @atom:*,bp4=,a*,d*,i* + @bond:cl1p,p4= @atom:*,bcl1p,a*,d*,i* @atom:*,bp4=,a*,d*,i* + @bond:c4,p4= @atom:*,bc4,a*,d*,i* @atom:*,bp4=,a*,d*,i* + @bond:c4,n2= @atom:*,bc4,a*,d*,i* @atom:*,bn2=,a*,d*,i* + @bond:c3a,p4= @atom:*,bc3a,a*,d*,i* @atom:*,bp4=,a*,d*,i* + @bond:c3a,n2= @atom:*,bc3a,a*,d*,i* @atom:*,bn2=,a*,d*,i* + @bond:h1,o2h @atom:*,bh1,a*,d*,i* @atom:*,bo2h,a*,d*,i* + @bond:c4,o2h @atom:*,bc4,a*,d*,i* @atom:*,bo2h,a*,d*,i* + @bond:c4,o2e @atom:*,bc4,a*,d*,i* @atom:*,bo2e,a*,d*,i* + @bond:c3a,o2h @atom:*,bc3a,a*,d*,i* @atom:*,bo2h,a*,d*,i* + @bond:c3a,o2e @atom:*,bc3a,a*,d*,i* @atom:*,bo2e,a*,d*,i* + @bond:c3a,o2 @atom:*,bc3a,a*,d*,i* @atom:*,bo2,a*,d*,i* + @bond:o2z,si4 @atom:*,bo2z,a*,d*,i* @atom:*,bsi4,a*,d*,i* + @bond:c4,h1 @atom:*,bc4,a*,d*,i* @atom:*,bh1,a*,d*,i* + @bond:c4,c4 @atom:*,bc4,a*,d*,i* @atom:*,bc4,a*,d*,i* + @bond:c3a,h1 @atom:*,bc3a,a*,d*,i* @atom:*,bh1,a*,d*,i* + @bond:c3a,c4 @atom:*,bc3a,a*,d*,i* @atom:*,bc4,a*,d*,i* + @bond:c3a,c3a @atom:*,bc3a,a*,d*,i* @atom:*,bc3a,a*,d*,i* + } # end of "Data Bonds By Type" section + + + + # ------------ Bond Parameters: ---------- + # For an explanation of these parameters, visit: + # http://lammps.sandia.gov/doc/bond_class2.html + + # Syntax: + # bond_coeff BondTypeName BondStyle parameters... + + + write_once("In Settings") { + bond_coeff @bond:c4,n3m class2 1.4000 350.0000 0.0000 0.0000 # (ver=1.0, ref=10) + bond_coeff @bond:si4,si4 class2 2.3384 114.2164 -140.4212 80.7084 # (ver=1.0, ref=10) + bond_coeff @bond:h1,si4 class2 1.4783 202.7798 -305.3603 280.2685 # (ver=1.0, ref=10) + bond_coeff @bond:c4,si4 class2 1.8995 189.6536 -279.4210 307.5135 # (ver=1.0, ref=10) + bond_coeff @bond:c3a,si4 class2 1.8634 233.2433 -276.8692 161.6659 # (ver=1.0, ref=10) + bond_coeff @bond:h1,n2z class2 1.0221 440.1623 -960.3246 1120.3787 # (ver=1.0, ref=9) + bond_coeff @bond:c4,n2z class2 1.4814 324.4578 -648.9156 757.0681 # (ver=1.0, ref=9) + bond_coeff @bond:n1t,n2t class2 1.1354 1198.7450 -2675.4900 3121.4049 # (ver=1.0, ref=9) + bond_coeff @bond:n2t,n2z class2 1.2343 720.3345 -1542.6689 1799.7804 # (ver=1.0, ref=9) + bond_coeff @bond:n1t,n1t class2 1.1354 1337.7450 -2675.4900 3121.4049 # (ver=1.0, ref=9) + bond_coeff @bond:c3a,n3m class2 1.3950 344.0452 -652.1208 1022.2242 # (ver=1.0, ref=7) + bond_coeff @bond:c3prime,n3m class2 1.3850 359.1591 -558.4730 1146.3810 # (ver=1.0, ref=7) + bond_coeff @bond:c3a,c3prime class2 1.4890 339.3574 -655.7236 670.2362 # (ver=1.0, ref=7) + bond_coeff @bond:c3prime,o1= class2 1.2160 823.7948 -1878.7939 2303.5310 # (ver=1.0, ref=7) + bond_coeff @bond:c3prime,c4 class2 1.5140 312.3719 -465.8290 473.8300 # (ver=1.0, ref=7) + bond_coeff @bond:c3prime,o2e class2 1.3750 368.7309 -832.4784 1274.0231 # (ver=1.0, ref=7) + bond_coeff @bond:n3o,o2n class2 1.4020 300.0000 -1000.0000 2000.0000 # (ver=1.0, ref=6) + bond_coeff @bond:n3o,o1= class2 1.2100 765.0664 -2070.2830 2793.3218 # (ver=1.0, ref=6) + bond_coeff @bond:h1,n3o class2 1.0400 439.9346 -943.7307 1180.9318 # (ver=1.0, ref=6) + bond_coeff @bond:c4,o2n class2 1.4350 400.3954 -835.1951 1313.0142 # (ver=1.0, ref=6) + bond_coeff @bond:c4,n3o class2 1.4740 301.6051 -535.7028 555.0420 # (ver=1.0, ref=6) + bond_coeff @bond:c3a,n3o class2 1.4300 313.8329 -568.6087 600.9597 # (ver=1.0, ref=6) + bond_coeff @bond:c2=,s1= class2 1.5540 559.0065 -1348.6633 1248.8604 # (ver=1.0, ref=5) + bond_coeff @bond:n2o,o1= class2 1.1930 620.0000 -1808.6018 3077.5918 # (ver=1.0, ref=5) + bond_coeff @bond:c2=,o1= class2 1.1600 1161.3421 -2564.5706 3932.8735 # (ver=1.0, ref=5) + bond_coeff @bond:o1=,s2= class2 1.4308 730.8387 -1531.7910 1859.7753 # (ver=1.0, ref=5) + bond_coeff @bond:n1o,o1n class2 1.1506 1147.8362 -3167.7349 5099.5811 # (ver=1.0, ref=5) + bond_coeff @bond:c1o,o1c class2 1.1283 1368.7676 -3157.0007 4247.5298 # (ver=1.0, ref=5) + bond_coeff @bond:o1o,o1o class2 1.2074 846.7150 -2247.1760 3478.9900 # (ver=1.0, ref=5) + bond_coeff @bond:n1n,n1n class2 1.0977 1651.3730 -4069.3178 5984.9629 # (ver=1.0, ref=5) + bond_coeff @bond:h1h,h1h class2 0.7412 414.2185 -805.6549 914.1296 # (ver=1.0, ref=5) + bond_coeff @bond:o2,p4= class2 1.6000 333.0980 -726.6230 924.6200 # (ver=1.0, ref=4) + bond_coeff @bond:n3,p4= class2 1.6780 329.0000 -713.7950 902.9190 # (ver=1.0, ref=4) + bond_coeff @bond:n2=,p4= class2 1.5980 393.0060 -751.4050 767.4310 # (ver=1.0, ref=4) + bond_coeff @bond:h1,p4= class2 1.4300 285.2040 -575.6850 677.8460 # (ver=1.0, ref=4) + bond_coeff @bond:h1,n2= class2 1.0310 540.1120 -1500.2952 2431.0080 # (ver=1.0, ref=4) + bond_coeff @bond:f1p,p4= class2 1.5650 340.0000 -882.3840 1197.9190 # (ver=1.0, ref=4) + bond_coeff @bond:cl1p,p4= class2 2.0000 158.7770 -239.1290 210.0840 # (ver=1.0, ref=4) + bond_coeff @bond:c4,p4= class2 1.8000 218.1400 -329.5110 290.3490 # (ver=1.0, ref=4) + bond_coeff @bond:c4,n2= class2 1.4740 337.0600 -147.3700 213.6330 # (ver=1.0, ref=4) + bond_coeff @bond:c3a,p4= class2 1.7890 197.7020 -332.2510 325.7160 # (ver=1.0, ref=4) + bond_coeff @bond:c3a,n2= class2 1.4000 350.0000 0.0000 0.0000 # (ver=1.0, ref=4) + bond_coeff @bond:h1,o2h class2 0.9494 540.3633 -1311.8663 2132.4446 # (ver=1.0, ref=3) + bond_coeff @bond:c4,o2h class2 1.4200 400.3954 -835.1951 1313.0142 # (ver=1.0, ref=3) + bond_coeff @bond:c4,o2e class2 1.4200 400.3954 -835.1951 1313.0142 # (ver=1.0, ref=3) + bond_coeff @bond:c3a,o2h class2 1.3768 428.8798 -738.2351 1114.9655 # (ver=1.0, ref=3) + bond_coeff @bond:c3a,o2e class2 1.3768 428.8798 -738.2351 1114.9655 # (ver=1.0, ref=3) + bond_coeff @bond:c3a,o2 class2 1.3768 428.8798 -738.2350 1114.9655 # (ver=1.0, ref=3) + bond_coeff @bond:o2z,si4 class2 1.6400 350.1232 -517.3424 673.7067 # (ver=1.0, ref=2) + bond_coeff @bond:c4,h1 class2 1.1010 345.0000 -691.8900 844.6000 # (ver=1.0, ref=1) + bond_coeff @bond:c4,c4 class2 1.5300 299.6700 -501.7700 679.8100 # (ver=1.0, ref=1) + bond_coeff @bond:c3a,h1 class2 1.0982 372.8251 -803.4526 894.3173 # (ver=1.0, ref=1) + bond_coeff @bond:c3a,c4 class2 1.5010 321.9021 -521.8208 572.1628 # (ver=1.0, ref=1) + bond_coeff @bond:c3a,c3a class2 1.4170 470.8361 -627.6179 1327.6345 # (ver=1.0, ref=1) + } # end of bond_coeff commands + + + # --------------- Angle Interactions: --------------------- + + + # -- Rules for generating (3-body) "angle" interactions: -- + # AngleType AtomType1 AtomType2 AtomType3 [BondType1 BondType2] + + write_once("Data Angles By Type") { + @angle:c3a,o2,c3a,c3a,o2h,c3a @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* + @angle:c3a,o2,c3a,c3a,o2e,c3a @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* + @angle:c3a,o2,c3a,c3a,o2,c3a @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* + @angle:c3a,c4,o2,c3a,c4,o2h @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2h,ao2,d*,i* + @angle:c3a,c4,o2,c3a,c4,o2e @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2e,ao2,d*,i* + @angle:c3a,o2,c3prime,c3a,o2e,c3prime @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @angle:o2,c4,o2,o2h,c4,o2h @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2h,ao2,d*,i* + @angle:o2,c4,o2,o2h,c4,o2e @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2e,ao2,d*,i* + @angle:o2,c4,o2,o2e,c4,o2h @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2h,ao2,d*,i* + @angle:o2,c4,o2,o2e,c4,o2e @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2e,ao2,d*,i* + @angle:h1,c3a,o2,h1,c3a,o2h @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bo2h,ao2,d*,i* + @angle:h1,c3a,o2,h1,c3a,o2e @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bo2e,ao2,d*,i* + @angle:h1,c3a,o2,h1,c3a,o2 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bo2,ao2,d*,i* + @angle:si4,si4,si4,si4,si4,si4 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bsi4,asi4,d*,i* + @angle:h1,si4,si4,h1,si4,si4 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bsi4,asi4,d*,i* + @angle:c4,si4,si4,c4,si4,si4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bsi4,asi4,d*,i* + @angle:h1,si4,h1,h1,si4,h1 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:c4,si4,h1,c4,si4,h1 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:c4,si4,c4,c4,si4,c4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc4,ac4,d*,i* + @angle:c3a,si4,h1,c3a,si4,h1 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:h1,c4,si4,h1,c4,si4 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bsi4,asi4,d*,i* + @angle:c4,c4,si4,c4,c4,si4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bsi4,asi4,d*,i* + @angle:c3a,c3a,si4,c3a,c3a,si4 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bsi4,asi4,d*,i* + @angle:c4,c4,n2z,c4,c4,n2z @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bn2z,an2z,d*,i* + @angle:h1,c4,n2z,h1,c4,n2z @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bn2z,an2z,d*,i* + @angle:c4,n2z,n2t,c4,n2z,n2t @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bn2z,an2z,d*,i* @atom:*,p*,bn2t,an2t,d*,i* + @angle:h1,n2z,n2t,h1,n2z,n2t @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bn2z,an2z,d*,i* @atom:*,p*,bn2t,an2t,d*,i* + @angle:n1t,n2t,n2z,n1t,n2t,n2z @atom:*,p*,bn1t,an1t,d*,i* @atom:*,p*,bn2t,an2t,d*,i* @atom:*,p*,bn2z,an2z,d*,i* + @angle:n3m,c3prime,o1=,n3m,c3prime,o1= @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bo1=,ao1=,d*,i* + @angle:c4,c3prime,o2,c4,c3prime,o2e @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bo2e,ao2,d*,i* + @angle:c4,c3prime,o1=,c4,c3prime,o1= @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bo1=,ao1=,d*,i* + @angle:o1=,c3prime,o2,o1=,c3prime,o2e @atom:*,p*,bo1=,ao1=,d*,i* @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bo2e,ao2,d*,i* + @angle:c3a,n3m,c3prime,c3a,n3m,c3prime @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @angle:c3a,c3a,n3m,c3a,c3a,n3m @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bn3m,an3m,d*,i* + @angle:c3a,c3prime,o1=,c3a,c3prime,o1= @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bo1=,ao1=,d*,i* + @angle:c3a,c3prime,n3m,c3a,c3prime,n3m @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bn3m,an3m,d*,i* + @angle:c3a,c3a,c3prime,c3a,c3a,c3prime @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @angle:c3prime,n3m,c3prime,c3prime,n3m,c3prime @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @angle:c3prime,c4,h1,c3prime,c4,h1 @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:c3prime,o2,c4,c3prime,o2e,c4 @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,d*,i* + @angle:o1=,n3o,o2n,o1=,n3o,o2n @atom:*,p*,bo1=,ao1=,d*,i* @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bo2n,ao2n,d*,i* + @angle:c4,c4,o2n,c4,c4,o2n @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2n,ao2n,d*,i* + @angle:c4,o2n,n3o,c4,o2n,n3o @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2n,ao2n,d*,i* @atom:*,p*,bn3o,an3o,d*,i* + @angle:o1=,n3o,o1=,o1=,n3o,o1= @atom:*,p*,bo1=,ao1=,d*,i* @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bo1=,ao1=,d*,i* + @angle:h1,n3o,o1=,h1,n3o,o1= @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bo1=,ao1=,d*,i* + @angle:c4,n3o,o1=,c4,n3o,o1= @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bo1=,ao1=,d*,i* + @angle:c3a,n3o,o1=,c3a,n3o,o1= @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bo1=,ao1=,d*,i* + @angle:h1,c4,o2n,h1,c4,o2n @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2n,ao2n,d*,i* + @angle:h1,c4,n3o,h1,c4,n3o @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bn3o,an3o,d*,i* + @angle:c3a,c3a,n3o,c3a,c3a,n3o @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bn3o,an3o,d*,i* + @angle:o1=,s2=,o1=,o1=,s2=,o1= @atom:*,p*,bo1=,ao1=,d*,i* @atom:*,p*,bs2=,as2=,d*,i* @atom:*,p*,bo1=,ao1=,d*,i* + @angle:o1=,n2o,o1=,o1=,n2o,o1= @atom:*,p*,bo1=,ao1=,d*,i* @atom:*,p*,bn2o,an2o,d*,i* @atom:*,p*,bo1=,ao1=,d*,i* + @angle:s1=,c2=,s1=,s1=,c2=,s1= @atom:*,p*,bs1=,as1=,d*,i* @atom:*,p*,bc2=,ac2=,d*,i* @atom:*,p*,bs1=,as1=,d*,i* + @angle:o1=,c2=,o1=,o1=,c2=,o1= @atom:*,p*,bo1=,ao1=,d*,i* @atom:*,p*,bc2=,ac2=,d*,i* @atom:*,p*,bo1=,ao1=,d*,i* + @angle:o2,p4=,o2,o2,p4=,o2 @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bo2,ao2,d*,i* + @angle:n2=,p4=,o2,n2=,p4=,o2 @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bo2,ao2,d*,i* + @angle:n2=,p4=,n2=,n2=,p4=,n2= @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bn2=,an2=,d*,i* + @angle:h1,p4=,o2,h1,p4=,o2 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bo2,ao2,d*,i* + @angle:h1,p4=,n2=,h1,p4=,n2= @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bn2=,an2=,d*,i* + @angle:h1,p4=,h1,h1,p4=,h1 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:c4,p4=,n2=,c4,p4=,n2= @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bn2=,an2=,d*,i* + @angle:c4,p4=,h1,c4,p4=,h1 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:c4,p4=,c4,c4,p4=,c4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc4,ac4,d*,i* + @angle:c3a,p4=,o2,c3a,p4=,o2 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bo2,ao2,d*,i* + @angle:c3a,p4=,n2=,c3a,p4=,n2= @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bn2=,an2=,d*,i* + @angle:c3a,p4=,h1,c3a,p4=,h1 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:c3a,p4=,c3a,c3a,p4=,c3a @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* + @angle:p4=,n2=,p4=,p4=,n2=,p4= @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* + @angle:h1,n2=,p4=,h1,n2=,p4= @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* + @angle:h1,n2=,h1,h1,n2=,h1 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:c4,n2=,h1,c4,n2=,h1 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:h1,c4,p4=,h1,c4,p4= @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* + @angle:h1,c4,n2=,h1,c4,n2= @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bn2=,an2=,d*,i* + @angle:c4,c4,n2=,c4,c4,n2= @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bn2=,an2=,d*,i* + @angle:c3a,c3a,p4=,c3a,c3a,p4= @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bp4=,ap4=,d*,i* + @angle:c3a,c3a,n2=,c3a,c3a,n2= @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bn2=,an2=,d*,i* + @angle:c4,o2,h1,c4,o2h,h1 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:c4,o2,c4,c4,o2h,c4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc4,ac4,d*,i* + @angle:c4,o2,c4,c4,o2e,c4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,d*,i* + @angle:c3a,o2,h1,c3a,o2h,h1 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:c3a,o2,c4,c3a,o2h,c4 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc4,ac4,d*,i* + @angle:c3a,o2,c4,c3a,o2e,c4 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,d*,i* + @angle:h1,c4,o2,h1,c4,o2h @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2h,ao2,d*,i* + @angle:h1,c4,o2,h1,c4,o2e @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2e,ao2,d*,i* + @angle:c4,c4,o2,c4,c4,o2h @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2h,ao2,d*,i* + @angle:c4,c4,o2,c4,c4,o2e @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bo2e,ao2,d*,i* + @angle:c3a,c3a,o2,c3a,c3a,o2h @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bo2h,ao2,d*,i* + @angle:c3a,c3a,o2,c3a,c3a,o2e @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bo2e,ao2,d*,i* + @angle:c3a,c3a,o2,c3a,c3a,o2 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bo2,ao2,d*,i* + @angle:o2z,si4,o2z,o2z,si4,o2z @atom:*,p*,bo2z,ao2z,d*,i* @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bo2z,ao2z,d*,i* + @angle:h1,si4,o2z,h1,si4,o2z @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bo2z,ao2z,d*,i* + @angle:c4,si4,o2z,c4,si4,o2z @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bo2z,ao2z,d*,i* + @angle:c3a,si4,o2z,c3a,si4,o2z @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bo2z,ao2z,d*,i* + @angle:si4,o2z,si4,si4,o2z,si4 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bo2z,ao2z,d*,i* @atom:*,p*,bsi4,asi4,d*,i* + @angle:h1,c4,h1,h1,c4,h1 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:c4,c4,h1,c4,c4,h1 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:c4,c4,c4,c4,c4,c4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,d*,i* + @angle:c3a,c4,h1,c3a,c4,h1 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:c3a,c4,c4,c3a,c4,c4 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,d*,i* + @angle:c3a,c4,c3a,c3a,c4,c3a @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* + @angle:c3a,c3a,h1,c3a,c3a,h1 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bh1,ah1,d*,i* + @angle:c3a,c3a,c4,c3a,c3a,c4 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,d*,i* + @angle:c3a,c3a,c3a,c3a,c3a,c3a @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,d*,i* + @angle:n3,p4=,o2,X,X,X @atom:*,p*,b*,an3,d*,i* @atom:*,p*,b*,ap4=,d*,i* @atom:*,p*,b*,ao2,d*,i* + @angle:n3,p4=,n3,X,X,X @atom:*,p*,b*,an3,d*,i* @atom:*,p*,b*,ap4=,d*,i* @atom:*,p*,b*,an3,d*,i* + @angle:n2=,p4=,n3,X,X,X @atom:*,p*,b*,an2=,d*,i* @atom:*,p*,b*,ap4=,d*,i* @atom:*,p*,b*,an3,d*,i* + @angle:h1,p4=,n3,X,X,X @atom:*,p*,b*,ah1,d*,i* @atom:*,p*,b*,ap4=,d*,i* @atom:*,p*,b*,an3,d*,i* + @angle:c3a,p4=,n3,X,X,X @atom:*,p*,b*,ac3a,d*,i* @atom:*,p*,b*,ap4=,d*,i* @atom:*,p*,b*,an3,d*,i* + @angle:h1,o2,p4=,X,X,X @atom:*,p*,b*,ah1,d*,i* @atom:*,p*,b*,ao2,d*,i* @atom:*,p*,b*,ap4=,d*,i* + @angle:c4,o2,p4=,X,X,X @atom:*,p*,b*,ac4,d*,i* @atom:*,p*,b*,ao2,d*,i* @atom:*,p*,b*,ap4=,d*,i* + @angle:h1,n3,p4=,X,X,X @atom:*,p*,b*,ah1,d*,i* @atom:*,p*,b*,an3,d*,i* @atom:*,p*,b*,ap4=,d*,i* + @angle:c4,n3,p4=,X,X,X @atom:*,p*,b*,ac4,d*,i* @atom:*,p*,b*,an3,d*,i* @atom:*,p*,b*,ap4=,d*,i* + @angle:h1,o2z,si4,X,X,X @atom:*,p*,b*,ah1,d*,i* @atom:*,p*,b*,ao2z,d*,i* @atom:*,p*,b*,asi4,d*,i* + } # end of "Data Angles By Type" section + + + + # ------- Angle Force Field Parameters: ------- # For an explanation of these parameters, visit: + # http://lammps.sandia.gov/doc/angle_class2.html + + # Syntax: + # angle_coeff AngleTypeName AngleStyle parameters... + + + write_once("In Settings") { + angle_coeff @angle:c3a,o2,c3a,c3a,o2h,c3a class2 0.0 0.0 0.0 0.0 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,o2,c3a,c3a,o2h,c3a class2 bb 0.0000 1.3768 1.3768 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,o2,c3a,c3a,o2h,c3a class2 ba 0.0 0.0 1.3768 1.3768 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,o2,c3a,c3a,o2e,c3a class2 0.0 0.0 0.0 0.0 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,o2,c3a,c3a,o2e,c3a class2 bb 0.0000 1.3768 1.3768 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,o2,c3a,c3a,o2e,c3a class2 ba 0.0 0.0 1.3768 1.3768 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,o2,c3a,c3a,o2,c3a class2 0.0 0.0 0.0 0.0 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,o2,c3a,c3a,o2,c3a class2 bb 0.0000 1.3768 1.3768 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,o2,c3a,c3a,o2,c3a class2 ba 0.0 0.0 1.3768 1.3768 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c4,o2,c3a,c4,o2h class2 0.0 0.0 0.0 0.0 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c4,o2,c3a,c4,o2h class2 bb 0.0000 1.5010 1.4200 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c4,o2,c3a,c4,o2h class2 ba 0.0 0.0 1.5010 1.4200 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c4,o2,c3a,c4,o2e class2 0.0 0.0 0.0 0.0 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c4,o2,c3a,c4,o2e class2 bb 0.0000 1.5010 1.4200 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c4,o2,c3a,c4,o2e class2 ba 0.0 0.0 1.5010 1.4200 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,o2,c3prime,c3a,o2e,c3prime class2 0.0 0.0 0.0 0.0 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,o2,c3prime,c3a,o2e,c3prime class2 bb 69.5999 1.3768 1.3750 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,o2,c3prime,c3a,o2e,c3prime class2 ba 0.0 0.0 1.3768 1.3750 # (ver=1.0, ref=7) + angle_coeff @angle:o2,c4,o2,o2h,c4,o2h class2 0.0 0.0 0.0 0.0 # (ver=1.0, ref=3) + angle_coeff @angle:o2,c4,o2,o2h,c4,o2h class2 bb 8.2983 1.4200 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:o2,c4,o2,o2h,c4,o2h class2 ba 0.0 0.0 1.4200 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:o2,c4,o2,o2h,c4,o2e class2 0.0 0.0 0.0 0.0 # (ver=1.0, ref=3) + angle_coeff @angle:o2,c4,o2,o2h,c4,o2e class2 bb 8.2983 1.4200 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:o2,c4,o2,o2h,c4,o2e class2 ba 0.0 0.0 1.4200 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:o2,c4,o2,o2e,c4,o2h class2 0.0 0.0 0.0 0.0 # (ver=1.0, ref=3) + angle_coeff @angle:o2,c4,o2,o2e,c4,o2h class2 bb 8.2983 1.4200 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:o2,c4,o2,o2e,c4,o2h class2 ba 0.0 0.0 1.4200 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:o2,c4,o2,o2e,c4,o2e class2 0.0 0.0 0.0 0.0 # (ver=1.0, ref=3) + angle_coeff @angle:o2,c4,o2,o2e,c4,o2e class2 bb 8.2983 1.4200 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:o2,c4,o2,o2e,c4,o2e class2 ba 0.0 0.0 1.4200 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c3a,o2,h1,c3a,o2h class2 0.0 0.0 0.0 0.0 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c3a,o2,h1,c3a,o2h class2 bb 4.5800 1.0982 1.3768 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c3a,o2,h1,c3a,o2h class2 ba 0.0 0.0 1.0982 1.3768 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c3a,o2,h1,c3a,o2e class2 0.0 0.0 0.0 0.0 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c3a,o2,h1,c3a,o2e class2 bb 4.5800 1.0982 1.3768 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c3a,o2,h1,c3a,o2e class2 ba 0.0 0.0 1.0982 1.3768 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c3a,o2,h1,c3a,o2 class2 0.0 0.0 0.0 0.0 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c3a,o2,h1,c3a,o2 class2 bb 4.5800 1.0982 1.3768 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c3a,o2,h1,c3a,o2 class2 ba 0.0 0.0 1.0982 1.3768 # (ver=1.0, ref=3) + angle_coeff @angle:si4,si4,si4,si4,si4,si4 class2 114.2676 24.9501 -19.5949 0.0000 # (ver=1.0, ref=10) + angle_coeff @angle:si4,si4,si4,si4,si4,si4 class2 bb 6.0704 2.3384 2.3384 # (ver=1.0, ref=10) + angle_coeff @angle:si4,si4,si4,si4,si4,si4 class2 ba 8.9899 8.9899 2.3384 2.3384 # (ver=1.0, ref=10) + angle_coeff @angle:h1,si4,si4,h1,si4,si4 class2 112.0893 22.5062 -11.5926 0.0000 # (ver=1.0, ref=10) + angle_coeff @angle:h1,si4,si4,h1,si4,si4 class2 bb 3.5172 1.4783 2.3384 # (ver=1.0, ref=10) + angle_coeff @angle:h1,si4,si4,h1,si4,si4 class2 ba 5.6630 2.0706 1.4783 2.3384 # (ver=1.0, ref=10) + angle_coeff @angle:c4,si4,si4,c4,si4,si4 class2 113.0000 19.4692 -34.3471 0.0000 # (ver=1.0, ref=10) + angle_coeff @angle:c4,si4,si4,c4,si4,si4 class2 bb 2.3030 1.8995 2.3384 # (ver=1.0, ref=10) + angle_coeff @angle:c4,si4,si4,c4,si4,si4 class2 ba 16.9455 11.4377 1.8995 2.3384 # (ver=1.0, ref=10) + angle_coeff @angle:h1,si4,h1,h1,si4,h1 class2 108.6051 32.5415 -8.3164 0.0000 # (ver=1.0, ref=10) + angle_coeff @angle:h1,si4,h1,h1,si4,h1 class2 bb 4.6408 1.4783 1.4783 # (ver=1.0, ref=10) + angle_coeff @angle:h1,si4,h1,h1,si4,h1 class2 ba 9.3467 9.3467 1.4783 1.4783 # (ver=1.0, ref=10) + angle_coeff @angle:c4,si4,h1,c4,si4,h1 class2 112.0977 36.4832 -12.8094 0.0000 # (ver=1.0, ref=10) + angle_coeff @angle:c4,si4,h1,c4,si4,h1 class2 bb 3.9340 1.8995 1.4783 # (ver=1.0, ref=10) + angle_coeff @angle:c4,si4,h1,c4,si4,h1 class2 ba 13.3961 7.4104 1.8995 1.4783 # (ver=1.0, ref=10) + angle_coeff @angle:c4,si4,c4,c4,si4,c4 class2 113.1855 36.2069 -20.3939 20.0172 # (ver=1.0, ref=10) + angle_coeff @angle:c4,si4,c4,c4,si4,c4 class2 bb 3.7419 1.8995 1.8995 # (ver=1.0, ref=10) + angle_coeff @angle:c4,si4,c4,c4,si4,c4 class2 ba 18.5805 18.5805 1.8995 1.8995 # (ver=1.0, ref=10) + angle_coeff @angle:c3a,si4,h1,c3a,si4,h1 class2 109.5932 41.9497 -42.3639 48.1442 # (ver=1.0, ref=10) + angle_coeff @angle:c3a,si4,h1,c3a,si4,h1 class2 bb 3.9264 1.8634 1.4783 # (ver=1.0, ref=10) + angle_coeff @angle:c3a,si4,h1,c3a,si4,h1 class2 ba 22.5947 8.7811 1.8634 1.4783 # (ver=1.0, ref=10) + angle_coeff @angle:h1,c4,si4,h1,c4,si4 class2 112.0355 28.7721 -13.9523 0.0000 # (ver=1.0, ref=10) + angle_coeff @angle:h1,c4,si4,h1,c4,si4 class2 bb 1.6561 1.1010 1.8995 # (ver=1.0, ref=10) + angle_coeff @angle:h1,c4,si4,h1,c4,si4 class2 ba 16.6908 18.2764 1.1010 1.8995 # (ver=1.0, ref=10) + angle_coeff @angle:c4,c4,si4,c4,c4,si4 class2 112.6700 39.5160 -7.4430 0.0000 # (ver=1.0, ref=10) + angle_coeff @angle:c4,c4,si4,c4,c4,si4 class2 bb 0.0 1.5300 1.8995 # (ver=1.0, ref=10) + angle_coeff @angle:c4,c4,si4,c4,c4,si4 class2 ba 0.0 0.0 1.5300 1.8995 # (ver=1.0, ref=10) + angle_coeff @angle:c3a,c3a,si4,c3a,c3a,si4 class2 120.0000 30.4689 -23.5439 0.0000 # (ver=1.0, ref=10) + angle_coeff @angle:c3a,c3a,si4,c3a,c3a,si4 class2 bb 21.3938 1.4170 1.8634 # (ver=1.0, ref=10) + angle_coeff @angle:c3a,c3a,si4,c3a,c3a,si4 class2 ba 14.5831 23.7679 1.4170 1.8634 # (ver=1.0, ref=10) + angle_coeff @angle:c4,c4,n2z,c4,c4,n2z class2 110.9900 77.9387 0.9499 0.0033 # (ver=1.0, ref=9) + angle_coeff @angle:c4,c4,n2z,c4,c4,n2z class2 bb 36.9309 1.5300 1.4814 # (ver=1.0, ref=9) + angle_coeff @angle:c4,c4,n2z,c4,c4,n2z class2 ba 34.8803 67.8888 1.5300 1.4814 # (ver=1.0, ref=9) + angle_coeff @angle:h1,c4,n2z,h1,c4,n2z class2 107.9744 52.7803 0.6615 0.0023 # (ver=1.0, ref=9) + angle_coeff @angle:h1,c4,n2z,h1,c4,n2z class2 bb 18.4621 1.1010 1.4814 # (ver=1.0, ref=9) + angle_coeff @angle:h1,c4,n2z,h1,c4,n2z class2 ba 3.3182 61.9652 1.1010 1.4814 # (ver=1.0, ref=9) + angle_coeff @angle:c4,n2z,n2t,c4,n2z,n2t class2 113.5017 82.6294 0.9845 0.0033 # (ver=1.0, ref=9) + angle_coeff @angle:c4,n2z,n2t,c4,n2z,n2t class2 bb 84.2075 1.4814 1.2343 # (ver=1.0, ref=9) + angle_coeff @angle:c4,n2z,n2t,c4,n2z,n2t class2 ba 88.2679 195.9722 1.4814 1.2343 # (ver=1.0, ref=9) + angle_coeff @angle:h1,n2z,n2t,h1,n2z,n2t class2 110.0345 55.7635 0.6618 0.0022 # (ver=1.0, ref=9) + angle_coeff @angle:h1,n2z,n2t,h1,n2z,n2t class2 bb 14.9026 1.0221 1.2343 # (ver=1.0, ref=9) + angle_coeff @angle:h1,n2z,n2t,h1,n2z,n2t class2 ba 37.4419 141.1218 1.0221 1.2343 # (ver=1.0, ref=9) + angle_coeff @angle:n1t,n2t,n2z,n1t,n2t,n2z class2 171.6211 47.7899 0.0000 0.0000 # (ver=1.0, ref=9) + angle_coeff @angle:n1t,n2t,n2z,n1t,n2t,n2z class2 bb 204.9909 1.1354 1.2343 # (ver=1.0, ref=9) + angle_coeff @angle:n1t,n2t,n2z,n1t,n2t,n2z class2 ba 1.2222 25.5611 1.1354 1.2343 # (ver=1.0, ref=9) + angle_coeff @angle:n3m,c3prime,o1=,n3m,c3prime,o1= class2 121.5420 92.5720 -34.4800 -11.1871 # (ver=1.0, ref=7) + angle_coeff @angle:n3m,c3prime,o1=,n3m,c3prime,o1= class2 bb 138.4954 1.3850 1.2160 # (ver=1.0, ref=7) + angle_coeff @angle:n3m,c3prime,o1=,n3m,c3prime,o1= class2 ba 62.7124 52.4045 1.3850 1.2160 # (ver=1.0, ref=7) + angle_coeff @angle:c4,c3prime,o2,c4,c3prime,o2e class2 100.3182 88.8631 -3.8323 -7.9802 # (ver=1.0, ref=7) + angle_coeff @angle:c4,c3prime,o2,c4,c3prime,o2e class2 bb 19.1069 1.5140 1.3750 # (ver=1.0, ref=7) + angle_coeff @angle:c4,c3prime,o2,c4,c3prime,o2e class2 ba 1.3435 4.6978 1.5140 1.3750 # (ver=1.0, ref=7) + angle_coeff @angle:c4,c3prime,o1=,c4,c3prime,o1= class2 119.3000 65.1016 -17.9766 0.0000 # (ver=1.0, ref=7) + angle_coeff @angle:c4,c3prime,o1=,c4,c3prime,o1= class2 bb 77.5201 1.5140 1.2160 # (ver=1.0, ref=7) + angle_coeff @angle:c4,c3prime,o1=,c4,c3prime,o1= class2 ba 31.8455 46.6613 1.5140 1.2160 # (ver=1.0, ref=7) + angle_coeff @angle:o1=,c3prime,o2,o1=,c3prime,o2e class2 118.9855 98.6813 -22.2485 10.3673 # (ver=1.0, ref=7) + angle_coeff @angle:o1=,c3prime,o2,o1=,c3prime,o2e class2 bb 210.1813 1.2160 1.3750 # (ver=1.0, ref=7) + angle_coeff @angle:o1=,c3prime,o2,o1=,c3prime,o2e class2 ba 79.4497 57.0987 1.2160 1.3750 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,n3m,c3prime,c3a,n3m,c3prime class2 120.0700 47.1131 -32.5592 13.1257 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,n3m,c3prime,c3a,n3m,c3prime class2 bb 0.0000 1.3950 1.3850 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,n3m,c3prime,c3a,n3m,c3prime class2 ba 0.0 0.0 1.3950 1.3850 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c3a,n3m,c3a,c3a,n3m class2 120.7640 73.2738 -27.4033 13.3920 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c3a,n3m,c3a,c3a,n3m class2 bb 37.8749 1.4170 1.3950 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c3a,n3m,c3a,c3a,n3m class2 ba 35.8865 53.6977 1.4170 1.3950 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c3prime,o1=,c3a,c3prime,o1= class2 125.5320 72.3167 -16.0650 2.0818 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c3prime,o1=,c3a,c3prime,o1= class2 bb 116.9445 1.4890 1.2160 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c3prime,o1=,c3a,c3prime,o1= class2 ba 72.8758 76.1093 1.4890 1.2160 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c3prime,n3m,c3a,c3prime,n3m class2 108.4400 84.8377 -19.9640 2.7405 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c3prime,n3m,c3a,c3prime,n3m class2 bb 0.0000 1.4890 1.3850 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c3prime,n3m,c3a,c3prime,n3m class2 ba 0.0 0.0 1.4890 1.3850 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c3a,c3prime,c3a,c3a,c3prime class2 116.0640 71.2598 -15.8273 2.0506 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c3a,c3prime,c3a,c3a,c3prime class2 bb 37.8749 1.4170 1.4890 # (ver=1.0, ref=7) + angle_coeff @angle:c3a,c3a,c3prime,c3a,c3a,c3prime class2 ba 45.8865 23.6977 1.4170 1.4890 # (ver=1.0, ref=7) + angle_coeff @angle:c3prime,n3m,c3prime,c3prime,n3m,c3prime class2 121.9556 76.3105 -26.3166 -17.6944 # (ver=1.0, ref=7) + angle_coeff @angle:c3prime,n3m,c3prime,c3prime,n3m,c3prime class2 bb 25.9530 1.3850 1.3850 # (ver=1.0, ref=7) + angle_coeff @angle:c3prime,n3m,c3prime,c3prime,n3m,c3prime class2 ba 20.0533 20.0533 1.3850 1.3850 # (ver=1.0, ref=7) + angle_coeff @angle:c3prime,c4,h1,c3prime,c4,h1 class2 107.8594 38.0833 -17.5074 0.0000 # (ver=1.0, ref=7) + angle_coeff @angle:c3prime,c4,h1,c3prime,c4,h1 class2 bb 2.2522 1.5140 1.1010 # (ver=1.0, ref=7) + angle_coeff @angle:c3prime,c4,h1,c3prime,c4,h1 class2 ba 15.5988 14.6287 1.5140 1.1010 # (ver=1.0, ref=7) + angle_coeff @angle:c3prime,o2,c4,c3prime,o2e,c4 class2 109.0000 38.9739 -6.2595 -8.1710 # (ver=1.0, ref=7) + angle_coeff @angle:c3prime,o2,c4,c3prime,o2e,c4 class2 bb 0.0 1.3750 1.4200 # (ver=1.0, ref=7) + angle_coeff @angle:c3prime,o2,c4,c3prime,o2e,c4 class2 ba 21.5366 -16.6748 1.3750 1.4200 # (ver=1.0, ref=7) + angle_coeff @angle:o1=,n3o,o2n,o1=,n3o,o2n class2 112.8000 85.5228 -18.4582 -14.4215 # (ver=1.0, ref=6) + angle_coeff @angle:o1=,n3o,o2n,o1=,n3o,o2n class2 bb 80.0000 1.2100 1.4020 # (ver=1.0, ref=6) + angle_coeff @angle:o1=,n3o,o2n,o1=,n3o,o2n class2 ba 0.0 0.0 1.2100 1.4020 # (ver=1.0, ref=6) + angle_coeff @angle:c4,c4,o2n,c4,c4,o2n class2 105.0000 54.5381 -8.3642 -13.0838 # (ver=1.0, ref=6) + angle_coeff @angle:c4,c4,o2n,c4,c4,o2n class2 bb 11.4318 1.5300 1.4350 # (ver=1.0, ref=6) + angle_coeff @angle:c4,c4,o2n,c4,c4,o2n class2 ba 2.6868 20.4033 1.5300 1.4350 # (ver=1.0, ref=6) + angle_coeff @angle:c4,o2n,n3o,c4,o2n,n3o class2 108.5000 55.7454 -10.0067 -6.2729 # (ver=1.0, ref=6) + angle_coeff @angle:c4,o2n,n3o,c4,o2n,n3o class2 bb 0.0 1.4350 1.4020 # (ver=1.0, ref=6) + angle_coeff @angle:c4,o2n,n3o,c4,o2n,n3o class2 ba 0.0 0.0 1.4350 1.4020 # (ver=1.0, ref=6) + angle_coeff @angle:o1=,n3o,o1=,o1=,n3o,o1= class2 128.0000 95.1035 -47.4240 -27.9164 # (ver=1.0, ref=6) + angle_coeff @angle:o1=,n3o,o1=,o1=,n3o,o1= class2 bb 265.7106 1.2100 1.2100 # (ver=1.0, ref=6) + angle_coeff @angle:o1=,n3o,o1=,o1=,n3o,o1= class2 ba 95.6936 95.6936 1.2100 1.2100 # (ver=1.0, ref=6) + angle_coeff @angle:h1,n3o,o1=,h1,n3o,o1= class2 115.7000 53.8034 -14.1991 -11.8708 # (ver=1.0, ref=6) + angle_coeff @angle:h1,n3o,o1=,h1,n3o,o1= class2 bb 14.8226 1.0400 1.2100 # (ver=1.0, ref=6) + angle_coeff @angle:h1,n3o,o1=,h1,n3o,o1= class2 ba -8.6275 58.6036 1.0400 1.2100 # (ver=1.0, ref=6) + angle_coeff @angle:c4,n3o,o1=,c4,n3o,o1= class2 117.5000 64.5228 -18.4582 -14.4215 # (ver=1.0, ref=6) + angle_coeff @angle:c4,n3o,o1=,c4,n3o,o1= class2 bb 48.1403 1.4740 1.2100 # (ver=1.0, ref=6) + angle_coeff @angle:c4,n3o,o1=,c4,n3o,o1= class2 ba 27.2141 93.9927 1.4740 1.2100 # (ver=1.0, ref=6) + angle_coeff @angle:c3a,n3o,o1=,c3a,n3o,o1= class2 117.7000 63.9404 -18.4524 -14.3129 # (ver=1.0, ref=6) + angle_coeff @angle:c3a,n3o,o1=,c3a,n3o,o1= class2 bb 93.7948 1.4300 1.2100 # (ver=1.0, ref=6) + angle_coeff @angle:c3a,n3o,o1=,c3a,n3o,o1= class2 ba 40.3757 92.1955 1.4300 1.2100 # (ver=1.0, ref=6) + angle_coeff @angle:h1,c4,o2n,h1,c4,o2n class2 108.7280 58.5446 -10.8088 -12.4006 # (ver=1.0, ref=6) + angle_coeff @angle:h1,c4,o2n,h1,c4,o2n class2 bb 23.1979 1.1010 1.4350 # (ver=1.0, ref=6) + angle_coeff @angle:h1,c4,o2n,h1,c4,o2n class2 ba 4.6189 55.3270 1.1010 1.4350 # (ver=1.0, ref=6) + angle_coeff @angle:h1,c4,n3o,h1,c4,n3o class2 107.0000 54.9318 -9.1333 -11.5434 # (ver=1.0, ref=6) + angle_coeff @angle:h1,c4,n3o,h1,c4,n3o class2 bb 3.3770 1.1010 1.4740 # (ver=1.0, ref=6) + angle_coeff @angle:h1,c4,n3o,h1,c4,n3o class2 ba 12.2491 30.5314 1.1010 1.4740 # (ver=1.0, ref=6) + angle_coeff @angle:c3a,c3a,n3o,c3a,c3a,n3o class2 118.8000 29.2436 -8.8495 -6.6020 # (ver=1.0, ref=6) + angle_coeff @angle:c3a,c3a,n3o,c3a,c3a,n3o class2 bb 21.0495 1.4170 1.4300 # (ver=1.0, ref=6) + angle_coeff @angle:c3a,c3a,n3o,c3a,c3a,n3o class2 ba 30.5211 59.8025 1.4170 1.4300 # (ver=1.0, ref=6) + angle_coeff @angle:o1=,s2=,o1=,o1=,s2=,o1= class2 119.3000 115.2627 -35.6278 -26.1261 # (ver=1.0, ref=5) + angle_coeff @angle:o1=,s2=,o1=,o1=,s2=,o1= class2 bb 20.0000 1.4308 1.4308 # (ver=1.0, ref=5) + angle_coeff @angle:o1=,s2=,o1=,o1=,s2=,o1= class2 ba 45.0585 45.0585 1.4308 1.4308 # (ver=1.0, ref=5) + angle_coeff @angle:o1=,n2o,o1=,o1=,n2o,o1= class2 134.1000 150.0000 -82.1013 -40.0005 # (ver=1.0, ref=5) + angle_coeff @angle:o1=,n2o,o1=,o1=,n2o,o1= class2 bb 20.0000 1.1930 1.1930 # (ver=1.0, ref=5) + angle_coeff @angle:o1=,n2o,o1=,o1=,n2o,o1= class2 ba -50.0000 -50.0000 1.1930 1.1930 # (ver=1.0, ref=5) + angle_coeff @angle:s1=,c2=,s1=,s1=,c2=,s1= class2 180.0000 48.0000 0.0000 0.0000 # (ver=1.0, ref=5) + angle_coeff @angle:s1=,c2=,s1=,s1=,c2=,s1= class2 bb 100.7369 1.5540 1.5540 # (ver=1.0, ref=5) + angle_coeff @angle:s1=,c2=,s1=,s1=,c2=,s1= class2 ba 0.0 0.0 1.5540 1.5540 # (ver=1.0, ref=5) + angle_coeff @angle:o1=,c2=,o1=,o1=,c2=,o1= class2 180.0000 57.1000 0.0000 0.0000 # (ver=1.0, ref=5) + angle_coeff @angle:o1=,c2=,o1=,o1=,c2=,o1= class2 bb 275.4350 1.1600 1.1600 # (ver=1.0, ref=5) + angle_coeff @angle:o1=,c2=,o1=,o1=,c2=,o1= class2 ba 0.0 0.0 1.1600 1.1600 # (ver=1.0, ref=5) + angle_coeff @angle:o2,p4=,o2,o2,p4=,o2 class2 107.5000 86.7690 -4.5700 -17.8520 # (ver=1.0, ref=4) + angle_coeff @angle:o2,p4=,o2,o2,p4=,o2 class2 bb 0.0 1.6000 1.6000 # (ver=1.0, ref=4) + angle_coeff @angle:o2,p4=,o2,o2,p4=,o2 class2 ba 0.0 0.0 1.6000 1.6000 # (ver=1.0, ref=4) + angle_coeff @angle:n2=,p4=,o2,n2=,p4=,o2 class2 112.2150 99.9230 -32.0930 -22.8210 # (ver=1.0, ref=4) + angle_coeff @angle:n2=,p4=,o2,n2=,p4=,o2 class2 bb 0.0 1.5980 1.6000 # (ver=1.0, ref=4) + angle_coeff @angle:n2=,p4=,o2,n2=,p4=,o2 class2 ba 0.0 0.0 1.5980 1.6000 # (ver=1.0, ref=4) + angle_coeff @angle:n2=,p4=,n2=,n2=,p4=,n2= class2 125.0000 90.5230 -20.8010 -19.6020 # (ver=1.0, ref=4) + angle_coeff @angle:n2=,p4=,n2=,n2=,p4=,n2= class2 bb 20.0000 1.5980 1.5980 # (ver=1.0, ref=4) + angle_coeff @angle:n2=,p4=,n2=,n2=,p4=,n2= class2 ba 0.0 0.0 1.5980 1.5980 # (ver=1.0, ref=4) + angle_coeff @angle:h1,p4=,o2,h1,p4=,o2 class2 103.9780 73.2570 -9.8970 -15.2120 # (ver=1.0, ref=4) + angle_coeff @angle:h1,p4=,o2,h1,p4=,o2 class2 bb 0.0 1.4300 1.6000 # (ver=1.0, ref=4) + angle_coeff @angle:h1,p4=,o2,h1,p4=,o2 class2 ba 0.0 0.0 1.4300 1.6000 # (ver=1.0, ref=4) + angle_coeff @angle:h1,p4=,n2=,h1,p4=,n2= class2 110.0330 45.9780 -14.0520 -10.3990 # (ver=1.0, ref=4) + angle_coeff @angle:h1,p4=,n2=,h1,p4=,n2= class2 bb 12.5700 1.4300 1.5980 # (ver=1.0, ref=4) + angle_coeff @angle:h1,p4=,n2=,h1,p4=,n2= class2 ba -24.3830 72.9250 1.4300 1.5980 # (ver=1.0, ref=4) + angle_coeff @angle:h1,p4=,h1,h1,p4=,h1 class2 101.4080 39.6950 -5.1340 -8.2270 # (ver=1.0, ref=4) + angle_coeff @angle:h1,p4=,h1,h1,p4=,h1 class2 bb 20.0000 1.4300 1.4300 # (ver=1.0, ref=4) + angle_coeff @angle:h1,p4=,h1,h1,p4=,h1 class2 ba 0.0 0.0 1.4300 1.4300 # (ver=1.0, ref=4) + angle_coeff @angle:c4,p4=,n2=,c4,p4=,n2= class2 119.3000 47.3660 -14.6410 -10.7360 # (ver=1.0, ref=4) + angle_coeff @angle:c4,p4=,n2=,c4,p4=,n2= class2 bb 1.0720 1.8000 1.5980 # (ver=1.0, ref=4) + angle_coeff @angle:c4,p4=,n2=,c4,p4=,n2= class2 ba -7.1280 26.3530 1.8000 1.5980 # (ver=1.0, ref=4) + angle_coeff @angle:c4,p4=,h1,c4,p4=,h1 class2 102.9000 52.0710 -6.4680 -10.7730 # (ver=1.0, ref=4) + angle_coeff @angle:c4,p4=,h1,c4,p4=,h1 class2 bb 3.8820 1.8000 1.4300 # (ver=1.0, ref=4) + angle_coeff @angle:c4,p4=,h1,c4,p4=,h1 class2 ba 11.1260 -19.4700 1.8000 1.4300 # (ver=1.0, ref=4) + angle_coeff @angle:c4,p4=,c4,c4,p4=,c4 class2 102.5000 48.2320 -5.7980 -9.9660 # (ver=1.0, ref=4) + angle_coeff @angle:c4,p4=,c4,c4,p4=,c4 class2 bb 6.2460 1.8000 1.8000 # (ver=1.0, ref=4) + angle_coeff @angle:c4,p4=,c4,c4,p4=,c4 class2 ba 12.8050 12.8050 1.8000 1.8000 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,o2,c3a,p4=,o2 class2 107.3650 71.9770 -10.9430 -15.2900 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,o2,c3a,p4=,o2 class2 bb 0.0 1.7890 1.6000 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,o2,c3a,p4=,o2 class2 ba 0.0 0.0 1.7890 1.6000 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,n2=,c3a,p4=,n2= class2 109.6000 63.0620 -19.7400 -14.3290 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,n2=,c3a,p4=,n2= class2 bb 0.0 1.7890 1.5980 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,n2=,c3a,p4=,n2= class2 ba 0.0 0.0 1.7890 1.5980 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,h1,c3a,p4=,h1 class2 108.2310 36.1850 -6.4880 -7.6460 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,h1,c3a,p4=,h1 class2 bb 0.0 1.7890 1.4300 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,h1,c3a,p4=,h1 class2 ba 0.0 0.0 1.7890 1.4300 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,c3a,c3a,p4=,c3a class2 110.2310 56.1850 -17.3160 -12.7280 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,c3a,c3a,p4=,c3a class2 bb 0.0 1.7890 1.7890 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,c3a,c3a,p4=,c3a class2 ba 0.0 0.0 1.7890 1.7890 # (ver=1.0, ref=4) + angle_coeff @angle:p4=,n2=,p4=,p4=,n2=,p4= class2 135.0000 23.8680 -8.7360 0.0000 # (ver=1.0, ref=4) + angle_coeff @angle:p4=,n2=,p4=,p4=,n2=,p4= class2 bb 20.0000 1.5980 1.5980 # (ver=1.0, ref=4) + angle_coeff @angle:p4=,n2=,p4=,p4=,n2=,p4= class2 ba 0.0 0.0 1.5980 1.5980 # (ver=1.0, ref=4) + angle_coeff @angle:h1,n2=,p4=,h1,n2=,p4= class2 120.0000 26.0680 -8.2980 -5.9430 # (ver=1.0, ref=4) + angle_coeff @angle:h1,n2=,p4=,h1,n2=,p4= class2 bb -18.2870 1.0310 1.5980 # (ver=1.0, ref=4) + angle_coeff @angle:h1,n2=,p4=,h1,n2=,p4= class2 ba 40.0630 90.7910 1.0310 1.5980 # (ver=1.0, ref=4) + angle_coeff @angle:h1,n2=,h1,h1,n2=,h1 class2 110.9100 31.0910 0.0000 0.0000 # (ver=1.0, ref=4) + angle_coeff @angle:h1,n2=,h1,h1,n2=,h1 class2 bb 1.4570 1.0310 1.0310 # (ver=1.0, ref=4) + angle_coeff @angle:h1,n2=,h1,h1,n2=,h1 class2 ba 8.4900 8.4900 1.0310 1.0310 # (ver=1.0, ref=4) + angle_coeff @angle:c4,n2=,h1,c4,n2=,h1 class2 117.2000 37.2620 0.0000 0.0000 # (ver=1.0, ref=4) + angle_coeff @angle:c4,n2=,h1,c4,n2=,h1 class2 bb 12.5630 1.4740 1.0310 # (ver=1.0, ref=4) + angle_coeff @angle:c4,n2=,h1,c4,n2=,h1 class2 ba 18.4860 7.8370 1.4740 1.0310 # (ver=1.0, ref=4) + angle_coeff @angle:h1,c4,p4=,h1,c4,p4= class2 110.8860 33.8300 -7.0430 -7.2460 # (ver=1.0, ref=4) + angle_coeff @angle:h1,c4,p4=,h1,c4,p4= class2 bb 1.0500 1.1010 1.8000 # (ver=1.0, ref=4) + angle_coeff @angle:h1,c4,p4=,h1,c4,p4= class2 ba 19.8120 16.9400 1.1010 1.8000 # (ver=1.0, ref=4) + angle_coeff @angle:h1,c4,n2=,h1,c4,n2= class2 107.4990 62.7310 0.0000 0.0000 # (ver=1.0, ref=4) + angle_coeff @angle:h1,c4,n2=,h1,c4,n2= class2 bb 5.6640 1.1010 1.4740 # (ver=1.0, ref=4) + angle_coeff @angle:h1,c4,n2=,h1,c4,n2= class2 ba 6.4070 46.3730 1.1010 1.4740 # (ver=1.0, ref=4) + angle_coeff @angle:c4,c4,n2=,c4,c4,n2= class2 117.3170 55.2420 0.0000 0.0000 # (ver=1.0, ref=4) + angle_coeff @angle:c4,c4,n2=,c4,c4,n2= class2 bb 22.7100 1.5300 1.4740 # (ver=1.0, ref=4) + angle_coeff @angle:c4,c4,n2=,c4,c4,n2= class2 ba 19.2440 59.4220 1.5300 1.4740 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,c3a,p4=,c3a,c3a,p4= class2 120.0010 47.8410 -15.2290 -10.9070 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,c3a,p4=,c3a,c3a,p4= class2 bb 0.0 1.4170 1.7890 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,c3a,p4=,c3a,c3a,p4= class2 ba 0.0 0.0 1.4170 1.7890 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,c3a,n2=,c3a,c3a,n2= class2 120.0000 60.0000 0.0000 0.0000 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,c3a,n2=,c3a,c3a,n2= class2 bb 0.0 1.4170 1.4000 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,c3a,n2=,c3a,c3a,n2= class2 ba 0.0 0.0 1.4170 1.4000 # (ver=1.0, ref=4) + angle_coeff @angle:c4,o2,h1,c4,o2h,h1 class2 105.8000 52.7061 -12.1090 -9.8681 # (ver=1.0, ref=3) + angle_coeff @angle:c4,o2,h1,c4,o2h,h1 class2 bb -9.6879 1.4200 0.9494 # (ver=1.0, ref=3) + angle_coeff @angle:c4,o2,h1,c4,o2h,h1 class2 ba 28.5800 18.9277 1.4200 0.9494 # (ver=1.0, ref=3) + angle_coeff @angle:c4,o2,c4,c4,o2h,c4 class2 104.5000 35.7454 -10.0067 -6.2729 # (ver=1.0, ref=3) + angle_coeff @angle:c4,o2,c4,c4,o2h,c4 class2 bb -7.1131 1.4200 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:c4,o2,c4,c4,o2h,c4 class2 ba -2.8112 -2.8112 1.4200 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:c4,o2,c4,c4,o2e,c4 class2 104.5000 35.7454 -10.0067 -6.2729 # (ver=1.0, ref=3) + angle_coeff @angle:c4,o2,c4,c4,o2e,c4 class2 bb -7.1131 1.4200 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:c4,o2,c4,c4,o2e,c4 class2 ba -2.8112 -2.8112 1.4200 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,o2,h1,c3a,o2h,h1 class2 108.1900 53.1250 -8.5016 0.0000 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,o2,h1,c3a,o2h,h1 class2 bb 20.6577 1.3768 0.9494 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,o2,h1,c3a,o2h,h1 class2 ba 53.8614 23.9224 1.3768 0.9494 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,o2,c4,c3a,o2h,c4 class2 102.9695 38.9739 -6.2595 -8.1710 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,o2,c4,c3a,o2h,c4 class2 bb 0.0 1.3768 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,o2,c4,c3a,o2h,c4 class2 ba 0.0 0.0 1.3768 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,o2,c4,c3a,o2e,c4 class2 102.9695 38.9739 -6.2595 -8.1710 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,o2,c4,c3a,o2e,c4 class2 bb 0.0 1.3768 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,o2,c4,c3a,o2e,c4 class2 ba 0.0 0.0 1.3768 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c4,o2,h1,c4,o2h class2 108.7280 58.5446 -10.8088 -12.4006 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c4,o2,h1,c4,o2h class2 bb 23.1979 1.1010 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c4,o2,h1,c4,o2h class2 ba 4.6189 55.3270 1.1010 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c4,o2,h1,c4,o2e class2 108.7280 58.5446 -10.8088 -12.4006 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c4,o2,h1,c4,o2e class2 bb 23.1979 1.1010 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:h1,c4,o2,h1,c4,o2e class2 ba 4.6189 55.3270 1.1010 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:c4,c4,o2,c4,c4,o2h class2 111.2700 54.5381 -8.3642 -13.0838 # (ver=1.0, ref=3) + angle_coeff @angle:c4,c4,o2,c4,c4,o2h class2 bb 11.4318 1.5300 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:c4,c4,o2,c4,c4,o2h class2 ba 2.6868 20.4033 1.5300 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:c4,c4,o2,c4,c4,o2e class2 111.2700 54.5381 -8.3642 -13.0838 # (ver=1.0, ref=3) + angle_coeff @angle:c4,c4,o2,c4,c4,o2e class2 bb 11.4318 1.5300 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:c4,c4,o2,c4,c4,o2e class2 ba 2.6868 20.4033 1.5300 1.4200 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,c3a,o2,c3a,c3a,o2h class2 123.4200 73.6781 -21.6787 0.0000 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,c3a,o2,c3a,c3a,o2h class2 bb 48.4754 1.4170 1.3768 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,c3a,o2,c3a,c3a,o2h class2 ba 58.4790 107.6806 1.4170 1.3768 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,c3a,o2,c3a,c3a,o2e class2 123.4200 73.6781 -21.6787 0.0000 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,c3a,o2,c3a,c3a,o2e class2 bb 48.4754 1.4170 1.3768 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,c3a,o2,c3a,c3a,o2e class2 ba 58.4790 107.6806 1.4170 1.3768 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,c3a,o2,c3a,c3a,o2 class2 123.4200 73.6781 -21.6787 0.0000 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,c3a,o2,c3a,c3a,o2 class2 bb 48.4754 1.4170 1.3768 # (ver=1.0, ref=3) + angle_coeff @angle:c3a,c3a,o2,c3a,c3a,o2 class2 ba 58.4790 107.6806 1.4170 1.3768 # (ver=1.0, ref=3) + angle_coeff @angle:o2z,si4,o2z,o2z,si4,o2z class2 110.7000 70.3069 -6.9375 0.0000 # (ver=1.0, ref=2) + angle_coeff @angle:o2z,si4,o2z,o2z,si4,o2z class2 bb 41.1143 1.6400 1.6400 # (ver=1.0, ref=2) + angle_coeff @angle:o2z,si4,o2z,o2z,si4,o2z class2 ba 23.4380 23.4380 1.6400 1.6400 # (ver=1.0, ref=2) + angle_coeff @angle:h1,si4,o2z,h1,si4,o2z class2 107.4000 57.6643 -10.6506 4.6274 # (ver=1.0, ref=2) + angle_coeff @angle:h1,si4,o2z,h1,si4,o2z class2 bb 11.6183 1.4783 1.6400 # (ver=1.0, ref=2) + angle_coeff @angle:h1,si4,o2z,h1,si4,o2z class2 ba 6.4278 20.5669 1.4783 1.6400 # (ver=1.0, ref=2) + angle_coeff @angle:c4,si4,o2z,c4,si4,o2z class2 114.9060 23.0218 -31.3993 24.9814 # (ver=1.0, ref=2) + angle_coeff @angle:c4,si4,o2z,c4,si4,o2z class2 bb 5.4896 1.8995 1.6400 # (ver=1.0, ref=2) + angle_coeff @angle:c4,si4,o2z,c4,si4,o2z class2 ba 6.4278 20.5669 1.8995 1.6400 # (ver=1.0, ref=2) + angle_coeff @angle:c3a,si4,o2z,c3a,si4,o2z class2 114.9060 23.0218 -31.3993 24.9814 # (ver=1.0, ref=2) + angle_coeff @angle:c3a,si4,o2z,c3a,si4,o2z class2 bb 0.0 1.8634 1.6400 # (ver=1.0, ref=2) + angle_coeff @angle:c3a,si4,o2z,c3a,si4,o2z class2 ba 0.0 0.0 1.8634 1.6400 # (ver=1.0, ref=2) + angle_coeff @angle:si4,o2z,si4,si4,o2z,si4 class2 159.0000 8.5000 -13.4188 -4.1785 # (ver=1.0, ref=2) + angle_coeff @angle:si4,o2z,si4,si4,o2z,si4 class2 bb 41.1143 1.6400 1.6400 # (ver=1.0, ref=2) + angle_coeff @angle:si4,o2z,si4,si4,o2z,si4 class2 ba 28.6686 28.6686 1.6400 1.6400 # (ver=1.0, ref=2) + angle_coeff @angle:h1,c4,h1,h1,c4,h1 class2 107.6600 39.6410 -12.9210 -2.4318 # (ver=1.0, ref=1) + angle_coeff @angle:h1,c4,h1,h1,c4,h1 class2 bb 5.3316 1.1010 1.1010 # (ver=1.0, ref=1) + angle_coeff @angle:h1,c4,h1,h1,c4,h1 class2 ba 18.1030 18.1030 1.1010 1.1010 # (ver=1.0, ref=1) + angle_coeff @angle:c4,c4,h1,c4,c4,h1 class2 110.7700 41.4530 -10.6040 5.1290 # (ver=1.0, ref=1) + angle_coeff @angle:c4,c4,h1,c4,c4,h1 class2 bb 3.3872 1.5300 1.1010 # (ver=1.0, ref=1) + angle_coeff @angle:c4,c4,h1,c4,c4,h1 class2 ba 20.7540 11.4210 1.5300 1.1010 # (ver=1.0, ref=1) + angle_coeff @angle:c4,c4,c4,c4,c4,c4 class2 112.6700 39.5160 -7.4430 -9.5583 # (ver=1.0, ref=1) + angle_coeff @angle:c4,c4,c4,c4,c4,c4 class2 bb 0.0 1.5300 1.5300 # (ver=1.0, ref=1) + angle_coeff @angle:c4,c4,c4,c4,c4,c4 class2 ba 8.0160 8.0160 1.5300 1.5300 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c4,h1,c3a,c4,h1 class2 111.0000 44.3234 -9.4454 0.0000 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c4,h1,c3a,c4,h1 class2 bb 2.9168 1.5010 1.1010 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c4,h1,c3a,c4,h1 class2 ba 26.4608 11.7717 1.5010 1.1010 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c4,c4,c3a,c4,c4 class2 108.4000 43.9594 -8.3924 -9.3379 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c4,c4,c3a,c4,c4 class2 bb 0.0 1.5010 1.5300 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c4,c4,c3a,c4,c4 class2 ba 0.0 0.0 1.5010 1.5300 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c4,c3a,c3a,c4,c3a class2 111.0000 44.3234 -9.4454 0.0000 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c4,c3a,c3a,c4,c3a class2 bb 0.0 1.5010 1.5010 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c4,c3a,c3a,c4,c3a class2 ba 0.0 0.0 1.5010 1.5010 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c3a,h1,c3a,c3a,h1 class2 117.9400 35.1558 -12.4682 0.0000 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c3a,h1,c3a,c3a,h1 class2 bb 1.0795 1.4170 1.0982 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c3a,h1,c3a,c3a,h1 class2 ba 20.0033 24.2183 1.4170 1.0982 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c3a,c4,c3a,c3a,c4 class2 120.0500 44.7148 -22.7352 0.0000 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c3a,c4,c3a,c3a,c4 class2 bb 12.0676 1.4170 1.5010 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c3a,c4,c3a,c3a,c4 class2 ba 31.0771 47.0579 1.4170 1.5010 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c3a,c3a,c3a,c3a,c3a class2 118.9000 61.0226 -34.9931 0.0000 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c3a,c3a,c3a,c3a,c3a class2 bb 68.2856 1.4170 1.4170 # (ver=1.0, ref=1) + angle_coeff @angle:c3a,c3a,c3a,c3a,c3a,c3a class2 ba 28.8708 28.8708 1.4170 1.4170 # (ver=1.0, ref=1) + angle_coeff @angle:n3,p4=,o2,X,X,X class2 108.3000 86.7690 -5.1750 -17.6710 # (ver=1.0, ref=4) + angle_coeff @angle:n3,p4=,o2,X,X,X class2 bb 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:n3,p4=,o2,X,X,X class2 ba 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:n3,p4=,n3,X,X,X class2 107.1000 85.7690 -5.7790 -17.4890 # (ver=1.0, ref=4) + angle_coeff @angle:n3,p4=,n3,X,X,X class2 bb 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:n3,p4=,n3,X,X,X class2 ba 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:n2=,p4=,n3,X,X,X class2 123.2150 89.9230 -32.6120 -21.0960 # (ver=1.0, ref=4) + angle_coeff @angle:n2=,p4=,n3,X,X,X class2 bb 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:n2=,p4=,n3,X,X,X class2 ba 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:h1,p4=,n3,X,X,X class2 103.9780 68.2570 -9.2210 -14.1740 # (ver=1.0, ref=4) + angle_coeff @angle:h1,p4=,n3,X,X,X class2 bb 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:h1,p4=,n3,X,X,X class2 ba 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,n3,X,X,X class2 108.1650 70.9770 -11.5480 -15.1090 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,n3,X,X,X class2 bb 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:c3a,p4=,n3,X,X,X class2 ba 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:h1,o2,p4=,X,X,X class2 117.0000 26.0310 -5.8280 -5.6200 # (ver=1.0, ref=4) + angle_coeff @angle:h1,o2,p4=,X,X,X class2 bb 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:h1,o2,p4=,X,X,X class2 ba 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:c4,o2,p4=,X,X,X class2 118.2830 35.0010 -10.3600 -7.8700 # (ver=1.0, ref=4) + angle_coeff @angle:c4,o2,p4=,X,X,X class2 bb 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:c4,o2,p4=,X,X,X class2 ba 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:h1,n3,p4=,X,X,X class2 120.0830 25.0010 -6.1170 -5.4570 # (ver=1.0, ref=4) + angle_coeff @angle:h1,n3,p4=,X,X,X class2 bb 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:h1,n3,p4=,X,X,X class2 ba 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:c4,n3,p4=,X,X,X class2 120.0830 25.0010 -6.1170 -5.4570 # (ver=1.0, ref=4) + angle_coeff @angle:c4,n3,p4=,X,X,X class2 bb 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:c4,n3,p4=,X,X,X class2 ba 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + angle_coeff @angle:h1,o2z,si4,X,X,X class2 122.8000 23.7764 -19.8152 9.6331 # (ver=1.0, ref=2) + angle_coeff @angle:h1,o2z,si4,X,X,X class2 bb 0.0 1.0 1.0 # (ver=1.0, ref=2) + angle_coeff @angle:h1,o2z,si4,X,X,X class2 ba 0.0 0.0 1.0 1.0 # (ver=1.0, ref=2) + } # end of angle_coeff commands + + + # --------------- Dihedral Interactions: --------------------- + + + # -- Rules for generating (4-body) "dihedral" interactions: -- + # DihedralType AtmType1 AtmType2 AtmType3 AtmType3 [BondType1 Bnd2 Bnd3] + + + write_once("Data Dihedrals By Type") { + @dihedral:h1,si4,si4,si4,h1,si4,si4,si4,h1,si4,si4,si4 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* + @dihedral:h1,si4,c4,h1,h1,si4,c4,h1,h1,si4,c4,h1 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c4,si4,c4,h1,c4,si4,c4,h1,c4,si4,c4,h1 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:h1,si4,si4,h1,h1,si4,si4,h1,h1,si4,si4,h1 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4,h1 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:h1,c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* + @dihedral:h1,c4,si4,h1,h1,c4,si4,h1,h1,c4,si4,h1 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c4,c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3prime,ac3prime,dc3prime,i* @atom:*,p*,bo2e,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* + @dihedral:c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1= @atom:*,p*,bc3prime,ac3prime,dc3prime,i* @atom:*,p*,bn3m,an3m,dn3m,i* @atom:*,p*,bc3prime,ac3prime,dc3prime,i* @atom:*,p*,bo1=,ao1=,do1=,i* + @dihedral:X,si4,si4,X,si4,si4,si4,si4,si4,si4,si4,si4 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,si4,si4,X,si4,si4,si4,h1,si4,si4,si4,h1 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,si4,si4,X,si4,si4,si4,c4,si4,si4,si4,c4 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,si4,si4,X,h1,si4,si4,si4,h1,si4,si4,si4 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,si4,si4,X,h1,si4,si4,h1,h1,si4,si4,h1 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,si4,si4,X,h1,si4,si4,c4,h1,si4,si4,c4 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,si4,si4,X,c4,si4,si4,si4,c4,si4,si4,si4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,si4,si4,X,c4,si4,si4,h1,c4,si4,si4,h1 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,si4,si4,X,c4,si4,si4,c4,c4,si4,si4,c4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c4,si4,X,h1,c4,si4,si4,h1,c4,si4,si4 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c4,si4,X,h1,c4,si4,o2z,h1,c4,si4,o2z @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bo2z,ao2z,d*,i* + @dihedral:X,c4,si4,X,h1,c4,si4,h1,h1,c4,si4,h1 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c4,si4,X,h1,c4,si4,c4,h1,c4,si4,c4 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c4,si4,X,c4,c4,si4,si4,c4,c4,si4,si4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c4,si4,X,c4,c4,si4,o2z,c4,c4,si4,o2z @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bo2z,ao2z,d*,i* + @dihedral:X,c4,si4,X,c4,c4,si4,h1,c4,c4,si4,h1 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c4,si4,X,c4,c4,si4,c4,c4,c4,si4,c4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:c4,c4,si4,si4,c4,c4,si4,si4,c4,c4,si4,si4 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bsi4,asi4,dsi4,i* + @dihedral:X,si4,c3a,c3a,o2z,si4,c3a,c3a,o2z,si4,c3a,c3a @atom:*,p*,bo2z,ao2z,d*,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* + @dihedral:X,si4,c3a,c3a,h1,si4,c3a,c3a,h1,si4,c3a,c3a @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* + @dihedral:h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,dsi4,i* + @dihedral:c3a,c3a,c3a,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,dsi4,i* + @dihedral:h1,c4,c4,n2z,h1,c4,c4,n2z,h1,c4,c4,n2z @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2z,an2z,dn2z,i* + @dihedral:c4,c4,n2z,n2t,c4,c4,n2z,n2t,c4,c4,n2z,n2t @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2z,an2z,dn2z,i* @atom:*,p*,bn2t,an2t,dn2t,i* + @dihedral:h1,c4,n2z,n2t,h1,c4,n2z,n2t,h1,c4,n2z,n2t @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2z,an2z,dn2z,i* @atom:*,p*,bn2t,an2t,dn2t,i* + @dihedral:c4,n2z,n2t,n1t,c4,n2z,n2t,n1t,c4,n2z,n2t,n1t @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2z,an2z,dn2z,i* @atom:*,p*,bn2t,an2t,dn2t,i* @atom:*,p*,bn1t,an1t,dn1t,i* + @dihedral:h1,n2z,n2t,n1t,h1,n2z,n2t,n1t,h1,n2z,n2t,n1t @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bn2z,an2z,dn2z,i* @atom:*,p*,bn2t,an2t,dn2t,i* @atom:*,p*,bn1t,an1t,dn1t,i* + @dihedral:h1,c3a,c3a,n3m,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,dn3m,i* + @dihedral:h1,c4,c3prime,o2,h1,c4,c3prime,o2e,h1,c4,c3prime,o2 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3prime,ac3prime,dc3prime,i* @atom:*,p*,bo2e,ao2,do2,i* + @dihedral:h1,c4,c3prime,o1=,h1,c4,c3prime,o1=,h1,c4,c3prime,o1= @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3prime,ac3prime,dc3prime,i* @atom:*,p*,bo1=,ao1=,do1=,i* + @dihedral:c4,o2,c3prime,o1=,c4,o2e,c3prime,o1=,c4,o2,c3prime,o1= @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,do2,i* @atom:*,p*,bc3prime,ac3prime,dc3prime,i* @atom:*,p*,bo1=,ao1=,do1=,i* + @dihedral:c4,o2,c3prime,c4,c4,o2e,c3prime,c4,c4,o2,c3prime,c4 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,do2,i* @atom:*,p*,bc3prime,ac3prime,dc3prime,i* @atom:*,p*,bc4,ac4,dc4,i* + @dihedral:c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1= @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,dn3m,i* @atom:*,p*,bc3prime,ac3prime,dc3prime,i* @atom:*,p*,bo1=,ao1=,do1=,i* + @dihedral:c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,dn3m,i* + @dihedral:c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1= @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,dc3prime,i* @atom:*,p*,bo1=,ao1=,do1=,i* + @dihedral:c3prime,o2,c4,h1,c3prime,o2e,c4,h1,c3prime,o2,c4,h1 @atom:*,p*,bc3prime,ac3prime,dc3prime,i* @atom:*,p*,bo2e,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4,c4 @atom:*,p*,bc3prime,ac3prime,dc3prime,i* @atom:*,p*,bo2e,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* + @dihedral:c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,dn3m,i* @atom:*,p*,bc3prime,ac3prime,dc3prime,i* + @dihedral:c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 @atom:*,p*,bc3prime,ac3prime,dc3prime,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,dc3prime,i* + @dihedral:c4,o2,n3o,o1=,c4,o2n,n3o,o1=,c4,o2n,n3o,o1= @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,do2,i* @atom:*,p*,bn3o,an3o,dn3o,i* @atom:*,p*,bo1=,ao1=,do1=,i* + @dihedral:c4,c4,o2,n3o,c4,c4,o2n,n3o,c4,c4,o2n,n3o @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,do2,i* @atom:*,p*,bn3o,an3o,dn3o,i* + @dihedral:h1,c4,n3o,o1=,h1,c4,n3o,o1=,h1,c4,n3o,o1= @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn3o,an3o,dn3o,i* @atom:*,p*,bo1=,ao1=,do1=,i* + @dihedral:c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1= @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,dn3o,i* @atom:*,p*,bo1=,ao1=,do1=,i* + @dihedral:h1,c3a,c3a,n3o,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,dn3o,i* + @dihedral:c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,dn3o,i* + @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,o2,p4=,n2=,p4=,o2 @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2= @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1 @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c4,p4=,n2=,p4=,c4 @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c3a,p4=,n2=,p4=,c3a @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,n2=,p4=,X,h1,n2=,p4=,o2,h1,n2=,p4=,o2 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,n2=,p4=,X,h1,n2=,p4=,n2=,h1,n2=,p4=,n2= @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,n2=,p4=,X,h1,n2=,p4=,h1,h1,n2=,p4=,h1 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c4,h1,n2=,p4=,c4 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c3a,h1,n2=,p4=,c3a @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c4,p4=,X,h1,c4,p4=,n2=,h1,c4,p4=,n2= @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c4,p4=,X,h1,c4,p4=,h1,h1,c4,p4=,h1 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c4,p4=,X,h1,c4,p4=,c4,h1,c4,p4=,c4 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c4,n2=,X,h1,c4,n2=,h1,h1,c4,n2=,h1 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c4,n2=,X,c4,c4,n2=,h1,c4,c4,n2=,h1 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,o2,c3a,c3a,p4=,o2 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4= @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* + @dihedral:h1,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1,p4=,n2=,p4= @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* + @dihedral:h1,n2=,p4=,o2,h1,n2=,p4=,o2,h1,n2=,p4=,o2 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bo2,ao2,do2,i* + @dihedral:h1,n2=,p4=,h1,h1,n2=,p4=,h1,h1,n2=,p4=,h1 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c3a,p4=,n2=,h1,c3a,p4=,n2=,h1,c3a,p4=,n2=,h1 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2= @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bn2=,an2=,dn2=,i* + @dihedral:h1,c4,p4=,h1,h1,c4,p4=,h1,h1,c4,p4=,h1 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c4,p4=,c4,h1,c4,p4=,c4,h1,c4,p4=,c4,h1 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:h1,c4,n2=,h1,h1,c4,n2=,h1,h1,c4,n2=,h1 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2=,h1 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,dn2=,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:h1,c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2= @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,dn2=,i* + @dihedral:c4,c4,c4,n2=,c4,c4,c4,n2=,c4,c4,c4,n2= @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,dn2=,i* + @dihedral:c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bn2=,an2=,dn2=,i* + @dihedral:c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,dp4=,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,dp4=,i* + @dihedral:c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,dp4=,i* + @dihedral:h1,c4,o2,h1,h1,c4,o2h,h1,h1,c4,o2,h1 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,do2,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c4,o2,c4,h1,c4,o2h,c4,h1,c4,o2,c4,h1 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c4,o2,c4,h1,c4,o2e,c4,h1,c4,o2,c4,h1 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c3a,o2,c4,h1,c3a,o2h,c4,h1,c3a,o2,c4,h1 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c3a,o2,c4,h1,c3a,o2e,c4,h1,c3a,o2,c4,h1 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2,h1 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,do2,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2,c4 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* + @dihedral:c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2,c4 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* + @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2n,o2n,c4,c4,o2n @atom:*,p*,bo2n,ao2n,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,do2,i* + @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2h,o2n,c4,c4,o2 @atom:*,p*,bo2n,ao2n,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,do2,i* + @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2e,o2n,c4,c4,o2 @atom:*,p*,bo2n,ao2n,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,do2,i* + @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2n,o2,c4,c4,o2n @atom:*,p*,bo2h,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,do2,i* + @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2h,o2,c4,c4,o2 @atom:*,p*,bo2h,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,do2,i* + @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2e,o2,c4,c4,o2 @atom:*,p*,bo2h,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,do2,i* + @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2n,o2,c4,c4,o2n @atom:*,p*,bo2e,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,do2,i* + @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2h,o2,c4,c4,o2 @atom:*,p*,bo2e,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,do2,i* + @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2e,o2,c4,c4,o2 @atom:*,p*,bo2e,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,do2,i* + @dihedral:h1,c4,c4,o2,h1,c4,c4,o2n,h1,c4,c4,o2n @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,do2,i* + @dihedral:h1,c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,do2,i* + @dihedral:h1,c4,c4,o2,h1,c4,c4,o2e,h1,c4,c4,o2 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,do2,i* + @dihedral:c4,c4,c4,o2,c4,c4,c4,o2n,c4,c4,c4,o2n @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,do2,i* + @dihedral:c4,c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,do2,i* + @dihedral:c4,c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,do2,i* + @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2h,c4,c3a,c3a,o2,c4 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* + @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2e,c4,c3a,c3a,o2,c4 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,do2,i* @atom:*,p*,bc4,ac4,dc4,i* + @dihedral:X,o2z,si4,X,si4,o2z,si4,o2z,si4,o2z,si4,o2z @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bo2z,ao2z,do2z,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bo2z,ao2z,d*,i* + @dihedral:X,o2z,si4,X,si4,o2z,si4,h1,si4,o2z,si4,h1 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bo2z,ao2z,do2z,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,o2z,si4,X,si4,o2z,si4,c4,si4,o2z,si4,c4 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bo2z,ao2z,do2z,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,o2z,si4,X,si4,o2z,si4,c3a,si4,o2z,si4,c3a @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bo2z,ao2z,do2z,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4 @atom:*,p*,bo2z,ao2z,do2z,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bo2z,ao2z,do2z,i* @atom:*,p*,bsi4,asi4,dsi4,i* + @dihedral:h1,si4,o2z,si4,h1,si4,o2z,si4,h1,si4,o2z,si4 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bo2z,ao2z,do2z,i* @atom:*,p*,bsi4,asi4,dsi4,i* + @dihedral:c4,si4,o2z,si4,c4,si4,o2z,si4,c4,si4,o2z,si4 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,dsi4,i* @atom:*,p*,bo2z,ao2z,do2z,i* @atom:*,p*,bsi4,asi4,dsi4,i* + @dihedral:X,c4,c4,X,si4,c4,c4,si4,si4,c4,c4,si4 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c4,c4,X,si4,c4,c4,o2n,si4,c4,c4,o2n @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,d*,i* + @dihedral:X,c4,c4,X,si4,c4,c4,o2h,si4,c4,c4,o2 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c4,c4,X,si4,c4,c4,o2e,si4,c4,c4,o2 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c4,c4,X,si4,c4,c4,n2z,si4,c4,c4,n2z @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2z,an2z,d*,i* + @dihedral:X,c4,c4,X,si4,c4,c4,n2=,si4,c4,c4,n2= @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c4,c4,X,si4,c4,c4,h1,si4,c4,c4,h1 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c4,c4,X,si4,c4,c4,c4,si4,c4,c4,c4 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c4,c4,X,si4,c4,c4,c3a,si4,c4,c4,c3a @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c4,c4,X,o2n,c4,c4,si4,o2n,c4,c4,si4 @atom:*,p*,bo2n,ao2n,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c4,c4,X,o2n,c4,c4,o2n,o2n,c4,c4,o2n @atom:*,p*,bo2n,ao2n,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,d*,i* + @dihedral:X,c4,c4,X,o2n,c4,c4,o2h,o2n,c4,c4,o2 @atom:*,p*,bo2n,ao2n,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c4,c4,X,o2n,c4,c4,o2e,o2n,c4,c4,o2 @atom:*,p*,bo2n,ao2n,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c4,c4,X,o2n,c4,c4,n2z,o2n,c4,c4,n2z @atom:*,p*,bo2n,ao2n,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2z,an2z,d*,i* + @dihedral:X,c4,c4,X,o2n,c4,c4,n2=,o2n,c4,c4,n2= @atom:*,p*,bo2n,ao2n,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c4,c4,X,o2n,c4,c4,h1,o2n,c4,c4,h1 @atom:*,p*,bo2n,ao2n,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c4,c4,X,o2n,c4,c4,c4,o2n,c4,c4,c4 @atom:*,p*,bo2n,ao2n,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c4,c4,X,o2n,c4,c4,c3a,o2n,c4,c4,c3a @atom:*,p*,bo2n,ao2n,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c4,c4,X,o2h,c4,c4,si4,o2,c4,c4,si4 @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c4,c4,X,o2h,c4,c4,o2n,o2,c4,c4,o2n @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,d*,i* + @dihedral:X,c4,c4,X,o2h,c4,c4,o2h,o2,c4,c4,o2 @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c4,c4,X,o2h,c4,c4,o2e,o2,c4,c4,o2 @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c4,c4,X,o2h,c4,c4,n2z,o2,c4,c4,n2z @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2z,an2z,d*,i* + @dihedral:X,c4,c4,X,o2h,c4,c4,n2=,o2,c4,c4,n2= @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c4,c4,X,o2h,c4,c4,h1,o2,c4,c4,h1 @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c4,c4,X,o2h,c4,c4,c4,o2,c4,c4,c4 @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c4,c4,X,o2h,c4,c4,c3a,o2,c4,c4,c3a @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c4,c4,X,o2e,c4,c4,si4,o2,c4,c4,si4 @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c4,c4,X,o2e,c4,c4,o2n,o2,c4,c4,o2n @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,d*,i* + @dihedral:X,c4,c4,X,o2e,c4,c4,o2h,o2,c4,c4,o2 @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c4,c4,X,o2e,c4,c4,o2e,o2,c4,c4,o2 @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c4,c4,X,o2e,c4,c4,n2z,o2,c4,c4,n2z @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2z,an2z,d*,i* + @dihedral:X,c4,c4,X,o2e,c4,c4,n2=,o2,c4,c4,n2= @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c4,c4,X,o2e,c4,c4,h1,o2,c4,c4,h1 @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c4,c4,X,o2e,c4,c4,c4,o2,c4,c4,c4 @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c4,c4,X,o2e,c4,c4,c3a,o2,c4,c4,c3a @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c4,c4,X,n2z,c4,c4,si4,n2z,c4,c4,si4 @atom:*,p*,bn2z,an2z,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c4,c4,X,n2z,c4,c4,o2n,n2z,c4,c4,o2n @atom:*,p*,bn2z,an2z,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,d*,i* + @dihedral:X,c4,c4,X,n2z,c4,c4,o2h,n2z,c4,c4,o2 @atom:*,p*,bn2z,an2z,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c4,c4,X,n2z,c4,c4,o2e,n2z,c4,c4,o2 @atom:*,p*,bn2z,an2z,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c4,c4,X,n2z,c4,c4,n2z,n2z,c4,c4,n2z @atom:*,p*,bn2z,an2z,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2z,an2z,d*,i* + @dihedral:X,c4,c4,X,n2z,c4,c4,n2=,n2z,c4,c4,n2= @atom:*,p*,bn2z,an2z,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c4,c4,X,n2z,c4,c4,h1,n2z,c4,c4,h1 @atom:*,p*,bn2z,an2z,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c4,c4,X,n2z,c4,c4,c4,n2z,c4,c4,c4 @atom:*,p*,bn2z,an2z,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c4,c4,X,n2z,c4,c4,c3a,n2z,c4,c4,c3a @atom:*,p*,bn2z,an2z,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c4,c4,X,n2=,c4,c4,si4,n2=,c4,c4,si4 @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c4,c4,X,n2=,c4,c4,o2n,n2=,c4,c4,o2n @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,d*,i* + @dihedral:X,c4,c4,X,n2=,c4,c4,o2h,n2=,c4,c4,o2 @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c4,c4,X,n2=,c4,c4,o2e,n2=,c4,c4,o2 @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c4,c4,X,n2=,c4,c4,n2z,n2=,c4,c4,n2z @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2z,an2z,d*,i* + @dihedral:X,c4,c4,X,n2=,c4,c4,n2=,n2=,c4,c4,n2= @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c4,c4,X,n2=,c4,c4,h1,n2=,c4,c4,h1 @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c4,c4,X,n2=,c4,c4,c4,n2=,c4,c4,c4 @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c4,c4,X,n2=,c4,c4,c3a,n2=,c4,c4,c3a @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c4,c4,X,h1,c4,c4,si4,h1,c4,c4,si4 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c4,c4,X,h1,c4,c4,o2n,h1,c4,c4,o2n @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,d*,i* + @dihedral:X,c4,c4,X,h1,c4,c4,o2h,h1,c4,c4,o2 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c4,c4,X,h1,c4,c4,o2e,h1,c4,c4,o2 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c4,c4,X,h1,c4,c4,n2z,h1,c4,c4,n2z @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2z,an2z,d*,i* + @dihedral:X,c4,c4,X,h1,c4,c4,n2=,h1,c4,c4,n2= @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c4,c4,X,h1,c4,c4,h1,h1,c4,c4,h1 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c4,c4,X,h1,c4,c4,c4,h1,c4,c4,c4 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c4,c4,X,h1,c4,c4,c3a,h1,c4,c4,c3a @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c4,c4,X,c4,c4,c4,si4,c4,c4,c4,si4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c4,c4,X,c4,c4,c4,o2n,c4,c4,c4,o2n @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,d*,i* + @dihedral:X,c4,c4,X,c4,c4,c4,o2h,c4,c4,c4,o2 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c4,c4,X,c4,c4,c4,o2e,c4,c4,c4,o2 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c4,c4,X,c4,c4,c4,n2z,c4,c4,c4,n2z @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2z,an2z,d*,i* + @dihedral:X,c4,c4,X,c4,c4,c4,n2=,c4,c4,c4,n2= @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c4,c4,X,c4,c4,c4,h1,c4,c4,c4,h1 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c4,c4,X,c4,c4,c4,c4,c4,c4,c4,c4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c4,c4,X,c4,c4,c4,c3a,c4,c4,c4,c3a @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c4,c4,X,c3a,c4,c4,si4,c3a,c4,c4,si4 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c4,c4,X,c3a,c4,c4,o2n,c3a,c4,c4,o2n @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2n,ao2n,d*,i* + @dihedral:X,c4,c4,X,c3a,c4,c4,o2h,c3a,c4,c4,o2 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c4,c4,X,c3a,c4,c4,o2e,c3a,c4,c4,o2 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c4,c4,X,c3a,c4,c4,n2z,c3a,c4,c4,n2z @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2z,an2z,d*,i* + @dihedral:X,c4,c4,X,c3a,c4,c4,n2=,c3a,c4,c4,n2= @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c4,c4,X,c3a,c4,c4,h1,c3a,c4,c4,h1 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c4,c4,X,c3a,c4,c4,c4,c3a,c4,c4,c4 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c4,c4,X,c3a,c4,c4,c3a,c3a,c4,c4,c3a @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c3a,c3a,X,si4,c3a,c3a,si4,si4,c3a,c3a,si4 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c3a,c3a,X,si4,c3a,c3a,p4=,si4,c3a,c3a,p4= @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,d*,i* + @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2h,si4,c3a,c3a,o2 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2e,si4,c3a,c3a,o2 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2,si4,c3a,c3a,o2 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3o,si4,c3a,c3a,n3o @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,d*,i* + @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3m,si4,c3a,c3a,n3m @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,d*,i* + @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n2=,si4,c3a,c3a,n2= @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c3a,c3a,X,si4,c3a,c3a,h1,si4,c3a,c3a,h1 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c4,si4,c3a,c3a,c4 @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3prime,si4,c3a,c3a,c3prime @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a @atom:*,p*,bsi4,asi4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,si4,p4=,c3a,c3a,si4 @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,p4=,p4=,c3a,c3a,p4= @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,d*,i* + @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2h,p4=,c3a,c3a,o2 @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2e,p4=,c3a,c3a,o2 @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2,p4=,c3a,c3a,o2 @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3o,p4=,c3a,c3a,n3o @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,d*,i* + @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3m,p4=,c3a,c3a,n3m @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,d*,i* + @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n2=,p4=,c3a,c3a,n2= @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,h1,p4=,c3a,c3a,h1 @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c4,p4=,c3a,c3a,c4 @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3prime,p4=,c3a,c3a,c3prime @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a @atom:*,p*,bp4=,ap4=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,si4,o2,c3a,c3a,si4 @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,p4=,o2,c3a,c3a,p4= @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,d*,i* + @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2h,o2,c3a,c3a,o2 @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2e,o2,c3a,c3a,o2 @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2,o2,c3a,c3a,o2 @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3o,o2,c3a,c3a,n3o @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,d*,i* + @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3m,o2,c3a,c3a,n3m @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,d*,i* + @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n2=,o2,c3a,c3a,n2= @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,h1,o2,c3a,c3a,h1 @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c4,o2,c3a,c3a,c4 @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3prime,o2,c3a,c3a,c3prime @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3a,o2,c3a,c3a,c3a @atom:*,p*,bo2h,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,si4,o2,c3a,c3a,si4 @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,p4=,o2,c3a,c3a,p4= @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,d*,i* + @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2h,o2,c3a,c3a,o2 @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2e,o2,c3a,c3a,o2 @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2,o2,c3a,c3a,o2 @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3o,o2,c3a,c3a,n3o @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,d*,i* + @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3m,o2,c3a,c3a,n3m @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,d*,i* + @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n2=,o2,c3a,c3a,n2= @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,h1,o2,c3a,c3a,h1 @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c4,o2,c3a,c3a,c4 @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3prime,o2,c3a,c3a,c3prime @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3a,o2,c3a,c3a,c3a @atom:*,p*,bo2e,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c3a,c3a,X,o2,c3a,c3a,si4,o2,c3a,c3a,si4 @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c3a,c3a,X,o2,c3a,c3a,p4=,o2,c3a,c3a,p4= @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,d*,i* + @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2h,o2,c3a,c3a,o2 @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2e,o2,c3a,c3a,o2 @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2,o2,c3a,c3a,o2 @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3o,o2,c3a,c3a,n3o @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,d*,i* + @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3m,o2,c3a,c3a,n3m @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,d*,i* + @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n2=,o2,c3a,c3a,n2= @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c3a,c3a,X,o2,c3a,c3a,h1,o2,c3a,c3a,h1 @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c4,o2,c3a,c3a,c4 @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3prime,o2,c3a,c3a,c3prime @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a @atom:*,p*,bo2,ao2,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,si4,n3o,c3a,c3a,si4 @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,p4=,n3o,c3a,c3a,p4= @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,d*,i* + @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2h,n3o,c3a,c3a,o2 @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2e,n3o,c3a,c3a,o2 @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2,n3o,c3a,c3a,o2 @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3o,n3o,c3a,c3a,n3o @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,d*,i* + @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3m,n3o,c3a,c3a,n3m @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,d*,i* + @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n2=,n3o,c3a,c3a,n2= @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,h1,n3o,c3a,c3a,h1 @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c4,n3o,c3a,c3a,c4 @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3prime,n3o,c3a,c3a,c3prime @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a @atom:*,p*,bn3o,an3o,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,si4,n3m,c3a,c3a,si4 @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,p4=,n3m,c3a,c3a,p4= @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,d*,i* + @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2h,n3m,c3a,c3a,o2 @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2e,n3m,c3a,c3a,o2 @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2,n3m,c3a,c3a,o2 @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3o,n3m,c3a,c3a,n3o @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,d*,i* + @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3m,n3m,c3a,c3a,n3m @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,d*,i* + @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n2=,n3m,c3a,c3a,n2= @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,h1,n3m,c3a,c3a,h1 @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c4,n3m,c3a,c3a,c4 @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3prime,n3m,c3a,c3a,c3prime @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a @atom:*,p*,bn3m,an3m,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,si4,n2=,c3a,c3a,si4 @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4= @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,d*,i* + @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2h,n2=,c3a,c3a,o2 @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2e,n2=,c3a,c3a,o2 @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2,n2=,c3a,c3a,o2 @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3o,n2=,c3a,c3a,n3o @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,d*,i* + @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3m,n2=,c3a,c3a,n3m @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,d*,i* + @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n2=,n2=,c3a,c3a,n2= @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,h1,n2=,c3a,c3a,h1 @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c4,n2=,c3a,c3a,c4 @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3prime,n2=,c3a,c3a,c3prime @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3a,n2=,c3a,c3a,c3a @atom:*,p*,bn2=,an2=,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c3a,c3a,X,h1,c3a,c3a,si4,h1,c3a,c3a,si4 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c3a,c3a,X,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,d*,i* + @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2,h1,c3a,c3a,o2 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,d*,i* + @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,d*,i* + @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n2=,h1,c3a,c3a,n2= @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c3a,c3a,X,h1,c3a,c3a,h1,h1,c3a,c3a,h1 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c4,h1,c3a,c3a,c4 @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3prime,h1,c3a,c3a,c3prime @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a @atom:*,p*,bh1,ah1,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c3a,c3a,X,c4,c3a,c3a,si4,c4,c3a,c3a,si4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c3a,c3a,X,c4,c3a,c3a,p4=,c4,c3a,c3a,p4= @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,d*,i* + @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2h,c4,c3a,c3a,o2 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2e,c4,c3a,c3a,o2 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2,c4,c3a,c3a,o2 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3o,c4,c3a,c3a,n3o @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,d*,i* + @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3m,c4,c3a,c3a,n3m @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,d*,i* + @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n2=,c4,c3a,c3a,n2= @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c3a,c3a,X,c4,c3a,c3a,h1,c4,c3a,c3a,h1 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c4,c4,c3a,c3a,c4 @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3prime,c4,c3a,c3a,c3prime @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a @atom:*,p*,bc4,ac4,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,si4,c3prime,c3a,c3a,si4 @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,p4=,c3prime,c3a,c3a,p4= @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,d*,i* + @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2h,c3prime,c3a,c3a,o2 @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2e,c3prime,c3a,c3a,o2 @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2,c3prime,c3a,c3a,o2 @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3o,c3prime,c3a,c3a,n3o @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,d*,i* + @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,d*,i* + @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n2=,c3prime,c3a,c3a,n2= @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c4,c3prime,c3a,c3a,c4 @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3prime,c3prime,c3a,c3a,c3prime @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a @atom:*,p*,bc3prime,ac3prime,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bsi4,asi4,d*,i* + @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bp4=,ap4=,d*,i* + @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,d*,i* + @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,d*,i* + @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,d*,i* + @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3o,an3o,d*,i* + @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn3m,an3m,d*,i* + @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n2=,c3a,c3a,c3a,n2= @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bn2=,an2=,d*,i* + @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,d*,i* + @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,d*,i* + @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3prime,ac3prime,d*,i* + @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a @atom:*,p*,bc3a,ac3a,d*,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,d*,i* + @dihedral:h1,c4,c4,h1,h1,c4,c4,h1,h1,c4,c4,h1 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c4,c4,c4,h1,c4,c4,c4,h1,c4,c4,c4,h1 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* + @dihedral:c3a,c4,c4,h1,c3a,c4,c4,h1,c3a,c4,c4,h1 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c3a,c3a,c4,c4,c3a,c3a,c4,c4,c3a,c3a,c4,c4 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc4,ac4,dc4,i* + @dihedral:c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3a,ac3a,dc3a,i* + @dihedral:c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2,h1 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,do2,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,do2,i* + @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,do2,i* + @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2,h1,c3a,c3a,o2 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,do2,i* + @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2h,ao2,do2,i* + @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2e,ao2,do2,i* + @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bo2,ao2,do2,i* + @dihedral:c3a,c3a,c4,h1,c3a,c3a,c4,h1,c3a,c3a,c4,h1 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:h1,c3a,c3a,h1,h1,c3a,c3a,h1,h1,c3a,c3a,h1 @atom:*,p*,bh1,ah1,dh1,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c4,c3a,c3a,h1,c4,c3a,c3a,h1,c4,c3a,c3a,h1 @atom:*,p*,bc4,ac4,dc4,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c3a,c3a,c3a,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bh1,ah1,dh1,i* + @dihedral:c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc4,ac4,dc4,i* + @dihedral:c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* @atom:*,p*,bc3a,ac3a,dc3a,i* + @dihedral:c3prime,n3m,c3prime,o1,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,dc3prime,i* @atom:*,p*,b*,a*,dn3m,i* @atom:*,p*,b*,a*,dc3prime,i* @atom:*,p*,b*,a*,do1,i* + @dihedral:c4,c4,n3o,o1=,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,dc4,i* @atom:*,p*,b*,a*,dc4,i* @atom:*,p*,b*,a*,dn3o,i* @atom:*,p*,b*,a*,do1=,i* + @dihedral:X,n3,p4=,X,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,d*,i* @atom:*,p*,b*,a*,dn3,i* @atom:*,p*,b*,a*,dp4=,i* @atom:*,p*,b*,a*,d*,i* + @dihedral:X,c3a,n2=,X,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,d*,i* @atom:*,p*,b*,a*,dc3a,i* @atom:*,p*,b*,a*,dn2=,i* @atom:*,p*,b*,a*,d*,i* + @dihedral:X,o2,p4=,X,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,d*,i* @atom:*,p*,b*,a*,do2,i* @atom:*,p*,b*,a*,dp4=,i* @atom:*,p*,b*,a*,d*,i* + @dihedral:h1,o2,p4=,o2,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,dh1,i* @atom:*,p*,b*,a*,do2,i* @atom:*,p*,b*,a*,dp4=,i* @atom:*,p*,b*,a*,do2,i* + @dihedral:h1,o2,p4=,n2=,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,dh1,i* @atom:*,p*,b*,a*,do2,i* @atom:*,p*,b*,a*,dp4=,i* @atom:*,p*,b*,a*,dn2=,i* + @dihedral:h1,o2,p4=,h1,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,dh1,i* @atom:*,p*,b*,a*,do2,i* @atom:*,p*,b*,a*,dp4=,i* @atom:*,p*,b*,a*,dh1,i* + @dihedral:h1,n3,p4=,o2,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,dh1,i* @atom:*,p*,b*,a*,dn3,i* @atom:*,p*,b*,a*,dp4=,i* @atom:*,p*,b*,a*,do2,i* + @dihedral:h1,n3,p4=,n2=,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,dh1,i* @atom:*,p*,b*,a*,dn3,i* @atom:*,p*,b*,a*,dp4=,i* @atom:*,p*,b*,a*,dn2=,i* + @dihedral:h1,n3,p4=,h1,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,dh1,i* @atom:*,p*,b*,a*,dn3,i* @atom:*,p*,b*,a*,dp4=,i* @atom:*,p*,b*,a*,dh1,i* + @dihedral:h1,o2z,si4,o2z,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,dh1,i* @atom:*,p*,b*,a*,do2z,i* @atom:*,p*,b*,a*,dsi4,i* @atom:*,p*,b*,a*,do2z,i* + @dihedral:h1,o2z,si4,h1,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,dh1,i* @atom:*,p*,b*,a*,do2z,i* @atom:*,p*,b*,a*,dsi4,i* @atom:*,p*,b*,a*,dh1,i* + @dihedral:c4,si4,o2z,h1,X,X,X,X,X,X,X,X @atom:*,p*,b*,a*,dc4,i* @atom:*,p*,b*,a*,dsi4,i* @atom:*,p*,b*,a*,do2z,i* @atom:*,p*,b*,a*,dh1,i* + } # end of "Data Dihedrals By Type" section + + + + # ------- Dihedral Force Field Parameters: ------- + # For an explanation of these parameters, visit: + # http://lammps.sandia.gov/doc/dihedral_class2.html + + # Syntax: + # dihedral_coeff DihedralTypeName DihedralStyle parameters... + + + write_once("In Settings") { + dihedral_coeff @dihedral:h1,si4,si4,si4,h1,si4,si4,si4,h1,si4,si4,si4 class2 0.0 0.0 0.0 0.0 0.0 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,si4,si4,h1,si4,si4,si4,h1,si4,si4,si4 class2 mbt 0.0 0.0 0.0 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,si4,si4,h1,si4,si4,si4,h1,si4,si4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4783 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,si4,si4,h1,si4,si4,si4,h1,si4,si4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.0893 114.2676 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,si4,si4,h1,si4,si4,si4,h1,si4,si4,si4 class2 aat -12.2900 112.0893 114.2676 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,si4,si4,h1,si4,si4,si4,h1,si4,si4,si4 class2 bb13 0.0 1.4783 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,c4,h1,h1,si4,c4,h1,h1,si4,c4,h1 class2 0.0 0.0 0.0 0.0 0.0 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,c4,h1,h1,si4,c4,h1,h1,si4,c4,h1 class2 mbt 0.0 0.0 0.0 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,c4,h1,h1,si4,c4,h1,h1,si4,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4783 1.1010 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,c4,h1,h1,si4,c4,h1,h1,si4,c4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.0977 112.0355 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,c4,h1,h1,si4,c4,h1,h1,si4,c4,h1 class2 aat -12.9341 112.0977 112.0355 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,c4,h1,h1,si4,c4,h1,h1,si4,c4,h1 class2 bb13 0.0 1.4783 1.1010 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,si4,c4,h1,c4,si4,c4,h1,c4,si4,c4,h1 class2 0.0 0.0 0.0 0.0 0.0 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,si4,c4,h1,c4,si4,c4,h1,c4,si4,c4,h1 class2 mbt 0.0 0.0 0.0 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,si4,c4,h1,c4,si4,c4,h1,c4,si4,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.1010 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,si4,c4,h1,c4,si4,c4,h1,c4,si4,c4,h1 class2 at 0.4272 0.0000 0.0000 0.3382 0.0000 0.0000 113.1855 112.0355 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,si4,c4,h1,c4,si4,c4,h1,c4,si4,c4,h1 class2 aat -17.5802 113.1855 112.0355 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,si4,c4,h1,c4,si4,c4,h1,c4,si4,c4,h1 class2 bb13 0.0 1.8995 1.1010 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,si4,h1,h1,si4,si4,h1,h1,si4,si4,h1 class2 0.0 0.0 0.0 0.0 0.0 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,si4,h1,h1,si4,si4,h1,h1,si4,si4,h1 class2 mbt 0.0000 0.0000 -0.6302 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,si4,h1,h1,si4,si4,h1,h1,si4,si4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4783 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,si4,h1,h1,si4,si4,h1,h1,si4,si4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.0893 112.0893 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,si4,h1,h1,si4,si4,h1,h1,si4,si4,h1 class2 aat -10.8232 112.0893 112.0893 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,si4,si4,h1,h1,si4,si4,h1,h1,si4,si4,h1 class2 bb13 0.0 1.4783 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4,h1 class2 0.0 0.0 0.0 0.0 0.0 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4,h1 class2 mbt 0.0000 0.0000 -0.6941 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 113.0000 112.0893 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4,h1 class2 aat -16.9141 113.0000 112.0893 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4,h1 class2 bb13 0.0 1.8995 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4 class2 0.0 0.0 0.0 0.0 0.0 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4 class2 mbt 0.0000 0.0000 -0.1909 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.0355 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4 class2 aat -13.3679 112.0355 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c4,si4,si4,h1,c4,si4,si4,h1,c4,si4,si4 class2 bb13 0.0 1.1010 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c4,si4,h1,h1,c4,si4,h1,h1,c4,si4,h1 class2 0.0 0.0 0.0 0.0 0.0 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c4,si4,h1,h1,c4,si4,h1,h1,c4,si4,h1 class2 mbt 0.0000 0.0000 -0.5906 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c4,si4,h1,h1,c4,si4,h1,h1,c4,si4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c4,si4,h1,h1,c4,si4,h1,h1,c4,si4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.0355 112.0977 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c4,si4,h1,h1,c4,si4,h1,h1,c4,si4,h1 class2 aat 0.0 112.0355 112.0977 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c4,si4,h1,h1,c4,si4,h1,h1,c4,si4,h1 class2 bb13 0.0 1.1010 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1 class2 0.0 0.0 0.0 0.0 0.0 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1 class2 mbt 0.0000 0.0000 -0.3146 1.8634 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1 class2 at 0.0000 0.0000 -0.2779 0.0000 0.0000 -0.1932 120.0000 109.5932 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1 class2 aat 0.0 120.0000 109.5932 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1 class2 bb13 0.0 1.4170 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4 class2 0.0 0.0 0.0 0.0 0.0 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4 class2 mbt 1.3445 3.5515 -4.9202 1.3750 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4 class2 ebt 0.1928 1.3187 0.8599 0.0004 -1.0975 0.4831 1.5140 1.4200 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4 class2 at 0.9701 -2.5169 1.7195 0.8831 -0.8203 0.2405 100.3182 109.0000 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4 class2 aat -12.2070 100.3182 109.0000 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4 class2 bb13 0.0 1.5140 1.4200 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1= class2 0.0 0.0 0.0 0.0 0.0 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1= class2 mbt -0.1118 -1.1990 0.6784 1.3850 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1= class2 ebt 0.1726 -0.4823 0.2666 -0.7019 0.8305 -0.6874 1.3850 1.2160 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1= class2 at -0.3188 -0.0548 -0.3038 -0.2851 2.3997 -1.5747 121.9556 121.5420 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1= class2 aat -3.3556 121.9556 121.5420 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1=,c3prime,n3m,c3prime,o1= class2 bb13 0.0 1.3850 1.2160 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,si4,si4,si4,si4,si4 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,si4,si4,si4,si4,si4 class2 mbt 0.0 0.0 0.0 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,si4,si4,si4,si4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 2.3384 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,si4,si4,si4,si4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 114.2676 114.2676 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,si4,si4,si4,si4,si4 class2 aat 0.0 114.2676 114.2676 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,si4,si4,si4,si4,si4 class2 bb13 0.0 2.3384 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,h1,si4,si4,si4,h1 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,h1,si4,si4,si4,h1 class2 mbt 0.0 0.0 0.0 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,h1,si4,si4,si4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 2.3384 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,h1,si4,si4,si4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 114.2676 112.0893 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,h1,si4,si4,si4,h1 class2 aat 0.0 114.2676 112.0893 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,h1,si4,si4,si4,h1 class2 bb13 0.0 2.3384 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,c4,si4,si4,si4,c4 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,c4,si4,si4,si4,c4 class2 mbt 0.0 0.0 0.0 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,c4,si4,si4,si4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 2.3384 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,c4,si4,si4,si4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 114.2676 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,c4,si4,si4,si4,c4 class2 aat 0.0 114.2676 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,si4,si4,si4,c4,si4,si4,si4,c4 class2 bb13 0.0 2.3384 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,si4,h1,si4,si4,si4 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,si4,h1,si4,si4,si4 class2 mbt 0.0 0.0 0.0 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,si4,h1,si4,si4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4783 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,si4,h1,si4,si4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.0893 114.2676 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,si4,h1,si4,si4,si4 class2 aat 0.0 112.0893 114.2676 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,si4,h1,si4,si4,si4 class2 bb13 0.0 1.4783 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,h1,h1,si4,si4,h1 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,h1,h1,si4,si4,h1 class2 mbt 0.0 0.0 0.0 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,h1,h1,si4,si4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4783 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,h1,h1,si4,si4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.0893 112.0893 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,h1,h1,si4,si4,h1 class2 aat 0.0 112.0893 112.0893 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,h1,h1,si4,si4,h1 class2 bb13 0.0 1.4783 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,c4,h1,si4,si4,c4 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,c4,h1,si4,si4,c4 class2 mbt 0.0 0.0 0.0 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,c4,h1,si4,si4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4783 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,c4,h1,si4,si4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.0893 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,c4,h1,si4,si4,c4 class2 aat 0.0 112.0893 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,h1,si4,si4,c4,h1,si4,si4,c4 class2 bb13 0.0 1.4783 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,si4,c4,si4,si4,si4 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,si4,c4,si4,si4,si4 class2 mbt 0.0 0.0 0.0 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,si4,c4,si4,si4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,si4,c4,si4,si4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 113.0000 114.2676 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,si4,c4,si4,si4,si4 class2 aat 0.0 113.0000 114.2676 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,si4,c4,si4,si4,si4 class2 bb13 0.0 1.8995 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,h1,c4,si4,si4,h1 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,h1,c4,si4,si4,h1 class2 mbt 0.0 0.0 0.0 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,h1,c4,si4,si4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,h1,c4,si4,si4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 113.0000 112.0893 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,h1,c4,si4,si4,h1 class2 aat 0.0 113.0000 112.0893 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,h1,c4,si4,si4,h1 class2 bb13 0.0 1.8995 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,c4,c4,si4,si4,c4 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,c4,c4,si4,si4,c4 class2 mbt 0.0 0.0 0.0 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,c4,c4,si4,si4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,c4,c4,si4,si4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 113.0000 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,c4,c4,si4,si4,c4 class2 aat 0.0 113.0000 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,si4,X,c4,si4,si4,c4,c4,si4,si4,c4 class2 bb13 0.0 1.8995 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,si4,h1,c4,si4,si4 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,si4,h1,c4,si4,si4 class2 mbt 0.0 0.0 0.0 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,si4,h1,c4,si4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,si4,h1,c4,si4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.0355 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,si4,h1,c4,si4,si4 class2 aat 0.0 112.0355 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,si4,h1,c4,si4,si4 class2 bb13 0.0 1.1010 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,o2z,h1,c4,si4,o2z class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,o2z,h1,c4,si4,o2z class2 mbt 0.0 0.0 0.0 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,o2z,h1,c4,si4,o2z class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.6400 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,o2z,h1,c4,si4,o2z class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.0355 114.9060 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,o2z,h1,c4,si4,o2z class2 aat 0.0 112.0355 114.9060 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,o2z,h1,c4,si4,o2z class2 bb13 0.0 1.1010 1.6400 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,h1,h1,c4,si4,h1 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,h1,h1,c4,si4,h1 class2 mbt 0.0 0.0 0.0 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,h1,h1,c4,si4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,h1,h1,c4,si4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.0355 112.0977 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,h1,h1,c4,si4,h1 class2 aat 0.0 112.0355 112.0977 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,h1,h1,c4,si4,h1 class2 bb13 0.0 1.1010 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,c4,h1,c4,si4,c4 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,c4,h1,c4,si4,c4 class2 mbt 0.0 0.0 0.0 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,c4,h1,c4,si4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,c4,h1,c4,si4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.0355 113.1855 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,c4,h1,c4,si4,c4 class2 aat 0.0 112.0355 113.1855 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,h1,c4,si4,c4,h1,c4,si4,c4 class2 bb13 0.0 1.1010 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,si4,c4,c4,si4,si4 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,si4,c4,c4,si4,si4 class2 mbt 0.0 0.0 0.0 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,si4,c4,c4,si4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,si4,c4,c4,si4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,si4,c4,c4,si4,si4 class2 aat 0.0 112.6700 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,si4,c4,c4,si4,si4 class2 bb13 0.0 1.5300 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,o2z,c4,c4,si4,o2z class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,o2z,c4,c4,si4,o2z class2 mbt 0.0 0.0 0.0 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,o2z,c4,c4,si4,o2z class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.6400 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,o2z,c4,c4,si4,o2z class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 114.9060 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,o2z,c4,c4,si4,o2z class2 aat 0.0 112.6700 114.9060 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,o2z,c4,c4,si4,o2z class2 bb13 0.0 1.5300 1.6400 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,h1,c4,c4,si4,h1 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,h1,c4,c4,si4,h1 class2 mbt 0.0 0.0 0.0 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,h1,c4,c4,si4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,h1,c4,c4,si4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 112.0977 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,h1,c4,c4,si4,h1 class2 aat 0.0 112.6700 112.0977 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,h1,c4,c4,si4,h1 class2 bb13 0.0 1.5300 1.4783 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,c4,c4,c4,si4,c4 class2 0.0000 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,c4,c4,c4,si4,c4 class2 mbt 0.0 0.0 0.0 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,c4,c4,c4,si4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,c4,c4,c4,si4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 113.1855 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,c4,c4,c4,si4,c4 class2 aat 0.0 112.6700 113.1855 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,c4,si4,X,c4,c4,si4,c4,c4,c4,si4,c4 class2 bb13 0.0 1.5300 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,c4,si4,si4,c4,c4,si4,si4,c4,c4,si4,si4 class2 -0.3500 0.0 0.0000 0.0 -0.0657 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,c4,si4,si4,c4,c4,si4,si4,c4,c4,si4,si4 class2 mbt 0.0 0.0 0.0 1.8995 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,c4,si4,si4,c4,c4,si4,si4,c4,c4,si4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,c4,si4,si4,c4,c4,si4,si4,c4,c4,si4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,c4,si4,si4,c4,c4,si4,si4,c4,c4,si4,si4 class2 aat 0.0 112.6700 113.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c4,c4,si4,si4,c4,c4,si4,si4,c4,c4,si4,si4 class2 bb13 0.0 1.5300 2.3384 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,c3a,c3a,o2z,si4,c3a,c3a,o2z,si4,c3a,c3a class2 0.0000 0.0 0.0000 0.0 -0.0231 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,c3a,c3a,o2z,si4,c3a,c3a,o2z,si4,c3a,c3a class2 mbt 0.0 0.0 0.0 1.8634 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,c3a,c3a,o2z,si4,c3a,c3a,o2z,si4,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.6400 1.4170 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,c3a,c3a,o2z,si4,c3a,c3a,o2z,si4,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 114.9060 120.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,c3a,c3a,o2z,si4,c3a,c3a,o2z,si4,c3a,c3a class2 aat 0.0 114.9060 120.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,c3a,c3a,o2z,si4,c3a,c3a,o2z,si4,c3a,c3a class2 bb13 0.0 1.6400 1.4170 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,c3a,c3a,h1,si4,c3a,c3a,h1,si4,c3a,c3a class2 0.0000 0.0 0.0000 0.0 -0.0231 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,c3a,c3a,h1,si4,c3a,c3a,h1,si4,c3a,c3a class2 mbt 0.0 0.0 0.0 1.8634 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,c3a,c3a,h1,si4,c3a,c3a,h1,si4,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4783 1.4170 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,c3a,c3a,h1,si4,c3a,c3a,h1,si4,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 109.5932 120.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,c3a,c3a,h1,si4,c3a,c3a,h1,si4,c3a,c3a class2 aat 0.0 109.5932 120.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:X,si4,c3a,c3a,h1,si4,c3a,c3a,h1,si4,c3a,c3a class2 bb13 0.0 1.4783 1.4170 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4 class2 0.0000 0.0 1.5093 0.0 0.0000 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4 class2 mbt 0.0000 6.2168 0.0000 1.4170 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.8634 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4 class2 at 0.0000 4.5914 0.0000 0.0000 1.1079 0.0000 117.9400 120.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4 class2 aat 0.0 117.9400 120.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c3a,c3a,si4,h1,c3a,c3a,si4,h1,c3a,c3a,si4 class2 bb13 0.0 1.0982 1.8634 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c3a,c3a,c3a,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 0.0000 0.0 4.3270 0.0 0.0000 0.0 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c3a,c3a,c3a,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 mbt 0.0000 11.1576 0.0000 1.4170 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c3a,c3a,c3a,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.8634 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c3a,c3a,c3a,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 at 0.0000 -5.5448 0.0000 0.0000 4.3281 0.0000 118.9000 120.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c3a,c3a,c3a,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 aat 0.0 118.9000 120.0000 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:c3a,c3a,c3a,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 bb13 0.0 1.4170 1.8634 # (ver=1.0, ref=10) + dihedral_coeff @dihedral:h1,c4,c4,n2z,h1,c4,c4,n2z,h1,c4,c4,n2z class2 0.0000 0.0 0.0000 0.0 -0.2259 0.0 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,c4,c4,n2z,h1,c4,c4,n2z,h1,c4,c4,n2z class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,c4,c4,n2z,h1,c4,c4,n2z,h1,c4,c4,n2z class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.4814 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,c4,c4,n2z,h1,c4,c4,n2z,h1,c4,c4,n2z class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.7700 110.9900 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,c4,c4,n2z,h1,c4,c4,n2z,h1,c4,c4,n2z class2 aat 0.0 110.7700 110.9900 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,c4,c4,n2z,h1,c4,c4,n2z,h1,c4,c4,n2z class2 bb13 0.0 1.1010 1.4814 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:c4,c4,n2z,n2t,c4,c4,n2z,n2t,c4,c4,n2z,n2t class2 0.0000 0.0 0.0000 0.0 -0.2021 0.0 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:c4,c4,n2z,n2t,c4,c4,n2z,n2t,c4,c4,n2z,n2t class2 mbt 0.0 0.0 0.0 1.4814 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:c4,c4,n2z,n2t,c4,c4,n2z,n2t,c4,c4,n2z,n2t class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.2343 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:c4,c4,n2z,n2t,c4,c4,n2z,n2t,c4,c4,n2z,n2t class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.9900 113.5017 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:c4,c4,n2z,n2t,c4,c4,n2z,n2t,c4,c4,n2z,n2t class2 aat 0.0 110.9900 113.5017 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:c4,c4,n2z,n2t,c4,c4,n2z,n2t,c4,c4,n2z,n2t class2 bb13 0.0 1.5300 1.2343 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,c4,n2z,n2t,h1,c4,n2z,n2t,h1,c4,n2z,n2t class2 0.0000 0.0 0.0000 0.0 -0.2181 0.0 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,c4,n2z,n2t,h1,c4,n2z,n2t,h1,c4,n2z,n2t class2 mbt 0.0 0.0 0.0 1.4814 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,c4,n2z,n2t,h1,c4,n2z,n2t,h1,c4,n2z,n2t class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.2343 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,c4,n2z,n2t,h1,c4,n2z,n2t,h1,c4,n2z,n2t class2 at 0.0 0.0 0.0 0.0 0.0 0.0 107.9744 113.5017 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,c4,n2z,n2t,h1,c4,n2z,n2t,h1,c4,n2z,n2t class2 aat 0.0 107.9744 113.5017 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,c4,n2z,n2t,h1,c4,n2z,n2t,h1,c4,n2z,n2t class2 bb13 0.0 1.1010 1.2343 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:c4,n2z,n2t,n1t,c4,n2z,n2t,n1t,c4,n2z,n2t,n1t class2 0.0000 0.0 0.0000 0.0 -0.1823 0.0 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:c4,n2z,n2t,n1t,c4,n2z,n2t,n1t,c4,n2z,n2t,n1t class2 mbt 0.0 0.0 0.0 1.2343 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:c4,n2z,n2t,n1t,c4,n2z,n2t,n1t,c4,n2z,n2t,n1t class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4814 1.1354 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:c4,n2z,n2t,n1t,c4,n2z,n2t,n1t,c4,n2z,n2t,n1t class2 at 0.0 0.0 0.0 0.0 0.0 0.0 113.5017 171.6211 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:c4,n2z,n2t,n1t,c4,n2z,n2t,n1t,c4,n2z,n2t,n1t class2 aat 0.0 113.5017 171.6211 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:c4,n2z,n2t,n1t,c4,n2z,n2t,n1t,c4,n2z,n2t,n1t class2 bb13 0.0 1.4814 1.1354 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,n2z,n2t,n1t,h1,n2z,n2t,n1t,h1,n2z,n2t,n1t class2 0.0000 0.0 0.0000 0.0 -0.2637 0.0 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,n2z,n2t,n1t,h1,n2z,n2t,n1t,h1,n2z,n2t,n1t class2 mbt 0.0 0.0 0.0 1.2343 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,n2z,n2t,n1t,h1,n2z,n2t,n1t,h1,n2z,n2t,n1t class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0221 1.1354 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,n2z,n2t,n1t,h1,n2z,n2t,n1t,h1,n2z,n2t,n1t class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.0345 171.6211 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,n2z,n2t,n1t,h1,n2z,n2t,n1t,h1,n2z,n2t,n1t class2 aat 0.0 110.0345 171.6211 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,n2z,n2t,n1t,h1,n2z,n2t,n1t,h1,n2z,n2t,n1t class2 bb13 0.0 1.0221 1.1354 # (ver=1.0, ref=9) + dihedral_coeff @dihedral:h1,c3a,c3a,n3m,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m class2 0.0000 0.0 3.4040 0.0 0.0000 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c3a,c3a,n3m,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m class2 mbt 0.0000 5.2012 0.0000 1.4170 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c3a,c3a,n3m,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.3950 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c3a,c3a,n3m,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 120.7640 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c3a,c3a,n3m,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m class2 aat 0.0 117.9400 120.7640 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c3a,c3a,n3m,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m class2 bb13 0.0 1.0982 1.3950 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c4,c3prime,o2,h1,c4,c3prime,o2e,h1,c4,c3prime,o2 class2 0.0000 0.0 0.0000 0.0 0.0000 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c4,c3prime,o2,h1,c4,c3prime,o2e,h1,c4,c3prime,o2 class2 mbt -13.7686 -2.5959 1.1934 1.5140 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c4,c3prime,o2,h1,c4,c3prime,o2e,h1,c4,c3prime,o2 class2 ebt 0.7800 1.3339 0.3268 0.4160 -0.1140 0.7099 1.1010 1.3750 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c4,c3prime,o2,h1,c4,c3prime,o2e,h1,c4,c3prime,o2 class2 at -0.0071 0.8005 13.2959 0.1212 1.4427 -0.0241 107.8594 100.3182 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c4,c3prime,o2,h1,c4,c3prime,o2e,h1,c4,c3prime,o2 class2 aat -13.9734 107.8594 100.3182 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c4,c3prime,o2,h1,c4,c3prime,o2e,h1,c4,c3prime,o2 class2 bb13 0.0 1.1010 1.3750 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c4,c3prime,o1=,h1,c4,c3prime,o1=,h1,c4,c3prime,o1= class2 0.0000 0.0 0.0000 0.0 0.0000 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c4,c3prime,o1=,h1,c4,c3prime,o1=,h1,c4,c3prime,o1= class2 mbt 0.0000 0.0000 -1.0000 1.5140 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c4,c3prime,o1=,h1,c4,c3prime,o1=,h1,c4,c3prime,o1= class2 ebt 2.9036 0.5307 0.1439 0.0536 0.0354 0.3853 1.1010 1.2160 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c4,c3prime,o1=,h1,c4,c3prime,o1=,h1,c4,c3prime,o1= class2 at 0.0800 0.3339 14.4728 -0.2083 0.7308 -2.0667 107.8594 119.3000 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c4,c3prime,o1=,h1,c4,c3prime,o1=,h1,c4,c3prime,o1= class2 aat -23.1923 107.8594 119.3000 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:h1,c4,c3prime,o1=,h1,c4,c3prime,o1=,h1,c4,c3prime,o1= class2 bb13 0.0 1.1010 1.2160 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,o2,c3prime,o1=,c4,o2e,c3prime,o1=,c4,o2,c3prime,o1= class2 0.8905 0.0 3.2644 0.0 0.2646 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,o2,c3prime,o1=,c4,o2e,c3prime,o1=,c4,o2,c3prime,o1= class2 mbt 0.4552 7.3091 0.2842 1.3750 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,o2,c3prime,o1=,c4,o2e,c3prime,o1=,c4,o2,c3prime,o1= class2 ebt 0.0882 -2.4309 -0.7426 -4.2421 10.1102 1.6824 1.4200 1.2160 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,o2,c3prime,o1=,c4,o2e,c3prime,o1=,c4,o2,c3prime,o1= class2 at -0.0327 1.0059 2.3573 1.9052 2.7261 5.9732 109.0000 118.9855 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,o2,c3prime,o1=,c4,o2e,c3prime,o1=,c4,o2,c3prime,o1= class2 aat -32.9368 109.0000 118.9855 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,o2,c3prime,o1=,c4,o2e,c3prime,o1=,c4,o2,c3prime,o1= class2 bb13 0.0 1.4200 1.2160 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,o2,c3prime,c4,c4,o2e,c3prime,c4,c4,o2,c3prime,c4 class2 -2.5594 0.0 2.2013 0.0 0.0325 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,o2,c3prime,c4,c4,o2e,c3prime,c4,c4,o2,c3prime,c4 class2 mbt 0.0 0.0 0.0 1.3750 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,o2,c3prime,c4,c4,o2e,c3prime,c4,c4,o2,c3prime,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.5140 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,o2,c3prime,c4,c4,o2e,c3prime,c4,c4,o2,c3prime,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 109.0000 100.3182 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,o2,c3prime,c4,c4,o2e,c3prime,c4,c4,o2,c3prime,c4 class2 aat 0.0 109.0000 100.3182 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,o2,c3prime,c4,c4,o2e,c3prime,c4,c4,o2,c3prime,c4 class2 bb13 0.0 1.4200 1.5140 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1= class2 0.0000 0.0 2.0521 0.0 0.0000 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1= class2 mbt 0.0 0.0 0.0 1.3850 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3950 1.2160 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0700 121.5420 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1= class2 aat 0.0 120.0700 121.5420 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1=,c3a,n3m,c3prime,o1= class2 bb13 0.0 1.3950 1.2160 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 0.0000 0.0 3.4040 0.0 0.0000 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 mbt 0.0000 5.2012 0.0000 1.4170 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.3950 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 120.7640 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 aat 0.0 118.9000 120.7640 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 bb13 0.0 1.4170 1.3950 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1= class2 0.0000 0.0 0.7800 0.0 0.0000 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1= class2 mbt 0.0000 2.4002 0.0000 1.4890 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.2160 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 125.5320 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1= class2 aat 0.0 116.0640 125.5320 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1=,c3a,c3a,c3prime,o1= class2 bb13 0.0 1.4170 1.2160 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,o2,c4,h1,c3prime,o2e,c4,h1,c3prime,o2,c4,h1 class2 0.9513 0.0 0.1155 0.0 0.0000 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,o2,c4,h1,c3prime,o2e,c4,h1,c3prime,o2,c4,h1 class2 mbt 7.7147 4.2557 -1.0118 1.4200 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,o2,c4,h1,c3prime,o2e,c4,h1,c3prime,o2,c4,h1 class2 ebt 0.2282 2.2998 -0.4473 0.9589 0.9190 -0.6015 1.3750 1.1010 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,o2,c4,h1,c3prime,o2e,c4,h1,c3prime,o2,c4,h1 class2 at 0.0971 -0.8699 -0.3142 -0.0401 2.8061 -0.4990 109.0000 108.7280 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,o2,c4,h1,c3prime,o2e,c4,h1,c3prime,o2,c4,h1 class2 aat -13.1500 109.0000 108.7280 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,o2,c4,h1,c3prime,o2e,c4,h1,c3prime,o2,c4,h1 class2 bb13 0.0 1.3750 1.1010 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4,c4 class2 0.1302 0.0 -0.3250 0.0 0.1134 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4,c4 class2 mbt 9.9416 2.6421 2.2333 1.4200 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4,c4 class2 ebt 0.2560 0.8133 -0.0728 -1.2164 -0.1715 -0.0964 1.3750 1.5300 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4,c4 class2 at 0.7229 -0.9159 -0.0890 -0.6765 1.4492 -0.4620 109.0000 111.2700 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4,c4 class2 aat -15.7082 109.0000 111.2700 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,o2,c4,c4,c3prime,o2e,c4,c4,c3prime,o2,c4,c4 class2 bb13 0.0 1.3750 1.5300 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime class2 0.0000 0.0 0.6500 0.0 0.0000 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime class2 mbt 0.0 0.0 0.0 1.3950 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.3850 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.7640 120.0700 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime class2 aat 0.0 120.7640 120.0700 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m,c3prime class2 bb13 0.0 1.4170 1.3850 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 class2 0.0000 0.0 2.1670 0.0 0.0000 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4890 1.0982 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 117.9400 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 class2 aat 0.0 116.0640 117.9400 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 class2 bb13 0.0 1.4890 1.0982 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 0.0000 0.0 4.6282 0.0 0.0000 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 mbt 0.0000 3.8762 0.0000 1.4170 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.4890 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 116.0640 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 aat 0.0 118.9000 116.0640 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 bb13 0.0 1.4170 1.4890 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,o2,n3o,o1=,c4,o2n,n3o,o1=,c4,o2n,n3o,o1= class2 0.0000 0.0 2.0000 0.0 0.0000 0.0 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,o2,n3o,o1=,c4,o2n,n3o,o1=,c4,o2n,n3o,o1= class2 mbt 0.0 0.0 0.0 1.4020 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,o2,n3o,o1=,c4,o2n,n3o,o1=,c4,o2n,n3o,o1= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4350 1.2100 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,o2,n3o,o1=,c4,o2n,n3o,o1=,c4,o2n,n3o,o1= class2 at 0.0000 0.0000 0.0000 0.0000 0.0000 -3.0000 108.5000 112.8000 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,o2,n3o,o1=,c4,o2n,n3o,o1=,c4,o2n,n3o,o1= class2 aat 0.0 108.5000 112.8000 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,o2,n3o,o1=,c4,o2n,n3o,o1=,c4,o2n,n3o,o1= class2 bb13 0.0 1.4350 1.2100 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,c4,o2,n3o,c4,c4,o2n,n3o,c4,c4,o2n,n3o class2 0.0000 0.0 -0.4000 0.0 -0.2000 0.0 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,c4,o2,n3o,c4,c4,o2n,n3o,c4,c4,o2n,n3o class2 mbt 0.0 0.0 0.0 1.4350 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,c4,o2,n3o,c4,c4,o2n,n3o,c4,c4,o2n,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.4020 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,c4,o2,n3o,c4,c4,o2n,n3o,c4,c4,o2n,n3o class2 at 0.0 0.0 0.0 0.0 0.0 0.0 105.0000 108.5000 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,c4,o2,n3o,c4,c4,o2n,n3o,c4,c4,o2n,n3o class2 aat 0.0 105.0000 108.5000 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,c4,o2,n3o,c4,c4,o2n,n3o,c4,c4,o2n,n3o class2 bb13 0.0 1.5300 1.4020 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:h1,c4,n3o,o1=,h1,c4,n3o,o1=,h1,c4,n3o,o1= class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:h1,c4,n3o,o1=,h1,c4,n3o,o1=,h1,c4,n3o,o1= class2 mbt 0.0 0.0 0.0 1.4740 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:h1,c4,n3o,o1=,h1,c4,n3o,o1=,h1,c4,n3o,o1= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.2100 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:h1,c4,n3o,o1=,h1,c4,n3o,o1=,h1,c4,n3o,o1= class2 at 0.0000 -0.3086 0.0000 0.0000 1.0352 0.0000 107.0000 117.5000 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:h1,c4,n3o,o1=,h1,c4,n3o,o1=,h1,c4,n3o,o1= class2 aat -16.2615 107.0000 117.5000 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:h1,c4,n3o,o1=,h1,c4,n3o,o1=,h1,c4,n3o,o1= class2 bb13 0.0 1.1010 1.2100 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1= class2 0.0000 0.0 1.1600 0.0 0.0000 0.0 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1= class2 mbt 0.0 0.0 0.0 1.4300 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.2100 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1= class2 at 0.0000 0.0000 0.0000 0.0000 -3.4207 0.0000 118.8000 117.7000 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1= class2 aat -18.0436 118.8000 117.7000 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1=,c3a,c3a,n3o,o1= class2 bb13 0.0 1.4170 1.2100 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:h1,c3a,c3a,n3o,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o class2 0.0000 0.0 2.9126 0.0 0.0000 0.0 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:h1,c3a,c3a,n3o,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:h1,c3a,c3a,n3o,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.4300 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:h1,c3a,c3a,n3o,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o class2 at 0.0000 -8.0369 0.0000 0.0000 0.0000 0.0000 117.9400 118.8000 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:h1,c3a,c3a,n3o,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o class2 aat 2.1508 117.9400 118.8000 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:h1,c3a,c3a,n3o,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o class2 bb13 0.0 1.0982 1.4300 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 0.0000 0.0 7.2124 0.0 0.0000 0.0 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.4300 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 at 0.0000 7.7594 0.0000 0.0000 0.0000 0.0000 118.9000 118.8000 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 aat -34.9681 118.9000 118.8000 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 bb13 0.0 1.4170 1.4300 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,o2,p4=,n2=,p4=,o2 class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,o2,p4=,n2=,p4=,o2 class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,o2,p4=,n2=,p4=,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5980 1.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,o2,p4=,n2=,p4=,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 135.0000 112.2150 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,o2,p4=,n2=,p4=,o2 class2 aat 0.0 135.0000 112.2150 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,o2,p4=,n2=,p4=,o2 class2 bb13 0.0 1.5980 1.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2= class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2= class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5980 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 135.0000 125.0000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2= class2 aat 0.0 135.0000 125.0000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2= class2 bb13 0.0 1.5980 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1 class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1 class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5980 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 135.0000 110.0330 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1 class2 aat 0.0 135.0000 110.0330 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1 class2 bb13 0.0 1.5980 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c4,p4=,n2=,p4=,c4 class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c4,p4=,n2=,p4=,c4 class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c4,p4=,n2=,p4=,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5980 1.8000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c4,p4=,n2=,p4=,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 135.0000 119.3000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c4,p4=,n2=,p4=,c4 class2 aat 0.0 135.0000 119.3000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c4,p4=,n2=,p4=,c4 class2 bb13 0.0 1.5980 1.8000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c3a,p4=,n2=,p4=,c3a class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c3a,p4=,n2=,p4=,c3a class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c3a,p4=,n2=,p4=,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5980 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c3a,p4=,n2=,p4=,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 135.0000 109.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c3a,p4=,n2=,p4=,c3a class2 aat 0.0 135.0000 109.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,p4=,n2=,p4=,c3a,p4=,n2=,p4=,c3a class2 bb13 0.0 1.5980 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,o2,h1,n2=,p4=,o2 class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,o2,h1,n2=,p4=,o2 class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,o2,h1,n2=,p4=,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0310 1.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,o2,h1,n2=,p4=,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 112.2150 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,o2,h1,n2=,p4=,o2 class2 aat 0.0 120.0000 112.2150 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,o2,h1,n2=,p4=,o2 class2 bb13 0.0 1.0310 1.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,n2=,h1,n2=,p4=,n2= class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,n2=,h1,n2=,p4=,n2= class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,n2=,h1,n2=,p4=,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0310 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,n2=,h1,n2=,p4=,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 125.0000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,n2=,h1,n2=,p4=,n2= class2 aat 0.0 120.0000 125.0000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,n2=,h1,n2=,p4=,n2= class2 bb13 0.0 1.0310 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,h1,h1,n2=,p4=,h1 class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,h1,h1,n2=,p4=,h1 class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,h1,h1,n2=,p4=,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0310 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,h1,h1,n2=,p4=,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 110.0330 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,h1,h1,n2=,p4=,h1 class2 aat 0.0 120.0000 110.0330 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,h1,h1,n2=,p4=,h1 class2 bb13 0.0 1.0310 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c4,h1,n2=,p4=,c4 class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c4,h1,n2=,p4=,c4 class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c4,h1,n2=,p4=,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0310 1.8000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c4,h1,n2=,p4=,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 119.3000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c4,h1,n2=,p4=,c4 class2 aat 0.0 120.0000 119.3000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c4,h1,n2=,p4=,c4 class2 bb13 0.0 1.0310 1.8000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c3a,h1,n2=,p4=,c3a class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c3a,h1,n2=,p4=,c3a class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c3a,h1,n2=,p4=,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0310 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c3a,h1,n2=,p4=,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 109.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c3a,h1,n2=,p4=,c3a class2 aat 0.0 120.0000 109.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n2=,p4=,X,h1,n2=,p4=,c3a,h1,n2=,p4=,c3a class2 bb13 0.0 1.0310 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,n2=,h1,c4,p4=,n2= class2 0.0000 0.0 0.0000 0.0 -0.0680 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,n2=,h1,c4,p4=,n2= class2 mbt 0.0 0.0 0.0 1.8000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,n2=,h1,c4,p4=,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,n2=,h1,c4,p4=,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.8860 119.3000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,n2=,h1,c4,p4=,n2= class2 aat 0.0 110.8860 119.3000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,n2=,h1,c4,p4=,n2= class2 bb13 0.0 1.1010 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,h1,h1,c4,p4=,h1 class2 0.0000 0.0 0.0000 0.0 -0.0680 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,h1,h1,c4,p4=,h1 class2 mbt 0.0 0.0 0.0 1.8000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,h1,h1,c4,p4=,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,h1,h1,c4,p4=,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.8860 102.9000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,h1,h1,c4,p4=,h1 class2 aat 0.0 110.8860 102.9000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,h1,h1,c4,p4=,h1 class2 bb13 0.0 1.1010 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,c4,h1,c4,p4=,c4 class2 0.0000 0.0 0.0000 0.0 -0.0680 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,c4,h1,c4,p4=,c4 class2 mbt 0.0 0.0 0.0 1.8000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,c4,h1,c4,p4=,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.8000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,c4,h1,c4,p4=,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.8860 102.5000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,c4,h1,c4,p4=,c4 class2 aat 0.0 110.8860 102.5000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,p4=,X,h1,c4,p4=,c4,h1,c4,p4=,c4 class2 bb13 0.0 1.1010 1.8000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,n2=,X,h1,c4,n2=,h1,h1,c4,n2=,h1 class2 0.0000 0.0 0.0000 0.0 -0.0200 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,n2=,X,h1,c4,n2=,h1,h1,c4,n2=,h1 class2 mbt 0.0 0.0 0.0 1.4740 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,n2=,X,h1,c4,n2=,h1,h1,c4,n2=,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.0310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,n2=,X,h1,c4,n2=,h1,h1,c4,n2=,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 107.4990 117.2000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,n2=,X,h1,c4,n2=,h1,h1,c4,n2=,h1 class2 aat 0.0 107.4990 117.2000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,n2=,X,h1,c4,n2=,h1,h1,c4,n2=,h1 class2 bb13 0.0 1.1010 1.0310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,n2=,X,c4,c4,n2=,h1,c4,c4,n2=,h1 class2 0.0000 0.0 0.0000 0.0 -0.0200 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,n2=,X,c4,c4,n2=,h1,c4,c4,n2=,h1 class2 mbt 0.0 0.0 0.0 1.4740 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,n2=,X,c4,c4,n2=,h1,c4,c4,n2=,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.0310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,n2=,X,c4,c4,n2=,h1,c4,c4,n2=,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.3170 117.2000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,n2=,X,c4,c4,n2=,h1,c4,c4,n2=,h1 class2 aat 0.0 117.3170 117.2000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c4,n2=,X,c4,c4,n2=,h1,c4,c4,n2=,h1 class2 bb13 0.0 1.5300 1.0310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,o2,c3a,c3a,p4=,o2 class2 -0.2720 0.0 1.1900 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,o2,c3a,c3a,p4=,o2 class2 mbt 0.0 0.0 0.0 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,o2,c3a,c3a,p4=,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,o2,c3a,c3a,p4=,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 107.3650 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,o2,c3a,c3a,p4=,o2 class2 aat 0.0 120.0010 107.3650 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,o2,c3a,c3a,p4=,o2 class2 bb13 0.0 1.4170 1.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= class2 -0.2720 0.0 1.1900 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= class2 mbt 0.0 0.0 0.0 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 109.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= class2 aat 0.0 120.0010 109.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= class2 bb13 0.0 1.4170 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 class2 -0.2720 0.0 1.1900 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 class2 mbt 0.0 0.0 0.0 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 108.2310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 class2 aat 0.0 120.0010 108.2310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 class2 bb13 0.0 1.4170 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a class2 -0.2720 0.0 1.1900 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a class2 mbt 0.0 0.0 0.0 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 110.2310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a class2 aat 0.0 120.0010 110.2310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,p4=,X,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a class2 bb13 0.0 1.4170 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4= class2 1.8000 0.0 0.5000 0.0 2.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4= class2 mbt 0.0000 0.0000 0.0000 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5980 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 125.0000 135.0000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4= class2 aat 0.0 125.0000 135.0000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4=,n2=,p4= class2 bb13 0.0 1.5980 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1,p4=,n2=,p4= class2 0.0000 0.0 0.0000 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1,p4=,n2=,p4= class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1,p4=,n2=,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4300 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1,p4=,n2=,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.0330 135.0000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1,p4=,n2=,p4= class2 aat 0.0 110.0330 135.0000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,p4=,n2=,p4=,h1,p4=,n2=,p4=,h1,p4=,n2=,p4= class2 bb13 0.0 1.4300 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n2=,p4=,o2,h1,n2=,p4=,o2,h1,n2=,p4=,o2 class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n2=,p4=,o2,h1,n2=,p4=,o2,h1,n2=,p4=,o2 class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n2=,p4=,o2,h1,n2=,p4=,o2,h1,n2=,p4=,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0310 1.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n2=,p4=,o2,h1,n2=,p4=,o2,h1,n2=,p4=,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 112.2150 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n2=,p4=,o2,h1,n2=,p4=,o2,h1,n2=,p4=,o2 class2 aat 0.0 120.0000 112.2150 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n2=,p4=,o2,h1,n2=,p4=,o2,h1,n2=,p4=,o2 class2 bb13 0.0 1.0310 1.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n2=,p4=,h1,h1,n2=,p4=,h1,h1,n2=,p4=,h1 class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n2=,p4=,h1,h1,n2=,p4=,h1,h1,n2=,p4=,h1 class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n2=,p4=,h1,h1,n2=,p4=,h1,h1,n2=,p4=,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0310 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n2=,p4=,h1,h1,n2=,p4=,h1,h1,n2=,p4=,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 110.0330 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n2=,p4=,h1,h1,n2=,p4=,h1,h1,n2=,p4=,h1 class2 aat -3.7880 120.0000 110.0330 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n2=,p4=,h1,h1,n2=,p4=,h1,h1,n2=,p4=,h1 class2 bb13 0.0 1.0310 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1 class2 0.0000 0.0 0.0000 0.0 -0.3690 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1 class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8000 1.0310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 119.3000 120.0000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1 class2 aat -11.1020 119.3000 120.0000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1 class2 bb13 0.0 1.8000 1.0310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,p4=,n2=,h1,c3a,p4=,n2=,h1,c3a,p4=,n2=,h1 class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,p4=,n2=,h1,c3a,p4=,n2=,h1,c3a,p4=,n2=,h1 class2 mbt 0.0 0.0 0.0 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,p4=,n2=,h1,c3a,p4=,n2=,h1,c3a,p4=,n2=,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.7890 1.0310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,p4=,n2=,h1,c3a,p4=,n2=,h1,c3a,p4=,n2=,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 109.6000 120.0000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,p4=,n2=,h1,c3a,p4=,n2=,h1,c3a,p4=,n2=,h1 class2 aat 0.0 109.6000 120.0000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,p4=,n2=,h1,c3a,p4=,n2=,h1,c3a,p4=,n2=,h1 class2 bb13 0.0 1.7890 1.0310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2= class2 0.0000 0.0 0.0000 0.0 -0.0680 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2= class2 mbt 0.0 0.0 0.0 1.8000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.8860 119.3000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2= class2 aat -19.9340 110.8860 119.3000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,p4=,n2=,h1,c4,p4=,n2=,h1,c4,p4=,n2= class2 bb13 0.0 1.1010 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,p4=,h1,h1,c4,p4=,h1,h1,c4,p4=,h1 class2 0.0000 0.0 0.0000 0.0 -0.0680 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,p4=,h1,h1,c4,p4=,h1,h1,c4,p4=,h1 class2 mbt 0.0 0.0 0.0 1.8000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,p4=,h1,h1,c4,p4=,h1,h1,c4,p4=,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,p4=,h1,h1,c4,p4=,h1,h1,c4,p4=,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.8860 102.9000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,p4=,h1,h1,c4,p4=,h1,h1,c4,p4=,h1 class2 aat -16.0180 110.8860 102.9000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,p4=,h1,h1,c4,p4=,h1,h1,c4,p4=,h1 class2 bb13 0.0 1.1010 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,p4=,c4,h1,c4,p4=,c4,h1,c4,p4=,c4,h1 class2 0.0000 0.0 0.0000 0.0 -0.0680 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,p4=,c4,h1,c4,p4=,c4,h1,c4,p4=,c4,h1 class2 mbt 0.0 0.0 0.0 1.8000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,p4=,c4,h1,c4,p4=,c4,h1,c4,p4=,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8000 1.1010 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,p4=,c4,h1,c4,p4=,c4,h1,c4,p4=,c4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 102.5000 110.8860 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,p4=,c4,h1,c4,p4=,c4,h1,c4,p4=,c4,h1 class2 aat -25.5460 102.5000 110.8860 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,p4=,c4,h1,c4,p4=,c4,h1,c4,p4=,c4,h1 class2 bb13 0.0 1.8000 1.1010 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,n2=,h1,h1,c4,n2=,h1,h1,c4,n2=,h1 class2 1.2660 0.0 -0.7740 0.0 0.0380 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,n2=,h1,h1,c4,n2=,h1,h1,c4,n2=,h1 class2 mbt -0.4140 -2.8620 0.0070 1.4740 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,n2=,h1,h1,c4,n2=,h1,h1,c4,n2=,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.0310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,n2=,h1,h1,c4,n2=,h1,h1,c4,n2=,h1 class2 at -1.8950 1.2210 -0.7460 0.1100 0.0650 0.1090 107.4990 117.2000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,n2=,h1,h1,c4,n2=,h1,h1,c4,n2=,h1 class2 aat -9.6280 107.4990 117.2000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,n2=,h1,h1,c4,n2=,h1,h1,c4,n2=,h1 class2 bb13 0.0 1.1010 1.0310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2=,h1 class2 -5.0720 0.0 -0.4980 0.0 -0.4380 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2=,h1 class2 mbt -2.3800 2.5290 -0.7300 1.4740 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2=,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.0310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2=,h1 class2 at -2.5230 2.8480 2.0590 -3.6920 4.0610 -1.5440 117.3170 117.2000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2=,h1 class2 aat -8.8980 117.3170 117.2000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2=,h1 class2 bb13 0.0 1.5300 1.0310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2= class2 -0.1510 0.0 0.0100 0.0 -0.1860 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2= class2 mbt -3.5150 -2.2980 -1.2770 1.5300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.4740 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2= class2 at -2.0980 1.8610 -1.6890 -0.1220 1.8930 -0.5670 110.7700 117.3170 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2= class2 aat -27.5060 110.7700 117.3170 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,c4,n2=,h1,c4,c4,n2=,h1,c4,c4,n2= class2 bb13 0.0 1.1010 1.4740 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,c4,c4,n2=,c4,c4,c4,n2=,c4,c4,c4,n2= class2 0.0970 0.0 0.0720 0.0 -0.2580 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,c4,c4,n2=,c4,c4,c4,n2=,c4,c4,c4,n2= class2 mbt 0.0000 0.0000 0.0000 1.5300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,c4,c4,n2=,c4,c4,c4,n2=,c4,c4,c4,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.4740 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,c4,c4,n2=,c4,c4,c4,n2=,c4,c4,c4,n2= class2 at -2.0980 1.8610 -1.6890 -0.1220 1.8930 -0.5670 112.6700 117.3170 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,c4,c4,n2=,c4,c4,c4,n2=,c4,c4,c4,n2= class2 aat 0.0000 112.6700 117.3170 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c4,c4,c4,n2=,c4,c4,c4,n2=,c4,c4,c4,n2= class2 bb13 0.0 1.5300 1.4740 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= class2 -0.2720 0.0 1.1900 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= class2 mbt 0.0 0.0 0.0 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 109.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= class2 aat 0.0 120.0010 109.6000 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4=,n2= class2 bb13 0.0 1.4170 1.5980 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 class2 -0.2720 0.0 1.1900 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 class2 mbt 0.0 0.0 0.0 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 108.2310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 class2 aat 0.0 120.0010 108.2310 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1 class2 bb13 0.0 1.4170 1.4300 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= class2 0.0000 0.0 2.2700 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 120.0010 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= class2 aat 0.0 117.9400 120.0010 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c3a,c3a,p4=,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= class2 bb13 0.0 1.0982 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 0.0000 0.0 5.4770 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 120.0010 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 aat 0.0 118.9000 120.0010 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 bb13 0.0 1.4170 1.7890 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,c4,o2,h1,h1,c4,o2h,h1,h1,c4,o2,h1 class2 0.1863 0.0 -0.4338 0.0 -0.2121 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,o2,h1,h1,c4,o2h,h1,h1,c4,o2,h1 class2 mbt 0.0000 0.9241 -0.5889 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,o2,h1,h1,c4,o2h,h1,h1,c4,o2,h1 class2 ebt -1.7554 1.3145 0.2263 0.2493 0.6803 0.0000 1.1010 0.9494 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,o2,h1,h1,c4,o2h,h1,h1,c4,o2,h1 class2 at -3.4060 1.6396 0.0737 0.0000 -0.2810 -0.5944 108.7280 105.8000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,o2,h1,h1,c4,o2h,h1,h1,c4,o2,h1 class2 aat -10.5093 108.7280 105.8000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,o2,h1,h1,c4,o2h,h1,h1,c4,o2,h1 class2 bb13 0.0 1.1010 0.9494 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,o2,c4,h1,c4,o2h,c4,h1,c4,o2,c4,h1 class2 0.5302 0.0 0.0000 0.0 -0.3966 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,o2,c4,h1,c4,o2h,c4,h1,c4,o2,c4,h1 class2 mbt -6.8007 -4.6546 -1.4101 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,o2,c4,h1,c4,o2h,c4,h1,c4,o2,c4,h1 class2 ebt -0.1620 0.1564 -1.1408 -0.6054 1.3339 0.9648 1.4200 1.1010 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,o2,c4,h1,c4,o2h,c4,h1,c4,o2,c4,h1 class2 at -0.6653 0.4340 -0.7777 0.5144 1.6393 -1.8234 104.5000 108.7280 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,o2,c4,h1,c4,o2h,c4,h1,c4,o2,c4,h1 class2 aat -16.4438 104.5000 108.7280 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,o2,c4,h1,c4,o2h,c4,h1,c4,o2,c4,h1 class2 bb13 0.0 1.4200 1.1010 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,o2,c4,h1,c4,o2e,c4,h1,c4,o2,c4,h1 class2 0.5302 0.0 0.0000 0.0 -0.3966 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,o2,c4,h1,c4,o2e,c4,h1,c4,o2,c4,h1 class2 mbt -6.8007 -4.6546 -1.4101 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,o2,c4,h1,c4,o2e,c4,h1,c4,o2,c4,h1 class2 ebt -0.1620 0.1564 -1.1408 -0.6054 1.3339 0.9648 1.4200 1.1010 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,o2,c4,h1,c4,o2e,c4,h1,c4,o2,c4,h1 class2 at -0.6653 0.4340 -0.7777 0.5144 1.6393 -1.8234 104.5000 108.7280 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,o2,c4,h1,c4,o2e,c4,h1,c4,o2,c4,h1 class2 aat -16.4438 104.5000 108.7280 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,o2,c4,h1,c4,o2e,c4,h1,c4,o2,c4,h1 class2 bb13 0.0 1.4200 1.1010 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,o2,c4,h1,c3a,o2h,c4,h1,c3a,o2,c4,h1 class2 0.9513 0.0 0.1155 0.0 0.0720 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,o2,c4,h1,c3a,o2h,c4,h1,c3a,o2,c4,h1 class2 mbt 0.0 0.0 0.0 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,o2,c4,h1,c3a,o2h,c4,h1,c3a,o2,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.1010 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,o2,c4,h1,c3a,o2h,c4,h1,c3a,o2,c4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 102.9695 108.7280 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,o2,c4,h1,c3a,o2h,c4,h1,c3a,o2,c4,h1 class2 aat 0.0 102.9695 108.7280 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,o2,c4,h1,c3a,o2h,c4,h1,c3a,o2,c4,h1 class2 bb13 0.0 1.3768 1.1010 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,o2,c4,h1,c3a,o2e,c4,h1,c3a,o2,c4,h1 class2 0.9513 0.0 0.1155 0.0 0.0720 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,o2,c4,h1,c3a,o2e,c4,h1,c3a,o2,c4,h1 class2 mbt 0.0 0.0 0.0 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,o2,c4,h1,c3a,o2e,c4,h1,c3a,o2,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.1010 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,o2,c4,h1,c3a,o2e,c4,h1,c3a,o2,c4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 102.9695 108.7280 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,o2,c4,h1,c3a,o2e,c4,h1,c3a,o2,c4,h1 class2 aat 0.0 102.9695 108.7280 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,o2,c4,h1,c3a,o2e,c4,h1,c3a,o2,c4,h1 class2 bb13 0.0 1.3768 1.1010 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2,h1 class2 -0.6732 0.0 -0.4778 0.0 -0.1670 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2,h1 class2 mbt 1.2472 0.0000 0.7485 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2,h1 class2 ebt -0.5800 0.9004 0.0000 0.0000 0.5343 0.9025 1.5300 0.9494 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2,h1 class2 at -3.5903 2.5225 0.4888 0.8726 -0.3577 0.3888 111.2700 105.8000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2,h1 class2 aat -12.1038 111.2700 105.8000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2,h1 class2 bb13 0.0 1.5300 0.9494 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2,c4 class2 -0.4000 0.0 -0.4028 0.0 -0.2450 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2,c4 class2 mbt -5.9288 -2.7007 -0.3175 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2,c4 class2 ebt -0.2456 1.0517 -0.7795 0.4741 1.2635 0.5576 1.5300 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2,c4 class2 at -2.7466 1.4877 -0.8955 0.5676 0.9450 0.0703 111.2700 104.5000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2,c4 class2 aat -19.0059 111.2700 104.5000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2,c4 class2 bb13 0.0 1.5300 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2,c4 class2 -0.4000 0.0 -0.4028 0.0 -0.2450 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2,c4 class2 mbt -5.9288 -2.7007 -0.3175 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2,c4 class2 ebt -0.2456 1.0517 -0.7795 0.4741 1.2635 0.5576 1.5300 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2,c4 class2 at -2.7466 1.4877 -0.8955 0.5676 0.9450 0.0703 111.2700 104.5000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2,c4 class2 aat -19.0059 111.2700 104.5000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2,c4 class2 bb13 0.0 1.5300 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2n,o2n,c4,c4,o2n class2 1.1000 0.0 -0.0500 0.0 -0.1441 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2n,o2n,c4,c4,o2n class2 mbt -17.2585 -3.6157 -0.8364 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2n,o2n,c4,c4,o2n class2 ebt 1.0165 0.7553 -0.4609 1.0165 0.7553 -0.4609 1.4350 1.4350 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2n,o2n,c4,c4,o2n class2 at 0.5511 0.9737 -0.6673 0.5511 0.9737 -0.6673 105.0000 105.0000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2n,o2n,c4,c4,o2n class2 aat -14.0484 105.0000 105.0000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2n,o2n,c4,c4,o2n class2 bb13 0.0 1.4350 1.4350 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2h,o2n,c4,c4,o2 class2 1.1000 0.0 -0.0500 0.0 -0.1441 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2h,o2n,c4,c4,o2 class2 mbt -17.2585 -3.6157 -0.8364 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2h,o2n,c4,c4,o2 class2 ebt 1.0165 0.7553 -0.4609 1.0165 0.7553 -0.4609 1.4350 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2h,o2n,c4,c4,o2 class2 at 0.5511 0.9737 -0.6673 0.5511 0.9737 -0.6673 105.0000 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2h,o2n,c4,c4,o2 class2 aat -14.0484 105.0000 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2h,o2n,c4,c4,o2 class2 bb13 0.0 1.4350 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2e,o2n,c4,c4,o2 class2 1.1000 0.0 -0.0500 0.0 -0.1441 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2e,o2n,c4,c4,o2 class2 mbt -17.2585 -3.6157 -0.8364 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2e,o2n,c4,c4,o2 class2 ebt 1.0165 0.7553 -0.4609 1.0165 0.7553 -0.4609 1.4350 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2e,o2n,c4,c4,o2 class2 at 0.5511 0.9737 -0.6673 0.5511 0.9737 -0.6673 105.0000 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2e,o2n,c4,c4,o2 class2 aat -14.0484 105.0000 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2n,c4,c4,o2e,o2n,c4,c4,o2 class2 bb13 0.0 1.4350 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2n,o2,c4,c4,o2n class2 1.1000 0.0 -0.0500 0.0 -0.1441 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2n,o2,c4,c4,o2n class2 mbt -17.2585 -3.6157 -0.8364 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2n,o2,c4,c4,o2n class2 ebt 1.0165 0.7553 -0.4609 1.0165 0.7553 -0.4609 1.4200 1.4350 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2n,o2,c4,c4,o2n class2 at 0.5511 0.9737 -0.6673 0.5511 0.9737 -0.6673 111.2700 105.0000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2n,o2,c4,c4,o2n class2 aat -14.0484 111.2700 105.0000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2n,o2,c4,c4,o2n class2 bb13 0.0 1.4200 1.4350 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2h,o2,c4,c4,o2 class2 1.1000 0.0 -0.0500 0.0 -0.1441 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2h,o2,c4,c4,o2 class2 mbt -17.2585 -3.6157 -0.8364 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2h,o2,c4,c4,o2 class2 ebt 1.0165 0.7553 -0.4609 1.0165 0.7553 -0.4609 1.4200 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2h,o2,c4,c4,o2 class2 at 0.5511 0.9737 -0.6673 0.5511 0.9737 -0.6673 111.2700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2h,o2,c4,c4,o2 class2 aat -14.0484 111.2700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2h,o2,c4,c4,o2 class2 bb13 0.0 1.4200 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2e,o2,c4,c4,o2 class2 1.1000 0.0 -0.0500 0.0 -0.1441 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2e,o2,c4,c4,o2 class2 mbt -17.2585 -3.6157 -0.8364 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2e,o2,c4,c4,o2 class2 ebt 1.0165 0.7553 -0.4609 1.0165 0.7553 -0.4609 1.4200 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2e,o2,c4,c4,o2 class2 at 0.5511 0.9737 -0.6673 0.5511 0.9737 -0.6673 111.2700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2e,o2,c4,c4,o2 class2 aat -14.0484 111.2700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2h,c4,c4,o2e,o2,c4,c4,o2 class2 bb13 0.0 1.4200 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2n,o2,c4,c4,o2n class2 1.1000 0.0 -0.0500 0.0 -0.1441 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2n,o2,c4,c4,o2n class2 mbt -17.2585 -3.6157 -0.8364 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2n,o2,c4,c4,o2n class2 ebt 1.0165 0.7553 -0.4609 1.0165 0.7553 -0.4609 1.4200 1.4350 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2n,o2,c4,c4,o2n class2 at 0.5511 0.9737 -0.6673 0.5511 0.9737 -0.6673 111.2700 105.0000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2n,o2,c4,c4,o2n class2 aat -14.0484 111.2700 105.0000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2n,o2,c4,c4,o2n class2 bb13 0.0 1.4200 1.4350 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2h,o2,c4,c4,o2 class2 1.1000 0.0 -0.0500 0.0 -0.1441 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2h,o2,c4,c4,o2 class2 mbt -17.2585 -3.6157 -0.8364 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2h,o2,c4,c4,o2 class2 ebt 1.0165 0.7553 -0.4609 1.0165 0.7553 -0.4609 1.4200 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2h,o2,c4,c4,o2 class2 at 0.5511 0.9737 -0.6673 0.5511 0.9737 -0.6673 111.2700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2h,o2,c4,c4,o2 class2 aat -14.0484 111.2700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2h,o2,c4,c4,o2 class2 bb13 0.0 1.4200 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2e,o2,c4,c4,o2 class2 1.1000 0.0 -0.0500 0.0 -0.1441 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2e,o2,c4,c4,o2 class2 mbt -17.2585 -3.6157 -0.8364 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2e,o2,c4,c4,o2 class2 ebt 1.0165 0.7553 -0.4609 1.0165 0.7553 -0.4609 1.4200 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2e,o2,c4,c4,o2 class2 at 0.5511 0.9737 -0.6673 0.5511 0.9737 -0.6673 111.2700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2e,o2,c4,c4,o2 class2 aat -14.0484 111.2700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:o2,c4,c4,o2,o2e,c4,c4,o2e,o2,c4,c4,o2 class2 bb13 0.0 1.4200 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2n,h1,c4,c4,o2n class2 -0.1435 0.0 0.2530 0.0 -0.0905 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2n,h1,c4,c4,o2n class2 mbt -16.7975 -1.2296 -0.2750 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2n,h1,c4,c4,o2n class2 ebt 0.9681 0.9551 0.0436 0.5903 0.6669 0.8584 1.1010 1.4350 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2n,h1,c4,c4,o2n class2 at 2.3668 2.4920 -1.0122 -0.1892 0.4918 0.7273 110.7700 105.0000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2n,h1,c4,c4,o2n class2 aat -20.2006 110.7700 105.0000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2n,h1,c4,c4,o2n class2 bb13 0.0 1.1010 1.4350 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2 class2 -0.1435 0.0 0.2530 0.0 -0.0905 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2 class2 mbt -16.7975 -1.2296 -0.2750 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2 class2 ebt 0.9681 0.9551 0.0436 0.5903 0.6669 0.8584 1.1010 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2 class2 at 2.3668 2.4920 -1.0122 -0.1892 0.4918 0.7273 110.7700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2 class2 aat -20.2006 110.7700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2h,h1,c4,c4,o2 class2 bb13 0.0 1.1010 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2e,h1,c4,c4,o2 class2 -0.1435 0.0 0.2530 0.0 -0.0905 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2e,h1,c4,c4,o2 class2 mbt -16.7975 -1.2296 -0.2750 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2e,h1,c4,c4,o2 class2 ebt 0.9681 0.9551 0.0436 0.5903 0.6669 0.8584 1.1010 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2e,h1,c4,c4,o2 class2 at 2.3668 2.4920 -1.0122 -0.1892 0.4918 0.7273 110.7700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2e,h1,c4,c4,o2 class2 aat -20.2006 110.7700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c4,c4,o2,h1,c4,c4,o2e,h1,c4,c4,o2 class2 bb13 0.0 1.1010 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2n,c4,c4,c4,o2n class2 0.7137 0.0 0.2660 0.0 -0.2545 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2n,c4,c4,c4,o2n class2 mbt -21.8842 -7.6764 -0.6868 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2n,c4,c4,c4,o2n class2 ebt -0.3190 0.4411 -0.7174 1.1538 0.8409 -0.9138 1.5300 1.4350 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2n,c4,c4,c4,o2n class2 at 0.5623 -0.3041 -0.4015 0.9672 -0.7566 -1.2331 112.6700 105.0000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2n,c4,c4,c4,o2n class2 aat -29.0420 112.6700 105.0000 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2n,c4,c4,c4,o2n class2 bb13 0.0 1.5300 1.4350 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2 class2 0.7137 0.0 0.2660 0.0 -0.2545 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2 class2 mbt -21.8842 -7.6764 -0.6868 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2 class2 ebt -0.3190 0.4411 -0.7174 1.1538 0.8409 -0.9138 1.5300 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2 class2 at 0.5623 -0.3041 -0.4015 0.9672 -0.7566 -1.2331 112.6700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2 class2 aat -29.0420 112.6700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2h,c4,c4,c4,o2 class2 bb13 0.0 1.5300 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2 class2 0.7137 0.0 0.2660 0.0 -0.2545 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2 class2 mbt -21.8842 -7.6764 -0.6868 1.5300 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2 class2 ebt -0.3190 0.4411 -0.7174 1.1538 0.8409 -0.9138 1.5300 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2 class2 at 0.5623 -0.3041 -0.4015 0.9672 -0.7566 -1.2331 112.6700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2 class2 aat -29.0420 112.6700 111.2700 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c4,c4,c4,o2,c4,c4,c4,o2e,c4,c4,c4,o2 class2 bb13 0.0 1.5300 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2h,c4,c3a,c3a,o2,c4 class2 0.0000 0.0 1.5000 0.0 0.0000 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2h,c4,c3a,c3a,o2,c4 class2 mbt 0.0 0.0 0.0 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2h,c4,c3a,c3a,o2,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2h,c4,c3a,c3a,o2,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 102.9695 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2h,c4,c3a,c3a,o2,c4 class2 aat 0.0 123.4200 102.9695 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2h,c4,c3a,c3a,o2,c4 class2 bb13 0.0 1.4170 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2e,c4,c3a,c3a,o2,c4 class2 0.0000 0.0 1.5000 0.0 0.0000 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2e,c4,c3a,c3a,o2,c4 class2 mbt 0.0 0.0 0.0 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2e,c4,c3a,c3a,o2,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2e,c4,c3a,c3a,o2,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 102.9695 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2e,c4,c3a,c3a,o2,c4 class2 aat 0.0 123.4200 102.9695 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,c4,c3a,c3a,o2e,c4,c3a,c3a,o2,c4 class2 bb13 0.0 1.4170 1.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,o2z,si4,o2z,si4,o2z class2 0.0000 0.0 0.0000 0.0 -0.0100 0.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,o2z,si4,o2z,si4,o2z class2 mbt 0.0 0.0 0.0 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,o2z,si4,o2z,si4,o2z class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.6400 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,o2z,si4,o2z,si4,o2z class2 at 0.0 0.0 0.0 0.0 0.0 0.0 159.0000 110.7000 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,o2z,si4,o2z,si4,o2z class2 aat 0.0 159.0000 110.7000 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,o2z,si4,o2z,si4,o2z class2 bb13 0.0 1.6400 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,h1,si4,o2z,si4,h1 class2 0.0000 0.0 0.0000 0.0 -0.0100 0.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,h1,si4,o2z,si4,h1 class2 mbt 0.0 0.0 0.0 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,h1,si4,o2z,si4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.6400 1.4783 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,h1,si4,o2z,si4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 159.0000 107.4000 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,h1,si4,o2z,si4,h1 class2 aat 0.0 159.0000 107.4000 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,h1,si4,o2z,si4,h1 class2 bb13 0.0 1.6400 1.4783 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,c4,si4,o2z,si4,c4 class2 0.0000 0.0 0.0000 0.0 -0.0100 0.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,c4,si4,o2z,si4,c4 class2 mbt 0.0 0.0 0.0 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,c4,si4,o2z,si4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.6400 1.8995 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,c4,si4,o2z,si4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 159.0000 114.9060 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,c4,si4,o2z,si4,c4 class2 aat 0.0 159.0000 114.9060 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,c4,si4,o2z,si4,c4 class2 bb13 0.0 1.6400 1.8995 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,c3a,si4,o2z,si4,c3a class2 0.0000 0.0 0.0000 0.0 -0.0100 0.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,c3a,si4,o2z,si4,c3a class2 mbt 0.0 0.0 0.0 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,c3a,si4,o2z,si4,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.6400 1.8634 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,c3a,si4,o2z,si4,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 159.0000 114.9060 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,c3a,si4,o2z,si4,c3a class2 aat 0.0 159.0000 114.9060 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,o2z,si4,X,si4,o2z,si4,c3a,si4,o2z,si4,c3a class2 bb13 0.0 1.6400 1.8634 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4 class2 -0.2250 0.0 0.0000 0.0 -0.0100 0.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4 class2 mbt 0.0 0.0 0.0 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.6400 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.7000 159.0000 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4 class2 aat 0.0 110.7000 159.0000 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4,o2z,si4 class2 bb13 0.0 1.6400 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,si4,o2z,si4,h1,si4,o2z,si4,h1,si4,o2z,si4 class2 0.0000 0.0 0.0000 0.0 -0.0100 0.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,si4,o2z,si4,h1,si4,o2z,si4,h1,si4,o2z,si4 class2 mbt 0.0 0.0 0.0 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,si4,o2z,si4,h1,si4,o2z,si4,h1,si4,o2z,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4783 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,si4,o2z,si4,h1,si4,o2z,si4,h1,si4,o2z,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 107.4000 159.0000 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,si4,o2z,si4,h1,si4,o2z,si4,h1,si4,o2z,si4 class2 aat 0.0 107.4000 159.0000 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,si4,o2z,si4,h1,si4,o2z,si4,h1,si4,o2z,si4 class2 bb13 0.0 1.4783 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:c4,si4,o2z,si4,c4,si4,o2z,si4,c4,si4,o2z,si4 class2 0.0000 0.0 0.0000 0.0 -0.0100 0.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:c4,si4,o2z,si4,c4,si4,o2z,si4,c4,si4,o2z,si4 class2 mbt 0.0 0.0 0.0 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:c4,si4,o2z,si4,c4,si4,o2z,si4,c4,si4,o2z,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:c4,si4,o2z,si4,c4,si4,o2z,si4,c4,si4,o2z,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 114.9060 159.0000 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:c4,si4,o2z,si4,c4,si4,o2z,si4,c4,si4,o2z,si4 class2 aat 0.0 114.9060 159.0000 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:c4,si4,o2z,si4,c4,si4,o2z,si4,c4,si4,o2z,si4 class2 bb13 0.0 1.8995 1.6400 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,si4,si4,c4,c4,si4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,si4,si4,c4,c4,si4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,si4,si4,c4,c4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,si4,si4,c4,c4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,si4,si4,c4,c4,si4 class2 aat 0.0 112.6700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,si4,si4,c4,c4,si4 class2 bb13 0.0 1.8995 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2n,si4,c4,c4,o2n class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2n,si4,c4,c4,o2n class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2n,si4,c4,c4,o2n class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2n,si4,c4,c4,o2n class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2n,si4,c4,c4,o2n class2 aat 0.0 112.6700 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2n,si4,c4,c4,o2n class2 bb13 0.0 1.8995 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2h,si4,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2h,si4,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2h,si4,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2h,si4,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2h,si4,c4,c4,o2 class2 aat 0.0 112.6700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2h,si4,c4,c4,o2 class2 bb13 0.0 1.8995 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2e,si4,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2e,si4,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2e,si4,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2e,si4,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2e,si4,c4,c4,o2 class2 aat 0.0 112.6700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,o2e,si4,c4,c4,o2 class2 bb13 0.0 1.8995 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,n2z,si4,c4,c4,n2z class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,n2z,si4,c4,c4,n2z class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,n2z,si4,c4,c4,n2z class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,n2z,si4,c4,c4,n2z class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,n2z,si4,c4,c4,n2z class2 aat 0.0 112.6700 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,n2z,si4,c4,c4,n2z class2 bb13 0.0 1.8995 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,n2=,si4,c4,c4,n2= class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,n2=,si4,c4,c4,n2= class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,n2=,si4,c4,c4,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,n2=,si4,c4,c4,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,n2=,si4,c4,c4,n2= class2 aat 0.0 112.6700 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,n2=,si4,c4,c4,n2= class2 bb13 0.0 1.8995 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,h1,si4,c4,c4,h1 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,h1,si4,c4,c4,h1 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,h1,si4,c4,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,h1,si4,c4,c4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,h1,si4,c4,c4,h1 class2 aat 0.0 112.6700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,h1,si4,c4,c4,h1 class2 bb13 0.0 1.8995 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,c4,si4,c4,c4,c4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,c4,si4,c4,c4,c4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,c4,si4,c4,c4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,c4,si4,c4,c4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,c4,si4,c4,c4,c4 class2 aat 0.0 112.6700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,c4,si4,c4,c4,c4 class2 bb13 0.0 1.8995 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,c3a,si4,c4,c4,c3a class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,c3a,si4,c4,c4,c3a class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,c3a,si4,c4,c4,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8995 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,c3a,si4,c4,c4,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,c3a,si4,c4,c4,c3a class2 aat 0.0 112.6700 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,si4,c4,c4,c3a,si4,c4,c4,c3a class2 bb13 0.0 1.8995 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,si4,o2n,c4,c4,si4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,si4,o2n,c4,c4,si4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,si4,o2n,c4,c4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4350 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,si4,o2n,c4,c4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 105.0000 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,si4,o2n,c4,c4,si4 class2 aat 0.0 105.0000 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,si4,o2n,c4,c4,si4 class2 bb13 0.0 1.4350 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2n,o2n,c4,c4,o2n class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2n,o2n,c4,c4,o2n class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2n,o2n,c4,c4,o2n class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4350 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2n,o2n,c4,c4,o2n class2 at 0.0 0.0 0.0 0.0 0.0 0.0 105.0000 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2n,o2n,c4,c4,o2n class2 aat 0.0 105.0000 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2n,o2n,c4,c4,o2n class2 bb13 0.0 1.4350 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2h,o2n,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2h,o2n,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2h,o2n,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4350 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2h,o2n,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 105.0000 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2h,o2n,c4,c4,o2 class2 aat 0.0 105.0000 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2h,o2n,c4,c4,o2 class2 bb13 0.0 1.4350 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2e,o2n,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2e,o2n,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2e,o2n,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4350 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2e,o2n,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 105.0000 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2e,o2n,c4,c4,o2 class2 aat 0.0 105.0000 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,o2e,o2n,c4,c4,o2 class2 bb13 0.0 1.4350 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,n2z,o2n,c4,c4,n2z class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,n2z,o2n,c4,c4,n2z class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,n2z,o2n,c4,c4,n2z class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4350 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,n2z,o2n,c4,c4,n2z class2 at 0.0 0.0 0.0 0.0 0.0 0.0 105.0000 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,n2z,o2n,c4,c4,n2z class2 aat 0.0 105.0000 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,n2z,o2n,c4,c4,n2z class2 bb13 0.0 1.4350 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,n2=,o2n,c4,c4,n2= class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,n2=,o2n,c4,c4,n2= class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,n2=,o2n,c4,c4,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4350 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,n2=,o2n,c4,c4,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 105.0000 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,n2=,o2n,c4,c4,n2= class2 aat 0.0 105.0000 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,n2=,o2n,c4,c4,n2= class2 bb13 0.0 1.4350 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,h1,o2n,c4,c4,h1 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,h1,o2n,c4,c4,h1 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,h1,o2n,c4,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4350 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,h1,o2n,c4,c4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 105.0000 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,h1,o2n,c4,c4,h1 class2 aat 0.0 105.0000 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,h1,o2n,c4,c4,h1 class2 bb13 0.0 1.4350 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,c4,o2n,c4,c4,c4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,c4,o2n,c4,c4,c4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,c4,o2n,c4,c4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4350 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,c4,o2n,c4,c4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 105.0000 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,c4,o2n,c4,c4,c4 class2 aat 0.0 105.0000 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,c4,o2n,c4,c4,c4 class2 bb13 0.0 1.4350 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,c3a,o2n,c4,c4,c3a class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,c3a,o2n,c4,c4,c3a class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,c3a,o2n,c4,c4,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4350 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,c3a,o2n,c4,c4,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 105.0000 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,c3a,o2n,c4,c4,c3a class2 aat 0.0 105.0000 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2n,c4,c4,c3a,o2n,c4,c4,c3a class2 bb13 0.0 1.4350 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,si4,o2,c4,c4,si4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,si4,o2,c4,c4,si4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,si4,o2,c4,c4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,si4,o2,c4,c4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,si4,o2,c4,c4,si4 class2 aat 0.0 111.2700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,si4,o2,c4,c4,si4 class2 bb13 0.0 1.4200 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2n,o2,c4,c4,o2n class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2n,o2,c4,c4,o2n class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2n,o2,c4,c4,o2n class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2n,o2,c4,c4,o2n class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2n,o2,c4,c4,o2n class2 aat 0.0 111.2700 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2n,o2,c4,c4,o2n class2 bb13 0.0 1.4200 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2h,o2,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2h,o2,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2h,o2,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2h,o2,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2h,o2,c4,c4,o2 class2 aat 0.0 111.2700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2h,o2,c4,c4,o2 class2 bb13 0.0 1.4200 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2e,o2,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2e,o2,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2e,o2,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2e,o2,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2e,o2,c4,c4,o2 class2 aat 0.0 111.2700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,o2e,o2,c4,c4,o2 class2 bb13 0.0 1.4200 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,n2z,o2,c4,c4,n2z class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,n2z,o2,c4,c4,n2z class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,n2z,o2,c4,c4,n2z class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,n2z,o2,c4,c4,n2z class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,n2z,o2,c4,c4,n2z class2 aat 0.0 111.2700 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,n2z,o2,c4,c4,n2z class2 bb13 0.0 1.4200 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,n2=,o2,c4,c4,n2= class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,n2=,o2,c4,c4,n2= class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,n2=,o2,c4,c4,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,n2=,o2,c4,c4,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,n2=,o2,c4,c4,n2= class2 aat 0.0 111.2700 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,n2=,o2,c4,c4,n2= class2 bb13 0.0 1.4200 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,h1,o2,c4,c4,h1 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,h1,o2,c4,c4,h1 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,h1,o2,c4,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,h1,o2,c4,c4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,h1,o2,c4,c4,h1 class2 aat 0.0 111.2700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,h1,o2,c4,c4,h1 class2 bb13 0.0 1.4200 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,c4,o2,c4,c4,c4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,c4,o2,c4,c4,c4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,c4,o2,c4,c4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,c4,o2,c4,c4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,c4,o2,c4,c4,c4 class2 aat 0.0 111.2700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,c4,o2,c4,c4,c4 class2 bb13 0.0 1.4200 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,c3a,o2,c4,c4,c3a class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,c3a,o2,c4,c4,c3a class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,c3a,o2,c4,c4,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,c3a,o2,c4,c4,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,c3a,o2,c4,c4,c3a class2 aat 0.0 111.2700 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2h,c4,c4,c3a,o2,c4,c4,c3a class2 bb13 0.0 1.4200 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,si4,o2,c4,c4,si4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,si4,o2,c4,c4,si4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,si4,o2,c4,c4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,si4,o2,c4,c4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,si4,o2,c4,c4,si4 class2 aat 0.0 111.2700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,si4,o2,c4,c4,si4 class2 bb13 0.0 1.4200 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2n,o2,c4,c4,o2n class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2n,o2,c4,c4,o2n class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2n,o2,c4,c4,o2n class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2n,o2,c4,c4,o2n class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2n,o2,c4,c4,o2n class2 aat 0.0 111.2700 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2n,o2,c4,c4,o2n class2 bb13 0.0 1.4200 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2h,o2,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2h,o2,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2h,o2,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2h,o2,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2h,o2,c4,c4,o2 class2 aat 0.0 111.2700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2h,o2,c4,c4,o2 class2 bb13 0.0 1.4200 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2e,o2,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2e,o2,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2e,o2,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2e,o2,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2e,o2,c4,c4,o2 class2 aat 0.0 111.2700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,o2e,o2,c4,c4,o2 class2 bb13 0.0 1.4200 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,n2z,o2,c4,c4,n2z class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,n2z,o2,c4,c4,n2z class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,n2z,o2,c4,c4,n2z class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,n2z,o2,c4,c4,n2z class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,n2z,o2,c4,c4,n2z class2 aat 0.0 111.2700 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,n2z,o2,c4,c4,n2z class2 bb13 0.0 1.4200 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,n2=,o2,c4,c4,n2= class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,n2=,o2,c4,c4,n2= class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,n2=,o2,c4,c4,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,n2=,o2,c4,c4,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,n2=,o2,c4,c4,n2= class2 aat 0.0 111.2700 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,n2=,o2,c4,c4,n2= class2 bb13 0.0 1.4200 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,h1,o2,c4,c4,h1 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,h1,o2,c4,c4,h1 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,h1,o2,c4,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,h1,o2,c4,c4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,h1,o2,c4,c4,h1 class2 aat 0.0 111.2700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,h1,o2,c4,c4,h1 class2 bb13 0.0 1.4200 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,c4,o2,c4,c4,c4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,c4,o2,c4,c4,c4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,c4,o2,c4,c4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,c4,o2,c4,c4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,c4,o2,c4,c4,c4 class2 aat 0.0 111.2700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,c4,o2,c4,c4,c4 class2 bb13 0.0 1.4200 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,c3a,o2,c4,c4,c3a class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,c3a,o2,c4,c4,c3a class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,c3a,o2,c4,c4,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4200 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,c3a,o2,c4,c4,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 111.2700 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,c3a,o2,c4,c4,c3a class2 aat 0.0 111.2700 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,o2e,c4,c4,c3a,o2,c4,c4,c3a class2 bb13 0.0 1.4200 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,si4,n2z,c4,c4,si4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,si4,n2z,c4,c4,si4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,si4,n2z,c4,c4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4814 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,si4,n2z,c4,c4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.9900 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,si4,n2z,c4,c4,si4 class2 aat 0.0 110.9900 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,si4,n2z,c4,c4,si4 class2 bb13 0.0 1.4814 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2n,n2z,c4,c4,o2n class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2n,n2z,c4,c4,o2n class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2n,n2z,c4,c4,o2n class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4814 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2n,n2z,c4,c4,o2n class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.9900 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2n,n2z,c4,c4,o2n class2 aat 0.0 110.9900 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2n,n2z,c4,c4,o2n class2 bb13 0.0 1.4814 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2h,n2z,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2h,n2z,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2h,n2z,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4814 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2h,n2z,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.9900 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2h,n2z,c4,c4,o2 class2 aat 0.0 110.9900 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2h,n2z,c4,c4,o2 class2 bb13 0.0 1.4814 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2e,n2z,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2e,n2z,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2e,n2z,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4814 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2e,n2z,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.9900 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2e,n2z,c4,c4,o2 class2 aat 0.0 110.9900 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,o2e,n2z,c4,c4,o2 class2 bb13 0.0 1.4814 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,n2z,n2z,c4,c4,n2z class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,n2z,n2z,c4,c4,n2z class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,n2z,n2z,c4,c4,n2z class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4814 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,n2z,n2z,c4,c4,n2z class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.9900 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,n2z,n2z,c4,c4,n2z class2 aat 0.0 110.9900 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,n2z,n2z,c4,c4,n2z class2 bb13 0.0 1.4814 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,n2=,n2z,c4,c4,n2= class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,n2=,n2z,c4,c4,n2= class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,n2=,n2z,c4,c4,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4814 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,n2=,n2z,c4,c4,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.9900 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,n2=,n2z,c4,c4,n2= class2 aat 0.0 110.9900 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,n2=,n2z,c4,c4,n2= class2 bb13 0.0 1.4814 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,h1,n2z,c4,c4,h1 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,h1,n2z,c4,c4,h1 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,h1,n2z,c4,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4814 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,h1,n2z,c4,c4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.9900 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,h1,n2z,c4,c4,h1 class2 aat 0.0 110.9900 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,h1,n2z,c4,c4,h1 class2 bb13 0.0 1.4814 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,c4,n2z,c4,c4,c4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,c4,n2z,c4,c4,c4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,c4,n2z,c4,c4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4814 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,c4,n2z,c4,c4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.9900 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,c4,n2z,c4,c4,c4 class2 aat 0.0 110.9900 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,c4,n2z,c4,c4,c4 class2 bb13 0.0 1.4814 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,c3a,n2z,c4,c4,c3a class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,c3a,n2z,c4,c4,c3a class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,c3a,n2z,c4,c4,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4814 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,c3a,n2z,c4,c4,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.9900 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,c3a,n2z,c4,c4,c3a class2 aat 0.0 110.9900 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2z,c4,c4,c3a,n2z,c4,c4,c3a class2 bb13 0.0 1.4814 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,si4,n2=,c4,c4,si4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,si4,n2=,c4,c4,si4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,si4,n2=,c4,c4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4740 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,si4,n2=,c4,c4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.3170 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,si4,n2=,c4,c4,si4 class2 aat 0.0 117.3170 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,si4,n2=,c4,c4,si4 class2 bb13 0.0 1.4740 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2n,n2=,c4,c4,o2n class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2n,n2=,c4,c4,o2n class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2n,n2=,c4,c4,o2n class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4740 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2n,n2=,c4,c4,o2n class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.3170 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2n,n2=,c4,c4,o2n class2 aat 0.0 117.3170 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2n,n2=,c4,c4,o2n class2 bb13 0.0 1.4740 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2h,n2=,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2h,n2=,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2h,n2=,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4740 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2h,n2=,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.3170 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2h,n2=,c4,c4,o2 class2 aat 0.0 117.3170 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2h,n2=,c4,c4,o2 class2 bb13 0.0 1.4740 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2e,n2=,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2e,n2=,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2e,n2=,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4740 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2e,n2=,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.3170 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2e,n2=,c4,c4,o2 class2 aat 0.0 117.3170 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,o2e,n2=,c4,c4,o2 class2 bb13 0.0 1.4740 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,n2z,n2=,c4,c4,n2z class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,n2z,n2=,c4,c4,n2z class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,n2z,n2=,c4,c4,n2z class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4740 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,n2z,n2=,c4,c4,n2z class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.3170 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,n2z,n2=,c4,c4,n2z class2 aat 0.0 117.3170 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,n2z,n2=,c4,c4,n2z class2 bb13 0.0 1.4740 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,n2=,n2=,c4,c4,n2= class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,n2=,n2=,c4,c4,n2= class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,n2=,n2=,c4,c4,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4740 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,n2=,n2=,c4,c4,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.3170 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,n2=,n2=,c4,c4,n2= class2 aat 0.0 117.3170 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,n2=,n2=,c4,c4,n2= class2 bb13 0.0 1.4740 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,h1,n2=,c4,c4,h1 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,h1,n2=,c4,c4,h1 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,h1,n2=,c4,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4740 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,h1,n2=,c4,c4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.3170 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,h1,n2=,c4,c4,h1 class2 aat 0.0 117.3170 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,h1,n2=,c4,c4,h1 class2 bb13 0.0 1.4740 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,c4,n2=,c4,c4,c4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,c4,n2=,c4,c4,c4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,c4,n2=,c4,c4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4740 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,c4,n2=,c4,c4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.3170 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,c4,n2=,c4,c4,c4 class2 aat 0.0 117.3170 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,c4,n2=,c4,c4,c4 class2 bb13 0.0 1.4740 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,c3a,n2=,c4,c4,c3a class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,c3a,n2=,c4,c4,c3a class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,c3a,n2=,c4,c4,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4740 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,c3a,n2=,c4,c4,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.3170 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,c3a,n2=,c4,c4,c3a class2 aat 0.0 117.3170 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,n2=,c4,c4,c3a,n2=,c4,c4,c3a class2 bb13 0.0 1.4740 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,si4,h1,c4,c4,si4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,si4,h1,c4,c4,si4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,si4,h1,c4,c4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,si4,h1,c4,c4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.7700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,si4,h1,c4,c4,si4 class2 aat 0.0 110.7700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,si4,h1,c4,c4,si4 class2 bb13 0.0 1.1010 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2n,h1,c4,c4,o2n class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2n,h1,c4,c4,o2n class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2n,h1,c4,c4,o2n class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2n,h1,c4,c4,o2n class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.7700 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2n,h1,c4,c4,o2n class2 aat 0.0 110.7700 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2n,h1,c4,c4,o2n class2 bb13 0.0 1.1010 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2h,h1,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2h,h1,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2h,h1,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2h,h1,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.7700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2h,h1,c4,c4,o2 class2 aat 0.0 110.7700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2h,h1,c4,c4,o2 class2 bb13 0.0 1.1010 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2e,h1,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2e,h1,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2e,h1,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2e,h1,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.7700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2e,h1,c4,c4,o2 class2 aat 0.0 110.7700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,o2e,h1,c4,c4,o2 class2 bb13 0.0 1.1010 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,n2z,h1,c4,c4,n2z class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,n2z,h1,c4,c4,n2z class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,n2z,h1,c4,c4,n2z class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,n2z,h1,c4,c4,n2z class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.7700 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,n2z,h1,c4,c4,n2z class2 aat 0.0 110.7700 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,n2z,h1,c4,c4,n2z class2 bb13 0.0 1.1010 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,n2=,h1,c4,c4,n2= class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,n2=,h1,c4,c4,n2= class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,n2=,h1,c4,c4,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,n2=,h1,c4,c4,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.7700 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,n2=,h1,c4,c4,n2= class2 aat 0.0 110.7700 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,n2=,h1,c4,c4,n2= class2 bb13 0.0 1.1010 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,h1,h1,c4,c4,h1 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,h1,h1,c4,c4,h1 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,h1,h1,c4,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,h1,h1,c4,c4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.7700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,h1,h1,c4,c4,h1 class2 aat 0.0 110.7700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,h1,h1,c4,c4,h1 class2 bb13 0.0 1.1010 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,c4,h1,c4,c4,c4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,c4,h1,c4,c4,c4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,c4,h1,c4,c4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,c4,h1,c4,c4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.7700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,c4,h1,c4,c4,c4 class2 aat 0.0 110.7700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,c4,h1,c4,c4,c4 class2 bb13 0.0 1.1010 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,c3a,h1,c4,c4,c3a class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,c3a,h1,c4,c4,c3a class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,c3a,h1,c4,c4,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.1010 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,c3a,h1,c4,c4,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 110.7700 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,c3a,h1,c4,c4,c3a class2 aat 0.0 110.7700 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,h1,c4,c4,c3a,h1,c4,c4,c3a class2 bb13 0.0 1.1010 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,si4,c4,c4,c4,si4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,si4,c4,c4,c4,si4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,si4,c4,c4,c4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,si4,c4,c4,c4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,si4,c4,c4,c4,si4 class2 aat 0.0 112.6700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,si4,c4,c4,c4,si4 class2 bb13 0.0 1.5300 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2n,c4,c4,c4,o2n class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2n,c4,c4,c4,o2n class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2n,c4,c4,c4,o2n class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2n,c4,c4,c4,o2n class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2n,c4,c4,c4,o2n class2 aat 0.0 112.6700 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2n,c4,c4,c4,o2n class2 bb13 0.0 1.5300 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2h,c4,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2h,c4,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2h,c4,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2h,c4,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2h,c4,c4,c4,o2 class2 aat 0.0 112.6700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2h,c4,c4,c4,o2 class2 bb13 0.0 1.5300 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2e,c4,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2e,c4,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2e,c4,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2e,c4,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2e,c4,c4,c4,o2 class2 aat 0.0 112.6700 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,o2e,c4,c4,c4,o2 class2 bb13 0.0 1.5300 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,n2z,c4,c4,c4,n2z class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,n2z,c4,c4,c4,n2z class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,n2z,c4,c4,c4,n2z class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,n2z,c4,c4,c4,n2z class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,n2z,c4,c4,c4,n2z class2 aat 0.0 112.6700 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,n2z,c4,c4,c4,n2z class2 bb13 0.0 1.5300 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,n2=,c4,c4,c4,n2= class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,n2=,c4,c4,c4,n2= class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,n2=,c4,c4,c4,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,n2=,c4,c4,c4,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,n2=,c4,c4,c4,n2= class2 aat 0.0 112.6700 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,n2=,c4,c4,c4,n2= class2 bb13 0.0 1.5300 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,h1,c4,c4,c4,h1 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,h1,c4,c4,c4,h1 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,h1,c4,c4,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,h1,c4,c4,c4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,h1,c4,c4,c4,h1 class2 aat 0.0 112.6700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,h1,c4,c4,c4,h1 class2 bb13 0.0 1.5300 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,c4,c4,c4,c4,c4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,c4,c4,c4,c4,c4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,c4,c4,c4,c4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,c4,c4,c4,c4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,c4,c4,c4,c4,c4 class2 aat 0.0 112.6700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,c4,c4,c4,c4,c4 class2 bb13 0.0 1.5300 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,c3a,c4,c4,c4,c3a class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,c3a,c4,c4,c4,c3a class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,c3a,c4,c4,c4,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5300 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,c3a,c4,c4,c4,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 112.6700 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,c3a,c4,c4,c4,c3a class2 aat 0.0 112.6700 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c4,c4,c4,c3a,c4,c4,c4,c3a class2 bb13 0.0 1.5300 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,si4,c3a,c4,c4,si4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,si4,c3a,c4,c4,si4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,si4,c3a,c4,c4,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,si4,c3a,c4,c4,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 108.4000 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,si4,c3a,c4,c4,si4 class2 aat 0.0 108.4000 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,si4,c3a,c4,c4,si4 class2 bb13 0.0 1.5010 1.8995 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2n,c3a,c4,c4,o2n class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2n,c3a,c4,c4,o2n class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2n,c3a,c4,c4,o2n class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2n,c3a,c4,c4,o2n class2 at 0.0 0.0 0.0 0.0 0.0 0.0 108.4000 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2n,c3a,c4,c4,o2n class2 aat 0.0 108.4000 105.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2n,c3a,c4,c4,o2n class2 bb13 0.0 1.5010 1.4350 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2h,c3a,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2h,c3a,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2h,c3a,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2h,c3a,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 108.4000 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2h,c3a,c4,c4,o2 class2 aat 0.0 108.4000 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2h,c3a,c4,c4,o2 class2 bb13 0.0 1.5010 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2e,c3a,c4,c4,o2 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2e,c3a,c4,c4,o2 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2e,c3a,c4,c4,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2e,c3a,c4,c4,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 108.4000 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2e,c3a,c4,c4,o2 class2 aat 0.0 108.4000 111.2700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,o2e,c3a,c4,c4,o2 class2 bb13 0.0 1.5010 1.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,n2z,c3a,c4,c4,n2z class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,n2z,c3a,c4,c4,n2z class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,n2z,c3a,c4,c4,n2z class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,n2z,c3a,c4,c4,n2z class2 at 0.0 0.0 0.0 0.0 0.0 0.0 108.4000 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,n2z,c3a,c4,c4,n2z class2 aat 0.0 108.4000 110.9900 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,n2z,c3a,c4,c4,n2z class2 bb13 0.0 1.5010 1.4814 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,n2=,c3a,c4,c4,n2= class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,n2=,c3a,c4,c4,n2= class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,n2=,c3a,c4,c4,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,n2=,c3a,c4,c4,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 108.4000 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,n2=,c3a,c4,c4,n2= class2 aat 0.0 108.4000 117.3170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,n2=,c3a,c4,c4,n2= class2 bb13 0.0 1.5010 1.4740 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,h1,c3a,c4,c4,h1 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,h1,c3a,c4,c4,h1 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,h1,c3a,c4,c4,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,h1,c3a,c4,c4,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 108.4000 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,h1,c3a,c4,c4,h1 class2 aat 0.0 108.4000 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,h1,c3a,c4,c4,h1 class2 bb13 0.0 1.5010 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,c4,c3a,c4,c4,c4 class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,c4,c3a,c4,c4,c4 class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,c4,c3a,c4,c4,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,c4,c3a,c4,c4,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 108.4000 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,c4,c3a,c4,c4,c4 class2 aat 0.0 108.4000 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,c4,c3a,c4,c4,c4 class2 bb13 0.0 1.5010 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,c3a,c3a,c4,c4,c3a class2 0.0000 0.0 0.0000 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,c3a,c3a,c4,c4,c3a class2 mbt 0.0 0.0 0.0 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,c3a,c3a,c4,c4,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,c3a,c3a,c4,c4,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 108.4000 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,c3a,c3a,c4,c4,c3a class2 aat 0.0 108.4000 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c4,c4,X,c3a,c4,c4,c3a,c3a,c4,c4,c3a class2 bb13 0.0 1.5010 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,si4,si4,c3a,c3a,si4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,si4,si4,c3a,c3a,si4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,si4,si4,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8634 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,si4,si4,c3a,c3a,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,si4,si4,c3a,c3a,si4 class2 aat 0.0 120.0000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,si4,si4,c3a,c3a,si4 class2 bb13 0.0 1.8634 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,p4=,si4,c3a,c3a,p4= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,p4=,si4,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,p4=,si4,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8634 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,p4=,si4,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,p4=,si4,c3a,c3a,p4= class2 aat 0.0 120.0000 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,p4=,si4,c3a,c3a,p4= class2 bb13 0.0 1.8634 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2h,si4,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2h,si4,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2h,si4,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8634 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2h,si4,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2h,si4,c3a,c3a,o2 class2 aat 0.0 120.0000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2h,si4,c3a,c3a,o2 class2 bb13 0.0 1.8634 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2e,si4,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2e,si4,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2e,si4,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8634 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2e,si4,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2e,si4,c3a,c3a,o2 class2 aat 0.0 120.0000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2e,si4,c3a,c3a,o2 class2 bb13 0.0 1.8634 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2,si4,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2,si4,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2,si4,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8634 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2,si4,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2,si4,c3a,c3a,o2 class2 aat 0.0 120.0000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,o2,si4,c3a,c3a,o2 class2 bb13 0.0 1.8634 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3o,si4,c3a,c3a,n3o class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3o,si4,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3o,si4,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8634 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3o,si4,c3a,c3a,n3o class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3o,si4,c3a,c3a,n3o class2 aat 0.0 120.0000 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3o,si4,c3a,c3a,n3o class2 bb13 0.0 1.8634 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3m,si4,c3a,c3a,n3m class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3m,si4,c3a,c3a,n3m class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3m,si4,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8634 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3m,si4,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3m,si4,c3a,c3a,n3m class2 aat 0.0 120.0000 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n3m,si4,c3a,c3a,n3m class2 bb13 0.0 1.8634 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n2=,si4,c3a,c3a,n2= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n2=,si4,c3a,c3a,n2= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n2=,si4,c3a,c3a,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8634 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n2=,si4,c3a,c3a,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n2=,si4,c3a,c3a,n2= class2 aat 0.0 120.0000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,n2=,si4,c3a,c3a,n2= class2 bb13 0.0 1.8634 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,h1,si4,c3a,c3a,h1 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,h1,si4,c3a,c3a,h1 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,h1,si4,c3a,c3a,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8634 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,h1,si4,c3a,c3a,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,h1,si4,c3a,c3a,h1 class2 aat 0.0 120.0000 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,h1,si4,c3a,c3a,h1 class2 bb13 0.0 1.8634 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c4,si4,c3a,c3a,c4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c4,si4,c3a,c3a,c4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c4,si4,c3a,c3a,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8634 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c4,si4,c3a,c3a,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c4,si4,c3a,c3a,c4 class2 aat 0.0 120.0000 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c4,si4,c3a,c3a,c4 class2 bb13 0.0 1.8634 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3prime,si4,c3a,c3a,c3prime class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3prime,si4,c3a,c3a,c3prime class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3prime,si4,c3a,c3a,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8634 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3prime,si4,c3a,c3a,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3prime,si4,c3a,c3a,c3prime class2 aat 0.0 120.0000 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3prime,si4,c3a,c3a,c3prime class2 bb13 0.0 1.8634 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.8634 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a class2 aat 0.0 120.0000 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,si4,c3a,c3a,c3a,si4,c3a,c3a,c3a class2 bb13 0.0 1.8634 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,si4,p4=,c3a,c3a,si4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,si4,p4=,c3a,c3a,si4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,si4,p4=,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.7890 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,si4,p4=,c3a,c3a,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,si4,p4=,c3a,c3a,si4 class2 aat 0.0 120.0010 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,si4,p4=,c3a,c3a,si4 class2 bb13 0.0 1.7890 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,p4=,p4=,c3a,c3a,p4= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,p4=,p4=,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,p4=,p4=,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.7890 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,p4=,p4=,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,p4=,p4=,c3a,c3a,p4= class2 aat 0.0 120.0010 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,p4=,p4=,c3a,c3a,p4= class2 bb13 0.0 1.7890 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2h,p4=,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2h,p4=,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2h,p4=,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.7890 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2h,p4=,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2h,p4=,c3a,c3a,o2 class2 aat 0.0 120.0010 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2h,p4=,c3a,c3a,o2 class2 bb13 0.0 1.7890 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2e,p4=,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2e,p4=,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2e,p4=,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.7890 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2e,p4=,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2e,p4=,c3a,c3a,o2 class2 aat 0.0 120.0010 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2e,p4=,c3a,c3a,o2 class2 bb13 0.0 1.7890 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2,p4=,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2,p4=,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2,p4=,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.7890 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2,p4=,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2,p4=,c3a,c3a,o2 class2 aat 0.0 120.0010 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,o2,p4=,c3a,c3a,o2 class2 bb13 0.0 1.7890 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3o,p4=,c3a,c3a,n3o class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3o,p4=,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3o,p4=,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.7890 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3o,p4=,c3a,c3a,n3o class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3o,p4=,c3a,c3a,n3o class2 aat 0.0 120.0010 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3o,p4=,c3a,c3a,n3o class2 bb13 0.0 1.7890 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3m,p4=,c3a,c3a,n3m class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3m,p4=,c3a,c3a,n3m class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3m,p4=,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.7890 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3m,p4=,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3m,p4=,c3a,c3a,n3m class2 aat 0.0 120.0010 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n3m,p4=,c3a,c3a,n3m class2 bb13 0.0 1.7890 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n2=,p4=,c3a,c3a,n2= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n2=,p4=,c3a,c3a,n2= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n2=,p4=,c3a,c3a,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.7890 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n2=,p4=,c3a,c3a,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n2=,p4=,c3a,c3a,n2= class2 aat 0.0 120.0010 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,n2=,p4=,c3a,c3a,n2= class2 bb13 0.0 1.7890 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,h1,p4=,c3a,c3a,h1 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,h1,p4=,c3a,c3a,h1 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,h1,p4=,c3a,c3a,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.7890 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,h1,p4=,c3a,c3a,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,h1,p4=,c3a,c3a,h1 class2 aat 0.0 120.0010 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,h1,p4=,c3a,c3a,h1 class2 bb13 0.0 1.7890 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c4,p4=,c3a,c3a,c4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c4,p4=,c3a,c3a,c4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c4,p4=,c3a,c3a,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.7890 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c4,p4=,c3a,c3a,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c4,p4=,c3a,c3a,c4 class2 aat 0.0 120.0010 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c4,p4=,c3a,c3a,c4 class2 bb13 0.0 1.7890 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3prime,p4=,c3a,c3a,c3prime class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3prime,p4=,c3a,c3a,c3prime class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3prime,p4=,c3a,c3a,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.7890 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3prime,p4=,c3a,c3a,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3prime,p4=,c3a,c3a,c3prime class2 aat 0.0 120.0010 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3prime,p4=,c3a,c3a,c3prime class2 bb13 0.0 1.7890 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.7890 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0010 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a class2 aat 0.0 120.0010 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,p4=,c3a,c3a,c3a,p4=,c3a,c3a,c3a class2 bb13 0.0 1.7890 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,si4,o2,c3a,c3a,si4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,si4,o2,c3a,c3a,si4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,si4,o2,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,si4,o2,c3a,c3a,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,si4,o2,c3a,c3a,si4 class2 aat 0.0 123.4200 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,si4,o2,c3a,c3a,si4 class2 bb13 0.0 1.3768 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 aat 0.0 123.4200 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 bb13 0.0 1.3768 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 aat 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 bb13 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 aat 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 bb13 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2,o2,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2,o2,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2,o2,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2,o2,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2,o2,c3a,c3a,o2 class2 aat 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,o2,o2,c3a,c3a,o2 class2 bb13 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 aat 0.0 123.4200 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 bb13 0.0 1.3768 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 aat 0.0 123.4200 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 bb13 0.0 1.3768 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 aat 0.0 123.4200 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 bb13 0.0 1.3768 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,h1,o2,c3a,c3a,h1 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,h1,o2,c3a,c3a,h1 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,h1,o2,c3a,c3a,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,h1,o2,c3a,c3a,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,h1,o2,c3a,c3a,h1 class2 aat 0.0 123.4200 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,h1,o2,c3a,c3a,h1 class2 bb13 0.0 1.3768 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c4,o2,c3a,c3a,c4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c4,o2,c3a,c3a,c4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c4,o2,c3a,c3a,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c4,o2,c3a,c3a,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c4,o2,c3a,c3a,c4 class2 aat 0.0 123.4200 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c4,o2,c3a,c3a,c4 class2 bb13 0.0 1.3768 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 aat 0.0 123.4200 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 bb13 0.0 1.3768 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 aat 0.0 123.4200 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2h,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 bb13 0.0 1.3768 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,si4,o2,c3a,c3a,si4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,si4,o2,c3a,c3a,si4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,si4,o2,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,si4,o2,c3a,c3a,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,si4,o2,c3a,c3a,si4 class2 aat 0.0 123.4200 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,si4,o2,c3a,c3a,si4 class2 bb13 0.0 1.3768 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 aat 0.0 123.4200 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 bb13 0.0 1.3768 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 aat 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 bb13 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 aat 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 bb13 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2,o2,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2,o2,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2,o2,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2,o2,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2,o2,c3a,c3a,o2 class2 aat 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,o2,o2,c3a,c3a,o2 class2 bb13 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 aat 0.0 123.4200 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 bb13 0.0 1.3768 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 aat 0.0 123.4200 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 bb13 0.0 1.3768 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 aat 0.0 123.4200 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 bb13 0.0 1.3768 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,h1,o2,c3a,c3a,h1 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,h1,o2,c3a,c3a,h1 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,h1,o2,c3a,c3a,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,h1,o2,c3a,c3a,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,h1,o2,c3a,c3a,h1 class2 aat 0.0 123.4200 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,h1,o2,c3a,c3a,h1 class2 bb13 0.0 1.3768 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c4,o2,c3a,c3a,c4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c4,o2,c3a,c3a,c4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c4,o2,c3a,c3a,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c4,o2,c3a,c3a,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c4,o2,c3a,c3a,c4 class2 aat 0.0 123.4200 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c4,o2,c3a,c3a,c4 class2 bb13 0.0 1.3768 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 aat 0.0 123.4200 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 bb13 0.0 1.3768 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 aat 0.0 123.4200 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2e,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 bb13 0.0 1.3768 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,si4,o2,c3a,c3a,si4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,si4,o2,c3a,c3a,si4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,si4,o2,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,si4,o2,c3a,c3a,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,si4,o2,c3a,c3a,si4 class2 aat 0.0 123.4200 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,si4,o2,c3a,c3a,si4 class2 bb13 0.0 1.3768 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 aat 0.0 123.4200 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,p4=,o2,c3a,c3a,p4= class2 bb13 0.0 1.3768 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 aat 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2h,o2,c3a,c3a,o2 class2 bb13 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 aat 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2e,o2,c3a,c3a,o2 class2 bb13 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2,o2,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2,o2,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2,o2,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2,o2,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2,o2,c3a,c3a,o2 class2 aat 0.0 123.4200 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,o2,o2,c3a,c3a,o2 class2 bb13 0.0 1.3768 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 aat 0.0 123.4200 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3o,o2,c3a,c3a,n3o class2 bb13 0.0 1.3768 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 aat 0.0 123.4200 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n3m,o2,c3a,c3a,n3m class2 bb13 0.0 1.3768 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 aat 0.0 123.4200 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,n2=,o2,c3a,c3a,n2= class2 bb13 0.0 1.3768 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,h1,o2,c3a,c3a,h1 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,h1,o2,c3a,c3a,h1 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,h1,o2,c3a,c3a,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,h1,o2,c3a,c3a,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,h1,o2,c3a,c3a,h1 class2 aat 0.0 123.4200 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,h1,o2,c3a,c3a,h1 class2 bb13 0.0 1.3768 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c4,o2,c3a,c3a,c4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c4,o2,c3a,c3a,c4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c4,o2,c3a,c3a,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c4,o2,c3a,c3a,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c4,o2,c3a,c3a,c4 class2 aat 0.0 123.4200 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c4,o2,c3a,c3a,c4 class2 bb13 0.0 1.3768 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 aat 0.0 123.4200 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3prime,o2,c3a,c3a,c3prime class2 bb13 0.0 1.3768 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3768 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 123.4200 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 aat 0.0 123.4200 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a class2 bb13 0.0 1.3768 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,si4,n3o,c3a,c3a,si4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,si4,n3o,c3a,c3a,si4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,si4,n3o,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4300 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,si4,n3o,c3a,c3a,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.8000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,si4,n3o,c3a,c3a,si4 class2 aat 0.0 118.8000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,si4,n3o,c3a,c3a,si4 class2 bb13 0.0 1.4300 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,p4=,n3o,c3a,c3a,p4= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,p4=,n3o,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,p4=,n3o,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4300 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,p4=,n3o,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.8000 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,p4=,n3o,c3a,c3a,p4= class2 aat 0.0 118.8000 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,p4=,n3o,c3a,c3a,p4= class2 bb13 0.0 1.4300 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2h,n3o,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2h,n3o,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2h,n3o,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4300 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2h,n3o,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.8000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2h,n3o,c3a,c3a,o2 class2 aat 0.0 118.8000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2h,n3o,c3a,c3a,o2 class2 bb13 0.0 1.4300 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2e,n3o,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2e,n3o,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2e,n3o,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4300 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2e,n3o,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.8000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2e,n3o,c3a,c3a,o2 class2 aat 0.0 118.8000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2e,n3o,c3a,c3a,o2 class2 bb13 0.0 1.4300 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2,n3o,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2,n3o,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2,n3o,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4300 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2,n3o,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.8000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2,n3o,c3a,c3a,o2 class2 aat 0.0 118.8000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,o2,n3o,c3a,c3a,o2 class2 bb13 0.0 1.4300 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3o,n3o,c3a,c3a,n3o class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3o,n3o,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3o,n3o,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4300 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3o,n3o,c3a,c3a,n3o class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.8000 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3o,n3o,c3a,c3a,n3o class2 aat 0.0 118.8000 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3o,n3o,c3a,c3a,n3o class2 bb13 0.0 1.4300 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3m,n3o,c3a,c3a,n3m class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3m,n3o,c3a,c3a,n3m class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3m,n3o,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4300 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3m,n3o,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.8000 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3m,n3o,c3a,c3a,n3m class2 aat 0.0 118.8000 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n3m,n3o,c3a,c3a,n3m class2 bb13 0.0 1.4300 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n2=,n3o,c3a,c3a,n2= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n2=,n3o,c3a,c3a,n2= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n2=,n3o,c3a,c3a,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4300 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n2=,n3o,c3a,c3a,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.8000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n2=,n3o,c3a,c3a,n2= class2 aat 0.0 118.8000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,n2=,n3o,c3a,c3a,n2= class2 bb13 0.0 1.4300 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,h1,n3o,c3a,c3a,h1 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,h1,n3o,c3a,c3a,h1 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,h1,n3o,c3a,c3a,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4300 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,h1,n3o,c3a,c3a,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.8000 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,h1,n3o,c3a,c3a,h1 class2 aat 0.0 118.8000 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,h1,n3o,c3a,c3a,h1 class2 bb13 0.0 1.4300 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c4,n3o,c3a,c3a,c4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c4,n3o,c3a,c3a,c4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c4,n3o,c3a,c3a,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4300 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c4,n3o,c3a,c3a,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.8000 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c4,n3o,c3a,c3a,c4 class2 aat 0.0 118.8000 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c4,n3o,c3a,c3a,c4 class2 bb13 0.0 1.4300 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3prime,n3o,c3a,c3a,c3prime class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3prime,n3o,c3a,c3a,c3prime class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3prime,n3o,c3a,c3a,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4300 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3prime,n3o,c3a,c3a,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.8000 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3prime,n3o,c3a,c3a,c3prime class2 aat 0.0 118.8000 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3prime,n3o,c3a,c3a,c3prime class2 bb13 0.0 1.4300 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4300 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.8000 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a class2 aat 0.0 118.8000 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3o,c3a,c3a,c3a,n3o,c3a,c3a,c3a class2 bb13 0.0 1.4300 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,si4,n3m,c3a,c3a,si4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,si4,n3m,c3a,c3a,si4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,si4,n3m,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3950 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,si4,n3m,c3a,c3a,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.7640 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,si4,n3m,c3a,c3a,si4 class2 aat 0.0 120.7640 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,si4,n3m,c3a,c3a,si4 class2 bb13 0.0 1.3950 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,p4=,n3m,c3a,c3a,p4= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,p4=,n3m,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,p4=,n3m,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3950 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,p4=,n3m,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.7640 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,p4=,n3m,c3a,c3a,p4= class2 aat 0.0 120.7640 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,p4=,n3m,c3a,c3a,p4= class2 bb13 0.0 1.3950 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2h,n3m,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2h,n3m,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2h,n3m,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3950 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2h,n3m,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.7640 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2h,n3m,c3a,c3a,o2 class2 aat 0.0 120.7640 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2h,n3m,c3a,c3a,o2 class2 bb13 0.0 1.3950 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2e,n3m,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2e,n3m,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2e,n3m,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3950 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2e,n3m,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.7640 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2e,n3m,c3a,c3a,o2 class2 aat 0.0 120.7640 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2e,n3m,c3a,c3a,o2 class2 bb13 0.0 1.3950 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2,n3m,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2,n3m,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2,n3m,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3950 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2,n3m,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.7640 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2,n3m,c3a,c3a,o2 class2 aat 0.0 120.7640 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,o2,n3m,c3a,c3a,o2 class2 bb13 0.0 1.3950 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3o,n3m,c3a,c3a,n3o class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3o,n3m,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3o,n3m,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3950 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3o,n3m,c3a,c3a,n3o class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.7640 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3o,n3m,c3a,c3a,n3o class2 aat 0.0 120.7640 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3o,n3m,c3a,c3a,n3o class2 bb13 0.0 1.3950 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3m,n3m,c3a,c3a,n3m class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3m,n3m,c3a,c3a,n3m class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3m,n3m,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3950 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3m,n3m,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.7640 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3m,n3m,c3a,c3a,n3m class2 aat 0.0 120.7640 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n3m,n3m,c3a,c3a,n3m class2 bb13 0.0 1.3950 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n2=,n3m,c3a,c3a,n2= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n2=,n3m,c3a,c3a,n2= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n2=,n3m,c3a,c3a,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3950 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n2=,n3m,c3a,c3a,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.7640 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n2=,n3m,c3a,c3a,n2= class2 aat 0.0 120.7640 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,n2=,n3m,c3a,c3a,n2= class2 bb13 0.0 1.3950 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,h1,n3m,c3a,c3a,h1 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,h1,n3m,c3a,c3a,h1 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,h1,n3m,c3a,c3a,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3950 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,h1,n3m,c3a,c3a,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.7640 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,h1,n3m,c3a,c3a,h1 class2 aat 0.0 120.7640 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,h1,n3m,c3a,c3a,h1 class2 bb13 0.0 1.3950 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c4,n3m,c3a,c3a,c4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c4,n3m,c3a,c3a,c4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c4,n3m,c3a,c3a,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3950 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c4,n3m,c3a,c3a,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.7640 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c4,n3m,c3a,c3a,c4 class2 aat 0.0 120.7640 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c4,n3m,c3a,c3a,c4 class2 bb13 0.0 1.3950 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3prime,n3m,c3a,c3a,c3prime class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3prime,n3m,c3a,c3a,c3prime class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3prime,n3m,c3a,c3a,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3950 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3prime,n3m,c3a,c3a,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.7640 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3prime,n3m,c3a,c3a,c3prime class2 aat 0.0 120.7640 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3prime,n3m,c3a,c3a,c3prime class2 bb13 0.0 1.3950 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.3950 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.7640 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a class2 aat 0.0 120.7640 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n3m,c3a,c3a,c3a,n3m,c3a,c3a,c3a class2 bb13 0.0 1.3950 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,si4,n2=,c3a,c3a,si4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,si4,n2=,c3a,c3a,si4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,si4,n2=,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4000 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,si4,n2=,c3a,c3a,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,si4,n2=,c3a,c3a,si4 class2 aat 0.0 120.0000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,si4,n2=,c3a,c3a,si4 class2 bb13 0.0 1.4000 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4000 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4= class2 aat 0.0 120.0000 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,p4=,n2=,c3a,c3a,p4= class2 bb13 0.0 1.4000 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2h,n2=,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2h,n2=,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2h,n2=,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4000 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2h,n2=,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2h,n2=,c3a,c3a,o2 class2 aat 0.0 120.0000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2h,n2=,c3a,c3a,o2 class2 bb13 0.0 1.4000 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2e,n2=,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2e,n2=,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2e,n2=,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4000 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2e,n2=,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2e,n2=,c3a,c3a,o2 class2 aat 0.0 120.0000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2e,n2=,c3a,c3a,o2 class2 bb13 0.0 1.4000 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2,n2=,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2,n2=,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2,n2=,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4000 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2,n2=,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2,n2=,c3a,c3a,o2 class2 aat 0.0 120.0000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,o2,n2=,c3a,c3a,o2 class2 bb13 0.0 1.4000 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3o,n2=,c3a,c3a,n3o class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3o,n2=,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3o,n2=,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4000 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3o,n2=,c3a,c3a,n3o class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3o,n2=,c3a,c3a,n3o class2 aat 0.0 120.0000 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3o,n2=,c3a,c3a,n3o class2 bb13 0.0 1.4000 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3m,n2=,c3a,c3a,n3m class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3m,n2=,c3a,c3a,n3m class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3m,n2=,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4000 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3m,n2=,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3m,n2=,c3a,c3a,n3m class2 aat 0.0 120.0000 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n3m,n2=,c3a,c3a,n3m class2 bb13 0.0 1.4000 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n2=,n2=,c3a,c3a,n2= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n2=,n2=,c3a,c3a,n2= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n2=,n2=,c3a,c3a,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4000 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n2=,n2=,c3a,c3a,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n2=,n2=,c3a,c3a,n2= class2 aat 0.0 120.0000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,n2=,n2=,c3a,c3a,n2= class2 bb13 0.0 1.4000 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,h1,n2=,c3a,c3a,h1 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,h1,n2=,c3a,c3a,h1 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,h1,n2=,c3a,c3a,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4000 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,h1,n2=,c3a,c3a,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,h1,n2=,c3a,c3a,h1 class2 aat 0.0 120.0000 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,h1,n2=,c3a,c3a,h1 class2 bb13 0.0 1.4000 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c4,n2=,c3a,c3a,c4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c4,n2=,c3a,c3a,c4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c4,n2=,c3a,c3a,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4000 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c4,n2=,c3a,c3a,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c4,n2=,c3a,c3a,c4 class2 aat 0.0 120.0000 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c4,n2=,c3a,c3a,c4 class2 bb13 0.0 1.4000 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3prime,n2=,c3a,c3a,c3prime class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3prime,n2=,c3a,c3a,c3prime class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3prime,n2=,c3a,c3a,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4000 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3prime,n2=,c3a,c3a,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3prime,n2=,c3a,c3a,c3prime class2 aat 0.0 120.0000 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3prime,n2=,c3a,c3a,c3prime class2 bb13 0.0 1.4000 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3a,n2=,c3a,c3a,c3a class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3a,n2=,c3a,c3a,c3a class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3a,n2=,c3a,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4000 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3a,n2=,c3a,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0000 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3a,n2=,c3a,c3a,c3a class2 aat 0.0 120.0000 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,n2=,c3a,c3a,c3a,n2=,c3a,c3a,c3a class2 bb13 0.0 1.4000 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,si4,h1,c3a,c3a,si4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,si4,h1,c3a,c3a,si4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,si4,h1,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,si4,h1,c3a,c3a,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,si4,h1,c3a,c3a,si4 class2 aat 0.0 117.9400 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,si4,h1,c3a,c3a,si4 class2 bb13 0.0 1.0982 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= class2 aat 0.0 117.9400 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,p4=,h1,c3a,c3a,p4= class2 bb13 0.0 1.0982 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 class2 aat 0.0 117.9400 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 class2 bb13 0.0 1.0982 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 class2 aat 0.0 117.9400 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 class2 bb13 0.0 1.0982 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2,h1,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2,h1,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2,h1,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2,h1,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2,h1,c3a,c3a,o2 class2 aat 0.0 117.9400 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,o2,h1,c3a,c3a,o2 class2 bb13 0.0 1.0982 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o class2 aat 0.0 117.9400 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3o,h1,c3a,c3a,n3o class2 bb13 0.0 1.0982 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m class2 aat 0.0 117.9400 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n3m,h1,c3a,c3a,n3m class2 bb13 0.0 1.0982 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n2=,h1,c3a,c3a,n2= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n2=,h1,c3a,c3a,n2= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n2=,h1,c3a,c3a,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n2=,h1,c3a,c3a,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n2=,h1,c3a,c3a,n2= class2 aat 0.0 117.9400 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,n2=,h1,c3a,c3a,n2= class2 bb13 0.0 1.0982 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,h1,h1,c3a,c3a,h1 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,h1,h1,c3a,c3a,h1 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,h1,h1,c3a,c3a,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,h1,h1,c3a,c3a,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,h1,h1,c3a,c3a,h1 class2 aat 0.0 117.9400 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,h1,h1,c3a,c3a,h1 class2 bb13 0.0 1.0982 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c4,h1,c3a,c3a,c4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c4,h1,c3a,c3a,c4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c4,h1,c3a,c3a,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c4,h1,c3a,c3a,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c4,h1,c3a,c3a,c4 class2 aat 0.0 117.9400 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c4,h1,c3a,c3a,c4 class2 bb13 0.0 1.0982 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3prime,h1,c3a,c3a,c3prime class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3prime,h1,c3a,c3a,c3prime class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3prime,h1,c3a,c3a,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3prime,h1,c3a,c3a,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3prime,h1,c3a,c3a,c3prime class2 aat 0.0 117.9400 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3prime,h1,c3a,c3a,c3prime class2 bb13 0.0 1.0982 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0982 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 117.9400 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a class2 aat 0.0 117.9400 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a class2 bb13 0.0 1.0982 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,si4,c4,c3a,c3a,si4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,si4,c4,c3a,c3a,si4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,si4,c4,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,si4,c4,c3a,c3a,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0500 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,si4,c4,c3a,c3a,si4 class2 aat 0.0 120.0500 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,si4,c4,c3a,c3a,si4 class2 bb13 0.0 1.5010 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,p4=,c4,c3a,c3a,p4= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,p4=,c4,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,p4=,c4,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,p4=,c4,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0500 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,p4=,c4,c3a,c3a,p4= class2 aat 0.0 120.0500 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,p4=,c4,c3a,c3a,p4= class2 bb13 0.0 1.5010 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2h,c4,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2h,c4,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2h,c4,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2h,c4,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0500 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2h,c4,c3a,c3a,o2 class2 aat 0.0 120.0500 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2h,c4,c3a,c3a,o2 class2 bb13 0.0 1.5010 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2e,c4,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2e,c4,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2e,c4,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2e,c4,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0500 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2e,c4,c3a,c3a,o2 class2 aat 0.0 120.0500 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2e,c4,c3a,c3a,o2 class2 bb13 0.0 1.5010 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2,c4,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2,c4,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2,c4,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2,c4,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0500 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2,c4,c3a,c3a,o2 class2 aat 0.0 120.0500 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,o2,c4,c3a,c3a,o2 class2 bb13 0.0 1.5010 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3o,c4,c3a,c3a,n3o class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3o,c4,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3o,c4,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3o,c4,c3a,c3a,n3o class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0500 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3o,c4,c3a,c3a,n3o class2 aat 0.0 120.0500 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3o,c4,c3a,c3a,n3o class2 bb13 0.0 1.5010 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3m,c4,c3a,c3a,n3m class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3m,c4,c3a,c3a,n3m class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3m,c4,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3m,c4,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0500 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3m,c4,c3a,c3a,n3m class2 aat 0.0 120.0500 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n3m,c4,c3a,c3a,n3m class2 bb13 0.0 1.5010 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n2=,c4,c3a,c3a,n2= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n2=,c4,c3a,c3a,n2= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n2=,c4,c3a,c3a,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n2=,c4,c3a,c3a,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0500 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n2=,c4,c3a,c3a,n2= class2 aat 0.0 120.0500 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,n2=,c4,c3a,c3a,n2= class2 bb13 0.0 1.5010 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,h1,c4,c3a,c3a,h1 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,h1,c4,c3a,c3a,h1 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,h1,c4,c3a,c3a,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,h1,c4,c3a,c3a,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0500 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,h1,c4,c3a,c3a,h1 class2 aat 0.0 120.0500 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,h1,c4,c3a,c3a,h1 class2 bb13 0.0 1.5010 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c4,c4,c3a,c3a,c4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c4,c4,c3a,c3a,c4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c4,c4,c3a,c3a,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c4,c4,c3a,c3a,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0500 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c4,c4,c3a,c3a,c4 class2 aat 0.0 120.0500 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c4,c4,c3a,c3a,c4 class2 bb13 0.0 1.5010 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3prime,c4,c3a,c3a,c3prime class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3prime,c4,c3a,c3a,c3prime class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3prime,c4,c3a,c3a,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3prime,c4,c3a,c3a,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0500 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3prime,c4,c3a,c3a,c3prime class2 aat 0.0 120.0500 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3prime,c4,c3a,c3a,c3prime class2 bb13 0.0 1.5010 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.5010 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0500 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a class2 aat 0.0 120.0500 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a class2 bb13 0.0 1.5010 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,si4,c3prime,c3a,c3a,si4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,si4,c3prime,c3a,c3a,si4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,si4,c3prime,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4890 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,si4,c3prime,c3a,c3a,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,si4,c3prime,c3a,c3a,si4 class2 aat 0.0 116.0640 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,si4,c3prime,c3a,c3a,si4 class2 bb13 0.0 1.4890 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,p4=,c3prime,c3a,c3a,p4= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,p4=,c3prime,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,p4=,c3prime,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4890 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,p4=,c3prime,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,p4=,c3prime,c3a,c3a,p4= class2 aat 0.0 116.0640 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,p4=,c3prime,c3a,c3a,p4= class2 bb13 0.0 1.4890 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2h,c3prime,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2h,c3prime,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2h,c3prime,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4890 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2h,c3prime,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2h,c3prime,c3a,c3a,o2 class2 aat 0.0 116.0640 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2h,c3prime,c3a,c3a,o2 class2 bb13 0.0 1.4890 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2e,c3prime,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2e,c3prime,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2e,c3prime,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4890 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2e,c3prime,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2e,c3prime,c3a,c3a,o2 class2 aat 0.0 116.0640 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2e,c3prime,c3a,c3a,o2 class2 bb13 0.0 1.4890 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2,c3prime,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2,c3prime,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2,c3prime,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4890 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2,c3prime,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2,c3prime,c3a,c3a,o2 class2 aat 0.0 116.0640 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,o2,c3prime,c3a,c3a,o2 class2 bb13 0.0 1.4890 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3o,c3prime,c3a,c3a,n3o class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3o,c3prime,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3o,c3prime,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4890 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3o,c3prime,c3a,c3a,n3o class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3o,c3prime,c3a,c3a,n3o class2 aat 0.0 116.0640 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3o,c3prime,c3a,c3a,n3o class2 bb13 0.0 1.4890 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4890 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m class2 aat 0.0 116.0640 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n3m,c3prime,c3a,c3a,n3m class2 bb13 0.0 1.4890 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n2=,c3prime,c3a,c3a,n2= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n2=,c3prime,c3a,c3a,n2= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n2=,c3prime,c3a,c3a,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4890 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n2=,c3prime,c3a,c3a,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n2=,c3prime,c3a,c3a,n2= class2 aat 0.0 116.0640 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,n2=,c3prime,c3a,c3a,n2= class2 bb13 0.0 1.4890 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4890 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 class2 aat 0.0 116.0640 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,h1,c3prime,c3a,c3a,h1 class2 bb13 0.0 1.4890 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c4,c3prime,c3a,c3a,c4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c4,c3prime,c3a,c3a,c4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c4,c3prime,c3a,c3a,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4890 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c4,c3prime,c3a,c3a,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c4,c3prime,c3a,c3a,c4 class2 aat 0.0 116.0640 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c4,c3prime,c3a,c3a,c4 class2 bb13 0.0 1.4890 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3prime,c3prime,c3a,c3a,c3prime class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3prime,c3prime,c3a,c3a,c3prime class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3prime,c3prime,c3a,c3a,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4890 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3prime,c3prime,c3a,c3a,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3prime,c3prime,c3a,c3a,c3prime class2 aat 0.0 116.0640 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3prime,c3prime,c3a,c3a,c3prime class2 bb13 0.0 1.4890 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4890 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 116.0640 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a class2 aat 0.0 116.0640 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3prime,c3a,c3a,c3a,c3prime,c3a,c3a,c3a class2 bb13 0.0 1.4890 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 aat 0.0 118.9000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 bb13 0.0 1.4170 1.8634 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 aat 0.0 118.9000 120.0010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 bb13 0.0 1.4170 1.7890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 class2 aat 0.0 118.9000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 class2 bb13 0.0 1.4170 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 class2 aat 0.0 118.9000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 class2 bb13 0.0 1.4170 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 aat 0.0 118.9000 123.4200 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 bb13 0.0 1.4170 1.3768 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 aat 0.0 118.9000 118.8000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 bb13 0.0 1.4170 1.4300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 aat 0.0 118.9000 120.7640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 bb13 0.0 1.4170 1.3950 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n2=,c3a,c3a,c3a,n2= class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n2=,c3a,c3a,c3a,n2= class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n2=,c3a,c3a,c3a,n2= class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n2=,c3a,c3a,c3a,n2= class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n2=,c3a,c3a,c3a,n2= class2 aat 0.0 118.9000 120.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,n2=,c3a,c3a,c3a,n2= class2 bb13 0.0 1.4170 1.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 aat 0.0 118.9000 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 bb13 0.0 1.4170 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 aat 0.0 118.9000 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 bb13 0.0 1.4170 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 aat 0.0 118.9000 116.0640 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 bb13 0.0 1.4170 1.4890 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 0.0000 0.0 4.5000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 mbt 0.0 0.0 0.0 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 118.9000 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 aat 0.0 118.9000 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:X,c3a,c3a,X,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 bb13 0.0 1.4170 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:h1,c4,c4,h1,h1,c4,c4,h1,h1,c4,c4,h1 class2 -0.1432 0.0 0.0617 0.0 -0.1530 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:h1,c4,c4,h1,h1,c4,c4,h1,h1,c4,c4,h1 class2 mbt -14.2610 -0.5322 -0.4864 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:h1,c4,c4,h1,h1,c4,c4,h1,h1,c4,c4,h1 class2 ebt 0.2130 0.3120 0.0777 0.2130 0.3120 0.0777 1.1010 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:h1,c4,c4,h1,h1,c4,c4,h1,h1,c4,c4,h1 class2 at -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.7700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:h1,c4,c4,h1,h1,c4,c4,h1,h1,c4,c4,h1 class2 aat -12.5640 110.7700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:h1,c4,c4,h1,h1,c4,c4,h1,h1,c4,c4,h1 class2 bb13 0.0 1.1010 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c4,c4,h1,c4,c4,c4,h1,c4,c4,c4,h1 class2 0.0000 0.0 0.0316 0.0 -0.1681 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c4,c4,h1,c4,c4,c4,h1,c4,c4,c4,h1 class2 mbt -14.8790 -3.6581 -0.3138 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c4,c4,h1,c4,c4,c4,h1,c4,c4,c4,h1 class2 ebt 0.2486 0.2422 -0.0925 0.0814 0.0591 0.2219 1.5300 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c4,c4,h1,c4,c4,c4,h1,c4,c4,c4,h1 class2 at -0.2454 0.0000 -0.1136 0.3113 0.4516 -0.1988 112.6700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c4,c4,h1,c4,c4,c4,h1,c4,c4,c4,h1 class2 aat -16.1640 112.6700 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c4,c4,h1,c4,c4,c4,h1,c4,c4,c4,h1 class2 bb13 0.0 1.5300 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4 class2 0.0000 0.0 0.0514 0.0 -0.1430 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4 class2 mbt -17.7870 -7.1877 0.0000 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4 class2 ebt -0.0732 0.0000 0.0000 -0.0732 0.0000 0.0000 1.5300 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4 class2 at 0.3886 -0.3139 0.1389 0.3886 -0.3139 0.1389 112.6700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4 class2 aat -22.0450 112.6700 112.6700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4,c4 class2 bb13 0.0 1.5300 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c4,c4,h1,c3a,c4,c4,h1,c3a,c4,c4,h1 class2 -0.0228 0.0 0.0280 0.0 -0.1863 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c4,c4,h1,c3a,c4,c4,h1,c3a,c4,c4,h1 class2 mbt 0.0000 0.0000 0.0000 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c4,c4,h1,c3a,c4,c4,h1,c3a,c4,c4,h1 class2 ebt 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.5010 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c4,c4,h1,c3a,c4,c4,h1,c3a,c4,c4,h1 class2 at 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 108.4000 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c4,c4,h1,c3a,c4,c4,h1,c3a,c4,c4,h1 class2 aat 0.0 108.4000 110.7700 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c4,c4,h1,c3a,c4,c4,h1,c3a,c4,c4,h1 class2 bb13 0.0 1.5010 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,c4,c3a,c3a,c4,c4,c3a,c3a,c4,c4 class2 -0.2802 0.0 -0.0678 0.0 -0.0122 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,c4,c3a,c3a,c4,c4,c3a,c3a,c4,c4 class2 mbt 0.0000 0.0000 0.0000 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,c4,c3a,c3a,c4,c4,c3a,c3a,c4,c4 class2 ebt 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.4170 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,c4,c3a,c3a,c4,c4,c3a,c3a,c4,c4 class2 at 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 120.0500 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,c4,c3a,c3a,c4,c4,c3a,c3a,c4,c4 class2 aat 0.0 120.0500 108.4000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,c4,c3a,c3a,c4,c4,c3a,c3a,c4,c4 class2 bb13 0.0 1.4170 1.5300 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a class2 -0.2802 0.0 -0.0678 0.0 -0.0122 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a class2 mbt 0.0 0.0 0.0 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.4170 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0500 111.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a class2 aat 0.0 120.0500 111.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a class2 bb13 0.0 1.4170 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2,h1 class2 -0.6900 0.0 0.5097 0.0 0.0095 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2,h1 class2 mbt 1.1580 3.2697 3.5132 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2,h1 class2 ebt 0.9000 -1.3456 1.1900 3.4132 0.5873 -0.1323 1.4170 0.9494 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2,h1 class2 at -5.1360 -1.0122 0.0000 4.6852 0.0230 -0.5980 123.4200 108.1900 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2,h1 class2 aat -4.6072 123.4200 108.1900 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2,h1 class2 bb13 1.1590 1.4170 0.9494 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 class2 0.0000 0.0 1.7234 0.0 0.0000 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 class2 mbt 0.0000 5.5432 0.0000 1.4170 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 class2 ebt 0.0000 -1.5867 0.0000 0.0000 4.2641 0.0000 1.0982 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 class2 at 0.0000 1.8729 0.0000 0.0000 2.5706 0.0000 117.9400 123.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 class2 aat 4.2296 117.9400 123.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2h,h1,c3a,c3a,o2 class2 bb13 -2.0517 1.0982 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 class2 0.0000 0.0 1.7234 0.0 0.0000 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 class2 mbt 0.0000 5.5432 0.0000 1.4170 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 class2 ebt 0.0000 -1.5867 0.0000 0.0000 4.2641 0.0000 1.0982 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 class2 at 0.0000 1.8729 0.0000 0.0000 2.5706 0.0000 117.9400 123.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 class2 aat 4.2296 117.9400 123.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2e,h1,c3a,c3a,o2 class2 bb13 -2.0517 1.0982 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2,h1,c3a,c3a,o2 class2 0.0000 0.0 1.7234 0.0 0.0000 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2,h1,c3a,c3a,o2 class2 mbt 0.0000 5.5432 0.0000 1.4170 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2,h1,c3a,c3a,o2 class2 ebt 0.0000 -1.5867 0.0000 0.0000 4.2641 0.0000 1.0982 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2,h1,c3a,c3a,o2 class2 at 0.0000 1.8729 0.0000 0.0000 2.5706 0.0000 117.9400 123.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2,h1,c3a,c3a,o2 class2 aat 4.2296 117.9400 123.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:h1,c3a,c3a,o2,h1,c3a,c3a,o2,h1,c3a,c3a,o2 class2 bb13 -2.0517 1.0982 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 class2 0.0000 0.0 4.8498 0.0 0.0000 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 class2 mbt 0.0000 4.8255 0.0000 1.4170 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 class2 ebt 0.0000 0.2655 0.0000 0.0000 4.8905 0.0000 1.4170 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 class2 at 0.0000 10.0155 0.0000 0.0000 1.7404 0.0000 118.9000 123.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 class2 aat -21.0247 118.9000 123.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2h,c3a,c3a,c3a,o2 class2 bb13 -2.2436 1.4170 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 class2 0.0000 0.0 4.8498 0.0 0.0000 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 class2 mbt 0.0000 4.8255 0.0000 1.4170 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 class2 ebt 0.0000 0.2655 0.0000 0.0000 4.8905 0.0000 1.4170 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 class2 at 0.0000 10.0155 0.0000 0.0000 1.7404 0.0000 118.9000 123.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 class2 aat -21.0247 118.9000 123.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2e,c3a,c3a,c3a,o2 class2 bb13 -2.2436 1.4170 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 0.0000 0.0 4.8498 0.0 0.0000 0.0 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 mbt 0.0000 4.8255 0.0000 1.4170 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 ebt 0.0000 0.2655 0.0000 0.0000 4.8905 0.0000 1.4170 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 at 0.0000 10.0155 0.0000 0.0000 1.7404 0.0000 118.9000 123.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 aat -21.0247 118.9000 123.4200 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 bb13 -2.2436 1.4170 1.3768 # (ver=1.0, ref=3) + dihedral_coeff @dihedral:c3a,c3a,c4,h1,c3a,c3a,c4,h1,c3a,c3a,c4,h1 class2 -0.2802 0.0 -0.0678 0.0 -0.0122 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,h1,c3a,c3a,c4,h1,c3a,c3a,c4,h1 class2 mbt -5.5679 1.4083 0.3010 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,h1,c3a,c3a,c4,h1,c3a,c3a,c4,h1 class2 ebt -0.5835 1.1220 0.3978 1.3997 0.7756 0.0000 1.4170 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,h1,c3a,c3a,c4,h1,c3a,c3a,c4,h1 class2 at 0.2251 0.6548 0.1237 4.6266 0.1632 0.0461 120.0500 111.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,h1,c3a,c3a,c4,h1,c3a,c3a,c4,h1 class2 aat -5.8888 120.0500 111.0000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c4,h1,c3a,c3a,c4,h1,c3a,c3a,c4,h1 class2 bb13 -3.4826 1.4170 1.1010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:h1,c3a,c3a,h1,h1,c3a,c3a,h1,h1,c3a,c3a,h1 class2 0.0000 0.0 2.3500 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:h1,c3a,c3a,h1,h1,c3a,c3a,h1,h1,c3a,c3a,h1 class2 mbt 0.0000 4.8228 0.0000 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:h1,c3a,c3a,h1,h1,c3a,c3a,h1,h1,c3a,c3a,h1 class2 ebt 0.0000 -0.6890 0.0000 0.0000 -0.6890 0.0000 1.0982 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:h1,c3a,c3a,h1,h1,c3a,c3a,h1,h1,c3a,c3a,h1 class2 at 0.0000 2.4501 0.0000 0.0000 2.4501 0.0000 117.9400 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:h1,c3a,c3a,h1,h1,c3a,c3a,h1,h1,c3a,c3a,h1 class2 aat 0.3598 117.9400 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:h1,c3a,c3a,h1,h1,c3a,c3a,h1,h1,c3a,c3a,h1 class2 bb13 -1.7077 1.0982 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c3a,c3a,h1,c4,c3a,c3a,h1,c4,c3a,c3a,h1 class2 0.0000 0.0 1.5590 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c3a,c3a,h1,c4,c3a,c3a,h1,c4,c3a,c3a,h1 class2 mbt 0.0000 3.9421 0.0000 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c3a,c3a,h1,c4,c3a,c3a,h1,c4,c3a,c3a,h1 class2 ebt 0.0000 -1.7970 0.0000 0.0000 -0.4879 0.0000 1.5010 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c3a,c3a,h1,c4,c3a,c3a,h1,c4,c3a,c3a,h1 class2 at 0.0000 -0.1242 0.0000 0.0000 3.4601 0.0000 120.0500 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c3a,c3a,h1,c4,c3a,c3a,h1,c4,c3a,c3a,h1 class2 aat 4.4444 120.0500 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c4,c3a,c3a,h1,c4,c3a,c3a,h1,c4,c3a,c3a,h1 class2 bb13 0.8743 1.5010 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 0.0000 0.0 3.9661 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 mbt 0.0000 -1.1521 0.0000 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 ebt 0.0000 -6.8958 0.0000 0.0000 -0.4669 0.0000 1.4170 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 at 0.0000 2.5014 0.0000 0.0000 2.7147 0.0000 118.9000 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 aat -4.8141 118.9000 117.9400 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,h1,c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 bb13 -6.2741 1.4170 1.0982 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 0.0000 0.0 4.4072 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 mbt 0.0000 9.1792 0.0000 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 ebt 0.0000 -0.6918 0.0000 0.0000 0.2421 0.0000 1.4170 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 at 0.0000 3.8987 0.0000 0.0000 -4.4683 0.0000 118.9000 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 aat -14.4097 118.9000 120.0500 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,c4,c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 bb13 2.5085 1.4170 1.5010 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 8.3667 0.0 1.2000 0.0 0.0000 0.0 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 mbt 27.5989 -2.3120 0.0000 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 ebt -0.1185 6.3204 0.0000 -0.1185 6.3204 0.0000 1.4170 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 at 1.9767 1.0239 0.0000 1.9767 1.0239 0.0000 118.9000 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 aat 0.0000 118.9000 118.9000 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 bb13 53.0000 1.4170 1.4170 # (ver=1.0, ref=1) + dihedral_coeff @dihedral:c3prime,n3m,c3prime,o1,X,X,X,X,X,X,X,X class2 -0.4066 0.0 1.2513 0.0 -0.7507 0.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,n3m,c3prime,o1,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,n3m,c3prime,o1,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,n3m,c3prime,o1,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,n3m,c3prime,o1,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c3prime,n3m,c3prime,o1,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=7) + dihedral_coeff @dihedral:c4,c4,n3o,o1=,X,X,X,X,X,X,X,X class2 0.0000 0.0 0.0000 0.0 -0.3500 0.0 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,c4,n3o,o1=,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,c4,n3o,o1=,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,c4,n3o,o1=,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,c4,n3o,o1=,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:c4,c4,n3o,o1=,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=6) + dihedral_coeff @dihedral:X,n3,p4=,X,X,X,X,X,X,X,X,X class2 0.0000 0.0 0.0000 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n3,p4=,X,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n3,p4=,X,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n3,p4=,X,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n3,p4=,X,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,n3,p4=,X,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,n2=,X,X,X,X,X,X,X,X,X class2 0.0000 0.0 1.0000 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,n2=,X,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,n2=,X,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,n2=,X,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,n2=,X,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,c3a,n2=,X,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,o2,p4=,X,X,X,X,X,X,X,X,X class2 5.7080 0.0 2.1180 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,o2,p4=,X,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,o2,p4=,X,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,o2,p4=,X,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,o2,p4=,X,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:X,o2,p4=,X,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,o2,X,X,X,X,X,X,X,X class2 5.7080 0.0 2.1180 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,o2,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,o2,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,o2,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,o2,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,o2,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,n2=,X,X,X,X,X,X,X,X class2 5.7080 0.0 2.1180 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,n2=,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,n2=,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,n2=,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,n2=,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,n2=,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,h1,X,X,X,X,X,X,X,X class2 5.7080 0.0 2.1180 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,h1,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,h1,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,h1,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,h1,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2,p4=,h1,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,o2,X,X,X,X,X,X,X,X class2 0.0000 0.0 0.0000 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,o2,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,o2,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,o2,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,o2,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,o2,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,n2=,X,X,X,X,X,X,X,X class2 0.0000 0.0 0.0000 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,n2=,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,n2=,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,n2=,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,n2=,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,n2=,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,h1,X,X,X,X,X,X,X,X class2 0.0000 0.0 0.0000 0.0 0.0000 0.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,h1,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,h1,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,h1,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,h1,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,n3,p4=,h1,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=4) + dihedral_coeff @dihedral:h1,o2z,si4,o2z,X,X,X,X,X,X,X,X class2 0.0000 0.0 0.0000 0.0 -0.0500 0.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,o2z,si4,o2z,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,o2z,si4,o2z,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,o2z,si4,o2z,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,o2z,si4,o2z,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,o2z,si4,o2z,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,o2z,si4,h1,X,X,X,X,X,X,X,X class2 0.0000 0.0 0.0000 0.0 -0.0500 0.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,o2z,si4,h1,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,o2z,si4,h1,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,o2z,si4,h1,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,o2z,si4,h1,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:h1,o2z,si4,h1,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:c4,si4,o2z,h1,X,X,X,X,X,X,X,X class2 0.0000 0.0 0.0000 0.0 -0.0500 0.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:c4,si4,o2z,h1,X,X,X,X,X,X,X,X class2 mbt 0.0 0.0 0.0 1.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:c4,si4,o2z,h1,X,X,X,X,X,X,X,X class2 ebt 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:c4,si4,o2z,h1,X,X,X,X,X,X,X,X class2 at 0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:c4,si4,o2z,h1,X,X,X,X,X,X,X,X class2 aat 0.0 120.0 120.0 # (ver=1.0, ref=2) + dihedral_coeff @dihedral:c4,si4,o2z,h1,X,X,X,X,X,X,X,X class2 bb13 0.0 1.0 1.0 # (ver=1.0, ref=2) + } # end of dihedral_coeff commands + + + # --------------- Improper Interactions: --------------------- + + + # -- Rules for generating (4-body) "improper" interactions: -- + # ImproperType AtmType1 AtmType2 AtmType3 AtmType3 [BondType1 Bnd2 Bnd3] + + write_once("Data Impropers By Type (cenJsortIKL)") { + @improper:c4,c4,c4,c4,c4,c4,c4,c4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ac4,d*,ic4 + @improper:c3a,c4,h1,h1,c3a,c4,h1,h1 @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,ah1,d*,ih1 + @improper:c4,c4,h1,o2,c4,c4,h1,o2 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,ao2,d*,io2 + @improper:h1,c4,h1,n2=,h1,c4,h1,n2= @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,an2=,d*,in2= + @improper:h1,c4,h1,si4,h1,c4,h1,si4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,asi4,d*,isi4 + @improper:c4,si4,c4,h1,c4,si4,c4,h1 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,asi4,d*,isi4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ah1,d*,ih1 + @improper:h1,c4,h1,h1,h1,c4,h1,h1 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,ah1,d*,ih1 + @improper:c4,c4,c4,h1,c4,c4,c4,h1 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ah1,d*,ih1 + @improper:c4,si4,c4,si4,c4,si4,c4,si4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,asi4,d*,isi4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,asi4,d*,isi4 + @improper:c4,c4,h1,h1,c4,c4,h1,h1 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,ah1,d*,ih1 + @improper:h1,si4,h1,h1,h1,si4,h1,h1 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,asi4,d*,isi4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,ah1,d*,ih1 + @improper:h1,si4,si4,si4,h1,si4,si4,si4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,asi4,d*,isi4 @atom:*,p*,b*,asi4,d*,isi4 @atom:*,p*,b*,asi4,d*,isi4 + @improper:c4,si4,si4,si4,c4,si4,si4,si4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,asi4,d*,isi4 @atom:*,p*,b*,asi4,d*,isi4 @atom:*,p*,b*,asi4,d*,isi4 + @improper:c3a,c4,c4,h1,c3a,c4,c4,h1 @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ah1,d*,ih1 + @improper:c3prime,c4,h1,h1,c3prime,c4,h1,h1 @atom:*,p*,b*,ac3prime,d*,ic3prime @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,ah1,d*,ih1 + @improper:c4,si4,h1,si4,c4,si4,h1,si4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,asi4,d*,isi4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,asi4,d*,isi4 + @improper:c4,c4,c4,o2,c4,c4,c4,o2 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ao2,d*,io2 + @improper:h1,c4,h1,o2,h1,c4,h1,o2 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,ao2,d*,io2 + @improper:c4,c4,h1,n2=,c4,c4,h1,n2= @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,an2=,d*,in2= + @improper:c4,si4,h1,h1,c4,si4,h1,h1 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,asi4,d*,isi4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,ah1,d*,ih1 + @improper:h1,si4,h1,si4,h1,si4,h1,si4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,asi4,d*,isi4 @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,asi4,d*,isi4 + @improper:c3a,c3prime,n3m,o1=,c3a,c3prime,n3m,o1= @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3prime,d*,ic3prime @atom:*,p*,b*,an3m,d*,in3m @atom:*,p*,b*,ao1=,d*,io1= + @improper:c3a,c3a,c3a,n2=,c3a,c3a,c3a,n2= @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,an2=,d*,in2= + @improper:c3a,n3m,c3prime,c3prime,c3a,n3m,c3prime,c3prime @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,an3m,d*,in3m @atom:*,p*,b*,ac3prime,d*,ic3prime @atom:*,p*,b*,ac3prime,d*,ic3prime + @improper:c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,asi4,d*,isi4 + @improper:c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ap4=,d*,ip4= + @improper:c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3prime,d*,ic3prime + @improper:c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,an3m,d*,in3m + @improper:c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,an3o,d*,in3o + @improper:o1=,n3o,o1=,o2,o1=,n3o,o1=,o2n @atom:*,p*,b*,ao1=,d*,io1= @atom:*,p*,b*,an3o,d*,in3o @atom:*,p*,b*,ao1=,d*,io1= @atom:*,p*,b*,ao2n,d*,io2 + @improper:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ao2,d*,io2 + @improper:h1,n3o,o1=,o1=,h1,n3o,o1=,o1= @atom:*,p*,b*,ah1,d*,ih1 @atom:*,p*,b*,an3o,d*,in3o @atom:*,p*,b*,ao1=,d*,io1= @atom:*,p*,b*,ao1=,d*,io1= + @improper:c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ah1,d*,ih1 + @improper:c4,c3prime,o1=,o2,c4,c3prime,o1=,o2 @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,ac3prime,d*,ic3prime @atom:*,p*,b*,ao1=,d*,io1= @atom:*,p*,b*,ao2,d*,io2 + @improper:c4,n3o,o1=,o1=,c4,n3o,o1=,o1= @atom:*,p*,b*,ac4,d*,ic4 @atom:*,p*,b*,an3o,d*,in3o @atom:*,p*,b*,ao1=,d*,io1= @atom:*,p*,b*,ao1=,d*,io1= + @improper:c3a,n3o,o1=,o1=,c3a,n3o,o1=,o1= @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,an3o,d*,in3o @atom:*,p*,b*,ao1=,d*,io1= @atom:*,p*,b*,ao1=,d*,io1= + @improper:c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac4,d*,ic4 + @improper:c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a @atom:*,p*,b*,ac3a,d*,ic3a + @improper:c3a,c3prime,c3prime,n3m,X,X,X,X @atom:*,p*,b*,a*,d*,ic3a @atom:*,p*,b*,a*,d*,ic3prime @atom:*,p*,b*,a*,d*,ic3prime @atom:*,p*,b*,a*,d*,in3m + @improper:c3a,o1=,c3prime,n3m,X,X,X,X @atom:*,p*,b*,a*,d*,ic3a @atom:*,p*,b*,a*,d*,io1= @atom:*,p*,b*,a*,d*,ic3prime @atom:*,p*,b*,a*,d*,in3m + } # end of "Data Impropers By Type" section + + + + # ------- Improper Force Field Parameters: ------- + # For an explanation of these parameters, visit: + # http://lammps.sandia.gov/doc/improper_class2.html + +# Syntax: + # improper_coeff ImproperTypeName ImproperStyle parameters... + + + write_once("In Settings") { + improper_coeff @improper:c4,c4,c4,c4,c4,c4,c4,c4 class2 0.0 0.0 # (ver=1.0, ref=1) + improper_coeff @improper:c4,c4,c4,c4,c4,c4,c4,c4 class2 aa -0.1729 -0.1729 -0.1729 112.6700 112.6700 112.6700 # (ver=1.0, ref=1) + improper_coeff @improper:c3a,c4,h1,h1,c3a,c4,h1,h1 class2 0.0 0.0 # (ver=1.0, ref=1) + improper_coeff @improper:c3a,c4,h1,h1,c3a,c4,h1,h1 class2 aa 2.3794 3.0118 2.3794 111.0000 111.0000 107.6600 # (ver=1.0, ref=1) + improper_coeff @improper:c4,c4,h1,o2,c4,c4,h1,o2 class2 0.0 0.0 # (ver=1.0, ref=3) + improper_coeff @improper:c4,c4,h1,o2,c4,c4,h1,o2 class2 aa 3.9177 2.5926 0.1689 110.7700 111.2700 108.7280 # (ver=1.0, ref=3) + improper_coeff @improper:h1,c4,h1,n2=,h1,c4,h1,n2= class2 0.0 0.0 # (ver=1.0, ref=4) + improper_coeff @improper:h1,c4,h1,n2=,h1,c4,h1,n2= class2 aa 1.7680 1.7680 -2.9470 107.6600 107.4990 107.4990 # (ver=1.0, ref=4) + improper_coeff @improper:h1,c4,h1,si4,h1,c4,h1,si4 class2 0.0 0.0 # (ver=1.0, ref=10) + improper_coeff @improper:h1,c4,h1,si4,h1,c4,h1,si4 class2 aa 0.0000 0.0000 2.2050 107.6600 112.0355 112.0355 # (ver=1.0, ref=10) + improper_coeff @improper:c4,si4,c4,h1,c4,si4,c4,h1 class2 0.0 0.0 # (ver=1.0, ref=10) + improper_coeff @improper:c4,si4,c4,h1,c4,si4,c4,h1 class2 aa 3.3827 3.3827 2.7963 113.1855 112.0977 112.0977 # (ver=1.0, ref=10) + improper_coeff @improper:h1,c4,h1,h1,h1,c4,h1,h1 class2 0.0 0.0 # (ver=1.0, ref=1) + improper_coeff @improper:h1,c4,h1,h1,h1,c4,h1,h1 class2 aa -0.3157 -0.3157 -0.3157 107.6600 107.6600 107.6600 # (ver=1.0, ref=1) + improper_coeff @improper:c4,c4,c4,h1,c4,c4,c4,h1 class2 0.0 0.0 # (ver=1.0, ref=1) + improper_coeff @improper:c4,c4,c4,h1,c4,c4,c4,h1 class2 aa -1.3199 -1.3199 0.1184 112.6700 110.7700 110.7700 # (ver=1.0, ref=1) + improper_coeff @improper:c4,si4,c4,si4,c4,si4,c4,si4 class2 0.0 0.0 # (ver=1.0, ref=10) + improper_coeff @improper:c4,si4,c4,si4,c4,si4,c4,si4 class2 aa 1.3465 1.3465 2.0805 113.1855 113.0000 113.0000 # (ver=1.0, ref=10) + improper_coeff @improper:c4,c4,h1,h1,c4,c4,h1,h1 class2 0.0 0.0 # (ver=1.0, ref=7) + improper_coeff @improper:c4,c4,h1,h1,c4,c4,h1,h1 class2 aa 0.2738 -0.4825 0.2738 110.7700 110.7700 107.6600 # (ver=1.0, ref=7) + improper_coeff @improper:h1,si4,h1,h1,h1,si4,h1,h1 class2 0.0 0.0 # (ver=1.0, ref=10) + improper_coeff @improper:h1,si4,h1,h1,h1,si4,h1,h1 class2 aa 2.0665 2.0665 2.0665 108.6051 108.6051 108.6051 # (ver=1.0, ref=10) + improper_coeff @improper:h1,si4,si4,si4,h1,si4,si4,si4 class2 0.0 0.0 # (ver=1.0, ref=10) + improper_coeff @improper:h1,si4,si4,si4,h1,si4,si4,si4 class2 aa 4.1996 3.4924 4.1996 112.0893 112.0893 114.2676 # (ver=1.0, ref=10) + improper_coeff @improper:c4,si4,si4,si4,c4,si4,si4,si4 class2 0.0 0.0 # (ver=1.0, ref=10) + improper_coeff @improper:c4,si4,si4,si4,c4,si4,si4,si4 class2 aa 4.5272 -5.6849 4.5272 113.0000 113.0000 114.2676 # (ver=1.0, ref=10) + improper_coeff @improper:c3a,c4,c4,h1,c3a,c4,c4,h1 class2 0.0 0.0 # (ver=1.0, ref=1) + improper_coeff @improper:c3a,c4,c4,h1,c3a,c4,c4,h1 class2 aa -1.8202 2.0403 1.0827 108.4000 111.0000 110.7700 # (ver=1.0, ref=1) + improper_coeff @improper:c3prime,c4,h1,h1,c3prime,c4,h1,h1 class2 0.0 0.0 # (ver=1.0, ref=7) + improper_coeff @improper:c3prime,c4,h1,h1,c3prime,c4,h1,h1 class2 aa -1.7653 0.0 -1.7653 107.8594 107.8594 107.6600 # (ver=1.0, ref=7) + improper_coeff @improper:c4,si4,h1,si4,c4,si4,h1,si4 class2 0.0 0.0 # (ver=1.0, ref=10) + improper_coeff @improper:c4,si4,h1,si4,c4,si4,h1,si4 class2 aa 3.4758 0.0 -2.9623 112.0977 113.0000 112.0893 # (ver=1.0, ref=10) + improper_coeff @improper:c4,c4,c4,o2,c4,c4,c4,o2 class2 0.0 0.0 # (ver=1.0, ref=3) + improper_coeff @improper:c4,c4,c4,o2,c4,c4,c4,o2 class2 aa -0.8330 -0.8330 -3.5744 112.6700 111.2700 111.2700 # (ver=1.0, ref=3) + improper_coeff @improper:h1,c4,h1,o2,h1,c4,h1,o2 class2 0.0 0.0 # (ver=1.0, ref=3) + improper_coeff @improper:h1,c4,h1,o2,h1,c4,h1,o2 class2 aa 2.4259 2.4259 2.1283 107.6600 108.7280 108.7280 # (ver=1.0, ref=3) + improper_coeff @improper:c4,c4,h1,n2=,c4,c4,h1,n2= class2 0.0 0.0 # (ver=1.0, ref=4) + improper_coeff @improper:c4,c4,h1,n2=,c4,c4,h1,n2= class2 aa 2.7530 1.0910 -1.3060 110.7700 117.3170 107.4990 # (ver=1.0, ref=4) + improper_coeff @improper:c4,si4,h1,h1,c4,si4,h1,h1 class2 0.0 0.0 # (ver=1.0, ref=10) + improper_coeff @improper:c4,si4,h1,h1,c4,si4,h1,h1 class2 aa 4.4559 4.6809 4.4559 112.0977 112.0977 108.6051 # (ver=1.0, ref=10) + improper_coeff @improper:h1,si4,h1,si4,h1,si4,h1,si4 class2 0.0 0.0 # (ver=1.0, ref=10) + improper_coeff @improper:h1,si4,h1,si4,h1,si4,h1,si4 class2 aa 0.0 0.0 1.6082 108.6051 112.0893 112.0893 # (ver=1.0, ref=10) + improper_coeff @improper:c3a,c3prime,n3m,o1=,c3a,c3prime,n3m,o1= class2 30.0000 -0.0 # (ver=1.0, ref=7) + improper_coeff @improper:c3a,c3prime,n3m,o1=,c3a,c3prime,n3m,o1= class2 aa 0.0 0.0 0.0 108.4400 125.5320 121.5420 # (ver=1.0, ref=7) + improper_coeff @improper:c3a,c3a,c3a,n2=,c3a,c3a,c3a,n2= class2 8.0000 -0.0 # (ver=1.0, ref=4) + improper_coeff @improper:c3a,c3a,c3a,n2=,c3a,c3a,c3a,n2= class2 aa 0.0 0.0 0.0 118.9000 120.0000 120.0000 # (ver=1.0, ref=4) + improper_coeff @improper:c3a,n3m,c3prime,c3prime,c3a,n3m,c3prime,c3prime class2 0.0000 -0.0 # (ver=1.0, ref=7) + improper_coeff @improper:c3a,n3m,c3prime,c3prime,c3a,n3m,c3prime,c3prime class2 aa 0.0 0.0 0.0 120.0700 120.0700 121.9556 # (ver=1.0, ref=7) + improper_coeff @improper:c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 5.3654 0.0 # (ver=1.0, ref=10) + improper_coeff @improper:c3a,c3a,c3a,si4,c3a,c3a,c3a,si4 class2 aa 0.0 0.0 0.0 118.9000 120.0000 120.0000 # (ver=1.0, ref=10) + improper_coeff @improper:c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 6.7090 -0.0 # (ver=1.0, ref=4) + improper_coeff @improper:c3a,c3a,c3a,p4=,c3a,c3a,c3a,p4= class2 aa 0.0 0.0 0.0 118.9000 120.0010 120.0010 # (ver=1.0, ref=4) + improper_coeff @improper:c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 17.0526 -0.0 # (ver=1.0, ref=7) + improper_coeff @improper:c3a,c3a,c3a,c3prime,c3a,c3a,c3a,c3prime class2 aa 0.0 0.0 0.0 118.9000 116.0640 116.0640 # (ver=1.0, ref=7) + improper_coeff @improper:c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 17.0526 0.0 # (ver=1.0, ref=7) + improper_coeff @improper:c3a,c3a,c3a,n3m,c3a,c3a,c3a,n3m class2 aa 0.0 0.0 0.0 118.9000 120.7640 120.7640 # (ver=1.0, ref=7) + improper_coeff @improper:c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 0.9194 -0.0 # (ver=1.0, ref=6) + improper_coeff @improper:c3a,c3a,c3a,n3o,c3a,c3a,c3a,n3o class2 aa 0.0 0.0 0.0 118.9000 118.8000 118.8000 # (ver=1.0, ref=6) + improper_coeff @improper:o1=,n3o,o1=,o2,o1=,n3o,o1=,o2n class2 45.0000 -0.0 # (ver=1.0, ref=6) + improper_coeff @improper:o1=,n3o,o1=,o2,o1=,n3o,o1=,o2n class2 aa 0.0 0.0 0.0 128.0000 112.8000 112.8000 # (ver=1.0, ref=6) + improper_coeff @improper:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 13.0421 -0.0 # (ver=1.0, ref=3) + improper_coeff @improper:c3a,c3a,c3a,o2,c3a,c3a,c3a,o2 class2 aa 0.0000 0.0000 0.0000 118.9000 123.4200 123.4200 # (ver=1.0, ref=3) + improper_coeff @improper:h1,n3o,o1=,o1=,h1,n3o,o1=,o1= class2 38.5581 -0.0 # (ver=1.0, ref=6) + improper_coeff @improper:h1,n3o,o1=,o1=,h1,n3o,o1=,o1= class2 aa 0.0 0.0 0.0 115.7000 115.7000 128.0000 # (ver=1.0, ref=6) + improper_coeff @improper:c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 4.8912 -0.0 # (ver=1.0, ref=1) + improper_coeff @improper:c3a,c3a,c3a,h1,c3a,c3a,c3a,h1 class2 aa 0.0000 0.0000 0.0000 118.9000 117.9400 117.9400 # (ver=1.0, ref=1) + improper_coeff @improper:c4,c3prime,o1=,o2,c4,c3prime,o1=,o2 class2 46.9264 0.0 # (ver=1.0, ref=7) + improper_coeff @improper:c4,c3prime,o1=,o2,c4,c3prime,o1=,o2 class2 aa 0.0 0.0 0.0 119.3000 100.3182 118.9855 # (ver=1.0, ref=7) + improper_coeff @improper:c4,n3o,o1=,o1=,c4,n3o,o1=,o1= class2 44.3062 -0.0 # (ver=1.0, ref=6) + improper_coeff @improper:c4,n3o,o1=,o1=,c4,n3o,o1=,o1= class2 aa 0.0 0.0 0.0 117.5000 117.5000 128.0000 # (ver=1.0, ref=6) + improper_coeff @improper:c3a,n3o,o1=,o1=,c3a,n3o,o1=,o1= class2 36.2612 -0.0 # (ver=1.0, ref=6) + improper_coeff @improper:c3a,n3o,o1=,o1=,c3a,n3o,o1=,o1= class2 aa 0.0 0.0 0.0 117.7000 117.7000 128.0000 # (ver=1.0, ref=6) + improper_coeff @improper:c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 7.8153 -0.0 # (ver=1.0, ref=1) + improper_coeff @improper:c3a,c3a,c3a,c4,c3a,c3a,c3a,c4 class2 aa 0.0 0.0 0.0 118.9000 120.0500 120.0500 # (ver=1.0, ref=1) + improper_coeff @improper:c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 7.1794 -0.0 # (ver=1.0, ref=1) + improper_coeff @improper:c3a,c3a,c3a,c3a,c3a,c3a,c3a,c3a class2 aa 0.0000 0.0000 0.0000 118.9000 118.9000 118.9000 # (ver=1.0, ref=1) + improper_coeff @improper:c3a,c3prime,c3prime,n3m,X,X,X,X class2 0.0000 -0.0 # (ver=1.0, ref=7) + improper_coeff @improper:c3a,c3prime,c3prime,n3m,X,X,X,X class2 aa 0.0 0.0 0.0 120.0 120.0 120.0 # (ver=1.0, ref=7) + improper_coeff @improper:c3a,o1=,c3prime,n3m,X,X,X,X class2 30.0000 -0.0 # (ver=1.0, ref=7) + improper_coeff @improper:c3a,o1=,c3prime,n3m,X,X,X,X class2 aa 0.0 0.0 0.0 120.0 120.0 120.0 # (ver=1.0, ref=7) + } # end of improper_coeff commands + + + + + + + # -------------------- Select LAMMPS style(s) ------------------ + + + # LAMMPS supports many different kinds of bonded and non-bonded + # interactions which can be selected at run time. Eventually + # we must inform LAMMPS which of them we will need. We specify + # this in the "In Init" section: + + write_once("In Init") { + units real + atom_style full + bond_style hybrid class2 + # http://lammps.sandia.gov/doc/bond_class2.html + + angle_style hybrid class2 + # http://lammps.sandia.gov/doc/angle_class2.html + + dihedral_style hybrid class2 + # http://lammps.sandia.gov/doc/dihedral_class2.html + + improper_style hybrid class2 + # http://lammps.sandia.gov/doc/improper_class2.html + + pair_style hybrid lj/class2/coul/long 10.0 + # http://lammps.sandia.gov/doc/pair_class2.html + + pair_modify mix sixthpower tail yes + special_bonds lj/coul 0.0 0.0 1.0 dihedral yes + kspace_style pppm 0.0001 + } #end of init parameters + +} # COMPASS + +# +# WARNING: The following 1-2, 1-3, and 1-4 weighting parameters were ASSUMED: +# special_bonds lj/coul 0.0 0.0 1.0 dihedral yes +# (See http://lammps.sandia.gov/doc/special_bonds.html for details) + + + + +# ---- templates from the original .frc file used for atom type selection: --- +# +# type: ? +# template: (>*) +# end_type +# +# type: ar +# template: (>Ar) +# end_type +# +# type:c1o +# template: [>C[~O]] +# end_type +# +# type:c2= +# template: [>C[~*][~*]] +# end_type +# +# type:c3' +# template: (>C (~O) (~*) (~*)) +# atom_test:1 +# hybridization:sp2 +# end_test +# atom_test:3 +# allowed_elements: C, H +# end_test +# atom_test:4 +# allowed_elements: O, N +# end_test +# end_type +# +# type:c3a +# template:(>C(~*)(~*)(~*)) +# atom_test:1 +# hybridization: SP2 +# aromaticity:AROMATIC +# end_test +# end_type +# +# type:c3a +# template: [>C(-*)(:*)(:*)] +# atom_test:1 +# hybridization:SP2 +# aromaticity:NON_AROMATIC +# end_test +# end_type +# +# type:c4 +# template: (>C(-*)(-*)(-*)(-*)) +# atom_test:1 +# hybridization:SP3 +# end_test +# end_type +# +# type:c41o +# template: [>C(-O(-*))(-H)(-H)(-H)] +# atom_test:1 +# hybridization:SP3 +# end_test +# atom_test:3 +# allowed_elements:C,H +# end_type +# +# type: c43 +# template: (>C(-H)(-*)(-*)(-*)) +# atom_test:1 +# hybridization:SP3 +# atom_test:3 +# disallowed_elements:H +# atom_test:4 +# disallowed_elements:H +# atom_test:5 +# disallowed_elements:H +# end_test +# end_type +# +# type:c43o +# template: [>C(-O(-H))(-H)(-C)(-C)] +# atom_test:1 +# hybridization:SP3 +# end_test +# end_type +# +# type: c44 +# template: (>C(-*)(-*)(-*)(-*)) +# atom_test:1 +# hybridization:SP3 +# atom_test:2 +# disallowed_elements:H +# atom_test:3 +# disallowed_elements:H +# atom_test:4 +# disallowed_elements:H +# atom_test:5 +# disallowed_elements:H +# end_test +# end_type +# +# type: c4o +# template: (>C(-O)(-*)(-*)(-*)) +# atom_test:1 +# hybridization:SP3 +# end_test +# end_type +# +# type: c4z +# template: (>C(-N(~N(~N)))(-*)(-*)(-*)) +# atom_test:1 +# hybridization:SP3 +# end_test +# end_type +# +# type:h1 +# template: (>H (-*) ) +# atom_test:2 +# allowed_elements:C,Si +# end_test +# end_type +# +# type:h1h +# template: [>H[-H]] +# end_type +# +# type:h1o +# template: (>H(-*)) +# atom_test:2 +# allowed_elements:O,N,F +# end_test +# end_type +# +# type: he +# template: (>He) +# end_type +# +# type: kr +# template: (>Kr) +# end_type +# +# type:n1n +# template: [>N[~N]] +# end_type +# +# type:n1o +# template: [>N[~O]] +# end_type +# +# type:n1z +# template: [>N[~N[~N(~*)]]] +# end_type +# +# type:n2= +# template: [>N(~*)(~*)] +# end_type +# +# type:n2o +# template: [>N[~O][~O]] +# end_type +# +# type:n2t +# template: [>N[~N][~N(~*)]] +# end_type +# +# type:n2z +# template: (>N[~N[~N]](~*)) +# end_type +# +# type: n3m +# template: (>N(-C[=O])(-C)(-C)) +# atom_test:1 +# hybridization:SP3 +# end_test +# end_type +# +# type: n3o +# template: (>N[~O][~O](~O(~C))) +# end_type +# +# type: ne +# template: (>Ne) +# end_type +# +# type:o1= +# template: (>O(~*)) +# atom_test:2 +# allowed_elements:N,S,C +# end_test +# end_type +# +# type:o1=* +# template: [>O[~C[~O]]] +# end_type +# +# type:o12 +# template: [>O[~N[~O](~*)]] +# end_type +# +# type:o1c +# template: [>O[~C]] +# end_type +# +# type:o1n +# template: [>O[~N]] +# end_type +# +# type:o1o +# template: [>O[~O]] +# end_type +# +# type:o2 +# template: [>O(~*)(~*)] +# end_type +# +# type:o2e +# template: [>O(-C)(-C)] +# atom_test: 1 +# aromaticity:NON_AROMATIC +# end_test +# end_type +# +# type:o2h +# template: (>O[-H](~*)) +# end_type +# +# type:o2n +# template: (>O[~N[~O][~O]](~C)) +# end_type +# +# type:o2s +# template: (>O[~C[~O](~*)](~C)) +# end_type +# +# type: o2z +# template: (>O(-Si)(-*) ) +# atom_test: 3 +# allowed_elements: Si, H +# end_test +# end_type +# +# type: p4= +# template: (>P(~*)(~*)(~*)(~*)) +# end_type +# +# type:s1= +# template: [>S[~C[~S]]] +# end_type +# +# type:s2= +# template: [>S[~O][~O]] +# end_type +# +# type: si4 +# template: (>Si(-*)(-*)(-*)(-*)) +# end_type +# +# type: si4c +# template: (>Si(-O)(-*)(-*)(-*)) +# atom_test: 3 +# allowed_elements: O, C +# end_test +# atom_test: 4 +# allowed_elements: O, C +# end_test +# atom_test: 5 +# allowed_elements: O, C +# end_test +# end_type +# +# type: xe +# template: (>Xe) +# end_type +# +# precedence: +# (? +# (ar) +# (c1o) +# (c2=) +# (c3a) (c3') +# (c4 (c43 (c43o)) (c44) (c4o(c41o)) (c4z) ) +# (h1) (h1h) (h1o) +# (he) +# (kr) +# (n1n) (n1o) (n1z) +# (n2= (n2o) (n2t) (n2z) ) +# (n3m) (n3o) +# (ne) +# (o1= (o1=*) (o12) (o1c) (o1n) ) (o1o) +# (o2 (o2e(o2s)) (o2h) (o2n) (o2z) ) +# (p4=) +# (s1=) +# (s2=) +# (si4 (si4c) ) +# (xe) +# ) +# end_precedence +# +# +# + + + + +# ---- references from the original .frc file: ---- + +# reference 1 +# @Author tester +# @Date 01-Jun-09 +# Barebones compass for aromatic & aliphatic hydrocarbons from H. Sun JCP B102, 7361-2 (1998) +# This file created by Materials Design, Inc. (www.materialsdesign.com) Please realize that +# we neither support this version, nor make any warranty as to the correctness of the parameters. +# We have checked the numbers against the literature, but of course there may still be errors, +# including errors of interpretation. Also, the current version of COMPASS may well be different +# that that originally published. +# If you have comments or suggestions, feel free to email Paul Saxe at psaxe (at) materialsdesign.com + +# reference 2 +# @Author tester +# @Date 27-Jun-09 +# Parameters for siloxanes from Sun/Rigby Spectrochim. Acta A53, 1301-23 (1997) (o2 later renamed to o2z) + +# reference 3 +# @Author tester +# @Date 27-Jun-09 +# Parameters for ethers and alcohols from Rigby/Sun/Eichinger Polym. Int. 44, 311-330 (1997) + +# reference 4 +# @Author tester +# @Date 30-Jun-09 +# Parameters for phosphazenes from Comput. Theor. Polym. Sci. 8, 229-246 (1998) + +# reference 5 +# @Author tester +# @Date 28-Jun-09 +# Parameters for He,Ne,Ar,Kr,Xe,H2,O2,N2,NO,CO,CO2,NO2,CS2,SO2 from JPC B104, 4951-7 (2000) + +# reference 6 +# @Author tester +# @Date 29-Jun-09 +# Parameters for nitrate esters from JPC B104, 2477-89 (2000) + +# reference 7 +# @Author tester +# @Date 30-Jun-09 +# Parameters for Ultem (imides) from Polymer 43, 599-607 (2002) + +# reference 8 +# @Author tester +# @Date 30-Jun-09 +# Parameters for 2y and 3y alcohols from Fluid Phase Equilibria 217, 77-87 (2004) + +# reference 9 +# @Author tester +# @Date 30-Jun-09 +# Parameters for aliphatic azides from J. Comput. Chem. 25, 61-71 (2004) + +# reference 10 +# @Author tester +# @Date 02-Jul-09 +# Ref 2 missing -C-Si- params; assume values from Macromols 28, 701-712 (1995) (see pcff) + + + + + +# ---- additional warnings: ---- +# WARNING: Undefined bond length (r0) in angle: h1 o2z si4 +# WARNING: Undefined bond length (r0) in angle: c4 n3 p4= +# WARNING: Undefined bond length (r0) in angle: h1 n3 p4= +# WARNING: Undefined bond length (r0) in angle: c4 o2 p4= +# WARNING: Undefined bond length (r0) in angle: h1 o2 p4= +# WARNING: Undefined bond length (r0) in angle: c3a p4= n3 +# WARNING: Undefined bond length (r0) in angle: h1 p4= n3 +# WARNING: Undefined bond length (r0) in angle: n2= p4= n3 +# WARNING: Undefined bond length (r0) in angle: n3 p4= n3 +# WARNING: Undefined bond length (r0) in angle: n3 p4= o2 +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: c4 si4 o2z h1 +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: h1 o2z si4 h1 +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: h1 o2z si4 o2z +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: h1 n3 p4= h1 +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: h1 n3 p4= n2= +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: h1 n3 p4= o2 +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: h1 o2 p4= h1 +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: h1 o2 p4= n2= +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: h1 o2 p4= o2 +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: X o2 p4= X +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: X c3a n2= X +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: X n3 p4= X +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: c4 c4 n3o o1= +# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: c3prime n3m c3prime o1 +# WARNING: Undefined rest angle (theta0) in improper: c3a o1= c3prime n3m +# WARNING: Undefined rest angle (theta0) in improper: c3a c3prime c3prime n3m diff --git a/tools/moltemplate/moltemplate/force_fields/amber/README.txt b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/README.txt similarity index 100% rename from tools/moltemplate/moltemplate/force_fields/amber/README.txt rename to tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/README.txt diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm2lt.sh b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm2lt.sh similarity index 98% rename from tools/moltemplate/moltemplate/force_fields/amber/amberparm2lt.sh rename to tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm2lt.sh index 07442dbee7..98a77f3b05 100755 --- a/tools/moltemplate/moltemplate/force_fields/amber/amberparm2lt.sh +++ b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm2lt.sh @@ -61,6 +61,8 @@ echo "$MOLTEMPLATE_USAGE_MSG" echo "####################################################################" echo "# Moltemplate can not assign atom charge. You must assign atomic" echo "# charges yourself. (Moltemplate is only a simple text manipulation tool.)" +echo "# You can do this afterwards using commands like \"set atom 70 charge -0.212\"" +echo "# For details, see http://lammps.sandia.gov/doc/set.html)" echo "####################################################################" echo "" echo "" diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_angle_to_lt.py b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_angle_to_lt.py similarity index 91% rename from tools/moltemplate/moltemplate/force_fields/amber/amberparm_angle_to_lt.py rename to tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_angle_to_lt.py index dd465841b5..447857675e 100755 --- a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_angle_to_lt.py +++ b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_angle_to_lt.py @@ -22,7 +22,11 @@ for i in range(0, len(lines_gaff)): keq = tokens[0] req = tokens[1] comments=' '.join(tokens[2:]) - sys.stdout.write(' angle_coeff '+angletype+' '+angle_style_name+' '+keq+' '+req+' # '+comments+'\n') + sys.stdout.write(' angle_coeff '+angletype+' '+angle_style_name+' '+keq+' '+req) + if len(comments.strip()) > 0: + sys.stdout.write(' # '+comments) + sys.stdout.write('\n') + sys.stdout.write(' } # (end of angle_coeffs)\n') sys.stdout.write('\n') diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_bond_to_lt.py b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_bond_to_lt.py similarity index 90% rename from tools/moltemplate/moltemplate/force_fields/amber/amberparm_bond_to_lt.py rename to tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_bond_to_lt.py index bacc49b7d5..abfde23dab 100755 --- a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_bond_to_lt.py +++ b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_bond_to_lt.py @@ -21,7 +21,11 @@ for i in range(0, len(lines_gaff)): keq = tokens[0] req = tokens[1] comments=' '.join(tokens[2:]) - sys.stdout.write(' bond_coeff '+bondtype+' '+bond_style_name+' '+keq+' '+req+' # '+comments+'\n') + sys.stdout.write(' bond_coeff '+bondtype+' '+bond_style_name+' '+keq+' '+req) + if len(comments.strip()) > 0: + sys.stdout.write(' # '+comments) + sys.stdout.write('\n') + sys.stdout.write(' } # (end of bond_coeffs)\n') sys.stdout.write('\n') diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_dihedral_to_lt.py b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_dihedral_to_lt.py similarity index 97% rename from tools/moltemplate/moltemplate/force_fields/amber/amberparm_dihedral_to_lt.py rename to tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_dihedral_to_lt.py index 8729e3fe16..f4f8e3a645 100755 --- a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_dihedral_to_lt.py +++ b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_dihedral_to_lt.py @@ -29,7 +29,9 @@ for i in range(0, len(lines_gaff)): # ...I THINK (?). (Very confusing. See documentation below...) dn = float(tokens[2]) n = int(float(tokens[3])) - comments=' # '+(' '.join(tokens[4:])) + comments=' '.join(tokens[4:]) + if len(comments.strip()) > 0: + comments = ' # ' + comments in_dihedral_coeffs.append([dihedraltype, Kn, n, dn, comments]) #print(Kn, n, dn) diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_improper_to_lt.py b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_improper_to_lt.py similarity index 94% rename from tools/moltemplate/moltemplate/force_fields/amber/amberparm_improper_to_lt.py rename to tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_improper_to_lt.py index 8cc7828f89..ebf48d4f18 100755 --- a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_improper_to_lt.py +++ b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_improper_to_lt.py @@ -31,11 +31,13 @@ for i in range(0, len(lines_gaff)): dn = float(tokens[1]) n = int(float(tokens[2])) comments=' '.join(tokens[3:]) + if len(comments.strip()) > 0: + comments = ' # ' + comments if (dn < 0.001): - sys.stdout.write(' improper_coeff '+impropertype+' '+improper_style_name+' '+str(Kn)+' 1 '+str(n)+' # '+comments+'\n') + sys.stdout.write(' improper_coeff '+impropertype+' '+improper_style_name+' '+str(Kn)+' 1 '+str(n)+comments+'\n') elif (179.999 < abs(dn) < 180.001): - sys.stdout.write(' improper_coeff '+impropertype+' '+improper_style_name+' '+str(Kn)+' -1 '+str(n)+' # '+comments+'\n') + sys.stdout.write(' improper_coeff '+impropertype+' '+improper_style_name+' '+str(Kn)+' -1 '+str(n)+comments+'\n') else: sys.stderr.write('Error: Illegal bondImproper parameters:\n' ' As of 2013-8-03, LAMMPS doens hot have an improper style\n' diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_mass_to_lt.py b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_mass_to_lt.py similarity index 100% rename from tools/moltemplate/moltemplate/force_fields/amber/amberparm_mass_to_lt.py rename to tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_mass_to_lt.py diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_pair_to_lt.py b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_pair_to_lt.py similarity index 93% rename from tools/moltemplate/moltemplate/force_fields/amber/amberparm_pair_to_lt.py rename to tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_pair_to_lt.py index 61e7672589..f24a92b78f 100755 --- a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_pair_to_lt.py +++ b/tools/moltemplate/moltemplate/force_fields/convert_AMBER_files_to_LT_files/amberparm_pair_to_lt.py @@ -51,7 +51,11 @@ for i in range(0, len(lines_gaff)): sig=str(float(tokens[1])*2.0*pow(2.0, (-1.0/6.0))) eps=tokens[2] comments=' '.join(tokens[3:]) - sys.stdout.write(' pair_coeff @atom:'+atype+' @atom:'+atype+' '+pair_style+' '+eps+' '+sig+' # '+comments+'\n') + sys.stdout.write(' pair_coeff @atom:'+atype+' @atom:'+atype+' '+pair_style+' '+eps+' '+sig) + if len(comments.strip()) > 0: + sys.stdout.write(' # '+comments) + sys.stdout.write('\n') + sys.stdout.write(' } # (end of pair_coeffs)\n') sys.stdout.write('\n') diff --git a/tools/moltemplate/moltemplate/force_fields/convert_EMC_files_to_LT_files/README.txt b/tools/moltemplate/moltemplate/force_fields/convert_EMC_files_to_LT_files/README.txt new file mode 100644 index 0000000000..f110af62ca --- /dev/null +++ b/tools/moltemplate/moltemplate/force_fields/convert_EMC_files_to_LT_files/README.txt @@ -0,0 +1,18 @@ +This directory contains a tool "emcprm2lt.py" which +converts ".PRM" files containing lists of force-field parameters +in EMC format into MOLTEMPLATE files in ".LT" format. +(Several force fields including MARTINI and SDK have been + converted into moltemplate format using this tool.) + +---- Credit: ---- + +The "emcprm2lt.py" converter was writtin by David Stelter. +The .PRM files we use were written by Pieter J. in 't Veld. + +---- Citation request: ---- + +Since we borrowed force field parameters from files distributed with EMC, +if you use files generated by "emcprm2lt.py", please also cite the EMC paper: +P. J. in ‘t Veld and G. C. Rutledge, Macromolecules 2003, 36, 7358 + + diff --git a/tools/moltemplate/moltemplate/force_fields/convert_EMC_files_to_LT_files/__init__.py b/tools/moltemplate/moltemplate/force_fields/convert_EMC_files_to_LT_files/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tools/moltemplate/moltemplate/force_fields/sdk/emcprm2lt.py b/tools/moltemplate/moltemplate/force_fields/convert_EMC_files_to_LT_files/emcprm2lt.py similarity index 99% rename from tools/moltemplate/moltemplate/force_fields/sdk/emcprm2lt.py rename to tools/moltemplate/moltemplate/force_fields/convert_EMC_files_to_LT_files/emcprm2lt.py index c924ce64e0..7e97770899 100755 --- a/tools/moltemplate/moltemplate/force_fields/sdk/emcprm2lt.py +++ b/tools/moltemplate/moltemplate/force_fields/convert_EMC_files_to_LT_files/emcprm2lt.py @@ -508,7 +508,7 @@ for i in range(len(nonbond)): atom1name = None atom2name = None stylename = pstyle - if pstyle == 'lj/sdk' or 'lj/sdk/coul/long': + if pstyle == 'lj/sdk' or pstyle == 'lj/sdk/coul/long': stylename = 'lj%s_%s' % (nonbond[i][4], nonbond[i][5]) # Cross Terms + Diagonal, normal for j in range(len(equiv)): diff --git a/tools/moltemplate/moltemplate/force_fields/convert_MSI_files_to_LT_files/msifrc2lt.py b/tools/moltemplate/moltemplate/force_fields/convert_MSI_files_to_LT_files/msifrc2lt.py new file mode 100755 index 0000000000..7c4c6abc73 --- /dev/null +++ b/tools/moltemplate/moltemplate/force_fields/convert_MSI_files_to_LT_files/msifrc2lt.py @@ -0,0 +1,4536 @@ +#! /usr/bin/env python +# Author: Andrew Jewett (jewett.aij at g mail) +# License: 3-clause BSD License (See LICENSE.TXT) +# Copyright (c) 2017, California Institute of Technology +# All rights reserved. + +""" +This standalone python script can be used to convert force-field data +in FRC files (a.k.a. "MSI", "Accelrys", "BIOSYM", "DISCOVERY" files) +...into MOLTEMPLATE/LAMMPS compatible format (.LT files). + +Once converted into moltemplate (.LT) format, users can use these files with +MOLTEMPLATE to prepare LAMMPS simulations of molecules using these force fields +(without needing any additional software such as msi2lmp). + +There are several examples of MSI files in the "tools/msi2lmp/frc_files/" +directory which is distributed with LAMMPS. + +Limitations: + +Currently (2017-10) this script ignores the "template" information in .FRC files. +When defining a new type of molecule, the user must carefully choose the +complete atom type for each type of atom in the molecule. In other words, +MOLTEMPLATE will not attempt to determine (from local context) whether +a carbon atom somewhere in your molecule happens to be an SP3 carbon +(ie. "c4" in the COMPASS force-field), or an aromatic carbon ("c3a"), +or something else (for example). This information is typically contained +in the "templates" section of these files, and this script currently ignores +that information. Instead, the user must determine which type of carbon atom +it is manually, for all of the carbon atoms in that kind of molecule. +(This only needs to be done once per molecule definition. + Once a type of molecule is defined, it can be copied indefinitely.) + +""" + + +__author__ = 'Andrew Jewett' +__version__ = '0.2.1' +__date__ = '2017-10-15' + + +import sys +import os + +from collections import defaultdict, OrderedDict +from operator import itemgetter + + +g_program_name = __file__.split('/')[-1] + + +doc_msg = \ + "Typical Usage:\n\n" + \ + " " + g_program_name + " -name COMPASS < compass_published.frc > compass.lt\n\n" + \ + " where \"compass_published.frc\" is a force-field file in MSI format.\n" + \ + " \"comass.lt\" is the corresponding file converted to moltemplate format\n" + \ + " and \"COMPASS\" is the name that future moltemplate users will use to refer\n" + \ + " to this force-field (optional).\n" + \ + "Optional Arguments\n" + \ + " -name FORCEFIELDNAME # Give the force-field a name\n" + \ + " -file FILE_NAME # Read force field parameters from a file\n" + \ + " -url URL # Read force field parameters from a file on the web\n" + \ + " -atoms \"QUOTED LIST\" # Restrict output to a subset of atom types\n" + \ + " Sometimes an FRC file contains multiple versions. In that case,\n"+\ + " you can select between them using these optional arguments:\n"+\ + " -pair-style \"PAIRSTYLE ARGS\" # LAMMPS pair style and cutoff arg(s)\n" + \ + " -bond-style BONDSTYLE # desired LAMMPS bond style (default: \"class2\")\n" + \ + " -angle-style ANGLESTYLE # desired LAMMPS angle style\n" + \ + " -dihedral-style DIHEDRALSTYLE # desired LAMMPS dihedral style\n" + \ + " -improper-style IMPROPERSTYLE # desired LAMMPS improper style\n" + \ + " -hbond-style \"HBONDTYLE ARGS\" # LAMMPS hydrogen-bond style and args\n" + + +# " -auto # Consider auto_equivalences in the .frc file \n"+\ + + + +class InputError(Exception): + """ A generic exception object containing a string for error reporting. + (Raising this exception implies that the caller has provided + a faulty input file or argument.) + + """ + + def __init__(self, err_msg): + self.err_msg = err_msg + + def __str__(self): + return self.err_msg + + def __repr__(self): + return str(self) + +# It seems like there are no ordered sets in python, (a set that remembers the +# order that you added elements), so I built one by wrapping OrderedDict() + +class MyOrderedSet(object): + def __init__(self, l): + self.d = OrderedDict() + for x in l: + self.d[x] = True + def __add__(self, x): + self.d[x] = True + def __delitem__(self, x): + del self.d[x] + def __contains__(self, x): + return x in self.d + def __iter__(self): + self.p = iter(self.d) + return self + def __next__(self): + return next(self.p) + # the following wrappers might be necessary for python2/3 compatibility: + def add(self, x): + self.__add__(x) + def del_item(self, x): + self.__del_item__(x) + def iter(self): + return self.__iter__() + def next(self): + return self.__next__() + # no need to bother with set unions and intersections + + +def NSplitQuotedString(string, + nmax, + quotes, + delimiters=' \t\r\f\n', + escape='\\', + comment_char='#'): + """ + Split a quoted & commented string into at most "nmax" tokens (if nmax>0), + where each token is separated by one or more delimeter characters + in the origingal string, and quoted substrings are not split, + This function returns a list of strings. Once the string is split Nmax + times, any remaining text will be appended to the last entry of the list. + Comments are stripped from the string before splitting begins. + """ + tokens = [] + token = '' + reading_token = True + escaped_state = False + quote_state = None + for c in string: + + if (c in comment_char) and (not escaped_state) and (quote_state == None): + if len(token) > 0: + tokens.append(token) + return tokens + + elif (c in delimiters) and (not escaped_state) and (quote_state == None): + if reading_token: + if (nmax == 0) or (len(tokens) < nmax-1): + if len(token) > 0: + tokens.append(token) + token = '' + reading_token = False + else: + token += c + elif c in escape: + if escaped_state: + token += c + reading_token = True + escaped_state = False + else: + escaped_state = True + # and leave c (the '\' character) out of token + elif (c in quotes) and (not escaped_state): + if (quote_state != None): + if (c == quote_state): + quote_state = None + else: + quote_state = c + token += c + reading_token = True + else: + if (c == 'n') and (escaped_state == True): + c = '\n' + elif (c == 't') and (escaped_state == True): + c = '\t' + elif (c == 'r') and (escaped_state == True): + c = '\r' + elif (c == 'f') and (escaped_state == True): + c = '\f' + token += c + reading_token = True + escaped_state = False + + if len(token) > 0: + tokens.append(token) + return tokens + + + + +def SplitQuotedString(string, + quotes='\'\"', + delimiters=' \t\r\f\n', + escape='\\', + comment_char='#'): + + return NSplitQuotedString(string, + 0, + quotes, + delimiters, + escape, + comment_char) + + + + +def RemoveOuterQuotes(text, quotes='\"\''): + if ((len(text) >= 2) and (text[0] in quotes) and (text[-1] == text[0])): + return text[1:-1] + else: + return text + + +def SortByEnds(l_orig): + """ + Convenient to have a one-line macro for swapping list order if first>last + """ + l = [x for x in l_orig] + if l[0] > l[-1]: + l.reverse() + return l + + + +#def Repl(tokens, a, b): +# return [(b if x==a else x) for x in tokens] + +def DecodeAName(s): + if s.find('auto') == 0: + s = s[4:] + if s == 'X': # special case: deal with strings like 'X' + return '*' + return s + + +def EncodeAName(s): + """ + Handle * characters in MSI atom names + """ + + if s.find('auto') == 0: + s = s[4:] + # If the atom name begins with *, then it is a wildcard + if s[:1] == '*': # special case: deal with strings like *7 + return 'X' # These have special meaning. Throw away the integer. + # (and replace the * with an X) + + # If the * character occurs later on in the atom name, then it is actually + # part of the atom's name. (MSI force fields use many strange characters in + # atom names.) Here we change the * to \* to prevent the atom name from + # being interpreted as a wild card in the rules for generating bonds, + # angles, dihedrals, and impropers. + + return s.replace('*','star').replace('\'','prime').replace('"','dblpr') + # '*' is reserved for wildcards in moltemplate + # 'star' is a string that is unused in any + # of the force fields I have seen so far. + # Similarly quote characters (' and ") confuse + # moltemplate, so we replace them with something else. + + # The following approach doesn't work (mistakenly thinks '\*' = wildcard) + #return s.replace('*','\\*') # this prevents ttree_lex.MatchesAll() + # # from interpreting the '*' as a wildcard + + +def DetermineAutoPriority(anames): + """ + Given a list of atom names (including wildcards), generate a number + indicating the priority the interaction between these atoms should have: + Scan through list of strings anames, looking for patterns of the form + *n + where n is an integer. + Make sure this pattern only appears once and return n to the caller. + (These patterns are used by MSI software when using "auto_equivalences" + to look up force field parameters for bonded interactions. + The higher the integer, the lower the priority. + For details, see "Forcefield based simulations" PDF, Cerius2, p 87) + Ordinary wildcards ('*' characters not followed by integers) have the + lowest possible priority. (Each time a '*' string appears in the + list of arguments, the priority value increases by HUGE_VAL.) + """ + + # This is terrible code. + + n = -1.0 + num_blank_wildcards = 0 + for a in anames: + # Sometimes the first atom name contains the prefix 'auto'. Remove this + if a.find('auto') == 0: + a = a[4:] + if a[:1] == '*': + #if a[:1] == 'X': + if len(a) > 1: + if n == -1.0: + n = float(a[1:]) + elif n != float(a[1:]): + # Make sure if present, the number appears only once in the list of atom names + raise InputError('Error: Inconsistent priority integers in the following interaction:\n' + ' ' + ' '.join(anames) + '\n') + else: + num_blank_wildcards += 1 + + # A "blank" wildcard (not followed by a number eg '*') has a very low priority + # Give it a high number, because this corresponds to low priority. Very confusing + # For details, see "Forcefield based simulations" PDF, Cerius2, p 87) + HUGE_VAL = 1.0e5 + return n + num_blank_wildcards*HUGE_VAL + + + + +#def DeterminePriority(is_auto, +# anames, +# version): +# """ +# Determine the priority of an interaction from +# 1) whether or not it is an "auto" interaction +# 2) what is the force-field "version" (a number) +# 3) what are the names of the atoms (for auto_equivalences only, +# some atom "names" are wildcards followed by integers. use the integer) +# """ +# +# if is_auto: +# n = DetermineAutoPriority(anames) +# return (is_auto, n) +# else: +# return (is_auto, -version) + + +def DetermineNumericPriority(is_auto, + anames, + version): + """ + Determine the priority of an interaction from + 2) what is the force-field "version" (a number) + 3) what are the names of the atoms (for auto_equivalences only, + some atom "names" are wildcards followed by integers. use the integer) + """ + + if is_auto: + n = DetermineAutoPriority(anames) + return n # low priority integers <--> high priority () + else: + return -float(version) # later version numbers <--> higher priority + # (multiplying by -1 compensates for this) + # Note: this means auto interactions always have + # lower priority because their numeric priority + # will be a positive number. Otherwise the + # numeric priority will be a negative number + # (...corresponding to a higher priority + # I don't like this complicated priority system + # but I didn't invent it. It's not my fault.) + + +def IsAutoAtom(atom_name): + return atom_name[-1:] == '_' + + +#def PossibleAutoAtom(atom_name): +# """ Auto-equivalences are alternate atom names used in "auto" +# interactions. (These are low priority interactions used as a +# last resort when the interaction parameters could not be located +# by any other means). Each atom is given an alternate name which +# is used in this kind of interaction. These names typically end +# '_' followed by an optional integer. Example "auto" atom names +# are 'c3m_' and 'c=_3'. Unfortunately some ordinary atom names +# also end in an integer preceeded by a _ character. But they +# never end in a '_' character. Here we check for both.""" +# +# i = atom_name.rfind('_') +# if (i == -1) or str.isdigit(atom_name[i:]): +# return True +# return False + + + +def IsAutoInteraction(interaction_name): + return interaction_name.find('auto') == 0 + + +#def IsAutoInteraction(interaction_name): +# anames = ExtractAtomNames(interaction_name) +# for a in anames: +# if IsAutoAtom(a): +# return True +# if not PossibleAutoAtom(a): +# return False +# return True + + + + +def EncodeInteractionName(anames, + is_auto = False): + if is_auto == False: + is_auto = False + # Is the line containing anames from an "_auto" section of + # the FRC file? (I am trying to infer this from whether or + # not any of the atom names are followed by the '_' character.) + for s in anames: + if IsAutoAtom(s): + is_auto = True + if is_auto: + priority = DetermineAutoPriority(anames) + # (If an atom name is a wildcard '*' followed by + # an integer, DetermineAutoPriority() will return + # that integer. Otherwise it will return '') + #return str(priority)+'auto'+','.join(anames) + return 'auto'+','.join(anames) + + return ','.join(anames) + + + +def ExtractANames(interaction_name): + if IsAutoInteraction(interaction_name): + return interaction_name[4:].split(',') + return interaction_name.split(',') + + + +def OOPImproperNameSort(aorig): + assert(len(aorig) == 4) + atom_names = map(EncodeAName, aorig) + if atom_names[0] < atom_names[3]: + return (atom_names, [0,1,2,3]) + else: + return ([atom_names[3], + atom_names[1], + atom_names[2], + atom_names[0]], + [3,1,2,0]) + + +def Class2ImproperNameSort(aorig): + """ + This function takes a list of 4 strings as an argument representing 4 atom + names for atoms participating in an "improper" ("wilson-out-of-plane") + interaction. This function assumes the second atom is the central ("hub") + atom in the interaction, and it sorts the remaining atoms names. + This function also replaces any occurence of \"*\" with \"X\". + The new list is returned to the caller, along with the permutation. + """ + assert(len(aorig) == 4) + atom_names = [a for a in map(EncodeAName, aorig)] + z = [x for x in zip([atom_names[0], atom_names[2], atom_names[3]], + [0,2,3])] + z.sort() + l = [z[0][0], atom_names[1], z[1][0], z[2][0]] + p = [z[0][1], 1, z[1][1], z[2][1]] + return (l, p) + + + +def Parity(p): + """ compute the parity of a permutation + (credit: "Weeble") + """ + permutation = list(p) + length = len(permutation) + elements_seen = [False] * length + cycles = 0 + for index, already_seen in enumerate(elements_seen): + if already_seen: + continue + cycles += 1 + current = index + while not elements_seen[current]: + elements_seen[current] = True + current = permutation[current] + return (length-cycles) % 2 == 0 + + + +def ImCrossTermID(atom_names): + """ + # From a list of 4 atom names, corresponding two a pair + # of angles between atoms# 3,2,1 and 3,2,4, + # and replaces the list of atoms with a canonical tuple + # which eliminates order ambiguity. + # If you swap the first and last atom (#1 and #4), then + # the -pair- of angles is the same. Hence if atom #1 + # has a name which is lexicographically less than atom #4, + # swap atoms 1 and 4. + """ + if atom_names[0] <= atom_names[3]: + return (atom_names[0]+','+atom_names[1]+','+ + atom_names[2]+','+atom_names[3]) + else: + return (atom_names[3]+','+atom_names[1]+','+ + atom_names[2]+','+atom_names[0]) + + + + +def AtomsMatchPattern(anames, pattern): + """ + Check whether the list of atom names "anames" matches "pattern" + (Both arguments are lists of strings, but some of the strings + in pattern may contain wildcard characters followed by + "priority" numbers. Matches with lower priority numbers are + given preference whenever multiple distinct matches are found. + (Note: This function does not check patterns in reverse order.) + """ + #sys.stderr.write('DEBUG: checking whether '+str(anames)+' matches '+str(pattern)+'\n') + assert(len(anames) == len(pattern)) + matched = True + for d in range(0, len(pattern)): + if (pattern[d] == anames[d]) or (pattern[d][0] == '*'): + if pattern[d][0] == '*': + priority = int(pattern[d][1:]) + else: + priority = 0 + else: + matched = False + if matched: + #sys.stderr.write('DEBUG: '+str(anames)+' matches '+str(pattern)+'\n') + return priority + else: + return None + + +def LookupBondLength(a1, a2, + atom2equiv_bond, + bond2r0, + atom2auto_bond, + bond2r0_auto): + """ + Try to find bond parameters between atoms whose original + atom names (without equivalences) are a1 and a2. + Then return both the equilibrium bond length for that bond, + as well as the equivalent atom names used to lookup that bond. + (These could be stored in either atom2equiv_bond or atom2auto_bond.) + If a match was not found, return None. + """ + return_val = None + anames = (atom2equiv_bond[a1], atom2equiv_bond[a2]) + bond_name = EncodeInteractionName(SortByEnds(anames)) + if bond_name in bond2r0: + return_val = (bond2r0[bond_name], + [anames[0], anames[1]], + False) + # If no bond between these atoms is defined, + # check the bonds in the _auto section(s) + # This is a lot messier. + elif ((a1 in atom2auto_bond) and (a2 in atom2auto_bond)): + anames = [atom2auto_bond[a1], atom2auto_bond[a2]] + # Because _auto interactions can contain wildcards, + # there can be multiple entries in bond2r0_auto[] + # for the same list of atom names, and we have to + # consider all of them, and pick the one with the + # most priority (ie. whose priority number is lowest). + # (Note: The MSI file format uses low priority numbers + # to indicate high priority. Somewhat confusing. + # For details, see "Forcefield based simulations" PDF, Cerius2, p 87) + HUGE_VAL = 2000000000 + best_priority = HUGE_VAL + pattern = ['',''] + for (pattern[0],pattern[1]), r0 in bond2r0_auto.items(): + priority = AtomsMatchPattern(anames, pattern) + if (priority != None) and (priority < best_priority): + best_priority = priority + return_val = (r0, anames, True) + # try again with the atom type names in reverse order + priority = AtomsMatchPattern([anames[1],anames[0]], pattern) + if ((priority != None) and + (priority < best_priority)): #(note: low priority numbers = high priority) + best_priority = priority + return_val = (r0, anames, True) + #if return_val != None: + # sys.stderr.write('DEBUG: For atoms '+str((a1,a2))+' ... bond_length, batom_names = '+str(return_val)+'\n') + return return_val + + + + + + + + +def LookupBondAngle(a1, a2, a3, + atom2equiv_angle, + angle2theta0_or, + atom2auto_angle, + angle2theta0_auto_or): + """ + Try to find angle parameters between atoms whose original atom + names (without equivalences) are a1, a2, and a3. Then return + both the equilibrium rest angle for that 3body interaction + as well as the equivalent atom names used to look it up. (These + could be stored in either atom2equiv_angle or atom2auto_angle.) + If a match was not found, return None. + """ + return_val = None + anames = (atom2equiv_angle[a1], atom2equiv_angle[a2], atom2equiv_angle[a3]) + angle_name = EncodeInteractionName(SortByEnds(anames)) + if angle_name in angle2theta0_or: + return_val = (angle2theta0_or[angle_name], + [anames[0], anames[1], anames[2]], + False) + + # If no angle between these atoms is defined, + # check the angles in the _auto section(s) + # This is a lot messier. + elif ((a1 in atom2auto_angle[0]) and + (a2 in atom2auto_angle[1]) and + (a3 in atom2auto_angle[2])): + + anames = [atom2auto_angle[0][a1], + atom2auto_angle[1][a2], + atom2auto_angle[2][a3]] + #sys.stderr.write('DEBUG: LookupBondAngle(): a1,a2,a3=('+ + # a1+','+a2+','+a3+'), anames='+str(anames)+'\n') + + # Because _auto interactions can contain wildcards, + # there can be multiple entries in angle2theta0_auto_or[] + # for the same list of atom names, and we have to + # consider all of them, and pick the one with the + # most priority (ie. whose priority number is lowest). + # (Note: The MSI file format uses low priority numbers + # to indicate high priority. Somewhat confusing.) + HUGE_VAL = 2000000000 + best_priority = HUGE_VAL # (ie. low priority) + pattern = ['','',''] + for (pattern[0],pattern[1],pattern[2]), theta0 in angle2theta0_auto_or.items(): + priority = AtomsMatchPattern(anames, pattern) + if ((priority != None) and + (priority < best_priority)): #(note: low priority numbers = high priority) + best_priority = priority + return_val = (theta0, anames, True) + # try again with the atom type names in reverse order + priority = AtomsMatchPattern([anames[2],anames[1],anames[0]], pattern) + if (priority != None) and (priority < best_priority): + best_priority = priority + return_val = (theta0, anames, True) + #if return_val != None: + # sys.stderr.write('DEBUG: For atoms '+str((a1,a2,a3))+' ... rest_angle, anames = '+str(return_val)+'\n') + return return_val + + + + + + + + +def Equivalences2ffids(lines_equivalences, + atom_types, + atom2equiv_pair, + atom2equiv_bond, + atom2equiv_angle, + atom2equiv_dihedral, + atom2equiv_improper): + """ + This function reads a list of lines containing "equivalences" and + "auto_equivalences" from an MSI-formatted .FRC file. + Then, for each atom type, it generates a long string which includes the + original atom type name as well as all of the equivalences it belongs to. + Later on, when it is time to generate angles, dihedrals, or impropers, + moltemplate will search for patterns contained in these strings to decide + which type of interaction to generate. + This function returns a dictionary that converts the original atom type name + into these strings. + """ + for line in lines_equivalences: + #tokens = SplitQuotedString(line.strip(), + # comment_char='!>') + + # skip past both '!' and '>' characters + ic1 = line.find('!') + ic = ic1 + ic2 = line.find('>') + if ic2 != -1 and ic2 < ic1: + ic = ic2 + if ic != -1: + line = line[:ic] + else: + line = line.rstrip('\n') + tokens = line.strip().split() + #sys.stderr.write('DEBUG Equivalences2ffids():\n' + # ' tokens = '+str(tokens)+'\n') + atype = EncodeAName(tokens[2]) + atom2equiv_pair[atype] = EncodeAName(tokens[3]) + atom2equiv_bond[atype] = EncodeAName(tokens[4]) + atom2equiv_angle[atype] = EncodeAName(tokens[5]) + atom2equiv_dihedral[atype] = EncodeAName(tokens[6]) + atom2equiv_improper[atype] = EncodeAName(tokens[7]) + + atom2ffid = OrderedDict() + for atom in atom_types: + atom2ffid[atom] = (atom + + ',p'+atom2equiv_pair.get(atom,'') + + ',b'+atom2equiv_bond.get(atom,'') + + ',a'+atom2equiv_angle.get(atom,'') + + ',d'+atom2equiv_dihedral.get(atom,'') + + ',i'+atom2equiv_improper.get(atom,'')) + return atom2ffid + + + + + + +def AutoEquivalences2ffids(lines_equivalences, + lines_auto_equivalences, + atom_types, + atom2equiv_pair, + atom2equiv_bond, + atom2equiv_angle, + atom2equiv_dihedral, + atom2equiv_improper, + atom2auto_pair, + atom2auto_bondincr, + atom2auto_bond, + atom2auto_angleend, + atom2auto_anglecenter, + atom2auto_dihedralend, + atom2auto_dihedralcenter, + atom2auto_improperend, + atom2auto_impropercenter): + """ + This function is a variant of Equivalences2ffids() which also considers + "auto_equivalences". + This function returns a dictionary that converts the original atom type name + into a string that includes that atom's "equivalences", + as well as its "auto_equivalences". + moltemplate will search for patterns contained in these strings to decide + which type of interaction to generate. + """ + Equivalences2ffids(lines_equivalences, + atom_types, + atom2equiv_pair, + atom2equiv_bond, + atom2equiv_angle, + atom2equiv_dihedral, + atom2equiv_improper) + + # ------ The following lines are for processing "auto_equivalences" ----- + # + # What is the difference between "equivalences" and "auto_equivalences"? + # + # equivalences: + # Here is an excerpt from the Discover manual describing "equivalences": + # "Chemically distinct atoms often differ in some, but not all, + # of their forcefield parameters. For example, the bond parameters + # for the C-C bonds in ethene and in benzene are quite different, + # but the nonbond parameters for the carbon atoms are essentially + # the same. Rather than duplicating the nonbond parameters in the + # forcefield parameter file, the Discover program uses atom type + # equivalences to simplify the problem. In the example, the phenyl + # carbon atom type is equivalent to the pure sp2 carbons of ethene + # insofar as the nonbond parameters are concerned. The Discover + # program recognizes five types of equivalences for each atom + # type: nonbond, bond, angle, torsion, and out-of-plane. + # Cross terms such as bond-bond terms have the same equivalences + # (insofar as atom types are concerned) as the diagonal term of + # the topology of all the atoms defining the internal coordinates. + # For the bond-bond term, this means that the atom type + # equivalences for angles would be used + # + # auto_equivalences: + # Are similar to equivalences, but apparently with lower priority. + # In addition, it seems that, when looking up some of the class2 terms + # in the interaction according to atom type using "auto_equivalences" + # a distinction is made between end atoms and central atoms. + # The parameters for these interactions are also stored in different + # tables in the .frc file, with different comments/tags. + # (for example, "cff91_auto" as opposed to "cff91") + # An excerpt from the Discover manual is somewhat vague: + # "A forcefield may include automatic parameters for use when + # better-quality explicit parameters are not defined for a + # particular bond, angle, torsion, or out-of-plane interaction. + # These parameters are intended as temporary patches, to allow + # you to begin calculations immediately." + + for line in lines_auto_equivalences: + #tokens = SplitQuotedString(line.strip(), + # comment_char='!>') + + # skip past both '!' and '>' characters + ic1 = line.find('!') + ic = ic1 + ic2 = line.find('>') + if ic2 != -1 and ic2 < ic1: + ic = ic2 + if ic != -1: + line = line[:ic] + else: + line = line.rstrip('\n') + tokens = line.strip().split() + #sys.stderr.write('DEBUG Equivalences2ffids():\n' + # ' tokens = '+str(tokens)+'\n') + atype = EncodeAName(tokens[2]) + atom2auto_pair[atype] = EncodeAName(tokens[3]) + atom2auto_bondincr[atype] = EncodeAName(tokens[4]) + atom2auto_bond[atype] = EncodeAName(tokens[5]) + atom2auto_angleend[atype] = EncodeAName(tokens[6]) + atom2auto_anglecenter[atype] = EncodeAName(tokens[7]) + atom2auto_dihedralend[atype] = EncodeAName(tokens[8]) + atom2auto_dihedralcenter[atype] = EncodeAName(tokens[9]) + atom2auto_improperend[atype] = EncodeAName(tokens[10]) + atom2auto_impropercenter[atype] = EncodeAName(tokens[11]) + + atom2ffid = OrderedDict() + for atom in atom_types: + atom2ffid[atom] = (atom + + ',p'+atom2equiv_pair.get(atom,'') + + ',b'+atom2equiv_bond.get(atom,'') + + ',a'+atom2equiv_angle.get(atom,'') + + ',d'+atom2equiv_dihedral.get(atom,'') + + ',i'+atom2equiv_improper.get(atom,'') + + ',ap'+atom2auto_pair.get(atom,'') + + ',aq'+atom2auto_bondincr.get(atom,'') + + ',ab'+atom2auto_bond.get(atom,'') + + ',aae'+atom2auto_angleend.get(atom,'') + + ',aac'+atom2auto_anglecenter.get(atom,'') + + ',ade'+atom2auto_dihedralend.get(atom,'') + + ',adc'+atom2auto_dihedralcenter.get(atom,'') + + ',aie'+atom2auto_improperend.get(atom,'') + + ',aic'+atom2auto_impropercenter.get(atom,'') + + '' + ) + return atom2ffid + + + + + + +def main(): + try: + sys.stderr.write(g_program_name + ", version " + + __version__ + ", " + __date__ + "\n") + if sys.version < '2.6': + raise InputError('Error: Using python ' + sys.version + '\n' + + ' Alas, your version of python is too old.\n' + ' You must upgrade to a newer version of python (2.6 or later).') + + if sys.version < '2.7': + from ordereddict import OrderedDict + else: + from collections import OrderedDict + + if sys.version > '3': + import io + else: + import cStringIO + + # defaults: + ffname = 'BIOSYM_MSI_FORCE_FIELD' + type_subset = set([]) + filename_in = '' + file_in = sys.stdin + #file_in = open('pcff_repaired.frc','r') #CONTINUEHERE + include_auto_equivalences = False + #pair_style_name = 'lj/class2/coul/long' + #pair_style_params = "10.0 10.0" + pair_style2docs = {} + pair_style2args = defaultdict(str) + pair_style2docs['lj/cut/coul/long'] = 'http://lammps.sandia.gov/doc/pair_lj.html' + pair_style2args['lj/cut/coul/long'] = '10.0' + pair_style2docs['lj/class2/coul/long'] = 'http://lammps.sandia.gov/doc/pair_class2.html' + pair_style2args['lj/class2/coul/long'] = '10.0' + pair_style2docs['lj/class2/coul/cut'] = 'http://lammps.sandia.gov/doc/pair_class2.html' + pair_style2args['lj/class2/coul/cut'] = '10.0' + + bond_style2docs = {} + #bond_style2args = defaultdict(str) + bond_style2docs['harmonic'] = 'http://lammps.sandia.gov/doc/bond_harmonic.html' + bond_style2docs['class2'] = 'http://lammps.sandia.gov/doc/bond_class2.html' + bond_style2docs['morse'] = 'http://lammps.sandia.gov/doc/bond_morse.html' + bond_symmetry_subgraph = '' # default + + angle_style2docs = {} + #angle_style2args = defaultdict(str) + angle_style2docs['harmonic'] = 'http://lammps.sandia.gov/doc/angle_harmonic.html' + angle_style2docs['class2'] = 'http://lammps.sandia.gov/doc/angle_class2.html' + angle_symmetry_subgraph = '' # default + + dihedral_style2docs = {} + #dihedral_style2args = defaultdict(str) + dihedral_style2docs['charmm'] = 'http://lammps.sandia.gov/doc/dihedral_charmm.html' + dihedral_style2docs['class2'] = 'http://lammps.sandia.gov/doc/dihedral_class2.html' + dihedral_symmetry_subgraph = '' # default + + improper_style2docs = {} + #improper_style2args = defaultdict(str) + improper_style2docs['cvff'] = 'http://lammps.sandia.gov/doc/improper_cvff.html' + improper_style2docs['class2'] = 'http://lammps.sandia.gov/doc/improper_class2.html' + improper_symmetry_subgraph = {} #'cenJsortIKL' + + pair_mixing_style = 'sixthpower tail yes' + + special_bonds_command = 'special_bonds lj/coul 0.0 0.0 1.0 dihedral yes' + # Thanks to Paul Saxe for is suggestions + # http://lammps.sandia.gov/threads/msg11270.html + + + kspace_style = 'kspace_style pppm 0.0001' + pair_styles_selected = set([]) + #pair_style_link = 'http://lammps.sandia.gov/doc/pair_class2.html' + pair_style_args = {} + pair_cutoff = '10.0' + #pair_style_command = " pair_style hybrid " + \ + # pair_style_name + " " + pair_style_args + "\n" + bond_styles_selected = set([]) + #bond_style_link = bond_style2docs[bond_style_name] + #bond_style_args = '' + angle_styles_selected = set([]) + #angle_style_link = angle_style2docs[angle_style_name] + #angle_style_args = '' + dihedral_styles_selected = set([]) + #dihedral_style_link = dihedral_style2docs[dihedral_style_name] + #dihedral_style_args = '' + improper_styles_selected = set([]) + #improper_style_link = improper_style2docs[improper_style_name] + #improper_style_args = '' + hbond_style_name = '' + hbond_style_link = '' + hbond_style_args = '' + + lines_templates = [] + lines_references = defaultdict(list) + lines_warnings = [] + + + argv = [arg for arg in sys.argv] + + i = 1 + + while i < len(argv): + + #sys.stderr.write('argv['+str(i)+'] = \"'+argv[i]+'\"\n') + + if argv[i] == '-atoms': + if i + 1 >= len(argv): + raise InputError('Error: the \"' + argv[i] + '\" argument should be followed by a quoted string\n' + ' which contains a space-delimited list of of a subset of atom types\n' + ' you want to use from the original force-field.\n' + ' Make sure you enclose the entire list in quotes.\n') + type_subset = set(argv[i + 1].strip('\"\'').strip().split()) + del argv[i:i + 2] + + elif argv[i] == '-name': + if i + 1 >= len(argv): + raise InputError('Error: ' + argv[i] + ' flag should be followed by the name of the force-field\n') + ffname = argv[i + 1] + del argv[i:i + 2] + + elif argv[i] in ('-file', '-in-file'): + if i + 1 >= len(argv): + raise InputError('Error: ' + argv[i] + ' flag should be followed by the name of a force-field file\n') + filename_in = argv[i + 1] + try: + file_in = open(filename_in, 'r') + except IOError: + sys.stderr.write('Error: Unable to open file\n' + ' \"' + filename_in + '\"\n' + ' for reading.\n') + sys.exit(1) + del argv[i:i + 2] + + elif argv[i] == '-pair-cutoff': + if i + 1 >= len(argv): + raise InputError('Error: ' + argv[i] + ' flag should be followed by a number' + ' (the distance cutoff for non-bonded (pair) interactions)\n') + pair_style_cutoff = argv[i+1] + del argv[i:i + 2] + + elif argv[i] == '-pair-style': + if i + 1 >= len(argv): + raise InputError('Error: ' + argv[i] + ' flag should be followed by either \"lj/class2/coul/cut\" or \"lj/class2/coul/long\"\n') + pair_style_list = argv[i + 1].split(',') + for pair_style in pair_style_list: + if pair_style == '9-6': + pair_style = 'lj/class2/coul/long' + elif pair_style in ('12-6', 'lj', 'LJ'): + pair_style = 'lj/cut/coul/long' + + if pair_style.find('lj/class2/coul/long') == 0: + kspace_style = 'kspace_style pppm 0.0001' + elif pair_style.find('lj/cut/coul/long') == 0: + kspace_style = 'kspace_style pppm 0.0001' + elif pair_style.find('lj/class2/coul/cut') == 0: + pass + #kspace_style = '' + elif pair_style.find('lj/cut') == 0: + pass + #kspace_style = '' + else: + raise InputError('Error: ' + argv[i] + ' ' + pair_style + ' not supported.\n' + ' The following pair_styles are supported:\n' + ' lj/class2/coul/cut\n' + ' lj/class2/coul/long\n' + ' lj/cut\n' + ' lj/cut/coul/long\n') + pair_styles_selected.add(pair_style) + + del argv[i:i + 2] + + elif argv[i] == '-bond-style': + if i + 1 >= len(argv): + raise InputError('Error: ' + argv[i] + ' flag should be followed by\n' + ' a compatible bond_style.\n') + bond_styles = argv[i + 1].split(',') + for bond_style in bond_styles: + bond_styles_selected.add(bond_style) + #bond_style2args[bond_style] = argv[i + 1].split()[1:] + #if bond_style_name.find('harmonic') == 0: + # pass + # #bond_style_link = 'http://lammps.sandia.gov/doc/bond_harmonic.html' + #elif bond_style_name.find('morse') == 0: + # pass + # #bond_style_link = 'http://lammps.sandia.gov/doc/bond_morse.html' + #elif bond_style_name.find('class2') == 0: + # pass + # #bond_style_link = 'http://lammps.sandia.gov/doc/bond_class2.html' + #else: + # raise InputError('Error: ' + argv[i] + ' must be followed by either:\n' + # ' \"harmonic\", \"class2\", or \"morse\".\n') + del argv[i:i + 2] + + elif argv[i] == '-angle-style': + if i + 1 >= len(argv): + raise InputError('Error: ' + argv[i] + ' flag should be followed by\n' + ' a compatible angle_style.\n') + angle_styles = argv[i + 1].split(',') + for angle_style in angle_styles: + angle_styles_selected.add(angle_style) + #if angle_style_name.find('harmonic') == 0: + # pass + # #angle_style_link = 'http://lammps.sandia.gov/doc/angle_harmonic.html' + #elif angle_style_name.find('class2') == 0: + # pass + # #angle_style_link = 'http://lammps.sandia.gov/doc/angle_class2.html' + #else: + # raise InputError('Error: ' + argv[i] + ' must be followed by either:\n' + # ' \"harmonic\" or \"class2\"\n') + del argv[i:i + 2] + + elif argv[i] == '-dihedral-style': + if i + 1 >= len(argv): + raise InputError('Error: ' + argv[i] + ' flag should be followed by\n' + ' a compatible dihedral_style.\n') + dihedral_styles = argv[i + 1].split(',') + for dihedral_style in dihedral_styles: + dihedral_styles_selected.add(dihedral_style) + #if dihedral_style_name.find('charmm') == 0: + # pass + # #dihedral_style_link = 'http://lammps.sandia.gov/doc/dihedral_charmm.html' + #elif dihedral_style_name.find('class2') == 0: + # pass + # #dihedral_style_link = 'http://lammps.sandia.gov/doc/dihedral_class2.html' + #else: + # raise InputError('Error: ' + argv[i] + ' must be followed by either:\n' + # ' \"harmonic\" or \"class2\"\n') + del argv[i:i + 2] + + elif argv[i] == '-improper-style': + if i + 1 >= len(argv): + raise InputError('Error: ' + argv[i] + ' flag should be followed by\n' + ' a compatible impropoer_style.\n') + improper_styles = argv[i + 1].split(',') + for improper_style in improper_styles: + improper_styles_selected.add(improper_style) + #if impropoer_style_name.find('harmonic') == 0: + # pass + # #impropoer_style_link = 'http://lammps.sandia.gov/doc/impropoer_harmonic.html' + #elif impropoer_style_name.find('class2') == 0: + # pass + # #impropoer_style_link = 'http://lammps.sandia.gov/doc/impropoer_class2.html' + #else: + # raise InputError('Error: ' + argv[i] + ' must be followed by either:\n' + # ' \"harmonic\" or \"class2\"\n') + del argv[i:i + 2] + + elif argv[i] == '-hbond-style': + if i + 1 >= len(argv): + raise InputError('Error: ' + argv[i] + ' ' + hbond_style_name + '\n' + ' should be followed by a compatible pair_style.\n') + hbond_style_name = argv[i + 1] + hbond_style_link = 'http://lammps.sandia.gov/doc/pair_hbond_dreiding.html' + if hbond_style_name.find('none') == 0: + hbond_style_name = '' + hbond_style_args = '' + elif hbond_style_name.find('hbond/dreiding/lj') == 0: + n = len('hbond/dreiding/lj') + hbond_style_args = hbond_style_name[n+1:] + hbond_style_name = hbond_style_name[:n] + elif hbond_style_name.find('hbond/dreiding/morse') == 0: + n = len('hbond/dreiding/morse') + hbond_style_args = hbond_style_name[n+1:] + hbond_style_name = hbond_style_name[:n] + else: + raise InputError('Error: ' + argv[i] + ' flag should be followed by either\n' + ' \"hbond/dreiding/lj\" or \"hbond/dreiding/morse"\n') + del argv[i:i + 2] + + elif argv[i] in ('-url', '-in-url'): + import urllib2 + if i + 1 >= len(argv): + raise InputError('Error: ' + argv[i] + ' flag should be followed by a URL pointing to\n' + ' a file containing force-field information in msi/frc format.\n') + url = argv[i + 1] + try: + request = urllib2.Request(url) + file_in = urllib2.urlopen(request) + except urllib2.URLError: + sys.stdout.write("Error: Unable to open link:\n" + url + "\n") + sys.exit(1) + del argv[i:i + 2] + + elif argv[i] == '-auto': + include_auto_equivalences = True + del argv[i:i + 1] + + elif argv[i] in ('-help', '--help', '-?', '--?'): + sys.stderr.write(doc_msg) + sys.exit(0) + del argv[i:i + 1] + + else: + i += 1 + + if len(argv) != 1: + raise InputError('Error: Unrecongized arguments: ' + ' '.join(argv[1:]) + + '\n\n' + doc_msg) + + # Default styles: + if len(bond_styles_selected) == 0: + bond_styles_selected.add('class2') + if len(angle_styles_selected) == 0: + angle_styles_selected.add('class2') + if len(dihedral_styles_selected) == 0: + dihedral_styles_selected.add('class2') + if len(improper_styles_selected) == 0: + improper_styles_selected.add('class2') + if len(pair_styles_selected) == 0: + pair_styles_selected.add('lj/class2/coul/long') + + #sys.stderr.write("Reading parameter file...\n") + + lines = file_in.readlines() + atom2charge = OrderedDict() # lookup charge from atom type + atom2mass = OrderedDict() # lookup mass from atom type + # equivalences lookup + atom2ffid = OrderedDict() # lookup "force-field-ID" a string containing + # equivalences to lookup bonded interactions + atom2equiv_pair = OrderedDict() # lookup the equivalent symbol used for + # looking up pair interactions + atom2equiv_bond = OrderedDict() + atom2equiv_angle = OrderedDict() + atom2equiv_dihedral = OrderedDict() + atom2equiv_improper = OrderedDict() + # inverse equivalences lookup + equiv_pair2atom = defaultdict(set) + equiv_bond2atom = defaultdict(set) + equiv_angle2atom = defaultdict(set) + equiv_dihedral2atom = defaultdict(set) + equiv_improper2atom = defaultdict(set) + + # auto equivalences lookup + atom2auto_pair = OrderedDict() + atom2auto_bondincr = OrderedDict() + atom2auto_bond = OrderedDict() + atom2auto_angleend = OrderedDict() + atom2auto_anglecenter = OrderedDict() + atom2auto_dihedralend = OrderedDict() + atom2auto_dihedralcenter = OrderedDict() + atom2auto_improperend = OrderedDict() + atom2auto_impropercenter = OrderedDict() + # inverse auto equivalences lookup + auto_pair2atom = defaultdict(set) + auto_bondincr2atom = defaultdict(set) + auto_bond2atom = defaultdict(set) + auto_angleend2atom = defaultdict(set) + auto_anglecenter2atom = defaultdict(set) + auto_dihedralend2atom = defaultdict(set) + auto_dihedralcenter2atom = defaultdict(set) + auto_improperend2atom = defaultdict(set) + auto_impropercenter2atom = defaultdict(set) + + + atom2element = OrderedDict() # Optional: + # which element (eg 'C', 'O') ? (Note this + # is different from atom type: 'C1', 'Oh') + atom2numbonds = OrderedDict() # Optional: how many bonds emanate from + atom2descr = OrderedDict() # Optional: a brief description + atom2ver = OrderedDict() # atoms introduced in different versions of ff + atom2ref = OrderedDict() # reference to paper where atom introduced + lines_equivalences = [] # equivalences for force-field lookup + lines_auto_equivalences = [] # auto_equivalences have lower priority + + pair2params = OrderedDict() + pair2style = OrderedDict() + pair_styles = set([]) + pair2ver = OrderedDict() + pair2ref = OrderedDict() + + bond2chargepair = OrderedDict() # a.k.a "bond increments" + charge_pair_priority = OrderedDict() # priority in case multiple entries + # exist for the same pair of atoms + charge_pair_ver = OrderedDict() # which version of the force field? + charge_pair_ref = OrderedDict() # paper introducing this chargepair + + bond2params = OrderedDict() # store a tuple with the 2-body bond + # interaction type, and its parameters + # for every type of bond + bond2priority = OrderedDict() # What is the priority of this interaction? + bond2style = OrderedDict() # What LAMMPS bond style (formula) + # is used for a given interaction? + bond_styles = set([]) # Contains all bond styles used. + bond2ver = OrderedDict() + bond2ref = OrderedDict() + bond2r0 = OrderedDict() + bond2r0_auto = OrderedDict() + + angle2params = OrderedDict() # store a tuple with the 3-body angle + # interaction type, and its parameters + # for every type of angle + + angle2params_or = OrderedDict() + # http://lammps.sandia.gov/doc/angle_class2.html + #angle2class2_a = OrderedDict() # params for the "a" class2 terms + angle2class2_bb = OrderedDict() # params for the "bb" class2 terms + angle2class2_bb_or = OrderedDict() + angle2class2_ba = OrderedDict() # params for the "ba" class2 terms + angle2class2_ba_or = OrderedDict() + angle2priority = OrderedDict() # What is the priority of this interaction? + angle2priority_or = OrderedDict() + angle_is_secondary_or = OrderedDict() + angle2style = OrderedDict() # What LAMMPS angle style (formula) + # is used for a given interaction? + angle2style_or = OrderedDict() + angle_styles = set([]) # Contains all angle styles used. + angle2ref = OrderedDict() + angle2ver = OrderedDict() + angle2ref_or = OrderedDict() + angle2ver_or = OrderedDict() + angle2ver_bb = OrderedDict() + angle2ver_bb_or = OrderedDict() + angle2ref_bb = OrderedDict() + angle2ref_bb_or = OrderedDict() + angle2ver_ba = OrderedDict() + angle2ver_ba_or = OrderedDict() + angle2ref_ba = OrderedDict() + angle2ref_ba_or = OrderedDict() + angle2theta0_or = OrderedDict() + angle2theta0_auto_or = OrderedDict() + + # http://lammps.sandia.gov/doc/dihedral_class2.html + dihedral2params = OrderedDict() # store a tuple with the 4-body dihedral + # interaction type, and its parameters + # for every type of dihedral + dihedral2params_or = OrderedDict() + #dihedral2class2_d = OrderedDict() # params for the "d" class2 term + dihedral2class2_mbt = OrderedDict() # params for the "mbt" class2 term + dihedral2class2_mbt_or = OrderedDict() + dihedral2class2_ebt = OrderedDict() # params for the "ebt" class2 term + dihedral2class2_ebt_or = OrderedDict() + #dihedral2sym_ebt = OrderedDict() + dihedral2class2_at = OrderedDict() # params for the "at" class2 term + dihedral2class2_at_or = OrderedDict() + #dihedral2sym_at = OrderedDict() + dihedral2class2_aat = OrderedDict() # params for the "aat" class2 term + dihedral2class2_aat_or = OrderedDict() + #dihedral2sym_aat = OrderedDict() + dihedral2class2_bb13 = OrderedDict() # params for the "bb13" class2 term + dihedral2class2_bb13_or = OrderedDict() + #dihedral2sym_bb13 = OrderedDict() + dihedral2priority = OrderedDict() # What is the priority of this interaction? + dihedral2priority_or = OrderedDict() + dihedral_is_secondary_or = OrderedDict() + dihedral2style = OrderedDict() # What LAMMPS dihedral style (formula) + # is used for a given interaction? + dihedral2style_or = OrderedDict() + dihedral_styles = set([]) # Contains all dihedral styles used. + dihedral2ref = OrderedDict() + dihedral2ver = OrderedDict() + dihedral2ver_or = OrderedDict() + dihedral2ref_or = OrderedDict() + dihedral2ver_mbt = OrderedDict() + dihedral2ver_mbt_or = OrderedDict() + dihedral2ref_mbt = OrderedDict() + dihedral2ref_mbt_or = OrderedDict() + dihedral2ver_ebt = OrderedDict() + dihedral2ver_ebt_or = OrderedDict() + dihedral2ref_ebt = OrderedDict() + dihedral2ref_ebt_or = OrderedDict() + dihedral2ver_at = OrderedDict() + dihedral2ver_at_or = OrderedDict() + dihedral2ref_at = OrderedDict() + dihedral2ref_at_or = OrderedDict() + dihedral2ver_aat = OrderedDict() + dihedral2ver_aat_or = OrderedDict() + dihedral2ref_aat = OrderedDict() + dihedral2ref_aat_or = OrderedDict() + dihedral2ver_bb13 = OrderedDict() + dihedral2ver_bb13_or = OrderedDict() + dihedral2ref_bb13 = OrderedDict() + dihedral2ref_bb13_or = OrderedDict() + + + # http://lammps.sandia.gov/doc/improper_class2.html + improper2params = OrderedDict() # store a tuple with the 4-body improper + # interaction type, and its parameters + # for every type of imporpoer + improper2params_or = OrderedDict() + improper2class2_aa = OrderedDict() # params for the "aa" class2 term + improper2class2_aa_or = OrderedDict() + + improper2cross = defaultdict(dict) + # improper2cross[imp_name][atoms] stores the + # coefficient (K) for the angle-angle ("aa") + # improper interactions between a pair of + # neighboring 3-body angles (in the .FRC file). + # "imp_name" is the name of the improper interaction + # (which is a concatination of the central atom and + # the 3 surrounding leaf atoms (which are sorted)) + # "atoms" indicates, for that K value, the list of + # leaf atoms for that K value as they appear in the + # corresponding line of the .frc file (however the + # and last atom names are swapped if the first + # atom name is lexicographically > the last, to + # eliminate redundancy and ambiguity.) + + improper2sym = defaultdict(set) + # improper2sym[imp_name] indicates which subset of + # leaf atoms (from 0 to 2) are equivalent and can + # tolerate having their order rearranged without + # effecting the energy. Later on this will be used + # to reduce the number of improper interactions that + # will be generated by moltemplate. + + improper2priority = OrderedDict() # What is the priority of this interaction? + improper2priority_or = OrderedDict() + improper_is_secondary_or = OrderedDict() + improper2style = OrderedDict() # What LAMMPS improper style (formula) + # is used for a given interaction? + improper2style_or = OrderedDict() + improper_styles = set([]) # Contains all improper styles used. + improper2ver = OrderedDict() + improper2ver_or = OrderedDict() + improper2ref = OrderedDict() + improper2ref_or = OrderedDict() + improper2ver_aa = OrderedDict() + improper2ver_aa_or = OrderedDict() + improper2ref_aa = OrderedDict() + improper2ref_aa_or = OrderedDict() + + + # Warn users if force field contains terms which cannot yet + # be simulated with LAMMPS (as of 2017-10-13) + display_OOP_OOP_warning = False + display_torsion_torsion_1_warning = False + + + """ + --- these next few lines of code appear to be unnecessary. + --- I'll probably delete this code in a later version + hbond2params = OrderedDict() # lookup hbond parameters and atom types + hbond2donors = OrderedDict() # according to the identifier in the 2nd + hbond2acceptors = OrderedDict() # column of the "#hbond_definition" + hbond2hydrogens = OrderedDict() # section of an .frc file. + """ + + allowed_section_names = set(['#define', + # sections used in all MSI force-fields + '#atom_types', + '#equivalence', + '#auto_equivalence', + '#nonbond(9-6)', + '#nonbond(12-6)', + '#quadratic_bond', + '#quartic_bond', + '#morse_bond', + '#quadratic_angle', + '#quartic_angle', + '#bond-bond', + '#bond-angle', + '#torsion_1', + '#torsion_3', + '#middle_bond-torsion_3', + '#end_bond-torsion_3', + '#angle-torsion_3', + '#angle-angle-torsion_1',#(class2 dihedral) + '#bond-bond_1_3', #(a class2 dihedral term) + '#out_of_plane', + '#wilson_out_of_plane', + '#angle-angle', #(a class2 improper term) + '#out_of_plane-out_of_plane', # UNSUPPORTED + '#torsion-torsion_1', # UNSUPPORTED + '#bond_increments', + '#hbond_definition', # irrelevant? + '#templates', + '#reference', + '#end' + ]) + + icol_type = icol_mass = icol_elem = icol_nbonds = icol_comment = icol_ver = icol_ref = -1 + + section_name = '' + section_is_auto = False + + sys.stderr.write("parsing file pass1: look for atom types and equivalences...") + + for iline in range(0, len(lines)): + line = lines[iline] + sys.stderr.write('line=\"' + line.strip() + '\"\n') + tokens = SplitQuotedString(line.strip(), + quotes='', + comment_char='>') + #sys.stderr.write('tokens = ' + str(tokens) + '\n') + if line.lstrip().find('!') == 0 and tokens[0] != '!Ver': + continue + if line.lstrip(' ').find('#') == 0: + #sys.stderr.write('allowed_section_names = ' + + # str(allowed_section_names) + '\n') + if tokens[0] in allowed_section_names: + section_name = tokens[0] + section_is_auto = tokens[-1].endswith('_auto') + tokens_after_section_name = tokens[1:] + sys.stderr.write(' encountered section \"'+tokens[0]+'\"\n') + continue + elif not tokens[0] in ('#version', + '#define'): + raise InputError('Error: Line# '+str(iline) +'\n' + ' Unrecognized section name:\n' + ' \"' + tokens[0] + '\"\n') + elif (len(tokens) == 8) and (section_name == '#equivalence'): + if line.lstrip().find('!') == 0: + continue + lines_equivalences.append(line) + elif (len(tokens) == 12) and (section_name == '#auto_equivalence'): + if line.lstrip().find('!') == 0: + continue + lines_auto_equivalences.append(line) + elif (len(tokens) > 0) and (section_name == '#atom_types'): + # Different FRC files put this information in different + # columns. Column order is stored in the !Ver comment line: + if line.lstrip().find('!Ver') == 0: + tokens = line.strip().split() + for i in range(0, len(tokens)): + if tokens[i].lower() == 'type': + icol_type = i + elif tokens[i].lower() == 'mass': + icol_mass = i + elif tokens[i].lower() == 'element': + icol_elem = i + elif tokens[i].lower() == 'connections': + icol_nbonds = i + elif tokens[i].lower() == 'comment': + icol_comment = i + elif tokens[i].lower() == '!ver': #(version of ff) + icol_ver = i + elif tokens[i].lower() == 'ref': + icol_ref = i + assert(icol_ver == 0) + + if -1 in (icol_type, icol_mass): + raise InputError('Error: Invalid #atom_types section.\n' + ' The meaning of each column cannot be determined.\n' + ' This file needs a valid "!Ver..." comment.\n') + if icol_comment == -1: + icol_comment = max(icol_type, icol_mass, + icol_elem, icol_nbonds) + 1 + + sys.stderr.write('icol_ver = '+str(icol_ver)+'\n') + sys.stderr.write('icol_ref = '+str(icol_ref)+'\n') + sys.stderr.write('icol_mass = '+str(icol_mass)+'\n') + sys.stderr.write('icol_nelem = '+str(icol_elem)+'\n') + sys.stderr.write('icol_nbonds = '+str(icol_nbonds)+'\n') + sys.stderr.write('icol_comment = '+str(icol_comment)+'\n') + continue + + tokens = map(RemoveOuterQuotes, + NSplitQuotedString(line.strip(), + icol_comment+1, + quotes='', + comment_char='>')) + tokens = list(tokens) + + if (len(tokens) > 4): + if ((len(type_subset) == 0) or (tokens[1] in type_subset)): + aname = EncodeAName(tokens[icol_type]) + atom2mass[aname] = str(max(float(tokens[icol_mass]), 1.0e-06)) + # Some atoms in cvff.prm have zero mass. Unfortunately this + # causes LAMMPS to crash, even if these atoms are never used, + # so I give the mass a non-zero value instead. + + if icol_elem != -1: + atom2element[aname] = tokens[icol_elem] + if icol_nbonds != -1: + atom2numbonds[aname] = int(tokens[icol_nbonds]) + atom2descr[aname] = tokens[icol_comment] + atom2ver[aname] = tokens[icol_ver] + atom2ref[aname] = tokens[icol_ref] + + elif len(tokens) > 0: + raise InputError('Error: Invalid atom line: (line#'+str(iline)+')\n' + + '\"'+line.strip()+'\"') + + atom_types = [x for x in atom2mass] + + # Now construct the lookup tables and inverse tables + # we will need to understand the remainder of the file: + if not include_auto_equivalences: + atom2ffid = Equivalences2ffids(lines_equivalences, + atom_types, + atom2equiv_pair, + atom2equiv_bond, + atom2equiv_angle, + atom2equiv_dihedral, + atom2equiv_improper) + else: + atom2ffid = AutoEquivalences2ffids(lines_equivalences, + lines_auto_equivalences, + atom_types, + atom2equiv_pair, + atom2equiv_bond, + atom2equiv_angle, + atom2equiv_dihedral, + atom2equiv_improper, + atom2auto_pair, + atom2auto_bondincr, + atom2auto_bond, + atom2auto_angleend, + atom2auto_anglecenter, + atom2auto_dihedralend, + atom2auto_dihedralcenter, + atom2auto_improperend, + atom2auto_impropercenter) + + for a,e in atom2equiv_pair.items(): + equiv_pair2atom[e].add(a) + for a,e in atom2equiv_bond.items(): + equiv_bond2atom[e].add(a) + for a,e in atom2equiv_angle.items(): + equiv_angle2atom[e].add(a) + for a,e in atom2equiv_dihedral.items(): + equiv_dihedral2atom[e].add(a) + for a,e in atom2equiv_improper.items(): + equiv_improper2atom[e].add(a) + + # the inverse lookup for '*' matches all atom types + for a in atom_types: + #equiv_pair2atom['*'].add(EncodeAName(a)) + equiv_pair2atom['X'].add(EncodeAName(a)) + #equiv_bond2atom['*'].add(EncodeAName(a)) + equiv_bond2atom['X'].add(EncodeAName(a)) + #equiv_angle2atom['*'].add(EncodeAName(a)) + equiv_angle2atom['X'].add(EncodeAName(a)) + #equiv_dihedral2atom['*'].add(EncodeAName(a)) + equiv_dihedral2atom['X'].add(EncodeAName(a)) + #equiv_improper2atom['*'].add(EncodeAName(a)) + equiv_improper2atom['X'].add(EncodeAName(a)) + + for a,e in atom2auto_pair.items(): + auto_pair2atom[e].add(a) + for a,e in atom2auto_bondincr.items(): + auto_bondincr2atom[e].add(a) + for a,e in atom2auto_bond.items(): + auto_bond2atom[e].add(a) + for a,e in atom2auto_angleend.items(): + auto_angleend2atom[e].add(a) + #auto_angle[0][e].add(a) + #auto_angle[2][e].add(a) + for a,e in atom2auto_anglecenter.items(): + auto_anglecenter2atom[e].add(a) + #auto_angle[1][e].add(a) + for a,e in atom2auto_dihedralend.items(): + auto_dihedralend2atom[e].add(a) + #auto_dihedral2atom[0][e].add(a) + #auto_dihedral2atom[3][e].add(a) + for a,e in atom2auto_dihedralcenter.items(): + auto_dihedralcenter2atom[e].add(a) + #auto_dihedral2atom[1][e].add(a) + #auto_dihedral2atom[2][e].add(a) + for a,e in atom2auto_improperend.items(): + auto_improperend2atom[e].add(a) + for a,e in atom2auto_impropercenter.items(): + auto_impropercenter2atom[e].add(a) + + # the inverse lookup for '*' matches all atom types + for a in atom_types: + #auto_pair2atom['*'].add(EncodeAName(a)) + auto_pair2atom['X'].add(EncodeAName(a)) + #auto_bondincr2atom['*'].add(EncodeAName(a)) + auto_bondincr2atom['X'].add(EncodeAName(a)) + #auto_bond2atom['*'].add(EncodeAName(a)) + auto_bond2atom['X'].add(EncodeAName(a)) + #auto_angleend2atom['*'].add(EncodeAName(a)) + auto_angleend2atom['X'].add(EncodeAName(a)) + #auto_anglecenter2atom['*'].add(EncodeAName(a)) + auto_anglecenter2atom['X'].add(EncodeAName(a)) + #auto_dihedralend2atom['*'].add(EncodeAName(a)) + auto_dihedralend2atom['X'].add(EncodeAName(a)) + #auto_dihedralcenter2atom['*'].add(EncodeAName(a)) + auto_dihedralcenter2atom['X'].add(EncodeAName(a)) + #auto_improperend2atom['*'].add(EncodeAName(a)) + auto_improperend2atom['X'].add(EncodeAName(a)) + #auto_impropercenter2atom['*'].add(EncodeAName(a)) + auto_impropercenter2atom['X'].add(EncodeAName(a)) + + + + + + + + + sys.stderr.write("parsing file pass2: look for bonds, bond_increments and nonbonded (pair) interactions...") + + for iline in range(0, len(lines)): + line = lines[iline] + sys.stderr.write('line=\"' + line.strip() + '\"\n') + tokens = SplitQuotedString(line.strip(), + quotes='', + comment_char='>') + #sys.stderr.write('tokens = ' + str(tokens) + '\n') + if line.lstrip().find('!') == 0 and tokens[0] != '!Ver': + continue + if line.lstrip(' ').find('#') == 0: + #sys.stderr.write('allowed_section_names = ' + + # str(allowed_section_names) + '\n') + if (tokens[0] in allowed_section_names): + section_name = tokens[0] + section_is_auto = tokens[-1].endswith('_auto') + tokens_after_section_name = tokens[1:] + sys.stderr.write(' encountered section \"'+tokens[0]+'\"\n') + continue + elif (not tokens[0] in ('#version','#define')): + raise InputError('Error: Line# '+str(iline) +'\n' + ' Unrecognized section name:\n' + ' \"' + tokens[0] + '\"\n') + + + elif ((len(tokens) > 4) and (section_name == '#nonbond(12-6)') + and (pair_styles_selected & set(['lj','lj/cut','lj/cut/coul/long', + 'lj/cut/coul/cut','lj/cut/coul/debye', + 'lj/cut/coul/dsf','lj/cut/coul/msm', + '12-6','nonbond(12-6)']))): + + if line.lstrip().find('!') == 0: + continue + atom_name = EncodeAName(tokens[2]) + pair2ver[atom_name] = tokens[0] + pair2ref[atom_name] = tokens[1] + A = float(tokens[3]) + B = float(tokens[4]) + epsilon = B*B/(4*A) + sigma = pow(B/A, 1.0/6) + if sigma == 0.0: + sigma = 1.0 #(non-zero to avoid nan error later) + pair_styles.add('lj/cut/coul/long') + pair_style_args['lj/cut/coul/long'] = pair_cutoff + pair2style[atom_name] = 'lj/cut/coul/long' + pair2params[atom_name] = (str(epsilon)+' '+str(sigma)) + pair_mixing_style = 'geometric tail yes' + #if pair_style_name.find('lj/cut') == 0: + # pair2params[atom_name] = (str(epsilon)+' '+str(sigma)) + # pair_mixing_style = 'geometric tail yes' + + + elif ((len(tokens) > 4) and (section_name == '#nonbond(9-6)') + and (pair_styles_selected & + set(['class2', '9-6', 'nonbond(9-6)', + 'lj/class2/coul/long']))): + if line.lstrip().find('!') == 0: + continue + atom_name = EncodeAName(tokens[2]) + pair2ver[atom_name] = tokens[0] + pair2ref[atom_name] = tokens[1] + sigma = tokens[3] + epsilon = tokens[4] + pair_styles.add('lj/class2/coul/long') + pair_style_args['lj/class2/coul/long'] = pair_cutoff + pair2style[atom_name] = 'lj/class2/coul/long' + pair2params[atom_name] = (epsilon+' '+sigma) + pair_mixing_style = 'sixthpower tail yes' + #if pair_style_name.find('lj/class2') == 0: + # pair2params[atom_name] = (epsilon+' '+sigma) + # pair_mixing_style = 'sixthpower tail yes' + + + elif (len(tokens) == 6) and (section_name == '#bond_increments'): + if line.lstrip().find('!') == 0: + continue + aorig = [a for a in map(EncodeAName, tokens[2:4])] + delta_q = tokens[4:6] + atom_names = [a for a in aorig] + # swap the order of the atoms? + order_reversed = aorig[0] > aorig[-1] + if order_reversed: + delta_q.reverse() + atom_names.reverse() + bond_name = EncodeInteractionName(atom_names, section_is_auto) + charge_pair_ver[bond_name] = tokens[0] + charge_pair_ref[bond_name] = tokens[1] + charge_pair_priority[bond_name] = \ + (section_is_auto, + DetermineNumericPriority(section_is_auto, + tokens[2:4], + float(charge_pair_ver[bond_name]))) + bond2chargepair[bond_name] = (delta_q[0] + ' ' + delta_q[1]) + + + elif ((len(tokens) > 5) and (section_name == '#quadratic_bond') + and (bond_styles_selected & set(['harmonic','quadratic','quadratic_bond']))): + if line.lstrip().find('!') == 0: + continue + bond_styles.add('harmonic') + atom_names = SortByEnds(map(EncodeAName, tokens[2:4])) + bond_name = EncodeInteractionName(atom_names, section_is_auto) + bond2ver[bond_name] = tokens[0] + bond2ref[bond_name] = tokens[1] + bond2priority[bond_name] = \ + (section_is_auto, + DetermineNumericPriority(section_is_auto, + tokens[2:4], + float(bond2ver[bond_name]))) + r0 = tokens[4] + k = tokens[5] + if not section_is_auto: + bond2r0[bond_name] = r0 + sys.stderr.write('bond2r0['+bond_name+'] = ' + str(r0) + '\n') + else: + bond2r0_auto[(atom_names[0], atom_names[1])] = r0 + sys.stderr.write('bond2r0_auto['+str(atom_names)+'] = ' + str(r0) + '\n') + bond2style[bond_name] = 'harmonic' + bond2params[bond_name] = (k+' '+r0) + + + elif ((len(tokens) > 6) and (section_name == '#morse_bond') + and (bond_styles_selected & set(['morse','morse_bond']))): + if line.lstrip().find('!') == 0: + continue + bond_styles.add('morse') + atom_names = SortByEnds(map(EncodeAName, tokens[2:4])) + bond_name = EncodeInteractionName(atom_names, section_is_auto) + bond2ver[bond_name] = tokens[0] + bond2ref[bond_name] = tokens[1] + bond2priority[bond_name] = \ + (section_is_auto, + DetermineNumericPriority(section_is_auto, + tokens[2:4], + float(bond2ver[bond_name]))) + r0 = tokens[4] + D = tokens[5] + alpha = tokens[6] + sys.stderr.write('DEBUG: morse: atom_names = '+str(atom_names)+'\n') + if not section_is_auto: + bond2r0[bond_name] = r0 + sys.stderr.write('bond2r0['+bond_name+'] = ' + str(r0) + '\n') + else: + bond2r0_auto[(atom_names[0], atom_names[1])] = r0 + sys.stderr.write('bond2r0_auto['+str(atom_names)+'] = ' + str(r0) + '\n') + bond2style[bond_name] = 'morse' + bond2params[bond_name] = (D+' '+alpha+' '+r0) + + + + elif ((len(tokens) > 7) and (section_name == '#quartic_bond') + and (bond_styles_selected & set(['class2','quartic','quartic_bond']))): + if line.lstrip().find('!') == 0: + continue + bond_styles.add('class2') + atom_names = SortByEnds(map(EncodeAName, tokens[2:4])) + bond_name = EncodeInteractionName(atom_names, section_is_auto) + bond2ver[bond_name] = tokens[0] + bond2ref[bond_name] = tokens[1] + bond2priority[bond_name] = \ + (section_is_auto, + DetermineNumericPriority(section_is_auto, + tokens[2:4], + float(bond2ver[bond_name]))) + r0 = tokens[4] + if not section_is_auto: + bond2r0[bond_name] = r0 + sys.stderr.write('bond2r0['+bond_name+'] = ' + str(r0) + '\n') + else: + bond2r0_auto[(atom_names[0], atom_names[1])] = r0 + sys.stderr.write('bond2r0_auto['+str(atom_names)+'] = ' + str(r0) + '\n') + K2 = tokens[5] + K3 = tokens[6] + K4 = tokens[7] + bond2style[bond_name] = 'class2' + bond2params[bond_name] = (r0+' '+K2+' '+K3+' '+K4) + + + + + + sys.stderr.write("parsing file pass3: look for (3-body) angle interactions...") + + for iline in range(0, len(lines)): + line = lines[iline] + sys.stderr.write('line=\"' + line.strip() + '\"\n') + tokens = SplitQuotedString(line.strip(), + quotes='', + comment_char='>') + #sys.stderr.write('tokens = ' + str(tokens) + '\n') + if line.lstrip().find('!') == 0 and tokens[0] != '!Ver': + continue + if line.lstrip(' ').find('#') == 0: + #sys.stderr.write('allowed_section_names = ' + + # str(allowed_section_names) + '\n') + if (tokens[0] in allowed_section_names): + section_name = tokens[0] + section_is_auto = tokens[-1].endswith('_auto') + tokens_after_section_name = tokens[1:] + sys.stderr.write(' encountered section \"'+tokens[0]+'\"\n') + continue + elif (not tokens[0] in ('#version','#define')): + raise InputError('Error: Line# '+str(iline) +'\n' + ' Unrecognized section name:\n' + ' \"' + tokens[0] + '\"\n') + + + + + + + + elif (len(tokens) > 6) and (section_name == '#quadratic_angle'): + if line.lstrip().find('!') == 0: + continue + atom_names = SortByEnds(map(EncodeAName, tokens[2:5])) + angle_name = EncodeInteractionName(atom_names, section_is_auto) + + angle2ver[angle_name] = tokens[0] + angle2ref[angle_name] = tokens[1] + angle2priority_or[angle_name] = \ + DetermineNumericPriority(section_is_auto, + tokens[2:5], + float(angle2ver[angle_name])) + angle_is_secondary_or[angle_name] = False + angle2priority[angle_name] = \ + (section_is_auto, + angle_is_secondary_or[angle_name], + angle2priority_or[angle_name]) + theta0 = tokens[5] + k = tokens[6] + if not section_is_auto: + angle2theta0_or[angle_name] = theta0 + sys.stderr.write('angle2theta0_or['+angle_name+'] = ' + str(theta0) + '\n') + else: + angle2theta0_auto_or[(atom_names[0], atom_names[1], atom_names[2])] = theta0 + sys.stderr.write('angle2theta0_auto_or['+str(atom_names)+'] = ' + str(theta0) + '\n') + if (angle_styles_selected & set(['harmonic', + 'quadratic', + 'quadratic_angle'])): + angle_styles.add('harmonic') + angle2style[angle_name] = 'harmonic' + angle2params[angle_name] = (k+' '+theta0) + elif (angle_styles_selected & set(['class2', + 'quartic', + 'quartic_angle'])): + # Then this is a special case of the class2 angle where + # the (theta-theta0)^3 and (theta-theta0)^4 terms = 0 + angle_styles.add('class2') + angle2style_or[angle_name] = 'class2' + angle2params_or[angle_name] = (theta0+' '+k+' 0 0') + + + + elif ((len(tokens) > 8) and (section_name == '#quartic_angle') + and (angle_styles_selected & set(['class2','quartic','quartic_angle']))): + if line.lstrip().find('!') == 0: + continue + angle_styles.add('class2') + atom_names = SortByEnds(map(EncodeAName, tokens[2:5])) + ang_name_orig = EncodeInteractionName(atom_names, section_is_auto) + version = tokens[0] + reference = tokens[1] + angle2ver_or[ang_name_orig] = version + angle2ref_or[ang_name_orig] = reference + angle2priority_or[ang_name_orig] = \ + DetermineNumericPriority(section_is_auto, + tokens[2:5], + float(angle2ver_or[ang_name_orig])) + angle_is_secondary_or[ang_name_orig] = False + #angle2priority[ang_name_orig] = \ + # (section_is_auto, + # angle_is_secondary_or[ang_name_orig], + # angle2priority_or[ang_name_orig]) + theta0 = tokens[5] + if not section_is_auto: + angle2theta0_or[ang_name_orig] = theta0 + sys.stderr.write('angle2theta0_or['+ang_name_orig+'] = ' + str(theta0) + '\n') + else: + angle2theta0_auto_or[(atom_names[0], atom_names[1], atom_names[2])] = theta0 + sys.stderr.write('angle2theta0_auto_or['+str(atom_names)+'] = ' + str(theta0) + '\n') + K2 = tokens[6] + K3 = tokens[7] + K4 = tokens[8] + angle2style_or[ang_name_orig] = 'class2' + angle2params_or[ang_name_orig] = [theta0, K2, K3, K4] + if not ang_name_orig in angle2class2_bb_or: + angle2class2_bb_or[ang_name_orig] = '0.0' # default value + angle2ver_bb_or[ang_name_orig] = version # default value + angle2ref_bb_or[ang_name_orig] = reference # default value + if not ang_name_orig in angle2class2_ba_or: + angle2class2_ba_or[ang_name_orig] = ['0.0', '0.0'] # default value + angle2ver_ba_or[ang_name_orig] = version # default value + angle2ref_ba_or[ang_name_orig] = reference # default value + + elif ((len(tokens) > 5) and + (section_name in ('#bond-bond', '#bond-angle')) and + (angle_styles_selected & + set(['class2', 'quartic', 'quartic_angle']))): + if line.lstrip().find('!') == 0: + continue + version = tokens[0] + reference = tokens[1] + if line.lstrip().find('!') == 0: + continue + aorig = [a for a in map(EncodeAName, tokens[2:5])] + atom_names = SortByEnds(aorig) + ang_name_orig = EncodeInteractionName(atom_names, section_is_auto) + K = ['', ''] + K[0] = tokens[5] + K[1] = K[0] + if len(tokens) > 6: + K[1] = tokens[6] + order_reversed = aorig[0] > aorig[-1] + if order_reversed: + K.reverse() + if (section_name == '#bond-bond'): + angle2class2_bb_or[ang_name_orig] = K[0] + angle2ver_bb_or[ang_name_orig] = version + angle2ref_bb_or[ang_name_orig] = reference + elif (section_name == '#bond-angle'): + angle2class2_ba_or[ang_name_orig] = [k for k in K] + angle2ver_ba_or[ang_name_orig] = version + angle2ref_ba_or[ang_name_orig] = reference + if not ang_name_orig in angle2params_or: + angle_is_secondary_or[ang_name_orig] = True #only cross terms have been defined so far + angle2params_or[ang_name_orig] = ['0.0', '0.0', '0.0', '0.0'] # default value + angle2ver_or[ang_name_orig] = version + angle2ref_or[ang_name_orig] = reference + angle2priority_or[ang_name_orig] = 0.0 + + + + + + + + + + sys.stderr.write("parsing file pass4: look for dihedrals(torsions) and impropers(out_of_plane)...") + + for iline in range(0, len(lines)): + line = lines[iline] + sys.stderr.write('line=\"' + line.strip() + '\"\n') + tokens = SplitQuotedString(line.strip(), + quotes='', + comment_char='>') + #sys.stderr.write('tokens = ' + str(tokens) + '\n') + if line.lstrip().find('!') == 0 and tokens[0] != '!Ver': + continue + + + if line.lstrip(' ').find('#') == 0: + #sys.stderr.write('allowed_section_names = ' + + # str(allowed_section_names) + '\n') + if (tokens[0] in allowed_section_names): + section_name = tokens[0] + section_is_auto = tokens[-1].endswith('_auto') + tokens_after_section_name = tokens[1:] + sys.stderr.write(' encountered section \"'+tokens[0]+'\"\n') + continue + elif (not tokens[0] in ('#version','#define')): + raise InputError('Error: Line# '+str(iline) +'\n' + ' Unrecognized section name:\n' + ' \"' + tokens[0] + '\"\n') + + + + + elif (len(tokens) > 8) and (section_name == '#torsion_1'): + if line.lstrip().find('!') == 0: + continue + atom_names = SortByEnds(map(EncodeAName, tokens[2:6])) + dihedral_name = EncodeInteractionName(atom_names, section_is_auto) + dihedral2ver[dihedral_name] = tokens[0] + dihedral2ref[dihedral_name] = tokens[1] + dihedral2priority_or[dihedral_name] = \ + DetermineNumericPriority(section_is_auto, + tokens[2:6], + float(dihedral2ver[dihedral_name])) + dihedral_is_secondary_or[dihedral_name] = False + dihedral2priority[dihedral_name] = \ + (section_is_auto, + dihedral_is_secondary_or[dihedral_name], + dihedral2priority_or[dihedral_name]) + K = tokens[6] + n = tokens[7] + d = tokens[8] + + w = '0.0' #ignore: this is only used by the CHARMM force field + + if (dihedral_styles_selected & set(['charmm','torsion_1'])): + dihedral_styles.add('charmm') + dihedral2style[dihedral_name] = 'charmm' + #dihedral2params_or[dihedral_name] = [K,n,d,w] + dihedral2params[dihedral_name] = (K+' '+n+' '+d+' '+w) + elif (dihedral_styles_selected & set(['class2','torsion_3'])): + # Then this is a special case of the class2 angle + # lacking the higher terms in the Fourier series + dihedral_styles.add('class2') + dihedral2style[dihedral_name] = 'class2' + dihedral2params_or[dihedral_name] = [K,d,0,0,0,0] + + + + + elif ((len(tokens) > 7) and (section_name == '#torsion_3') + and (dihedral_styles_selected & set(['class2','torsion_3']))): + if line.lstrip().find('!') == 0: + continue + dihedral_styles.add('class2') + atom_names = SortByEnds(map(EncodeAName, tokens[2:6])) + dih_name_orig = EncodeInteractionName(atom_names, section_is_auto) + version = tokens[0] + reference = tokens[1] + dihedral2priority_or[dih_name_orig] = \ + DetermineNumericPriority(section_is_auto, + tokens[2:6], + float(version)) + dihedral_is_secondary_or[dih_name_orig] = False + #dihedral2priority[dih_name_orig] = \ + # (section_is_auto, + # dihedral_is_secondary_or[dih_name_orig], + # dihedral2priority_or[dih_name_orig]) + V1 = tokens[6] + phi0_1 = tokens[7] + V2 = phi0_2 = V3 = phi0_3 = '0.0' + if len(tokens) > 9: + V2 = tokens[8] + phi0_2 = tokens[9] + if len(tokens) > 11: + V3 = tokens[10] + phi0_3 = tokens[11] + dihedral2style_or[dih_name_orig] = 'class2' + dihedral2ver_or[dih_name_orig] = version + dihedral2ref_or[dih_name_orig] = reference + dihedral2params_or[dih_name_orig] = [V1, phi0_1, V2, phi0_2, V3, phi0_3] + # default values for cross terms: + if not dih_name_orig in dihedral2class2_mbt_or: + dihedral2class2_mbt_or[dih_name_orig] = ['0.0','0.0','0.0'] # default value + dihedral2ver_mbt_or[dih_name_orig] = version + dihedral2ref_mbt_or[dih_name_orig] = reference + if not dih_name_orig in dihedral2class2_ebt_or: + dihedral2class2_ebt_or[dih_name_orig] = [['0.0','0.0','0.0'],['0.0','0.0','0.0']] # default value + dihedral2ver_ebt_or[dih_name_orig] = version + dihedral2ref_ebt_or[dih_name_orig] = reference + if not dih_name_orig in dihedral2class2_bb13_or: + dihedral2class2_bb13_or[dih_name_orig] = '0.0' # default value + dihedral2ver_bb13_or[dih_name_orig] = version + dihedral2ref_bb13_or[dih_name_orig] = reference + if not dih_name_orig in dihedral2class2_at_or: + dihedral2class2_at_or[dih_name_orig] = [['0.0','0.0','0.0'],['0.0','0.0','0.0']] # default value + dihedral2ver_at_or[dih_name_orig] = version + dihedral2ref_at_or[dih_name_orig] = reference + if not dih_name_orig in dihedral2class2_aat_or: + dihedral2class2_aat_or[dih_name_orig] = '0.0' # default value + dihedral2ver_aat_or[dih_name_orig] = version + dihedral2ref_aat_or[dih_name_orig] = reference + + + + + + elif ((len(tokens) > 6) and (section_name == '#middle_bond-torsion_3') + and (dihedral_styles_selected & set(['class2','torsion_3']))): + if line.lstrip().find('!') == 0: + continue + dihedral_styles.add('class2') + version = tokens[0] + reference = tokens[1] + if line.lstrip().find('!') == 0: + continue + aorig = [a for a in map(EncodeAName, tokens[2:6])] + atom_names = SortByEnds(aorig) + + Fmbt = [tokens[6], '0.0', '0.0'] + if len(tokens) > 7: + Fmbt[1] = tokens[7] + if len(tokens) > 8: + Fmbt[2] = tokens[8] + + dih_name_orig = EncodeInteractionName(atom_names, section_is_auto) + + #sys.stderr.write('DEBUG: (a2,a3) = '+str((a2,a3))+', ' + # ' (b1,b2) = '+str(batoms)+'\n') + dihedral2style[dih_name_orig] = 'class2' + dihedral2class2_mbt_or[dih_name_orig] = [F for F in Fmbt] + dihedral2ver_mbt_or[dih_name_orig] = version + dihedral2ref_mbt_or[dih_name_orig] = reference + if not dih_name_orig in dihedral2params_or: + dihedral_is_secondary_or[dih_name_orig] = True #only cross terms have been defined so far + dihedral2params_or[dih_name_orig] = ['0.0', '0.0', '0.0', '0.0', '0.0', '0.0'] + dihedral2ver_or[dih_name_orig] = version + dihedral2ref_or[dih_name_orig] = reference + dihedral2priority_or[dih_name_orig] = 0.0 + + + + + elif ((len(tokens) > 6) and + (section_name in ('#end_bond-torsion_3', + '#bond-bond_1_3')) and + (dihedral_styles_selected & + set(['class2', 'torsion_3']))): + if line.lstrip().find('!') == 0: + continue + dihedral_styles.add('class2') + version = tokens[0] + reference = tokens[1] + if line.lstrip().find('!') == 0: + continue + aorig = [a for a in map(EncodeAName, tokens[2:6])] + atom_names = SortByEnds(aorig) + + dih_name_orig = EncodeInteractionName(atom_names, section_is_auto) + + dihedral2style[dih_name_orig] = 'class2' + if section_name == '#end_bond-torsion_3': + Febt = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]] + Febt[0][0] = tokens[6] + if len(tokens) > 7: + Febt[0][1] = tokens[7] + if len(tokens) > 8: + Febt[0][2] = tokens[8] + Febt[1][0] = Febt[0][0] + Febt[1][1] = Febt[0][1] + Febt[1][2] = Febt[0][2] + if len(tokens) > 9: + Febt[1][0] = tokens[9] + if len(tokens) > 10: + Febt[1][1] = tokens[10] + if len(tokens) > 11: + Febt[1][2] = tokens[11] + order_reversed = aorig[0] > aorig[-1] + if order_reversed: + Febt.reverse() + dihedral2class2_ebt_or[dih_name_orig] = [ [F_ij for F_ij in F_i] for F_i in Febt] #deep copy of Febt[][] + dihedral2ver_ebt_or[dih_name_orig] = version + dihedral2ref_ebt_or[dih_name_orig] = reference + + elif section_name == '#bond-bond_1_3': + Kbb13 = tokens[6] + #dihedral2ver_bb13[dih_name_orig] = version + dihedral2class2_bb13_or[dih_name_orig] = Kbb13 + dihedral2ver_bb13_or[dih_name_orig] = version + dihedral2ref_bb13_or[dih_name_orig] = reference + else: + assert(False) + if not dih_name_orig in dihedral2params_or: + dihedral_is_secondary_or[dih_name_orig] = True #only cross terms have been defined so far + dihedral2params_or[dih_name_orig] = ['0.0', '0.0', '0.0', '0.0', '0.0', '0.0'] + dihedral2ver_or[dih_name_orig] = version + dihedral2ref_or[dih_name_orig] = reference + dihedral2priority_or[dih_name_orig] = 0.0 + + + + + + + + + + + elif ((len(tokens) > 6) and + (section_name in ('#angle-torsion_3', + '#angle-angle-torsion_1')) and + (dihedral_styles_selected & + set(['class2', 'torsion_3']))): + if line.lstrip().find('!') == 0: + continue + dihedral_styles.add('class2') + version = tokens[0] + reference = tokens[1] + if line.lstrip().find('!') == 0: + continue + aorig = [a for a in map(EncodeAName, tokens[2:6])] + atom_names = SortByEnds(aorig) + + dih_name_orig = EncodeInteractionName(atom_names, section_is_auto) + + dihedral2style[dih_name_orig] = 'class2' + + if section_name == '#angle-torsion_3': + Fat = [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]] + Fat[0][0] = tokens[6] + if len(tokens) > 7: + Fat[0][1] = tokens[7] + if len(tokens) > 8: + Fat[0][2] = tokens[8] + Fat[1][0] = Fat[0][0] + Fat[1][1] = Fat[0][1] + Fat[1][2] = Fat[0][2] + if len(tokens) > 9: + Fat[1][0] = tokens[9] + if len(tokens) > 10: + Fat[1][1] = tokens[10] + if len(tokens) > 11: + Fat[1][2] = tokens[11] + order_reversed = aorig[0] > aorig[-1] + if order_reversed: + Fat.reverse() + Fat[0].reverse() + Fat[1].reverse() + dihedral2class2_at_or[dih_name_orig] = [ [F_ij for F_ij in F_i] for F_i in Fat] #deep copy of Fat + dihedral2ver_at_or[dih_name_orig] = version + dihedral2ref_at_or[dih_name_orig] = reference + elif section_name == '#angle-angle-torsion_1': + Kaat = tokens[6] + dihedral2class2_aat_or[dih_name_orig] = Kaat + dihedral2ver_aat_or[dih_name_orig] = version + dihedral2ref_aat_or[dih_name_orig] = reference + else: + assert(False) + + if not dih_name_orig in dihedral2params_or: + dihedral_is_secondary_or[dih_name_orig] = True #only cross terms have been defined so far + dihedral2params_or[dih_name_orig] = ['0.0', '0.0', '0.0', '0.0', '0.0', '0.0'] # default value + dihedral2ver_or[dih_name_orig] = version + dihedral2ref_or[dih_name_orig] = reference + dihedral2priority_or[dih_name_orig] = 0.0 + + + + + + + + + + + elif ((len(tokens) > 8) and (section_name == '#out_of_plane') + and (improper_styles_selected & set(['cvff','out_of_plane']))): + if line.lstrip().find('!') == 0: + continue + improper_styles.add('cvff') + aorig = [a for a in map(EncodeAName, tokens[2:6])] + atom_names,_ignore = OOPImproperNameSort(tokens[2:6]) + improper_name = EncodeInteractionName(atom_names, section_is_auto) + imsym = improper_symmetry_subgraph[improper_name] = 'cenJflipIL' + subgraph2impname['cenJflipIL'].add(improper_name) CONTINUEHERE + improper2ver[imsym][improper_name] = tokens[0] + improper2ref[imsym][improper_name] = tokens[1] + improper2priority_or[imsym][improper_name] = \ + DetermineNumericPriority(section_is_auto, + tokens[2:6], + float(improper2ver[imsym][improper_name])) + improper_is_secondary_or[imsym][imp_name_orig] = False + improper2priority[imsym][improper_name] = \ + (section_is_auto, + improper_is_secondary_or[imsym][imp_name_orig], + improper2priority_or[imsym][improper_name]) + K = tokens[6] + n = tokens[7] + chi0 = tokens[8] + improper2style[imsym][improper_name] = 'cvff' + improper2params[imsym][improper_name] = (Kchi+' '+n+' '+chi0) + #if improper_style_name == 'cvff': + # improper2params[improper_name] = (Kchi+' '+n+' '+chi0) + # improper_symmetry_subgraph[improper_name] = 'cenJswapIL' + + + elif ((len(tokens) > 7) and (section_name == '#wilson_out_of_plane') + and (improper_styles_selected and set(['class2','wilson_out_of_plane']))): + if line.lstrip().find('!') == 0: + continue + improper_styles.add('class2') + sys.stderr.write('tokens = ' + str(tokens) + '\n') + + version = tokens[0] + reference = tokens[1] + aorig = [a for a in map(EncodeAName, tokens[2:6])] + + # To avoid redundancy, it is necessary to order the atoms + # in the interaction so that two equivalent ways of ordering + # the atoms in an improper interaction do not get misinterpreted + # as two different types of improper interactions. So we sort + # the 3 "leaf" atoms surrounding the central "hub" by name. + + atom_names, permutation = Class2ImproperNameSort(tokens[2:6]) + + # This will effect the formula for the energy. + # (specifically the "chi0" parameter) + # When we lookup the various cross-term interactions for that + # same improper interaction, we will be sure to sort them + # in the same way to make sure those interactions are + # associated with the same improper interaction. + + imp_name_orig = EncodeInteractionName(atom_names, section_is_auto) + #improper_symmetry_subgraph_or[improper_name] = 'dihedrals_nosym' (<--no) + imsym = improper_symmetry_subgraph_or[imp_name_orig] = 'cenJsortIKL' + improper2ver_or[imsym][imp_name_orig] = version + improper2ref_or[imsym][imp_name_orig] = reference + improper2priority_or[imsym][imp_name_orig] = \ + DetermineNumericPriority(section_is_auto, + tokens[2:6], + float(improper2ver_or[imp_name_orig])) + improper_is_secondary_or[imsym][imp_name_orig] = False + #improper2priority[imp_name_orig] = \ + # (section_is_auto, + # improper_is_secondary_or[imp_name_orig], + # improper2priority_or[imp_name_orig]) + K = tokens[6] + chi0 = tokens[7] + + if Parity(permutation) != 0: + # Each time the order of a pair of atoms is swapped in + # the interaction, all 3 of the "X" (chi) angles change sign + # The formula for the ordinary term in the improper + # interaction is Ei = K*((Xijkl + Xkjli + Xljik)/3 - chi0)^2 + # This formula is invariant if we change the sign of all + # Xijkl, Xkjli, Xljik, chi0 + # Hence, we can account for a change in atom order by + # changing the sign of the "chi0" parameter. + # We calculate the "Parity" of the permutation (ie whether + # the permutation has an even or odd number of swaps) + # and multiply chi0 by -1 for each swap. + # It's not clear if this is necessary since in practice + # the "chi0" parameter is usually zero. + + chi0 = str(-1.0*float(chi0)) # same as ('-' + chi0) + + improper2style_or[imsym][imp_name_orig] = 'class2' + improper2params_or[imsym][imp_name_orig] = [K, chi0] + #improper2params[imp_name_orig] = K + ' ' + chi0 + # default values for cross terms: + if not imp_name_orig in improper2class2_aa_or: + improper2class2_aa_or[imsym][imp_name_orig] = '0.0' #(default) + improper2ver_aa_or[imsym][imp_name_orig] = version + improper2ref_aa_or[imsym][imp_name_orig] = reference + # Initially, set all of the angle-angle cross terms to zero + # Start with the first cross term between aorig[0],aorig[1],aorig[2] & aorig[2],aorig[1],aorig[3] + improper2cross[imp_name_orig][ImCrossTermID([aorig[0],aorig[1],aorig[2],aorig[3]])] = '0.0' + # ...then cyclically permute the 3 "leaf" atoms (aorig[0], aorig[2], aorig[3]) around the "hub" atom (aorig[1]) + improper2cross[imp_name_orig][ImCrossTermID([aorig[2],aorig[1],aorig[3],aorig[0]])] = '0.0' + improper2cross[imp_name_orig][ImCrossTermID([aorig[3],aorig[1],aorig[0],aorig[2]])] = '0.0' + + elif ((len(tokens) > 6) and (section_name == '#angle-angle') + and (improper_styles_selected and set(['class2','wilson_out_of_plane']))): + if line.lstrip().find('!') == 0: + continue + improper_styles.add('class2') + version = tokens[0] + reference = tokens[1] + aorig = [a for a in map(EncodeAName, tokens[2:6])] + atom_names, permutation = Class2ImproperNameSort(tokens[2:6]) + imp_name_orig = EncodeInteractionName(atom_names, section_is_auto) + imsym = improper_symmetry_subgraph_or[imp_name_orig] = 'cenJsortIKL' + improper2ver_aa_or[imsym][imp_name_orig] = version + improper2ref_aa_or[imsym][imp_name_orig] = reference + K = tokens[6] + improper2style_or[imsym][imp_name_orig] = 'class2' + if not imp_name_orig in improper2params_or: + improper_is_secondary_or[imsym][imp_name_orig] = True #only cross terms have been defined so far + improper2params_or[imsym][imp_name_orig] = ['0.0', '0.0'] + improper2ver_or[imsym][imp_name_orig] = version + improper2ref_or[imsym][imp_name_orig] = reference + improper2priority_or[imsym][imp_name_orig] = 0.0 + if not imp_name_orig in improper2cross: + # then initialize all of the cross terms to zero + improper2cross[imp_name_orig][ImCrossTermID([aorig[0],aorig[1],aorig[2],aorig[3]])] = '0.0' + # ...then cyclically permute the 3 "leaf" atoms (aorig[0], aorig[2], aorig[3]) around the "hub" atom (aorig[1]) + improper2cross[imp_name_orig][ImCrossTermID([aorig[2],aorig[1],aorig[3],aorig[0]])] = '0.0' + improper2cross[imp_name_orig][ImCrossTermID([aorig[3],aorig[1],aorig[0],aorig[2]])] = '0.0' + #improper2class2_aa_or[imp_name_orig] = K (not needed) + improper2cross[imp_name_orig][ImCrossTermID(aorig)] = K + + elif (len(tokens) > 0) and (section_name == '#out_of_plane-out_of_plane'): + if line.lstrip().find('!') == 0: + continue + display_OOP_OOP_warning = True + + elif (len(tokens) > 0) and (section_name == '#torsion-torsion_1'): + if line.lstrip().find('!') == 0: + continue + display_torsion_torsion_1_warning = True + + elif section_name == '#templates': + #if line.lstrip().find('!') == 0: + # continue + lines_templates.append(line) + + elif section_name == '#reference': + if line.lstrip().find('!') == 0: + continue + if len(tokens_after_section_name) > 0: + ref_number = int(tokens_after_section_name[0]) + if len(line.strip()) > 0: + lines_references[ref_number].append(line) + + + + """ + --- these next few lines of code appear to be unnecessary. + --- I'll probably delete this code in a later version + elif (len(tokens) > 3) and (section_name == '#hbond_definition'): + hbondID = tokens[1] + if tokens[2] == 'distance': + hbond2distance[hbondID] = tokens[3] + if tokens[2] == 'angle': + hbond2angle[hbondID] = tokens[3] + if tokens[2] == 'donors': + hbond2donors[hbondID] = map(EncodeAName, tokens[2:]) + if tokens[2] == 'acceptors': + hbond2acceptors[hbondID] = map(EncodeAname(),tokens[2:]) + """ + + + if display_OOP_OOP_warning: + lines_warnings.append('###########################################################\n' + '# WARNING\n' + '# ALL \"out-of-plane_out-of_plane\" INTERACTIONS ARE IGNORED.\n' + '# CHECK THAT THESE TERMS ARE NEGLEGIBLY SMALL.\n' + '# \"out-of-plane_out-of_plane\" interactions are not yet supported in LAMMPS\n' + '# (...as of 2017-10-13) There is no way that moltemplate can produce\n' + '# LAMMPS compatible parameter files for these interactions.\n' + '###########################################################\n') + + if display_torsion_torsion_1_warning: + lines_warnings.append('###########################################################\n' + '# WARNING\n' + '# ALL \"torsion_torsion_1\" INTERACTIONS ARE IGNORED.\n' + '# CHECK THAT THESE TERMS ARE NEGLEGIBLY SMALL.\n' + '# \"torsion_torsion_1\" interactions are not yet supported in LAMMPS\n' + '# (...as of 2017-10-13) There is no way that moltemplate can produce\n' + '# LAMMPS compatible parameter files for these interactions.\n' + '###########################################################\n') + + + sys.stderr.write(' done.\n' + 'building lookup tables...') + + + + + + + + """ + --- these next few lines of code appear to be unnecessary. + --- I'll probably delete them eventually + if len(hbond2params) > 0: + sys.stdout.write('\n\n write_once("In Settings") {\n') + if hbond_style == 'hbond/dreiding/lj': + for hbondID, angle in hbond2angle: + hbond2params[hbondID] = hbond2distance[hbondID]+' '+hbond2angle[hbondID] ##<--this is not correct + for hbondID, params in hbond2params: + for donor in hbond2donors[hbondID]: + for acceptor in hbond2acceptors[hbondID]: + for hydrogen in hbond2hydrogens[hbondID]: + sys.stdout.write('pair_coeff @atom:'+donor+' @atom:'+acceptor+' '+hbond_style+' @atom:'+hydrogen+' i '+params+'\n') + sys.stdout.write(' } # (DREIDING style H-bond parameters)\n\n\n') + """ + + + + + + + sys.stderr.write(" done.\n") + sys.stderr.write("Trying all combinations of atom types...") + + + + + + + + ##################### POST-PROCESSING ######################## + + + + + + for ang_name_orig in angle2params_or: + + is_auto = (ang_name_orig.find('auto_') == 0) + + atom_names = ExtractANames(ang_name_orig) + + num_angles = 0 + + atom_combos = [set([]), set([]), set([])] + + # We must consider every possible combination of atom types + # which satisfy BOTH angle_equivalences and bond_equivalences. + # ...AND we must consider BOTH regular AND auto equivalences. + # For each combination generate a separate @angle interaction. + # (I fear this will make the resulting .LT file large.) + + # Use different auto equivalence lookup tables for different + # atoms in the interaction. (ie the "center" and "end" atoms) + auto_angle2atom = [auto_angleend2atom, + auto_anglecenter2atom, + auto_angleend2atom] + + for i in range(0, 3): + angle_atom_name = atom_names[i] + sys.stderr.write('DEBUG: angle_atom_name = '+angle_atom_name+'\n') + if not is_auto: + assert(angle_atom_name[-1] != '_') + # assume regular equivalences when looking up atom types + sys.stderr.write('DEBUG: equiv_angle2atom['+angle_atom_name+'] = '+ + str(equiv_angle2atom[angle_atom_name])+'\n') + for a in equiv_angle2atom[angle_atom_name]: + atom_combos[i].add(a) + else: + #assert((angle_atom_name[-1] == '_') or (angle_atom_name[0] == '*')) (<--some exceptions. don't assert this) + + # assume "auto" equivalences when looking up atom types + sys.stderr.write('DEBUG: auto_angle2atom['+str(i)+']['+angle_atom_name+'] = \n' + ' '+str(equiv_angle2atom[i][angle_atom_name])+'\n') + for a in auto_angle2atom[i][angle_atom_name]: + atom_combos[i].add(a) + + found_at_least_one = False + #for a1 in atom_combos[0]: + for a1 in sorted(list(atom_combos[0])): + #for a2 in atom_combos[1]: + for a2 in sorted(list(atom_combos[1])): + #sys.stderr.write('atom2auto_bond = '+str(atom2auto_bond)+'\n') + bond_data1 = LookupBondLength(a1, a2, + atom2equiv_bond, + bond2r0, + atom2auto_bond, + bond2r0_auto) + if bond_data1 == None: # Save time by continuing only if a + continue # bond was defined between a1 and a2 + + #for a3 in atom_combos[2]: + for a3 in sorted(list(atom_combos[2])): + bond_data2 = LookupBondLength(a2, a3, + atom2equiv_bond, + bond2r0, + atom2auto_bond, + bond2r0_auto) + if bond_data2 == None: + continue + + #bond lengths: + r0s = [0.0, 0.0] + #equivalent atom names used to lookup the bonds: + batoms = [['', ''], ['', '']] + #were "auto" equivalences needed to lookup the bond length? + b_is_auto = [False, False] + r0s[0], batoms[0], b_is_auto[0] = bond_data1 + r0s[1], batoms[1], b_is_auto[1] = bond_data2 + order_reversed = aorig[0] > aorig[-1] + if order_reversed: + batoms.reverse() + batoms[0].reverse() + batoms[1].reverse() + b_is_auto.reverse() + ang_name_full = (ang_name_orig + ',' + + EncodeInteractionName(batoms[0], b_is_auto[0]) + ',' + + EncodeInteractionName(batoms[1], b_is_auto[1])) + + + #sys.stderr.write('DEBUG: (a1,a2,a3) = '+str((a1,a2,a3))+', ' + # ' (b11,b12,b21,b22) = '+str(batoms)+'\n') + angle2ref_or[ang_name_full] = reference + angle2style_or[ang_name_full] = 'class2' + theta0_K_params = angle2params_or[ang_name_orig] + angle2params[ang_name_full] = ' '.join(theta0_K_params) + if ang_name_orig in angle2class2_bb_or: + Kbb = angle2class2_bb_or[ang_name_orig] + assert(ang_name_orig in angle2ver_bb_or) + assert(ang_name_orig in angle2ref_bb_or) + else: #(use default values) + Kbb = '0.0' + angle2class2_bb_or[ang_name_orig] = Kbb + angle2ver_bb_or[ang_name_orig] = angle2ver_or[ang_name_orig] + angle2ref_bb_or[ang_name_orig] = angle2ref_or[ang_name_orig] + angle2class2_bb[ang_name_full] = (Kbb+' '+r0s[0]+' '+r0s[1]) + angle2priority_bb = \ + DetermineNumericPriority(is_auto, + batoms[0] + batoms[1], + float(angle2ver_bb_or[ang_name_orig])) + angle2ver_bb[ang_name_full] = angle2ver_bb_or[ang_name_orig] + angle2ref_bb[ang_name_full] = angle2ref_bb_or[ang_name_orig] + + if ang_name_orig in angle2class2_ba_or: + Kba = angle2class2_ba_or[ang_name_orig] + assert(ang_name_orig in angle2ver_ba_or) + assert(ang_name_orig in angle2ref_ba_or) + else: #(use default values) + Kba = ['0.0', '0.0'] + angle2class2_ba_or[ang_name_orig] = Kba + angle2ver_ba_or[ang_name_orig] = angle2ver_or[ang_name_orig] + angle2ref_ba_or[ang_name_orig] = angle2ref_or[ang_name_orig] + angle2class2_ba[ang_name_full] = (Kba[0]+' '+Kba[1]+' '+r0s[0]+' '+r0s[1]) + angle2sym_ba = (Kba[0] == Kba[1]) + angle2priority_ba = \ + DetermineNumericPriority(is_auto, + batoms[0] + batoms[1], + angle2ver_ba_or[ang_name_orig]) + angle2ver_ba[ang_name_full] = angle2ver_ba_or[ang_name_orig] + angle2ref_ba[ang_name_full] = angle2ref_ba_or[ang_name_orig] + + version = max((angle2ver_or[ang_name_orig], + angle2ver_bb_or[ang_name_orig], + angle2ver_ba_or[ang_name_orig])) + angle2ver[ang_name_full] = version + angle2ref[ang_name_full] = angle2ref_or[ang_name_orig] + angle2style[ang_name_full] = 'class2' + angle2priority[ang_name_full] = \ + (is_auto, + angle_is_secondary_or[ang_name_orig], + angle2priority_or[ang_name_orig], + angle2priority_bb, + angle2priority_ba) + + if num_angles < len(angle2params): + sys.stderr.write('DEBUG: '+section_name[1:]+' r0 ('+ang_name_full+') = ('+r0s[0]+', '+r0s[1]+')\n') + sys.stderr.write('DEBUG: len(angle2class2_bb) = '+str(len(angle2class2_bb))+'\n') + sys.stderr.write('DEBUG: '+section_name[1:]+' r0 ('+ang_name_full+') = ('+r0s[0]+', '+r0s[1]+')\n') + #sys.stderr.write('DEBUG: len(angle2class2_ba) = '+str(len(angle2class2_ba))+'\n') + num_angles = len(angle2params) + + if ((not angle2sym_ba) + and + (atom_names[0] == atom_names[2])): + raise InputError('Error: Unsupported angle interaction: \"@angle:'+str(ang_name_orig)+'\"\n' + ' This interaction has symmetric atom names:\n' + ', '.join(atom_names)+'\n' + ' and yet it lacks symmetry in the corresponding force field parameters.\n' + ' (If this is not a mistake in the .frc file, then explain\n' + ' why to andrew so he can fix this.)\n') + + + found_at_least_one = True + + + if not found_at_least_one: + lines_warnings.append('# WARNING: Undefined bond length (r0) in angle: ' + + ' '.join(atom_names)+'\n') + # Then we were unable to define cross terms for this interaction + # because at least one of the bond lengths could not be determined. + # This usually occurs because most of the .FRC files which are + # in circulation are incomplete. We have to handle this gracefully. + ang_name_full = (ang_name_orig + ',X,X,X,X,X,X') + version = angle2ver_or[ang_name_orig] + reference = angle2ref_or[ang_name_orig] + angle2ref[ang_name_full] = reference + angle2ver[ang_name_full] = version + angle2style[ang_name_full] = 'class2' + angle2params[ang_name_full] = ' '.join(angle2params_or[ang_name_orig]) + # substitute zeros for all the cross term interactions + angle2priority[ang_name_full] = angle2priority_or[ang_name_orig] + angle2class2_bb[ang_name_full] = '0.0 1.0 1.0' + angle2ref_bb[ang_name_full] = reference + angle2ver_bb[ang_name_full] = version + angle2class2_ba[ang_name_full] = '0.0 0.0 1.0 1.0' + angle2ref_ba[ang_name_full] = reference + angle2ver_ba[ang_name_full] = version + #sys.stderr.write('bond_names = ' + str(bond_names) + '\n') + + + + + + ############ POST-PROCESSING DIHEDRALS ########### + + + + for dih_name_orig in dihedral2params_or: + #assert(dih_name_orig in dihedral2class2_mbt_or) + #assert(dih_name_orig in dihedral2class2_ebt_or) + #assert(dih_name_orig in dihedral2class2_bb13_or) + #assert(dih_name_orig in dihedral2class2_at_or) + #assert(dih_name_orig in dihedral2class2_aat_or) + + is_auto = (dih_name_orig.find('auto_') == 0) + + atom_names = ExtractANames(dih_name_orig) + + num_dihedrals = 0 + + atom_combos = [set([]), set([]), set([]), set([])] + + # We must consider every possible combination of atom types + # which satisfy all three: + # dihedral_equivalences + # bond_equivalences + # angle_equivalences + # ...AND we must consider BOTH regular AND auto equivalences. + # For each combination generate a separate @dihedral interaction. + # (I fear this will make the resulting .LT file large.) + + # Use different auto equivalence lookup tables for different + # atoms in the interaction. (ie the "center" and "end" atoms) + auto_dihedral2atom = [auto_dihedralend2atom, + auto_dihedralcenter2atom, + auto_dihedralcenter2atom, + auto_dihedralend2atom] + + for i in range(0, 4): + dihedral_atom_name = atom_names[i] + sys.stderr.write('DEBUG: dihedral_atom_name = '+dihedral_atom_name+'\n') + if not is_auto: + assert(dihedral_atom_name[-1] != '_') + # assume regular equivalences when looking up atom types + sys.stderr.write('DEBUG: equiv_dihedral2atom['+dihedral_atom_name+'] = '+ + str(equiv_dihedral2atom[dihedral_atom_name])+'\n') + for a in equiv_dihedral2atom[dihedral_atom_name]: + atom_combos[i].add(a) + else: + assert((dihedral_atom_name[-1] == '_') or (ange_atom_name[0] == '*')) + # assume "auto" equivalences when looking up atom types + sys.stderr.write('DEBUG: auto_dihedral2atom['+str(i)+']['+dihedral_atom_name+'] = \n' + ' '+str(equiv_dihedral2atom[i][dihedral_atom_name])+'\n') + for a in auto_dihedral2atom[i][dihedral_atom_name]: + atom_combos[i].add(a) + + found_at_least_one = False + + #for a1 in atom_combos[0]: + for a1 in sorted(list(atom_combos[0])): + + #for a2 in atom_combos[1]: + for a2 in sorted(list(atom_combos[1])): + + #sys.stderr.write('atom2auto_bond = '+str(atom2auto_bond)+'\n') + bond_data12 = LookupBondLength(a1, a2, + atom2equiv_bond, + bond2r0, + atom2auto_bond, + bond2r0_auto) + if bond_data12 == None: + # Save time by only continuing if a bond was + # found between a1 and a2 + continue + #for a3 in atom_combos[2]: + for a3 in sorted(list(atom_combos[2])): + bond_data23 = LookupBondLength(a2, a3, + atom2equiv_bond, + bond2r0, + atom2auto_bond, + bond2r0_auto) + if bond_data23 == None: + # Save time by only continuing if a bond was + # found between a2 and a3 + continue + + angle_data123 = LookupBondAngle(a1, a2, a3, + atom2equiv_angle, + angle2theta0_or, + [atom2auto_angleend, + atom2auto_anglecenter, + atom2auto_anglecenter], + angle2theta0_auto_or) + if angle_data123 == None: + # Save time by only continuing if an angle was + # found between a1, a2, a3 + continue + + + #for a4 in atom_combos[3]: + for a4 in sorted(list(atom_combos[3])): + bond_data34 = LookupBondLength(a3, a4, + atom2equiv_bond, + bond2r0, + atom2auto_bond, + bond2r0_auto) + if bond_data34 == None: + # Save time by only continuing if a bond was + # found between a3 and a4 + continue + + #rest bond lengths: + r0s = [0.0, 0.0, 0,0] + #equivalent atom names used to lookup the bonds: + batoms = [['', ''], ['', ''], ['','']] + #are these bond interactions "auto" interactions? + #were "auto" equivalences needed to lookup the bond length? + b_is_auto = [False, False, False] + r0s[0], batoms[0], b_is_auto[0] = bond_data12 + r0s[1], batoms[1], b_is_auto[1] = bond_data23 + r0s[2], batoms[2], b_is_auto[2] = bond_data34 + + angle_data234 = LookupBondAngle(a2, a3, a4, + atom2equiv_angle, + angle2theta0_or, + [atom2auto_angleend, + atom2auto_anglecenter, + atom2auto_anglecenter], + angle2theta0_auto_or) + if angle_data234 == None: + # Save time by only continuing if an angle was + # found between a2, a3, a4 + continue + + #rest angles: + theta0s = [0.0, 0.0] + #equivalent atom names used to lookup angles: + aatoms = [['', '',''], ['', '','']] + #were "auto" equivalences needed to lookup the bond-angle? + a_is_auto = [False, False] + theta0s[0], aatoms[0], a_is_auto[0] = angle_data123 + theta0s[1], aatoms[1], a_is_auto[1] = angle_data234 + order_reversed = aorig[0] > aorig[-1] + if order_reversed: + batoms.reverse() + batoms[0].reverse() + batoms[1].reverse() + batoms[2].reverse() + b_is_auto.reverse() + theta0s.reverse() + aatoms.reverse() + aatoms[0].reverse() + aatoms[1].reverse() + a_is_auto.reverse() + + #if is_auto: + dih_name_full = (dih_name_orig + ',' + + EncodeInteractionName(batoms[0], b_is_auto[0]) + ',' + + EncodeInteractionName(batoms[1], b_is_auto[1]) + ',' + + EncodeInteractionName(batoms[2], b_is_auto[2]) + ',' + + EncodeInteractionName(aatoms[0], a_is_auto[0]) + ',' + + EncodeInteractionName(aatoms[1], a_is_auto[1])) + #else: + # assert(batoms[0][1] == batoms[1][0]) + # assert(batoms[1][1] == batoms[2][0]) + # assert(aatoms[0][1] == aatoms[1][0]) + # assert(aatoms[0][2] == aatoms[1][1]) + # dih_name_full = dih_name_orig + ',' + \ + # EncodeInteractionName([batoms[0][0], batoms[0][1] + # batoms[2][0], batoms[2][1], + # aatoms[0][0], aatoms[0][1], + # aatoms[0][2], aatoms[1][0]], + # False) + + ########### Fourier terms ########### + #if dih_name_orig in dihedral2param_or: + V_phi0_params = dihedral2params_or[dih_name_orig] + dihedral2params[dih_name_full] = ' '.join(V_phi0_params) + #else: + # dihedral2params[dih_name_full] = '0.0 0.0 0.0 0.0 0.0 0.0' + + ########### "mbt", "ebt", and "aat" terms ########### + # "mbt" terms: + if dih_name_orig in dihedral2class2_mbt_or: + Fmbt = dihedral2class2_mbt_or[dih_name_orig] + else: + Fmbt = ['0.0', '0.0', '0.0'] + dihedral2class2_mbt_or[dih_name_orig] = Fmbt + dihedral2ver_mbt_or[dih_name_orig] = dihedral2ver_or[dih_name_orig] + dihedral2ref_mbt_or[dih_name_orig] = dihedral2ref_or[dih_name_orig] + dihedral2class2_mbt[dih_name_full] = \ + (Fmbt[0]+' '+Fmbt[1]+' '+Fmbt[2]+' '+r0s[1]) + dihedral2priority_mbt = \ + DetermineNumericPriority(is_auto, + batoms[1], + float(dihedral2ver_mbt_or[dih_name_orig])) + dihedral2ver_mbt[dih_name_full] = dihedral2ver_mbt_or[dih_name_orig] + dihedral2ref_mbt[dih_name_full] = dihedral2ref_mbt_or[dih_name_orig] + + # "ebt" terms: + if dih_name_orig in dihedral2class2_ebt_or: + Febt = dihedral2class2_ebt_or[dih_name_orig] + dihedral2sym_ebt = ((Febt[0][0] == Febt[1][0]) and + (Febt[0][1] == Febt[1][1]) and + (Febt[0][2] == Febt[1][2])) + #and (r0s[0] == r0s[2])) + else: + Febt = [['0.0','0.0','0.0'], ['0.0','0.0','0.0']] + dihedral2class2_ebt_or[dih_name_orig] = Febt + dihedral2ver_ebt_or[dih_name_orig] = dihedral2ver_or[dih_name_orig] + dihedral2ref_ebt_or[dih_name_orig] = dihedral2ref_or[dih_name_orig] + dihedral2sym_ebt = True + dihedral2class2_ebt[dih_name_full]= (Febt[0][0] + ' ' + + Febt[0][1] + ' ' + + Febt[0][2] + ' ' + + Febt[1][0] + ' ' + + Febt[1][1] + ' ' + + Febt[1][2] + ' ' + + r0s[0]+' '+r0s[2]) + + dihedral2priority_ebt = \ + DetermineNumericPriority(is_auto, + batoms[0] + batoms[2], + float(dihedral2ver_ebt_or[dih_name_orig])) + dihedral2ver_ebt[dih_name_full] = dihedral2ver_ebt_or[dih_name_orig] + dihedral2ref_ebt[dih_name_full] = dihedral2ref_ebt_or[dih_name_orig] + + #(Note: large atom_priority number <==> low priority + # Only one of the atom priority numbers should be > 0) + + # "bb13" terms: + if dih_name_orig in dihedral2class2_bb13_or: + Kbb13 = dihedral2class2_bb13_or[dih_name_orig] + #dihedral2sym_bb13 = (r0s[0] == r0s[2]) + dihedral2sym_bb13 = True + else: + Kbb13 = '0.0' + dihedral2class2_bb13_or[dih_name_orig] = Kbb13 + dihedral2ver_bb13_or[dih_name_orig] = dihedral2ver_or[dih_name_orig] + dihedral2ref_bb13_or[dih_name_orig] = dihedral2ref_or[dih_name_orig] + dihedral2sym_bb13 = True + + dihedral2class2_bb13[dih_name_full] = (Kbb13+' '+r0s[0]+' '+r0s[2]) + dihedral2priority_bb13 = \ + DetermineNumericPriority(is_auto, + batoms[0] + batoms[2], + float(dihedral2ver_bb13_or[dih_name_orig])) + dihedral2ver_bb13[dih_name_full] = dihedral2ver_bb13_or[dih_name_orig] + dihedral2ref_bb13[dih_name_full] = dihedral2ref_bb13_or[dih_name_orig] + + + ########### "at" and "aat" terms ########### + # "at" terms: + if dih_name_orig in dihedral2class2_at_or: + Fat = dihedral2class2_at_or[dih_name_orig] + dihedral2sym_at = ((Fat[0][0] == Fat[1][0]) and + (Fat[0][1] == Fat[1][1]) and + (Fat[0][2] == Fat[1][2])) + #and (theta0[0] == theta0[1])) + else: + Fat = [['0.0','0.0','0.0'], ['0.0','0.0','0.0']] + dihedral2class2_at_or[dih_name_orig] = Fat + dihedral2ver_at_or[dih_name_orig] = dihedral2ver_or[dih_name_orig] + dihedral2ref_at_or[dih_name_orig] = dihedral2ref_or[dih_name_orig] + dihedral2sym_at = True + dihedral2class2_at[dih_name_full] = \ + (Fat[0][0] + ' ' + + Fat[0][1] + ' ' + + Fat[0][2] + ' ' + + Fat[1][0] + ' ' + + Fat[1][1] + ' ' + + Fat[1][2] + ' ' + + theta0s[0] + ' ' + + theta0s[1]) + dihedral2priority_at = \ + DetermineNumericPriority(is_auto, + aatoms[0] + aatoms[1], + float(dihedral2ver_at_or[dih_name_orig])) + dihedral2ver_at[dih_name_full] = dihedral2ver_at_or[dih_name_orig] + dihedral2ref_at[dih_name_full] = dihedral2ref_at_or[dih_name_orig] + + + # "aat" terms: + if dih_name_orig in dihedral2class2_aat_or: + Kaat = dihedral2class2_aat_or[dih_name_orig] + #dihedral2sym_aat = (theta0[0] == theta0[1]) + dihedral2sym_aat = True + else: + Kaat = '0.0' + dihedral2class2_aat_or[dih_name_orig] = Kaat + dihedral2ver_aat_or[dih_name_orig] = dihedral2ver_or[dih_name_orig] + dihedral2ref_aat_or[dih_name_orig] = dihedral2ref_or[dih_name_orig] + dihedral2sym_aat = True + dihedral2class2_aat[dih_name_full] = \ + (Kaat+' '+theta0s[0]+' '+theta0s[1]) + dihedral2priority_aat = \ + DetermineNumericPriority(is_auto, + aatoms[0] + aatoms[1], + float(dihedral2ver_aat_or[dih_name_orig])) + dihedral2ver_aat[dih_name_full] = dihedral2ver_aat_or[dih_name_orig] + dihedral2ref_aat[dih_name_full] = dihedral2ref_aat_or[dih_name_orig] + + if len(dihedral2params) > num_dihedrals: + sys.stderr.write('DEBUG: dihedral['+dih_name_full+']:\n' + '(r12,r23,r34) = (' + +r0s[0]+','+r0s[1]+','+r0s[2]+') \n' + '(theta123,theta234) = (' + +theta0s[0]+','+theta0s[1]+') \n') + sys.stderr.write('DEBUG: num_dihedrals = len(dihedral2params) = ' + +str(len(dihedral2params))+'\n') + version = max((dihedral2ver_or[dih_name_orig], + dihedral2ver_mbt_or[dih_name_orig], + dihedral2ver_ebt_or[dih_name_orig], + dihedral2ver_bb13_or[dih_name_orig], + dihedral2ver_at_or[dih_name_orig], + dihedral2ver_aat_or[dih_name_orig])) + + dihedral2style[dih_name_full] = 'class2' + dihedral2ver[dih_name_full] = version + dihedral2ref[dih_name_full] = dihedral2ref_or[dih_name_orig] + dihedral2priority[dih_name_full] = \ + (is_auto, + dihedral_is_secondary_or[dih_name_orig], + dihedral2priority_or[dih_name_orig], + dihedral2priority_mbt, + dihedral2priority_ebt, + dihedral2priority_bb13, + dihedral2priority_at, + dihedral2priority_aat) + + num_dihedrals = len(dihedral2params) + + if ((not (dihedral2sym_ebt and + #dihedral2sym_mbt and + # (note: symmetry doesn't make sense for mbt) + dihedral2sym_at and + dihedral2sym_aat and + dihedral2sym_bb13)) + and + ((atom_names[0] == atom_names[3]) and + (atom_names[1] == atom_names[2]))): + raise InputError('Error: Unsupported dihedral interaction: \"@dihedral:'+str(dih_name_orig)+'\"\n' + ' This interaction has symmetric atom names:\n'+ + ', '.join(atom_names)+'\n'+ + ' and yet it lacks symmetry in the corresponding force field parameters.\n'+ + ' (If this is not a mistake in the .frc file, then explain\n'+ + ' why to andrew so he can fix this.)\n') + + found_at_least_one = True + + + #sys.stderr.write('DEBUG: number of interactions = '+str(len(dihedral2class2_bb))+'\n') + if not found_at_least_one: + lines_warnings.append('# WARNING: Undefined bond length (r0) or rest angle (theta0) in dihedral: ' + + #'# the dihedral interaction between: ' + + ' '.join(atom_names)+'\n') + # Then we were unable to define cross terms for this interaction because + # at least one of the bond lengths or bond angles could not be determined. + # This usually occurs because most of the .FRC files which are + # in circulation are incomplete. We have to handle this gracefully. + dih_name_full = (dih_name_orig + ',X,X,X,X,X,X,X,X,X,X,X,X') + reference = dihedral2ref_or[dih_name_orig] + version = dihedral2ver_or[dih_name_orig] + dihedral2ref[dih_name_full] = reference + dihedral2ver[dih_name_full] = version + dihedral2style[dih_name_full] = 'class2' + dihedral2priority[dih_name_full] = dihedral2priority_or[dih_name_orig] + dihedral2params[dih_name_full] = ' '.join(dihedral2params_or[dih_name_orig]) + # substitute zeros for all the cross term interactions + + dihedral2class2_mbt[dih_name_full] = '0.0 0.0 0.0 1.0' + dihedral2ref_mbt[dih_name_full] = reference + dihedral2ver_mbt[dih_name_full] = version + + dihedral2class2_ebt[dih_name_full] = '0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0' + dihedral2ref_ebt[dih_name_full] = reference + dihedral2ver_ebt[dih_name_full] = version + + dihedral2class2_bb13[dih_name_full] = '0.0 1.0 1.0' + dihedral2ref_bb13[dih_name_full] = reference + dihedral2ver_bb13[dih_name_full] = version + + dihedral2class2_at[dih_name_full] = '0.0 0.0 0.0 0.0 0.0 0.0 120.0 120.0' + dihedral2ref_at[dih_name_full] = reference + dihedral2ver_at[dih_name_full] = version + + dihedral2class2_aat[dih_name_full] = '0.0 120.0 120.0' + dihedral2ref_aat[dih_name_full] = reference + dihedral2ver_aat[dih_name_full] = version + + + + + + + + + ############ POST-PROCESSING IMPROPERS ########### + + + + + imsym = 'cenJsortIKL' + for imp_name_orig in improper2cross[imsym]: + + if improper2style_or[imsym][imp_name_orig] != 'class2': + continue + + assert(imp_name_orig in improper2params_or[imsym]) + assert(imp_name_orig in improper2class2_aa_or[imsym]) + + is_auto = (imp_name_orig.find('auto') == 0) + + atom_names = ExtractANames(imp_name_orig) + + num_impropers = 0 + + atom_combos = [set([]), set([]), set([]), set([])] + + # We must consider every possible combination of atom types + # which satisfy both: + # improper_equivalences + # angle_equivalences + # ...AND we must consider BOTH regular AND auto equivalences. + # For each combination generate a separate @improper interaction. + # (I fear this will make the resulting .LT file large.) + + # Use different auto equivalence lookup tables for different + # atoms in the interaction. (ie the "center" and "end" atoms) + + auto_improper2atom = [auto_improperend2atom, + auto_impropercenter2atom, + auto_improperend2atom, + auto_improperend2atom] + + for i in range(0, 4): + improper_atom_name = atom_names[i] + sys.stderr.write('DEBUG: improper_atom_name = '+improper_atom_name+'\n') + if not is_auto: + assert(improper_atom_name[-1] != '_') + # assume regular equivalences when looking up atom types + sys.stderr.write('DEBUG: equiv_improper2atom['+improper_atom_name+'] = '+ + str(equiv_improper2atom[improper_atom_name])+'\n') + for a in equiv_improper2atom[improper_atom_name]: + atom_combos[i].add(a) + else: + assert((improper_atom_name[-1] == '_') or (improper_atom_name[0] == 'X')) + # assume "auto" equivalences when looking up atom types + sys.stderr.write('DEBUG: auto_improper2atom['+str(i)+']['+improper_atom_name+'] = \n' + ' '+str(auto_improper2atom[i][improper_atom_name])+'\n') + for a in auto_improper2atom[i][improper_atom_name]: + atom_combos[i].add(a) + + is_auto = IsAutoInteraction(imp_name_orig) # is this an "auto" interaction? + + atom_names = ExtractANames(imp_name_orig) # names of all 4 atoms + lnames = [atom_names[0], atom_names[2], atom_names[3]] # names of "leaf" atoms + + #M1 = improper2cross[imp_name_orig][ 2 ] + #M2 = improper2cross[imp_name_orig][ 0 ] + #M3 = improper2cross[imp_name_orig][ 3 ] + + #try: + M1 = improper2cross[imp_name_orig][ImCrossTermID([atom_names[0], + atom_names[1], + atom_names[2], + atom_names[3]])] + #except KeyError: + # M1 = '0.0' + + #try: + M2 = improper2cross[imp_name_orig][ImCrossTermID([atom_names[2], + atom_names[1], + atom_names[0], + atom_names[3]])] + #except KeyError: + # M2 = '0.0' + + #try: + M3 = improper2cross[imp_name_orig][ImCrossTermID([atom_names[0], + atom_names[1], + atom_names[3], + atom_names[2]])] + #except KeyError: + # M3 = '0.0' + + + + + + + # ###### Symmetry: ###### + # Unfortunately, it's time to wade into the messy issue of symmetry. + # We desire a way to detect whether an improper interaction + # between 4 atoms is invariant with respect to atom reordering + # of the 3 peripheral "leaf" atoms which surround the central atom. + # In principle, any rearrangement of atoms would require a separate + # class2 improper interaction. However, in some cases, when the + # parameters for these rearrangements are symmetric, we can detect + # that and warn moltemplate that it is not necessary to generate new + # improper interactions for every conceivable permutation of these + # atoms. Figuring out when it is safe to do that is a headache. + # (...but it's necessary. Otherwise each junction in the molecule + # will generate 3*2*1=6 improper interactions which are usually + # redundant. This will slow down the simulation significantly + # and may make it difficult to compare the resulting LAMMPS + # input files with those generated by other tools like msi2lmp.) + # + # To make this easier, I store the parameters in arrays which + # are arranged in a more symmetric way + M = [0.0, 0.0, 0.0] + theta0 = [0.0, 0.0, 0.0] + # noti3[i] = the sorted tuple of integers from the + # set {0,1,2} which remain after deleting i + noti3 = ((1,2), (0,2), (0,1)) + i_neigh = [ ([0,2,3][ noti3[i][0] ], # neighbor leaves of ith leaf + [0,2,3][ noti3[i][1] ]) for i in range(0,3)] + for i in range(0, 3): + # You will notice the pattern "[0,2,3][i]" appears often in the + # code below because for class 2 force-fields, the second atom + # (with index 1) is the central atom ("hub" atom), and the three + # that surround it ("leaf" atoms) have indices 0,2,3. I want + # to skip over the central atoms and loop over the leaf atoms + imTermID = ImCrossTermID([atom_names[ i_neigh[i][0] ], + atom_names[ 1 ], + atom_names[ [0,2,3][i] ], + atom_names[ i_neigh[i][1] ]]) + M[i] = float(improper2cross[imp_name_orig][imTermID]) + ##i_leaf = [0,2,3][i] + ##M[i] = float(improper2cross[imp_name_orig][ i_leaf ]) + #angle_name_l = SortByEnds([atom_names[i_neigh[i][0]], + # atom_names[ 1 ], + # atom_names[i_neigh[i][1]]]) + #angle_name = EncodeInteractionName(angle_name_l, is_auto) + #theta0[i] = float(angle2theta0_or[angle_name]) + + for i in range(0, 3): + if (M[ noti3[i][0] ] == M[ noti3[i][1] ]): + #and (theta0[ noti3[i][0] ] == theta0[ noti3[i][1] ])): + # Then it is safe to swap the order of these two atoms in + # the list of atoms when looking up force-field parameters + improper2sym[imp_name_orig].add(i_neigh[i][0]) + improper2sym[imp_name_orig].add(i_neigh[i][1]) + # Later, I can use these to decide whether or not I need to + # change the default script with symmetry rules. (I'm hoping + # that "cenJsortIKL.py" should work in most cases.) + # CONTINUEHERE: FIGURE OUT WHETHER TO WORRY ABOUT improper2sym + else: + if atom_names[i_neigh[i][0]] == atom_names[i_neigh[i][1]]: + raise InputError('Error: Unsupported improper interaction: \"@improper:'+str(imp_name_orig)+'\"\n' + ' This interaction has matching atom aliases:\n' + ' (@atom:'+str(atom_names[i_neigh[i][0]])+ + ', @atom:'+str(atom_names[i_neigh[i][1]])+')\n' + ' and yet it lacks symmetry in the corresponding force field parameters.\n' + ' (If this is not a mistake in the .frc file, then ask andrew to\n' + ' fix this limitation.)\n') + + + found_at_least_one = False + for a1 in sorted(list(atom_combos[0])): + for a2 in sorted(list(atom_combos[1])): + sys.stderr.write('DEBUG: improper '+imp_name_orig+' substitutions: '+a1+','+a2+',...\n') + for a3 in sorted(list(atom_combos[2])): + #(Note: sorting "atom_combos" makes it faster and easier + # to follow the loop's progress. This nested loop can be very slow.) + theta0s = ['0.0', '0.0', '0.0'] + aatoms = [['', '',''], ['', '',''], ['', '', '']] + #were "auto" equivalences needed to lookup the bond-angle? + a_is_auto = [False, False, False] + # Collect information from the different terms in a class2 improper: + # http://lammps.sandia.gov/doc/improper_class2.html + + # Loop over the neighbors of the central atom in each improper + # interaction and collect all the Mi and Ti parameters. Collect + # them in the order they appear in the formula for the Eaa + # term as it appears in the documentation for improper_style class2: + # + # http://lammps.sandia.gov/doc/improper_class2.html + # + # Eaa = M1 (Tijk - T0)(Tkjl - T2) + #common leaf node: k (index 2) + # M2 (Tijk - T0)(Tijl - T1) + #common leaf node: i (index 0) + # M3 (Tijl - T1)(Tkjl - T2) #common leaf node: l (index 3) + # (I'm trying to match the variable names used in this web page + # I wish the author had chosen the M1,M2,M3, T1,T2,T3 order in more + # symmetric way, or at least in a way that makes more sense to me.) + + #angle_name_l = SortByEnds([atom_names[0], atom_names[1], atom_names[2]]) + #angle_name = EncodeInteractionName(angle_name_l, is_auto) + #theta01 = angle2theta0_or[angle_name] + angle_data = LookupBondAngle(a1, a2, a3, + atom2equiv_angle, + angle2theta0_or, + [atom2auto_improperend, + atom2auto_impropercenter, + atom2auto_improperend], + angle2theta0_auto_or) + if angle_data == None: + # Save time by only continuing if an angle was + # found between a1, a2, a3 + continue + theta0s[0], aatoms[0], a_is_auto[0] = angle_data + + + for a4 in sorted(list(atom_combos[3])): + theta0s[1] = theta0s[2] = '0.0' + aatoms[1] = aatoms[2] = ['', '',''] + + #angle_name_l = SortByEnds(aatoms[0]) + #angle_name = EncodeInteractionName(angle_name_l[0], is_auto) + + #theta02 = angle2theta0_or[angle_name] + angle_data = LookupBondAngle(a1, a2, a4, + atom2equiv_angle, + angle2theta0_or, + [atom2auto_improperend, + atom2auto_impropercenter, + atom2auto_improperend], + angle2theta0_auto_or) + if angle_data == None: + # Save time by only continuing if an angle was + # found between a1, a2, a4 + continue + theta0s[1], aatoms[1], a_is_auto[1] = angle_data + + #angle_name_l = SortByEnds(aatoms[1]) + #angle_name = EncodeInteractionName(angle_name_l, is_auto) + + + #theta03 = angle2theta0_or[angle_name] + angle_data = LookupBondAngle(a3, a2, a4, + atom2equiv_angle, + angle2theta0_or, + [atom2auto_improperend, + atom2auto_impropercenter, + atom2auto_improperend], + angle2theta0_auto_or) + if angle_data == None: + # Save time by only continuing if an angle was + # found between a3, a2, a4 + continue + theta0s[2], aatoms[2], a_is_auto[2] = angle_data + + + # The following asserts checks that the two theta0s + # are defined whenever the corresponding M is defined. + # (Note: The order is LAMMPS-implementation specific. + # See http://lammps.sandia.gov/doc/improper_class2.html) + assert((float(theta0s[0]) != 0) or (float(M1) == 0)) + assert((float(theta0s[2]) != 0) or (float(M1) == 0)) + assert((float(theta0s[0]) != 0) or (float(M2) == 0)) + assert((float(theta0s[1]) != 0) or (float(M2) == 0)) + assert((float(theta0s[1]) != 0) or (float(M3) == 0)) + assert((float(theta0s[2]) != 0) or (float(M3) == 0)) + + #angle_name_l = SortByEnds(aatoms[2]) + #angle_name = EncodeInteractionName(angle_name_l, is_auto) + + + imp_name_full = (imp_name_orig + ',' + + EncodeInteractionName(aatoms[0], a_is_auto[0]) + ',' + + EncodeInteractionName(aatoms[1], a_is_auto[1]) + ',' + + EncodeInteractionName(aatoms[2], a_is_auto[2])) + + #if imp_name_orig in improper2params_or[imsym][imp_name_orig]: + improper2params[imsym][imp_name_full] = ' '.join(improper2params_or[imsym][imp_name_orig]) + #else: + # improper2params[imsym][imp_name_full] = '0.0 0.0' + + #if imp_name_orig in improper2cross: + improper2class2_aa[imsym][imp_name_full] = \ + (str(M1)+' '+str(M2)+' '+str(M3)+' '+ + str(theta0s[0])+' '+str(theta0s[1])+' '+str(theta0s[2])) + #else: + # improper2class2_aa[imsym][imp_name_full] = '0.0 0.0 0.0 0.0 0.0 0.0' + # improper2ver_aa_or[imsym][imp_name_orig] = improper2ver_or[imsym][imp_name_orig] + # improper2ref_aa_or[imsym][imp_name_orig] = improper2ref_or[imsym][imp_name_orig] + + improper2priority_aa = \ + DetermineNumericPriority(is_auto, + aatoms[0] + aatoms[1] + aatoms[2], + float(improper2ver_aa_or[imsym][imp_name_orig])) + improper2ver_aa[imsym][imp_name_full] = improper2ver_aa_or[imsym][imp_name_orig] + improper2ref_aa[imsym][imp_name_full] = improper2ref_aa_or[imsym][imp_name_orig] + + + version = max((improper2ver_or[imsym][imp_name_orig], + improper2ver_aa_or[imsym][imp_name_orig])) + improper2style[imsym][imp_name_full] = 'class2' + improper2ref[imsym][imp_name_full] = improper2ref_or[imsym][imp_name_orig] + improper2ver[imsym][imp_name_full] = version + improper2priority[imsym][imp_name_full] = \ + (is_auto, + improper_is_secondary_or[imsym][imp_name_orig], + improper2priority_or[imsym][imp_name_orig], + improper2priority_aa) + + if len(improper2params) > num_impropers: + sys.stderr.write('DEBUG: improper['+imp_name_full+']:\n' + 'theta0 = (' + +theta0s[0]+','+theta0s[1]+','+theta0s[2]+')\n') + sys.stderr.write('DEBUG: num_impropers = len(improper2params) = ' + +str(len(improper2params))+'\n') + num_impropers = len(improper2params) + + + found_at_least_one = True + + + if not found_at_least_one: + lines_warnings.append('# WARNING: Undefined rest angle (theta0) in improper: ' + + #'# the improper interaction between: ' + + ' '.join(atom_names)+'\n') + # Then we were unable to define cross terms for this interaction because + # at least one of the equilibrium rest angles could not be determined. + # This usually occurs because most of the .FRC files which are + # in circulation are incomplete. We have to handle this gracefully. + imp_name_full = (imp_name_orig + ',X,X,X,X,X,X,X,X,X') + reference = improper2ref_or[imsym][imp_name_orig] + version = improper2ver_or[imsym][imp_name_orig] + improper2ref[imsym][imp_name_full] = reference + improper2ver[imsym][imp_name_full] = version + improper2params[imsym][imp_name_full] = ' '.join(improper2params_or[imp_name_orig]) + CONTINUEHERE + improper2style[imp_name_full] = 'class2' + improper2priority[imp_name_full] = improper2priority_or[imp_name_orig] + # substitute zeros for the cross term interactions + improper2class2_aa[imp_name_full] = '0.0 0.0 0.0 120.0 120.0 120.0' + improper2ref_aa[imp_name_full] = reference + improper2ver_aa[imp_name_full] = version + + + + + + sys.stderr.write("done\n") + sys.stderr.write("Converting to moltemplate format...\n") + + + + + + ##################### BEGIN WRITING FILE ##################### + + + + + + sys.stdout.write("# This file was generated automatically using:\n") + sys.stdout.write("# " + g_program_name + " " + " ".join(sys.argv[1:]) + "\n") + sys.stdout.write("\n\n") + sys.stdout.write(ffname + " {\n\n") + + sys.stdout.write("\n" + " # AtomType Mass # \"Description\" (version, reference)\n\n") + sys.stdout.write(" write_once(\"Data Masses\") {\n") + for atype in atom2mass: + sys.stdout.write(" @atom:" + atype + " " + str(atom2mass[atype])) + sys.stdout.write(" # ") + if atype in atom2element: + sys.stdout.write(atom2element[atype] + ", ") + #sys.stdout.write(atom2descr[atype]) + sys.stdout.write("\"" + atom2descr[atype] + "\"") + sys.stdout.write(" (") + if atype in atom2numbonds: + sys.stdout.write("nbonds="+str(atom2numbonds[atype])+", ") + sys.stdout.write("ver=" + atom2ver[atype] + + ", ref=" + atom2ref[atype]) + sys.stdout.write(")\n") + sys.stdout.write(" } #(end of atom masses)\n\n\n") + + + + + + + + + + + + + sys.stdout.write(" # ---------- EQUIVALENCE CATEGORIES for bonded interaction lookup ----------\n" + " # Each type of atom has a separate ID used for looking up bond parameters\n" + " # and a separate ID for looking up 3-body angle interaction parameters\n" + " # and a separate ID for looking up 4-body dihedral interaction parameters\n" + " # and a separate ID for looking up 4-body improper interaction parameters\n" + #" # (This is because there are several different types of sp3 carbon atoms\n" + #" # which have the same torsional properties when within an alkane molecule,\n" + #" # for example. If they share the same dihedral-ID, then this frees us\n" + #" # from being forced define separate dihedral interaction parameters\n" + #" # for all of them.)\n" + " # The complete @atom type name includes ALL of these ID numbers. There's\n" + " # no need to force the end-user to type the complete name of each atom.\n" + " # The \"replace\" command used below informs moltemplate that the short\n" + " # @atom names we have been using abovee are equivalent to the complete\n" + " # @atom names used below:\n\n") + + for atype in atom2ffid: + #ffid = atype + "_ffid" + atom2ffid[atype] + sys.stdout.write(" replace{ @atom:" + atype + + " @atom:" + atom2ffid[atype] + " }\n") + + sys.stdout.write("\n\n\n\n") + + + sys.stdout.write(" # --------------- Non-Bonded Interactions: ---------------------\n" + " # Syntax:\n" + " # pair_coeff AtomType1 AtomType2 pair_style_name parameters...\n\n") + + sys.stdout.write(" write_once(\"In Settings\") {\n") + + for atype in pair2params: + assert(atype in pair2style) + if IsAutoInteraction(bond_name): + assert(atype in atom2auto_pair) + if include_auto_equivalences: + sys.stdout.write(' pair_coeff @atom:*,ap' + atom2auto_pair[atype] + + ',aq*,ab*,aae*,aac*,ade*,adc*,aie*,aic*' + + ' @atom:*,ap' + atom2auto_pair[atype] + + ',aq*,ab*,aae*,aac*,ade*,adc*,aie*,aic* ' + + pair2style[atype] + ' ' + + pair2params[atype] + + ' # (ver=' + pair2ver[atype] + + ', ref=' +pair2ref[atype] + ')\n') + else: + continue + else: + assert(atype in atom2equiv_pair) + sys.stdout.write(' pair_coeff ' + + '@atom:*,p' + atom2equiv_pair[atype] + ',b*,a*,d*,i* ' + + '@atom:*,p' + atom2equiv_pair[atype] + ',b*,a*,d*,i* ' + + pair2style[atype] + ' ' + + pair2params[atype] + + ' # (ver=' + pair2ver[atype] + + ', ref=' +pair2ref[atype] + ')\n') + sys.stdout.write(" } #(end of pair_coeffs)\n\n\n\n") + + + + + + + + ################# Print Charge By Bond Interactions ################## + charge_pair_priority_high_to_low = [x[0] for x in + sorted([x for x in reversed(charge_pair_priority.items())], + key=itemgetter(1), + reverse=True)] + + if len(charge_pair_priority) > 0: + sys.stdout.write(" # ---------- Charge By Bond (a.k.a. \"bond equivalences\") ----------\n") + # Print rules for generating (2-body) "bond" interactions: + sys.stdout.write('\n\n\n' + ' write_once("Data Charge By Bond") {\n') + for bond_name in charge_pair_priority_high_to_low: + anames = ['*' if x=='X' else x + for x in ExtractANames(bond_name)] + # Did the user ask us to include "auto" interactions? + if IsAutoInteraction(bond_name): + if include_auto_equivalences: + sys.stdout.write(' @atom:*,ap*,aq' + anames[0] + + ',ab*,aae*,aac*,ade*,adc*,aie*,aic*' + + ' @atom:*,ap*,aq' + anames[1] + + ',ab*,aae*,aac*,ade*,adc*,aie*,aic*' + + ' ' + bond2chargepair[bond_name] + + " # (ver=" + charge_pair_ver[bond_name] + + ", ref=" + charge_pair_ref[bond_name] + ")\n") + else: + continue + else: + sys.stdout.write(' @atom:*,p*,b' + anames[0] + ',a*,d*,i* ' + + ' @atom:*,p*,b' + anames[1] + ',a*,d*,i* ' + + ' ' + bond2chargepair[bond_name] + + " # (ver=" + charge_pair_ver[bond_name] + + ", ref=" + charge_pair_ref[bond_name] + ")\n") + sys.stdout.write(' } #(end of Charge by Bond (bond equivalences))\n\n' + '\n\n\n\n') + + + + + + + + ################# Print 2-body Bond Interactions ################## + + bond_names_priority_high_to_low = [x[0] for x in + sorted([x for x in reversed(bond2priority.items())], + key=itemgetter(1), + reverse=True)] + + if len(bond2priority) > 0: + sys.stdout.write(" # --------------- Bond Interactions: ---------------------\n") + sys.stdout.write('\n' + '\n' + ' # -- Rules for generating (2-body) "bond" interactions: --\n' + ' # BondType AtomType1 AtomType2\n') + sys.stdout.write('\n' + ' write_once("Data Bonds By Type') + if bond_symmetry_subgraph != '': + sys.stdout.write(' ('+bond_symmetry_subgraph+')') + sys.stdout.write('") {\n') + for bond_name in bond_names_priority_high_to_low: + if not (bond2style[bond_name] in + bond_styles_selected): + continue + anames = ['*' if x=='X' else x + for x in ExtractANames(bond_name)] + # Did the user ask us to include "auto" interactions? + if IsAutoInteraction(bond_name): + if include_auto_equivalences: + sys.stdout.write(' @bond:' + bond_name + ' ' + + ' @atom:*,ap*,aq*,ab' + anames[0] + + ',aae*,aac*,ade*,adc*,aie*,aic*' + + ' @atom:*,ap*,aq*,ab' + anames[1] + + ',aae*,aac*,ade*,adc*,aie*,aic*' + + '\n') + else: + continue + else: + sys.stdout.write(' @bond:' + bond_name + ' ' + + ' @atom:*,b' + anames[0] + ',a*,d*,i* ' + + ' @atom:*,b' + anames[1] + ',a*,d*,i* ' + + '\n') + + sys.stdout.write(' } # end of "Data Bonds By Type" section\n' + '\n') + + # Print the force-field parameters for these bond interactions: + sys.stdout.write('\n\n' + ' # ------------ Bond Parameters: ----------\n') + sys.stdout.write(' # For an explanation of these parameters, visit:\n') + for bond_style in bond_styles: + if not (bond_style in bond_styles_selected): + continue + sys.stdout.write(' # '+bond_style2docs[bond_style]+'\n') + sys.stdout.write('\n' + ' # Syntax: \n' + ' # bond_coeff BondTypeName BondStyle parameters...\n\n') + sys.stdout.write('\n' + ' write_once("In Settings") {\n') + for bond_name in bond_names_priority_high_to_low: + if not (bond2style[bond_name] in + bond_styles_selected): + continue + # Did the user ask us to include "auto" interactions? + if (IsAutoInteraction(bond_name) and + (not include_auto_equivalences)): + continue + sys.stdout.write(' bond_coeff @bond:'+bond_name+' '+ + bond2style[bond_name] + ' ' + + bond2params[bond_name] + + " # (ver=" + bond2ver[bond_name] + + ", ref=" +bond2ref[bond_name] + ")\n") + + sys.stdout.write(' } # end of bond_coeff commands\n' + '\n\n') + + + + + + + ################# Print 3-body Angle Interactions ################## + + ang_names_priority_high_to_low = [x[0] for x in + sorted([x for x in reversed(angle2priority.items())], + key=itemgetter(1), + reverse=True)] + + ang_name_abbr = {} #optional abbreviated name for each interaction + ang_name_abbr_used = set([]) #make sure we don't reuse these abbreviated names + + if len(angle2priority) > 0: + sys.stdout.write(" # --------------- Angle Interactions: ---------------------\n") + sys.stdout.write('\n' + '\n' + ' # -- Rules for generating (3-body) "angle" interactions: --\n' + ' # AngleType AtomType1 AtomType2 AtomType3 [BondType1 BondType2]\n') + sys.stdout.write('\n' + ' write_once("Data Angles By Type') + if angle_symmetry_subgraph != '': + sys.stdout.write(' ('+angle_symmetry_subgraph+')') + sys.stdout.write('") {\n') + for angle_name in ang_names_priority_high_to_low: + if not (angle2style[angle_name] in + angle_styles_selected): + continue + anames = ['*' if x=='X' else x + for x in ExtractANames(angle_name)] + + angle_is_auto = IsAutoInteraction(angle_name) + if angle2style[angle_name] == 'class2': + anm = [a for a in map(DecodeAName, anames)] + bnames = [[a for a in map(DecodeAName, anames[3:5])], + [a for a in map(DecodeAName, anames[5:7])]] + bond_is_auto1 = IsAutoInteraction(anames[3]) + bond_is_auto2 = IsAutoInteraction(anames[5]) + + if ((angle_is_auto or bond_is_auto1 or bond_is_auto2) and + (not include_auto_equivalences)): + continue + + # Can we ignore "auto" interactions? + # (If so, life is much easier) + if not (angle_is_auto or bond_is_auto1 or bond_is_auto2): + if angle2style[angle_name] == 'class2': + assert(bnames[0][1] == bnames[1][0]) + # Optional: Shorten the angle name since some of the atom's bond names are redundant: + ang_name_abbr[angle_name] = EncodeInteractionName(map(EncodeAName, + anm[0:3] + + #[anm[3],anm[4],anm[6]], + [bnames[0][0],bnames[0][1],bnames[1][1]]), + angle_is_auto) + sys.stdout.write(' @angle:' + ang_name_abbr[angle_name] + ' ' + + ' @atom:*,p*,b'+bnames[0][0]+',a'+anames[0]+',d*,i* ' + + ' @atom:*,p*,b'+bnames[0][1]+',a'+anames[1]+',d*,i* ' + + ' @atom:*,p*,b'+bnames[1][1]+',a'+anames[2]+',d*,i*' + '\n') + else: + ang_name_abbr[angle_name] = angle_name + sys.stdout.write(' @angle:' + ang_name_abbr[angle_name] + ' ' + + ' @atom:*,p*,b*,a'+anames[0]+',d*,i* ' + + ' @atom:*,p*,b*,a'+anames[1]+',d*,i* ' + + ' @atom:*,p*,b*,a'+anames[2]+',d*,i*' + '\n') + else: + # Consider "auto" interactions and "auto" atom equivalences + ang_name_abbr[angle_name] = angle_name #(full name) + sys.stdout.write(' @angle:' + ang_name_abbr[angle_name] + ' ') + + if angle2style[angle_name] == 'class2': + + bshared = 'b*' #(default. overidden below) + abshared = 'ab*' #(default. overidden below) + + if angle_is_auto: + a1 = a2 = a3 = 'a*' #Then, dont use regular equivalences for these atoms. + aa1 = 'aae' + anames[0] + ',aac*' #Instead use the corresponding "auto" equivalence names + aa2 = 'aae*,aac*' + anames[1] #for these atoms. (There are different auto equivalence names depending + aa3 = 'aae' + anames[2] + ',aac*' #on if the atom appears in the center (c) or end(e) of the 3-body angle) + else: + a1 = 'a' + anames[0] #In this case, use use (regular) equivalence names + a2 = 'a' + anames[1] #for these atoms + a3 = 'a' + anames[2] + aa1 = aa2 = aa3 = 'aae*,aac*' + + if not bond_is_auto1: + b11 = 'b' + bnames[0][0] #(bond atom equivalent name) + b12 = 'b' + bnames[0][1] #(bond atom equivalent name) + bshared = 'b' + bnames[0][1] #(bond atom equivalent name) + ab11 = ab12 = 'ab*' + else: + b11 = b12 = 'b*' + ab11 = 'ab' + bnames[0][0] #(auto bond atom name) + ab12 = 'ab' + bnames[0][1] #(auto bond atom name) + abshared = 'ab' + bnames[0][1] #(auto bond atom name) + # print atom 1 information: + sys.stdout.write(' @atom:*,p*,'+b11+','+a1+',d*,i*,' + + 'ap*,aq*,'+ab11+','+aa1+ + ',ade*,adc*,aie*,aic*') + if not bond_is_auto2: + b21 = 'b' + bnames[1][0] #(bond atom equivalent name) + b22 = 'b' + bnames[1][1] #(bond atom equivalent name) + assert((bshared == 'b*') or (bshared == 'b' + bnames[1][0])) + bshared = 'b' + bnames[1][0] + ab21 = ab22 = 'ab*' + else: + b21 = b22 = 'b*' + ab21 = 'ab' + bnames[1][0] #(auto bond atom name) + ab22 = 'ab' + bnames[1][1] #(auto bond atom name) + assert((abshared == 'ab*') or (abshared == 'ab' + bnames[1][0])) + abshared = 'ab' + bnames[1][0] + # print atom 2 information: + sys.stdout.write(' @atom:*,p*,'+bshared+','+a2+',d*,i*,' + + 'ap*,aq*,'+abshared+','+aa2+ + ',ade*,adc*,aie*,aic*') + # print atom 3 information: + sys.stdout.write(' @atom:*,p*,'+b22+','+a3+',d*,i*,' + + 'ap*,aq*,'+ab22+','+aa3+ + ',ade*,adc*,aie*,aic*') + sys.stdout.write('\n') + else: + sys.stdout.write(' @angle:' + ang_name_abbr[angle_name] + ' ' + + ' @atom:*,p*,b*,d*,i*,' + + 'ap*,aq*,ab*,aae'+anames[0]+'aac*,ade*,adc*,aie*,aic* ' + ' @atom:*,p*,b*,d*,i*,' + + 'ap*,aq*,ab*,aae*,aac'+anames[1]+',ade*,adc*,aie*,aic* ' + ' @atom:*,p*,b*,d*,i*,' + + 'ap*,aq*,ab*,aae'+anames[2]+'aac*,ade*,adc*,aie*,aic* ' + '\n') + + assert(ang_name_abbr[angle_name] not in ang_name_abbr_used) + ang_name_abbr_used.add(ang_name_abbr[angle_name]) + + sys.stdout.write(' } # end of "Data Angles By Type" section\n' + '\n') + + # Print the force-field parameters for these angle interactions: + sys.stdout.write('\n\n' + ' # ------- Angle Force Field Parameters: -------') + sys.stdout.write(' # For an explanation of these parameters, visit:\n') + for angle_style in angle_styles: + if not (angle_style in angle_styles_selected): + continue + sys.stdout.write(' # '+angle_style2docs[angle_style]+'\n') + sys.stdout.write('\n' + ' # Syntax: \n' + ' # angle_coeff AngleTypeName AngleStyle parameters...\n\n') + sys.stdout.write('\n' + ' write_once("In Settings") {\n') + for angle_name in ang_names_priority_high_to_low: + anames = ['*' if x=='X' else x + for x in ExtractANames(angle_name)] + if not (angle2style[angle_name] in + angle_styles_selected): + continue + + + # Did the user ask us to include "auto" interactions? + #if (IsAutoInteraction(angle_name) and + # (not include_auto_equivalences)): + # continue + # the if statement above is covered by the following: + if angle_name not in ang_name_abbr: + continue + + sys.stdout.write(' angle_coeff @angle:'+ang_name_abbr[angle_name]+' '+ + angle2style[angle_name] + ' ' + + angle2params[angle_name] + + " # (ver=" + angle2ver[angle_name] + + ", ref=" + angle2ref[angle_name] + ")\n") + if angle_name in angle2class2_bb: + sys.stdout.write(' angle_coeff @angle:'+ang_name_abbr[angle_name]+' '+ + angle2style[angle_name] + ' bb ' + + angle2class2_bb[angle_name] + + " # (ver=" + angle2ver_bb[angle_name] + + ", ref=" + angle2ref_bb[angle_name] + ")\n") + + assert(angle_name in angle2class2_ba) + sys.stdout.write(' angle_coeff @angle:'+ang_name_abbr[angle_name]+' '+ + angle2style[angle_name] + ' ba ' + + angle2class2_ba[angle_name] + + " # (ver=" + angle2ver_ba[angle_name] + + ", ref=" + angle2ref_ba[angle_name] + ")\n") + sys.stdout.write(' } # end of angle_coeff commands\n' + '\n\n') + + + + + + + + ################# Print 4-body Dihedral Interactions ################## + + dih_names_priority_high_to_low = [x[0] for x in + sorted([x for x in reversed(dihedral2priority.items())], + key=itemgetter(1), + reverse=True)] + + dih_name_abbr = {} #optional abbreviated name for each interaction + dih_name_abbr_used = set([]) #make sure we don't reuse these abbreviated names + + if len(dih_names_priority_high_to_low) > 0: + sys.stdout.write(' # --------------- Dihedral Interactions: ---------------------\n') + sys.stdout.write('\n' + '\n' + ' # -- Rules for generating (4-body) "dihedral" interactions: --\n' + ' # DihedralType AtmType1 AtmType2 AtmType3 AtmType3 [BondType1 Bnd2 Bnd3]\n') + sys.stdout.write('\n\n' + ' write_once("Data Dihedrals By Type') + if dihedral_symmetry_subgraph != '': + sys.stdout.write(' ('+dihedral_symmetry_subgraph+')') + sys.stdout.write('") {\n') + + + + for dihedral_name in dih_names_priority_high_to_low: + if not (dihedral2style[dihedral_name] in + dihedral_styles_selected): + continue + anames = ['*' if x=='X' else x + for x in ExtractANames(dihedral_name)] + + dihedral_is_auto = IsAutoInteraction(dihedral_name) + if dihedral2style[dihedral_name] == 'class2': + anm = [a for a in map(DecodeAName, anames)] + bnames = [[a for a in map(DecodeAName, anames[4:6])], + [a for a in map(DecodeAName, anames[6:8])], + [a for a in map(DecodeAName, anames[8:10])]] + bond_is_auto1 = IsAutoInteraction(anames[4]) + bond_is_auto2 = IsAutoInteraction(anames[6]) + bond_is_auto3 = IsAutoInteraction(anames[8]) + ang_names = [[a for a in map(DecodeAName, anames[10:13])], + [a for a in map(DecodeAName, anames[13:16])]] + angle_is_auto1 = IsAutoInteraction(anames[10]) + angle_is_auto2 = IsAutoInteraction(anames[13]) + + if ((dihedral_is_auto or + angle_is_auto1 or angle_is_auto2 or + bond_is_auto1 or bond_is_auto2 or bond_is_auto3) and + (not include_auto_equivalences)): + continue + + # Can we ignore "auto" interactions? + # (If so, life is much easier) + if not (dihedral_is_auto or + angle_is_auto1 or angle_is_auto2 or + bond_is_auto1 or bond_is_auto2 or bond_is_auto3): + + if dihedral2style[dihedral_name] == 'class2': + assert(bnames[0][1] == bnames[1][0]) + assert(bnames[1][1] == bnames[2][0]) + assert(ang_names[0][1] == ang_names[1][0]) + assert(ang_names[0][2] == ang_names[1][1]) + + # Optional: Shorten the dihedral name since some of the atom's bond names are redundant: + dih_name_abbr[dihedral_name] = EncodeInteractionName(map(EncodeAName, + anm[0:4] + + #[bnames[0][0], bnames[0][1], + # bnames[1][1], bnames[2][1]] + [anm[4],anm[5],anm[7],anm[9]]+ + #[ang_names[0][0], + # ang_names[0][1], + # ang_names[0][2], + # ang_names[1][2]] + [anm[10],anm[11],anm[12],anm[15]]), + is_auto) + + sys.stdout.write(' @dihedral:' + dih_name_abbr[dihedral_name] + ' ' + + ' @atom:*,p*,b'+bnames[0][0]+',a'+ang_names[0][0]+',d'+anames[0]+',i* ' + + ' @atom:*,p*,b'+bnames[0][1]+',a'+ang_names[0][1]+',d'+anames[1]+',i* ' + + ' @atom:*,p*,b'+bnames[1][1]+',a'+ang_names[0][2]+',d'+anames[2]+',i* ' + ' @atom:*,p*,b'+bnames[2][1]+',a'+ang_names[1][2]+',d'+anames[3]+',i*' + '\n') + else: + dih_name_abbr[dihedral_name] = dihedral_name + sys.stdout.write(' @dihedral:' + dih_name_abbr[dihedral_name] + ' ' + + ' @atom:*,p*,b*,a*,d'+anames[0]+',i* ' + + ' @atom:*,p*,b*,a*,d'+anames[1]+',i* ' + + ' @atom:*,p*,b*,a*,d'+anames[2]+',i* ' + ' @atom:*,p*,b*,a*,d'+anames[3]+',i*' + + '\n') + else: + # Consider "auto" interactions and "auto" atom equivalences + dih_name_abbr[dihedral_name] = dihedral_name #(full name) + sys.stdout.write(' @dihedral:' + dih_name_abbr[dihedral_name] + ' ') + + if dihedral2style[dihedral_name] == 'class2': + + # equivalent names of atoms shared by more than one bond: + # (names ending in * mean they were unspecified for this + # dihedral interaction. By default, this is the case.) + bshared1 = 'b*' #(default. overidden below) + bshared2 = 'b*' #(default. overidden below) + abshared1 = 'ab*' #(default. overidden below) + abshared2 = 'ab*' #(default. overidden below) + + # equivalent names of atoms shared by more than one angle interaction: + # (names ending in * mean they were unspecified for this + # dihedral interaction. By default, this is the case.) + ashared1 = 'a*' #(default. overidden below) + ashared2 = 'a*' #(default. overidden below) + aac_shared1 = 'aac*' #(default. overidden below) + aae_shared1 = 'aae*' #(default. overidden below) + aac_shared2 = 'aac*' #(default. overidden below) + aae_shared2 = 'aae*' #(default. overidden below) + + if dihedral_is_auto: + d1 = d2 = d3 = d4 = 'd*' #Then, dont use regular equivalences for these atoms. + ad1 = 'ade' + anames[0] + ',adc*' #Instead use the corresponding "auto" + ad2 = 'ade*,adc*' + anames[1] #equivalence names for these atoms. + ad3 = 'ade*,adc*' + anames[1] #(There are different auto equivalence names depending upon + ad4 = 'ade' + anames[2] + ',adc*' # if the atom appears in the center (c) or end(e) of the dihedral) + else: + d1 = 'd' + anames[0] # In this case, use use (regular) equivalence names + d2 = 'd' + anames[1] # for these atoms + d3 = 'd' + anames[2] + d4 = 'd' + anames[3] + ad1 = ad2 = ad3 = ad4 = 'ade*,adc*' + + if not bond_is_auto1: + b11 = 'b' + bnames[0][0] #(bond atom equivalent name) + b12 = 'b' + bnames[0][1] #(bond atom equivalent name) + bshared1 = 'b' + bnames[0][1] #(bond atom equivalent name) + ab11 = ab12 = 'ab*' + else: + b11 = b12 = 'b*' + ab11 = 'ab' + bnames[0][0] #(auto bond atom name) + ab12 = 'ab' + bnames[0][1] #(auto bond atom name) + abshared1 = 'ab' + bnames[0][1] #(auto bond atom name) + + if not bond_is_auto2: + b21 = 'b' + bnames[1][0] #(bond atom equivalent name) + b22 = 'b' + bnames[1][1] #(bond atom equivalent name) + assert((bshared1 == 'b*') or (bshared1 == 'b' + bnames[1][0])) + bshared1 = 'b' + bnames[1][0] #(bond atom equivalent name) + assert((bshared2 == 'b*') or (bshared2 == 'b' + bnames[1][1])) + bshared2 = 'b' + bnames[1][1] #(bond atom equivalent name) + ab21 = ab22 = 'ab*' + else: + b21 = b22 = 'b*' + ab21 = 'ab' + bnames[1][0] #(auto bond atom name) + ab22 = 'ab' + bnames[1][1] #(auto bond atom name) + assert((abshared1 == 'ab*') or (abshared1 == 'ab' + bnames[1][0])) + abshared1 = 'ab' + bnames[1][0] #(auto bond atom name) + assert((abshared2 == 'ab*') or (abshared2 == 'ab' + bnames[1][1])) + abshared2 = 'ab' + bnames[1][1] #(auto bond atom name) + + if not bond_is_auto3: + b31 = 'b' + bnames[2][0] #(bond atom equivalent name) + b32 = 'b' + bnames[2][1] #(bond atom equivalent name) + assert((bshared2 == 'b*') or (bshared2 == 'b' + bnames[2][0])) + bshared2 = 'b' + bnames[2][0] #(bond atom equivalent name) + ab31 = ab32 = 'ab*' + else: + b31 = b32 = 'b*' + ab31 = 'ab' + bnames[2][0] #(auto bond atom name) + ab32 = 'ab' + bnames[2][1] #(auto bond atom name) + assert((abshared2 == 'ab*') or (abshared2 == 'ab' + bnames[2][0])) + abshared2 = 'ab' + bnames[2][0] #(auto bond atom name) + + if not angle_is_auto1: + a11 = 'a' + ang_names[0][0] #(angle atom equivalent name) + a12 = 'a' + ang_names[0][1] #(angle atom equivalent name) + a13 = 'a' + ang_names[0][2] #(angle atom equivalent name) + ashared1 = 'a' + ang_names[0][1] #(angle atom equivalent name) + ashared2 = 'a' + ang_names[0][2] #(angle atom equivalent name) + aa11 = 'aae*,aac*' + aa12 = 'aae*,aac*' + aa13 = 'aae*,aac*' + else: + a11 = a12 = a13 = 'a*' + aa11 = 'aae'+ang_names[0][0]+'aac*' #(auto angle atom name) + aa12 = 'aae*,aac'+ang_names[0][1] #(auto angle atom name) + aa13 = 'aae'+ang_names[0][2]+'aac*' #(auto angle atom name) + aac_shared1 = 'aac'+ang_names[0][1] #(auto angle atom name) + aae_shared2 = 'aae'+ang_names[0][2] #(auto angle atom name) + + if not angle_is_auto2: + a21 = 'a' + ang_names[1][0] #(angle atom equivalent name) + a22 = 'a' + ang_names[1][1] #(angle atom equivalent name) + a23 = 'a' + ang_names[1][2] #(angle atom equivalent name) + assert((ashared1 == 'a*') or (ashared1 == 'a' + ang_names[1][0])) + ashared1 = 'a' + ang_names[1][0] #(angle atom equivalent name) + assert((ashared2 == 'a*') or (ashared2 == 'a' + ang_names[1][1])) + ashared2 = 'a' + ang_names[1][1] #(angle atom equivalent name) + aa21 = 'aae*,aac*' + aa22 = 'aae*,aac*' + aa23 = 'aae*,aac*' + else: + a21 = a22 = a23 = 'a*' + aa21 = 'aae'+ang_names[1][0]+',aac*' #(auto angle atom name) + aa22 = 'aae*,aac'+ang_names[1][1] #(auto angle atom name) + aa23 = 'aae'+ang_names[1][2]+',aac*' #(auto angle atom name) + aae_shared1 = 'aae'+ang_names[1][0] #(auto angle atom name) + aac_shared2 = 'aac'+ang_names[1][1] #(auto angle atom name) + + + # print atom 1 information: + sys.stdout.write(' @atom:*,p*,'+b11+','+a11+','+d1+',i*,' + + 'ap*,aq*,'+ab11+','+aa11+',' + + ad1+',aie*,aic*') + # print atom 2 information: + sys.stdout.write(' @atom:*,p*,'+bshared1+','+ashared1+','+d2+',i*,' + + 'ap*,aq*,'+abshared1+','+aae_shared1+','+aac_shared1+',' + + ad2+',aie*,aic*') + # print atom 3 information: + sys.stdout.write(' @atom:*,p*,'+bshared2+','+ashared2+','+d3+',i*,' + + 'ap*,aq*,'+abshared2+','+aae_shared2+','+aac_shared2+',' + + ad3+',aie*,aic*') + # print atom 4 information: + sys.stdout.write(' @atom:*,p*,'+b32+','+a23+','+d4+',i*,' + + 'ap*,aq*,'+ab32+','+aa23+',' + + ad4+',aie*,aic*') + sys.stdout.write('\n') + else: + assert(dihedral_is_auto) #(so we should use "auto" equivalence names for these atoms) + sys.stdout.write(' @dihedral:' + dih_name_abbr[dihedral_name] + ' ' + + ' @atom:*,p*,b*,d*,i*,' + + 'ap*,aq*,ab*,aae*,aac*,ade'+anames[0]+',adc*,aie*,aic* ' + ' @atom:*,p*,b*,d*,i*,' + + 'ap*,aq*,ab*,aae*,aac*,ade*,adc'+anames[1]+',aie*,aic* ' + ' @atom:*,p*,b*,d*,i*,' + + 'ap*,aq*,ab*,aae*,aac*,ade*,adc'+anames[2]+',aie*,aic* ' + ' @atom:*,p*,b*,d*,i*,' + + 'ap*,aq*,ab*,aae*,aac*,ade'+anames[3]+',adc*,aie*,aic* ' + '\n') + + + + + assert(dih_name_abbr[dihedral_name] not in dih_name_abbr_used) + dih_name_abbr_used.add(dih_name_abbr[dihedral_name]) + + sys.stdout.write(' } # end of "Data Dihedrals By Type" section\n' + '\n') + + # Print the force-field parameters for these dihedral interactions: + sys.stdout.write('\n\n' + ' # ------- Dihedral Force Field Parameters: -------\n') + sys.stdout.write(' # For an explanation of these parameters, visit:\n') + for dihedral_style in dihedral_styles: + if not (dihedral_style in dihedral_styles_selected): + continue + sys.stdout.write(' # '+dihedral_style2docs[dihedral_style]+'\n') + sys.stdout.write('\n' + ' # Syntax: \n' + ' # dihedral_coeff DihedralTypeName DihedralStyle parameters...\n\n') + sys.stdout.write('\n' + ' write_once("In Settings") {\n') + for dihedral_name in dih_names_priority_high_to_low: + anames = ['*' if x=='X' else x + for x in ExtractANames(dihedral_name)] + #if (len(anames) == 4) and dihedral2style[dihedral_name] == 'class2': + # continue + if not (dihedral2style[dihedral_name] in + dihedral_styles_selected): + continue + + # Did the user ask us to include "auto" interactions? + #if (IsAutoInteraction(dihedral_name) and + # (not include_auto_equivalences)): + # continue + # the if statement above is covered by the following: + if dihedral_name not in dih_name_abbr: + continue + + sys.stdout.write(' dihedral_coeff @dihedral:'+dih_name_abbr[dihedral_name]+' '+ + dihedral2style[dihedral_name] + ' ' + + dihedral2params[dihedral_name] + + " # (ver=" + dihedral2ver[dihedral_name] + + ", ref=" + dihedral2ref[dihedral_name] + ")\n") + if dihedral_name in dihedral2class2_mbt: + sys.stdout.write(' dihedral_coeff @dihedral:'+dih_name_abbr[dihedral_name]+' '+ + dihedral2style[dihedral_name] + ' mbt ' + + dihedral2class2_mbt[dihedral_name] + + " # (ver=" + dihedral2ver_mbt[dihedral_name] + + ", ref=" + dihedral2ref_mbt[dihedral_name] + ")\n") + + assert(dihedral_name in dihedral2class2_ebt) + sys.stdout.write(' dihedral_coeff @dihedral:'+dih_name_abbr[dihedral_name]+' '+ + dihedral2style[dihedral_name] + ' ebt ' + + dihedral2class2_ebt[dihedral_name] + + " # (ver=" + dihedral2ver_ebt[dihedral_name] + + ", ref=" + dihedral2ref_ebt[dihedral_name] + ")\n") + + assert(dihedral_name in dihedral2class2_at) + sys.stdout.write(' dihedral_coeff @dihedral:'+dih_name_abbr[dihedral_name]+' '+ + dihedral2style[dihedral_name] + ' at ' + + dihedral2class2_at[dihedral_name] + + " # (ver=" + dihedral2ver_at[dihedral_name] + + ", ref=" + dihedral2ref_at[dihedral_name] + ")\n") + + assert(dihedral_name in dihedral2class2_aat) + sys.stdout.write(' dihedral_coeff @dihedral:'+dih_name_abbr[dihedral_name]+' '+ + dihedral2style[dihedral_name] + ' aat ' + + dihedral2class2_aat[dihedral_name] + + " # (ver=" + dihedral2ver_aat[dihedral_name] + + ", ref=" + dihedral2ref_aat[dihedral_name] + ")\n") + assert(dihedral_name in dihedral2class2_bb13) + sys.stdout.write(' dihedral_coeff @dihedral:'+dih_name_abbr[dihedral_name]+' '+ + dihedral2style[dihedral_name] + ' bb13 ' + + dihedral2class2_bb13[dihedral_name] + + " # (ver=" + dihedral2ver_bb13[dihedral_name] + + ", ref=" + dihedral2ref_bb13[dihedral_name] + ")\n") + sys.stdout.write(' } # end of dihedral_coeff commands\n' + '\n\n') + + + + + + ################# Print 4-body Improper Interactions ################## + + imp_names_priority_high_to_low = [x[0] for x in + sorted([x for x in reversed(improper2priority.items())], + key=itemgetter(1), + reverse=True)] + + imp_name_abbr = {} #optional abbreviated name for each interaction + imp_name_abbr_used = set([]) #make sure we don't reuse these abbreviated names + + if len(imp_names_priority_high_to_low) > 0: + sys.stdout.write(" # --------------- Improper Interactions: ---------------------\n") + sys.stdout.write('\n' + '\n' + ' # -- Rules for generating (4-body) "improper" interactions: --\n' + ' # ImproperType AtmType1 AtmType2 AtmType3 AtmType3 [BondType1 Bnd2 Bnd3]\n') + sys.stdout.write('\n' + ' write_once("Data Impropers By Type') + if improper_symmetry_subgraph != '': + sys.stdout.write(' ('+improper_symmetry_subgraph+')') + sys.stdout.write('") {\n') + for improper_name in imp_names_priority_high_to_low: + if not (improper2style[improper_name] in + improper_styles_selected): + continue + anames = ['*' if x=='X' else x + for x in ExtractANames(improper_name)] + #if (len(anames) == 4) and improper2style[improper_name] == 'class2': + # continue + ang_names = [[a for a in map(DecodeAName, anames[4:7])], + [a for a in map(DecodeAName, anames[7:10])], + [a for a in map(DecodeAName, anames[10:13])]] + anm = [a for a in map(DecodeAName, anames)] + + improper_is_auto = IsAutoInteraction(improper_name) + if improper2style[improper_name] == 'class2': + angle_is_auto1 = IsAutoInteraction(anames[4]) + angle_is_auto2 = IsAutoInteraction(anames[7]) + angle_is_auto3 = IsAutoInteraction(anames[10]) + + if ((improper_is_auto or + angle_is_auto1 or + angle_is_auto2 or + angle_is_auto3) and + (not include_auto_equivalences)): + continue + + # Can we ignore "auto" interactions? + # (If so, life is much easier) + if not (improper_is_auto or + angle_is_auto1 or + angle_is_auto2 or + angle_is_auto3): + if improper2style[improper_name] == 'class2': + # NOTE: atom orderings here are LAMMPS implementation specific. + # http://lammps.sandia.gov/doc/improper_class2.html + #ang_names[0] <==> (a1, a2, a3) <==> (i, j, k) + #ang_names[1] <==> (a1, a2, a4) <==> (i, j, l) + #ang_names[2] <==> (a3, a2, a4) <==> (k, j, l) + assert(ang_names[0][1] == ang_names[1][1] == ang_names[2][1]) + assert(ang_names[0][0] == ang_names[1][0]) + assert(ang_names[1][2] == ang_names[2][2]) + assert(ang_names[2][0] == ang_names[0][2]) + + # Optional: Shorten the improper name since some of the atom's bond names are redundant: + imp_name_abbr[improper_name] = EncodeInteractionName(map(EncodeAName, anm[0:4] + + [ang_names[0][0], + ang_names[0][1], + ang_names[0][2], + ang_names[1][2]]), + #[anm[4],anm[5],anm[6], + #anm[9]], + improper_is_auto) + sys.stdout.write(' @improper:' + imp_name_abbr[improper_name] + ' ' + + ' @atom:*,p*,b*,a'+ang_names[0][0]+',d*,i' + anames[0] + + ' @atom:*,p*,b*,a'+ang_names[0][1]+',d*,i' + anames[1] + + ' @atom:*,p*,b*,a'+ang_names[0][2]+',d*,i' + anames[2] + + ' @atom:*,p*,b*,a'+ang_names[1][2]+',d*,i' + anames[3] + + '\n') + else: + imp_name_abbr[improper_name] = improper_name + sys.stdout.write(' @improper:' + imp_name_abbr[improper_name] + ' ' + + ' @atom:*,p*,b*,a*,d*,i' + anames[0] + + ' @atom:*,p*,b*,a*,d*,i' + anames[1] + + ' @atom:*,p*,b*,a*,d*,i' + anames[2] + + ' @atom:*,p*,b*,a*,d*,i' + anames[3] + + '\n') + else: + # Consider "auto" interactions and "auto" atom equivalences + imp_name_abbr[improper_name] = improper_name #(full name) + sys.stdout.write(' @improper:' + imp_name_abbr[improper_name] + ' ') + + if improper2style[improper_name] == 'class2': + + #ang_names[0] <==> (a1, a2, a3) <==> (i, j, k) + #ang_names[1] <==> (a1, a2, a4) <==> (i, j, l) + #ang_names[2] <==> (a3, a2, a4) <==> (k, j, l) + + # default angle atom equivalence names: + ashared1 = 'a*' #(default for a1 <-> ang_names[0][0], ang_names[1][0]) + ashared2 = 'a*' #(default for a2 <-> ang_names[0][1], ang_names[1][1], ang_names[2][1]) + ashared3 = 'a*' #(default for a3 <-> ang_names[2][0], ang_names[0][2]) + ashared4 = 'a*' #(default for a4 <-> ang_names[1][2], ang_names[2][2]) + + # default auto angle atom equivalence names: + aashared1 = 'aae*,aac*' #(default for a1 <-> ang_names[0][0], ang_names[1][0]) + aashared2 = 'aae*,aac*' #(default for a2 <-> ang_names[0][1], ang_names[1][1], ang_names[2][1]) + aashared3 = 'aae*,aac*' #(default for a3 <-> ang_names[2][0], ang_names[0][2]) + aashared4 = 'aae*,aac*' #(default for a4 <-> ang_names[1][2], ang_names[2][2]) + + if improper_is_auto: + i1 = i2 = i3 = i4 = 'i*' #Then, dont use regular equivalences for these atoms. + ai1 = 'aie' + anames[0] + ',aic*' #Instead use the corresponding "auto" equivalence names + ai2 = 'aie*,aic*' + anames[1] #for these atoms. (There are different auto equivalence names depending + ai3 = 'aie' + anames[2] + ',aic*' #on if the atom appears in the center (c) or end(e) + ai4 = 'aie' + anames[3] + ',aic*' + else: + i1 = 'i' + anames[0] #In this case, use use (regular) equivalence names + i2 = 'i' + anames[1] #for these atoms + i3 = 'i' + anames[2] + i4 = 'i' + anames[3] + ai1 = ai2 = ai3 = 'aie*,aic*' + + #For reference, LAMMPS-specific atom ordering: + #ang_names[0] <==> (a1, a2, a3) <==> (i, j, k) + #ang_names[1] <==> (a1, a2, a4) <==> (i, j, l) + #ang_names[2] <==> (a3, a2, a4) <==> (k, j, l) + if not angle_is_auto1: + ashared1 = 'a' + ang_names[0][0] + ashared2 = 'a' + ang_names[0][1] + ashared3 = 'a' + ang_names[0][2] + else: + aashared1 = 'aae' + ang_names[0][0] + ',aac*' + aashared2 = 'aae*,aac' + ang_names[0][1] + aashared3 = 'aae' + ang_names[0][2] + ',aac*' + + #For reference, LAMMPS-specific atom ordering: + #ang_names[0] <==> (a1, a2, a3) <==> (i, j, k) + #ang_names[1] <==> (a1, a2, a4) <==> (i, j, l) + #ang_names[2] <==> (a3, a2, a4) <==> (k, j, l) + if not angle_is_auto2: + assert((ashared1 == 'a*') or (ashared1 == 'a' + ang_names[1][0])) + ashared1 = 'a' + ang_names[1][0] + assert((ashared2 == 'a*') or (ashared2 == 'a' + ang_names[1][1])) + ashared2 = 'a' + ang_names[1][1] + ashared4 = 'a' + ang_names[1][2] + else: + assert((aashared1 == 'aae*,aac*') or (aashared1 == 'aae' + ang_names[1][0] + ',aac*')) + aashared1 = 'aae' + ang_names[1][0] + ',aac*' + assert((aashared2 == 'aae*,aac*') or (aashared2 == 'aae*,aac' + ang_names[1][1])) + aashared2 = 'aae*,aac' + ang_names[1][1] + aashared4 = 'aae' + ang_names[1][2] + ',aac*' + + #For reference, LAMMPS-specific atom ordering: + #ang_names[0] <==> (a1, a2, a3) <==> (i, j, k) + #ang_names[1] <==> (a1, a2, a4) <==> (i, j, l) + #ang_names[2] <==> (a3, a2, a4) <==> (k, j, l) + if not angle_is_auto3: + assert((ashared3 == 'a*') or (ashared3 == 'a' + ang_names[2][0])) + ashared3 = 'a' + ang_names[2][0] + assert((ashared2 == 'a*') or (ashared2 == 'a' + ang_names[2][1])) + ashared2 = 'a' + ang_names[2][1] + assert((ashared4 == 'a*') or (ashared4 == 'a' + ang_names[2][2])) + ashared4 = 'a' + ang_names[2][2] + else: + assert((aashared3 == 'aae*,aac*') or (aashared3 == 'aae' + ang_names[2][0] + ',aac*')) + aashared3 = 'aae' + ang_names[2][0] + ',aac*' + assert((aashared2 == 'aae*,aac*') or (aashared2 == 'aae*,aac' + ang_names[2][1])) + aashared2 = 'aae*,aac' + ang_names[2][1] + assert((aashared4 == 'aae*,aac*') or (aashared4 == 'aae' + ang_names[2][2] + ',aac*')) + aashared4 = 'aae' + ang_names[2][2] + ',aac*' + + # print atom 1 information: + sys.stdout.write(' @atom:*,p*,b*,'+ashared1+',d*,'+i1+','+ + 'ap*,aq*,ab*,'+aashared1+',ad*,'+ai1) + # print atom 2 information: + sys.stdout.write(' @atom:*,p*,b*,'+ashared2+',d*,'+i2+','+ + 'ap*,aq*,ab*,'+aashared2+',ad*,'+ai2) + # print atom 3 information: + sys.stdout.write(' @atom:*,p*,b*,'+ashared3+',d*,'+i3+','+ + 'ap*,aq*,ab*,'+aashared3+',ad*,'+ai3) + # print atom 4 information: + sys.stdout.write(' @atom:*,p*,b*,'+ashared4+',d*,'+i4+','+ + 'ap*,aq*,ab*,'+aashared4+',ad*,'+ai4) + sys.stdout.write('\n') + else: + sys.stdout.write(' @improper:' + imp_name_abbr[improper_name] + ' ' + + ' @atom:*,p*,b*,d*,i*,' + + 'ap*,aq*,ab*,aae*,aac*,ade*,adc*,aie*,aie'+anames[0]+',aic*' + ' @atom:*,p*,b*,d*,i*,' + + 'ap*,aq*,ab*,aae*,aac*,ade*,adc*,aie*,aie*,aic'+anames[1]+ + ' @atom:*,p*,b*,d*,i*,' + + 'ap*,aq*,ab*,aae*,aac*,ade*,adc*,aie*,aie'+anames[2]+',aic*' + ' @atom:*,p*,b*,d*,i*,' + + 'ap*,aq*,ab*,aae*,aac*,ade*,adc*,aie*,aie'+anames[3]+',aic*' + '\n') + + assert(imp_name_abbr[improper_name] not in imp_name_abbr_used) + imp_name_abbr_used.add(imp_name_abbr[improper_name]) + + + + + sys.stdout.write(' } # end of "Data Impropers By Type" section\n' + '\n') + + # Print the force-field parameters for these improper interactions: + sys.stdout.write('\n\n' + ' # ------- Improper Force Field Parameters: -------\n') + sys.stdout.write(' # For an explanation of these parameters, visit:\n') + for improper_style in improper_styles: + if not (improper_style in improper_styles_selected): + continue + sys.stdout.write(' # '+improper_style2docs[improper_style]+'\n') + sys.stdout.write('\n' + '# Syntax: \n' + ' # improper_coeff ImproperTypeName ImproperStyle parameters...\n\n') + sys.stdout.write('\n' + ' write_once("In Settings") {\n') + for improper_name in imp_names_priority_high_to_low: + anames = ['*' if x=='X' else x + for x in ExtractANames(improper_name)] + #if (len(anames) == 4) and improper2style[improper_name] == 'class2': + # continue + # Optional: Shorten the angle name since some of the bnames are redundant: + + is_auto = IsAutoInteraction(improper_name) + + if not (improper2style[improper_name] in + improper_styles_selected): + continue + + # Did the user ask us to include "auto" interactions? + #if (IsAutoInteraction(improper_name) and + # (not include_auto_equivalences)): + # continue + # the if statement above is covered by the following: + if improper_name not in imp_name_abbr: + continue + + sys.stdout.write(' improper_coeff @improper:'+imp_name_abbr[improper_name]+' '+ + improper2style[improper_name] + ' ' + + improper2params[improper_name] + + " # (ver=" + improper2ver[improper_name] + + ", ref=" + improper2ref[improper_name] + ")\n") + if improper_name in improper2class2_aa: + sys.stdout.write(' improper_coeff @improper:'+imp_name_abbr[improper_name]+' '+ + improper2style[improper_name] + ' aa ' + + improper2class2_aa[improper_name] + + " # (ver=" + improper2ver_aa[improper_name] + + ", ref=" + improper2ref[improper_name] + ")\n") + sys.stdout.write(' } # end of improper_coeff commands\n' + '\n\n') + + + + sys.stdout.write('\n\n\n\n' + ' # -------------------- Select LAMMPS style(s) ------------------\n' + '\n') + + + sys.stdout.write('\n' + ' # LAMMPS supports many different kinds of bonded and non-bonded\n' + ' # interactions which can be selected at run time. Eventually\n' + ' # we must inform LAMMPS which of them we will need. We specify\n' + ' # this in the "In Init" section: \n\n') + + sys.stdout.write(' write_once("In Init") {\n') + sys.stdout.write(' units real\n') + sys.stdout.write(' atom_style full\n') + + if len(bond_styles) > 0: + sys.stdout.write(' bond_style hybrid') + for bond_style in bond_styles: + if not (bond_style in bond_styles_selected): + continue + sys.stdout.write(' ' + bond_style) + sys.stdout.write('\n') + for bond_style in bond_styles: + if not (bond_style in bond_styles_selected): + continue + sys.stdout.write(' # '+bond_style2docs[bond_style]+'\n') + sys.stdout.write('\n') + + if len(angle_styles) > 0: + sys.stdout.write(' angle_style hybrid') + for angle_style in angle_styles: + if not (angle_style in angle_styles_selected): + continue + sys.stdout.write(' ' + angle_style) + sys.stdout.write('\n') + for angle_style in angle_styles: + if not (angle_style in angle_styles_selected): + continue + sys.stdout.write(' # '+angle_style2docs[angle_style]+'\n') + sys.stdout.write('\n') + + if len(dihedral_styles) > 0: + sys.stdout.write(' dihedral_style hybrid') + for dihedral_style in dihedral_styles: + if not (dihedral_style in dihedral_styles_selected): + continue + sys.stdout.write(' ' + dihedral_style) + sys.stdout.write('\n') + for dihedral_style in dihedral_styles: + if not (dihedral_style in dihedral_styles_selected): + continue + sys.stdout.write(' # '+dihedral_style2docs[dihedral_style]+'\n') + sys.stdout.write('\n') + + if len(improper_styles) > 0: + sys.stdout.write(' improper_style hybrid') + for improper_style in improper_styles: + if not (improper_style in improper_styles_selected): + continue + sys.stdout.write(' ' + improper_style) + sys.stdout.write('\n') + for improper_style in improper_styles: + if not (improper_style in improper_styles_selected): + continue + sys.stdout.write(' # '+improper_style2docs[improper_style]+'\n') + sys.stdout.write('\n') + + if len(pair_styles) > 0: + sys.stdout.write(' pair_style hybrid') + for pair_style in pair_styles: + if not (pair_style in pair_styles_selected): + continue + sys.stdout.write(' ' + pair_style + + ' ' + pair_style_args[pair_style]) + sys.stdout.write('\n') + for pair_style in pair_styles: + sys.stdout.write(' # '+pair_style2docs[pair_style]+'\n') + sys.stdout.write('\n') + + sys.stdout.write(' pair_modify mix ' + pair_mixing_style + '\n') + sys.stdout.write(' ' + special_bonds_command + '\n') + sys.stdout.write(' ' + kspace_style + '\n') + sys.stdout.write(' } #end of init parameters\n\n') + sys.stdout.write('} # ' + ffname + '\n\n') + + + sys.stdout.write("#\n" + "# WARNING: The following 1-2, 1-3, and 1-4 weighting parameters were ASSUMED:\n") + sys.stdout.write("# " + special_bonds_command + "\n") + sys.stdout.write("# (See http://lammps.sandia.gov/doc/special_bonds.html for details)\n") + + #sys.stderr.write(' done.\n') + + + if len(lines_templates) > 0: + sys.stdout.write('\n\n\n\n' + '# ---- templates from the original .frc file used for atom type selection: ---\n') + for line in lines_templates: + sys.stdout.write('# '+line) + + if len(lines_references) > 0: + sys.stdout.write('\n\n\n\n' + '# ---- references from the original .frc file: ----\n\n') + for ref_number,lines in sorted(lines_references.items()): + sys.stdout.write('# reference '+str(ref_number)+'\n') + for line in lines: + sys.stdout.write('# '+line) + sys.stdout.write('\n') + + + if len(lines_warnings) > 0: + sys.stdout.write('\n\n\n\n' + '# ---- additional warnings: ----\n') + for line in lines_warnings: + sys.stdout.write(line) + + + if filename_in != '': + file_in.close() + + + + + except InputError as err: + sys.stderr.write('\n\n' + str(err) + '\n') + sys.exit(1) + + + +if __name__ == '__main__': + main() diff --git a/tools/moltemplate/moltemplate/force_fields/convert_TINKER_files_to_LT_files/__init__.py b/tools/moltemplate/moltemplate/force_fields/convert_TINKER_files_to_LT_files/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tools/moltemplate/moltemplate/force_fields/tinker/tinkerparm2lt.py b/tools/moltemplate/moltemplate/force_fields/convert_TINKER_files_to_LT_files/tinkerparm2lt.py similarity index 76% rename from tools/moltemplate/moltemplate/force_fields/tinker/tinkerparm2lt.py rename to tools/moltemplate/moltemplate/force_fields/convert_TINKER_files_to_LT_files/tinkerparm2lt.py index acb3db5e5c..c5bf317e52 100755 --- a/tools/moltemplate/moltemplate/force_fields/tinker/tinkerparm2lt.py +++ b/tools/moltemplate/moltemplate/force_fields/convert_TINKER_files_to_LT_files/tinkerparm2lt.py @@ -17,8 +17,8 @@ to my knowledge, have not yet been implemented in LAMMPS as of 2017-2-01.) __author__ = 'Jason Lambert and Andrew Jewett' # (some additional corrections by Miguel Gonzalez, Yue Chun Chiu and others) -__version__ = '0.2.1' -__date__ = '2017-17-18' +__version__ = '0.3.2' +__date__ = '2018-6-15' import sys @@ -38,10 +38,12 @@ doc_msg = \ " and \"OPLS\" is the name that future moltemplate users will use to refer to\n" + \ " this force-field (optional).\n" + \ "Optional Arguments\n" + \ - " -name FORCEFIELDNAME # Give the force-field a name\n" + \ + " -name FORCEFIELDNAME # Give the force-field a name (recommended)\n" + \ " -file FILE_NAME # Read force field parameters from a file\n" + \ - " -url URL # Read force field parameters from a file on the web\n" + \ - " -atoms \"QUOTED LIST\" # Restrict output to a subset of atom types\n" + " -url URL # Read force field parameters from a file online\n" + \ + " -atoms \"QUOTED LIST\" # Restrict output to a subset of atom types\n" + \ + " -hybrid # Optional LAMMPS \"hybrid\" style compatibility\n" + \ + " -zeropad N # Optional zero-padding for bonded interactions\n" def SplitQuotedString(string, @@ -142,9 +144,13 @@ def main(): dihedral_style_link = "http://lammps.sandia.gov/doc/dihedral_fourier.html" improper_style_name = "harmonic" improper_style_link = "http://lammps.sandia.gov/doc/improper_harmonic.html" + #improper_style_name = "cvff" + #improper_style_link = "http://lammps.sandia.gov/doc/improper_cvff.html" special_bonds_command = "special_bonds lj/coul 0.0 0.0 0.5" mixing_style = "geometric" + use_hybrid = False contains_united_atoms = False + zeropad_ffid = 1 argv = [arg for arg in sys.argv] @@ -183,7 +189,7 @@ def main(): ' for reading.\n') sys.exit(1) del argv[i:i + 2] - + elif argv[i] == '-dihedral-style': if i + 1 >= len(argv): raise Exception( @@ -201,8 +207,9 @@ def main(): elif argv[i] in ('-url', '-in-url'): import urllib2 if i + 1 >= len(argv): - raise Exception( - 'Error: ' + argv[i] + ' flag should be followed by the name of a force-field file.\n') + raise InputError('Error: ' + argv[i] + ' flag should be followed by a URL pointing to\n' + + ' a TINKER file containing force-field information.\n') url = argv[i + 1] try: request = urllib2.Request(url) @@ -211,6 +218,17 @@ def main(): sys.stdout.write("Error: Unable to open link:\n" + url + "\n") sys.exit(1) del argv[i:i + 2] + + elif argv[i] == '-hybrid': + use_hybrid = True + del argv[i:i + 1] + + elif (argv[i] == '-zeropad' or argv[i] == '-zero-pad'): + if (i + 1 >= len(argv)) or (argv[i+1][1:] == '-'): + raise Exception( + 'Error: ' + argv[i] + ' flag should be followed by a positive integer\n') + zeropad_ffid = int(argv[i+1]) + del argv[i:i + 2] elif argv[i] in ('-help', '--help', '-?', '--?'): sys.stderr.write(doc_msg) @@ -276,11 +294,14 @@ def main(): elif (len(tokens) > 4) and (tokens[0] == 'bond'): k = float(tokens[3]) r0 = float(tokens[4]) - bonds_by_type[tokens[1], tokens[2]] = (k, r0) + bonds_by_type[tokens[1].rjust(zeropad_ffid,'0'), + tokens[2].rjust(zeropad_ffid,'0')] = (k, r0) elif (len(tokens) > 5) and (tokens[0] == 'angle'): k = float(tokens[4]) angle0 = float(tokens[5]) - angles_by_type[tokens[1], tokens[2], tokens[3]] = (k, angle0) + angles_by_type[tokens[1].rjust(zeropad_ffid,'0'), + tokens[2].rjust(zeropad_ffid,'0'), + tokens[3].rjust(zeropad_ffid,'0')] = (k, angle0) elif (len(tokens) > 11) and (tokens[0] == 'torsion'): if dihedral_style_name == 'fourier': # http://lammps.sandia.gov/doc/dihedral_fourier.html @@ -292,8 +313,10 @@ def main(): K[i] = float(tokens[5 + 3 * i]) d[i] = float(tokens[5 + 3 * i + 1]) n[i] = float(tokens[5 + 3 * i + 2]) - dihedrals_by_type[tokens[1], tokens[2], - tokens[3], tokens[4]] = (K, n, d) + dihedrals_by_type[tokens[1].rjust(zeropad_ffid,'0'), + tokens[2].rjust(zeropad_ffid,'0'), + tokens[3].rjust(zeropad_ffid,'0'), + tokens[4].rjust(zeropad_ffid,'0')] = (K, n, d) elif dihedral_style_name == 'opls': # http://lammps.sandia.gov/doc/dihedral_opls.html K1 = float(tokens[5]) @@ -311,8 +334,10 @@ def main(): (float(tokens[16]) != 4.0)))): raise Exception("Error: This parameter file is incompatible with -dihedral-style \"" + dihedral_style_name + "\"\n" + " (See line number " + str(iline + 1) + " of parameter file.)\n") - dihedrals_by_type[tokens[1], tokens[2], - tokens[3], tokens[4]] = (K1, K2, K3, K4) + dihedrals_by_type[tokens[1].rjust(zeropad_ffid,'0'), + tokens[2].rjust(zeropad_ffid,'0'), + tokens[3].rjust(zeropad_ffid,'0'), + tokens[4].rjust(zeropad_ffid,'0')] = (K1, K2, K3, K4) else: assert(False) @@ -320,8 +345,10 @@ def main(): k = float(tokens[5]) angle0 = float(tokens[6]) multiplicity = float(tokens[7]) - impropers_by_type[tokens[1], tokens[2], tokens[ - 3], tokens[4]] = (k / multiplicity, angle0) + impropers_by_type[tokens[1].rjust(zeropad_ffid,'0'), + tokens[2].rjust(zeropad_ffid,'0'), + tokens[3].rjust(zeropad_ffid,'0'), + tokens[4].rjust(zeropad_ffid,'0')] = (k / multiplicity, angle0) elif ((len(tokens) > 0) and (tokens[0] == 'biotype')): # I'm not sure what to do with these, so I'll store them for now and # append them as comments to the .lt file generated by the program. @@ -351,13 +378,28 @@ def main(): " to consider alternate mixing rules.\n\n" + "The offending line from the file is line number " + str(iline) + ":\n" + line + "\n") - - - + + # Zero-pad the atom2ffid values so that they have the same number + # of digits. This is usually not necessary, but it can be helpful + # to remove uncertainty about the meaning of '4*' which could + # pattern match with '4', '4L', '47', '47L'... If you replace '4' + # with '04', '04*' becomes distinguishable from '47*'. + # This can be useful if you want to augment the force field later, + # (for example, adding additional atoms to the LOPLSAA variant of OPLSAA) + + for k in atom2ffid.keys(): + atom2ffid[k] = atom2ffid[k].rjust(zeropad_ffid, '0') + + # Horrible hack: for LOPLSAA, uncomment the next 3 lines: + #ki = atom2ffid[k].find('L') + #if ki!=-1: + # atom2ffid[k] = atom2ffid[k].rjust(zeropad_ffid + len(atom2ffid[k]) - ki, '0') + + #sys.stderr.write(" done.\n") #sys.stderr.write("Converting to moltemplate format...\n") - - + + system_is_charged = False for atom_type in atom2charge: if atom2charge[atom_type] != 0.0: @@ -373,10 +415,9 @@ def main(): pair_style_params = "10.0" kspace_style = "" pair_style_link = "http://lammps.sandia.gov/doc/pair_lj.html" - - pair_style_command = " pair_style hybrid " + \ - pair_style_name + " " + pair_style_params + "\n" - + + pair_style_command = " pair_style " + ("hybrid " if use_hybrid else "") + \ + pair_style_name + " " + pair_style_params + "\n" sys.stdout.write("# This file was generated automatically using:\n") sys.stdout.write("# " + g_program_name + " " + " ".join(sys.argv[1:]) + "\n") @@ -442,8 +483,10 @@ def main(): sys.stdout.write(" # --------------- Non-Bonded interactions: ---------------------\n" " # " + pair_style_link + "\n" " # Syntax:\n" - " # pair_coeff AtomType1 AtomType2 pair_style_name parameters...\n\n") - + " # pair_coeff AtomType1 AtomType2 " + + ("PairStyleName " if use_hybrid else "") + + "parameters...\n\n") + sys.stdout.write(" write_once(\"In Settings\") {\n") for atype in atom2vdw_e: assert(atype in atom2vdw_s) @@ -454,7 +497,7 @@ def main(): "@atom:" + atype + "_b" + atom2ffid[atype] + "_a" + atom2ffid[ atype] + "_d" + atom2ffid[atype] + "_i" + atom2ffid[atype] + " " "@atom:" + atype + "_b" + atom2ffid[atype] + "_a" + atom2ffid[atype] + "_d" + atom2ffid[atype] + "_i" + atom2ffid[atype] + " " + - pair_style_name + + (pair_style_name if use_hybrid else "") + " " + str(atom2vdw_e[atype]) + " " + str(atom2vdw_s[atype]) + "\n") sys.stdout.write(" } #(end of pair_coeffs)\n\n\n\n") @@ -463,15 +506,18 @@ def main(): sys.stdout.write(" # ------- Bonded Interactions: -------\n" " # " + bond_style_link + "\n" " # Syntax: \n" - " # bond_coeff BondTypeName BondStyle parameters...\n\n") + " # bond_coeff BondTypeName " + + ("BondStyleName " if use_hybrid else "") + + "parameters...\n\n") sys.stdout.write(" write_once(\"In Settings\") {\n") for btype in bonds_by_type: - ffid1 = btype[0] if btype[0] != "0" else "X" - ffid2 = btype[1] if btype[1] != "0" else "X" + ffid1 = btype[0] if btype[0] != ("0"*zeropad_ffid) else "X" + ffid2 = btype[1] if btype[1] != ("0"*zeropad_ffid) else "X" (k, r0) = bonds_by_type[btype] - sys.stdout.write(" bond_coeff @bond:" + ffid1 + "-" + ffid2 + " " + - bond_style_name + " " + str(k) + " " + str(r0) + "\n") + sys.stdout.write(" bond_coeff @bond:" + ffid1 + "_" + ffid2 + " " + + (bond_style_name if use_hybrid else "") + + " " + str(k) + " " + str(r0) + "\n") sys.stdout.write(" } #(end of bond_coeffs)\n\n") sys.stdout.write(" # Rules for assigning bond types by atom type:\n" @@ -480,13 +526,13 @@ def main(): sys.stdout.write(" write_once(\"Data Bonds By Type\") {\n") for btype in bonds_by_type: - ffid1 = btype[0] if btype[0] != "0" else "X" - ffid2 = btype[1] if btype[1] != "0" else "X" - sys.stdout.write(" @bond:" + ffid1 + "-" + ffid2) + ffid1 = btype[0] if btype[0] != ("0"*zeropad_ffid) else "X" + ffid2 = btype[1] if btype[1] != ("0"*zeropad_ffid) else "X" + sys.stdout.write(" @bond:" + ffid1 + "_" + ffid2) ffid1 = "@atom:*_b" + btype[0] + \ - "_a*_d*_i*" if btype[0] != "0" else "@atom:*" + "*_a*_d*_i*" if btype[0] != ("0"*zeropad_ffid) else "@atom:*" ffid2 = "@atom:*_b" + btype[1] + \ - "_a*_d*_i*" if btype[1] != "0" else "@atom:*" + "*_a*_d*_i*" if btype[1] != ("0"*zeropad_ffid) else "@atom:*" sys.stdout.write(" " + ffid1 + " " + ffid2 + "\n") sys.stdout.write(" } #(end of bonds by type)\n\n\n\n\n") @@ -494,16 +540,19 @@ def main(): sys.stdout.write(" # ------- Angle Interactions: -------\n" " # " + angle_style_link + "\n" " # Syntax: \n" - " # angle_coeff AngleTypeName AngleStyle parameters...\n\n") + " # angle_coeff AngleTypeName "+ + ("AngleStyleName " if use_hybrid else "") + + "parameters...\n\n") sys.stdout.write(" write_once(\"In Settings\") {\n") for atype in angles_by_type: - ffid1 = atype[0] if atype[0] != "0" else "X" - ffid2 = atype[1] if atype[1] != "0" else "X" - ffid3 = atype[2] if atype[2] != "0" else "X" + ffid1 = atype[0] if atype[0] != ("0"*zeropad_ffid) else "X" + ffid2 = atype[1] if atype[1] != ("0"*zeropad_ffid) else "X" + ffid3 = atype[2] if atype[2] != ("0"*zeropad_ffid) else "X" (k, angle0) = angles_by_type[atype] - sys.stdout.write(" angle_coeff @angle:" + ffid1 + "-" + ffid2 + "-" + ffid3 + " " + - angle_style_name + " " + str(k) + " " + str(angle0) + "\n") + sys.stdout.write(" angle_coeff @angle:" + ffid1 + "_" + ffid2 + "_" + ffid3 + " " + + (angle_style_name if use_hybrid else "") + + " " + str(k) + " " + str(angle0) + "\n") sys.stdout.write(" } #(end of angle_coeffs)\n\n") @@ -513,16 +562,16 @@ def main(): sys.stdout.write(" write_once(\"Data Angles By Type\") {\n") for atype in angles_by_type: - ffid1 = atype[0] if atype[0] != "0" else "X" - ffid2 = atype[1] if atype[1] != "0" else "X" - ffid3 = atype[2] if atype[2] != "0" else "X" - sys.stdout.write(" @angle:" + ffid1 + "-" + ffid2 + "-" + ffid3) + ffid1 = atype[0] if atype[0] != ("0"*zeropad_ffid) else "X" + ffid2 = atype[1] if atype[1] != ("0"*zeropad_ffid) else "X" + ffid3 = atype[2] if atype[2] != ("0"*zeropad_ffid) else "X" + sys.stdout.write(" @angle:" + ffid1 + "_" + ffid2 + "_" + ffid3) ffid1 = "@atom:*_b*_a" + atype[0] + \ - "_d*_i*" if atype[0] != "0" else "@atom:*" + "*_d*_i*" if atype[0] != ("0"*zeropad_ffid) else "@atom:*" ffid2 = "@atom:*_b*_a" + atype[1] + \ - "_d*_i*" if atype[1] != "0" else "@atom:*" + "*_d*_i*" if atype[1] != ("0"*zeropad_ffid) else "@atom:*" ffid3 = "@atom:*_b*_a" + atype[2] + \ - "_d*_i*" if atype[2] != "0" else "@atom:*" + "*_d*_i*" if atype[2] != ("0"*zeropad_ffid) else "@atom:*" sys.stdout.write(" " + ffid1 + " " + ffid2 + " " + ffid3 + "\n") sys.stdout.write(" } #(end of angles by type)\n\n\n\n\n") @@ -530,17 +579,20 @@ def main(): sys.stdout.write(" # ----------- Dihedral Interactions: ------------\n" " # " + dihedral_style_link + "\n" " # Syntax:\n" - " # dihedral_coeff DihedralTypeName DihedralStyle parameters...\n\n") + " # dihedral_coeff DihedralTypeName " + + ("DihedralStyleName " if use_hybrid else "") + + "parameters...\n\n") sys.stdout.write(" write_once(\"In Settings\") {\n") for dtype in dihedrals_by_type: - ffid1 = dtype[0] if dtype[0] != "0" else "X" - ffid2 = dtype[1] if dtype[1] != "0" else "X" - ffid3 = dtype[2] if dtype[2] != "0" else "X" - ffid4 = dtype[3] if dtype[3] != "0" else "X" + ffid1 = dtype[0] if dtype[0] != ("0"*zeropad_ffid) else "X" + ffid2 = dtype[1] if dtype[1] != ("0"*zeropad_ffid) else "X" + ffid3 = dtype[2] if dtype[2] != ("0"*zeropad_ffid) else "X" + ffid4 = dtype[3] if dtype[3] != ("0"*zeropad_ffid) else "X" sys.stdout.write(" dihedral_coeff @dihedral:" + - ffid1 + "-" + ffid2 + "-" + ffid3 + "-" + ffid4 + " " + - dihedral_style_name + " ") + ffid1 + "_" + ffid2 + "_" + ffid3 + "_" + ffid4 + " " + + (dihedral_style_name if use_hybrid else "") + + " ") if dihedral_style_name == 'fourier': # http://lammps.sandia.gov/doc/dihedral_fourier.html (K, n, d) = dihedrals_by_type[dtype] @@ -567,20 +619,22 @@ def main(): sys.stdout.write(" write_once(\"Data Dihedrals By Type\") {\n") for dtype in dihedrals_by_type: - ffid1 = dtype[0] if dtype[0] != "0" else "X" - ffid2 = dtype[1] if dtype[1] != "0" else "X" - ffid3 = dtype[2] if dtype[2] != "0" else "X" - ffid4 = dtype[3] if dtype[3] != "0" else "X" - sys.stdout.write(" @dihedral:" + ffid1 + "-" + - ffid2 + "-" + ffid3 + "-" + ffid4) + ffid1 = dtype[0] if dtype[0] != ("0"*zeropad_ffid) else "X" + ffid2 = dtype[1] if dtype[1] != ("0"*zeropad_ffid) else "X" + ffid3 = dtype[2] if dtype[2] != ("0"*zeropad_ffid) else "X" + ffid4 = dtype[3] if dtype[3] != ("0"*zeropad_ffid) else "X" + sys.stdout.write(" @dihedral:" + + ffid1 + "_" + ffid2 + "_" + + ffid3 + "_" + ffid4) ffid1 = "@atom:*_b*_a*_d" + dtype[0] + \ - "_i*" if dtype[0] != "0" else "@atom:*" + "*_i*" if dtype[0] != ("0"*zeropad_ffid) else "@atom:*" ffid2 = "@atom:*_b*_a*_d" + dtype[1] + \ - "_i*" if dtype[1] != "0" else "@atom:*" + "*_i*" if dtype[1] != ("0"*zeropad_ffid) else "@atom:*" ffid3 = "@atom:*_b*_a*_d" + dtype[2] + \ - "_i*" if dtype[2] != "0" else "@atom:*" + "*_i*" if dtype[2] != ("0"*zeropad_ffid) else "@atom:*" ffid4 = "@atom:*_b*_a*_d" + dtype[3] + \ - "_i*" if dtype[3] != "0" else "@atom:*" + "*_i*" if dtype[3] != ("0"*zeropad_ffid) else "@atom:*" + sys.stdout.write(" " + ffid1 + " " + ffid2 + " " + ffid3 + " " + ffid4 + "\n") sys.stdout.write(" } #(end of dihedrals by type)\n\n\n\n\n") @@ -589,37 +643,41 @@ def main(): sys.stdout.write(" # ---------- Improper Interactions: ----------\n" " # " + improper_style_link + "\n" " # Syntax:\n" - " # improper_coeff ImproperTypeName ImproperStyle parameters\n\n") + " # improper_coeff ImproperTypeName " + + ("ImproperStyleName " if use_hybrid else "") + + "parameters\n\n") sys.stdout.write(" write_once(\"In Settings\") {\n") for itype in impropers_by_type: - ffid1 = itype[0] if itype[0] != "0" else "X" - ffid2 = itype[1] if itype[1] != "0" else "X" - ffid3 = itype[2] if itype[2] != "0" else "X" - ffid4 = itype[3] if itype[3] != "0" else "X" + ffid1 = itype[0] if itype[0] != ("0"*zeropad_ffid) else "X" + ffid2 = itype[1] if itype[1] != ("0"*zeropad_ffid) else "X" + ffid3 = itype[2] if itype[2] != ("0"*zeropad_ffid) else "X" + ffid4 = itype[3] if itype[3] != ("0"*zeropad_ffid) else "X" (k, angle0) = impropers_by_type[itype] sys.stdout.write(" improper_coeff @improper:" + - ffid1 + "-" + ffid2 + "-" + ffid3 + "-" + ffid4 + " " + - improper_style_name + " " + str(k) + " " + str(angle0) + "\n") + ffid1 + "_" + ffid2 + "_" + ffid3 + "_" + ffid4 + " " + + (improper_style_name if use_hybrid else "") + + " " + str(k) + " " + str(angle0) + "\n") sys.stdout.write(" } #(end of improper_coeffs)\n\n") - sys.stdout.write(" # Rules for creating dihedral interactions according to atom type:\n" + sys.stdout.write(" # Rules for creating improper interactions according to atom type:\n" " # ImproperTypeName AtomType1 AtomType2 AtomType3 AtomType4\n" " # (* = wildcard)\n") sys.stdout.write(" write_once(\"Data Impropers By Type (opls_imp.py)\") {\n") for itype in impropers_by_type: - ffid1 = itype[0] if itype[0] != "0" else "X" - ffid2 = itype[1] if itype[1] != "0" else "X" - ffid3 = itype[2] if itype[2] != "0" else "X" - ffid4 = itype[3] if itype[3] != "0" else "X" - sys.stdout.write(" @improper:" + ffid1 + "-" + - ffid2 + "-" + ffid3 + "-" + ffid4) - ffid1 = "@atom:*_b*_a*_d*_i" + itype[0] if itype[0] != "0" else "@atom:*" - ffid2 = "@atom:*_b*_a*_d*_i" + itype[1] if itype[1] != "0" else "@atom:*" - ffid3 = "@atom:*_b*_a*_d*_i" + itype[2] if itype[2] != "0" else "@atom:*" - ffid4 = "@atom:*_b*_a*_d*_i" + itype[3] if itype[3] != "0" else "@atom:*" + ffid1 = itype[0] if itype[0] != ("0"*zeropad_ffid) else "X" + ffid2 = itype[1] if itype[1] != ("0"*zeropad_ffid) else "X" + ffid3 = itype[2] if itype[2] != ("0"*zeropad_ffid) else "X" + ffid4 = itype[3] if itype[3] != ("0"*zeropad_ffid) else "X" + sys.stdout.write(" @improper:" + + ffid1 + "_" + ffid2 + "_" + + ffid3 + "_" + ffid4) + ffid1 = "@atom:*_b*_a*_d*_i" + itype[0]+"*" if itype[0] != ("0"*zeropad_ffid) else "@atom:*" + ffid2 = "@atom:*_b*_a*_d*_i" + itype[1]+"*" if itype[1] != ("0"*zeropad_ffid) else "@atom:*" + ffid3 = "@atom:*_b*_a*_d*_i" + itype[2]+"*" if itype[2] != ("0"*zeropad_ffid) else "@atom:*" + ffid4 = "@atom:*_b*_a*_d*_i" + itype[3]+"*" if itype[3] != ("0"*zeropad_ffid) else "@atom:*" sys.stdout.write(" " + ffid1 + " " + ffid2 + " " + ffid3 + " " + ffid4 + "\n") sys.stdout.write(" } #(end of impropers by type)\n\n\n\n\n") @@ -639,10 +697,18 @@ def main(): sys.stdout.write(" write_once(\"In Init\") {\n") sys.stdout.write(" units real\n") sys.stdout.write(" atom_style full\n") - sys.stdout.write(" bond_style hybrid " + bond_style_name + "\n") - sys.stdout.write(" angle_style hybrid " + angle_style_name + "\n") - sys.stdout.write(" dihedral_style hybrid " + dihedral_style_name + "\n") - sys.stdout.write(" improper_style hybrid " + improper_style_name + "\n") + sys.stdout.write(" bond_style " + + ("hybrid " if use_hybrid else "") + + bond_style_name + "\n") + sys.stdout.write(" angle_style " + + ("hybrid " if use_hybrid else "") + + angle_style_name + "\n") + sys.stdout.write(" dihedral_style " + + ("hybrid " if use_hybrid else "") + + dihedral_style_name + "\n") + sys.stdout.write(" improper_style " + + ("hybrid " if use_hybrid else "") + + improper_style_name + "\n") sys.stdout.write(pair_style_command) sys.stdout.write(" pair_modify mix " + mixing_style + "\n") sys.stdout.write(" " + special_bonds_command + "\n") diff --git a/tools/moltemplate/moltemplate/force_fields/cooke_deserno/README b/tools/moltemplate/moltemplate/force_fields/cooke_deserno_supporting_files/README similarity index 100% rename from tools/moltemplate/moltemplate/force_fields/cooke_deserno/README rename to tools/moltemplate/moltemplate/force_fields/cooke_deserno_supporting_files/README diff --git a/tools/moltemplate/moltemplate/force_fields/cooke_deserno/gen_potential-cooke.py b/tools/moltemplate/moltemplate/force_fields/cooke_deserno_supporting_files/gen_potential-cooke.py similarity index 100% rename from tools/moltemplate/moltemplate/force_fields/cooke_deserno/gen_potential-cooke.py rename to tools/moltemplate/moltemplate/force_fields/cooke_deserno_supporting_files/gen_potential-cooke.py diff --git a/tools/moltemplate/moltemplate/force_fields/cooke_deserno/tabulated_potential.dat b/tools/moltemplate/moltemplate/force_fields/cooke_deserno_supporting_files/tabulated_potential.dat similarity index 100% rename from tools/moltemplate/moltemplate/force_fields/cooke_deserno/tabulated_potential.dat rename to tools/moltemplate/moltemplate/force_fields/cooke_deserno_supporting_files/tabulated_potential.dat diff --git a/tools/moltemplate/moltemplate/force_fields/gaff.lt b/tools/moltemplate/moltemplate/force_fields/gaff.lt index 683dbf4ee4..d9e367e8ce 100644 --- a/tools/moltemplate/moltemplate/force_fields/gaff.lt +++ b/tools/moltemplate/moltemplate/force_fields/gaff.lt @@ -30,15 +30,14 @@ #(See "Inheritance" and "short names vs. full names" in the moltemplate manual.) #################################################################### # Moltemplate can not assign atom charge. You must assign atomic -# charges yourself. (Moltemplate is only a simple text manipulation tool.) +# charges yourself. (Moltemplate is only a simple text manipulation tool. +# You can do this afterwards using commands like "set atom 70 charge -0.212" +# For details, see http://lammps.sandia.gov/doc/set.html) #################################################################### - - - GAFF { # ---------------------------------------------------------------------- diff --git a/tools/moltemplate/moltemplate/force_fields/gaff2.lt b/tools/moltemplate/moltemplate/force_fields/gaff2.lt new file mode 100644 index 0000000000..9063b28cb9 --- /dev/null +++ b/tools/moltemplate/moltemplate/force_fields/gaff2.lt @@ -0,0 +1,13357 @@ +# This is the 2.1 version of GAFF (April 2016) +#################################################################### +# This moltemplate (LT) file was generated automatically using +# amberparm2lt.sh gaff2.dat GAFF2 > gaff2.lt +#################################################################### +# WARNING: As of 2017-10-03 this file has not yet been tested with +# moltemplate. Please report issues to jewett.aij -at- gmail.com +#################################################################### +# Background information and usage explanation: +# This file contanis a list of atom types and rules for generating bonded +# interactions between these atoms (hopefully) according to AMBER conventions. +# By using the atom types shown below in your own molecules, bonds and angular +# interactions will be automatically generated. +# AMBER (GAFF) force-field parameters will also be assigned to each angle +# interaction (according to these atom types). +# One way to apply the GAFF force field to a particular type of molecule, is +# to use the "inherits" keyword when you define that molecule. For example: +# import("gaff.lt") +# MoleculeType inherits GAFF { +# write_once("Data Atoms") { +# $atom:C1 $mol:... @atom:cx 0.0 4.183 3.194 13.285 +# $atom:C2 $mol:... @atom:cx 0.0 4.291 4.618 13.382 +# : : : +# } +# } +#(See "Inheritance" and "short names vs. full names" in the moltemplate manual.) +#################################################################### +# Moltemplate can not assign atom charge. You must assign atomic +# charges yourself. (Moltemplate is only a simple text manipulation tool. +# You can do this afterwards using commands like "set atom 70 charge -0.212" +# For details, see http://lammps.sandia.gov/doc/set.html) +#################################################################### + + +GAFF2 { + + # ---------------------------------------------------------------------- + # The basic atom nomenclature and conventions are explained here: + # http://ambermd.org/antechamber/gaff.pdf + # For reference, the original gaff.dat file and format documentation are here: + # http://ambermd.org/AmberTools-get.html + # http://ambermd.org/formats.html#parm.dat + # ---------------------------------------------------------------------- + + write_once("Data Masses") { + @atom:c 12.01 # Sp2 C carbonyl group + @atom:cs 12.01 # Sp2 C in c=S + @atom:c1 12.01 # Sp C + @atom:c2 12.01 # Sp2 C + @atom:c3 12.01 # Sp3 C + @atom:ca 12.01 # Sp2 C in pure aromatic systems + @atom:cp 12.01 # Head Sp2 C that connect two rings in biphenyl sys. + @atom:cq 12.01 # Head Sp2 C that connect two rings in biphenyl sys. identical to cp + @atom:cc 12.01 # Sp2 carbons in non-pure aromatic systems + @atom:cd 12.01 # Sp2 carbons in non-pure aromatic systems, identical to cc + @atom:ce 12.01 # Inner Sp2 carbons in conjugated systems + @atom:cf 12.01 # Inner Sp2 carbons in conjugated systems, identical to ce + @atom:cg 12.01 # Inner Sp carbons in conjugated systems + @atom:ch 12.01 # Inner Sp carbons in conjugated systems, identical to cg + @atom:cx 12.01 # Sp3 carbons in triangle systems + @atom:cy 12.01 # Sp3 carbons in square systems + @atom:cu 12.01 # Sp2 carbons in triangle systems + @atom:cv 12.01 # Sp2 carbons in square systems + @atom:cz 12.01 # Sp2 carbon in guanidine group + @atom:h1 1.008 # H bonded to aliphatic carbon with 1 electrwd. group + @atom:h2 1.008 # H bonded to aliphatic carbon with 2 electrwd. group + @atom:h3 1.008 # H bonded to aliphatic carbon with 3 electrwd. group + @atom:h4 1.008 # H bonded to non-sp3 carbon with 1 electrwd. group + @atom:h5 1.008 # H bonded to non-sp3 carbon with 2 electrwd. group + @atom:ha 1.008 # H bonded to aromatic carbon + @atom:hc 1.008 # H bonded to aliphatic carbon without electrwd. group + @atom:hn 1.008 # H bonded to nitrogen atoms + @atom:ho 1.008 # Hydroxyl group + @atom:hp 1.008 # H bonded to phosphate + @atom:hs 1.008 # Hydrogen bonded to sulphur + @atom:hw 1.008 # Hydrogen in water + @atom:hx 1.008 # H bonded to C next to positively charged group + @atom:f 19.00 # Fluorine + @atom:cl 35.45 # Chlorine + @atom:br 79.90 # Bromine + @atom:i 126.9 # Iodine + @atom:n 14.01 # Sp2 nitrogen in amide groups + @atom:n1 14.01 # Sp N + @atom:n2 14.01 # aliphatic Sp2 N with two connected atoms + @atom:n3 14.01 # Sp3 N with three connected atoms + @atom:n4 14.01 # Sp3 N with four connected atoms + @atom:na 14.01 # Sp2 N with three connected atoms + @atom:nb 14.01 # Sp2 N in pure aromatic systems + @atom:nc 14.01 # Sp2 N in non-pure aromatic systems + @atom:nd 14.01 # Sp2 N in non-pure aromatic systems, identical to nc + @atom:ne 14.01 # Inner Sp2 N in conjugated systems + @atom:nf 14.01 # Inner Sp2 N in conjugated systems, identical to ne + @atom:nh 14.01 # Amine N connected one or more aromatic rings + @atom:no 14.01 # Nitro N + @atom:ns 14.01 # amind N, with 1 attached hydrogen atom + @atom:nt 14.01 # amide N, with 2 attached hydrogen atoms + @atom:nx 14.01 # like n4, but only has one hydrogen atom + @atom:ny 14.01 # like n4, but only has two hydrogen atoms + @atom:nz 14.01 # like n4, but only has three three hydrogen atoms + @atom:n+ 14.01 # NH4+ + @atom:nu 14.01 # like nh, but only has one attached hydrogen atom + @atom:nv 14.01 # like nh, but only has two attached hydrogen atoms + @atom:n7 14.01 # like n3, but only has one attached hydrogen atom + @atom:n8 14.01 # like n3, but only has two attached hydrogen atoms + @atom:n9 14.01 # NH3 + @atom:o 16.00 # Oxygen with one connected atom + @atom:oh 16.00 # Oxygen in hydroxyl group + @atom:os 16.00 # Ether and ester oxygen + @atom:ow 16.00 # Oxygen in water + @atom:p2 30.97 # Phosphate with two connected atoms + @atom:p3 30.97 # Phosphate with three connected atoms, such as PH3 + @atom:p4 30.97 # Phosphate with three connected atoms, such as O=P(CH3)2 + @atom:p5 30.97 # Phosphate with four connected atoms, such as O=P(OH)3 + @atom:pb 30.97 # Sp2 P in pure aromatic systems + @atom:pc 30.97 # Sp2 P in non-pure aromatic systems + @atom:pd 30.97 # Sp2 P in non-pure aromatic systems, identical to pc + @atom:pe 30.97 # Inner Sp2 P in conjugated systems + @atom:pf 30.97 # Inner Sp2 P in conjugated systems, identical to pe + @atom:px 30.97 # Special p4 in conjugated systems + @atom:py 30.97 # Special p5 in conjugated systems + @atom:s 32.06 # S with one connected atom + @atom:s2 32.06 # S with two connected atom, involved at least one double bond + @atom:s4 32.06 # S with three connected atoms + @atom:s6 32.06 # S with four connected atoms + @atom:sh 32.06 # Sp3 S connected with hydrogen + @atom:ss 32.06 # Sp3 S in thio-ester and thio-ether + @atom:sx 32.06 # Special s4 in conjugated systems + @atom:sy 32.06 # Special s6 in conjugated systems + } # (end of masses) + + write_once("In Settings") { + pair_coeff @atom:hc @atom:hc lj/charmm/coul/long 0.0208 2.60017699876 + pair_coeff @atom:ha @atom:ha lj/charmm/coul/long 0.0161 2.62547852236 + pair_coeff @atom:hn @atom:hn lj/charmm/coul/long 0.0100 1.10649620793 + pair_coeff @atom:ho @atom:ho lj/charmm/coul/long 0.0047 0.537924646013 + pair_coeff @atom:hs @atom:hs lj/charmm/coul/long 0.0124 1.08903459305 + pair_coeff @atom:hp @atom:hp lj/charmm/coul/long 0.0144 1.07460203382 + pair_coeff @atom:o @atom:o lj/charmm/coul/long 0.1463 3.04812087425 + pair_coeff @atom:os @atom:os lj/charmm/coul/long 0.0726 3.15609779888 + pair_coeff @atom:oh @atom:oh lj/charmm/coul/long 0.0930 3.24287133403 + pair_coeff @atom:c3 @atom:c3 lj/charmm/coul/long 0.1078 3.39770953124 + pair_coeff @atom:c2 @atom:c2 lj/charmm/coul/long 0.0988 3.31521230994 + pair_coeff @atom:c1 @atom:c1 lj/charmm/coul/long 0.1596 3.47895949434 + pair_coeff @atom:n @atom:n lj/charmm/coul/long 0.1636 3.18086478325 + pair_coeff @atom:s @atom:s lj/charmm/coul/long 0.2824 3.53241341743 + pair_coeff @atom:p2 @atom:p2 lj/charmm/coul/long 0.2295 3.6940224449 + pair_coeff @atom:f @atom:f lj/charmm/coul/long 0.0832 3.03422285424 + pair_coeff @atom:cl @atom:cl lj/charmm/coul/long 0.2638 3.46595237305 + pair_coeff @atom:br @atom:br lj/charmm/coul/long 0.3932 3.61259430206 + pair_coeff @atom:i @atom:i lj/charmm/coul/long 0.4955 3.84119891313 + pair_coeff @atom:n1 @atom:n1 lj/charmm/coul/long 0.1098 3.27351824993 + pair_coeff @atom:n2 @atom:n2 lj/charmm/coul/long 0.0941 3.38416787073 + pair_coeff @atom:n3 @atom:n3 lj/charmm/coul/long 0.0858 3.36510263816 + pair_coeff @atom:na @atom:na lj/charmm/coul/long 0.2042 3.20580994736 + pair_coeff @atom:nh @atom:nh lj/charmm/coul/long 0.2150 3.18995195017 + pair_coeff @atom:n+ @atom:n+ lj/charmm/coul/long 0.7828 2.85586493087 + pair_coeff @atom:n9 @atom:n9 lj/charmm/coul/long 0.0095 4.04468018036 + pair_coeff @atom:h1 @atom:h1 lj/charmm/coul/long 0.0208 2.42199725514 + pair_coeff @atom:h2 @atom:h2 lj/charmm/coul/long 0.0208 2.24381751151 + pair_coeff @atom:h3 @atom:h3 lj/charmm/coul/long 0.0208 2.06563776788 + pair_coeff @atom:hx @atom:hx lj/charmm/coul/long 0.0208 1.88745802425 + pair_coeff @atom:h4 @atom:h4 lj/charmm/coul/long 0.0161 2.53638865055 + pair_coeff @atom:h5 @atom:h5 lj/charmm/coul/long 0.0161 2.44729877873 + pair_coeff @atom:cx @atom:cx lj/charmm/coul/long 0.1078 3.39770953124 + pair_coeff @atom:cy @atom:cy lj/charmm/coul/long 0.1078 3.39770953124 + pair_coeff @atom:c @atom:c lj/charmm/coul/long 0.0988 3.31521230994 + pair_coeff @atom:cs @atom:cs lj/charmm/coul/long 0.0988 3.31521230994 + pair_coeff @atom:ca @atom:ca lj/charmm/coul/long 0.0988 3.31521230994 + pair_coeff @atom:cc @atom:cc lj/charmm/coul/long 0.0988 3.31521230994 + pair_coeff @atom:cd @atom:cd lj/charmm/coul/long 0.0988 3.31521230994 + pair_coeff @atom:ce @atom:ce lj/charmm/coul/long 0.0988 3.31521230994 + pair_coeff @atom:cf @atom:cf lj/charmm/coul/long 0.0988 3.31521230994 + pair_coeff @atom:cp @atom:cp lj/charmm/coul/long 0.0988 3.31521230994 + pair_coeff @atom:cq @atom:cq lj/charmm/coul/long 0.0988 3.31521230994 + pair_coeff @atom:cz @atom:cz lj/charmm/coul/long 0.0988 3.31521230994 + pair_coeff @atom:cg @atom:cg lj/charmm/coul/long 0.1596 3.47895949434 + pair_coeff @atom:ch @atom:ch lj/charmm/coul/long 0.1596 3.47895949434 + pair_coeff @atom:cu @atom:cu lj/charmm/coul/long 0.0988 3.31521230994 + pair_coeff @atom:cv @atom:cv lj/charmm/coul/long 0.0988 3.31521230994 + pair_coeff @atom:nb @atom:nb lj/charmm/coul/long 0.0941 3.38416787073 + pair_coeff @atom:nc @atom:nc lj/charmm/coul/long 0.0941 3.38416787073 + pair_coeff @atom:nd @atom:nd lj/charmm/coul/long 0.0941 3.38416787073 + pair_coeff @atom:ne @atom:ne lj/charmm/coul/long 0.0941 3.38416787073 + pair_coeff @atom:nf @atom:nf lj/charmm/coul/long 0.0941 3.38416787073 + pair_coeff @atom:no @atom:no lj/charmm/coul/long 0.0858 3.36510263816 + pair_coeff @atom:n7 @atom:n7 lj/charmm/coul/long 0.0522 3.50764643306 + pair_coeff @atom:n8 @atom:n8 lj/charmm/coul/long 0.0323 3.65019022796 + pair_coeff @atom:n4 @atom:n4 lj/charmm/coul/long 3.8748 2.49950544361 + pair_coeff @atom:nx @atom:nx lj/charmm/coul/long 2.5453 2.58859531543 + pair_coeff @atom:ny @atom:ny lj/charmm/coul/long 1.6959 2.67768518724 + pair_coeff @atom:nz @atom:nz lj/charmm/coul/long 1.1450 2.76677505906 + pair_coeff @atom:ns @atom:ns lj/charmm/coul/long 0.1174 3.26995465506 + pair_coeff @atom:nt @atom:nt lj/charmm/coul/long 0.0851 3.35904452688 + pair_coeff @atom:nu @atom:nu lj/charmm/coul/long 0.1545 3.27904182199 + pair_coeff @atom:nv @atom:nv lj/charmm/coul/long 0.1120 3.3681316938 + pair_coeff @atom:s2 @atom:s2 lj/charmm/coul/long 0.2824 3.53241341743 + pair_coeff @atom:s4 @atom:s4 lj/charmm/coul/long 0.2824 3.53241341743 + pair_coeff @atom:s6 @atom:s6 lj/charmm/coul/long 0.2824 3.53241341743 + pair_coeff @atom:sx @atom:sx lj/charmm/coul/long 0.2824 3.53241341743 + pair_coeff @atom:sy @atom:sy lj/charmm/coul/long 0.2824 3.53241341743 + pair_coeff @atom:sh @atom:sh lj/charmm/coul/long 0.2824 3.53241341743 + pair_coeff @atom:ss @atom:ss lj/charmm/coul/long 0.2824 3.53241341743 + pair_coeff @atom:p3 @atom:p3 lj/charmm/coul/long 0.2295 3.6940224449 + pair_coeff @atom:p4 @atom:p4 lj/charmm/coul/long 0.2295 3.6940224449 + pair_coeff @atom:p5 @atom:p5 lj/charmm/coul/long 0.2295 3.6940224449 + pair_coeff @atom:pb @atom:pb lj/charmm/coul/long 0.2295 3.6940224449 + pair_coeff @atom:px @atom:px lj/charmm/coul/long 0.2295 3.6940224449 + pair_coeff @atom:py @atom:py lj/charmm/coul/long 0.2295 3.6940224449 + pair_coeff @atom:pc @atom:pc lj/charmm/coul/long 0.2295 3.6940224449 + pair_coeff @atom:pd @atom:pd lj/charmm/coul/long 0.2295 3.6940224449 + pair_coeff @atom:pe @atom:pe lj/charmm/coul/long 0.2295 3.6940224449 + pair_coeff @atom:pf @atom:pf lj/charmm/coul/long 0.2295 3.6940224449 + } # (end of pair_coeffs) + + write_once("In Settings") { + bond_coeff @bond:ow-hw harmonic 612.98 0.957 # TIP3P_Water 1 + bond_coeff @bond:hw-hw harmonic 15.17 1.514 # TIP3P_Water 1 + bond_coeff @bond:br-br harmonic 81.01 2.542 # SOURCE1 4 + bond_coeff @bond:br-c1 harmonic 227.01 1.787 # SOURCE2 4 0.0024 + bond_coeff @bond:br-c2 harmonic 168.91 1.893 # SOURCE1_SOURCE5 25 0.0078 + bond_coeff @bond:br-c harmonic 146.48 1.946 # SOURCE2 2 0.0285 + bond_coeff @bond:br-c3 harmonic 134.73 1.978 # SOURCE1_SOURCE5 146 0.0118 + bond_coeff @bond:br-ca harmonic 162.15 1.908 # SOURCE1_SOURCE5 462 0.0052 + bond_coeff @bond:br-cc harmonic 172.53 1.885 # SOURCE4_SOURCE5 128 0.0078 + bond_coeff @bond:br-cx harmonic 154.63 1.926 # SOURCE1_SOURCE5 11 0.0019 + bond_coeff @bond:br-n1 harmonic 141.51 1.860 # SOUECE3 1 + bond_coeff @bond:br-n2 harmonic 88.47 2.038 # SOURCE3 5 0.1082 + bond_coeff @bond:br-n harmonic 136.53 1.873 # SOURCE3 4 0.0046 + bond_coeff @bond:br-n3 harmonic 110.41 1.952 # SOURCE3 2 + bond_coeff @bond:br-n4 harmonic 118.29 1.926 # SOURCE3 3 0.0013 + bond_coeff @bond:br-na harmonic 96.95 2.002 # SOURCE3 7 0.2156 + bond_coeff @bond:br-nh harmonic 112.77 1.944 # SOURCE3 1 + bond_coeff @bond:br-no harmonic 75.65 2.101 # SOURCE3 1 + bond_coeff @bond:br-o harmonic 193.58 1.800 # SOUECE3 1 + bond_coeff @bond:br-oh harmonic 160.87 1.866 # SOURCE3 1 + bond_coeff @bond:br-os harmonic 151.88 1.887 # SOURCE3 2 + bond_coeff @bond:br-p2 harmonic 133.12 2.210 # SOURCE3 9 0.0510 + bond_coeff @bond:br-p3 harmonic 126.80 2.231 # SOURCE3 3 0.0101 + bond_coeff @bond:br-p4 harmonic 145.88 2.171 # SOUECE3 1 + bond_coeff @bond:br-p5 harmonic 137.54 2.196 # SOURCE3 3 0.0099 + bond_coeff @bond:br-s harmonic 169.20 2.220 # SOUECE3 1 + bond_coeff @bond:br-s4 harmonic 128.80 2.341 # SOURCE3 1 + bond_coeff @bond:br-s6 harmonic 171.57 2.214 # SOURCE3 3 0.0443 + bond_coeff @bond:br-sh harmonic 173.58 2.209 # SOURCE3 1 + bond_coeff @bond:br-ss harmonic 176.02 2.203 # SOURCE3 3 0.0035 + bond_coeff @bond:c1-c1 harmonic 837.28 1.198 # SOURCE1_SOURCE5 659 0.0039 + bond_coeff @bond:c1-c2 harmonic 535.85 1.307 # SOURCE1 18 + bond_coeff @bond:c1-c3 harmonic 295.86 1.467 # SOURCE1_SOURCE5 795 0.0034 + bond_coeff @bond:c1-ca harmonic 325.62 1.440 # SOUECE3 1 + bond_coeff @bond:c1-ce harmonic 518.69 1.315 # SOURCE4 6 0.0086 + bond_coeff @bond:c1-cg harmonic 776.82 1.216 # SOURCE3_SOURCE5 179 0.0036 + bond_coeff @bond:c1-ch harmonic 765.43 1.219 # SOURCE3_SOURCE5 13 0.0016 + bond_coeff @bond:c1-cl harmonic 261.49 1.631 # SOURCE2 6 0.0050 + bond_coeff @bond:c1-cx harmonic 320.55 1.444 # SOURCE1_SOURCE5 24 0.0043 + bond_coeff @bond:c1-f harmonic 482.19 1.270 # SOURCE2 2 0.0085 + bond_coeff @bond:c1-ha harmonic 433.72 1.067 # SOURCE3_SOURCE5 343 0.0013 + bond_coeff @bond:c1-hc harmonic 448.21 1.060 # SOUECE3 1 + bond_coeff @bond:c1-i harmonic 153.51 1.989 # SOURCE2 4 0.0032 + bond_coeff @bond:c1-n1 harmonic 891.54 1.153 # SOURCE1_SOURCE5 481 0.0035 + bond_coeff @bond:c1-n2 harmonic 736.75 1.197 # SOURCE3_SOURCE5 36 0.0076 + bond_coeff @bond:c1-n3 harmonic 400.99 1.347 # SOURCE2_SOURCE5 10 0.0093 + bond_coeff @bond:c1-n4 harmonic 309.65 1.417 # SOURCE3 3 0.0032 + bond_coeff @bond:c1-n harmonic 428.86 1.330 # SOUECE3 1 + bond_coeff @bond:c1-na harmonic 379.52 1.362 # SOURCE3 8 0.0034 + bond_coeff @bond:c1-ne harmonic 720.51 1.202 # SOURCE4_SOURCE5 31 0.0124 + bond_coeff @bond:c1-nf harmonic 720.51 1.202 # SOURCE4_SOURCE5 21 0.0141 + bond_coeff @bond:c1-nh harmonic 409.04 1.342 # SOURCE4_SOURCE5 33 0.0061 + bond_coeff @bond:c1-no harmonic 323.48 1.405 # SOURCE3 3 0.0005 + bond_coeff @bond:c1-o harmonic 794.98 1.172 # SOURCE2_SOURCE5 31 0.0068 + bond_coeff @bond:c1-oh harmonic 422.21 1.326 # SOURCE3 1 + bond_coeff @bond:c1-os harmonic 435.38 1.318 # SOURCE3_SOURCE5 8 0.0079 + bond_coeff @bond:c1-p2 harmonic 215.98 1.770 # SOUECE3 1 + bond_coeff @bond:c1-p3 harmonic 203.86 1.790 # SOUECE3 1 + bond_coeff @bond:c1-p4 harmonic 203.86 1.790 # SOUECE3 1 + bond_coeff @bond:c1-p5 harmonic 226.96 1.753 # SOURCE3 2 + bond_coeff @bond:c1-s2 harmonic 380.51 1.595 # SOURCE3 1 + bond_coeff @bond:c1-s harmonic 370.61 1.603 # SOURCE1_SOURCE5 37 0.0043 + bond_coeff @bond:c1-s4 harmonic 239.03 1.746 # SOURCE3 2 + bond_coeff @bond:c1-s6 harmonic 256.65 1.722 # SOURCE3 2 + bond_coeff @bond:c1-sh harmonic 291.39 1.680 # SOUECE3 1 + bond_coeff @bond:c1-ss harmonic 282.80 1.690 # SOURCE1_SOURCE5 49 0.0113 + bond_coeff @bond:c2-c2 harmonic 481.83 1.334 # SOURCE1_SOURCE5 3727 0.0053 + bond_coeff @bond:c2-c3 harmonic 255.56 1.510 # SOURCE1_SOURCE5 10204 0.0042 + bond_coeff @bond:c2-ca harmonic 398.37 1.385 # SOUECE3_SOURCE5 9 0.0149 + bond_coeff @bond:c2-cc harmonic 437.98 1.359 # SOURCE1_SOURCE5 882 0.0181 + bond_coeff @bond:c2-cd harmonic 437.98 1.359 # SOURCE1_SOURCE5 882 0.0181 + bond_coeff @bond:c2-ce harmonic 460.51 1.346 # SOURCE3_SOURCE5 3239 0.0058 + bond_coeff @bond:c2-cf harmonic 460.51 1.346 # SOURCE3_SOURCE5 3177 0.0057 + bond_coeff @bond:c2-cl harmonic 192.70 1.731 # SOURCE1_SOURCE5 290 0.0098 + bond_coeff @bond:c2-cu harmonic 500.05 1.325 # SOURCE2_SOURCE5 11 0.0010 + bond_coeff @bond:c2-cx harmonic 278.37 1.485 # SOURCE4_SOURCE5 102 0.0061 + bond_coeff @bond:c2-cy harmonic 255.91 1.509 # SOURCE4_SOURCE5 30 0.0063 + bond_coeff @bond:c2-f harmonic 368.08 1.339 # SOURCE1_SOURCE5 35 0.0085 + bond_coeff @bond:c2-h4 harmonic 394.23 1.087 # SOURCE3_SOURCE5 517 0.0028 + bond_coeff @bond:c2-h5 harmonic 386.13 1.091 # SOURCE4_SOURCE5 116 0.0021 + bond_coeff @bond:c2-ha harmonic 392.18 1.088 # SOURCE3_SOURCE5 5991 0.0019 + bond_coeff @bond:c2-hc harmonic 393.86 1.087 # SOURCE3 789 0.0046 + bond_coeff @bond:c2-hx harmonic 401.39 1.083 # SOURCE3 3 0.0008 + bond_coeff @bond:c2-i harmonic 98.09 2.170 # SOURCE3_SOURCE5 7 0.0194 + bond_coeff @bond:c2-n1 harmonic 470.94 1.306 # SOURCE3 4 0.0161 + bond_coeff @bond:c2-n2 harmonic 518.67 1.282 # SOURCE1_SOURCE5 1004 0.0051 + bond_coeff @bond:c2-n3 harmonic 412.66 1.340 # SOUECE3 1 + bond_coeff @bond:c2-n harmonic 330.19 1.399 # SOURCE3_SOURCE5 174 0.0100 + bond_coeff @bond:c2-n4 harmonic 221.45 1.512 # SOURCE3_SOURCE5 21 0.0133 + bond_coeff @bond:c2-na harmonic 327.66 1.401 # SOURCE3_SOURCE5 65 0.0179 + bond_coeff @bond:c2-nc harmonic 458.17 1.313 # SOURCE1 99 0.0095 + bond_coeff @bond:c2-nd harmonic 458.17 1.313 # SOURCE1 99 + bond_coeff @bond:c2-ne harmonic 498.75 1.292 # SOURCE3_SOURCE5 310 0.0099 + bond_coeff @bond:c2-nf harmonic 498.75 1.292 # SOURCE3_SOURCE5 273 0.0098 + bond_coeff @bond:c2-nh harmonic 345.39 1.387 # SOURCE3_SOURCE5 1559 0.0120 + bond_coeff @bond:c2-no harmonic 276.95 1.448 # SOURCE4_SOURCE5 27 0.0139 + bond_coeff @bond:c2-o harmonic 635.23 1.225 # SOURCE4_SOURCE5 35 0.0033 + bond_coeff @bond:c2-oh harmonic 402.33 1.339 # SOURCE1_SOURCE5 85 0.0126 + bond_coeff @bond:c2-os harmonic 371.26 1.360 # SOURCE1_SOURCE5 548 0.0107 + bond_coeff @bond:c2-p2 harmonic 292.48 1.669 # SOURCE3_SOURCE5 87 0.0126 + bond_coeff @bond:c2-p3 harmonic 179.93 1.834 # SOURCE3 5 0.0042 + bond_coeff @bond:c2-p4 harmonic 186.11 1.822 # SOUECE3 1 + bond_coeff @bond:c2-p5 harmonic 166.18 1.863 # SOURCE4_SOURCE5 15 0.0083 + bond_coeff @bond:c2-pe harmonic 275.11 1.689 # SOURCE3_SOURCE5 60 0.0472 + bond_coeff @bond:c2-pf harmonic 275.11 1.689 # SOURCE3_SOURCE5 8 0.0019 + bond_coeff @bond:c2-s2 harmonic 362.64 1.610 # SOURCE2 1 + bond_coeff @bond:c2-s harmonic 247.65 1.734 # SOURCE3 4 0.0034 + bond_coeff @bond:c2-s4 harmonic 229.42 1.760 # SOUECE3 1 + bond_coeff @bond:c2-s6 harmonic 229.42 1.760 # SOUECE3 1 + bond_coeff @bond:c2-sh harmonic 215.23 1.782 # SOURCE4_SOURCE5 13 0.0077 + bond_coeff @bond:c2-ss harmonic 246.19 1.736 # SOURCE1 209 0.0155 + bond_coeff @bond:c3-c3 harmonic 232.52 1.538 # SOURCE1_SOURCE5 88072 0.0058 + bond_coeff @bond:c3-ca harmonic 250.32 1.516 # SOURCE1_SOURCE5 10699 0.0054 + bond_coeff @bond:c3-cc harmonic 262.64 1.502 # SOURCE3_SOURCE5 3926 0.0049 + bond_coeff @bond:c3-cd harmonic 262.64 1.502 # SOURCE3_SOURCE5 3926 0.0049 + bond_coeff @bond:c3-ce harmonic 250.06 1.516 # SOURCE3_SOURCE5 1210 0.0060 + bond_coeff @bond:c3-cf harmonic 250.23 1.516 # SOURCE3_SOURCE5 345 0.0071 + bond_coeff @bond:c3-cl harmonic 155.52 1.804 # SOURCE1_SOURCE5 1173 0.0119 + bond_coeff @bond:c3-cu harmonic 284.82 1.478 # SOURCE1 7 + bond_coeff @bond:c3-cv harmonic 274.17 1.489 # SOURCE1 11 + bond_coeff @bond:c3-cx harmonic 247.95 1.518 # SOURCE1_SOURCE5 1561 0.0054 + bond_coeff @bond:c3-cy harmonic 236.93 1.532 # SOURCE1_SOURCE5 522 0.0055 + bond_coeff @bond:c3-f harmonic 352.65 1.350 # SOURCE1_SOURCE5 2188 0.0139 + bond_coeff @bond:c3-h1 harmonic 375.92 1.097 # SOURCE3_SOURCE5 112144 0.0055 + bond_coeff @bond:c3-h2 harmonic 377.33 1.096 # SOURCE3_SOURCE5 2681 0.0032 + bond_coeff @bond:c3-h3 harmonic 379.47 1.095 # SOURCE4_SOURCE5 64 0.0028 + bond_coeff @bond:c3-hc harmonic 375.92 1.097 # SOURCE3_SOURCE5 133628 0.0015 + bond_coeff @bond:c3-hx harmonic 386.49 1.091 # SOURCE3_SOURCE5 6495 0.0022 + bond_coeff @bond:c3-i harmonic 88.97 2.212 # SOURCE1_SOURCE5 35 0.0128 + bond_coeff @bond:c3-n1 harmonic 292.28 1.433 # SOURCE3_SOURCE5 7 0.0033 + bond_coeff @bond:c3-n2 harmonic 259.91 1.466 # SOURCE1_SOURCE5 816 0.0087 + bond_coeff @bond:c3-n harmonic 263.77 1.462 # SOURCE1_SOURCE5 4576 0.0061 + bond_coeff @bond:c3-n3 harmonic 261.19 1.465 # SOURCE1_SOURCE5 15206 0.0039 + bond_coeff @bond:c3-n4 harmonic 222.58 1.511 # SOURCE1_SOURCE5 2375 0.0125 + bond_coeff @bond:c3-na harmonic 262.85 1.463 # SOURCE3_SOURCE5 1732 0.0077 + bond_coeff @bond:c3-nc harmonic 269.31 1.456 # SOURCE3 9 0.0109 + bond_coeff @bond:c3-nd harmonic 269.31 1.456 # SOURCE3 9 + bond_coeff @bond:c3-nh harmonic 261.84 1.464 # SOURCE3_SOURCE5 3492 0.0064 + bond_coeff @bond:c3-no harmonic 206.37 1.533 # SOURCE1_SOURCE5 150 0.0187 + bond_coeff @bond:c3-o harmonic 438.11 1.317 # SOURCE4 8 0.0193 + bond_coeff @bond:c3-oh harmonic 293.40 1.423 # SOURCE1_SOURCE5 8884 0.0067 + bond_coeff @bond:c3-os harmonic 284.76 1.432 # SOURCE1_SOURCE5 17971 0.0103 + bond_coeff @bond:c3-p2 harmonic 169.71 1.855 # SOURCE3 9 0.0125 + bond_coeff @bond:c3-p3 harmonic 168.21 1.858 # SOURCE3_SOURCE5 221 0.0094 + bond_coeff @bond:c3-p4 harmonic 177.58 1.839 # SOURCE3_SOURCE5 45 0.0106 + bond_coeff @bond:c3-p5 harmonic 177.19 1.839 # SOURCE1_SOURCE5 408 0.0183 + bond_coeff @bond:c3-px harmonic 182.68 1.829 # SOURCE3_SOURCE5 35 0.0083 + bond_coeff @bond:c3-py harmonic 177.09 1.840 # SOURCE3_SOURCE5 39 0.0126 + bond_coeff @bond:c3-s harmonic 180.03 1.845 # SOURCE3 4 0.0185 + bond_coeff @bond:c3-s4 harmonic 187.48 1.831 # SOURCE1_SOURCE5 326 0.0096 + bond_coeff @bond:c3-s6 harmonic 200.07 1.808 # SOURCE1_SOURCE5 644 0.0143 + bond_coeff @bond:c3-sh harmonic 180.78 1.843 # SOURCE3_SOURCE5 189 0.0058 + bond_coeff @bond:c3-ss harmonic 182.96 1.839 # SOURCE1_SOURCE5 2732 0.0105 + bond_coeff @bond:c3-sx harmonic 181.64 1.842 # SOURCE3_SOURCE5 99 0.0121 + bond_coeff @bond:c3-sy harmonic 199.39 1.809 # SOURCE3_SOURCE5 162 0.0094 + bond_coeff @bond:ca-ca harmonic 378.57 1.398 # SOURCE1_SOURCE5 121206 0.0061 + bond_coeff @bond:ca-cc harmonic 308.19 1.456 # SOURCE1_SOURCE5 2424 0.0121 + bond_coeff @bond:ca-cd harmonic 308.19 1.456 # SOURCE1_SOURCE5 2424 0.0121 + bond_coeff @bond:ca-ce harmonic 286.51 1.476 # SOURCE1_SOURCE5 1750 0.0089 + bond_coeff @bond:ca-cf harmonic 286.51 1.476 # SOURCE1_SOURCE5 1750 0.0089 + bond_coeff @bond:ca-cg harmonic 334.12 1.433 # SOURCE1_SOURCE5 318 0.0029 + bond_coeff @bond:ca-ch harmonic 334.12 1.433 # SOURCE1_SOURCE5 318 0.0029 + bond_coeff @bond:ca-cl harmonic 181.97 1.750 # SOURCE1_SOURCE5 2919 0.0059 + bond_coeff @bond:ca-cp harmonic 368.44 1.406 # CORR_SOURCE5 2042 0.0049 + bond_coeff @bond:ca-cq harmonic 368.44 1.406 # CORR_SOURCE5 2042 0.0049 + bond_coeff @bond:ca-cx harmonic 273.13 1.490 # SOURCE1_SOURCE5 165 0.0091 + bond_coeff @bond:ca-cy harmonic 250.49 1.515 # SOURCE4_SOURCE5 35 0.0055 + bond_coeff @bond:ca-f harmonic 353.59 1.349 # SOURCE1_SOURCE5 1239 0.0057 + bond_coeff @bond:ca-h4 harmonic 390.15 1.089 # SOURCE3_SOURCE5 2643 0.0010 + bond_coeff @bond:ca-h5 harmonic 392.37 1.088 # SOURCE3_SOURCE5 299 0.0007 + bond_coeff @bond:ca-ha harmonic 395.72 1.086 # SOURCE3_SOURCE5 65456 0.0010 + bond_coeff @bond:ca-i harmonic 108.27 2.129 # SOURCE1_SOURCE5 61 0.0076 + bond_coeff @bond:ca-n1 harmonic 420.66 1.335 # SOURCE3_SOURCE5 6 0.0078 + bond_coeff @bond:ca-n2 harmonic 476.53 1.303 # SOURCE4 7 0.0058 + bond_coeff @bond:ca-n harmonic 315.21 1.412 # SOURCE3_SOURCE5 1254 0.0090 + bond_coeff @bond:ca-n4 harmonic 244.03 1.484 # SOURCE1_SOURCE5 28 0.0065 + bond_coeff @bond:ca-na harmonic 349.52 1.384 # SOURCE1_SOURCE5 2751 0.0095 + bond_coeff @bond:ca-nb harmonic 414.24 1.339 # SOURCE3_SOURCE5 6806 0.0055 + bond_coeff @bond:ca-nc harmonic 394.62 1.352 # SOURCE1_SOURCE5 2672 0.0030 + bond_coeff @bond:ca-nd harmonic 394.62 1.352 # SOURCE1_SOURCE5 2672 0.0030 + bond_coeff @bond:ca-ne harmonic 320.07 1.408 # SOURCE1_SOURCE5 276 0.0093 + bond_coeff @bond:ca-nf harmonic 320.07 1.408 # SOURCE1_SOURCE5 276 0.0093 + bond_coeff @bond:ca-nh harmonic 347.06 1.386 # SOURCE1_SOURCE5 2785 0.0134 + bond_coeff @bond:ca-no harmonic 257.38 1.469 # SOURCE1_SOURCE5 454 0.0049 + bond_coeff @bond:ca-o harmonic 606.45 1.236 # SOURCE4_SOURCE5 17 0.0088 + bond_coeff @bond:ca-oh harmonic 365.55 1.364 # SOURCE1_SOURCE5 3637 0.0062 + bond_coeff @bond:ca-os harmonic 357.53 1.370 # SOURCE1_SOURCE5 6900 0.0064 + bond_coeff @bond:ca-p2 harmonic 176.94 1.840 # SOUECE3 1 + bond_coeff @bond:ca-p3 harmonic 184.18 1.826 # SOURCE1_SOURCE5 156 0.0180 + bond_coeff @bond:ca-p4 harmonic 194.74 1.806 # SOUECE3 1 + bond_coeff @bond:ca-p5 harmonic 200.84 1.795 # SOURCE1_SOURCE5 577 0.0028 + bond_coeff @bond:ca-pe harmonic 182.48 1.829 # SOURCE3 10 0.0042 + bond_coeff @bond:ca-pf harmonic 182.48 1.829 # SOURCE3 10 0.0042 + bond_coeff @bond:ca-px harmonic 184.54 1.825 # SOURCE3 5 0.0168 + bond_coeff @bond:ca-py harmonic 189.18 1.816 # SOURCE4_SOURCE5 34 0.0098 + bond_coeff @bond:ca-s harmonic 244.02 1.739 # SOURCE3 2 + bond_coeff @bond:ca-s4 harmonic 211.54 1.788 # SOURCE1 51 0.0048 + bond_coeff @bond:ca-s6 harmonic 224.85 1.767 # SOURCE1_SOURCE5 258 0.0041 + bond_coeff @bond:ca-sh harmonic 215.91 1.781 # SOURCE4_SOURCE5 40 0.0053 + bond_coeff @bond:ca-ss harmonic 216.10 1.781 # SOURCE1_SOURCE5 1016 0.0068 + bond_coeff @bond:ca-sx harmonic 190.35 1.825 # SOURCE4_SOURCE5 90 0.0050 + bond_coeff @bond:ca-sy harmonic 209.78 1.791 # SOURCE3_SOURCE5 703 0.0076 + bond_coeff @bond:c-c1 harmonic 303.33 1.460 # SOUECE3 1 + bond_coeff @bond:c-c2 harmonic 368.17 1.406 # SOURCE3 2 0.0370 + bond_coeff @bond:c-c harmonic 224.38 1.548 # SOURCE1_SOURCE5 254 0.0090 + bond_coeff @bond:c-c3 harmonic 243.22 1.524 # SOURCE1_SOURCE5 12697 0.0077 + bond_coeff @bond:c-ca harmonic 272.66 1.491 # SOURCE1_SOURCE5 4357 0.0085 + bond_coeff @bond:c-cc harmonic 295.35 1.468 # SOURCE3_SOURCE5 1864 0.0130 + bond_coeff @bond:cc-cc harmonic 340.18 1.428 # SOURCE1_SOURCE5 4559 0.0096 + bond_coeff @bond:cc-cd harmonic 416.13 1.373 # SOURCE3_SOURCE5 8451 0.0091 + bond_coeff @bond:cc-ce harmonic 309.82 1.454 # CORR_SOURCE5 396 0.0089 + bond_coeff @bond:cc-cf harmonic 427.69 1.366 # CORR_SOURCE5 156 0.0107 + bond_coeff @bond:cc-cg harmonic 342.76 1.426 # SOURCE1_SOURCE5 109 0.0049 + bond_coeff @bond:cc-ch harmonic 341.16 1.427 # SOURCE1 560 + bond_coeff @bond:cc-cl harmonic 190.08 1.735 # CORR_SOURCE5 137 0.0076 + bond_coeff @bond:cc-cx harmonic 290.53 1.472 # CORR_SOURCE5 37 0.0035 + bond_coeff @bond:c-cd harmonic 295.35 1.468 # SOURCE3_SOURCE5 1864 0.0130 + bond_coeff @bond:c-ce harmonic 280.40 1.482 # SOURCE1_SOURCE5 3022 0.0115 + bond_coeff @bond:c-cf harmonic 280.40 1.482 # SOURCE1_SOURCE5 3022 0.0115 + bond_coeff @bond:cc-f harmonic 364.99 1.341 # SOURCE4_SOURCE5 70 0.0039 + bond_coeff @bond:c-cg harmonic 312.91 1.451 # SOURCE3_SOURCE5 11 0.0089 + bond_coeff @bond:c-ch harmonic 312.91 1.451 # SOURCE3_SOURCE5 11 0.0089 + bond_coeff @bond:cc-h4 harmonic 403.88 1.082 # SOURCE3_SOURCE5 4457 0.0016 + bond_coeff @bond:cc-h5 harmonic 403.49 1.082 # SOURCE3_SOURCE5 879 0.0012 + bond_coeff @bond:cc-ha harmonic 400.06 1.084 # SOURCE3_SOURCE5 4706 0.0018 + bond_coeff @bond:c-cl harmonic 156.23 1.803 # SOURCE3_SOURCE5 16 0.0187 + bond_coeff @bond:cc-n2 harmonic 500.74 1.290 # CORR_SOURCE5 156 0.0074 + bond_coeff @bond:cc-n harmonic 353.83 1.381 # SOURCE3_SOURCE5 1142 0.0085 + bond_coeff @bond:cc-n4 harmonic 236.72 1.493 # SOURCE4 7 0.0148 + bond_coeff @bond:cc-na harmonic 354.49 1.380 # SOURCE3_SOURCE5 6739 0.0088 + bond_coeff @bond:cc-nc harmonic 369.10 1.369 # SOURCE1_SOURCE5 2269 0.0086 + bond_coeff @bond:cc-nd harmonic 450.71 1.317 # SOURCE3_SOURCE5 4612 0.0083 + bond_coeff @bond:cc-ne harmonic 356.61 1.379 # SOURCE4_SOURCE5 82 0.0119 + bond_coeff @bond:cc-nf harmonic 485.08 1.298 # CORR_SOURCE5 41 0.0113 + bond_coeff @bond:cc-nh harmonic 363.47 1.373 # SOURCE3_SOURCE5 976 0.0106 + bond_coeff @bond:cc-no harmonic 296.62 1.429 # SOURCE4_SOURCE5 386 0.0074 + bond_coeff @bond:cc-oh harmonic 389.45 1.347 # CORR_SOURCE5 248 0.0073 + bond_coeff @bond:cc-os harmonic 367.90 1.362 # SOURCE3_SOURCE5 1859 0.0083 + bond_coeff @bond:cc-pd harmonic 240.75 1.733 # SOURCE3 84 0.0161 + bond_coeff @bond:cc-sh harmonic 223.28 1.769 # SOURCE4_SOURCE5 22 0.0030 + bond_coeff @bond:cc-ss harmonic 231.98 1.756 # SOURCE3_SOURCE5 2011 0.0134 + bond_coeff @bond:cc-sx harmonic 198.26 1.811 # SOURCE4_SOURCE5 44 0.0033 + bond_coeff @bond:cc-sy harmonic 214.05 1.784 # CORR_SOURCE5 73 0.0082 + bond_coeff @bond:c-cu harmonic 360.20 1.412 # SOURCE2 1 + bond_coeff @bond:c-cx harmonic 265.90 1.498 # SOURCE1_SOURCE5 246 0.0109 + bond_coeff @bond:c-cy harmonic 222.38 1.551 # SOURCE1_SOURCE5 374 0.0059 + bond_coeff @bond:cd-cd harmonic 340.18 1.428 # SOURCE1_SOURCE5 4559 0.0096 + bond_coeff @bond:cd-ce harmonic 427.69 1.366 # CORR_SOURCE5 156 0.0107 + bond_coeff @bond:cd-cf harmonic 309.82 1.454 # CORR_SOURCE5 396 0.0089 + bond_coeff @bond:cd-cg harmonic 341.16 1.427 # SOURCE1 560 + bond_coeff @bond:cd-ch harmonic 342.76 1.426 # SOURCE1_SOURCE5 109 0.0049 + bond_coeff @bond:cd-cl harmonic 190.08 1.735 # CORR_SOURCE5 137 0.0076 + bond_coeff @bond:cd-cx harmonic 290.53 1.472 # CORR_SOURCE5 37 0.0035 + bond_coeff @bond:cd-cy harmonic 259.34 1.505 # SOURCE4_SOURCE5 21 0.0007 + bond_coeff @bond:cd-h4 harmonic 403.88 1.082 # SOURCE3_SOURCE5 4457 0.0016 + bond_coeff @bond:cd-h5 harmonic 403.68 1.082 # SOURCE3_SOURCE5 578 0.0013 + bond_coeff @bond:cd-ha harmonic 400.06 1.084 # SOURCE3_SOURCE5 4706 0.0018 + bond_coeff @bond:cd-n2 harmonic 500.74 1.290 # CORR_SOURCE5 156 0.0074 + bond_coeff @bond:cd-n harmonic 353.83 1.381 # SOURCE3_SOURCE5 1142 0.0085 + bond_coeff @bond:cd-na harmonic 354.49 1.380 # SOURCE3_SOURCE5 6739 0.0088 + bond_coeff @bond:cd-nc harmonic 450.71 1.317 # SOURCE3_SOURCE5 4612 0.0083 + bond_coeff @bond:cd-nd harmonic 369.10 1.369 # SOURCE1_SOURCE5 2269 0.0086 + bond_coeff @bond:cd-ne harmonic 485.08 1.298 # CORR_SOURCE5 41 0.0113 + bond_coeff @bond:cd-nh harmonic 363.47 1.373 # SOURCE3_SOURCE5 976 0.0106 + bond_coeff @bond:cd-oh harmonic 389.45 1.347 # CORR_SOURCE5 248 0.0073 + bond_coeff @bond:cd-os harmonic 367.90 1.362 # SOURCE3_SOURCE5 1859 0.0083 + bond_coeff @bond:cd-pc harmonic 240.75 1.733 # SOURCE3 84 + bond_coeff @bond:cd-ss harmonic 231.98 1.756 # SOURCE3_SOURCE5 2011 0.0134 + bond_coeff @bond:cd-sy harmonic 214.05 1.784 # CORR_SOURCE5 73 0.0082 + bond_coeff @bond:ce-ce harmonic 306.13 1.457 # SOURCE1_SOURCE5 1000 0.0092 + bond_coeff @bond:ce-cf harmonic 452.16 1.351 # SOURCE1_SOURCE5 1908 0.0059 + bond_coeff @bond:ce-cg harmonic 341.16 1.427 # SOURCE1_SOURCE5 238 0.0053 + bond_coeff @bond:ce-ch harmonic 336.29 1.431 # SOURCE1 22 + bond_coeff @bond:ce-cl harmonic 174.72 1.764 # SOURCE4_SOURCE5 90 0.0111 + bond_coeff @bond:ce-cx harmonic 261.83 1.502 # SOURCE4_SOURCE5 31 0.0075 + bond_coeff @bond:ce-cy harmonic 250.06 1.516 # SOURCE4_SOURCE5 53 0.0043 + bond_coeff @bond:ce-h4 harmonic 385.40 1.092 # CORR_SOURCE5 315 0.0033 + bond_coeff @bond:ce-ha harmonic 391.44 1.088 # SOURCE3_SOURCE5 2751 0.0014 + bond_coeff @bond:ce-n1 harmonic 461.59 1.311 # CORR_SOURCE5 16 0.0049 + bond_coeff @bond:ce-n2 harmonic 506.97 1.287 # SOURCE1_SOURCE5 896 0.0038 + bond_coeff @bond:ce-n harmonic 301.69 1.424 # CORR_SOURCE5 209 0.0059 + bond_coeff @bond:ce-na harmonic 305.30 1.421 # SOURCE4_SOURCE5 11 0.0050 + bond_coeff @bond:ce-ne harmonic 336.57 1.394 # SOURCE3_SOURCE5 69 0.0151 + bond_coeff @bond:ce-nf harmonic 489.14 1.296 # CORR_SOURCE5 101 0.0097 + bond_coeff @bond:ce-nh harmonic 341.71 1.390 # CORR_SOURCE5 300 0.0133 + bond_coeff @bond:ce-oh harmonic 384.73 1.350 # CORR_SOURCE5 58 0.0102 + bond_coeff @bond:ce-os harmonic 355.66 1.371 # CORR_SOURCE5 96 0.0128 + bond_coeff @bond:ce-p2 harmonic 190.37 1.814 # SOUECE3 1 + bond_coeff @bond:ce-pe harmonic 188.22 1.818 # SOURCE3 8 0.0108 + bond_coeff @bond:ce-px harmonic 186.64 1.821 # SOURCE3 6 0.0046 + bond_coeff @bond:ce-py harmonic 194.96 1.806 # SOURCE3_SOURCE5 22 0.0142 + bond_coeff @bond:ce-s harmonic 291.39 1.680 # SOUECE3 1 + bond_coeff @bond:ce-ss harmonic 215.60 1.781 # SOURCE4_SOURCE5 56 0.0098 + bond_coeff @bond:ce-sx harmonic 193.92 1.819 # SOURCE3_SOURCE5 30 0.0101 + bond_coeff @bond:ce-sy harmonic 211.48 1.788 # SOURCE3_SOURCE5 41 0.0169 + bond_coeff @bond:c-f harmonic 387.77 1.325 # SOURCE2 6 0.0147 + bond_coeff @bond:cf-cf harmonic 306.13 1.457 # SOURCE1_SOURCE5 1000 0.0092 + bond_coeff @bond:cf-cg harmonic 336.29 1.431 # SOURCE1 22 + bond_coeff @bond:cf-ch harmonic 341.16 1.427 # SOURCE1_SOURCE5 238 0.0053 + bond_coeff @bond:cf-h4 harmonic 385.40 1.092 # CORR_SOURCE5 315 0.0033 + bond_coeff @bond:cf-ha harmonic 391.44 1.088 # SOURCE3_SOURCE5 2751 0.0014 + bond_coeff @bond:cf-n1 harmonic 461.59 1.311 # CORR_SOURCE5 16 0.0049 + bond_coeff @bond:cf-n2 harmonic 506.97 1.287 # SOURCE1_SOURCE5 896 0.0038 + bond_coeff @bond:cf-n harmonic 301.69 1.424 # CORR_SOURCE5 209 0.0059 + bond_coeff @bond:cf-ne harmonic 489.14 1.296 # CORR_SOURCE5 101 0.0097 + bond_coeff @bond:cf-nf harmonic 336.57 1.394 # SOURCE3_SOURCE5 62 0.0156 + bond_coeff @bond:cf-nh harmonic 341.71 1.390 # CORR_SOURCE5 300 0.0133 + bond_coeff @bond:cf-oh harmonic 384.73 1.350 # CORR_SOURCE5 58 0.0102 + bond_coeff @bond:cf-os harmonic 355.66 1.371 # CORR_SOURCE5 96 0.0128 + bond_coeff @bond:cf-p2 harmonic 190.37 1.814 # SOUECE3 1 + bond_coeff @bond:cf-pf harmonic 188.22 1.818 # SOURCE3 8 + bond_coeff @bond:cf-px harmonic 186.64 1.821 # SOURCE3 6 + bond_coeff @bond:cf-py harmonic 194.96 1.806 # SOURCE3_SOURCE5 17 0.0171 + bond_coeff @bond:cf-s harmonic 291.39 1.680 # SOUECE3 1 + bond_coeff @bond:cf-sx harmonic 193.92 1.819 # SOURCE3_SOURCE5 25 0.0105 + bond_coeff @bond:cf-sy harmonic 211.48 1.788 # SOURCE3_SOURCE5 36 0.0177 + bond_coeff @bond:cg-cg harmonic 421.79 1.369 # SOURCE1_SOURCE5 62 0.0025 + bond_coeff @bond:cg-ch harmonic 811.54 1.206 # SOURCE1_SOURCE5 156 0.0023 + bond_coeff @bond:cg-n1 harmonic 879.32 1.157 # SOURCE1_SOURCE5 879 0.0015 + bond_coeff @bond:cg-ne harmonic 435.38 1.326 # SOURCE4_SOURCE5 68 0.0013 + bond_coeff @bond:cg-pe harmonic 339.39 1.621 # SOURCE3 11 0.2008 + bond_coeff @bond:c-h4 harmonic 350.25 1.112 # SOURCE4_SOURCE5 506 0.0025 + bond_coeff @bond:c-h5 harmonic 361.80 1.105 # SOURCE4_SOURCE5 163 0.0038 + bond_coeff @bond:c-ha harmonic 368.78 1.101 # SOURCE3 53 0.0102 + bond_coeff @bond:ch-ch harmonic 421.79 1.369 # SOURCE1_SOURCE5 62 0.0025 + bond_coeff @bond:ch-n1 harmonic 879.32 1.157 # SOURCE1_SOURCE5 879 0.0015 + bond_coeff @bond:ch-nf harmonic 435.38 1.326 # SOURCE4_SOURCE5 51 0.0014 + bond_coeff @bond:ch-pf harmonic 339.39 1.621 # SOURCE3 11 + bond_coeff @bond:c-i harmonic 89.53 2.209 # SOURCE3 4 0.0365 + bond_coeff @bond:cl-cl harmonic 79.29 2.267 # SOURCE1 2 0.0395 + bond_coeff @bond:cl-cx harmonic 172.69 1.768 # SOURCE1_SOURCE5 42 0.0071 + bond_coeff @bond:cl-cy harmonic 161.13 1.792 # SOURCE2_SOURCE5 28 0.0103 + bond_coeff @bond:cl-n1 harmonic 217.59 1.630 # SOUECE3 1 + bond_coeff @bond:cl-n2 harmonic 123.81 1.819 # SOURCE3 6 0.1020 + bond_coeff @bond:cl-n3 harmonic 139.52 1.777 # SOURCE4_SOURCE5 16 0.0044 + bond_coeff @bond:cl-n harmonic 167.01 1.716 # SOURCE4_SOURCE5 17 0.0049 + bond_coeff @bond:cl-n4 harmonic 149.71 1.753 # SOURCE3 4 0.0098 + bond_coeff @bond:cl-na harmonic 118.36 1.835 # SOURCE3 7 0.2083 + bond_coeff @bond:cl-nh harmonic 145.39 1.763 # SOURCE3 1 + bond_coeff @bond:cl-no harmonic 116.71 1.840 # SOURCE2 1 + bond_coeff @bond:cl-o harmonic 331.00 1.483 # SOURCE3 4 + bond_coeff @bond:cl-oh harmonic 169.11 1.690 # SOURCE2 1 + bond_coeff @bond:cl-os harmonic 149.95 1.730 # SOURCE3 4 + bond_coeff @bond:cl-p2 harmonic 143.51 2.070 # SOURCE3 6 0.0108 + bond_coeff @bond:cl-p3 harmonic 167.79 2.008 # SOURCE1 111 + bond_coeff @bond:cl-p4 harmonic 167.79 2.008 # SOURCE1 111 + bond_coeff @bond:cl-p5 harmonic 167.79 2.008 # SOURCE1 111 + bond_coeff @bond:cl-pb harmonic 172.59 1.997 # SOURCE1 46 + bond_coeff @bond:cl-s harmonic 230.41 2.072 # SOURCE1 6 + bond_coeff @bond:cl-s2 harmonic 185.62 2.161 # SOURCE2 1 + bond_coeff @bond:cl-s4 harmonic 230.41 2.072 # SOURCE1 6 + bond_coeff @bond:cl-s6 harmonic 230.41 2.072 # SOURCE1 6 + bond_coeff @bond:cl-sh harmonic 230.41 2.072 # SOURCE1 6 + bond_coeff @bond:cl-ss harmonic 230.41 2.072 # SOURCE1 6 + bond_coeff @bond:cl-sx harmonic 230.41 2.072 # SOURCE1 6 + bond_coeff @bond:cl-sy harmonic 230.41 2.072 # SOURCE1 6 + bond_coeff @bond:c-n2 harmonic 306.30 1.420 # SOUECE3 1 + bond_coeff @bond:c-n4 harmonic 197.87 1.546 # SOURCE3 4 0.0388 + bond_coeff @bond:c-n harmonic 356.21 1.379 # SOURCE1_SOURCE5 9463 0.0137 + bond_coeff @bond:c-nc harmonic 346.03 1.387 # CORR_SOURCE5 179 0.0121 + bond_coeff @bond:c-nd harmonic 346.03 1.387 # CORR_SOURCE5 179 0.0121 + bond_coeff @bond:c-ne harmonic 340.70 1.391 # CORR_SOURCE5 87 0.0140 + bond_coeff @bond:c-nf harmonic 340.70 1.391 # CORR_SOURCE5 87 0.0140 + bond_coeff @bond:c-no harmonic 201.86 1.540 # SOUECE3 1 + bond_coeff @bond:c-o harmonic 652.57 1.218 # SOURCE1_SOURCE5 27083 0.0110 + bond_coeff @bond:c-oh harmonic 383.13 1.351 # SOURCE1_SOURCE5 3610 0.0055 + bond_coeff @bond:c-os harmonic 372.94 1.358 # SOURCE1_SOURCE5 5555 0.0163 + bond_coeff @bond:c-p2 harmonic 150.04 1.900 # SOUECE3 1 + bond_coeff @bond:c-p3 harmonic 157.13 1.883 # SOURCE3 6 0.0129 + bond_coeff @bond:c-p4 harmonic 158.42 1.880 # SOUECE3 1 + bond_coeff @bond:c-p5 harmonic 157.64 1.882 # SOURCE4_SOURCE5 25 0.0081 + bond_coeff @bond:cp-cp harmonic 277.60 1.485 # SOURCE1_SOURCE5 728 0.0059 + bond_coeff @bond:cp-cq harmonic 309.60 1.454 # SOURCE4_SOURCE5 34 0.0159 + bond_coeff @bond:c-pe harmonic 145.65 1.911 # SOURCE3 3 0.0025 + bond_coeff @bond:c-pf harmonic 145.65 1.911 # SOURCE3 3 + bond_coeff @bond:cp-na harmonic 349.52 1.384 # SOURCE4 7 0.0181 + bond_coeff @bond:cp-nb harmonic 414.72 1.339 # SOURCE4_SOURCE5 190 0.0068 + bond_coeff @bond:c-px harmonic 148.42 1.904 # SOURCE3 1 + bond_coeff @bond:c-py harmonic 164.17 1.867 # SOURCE3_SOURCE5 17 0.0103 + bond_coeff @bond:cq-cq harmonic 277.60 1.485 # SOURCE1_SOURCE5 728 0.0059 + bond_coeff @bond:c-s harmonic 298.35 1.672 # SOURCE1_SOURCE5 875 0.0114 + bond_coeff @bond:c-s4 harmonic 167.99 1.870 # SOUECE3 1 + bond_coeff @bond:c-s6 harmonic 167.99 1.870 # SOUECE3 1 + bond_coeff @bond:c-sh harmonic 206.09 1.797 # SOURCE3_SOURCE5 39 0.0097 + bond_coeff @bond:c-ss harmonic 204.39 1.800 # SOURCE1_SOURCE5 249 0.0157 + bond_coeff @bond:c-sx harmonic 161.23 1.885 # SOURCE3 5 0.0088 + bond_coeff @bond:c-sy harmonic 170.32 1.865 # SOURCE3 5 0.0085 + bond_coeff @bond:cu-cu harmonic 564.10 1.294 # SOURCE1 10 + bond_coeff @bond:cu-cx harmonic 277.70 1.485 # SOURCE1_SOURCE5 31 0.0066 + bond_coeff @bond:cu-ha harmonic 405.22 1.081 # SOURCE2 3 0.0111 + bond_coeff @bond:cv-cv harmonic 480.53 1.335 # SOURCE1 25 + bond_coeff @bond:cv-cy harmonic 250.66 1.515 # SOURCE1_SOURCE5 19 0.0057 + bond_coeff @bond:cv-ha harmonic 393.86 1.087 # SOURCE3 2 + bond_coeff @bond:cx-cv harmonic 256.87 1.508 # SOURCE1 2536 + bond_coeff @bond:cx-cx harmonic 260.31 1.504 # SOURCE1_SOURCE5 2781 0.0136 + bond_coeff @bond:cx-cy harmonic 250.83 1.515 # SOURCE3 2 + bond_coeff @bond:cx-f harmonic 339.01 1.360 # SOURCE2_SOURCE5 10 0.0045 + bond_coeff @bond:cx-h1 harmonic 390.15 1.089 # SOURCE3_SOURCE5 1142 0.0013 + bond_coeff @bond:cx-h2 harmonic 395.91 1.086 # SOURCE3_SOURCE5 5 0.0014 + bond_coeff @bond:cx-hc harmonic 393.86 1.087 # SOURCE3_SOURCE5 1702 0.0009 + bond_coeff @bond:cx-hx harmonic 397.60 1.085 # SOURCE4_SOURCE5 19 0.0002 + bond_coeff @bond:cx-n2 harmonic 245.89 1.482 # SOURCE3 2 + bond_coeff @bond:cx-n3 harmonic 256.30 1.470 # SOURCE1_SOURCE5 227 0.0050 + bond_coeff @bond:cx-n harmonic 283.33 1.442 # SOURCE4_SOURCE5 39 0.0103 + bond_coeff @bond:cx-na harmonic 264.52 1.461 # SOURCE4_SOURCE5 49 0.0026 + bond_coeff @bond:cx-nh harmonic 270.65 1.455 # SOURCE4_SOURCE5 192 0.0076 + bond_coeff @bond:cx-oh harmonic 369.30 1.361 # SOURCE3 3 0.0018 + bond_coeff @bond:cx-os harmonic 279.50 1.437 # SOURCE3_SOURCE5 703 0.0071 + bond_coeff @bond:cx-p3 harmonic 164.17 1.867 # SOURCE2 1 + bond_coeff @bond:cx-s4 harmonic 192.02 1.822 # SOURCE2 1 + bond_coeff @bond:cx-s6 harmonic 249.87 1.731 # SOURCE2 1 + bond_coeff @bond:cx-ss harmonic 186.43 1.833 # SOURCE2_SOURCE5 5 0.0011 + bond_coeff @bond:cy-cy harmonic 218.51 1.556 # SOURCE1_SOURCE5 1665 0.0053 + bond_coeff @bond:cy-f harmonic 344.83 1.356 # SOURCE4_SOURCE5 36 0.0095 + bond_coeff @bond:cy-h1 harmonic 379.11 1.095 # SOURCE3_SOURCE5 477 0.0019 + bond_coeff @bond:cy-h2 harmonic 382.87 1.093 # SOURCE4_SOURCE5 210 0.0017 + bond_coeff @bond:cy-hc harmonic 379.47 1.095 # SOURCE3_SOURCE5 840 0.0011 + bond_coeff @bond:cy-n harmonic 256.66 1.470 # SOURCE4_SOURCE5 618 0.0101 + bond_coeff @bond:cy-n3 harmonic 248.73 1.479 # SOURCE1_SOURCE5 67 0.0083 + bond_coeff @bond:cy-oh harmonic 305.23 1.412 # SOURCE3_SOURCE5 13 0.0082 + bond_coeff @bond:cy-os harmonic 277.32 1.439 # SOURCE4_SOURCE5 81 0.0141 + bond_coeff @bond:cy-s6 harmonic 177.00 1.851 # SOURCE4_SOURCE5 39 0.0142 + bond_coeff @bond:cy-ss harmonic 177.89 1.849 # SOURCE4_SOURCE5 201 0.0086 + bond_coeff @bond:cz-nh harmonic 414.24 1.339 # SOURCE4_SOURCE5 85 0.0046 + bond_coeff @bond:f-n1 harmonic 167.33 1.410 # SOUECE3 1 + bond_coeff @bond:f-n2 harmonic 148.04 1.444 # SOURCE3 5 0.0377 + bond_coeff @bond:f-n3 harmonic 169.79 1.406 # SOURCE1 9 + bond_coeff @bond:f-n harmonic 175.49 1.397 # SOURCE3 3 0.0112 + bond_coeff @bond:f-n4 harmonic 246.14 1.308 # SOURCE3 2 + bond_coeff @bond:f-na harmonic 166.72 1.411 # SOURCE3 7 0.0611 + bond_coeff @bond:f-nh harmonic 157.90 1.426 # SOURCE3 3 0.0085 + bond_coeff @bond:f-no harmonic 136.49 1.467 # SOURCE2 1 + bond_coeff @bond:f-o harmonic 198.07 1.330 # SOUECE3 1 + bond_coeff @bond:f-oh harmonic 129.79 1.444 # SOURCE3 1 + bond_coeff @bond:f-os harmonic 139.94 1.423 # SOURCE3 2 + bond_coeff @bond:f-p2 harmonic 522.31 1.536 # SOURCE3 7 0.2054 + bond_coeff @bond:f-p3 harmonic 454.68 1.578 # SOURCE2 8 0.0103 + bond_coeff @bond:f-p4 harmonic 437.32 1.590 # SOUECE3 1 + bond_coeff @bond:f-p5 harmonic 442.73 1.586 # SOURCE1_SOURCE5 18 0.0161 + bond_coeff @bond:f-s2 harmonic 363.47 1.643 # SOURCE2 1 + bond_coeff @bond:f-s harmonic 344.73 1.660 # SOUECE3 1 + bond_coeff @bond:f-s4 harmonic 428.80 1.591 # SOURCE2 4 0.0065 + bond_coeff @bond:f-s6 harmonic 400.85 1.612 # SOURCE2_SOURCE5 15 0.0133 + bond_coeff @bond:f-sh harmonic 356.72 1.649 # SOURCE3 1 + bond_coeff @bond:f-ss harmonic 373.87 1.634 # SOURCE3 3 0.0156 + bond_coeff @bond:hn-n1 harmonic 605.55 0.986 # SOURCE2 1 + bond_coeff @bond:hn-n2 harmonic 501.09 1.023 # SOURCE3_SOURCE5 732 0.0030 + bond_coeff @bond:hn-n3 harmonic 511.28 1.019 # SOURCE3_SOURCE5 5944 0.0012 + bond_coeff @bond:hn-n harmonic 527.31 1.013 # SOURCE3_SOURCE5 7593 0.0034 + bond_coeff @bond:hn-n4 harmonic 482.87 1.030 # SOURCE3_SOURCE5 756 0.0122 + bond_coeff @bond:hn-na harmonic 535.14 1.010 # SOURCE3_SOURCE5 1755 0.0019 + bond_coeff @bond:hn-nh harmonic 529.46 1.012 # SOURCE3_SOURCE5 7230 0.0022 + bond_coeff @bond:hn-no harmonic 501.09 1.023 # SOURCE3 1 + bond_coeff @bond:ho-o harmonic 540.28 0.981 # SOURCE3 1 + bond_coeff @bond:ho-oh harmonic 563.51 0.973 # SOURCE3_SOURCE5 21237 0.0034 + bond_coeff @bond:hp-p2 harmonic 266.54 1.336 # SOURCE3 87 0.1706 + bond_coeff @bond:hp-p3 harmonic 200.57 1.412 # SOURCE3_SOURCE5 123 0.0510 + bond_coeff @bond:hp-p4 harmonic 253.60 1.349 # SOURCE3 17 0.1577 + bond_coeff @bond:hp-p5 harmonic 196.39 1.418 # SOURCE3_SOURCE5 31 0.0077 + bond_coeff @bond:hs-s harmonic 288.27 1.353 # SOURCE3 1 + bond_coeff @bond:hs-s4 harmonic 265.33 1.375 # SOURCE3 5 0.0004 + bond_coeff @bond:hs-s6 harmonic 281.78 1.359 # SOURCE3 5 0.0015 + bond_coeff @bond:hs-sh harmonic 294.59 1.347 # SOURCE3_SOURCE5 477 0.0118 + bond_coeff @bond:i-i harmonic 50.27 2.917 # SOURCE1 1 + bond_coeff @bond:i-n1 harmonic 105.51 2.060 # SOUECE3 1 + bond_coeff @bond:i-n2 harmonic 59.35 2.304 # SOURCE3 6 0.1186 + bond_coeff @bond:i-n harmonic 96.05 2.098 # SOURCE3 5 0.0156 + bond_coeff @bond:i-n3 harmonic 77.95 2.185 # SOURCE3 3 0.0437 + bond_coeff @bond:i-n4 harmonic 83.69 2.155 # SOURCE3 3 0.0168 + bond_coeff @bond:i-na harmonic 89.07 2.129 # SOURCE3 8 0.1276 + bond_coeff @bond:i-nh harmonic 84.69 2.150 # SOURCE3 1 + bond_coeff @bond:i-no harmonic 70.03 2.231 # SOURCE3 1 + bond_coeff @bond:i-o harmonic 106.33 1.980 # SOUECE3 1 + bond_coeff @bond:i-oh harmonic 78.38 2.101 # SOURCE3 2 + bond_coeff @bond:i-os harmonic 73.23 2.129 # SOURCE3 3 0.0146 + bond_coeff @bond:i-p2 harmonic 66.30 2.643 # SOURCE3 6 0.0297 + bond_coeff @bond:i-p3 harmonic 77.18 2.566 # SOURCE3 3 0.0016 + bond_coeff @bond:i-p4 harmonic 120.75 2.352 # SOURCE3 4 0.2600 + bond_coeff @bond:i-p5 harmonic 72.70 2.596 # SOURCE3 3 0.0143 + bond_coeff @bond:i-s harmonic 115.77 2.430 # SOUECE3 1 + bond_coeff @bond:i-s4 harmonic 49.21 2.870 # SOUECE3 1 + bond_coeff @bond:i-s6 harmonic 49.21 2.870 # SOURCE3 1 + bond_coeff @bond:i-sh harmonic 88.56 2.560 # SOUECE3 1 + bond_coeff @bond:i-ss harmonic 86.63 2.571 # SOURCE3 3 0.0065 + bond_coeff @bond:n1-n1 harmonic 750.98 1.135 # SOURCE1_SOURCE5 78 0.0044 + bond_coeff @bond:n1-n2 harmonic 494.86 1.230 # SOURCE1_SOURCE5 36 0.0029 + bond_coeff @bond:n1-n3 harmonic 307.19 1.350 # SOUECE3 1 + bond_coeff @bond:n1-n4 harmonic 295.75 1.360 # SOUECE3 1 + bond_coeff @bond:n1-na harmonic 307.19 1.350 # SOUECE3 1 + bond_coeff @bond:n1-nc harmonic 525.73 1.216 # SOURCE1 38 + bond_coeff @bond:n1-nd harmonic 525.73 1.216 # SOURCE1 38 + bond_coeff @bond:n1-ne harmonic 452.52 1.252 # SOURCE2 1 + bond_coeff @bond:n1-nf harmonic 452.52 1.252 # SOURCE2 1 + bond_coeff @bond:n1-nh harmonic 319.16 1.340 # SOUECE3 1 + bond_coeff @bond:n1-no harmonic 254.81 1.400 # SOUECE3 1 + bond_coeff @bond:n1-o harmonic 298.40 1.277 # SOURCE3 5 0.0438 + bond_coeff @bond:n1-oh harmonic 272.24 1.300 # SOUECE3 1 + bond_coeff @bond:n1-os harmonic 261.73 1.310 # SOUECE3 1 + bond_coeff @bond:n1-p2 harmonic 268.95 1.678 # SOURCE3 2 0.0282 + bond_coeff @bond:n1-p3 harmonic 284.28 1.660 # SOUECE3 1 + bond_coeff @bond:n1-p4 harmonic 267.31 1.680 # SOURCE3 0 + bond_coeff @bond:n1-p5 harmonic 377.36 1.571 # SOURCE1 132 + bond_coeff @bond:n1-s2 harmonic 681.10 1.449 # SOURCE2 2 0.0010 + bond_coeff @bond:n1-s harmonic 339.70 1.659 # SOURCE3 6 0.0789 + bond_coeff @bond:n1-s4 harmonic 349.33 1.650 # SOUECE3 1 + bond_coeff @bond:n1-s6 harmonic 766.72 1.416 # SOURCE2 2 + bond_coeff @bond:n1-sh harmonic 396.29 1.610 # SOUECE3 1 + bond_coeff @bond:n1-ss harmonic 396.29 1.610 # SOUECE3 1 + bond_coeff @bond:n2-n2 harmonic 425.99 1.267 # SOURCE3_SOURCE5 40 0.0268 + bond_coeff @bond:n2-n3 harmonic 332.97 1.329 # SOURCE2 1 + bond_coeff @bond:n2-n4 harmonic 100.13 1.679 # SOURCE3 7 0.3138 + bond_coeff @bond:n2-na harmonic 287.40 1.368 # SOURCE4_SOURCE5 49 0.0087 + bond_coeff @bond:n2-nc harmonic 446.98 1.255 # SOURCE1 13 + bond_coeff @bond:n2-nd harmonic 446.98 1.255 # SOURCE1 13 + bond_coeff @bond:n2-ne harmonic 418.13 1.271 # SOURCE3_SOURCE5 57 0.0194 + bond_coeff @bond:n2-nf harmonic 418.13 1.271 # SOURCE3_SOURCE5 27 0.0074 + bond_coeff @bond:n2-nh harmonic 304.40 1.352 # SOURCE3_SOURCE5 210 0.0159 + bond_coeff @bond:n2-no harmonic 224.76 1.435 # SOURCE3_SOURCE5 15 0.0628 + bond_coeff @bond:n2-o harmonic 381.83 1.217 # SOURCE3_SOURCE5 112 0.0102 + bond_coeff @bond:n2-oh harmonic 192.13 1.391 # SOURCE1_SOURCE5 149 0.0171 + bond_coeff @bond:n2-os harmonic 184.98 1.401 # SOURCE3_SOURCE5 108 0.0101 + bond_coeff @bond:n2-p2 harmonic 338.04 1.605 # SOURCE3 35 0.0737 + bond_coeff @bond:n2-p3 harmonic 208.02 1.764 # SOURCE3 7 0.0374 + bond_coeff @bond:n2-p4 harmonic 234.05 1.724 # SOUECE3 1 + bond_coeff @bond:n2-p5 harmonic 344.61 1.599 # SOURCE1 7 + bond_coeff @bond:n2-pe harmonic 418.07 1.540 # SOURCE3 20 0.1392 + bond_coeff @bond:n2-pf harmonic 418.07 1.540 # SOURCE3 20 + bond_coeff @bond:n2-s2 harmonic 491.26 1.544 # SOURCE2_SOURCE5 11 0.0086 + bond_coeff @bond:n2-s4 harmonic 396.29 1.610 # SOUECE3 1 + bond_coeff @bond:n2-s harmonic 496.36 1.541 # SOURCE1 37 + bond_coeff @bond:n2-s6 harmonic 475.70 1.554 # SOURCE4_SOURCE5 16 0.0041 + bond_coeff @bond:n2-sh harmonic 267.45 1.738 # SOURCE3 5 0.0511 + bond_coeff @bond:n2-ss harmonic 342.87 1.656 # SOURCE1 36 + bond_coeff @bond:n3-n3 harmonic 219.29 1.442 # SOURCE1_SOURCE5 48 0.0063 + bond_coeff @bond:n3-n4 harmonic 228.50 1.430 # SOURCE1_SOURCE5 9 0.0040 + bond_coeff @bond:n3-na harmonic 236.90 1.420 # SOURCE1 68 + bond_coeff @bond:n3-nh harmonic 240.71 1.416 # SOURCE1_SOURCE5 66 0.0085 + bond_coeff @bond:n3-no harmonic 256.88 1.398 # SOURCE3_SOURCE5 19 0.0132 + bond_coeff @bond:n3-o harmonic 269.04 1.303 # SOURCE3 4 0.1217 + bond_coeff @bond:n3-oh harmonic 176.15 1.415 # SOURCE1_SOURCE5 17 0.0055 + bond_coeff @bond:n3-os harmonic 160.59 1.441 # SOURCE1_SOURCE5 84 0.0191 + bond_coeff @bond:n3-p2 harmonic 275.64 1.670 # SOUECE3 1 + bond_coeff @bond:n3-p3 harmonic 229.90 1.730 # SOURCE1 40 + bond_coeff @bond:n3-p4 harmonic 253.83 1.697 # SOURCE1 88 + bond_coeff @bond:n3-p5 harmonic 275.98 1.670 # SOURCE1_SOURCE5 680 0.0109 + bond_coeff @bond:n3-py harmonic 256.22 1.694 # SOURCE4_SOURCE5 16 0.0080 + bond_coeff @bond:n3-s harmonic 228.53 1.792 # SOURCE3 3 0.0178 + bond_coeff @bond:n3-s4 harmonic 254.85 1.754 # SOURCE3_SOURCE5 15 0.0416 + bond_coeff @bond:n3-s6 harmonic 326.04 1.672 # SOURCE1_SOURCE5 243 0.0144 + bond_coeff @bond:n3-sh harmonic 266.66 1.739 # SOURCE3 3 0.0154 + bond_coeff @bond:n3-ss harmonic 279.14 1.724 # SOURCE3_SOURCE5 25 0.0197 + bond_coeff @bond:n3-sy harmonic 303.10 1.696 # SOURCE4_SOURCE5 511 0.0083 + bond_coeff @bond:n4-n4 harmonic 188.86 1.484 # SOURCE3 4 0.0089 + bond_coeff @bond:n4-na harmonic 224.44 1.435 # SOURCE3 9 0.0390 + bond_coeff @bond:n4-nh harmonic 201.09 1.466 # SOURCE3 5 0.0108 + bond_coeff @bond:n4-no harmonic 191.50 1.480 # SOUECE3 1 + bond_coeff @bond:n4-o harmonic 215.08 1.361 # SOURCE3 3 0.0041 + bond_coeff @bond:n4-oh harmonic 186.01 1.400 # SOURCE3 3 0.0115 + bond_coeff @bond:n4-os harmonic 172.30 1.421 # SOURCE3 5 0.0249 + bond_coeff @bond:n4-p2 harmonic 126.91 1.942 # SOURCE3 10 0.0643 + bond_coeff @bond:n4-p3 harmonic 149.95 1.880 # SOURCE3 5 0.0146 + bond_coeff @bond:n4-p4 harmonic 128.26 1.938 # SOURCE3 1 + bond_coeff @bond:n4-p5 harmonic 172.23 1.830 # SOURCE3 5 0.0087 + bond_coeff @bond:n4-py harmonic 141.24 1.902 # SOURCE3 4 + bond_coeff @bond:n4-s harmonic 204.02 1.832 # SOURCE3 3 0.0004 + bond_coeff @bond:n4-s4 harmonic 139.73 1.972 # SOURCE3 3 0.0198 + bond_coeff @bond:n4-s6 harmonic 162.90 1.914 # SOURCE3 5 0.0432 + bond_coeff @bond:n4-sh harmonic 216.47 1.811 # SOURCE3 3 0.0027 + bond_coeff @bond:n4-ss harmonic 215.86 1.812 # SOURCE3 5 0.0064 + bond_coeff @bond:na-na harmonic 253.88 1.401 # SOURCE1 40 + bond_coeff @bond:na-nb harmonic 310.48 1.347 # SOURCE4_SOURCE5 26 0.0093 + bond_coeff @bond:na-nc harmonic 300.49 1.356 # SOURCE3_SOURCE5 899 0.0083 + bond_coeff @bond:na-nd harmonic 302.44 1.354 # SOURCE3_SOURCE5 362 0.0113 + bond_coeff @bond:na-nh harmonic 254.81 1.400 # SOURCE1_SOURCE5 20 0.0066 + bond_coeff @bond:na-no harmonic 224.76 1.435 # SOURCE3_SOURCE5 16 0.0192 + bond_coeff @bond:na-o harmonic 347.95 1.239 # SOURCE1_SOURCE5 93 0.0208 + bond_coeff @bond:na-oh harmonic 191.21 1.393 # SOURCE3_SOURCE5 18 0.0144 + bond_coeff @bond:na-os harmonic 158.65 1.444 # SOURCE3 45 0.0423 + bond_coeff @bond:na-p2 harmonic 217.35 1.749 # SOURCE3 11 0.0192 + bond_coeff @bond:na-p3 harmonic 209.23 1.762 # SOURCE3 8 0.0113 + bond_coeff @bond:na-p4 harmonic 386.12 1.564 # SOURCE3 5 0.2161 + bond_coeff @bond:na-p5 harmonic 240.43 1.715 # SOURCE3 11 0.0238 + bond_coeff @bond:na-pc harmonic 228.54 1.732 # SOURCE3 81 0.0207 + bond_coeff @bond:na-pd harmonic 228.54 1.732 # SOURCE3 81 + bond_coeff @bond:na-py harmonic 242.60 1.712 # SOURCE3 2 + bond_coeff @bond:na-s harmonic 247.08 1.765 # SOURCE3 8 0.0095 + bond_coeff @bond:na-s4 harmonic 227.88 1.793 # SOURCE3 10 0.0421 + bond_coeff @bond:na-s6 harmonic 279.89 1.723 # SOURCE3_SOURCE5 15 0.0153 + bond_coeff @bond:na-sh harmonic 281.31 1.721 # SOURCE3 9 0.0113 + bond_coeff @bond:na-ss harmonic 271.85 1.732 # SOURCE3_SOURCE5 50 0.0325 + bond_coeff @bond:na-sy harmonic 276.32 1.727 # SOURCE3 1 + bond_coeff @bond:nb-nb harmonic 327.23 1.333 # SOURCE1_SOURCE5 98 0.0106 + bond_coeff @bond:nb-pb harmonic 358.21 1.587 # SOURCE1 162 0.0091 + bond_coeff @bond:nc-nc harmonic 290.67 1.365 # SOURCE3_SOURCE5 271 0.0065 + bond_coeff @bond:nc-nd harmonic 374.73 1.299 # SOURCE3_SOURCE5 185 0.0074 + bond_coeff @bond:nc-os harmonic 185.12 1.401 # SOURCE1_SOURCE5 243 0.0096 + bond_coeff @bond:nc-ss harmonic 376.65 1.626 # SOURCE1_SOURCE5 114 0.0148 + bond_coeff @bond:nc-sy harmonic 473.81 1.555 # SOURCE3 2 + bond_coeff @bond:nd-nd harmonic 290.67 1.365 # SOURCE3_SOURCE5 271 0.0065 + bond_coeff @bond:nd-os harmonic 185.12 1.401 # SOURCE1_SOURCE5 243 0.0096 + bond_coeff @bond:nd-ss harmonic 376.65 1.626 # SOURCE1_SOURCE5 114 0.0148 + bond_coeff @bond:nd-sy harmonic 473.81 1.555 # SOURCE3 2 + bond_coeff @bond:ne-ne harmonic 235.02 1.422 # SOURCE3_SOURCE5 47 0.0776 + bond_coeff @bond:ne-nf harmonic 432.27 1.263 # SOURCE4_SOURCE5 78 0.0037 + bond_coeff @bond:ne-o harmonic 360.78 1.231 # SOURCE3_SOURCE5 55 0.0223 + bond_coeff @bond:ne-p2 harmonic 387.40 1.563 # SOURCE3 14 0.1325 + bond_coeff @bond:ne-pe harmonic 242.60 1.712 # SOURCE3 28 0.1076 + bond_coeff @bond:ne-px harmonic 250.02 1.702 # SOURCE3 11 0.0883 + bond_coeff @bond:ne-py harmonic 338.14 1.605 # SOURCE4_SOURCE5 94 0.0111 + bond_coeff @bond:ne-s harmonic 503.04 1.537 # SOURCE3 22 0.1708 + bond_coeff @bond:ne-sx harmonic 200.62 1.838 # SOURCE3 7 0.1060 + bond_coeff @bond:ne-sy harmonic 326.04 1.672 # SOURCE3_SOURCE5 49 0.0285 + bond_coeff @bond:nf-nf harmonic 235.02 1.422 # SOURCE3_SOURCE5 28 0.0146 + bond_coeff @bond:nf-o harmonic 360.78 1.231 # SOURCE3_SOURCE5 15 0.0138 + bond_coeff @bond:nf-p2 harmonic 387.40 1.563 # SOURCE3 14 + bond_coeff @bond:nf-pf harmonic 242.60 1.712 # SOURCE3 28 + bond_coeff @bond:nf-px harmonic 250.02 1.702 # SOURCE3 11 + bond_coeff @bond:nf-py harmonic 338.14 1.605 # SOURCE4_SOURCE5 84 0.0113 + bond_coeff @bond:nf-s harmonic 503.04 1.537 # SOURCE3 22 + bond_coeff @bond:nf-sx harmonic 200.62 1.838 # SOURCE3 7 + bond_coeff @bond:nf-sy harmonic 326.04 1.672 # SOURCE3_SOURCE5 42 0.0197 + bond_coeff @bond:nh-nh harmonic 252.77 1.402 # SOURCE1_SOURCE5 8 0.0109 + bond_coeff @bond:nh-no harmonic 267.93 1.386 # SOURCE4_SOURCE5 22 0.0046 + bond_coeff @bond:nh-o harmonic 316.06 1.263 # SOURCE3_SOURCE5 18 0.0143 + bond_coeff @bond:nh-oh harmonic 175.33 1.416 # SOURCE4_SOURCE5 63 0.0072 + bond_coeff @bond:nh-os harmonic 175.90 1.415 # SOURCE4_SOURCE5 26 0.0063 + bond_coeff @bond:nh-p2 harmonic 268.13 1.679 # SOURCE3 17 0.0872 + bond_coeff @bond:nh-p3 harmonic 229.90 1.730 # SOURCE3 3 0.0016 + bond_coeff @bond:nh-p4 harmonic 247.02 1.706 # SOURCE3 3 0.0008 + bond_coeff @bond:nh-p5 harmonic 274.79 1.671 # SOURCE3 3 0.0007 + bond_coeff @bond:nh-s harmonic 233.85 1.784 # SOURCE3 3 0.0076 + bond_coeff @bond:nh-s4 harmonic 258.92 1.749 # SOURCE3 3 0.0203 + bond_coeff @bond:nh-s6 harmonic 301.91 1.698 # SOURCE4_SOURCE5 93 0.0076 + bond_coeff @bond:nh-sh harmonic 292.49 1.708 # SOURCE3 1 + bond_coeff @bond:nh-ss harmonic 291.53 1.709 # SOURCE1_SOURCE5 58 0.0020 + bond_coeff @bond:nh-sy harmonic 287.18 1.714 # SOURCE4_SOURCE5 239 0.0099 + bond_coeff @bond:n-n1 harmonic 319.16 1.340 # SOUECE3 1 + bond_coeff @bond:n-n2 harmonic 295.31 1.360 # SOURCE3_SOURCE5 272 0.0114 + bond_coeff @bond:n-n3 harmonic 250.92 1.404 # SOURCE3_SOURCE5 87 0.0076 + bond_coeff @bond:n-n4 harmonic 226.87 1.432 # SOURCE3 5 0.0098 + bond_coeff @bond:n-n harmonic 250.83 1.404 # SOURCE3_SOURCE5 47 0.0125 + bond_coeff @bond:n-na harmonic 248.27 1.407 # SOURCE3_SOURCE5 56 0.0060 + bond_coeff @bond:n-nc harmonic 295.87 1.360 # CORR_SOURCE5 121 0.0130 + bond_coeff @bond:n-nd harmonic 295.87 1.360 # CORR_SOURCE5 121 0.0130 + bond_coeff @bond:n-nh harmonic 253.32 1.402 # SOURCE4_SOURCE5 51 0.0075 + bond_coeff @bond:n-no harmonic 208.29 1.456 # SOURCE3 4 0.0327 + bond_coeff @bond:n-o harmonic 342.80 1.243 # SOURCE3_SOURCE5 16 0.0255 + bond_coeff @bond:n-oh harmonic 181.83 1.406 # SOURCE3_SOURCE5 119 0.0062 + bond_coeff @bond:no-no harmonic 65.41 1.824 # SOURCE3 1 + bond_coeff @bond:no-o harmonic 367.95 1.226 # SOURCE1_SOURCE5 4403 0.0099 + bond_coeff @bond:no-oh harmonic 181.96 1.406 # SOURCE2 1 + bond_coeff @bond:no-os harmonic 172.24 1.421 # SOURCE4_SOURCE5 138 0.0070 + bond_coeff @bond:no-p2 harmonic 224.52 1.738 # SOURCE3 10 0.2231 + bond_coeff @bond:no-p3 harmonic 165.61 1.844 # SOURCE3 3 0.0005 + bond_coeff @bond:no-p4 harmonic 154.11 1.870 # SOURCE3 3 0.0006 + bond_coeff @bond:no-p5 harmonic 170.31 1.834 # SOURCE3 4 0.0020 + bond_coeff @bond:no-s harmonic 264.31 1.742 # SOURCE3 2 + bond_coeff @bond:n-os harmonic 180.04 1.409 # SOURCE4_SOURCE5 73 0.0121 + bond_coeff @bond:no-s4 harmonic 131.30 1.996 # SOURCE3 3 0.0313 + bond_coeff @bond:no-s6 harmonic 138.28 1.976 # SOURCE3 3 0.0520 + bond_coeff @bond:no-sh harmonic 220.82 1.804 # SOURCE3 1 + bond_coeff @bond:no-ss harmonic 206.32 1.828 # SOURCE3 3 0.0244 + bond_coeff @bond:n-p2 harmonic 227.87 1.733 # SOURCE3 8 0.0217 + bond_coeff @bond:n-p3 harmonic 204.42 1.770 # SOURCE3 9 0.0118 + bond_coeff @bond:n-p4 harmonic 227.19 1.734 # SOURCE3 1 + bond_coeff @bond:n-p5 harmonic 238.92 1.717 # SOURCE4_SOURCE5 25 0.0133 + bond_coeff @bond:n-pc harmonic 223.19 1.740 # SOURCE3 3 0.0010 + bond_coeff @bond:n-pd harmonic 223.19 1.740 # SOURCE3 3 + bond_coeff @bond:n-s harmonic 245.64 1.767 # SOURCE3 3 0.0011 + bond_coeff @bond:n-s4 harmonic 244.86 1.768 # SOURCE3_SOURCE5 9 0.0163 + bond_coeff @bond:n-s6 harmonic 283.34 1.719 # SOURCE4_SOURCE5 45 0.0154 + bond_coeff @bond:n-sh harmonic 275.50 1.728 # SOURCE3 4 0.0128 + bond_coeff @bond:n-ss harmonic 277.23 1.726 # SOURCE3_SOURCE5 22 0.0103 + bond_coeff @bond:n-sy harmonic 285.29 1.716 # SOURCE4_SOURCE5 126 0.0086 + bond_coeff @bond:oh-oh harmonic 123.13 1.469 # SOURCE3 1 + bond_coeff @bond:oh-os harmonic 129.12 1.456 # SOURCE4_SOURCE5 49 0.0046 + bond_coeff @bond:oh-p2 harmonic 329.87 1.630 # SOURCE3 8 0.0916 + bond_coeff @bond:oh-p3 harmonic 285.03 1.677 # SOURCE3 3 0.0148 + bond_coeff @bond:oh-p4 harmonic 318.66 1.641 # SOURCE3 4 0.0092 + bond_coeff @bond:oh-p5 harmonic 346.03 1.615 # SOURCE3_SOURCE5 1121 0.0129 + bond_coeff @bond:oh-py harmonic 344.61 1.616 # SOURCE3_SOURCE5 112 0.0110 + bond_coeff @bond:oh-s harmonic 219.79 1.812 # SOURCE3 2 + bond_coeff @bond:oh-s4 harmonic 309.00 1.696 # SOURCE4_SOURCE5 29 0.0100 + bond_coeff @bond:oh-s6 harmonic 373.26 1.635 # SOURCE3_SOURCE5 193 0.0162 + bond_coeff @bond:oh-sh harmonic 312.59 1.692 # SOURCE3 2 0.0003 + bond_coeff @bond:oh-ss harmonic 316.41 1.688 # SOURCE3_SOURCE5 12 0.0167 + bond_coeff @bond:oh-sy harmonic 356.03 1.650 # SOURCE4_SOURCE5 123 0.0037 + bond_coeff @bond:o-o harmonic 141.39 1.430 # SOURCE3 2 0.0500 + bond_coeff @bond:o-oh harmonic 104.37 1.517 # SOURCE3 2 + bond_coeff @bond:o-os harmonic 109.10 1.504 # SOURCE3 3 0.0117 + bond_coeff @bond:o-p2 harmonic 492.04 1.508 # SOURCE3 17 0.0306 + bond_coeff @bond:o-p3 harmonic 480.47 1.515 # SOURCE3 35 0.0297 + bond_coeff @bond:o-p4 harmonic 498.98 1.504 # SOURCE3_SOURCE5 60 0.0565 + bond_coeff @bond:o-p5 harmonic 529.55 1.487 # SOURCE1_SOURCE5 1318 0.0133 + bond_coeff @bond:o-pe harmonic 470.81 1.521 # SOURCE3 20 0.0171 + bond_coeff @bond:o-pf harmonic 470.81 1.521 # SOURCE3 20 + bond_coeff @bond:o-px harmonic 499.66 1.504 # SOURCE3_SOURCE5 45 0.0136 + bond_coeff @bond:o-py harmonic 527.91 1.488 # SOURCE3_SOURCE5 119 0.0072 + bond_coeff @bond:o-s harmonic 226.13 1.802 # SOURCE3 2 + bond_coeff @bond:o-s2 harmonic 417.99 1.599 # SOURCE3 3 0.0707 + bond_coeff @bond:o-s4 harmonic 572.26 1.504 # SOURCE1_SOURCE5 137 0.0127 + bond_coeff @bond:o-s6 harmonic 683.03 1.453 # SOURCE1_SOURCE5 2456 0.0105 + bond_coeff @bond:o-sh harmonic 410.02 1.605 # SOURCE3 2 + bond_coeff @bond:os-os harmonic 124.74 1.465 # SOURCE1_SOURCE5 69 0.0090 + bond_coeff @bond:os-p2 harmonic 396.10 1.573 # SOURCE1 16 + bond_coeff @bond:os-p3 harmonic 287.31 1.674 # SOURCE3_SOURCE5 22 0.0105 + bond_coeff @bond:os-p4 harmonic 323.70 1.636 # SOURCE3 4 0.0057 + bond_coeff @bond:os-p5 harmonic 346.25 1.615 # SOURCE1_SOURCE5 1200 0.0218 + bond_coeff @bond:os-py harmonic 342.10 1.619 # SOURCE3_SOURCE5 68 0.0106 + bond_coeff @bond:os-s harmonic 227.43 1.800 # SOURCE3 3 0.0052 + bond_coeff @bond:o-ss harmonic 567.21 1.507 # SOURCE3_SOURCE5 22 0.0235 + bond_coeff @bond:os-s4 harmonic 312.40 1.692 # SOURCE3_SOURCE5 25 0.0189 + bond_coeff @bond:os-s6 harmonic 387.79 1.623 # SOURCE1_SOURCE5 242 0.0147 + bond_coeff @bond:os-sh harmonic 333.31 1.671 # SOURCE3 3 0.0106 + bond_coeff @bond:os-ss harmonic 301.43 1.704 # SOURCE3 9 0.0277 + bond_coeff @bond:os-sy harmonic 306.02 1.699 # SOURCE3 1 + bond_coeff @bond:o-sx harmonic 555.55 1.513 # SOURCE3_SOURCE5 136 0.0072 + bond_coeff @bond:o-sy harmonic 653.16 1.466 # SOURCE3_SOURCE5 2007 0.0061 + bond_coeff @bond:p2-p2 harmonic 307.63 1.786 # SOURCE3 25 0.3488 + bond_coeff @bond:p2-p3 harmonic 118.00 2.152 # SOURCE3 9 0.1777 + bond_coeff @bond:p2-p4 harmonic 110.68 2.179 # SOUECE3 1 + bond_coeff @bond:p2-p5 harmonic 110.42 2.180 # SOUECE3 1 + bond_coeff @bond:p2-pe harmonic 244.92 1.867 # SOURCE3 16 0.3571 + bond_coeff @bond:p2-pf harmonic 244.92 1.867 # SOURCE3 16 + bond_coeff @bond:p2-s harmonic 375.05 1.772 # SOURCE3 26 0.3014 + bond_coeff @bond:p2-s4 harmonic 126.27 2.190 # SOUECE3 1 + bond_coeff @bond:p2-s6 harmonic 129.28 2.180 # SOUECE3 1 + bond_coeff @bond:p2-sh harmonic 217.02 1.971 # SOURCE3 10 0.2829 + bond_coeff @bond:p2-ss harmonic 219.87 1.966 # SOURCE3 10 0.2739 + bond_coeff @bond:p3-p3 harmonic 101.97 2.214 # SOURCE1 41 + bond_coeff @bond:p3-p4 harmonic 101.50 2.216 # SOURCE3 3 0.0011 + bond_coeff @bond:p3-p5 harmonic 102.21 2.213 # SOURCE3 9 0.0265 + bond_coeff @bond:p3-s harmonic 168.70 2.070 # SOUECE3 1 + bond_coeff @bond:p3-s4 harmonic 161.75 2.087 # SOURCE3 8 0.2235 + bond_coeff @bond:p3-s6 harmonic 165.79 2.077 # SOURCE3 11 0.1420 + bond_coeff @bond:p3-sh harmonic 144.95 2.132 # SOURCE3 3 0.0078 + bond_coeff @bond:p3-ss harmonic 148.86 2.121 # SOURCE3 3 0.0059 + bond_coeff @bond:p4-p4 harmonic 157.68 2.034 # SOURCE1 1 + bond_coeff @bond:p4-p5 harmonic 96.70 2.237 # SOUECE3 1 + bond_coeff @bond:p4-s harmonic 140.16 2.146 # SOURCE3 5 0.0601 + bond_coeff @bond:p4-s4 harmonic 109.64 2.251 # SOUECE3 1 + bond_coeff @bond:p4-s6 harmonic 105.24 2.269 # SOUECE3 1 + bond_coeff @bond:p4-sh harmonic 151.04 2.115 # SOURCE3 4 0.0008 + bond_coeff @bond:p4-ss harmonic 155.14 2.104 # SOURCE3 4 0.0044 + bond_coeff @bond:p5-p5 harmonic 149.95 2.054 # SOURCE1 1 + bond_coeff @bond:p5-s harmonic 239.16 1.934 # SOURCE1_SOURCE5 173 0.0138 + bond_coeff @bond:p5-s4 harmonic 181.84 2.040 # SOUECE3 1 + bond_coeff @bond:p5-s6 harmonic 181.84 2.040 # SOUECE3 1 + bond_coeff @bond:p5-sh harmonic 163.76 2.082 # SOURCE3 3 0.0035 + bond_coeff @bond:p5-ss harmonic 150.09 2.118 # SOURCE4_SOURCE5 70 0.0117 + bond_coeff @bond:pe-pe harmonic 136.46 2.092 # SOURCE3 7 0.1369 + bond_coeff @bond:pe-pf harmonic 149.57 2.055 # SOURCE3 1 + bond_coeff @bond:pe-px harmonic 169.76 2.005 # SOURCE3 12 0.2609 + bond_coeff @bond:pe-py harmonic 161.32 2.025 # SOURCE3 12 0.2617 + bond_coeff @bond:pe-s harmonic 390.65 1.758 # SOURCE3 31 0.3197 + bond_coeff @bond:pe-sx harmonic 133.00 2.168 # SOURCE3 9 0.1743 + bond_coeff @bond:pe-sy harmonic 119.67 2.213 # SOURCE3 6 0.0127 + bond_coeff @bond:pf-pf harmonic 136.46 2.092 # SOURCE3 7 + bond_coeff @bond:pf-px harmonic 169.76 2.005 # SOURCE3 12 + bond_coeff @bond:pf-py harmonic 161.32 2.025 # SOURCE3 12 + bond_coeff @bond:pf-s harmonic 390.65 1.758 # SOURCE3 31 + bond_coeff @bond:pf-sx harmonic 133.00 2.168 # SOURCE3 9 + bond_coeff @bond:pf-sy harmonic 119.67 2.213 # SOURCE3 6 + bond_coeff @bond:px-py harmonic 105.60 2.199 # SOURCE3 5 0.0238 + bond_coeff @bond:px-sx harmonic 111.92 2.242 # SOURCE3 3 0.0119 + bond_coeff @bond:px-sy harmonic 110.14 2.249 # SOURCE3 3 0.0272 + bond_coeff @bond:py-py harmonic 108.87 2.186 # SOURCE3 8 0.0132 + bond_coeff @bond:py-sx harmonic 107.66 2.259 # SOURCE3 7 0.0603 + bond_coeff @bond:py-sy harmonic 128.67 2.182 # SOURCE3 5 0.0047 + bond_coeff @bond:s4-s4 harmonic 243.62 2.080 # SOUECE3 1 + bond_coeff @bond:s4-s6 harmonic 243.62 2.080 # SOUECE3 1 + bond_coeff @bond:s4-sh harmonic 196.89 2.168 # SOURCE3 3 0.0227 + bond_coeff @bond:s4-ss harmonic 197.83 2.166 # SOURCE3 5 0.0247 + bond_coeff @bond:s6-s6 harmonic 243.62 2.080 # SOUECE3 1 + bond_coeff @bond:s6-sh harmonic 227.44 2.108 # SOURCE3 3 0.0144 + bond_coeff @bond:s6-ss harmonic 221.98 2.118 # SOURCE3 5 0.0209 + bond_coeff @bond:sh-sh harmonic 257.31 2.058 # SOURCE2 1 + bond_coeff @bond:sh-ss harmonic 251.60 2.067 # SOURCE3 3 0.0029 + bond_coeff @bond:s-s harmonic 276.08 2.030 # SOURCE3 1 + bond_coeff @bond:s-s2 harmonic 391.11 1.897 # SOURCE1 5 + bond_coeff @bond:s-s4 harmonic 246.05 2.076 # SOURCE3 4 0.0345 + bond_coeff @bond:s-s6 harmonic 270.56 2.038 # SOURCE3 3 0.0311 + bond_coeff @bond:s-sh harmonic 226.34 2.110 # SOURCE3 2 + bond_coeff @bond:s-ss harmonic 238.28 2.089 # SOURCE3 1 + bond_coeff @bond:ss-ss harmonic 248.01 2.073 # SOURCE1_SOURCE5 457 0.0074 + bond_coeff @bond:sx-sx harmonic 119.03 2.391 # SOURCE3 3 0.0185 + bond_coeff @bond:sx-sy harmonic 160.84 2.255 # SOURCE3 5 0.0737 + bond_coeff @bond:sy-sy harmonic 162.69 2.250 # SOURCE3 3 0.0289 + bond_coeff @bond:br-cd harmonic 172.53 1.885 # SOURCE4_SOURCE5 89 0.0082 + bond_coeff @bond:c1-cf harmonic 518.69 1.315 # SOURCE4 6 + bond_coeff @bond:cd-f harmonic 364.99 1.341 # SOURCE4_SOURCE5 46 0.0041 + bond_coeff @bond:cd-n4 harmonic 236.72 1.493 # SOURCE4 7 + bond_coeff @bond:cd-nf harmonic 356.61 1.379 # SOURCE4_SOURCE5 52 0.0115 + bond_coeff @bond:cd-no harmonic 296.62 1.429 # SOURCE4_SOURCE5 253 0.0081 + bond_coeff @bond:cd-sh harmonic 223.28 1.769 # SOURCE4_SOURCE5 14 0.0031 + bond_coeff @bond:cd-sx harmonic 198.26 1.811 # SOURCE4_SOURCE5 28 0.0024 + bond_coeff @bond:cc-cy harmonic 259.34 1.505 # SOURCE4_SOURCE5 11 0.0006 + bond_coeff @bond:cf-cl harmonic 174.72 1.764 # SOURCE4_SOURCE5 66 0.0129 + bond_coeff @bond:cf-cx harmonic 261.83 1.502 # SOURCE4_SOURCE5 26 0.0077 + bond_coeff @bond:cf-cy harmonic 250.06 1.516 # SOURCE4_SOURCE5 36 0.0052 + bond_coeff @bond:cf-na harmonic 305.30 1.421 # SOURCE4_SOURCE5 6 0.0049 + bond_coeff @bond:cf-ss harmonic 215.60 1.781 # SOURCE4_SOURCE5 46 0.0106 + bond_coeff @bond:cq-na harmonic 349.52 1.384 # SOURCE4 7 + bond_coeff @bond:cq-nb harmonic 414.72 1.339 # SOURCE4_SOURCE5 120 0.0071 + bond_coeff @bond:cl-py harmonic 152.76 2.045 # SOURCE5 45 0.0072 + bond_coeff @bond:f-py harmonic 456.16 1.577 # SOURCE5 25 0.0035 + bond_coeff @bond:py-s harmonic 215.89 1.973 # SOURCE5 17 0.0159 + bond_coeff @bond:cy-nh harmonic 251.08 1.476 # SOURCE5 16 0.0050 + bond_coeff @bond:cy-hx harmonic 386.49 1.091 # SOURCE5 13 0.0007 + bond_coeff @bond:br-ce harmonic 163.42 1.905 # SOURCE5 12 0.0099 + bond_coeff @bond:cc-i harmonic 110.60 2.120 # SOURCE5 11 0.0086 + bond_coeff @bond:cy-n4 harmonic 214.44 1.522 # SOURCE5 11 0.0076 + bond_coeff @bond:cy-p3 harmonic 146.83 1.908 # SOURCE5 10 0.0056 + bond_coeff @bond:cy-na harmonic 279.03 1.446 # SOURCE5 8 0.0049 + bond_coeff @bond:cx-n4 harmonic 234.29 1.496 # SOURCE5 9 0.0009 + bond_coeff @bond:ne-s4 harmonic 338.65 1.660 # SOURCE5 6 0.0027 + bond_coeff @bond:cv-ss harmonic 228.75 1.761 # SOURCE5 8 0.0086 + bond_coeff @bond:cy-no harmonic 216.62 1.519 # SOURCE5 7 0.0035 + bond_coeff @bond:ce-cv harmonic 436.82 1.360 # SOURCE5 6 0.0111 + bond_coeff @bond:cd-i harmonic 111.95 2.115 # SOURCE5 7 0.0138 + bond_coeff @bond:cy-s4 harmonic 149.47 1.913 # SOURCE5 5 0.0068 + bond_coeff @bond:n2-sy harmonic 491.42 1.544 # SOURCE5 7 0.0042 + bond_coeff @bond:cc-s6 harmonic 196.41 1.814 # SOURCE5 6 0.0108 + bond_coeff @bond:i-s2 harmonic 48.08 2.883 # SOURCE5 5 0.0165 + bond_coeff @bond:br-cy harmonic 144.56 1.951 # SOURCE5 5 0.0056 + bond_coeff @bond:br-cf harmonic 163.42 1.905 # SOURCE5 12 0.0099 + bond_coeff @bond:nf-s4 harmonic 338.65 1.660 # SOURCE5 6 0.0027 + bond_coeff @bond:cf-cv harmonic 436.82 1.360 # SOURCE5 6 0.0111 + bond_coeff @bond:cd-s6 harmonic 196.41 1.814 # SOURCE5 6 0.0108 + bond_coeff @bond:ss-sy harmonic 177.36 2.212 # SOURCE5 4 0.0105 + bond_coeff @bond:h5-ce harmonic 390.52 1.089 # SOURCE5 4 0.0006 + bond_coeff @bond:h5-cf harmonic 390.52 1.089 # SOURCE5 4 0.0006 + bond_coeff @bond:ce-s4 harmonic 226.75 1.764 # SOURCE5 4 0.0087 + bond_coeff @bond:cf-s4 harmonic 226.69 1.764 # SOURCE5 4 0.0087 + bond_coeff @bond:cy-py harmonic 136.02 1.937 # SOURCE5 4 0.0000 + bond_coeff @bond:cd-o harmonic 649.55 1.219 # SOURCE5 4 0.0015 + bond_coeff @bond:ne-s6 harmonic 412.23 1.598 # SOURCE5 3 0.0054 + bond_coeff @bond:nf-s6 harmonic 412.23 1.598 # SOURCE5 3 0.0054 + bond_coeff @bond:ce-no harmonic 262.66 1.463 # SOURCE5 3 0.0129 + bond_coeff @bond:cf-no harmonic 262.66 1.463 # SOURCE5 3 0.0129 + } # (end of bond_coeffs) + + write_once("Data Bonds By Type") { + @bond:ow-hw @atom:ow @atom:hw + @bond:hw-hw @atom:hw @atom:hw + @bond:br-br @atom:br @atom:br + @bond:br-c1 @atom:br @atom:c1 + @bond:br-c2 @atom:br @atom:c2 + @bond:br-c @atom:br @atom:c + @bond:br-c3 @atom:br @atom:c3 + @bond:br-ca @atom:br @atom:ca + @bond:br-cc @atom:br @atom:cc + @bond:br-cx @atom:br @atom:cx + @bond:br-n1 @atom:br @atom:n1 + @bond:br-n2 @atom:br @atom:n2 + @bond:br-n @atom:br @atom:n + @bond:br-n3 @atom:br @atom:n3 + @bond:br-n4 @atom:br @atom:n4 + @bond:br-na @atom:br @atom:na + @bond:br-nh @atom:br @atom:nh + @bond:br-no @atom:br @atom:no + @bond:br-o @atom:br @atom:o + @bond:br-oh @atom:br @atom:oh + @bond:br-os @atom:br @atom:os + @bond:br-p2 @atom:br @atom:p2 + @bond:br-p3 @atom:br @atom:p3 + @bond:br-p4 @atom:br @atom:p4 + @bond:br-p5 @atom:br @atom:p5 + @bond:br-s @atom:br @atom:s + @bond:br-s4 @atom:br @atom:s4 + @bond:br-s6 @atom:br @atom:s6 + @bond:br-sh @atom:br @atom:sh + @bond:br-ss @atom:br @atom:ss + @bond:c1-c1 @atom:c1 @atom:c1 + @bond:c1-c2 @atom:c1 @atom:c2 + @bond:c1-c3 @atom:c1 @atom:c3 + @bond:c1-ca @atom:c1 @atom:ca + @bond:c1-ce @atom:c1 @atom:ce + @bond:c1-cg @atom:c1 @atom:cg + @bond:c1-ch @atom:c1 @atom:ch + @bond:c1-cl @atom:c1 @atom:cl + @bond:c1-cx @atom:c1 @atom:cx + @bond:c1-f @atom:c1 @atom:f + @bond:c1-ha @atom:c1 @atom:ha + @bond:c1-hc @atom:c1 @atom:hc + @bond:c1-i @atom:c1 @atom:i + @bond:c1-n1 @atom:c1 @atom:n1 + @bond:c1-n2 @atom:c1 @atom:n2 + @bond:c1-n3 @atom:c1 @atom:n3 + @bond:c1-n4 @atom:c1 @atom:n4 + @bond:c1-n @atom:c1 @atom:n + @bond:c1-na @atom:c1 @atom:na + @bond:c1-ne @atom:c1 @atom:ne + @bond:c1-nf @atom:c1 @atom:nf + @bond:c1-nh @atom:c1 @atom:nh + @bond:c1-no @atom:c1 @atom:no + @bond:c1-o @atom:c1 @atom:o + @bond:c1-oh @atom:c1 @atom:oh + @bond:c1-os @atom:c1 @atom:os + @bond:c1-p2 @atom:c1 @atom:p2 + @bond:c1-p3 @atom:c1 @atom:p3 + @bond:c1-p4 @atom:c1 @atom:p4 + @bond:c1-p5 @atom:c1 @atom:p5 + @bond:c1-s2 @atom:c1 @atom:s2 + @bond:c1-s @atom:c1 @atom:s + @bond:c1-s4 @atom:c1 @atom:s4 + @bond:c1-s6 @atom:c1 @atom:s6 + @bond:c1-sh @atom:c1 @atom:sh + @bond:c1-ss @atom:c1 @atom:ss + @bond:c2-c2 @atom:c2 @atom:c2 + @bond:c2-c3 @atom:c2 @atom:c3 + @bond:c2-ca @atom:c2 @atom:ca + @bond:c2-cc @atom:c2 @atom:cc + @bond:c2-cd @atom:c2 @atom:cd + @bond:c2-ce @atom:c2 @atom:ce + @bond:c2-cf @atom:c2 @atom:cf + @bond:c2-cl @atom:c2 @atom:cl + @bond:c2-cu @atom:c2 @atom:cu + @bond:c2-cx @atom:c2 @atom:cx + @bond:c2-cy @atom:c2 @atom:cy + @bond:c2-f @atom:c2 @atom:f + @bond:c2-h4 @atom:c2 @atom:h4 + @bond:c2-h5 @atom:c2 @atom:h5 + @bond:c2-ha @atom:c2 @atom:ha + @bond:c2-hc @atom:c2 @atom:hc + @bond:c2-hx @atom:c2 @atom:hx + @bond:c2-i @atom:c2 @atom:i + @bond:c2-n1 @atom:c2 @atom:n1 + @bond:c2-n2 @atom:c2 @atom:n2 + @bond:c2-n3 @atom:c2 @atom:n3 + @bond:c2-n @atom:c2 @atom:n + @bond:c2-n4 @atom:c2 @atom:n4 + @bond:c2-na @atom:c2 @atom:na + @bond:c2-nc @atom:c2 @atom:nc + @bond:c2-nd @atom:c2 @atom:nd + @bond:c2-ne @atom:c2 @atom:ne + @bond:c2-nf @atom:c2 @atom:nf + @bond:c2-nh @atom:c2 @atom:nh + @bond:c2-no @atom:c2 @atom:no + @bond:c2-o @atom:c2 @atom:o + @bond:c2-oh @atom:c2 @atom:oh + @bond:c2-os @atom:c2 @atom:os + @bond:c2-p2 @atom:c2 @atom:p2 + @bond:c2-p3 @atom:c2 @atom:p3 + @bond:c2-p4 @atom:c2 @atom:p4 + @bond:c2-p5 @atom:c2 @atom:p5 + @bond:c2-pe @atom:c2 @atom:pe + @bond:c2-pf @atom:c2 @atom:pf + @bond:c2-s2 @atom:c2 @atom:s2 + @bond:c2-s @atom:c2 @atom:s + @bond:c2-s4 @atom:c2 @atom:s4 + @bond:c2-s6 @atom:c2 @atom:s6 + @bond:c2-sh @atom:c2 @atom:sh + @bond:c2-ss @atom:c2 @atom:ss + @bond:c3-c3 @atom:c3 @atom:c3 + @bond:c3-ca @atom:c3 @atom:ca + @bond:c3-cc @atom:c3 @atom:cc + @bond:c3-cd @atom:c3 @atom:cd + @bond:c3-ce @atom:c3 @atom:ce + @bond:c3-cf @atom:c3 @atom:cf + @bond:c3-cl @atom:c3 @atom:cl + @bond:c3-cu @atom:c3 @atom:cu + @bond:c3-cv @atom:c3 @atom:cv + @bond:c3-cx @atom:c3 @atom:cx + @bond:c3-cy @atom:c3 @atom:cy + @bond:c3-f @atom:c3 @atom:f + @bond:c3-h1 @atom:c3 @atom:h1 + @bond:c3-h2 @atom:c3 @atom:h2 + @bond:c3-h3 @atom:c3 @atom:h3 + @bond:c3-hc @atom:c3 @atom:hc + @bond:c3-hx @atom:c3 @atom:hx + @bond:c3-i @atom:c3 @atom:i + @bond:c3-n1 @atom:c3 @atom:n1 + @bond:c3-n2 @atom:c3 @atom:n2 + @bond:c3-n @atom:c3 @atom:n + @bond:c3-n3 @atom:c3 @atom:n3 + @bond:c3-n4 @atom:c3 @atom:n4 + @bond:c3-na @atom:c3 @atom:na + @bond:c3-nc @atom:c3 @atom:nc + @bond:c3-nd @atom:c3 @atom:nd + @bond:c3-nh @atom:c3 @atom:nh + @bond:c3-no @atom:c3 @atom:no + @bond:c3-o @atom:c3 @atom:o + @bond:c3-oh @atom:c3 @atom:oh + @bond:c3-os @atom:c3 @atom:os + @bond:c3-p2 @atom:c3 @atom:p2 + @bond:c3-p3 @atom:c3 @atom:p3 + @bond:c3-p4 @atom:c3 @atom:p4 + @bond:c3-p5 @atom:c3 @atom:p5 + @bond:c3-px @atom:c3 @atom:px + @bond:c3-py @atom:c3 @atom:py + @bond:c3-s @atom:c3 @atom:s + @bond:c3-s4 @atom:c3 @atom:s4 + @bond:c3-s6 @atom:c3 @atom:s6 + @bond:c3-sh @atom:c3 @atom:sh + @bond:c3-ss @atom:c3 @atom:ss + @bond:c3-sx @atom:c3 @atom:sx + @bond:c3-sy @atom:c3 @atom:sy + @bond:ca-ca @atom:ca @atom:ca + @bond:ca-cc @atom:ca @atom:cc + @bond:ca-cd @atom:ca @atom:cd + @bond:ca-ce @atom:ca @atom:ce + @bond:ca-cf @atom:ca @atom:cf + @bond:ca-cg @atom:ca @atom:cg + @bond:ca-ch @atom:ca @atom:ch + @bond:ca-cl @atom:ca @atom:cl + @bond:ca-cp @atom:ca @atom:cp + @bond:ca-cq @atom:ca @atom:cq + @bond:ca-cx @atom:ca @atom:cx + @bond:ca-cy @atom:ca @atom:cy + @bond:ca-f @atom:ca @atom:f + @bond:ca-h4 @atom:ca @atom:h4 + @bond:ca-h5 @atom:ca @atom:h5 + @bond:ca-ha @atom:ca @atom:ha + @bond:ca-i @atom:ca @atom:i + @bond:ca-n1 @atom:ca @atom:n1 + @bond:ca-n2 @atom:ca @atom:n2 + @bond:ca-n @atom:ca @atom:n + @bond:ca-n4 @atom:ca @atom:n4 + @bond:ca-na @atom:ca @atom:na + @bond:ca-nb @atom:ca @atom:nb + @bond:ca-nc @atom:ca @atom:nc + @bond:ca-nd @atom:ca @atom:nd + @bond:ca-ne @atom:ca @atom:ne + @bond:ca-nf @atom:ca @atom:nf + @bond:ca-nh @atom:ca @atom:nh + @bond:ca-no @atom:ca @atom:no + @bond:ca-o @atom:ca @atom:o + @bond:ca-oh @atom:ca @atom:oh + @bond:ca-os @atom:ca @atom:os + @bond:ca-p2 @atom:ca @atom:p2 + @bond:ca-p3 @atom:ca @atom:p3 + @bond:ca-p4 @atom:ca @atom:p4 + @bond:ca-p5 @atom:ca @atom:p5 + @bond:ca-pe @atom:ca @atom:pe + @bond:ca-pf @atom:ca @atom:pf + @bond:ca-px @atom:ca @atom:px + @bond:ca-py @atom:ca @atom:py + @bond:ca-s @atom:ca @atom:s + @bond:ca-s4 @atom:ca @atom:s4 + @bond:ca-s6 @atom:ca @atom:s6 + @bond:ca-sh @atom:ca @atom:sh + @bond:ca-ss @atom:ca @atom:ss + @bond:ca-sx @atom:ca @atom:sx + @bond:ca-sy @atom:ca @atom:sy + @bond:c-c1 @atom:c @atom:c1 + @bond:c-c2 @atom:c @atom:c2 + @bond:c-c @atom:c @atom:c + @bond:c-c3 @atom:c @atom:c3 + @bond:c-ca @atom:c @atom:ca + @bond:c-cc @atom:c @atom:cc + @bond:cc-cc @atom:cc @atom:cc + @bond:cc-cd @atom:cc @atom:cd + @bond:cc-ce @atom:cc @atom:ce + @bond:cc-cf @atom:cc @atom:cf + @bond:cc-cg @atom:cc @atom:cg + @bond:cc-ch @atom:cc @atom:ch + @bond:cc-cl @atom:cc @atom:cl + @bond:cc-cx @atom:cc @atom:cx + @bond:c-cd @atom:c @atom:cd + @bond:c-ce @atom:c @atom:ce + @bond:c-cf @atom:c @atom:cf + @bond:cc-f @atom:cc @atom:f + @bond:c-cg @atom:c @atom:cg + @bond:c-ch @atom:c @atom:ch + @bond:cc-h4 @atom:cc @atom:h4 + @bond:cc-h5 @atom:cc @atom:h5 + @bond:cc-ha @atom:cc @atom:ha + @bond:c-cl @atom:c @atom:cl + @bond:cc-n2 @atom:cc @atom:n2 + @bond:cc-n @atom:cc @atom:n + @bond:cc-n4 @atom:cc @atom:n4 + @bond:cc-na @atom:cc @atom:na + @bond:cc-nc @atom:cc @atom:nc + @bond:cc-nd @atom:cc @atom:nd + @bond:cc-ne @atom:cc @atom:ne + @bond:cc-nf @atom:cc @atom:nf + @bond:cc-nh @atom:cc @atom:nh + @bond:cc-no @atom:cc @atom:no + @bond:cc-oh @atom:cc @atom:oh + @bond:cc-os @atom:cc @atom:os + @bond:cc-pd @atom:cc @atom:pd + @bond:cc-sh @atom:cc @atom:sh + @bond:cc-ss @atom:cc @atom:ss + @bond:cc-sx @atom:cc @atom:sx + @bond:cc-sy @atom:cc @atom:sy + @bond:c-cu @atom:c @atom:cu + @bond:c-cx @atom:c @atom:cx + @bond:c-cy @atom:c @atom:cy + @bond:cd-cd @atom:cd @atom:cd + @bond:cd-ce @atom:cd @atom:ce + @bond:cd-cf @atom:cd @atom:cf + @bond:cd-cg @atom:cd @atom:cg + @bond:cd-ch @atom:cd @atom:ch + @bond:cd-cl @atom:cd @atom:cl + @bond:cd-cx @atom:cd @atom:cx + @bond:cd-cy @atom:cd @atom:cy + @bond:cd-h4 @atom:cd @atom:h4 + @bond:cd-h5 @atom:cd @atom:h5 + @bond:cd-ha @atom:cd @atom:ha + @bond:cd-n2 @atom:cd @atom:n2 + @bond:cd-n @atom:cd @atom:n + @bond:cd-na @atom:cd @atom:na + @bond:cd-nc @atom:cd @atom:nc + @bond:cd-nd @atom:cd @atom:nd + @bond:cd-ne @atom:cd @atom:ne + @bond:cd-nh @atom:cd @atom:nh + @bond:cd-oh @atom:cd @atom:oh + @bond:cd-os @atom:cd @atom:os + @bond:cd-pc @atom:cd @atom:pc + @bond:cd-ss @atom:cd @atom:ss + @bond:cd-sy @atom:cd @atom:sy + @bond:ce-ce @atom:ce @atom:ce + @bond:ce-cf @atom:ce @atom:cf + @bond:ce-cg @atom:ce @atom:cg + @bond:ce-ch @atom:ce @atom:ch + @bond:ce-cl @atom:ce @atom:cl + @bond:ce-cx @atom:ce @atom:cx + @bond:ce-cy @atom:ce @atom:cy + @bond:ce-h4 @atom:ce @atom:h4 + @bond:ce-ha @atom:ce @atom:ha + @bond:ce-n1 @atom:ce @atom:n1 + @bond:ce-n2 @atom:ce @atom:n2 + @bond:ce-n @atom:ce @atom:n + @bond:ce-na @atom:ce @atom:na + @bond:ce-ne @atom:ce @atom:ne + @bond:ce-nf @atom:ce @atom:nf + @bond:ce-nh @atom:ce @atom:nh + @bond:ce-oh @atom:ce @atom:oh + @bond:ce-os @atom:ce @atom:os + @bond:ce-p2 @atom:ce @atom:p2 + @bond:ce-pe @atom:ce @atom:pe + @bond:ce-px @atom:ce @atom:px + @bond:ce-py @atom:ce @atom:py + @bond:ce-s @atom:ce @atom:s + @bond:ce-ss @atom:ce @atom:ss + @bond:ce-sx @atom:ce @atom:sx + @bond:ce-sy @atom:ce @atom:sy + @bond:c-f @atom:c @atom:f + @bond:cf-cf @atom:cf @atom:cf + @bond:cf-cg @atom:cf @atom:cg + @bond:cf-ch @atom:cf @atom:ch + @bond:cf-h4 @atom:cf @atom:h4 + @bond:cf-ha @atom:cf @atom:ha + @bond:cf-n1 @atom:cf @atom:n1 + @bond:cf-n2 @atom:cf @atom:n2 + @bond:cf-n @atom:cf @atom:n + @bond:cf-ne @atom:cf @atom:ne + @bond:cf-nf @atom:cf @atom:nf + @bond:cf-nh @atom:cf @atom:nh + @bond:cf-oh @atom:cf @atom:oh + @bond:cf-os @atom:cf @atom:os + @bond:cf-p2 @atom:cf @atom:p2 + @bond:cf-pf @atom:cf @atom:pf + @bond:cf-px @atom:cf @atom:px + @bond:cf-py @atom:cf @atom:py + @bond:cf-s @atom:cf @atom:s + @bond:cf-sx @atom:cf @atom:sx + @bond:cf-sy @atom:cf @atom:sy + @bond:cg-cg @atom:cg @atom:cg + @bond:cg-ch @atom:cg @atom:ch + @bond:cg-n1 @atom:cg @atom:n1 + @bond:cg-ne @atom:cg @atom:ne + @bond:cg-pe @atom:cg @atom:pe + @bond:c-h4 @atom:c @atom:h4 + @bond:c-h5 @atom:c @atom:h5 + @bond:c-ha @atom:c @atom:ha + @bond:ch-ch @atom:ch @atom:ch + @bond:ch-n1 @atom:ch @atom:n1 + @bond:ch-nf @atom:ch @atom:nf + @bond:ch-pf @atom:ch @atom:pf + @bond:c-i @atom:c @atom:i + @bond:cl-cl @atom:cl @atom:cl + @bond:cl-cx @atom:cl @atom:cx + @bond:cl-cy @atom:cl @atom:cy + @bond:cl-n1 @atom:cl @atom:n1 + @bond:cl-n2 @atom:cl @atom:n2 + @bond:cl-n3 @atom:cl @atom:n3 + @bond:cl-n @atom:cl @atom:n + @bond:cl-n4 @atom:cl @atom:n4 + @bond:cl-na @atom:cl @atom:na + @bond:cl-nh @atom:cl @atom:nh + @bond:cl-no @atom:cl @atom:no + @bond:cl-o @atom:cl @atom:o + @bond:cl-oh @atom:cl @atom:oh + @bond:cl-os @atom:cl @atom:os + @bond:cl-p2 @atom:cl @atom:p2 + @bond:cl-p3 @atom:cl @atom:p3 + @bond:cl-p4 @atom:cl @atom:p4 + @bond:cl-p5 @atom:cl @atom:p5 + @bond:cl-pb @atom:cl @atom:pb + @bond:cl-s @atom:cl @atom:s + @bond:cl-s2 @atom:cl @atom:s2 + @bond:cl-s4 @atom:cl @atom:s4 + @bond:cl-s6 @atom:cl @atom:s6 + @bond:cl-sh @atom:cl @atom:sh + @bond:cl-ss @atom:cl @atom:ss + @bond:cl-sx @atom:cl @atom:sx + @bond:cl-sy @atom:cl @atom:sy + @bond:c-n2 @atom:c @atom:n2 + @bond:c-n4 @atom:c @atom:n4 + @bond:c-n @atom:c @atom:n + @bond:c-nc @atom:c @atom:nc + @bond:c-nd @atom:c @atom:nd + @bond:c-ne @atom:c @atom:ne + @bond:c-nf @atom:c @atom:nf + @bond:c-no @atom:c @atom:no + @bond:c-o @atom:c @atom:o + @bond:c-oh @atom:c @atom:oh + @bond:c-os @atom:c @atom:os + @bond:c-p2 @atom:c @atom:p2 + @bond:c-p3 @atom:c @atom:p3 + @bond:c-p4 @atom:c @atom:p4 + @bond:c-p5 @atom:c @atom:p5 + @bond:cp-cp @atom:cp @atom:cp + @bond:cp-cq @atom:cp @atom:cq + @bond:c-pe @atom:c @atom:pe + @bond:c-pf @atom:c @atom:pf + @bond:cp-na @atom:cp @atom:na + @bond:cp-nb @atom:cp @atom:nb + @bond:c-px @atom:c @atom:px + @bond:c-py @atom:c @atom:py + @bond:cq-cq @atom:cq @atom:cq + @bond:c-s @atom:c @atom:s + @bond:c-s4 @atom:c @atom:s4 + @bond:c-s6 @atom:c @atom:s6 + @bond:c-sh @atom:c @atom:sh + @bond:c-ss @atom:c @atom:ss + @bond:c-sx @atom:c @atom:sx + @bond:c-sy @atom:c @atom:sy + @bond:cu-cu @atom:cu @atom:cu + @bond:cu-cx @atom:cu @atom:cx + @bond:cu-ha @atom:cu @atom:ha + @bond:cv-cv @atom:cv @atom:cv + @bond:cv-cy @atom:cv @atom:cy + @bond:cv-ha @atom:cv @atom:ha + @bond:cx-cv @atom:cx @atom:cv + @bond:cx-cx @atom:cx @atom:cx + @bond:cx-cy @atom:cx @atom:cy + @bond:cx-f @atom:cx @atom:f + @bond:cx-h1 @atom:cx @atom:h1 + @bond:cx-h2 @atom:cx @atom:h2 + @bond:cx-hc @atom:cx @atom:hc + @bond:cx-hx @atom:cx @atom:hx + @bond:cx-n2 @atom:cx @atom:n2 + @bond:cx-n3 @atom:cx @atom:n3 + @bond:cx-n @atom:cx @atom:n + @bond:cx-na @atom:cx @atom:na + @bond:cx-nh @atom:cx @atom:nh + @bond:cx-oh @atom:cx @atom:oh + @bond:cx-os @atom:cx @atom:os + @bond:cx-p3 @atom:cx @atom:p3 + @bond:cx-s4 @atom:cx @atom:s4 + @bond:cx-s6 @atom:cx @atom:s6 + @bond:cx-ss @atom:cx @atom:ss + @bond:cy-cy @atom:cy @atom:cy + @bond:cy-f @atom:cy @atom:f + @bond:cy-h1 @atom:cy @atom:h1 + @bond:cy-h2 @atom:cy @atom:h2 + @bond:cy-hc @atom:cy @atom:hc + @bond:cy-n @atom:cy @atom:n + @bond:cy-n3 @atom:cy @atom:n3 + @bond:cy-oh @atom:cy @atom:oh + @bond:cy-os @atom:cy @atom:os + @bond:cy-s6 @atom:cy @atom:s6 + @bond:cy-ss @atom:cy @atom:ss + @bond:cz-nh @atom:cz @atom:nh + @bond:f-n1 @atom:f @atom:n1 + @bond:f-n2 @atom:f @atom:n2 + @bond:f-n3 @atom:f @atom:n3 + @bond:f-n @atom:f @atom:n + @bond:f-n4 @atom:f @atom:n4 + @bond:f-na @atom:f @atom:na + @bond:f-nh @atom:f @atom:nh + @bond:f-no @atom:f @atom:no + @bond:f-o @atom:f @atom:o + @bond:f-oh @atom:f @atom:oh + @bond:f-os @atom:f @atom:os + @bond:f-p2 @atom:f @atom:p2 + @bond:f-p3 @atom:f @atom:p3 + @bond:f-p4 @atom:f @atom:p4 + @bond:f-p5 @atom:f @atom:p5 + @bond:f-s2 @atom:f @atom:s2 + @bond:f-s @atom:f @atom:s + @bond:f-s4 @atom:f @atom:s4 + @bond:f-s6 @atom:f @atom:s6 + @bond:f-sh @atom:f @atom:sh + @bond:f-ss @atom:f @atom:ss + @bond:hn-n1 @atom:hn @atom:n1 + @bond:hn-n2 @atom:hn @atom:n2 + @bond:hn-n3 @atom:hn @atom:n3 + @bond:hn-n @atom:hn @atom:n + @bond:hn-n4 @atom:hn @atom:n4 + @bond:hn-na @atom:hn @atom:na + @bond:hn-nh @atom:hn @atom:nh + @bond:hn-no @atom:hn @atom:no + @bond:ho-o @atom:ho @atom:o + @bond:ho-oh @atom:ho @atom:oh + @bond:hp-p2 @atom:hp @atom:p2 + @bond:hp-p3 @atom:hp @atom:p3 + @bond:hp-p4 @atom:hp @atom:p4 + @bond:hp-p5 @atom:hp @atom:p5 + @bond:hs-s @atom:hs @atom:s + @bond:hs-s4 @atom:hs @atom:s4 + @bond:hs-s6 @atom:hs @atom:s6 + @bond:hs-sh @atom:hs @atom:sh + @bond:i-i @atom:i @atom:i + @bond:i-n1 @atom:i @atom:n1 + @bond:i-n2 @atom:i @atom:n2 + @bond:i-n @atom:i @atom:n + @bond:i-n3 @atom:i @atom:n3 + @bond:i-n4 @atom:i @atom:n4 + @bond:i-na @atom:i @atom:na + @bond:i-nh @atom:i @atom:nh + @bond:i-no @atom:i @atom:no + @bond:i-o @atom:i @atom:o + @bond:i-oh @atom:i @atom:oh + @bond:i-os @atom:i @atom:os + @bond:i-p2 @atom:i @atom:p2 + @bond:i-p3 @atom:i @atom:p3 + @bond:i-p4 @atom:i @atom:p4 + @bond:i-p5 @atom:i @atom:p5 + @bond:i-s @atom:i @atom:s + @bond:i-s4 @atom:i @atom:s4 + @bond:i-s6 @atom:i @atom:s6 + @bond:i-sh @atom:i @atom:sh + @bond:i-ss @atom:i @atom:ss + @bond:n1-n1 @atom:n1 @atom:n1 + @bond:n1-n2 @atom:n1 @atom:n2 + @bond:n1-n3 @atom:n1 @atom:n3 + @bond:n1-n4 @atom:n1 @atom:n4 + @bond:n1-na @atom:n1 @atom:na + @bond:n1-nc @atom:n1 @atom:nc + @bond:n1-nd @atom:n1 @atom:nd + @bond:n1-ne @atom:n1 @atom:ne + @bond:n1-nf @atom:n1 @atom:nf + @bond:n1-nh @atom:n1 @atom:nh + @bond:n1-no @atom:n1 @atom:no + @bond:n1-o @atom:n1 @atom:o + @bond:n1-oh @atom:n1 @atom:oh + @bond:n1-os @atom:n1 @atom:os + @bond:n1-p2 @atom:n1 @atom:p2 + @bond:n1-p3 @atom:n1 @atom:p3 + @bond:n1-p4 @atom:n1 @atom:p4 + @bond:n1-p5 @atom:n1 @atom:p5 + @bond:n1-s2 @atom:n1 @atom:s2 + @bond:n1-s @atom:n1 @atom:s + @bond:n1-s4 @atom:n1 @atom:s4 + @bond:n1-s6 @atom:n1 @atom:s6 + @bond:n1-sh @atom:n1 @atom:sh + @bond:n1-ss @atom:n1 @atom:ss + @bond:n2-n2 @atom:n2 @atom:n2 + @bond:n2-n3 @atom:n2 @atom:n3 + @bond:n2-n4 @atom:n2 @atom:n4 + @bond:n2-na @atom:n2 @atom:na + @bond:n2-nc @atom:n2 @atom:nc + @bond:n2-nd @atom:n2 @atom:nd + @bond:n2-ne @atom:n2 @atom:ne + @bond:n2-nf @atom:n2 @atom:nf + @bond:n2-nh @atom:n2 @atom:nh + @bond:n2-no @atom:n2 @atom:no + @bond:n2-o @atom:n2 @atom:o + @bond:n2-oh @atom:n2 @atom:oh + @bond:n2-os @atom:n2 @atom:os + @bond:n2-p2 @atom:n2 @atom:p2 + @bond:n2-p3 @atom:n2 @atom:p3 + @bond:n2-p4 @atom:n2 @atom:p4 + @bond:n2-p5 @atom:n2 @atom:p5 + @bond:n2-pe @atom:n2 @atom:pe + @bond:n2-pf @atom:n2 @atom:pf + @bond:n2-s2 @atom:n2 @atom:s2 + @bond:n2-s4 @atom:n2 @atom:s4 + @bond:n2-s @atom:n2 @atom:s + @bond:n2-s6 @atom:n2 @atom:s6 + @bond:n2-sh @atom:n2 @atom:sh + @bond:n2-ss @atom:n2 @atom:ss + @bond:n3-n3 @atom:n3 @atom:n3 + @bond:n3-n4 @atom:n3 @atom:n4 + @bond:n3-na @atom:n3 @atom:na + @bond:n3-nh @atom:n3 @atom:nh + @bond:n3-no @atom:n3 @atom:no + @bond:n3-o @atom:n3 @atom:o + @bond:n3-oh @atom:n3 @atom:oh + @bond:n3-os @atom:n3 @atom:os + @bond:n3-p2 @atom:n3 @atom:p2 + @bond:n3-p3 @atom:n3 @atom:p3 + @bond:n3-p4 @atom:n3 @atom:p4 + @bond:n3-p5 @atom:n3 @atom:p5 + @bond:n3-py @atom:n3 @atom:py + @bond:n3-s @atom:n3 @atom:s + @bond:n3-s4 @atom:n3 @atom:s4 + @bond:n3-s6 @atom:n3 @atom:s6 + @bond:n3-sh @atom:n3 @atom:sh + @bond:n3-ss @atom:n3 @atom:ss + @bond:n3-sy @atom:n3 @atom:sy + @bond:n4-n4 @atom:n4 @atom:n4 + @bond:n4-na @atom:n4 @atom:na + @bond:n4-nh @atom:n4 @atom:nh + @bond:n4-no @atom:n4 @atom:no + @bond:n4-o @atom:n4 @atom:o + @bond:n4-oh @atom:n4 @atom:oh + @bond:n4-os @atom:n4 @atom:os + @bond:n4-p2 @atom:n4 @atom:p2 + @bond:n4-p3 @atom:n4 @atom:p3 + @bond:n4-p4 @atom:n4 @atom:p4 + @bond:n4-p5 @atom:n4 @atom:p5 + @bond:n4-py @atom:n4 @atom:py + @bond:n4-s @atom:n4 @atom:s + @bond:n4-s4 @atom:n4 @atom:s4 + @bond:n4-s6 @atom:n4 @atom:s6 + @bond:n4-sh @atom:n4 @atom:sh + @bond:n4-ss @atom:n4 @atom:ss + @bond:na-na @atom:na @atom:na + @bond:na-nb @atom:na @atom:nb + @bond:na-nc @atom:na @atom:nc + @bond:na-nd @atom:na @atom:nd + @bond:na-nh @atom:na @atom:nh + @bond:na-no @atom:na @atom:no + @bond:na-o @atom:na @atom:o + @bond:na-oh @atom:na @atom:oh + @bond:na-os @atom:na @atom:os + @bond:na-p2 @atom:na @atom:p2 + @bond:na-p3 @atom:na @atom:p3 + @bond:na-p4 @atom:na @atom:p4 + @bond:na-p5 @atom:na @atom:p5 + @bond:na-pc @atom:na @atom:pc + @bond:na-pd @atom:na @atom:pd + @bond:na-py @atom:na @atom:py + @bond:na-s @atom:na @atom:s + @bond:na-s4 @atom:na @atom:s4 + @bond:na-s6 @atom:na @atom:s6 + @bond:na-sh @atom:na @atom:sh + @bond:na-ss @atom:na @atom:ss + @bond:na-sy @atom:na @atom:sy + @bond:nb-nb @atom:nb @atom:nb + @bond:nb-pb @atom:nb @atom:pb + @bond:nc-nc @atom:nc @atom:nc + @bond:nc-nd @atom:nc @atom:nd + @bond:nc-os @atom:nc @atom:os + @bond:nc-ss @atom:nc @atom:ss + @bond:nc-sy @atom:nc @atom:sy + @bond:nd-nd @atom:nd @atom:nd + @bond:nd-os @atom:nd @atom:os + @bond:nd-ss @atom:nd @atom:ss + @bond:nd-sy @atom:nd @atom:sy + @bond:ne-ne @atom:ne @atom:ne + @bond:ne-nf @atom:ne @atom:nf + @bond:ne-o @atom:ne @atom:o + @bond:ne-p2 @atom:ne @atom:p2 + @bond:ne-pe @atom:ne @atom:pe + @bond:ne-px @atom:ne @atom:px + @bond:ne-py @atom:ne @atom:py + @bond:ne-s @atom:ne @atom:s + @bond:ne-sx @atom:ne @atom:sx + @bond:ne-sy @atom:ne @atom:sy + @bond:nf-nf @atom:nf @atom:nf + @bond:nf-o @atom:nf @atom:o + @bond:nf-p2 @atom:nf @atom:p2 + @bond:nf-pf @atom:nf @atom:pf + @bond:nf-px @atom:nf @atom:px + @bond:nf-py @atom:nf @atom:py + @bond:nf-s @atom:nf @atom:s + @bond:nf-sx @atom:nf @atom:sx + @bond:nf-sy @atom:nf @atom:sy + @bond:nh-nh @atom:nh @atom:nh + @bond:nh-no @atom:nh @atom:no + @bond:nh-o @atom:nh @atom:o + @bond:nh-oh @atom:nh @atom:oh + @bond:nh-os @atom:nh @atom:os + @bond:nh-p2 @atom:nh @atom:p2 + @bond:nh-p3 @atom:nh @atom:p3 + @bond:nh-p4 @atom:nh @atom:p4 + @bond:nh-p5 @atom:nh @atom:p5 + @bond:nh-s @atom:nh @atom:s + @bond:nh-s4 @atom:nh @atom:s4 + @bond:nh-s6 @atom:nh @atom:s6 + @bond:nh-sh @atom:nh @atom:sh + @bond:nh-ss @atom:nh @atom:ss + @bond:nh-sy @atom:nh @atom:sy + @bond:n-n1 @atom:n @atom:n1 + @bond:n-n2 @atom:n @atom:n2 + @bond:n-n3 @atom:n @atom:n3 + @bond:n-n4 @atom:n @atom:n4 + @bond:n-n @atom:n @atom:n + @bond:n-na @atom:n @atom:na + @bond:n-nc @atom:n @atom:nc + @bond:n-nd @atom:n @atom:nd + @bond:n-nh @atom:n @atom:nh + @bond:n-no @atom:n @atom:no + @bond:n-o @atom:n @atom:o + @bond:n-oh @atom:n @atom:oh + @bond:no-no @atom:no @atom:no + @bond:no-o @atom:no @atom:o + @bond:no-oh @atom:no @atom:oh + @bond:no-os @atom:no @atom:os + @bond:no-p2 @atom:no @atom:p2 + @bond:no-p3 @atom:no @atom:p3 + @bond:no-p4 @atom:no @atom:p4 + @bond:no-p5 @atom:no @atom:p5 + @bond:no-s @atom:no @atom:s + @bond:n-os @atom:n @atom:os + @bond:no-s4 @atom:no @atom:s4 + @bond:no-s6 @atom:no @atom:s6 + @bond:no-sh @atom:no @atom:sh + @bond:no-ss @atom:no @atom:ss + @bond:n-p2 @atom:n @atom:p2 + @bond:n-p3 @atom:n @atom:p3 + @bond:n-p4 @atom:n @atom:p4 + @bond:n-p5 @atom:n @atom:p5 + @bond:n-pc @atom:n @atom:pc + @bond:n-pd @atom:n @atom:pd + @bond:n-s @atom:n @atom:s + @bond:n-s4 @atom:n @atom:s4 + @bond:n-s6 @atom:n @atom:s6 + @bond:n-sh @atom:n @atom:sh + @bond:n-ss @atom:n @atom:ss + @bond:n-sy @atom:n @atom:sy + @bond:oh-oh @atom:oh @atom:oh + @bond:oh-os @atom:oh @atom:os + @bond:oh-p2 @atom:oh @atom:p2 + @bond:oh-p3 @atom:oh @atom:p3 + @bond:oh-p4 @atom:oh @atom:p4 + @bond:oh-p5 @atom:oh @atom:p5 + @bond:oh-py @atom:oh @atom:py + @bond:oh-s @atom:oh @atom:s + @bond:oh-s4 @atom:oh @atom:s4 + @bond:oh-s6 @atom:oh @atom:s6 + @bond:oh-sh @atom:oh @atom:sh + @bond:oh-ss @atom:oh @atom:ss + @bond:oh-sy @atom:oh @atom:sy + @bond:o-o @atom:o @atom:o + @bond:o-oh @atom:o @atom:oh + @bond:o-os @atom:o @atom:os + @bond:o-p2 @atom:o @atom:p2 + @bond:o-p3 @atom:o @atom:p3 + @bond:o-p4 @atom:o @atom:p4 + @bond:o-p5 @atom:o @atom:p5 + @bond:o-pe @atom:o @atom:pe + @bond:o-pf @atom:o @atom:pf + @bond:o-px @atom:o @atom:px + @bond:o-py @atom:o @atom:py + @bond:o-s @atom:o @atom:s + @bond:o-s2 @atom:o @atom:s2 + @bond:o-s4 @atom:o @atom:s4 + @bond:o-s6 @atom:o @atom:s6 + @bond:o-sh @atom:o @atom:sh + @bond:os-os @atom:os @atom:os + @bond:os-p2 @atom:os @atom:p2 + @bond:os-p3 @atom:os @atom:p3 + @bond:os-p4 @atom:os @atom:p4 + @bond:os-p5 @atom:os @atom:p5 + @bond:os-py @atom:os @atom:py + @bond:os-s @atom:os @atom:s + @bond:o-ss @atom:o @atom:ss + @bond:os-s4 @atom:os @atom:s4 + @bond:os-s6 @atom:os @atom:s6 + @bond:os-sh @atom:os @atom:sh + @bond:os-ss @atom:os @atom:ss + @bond:os-sy @atom:os @atom:sy + @bond:o-sx @atom:o @atom:sx + @bond:o-sy @atom:o @atom:sy + @bond:p2-p2 @atom:p2 @atom:p2 + @bond:p2-p3 @atom:p2 @atom:p3 + @bond:p2-p4 @atom:p2 @atom:p4 + @bond:p2-p5 @atom:p2 @atom:p5 + @bond:p2-pe @atom:p2 @atom:pe + @bond:p2-pf @atom:p2 @atom:pf + @bond:p2-s @atom:p2 @atom:s + @bond:p2-s4 @atom:p2 @atom:s4 + @bond:p2-s6 @atom:p2 @atom:s6 + @bond:p2-sh @atom:p2 @atom:sh + @bond:p2-ss @atom:p2 @atom:ss + @bond:p3-p3 @atom:p3 @atom:p3 + @bond:p3-p4 @atom:p3 @atom:p4 + @bond:p3-p5 @atom:p3 @atom:p5 + @bond:p3-s @atom:p3 @atom:s + @bond:p3-s4 @atom:p3 @atom:s4 + @bond:p3-s6 @atom:p3 @atom:s6 + @bond:p3-sh @atom:p3 @atom:sh + @bond:p3-ss @atom:p3 @atom:ss + @bond:p4-p4 @atom:p4 @atom:p4 + @bond:p4-p5 @atom:p4 @atom:p5 + @bond:p4-s @atom:p4 @atom:s + @bond:p4-s4 @atom:p4 @atom:s4 + @bond:p4-s6 @atom:p4 @atom:s6 + @bond:p4-sh @atom:p4 @atom:sh + @bond:p4-ss @atom:p4 @atom:ss + @bond:p5-p5 @atom:p5 @atom:p5 + @bond:p5-s @atom:p5 @atom:s + @bond:p5-s4 @atom:p5 @atom:s4 + @bond:p5-s6 @atom:p5 @atom:s6 + @bond:p5-sh @atom:p5 @atom:sh + @bond:p5-ss @atom:p5 @atom:ss + @bond:pe-pe @atom:pe @atom:pe + @bond:pe-pf @atom:pe @atom:pf + @bond:pe-px @atom:pe @atom:px + @bond:pe-py @atom:pe @atom:py + @bond:pe-s @atom:pe @atom:s + @bond:pe-sx @atom:pe @atom:sx + @bond:pe-sy @atom:pe @atom:sy + @bond:pf-pf @atom:pf @atom:pf + @bond:pf-px @atom:pf @atom:px + @bond:pf-py @atom:pf @atom:py + @bond:pf-s @atom:pf @atom:s + @bond:pf-sx @atom:pf @atom:sx + @bond:pf-sy @atom:pf @atom:sy + @bond:px-py @atom:px @atom:py + @bond:px-sx @atom:px @atom:sx + @bond:px-sy @atom:px @atom:sy + @bond:py-py @atom:py @atom:py + @bond:py-sx @atom:py @atom:sx + @bond:py-sy @atom:py @atom:sy + @bond:s4-s4 @atom:s4 @atom:s4 + @bond:s4-s6 @atom:s4 @atom:s6 + @bond:s4-sh @atom:s4 @atom:sh + @bond:s4-ss @atom:s4 @atom:ss + @bond:s6-s6 @atom:s6 @atom:s6 + @bond:s6-sh @atom:s6 @atom:sh + @bond:s6-ss @atom:s6 @atom:ss + @bond:sh-sh @atom:sh @atom:sh + @bond:sh-ss @atom:sh @atom:ss + @bond:s-s @atom:s @atom:s + @bond:s-s2 @atom:s @atom:s2 + @bond:s-s4 @atom:s @atom:s4 + @bond:s-s6 @atom:s @atom:s6 + @bond:s-sh @atom:s @atom:sh + @bond:s-ss @atom:s @atom:ss + @bond:ss-ss @atom:ss @atom:ss + @bond:sx-sx @atom:sx @atom:sx + @bond:sx-sy @atom:sx @atom:sy + @bond:sy-sy @atom:sy @atom:sy + @bond:br-cd @atom:br @atom:cd + @bond:c1-cf @atom:c1 @atom:cf + @bond:cd-f @atom:cd @atom:f + @bond:cd-n4 @atom:cd @atom:n4 + @bond:cd-nf @atom:cd @atom:nf + @bond:cd-no @atom:cd @atom:no + @bond:cd-sh @atom:cd @atom:sh + @bond:cd-sx @atom:cd @atom:sx + @bond:cc-cy @atom:cc @atom:cy + @bond:cf-cl @atom:cf @atom:cl + @bond:cf-cx @atom:cf @atom:cx + @bond:cf-cy @atom:cf @atom:cy + @bond:cf-na @atom:cf @atom:na + @bond:cf-ss @atom:cf @atom:ss + @bond:cq-na @atom:cq @atom:na + @bond:cq-nb @atom:cq @atom:nb + @bond:cl-py @atom:cl @atom:py + @bond:f-py @atom:f @atom:py + @bond:py-s @atom:py @atom:s + @bond:cy-nh @atom:cy @atom:nh + @bond:cy-hx @atom:cy @atom:hx + @bond:br-ce @atom:br @atom:ce + @bond:cc-i @atom:cc @atom:i + @bond:cy-n4 @atom:cy @atom:n4 + @bond:cy-p3 @atom:cy @atom:p3 + @bond:cy-na @atom:cy @atom:na + @bond:cx-n4 @atom:cx @atom:n4 + @bond:ne-s4 @atom:ne @atom:s4 + @bond:cv-ss @atom:cv @atom:ss + @bond:cy-no @atom:cy @atom:no + @bond:ce-cv @atom:ce @atom:cv + @bond:cd-i @atom:cd @atom:i + @bond:cy-s4 @atom:cy @atom:s4 + @bond:n2-sy @atom:n2 @atom:sy + @bond:cc-s6 @atom:cc @atom:s6 + @bond:i-s2 @atom:i @atom:s2 + @bond:br-cy @atom:br @atom:cy + @bond:br-cf @atom:br @atom:cf + @bond:nf-s4 @atom:nf @atom:s4 + @bond:cf-cv @atom:cf @atom:cv + @bond:cd-s6 @atom:cd @atom:s6 + @bond:ss-sy @atom:ss @atom:sy + @bond:h5-ce @atom:h5 @atom:ce + @bond:h5-cf @atom:h5 @atom:cf + @bond:ce-s4 @atom:ce @atom:s4 + @bond:cf-s4 @atom:cf @atom:s4 + @bond:cy-py @atom:cy @atom:py + @bond:cd-o @atom:cd @atom:o + @bond:ne-s6 @atom:ne @atom:s6 + @bond:nf-s6 @atom:nf @atom:s6 + @bond:ce-no @atom:ce @atom:no + @bond:cf-no @atom:cf @atom:no + } # (end of Bonds By Type) + + write_once("In Settings") { + angle_coeff @angle:hw-ow-hw harmonic 43.276 104.520 # AMBER 1 TIP3P_water + angle_coeff @angle:hw-hw-ow harmonic 0.000 127.740 # AMBER 1 (found_in_crystallographic_water_with_3_bonds) + angle_coeff @angle:br-c1-br harmonic 58.432 180.000 # Guess 0 + angle_coeff @angle:br-c1-c1 harmonic 56.125 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-c1 harmonic 65.529 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-c2 harmonic 62.451 180.000 # SOURCE3 2 + angle_coeff @angle:c1-c1-c3 harmonic 57.975 178.510 # SOURCE4_SOURCE5 618 0.7369 + angle_coeff @angle:c1-c1-ca harmonic 58.535 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-cl harmonic 63.947 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-f harmonic 80.686 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-ha harmonic 44.782 179.110 # SOURCE3_SOURCE5 219 0.5885 + angle_coeff @angle:c1-c1-hc harmonic 44.772 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-i harmonic 52.986 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-n1 harmonic 83.562 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-n2 harmonic 82.100 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-n3 harmonic 76.721 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-n4 harmonic 74.244 179.560 # SOURCE3 3 0.3096 + angle_coeff @angle:c1-c1-n harmonic 77.977 177.180 # SOURCE3 1 + angle_coeff @angle:c1-c1-na harmonic 76.884 176.750 # SOURCE3 8 2.9328 + angle_coeff @angle:c1-c1-nh harmonic 77.069 179.270 # SOURCE3 3 0.2357 + angle_coeff @angle:c1-c1-no harmonic 74.597 180.000 # SOURCE3 3 + angle_coeff @angle:c1-c1-o harmonic 82.936 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-oh harmonic 78.242 176.650 # SOURCE3 1 + angle_coeff @angle:c1-c1-os harmonic 78.471 176.930 # SOURCE3_SOURCE5 5 1.1927 + angle_coeff @angle:c1-c1-p2 harmonic 68.155 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-p3 harmonic 69.444 169.630 # SOURCE3 2 + angle_coeff @angle:c1-c1-p4 harmonic 67.414 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-p5 harmonic 69.535 176.170 # SOURCE3 2 + angle_coeff @angle:c1-c1-s4 harmonic 55.785 167.470 # SOURCE3 2 + angle_coeff @angle:c1-c1-s6 harmonic 55.388 174.380 # SOURCE3 2 + angle_coeff @angle:c1-c1-s harmonic 58.129 179.970 # SOURCE3 1 + angle_coeff @angle:c1-c1-sh harmonic 55.773 180.000 # SOURCE3 1 + angle_coeff @angle:c1-c1-ss harmonic 56.169 175.600 # SOURCE3_SOURCE5 19 1.3679 + angle_coeff @angle:c2-c1-c2 harmonic 60.185 179.370 # SOURCE3_SOURCE5 14 0.3391 + angle_coeff @angle:c2-c1-ce harmonic 60.047 179.050 # SOURCE4_SOURCE5 15 0.4210 + angle_coeff @angle:c2-c1-n1 harmonic 79.308 180.000 # HF/6-31G* 1 + angle_coeff @angle:c2-c1-o harmonic 78.963 179.500 # SOURCE2 1 + angle_coeff @angle:c2-c1-s2 harmonic 58.516 172.980 # SOURCE3 1 + angle_coeff @angle:c3-c1-c3 harmonic 53.523 180.000 # Guess 0 + angle_coeff @angle:c3-c1-cg harmonic 57.770 178.430 # SOURCE4_SOURCE5 134 0.5502 + angle_coeff @angle:c3-c1-n1 harmonic 73.216 178.580 # SOURCE4_SOURCE5 245 0.5409 + angle_coeff @angle:ca-c1-ca harmonic 54.530 180.000 # Guess 0 + angle_coeff @angle:c-c1-c1 harmonic 57.944 180.000 # SOURCE3 1 + angle_coeff @angle:cg-c1-ha harmonic 44.392 178.830 # SOURCE3_SOURCE5 60 1.1251 + angle_coeff @angle:ch-c1-ha harmonic 44.307 178.830 # SOURCE3_SOURCE5 38 0.3321 + angle_coeff @angle:cl-c1-cl harmonic 70.163 180.000 # Guess 0 + angle_coeff @angle:f-c1-f harmonic 99.768 180.000 # Guess 0 + angle_coeff @angle:i-c1-i harmonic 58.397 180.000 # Guess 0 + angle_coeff @angle:n1-c1-n1 harmonic 141.802 102.010 # SOURCE3 1 + angle_coeff @angle:n1-c1-n3 harmonic 98.388 176.010 # SOURCE2_SOURCE5 5 0.1498 + angle_coeff @angle:n1-c1-nh harmonic 98.195 177.650 # SOURCE4_SOURCE5 18 0.7845 + angle_coeff @angle:n1-c1-os harmonic 99.150 178.590 # SOURCE3 1 + angle_coeff @angle:n1-c1-p3 harmonic 86.562 171.200 # SOURCE2 1 + angle_coeff @angle:n1-c1-ss harmonic 70.134 177.470 # SOURCE3_SOURCE5 15 0.7211 + angle_coeff @angle:n2-c1-n2 harmonic 102.862 180.000 # Guess 0 + angle_coeff @angle:n2-c1-o harmonic 106.076 172.730 # SOURCE3_SOURCE5 10 0.3647 + angle_coeff @angle:n2-c1-s harmonic 73.638 175.910 # SOURCE4_SOURCE5 29 0.2046 + angle_coeff @angle:n3-c1-n3 harmonic 91.381 180.000 # Guess 0 + angle_coeff @angle:n4-c1-n4 harmonic 86.899 180.000 # Guess 0 + angle_coeff @angle:na-c1-na harmonic 90.408 180.000 # Guess 0 + angle_coeff @angle:ne-c1-o harmonic 105.956 172.330 # SOURCE3 1 + angle_coeff @angle:ne-c1-s harmonic 73.610 175.820 # SOURCE4_SOURCE5 23 0.2168 + angle_coeff @angle:nf-c1-o harmonic 105.956 172.330 # SOURCE3 1 + angle_coeff @angle:nh-c1-nh harmonic 91.735 180.000 # Guess 0 + angle_coeff @angle:n-c1-n harmonic 92.583 180.000 # Guess 0 + angle_coeff @angle:no-c1-no harmonic 87.641 180.000 # Guess 0 + angle_coeff @angle:oh-c1-oh harmonic 92.863 180.000 # Guess 0 + angle_coeff @angle:o-c1-o harmonic 105.029 180.000 # Guess 0 + angle_coeff @angle:os-c1-os harmonic 93.419 180.000 # Guess 0 + angle_coeff @angle:p2-c1-p2 harmonic 85.393 180.000 # Guess 0 + angle_coeff @angle:p3-c1-p3 harmonic 84.439 180.000 # Guess 0 + angle_coeff @angle:p4-c1-p4 harmonic 84.439 180.000 # Guess 0 + angle_coeff @angle:p5-c1-p5 harmonic 86.221 180.000 # Guess 0 + angle_coeff @angle:s2-c1-s2 harmonic 57.538 180.000 # Guess 0 + angle_coeff @angle:s4-c1-s4 harmonic 52.562 180.000 # Guess 0 + angle_coeff @angle:s6-c1-s6 harmonic 53.295 180.000 # Guess 0 + angle_coeff @angle:sh-c1-sh harmonic 54.627 180.000 # Guess 0 + angle_coeff @angle:s-c1-s harmonic 57.244 180.000 # Guess 0 + angle_coeff @angle:ss-c1-ss harmonic 54.310 180.000 # Guess 0 + angle_coeff @angle:br-c2-br harmonic 68.999 115.060 # SOURCE3 1 + angle_coeff @angle:br-c2-c2 harmonic 64.458 121.030 # SOURCE4_SOURCE5 18 0.8426 + angle_coeff @angle:br-c2-c3 harmonic 64.834 115.320 # SOURCE4_SOURCE5 18 0.6855 + angle_coeff @angle:br-c2-ce harmonic 64.279 121.530 # SOURCE4_SOURCE5 18 0.7036 + angle_coeff @angle:br-c2-h4 harmonic 42.846 113.730 # SOURCE4_SOURCE5 17 0.5888 + angle_coeff @angle:br-c2-ha harmonic 42.937 113.280 # SOURCE3 1 + angle_coeff @angle:c1-c2-c1 harmonic 74.593 116.770 # SOURCE3 1 + angle_coeff @angle:c1-c2-c2 harmonic 72.319 121.620 # SOURCE3 1 + angle_coeff @angle:c1-c2-c3 harmonic 66.250 124.900 # SOURCE4_SOURCE5 44 0.7045 + angle_coeff @angle:c1-c2-f harmonic 90.501 124.900 # SOURCE2 1 + angle_coeff @angle:c1-c2-ha harmonic 51.141 120.420 # SOURCE3_SOURCE5 30 0.4602 + angle_coeff @angle:c2-c2-c2 harmonic 71.539 121.810 # SOURCE3 10 0.3843 + angle_coeff @angle:c2-c2-c3 harmonic 66.132 123.630 # SOURCE3_SOURCE5 4623 2.2803 + angle_coeff @angle:c2-c2-ca harmonic 71.595 117.000 # SOURCE3 1 + angle_coeff @angle:c2-c2-cc harmonic 72.240 117.210 # SOURCE3 2 0.3418 + angle_coeff @angle:c2-c2-cd harmonic 72.240 117.210 # SOURCE3 2 + angle_coeff @angle:c2-c2-cl harmonic 72.331 123.110 # SOURCE4_SOURCE5 103 1.0574 + angle_coeff @angle:c2-c2-cx harmonic 66.489 124.950 # SOURCE4_SOURCE5 51 1.8521 + angle_coeff @angle:c2-c2-cy harmonic 67.939 117.180 # SOURCE2_SOURCE5 11 1.7549 + angle_coeff @angle:c2-c2-f harmonic 90.338 122.870 # SOURCE4_SOURCE5 37 0.6494 + angle_coeff @angle:c2-c2-h4 harmonic 49.914 122.670 # SOURCE4_SOURCE5 266 1.3387 + angle_coeff @angle:c2-c2-ha harmonic 50.363 120.430 # SOURCE3_SOURCE5 3764 1.3300 + angle_coeff @angle:c2-c2-hc harmonic 50.527 119.700 # SOURCE3 1 + angle_coeff @angle:c2-c2-hx harmonic 49.204 126.450 # SOURCE3 3 0.0219 + angle_coeff @angle:c2-c2-i harmonic 59.321 121.030 # SOURCE3 2 + angle_coeff @angle:c2-c2-n1 harmonic 90.093 122.980 # HF/6-31G* 1 + angle_coeff @angle:c2-c2-n2 harmonic 89.778 126.010 # SOURCE3 1 + angle_coeff @angle:c2-c2-n3 harmonic 88.404 124.550 # SOURCE3 1 + angle_coeff @angle:c2-c2-n4 harmonic 83.421 121.520 # SOURCE3 5 1.2656 + angle_coeff @angle:c2-c2-n harmonic 86.693 123.670 # SOURCE4_SOURCE5 48 1.8326 + angle_coeff @angle:c2-c2-na harmonic 87.232 121.940 # SOURCE3_SOURCE5 35 5.4059 + angle_coeff @angle:c2-c2-nh harmonic 86.653 124.990 # SOURCE3 7 0.9929 + angle_coeff @angle:c2-c2-no harmonic 85.060 123.460 # SOURCE4_SOURCE5 26 1.6311 + angle_coeff @angle:c2-c2-o harmonic 89.793 130.890 # SOURCE3 2 0.0201 + angle_coeff @angle:c2-c2-oh harmonic 89.312 122.170 # SOURCE4_SOURCE5 18 1.1206 + angle_coeff @angle:c2-c2-os harmonic 88.706 121.870 # SOURCE4_SOURCE5 114 1.6810 + angle_coeff @angle:c2-c2-p2 harmonic 88.516 115.100 # SOURCE3 1 + angle_coeff @angle:c2-c2-p3 harmonic 78.573 124.830 # SOURCE3 5 2.1222 + angle_coeff @angle:c2-c2-p4 harmonic 80.685 119.760 # SOURCE3 1 + angle_coeff @angle:c2-c2-p5 harmonic 77.141 125.970 # SOURCE3 1 + angle_coeff @angle:c2-c2-s4 harmonic 64.747 119.840 # SOURCE3 1 + angle_coeff @angle:c2-c2-s6 harmonic 64.702 120.010 # SOURCE3 1 + angle_coeff @angle:c2-c2-s harmonic 63.092 129.370 # SOURCE3 2 + angle_coeff @angle:c2-c2-sh harmonic 62.559 125.700 # SOURCE3 3 1.3390 + angle_coeff @angle:c2-c2-ss harmonic 64.815 122.350 # SOURCE4_SOURCE5 54 2.2017 + angle_coeff @angle:c3-c2-c3 harmonic 64.898 115.650 # SOURCE3_SOURCE5 1743 1.5647 + angle_coeff @angle:c3-c2-cc harmonic 65.283 125.190 # CORR_SOURCE5 50 1.5929 + angle_coeff @angle:c3-c2-cd harmonic 65.283 125.190 # CORR_SOURCE5 50 1.5929 + angle_coeff @angle:c3-c2-ce harmonic 66.056 123.150 # CORR_SOURCE5 2644 2.0746 + angle_coeff @angle:c3-c2-cf harmonic 66.056 123.150 # CORR_SOURCE5 2644 2.0746 + angle_coeff @angle:c3-c2-h4 harmonic 45.760 119.020 # SOURCE4_SOURCE5 63 1.6077 + angle_coeff @angle:c3-c2-ha harmonic 46.411 115.680 # SOURCE3_SOURCE5 3991 1.1961 + angle_coeff @angle:c3-c2-hc harmonic 45.572 120.000 # SOURCE3 1 + angle_coeff @angle:c3-c2-n2 harmonic 83.960 123.430 # SOURCE4_SOURCE5 388 2.3609 + angle_coeff @angle:c3-c2-n harmonic 84.414 114.800 # SOURCE4 12 1.8112 + angle_coeff @angle:c3-c2-na harmonic 83.495 117.200 # SOURCE3_SOURCE5 5 0.8937 + angle_coeff @angle:c3-c2-ne harmonic 84.706 120.710 # SOURCE3_SOURCE5 11 0.9157 + angle_coeff @angle:c3-c2-nf harmonic 84.706 120.710 # SOURCE3_SOURCE5 7 1.3134 + angle_coeff @angle:c3-c2-nh harmonic 84.195 116.210 # SOURCE3_SOURCE5 339 2.4814 + angle_coeff @angle:c3-c2-o harmonic 85.206 122.820 # SOURCE4_SOURCE5 12 1.1220 + angle_coeff @angle:c3-c2-oh harmonic 85.711 115.160 # SOURCE4_SOURCE5 90 2.0675 + angle_coeff @angle:c3-c2-os harmonic 86.117 112.800 # SOURCE4_SOURCE5 148 2.4217 + angle_coeff @angle:c3-c2-p2 harmonic 82.609 122.740 # SOURCE3 2 + angle_coeff @angle:c3-c2-s harmonic 64.740 115.440 # SOURCE3 2 0.0115 + angle_coeff @angle:c3-c2-ss harmonic 63.539 119.660 # SOURCE4_SOURCE5 137 2.1299 + angle_coeff @angle:ca-c2-ca harmonic 70.080 117.880 # SOURCE3 1 + angle_coeff @angle:ca-c2-hc harmonic 48.375 123.300 # SOURCE3 1 + angle_coeff @angle:c-c2-c2 harmonic 69.891 120.700 # SOURCE3 1 + angle_coeff @angle:c-c2-c3 harmonic 65.889 119.700 # SOURCE3 1 + angle_coeff @angle:c-c2-c harmonic 68.722 118.880 # SOURCE3 1 + angle_coeff @angle:cc-c2-h4 harmonic 49.786 119.850 # SOURCE4_SOURCE5 23 0.5829 + angle_coeff @angle:cc-c2-ha harmonic 50.004 118.750 # SOURCE3_SOURCE5 72 1.1667 + angle_coeff @angle:cc-c2-nh harmonic 86.562 123.120 # SOURCE4_SOURCE5 27 1.0384 + angle_coeff @angle:cc-c2-o harmonic 91.352 123.590 # SOURCE4_SOURCE5 12 0.0560 + angle_coeff @angle:cd-c2-ha harmonic 50.004 118.750 # SOURCE3_SOURCE5 72 1.1667 + angle_coeff @angle:ce-c2-cl harmonic 72.107 123.470 # SOURCE4_SOURCE5 41 0.8440 + angle_coeff @angle:ce-c2-h4 harmonic 49.654 122.310 # SOURCE4_SOURCE5 220 1.5462 + angle_coeff @angle:ce-c2-ha harmonic 50.024 120.450 # SOURCE3_SOURCE5 2139 1.1520 + angle_coeff @angle:ce-c2-na harmonic 86.108 124.170 # SOURCE4_SOURCE5 12 1.9766 + angle_coeff @angle:ce-c2-nh harmonic 87.822 120.710 # SOURCE4_SOURCE5 243 2.3407 + angle_coeff @angle:ce-c2-no harmonic 86.097 119.650 # SOURCE4_SOURCE5 10 0.9817 + angle_coeff @angle:ce-c2-o harmonic 91.992 123.370 # SOURCE4_SOURCE5 14 0.7592 + angle_coeff @angle:ce-c2-oh harmonic 88.571 123.130 # SOURCE4_SOURCE5 104 1.7734 + angle_coeff @angle:ce-c2-os harmonic 87.995 122.800 # SOURCE4_SOURCE5 149 2.3406 + angle_coeff @angle:cf-c2-ha harmonic 50.024 120.450 # SOURCE3_SOURCE5 2017 1.1895 + angle_coeff @angle:c-c2-ha harmonic 48.160 121.330 # SOURCE3 4 0.2462 + angle_coeff @angle:c-c2-hc harmonic 48.494 119.700 # SOURCE3 1 + angle_coeff @angle:cl-c2-cl harmonic 82.957 114.340 # SOURCE4_SOURCE5 29 0.6417 + angle_coeff @angle:cl-c2-h4 harmonic 49.503 113.540 # SOURCE4_SOURCE5 33 0.7337 + angle_coeff @angle:cl-c2-ha harmonic 49.579 113.200 # SOURCE3 1 + angle_coeff @angle:cx-c2-ha harmonic 47.006 116.150 # SOURCE4_SOURCE5 64 0.8729 + angle_coeff @angle:f-c2-f harmonic 120.199 111.640 # SOURCE2_SOURCE5 12 0.8567 + angle_coeff @angle:f-c2-ha harmonic 66.780 110.000 # SOURCE2 1 + angle_coeff @angle:h4-c2-n2 harmonic 64.810 120.990 # SOURCE4_SOURCE5 77 1.9305 + angle_coeff @angle:h4-c2-n harmonic 62.621 113.440 # SOURCE4_SOURCE5 78 1.0580 + angle_coeff @angle:h4-c2-na harmonic 62.675 112.970 # SOURCE4_SOURCE5 27 0.6876 + angle_coeff @angle:h4-c2-ne harmonic 64.858 119.510 # SOURCE4_SOURCE5 52 1.6395 + angle_coeff @angle:h4-c2-nh harmonic 62.613 115.080 # SOURCE4_SOURCE5 109 1.1974 + angle_coeff @angle:h4-c2-no harmonic 60.883 113.380 # SOURCE4_SOURCE5 20 0.1373 + angle_coeff @angle:h4-c2-os harmonic 63.989 113.730 # SOURCE3_SOURCE5 89 1.3113 + angle_coeff @angle:h4-c2-ss harmonic 43.595 116.670 # SOURCE3_SOURCE5 49 1.4612 + angle_coeff @angle:h5-c2-n2 harmonic 64.543 121.700 # SOURCE4_SOURCE5 71 2.1538 + angle_coeff @angle:h5-c2-na harmonic 59.208 126.390 # SOURCE3 4 0.3299 + angle_coeff @angle:h5-c2-ne harmonic 64.691 119.850 # SOURCE4_SOURCE5 44 1.3576 + angle_coeff @angle:h5-c2-nh harmonic 62.882 113.910 # SOURCE4_SOURCE5 119 0.8516 + angle_coeff @angle:ha-c2-ha harmonic 37.684 116.900 # SOURCE3_SOURCE5 1456 0.6313 + angle_coeff @angle:ha-c2-n1 harmonic 63.987 120.760 # SOURCE3 8 0.6632 + angle_coeff @angle:ha-c2-n2 harmonic 64.911 120.540 # SOURCE3 92 1.4571 + angle_coeff @angle:ha-c2-n3 harmonic 64.744 113.540 # SOURCE3 1 + angle_coeff @angle:ha-c2-n harmonic 62.620 113.400 # SOURCE3 4 1.2182 + angle_coeff @angle:ha-c2-na harmonic 62.816 112.420 # SOURCE3 8 0.6507 + angle_coeff @angle:ha-c2-ne harmonic 64.391 121.180 # SOURCE3 68 0.6824 + angle_coeff @angle:ha-c2-nf harmonic 64.391 121.180 # SOURCE3 68 + angle_coeff @angle:ha-c2-nh harmonic 62.169 116.680 # SOURCE3 13 2.5734 + angle_coeff @angle:ha-c2-no harmonic 61.209 112.140 # SOURCE3 2 0.0264 + angle_coeff @angle:ha-c2-o harmonic 67.875 117.230 # SOURCE3 2 0.0201 + angle_coeff @angle:ha-c2-oh harmonic 64.058 116.180 # SOURCE3 2 + angle_coeff @angle:ha-c2-os harmonic 64.269 112.690 # SOURCE3 13 2.5851 + angle_coeff @angle:ha-c2-p2 harmonic 57.111 121.480 # SOURCE3 122 0.4329 + angle_coeff @angle:ha-c2-p3 harmonic 53.276 114.310 # SOURCE3 3 + angle_coeff @angle:ha-c2-p4 harmonic 52.849 117.860 # SOURCE3 1 + angle_coeff @angle:ha-c2-p5 harmonic 51.984 116.000 # SOURCE3_SOURCE5 6 0.1220 + angle_coeff @angle:ha-c2-pe harmonic 56.443 121.400 # SOURCE3_SOURCE5 119 0.8904 + angle_coeff @angle:ha-c2-pf harmonic 56.443 121.400 # SOURCE3_SOURCE5 15 1.6416 + angle_coeff @angle:ha-c2-s2 harmonic 46.632 118.740 # SOURCE3 2 + angle_coeff @angle:ha-c2-s4 harmonic 43.223 115.300 # SOURCE3 2 + angle_coeff @angle:ha-c2-s harmonic 43.832 115.700 # SOURCE3 2 + angle_coeff @angle:ha-c2-s6 harmonic 42.982 116.600 # SOURCE3 2 + angle_coeff @angle:ha-c2-sh harmonic 43.327 111.740 # SOURCE3 1 + angle_coeff @angle:ha-c2-ss harmonic 43.588 116.720 # SOURCE3 7 2.7543 + angle_coeff @angle:hc-c2-hc harmonic 37.394 118.920 # SOURCE3 1 + angle_coeff @angle:hc-c2-n2 harmonic 64.965 120.400 # SOURCE3 1 + angle_coeff @angle:hc-c2-n harmonic 62.454 114.040 # SOURCE3 1 + angle_coeff @angle:hc-c2-na harmonic 61.038 119.100 # SOURCE3 1 + angle_coeff @angle:hc-c2-nh harmonic 63.084 113.360 # SOURCE3 1 + angle_coeff @angle:hc-c2-no harmonic 61.222 112.120 # SOURCE3 1 + angle_coeff @angle:hc-c2-oh harmonic 64.060 116.220 # SOURCE3 1 + angle_coeff @angle:hc-c2-os harmonic 63.327 116.110 # SOURCE3 1 + angle_coeff @angle:hc-c2-p3 harmonic 52.613 117.190 # SOURCE3 1 + angle_coeff @angle:hc-c2-p5 harmonic 51.195 119.580 # SOURCE3 1 + angle_coeff @angle:hc-c2-s4 harmonic 43.068 116.120 # SOURCE3 1 + angle_coeff @angle:hc-c2-s6 harmonic 43.193 115.450 # SOURCE3 1 + angle_coeff @angle:hc-c2-sh harmonic 42.589 115.630 # SOURCE3 1 + angle_coeff @angle:hc-c2-ss harmonic 43.793 115.620 # SOURCE3 1 + angle_coeff @angle:hx-c2-n4 harmonic 58.717 113.030 # SOURCE3 3 0.3873 + angle_coeff @angle:i-c2-i harmonic 66.122 117.940 # SOURCE3 1 + angle_coeff @angle:n1-c2-n1 harmonic 113.528 124.150 # HF/6-31G* 1 + angle_coeff @angle:n2-c2-n2 harmonic 120.816 113.820 # SOURCE3 1 + angle_coeff @angle:n2-c2-n4 harmonic 109.745 112.970 # SOURCE4_SOURCE5 13 0.4034 + angle_coeff @angle:n2-c2-na harmonic 110.312 123.620 # SOURCE3 1 + angle_coeff @angle:n2-c2-nh harmonic 110.708 124.270 # SOURCE3 12 2.4114 + angle_coeff @angle:n2-c2-oh harmonic 114.021 122.080 # SOURCE3 1 + angle_coeff @angle:n2-c2-os harmonic 114.100 119.780 # SOURCE4_SOURCE5 55 1.3881 + angle_coeff @angle:n2-c2-ss harmonic 79.299 129.770 # SOURCE3 1 + angle_coeff @angle:n3-c2-n3 harmonic 113.269 118.470 # SOURCE3 1 + angle_coeff @angle:n4-c2-n4 harmonic 102.331 113.930 # SOURCE3 1 + angle_coeff @angle:n4-c2-ss harmonic 80.666 116.270 # SOURCE4_SOURCE5 14 2.4226 + angle_coeff @angle:na-c2-na harmonic 112.735 109.330 # SOURCE3 3 3.0187 + angle_coeff @angle:ne-c2-nh harmonic 110.728 123.460 # CORR_SOURCE5 241 2.3941 + angle_coeff @angle:ne-c2-os harmonic 114.213 118.760 # SOURCE4 5 0.3382 + angle_coeff @angle:ne-c2-ss harmonic 82.205 120.510 # SOURCE4_SOURCE5 32 2.1160 + angle_coeff @angle:nf-c2-nh harmonic 110.728 123.460 # CORR_SOURCE5 241 2.3941 + angle_coeff @angle:nh-c2-nh harmonic 112.122 112.820 # SOURCE4_SOURCE5 689 1.9577 + angle_coeff @angle:nh-c2-oh harmonic 111.944 117.110 # SOURCE4_SOURCE5 15 0.8639 + angle_coeff @angle:nh-c2-os harmonic 112.490 114.300 # SOURCE4_SOURCE5 50 1.3395 + angle_coeff @angle:nh-c2-ss harmonic 84.343 111.550 # SOURCE4 37 1.1778 + angle_coeff @angle:n-c2-n2 harmonic 110.772 122.820 # SOURCE3_SOURCE5 46 2.2661 + angle_coeff @angle:n-c2-n harmonic 110.943 113.230 # SOURCE3 1 + angle_coeff @angle:n-c2-na harmonic 114.893 105.420 # SOURCE3 1 + angle_coeff @angle:n-c2-ne harmonic 109.323 125.340 # SOURCE4_SOURCE5 25 1.6082 + angle_coeff @angle:n-c2-nh harmonic 113.384 109.350 # SOURCE4_SOURCE5 61 1.6924 + angle_coeff @angle:no-c2-no harmonic 106.896 113.900 # SOURCE3 1 + angle_coeff @angle:n-c2-ss harmonic 84.310 111.190 # SOURCE4_SOURCE5 24 0.6195 + angle_coeff @angle:oh-c2-oh harmonic 115.431 114.330 # SOURCE3 1 + angle_coeff @angle:o-c2-o harmonic 122.282 121.690 # SOURCE3 1 + angle_coeff @angle:o-c2-oh harmonic 116.614 121.230 # SOURCE4_SOURCE5 12 0.0958 + angle_coeff @angle:o-c2-s harmonic 80.412 127.680 # SOURCE3 2 0.0547 + angle_coeff @angle:os-c2-os harmonic 113.284 115.050 # SOURCE3_SOURCE5 6 1.2203 + angle_coeff @angle:p2-c2-p2 harmonic 106.670 129.800 # SOURCE3 1 + angle_coeff @angle:p3-c2-p3 harmonic 102.865 115.540 # SOURCE3 1 + angle_coeff @angle:p5-c2-p5 harmonic 98.628 121.850 # SOURCE3 1 + angle_coeff @angle:s4-c2-s4 harmonic 63.778 120.320 # SOURCE3 1 + angle_coeff @angle:s4-c2-s6 harmonic 63.877 119.950 # SOURCE3 1 + angle_coeff @angle:s6-c2-s6 harmonic 63.871 119.970 # SOURCE3 1 + angle_coeff @angle:sh-c2-sh harmonic 65.736 110.480 # SOURCE3 1 + angle_coeff @angle:sh-c2-ss harmonic 64.466 117.820 # SOURCE3 1 + angle_coeff @angle:s-c2-s harmonic 64.374 121.670 # SOURCE3 1 + angle_coeff @angle:ss-c2-ss harmonic 65.740 116.400 # SOURCE3_SOURCE5 22 2.3993 + angle_coeff @angle:br-c3-br harmonic 67.612 109.740 # SOURCE4_SOURCE5 24 0.9971 + angle_coeff @angle:br-c3-c1 harmonic 63.834 111.800 # SOURCE2 3 0.2160 + angle_coeff @angle:br-c3-c3 harmonic 63.860 110.010 # SOURCE3_SOURCE5 216 1.1568 + angle_coeff @angle:br-c3-c harmonic 64.284 108.920 # SOURCE4_SOURCE5 35 2.3703 + angle_coeff @angle:br-c3-h1 harmonic 42.433 105.070 # SOURCE3_SOURCE5 175 0.8275 + angle_coeff @angle:br-c3-h2 harmonic 42.082 106.800 # SOURCE4_SOURCE5 25 0.8044 + angle_coeff @angle:br-c3-hc harmonic 42.147 106.500 # SOURCE3 1 + angle_coeff @angle:c1-c3-c1 harmonic 68.433 110.110 # SOURCE2_SOURCE5 11 0.3454 + angle_coeff @angle:c1-c3-c2 harmonic 67.184 110.920 # SOURCE4_SOURCE5 35 0.5903 + angle_coeff @angle:c1-c3-c3 harmonic 66.276 111.710 # SOURCE4_SOURCE5 624 1.1320 + angle_coeff @angle:c1-c3-ca harmonic 67.047 110.890 # SOURCE4_SOURCE5 78 1.1306 + angle_coeff @angle:c1-c3-cc harmonic 66.403 114.190 # CORR_SOURCE5 15 0.1283 + angle_coeff @angle:c1-c3-cd harmonic 66.403 114.190 # CORR_SOURCE5 15 0.1283 + angle_coeff @angle:c1-c3-cl harmonic 72.363 110.630 # SOURCE2 3 1.2257 + angle_coeff @angle:c1-c3-h1 harmonic 48.917 109.240 # SOURCE4_SOURCE5 436 0.5758 + angle_coeff @angle:c1-c3-hc harmonic 48.879 109.410 # SOURCE3_SOURCE5 495 0.5104 + angle_coeff @angle:c1-c3-hx harmonic 48.339 112.040 # SOURCE4_SOURCE5 52 0.3815 + angle_coeff @angle:c1-c3-n3 harmonic 84.763 112.730 # SOURCE4_SOURCE5 99 0.7675 + angle_coeff @angle:c1-c3-n4 harmonic 83.658 112.060 # SOURCE4_SOURCE5 25 0.5395 + angle_coeff @angle:c1-c3-n harmonic 84.975 112.380 # SOURCE4_SOURCE5 55 0.9540 + angle_coeff @angle:c1-c3-nh harmonic 84.843 112.570 # SOURCE4_SOURCE5 21 0.9525 + angle_coeff @angle:c1-c3-oh harmonic 87.220 109.440 # SOURCE4_SOURCE5 127 0.9878 + angle_coeff @angle:c1-c3-os harmonic 87.159 109.000 # SOURCE4_SOURCE5 87 0.9531 + angle_coeff @angle:c2-c3-c2 harmonic 65.947 112.000 # SOURCE4_SOURCE5 453 0.8153 + angle_coeff @angle:c2-c3-c3 harmonic 65.459 111.560 # SOURCE4_SOURCE5 9345 1.7373 + angle_coeff @angle:c2-c3-ca harmonic 65.670 112.490 # SOURCE4_SOURCE5 475 1.6791 + angle_coeff @angle:c2-c3-cc harmonic 66.148 111.910 # CORR_SOURCE5 65 1.7402 + angle_coeff @angle:c2-c3-cd harmonic 66.148 111.910 # CORR_SOURCE5 65 1.7402 + angle_coeff @angle:c2-c3-ce harmonic 65.863 111.810 # CORR_SOURCE5 85 1.8411 + angle_coeff @angle:c2-c3-cf harmonic 65.867 111.810 # CORR_SOURCE5 85 1.8411 + angle_coeff @angle:c2-c3-cl harmonic 71.864 110.510 # SOURCE4_SOURCE5 60 1.4762 + angle_coeff @angle:c2-c3-cx harmonic 65.673 112.270 # SOURCE4_SOURCE5 76 1.2985 + angle_coeff @angle:c2-c3-cy harmonic 68.713 101.630 # SOURCE4_SOURCE5 164 1.0542 + angle_coeff @angle:c2-c3-f harmonic 88.392 110.760 # SOURCE4_SOURCE5 69 0.5776 + angle_coeff @angle:c2-c3-h1 harmonic 47.561 109.960 # SOURCE3_SOURCE5 2169 0.9645 + angle_coeff @angle:c2-c3-h2 harmonic 47.195 111.690 # SOURCE4_SOURCE5 49 0.9061 + angle_coeff @angle:c2-c3-hc harmonic 47.475 110.360 # SOURCE3_SOURCE5 11033 0.8531 + angle_coeff @angle:c2-c3-hx harmonic 47.293 111.340 # SOURCE4_SOURCE5 56 0.8089 + angle_coeff @angle:c2-c3-n2 harmonic 85.005 108.720 # SOURCE4_SOURCE5 36 1.3485 + angle_coeff @angle:c2-c3-n3 harmonic 84.006 111.420 # SOURCE4_SOURCE5 447 1.5436 + angle_coeff @angle:c2-c3-n harmonic 84.129 111.290 # SOURCE4_SOURCE5 180 1.8899 + angle_coeff @angle:c2-c3-na harmonic 83.365 113.270 # SOURCE4_SOURCE5 78 1.2929 + angle_coeff @angle:c2-c3-nh harmonic 84.408 110.410 # SOURCE4_SOURCE5 134 1.7670 + angle_coeff @angle:c2-c3-oh harmonic 85.495 110.350 # SOURCE4_SOURCE5 793 1.4429 + angle_coeff @angle:c2-c3-os harmonic 85.982 108.560 # SOURCE4_SOURCE5 763 1.7474 + angle_coeff @angle:c2-c3-s4 harmonic 63.867 109.890 # SOURCE4_SOURCE5 19 0.8365 + angle_coeff @angle:c2-c3-ss harmonic 65.117 104.970 # SOURCE3 2 2.2248 + angle_coeff @angle:c3-c3-c3 harmonic 64.888 111.510 # SOURCE3_SOURCE5 61999 1.8007 + angle_coeff @angle:c3-c3-ca harmonic 65.183 112.070 # SOURCE4_SOURCE5 11982 1.5875 + angle_coeff @angle:c3-c3-cc harmonic 65.515 111.930 # CORR_SOURCE5 2280 1.5614 + angle_coeff @angle:c3-c3-cd harmonic 65.515 111.930 # CORR_SOURCE5 2280 1.5614 + angle_coeff @angle:c3-c3-ce harmonic 65.514 110.920 # CORR_SOURCE5 1159 1.8552 + angle_coeff @angle:c3-c3-cf harmonic 65.518 110.920 # CORR_SOURCE5 1159 1.8552 + angle_coeff @angle:c3-c3-cl harmonic 71.515 110.410 # SOURCE3_SOURCE5 824 0.9824 + angle_coeff @angle:c3-c3-cx harmonic 65.198 111.820 # SOURCE4 179 2.4814 + angle_coeff @angle:c3-c3-cy harmonic 64.751 112.390 # SOURCE3_SOURCE5 322 1.3623 + angle_coeff @angle:c3-c3-f harmonic 87.947 109.240 # SOURCE3_SOURCE5 785 1.1106 + angle_coeff @angle:c3-c3-h1 harmonic 46.868 109.560 # SOURCE3_SOURCE5 55294 0.8125 + angle_coeff @angle:c3-c3-h2 harmonic 46.730 110.220 # SOURCE3_SOURCE5 1083 0.9457 + angle_coeff @angle:c3-c3-hc harmonic 46.816 109.800 # SOURCE3_SOURCE5 179054 0.7972 + angle_coeff @angle:c3-c3-hx harmonic 46.677 110.560 # SOURCE3_SOURCE5 1758 0.9658 + angle_coeff @angle:c3-c3-i harmonic 60.771 111.150 # SOURCE3_SOURCE5 48 1.3033 + angle_coeff @angle:c3-c3-n1 harmonic 84.875 108.980 # SOURCE4_SOURCE5 20 0.8416 + angle_coeff @angle:c3-c3-n2 harmonic 84.123 108.800 # SOURCE3_SOURCE5 665 2.1214 + angle_coeff @angle:c3-c3-n3 harmonic 83.305 111.040 # SOURCE3_SOURCE5 12086 1.5519 + angle_coeff @angle:c3-c3-n4 harmonic 80.976 114.210 # SOURCE4_SOURCE5 1537 2.4293 + angle_coeff @angle:c3-c3-n harmonic 83.161 111.610 # SOURCE3_SOURCE5 3543 1.6672 + angle_coeff @angle:c3-c3-na harmonic 82.668 112.880 # SOURCE4_SOURCE5 1677 1.4742 + angle_coeff @angle:c3-c3-nh harmonic 83.541 110.460 # SOURCE4_SOURCE5 3983 1.4189 + angle_coeff @angle:c3-c3-no harmonic 82.142 109.410 # SOURCE4_SOURCE5 111 1.3831 + angle_coeff @angle:c3-c3-o harmonic 85.929 113.010 # SOURCE4_SOURCE5 31 1.2728 + angle_coeff @angle:c3-c3-oh harmonic 84.642 110.190 # SOURCE3_SOURCE5 10188 1.4761 + angle_coeff @angle:c3-c3-os harmonic 85.306 107.970 # SOURCE3_SOURCE5 11384 1.3754 + angle_coeff @angle:c3-c3-p3 harmonic 79.425 113.360 # SOURCE4_SOURCE5 47 0.9033 + angle_coeff @angle:c3-c3-p5 harmonic 80.490 112.020 # SOURCE4_SOURCE5 346 1.5599 + angle_coeff @angle:c3-c3-s4 harmonic 63.481 110.120 # SOURCE4_SOURCE5 117 0.9869 + angle_coeff @angle:c3-c3-s6 harmonic 64.024 110.220 # SOURCE4_SOURCE5 420 1.6420 + angle_coeff @angle:c3-c3-sh harmonic 62.313 113.130 # SOURCE4_SOURCE5 226 1.3868 + angle_coeff @angle:c3-c3-ss harmonic 63.222 110.270 # SOURCE3_SOURCE5 1315 1.5441 + angle_coeff @angle:c3-c3-sy harmonic 64.081 109.920 # SOURCE4_SOURCE5 62 0.8825 + angle_coeff @angle:ca-c3-ca harmonic 65.611 112.240 # SOURCE4_SOURCE5 1062 1.7394 + angle_coeff @angle:ca-c3-cc harmonic 65.728 112.880 # CORR_SOURCE5 146 1.4369 + angle_coeff @angle:ca-c3-cd harmonic 65.728 112.880 # CORR_SOURCE5 146 1.4369 + angle_coeff @angle:ca-c3-ce harmonic 65.614 112.210 # SOURCE4_SOURCE5 144 1.2359 + angle_coeff @angle:ca-c3-cl harmonic 71.631 110.980 # SOURCE4_SOURCE5 62 0.7657 + angle_coeff @angle:ca-c3-cx harmonic 65.472 112.510 # SOURCE4_SOURCE5 24 2.0281 + angle_coeff @angle:ca-c3-f harmonic 87.765 111.770 # SOURCE4_SOURCE5 1080 0.3344 + angle_coeff @angle:ca-c3-h1 harmonic 47.477 109.560 # SOURCE3_SOURCE5 3349 0.8812 + angle_coeff @angle:ca-c3-h2 harmonic 47.451 109.700 # SOURCE4_SOURCE5 86 1.1507 + angle_coeff @angle:ca-c3-hc harmonic 47.281 110.470 # SOURCE3_SOURCE5 13973 0.8325 + angle_coeff @angle:ca-c3-hx harmonic 47.099 111.450 # SOURCE4_SOURCE5 113 0.5046 + angle_coeff @angle:ca-c3-n2 harmonic 83.424 112.390 # SOURCE4_SOURCE5 58 1.2061 + angle_coeff @angle:ca-c3-n3 harmonic 83.546 112.160 # SOURCE4_SOURCE5 1125 1.2435 + angle_coeff @angle:ca-c3-n4 harmonic 81.721 113.800 # SOURCE4_SOURCE5 79 2.4049 + angle_coeff @angle:ca-c3-n harmonic 83.537 112.380 # SOURCE4_SOURCE5 512 1.5411 + angle_coeff @angle:ca-c3-na harmonic 83.330 112.870 # SOURCE4_SOURCE5 240 1.5673 + angle_coeff @angle:ca-c3-nc harmonic 85.966 106.510 # SOURCE3 1 + angle_coeff @angle:ca-c3-nd harmonic 85.966 106.510 # SOURCE3 1 + angle_coeff @angle:ca-c3-nh harmonic 83.853 111.390 # SOURCE4_SOURCE5 349 0.9955 + angle_coeff @angle:ca-c3-oh harmonic 85.192 110.620 # SOURCE4_SOURCE5 1007 1.2078 + angle_coeff @angle:ca-c3-os harmonic 85.631 108.950 # SOURCE4_SOURCE5 1123 1.1238 + angle_coeff @angle:ca-c3-p5 harmonic 80.237 113.600 # SOURCE4_SOURCE5 41 1.4171 + angle_coeff @angle:ca-c3-s6 harmonic 63.909 111.540 # SOURCE4_SOURCE5 38 1.2112 + angle_coeff @angle:ca-c3-ss harmonic 63.252 111.020 # SOURCE4_SOURCE5 226 1.6105 + angle_coeff @angle:ca-c3-sx harmonic 63.255 110.780 # SOURCE4_SOURCE5 40 0.6145 + angle_coeff @angle:c-c3-c1 harmonic 66.399 112.380 # SOURCE4_SOURCE5 32 1.1114 + angle_coeff @angle:c-c3-c2 harmonic 65.824 111.330 # SOURCE4_SOURCE5 282 2.0882 + angle_coeff @angle:c-c3-c3 harmonic 65.307 111.040 # SOURCE3_SOURCE5 8161 1.7693 + angle_coeff @angle:c-c3-c harmonic 65.424 111.630 # SOURCE4_SOURCE5 409 2.2030 + angle_coeff @angle:c-c3-ca harmonic 65.788 111.010 # SOURCE4_SOURCE5 1282 1.7239 + angle_coeff @angle:c-c3-cc harmonic 65.455 113.170 # CORR_SOURCE5 164 1.3730 + angle_coeff @angle:cc-c3-cc harmonic 66.183 112.390 # CORR_SOURCE5 14 0.8688 + angle_coeff @angle:cc-c3-cd harmonic 66.037 112.890 # SOURCE3_SOURCE5 10 1.0674 + angle_coeff @angle:cc-c3-cx harmonic 65.894 112.100 # SOURCE4_SOURCE5 12 1.5999 + angle_coeff @angle:c-c3-cd harmonic 65.455 113.170 # CORR_SOURCE5 164 1.3730 + angle_coeff @angle:c-c3-ce harmonic 65.523 111.890 # SOURCE4_SOURCE5 75 1.6968 + angle_coeff @angle:cc-c3-f harmonic 88.472 111.310 # CORR_SOURCE5 105 0.4710 + angle_coeff @angle:cc-c3-h1 harmonic 47.855 109.640 # SOURCE3_SOURCE5 1145 0.8896 + angle_coeff @angle:cc-c3-hc harmonic 47.671 110.490 # SOURCE3_SOURCE5 6781 0.7714 + angle_coeff @angle:cc-c3-hx harmonic 47.588 111.010 # SOURCE4_SOURCE5 19 0.7303 + angle_coeff @angle:c-c3-cl harmonic 71.700 110.410 # SOURCE4_SOURCE5 146 1.5057 + angle_coeff @angle:cc-c3-n2 harmonic 84.630 110.310 # SOURCE4_SOURCE5 32 0.5465 + angle_coeff @angle:cc-c3-n3 harmonic 84.370 111.090 # CORR_SOURCE5 192 1.4026 + angle_coeff @angle:cc-c3-n4 harmonic 81.467 115.580 # SOURCE4_SOURCE5 12 1.1723 + angle_coeff @angle:cc-c3-n harmonic 84.192 111.760 # CORR_SOURCE5 51 1.5321 + angle_coeff @angle:cc-c3-na harmonic 83.647 113.150 # SOURCE4_SOURCE5 18 0.7152 + angle_coeff @angle:cc-c3-nc harmonic 86.190 107.040 # SOURCE3 2 + angle_coeff @angle:cc-c3-nh harmonic 83.918 112.340 # CORR_SOURCE5 25 1.8212 + angle_coeff @angle:cc-c3-oh harmonic 85.441 111.160 # CORR_SOURCE5 187 1.3741 + angle_coeff @angle:cc-c3-os harmonic 86.104 108.900 # CORR_SOURCE5 213 1.1488 + angle_coeff @angle:cc-c3-p5 harmonic 79.513 116.230 # SOURCE4_SOURCE5 12 0.7766 + angle_coeff @angle:cc-c3-sh harmonic 62.454 114.020 # SOURCE3 1 + angle_coeff @angle:cc-c3-ss harmonic 63.363 111.160 # CORR_SOURCE5 65 0.8483 + angle_coeff @angle:c-c3-cx harmonic 65.687 111.150 # SOURCE4_SOURCE5 48 1.8520 + angle_coeff @angle:cd-c3-cd harmonic 66.183 112.390 # CORR_SOURCE5 14 0.8688 + angle_coeff @angle:cd-c3-f harmonic 88.472 111.310 # CORR_SOURCE5 105 0.4710 + angle_coeff @angle:cd-c3-h1 harmonic 47.855 109.640 # SOURCE3_SOURCE5 1145 0.8896 + angle_coeff @angle:cd-c3-hc harmonic 47.671 110.490 # SOURCE3_SOURCE5 6781 0.7714 + angle_coeff @angle:cd-c3-n3 harmonic 84.370 111.090 # CORR_SOURCE5 192 1.4026 + angle_coeff @angle:cd-c3-n harmonic 84.192 111.760 # CORR_SOURCE5 51 1.5321 + angle_coeff @angle:cd-c3-nd harmonic 86.190 107.040 # SOURCE3 2 + angle_coeff @angle:cd-c3-nh harmonic 83.918 112.340 # CORR_SOURCE5 25 1.8212 + angle_coeff @angle:cd-c3-oh harmonic 85.441 111.160 # CORR_SOURCE5 187 1.3741 + angle_coeff @angle:cd-c3-os harmonic 86.104 108.900 # CORR_SOURCE5 213 1.1488 + angle_coeff @angle:cd-c3-sh harmonic 62.454 114.020 # SOURCE3 1 + angle_coeff @angle:cd-c3-ss harmonic 63.363 111.160 # CORR_SOURCE5 65 0.8483 + angle_coeff @angle:ce-c3-ce harmonic 65.825 111.470 # SOURCE4_SOURCE5 53 0.5207 + angle_coeff @angle:ce-c3-cy harmonic 68.161 102.860 # CORR_SOURCE5 72 0.2321 + angle_coeff @angle:ce-c3-h1 harmonic 47.473 109.540 # CORR_SOURCE5 252 0.8257 + angle_coeff @angle:ce-c3-hc harmonic 47.247 110.590 # SOURCE3_SOURCE5 2438 0.7216 + angle_coeff @angle:ce-c3-n3 harmonic 83.687 111.760 # CORR_SOURCE5 83 0.9878 + angle_coeff @angle:ce-c3-n harmonic 84.343 110.220 # SOURCE4_SOURCE5 16 1.1101 + angle_coeff @angle:ce-c3-oh harmonic 84.964 111.190 # SOURCE4_SOURCE5 74 1.5577 + angle_coeff @angle:ce-c3-os harmonic 85.406 109.500 # SOURCE4_SOURCE5 71 1.9041 + angle_coeff @angle:ce-c3-ss harmonic 63.335 110.720 # SOURCE4_SOURCE5 19 1.8179 + angle_coeff @angle:c-c3-f harmonic 88.148 110.000 # SOURCE4_SOURCE5 101 0.9951 + angle_coeff @angle:cf-c3-cy harmonic 68.165 102.860 # CORR_SOURCE5 72 0.2321 + angle_coeff @angle:cf-c3-h1 harmonic 47.479 109.540 # CORR_SOURCE5 252 0.8257 + angle_coeff @angle:cf-c3-hc harmonic 47.253 110.590 # SOURCE3_SOURCE5 2411 0.7279 + angle_coeff @angle:cf-c3-n3 harmonic 83.693 111.760 # CORR_SOURCE5 83 0.9878 + angle_coeff @angle:c-c3-h1 harmonic 47.531 108.220 # SOURCE3_SOURCE5 3484 0.9857 + angle_coeff @angle:c-c3-h2 harmonic 47.215 109.690 # SOURCE4_SOURCE5 100 1.0452 + angle_coeff @angle:c-c3-hc harmonic 47.411 108.770 # SOURCE3_SOURCE5 11750 0.9577 + angle_coeff @angle:c-c3-hx harmonic 47.419 108.850 # SOURCE4_SOURCE5 172 0.8753 + angle_coeff @angle:cl-c3-cl harmonic 81.372 109.330 # SOURCE2_SOURCE5 325 0.5772 + angle_coeff @angle:cl-c3-f harmonic 94.073 109.110 # SOURCE4_SOURCE5 57 0.3048 + angle_coeff @angle:cl-c3-h1 harmonic 48.859 106.780 # SOURCE3_SOURCE5 860 0.4999 + angle_coeff @angle:cl-c3-h2 harmonic 48.808 106.990 # SOURCE4_SOURCE5 147 0.6435 + angle_coeff @angle:cl-c3-hc harmonic 48.661 107.650 # SOURCE2 2 2.2500 + angle_coeff @angle:cl-c3-os harmonic 91.033 110.860 # SOURCE4_SOURCE5 26 1.1129 + angle_coeff @angle:cl-c3-ss harmonic 71.130 112.530 # SOURCE4_SOURCE5 39 1.6937 + angle_coeff @angle:c-c3-n2 harmonic 84.195 109.670 # SOURCE4_SOURCE5 157 1.3668 + angle_coeff @angle:c-c3-n3 harmonic 83.673 111.140 # SOURCE4_SOURCE5 1652 1.6694 + angle_coeff @angle:c-c3-n4 harmonic 82.611 110.730 # SOURCE4_SOURCE5 103 1.8311 + angle_coeff @angle:c-c3-n harmonic 84.540 109.060 # SOURCE3_SOURCE5 905 1.7615 + angle_coeff @angle:c-c3-na harmonic 83.584 111.500 # SOURCE4_SOURCE5 87 1.4027 + angle_coeff @angle:c-c3-nh harmonic 84.373 109.350 # SOURCE4_SOURCE5 106 1.8043 + angle_coeff @angle:c-c3-oh harmonic 85.627 108.790 # SOURCE4_SOURCE5 824 1.3178 + angle_coeff @angle:c-c3-os harmonic 85.254 109.210 # SOURCE3_SOURCE5 429 1.7229 + angle_coeff @angle:c-c3-p5 harmonic 81.107 110.850 # SOURCE4_SOURCE5 32 1.9944 + angle_coeff @angle:c-c3-s6 harmonic 64.058 110.670 # SOURCE4_SOURCE5 14 2.0336 + angle_coeff @angle:c-c3-sh harmonic 63.714 108.720 # SOURCE4_SOURCE5 31 0.7714 + angle_coeff @angle:c-c3-ss harmonic 63.788 108.840 # SOURCE3_SOURCE5 149 1.5563 + angle_coeff @angle:cx-c3-cx harmonic 65.100 113.590 # SOURCE4_SOURCE5 27 1.6971 + angle_coeff @angle:cx-c3-h1 harmonic 47.373 109.680 # SOURCE4_SOURCE5 611 0.9276 + angle_coeff @angle:cx-c3-hc harmonic 47.265 110.180 # SOURCE4_SOURCE5 1366 0.9055 + angle_coeff @angle:cx-c3-hx harmonic 46.751 112.740 # SOURCE4_SOURCE5 30 0.2036 + angle_coeff @angle:cx-c3-n3 harmonic 83.086 113.180 # SOURCE4_SOURCE5 97 1.4360 + angle_coeff @angle:cx-c3-n4 harmonic 86.467 101.460 # SOURCE4_SOURCE5 26 0.1569 + angle_coeff @angle:cx-c3-n harmonic 83.435 112.430 # SOURCE4_SOURCE5 68 0.9548 + angle_coeff @angle:cx-c3-oh harmonic 85.349 109.980 # SOURCE4_SOURCE5 145 1.5821 + angle_coeff @angle:cx-c3-os harmonic 85.968 107.870 # SOURCE4_SOURCE5 126 1.4698 + angle_coeff @angle:cy-c3-h1 harmonic 47.300 108.280 # SOURCE4_SOURCE5 415 1.0438 + angle_coeff @angle:cy-c3-hc harmonic 46.770 110.750 # SOURCE3_SOURCE5 539 0.9100 + angle_coeff @angle:cy-c3-n3 harmonic 82.598 113.410 # SOURCE4_SOURCE5 17 1.2266 + angle_coeff @angle:cy-c3-oh harmonic 84.330 111.490 # SOURCE4_SOURCE5 347 0.5753 + angle_coeff @angle:cy-c3-os harmonic 85.847 107.070 # SOURCE4_SOURCE5 16 1.1669 + angle_coeff @angle:f-c3-f harmonic 121.555 107.360 # SOURCE2_SOURCE5 1178 0.5429 + angle_coeff @angle:f-c3-h1 harmonic 66.869 107.900 # SOURCE3_SOURCE5 181 0.5803 + angle_coeff @angle:f-c3-h2 harmonic 66.607 108.790 # SOURCE3_SOURCE5 66 0.6474 + angle_coeff @angle:f-c3-h3 harmonic 66.233 110.080 # SOURCE4_SOURCE5 45 0.6178 + angle_coeff @angle:f-c3-hc harmonic 66.555 108.920 # SOURCE2 5 3.0534 + angle_coeff @angle:f-c3-n2 harmonic 112.898 110.400 # SOURCE2 3 2.6470 + angle_coeff @angle:f-c3-os harmonic 114.397 110.580 # SOURCE4_SOURCE5 114 1.2792 + angle_coeff @angle:f-c3-p5 harmonic 107.070 107.610 # SOURCE4_SOURCE5 35 1.1282 + angle_coeff @angle:f-c3-s6 harmonic 83.906 109.680 # SOURCE4_SOURCE5 57 0.4273 + angle_coeff @angle:f-c3-ss harmonic 81.883 111.750 # SOURCE4_SOURCE5 38 1.8571 + angle_coeff @angle:h1-c3-h1 harmonic 38.802 108.460 # SOURCE3_SOURCE5 50971 0.8222 + angle_coeff @angle:h1-c3-n1 harmonic 62.841 107.990 # HF/6-31G*_SOURCE5 7 0.3554 + angle_coeff @angle:h1-c3-n2 harmonic 61.133 109.810 # SOURCE3_SOURCE5 957 1.0346 + angle_coeff @angle:h1-c3-n3 harmonic 61.163 109.880 # SOURCE3_SOURCE5 20428 1.2681 + angle_coeff @angle:h1-c3-n harmonic 61.544 108.880 # SOURCE3_SOURCE5 6816 1.0842 + angle_coeff @angle:h1-c3-na harmonic 61.536 108.780 # SOURCE3_SOURCE5 2896 0.9339 + angle_coeff @angle:h1-c3-nc harmonic 61.844 108.570 # SOURCE3 6 0.0764 + angle_coeff @angle:h1-c3-nd harmonic 61.844 108.570 # SOURCE3 6 + angle_coeff @angle:h1-c3-nh harmonic 61.213 109.790 # SOURCE3_SOURCE5 6106 1.0471 + angle_coeff @angle:h1-c3-no harmonic 59.962 105.470 # SOURCE4_SOURCE5 73 0.6459 + angle_coeff @angle:h1-c3-o harmonic 64.637 116.450 # SOURCE3_SOURCE5 25 1.4798 + angle_coeff @angle:h1-c3-oh harmonic 62.540 110.260 # SOURCE3_SOURCE5 7971 1.1355 + angle_coeff @angle:h1-c3-os harmonic 62.377 109.780 # SOURCE3_SOURCE5 19982 1.1092 + angle_coeff @angle:h1-c3-p5 harmonic 54.608 108.270 # SOURCE4_SOURCE5 222 1.1376 + angle_coeff @angle:h1-c3-s4 harmonic 42.850 107.920 # SOURCE3_SOURCE5 496 0.6942 + angle_coeff @angle:h1-c3-s harmonic 41.631 112.370 # SOURCE3_SOURCE5 14 0.4580 + angle_coeff @angle:h1-c3-s6 harmonic 43.600 107.150 # SOURCE3_SOURCE5 1022 0.8992 + angle_coeff @angle:h1-c3-sh harmonic 42.420 108.420 # SOURCE3_SOURCE5 259 1.4350 + angle_coeff @angle:h1-c3-ss harmonic 42.463 108.760 # SOURCE3_SOURCE5 3369 1.0506 + angle_coeff @angle:h1-c3-sx harmonic 42.605 107.700 # SOURCE3_SOURCE5 201 0.7977 + angle_coeff @angle:h1-c3-sy harmonic 43.421 107.880 # SOURCE3_SOURCE5 377 1.1089 + angle_coeff @angle:h2-c3-h2 harmonic 38.523 110.200 # SOURCE3_SOURCE5 677 0.8586 + angle_coeff @angle:h2-c3-i harmonic 39.064 104.990 # SOURCE3 2 + angle_coeff @angle:h2-c3-n2 harmonic 61.031 110.200 # SOURCE3_SOURCE5 69 0.8494 + angle_coeff @angle:h2-c3-n3 harmonic 61.318 109.350 # SOURCE4_SOURCE5 660 0.9086 + angle_coeff @angle:h2-c3-n harmonic 62.008 107.280 # SOURCE4_SOURCE5 692 1.3634 + angle_coeff @angle:h2-c3-na harmonic 61.963 107.310 # SOURCE3_SOURCE5 428 0.9670 + angle_coeff @angle:h2-c3-nc harmonic 61.596 109.470 # SOURCE3 10 0.3133 + angle_coeff @angle:h2-c3-nd harmonic 61.596 109.470 # SOURCE3 10 + angle_coeff @angle:h2-c3-nh harmonic 61.159 110.010 # SOURCE4_SOURCE5 274 1.1061 + angle_coeff @angle:h2-c3-no harmonic 59.186 108.270 # SOURCE3_SOURCE5 13 0.4528 + angle_coeff @angle:h2-c3-o harmonic 66.832 108.970 # SOURCE3 4 + angle_coeff @angle:h2-c3-oh harmonic 62.785 109.430 # SOURCE3_SOURCE5 258 1.6998 + angle_coeff @angle:h2-c3-os harmonic 62.442 109.580 # SOURCE3_SOURCE5 2823 0.6377 + angle_coeff @angle:h2-c3-s4 harmonic 42.969 107.310 # SOURCE3_SOURCE5 29 0.3344 + angle_coeff @angle:h2-c3-s harmonic 42.709 106.750 # SOURCE3 4 + angle_coeff @angle:h2-c3-s6 harmonic 43.728 106.510 # SOURCE4_SOURCE5 67 1.0466 + angle_coeff @angle:h2-c3-sh harmonic 42.525 107.870 # SOURCE3 6 0.4376 + angle_coeff @angle:h2-c3-ss harmonic 42.544 108.330 # SOURCE3_SOURCE5 279 1.1804 + angle_coeff @angle:h3-c3-n3 harmonic 61.502 108.730 # SOURCE4_SOURCE5 32 1.8953 + angle_coeff @angle:h3-c3-nc harmonic 61.634 109.370 # SOURCE3 1 + angle_coeff @angle:h3-c3-nd harmonic 61.634 109.370 # SOURCE3 1 + angle_coeff @angle:h3-c3-nh harmonic 61.116 110.200 # SOURCE4_SOURCE5 11 1.4222 + angle_coeff @angle:h3-c3-os harmonic 61.911 111.510 # SOURCE4_SOURCE5 44 1.4444 + angle_coeff @angle:h3-c3-ss harmonic 42.391 109.090 # SOURCE4_SOURCE5 19 0.8547 + angle_coeff @angle:hc-c3-hc harmonic 38.960 107.580 # SOURCE3_SOURCE5 92717 0.5328 + angle_coeff @angle:hc-c3-i harmonic 39.071 104.990 # SOURCE3 1 + angle_coeff @angle:hc-c3-n2 harmonic 61.220 109.500 # SOURCE3 1 + angle_coeff @angle:hc-c3-n3 harmonic 61.186 109.800 # SOURCE2 5 2.0070 + angle_coeff @angle:hc-c3-n4 harmonic 60.071 107.900 # SOURCE3 1 + angle_coeff @angle:hc-c3-n harmonic 61.369 109.500 # SOURCE3 1 + angle_coeff @angle:hc-c3-na harmonic 61.334 109.500 # SOURCE3 1 + angle_coeff @angle:hc-c3-nh harmonic 60.731 111.540 # SOURCE3 1 + angle_coeff @angle:hc-c3-no harmonic 59.477 107.200 # SOURCE2 1 + angle_coeff @angle:hc-c3-oh harmonic 62.756 109.500 # SOURCE3 1 + angle_coeff @angle:hc-c3-os harmonic 62.686 108.700 # SOURCE2 13 2.3739 + angle_coeff @angle:hc-c3-p2 harmonic 53.633 110.180 # SOURCE3 25 0.4057 + angle_coeff @angle:hc-c3-p3 harmonic 53.601 109.890 # SOURCE3_SOURCE5 528 0.6740 + angle_coeff @angle:hc-c3-p4 harmonic 54.339 109.450 # SOURCE3_SOURCE5 128 0.4042 + angle_coeff @angle:hc-c3-p5 harmonic 54.567 108.430 # SOURCE3_SOURCE5 513 1.0539 + angle_coeff @angle:hc-c3-px harmonic 54.606 109.700 # SOURCE3_SOURCE5 103 0.3664 + angle_coeff @angle:hc-c3-py harmonic 54.373 109.180 # SOURCE3_SOURCE5 74 0.4506 + angle_coeff @angle:hc-c3-s4 harmonic 42.934 107.500 # SOURCE2 1 + angle_coeff @angle:hc-c3-s6 harmonic 43.388 108.200 # SOURCE3 1 + angle_coeff @angle:hc-c3-sh harmonic 42.529 107.870 # SOURCE2 3 2.0981 + angle_coeff @angle:hc-c3-ss harmonic 42.463 108.760 # SOURCE2 3 1.6891 + angle_coeff @angle:hx-c3-hx harmonic 38.782 109.750 # SOURCE3_SOURCE5 5075 0.8234 + angle_coeff @angle:hx-c3-n4 harmonic 60.076 108.010 # SOURCE3_SOURCE5 6129 1.3658 + angle_coeff @angle:i-c3-i harmonic 66.247 113.120 # SOURCE3 1 + angle_coeff @angle:n1-c3-n1 harmonic 112.470 105.070 # HF/6-31G* 1 + angle_coeff @angle:n2-c3-n2 harmonic 107.595 109.680 # SOURCE3_SOURCE5 6 0.6095 + angle_coeff @angle:n2-c3-nh harmonic 106.900 111.270 # SOURCE4_SOURCE5 19 0.9194 + angle_coeff @angle:n2-c3-oh harmonic 108.058 111.890 # SOURCE4_SOURCE5 31 0.2948 + angle_coeff @angle:n2-c3-os harmonic 108.177 111.040 # SOURCE4_SOURCE5 16 1.7109 + angle_coeff @angle:n3-c3-n3 harmonic 106.945 111.230 # SOURCE4_SOURCE5 123 1.3731 + angle_coeff @angle:n3-c3-nc harmonic 106.282 113.290 # SOURCE3 1 + angle_coeff @angle:n3-c3-nd harmonic 106.282 113.290 # SOURCE3 1 + angle_coeff @angle:n3-c3-nh harmonic 107.270 110.610 # SOURCE4_SOURCE5 58 1.2027 + angle_coeff @angle:n3-c3-oh harmonic 108.693 110.700 # SOURCE4_SOURCE5 52 0.9667 + angle_coeff @angle:n3-c3-os harmonic 109.486 108.510 # SOURCE4_SOURCE5 53 1.7879 + angle_coeff @angle:n3-c3-p5 harmonic 103.225 109.410 # SOURCE4_SOURCE5 26 1.5078 + angle_coeff @angle:n3-c3-ss harmonic 81.202 107.380 # SOURCE4_SOURCE5 50 1.6843 + angle_coeff @angle:n4-c3-n4 harmonic 102.708 113.320 # SOURCE3 1 + angle_coeff @angle:na-c3-na harmonic 106.005 113.490 # SOURCE3 1 + angle_coeff @angle:na-c3-os harmonic 109.296 109.030 # SOURCE4_SOURCE5 495 0.5894 + angle_coeff @angle:nc-c3-nc harmonic 107.885 110.610 # SOURCE3 1 + angle_coeff @angle:nc-c3-nh harmonic 106.714 112.430 # SOURCE3 1 + angle_coeff @angle:nc-c3-os harmonic 106.495 115.410 # SOURCE3 3 1.0288 + angle_coeff @angle:nd-c3-nd harmonic 107.885 110.610 # SOURCE3 1 + angle_coeff @angle:nd-c3-nh harmonic 106.714 112.430 # SOURCE3 1 + angle_coeff @angle:nd-c3-os harmonic 106.495 115.410 # SOURCE3 3 + angle_coeff @angle:nh-c3-nh harmonic 109.672 105.870 # SOURCE3 1 + angle_coeff @angle:nh-c3-oh harmonic 107.958 112.270 # SOURCE4_SOURCE5 43 0.9258 + angle_coeff @angle:nh-c3-os harmonic 109.202 109.130 # SOURCE4_SOURCE5 47 1.3529 + angle_coeff @angle:nh-c3-p5 harmonic 101.809 112.500 # SOURCE4 5 1.7371 + angle_coeff @angle:nh-c3-ss harmonic 80.602 109.010 # SOURCE4_SOURCE5 19 2.2237 + angle_coeff @angle:n-c3-n2 harmonic 106.958 111.310 # SOURCE4_SOURCE5 12 1.5991 + angle_coeff @angle:n-c3-n3 harmonic 107.105 111.110 # SOURCE4_SOURCE5 37 1.6907 + angle_coeff @angle:n-c3-n harmonic 106.473 112.650 # SOURCE3_SOURCE5 30 2.1166 + angle_coeff @angle:n-c3-nh harmonic 108.332 108.660 # SOURCE4_SOURCE5 26 1.9779 + angle_coeff @angle:n-c3-oh harmonic 107.902 112.560 # SOURCE4_SOURCE5 75 1.1310 + angle_coeff @angle:no-c3-no harmonic 105.051 105.180 # SOURCE4_SOURCE5 23 1.9192 + angle_coeff @angle:n-c3-os harmonic 109.285 109.130 # SOURCE4_SOURCE5 432 0.8256 + angle_coeff @angle:n-c3-p5 harmonic 102.749 110.520 # SOURCE4_SOURCE5 12 1.2739 + angle_coeff @angle:oh-c3-oh harmonic 110.720 109.900 # SOURCE4_SOURCE5 20 1.5118 + angle_coeff @angle:oh-c3-os harmonic 110.658 109.380 # SOURCE4_SOURCE5 280 1.2270 + angle_coeff @angle:oh-c3-p5 harmonic 104.174 108.680 # SOURCE4_SOURCE5 77 1.3087 + angle_coeff @angle:oh-c3-sh harmonic 78.616 115.460 # SOURCE3 1 + angle_coeff @angle:o-c3-o harmonic 113.472 122.300 # SOURCE3 1 + angle_coeff @angle:os-c3-os harmonic 110.893 108.290 # SOURCE3_SOURCE5 723 1.0283 + angle_coeff @angle:os-c3-p5 harmonic 104.392 107.990 # SOURCE4_SOURCE5 63 2.0205 + angle_coeff @angle:os-c3-ss harmonic 81.130 108.590 # SOURCE4_SOURCE5 54 1.6231 + angle_coeff @angle:p2-c3-p2 harmonic 104.003 110.480 # SOURCE3 1 + angle_coeff @angle:p3-c3-p3 harmonic 103.975 110.160 # SOURCE3 1 + angle_coeff @angle:p5-c3-p5 harmonic 105.046 110.130 # SOURCE4 33 2.4116 + angle_coeff @angle:p5-c3-ss harmonic 81.364 111.480 # SOURCE4_SOURCE5 12 1.9291 + angle_coeff @angle:s4-c3-s4 harmonic 63.477 112.290 # SOURCE3 2 1.2724 + angle_coeff @angle:s4-c3-s6 harmonic 63.526 113.520 # SOURCE3 1 + angle_coeff @angle:s6-c3-s6 harmonic 64.593 111.220 # SOURCE3_SOURCE5 6 1.7567 + angle_coeff @angle:sh-c3-sh harmonic 61.944 116.260 # SOURCE3 1 + angle_coeff @angle:sh-c3-ss harmonic 63.545 110.730 # SOURCE3 1 + angle_coeff @angle:s-c3-s harmonic 60.088 123.350 # SOURCE3 1 + angle_coeff @angle:ss-c3-ss harmonic 63.417 111.440 # SOURCE4_SOURCE5 66 1.6272 + angle_coeff @angle:br-ca-br harmonic 67.710 117.600 # SOURCE3 1 + angle_coeff @angle:br-ca-ca harmonic 64.160 119.300 # SOURCE3_SOURCE5 640 0.4898 + angle_coeff @angle:c1-ca-c1 harmonic 66.786 120.000 # SOURCE3 1 + angle_coeff @angle:c1-ca-ca harmonic 67.736 120.000 # SOURCE3 1 + angle_coeff @angle:c2-ca-c2 harmonic 69.458 120.000 # SOURCE3 1 + angle_coeff @angle:c2-ca-ca harmonic 68.938 120.600 # SOURCE3 1 + angle_coeff @angle:c3-ca-c2 harmonic 66.051 120.000 # SOURCE3 1 + angle_coeff @angle:c3-ca-c3 harmonic 64.318 116.800 # SOURCE3 1 + angle_coeff @angle:c3-ca-ca harmonic 65.583 120.770 # SOURCE3_SOURCE5 23865 1.2220 + angle_coeff @angle:c3-ca-cp harmonic 65.482 120.630 # CORR 120 + angle_coeff @angle:c3-ca-cq harmonic 65.482 120.630 # CORR 120 + angle_coeff @angle:c3-ca-na harmonic 83.171 118.720 # SOURCE4_SOURCE5 145 1.1124 + angle_coeff @angle:c3-ca-nb harmonic 84.916 116.680 # SOURCE4_SOURCE5 1062 0.9093 + angle_coeff @angle:ca-ca-ca harmonic 68.767 120.020 # SOURCE3_SOURCE5 108055 0.7701 + angle_coeff @angle:ca-ca-cc harmonic 67.122 120.790 # SOURCE3_SOURCE5 2048 2.0941 + angle_coeff @angle:ca-ca-cd harmonic 67.122 120.790 # SOURCE3_SOURCE5 2048 2.0941 + angle_coeff @angle:ca-ca-ce harmonic 66.584 120.820 # SOURCE3_SOURCE5 3962 1.5682 + angle_coeff @angle:ca-ca-cf harmonic 66.584 120.820 # SOURCE3_SOURCE5 3948 1.5732 + angle_coeff @angle:ca-ca-cg harmonic 67.841 120.270 # SOURCE3_SOURCE5 453 0.4194 + angle_coeff @angle:ca-ca-ch harmonic 67.841 120.270 # SOURCE3_SOURCE5 447 0.4218 + angle_coeff @angle:ca-ca-cl harmonic 72.112 119.390 # SOURCE4_SOURCE5 6669 0.5363 + angle_coeff @angle:ca-ca-cp harmonic 68.394 120.690 # CORR_SOURCE5 1915 0.8596 + angle_coeff @angle:ca-ca-cq harmonic 68.394 120.690 # CORR_SOURCE5 1915 0.8596 + angle_coeff @angle:ca-ca-cx harmonic 66.227 120.830 # SOURCE4 71 1.3062 + angle_coeff @angle:ca-ca-cy harmonic 65.564 120.860 # SOURCE4 17 2.0287 + angle_coeff @angle:ca-ca-f harmonic 89.261 118.960 # SOURCE4_SOURCE5 2636 0.3804 + angle_coeff @angle:ca-ca-h4 harmonic 48.561 120.340 # SOURCE3_SOURCE5 2590 0.5568 + angle_coeff @angle:ca-ca-ha harmonic 48.680 119.880 # SOURCE3_SOURCE5 126779 0.4424 + angle_coeff @angle:ca-ca-i harmonic 61.098 119.110 # SOURCE3_SOURCE5 123 0.9416 + angle_coeff @angle:ca-ca-n1 harmonic 88.104 119.780 # HF/6-31G*_SOURCE5 14 0.4655 + angle_coeff @angle:ca-ca-n2 harmonic 89.100 119.570 # SOURCE3 1 + angle_coeff @angle:ca-ca-n4 harmonic 83.650 119.310 # SOURCE3_SOURCE5 63 1.4960 + angle_coeff @angle:ca-ca-n harmonic 85.629 120.190 # SOURCE3_SOURCE5 3041 2.2480 + angle_coeff @angle:ca-ca-na harmonic 87.167 118.340 # SOURCE3 54 3.6168 + angle_coeff @angle:ca-ca-nb harmonic 86.849 122.940 # SOURCE3_SOURCE5 5507 1.1495 + angle_coeff @angle:ca-ca-nc harmonic 87.635 119.720 # SOURCE3 22 3.3994 + angle_coeff @angle:ca-ca-nd harmonic 87.635 119.720 # SOURCE3 22 3.3994 + angle_coeff @angle:ca-ca-ne harmonic 85.610 120.610 # SOURCE3_SOURCE5 349 2.0914 + angle_coeff @angle:ca-ca-nf harmonic 85.610 120.610 # SOURCE3_SOURCE5 349 2.0914 + angle_coeff @angle:ca-ca-nh harmonic 86.163 120.950 # SOURCE3_SOURCE5 4970 1.2168 + angle_coeff @angle:ca-ca-no harmonic 84.250 119.010 # SOURCE3_SOURCE5 854 0.7071 + angle_coeff @angle:ca-ca-o harmonic 89.534 123.260 # SOURCE4_SOURCE5 35 1.2620 + angle_coeff @angle:ca-ca-oh harmonic 87.211 119.900 # SOURCE3_SOURCE5 6384 1.7827 + angle_coeff @angle:ca-ca-os harmonic 87.289 119.200 # SOURCE3 52 0.5240 + angle_coeff @angle:ca-ca-p2 harmonic 81.329 114.360 # SOURCE3 1 + angle_coeff @angle:ca-ca-p3 harmonic 79.908 120.010 # SOURCE3_SOURCE5 24 1.1566 + angle_coeff @angle:ca-ca-p4 harmonic 80.525 120.300 # SOURCE3 1 + angle_coeff @angle:ca-ca-p5 harmonic 80.938 120.240 # SOURCE4_SOURCE5 15 0.0746 + angle_coeff @angle:ca-ca-pe harmonic 79.643 120.450 # SOURCE3 20 0.2719 + angle_coeff @angle:ca-ca-pf harmonic 79.643 120.450 # SOURCE3 20 0.2719 + angle_coeff @angle:ca-ca-px harmonic 79.761 120.530 # SOURCE3 10 0.4509 + angle_coeff @angle:ca-ca-py harmonic 80.172 120.250 # SOURCE3_SOURCE5 75 1.5353 + angle_coeff @angle:ca-ca-s4 harmonic 63.561 119.150 # SOURCE3 1 + angle_coeff @angle:ca-ca-s6 harmonic 63.822 120.430 # SOURCE4_SOURCE5 89 1.1843 + angle_coeff @angle:ca-ca-s harmonic 64.056 122.550 # SOURCE3 4 + angle_coeff @angle:ca-ca-sh harmonic 63.072 121.780 # SOURCE4_SOURCE5 54 1.3490 + angle_coeff @angle:ca-ca-ss harmonic 63.530 120.060 # SOURCE3_SOURCE5 1341 2.1632 + angle_coeff @angle:ca-ca-sx harmonic 62.473 119.280 # SOURCE3_SOURCE5 140 1.1919 + angle_coeff @angle:ca-ca-sy harmonic 63.407 119.420 # SOURCE3_SOURCE5 1489 0.7572 + angle_coeff @angle:c-ca-c3 harmonic 64.497 118.060 # SOURCE3 1 + angle_coeff @angle:c-ca-c harmonic 64.519 120.000 # SOURCE3 1 + angle_coeff @angle:c-ca-ca harmonic 66.351 120.330 # SOURCE3_SOURCE5 8320 1.9221 + angle_coeff @angle:cc-ca-cp harmonic 66.010 124.300 # SOURCE4_SOURCE5 20 0.6423 + angle_coeff @angle:cc-ca-nb harmonic 86.709 117.750 # CORR_SOURCE5 42 1.7067 + angle_coeff @angle:cd-ca-nb harmonic 86.709 117.750 # CORR_SOURCE5 42 1.7067 + angle_coeff @angle:ce-ca-na harmonic 84.062 119.920 # SOURCE4_SOURCE5 38 0.5659 + angle_coeff @angle:ce-ca-nb harmonic 86.028 117.560 # CORR_SOURCE5 91 0.8492 + angle_coeff @angle:cf-ca-nb harmonic 86.028 117.560 # CORR_SOURCE5 91 0.8492 + angle_coeff @angle:cg-ca-cp harmonic 67.320 121.530 # SOURCE4_SOURCE5 24 0.1831 + angle_coeff @angle:c-ca-ha harmonic 46.900 115.900 # SOURCE3 1 + angle_coeff @angle:cl-ca-cl harmonic 80.510 118.720 # SOURCE3 1 + angle_coeff @angle:cl-ca-cp harmonic 71.726 120.390 # SOURCE4_SOURCE5 52 0.5449 + angle_coeff @angle:cl-ca-nb harmonic 92.329 116.180 # SOURCE4_SOURCE5 152 0.5909 + angle_coeff @angle:c-ca-nb harmonic 85.429 117.780 # SOURCE4_SOURCE5 262 1.1507 + angle_coeff @angle:c-ca-nc harmonic 80.781 130.800 # SOURCE3 1 + angle_coeff @angle:c-ca-nd harmonic 80.781 130.800 # SOURCE3 1 + angle_coeff @angle:cp-ca-f harmonic 88.831 119.420 # SOURCE4_SOURCE5 46 0.2425 + angle_coeff @angle:cp-ca-h4 harmonic 48.404 120.090 # SOURCE4_SOURCE5 62 0.4243 + angle_coeff @angle:cp-ca-ha harmonic 48.475 119.860 # CORR_SOURCE5 1240 0.5472 + angle_coeff @angle:cp-ca-na harmonic 90.665 108.790 # SOURCE4_SOURCE5 514 0.5055 + angle_coeff @angle:cp-ca-nb harmonic 86.369 123.580 # SOURCE4_SOURCE5 129 0.8391 + angle_coeff @angle:cp-ca-nh harmonic 85.714 121.560 # SOURCE4_SOURCE5 30 0.5872 + angle_coeff @angle:cp-ca-oh harmonic 86.623 120.850 # SOURCE4_SOURCE5 41 1.3658 + angle_coeff @angle:cp-ca-ss harmonic 65.950 111.170 # SOURCE4_SOURCE5 24 1.8180 + angle_coeff @angle:cp-ca-sy harmonic 65.646 111.180 # CORR 4 + angle_coeff @angle:cq-ca-ha harmonic 48.475 119.860 # CORR_SOURCE5 1240 0.5472 + angle_coeff @angle:cq-ca-sy harmonic 65.646 111.180 # CORR 4 + angle_coeff @angle:f-ca-f harmonic 116.252 117.500 # SOURCE3 1 + angle_coeff @angle:f-ca-nb harmonic 116.437 114.670 # SOURCE4_SOURCE5 42 0.4295 + angle_coeff @angle:h4-ca-n harmonic 61.444 116.020 # SOURCE3 1 + angle_coeff @angle:h4-ca-na harmonic 62.367 116.320 # SOURCE3_SOURCE5 394 0.4031 + angle_coeff @angle:h4-ca-nb harmonic 64.066 116.030 # SOURCE3_SOURCE5 2217 0.2861 + angle_coeff @angle:h4-ca-nc harmonic 62.978 118.360 # SOURCE3 1 + angle_coeff @angle:h4-ca-nd harmonic 62.978 118.360 # SOURCE3 1 + angle_coeff @angle:h4-ca-os harmonic 64.330 111.150 # SOURCE3 1 + angle_coeff @angle:h4-ca-ss harmonic 42.528 116.190 # SOURCE3 1 + angle_coeff @angle:h5-ca-nb harmonic 64.141 115.820 # SOURCE3_SOURCE5 618 0.3893 + angle_coeff @angle:h5-ca-nc harmonic 62.019 122.110 # SOURCE3 1 + angle_coeff @angle:h5-ca-nd harmonic 62.019 122.110 # SOURCE3 1 + angle_coeff @angle:ha-ca-n2 harmonic 65.427 116.000 # SOURCE2 1 + angle_coeff @angle:ha-ca-p2 harmonic 51.256 122.560 # SOURCE3 1 + angle_coeff @angle:i-ca-i harmonic 67.026 119.280 # SOURCE3 1 + angle_coeff @angle:n1-ca-n1 harmonic 114.391 117.030 # HF/6-31G* 1 + angle_coeff @angle:n2-ca-n2 harmonic 115.741 120.000 # SOURCE3 1 + angle_coeff @angle:n2-ca-na harmonic 112.235 119.600 # SOURCE3 1 + angle_coeff @angle:n4-ca-n4 harmonic 102.984 116.820 # SOURCE3 1 + angle_coeff @angle:na-ca-na harmonic 115.064 107.620 # SOURCE4_SOURCE5 11 0.8382 + angle_coeff @angle:na-ca-nb harmonic 107.575 127.090 # SOURCE4_SOURCE5 708 1.9791 + angle_coeff @angle:na-ca-nh harmonic 109.505 118.660 # SOURCE4_SOURCE5 73 0.9977 + angle_coeff @angle:nb-ca-nb harmonic 109.369 127.260 # SOURCE4_SOURCE5 1586 1.1854 + angle_coeff @angle:nb-ca-nc harmonic 109.175 126.500 # CORR_SOURCE5 33 1.0453 + angle_coeff @angle:nb-ca-nd harmonic 109.175 126.500 # CORR_SOURCE5 33 1.0453 + angle_coeff @angle:nb-ca-nh harmonic 112.063 116.940 # SOURCE4_SOURCE5 2042 0.7868 + angle_coeff @angle:nb-ca-oh harmonic 112.676 117.680 # SOURCE4_SOURCE5 182 0.7979 + angle_coeff @angle:nb-ca-os harmonic 111.458 119.720 # SOURCE4_SOURCE5 194 0.7211 + angle_coeff @angle:nb-ca-sh harmonic 80.990 117.610 # SOURCE4_SOURCE5 35 1.3741 + angle_coeff @angle:nb-ca-ss harmonic 80.595 118.800 # SOURCE4_SOURCE5 111 1.8247 + angle_coeff @angle:nc-ca-nc harmonic 107.717 128.740 # SOURCE3 1 + angle_coeff @angle:nc-ca-nh harmonic 110.670 118.860 # SOURCE3 1 + angle_coeff @angle:nd-ca-nd harmonic 107.717 128.740 # SOURCE3 1 + angle_coeff @angle:nd-ca-nh harmonic 110.670 118.860 # SOURCE3 1 + angle_coeff @angle:nh-ca-nh harmonic 108.376 120.980 # SOURCE3 1 + angle_coeff @angle:n-ca-nc harmonic 107.316 123.860 # SOURCE3 1 + angle_coeff @angle:n-ca-nd harmonic 107.316 123.860 # SOURCE3 1 + angle_coeff @angle:n-ca-nh harmonic 109.547 116.160 # SOURCE3 1 + angle_coeff @angle:no-ca-no harmonic 103.915 117.140 # SOURCE3 1 + angle_coeff @angle:oh-ca-oh harmonic 110.589 120.000 # SOURCE3 1 + angle_coeff @angle:o-ca-o harmonic 118.708 126.820 # SOURCE3 1 + angle_coeff @angle:os-ca-os harmonic 113.107 113.730 # SOURCE3 1 + angle_coeff @angle:p2-ca-p2 harmonic 100.107 121.200 # SOURCE3 1 + angle_coeff @angle:p3-ca-p3 harmonic 100.783 121.460 # SOURCE3 1 + angle_coeff @angle:p5-ca-p5 harmonic 103.117 120.000 # SOURCE3 1 + angle_coeff @angle:s4-ca-s4 harmonic 66.946 105.810 # SOURCE3 1 + angle_coeff @angle:s6-ca-s6 harmonic 67.745 105.810 # SOURCE3 1 + angle_coeff @angle:sh-ca-sh harmonic 63.051 120.240 # SOURCE3 1 + angle_coeff @angle:s-ca-s harmonic 63.293 125.140 # SOURCE3 1 + angle_coeff @angle:ss-ca-ss harmonic 64.440 115.150 # SOURCE3 1 + angle_coeff @angle:br-c-br harmonic 67.692 113.100 # SOURCE3 1 + angle_coeff @angle:br-c-c3 harmonic 64.598 110.740 # SOURCE3 1 + angle_coeff @angle:br-c-o harmonic 78.490 121.460 # SOURCE3 5 1.6264 + angle_coeff @angle:c1-c-c1 harmonic 67.194 115.320 # SOURCE3 1 + angle_coeff @angle:c1-c-o harmonic 87.628 122.340 # SOURCE3 1 + angle_coeff @angle:c2-c-c2 harmonic 69.337 116.780 # SOURCE3 1 + angle_coeff @angle:c2-c-ha harmonic 49.151 115.950 # SOURCE3 1 + angle_coeff @angle:c2-c-o harmonic 91.182 119.120 # SOURCE3 2 + angle_coeff @angle:c2-c-s harmonic 66.780 119.160 # SOURCE3 2 + angle_coeff @angle:c3-c-c3 harmonic 64.041 116.500 # SOURCE3_SOURCE5 720 1.3034 + angle_coeff @angle:c3-c-ca harmonic 64.216 118.400 # SOURCE4_SOURCE5 749 1.4991 + angle_coeff @angle:c3-c-cc harmonic 64.984 117.290 # CORR_SOURCE5 118 1.7737 + angle_coeff @angle:c3-c-cd harmonic 64.984 117.290 # CORR_SOURCE5 118 1.7737 + angle_coeff @angle:c3-c-ce harmonic 64.919 116.440 # CORR_SOURCE5 543 1.3559 + angle_coeff @angle:c3-c-cf harmonic 64.919 116.440 # CORR_SOURCE5 543 1.3559 + angle_coeff @angle:c3-c-cg harmonic 65.958 115.000 # SOURCE2 1 + angle_coeff @angle:c3-c-ch harmonic 65.958 115.000 # SOURCE2 1 + angle_coeff @angle:c3-c-cl harmonic 71.237 111.990 # SOURCE3 2 0.0125 + angle_coeff @angle:c3-c-f harmonic 88.418 110.700 # SOURCE2 1 + angle_coeff @angle:c3-c-h4 harmonic 46.112 114.640 # SOURCE4_SOURCE5 193 0.4989 + angle_coeff @angle:c3-c-ha harmonic 46.047 115.220 # SOURCE3 15 0.3181 + angle_coeff @angle:c3-c-i harmonic 60.388 112.940 # SOURCE3 1 + angle_coeff @angle:c3-c-n2 harmonic 83.534 114.530 # SOURCE3 1 + angle_coeff @angle:c3-c-n4 harmonic 81.106 112.260 # SOURCE3 2 + angle_coeff @angle:c3-c-n harmonic 84.266 115.180 # SOURCE3_SOURCE5 2997 1.3885 + angle_coeff @angle:c3-c-ne harmonic 84.941 112.610 # CORR_SOURCE5 19 2.4426 + angle_coeff @angle:c3-c-nf harmonic 84.941 112.610 # CORR_SOURCE5 19 2.4426 + angle_coeff @angle:c3-c-o harmonic 84.552 123.200 # SOURCE3_SOURCE5 10083 1.8011 + angle_coeff @angle:c3-c-oh harmonic 85.803 112.730 # SOURCE3_SOURCE5 1989 1.3796 + angle_coeff @angle:c3-c-os harmonic 86.419 110.720 # SOURCE3_SOURCE5 1786 0.9391 + angle_coeff @angle:c3-c-p3 harmonic 77.773 116.420 # SOURCE3 3 0.1291 + angle_coeff @angle:c3-c-p5 harmonic 76.995 118.900 # SOURCE3 1 + angle_coeff @angle:c3-c-pe harmonic 77.418 114.850 # SOURCE3 1 + angle_coeff @angle:c3-c-pf harmonic 77.418 114.850 # SOURCE3 1 + angle_coeff @angle:c3-c-px harmonic 77.387 115.600 # SOURCE3 1 + angle_coeff @angle:c3-c-py harmonic 77.698 118.160 # SOURCE3 3 1.0735 + angle_coeff @angle:c3-c-s4 harmonic 61.352 114.790 # SOURCE3 1 + angle_coeff @angle:c3-c-s6 harmonic 61.371 114.720 # SOURCE3 1 + angle_coeff @angle:c3-c-s harmonic 63.941 123.150 # SOURCE3_SOURCE5 66 1.3121 + angle_coeff @angle:c3-c-sh harmonic 63.752 112.650 # SOURCE3_SOURCE5 9 1.5127 + angle_coeff @angle:c3-c-ss harmonic 63.438 113.510 # SOURCE3_SOURCE5 65 0.9334 + angle_coeff @angle:c3-c-sx harmonic 61.201 113.970 # SOURCE3 3 0.0610 + angle_coeff @angle:c3-c-sy harmonic 61.612 114.280 # SOURCE3 3 0.7341 + angle_coeff @angle:ca-c-ca harmonic 65.033 118.110 # SOURCE4_SOURCE5 506 1.8633 + angle_coeff @angle:ca-c-cc harmonic 66.124 116.000 # CORR_SOURCE5 670 1.7109 + angle_coeff @angle:ca-c-cd harmonic 66.124 116.000 # CORR_SOURCE5 670 1.7109 + angle_coeff @angle:ca-c-ce harmonic 64.959 119.020 # CORR_SOURCE5 83 1.3943 + angle_coeff @angle:ca-c-cf harmonic 64.959 119.020 # CORR_SOURCE5 83 1.3943 + angle_coeff @angle:ca-c-h4 harmonic 46.911 115.140 # SOURCE4_SOURCE5 122 0.7683 + angle_coeff @angle:ca-c-ha harmonic 47.184 114.120 # SOURCE3 1 + angle_coeff @angle:ca-c-n harmonic 85.392 115.250 # SOURCE4_SOURCE5 1494 1.4889 + angle_coeff @angle:ca-c-ne harmonic 85.290 114.710 # SOURCE4_SOURCE5 14 0.5855 + angle_coeff @angle:ca-c-o harmonic 86.207 122.600 # SOURCE3_SOURCE5 3960 1.5802 + angle_coeff @angle:ca-c-oh harmonic 86.748 113.450 # SOURCE4_SOURCE5 656 0.8414 + angle_coeff @angle:ca-c-os harmonic 86.963 112.440 # SOURCE3_SOURCE5 493 0.8365 + angle_coeff @angle:ca-c-s harmonic 64.593 122.680 # SOURCE4_SOURCE5 32 1.3788 + angle_coeff @angle:ca-c-sh harmonic 62.515 118.630 # SOURCE3 1 + angle_coeff @angle:ca-c-ss harmonic 63.406 115.050 # SOURCE4_SOURCE5 37 1.0695 + angle_coeff @angle:br-cc-c harmonic 65.156 116.280 # SOURCE4_SOURCE5 32 1.1116 + angle_coeff @angle:br-cc-cc harmonic 63.389 124.050 # SOURCE4_SOURCE5 31 1.9388 + angle_coeff @angle:br-cc-cd harmonic 63.686 124.230 # SOURCE4_SOURCE5 116 2.3356 + angle_coeff @angle:br-cc-na harmonic 80.565 121.580 # SOURCE4_SOURCE5 19 0.8500 + angle_coeff @angle:c2-cc-c3 harmonic 65.262 126.110 # SOURCE3 2 + angle_coeff @angle:c2-cc-ca harmonic 66.952 124.420 # CORR_SOURCE5 25 1.8245 + angle_coeff @angle:c2-cc-cc harmonic 68.308 122.190 # CORR_SOURCE5 46 2.3853 + angle_coeff @angle:c2-cc-cd harmonic 71.286 117.020 # SOURCE3 2 0.0703 + angle_coeff @angle:c2-cc-ha harmonic 49.231 122.720 # SOURCE3 2 0.0092 + angle_coeff @angle:c2-cc-n harmonic 86.150 124.910 # SOURCE3_SOURCE5 5 1.6803 + angle_coeff @angle:c2-cc-os harmonic 87.991 121.420 # CORR_SOURCE5 24 0.9570 + angle_coeff @angle:c-c-c3 harmonic 63.621 116.170 # SOURCE3_SOURCE5 58 1.1332 + angle_coeff @angle:c3-cc-ca harmonic 63.318 126.520 # CORR_SOURCE5 370 1.8946 + angle_coeff @angle:c3-cc-cc harmonic 66.709 115.970 # SOURCE3 4 3.0507 + angle_coeff @angle:c3-cc-cd harmonic 66.802 119.450 # SOURCE3 35 8.2040 + angle_coeff @angle:c3-cc-cf harmonic 67.395 117.840 # CORR 2 + angle_coeff @angle:c3-cc-ha harmonic 45.517 121.520 # SOURCE3 32 3.2091 + angle_coeff @angle:c3-cc-n2 harmonic 83.336 125.690 # CORR_SOURCE5 12 1.9935 + angle_coeff @angle:c3-cc-n harmonic 83.558 119.190 # CORR_SOURCE5 107 2.1078 + angle_coeff @angle:c3-cc-na harmonic 82.356 122.730 # CORR_SOURCE5 961 1.6482 + angle_coeff @angle:c3-cc-nc harmonic 83.215 120.950 # CORR_SOURCE5 456 0.8756 + angle_coeff @angle:c3-cc-nd harmonic 83.886 122.410 # CORR_SOURCE5 653 1.6992 + angle_coeff @angle:c3-cc-os harmonic 84.855 116.800 # CORR_SOURCE5 306 0.8990 + angle_coeff @angle:c3-cc-ss harmonic 62.656 121.530 # CORR_SOURCE5 270 1.0948 + angle_coeff @angle:c-c-c harmonic 64.391 111.680 # SOURCE3 2 6.1226 + angle_coeff @angle:c-c-ca harmonic 63.623 118.600 # SOURCE4_SOURCE5 90 1.0263 + angle_coeff @angle:ca-cc-cc harmonic 69.336 111.040 # SOURCE3 9 7.9455 + angle_coeff @angle:ca-cc-cd harmonic 69.802 113.510 # SOURCE3 26 7.4229 + angle_coeff @angle:ca-cc-ce harmonic 64.258 127.010 # SOURCE4_SOURCE5 38 1.6763 + angle_coeff @angle:ca-cc-h4 harmonic 45.368 129.250 # SOURCE3_SOURCE5 54 1.5632 + angle_coeff @angle:ca-cc-ha harmonic 46.300 124.040 # SOURCE3 34 3.6691 + angle_coeff @angle:ca-cc-n harmonic 85.642 117.670 # CORR 18 + angle_coeff @angle:ca-cc-nc harmonic 84.897 120.590 # CORR_SOURCE5 224 1.0853 + angle_coeff @angle:ca-cc-nd harmonic 85.294 123.240 # CORR_SOURCE5 246 2.3557 + angle_coeff @angle:ca-cc-nh harmonic 84.253 122.130 # SOURCE4_SOURCE5 20 1.7636 + angle_coeff @angle:ca-cc-oh harmonic 86.577 117.550 # CORR_SOURCE5 35 1.9318 + angle_coeff @angle:ca-cc-os harmonic 87.229 114.750 # CORR_SOURCE5 247 2.0579 + angle_coeff @angle:ca-cc-ss harmonic 63.408 120.800 # CORR_SOURCE5 80 2.1212 + angle_coeff @angle:c-cc-c2 harmonic 67.513 121.170 # CORR_SOURCE5 28 1.6484 + angle_coeff @angle:c-cc-c3 harmonic 65.378 117.760 # CORR_SOURCE5 566 1.9588 + angle_coeff @angle:c-cc-c harmonic 65.240 121.070 # CORR_SOURCE5 128 0.8902 + angle_coeff @angle:c-c-cc harmonic 66.020 111.670 # SOURCE3 4 5.5146 + angle_coeff @angle:c-cc-ca harmonic 65.005 122.950 # SOURCE3 1 + angle_coeff @angle:c-cc-cc harmonic 65.674 122.690 # SOURCE3 2 + angle_coeff @angle:cc-c-cc harmonic 66.696 115.840 # CORR_SOURCE5 115 1.4659 + angle_coeff @angle:cc-cc-cc harmonic 70.129 110.700 # SOURCE3 54 3.4091 + angle_coeff @angle:cc-cc-cd harmonic 70.348 114.190 # SOURCE3 517 6.5960 + angle_coeff @angle:cc-cc-ce harmonic 64.853 127.060 # CORR_SOURCE5 61 2.3233 + angle_coeff @angle:cc-cc-cf harmonic 68.022 122.720 # CORR_SOURCE5 66 1.9701 + angle_coeff @angle:cc-cc-cg harmonic 65.805 125.910 # CORR_SOURCE5 41 1.1646 + angle_coeff @angle:c-cc-cd harmonic 67.187 121.350 # CORR_SOURCE5 3554 2.2084 + angle_coeff @angle:cc-c-cd harmonic 67.592 112.790 # SOURCE3 1 + angle_coeff @angle:c-cc-ce harmonic 65.406 121.570 # CORR_SOURCE5 29 1.1305 + angle_coeff @angle:cc-c-ce harmonic 66.433 115.570 # SOURCE4_SOURCE5 14 1.2088 + angle_coeff @angle:cc-cc-f harmonic 88.377 119.190 # SOURCE4_SOURCE5 26 0.8983 + angle_coeff @angle:c-cc-cg harmonic 67.046 117.880 # SOURCE4_SOURCE5 26 0.6759 + angle_coeff @angle:cc-cc-h4 harmonic 46.348 127.960 # SOURCE3_SOURCE5 391 2.1732 + angle_coeff @angle:cc-cc-ha harmonic 47.634 121.070 # CORR_SOURCE5 2414 2.2010 + angle_coeff @angle:c-cc-cl harmonic 72.591 116.380 # CORR_SOURCE5 50 1.2099 + angle_coeff @angle:cc-cc-n2 harmonic 87.356 122.210 # CORR_SOURCE5 37 1.6493 + angle_coeff @angle:cc-cc-n harmonic 85.753 119.890 # SOURCE3 36 0.2095 + angle_coeff @angle:cc-cc-na harmonic 86.536 117.770 # SOURCE3_SOURCE5 865 1.5665 + angle_coeff @angle:cc-cc-nc harmonic 85.332 121.980 # CORR_SOURCE5 141 1.9633 + angle_coeff @angle:cc-cc-nd harmonic 90.306 112.560 # SOURCE3 141 4.2871 + angle_coeff @angle:cc-cc-nh harmonic 86.018 119.720 # CORR_SOURCE5 348 1.7785 + angle_coeff @angle:cc-cc-oh harmonic 86.201 121.270 # CORR_SOURCE5 11 2.2744 + angle_coeff @angle:cc-cc-os harmonic 87.213 117.340 # CORR_SOURCE5 217 1.9304 + angle_coeff @angle:cc-cc-pd harmonic 84.517 115.360 # SOURCE3 84 + angle_coeff @angle:cc-cc-ss harmonic 63.877 120.210 # CORR_SOURCE5 52 2.1160 + angle_coeff @angle:cc-cc-sy harmonic 61.106 128.250 # SOURCE4_SOURCE5 20 0.9014 + angle_coeff @angle:c-c-cd harmonic 66.020 111.670 # SOURCE3 4 5.5146 + angle_coeff @angle:cd-cc-cd harmonic 70.027 120.080 # CORR_SOURCE5 119 1.6139 + angle_coeff @angle:cd-cc-ce harmonic 65.759 128.050 # CORR_SOURCE5 350 2.4628 + angle_coeff @angle:cd-cc-cl harmonic 71.687 123.410 # CORR_SOURCE5 115 2.1217 + angle_coeff @angle:cd-cc-f harmonic 89.570 121.190 # SOURCE4_SOURCE5 82 0.7206 + angle_coeff @angle:cd-cc-h4 harmonic 47.759 128.480 # SOURCE3_SOURCE5 3291 2.3189 + angle_coeff @angle:cd-cc-ha harmonic 49.040 121.760 # SOURCE3_SOURCE5 4433 1.8701 + angle_coeff @angle:cd-cc-n harmonic 86.990 121.330 # SOURCE3_SOURCE5 821 1.9126 + angle_coeff @angle:cd-cc-na harmonic 92.653 106.990 # SOURCE3_SOURCE5 3003 2.3845 + angle_coeff @angle:cd-cc-nc harmonic 91.057 111.650 # CORR_SOURCE5 1656 1.8430 + angle_coeff @angle:cd-cc-nh harmonic 86.331 123.840 # CORR_SOURCE5 152 2.2360 + angle_coeff @angle:cd-cc-no harmonic 82.947 128.690 # SOURCE4_SOURCE5 314 1.4409 + angle_coeff @angle:cd-cc-oh harmonic 87.177 123.780 # CORR_SOURCE5 251 1.1988 + angle_coeff @angle:cd-cc-os harmonic 87.957 120.300 # SOURCE3 64 5.4354 + angle_coeff @angle:cd-cc-ss harmonic 66.887 111.550 # CORR_SOURCE5 1048 1.8648 + angle_coeff @angle:cd-cc-sy harmonic 62.501 124.550 # CORR_SOURCE5 56 1.7107 + angle_coeff @angle:ce-cc-na harmonic 83.371 124.350 # CORR_SOURCE5 87 1.3591 + angle_coeff @angle:ce-cc-nc harmonic 84.769 121.100 # CORR_SOURCE5 43 1.2959 + angle_coeff @angle:ce-cc-nd harmonic 85.887 121.700 # CORR_SOURCE5 58 1.4179 + angle_coeff @angle:ce-cc-os harmonic 85.796 118.760 # CORR_SOURCE5 92 1.3159 + angle_coeff @angle:ce-cc-ss harmonic 63.222 121.580 # CORR_SOURCE5 54 1.3126 + angle_coeff @angle:c-cc-f harmonic 87.759 116.980 # SOURCE4_SOURCE5 49 0.4690 + angle_coeff @angle:cg-cc-na harmonic 84.878 122.610 # SOURCE4_SOURCE5 12 0.9695 + angle_coeff @angle:cg-cc-ss harmonic 63.762 120.730 # SOURCE4_SOURCE5 27 0.9221 + angle_coeff @angle:cc-c-h4 harmonic 47.598 114.830 # SOURCE4_SOURCE5 25 0.5124 + angle_coeff @angle:c-cc-ha harmonic 47.405 116.640 # SOURCE3_SOURCE5 896 1.3075 + angle_coeff @angle:cl-cc-na harmonic 90.511 121.120 # SOURCE4_SOURCE5 37 0.7206 + angle_coeff @angle:cl-cc-nd harmonic 90.963 122.070 # CORR_SOURCE5 19 1.6973 + angle_coeff @angle:cl-cc-ss harmonic 71.934 119.850 # SOURCE4_SOURCE5 27 0.9529 + angle_coeff @angle:c-cc-n2 harmonic 85.228 123.930 # CORR_SOURCE5 6 0.0993 + angle_coeff @angle:c-cc-n harmonic 85.713 116.370 # CORR_SOURCE5 41 2.4875 + angle_coeff @angle:cc-c-n harmonic 87.145 112.700 # SOURCE3_SOURCE5 1124 1.8431 + angle_coeff @angle:c-cc-nc harmonic 83.549 123.320 # CORR_SOURCE5 27 2.2025 + angle_coeff @angle:cc-c-nd harmonic 85.602 116.240 # CORR_SOURCE5 38 1.0053 + angle_coeff @angle:c-cc-nd harmonic 85.323 121.880 # CORR_SOURCE5 54 2.0672 + angle_coeff @angle:c-cc-ne harmonic 84.503 119.880 # SOURCE4 6 0.3139 + angle_coeff @angle:cc-c-o harmonic 86.736 123.930 # SOURCE3_SOURCE5 3463 2.3073 + angle_coeff @angle:c-cc-oh harmonic 87.608 113.660 # CORR_SOURCE5 190 1.6462 + angle_coeff @angle:cc-c-oh harmonic 87.815 112.840 # CORR_SOURCE5 184 0.7264 + angle_coeff @angle:c-cc-os harmonic 85.149 119.260 # CORR_SOURCE5 104 2.4145 + angle_coeff @angle:cc-c-os harmonic 87.108 114.200 # SOURCE3_SOURCE5 427 2.2749 + angle_coeff @angle:cc-c-s harmonic 64.011 126.280 # SOURCE4_SOURCE5 69 1.9867 + angle_coeff @angle:cc-c-ss harmonic 64.406 112.400 # SOURCE4_SOURCE5 42 0.9902 + angle_coeff @angle:cx-cc-nd harmonic 83.147 127.820 # SOURCE4_SOURCE5 27 1.6288 + angle_coeff @angle:cx-cc-os harmonic 85.414 118.070 # SOURCE4_SOURCE5 23 0.0923 + angle_coeff @angle:cd-c-cd harmonic 66.696 115.840 # CORR_SOURCE5 115 1.4659 + angle_coeff @angle:cd-c-cx harmonic 65.553 117.430 # SOURCE4_SOURCE5 37 0.1506 + angle_coeff @angle:cd-c-n harmonic 87.145 112.700 # SOURCE3_SOURCE5 1124 1.8431 + angle_coeff @angle:cd-c-nc harmonic 85.602 116.240 # CORR_SOURCE5 38 1.0053 + angle_coeff @angle:cd-c-nd harmonic 86.534 113.750 # SOURCE4_SOURCE5 28 0.0860 + angle_coeff @angle:cd-c-o harmonic 86.736 123.930 # SOURCE3_SOURCE5 3463 2.3073 + angle_coeff @angle:cd-c-oh harmonic 87.815 112.840 # CORR_SOURCE5 184 0.7264 + angle_coeff @angle:cd-c-os harmonic 87.108 114.200 # SOURCE3_SOURCE5 427 2.2749 + angle_coeff @angle:ce-c-ce harmonic 66.032 115.820 # CORR_SOURCE5 103 0.7143 + angle_coeff @angle:ce-c-cf harmonic 65.875 116.370 # SOURCE4_SOURCE5 31 1.3157 + angle_coeff @angle:ce-c-cx harmonic 65.246 117.390 # SOURCE4_SOURCE5 19 0.7227 + angle_coeff @angle:ce-c-h4 harmonic 47.181 114.890 # SOURCE4_SOURCE5 113 0.4718 + angle_coeff @angle:ce-c-ha harmonic 47.181 115.220 # SOURCE3 7 2.4188 + angle_coeff @angle:ce-c-n harmonic 85.680 115.220 # CORR_SOURCE5 38 1.1173 + angle_coeff @angle:ce-c-o harmonic 86.348 123.200 # SOURCE3_SOURCE5 2306 2.0617 + angle_coeff @angle:ce-c-oh harmonic 86.976 113.620 # CORR_SOURCE5 273 1.4501 + angle_coeff @angle:ce-c-os harmonic 87.846 110.930 # CORR_SOURCE5 445 1.6899 + angle_coeff @angle:ce-c-s harmonic 64.731 122.630 # SOURCE3_SOURCE5 11 1.3034 + angle_coeff @angle:ce-c-ss harmonic 64.794 110.490 # SOURCE4_SOURCE5 13 0.5852 + angle_coeff @angle:cf-c-cf harmonic 66.032 115.820 # CORR_SOURCE5 103 0.7143 + angle_coeff @angle:cf-c-ha harmonic 47.181 115.220 # SOURCE3 7 + angle_coeff @angle:cf-c-n harmonic 85.680 115.220 # CORR_SOURCE5 38 1.1173 + angle_coeff @angle:cf-c-o harmonic 86.348 123.200 # SOURCE3_SOURCE5 2306 2.0617 + angle_coeff @angle:cf-c-oh harmonic 86.976 113.620 # CORR_SOURCE5 273 1.4501 + angle_coeff @angle:cf-c-os harmonic 87.846 110.930 # CORR_SOURCE5 445 1.6899 + angle_coeff @angle:cf-c-s harmonic 64.731 122.630 # SOURCE3_SOURCE5 11 1.3034 + angle_coeff @angle:cg-c-cg harmonic 67.584 115.380 # SOURCE3 1 + angle_coeff @angle:cg-c-ha harmonic 48.322 113.900 # SOURCE2 1 + angle_coeff @angle:cg-c-o harmonic 88.213 121.780 # SOURCE3_SOURCE5 13 0.8393 + angle_coeff @angle:c-c-h4 harmonic 45.243 115.800 # SOURCE4_SOURCE5 17 0.7492 + angle_coeff @angle:h4-cc-n harmonic 62.742 115.690 # SOURCE3_SOURCE5 425 0.9142 + angle_coeff @angle:h4-cc-na harmonic 61.487 120.530 # SOURCE3_SOURCE5 1801 1.3882 + angle_coeff @angle:h4-cc-nc harmonic 61.716 121.140 # SOURCE3_SOURCE5 574 0.5658 + angle_coeff @angle:h4-cc-nd harmonic 64.296 118.470 # SOURCE3_SOURCE5 435 1.3360 + angle_coeff @angle:h4-cc-os harmonic 63.640 114.900 # SOURCE3_SOURCE5 456 0.8638 + angle_coeff @angle:h4-cc-ss harmonic 42.456 119.970 # SOURCE3_SOURCE5 496 0.7119 + angle_coeff @angle:h5-cc-n harmonic 62.737 115.700 # CORR_SOURCE5 41 0.7665 + angle_coeff @angle:h5-cc-na harmonic 61.226 121.550 # SOURCE3_SOURCE5 1138 0.7136 + angle_coeff @angle:h5-cc-nc harmonic 61.265 122.920 # SOURCE3_SOURCE5 136 0.3532 + angle_coeff @angle:h5-cc-nd harmonic 62.461 125.520 # SOURCE3_SOURCE5 1309 0.7276 + angle_coeff @angle:h5-cc-os harmonic 63.110 116.830 # SOURCE3_SOURCE5 42 1.3051 + angle_coeff @angle:h5-cc-ss harmonic 42.272 121.020 # SOURCE3_SOURCE5 46 0.6462 + angle_coeff @angle:c-c-ha harmonic 45.358 115.430 # SOURCE2 3 0.6549 + angle_coeff @angle:ha-cc-na harmonic 61.218 121.500 # SOURCE2 1 + angle_coeff @angle:ha-cc-nc harmonic 62.898 116.540 # SOURCE3 5 1.4482 + angle_coeff @angle:ha-cc-nd harmonic 64.154 118.880 # SOURCE3 20 2.8923 + angle_coeff @angle:ha-cc-os harmonic 64.764 110.860 # SOURCE3 7 1.3846 + angle_coeff @angle:ha-cc-pd harmonic 54.856 121.760 # SOURCE3 84 + angle_coeff @angle:ha-cc-ss harmonic 42.168 121.640 # SOURCE2 5 1.3276 + angle_coeff @angle:ch-c-ch harmonic 67.584 115.380 # SOURCE3 1 + angle_coeff @angle:ch-c-ha harmonic 48.322 113.900 # SOURCE2 1 + angle_coeff @angle:ch-c-o harmonic 88.213 121.780 # SOURCE3_SOURCE5 13 0.8393 + angle_coeff @angle:cl-c-cl harmonic 80.720 111.300 # SOURCE2 1 + angle_coeff @angle:cl-c-f harmonic 93.155 112.000 # SOURCE2 1 + angle_coeff @angle:cl-c-ha harmonic 48.221 109.900 # SOURCE2 1 + angle_coeff @angle:cl-c-o harmonic 89.044 120.690 # SOURCE3_SOURCE5 14 1.1076 + angle_coeff @angle:cl-c-s harmonic 69.852 127.600 # SOURCE2 1 + angle_coeff @angle:c-c-n harmonic 84.329 112.740 # SOURCE4_SOURCE5 157 2.1770 + angle_coeff @angle:na-cc-nc harmonic 108.812 121.950 # CORR_SOURCE5 321 1.6221 + angle_coeff @angle:na-cc-nd harmonic 115.504 112.220 # SOURCE3_SOURCE5 2726 1.5103 + angle_coeff @angle:na-cc-no harmonic 105.313 124.590 # SOURCE4_SOURCE5 162 0.8093 + angle_coeff @angle:na-cc-oh harmonic 111.744 117.480 # SOURCE4_SOURCE5 39 0.9806 + angle_coeff @angle:na-cc-sx harmonic 79.683 117.020 # SOURCE4_SOURCE5 32 0.3937 + angle_coeff @angle:na-cc-sy harmonic 79.507 120.460 # SOURCE4_SOURCE5 15 1.7292 + angle_coeff @angle:nc-cc-nd harmonic 114.185 115.830 # CORR_SOURCE5 309 1.2424 + angle_coeff @angle:nc-cc-nh harmonic 111.255 117.230 # CORR_SOURCE5 51 1.7463 + angle_coeff @angle:nc-cc-no harmonic 106.922 121.730 # SOURCE4_SOURCE5 17 0.8729 + angle_coeff @angle:nc-cc-ss harmonic 79.922 122.640 # SOURCE3_SOURCE5 10 1.3100 + angle_coeff @angle:nd-cc-nd harmonic 110.827 128.070 # SOURCE4_SOURCE5 17 0.2580 + angle_coeff @angle:nd-cc-ne harmonic 107.796 129.010 # SOURCE4_SOURCE5 20 1.2478 + angle_coeff @angle:nd-cc-nh harmonic 111.697 120.650 # SOURCE3_SOURCE5 554 1.6769 + angle_coeff @angle:nd-cc-no harmonic 108.240 122.750 # SOURCE4_SOURCE5 80 0.3006 + angle_coeff @angle:nd-cc-oh harmonic 112.660 121.120 # CORR_SOURCE5 31 1.3923 + angle_coeff @angle:nd-cc-os harmonic 114.076 116.740 # CORR_SOURCE5 156 2.0183 + angle_coeff @angle:nd-cc-sh harmonic 79.198 124.970 # SOURCE4_SOURCE5 18 0.8493 + angle_coeff @angle:nd-cc-ss harmonic 83.264 114.510 # SOURCE3 8 0.3449 + angle_coeff @angle:nd-cc-sx harmonic 76.768 127.740 # SOURCE4_SOURCE5 33 0.6804 + angle_coeff @angle:nd-cc-sy harmonic 79.255 123.030 # SOURCE4_SOURCE5 33 1.1587 + angle_coeff @angle:ne-cc-ss harmonic 81.707 117.030 # SOURCE4_SOURCE5 17 0.2106 + angle_coeff @angle:nh-cc-nh harmonic 111.696 115.960 # SOURCE3 1 + angle_coeff @angle:nh-cc-os harmonic 111.815 116.680 # CORR_SOURCE5 36 0.7439 + angle_coeff @angle:nh-cc-ss harmonic 80.147 121.810 # CORR_SOURCE5 128 1.0728 + angle_coeff @angle:n-cc-n2 harmonic 112.932 119.420 # SOURCE4_SOURCE5 28 1.2985 + angle_coeff @angle:n-cc-na harmonic 108.295 122.120 # CORR_SOURCE5 15 1.1276 + angle_coeff @angle:n-cc-nc harmonic 106.932 126.230 # CORR_SOURCE5 118 0.4381 + angle_coeff @angle:n-cc-nd harmonic 110.304 123.000 # CORR_SOURCE5 354 1.4352 + angle_coeff @angle:n-cc-nh harmonic 110.935 116.940 # CORR_SOURCE5 126 0.5956 + angle_coeff @angle:no-cc-os harmonic 109.068 117.550 # SOURCE4_SOURCE5 144 0.2521 + angle_coeff @angle:no-cc-ss harmonic 79.693 121.060 # SOURCE4_SOURCE5 33 0.2051 + angle_coeff @angle:n-cc-ss harmonic 79.713 122.880 # CORR_SOURCE5 82 1.5666 + angle_coeff @angle:c-c-o harmonic 84.325 120.850 # SOURCE4_SOURCE5 712 2.3365 + angle_coeff @angle:c-c-oh harmonic 85.170 112.070 # SOURCE3_SOURCE5 45 0.4339 + angle_coeff @angle:c-c-os harmonic 85.272 111.410 # SOURCE4_SOURCE5 34 0.4577 + angle_coeff @angle:os-cc-ss harmonic 81.124 119.280 # SOURCE3_SOURCE5 10 1.6753 + angle_coeff @angle:ss-cc-ss harmonic 63.639 121.370 # CORR 22 + angle_coeff @angle:ss-cc-sy harmonic 63.048 121.700 # CORR_SOURCE5 43 0.4842 + angle_coeff @angle:cx-c-cx harmonic 87.506 64.600 # SOURCE2 1 + angle_coeff @angle:cx-c-n harmonic 85.409 114.530 # SOURCE4_SOURCE5 60 1.3306 + angle_coeff @angle:cx-c-o harmonic 85.839 122.750 # SOURCE4_SOURCE5 366 2.2300 + angle_coeff @angle:cx-c-oh harmonic 86.840 112.520 # SOURCE4_SOURCE5 43 1.3576 + angle_coeff @angle:cx-c-os harmonic 87.109 111.390 # SOURCE4_SOURCE5 64 2.0118 + angle_coeff @angle:cy-c-cy harmonic 70.855 91.910 # SOURCE2_SOURCE5 12 0.9858 + angle_coeff @angle:cy-c-n harmonic 93.471 91.560 # SOURCE4_SOURCE5 619 0.5374 + angle_coeff @angle:cy-c-o harmonic 79.625 135.160 # SOURCE4_SOURCE5 665 1.3860 + angle_coeff @angle:cy-c-oh harmonic 85.029 112.180 # SOURCE4_SOURCE5 17 0.7869 + angle_coeff @angle:cy-c-os harmonic 92.339 94.790 # SOURCE4_SOURCE5 25 0.5353 + angle_coeff @angle:c2-cd-c3 harmonic 65.262 126.110 # SOURCE3 2 + angle_coeff @angle:c2-cd-ca harmonic 66.952 124.420 # CORR_SOURCE5 25 1.8245 + angle_coeff @angle:c2-cd-cc harmonic 71.286 117.020 # SOURCE3 2 + angle_coeff @angle:c2-cd-cd harmonic 68.308 122.190 # CORR_SOURCE5 46 2.3853 + angle_coeff @angle:c2-cd-ha harmonic 49.231 122.720 # SOURCE3 2 + angle_coeff @angle:c2-cd-n harmonic 86.150 124.910 # SOURCE3_SOURCE5 5 1.6803 + angle_coeff @angle:c2-cd-os harmonic 87.991 121.420 # CORR_SOURCE5 24 0.9570 + angle_coeff @angle:c3-cd-ca harmonic 63.318 126.520 # CORR_SOURCE5 370 1.8946 + angle_coeff @angle:c3-cd-cc harmonic 66.802 119.450 # SOURCE3 35 8.2040 + angle_coeff @angle:c3-cd-cd harmonic 66.709 115.970 # SOURCE3 4 3.0507 + angle_coeff @angle:c3-cd-ce harmonic 67.395 117.840 # CORR 2 + angle_coeff @angle:c3-cd-ha harmonic 45.517 121.520 # SOURCE3 32 3.2091 + angle_coeff @angle:c3-cd-n2 harmonic 83.336 125.690 # CORR_SOURCE5 12 1.9935 + angle_coeff @angle:c3-cd-n harmonic 83.558 119.190 # CORR_SOURCE5 107 2.1078 + angle_coeff @angle:c3-cd-na harmonic 82.356 122.730 # CORR_SOURCE5 961 1.6482 + angle_coeff @angle:c3-cd-nc harmonic 83.886 122.410 # CORR_SOURCE5 653 1.6992 + angle_coeff @angle:c3-cd-nd harmonic 83.215 120.950 # CORR_SOURCE5 456 0.8756 + angle_coeff @angle:c3-cd-os harmonic 84.855 116.800 # CORR_SOURCE5 306 0.8990 + angle_coeff @angle:c3-cd-ss harmonic 62.656 121.530 # CORR_SOURCE5 270 1.0948 + angle_coeff @angle:ca-cd-cc harmonic 69.802 113.510 # SOURCE3 26 7.4229 + angle_coeff @angle:ca-cd-cd harmonic 69.336 111.040 # SOURCE3 9 7.9455 + angle_coeff @angle:ca-cd-ce harmonic 66.694 124.900 # SOURCE4_SOURCE5 41 1.7178 + angle_coeff @angle:ca-cd-h4 harmonic 45.368 129.250 # SOURCE3_SOURCE5 54 1.5632 + angle_coeff @angle:ca-cd-ha harmonic 46.300 124.040 # SOURCE3 34 3.6691 + angle_coeff @angle:ca-cd-n harmonic 85.642 117.670 # CORR 18 + angle_coeff @angle:ca-cd-na harmonic 83.626 123.450 # SOURCE4 39 1.9138 + angle_coeff @angle:ca-cd-nc harmonic 85.294 123.240 # CORR_SOURCE5 246 2.3557 + angle_coeff @angle:ca-cd-nd harmonic 84.897 120.590 # CORR_SOURCE5 224 1.0853 + angle_coeff @angle:ca-cd-oh harmonic 86.577 117.550 # CORR_SOURCE5 35 1.9318 + angle_coeff @angle:ca-cd-os harmonic 87.229 114.750 # CORR_SOURCE5 247 2.0579 + angle_coeff @angle:ca-cd-ss harmonic 63.408 120.800 # CORR_SOURCE5 80 2.1212 + angle_coeff @angle:c-cd-c2 harmonic 67.513 121.170 # CORR_SOURCE5 28 1.6484 + angle_coeff @angle:c-cd-c3 harmonic 65.378 117.760 # CORR_SOURCE5 566 1.9588 + angle_coeff @angle:c-cd-c harmonic 65.240 121.070 # CORR_SOURCE5 128 0.8902 + angle_coeff @angle:c-cd-ca harmonic 65.005 122.950 # SOURCE3 1 + angle_coeff @angle:c-cd-cc harmonic 67.187 121.350 # CORR_SOURCE5 3554 2.2084 + angle_coeff @angle:cc-cd-cc harmonic 70.027 120.080 # CORR_SOURCE5 119 1.6139 + angle_coeff @angle:cc-cd-cd harmonic 70.348 114.190 # SOURCE3 517 6.5960 + angle_coeff @angle:cc-cd-cf harmonic 65.759 128.050 # CORR_SOURCE5 350 2.4628 + angle_coeff @angle:cc-cd-ch harmonic 67.080 125.790 # SOURCE4_SOURCE5 84 1.6445 + angle_coeff @angle:cc-cd-cl harmonic 71.687 123.410 # CORR_SOURCE5 115 2.1217 + angle_coeff @angle:cc-cd-cy harmonic 65.987 122.050 # SOURCE4_SOURCE5 22 0.8483 + angle_coeff @angle:c-cd-cd harmonic 65.674 122.690 # SOURCE3 2 + angle_coeff @angle:c-cd-cf harmonic 65.406 121.570 # CORR_SOURCE5 29 1.1305 + angle_coeff @angle:cc-cd-h4 harmonic 47.759 128.480 # SOURCE3_SOURCE5 3291 2.3189 + angle_coeff @angle:cc-cd-ha harmonic 49.040 121.760 # SOURCE3_SOURCE5 4433 1.8701 + angle_coeff @angle:c-cd-cl harmonic 72.591 116.380 # CORR_SOURCE5 50 1.2099 + angle_coeff @angle:cc-cd-n harmonic 86.990 121.330 # SOURCE3_SOURCE5 821 1.9126 + angle_coeff @angle:cc-cd-na harmonic 92.653 106.990 # SOURCE3_SOURCE5 3003 2.3845 + angle_coeff @angle:cc-cd-nc harmonic 88.069 123.820 # SOURCE4_SOURCE5 28 0.3678 + angle_coeff @angle:cc-cd-nd harmonic 91.057 111.650 # CORR_SOURCE5 1656 1.8430 + angle_coeff @angle:cc-cd-nh harmonic 86.331 123.840 # CORR_SOURCE5 152 2.2360 + angle_coeff @angle:cc-cd-oh harmonic 87.177 123.780 # CORR_SOURCE5 251 1.1988 + angle_coeff @angle:cc-cd-os harmonic 87.957 120.300 # SOURCE3 64 5.4354 + angle_coeff @angle:cc-cd-ss harmonic 66.887 111.550 # CORR_SOURCE5 1048 1.8648 + angle_coeff @angle:cc-cd-sy harmonic 62.501 124.550 # CORR_SOURCE5 56 1.7107 + angle_coeff @angle:cd-cd-cd harmonic 70.129 110.700 # SOURCE3 54 3.4091 + angle_coeff @angle:cd-cd-ce harmonic 68.022 122.720 # CORR_SOURCE5 66 1.9701 + angle_coeff @angle:cd-cd-cf harmonic 64.853 127.060 # CORR_SOURCE5 61 2.3233 + angle_coeff @angle:cd-cd-ch harmonic 65.805 125.910 # CORR_SOURCE5 41 1.1646 + angle_coeff @angle:cd-cd-cy harmonic 64.938 122.040 # SOURCE4_SOURCE5 13 0.6868 + angle_coeff @angle:cd-cd-h4 harmonic 46.348 127.960 # SOURCE3_SOURCE5 391 2.1732 + angle_coeff @angle:cd-cd-ha harmonic 47.634 121.070 # CORR_SOURCE5 2414 2.2010 + angle_coeff @angle:cd-cd-n2 harmonic 87.356 122.210 # CORR_SOURCE5 37 1.6493 + angle_coeff @angle:cd-cd-n harmonic 85.753 119.890 # SOURCE3 36 0.2095 + angle_coeff @angle:cd-cd-na harmonic 86.536 117.770 # SOURCE3_SOURCE5 832 1.6037 + angle_coeff @angle:cd-cd-nc harmonic 90.306 112.560 # SOURCE3 141 4.2871 + angle_coeff @angle:cd-cd-nd harmonic 85.332 121.980 # CORR_SOURCE5 141 1.9633 + angle_coeff @angle:cd-cd-nh harmonic 86.018 119.720 # CORR_SOURCE5 348 1.7785 + angle_coeff @angle:cd-cd-oh harmonic 86.201 121.270 # CORR_SOURCE5 11 2.2744 + angle_coeff @angle:cd-cd-os harmonic 87.213 117.340 # CORR_SOURCE5 217 1.9304 + angle_coeff @angle:cd-cd-pc harmonic 84.517 115.360 # SOURCE3 84 3.2889 + angle_coeff @angle:cd-cd-ss harmonic 63.877 120.210 # CORR_SOURCE5 52 2.1160 + angle_coeff @angle:ce-cd-nd harmonic 86.641 123.980 # SOURCE4_SOURCE5 10 2.4097 + angle_coeff @angle:cf-cd-na harmonic 83.371 124.350 # CORR_SOURCE5 87 1.3591 + angle_coeff @angle:cf-cd-nc harmonic 85.887 121.700 # CORR_SOURCE5 58 1.4179 + angle_coeff @angle:cf-cd-nd harmonic 84.769 121.100 # CORR_SOURCE5 43 1.2959 + angle_coeff @angle:cf-cd-os harmonic 85.796 118.760 # CORR_SOURCE5 92 1.3159 + angle_coeff @angle:cf-cd-ss harmonic 63.222 121.580 # CORR_SOURCE5 54 1.3126 + angle_coeff @angle:c-cd-h4 harmonic 47.105 118.190 # SOURCE4_SOURCE5 16 0.2226 + angle_coeff @angle:c-cd-ha harmonic 47.405 116.640 # SOURCE3_SOURCE5 896 1.3075 + angle_coeff @angle:cl-cd-nc harmonic 90.963 122.070 # CORR_SOURCE5 19 1.6973 + angle_coeff @angle:c-cd-n2 harmonic 85.228 123.930 # CORR_SOURCE5 6 0.0993 + angle_coeff @angle:c-cd-n harmonic 85.713 116.370 # CORR_SOURCE5 41 2.4875 + angle_coeff @angle:c-cd-nc harmonic 85.323 121.880 # CORR_SOURCE5 54 2.0672 + angle_coeff @angle:c-cd-nd harmonic 83.549 123.320 # CORR_SOURCE5 27 2.2025 + angle_coeff @angle:c-cd-oh harmonic 87.608 113.660 # CORR_SOURCE5 190 1.6462 + angle_coeff @angle:c-cd-os harmonic 85.149 119.260 # CORR_SOURCE5 104 2.4145 + angle_coeff @angle:h4-cd-n harmonic 62.742 115.690 # SOURCE3_SOURCE5 425 0.9142 + angle_coeff @angle:h4-cd-na harmonic 61.487 120.530 # SOURCE3_SOURCE5 1801 1.3882 + angle_coeff @angle:h4-cd-nc harmonic 64.296 118.470 # SOURCE3_SOURCE5 435 1.3360 + angle_coeff @angle:h4-cd-nd harmonic 61.716 121.140 # SOURCE3_SOURCE5 574 0.5658 + angle_coeff @angle:h4-cd-os harmonic 63.640 114.900 # SOURCE3_SOURCE5 456 0.8638 + angle_coeff @angle:h4-cd-ss harmonic 42.456 119.970 # SOURCE3_SOURCE5 496 0.7119 + angle_coeff @angle:h5-cd-n harmonic 62.738 115.700 # CORR_SOURCE5 41 0.7665 + angle_coeff @angle:h5-cd-na harmonic 61.227 121.550 # SOURCE3_SOURCE5 1138 0.7136 + angle_coeff @angle:h5-cd-nc harmonic 62.462 125.520 # SOURCE3_SOURCE5 1309 0.7276 + angle_coeff @angle:h5-cd-nd harmonic 61.266 122.920 # SOURCE3_SOURCE5 136 0.3532 + angle_coeff @angle:h5-cd-os harmonic 63.111 116.830 # SOURCE3_SOURCE5 42 1.3051 + angle_coeff @angle:h5-cd-ss harmonic 42.271 121.020 # SOURCE3_SOURCE5 46 0.6462 + angle_coeff @angle:ha-cd-na harmonic 61.218 121.500 # SOURCE2 1 + angle_coeff @angle:ha-cd-nc harmonic 64.154 118.880 # SOURCE3 20 2.8923 + angle_coeff @angle:ha-cd-nd harmonic 62.898 116.540 # SOURCE3 5 1.4482 + angle_coeff @angle:ha-cd-os harmonic 64.764 110.860 # SOURCE3 7 1.3846 + angle_coeff @angle:ha-cd-pc harmonic 54.856 121.760 # SOURCE3 84 2.2216 + angle_coeff @angle:ha-cd-ss harmonic 42.168 121.640 # SOURCE2 5 + angle_coeff @angle:na-cd-nc harmonic 115.504 112.220 # SOURCE3_SOURCE5 2726 1.5103 + angle_coeff @angle:na-cd-nd harmonic 108.812 121.950 # CORR_SOURCE5 321 1.6221 + angle_coeff @angle:na-cd-nh harmonic 110.794 117.280 # SOURCE4_SOURCE5 100 1.6359 + angle_coeff @angle:na-cd-ss harmonic 83.703 111.460 # SOURCE4 20 0.8600 + angle_coeff @angle:nc-cd-nd harmonic 114.185 115.830 # CORR_SOURCE5 309 1.2424 + angle_coeff @angle:nc-cd-nh harmonic 111.697 120.650 # SOURCE3_SOURCE5 554 1.6769 + angle_coeff @angle:nc-cd-oh harmonic 112.660 121.120 # CORR_SOURCE5 31 1.3923 + angle_coeff @angle:nc-cd-os harmonic 114.076 116.740 # CORR_SOURCE5 156 2.0183 + angle_coeff @angle:nc-cd-ss harmonic 83.264 114.510 # SOURCE3 8 0.3449 + angle_coeff @angle:nd-cd-nd harmonic 107.603 125.700 # SOURCE4_SOURCE5 31 0.5900 + angle_coeff @angle:nd-cd-nh harmonic 111.255 117.230 # CORR_SOURCE5 51 1.7463 + angle_coeff @angle:nd-cd-ss harmonic 79.922 122.640 # SOURCE3_SOURCE5 10 1.3100 + angle_coeff @angle:nh-cd-nh harmonic 111.696 115.960 # SOURCE3 1 + angle_coeff @angle:nh-cd-os harmonic 111.815 116.680 # CORR_SOURCE5 36 0.7439 + angle_coeff @angle:nh-cd-ss harmonic 80.147 121.810 # CORR_SOURCE5 128 1.0728 + angle_coeff @angle:n-cd-na harmonic 108.295 122.120 # CORR_SOURCE5 15 1.1276 + angle_coeff @angle:n-cd-nc harmonic 110.304 123.000 # CORR_SOURCE5 354 1.4352 + angle_coeff @angle:n-cd-nd harmonic 106.932 126.230 # CORR_SOURCE5 118 0.4381 + angle_coeff @angle:n-cd-nh harmonic 110.935 116.940 # CORR_SOURCE5 126 0.5956 + angle_coeff @angle:n-cd-ss harmonic 79.713 122.880 # CORR_SOURCE5 82 1.5666 + angle_coeff @angle:oh-cd-os harmonic 115.442 111.610 # SOURCE4_SOURCE5 12 1.1909 + angle_coeff @angle:os-cd-ss harmonic 81.124 119.280 # SOURCE3_SOURCE5 10 1.6753 + angle_coeff @angle:ss-cd-ss harmonic 63.639 121.370 # CORR 22 + angle_coeff @angle:ss-cd-sy harmonic 63.048 121.700 # CORR_SOURCE5 43 0.4842 + angle_coeff @angle:c2-ce-c3 harmonic 66.042 122.530 # SOURCE3_SOURCE5 882 1.9288 + angle_coeff @angle:c2-ce-ca harmonic 67.362 121.780 # SOURCE3_SOURCE5 11 1.7099 + angle_coeff @angle:c2-ce-cc harmonic 67.560 123.320 # CORR_SOURCE5 132 1.9068 + angle_coeff @angle:c2-ce-ce harmonic 67.482 123.260 # SOURCE3_SOURCE5 791 1.8772 + angle_coeff @angle:c2-ce-cg harmonic 68.647 122.090 # CORR_SOURCE5 54 1.3612 + angle_coeff @angle:c2-ce-cl harmonic 72.080 119.760 # SOURCE4_SOURCE5 62 1.3986 + angle_coeff @angle:c2-ce-h4 harmonic 49.154 124.550 # SOURCE4_SOURCE5 43 1.6498 + angle_coeff @angle:c2-ce-ha harmonic 50.126 119.940 # SOURCE3_SOURCE5 1439 1.4338 + angle_coeff @angle:c2-ce-n1 harmonic 91.289 118.230 # SOURCE4_SOURCE5 18 0.9047 + angle_coeff @angle:c2-ce-n2 harmonic 88.228 128.700 # SOURCE3 1 + angle_coeff @angle:c2-ce-na harmonic 87.216 119.190 # SOURCE4_SOURCE5 10 0.8452 + angle_coeff @angle:c2-ce-ne harmonic 88.464 118.320 # SOURCE3 7 1.0468 + angle_coeff @angle:c2-ce-oh harmonic 87.984 123.700 # SOURCE4_SOURCE5 27 1.7525 + angle_coeff @angle:c2-ce-p2 harmonic 81.422 118.240 # SOURCE3 1 + angle_coeff @angle:c2-ce-pe harmonic 81.089 118.760 # SOURCE3 8 2.3984 + angle_coeff @angle:c2-ce-px harmonic 80.647 119.720 # SOURCE3 6 0.5213 + angle_coeff @angle:c2-ce-py harmonic 80.419 122.180 # SOURCE3_SOURCE5 12 1.9482 + angle_coeff @angle:c2-ce-sx harmonic 63.052 119.210 # SOURCE3_SOURCE5 14 0.9863 + angle_coeff @angle:c2-ce-sy harmonic 63.705 120.200 # SOURCE3_SOURCE5 17 1.3599 + angle_coeff @angle:c3-ce-ca harmonic 64.464 119.240 # CORR_SOURCE5 312 1.7689 + angle_coeff @angle:c3-ce-cc harmonic 65.246 118.030 # CORR_SOURCE5 77 1.5840 + angle_coeff @angle:c3-ce-ce harmonic 65.430 117.120 # CORR_SOURCE5 524 1.4790 + angle_coeff @angle:c3-ce-cf harmonic 65.999 122.380 # CORR_SOURCE5 490 2.0752 + angle_coeff @angle:c3-ce-cg harmonic 66.008 117.220 # SOURCE4_SOURCE5 34 1.7153 + angle_coeff @angle:c3-ce-n2 harmonic 83.839 122.730 # CORR_SOURCE5 149 1.8752 + angle_coeff @angle:c3-ce-nf harmonic 84.370 120.680 # SOURCE4_SOURCE5 13 2.1196 + angle_coeff @angle:c3-ce-nh harmonic 82.726 119.560 # SOURCE4_SOURCE5 10 1.0079 + angle_coeff @angle:ca-ce-ca harmonic 65.741 117.830 # CORR_SOURCE5 210 0.9675 + angle_coeff @angle:ca-ce-cc harmonic 66.149 118.130 # CORR_SOURCE5 30 0.7112 + angle_coeff @angle:ca-ce-ce harmonic 65.684 119.540 # SOURCE4_SOURCE5 32 1.9209 + angle_coeff @angle:ca-ce-cf harmonic 65.738 127.520 # CORR_SOURCE5 599 1.6916 + angle_coeff @angle:ca-ce-cl harmonic 72.181 114.590 # SOURCE4_SOURCE5 14 1.1195 + angle_coeff @angle:ca-ce-h4 harmonic 47.047 116.990 # SOURCE4_SOURCE5 255 1.0051 + angle_coeff @angle:ca-ce-ha harmonic 47.444 115.130 # CORR_SOURCE5 720 0.9389 + angle_coeff @angle:ca-ce-n2 harmonic 86.084 120.720 # SOURCE3 1 + angle_coeff @angle:ca-ce-nf harmonic 85.534 121.710 # CORR_SOURCE5 49 2.1313 + angle_coeff @angle:ca-ce-nh harmonic 85.466 115.580 # SOURCE4_SOURCE5 240 1.0372 + angle_coeff @angle:ca-ce-oh harmonic 86.291 116.100 # CORR_SOURCE5 15 0.6417 + angle_coeff @angle:ca-ce-os harmonic 85.838 115.910 # SOURCE4_SOURCE5 25 1.4247 + angle_coeff @angle:ca-ce-ss harmonic 63.378 117.520 # SOURCE4_SOURCE5 14 1.2435 + angle_coeff @angle:c-ce-c2 harmonic 67.566 120.420 # SOURCE3 13 1.8877 + angle_coeff @angle:c-ce-c3 harmonic 64.889 117.220 # CORR_SOURCE5 558 2.2754 + angle_coeff @angle:c-ce-c harmonic 64.277 122.230 # CORR_SOURCE5 52 2.1518 + angle_coeff @angle:c-ce-ca harmonic 65.478 118.280 # SOURCE4_SOURCE5 25 1.6999 + angle_coeff @angle:cc-ce-cd harmonic 65.259 130.610 # SOURCE4_SOURCE5 24 1.1422 + angle_coeff @angle:cc-ce-cf harmonic 66.704 126.140 # CORR_SOURCE5 122 1.8142 + angle_coeff @angle:c-ce-cd harmonic 67.092 120.770 # CORR_SOURCE5 15 1.8896 + angle_coeff @angle:c-ce-ce harmonic 65.150 120.980 # SOURCE4_SOURCE5 53 2.2319 + angle_coeff @angle:c-ce-cf harmonic 65.856 126.410 # SOURCE3 2 5.7847 + angle_coeff @angle:c-ce-cg harmonic 66.500 118.420 # SOURCE4_SOURCE5 49 1.0600 + angle_coeff @angle:cc-ce-h4 harmonic 47.935 115.680 # SOURCE4_SOURCE5 77 0.8454 + angle_coeff @angle:cc-ce-ha harmonic 48.006 115.440 # CORR_SOURCE5 179 0.9381 + angle_coeff @angle:c-ce-cl harmonic 71.821 115.470 # SOURCE4_SOURCE5 25 1.2041 + angle_coeff @angle:cc-ce-n2 harmonic 86.868 120.960 # CORR_SOURCE5 102 2.2421 + angle_coeff @angle:cc-ce-nh harmonic 85.299 118.050 # SOURCE4_SOURCE5 21 1.8052 + angle_coeff @angle:c-ce-cy harmonic 74.704 88.440 # SOURCE4_SOURCE5 53 0.9126 + angle_coeff @angle:cd-ce-ce harmonic 66.791 124.350 # CORR_SOURCE5 18 1.4583 + angle_coeff @angle:cd-ce-ha harmonic 50.638 114.950 # CORR_SOURCE5 95 1.4175 + angle_coeff @angle:ce-ce-ce harmonic 65.416 122.110 # SOURCE3_SOURCE5 9 2.4680 + angle_coeff @angle:ce-ce-cf harmonic 67.119 124.240 # CORR_SOURCE5 866 1.6941 + angle_coeff @angle:ce-ce-cl harmonic 71.617 117.220 # SOURCE4_SOURCE5 35 0.8344 + angle_coeff @angle:ce-ce-h4 harmonic 47.341 118.130 # CORR_SOURCE5 44 1.1161 + angle_coeff @angle:ce-ce-ha harmonic 47.662 116.650 # SOURCE3_SOURCE5 1159 0.9686 + angle_coeff @angle:ce-ce-n1 harmonic 84.049 127.150 # CORR 4 + angle_coeff @angle:ce-ce-n2 harmonic 87.472 118.930 # CORR_SOURCE5 13 1.3210 + angle_coeff @angle:ce-ce-oh harmonic 86.685 116.850 # SOURCE4_SOURCE5 30 1.7182 + angle_coeff @angle:cf-ce-cg harmonic 68.252 123.130 # CORR_SOURCE5 115 2.1292 + angle_coeff @angle:cf-ce-cy harmonic 62.247 137.580 # SOURCE4_SOURCE5 31 0.9919 + angle_coeff @angle:cf-ce-h4 harmonic 49.339 122.950 # SOURCE4_SOURCE5 23 1.1580 + angle_coeff @angle:cf-ce-ha harmonic 50.352 118.220 # CORR_SOURCE5 1522 1.3445 + angle_coeff @angle:cf-ce-n1 harmonic 90.464 119.940 # SOURCE4_SOURCE5 13 1.8896 + angle_coeff @angle:cf-ce-n harmonic 91.197 108.390 # CORR_SOURCE5 86 1.0066 + angle_coeff @angle:cf-ce-nh harmonic 87.337 121.380 # SOURCE4_SOURCE5 39 1.7667 + angle_coeff @angle:cf-ce-oh harmonic 88.551 121.690 # CORR_SOURCE5 37 1.2824 + angle_coeff @angle:cg-ce-cg harmonic 68.393 116.520 # CORR_SOURCE5 35 1.1031 + angle_coeff @angle:cg-ce-ha harmonic 48.557 116.460 # CORR_SOURCE5 58 0.6523 + angle_coeff @angle:cg-ce-n1 harmonic 87.835 119.500 # CORR 2 + angle_coeff @angle:cg-ce-n2 harmonic 87.851 121.140 # SOURCE4_SOURCE5 14 0.8974 + angle_coeff @angle:c-ce-ha harmonic 47.000 116.460 # SOURCE3_SOURCE5 1028 1.3091 + angle_coeff @angle:c-ce-n harmonic 83.338 118.450 # CORR_SOURCE5 213 1.4857 + angle_coeff @angle:c-ce-nh harmonic 85.341 115.360 # CORR_SOURCE5 28 2.1980 + angle_coeff @angle:c-ce-oh harmonic 86.196 115.760 # SOURCE4_SOURCE5 20 2.0254 + angle_coeff @angle:c-ce-os harmonic 86.086 114.670 # SOURCE4_SOURCE5 47 2.1291 + angle_coeff @angle:h4-ce-n1 harmonic 64.863 116.640 # SOURCE4_SOURCE5 19 0.4343 + angle_coeff @angle:h4-ce-n2 harmonic 64.393 121.480 # CORR_SOURCE5 257 1.1842 + angle_coeff @angle:h4-ce-ne harmonic 62.153 115.650 # SOURCE4_SOURCE5 19 1.8165 + angle_coeff @angle:ha-ce-n1 harmonic 65.106 115.960 # CORR 4 + angle_coeff @angle:ha-ce-n2 harmonic 64.979 119.510 # SOURCE3 2 0.4623 + angle_coeff @angle:ha-ce-ne harmonic 61.414 118.590 # SOURCE3 5 1.1113 + angle_coeff @angle:ha-ce-nh harmonic 62.516 114.990 # CORR 2 + angle_coeff @angle:ha-ce-p2 harmonic 52.606 120.110 # SOURCE3 1 + angle_coeff @angle:ha-ce-pe harmonic 52.651 119.330 # SOURCE3 6 0.8966 + angle_coeff @angle:ha-ce-px harmonic 52.873 117.900 # SOURCE3 6 0.1809 + angle_coeff @angle:ha-ce-py harmonic 53.346 117.990 # SOURCE3_SOURCE5 11 0.7169 + angle_coeff @angle:ha-ce-sx harmonic 41.698 115.450 # SOURCE3 3 0.6640 + angle_coeff @angle:ha-ce-sy harmonic 42.578 114.860 # SOURCE3 3 0.4717 + angle_coeff @angle:n2-ce-nh harmonic 110.010 125.090 # CORR_SOURCE5 163 1.6803 + angle_coeff @angle:n2-ce-os harmonic 114.215 117.950 # SOURCE4_SOURCE5 19 0.3524 + angle_coeff @angle:n2-ce-ss harmonic 81.512 117.230 # SOURCE4 6 2.0518 + angle_coeff @angle:ne-ce-ne harmonic 106.467 123.870 # SOURCE3 1 + angle_coeff @angle:ne-ce-nh harmonic 111.319 113.640 # SOURCE4_SOURCE5 41 1.4024 + angle_coeff @angle:nf-ce-nh harmonic 112.342 119.270 # SOURCE4_SOURCE5 23 1.5487 + angle_coeff @angle:pe-ce-pe harmonic 97.908 129.790 # SOURCE3 1 + angle_coeff @angle:py-ce-py harmonic 108.039 108.060 # SOURCE3 1 + angle_coeff @angle:sx-ce-sx harmonic 61.727 120.320 # SOURCE3 1 + angle_coeff @angle:sy-ce-sy harmonic 62.867 119.970 # SOURCE3 1 + angle_coeff @angle:c2-cf-c3 harmonic 66.048 122.530 # SOURCE3_SOURCE5 875 1.9359 + angle_coeff @angle:c2-cf-ca harmonic 67.362 121.780 # SOURCE3_SOURCE5 5 1.1712 + angle_coeff @angle:c2-cf-cd harmonic 67.560 123.320 # CORR_SOURCE5 132 1.9068 + angle_coeff @angle:c2-cf-cf harmonic 67.482 123.260 # SOURCE3_SOURCE5 779 1.8961 + angle_coeff @angle:c2-cf-ch harmonic 68.647 122.090 # CORR_SOURCE5 54 1.3612 + angle_coeff @angle:c2-cf-ha harmonic 50.126 119.940 # SOURCE3_SOURCE5 1393 1.4017 + angle_coeff @angle:c2-cf-n2 harmonic 88.228 128.700 # SOURCE3 1 + angle_coeff @angle:c2-cf-nf harmonic 88.464 118.320 # SOURCE3 7 + angle_coeff @angle:c2-cf-p2 harmonic 81.422 118.240 # SOURCE3 1 + angle_coeff @angle:c2-cf-pf harmonic 81.089 118.760 # SOURCE3 8 + angle_coeff @angle:c2-cf-px harmonic 80.647 119.720 # SOURCE3 6 + angle_coeff @angle:c2-cf-py harmonic 80.419 122.180 # SOURCE3_SOURCE5 7 1.0992 + angle_coeff @angle:c2-cf-sx harmonic 63.052 119.210 # SOURCE3_SOURCE5 9 1.0588 + angle_coeff @angle:c2-cf-sy harmonic 63.705 120.200 # SOURCE3_SOURCE5 12 1.7015 + angle_coeff @angle:c3-cf-ca harmonic 64.468 119.240 # CORR_SOURCE5 312 1.7689 + angle_coeff @angle:c3-cf-cd harmonic 65.251 118.030 # CORR_SOURCE5 77 1.5840 + angle_coeff @angle:c3-cf-ce harmonic 66.005 122.380 # CORR_SOURCE5 490 2.0752 + angle_coeff @angle:c3-cf-cf harmonic 65.435 117.120 # CORR_SOURCE5 524 1.4790 + angle_coeff @angle:c3-cf-n2 harmonic 83.846 122.730 # CORR_SOURCE5 149 1.8752 + angle_coeff @angle:ca-cf-ca harmonic 65.741 117.830 # CORR_SOURCE5 210 0.9675 + angle_coeff @angle:ca-cf-cc harmonic 64.611 130.880 # SOURCE4_SOURCE5 41 1.2386 + angle_coeff @angle:ca-cf-cd harmonic 66.149 118.130 # CORR_SOURCE5 30 0.7112 + angle_coeff @angle:ca-cf-ce harmonic 65.738 127.520 # CORR_SOURCE5 599 1.6916 + angle_coeff @angle:ca-cf-ha harmonic 47.444 115.130 # CORR_SOURCE5 720 0.9389 + angle_coeff @angle:ca-cf-n2 harmonic 86.084 120.720 # SOURCE3 1 + angle_coeff @angle:ca-cf-ne harmonic 85.534 121.710 # CORR_SOURCE5 49 2.1313 + angle_coeff @angle:ca-cf-oh harmonic 86.291 116.100 # CORR_SOURCE5 15 0.6417 + angle_coeff @angle:c-cf-c2 harmonic 67.566 120.420 # SOURCE3 13 + angle_coeff @angle:c-cf-c3 harmonic 64.893 117.220 # CORR_SOURCE5 558 2.2754 + angle_coeff @angle:c-cf-c harmonic 64.277 122.230 # CORR_SOURCE5 52 2.1518 + angle_coeff @angle:c-cf-cc harmonic 67.092 120.770 # CORR_SOURCE5 15 1.8896 + angle_coeff @angle:cc-cf-cf harmonic 66.791 124.350 # CORR_SOURCE5 18 1.4583 + angle_coeff @angle:c-cf-cd harmonic 66.092 117.820 # SOURCE4_SOURCE5 29 1.0204 + angle_coeff @angle:c-cf-ce harmonic 65.856 126.410 # SOURCE3 2 + angle_coeff @angle:cc-cf-ha harmonic 50.638 114.950 # CORR_SOURCE5 95 1.4175 + angle_coeff @angle:cd-cf-ce harmonic 66.704 126.140 # CORR_SOURCE5 122 1.8142 + angle_coeff @angle:cd-cf-ha harmonic 48.006 115.440 # CORR_SOURCE5 179 0.9381 + angle_coeff @angle:cd-cf-n2 harmonic 86.868 120.960 # CORR_SOURCE5 102 2.2421 + angle_coeff @angle:ce-cf-cf harmonic 67.119 124.240 # CORR_SOURCE5 866 1.6941 + angle_coeff @angle:ce-cf-ch harmonic 68.252 123.130 # CORR_SOURCE5 115 2.1292 + angle_coeff @angle:ce-cf-ha harmonic 50.352 118.220 # CORR_SOURCE5 1522 1.3445 + angle_coeff @angle:ce-cf-n harmonic 91.197 108.390 # CORR_SOURCE5 86 1.0066 + angle_coeff @angle:ce-cf-oh harmonic 88.551 121.690 # CORR_SOURCE5 37 1.2824 + angle_coeff @angle:cf-cf-cf harmonic 65.416 122.110 # SOURCE3_SOURCE5 9 2.4680 + angle_coeff @angle:cf-cf-h4 harmonic 47.341 118.130 # CORR_SOURCE5 44 1.1161 + angle_coeff @angle:cf-cf-ha harmonic 47.662 116.650 # SOURCE3_SOURCE5 1159 0.9686 + angle_coeff @angle:cf-cf-n1 harmonic 84.049 127.150 # CORR 4 + angle_coeff @angle:cf-cf-n2 harmonic 87.472 118.930 # CORR_SOURCE5 13 1.3210 + angle_coeff @angle:c-cf-ha harmonic 47.000 116.460 # SOURCE3_SOURCE5 1028 1.3091 + angle_coeff @angle:ch-cf-ch harmonic 68.393 116.520 # CORR_SOURCE5 35 1.1031 + angle_coeff @angle:ch-cf-ha harmonic 48.557 116.460 # CORR_SOURCE5 58 0.6523 + angle_coeff @angle:ch-cf-n1 harmonic 87.835 119.500 # CORR 2 + angle_coeff @angle:c-cf-n2 harmonic 88.177 114.410 # SOURCE4_SOURCE5 13 1.4243 + angle_coeff @angle:c-cf-n harmonic 83.338 118.450 # CORR_SOURCE5 213 1.4857 + angle_coeff @angle:c-cf-nh harmonic 85.341 115.360 # CORR_SOURCE5 28 2.1980 + angle_coeff @angle:f-c-f harmonic 123.826 107.350 # SOURCE2 2 0.2500 + angle_coeff @angle:h4-cf-n2 harmonic 64.393 121.480 # CORR_SOURCE5 257 1.1842 + angle_coeff @angle:h4-cf-ne harmonic 64.320 120.560 # SOURCE4_SOURCE5 39 0.8435 + angle_coeff @angle:ha-cf-n1 harmonic 65.106 115.960 # CORR 4 + angle_coeff @angle:ha-cf-n2 harmonic 64.979 119.510 # SOURCE3 2 + angle_coeff @angle:ha-cf-nf harmonic 61.414 118.590 # SOURCE3 5 + angle_coeff @angle:ha-cf-nh harmonic 62.516 114.990 # CORR 2 + angle_coeff @angle:ha-cf-p2 harmonic 52.606 120.110 # SOURCE3 1 + angle_coeff @angle:ha-cf-pf harmonic 52.651 119.330 # SOURCE3 6 + angle_coeff @angle:ha-cf-px harmonic 52.873 117.900 # SOURCE3 6 + angle_coeff @angle:ha-cf-py harmonic 53.346 117.990 # SOURCE3_SOURCE5 8 0.8708 + angle_coeff @angle:ha-cf-sx harmonic 41.698 115.450 # SOURCE3 3 + angle_coeff @angle:ha-cf-sy harmonic 42.578 114.860 # SOURCE3 3 + angle_coeff @angle:n2-cf-nh harmonic 110.010 125.090 # CORR_SOURCE5 163 1.6803 + angle_coeff @angle:nf-cf-nf harmonic 106.467 123.870 # SOURCE3 1 + angle_coeff @angle:f-c-o harmonic 118.196 123.440 # SOURCE3 1 + angle_coeff @angle:pf-cf-pf harmonic 97.908 129.790 # SOURCE3 1 + angle_coeff @angle:py-cf-py harmonic 108.039 108.060 # SOURCE3 1 + angle_coeff @angle:f-c-s harmonic 84.396 124.000 # SOURCE2 1 + angle_coeff @angle:sx-cf-sx harmonic 61.727 120.320 # SOURCE3 1 + angle_coeff @angle:sy-cf-sy harmonic 62.867 119.970 # SOURCE3 1 + angle_coeff @angle:c1-cg-ca harmonic 58.572 179.570 # CORR_SOURCE5 38 0.4711 + angle_coeff @angle:c1-cg-cc harmonic 58.934 178.610 # SOURCE4_SOURCE5 13 0.3677 + angle_coeff @angle:c1-cg-ce harmonic 58.989 178.050 # CORR_SOURCE5 15 0.1905 + angle_coeff @angle:c1-cg-cg harmonic 60.378 179.670 # CORR_SOURCE5 90 0.1487 + angle_coeff @angle:c1-cg-ne harmonic 79.305 170.020 # SOURCE3 4 1.1724 + angle_coeff @angle:c1-cg-pe harmonic 75.149 173.290 # SOURCE3 11 4.9305 + angle_coeff @angle:ca-cg-ch harmonic 58.741 179.430 # CORR_SOURCE5 40 0.6103 + angle_coeff @angle:ca-cg-n1 harmonic 74.346 179.490 # CORR_SOURCE5 186 0.6659 + angle_coeff @angle:c-cg-c1 harmonic 58.113 179.140 # SOURCE3 2 + angle_coeff @angle:cc-cg-n1 harmonic 74.809 178.620 # CORR_SOURCE5 43 0.6454 + angle_coeff @angle:ce-cg-ch harmonic 59.157 177.940 # CORR 17 + angle_coeff @angle:ce-cg-n1 harmonic 74.894 177.970 # CORR_SOURCE5 184 1.2220 + angle_coeff @angle:n1-cg-ne harmonic 99.946 174.030 # CORR_SOURCE5 30 0.6173 + angle_coeff @angle:h4-c-o harmonic 66.570 120.700 # SOURCE4_SOURCE5 491 0.4811 + angle_coeff @angle:h5-c-n harmonic 63.496 112.160 # SOURCE4_SOURCE5 98 0.3632 + angle_coeff @angle:h5-c-o harmonic 65.930 123.650 # SOURCE4_SOURCE5 150 0.7654 + angle_coeff @angle:ha-c-ha harmonic 37.443 115.610 # SOURCE3 4 0.0458 + angle_coeff @angle:ha-c-i harmonic 38.168 110.580 # SOURCE3 1 + angle_coeff @angle:ha-c-n harmonic 63.490 112.370 # SOURCE3 4 0.6424 + angle_coeff @angle:ha-c-o harmonic 66.484 121.940 # SOURCE3 51 2.3235 + angle_coeff @angle:ha-c-oh harmonic 64.638 111.820 # SOURCE3 4 1.9375 + angle_coeff @angle:ha-c-os harmonic 64.813 110.340 # SOURCE3 8 1.9344 + angle_coeff @angle:ha-c-s harmonic 44.760 119.560 # SOURCE3 3 0.7586 + angle_coeff @angle:c1-ch-ca harmonic 58.522 179.570 # CORR_SOURCE5 38 0.4711 + angle_coeff @angle:c1-ch-cf harmonic 58.938 178.050 # CORR_SOURCE5 15 0.1905 + angle_coeff @angle:c1-ch-ch harmonic 60.316 179.670 # CORR_SOURCE5 90 0.1487 + angle_coeff @angle:c1-ch-nf harmonic 79.216 170.020 # SOURCE3 4 + angle_coeff @angle:c1-ch-pf harmonic 75.117 173.290 # SOURCE3 11 + angle_coeff @angle:ca-ch-cg harmonic 58.741 179.430 # CORR_SOURCE5 40 0.6103 + angle_coeff @angle:ca-ch-n1 harmonic 74.346 179.490 # CORR_SOURCE5 186 0.6659 + angle_coeff @angle:c-ch-c1 harmonic 58.066 179.140 # SOURCE3 2 + angle_coeff @angle:cd-ch-n1 harmonic 74.807 178.630 # CORR_SOURCE5 49 0.3708 + angle_coeff @angle:cf-ch-cg harmonic 59.157 177.940 # CORR 17 + angle_coeff @angle:cf-ch-n1 harmonic 74.894 177.970 # CORR_SOURCE5 184 1.2220 + angle_coeff @angle:cg-ch-ch harmonic 60.571 179.580 # SOURCE4_SOURCE5 55 0.2973 + angle_coeff @angle:n1-ch-nf harmonic 99.946 174.030 # CORR_SOURCE5 30 0.6173 + angle_coeff @angle:i-c-i harmonic 65.372 116.450 # SOURCE3 1 + angle_coeff @angle:i-c-o harmonic 71.718 122.020 # SOURCE3 4 1.2961 + angle_coeff @angle:f-cl-f harmonic 0.000 87.500 # SOURCE2 1 + angle_coeff @angle:n2-c-n2 harmonic 110.771 110.310 # SOURCE3 1 + angle_coeff @angle:n2-c-o harmonic 111.836 122.500 # SOURCE3 1 + angle_coeff @angle:n4-c-n4 harmonic 99.803 114.640 # SOURCE3 1 + angle_coeff @angle:n4-c-o harmonic 106.610 118.830 # SOURCE3 4 3.8516 + angle_coeff @angle:nc-c-o harmonic 113.330 123.180 # CORR_SOURCE5 172 1.0508 + angle_coeff @angle:nd-c-o harmonic 113.330 123.180 # CORR_SOURCE5 172 1.0508 + angle_coeff @angle:ne-c-ne harmonic 113.088 110.310 # CORR 2 + angle_coeff @angle:ne-c-o harmonic 111.914 125.810 # CORR_SOURCE5 65 1.1135 + angle_coeff @angle:nf-c-nf harmonic 113.088 110.310 # CORR 2 + angle_coeff @angle:nf-c-o harmonic 111.914 125.810 # CORR_SOURCE5 65 1.1135 + angle_coeff @angle:n-c-n harmonic 112.428 113.560 # SOURCE4_SOURCE5 1747 1.4619 + angle_coeff @angle:n-c-nc harmonic 110.397 117.110 # CORR_SOURCE5 131 0.7717 + angle_coeff @angle:n-c-nd harmonic 110.397 117.110 # CORR_SOURCE5 131 0.7717 + angle_coeff @angle:n-c-ne harmonic 113.600 110.260 # SOURCE4_SOURCE5 25 1.7043 + angle_coeff @angle:n-c-o harmonic 113.811 123.050 # SOURCE3_SOURCE5 8454 1.5552 + angle_coeff @angle:n-c-oh harmonic 113.913 112.820 # SOURCE4_SOURCE5 14 1.4518 + angle_coeff @angle:no-c-no harmonic 102.620 109.280 # SOURCE3 1 + angle_coeff @angle:no-c-o harmonic 104.115 125.360 # SOURCE3 1 + angle_coeff @angle:n-c-os harmonic 115.486 109.220 # SOURCE4_SOURCE5 821 0.9352 + angle_coeff @angle:n-c-s harmonic 82.398 124.050 # SOURCE3_SOURCE5 514 1.4099 + angle_coeff @angle:n-c-sh harmonic 81.620 112.970 # SOURCE4_SOURCE5 26 1.1725 + angle_coeff @angle:n-c-ss harmonic 82.496 110.290 # SOURCE4_SOURCE5 160 1.6051 + angle_coeff @angle:oh-c-oh harmonic 116.271 110.560 # SOURCE3 2 0.5498 + angle_coeff @angle:oh-c-s harmonic 83.019 123.440 # SOURCE3 1 + angle_coeff @angle:o-c-o harmonic 118.817 130.250 # SOURCE4_SOURCE5 1037 1.2396 + angle_coeff @angle:o-c-oh harmonic 115.745 122.100 # SOURCE3_SOURCE5 2859 0.8497 + angle_coeff @angle:o-c-os harmonic 114.822 123.250 # SOURCE4_SOURCE5 5492 1.1411 + angle_coeff @angle:o-c-p2 harmonic 96.161 123.100 # SOURCE3 1 + angle_coeff @angle:o-c-p3 harmonic 97.971 120.790 # SOURCE3 1 + angle_coeff @angle:o-c-p5 harmonic 97.881 121.170 # SOURCE4_SOURCE5 18 1.1433 + angle_coeff @angle:o-c-pe harmonic 95.623 123.020 # SOURCE3 3 0.1404 + angle_coeff @angle:o-c-pf harmonic 95.623 123.020 # SOURCE3 3 + angle_coeff @angle:o-c-px harmonic 97.552 119.100 # SOURCE3 1 + angle_coeff @angle:o-c-py harmonic 98.325 122.010 # SOURCE4_SOURCE5 14 1.0132 + angle_coeff @angle:o-c-s4 harmonic 76.764 121.150 # SOURCE3 1 + angle_coeff @angle:o-c-s6 harmonic 77.308 119.450 # SOURCE3 1 + angle_coeff @angle:o-c-s harmonic 85.589 120.440 # SOURCE3 2 + angle_coeff @angle:o-c-sh harmonic 79.543 122.050 # SOURCE3_SOURCE5 10 1.1120 + angle_coeff @angle:os-c-os harmonic 115.283 111.290 # SOURCE4_SOURCE5 32 0.8183 + angle_coeff @angle:o-c-ss harmonic 79.009 123.320 # SOURCE3_SOURCE5 190 1.2053 + angle_coeff @angle:os-c-s harmonic 82.392 125.010 # SOURCE4_SOURCE5 62 1.0980 + angle_coeff @angle:os-c-ss harmonic 82.286 111.400 # SOURCE4_SOURCE5 23 1.7283 + angle_coeff @angle:o-c-sx harmonic 76.145 121.150 # SOURCE3 5 3.6452 + angle_coeff @angle:o-c-sy harmonic 77.559 119.320 # SOURCE3 5 2.4495 + angle_coeff @angle:p2-c-p2 harmonic 100.070 113.750 # SOURCE3 1 + angle_coeff @angle:p3-c-p3 harmonic 99.122 118.040 # SOURCE3 1 + angle_coeff @angle:p3-c-py harmonic 113.947 90.080 # SOURCE3 1 + angle_coeff @angle:p5-c-p5 harmonic 96.866 123.760 # SOURCE3 1 + angle_coeff @angle:ca-cp-ca harmonic 68.877 118.380 # CORR_SOURCE5 959 0.6763 + angle_coeff @angle:ca-cp-cp harmonic 66.121 121.110 # CORR_SOURCE5 1631 1.6425 + angle_coeff @angle:ca-cp-na harmonic 86.507 119.500 # SOURCE4_SOURCE5 59 0.7877 + angle_coeff @angle:ca-cp-nb harmonic 87.071 121.620 # SOURCE4_SOURCE5 174 0.6998 + angle_coeff @angle:cp-cp-cp harmonic 74.761 90.000 # SOURCE3 4 + angle_coeff @angle:cp-cp-cq harmonic 64.283 124.270 # CORR_SOURCE5 8 2.0477 + angle_coeff @angle:cp-cp-nb harmonic 86.053 116.610 # SOURCE4_SOURCE5 235 1.1595 + angle_coeff @angle:pe-c-pe harmonic 99.485 113.770 # SOURCE3 1 + angle_coeff @angle:pf-c-pf harmonic 99.485 113.770 # SOURCE3 1 + angle_coeff @angle:nb-cp-nb harmonic 110.031 125.790 # SOURCE4_SOURCE5 11 0.6658 + angle_coeff @angle:py-c-py harmonic 97.618 123.800 # SOURCE3 1 + angle_coeff @angle:ca-cq-ca harmonic 68.877 118.380 # CORR_SOURCE5 959 0.6763 + angle_coeff @angle:ca-cq-cq harmonic 66.121 121.110 # CORR_SOURCE5 1631 1.6425 + angle_coeff @angle:ca-cq-nb harmonic 87.071 121.620 # SOURCE4_SOURCE5 111 0.7244 + angle_coeff @angle:cp-cq-cq harmonic 64.278 124.290 # CORR_SOURCE5 8 1.4947 + angle_coeff @angle:cq-cq-cq harmonic 74.761 90.000 # SOURCE3 4 + angle_coeff @angle:cq-cq-nb harmonic 86.053 116.610 # SOURCE4_SOURCE5 147 1.1420 + angle_coeff @angle:s4-c-s4 harmonic 63.122 108.810 # SOURCE3 1 + angle_coeff @angle:s6-c-s6 harmonic 61.200 115.750 # SOURCE3 1 + angle_coeff @angle:sh-c-sh harmonic 63.799 115.330 # SOURCE3 1 + angle_coeff @angle:s-c-s harmonic 65.463 126.500 # SOURCE3_SOURCE5 14 1.3489 + angle_coeff @angle:s-c-sh harmonic 63.925 122.650 # SOURCE4_SOURCE5 37 1.5614 + angle_coeff @angle:s-c-ss harmonic 63.724 123.190 # SOURCE3_SOURCE5 85 1.7112 + angle_coeff @angle:ss-c-ss harmonic 64.515 112.420 # SOURCE3_SOURCE5 17 0.4533 + angle_coeff @angle:sx-c-sx harmonic 62.622 108.800 # SOURCE3 1 + angle_coeff @angle:sy-c-sy harmonic 61.356 115.780 # SOURCE3 1 + angle_coeff @angle:c2-cu-cx harmonic 61.131 148.500 # SOURCE4_SOURCE5 23 1.5654 + angle_coeff @angle:c-cu-cu harmonic 98.040 62.600 # SOURCE2 1 + angle_coeff @angle:cu-cu-cx harmonic 105.362 50.800 # SOURCE2 1 + angle_coeff @angle:cu-cu-ha harmonic 46.590 147.730 # SOURCE2 3 2.0950 + angle_coeff @angle:cv-cv-cy harmonic 75.476 94.410 # SOURCE3_SOURCE5 6 0.2122 + angle_coeff @angle:cv-cv-ha harmonic 47.789 133.700 # SOURCE3 2 + angle_coeff @angle:cx-cv-cx harmonic 87.395 63.900 # SOURCE2 1 + angle_coeff @angle:cy-cv-ha harmonic 43.281 132.140 # SOURCE3 2 + angle_coeff @angle:c1-cx-cx harmonic 65.298 119.570 # SOURCE4_SOURCE5 51 1.0503 + angle_coeff @angle:c2-cx-cx harmonic 64.271 120.300 # SOURCE4_SOURCE5 207 2.3490 + angle_coeff @angle:c2-cx-h1 harmonic 47.059 115.860 # SOURCE4_SOURCE5 34 0.6256 + angle_coeff @angle:c2-cx-hc harmonic 47.215 115.150 # SOURCE4_SOURCE5 45 0.9609 + angle_coeff @angle:c2-cx-os harmonic 83.614 116.550 # SOURCE4_SOURCE5 48 1.1122 + angle_coeff @angle:c3-cx-c3 harmonic 64.915 114.240 # SOURCE4_SOURCE5 207 2.2113 + angle_coeff @angle:c3-cx-cx harmonic 63.608 120.100 # SOURCE4_SOURCE5 1739 2.3197 + angle_coeff @angle:c3-cx-h1 harmonic 46.234 115.320 # SOURCE4_SOURCE5 326 1.1035 + angle_coeff @angle:c3-cx-hc harmonic 46.430 114.390 # SOURCE4_SOURCE5 291 1.4379 + angle_coeff @angle:c3-cx-n3 harmonic 81.063 118.500 # SOURCE4 17 2.4897 + angle_coeff @angle:c3-cx-os harmonic 82.886 115.680 # SOURCE4_SOURCE5 616 1.2862 + angle_coeff @angle:ca-cx-cx harmonic 63.720 121.950 # SOURCE4_SOURCE5 197 1.8192 + angle_coeff @angle:ca-cx-h1 harmonic 47.143 114.700 # SOURCE4_SOURCE5 19 0.6393 + angle_coeff @angle:ca-cx-hc harmonic 47.377 113.620 # SOURCE4_SOURCE5 57 0.9227 + angle_coeff @angle:ca-cx-oh harmonic 86.728 112.930 # SOURCE3 1 + angle_coeff @angle:ca-cx-os harmonic 82.823 118.310 # SOURCE4_SOURCE5 18 0.7292 + angle_coeff @angle:c-cx-c3 harmonic 64.445 117.470 # SOURCE4_SOURCE5 71 1.9181 + angle_coeff @angle:cc-cx-cx harmonic 64.711 119.620 # CORR_SOURCE5 73 1.1478 + angle_coeff @angle:cc-cx-hc harmonic 47.813 113.930 # SOURCE4_SOURCE5 44 0.6781 + angle_coeff @angle:c-cx-cx harmonic 64.620 117.970 # SOURCE4_SOURCE5 554 2.1023 + angle_coeff @angle:cd-cx-cx harmonic 64.711 119.620 # CORR_SOURCE5 73 1.1478 + angle_coeff @angle:c-cx-h1 harmonic 46.552 116.550 # SOURCE4_SOURCE5 86 1.1535 + angle_coeff @angle:c-cx-hc harmonic 46.546 116.630 # SOURCE4_SOURCE5 122 1.5743 + angle_coeff @angle:cl-cx-cl harmonic 82.588 110.550 # SOURCE2_SOURCE5 14 0.4864 + angle_coeff @angle:cl-cx-cx harmonic 70.087 119.850 # SOURCE4_SOURCE5 84 0.7070 + angle_coeff @angle:cl-cx-h1 harmonic 48.861 111.430 # SOURCE3 1 + angle_coeff @angle:cl-cx-hc harmonic 47.924 115.800 # SOURCE2 1 + angle_coeff @angle:c-cx-os harmonic 83.552 115.590 # SOURCE4 36 0.8227 + angle_coeff @angle:cu-cx-cu harmonic 95.990 54.600 # SOURCE2 1 + angle_coeff @angle:cu-cx-cx harmonic 92.184 58.450 # SOURCE4_SOURCE5 35 0.3844 + angle_coeff @angle:cu-cx-hc harmonic 46.510 118.570 # SOURCE4_SOURCE5 36 0.6733 + angle_coeff @angle:cx-cx-cx harmonic 90.424 60.000 # SOURCE4_SOURCE5 2370 0.7579 + angle_coeff @angle:cx-cx-cy harmonic 69.603 100.530 # SOURCE3 4 + angle_coeff @angle:cx-cx-f harmonic 85.391 118.550 # SOURCE4_SOURCE5 24 1.1971 + angle_coeff @angle:cx-cx-h1 harmonic 45.959 118.700 # SOURCE3_SOURCE5 1351 1.3656 + angle_coeff @angle:cx-cx-hc harmonic 46.163 117.700 # SOURCE3_SOURCE5 3574 0.9510 + angle_coeff @angle:cx-cx-hx harmonic 45.802 119.610 # SOURCE4_SOURCE5 29 0.1468 + angle_coeff @angle:cx-cx-n3 harmonic 114.892 59.590 # SOURCE4_SOURCE5 400 0.3281 + angle_coeff @angle:cx-cx-na harmonic 79.232 126.020 # SOURCE4_SOURCE5 69 1.6659 + angle_coeff @angle:cx-cx-nh harmonic 115.868 59.170 # SOURCE4_SOURCE5 276 0.6810 + angle_coeff @angle:cx-cx-os harmonic 116.592 59.090 # SOURCE4_SOURCE5 1094 0.5727 + angle_coeff @angle:cy-cx-hc harmonic 44.429 125.430 # SOURCE3 2 + angle_coeff @angle:f-cx-f harmonic 120.884 106.900 # SOURCE2 2 1.4000 + angle_coeff @angle:f-cx-h1 harmonic 65.454 111.680 # SOURCE3 1 + angle_coeff @angle:f-cx-hc harmonic 65.300 112.300 # SOURCE2 1 + angle_coeff @angle:h1-cx-h1 harmonic 37.880 115.460 # SOURCE4_SOURCE5 585 0.3332 + angle_coeff @angle:h1-cx-n3 harmonic 59.281 116.470 # SOURCE4_SOURCE5 463 1.4379 + angle_coeff @angle:h1-cx-n harmonic 60.648 115.050 # SOURCE4_SOURCE5 36 1.2404 + angle_coeff @angle:h1-cx-na harmonic 61.785 108.360 # SOURCE4_SOURCE5 35 1.1443 + angle_coeff @angle:h1-cx-nh harmonic 59.869 116.290 # SOURCE4_SOURCE5 349 1.0287 + angle_coeff @angle:h1-cx-os harmonic 60.853 114.930 # SOURCE3_SOURCE5 531 0.5509 + angle_coeff @angle:h2-cx-h2 harmonic 37.352 119.430 # SOURCE3 1 + angle_coeff @angle:h2-cx-n2 harmonic 58.708 117.180 # SOURCE3 4 + angle_coeff @angle:hc-cx-hc harmonic 38.120 114.430 # SOURCE3_SOURCE5 595 0.4830 + angle_coeff @angle:hc-cx-os harmonic 61.092 114.100 # SOURCE2 1 + angle_coeff @angle:hx-cx-n4 harmonic 58.913 114.470 # SOURCE4_SOURCE5 28 0.1963 + angle_coeff @angle:n2-cx-n2 harmonic 157.396 50.160 # SOURCE3 1 + angle_coeff @angle:n-cx-oh harmonic 107.552 119.750 # SOURCE3 2 + angle_coeff @angle:n-cx-os harmonic 141.311 65.980 # SOURCE3 1 + angle_coeff @angle:oh-cx-oh harmonic 116.883 107.850 # SOURCE3 1 + angle_coeff @angle:oh-cx-os harmonic 108.501 118.120 # SOURCE3 4 1.3581 + angle_coeff @angle:os-cx-os harmonic 106.734 116.050 # SOURCE4_SOURCE5 15 2.1532 + angle_coeff @angle:c2-cy-cy harmonic 68.568 100.400 # SOURCE2 1 + angle_coeff @angle:c3-cy-c3 harmonic 65.146 111.440 # SOURCE4_SOURCE5 53 1.0307 + angle_coeff @angle:c3-cy-cy harmonic 62.618 118.700 # SOURCE4 293 1.8510 + angle_coeff @angle:c3-cy-h1 harmonic 46.561 111.780 # SOURCE4_SOURCE5 309 0.4521 + angle_coeff @angle:c3-cy-hc harmonic 46.907 110.140 # SOURCE3_SOURCE5 291 0.5598 + angle_coeff @angle:c3-cy-n3 harmonic 82.158 113.650 # SOURCE3_SOURCE5 15 2.3547 + angle_coeff @angle:c3-cy-n harmonic 86.069 104.130 # SOURCE4_SOURCE5 306 0.5952 + angle_coeff @angle:c3-cy-os harmonic 83.640 112.310 # SOURCE4_SOURCE5 40 1.1099 + angle_coeff @angle:c-cy-c3 harmonic 63.261 116.710 # SOURCE4_SOURCE5 332 0.5683 + angle_coeff @angle:cc-cy-cy harmonic 62.477 121.220 # CORR_SOURCE5 27 0.4901 + angle_coeff @angle:c-cy-cy harmonic 73.514 85.090 # SOURCE4_SOURCE5 672 0.9017 + angle_coeff @angle:cd-cy-cy harmonic 62.477 121.220 # CORR_SOURCE5 27 0.4901 + angle_coeff @angle:ce-cy-h2 harmonic 45.874 117.400 # SOURCE4_SOURCE5 38 0.5598 + angle_coeff @angle:ce-cy-n harmonic 94.195 87.940 # SOURCE4_SOURCE5 38 0.1933 + angle_coeff @angle:ce-cy-ss harmonic 60.454 120.540 # SOURCE4_SOURCE5 34 1.4182 + angle_coeff @angle:c-cy-h1 harmonic 45.784 113.030 # SOURCE4_SOURCE5 167 0.8137 + angle_coeff @angle:c-cy-hc harmonic 46.135 111.320 # SOURCE3_SOURCE5 246 1.1605 + angle_coeff @angle:cl-cy-cy harmonic 69.535 117.010 # SOURCE3_SOURCE5 41 1.1740 + angle_coeff @angle:cl-cy-h1 harmonic 49.261 106.590 # SOURCE3 1 + angle_coeff @angle:cl-cy-hc harmonic 47.632 114.000 # SOURCE2 1 + angle_coeff @angle:c-cy-n harmonic 80.522 117.340 # SOURCE4_SOURCE5 164 1.1278 + angle_coeff @angle:c-cy-os harmonic 82.061 115.000 # SOURCE4_SOURCE5 17 1.7766 + angle_coeff @angle:cv-cy-cy harmonic 73.645 86.710 # SOURCE4_SOURCE5 30 1.1538 + angle_coeff @angle:cv-cy-hc harmonic 46.478 114.420 # SOURCE4_SOURCE5 25 1.1899 + angle_coeff @angle:cx-cy-cy harmonic 68.163 101.230 # SOURCE3 4 + angle_coeff @angle:cx-cy-hc harmonic 45.715 118.300 # SOURCE2 3 5.7799 + angle_coeff @angle:cy-cy-cy harmonic 72.002 88.400 # SOURCE3_SOURCE5 746 1.4921 + angle_coeff @angle:cy-cy-f harmonic 85.702 112.870 # SOURCE4 13 1.6772 + angle_coeff @angle:cy-cy-h1 harmonic 45.598 113.240 # SOURCE3_SOURCE5 501 1.2112 + angle_coeff @angle:cy-cy-h2 harmonic 44.908 116.780 # SOURCE4_SOURCE5 206 0.8496 + angle_coeff @angle:cy-cy-hc harmonic 45.290 114.790 # SOURCE3_SOURCE5 1632 2.3030 + angle_coeff @angle:cy-cy-n3 harmonic 92.778 87.580 # SOURCE3 4 0.6135 + angle_coeff @angle:cy-cy-n harmonic 91.445 90.630 # SOURCE3_SOURCE5 429 2.2980 + angle_coeff @angle:cy-cy-na harmonic 80.160 119.560 # SOURCE4_SOURCE5 26 0.4777 + angle_coeff @angle:cy-cy-oh harmonic 82.786 114.190 # SOURCE3 4 + angle_coeff @angle:cy-cy-os harmonic 83.069 111.770 # SOURCE4 18 2.1334 + angle_coeff @angle:cy-cy-s6 harmonic 60.829 117.220 # SOURCE4_SOURCE5 19 1.2938 + angle_coeff @angle:cy-cy-ss harmonic 60.567 118.400 # SOURCE4_SOURCE5 183 1.7650 + angle_coeff @angle:h1-cy-h1 harmonic 38.688 109.460 # SOURCE3_SOURCE5 73 0.6101 + angle_coeff @angle:h1-cy-n3 harmonic 59.591 113.930 # SOURCE3_SOURCE5 104 0.9602 + angle_coeff @angle:h1-cy-n harmonic 60.615 111.280 # SOURCE4_SOURCE5 377 0.6736 + angle_coeff @angle:h1-cy-oh harmonic 62.604 111.490 # SOURCE3 2 + angle_coeff @angle:h1-cy-os harmonic 62.029 110.130 # SOURCE3_SOURCE5 45 0.8913 + angle_coeff @angle:h1-cy-s6 harmonic 41.611 111.620 # SOURCE4_SOURCE5 16 1.2135 + angle_coeff @angle:h2-cy-n harmonic 59.772 114.500 # SOURCE4_SOURCE5 213 0.6904 + angle_coeff @angle:h2-cy-os harmonic 62.315 109.190 # SOURCE4_SOURCE5 19 0.6835 + angle_coeff @angle:h2-cy-s6 harmonic 41.906 110.010 # SOURCE4_SOURCE5 29 1.6175 + angle_coeff @angle:h2-cy-ss harmonic 41.997 109.770 # SOURCE4_SOURCE5 214 0.7540 + angle_coeff @angle:hc-cy-hc harmonic 38.780 108.980 # SOURCE3_SOURCE5 313 0.5379 + angle_coeff @angle:n-cy-os harmonic 109.575 107.420 # SOURCE4_SOURCE5 24 2.2897 + angle_coeff @angle:n-cy-s6 harmonic 82.361 103.180 # SOURCE4_SOURCE5 18 0.8204 + angle_coeff @angle:n-cy-ss harmonic 81.655 105.130 # SOURCE4_SOURCE5 165 0.4214 + angle_coeff @angle:nh-cz-nh harmonic 112.563 120.140 # SOURCE4_SOURCE5 67 0.3910 + angle_coeff @angle:br-n1-c1 harmonic 52.125 180.000 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-c1 harmonic 65.921 179.920 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-c2 harmonic 61.737 177.730 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-c3 harmonic 57.795 177.720 # HF/6-31G*_SOURCE5 6 0.4473 + angle_coeff @angle:c1-n1-ca harmonic 60.455 179.990 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-cl harmonic 62.197 179.950 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-f harmonic 73.857 179.960 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-hn harmonic 45.538 179.980 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-i harmonic 49.085 179.950 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-n1 harmonic 83.205 180.000 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-n2 harmonic 81.640 171.560 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-n3 harmonic 76.060 175.590 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-n4 harmonic 74.800 179.690 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-na harmonic 75.122 180.000 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-nh harmonic 76.286 176.350 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-o harmonic 77.945 179.950 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-oh harmonic 78.300 174.310 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-os harmonic 77.399 176.610 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-p2 harmonic 70.987 172.830 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-p3 harmonic 71.573 173.510 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-p4 harmonic 70.741 173.640 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-p5 harmonic 74.438 177.280 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-s2 harmonic 61.878 178.110 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-s4 harmonic 56.730 169.600 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-s harmonic 54.789 179.990 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-s6 harmonic 63.372 175.920 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-sh harmonic 57.243 174.250 # HF/6-31G* 1 + angle_coeff @angle:c1-n1-ss harmonic 56.948 176.060 # HF/6-31G* 1 + angle_coeff @angle:c2-n1-n1 harmonic 77.250 180.000 # HF/6-31G* 1 + angle_coeff @angle:c2-n1-o harmonic 91.430 116.940 # SOURCE3 2 0.0060 + angle_coeff @angle:c2-n1-s harmonic 66.557 118.000 # SOURCE3 2 0.0121 + angle_coeff @angle:c3-n1-n1 harmonic 72.180 180.000 # HF/6-31G* 1 + angle_coeff @angle:ca-n1-n1 harmonic 76.091 180.000 # HF/6-31G* 1 + angle_coeff @angle:ce-n1-o harmonic 89.183 122.400 # CORR 2 + angle_coeff @angle:ce-n1-s harmonic 66.690 117.340 # CORR 2 + angle_coeff @angle:cf-n1-o harmonic 89.183 122.400 # CORR 2 + angle_coeff @angle:cf-n1-s harmonic 66.690 117.340 # CORR 2 + angle_coeff @angle:cl-n1-n1 harmonic 77.983 179.940 # HF/6-31G* 1 + angle_coeff @angle:f-n1-n1 harmonic 92.867 179.930 # HF/6-31G* 1 + angle_coeff @angle:hn-n1-n1 harmonic 57.688 179.910 # HF/6-31G* 1 + angle_coeff @angle:i-n1-n1 harmonic 61.297 179.940 # HF/6-31G* 1 + angle_coeff @angle:n1-n1-n1 harmonic 105.090 179.970 # HF/6-31G* 1 + angle_coeff @angle:n1-n1-n2 harmonic 102.546 172.850 # HF/6-31G*_SOURCE5 38 0.7957 + angle_coeff @angle:n1-n1-n3 harmonic 95.850 175.090 # HF/6-31G* 1 + angle_coeff @angle:n1-n1-n4 harmonic 94.056 179.910 # HF/6-31G* 1 + angle_coeff @angle:n1-n1-na harmonic 94.541 179.970 # HF/6-31G* 1 + angle_coeff @angle:n1-n1-nh harmonic 96.108 176.000 # HF/6-31G* 1 + angle_coeff @angle:n1-n1-o harmonic 98.200 179.940 # HF/6-31G* 1 + angle_coeff @angle:n1-n1-oh harmonic 98.761 173.770 # HF/6-31G* 1 + angle_coeff @angle:n1-n1-os harmonic 97.594 176.120 # HF/6-31G* 1 + angle_coeff @angle:n1-n1-p2 harmonic 88.474 174.710 # HF/6-31G* 1 + angle_coeff @angle:n1-n1-p3 harmonic 89.510 174.270 # HF/6-31G* 1 + angle_coeff @angle:n1-n1-s harmonic 68.668 180.000 # SOURCE3 1 + angle_coeff @angle:n1-n1-sh harmonic 71.618 175.070 # HF/6-31G* 1 + angle_coeff @angle:n1-n1-ss harmonic 71.507 175.610 # HF/6-31G* 1 + angle_coeff @angle:o-n1-p2 harmonic 107.306 116.050 # SOURCE3 1 + angle_coeff @angle:p2-n1-s harmonic 83.718 119.930 # SOURCE3 1 + angle_coeff @angle:br-n2-br harmonic 64.457 106.600 # SOURCE3 1 + angle_coeff @angle:br-n2-c2 harmonic 60.247 112.400 # SOURCE3 1 + angle_coeff @angle:br-n2-n2 harmonic 76.071 110.420 # SOURCE3 1 + angle_coeff @angle:br-n2-o harmonic 74.480 114.470 # SOURCE3 1 + angle_coeff @angle:br-n2-p2 harmonic 82.651 111.030 # SOURCE3 1 + angle_coeff @angle:br-n2-s harmonic 63.537 115.780 # SOURCE3 1 + angle_coeff @angle:c1-n2-c1 harmonic 77.425 121.100 # SOURCE3 1 + angle_coeff @angle:c1-n2-c3 harmonic 60.897 151.880 # SOURCE3 4 15.8282 + angle_coeff @angle:c1-n2-cl harmonic 68.804 118.800 # SOURCE2 1 + angle_coeff @angle:c1-n2-hn harmonic 52.343 126.500 # SOURCE2 3 7.6267 + angle_coeff @angle:c1-n2-n2 harmonic 97.203 113.400 # SOURCE3 1 + angle_coeff @angle:c1-n2-o harmonic 99.262 113.590 # SOURCE3 1 + angle_coeff @angle:c1-n2-p2 harmonic 88.534 119.570 # SOURCE3 1 + angle_coeff @angle:c1-n2-s harmonic 71.943 117.670 # SOURCE3 1 + angle_coeff @angle:c2-n2-c2 harmonic 73.202 118.180 # SOURCE3 1 + angle_coeff @angle:c2-n2-c3 harmonic 68.517 115.300 # SOURCE3 8 4.2940 + angle_coeff @angle:c2-n2-ca harmonic 72.054 119.940 # SOURCE3 1 + angle_coeff @angle:c2-n2-cl harmonic 70.470 112.640 # SOURCE3 1 + angle_coeff @angle:c2-n2-f harmonic 90.773 108.140 # SOURCE3 1 + angle_coeff @angle:c2-n2-hn harmonic 53.185 110.800 # SOURCE3_SOURCE5 419 0.5563 + angle_coeff @angle:c2-n2-i harmonic 54.902 114.740 # SOURCE3 2 0.0139 + angle_coeff @angle:c2-n2-n1 harmonic 94.708 115.090 # HF/6-31G* 1 + angle_coeff @angle:c2-n2-n2 harmonic 98.476 103.590 # SOURCE3 2 + angle_coeff @angle:c2-n2-n3 harmonic 89.963 118.140 # SOURCE3 1 + angle_coeff @angle:c2-n2-n4 harmonic 78.566 112.220 # SOURCE3 3 0.0406 + angle_coeff @angle:c2-n2-n harmonic 88.873 117.930 # SOURCE4_SOURCE5 32 1.2067 + angle_coeff @angle:c2-n2-na harmonic 88.734 117.580 # SOURCE3 8 1.6671 + angle_coeff @angle:c2-n2-nh harmonic 89.294 117.610 # SOURCE3 6 3.2642 + angle_coeff @angle:c2-n2-no harmonic 86.019 118.020 # SOURCE3_SOURCE5 8 0.7772 + angle_coeff @angle:c2-n2-o harmonic 94.405 116.940 # SOURCE3 1 + angle_coeff @angle:c2-n2-oh harmonic 90.358 111.120 # SOURCE4_SOURCE5 59 1.2303 + angle_coeff @angle:c2-n2-os harmonic 90.019 110.960 # SOURCE4_SOURCE5 46 1.0478 + angle_coeff @angle:c2-n2-p2 harmonic 88.774 116.000 # SOURCE3 1 + angle_coeff @angle:c2-n2-p3 harmonic 80.914 119.300 # SOURCE3 3 2.8489 + angle_coeff @angle:c2-n2-p4 harmonic 82.737 118.770 # SOURCE3 1 + angle_coeff @angle:c2-n2-s4 harmonic 70.138 112.290 # SOURCE3 1 + angle_coeff @angle:c2-n2-s6 harmonic 70.821 116.240 # SOURCE3 1 + angle_coeff @angle:c2-n2-s harmonic 70.719 118.000 # SOURCE3 1 + angle_coeff @angle:c2-n2-sh harmonic 64.926 115.480 # SOURCE3 1 + angle_coeff @angle:c2-n2-ss harmonic 66.888 118.040 # SOURCE3 4 2.2804 + angle_coeff @angle:c3-n2-c3 harmonic 66.122 110.700 # SOURCE3 1 + angle_coeff @angle:c3-n2-ca harmonic 68.205 115.050 # SOURCE4_SOURCE5 12 1.0676 + angle_coeff @angle:c3-n2-ce harmonic 67.437 118.670 # CORR_SOURCE5 270 1.8559 + angle_coeff @angle:c3-n2-cf harmonic 67.437 118.670 # CORR_SOURCE5 270 1.8559 + angle_coeff @angle:c3-n2-hn harmonic 45.854 118.400 # SOURCE3 1 + angle_coeff @angle:c3-n2-n1 harmonic 86.587 116.100 # SOURCE4_SOURCE5 33 0.4557 + angle_coeff @angle:c3-n2-n2 harmonic 87.844 110.840 # SOURCE3_SOURCE5 20 1.2862 + angle_coeff @angle:c3-n2-nh harmonic 86.138 109.990 # SOURCE3 1 + angle_coeff @angle:c3-n2-o harmonic 88.263 112.400 # SOURCE2 1 + angle_coeff @angle:c3-n2-p2 harmonic 85.879 114.210 # SOURCE3 2 2.2772 + angle_coeff @angle:c3-n2-s6 harmonic 68.328 113.840 # SOURCE3 1 + angle_coeff @angle:c3-n2-s harmonic 67.797 116.720 # SOURCE3 1 + angle_coeff @angle:ca-n2-ca harmonic 73.899 112.200 # SOURCE3 1 + angle_coeff @angle:ca-n2-hn harmonic 50.447 120.000 # SOURCE3 1 + angle_coeff @angle:ca-n2-n2 harmonic 93.256 113.530 # SOURCE3 1 + angle_coeff @angle:ca-n2-o harmonic 93.893 116.000 # SOURCE2 1 + angle_coeff @angle:ca-n2-p2 harmonic 87.640 118.110 # SOURCE3 1 + angle_coeff @angle:ca-n2-s harmonic 69.770 120.110 # SOURCE3 1 + angle_coeff @angle:c-n2-c2 harmonic 68.290 120.970 # SOURCE3 1 + angle_coeff @angle:c-n2-c harmonic 64.555 123.800 # SOURCE3 1 + angle_coeff @angle:c-n2-ca harmonic 67.993 120.500 # SOURCE3 1 + angle_coeff @angle:cc-n2-cl harmonic 69.467 115.790 # CORR 2 + angle_coeff @angle:cc-n2-hn harmonic 52.795 111.250 # CORR_SOURCE5 44 0.9238 + angle_coeff @angle:cc-n2-na harmonic 91.793 109.240 # SOURCE4_SOURCE5 23 1.5921 + angle_coeff @angle:cc-n2-nh harmonic 88.704 118.470 # SOURCE4_SOURCE5 13 1.7276 + angle_coeff @angle:cd-n2-cl harmonic 69.467 115.790 # CORR 2 + angle_coeff @angle:cd-n2-hn harmonic 52.795 111.250 # CORR_SOURCE5 44 0.9238 + angle_coeff @angle:ce-n2-hn harmonic 52.954 111.000 # CORR_SOURCE5 129 0.3980 + angle_coeff @angle:ce-n2-n harmonic 88.686 117.980 # CORR_SOURCE5 153 0.9604 + angle_coeff @angle:ce-n2-nh harmonic 88.846 118.340 # CORR_SOURCE5 99 1.0308 + angle_coeff @angle:ce-n2-o harmonic 96.153 112.160 # SOURCE3 1 + angle_coeff @angle:ce-n2-oh harmonic 89.527 112.790 # CORR_SOURCE5 124 1.4261 + angle_coeff @angle:ce-n2-os harmonic 89.131 112.790 # CORR_SOURCE5 58 1.1282 + angle_coeff @angle:ce-n2-s harmonic 71.153 116.280 # SOURCE3 1 + angle_coeff @angle:cf-n2-hn harmonic 52.942 111.050 # CORR_SOURCE5 5 0.7460 + angle_coeff @angle:cf-n2-n harmonic 88.686 117.980 # CORR_SOURCE5 153 0.9604 + angle_coeff @angle:cf-n2-nh harmonic 88.846 118.340 # CORR_SOURCE5 99 1.0308 + angle_coeff @angle:cf-n2-o harmonic 96.153 112.160 # SOURCE3 1 + angle_coeff @angle:cf-n2-oh harmonic 89.527 112.790 # CORR_SOURCE5 124 1.4261 + angle_coeff @angle:cf-n2-os harmonic 89.131 112.790 # CORR_SOURCE5 58 1.1282 + angle_coeff @angle:cf-n2-s harmonic 71.153 116.280 # SOURCE3 1 + angle_coeff @angle:cl-n2-n1 harmonic 90.032 108.700 # SOURCE2 1 + angle_coeff @angle:cl-n2-n2 harmonic 89.183 110.470 # SOURCE3 1 + angle_coeff @angle:cl-n2-o harmonic 87.927 114.030 # SOURCE3 1 + angle_coeff @angle:cl-n2-p2 harmonic 93.146 112.980 # SOURCE3 1 + angle_coeff @angle:cl-n2-s harmonic 72.639 115.770 # SOURCE3 1 + angle_coeff @angle:cx-n2-n2 harmonic 113.932 64.920 # SOURCE3 2 + angle_coeff @angle:f-n2-n2 harmonic 110.866 114.600 # SOURCE2 1 + angle_coeff @angle:f-n2-o harmonic 114.530 110.100 # SOURCE2 1 + angle_coeff @angle:f-n2-p2 harmonic 113.300 107.100 # SOURCE3 1 + angle_coeff @angle:f-n2-s harmonic 88.996 110.730 # SOURCE3 1 + angle_coeff @angle:hn-n2-hn harmonic 38.294 120.000 # SOURCE3 1 + angle_coeff @angle:hn-n2-n1 harmonic 67.682 114.100 # SOURCE2 1 + angle_coeff @angle:hn-n2-n2 harmonic 69.032 105.010 # SOURCE3 19 1.5183 + angle_coeff @angle:hn-n2-ne harmonic 67.706 108.560 # SOURCE3 29 5.5708 + angle_coeff @angle:hn-n2-nf harmonic 67.706 108.560 # SOURCE3 29 + angle_coeff @angle:hn-n2-o harmonic 70.317 107.370 # SOURCE3 1 + angle_coeff @angle:hn-n2-p2 harmonic 59.815 112.090 # SOURCE3 18 4.0663 + angle_coeff @angle:hn-n2-p4 harmonic 55.602 111.330 # SOURCE3 1 + angle_coeff @angle:hn-n2-p5 harmonic 57.476 122.340 # SOURCE3 1 + angle_coeff @angle:hn-n2-pe harmonic 62.556 111.410 # SOURCE3 20 4.9895 + angle_coeff @angle:hn-n2-pf harmonic 62.556 111.410 # SOURCE3 20 + angle_coeff @angle:hn-n2-s2 harmonic 47.686 115.800 # SOURCE2 1 + angle_coeff @angle:hn-n2-s4 harmonic 46.643 111.210 # SOURCE3 1 + angle_coeff @angle:hn-n2-s harmonic 49.437 108.170 # SOURCE3 1 + angle_coeff @angle:hn-n2-s6 harmonic 48.367 111.170 # SOURCE3_SOURCE5 7 0.7012 + angle_coeff @angle:i-n2-n2 harmonic 69.513 111.790 # SOURCE3 1 + angle_coeff @angle:i-n2-o harmonic 67.472 116.820 # SOURCE3 1 + angle_coeff @angle:i-n2-p2 harmonic 77.614 113.260 # SOURCE3 1 + angle_coeff @angle:i-n2-s harmonic 59.644 116.850 # SOURCE3 1 + angle_coeff @angle:n1-n2-n1 harmonic 122.832 112.000 # HF/6-31G* 1 + angle_coeff @angle:n2-n2-n1 harmonic 95.438 180.000 # dac_for_azides 0 + angle_coeff @angle:n2-n2-n2 harmonic 120.662 109.490 # SOURCE3 2 + angle_coeff @angle:n2-n2-n3 harmonic 117.964 108.880 # SOURCE3 1 + angle_coeff @angle:n2-n2-n4 harmonic 101.207 106.450 # SOURCE3 1 + angle_coeff @angle:n2-n2-na harmonic 114.285 112.230 # SOURCE3 1 + angle_coeff @angle:n2-n2-nh harmonic 115.311 111.700 # SOURCE3 5 0.3475 + angle_coeff @angle:n2-n2-no harmonic 114.147 105.970 # SOURCE3 1 + angle_coeff @angle:n2-n2-o harmonic 122.449 110.430 # SOURCE3 1 + angle_coeff @angle:n2-n2-oh harmonic 113.470 111.510 # SOURCE3 1 + angle_coeff @angle:n2-n2-os harmonic 114.570 108.380 # SOURCE3 1 + angle_coeff @angle:n2-n2-p2 harmonic 114.892 109.150 # SOURCE3 1 + angle_coeff @angle:n2-n2-p3 harmonic 104.216 113.050 # SOURCE3 1 + angle_coeff @angle:n2-n2-p4 harmonic 103.768 118.770 # SOURCE3 1 + angle_coeff @angle:n2-n2-p5 harmonic 114.546 110.460 # SOURCE3 1 + angle_coeff @angle:n2-n2-s4 harmonic 90.072 107.300 # SOURCE3 1 + angle_coeff @angle:n2-n2-s6 harmonic 90.924 111.250 # SOURCE3 1 + angle_coeff @angle:n2-n2-s harmonic 89.630 115.910 # SOURCE3 1 + angle_coeff @angle:n2-n2-sh harmonic 83.010 111.100 # SOURCE3 1 + angle_coeff @angle:n2-n2-ss harmonic 86.115 112.140 # SOURCE3 1 + angle_coeff @angle:n3-n2-n3 harmonic 112.191 115.070 # SOURCE3 1 + angle_coeff @angle:n3-n2-o harmonic 117.213 114.000 # SOURCE2 1 + angle_coeff @angle:n3-n2-p2 harmonic 110.501 115.340 # SOURCE3 1 + angle_coeff @angle:n3-n2-s harmonic 87.944 117.130 # SOURCE3 1 + angle_coeff @angle:n4-n2-n4 harmonic 92.222 106.700 # SOURCE3 1 + angle_coeff @angle:n4-n2-o harmonic 99.103 112.200 # SOURCE3 1 + angle_coeff @angle:n4-n2-p2 harmonic 101.387 113.070 # SOURCE3 1 + angle_coeff @angle:n4-n2-s harmonic 78.497 118.500 # SOURCE3 1 + angle_coeff @angle:na-n2-na harmonic 113.061 107.000 # SOURCE3 1 + angle_coeff @angle:na-n2-o harmonic 115.589 113.090 # SOURCE3 1 + angle_coeff @angle:na-n2-p2 harmonic 107.835 119.160 # SOURCE3 1 + angle_coeff @angle:na-n2-s harmonic 86.691 118.260 # SOURCE3 1 + angle_coeff @angle:ne-n2-nh harmonic 114.300 113.340 # CORR_SOURCE5 18 1.2157 + angle_coeff @angle:ne-n2-o harmonic 122.270 110.310 # SOURCE3 1 + angle_coeff @angle:ne-n2-s harmonic 89.426 116.220 # SOURCE3 1 + angle_coeff @angle:nf-n2-nh harmonic 114.300 113.340 # CORR_SOURCE5 18 1.2157 + angle_coeff @angle:nf-n2-o harmonic 122.270 110.310 # SOURCE3 1 + angle_coeff @angle:nf-n2-s harmonic 89.426 116.220 # SOURCE3 1 + angle_coeff @angle:nh-n2-nh harmonic 107.426 121.200 # SOURCE3 1 + angle_coeff @angle:nh-n2-o harmonic 116.027 113.850 # SOURCE4_SOURCE5 33 1.0590 + angle_coeff @angle:nh-n2-p2 harmonic 108.341 118.830 # SOURCE3 2 0.1024 + angle_coeff @angle:nh-n2-s harmonic 87.530 116.900 # SOURCE3 2 0.2276 + angle_coeff @angle:n-n2-n2 harmonic 116.779 108.160 # SOURCE4_SOURCE5 18 0.3340 + angle_coeff @angle:n-n2-o harmonic 114.959 115.110 # SOURCE4_SOURCE5 85 0.2779 + angle_coeff @angle:no-n2-no harmonic 109.483 103.700 # SOURCE3 1 + angle_coeff @angle:no-n2-o harmonic 118.569 100.760 # SOURCE3 1 + angle_coeff @angle:no-n2-p2 harmonic 109.507 111.950 # SOURCE3 1 + angle_coeff @angle:n-n2-p2 harmonic 108.858 117.300 # SOURCE3 1 + angle_coeff @angle:n-n2-s harmonic 87.790 115.740 # SOURCE3 1 + angle_coeff @angle:oh-n2-oh harmonic 114.003 101.700 # SOURCE3 1 + angle_coeff @angle:oh-n2-p2 harmonic 109.132 115.110 # SOURCE3 1 + angle_coeff @angle:oh-n2-s harmonic 86.961 116.080 # SOURCE3 1 + angle_coeff @angle:o-n2-o harmonic 122.337 115.370 # SOURCE3 1 + angle_coeff @angle:o-n2-oh harmonic 114.777 112.150 # SOURCE2 2 1.4500 + angle_coeff @angle:o-n2-os harmonic 115.139 110.350 # SOURCE3 2 0.0042 + angle_coeff @angle:o-n2-p2 harmonic 112.237 116.080 # SOURCE3 1 + angle_coeff @angle:o-n2-p3 harmonic 104.358 113.430 # SOURCE3 1 + angle_coeff @angle:o-n2-p4 harmonic 107.967 110.610 # SOURCE3 1 + angle_coeff @angle:o-n2-p5 harmonic 116.129 109.110 # SOURCE3 1 + angle_coeff @angle:o-n2-pe harmonic 107.813 134.560 # SOURCE3 1 + angle_coeff @angle:o-n2-pf harmonic 107.813 134.560 # SOURCE3 1 + angle_coeff @angle:o-n2-s4 harmonic 90.054 108.910 # SOURCE3 1 + angle_coeff @angle:o-n2-s6 harmonic 91.703 111.340 # SOURCE3 1 + angle_coeff @angle:o-n2-s harmonic 89.978 117.180 # SOURCE3 1 + angle_coeff @angle:o-n2-sh harmonic 81.901 114.980 # SOURCE3 1 + angle_coeff @angle:os-n2-os harmonic 108.669 110.290 # SOURCE3 1 + angle_coeff @angle:os-n2-p2 harmonic 111.268 110.200 # SOURCE3 1 + angle_coeff @angle:o-n2-ss harmonic 85.259 115.770 # SOURCE3_SOURCE5 7 0.2342 + angle_coeff @angle:os-n2-s harmonic 88.194 112.230 # SOURCE3 1 + angle_coeff @angle:p2-n2-p2 harmonic 113.183 116.800 # SOURCE3 1 + angle_coeff @angle:p2-n2-p3 harmonic 103.997 124.480 # SOURCE3 1 + angle_coeff @angle:p2-n2-p4 harmonic 103.837 128.370 # SOURCE3 1 + angle_coeff @angle:p2-n2-p5 harmonic 110.289 123.470 # SOURCE3 1 + angle_coeff @angle:p2-n2-s4 harmonic 89.884 112.100 # SOURCE3 1 + angle_coeff @angle:p2-n2-s6 harmonic 90.002 115.700 # SOURCE3 1 + angle_coeff @angle:p2-n2-s harmonic 89.517 117.840 # SOURCE3 1 + angle_coeff @angle:p2-n2-sh harmonic 83.828 118.450 # SOURCE3 1 + angle_coeff @angle:p2-n2-ss harmonic 85.455 120.430 # SOURCE3 1 + angle_coeff @angle:p3-n2-p3 harmonic 101.430 120.400 # SOURCE3 1 + angle_coeff @angle:p3-n2-s harmonic 83.445 120.860 # SOURCE3 1 + angle_coeff @angle:p4-n2-s harmonic 81.102 131.840 # SOURCE3 1 + angle_coeff @angle:p5-n2-p5 harmonic 111.803 120.600 # SOURCE3 1 + angle_coeff @angle:p5-n2-s harmonic 88.930 119.890 # SOURCE3 1 + angle_coeff @angle:pe-n2-s harmonic 92.311 115.730 # SOURCE3 1 + angle_coeff @angle:pf-n2-s harmonic 92.311 115.730 # SOURCE3 1 + angle_coeff @angle:s4-n2-s4 harmonic 67.822 119.180 # SOURCE3 1 + angle_coeff @angle:s4-n2-s6 harmonic 68.983 119.180 # SOURCE3 1 + angle_coeff @angle:s6-n2-s6 harmonic 70.275 119.180 # SOURCE3 1 + angle_coeff @angle:sh-n2-sh harmonic 61.611 123.930 # SOURCE3 1 + angle_coeff @angle:sh-n2-ss harmonic 63.026 123.930 # SOURCE3 1 + angle_coeff @angle:s-n2-s harmonic 70.359 120.880 # SOURCE3 1 + angle_coeff @angle:s-n2-s4 harmonic 71.109 113.000 # SOURCE3 1 + angle_coeff @angle:s-n2-s6 harmonic 70.436 119.610 # SOURCE3 1 + angle_coeff @angle:s-n2-sh harmonic 65.341 122.050 # SOURCE3 1 + angle_coeff @angle:s-n2-ss harmonic 68.418 118.190 # SOURCE3 1 + angle_coeff @angle:ss-n2-ss harmonic 64.662 123.930 # SOURCE3 1 + angle_coeff @angle:br-n3-br harmonic 67.124 107.150 # SOURCE3 1 + angle_coeff @angle:br-n3-c3 harmonic 63.925 106.930 # SOURCE3 2 + angle_coeff @angle:c1-n3-c1 harmonic 68.156 123.340 # SOURCE3 1 + angle_coeff @angle:c1-n3-f harmonic 91.888 104.700 # SOURCE2 1 + angle_coeff @angle:c1-n3-hn harmonic 50.216 114.780 # SOURCE3_SOURCE5 7 0.4776 + angle_coeff @angle:c1-n3-o harmonic 89.192 116.630 # SOURCE3 1 + angle_coeff @angle:c2-n3-c2 harmonic 68.168 124.680 # SOURCE3 1 + angle_coeff @angle:c2-n3-hn harmonic 49.470 119.380 # SOURCE3 1 + angle_coeff @angle:c3-n3-c3 harmonic 65.697 112.350 # SOURCE3_SOURCE5 10425 1.3688 + angle_coeff @angle:c3-n3-cl harmonic 72.005 107.230 # SOURCE3 3 0.3673 + angle_coeff @angle:c3-n3-cx harmonic 64.536 116.000 # SOURCE4_SOURCE5 93 0.9654 + angle_coeff @angle:c3-n3-cy harmonic 63.919 117.550 # SOURCE4_SOURCE5 52 1.6649 + angle_coeff @angle:c3-n3-f harmonic 88.810 103.130 # SOURCE3 2 + angle_coeff @angle:c3-n3-hn harmonic 47.782 109.290 # SOURCE3_SOURCE5 6742 0.6614 + angle_coeff @angle:c3-n3-i harmonic 60.375 108.480 # SOURCE3 2 + angle_coeff @angle:c3-n3-n2 harmonic 83.514 118.750 # SOURCE2 2 2.6500 + angle_coeff @angle:c3-n3-n3 harmonic 83.494 110.800 # SOURCE3_SOURCE5 91 1.4698 + angle_coeff @angle:c3-n3-n4 harmonic 84.250 109.650 # SOURCE3 3 0.1146 + angle_coeff @angle:c3-n3-n harmonic 84.170 111.710 # SOURCE4_SOURCE5 108 1.7154 + angle_coeff @angle:c3-n3-nh harmonic 83.840 111.770 # SOURCE4_SOURCE5 54 1.2232 + angle_coeff @angle:c3-n3-no harmonic 82.437 116.930 # SOURCE3_SOURCE5 25 0.8475 + angle_coeff @angle:c3-n3-o harmonic 86.116 113.310 # SOURCE3 5 8.9081 + angle_coeff @angle:c3-n3-oh harmonic 85.913 106.490 # SOURCE4_SOURCE5 51 1.1723 + angle_coeff @angle:c3-n3-os harmonic 85.469 105.800 # SOURCE4_SOURCE5 28 1.5996 + angle_coeff @angle:c3-n3-p3 harmonic 79.872 119.670 # SOURCE3_SOURCE5 17 1.9089 + angle_coeff @angle:c3-n3-p5 harmonic 81.775 119.860 # SOURCE4_SOURCE5 188 2.0452 + angle_coeff @angle:c3-n3-s4 harmonic 62.997 114.490 # SOURCE3_SOURCE5 8 1.8120 + angle_coeff @angle:c3-n3-s6 harmonic 64.550 116.550 # SOURCE4_SOURCE5 179 1.8765 + angle_coeff @angle:c3-n3-s harmonic 63.268 110.020 # SOURCE3 1 + angle_coeff @angle:c3-n3-sh harmonic 63.898 112.700 # SOURCE3 1 + angle_coeff @angle:c3-n3-ss harmonic 63.312 116.250 # SOURCE3_SOURCE5 14 1.9512 + angle_coeff @angle:c3-n3-sy harmonic 64.295 115.250 # SOURCE4_SOURCE5 250 1.7586 + angle_coeff @angle:cl-n3-cl harmonic 80.378 108.280 # SOURCE3 1 + angle_coeff @angle:cl-n3-hn harmonic 48.266 104.390 # SOURCE3 2 + angle_coeff @angle:cl-n3-n3 harmonic 90.354 107.650 # SOURCE3 1 + angle_coeff @angle:cx-n3-cx harmonic 89.029 60.730 # SOURCE4_SOURCE5 147 0.2518 + angle_coeff @angle:cx-n3-hn harmonic 47.500 109.830 # SOURCE4_SOURCE5 76 0.6684 + angle_coeff @angle:cx-n3-p5 harmonic 81.827 119.410 # SOURCE4_SOURCE5 173 1.2386 + angle_coeff @angle:cx-n3-py harmonic 80.259 121.750 # SOURCE4_SOURCE5 20 1.0295 + angle_coeff @angle:cy-n3-cy harmonic 72.263 91.110 # SOURCE4_SOURCE5 36 0.9119 + angle_coeff @angle:cy-n3-hn harmonic 47.059 110.670 # SOURCE4_SOURCE5 48 0.9592 + angle_coeff @angle:f-n3-f harmonic 115.777 102.220 # SOURCE2 4 0.7562 + angle_coeff @angle:f-n3-hn harmonic 65.935 99.800 # SOURCE2 1 + angle_coeff @angle:hn-n3-hn harmonic 40.828 106.400 # SOURCE3_SOURCE5 2019 0.9777 + angle_coeff @angle:hn-n3-i harmonic 36.749 109.980 # SOURCE3 2 + angle_coeff @angle:hn-n3-n1 harmonic 64.085 110.170 # HF/6-31G* 1 + angle_coeff @angle:hn-n3-n2 harmonic 63.293 115.940 # SOURCE3 1 + angle_coeff @angle:hn-n3-n3 harmonic 61.180 107.680 # SOURCE3_SOURCE5 107 1.7630 + angle_coeff @angle:hn-n3-n4 harmonic 61.852 106.910 # SOURCE3_SOURCE5 18 0.7068 + angle_coeff @angle:hn-n3-n harmonic 62.520 108.120 # SOURCE3_SOURCE5 90 1.1435 + angle_coeff @angle:hn-n3-na harmonic 61.963 107.890 # SOURCE3 1 + angle_coeff @angle:hn-n3-nh harmonic 62.016 108.310 # SOURCE3_SOURCE5 85 1.2609 + angle_coeff @angle:hn-n3-no harmonic 63.767 104.780 # SOURCE3 3 1.1126 + angle_coeff @angle:hn-n3-o harmonic 65.058 113.320 # SOURCE3 3 4.3945 + angle_coeff @angle:hn-n3-oh harmonic 63.840 102.300 # SOURCE3_SOURCE5 14 0.6850 + angle_coeff @angle:hn-n3-os harmonic 62.667 102.750 # SOURCE3_SOURCE5 43 0.6086 + angle_coeff @angle:hn-n3-p2 harmonic 55.368 120.260 # SOURCE3 1 + angle_coeff @angle:hn-n3-p3 harmonic 54.032 116.890 # SOURCE3 9 3.8816 + angle_coeff @angle:hn-n3-p4 harmonic 56.121 113.050 # SOURCE3 2 + angle_coeff @angle:hn-n3-p5 harmonic 56.803 114.320 # SOURCE3_SOURCE5 63 1.6600 + angle_coeff @angle:hn-n3-s4 harmonic 42.895 109.140 # SOURCE3_SOURCE5 13 1.2903 + angle_coeff @angle:hn-n3-s harmonic 41.811 109.470 # SOURCE3 1 + angle_coeff @angle:hn-n3-s6 harmonic 45.126 109.600 # SOURCE4_SOURCE5 234 1.2605 + angle_coeff @angle:hn-n3-sh harmonic 43.414 108.670 # SOURCE3 3 2.5025 + angle_coeff @angle:hn-n3-ss harmonic 43.417 110.830 # SOURCE3_SOURCE5 14 1.1613 + angle_coeff @angle:hn-n3-sy harmonic 44.457 109.500 # SOURCE4_SOURCE5 617 0.8005 + angle_coeff @angle:i-n3-i harmonic 65.458 111.270 # SOURCE3 1 + angle_coeff @angle:n1-n3-n1 harmonic 111.350 113.210 # HF/6-31G* 1 + angle_coeff @angle:n2-n3-n2 harmonic 110.449 118.730 # SOURCE3 1 + angle_coeff @angle:n2-n3-o harmonic 113.356 114.910 # SOURCE3 1 + angle_coeff @angle:n3-n3-n3 harmonic 107.918 105.710 # SOURCE3 3 0.3561 + angle_coeff @angle:n4-n3-n4 harmonic 104.995 113.480 # SOURCE3 1 + angle_coeff @angle:n4-n3-nh harmonic 108.598 107.140 # SOURCE3 1 + angle_coeff @angle:na-n3-na harmonic 106.431 112.000 # SOURCE3 1 + angle_coeff @angle:nh-n3-nh harmonic 109.151 107.150 # SOURCE3 1 + angle_coeff @angle:n-n3-n harmonic 108.332 110.550 # SOURCE3 1 + angle_coeff @angle:no-n3-no harmonic 106.581 115.260 # SOURCE3 1 + angle_coeff @angle:oh-n3-oh harmonic 109.190 107.180 # SOURCE3 1 + angle_coeff @angle:o-n3-o harmonic 109.294 126.140 # SOURCE3 1 + angle_coeff @angle:o-n3-p2 harmonic 106.891 117.020 # SOURCE3 1 + angle_coeff @angle:o-n3-p4 harmonic 105.671 116.650 # SOURCE3 1 + angle_coeff @angle:o-n3-s4 harmonic 80.957 114.090 # SOURCE3 1 + angle_coeff @angle:o-n3-s6 harmonic 84.368 113.800 # SOURCE3 1 + angle_coeff @angle:o-n3-s harmonic 77.548 119.810 # SOURCE3 1 + angle_coeff @angle:os-n3-os harmonic 107.574 106.520 # SOURCE3 1 + angle_coeff @angle:p2-n3-p2 harmonic 103.056 130.130 # SOURCE3 1 + angle_coeff @angle:p3-n3-p3 harmonic 104.144 118.740 # SOURCE3 3 3.3755 + angle_coeff @angle:p4-n3-p4 harmonic 107.254 116.350 # SOURCE3 1 + angle_coeff @angle:p5-n3-p5 harmonic 107.603 119.420 # SOURCE3 1 + angle_coeff @angle:s4-n3-s4 harmonic 62.022 120.020 # SOURCE3 1 + angle_coeff @angle:s4-n3-s6 harmonic 63.190 120.950 # SOURCE3 1 + angle_coeff @angle:s6-n3-s6 harmonic 65.471 118.540 # SOURCE3_SOURCE5 18 1.1456 + angle_coeff @angle:sh-n3-sh harmonic 62.936 118.630 # SOURCE3 1 + angle_coeff @angle:sh-n3-ss harmonic 62.938 119.670 # SOURCE3 1 + angle_coeff @angle:s-n3-s harmonic 58.040 131.360 # SOURCE3 1 + angle_coeff @angle:ss-n3-ss harmonic 63.249 119.570 # SOURCE3 1 + angle_coeff @angle:br-n4-br harmonic 65.719 114.820 # SOURCE3 1 + angle_coeff @angle:br-n4-hn harmonic 41.251 108.440 # SOURCE3 7 0.5630 + angle_coeff @angle:c1-n4-c1 harmonic 67.454 113.870 # SOURCE3 1 + angle_coeff @angle:c1-n4-hn harmonic 48.997 110.190 # SOURCE3 7 1.0847 + angle_coeff @angle:c2-n4-c2 harmonic 63.556 112.580 # SOURCE3 1 + angle_coeff @angle:c2-n4-c3 harmonic 64.050 110.960 # SOURCE4 13 2.4632 + angle_coeff @angle:c2-n4-hn harmonic 46.094 110.370 # SOURCE3_SOURCE5 39 1.1227 + angle_coeff @angle:c3-n4-c3 harmonic 64.460 109.660 # SOURCE3_SOURCE5 2931 1.1695 + angle_coeff @angle:c3-n4-ca harmonic 64.770 110.530 # SOURCE4_SOURCE5 127 1.4968 + angle_coeff @angle:c3-n4-cc harmonic 64.438 111.040 # SOURCE4_SOURCE5 18 1.4876 + angle_coeff @angle:c3-n4-cl harmonic 71.792 108.040 # SOURCE3 3 + angle_coeff @angle:c3-n4-hn harmonic 46.193 110.110 # SOURCE3 100 1.3136 + angle_coeff @angle:c3-n4-n3 harmonic 83.568 107.700 # SOURCE3_SOURCE5 11 1.5498 + angle_coeff @angle:c3-n4-n4 harmonic 79.845 114.070 # SOURCE3 4 + angle_coeff @angle:c3-n4-n harmonic 82.738 109.740 # SOURCE4_SOURCE5 17 2.0520 + angle_coeff @angle:c3-n4-nh harmonic 81.141 111.730 # SOURCE3 1 + angle_coeff @angle:c3-n4-no harmonic 81.756 109.080 # SOURCE3 1 + angle_coeff @angle:c3-n4-o harmonic 84.145 110.520 # SOURCE3_SOURCE5 7 0.8910 + angle_coeff @angle:c3-n4-oh harmonic 82.047 113.730 # SOURCE3 1 + angle_coeff @angle:c3-n4-os harmonic 83.903 107.420 # SOURCE3 3 3.5920 + angle_coeff @angle:c3-n4-p2 harmonic 74.897 112.520 # SOURCE3 1 + angle_coeff @angle:c3-n4-p3 harmonic 77.458 110.730 # SOURCE3 3 2.1084 + angle_coeff @angle:c3-n4-p5 harmonic 78.172 113.220 # SOURCE3 3 0.4021 + angle_coeff @angle:c3-n4-s4 harmonic 58.766 108.230 # SOURCE3 3 0.4195 + angle_coeff @angle:c3-n4-s6 harmonic 59.297 111.560 # SOURCE3 3 1.8851 + angle_coeff @angle:c3-n4-s harmonic 60.776 113.550 # SOURCE3 1 + angle_coeff @angle:c3-n4-sh harmonic 60.690 115.810 # SOURCE3 1 + angle_coeff @angle:c3-n4-ss harmonic 61.231 113.680 # SOURCE3 3 1.1405 + angle_coeff @angle:ca-n4-ca harmonic 64.228 114.480 # SOURCE3 1 + angle_coeff @angle:ca-n4-hn harmonic 46.901 110.500 # SOURCE3_SOURCE5 23 1.4863 + angle_coeff @angle:c-n4-c harmonic 63.305 108.610 # SOURCE3 1 + angle_coeff @angle:c-n4-hn harmonic 44.970 111.120 # SOURCE3_SOURCE5 17 0.9627 + angle_coeff @angle:cl-n4-cl harmonic 79.101 114.910 # SOURCE3 1 + angle_coeff @angle:cl-n4-hn harmonic 48.065 108.870 # SOURCE3 7 0.7719 + angle_coeff @angle:f-n4-f harmonic 120.491 109.050 # SOURCE3 1 + angle_coeff @angle:f-n4-hn harmonic 67.122 108.390 # SOURCE3 4 + angle_coeff @angle:hn-n4-hn harmonic 40.020 108.300 # SOURCE3_SOURCE5 588 1.8224 + angle_coeff @angle:hn-n4-i harmonic 37.762 108.720 # SOURCE3 7 1.2717 + angle_coeff @angle:hn-n4-n1 harmonic 63.803 109.390 # HF/6-31G* 1 + angle_coeff @angle:hn-n4-n2 harmonic 52.071 109.680 # SOURCE3 19 0.6266 + angle_coeff @angle:hn-n4-n3 harmonic 60.801 110.400 # SOURCE3 11 0.7307 + angle_coeff @angle:hn-n4-n4 harmonic 59.235 108.660 # SOURCE3 18 1.2967 + angle_coeff @angle:hn-n4-n harmonic 61.091 109.080 # SOURCE3 13 1.6047 + angle_coeff @angle:hn-n4-na harmonic 60.973 109.090 # SOURCE3_SOURCE5 31 1.0459 + angle_coeff @angle:hn-n4-nh harmonic 59.568 109.920 # SOURCE3 12 0.7304 + angle_coeff @angle:hn-n4-no harmonic 60.590 104.380 # SOURCE3 2 + angle_coeff @angle:hn-n4-o harmonic 63.200 111.350 # SOURCE3_SOURCE5 11 1.4866 + angle_coeff @angle:hn-n4-oh harmonic 62.612 108.090 # SOURCE3 6 1.6728 + angle_coeff @angle:hn-n4-os harmonic 61.427 109.390 # SOURCE3 10 1.4403 + angle_coeff @angle:hn-n4-p2 harmonic 48.678 110.500 # SOURCE3 25 1.0664 + angle_coeff @angle:hn-n4-p3 harmonic 50.742 109.890 # SOURCE3 10 2.3870 + angle_coeff @angle:hn-n4-p4 harmonic 48.617 111.330 # SOURCE3 3 + angle_coeff @angle:hn-n4-p5 harmonic 52.339 110.000 # SOURCE3 10 1.0282 + angle_coeff @angle:hn-n4-py harmonic 48.319 117.890 # SOURCE3 8 + angle_coeff @angle:hn-n4-s4 harmonic 37.298 110.100 # SOURCE3 6 0.8471 + angle_coeff @angle:hn-n4-s harmonic 41.320 106.890 # SOURCE3 6 1.0775 + angle_coeff @angle:hn-n4-s6 harmonic 38.875 108.940 # SOURCE3 10 0.5715 + angle_coeff @angle:hn-n4-sh harmonic 41.549 108.560 # SOURCE3 6 0.8535 + angle_coeff @angle:hn-n4-ss harmonic 41.406 109.170 # SOURCE3 10 0.8455 + angle_coeff @angle:i-n4-i harmonic 64.315 118.490 # SOURCE3 1 + angle_coeff @angle:n1-n4-n1 harmonic 111.792 110.670 # HF/6-31G* 1 + angle_coeff @angle:n2-n4-n2 harmonic 91.394 108.640 # SOURCE3 1 + angle_coeff @angle:n3-n4-n3 harmonic 106.128 111.070 # SOURCE3 1 + angle_coeff @angle:n4-n4-n4 harmonic 100.290 115.490 # SOURCE3 1 + angle_coeff @angle:na-n4-na harmonic 101.917 119.600 # SOURCE3 1 + angle_coeff @angle:nh-n4-nh harmonic 104.319 109.380 # SOURCE3 1 + angle_coeff @angle:n-n4-n harmonic 102.552 118.620 # SOURCE3 1 + angle_coeff @angle:oh-n4-oh harmonic 109.836 108.190 # SOURCE3 1 + angle_coeff @angle:o-n4-o harmonic 106.848 120.970 # SOURCE3 1 + angle_coeff @angle:os-n4-os harmonic 110.159 104.400 # SOURCE3 1 + angle_coeff @angle:p2-n4-p2 harmonic 94.721 113.910 # SOURCE3 2 + angle_coeff @angle:p3-n4-p3 harmonic 94.786 121.380 # SOURCE3 1 + angle_coeff @angle:p5-n4-p5 harmonic 103.704 107.020 # SOURCE3 1 + angle_coeff @angle:py-n4-py harmonic 123.558 69.790 # SOURCE3 2 + angle_coeff @angle:s4-n4-s4 harmonic 56.264 115.430 # SOURCE3 1 + angle_coeff @angle:s6-n4-s6 harmonic 59.515 109.510 # SOURCE3 1 + angle_coeff @angle:sh-n4-sh harmonic 62.034 112.590 # SOURCE3 1 + angle_coeff @angle:s-n4-s harmonic 58.304 124.550 # SOURCE3 1 + angle_coeff @angle:ss-n4-ss harmonic 62.955 109.200 # SOURCE3 1 + angle_coeff @angle:br-na-br harmonic 61.086 123.000 # SOURCE3 1 + angle_coeff @angle:br-na-c2 harmonic 64.788 100.480 # SOURCE3 2 1.0536 + angle_coeff @angle:br-na-ca harmonic 58.177 124.810 # SOURCE3 1 + angle_coeff @angle:br-na-cc harmonic 58.230 124.620 # SOURCE3 3 0.5348 + angle_coeff @angle:br-na-cd harmonic 58.230 124.620 # SOURCE3 3 + angle_coeff @angle:br-na-nc harmonic 74.547 119.420 # SOURCE3 4 1.6703 + angle_coeff @angle:br-na-nd harmonic 74.550 119.420 # SOURCE3 4 + angle_coeff @angle:br-na-os harmonic 79.164 104.990 # SOURCE3 1 + angle_coeff @angle:br-na-p2 harmonic 78.377 121.010 # SOURCE3 1 + angle_coeff @angle:br-na-pc harmonic 78.871 120.260 # SOURCE3 3 2.1456 + angle_coeff @angle:br-na-pd harmonic 78.871 120.260 # SOURCE3 3 + angle_coeff @angle:br-na-ss harmonic 63.599 112.280 # SOURCE3 1 + angle_coeff @angle:c1-na-c1 harmonic 69.174 117.200 # SOURCE3 1 + angle_coeff @angle:c1-na-c2 harmonic 65.944 125.200 # SOURCE3 1 + angle_coeff @angle:c1-na-ca harmonic 67.645 120.570 # SOURCE3 1 + angle_coeff @angle:c1-na-cc harmonic 67.523 121.350 # SOURCE3 6 0.6517 + angle_coeff @angle:c1-na-cd harmonic 67.523 121.350 # SOURCE3 6 0.6517 + angle_coeff @angle:c1-na-nc harmonic 85.715 120.240 # SOURCE3 4 1.6849 + angle_coeff @angle:c1-na-nd harmonic 85.768 120.240 # SOURCE3 4 + angle_coeff @angle:c1-na-os harmonic 87.875 106.960 # SOURCE3 2 + angle_coeff @angle:c1-na-p2 harmonic 79.771 122.250 # SOURCE3 1 + angle_coeff @angle:c1-na-pc harmonic 80.652 121.480 # SOURCE3 3 2.1681 + angle_coeff @angle:c1-na-pd harmonic 80.652 121.480 # SOURCE3 3 + angle_coeff @angle:c1-na-ss harmonic 63.670 118.300 # SOURCE3 1 + angle_coeff @angle:c2-na-c2 harmonic 69.273 110.370 # SOURCE3 6 0.5121 + angle_coeff @angle:c2-na-c3 harmonic 65.723 117.200 # SOURCE3 2 + angle_coeff @angle:c2-na-ca harmonic 65.505 124.970 # SOURCE4_SOURCE5 19 0.9360 + angle_coeff @angle:c2-na-cc harmonic 65.181 126.550 # SOURCE3_SOURCE5 47 1.6996 + angle_coeff @angle:c2-na-cd harmonic 65.181 126.550 # SOURCE3_SOURCE5 47 1.6996 + angle_coeff @angle:c2-na-cl harmonic 73.039 101.010 # SOURCE3 2 1.5799 + angle_coeff @angle:c2-na-f harmonic 90.731 103.110 # SOURCE3 1 + angle_coeff @angle:c2-na-hn harmonic 47.660 119.280 # SOURCE3 14 6.6027 + angle_coeff @angle:c2-na-i harmonic 62.480 106.740 # SOURCE3 1 + angle_coeff @angle:c2-na-n1 harmonic 83.043 124.810 # HF/6-31G* 1 + angle_coeff @angle:c2-na-n2 harmonic 82.486 125.000 # SOURCE3 1 + angle_coeff @angle:c2-na-n3 harmonic 81.036 124.800 # SOURCE3 1 + angle_coeff @angle:c2-na-n4 harmonic 81.740 121.320 # SOURCE3 1 + angle_coeff @angle:c2-na-n harmonic 81.447 124.700 # SOURCE3 1 + angle_coeff @angle:c2-na-na harmonic 81.658 124.600 # SOURCE3 1 + angle_coeff @angle:c2-na-nc harmonic 84.246 120.800 # CORR_SOURCE5 5 1.0225 + angle_coeff @angle:c2-na-nd harmonic 84.294 120.800 # CORR_SOURCE5 5 1.0225 + angle_coeff @angle:c2-na-nh harmonic 81.563 124.980 # SOURCE3 1 + angle_coeff @angle:c2-na-no harmonic 80.798 124.200 # SOURCE3 1 + angle_coeff @angle:c2-na-o harmonic 85.559 125.900 # SOURCE3 1 + angle_coeff @angle:c2-na-oh harmonic 82.136 123.900 # SOURCE3 1 + angle_coeff @angle:c2-na-os harmonic 85.429 110.330 # SOURCE3 4 3.2172 + angle_coeff @angle:c2-na-p2 harmonic 79.329 122.140 # SOURCE3 1 + angle_coeff @angle:c2-na-p3 harmonic 77.626 126.100 # SOURCE3 1 + angle_coeff @angle:c2-na-p4 harmonic 84.849 125.000 # SOURCE3 1 + angle_coeff @angle:c2-na-p5 harmonic 79.565 125.100 # SOURCE3 1 + angle_coeff @angle:c2-na-pc harmonic 80.116 121.560 # SOURCE3 3 1.6252 + angle_coeff @angle:c2-na-pd harmonic 80.116 121.560 # SOURCE3 3 + angle_coeff @angle:c2-na-s4 harmonic 59.943 124.900 # SOURCE3 1 + angle_coeff @angle:c2-na-s6 harmonic 61.964 124.400 # SOURCE3 1 + angle_coeff @angle:c2-na-s harmonic 60.479 125.800 # SOURCE3 1 + angle_coeff @angle:c2-na-sh harmonic 61.837 125.100 # SOURCE3 1 + angle_coeff @angle:c2-na-ss harmonic 64.023 115.530 # SOURCE3 5 1.4036 + angle_coeff @angle:c3-na-c3 harmonic 62.214 125.590 # SOURCE3 1 + angle_coeff @angle:c3-na-ca harmonic 64.155 124.360 # SOURCE3 5 4.2557 + angle_coeff @angle:c3-na-cc harmonic 63.695 126.460 # SOURCE3_SOURCE5 2025 1.8293 + angle_coeff @angle:c3-na-cd harmonic 63.695 126.460 # SOURCE3_SOURCE5 2025 1.8293 + angle_coeff @angle:c3-na-cp harmonic 65.414 119.620 # SOURCE4_SOURCE5 17 0.4924 + angle_coeff @angle:c3-na-n2 harmonic 82.460 119.240 # SOURCE4_SOURCE5 15 0.8410 + angle_coeff @angle:c3-na-n harmonic 83.711 112.880 # SOURCE4_SOURCE5 34 0.6363 + angle_coeff @angle:c3-na-nc harmonic 82.430 120.180 # SOURCE3_SOURCE5 266 0.9487 + angle_coeff @angle:c3-na-nd harmonic 82.472 120.180 # SOURCE3_SOURCE5 266 0.9487 + angle_coeff @angle:c3-na-os harmonic 86.002 104.390 # SOURCE3 3 1.2017 + angle_coeff @angle:c3-na-p2 harmonic 78.161 123.120 # SOURCE3 1 + angle_coeff @angle:c3-na-pc harmonic 79.034 122.110 # SOURCE3 3 2.8504 + angle_coeff @angle:c3-na-pd harmonic 79.034 122.110 # SOURCE3 3 + angle_coeff @angle:c3-na-sh harmonic 65.096 110.280 # SOURCE3 1 + angle_coeff @angle:c3-na-ss harmonic 64.618 110.870 # SOURCE3 3 0.8260 + angle_coeff @angle:ca-na-ca harmonic 67.261 120.050 # SOURCE4_SOURCE5 899 1.7177 + angle_coeff @angle:ca-na-cc harmonic 69.377 113.150 # SOURCE3 18 9.8644 + angle_coeff @angle:ca-na-cd harmonic 69.377 113.150 # SOURCE3 18 9.8644 + angle_coeff @angle:ca-na-cl harmonic 65.846 124.790 # SOURCE3 1 + angle_coeff @angle:ca-na-cp harmonic 67.035 120.860 # SOURCE4_SOURCE5 58 1.3836 + angle_coeff @angle:ca-na-cx harmonic 64.141 124.590 # SOURCE4_SOURCE5 51 1.7589 + angle_coeff @angle:ca-na-f harmonic 85.915 116.400 # SOURCE3 1 + angle_coeff @angle:ca-na-hn harmonic 46.979 125.540 # SOURCE4_SOURCE5 1396 1.1217 + angle_coeff @angle:ca-na-i harmonic 58.530 121.620 # SOURCE3 1 + angle_coeff @angle:ca-na-n2 harmonic 85.072 119.070 # SOURCE4_SOURCE5 19 2.0667 + angle_coeff @angle:ca-na-n4 harmonic 82.602 120.190 # SOURCE3 1 + angle_coeff @angle:ca-na-n harmonic 82.849 122.000 # SOURCE3 1 + angle_coeff @angle:ca-na-na harmonic 82.443 123.760 # SOURCE3 1 + angle_coeff @angle:ca-na-nb harmonic 84.426 122.640 # SOURCE4_SOURCE5 30 1.1363 + angle_coeff @angle:ca-na-nc harmonic 85.867 117.850 # SOURCE3 6 3.6536 + angle_coeff @angle:ca-na-nd harmonic 85.918 117.850 # SOURCE3 6 + angle_coeff @angle:ca-na-nh harmonic 82.258 124.410 # SOURCE4_SOURCE5 15 1.3695 + angle_coeff @angle:ca-na-o harmonic 88.288 120.170 # SOURCE4_SOURCE5 161 1.3927 + angle_coeff @angle:ca-na-oh harmonic 83.969 120.050 # SOURCE3_SOURCE5 6 2.2969 + angle_coeff @angle:ca-na-os harmonic 86.259 109.460 # SOURCE3 1 + angle_coeff @angle:ca-na-p2 harmonic 78.367 125.850 # SOURCE3 1 + angle_coeff @angle:ca-na-p3 harmonic 78.367 124.380 # SOURCE3 1 + angle_coeff @angle:ca-na-p4 harmonic 85.239 124.970 # SOURCE3 1 + angle_coeff @angle:ca-na-p5 harmonic 80.389 123.300 # SOURCE3 1 + angle_coeff @angle:ca-na-pc harmonic 80.162 122.130 # SOURCE3 3 2.2393 + angle_coeff @angle:ca-na-pd harmonic 80.162 122.130 # SOURCE3 3 + angle_coeff @angle:ca-na-py harmonic 75.307 140.880 # SOURCE3 2 + angle_coeff @angle:ca-na-s4 harmonic 62.021 117.230 # SOURCE3 1 + angle_coeff @angle:ca-na-s6 harmonic 63.097 120.690 # SOURCE3 1 + angle_coeff @angle:ca-na-s harmonic 60.676 125.640 # SOURCE3 1 + angle_coeff @angle:ca-na-sh harmonic 61.938 125.440 # SOURCE3 1 + angle_coeff @angle:ca-na-ss harmonic 60.549 129.920 # SOURCE4_SOURCE5 17 0.1432 + angle_coeff @angle:cc-na-cc harmonic 70.492 109.900 # SOURCE3 109 1.5547 + angle_coeff @angle:cc-na-cd harmonic 65.316 128.010 # SOURCE3 1 + angle_coeff @angle:cc-na-ce harmonic 64.694 126.610 # SOURCE4_SOURCE5 16 0.5158 + angle_coeff @angle:cc-na-cl harmonic 65.922 124.610 # SOURCE3 3 0.5208 + angle_coeff @angle:cc-na-f harmonic 85.431 118.030 # SOURCE3 4 0.3081 + angle_coeff @angle:cc-na-hn harmonic 47.101 125.500 # CORR_SOURCE5 1758 1.2247 + angle_coeff @angle:cc-na-i harmonic 57.570 125.700 # SOURCE3 6 0.7821 + angle_coeff @angle:cc-na-n2 harmonic 84.478 121.090 # SOURCE3_SOURCE5 21 1.2340 + angle_coeff @angle:cc-na-n4 harmonic 82.458 120.910 # SOURCE3_SOURCE5 16 2.5151 + angle_coeff @angle:cc-na-n harmonic 87.346 110.050 # SOURCE3_SOURCE5 63 1.0193 + angle_coeff @angle:cc-na-na harmonic 84.774 117.360 # SOURCE3_SOURCE5 38 0.6452 + angle_coeff @angle:cc-na-nc harmonic 88.067 112.360 # SOURCE3_SOURCE5 209 2.0210 + angle_coeff @angle:cc-na-nd harmonic 83.137 126.230 # CORR_SOURCE5 157 1.3576 + angle_coeff @angle:cc-na-nh harmonic 82.640 123.590 # SOURCE3_SOURCE5 33 0.7437 + angle_coeff @angle:cc-na-no harmonic 81.621 123.440 # SOURCE3_SOURCE5 15 0.5273 + angle_coeff @angle:cc-na-o harmonic 86.644 125.210 # SOURCE3 10 0.0124 + angle_coeff @angle:cc-na-oh harmonic 83.278 122.380 # SOURCE3 10 0.1570 + angle_coeff @angle:cc-na-os harmonic 83.586 116.860 # CORR 48 + angle_coeff @angle:cc-na-p2 harmonic 78.409 125.860 # SOURCE3 14 2.2993 + angle_coeff @angle:cc-na-p3 harmonic 78.138 125.250 # SOURCE3 8 0.1998 + angle_coeff @angle:cc-na-p4 harmonic 84.394 127.730 # SOURCE3 7 3.6077 + angle_coeff @angle:cc-na-p5 harmonic 79.988 124.700 # SOURCE3 13 1.4225 + angle_coeff @angle:cc-na-s4 harmonic 61.070 121.030 # SOURCE3 10 0.5589 + angle_coeff @angle:cc-na-s6 harmonic 62.402 123.550 # SOURCE3_SOURCE5 18 0.8360 + angle_coeff @angle:cc-na-s harmonic 60.705 125.660 # SOURCE3 8 0.1880 + angle_coeff @angle:cc-na-sh harmonic 62.346 123.960 # SOURCE3 10 0.3424 + angle_coeff @angle:cc-na-ss harmonic 62.745 121.130 # CORR_SOURCE5 13 0.6360 + angle_coeff @angle:cd-na-cd harmonic 70.492 109.900 # SOURCE3 109 1.5547 + angle_coeff @angle:cd-na-cl harmonic 65.922 124.610 # SOURCE3 3 + angle_coeff @angle:cd-na-f harmonic 85.431 118.030 # SOURCE3 4 0.3081 + angle_coeff @angle:cd-na-hn harmonic 47.101 125.500 # CORR_SOURCE5 1758 1.2247 + angle_coeff @angle:cd-na-i harmonic 57.570 125.700 # SOURCE3 6 0.7821 + angle_coeff @angle:cd-na-n2 harmonic 84.478 121.090 # SOURCE3_SOURCE5 21 1.2340 + angle_coeff @angle:cd-na-n4 harmonic 82.458 120.910 # SOURCE3_SOURCE5 16 2.5151 + angle_coeff @angle:cd-na-n harmonic 87.346 110.050 # SOURCE3_SOURCE5 63 1.0193 + angle_coeff @angle:cd-na-na harmonic 84.774 117.360 # SOURCE3_SOURCE5 38 0.6452 + angle_coeff @angle:cd-na-nc harmonic 83.088 126.230 # CORR_SOURCE5 157 1.3576 + angle_coeff @angle:cd-na-nd harmonic 88.120 112.360 # SOURCE3_SOURCE5 209 2.0210 + angle_coeff @angle:cd-na-nh harmonic 82.624 123.640 # SOURCE3_SOURCE5 34 0.8283 + angle_coeff @angle:cd-na-no harmonic 81.621 123.440 # SOURCE3_SOURCE5 15 0.5273 + angle_coeff @angle:cd-na-o harmonic 86.644 125.210 # SOURCE3 10 0.0124 + angle_coeff @angle:cd-na-oh harmonic 83.278 122.380 # SOURCE3 10 0.1570 + angle_coeff @angle:cd-na-os harmonic 83.586 116.860 # CORR 48 + angle_coeff @angle:cd-na-p2 harmonic 78.409 125.860 # SOURCE3 14 2.2993 + angle_coeff @angle:cd-na-p3 harmonic 78.138 125.250 # SOURCE3 8 0.1998 + angle_coeff @angle:cd-na-p4 harmonic 84.394 127.730 # SOURCE3 7 + angle_coeff @angle:cd-na-p5 harmonic 79.988 124.700 # SOURCE3 13 1.4225 + angle_coeff @angle:cd-na-s4 harmonic 61.070 121.030 # SOURCE3 10 0.5589 + angle_coeff @angle:cd-na-s6 harmonic 62.402 123.550 # SOURCE3_SOURCE5 18 0.8360 + angle_coeff @angle:cd-na-s harmonic 60.705 125.660 # SOURCE3 8 0.1880 + angle_coeff @angle:cd-na-sh harmonic 62.346 123.960 # SOURCE3 10 0.3424 + angle_coeff @angle:cd-na-ss harmonic 62.745 121.130 # CORR_SOURCE5 13 0.6360 + angle_coeff @angle:cl-na-cl harmonic 73.099 122.800 # SOURCE3 1 + angle_coeff @angle:cl-na-nc harmonic 84.560 119.360 # SOURCE3 4 1.7128 + angle_coeff @angle:cl-na-nd harmonic 84.574 119.360 # SOURCE3 4 + angle_coeff @angle:cl-na-os harmonic 88.543 106.580 # SOURCE3 1 + angle_coeff @angle:cl-na-p2 harmonic 86.459 121.290 # SOURCE3 1 + angle_coeff @angle:cl-na-pc harmonic 87.107 120.510 # SOURCE3 3 2.1985 + angle_coeff @angle:cl-na-pd harmonic 87.107 120.510 # SOURCE3 3 + angle_coeff @angle:cl-na-ss harmonic 70.427 111.910 # SOURCE3 1 + angle_coeff @angle:f-na-f harmonic 106.388 120.200 # SOURCE3 1 + angle_coeff @angle:f-na-nc harmonic 107.856 118.050 # SOURCE3 4 1.7931 + angle_coeff @angle:f-na-nd harmonic 107.917 118.050 # SOURCE3 4 + angle_coeff @angle:f-na-os harmonic 111.494 103.860 # SOURCE3 1 + angle_coeff @angle:f-na-p2 harmonic 101.527 119.950 # SOURCE3 1 + angle_coeff @angle:f-na-pc harmonic 102.647 119.100 # SOURCE3 3 2.3967 + angle_coeff @angle:f-na-pd harmonic 102.647 119.100 # SOURCE3 3 + angle_coeff @angle:f-na-ss harmonic 83.972 108.010 # SOURCE3 1 + angle_coeff @angle:hn-na-hn harmonic 39.315 116.800 # SOURCE3 1 + angle_coeff @angle:hn-na-n harmonic 61.525 111.440 # SOURCE4_SOURCE5 14 1.2883 + angle_coeff @angle:hn-na-nc harmonic 61.377 119.550 # SOURCE3_SOURCE5 196 1.0024 + angle_coeff @angle:hn-na-nd harmonic 61.443 119.550 # SOURCE3_SOURCE5 196 1.0024 + angle_coeff @angle:hn-na-os harmonic 62.765 102.120 # SOURCE3_SOURCE5 20 2.5614 + angle_coeff @angle:hn-na-p2 harmonic 52.077 122.520 # SOURCE3 1 + angle_coeff @angle:hn-na-pc harmonic 52.878 121.480 # SOURCE3 3 2.9355 + angle_coeff @angle:hn-na-pd harmonic 52.878 121.480 # SOURCE3 3 + angle_coeff @angle:hn-na-ss harmonic 42.530 113.950 # SOURCE3 1 + angle_coeff @angle:i-na-i harmonic 63.587 124.200 # SOURCE3 1 + angle_coeff @angle:i-na-nc harmonic 73.745 120.030 # SOURCE3 4 2.0032 + angle_coeff @angle:i-na-nd harmonic 73.742 120.030 # SOURCE3 4 + angle_coeff @angle:i-na-os harmonic 77.062 109.910 # SOURCE3 1 + angle_coeff @angle:i-na-p2 harmonic 78.740 122.280 # SOURCE3 1 + angle_coeff @angle:i-na-pc harmonic 79.219 121.400 # SOURCE3 3 2.4763 + angle_coeff @angle:i-na-pd harmonic 79.219 121.400 # SOURCE3 3 + angle_coeff @angle:i-na-ss harmonic 62.502 118.400 # SOURCE3 1 + angle_coeff @angle:n2-na-n2 harmonic 108.256 116.710 # SOURCE3 1 + angle_coeff @angle:n2-na-nc harmonic 107.238 119.960 # SOURCE3 4 4.5041 + angle_coeff @angle:n2-na-nd harmonic 107.304 119.960 # SOURCE3 4 + angle_coeff @angle:n2-na-os harmonic 107.573 111.530 # SOURCE3 1 + angle_coeff @angle:n2-na-p2 harmonic 98.756 124.880 # SOURCE3 1 + angle_coeff @angle:n2-na-pc harmonic 100.212 123.180 # SOURCE3 3 4.7947 + angle_coeff @angle:n2-na-pd harmonic 100.212 123.180 # SOURCE3 3 + angle_coeff @angle:n2-na-ss harmonic 77.611 124.640 # SOURCE3 1 + angle_coeff @angle:n3-na-n3 harmonic 101.150 124.000 # SOURCE3 1 + angle_coeff @angle:n4-na-n4 harmonic 105.460 111.700 # SOURCE3 1 + angle_coeff @angle:n4-na-nc harmonic 106.051 116.440 # SOURCE3 4 3.6604 + angle_coeff @angle:n4-na-nd harmonic 106.108 116.440 # SOURCE3 4 + angle_coeff @angle:n4-na-os harmonic 109.494 102.970 # SOURCE3 1 + angle_coeff @angle:n4-na-p2 harmonic 98.207 123.560 # SOURCE3 1 + angle_coeff @angle:n4-na-pc harmonic 99.557 121.980 # SOURCE3 3 4.4884 + angle_coeff @angle:n4-na-pd harmonic 99.557 121.980 # SOURCE3 3 + angle_coeff @angle:na-na-na harmonic 102.688 123.600 # SOURCE3 1 + angle_coeff @angle:na-na-nc harmonic 106.027 119.640 # SOURCE3 4 1.6920 + angle_coeff @angle:na-na-nd harmonic 106.088 119.640 # SOURCE3 4 + angle_coeff @angle:na-na-os harmonic 107.416 109.470 # SOURCE3 1 + angle_coeff @angle:na-na-p2 harmonic 99.520 121.720 # SOURCE3 1 + angle_coeff @angle:na-na-pc harmonic 100.604 120.910 # SOURCE3 3 2.3033 + angle_coeff @angle:na-na-pd harmonic 100.604 120.910 # SOURCE3 3 + angle_coeff @angle:na-na-ss harmonic 79.845 116.500 # SOURCE3 1 + angle_coeff @angle:nc-na-nc harmonic 109.391 116.300 # SOURCE3_SOURCE5 57 1.3191 + angle_coeff @angle:nc-na-nd harmonic 106.540 122.760 # SOURCE4_SOURCE5 12 0.1496 + angle_coeff @angle:nc-na-nh harmonic 105.667 120.550 # SOURCE3 8 1.1436 + angle_coeff @angle:nc-na-no harmonic 104.829 119.210 # SOURCE3_SOURCE5 9 1.2751 + angle_coeff @angle:nc-na-o harmonic 110.789 122.790 # SOURCE3 6 1.3154 + angle_coeff @angle:nc-na-oh harmonic 106.562 119.220 # SOURCE3 4 1.7201 + angle_coeff @angle:nc-na-os harmonic 104.244 119.650 # SOURCE3 4 1.5019 + angle_coeff @angle:nc-na-p2 harmonic 100.917 119.990 # SOURCE3 4 3.6009 + angle_coeff @angle:nc-na-p3 harmonic 100.275 120.070 # SOURCE3 4 3.7188 + angle_coeff @angle:nc-na-p4 harmonic 109.789 119.770 # SOURCE3 3 0.3747 + angle_coeff @angle:nc-na-p5 harmonic 102.963 118.950 # SOURCE3 4 3.1194 + angle_coeff @angle:nc-na-pc harmonic 102.284 118.660 # SOURCE3 27 1.5082 + angle_coeff @angle:nc-na-s4 harmonic 77.292 119.200 # SOURCE3 4 2.3841 + angle_coeff @angle:nc-na-s6 harmonic 79.850 119.240 # SOURCE3 4 2.2262 + angle_coeff @angle:nc-na-s harmonic 77.325 122.260 # SOURCE3 4 0.9173 + angle_coeff @angle:nc-na-sh harmonic 79.494 120.500 # SOURCE3 4 1.5016 + angle_coeff @angle:nc-na-ss harmonic 79.073 120.500 # SOURCE3 4 1.5615 + angle_coeff @angle:nd-na-nd harmonic 109.528 116.300 # SOURCE3_SOURCE5 57 1.3191 + angle_coeff @angle:nd-na-nh harmonic 105.728 120.550 # SOURCE3 8 + angle_coeff @angle:nd-na-no harmonic 104.885 119.210 # SOURCE3_SOURCE5 5 1.0113 + angle_coeff @angle:nd-na-o harmonic 110.874 122.790 # SOURCE3 6 + angle_coeff @angle:nd-na-oh harmonic 106.624 119.220 # SOURCE3 4 + angle_coeff @angle:nd-na-os harmonic 104.299 119.650 # SOURCE3 4 + angle_coeff @angle:nd-na-p2 harmonic 100.941 119.990 # SOURCE3 4 + angle_coeff @angle:nd-na-p3 harmonic 100.297 120.070 # SOURCE3 4 + angle_coeff @angle:nd-na-p4 harmonic 109.833 119.770 # SOURCE3 3 + angle_coeff @angle:nd-na-p5 harmonic 102.991 118.950 # SOURCE3 4 + angle_coeff @angle:nd-na-pd harmonic 102.309 118.660 # SOURCE3 27 + angle_coeff @angle:nd-na-s4 harmonic 77.307 119.200 # SOURCE3 4 + angle_coeff @angle:nd-na-s6 harmonic 79.870 119.240 # SOURCE3 4 + angle_coeff @angle:nd-na-s harmonic 77.342 122.260 # SOURCE3 4 + angle_coeff @angle:nd-na-sh harmonic 79.514 120.500 # SOURCE3 4 + angle_coeff @angle:nd-na-ss harmonic 79.092 120.500 # SOURCE3 4 + angle_coeff @angle:nh-na-nh harmonic 102.761 123.600 # SOURCE3 1 + angle_coeff @angle:nh-na-os harmonic 106.530 111.370 # SOURCE3 1 + angle_coeff @angle:nh-na-p2 harmonic 99.889 120.860 # SOURCE3 1 + angle_coeff @angle:nh-na-pc harmonic 100.842 120.380 # SOURCE3 6 1.3513 + angle_coeff @angle:nh-na-pd harmonic 100.842 120.380 # SOURCE3 6 + angle_coeff @angle:nh-na-ss harmonic 81.320 112.350 # SOURCE3 2 5.2951 + angle_coeff @angle:n-na-n harmonic 102.160 123.800 # SOURCE3 1 + angle_coeff @angle:n-na-nc harmonic 105.685 119.850 # SOURCE3 4 1.6156 + angle_coeff @angle:n-na-nd harmonic 105.745 119.850 # SOURCE3 4 + angle_coeff @angle:no-na-no harmonic 100.609 122.800 # SOURCE3 1 + angle_coeff @angle:no-na-os harmonic 107.653 106.550 # SOURCE3 1 + angle_coeff @angle:no-na-pc harmonic 100.336 120.110 # SOURCE3 3 2.0821 + angle_coeff @angle:no-na-pd harmonic 100.336 120.110 # SOURCE3 3 + angle_coeff @angle:n-na-os harmonic 109.608 104.710 # SOURCE3 1 + angle_coeff @angle:no-na-ss harmonic 79.903 114.950 # SOURCE3 1 + angle_coeff @angle:n-na-p2 harmonic 99.572 121.350 # SOURCE3 1 + angle_coeff @angle:n-na-pc harmonic 100.611 120.640 # SOURCE3 3 2.0168 + angle_coeff @angle:n-na-pd harmonic 100.611 120.640 # SOURCE3 3 + angle_coeff @angle:n-na-ss harmonic 79.899 116.100 # SOURCE3 1 + angle_coeff @angle:oh-na-oh harmonic 103.905 122.200 # SOURCE3 1 + angle_coeff @angle:oh-na-p2 harmonic 100.050 120.760 # SOURCE3 1 + angle_coeff @angle:oh-na-pc harmonic 101.133 119.990 # SOURCE3 3 2.1734 + angle_coeff @angle:oh-na-pd harmonic 101.133 119.990 # SOURCE3 3 + angle_coeff @angle:oh-na-ss harmonic 81.173 113.040 # SOURCE3 1 + angle_coeff @angle:o-na-o harmonic 114.875 126.200 # SOURCE3 1 + angle_coeff @angle:o-na-os harmonic 108.116 118.780 # SOURCE3_SOURCE5 6 0.4047 + angle_coeff @angle:o-na-p2 harmonic 100.973 122.800 # SOURCE3 1 + angle_coeff @angle:o-na-pc harmonic 102.067 122.340 # SOURCE3 3 1.2908 + angle_coeff @angle:o-na-pd harmonic 102.067 122.340 # SOURCE3 3 + angle_coeff @angle:os-na-os harmonic 108.379 104.450 # SOURCE3 2 0.0983 + angle_coeff @angle:os-na-p2 harmonic 100.391 117.860 # SOURCE3 1 + angle_coeff @angle:os-na-p3 harmonic 105.930 104.700 # SOURCE3 1 + angle_coeff @angle:os-na-p5 harmonic 104.736 111.410 # SOURCE3 1 + angle_coeff @angle:os-na-pc harmonic 100.242 119.910 # SOURCE3 3 1.9002 + angle_coeff @angle:os-na-pd harmonic 100.242 119.910 # SOURCE3 3 + angle_coeff @angle:os-na-s4 harmonic 81.006 105.880 # SOURCE3 2 + angle_coeff @angle:os-na-s6 harmonic 81.137 112.000 # SOURCE3 2 + angle_coeff @angle:os-na-ss harmonic 81.670 109.640 # SOURCE3 3 4.1395 + angle_coeff @angle:p2-na-p2 harmonic 102.084 120.910 # SOURCE3 1 + angle_coeff @angle:p2-na-p3 harmonic 100.105 124.800 # SOURCE3 1 + angle_coeff @angle:p2-na-p5 harmonic 101.778 123.990 # SOURCE3 1 + angle_coeff @angle:p2-na-pc harmonic 102.658 120.720 # SOURCE3 3 0.2407 + angle_coeff @angle:p2-na-pd harmonic 102.658 120.720 # SOURCE3 3 + angle_coeff @angle:p2-na-s4 harmonic 78.032 122.470 # SOURCE3 1 + angle_coeff @angle:p2-na-s6 harmonic 79.617 122.500 # SOURCE3 1 + angle_coeff @angle:p2-na-s harmonic 78.874 121.850 # SOURCE3 1 + angle_coeff @angle:p2-na-sh harmonic 79.900 121.750 # SOURCE3 1 + angle_coeff @angle:p2-na-ss harmonic 79.600 121.880 # SOURCE3 1 + angle_coeff @angle:p3-na-p3 harmonic 99.027 126.600 # SOURCE3 1 + angle_coeff @angle:p3-na-pc harmonic 101.182 123.320 # SOURCE3 3 4.1781 + angle_coeff @angle:p3-na-pd harmonic 101.182 123.320 # SOURCE3 3 + angle_coeff @angle:p5-na-p5 harmonic 102.554 124.600 # SOURCE3 1 + angle_coeff @angle:p5-na-pc harmonic 102.835 122.690 # SOURCE3 3 3.6738 + angle_coeff @angle:p5-na-pd harmonic 102.835 122.690 # SOURCE3 3 + angle_coeff @angle:p5-na-ss harmonic 81.516 118.520 # SOURCE3 1 + angle_coeff @angle:pc-na-pc harmonic 103.141 120.780 # SOURCE3 27 1.6457 + angle_coeff @angle:pc-na-s4 harmonic 78.694 121.510 # SOURCE3 3 2.7242 + angle_coeff @angle:pc-na-s6 harmonic 80.329 121.550 # SOURCE3 3 2.7065 + angle_coeff @angle:pc-na-s harmonic 79.371 121.470 # SOURCE3 3 1.0668 + angle_coeff @angle:pc-na-sh harmonic 80.524 121.080 # SOURCE3 3 1.8942 + angle_coeff @angle:pc-na-ss harmonic 80.219 121.200 # SOURCE3 3 1.9295 + angle_coeff @angle:pd-na-pd harmonic 103.141 120.780 # SOURCE3 27 + angle_coeff @angle:pd-na-s4 harmonic 78.694 121.510 # SOURCE3 3 + angle_coeff @angle:pd-na-s6 harmonic 80.329 121.550 # SOURCE3 3 + angle_coeff @angle:pd-na-s harmonic 79.371 121.470 # SOURCE3 3 + angle_coeff @angle:pd-na-sh harmonic 80.524 121.080 # SOURCE3 3 + angle_coeff @angle:pd-na-ss harmonic 80.219 121.200 # SOURCE3 3 + angle_coeff @angle:py-na-py harmonic 129.638 78.250 # SOURCE3 1 + angle_coeff @angle:s4-na-s4 harmonic 59.656 124.200 # SOURCE3 1 + angle_coeff @angle:s4-na-s6 harmonic 63.782 112.860 # SOURCE3 1 + angle_coeff @angle:s4-na-ss harmonic 63.885 111.920 # SOURCE3 1 + angle_coeff @angle:s6-na-s6 harmonic 62.342 123.200 # SOURCE3 1 + angle_coeff @angle:s6-na-ss harmonic 63.225 119.100 # SOURCE3 1 + angle_coeff @angle:sh-na-sh harmonic 62.052 124.600 # SOURCE3 1 + angle_coeff @angle:sh-na-ss harmonic 63.339 118.790 # SOURCE3 1 + angle_coeff @angle:s-na-s harmonic 60.168 126.000 # SOURCE3 1 + angle_coeff @angle:s-na-ss harmonic 64.260 112.490 # SOURCE3 1 + angle_coeff @angle:ss-na-ss harmonic 64.658 113.240 # SOURCE3 2 6.6084 + angle_coeff @angle:sy-na-sy harmonic 62.187 123.200 # SOURCE3 1 + angle_coeff @angle:ca-nb-ca harmonic 70.356 117.220 # SOURCE3_SOURCE5 3343 1.0306 + angle_coeff @angle:ca-nb-cp harmonic 70.116 118.050 # SOURCE4_SOURCE5 160 0.7542 + angle_coeff @angle:ca-nb-cq harmonic 70.116 118.050 # SOURCE4_SOURCE5 102 0.7384 + angle_coeff @angle:ca-nb-nb harmonic 87.237 120.050 # SOURCE3_SOURCE5 159 0.6095 + angle_coeff @angle:cp-nb-nb harmonic 86.918 120.960 # SOURCE4_SOURCE5 32 0.5601 + angle_coeff @angle:nb-nb-nb harmonic 109.020 121.040 # SOURCE3 1 + angle_coeff @angle:br-n-br harmonic 67.176 116.200 # SOURCE3 1 + angle_coeff @angle:br-n-c harmonic 62.729 121.250 # SOURCE3_SOURCE5 10 1.6266 + angle_coeff @angle:br-n-ca harmonic 63.323 118.190 # SOURCE3 1 + angle_coeff @angle:br-n-cc harmonic 63.525 118.190 # SOURCE3 1 + angle_coeff @angle:br-n-cd harmonic 63.525 118.190 # SOURCE3 1 + angle_coeff @angle:c1-n-c1 harmonic 75.677 102.690 # SOURCE3 1 + angle_coeff @angle:c1-n-ca harmonic 68.108 118.880 # SOURCE3 1 + angle_coeff @angle:c1-n-cc harmonic 68.972 118.880 # SOURCE3 1 + angle_coeff @angle:c1-n-cd harmonic 68.972 118.880 # SOURCE3 1 + angle_coeff @angle:c2-n-c2 harmonic 67.455 116.750 # SOURCE3 1 + angle_coeff @angle:c2-n-c3 harmonic 64.992 120.100 # SOURCE4_SOURCE5 62 2.3796 + angle_coeff @angle:c2-n-ca harmonic 67.208 116.540 # SOURCE3 1 + angle_coeff @angle:c2-n-cc harmonic 67.963 116.540 # SOURCE3 1 + angle_coeff @angle:c2-n-cd harmonic 67.963 116.540 # SOURCE3 1 + angle_coeff @angle:c2-n-hn harmonic 47.988 117.900 # SOURCE4_SOURCE5 115 1.4688 + angle_coeff @angle:c3-n-c3 harmonic 64.880 115.640 # SOURCE4_SOURCE5 1017 2.0256 + angle_coeff @angle:c3-n-ca harmonic 64.801 119.830 # SOURCE4_SOURCE5 448 1.9961 + angle_coeff @angle:c3-n-cc harmonic 65.172 120.850 # CORR_SOURCE5 523 1.4176 + angle_coeff @angle:c3-n-cd harmonic 65.172 120.850 # CORR_SOURCE5 523 1.4176 + angle_coeff @angle:c3-n-cy harmonic 64.307 117.080 # SOURCE4_SOURCE5 120 1.3701 + angle_coeff @angle:c3-n-hn harmonic 46.147 117.680 # SOURCE3_SOURCE5 1934 1.5065 + angle_coeff @angle:c3-n-n2 harmonic 81.830 121.710 # SOURCE4_SOURCE5 131 1.2251 + angle_coeff @angle:c3-n-n harmonic 82.901 115.390 # SOURCE4_SOURCE5 28 1.0963 + angle_coeff @angle:c3-n-nc harmonic 84.094 115.280 # CORR_SOURCE5 61 0.8561 + angle_coeff @angle:c3-n-nd harmonic 84.094 115.280 # CORR_SOURCE5 61 0.8561 + angle_coeff @angle:c3-n-oh harmonic 83.734 112.970 # SOURCE4_SOURCE5 82 0.8203 + angle_coeff @angle:c3-n-os harmonic 83.821 112.540 # SOURCE4_SOURCE5 42 1.7642 + angle_coeff @angle:c3-n-sy harmonic 62.308 120.880 # SOURCE4_SOURCE5 13 1.1569 + angle_coeff @angle:ca-n-ca harmonic 66.671 117.370 # SOURCE4_SOURCE5 99 1.5139 + angle_coeff @angle:ca-n-cc harmonic 68.390 114.010 # CORR_SOURCE5 53 1.0051 + angle_coeff @angle:ca-n-cd harmonic 68.390 114.010 # CORR_SOURCE5 53 1.0051 + angle_coeff @angle:ca-n-cl harmonic 71.199 117.720 # SOURCE3 1 + angle_coeff @angle:ca-n-f harmonic 86.043 114.920 # SOURCE3 1 + angle_coeff @angle:ca-n-hn harmonic 47.989 116.000 # SOURCE4_SOURCE5 1451 1.8612 + angle_coeff @angle:ca-n-i harmonic 59.954 119.300 # SOURCE3 1 + angle_coeff @angle:ca-n-n2 harmonic 83.352 122.020 # SOURCE4_SOURCE5 12 0.9977 + angle_coeff @angle:ca-n-n4 harmonic 80.984 122.980 # SOURCE3 1 + angle_coeff @angle:ca-n-n harmonic 83.301 118.550 # SOURCE4_SOURCE5 46 0.3283 + angle_coeff @angle:ca-n-na harmonic 82.957 119.300 # SOURCE4_SOURCE5 47 0.3131 + angle_coeff @angle:ca-n-nc harmonic 85.318 116.500 # CORR_SOURCE5 14 1.6910 + angle_coeff @angle:ca-n-nd harmonic 85.318 116.500 # CORR_SOURCE5 14 1.6910 + angle_coeff @angle:ca-n-nh harmonic 84.129 116.450 # SOURCE3 1 + angle_coeff @angle:ca-n-p2 harmonic 83.158 112.320 # SOURCE3 1 + angle_coeff @angle:ca-n-p3 harmonic 77.529 125.110 # SOURCE3 1 + angle_coeff @angle:ca-n-s4 harmonic 62.152 118.400 # SOURCE3 1 + angle_coeff @angle:ca-n-s6 harmonic 63.800 117.320 # SOURCE3 1 + angle_coeff @angle:ca-n-ss harmonic 63.794 116.600 # SOURCE3 1 + angle_coeff @angle:c-n-c1 harmonic 69.561 117.040 # SOURCE3 1 + angle_coeff @angle:c-n-c2 harmonic 66.426 122.150 # SOURCE3 9 5.1016 + angle_coeff @angle:c-n-c3 harmonic 65.252 120.690 # SOURCE3_SOURCE5 4556 2.1510 + angle_coeff @angle:c3-nc-cd harmonic 69.940 109.510 # SOURCE3 9 5.4142 + angle_coeff @angle:c-n-c harmonic 65.616 127.080 # SOURCE4_SOURCE5 1415 2.1363 + angle_coeff @angle:c-n-ca harmonic 65.694 123.710 # SOURCE3 10 3.8159 + angle_coeff @angle:ca-nc-ca harmonic 71.962 109.950 # SOURCE3 1 + angle_coeff @angle:ca-nc-cd harmonic 74.608 104.880 # CORR_SOURCE5 766 1.8814 + angle_coeff @angle:ca-nc-n harmonic 92.070 104.690 # CORR 2 + angle_coeff @angle:ca-nc-na harmonic 93.072 102.760 # CORR_SOURCE5 25 0.7558 + angle_coeff @angle:ca-nc-os harmonic 90.719 104.480 # CORR_SOURCE5 16 0.1832 + angle_coeff @angle:ca-nc-ss harmonic 70.369 107.070 # SOURCE3_SOURCE5 17 0.3771 + angle_coeff @angle:c-n-cc harmonic 66.579 123.270 # SOURCE3_SOURCE5 805 2.2636 + angle_coeff @angle:c-nc-ca harmonic 67.794 120.660 # CORR 2 + angle_coeff @angle:cc-n-cc harmonic 70.783 108.920 # SOURCE3 11 0.3167 + angle_coeff @angle:cc-nc-cc harmonic 73.120 103.760 # CORR_SOURCE5 6 0.0439 + angle_coeff @angle:cc-nc-cd harmonic 73.871 105.490 # CORR_SOURCE5 1810 1.9032 + angle_coeff @angle:c-nc-cd harmonic 68.639 120.490 # CORR_SOURCE5 205 1.1318 + angle_coeff @angle:cc-n-cl harmonic 71.592 117.720 # SOURCE3 1 + angle_coeff @angle:cc-nc-na harmonic 92.369 102.970 # SOURCE3 1 + angle_coeff @angle:cc-nc-nd harmonic 91.732 108.620 # SOURCE3_SOURCE5 82 1.5614 + angle_coeff @angle:c-n-cd harmonic 66.579 123.270 # SOURCE3_SOURCE5 805 2.2636 + angle_coeff @angle:cd-nc-cd harmonic 71.496 117.300 # CORR_SOURCE5 18 0.3907 + angle_coeff @angle:cd-nc-n harmonic 88.099 117.190 # CORR 64 + angle_coeff @angle:cd-nc-na harmonic 93.753 103.820 # SOURCE3_SOURCE5 919 1.7445 + angle_coeff @angle:cd-nc-nc harmonic 91.676 107.820 # CORR_SOURCE5 457 1.5268 + angle_coeff @angle:cd-nc-os harmonic 91.671 104.670 # CORR_SOURCE5 184 0.8204 + angle_coeff @angle:cd-nc-ss harmonic 70.508 108.070 # CORR_SOURCE5 95 1.3804 + angle_coeff @angle:c-n-ce harmonic 63.457 131.380 # SOURCE4_SOURCE5 371 1.5975 + angle_coeff @angle:cc-n-f harmonic 87.015 114.920 # SOURCE3 1 + angle_coeff @angle:cc-n-hn harmonic 48.285 119.260 # CORR_SOURCE5 459 1.7223 + angle_coeff @angle:cc-n-i harmonic 59.973 119.300 # SOURCE3 1 + angle_coeff @angle:c-n-cl harmonic 72.034 116.350 # SOURCE4 11 0.6829 + angle_coeff @angle:cc-n-n2 harmonic 88.496 110.870 # SOURCE3 1 + angle_coeff @angle:cc-n-n harmonic 83.245 121.370 # SOURCE3 1 + angle_coeff @angle:cc-n-na harmonic 84.492 117.570 # SOURCE3 1 + angle_coeff @angle:cc-n-nc harmonic 88.107 111.890 # CORR_SOURCE5 20 0.7095 + angle_coeff @angle:cc-n-nh harmonic 84.683 117.520 # SOURCE3 1 + angle_coeff @angle:cc-n-no harmonic 83.522 115.920 # SOURCE3 1 + angle_coeff @angle:cc-n-o harmonic 88.192 120.540 # SOURCE3 1 + angle_coeff @angle:cc-n-oh harmonic 83.905 119.300 # SOURCE3_SOURCE5 7 0.3237 + angle_coeff @angle:cc-n-os harmonic 85.167 115.560 # SOURCE3 1 + angle_coeff @angle:cc-n-p2 harmonic 83.596 112.320 # SOURCE3 1 + angle_coeff @angle:cc-n-p3 harmonic 77.892 125.110 # SOURCE3 1 + angle_coeff @angle:cc-n-p5 harmonic 81.119 121.000 # SOURCE3 1 + angle_coeff @angle:cc-n-s4 harmonic 62.446 118.400 # SOURCE3 1 + angle_coeff @angle:cc-n-s6 harmonic 64.150 117.320 # SOURCE3 1 + angle_coeff @angle:cc-n-s harmonic 62.506 118.290 # SOURCE3 1 + angle_coeff @angle:cc-n-sh harmonic 63.393 119.130 # SOURCE3 1 + angle_coeff @angle:cc-n-ss harmonic 64.137 116.600 # SOURCE3 2 + angle_coeff @angle:c-n-cx harmonic 65.394 122.070 # SOURCE4 11 1.9478 + angle_coeff @angle:c-n-cy harmonic 73.625 94.220 # SOURCE4_SOURCE5 674 1.8186 + angle_coeff @angle:cd-n-cd harmonic 70.783 108.920 # SOURCE3 11 + angle_coeff @angle:cd-n-cl harmonic 71.592 117.720 # SOURCE3 1 + angle_coeff @angle:cd-n-f harmonic 87.015 114.920 # SOURCE3 1 + angle_coeff @angle:cd-n-hn harmonic 48.285 119.260 # CORR_SOURCE5 459 1.7223 + angle_coeff @angle:cd-n-i harmonic 59.973 119.300 # SOURCE3 1 + angle_coeff @angle:cd-n-n2 harmonic 88.496 110.870 # SOURCE3 1 + angle_coeff @angle:cd-n-n harmonic 83.245 121.370 # SOURCE3 1 + angle_coeff @angle:cd-n-na harmonic 84.492 117.570 # SOURCE3 1 + angle_coeff @angle:cd-n-nd harmonic 88.107 111.890 # CORR_SOURCE5 20 0.7095 + angle_coeff @angle:cd-n-nh harmonic 84.683 117.520 # SOURCE3 1 + angle_coeff @angle:cd-n-no harmonic 83.522 115.920 # SOURCE3 1 + angle_coeff @angle:cd-n-o harmonic 88.192 120.540 # SOURCE3 1 + angle_coeff @angle:cd-n-oh harmonic 83.905 119.300 # SOURCE3_SOURCE5 7 0.3237 + angle_coeff @angle:cd-n-os harmonic 85.167 115.560 # SOURCE3 1 + angle_coeff @angle:cd-n-p2 harmonic 83.596 112.320 # SOURCE3 1 + angle_coeff @angle:cd-n-p3 harmonic 77.892 125.110 # SOURCE3 1 + angle_coeff @angle:cd-n-p5 harmonic 81.119 121.000 # SOURCE3 1 + angle_coeff @angle:cd-n-s4 harmonic 62.446 118.400 # SOURCE3 1 + angle_coeff @angle:cd-n-s6 harmonic 64.150 117.320 # SOURCE3 1 + angle_coeff @angle:cd-n-s harmonic 62.506 118.290 # SOURCE3 1 + angle_coeff @angle:cd-n-sh harmonic 63.393 119.130 # SOURCE3 1 + angle_coeff @angle:cd-n-ss harmonic 64.137 116.600 # SOURCE3 2 1.8318 + angle_coeff @angle:ce-n-cy harmonic 66.660 111.710 # CORR_SOURCE5 226 2.0477 + angle_coeff @angle:c-n-f harmonic 89.555 108.630 # SOURCE3 3 4.6785 + angle_coeff @angle:cf-n-cy harmonic 66.660 111.710 # CORR_SOURCE5 226 2.0477 + angle_coeff @angle:c-n-hn harmonic 48.691 117.550 # SOURCE3_SOURCE5 5866 1.6058 + angle_coeff @angle:c-n-i harmonic 59.703 120.380 # SOURCE3 5 2.1600 + angle_coeff @angle:cl-n-cl harmonic 81.959 111.690 # SOURCE3 1 + angle_coeff @angle:c-n-n2 harmonic 85.152 119.910 # SOURCE3_SOURCE5 237 1.7782 + angle_coeff @angle:c-n-n3 harmonic 83.740 120.100 # SOURCE3_SOURCE5 90 1.4705 + angle_coeff @angle:c-n-n4 harmonic 85.688 112.320 # SOURCE3 5 1.2622 + angle_coeff @angle:c-n-n harmonic 84.328 118.420 # SOURCE3 10 2.8922 + angle_coeff @angle:c-n-na harmonic 86.815 111.500 # SOURCE3_SOURCE5 60 1.0005 + angle_coeff @angle:na-nc-nd harmonic 116.802 106.240 # SOURCE3_SOURCE5 145 0.6824 + angle_coeff @angle:c-n-nc harmonic 83.462 124.860 # CORR_SOURCE5 117 2.2930 + angle_coeff @angle:nc-nc-nd harmonic 113.624 111.460 # CORR_SOURCE5 97 0.5962 + angle_coeff @angle:c-n-nd harmonic 83.462 124.860 # CORR_SOURCE5 117 2.2930 + angle_coeff @angle:nd-nc-os harmonic 114.084 107.220 # SOURCE3 3 0.4707 + angle_coeff @angle:c-n-nh harmonic 84.310 118.710 # SOURCE4_SOURCE5 52 1.7764 + angle_coeff @angle:c-n-no harmonic 82.773 118.160 # SOURCE3 4 5.4870 + angle_coeff @angle:c-n-o harmonic 89.074 118.360 # SOURCE3_SOURCE5 14 3.9188 + angle_coeff @angle:c-n-oh harmonic 85.324 115.510 # SOURCE3_SOURCE5 128 0.8808 + angle_coeff @angle:c-n-os harmonic 86.126 113.140 # SOURCE3 7 3.0839 + angle_coeff @angle:c-n-p2 harmonic 79.405 124.560 # SOURCE3 8 3.6907 + angle_coeff @angle:c-n-p3 harmonic 78.725 122.540 # SOURCE3 9 4.4802 + angle_coeff @angle:c-n-p4 harmonic 79.728 123.440 # SOURCE3 1 + angle_coeff @angle:c-n-p5 harmonic 78.739 128.500 # SOURCE4 6 0.5353 + angle_coeff @angle:c-n-pc harmonic 79.905 122.230 # SOURCE3 3 2.8787 + angle_coeff @angle:c-n-pd harmonic 79.905 122.230 # SOURCE3 3 + angle_coeff @angle:c-n-s4 harmonic 61.938 120.410 # SOURCE3 4 3.1760 + angle_coeff @angle:c-n-s6 harmonic 62.226 124.760 # SOURCE4_SOURCE5 44 1.7490 + angle_coeff @angle:c-n-s harmonic 60.447 126.550 # SOURCE3 3 4.3365 + angle_coeff @angle:c-n-sh harmonic 63.302 119.540 # SOURCE3 4 1.7681 + angle_coeff @angle:c-n-ss harmonic 62.795 121.710 # SOURCE3_SOURCE5 23 1.8428 + angle_coeff @angle:c-n-sy harmonic 62.308 124.690 # SOURCE4_SOURCE5 124 1.1647 + angle_coeff @angle:cx-n-hn harmonic 46.588 118.500 # SOURCE4_SOURCE5 12 0.6959 + angle_coeff @angle:cx-n-os harmonic 121.869 54.040 # SOURCE3 1 + angle_coeff @angle:cy-n-hn harmonic 45.639 119.110 # SOURCE4_SOURCE5 156 1.4586 + angle_coeff @angle:c3-nd-cc harmonic 69.940 109.510 # SOURCE3 9 + angle_coeff @angle:ca-nd-ca harmonic 71.962 109.950 # SOURCE3 1 + angle_coeff @angle:ca-nd-cc harmonic 74.608 104.880 # CORR_SOURCE5 766 1.8814 + angle_coeff @angle:ca-nd-n harmonic 92.070 104.690 # CORR 2 + angle_coeff @angle:ca-nd-na harmonic 93.131 102.760 # CORR_SOURCE5 25 0.7558 + angle_coeff @angle:ca-nd-nc harmonic 92.520 108.340 # SOURCE4_SOURCE5 23 0.2293 + angle_coeff @angle:ca-nd-os harmonic 90.719 104.480 # CORR_SOURCE5 16 0.1832 + angle_coeff @angle:ca-nd-ss harmonic 70.369 107.070 # SOURCE3_SOURCE5 17 0.3771 + angle_coeff @angle:c-nd-ca harmonic 67.794 120.660 # CORR 2 + angle_coeff @angle:c-nd-cc harmonic 68.639 120.490 # CORR_SOURCE5 205 1.1318 + angle_coeff @angle:cc-nd-cc harmonic 71.496 117.300 # CORR_SOURCE5 18 0.3907 + angle_coeff @angle:cc-nd-cd harmonic 73.871 105.490 # CORR_SOURCE5 1810 1.9032 + angle_coeff @angle:cc-nd-n harmonic 88.099 117.190 # CORR 64 + angle_coeff @angle:cc-nd-na harmonic 93.815 103.820 # SOURCE3_SOURCE5 919 1.7445 + angle_coeff @angle:cc-nd-nd harmonic 91.676 107.820 # CORR_SOURCE5 457 1.5268 + angle_coeff @angle:cc-nd-os harmonic 91.671 104.670 # CORR_SOURCE5 184 0.8204 + angle_coeff @angle:cc-nd-ss harmonic 70.508 108.070 # CORR_SOURCE5 95 1.3804 + angle_coeff @angle:cd-nd-cd harmonic 73.120 103.760 # CORR_SOURCE5 6 0.0439 + angle_coeff @angle:cd-nd-na harmonic 92.426 102.970 # SOURCE3 1 + angle_coeff @angle:cd-nd-nc harmonic 91.732 108.620 # SOURCE3_SOURCE5 82 1.5614 + angle_coeff @angle:na-nd-nc harmonic 116.883 106.240 # SOURCE3_SOURCE5 145 0.6824 + angle_coeff @angle:nc-nd-nd harmonic 113.624 111.460 # CORR_SOURCE5 97 0.5962 + angle_coeff @angle:nc-nd-os harmonic 114.084 107.220 # SOURCE3 3 + angle_coeff @angle:c1-ne-ca harmonic 62.618 151.950 # CORR_SOURCE5 15 1.4352 + angle_coeff @angle:c1-ne-cg harmonic 67.861 140.000 # SOURCE2 1 + angle_coeff @angle:c2-ne-ca harmonic 68.492 120.830 # CORR_SOURCE5 103 1.9474 + angle_coeff @angle:c2-ne-ce harmonic 70.313 116.010 # SOURCE3_SOURCE5 34 2.0813 + angle_coeff @angle:c2-ne-cg harmonic 70.178 123.230 # SOURCE4_SOURCE5 39 1.0918 + angle_coeff @angle:c2-ne-n2 harmonic 93.623 113.310 # SOURCE3 1 + angle_coeff @angle:c2-ne-ne harmonic 88.990 110.860 # SOURCE3 7 4.5874 + angle_coeff @angle:c2-ne-p2 harmonic 84.105 134.030 # SOURCE3 1 + angle_coeff @angle:c2-ne-pe harmonic 82.533 120.520 # SOURCE3 8 8.1381 + angle_coeff @angle:c2-ne-px harmonic 83.910 117.750 # SOURCE3 5 0.8581 + angle_coeff @angle:c2-ne-py harmonic 88.230 117.040 # SOURCE3 3 1.4398 + angle_coeff @angle:c2-ne-sx harmonic 62.652 111.980 # SOURCE3 3 0.4090 + angle_coeff @angle:c2-ne-sy harmonic 65.555 120.600 # CORR_SOURCE5 19 1.1215 + angle_coeff @angle:ca-ne-cf harmonic 68.142 121.710 # CORR_SOURCE5 29 1.8572 + angle_coeff @angle:ca-ne-n2 harmonic 88.697 114.350 # CORR_SOURCE5 15 1.3133 + angle_coeff @angle:ca-ne-nf harmonic 88.592 115.170 # CORR_SOURCE5 98 0.8636 + angle_coeff @angle:ca-ne-o harmonic 89.200 115.690 # SOURCE3_SOURCE5 18 1.7090 + angle_coeff @angle:ca-ne-p2 harmonic 87.186 118.090 # SOURCE3 1 + angle_coeff @angle:ca-ne-s harmonic 68.068 120.110 # SOURCE3 1 + angle_coeff @angle:c-ne-c2 harmonic 69.660 118.530 # CORR 6 + angle_coeff @angle:ce-ne-n2 harmonic 90.497 111.190 # SOURCE3 1 + angle_coeff @angle:ce-ne-o harmonic 91.180 112.160 # SOURCE3 1 + angle_coeff @angle:ce-ne-p2 harmonic 87.896 117.020 # SOURCE3 1 + angle_coeff @angle:ce-ne-s harmonic 69.440 116.280 # SOURCE3 1 + angle_coeff @angle:cg-ne-n1 harmonic 90.226 120.200 # SOURCE2 1 + angle_coeff @angle:cg-ne-n2 harmonic 92.273 113.390 # SOURCE3 1 + angle_coeff @angle:cg-ne-o harmonic 93.028 114.700 # SOURCE2 1 + angle_coeff @angle:cg-ne-p2 harmonic 88.388 119.570 # SOURCE3 1 + angle_coeff @angle:cg-ne-s harmonic 70.232 117.700 # SOURCE3 1 + angle_coeff @angle:c-ne-sy harmonic 65.604 116.430 # SOURCE4_SOURCE5 16 1.7300 + angle_coeff @angle:n2-ne-n2 harmonic 121.491 107.220 # SOURCE3 1 + angle_coeff @angle:n2-ne-ne harmonic 112.157 110.720 # SOURCE3 9 6.1488 + angle_coeff @angle:n2-ne-o harmonic 119.624 114.100 # SOURCE3 1 + angle_coeff @angle:n2-ne-p2 harmonic 116.902 109.660 # SOURCE3 1 + angle_coeff @angle:n2-ne-pe harmonic 107.386 112.150 # SOURCE3 7 6.5273 + angle_coeff @angle:n2-ne-px harmonic 106.135 115.970 # SOURCE3 3 1.9854 + angle_coeff @angle:n2-ne-py harmonic 112.046 114.600 # SOURCE3 3 2.9261 + angle_coeff @angle:n2-ne-s harmonic 89.721 115.900 # SOURCE3 1 + angle_coeff @angle:n2-ne-sx harmonic 80.235 107.290 # SOURCE3 1 + angle_coeff @angle:n2-ne-sy harmonic 85.721 111.210 # SOURCE3 1 + angle_coeff @angle:ne-ne-o harmonic 113.544 110.450 # SOURCE3 10 1.8535 + angle_coeff @angle:ne-ne-p2 harmonic 110.510 114.390 # SOURCE3 6 4.0528 + angle_coeff @angle:ne-ne-s harmonic 86.406 115.950 # SOURCE3 6 3.4604 + angle_coeff @angle:o-ne-o harmonic 116.666 124.090 # SOURCE3 2 8.7534 + angle_coeff @angle:o-ne-pe harmonic 99.245 132.320 # SOURCE3 11 23.9559 + angle_coeff @angle:o-ne-px harmonic 109.115 110.620 # SOURCE3 1 + angle_coeff @angle:o-ne-py harmonic 114.678 110.790 # SOURCE3 4 1.6818 + angle_coeff @angle:o-ne-s harmonic 89.941 117.190 # SOURCE3 2 0.0225 + angle_coeff @angle:o-ne-sx harmonic 79.732 108.920 # SOURCE3 1 + angle_coeff @angle:o-ne-sy harmonic 86.078 111.340 # SOURCE3 1 + angle_coeff @angle:p2-ne-pe harmonic 110.473 116.810 # SOURCE3 1 + angle_coeff @angle:p2-ne-px harmonic 105.767 128.350 # SOURCE3 1 + angle_coeff @angle:p2-ne-py harmonic 111.507 123.470 # SOURCE3 1 + angle_coeff @angle:p2-ne-sx harmonic 83.857 112.120 # SOURCE3 1 + angle_coeff @angle:p2-ne-sy harmonic 87.708 115.730 # SOURCE3 1 + angle_coeff @angle:pe-ne-s harmonic 87.031 115.730 # SOURCE3 1 + angle_coeff @angle:px-ne-s harmonic 81.843 131.840 # SOURCE3 1 + angle_coeff @angle:py-ne-s harmonic 90.262 116.180 # SOURCE3 4 3.7135 + angle_coeff @angle:s-ne-s harmonic 70.545 120.870 # SOURCE3 1 + angle_coeff @angle:s-ne-sx harmonic 65.416 112.960 # SOURCE3 1 + angle_coeff @angle:s-ne-sy harmonic 67.679 119.630 # SOURCE3 1 + angle_coeff @angle:c1-nf-ca harmonic 62.618 151.950 # CORR_SOURCE5 15 1.4352 + angle_coeff @angle:c1-nf-ch harmonic 67.861 140.000 # SOURCE2 1 + angle_coeff @angle:c2-nf-ca harmonic 68.492 120.830 # CORR_SOURCE5 103 1.9474 + angle_coeff @angle:c2-nf-cf harmonic 70.313 116.010 # SOURCE3_SOURCE5 31 2.1630 + angle_coeff @angle:c2-nf-n2 harmonic 93.623 113.310 # SOURCE3 1 + angle_coeff @angle:c2-nf-nf harmonic 88.990 110.860 # SOURCE3 7 + angle_coeff @angle:c2-nf-p2 harmonic 84.105 134.030 # SOURCE3 1 + angle_coeff @angle:c2-nf-pf harmonic 82.533 120.520 # SOURCE3 8 + angle_coeff @angle:c2-nf-px harmonic 83.910 117.750 # SOURCE3 5 + angle_coeff @angle:c2-nf-py harmonic 88.230 117.040 # SOURCE3 3 + angle_coeff @angle:c2-nf-sx harmonic 62.652 111.980 # SOURCE3 3 + angle_coeff @angle:c2-nf-sy harmonic 65.555 120.600 # CORR_SOURCE5 19 1.1215 + angle_coeff @angle:ca-nf-ce harmonic 68.142 121.710 # CORR_SOURCE5 29 1.8572 + angle_coeff @angle:ca-nf-n2 harmonic 88.697 114.350 # CORR_SOURCE5 15 1.3133 + angle_coeff @angle:ca-nf-ne harmonic 88.592 115.170 # CORR_SOURCE5 98 0.8636 + angle_coeff @angle:ca-nf-o harmonic 89.200 115.690 # SOURCE3_SOURCE5 15 1.8257 + angle_coeff @angle:ca-nf-p2 harmonic 87.186 118.090 # SOURCE3 1 + angle_coeff @angle:ca-nf-s harmonic 68.068 120.110 # SOURCE3 1 + angle_coeff @angle:c-nf-c2 harmonic 69.660 118.530 # CORR 6 + angle_coeff @angle:cf-nf-n2 harmonic 90.497 111.190 # SOURCE3 1 + angle_coeff @angle:cf-nf-o harmonic 91.180 112.160 # SOURCE3 1 + angle_coeff @angle:cf-nf-p2 harmonic 87.896 117.020 # SOURCE3 1 + angle_coeff @angle:cf-nf-s harmonic 69.440 116.280 # SOURCE3 1 + angle_coeff @angle:ch-nf-n1 harmonic 90.226 120.200 # SOURCE2 1 + angle_coeff @angle:ch-nf-n2 harmonic 92.273 113.390 # SOURCE3 1 + angle_coeff @angle:ch-nf-o harmonic 93.028 114.700 # SOURCE2 1 + angle_coeff @angle:ch-nf-p2 harmonic 88.388 119.570 # SOURCE3 1 + angle_coeff @angle:ch-nf-s harmonic 70.232 117.700 # SOURCE3 1 + angle_coeff @angle:f-n-f harmonic 116.092 102.980 # SOURCE3 1 + angle_coeff @angle:n2-nf-n2 harmonic 121.491 107.220 # SOURCE3 1 + angle_coeff @angle:n2-nf-nf harmonic 112.157 110.720 # SOURCE3 9 + angle_coeff @angle:n2-nf-o harmonic 119.624 114.100 # SOURCE3 1 + angle_coeff @angle:n2-nf-p2 harmonic 116.902 109.660 # SOURCE3 1 + angle_coeff @angle:n2-nf-pf harmonic 107.386 112.150 # SOURCE3 7 + angle_coeff @angle:n2-nf-px harmonic 106.135 115.970 # SOURCE3 3 + angle_coeff @angle:n2-nf-py harmonic 112.046 114.600 # SOURCE3 3 + angle_coeff @angle:n2-nf-s harmonic 89.721 115.900 # SOURCE3 1 + angle_coeff @angle:n2-nf-sx harmonic 80.235 107.290 # SOURCE3 1 + angle_coeff @angle:n2-nf-sy harmonic 85.721 111.210 # SOURCE3 1 + angle_coeff @angle:nf-nf-o harmonic 113.544 110.450 # SOURCE3 10 + angle_coeff @angle:nf-nf-p2 harmonic 110.510 114.390 # SOURCE3 6 + angle_coeff @angle:nf-nf-s harmonic 86.406 115.950 # SOURCE3 6 + angle_coeff @angle:o-nf-o harmonic 116.666 124.090 # SOURCE3 2 + angle_coeff @angle:o-nf-pf harmonic 99.245 132.320 # SOURCE3 11 + angle_coeff @angle:o-nf-px harmonic 109.115 110.620 # SOURCE3 1 + angle_coeff @angle:o-nf-py harmonic 114.678 110.790 # SOURCE3 4 + angle_coeff @angle:o-nf-s harmonic 89.941 117.190 # SOURCE3 2 + angle_coeff @angle:o-nf-sx harmonic 79.732 108.920 # SOURCE3 1 + angle_coeff @angle:o-nf-sy harmonic 86.078 111.340 # SOURCE3 1 + angle_coeff @angle:p2-nf-pf harmonic 110.473 116.810 # SOURCE3 1 + angle_coeff @angle:p2-nf-px harmonic 105.767 128.350 # SOURCE3 1 + angle_coeff @angle:p2-nf-py harmonic 111.507 123.470 # SOURCE3 1 + angle_coeff @angle:p2-nf-sx harmonic 83.857 112.120 # SOURCE3 1 + angle_coeff @angle:p2-nf-sy harmonic 87.708 115.730 # SOURCE3 1 + angle_coeff @angle:pf-nf-s harmonic 87.031 115.730 # SOURCE3 1 + angle_coeff @angle:px-nf-s harmonic 81.843 131.840 # SOURCE3 1 + angle_coeff @angle:py-nf-s harmonic 90.262 116.180 # SOURCE3 4 + angle_coeff @angle:s-nf-s harmonic 70.545 120.870 # SOURCE3 1 + angle_coeff @angle:s-nf-sx harmonic 65.416 112.960 # SOURCE3 1 + angle_coeff @angle:s-nf-sy harmonic 67.679 119.630 # SOURCE3 1 + angle_coeff @angle:br-nh-br harmonic 67.679 106.270 # SOURCE3 1 + angle_coeff @angle:br-nh-ca harmonic 63.138 111.880 # SOURCE3 1 + angle_coeff @angle:br-nh-hn harmonic 41.986 101.560 # SOURCE3 1 + angle_coeff @angle:c1-nh-c1 harmonic 70.255 116.980 # SOURCE3 1 + angle_coeff @angle:c1-nh-c2 harmonic 67.255 123.350 # SOURCE4_SOURCE5 17 1.3108 + angle_coeff @angle:c1-nh-ca harmonic 67.561 122.360 # SOURCE3 3 1.2016 + angle_coeff @angle:c1-nh-hn harmonic 49.868 117.400 # SOURCE4_SOURCE5 22 0.6517 + angle_coeff @angle:c2-nh-c2 harmonic 65.835 124.730 # SOURCE4_SOURCE5 107 1.4158 + angle_coeff @angle:c2-nh-c3 harmonic 64.232 123.710 # SOURCE3 8 3.5348 + angle_coeff @angle:c2-nh-ca harmonic 65.131 127.560 # SOURCE4_SOURCE5 258 2.3985 + angle_coeff @angle:c2-nh-cc harmonic 65.733 126.350 # CORR_SOURCE5 14 0.8394 + angle_coeff @angle:c2-nh-cd harmonic 65.733 126.350 # CORR_SOURCE5 14 0.8394 + angle_coeff @angle:c2-nh-cx harmonic 64.299 124.350 # SOURCE4_SOURCE5 21 1.6877 + angle_coeff @angle:c2-nh-hn harmonic 48.954 115.090 # SOURCE4_SOURCE5 2743 1.5424 + angle_coeff @angle:c2-nh-n2 harmonic 85.013 120.220 # SOURCE4_SOURCE5 101 1.0922 + angle_coeff @angle:c2-nh-n3 harmonic 84.289 116.870 # SOURCE4_SOURCE5 35 1.4173 + angle_coeff @angle:c2-nh-no harmonic 82.173 125.620 # SOURCE4_SOURCE5 19 0.8850 + angle_coeff @angle:c2-nh-oh harmonic 86.014 112.180 # SOURCE4_SOURCE5 38 1.3409 + angle_coeff @angle:c2-nh-os harmonic 85.749 112.950 # SOURCE4_SOURCE5 14 0.4455 + angle_coeff @angle:c2-nh-sy harmonic 63.190 121.130 # SOURCE4_SOURCE5 20 0.5133 + angle_coeff @angle:c3-nh-c3 harmonic 65.106 114.510 # SOURCE4_SOURCE5 1386 2.1206 + angle_coeff @angle:c3-nh-ca harmonic 65.249 119.980 # SOURCE3_SOURCE5 1640 2.1716 + angle_coeff @angle:c3-nh-cc harmonic 65.571 119.720 # CORR_SOURCE5 638 2.4802 + angle_coeff @angle:c3-nh-cd harmonic 65.571 119.720 # CORR_SOURCE5 638 2.4802 + angle_coeff @angle:c3-nh-cf harmonic 65.126 120.120 # SOURCE4_SOURCE5 52 2.0459 + angle_coeff @angle:c3-nh-cz harmonic 64.716 125.460 # SOURCE4_SOURCE5 25 0.5651 + angle_coeff @angle:c3-nh-hn harmonic 46.421 115.990 # SOURCE3_SOURCE5 1206 1.7716 + angle_coeff @angle:c3-nh-n2 harmonic 85.302 112.350 # SOURCE3 9 4.0058 + angle_coeff @angle:c3-nh-n harmonic 84.428 111.270 # SOURCE4_SOURCE5 20 2.2657 + angle_coeff @angle:c3-nh-na harmonic 84.049 112.390 # SOURCE4_SOURCE5 18 1.3421 + angle_coeff @angle:c3-nh-p2 harmonic 80.321 123.350 # SOURCE3 1 + angle_coeff @angle:c3-nh-sy harmonic 63.547 116.320 # SOURCE4_SOURCE5 31 1.3018 + angle_coeff @angle:ca-nh-ca harmonic 65.187 127.460 # SOURCE3 2 0.0002 + angle_coeff @angle:ca-nh-cc harmonic 64.885 129.800 # CORR_SOURCE5 49 1.2126 + angle_coeff @angle:ca-nh-cd harmonic 64.885 129.800 # CORR_SOURCE5 49 1.2126 + angle_coeff @angle:ca-nh-cl harmonic 71.441 113.150 # SOURCE3 1 + angle_coeff @angle:ca-nh-cx harmonic 64.495 123.700 # SOURCE4_SOURCE5 80 0.6122 + angle_coeff @angle:ca-nh-f harmonic 89.432 106.090 # SOURCE3 3 1.0660 + angle_coeff @angle:ca-nh-hn harmonic 48.787 116.070 # SOURCE4_SOURCE5 5026 1.3182 + angle_coeff @angle:ca-nh-i harmonic 58.875 117.830 # SOURCE3 1 + angle_coeff @angle:ca-nh-n1 harmonic 86.539 117.130 # HF/6-31G* 1 + angle_coeff @angle:ca-nh-n2 harmonic 84.736 121.130 # SOURCE4_SOURCE5 61 1.2262 + angle_coeff @angle:ca-nh-n3 harmonic 83.982 117.830 # SOURCE3_SOURCE5 31 1.9504 + angle_coeff @angle:ca-nh-n4 harmonic 85.682 108.940 # SOURCE3 5 0.6562 + angle_coeff @angle:ca-nh-n harmonic 85.070 116.030 # SOURCE4_SOURCE5 31 1.0216 + angle_coeff @angle:ca-nh-na harmonic 85.145 115.960 # SOURCE3_SOURCE5 14 0.6985 + angle_coeff @angle:ca-nh-nh harmonic 85.491 114.840 # SOURCE3_SOURCE5 14 1.2270 + angle_coeff @angle:ca-nh-no harmonic 86.330 113.920 # SOURCE3 4 2.9561 + angle_coeff @angle:ca-nh-o harmonic 86.968 121.920 # SOURCE3 2 3.9630 + angle_coeff @angle:ca-nh-oh harmonic 85.751 112.970 # SOURCE3_SOURCE5 7 0.3980 + angle_coeff @angle:ca-nh-os harmonic 86.208 111.850 # SOURCE3_SOURCE5 8 0.6032 + angle_coeff @angle:ca-nh-p2 harmonic 81.008 125.270 # SOURCE3 8 5.1798 + angle_coeff @angle:ca-nh-p3 harmonic 79.062 125.700 # SOURCE3 3 5.7796 + angle_coeff @angle:ca-nh-p4 harmonic 80.454 124.010 # SOURCE3 3 2.5810 + angle_coeff @angle:ca-nh-p5 harmonic 80.367 128.170 # SOURCE3_SOURCE5 9 0.9847 + angle_coeff @angle:ca-nh-s4 harmonic 63.691 115.620 # SOURCE3 3 0.3434 + angle_coeff @angle:ca-nh-s6 harmonic 63.224 122.850 # SOURCE4_SOURCE5 92 2.1278 + angle_coeff @angle:ca-nh-s harmonic 60.896 122.540 # SOURCE3 3 2.7001 + angle_coeff @angle:ca-nh-sh harmonic 63.303 121.410 # SOURCE3 1 + angle_coeff @angle:ca-nh-ss harmonic 63.248 121.500 # SOURCE3 3 2.6255 + angle_coeff @angle:ca-nh-sy harmonic 62.161 125.230 # SOURCE4_SOURCE5 116 1.6241 + angle_coeff @angle:cc-nh-cx harmonic 64.747 123.700 # CORR_SOURCE5 82 1.6057 + angle_coeff @angle:cc-nh-hn harmonic 49.267 115.630 # SOURCE3_SOURCE5 1084 1.8598 + angle_coeff @angle:cc-nh-n2 harmonic 85.504 120.090 # SOURCE4_SOURCE5 21 1.0306 + angle_coeff @angle:cc-nh-sy harmonic 62.976 122.520 # SOURCE4_SOURCE5 60 1.2839 + angle_coeff @angle:cd-nh-cx harmonic 64.747 123.700 # CORR_SOURCE5 82 1.6057 + angle_coeff @angle:cd-nh-hn harmonic 49.267 115.630 # SOURCE3_SOURCE5 1084 1.8598 + angle_coeff @angle:ce-nh-hn harmonic 48.739 115.680 # CORR_SOURCE5 360 1.2286 + angle_coeff @angle:ce-nh-o harmonic 84.249 129.430 # CORR 2 + angle_coeff @angle:ce-nh-sy harmonic 65.279 113.390 # SOURCE4_SOURCE5 15 1.0862 + angle_coeff @angle:cf-nh-hn harmonic 48.739 115.680 # CORR_SOURCE5 360 1.2286 + angle_coeff @angle:cf-nh-o harmonic 84.249 129.430 # CORR 2 + angle_coeff @angle:cl-nh-cl harmonic 81.661 106.600 # SOURCE3 1 + angle_coeff @angle:cl-nh-hn harmonic 48.722 104.140 # SOURCE3 1 + angle_coeff @angle:cx-nh-cx harmonic 89.045 62.010 # SOURCE4_SOURCE5 98 0.5911 + angle_coeff @angle:cx-nh-hn harmonic 46.132 118.880 # SOURCE4_SOURCE5 23 0.1930 + angle_coeff @angle:cz-nh-hn harmonic 49.192 121.150 # SOURCE4_SOURCE5 116 0.7805 + angle_coeff @angle:f-nh-f harmonic 114.444 101.700 # SOURCE3 1 + angle_coeff @angle:f-nh-hn harmonic 64.681 101.230 # SOURCE3 1 + angle_coeff @angle:hn-nh-hn harmonic 39.519 115.120 # SOURCE4_SOURCE5 3024 2.1393 + angle_coeff @angle:hn-nh-i harmonic 37.873 107.570 # SOURCE3 1 + angle_coeff @angle:hn-nh-n1 harmonic 64.440 110.570 # HF/6-31G* 1 + angle_coeff @angle:hn-nh-n2 harmonic 61.856 118.140 # SOURCE4_SOURCE5 220 2.1956 + angle_coeff @angle:hn-nh-n3 harmonic 60.496 113.970 # SOURCE3_SOURCE5 53 1.8422 + angle_coeff @angle:hn-nh-n4 harmonic 61.193 104.400 # SOURCE3 3 0.5056 + angle_coeff @angle:hn-nh-n harmonic 62.655 108.170 # SOURCE4_SOURCE5 39 1.1076 + angle_coeff @angle:hn-nh-na harmonic 62.699 108.240 # SOURCE3_SOURCE5 48 1.3913 + angle_coeff @angle:hn-nh-nh harmonic 61.867 110.860 # SOURCE4_SOURCE5 20 1.2814 + angle_coeff @angle:hn-nh-no harmonic 62.754 109.940 # SOURCE4_SOURCE5 17 0.1843 + angle_coeff @angle:hn-nh-o harmonic 65.877 116.450 # SOURCE3 2 0.6063 + angle_coeff @angle:hn-nh-oh harmonic 62.561 106.490 # SOURCE4_SOURCE5 45 1.2492 + angle_coeff @angle:hn-nh-os harmonic 62.721 106.070 # SOURCE3_SOURCE5 11 1.1257 + angle_coeff @angle:hn-nh-p2 harmonic 55.498 118.180 # SOURCE3 21 3.6927 + angle_coeff @angle:hn-nh-p3 harmonic 54.152 116.190 # SOURCE3 3 3.0539 + angle_coeff @angle:hn-nh-p4 harmonic 55.870 112.600 # SOURCE3 3 0.8237 + angle_coeff @angle:hn-nh-p5 harmonic 56.530 115.090 # SOURCE3_SOURCE5 12 1.4234 + angle_coeff @angle:hn-nh-s4 harmonic 43.338 107.480 # SOURCE3 3 1.3960 + angle_coeff @angle:hn-nh-s harmonic 41.075 114.370 # SOURCE3 1 + angle_coeff @angle:hn-nh-s6 harmonic 44.306 109.920 # SOURCE4_SOURCE5 70 0.7219 + angle_coeff @angle:hn-nh-sh harmonic 43.546 112.250 # SOURCE3 1 + angle_coeff @angle:hn-nh-ss harmonic 43.161 114.100 # SOURCE3_SOURCE5 9 0.8638 + angle_coeff @angle:hn-nh-sy harmonic 43.636 110.910 # SOURCE4_SOURCE5 174 1.2855 + angle_coeff @angle:i-nh-i harmonic 65.204 115.820 # SOURCE3 1 + angle_coeff @angle:n1-nh-n1 harmonic 115.547 106.710 # HF/6-31G* 1 + angle_coeff @angle:n2-nh-n2 harmonic 109.104 117.500 # SOURCE3 2 1.1907 + angle_coeff @angle:n2-nh-n3 harmonic 105.802 119.060 # SOURCE3_SOURCE5 5 1.1057 + angle_coeff @angle:n2-nh-o harmonic 108.688 126.060 # SOURCE3 1 + angle_coeff @angle:n3-nh-n3 harmonic 107.251 110.980 # SOURCE3 1 + angle_coeff @angle:n4-nh-n4 harmonic 104.809 108.360 # SOURCE3 1 + angle_coeff @angle:na-nh-na harmonic 107.947 112.010 # SOURCE3 1 + angle_coeff @angle:hn-n-hn harmonic 39.011 117.950 # SOURCE3_SOURCE5 619 1.1004 + angle_coeff @angle:nh-nh-nh harmonic 107.672 112.230 # SOURCE3 1 + angle_coeff @angle:hn-n-i harmonic 37.457 117.240 # SOURCE3 2 0.4435 + angle_coeff @angle:hn-n-n2 harmonic 61.294 119.080 # SOURCE3_SOURCE5 133 1.1985 + angle_coeff @angle:hn-n-n3 harmonic 60.078 117.240 # SOURCE4_SOURCE5 85 1.3614 + angle_coeff @angle:hn-n-n4 harmonic 60.201 112.680 # SOURCE3 3 1.9746 + angle_coeff @angle:hn-n-n harmonic 61.137 113.200 # SOURCE3_SOURCE5 44 1.5099 + angle_coeff @angle:hn-n-na harmonic 60.720 114.350 # SOURCE3_SOURCE5 14 1.6595 + angle_coeff @angle:hn-n-nc harmonic 62.278 115.420 # SOURCE4_SOURCE5 34 0.6814 + angle_coeff @angle:hn-n-nh harmonic 61.240 113.210 # SOURCE4_SOURCE5 34 1.4195 + angle_coeff @angle:hn-n-no harmonic 59.968 110.110 # SOURCE3 1 + angle_coeff @angle:hn-n-o harmonic 66.701 116.320 # SOURCE3 2 0.0175 + angle_coeff @angle:n-nh-o harmonic 111.046 115.630 # SOURCE3 1 + angle_coeff @angle:hn-n-oh harmonic 61.737 110.740 # SOURCE4_SOURCE5 106 1.1526 + angle_coeff @angle:no-nh-no harmonic 110.729 108.550 # SOURCE3 1 + angle_coeff @angle:hn-n-os harmonic 61.835 110.010 # SOURCE4_SOURCE5 28 0.8603 + angle_coeff @angle:hn-n-p2 harmonic 53.625 118.050 # SOURCE3 7 3.0564 + angle_coeff @angle:hn-n-p3 harmonic 52.013 119.630 # SOURCE3 2 + angle_coeff @angle:hn-n-p4 harmonic 54.129 115.710 # SOURCE3 1 + angle_coeff @angle:hn-n-p5 harmonic 55.227 113.610 # SOURCE4_SOURCE5 12 0.8598 + angle_coeff @angle:hn-n-s4 harmonic 41.853 112.460 # SOURCE3 1 + angle_coeff @angle:hn-n-s harmonic 41.432 114.920 # SOURCE3 2 0.0260 + angle_coeff @angle:hn-n-s6 harmonic 43.193 112.560 # SOURCE4_SOURCE5 18 0.6934 + angle_coeff @angle:hn-n-sh harmonic 42.490 114.910 # SOURCE3 1 + angle_coeff @angle:hn-n-ss harmonic 42.420 115.600 # SOURCE3 3 0.6414 + angle_coeff @angle:hn-n-sy harmonic 43.301 112.330 # SOURCE4_SOURCE5 87 0.6324 + angle_coeff @angle:oh-nh-oh harmonic 109.556 106.270 # SOURCE3 1 + angle_coeff @angle:o-nh-o harmonic 111.924 128.060 # SOURCE3 1 + angle_coeff @angle:os-nh-os harmonic 110.145 105.270 # SOURCE3 1 + angle_coeff @angle:p2-nh-p2 harmonic 103.624 127.330 # SOURCE3 2 2.7857 + angle_coeff @angle:p3-nh-p3 harmonic 101.470 125.080 # SOURCE3 1 + angle_coeff @angle:p5-nh-p5 harmonic 110.643 112.760 # SOURCE3 1 + angle_coeff @angle:s4-nh-s4 harmonic 64.290 112.390 # SOURCE3 1 + angle_coeff @angle:s6-nh-s6 harmonic 64.034 120.270 # SOURCE3 1 + angle_coeff @angle:sh-nh-sh harmonic 63.979 119.000 # SOURCE3 1 + angle_coeff @angle:s-nh-s harmonic 61.323 118.730 # SOURCE3 1 + angle_coeff @angle:ss-nh-ss harmonic 63.871 119.250 # SOURCE3 1 + angle_coeff @angle:i-n-i harmonic 66.144 118.200 # SOURCE3 1 + angle_coeff @angle:n2-n-n2 harmonic 108.745 116.890 # SOURCE3 1 + angle_coeff @angle:n3-n-n3 harmonic 104.883 117.940 # SOURCE3 1 + angle_coeff @angle:n4-n-n4 harmonic 105.215 112.690 # SOURCE3 1 + angle_coeff @angle:na-n-na harmonic 104.916 117.380 # SOURCE3 1 + angle_coeff @angle:nc-n-nc harmonic 109.009 116.410 # CORR 2 + angle_coeff @angle:nc-n-p2 harmonic 102.805 117.210 # CORR 2 + angle_coeff @angle:nc-n-pc harmonic 102.474 117.210 # CORR 2 + angle_coeff @angle:nd-n-nd harmonic 109.009 116.410 # CORR 2 + angle_coeff @angle:nd-n-p2 harmonic 102.805 117.210 # CORR 2 + angle_coeff @angle:nd-n-pd harmonic 102.474 117.210 # CORR 2 + angle_coeff @angle:nh-n-nh harmonic 106.329 115.180 # SOURCE3 1 + angle_coeff @angle:n-n-n harmonic 106.384 114.620 # SOURCE3 1 + angle_coeff @angle:no-n-no harmonic 105.383 108.660 # SOURCE3 1 + angle_coeff @angle:br-no-o harmonic 72.469 113.190 # SOURCE3 2 + angle_coeff @angle:c1-no-o harmonic 89.075 116.630 # SOURCE3 6 + angle_coeff @angle:c2-no-o harmonic 86.856 117.670 # SOURCE3_SOURCE5 49 0.7530 + angle_coeff @angle:c3-no-o harmonic 83.512 116.930 # SOURCE3_SOURCE5 182 0.7108 + angle_coeff @angle:ca-no-o harmonic 85.942 117.760 # SOURCE3_SOURCE5 886 0.2929 + angle_coeff @angle:cc-no-o harmonic 87.737 117.490 # SOURCE4_SOURCE5 624 0.5662 + angle_coeff @angle:cl-no-o harmonic 86.532 115.080 # SOURCE3 2 + angle_coeff @angle:c-no-o harmonic 83.834 115.260 # SOURCE3 1 + angle_coeff @angle:hn-no-o harmonic 67.449 115.490 # SOURCE3 2 + angle_coeff @angle:oh-n-oh harmonic 109.825 107.260 # SOURCE3 1 + angle_coeff @angle:i-no-o harmonic 70.372 116.310 # SOURCE3 2 + angle_coeff @angle:n1-no-o harmonic 112.600 115.000 # HF/6-31G* 1 + angle_coeff @angle:n2-no-o harmonic 110.021 116.520 # SOURCE2_SOURCE5 17 2.4833 + angle_coeff @angle:n3-no-o harmonic 111.860 116.770 # SOURCE3_SOURCE5 35 0.4158 + angle_coeff @angle:n4-no-o harmonic 111.250 109.000 # SOURCE3 2 + angle_coeff @angle:na-no-o harmonic 110.472 115.570 # SOURCE3_SOURCE5 29 0.5293 + angle_coeff @angle:nh-no-o harmonic 112.798 116.080 # SOURCE3_SOURCE5 32 0.8573 + angle_coeff @angle:n-no-o harmonic 109.317 115.590 # SOURCE3_SOURCE5 14 0.7108 + angle_coeff @angle:no-no-o harmonic 91.614 112.380 # SOURCE3 4 + angle_coeff @angle:o-n-o harmonic 113.464 128.610 # SOURCE3 3 1.0626 + angle_coeff @angle:o-no-o harmonic 116.649 125.080 # SOURCE4_SOURCE5 1464 0.8585 + angle_coeff @angle:o-no-oh harmonic 112.426 114.700 # SOURCE3 2 + angle_coeff @angle:o-no-os harmonic 111.586 114.760 # SOURCE3_SOURCE5 147 2.2227 + angle_coeff @angle:o-no-p2 harmonic 103.970 117.380 # SOURCE3 20 0.8083 + angle_coeff @angle:o-no-p3 harmonic 98.510 116.780 # SOURCE3 6 0.4929 + angle_coeff @angle:o-no-p4 harmonic 97.206 116.640 # SOURCE3 6 0.0089 + angle_coeff @angle:o-no-p5 harmonic 99.077 116.690 # SOURCE3 8 0.4507 + angle_coeff @angle:o-no-s4 harmonic 71.457 114.490 # SOURCE3 6 0.5674 + angle_coeff @angle:o-no-s6 harmonic 72.259 114.390 # SOURCE3 6 0.8311 + angle_coeff @angle:o-no-s harmonic 80.020 119.810 # SOURCE3 4 0.0042 + angle_coeff @angle:o-no-sh harmonic 78.649 116.100 # SOURCE3 2 + angle_coeff @angle:o-no-ss harmonic 77.822 115.580 # SOURCE3 6 0.5860 + angle_coeff @angle:os-n-os harmonic 109.989 106.530 # SOURCE3 1 + angle_coeff @angle:p2-n-p2 harmonic 103.580 119.620 # SOURCE3 1 + angle_coeff @angle:p3-n-p3 harmonic 106.372 108.730 # SOURCE3 3 0.2591 + angle_coeff @angle:p4-n-p4 harmonic 108.671 108.550 # SOURCE3 1 + angle_coeff @angle:p5-n-p5 harmonic 114.341 99.990 # SOURCE3 1 + angle_coeff @angle:pc-n-pc harmonic 103.163 119.620 # SOURCE3 1 + angle_coeff @angle:pd-n-pd harmonic 103.163 119.620 # SOURCE3 1 + angle_coeff @angle:s4-n-s4 harmonic 63.214 113.750 # SOURCE3 1 + angle_coeff @angle:s6-n-s6 harmonic 63.403 119.680 # SOURCE3 1 + angle_coeff @angle:sh-n-sh harmonic 63.230 119.030 # SOURCE3 1 + angle_coeff @angle:s-n-s harmonic 60.100 126.000 # SOURCE3 1 + angle_coeff @angle:ss-n-ss harmonic 63.451 118.490 # SOURCE3 1 + angle_coeff @angle:br-oh-ho harmonic 43.172 101.600 # SOURCE3 1 + angle_coeff @angle:c1-oh-ho harmonic 51.954 108.760 # SOURCE3 1 + angle_coeff @angle:c2-oh-ho harmonic 51.795 107.630 # SOURCE3_SOURCE5 86 1.5038 + angle_coeff @angle:c3-oh-ho harmonic 49.027 107.260 # SOURCE3_SOURCE5 7781 0.7665 + angle_coeff @angle:ca-oh-ho harmonic 50.712 108.580 # SOURCE3_SOURCE5 3580 0.7052 + angle_coeff @angle:cc-oh-ho harmonic 51.627 107.120 # CORR_SOURCE5 226 1.6427 + angle_coeff @angle:cd-oh-ho harmonic 51.627 107.120 # CORR_SOURCE5 226 1.6427 + angle_coeff @angle:ce-oh-ho harmonic 51.587 106.830 # CORR_SOURCE5 48 1.2629 + angle_coeff @angle:cf-oh-ho harmonic 51.587 106.830 # CORR_SOURCE5 48 1.2629 + angle_coeff @angle:c-oh-ho harmonic 51.617 106.550 # SOURCE3_SOURCE5 2765 1.0627 + angle_coeff @angle:cl-oh-ho harmonic 50.601 102.400 # SOURCE2 1 + angle_coeff @angle:cx-oh-ho harmonic 51.376 106.170 # SOURCE3 3 0.0644 + angle_coeff @angle:cy-oh-ho harmonic 49.289 107.690 # SOURCE4_SOURCE5 21 0.5952 + angle_coeff @angle:f-oh-ho harmonic 64.650 96.800 # SOURCE2 1 + angle_coeff @angle:ho-oh-ho harmonic 42.178 106.490 # SOURCE2_SOURCE5 23 1.3050 + angle_coeff @angle:ho-oh-i harmonic 37.979 107.980 # SOURCE3 2 + angle_coeff @angle:ho-oh-n1 harmonic 66.474 107.810 # HF/6-31G* 1 + angle_coeff @angle:ho-oh-n2 harmonic 63.987 103.090 # SOURCE3_SOURCE5 185 1.2900 + angle_coeff @angle:ho-oh-n3 harmonic 63.233 102.260 # SOURCE3_SOURCE5 28 0.5790 + angle_coeff @angle:ho-oh-n4 harmonic 62.546 106.630 # SOURCE3 3 0.2770 + angle_coeff @angle:ho-oh-n harmonic 63.907 101.290 # SOURCE3_SOURCE5 114 1.0315 + angle_coeff @angle:ho-oh-na harmonic 63.538 104.370 # SOURCE3_SOURCE5 16 0.9188 + angle_coeff @angle:ho-oh-nh harmonic 63.021 102.770 # SOURCE4_SOURCE5 57 0.7554 + angle_coeff @angle:ho-oh-no harmonic 63.640 102.170 # SOURCE3 1 + angle_coeff @angle:ho-oh-o harmonic 59.432 100.870 # SOURCE3 1 + angle_coeff @angle:ho-oh-oh harmonic 62.055 98.720 # SOURCE3 2 + angle_coeff @angle:ho-oh-os harmonic 62.321 99.680 # SOURCE4_SOURCE5 45 0.3142 + angle_coeff @angle:ho-oh-p2 harmonic 58.567 109.450 # SOURCE3 8 3.3491 + angle_coeff @angle:ho-oh-p3 harmonic 56.437 110.640 # SOURCE3 3 0.5191 + angle_coeff @angle:ho-oh-p4 harmonic 57.939 110.190 # SOURCE3 4 0.2372 + angle_coeff @angle:ho-oh-p5 harmonic 58.997 110.080 # SOURCE3_SOURCE5 1074 1.1258 + angle_coeff @angle:ho-oh-py harmonic 58.835 110.490 # SOURCE3_SOURCE5 115 1.4927 + angle_coeff @angle:ho-oh-s4 harmonic 44.189 106.850 # SOURCE4_SOURCE5 28 0.5669 + angle_coeff @angle:ho-oh-s harmonic 42.242 100.150 # SOURCE3 2 + angle_coeff @angle:ho-oh-s6 harmonic 45.957 107.260 # SOURCE3_SOURCE5 180 0.7965 + angle_coeff @angle:ho-oh-sh harmonic 44.429 106.240 # SOURCE3 2 0.0661 + angle_coeff @angle:ho-oh-ss harmonic 44.367 107.110 # SOURCE3_SOURCE5 12 1.0472 + angle_coeff @angle:ho-oh-sy harmonic 45.671 106.420 # SOURCE4_SOURCE5 121 0.3216 + angle_coeff @angle:br-os-br harmonic 67.436 110.630 # SOURCE3 1 + angle_coeff @angle:c1-os-c1 harmonic 71.202 115.020 # SOURCE3 1 + angle_coeff @angle:c1-os-c3 harmonic 68.518 113.390 # SOURCE3 1 + angle_coeff @angle:c2-os-c2 harmonic 69.600 113.140 # SOURCE3 6 2.1932 + angle_coeff @angle:c2-os-c3 harmonic 66.993 115.590 # SOURCE3_SOURCE5 149 2.3501 + angle_coeff @angle:c2-os-ca harmonic 67.843 118.200 # SOURCE3_SOURCE5 13 0.6779 + angle_coeff @angle:c2-os-n2 harmonic 83.963 118.130 # SOURCE3 1 + angle_coeff @angle:c2-os-na harmonic 88.073 103.850 # SOURCE3 4 0.6297 + angle_coeff @angle:c2-os-os harmonic 87.781 102.770 # SOURCE3 1 + angle_coeff @angle:c2-os-p5 harmonic 82.312 126.370 # SOURCE4 7 1.7939 + angle_coeff @angle:c2-os-ss harmonic 66.609 108.130 # SOURCE3 1 + angle_coeff @angle:c3-os-c3 harmonic 66.293 112.480 # SOURCE4_SOURCE5 4012 1.7399 + angle_coeff @angle:c3-os-ca harmonic 66.103 117.960 # SOURCE4_SOURCE5 7354 1.4497 + angle_coeff @angle:c3-os-cc harmonic 66.432 117.370 # CORR_SOURCE5 411 1.1548 + angle_coeff @angle:c3-os-cd harmonic 66.432 117.370 # CORR_SOURCE5 411 1.1548 + angle_coeff @angle:c3-os-ce harmonic 66.603 116.090 # CORR_SOURCE5 59 1.9942 + angle_coeff @angle:c3-os-cf harmonic 66.603 116.090 # CORR_SOURCE5 59 1.9942 + angle_coeff @angle:c3-os-cl harmonic 71.832 110.500 # SOURCE2 1 + angle_coeff @angle:c3-os-cy harmonic 66.337 111.750 # SOURCE4_SOURCE5 19 0.7990 + angle_coeff @angle:c3-os-i harmonic 59.723 113.700 # SOURCE3 1 + angle_coeff @angle:c3-os-n1 harmonic 85.969 113.500 # HF/6-31G* 1 + angle_coeff @angle:c3-os-n2 harmonic 85.118 109.230 # SOURCE3_SOURCE5 93 0.8090 + angle_coeff @angle:c3-os-n3 harmonic 83.747 109.830 # SOURCE4_SOURCE5 46 1.7350 + angle_coeff @angle:c3-os-n4 harmonic 84.065 110.500 # SOURCE3 3 0.5426 + angle_coeff @angle:c3-os-n harmonic 84.730 109.680 # SOURCE4_SOURCE5 42 0.9897 + angle_coeff @angle:c3-os-na harmonic 83.212 110.980 # SOURCE3_SOURCE5 17 1.2781 + angle_coeff @angle:c3-os-nc harmonic 83.792 112.730 # SOURCE3 2 1.0358 + angle_coeff @angle:c3-os-nd harmonic 83.792 112.730 # SOURCE3 2 + angle_coeff @angle:c3-os-nh harmonic 84.502 109.790 # SOURCE4_SOURCE5 22 0.2157 + angle_coeff @angle:c3-os-no harmonic 82.802 113.890 # SOURCE4_SOURCE5 112 0.3140 + angle_coeff @angle:c3-os-o harmonic 84.510 103.000 # SOURCE3 1 + angle_coeff @angle:c3-os-oh harmonic 83.965 108.110 # SOURCE4_SOURCE5 34 0.5701 + angle_coeff @angle:c3-os-os harmonic 83.957 107.370 # SOURCE3_SOURCE5 55 0.9835 + angle_coeff @angle:c3-os-p2 harmonic 86.122 115.470 # SOURCE3 8 2.6374 + angle_coeff @angle:c3-os-p3 harmonic 81.943 117.510 # SOURCE3_SOURCE5 11 0.9552 + angle_coeff @angle:c3-os-p4 harmonic 83.257 117.480 # SOURCE3 4 0.3850 + angle_coeff @angle:c3-os-p5 harmonic 83.251 119.540 # SOURCE3_SOURCE5 665 1.1338 + angle_coeff @angle:c3-os-py harmonic 83.113 119.570 # SOURCE3_SOURCE5 59 1.1952 + angle_coeff @angle:c3-os-s4 harmonic 64.572 113.210 # SOURCE3_SOURCE5 18 1.1865 + angle_coeff @angle:c3-os-s6 harmonic 65.683 115.870 # SOURCE4_SOURCE5 144 1.2750 + angle_coeff @angle:c3-os-s harmonic 62.691 109.550 # SOURCE3 1 + angle_coeff @angle:c3-os-sh harmonic 65.257 112.820 # SOURCE3 1 + angle_coeff @angle:c3-os-ss harmonic 64.028 114.010 # SOURCE3_SOURCE5 8 0.2853 + angle_coeff @angle:ca-os-ca harmonic 67.119 119.890 # SOURCE4_SOURCE5 312 1.5712 + angle_coeff @angle:ca-os-cc harmonic 69.301 113.080 # CORR_SOURCE5 343 1.5098 + angle_coeff @angle:ca-os-cd harmonic 69.301 113.080 # CORR_SOURCE5 343 1.5098 + angle_coeff @angle:ca-os-n3 harmonic 84.583 112.190 # SOURCE3 1 + angle_coeff @angle:ca-os-na harmonic 85.998 108.240 # SOURCE3 1 + angle_coeff @angle:ca-os-nc harmonic 86.989 109.320 # SOURCE3_SOURCE5 7 0.0434 + angle_coeff @angle:ca-os-nd harmonic 86.989 109.320 # SOURCE3_SOURCE5 7 0.0434 + angle_coeff @angle:ca-os-p5 harmonic 83.193 123.180 # SOURCE4_SOURCE5 136 1.2191 + angle_coeff @angle:ca-os-s6 harmonic 66.238 117.180 # SOURCE4_SOURCE5 46 1.0420 + angle_coeff @angle:c-os-c2 harmonic 68.118 118.220 # SOURCE4_SOURCE5 22 0.6933 + angle_coeff @angle:c-os-c3 harmonic 66.906 115.980 # SOURCE3_SOURCE5 2731 1.0103 + angle_coeff @angle:c-os-c harmonic 67.462 120.640 # SOURCE4 7 1.5114 + angle_coeff @angle:c-os-ca harmonic 67.041 121.150 # SOURCE4_SOURCE5 731 1.7389 + angle_coeff @angle:c-os-cc harmonic 67.659 119.620 # SOURCE3 5 6.0675 + angle_coeff @angle:cc-os-cc harmonic 71.537 106.720 # CORR_SOURCE5 406 0.7345 + angle_coeff @angle:cc-os-cd harmonic 67.837 118.680 # SOURCE4_SOURCE5 49 2.2289 + angle_coeff @angle:c-os-cd harmonic 67.659 119.620 # SOURCE3 5 6.0675 + angle_coeff @angle:cc-os-na harmonic 84.874 111.660 # SOURCE3 28 4.1343 + angle_coeff @angle:cc-os-nc harmonic 87.598 108.370 # SOURCE3_SOURCE5 148 0.8594 + angle_coeff @angle:cc-os-os harmonic 85.382 108.470 # SOURCE3 2 + angle_coeff @angle:cc-os-ss harmonic 63.313 119.590 # SOURCE3 1 + angle_coeff @angle:c-os-cy harmonic 75.270 91.100 # SOURCE3 2 0.0155 + angle_coeff @angle:cd-os-cd harmonic 71.537 106.720 # CORR_SOURCE5 406 0.7345 + angle_coeff @angle:cd-os-na harmonic 84.874 111.660 # SOURCE3 28 4.1343 + angle_coeff @angle:cd-os-nd harmonic 87.598 108.370 # SOURCE3_SOURCE5 148 0.8594 + angle_coeff @angle:cd-os-os harmonic 85.382 108.470 # SOURCE3 2 + angle_coeff @angle:cd-os-ss harmonic 63.313 119.590 # SOURCE3 1 + angle_coeff @angle:cl-os-cl harmonic 80.567 110.760 # SOURCE3 2 + angle_coeff @angle:c-os-n2 harmonic 86.219 112.120 # SOURCE4_SOURCE5 16 0.1285 + angle_coeff @angle:c-os-n harmonic 85.927 112.240 # SOURCE4_SOURCE5 17 0.6206 + angle_coeff @angle:c-os-oh harmonic 85.021 110.500 # SOURCE3 1 + angle_coeff @angle:c-os-os harmonic 84.800 110.200 # SOURCE4_SOURCE5 22 1.3187 + angle_coeff @angle:c-os-p5 harmonic 83.749 122.130 # SOURCE4_SOURCE5 11 0.5685 + angle_coeff @angle:c-os-sy harmonic 65.179 113.490 # SOURCE3 1 + angle_coeff @angle:cx-os-cx harmonic 89.127 61.780 # SOURCE4_SOURCE5 379 0.2104 + angle_coeff @angle:cx-os-n harmonic 114.351 59.990 # SOURCE3 1 + angle_coeff @angle:cx-os-os harmonic 115.519 56.520 # SOURCE3 2 + angle_coeff @angle:cy-os-cy harmonic 72.980 91.860 # SOURCE2_SOURCE5 16 1.0042 + angle_coeff @angle:f-os-f harmonic 112.297 103.300 # SOURCE2 1 + angle_coeff @angle:f-os-os harmonic 105.904 109.500 # SOURCE2 1 + angle_coeff @angle:i-os-i harmonic 65.023 115.670 # SOURCE3 1 + angle_coeff @angle:n1-os-n1 harmonic 111.016 117.790 # HF/6-31G* 1 + angle_coeff @angle:n2-os-n2 harmonic 108.962 106.830 # SOURCE3 1 + angle_coeff @angle:n2-os-s6 harmonic 84.516 111.300 # SOURCE4_SOURCE5 14 0.5651 + angle_coeff @angle:n3-os-n3 harmonic 106.985 104.880 # SOURCE3 1 + angle_coeff @angle:n4-os-n4 harmonic 103.723 114.680 # SOURCE3 1 + angle_coeff @angle:na-os-na harmonic 104.414 109.590 # SOURCE3 1 + angle_coeff @angle:na-os-ss harmonic 83.603 104.340 # SOURCE3 1 + angle_coeff @angle:nc-os-nc harmonic 106.078 112.750 # SOURCE2_SOURCE5 12 0.7540 + angle_coeff @angle:nc-os-ss harmonic 81.743 110.970 # SOURCE3 1 + angle_coeff @angle:nd-os-nd harmonic 106.078 112.750 # SOURCE2_SOURCE5 12 0.7540 + angle_coeff @angle:nd-os-ss harmonic 81.743 110.970 # SOURCE3 1 + angle_coeff @angle:nh-os-nh harmonic 107.169 108.290 # SOURCE3 1 + angle_coeff @angle:n-os-n harmonic 107.646 108.310 # SOURCE3 1 + angle_coeff @angle:no-os-no harmonic 105.015 111.860 # SOURCE3 1 + angle_coeff @angle:n-os-s6 harmonic 83.504 113.630 # SOURCE4_SOURCE5 13 0.1799 + angle_coeff @angle:o-os-o harmonic 97.999 114.680 # SOURCE3 1 + angle_coeff @angle:p2-os-p2 harmonic 112.427 120.020 # SOURCE3 1 + angle_coeff @angle:p2-os-p5 harmonic 117.003 107.860 # SOURCE3 1 + angle_coeff @angle:p3-os-p3 harmonic 105.094 121.220 # SOURCE3 1 + angle_coeff @angle:p3-os-py harmonic 114.455 105.580 # SOURCE3 1 + angle_coeff @angle:p5-os-p5 harmonic 106.787 126.250 # SOURCE3 1 + angle_coeff @angle:s4-os-s4 harmonic 65.797 111.630 # SOURCE3 1 + angle_coeff @angle:s6-os-s6 harmonic 66.445 119.070 # SOURCE3 2 0.4318 + angle_coeff @angle:sh-os-sh harmonic 64.549 118.950 # SOURCE3 1 + angle_coeff @angle:s-os-s harmonic 60.143 118.080 # SOURCE3 1 + angle_coeff @angle:ss-os-ss harmonic 64.198 115.640 # SOURCE3 1 + angle_coeff @angle:br-p2-br harmonic 50.367 108.600 # SOURCE3 1 + angle_coeff @angle:br-p2-c2 harmonic 49.320 102.320 # SOURCE3 2 0.0146 + angle_coeff @angle:br-p2-n2 harmonic 61.779 103.330 # SOURCE3 1 + angle_coeff @angle:br-p2-o harmonic 59.925 110.870 # SOURCE3 1 + angle_coeff @angle:br-p2-p2 harmonic 63.559 115.460 # SOURCE3 4 7.8622 + angle_coeff @angle:br-p2-s harmonic 50.714 110.520 # SOURCE3 1 + angle_coeff @angle:c1-p2-c1 harmonic 49.523 99.040 # SOURCE3 1 + angle_coeff @angle:c1-p2-c2 harmonic 50.326 101.290 # SOURCE3 1 + angle_coeff @angle:c1-p2-n2 harmonic 63.856 101.790 # SOURCE3 1 + angle_coeff @angle:c1-p2-o harmonic 63.431 107.620 # SOURCE3 1 + angle_coeff @angle:c1-p2-p2 harmonic 68.223 99.540 # SOURCE3 1 + angle_coeff @angle:c1-p2-s harmonic 51.746 105.900 # SOURCE3 1 + angle_coeff @angle:c2-p2-c2 harmonic 51.141 104.500 # SOURCE3 1 + angle_coeff @angle:c2-p2-c3 harmonic 48.776 101.900 # SOURCE3 4 0.1132 + angle_coeff @angle:c2-p2-ca harmonic 49.013 101.950 # SOURCE3 1 + angle_coeff @angle:c2-p2-cl harmonic 54.318 102.720 # SOURCE3 2 + angle_coeff @angle:c2-p2-f harmonic 67.755 103.470 # SOURCE3 2 0.0136 + angle_coeff @angle:c2-p2-hp harmonic 37.280 97.190 # SOURCE3 3 0.0216 + angle_coeff @angle:c2-p2-i harmonic 44.010 101.940 # SOURCE3 2 0.0368 + angle_coeff @angle:c2-p2-n2 harmonic 66.728 99.880 # SOURCE3 1 + angle_coeff @angle:c2-p2-n3 harmonic 64.858 101.800 # SOURCE3 1 + angle_coeff @angle:c2-p2-n4 harmonic 60.347 98.260 # SOURCE3 6 0.1522 + angle_coeff @angle:c2-p2-n harmonic 63.154 103.280 # SOURCE3 4 3.3113 + angle_coeff @angle:c2-p2-na harmonic 62.619 103.990 # SOURCE3 8 1.6834 + angle_coeff @angle:c2-p2-nh harmonic 63.638 105.170 # SOURCE3 8 0.8263 + angle_coeff @angle:c2-p2-no harmonic 64.740 97.970 # SOURCE3 3 0.4175 + angle_coeff @angle:c2-p2-o harmonic 63.763 115.160 # SOURCE3 1 + angle_coeff @angle:c2-p2-oh harmonic 65.278 102.890 # SOURCE3 3 0.8191 + angle_coeff @angle:c2-p2-os harmonic 66.578 102.120 # SOURCE3 4 0.8783 + angle_coeff @angle:c2-p2-p2 harmonic 70.059 99.560 # SOURCE3 1 + angle_coeff @angle:c2-p2-p3 harmonic 61.583 99.270 # SOURCE3 4 1.1590 + angle_coeff @angle:c2-p2-p4 harmonic 61.685 96.940 # SOURCE3 1 + angle_coeff @angle:c2-p2-p5 harmonic 61.450 97.610 # SOURCE3 1 + angle_coeff @angle:c2-p2-s4 harmonic 48.314 95.150 # SOURCE3 1 + angle_coeff @angle:c2-p2-s6 harmonic 48.407 95.510 # SOURCE3 1 + angle_coeff @angle:c2-p2-s harmonic 53.268 105.530 # SOURCE3 1 + angle_coeff @angle:c2-p2-sh harmonic 50.735 101.490 # SOURCE3 3 0.0057 + angle_coeff @angle:c2-p2-ss harmonic 50.746 101.810 # SOURCE3 4 0.5883 + angle_coeff @angle:c3-p2-c3 harmonic 47.191 99.300 # SOURCE3 1 + angle_coeff @angle:c3-p2-n2 harmonic 62.233 100.820 # SOURCE3 1 + angle_coeff @angle:c3-p2-o harmonic 61.561 106.720 # SOURCE3 1 + angle_coeff @angle:c3-p2-os harmonic 62.459 101.340 # SOURCE3 1 + angle_coeff @angle:c3-p2-p2 harmonic 66.273 100.480 # SOURCE3 1 + angle_coeff @angle:c3-p2-s harmonic 50.533 105.680 # SOURCE3 1 + angle_coeff @angle:ca-p2-ca harmonic 47.481 99.700 # SOURCE3 1 + angle_coeff @angle:ca-p2-n2 harmonic 62.575 100.820 # SOURCE3 1 + angle_coeff @angle:ca-p2-n harmonic 64.349 89.970 # SOURCE3 1 + angle_coeff @angle:ca-p2-na harmonic 64.367 89.210 # SOURCE3 1 + angle_coeff @angle:ca-p2-o harmonic 61.891 106.880 # SOURCE3 1 + angle_coeff @angle:ca-p2-s harmonic 50.228 107.930 # SOURCE3 1 + angle_coeff @angle:c-p2-c2 harmonic 49.148 97.300 # SOURCE3 1 + angle_coeff @angle:c-p2-c harmonic 48.369 90.100 # SOURCE3 1 + angle_coeff @angle:ce-p2-o harmonic 62.381 107.440 # SOURCE3 1 + angle_coeff @angle:ce-p2-s harmonic 51.184 105.540 # SOURCE3 1 + angle_coeff @angle:cf-p2-o harmonic 62.381 107.440 # SOURCE3 1 + angle_coeff @angle:cf-p2-s harmonic 51.184 105.540 # SOURCE3 1 + angle_coeff @angle:cl-p2-cl harmonic 58.906 108.700 # SOURCE3 1 + angle_coeff @angle:cl-p2-n2 harmonic 68.360 103.380 # SOURCE3 1 + angle_coeff @angle:cl-p2-o harmonic 66.726 110.570 # SOURCE3 1 + angle_coeff @angle:cl-p2-p2 harmonic 73.823 103.110 # SOURCE3 1 + angle_coeff @angle:cl-p2-s harmonic 55.803 110.110 # SOURCE3 1 + angle_coeff @angle:f-p2-f harmonic 88.550 107.100 # SOURCE3 1 + angle_coeff @angle:f-p2-n2 harmonic 86.735 103.570 # SOURCE3 1 + angle_coeff @angle:f-p2-o harmonic 86.673 110.610 # SOURCE3 1 + angle_coeff @angle:f-p2-p2 harmonic 89.962 103.480 # SOURCE3 1 + angle_coeff @angle:f-p2-s harmonic 66.939 114.710 # SOURCE3 2 5.2794 + angle_coeff @angle:hp-p2-hp harmonic 27.644 98.760 # SOURCE3 1 + angle_coeff @angle:hp-p2-n1 harmonic 46.969 95.180 # SOURCE3 2 1.5708 + angle_coeff @angle:hp-p2-n2 harmonic 48.480 95.540 # SOURCE3 19 4.7352 + angle_coeff @angle:hp-p2-ne harmonic 48.264 100.100 # SOURCE3 14 6.1290 + angle_coeff @angle:hp-p2-nf harmonic 48.264 100.100 # SOURCE3 14 + angle_coeff @angle:hp-p2-o harmonic 48.141 105.580 # SOURCE3 1 + angle_coeff @angle:hp-p2-p2 harmonic 47.796 101.880 # SOURCE3 27 12.9535 + angle_coeff @angle:hp-p2-p4 harmonic 40.954 94.510 # SOURCE3 1 + angle_coeff @angle:hp-p2-p5 harmonic 42.165 89.070 # SOURCE3 1 + angle_coeff @angle:hp-p2-pe harmonic 47.048 97.250 # SOURCE3 16 8.8916 + angle_coeff @angle:hp-p2-pf harmonic 47.048 97.250 # SOURCE3 16 + angle_coeff @angle:hp-p2-s4 harmonic 32.527 89.990 # SOURCE3 1 + angle_coeff @angle:hp-p2-s harmonic 37.377 102.520 # SOURCE3 1 + angle_coeff @angle:hp-p2-s6 harmonic 33.031 88.130 # SOURCE3 1 + angle_coeff @angle:i-p2-i harmonic 47.836 104.160 # SOURCE3 1 + angle_coeff @angle:i-p2-n2 harmonic 55.025 101.770 # SOURCE3 1 + angle_coeff @angle:i-p2-o harmonic 52.674 109.510 # SOURCE3 1 + angle_coeff @angle:i-p2-p2 harmonic 60.877 102.630 # SOURCE3 1 + angle_coeff @angle:i-p2-s harmonic 45.705 110.600 # SOURCE3 1 + angle_coeff @angle:n1-p2-n1 harmonic 87.795 86.220 # HF/6-31G* 1 + angle_coeff @angle:n2-p2-n2 harmonic 86.095 98.000 # SOURCE3 1 + angle_coeff @angle:n2-p2-n3 harmonic 83.297 100.420 # SOURCE3 1 + angle_coeff @angle:n2-p2-n4 harmonic 78.374 93.420 # SOURCE3 1 + angle_coeff @angle:n2-p2-na harmonic 80.458 102.030 # SOURCE3 1 + angle_coeff @angle:n2-p2-nh harmonic 82.457 101.870 # SOURCE3 2 0.8491 + angle_coeff @angle:n2-p2-no harmonic 82.358 98.120 # SOURCE3 1 + angle_coeff @angle:n2-p2-o harmonic 81.674 115.340 # SOURCE3 1 + angle_coeff @angle:n2-p2-oh harmonic 80.728 109.720 # SOURCE3 1 + angle_coeff @angle:n2-p2-os harmonic 85.101 102.290 # SOURCE3 1 + angle_coeff @angle:n2-p2-p3 harmonic 77.520 99.510 # SOURCE3 1 + angle_coeff @angle:n2-p2-p4 harmonic 75.847 101.730 # SOURCE3 1 + angle_coeff @angle:n2-p2-p5 harmonic 79.007 93.680 # SOURCE3 1 + angle_coeff @angle:n2-p2-s4 harmonic 60.003 97.830 # SOURCE3 1 + angle_coeff @angle:n2-p2-s6 harmonic 60.149 98.140 # SOURCE3 1 + angle_coeff @angle:n2-p2-s harmonic 65.491 112.940 # SOURCE3 1 + angle_coeff @angle:n2-p2-sh harmonic 64.416 100.820 # SOURCE3 1 + angle_coeff @angle:n2-p2-ss harmonic 64.240 101.760 # SOURCE3 1 + angle_coeff @angle:n3-p2-n3 harmonic 79.448 106.300 # SOURCE3 1 + angle_coeff @angle:n3-p2-o harmonic 82.859 106.830 # SOURCE3 1 + angle_coeff @angle:n3-p2-p2 harmonic 87.256 100.580 # SOURCE3 1 + angle_coeff @angle:n3-p2-s harmonic 66.611 105.750 # SOURCE3 1 + angle_coeff @angle:n4-p2-n4 harmonic 74.750 88.800 # SOURCE3 1 + angle_coeff @angle:n4-p2-o harmonic 76.313 101.360 # SOURCE3 1 + angle_coeff @angle:n4-p2-p2 harmonic 82.466 96.530 # SOURCE3 1 + angle_coeff @angle:n4-p2-s harmonic 61.808 104.980 # SOURCE3 1 + angle_coeff @angle:na-p2-na harmonic 75.931 106.100 # SOURCE3 1 + angle_coeff @angle:na-p2-o harmonic 80.149 107.460 # SOURCE3 1 + angle_coeff @angle:na-p2-s harmonic 64.498 108.150 # SOURCE3 1 + angle_coeff @angle:ne-p2-o harmonic 85.784 107.710 # SOURCE3 1 + angle_coeff @angle:ne-p2-s harmonic 68.411 105.500 # SOURCE3 1 + angle_coeff @angle:nf-p2-o harmonic 85.784 107.710 # SOURCE3 1 + angle_coeff @angle:nf-p2-s harmonic 68.411 105.500 # SOURCE3 1 + angle_coeff @angle:nh-p2-nh harmonic 79.891 104.000 # SOURCE3 1 + angle_coeff @angle:nh-p2-o harmonic 82.088 108.110 # SOURCE3 2 0.6773 + angle_coeff @angle:nh-p2-p2 harmonic 84.120 107.730 # SOURCE3 3 3.1678 + angle_coeff @angle:nh-p2-s harmonic 65.274 109.620 # SOURCE3 2 1.7725 + angle_coeff @angle:n-p2-n2 harmonic 82.195 98.850 # SOURCE3 1 + angle_coeff @angle:n-p2-o harmonic 81.559 105.080 # SOURCE3 1 + angle_coeff @angle:no-p2-no harmonic 79.425 98.200 # SOURCE3 1 + angle_coeff @angle:no-p2-o harmonic 81.482 104.870 # SOURCE3 1 + angle_coeff @angle:no-p2-p2 harmonic 82.518 108.570 # SOURCE3 3 8.2121 + angle_coeff @angle:no-p2-s harmonic 64.423 109.060 # SOURCE3 2 5.4074 + angle_coeff @angle:n-p2-p2 harmonic 85.198 102.120 # SOURCE3 1 + angle_coeff @angle:n-p2-s harmonic 63.562 112.340 # SOURCE3 1 + angle_coeff @angle:oh-p2-oh harmonic 83.880 100.100 # SOURCE3 1 + angle_coeff @angle:oh-p2-p2 harmonic 85.099 107.820 # SOURCE3 2 2.6708 + angle_coeff @angle:oh-p2-s harmonic 66.041 109.750 # SOURCE3 1 + angle_coeff @angle:o-p2-o harmonic 82.822 119.960 # SOURCE3 1 + angle_coeff @angle:o-p2-oh harmonic 82.704 110.460 # SOURCE3 1 + angle_coeff @angle:o-p2-os harmonic 85.052 108.810 # SOURCE3 1 + angle_coeff @angle:o-p2-p2 harmonic 84.879 114.230 # SOURCE3 1 + angle_coeff @angle:o-p2-p3 harmonic 75.364 106.690 # SOURCE3 1 + angle_coeff @angle:o-p2-p4 harmonic 75.313 104.370 # SOURCE3 1 + angle_coeff @angle:o-p2-p5 harmonic 75.237 104.490 # SOURCE3 1 + angle_coeff @angle:o-p2-pe harmonic 72.675 145.960 # SOURCE3 1 + angle_coeff @angle:o-p2-pf harmonic 72.675 145.960 # SOURCE3 1 + angle_coeff @angle:o-p2-s4 harmonic 57.795 106.590 # SOURCE3 1 + angle_coeff @angle:o-p2-s6 harmonic 58.473 105.040 # SOURCE3 1 + angle_coeff @angle:o-p2-s harmonic 65.598 117.420 # SOURCE3 1 + angle_coeff @angle:o-p2-sh harmonic 62.592 109.600 # SOURCE3 1 + angle_coeff @angle:os-p2-os harmonic 87.712 98.300 # SOURCE3 1 + angle_coeff @angle:os-p2-p2 harmonic 88.869 101.460 # SOURCE3 1 + angle_coeff @angle:o-p2-ss harmonic 62.723 109.600 # SOURCE3 1 + angle_coeff @angle:os-p2-s harmonic 67.319 108.470 # SOURCE3 3 1.7065 + angle_coeff @angle:p2-p2-n2 harmonic 90.057 97.400 # SOURCE3 1 + angle_coeff @angle:p2-p2-p3 harmonic 83.101 101.730 # SOURCE3 1 + angle_coeff @angle:p2-p2-p4 harmonic 82.238 101.980 # SOURCE3 1 + angle_coeff @angle:p2-p2-p5 harmonic 83.299 99.330 # SOURCE3 1 + angle_coeff @angle:p2-p2-s4 harmonic 65.891 95.730 # SOURCE3 1 + angle_coeff @angle:p2-p2-s6 harmonic 66.042 95.950 # SOURCE3 1 + angle_coeff @angle:p2-p2-s harmonic 69.717 111.280 # SOURCE3 1 + angle_coeff @angle:p2-p2-sh harmonic 64.935 113.940 # SOURCE3 3 8.5009 + angle_coeff @angle:p3-p2-p3 harmonic 77.638 101.000 # SOURCE3 1 + angle_coeff @angle:p3-p2-s harmonic 61.492 113.280 # SOURCE3 2 6.7035 + angle_coeff @angle:p4-p2-s harmonic 63.615 103.890 # SOURCE3 1 + angle_coeff @angle:p5-p2-p5 harmonic 81.461 89.400 # SOURCE3 1 + angle_coeff @angle:p5-p2-s harmonic 64.429 101.210 # SOURCE3 1 + angle_coeff @angle:pe-p2-s harmonic 69.635 106.350 # SOURCE3 1 + angle_coeff @angle:pf-p2-s harmonic 69.635 106.350 # SOURCE3 1 + angle_coeff @angle:s4-p2-s4 harmonic 50.406 85.300 # SOURCE3 1 + angle_coeff @angle:s6-p2-s6 harmonic 47.194 98.200 # SOURCE3 1 + angle_coeff @angle:sh-p2-sh harmonic 52.119 98.500 # SOURCE3 1 + angle_coeff @angle:s-p2-s harmonic 55.726 106.600 # SOURCE3 1 + angle_coeff @angle:s-p2-s4 harmonic 49.051 105.290 # SOURCE3 1 + angle_coeff @angle:s-p2-s6 harmonic 48.843 106.930 # SOURCE3 1 + angle_coeff @angle:s-p2-sh harmonic 51.478 110.730 # SOURCE3 2 0.0232 + angle_coeff @angle:s-p2-ss harmonic 50.784 114.140 # SOURCE3 4 5.9223 + angle_coeff @angle:ss-p2-ss harmonic 52.411 97.900 # SOURCE3 1 + angle_coeff @angle:br-p3-br harmonic 51.098 103.540 # SOURCE3 1 + angle_coeff @angle:br-p3-hp harmonic 32.984 96.360 # SOURCE3 4 0.6701 + angle_coeff @angle:c1-p3-c1 harmonic 48.612 100.500 # SOURCE3 1 + angle_coeff @angle:c1-p3-f harmonic 66.318 96.900 # SOURCE2 1 + angle_coeff @angle:c1-p3-hp harmonic 34.779 97.670 # SOURCE3 2 + angle_coeff @angle:c2-p3-c2 harmonic 47.149 101.770 # SOURCE3 3 + angle_coeff @angle:c2-p3-hp harmonic 34.073 97.850 # SOURCE3 4 + angle_coeff @angle:c3-p3-c3 harmonic 47.098 99.350 # SOURCE3_SOURCE5 108 0.9814 + angle_coeff @angle:c3-p3-ca harmonic 46.899 101.940 # SOURCE3 2 + angle_coeff @angle:c3-p3-cl harmonic 54.343 99.890 # SOURCE3 1 + angle_coeff @angle:c3-p3-f harmonic 64.355 97.800 # SOURCE2 1 + angle_coeff @angle:c3-p3-hp harmonic 33.769 97.480 # SOURCE3_SOURCE5 20 0.3444 + angle_coeff @angle:c3-p3-n2 harmonic 61.301 96.550 # SOURCE3 2 + angle_coeff @angle:c3-p3-n3 harmonic 60.308 101.410 # SOURCE3_SOURCE5 22 1.5604 + angle_coeff @angle:c3-p3-n4 harmonic 59.355 96.940 # SOURCE3 6 0.4815 + angle_coeff @angle:c3-p3-n harmonic 59.620 101.770 # SOURCE3 12 2.4449 + angle_coeff @angle:c3-p3-na harmonic 60.213 100.170 # SOURCE3 4 0.0554 + angle_coeff @angle:c3-p3-nh harmonic 59.410 104.500 # SOURCE3 2 + angle_coeff @angle:c3-p3-no harmonic 59.922 96.980 # SOURCE3 2 + angle_coeff @angle:c3-p3-o harmonic 60.035 111.670 # SOURCE3 28 5.3387 + angle_coeff @angle:c3-p3-oh harmonic 62.034 98.210 # SOURCE3 2 + angle_coeff @angle:c3-p3-os harmonic 61.657 99.530 # SOURCE3 3 1.7678 + angle_coeff @angle:c3-p3-p3 harmonic 58.575 99.880 # SOURCE3_SOURCE5 26 1.6230 + angle_coeff @angle:c3-p3-p5 harmonic 58.297 100.900 # SOURCE3 10 2.7070 + angle_coeff @angle:c3-p3-s4 harmonic 47.756 98.880 # SOURCE3 8 6.2235 + angle_coeff @angle:c3-p3-s6 harmonic 47.355 101.180 # SOURCE3 12 6.4536 + angle_coeff @angle:c3-p3-sh harmonic 47.131 98.710 # SOURCE3 2 + angle_coeff @angle:c3-p3-ss harmonic 47.137 99.370 # SOURCE3 2 + angle_coeff @angle:ca-p3-ca harmonic 47.814 99.860 # SOURCE3 1 + angle_coeff @angle:ca-p3-hp harmonic 34.261 97.500 # SOURCE3 2 + angle_coeff @angle:c-p3-c3 harmonic 47.331 97.060 # SOURCE3 3 1.1490 + angle_coeff @angle:c-p3-c harmonic 46.120 100.900 # SOURCE3 1 + angle_coeff @angle:c-p3-hp harmonic 33.554 96.550 # SOURCE3 6 0.5223 + angle_coeff @angle:cl-p3-cl harmonic 62.437 102.820 # SOURCE3 1 + angle_coeff @angle:cl-p3-f harmonic 72.784 99.200 # SOURCE2 1 + angle_coeff @angle:cl-p3-hp harmonic 38.308 96.300 # SOURCE3 3 0.6203 + angle_coeff @angle:c-p3-os harmonic 67.637 81.320 # SOURCE3 1 + angle_coeff @angle:cx-p3-hp harmonic 34.036 95.200 # SOURCE2 1 + angle_coeff @angle:f-p3-f harmonic 90.383 97.400 # SOURCE2 8 1.6636 + angle_coeff @angle:f-p3-hp harmonic 48.664 96.410 # SOURCE3 2 + angle_coeff @angle:f-p3-n3 harmonic 83.292 100.600 # SOURCE2 1 + angle_coeff @angle:f-p3-os harmonic 85.509 99.230 # SOURCE2_SOURCE5 5 0.5316 + angle_coeff @angle:f-p3-p3 harmonic 77.745 97.200 # SOURCE2 1 + angle_coeff @angle:hp-p3-hp harmonic 26.638 95.220 # SOURCE3_SOURCE5 51 2.1059 + angle_coeff @angle:hp-p3-i harmonic 29.813 96.190 # SOURCE3 4 0.6454 + angle_coeff @angle:hp-p3-n1 harmonic 47.221 92.980 # HF/6-31G* 1 + angle_coeff @angle:hp-p3-n2 harmonic 43.917 98.280 # SOURCE3 10 1.8860 + angle_coeff @angle:hp-p3-n3 harmonic 45.466 94.460 # SOURCE3 2 + angle_coeff @angle:hp-p3-n4 harmonic 42.822 93.210 # SOURCE3 2 + angle_coeff @angle:hp-p3-n harmonic 44.516 95.150 # SOURCE3 2 + angle_coeff @angle:hp-p3-na harmonic 44.183 97.270 # SOURCE3 12 0.9318 + angle_coeff @angle:hp-p3-nh harmonic 45.553 94.100 # SOURCE3 2 + angle_coeff @angle:hp-p3-no harmonic 43.557 93.060 # SOURCE3 2 + angle_coeff @angle:hp-p3-o harmonic 48.052 101.020 # SOURCE3 2 + angle_coeff @angle:hp-p3-oh harmonic 46.151 95.950 # SOURCE3 2 + angle_coeff @angle:hp-p3-os harmonic 45.868 97.350 # SOURCE3 6 2.8326 + angle_coeff @angle:hp-p3-p2 harmonic 40.595 99.110 # SOURCE3 16 4.3022 + angle_coeff @angle:hp-p3-p3 harmonic 40.175 95.520 # SOURCE3 4 0.0844 + angle_coeff @angle:hp-p3-p4 harmonic 40.047 95.950 # SOURCE3 6 0.0489 + angle_coeff @angle:hp-p3-p5 harmonic 40.189 95.540 # SOURCE3 2 + angle_coeff @angle:hp-p3-s4 harmonic 33.215 95.490 # SOURCE3 2 + angle_coeff @angle:hp-p3-s6 harmonic 33.822 92.950 # SOURCE3 2 + angle_coeff @angle:hp-p3-sh harmonic 32.748 94.210 # SOURCE3 2 + angle_coeff @angle:hp-p3-ss harmonic 32.846 94.610 # SOURCE3 2 + angle_coeff @angle:i-p3-i harmonic 49.016 105.250 # SOURCE3 1 + angle_coeff @angle:n1-p3-n1 harmonic 86.652 90.440 # HF/6-31G* 1 + angle_coeff @angle:n2-p3-n2 harmonic 76.240 103.460 # SOURCE3 1 + angle_coeff @angle:n3-p3-n3 harmonic 74.122 113.800 # SOURCE3 1 + angle_coeff @angle:n3-p3-o harmonic 80.756 107.100 # SOURCE3 4 + angle_coeff @angle:n3-p3-oh harmonic 80.929 98.360 # SOURCE3 1 + angle_coeff @angle:n4-p3-n4 harmonic 72.570 100.530 # SOURCE3 1 + angle_coeff @angle:na-p3-na harmonic 75.328 106.220 # SOURCE3 1 + angle_coeff @angle:nh-p3-nh harmonic 75.698 109.110 # SOURCE3 1 + angle_coeff @angle:n-p3-n harmonic 75.573 104.580 # SOURCE3 1 + angle_coeff @angle:n-p3-o harmonic 80.307 104.990 # SOURCE3 4 + angle_coeff @angle:no-p3-no harmonic 74.810 98.330 # SOURCE3 1 + angle_coeff @angle:oh-p3-oh harmonic 79.802 104.480 # SOURCE3 1 + angle_coeff @angle:o-p3-o harmonic 81.687 122.180 # SOURCE3 2 7.8556 + angle_coeff @angle:o-p3-p3 harmonic 70.126 116.740 # SOURCE3 14 0.7525 + angle_coeff @angle:o-p3-p5 harmonic 73.068 107.620 # SOURCE3 4 + angle_coeff @angle:o-p3-s4 harmonic 59.257 110.700 # SOURCE3 4 0.7259 + angle_coeff @angle:o-p3-s6 harmonic 60.626 106.660 # SOURCE3 6 3.4017 + angle_coeff @angle:os-p3-os harmonic 81.795 99.760 # SOURCE3_SOURCE5 8 1.2613 + angle_coeff @angle:p2-p3-p2 harmonic 76.665 103.580 # SOURCE3 1 + angle_coeff @angle:p3-p3-p3 harmonic 73.903 105.310 # SOURCE3 4 3.5864 + angle_coeff @angle:p4-p3-p4 harmonic 76.119 99.090 # SOURCE3 1 + angle_coeff @angle:p5-p3-p5 harmonic 76.218 99.100 # SOURCE3 1 + angle_coeff @angle:s4-p3-s4 harmonic 49.282 98.260 # SOURCE3 1 + angle_coeff @angle:s6-p3-s6 harmonic 49.641 97.780 # SOURCE3 1 + angle_coeff @angle:sh-p3-sh harmonic 46.105 107.580 # SOURCE3 1 + angle_coeff @angle:s-p3-s harmonic 42.980 131.320 # SOURCE3 1 + angle_coeff @angle:ss-p3-ss harmonic 45.990 109.240 # SOURCE3 1 + angle_coeff @angle:br-p4-br harmonic 50.850 110.410 # SOURCE3 1 + angle_coeff @angle:br-p4-o harmonic 57.453 124.800 # SOURCE3 1 + angle_coeff @angle:c2-p4-c2 harmonic 46.901 104.210 # SOURCE3 1 + angle_coeff @angle:c2-p4-hp harmonic 34.221 99.500 # SOURCE3 2 + angle_coeff @angle:c2-p4-o harmonic 60.517 113.590 # SOURCE3 1 + angle_coeff @angle:c3-p4-c3 harmonic 46.849 102.550 # SOURCE3 4 0.0192 + angle_coeff @angle:c3-p4-n2 harmonic 60.249 103.170 # SOURCE3 1 + angle_coeff @angle:c3-p4-n3 harmonic 60.876 102.370 # SOURCE3 1 + angle_coeff @angle:c3-p4-n4 harmonic 57.893 99.570 # SOURCE3 1 + angle_coeff @angle:c3-p4-n harmonic 60.075 103.260 # SOURCE3 1 + angle_coeff @angle:c3-p4-na harmonic 58.423 117.670 # SOURCE3 5 19.0404 + angle_coeff @angle:c3-p4-nh harmonic 60.622 102.790 # SOURCE3 1 + angle_coeff @angle:c3-p4-no harmonic 58.960 99.800 # SOURCE3 3 0.2151 + angle_coeff @angle:c3-p4-o harmonic 59.565 115.670 # SOURCE3_SOURCE5 41 1.9882 + angle_coeff @angle:c3-p4-oh harmonic 62.836 98.560 # SOURCE3 2 0.4558 + angle_coeff @angle:c3-p4-os harmonic 63.080 98.010 # SOURCE3 2 0.0931 + angle_coeff @angle:c3-p4-p2 harmonic 56.813 109.270 # SOURCE3 1 + angle_coeff @angle:c3-p4-p3 harmonic 57.663 103.530 # SOURCE3 1 + angle_coeff @angle:c3-p4-p4 harmonic 61.536 102.120 # SOURCE3 1 + angle_coeff @angle:c3-p4-p5 harmonic 57.093 104.150 # SOURCE3 1 + angle_coeff @angle:c3-p4-sh harmonic 47.201 100.170 # SOURCE3 2 0.0815 + angle_coeff @angle:c3-p4-ss harmonic 47.127 101.190 # SOURCE3 1 + angle_coeff @angle:ca-p4-ca harmonic 46.528 107.770 # SOURCE3 1 + angle_coeff @angle:ca-p4-o harmonic 61.439 111.640 # SOURCE3 1 + angle_coeff @angle:cl-p4-cl harmonic 62.229 103.510 # SOURCE3 1 + angle_coeff @angle:cl-p4-o harmonic 66.762 116.530 # SOURCE3 2 + angle_coeff @angle:hp-p4-hp harmonic 27.316 99.210 # SOURCE3 4 6.4572 + angle_coeff @angle:hp-p4-n1 harmonic 45.702 99.910 # HF/6-31G* 1 + angle_coeff @angle:hp-p4-o harmonic 47.223 109.350 # SOURCE3 6 10.8284 + angle_coeff @angle:hp-p4-p3 harmonic 39.333 98.960 # SOURCE3 4 + angle_coeff @angle:hp-p4-s harmonic 30.046 110.240 # SOURCE3 4 4.1081 + angle_coeff @angle:i-p4-i harmonic 51.559 113.220 # SOURCE3 2 6.7916 + angle_coeff @angle:i-p4-o harmonic 59.585 110.220 # SOURCE3 4 9.7726 + angle_coeff @angle:n1-p4-n1 harmonic 81.177 100.610 # HF/6-31G* 1 + angle_coeff @angle:n1-p4-o harmonic 79.782 114.590 # HF/6-31G* 1 + angle_coeff @angle:n2-p4-n2 harmonic 78.358 102.540 # SOURCE3 1 + angle_coeff @angle:n2-p4-o harmonic 76.567 120.280 # SOURCE3 1 + angle_coeff @angle:n3-p4-o harmonic 79.727 113.270 # SOURCE3 1 + angle_coeff @angle:n4-p4-o harmonic 74.226 107.610 # SOURCE3 1 + angle_coeff @angle:na-p4-o harmonic 84.731 110.600 # SOURCE3 5 1.3133 + angle_coeff @angle:nh-p4-nh harmonic 82.137 95.300 # SOURCE3 1 + angle_coeff @angle:nh-p4-o harmonic 78.559 115.860 # SOURCE3 3 3.2712 + angle_coeff @angle:n-p4-o harmonic 77.006 117.990 # SOURCE3 1 + angle_coeff @angle:no-p4-o harmonic 73.956 114.690 # SOURCE3 3 0.1070 + angle_coeff @angle:oh-p4-oh harmonic 85.208 95.710 # SOURCE3 1 + angle_coeff @angle:o-p4-o harmonic 84.013 117.220 # SOURCE3 6 2.7792 + angle_coeff @angle:o-p4-oh harmonic 79.987 117.390 # SOURCE3 4 1.0083 + angle_coeff @angle:o-p4-os harmonic 80.383 116.670 # SOURCE3 4 0.6923 + angle_coeff @angle:o-p4-p2 harmonic 69.856 121.350 # SOURCE3 1 + angle_coeff @angle:o-p4-p3 harmonic 70.923 114.000 # SOURCE3 3 0.6663 + angle_coeff @angle:o-p4-p4 harmonic 75.914 116.430 # SOURCE3 1 + angle_coeff @angle:o-p4-p5 harmonic 71.622 109.760 # SOURCE3 1 + angle_coeff @angle:o-p4-s4 harmonic 54.866 112.190 # SOURCE3 1 + angle_coeff @angle:o-p4-s6 harmonic 54.029 113.890 # SOURCE3 1 + angle_coeff @angle:o-p4-s harmonic 57.277 112.780 # SOURCE3 2 + angle_coeff @angle:o-p4-sh harmonic 56.730 118.090 # SOURCE3 1 + angle_coeff @angle:os-p4-os harmonic 83.473 100.340 # SOURCE3 1 + angle_coeff @angle:o-p4-ss harmonic 57.476 116.140 # SOURCE3 4 1.0636 + angle_coeff @angle:p2-p4-p2 harmonic 73.236 110.710 # SOURCE3 1 + angle_coeff @angle:p3-p4-p3 harmonic 70.664 114.980 # SOURCE3 1 + angle_coeff @angle:p4-p4-p4 harmonic 79.664 107.380 # SOURCE3 1 + angle_coeff @angle:p5-p4-p5 harmonic 72.301 107.780 # SOURCE3 1 + angle_coeff @angle:s4-p4-s4 harmonic 46.168 96.240 # SOURCE3 1 + angle_coeff @angle:s6-p4-s6 harmonic 44.412 102.360 # SOURCE3 1 + angle_coeff @angle:sh-p4-sh harmonic 48.494 98.810 # SOURCE3 1 + angle_coeff @angle:s-p4-s harmonic 46.079 106.300 # SOURCE3 2 25.0119 + angle_coeff @angle:ss-p4-ss harmonic 47.422 104.410 # SOURCE3 1 + angle_coeff @angle:br-p5-br harmonic 51.952 103.380 # SOURCE3 1 + angle_coeff @angle:br-p5-o harmonic 59.322 114.650 # SOURCE3 3 1.0910 + angle_coeff @angle:br-p5-oh harmonic 62.204 102.920 # SOURCE3 4 0.5468 + angle_coeff @angle:c1-p5-c1 harmonic 49.058 102.890 # SOURCE3 1 + angle_coeff @angle:c1-p5-o harmonic 61.836 115.770 # SOURCE3 2 + angle_coeff @angle:c1-p5-oh harmonic 63.769 102.790 # SOURCE3 2 + angle_coeff @angle:c2-p5-c2 harmonic 45.370 106.560 # SOURCE3 1 + angle_coeff @angle:c2-p5-o harmonic 60.781 109.520 # SOURCE4_SOURCE5 15 2.0293 + angle_coeff @angle:c2-p5-oh harmonic 61.672 101.690 # SOURCE3 1 + angle_coeff @angle:c2-p5-os harmonic 63.109 97.120 # SOURCE3_SOURCE5 6 0.9178 + angle_coeff @angle:c3-p5-c3 harmonic 46.061 106.000 # SOURCE3_SOURCE5 107 1.6965 + angle_coeff @angle:c3-p5-hp harmonic 33.063 103.260 # SOURCE4_SOURCE5 20 1.3795 + angle_coeff @angle:c3-p5-n3 harmonic 60.649 104.400 # SOURCE3_SOURCE5 10 1.8148 + angle_coeff @angle:c3-p5-o harmonic 60.550 112.500 # SOURCE3 23 4.4203 + angle_coeff @angle:c3-p5-oh harmonic 61.886 102.690 # SOURCE3_SOURCE5 389 1.5370 + angle_coeff @angle:c3-p5-os harmonic 62.476 100.770 # SOURCE4 51 2.0928 + angle_coeff @angle:c3-p5-p4 harmonic 56.514 106.270 # SOURCE3 1 + angle_coeff @angle:c3-p5-s harmonic 46.672 114.400 # SOURCE3_SOURCE5 36 1.0844 + angle_coeff @angle:c3-p5-ss harmonic 45.854 105.940 # SOURCE3_SOURCE5 24 1.6358 + angle_coeff @angle:ca-p5-ca harmonic 46.780 107.900 # SOURCE3_SOURCE5 5 0.5519 + angle_coeff @angle:ca-p5-o harmonic 61.263 113.980 # SOURCE3 1 + angle_coeff @angle:ca-p5-oh harmonic 63.154 101.770 # SOURCE3 1 + angle_coeff @angle:ca-p5-os harmonic 62.551 103.750 # SOURCE3 1 + angle_coeff @angle:c-p5-c harmonic 45.421 104.160 # SOURCE3 1 + angle_coeff @angle:cl-p5-cl harmonic 62.172 103.700 # SOURCE2 1 + angle_coeff @angle:cl-p5-o harmonic 68.012 112.650 # SOURCE3_SOURCE5 7 1.0635 + angle_coeff @angle:cl-p5-oh harmonic 70.253 102.440 # SOURCE3 2 + angle_coeff @angle:c-p5-o harmonic 60.972 107.100 # SOURCE4_SOURCE5 37 0.4646 + angle_coeff @angle:c-p5-oh harmonic 61.112 102.120 # SOURCE3 1 + angle_coeff @angle:f-p5-f harmonic 92.407 92.220 # SOURCE2_SOURCE5 19 1.3661 + angle_coeff @angle:f-p5-o harmonic 85.135 112.070 # SOURCE4_SOURCE5 15 0.5195 + angle_coeff @angle:f-p5-oh harmonic 85.837 101.980 # SOURCE3 2 + angle_coeff @angle:f-p5-os harmonic 85.720 102.270 # SOURCE4_SOURCE5 16 1.0230 + angle_coeff @angle:f-p5-s harmonic 61.598 117.400 # SOURCE2 1 + angle_coeff @angle:hp-p5-hp harmonic 25.816 100.550 # SOURCE3_SOURCE5 11 0.5508 + angle_coeff @angle:hp-p5-n1 harmonic 46.858 101.320 # HF/6-31G* 1 + angle_coeff @angle:hp-p5-o harmonic 45.433 115.080 # SOURCE3_SOURCE5 27 1.7749 + angle_coeff @angle:hp-p5-oh harmonic 45.976 101.570 # SOURCE3_SOURCE5 16 1.3736 + angle_coeff @angle:hp-p5-s harmonic 31.882 119.200 # SOURCE2 1 + angle_coeff @angle:i-p5-i harmonic 48.013 107.170 # SOURCE3 1 + angle_coeff @angle:i-p5-o harmonic 52.148 115.930 # SOURCE3 3 0.0415 + angle_coeff @angle:i-p5-oh harmonic 55.980 102.260 # SOURCE3 4 1.9577 + angle_coeff @angle:n1-p5-n1 harmonic 86.407 101.550 # HF/6-31G* 1 + angle_coeff @angle:n1-p5-o harmonic 83.757 113.780 # HF/6-31G* 1 + angle_coeff @angle:n2-p5-n2 harmonic 82.960 106.340 # SOURCE3 1 + angle_coeff @angle:n2-p5-o harmonic 82.994 113.530 # SOURCE3 1 + angle_coeff @angle:n2-p5-oh harmonic 84.118 102.400 # SOURCE3 1 + angle_coeff @angle:n3-p5-n3 harmonic 80.585 103.370 # SOURCE4 47 2.1009 + angle_coeff @angle:n3-p5-nh harmonic 80.369 103.840 # SOURCE4_SOURCE5 11 1.8670 + angle_coeff @angle:n3-p5-o harmonic 80.416 114.640 # SOURCE4 76 2.2728 + angle_coeff @angle:n3-p5-oh harmonic 81.248 104.990 # SOURCE3_SOURCE5 18 0.6974 + angle_coeff @angle:n3-p5-os harmonic 82.342 102.230 # SOURCE4_SOURCE5 90 2.1717 + angle_coeff @angle:n3-p5-s harmonic 60.056 116.560 # SOURCE4_SOURCE5 28 0.9342 + angle_coeff @angle:n4-p5-n4 harmonic 73.942 102.200 # SOURCE3 1 + angle_coeff @angle:n4-p5-o harmonic 77.060 109.780 # SOURCE3 5 2.7519 + angle_coeff @angle:n4-p5-oh harmonic 79.407 98.480 # SOURCE3 6 0.4104 + angle_coeff @angle:n4-p5-os harmonic 81.044 94.550 # SOURCE3 2 + angle_coeff @angle:na-p5-na harmonic 76.550 108.570 # SOURCE3 1 + angle_coeff @angle:na-p5-o harmonic 79.422 113.430 # SOURCE3 11 0.8968 + angle_coeff @angle:na-p5-oh harmonic 81.176 102.070 # SOURCE3 16 1.4144 + angle_coeff @angle:na-p5-os harmonic 80.790 103.060 # SOURCE3 4 0.7463 + angle_coeff @angle:nh-p5-nh harmonic 82.064 99.510 # SOURCE3 1 + angle_coeff @angle:nh-p5-o harmonic 80.296 114.860 # SOURCE3_SOURCE5 11 1.6006 + angle_coeff @angle:nh-p5-oh harmonic 82.027 102.910 # SOURCE3_SOURCE5 6 0.9034 + angle_coeff @angle:nh-p5-os harmonic 81.134 105.200 # SOURCE3_SOURCE5 6 2.0688 + angle_coeff @angle:n-p5-n3 harmonic 79.065 104.310 # SOURCE4_SOURCE5 28 1.2397 + angle_coeff @angle:n-p5-n harmonic 78.462 103.090 # SOURCE3 1 + angle_coeff @angle:n-p5-o harmonic 79.797 112.180 # SOURCE4_SOURCE5 14 1.5068 + angle_coeff @angle:n-p5-oh harmonic 80.973 102.440 # SOURCE3 4 0.0999 + angle_coeff @angle:no-p5-no harmonic 76.253 95.680 # SOURCE3 1 + angle_coeff @angle:no-p5-o harmonic 75.912 112.750 # SOURCE3 4 3.3684 + angle_coeff @angle:no-p5-oh harmonic 78.162 101.350 # SOURCE3 2 + angle_coeff @angle:no-p5-os harmonic 78.031 101.700 # SOURCE3 4 0.0565 + angle_coeff @angle:n-p5-os harmonic 81.763 100.480 # SOURCE3 2 + angle_coeff @angle:oh-p5-oh harmonic 83.590 102.690 # SOURCE3_SOURCE5 359 1.1644 + angle_coeff @angle:oh-p5-os harmonic 83.902 101.940 # SOURCE3_SOURCE5 591 1.1251 + angle_coeff @angle:oh-p5-p2 harmonic 75.094 103.530 # SOURCE3 1 + angle_coeff @angle:oh-p5-p3 harmonic 74.007 103.830 # SOURCE3 13 0.4303 + angle_coeff @angle:oh-p5-p4 harmonic 74.032 101.790 # SOURCE3 1 + angle_coeff @angle:oh-p5-p5 harmonic 80.103 100.450 # SOURCE3 1 + angle_coeff @angle:oh-p5-s4 harmonic 61.903 103.240 # SOURCE3 1 + angle_coeff @angle:oh-p5-s6 harmonic 62.438 101.480 # SOURCE3 1 + angle_coeff @angle:oh-p5-s harmonic 62.070 111.300 # SOURCE3_SOURCE5 8 1.1112 + angle_coeff @angle:oh-p5-sh harmonic 61.449 101.410 # SOURCE3 2 + angle_coeff @angle:oh-p5-ss harmonic 59.814 104.090 # SOURCE3_SOURCE5 23 1.4682 + angle_coeff @angle:o-p5-o harmonic 85.510 115.800 # SOURCE3 17 5.7902 + angle_coeff @angle:o-p5-oh harmonic 81.901 115.210 # SOURCE4_SOURCE5 1716 1.3221 + angle_coeff @angle:o-p5-os harmonic 81.819 115.460 # SOURCE3_SOURCE5 843 2.3835 + angle_coeff @angle:o-p5-p2 harmonic 71.892 114.600 # SOURCE3 1 + angle_coeff @angle:o-p5-p3 harmonic 70.584 115.480 # SOURCE3 9 2.1084 + angle_coeff @angle:o-p5-p4 harmonic 70.090 114.660 # SOURCE3 1 + angle_coeff @angle:o-p5-p5 harmonic 76.354 113.440 # SOURCE3 1 + angle_coeff @angle:o-p5-s4 harmonic 60.725 110.230 # SOURCE3 1 + angle_coeff @angle:o-p5-s6 harmonic 60.311 111.750 # SOURCE3 1 + angle_coeff @angle:o-p5-s harmonic 61.702 116.940 # SOURCE3 3 2.9506 + angle_coeff @angle:o-p5-sh harmonic 58.488 114.560 # SOURCE3 3 1.7645 + angle_coeff @angle:os-p5-os harmonic 83.949 101.840 # SOURCE4_SOURCE5 608 1.9896 + angle_coeff @angle:os-p5-p3 harmonic 74.065 103.670 # SOURCE3 2 + angle_coeff @angle:os-p5-p5 harmonic 78.545 104.480 # SOURCE3 1 + angle_coeff @angle:os-p5-s4 harmonic 62.122 102.520 # SOURCE3 1 + angle_coeff @angle:os-p5-s6 harmonic 62.313 101.890 # SOURCE3 1 + angle_coeff @angle:o-p5-ss harmonic 57.641 114.340 # SOURCE3_SOURCE5 37 1.7416 + angle_coeff @angle:os-p5-s harmonic 60.508 117.130 # SOURCE4_SOURCE5 200 0.8203 + angle_coeff @angle:os-p5-sh harmonic 61.258 102.050 # SOURCE3_SOURCE5 7 0.5915 + angle_coeff @angle:os-p5-ss harmonic 60.283 102.480 # SOURCE4_SOURCE5 70 1.4633 + angle_coeff @angle:p2-p5-p2 harmonic 74.412 107.140 # SOURCE3 1 + angle_coeff @angle:p3-p5-p3 harmonic 73.965 105.230 # SOURCE3 3 5.1024 + angle_coeff @angle:p4-p5-p4 harmonic 74.460 101.620 # SOURCE3 1 + angle_coeff @angle:p5-p5-p5 harmonic 76.997 112.720 # SOURCE3 1 + angle_coeff @angle:s6-p5-s6 harmonic 48.731 105.180 # SOURCE3 1 + angle_coeff @angle:sh-p5-sh harmonic 47.889 104.560 # SOURCE3 1 + angle_coeff @angle:sh-p5-ss harmonic 46.903 107.130 # SOURCE3 1 + angle_coeff @angle:s-p5-s harmonic 49.342 114.130 # SOURCE3 1 + angle_coeff @angle:ss-p5-ss harmonic 45.986 109.610 # SOURCE3 1 + angle_coeff @angle:cd-pc-n harmonic 66.016 90.800 # SOURCE3 3 2.3423 + angle_coeff @angle:cd-pc-na harmonic 66.396 90.180 # SOURCE3 81 2.7619 + angle_coeff @angle:cc-pd-n harmonic 66.016 90.800 # SOURCE3 3 + angle_coeff @angle:cc-pd-na harmonic 66.396 90.180 # SOURCE3 81 + angle_coeff @angle:c2-pe-ca harmonic 49.088 101.440 # SOURCE3 3 0.7177 + angle_coeff @angle:c2-pe-ce harmonic 48.888 103.010 # SOURCE3 4 1.4470 + angle_coeff @angle:c2-pe-cg harmonic 51.641 104.030 # SOURCE3 3 3.8740 + angle_coeff @angle:c2-pe-n2 harmonic 69.448 94.140 # SOURCE3 1 + angle_coeff @angle:c2-pe-ne harmonic 64.662 98.700 # SOURCE3 12 5.3383 + angle_coeff @angle:c2-pe-o harmonic 63.086 115.160 # SOURCE3 2 0.0149 + angle_coeff @angle:c2-pe-p2 harmonic 65.232 107.820 # SOURCE3 1 + angle_coeff @angle:c2-pe-pe harmonic 61.668 102.990 # SOURCE3 9 8.2860 + angle_coeff @angle:c2-pe-px harmonic 65.444 97.370 # SOURCE3 4 0.6655 + angle_coeff @angle:c2-pe-py harmonic 65.200 96.710 # SOURCE3 4 1.2755 + angle_coeff @angle:c2-pe-s harmonic 51.862 111.160 # SOURCE3 2 + angle_coeff @angle:c2-pe-sx harmonic 48.622 95.110 # SOURCE3 4 0.2676 + angle_coeff @angle:c2-pe-sy harmonic 47.698 95.560 # SOURCE3 2 0.0462 + angle_coeff @angle:ca-pe-n2 harmonic 63.263 102.030 # SOURCE3 1 + angle_coeff @angle:ca-pe-o harmonic 62.025 106.880 # SOURCE3 2 0.0018 + angle_coeff @angle:ca-pe-p2 harmonic 65.219 100.790 # SOURCE3 1 + angle_coeff @angle:ca-pe-pf harmonic 61.993 99.700 # SOURCE3 2 + angle_coeff @angle:ca-pe-s harmonic 50.574 107.930 # SOURCE3 1 + angle_coeff @angle:c-pe-c2 harmonic 48.762 97.300 # SOURCE3 3 0.0335 + angle_coeff @angle:ce-pe-n2 harmonic 64.000 100.550 # SOURCE3 1 + angle_coeff @angle:ce-pe-o harmonic 62.134 107.440 # SOURCE3 1 + angle_coeff @angle:ce-pe-p2 harmonic 65.808 99.560 # SOURCE3 1 + angle_coeff @angle:ce-pe-s harmonic 51.312 105.540 # SOURCE3 1 + angle_coeff @angle:cg-pe-n2 harmonic 68.416 101.790 # SOURCE3 1 + angle_coeff @angle:cg-pe-o harmonic 66.891 107.620 # SOURCE3 1 + angle_coeff @angle:cg-pe-p2 harmonic 67.155 104.680 # SOURCE3 2 5.1435 + angle_coeff @angle:cg-pe-s harmonic 53.387 108.600 # SOURCE3 4 2.6981 + angle_coeff @angle:n2-pe-n2 harmonic 85.418 108.140 # SOURCE3 1 + angle_coeff @angle:n2-pe-ne harmonic 80.952 106.800 # SOURCE3 6 4.5981 + angle_coeff @angle:n2-pe-o harmonic 83.198 115.390 # SOURCE3 1 + angle_coeff @angle:n2-pe-p2 harmonic 82.679 111.600 # SOURCE3 1 + angle_coeff @angle:n2-pe-pe harmonic 76.187 109.400 # SOURCE3 1 + angle_coeff @angle:n2-pe-px harmonic 78.660 110.300 # SOURCE3 3 6.0548 + angle_coeff @angle:n2-pe-py harmonic 84.653 93.680 # SOURCE3 1 + angle_coeff @angle:n2-pe-s harmonic 66.247 114.840 # SOURCE3 3 3.6512 + angle_coeff @angle:n2-pe-sx harmonic 60.809 97.830 # SOURCE3 1 + angle_coeff @angle:n2-pe-sy harmonic 59.570 98.140 # SOURCE3 1 + angle_coeff @angle:ne-pe-o harmonic 80.037 110.240 # SOURCE3 3 3.8478 + angle_coeff @angle:ne-pe-p2 harmonic 82.546 104.480 # SOURCE3 2 7.1207 + angle_coeff @angle:ne-pe-s harmonic 65.116 109.190 # SOURCE3 5 3.6708 + angle_coeff @angle:o-pe-o harmonic 82.114 119.960 # SOURCE3 1 + angle_coeff @angle:o-pe-p2 harmonic 81.980 114.230 # SOURCE3 1 + angle_coeff @angle:o-pe-pe harmonic 66.057 145.960 # SOURCE3 1 + angle_coeff @angle:o-pe-px harmonic 81.034 104.370 # SOURCE3 1 + angle_coeff @angle:o-pe-py harmonic 80.312 104.490 # SOURCE3 1 + angle_coeff @angle:o-pe-s harmonic 65.783 117.420 # SOURCE3 2 0.0426 + angle_coeff @angle:o-pe-sx harmonic 58.314 106.590 # SOURCE3 1 + angle_coeff @angle:o-pe-sy harmonic 57.621 105.040 # SOURCE3 1 + angle_coeff @angle:p2-pe-pe harmonic 85.030 98.240 # SOURCE3 1 + angle_coeff @angle:p2-pe-px harmonic 83.137 108.280 # SOURCE3 2 6.2959 + angle_coeff @angle:p2-pe-py harmonic 81.676 110.870 # SOURCE3 3 8.1645 + angle_coeff @angle:p2-pe-s harmonic 68.307 111.280 # SOURCE3 1 + angle_coeff @angle:p2-pe-sx harmonic 65.549 95.730 # SOURCE3 1 + angle_coeff @angle:p2-pe-sy harmonic 64.541 95.950 # SOURCE3 1 + angle_coeff @angle:pe-pe-s harmonic 64.452 107.910 # SOURCE3 2 1.5577 + angle_coeff @angle:px-pe-s harmonic 66.458 107.620 # SOURCE3 2 3.7266 + angle_coeff @angle:py-pe-s harmonic 65.679 108.730 # SOURCE3 3 5.3201 + angle_coeff @angle:s-pe-s harmonic 43.414 178.440 # SOURCE3 1 + angle_coeff @angle:s-pe-sx harmonic 48.826 108.320 # SOURCE3 2 3.0318 + angle_coeff @angle:s-pe-sy harmonic 48.370 106.930 # SOURCE3 1 + angle_coeff @angle:c2-pf-ca harmonic 49.088 101.440 # SOURCE3 3 + angle_coeff @angle:c2-pf-cf harmonic 48.888 103.010 # SOURCE3 4 + angle_coeff @angle:c2-pf-ch harmonic 51.641 104.030 # SOURCE3 3 + angle_coeff @angle:c2-pf-n2 harmonic 69.448 94.140 # SOURCE3 1 + angle_coeff @angle:c2-pf-nf harmonic 64.662 98.700 # SOURCE3 12 + angle_coeff @angle:c2-pf-o harmonic 63.086 115.160 # SOURCE3 2 + angle_coeff @angle:c2-pf-p2 harmonic 65.232 107.820 # SOURCE3 1 + angle_coeff @angle:c2-pf-pf harmonic 61.668 102.990 # SOURCE3 9 + angle_coeff @angle:c2-pf-px harmonic 65.444 97.370 # SOURCE3 4 + angle_coeff @angle:c2-pf-py harmonic 65.200 96.710 # SOURCE3 4 + angle_coeff @angle:c2-pf-s harmonic 51.862 111.160 # SOURCE3 2 + angle_coeff @angle:c2-pf-sx harmonic 48.622 95.110 # SOURCE3 4 + angle_coeff @angle:c2-pf-sy harmonic 47.698 95.560 # SOURCE3 2 + angle_coeff @angle:ca-pf-n2 harmonic 63.263 102.030 # SOURCE3 1 + angle_coeff @angle:ca-pf-o harmonic 62.025 106.880 # SOURCE3 2 + angle_coeff @angle:ca-pf-p2 harmonic 65.219 100.790 # SOURCE3 1 + angle_coeff @angle:ca-pf-pe harmonic 61.993 99.700 # SOURCE3 2 + angle_coeff @angle:ca-pf-s harmonic 50.574 107.930 # SOURCE3 1 + angle_coeff @angle:c-pf-c2 harmonic 48.762 97.300 # SOURCE3 3 + angle_coeff @angle:cf-pf-n2 harmonic 64.000 100.550 # SOURCE3 1 + angle_coeff @angle:cf-pf-o harmonic 62.134 107.440 # SOURCE3 1 + angle_coeff @angle:cf-pf-p2 harmonic 65.808 99.560 # SOURCE3 1 + angle_coeff @angle:cf-pf-s harmonic 51.312 105.540 # SOURCE3 1 + angle_coeff @angle:ch-pf-n2 harmonic 68.416 101.790 # SOURCE3 1 + angle_coeff @angle:ch-pf-o harmonic 66.891 107.620 # SOURCE3 1 + angle_coeff @angle:ch-pf-p2 harmonic 67.155 104.680 # SOURCE3 2 + angle_coeff @angle:ch-pf-s harmonic 53.387 108.600 # SOURCE3 4 + angle_coeff @angle:n2-pf-n2 harmonic 85.418 108.140 # SOURCE3 1 + angle_coeff @angle:n2-pf-nf harmonic 80.952 106.800 # SOURCE3 6 + angle_coeff @angle:n2-pf-o harmonic 83.198 115.390 # SOURCE3 1 + angle_coeff @angle:n2-pf-p2 harmonic 82.679 111.600 # SOURCE3 1 + angle_coeff @angle:n2-pf-pf harmonic 76.187 109.400 # SOURCE3 1 + angle_coeff @angle:n2-pf-px harmonic 78.660 110.300 # SOURCE3 3 + angle_coeff @angle:n2-pf-py harmonic 84.653 93.680 # SOURCE3 1 + angle_coeff @angle:n2-pf-s harmonic 66.247 114.840 # SOURCE3 3 + angle_coeff @angle:n2-pf-sx harmonic 60.809 97.830 # SOURCE3 1 + angle_coeff @angle:n2-pf-sy harmonic 59.570 98.140 # SOURCE3 1 + angle_coeff @angle:nf-pf-o harmonic 80.037 110.240 # SOURCE3 3 + angle_coeff @angle:nf-pf-p2 harmonic 82.546 104.480 # SOURCE3 2 + angle_coeff @angle:nf-pf-s harmonic 65.116 109.190 # SOURCE3 5 + angle_coeff @angle:o-pf-o harmonic 82.114 119.960 # SOURCE3 1 + angle_coeff @angle:o-pf-p2 harmonic 81.980 114.230 # SOURCE3 1 + angle_coeff @angle:o-pf-pf harmonic 66.057 145.960 # SOURCE3 1 + angle_coeff @angle:o-pf-px harmonic 81.034 104.370 # SOURCE3 1 + angle_coeff @angle:o-pf-py harmonic 80.312 104.490 # SOURCE3 1 + angle_coeff @angle:o-pf-s harmonic 65.783 117.420 # SOURCE3 2 + angle_coeff @angle:o-pf-sx harmonic 58.314 106.590 # SOURCE3 1 + angle_coeff @angle:o-pf-sy harmonic 57.621 105.040 # SOURCE3 1 + angle_coeff @angle:p2-pf-pf harmonic 85.030 98.240 # SOURCE3 1 + angle_coeff @angle:p2-pf-px harmonic 83.137 108.280 # SOURCE3 2 + angle_coeff @angle:p2-pf-py harmonic 81.676 110.870 # SOURCE3 3 + angle_coeff @angle:p2-pf-s harmonic 68.307 111.280 # SOURCE3 1 + angle_coeff @angle:p2-pf-sx harmonic 65.549 95.730 # SOURCE3 1 + angle_coeff @angle:p2-pf-sy harmonic 64.541 95.950 # SOURCE3 1 + angle_coeff @angle:pf-pf-s harmonic 64.452 107.910 # SOURCE3 2 + angle_coeff @angle:px-pf-s harmonic 66.458 107.620 # SOURCE3 2 + angle_coeff @angle:py-pf-s harmonic 65.679 108.730 # SOURCE3 3 + angle_coeff @angle:s-pf-s harmonic 43.414 178.440 # SOURCE3 1 + angle_coeff @angle:s-pf-sx harmonic 48.826 108.320 # SOURCE3 2 + angle_coeff @angle:s-pf-sy harmonic 48.370 106.930 # SOURCE3 1 + angle_coeff @angle:c3-px-ca harmonic 46.648 104.790 # SOURCE3 1 + angle_coeff @angle:c3-px-ce harmonic 46.683 104.860 # SOURCE3 4 0.6354 + angle_coeff @angle:c3-px-cf harmonic 46.683 104.860 # SOURCE3 4 + angle_coeff @angle:c3-px-ne harmonic 60.976 102.460 # SOURCE3 7 1.8685 + angle_coeff @angle:c3-px-nf harmonic 60.976 102.460 # SOURCE3 7 + angle_coeff @angle:c3-px-o harmonic 60.307 113.790 # SOURCE3_SOURCE5 33 4.2352 + angle_coeff @angle:c3-px-pe harmonic 61.145 105.730 # SOURCE3 10 4.4059 + angle_coeff @angle:c3-px-pf harmonic 61.145 105.730 # SOURCE3 10 + angle_coeff @angle:c3-px-py harmonic 58.192 103.110 # SOURCE3 3 0.8680 + angle_coeff @angle:c3-px-sx harmonic 45.492 99.550 # SOURCE3 1 + angle_coeff @angle:c3-px-sy harmonic 44.530 103.410 # SOURCE3 1 + angle_coeff @angle:ca-px-ca harmonic 46.837 104.150 # SOURCE3 2 3.6168 + angle_coeff @angle:ca-px-o harmonic 62.137 107.500 # SOURCE3 5 5.7355 + angle_coeff @angle:c-px-c3 harmonic 46.307 101.720 # SOURCE3 1 + angle_coeff @angle:ce-px-ce harmonic 46.926 104.210 # SOURCE3 1 + angle_coeff @angle:ce-px-o harmonic 60.493 113.790 # SOURCE3 6 0.3877 + angle_coeff @angle:cf-px-cf harmonic 46.926 104.210 # SOURCE3 1 + angle_coeff @angle:cf-px-o harmonic 60.493 113.790 # SOURCE3 6 + angle_coeff @angle:c-px-o harmonic 58.294 114.470 # SOURCE3 1 + angle_coeff @angle:ne-px-ne harmonic 79.109 103.220 # SOURCE3 2 0.6807 + angle_coeff @angle:ne-px-o harmonic 79.281 114.130 # SOURCE3 11 8.9737 + angle_coeff @angle:nf-px-nf harmonic 79.109 103.220 # SOURCE3 2 + angle_coeff @angle:nf-px-o harmonic 79.281 114.130 # SOURCE3 11 + angle_coeff @angle:o-px-pe harmonic 76.837 116.500 # SOURCE3 12 8.2925 + angle_coeff @angle:o-px-pf harmonic 76.837 116.500 # SOURCE3 12 + angle_coeff @angle:o-px-py harmonic 71.388 114.200 # SOURCE3 5 1.7165 + angle_coeff @angle:o-px-sx harmonic 54.930 112.810 # SOURCE3 3 0.8799 + angle_coeff @angle:o-px-sy harmonic 54.586 113.540 # SOURCE3 3 0.5010 + angle_coeff @angle:pe-px-pe harmonic 79.592 110.710 # SOURCE3 1 + angle_coeff @angle:pf-px-pf harmonic 79.592 110.710 # SOURCE3 1 + angle_coeff @angle:py-px-py harmonic 73.550 107.780 # SOURCE3 1 + angle_coeff @angle:sx-px-sx harmonic 46.354 96.240 # SOURCE3 1 + angle_coeff @angle:sy-px-sy harmonic 44.807 102.360 # SOURCE3 1 + angle_coeff @angle:c3-py-n4 harmonic 57.271 103.830 # SOURCE3 4 + angle_coeff @angle:c3-py-na harmonic 59.344 106.890 # SOURCE3 2 + angle_coeff @angle:c3-py-o harmonic 59.442 116.680 # SOURCE3_SOURCE5 22 1.9051 + angle_coeff @angle:c3-py-oh harmonic 62.641 100.160 # SOURCE3 2 + angle_coeff @angle:c3-py-os harmonic 61.038 105.390 # SOURCE3 1 + angle_coeff @angle:c3-py-px harmonic 57.225 106.270 # SOURCE3 2 + angle_coeff @angle:c3-py-py harmonic 56.530 109.830 # SOURCE3_SOURCE5 16 1.4525 + angle_coeff @angle:c3-py-sx harmonic 43.696 106.360 # SOURCE3 4 + angle_coeff @angle:ca-py-ca harmonic 46.314 107.550 # SOURCE3 1 + angle_coeff @angle:ca-py-o harmonic 60.635 114.330 # SOURCE3_SOURCE5 20 1.3895 + angle_coeff @angle:ca-py-oh harmonic 62.332 102.870 # SOURCE4_SOURCE5 16 1.4519 + angle_coeff @angle:ca-py-os harmonic 62.763 101.360 # SOURCE3_SOURCE5 12 1.6676 + angle_coeff @angle:c-py-c3 harmonic 44.799 110.360 # SOURCE3 1 + angle_coeff @angle:c-py-c harmonic 45.772 104.200 # SOURCE3 1 + angle_coeff @angle:ce-py-ce harmonic 46.806 106.540 # SOURCE3 1 + angle_coeff @angle:ce-py-o harmonic 60.977 114.040 # SOURCE3_SOURCE5 17 2.0725 + angle_coeff @angle:ce-py-oh harmonic 61.997 104.770 # SOURCE3 6 2.1852 + angle_coeff @angle:ce-py-os harmonic 61.932 104.880 # SOURCE3_SOURCE5 7 1.2571 + angle_coeff @angle:cf-py-cf harmonic 46.806 106.540 # SOURCE3 1 + angle_coeff @angle:cf-py-o harmonic 60.977 114.040 # SOURCE3_SOURCE5 12 1.5779 + angle_coeff @angle:cf-py-oh harmonic 61.997 104.770 # SOURCE3 6 + angle_coeff @angle:cf-py-os harmonic 61.932 104.880 # SOURCE3_SOURCE5 7 1.2571 + angle_coeff @angle:c-py-o harmonic 59.457 114.000 # SOURCE3_SOURCE5 17 1.4765 + angle_coeff @angle:c-py-oh harmonic 61.100 103.220 # SOURCE3_SOURCE5 16 1.4543 + angle_coeff @angle:c-py-os harmonic 62.044 100.010 # SOURCE3_SOURCE5 14 3.2269 + angle_coeff @angle:n3-py-ne harmonic 79.409 108.760 # SOURCE4_SOURCE5 30 1.0660 + angle_coeff @angle:n4-py-o harmonic 72.867 115.580 # SOURCE3 4 + angle_coeff @angle:n4-py-py harmonic 98.929 55.100 # SOURCE3 4 + angle_coeff @angle:na-py-o harmonic 76.532 122.400 # SOURCE3 2 + angle_coeff @angle:na-py-py harmonic 105.838 50.880 # SOURCE3 2 + angle_coeff @angle:ne-py-ne harmonic 78.402 118.190 # SOURCE3_SOURCE5 35 1.2083 + angle_coeff @angle:ne-py-o harmonic 82.910 113.210 # SOURCE3 15 3.8894 + angle_coeff @angle:ne-py-oh harmonic 83.005 104.700 # SOURCE3 26 2.7513 + angle_coeff @angle:ne-py-os harmonic 81.559 108.290 # SOURCE3_SOURCE5 23 1.6881 + angle_coeff @angle:nf-py-nf harmonic 78.402 118.190 # SOURCE3_SOURCE5 35 1.2083 + angle_coeff @angle:nf-py-o harmonic 82.910 113.210 # SOURCE3 15 + angle_coeff @angle:nf-py-oh harmonic 83.005 104.700 # SOURCE3 26 + angle_coeff @angle:nf-py-os harmonic 81.559 108.290 # SOURCE3_SOURCE5 23 1.6881 + angle_coeff @angle:oh-py-oh harmonic 83.937 101.680 # SOURCE3_SOURCE5 49 1.9218 + angle_coeff @angle:oh-py-pe harmonic 79.277 104.840 # SOURCE3 22 2.0337 + angle_coeff @angle:oh-py-pf harmonic 79.277 104.840 # SOURCE3 22 + angle_coeff @angle:oh-py-px harmonic 74.246 104.300 # SOURCE3 8 1.2772 + angle_coeff @angle:oh-py-py harmonic 76.047 100.450 # SOURCE3 6 + angle_coeff @angle:oh-py-sx harmonic 57.417 100.940 # SOURCE3 4 + angle_coeff @angle:oh-py-sy harmonic 59.053 101.470 # SOURCE3 6 0.2490 + angle_coeff @angle:o-py-oh harmonic 81.623 115.830 # SOURCE3_SOURCE5 105 1.8918 + angle_coeff @angle:o-py-os harmonic 81.496 115.990 # SOURCE3_SOURCE5 47 1.2146 + angle_coeff @angle:o-py-pe harmonic 76.936 114.560 # SOURCE3 12 3.6114 + angle_coeff @angle:o-py-pf harmonic 76.936 114.560 # SOURCE3 12 + angle_coeff @angle:o-py-px harmonic 72.318 111.370 # SOURCE3 5 0.3803 + angle_coeff @angle:o-py-py harmonic 69.944 120.430 # SOURCE3 16 6.0629 + angle_coeff @angle:os-py-os harmonic 83.760 101.820 # SOURCE3_SOURCE5 27 1.5502 + angle_coeff @angle:os-py-py harmonic 74.513 104.590 # SOURCE3_SOURCE5 5 0.4023 + angle_coeff @angle:os-py-sx harmonic 56.596 103.860 # SOURCE3 2 + angle_coeff @angle:os-py-sy harmonic 58.853 102.120 # SOURCE3 2 + angle_coeff @angle:o-py-sx harmonic 53.190 118.560 # SOURCE3 7 6.2976 + angle_coeff @angle:o-py-sy harmonic 56.689 111.710 # SOURCE3 5 1.1937 + angle_coeff @angle:pe-py-pe harmonic 80.108 107.140 # SOURCE3 1 + angle_coeff @angle:pf-py-pf harmonic 80.108 107.140 # SOURCE3 1 + angle_coeff @angle:py-py-py harmonic 72.354 112.700 # SOURCE3 1 + angle_coeff @angle:py-py-sx harmonic 75.004 61.540 # SOURCE3 4 + angle_coeff @angle:sy-py-sy harmonic 45.561 105.170 # SOURCE3 1 + angle_coeff @angle:c1-s2-o harmonic 94.269 117.250 # SOURCE3 1 + angle_coeff @angle:c2-s2-n2 harmonic 98.098 110.840 # SOURCE3 1 + angle_coeff @angle:c2-s2-o harmonic 94.864 114.700 # SOURCE2 1 + angle_coeff @angle:cl-s2-n1 harmonic 92.974 117.700 # SOURCE2 1 + angle_coeff @angle:f-s2-n1 harmonic 122.911 116.900 # SOURCE2 1 + angle_coeff @angle:n1-s2-o harmonic 127.997 108.460 # HF/6-31G* 1 + angle_coeff @angle:n2-s2-o harmonic 117.918 121.200 # SOURCE2 2 0.8000 + angle_coeff @angle:o-s2-o harmonic 118.448 116.170 # SOURCE3 1 + angle_coeff @angle:o-s2-s harmonic 91.358 118.300 # SOURCE2 1 + angle_coeff @angle:s-s2-s harmonic 74.776 115.040 # SOURCE3 1 + angle_coeff @angle:br-s4-br harmonic 74.689 98.020 # SOURCE3 1 + angle_coeff @angle:br-s4-c3 harmonic 72.437 92.980 # SOURCE3 1 + angle_coeff @angle:br-s4-o harmonic 84.014 112.070 # SOURCE3 1 + angle_coeff @angle:c1-s4-c1 harmonic 77.086 93.550 # SOURCE3 1 + angle_coeff @angle:c1-s4-o harmonic 94.436 110.360 # SOURCE3 2 + angle_coeff @angle:c2-s4-c2 harmonic 73.133 102.290 # SOURCE3 1 + angle_coeff @angle:c2-s4-c3 harmonic 74.359 94.950 # SOURCE3 1 + angle_coeff @angle:c2-s4-o harmonic 95.340 107.090 # SOURCE3 1 + angle_coeff @angle:c3-s4-c3 harmonic 72.538 96.120 # SOURCE3_SOURCE5 72 1.2506 + angle_coeff @angle:c3-s4-ca harmonic 73.801 95.000 # SOURCE3 1 + angle_coeff @angle:c3-s4-f harmonic 99.956 91.700 # SOURCE3 1 + angle_coeff @angle:c3-s4-hs harmonic 53.159 90.600 # SOURCE3 1 + angle_coeff @angle:c3-s4-i harmonic 64.204 90.530 # SOURCE3 1 + angle_coeff @angle:c3-s4-n2 harmonic 98.749 90.590 # SOURCE3 1 + angle_coeff @angle:c3-s4-n3 harmonic 92.849 95.770 # SOURCE3_SOURCE5 10 1.8721 + angle_coeff @angle:c3-s4-n harmonic 92.379 96.070 # SOURCE3 4 1.0354 + angle_coeff @angle:c3-s4-n4 harmonic 88.918 92.470 # SOURCE3 1 + angle_coeff @angle:c3-s4-na harmonic 93.247 93.070 # SOURCE3 10 1.8813 + angle_coeff @angle:c3-s4-nh harmonic 92.347 97.080 # SOURCE3 1 + angle_coeff @angle:c3-s4-no harmonic 89.712 89.530 # SOURCE3 1 + angle_coeff @angle:c3-s4-o harmonic 92.851 106.710 # SOURCE3_SOURCE5 233 1.1391 + angle_coeff @angle:c3-s4-oh harmonic 97.024 90.280 # SOURCE4_SOURCE5 21 0.2709 + angle_coeff @angle:c3-s4-os harmonic 97.226 90.060 # SOURCE3 4 0.4484 + angle_coeff @angle:c3-s4-p2 harmonic 91.018 94.370 # SOURCE3 1 + angle_coeff @angle:c3-s4-p3 harmonic 93.042 96.540 # SOURCE3 4 1.3634 + angle_coeff @angle:c3-s4-p4 harmonic 87.791 97.400 # SOURCE3 1 + angle_coeff @angle:c3-s4-p5 harmonic 93.163 99.180 # SOURCE3 1 + angle_coeff @angle:c3-s4-s4 harmonic 75.465 89.500 # SOURCE3 1 + angle_coeff @angle:c3-s4-s harmonic 71.946 98.720 # SOURCE3 2 0.0185 + angle_coeff @angle:c3-s4-s6 harmonic 72.311 97.480 # SOURCE3 1 + angle_coeff @angle:c3-s4-sh harmonic 71.328 94.660 # SOURCE3 1 + angle_coeff @angle:c3-s4-ss harmonic 71.131 95.310 # SOURCE3 3 1.4101 + angle_coeff @angle:ca-s4-ca harmonic 74.616 95.210 # SOURCE3 1 + angle_coeff @angle:ca-s4-o harmonic 94.489 106.630 # SOURCE3 1 + angle_coeff @angle:c-s4-c3 harmonic 72.142 95.070 # SOURCE3 1 + angle_coeff @angle:c-s4-c harmonic 74.707 86.830 # SOURCE3 1 + angle_coeff @angle:cl-s4-cl harmonic 92.643 97.680 # SOURCE3 1 + angle_coeff @angle:cl-s4-o harmonic 100.538 108.340 # SOURCE3 2 + angle_coeff @angle:c-s4-o harmonic 91.597 106.170 # SOURCE3 1 + angle_coeff @angle:cx-s4-cx harmonic 102.278 48.800 # SOURCE2 1 + angle_coeff @angle:cx-s4-o harmonic 91.767 110.000 # SOURCE2 1 + angle_coeff @angle:f-s4-f harmonic 137.119 92.710 # SOURCE2 3 0.1490 + angle_coeff @angle:f-s4-o harmonic 129.265 106.810 # SOURCE2 2 0.0100 + angle_coeff @angle:f-s4-s harmonic 90.806 107.500 # SOURCE2 1 + angle_coeff @angle:hs-s4-hs harmonic 42.707 87.000 # SOURCE3 2 0.0202 + angle_coeff @angle:hs-s4-n1 harmonic 72.280 90.510 # HF/6-31G* 1 + angle_coeff @angle:hs-s4-o harmonic 69.666 110.270 # SOURCE3 5 0.1908 + angle_coeff @angle:i-s4-i harmonic 68.021 97.290 # SOURCE3 1 + angle_coeff @angle:i-s4-o harmonic 69.889 113.910 # SOURCE3 1 + angle_coeff @angle:n1-s4-n1 harmonic 127.594 94.020 # HF/6-31G* 1 + angle_coeff @angle:n1-s4-o harmonic 122.838 110.090 # HF/6-31G* 1 + angle_coeff @angle:n2-s4-n2 harmonic 133.526 90.170 # SOURCE3 1 + angle_coeff @angle:n2-s4-o harmonic 126.113 107.570 # SOURCE3 1 + angle_coeff @angle:n3-s4-n3 harmonic 121.849 91.190 # SOURCE3 1 + angle_coeff @angle:n3-s4-o harmonic 117.831 110.430 # SOURCE3_SOURCE5 13 1.9165 + angle_coeff @angle:n4-s4-n4 harmonic 106.426 94.610 # SOURCE3 1 + angle_coeff @angle:n4-s4-o harmonic 110.589 104.910 # SOURCE3 3 0.4370 + angle_coeff @angle:na-s4-na harmonic 112.128 103.100 # SOURCE3 1 + angle_coeff @angle:na-s4-o harmonic 116.397 109.750 # SOURCE3 10 2.6919 + angle_coeff @angle:nh-s4-nh harmonic 121.527 92.240 # SOURCE3 1 + angle_coeff @angle:nh-s4-o harmonic 119.657 107.540 # SOURCE3 3 0.0401 + angle_coeff @angle:n-s4-n harmonic 120.832 91.300 # SOURCE3 1 + angle_coeff @angle:n-s4-o harmonic 118.814 107.440 # SOURCE3_SOURCE5 9 1.2433 + angle_coeff @angle:no-s4-no harmonic 111.990 83.400 # SOURCE3 1 + angle_coeff @angle:no-s4-o harmonic 110.173 103.580 # SOURCE3 3 1.5109 + angle_coeff @angle:oh-s4-oh harmonic 120.174 100.340 # SOURCE3 1 + angle_coeff @angle:o-s4-o harmonic 127.045 114.110 # SOURCE3_SOURCE5 14 2.6371 + angle_coeff @angle:o-s4-oh harmonic 120.725 110.100 # SOURCE4_SOURCE5 30 0.8834 + angle_coeff @angle:o-s4-os harmonic 121.937 108.220 # SOURCE3_SOURCE5 19 1.5128 + angle_coeff @angle:o-s4-p2 harmonic 110.606 106.770 # SOURCE3 1 + angle_coeff @angle:o-s4-p3 harmonic 115.784 106.510 # SOURCE3 8 4.0943 + angle_coeff @angle:o-s4-p4 harmonic 109.471 103.360 # SOURCE3 1 + angle_coeff @angle:o-s4-p5 harmonic 123.827 96.950 # SOURCE3 1 + angle_coeff @angle:o-s4-s4 harmonic 91.337 104.550 # SOURCE3 1 + angle_coeff @angle:o-s4-s harmonic 88.312 112.220 # SOURCE3 4 2.8682 + angle_coeff @angle:o-s4-s6 harmonic 92.094 102.840 # SOURCE3 1 + angle_coeff @angle:o-s4-sh harmonic 86.714 107.510 # SOURCE3 3 0.7511 + angle_coeff @angle:os-s4-os harmonic 124.379 94.070 # SOURCE3_SOURCE5 7 2.3843 + angle_coeff @angle:o-s4-ss harmonic 86.001 109.490 # SOURCE3 5 1.8509 + angle_coeff @angle:p2-s4-p2 harmonic 118.888 92.620 # SOURCE3 1 + angle_coeff @angle:p3-s4-p3 harmonic 122.725 95.710 # SOURCE3 2 1.2239 + angle_coeff @angle:p5-s4-p5 harmonic 126.784 93.860 # SOURCE3 1 + angle_coeff @angle:s4-s4-s4 harmonic 77.030 90.170 # SOURCE3 1 + angle_coeff @angle:s4-s4-s6 harmonic 77.030 90.170 # SOURCE3 1 + angle_coeff @angle:s6-s4-s6 harmonic 75.638 93.520 # SOURCE3 1 + angle_coeff @angle:sh-s4-sh harmonic 69.229 102.760 # SOURCE3 1 + angle_coeff @angle:sh-s4-ss harmonic 69.301 102.640 # SOURCE3 1 + angle_coeff @angle:s-s4-s harmonic 70.495 108.080 # SOURCE3 1 + angle_coeff @angle:ss-s4-ss harmonic 71.889 95.470 # SOURCE3 1 + angle_coeff @angle:br-s6-br harmonic 77.581 101.570 # SOURCE3 1 + angle_coeff @angle:br-s6-c3 harmonic 73.519 98.990 # SOURCE3 1 + angle_coeff @angle:br-s6-f harmonic 94.581 100.600 # SOURCE2 1 + angle_coeff @angle:br-s6-o harmonic 90.691 107.580 # SOURCE3 6 0.3000 + angle_coeff @angle:c1-s6-c1 harmonic 75.601 99.990 # SOURCE3 1 + angle_coeff @angle:c1-s6-o harmonic 97.406 107.980 # SOURCE3_SOURCE5 7 0.4450 + angle_coeff @angle:c2-s6-c2 harmonic 72.969 102.750 # SOURCE3 1 + angle_coeff @angle:c2-s6-c3 harmonic 71.521 104.050 # SOURCE3 1 + angle_coeff @angle:c2-s6-o harmonic 96.507 106.580 # SOURCE3 1 + angle_coeff @angle:c3-s6-c3 harmonic 70.681 103.830 # SOURCE3_SOURCE5 74 2.0698 + angle_coeff @angle:c3-s6-ca harmonic 71.693 103.170 # SOURCE3 1 + angle_coeff @angle:c3-s6-cy harmonic 73.114 94.680 # SOURCE4_SOURCE5 19 0.4776 + angle_coeff @angle:c3-s6-f harmonic 98.119 95.900 # SOURCE3_SOURCE5 9 2.4171 + angle_coeff @angle:c3-s6-hs harmonic 51.078 100.620 # SOURCE3 1 + angle_coeff @angle:c3-s6-i harmonic 61.761 97.740 # SOURCE3 1 + angle_coeff @angle:c3-s6-n2 harmonic 90.421 112.480 # SOURCE4_SOURCE5 27 1.7086 + angle_coeff @angle:c3-s6-n3 harmonic 92.504 101.970 # SOURCE4_SOURCE5 162 1.1030 + angle_coeff @angle:c3-s6-n harmonic 90.797 103.440 # SOURCE3_SOURCE5 15 0.8616 + angle_coeff @angle:c3-s6-n4 harmonic 87.728 99.400 # SOURCE3 3 0.4695 + angle_coeff @angle:c3-s6-na harmonic 90.979 102.810 # SOURCE3 10 3.1256 + angle_coeff @angle:c3-s6-nh harmonic 90.894 104.320 # SOURCE4_SOURCE5 92 1.5234 + angle_coeff @angle:c3-s6-no harmonic 86.016 99.570 # SOURCE3 1 + angle_coeff @angle:c3-s6-o harmonic 93.703 108.610 # SOURCE3_SOURCE5 1062 1.0758 + angle_coeff @angle:c3-s6-oh harmonic 94.842 98.740 # SOURCE4_SOURCE5 121 0.7363 + angle_coeff @angle:c3-s6-os harmonic 96.240 96.420 # SOURCE4_SOURCE5 70 0.5868 + angle_coeff @angle:c3-s6-p2 harmonic 86.273 106.470 # SOURCE3 1 + angle_coeff @angle:c3-s6-p3 harmonic 90.571 103.400 # SOURCE3 3 0.8516 + angle_coeff @angle:c3-s6-p4 harmonic 84.641 104.120 # SOURCE3 1 + angle_coeff @angle:c3-s6-p5 harmonic 91.629 103.460 # SOURCE3 1 + angle_coeff @angle:c3-s6-s4 harmonic 72.386 98.100 # SOURCE3 1 + angle_coeff @angle:c3-s6-s harmonic 71.088 104.500 # SOURCE3 1 + angle_coeff @angle:c3-s6-s6 harmonic 71.006 101.950 # SOURCE3 1 + angle_coeff @angle:c3-s6-sh harmonic 70.399 101.840 # SOURCE3 1 + angle_coeff @angle:c3-s6-ss harmonic 69.952 102.470 # SOURCE3 3 1.7451 + angle_coeff @angle:ca-s6-ca harmonic 72.567 103.080 # SOURCE3 1 + angle_coeff @angle:ca-s6-o harmonic 97.373 104.090 # SOURCE4_SOURCE5 137 0.5743 + angle_coeff @angle:c-s6-c3 harmonic 70.322 101.240 # SOURCE3 1 + angle_coeff @angle:c-s6-c harmonic 69.677 99.820 # SOURCE3 1 + angle_coeff @angle:cc-s6-o harmonic 95.603 103.760 # SOURCE4_SOURCE5 24 0.8201 + angle_coeff @angle:cl-s6-cl harmonic 90.995 101.250 # SOURCE3 1 + angle_coeff @angle:cl-s6-f harmonic 105.577 99.000 # SOURCE2 1 + angle_coeff @angle:cl-s6-o harmonic 101.239 107.520 # SOURCE3_SOURCE5 6 0.2106 + angle_coeff @angle:c-s6-o harmonic 91.492 107.970 # SOURCE3 1 + angle_coeff @angle:c-s6-os harmonic 91.455 102.120 # SOURCE3 1 + angle_coeff @angle:cx-s6-cx harmonic 101.683 54.700 # SOURCE2 1 + angle_coeff @angle:cy-s6-o harmonic 91.172 110.520 # SOURCE4_SOURCE5 71 0.9427 + angle_coeff @angle:f-s6-f harmonic 137.577 89.710 # SOURCE2_SOURCE5 22 1.8574 + angle_coeff @angle:f-s6-o harmonic 130.197 106.540 # SOURCE3_SOURCE5 7 0.0793 + angle_coeff @angle:hs-s6-hs harmonic 40.502 99.020 # SOURCE3 2 0.0595 + angle_coeff @angle:hs-s6-n1 harmonic 77.206 97.270 # HF/6-31G* 1 + angle_coeff @angle:hs-s6-o harmonic 72.305 107.680 # SOURCE3_SOURCE5 17 0.0882 + angle_coeff @angle:i-s6-i harmonic 67.346 99.250 # SOURCE3 1 + angle_coeff @angle:i-s6-o harmonic 70.931 108.820 # SOURCE3_SOURCE5 6 0.6545 + angle_coeff @angle:n1-s6-n1 harmonic 147.507 95.520 # HF/6-31G* 1 + angle_coeff @angle:n1-s6-o harmonic 137.179 107.520 # HF/6-31G* 1 + angle_coeff @angle:n2-s6-n2 harmonic 132.302 98.610 # SOURCE3 1 + angle_coeff @angle:n2-s6-o harmonic 124.131 119.100 # SOURCE3_SOURCE5 11 3.0533 + angle_coeff @angle:n2-s6-oh harmonic 123.655 106.960 # SOURCE3 2 + angle_coeff @angle:n2-s6-os harmonic 126.381 103.250 # SOURCE3 1 + angle_coeff @angle:n3-s6-n3 harmonic 123.034 98.440 # SOURCE4_SOURCE5 16 0.3984 + angle_coeff @angle:n3-s6-o harmonic 124.794 107.430 # SOURCE3_SOURCE5 319 1.1452 + angle_coeff @angle:n3-s6-os harmonic 124.070 99.660 # SOURCE4_SOURCE5 27 0.8063 + angle_coeff @angle:n4-s6-n4 harmonic 105.682 101.850 # SOURCE3 1 + angle_coeff @angle:n4-s6-o harmonic 115.123 102.920 # SOURCE3 10 1.5434 + angle_coeff @angle:na-s6-na harmonic 119.677 98.040 # SOURCE3 1 + angle_coeff @angle:na-s6-o harmonic 123.180 105.820 # SOURCE3_SOURCE5 31 0.6987 + angle_coeff @angle:nh-s6-nh harmonic 123.669 94.560 # SOURCE3 1 + angle_coeff @angle:nh-s6-o harmonic 123.651 107.210 # SOURCE3_SOURCE5 106 1.3795 + angle_coeff @angle:n-s6-n harmonic 116.385 104.160 # SOURCE3 1 + angle_coeff @angle:n-s6-o harmonic 122.694 107.020 # SOURCE3_SOURCE5 63 1.7044 + angle_coeff @angle:no-s6-no harmonic 107.924 91.630 # SOURCE3 1 + angle_coeff @angle:no-s6-o harmonic 109.649 107.430 # SOURCE3 6 1.5494 + angle_coeff @angle:n-s6-os harmonic 122.468 99.230 # SOURCE4_SOURCE5 10 0.9794 + angle_coeff @angle:oh-s6-oh harmonic 124.674 100.340 # SOURCE3 6 0.0076 + angle_coeff @angle:oh-s6-os harmonic 127.394 96.810 # SOURCE4_SOURCE5 74 0.8201 + angle_coeff @angle:oh-s6-p2 harmonic 108.695 109.670 # SOURCE3 2 + angle_coeff @angle:o-s6-o harmonic 128.200 120.050 # SOURCE4_SOURCE5 971 1.8153 + angle_coeff @angle:o-s6-oh harmonic 126.323 108.050 # SOURCE3_SOURCE5 306 0.8954 + angle_coeff @angle:o-s6-os harmonic 126.629 108.560 # SOURCE3_SOURCE5 346 1.4469 + angle_coeff @angle:o-s6-p2 harmonic 111.304 106.610 # SOURCE3 1 + angle_coeff @angle:o-s6-p3 harmonic 116.333 107.070 # SOURCE3 22 1.0550 + angle_coeff @angle:o-s6-p4 harmonic 107.389 105.670 # SOURCE3 1 + angle_coeff @angle:o-s6-p5 harmonic 118.512 106.640 # SOURCE3 1 + angle_coeff @angle:o-s6-s4 harmonic 90.199 107.850 # SOURCE3 1 + angle_coeff @angle:o-s6-s harmonic 90.887 110.290 # SOURCE3 6 2.2405 + angle_coeff @angle:o-s6-s6 harmonic 90.953 106.070 # SOURCE3 1 + angle_coeff @angle:o-s6-sh harmonic 89.506 106.810 # SOURCE3 6 0.6292 + angle_coeff @angle:os-s6-os harmonic 126.643 98.700 # SOURCE3 1 + angle_coeff @angle:o-s6-ss harmonic 88.847 107.430 # SOURCE3 10 1.1423 + angle_coeff @angle:p3-s6-p3 harmonic 114.939 110.170 # SOURCE3 4 5.3678 + angle_coeff @angle:p5-s6-p5 harmonic 120.162 104.490 # SOURCE3 1 + angle_coeff @angle:s4-s6-s4 harmonic 72.429 101.990 # SOURCE3 1 + angle_coeff @angle:s4-s6-s6 harmonic 77.030 90.170 # SOURCE3 1 + angle_coeff @angle:s6-s6-s6 harmonic 71.972 103.290 # SOURCE3 1 + angle_coeff @angle:sh-s6-sh harmonic 69.961 106.430 # SOURCE3 1 + angle_coeff @angle:sh-s6-ss harmonic 71.071 102.640 # SOURCE3 1 + angle_coeff @angle:s-s6-s harmonic 71.394 109.340 # SOURCE3 1 + angle_coeff @angle:ss-s6-ss harmonic 71.189 101.820 # SOURCE3 1 + angle_coeff @angle:br-sh-hs harmonic 49.791 95.640 # SOURCE3 1 + angle_coeff @angle:c1-sh-hs harmonic 55.580 95.990 # calculated_based_on_C#C-SH 0 + angle_coeff @angle:c2-sh-hs harmonic 52.778 96.790 # SOURCE4_SOURCE5 12 0.5703 + angle_coeff @angle:c3-sh-hs harmonic 51.361 96.400 # SOURCE3_SOURCE5 191 0.6428 + angle_coeff @angle:ca-sh-hs harmonic 53.161 95.500 # SOURCE4_SOURCE5 44 0.8350 + angle_coeff @angle:cc-sh-hs harmonic 53.591 95.010 # SOURCE4_SOURCE5 23 1.3099 + angle_coeff @angle:c-sh-hs harmonic 53.042 94.470 # SOURCE3_SOURCE5 41 0.9733 + angle_coeff @angle:f-sh-hs harmonic 71.420 96.500 # SOURCE3 1 + angle_coeff @angle:hs-sh-hs harmonic 42.155 93.000 # SOURCE3_SOURCE5 3 0.4777 + angle_coeff @angle:hs-sh-i harmonic 44.148 96.440 # SOURCE3 1 + angle_coeff @angle:hs-sh-n1 harmonic 72.794 93.510 # HF/6-31G* 1 + angle_coeff @angle:hs-sh-n2 harmonic 67.814 95.820 # SOURCE3 5 3.1495 + angle_coeff @angle:hs-sh-n harmonic 68.213 95.590 # SOURCE3 4 3.9065 + angle_coeff @angle:hs-sh-n3 harmonic 67.725 95.980 # SOURCE3 3 1.1735 + angle_coeff @angle:hs-sh-n4 harmonic 66.458 93.130 # SOURCE3 3 0.1675 + angle_coeff @angle:hs-sh-na harmonic 67.804 97.380 # SOURCE3 9 1.0223 + angle_coeff @angle:hs-sh-nh harmonic 66.944 101.110 # SOURCE3 1 + angle_coeff @angle:hs-sh-no harmonic 66.751 92.930 # SOURCE3 1 + angle_coeff @angle:hs-sh-o harmonic 67.503 109.230 # SOURCE3 2 0.0068 + angle_coeff @angle:hs-sh-oh harmonic 68.281 98.640 # SOURCE3 2 0.0605 + angle_coeff @angle:hs-sh-os harmonic 69.115 98.150 # SOURCE3 3 0.1661 + angle_coeff @angle:hs-sh-p2 harmonic 66.084 99.120 # SOURCE3 10 5.4110 + angle_coeff @angle:hs-sh-p3 harmonic 62.144 95.810 # SOURCE3 3 0.4396 + angle_coeff @angle:hs-sh-p4 harmonic 63.188 94.220 # SOURCE3 4 0.7605 + angle_coeff @angle:hs-sh-p5 harmonic 64.112 94.520 # SOURCE3 3 0.5589 + angle_coeff @angle:hs-sh-s harmonic 47.237 102.870 # SOURCE3 2 + angle_coeff @angle:hs-sh-s4 harmonic 48.513 92.160 # SOURCE3 3 1.6519 + angle_coeff @angle:hs-sh-s6 harmonic 49.509 93.830 # SOURCE3 3 1.2561 + angle_coeff @angle:hs-sh-sh harmonic 49.372 99.070 # SOURCE3 2 + angle_coeff @angle:hs-sh-ss harmonic 49.131 99.170 # SOURCE3 3 0.2457 + angle_coeff @angle:br-ss-br harmonic 77.455 102.920 # SOURCE3 1 + angle_coeff @angle:br-ss-c3 harmonic 73.438 99.030 # SOURCE3 1 + angle_coeff @angle:c1-ss-c1 harmonic 77.701 98.300 # SOURCE2 1 + angle_coeff @angle:c1-ss-c3 harmonic 72.838 101.860 # SOURCE2_SOURCE5 24 1.0923 + angle_coeff @angle:c2-ss-c2 harmonic 75.153 99.560 # SOURCE3 1 + angle_coeff @angle:c2-ss-c3 harmonic 72.568 100.370 # SOURCE4 100 2.3280 + angle_coeff @angle:c2-ss-cy harmonic 76.860 88.910 # SOURCE4_SOURCE5 51 0.4794 + angle_coeff @angle:c2-ss-n2 harmonic 92.922 106.760 # SOURCE3 1 + angle_coeff @angle:c2-ss-na harmonic 93.759 100.510 # SOURCE3 6 6.9702 + angle_coeff @angle:c2-ss-os harmonic 100.020 89.760 # SOURCE3 1 + angle_coeff @angle:c2-ss-ss harmonic 75.743 92.260 # SOURCE3 1 + angle_coeff @angle:c3-ss-c3 harmonic 71.051 99.240 # SOURCE3_SOURCE5 443 1.3973 + angle_coeff @angle:c3-ss-ca harmonic 71.145 102.100 # SOURCE4_SOURCE5 393 1.3148 + angle_coeff @angle:c3-ss-cc harmonic 72.106 100.640 # CORR_SOURCE5 118 1.6668 + angle_coeff @angle:c3-ss-cd harmonic 72.106 100.640 # CORR_SOURCE5 118 1.6668 + angle_coeff @angle:c3-ss-cl harmonic 80.033 99.400 # SOURCE2 1 + angle_coeff @angle:c3-ss-cy harmonic 72.699 94.270 # SOURCE4_SOURCE5 150 0.4649 + angle_coeff @angle:c3-ss-f harmonic 95.769 97.490 # SOURCE3 1 + angle_coeff @angle:c3-ss-i harmonic 67.953 100.000 # SOURCE3 1 + angle_coeff @angle:c3-ss-n1 harmonic 94.433 98.440 # HF/6-31G* 1 + angle_coeff @angle:c3-ss-n2 harmonic 94.643 96.080 # SOURCE3_SOURCE5 11 1.2317 + angle_coeff @angle:c3-ss-n3 harmonic 91.857 98.830 # SOURCE3 3 0.2909 + angle_coeff @angle:c3-ss-n harmonic 91.130 100.300 # SOURCE3 4 0.6579 + angle_coeff @angle:c3-ss-n4 harmonic 90.288 97.790 # SOURCE3 3 0.2002 + angle_coeff @angle:c3-ss-na harmonic 92.714 96.590 # SOURCE3_SOURCE5 21 1.0132 + angle_coeff @angle:c3-ss-nh harmonic 91.350 100.630 # SOURCE3 1 + angle_coeff @angle:c3-ss-no harmonic 89.523 98.620 # SOURCE3 1 + angle_coeff @angle:c3-ss-o harmonic 92.362 106.990 # SOURCE3_SOURCE5 11 1.0097 + angle_coeff @angle:c3-ss-oh harmonic 92.897 98.280 # SOURCE3 2 1.4326 + angle_coeff @angle:c3-ss-os harmonic 92.581 98.210 # SOURCE3 4 1.7097 + angle_coeff @angle:c3-ss-p2 harmonic 95.479 98.410 # SOURCE3 8 0.9454 + angle_coeff @angle:c3-ss-p3 harmonic 90.885 98.700 # SOURCE3 3 0.0356 + angle_coeff @angle:c3-ss-p4 harmonic 91.629 98.160 # SOURCE3 4 0.1361 + angle_coeff @angle:c3-ss-p5 harmonic 90.364 100.060 # SOURCE4_SOURCE5 62 1.0141 + angle_coeff @angle:c3-ss-s4 harmonic 70.640 96.370 # SOURCE3 3 0.0202 + angle_coeff @angle:c3-ss-s harmonic 70.410 101.900 # SOURCE3 1 + angle_coeff @angle:c3-ss-s6 harmonic 71.595 96.760 # SOURCE3 3 1.5680 + angle_coeff @angle:c3-ss-sh harmonic 70.887 101.930 # SOURCE3 1 + angle_coeff @angle:c3-ss-ss harmonic 70.258 103.390 # SOURCE4_SOURCE5 237 1.0715 + angle_coeff @angle:ca-ss-ca harmonic 73.541 98.830 # SOURCE4_SOURCE5 225 1.3938 + angle_coeff @angle:ca-ss-cc harmonic 77.818 89.470 # CORR_SOURCE5 200 1.1779 + angle_coeff @angle:ca-ss-cd harmonic 77.818 89.470 # CORR_SOURCE5 200 1.1779 + angle_coeff @angle:ca-ss-cl harmonic 80.234 101.050 # SOURCE3 1 + angle_coeff @angle:ca-ss-n harmonic 97.427 90.990 # SOURCE3_SOURCE5 5 0.5202 + angle_coeff @angle:ca-ss-na harmonic 93.087 99.320 # SOURCE3 1 + angle_coeff @angle:ca-ss-nc harmonic 97.913 94.760 # SOURCE3 1 + angle_coeff @angle:ca-ss-nd harmonic 97.913 94.760 # SOURCE3 1 + angle_coeff @angle:ca-ss-ss harmonic 70.425 105.130 # SOURCE4_SOURCE5 69 1.0007 + angle_coeff @angle:c-ss-c2 harmonic 76.536 92.430 # SOURCE3 1 + angle_coeff @angle:c-ss-c3 harmonic 71.828 99.160 # SOURCE3_SOURCE5 108 1.2072 + angle_coeff @angle:c-ss-c harmonic 71.820 101.400 # SOURCE3 1 + angle_coeff @angle:c-ss-cc harmonic 75.135 94.890 # SOURCE4_SOURCE5 32 1.7205 + angle_coeff @angle:cc-ss-cc harmonic 78.031 90.240 # SOURCE3_SOURCE5 652 1.5043 + angle_coeff @angle:cc-ss-cd harmonic 77.807 90.760 # SOURCE4_SOURCE5 157 1.7485 + angle_coeff @angle:cc-ss-n harmonic 96.775 93.580 # SOURCE3_SOURCE5 6 2.0175 + angle_coeff @angle:cc-ss-na harmonic 93.760 99.330 # SOURCE3 18 + angle_coeff @angle:cc-ss-nc harmonic 99.545 93.220 # CORR_SOURCE5 25 1.5563 + angle_coeff @angle:cc-ss-os harmonic 94.746 98.810 # SOURCE3 2 2.1583 + angle_coeff @angle:cc-ss-ss harmonic 74.869 93.800 # CORR_SOURCE5 31 0.9858 + angle_coeff @angle:cd-ss-cd harmonic 78.031 90.240 # SOURCE3_SOURCE5 652 1.5043 + angle_coeff @angle:cd-ss-n harmonic 96.775 93.580 # SOURCE3_SOURCE5 6 2.0175 + angle_coeff @angle:cd-ss-na harmonic 93.760 99.330 # SOURCE3 18 2.5847 + angle_coeff @angle:cd-ss-nd harmonic 99.545 93.220 # CORR_SOURCE5 25 1.5563 + angle_coeff @angle:cd-ss-os harmonic 94.746 98.810 # SOURCE3 2 + angle_coeff @angle:cd-ss-ss harmonic 74.869 93.800 # CORR_SOURCE5 31 0.9858 + angle_coeff @angle:cl-ss-cl harmonic 90.057 103.370 # SOURCE3 1 + angle_coeff @angle:cx-ss-cx harmonic 102.217 48.300 # SOURCE2 1 + angle_coeff @angle:f-ss-f harmonic 129.659 98.300 # SOURCE2 1 + angle_coeff @angle:f-ss-ss harmonic 90.124 108.300 # SOURCE2 1 + angle_coeff @angle:i-ss-i harmonic 72.646 106.290 # SOURCE3 1 + angle_coeff @angle:n1-ss-n1 harmonic 128.766 96.960 # HF/6-31G* 1 + angle_coeff @angle:n2-ss-n2 harmonic 125.325 96.750 # SOURCE3 1 + angle_coeff @angle:n3-ss-n3 harmonic 117.075 102.340 # SOURCE3 1 + angle_coeff @angle:n4-ss-n4 harmonic 111.994 101.190 # SOURCE3 1 + angle_coeff @angle:na-ss-na harmonic 116.207 102.810 # SOURCE3 1 + angle_coeff @angle:nc-ss-nc harmonic 126.827 97.990 # CORR_SOURCE5 29 0.5000 + angle_coeff @angle:nd-ss-nd harmonic 126.827 97.990 # CORR_SOURCE5 29 0.5000 + angle_coeff @angle:nh-ss-nh harmonic 114.991 107.890 # SOURCE3 1 + angle_coeff @angle:n-ss-n harmonic 116.487 103.100 # SOURCE3 1 + angle_coeff @angle:no-ss-no harmonic 108.247 106.430 # SOURCE3 1 + angle_coeff @angle:oh-ss-oh harmonic 118.444 104.250 # SOURCE3 1 + angle_coeff @angle:o-ss-o harmonic 124.036 119.300 # SOURCE2 1 + angle_coeff @angle:o-ss-p5 harmonic 114.305 106.410 # SOURCE3 1 + angle_coeff @angle:o-ss-s6 harmonic 89.483 105.390 # SOURCE3 1 + angle_coeff @angle:os-ss-os harmonic 118.047 102.990 # SOURCE3 1 + angle_coeff @angle:o-ss-ss harmonic 88.228 112.700 # SOURCE2 1 + angle_coeff @angle:p2-ss-p2 harmonic 127.760 99.520 # SOURCE3 1 + angle_coeff @angle:p3-ss-p3 harmonic 117.165 101.670 # SOURCE3 1 + angle_coeff @angle:p5-ss-p5 harmonic 126.593 87.370 # SOURCE3_SOURCE5 11 1.2491 + angle_coeff @angle:s4-ss-s4 harmonic 71.661 96.080 # SOURCE3 1 + angle_coeff @angle:s4-ss-s6 harmonic 70.568 101.260 # SOURCE3 1 + angle_coeff @angle:s6-ss-s6 harmonic 71.193 101.810 # SOURCE3 1 + angle_coeff @angle:sh-ss-sh harmonic 70.979 107.540 # SOURCE3 1 + angle_coeff @angle:sh-ss-ss harmonic 71.215 106.530 # SOURCE3 1 + angle_coeff @angle:s-ss-s harmonic 67.904 115.040 # SOURCE3 1 + angle_coeff @angle:ss-ss-ss harmonic 70.653 107.930 # SOURCE4_SOURCE5 72 1.6368 + angle_coeff @angle:c3-sx-ca harmonic 72.223 96.640 # SOURCE4_SOURCE5 41 0.4942 + angle_coeff @angle:c3-sx-cc harmonic 73.054 95.180 # SOURCE4_SOURCE5 41 0.6549 + angle_coeff @angle:c3-sx-ce harmonic 72.861 95.290 # SOURCE3_SOURCE5 10 0.5723 + angle_coeff @angle:c3-sx-cf harmonic 72.861 95.290 # SOURCE3_SOURCE5 7 0.8172 + angle_coeff @angle:c3-sx-ne harmonic 93.362 90.060 # SOURCE3 5 1.9627 + angle_coeff @angle:c3-sx-nf harmonic 93.362 90.060 # SOURCE3 5 + angle_coeff @angle:c3-sx-o harmonic 91.942 107.520 # SOURCE3_SOURCE5 84 0.7996 + angle_coeff @angle:c3-sx-pe harmonic 91.537 94.320 # SOURCE3 7 0.5547 + angle_coeff @angle:c3-sx-pf harmonic 91.537 94.320 # SOURCE3 7 + angle_coeff @angle:c3-sx-px harmonic 88.346 96.460 # SOURCE3 3 1.3351 + angle_coeff @angle:c3-sx-py harmonic 88.211 95.670 # SOURCE3 1 + angle_coeff @angle:c3-sx-sx harmonic 67.226 91.470 # SOURCE3 4 1.9919 + angle_coeff @angle:c3-sx-sy harmonic 68.899 95.470 # SOURCE3 3 2.8422 + angle_coeff @angle:ca-sx-ca harmonic 72.893 95.750 # SOURCE3_SOURCE5 14 1.8607 + angle_coeff @angle:ca-sx-o harmonic 92.722 107.150 # SOURCE4_SOURCE5 86 0.9103 + angle_coeff @angle:c-sx-c3 harmonic 72.536 92.710 # SOURCE3 3 0.3095 + angle_coeff @angle:c-sx-c harmonic 74.104 86.850 # SOURCE3 1 + angle_coeff @angle:cc-sx-o harmonic 94.293 104.810 # SOURCE4_SOURCE5 45 1.5594 + angle_coeff @angle:ce-sx-ce harmonic 73.461 94.960 # SOURCE3 1 + angle_coeff @angle:ce-sx-o harmonic 92.502 108.230 # SOURCE3_SOURCE5 27 0.8358 + angle_coeff @angle:cf-sx-cf harmonic 73.461 94.960 # SOURCE3 1 + angle_coeff @angle:cf-sx-o harmonic 92.502 108.230 # SOURCE3_SOURCE5 22 0.9547 + angle_coeff @angle:c-sx-o harmonic 90.915 106.170 # SOURCE3 5 0.9477 + angle_coeff @angle:ne-sx-ne harmonic 107.648 106.450 # SOURCE3_SOURCE5 5 1.4815 + angle_coeff @angle:ne-sx-o harmonic 114.103 109.810 # SOURCE3_SOURCE5 13 1.0385 + angle_coeff @angle:nf-sx-nf harmonic 107.648 106.450 # SOURCE3_SOURCE5 5 1.4815 + angle_coeff @angle:nf-sx-o harmonic 114.103 109.810 # SOURCE3_SOURCE5 6 0.5536 + angle_coeff @angle:o-sx-pe harmonic 111.805 106.430 # SOURCE3 9 2.8345 + angle_coeff @angle:o-sx-pf harmonic 111.805 106.430 # SOURCE3 9 + angle_coeff @angle:o-sx-px harmonic 109.143 104.770 # SOURCE3 3 1.9810 + angle_coeff @angle:o-sx-py harmonic 106.155 109.130 # SOURCE3 7 5.6840 + angle_coeff @angle:o-sx-sx harmonic 79.764 104.650 # SOURCE3 6 3.0524 + angle_coeff @angle:o-sx-sy harmonic 85.123 103.410 # SOURCE3 5 0.9618 + angle_coeff @angle:pe-sx-pe harmonic 120.095 92.620 # SOURCE3 1 + angle_coeff @angle:pf-sx-pf harmonic 120.095 92.620 # SOURCE3 1 + angle_coeff @angle:py-sx-py harmonic 133.313 69.230 # SOURCE3 3 17.4143 + angle_coeff @angle:sx-sx-sx harmonic 69.059 84.900 # SOURCE3 1 + angle_coeff @angle:sy-sx-sy harmonic 69.768 93.520 # SOURCE3 1 + angle_coeff @angle:c3-sy-ca harmonic 70.945 103.930 # SOURCE4_SOURCE5 136 0.4172 + angle_coeff @angle:c3-sy-cc harmonic 71.767 101.950 # SOURCE4_SOURCE5 32 1.4362 + angle_coeff @angle:c3-sy-ce harmonic 71.136 103.530 # SOURCE3_SOURCE5 11 1.3594 + angle_coeff @angle:c3-sy-cf harmonic 71.136 103.530 # SOURCE3_SOURCE5 8 1.7429 + angle_coeff @angle:c3-sy-ne harmonic 92.368 102.190 # SOURCE3_SOURCE5 11 3.1966 + angle_coeff @angle:c3-sy-nf harmonic 92.368 102.190 # SOURCE3_SOURCE5 6 2.3703 + angle_coeff @angle:c3-sy-o harmonic 93.792 107.850 # SOURCE3_SOURCE5 283 0.5690 + angle_coeff @angle:c3-sy-pe harmonic 85.480 106.030 # SOURCE3 6 2.6117 + angle_coeff @angle:c3-sy-pf harmonic 85.480 106.030 # SOURCE3 6 + angle_coeff @angle:c3-sy-px harmonic 85.416 103.620 # SOURCE3 3 0.7078 + angle_coeff @angle:c3-sy-py harmonic 87.474 103.390 # SOURCE3 3 0.4563 + angle_coeff @angle:c3-sy-sx harmonic 66.097 104.640 # SOURCE3 3 4.6276 + angle_coeff @angle:c3-sy-sy harmonic 67.466 100.780 # SOURCE3 4 1.1633 + angle_coeff @angle:ca-sy-ca harmonic 71.127 104.440 # SOURCE4_SOURCE5 55 1.7845 + angle_coeff @angle:ca-sy-cc harmonic 71.045 105.090 # SOURCE4_SOURCE5 10 0.3628 + angle_coeff @angle:ca-sy-n3 harmonic 92.241 102.440 # SOURCE4_SOURCE5 407 1.1038 + angle_coeff @angle:ca-sy-n harmonic 90.479 105.370 # SOURCE4_SOURCE5 122 1.2203 + angle_coeff @angle:ca-sy-ne harmonic 92.539 103.010 # SOURCE4_SOURCE5 36 2.1672 + angle_coeff @angle:ca-sy-nh harmonic 90.475 105.500 # SOURCE4_SOURCE5 205 1.5936 + angle_coeff @angle:ca-sy-o harmonic 94.276 108.350 # SOURCE3_SOURCE5 1362 0.6985 + angle_coeff @angle:ca-sy-oh harmonic 93.834 101.300 # SOURCE4_SOURCE5 94 0.8210 + angle_coeff @angle:ca-sy-os harmonic 96.750 92.980 # SOURCE3 1 + angle_coeff @angle:c-sy-c3 harmonic 70.399 101.250 # SOURCE3 3 1.1850 + angle_coeff @angle:c-sy-c harmonic 69.867 99.810 # SOURCE3 1 + angle_coeff @angle:cc-sy-n3 harmonic 92.404 102.530 # CORR_SOURCE5 35 0.5689 + angle_coeff @angle:cc-sy-o harmonic 94.752 107.890 # CORR_SOURCE5 130 0.8911 + angle_coeff @angle:cd-sy-n3 harmonic 92.404 102.530 # CORR_SOURCE5 35 0.5689 + angle_coeff @angle:cd-sy-nh harmonic 94.463 97.200 # SOURCE4_SOURCE5 12 0.2429 + angle_coeff @angle:cd-sy-o harmonic 94.752 107.890 # CORR_SOURCE5 130 0.8911 + angle_coeff @angle:ce-sy-ce harmonic 71.811 102.780 # SOURCE3 1 + angle_coeff @angle:ce-sy-o harmonic 94.373 108.380 # SOURCE3_SOURCE5 66 0.9753 + angle_coeff @angle:cf-sy-cf harmonic 71.811 102.780 # SOURCE3 1 + angle_coeff @angle:cf-sy-o harmonic 94.373 108.380 # SOURCE3_SOURCE5 56 1.0516 + angle_coeff @angle:c-sy-o harmonic 91.740 107.480 # SOURCE3_SOURCE5 16 0.7996 + angle_coeff @angle:n2-sy-o harmonic 121.876 123.530 # SOURCE4 6 1.2388 + angle_coeff @angle:n3-sy-ne harmonic 120.039 101.930 # SOURCE4_SOURCE5 15 1.4395 + angle_coeff @angle:n3-sy-o harmonic 123.426 107.130 # SOURCE4_SOURCE5 863 1.1609 + angle_coeff @angle:na-sy-na harmonic 119.379 98.040 # SOURCE3 1 + angle_coeff @angle:nc-sy-nc harmonic 132.584 98.040 # SOURCE3 2 + angle_coeff @angle:nd-sy-nd harmonic 132.584 98.040 # SOURCE3 2 + angle_coeff @angle:ne-sy-ne harmonic 122.921 98.620 # SOURCE3 1 + angle_coeff @angle:ne-sy-o harmonic 123.169 109.650 # SOURCE3_SOURCE5 101 1.9902 + angle_coeff @angle:nf-sy-nf harmonic 122.921 98.620 # SOURCE3 1 + angle_coeff @angle:nf-sy-o harmonic 123.169 109.650 # SOURCE3_SOURCE5 87 1.9451 + angle_coeff @angle:nh-sy-o harmonic 123.056 106.230 # SOURCE4_SOURCE5 319 1.7353 + angle_coeff @angle:n-sy-o harmonic 122.195 107.540 # SOURCE4_SOURCE5 155 1.8699 + angle_coeff @angle:o-sy-o harmonic 126.375 121.410 # SOURCE3_SOURCE5 734 0.8526 + angle_coeff @angle:o-sy-oh harmonic 125.990 106.680 # SOURCE3_SOURCE5 166 0.5588 + angle_coeff @angle:o-sy-os harmonic 123.063 107.520 # SOURCE4_SOURCE5 38 1.6656 + angle_coeff @angle:o-sy-pe harmonic 109.504 106.900 # SOURCE3 12 1.4524 + angle_coeff @angle:o-sy-pf harmonic 109.504 106.900 # SOURCE3 12 + angle_coeff @angle:o-sy-px harmonic 108.122 106.170 # SOURCE3 6 0.7059 + angle_coeff @angle:o-sy-py harmonic 111.153 106.670 # SOURCE3 10 0.6478 + angle_coeff @angle:o-sy-sx harmonic 83.961 106.330 # SOURCE3 10 2.0456 + angle_coeff @angle:o-sy-sy harmonic 84.205 106.190 # SOURCE3 12 0.1754 + angle_coeff @angle:py-sy-py harmonic 112.342 104.490 # SOURCE3 1 + angle_coeff @angle:sx-sy-sx harmonic 66.808 101.990 # SOURCE3 1 + angle_coeff @angle:sy-sy-sy harmonic 66.534 103.290 # SOURCE3 1 + angle_coeff @angle:c2-c1-cf harmonic 60.047 179.050 # SOURCE4_SOURCE5 9 0.3913 + angle_coeff @angle:c3-c1-ch harmonic 57.725 178.430 # SOURCE4_SOURCE5 95 0.5682 + angle_coeff @angle:nf-c1-s harmonic 73.610 175.820 # SOURCE4_SOURCE5 15 0.2067 + angle_coeff @angle:br-c2-cf harmonic 64.279 121.530 # SOURCE4_SOURCE5 11 0.7009 + angle_coeff @angle:cd-c2-h4 harmonic 49.786 119.850 # SOURCE4_SOURCE5 16 0.8001 + angle_coeff @angle:cd-c2-nh harmonic 86.562 123.120 # SOURCE4_SOURCE5 17 1.2171 + angle_coeff @angle:cd-c2-o harmonic 91.352 123.590 # SOURCE4_SOURCE5 6 0.0560 + angle_coeff @angle:cf-c2-cl harmonic 72.107 123.470 # SOURCE4_SOURCE5 30 1.0225 + angle_coeff @angle:cf-c2-h4 harmonic 49.654 122.310 # SOURCE4_SOURCE5 145 1.6214 + angle_coeff @angle:cf-c2-na harmonic 86.108 124.170 # SOURCE4_SOURCE5 6 1.9423 + angle_coeff @angle:cf-c2-nh harmonic 87.822 120.710 # SOURCE4_SOURCE5 150 2.3947 + angle_coeff @angle:cf-c2-no harmonic 86.097 119.650 # SOURCE4_SOURCE5 5 0.9817 + angle_coeff @angle:cf-c2-o harmonic 91.992 123.370 # SOURCE4_SOURCE5 9 1.0481 + angle_coeff @angle:cf-c2-oh harmonic 88.571 123.130 # SOURCE4_SOURCE5 62 1.7479 + angle_coeff @angle:cf-c2-os harmonic 87.995 122.800 # SOURCE4_SOURCE5 98 2.2743 + angle_coeff @angle:h4-c2-nf harmonic 64.858 119.510 # SOURCE4_SOURCE5 42 1.6302 + angle_coeff @angle:h5-c2-nf harmonic 64.691 119.850 # SOURCE4_SOURCE5 27 1.3790 + angle_coeff @angle:nf-c2-os harmonic 114.213 118.760 # SOURCE4 5 + angle_coeff @angle:nf-c2-ss harmonic 82.205 120.510 # SOURCE4_SOURCE5 23 2.4188 + angle_coeff @angle:n-c2-nf harmonic 109.323 125.340 # SOURCE4_SOURCE5 15 1.5591 + angle_coeff @angle:ca-c3-cf harmonic 65.618 112.210 # SOURCE4_SOURCE5 93 1.2595 + angle_coeff @angle:cd-c3-cx harmonic 65.894 112.100 # SOURCE4_SOURCE5 7 1.7201 + angle_coeff @angle:c-c3-cf harmonic 65.527 111.890 # SOURCE4_SOURCE5 59 1.5769 + angle_coeff @angle:cd-c3-hx harmonic 47.588 111.010 # SOURCE4_SOURCE5 10 0.7123 + angle_coeff @angle:cd-c3-n2 harmonic 84.630 110.310 # SOURCE4_SOURCE5 21 0.5628 + angle_coeff @angle:cd-c3-n4 harmonic 81.467 115.580 # SOURCE4_SOURCE5 6 1.1723 + angle_coeff @angle:cd-c3-na harmonic 83.647 113.150 # SOURCE4_SOURCE5 10 0.6466 + angle_coeff @angle:cd-c3-p5 harmonic 79.513 116.230 # SOURCE4_SOURCE5 6 0.7766 + angle_coeff @angle:cf-c3-cf harmonic 65.833 111.470 # SOURCE4_SOURCE5 35 0.5985 + angle_coeff @angle:cf-c3-n harmonic 84.349 110.220 # SOURCE4_SOURCE5 10 1.0919 + angle_coeff @angle:cf-c3-oh harmonic 84.971 111.190 # SOURCE4_SOURCE5 57 1.5702 + angle_coeff @angle:cf-c3-os harmonic 85.412 109.500 # SOURCE4_SOURCE5 55 1.8883 + angle_coeff @angle:cf-c3-ss harmonic 63.337 110.720 # SOURCE4_SOURCE5 12 1.7025 + angle_coeff @angle:cd-ca-cq harmonic 66.010 124.300 # SOURCE4_SOURCE5 10 0.6423 + angle_coeff @angle:cf-ca-na harmonic 84.062 119.920 # SOURCE4_SOURCE5 29 0.5242 + angle_coeff @angle:ch-ca-cq harmonic 67.320 121.530 # SOURCE4_SOURCE5 12 0.1831 + angle_coeff @angle:cl-ca-cq harmonic 71.726 120.390 # SOURCE4_SOURCE5 34 0.5366 + angle_coeff @angle:cq-ca-f harmonic 88.831 119.420 # SOURCE4_SOURCE5 30 0.2799 + angle_coeff @angle:cq-ca-h4 harmonic 48.404 120.090 # SOURCE4_SOURCE5 35 0.4098 + angle_coeff @angle:cq-ca-na harmonic 90.665 108.790 # SOURCE4_SOURCE5 349 0.5003 + angle_coeff @angle:cq-ca-nb harmonic 86.369 123.580 # SOURCE4_SOURCE5 79 0.8527 + angle_coeff @angle:cq-ca-nh harmonic 85.714 121.560 # SOURCE4_SOURCE5 19 0.6123 + angle_coeff @angle:cq-ca-oh harmonic 86.623 120.850 # SOURCE4_SOURCE5 29 1.4592 + angle_coeff @angle:cq-ca-ss harmonic 65.950 111.170 # SOURCE4_SOURCE5 16 2.4162 + angle_coeff @angle:ca-c-nf harmonic 85.290 114.710 # SOURCE4_SOURCE5 9 0.7464 + angle_coeff @angle:br-cd-c harmonic 65.156 116.280 # SOURCE4_SOURCE5 24 1.3164 + angle_coeff @angle:br-cd-cd harmonic 63.389 124.050 # SOURCE4_SOURCE5 23 1.9356 + angle_coeff @angle:br-cd-cc harmonic 63.686 124.230 # SOURCE4_SOURCE5 84 2.2845 + angle_coeff @angle:br-cd-na harmonic 80.565 121.580 # SOURCE4_SOURCE5 13 0.9881 + angle_coeff @angle:ca-cd-cf harmonic 64.258 127.010 # SOURCE4_SOURCE5 27 1.6430 + angle_coeff @angle:ca-cd-nh harmonic 84.253 122.130 # SOURCE4_SOURCE5 11 2.0536 + angle_coeff @angle:cd-c-cf harmonic 66.433 115.570 # SOURCE4_SOURCE5 8 1.2130 + angle_coeff @angle:cd-cd-f harmonic 88.377 119.190 # SOURCE4_SOURCE5 19 1.0481 + angle_coeff @angle:c-cd-ch harmonic 67.046 117.880 # SOURCE4_SOURCE5 19 0.6396 + angle_coeff @angle:cd-cd-sy harmonic 61.106 128.250 # SOURCE4_SOURCE5 12 0.8482 + angle_coeff @angle:cc-cd-f harmonic 89.570 121.190 # SOURCE4_SOURCE5 54 0.6386 + angle_coeff @angle:cc-cd-no harmonic 82.947 128.690 # SOURCE4_SOURCE5 197 1.4212 + angle_coeff @angle:c-cd-f harmonic 87.759 116.980 # SOURCE4_SOURCE5 33 0.4384 + angle_coeff @angle:ch-cd-na harmonic 84.878 122.610 # SOURCE4_SOURCE5 7 1.0826 + angle_coeff @angle:ch-cd-ss harmonic 63.762 120.730 # SOURCE4_SOURCE5 15 0.9326 + angle_coeff @angle:cd-c-h4 harmonic 47.598 114.830 # SOURCE4_SOURCE5 20 0.4400 + angle_coeff @angle:cl-cd-na harmonic 90.511 121.120 # SOURCE4_SOURCE5 25 0.9015 + angle_coeff @angle:cl-cd-ss harmonic 71.934 119.850 # SOURCE4_SOURCE5 16 0.8775 + angle_coeff @angle:c-cd-nf harmonic 84.503 119.880 # SOURCE4 6 + angle_coeff @angle:cd-c-s harmonic 64.011 126.280 # SOURCE4_SOURCE5 57 2.2083 + angle_coeff @angle:cd-c-ss harmonic 64.406 112.400 # SOURCE4_SOURCE5 32 1.0830 + angle_coeff @angle:cx-cd-nc harmonic 83.147 127.820 # SOURCE4_SOURCE5 15 1.5594 + angle_coeff @angle:cx-cd-os harmonic 85.414 118.070 # SOURCE4_SOURCE5 13 0.0898 + angle_coeff @angle:cc-c-cx harmonic 65.553 117.430 # SOURCE4_SOURCE5 24 0.1441 + angle_coeff @angle:cc-c-nc harmonic 86.534 113.750 # SOURCE4_SOURCE5 14 0.0860 + angle_coeff @angle:cf-c-cx harmonic 65.246 117.390 # SOURCE4_SOURCE5 13 0.7631 + angle_coeff @angle:cf-c-h4 harmonic 47.181 114.890 # SOURCE4_SOURCE5 94 0.4993 + angle_coeff @angle:cf-c-ss harmonic 64.794 110.490 # SOURCE4_SOURCE5 8 0.5728 + angle_coeff @angle:na-cd-no harmonic 105.313 124.590 # SOURCE4_SOURCE5 114 0.8160 + angle_coeff @angle:na-cd-oh harmonic 111.744 117.480 # SOURCE4_SOURCE5 23 1.0304 + angle_coeff @angle:na-cd-sx harmonic 79.683 117.020 # SOURCE4_SOURCE5 19 0.3766 + angle_coeff @angle:na-cd-sy harmonic 79.507 120.460 # SOURCE4_SOURCE5 8 1.7069 + angle_coeff @angle:nd-cd-no harmonic 106.922 121.730 # SOURCE4_SOURCE5 10 0.8384 + angle_coeff @angle:nc-cd-nc harmonic 110.827 128.070 # SOURCE4_SOURCE5 10 0.4198 + angle_coeff @angle:nc-cd-nf harmonic 107.796 129.010 # SOURCE4_SOURCE5 13 1.6879 + angle_coeff @angle:nc-cd-no harmonic 108.240 122.750 # SOURCE4_SOURCE5 64 0.2909 + angle_coeff @angle:nc-cd-sh harmonic 79.198 124.970 # SOURCE4_SOURCE5 13 0.8081 + angle_coeff @angle:nc-cd-sx harmonic 76.768 127.740 # SOURCE4_SOURCE5 19 0.3234 + angle_coeff @angle:nc-cd-sy harmonic 79.255 123.030 # SOURCE4_SOURCE5 20 1.2273 + angle_coeff @angle:nf-cd-ss harmonic 81.707 117.030 # SOURCE4_SOURCE5 10 0.2421 + angle_coeff @angle:n-cd-n2 harmonic 112.932 119.420 # SOURCE4_SOURCE5 13 0.1189 + angle_coeff @angle:no-cd-os harmonic 109.068 117.550 # SOURCE4_SOURCE5 82 0.2764 + angle_coeff @angle:no-cd-ss harmonic 79.693 121.060 # SOURCE4_SOURCE5 23 0.2526 + angle_coeff @angle:ca-cc-cf harmonic 66.694 124.900 # SOURCE4_SOURCE5 32 1.6591 + angle_coeff @angle:ca-cc-na harmonic 83.626 123.450 # SOURCE4 39 + angle_coeff @angle:cd-cc-cg harmonic 67.080 125.790 # SOURCE4_SOURCE5 54 1.7418 + angle_coeff @angle:cd-cc-cy harmonic 65.987 122.050 # SOURCE4_SOURCE5 12 0.8462 + angle_coeff @angle:cd-cc-nd harmonic 88.069 123.820 # SOURCE4_SOURCE5 14 0.3678 + angle_coeff @angle:cc-cc-cy harmonic 64.938 122.040 # SOURCE4_SOURCE5 7 0.2293 + angle_coeff @angle:cf-cc-nc harmonic 86.641 123.980 # SOURCE4_SOURCE5 5 2.4219 + angle_coeff @angle:c-cc-h4 harmonic 47.105 118.190 # SOURCE4_SOURCE5 8 0.2226 + angle_coeff @angle:na-cc-nh harmonic 110.794 117.280 # SOURCE4_SOURCE5 54 1.7570 + angle_coeff @angle:na-cc-ss harmonic 83.703 111.460 # SOURCE4 20 + angle_coeff @angle:nc-cc-nc harmonic 107.603 125.700 # SOURCE4_SOURCE5 18 0.6787 + angle_coeff @angle:oh-cc-os harmonic 115.442 111.610 # SOURCE4_SOURCE5 6 1.1909 + angle_coeff @angle:c2-cf-cl harmonic 72.080 119.760 # SOURCE4_SOURCE5 38 1.3369 + angle_coeff @angle:c2-cf-h4 harmonic 49.154 124.550 # SOURCE4_SOURCE5 32 1.8945 + angle_coeff @angle:c2-cf-n1 harmonic 91.289 118.230 # SOURCE4_SOURCE5 11 1.2780 + angle_coeff @angle:c2-cf-na harmonic 87.216 119.190 # SOURCE4_SOURCE5 5 0.8452 + angle_coeff @angle:c2-cf-oh harmonic 87.984 123.700 # SOURCE4_SOURCE5 17 1.7138 + angle_coeff @angle:c3-cf-ch harmonic 66.013 117.220 # SOURCE4_SOURCE5 26 1.7890 + angle_coeff @angle:c3-cf-ne harmonic 84.378 120.680 # SOURCE4_SOURCE5 7 2.0560 + angle_coeff @angle:c3-cf-nh harmonic 82.733 119.560 # SOURCE4_SOURCE5 5 1.0524 + angle_coeff @angle:ca-cf-cf harmonic 65.684 119.540 # SOURCE4_SOURCE5 18 1.9239 + angle_coeff @angle:ca-cf-cl harmonic 72.181 114.590 # SOURCE4_SOURCE5 8 0.9719 + angle_coeff @angle:ca-cf-h4 harmonic 47.047 116.990 # SOURCE4_SOURCE5 181 1.0407 + angle_coeff @angle:ca-cf-nh harmonic 85.466 115.580 # SOURCE4_SOURCE5 147 1.1060 + angle_coeff @angle:ca-cf-os harmonic 85.838 115.910 # SOURCE4_SOURCE5 17 1.5899 + angle_coeff @angle:ca-cf-ss harmonic 63.378 117.520 # SOURCE4_SOURCE5 9 1.2901 + angle_coeff @angle:c-cf-ca harmonic 65.478 118.280 # SOURCE4_SOURCE5 17 1.7879 + angle_coeff @angle:cd-cf-cc harmonic 65.259 130.610 # SOURCE4_SOURCE5 19 0.8270 + angle_coeff @angle:c-cf-cf harmonic 65.150 120.980 # SOURCE4_SOURCE5 37 2.3876 + angle_coeff @angle:c-cf-ch harmonic 66.500 118.420 # SOURCE4_SOURCE5 34 1.0602 + angle_coeff @angle:cd-cf-h4 harmonic 47.935 115.680 # SOURCE4_SOURCE5 48 0.8279 + angle_coeff @angle:c-cf-cl harmonic 71.821 115.470 # SOURCE4_SOURCE5 19 1.2383 + angle_coeff @angle:cd-cf-nh harmonic 85.299 118.050 # SOURCE4_SOURCE5 13 1.6005 + angle_coeff @angle:c-cf-cy harmonic 74.704 88.440 # SOURCE4_SOURCE5 34 1.2419 + angle_coeff @angle:cf-cf-cl harmonic 71.617 117.220 # SOURCE4_SOURCE5 23 1.1321 + angle_coeff @angle:cf-cf-oh harmonic 86.685 116.850 # SOURCE4_SOURCE5 19 1.5331 + angle_coeff @angle:ce-cf-cy harmonic 62.247 137.580 # SOURCE4_SOURCE5 18 1.4229 + angle_coeff @angle:ce-cf-h4 harmonic 49.339 122.950 # SOURCE4_SOURCE5 18 1.1766 + angle_coeff @angle:ce-cf-n1 harmonic 90.464 119.940 # SOURCE4_SOURCE5 7 1.8420 + angle_coeff @angle:ce-cf-nh harmonic 87.337 121.380 # SOURCE4_SOURCE5 27 1.6583 + angle_coeff @angle:ch-cf-n2 harmonic 87.851 121.140 # SOURCE4_SOURCE5 8 0.9418 + angle_coeff @angle:c-cf-oh harmonic 86.196 115.760 # SOURCE4_SOURCE5 15 2.2145 + angle_coeff @angle:c-cf-os harmonic 86.086 114.670 # SOURCE4_SOURCE5 26 2.3740 + angle_coeff @angle:h4-cf-n1 harmonic 64.863 116.640 # SOURCE4_SOURCE5 12 0.5604 + angle_coeff @angle:h4-cf-nf harmonic 62.153 115.650 # SOURCE4_SOURCE5 12 1.7190 + angle_coeff @angle:n2-cf-os harmonic 114.215 117.950 # SOURCE4_SOURCE5 13 0.4519 + angle_coeff @angle:n2-cf-ss harmonic 81.512 117.230 # SOURCE4 6 + angle_coeff @angle:nf-cf-nh harmonic 111.319 113.640 # SOURCE4_SOURCE5 29 1.5167 + angle_coeff @angle:ne-cf-nh harmonic 112.342 119.270 # SOURCE4_SOURCE5 17 1.8891 + angle_coeff @angle:ca-ce-cd harmonic 64.611 130.880 # SOURCE4_SOURCE5 29 1.2258 + angle_coeff @angle:c-ce-cc harmonic 66.092 117.820 # SOURCE4_SOURCE5 19 0.9022 + angle_coeff @angle:c-ce-n2 harmonic 88.177 114.410 # SOURCE4_SOURCE5 8 1.4615 + angle_coeff @angle:h4-ce-nf harmonic 64.320 120.560 # SOURCE4_SOURCE5 33 0.8495 + angle_coeff @angle:c1-ch-cd harmonic 58.883 178.610 # SOURCE4_SOURCE5 7 0.3553 + angle_coeff @angle:ch-cg-cg harmonic 60.571 179.580 # SOURCE4_SOURCE5 48 0.3197 + angle_coeff @angle:n-c-nf harmonic 113.600 110.260 # SOURCE4_SOURCE5 15 1.6743 + angle_coeff @angle:ca-cq-na harmonic 86.507 119.500 # SOURCE4_SOURCE5 38 0.8587 + angle_coeff @angle:nb-cq-nb harmonic 110.031 125.790 # SOURCE4_SOURCE5 6 0.6645 + angle_coeff @angle:cd-cx-hc harmonic 47.813 113.930 # SOURCE4_SOURCE5 29 0.6832 + angle_coeff @angle:cf-cy-h2 harmonic 45.874 117.400 # SOURCE4_SOURCE5 21 0.5798 + angle_coeff @angle:cf-cy-n harmonic 94.195 87.940 # SOURCE4_SOURCE5 24 0.2234 + angle_coeff @angle:cf-cy-ss harmonic 60.454 120.540 # SOURCE4_SOURCE5 21 2.1971 + angle_coeff @angle:cd-n2-na harmonic 91.793 109.240 # SOURCE4_SOURCE5 14 1.5712 + angle_coeff @angle:cd-n2-nh harmonic 88.704 118.470 # SOURCE4_SOURCE5 7 1.6660 + angle_coeff @angle:c3-n4-cd harmonic 64.438 111.040 # SOURCE4_SOURCE5 11 1.9847 + angle_coeff @angle:c3-na-cq harmonic 65.414 119.620 # SOURCE4_SOURCE5 10 0.5495 + angle_coeff @angle:ca-na-cq harmonic 67.035 120.860 # SOURCE4_SOURCE5 38 1.4370 + angle_coeff @angle:cd-na-cf harmonic 64.694 126.610 # SOURCE4_SOURCE5 8 0.5158 + angle_coeff @angle:cq-nb-nb harmonic 86.918 120.960 # SOURCE4_SOURCE5 20 0.6372 + angle_coeff @angle:c-n-cf harmonic 63.457 131.380 # SOURCE4_SOURCE5 225 1.7874 + angle_coeff @angle:ca-nc-nd harmonic 92.520 108.340 # SOURCE4_SOURCE5 14 0.2755 + angle_coeff @angle:c2-nf-ch harmonic 70.178 123.230 # SOURCE4_SOURCE5 27 1.1966 + angle_coeff @angle:c-nf-sy harmonic 65.604 116.430 # SOURCE4_SOURCE5 10 2.0084 + angle_coeff @angle:c3-nh-ce harmonic 65.126 120.120 # SOURCE4_SOURCE5 32 2.1639 + angle_coeff @angle:cd-nh-n2 harmonic 85.504 120.090 # SOURCE4_SOURCE5 16 0.9182 + angle_coeff @angle:cd-nh-sy harmonic 62.976 122.520 # SOURCE4_SOURCE5 37 1.3342 + angle_coeff @angle:cf-nh-sy harmonic 65.279 113.390 # SOURCE4_SOURCE5 8 1.1060 + angle_coeff @angle:hn-n-nd harmonic 62.278 115.420 # SOURCE4_SOURCE5 24 0.7584 + angle_coeff @angle:cd-no-o harmonic 87.737 117.490 # SOURCE4_SOURCE5 426 0.5387 + angle_coeff @angle:n3-py-nf harmonic 79.409 108.760 # SOURCE4_SOURCE5 18 1.1434 + angle_coeff @angle:cd-s6-o harmonic 95.603 103.760 # SOURCE4_SOURCE5 15 0.9562 + angle_coeff @angle:cd-sh-hs harmonic 53.591 95.010 # SOURCE4_SOURCE5 15 1.4000 + angle_coeff @angle:c-ss-cd harmonic 75.135 94.890 # SOURCE4_SOURCE5 18 1.2231 + angle_coeff @angle:c3-sx-cd harmonic 73.054 95.180 # SOURCE4_SOURCE5 24 0.6543 + angle_coeff @angle:cd-sx-o harmonic 94.293 104.810 # SOURCE4_SOURCE5 28 1.4279 + angle_coeff @angle:c3-sy-cd harmonic 71.767 101.950 # SOURCE4_SOURCE5 20 1.3784 + angle_coeff @angle:ca-sy-cd harmonic 71.045 105.090 # SOURCE4_SOURCE5 5 0.3628 + angle_coeff @angle:ca-sy-nf harmonic 92.539 103.010 # SOURCE4_SOURCE5 25 2.4137 + angle_coeff @angle:cc-sy-nh harmonic 94.463 97.200 # SOURCE4_SOURCE5 6 0.2429 + angle_coeff @angle:n3-sy-nf harmonic 120.039 101.930 # SOURCE4_SOURCE5 10 1.4898 + angle_coeff @angle:cl-py-ne harmonic 67.181 109.160 # SOURCE5 79 0.9726 + angle_coeff @angle:ce-ce-nh harmonic 85.786 116.410 # SOURCE5 70 1.9262 + angle_coeff @angle:cp-ca-os harmonic 87.894 116.910 # SOURCE5 38 1.2997 + angle_coeff @angle:ca-cc-ca harmonic 65.280 122.940 # SOURCE5 37 2.3284 + angle_coeff @angle:h1-c3-i harmonic 39.280 103.880 # SOURCE5 43 0.8359 + angle_coeff @angle:h4-c2-h4 harmonic 37.559 117.920 # SOURCE5 46 1.0787 + angle_coeff @angle:c-ss-ss harmonic 72.810 97.680 # SOURCE5 29 1.7788 + angle_coeff @angle:f-py-ne harmonic 83.682 108.600 # SOURCE5 47 0.7739 + angle_coeff @angle:ca-nh-ce harmonic 65.017 127.740 # SOURCE5 32 0.9569 + angle_coeff @angle:ce-cx-cx harmonic 64.347 118.620 # SOURCE5 40 1.7472 + angle_coeff @angle:py-ne-py harmonic 111.020 121.410 # SOURCE5 34 1.5196 + angle_coeff @angle:c-cd-ss harmonic 62.961 121.970 # SOURCE5 29 2.1476 + angle_coeff @angle:s-p5-ss harmonic 46.401 116.670 # SOURCE5 27 1.1060 + angle_coeff @angle:cx-c3-nh harmonic 86.752 103.860 # SOURCE5 29 2.2522 + angle_coeff @angle:cc-cc-cl harmonic 72.034 119.990 # SOURCE5 43 1.9574 + angle_coeff @angle:cd-na-cx harmonic 66.440 116.390 # SOURCE5 14 0.5535 + angle_coeff @angle:h1-cy-nh harmonic 59.704 113.860 # SOURCE5 31 0.8499 + angle_coeff @angle:h5-c-os harmonic 63.962 113.090 # SOURCE5 20 0.1826 + angle_coeff @angle:c2-c3-n4 harmonic 81.944 113.640 # SOURCE5 18 2.3563 + angle_coeff @angle:c2-cx-c3 harmonic 65.275 115.480 # SOURCE5 22 1.1986 + angle_coeff @angle:c3-c2-cx harmonic 64.810 117.870 # SOURCE5 20 2.2886 + angle_coeff @angle:br-cx-cx harmonic 62.999 119.040 # SOURCE5 21 0.7114 + angle_coeff @angle:cc-cf-ch harmonic 68.168 122.270 # SOURCE5 30 0.9028 + angle_coeff @angle:c3-c3-sx harmonic 63.092 110.500 # SOURCE5 14 1.4461 + angle_coeff @angle:ca-cy-hc harmonic 46.450 114.530 # SOURCE5 17 1.6221 + angle_coeff @angle:cx-c1-n1 harmonic 74.188 178.250 # SOURCE5 17 0.8798 + angle_coeff @angle:cl-py-cl harmonic 61.568 101.950 # SOURCE5 12 0.7596 + angle_coeff @angle:c2-ce-cx harmonic 66.366 122.740 # SOURCE5 23 1.5745 + angle_coeff @angle:c3-c-cx harmonic 64.715 116.040 # SOURCE5 14 1.1793 + angle_coeff @angle:cf-cc-os harmonic 87.197 123.070 # SOURCE5 15 1.3662 + angle_coeff @angle:cd-cd-cl harmonic 72.034 119.990 # SOURCE5 43 1.9574 + angle_coeff @angle:c3-py-ca harmonic 46.073 107.270 # SOURCE5 20 1.8136 + angle_coeff @angle:c3-c3-py harmonic 80.645 111.570 # SOURCE5 14 1.9142 + angle_coeff @angle:c3-py-s harmonic 46.250 113.850 # SOURCE5 14 0.3847 + angle_coeff @angle:ca-c-cx harmonic 64.997 117.660 # SOURCE5 20 1.5268 + angle_coeff @angle:ce-ce-os harmonic 86.756 115.190 # SOURCE5 15 2.1777 + angle_coeff @angle:c3-n4-cx harmonic 62.636 117.290 # SOURCE5 15 0.3164 + angle_coeff @angle:h4-ce-sy harmonic 42.563 115.000 # SOURCE5 20 1.1588 + angle_coeff @angle:hx-cy-n4 harmonic 58.977 110.620 # SOURCE5 14 1.8211 + angle_coeff @angle:cy-no-o harmonic 84.157 116.830 # SOURCE5 17 1.1181 + angle_coeff @angle:cc-cd-cx harmonic 66.301 124.150 # SOURCE5 10 1.8770 + angle_coeff @angle:ca-nb-na harmonic 87.254 118.780 # SOURCE5 10 0.6408 + angle_coeff @angle:cl-c3-cy harmonic 71.118 111.890 # SOURCE5 12 0.7377 + angle_coeff @angle:f-c2-h4 harmonic 66.183 112.050 # SOURCE5 13 0.7763 + angle_coeff @angle:ca-py-s harmonic 45.997 116.310 # SOURCE5 11 1.2602 + angle_coeff @angle:cl-c3-cx harmonic 71.664 110.760 # SOURCE5 9 1.3315 + angle_coeff @angle:ca-nh-cy harmonic 63.219 126.620 # SOURCE5 12 1.1353 + angle_coeff @angle:cy-cy-no harmonic 79.836 115.430 # SOURCE5 15 1.0848 + angle_coeff @angle:ce-n1-n1 harmonic 77.561 177.620 # SOURCE5 10 0.5740 + angle_coeff @angle:cy-cy-hx harmonic 45.080 115.920 # SOURCE5 9 1.5918 + angle_coeff @angle:ce-n-hn harmonic 48.071 113.830 # SOURCE5 11 1.3642 + angle_coeff @angle:c3-cx-cu harmonic 63.779 120.910 # SOURCE5 11 0.4272 + angle_coeff @angle:cf-cf-ne harmonic 86.585 120.790 # SOURCE5 9 1.8014 + angle_coeff @angle:f-p5-na harmonic 88.711 89.260 # SOURCE5 12 1.2991 + angle_coeff @angle:h4-ce-nh harmonic 62.318 115.580 # SOURCE5 10 0.8050 + angle_coeff @angle:ne-c-s harmonic 82.148 124.230 # SOURCE5 9 1.7990 + angle_coeff @angle:ca-os-py harmonic 83.011 123.310 # SOURCE5 12 0.8994 + angle_coeff @angle:cf-ce-cl harmonic 71.390 121.940 # SOURCE5 20 1.2372 + angle_coeff @angle:cy-cy-n4 harmonic 90.361 89.940 # SOURCE5 10 0.7009 + angle_coeff @angle:na-cc-sh harmonic 79.224 122.950 # SOURCE5 9 1.1542 + angle_coeff @angle:nb-na-o harmonic 113.391 118.130 # SOURCE5 11 0.6838 + angle_coeff @angle:c-cx-n3 harmonic 82.187 116.960 # SOURCE5 11 1.3298 + angle_coeff @angle:cd-cy-hc harmonic 48.302 107.200 # SOURCE5 8 0.5300 + angle_coeff @angle:f-c3-no harmonic 111.081 107.760 # SOURCE5 11 0.3179 + angle_coeff @angle:ce-cd-na harmonic 85.967 124.930 # SOURCE5 9 0.9918 + angle_coeff @angle:cq-cp-cq harmonic 69.705 108.020 # SOURCE5 24 0.5633 + angle_coeff @angle:os-py-s harmonic 59.825 116.220 # SOURCE5 11 0.4580 + angle_coeff @angle:c-c3-cy harmonic 65.476 110.880 # SOURCE5 9 1.4172 + angle_coeff @angle:cy-c2-ha harmonic 45.849 118.590 # SOURCE5 5 1.8406 + angle_coeff @angle:cp-cq-cp harmonic 69.705 108.020 # SOURCE5 24 0.5633 + angle_coeff @angle:cx-cu-cx harmonic 89.228 63.190 # SOURCE5 12 0.2140 + angle_coeff @angle:cu-c2-ha harmonic 50.414 121.490 # SOURCE5 12 0.1524 + angle_coeff @angle:cd-ce-cg harmonic 68.168 122.270 # SOURCE5 30 0.9028 + angle_coeff @angle:cf-ne-ne harmonic 87.949 113.170 # SOURCE5 15 1.6715 + angle_coeff @angle:c3-c2-no harmonic 82.781 115.940 # SOURCE5 9 0.9963 + angle_coeff @angle:f-cy-f harmonic 120.355 108.560 # SOURCE5 9 1.2393 + angle_coeff @angle:c2-cy-hc harmonic 46.979 112.800 # SOURCE5 10 0.5936 + angle_coeff @angle:c3-c2-cy harmonic 64.260 117.990 # SOURCE5 10 1.8958 + angle_coeff @angle:c-ce-h4 harmonic 46.659 118.080 # SOURCE5 8 2.4522 + angle_coeff @angle:cf-cc-n harmonic 86.203 124.200 # SOURCE5 10 0.8706 + angle_coeff @angle:cd-cc-i harmonic 60.056 124.280 # SOURCE5 14 1.7120 + angle_coeff @angle:ce-cf-cl harmonic 71.390 121.940 # SOURCE5 20 1.2372 + angle_coeff @angle:cl-c3-p5 harmonic 92.521 109.520 # SOURCE5 9 0.8307 + angle_coeff @angle:c2-c3-no harmonic 83.742 107.190 # SOURCE5 9 0.5470 + angle_coeff @angle:ce-nf-nf harmonic 87.949 113.170 # SOURCE5 15 1.6715 + angle_coeff @angle:c1-c3-cx harmonic 66.544 112.350 # SOURCE5 11 0.3186 + angle_coeff @angle:ce-c3-h2 harmonic 46.896 112.270 # SOURCE5 9 0.2011 + angle_coeff @angle:na-cd-na harmonic 115.931 106.600 # SOURCE5 10 1.3968 + angle_coeff @angle:cx-cx-n4 harmonic 113.255 60.300 # SOURCE5 10 0.1253 + angle_coeff @angle:c1-cx-hc harmonic 48.408 114.860 # SOURCE5 6 0.1269 + angle_coeff @angle:cg-ca-nb harmonic 87.852 116.870 # SOURCE5 10 0.6088 + angle_coeff @angle:ce-c2-f harmonic 90.032 122.620 # SOURCE5 11 1.4117 + angle_coeff @angle:cp-ca-cq harmonic 70.964 111.520 # SOURCE5 8 0.0849 + angle_coeff @angle:cl-py-nf harmonic 67.181 109.160 # SOURCE5 79 0.9726 + angle_coeff @angle:ca-c3-cy harmonic 65.233 112.320 # SOURCE5 7 0.8064 + angle_coeff @angle:ch-cd-nd harmonic 85.036 123.030 # SOURCE5 7 0.2371 + angle_coeff @angle:h1-cy-ss harmonic 41.667 111.560 # SOURCE5 6 1.1376 + angle_coeff @angle:h5-cc-n2 harmonic 63.976 123.280 # SOURCE5 5 1.2554 + angle_coeff @angle:cc-na-cy harmonic 64.047 126.730 # SOURCE5 13 0.8228 + angle_coeff @angle:c-c3-no harmonic 83.428 106.990 # SOURCE5 8 1.0618 + angle_coeff @angle:c3-py-c3 harmonic 46.116 105.720 # SOURCE5 10 2.4094 + angle_coeff @angle:hx-c3-n3 harmonic 60.702 111.730 # SOURCE5 10 0.1463 + angle_coeff @angle:cf-cf-nh harmonic 85.786 116.410 # SOURCE5 70 1.9262 + angle_coeff @angle:c3-n3-py harmonic 81.527 118.270 # SOURCE5 8 1.5513 + angle_coeff @angle:h5-c2-os harmonic 64.726 110.950 # SOURCE5 9 1.4177 + angle_coeff @angle:cc-c3-ce harmonic 66.308 110.890 # SOURCE5 7 2.0183 + angle_coeff @angle:n4-c3-p5 harmonic 104.054 106.090 # SOURCE5 10 1.7975 + angle_coeff @angle:ne-cd-ss harmonic 79.536 126.000 # SOURCE5 6 1.6775 + angle_coeff @angle:na-cd-ne harmonic 111.251 122.470 # SOURCE5 7 2.4448 + angle_coeff @angle:cl-c3-h3 harmonic 48.652 107.660 # SOURCE5 10 0.1942 + angle_coeff @angle:h5-c-s harmonic 44.037 123.510 # SOURCE5 6 0.5125 + angle_coeff @angle:cf-ce-ss harmonic 63.673 120.950 # SOURCE5 15 1.8784 + angle_coeff @angle:c3-c2-f harmonic 87.663 113.280 # SOURCE5 8 1.0861 + angle_coeff @angle:h4-c2-oh harmonic 64.512 114.610 # SOURCE5 8 1.2250 + angle_coeff @angle:ne-ce-nf harmonic 108.272 127.960 # SOURCE5 10 1.2321 + angle_coeff @angle:cc-n-cd harmonic 67.143 121.050 # SOURCE5 7 0.3580 + angle_coeff @angle:f-py-f harmonic 90.389 97.510 # SOURCE5 5 0.2281 + angle_coeff @angle:n-cc-os harmonic 110.414 119.020 # SOURCE5 8 1.4066 + angle_coeff @angle:cq-cp-nb harmonic 85.943 120.010 # SOURCE5 14 1.1266 + angle_coeff @angle:c-c-s harmonic 64.027 121.310 # SOURCE5 8 0.9033 + angle_coeff @angle:cf-ce-os harmonic 88.396 120.230 # SOURCE5 8 2.3122 + angle_coeff @angle:br-ce-c2 harmonic 64.169 120.520 # SOURCE5 8 0.4148 + angle_coeff @angle:cp-nb-na harmonic 87.511 118.110 # SOURCE5 5 0.5760 + angle_coeff @angle:n-s6-oh harmonic 123.280 97.300 # SOURCE5 8 0.9381 + angle_coeff @angle:cd-c3-h2 harmonic 47.679 110.470 # SOURCE5 12 1.1111 + angle_coeff @angle:nb-ca-sy harmonic 81.256 115.730 # SOURCE5 6 0.4033 + angle_coeff @angle:na-sy-o harmonic 122.952 105.300 # SOURCE5 5 1.0811 + angle_coeff @angle:hx-cx-hx harmonic 37.969 115.770 # SOURCE5 9 0.0901 + angle_coeff @angle:cd-cf-ne harmonic 86.147 122.390 # SOURCE5 7 1.4919 + angle_coeff @angle:h5-c-oh harmonic 65.262 109.490 # SOURCE5 7 0.3600 + angle_coeff @angle:cy-n-cy harmonic 71.371 94.550 # SOURCE5 5 0.6286 + angle_coeff @angle:br-c3-no harmonic 81.143 106.960 # SOURCE5 6 2.2092 + angle_coeff @angle:c2-ss-s4 harmonic 73.233 92.420 # SOURCE5 8 0.4009 + angle_coeff @angle:c3-nh-o harmonic 85.477 117.530 # SOURCE5 7 1.0041 + angle_coeff @angle:br-cc-ss harmonic 65.672 120.060 # SOURCE5 6 0.2609 + angle_coeff @angle:c-ce-ss harmonic 64.495 113.230 # SOURCE5 6 1.9344 + angle_coeff @angle:c3-n-n3 harmonic 82.135 117.560 # SOURCE5 6 2.4546 + angle_coeff @angle:h5-ca-na harmonic 62.521 115.800 # SOURCE5 8 0.4738 + angle_coeff @angle:n2-nh-oh harmonic 106.301 117.890 # SOURCE5 6 0.2008 + angle_coeff @angle:c2-c3-p5 harmonic 80.813 112.220 # SOURCE5 6 0.6523 + angle_coeff @angle:c3-cx-nh harmonic 82.121 116.580 # SOURCE5 7 1.1795 + angle_coeff @angle:c2-cc-ss harmonic 62.687 127.480 # SOURCE5 6 0.3389 + angle_coeff @angle:c-ca-na harmonic 84.333 117.810 # SOURCE5 7 2.2477 + angle_coeff @angle:cl-c2-n2 harmonic 91.772 121.450 # SOURCE5 8 0.8251 + angle_coeff @angle:n2-s4-ne harmonic 122.203 104.290 # SOURCE5 8 0.9503 + angle_coeff @angle:nc-c-s harmonic 82.136 124.470 # SOURCE5 7 1.3793 + angle_coeff @angle:o-sy-ss harmonic 85.092 107.590 # SOURCE5 7 2.0694 + angle_coeff @angle:c2-ce-ss harmonic 62.956 123.860 # SOURCE5 5 1.0553 + angle_coeff @angle:c3-cx-ca harmonic 64.734 117.010 # SOURCE5 6 1.1320 + angle_coeff @angle:cc-cc-nf harmonic 87.342 121.680 # SOURCE5 7 1.9093 + angle_coeff @angle:ca-nd-cd harmonic 73.420 104.240 # SOURCE5 8 0.2625 + angle_coeff @angle:cc-n2-oh harmonic 89.258 113.250 # SOURCE5 7 1.6484 + angle_coeff @angle:ca-os-sy harmonic 63.798 118.010 # SOURCE5 8 2.0392 + angle_coeff @angle:hx-c3-p5 harmonic 54.750 107.590 # SOURCE5 7 1.8329 + angle_coeff @angle:ca-ce-n harmonic 83.340 118.990 # SOURCE5 8 0.3821 + angle_coeff @angle:h4-ce-sx harmonic 41.742 115.270 # SOURCE5 5 0.1053 + angle_coeff @angle:c3-ce-ne harmonic 83.806 116.230 # SOURCE5 5 1.2988 + angle_coeff @angle:c1-n1-ce harmonic 61.729 176.870 # SOURCE5 7 0.6686 + angle_coeff @angle:c3-n2-cd harmonic 67.858 117.010 # SOURCE5 6 1.8279 + angle_coeff @angle:cc-c3-h2 harmonic 47.679 110.470 # SOURCE5 12 1.1111 + angle_coeff @angle:ca-ce-cg harmonic 67.208 116.470 # SOURCE5 5 1.0847 + angle_coeff @angle:c2-cc-na harmonic 86.738 123.270 # SOURCE5 6 1.9888 + angle_coeff @angle:ca-c3-s4 harmonic 63.907 109.520 # SOURCE5 7 1.3239 + angle_coeff @angle:n2-cf-nf harmonic 111.801 120.690 # SOURCE5 6 1.4522 + angle_coeff @angle:ce-cf-ss harmonic 63.673 120.950 # SOURCE5 15 1.8784 + angle_coeff @angle:c3-cx-ss harmonic 62.514 114.160 # SOURCE5 7 0.1562 + angle_coeff @angle:nh-ce-nh harmonic 108.620 119.710 # SOURCE5 6 0.4946 + angle_coeff @angle:cd-c-ne harmonic 87.008 112.220 # SOURCE5 6 0.1806 + angle_coeff @angle:na-c3-ss harmonic 82.873 103.150 # SOURCE5 8 0.3361 + angle_coeff @angle:cf-cf-os harmonic 86.756 115.190 # SOURCE5 15 2.1777 + angle_coeff @angle:cx-c3-h2 harmonic 46.468 114.010 # SOURCE5 8 0.8649 + angle_coeff @angle:cv-ss-cy harmonic 79.244 82.620 # SOURCE5 8 0.2654 + angle_coeff @angle:ss-cy-ss harmonic 68.296 95.040 # SOURCE5 6 0.9436 + angle_coeff @angle:ce-cx-os harmonic 82.835 117.210 # SOURCE5 6 1.3466 + angle_coeff @angle:nb-ca-ne harmonic 109.027 121.410 # SOURCE5 6 1.6965 + angle_coeff @angle:br-ca-nb harmonic 81.701 116.350 # SOURCE5 5 0.4508 + angle_coeff @angle:c3-nh-os harmonic 84.400 110.370 # SOURCE5 6 2.4123 + angle_coeff @angle:c2-nh-p5 harmonic 81.068 125.900 # SOURCE5 6 1.8594 + angle_coeff @angle:br-ca-cp harmonic 63.564 121.390 # SOURCE5 7 0.3403 + angle_coeff @angle:cc-ce-cc harmonic 67.224 116.170 # SOURCE5 6 0.4089 + angle_coeff @angle:c3-nh-s6 harmonic 63.928 116.490 # SOURCE5 6 0.5375 + angle_coeff @angle:cx-c3-na harmonic 82.551 114.780 # SOURCE5 7 1.7481 + angle_coeff @angle:ca-os-p3 harmonic 85.566 110.460 # SOURCE5 5 0.0025 + angle_coeff @angle:ce-cf-sy harmonic 62.892 123.190 # SOURCE5 5 0.3760 + angle_coeff @angle:ca-n2-n1 harmonic 92.483 118.480 # SOURCE5 5 0.1464 + angle_coeff @angle:cd-cd-no harmonic 82.299 125.950 # SOURCE5 5 2.2787 + angle_coeff @angle:na-n2-os harmonic 113.058 104.340 # SOURCE5 6 0.3185 + angle_coeff @angle:ce-c3-f harmonic 88.332 110.310 # SOURCE5 6 0.9204 + angle_coeff @angle:cx-cc-na harmonic 81.840 127.210 # SOURCE5 7 2.0873 + angle_coeff @angle:n-n2-na harmonic 113.870 106.040 # SOURCE5 6 0.3975 + angle_coeff @angle:c3-cf-cc harmonic 67.117 117.430 # SOURCE5 5 2.0116 + angle_coeff @angle:ca-na-cy harmonic 63.636 128.060 # SOURCE5 7 0.2603 + angle_coeff @angle:h1-c3-py harmonic 54.323 109.380 # SOURCE5 7 0.4767 + angle_coeff @angle:cy-s6-cy harmonic 75.496 86.770 # SOURCE5 5 1.5405 + angle_coeff @angle:ce-ce-s4 harmonic 63.624 119.120 # SOURCE5 6 0.0093 + angle_coeff @angle:c3-p3-cy harmonic 45.442 103.850 # SOURCE5 6 0.6245 + angle_coeff @angle:h2-cx-os harmonic 60.942 114.700 # SOURCE5 7 1.4166 + angle_coeff @angle:c-c-ce harmonic 64.646 115.440 # SOURCE5 5 1.0373 + angle_coeff @angle:ce-cy-h1 harmonic 46.242 115.490 # SOURCE5 5 0.2559 + angle_coeff @angle:cx-c3-ss harmonic 64.879 105.420 # SOURCE5 7 0.4078 + angle_coeff @angle:cg-ce-ss harmonic 63.731 118.190 # SOURCE5 5 1.0760 + angle_coeff @angle:br-cy-cy harmonic 61.847 119.270 # SOURCE5 6 1.4624 + angle_coeff @angle:c-cy-cl harmonic 71.094 112.180 # SOURCE5 5 2.4165 + angle_coeff @angle:c-cx-n harmonic 81.704 120.510 # SOURCE5 7 1.7811 + angle_coeff @angle:br-c3-f harmonic 82.493 109.620 # SOURCE5 7 0.6251 + angle_coeff @angle:c3-n4-cy harmonic 63.514 112.130 # SOURCE5 5 0.7180 + angle_coeff @angle:ce-cv-ss harmonic 61.912 130.090 # SOURCE5 7 2.1973 + angle_coeff @angle:cc-cd-i harmonic 60.200 124.280 # SOURCE5 14 1.7120 + angle_coeff @angle:c2-ss-ca harmonic 73.005 102.780 # SOURCE5 5 0.7426 + angle_coeff @angle:c-cx-ce harmonic 64.969 116.840 # SOURCE5 7 1.2393 + angle_coeff @angle:cy-nh-cy harmonic 71.537 93.310 # SOURCE5 6 0.3047 + angle_coeff @angle:cx-c-h4 harmonic 46.665 115.380 # SOURCE5 7 0.1819 + angle_coeff @angle:c-n4-c3 harmonic 63.969 108.760 # SOURCE5 7 1.5097 + angle_coeff @angle:f-cy-py harmonic 99.595 113.190 # SOURCE5 8 0.9744 + angle_coeff @angle:n2-c3-ss harmonic 80.436 109.390 # SOURCE5 5 1.4343 + angle_coeff @angle:c3-ss-cf harmonic 71.418 101.280 # SOURCE5 6 2.4411 + angle_coeff @angle:ce-cy-hc harmonic 46.374 114.840 # SOURCE5 5 0.4991 + angle_coeff @angle:br-cc-nc harmonic 82.466 116.250 # SOURCE5 5 0.0824 + angle_coeff @angle:h3-c3-n harmonic 61.280 109.880 # SOURCE5 6 0.7497 + angle_coeff @angle:ca-ne-cd harmonic 67.557 123.670 # SOURCE5 5 2.0742 + angle_coeff @angle:cx-n-cy harmonic 64.984 116.210 # SOURCE5 6 0.4758 + angle_coeff @angle:cl-c3-s4 harmonic 71.477 111.990 # SOURCE5 6 1.5116 + angle_coeff @angle:cp-cq-nb harmonic 85.943 120.010 # SOURCE5 14 1.1266 + angle_coeff @angle:cc-cd-o harmonic 86.659 136.060 # SOURCE5 5 0.5251 + angle_coeff @angle:hx-cy-hx harmonic 38.598 110.800 # SOURCE5 5 0.4155 + angle_coeff @angle:cc-na-sy harmonic 61.877 125.170 # SOURCE5 5 1.1548 + angle_coeff @angle:h1-cy-na harmonic 62.857 106.380 # SOURCE5 5 0.0918 + angle_coeff @angle:h4-cf-sy harmonic 42.563 115.000 # SOURCE5 20 1.1588 + angle_coeff @angle:c-p5-c3 harmonic 44.432 111.280 # SOURCE5 6 2.1227 + angle_coeff @angle:ca-c-nc harmonic 84.546 117.030 # SOURCE5 5 0.2959 + angle_coeff @angle:c3-os-sy harmonic 63.872 115.050 # SOURCE5 5 0.9975 + angle_coeff @angle:cd-ne-sy harmonic 65.441 120.780 # SOURCE5 5 1.2762 + angle_coeff @angle:cx-ca-nb harmonic 85.768 116.900 # SOURCE5 5 0.8439 + angle_coeff @angle:nc-ss-ss harmonic 93.760 97.440 # SOURCE5 6 0.0880 + angle_coeff @angle:hp-p5-os harmonic 45.642 103.080 # SOURCE5 5 0.8064 + angle_coeff @angle:ca-n-oh harmonic 84.294 115.620 # SOURCE5 5 1.0474 + angle_coeff @angle:c3-s6-ne harmonic 91.348 108.190 # SOURCE5 5 0.2914 + angle_coeff @angle:c1-cx-h1 harmonic 48.407 114.800 # SOURCE5 5 0.4789 + angle_coeff @angle:na-c3-oh harmonic 109.816 108.590 # SOURCE5 6 1.4542 + angle_coeff @angle:n-nc-nd harmonic 109.773 119.880 # SOURCE5 5 0.1982 + angle_coeff @angle:c3-na-nb harmonic 85.173 113.140 # SOURCE5 5 0.4557 + angle_coeff @angle:ne-c-os harmonic 113.522 112.010 # SOURCE5 5 1.9012 + angle_coeff @angle:br-ce-ce harmonic 64.975 115.220 # SOURCE5 6 0.2328 + angle_coeff @angle:cc-c2-oh harmonic 91.119 115.180 # SOURCE5 6 0.1517 + angle_coeff @angle:c1-cx-os harmonic 84.507 117.430 # SOURCE5 5 0.5408 + angle_coeff @angle:nc-cc-os harmonic 109.642 121.720 # SOURCE5 5 2.3919 + angle_coeff @angle:br-ce-cf harmonic 63.865 121.600 # SOURCE5 5 1.8246 + angle_coeff @angle:cy-c3-f harmonic 87.269 111.480 # SOURCE5 5 0.6981 + angle_coeff @angle:h5-ce-ne harmonic 62.727 113.650 # SOURCE5 5 0.5892 + angle_coeff @angle:n3-py-n3 harmonic 78.976 104.560 # SOURCE5 5 0.5659 + angle_coeff @angle:br-cc-ca harmonic 62.532 126.640 # SOURCE5 5 0.3204 + angle_coeff @angle:f-c3-na harmonic 113.041 110.410 # SOURCE5 5 0.7067 + angle_coeff @angle:cc-c3-s4 harmonic 63.350 112.000 # SOURCE5 5 0.1216 + angle_coeff @angle:ce-cf-sx harmonic 64.738 112.970 # SOURCE5 5 1.7021 + angle_coeff @angle:cc-cc-i harmonic 59.680 125.790 # SOURCE5 5 1.4784 + angle_coeff @angle:c-cg-ch harmonic 58.652 176.690 # SOURCE5 5 0.2913 + angle_coeff @angle:ce-c3-hx harmonic 47.212 110.880 # SOURCE5 5 0.3335 + angle_coeff @angle:cd-na-cy harmonic 64.047 126.730 # SOURCE5 13 0.8228 + angle_coeff @angle:br-c3-c2 harmonic 63.737 111.170 # SOURCE5 5 1.2445 + angle_coeff @angle:ce-ce-cg harmonic 68.210 114.640 # SOURCE5 5 0.4759 + angle_coeff @angle:cl-cd-nd harmonic 90.599 121.290 # SOURCE5 5 0.8123 + angle_coeff @angle:n-ca-na harmonic 109.145 117.170 # SOURCE5 5 0.3934 + angle_coeff @angle:cx-cd-nd harmonic 83.980 121.600 # SOURCE5 5 0.1341 + angle_coeff @angle:cl-p5-os harmonic 69.550 104.530 # SOURCE5 5 0.1303 + angle_coeff @angle:cx-ss-cy harmonic 73.867 91.640 # SOURCE5 5 0.0761 + angle_coeff @angle:cc-cg-ch harmonic 59.342 177.060 # SOURCE5 5 0.7516 + angle_coeff @angle:cc-sy-oh harmonic 92.772 104.120 # SOURCE5 5 0.3761 + angle_coeff @angle:cq-ca-os harmonic 87.894 116.910 # SOURCE5 38 1.2997 + angle_coeff @angle:ca-cd-ca harmonic 65.280 122.940 # SOURCE5 37 2.3284 + angle_coeff @angle:f-py-nf harmonic 83.682 108.600 # SOURCE5 47 0.7739 + angle_coeff @angle:ca-nh-cf harmonic 65.017 127.740 # SOURCE5 32 0.9569 + angle_coeff @angle:cf-cx-cx harmonic 64.347 118.620 # SOURCE5 40 1.7472 + angle_coeff @angle:py-nf-py harmonic 111.020 121.410 # SOURCE5 34 1.5196 + angle_coeff @angle:c-cc-ss harmonic 62.961 121.970 # SOURCE5 29 2.1476 + angle_coeff @angle:cc-na-cx harmonic 66.440 116.390 # SOURCE5 14 0.5535 + angle_coeff @angle:c2-cf-cx harmonic 66.366 122.740 # SOURCE5 23 1.5745 + angle_coeff @angle:ce-cd-os harmonic 87.197 123.070 # SOURCE5 15 1.3662 + angle_coeff @angle:cd-cc-cx harmonic 66.301 124.150 # SOURCE5 10 1.8770 + angle_coeff @angle:cf-n1-n1 harmonic 77.561 177.620 # SOURCE5 10 0.5740 + angle_coeff @angle:cf-n-hn harmonic 48.071 113.830 # SOURCE5 11 1.3642 + angle_coeff @angle:ce-ce-nf harmonic 86.585 120.790 # SOURCE5 9 1.8014 + angle_coeff @angle:cf-no-o harmonic 86.024 118.220 # SOURCE5 11 0.7792 + angle_coeff @angle:h4-cf-nh harmonic 62.318 115.580 # SOURCE5 10 0.8050 + angle_coeff @angle:nf-c-s harmonic 82.148 124.230 # SOURCE5 9 1.7990 + angle_coeff @angle:na-cd-sh harmonic 79.224 122.950 # SOURCE5 9 1.1542 + angle_coeff @angle:cc-cy-hc harmonic 48.302 107.200 # SOURCE5 8 0.5300 + angle_coeff @angle:cf-cc-na harmonic 85.967 124.930 # SOURCE5 9 0.9918 + angle_coeff @angle:c-cf-h4 harmonic 46.659 118.080 # SOURCE5 8 2.4522 + angle_coeff @angle:ce-cd-n harmonic 86.203 124.200 # SOURCE5 10 0.8706 + angle_coeff @angle:cf-c3-h2 harmonic 46.902 112.270 # SOURCE5 9 0.2011 + angle_coeff @angle:na-cc-na harmonic 115.931 106.600 # SOURCE5 10 1.3968 + angle_coeff @angle:ch-ca-nb harmonic 87.852 116.870 # SOURCE5 10 0.6088 + angle_coeff @angle:cf-c2-f harmonic 90.032 122.620 # SOURCE5 11 1.4117 + angle_coeff @angle:cg-cc-nc harmonic 85.036 123.030 # SOURCE5 7 0.2371 + angle_coeff @angle:h5-cd-n2 harmonic 63.978 123.280 # SOURCE5 5 1.2554 + angle_coeff @angle:cd-c3-cf harmonic 66.313 110.890 # SOURCE5 7 2.0183 + angle_coeff @angle:nf-cc-ss harmonic 79.536 126.000 # SOURCE5 6 1.6775 + angle_coeff @angle:na-cc-nf harmonic 111.251 122.470 # SOURCE5 7 2.4448 + angle_coeff @angle:nf-cf-ne harmonic 108.272 127.960 # SOURCE5 10 1.2321 + angle_coeff @angle:n-cd-os harmonic 110.414 119.020 # SOURCE5 8 1.4066 + angle_coeff @angle:ce-cf-os harmonic 88.396 120.230 # SOURCE5 8 2.3122 + angle_coeff @angle:br-cf-c2 harmonic 64.169 120.520 # SOURCE5 8 0.4148 + angle_coeff @angle:cq-nb-na harmonic 87.511 118.110 # SOURCE5 5 0.5760 + angle_coeff @angle:cc-ce-nf harmonic 86.147 122.390 # SOURCE5 7 1.4919 + angle_coeff @angle:cf-s4-ss harmonic 74.492 88.650 # SOURCE5 8 0.4156 + angle_coeff @angle:br-cd-ss harmonic 65.672 120.060 # SOURCE5 6 0.2609 + angle_coeff @angle:c-cf-ss harmonic 64.495 113.230 # SOURCE5 6 1.9344 + angle_coeff @angle:c2-cd-ss harmonic 62.687 127.480 # SOURCE5 6 0.3389 + angle_coeff @angle:n2-s4-nf harmonic 122.203 104.290 # SOURCE5 8 0.9503 + angle_coeff @angle:nd-c-s harmonic 82.136 124.470 # SOURCE5 7 1.3793 + angle_coeff @angle:c2-cf-ss harmonic 62.956 123.860 # SOURCE5 5 1.0553 + angle_coeff @angle:cd-cd-ne harmonic 87.342 121.680 # SOURCE5 7 1.9093 + angle_coeff @angle:ca-nc-cc harmonic 73.420 104.240 # SOURCE5 8 0.2625 + angle_coeff @angle:cd-n2-oh harmonic 89.258 113.250 # SOURCE5 7 1.6484 + angle_coeff @angle:ca-cf-n harmonic 83.340 118.990 # SOURCE5 8 0.3821 + angle_coeff @angle:h4-cf-sx harmonic 41.742 115.270 # SOURCE5 5 0.1053 + angle_coeff @angle:c3-cf-nf harmonic 83.812 116.230 # SOURCE5 5 1.2988 + angle_coeff @angle:c1-n1-cf harmonic 61.729 176.870 # SOURCE5 7 0.6686 + angle_coeff @angle:c3-n2-cc harmonic 67.858 117.010 # SOURCE5 6 1.8279 + angle_coeff @angle:ca-cf-ch harmonic 67.208 116.470 # SOURCE5 5 1.0847 + angle_coeff @angle:c2-cd-na harmonic 86.738 123.270 # SOURCE5 6 1.9888 + angle_coeff @angle:n2-ce-ne harmonic 111.801 120.690 # SOURCE5 6 1.4522 + angle_coeff @angle:nh-cf-nh harmonic 108.620 119.710 # SOURCE5 6 0.4946 + angle_coeff @angle:cc-c-nf harmonic 87.008 112.220 # SOURCE5 6 0.1806 + angle_coeff @angle:cf-cx-os harmonic 82.835 117.210 # SOURCE5 6 1.3466 + angle_coeff @angle:nb-ca-nf harmonic 109.027 121.410 # SOURCE5 6 1.6965 + angle_coeff @angle:br-ca-cq harmonic 63.564 121.390 # SOURCE5 7 0.3403 + angle_coeff @angle:cd-cf-cd harmonic 67.224 116.170 # SOURCE5 6 0.4089 + angle_coeff @angle:cf-ce-sy harmonic 62.892 123.190 # SOURCE5 5 0.3760 + angle_coeff @angle:cc-cc-no harmonic 82.299 125.950 # SOURCE5 5 2.2787 + angle_coeff @angle:cf-c3-f harmonic 88.340 110.310 # SOURCE5 6 0.9204 + angle_coeff @angle:cx-cd-na harmonic 81.840 127.210 # SOURCE5 7 2.0873 + angle_coeff @angle:c3-ce-cd harmonic 67.111 117.430 # SOURCE5 5 2.0116 + angle_coeff @angle:cf-cf-s4 harmonic 63.624 119.120 # SOURCE5 6 0.0093 + angle_coeff @angle:c-c-cf harmonic 64.646 115.440 # SOURCE5 5 1.0373 + angle_coeff @angle:cf-cy-h1 harmonic 46.242 115.490 # SOURCE5 5 0.2559 + angle_coeff @angle:ch-cf-ss harmonic 63.731 118.190 # SOURCE5 5 1.0760 + angle_coeff @angle:cf-cv-ss harmonic 61.912 130.090 # SOURCE5 7 2.1973 + angle_coeff @angle:c-cx-cf harmonic 64.969 116.840 # SOURCE5 7 1.2393 + angle_coeff @angle:c3-ss-ce harmonic 71.418 101.280 # SOURCE5 6 2.4411 + angle_coeff @angle:cf-cy-hc harmonic 46.374 114.840 # SOURCE5 5 0.4991 + angle_coeff @angle:br-cd-nd harmonic 82.466 116.250 # SOURCE5 5 0.0824 + angle_coeff @angle:ca-nf-cc harmonic 67.557 123.670 # SOURCE5 5 2.0742 + angle_coeff @angle:cd-cc-o harmonic 86.659 136.060 # SOURCE5 5 0.5251 + angle_coeff @angle:cd-na-sy harmonic 61.877 125.170 # SOURCE5 5 1.1548 + angle_coeff @angle:ca-c-nd harmonic 84.546 117.030 # SOURCE5 5 0.2959 + angle_coeff @angle:cc-nf-sy harmonic 65.441 120.780 # SOURCE5 5 1.2762 + angle_coeff @angle:nd-ss-ss harmonic 93.760 97.440 # SOURCE5 6 0.0880 + angle_coeff @angle:c3-s6-nf harmonic 91.348 108.190 # SOURCE5 5 0.2914 + angle_coeff @angle:n-nd-nc harmonic 109.773 119.880 # SOURCE5 5 0.1982 + angle_coeff @angle:nf-c-os harmonic 113.522 112.010 # SOURCE5 5 1.9012 + angle_coeff @angle:br-cf-cf harmonic 64.975 115.220 # SOURCE5 6 0.2328 + angle_coeff @angle:cd-c2-oh harmonic 91.119 115.180 # SOURCE5 6 0.1517 + angle_coeff @angle:nd-cd-os harmonic 109.642 121.720 # SOURCE5 5 2.3919 + angle_coeff @angle:br-cf-ce harmonic 63.865 121.600 # SOURCE5 5 1.8246 + angle_coeff @angle:h5-cf-nf harmonic 62.727 113.650 # SOURCE5 5 0.5892 + angle_coeff @angle:br-cd-ca harmonic 62.532 126.640 # SOURCE5 5 0.3204 + angle_coeff @angle:cd-c3-s4 harmonic 63.350 112.000 # SOURCE5 5 0.1216 + angle_coeff @angle:cf-ce-sx harmonic 64.738 112.970 # SOURCE5 5 1.7021 + angle_coeff @angle:cd-cd-i harmonic 59.818 125.790 # SOURCE5 5 1.4784 + angle_coeff @angle:c-ch-cg harmonic 58.652 176.690 # SOURCE5 5 0.2913 + angle_coeff @angle:cf-c3-hx harmonic 47.217 110.880 # SOURCE5 5 0.3335 + angle_coeff @angle:cf-cf-ch harmonic 68.210 114.640 # SOURCE5 5 0.4759 + angle_coeff @angle:cl-cc-nc harmonic 90.599 121.290 # SOURCE5 5 0.8123 + angle_coeff @angle:cx-cc-nc harmonic 83.980 121.600 # SOURCE5 5 0.1341 + angle_coeff @angle:cd-ch-cg harmonic 59.342 177.060 # SOURCE5 5 0.7516 + angle_coeff @angle:cd-sy-oh harmonic 92.772 104.120 # SOURCE5 5 0.3761 + } # (end of angle_coeffs) + + write_once("Data Angles By Type") { + @angle:hw-ow-hw @atom:hw @atom:ow @atom:hw + @angle:hw-hw-ow @atom:hw @atom:hw @atom:ow + @angle:br-c1-br @atom:br @atom:c1 @atom:br + @angle:br-c1-c1 @atom:br @atom:c1 @atom:c1 + @angle:c1-c1-c1 @atom:c1 @atom:c1 @atom:c1 + @angle:c1-c1-c2 @atom:c1 @atom:c1 @atom:c2 + @angle:c1-c1-c3 @atom:c1 @atom:c1 @atom:c3 + @angle:c1-c1-ca @atom:c1 @atom:c1 @atom:ca + @angle:c1-c1-cl @atom:c1 @atom:c1 @atom:cl + @angle:c1-c1-f @atom:c1 @atom:c1 @atom:f + @angle:c1-c1-ha @atom:c1 @atom:c1 @atom:ha + @angle:c1-c1-hc @atom:c1 @atom:c1 @atom:hc + @angle:c1-c1-i @atom:c1 @atom:c1 @atom:i + @angle:c1-c1-n1 @atom:c1 @atom:c1 @atom:n1 + @angle:c1-c1-n2 @atom:c1 @atom:c1 @atom:n2 + @angle:c1-c1-n3 @atom:c1 @atom:c1 @atom:n3 + @angle:c1-c1-n4 @atom:c1 @atom:c1 @atom:n4 + @angle:c1-c1-n @atom:c1 @atom:c1 @atom:n + @angle:c1-c1-na @atom:c1 @atom:c1 @atom:na + @angle:c1-c1-nh @atom:c1 @atom:c1 @atom:nh + @angle:c1-c1-no @atom:c1 @atom:c1 @atom:no + @angle:c1-c1-o @atom:c1 @atom:c1 @atom:o + @angle:c1-c1-oh @atom:c1 @atom:c1 @atom:oh + @angle:c1-c1-os @atom:c1 @atom:c1 @atom:os + @angle:c1-c1-p2 @atom:c1 @atom:c1 @atom:p2 + @angle:c1-c1-p3 @atom:c1 @atom:c1 @atom:p3 + @angle:c1-c1-p4 @atom:c1 @atom:c1 @atom:p4 + @angle:c1-c1-p5 @atom:c1 @atom:c1 @atom:p5 + @angle:c1-c1-s4 @atom:c1 @atom:c1 @atom:s4 + @angle:c1-c1-s6 @atom:c1 @atom:c1 @atom:s6 + @angle:c1-c1-s @atom:c1 @atom:c1 @atom:s + @angle:c1-c1-sh @atom:c1 @atom:c1 @atom:sh + @angle:c1-c1-ss @atom:c1 @atom:c1 @atom:ss + @angle:c2-c1-c2 @atom:c2 @atom:c1 @atom:c2 + @angle:c2-c1-ce @atom:c2 @atom:c1 @atom:ce + @angle:c2-c1-n1 @atom:c2 @atom:c1 @atom:n1 + @angle:c2-c1-o @atom:c2 @atom:c1 @atom:o + @angle:c2-c1-s2 @atom:c2 @atom:c1 @atom:s2 + @angle:c3-c1-c3 @atom:c3 @atom:c1 @atom:c3 + @angle:c3-c1-cg @atom:c3 @atom:c1 @atom:cg + @angle:c3-c1-n1 @atom:c3 @atom:c1 @atom:n1 + @angle:ca-c1-ca @atom:ca @atom:c1 @atom:ca + @angle:c-c1-c1 @atom:c @atom:c1 @atom:c1 + @angle:cg-c1-ha @atom:cg @atom:c1 @atom:ha + @angle:ch-c1-ha @atom:ch @atom:c1 @atom:ha + @angle:cl-c1-cl @atom:cl @atom:c1 @atom:cl + @angle:f-c1-f @atom:f @atom:c1 @atom:f + @angle:i-c1-i @atom:i @atom:c1 @atom:i + @angle:n1-c1-n1 @atom:n1 @atom:c1 @atom:n1 + @angle:n1-c1-n3 @atom:n1 @atom:c1 @atom:n3 + @angle:n1-c1-nh @atom:n1 @atom:c1 @atom:nh + @angle:n1-c1-os @atom:n1 @atom:c1 @atom:os + @angle:n1-c1-p3 @atom:n1 @atom:c1 @atom:p3 + @angle:n1-c1-ss @atom:n1 @atom:c1 @atom:ss + @angle:n2-c1-n2 @atom:n2 @atom:c1 @atom:n2 + @angle:n2-c1-o @atom:n2 @atom:c1 @atom:o + @angle:n2-c1-s @atom:n2 @atom:c1 @atom:s + @angle:n3-c1-n3 @atom:n3 @atom:c1 @atom:n3 + @angle:n4-c1-n4 @atom:n4 @atom:c1 @atom:n4 + @angle:na-c1-na @atom:na @atom:c1 @atom:na + @angle:ne-c1-o @atom:ne @atom:c1 @atom:o + @angle:ne-c1-s @atom:ne @atom:c1 @atom:s + @angle:nf-c1-o @atom:nf @atom:c1 @atom:o + @angle:nh-c1-nh @atom:nh @atom:c1 @atom:nh + @angle:n-c1-n @atom:n @atom:c1 @atom:n + @angle:no-c1-no @atom:no @atom:c1 @atom:no + @angle:oh-c1-oh @atom:oh @atom:c1 @atom:oh + @angle:o-c1-o @atom:o @atom:c1 @atom:o + @angle:os-c1-os @atom:os @atom:c1 @atom:os + @angle:p2-c1-p2 @atom:p2 @atom:c1 @atom:p2 + @angle:p3-c1-p3 @atom:p3 @atom:c1 @atom:p3 + @angle:p4-c1-p4 @atom:p4 @atom:c1 @atom:p4 + @angle:p5-c1-p5 @atom:p5 @atom:c1 @atom:p5 + @angle:s2-c1-s2 @atom:s2 @atom:c1 @atom:s2 + @angle:s4-c1-s4 @atom:s4 @atom:c1 @atom:s4 + @angle:s6-c1-s6 @atom:s6 @atom:c1 @atom:s6 + @angle:sh-c1-sh @atom:sh @atom:c1 @atom:sh + @angle:s-c1-s @atom:s @atom:c1 @atom:s + @angle:ss-c1-ss @atom:ss @atom:c1 @atom:ss + @angle:br-c2-br @atom:br @atom:c2 @atom:br + @angle:br-c2-c2 @atom:br @atom:c2 @atom:c2 + @angle:br-c2-c3 @atom:br @atom:c2 @atom:c3 + @angle:br-c2-ce @atom:br @atom:c2 @atom:ce + @angle:br-c2-h4 @atom:br @atom:c2 @atom:h4 + @angle:br-c2-ha @atom:br @atom:c2 @atom:ha + @angle:c1-c2-c1 @atom:c1 @atom:c2 @atom:c1 + @angle:c1-c2-c2 @atom:c1 @atom:c2 @atom:c2 + @angle:c1-c2-c3 @atom:c1 @atom:c2 @atom:c3 + @angle:c1-c2-f @atom:c1 @atom:c2 @atom:f + @angle:c1-c2-ha @atom:c1 @atom:c2 @atom:ha + @angle:c2-c2-c2 @atom:c2 @atom:c2 @atom:c2 + @angle:c2-c2-c3 @atom:c2 @atom:c2 @atom:c3 + @angle:c2-c2-ca @atom:c2 @atom:c2 @atom:ca + @angle:c2-c2-cc @atom:c2 @atom:c2 @atom:cc + @angle:c2-c2-cd @atom:c2 @atom:c2 @atom:cd + @angle:c2-c2-cl @atom:c2 @atom:c2 @atom:cl + @angle:c2-c2-cx @atom:c2 @atom:c2 @atom:cx + @angle:c2-c2-cy @atom:c2 @atom:c2 @atom:cy + @angle:c2-c2-f @atom:c2 @atom:c2 @atom:f + @angle:c2-c2-h4 @atom:c2 @atom:c2 @atom:h4 + @angle:c2-c2-ha @atom:c2 @atom:c2 @atom:ha + @angle:c2-c2-hc @atom:c2 @atom:c2 @atom:hc + @angle:c2-c2-hx @atom:c2 @atom:c2 @atom:hx + @angle:c2-c2-i @atom:c2 @atom:c2 @atom:i + @angle:c2-c2-n1 @atom:c2 @atom:c2 @atom:n1 + @angle:c2-c2-n2 @atom:c2 @atom:c2 @atom:n2 + @angle:c2-c2-n3 @atom:c2 @atom:c2 @atom:n3 + @angle:c2-c2-n4 @atom:c2 @atom:c2 @atom:n4 + @angle:c2-c2-n @atom:c2 @atom:c2 @atom:n + @angle:c2-c2-na @atom:c2 @atom:c2 @atom:na + @angle:c2-c2-nh @atom:c2 @atom:c2 @atom:nh + @angle:c2-c2-no @atom:c2 @atom:c2 @atom:no + @angle:c2-c2-o @atom:c2 @atom:c2 @atom:o + @angle:c2-c2-oh @atom:c2 @atom:c2 @atom:oh + @angle:c2-c2-os @atom:c2 @atom:c2 @atom:os + @angle:c2-c2-p2 @atom:c2 @atom:c2 @atom:p2 + @angle:c2-c2-p3 @atom:c2 @atom:c2 @atom:p3 + @angle:c2-c2-p4 @atom:c2 @atom:c2 @atom:p4 + @angle:c2-c2-p5 @atom:c2 @atom:c2 @atom:p5 + @angle:c2-c2-s4 @atom:c2 @atom:c2 @atom:s4 + @angle:c2-c2-s6 @atom:c2 @atom:c2 @atom:s6 + @angle:c2-c2-s @atom:c2 @atom:c2 @atom:s + @angle:c2-c2-sh @atom:c2 @atom:c2 @atom:sh + @angle:c2-c2-ss @atom:c2 @atom:c2 @atom:ss + @angle:c3-c2-c3 @atom:c3 @atom:c2 @atom:c3 + @angle:c3-c2-cc @atom:c3 @atom:c2 @atom:cc + @angle:c3-c2-cd @atom:c3 @atom:c2 @atom:cd + @angle:c3-c2-ce @atom:c3 @atom:c2 @atom:ce + @angle:c3-c2-cf @atom:c3 @atom:c2 @atom:cf + @angle:c3-c2-h4 @atom:c3 @atom:c2 @atom:h4 + @angle:c3-c2-ha @atom:c3 @atom:c2 @atom:ha + @angle:c3-c2-hc @atom:c3 @atom:c2 @atom:hc + @angle:c3-c2-n2 @atom:c3 @atom:c2 @atom:n2 + @angle:c3-c2-n @atom:c3 @atom:c2 @atom:n + @angle:c3-c2-na @atom:c3 @atom:c2 @atom:na + @angle:c3-c2-ne @atom:c3 @atom:c2 @atom:ne + @angle:c3-c2-nf @atom:c3 @atom:c2 @atom:nf + @angle:c3-c2-nh @atom:c3 @atom:c2 @atom:nh + @angle:c3-c2-o @atom:c3 @atom:c2 @atom:o + @angle:c3-c2-oh @atom:c3 @atom:c2 @atom:oh + @angle:c3-c2-os @atom:c3 @atom:c2 @atom:os + @angle:c3-c2-p2 @atom:c3 @atom:c2 @atom:p2 + @angle:c3-c2-s @atom:c3 @atom:c2 @atom:s + @angle:c3-c2-ss @atom:c3 @atom:c2 @atom:ss + @angle:ca-c2-ca @atom:ca @atom:c2 @atom:ca + @angle:ca-c2-hc @atom:ca @atom:c2 @atom:hc + @angle:c-c2-c2 @atom:c @atom:c2 @atom:c2 + @angle:c-c2-c3 @atom:c @atom:c2 @atom:c3 + @angle:c-c2-c @atom:c @atom:c2 @atom:c + @angle:cc-c2-h4 @atom:cc @atom:c2 @atom:h4 + @angle:cc-c2-ha @atom:cc @atom:c2 @atom:ha + @angle:cc-c2-nh @atom:cc @atom:c2 @atom:nh + @angle:cc-c2-o @atom:cc @atom:c2 @atom:o + @angle:cd-c2-ha @atom:cd @atom:c2 @atom:ha + @angle:ce-c2-cl @atom:ce @atom:c2 @atom:cl + @angle:ce-c2-h4 @atom:ce @atom:c2 @atom:h4 + @angle:ce-c2-ha @atom:ce @atom:c2 @atom:ha + @angle:ce-c2-na @atom:ce @atom:c2 @atom:na + @angle:ce-c2-nh @atom:ce @atom:c2 @atom:nh + @angle:ce-c2-no @atom:ce @atom:c2 @atom:no + @angle:ce-c2-o @atom:ce @atom:c2 @atom:o + @angle:ce-c2-oh @atom:ce @atom:c2 @atom:oh + @angle:ce-c2-os @atom:ce @atom:c2 @atom:os + @angle:cf-c2-ha @atom:cf @atom:c2 @atom:ha + @angle:c-c2-ha @atom:c @atom:c2 @atom:ha + @angle:c-c2-hc @atom:c @atom:c2 @atom:hc + @angle:cl-c2-cl @atom:cl @atom:c2 @atom:cl + @angle:cl-c2-h4 @atom:cl @atom:c2 @atom:h4 + @angle:cl-c2-ha @atom:cl @atom:c2 @atom:ha + @angle:cx-c2-ha @atom:cx @atom:c2 @atom:ha + @angle:f-c2-f @atom:f @atom:c2 @atom:f + @angle:f-c2-ha @atom:f @atom:c2 @atom:ha + @angle:h4-c2-n2 @atom:h4 @atom:c2 @atom:n2 + @angle:h4-c2-n @atom:h4 @atom:c2 @atom:n + @angle:h4-c2-na @atom:h4 @atom:c2 @atom:na + @angle:h4-c2-ne @atom:h4 @atom:c2 @atom:ne + @angle:h4-c2-nh @atom:h4 @atom:c2 @atom:nh + @angle:h4-c2-no @atom:h4 @atom:c2 @atom:no + @angle:h4-c2-os @atom:h4 @atom:c2 @atom:os + @angle:h4-c2-ss @atom:h4 @atom:c2 @atom:ss + @angle:h5-c2-n2 @atom:h5 @atom:c2 @atom:n2 + @angle:h5-c2-na @atom:h5 @atom:c2 @atom:na + @angle:h5-c2-ne @atom:h5 @atom:c2 @atom:ne + @angle:h5-c2-nh @atom:h5 @atom:c2 @atom:nh + @angle:ha-c2-ha @atom:ha @atom:c2 @atom:ha + @angle:ha-c2-n1 @atom:ha @atom:c2 @atom:n1 + @angle:ha-c2-n2 @atom:ha @atom:c2 @atom:n2 + @angle:ha-c2-n3 @atom:ha @atom:c2 @atom:n3 + @angle:ha-c2-n @atom:ha @atom:c2 @atom:n + @angle:ha-c2-na @atom:ha @atom:c2 @atom:na + @angle:ha-c2-ne @atom:ha @atom:c2 @atom:ne + @angle:ha-c2-nf @atom:ha @atom:c2 @atom:nf + @angle:ha-c2-nh @atom:ha @atom:c2 @atom:nh + @angle:ha-c2-no @atom:ha @atom:c2 @atom:no + @angle:ha-c2-o @atom:ha @atom:c2 @atom:o + @angle:ha-c2-oh @atom:ha @atom:c2 @atom:oh + @angle:ha-c2-os @atom:ha @atom:c2 @atom:os + @angle:ha-c2-p2 @atom:ha @atom:c2 @atom:p2 + @angle:ha-c2-p3 @atom:ha @atom:c2 @atom:p3 + @angle:ha-c2-p4 @atom:ha @atom:c2 @atom:p4 + @angle:ha-c2-p5 @atom:ha @atom:c2 @atom:p5 + @angle:ha-c2-pe @atom:ha @atom:c2 @atom:pe + @angle:ha-c2-pf @atom:ha @atom:c2 @atom:pf + @angle:ha-c2-s2 @atom:ha @atom:c2 @atom:s2 + @angle:ha-c2-s4 @atom:ha @atom:c2 @atom:s4 + @angle:ha-c2-s @atom:ha @atom:c2 @atom:s + @angle:ha-c2-s6 @atom:ha @atom:c2 @atom:s6 + @angle:ha-c2-sh @atom:ha @atom:c2 @atom:sh + @angle:ha-c2-ss @atom:ha @atom:c2 @atom:ss + @angle:hc-c2-hc @atom:hc @atom:c2 @atom:hc + @angle:hc-c2-n2 @atom:hc @atom:c2 @atom:n2 + @angle:hc-c2-n @atom:hc @atom:c2 @atom:n + @angle:hc-c2-na @atom:hc @atom:c2 @atom:na + @angle:hc-c2-nh @atom:hc @atom:c2 @atom:nh + @angle:hc-c2-no @atom:hc @atom:c2 @atom:no + @angle:hc-c2-oh @atom:hc @atom:c2 @atom:oh + @angle:hc-c2-os @atom:hc @atom:c2 @atom:os + @angle:hc-c2-p3 @atom:hc @atom:c2 @atom:p3 + @angle:hc-c2-p5 @atom:hc @atom:c2 @atom:p5 + @angle:hc-c2-s4 @atom:hc @atom:c2 @atom:s4 + @angle:hc-c2-s6 @atom:hc @atom:c2 @atom:s6 + @angle:hc-c2-sh @atom:hc @atom:c2 @atom:sh + @angle:hc-c2-ss @atom:hc @atom:c2 @atom:ss + @angle:hx-c2-n4 @atom:hx @atom:c2 @atom:n4 + @angle:i-c2-i @atom:i @atom:c2 @atom:i + @angle:n1-c2-n1 @atom:n1 @atom:c2 @atom:n1 + @angle:n2-c2-n2 @atom:n2 @atom:c2 @atom:n2 + @angle:n2-c2-n4 @atom:n2 @atom:c2 @atom:n4 + @angle:n2-c2-na @atom:n2 @atom:c2 @atom:na + @angle:n2-c2-nh @atom:n2 @atom:c2 @atom:nh + @angle:n2-c2-oh @atom:n2 @atom:c2 @atom:oh + @angle:n2-c2-os @atom:n2 @atom:c2 @atom:os + @angle:n2-c2-ss @atom:n2 @atom:c2 @atom:ss + @angle:n3-c2-n3 @atom:n3 @atom:c2 @atom:n3 + @angle:n4-c2-n4 @atom:n4 @atom:c2 @atom:n4 + @angle:n4-c2-ss @atom:n4 @atom:c2 @atom:ss + @angle:na-c2-na @atom:na @atom:c2 @atom:na + @angle:ne-c2-nh @atom:ne @atom:c2 @atom:nh + @angle:ne-c2-os @atom:ne @atom:c2 @atom:os + @angle:ne-c2-ss @atom:ne @atom:c2 @atom:ss + @angle:nf-c2-nh @atom:nf @atom:c2 @atom:nh + @angle:nh-c2-nh @atom:nh @atom:c2 @atom:nh + @angle:nh-c2-oh @atom:nh @atom:c2 @atom:oh + @angle:nh-c2-os @atom:nh @atom:c2 @atom:os + @angle:nh-c2-ss @atom:nh @atom:c2 @atom:ss + @angle:n-c2-n2 @atom:n @atom:c2 @atom:n2 + @angle:n-c2-n @atom:n @atom:c2 @atom:n + @angle:n-c2-na @atom:n @atom:c2 @atom:na + @angle:n-c2-ne @atom:n @atom:c2 @atom:ne + @angle:n-c2-nh @atom:n @atom:c2 @atom:nh + @angle:no-c2-no @atom:no @atom:c2 @atom:no + @angle:n-c2-ss @atom:n @atom:c2 @atom:ss + @angle:oh-c2-oh @atom:oh @atom:c2 @atom:oh + @angle:o-c2-o @atom:o @atom:c2 @atom:o + @angle:o-c2-oh @atom:o @atom:c2 @atom:oh + @angle:o-c2-s @atom:o @atom:c2 @atom:s + @angle:os-c2-os @atom:os @atom:c2 @atom:os + @angle:p2-c2-p2 @atom:p2 @atom:c2 @atom:p2 + @angle:p3-c2-p3 @atom:p3 @atom:c2 @atom:p3 + @angle:p5-c2-p5 @atom:p5 @atom:c2 @atom:p5 + @angle:s4-c2-s4 @atom:s4 @atom:c2 @atom:s4 + @angle:s4-c2-s6 @atom:s4 @atom:c2 @atom:s6 + @angle:s6-c2-s6 @atom:s6 @atom:c2 @atom:s6 + @angle:sh-c2-sh @atom:sh @atom:c2 @atom:sh + @angle:sh-c2-ss @atom:sh @atom:c2 @atom:ss + @angle:s-c2-s @atom:s @atom:c2 @atom:s + @angle:ss-c2-ss @atom:ss @atom:c2 @atom:ss + @angle:br-c3-br @atom:br @atom:c3 @atom:br + @angle:br-c3-c1 @atom:br @atom:c3 @atom:c1 + @angle:br-c3-c3 @atom:br @atom:c3 @atom:c3 + @angle:br-c3-c @atom:br @atom:c3 @atom:c + @angle:br-c3-h1 @atom:br @atom:c3 @atom:h1 + @angle:br-c3-h2 @atom:br @atom:c3 @atom:h2 + @angle:br-c3-hc @atom:br @atom:c3 @atom:hc + @angle:c1-c3-c1 @atom:c1 @atom:c3 @atom:c1 + @angle:c1-c3-c2 @atom:c1 @atom:c3 @atom:c2 + @angle:c1-c3-c3 @atom:c1 @atom:c3 @atom:c3 + @angle:c1-c3-ca @atom:c1 @atom:c3 @atom:ca + @angle:c1-c3-cc @atom:c1 @atom:c3 @atom:cc + @angle:c1-c3-cd @atom:c1 @atom:c3 @atom:cd + @angle:c1-c3-cl @atom:c1 @atom:c3 @atom:cl + @angle:c1-c3-h1 @atom:c1 @atom:c3 @atom:h1 + @angle:c1-c3-hc @atom:c1 @atom:c3 @atom:hc + @angle:c1-c3-hx @atom:c1 @atom:c3 @atom:hx + @angle:c1-c3-n3 @atom:c1 @atom:c3 @atom:n3 + @angle:c1-c3-n4 @atom:c1 @atom:c3 @atom:n4 + @angle:c1-c3-n @atom:c1 @atom:c3 @atom:n + @angle:c1-c3-nh @atom:c1 @atom:c3 @atom:nh + @angle:c1-c3-oh @atom:c1 @atom:c3 @atom:oh + @angle:c1-c3-os @atom:c1 @atom:c3 @atom:os + @angle:c2-c3-c2 @atom:c2 @atom:c3 @atom:c2 + @angle:c2-c3-c3 @atom:c2 @atom:c3 @atom:c3 + @angle:c2-c3-ca @atom:c2 @atom:c3 @atom:ca + @angle:c2-c3-cc @atom:c2 @atom:c3 @atom:cc + @angle:c2-c3-cd @atom:c2 @atom:c3 @atom:cd + @angle:c2-c3-ce @atom:c2 @atom:c3 @atom:ce + @angle:c2-c3-cf @atom:c2 @atom:c3 @atom:cf + @angle:c2-c3-cl @atom:c2 @atom:c3 @atom:cl + @angle:c2-c3-cx @atom:c2 @atom:c3 @atom:cx + @angle:c2-c3-cy @atom:c2 @atom:c3 @atom:cy + @angle:c2-c3-f @atom:c2 @atom:c3 @atom:f + @angle:c2-c3-h1 @atom:c2 @atom:c3 @atom:h1 + @angle:c2-c3-h2 @atom:c2 @atom:c3 @atom:h2 + @angle:c2-c3-hc @atom:c2 @atom:c3 @atom:hc + @angle:c2-c3-hx @atom:c2 @atom:c3 @atom:hx + @angle:c2-c3-n2 @atom:c2 @atom:c3 @atom:n2 + @angle:c2-c3-n3 @atom:c2 @atom:c3 @atom:n3 + @angle:c2-c3-n @atom:c2 @atom:c3 @atom:n + @angle:c2-c3-na @atom:c2 @atom:c3 @atom:na + @angle:c2-c3-nh @atom:c2 @atom:c3 @atom:nh + @angle:c2-c3-oh @atom:c2 @atom:c3 @atom:oh + @angle:c2-c3-os @atom:c2 @atom:c3 @atom:os + @angle:c2-c3-s4 @atom:c2 @atom:c3 @atom:s4 + @angle:c2-c3-ss @atom:c2 @atom:c3 @atom:ss + @angle:c3-c3-c3 @atom:c3 @atom:c3 @atom:c3 + @angle:c3-c3-ca @atom:c3 @atom:c3 @atom:ca + @angle:c3-c3-cc @atom:c3 @atom:c3 @atom:cc + @angle:c3-c3-cd @atom:c3 @atom:c3 @atom:cd + @angle:c3-c3-ce @atom:c3 @atom:c3 @atom:ce + @angle:c3-c3-cf @atom:c3 @atom:c3 @atom:cf + @angle:c3-c3-cl @atom:c3 @atom:c3 @atom:cl + @angle:c3-c3-cx @atom:c3 @atom:c3 @atom:cx + @angle:c3-c3-cy @atom:c3 @atom:c3 @atom:cy + @angle:c3-c3-f @atom:c3 @atom:c3 @atom:f + @angle:c3-c3-h1 @atom:c3 @atom:c3 @atom:h1 + @angle:c3-c3-h2 @atom:c3 @atom:c3 @atom:h2 + @angle:c3-c3-hc @atom:c3 @atom:c3 @atom:hc + @angle:c3-c3-hx @atom:c3 @atom:c3 @atom:hx + @angle:c3-c3-i @atom:c3 @atom:c3 @atom:i + @angle:c3-c3-n1 @atom:c3 @atom:c3 @atom:n1 + @angle:c3-c3-n2 @atom:c3 @atom:c3 @atom:n2 + @angle:c3-c3-n3 @atom:c3 @atom:c3 @atom:n3 + @angle:c3-c3-n4 @atom:c3 @atom:c3 @atom:n4 + @angle:c3-c3-n @atom:c3 @atom:c3 @atom:n + @angle:c3-c3-na @atom:c3 @atom:c3 @atom:na + @angle:c3-c3-nh @atom:c3 @atom:c3 @atom:nh + @angle:c3-c3-no @atom:c3 @atom:c3 @atom:no + @angle:c3-c3-o @atom:c3 @atom:c3 @atom:o + @angle:c3-c3-oh @atom:c3 @atom:c3 @atom:oh + @angle:c3-c3-os @atom:c3 @atom:c3 @atom:os + @angle:c3-c3-p3 @atom:c3 @atom:c3 @atom:p3 + @angle:c3-c3-p5 @atom:c3 @atom:c3 @atom:p5 + @angle:c3-c3-s4 @atom:c3 @atom:c3 @atom:s4 + @angle:c3-c3-s6 @atom:c3 @atom:c3 @atom:s6 + @angle:c3-c3-sh @atom:c3 @atom:c3 @atom:sh + @angle:c3-c3-ss @atom:c3 @atom:c3 @atom:ss + @angle:c3-c3-sy @atom:c3 @atom:c3 @atom:sy + @angle:ca-c3-ca @atom:ca @atom:c3 @atom:ca + @angle:ca-c3-cc @atom:ca @atom:c3 @atom:cc + @angle:ca-c3-cd @atom:ca @atom:c3 @atom:cd + @angle:ca-c3-ce @atom:ca @atom:c3 @atom:ce + @angle:ca-c3-cl @atom:ca @atom:c3 @atom:cl + @angle:ca-c3-cx @atom:ca @atom:c3 @atom:cx + @angle:ca-c3-f @atom:ca @atom:c3 @atom:f + @angle:ca-c3-h1 @atom:ca @atom:c3 @atom:h1 + @angle:ca-c3-h2 @atom:ca @atom:c3 @atom:h2 + @angle:ca-c3-hc @atom:ca @atom:c3 @atom:hc + @angle:ca-c3-hx @atom:ca @atom:c3 @atom:hx + @angle:ca-c3-n2 @atom:ca @atom:c3 @atom:n2 + @angle:ca-c3-n3 @atom:ca @atom:c3 @atom:n3 + @angle:ca-c3-n4 @atom:ca @atom:c3 @atom:n4 + @angle:ca-c3-n @atom:ca @atom:c3 @atom:n + @angle:ca-c3-na @atom:ca @atom:c3 @atom:na + @angle:ca-c3-nc @atom:ca @atom:c3 @atom:nc + @angle:ca-c3-nd @atom:ca @atom:c3 @atom:nd + @angle:ca-c3-nh @atom:ca @atom:c3 @atom:nh + @angle:ca-c3-oh @atom:ca @atom:c3 @atom:oh + @angle:ca-c3-os @atom:ca @atom:c3 @atom:os + @angle:ca-c3-p5 @atom:ca @atom:c3 @atom:p5 + @angle:ca-c3-s6 @atom:ca @atom:c3 @atom:s6 + @angle:ca-c3-ss @atom:ca @atom:c3 @atom:ss + @angle:ca-c3-sx @atom:ca @atom:c3 @atom:sx + @angle:c-c3-c1 @atom:c @atom:c3 @atom:c1 + @angle:c-c3-c2 @atom:c @atom:c3 @atom:c2 + @angle:c-c3-c3 @atom:c @atom:c3 @atom:c3 + @angle:c-c3-c @atom:c @atom:c3 @atom:c + @angle:c-c3-ca @atom:c @atom:c3 @atom:ca + @angle:c-c3-cc @atom:c @atom:c3 @atom:cc + @angle:cc-c3-cc @atom:cc @atom:c3 @atom:cc + @angle:cc-c3-cd @atom:cc @atom:c3 @atom:cd + @angle:cc-c3-cx @atom:cc @atom:c3 @atom:cx + @angle:c-c3-cd @atom:c @atom:c3 @atom:cd + @angle:c-c3-ce @atom:c @atom:c3 @atom:ce + @angle:cc-c3-f @atom:cc @atom:c3 @atom:f + @angle:cc-c3-h1 @atom:cc @atom:c3 @atom:h1 + @angle:cc-c3-hc @atom:cc @atom:c3 @atom:hc + @angle:cc-c3-hx @atom:cc @atom:c3 @atom:hx + @angle:c-c3-cl @atom:c @atom:c3 @atom:cl + @angle:cc-c3-n2 @atom:cc @atom:c3 @atom:n2 + @angle:cc-c3-n3 @atom:cc @atom:c3 @atom:n3 + @angle:cc-c3-n4 @atom:cc @atom:c3 @atom:n4 + @angle:cc-c3-n @atom:cc @atom:c3 @atom:n + @angle:cc-c3-na @atom:cc @atom:c3 @atom:na + @angle:cc-c3-nc @atom:cc @atom:c3 @atom:nc + @angle:cc-c3-nh @atom:cc @atom:c3 @atom:nh + @angle:cc-c3-oh @atom:cc @atom:c3 @atom:oh + @angle:cc-c3-os @atom:cc @atom:c3 @atom:os + @angle:cc-c3-p5 @atom:cc @atom:c3 @atom:p5 + @angle:cc-c3-sh @atom:cc @atom:c3 @atom:sh + @angle:cc-c3-ss @atom:cc @atom:c3 @atom:ss + @angle:c-c3-cx @atom:c @atom:c3 @atom:cx + @angle:cd-c3-cd @atom:cd @atom:c3 @atom:cd + @angle:cd-c3-f @atom:cd @atom:c3 @atom:f + @angle:cd-c3-h1 @atom:cd @atom:c3 @atom:h1 + @angle:cd-c3-hc @atom:cd @atom:c3 @atom:hc + @angle:cd-c3-n3 @atom:cd @atom:c3 @atom:n3 + @angle:cd-c3-n @atom:cd @atom:c3 @atom:n + @angle:cd-c3-nd @atom:cd @atom:c3 @atom:nd + @angle:cd-c3-nh @atom:cd @atom:c3 @atom:nh + @angle:cd-c3-oh @atom:cd @atom:c3 @atom:oh + @angle:cd-c3-os @atom:cd @atom:c3 @atom:os + @angle:cd-c3-sh @atom:cd @atom:c3 @atom:sh + @angle:cd-c3-ss @atom:cd @atom:c3 @atom:ss + @angle:ce-c3-ce @atom:ce @atom:c3 @atom:ce + @angle:ce-c3-cy @atom:ce @atom:c3 @atom:cy + @angle:ce-c3-h1 @atom:ce @atom:c3 @atom:h1 + @angle:ce-c3-hc @atom:ce @atom:c3 @atom:hc + @angle:ce-c3-n3 @atom:ce @atom:c3 @atom:n3 + @angle:ce-c3-n @atom:ce @atom:c3 @atom:n + @angle:ce-c3-oh @atom:ce @atom:c3 @atom:oh + @angle:ce-c3-os @atom:ce @atom:c3 @atom:os + @angle:ce-c3-ss @atom:ce @atom:c3 @atom:ss + @angle:c-c3-f @atom:c @atom:c3 @atom:f + @angle:cf-c3-cy @atom:cf @atom:c3 @atom:cy + @angle:cf-c3-h1 @atom:cf @atom:c3 @atom:h1 + @angle:cf-c3-hc @atom:cf @atom:c3 @atom:hc + @angle:cf-c3-n3 @atom:cf @atom:c3 @atom:n3 + @angle:c-c3-h1 @atom:c @atom:c3 @atom:h1 + @angle:c-c3-h2 @atom:c @atom:c3 @atom:h2 + @angle:c-c3-hc @atom:c @atom:c3 @atom:hc + @angle:c-c3-hx @atom:c @atom:c3 @atom:hx + @angle:cl-c3-cl @atom:cl @atom:c3 @atom:cl + @angle:cl-c3-f @atom:cl @atom:c3 @atom:f + @angle:cl-c3-h1 @atom:cl @atom:c3 @atom:h1 + @angle:cl-c3-h2 @atom:cl @atom:c3 @atom:h2 + @angle:cl-c3-hc @atom:cl @atom:c3 @atom:hc + @angle:cl-c3-os @atom:cl @atom:c3 @atom:os + @angle:cl-c3-ss @atom:cl @atom:c3 @atom:ss + @angle:c-c3-n2 @atom:c @atom:c3 @atom:n2 + @angle:c-c3-n3 @atom:c @atom:c3 @atom:n3 + @angle:c-c3-n4 @atom:c @atom:c3 @atom:n4 + @angle:c-c3-n @atom:c @atom:c3 @atom:n + @angle:c-c3-na @atom:c @atom:c3 @atom:na + @angle:c-c3-nh @atom:c @atom:c3 @atom:nh + @angle:c-c3-oh @atom:c @atom:c3 @atom:oh + @angle:c-c3-os @atom:c @atom:c3 @atom:os + @angle:c-c3-p5 @atom:c @atom:c3 @atom:p5 + @angle:c-c3-s6 @atom:c @atom:c3 @atom:s6 + @angle:c-c3-sh @atom:c @atom:c3 @atom:sh + @angle:c-c3-ss @atom:c @atom:c3 @atom:ss + @angle:cx-c3-cx @atom:cx @atom:c3 @atom:cx + @angle:cx-c3-h1 @atom:cx @atom:c3 @atom:h1 + @angle:cx-c3-hc @atom:cx @atom:c3 @atom:hc + @angle:cx-c3-hx @atom:cx @atom:c3 @atom:hx + @angle:cx-c3-n3 @atom:cx @atom:c3 @atom:n3 + @angle:cx-c3-n4 @atom:cx @atom:c3 @atom:n4 + @angle:cx-c3-n @atom:cx @atom:c3 @atom:n + @angle:cx-c3-oh @atom:cx @atom:c3 @atom:oh + @angle:cx-c3-os @atom:cx @atom:c3 @atom:os + @angle:cy-c3-h1 @atom:cy @atom:c3 @atom:h1 + @angle:cy-c3-hc @atom:cy @atom:c3 @atom:hc + @angle:cy-c3-n3 @atom:cy @atom:c3 @atom:n3 + @angle:cy-c3-oh @atom:cy @atom:c3 @atom:oh + @angle:cy-c3-os @atom:cy @atom:c3 @atom:os + @angle:f-c3-f @atom:f @atom:c3 @atom:f + @angle:f-c3-h1 @atom:f @atom:c3 @atom:h1 + @angle:f-c3-h2 @atom:f @atom:c3 @atom:h2 + @angle:f-c3-h3 @atom:f @atom:c3 @atom:h3 + @angle:f-c3-hc @atom:f @atom:c3 @atom:hc + @angle:f-c3-n2 @atom:f @atom:c3 @atom:n2 + @angle:f-c3-os @atom:f @atom:c3 @atom:os + @angle:f-c3-p5 @atom:f @atom:c3 @atom:p5 + @angle:f-c3-s6 @atom:f @atom:c3 @atom:s6 + @angle:f-c3-ss @atom:f @atom:c3 @atom:ss + @angle:h1-c3-h1 @atom:h1 @atom:c3 @atom:h1 + @angle:h1-c3-n1 @atom:h1 @atom:c3 @atom:n1 + @angle:h1-c3-n2 @atom:h1 @atom:c3 @atom:n2 + @angle:h1-c3-n3 @atom:h1 @atom:c3 @atom:n3 + @angle:h1-c3-n @atom:h1 @atom:c3 @atom:n + @angle:h1-c3-na @atom:h1 @atom:c3 @atom:na + @angle:h1-c3-nc @atom:h1 @atom:c3 @atom:nc + @angle:h1-c3-nd @atom:h1 @atom:c3 @atom:nd + @angle:h1-c3-nh @atom:h1 @atom:c3 @atom:nh + @angle:h1-c3-no @atom:h1 @atom:c3 @atom:no + @angle:h1-c3-o @atom:h1 @atom:c3 @atom:o + @angle:h1-c3-oh @atom:h1 @atom:c3 @atom:oh + @angle:h1-c3-os @atom:h1 @atom:c3 @atom:os + @angle:h1-c3-p5 @atom:h1 @atom:c3 @atom:p5 + @angle:h1-c3-s4 @atom:h1 @atom:c3 @atom:s4 + @angle:h1-c3-s @atom:h1 @atom:c3 @atom:s + @angle:h1-c3-s6 @atom:h1 @atom:c3 @atom:s6 + @angle:h1-c3-sh @atom:h1 @atom:c3 @atom:sh + @angle:h1-c3-ss @atom:h1 @atom:c3 @atom:ss + @angle:h1-c3-sx @atom:h1 @atom:c3 @atom:sx + @angle:h1-c3-sy @atom:h1 @atom:c3 @atom:sy + @angle:h2-c3-h2 @atom:h2 @atom:c3 @atom:h2 + @angle:h2-c3-i @atom:h2 @atom:c3 @atom:i + @angle:h2-c3-n2 @atom:h2 @atom:c3 @atom:n2 + @angle:h2-c3-n3 @atom:h2 @atom:c3 @atom:n3 + @angle:h2-c3-n @atom:h2 @atom:c3 @atom:n + @angle:h2-c3-na @atom:h2 @atom:c3 @atom:na + @angle:h2-c3-nc @atom:h2 @atom:c3 @atom:nc + @angle:h2-c3-nd @atom:h2 @atom:c3 @atom:nd + @angle:h2-c3-nh @atom:h2 @atom:c3 @atom:nh + @angle:h2-c3-no @atom:h2 @atom:c3 @atom:no + @angle:h2-c3-o @atom:h2 @atom:c3 @atom:o + @angle:h2-c3-oh @atom:h2 @atom:c3 @atom:oh + @angle:h2-c3-os @atom:h2 @atom:c3 @atom:os + @angle:h2-c3-s4 @atom:h2 @atom:c3 @atom:s4 + @angle:h2-c3-s @atom:h2 @atom:c3 @atom:s + @angle:h2-c3-s6 @atom:h2 @atom:c3 @atom:s6 + @angle:h2-c3-sh @atom:h2 @atom:c3 @atom:sh + @angle:h2-c3-ss @atom:h2 @atom:c3 @atom:ss + @angle:h3-c3-n3 @atom:h3 @atom:c3 @atom:n3 + @angle:h3-c3-nc @atom:h3 @atom:c3 @atom:nc + @angle:h3-c3-nd @atom:h3 @atom:c3 @atom:nd + @angle:h3-c3-nh @atom:h3 @atom:c3 @atom:nh + @angle:h3-c3-os @atom:h3 @atom:c3 @atom:os + @angle:h3-c3-ss @atom:h3 @atom:c3 @atom:ss + @angle:hc-c3-hc @atom:hc @atom:c3 @atom:hc + @angle:hc-c3-i @atom:hc @atom:c3 @atom:i + @angle:hc-c3-n2 @atom:hc @atom:c3 @atom:n2 + @angle:hc-c3-n3 @atom:hc @atom:c3 @atom:n3 + @angle:hc-c3-n4 @atom:hc @atom:c3 @atom:n4 + @angle:hc-c3-n @atom:hc @atom:c3 @atom:n + @angle:hc-c3-na @atom:hc @atom:c3 @atom:na + @angle:hc-c3-nh @atom:hc @atom:c3 @atom:nh + @angle:hc-c3-no @atom:hc @atom:c3 @atom:no + @angle:hc-c3-oh @atom:hc @atom:c3 @atom:oh + @angle:hc-c3-os @atom:hc @atom:c3 @atom:os + @angle:hc-c3-p2 @atom:hc @atom:c3 @atom:p2 + @angle:hc-c3-p3 @atom:hc @atom:c3 @atom:p3 + @angle:hc-c3-p4 @atom:hc @atom:c3 @atom:p4 + @angle:hc-c3-p5 @atom:hc @atom:c3 @atom:p5 + @angle:hc-c3-px @atom:hc @atom:c3 @atom:px + @angle:hc-c3-py @atom:hc @atom:c3 @atom:py + @angle:hc-c3-s4 @atom:hc @atom:c3 @atom:s4 + @angle:hc-c3-s6 @atom:hc @atom:c3 @atom:s6 + @angle:hc-c3-sh @atom:hc @atom:c3 @atom:sh + @angle:hc-c3-ss @atom:hc @atom:c3 @atom:ss + @angle:hx-c3-hx @atom:hx @atom:c3 @atom:hx + @angle:hx-c3-n4 @atom:hx @atom:c3 @atom:n4 + @angle:i-c3-i @atom:i @atom:c3 @atom:i + @angle:n1-c3-n1 @atom:n1 @atom:c3 @atom:n1 + @angle:n2-c3-n2 @atom:n2 @atom:c3 @atom:n2 + @angle:n2-c3-nh @atom:n2 @atom:c3 @atom:nh + @angle:n2-c3-oh @atom:n2 @atom:c3 @atom:oh + @angle:n2-c3-os @atom:n2 @atom:c3 @atom:os + @angle:n3-c3-n3 @atom:n3 @atom:c3 @atom:n3 + @angle:n3-c3-nc @atom:n3 @atom:c3 @atom:nc + @angle:n3-c3-nd @atom:n3 @atom:c3 @atom:nd + @angle:n3-c3-nh @atom:n3 @atom:c3 @atom:nh + @angle:n3-c3-oh @atom:n3 @atom:c3 @atom:oh + @angle:n3-c3-os @atom:n3 @atom:c3 @atom:os + @angle:n3-c3-p5 @atom:n3 @atom:c3 @atom:p5 + @angle:n3-c3-ss @atom:n3 @atom:c3 @atom:ss + @angle:n4-c3-n4 @atom:n4 @atom:c3 @atom:n4 + @angle:na-c3-na @atom:na @atom:c3 @atom:na + @angle:na-c3-os @atom:na @atom:c3 @atom:os + @angle:nc-c3-nc @atom:nc @atom:c3 @atom:nc + @angle:nc-c3-nh @atom:nc @atom:c3 @atom:nh + @angle:nc-c3-os @atom:nc @atom:c3 @atom:os + @angle:nd-c3-nd @atom:nd @atom:c3 @atom:nd + @angle:nd-c3-nh @atom:nd @atom:c3 @atom:nh + @angle:nd-c3-os @atom:nd @atom:c3 @atom:os + @angle:nh-c3-nh @atom:nh @atom:c3 @atom:nh + @angle:nh-c3-oh @atom:nh @atom:c3 @atom:oh + @angle:nh-c3-os @atom:nh @atom:c3 @atom:os + @angle:nh-c3-p5 @atom:nh @atom:c3 @atom:p5 + @angle:nh-c3-ss @atom:nh @atom:c3 @atom:ss + @angle:n-c3-n2 @atom:n @atom:c3 @atom:n2 + @angle:n-c3-n3 @atom:n @atom:c3 @atom:n3 + @angle:n-c3-n @atom:n @atom:c3 @atom:n + @angle:n-c3-nh @atom:n @atom:c3 @atom:nh + @angle:n-c3-oh @atom:n @atom:c3 @atom:oh + @angle:no-c3-no @atom:no @atom:c3 @atom:no + @angle:n-c3-os @atom:n @atom:c3 @atom:os + @angle:n-c3-p5 @atom:n @atom:c3 @atom:p5 + @angle:oh-c3-oh @atom:oh @atom:c3 @atom:oh + @angle:oh-c3-os @atom:oh @atom:c3 @atom:os + @angle:oh-c3-p5 @atom:oh @atom:c3 @atom:p5 + @angle:oh-c3-sh @atom:oh @atom:c3 @atom:sh + @angle:o-c3-o @atom:o @atom:c3 @atom:o + @angle:os-c3-os @atom:os @atom:c3 @atom:os + @angle:os-c3-p5 @atom:os @atom:c3 @atom:p5 + @angle:os-c3-ss @atom:os @atom:c3 @atom:ss + @angle:p2-c3-p2 @atom:p2 @atom:c3 @atom:p2 + @angle:p3-c3-p3 @atom:p3 @atom:c3 @atom:p3 + @angle:p5-c3-p5 @atom:p5 @atom:c3 @atom:p5 + @angle:p5-c3-ss @atom:p5 @atom:c3 @atom:ss + @angle:s4-c3-s4 @atom:s4 @atom:c3 @atom:s4 + @angle:s4-c3-s6 @atom:s4 @atom:c3 @atom:s6 + @angle:s6-c3-s6 @atom:s6 @atom:c3 @atom:s6 + @angle:sh-c3-sh @atom:sh @atom:c3 @atom:sh + @angle:sh-c3-ss @atom:sh @atom:c3 @atom:ss + @angle:s-c3-s @atom:s @atom:c3 @atom:s + @angle:ss-c3-ss @atom:ss @atom:c3 @atom:ss + @angle:br-ca-br @atom:br @atom:ca @atom:br + @angle:br-ca-ca @atom:br @atom:ca @atom:ca + @angle:c1-ca-c1 @atom:c1 @atom:ca @atom:c1 + @angle:c1-ca-ca @atom:c1 @atom:ca @atom:ca + @angle:c2-ca-c2 @atom:c2 @atom:ca @atom:c2 + @angle:c2-ca-ca @atom:c2 @atom:ca @atom:ca + @angle:c3-ca-c2 @atom:c3 @atom:ca @atom:c2 + @angle:c3-ca-c3 @atom:c3 @atom:ca @atom:c3 + @angle:c3-ca-ca @atom:c3 @atom:ca @atom:ca + @angle:c3-ca-cp @atom:c3 @atom:ca @atom:cp + @angle:c3-ca-cq @atom:c3 @atom:ca @atom:cq + @angle:c3-ca-na @atom:c3 @atom:ca @atom:na + @angle:c3-ca-nb @atom:c3 @atom:ca @atom:nb + @angle:ca-ca-ca @atom:ca @atom:ca @atom:ca + @angle:ca-ca-cc @atom:ca @atom:ca @atom:cc + @angle:ca-ca-cd @atom:ca @atom:ca @atom:cd + @angle:ca-ca-ce @atom:ca @atom:ca @atom:ce + @angle:ca-ca-cf @atom:ca @atom:ca @atom:cf + @angle:ca-ca-cg @atom:ca @atom:ca @atom:cg + @angle:ca-ca-ch @atom:ca @atom:ca @atom:ch + @angle:ca-ca-cl @atom:ca @atom:ca @atom:cl + @angle:ca-ca-cp @atom:ca @atom:ca @atom:cp + @angle:ca-ca-cq @atom:ca @atom:ca @atom:cq + @angle:ca-ca-cx @atom:ca @atom:ca @atom:cx + @angle:ca-ca-cy @atom:ca @atom:ca @atom:cy + @angle:ca-ca-f @atom:ca @atom:ca @atom:f + @angle:ca-ca-h4 @atom:ca @atom:ca @atom:h4 + @angle:ca-ca-ha @atom:ca @atom:ca @atom:ha + @angle:ca-ca-i @atom:ca @atom:ca @atom:i + @angle:ca-ca-n1 @atom:ca @atom:ca @atom:n1 + @angle:ca-ca-n2 @atom:ca @atom:ca @atom:n2 + @angle:ca-ca-n4 @atom:ca @atom:ca @atom:n4 + @angle:ca-ca-n @atom:ca @atom:ca @atom:n + @angle:ca-ca-na @atom:ca @atom:ca @atom:na + @angle:ca-ca-nb @atom:ca @atom:ca @atom:nb + @angle:ca-ca-nc @atom:ca @atom:ca @atom:nc + @angle:ca-ca-nd @atom:ca @atom:ca @atom:nd + @angle:ca-ca-ne @atom:ca @atom:ca @atom:ne + @angle:ca-ca-nf @atom:ca @atom:ca @atom:nf + @angle:ca-ca-nh @atom:ca @atom:ca @atom:nh + @angle:ca-ca-no @atom:ca @atom:ca @atom:no + @angle:ca-ca-o @atom:ca @atom:ca @atom:o + @angle:ca-ca-oh @atom:ca @atom:ca @atom:oh + @angle:ca-ca-os @atom:ca @atom:ca @atom:os + @angle:ca-ca-p2 @atom:ca @atom:ca @atom:p2 + @angle:ca-ca-p3 @atom:ca @atom:ca @atom:p3 + @angle:ca-ca-p4 @atom:ca @atom:ca @atom:p4 + @angle:ca-ca-p5 @atom:ca @atom:ca @atom:p5 + @angle:ca-ca-pe @atom:ca @atom:ca @atom:pe + @angle:ca-ca-pf @atom:ca @atom:ca @atom:pf + @angle:ca-ca-px @atom:ca @atom:ca @atom:px + @angle:ca-ca-py @atom:ca @atom:ca @atom:py + @angle:ca-ca-s4 @atom:ca @atom:ca @atom:s4 + @angle:ca-ca-s6 @atom:ca @atom:ca @atom:s6 + @angle:ca-ca-s @atom:ca @atom:ca @atom:s + @angle:ca-ca-sh @atom:ca @atom:ca @atom:sh + @angle:ca-ca-ss @atom:ca @atom:ca @atom:ss + @angle:ca-ca-sx @atom:ca @atom:ca @atom:sx + @angle:ca-ca-sy @atom:ca @atom:ca @atom:sy + @angle:c-ca-c3 @atom:c @atom:ca @atom:c3 + @angle:c-ca-c @atom:c @atom:ca @atom:c + @angle:c-ca-ca @atom:c @atom:ca @atom:ca + @angle:cc-ca-cp @atom:cc @atom:ca @atom:cp + @angle:cc-ca-nb @atom:cc @atom:ca @atom:nb + @angle:cd-ca-nb @atom:cd @atom:ca @atom:nb + @angle:ce-ca-na @atom:ce @atom:ca @atom:na + @angle:ce-ca-nb @atom:ce @atom:ca @atom:nb + @angle:cf-ca-nb @atom:cf @atom:ca @atom:nb + @angle:cg-ca-cp @atom:cg @atom:ca @atom:cp + @angle:c-ca-ha @atom:c @atom:ca @atom:ha + @angle:cl-ca-cl @atom:cl @atom:ca @atom:cl + @angle:cl-ca-cp @atom:cl @atom:ca @atom:cp + @angle:cl-ca-nb @atom:cl @atom:ca @atom:nb + @angle:c-ca-nb @atom:c @atom:ca @atom:nb + @angle:c-ca-nc @atom:c @atom:ca @atom:nc + @angle:c-ca-nd @atom:c @atom:ca @atom:nd + @angle:cp-ca-f @atom:cp @atom:ca @atom:f + @angle:cp-ca-h4 @atom:cp @atom:ca @atom:h4 + @angle:cp-ca-ha @atom:cp @atom:ca @atom:ha + @angle:cp-ca-na @atom:cp @atom:ca @atom:na + @angle:cp-ca-nb @atom:cp @atom:ca @atom:nb + @angle:cp-ca-nh @atom:cp @atom:ca @atom:nh + @angle:cp-ca-oh @atom:cp @atom:ca @atom:oh + @angle:cp-ca-ss @atom:cp @atom:ca @atom:ss + @angle:cp-ca-sy @atom:cp @atom:ca @atom:sy + @angle:cq-ca-ha @atom:cq @atom:ca @atom:ha + @angle:cq-ca-sy @atom:cq @atom:ca @atom:sy + @angle:f-ca-f @atom:f @atom:ca @atom:f + @angle:f-ca-nb @atom:f @atom:ca @atom:nb + @angle:h4-ca-n @atom:h4 @atom:ca @atom:n + @angle:h4-ca-na @atom:h4 @atom:ca @atom:na + @angle:h4-ca-nb @atom:h4 @atom:ca @atom:nb + @angle:h4-ca-nc @atom:h4 @atom:ca @atom:nc + @angle:h4-ca-nd @atom:h4 @atom:ca @atom:nd + @angle:h4-ca-os @atom:h4 @atom:ca @atom:os + @angle:h4-ca-ss @atom:h4 @atom:ca @atom:ss + @angle:h5-ca-nb @atom:h5 @atom:ca @atom:nb + @angle:h5-ca-nc @atom:h5 @atom:ca @atom:nc + @angle:h5-ca-nd @atom:h5 @atom:ca @atom:nd + @angle:ha-ca-n2 @atom:ha @atom:ca @atom:n2 + @angle:ha-ca-p2 @atom:ha @atom:ca @atom:p2 + @angle:i-ca-i @atom:i @atom:ca @atom:i + @angle:n1-ca-n1 @atom:n1 @atom:ca @atom:n1 + @angle:n2-ca-n2 @atom:n2 @atom:ca @atom:n2 + @angle:n2-ca-na @atom:n2 @atom:ca @atom:na + @angle:n4-ca-n4 @atom:n4 @atom:ca @atom:n4 + @angle:na-ca-na @atom:na @atom:ca @atom:na + @angle:na-ca-nb @atom:na @atom:ca @atom:nb + @angle:na-ca-nh @atom:na @atom:ca @atom:nh + @angle:nb-ca-nb @atom:nb @atom:ca @atom:nb + @angle:nb-ca-nc @atom:nb @atom:ca @atom:nc + @angle:nb-ca-nd @atom:nb @atom:ca @atom:nd + @angle:nb-ca-nh @atom:nb @atom:ca @atom:nh + @angle:nb-ca-oh @atom:nb @atom:ca @atom:oh + @angle:nb-ca-os @atom:nb @atom:ca @atom:os + @angle:nb-ca-sh @atom:nb @atom:ca @atom:sh + @angle:nb-ca-ss @atom:nb @atom:ca @atom:ss + @angle:nc-ca-nc @atom:nc @atom:ca @atom:nc + @angle:nc-ca-nh @atom:nc @atom:ca @atom:nh + @angle:nd-ca-nd @atom:nd @atom:ca @atom:nd + @angle:nd-ca-nh @atom:nd @atom:ca @atom:nh + @angle:nh-ca-nh @atom:nh @atom:ca @atom:nh + @angle:n-ca-nc @atom:n @atom:ca @atom:nc + @angle:n-ca-nd @atom:n @atom:ca @atom:nd + @angle:n-ca-nh @atom:n @atom:ca @atom:nh + @angle:no-ca-no @atom:no @atom:ca @atom:no + @angle:oh-ca-oh @atom:oh @atom:ca @atom:oh + @angle:o-ca-o @atom:o @atom:ca @atom:o + @angle:os-ca-os @atom:os @atom:ca @atom:os + @angle:p2-ca-p2 @atom:p2 @atom:ca @atom:p2 + @angle:p3-ca-p3 @atom:p3 @atom:ca @atom:p3 + @angle:p5-ca-p5 @atom:p5 @atom:ca @atom:p5 + @angle:s4-ca-s4 @atom:s4 @atom:ca @atom:s4 + @angle:s6-ca-s6 @atom:s6 @atom:ca @atom:s6 + @angle:sh-ca-sh @atom:sh @atom:ca @atom:sh + @angle:s-ca-s @atom:s @atom:ca @atom:s + @angle:ss-ca-ss @atom:ss @atom:ca @atom:ss + @angle:br-c-br @atom:br @atom:c @atom:br + @angle:br-c-c3 @atom:br @atom:c @atom:c3 + @angle:br-c-o @atom:br @atom:c @atom:o + @angle:c1-c-c1 @atom:c1 @atom:c @atom:c1 + @angle:c1-c-o @atom:c1 @atom:c @atom:o + @angle:c2-c-c2 @atom:c2 @atom:c @atom:c2 + @angle:c2-c-ha @atom:c2 @atom:c @atom:ha + @angle:c2-c-o @atom:c2 @atom:c @atom:o + @angle:c2-c-s @atom:c2 @atom:c @atom:s + @angle:c3-c-c3 @atom:c3 @atom:c @atom:c3 + @angle:c3-c-ca @atom:c3 @atom:c @atom:ca + @angle:c3-c-cc @atom:c3 @atom:c @atom:cc + @angle:c3-c-cd @atom:c3 @atom:c @atom:cd + @angle:c3-c-ce @atom:c3 @atom:c @atom:ce + @angle:c3-c-cf @atom:c3 @atom:c @atom:cf + @angle:c3-c-cg @atom:c3 @atom:c @atom:cg + @angle:c3-c-ch @atom:c3 @atom:c @atom:ch + @angle:c3-c-cl @atom:c3 @atom:c @atom:cl + @angle:c3-c-f @atom:c3 @atom:c @atom:f + @angle:c3-c-h4 @atom:c3 @atom:c @atom:h4 + @angle:c3-c-ha @atom:c3 @atom:c @atom:ha + @angle:c3-c-i @atom:c3 @atom:c @atom:i + @angle:c3-c-n2 @atom:c3 @atom:c @atom:n2 + @angle:c3-c-n4 @atom:c3 @atom:c @atom:n4 + @angle:c3-c-n @atom:c3 @atom:c @atom:n + @angle:c3-c-ne @atom:c3 @atom:c @atom:ne + @angle:c3-c-nf @atom:c3 @atom:c @atom:nf + @angle:c3-c-o @atom:c3 @atom:c @atom:o + @angle:c3-c-oh @atom:c3 @atom:c @atom:oh + @angle:c3-c-os @atom:c3 @atom:c @atom:os + @angle:c3-c-p3 @atom:c3 @atom:c @atom:p3 + @angle:c3-c-p5 @atom:c3 @atom:c @atom:p5 + @angle:c3-c-pe @atom:c3 @atom:c @atom:pe + @angle:c3-c-pf @atom:c3 @atom:c @atom:pf + @angle:c3-c-px @atom:c3 @atom:c @atom:px + @angle:c3-c-py @atom:c3 @atom:c @atom:py + @angle:c3-c-s4 @atom:c3 @atom:c @atom:s4 + @angle:c3-c-s6 @atom:c3 @atom:c @atom:s6 + @angle:c3-c-s @atom:c3 @atom:c @atom:s + @angle:c3-c-sh @atom:c3 @atom:c @atom:sh + @angle:c3-c-ss @atom:c3 @atom:c @atom:ss + @angle:c3-c-sx @atom:c3 @atom:c @atom:sx + @angle:c3-c-sy @atom:c3 @atom:c @atom:sy + @angle:ca-c-ca @atom:ca @atom:c @atom:ca + @angle:ca-c-cc @atom:ca @atom:c @atom:cc + @angle:ca-c-cd @atom:ca @atom:c @atom:cd + @angle:ca-c-ce @atom:ca @atom:c @atom:ce + @angle:ca-c-cf @atom:ca @atom:c @atom:cf + @angle:ca-c-h4 @atom:ca @atom:c @atom:h4 + @angle:ca-c-ha @atom:ca @atom:c @atom:ha + @angle:ca-c-n @atom:ca @atom:c @atom:n + @angle:ca-c-ne @atom:ca @atom:c @atom:ne + @angle:ca-c-o @atom:ca @atom:c @atom:o + @angle:ca-c-oh @atom:ca @atom:c @atom:oh + @angle:ca-c-os @atom:ca @atom:c @atom:os + @angle:ca-c-s @atom:ca @atom:c @atom:s + @angle:ca-c-sh @atom:ca @atom:c @atom:sh + @angle:ca-c-ss @atom:ca @atom:c @atom:ss + @angle:br-cc-c @atom:br @atom:cc @atom:c + @angle:br-cc-cc @atom:br @atom:cc @atom:cc + @angle:br-cc-cd @atom:br @atom:cc @atom:cd + @angle:br-cc-na @atom:br @atom:cc @atom:na + @angle:c2-cc-c3 @atom:c2 @atom:cc @atom:c3 + @angle:c2-cc-ca @atom:c2 @atom:cc @atom:ca + @angle:c2-cc-cc @atom:c2 @atom:cc @atom:cc + @angle:c2-cc-cd @atom:c2 @atom:cc @atom:cd + @angle:c2-cc-ha @atom:c2 @atom:cc @atom:ha + @angle:c2-cc-n @atom:c2 @atom:cc @atom:n + @angle:c2-cc-os @atom:c2 @atom:cc @atom:os + @angle:c-c-c3 @atom:c @atom:c @atom:c3 + @angle:c3-cc-ca @atom:c3 @atom:cc @atom:ca + @angle:c3-cc-cc @atom:c3 @atom:cc @atom:cc + @angle:c3-cc-cd @atom:c3 @atom:cc @atom:cd + @angle:c3-cc-cf @atom:c3 @atom:cc @atom:cf + @angle:c3-cc-ha @atom:c3 @atom:cc @atom:ha + @angle:c3-cc-n2 @atom:c3 @atom:cc @atom:n2 + @angle:c3-cc-n @atom:c3 @atom:cc @atom:n + @angle:c3-cc-na @atom:c3 @atom:cc @atom:na + @angle:c3-cc-nc @atom:c3 @atom:cc @atom:nc + @angle:c3-cc-nd @atom:c3 @atom:cc @atom:nd + @angle:c3-cc-os @atom:c3 @atom:cc @atom:os + @angle:c3-cc-ss @atom:c3 @atom:cc @atom:ss + @angle:c-c-c @atom:c @atom:c @atom:c + @angle:c-c-ca @atom:c @atom:c @atom:ca + @angle:ca-cc-cc @atom:ca @atom:cc @atom:cc + @angle:ca-cc-cd @atom:ca @atom:cc @atom:cd + @angle:ca-cc-ce @atom:ca @atom:cc @atom:ce + @angle:ca-cc-h4 @atom:ca @atom:cc @atom:h4 + @angle:ca-cc-ha @atom:ca @atom:cc @atom:ha + @angle:ca-cc-n @atom:ca @atom:cc @atom:n + @angle:ca-cc-nc @atom:ca @atom:cc @atom:nc + @angle:ca-cc-nd @atom:ca @atom:cc @atom:nd + @angle:ca-cc-nh @atom:ca @atom:cc @atom:nh + @angle:ca-cc-oh @atom:ca @atom:cc @atom:oh + @angle:ca-cc-os @atom:ca @atom:cc @atom:os + @angle:ca-cc-ss @atom:ca @atom:cc @atom:ss + @angle:c-cc-c2 @atom:c @atom:cc @atom:c2 + @angle:c-cc-c3 @atom:c @atom:cc @atom:c3 + @angle:c-cc-c @atom:c @atom:cc @atom:c + @angle:c-c-cc @atom:c @atom:c @atom:cc + @angle:c-cc-ca @atom:c @atom:cc @atom:ca + @angle:c-cc-cc @atom:c @atom:cc @atom:cc + @angle:cc-c-cc @atom:cc @atom:c @atom:cc + @angle:cc-cc-cc @atom:cc @atom:cc @atom:cc + @angle:cc-cc-cd @atom:cc @atom:cc @atom:cd + @angle:cc-cc-ce @atom:cc @atom:cc @atom:ce + @angle:cc-cc-cf @atom:cc @atom:cc @atom:cf + @angle:cc-cc-cg @atom:cc @atom:cc @atom:cg + @angle:c-cc-cd @atom:c @atom:cc @atom:cd + @angle:cc-c-cd @atom:cc @atom:c @atom:cd + @angle:c-cc-ce @atom:c @atom:cc @atom:ce + @angle:cc-c-ce @atom:cc @atom:c @atom:ce + @angle:cc-cc-f @atom:cc @atom:cc @atom:f + @angle:c-cc-cg @atom:c @atom:cc @atom:cg + @angle:cc-cc-h4 @atom:cc @atom:cc @atom:h4 + @angle:cc-cc-ha @atom:cc @atom:cc @atom:ha + @angle:c-cc-cl @atom:c @atom:cc @atom:cl + @angle:cc-cc-n2 @atom:cc @atom:cc @atom:n2 + @angle:cc-cc-n @atom:cc @atom:cc @atom:n + @angle:cc-cc-na @atom:cc @atom:cc @atom:na + @angle:cc-cc-nc @atom:cc @atom:cc @atom:nc + @angle:cc-cc-nd @atom:cc @atom:cc @atom:nd + @angle:cc-cc-nh @atom:cc @atom:cc @atom:nh + @angle:cc-cc-oh @atom:cc @atom:cc @atom:oh + @angle:cc-cc-os @atom:cc @atom:cc @atom:os + @angle:cc-cc-pd @atom:cc @atom:cc @atom:pd + @angle:cc-cc-ss @atom:cc @atom:cc @atom:ss + @angle:cc-cc-sy @atom:cc @atom:cc @atom:sy + @angle:c-c-cd @atom:c @atom:c @atom:cd + @angle:cd-cc-cd @atom:cd @atom:cc @atom:cd + @angle:cd-cc-ce @atom:cd @atom:cc @atom:ce + @angle:cd-cc-cl @atom:cd @atom:cc @atom:cl + @angle:cd-cc-f @atom:cd @atom:cc @atom:f + @angle:cd-cc-h4 @atom:cd @atom:cc @atom:h4 + @angle:cd-cc-ha @atom:cd @atom:cc @atom:ha + @angle:cd-cc-n @atom:cd @atom:cc @atom:n + @angle:cd-cc-na @atom:cd @atom:cc @atom:na + @angle:cd-cc-nc @atom:cd @atom:cc @atom:nc + @angle:cd-cc-nh @atom:cd @atom:cc @atom:nh + @angle:cd-cc-no @atom:cd @atom:cc @atom:no + @angle:cd-cc-oh @atom:cd @atom:cc @atom:oh + @angle:cd-cc-os @atom:cd @atom:cc @atom:os + @angle:cd-cc-ss @atom:cd @atom:cc @atom:ss + @angle:cd-cc-sy @atom:cd @atom:cc @atom:sy + @angle:ce-cc-na @atom:ce @atom:cc @atom:na + @angle:ce-cc-nc @atom:ce @atom:cc @atom:nc + @angle:ce-cc-nd @atom:ce @atom:cc @atom:nd + @angle:ce-cc-os @atom:ce @atom:cc @atom:os + @angle:ce-cc-ss @atom:ce @atom:cc @atom:ss + @angle:c-cc-f @atom:c @atom:cc @atom:f + @angle:cg-cc-na @atom:cg @atom:cc @atom:na + @angle:cg-cc-ss @atom:cg @atom:cc @atom:ss + @angle:cc-c-h4 @atom:cc @atom:c @atom:h4 + @angle:c-cc-ha @atom:c @atom:cc @atom:ha + @angle:cl-cc-na @atom:cl @atom:cc @atom:na + @angle:cl-cc-nd @atom:cl @atom:cc @atom:nd + @angle:cl-cc-ss @atom:cl @atom:cc @atom:ss + @angle:c-cc-n2 @atom:c @atom:cc @atom:n2 + @angle:c-cc-n @atom:c @atom:cc @atom:n + @angle:cc-c-n @atom:cc @atom:c @atom:n + @angle:c-cc-nc @atom:c @atom:cc @atom:nc + @angle:cc-c-nd @atom:cc @atom:c @atom:nd + @angle:c-cc-nd @atom:c @atom:cc @atom:nd + @angle:c-cc-ne @atom:c @atom:cc @atom:ne + @angle:cc-c-o @atom:cc @atom:c @atom:o + @angle:c-cc-oh @atom:c @atom:cc @atom:oh + @angle:cc-c-oh @atom:cc @atom:c @atom:oh + @angle:c-cc-os @atom:c @atom:cc @atom:os + @angle:cc-c-os @atom:cc @atom:c @atom:os + @angle:cc-c-s @atom:cc @atom:c @atom:s + @angle:cc-c-ss @atom:cc @atom:c @atom:ss + @angle:cx-cc-nd @atom:cx @atom:cc @atom:nd + @angle:cx-cc-os @atom:cx @atom:cc @atom:os + @angle:cd-c-cd @atom:cd @atom:c @atom:cd + @angle:cd-c-cx @atom:cd @atom:c @atom:cx + @angle:cd-c-n @atom:cd @atom:c @atom:n + @angle:cd-c-nc @atom:cd @atom:c @atom:nc + @angle:cd-c-nd @atom:cd @atom:c @atom:nd + @angle:cd-c-o @atom:cd @atom:c @atom:o + @angle:cd-c-oh @atom:cd @atom:c @atom:oh + @angle:cd-c-os @atom:cd @atom:c @atom:os + @angle:ce-c-ce @atom:ce @atom:c @atom:ce + @angle:ce-c-cf @atom:ce @atom:c @atom:cf + @angle:ce-c-cx @atom:ce @atom:c @atom:cx + @angle:ce-c-h4 @atom:ce @atom:c @atom:h4 + @angle:ce-c-ha @atom:ce @atom:c @atom:ha + @angle:ce-c-n @atom:ce @atom:c @atom:n + @angle:ce-c-o @atom:ce @atom:c @atom:o + @angle:ce-c-oh @atom:ce @atom:c @atom:oh + @angle:ce-c-os @atom:ce @atom:c @atom:os + @angle:ce-c-s @atom:ce @atom:c @atom:s + @angle:ce-c-ss @atom:ce @atom:c @atom:ss + @angle:cf-c-cf @atom:cf @atom:c @atom:cf + @angle:cf-c-ha @atom:cf @atom:c @atom:ha + @angle:cf-c-n @atom:cf @atom:c @atom:n + @angle:cf-c-o @atom:cf @atom:c @atom:o + @angle:cf-c-oh @atom:cf @atom:c @atom:oh + @angle:cf-c-os @atom:cf @atom:c @atom:os + @angle:cf-c-s @atom:cf @atom:c @atom:s + @angle:cg-c-cg @atom:cg @atom:c @atom:cg + @angle:cg-c-ha @atom:cg @atom:c @atom:ha + @angle:cg-c-o @atom:cg @atom:c @atom:o + @angle:c-c-h4 @atom:c @atom:c @atom:h4 + @angle:h4-cc-n @atom:h4 @atom:cc @atom:n + @angle:h4-cc-na @atom:h4 @atom:cc @atom:na + @angle:h4-cc-nc @atom:h4 @atom:cc @atom:nc + @angle:h4-cc-nd @atom:h4 @atom:cc @atom:nd + @angle:h4-cc-os @atom:h4 @atom:cc @atom:os + @angle:h4-cc-ss @atom:h4 @atom:cc @atom:ss + @angle:h5-cc-n @atom:h5 @atom:cc @atom:n + @angle:h5-cc-na @atom:h5 @atom:cc @atom:na + @angle:h5-cc-nc @atom:h5 @atom:cc @atom:nc + @angle:h5-cc-nd @atom:h5 @atom:cc @atom:nd + @angle:h5-cc-os @atom:h5 @atom:cc @atom:os + @angle:h5-cc-ss @atom:h5 @atom:cc @atom:ss + @angle:c-c-ha @atom:c @atom:c @atom:ha + @angle:ha-cc-na @atom:ha @atom:cc @atom:na + @angle:ha-cc-nc @atom:ha @atom:cc @atom:nc + @angle:ha-cc-nd @atom:ha @atom:cc @atom:nd + @angle:ha-cc-os @atom:ha @atom:cc @atom:os + @angle:ha-cc-pd @atom:ha @atom:cc @atom:pd + @angle:ha-cc-ss @atom:ha @atom:cc @atom:ss + @angle:ch-c-ch @atom:ch @atom:c @atom:ch + @angle:ch-c-ha @atom:ch @atom:c @atom:ha + @angle:ch-c-o @atom:ch @atom:c @atom:o + @angle:cl-c-cl @atom:cl @atom:c @atom:cl + @angle:cl-c-f @atom:cl @atom:c @atom:f + @angle:cl-c-ha @atom:cl @atom:c @atom:ha + @angle:cl-c-o @atom:cl @atom:c @atom:o + @angle:cl-c-s @atom:cl @atom:c @atom:s + @angle:c-c-n @atom:c @atom:c @atom:n + @angle:na-cc-nc @atom:na @atom:cc @atom:nc + @angle:na-cc-nd @atom:na @atom:cc @atom:nd + @angle:na-cc-no @atom:na @atom:cc @atom:no + @angle:na-cc-oh @atom:na @atom:cc @atom:oh + @angle:na-cc-sx @atom:na @atom:cc @atom:sx + @angle:na-cc-sy @atom:na @atom:cc @atom:sy + @angle:nc-cc-nd @atom:nc @atom:cc @atom:nd + @angle:nc-cc-nh @atom:nc @atom:cc @atom:nh + @angle:nc-cc-no @atom:nc @atom:cc @atom:no + @angle:nc-cc-ss @atom:nc @atom:cc @atom:ss + @angle:nd-cc-nd @atom:nd @atom:cc @atom:nd + @angle:nd-cc-ne @atom:nd @atom:cc @atom:ne + @angle:nd-cc-nh @atom:nd @atom:cc @atom:nh + @angle:nd-cc-no @atom:nd @atom:cc @atom:no + @angle:nd-cc-oh @atom:nd @atom:cc @atom:oh + @angle:nd-cc-os @atom:nd @atom:cc @atom:os + @angle:nd-cc-sh @atom:nd @atom:cc @atom:sh + @angle:nd-cc-ss @atom:nd @atom:cc @atom:ss + @angle:nd-cc-sx @atom:nd @atom:cc @atom:sx + @angle:nd-cc-sy @atom:nd @atom:cc @atom:sy + @angle:ne-cc-ss @atom:ne @atom:cc @atom:ss + @angle:nh-cc-nh @atom:nh @atom:cc @atom:nh + @angle:nh-cc-os @atom:nh @atom:cc @atom:os + @angle:nh-cc-ss @atom:nh @atom:cc @atom:ss + @angle:n-cc-n2 @atom:n @atom:cc @atom:n2 + @angle:n-cc-na @atom:n @atom:cc @atom:na + @angle:n-cc-nc @atom:n @atom:cc @atom:nc + @angle:n-cc-nd @atom:n @atom:cc @atom:nd + @angle:n-cc-nh @atom:n @atom:cc @atom:nh + @angle:no-cc-os @atom:no @atom:cc @atom:os + @angle:no-cc-ss @atom:no @atom:cc @atom:ss + @angle:n-cc-ss @atom:n @atom:cc @atom:ss + @angle:c-c-o @atom:c @atom:c @atom:o + @angle:c-c-oh @atom:c @atom:c @atom:oh + @angle:c-c-os @atom:c @atom:c @atom:os + @angle:os-cc-ss @atom:os @atom:cc @atom:ss + @angle:ss-cc-ss @atom:ss @atom:cc @atom:ss + @angle:ss-cc-sy @atom:ss @atom:cc @atom:sy + @angle:cx-c-cx @atom:cx @atom:c @atom:cx + @angle:cx-c-n @atom:cx @atom:c @atom:n + @angle:cx-c-o @atom:cx @atom:c @atom:o + @angle:cx-c-oh @atom:cx @atom:c @atom:oh + @angle:cx-c-os @atom:cx @atom:c @atom:os + @angle:cy-c-cy @atom:cy @atom:c @atom:cy + @angle:cy-c-n @atom:cy @atom:c @atom:n + @angle:cy-c-o @atom:cy @atom:c @atom:o + @angle:cy-c-oh @atom:cy @atom:c @atom:oh + @angle:cy-c-os @atom:cy @atom:c @atom:os + @angle:c2-cd-c3 @atom:c2 @atom:cd @atom:c3 + @angle:c2-cd-ca @atom:c2 @atom:cd @atom:ca + @angle:c2-cd-cc @atom:c2 @atom:cd @atom:cc + @angle:c2-cd-cd @atom:c2 @atom:cd @atom:cd + @angle:c2-cd-ha @atom:c2 @atom:cd @atom:ha + @angle:c2-cd-n @atom:c2 @atom:cd @atom:n + @angle:c2-cd-os @atom:c2 @atom:cd @atom:os + @angle:c3-cd-ca @atom:c3 @atom:cd @atom:ca + @angle:c3-cd-cc @atom:c3 @atom:cd @atom:cc + @angle:c3-cd-cd @atom:c3 @atom:cd @atom:cd + @angle:c3-cd-ce @atom:c3 @atom:cd @atom:ce + @angle:c3-cd-ha @atom:c3 @atom:cd @atom:ha + @angle:c3-cd-n2 @atom:c3 @atom:cd @atom:n2 + @angle:c3-cd-n @atom:c3 @atom:cd @atom:n + @angle:c3-cd-na @atom:c3 @atom:cd @atom:na + @angle:c3-cd-nc @atom:c3 @atom:cd @atom:nc + @angle:c3-cd-nd @atom:c3 @atom:cd @atom:nd + @angle:c3-cd-os @atom:c3 @atom:cd @atom:os + @angle:c3-cd-ss @atom:c3 @atom:cd @atom:ss + @angle:ca-cd-cc @atom:ca @atom:cd @atom:cc + @angle:ca-cd-cd @atom:ca @atom:cd @atom:cd + @angle:ca-cd-ce @atom:ca @atom:cd @atom:ce + @angle:ca-cd-h4 @atom:ca @atom:cd @atom:h4 + @angle:ca-cd-ha @atom:ca @atom:cd @atom:ha + @angle:ca-cd-n @atom:ca @atom:cd @atom:n + @angle:ca-cd-na @atom:ca @atom:cd @atom:na + @angle:ca-cd-nc @atom:ca @atom:cd @atom:nc + @angle:ca-cd-nd @atom:ca @atom:cd @atom:nd + @angle:ca-cd-oh @atom:ca @atom:cd @atom:oh + @angle:ca-cd-os @atom:ca @atom:cd @atom:os + @angle:ca-cd-ss @atom:ca @atom:cd @atom:ss + @angle:c-cd-c2 @atom:c @atom:cd @atom:c2 + @angle:c-cd-c3 @atom:c @atom:cd @atom:c3 + @angle:c-cd-c @atom:c @atom:cd @atom:c + @angle:c-cd-ca @atom:c @atom:cd @atom:ca + @angle:c-cd-cc @atom:c @atom:cd @atom:cc + @angle:cc-cd-cc @atom:cc @atom:cd @atom:cc + @angle:cc-cd-cd @atom:cc @atom:cd @atom:cd + @angle:cc-cd-cf @atom:cc @atom:cd @atom:cf + @angle:cc-cd-ch @atom:cc @atom:cd @atom:ch + @angle:cc-cd-cl @atom:cc @atom:cd @atom:cl + @angle:cc-cd-cy @atom:cc @atom:cd @atom:cy + @angle:c-cd-cd @atom:c @atom:cd @atom:cd + @angle:c-cd-cf @atom:c @atom:cd @atom:cf + @angle:cc-cd-h4 @atom:cc @atom:cd @atom:h4 + @angle:cc-cd-ha @atom:cc @atom:cd @atom:ha + @angle:c-cd-cl @atom:c @atom:cd @atom:cl + @angle:cc-cd-n @atom:cc @atom:cd @atom:n + @angle:cc-cd-na @atom:cc @atom:cd @atom:na + @angle:cc-cd-nc @atom:cc @atom:cd @atom:nc + @angle:cc-cd-nd @atom:cc @atom:cd @atom:nd + @angle:cc-cd-nh @atom:cc @atom:cd @atom:nh + @angle:cc-cd-oh @atom:cc @atom:cd @atom:oh + @angle:cc-cd-os @atom:cc @atom:cd @atom:os + @angle:cc-cd-ss @atom:cc @atom:cd @atom:ss + @angle:cc-cd-sy @atom:cc @atom:cd @atom:sy + @angle:cd-cd-cd @atom:cd @atom:cd @atom:cd + @angle:cd-cd-ce @atom:cd @atom:cd @atom:ce + @angle:cd-cd-cf @atom:cd @atom:cd @atom:cf + @angle:cd-cd-ch @atom:cd @atom:cd @atom:ch + @angle:cd-cd-cy @atom:cd @atom:cd @atom:cy + @angle:cd-cd-h4 @atom:cd @atom:cd @atom:h4 + @angle:cd-cd-ha @atom:cd @atom:cd @atom:ha + @angle:cd-cd-n2 @atom:cd @atom:cd @atom:n2 + @angle:cd-cd-n @atom:cd @atom:cd @atom:n + @angle:cd-cd-na @atom:cd @atom:cd @atom:na + @angle:cd-cd-nc @atom:cd @atom:cd @atom:nc + @angle:cd-cd-nd @atom:cd @atom:cd @atom:nd + @angle:cd-cd-nh @atom:cd @atom:cd @atom:nh + @angle:cd-cd-oh @atom:cd @atom:cd @atom:oh + @angle:cd-cd-os @atom:cd @atom:cd @atom:os + @angle:cd-cd-pc @atom:cd @atom:cd @atom:pc + @angle:cd-cd-ss @atom:cd @atom:cd @atom:ss + @angle:ce-cd-nd @atom:ce @atom:cd @atom:nd + @angle:cf-cd-na @atom:cf @atom:cd @atom:na + @angle:cf-cd-nc @atom:cf @atom:cd @atom:nc + @angle:cf-cd-nd @atom:cf @atom:cd @atom:nd + @angle:cf-cd-os @atom:cf @atom:cd @atom:os + @angle:cf-cd-ss @atom:cf @atom:cd @atom:ss + @angle:c-cd-h4 @atom:c @atom:cd @atom:h4 + @angle:c-cd-ha @atom:c @atom:cd @atom:ha + @angle:cl-cd-nc @atom:cl @atom:cd @atom:nc + @angle:c-cd-n2 @atom:c @atom:cd @atom:n2 + @angle:c-cd-n @atom:c @atom:cd @atom:n + @angle:c-cd-nc @atom:c @atom:cd @atom:nc + @angle:c-cd-nd @atom:c @atom:cd @atom:nd + @angle:c-cd-oh @atom:c @atom:cd @atom:oh + @angle:c-cd-os @atom:c @atom:cd @atom:os + @angle:h4-cd-n @atom:h4 @atom:cd @atom:n + @angle:h4-cd-na @atom:h4 @atom:cd @atom:na + @angle:h4-cd-nc @atom:h4 @atom:cd @atom:nc + @angle:h4-cd-nd @atom:h4 @atom:cd @atom:nd + @angle:h4-cd-os @atom:h4 @atom:cd @atom:os + @angle:h4-cd-ss @atom:h4 @atom:cd @atom:ss + @angle:h5-cd-n @atom:h5 @atom:cd @atom:n + @angle:h5-cd-na @atom:h5 @atom:cd @atom:na + @angle:h5-cd-nc @atom:h5 @atom:cd @atom:nc + @angle:h5-cd-nd @atom:h5 @atom:cd @atom:nd + @angle:h5-cd-os @atom:h5 @atom:cd @atom:os + @angle:h5-cd-ss @atom:h5 @atom:cd @atom:ss + @angle:ha-cd-na @atom:ha @atom:cd @atom:na + @angle:ha-cd-nc @atom:ha @atom:cd @atom:nc + @angle:ha-cd-nd @atom:ha @atom:cd @atom:nd + @angle:ha-cd-os @atom:ha @atom:cd @atom:os + @angle:ha-cd-pc @atom:ha @atom:cd @atom:pc + @angle:ha-cd-ss @atom:ha @atom:cd @atom:ss + @angle:na-cd-nc @atom:na @atom:cd @atom:nc + @angle:na-cd-nd @atom:na @atom:cd @atom:nd + @angle:na-cd-nh @atom:na @atom:cd @atom:nh + @angle:na-cd-ss @atom:na @atom:cd @atom:ss + @angle:nc-cd-nd @atom:nc @atom:cd @atom:nd + @angle:nc-cd-nh @atom:nc @atom:cd @atom:nh + @angle:nc-cd-oh @atom:nc @atom:cd @atom:oh + @angle:nc-cd-os @atom:nc @atom:cd @atom:os + @angle:nc-cd-ss @atom:nc @atom:cd @atom:ss + @angle:nd-cd-nd @atom:nd @atom:cd @atom:nd + @angle:nd-cd-nh @atom:nd @atom:cd @atom:nh + @angle:nd-cd-ss @atom:nd @atom:cd @atom:ss + @angle:nh-cd-nh @atom:nh @atom:cd @atom:nh + @angle:nh-cd-os @atom:nh @atom:cd @atom:os + @angle:nh-cd-ss @atom:nh @atom:cd @atom:ss + @angle:n-cd-na @atom:n @atom:cd @atom:na + @angle:n-cd-nc @atom:n @atom:cd @atom:nc + @angle:n-cd-nd @atom:n @atom:cd @atom:nd + @angle:n-cd-nh @atom:n @atom:cd @atom:nh + @angle:n-cd-ss @atom:n @atom:cd @atom:ss + @angle:oh-cd-os @atom:oh @atom:cd @atom:os + @angle:os-cd-ss @atom:os @atom:cd @atom:ss + @angle:ss-cd-ss @atom:ss @atom:cd @atom:ss + @angle:ss-cd-sy @atom:ss @atom:cd @atom:sy + @angle:c2-ce-c3 @atom:c2 @atom:ce @atom:c3 + @angle:c2-ce-ca @atom:c2 @atom:ce @atom:ca + @angle:c2-ce-cc @atom:c2 @atom:ce @atom:cc + @angle:c2-ce-ce @atom:c2 @atom:ce @atom:ce + @angle:c2-ce-cg @atom:c2 @atom:ce @atom:cg + @angle:c2-ce-cl @atom:c2 @atom:ce @atom:cl + @angle:c2-ce-h4 @atom:c2 @atom:ce @atom:h4 + @angle:c2-ce-ha @atom:c2 @atom:ce @atom:ha + @angle:c2-ce-n1 @atom:c2 @atom:ce @atom:n1 + @angle:c2-ce-n2 @atom:c2 @atom:ce @atom:n2 + @angle:c2-ce-na @atom:c2 @atom:ce @atom:na + @angle:c2-ce-ne @atom:c2 @atom:ce @atom:ne + @angle:c2-ce-oh @atom:c2 @atom:ce @atom:oh + @angle:c2-ce-p2 @atom:c2 @atom:ce @atom:p2 + @angle:c2-ce-pe @atom:c2 @atom:ce @atom:pe + @angle:c2-ce-px @atom:c2 @atom:ce @atom:px + @angle:c2-ce-py @atom:c2 @atom:ce @atom:py + @angle:c2-ce-sx @atom:c2 @atom:ce @atom:sx + @angle:c2-ce-sy @atom:c2 @atom:ce @atom:sy + @angle:c3-ce-ca @atom:c3 @atom:ce @atom:ca + @angle:c3-ce-cc @atom:c3 @atom:ce @atom:cc + @angle:c3-ce-ce @atom:c3 @atom:ce @atom:ce + @angle:c3-ce-cf @atom:c3 @atom:ce @atom:cf + @angle:c3-ce-cg @atom:c3 @atom:ce @atom:cg + @angle:c3-ce-n2 @atom:c3 @atom:ce @atom:n2 + @angle:c3-ce-nf @atom:c3 @atom:ce @atom:nf + @angle:c3-ce-nh @atom:c3 @atom:ce @atom:nh + @angle:ca-ce-ca @atom:ca @atom:ce @atom:ca + @angle:ca-ce-cc @atom:ca @atom:ce @atom:cc + @angle:ca-ce-ce @atom:ca @atom:ce @atom:ce + @angle:ca-ce-cf @atom:ca @atom:ce @atom:cf + @angle:ca-ce-cl @atom:ca @atom:ce @atom:cl + @angle:ca-ce-h4 @atom:ca @atom:ce @atom:h4 + @angle:ca-ce-ha @atom:ca @atom:ce @atom:ha + @angle:ca-ce-n2 @atom:ca @atom:ce @atom:n2 + @angle:ca-ce-nf @atom:ca @atom:ce @atom:nf + @angle:ca-ce-nh @atom:ca @atom:ce @atom:nh + @angle:ca-ce-oh @atom:ca @atom:ce @atom:oh + @angle:ca-ce-os @atom:ca @atom:ce @atom:os + @angle:ca-ce-ss @atom:ca @atom:ce @atom:ss + @angle:c-ce-c2 @atom:c @atom:ce @atom:c2 + @angle:c-ce-c3 @atom:c @atom:ce @atom:c3 + @angle:c-ce-c @atom:c @atom:ce @atom:c + @angle:c-ce-ca @atom:c @atom:ce @atom:ca + @angle:cc-ce-cd @atom:cc @atom:ce @atom:cd + @angle:cc-ce-cf @atom:cc @atom:ce @atom:cf + @angle:c-ce-cd @atom:c @atom:ce @atom:cd + @angle:c-ce-ce @atom:c @atom:ce @atom:ce + @angle:c-ce-cf @atom:c @atom:ce @atom:cf + @angle:c-ce-cg @atom:c @atom:ce @atom:cg + @angle:cc-ce-h4 @atom:cc @atom:ce @atom:h4 + @angle:cc-ce-ha @atom:cc @atom:ce @atom:ha + @angle:c-ce-cl @atom:c @atom:ce @atom:cl + @angle:cc-ce-n2 @atom:cc @atom:ce @atom:n2 + @angle:cc-ce-nh @atom:cc @atom:ce @atom:nh + @angle:c-ce-cy @atom:c @atom:ce @atom:cy + @angle:cd-ce-ce @atom:cd @atom:ce @atom:ce + @angle:cd-ce-ha @atom:cd @atom:ce @atom:ha + @angle:ce-ce-ce @atom:ce @atom:ce @atom:ce + @angle:ce-ce-cf @atom:ce @atom:ce @atom:cf + @angle:ce-ce-cl @atom:ce @atom:ce @atom:cl + @angle:ce-ce-h4 @atom:ce @atom:ce @atom:h4 + @angle:ce-ce-ha @atom:ce @atom:ce @atom:ha + @angle:ce-ce-n1 @atom:ce @atom:ce @atom:n1 + @angle:ce-ce-n2 @atom:ce @atom:ce @atom:n2 + @angle:ce-ce-oh @atom:ce @atom:ce @atom:oh + @angle:cf-ce-cg @atom:cf @atom:ce @atom:cg + @angle:cf-ce-cy @atom:cf @atom:ce @atom:cy + @angle:cf-ce-h4 @atom:cf @atom:ce @atom:h4 + @angle:cf-ce-ha @atom:cf @atom:ce @atom:ha + @angle:cf-ce-n1 @atom:cf @atom:ce @atom:n1 + @angle:cf-ce-n @atom:cf @atom:ce @atom:n + @angle:cf-ce-nh @atom:cf @atom:ce @atom:nh + @angle:cf-ce-oh @atom:cf @atom:ce @atom:oh + @angle:cg-ce-cg @atom:cg @atom:ce @atom:cg + @angle:cg-ce-ha @atom:cg @atom:ce @atom:ha + @angle:cg-ce-n1 @atom:cg @atom:ce @atom:n1 + @angle:cg-ce-n2 @atom:cg @atom:ce @atom:n2 + @angle:c-ce-ha @atom:c @atom:ce @atom:ha + @angle:c-ce-n @atom:c @atom:ce @atom:n + @angle:c-ce-nh @atom:c @atom:ce @atom:nh + @angle:c-ce-oh @atom:c @atom:ce @atom:oh + @angle:c-ce-os @atom:c @atom:ce @atom:os + @angle:h4-ce-n1 @atom:h4 @atom:ce @atom:n1 + @angle:h4-ce-n2 @atom:h4 @atom:ce @atom:n2 + @angle:h4-ce-ne @atom:h4 @atom:ce @atom:ne + @angle:ha-ce-n1 @atom:ha @atom:ce @atom:n1 + @angle:ha-ce-n2 @atom:ha @atom:ce @atom:n2 + @angle:ha-ce-ne @atom:ha @atom:ce @atom:ne + @angle:ha-ce-nh @atom:ha @atom:ce @atom:nh + @angle:ha-ce-p2 @atom:ha @atom:ce @atom:p2 + @angle:ha-ce-pe @atom:ha @atom:ce @atom:pe + @angle:ha-ce-px @atom:ha @atom:ce @atom:px + @angle:ha-ce-py @atom:ha @atom:ce @atom:py + @angle:ha-ce-sx @atom:ha @atom:ce @atom:sx + @angle:ha-ce-sy @atom:ha @atom:ce @atom:sy + @angle:n2-ce-nh @atom:n2 @atom:ce @atom:nh + @angle:n2-ce-os @atom:n2 @atom:ce @atom:os + @angle:n2-ce-ss @atom:n2 @atom:ce @atom:ss + @angle:ne-ce-ne @atom:ne @atom:ce @atom:ne + @angle:ne-ce-nh @atom:ne @atom:ce @atom:nh + @angle:nf-ce-nh @atom:nf @atom:ce @atom:nh + @angle:pe-ce-pe @atom:pe @atom:ce @atom:pe + @angle:py-ce-py @atom:py @atom:ce @atom:py + @angle:sx-ce-sx @atom:sx @atom:ce @atom:sx + @angle:sy-ce-sy @atom:sy @atom:ce @atom:sy + @angle:c2-cf-c3 @atom:c2 @atom:cf @atom:c3 + @angle:c2-cf-ca @atom:c2 @atom:cf @atom:ca + @angle:c2-cf-cd @atom:c2 @atom:cf @atom:cd + @angle:c2-cf-cf @atom:c2 @atom:cf @atom:cf + @angle:c2-cf-ch @atom:c2 @atom:cf @atom:ch + @angle:c2-cf-ha @atom:c2 @atom:cf @atom:ha + @angle:c2-cf-n2 @atom:c2 @atom:cf @atom:n2 + @angle:c2-cf-nf @atom:c2 @atom:cf @atom:nf + @angle:c2-cf-p2 @atom:c2 @atom:cf @atom:p2 + @angle:c2-cf-pf @atom:c2 @atom:cf @atom:pf + @angle:c2-cf-px @atom:c2 @atom:cf @atom:px + @angle:c2-cf-py @atom:c2 @atom:cf @atom:py + @angle:c2-cf-sx @atom:c2 @atom:cf @atom:sx + @angle:c2-cf-sy @atom:c2 @atom:cf @atom:sy + @angle:c3-cf-ca @atom:c3 @atom:cf @atom:ca + @angle:c3-cf-cd @atom:c3 @atom:cf @atom:cd + @angle:c3-cf-ce @atom:c3 @atom:cf @atom:ce + @angle:c3-cf-cf @atom:c3 @atom:cf @atom:cf + @angle:c3-cf-n2 @atom:c3 @atom:cf @atom:n2 + @angle:ca-cf-ca @atom:ca @atom:cf @atom:ca + @angle:ca-cf-cc @atom:ca @atom:cf @atom:cc + @angle:ca-cf-cd @atom:ca @atom:cf @atom:cd + @angle:ca-cf-ce @atom:ca @atom:cf @atom:ce + @angle:ca-cf-ha @atom:ca @atom:cf @atom:ha + @angle:ca-cf-n2 @atom:ca @atom:cf @atom:n2 + @angle:ca-cf-ne @atom:ca @atom:cf @atom:ne + @angle:ca-cf-oh @atom:ca @atom:cf @atom:oh + @angle:c-cf-c2 @atom:c @atom:cf @atom:c2 + @angle:c-cf-c3 @atom:c @atom:cf @atom:c3 + @angle:c-cf-c @atom:c @atom:cf @atom:c + @angle:c-cf-cc @atom:c @atom:cf @atom:cc + @angle:cc-cf-cf @atom:cc @atom:cf @atom:cf + @angle:c-cf-cd @atom:c @atom:cf @atom:cd + @angle:c-cf-ce @atom:c @atom:cf @atom:ce + @angle:cc-cf-ha @atom:cc @atom:cf @atom:ha + @angle:cd-cf-ce @atom:cd @atom:cf @atom:ce + @angle:cd-cf-ha @atom:cd @atom:cf @atom:ha + @angle:cd-cf-n2 @atom:cd @atom:cf @atom:n2 + @angle:ce-cf-cf @atom:ce @atom:cf @atom:cf + @angle:ce-cf-ch @atom:ce @atom:cf @atom:ch + @angle:ce-cf-ha @atom:ce @atom:cf @atom:ha + @angle:ce-cf-n @atom:ce @atom:cf @atom:n + @angle:ce-cf-oh @atom:ce @atom:cf @atom:oh + @angle:cf-cf-cf @atom:cf @atom:cf @atom:cf + @angle:cf-cf-h4 @atom:cf @atom:cf @atom:h4 + @angle:cf-cf-ha @atom:cf @atom:cf @atom:ha + @angle:cf-cf-n1 @atom:cf @atom:cf @atom:n1 + @angle:cf-cf-n2 @atom:cf @atom:cf @atom:n2 + @angle:c-cf-ha @atom:c @atom:cf @atom:ha + @angle:ch-cf-ch @atom:ch @atom:cf @atom:ch + @angle:ch-cf-ha @atom:ch @atom:cf @atom:ha + @angle:ch-cf-n1 @atom:ch @atom:cf @atom:n1 + @angle:c-cf-n2 @atom:c @atom:cf @atom:n2 + @angle:c-cf-n @atom:c @atom:cf @atom:n + @angle:c-cf-nh @atom:c @atom:cf @atom:nh + @angle:f-c-f @atom:f @atom:c @atom:f + @angle:h4-cf-n2 @atom:h4 @atom:cf @atom:n2 + @angle:h4-cf-ne @atom:h4 @atom:cf @atom:ne + @angle:ha-cf-n1 @atom:ha @atom:cf @atom:n1 + @angle:ha-cf-n2 @atom:ha @atom:cf @atom:n2 + @angle:ha-cf-nf @atom:ha @atom:cf @atom:nf + @angle:ha-cf-nh @atom:ha @atom:cf @atom:nh + @angle:ha-cf-p2 @atom:ha @atom:cf @atom:p2 + @angle:ha-cf-pf @atom:ha @atom:cf @atom:pf + @angle:ha-cf-px @atom:ha @atom:cf @atom:px + @angle:ha-cf-py @atom:ha @atom:cf @atom:py + @angle:ha-cf-sx @atom:ha @atom:cf @atom:sx + @angle:ha-cf-sy @atom:ha @atom:cf @atom:sy + @angle:n2-cf-nh @atom:n2 @atom:cf @atom:nh + @angle:nf-cf-nf @atom:nf @atom:cf @atom:nf + @angle:f-c-o @atom:f @atom:c @atom:o + @angle:pf-cf-pf @atom:pf @atom:cf @atom:pf + @angle:py-cf-py @atom:py @atom:cf @atom:py + @angle:f-c-s @atom:f @atom:c @atom:s + @angle:sx-cf-sx @atom:sx @atom:cf @atom:sx + @angle:sy-cf-sy @atom:sy @atom:cf @atom:sy + @angle:c1-cg-ca @atom:c1 @atom:cg @atom:ca + @angle:c1-cg-cc @atom:c1 @atom:cg @atom:cc + @angle:c1-cg-ce @atom:c1 @atom:cg @atom:ce + @angle:c1-cg-cg @atom:c1 @atom:cg @atom:cg + @angle:c1-cg-ne @atom:c1 @atom:cg @atom:ne + @angle:c1-cg-pe @atom:c1 @atom:cg @atom:pe + @angle:ca-cg-ch @atom:ca @atom:cg @atom:ch + @angle:ca-cg-n1 @atom:ca @atom:cg @atom:n1 + @angle:c-cg-c1 @atom:c @atom:cg @atom:c1 + @angle:cc-cg-n1 @atom:cc @atom:cg @atom:n1 + @angle:ce-cg-ch @atom:ce @atom:cg @atom:ch + @angle:ce-cg-n1 @atom:ce @atom:cg @atom:n1 + @angle:n1-cg-ne @atom:n1 @atom:cg @atom:ne + @angle:h4-c-o @atom:h4 @atom:c @atom:o + @angle:h5-c-n @atom:h5 @atom:c @atom:n + @angle:h5-c-o @atom:h5 @atom:c @atom:o + @angle:ha-c-ha @atom:ha @atom:c @atom:ha + @angle:ha-c-i @atom:ha @atom:c @atom:i + @angle:ha-c-n @atom:ha @atom:c @atom:n + @angle:ha-c-o @atom:ha @atom:c @atom:o + @angle:ha-c-oh @atom:ha @atom:c @atom:oh + @angle:ha-c-os @atom:ha @atom:c @atom:os + @angle:ha-c-s @atom:ha @atom:c @atom:s + @angle:c1-ch-ca @atom:c1 @atom:ch @atom:ca + @angle:c1-ch-cf @atom:c1 @atom:ch @atom:cf + @angle:c1-ch-ch @atom:c1 @atom:ch @atom:ch + @angle:c1-ch-nf @atom:c1 @atom:ch @atom:nf + @angle:c1-ch-pf @atom:c1 @atom:ch @atom:pf + @angle:ca-ch-cg @atom:ca @atom:ch @atom:cg + @angle:ca-ch-n1 @atom:ca @atom:ch @atom:n1 + @angle:c-ch-c1 @atom:c @atom:ch @atom:c1 + @angle:cd-ch-n1 @atom:cd @atom:ch @atom:n1 + @angle:cf-ch-cg @atom:cf @atom:ch @atom:cg + @angle:cf-ch-n1 @atom:cf @atom:ch @atom:n1 + @angle:cg-ch-ch @atom:cg @atom:ch @atom:ch + @angle:n1-ch-nf @atom:n1 @atom:ch @atom:nf + @angle:i-c-i @atom:i @atom:c @atom:i + @angle:i-c-o @atom:i @atom:c @atom:o + @angle:f-cl-f @atom:f @atom:cl @atom:f + @angle:n2-c-n2 @atom:n2 @atom:c @atom:n2 + @angle:n2-c-o @atom:n2 @atom:c @atom:o + @angle:n4-c-n4 @atom:n4 @atom:c @atom:n4 + @angle:n4-c-o @atom:n4 @atom:c @atom:o + @angle:nc-c-o @atom:nc @atom:c @atom:o + @angle:nd-c-o @atom:nd @atom:c @atom:o + @angle:ne-c-ne @atom:ne @atom:c @atom:ne + @angle:ne-c-o @atom:ne @atom:c @atom:o + @angle:nf-c-nf @atom:nf @atom:c @atom:nf + @angle:nf-c-o @atom:nf @atom:c @atom:o + @angle:n-c-n @atom:n @atom:c @atom:n + @angle:n-c-nc @atom:n @atom:c @atom:nc + @angle:n-c-nd @atom:n @atom:c @atom:nd + @angle:n-c-ne @atom:n @atom:c @atom:ne + @angle:n-c-o @atom:n @atom:c @atom:o + @angle:n-c-oh @atom:n @atom:c @atom:oh + @angle:no-c-no @atom:no @atom:c @atom:no + @angle:no-c-o @atom:no @atom:c @atom:o + @angle:n-c-os @atom:n @atom:c @atom:os + @angle:n-c-s @atom:n @atom:c @atom:s + @angle:n-c-sh @atom:n @atom:c @atom:sh + @angle:n-c-ss @atom:n @atom:c @atom:ss + @angle:oh-c-oh @atom:oh @atom:c @atom:oh + @angle:oh-c-s @atom:oh @atom:c @atom:s + @angle:o-c-o @atom:o @atom:c @atom:o + @angle:o-c-oh @atom:o @atom:c @atom:oh + @angle:o-c-os @atom:o @atom:c @atom:os + @angle:o-c-p2 @atom:o @atom:c @atom:p2 + @angle:o-c-p3 @atom:o @atom:c @atom:p3 + @angle:o-c-p5 @atom:o @atom:c @atom:p5 + @angle:o-c-pe @atom:o @atom:c @atom:pe + @angle:o-c-pf @atom:o @atom:c @atom:pf + @angle:o-c-px @atom:o @atom:c @atom:px + @angle:o-c-py @atom:o @atom:c @atom:py + @angle:o-c-s4 @atom:o @atom:c @atom:s4 + @angle:o-c-s6 @atom:o @atom:c @atom:s6 + @angle:o-c-s @atom:o @atom:c @atom:s + @angle:o-c-sh @atom:o @atom:c @atom:sh + @angle:os-c-os @atom:os @atom:c @atom:os + @angle:o-c-ss @atom:o @atom:c @atom:ss + @angle:os-c-s @atom:os @atom:c @atom:s + @angle:os-c-ss @atom:os @atom:c @atom:ss + @angle:o-c-sx @atom:o @atom:c @atom:sx + @angle:o-c-sy @atom:o @atom:c @atom:sy + @angle:p2-c-p2 @atom:p2 @atom:c @atom:p2 + @angle:p3-c-p3 @atom:p3 @atom:c @atom:p3 + @angle:p3-c-py @atom:p3 @atom:c @atom:py + @angle:p5-c-p5 @atom:p5 @atom:c @atom:p5 + @angle:ca-cp-ca @atom:ca @atom:cp @atom:ca + @angle:ca-cp-cp @atom:ca @atom:cp @atom:cp + @angle:ca-cp-na @atom:ca @atom:cp @atom:na + @angle:ca-cp-nb @atom:ca @atom:cp @atom:nb + @angle:cp-cp-cp @atom:cp @atom:cp @atom:cp + @angle:cp-cp-cq @atom:cp @atom:cp @atom:cq + @angle:cp-cp-nb @atom:cp @atom:cp @atom:nb + @angle:pe-c-pe @atom:pe @atom:c @atom:pe + @angle:pf-c-pf @atom:pf @atom:c @atom:pf + @angle:nb-cp-nb @atom:nb @atom:cp @atom:nb + @angle:py-c-py @atom:py @atom:c @atom:py + @angle:ca-cq-ca @atom:ca @atom:cq @atom:ca + @angle:ca-cq-cq @atom:ca @atom:cq @atom:cq + @angle:ca-cq-nb @atom:ca @atom:cq @atom:nb + @angle:cp-cq-cq @atom:cp @atom:cq @atom:cq + @angle:cq-cq-cq @atom:cq @atom:cq @atom:cq + @angle:cq-cq-nb @atom:cq @atom:cq @atom:nb + @angle:s4-c-s4 @atom:s4 @atom:c @atom:s4 + @angle:s6-c-s6 @atom:s6 @atom:c @atom:s6 + @angle:sh-c-sh @atom:sh @atom:c @atom:sh + @angle:s-c-s @atom:s @atom:c @atom:s + @angle:s-c-sh @atom:s @atom:c @atom:sh + @angle:s-c-ss @atom:s @atom:c @atom:ss + @angle:ss-c-ss @atom:ss @atom:c @atom:ss + @angle:sx-c-sx @atom:sx @atom:c @atom:sx + @angle:sy-c-sy @atom:sy @atom:c @atom:sy + @angle:c2-cu-cx @atom:c2 @atom:cu @atom:cx + @angle:c-cu-cu @atom:c @atom:cu @atom:cu + @angle:cu-cu-cx @atom:cu @atom:cu @atom:cx + @angle:cu-cu-ha @atom:cu @atom:cu @atom:ha + @angle:cv-cv-cy @atom:cv @atom:cv @atom:cy + @angle:cv-cv-ha @atom:cv @atom:cv @atom:ha + @angle:cx-cv-cx @atom:cx @atom:cv @atom:cx + @angle:cy-cv-ha @atom:cy @atom:cv @atom:ha + @angle:c1-cx-cx @atom:c1 @atom:cx @atom:cx + @angle:c2-cx-cx @atom:c2 @atom:cx @atom:cx + @angle:c2-cx-h1 @atom:c2 @atom:cx @atom:h1 + @angle:c2-cx-hc @atom:c2 @atom:cx @atom:hc + @angle:c2-cx-os @atom:c2 @atom:cx @atom:os + @angle:c3-cx-c3 @atom:c3 @atom:cx @atom:c3 + @angle:c3-cx-cx @atom:c3 @atom:cx @atom:cx + @angle:c3-cx-h1 @atom:c3 @atom:cx @atom:h1 + @angle:c3-cx-hc @atom:c3 @atom:cx @atom:hc + @angle:c3-cx-n3 @atom:c3 @atom:cx @atom:n3 + @angle:c3-cx-os @atom:c3 @atom:cx @atom:os + @angle:ca-cx-cx @atom:ca @atom:cx @atom:cx + @angle:ca-cx-h1 @atom:ca @atom:cx @atom:h1 + @angle:ca-cx-hc @atom:ca @atom:cx @atom:hc + @angle:ca-cx-oh @atom:ca @atom:cx @atom:oh + @angle:ca-cx-os @atom:ca @atom:cx @atom:os + @angle:c-cx-c3 @atom:c @atom:cx @atom:c3 + @angle:cc-cx-cx @atom:cc @atom:cx @atom:cx + @angle:cc-cx-hc @atom:cc @atom:cx @atom:hc + @angle:c-cx-cx @atom:c @atom:cx @atom:cx + @angle:cd-cx-cx @atom:cd @atom:cx @atom:cx + @angle:c-cx-h1 @atom:c @atom:cx @atom:h1 + @angle:c-cx-hc @atom:c @atom:cx @atom:hc + @angle:cl-cx-cl @atom:cl @atom:cx @atom:cl + @angle:cl-cx-cx @atom:cl @atom:cx @atom:cx + @angle:cl-cx-h1 @atom:cl @atom:cx @atom:h1 + @angle:cl-cx-hc @atom:cl @atom:cx @atom:hc + @angle:c-cx-os @atom:c @atom:cx @atom:os + @angle:cu-cx-cu @atom:cu @atom:cx @atom:cu + @angle:cu-cx-cx @atom:cu @atom:cx @atom:cx + @angle:cu-cx-hc @atom:cu @atom:cx @atom:hc + @angle:cx-cx-cx @atom:cx @atom:cx @atom:cx + @angle:cx-cx-cy @atom:cx @atom:cx @atom:cy + @angle:cx-cx-f @atom:cx @atom:cx @atom:f + @angle:cx-cx-h1 @atom:cx @atom:cx @atom:h1 + @angle:cx-cx-hc @atom:cx @atom:cx @atom:hc + @angle:cx-cx-hx @atom:cx @atom:cx @atom:hx + @angle:cx-cx-n3 @atom:cx @atom:cx @atom:n3 + @angle:cx-cx-na @atom:cx @atom:cx @atom:na + @angle:cx-cx-nh @atom:cx @atom:cx @atom:nh + @angle:cx-cx-os @atom:cx @atom:cx @atom:os + @angle:cy-cx-hc @atom:cy @atom:cx @atom:hc + @angle:f-cx-f @atom:f @atom:cx @atom:f + @angle:f-cx-h1 @atom:f @atom:cx @atom:h1 + @angle:f-cx-hc @atom:f @atom:cx @atom:hc + @angle:h1-cx-h1 @atom:h1 @atom:cx @atom:h1 + @angle:h1-cx-n3 @atom:h1 @atom:cx @atom:n3 + @angle:h1-cx-n @atom:h1 @atom:cx @atom:n + @angle:h1-cx-na @atom:h1 @atom:cx @atom:na + @angle:h1-cx-nh @atom:h1 @atom:cx @atom:nh + @angle:h1-cx-os @atom:h1 @atom:cx @atom:os + @angle:h2-cx-h2 @atom:h2 @atom:cx @atom:h2 + @angle:h2-cx-n2 @atom:h2 @atom:cx @atom:n2 + @angle:hc-cx-hc @atom:hc @atom:cx @atom:hc + @angle:hc-cx-os @atom:hc @atom:cx @atom:os + @angle:hx-cx-n4 @atom:hx @atom:cx @atom:n4 + @angle:n2-cx-n2 @atom:n2 @atom:cx @atom:n2 + @angle:n-cx-oh @atom:n @atom:cx @atom:oh + @angle:n-cx-os @atom:n @atom:cx @atom:os + @angle:oh-cx-oh @atom:oh @atom:cx @atom:oh + @angle:oh-cx-os @atom:oh @atom:cx @atom:os + @angle:os-cx-os @atom:os @atom:cx @atom:os + @angle:c2-cy-cy @atom:c2 @atom:cy @atom:cy + @angle:c3-cy-c3 @atom:c3 @atom:cy @atom:c3 + @angle:c3-cy-cy @atom:c3 @atom:cy @atom:cy + @angle:c3-cy-h1 @atom:c3 @atom:cy @atom:h1 + @angle:c3-cy-hc @atom:c3 @atom:cy @atom:hc + @angle:c3-cy-n3 @atom:c3 @atom:cy @atom:n3 + @angle:c3-cy-n @atom:c3 @atom:cy @atom:n + @angle:c3-cy-os @atom:c3 @atom:cy @atom:os + @angle:c-cy-c3 @atom:c @atom:cy @atom:c3 + @angle:cc-cy-cy @atom:cc @atom:cy @atom:cy + @angle:c-cy-cy @atom:c @atom:cy @atom:cy + @angle:cd-cy-cy @atom:cd @atom:cy @atom:cy + @angle:ce-cy-h2 @atom:ce @atom:cy @atom:h2 + @angle:ce-cy-n @atom:ce @atom:cy @atom:n + @angle:ce-cy-ss @atom:ce @atom:cy @atom:ss + @angle:c-cy-h1 @atom:c @atom:cy @atom:h1 + @angle:c-cy-hc @atom:c @atom:cy @atom:hc + @angle:cl-cy-cy @atom:cl @atom:cy @atom:cy + @angle:cl-cy-h1 @atom:cl @atom:cy @atom:h1 + @angle:cl-cy-hc @atom:cl @atom:cy @atom:hc + @angle:c-cy-n @atom:c @atom:cy @atom:n + @angle:c-cy-os @atom:c @atom:cy @atom:os + @angle:cv-cy-cy @atom:cv @atom:cy @atom:cy + @angle:cv-cy-hc @atom:cv @atom:cy @atom:hc + @angle:cx-cy-cy @atom:cx @atom:cy @atom:cy + @angle:cx-cy-hc @atom:cx @atom:cy @atom:hc + @angle:cy-cy-cy @atom:cy @atom:cy @atom:cy + @angle:cy-cy-f @atom:cy @atom:cy @atom:f + @angle:cy-cy-h1 @atom:cy @atom:cy @atom:h1 + @angle:cy-cy-h2 @atom:cy @atom:cy @atom:h2 + @angle:cy-cy-hc @atom:cy @atom:cy @atom:hc + @angle:cy-cy-n3 @atom:cy @atom:cy @atom:n3 + @angle:cy-cy-n @atom:cy @atom:cy @atom:n + @angle:cy-cy-na @atom:cy @atom:cy @atom:na + @angle:cy-cy-oh @atom:cy @atom:cy @atom:oh + @angle:cy-cy-os @atom:cy @atom:cy @atom:os + @angle:cy-cy-s6 @atom:cy @atom:cy @atom:s6 + @angle:cy-cy-ss @atom:cy @atom:cy @atom:ss + @angle:h1-cy-h1 @atom:h1 @atom:cy @atom:h1 + @angle:h1-cy-n3 @atom:h1 @atom:cy @atom:n3 + @angle:h1-cy-n @atom:h1 @atom:cy @atom:n + @angle:h1-cy-oh @atom:h1 @atom:cy @atom:oh + @angle:h1-cy-os @atom:h1 @atom:cy @atom:os + @angle:h1-cy-s6 @atom:h1 @atom:cy @atom:s6 + @angle:h2-cy-n @atom:h2 @atom:cy @atom:n + @angle:h2-cy-os @atom:h2 @atom:cy @atom:os + @angle:h2-cy-s6 @atom:h2 @atom:cy @atom:s6 + @angle:h2-cy-ss @atom:h2 @atom:cy @atom:ss + @angle:hc-cy-hc @atom:hc @atom:cy @atom:hc + @angle:n-cy-os @atom:n @atom:cy @atom:os + @angle:n-cy-s6 @atom:n @atom:cy @atom:s6 + @angle:n-cy-ss @atom:n @atom:cy @atom:ss + @angle:nh-cz-nh @atom:nh @atom:cz @atom:nh + @angle:br-n1-c1 @atom:br @atom:n1 @atom:c1 + @angle:c1-n1-c1 @atom:c1 @atom:n1 @atom:c1 + @angle:c1-n1-c2 @atom:c1 @atom:n1 @atom:c2 + @angle:c1-n1-c3 @atom:c1 @atom:n1 @atom:c3 + @angle:c1-n1-ca @atom:c1 @atom:n1 @atom:ca + @angle:c1-n1-cl @atom:c1 @atom:n1 @atom:cl + @angle:c1-n1-f @atom:c1 @atom:n1 @atom:f + @angle:c1-n1-hn @atom:c1 @atom:n1 @atom:hn + @angle:c1-n1-i @atom:c1 @atom:n1 @atom:i + @angle:c1-n1-n1 @atom:c1 @atom:n1 @atom:n1 + @angle:c1-n1-n2 @atom:c1 @atom:n1 @atom:n2 + @angle:c1-n1-n3 @atom:c1 @atom:n1 @atom:n3 + @angle:c1-n1-n4 @atom:c1 @atom:n1 @atom:n4 + @angle:c1-n1-na @atom:c1 @atom:n1 @atom:na + @angle:c1-n1-nh @atom:c1 @atom:n1 @atom:nh + @angle:c1-n1-o @atom:c1 @atom:n1 @atom:o + @angle:c1-n1-oh @atom:c1 @atom:n1 @atom:oh + @angle:c1-n1-os @atom:c1 @atom:n1 @atom:os + @angle:c1-n1-p2 @atom:c1 @atom:n1 @atom:p2 + @angle:c1-n1-p3 @atom:c1 @atom:n1 @atom:p3 + @angle:c1-n1-p4 @atom:c1 @atom:n1 @atom:p4 + @angle:c1-n1-p5 @atom:c1 @atom:n1 @atom:p5 + @angle:c1-n1-s2 @atom:c1 @atom:n1 @atom:s2 + @angle:c1-n1-s4 @atom:c1 @atom:n1 @atom:s4 + @angle:c1-n1-s @atom:c1 @atom:n1 @atom:s + @angle:c1-n1-s6 @atom:c1 @atom:n1 @atom:s6 + @angle:c1-n1-sh @atom:c1 @atom:n1 @atom:sh + @angle:c1-n1-ss @atom:c1 @atom:n1 @atom:ss + @angle:c2-n1-n1 @atom:c2 @atom:n1 @atom:n1 + @angle:c2-n1-o @atom:c2 @atom:n1 @atom:o + @angle:c2-n1-s @atom:c2 @atom:n1 @atom:s + @angle:c3-n1-n1 @atom:c3 @atom:n1 @atom:n1 + @angle:ca-n1-n1 @atom:ca @atom:n1 @atom:n1 + @angle:ce-n1-o @atom:ce @atom:n1 @atom:o + @angle:ce-n1-s @atom:ce @atom:n1 @atom:s + @angle:cf-n1-o @atom:cf @atom:n1 @atom:o + @angle:cf-n1-s @atom:cf @atom:n1 @atom:s + @angle:cl-n1-n1 @atom:cl @atom:n1 @atom:n1 + @angle:f-n1-n1 @atom:f @atom:n1 @atom:n1 + @angle:hn-n1-n1 @atom:hn @atom:n1 @atom:n1 + @angle:i-n1-n1 @atom:i @atom:n1 @atom:n1 + @angle:n1-n1-n1 @atom:n1 @atom:n1 @atom:n1 + @angle:n1-n1-n2 @atom:n1 @atom:n1 @atom:n2 + @angle:n1-n1-n3 @atom:n1 @atom:n1 @atom:n3 + @angle:n1-n1-n4 @atom:n1 @atom:n1 @atom:n4 + @angle:n1-n1-na @atom:n1 @atom:n1 @atom:na + @angle:n1-n1-nh @atom:n1 @atom:n1 @atom:nh + @angle:n1-n1-o @atom:n1 @atom:n1 @atom:o + @angle:n1-n1-oh @atom:n1 @atom:n1 @atom:oh + @angle:n1-n1-os @atom:n1 @atom:n1 @atom:os + @angle:n1-n1-p2 @atom:n1 @atom:n1 @atom:p2 + @angle:n1-n1-p3 @atom:n1 @atom:n1 @atom:p3 + @angle:n1-n1-s @atom:n1 @atom:n1 @atom:s + @angle:n1-n1-sh @atom:n1 @atom:n1 @atom:sh + @angle:n1-n1-ss @atom:n1 @atom:n1 @atom:ss + @angle:o-n1-p2 @atom:o @atom:n1 @atom:p2 + @angle:p2-n1-s @atom:p2 @atom:n1 @atom:s + @angle:br-n2-br @atom:br @atom:n2 @atom:br + @angle:br-n2-c2 @atom:br @atom:n2 @atom:c2 + @angle:br-n2-n2 @atom:br @atom:n2 @atom:n2 + @angle:br-n2-o @atom:br @atom:n2 @atom:o + @angle:br-n2-p2 @atom:br @atom:n2 @atom:p2 + @angle:br-n2-s @atom:br @atom:n2 @atom:s + @angle:c1-n2-c1 @atom:c1 @atom:n2 @atom:c1 + @angle:c1-n2-c3 @atom:c1 @atom:n2 @atom:c3 + @angle:c1-n2-cl @atom:c1 @atom:n2 @atom:cl + @angle:c1-n2-hn @atom:c1 @atom:n2 @atom:hn + @angle:c1-n2-n2 @atom:c1 @atom:n2 @atom:n2 + @angle:c1-n2-o @atom:c1 @atom:n2 @atom:o + @angle:c1-n2-p2 @atom:c1 @atom:n2 @atom:p2 + @angle:c1-n2-s @atom:c1 @atom:n2 @atom:s + @angle:c2-n2-c2 @atom:c2 @atom:n2 @atom:c2 + @angle:c2-n2-c3 @atom:c2 @atom:n2 @atom:c3 + @angle:c2-n2-ca @atom:c2 @atom:n2 @atom:ca + @angle:c2-n2-cl @atom:c2 @atom:n2 @atom:cl + @angle:c2-n2-f @atom:c2 @atom:n2 @atom:f + @angle:c2-n2-hn @atom:c2 @atom:n2 @atom:hn + @angle:c2-n2-i @atom:c2 @atom:n2 @atom:i + @angle:c2-n2-n1 @atom:c2 @atom:n2 @atom:n1 + @angle:c2-n2-n2 @atom:c2 @atom:n2 @atom:n2 + @angle:c2-n2-n3 @atom:c2 @atom:n2 @atom:n3 + @angle:c2-n2-n4 @atom:c2 @atom:n2 @atom:n4 + @angle:c2-n2-n @atom:c2 @atom:n2 @atom:n + @angle:c2-n2-na @atom:c2 @atom:n2 @atom:na + @angle:c2-n2-nh @atom:c2 @atom:n2 @atom:nh + @angle:c2-n2-no @atom:c2 @atom:n2 @atom:no + @angle:c2-n2-o @atom:c2 @atom:n2 @atom:o + @angle:c2-n2-oh @atom:c2 @atom:n2 @atom:oh + @angle:c2-n2-os @atom:c2 @atom:n2 @atom:os + @angle:c2-n2-p2 @atom:c2 @atom:n2 @atom:p2 + @angle:c2-n2-p3 @atom:c2 @atom:n2 @atom:p3 + @angle:c2-n2-p4 @atom:c2 @atom:n2 @atom:p4 + @angle:c2-n2-s4 @atom:c2 @atom:n2 @atom:s4 + @angle:c2-n2-s6 @atom:c2 @atom:n2 @atom:s6 + @angle:c2-n2-s @atom:c2 @atom:n2 @atom:s + @angle:c2-n2-sh @atom:c2 @atom:n2 @atom:sh + @angle:c2-n2-ss @atom:c2 @atom:n2 @atom:ss + @angle:c3-n2-c3 @atom:c3 @atom:n2 @atom:c3 + @angle:c3-n2-ca @atom:c3 @atom:n2 @atom:ca + @angle:c3-n2-ce @atom:c3 @atom:n2 @atom:ce + @angle:c3-n2-cf @atom:c3 @atom:n2 @atom:cf + @angle:c3-n2-hn @atom:c3 @atom:n2 @atom:hn + @angle:c3-n2-n1 @atom:c3 @atom:n2 @atom:n1 + @angle:c3-n2-n2 @atom:c3 @atom:n2 @atom:n2 + @angle:c3-n2-nh @atom:c3 @atom:n2 @atom:nh + @angle:c3-n2-o @atom:c3 @atom:n2 @atom:o + @angle:c3-n2-p2 @atom:c3 @atom:n2 @atom:p2 + @angle:c3-n2-s6 @atom:c3 @atom:n2 @atom:s6 + @angle:c3-n2-s @atom:c3 @atom:n2 @atom:s + @angle:ca-n2-ca @atom:ca @atom:n2 @atom:ca + @angle:ca-n2-hn @atom:ca @atom:n2 @atom:hn + @angle:ca-n2-n2 @atom:ca @atom:n2 @atom:n2 + @angle:ca-n2-o @atom:ca @atom:n2 @atom:o + @angle:ca-n2-p2 @atom:ca @atom:n2 @atom:p2 + @angle:ca-n2-s @atom:ca @atom:n2 @atom:s + @angle:c-n2-c2 @atom:c @atom:n2 @atom:c2 + @angle:c-n2-c @atom:c @atom:n2 @atom:c + @angle:c-n2-ca @atom:c @atom:n2 @atom:ca + @angle:cc-n2-cl @atom:cc @atom:n2 @atom:cl + @angle:cc-n2-hn @atom:cc @atom:n2 @atom:hn + @angle:cc-n2-na @atom:cc @atom:n2 @atom:na + @angle:cc-n2-nh @atom:cc @atom:n2 @atom:nh + @angle:cd-n2-cl @atom:cd @atom:n2 @atom:cl + @angle:cd-n2-hn @atom:cd @atom:n2 @atom:hn + @angle:ce-n2-hn @atom:ce @atom:n2 @atom:hn + @angle:ce-n2-n @atom:ce @atom:n2 @atom:n + @angle:ce-n2-nh @atom:ce @atom:n2 @atom:nh + @angle:ce-n2-o @atom:ce @atom:n2 @atom:o + @angle:ce-n2-oh @atom:ce @atom:n2 @atom:oh + @angle:ce-n2-os @atom:ce @atom:n2 @atom:os + @angle:ce-n2-s @atom:ce @atom:n2 @atom:s + @angle:cf-n2-hn @atom:cf @atom:n2 @atom:hn + @angle:cf-n2-n @atom:cf @atom:n2 @atom:n + @angle:cf-n2-nh @atom:cf @atom:n2 @atom:nh + @angle:cf-n2-o @atom:cf @atom:n2 @atom:o + @angle:cf-n2-oh @atom:cf @atom:n2 @atom:oh + @angle:cf-n2-os @atom:cf @atom:n2 @atom:os + @angle:cf-n2-s @atom:cf @atom:n2 @atom:s + @angle:cl-n2-n1 @atom:cl @atom:n2 @atom:n1 + @angle:cl-n2-n2 @atom:cl @atom:n2 @atom:n2 + @angle:cl-n2-o @atom:cl @atom:n2 @atom:o + @angle:cl-n2-p2 @atom:cl @atom:n2 @atom:p2 + @angle:cl-n2-s @atom:cl @atom:n2 @atom:s + @angle:cx-n2-n2 @atom:cx @atom:n2 @atom:n2 + @angle:f-n2-n2 @atom:f @atom:n2 @atom:n2 + @angle:f-n2-o @atom:f @atom:n2 @atom:o + @angle:f-n2-p2 @atom:f @atom:n2 @atom:p2 + @angle:f-n2-s @atom:f @atom:n2 @atom:s + @angle:hn-n2-hn @atom:hn @atom:n2 @atom:hn + @angle:hn-n2-n1 @atom:hn @atom:n2 @atom:n1 + @angle:hn-n2-n2 @atom:hn @atom:n2 @atom:n2 + @angle:hn-n2-ne @atom:hn @atom:n2 @atom:ne + @angle:hn-n2-nf @atom:hn @atom:n2 @atom:nf + @angle:hn-n2-o @atom:hn @atom:n2 @atom:o + @angle:hn-n2-p2 @atom:hn @atom:n2 @atom:p2 + @angle:hn-n2-p4 @atom:hn @atom:n2 @atom:p4 + @angle:hn-n2-p5 @atom:hn @atom:n2 @atom:p5 + @angle:hn-n2-pe @atom:hn @atom:n2 @atom:pe + @angle:hn-n2-pf @atom:hn @atom:n2 @atom:pf + @angle:hn-n2-s2 @atom:hn @atom:n2 @atom:s2 + @angle:hn-n2-s4 @atom:hn @atom:n2 @atom:s4 + @angle:hn-n2-s @atom:hn @atom:n2 @atom:s + @angle:hn-n2-s6 @atom:hn @atom:n2 @atom:s6 + @angle:i-n2-n2 @atom:i @atom:n2 @atom:n2 + @angle:i-n2-o @atom:i @atom:n2 @atom:o + @angle:i-n2-p2 @atom:i @atom:n2 @atom:p2 + @angle:i-n2-s @atom:i @atom:n2 @atom:s + @angle:n1-n2-n1 @atom:n1 @atom:n2 @atom:n1 + @angle:n2-n2-n1 @atom:n2 @atom:n2 @atom:n1 + @angle:n2-n2-n2 @atom:n2 @atom:n2 @atom:n2 + @angle:n2-n2-n3 @atom:n2 @atom:n2 @atom:n3 + @angle:n2-n2-n4 @atom:n2 @atom:n2 @atom:n4 + @angle:n2-n2-na @atom:n2 @atom:n2 @atom:na + @angle:n2-n2-nh @atom:n2 @atom:n2 @atom:nh + @angle:n2-n2-no @atom:n2 @atom:n2 @atom:no + @angle:n2-n2-o @atom:n2 @atom:n2 @atom:o + @angle:n2-n2-oh @atom:n2 @atom:n2 @atom:oh + @angle:n2-n2-os @atom:n2 @atom:n2 @atom:os + @angle:n2-n2-p2 @atom:n2 @atom:n2 @atom:p2 + @angle:n2-n2-p3 @atom:n2 @atom:n2 @atom:p3 + @angle:n2-n2-p4 @atom:n2 @atom:n2 @atom:p4 + @angle:n2-n2-p5 @atom:n2 @atom:n2 @atom:p5 + @angle:n2-n2-s4 @atom:n2 @atom:n2 @atom:s4 + @angle:n2-n2-s6 @atom:n2 @atom:n2 @atom:s6 + @angle:n2-n2-s @atom:n2 @atom:n2 @atom:s + @angle:n2-n2-sh @atom:n2 @atom:n2 @atom:sh + @angle:n2-n2-ss @atom:n2 @atom:n2 @atom:ss + @angle:n3-n2-n3 @atom:n3 @atom:n2 @atom:n3 + @angle:n3-n2-o @atom:n3 @atom:n2 @atom:o + @angle:n3-n2-p2 @atom:n3 @atom:n2 @atom:p2 + @angle:n3-n2-s @atom:n3 @atom:n2 @atom:s + @angle:n4-n2-n4 @atom:n4 @atom:n2 @atom:n4 + @angle:n4-n2-o @atom:n4 @atom:n2 @atom:o + @angle:n4-n2-p2 @atom:n4 @atom:n2 @atom:p2 + @angle:n4-n2-s @atom:n4 @atom:n2 @atom:s + @angle:na-n2-na @atom:na @atom:n2 @atom:na + @angle:na-n2-o @atom:na @atom:n2 @atom:o + @angle:na-n2-p2 @atom:na @atom:n2 @atom:p2 + @angle:na-n2-s @atom:na @atom:n2 @atom:s + @angle:ne-n2-nh @atom:ne @atom:n2 @atom:nh + @angle:ne-n2-o @atom:ne @atom:n2 @atom:o + @angle:ne-n2-s @atom:ne @atom:n2 @atom:s + @angle:nf-n2-nh @atom:nf @atom:n2 @atom:nh + @angle:nf-n2-o @atom:nf @atom:n2 @atom:o + @angle:nf-n2-s @atom:nf @atom:n2 @atom:s + @angle:nh-n2-nh @atom:nh @atom:n2 @atom:nh + @angle:nh-n2-o @atom:nh @atom:n2 @atom:o + @angle:nh-n2-p2 @atom:nh @atom:n2 @atom:p2 + @angle:nh-n2-s @atom:nh @atom:n2 @atom:s + @angle:n-n2-n2 @atom:n @atom:n2 @atom:n2 + @angle:n-n2-o @atom:n @atom:n2 @atom:o + @angle:no-n2-no @atom:no @atom:n2 @atom:no + @angle:no-n2-o @atom:no @atom:n2 @atom:o + @angle:no-n2-p2 @atom:no @atom:n2 @atom:p2 + @angle:n-n2-p2 @atom:n @atom:n2 @atom:p2 + @angle:n-n2-s @atom:n @atom:n2 @atom:s + @angle:oh-n2-oh @atom:oh @atom:n2 @atom:oh + @angle:oh-n2-p2 @atom:oh @atom:n2 @atom:p2 + @angle:oh-n2-s @atom:oh @atom:n2 @atom:s + @angle:o-n2-o @atom:o @atom:n2 @atom:o + @angle:o-n2-oh @atom:o @atom:n2 @atom:oh + @angle:o-n2-os @atom:o @atom:n2 @atom:os + @angle:o-n2-p2 @atom:o @atom:n2 @atom:p2 + @angle:o-n2-p3 @atom:o @atom:n2 @atom:p3 + @angle:o-n2-p4 @atom:o @atom:n2 @atom:p4 + @angle:o-n2-p5 @atom:o @atom:n2 @atom:p5 + @angle:o-n2-pe @atom:o @atom:n2 @atom:pe + @angle:o-n2-pf @atom:o @atom:n2 @atom:pf + @angle:o-n2-s4 @atom:o @atom:n2 @atom:s4 + @angle:o-n2-s6 @atom:o @atom:n2 @atom:s6 + @angle:o-n2-s @atom:o @atom:n2 @atom:s + @angle:o-n2-sh @atom:o @atom:n2 @atom:sh + @angle:os-n2-os @atom:os @atom:n2 @atom:os + @angle:os-n2-p2 @atom:os @atom:n2 @atom:p2 + @angle:o-n2-ss @atom:o @atom:n2 @atom:ss + @angle:os-n2-s @atom:os @atom:n2 @atom:s + @angle:p2-n2-p2 @atom:p2 @atom:n2 @atom:p2 + @angle:p2-n2-p3 @atom:p2 @atom:n2 @atom:p3 + @angle:p2-n2-p4 @atom:p2 @atom:n2 @atom:p4 + @angle:p2-n2-p5 @atom:p2 @atom:n2 @atom:p5 + @angle:p2-n2-s4 @atom:p2 @atom:n2 @atom:s4 + @angle:p2-n2-s6 @atom:p2 @atom:n2 @atom:s6 + @angle:p2-n2-s @atom:p2 @atom:n2 @atom:s + @angle:p2-n2-sh @atom:p2 @atom:n2 @atom:sh + @angle:p2-n2-ss @atom:p2 @atom:n2 @atom:ss + @angle:p3-n2-p3 @atom:p3 @atom:n2 @atom:p3 + @angle:p3-n2-s @atom:p3 @atom:n2 @atom:s + @angle:p4-n2-s @atom:p4 @atom:n2 @atom:s + @angle:p5-n2-p5 @atom:p5 @atom:n2 @atom:p5 + @angle:p5-n2-s @atom:p5 @atom:n2 @atom:s + @angle:pe-n2-s @atom:pe @atom:n2 @atom:s + @angle:pf-n2-s @atom:pf @atom:n2 @atom:s + @angle:s4-n2-s4 @atom:s4 @atom:n2 @atom:s4 + @angle:s4-n2-s6 @atom:s4 @atom:n2 @atom:s6 + @angle:s6-n2-s6 @atom:s6 @atom:n2 @atom:s6 + @angle:sh-n2-sh @atom:sh @atom:n2 @atom:sh + @angle:sh-n2-ss @atom:sh @atom:n2 @atom:ss + @angle:s-n2-s @atom:s @atom:n2 @atom:s + @angle:s-n2-s4 @atom:s @atom:n2 @atom:s4 + @angle:s-n2-s6 @atom:s @atom:n2 @atom:s6 + @angle:s-n2-sh @atom:s @atom:n2 @atom:sh + @angle:s-n2-ss @atom:s @atom:n2 @atom:ss + @angle:ss-n2-ss @atom:ss @atom:n2 @atom:ss + @angle:br-n3-br @atom:br @atom:n3 @atom:br + @angle:br-n3-c3 @atom:br @atom:n3 @atom:c3 + @angle:c1-n3-c1 @atom:c1 @atom:n3 @atom:c1 + @angle:c1-n3-f @atom:c1 @atom:n3 @atom:f + @angle:c1-n3-hn @atom:c1 @atom:n3 @atom:hn + @angle:c1-n3-o @atom:c1 @atom:n3 @atom:o + @angle:c2-n3-c2 @atom:c2 @atom:n3 @atom:c2 + @angle:c2-n3-hn @atom:c2 @atom:n3 @atom:hn + @angle:c3-n3-c3 @atom:c3 @atom:n3 @atom:c3 + @angle:c3-n3-cl @atom:c3 @atom:n3 @atom:cl + @angle:c3-n3-cx @atom:c3 @atom:n3 @atom:cx + @angle:c3-n3-cy @atom:c3 @atom:n3 @atom:cy + @angle:c3-n3-f @atom:c3 @atom:n3 @atom:f + @angle:c3-n3-hn @atom:c3 @atom:n3 @atom:hn + @angle:c3-n3-i @atom:c3 @atom:n3 @atom:i + @angle:c3-n3-n2 @atom:c3 @atom:n3 @atom:n2 + @angle:c3-n3-n3 @atom:c3 @atom:n3 @atom:n3 + @angle:c3-n3-n4 @atom:c3 @atom:n3 @atom:n4 + @angle:c3-n3-n @atom:c3 @atom:n3 @atom:n + @angle:c3-n3-nh @atom:c3 @atom:n3 @atom:nh + @angle:c3-n3-no @atom:c3 @atom:n3 @atom:no + @angle:c3-n3-o @atom:c3 @atom:n3 @atom:o + @angle:c3-n3-oh @atom:c3 @atom:n3 @atom:oh + @angle:c3-n3-os @atom:c3 @atom:n3 @atom:os + @angle:c3-n3-p3 @atom:c3 @atom:n3 @atom:p3 + @angle:c3-n3-p5 @atom:c3 @atom:n3 @atom:p5 + @angle:c3-n3-s4 @atom:c3 @atom:n3 @atom:s4 + @angle:c3-n3-s6 @atom:c3 @atom:n3 @atom:s6 + @angle:c3-n3-s @atom:c3 @atom:n3 @atom:s + @angle:c3-n3-sh @atom:c3 @atom:n3 @atom:sh + @angle:c3-n3-ss @atom:c3 @atom:n3 @atom:ss + @angle:c3-n3-sy @atom:c3 @atom:n3 @atom:sy + @angle:cl-n3-cl @atom:cl @atom:n3 @atom:cl + @angle:cl-n3-hn @atom:cl @atom:n3 @atom:hn + @angle:cl-n3-n3 @atom:cl @atom:n3 @atom:n3 + @angle:cx-n3-cx @atom:cx @atom:n3 @atom:cx + @angle:cx-n3-hn @atom:cx @atom:n3 @atom:hn + @angle:cx-n3-p5 @atom:cx @atom:n3 @atom:p5 + @angle:cx-n3-py @atom:cx @atom:n3 @atom:py + @angle:cy-n3-cy @atom:cy @atom:n3 @atom:cy + @angle:cy-n3-hn @atom:cy @atom:n3 @atom:hn + @angle:f-n3-f @atom:f @atom:n3 @atom:f + @angle:f-n3-hn @atom:f @atom:n3 @atom:hn + @angle:hn-n3-hn @atom:hn @atom:n3 @atom:hn + @angle:hn-n3-i @atom:hn @atom:n3 @atom:i + @angle:hn-n3-n1 @atom:hn @atom:n3 @atom:n1 + @angle:hn-n3-n2 @atom:hn @atom:n3 @atom:n2 + @angle:hn-n3-n3 @atom:hn @atom:n3 @atom:n3 + @angle:hn-n3-n4 @atom:hn @atom:n3 @atom:n4 + @angle:hn-n3-n @atom:hn @atom:n3 @atom:n + @angle:hn-n3-na @atom:hn @atom:n3 @atom:na + @angle:hn-n3-nh @atom:hn @atom:n3 @atom:nh + @angle:hn-n3-no @atom:hn @atom:n3 @atom:no + @angle:hn-n3-o @atom:hn @atom:n3 @atom:o + @angle:hn-n3-oh @atom:hn @atom:n3 @atom:oh + @angle:hn-n3-os @atom:hn @atom:n3 @atom:os + @angle:hn-n3-p2 @atom:hn @atom:n3 @atom:p2 + @angle:hn-n3-p3 @atom:hn @atom:n3 @atom:p3 + @angle:hn-n3-p4 @atom:hn @atom:n3 @atom:p4 + @angle:hn-n3-p5 @atom:hn @atom:n3 @atom:p5 + @angle:hn-n3-s4 @atom:hn @atom:n3 @atom:s4 + @angle:hn-n3-s @atom:hn @atom:n3 @atom:s + @angle:hn-n3-s6 @atom:hn @atom:n3 @atom:s6 + @angle:hn-n3-sh @atom:hn @atom:n3 @atom:sh + @angle:hn-n3-ss @atom:hn @atom:n3 @atom:ss + @angle:hn-n3-sy @atom:hn @atom:n3 @atom:sy + @angle:i-n3-i @atom:i @atom:n3 @atom:i + @angle:n1-n3-n1 @atom:n1 @atom:n3 @atom:n1 + @angle:n2-n3-n2 @atom:n2 @atom:n3 @atom:n2 + @angle:n2-n3-o @atom:n2 @atom:n3 @atom:o + @angle:n3-n3-n3 @atom:n3 @atom:n3 @atom:n3 + @angle:n4-n3-n4 @atom:n4 @atom:n3 @atom:n4 + @angle:n4-n3-nh @atom:n4 @atom:n3 @atom:nh + @angle:na-n3-na @atom:na @atom:n3 @atom:na + @angle:nh-n3-nh @atom:nh @atom:n3 @atom:nh + @angle:n-n3-n @atom:n @atom:n3 @atom:n + @angle:no-n3-no @atom:no @atom:n3 @atom:no + @angle:oh-n3-oh @atom:oh @atom:n3 @atom:oh + @angle:o-n3-o @atom:o @atom:n3 @atom:o + @angle:o-n3-p2 @atom:o @atom:n3 @atom:p2 + @angle:o-n3-p4 @atom:o @atom:n3 @atom:p4 + @angle:o-n3-s4 @atom:o @atom:n3 @atom:s4 + @angle:o-n3-s6 @atom:o @atom:n3 @atom:s6 + @angle:o-n3-s @atom:o @atom:n3 @atom:s + @angle:os-n3-os @atom:os @atom:n3 @atom:os + @angle:p2-n3-p2 @atom:p2 @atom:n3 @atom:p2 + @angle:p3-n3-p3 @atom:p3 @atom:n3 @atom:p3 + @angle:p4-n3-p4 @atom:p4 @atom:n3 @atom:p4 + @angle:p5-n3-p5 @atom:p5 @atom:n3 @atom:p5 + @angle:s4-n3-s4 @atom:s4 @atom:n3 @atom:s4 + @angle:s4-n3-s6 @atom:s4 @atom:n3 @atom:s6 + @angle:s6-n3-s6 @atom:s6 @atom:n3 @atom:s6 + @angle:sh-n3-sh @atom:sh @atom:n3 @atom:sh + @angle:sh-n3-ss @atom:sh @atom:n3 @atom:ss + @angle:s-n3-s @atom:s @atom:n3 @atom:s + @angle:ss-n3-ss @atom:ss @atom:n3 @atom:ss + @angle:br-n4-br @atom:br @atom:n4 @atom:br + @angle:br-n4-hn @atom:br @atom:n4 @atom:hn + @angle:c1-n4-c1 @atom:c1 @atom:n4 @atom:c1 + @angle:c1-n4-hn @atom:c1 @atom:n4 @atom:hn + @angle:c2-n4-c2 @atom:c2 @atom:n4 @atom:c2 + @angle:c2-n4-c3 @atom:c2 @atom:n4 @atom:c3 + @angle:c2-n4-hn @atom:c2 @atom:n4 @atom:hn + @angle:c3-n4-c3 @atom:c3 @atom:n4 @atom:c3 + @angle:c3-n4-ca @atom:c3 @atom:n4 @atom:ca + @angle:c3-n4-cc @atom:c3 @atom:n4 @atom:cc + @angle:c3-n4-cl @atom:c3 @atom:n4 @atom:cl + @angle:c3-n4-hn @atom:c3 @atom:n4 @atom:hn + @angle:c3-n4-n3 @atom:c3 @atom:n4 @atom:n3 + @angle:c3-n4-n4 @atom:c3 @atom:n4 @atom:n4 + @angle:c3-n4-n @atom:c3 @atom:n4 @atom:n + @angle:c3-n4-nh @atom:c3 @atom:n4 @atom:nh + @angle:c3-n4-no @atom:c3 @atom:n4 @atom:no + @angle:c3-n4-o @atom:c3 @atom:n4 @atom:o + @angle:c3-n4-oh @atom:c3 @atom:n4 @atom:oh + @angle:c3-n4-os @atom:c3 @atom:n4 @atom:os + @angle:c3-n4-p2 @atom:c3 @atom:n4 @atom:p2 + @angle:c3-n4-p3 @atom:c3 @atom:n4 @atom:p3 + @angle:c3-n4-p5 @atom:c3 @atom:n4 @atom:p5 + @angle:c3-n4-s4 @atom:c3 @atom:n4 @atom:s4 + @angle:c3-n4-s6 @atom:c3 @atom:n4 @atom:s6 + @angle:c3-n4-s @atom:c3 @atom:n4 @atom:s + @angle:c3-n4-sh @atom:c3 @atom:n4 @atom:sh + @angle:c3-n4-ss @atom:c3 @atom:n4 @atom:ss + @angle:ca-n4-ca @atom:ca @atom:n4 @atom:ca + @angle:ca-n4-hn @atom:ca @atom:n4 @atom:hn + @angle:c-n4-c @atom:c @atom:n4 @atom:c + @angle:c-n4-hn @atom:c @atom:n4 @atom:hn + @angle:cl-n4-cl @atom:cl @atom:n4 @atom:cl + @angle:cl-n4-hn @atom:cl @atom:n4 @atom:hn + @angle:f-n4-f @atom:f @atom:n4 @atom:f + @angle:f-n4-hn @atom:f @atom:n4 @atom:hn + @angle:hn-n4-hn @atom:hn @atom:n4 @atom:hn + @angle:hn-n4-i @atom:hn @atom:n4 @atom:i + @angle:hn-n4-n1 @atom:hn @atom:n4 @atom:n1 + @angle:hn-n4-n2 @atom:hn @atom:n4 @atom:n2 + @angle:hn-n4-n3 @atom:hn @atom:n4 @atom:n3 + @angle:hn-n4-n4 @atom:hn @atom:n4 @atom:n4 + @angle:hn-n4-n @atom:hn @atom:n4 @atom:n + @angle:hn-n4-na @atom:hn @atom:n4 @atom:na + @angle:hn-n4-nh @atom:hn @atom:n4 @atom:nh + @angle:hn-n4-no @atom:hn @atom:n4 @atom:no + @angle:hn-n4-o @atom:hn @atom:n4 @atom:o + @angle:hn-n4-oh @atom:hn @atom:n4 @atom:oh + @angle:hn-n4-os @atom:hn @atom:n4 @atom:os + @angle:hn-n4-p2 @atom:hn @atom:n4 @atom:p2 + @angle:hn-n4-p3 @atom:hn @atom:n4 @atom:p3 + @angle:hn-n4-p4 @atom:hn @atom:n4 @atom:p4 + @angle:hn-n4-p5 @atom:hn @atom:n4 @atom:p5 + @angle:hn-n4-py @atom:hn @atom:n4 @atom:py + @angle:hn-n4-s4 @atom:hn @atom:n4 @atom:s4 + @angle:hn-n4-s @atom:hn @atom:n4 @atom:s + @angle:hn-n4-s6 @atom:hn @atom:n4 @atom:s6 + @angle:hn-n4-sh @atom:hn @atom:n4 @atom:sh + @angle:hn-n4-ss @atom:hn @atom:n4 @atom:ss + @angle:i-n4-i @atom:i @atom:n4 @atom:i + @angle:n1-n4-n1 @atom:n1 @atom:n4 @atom:n1 + @angle:n2-n4-n2 @atom:n2 @atom:n4 @atom:n2 + @angle:n3-n4-n3 @atom:n3 @atom:n4 @atom:n3 + @angle:n4-n4-n4 @atom:n4 @atom:n4 @atom:n4 + @angle:na-n4-na @atom:na @atom:n4 @atom:na + @angle:nh-n4-nh @atom:nh @atom:n4 @atom:nh + @angle:n-n4-n @atom:n @atom:n4 @atom:n + @angle:oh-n4-oh @atom:oh @atom:n4 @atom:oh + @angle:o-n4-o @atom:o @atom:n4 @atom:o + @angle:os-n4-os @atom:os @atom:n4 @atom:os + @angle:p2-n4-p2 @atom:p2 @atom:n4 @atom:p2 + @angle:p3-n4-p3 @atom:p3 @atom:n4 @atom:p3 + @angle:p5-n4-p5 @atom:p5 @atom:n4 @atom:p5 + @angle:py-n4-py @atom:py @atom:n4 @atom:py + @angle:s4-n4-s4 @atom:s4 @atom:n4 @atom:s4 + @angle:s6-n4-s6 @atom:s6 @atom:n4 @atom:s6 + @angle:sh-n4-sh @atom:sh @atom:n4 @atom:sh + @angle:s-n4-s @atom:s @atom:n4 @atom:s + @angle:ss-n4-ss @atom:ss @atom:n4 @atom:ss + @angle:br-na-br @atom:br @atom:na @atom:br + @angle:br-na-c2 @atom:br @atom:na @atom:c2 + @angle:br-na-ca @atom:br @atom:na @atom:ca + @angle:br-na-cc @atom:br @atom:na @atom:cc + @angle:br-na-cd @atom:br @atom:na @atom:cd + @angle:br-na-nc @atom:br @atom:na @atom:nc + @angle:br-na-nd @atom:br @atom:na @atom:nd + @angle:br-na-os @atom:br @atom:na @atom:os + @angle:br-na-p2 @atom:br @atom:na @atom:p2 + @angle:br-na-pc @atom:br @atom:na @atom:pc + @angle:br-na-pd @atom:br @atom:na @atom:pd + @angle:br-na-ss @atom:br @atom:na @atom:ss + @angle:c1-na-c1 @atom:c1 @atom:na @atom:c1 + @angle:c1-na-c2 @atom:c1 @atom:na @atom:c2 + @angle:c1-na-ca @atom:c1 @atom:na @atom:ca + @angle:c1-na-cc @atom:c1 @atom:na @atom:cc + @angle:c1-na-cd @atom:c1 @atom:na @atom:cd + @angle:c1-na-nc @atom:c1 @atom:na @atom:nc + @angle:c1-na-nd @atom:c1 @atom:na @atom:nd + @angle:c1-na-os @atom:c1 @atom:na @atom:os + @angle:c1-na-p2 @atom:c1 @atom:na @atom:p2 + @angle:c1-na-pc @atom:c1 @atom:na @atom:pc + @angle:c1-na-pd @atom:c1 @atom:na @atom:pd + @angle:c1-na-ss @atom:c1 @atom:na @atom:ss + @angle:c2-na-c2 @atom:c2 @atom:na @atom:c2 + @angle:c2-na-c3 @atom:c2 @atom:na @atom:c3 + @angle:c2-na-ca @atom:c2 @atom:na @atom:ca + @angle:c2-na-cc @atom:c2 @atom:na @atom:cc + @angle:c2-na-cd @atom:c2 @atom:na @atom:cd + @angle:c2-na-cl @atom:c2 @atom:na @atom:cl + @angle:c2-na-f @atom:c2 @atom:na @atom:f + @angle:c2-na-hn @atom:c2 @atom:na @atom:hn + @angle:c2-na-i @atom:c2 @atom:na @atom:i + @angle:c2-na-n1 @atom:c2 @atom:na @atom:n1 + @angle:c2-na-n2 @atom:c2 @atom:na @atom:n2 + @angle:c2-na-n3 @atom:c2 @atom:na @atom:n3 + @angle:c2-na-n4 @atom:c2 @atom:na @atom:n4 + @angle:c2-na-n @atom:c2 @atom:na @atom:n + @angle:c2-na-na @atom:c2 @atom:na @atom:na + @angle:c2-na-nc @atom:c2 @atom:na @atom:nc + @angle:c2-na-nd @atom:c2 @atom:na @atom:nd + @angle:c2-na-nh @atom:c2 @atom:na @atom:nh + @angle:c2-na-no @atom:c2 @atom:na @atom:no + @angle:c2-na-o @atom:c2 @atom:na @atom:o + @angle:c2-na-oh @atom:c2 @atom:na @atom:oh + @angle:c2-na-os @atom:c2 @atom:na @atom:os + @angle:c2-na-p2 @atom:c2 @atom:na @atom:p2 + @angle:c2-na-p3 @atom:c2 @atom:na @atom:p3 + @angle:c2-na-p4 @atom:c2 @atom:na @atom:p4 + @angle:c2-na-p5 @atom:c2 @atom:na @atom:p5 + @angle:c2-na-pc @atom:c2 @atom:na @atom:pc + @angle:c2-na-pd @atom:c2 @atom:na @atom:pd + @angle:c2-na-s4 @atom:c2 @atom:na @atom:s4 + @angle:c2-na-s6 @atom:c2 @atom:na @atom:s6 + @angle:c2-na-s @atom:c2 @atom:na @atom:s + @angle:c2-na-sh @atom:c2 @atom:na @atom:sh + @angle:c2-na-ss @atom:c2 @atom:na @atom:ss + @angle:c3-na-c3 @atom:c3 @atom:na @atom:c3 + @angle:c3-na-ca @atom:c3 @atom:na @atom:ca + @angle:c3-na-cc @atom:c3 @atom:na @atom:cc + @angle:c3-na-cd @atom:c3 @atom:na @atom:cd + @angle:c3-na-cp @atom:c3 @atom:na @atom:cp + @angle:c3-na-n2 @atom:c3 @atom:na @atom:n2 + @angle:c3-na-n @atom:c3 @atom:na @atom:n + @angle:c3-na-nc @atom:c3 @atom:na @atom:nc + @angle:c3-na-nd @atom:c3 @atom:na @atom:nd + @angle:c3-na-os @atom:c3 @atom:na @atom:os + @angle:c3-na-p2 @atom:c3 @atom:na @atom:p2 + @angle:c3-na-pc @atom:c3 @atom:na @atom:pc + @angle:c3-na-pd @atom:c3 @atom:na @atom:pd + @angle:c3-na-sh @atom:c3 @atom:na @atom:sh + @angle:c3-na-ss @atom:c3 @atom:na @atom:ss + @angle:ca-na-ca @atom:ca @atom:na @atom:ca + @angle:ca-na-cc @atom:ca @atom:na @atom:cc + @angle:ca-na-cd @atom:ca @atom:na @atom:cd + @angle:ca-na-cl @atom:ca @atom:na @atom:cl + @angle:ca-na-cp @atom:ca @atom:na @atom:cp + @angle:ca-na-cx @atom:ca @atom:na @atom:cx + @angle:ca-na-f @atom:ca @atom:na @atom:f + @angle:ca-na-hn @atom:ca @atom:na @atom:hn + @angle:ca-na-i @atom:ca @atom:na @atom:i + @angle:ca-na-n2 @atom:ca @atom:na @atom:n2 + @angle:ca-na-n4 @atom:ca @atom:na @atom:n4 + @angle:ca-na-n @atom:ca @atom:na @atom:n + @angle:ca-na-na @atom:ca @atom:na @atom:na + @angle:ca-na-nb @atom:ca @atom:na @atom:nb + @angle:ca-na-nc @atom:ca @atom:na @atom:nc + @angle:ca-na-nd @atom:ca @atom:na @atom:nd + @angle:ca-na-nh @atom:ca @atom:na @atom:nh + @angle:ca-na-o @atom:ca @atom:na @atom:o + @angle:ca-na-oh @atom:ca @atom:na @atom:oh + @angle:ca-na-os @atom:ca @atom:na @atom:os + @angle:ca-na-p2 @atom:ca @atom:na @atom:p2 + @angle:ca-na-p3 @atom:ca @atom:na @atom:p3 + @angle:ca-na-p4 @atom:ca @atom:na @atom:p4 + @angle:ca-na-p5 @atom:ca @atom:na @atom:p5 + @angle:ca-na-pc @atom:ca @atom:na @atom:pc + @angle:ca-na-pd @atom:ca @atom:na @atom:pd + @angle:ca-na-py @atom:ca @atom:na @atom:py + @angle:ca-na-s4 @atom:ca @atom:na @atom:s4 + @angle:ca-na-s6 @atom:ca @atom:na @atom:s6 + @angle:ca-na-s @atom:ca @atom:na @atom:s + @angle:ca-na-sh @atom:ca @atom:na @atom:sh + @angle:ca-na-ss @atom:ca @atom:na @atom:ss + @angle:cc-na-cc @atom:cc @atom:na @atom:cc + @angle:cc-na-cd @atom:cc @atom:na @atom:cd + @angle:cc-na-ce @atom:cc @atom:na @atom:ce + @angle:cc-na-cl @atom:cc @atom:na @atom:cl + @angle:cc-na-f @atom:cc @atom:na @atom:f + @angle:cc-na-hn @atom:cc @atom:na @atom:hn + @angle:cc-na-i @atom:cc @atom:na @atom:i + @angle:cc-na-n2 @atom:cc @atom:na @atom:n2 + @angle:cc-na-n4 @atom:cc @atom:na @atom:n4 + @angle:cc-na-n @atom:cc @atom:na @atom:n + @angle:cc-na-na @atom:cc @atom:na @atom:na + @angle:cc-na-nc @atom:cc @atom:na @atom:nc + @angle:cc-na-nd @atom:cc @atom:na @atom:nd + @angle:cc-na-nh @atom:cc @atom:na @atom:nh + @angle:cc-na-no @atom:cc @atom:na @atom:no + @angle:cc-na-o @atom:cc @atom:na @atom:o + @angle:cc-na-oh @atom:cc @atom:na @atom:oh + @angle:cc-na-os @atom:cc @atom:na @atom:os + @angle:cc-na-p2 @atom:cc @atom:na @atom:p2 + @angle:cc-na-p3 @atom:cc @atom:na @atom:p3 + @angle:cc-na-p4 @atom:cc @atom:na @atom:p4 + @angle:cc-na-p5 @atom:cc @atom:na @atom:p5 + @angle:cc-na-s4 @atom:cc @atom:na @atom:s4 + @angle:cc-na-s6 @atom:cc @atom:na @atom:s6 + @angle:cc-na-s @atom:cc @atom:na @atom:s + @angle:cc-na-sh @atom:cc @atom:na @atom:sh + @angle:cc-na-ss @atom:cc @atom:na @atom:ss + @angle:cd-na-cd @atom:cd @atom:na @atom:cd + @angle:cd-na-cl @atom:cd @atom:na @atom:cl + @angle:cd-na-f @atom:cd @atom:na @atom:f + @angle:cd-na-hn @atom:cd @atom:na @atom:hn + @angle:cd-na-i @atom:cd @atom:na @atom:i + @angle:cd-na-n2 @atom:cd @atom:na @atom:n2 + @angle:cd-na-n4 @atom:cd @atom:na @atom:n4 + @angle:cd-na-n @atom:cd @atom:na @atom:n + @angle:cd-na-na @atom:cd @atom:na @atom:na + @angle:cd-na-nc @atom:cd @atom:na @atom:nc + @angle:cd-na-nd @atom:cd @atom:na @atom:nd + @angle:cd-na-nh @atom:cd @atom:na @atom:nh + @angle:cd-na-no @atom:cd @atom:na @atom:no + @angle:cd-na-o @atom:cd @atom:na @atom:o + @angle:cd-na-oh @atom:cd @atom:na @atom:oh + @angle:cd-na-os @atom:cd @atom:na @atom:os + @angle:cd-na-p2 @atom:cd @atom:na @atom:p2 + @angle:cd-na-p3 @atom:cd @atom:na @atom:p3 + @angle:cd-na-p4 @atom:cd @atom:na @atom:p4 + @angle:cd-na-p5 @atom:cd @atom:na @atom:p5 + @angle:cd-na-s4 @atom:cd @atom:na @atom:s4 + @angle:cd-na-s6 @atom:cd @atom:na @atom:s6 + @angle:cd-na-s @atom:cd @atom:na @atom:s + @angle:cd-na-sh @atom:cd @atom:na @atom:sh + @angle:cd-na-ss @atom:cd @atom:na @atom:ss + @angle:cl-na-cl @atom:cl @atom:na @atom:cl + @angle:cl-na-nc @atom:cl @atom:na @atom:nc + @angle:cl-na-nd @atom:cl @atom:na @atom:nd + @angle:cl-na-os @atom:cl @atom:na @atom:os + @angle:cl-na-p2 @atom:cl @atom:na @atom:p2 + @angle:cl-na-pc @atom:cl @atom:na @atom:pc + @angle:cl-na-pd @atom:cl @atom:na @atom:pd + @angle:cl-na-ss @atom:cl @atom:na @atom:ss + @angle:f-na-f @atom:f @atom:na @atom:f + @angle:f-na-nc @atom:f @atom:na @atom:nc + @angle:f-na-nd @atom:f @atom:na @atom:nd + @angle:f-na-os @atom:f @atom:na @atom:os + @angle:f-na-p2 @atom:f @atom:na @atom:p2 + @angle:f-na-pc @atom:f @atom:na @atom:pc + @angle:f-na-pd @atom:f @atom:na @atom:pd + @angle:f-na-ss @atom:f @atom:na @atom:ss + @angle:hn-na-hn @atom:hn @atom:na @atom:hn + @angle:hn-na-n @atom:hn @atom:na @atom:n + @angle:hn-na-nc @atom:hn @atom:na @atom:nc + @angle:hn-na-nd @atom:hn @atom:na @atom:nd + @angle:hn-na-os @atom:hn @atom:na @atom:os + @angle:hn-na-p2 @atom:hn @atom:na @atom:p2 + @angle:hn-na-pc @atom:hn @atom:na @atom:pc + @angle:hn-na-pd @atom:hn @atom:na @atom:pd + @angle:hn-na-ss @atom:hn @atom:na @atom:ss + @angle:i-na-i @atom:i @atom:na @atom:i + @angle:i-na-nc @atom:i @atom:na @atom:nc + @angle:i-na-nd @atom:i @atom:na @atom:nd + @angle:i-na-os @atom:i @atom:na @atom:os + @angle:i-na-p2 @atom:i @atom:na @atom:p2 + @angle:i-na-pc @atom:i @atom:na @atom:pc + @angle:i-na-pd @atom:i @atom:na @atom:pd + @angle:i-na-ss @atom:i @atom:na @atom:ss + @angle:n2-na-n2 @atom:n2 @atom:na @atom:n2 + @angle:n2-na-nc @atom:n2 @atom:na @atom:nc + @angle:n2-na-nd @atom:n2 @atom:na @atom:nd + @angle:n2-na-os @atom:n2 @atom:na @atom:os + @angle:n2-na-p2 @atom:n2 @atom:na @atom:p2 + @angle:n2-na-pc @atom:n2 @atom:na @atom:pc + @angle:n2-na-pd @atom:n2 @atom:na @atom:pd + @angle:n2-na-ss @atom:n2 @atom:na @atom:ss + @angle:n3-na-n3 @atom:n3 @atom:na @atom:n3 + @angle:n4-na-n4 @atom:n4 @atom:na @atom:n4 + @angle:n4-na-nc @atom:n4 @atom:na @atom:nc + @angle:n4-na-nd @atom:n4 @atom:na @atom:nd + @angle:n4-na-os @atom:n4 @atom:na @atom:os + @angle:n4-na-p2 @atom:n4 @atom:na @atom:p2 + @angle:n4-na-pc @atom:n4 @atom:na @atom:pc + @angle:n4-na-pd @atom:n4 @atom:na @atom:pd + @angle:na-na-na @atom:na @atom:na @atom:na + @angle:na-na-nc @atom:na @atom:na @atom:nc + @angle:na-na-nd @atom:na @atom:na @atom:nd + @angle:na-na-os @atom:na @atom:na @atom:os + @angle:na-na-p2 @atom:na @atom:na @atom:p2 + @angle:na-na-pc @atom:na @atom:na @atom:pc + @angle:na-na-pd @atom:na @atom:na @atom:pd + @angle:na-na-ss @atom:na @atom:na @atom:ss + @angle:nc-na-nc @atom:nc @atom:na @atom:nc + @angle:nc-na-nd @atom:nc @atom:na @atom:nd + @angle:nc-na-nh @atom:nc @atom:na @atom:nh + @angle:nc-na-no @atom:nc @atom:na @atom:no + @angle:nc-na-o @atom:nc @atom:na @atom:o + @angle:nc-na-oh @atom:nc @atom:na @atom:oh + @angle:nc-na-os @atom:nc @atom:na @atom:os + @angle:nc-na-p2 @atom:nc @atom:na @atom:p2 + @angle:nc-na-p3 @atom:nc @atom:na @atom:p3 + @angle:nc-na-p4 @atom:nc @atom:na @atom:p4 + @angle:nc-na-p5 @atom:nc @atom:na @atom:p5 + @angle:nc-na-pc @atom:nc @atom:na @atom:pc + @angle:nc-na-s4 @atom:nc @atom:na @atom:s4 + @angle:nc-na-s6 @atom:nc @atom:na @atom:s6 + @angle:nc-na-s @atom:nc @atom:na @atom:s + @angle:nc-na-sh @atom:nc @atom:na @atom:sh + @angle:nc-na-ss @atom:nc @atom:na @atom:ss + @angle:nd-na-nd @atom:nd @atom:na @atom:nd + @angle:nd-na-nh @atom:nd @atom:na @atom:nh + @angle:nd-na-no @atom:nd @atom:na @atom:no + @angle:nd-na-o @atom:nd @atom:na @atom:o + @angle:nd-na-oh @atom:nd @atom:na @atom:oh + @angle:nd-na-os @atom:nd @atom:na @atom:os + @angle:nd-na-p2 @atom:nd @atom:na @atom:p2 + @angle:nd-na-p3 @atom:nd @atom:na @atom:p3 + @angle:nd-na-p4 @atom:nd @atom:na @atom:p4 + @angle:nd-na-p5 @atom:nd @atom:na @atom:p5 + @angle:nd-na-pd @atom:nd @atom:na @atom:pd + @angle:nd-na-s4 @atom:nd @atom:na @atom:s4 + @angle:nd-na-s6 @atom:nd @atom:na @atom:s6 + @angle:nd-na-s @atom:nd @atom:na @atom:s + @angle:nd-na-sh @atom:nd @atom:na @atom:sh + @angle:nd-na-ss @atom:nd @atom:na @atom:ss + @angle:nh-na-nh @atom:nh @atom:na @atom:nh + @angle:nh-na-os @atom:nh @atom:na @atom:os + @angle:nh-na-p2 @atom:nh @atom:na @atom:p2 + @angle:nh-na-pc @atom:nh @atom:na @atom:pc + @angle:nh-na-pd @atom:nh @atom:na @atom:pd + @angle:nh-na-ss @atom:nh @atom:na @atom:ss + @angle:n-na-n @atom:n @atom:na @atom:n + @angle:n-na-nc @atom:n @atom:na @atom:nc + @angle:n-na-nd @atom:n @atom:na @atom:nd + @angle:no-na-no @atom:no @atom:na @atom:no + @angle:no-na-os @atom:no @atom:na @atom:os + @angle:no-na-pc @atom:no @atom:na @atom:pc + @angle:no-na-pd @atom:no @atom:na @atom:pd + @angle:n-na-os @atom:n @atom:na @atom:os + @angle:no-na-ss @atom:no @atom:na @atom:ss + @angle:n-na-p2 @atom:n @atom:na @atom:p2 + @angle:n-na-pc @atom:n @atom:na @atom:pc + @angle:n-na-pd @atom:n @atom:na @atom:pd + @angle:n-na-ss @atom:n @atom:na @atom:ss + @angle:oh-na-oh @atom:oh @atom:na @atom:oh + @angle:oh-na-p2 @atom:oh @atom:na @atom:p2 + @angle:oh-na-pc @atom:oh @atom:na @atom:pc + @angle:oh-na-pd @atom:oh @atom:na @atom:pd + @angle:oh-na-ss @atom:oh @atom:na @atom:ss + @angle:o-na-o @atom:o @atom:na @atom:o + @angle:o-na-os @atom:o @atom:na @atom:os + @angle:o-na-p2 @atom:o @atom:na @atom:p2 + @angle:o-na-pc @atom:o @atom:na @atom:pc + @angle:o-na-pd @atom:o @atom:na @atom:pd + @angle:os-na-os @atom:os @atom:na @atom:os + @angle:os-na-p2 @atom:os @atom:na @atom:p2 + @angle:os-na-p3 @atom:os @atom:na @atom:p3 + @angle:os-na-p5 @atom:os @atom:na @atom:p5 + @angle:os-na-pc @atom:os @atom:na @atom:pc + @angle:os-na-pd @atom:os @atom:na @atom:pd + @angle:os-na-s4 @atom:os @atom:na @atom:s4 + @angle:os-na-s6 @atom:os @atom:na @atom:s6 + @angle:os-na-ss @atom:os @atom:na @atom:ss + @angle:p2-na-p2 @atom:p2 @atom:na @atom:p2 + @angle:p2-na-p3 @atom:p2 @atom:na @atom:p3 + @angle:p2-na-p5 @atom:p2 @atom:na @atom:p5 + @angle:p2-na-pc @atom:p2 @atom:na @atom:pc + @angle:p2-na-pd @atom:p2 @atom:na @atom:pd + @angle:p2-na-s4 @atom:p2 @atom:na @atom:s4 + @angle:p2-na-s6 @atom:p2 @atom:na @atom:s6 + @angle:p2-na-s @atom:p2 @atom:na @atom:s + @angle:p2-na-sh @atom:p2 @atom:na @atom:sh + @angle:p2-na-ss @atom:p2 @atom:na @atom:ss + @angle:p3-na-p3 @atom:p3 @atom:na @atom:p3 + @angle:p3-na-pc @atom:p3 @atom:na @atom:pc + @angle:p3-na-pd @atom:p3 @atom:na @atom:pd + @angle:p5-na-p5 @atom:p5 @atom:na @atom:p5 + @angle:p5-na-pc @atom:p5 @atom:na @atom:pc + @angle:p5-na-pd @atom:p5 @atom:na @atom:pd + @angle:p5-na-ss @atom:p5 @atom:na @atom:ss + @angle:pc-na-pc @atom:pc @atom:na @atom:pc + @angle:pc-na-s4 @atom:pc @atom:na @atom:s4 + @angle:pc-na-s6 @atom:pc @atom:na @atom:s6 + @angle:pc-na-s @atom:pc @atom:na @atom:s + @angle:pc-na-sh @atom:pc @atom:na @atom:sh + @angle:pc-na-ss @atom:pc @atom:na @atom:ss + @angle:pd-na-pd @atom:pd @atom:na @atom:pd + @angle:pd-na-s4 @atom:pd @atom:na @atom:s4 + @angle:pd-na-s6 @atom:pd @atom:na @atom:s6 + @angle:pd-na-s @atom:pd @atom:na @atom:s + @angle:pd-na-sh @atom:pd @atom:na @atom:sh + @angle:pd-na-ss @atom:pd @atom:na @atom:ss + @angle:py-na-py @atom:py @atom:na @atom:py + @angle:s4-na-s4 @atom:s4 @atom:na @atom:s4 + @angle:s4-na-s6 @atom:s4 @atom:na @atom:s6 + @angle:s4-na-ss @atom:s4 @atom:na @atom:ss + @angle:s6-na-s6 @atom:s6 @atom:na @atom:s6 + @angle:s6-na-ss @atom:s6 @atom:na @atom:ss + @angle:sh-na-sh @atom:sh @atom:na @atom:sh + @angle:sh-na-ss @atom:sh @atom:na @atom:ss + @angle:s-na-s @atom:s @atom:na @atom:s + @angle:s-na-ss @atom:s @atom:na @atom:ss + @angle:ss-na-ss @atom:ss @atom:na @atom:ss + @angle:sy-na-sy @atom:sy @atom:na @atom:sy + @angle:ca-nb-ca @atom:ca @atom:nb @atom:ca + @angle:ca-nb-cp @atom:ca @atom:nb @atom:cp + @angle:ca-nb-cq @atom:ca @atom:nb @atom:cq + @angle:ca-nb-nb @atom:ca @atom:nb @atom:nb + @angle:cp-nb-nb @atom:cp @atom:nb @atom:nb + @angle:nb-nb-nb @atom:nb @atom:nb @atom:nb + @angle:br-n-br @atom:br @atom:n @atom:br + @angle:br-n-c @atom:br @atom:n @atom:c + @angle:br-n-ca @atom:br @atom:n @atom:ca + @angle:br-n-cc @atom:br @atom:n @atom:cc + @angle:br-n-cd @atom:br @atom:n @atom:cd + @angle:c1-n-c1 @atom:c1 @atom:n @atom:c1 + @angle:c1-n-ca @atom:c1 @atom:n @atom:ca + @angle:c1-n-cc @atom:c1 @atom:n @atom:cc + @angle:c1-n-cd @atom:c1 @atom:n @atom:cd + @angle:c2-n-c2 @atom:c2 @atom:n @atom:c2 + @angle:c2-n-c3 @atom:c2 @atom:n @atom:c3 + @angle:c2-n-ca @atom:c2 @atom:n @atom:ca + @angle:c2-n-cc @atom:c2 @atom:n @atom:cc + @angle:c2-n-cd @atom:c2 @atom:n @atom:cd + @angle:c2-n-hn @atom:c2 @atom:n @atom:hn + @angle:c3-n-c3 @atom:c3 @atom:n @atom:c3 + @angle:c3-n-ca @atom:c3 @atom:n @atom:ca + @angle:c3-n-cc @atom:c3 @atom:n @atom:cc + @angle:c3-n-cd @atom:c3 @atom:n @atom:cd + @angle:c3-n-cy @atom:c3 @atom:n @atom:cy + @angle:c3-n-hn @atom:c3 @atom:n @atom:hn + @angle:c3-n-n2 @atom:c3 @atom:n @atom:n2 + @angle:c3-n-n @atom:c3 @atom:n @atom:n + @angle:c3-n-nc @atom:c3 @atom:n @atom:nc + @angle:c3-n-nd @atom:c3 @atom:n @atom:nd + @angle:c3-n-oh @atom:c3 @atom:n @atom:oh + @angle:c3-n-os @atom:c3 @atom:n @atom:os + @angle:c3-n-sy @atom:c3 @atom:n @atom:sy + @angle:ca-n-ca @atom:ca @atom:n @atom:ca + @angle:ca-n-cc @atom:ca @atom:n @atom:cc + @angle:ca-n-cd @atom:ca @atom:n @atom:cd + @angle:ca-n-cl @atom:ca @atom:n @atom:cl + @angle:ca-n-f @atom:ca @atom:n @atom:f + @angle:ca-n-hn @atom:ca @atom:n @atom:hn + @angle:ca-n-i @atom:ca @atom:n @atom:i + @angle:ca-n-n2 @atom:ca @atom:n @atom:n2 + @angle:ca-n-n4 @atom:ca @atom:n @atom:n4 + @angle:ca-n-n @atom:ca @atom:n @atom:n + @angle:ca-n-na @atom:ca @atom:n @atom:na + @angle:ca-n-nc @atom:ca @atom:n @atom:nc + @angle:ca-n-nd @atom:ca @atom:n @atom:nd + @angle:ca-n-nh @atom:ca @atom:n @atom:nh + @angle:ca-n-p2 @atom:ca @atom:n @atom:p2 + @angle:ca-n-p3 @atom:ca @atom:n @atom:p3 + @angle:ca-n-s4 @atom:ca @atom:n @atom:s4 + @angle:ca-n-s6 @atom:ca @atom:n @atom:s6 + @angle:ca-n-ss @atom:ca @atom:n @atom:ss + @angle:c-n-c1 @atom:c @atom:n @atom:c1 + @angle:c-n-c2 @atom:c @atom:n @atom:c2 + @angle:c-n-c3 @atom:c @atom:n @atom:c3 + @angle:c3-nc-cd @atom:c3 @atom:nc @atom:cd + @angle:c-n-c @atom:c @atom:n @atom:c + @angle:c-n-ca @atom:c @atom:n @atom:ca + @angle:ca-nc-ca @atom:ca @atom:nc @atom:ca + @angle:ca-nc-cd @atom:ca @atom:nc @atom:cd + @angle:ca-nc-n @atom:ca @atom:nc @atom:n + @angle:ca-nc-na @atom:ca @atom:nc @atom:na + @angle:ca-nc-os @atom:ca @atom:nc @atom:os + @angle:ca-nc-ss @atom:ca @atom:nc @atom:ss + @angle:c-n-cc @atom:c @atom:n @atom:cc + @angle:c-nc-ca @atom:c @atom:nc @atom:ca + @angle:cc-n-cc @atom:cc @atom:n @atom:cc + @angle:cc-nc-cc @atom:cc @atom:nc @atom:cc + @angle:cc-nc-cd @atom:cc @atom:nc @atom:cd + @angle:c-nc-cd @atom:c @atom:nc @atom:cd + @angle:cc-n-cl @atom:cc @atom:n @atom:cl + @angle:cc-nc-na @atom:cc @atom:nc @atom:na + @angle:cc-nc-nd @atom:cc @atom:nc @atom:nd + @angle:c-n-cd @atom:c @atom:n @atom:cd + @angle:cd-nc-cd @atom:cd @atom:nc @atom:cd + @angle:cd-nc-n @atom:cd @atom:nc @atom:n + @angle:cd-nc-na @atom:cd @atom:nc @atom:na + @angle:cd-nc-nc @atom:cd @atom:nc @atom:nc + @angle:cd-nc-os @atom:cd @atom:nc @atom:os + @angle:cd-nc-ss @atom:cd @atom:nc @atom:ss + @angle:c-n-ce @atom:c @atom:n @atom:ce + @angle:cc-n-f @atom:cc @atom:n @atom:f + @angle:cc-n-hn @atom:cc @atom:n @atom:hn + @angle:cc-n-i @atom:cc @atom:n @atom:i + @angle:c-n-cl @atom:c @atom:n @atom:cl + @angle:cc-n-n2 @atom:cc @atom:n @atom:n2 + @angle:cc-n-n @atom:cc @atom:n @atom:n + @angle:cc-n-na @atom:cc @atom:n @atom:na + @angle:cc-n-nc @atom:cc @atom:n @atom:nc + @angle:cc-n-nh @atom:cc @atom:n @atom:nh + @angle:cc-n-no @atom:cc @atom:n @atom:no + @angle:cc-n-o @atom:cc @atom:n @atom:o + @angle:cc-n-oh @atom:cc @atom:n @atom:oh + @angle:cc-n-os @atom:cc @atom:n @atom:os + @angle:cc-n-p2 @atom:cc @atom:n @atom:p2 + @angle:cc-n-p3 @atom:cc @atom:n @atom:p3 + @angle:cc-n-p5 @atom:cc @atom:n @atom:p5 + @angle:cc-n-s4 @atom:cc @atom:n @atom:s4 + @angle:cc-n-s6 @atom:cc @atom:n @atom:s6 + @angle:cc-n-s @atom:cc @atom:n @atom:s + @angle:cc-n-sh @atom:cc @atom:n @atom:sh + @angle:cc-n-ss @atom:cc @atom:n @atom:ss + @angle:c-n-cx @atom:c @atom:n @atom:cx + @angle:c-n-cy @atom:c @atom:n @atom:cy + @angle:cd-n-cd @atom:cd @atom:n @atom:cd + @angle:cd-n-cl @atom:cd @atom:n @atom:cl + @angle:cd-n-f @atom:cd @atom:n @atom:f + @angle:cd-n-hn @atom:cd @atom:n @atom:hn + @angle:cd-n-i @atom:cd @atom:n @atom:i + @angle:cd-n-n2 @atom:cd @atom:n @atom:n2 + @angle:cd-n-n @atom:cd @atom:n @atom:n + @angle:cd-n-na @atom:cd @atom:n @atom:na + @angle:cd-n-nd @atom:cd @atom:n @atom:nd + @angle:cd-n-nh @atom:cd @atom:n @atom:nh + @angle:cd-n-no @atom:cd @atom:n @atom:no + @angle:cd-n-o @atom:cd @atom:n @atom:o + @angle:cd-n-oh @atom:cd @atom:n @atom:oh + @angle:cd-n-os @atom:cd @atom:n @atom:os + @angle:cd-n-p2 @atom:cd @atom:n @atom:p2 + @angle:cd-n-p3 @atom:cd @atom:n @atom:p3 + @angle:cd-n-p5 @atom:cd @atom:n @atom:p5 + @angle:cd-n-s4 @atom:cd @atom:n @atom:s4 + @angle:cd-n-s6 @atom:cd @atom:n @atom:s6 + @angle:cd-n-s @atom:cd @atom:n @atom:s + @angle:cd-n-sh @atom:cd @atom:n @atom:sh + @angle:cd-n-ss @atom:cd @atom:n @atom:ss + @angle:ce-n-cy @atom:ce @atom:n @atom:cy + @angle:c-n-f @atom:c @atom:n @atom:f + @angle:cf-n-cy @atom:cf @atom:n @atom:cy + @angle:c-n-hn @atom:c @atom:n @atom:hn + @angle:c-n-i @atom:c @atom:n @atom:i + @angle:cl-n-cl @atom:cl @atom:n @atom:cl + @angle:c-n-n2 @atom:c @atom:n @atom:n2 + @angle:c-n-n3 @atom:c @atom:n @atom:n3 + @angle:c-n-n4 @atom:c @atom:n @atom:n4 + @angle:c-n-n @atom:c @atom:n @atom:n + @angle:c-n-na @atom:c @atom:n @atom:na + @angle:na-nc-nd @atom:na @atom:nc @atom:nd + @angle:c-n-nc @atom:c @atom:n @atom:nc + @angle:nc-nc-nd @atom:nc @atom:nc @atom:nd + @angle:c-n-nd @atom:c @atom:n @atom:nd + @angle:nd-nc-os @atom:nd @atom:nc @atom:os + @angle:c-n-nh @atom:c @atom:n @atom:nh + @angle:c-n-no @atom:c @atom:n @atom:no + @angle:c-n-o @atom:c @atom:n @atom:o + @angle:c-n-oh @atom:c @atom:n @atom:oh + @angle:c-n-os @atom:c @atom:n @atom:os + @angle:c-n-p2 @atom:c @atom:n @atom:p2 + @angle:c-n-p3 @atom:c @atom:n @atom:p3 + @angle:c-n-p4 @atom:c @atom:n @atom:p4 + @angle:c-n-p5 @atom:c @atom:n @atom:p5 + @angle:c-n-pc @atom:c @atom:n @atom:pc + @angle:c-n-pd @atom:c @atom:n @atom:pd + @angle:c-n-s4 @atom:c @atom:n @atom:s4 + @angle:c-n-s6 @atom:c @atom:n @atom:s6 + @angle:c-n-s @atom:c @atom:n @atom:s + @angle:c-n-sh @atom:c @atom:n @atom:sh + @angle:c-n-ss @atom:c @atom:n @atom:ss + @angle:c-n-sy @atom:c @atom:n @atom:sy + @angle:cx-n-hn @atom:cx @atom:n @atom:hn + @angle:cx-n-os @atom:cx @atom:n @atom:os + @angle:cy-n-hn @atom:cy @atom:n @atom:hn + @angle:c3-nd-cc @atom:c3 @atom:nd @atom:cc + @angle:ca-nd-ca @atom:ca @atom:nd @atom:ca + @angle:ca-nd-cc @atom:ca @atom:nd @atom:cc + @angle:ca-nd-n @atom:ca @atom:nd @atom:n + @angle:ca-nd-na @atom:ca @atom:nd @atom:na + @angle:ca-nd-nc @atom:ca @atom:nd @atom:nc + @angle:ca-nd-os @atom:ca @atom:nd @atom:os + @angle:ca-nd-ss @atom:ca @atom:nd @atom:ss + @angle:c-nd-ca @atom:c @atom:nd @atom:ca + @angle:c-nd-cc @atom:c @atom:nd @atom:cc + @angle:cc-nd-cc @atom:cc @atom:nd @atom:cc + @angle:cc-nd-cd @atom:cc @atom:nd @atom:cd + @angle:cc-nd-n @atom:cc @atom:nd @atom:n + @angle:cc-nd-na @atom:cc @atom:nd @atom:na + @angle:cc-nd-nd @atom:cc @atom:nd @atom:nd + @angle:cc-nd-os @atom:cc @atom:nd @atom:os + @angle:cc-nd-ss @atom:cc @atom:nd @atom:ss + @angle:cd-nd-cd @atom:cd @atom:nd @atom:cd + @angle:cd-nd-na @atom:cd @atom:nd @atom:na + @angle:cd-nd-nc @atom:cd @atom:nd @atom:nc + @angle:na-nd-nc @atom:na @atom:nd @atom:nc + @angle:nc-nd-nd @atom:nc @atom:nd @atom:nd + @angle:nc-nd-os @atom:nc @atom:nd @atom:os + @angle:c1-ne-ca @atom:c1 @atom:ne @atom:ca + @angle:c1-ne-cg @atom:c1 @atom:ne @atom:cg + @angle:c2-ne-ca @atom:c2 @atom:ne @atom:ca + @angle:c2-ne-ce @atom:c2 @atom:ne @atom:ce + @angle:c2-ne-cg @atom:c2 @atom:ne @atom:cg + @angle:c2-ne-n2 @atom:c2 @atom:ne @atom:n2 + @angle:c2-ne-ne @atom:c2 @atom:ne @atom:ne + @angle:c2-ne-p2 @atom:c2 @atom:ne @atom:p2 + @angle:c2-ne-pe @atom:c2 @atom:ne @atom:pe + @angle:c2-ne-px @atom:c2 @atom:ne @atom:px + @angle:c2-ne-py @atom:c2 @atom:ne @atom:py + @angle:c2-ne-sx @atom:c2 @atom:ne @atom:sx + @angle:c2-ne-sy @atom:c2 @atom:ne @atom:sy + @angle:ca-ne-cf @atom:ca @atom:ne @atom:cf + @angle:ca-ne-n2 @atom:ca @atom:ne @atom:n2 + @angle:ca-ne-nf @atom:ca @atom:ne @atom:nf + @angle:ca-ne-o @atom:ca @atom:ne @atom:o + @angle:ca-ne-p2 @atom:ca @atom:ne @atom:p2 + @angle:ca-ne-s @atom:ca @atom:ne @atom:s + @angle:c-ne-c2 @atom:c @atom:ne @atom:c2 + @angle:ce-ne-n2 @atom:ce @atom:ne @atom:n2 + @angle:ce-ne-o @atom:ce @atom:ne @atom:o + @angle:ce-ne-p2 @atom:ce @atom:ne @atom:p2 + @angle:ce-ne-s @atom:ce @atom:ne @atom:s + @angle:cg-ne-n1 @atom:cg @atom:ne @atom:n1 + @angle:cg-ne-n2 @atom:cg @atom:ne @atom:n2 + @angle:cg-ne-o @atom:cg @atom:ne @atom:o + @angle:cg-ne-p2 @atom:cg @atom:ne @atom:p2 + @angle:cg-ne-s @atom:cg @atom:ne @atom:s + @angle:c-ne-sy @atom:c @atom:ne @atom:sy + @angle:n2-ne-n2 @atom:n2 @atom:ne @atom:n2 + @angle:n2-ne-ne @atom:n2 @atom:ne @atom:ne + @angle:n2-ne-o @atom:n2 @atom:ne @atom:o + @angle:n2-ne-p2 @atom:n2 @atom:ne @atom:p2 + @angle:n2-ne-pe @atom:n2 @atom:ne @atom:pe + @angle:n2-ne-px @atom:n2 @atom:ne @atom:px + @angle:n2-ne-py @atom:n2 @atom:ne @atom:py + @angle:n2-ne-s @atom:n2 @atom:ne @atom:s + @angle:n2-ne-sx @atom:n2 @atom:ne @atom:sx + @angle:n2-ne-sy @atom:n2 @atom:ne @atom:sy + @angle:ne-ne-o @atom:ne @atom:ne @atom:o + @angle:ne-ne-p2 @atom:ne @atom:ne @atom:p2 + @angle:ne-ne-s @atom:ne @atom:ne @atom:s + @angle:o-ne-o @atom:o @atom:ne @atom:o + @angle:o-ne-pe @atom:o @atom:ne @atom:pe + @angle:o-ne-px @atom:o @atom:ne @atom:px + @angle:o-ne-py @atom:o @atom:ne @atom:py + @angle:o-ne-s @atom:o @atom:ne @atom:s + @angle:o-ne-sx @atom:o @atom:ne @atom:sx + @angle:o-ne-sy @atom:o @atom:ne @atom:sy + @angle:p2-ne-pe @atom:p2 @atom:ne @atom:pe + @angle:p2-ne-px @atom:p2 @atom:ne @atom:px + @angle:p2-ne-py @atom:p2 @atom:ne @atom:py + @angle:p2-ne-sx @atom:p2 @atom:ne @atom:sx + @angle:p2-ne-sy @atom:p2 @atom:ne @atom:sy + @angle:pe-ne-s @atom:pe @atom:ne @atom:s + @angle:px-ne-s @atom:px @atom:ne @atom:s + @angle:py-ne-s @atom:py @atom:ne @atom:s + @angle:s-ne-s @atom:s @atom:ne @atom:s + @angle:s-ne-sx @atom:s @atom:ne @atom:sx + @angle:s-ne-sy @atom:s @atom:ne @atom:sy + @angle:c1-nf-ca @atom:c1 @atom:nf @atom:ca + @angle:c1-nf-ch @atom:c1 @atom:nf @atom:ch + @angle:c2-nf-ca @atom:c2 @atom:nf @atom:ca + @angle:c2-nf-cf @atom:c2 @atom:nf @atom:cf + @angle:c2-nf-n2 @atom:c2 @atom:nf @atom:n2 + @angle:c2-nf-nf @atom:c2 @atom:nf @atom:nf + @angle:c2-nf-p2 @atom:c2 @atom:nf @atom:p2 + @angle:c2-nf-pf @atom:c2 @atom:nf @atom:pf + @angle:c2-nf-px @atom:c2 @atom:nf @atom:px + @angle:c2-nf-py @atom:c2 @atom:nf @atom:py + @angle:c2-nf-sx @atom:c2 @atom:nf @atom:sx + @angle:c2-nf-sy @atom:c2 @atom:nf @atom:sy + @angle:ca-nf-ce @atom:ca @atom:nf @atom:ce + @angle:ca-nf-n2 @atom:ca @atom:nf @atom:n2 + @angle:ca-nf-ne @atom:ca @atom:nf @atom:ne + @angle:ca-nf-o @atom:ca @atom:nf @atom:o + @angle:ca-nf-p2 @atom:ca @atom:nf @atom:p2 + @angle:ca-nf-s @atom:ca @atom:nf @atom:s + @angle:c-nf-c2 @atom:c @atom:nf @atom:c2 + @angle:cf-nf-n2 @atom:cf @atom:nf @atom:n2 + @angle:cf-nf-o @atom:cf @atom:nf @atom:o + @angle:cf-nf-p2 @atom:cf @atom:nf @atom:p2 + @angle:cf-nf-s @atom:cf @atom:nf @atom:s + @angle:ch-nf-n1 @atom:ch @atom:nf @atom:n1 + @angle:ch-nf-n2 @atom:ch @atom:nf @atom:n2 + @angle:ch-nf-o @atom:ch @atom:nf @atom:o + @angle:ch-nf-p2 @atom:ch @atom:nf @atom:p2 + @angle:ch-nf-s @atom:ch @atom:nf @atom:s + @angle:f-n-f @atom:f @atom:n @atom:f + @angle:n2-nf-n2 @atom:n2 @atom:nf @atom:n2 + @angle:n2-nf-nf @atom:n2 @atom:nf @atom:nf + @angle:n2-nf-o @atom:n2 @atom:nf @atom:o + @angle:n2-nf-p2 @atom:n2 @atom:nf @atom:p2 + @angle:n2-nf-pf @atom:n2 @atom:nf @atom:pf + @angle:n2-nf-px @atom:n2 @atom:nf @atom:px + @angle:n2-nf-py @atom:n2 @atom:nf @atom:py + @angle:n2-nf-s @atom:n2 @atom:nf @atom:s + @angle:n2-nf-sx @atom:n2 @atom:nf @atom:sx + @angle:n2-nf-sy @atom:n2 @atom:nf @atom:sy + @angle:nf-nf-o @atom:nf @atom:nf @atom:o + @angle:nf-nf-p2 @atom:nf @atom:nf @atom:p2 + @angle:nf-nf-s @atom:nf @atom:nf @atom:s + @angle:o-nf-o @atom:o @atom:nf @atom:o + @angle:o-nf-pf @atom:o @atom:nf @atom:pf + @angle:o-nf-px @atom:o @atom:nf @atom:px + @angle:o-nf-py @atom:o @atom:nf @atom:py + @angle:o-nf-s @atom:o @atom:nf @atom:s + @angle:o-nf-sx @atom:o @atom:nf @atom:sx + @angle:o-nf-sy @atom:o @atom:nf @atom:sy + @angle:p2-nf-pf @atom:p2 @atom:nf @atom:pf + @angle:p2-nf-px @atom:p2 @atom:nf @atom:px + @angle:p2-nf-py @atom:p2 @atom:nf @atom:py + @angle:p2-nf-sx @atom:p2 @atom:nf @atom:sx + @angle:p2-nf-sy @atom:p2 @atom:nf @atom:sy + @angle:pf-nf-s @atom:pf @atom:nf @atom:s + @angle:px-nf-s @atom:px @atom:nf @atom:s + @angle:py-nf-s @atom:py @atom:nf @atom:s + @angle:s-nf-s @atom:s @atom:nf @atom:s + @angle:s-nf-sx @atom:s @atom:nf @atom:sx + @angle:s-nf-sy @atom:s @atom:nf @atom:sy + @angle:br-nh-br @atom:br @atom:nh @atom:br + @angle:br-nh-ca @atom:br @atom:nh @atom:ca + @angle:br-nh-hn @atom:br @atom:nh @atom:hn + @angle:c1-nh-c1 @atom:c1 @atom:nh @atom:c1 + @angle:c1-nh-c2 @atom:c1 @atom:nh @atom:c2 + @angle:c1-nh-ca @atom:c1 @atom:nh @atom:ca + @angle:c1-nh-hn @atom:c1 @atom:nh @atom:hn + @angle:c2-nh-c2 @atom:c2 @atom:nh @atom:c2 + @angle:c2-nh-c3 @atom:c2 @atom:nh @atom:c3 + @angle:c2-nh-ca @atom:c2 @atom:nh @atom:ca + @angle:c2-nh-cc @atom:c2 @atom:nh @atom:cc + @angle:c2-nh-cd @atom:c2 @atom:nh @atom:cd + @angle:c2-nh-cx @atom:c2 @atom:nh @atom:cx + @angle:c2-nh-hn @atom:c2 @atom:nh @atom:hn + @angle:c2-nh-n2 @atom:c2 @atom:nh @atom:n2 + @angle:c2-nh-n3 @atom:c2 @atom:nh @atom:n3 + @angle:c2-nh-no @atom:c2 @atom:nh @atom:no + @angle:c2-nh-oh @atom:c2 @atom:nh @atom:oh + @angle:c2-nh-os @atom:c2 @atom:nh @atom:os + @angle:c2-nh-sy @atom:c2 @atom:nh @atom:sy + @angle:c3-nh-c3 @atom:c3 @atom:nh @atom:c3 + @angle:c3-nh-ca @atom:c3 @atom:nh @atom:ca + @angle:c3-nh-cc @atom:c3 @atom:nh @atom:cc + @angle:c3-nh-cd @atom:c3 @atom:nh @atom:cd + @angle:c3-nh-cf @atom:c3 @atom:nh @atom:cf + @angle:c3-nh-cz @atom:c3 @atom:nh @atom:cz + @angle:c3-nh-hn @atom:c3 @atom:nh @atom:hn + @angle:c3-nh-n2 @atom:c3 @atom:nh @atom:n2 + @angle:c3-nh-n @atom:c3 @atom:nh @atom:n + @angle:c3-nh-na @atom:c3 @atom:nh @atom:na + @angle:c3-nh-p2 @atom:c3 @atom:nh @atom:p2 + @angle:c3-nh-sy @atom:c3 @atom:nh @atom:sy + @angle:ca-nh-ca @atom:ca @atom:nh @atom:ca + @angle:ca-nh-cc @atom:ca @atom:nh @atom:cc + @angle:ca-nh-cd @atom:ca @atom:nh @atom:cd + @angle:ca-nh-cl @atom:ca @atom:nh @atom:cl + @angle:ca-nh-cx @atom:ca @atom:nh @atom:cx + @angle:ca-nh-f @atom:ca @atom:nh @atom:f + @angle:ca-nh-hn @atom:ca @atom:nh @atom:hn + @angle:ca-nh-i @atom:ca @atom:nh @atom:i + @angle:ca-nh-n1 @atom:ca @atom:nh @atom:n1 + @angle:ca-nh-n2 @atom:ca @atom:nh @atom:n2 + @angle:ca-nh-n3 @atom:ca @atom:nh @atom:n3 + @angle:ca-nh-n4 @atom:ca @atom:nh @atom:n4 + @angle:ca-nh-n @atom:ca @atom:nh @atom:n + @angle:ca-nh-na @atom:ca @atom:nh @atom:na + @angle:ca-nh-nh @atom:ca @atom:nh @atom:nh + @angle:ca-nh-no @atom:ca @atom:nh @atom:no + @angle:ca-nh-o @atom:ca @atom:nh @atom:o + @angle:ca-nh-oh @atom:ca @atom:nh @atom:oh + @angle:ca-nh-os @atom:ca @atom:nh @atom:os + @angle:ca-nh-p2 @atom:ca @atom:nh @atom:p2 + @angle:ca-nh-p3 @atom:ca @atom:nh @atom:p3 + @angle:ca-nh-p4 @atom:ca @atom:nh @atom:p4 + @angle:ca-nh-p5 @atom:ca @atom:nh @atom:p5 + @angle:ca-nh-s4 @atom:ca @atom:nh @atom:s4 + @angle:ca-nh-s6 @atom:ca @atom:nh @atom:s6 + @angle:ca-nh-s @atom:ca @atom:nh @atom:s + @angle:ca-nh-sh @atom:ca @atom:nh @atom:sh + @angle:ca-nh-ss @atom:ca @atom:nh @atom:ss + @angle:ca-nh-sy @atom:ca @atom:nh @atom:sy + @angle:cc-nh-cx @atom:cc @atom:nh @atom:cx + @angle:cc-nh-hn @atom:cc @atom:nh @atom:hn + @angle:cc-nh-n2 @atom:cc @atom:nh @atom:n2 + @angle:cc-nh-sy @atom:cc @atom:nh @atom:sy + @angle:cd-nh-cx @atom:cd @atom:nh @atom:cx + @angle:cd-nh-hn @atom:cd @atom:nh @atom:hn + @angle:ce-nh-hn @atom:ce @atom:nh @atom:hn + @angle:ce-nh-o @atom:ce @atom:nh @atom:o + @angle:ce-nh-sy @atom:ce @atom:nh @atom:sy + @angle:cf-nh-hn @atom:cf @atom:nh @atom:hn + @angle:cf-nh-o @atom:cf @atom:nh @atom:o + @angle:cl-nh-cl @atom:cl @atom:nh @atom:cl + @angle:cl-nh-hn @atom:cl @atom:nh @atom:hn + @angle:cx-nh-cx @atom:cx @atom:nh @atom:cx + @angle:cx-nh-hn @atom:cx @atom:nh @atom:hn + @angle:cz-nh-hn @atom:cz @atom:nh @atom:hn + @angle:f-nh-f @atom:f @atom:nh @atom:f + @angle:f-nh-hn @atom:f @atom:nh @atom:hn + @angle:hn-nh-hn @atom:hn @atom:nh @atom:hn + @angle:hn-nh-i @atom:hn @atom:nh @atom:i + @angle:hn-nh-n1 @atom:hn @atom:nh @atom:n1 + @angle:hn-nh-n2 @atom:hn @atom:nh @atom:n2 + @angle:hn-nh-n3 @atom:hn @atom:nh @atom:n3 + @angle:hn-nh-n4 @atom:hn @atom:nh @atom:n4 + @angle:hn-nh-n @atom:hn @atom:nh @atom:n + @angle:hn-nh-na @atom:hn @atom:nh @atom:na + @angle:hn-nh-nh @atom:hn @atom:nh @atom:nh + @angle:hn-nh-no @atom:hn @atom:nh @atom:no + @angle:hn-nh-o @atom:hn @atom:nh @atom:o + @angle:hn-nh-oh @atom:hn @atom:nh @atom:oh + @angle:hn-nh-os @atom:hn @atom:nh @atom:os + @angle:hn-nh-p2 @atom:hn @atom:nh @atom:p2 + @angle:hn-nh-p3 @atom:hn @atom:nh @atom:p3 + @angle:hn-nh-p4 @atom:hn @atom:nh @atom:p4 + @angle:hn-nh-p5 @atom:hn @atom:nh @atom:p5 + @angle:hn-nh-s4 @atom:hn @atom:nh @atom:s4 + @angle:hn-nh-s @atom:hn @atom:nh @atom:s + @angle:hn-nh-s6 @atom:hn @atom:nh @atom:s6 + @angle:hn-nh-sh @atom:hn @atom:nh @atom:sh + @angle:hn-nh-ss @atom:hn @atom:nh @atom:ss + @angle:hn-nh-sy @atom:hn @atom:nh @atom:sy + @angle:i-nh-i @atom:i @atom:nh @atom:i + @angle:n1-nh-n1 @atom:n1 @atom:nh @atom:n1 + @angle:n2-nh-n2 @atom:n2 @atom:nh @atom:n2 + @angle:n2-nh-n3 @atom:n2 @atom:nh @atom:n3 + @angle:n2-nh-o @atom:n2 @atom:nh @atom:o + @angle:n3-nh-n3 @atom:n3 @atom:nh @atom:n3 + @angle:n4-nh-n4 @atom:n4 @atom:nh @atom:n4 + @angle:na-nh-na @atom:na @atom:nh @atom:na + @angle:hn-n-hn @atom:hn @atom:n @atom:hn + @angle:nh-nh-nh @atom:nh @atom:nh @atom:nh + @angle:hn-n-i @atom:hn @atom:n @atom:i + @angle:hn-n-n2 @atom:hn @atom:n @atom:n2 + @angle:hn-n-n3 @atom:hn @atom:n @atom:n3 + @angle:hn-n-n4 @atom:hn @atom:n @atom:n4 + @angle:hn-n-n @atom:hn @atom:n @atom:n + @angle:hn-n-na @atom:hn @atom:n @atom:na + @angle:hn-n-nc @atom:hn @atom:n @atom:nc + @angle:hn-n-nh @atom:hn @atom:n @atom:nh + @angle:hn-n-no @atom:hn @atom:n @atom:no + @angle:hn-n-o @atom:hn @atom:n @atom:o + @angle:n-nh-o @atom:n @atom:nh @atom:o + @angle:hn-n-oh @atom:hn @atom:n @atom:oh + @angle:no-nh-no @atom:no @atom:nh @atom:no + @angle:hn-n-os @atom:hn @atom:n @atom:os + @angle:hn-n-p2 @atom:hn @atom:n @atom:p2 + @angle:hn-n-p3 @atom:hn @atom:n @atom:p3 + @angle:hn-n-p4 @atom:hn @atom:n @atom:p4 + @angle:hn-n-p5 @atom:hn @atom:n @atom:p5 + @angle:hn-n-s4 @atom:hn @atom:n @atom:s4 + @angle:hn-n-s @atom:hn @atom:n @atom:s + @angle:hn-n-s6 @atom:hn @atom:n @atom:s6 + @angle:hn-n-sh @atom:hn @atom:n @atom:sh + @angle:hn-n-ss @atom:hn @atom:n @atom:ss + @angle:hn-n-sy @atom:hn @atom:n @atom:sy + @angle:oh-nh-oh @atom:oh @atom:nh @atom:oh + @angle:o-nh-o @atom:o @atom:nh @atom:o + @angle:os-nh-os @atom:os @atom:nh @atom:os + @angle:p2-nh-p2 @atom:p2 @atom:nh @atom:p2 + @angle:p3-nh-p3 @atom:p3 @atom:nh @atom:p3 + @angle:p5-nh-p5 @atom:p5 @atom:nh @atom:p5 + @angle:s4-nh-s4 @atom:s4 @atom:nh @atom:s4 + @angle:s6-nh-s6 @atom:s6 @atom:nh @atom:s6 + @angle:sh-nh-sh @atom:sh @atom:nh @atom:sh + @angle:s-nh-s @atom:s @atom:nh @atom:s + @angle:ss-nh-ss @atom:ss @atom:nh @atom:ss + @angle:i-n-i @atom:i @atom:n @atom:i + @angle:n2-n-n2 @atom:n2 @atom:n @atom:n2 + @angle:n3-n-n3 @atom:n3 @atom:n @atom:n3 + @angle:n4-n-n4 @atom:n4 @atom:n @atom:n4 + @angle:na-n-na @atom:na @atom:n @atom:na + @angle:nc-n-nc @atom:nc @atom:n @atom:nc + @angle:nc-n-p2 @atom:nc @atom:n @atom:p2 + @angle:nc-n-pc @atom:nc @atom:n @atom:pc + @angle:nd-n-nd @atom:nd @atom:n @atom:nd + @angle:nd-n-p2 @atom:nd @atom:n @atom:p2 + @angle:nd-n-pd @atom:nd @atom:n @atom:pd + @angle:nh-n-nh @atom:nh @atom:n @atom:nh + @angle:n-n-n @atom:n @atom:n @atom:n + @angle:no-n-no @atom:no @atom:n @atom:no + @angle:br-no-o @atom:br @atom:no @atom:o + @angle:c1-no-o @atom:c1 @atom:no @atom:o + @angle:c2-no-o @atom:c2 @atom:no @atom:o + @angle:c3-no-o @atom:c3 @atom:no @atom:o + @angle:ca-no-o @atom:ca @atom:no @atom:o + @angle:cc-no-o @atom:cc @atom:no @atom:o + @angle:cl-no-o @atom:cl @atom:no @atom:o + @angle:c-no-o @atom:c @atom:no @atom:o + @angle:hn-no-o @atom:hn @atom:no @atom:o + @angle:oh-n-oh @atom:oh @atom:n @atom:oh + @angle:i-no-o @atom:i @atom:no @atom:o + @angle:n1-no-o @atom:n1 @atom:no @atom:o + @angle:n2-no-o @atom:n2 @atom:no @atom:o + @angle:n3-no-o @atom:n3 @atom:no @atom:o + @angle:n4-no-o @atom:n4 @atom:no @atom:o + @angle:na-no-o @atom:na @atom:no @atom:o + @angle:nh-no-o @atom:nh @atom:no @atom:o + @angle:n-no-o @atom:n @atom:no @atom:o + @angle:no-no-o @atom:no @atom:no @atom:o + @angle:o-n-o @atom:o @atom:n @atom:o + @angle:o-no-o @atom:o @atom:no @atom:o + @angle:o-no-oh @atom:o @atom:no @atom:oh + @angle:o-no-os @atom:o @atom:no @atom:os + @angle:o-no-p2 @atom:o @atom:no @atom:p2 + @angle:o-no-p3 @atom:o @atom:no @atom:p3 + @angle:o-no-p4 @atom:o @atom:no @atom:p4 + @angle:o-no-p5 @atom:o @atom:no @atom:p5 + @angle:o-no-s4 @atom:o @atom:no @atom:s4 + @angle:o-no-s6 @atom:o @atom:no @atom:s6 + @angle:o-no-s @atom:o @atom:no @atom:s + @angle:o-no-sh @atom:o @atom:no @atom:sh + @angle:o-no-ss @atom:o @atom:no @atom:ss + @angle:os-n-os @atom:os @atom:n @atom:os + @angle:p2-n-p2 @atom:p2 @atom:n @atom:p2 + @angle:p3-n-p3 @atom:p3 @atom:n @atom:p3 + @angle:p4-n-p4 @atom:p4 @atom:n @atom:p4 + @angle:p5-n-p5 @atom:p5 @atom:n @atom:p5 + @angle:pc-n-pc @atom:pc @atom:n @atom:pc + @angle:pd-n-pd @atom:pd @atom:n @atom:pd + @angle:s4-n-s4 @atom:s4 @atom:n @atom:s4 + @angle:s6-n-s6 @atom:s6 @atom:n @atom:s6 + @angle:sh-n-sh @atom:sh @atom:n @atom:sh + @angle:s-n-s @atom:s @atom:n @atom:s + @angle:ss-n-ss @atom:ss @atom:n @atom:ss + @angle:br-oh-ho @atom:br @atom:oh @atom:ho + @angle:c1-oh-ho @atom:c1 @atom:oh @atom:ho + @angle:c2-oh-ho @atom:c2 @atom:oh @atom:ho + @angle:c3-oh-ho @atom:c3 @atom:oh @atom:ho + @angle:ca-oh-ho @atom:ca @atom:oh @atom:ho + @angle:cc-oh-ho @atom:cc @atom:oh @atom:ho + @angle:cd-oh-ho @atom:cd @atom:oh @atom:ho + @angle:ce-oh-ho @atom:ce @atom:oh @atom:ho + @angle:cf-oh-ho @atom:cf @atom:oh @atom:ho + @angle:c-oh-ho @atom:c @atom:oh @atom:ho + @angle:cl-oh-ho @atom:cl @atom:oh @atom:ho + @angle:cx-oh-ho @atom:cx @atom:oh @atom:ho + @angle:cy-oh-ho @atom:cy @atom:oh @atom:ho + @angle:f-oh-ho @atom:f @atom:oh @atom:ho + @angle:ho-oh-ho @atom:ho @atom:oh @atom:ho + @angle:ho-oh-i @atom:ho @atom:oh @atom:i + @angle:ho-oh-n1 @atom:ho @atom:oh @atom:n1 + @angle:ho-oh-n2 @atom:ho @atom:oh @atom:n2 + @angle:ho-oh-n3 @atom:ho @atom:oh @atom:n3 + @angle:ho-oh-n4 @atom:ho @atom:oh @atom:n4 + @angle:ho-oh-n @atom:ho @atom:oh @atom:n + @angle:ho-oh-na @atom:ho @atom:oh @atom:na + @angle:ho-oh-nh @atom:ho @atom:oh @atom:nh + @angle:ho-oh-no @atom:ho @atom:oh @atom:no + @angle:ho-oh-o @atom:ho @atom:oh @atom:o + @angle:ho-oh-oh @atom:ho @atom:oh @atom:oh + @angle:ho-oh-os @atom:ho @atom:oh @atom:os + @angle:ho-oh-p2 @atom:ho @atom:oh @atom:p2 + @angle:ho-oh-p3 @atom:ho @atom:oh @atom:p3 + @angle:ho-oh-p4 @atom:ho @atom:oh @atom:p4 + @angle:ho-oh-p5 @atom:ho @atom:oh @atom:p5 + @angle:ho-oh-py @atom:ho @atom:oh @atom:py + @angle:ho-oh-s4 @atom:ho @atom:oh @atom:s4 + @angle:ho-oh-s @atom:ho @atom:oh @atom:s + @angle:ho-oh-s6 @atom:ho @atom:oh @atom:s6 + @angle:ho-oh-sh @atom:ho @atom:oh @atom:sh + @angle:ho-oh-ss @atom:ho @atom:oh @atom:ss + @angle:ho-oh-sy @atom:ho @atom:oh @atom:sy + @angle:br-os-br @atom:br @atom:os @atom:br + @angle:c1-os-c1 @atom:c1 @atom:os @atom:c1 + @angle:c1-os-c3 @atom:c1 @atom:os @atom:c3 + @angle:c2-os-c2 @atom:c2 @atom:os @atom:c2 + @angle:c2-os-c3 @atom:c2 @atom:os @atom:c3 + @angle:c2-os-ca @atom:c2 @atom:os @atom:ca + @angle:c2-os-n2 @atom:c2 @atom:os @atom:n2 + @angle:c2-os-na @atom:c2 @atom:os @atom:na + @angle:c2-os-os @atom:c2 @atom:os @atom:os + @angle:c2-os-p5 @atom:c2 @atom:os @atom:p5 + @angle:c2-os-ss @atom:c2 @atom:os @atom:ss + @angle:c3-os-c3 @atom:c3 @atom:os @atom:c3 + @angle:c3-os-ca @atom:c3 @atom:os @atom:ca + @angle:c3-os-cc @atom:c3 @atom:os @atom:cc + @angle:c3-os-cd @atom:c3 @atom:os @atom:cd + @angle:c3-os-ce @atom:c3 @atom:os @atom:ce + @angle:c3-os-cf @atom:c3 @atom:os @atom:cf + @angle:c3-os-cl @atom:c3 @atom:os @atom:cl + @angle:c3-os-cy @atom:c3 @atom:os @atom:cy + @angle:c3-os-i @atom:c3 @atom:os @atom:i + @angle:c3-os-n1 @atom:c3 @atom:os @atom:n1 + @angle:c3-os-n2 @atom:c3 @atom:os @atom:n2 + @angle:c3-os-n3 @atom:c3 @atom:os @atom:n3 + @angle:c3-os-n4 @atom:c3 @atom:os @atom:n4 + @angle:c3-os-n @atom:c3 @atom:os @atom:n + @angle:c3-os-na @atom:c3 @atom:os @atom:na + @angle:c3-os-nc @atom:c3 @atom:os @atom:nc + @angle:c3-os-nd @atom:c3 @atom:os @atom:nd + @angle:c3-os-nh @atom:c3 @atom:os @atom:nh + @angle:c3-os-no @atom:c3 @atom:os @atom:no + @angle:c3-os-o @atom:c3 @atom:os @atom:o + @angle:c3-os-oh @atom:c3 @atom:os @atom:oh + @angle:c3-os-os @atom:c3 @atom:os @atom:os + @angle:c3-os-p2 @atom:c3 @atom:os @atom:p2 + @angle:c3-os-p3 @atom:c3 @atom:os @atom:p3 + @angle:c3-os-p4 @atom:c3 @atom:os @atom:p4 + @angle:c3-os-p5 @atom:c3 @atom:os @atom:p5 + @angle:c3-os-py @atom:c3 @atom:os @atom:py + @angle:c3-os-s4 @atom:c3 @atom:os @atom:s4 + @angle:c3-os-s6 @atom:c3 @atom:os @atom:s6 + @angle:c3-os-s @atom:c3 @atom:os @atom:s + @angle:c3-os-sh @atom:c3 @atom:os @atom:sh + @angle:c3-os-ss @atom:c3 @atom:os @atom:ss + @angle:ca-os-ca @atom:ca @atom:os @atom:ca + @angle:ca-os-cc @atom:ca @atom:os @atom:cc + @angle:ca-os-cd @atom:ca @atom:os @atom:cd + @angle:ca-os-n3 @atom:ca @atom:os @atom:n3 + @angle:ca-os-na @atom:ca @atom:os @atom:na + @angle:ca-os-nc @atom:ca @atom:os @atom:nc + @angle:ca-os-nd @atom:ca @atom:os @atom:nd + @angle:ca-os-p5 @atom:ca @atom:os @atom:p5 + @angle:ca-os-s6 @atom:ca @atom:os @atom:s6 + @angle:c-os-c2 @atom:c @atom:os @atom:c2 + @angle:c-os-c3 @atom:c @atom:os @atom:c3 + @angle:c-os-c @atom:c @atom:os @atom:c + @angle:c-os-ca @atom:c @atom:os @atom:ca + @angle:c-os-cc @atom:c @atom:os @atom:cc + @angle:cc-os-cc @atom:cc @atom:os @atom:cc + @angle:cc-os-cd @atom:cc @atom:os @atom:cd + @angle:c-os-cd @atom:c @atom:os @atom:cd + @angle:cc-os-na @atom:cc @atom:os @atom:na + @angle:cc-os-nc @atom:cc @atom:os @atom:nc + @angle:cc-os-os @atom:cc @atom:os @atom:os + @angle:cc-os-ss @atom:cc @atom:os @atom:ss + @angle:c-os-cy @atom:c @atom:os @atom:cy + @angle:cd-os-cd @atom:cd @atom:os @atom:cd + @angle:cd-os-na @atom:cd @atom:os @atom:na + @angle:cd-os-nd @atom:cd @atom:os @atom:nd + @angle:cd-os-os @atom:cd @atom:os @atom:os + @angle:cd-os-ss @atom:cd @atom:os @atom:ss + @angle:cl-os-cl @atom:cl @atom:os @atom:cl + @angle:c-os-n2 @atom:c @atom:os @atom:n2 + @angle:c-os-n @atom:c @atom:os @atom:n + @angle:c-os-oh @atom:c @atom:os @atom:oh + @angle:c-os-os @atom:c @atom:os @atom:os + @angle:c-os-p5 @atom:c @atom:os @atom:p5 + @angle:c-os-sy @atom:c @atom:os @atom:sy + @angle:cx-os-cx @atom:cx @atom:os @atom:cx + @angle:cx-os-n @atom:cx @atom:os @atom:n + @angle:cx-os-os @atom:cx @atom:os @atom:os + @angle:cy-os-cy @atom:cy @atom:os @atom:cy + @angle:f-os-f @atom:f @atom:os @atom:f + @angle:f-os-os @atom:f @atom:os @atom:os + @angle:i-os-i @atom:i @atom:os @atom:i + @angle:n1-os-n1 @atom:n1 @atom:os @atom:n1 + @angle:n2-os-n2 @atom:n2 @atom:os @atom:n2 + @angle:n2-os-s6 @atom:n2 @atom:os @atom:s6 + @angle:n3-os-n3 @atom:n3 @atom:os @atom:n3 + @angle:n4-os-n4 @atom:n4 @atom:os @atom:n4 + @angle:na-os-na @atom:na @atom:os @atom:na + @angle:na-os-ss @atom:na @atom:os @atom:ss + @angle:nc-os-nc @atom:nc @atom:os @atom:nc + @angle:nc-os-ss @atom:nc @atom:os @atom:ss + @angle:nd-os-nd @atom:nd @atom:os @atom:nd + @angle:nd-os-ss @atom:nd @atom:os @atom:ss + @angle:nh-os-nh @atom:nh @atom:os @atom:nh + @angle:n-os-n @atom:n @atom:os @atom:n + @angle:no-os-no @atom:no @atom:os @atom:no + @angle:n-os-s6 @atom:n @atom:os @atom:s6 + @angle:o-os-o @atom:o @atom:os @atom:o + @angle:p2-os-p2 @atom:p2 @atom:os @atom:p2 + @angle:p2-os-p5 @atom:p2 @atom:os @atom:p5 + @angle:p3-os-p3 @atom:p3 @atom:os @atom:p3 + @angle:p3-os-py @atom:p3 @atom:os @atom:py + @angle:p5-os-p5 @atom:p5 @atom:os @atom:p5 + @angle:s4-os-s4 @atom:s4 @atom:os @atom:s4 + @angle:s6-os-s6 @atom:s6 @atom:os @atom:s6 + @angle:sh-os-sh @atom:sh @atom:os @atom:sh + @angle:s-os-s @atom:s @atom:os @atom:s + @angle:ss-os-ss @atom:ss @atom:os @atom:ss + @angle:br-p2-br @atom:br @atom:p2 @atom:br + @angle:br-p2-c2 @atom:br @atom:p2 @atom:c2 + @angle:br-p2-n2 @atom:br @atom:p2 @atom:n2 + @angle:br-p2-o @atom:br @atom:p2 @atom:o + @angle:br-p2-p2 @atom:br @atom:p2 @atom:p2 + @angle:br-p2-s @atom:br @atom:p2 @atom:s + @angle:c1-p2-c1 @atom:c1 @atom:p2 @atom:c1 + @angle:c1-p2-c2 @atom:c1 @atom:p2 @atom:c2 + @angle:c1-p2-n2 @atom:c1 @atom:p2 @atom:n2 + @angle:c1-p2-o @atom:c1 @atom:p2 @atom:o + @angle:c1-p2-p2 @atom:c1 @atom:p2 @atom:p2 + @angle:c1-p2-s @atom:c1 @atom:p2 @atom:s + @angle:c2-p2-c2 @atom:c2 @atom:p2 @atom:c2 + @angle:c2-p2-c3 @atom:c2 @atom:p2 @atom:c3 + @angle:c2-p2-ca @atom:c2 @atom:p2 @atom:ca + @angle:c2-p2-cl @atom:c2 @atom:p2 @atom:cl + @angle:c2-p2-f @atom:c2 @atom:p2 @atom:f + @angle:c2-p2-hp @atom:c2 @atom:p2 @atom:hp + @angle:c2-p2-i @atom:c2 @atom:p2 @atom:i + @angle:c2-p2-n2 @atom:c2 @atom:p2 @atom:n2 + @angle:c2-p2-n3 @atom:c2 @atom:p2 @atom:n3 + @angle:c2-p2-n4 @atom:c2 @atom:p2 @atom:n4 + @angle:c2-p2-n @atom:c2 @atom:p2 @atom:n + @angle:c2-p2-na @atom:c2 @atom:p2 @atom:na + @angle:c2-p2-nh @atom:c2 @atom:p2 @atom:nh + @angle:c2-p2-no @atom:c2 @atom:p2 @atom:no + @angle:c2-p2-o @atom:c2 @atom:p2 @atom:o + @angle:c2-p2-oh @atom:c2 @atom:p2 @atom:oh + @angle:c2-p2-os @atom:c2 @atom:p2 @atom:os + @angle:c2-p2-p2 @atom:c2 @atom:p2 @atom:p2 + @angle:c2-p2-p3 @atom:c2 @atom:p2 @atom:p3 + @angle:c2-p2-p4 @atom:c2 @atom:p2 @atom:p4 + @angle:c2-p2-p5 @atom:c2 @atom:p2 @atom:p5 + @angle:c2-p2-s4 @atom:c2 @atom:p2 @atom:s4 + @angle:c2-p2-s6 @atom:c2 @atom:p2 @atom:s6 + @angle:c2-p2-s @atom:c2 @atom:p2 @atom:s + @angle:c2-p2-sh @atom:c2 @atom:p2 @atom:sh + @angle:c2-p2-ss @atom:c2 @atom:p2 @atom:ss + @angle:c3-p2-c3 @atom:c3 @atom:p2 @atom:c3 + @angle:c3-p2-n2 @atom:c3 @atom:p2 @atom:n2 + @angle:c3-p2-o @atom:c3 @atom:p2 @atom:o + @angle:c3-p2-os @atom:c3 @atom:p2 @atom:os + @angle:c3-p2-p2 @atom:c3 @atom:p2 @atom:p2 + @angle:c3-p2-s @atom:c3 @atom:p2 @atom:s + @angle:ca-p2-ca @atom:ca @atom:p2 @atom:ca + @angle:ca-p2-n2 @atom:ca @atom:p2 @atom:n2 + @angle:ca-p2-n @atom:ca @atom:p2 @atom:n + @angle:ca-p2-na @atom:ca @atom:p2 @atom:na + @angle:ca-p2-o @atom:ca @atom:p2 @atom:o + @angle:ca-p2-s @atom:ca @atom:p2 @atom:s + @angle:c-p2-c2 @atom:c @atom:p2 @atom:c2 + @angle:c-p2-c @atom:c @atom:p2 @atom:c + @angle:ce-p2-o @atom:ce @atom:p2 @atom:o + @angle:ce-p2-s @atom:ce @atom:p2 @atom:s + @angle:cf-p2-o @atom:cf @atom:p2 @atom:o + @angle:cf-p2-s @atom:cf @atom:p2 @atom:s + @angle:cl-p2-cl @atom:cl @atom:p2 @atom:cl + @angle:cl-p2-n2 @atom:cl @atom:p2 @atom:n2 + @angle:cl-p2-o @atom:cl @atom:p2 @atom:o + @angle:cl-p2-p2 @atom:cl @atom:p2 @atom:p2 + @angle:cl-p2-s @atom:cl @atom:p2 @atom:s + @angle:f-p2-f @atom:f @atom:p2 @atom:f + @angle:f-p2-n2 @atom:f @atom:p2 @atom:n2 + @angle:f-p2-o @atom:f @atom:p2 @atom:o + @angle:f-p2-p2 @atom:f @atom:p2 @atom:p2 + @angle:f-p2-s @atom:f @atom:p2 @atom:s + @angle:hp-p2-hp @atom:hp @atom:p2 @atom:hp + @angle:hp-p2-n1 @atom:hp @atom:p2 @atom:n1 + @angle:hp-p2-n2 @atom:hp @atom:p2 @atom:n2 + @angle:hp-p2-ne @atom:hp @atom:p2 @atom:ne + @angle:hp-p2-nf @atom:hp @atom:p2 @atom:nf + @angle:hp-p2-o @atom:hp @atom:p2 @atom:o + @angle:hp-p2-p2 @atom:hp @atom:p2 @atom:p2 + @angle:hp-p2-p4 @atom:hp @atom:p2 @atom:p4 + @angle:hp-p2-p5 @atom:hp @atom:p2 @atom:p5 + @angle:hp-p2-pe @atom:hp @atom:p2 @atom:pe + @angle:hp-p2-pf @atom:hp @atom:p2 @atom:pf + @angle:hp-p2-s4 @atom:hp @atom:p2 @atom:s4 + @angle:hp-p2-s @atom:hp @atom:p2 @atom:s + @angle:hp-p2-s6 @atom:hp @atom:p2 @atom:s6 + @angle:i-p2-i @atom:i @atom:p2 @atom:i + @angle:i-p2-n2 @atom:i @atom:p2 @atom:n2 + @angle:i-p2-o @atom:i @atom:p2 @atom:o + @angle:i-p2-p2 @atom:i @atom:p2 @atom:p2 + @angle:i-p2-s @atom:i @atom:p2 @atom:s + @angle:n1-p2-n1 @atom:n1 @atom:p2 @atom:n1 + @angle:n2-p2-n2 @atom:n2 @atom:p2 @atom:n2 + @angle:n2-p2-n3 @atom:n2 @atom:p2 @atom:n3 + @angle:n2-p2-n4 @atom:n2 @atom:p2 @atom:n4 + @angle:n2-p2-na @atom:n2 @atom:p2 @atom:na + @angle:n2-p2-nh @atom:n2 @atom:p2 @atom:nh + @angle:n2-p2-no @atom:n2 @atom:p2 @atom:no + @angle:n2-p2-o @atom:n2 @atom:p2 @atom:o + @angle:n2-p2-oh @atom:n2 @atom:p2 @atom:oh + @angle:n2-p2-os @atom:n2 @atom:p2 @atom:os + @angle:n2-p2-p3 @atom:n2 @atom:p2 @atom:p3 + @angle:n2-p2-p4 @atom:n2 @atom:p2 @atom:p4 + @angle:n2-p2-p5 @atom:n2 @atom:p2 @atom:p5 + @angle:n2-p2-s4 @atom:n2 @atom:p2 @atom:s4 + @angle:n2-p2-s6 @atom:n2 @atom:p2 @atom:s6 + @angle:n2-p2-s @atom:n2 @atom:p2 @atom:s + @angle:n2-p2-sh @atom:n2 @atom:p2 @atom:sh + @angle:n2-p2-ss @atom:n2 @atom:p2 @atom:ss + @angle:n3-p2-n3 @atom:n3 @atom:p2 @atom:n3 + @angle:n3-p2-o @atom:n3 @atom:p2 @atom:o + @angle:n3-p2-p2 @atom:n3 @atom:p2 @atom:p2 + @angle:n3-p2-s @atom:n3 @atom:p2 @atom:s + @angle:n4-p2-n4 @atom:n4 @atom:p2 @atom:n4 + @angle:n4-p2-o @atom:n4 @atom:p2 @atom:o + @angle:n4-p2-p2 @atom:n4 @atom:p2 @atom:p2 + @angle:n4-p2-s @atom:n4 @atom:p2 @atom:s + @angle:na-p2-na @atom:na @atom:p2 @atom:na + @angle:na-p2-o @atom:na @atom:p2 @atom:o + @angle:na-p2-s @atom:na @atom:p2 @atom:s + @angle:ne-p2-o @atom:ne @atom:p2 @atom:o + @angle:ne-p2-s @atom:ne @atom:p2 @atom:s + @angle:nf-p2-o @atom:nf @atom:p2 @atom:o + @angle:nf-p2-s @atom:nf @atom:p2 @atom:s + @angle:nh-p2-nh @atom:nh @atom:p2 @atom:nh + @angle:nh-p2-o @atom:nh @atom:p2 @atom:o + @angle:nh-p2-p2 @atom:nh @atom:p2 @atom:p2 + @angle:nh-p2-s @atom:nh @atom:p2 @atom:s + @angle:n-p2-n2 @atom:n @atom:p2 @atom:n2 + @angle:n-p2-o @atom:n @atom:p2 @atom:o + @angle:no-p2-no @atom:no @atom:p2 @atom:no + @angle:no-p2-o @atom:no @atom:p2 @atom:o + @angle:no-p2-p2 @atom:no @atom:p2 @atom:p2 + @angle:no-p2-s @atom:no @atom:p2 @atom:s + @angle:n-p2-p2 @atom:n @atom:p2 @atom:p2 + @angle:n-p2-s @atom:n @atom:p2 @atom:s + @angle:oh-p2-oh @atom:oh @atom:p2 @atom:oh + @angle:oh-p2-p2 @atom:oh @atom:p2 @atom:p2 + @angle:oh-p2-s @atom:oh @atom:p2 @atom:s + @angle:o-p2-o @atom:o @atom:p2 @atom:o + @angle:o-p2-oh @atom:o @atom:p2 @atom:oh + @angle:o-p2-os @atom:o @atom:p2 @atom:os + @angle:o-p2-p2 @atom:o @atom:p2 @atom:p2 + @angle:o-p2-p3 @atom:o @atom:p2 @atom:p3 + @angle:o-p2-p4 @atom:o @atom:p2 @atom:p4 + @angle:o-p2-p5 @atom:o @atom:p2 @atom:p5 + @angle:o-p2-pe @atom:o @atom:p2 @atom:pe + @angle:o-p2-pf @atom:o @atom:p2 @atom:pf + @angle:o-p2-s4 @atom:o @atom:p2 @atom:s4 + @angle:o-p2-s6 @atom:o @atom:p2 @atom:s6 + @angle:o-p2-s @atom:o @atom:p2 @atom:s + @angle:o-p2-sh @atom:o @atom:p2 @atom:sh + @angle:os-p2-os @atom:os @atom:p2 @atom:os + @angle:os-p2-p2 @atom:os @atom:p2 @atom:p2 + @angle:o-p2-ss @atom:o @atom:p2 @atom:ss + @angle:os-p2-s @atom:os @atom:p2 @atom:s + @angle:p2-p2-n2 @atom:p2 @atom:p2 @atom:n2 + @angle:p2-p2-p3 @atom:p2 @atom:p2 @atom:p3 + @angle:p2-p2-p4 @atom:p2 @atom:p2 @atom:p4 + @angle:p2-p2-p5 @atom:p2 @atom:p2 @atom:p5 + @angle:p2-p2-s4 @atom:p2 @atom:p2 @atom:s4 + @angle:p2-p2-s6 @atom:p2 @atom:p2 @atom:s6 + @angle:p2-p2-s @atom:p2 @atom:p2 @atom:s + @angle:p2-p2-sh @atom:p2 @atom:p2 @atom:sh + @angle:p3-p2-p3 @atom:p3 @atom:p2 @atom:p3 + @angle:p3-p2-s @atom:p3 @atom:p2 @atom:s + @angle:p4-p2-s @atom:p4 @atom:p2 @atom:s + @angle:p5-p2-p5 @atom:p5 @atom:p2 @atom:p5 + @angle:p5-p2-s @atom:p5 @atom:p2 @atom:s + @angle:pe-p2-s @atom:pe @atom:p2 @atom:s + @angle:pf-p2-s @atom:pf @atom:p2 @atom:s + @angle:s4-p2-s4 @atom:s4 @atom:p2 @atom:s4 + @angle:s6-p2-s6 @atom:s6 @atom:p2 @atom:s6 + @angle:sh-p2-sh @atom:sh @atom:p2 @atom:sh + @angle:s-p2-s @atom:s @atom:p2 @atom:s + @angle:s-p2-s4 @atom:s @atom:p2 @atom:s4 + @angle:s-p2-s6 @atom:s @atom:p2 @atom:s6 + @angle:s-p2-sh @atom:s @atom:p2 @atom:sh + @angle:s-p2-ss @atom:s @atom:p2 @atom:ss + @angle:ss-p2-ss @atom:ss @atom:p2 @atom:ss + @angle:br-p3-br @atom:br @atom:p3 @atom:br + @angle:br-p3-hp @atom:br @atom:p3 @atom:hp + @angle:c1-p3-c1 @atom:c1 @atom:p3 @atom:c1 + @angle:c1-p3-f @atom:c1 @atom:p3 @atom:f + @angle:c1-p3-hp @atom:c1 @atom:p3 @atom:hp + @angle:c2-p3-c2 @atom:c2 @atom:p3 @atom:c2 + @angle:c2-p3-hp @atom:c2 @atom:p3 @atom:hp + @angle:c3-p3-c3 @atom:c3 @atom:p3 @atom:c3 + @angle:c3-p3-ca @atom:c3 @atom:p3 @atom:ca + @angle:c3-p3-cl @atom:c3 @atom:p3 @atom:cl + @angle:c3-p3-f @atom:c3 @atom:p3 @atom:f + @angle:c3-p3-hp @atom:c3 @atom:p3 @atom:hp + @angle:c3-p3-n2 @atom:c3 @atom:p3 @atom:n2 + @angle:c3-p3-n3 @atom:c3 @atom:p3 @atom:n3 + @angle:c3-p3-n4 @atom:c3 @atom:p3 @atom:n4 + @angle:c3-p3-n @atom:c3 @atom:p3 @atom:n + @angle:c3-p3-na @atom:c3 @atom:p3 @atom:na + @angle:c3-p3-nh @atom:c3 @atom:p3 @atom:nh + @angle:c3-p3-no @atom:c3 @atom:p3 @atom:no + @angle:c3-p3-o @atom:c3 @atom:p3 @atom:o + @angle:c3-p3-oh @atom:c3 @atom:p3 @atom:oh + @angle:c3-p3-os @atom:c3 @atom:p3 @atom:os + @angle:c3-p3-p3 @atom:c3 @atom:p3 @atom:p3 + @angle:c3-p3-p5 @atom:c3 @atom:p3 @atom:p5 + @angle:c3-p3-s4 @atom:c3 @atom:p3 @atom:s4 + @angle:c3-p3-s6 @atom:c3 @atom:p3 @atom:s6 + @angle:c3-p3-sh @atom:c3 @atom:p3 @atom:sh + @angle:c3-p3-ss @atom:c3 @atom:p3 @atom:ss + @angle:ca-p3-ca @atom:ca @atom:p3 @atom:ca + @angle:ca-p3-hp @atom:ca @atom:p3 @atom:hp + @angle:c-p3-c3 @atom:c @atom:p3 @atom:c3 + @angle:c-p3-c @atom:c @atom:p3 @atom:c + @angle:c-p3-hp @atom:c @atom:p3 @atom:hp + @angle:cl-p3-cl @atom:cl @atom:p3 @atom:cl + @angle:cl-p3-f @atom:cl @atom:p3 @atom:f + @angle:cl-p3-hp @atom:cl @atom:p3 @atom:hp + @angle:c-p3-os @atom:c @atom:p3 @atom:os + @angle:cx-p3-hp @atom:cx @atom:p3 @atom:hp + @angle:f-p3-f @atom:f @atom:p3 @atom:f + @angle:f-p3-hp @atom:f @atom:p3 @atom:hp + @angle:f-p3-n3 @atom:f @atom:p3 @atom:n3 + @angle:f-p3-os @atom:f @atom:p3 @atom:os + @angle:f-p3-p3 @atom:f @atom:p3 @atom:p3 + @angle:hp-p3-hp @atom:hp @atom:p3 @atom:hp + @angle:hp-p3-i @atom:hp @atom:p3 @atom:i + @angle:hp-p3-n1 @atom:hp @atom:p3 @atom:n1 + @angle:hp-p3-n2 @atom:hp @atom:p3 @atom:n2 + @angle:hp-p3-n3 @atom:hp @atom:p3 @atom:n3 + @angle:hp-p3-n4 @atom:hp @atom:p3 @atom:n4 + @angle:hp-p3-n @atom:hp @atom:p3 @atom:n + @angle:hp-p3-na @atom:hp @atom:p3 @atom:na + @angle:hp-p3-nh @atom:hp @atom:p3 @atom:nh + @angle:hp-p3-no @atom:hp @atom:p3 @atom:no + @angle:hp-p3-o @atom:hp @atom:p3 @atom:o + @angle:hp-p3-oh @atom:hp @atom:p3 @atom:oh + @angle:hp-p3-os @atom:hp @atom:p3 @atom:os + @angle:hp-p3-p2 @atom:hp @atom:p3 @atom:p2 + @angle:hp-p3-p3 @atom:hp @atom:p3 @atom:p3 + @angle:hp-p3-p4 @atom:hp @atom:p3 @atom:p4 + @angle:hp-p3-p5 @atom:hp @atom:p3 @atom:p5 + @angle:hp-p3-s4 @atom:hp @atom:p3 @atom:s4 + @angle:hp-p3-s6 @atom:hp @atom:p3 @atom:s6 + @angle:hp-p3-sh @atom:hp @atom:p3 @atom:sh + @angle:hp-p3-ss @atom:hp @atom:p3 @atom:ss + @angle:i-p3-i @atom:i @atom:p3 @atom:i + @angle:n1-p3-n1 @atom:n1 @atom:p3 @atom:n1 + @angle:n2-p3-n2 @atom:n2 @atom:p3 @atom:n2 + @angle:n3-p3-n3 @atom:n3 @atom:p3 @atom:n3 + @angle:n3-p3-o @atom:n3 @atom:p3 @atom:o + @angle:n3-p3-oh @atom:n3 @atom:p3 @atom:oh + @angle:n4-p3-n4 @atom:n4 @atom:p3 @atom:n4 + @angle:na-p3-na @atom:na @atom:p3 @atom:na + @angle:nh-p3-nh @atom:nh @atom:p3 @atom:nh + @angle:n-p3-n @atom:n @atom:p3 @atom:n + @angle:n-p3-o @atom:n @atom:p3 @atom:o + @angle:no-p3-no @atom:no @atom:p3 @atom:no + @angle:oh-p3-oh @atom:oh @atom:p3 @atom:oh + @angle:o-p3-o @atom:o @atom:p3 @atom:o + @angle:o-p3-p3 @atom:o @atom:p3 @atom:p3 + @angle:o-p3-p5 @atom:o @atom:p3 @atom:p5 + @angle:o-p3-s4 @atom:o @atom:p3 @atom:s4 + @angle:o-p3-s6 @atom:o @atom:p3 @atom:s6 + @angle:os-p3-os @atom:os @atom:p3 @atom:os + @angle:p2-p3-p2 @atom:p2 @atom:p3 @atom:p2 + @angle:p3-p3-p3 @atom:p3 @atom:p3 @atom:p3 + @angle:p4-p3-p4 @atom:p4 @atom:p3 @atom:p4 + @angle:p5-p3-p5 @atom:p5 @atom:p3 @atom:p5 + @angle:s4-p3-s4 @atom:s4 @atom:p3 @atom:s4 + @angle:s6-p3-s6 @atom:s6 @atom:p3 @atom:s6 + @angle:sh-p3-sh @atom:sh @atom:p3 @atom:sh + @angle:s-p3-s @atom:s @atom:p3 @atom:s + @angle:ss-p3-ss @atom:ss @atom:p3 @atom:ss + @angle:br-p4-br @atom:br @atom:p4 @atom:br + @angle:br-p4-o @atom:br @atom:p4 @atom:o + @angle:c2-p4-c2 @atom:c2 @atom:p4 @atom:c2 + @angle:c2-p4-hp @atom:c2 @atom:p4 @atom:hp + @angle:c2-p4-o @atom:c2 @atom:p4 @atom:o + @angle:c3-p4-c3 @atom:c3 @atom:p4 @atom:c3 + @angle:c3-p4-n2 @atom:c3 @atom:p4 @atom:n2 + @angle:c3-p4-n3 @atom:c3 @atom:p4 @atom:n3 + @angle:c3-p4-n4 @atom:c3 @atom:p4 @atom:n4 + @angle:c3-p4-n @atom:c3 @atom:p4 @atom:n + @angle:c3-p4-na @atom:c3 @atom:p4 @atom:na + @angle:c3-p4-nh @atom:c3 @atom:p4 @atom:nh + @angle:c3-p4-no @atom:c3 @atom:p4 @atom:no + @angle:c3-p4-o @atom:c3 @atom:p4 @atom:o + @angle:c3-p4-oh @atom:c3 @atom:p4 @atom:oh + @angle:c3-p4-os @atom:c3 @atom:p4 @atom:os + @angle:c3-p4-p2 @atom:c3 @atom:p4 @atom:p2 + @angle:c3-p4-p3 @atom:c3 @atom:p4 @atom:p3 + @angle:c3-p4-p4 @atom:c3 @atom:p4 @atom:p4 + @angle:c3-p4-p5 @atom:c3 @atom:p4 @atom:p5 + @angle:c3-p4-sh @atom:c3 @atom:p4 @atom:sh + @angle:c3-p4-ss @atom:c3 @atom:p4 @atom:ss + @angle:ca-p4-ca @atom:ca @atom:p4 @atom:ca + @angle:ca-p4-o @atom:ca @atom:p4 @atom:o + @angle:cl-p4-cl @atom:cl @atom:p4 @atom:cl + @angle:cl-p4-o @atom:cl @atom:p4 @atom:o + @angle:hp-p4-hp @atom:hp @atom:p4 @atom:hp + @angle:hp-p4-n1 @atom:hp @atom:p4 @atom:n1 + @angle:hp-p4-o @atom:hp @atom:p4 @atom:o + @angle:hp-p4-p3 @atom:hp @atom:p4 @atom:p3 + @angle:hp-p4-s @atom:hp @atom:p4 @atom:s + @angle:i-p4-i @atom:i @atom:p4 @atom:i + @angle:i-p4-o @atom:i @atom:p4 @atom:o + @angle:n1-p4-n1 @atom:n1 @atom:p4 @atom:n1 + @angle:n1-p4-o @atom:n1 @atom:p4 @atom:o + @angle:n2-p4-n2 @atom:n2 @atom:p4 @atom:n2 + @angle:n2-p4-o @atom:n2 @atom:p4 @atom:o + @angle:n3-p4-o @atom:n3 @atom:p4 @atom:o + @angle:n4-p4-o @atom:n4 @atom:p4 @atom:o + @angle:na-p4-o @atom:na @atom:p4 @atom:o + @angle:nh-p4-nh @atom:nh @atom:p4 @atom:nh + @angle:nh-p4-o @atom:nh @atom:p4 @atom:o + @angle:n-p4-o @atom:n @atom:p4 @atom:o + @angle:no-p4-o @atom:no @atom:p4 @atom:o + @angle:oh-p4-oh @atom:oh @atom:p4 @atom:oh + @angle:o-p4-o @atom:o @atom:p4 @atom:o + @angle:o-p4-oh @atom:o @atom:p4 @atom:oh + @angle:o-p4-os @atom:o @atom:p4 @atom:os + @angle:o-p4-p2 @atom:o @atom:p4 @atom:p2 + @angle:o-p4-p3 @atom:o @atom:p4 @atom:p3 + @angle:o-p4-p4 @atom:o @atom:p4 @atom:p4 + @angle:o-p4-p5 @atom:o @atom:p4 @atom:p5 + @angle:o-p4-s4 @atom:o @atom:p4 @atom:s4 + @angle:o-p4-s6 @atom:o @atom:p4 @atom:s6 + @angle:o-p4-s @atom:o @atom:p4 @atom:s + @angle:o-p4-sh @atom:o @atom:p4 @atom:sh + @angle:os-p4-os @atom:os @atom:p4 @atom:os + @angle:o-p4-ss @atom:o @atom:p4 @atom:ss + @angle:p2-p4-p2 @atom:p2 @atom:p4 @atom:p2 + @angle:p3-p4-p3 @atom:p3 @atom:p4 @atom:p3 + @angle:p4-p4-p4 @atom:p4 @atom:p4 @atom:p4 + @angle:p5-p4-p5 @atom:p5 @atom:p4 @atom:p5 + @angle:s4-p4-s4 @atom:s4 @atom:p4 @atom:s4 + @angle:s6-p4-s6 @atom:s6 @atom:p4 @atom:s6 + @angle:sh-p4-sh @atom:sh @atom:p4 @atom:sh + @angle:s-p4-s @atom:s @atom:p4 @atom:s + @angle:ss-p4-ss @atom:ss @atom:p4 @atom:ss + @angle:br-p5-br @atom:br @atom:p5 @atom:br + @angle:br-p5-o @atom:br @atom:p5 @atom:o + @angle:br-p5-oh @atom:br @atom:p5 @atom:oh + @angle:c1-p5-c1 @atom:c1 @atom:p5 @atom:c1 + @angle:c1-p5-o @atom:c1 @atom:p5 @atom:o + @angle:c1-p5-oh @atom:c1 @atom:p5 @atom:oh + @angle:c2-p5-c2 @atom:c2 @atom:p5 @atom:c2 + @angle:c2-p5-o @atom:c2 @atom:p5 @atom:o + @angle:c2-p5-oh @atom:c2 @atom:p5 @atom:oh + @angle:c2-p5-os @atom:c2 @atom:p5 @atom:os + @angle:c3-p5-c3 @atom:c3 @atom:p5 @atom:c3 + @angle:c3-p5-hp @atom:c3 @atom:p5 @atom:hp + @angle:c3-p5-n3 @atom:c3 @atom:p5 @atom:n3 + @angle:c3-p5-o @atom:c3 @atom:p5 @atom:o + @angle:c3-p5-oh @atom:c3 @atom:p5 @atom:oh + @angle:c3-p5-os @atom:c3 @atom:p5 @atom:os + @angle:c3-p5-p4 @atom:c3 @atom:p5 @atom:p4 + @angle:c3-p5-s @atom:c3 @atom:p5 @atom:s + @angle:c3-p5-ss @atom:c3 @atom:p5 @atom:ss + @angle:ca-p5-ca @atom:ca @atom:p5 @atom:ca + @angle:ca-p5-o @atom:ca @atom:p5 @atom:o + @angle:ca-p5-oh @atom:ca @atom:p5 @atom:oh + @angle:ca-p5-os @atom:ca @atom:p5 @atom:os + @angle:c-p5-c @atom:c @atom:p5 @atom:c + @angle:cl-p5-cl @atom:cl @atom:p5 @atom:cl + @angle:cl-p5-o @atom:cl @atom:p5 @atom:o + @angle:cl-p5-oh @atom:cl @atom:p5 @atom:oh + @angle:c-p5-o @atom:c @atom:p5 @atom:o + @angle:c-p5-oh @atom:c @atom:p5 @atom:oh + @angle:f-p5-f @atom:f @atom:p5 @atom:f + @angle:f-p5-o @atom:f @atom:p5 @atom:o + @angle:f-p5-oh @atom:f @atom:p5 @atom:oh + @angle:f-p5-os @atom:f @atom:p5 @atom:os + @angle:f-p5-s @atom:f @atom:p5 @atom:s + @angle:hp-p5-hp @atom:hp @atom:p5 @atom:hp + @angle:hp-p5-n1 @atom:hp @atom:p5 @atom:n1 + @angle:hp-p5-o @atom:hp @atom:p5 @atom:o + @angle:hp-p5-oh @atom:hp @atom:p5 @atom:oh + @angle:hp-p5-s @atom:hp @atom:p5 @atom:s + @angle:i-p5-i @atom:i @atom:p5 @atom:i + @angle:i-p5-o @atom:i @atom:p5 @atom:o + @angle:i-p5-oh @atom:i @atom:p5 @atom:oh + @angle:n1-p5-n1 @atom:n1 @atom:p5 @atom:n1 + @angle:n1-p5-o @atom:n1 @atom:p5 @atom:o + @angle:n2-p5-n2 @atom:n2 @atom:p5 @atom:n2 + @angle:n2-p5-o @atom:n2 @atom:p5 @atom:o + @angle:n2-p5-oh @atom:n2 @atom:p5 @atom:oh + @angle:n3-p5-n3 @atom:n3 @atom:p5 @atom:n3 + @angle:n3-p5-nh @atom:n3 @atom:p5 @atom:nh + @angle:n3-p5-o @atom:n3 @atom:p5 @atom:o + @angle:n3-p5-oh @atom:n3 @atom:p5 @atom:oh + @angle:n3-p5-os @atom:n3 @atom:p5 @atom:os + @angle:n3-p5-s @atom:n3 @atom:p5 @atom:s + @angle:n4-p5-n4 @atom:n4 @atom:p5 @atom:n4 + @angle:n4-p5-o @atom:n4 @atom:p5 @atom:o + @angle:n4-p5-oh @atom:n4 @atom:p5 @atom:oh + @angle:n4-p5-os @atom:n4 @atom:p5 @atom:os + @angle:na-p5-na @atom:na @atom:p5 @atom:na + @angle:na-p5-o @atom:na @atom:p5 @atom:o + @angle:na-p5-oh @atom:na @atom:p5 @atom:oh + @angle:na-p5-os @atom:na @atom:p5 @atom:os + @angle:nh-p5-nh @atom:nh @atom:p5 @atom:nh + @angle:nh-p5-o @atom:nh @atom:p5 @atom:o + @angle:nh-p5-oh @atom:nh @atom:p5 @atom:oh + @angle:nh-p5-os @atom:nh @atom:p5 @atom:os + @angle:n-p5-n3 @atom:n @atom:p5 @atom:n3 + @angle:n-p5-n @atom:n @atom:p5 @atom:n + @angle:n-p5-o @atom:n @atom:p5 @atom:o + @angle:n-p5-oh @atom:n @atom:p5 @atom:oh + @angle:no-p5-no @atom:no @atom:p5 @atom:no + @angle:no-p5-o @atom:no @atom:p5 @atom:o + @angle:no-p5-oh @atom:no @atom:p5 @atom:oh + @angle:no-p5-os @atom:no @atom:p5 @atom:os + @angle:n-p5-os @atom:n @atom:p5 @atom:os + @angle:oh-p5-oh @atom:oh @atom:p5 @atom:oh + @angle:oh-p5-os @atom:oh @atom:p5 @atom:os + @angle:oh-p5-p2 @atom:oh @atom:p5 @atom:p2 + @angle:oh-p5-p3 @atom:oh @atom:p5 @atom:p3 + @angle:oh-p5-p4 @atom:oh @atom:p5 @atom:p4 + @angle:oh-p5-p5 @atom:oh @atom:p5 @atom:p5 + @angle:oh-p5-s4 @atom:oh @atom:p5 @atom:s4 + @angle:oh-p5-s6 @atom:oh @atom:p5 @atom:s6 + @angle:oh-p5-s @atom:oh @atom:p5 @atom:s + @angle:oh-p5-sh @atom:oh @atom:p5 @atom:sh + @angle:oh-p5-ss @atom:oh @atom:p5 @atom:ss + @angle:o-p5-o @atom:o @atom:p5 @atom:o + @angle:o-p5-oh @atom:o @atom:p5 @atom:oh + @angle:o-p5-os @atom:o @atom:p5 @atom:os + @angle:o-p5-p2 @atom:o @atom:p5 @atom:p2 + @angle:o-p5-p3 @atom:o @atom:p5 @atom:p3 + @angle:o-p5-p4 @atom:o @atom:p5 @atom:p4 + @angle:o-p5-p5 @atom:o @atom:p5 @atom:p5 + @angle:o-p5-s4 @atom:o @atom:p5 @atom:s4 + @angle:o-p5-s6 @atom:o @atom:p5 @atom:s6 + @angle:o-p5-s @atom:o @atom:p5 @atom:s + @angle:o-p5-sh @atom:o @atom:p5 @atom:sh + @angle:os-p5-os @atom:os @atom:p5 @atom:os + @angle:os-p5-p3 @atom:os @atom:p5 @atom:p3 + @angle:os-p5-p5 @atom:os @atom:p5 @atom:p5 + @angle:os-p5-s4 @atom:os @atom:p5 @atom:s4 + @angle:os-p5-s6 @atom:os @atom:p5 @atom:s6 + @angle:o-p5-ss @atom:o @atom:p5 @atom:ss + @angle:os-p5-s @atom:os @atom:p5 @atom:s + @angle:os-p5-sh @atom:os @atom:p5 @atom:sh + @angle:os-p5-ss @atom:os @atom:p5 @atom:ss + @angle:p2-p5-p2 @atom:p2 @atom:p5 @atom:p2 + @angle:p3-p5-p3 @atom:p3 @atom:p5 @atom:p3 + @angle:p4-p5-p4 @atom:p4 @atom:p5 @atom:p4 + @angle:p5-p5-p5 @atom:p5 @atom:p5 @atom:p5 + @angle:s6-p5-s6 @atom:s6 @atom:p5 @atom:s6 + @angle:sh-p5-sh @atom:sh @atom:p5 @atom:sh + @angle:sh-p5-ss @atom:sh @atom:p5 @atom:ss + @angle:s-p5-s @atom:s @atom:p5 @atom:s + @angle:ss-p5-ss @atom:ss @atom:p5 @atom:ss + @angle:cd-pc-n @atom:cd @atom:pc @atom:n + @angle:cd-pc-na @atom:cd @atom:pc @atom:na + @angle:cc-pd-n @atom:cc @atom:pd @atom:n + @angle:cc-pd-na @atom:cc @atom:pd @atom:na + @angle:c2-pe-ca @atom:c2 @atom:pe @atom:ca + @angle:c2-pe-ce @atom:c2 @atom:pe @atom:ce + @angle:c2-pe-cg @atom:c2 @atom:pe @atom:cg + @angle:c2-pe-n2 @atom:c2 @atom:pe @atom:n2 + @angle:c2-pe-ne @atom:c2 @atom:pe @atom:ne + @angle:c2-pe-o @atom:c2 @atom:pe @atom:o + @angle:c2-pe-p2 @atom:c2 @atom:pe @atom:p2 + @angle:c2-pe-pe @atom:c2 @atom:pe @atom:pe + @angle:c2-pe-px @atom:c2 @atom:pe @atom:px + @angle:c2-pe-py @atom:c2 @atom:pe @atom:py + @angle:c2-pe-s @atom:c2 @atom:pe @atom:s + @angle:c2-pe-sx @atom:c2 @atom:pe @atom:sx + @angle:c2-pe-sy @atom:c2 @atom:pe @atom:sy + @angle:ca-pe-n2 @atom:ca @atom:pe @atom:n2 + @angle:ca-pe-o @atom:ca @atom:pe @atom:o + @angle:ca-pe-p2 @atom:ca @atom:pe @atom:p2 + @angle:ca-pe-pf @atom:ca @atom:pe @atom:pf + @angle:ca-pe-s @atom:ca @atom:pe @atom:s + @angle:c-pe-c2 @atom:c @atom:pe @atom:c2 + @angle:ce-pe-n2 @atom:ce @atom:pe @atom:n2 + @angle:ce-pe-o @atom:ce @atom:pe @atom:o + @angle:ce-pe-p2 @atom:ce @atom:pe @atom:p2 + @angle:ce-pe-s @atom:ce @atom:pe @atom:s + @angle:cg-pe-n2 @atom:cg @atom:pe @atom:n2 + @angle:cg-pe-o @atom:cg @atom:pe @atom:o + @angle:cg-pe-p2 @atom:cg @atom:pe @atom:p2 + @angle:cg-pe-s @atom:cg @atom:pe @atom:s + @angle:n2-pe-n2 @atom:n2 @atom:pe @atom:n2 + @angle:n2-pe-ne @atom:n2 @atom:pe @atom:ne + @angle:n2-pe-o @atom:n2 @atom:pe @atom:o + @angle:n2-pe-p2 @atom:n2 @atom:pe @atom:p2 + @angle:n2-pe-pe @atom:n2 @atom:pe @atom:pe + @angle:n2-pe-px @atom:n2 @atom:pe @atom:px + @angle:n2-pe-py @atom:n2 @atom:pe @atom:py + @angle:n2-pe-s @atom:n2 @atom:pe @atom:s + @angle:n2-pe-sx @atom:n2 @atom:pe @atom:sx + @angle:n2-pe-sy @atom:n2 @atom:pe @atom:sy + @angle:ne-pe-o @atom:ne @atom:pe @atom:o + @angle:ne-pe-p2 @atom:ne @atom:pe @atom:p2 + @angle:ne-pe-s @atom:ne @atom:pe @atom:s + @angle:o-pe-o @atom:o @atom:pe @atom:o + @angle:o-pe-p2 @atom:o @atom:pe @atom:p2 + @angle:o-pe-pe @atom:o @atom:pe @atom:pe + @angle:o-pe-px @atom:o @atom:pe @atom:px + @angle:o-pe-py @atom:o @atom:pe @atom:py + @angle:o-pe-s @atom:o @atom:pe @atom:s + @angle:o-pe-sx @atom:o @atom:pe @atom:sx + @angle:o-pe-sy @atom:o @atom:pe @atom:sy + @angle:p2-pe-pe @atom:p2 @atom:pe @atom:pe + @angle:p2-pe-px @atom:p2 @atom:pe @atom:px + @angle:p2-pe-py @atom:p2 @atom:pe @atom:py + @angle:p2-pe-s @atom:p2 @atom:pe @atom:s + @angle:p2-pe-sx @atom:p2 @atom:pe @atom:sx + @angle:p2-pe-sy @atom:p2 @atom:pe @atom:sy + @angle:pe-pe-s @atom:pe @atom:pe @atom:s + @angle:px-pe-s @atom:px @atom:pe @atom:s + @angle:py-pe-s @atom:py @atom:pe @atom:s + @angle:s-pe-s @atom:s @atom:pe @atom:s + @angle:s-pe-sx @atom:s @atom:pe @atom:sx + @angle:s-pe-sy @atom:s @atom:pe @atom:sy + @angle:c2-pf-ca @atom:c2 @atom:pf @atom:ca + @angle:c2-pf-cf @atom:c2 @atom:pf @atom:cf + @angle:c2-pf-ch @atom:c2 @atom:pf @atom:ch + @angle:c2-pf-n2 @atom:c2 @atom:pf @atom:n2 + @angle:c2-pf-nf @atom:c2 @atom:pf @atom:nf + @angle:c2-pf-o @atom:c2 @atom:pf @atom:o + @angle:c2-pf-p2 @atom:c2 @atom:pf @atom:p2 + @angle:c2-pf-pf @atom:c2 @atom:pf @atom:pf + @angle:c2-pf-px @atom:c2 @atom:pf @atom:px + @angle:c2-pf-py @atom:c2 @atom:pf @atom:py + @angle:c2-pf-s @atom:c2 @atom:pf @atom:s + @angle:c2-pf-sx @atom:c2 @atom:pf @atom:sx + @angle:c2-pf-sy @atom:c2 @atom:pf @atom:sy + @angle:ca-pf-n2 @atom:ca @atom:pf @atom:n2 + @angle:ca-pf-o @atom:ca @atom:pf @atom:o + @angle:ca-pf-p2 @atom:ca @atom:pf @atom:p2 + @angle:ca-pf-pe @atom:ca @atom:pf @atom:pe + @angle:ca-pf-s @atom:ca @atom:pf @atom:s + @angle:c-pf-c2 @atom:c @atom:pf @atom:c2 + @angle:cf-pf-n2 @atom:cf @atom:pf @atom:n2 + @angle:cf-pf-o @atom:cf @atom:pf @atom:o + @angle:cf-pf-p2 @atom:cf @atom:pf @atom:p2 + @angle:cf-pf-s @atom:cf @atom:pf @atom:s + @angle:ch-pf-n2 @atom:ch @atom:pf @atom:n2 + @angle:ch-pf-o @atom:ch @atom:pf @atom:o + @angle:ch-pf-p2 @atom:ch @atom:pf @atom:p2 + @angle:ch-pf-s @atom:ch @atom:pf @atom:s + @angle:n2-pf-n2 @atom:n2 @atom:pf @atom:n2 + @angle:n2-pf-nf @atom:n2 @atom:pf @atom:nf + @angle:n2-pf-o @atom:n2 @atom:pf @atom:o + @angle:n2-pf-p2 @atom:n2 @atom:pf @atom:p2 + @angle:n2-pf-pf @atom:n2 @atom:pf @atom:pf + @angle:n2-pf-px @atom:n2 @atom:pf @atom:px + @angle:n2-pf-py @atom:n2 @atom:pf @atom:py + @angle:n2-pf-s @atom:n2 @atom:pf @atom:s + @angle:n2-pf-sx @atom:n2 @atom:pf @atom:sx + @angle:n2-pf-sy @atom:n2 @atom:pf @atom:sy + @angle:nf-pf-o @atom:nf @atom:pf @atom:o + @angle:nf-pf-p2 @atom:nf @atom:pf @atom:p2 + @angle:nf-pf-s @atom:nf @atom:pf @atom:s + @angle:o-pf-o @atom:o @atom:pf @atom:o + @angle:o-pf-p2 @atom:o @atom:pf @atom:p2 + @angle:o-pf-pf @atom:o @atom:pf @atom:pf + @angle:o-pf-px @atom:o @atom:pf @atom:px + @angle:o-pf-py @atom:o @atom:pf @atom:py + @angle:o-pf-s @atom:o @atom:pf @atom:s + @angle:o-pf-sx @atom:o @atom:pf @atom:sx + @angle:o-pf-sy @atom:o @atom:pf @atom:sy + @angle:p2-pf-pf @atom:p2 @atom:pf @atom:pf + @angle:p2-pf-px @atom:p2 @atom:pf @atom:px + @angle:p2-pf-py @atom:p2 @atom:pf @atom:py + @angle:p2-pf-s @atom:p2 @atom:pf @atom:s + @angle:p2-pf-sx @atom:p2 @atom:pf @atom:sx + @angle:p2-pf-sy @atom:p2 @atom:pf @atom:sy + @angle:pf-pf-s @atom:pf @atom:pf @atom:s + @angle:px-pf-s @atom:px @atom:pf @atom:s + @angle:py-pf-s @atom:py @atom:pf @atom:s + @angle:s-pf-s @atom:s @atom:pf @atom:s + @angle:s-pf-sx @atom:s @atom:pf @atom:sx + @angle:s-pf-sy @atom:s @atom:pf @atom:sy + @angle:c3-px-ca @atom:c3 @atom:px @atom:ca + @angle:c3-px-ce @atom:c3 @atom:px @atom:ce + @angle:c3-px-cf @atom:c3 @atom:px @atom:cf + @angle:c3-px-ne @atom:c3 @atom:px @atom:ne + @angle:c3-px-nf @atom:c3 @atom:px @atom:nf + @angle:c3-px-o @atom:c3 @atom:px @atom:o + @angle:c3-px-pe @atom:c3 @atom:px @atom:pe + @angle:c3-px-pf @atom:c3 @atom:px @atom:pf + @angle:c3-px-py @atom:c3 @atom:px @atom:py + @angle:c3-px-sx @atom:c3 @atom:px @atom:sx + @angle:c3-px-sy @atom:c3 @atom:px @atom:sy + @angle:ca-px-ca @atom:ca @atom:px @atom:ca + @angle:ca-px-o @atom:ca @atom:px @atom:o + @angle:c-px-c3 @atom:c @atom:px @atom:c3 + @angle:ce-px-ce @atom:ce @atom:px @atom:ce + @angle:ce-px-o @atom:ce @atom:px @atom:o + @angle:cf-px-cf @atom:cf @atom:px @atom:cf + @angle:cf-px-o @atom:cf @atom:px @atom:o + @angle:c-px-o @atom:c @atom:px @atom:o + @angle:ne-px-ne @atom:ne @atom:px @atom:ne + @angle:ne-px-o @atom:ne @atom:px @atom:o + @angle:nf-px-nf @atom:nf @atom:px @atom:nf + @angle:nf-px-o @atom:nf @atom:px @atom:o + @angle:o-px-pe @atom:o @atom:px @atom:pe + @angle:o-px-pf @atom:o @atom:px @atom:pf + @angle:o-px-py @atom:o @atom:px @atom:py + @angle:o-px-sx @atom:o @atom:px @atom:sx + @angle:o-px-sy @atom:o @atom:px @atom:sy + @angle:pe-px-pe @atom:pe @atom:px @atom:pe + @angle:pf-px-pf @atom:pf @atom:px @atom:pf + @angle:py-px-py @atom:py @atom:px @atom:py + @angle:sx-px-sx @atom:sx @atom:px @atom:sx + @angle:sy-px-sy @atom:sy @atom:px @atom:sy + @angle:c3-py-n4 @atom:c3 @atom:py @atom:n4 + @angle:c3-py-na @atom:c3 @atom:py @atom:na + @angle:c3-py-o @atom:c3 @atom:py @atom:o + @angle:c3-py-oh @atom:c3 @atom:py @atom:oh + @angle:c3-py-os @atom:c3 @atom:py @atom:os + @angle:c3-py-px @atom:c3 @atom:py @atom:px + @angle:c3-py-py @atom:c3 @atom:py @atom:py + @angle:c3-py-sx @atom:c3 @atom:py @atom:sx + @angle:ca-py-ca @atom:ca @atom:py @atom:ca + @angle:ca-py-o @atom:ca @atom:py @atom:o + @angle:ca-py-oh @atom:ca @atom:py @atom:oh + @angle:ca-py-os @atom:ca @atom:py @atom:os + @angle:c-py-c3 @atom:c @atom:py @atom:c3 + @angle:c-py-c @atom:c @atom:py @atom:c + @angle:ce-py-ce @atom:ce @atom:py @atom:ce + @angle:ce-py-o @atom:ce @atom:py @atom:o + @angle:ce-py-oh @atom:ce @atom:py @atom:oh + @angle:ce-py-os @atom:ce @atom:py @atom:os + @angle:cf-py-cf @atom:cf @atom:py @atom:cf + @angle:cf-py-o @atom:cf @atom:py @atom:o + @angle:cf-py-oh @atom:cf @atom:py @atom:oh + @angle:cf-py-os @atom:cf @atom:py @atom:os + @angle:c-py-o @atom:c @atom:py @atom:o + @angle:c-py-oh @atom:c @atom:py @atom:oh + @angle:c-py-os @atom:c @atom:py @atom:os + @angle:n3-py-ne @atom:n3 @atom:py @atom:ne + @angle:n4-py-o @atom:n4 @atom:py @atom:o + @angle:n4-py-py @atom:n4 @atom:py @atom:py + @angle:na-py-o @atom:na @atom:py @atom:o + @angle:na-py-py @atom:na @atom:py @atom:py + @angle:ne-py-ne @atom:ne @atom:py @atom:ne + @angle:ne-py-o @atom:ne @atom:py @atom:o + @angle:ne-py-oh @atom:ne @atom:py @atom:oh + @angle:ne-py-os @atom:ne @atom:py @atom:os + @angle:nf-py-nf @atom:nf @atom:py @atom:nf + @angle:nf-py-o @atom:nf @atom:py @atom:o + @angle:nf-py-oh @atom:nf @atom:py @atom:oh + @angle:nf-py-os @atom:nf @atom:py @atom:os + @angle:oh-py-oh @atom:oh @atom:py @atom:oh + @angle:oh-py-pe @atom:oh @atom:py @atom:pe + @angle:oh-py-pf @atom:oh @atom:py @atom:pf + @angle:oh-py-px @atom:oh @atom:py @atom:px + @angle:oh-py-py @atom:oh @atom:py @atom:py + @angle:oh-py-sx @atom:oh @atom:py @atom:sx + @angle:oh-py-sy @atom:oh @atom:py @atom:sy + @angle:o-py-oh @atom:o @atom:py @atom:oh + @angle:o-py-os @atom:o @atom:py @atom:os + @angle:o-py-pe @atom:o @atom:py @atom:pe + @angle:o-py-pf @atom:o @atom:py @atom:pf + @angle:o-py-px @atom:o @atom:py @atom:px + @angle:o-py-py @atom:o @atom:py @atom:py + @angle:os-py-os @atom:os @atom:py @atom:os + @angle:os-py-py @atom:os @atom:py @atom:py + @angle:os-py-sx @atom:os @atom:py @atom:sx + @angle:os-py-sy @atom:os @atom:py @atom:sy + @angle:o-py-sx @atom:o @atom:py @atom:sx + @angle:o-py-sy @atom:o @atom:py @atom:sy + @angle:pe-py-pe @atom:pe @atom:py @atom:pe + @angle:pf-py-pf @atom:pf @atom:py @atom:pf + @angle:py-py-py @atom:py @atom:py @atom:py + @angle:py-py-sx @atom:py @atom:py @atom:sx + @angle:sy-py-sy @atom:sy @atom:py @atom:sy + @angle:c1-s2-o @atom:c1 @atom:s2 @atom:o + @angle:c2-s2-n2 @atom:c2 @atom:s2 @atom:n2 + @angle:c2-s2-o @atom:c2 @atom:s2 @atom:o + @angle:cl-s2-n1 @atom:cl @atom:s2 @atom:n1 + @angle:f-s2-n1 @atom:f @atom:s2 @atom:n1 + @angle:n1-s2-o @atom:n1 @atom:s2 @atom:o + @angle:n2-s2-o @atom:n2 @atom:s2 @atom:o + @angle:o-s2-o @atom:o @atom:s2 @atom:o + @angle:o-s2-s @atom:o @atom:s2 @atom:s + @angle:s-s2-s @atom:s @atom:s2 @atom:s + @angle:br-s4-br @atom:br @atom:s4 @atom:br + @angle:br-s4-c3 @atom:br @atom:s4 @atom:c3 + @angle:br-s4-o @atom:br @atom:s4 @atom:o + @angle:c1-s4-c1 @atom:c1 @atom:s4 @atom:c1 + @angle:c1-s4-o @atom:c1 @atom:s4 @atom:o + @angle:c2-s4-c2 @atom:c2 @atom:s4 @atom:c2 + @angle:c2-s4-c3 @atom:c2 @atom:s4 @atom:c3 + @angle:c2-s4-o @atom:c2 @atom:s4 @atom:o + @angle:c3-s4-c3 @atom:c3 @atom:s4 @atom:c3 + @angle:c3-s4-ca @atom:c3 @atom:s4 @atom:ca + @angle:c3-s4-f @atom:c3 @atom:s4 @atom:f + @angle:c3-s4-hs @atom:c3 @atom:s4 @atom:hs + @angle:c3-s4-i @atom:c3 @atom:s4 @atom:i + @angle:c3-s4-n2 @atom:c3 @atom:s4 @atom:n2 + @angle:c3-s4-n3 @atom:c3 @atom:s4 @atom:n3 + @angle:c3-s4-n @atom:c3 @atom:s4 @atom:n + @angle:c3-s4-n4 @atom:c3 @atom:s4 @atom:n4 + @angle:c3-s4-na @atom:c3 @atom:s4 @atom:na + @angle:c3-s4-nh @atom:c3 @atom:s4 @atom:nh + @angle:c3-s4-no @atom:c3 @atom:s4 @atom:no + @angle:c3-s4-o @atom:c3 @atom:s4 @atom:o + @angle:c3-s4-oh @atom:c3 @atom:s4 @atom:oh + @angle:c3-s4-os @atom:c3 @atom:s4 @atom:os + @angle:c3-s4-p2 @atom:c3 @atom:s4 @atom:p2 + @angle:c3-s4-p3 @atom:c3 @atom:s4 @atom:p3 + @angle:c3-s4-p4 @atom:c3 @atom:s4 @atom:p4 + @angle:c3-s4-p5 @atom:c3 @atom:s4 @atom:p5 + @angle:c3-s4-s4 @atom:c3 @atom:s4 @atom:s4 + @angle:c3-s4-s @atom:c3 @atom:s4 @atom:s + @angle:c3-s4-s6 @atom:c3 @atom:s4 @atom:s6 + @angle:c3-s4-sh @atom:c3 @atom:s4 @atom:sh + @angle:c3-s4-ss @atom:c3 @atom:s4 @atom:ss + @angle:ca-s4-ca @atom:ca @atom:s4 @atom:ca + @angle:ca-s4-o @atom:ca @atom:s4 @atom:o + @angle:c-s4-c3 @atom:c @atom:s4 @atom:c3 + @angle:c-s4-c @atom:c @atom:s4 @atom:c + @angle:cl-s4-cl @atom:cl @atom:s4 @atom:cl + @angle:cl-s4-o @atom:cl @atom:s4 @atom:o + @angle:c-s4-o @atom:c @atom:s4 @atom:o + @angle:cx-s4-cx @atom:cx @atom:s4 @atom:cx + @angle:cx-s4-o @atom:cx @atom:s4 @atom:o + @angle:f-s4-f @atom:f @atom:s4 @atom:f + @angle:f-s4-o @atom:f @atom:s4 @atom:o + @angle:f-s4-s @atom:f @atom:s4 @atom:s + @angle:hs-s4-hs @atom:hs @atom:s4 @atom:hs + @angle:hs-s4-n1 @atom:hs @atom:s4 @atom:n1 + @angle:hs-s4-o @atom:hs @atom:s4 @atom:o + @angle:i-s4-i @atom:i @atom:s4 @atom:i + @angle:i-s4-o @atom:i @atom:s4 @atom:o + @angle:n1-s4-n1 @atom:n1 @atom:s4 @atom:n1 + @angle:n1-s4-o @atom:n1 @atom:s4 @atom:o + @angle:n2-s4-n2 @atom:n2 @atom:s4 @atom:n2 + @angle:n2-s4-o @atom:n2 @atom:s4 @atom:o + @angle:n3-s4-n3 @atom:n3 @atom:s4 @atom:n3 + @angle:n3-s4-o @atom:n3 @atom:s4 @atom:o + @angle:n4-s4-n4 @atom:n4 @atom:s4 @atom:n4 + @angle:n4-s4-o @atom:n4 @atom:s4 @atom:o + @angle:na-s4-na @atom:na @atom:s4 @atom:na + @angle:na-s4-o @atom:na @atom:s4 @atom:o + @angle:nh-s4-nh @atom:nh @atom:s4 @atom:nh + @angle:nh-s4-o @atom:nh @atom:s4 @atom:o + @angle:n-s4-n @atom:n @atom:s4 @atom:n + @angle:n-s4-o @atom:n @atom:s4 @atom:o + @angle:no-s4-no @atom:no @atom:s4 @atom:no + @angle:no-s4-o @atom:no @atom:s4 @atom:o + @angle:oh-s4-oh @atom:oh @atom:s4 @atom:oh + @angle:o-s4-o @atom:o @atom:s4 @atom:o + @angle:o-s4-oh @atom:o @atom:s4 @atom:oh + @angle:o-s4-os @atom:o @atom:s4 @atom:os + @angle:o-s4-p2 @atom:o @atom:s4 @atom:p2 + @angle:o-s4-p3 @atom:o @atom:s4 @atom:p3 + @angle:o-s4-p4 @atom:o @atom:s4 @atom:p4 + @angle:o-s4-p5 @atom:o @atom:s4 @atom:p5 + @angle:o-s4-s4 @atom:o @atom:s4 @atom:s4 + @angle:o-s4-s @atom:o @atom:s4 @atom:s + @angle:o-s4-s6 @atom:o @atom:s4 @atom:s6 + @angle:o-s4-sh @atom:o @atom:s4 @atom:sh + @angle:os-s4-os @atom:os @atom:s4 @atom:os + @angle:o-s4-ss @atom:o @atom:s4 @atom:ss + @angle:p2-s4-p2 @atom:p2 @atom:s4 @atom:p2 + @angle:p3-s4-p3 @atom:p3 @atom:s4 @atom:p3 + @angle:p5-s4-p5 @atom:p5 @atom:s4 @atom:p5 + @angle:s4-s4-s4 @atom:s4 @atom:s4 @atom:s4 + @angle:s4-s4-s6 @atom:s4 @atom:s4 @atom:s6 + @angle:s6-s4-s6 @atom:s6 @atom:s4 @atom:s6 + @angle:sh-s4-sh @atom:sh @atom:s4 @atom:sh + @angle:sh-s4-ss @atom:sh @atom:s4 @atom:ss + @angle:s-s4-s @atom:s @atom:s4 @atom:s + @angle:ss-s4-ss @atom:ss @atom:s4 @atom:ss + @angle:br-s6-br @atom:br @atom:s6 @atom:br + @angle:br-s6-c3 @atom:br @atom:s6 @atom:c3 + @angle:br-s6-f @atom:br @atom:s6 @atom:f + @angle:br-s6-o @atom:br @atom:s6 @atom:o + @angle:c1-s6-c1 @atom:c1 @atom:s6 @atom:c1 + @angle:c1-s6-o @atom:c1 @atom:s6 @atom:o + @angle:c2-s6-c2 @atom:c2 @atom:s6 @atom:c2 + @angle:c2-s6-c3 @atom:c2 @atom:s6 @atom:c3 + @angle:c2-s6-o @atom:c2 @atom:s6 @atom:o + @angle:c3-s6-c3 @atom:c3 @atom:s6 @atom:c3 + @angle:c3-s6-ca @atom:c3 @atom:s6 @atom:ca + @angle:c3-s6-cy @atom:c3 @atom:s6 @atom:cy + @angle:c3-s6-f @atom:c3 @atom:s6 @atom:f + @angle:c3-s6-hs @atom:c3 @atom:s6 @atom:hs + @angle:c3-s6-i @atom:c3 @atom:s6 @atom:i + @angle:c3-s6-n2 @atom:c3 @atom:s6 @atom:n2 + @angle:c3-s6-n3 @atom:c3 @atom:s6 @atom:n3 + @angle:c3-s6-n @atom:c3 @atom:s6 @atom:n + @angle:c3-s6-n4 @atom:c3 @atom:s6 @atom:n4 + @angle:c3-s6-na @atom:c3 @atom:s6 @atom:na + @angle:c3-s6-nh @atom:c3 @atom:s6 @atom:nh + @angle:c3-s6-no @atom:c3 @atom:s6 @atom:no + @angle:c3-s6-o @atom:c3 @atom:s6 @atom:o + @angle:c3-s6-oh @atom:c3 @atom:s6 @atom:oh + @angle:c3-s6-os @atom:c3 @atom:s6 @atom:os + @angle:c3-s6-p2 @atom:c3 @atom:s6 @atom:p2 + @angle:c3-s6-p3 @atom:c3 @atom:s6 @atom:p3 + @angle:c3-s6-p4 @atom:c3 @atom:s6 @atom:p4 + @angle:c3-s6-p5 @atom:c3 @atom:s6 @atom:p5 + @angle:c3-s6-s4 @atom:c3 @atom:s6 @atom:s4 + @angle:c3-s6-s @atom:c3 @atom:s6 @atom:s + @angle:c3-s6-s6 @atom:c3 @atom:s6 @atom:s6 + @angle:c3-s6-sh @atom:c3 @atom:s6 @atom:sh + @angle:c3-s6-ss @atom:c3 @atom:s6 @atom:ss + @angle:ca-s6-ca @atom:ca @atom:s6 @atom:ca + @angle:ca-s6-o @atom:ca @atom:s6 @atom:o + @angle:c-s6-c3 @atom:c @atom:s6 @atom:c3 + @angle:c-s6-c @atom:c @atom:s6 @atom:c + @angle:cc-s6-o @atom:cc @atom:s6 @atom:o + @angle:cl-s6-cl @atom:cl @atom:s6 @atom:cl + @angle:cl-s6-f @atom:cl @atom:s6 @atom:f + @angle:cl-s6-o @atom:cl @atom:s6 @atom:o + @angle:c-s6-o @atom:c @atom:s6 @atom:o + @angle:c-s6-os @atom:c @atom:s6 @atom:os + @angle:cx-s6-cx @atom:cx @atom:s6 @atom:cx + @angle:cy-s6-o @atom:cy @atom:s6 @atom:o + @angle:f-s6-f @atom:f @atom:s6 @atom:f + @angle:f-s6-o @atom:f @atom:s6 @atom:o + @angle:hs-s6-hs @atom:hs @atom:s6 @atom:hs + @angle:hs-s6-n1 @atom:hs @atom:s6 @atom:n1 + @angle:hs-s6-o @atom:hs @atom:s6 @atom:o + @angle:i-s6-i @atom:i @atom:s6 @atom:i + @angle:i-s6-o @atom:i @atom:s6 @atom:o + @angle:n1-s6-n1 @atom:n1 @atom:s6 @atom:n1 + @angle:n1-s6-o @atom:n1 @atom:s6 @atom:o + @angle:n2-s6-n2 @atom:n2 @atom:s6 @atom:n2 + @angle:n2-s6-o @atom:n2 @atom:s6 @atom:o + @angle:n2-s6-oh @atom:n2 @atom:s6 @atom:oh + @angle:n2-s6-os @atom:n2 @atom:s6 @atom:os + @angle:n3-s6-n3 @atom:n3 @atom:s6 @atom:n3 + @angle:n3-s6-o @atom:n3 @atom:s6 @atom:o + @angle:n3-s6-os @atom:n3 @atom:s6 @atom:os + @angle:n4-s6-n4 @atom:n4 @atom:s6 @atom:n4 + @angle:n4-s6-o @atom:n4 @atom:s6 @atom:o + @angle:na-s6-na @atom:na @atom:s6 @atom:na + @angle:na-s6-o @atom:na @atom:s6 @atom:o + @angle:nh-s6-nh @atom:nh @atom:s6 @atom:nh + @angle:nh-s6-o @atom:nh @atom:s6 @atom:o + @angle:n-s6-n @atom:n @atom:s6 @atom:n + @angle:n-s6-o @atom:n @atom:s6 @atom:o + @angle:no-s6-no @atom:no @atom:s6 @atom:no + @angle:no-s6-o @atom:no @atom:s6 @atom:o + @angle:n-s6-os @atom:n @atom:s6 @atom:os + @angle:oh-s6-oh @atom:oh @atom:s6 @atom:oh + @angle:oh-s6-os @atom:oh @atom:s6 @atom:os + @angle:oh-s6-p2 @atom:oh @atom:s6 @atom:p2 + @angle:o-s6-o @atom:o @atom:s6 @atom:o + @angle:o-s6-oh @atom:o @atom:s6 @atom:oh + @angle:o-s6-os @atom:o @atom:s6 @atom:os + @angle:o-s6-p2 @atom:o @atom:s6 @atom:p2 + @angle:o-s6-p3 @atom:o @atom:s6 @atom:p3 + @angle:o-s6-p4 @atom:o @atom:s6 @atom:p4 + @angle:o-s6-p5 @atom:o @atom:s6 @atom:p5 + @angle:o-s6-s4 @atom:o @atom:s6 @atom:s4 + @angle:o-s6-s @atom:o @atom:s6 @atom:s + @angle:o-s6-s6 @atom:o @atom:s6 @atom:s6 + @angle:o-s6-sh @atom:o @atom:s6 @atom:sh + @angle:os-s6-os @atom:os @atom:s6 @atom:os + @angle:o-s6-ss @atom:o @atom:s6 @atom:ss + @angle:p3-s6-p3 @atom:p3 @atom:s6 @atom:p3 + @angle:p5-s6-p5 @atom:p5 @atom:s6 @atom:p5 + @angle:s4-s6-s4 @atom:s4 @atom:s6 @atom:s4 + @angle:s4-s6-s6 @atom:s4 @atom:s6 @atom:s6 + @angle:s6-s6-s6 @atom:s6 @atom:s6 @atom:s6 + @angle:sh-s6-sh @atom:sh @atom:s6 @atom:sh + @angle:sh-s6-ss @atom:sh @atom:s6 @atom:ss + @angle:s-s6-s @atom:s @atom:s6 @atom:s + @angle:ss-s6-ss @atom:ss @atom:s6 @atom:ss + @angle:br-sh-hs @atom:br @atom:sh @atom:hs + @angle:c1-sh-hs @atom:c1 @atom:sh @atom:hs + @angle:c2-sh-hs @atom:c2 @atom:sh @atom:hs + @angle:c3-sh-hs @atom:c3 @atom:sh @atom:hs + @angle:ca-sh-hs @atom:ca @atom:sh @atom:hs + @angle:cc-sh-hs @atom:cc @atom:sh @atom:hs + @angle:c-sh-hs @atom:c @atom:sh @atom:hs + @angle:f-sh-hs @atom:f @atom:sh @atom:hs + @angle:hs-sh-hs @atom:hs @atom:sh @atom:hs + @angle:hs-sh-i @atom:hs @atom:sh @atom:i + @angle:hs-sh-n1 @atom:hs @atom:sh @atom:n1 + @angle:hs-sh-n2 @atom:hs @atom:sh @atom:n2 + @angle:hs-sh-n @atom:hs @atom:sh @atom:n + @angle:hs-sh-n3 @atom:hs @atom:sh @atom:n3 + @angle:hs-sh-n4 @atom:hs @atom:sh @atom:n4 + @angle:hs-sh-na @atom:hs @atom:sh @atom:na + @angle:hs-sh-nh @atom:hs @atom:sh @atom:nh + @angle:hs-sh-no @atom:hs @atom:sh @atom:no + @angle:hs-sh-o @atom:hs @atom:sh @atom:o + @angle:hs-sh-oh @atom:hs @atom:sh @atom:oh + @angle:hs-sh-os @atom:hs @atom:sh @atom:os + @angle:hs-sh-p2 @atom:hs @atom:sh @atom:p2 + @angle:hs-sh-p3 @atom:hs @atom:sh @atom:p3 + @angle:hs-sh-p4 @atom:hs @atom:sh @atom:p4 + @angle:hs-sh-p5 @atom:hs @atom:sh @atom:p5 + @angle:hs-sh-s @atom:hs @atom:sh @atom:s + @angle:hs-sh-s4 @atom:hs @atom:sh @atom:s4 + @angle:hs-sh-s6 @atom:hs @atom:sh @atom:s6 + @angle:hs-sh-sh @atom:hs @atom:sh @atom:sh + @angle:hs-sh-ss @atom:hs @atom:sh @atom:ss + @angle:br-ss-br @atom:br @atom:ss @atom:br + @angle:br-ss-c3 @atom:br @atom:ss @atom:c3 + @angle:c1-ss-c1 @atom:c1 @atom:ss @atom:c1 + @angle:c1-ss-c3 @atom:c1 @atom:ss @atom:c3 + @angle:c2-ss-c2 @atom:c2 @atom:ss @atom:c2 + @angle:c2-ss-c3 @atom:c2 @atom:ss @atom:c3 + @angle:c2-ss-cy @atom:c2 @atom:ss @atom:cy + @angle:c2-ss-n2 @atom:c2 @atom:ss @atom:n2 + @angle:c2-ss-na @atom:c2 @atom:ss @atom:na + @angle:c2-ss-os @atom:c2 @atom:ss @atom:os + @angle:c2-ss-ss @atom:c2 @atom:ss @atom:ss + @angle:c3-ss-c3 @atom:c3 @atom:ss @atom:c3 + @angle:c3-ss-ca @atom:c3 @atom:ss @atom:ca + @angle:c3-ss-cc @atom:c3 @atom:ss @atom:cc + @angle:c3-ss-cd @atom:c3 @atom:ss @atom:cd + @angle:c3-ss-cl @atom:c3 @atom:ss @atom:cl + @angle:c3-ss-cy @atom:c3 @atom:ss @atom:cy + @angle:c3-ss-f @atom:c3 @atom:ss @atom:f + @angle:c3-ss-i @atom:c3 @atom:ss @atom:i + @angle:c3-ss-n1 @atom:c3 @atom:ss @atom:n1 + @angle:c3-ss-n2 @atom:c3 @atom:ss @atom:n2 + @angle:c3-ss-n3 @atom:c3 @atom:ss @atom:n3 + @angle:c3-ss-n @atom:c3 @atom:ss @atom:n + @angle:c3-ss-n4 @atom:c3 @atom:ss @atom:n4 + @angle:c3-ss-na @atom:c3 @atom:ss @atom:na + @angle:c3-ss-nh @atom:c3 @atom:ss @atom:nh + @angle:c3-ss-no @atom:c3 @atom:ss @atom:no + @angle:c3-ss-o @atom:c3 @atom:ss @atom:o + @angle:c3-ss-oh @atom:c3 @atom:ss @atom:oh + @angle:c3-ss-os @atom:c3 @atom:ss @atom:os + @angle:c3-ss-p2 @atom:c3 @atom:ss @atom:p2 + @angle:c3-ss-p3 @atom:c3 @atom:ss @atom:p3 + @angle:c3-ss-p4 @atom:c3 @atom:ss @atom:p4 + @angle:c3-ss-p5 @atom:c3 @atom:ss @atom:p5 + @angle:c3-ss-s4 @atom:c3 @atom:ss @atom:s4 + @angle:c3-ss-s @atom:c3 @atom:ss @atom:s + @angle:c3-ss-s6 @atom:c3 @atom:ss @atom:s6 + @angle:c3-ss-sh @atom:c3 @atom:ss @atom:sh + @angle:c3-ss-ss @atom:c3 @atom:ss @atom:ss + @angle:ca-ss-ca @atom:ca @atom:ss @atom:ca + @angle:ca-ss-cc @atom:ca @atom:ss @atom:cc + @angle:ca-ss-cd @atom:ca @atom:ss @atom:cd + @angle:ca-ss-cl @atom:ca @atom:ss @atom:cl + @angle:ca-ss-n @atom:ca @atom:ss @atom:n + @angle:ca-ss-na @atom:ca @atom:ss @atom:na + @angle:ca-ss-nc @atom:ca @atom:ss @atom:nc + @angle:ca-ss-nd @atom:ca @atom:ss @atom:nd + @angle:ca-ss-ss @atom:ca @atom:ss @atom:ss + @angle:c-ss-c2 @atom:c @atom:ss @atom:c2 + @angle:c-ss-c3 @atom:c @atom:ss @atom:c3 + @angle:c-ss-c @atom:c @atom:ss @atom:c + @angle:c-ss-cc @atom:c @atom:ss @atom:cc + @angle:cc-ss-cc @atom:cc @atom:ss @atom:cc + @angle:cc-ss-cd @atom:cc @atom:ss @atom:cd + @angle:cc-ss-n @atom:cc @atom:ss @atom:n + @angle:cc-ss-na @atom:cc @atom:ss @atom:na + @angle:cc-ss-nc @atom:cc @atom:ss @atom:nc + @angle:cc-ss-os @atom:cc @atom:ss @atom:os + @angle:cc-ss-ss @atom:cc @atom:ss @atom:ss + @angle:cd-ss-cd @atom:cd @atom:ss @atom:cd + @angle:cd-ss-n @atom:cd @atom:ss @atom:n + @angle:cd-ss-na @atom:cd @atom:ss @atom:na + @angle:cd-ss-nd @atom:cd @atom:ss @atom:nd + @angle:cd-ss-os @atom:cd @atom:ss @atom:os + @angle:cd-ss-ss @atom:cd @atom:ss @atom:ss + @angle:cl-ss-cl @atom:cl @atom:ss @atom:cl + @angle:cx-ss-cx @atom:cx @atom:ss @atom:cx + @angle:f-ss-f @atom:f @atom:ss @atom:f + @angle:f-ss-ss @atom:f @atom:ss @atom:ss + @angle:i-ss-i @atom:i @atom:ss @atom:i + @angle:n1-ss-n1 @atom:n1 @atom:ss @atom:n1 + @angle:n2-ss-n2 @atom:n2 @atom:ss @atom:n2 + @angle:n3-ss-n3 @atom:n3 @atom:ss @atom:n3 + @angle:n4-ss-n4 @atom:n4 @atom:ss @atom:n4 + @angle:na-ss-na @atom:na @atom:ss @atom:na + @angle:nc-ss-nc @atom:nc @atom:ss @atom:nc + @angle:nd-ss-nd @atom:nd @atom:ss @atom:nd + @angle:nh-ss-nh @atom:nh @atom:ss @atom:nh + @angle:n-ss-n @atom:n @atom:ss @atom:n + @angle:no-ss-no @atom:no @atom:ss @atom:no + @angle:oh-ss-oh @atom:oh @atom:ss @atom:oh + @angle:o-ss-o @atom:o @atom:ss @atom:o + @angle:o-ss-p5 @atom:o @atom:ss @atom:p5 + @angle:o-ss-s6 @atom:o @atom:ss @atom:s6 + @angle:os-ss-os @atom:os @atom:ss @atom:os + @angle:o-ss-ss @atom:o @atom:ss @atom:ss + @angle:p2-ss-p2 @atom:p2 @atom:ss @atom:p2 + @angle:p3-ss-p3 @atom:p3 @atom:ss @atom:p3 + @angle:p5-ss-p5 @atom:p5 @atom:ss @atom:p5 + @angle:s4-ss-s4 @atom:s4 @atom:ss @atom:s4 + @angle:s4-ss-s6 @atom:s4 @atom:ss @atom:s6 + @angle:s6-ss-s6 @atom:s6 @atom:ss @atom:s6 + @angle:sh-ss-sh @atom:sh @atom:ss @atom:sh + @angle:sh-ss-ss @atom:sh @atom:ss @atom:ss + @angle:s-ss-s @atom:s @atom:ss @atom:s + @angle:ss-ss-ss @atom:ss @atom:ss @atom:ss + @angle:c3-sx-ca @atom:c3 @atom:sx @atom:ca + @angle:c3-sx-cc @atom:c3 @atom:sx @atom:cc + @angle:c3-sx-ce @atom:c3 @atom:sx @atom:ce + @angle:c3-sx-cf @atom:c3 @atom:sx @atom:cf + @angle:c3-sx-ne @atom:c3 @atom:sx @atom:ne + @angle:c3-sx-nf @atom:c3 @atom:sx @atom:nf + @angle:c3-sx-o @atom:c3 @atom:sx @atom:o + @angle:c3-sx-pe @atom:c3 @atom:sx @atom:pe + @angle:c3-sx-pf @atom:c3 @atom:sx @atom:pf + @angle:c3-sx-px @atom:c3 @atom:sx @atom:px + @angle:c3-sx-py @atom:c3 @atom:sx @atom:py + @angle:c3-sx-sx @atom:c3 @atom:sx @atom:sx + @angle:c3-sx-sy @atom:c3 @atom:sx @atom:sy + @angle:ca-sx-ca @atom:ca @atom:sx @atom:ca + @angle:ca-sx-o @atom:ca @atom:sx @atom:o + @angle:c-sx-c3 @atom:c @atom:sx @atom:c3 + @angle:c-sx-c @atom:c @atom:sx @atom:c + @angle:cc-sx-o @atom:cc @atom:sx @atom:o + @angle:ce-sx-ce @atom:ce @atom:sx @atom:ce + @angle:ce-sx-o @atom:ce @atom:sx @atom:o + @angle:cf-sx-cf @atom:cf @atom:sx @atom:cf + @angle:cf-sx-o @atom:cf @atom:sx @atom:o + @angle:c-sx-o @atom:c @atom:sx @atom:o + @angle:ne-sx-ne @atom:ne @atom:sx @atom:ne + @angle:ne-sx-o @atom:ne @atom:sx @atom:o + @angle:nf-sx-nf @atom:nf @atom:sx @atom:nf + @angle:nf-sx-o @atom:nf @atom:sx @atom:o + @angle:o-sx-pe @atom:o @atom:sx @atom:pe + @angle:o-sx-pf @atom:o @atom:sx @atom:pf + @angle:o-sx-px @atom:o @atom:sx @atom:px + @angle:o-sx-py @atom:o @atom:sx @atom:py + @angle:o-sx-sx @atom:o @atom:sx @atom:sx + @angle:o-sx-sy @atom:o @atom:sx @atom:sy + @angle:pe-sx-pe @atom:pe @atom:sx @atom:pe + @angle:pf-sx-pf @atom:pf @atom:sx @atom:pf + @angle:py-sx-py @atom:py @atom:sx @atom:py + @angle:sx-sx-sx @atom:sx @atom:sx @atom:sx + @angle:sy-sx-sy @atom:sy @atom:sx @atom:sy + @angle:c3-sy-ca @atom:c3 @atom:sy @atom:ca + @angle:c3-sy-cc @atom:c3 @atom:sy @atom:cc + @angle:c3-sy-ce @atom:c3 @atom:sy @atom:ce + @angle:c3-sy-cf @atom:c3 @atom:sy @atom:cf + @angle:c3-sy-ne @atom:c3 @atom:sy @atom:ne + @angle:c3-sy-nf @atom:c3 @atom:sy @atom:nf + @angle:c3-sy-o @atom:c3 @atom:sy @atom:o + @angle:c3-sy-pe @atom:c3 @atom:sy @atom:pe + @angle:c3-sy-pf @atom:c3 @atom:sy @atom:pf + @angle:c3-sy-px @atom:c3 @atom:sy @atom:px + @angle:c3-sy-py @atom:c3 @atom:sy @atom:py + @angle:c3-sy-sx @atom:c3 @atom:sy @atom:sx + @angle:c3-sy-sy @atom:c3 @atom:sy @atom:sy + @angle:ca-sy-ca @atom:ca @atom:sy @atom:ca + @angle:ca-sy-cc @atom:ca @atom:sy @atom:cc + @angle:ca-sy-n3 @atom:ca @atom:sy @atom:n3 + @angle:ca-sy-n @atom:ca @atom:sy @atom:n + @angle:ca-sy-ne @atom:ca @atom:sy @atom:ne + @angle:ca-sy-nh @atom:ca @atom:sy @atom:nh + @angle:ca-sy-o @atom:ca @atom:sy @atom:o + @angle:ca-sy-oh @atom:ca @atom:sy @atom:oh + @angle:ca-sy-os @atom:ca @atom:sy @atom:os + @angle:c-sy-c3 @atom:c @atom:sy @atom:c3 + @angle:c-sy-c @atom:c @atom:sy @atom:c + @angle:cc-sy-n3 @atom:cc @atom:sy @atom:n3 + @angle:cc-sy-o @atom:cc @atom:sy @atom:o + @angle:cd-sy-n3 @atom:cd @atom:sy @atom:n3 + @angle:cd-sy-nh @atom:cd @atom:sy @atom:nh + @angle:cd-sy-o @atom:cd @atom:sy @atom:o + @angle:ce-sy-ce @atom:ce @atom:sy @atom:ce + @angle:ce-sy-o @atom:ce @atom:sy @atom:o + @angle:cf-sy-cf @atom:cf @atom:sy @atom:cf + @angle:cf-sy-o @atom:cf @atom:sy @atom:o + @angle:c-sy-o @atom:c @atom:sy @atom:o + @angle:n2-sy-o @atom:n2 @atom:sy @atom:o + @angle:n3-sy-ne @atom:n3 @atom:sy @atom:ne + @angle:n3-sy-o @atom:n3 @atom:sy @atom:o + @angle:na-sy-na @atom:na @atom:sy @atom:na + @angle:nc-sy-nc @atom:nc @atom:sy @atom:nc + @angle:nd-sy-nd @atom:nd @atom:sy @atom:nd + @angle:ne-sy-ne @atom:ne @atom:sy @atom:ne + @angle:ne-sy-o @atom:ne @atom:sy @atom:o + @angle:nf-sy-nf @atom:nf @atom:sy @atom:nf + @angle:nf-sy-o @atom:nf @atom:sy @atom:o + @angle:nh-sy-o @atom:nh @atom:sy @atom:o + @angle:n-sy-o @atom:n @atom:sy @atom:o + @angle:o-sy-o @atom:o @atom:sy @atom:o + @angle:o-sy-oh @atom:o @atom:sy @atom:oh + @angle:o-sy-os @atom:o @atom:sy @atom:os + @angle:o-sy-pe @atom:o @atom:sy @atom:pe + @angle:o-sy-pf @atom:o @atom:sy @atom:pf + @angle:o-sy-px @atom:o @atom:sy @atom:px + @angle:o-sy-py @atom:o @atom:sy @atom:py + @angle:o-sy-sx @atom:o @atom:sy @atom:sx + @angle:o-sy-sy @atom:o @atom:sy @atom:sy + @angle:py-sy-py @atom:py @atom:sy @atom:py + @angle:sx-sy-sx @atom:sx @atom:sy @atom:sx + @angle:sy-sy-sy @atom:sy @atom:sy @atom:sy + @angle:c2-c1-cf @atom:c2 @atom:c1 @atom:cf + @angle:c3-c1-ch @atom:c3 @atom:c1 @atom:ch + @angle:nf-c1-s @atom:nf @atom:c1 @atom:s + @angle:br-c2-cf @atom:br @atom:c2 @atom:cf + @angle:cd-c2-h4 @atom:cd @atom:c2 @atom:h4 + @angle:cd-c2-nh @atom:cd @atom:c2 @atom:nh + @angle:cd-c2-o @atom:cd @atom:c2 @atom:o + @angle:cf-c2-cl @atom:cf @atom:c2 @atom:cl + @angle:cf-c2-h4 @atom:cf @atom:c2 @atom:h4 + @angle:cf-c2-na @atom:cf @atom:c2 @atom:na + @angle:cf-c2-nh @atom:cf @atom:c2 @atom:nh + @angle:cf-c2-no @atom:cf @atom:c2 @atom:no + @angle:cf-c2-o @atom:cf @atom:c2 @atom:o + @angle:cf-c2-oh @atom:cf @atom:c2 @atom:oh + @angle:cf-c2-os @atom:cf @atom:c2 @atom:os + @angle:h4-c2-nf @atom:h4 @atom:c2 @atom:nf + @angle:h5-c2-nf @atom:h5 @atom:c2 @atom:nf + @angle:nf-c2-os @atom:nf @atom:c2 @atom:os + @angle:nf-c2-ss @atom:nf @atom:c2 @atom:ss + @angle:n-c2-nf @atom:n @atom:c2 @atom:nf + @angle:ca-c3-cf @atom:ca @atom:c3 @atom:cf + @angle:cd-c3-cx @atom:cd @atom:c3 @atom:cx + @angle:c-c3-cf @atom:c @atom:c3 @atom:cf + @angle:cd-c3-hx @atom:cd @atom:c3 @atom:hx + @angle:cd-c3-n2 @atom:cd @atom:c3 @atom:n2 + @angle:cd-c3-n4 @atom:cd @atom:c3 @atom:n4 + @angle:cd-c3-na @atom:cd @atom:c3 @atom:na + @angle:cd-c3-p5 @atom:cd @atom:c3 @atom:p5 + @angle:cf-c3-cf @atom:cf @atom:c3 @atom:cf + @angle:cf-c3-n @atom:cf @atom:c3 @atom:n + @angle:cf-c3-oh @atom:cf @atom:c3 @atom:oh + @angle:cf-c3-os @atom:cf @atom:c3 @atom:os + @angle:cf-c3-ss @atom:cf @atom:c3 @atom:ss + @angle:cd-ca-cq @atom:cd @atom:ca @atom:cq + @angle:cf-ca-na @atom:cf @atom:ca @atom:na + @angle:ch-ca-cq @atom:ch @atom:ca @atom:cq + @angle:cl-ca-cq @atom:cl @atom:ca @atom:cq + @angle:cq-ca-f @atom:cq @atom:ca @atom:f + @angle:cq-ca-h4 @atom:cq @atom:ca @atom:h4 + @angle:cq-ca-na @atom:cq @atom:ca @atom:na + @angle:cq-ca-nb @atom:cq @atom:ca @atom:nb + @angle:cq-ca-nh @atom:cq @atom:ca @atom:nh + @angle:cq-ca-oh @atom:cq @atom:ca @atom:oh + @angle:cq-ca-ss @atom:cq @atom:ca @atom:ss + @angle:ca-c-nf @atom:ca @atom:c @atom:nf + @angle:br-cd-c @atom:br @atom:cd @atom:c + @angle:br-cd-cd @atom:br @atom:cd @atom:cd + @angle:br-cd-cc @atom:br @atom:cd @atom:cc + @angle:br-cd-na @atom:br @atom:cd @atom:na + @angle:ca-cd-cf @atom:ca @atom:cd @atom:cf + @angle:ca-cd-nh @atom:ca @atom:cd @atom:nh + @angle:cd-c-cf @atom:cd @atom:c @atom:cf + @angle:cd-cd-f @atom:cd @atom:cd @atom:f + @angle:c-cd-ch @atom:c @atom:cd @atom:ch + @angle:cd-cd-sy @atom:cd @atom:cd @atom:sy + @angle:cc-cd-f @atom:cc @atom:cd @atom:f + @angle:cc-cd-no @atom:cc @atom:cd @atom:no + @angle:c-cd-f @atom:c @atom:cd @atom:f + @angle:ch-cd-na @atom:ch @atom:cd @atom:na + @angle:ch-cd-ss @atom:ch @atom:cd @atom:ss + @angle:cd-c-h4 @atom:cd @atom:c @atom:h4 + @angle:cl-cd-na @atom:cl @atom:cd @atom:na + @angle:cl-cd-ss @atom:cl @atom:cd @atom:ss + @angle:c-cd-nf @atom:c @atom:cd @atom:nf + @angle:cd-c-s @atom:cd @atom:c @atom:s + @angle:cd-c-ss @atom:cd @atom:c @atom:ss + @angle:cx-cd-nc @atom:cx @atom:cd @atom:nc + @angle:cx-cd-os @atom:cx @atom:cd @atom:os + @angle:cc-c-cx @atom:cc @atom:c @atom:cx + @angle:cc-c-nc @atom:cc @atom:c @atom:nc + @angle:cf-c-cx @atom:cf @atom:c @atom:cx + @angle:cf-c-h4 @atom:cf @atom:c @atom:h4 + @angle:cf-c-ss @atom:cf @atom:c @atom:ss + @angle:na-cd-no @atom:na @atom:cd @atom:no + @angle:na-cd-oh @atom:na @atom:cd @atom:oh + @angle:na-cd-sx @atom:na @atom:cd @atom:sx + @angle:na-cd-sy @atom:na @atom:cd @atom:sy + @angle:nd-cd-no @atom:nd @atom:cd @atom:no + @angle:nc-cd-nc @atom:nc @atom:cd @atom:nc + @angle:nc-cd-nf @atom:nc @atom:cd @atom:nf + @angle:nc-cd-no @atom:nc @atom:cd @atom:no + @angle:nc-cd-sh @atom:nc @atom:cd @atom:sh + @angle:nc-cd-sx @atom:nc @atom:cd @atom:sx + @angle:nc-cd-sy @atom:nc @atom:cd @atom:sy + @angle:nf-cd-ss @atom:nf @atom:cd @atom:ss + @angle:n-cd-n2 @atom:n @atom:cd @atom:n2 + @angle:no-cd-os @atom:no @atom:cd @atom:os + @angle:no-cd-ss @atom:no @atom:cd @atom:ss + @angle:ca-cc-cf @atom:ca @atom:cc @atom:cf + @angle:ca-cc-na @atom:ca @atom:cc @atom:na + @angle:cd-cc-cg @atom:cd @atom:cc @atom:cg + @angle:cd-cc-cy @atom:cd @atom:cc @atom:cy + @angle:cd-cc-nd @atom:cd @atom:cc @atom:nd + @angle:cc-cc-cy @atom:cc @atom:cc @atom:cy + @angle:cf-cc-nc @atom:cf @atom:cc @atom:nc + @angle:c-cc-h4 @atom:c @atom:cc @atom:h4 + @angle:na-cc-nh @atom:na @atom:cc @atom:nh + @angle:na-cc-ss @atom:na @atom:cc @atom:ss + @angle:nc-cc-nc @atom:nc @atom:cc @atom:nc + @angle:oh-cc-os @atom:oh @atom:cc @atom:os + @angle:c2-cf-cl @atom:c2 @atom:cf @atom:cl + @angle:c2-cf-h4 @atom:c2 @atom:cf @atom:h4 + @angle:c2-cf-n1 @atom:c2 @atom:cf @atom:n1 + @angle:c2-cf-na @atom:c2 @atom:cf @atom:na + @angle:c2-cf-oh @atom:c2 @atom:cf @atom:oh + @angle:c3-cf-ch @atom:c3 @atom:cf @atom:ch + @angle:c3-cf-ne @atom:c3 @atom:cf @atom:ne + @angle:c3-cf-nh @atom:c3 @atom:cf @atom:nh + @angle:ca-cf-cf @atom:ca @atom:cf @atom:cf + @angle:ca-cf-cl @atom:ca @atom:cf @atom:cl + @angle:ca-cf-h4 @atom:ca @atom:cf @atom:h4 + @angle:ca-cf-nh @atom:ca @atom:cf @atom:nh + @angle:ca-cf-os @atom:ca @atom:cf @atom:os + @angle:ca-cf-ss @atom:ca @atom:cf @atom:ss + @angle:c-cf-ca @atom:c @atom:cf @atom:ca + @angle:cd-cf-cc @atom:cd @atom:cf @atom:cc + @angle:c-cf-cf @atom:c @atom:cf @atom:cf + @angle:c-cf-ch @atom:c @atom:cf @atom:ch + @angle:cd-cf-h4 @atom:cd @atom:cf @atom:h4 + @angle:c-cf-cl @atom:c @atom:cf @atom:cl + @angle:cd-cf-nh @atom:cd @atom:cf @atom:nh + @angle:c-cf-cy @atom:c @atom:cf @atom:cy + @angle:cf-cf-cl @atom:cf @atom:cf @atom:cl + @angle:cf-cf-oh @atom:cf @atom:cf @atom:oh + @angle:ce-cf-cy @atom:ce @atom:cf @atom:cy + @angle:ce-cf-h4 @atom:ce @atom:cf @atom:h4 + @angle:ce-cf-n1 @atom:ce @atom:cf @atom:n1 + @angle:ce-cf-nh @atom:ce @atom:cf @atom:nh + @angle:ch-cf-n2 @atom:ch @atom:cf @atom:n2 + @angle:c-cf-oh @atom:c @atom:cf @atom:oh + @angle:c-cf-os @atom:c @atom:cf @atom:os + @angle:h4-cf-n1 @atom:h4 @atom:cf @atom:n1 + @angle:h4-cf-nf @atom:h4 @atom:cf @atom:nf + @angle:n2-cf-os @atom:n2 @atom:cf @atom:os + @angle:n2-cf-ss @atom:n2 @atom:cf @atom:ss + @angle:nf-cf-nh @atom:nf @atom:cf @atom:nh + @angle:ne-cf-nh @atom:ne @atom:cf @atom:nh + @angle:ca-ce-cd @atom:ca @atom:ce @atom:cd + @angle:c-ce-cc @atom:c @atom:ce @atom:cc + @angle:c-ce-n2 @atom:c @atom:ce @atom:n2 + @angle:h4-ce-nf @atom:h4 @atom:ce @atom:nf + @angle:c1-ch-cd @atom:c1 @atom:ch @atom:cd + @angle:ch-cg-cg @atom:ch @atom:cg @atom:cg + @angle:n-c-nf @atom:n @atom:c @atom:nf + @angle:ca-cq-na @atom:ca @atom:cq @atom:na + @angle:nb-cq-nb @atom:nb @atom:cq @atom:nb + @angle:cd-cx-hc @atom:cd @atom:cx @atom:hc + @angle:cf-cy-h2 @atom:cf @atom:cy @atom:h2 + @angle:cf-cy-n @atom:cf @atom:cy @atom:n + @angle:cf-cy-ss @atom:cf @atom:cy @atom:ss + @angle:cd-n2-na @atom:cd @atom:n2 @atom:na + @angle:cd-n2-nh @atom:cd @atom:n2 @atom:nh + @angle:c3-n4-cd @atom:c3 @atom:n4 @atom:cd + @angle:c3-na-cq @atom:c3 @atom:na @atom:cq + @angle:ca-na-cq @atom:ca @atom:na @atom:cq + @angle:cd-na-cf @atom:cd @atom:na @atom:cf + @angle:cq-nb-nb @atom:cq @atom:nb @atom:nb + @angle:c-n-cf @atom:c @atom:n @atom:cf + @angle:ca-nc-nd @atom:ca @atom:nc @atom:nd + @angle:c2-nf-ch @atom:c2 @atom:nf @atom:ch + @angle:c-nf-sy @atom:c @atom:nf @atom:sy + @angle:c3-nh-ce @atom:c3 @atom:nh @atom:ce + @angle:cd-nh-n2 @atom:cd @atom:nh @atom:n2 + @angle:cd-nh-sy @atom:cd @atom:nh @atom:sy + @angle:cf-nh-sy @atom:cf @atom:nh @atom:sy + @angle:hn-n-nd @atom:hn @atom:n @atom:nd + @angle:cd-no-o @atom:cd @atom:no @atom:o + @angle:n3-py-nf @atom:n3 @atom:py @atom:nf + @angle:cd-s6-o @atom:cd @atom:s6 @atom:o + @angle:cd-sh-hs @atom:cd @atom:sh @atom:hs + @angle:c-ss-cd @atom:c @atom:ss @atom:cd + @angle:c3-sx-cd @atom:c3 @atom:sx @atom:cd + @angle:cd-sx-o @atom:cd @atom:sx @atom:o + @angle:c3-sy-cd @atom:c3 @atom:sy @atom:cd + @angle:ca-sy-cd @atom:ca @atom:sy @atom:cd + @angle:ca-sy-nf @atom:ca @atom:sy @atom:nf + @angle:cc-sy-nh @atom:cc @atom:sy @atom:nh + @angle:n3-sy-nf @atom:n3 @atom:sy @atom:nf + @angle:cl-py-ne @atom:cl @atom:py @atom:ne + @angle:ce-ce-nh @atom:ce @atom:ce @atom:nh + @angle:cp-ca-os @atom:cp @atom:ca @atom:os + @angle:ca-cc-ca @atom:ca @atom:cc @atom:ca + @angle:h1-c3-i @atom:h1 @atom:c3 @atom:i + @angle:h4-c2-h4 @atom:h4 @atom:c2 @atom:h4 + @angle:c-ss-ss @atom:c @atom:ss @atom:ss + @angle:f-py-ne @atom:f @atom:py @atom:ne + @angle:ca-nh-ce @atom:ca @atom:nh @atom:ce + @angle:ce-cx-cx @atom:ce @atom:cx @atom:cx + @angle:py-ne-py @atom:py @atom:ne @atom:py + @angle:c-cd-ss @atom:c @atom:cd @atom:ss + @angle:s-p5-ss @atom:s @atom:p5 @atom:ss + @angle:cx-c3-nh @atom:cx @atom:c3 @atom:nh + @angle:cc-cc-cl @atom:cc @atom:cc @atom:cl + @angle:cd-na-cx @atom:cd @atom:na @atom:cx + @angle:h1-cy-nh @atom:h1 @atom:cy @atom:nh + @angle:h5-c-os @atom:h5 @atom:c @atom:os + @angle:c2-c3-n4 @atom:c2 @atom:c3 @atom:n4 + @angle:c2-cx-c3 @atom:c2 @atom:cx @atom:c3 + @angle:c3-c2-cx @atom:c3 @atom:c2 @atom:cx + @angle:br-cx-cx @atom:br @atom:cx @atom:cx + @angle:cc-cf-ch @atom:cc @atom:cf @atom:ch + @angle:c3-c3-sx @atom:c3 @atom:c3 @atom:sx + @angle:ca-cy-hc @atom:ca @atom:cy @atom:hc + @angle:cx-c1-n1 @atom:cx @atom:c1 @atom:n1 + @angle:cl-py-cl @atom:cl @atom:py @atom:cl + @angle:c2-ce-cx @atom:c2 @atom:ce @atom:cx + @angle:c3-c-cx @atom:c3 @atom:c @atom:cx + @angle:cf-cc-os @atom:cf @atom:cc @atom:os + @angle:cd-cd-cl @atom:cd @atom:cd @atom:cl + @angle:c3-py-ca @atom:c3 @atom:py @atom:ca + @angle:c3-c3-py @atom:c3 @atom:c3 @atom:py + @angle:c3-py-s @atom:c3 @atom:py @atom:s + @angle:ca-c-cx @atom:ca @atom:c @atom:cx + @angle:ce-ce-os @atom:ce @atom:ce @atom:os + @angle:c3-n4-cx @atom:c3 @atom:n4 @atom:cx + @angle:h4-ce-sy @atom:h4 @atom:ce @atom:sy + @angle:hx-cy-n4 @atom:hx @atom:cy @atom:n4 + @angle:cy-no-o @atom:cy @atom:no @atom:o + @angle:cc-cd-cx @atom:cc @atom:cd @atom:cx + @angle:ca-nb-na @atom:ca @atom:nb @atom:na + @angle:cl-c3-cy @atom:cl @atom:c3 @atom:cy + @angle:f-c2-h4 @atom:f @atom:c2 @atom:h4 + @angle:ca-py-s @atom:ca @atom:py @atom:s + @angle:cl-c3-cx @atom:cl @atom:c3 @atom:cx + @angle:ca-nh-cy @atom:ca @atom:nh @atom:cy + @angle:cy-cy-no @atom:cy @atom:cy @atom:no + @angle:ce-n1-n1 @atom:ce @atom:n1 @atom:n1 + @angle:cy-cy-hx @atom:cy @atom:cy @atom:hx + @angle:ce-n-hn @atom:ce @atom:n @atom:hn + @angle:c3-cx-cu @atom:c3 @atom:cx @atom:cu + @angle:cf-cf-ne @atom:cf @atom:cf @atom:ne + @angle:f-p5-na @atom:f @atom:p5 @atom:na + @angle:h4-ce-nh @atom:h4 @atom:ce @atom:nh + @angle:ne-c-s @atom:ne @atom:c @atom:s + @angle:ca-os-py @atom:ca @atom:os @atom:py + @angle:cf-ce-cl @atom:cf @atom:ce @atom:cl + @angle:cy-cy-n4 @atom:cy @atom:cy @atom:n4 + @angle:na-cc-sh @atom:na @atom:cc @atom:sh + @angle:nb-na-o @atom:nb @atom:na @atom:o + @angle:c-cx-n3 @atom:c @atom:cx @atom:n3 + @angle:cd-cy-hc @atom:cd @atom:cy @atom:hc + @angle:f-c3-no @atom:f @atom:c3 @atom:no + @angle:ce-cd-na @atom:ce @atom:cd @atom:na + @angle:cq-cp-cq @atom:cq @atom:cp @atom:cq + @angle:os-py-s @atom:os @atom:py @atom:s + @angle:c-c3-cy @atom:c @atom:c3 @atom:cy + @angle:cy-c2-ha @atom:cy @atom:c2 @atom:ha + @angle:cp-cq-cp @atom:cp @atom:cq @atom:cp + @angle:cx-cu-cx @atom:cx @atom:cu @atom:cx + @angle:cu-c2-ha @atom:cu @atom:c2 @atom:ha + @angle:cd-ce-cg @atom:cd @atom:ce @atom:cg + @angle:cf-ne-ne @atom:cf @atom:ne @atom:ne + @angle:c3-c2-no @atom:c3 @atom:c2 @atom:no + @angle:f-cy-f @atom:f @atom:cy @atom:f + @angle:c2-cy-hc @atom:c2 @atom:cy @atom:hc + @angle:c3-c2-cy @atom:c3 @atom:c2 @atom:cy + @angle:c-ce-h4 @atom:c @atom:ce @atom:h4 + @angle:cf-cc-n @atom:cf @atom:cc @atom:n + @angle:cd-cc-i @atom:cd @atom:cc @atom:i + @angle:ce-cf-cl @atom:ce @atom:cf @atom:cl + @angle:cl-c3-p5 @atom:cl @atom:c3 @atom:p5 + @angle:c2-c3-no @atom:c2 @atom:c3 @atom:no + @angle:ce-nf-nf @atom:ce @atom:nf @atom:nf + @angle:c1-c3-cx @atom:c1 @atom:c3 @atom:cx + @angle:ce-c3-h2 @atom:ce @atom:c3 @atom:h2 + @angle:na-cd-na @atom:na @atom:cd @atom:na + @angle:cx-cx-n4 @atom:cx @atom:cx @atom:n4 + @angle:c1-cx-hc @atom:c1 @atom:cx @atom:hc + @angle:cg-ca-nb @atom:cg @atom:ca @atom:nb + @angle:ce-c2-f @atom:ce @atom:c2 @atom:f + @angle:cp-ca-cq @atom:cp @atom:ca @atom:cq + @angle:cl-py-nf @atom:cl @atom:py @atom:nf + @angle:ca-c3-cy @atom:ca @atom:c3 @atom:cy + @angle:ch-cd-nd @atom:ch @atom:cd @atom:nd + @angle:h1-cy-ss @atom:h1 @atom:cy @atom:ss + @angle:h5-cc-n2 @atom:h5 @atom:cc @atom:n2 + @angle:cc-na-cy @atom:cc @atom:na @atom:cy + @angle:c-c3-no @atom:c @atom:c3 @atom:no + @angle:c3-py-c3 @atom:c3 @atom:py @atom:c3 + @angle:hx-c3-n3 @atom:hx @atom:c3 @atom:n3 + @angle:cf-cf-nh @atom:cf @atom:cf @atom:nh + @angle:c3-n3-py @atom:c3 @atom:n3 @atom:py + @angle:h5-c2-os @atom:h5 @atom:c2 @atom:os + @angle:cc-c3-ce @atom:cc @atom:c3 @atom:ce + @angle:n4-c3-p5 @atom:n4 @atom:c3 @atom:p5 + @angle:ne-cd-ss @atom:ne @atom:cd @atom:ss + @angle:na-cd-ne @atom:na @atom:cd @atom:ne + @angle:cl-c3-h3 @atom:cl @atom:c3 @atom:h3 + @angle:h5-c-s @atom:h5 @atom:c @atom:s + @angle:cf-ce-ss @atom:cf @atom:ce @atom:ss + @angle:c3-c2-f @atom:c3 @atom:c2 @atom:f + @angle:h4-c2-oh @atom:h4 @atom:c2 @atom:oh + @angle:ne-ce-nf @atom:ne @atom:ce @atom:nf + @angle:cc-n-cd @atom:cc @atom:n @atom:cd + @angle:f-py-f @atom:f @atom:py @atom:f + @angle:n-cc-os @atom:n @atom:cc @atom:os + @angle:cq-cp-nb @atom:cq @atom:cp @atom:nb + @angle:c-c-s @atom:c @atom:c @atom:s + @angle:cf-ce-os @atom:cf @atom:ce @atom:os + @angle:br-ce-c2 @atom:br @atom:ce @atom:c2 + @angle:cp-nb-na @atom:cp @atom:nb @atom:na + @angle:n-s6-oh @atom:n @atom:s6 @atom:oh + @angle:cd-c3-h2 @atom:cd @atom:c3 @atom:h2 + @angle:nb-ca-sy @atom:nb @atom:ca @atom:sy + @angle:na-sy-o @atom:na @atom:sy @atom:o + @angle:hx-cx-hx @atom:hx @atom:cx @atom:hx + @angle:cd-cf-ne @atom:cd @atom:cf @atom:ne + @angle:h5-c-oh @atom:h5 @atom:c @atom:oh + @angle:cy-n-cy @atom:cy @atom:n @atom:cy + @angle:br-c3-no @atom:br @atom:c3 @atom:no + @angle:c2-ss-s4 @atom:c2 @atom:ss @atom:s4 + @angle:c3-nh-o @atom:c3 @atom:nh @atom:o + @angle:br-cc-ss @atom:br @atom:cc @atom:ss + @angle:c-ce-ss @atom:c @atom:ce @atom:ss + @angle:c3-n-n3 @atom:c3 @atom:n @atom:n3 + @angle:h5-ca-na @atom:h5 @atom:ca @atom:na + @angle:n2-nh-oh @atom:n2 @atom:nh @atom:oh + @angle:c2-c3-p5 @atom:c2 @atom:c3 @atom:p5 + @angle:c3-cx-nh @atom:c3 @atom:cx @atom:nh + @angle:c2-cc-ss @atom:c2 @atom:cc @atom:ss + @angle:c-ca-na @atom:c @atom:ca @atom:na + @angle:cl-c2-n2 @atom:cl @atom:c2 @atom:n2 + @angle:n2-s4-ne @atom:n2 @atom:s4 @atom:ne + @angle:nc-c-s @atom:nc @atom:c @atom:s + @angle:o-sy-ss @atom:o @atom:sy @atom:ss + @angle:c2-ce-ss @atom:c2 @atom:ce @atom:ss + @angle:c3-cx-ca @atom:c3 @atom:cx @atom:ca + @angle:cc-cc-nf @atom:cc @atom:cc @atom:nf + @angle:ca-nd-cd @atom:ca @atom:nd @atom:cd + @angle:cc-n2-oh @atom:cc @atom:n2 @atom:oh + @angle:ca-os-sy @atom:ca @atom:os @atom:sy + @angle:hx-c3-p5 @atom:hx @atom:c3 @atom:p5 + @angle:ca-ce-n @atom:ca @atom:ce @atom:n + @angle:h4-ce-sx @atom:h4 @atom:ce @atom:sx + @angle:c3-ce-ne @atom:c3 @atom:ce @atom:ne + @angle:c1-n1-ce @atom:c1 @atom:n1 @atom:ce + @angle:c3-n2-cd @atom:c3 @atom:n2 @atom:cd + @angle:cc-c3-h2 @atom:cc @atom:c3 @atom:h2 + @angle:ca-ce-cg @atom:ca @atom:ce @atom:cg + @angle:c2-cc-na @atom:c2 @atom:cc @atom:na + @angle:ca-c3-s4 @atom:ca @atom:c3 @atom:s4 + @angle:n2-cf-nf @atom:n2 @atom:cf @atom:nf + @angle:ce-cf-ss @atom:ce @atom:cf @atom:ss + @angle:c3-cx-ss @atom:c3 @atom:cx @atom:ss + @angle:nh-ce-nh @atom:nh @atom:ce @atom:nh + @angle:cd-c-ne @atom:cd @atom:c @atom:ne + @angle:na-c3-ss @atom:na @atom:c3 @atom:ss + @angle:cf-cf-os @atom:cf @atom:cf @atom:os + @angle:cx-c3-h2 @atom:cx @atom:c3 @atom:h2 + @angle:cv-ss-cy @atom:cv @atom:ss @atom:cy + @angle:ss-cy-ss @atom:ss @atom:cy @atom:ss + @angle:ce-cx-os @atom:ce @atom:cx @atom:os + @angle:nb-ca-ne @atom:nb @atom:ca @atom:ne + @angle:br-ca-nb @atom:br @atom:ca @atom:nb + @angle:c3-nh-os @atom:c3 @atom:nh @atom:os + @angle:c2-nh-p5 @atom:c2 @atom:nh @atom:p5 + @angle:br-ca-cp @atom:br @atom:ca @atom:cp + @angle:cc-ce-cc @atom:cc @atom:ce @atom:cc + @angle:c3-nh-s6 @atom:c3 @atom:nh @atom:s6 + @angle:cx-c3-na @atom:cx @atom:c3 @atom:na + @angle:ca-os-p3 @atom:ca @atom:os @atom:p3 + @angle:ce-cf-sy @atom:ce @atom:cf @atom:sy + @angle:ca-n2-n1 @atom:ca @atom:n2 @atom:n1 + @angle:cd-cd-no @atom:cd @atom:cd @atom:no + @angle:na-n2-os @atom:na @atom:n2 @atom:os + @angle:ce-c3-f @atom:ce @atom:c3 @atom:f + @angle:cx-cc-na @atom:cx @atom:cc @atom:na + @angle:n-n2-na @atom:n @atom:n2 @atom:na + @angle:c3-cf-cc @atom:c3 @atom:cf @atom:cc + @angle:ca-na-cy @atom:ca @atom:na @atom:cy + @angle:h1-c3-py @atom:h1 @atom:c3 @atom:py + @angle:cy-s6-cy @atom:cy @atom:s6 @atom:cy + @angle:ce-ce-s4 @atom:ce @atom:ce @atom:s4 + @angle:c3-p3-cy @atom:c3 @atom:p3 @atom:cy + @angle:h2-cx-os @atom:h2 @atom:cx @atom:os + @angle:c-c-ce @atom:c @atom:c @atom:ce + @angle:ce-cy-h1 @atom:ce @atom:cy @atom:h1 + @angle:cx-c3-ss @atom:cx @atom:c3 @atom:ss + @angle:cg-ce-ss @atom:cg @atom:ce @atom:ss + @angle:br-cy-cy @atom:br @atom:cy @atom:cy + @angle:c-cy-cl @atom:c @atom:cy @atom:cl + @angle:c-cx-n @atom:c @atom:cx @atom:n + @angle:br-c3-f @atom:br @atom:c3 @atom:f + @angle:c3-n4-cy @atom:c3 @atom:n4 @atom:cy + @angle:ce-cv-ss @atom:ce @atom:cv @atom:ss + @angle:cc-cd-i @atom:cc @atom:cd @atom:i + @angle:c2-ss-ca @atom:c2 @atom:ss @atom:ca + @angle:c-cx-ce @atom:c @atom:cx @atom:ce + @angle:cy-nh-cy @atom:cy @atom:nh @atom:cy + @angle:cx-c-h4 @atom:cx @atom:c @atom:h4 + @angle:c-n4-c3 @atom:c @atom:n4 @atom:c3 + @angle:f-cy-py @atom:f @atom:cy @atom:py + @angle:n2-c3-ss @atom:n2 @atom:c3 @atom:ss + @angle:c3-ss-cf @atom:c3 @atom:ss @atom:cf + @angle:ce-cy-hc @atom:ce @atom:cy @atom:hc + @angle:br-cc-nc @atom:br @atom:cc @atom:nc + @angle:h3-c3-n @atom:h3 @atom:c3 @atom:n + @angle:ca-ne-cd @atom:ca @atom:ne @atom:cd + @angle:cx-n-cy @atom:cx @atom:n @atom:cy + @angle:cl-c3-s4 @atom:cl @atom:c3 @atom:s4 + @angle:cp-cq-nb @atom:cp @atom:cq @atom:nb + @angle:cc-cd-o @atom:cc @atom:cd @atom:o + @angle:hx-cy-hx @atom:hx @atom:cy @atom:hx + @angle:cc-na-sy @atom:cc @atom:na @atom:sy + @angle:h1-cy-na @atom:h1 @atom:cy @atom:na + @angle:h4-cf-sy @atom:h4 @atom:cf @atom:sy + @angle:c-p5-c3 @atom:c @atom:p5 @atom:c3 + @angle:ca-c-nc @atom:ca @atom:c @atom:nc + @angle:c3-os-sy @atom:c3 @atom:os @atom:sy + @angle:cd-ne-sy @atom:cd @atom:ne @atom:sy + @angle:cx-ca-nb @atom:cx @atom:ca @atom:nb + @angle:nc-ss-ss @atom:nc @atom:ss @atom:ss + @angle:hp-p5-os @atom:hp @atom:p5 @atom:os + @angle:ca-n-oh @atom:ca @atom:n @atom:oh + @angle:c3-s6-ne @atom:c3 @atom:s6 @atom:ne + @angle:c1-cx-h1 @atom:c1 @atom:cx @atom:h1 + @angle:na-c3-oh @atom:na @atom:c3 @atom:oh + @angle:n-nc-nd @atom:n @atom:nc @atom:nd + @angle:c3-na-nb @atom:c3 @atom:na @atom:nb + @angle:ne-c-os @atom:ne @atom:c @atom:os + @angle:br-ce-ce @atom:br @atom:ce @atom:ce + @angle:cc-c2-oh @atom:cc @atom:c2 @atom:oh + @angle:c1-cx-os @atom:c1 @atom:cx @atom:os + @angle:nc-cc-os @atom:nc @atom:cc @atom:os + @angle:br-ce-cf @atom:br @atom:ce @atom:cf + @angle:cy-c3-f @atom:cy @atom:c3 @atom:f + @angle:h5-ce-ne @atom:h5 @atom:ce @atom:ne + @angle:n3-py-n3 @atom:n3 @atom:py @atom:n3 + @angle:br-cc-ca @atom:br @atom:cc @atom:ca + @angle:f-c3-na @atom:f @atom:c3 @atom:na + @angle:cc-c3-s4 @atom:cc @atom:c3 @atom:s4 + @angle:ce-cf-sx @atom:ce @atom:cf @atom:sx + @angle:cc-cc-i @atom:cc @atom:cc @atom:i + @angle:c-cg-ch @atom:c @atom:cg @atom:ch + @angle:ce-c3-hx @atom:ce @atom:c3 @atom:hx + @angle:cd-na-cy @atom:cd @atom:na @atom:cy + @angle:br-c3-c2 @atom:br @atom:c3 @atom:c2 + @angle:ce-ce-cg @atom:ce @atom:ce @atom:cg + @angle:cl-cd-nd @atom:cl @atom:cd @atom:nd + @angle:n-ca-na @atom:n @atom:ca @atom:na + @angle:cx-cd-nd @atom:cx @atom:cd @atom:nd + @angle:cl-p5-os @atom:cl @atom:p5 @atom:os + @angle:cx-ss-cy @atom:cx @atom:ss @atom:cy + @angle:cc-cg-ch @atom:cc @atom:cg @atom:ch + @angle:cc-sy-oh @atom:cc @atom:sy @atom:oh + @angle:cq-ca-os @atom:cq @atom:ca @atom:os + @angle:ca-cd-ca @atom:ca @atom:cd @atom:ca + @angle:f-py-nf @atom:f @atom:py @atom:nf + @angle:ca-nh-cf @atom:ca @atom:nh @atom:cf + @angle:cf-cx-cx @atom:cf @atom:cx @atom:cx + @angle:py-nf-py @atom:py @atom:nf @atom:py + @angle:c-cc-ss @atom:c @atom:cc @atom:ss + @angle:cc-na-cx @atom:cc @atom:na @atom:cx + @angle:c2-cf-cx @atom:c2 @atom:cf @atom:cx + @angle:ce-cd-os @atom:ce @atom:cd @atom:os + @angle:cd-cc-cx @atom:cd @atom:cc @atom:cx + @angle:cf-n1-n1 @atom:cf @atom:n1 @atom:n1 + @angle:cf-n-hn @atom:cf @atom:n @atom:hn + @angle:ce-ce-nf @atom:ce @atom:ce @atom:nf + @angle:cf-no-o @atom:cf @atom:no @atom:o + @angle:h4-cf-nh @atom:h4 @atom:cf @atom:nh + @angle:nf-c-s @atom:nf @atom:c @atom:s + @angle:na-cd-sh @atom:na @atom:cd @atom:sh + @angle:cc-cy-hc @atom:cc @atom:cy @atom:hc + @angle:cf-cc-na @atom:cf @atom:cc @atom:na + @angle:c-cf-h4 @atom:c @atom:cf @atom:h4 + @angle:ce-cd-n @atom:ce @atom:cd @atom:n + @angle:cf-c3-h2 @atom:cf @atom:c3 @atom:h2 + @angle:na-cc-na @atom:na @atom:cc @atom:na + @angle:ch-ca-nb @atom:ch @atom:ca @atom:nb + @angle:cf-c2-f @atom:cf @atom:c2 @atom:f + @angle:cg-cc-nc @atom:cg @atom:cc @atom:nc + @angle:h5-cd-n2 @atom:h5 @atom:cd @atom:n2 + @angle:cd-c3-cf @atom:cd @atom:c3 @atom:cf + @angle:nf-cc-ss @atom:nf @atom:cc @atom:ss + @angle:na-cc-nf @atom:na @atom:cc @atom:nf + @angle:nf-cf-ne @atom:nf @atom:cf @atom:ne + @angle:n-cd-os @atom:n @atom:cd @atom:os + @angle:ce-cf-os @atom:ce @atom:cf @atom:os + @angle:br-cf-c2 @atom:br @atom:cf @atom:c2 + @angle:cq-nb-na @atom:cq @atom:nb @atom:na + @angle:cc-ce-nf @atom:cc @atom:ce @atom:nf + @angle:cf-s4-ss @atom:cf @atom:s4 @atom:ss + @angle:br-cd-ss @atom:br @atom:cd @atom:ss + @angle:c-cf-ss @atom:c @atom:cf @atom:ss + @angle:c2-cd-ss @atom:c2 @atom:cd @atom:ss + @angle:n2-s4-nf @atom:n2 @atom:s4 @atom:nf + @angle:nd-c-s @atom:nd @atom:c @atom:s + @angle:c2-cf-ss @atom:c2 @atom:cf @atom:ss + @angle:cd-cd-ne @atom:cd @atom:cd @atom:ne + @angle:ca-nc-cc @atom:ca @atom:nc @atom:cc + @angle:cd-n2-oh @atom:cd @atom:n2 @atom:oh + @angle:ca-cf-n @atom:ca @atom:cf @atom:n + @angle:h4-cf-sx @atom:h4 @atom:cf @atom:sx + @angle:c3-cf-nf @atom:c3 @atom:cf @atom:nf + @angle:c1-n1-cf @atom:c1 @atom:n1 @atom:cf + @angle:c3-n2-cc @atom:c3 @atom:n2 @atom:cc + @angle:ca-cf-ch @atom:ca @atom:cf @atom:ch + @angle:c2-cd-na @atom:c2 @atom:cd @atom:na + @angle:n2-ce-ne @atom:n2 @atom:ce @atom:ne + @angle:nh-cf-nh @atom:nh @atom:cf @atom:nh + @angle:cc-c-nf @atom:cc @atom:c @atom:nf + @angle:cf-cx-os @atom:cf @atom:cx @atom:os + @angle:nb-ca-nf @atom:nb @atom:ca @atom:nf + @angle:br-ca-cq @atom:br @atom:ca @atom:cq + @angle:cd-cf-cd @atom:cd @atom:cf @atom:cd + @angle:cf-ce-sy @atom:cf @atom:ce @atom:sy + @angle:cc-cc-no @atom:cc @atom:cc @atom:no + @angle:cf-c3-f @atom:cf @atom:c3 @atom:f + @angle:cx-cd-na @atom:cx @atom:cd @atom:na + @angle:c3-ce-cd @atom:c3 @atom:ce @atom:cd + @angle:cf-cf-s4 @atom:cf @atom:cf @atom:s4 + @angle:c-c-cf @atom:c @atom:c @atom:cf + @angle:cf-cy-h1 @atom:cf @atom:cy @atom:h1 + @angle:ch-cf-ss @atom:ch @atom:cf @atom:ss + @angle:cf-cv-ss @atom:cf @atom:cv @atom:ss + @angle:c-cx-cf @atom:c @atom:cx @atom:cf + @angle:c3-ss-ce @atom:c3 @atom:ss @atom:ce + @angle:cf-cy-hc @atom:cf @atom:cy @atom:hc + @angle:br-cd-nd @atom:br @atom:cd @atom:nd + @angle:ca-nf-cc @atom:ca @atom:nf @atom:cc + @angle:cd-cc-o @atom:cd @atom:cc @atom:o + @angle:cd-na-sy @atom:cd @atom:na @atom:sy + @angle:ca-c-nd @atom:ca @atom:c @atom:nd + @angle:cc-nf-sy @atom:cc @atom:nf @atom:sy + @angle:nd-ss-ss @atom:nd @atom:ss @atom:ss + @angle:c3-s6-nf @atom:c3 @atom:s6 @atom:nf + @angle:n-nd-nc @atom:n @atom:nd @atom:nc + @angle:nf-c-os @atom:nf @atom:c @atom:os + @angle:br-cf-cf @atom:br @atom:cf @atom:cf + @angle:cd-c2-oh @atom:cd @atom:c2 @atom:oh + @angle:nd-cd-os @atom:nd @atom:cd @atom:os + @angle:br-cf-ce @atom:br @atom:cf @atom:ce + @angle:h5-cf-nf @atom:h5 @atom:cf @atom:nf + @angle:br-cd-ca @atom:br @atom:cd @atom:ca + @angle:cd-c3-s4 @atom:cd @atom:c3 @atom:s4 + @angle:cf-ce-sx @atom:cf @atom:ce @atom:sx + @angle:cd-cd-i @atom:cd @atom:cd @atom:i + @angle:c-ch-cg @atom:c @atom:ch @atom:cg + @angle:cf-c3-hx @atom:cf @atom:c3 @atom:hx + @angle:cf-cf-ch @atom:cf @atom:cf @atom:ch + @angle:cl-cc-nc @atom:cl @atom:cc @atom:nc + @angle:cx-cc-nc @atom:cx @atom:cc @atom:nc + @angle:cd-ch-cg @atom:cd @atom:ch @atom:cg + @angle:cd-sy-oh @atom:cd @atom:sy @atom:oh + } # (end of Angles By Type) + + write_once("In Settings") { + dihedral_coeff @dihedral:X-c-c-X fourier 1 0.3 2 180.0 + dihedral_coeff @dihedral:X-c-c1-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c-cg-X fourier 1 0.0 2 180.0 # same as X-c-c1-X + dihedral_coeff @dihedral:X-c-ch-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c-c2-X fourier 1 2.175 2 180.0 # intrpol.bsd.on C6H6 + dihedral_coeff @dihedral:X-c-cu-X fourier 1 2.175 2 180.0 # intrpol.bsd.on C6H6 + dihedral_coeff @dihedral:X-c-cv-X fourier 1 2.175 2 180.0 # intrpol.bsd.on C6H6 + dihedral_coeff @dihedral:X-c-ce-X fourier 1 2.175 2 180.0 # intrpol.bsd.on C6H6 + dihedral_coeff @dihedral:X-c-cf-X fourier 1 2.175 2 180.0 # intrpol.bsd.on C6H6 + dihedral_coeff @dihedral:X-c-c3-X fourier 1 0.0 2 180.0 # JCC, 7, (1986), 230 + dihedral_coeff @dihedral:X-c-cx-X fourier 1 0.0 2 180.0 # JCC, 7, (1986), 230 + dihedral_coeff @dihedral:X-c-cy-X fourier 1 0.0 2 180.0 # JCC, 7, (1986), 230 + dihedral_coeff @dihedral:X-c-ca-X fourier 1 1.0 2 180.0 # optimized by Junmei Wang, Jan-2013 + dihedral_coeff @dihedral:X-c-cc-X fourier 1 2.875 2 180.0 # statistic value + dihedral_coeff @dihedral:X-c-cd-X fourier 1 2.875 2 180.0 # statistic value + dihedral_coeff @dihedral:X-c-n-X fourier 1 2.5 2 180.0 # AA,NMA (no c-n3, c-n4, c-nh) + dihedral_coeff @dihedral:X-c-n2-X fourier 1 4.15 2 180.0 # double bond, same as X-c2-n2-X + dihedral_coeff @dihedral:X-c-nc-X fourier 1 4.0 2 180.0 # same as X-C-NC-X + dihedral_coeff @dihedral:X-c-nd-X fourier 1 4.0 2 180.0 # same as X-C-NC-X + dihedral_coeff @dihedral:X-c-ne-X fourier 1 0.2 2 180.0 # single bond + dihedral_coeff @dihedral:X-c-nf-X fourier 1 0.2 2 180.0 # single bond + dihedral_coeff @dihedral:X-c-na-X fourier 2 1.45 2 180.0 0.35 4 180.0 + dihedral_coeff @dihedral:X-c-no-X fourier 1 0.45 2 180.0 + dihedral_coeff @dihedral:X-c-oh-X fourier 1 2.3 2 180.0 # Junmei et al, 1999 + dihedral_coeff @dihedral:X-c-os-X fourier 1 2.7 2 180.0 # Junmei et al, 1999 + dihedral_coeff @dihedral:X-c-p2-X fourier 1 6.65 2 180.0 # double bond, same as X-c2-p2-X + dihedral_coeff @dihedral:X-c-pc-X fourier 1 2.0 2 180.0 # estimated + dihedral_coeff @dihedral:X-c-pd-X fourier 1 2.0 2 180.0 # estimated + dihedral_coeff @dihedral:X-c-pe-X fourier 1 0.0 2 180.0 # single bond + dihedral_coeff @dihedral:X-c-pf-X fourier 1 0.0 2 180.0 # single bond + dihedral_coeff @dihedral:X-c-p3-X fourier 1 1.55 2 180.0 + dihedral_coeff @dihedral:X-c-p4-X fourier 1 1.35 2 180.0 + dihedral_coeff @dihedral:X-c-px-X fourier 1 1.35 2 180.0 + dihedral_coeff @dihedral:X-c-p5-X fourier 1 1.0 2 0.0 + dihedral_coeff @dihedral:X-c-py-X fourier 1 1.0 2 0.0 + dihedral_coeff @dihedral:X-c-sh-X fourier 1 2.25 2 180.0 + dihedral_coeff @dihedral:X-c-ss-X fourier 1 3.1 2 180.0 + dihedral_coeff @dihedral:X-c-s4-X fourier 1 0.2 2 180.0 + dihedral_coeff @dihedral:X-c-sx-X fourier 1 0.2 2 180.0 + dihedral_coeff @dihedral:X-c-s6-X fourier 1 0.5 2 0.0 + dihedral_coeff @dihedral:X-c-sy-X fourier 1 0.5 2 0.0 + dihedral_coeff @dihedral:X-c1-c1-X fourier 1 0.0 2 180.0 # for both triple and single bonds + dihedral_coeff @dihedral:X-c1-cg-X fourier 1 0.0 2 180.0 # for both triple and single bonds + dihedral_coeff @dihedral:X-c1-ch-X fourier 1 0.0 2 180.0 # for both triple and single bonds + dihedral_coeff @dihedral:X-cg-cg-X fourier 1 0.0 2 180.0 # for both triple and single bonds + dihedral_coeff @dihedral:X-ch-ch-X fourier 1 0.0 2 180.0 # for both triple and single bonds + dihedral_coeff @dihedral:X-cg-ch-X fourier 1 0.0 2 180.0 # for both triple and single bonds + dihedral_coeff @dihedral:X-c1-c2-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-c3-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-ca-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-cc-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-cd-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-ce-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-cf-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-cu-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-cv-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-cx-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-cy-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-n-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-n2-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-n3-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-n4-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-na-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-nb-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-nc-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-nd-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-ne-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-nf-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-nh-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-no-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-oh-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-os-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-p2-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-pb-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-pc-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-pd-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-pe-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-pf-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-p3-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-p4-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-px-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-p5-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-py-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-s2-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-sh-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-ss-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-s4-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-sx-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-s6-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c1-sy-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-c2-c2-X fourier 1 6.65 2 180.0 # c2=c2 double bond, intrpol.bsd.on C6H6 + dihedral_coeff @dihedral:X-c2-ce-X fourier 1 6.65 2 180.0 # c2=c2 double bond, intrpol.bsd.on C6H6 + dihedral_coeff @dihedral:X-c2-cf-X fourier 1 6.65 2 180.0 # c2=c2 double bond, intrpol.bsd.on C6H6 + dihedral_coeff @dihedral:X-ce-cf-X fourier 1 6.65 2 180.0 # c2=c2 double bond, intrpol.bsd.on C6H6 + dihedral_coeff @dihedral:X-ce-ce-X fourier 1 1.0 2 180.0 # c2-c2 single bond, parm99 + dihedral_coeff @dihedral:X-cf-cf-X fourier 1 1.0 2 180.0 # c2-c2 single bond, parm99 + dihedral_coeff @dihedral:X-cc-cd-X fourier 1 4.0 2 180.0 # statistic value of parm94 + dihedral_coeff @dihedral:X-cc-cc-X fourier 1 4.0 2 180.0 # statistic value of parm94 + dihedral_coeff @dihedral:X-cd-cd-X fourier 1 4.0 2 180.0 # statistic value of parm94 + dihedral_coeff @dihedral:X-c2-c3-X fourier 1 0.0 2 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-c2-ca-X fourier 1 0.7 2 180.0 # optimized by Junmei Wang, March 2013 + dihedral_coeff @dihedral:X-c2-n-X fourier 1 0.65 2 180.0 + dihedral_coeff @dihedral:X-c2-n2-X fourier 1 4.15 2 180.0 # double bond, parm99 + dihedral_coeff @dihedral:X-c2-ne-X fourier 1 4.15 2 180.0 # double bond, parm99 + dihedral_coeff @dihedral:X-c2-nf-X fourier 1 4.15 2 180.0 # double bond, parm99 + dihedral_coeff @dihedral:X-ce-ne-X fourier 1 0.8 2 180.0 # single bond + dihedral_coeff @dihedral:X-cf-nf-X fourier 1 0.8 2 180.0 # single bond + dihedral_coeff @dihedral:X-c2-nc-X fourier 1 4.75 2 180.0 # statistic value from parm94 + dihedral_coeff @dihedral:X-c2-nd-X fourier 1 4.75 2 180.0 # statistic value from parm94 + dihedral_coeff @dihedral:X-cc-nd-X fourier 1 4.75 2 180.0 # statistic value from parm94 + dihedral_coeff @dihedral:X-cd-nc-X fourier 1 4.75 2 180.0 # statistiv value from parm94 + dihedral_coeff @dihedral:X-cc-nc-X fourier 1 4.75 2 180.0 # statistic value from parm94 + dihedral_coeff @dihedral:X-cd-nd-X fourier 1 4.75 2 180.0 # statistiv value from parm94 + dihedral_coeff @dihedral:X-c2-n3-X fourier 1 0.3 2 180.0 # intrpol. + dihedral_coeff @dihedral:X-c2-n4-X fourier 1 0.0 3 180.0 # intrpol. + dihedral_coeff @dihedral:X-c2-na-X fourier 1 0.625 2 180.0 + dihedral_coeff @dihedral:X-cc-na-X fourier 1 1.7 2 180.0 # statistic value from parm94 + dihedral_coeff @dihedral:X-cd-na-X fourier 1 1.7 2 180.0 # statistic value from parm94 + dihedral_coeff @dihedral:X-c2-nh-X fourier 1 0.675 2 180.0 + dihedral_coeff @dihedral:X-c2-no-X fourier 1 0.75 2 180.0 + dihedral_coeff @dihedral:X-c2-oh-X fourier 1 1.05 2 180.0 # parm99 + dihedral_coeff @dihedral:X-c2-os-X fourier 1 1.05 2 180.0 # parm99 + dihedral_coeff @dihedral:X-c2-p2-X fourier 1 6.65 2 180.0 # double bond + dihedral_coeff @dihedral:X-c2-pe-X fourier 1 6.65 2 180.0 # double bond + dihedral_coeff @dihedral:X-c2-pf-X fourier 1 6.65 2 180.0 # double bond + dihedral_coeff @dihedral:X-ce-pf-X fourier 1 6.65 2 180.0 # double bond + dihedral_coeff @dihedral:X-ce-pe-X fourier 1 0.95 2 180.0 # single bond + dihedral_coeff @dihedral:X-cf-pf-X fourier 1 0.95 2 180.0 # single bond + dihedral_coeff @dihedral:X-c2-pc-X fourier 1 4.75 2 180.0 # estimated + dihedral_coeff @dihedral:X-c2-pd-X fourier 1 4.75 2 180.0 # estimated + dihedral_coeff @dihedral:X-cc-pc-X fourier 1 4.75 2 180.0 # estimated + dihedral_coeff @dihedral:X-cc-pd-X fourier 1 4.75 2 180.0 # estimated + dihedral_coeff @dihedral:X-cd-pc-X fourier 1 4.75 2 180.0 # estimated + dihedral_coeff @dihedral:X-cd-pd-X fourier 1 4.75 2 180.0 # estimated + dihedral_coeff @dihedral:X-c2-p3-X fourier 1 0.45 2 180.0 + dihedral_coeff @dihedral:X-c2-p4-X fourier 1 6.65 2 180.0 # c2=p4 double bond !!! + dihedral_coeff @dihedral:X-ce-p4-X fourier 1 6.65 2 180.0 # c2=p4 double bond !!! + dihedral_coeff @dihedral:X-cf-p4-X fourier 1 6.65 2 180.0 # c2=p4 double bond !!! + dihedral_coeff @dihedral:X-c2-px-X fourier 1 0.325 2 0.0 + dihedral_coeff @dihedral:X-ce-px-X fourier 1 0.325 2 0.0 + dihedral_coeff @dihedral:X-cf-px-X fourier 1 0.325 2 0.0 + dihedral_coeff @dihedral:X-c2-p5-X fourier 1 6.65 2 180.0 # c2=p5 double bond !!! + dihedral_coeff @dihedral:X-ce-p5-X fourier 1 6.65 2 180.0 # c2=p5 double bond !!! + dihedral_coeff @dihedral:X-cf-p5-X fourier 1 6.65 2 180.0 # c2=p5 double bond !!! + dihedral_coeff @dihedral:X-c2-py-X fourier 1 1.43333333333 2 180.0 + dihedral_coeff @dihedral:X-ce-py-X fourier 1 1.43333333333 2 180.0 + dihedral_coeff @dihedral:X-cf-py-X fourier 1 1.43333333333 2 180.0 + dihedral_coeff @dihedral:X-c2-sh-X fourier 1 0.5 2 180.0 + dihedral_coeff @dihedral:X-c2-ss-X fourier 1 1.1 2 180.0 + dihedral_coeff @dihedral:X-c2-s4-X fourier 1 6.65 2 180.0 # c2=s4 double bond !!! + dihedral_coeff @dihedral:X-ce-s4-X fourier 1 6.65 2 180.0 # c2=s4 double bond !!! + dihedral_coeff @dihedral:X-cf-s4-X fourier 1 6.65 2 180.0 # c2=s4 double bond !!! + dihedral_coeff @dihedral:X-c2-sx-X fourier 1 0.6 2 0.0 + dihedral_coeff @dihedral:X-ce-sx-X fourier 1 0.6 2 0.0 + dihedral_coeff @dihedral:X-cf-sx-X fourier 1 0.6 2 0.0 + dihedral_coeff @dihedral:X-c2-s6-X fourier 1 6.65 2 180.0 # c2=s6 double bond !!! + dihedral_coeff @dihedral:X-ce-s6-X fourier 1 6.65 2 180.0 # c2=s6 double bond !!! + dihedral_coeff @dihedral:X-cf-s6-X fourier 1 6.65 2 180.0 # c2=s6 double bond !!! + dihedral_coeff @dihedral:X-c2-sy-X fourier 1 1.26666666667 2 180.0 + dihedral_coeff @dihedral:X-ce-sy-X fourier 1 1.26666666667 2 180.0 + dihedral_coeff @dihedral:X-cf-sy-X fourier 1 1.26666666667 2 180.0 + dihedral_coeff @dihedral:X-c3-c3-X fourier 1 0.155555555556 3 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-cx-cx-X fourier 1 0.155555555556 3 0.0 # same as X-c3-c3-X + dihedral_coeff @dihedral:X-cy-cy-X fourier 1 0.155555555556 3 0.0 # same as X-c3-c3-X + dihedral_coeff @dihedral:X-c3-ca-X fourier 1 0.0 2 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-c3-n-X fourier 1 0.0 2 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-cx-n-X fourier 1 0.0 2 0.0 # same as X-c3-n-X + dihedral_coeff @dihedral:X-cy-n-X fourier 1 0.0 2 0.0 # same as X-c3-n-X + dihedral_coeff @dihedral:X-c3-n2-X fourier 1 0.0 3 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-c3-ne-X fourier 1 0.0 3 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-c3-nf-X fourier 1 0.0 3 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-c3-n3-X fourier 1 0.3 3 0.0 # Junmei et al, 1999 + dihedral_coeff @dihedral:X-c3-n4-X fourier 1 0.155555555556 3 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-c3-na-X fourier 1 0.0 2 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-c3-nh-X fourier 1 0.0 2 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-c3-no-X fourier 1 0.0 2 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-c3-oh-X fourier 1 0.166666666667 3 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-c3-os-X fourier 1 0.383333333333 3 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-c3-p2-X fourier 1 0.266666666667 2 180.0 + dihedral_coeff @dihedral:X-c3-pe-X fourier 1 0.266666666667 2 180.0 + dihedral_coeff @dihedral:X-c3-pf-X fourier 1 0.266666666667 2 180.0 + dihedral_coeff @dihedral:X-c3-p3-X fourier 1 0.133333333333 3 0.0 + dihedral_coeff @dihedral:X-c3-p4-X fourier 1 0.133333333333 3 0.0 + dihedral_coeff @dihedral:X-c3-px-X fourier 1 0.133333333333 3 0.0 + dihedral_coeff @dihedral:X-c3-p5-X fourier 1 0.0222222222222 3 0.0 + dihedral_coeff @dihedral:X-c3-py-X fourier 1 0.0222222222222 3 0.0 + dihedral_coeff @dihedral:X-c3-sh-X fourier 1 0.25 3 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-c3-ss-X fourier 1 0.333333333333 3 0.0 # JCC,7,(1986),230 + dihedral_coeff @dihedral:X-c3-s4-X fourier 1 0.2 3 0.0 + dihedral_coeff @dihedral:X-c3-sx-X fourier 1 0.2 3 0.0 + dihedral_coeff @dihedral:X-c3-s6-X fourier 1 0.144444444444 3 0.0 + dihedral_coeff @dihedral:X-c3-sy-X fourier 1 0.144444444444 3 0.0 + dihedral_coeff @dihedral:X-c3-cc-X fourier 1 0.0 3 0.0 # same as X-c3-ca-X + dihedral_coeff @dihedral:X-c3-cd-X fourier 1 0.0 3 0.0 # same as X-c3-ca-X + dihedral_coeff @dihedral:X-ca-ca-X fourier 1 3.625 2 180.0 # intrpol.bsd.on C6H6 + dihedral_coeff @dihedral:X-ca-cp-X fourier 1 3.625 2 180.0 # intrpol.bsd.on C6H6 + dihedral_coeff @dihedral:X-ca-cq-X fourier 1 3.625 2 180.0 # intrpol.bsd.on C6H6 + dihedral_coeff @dihedral:X-cp-cp-X fourier 1 1.0 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-cq-cq-X fourier 1 1.0 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-ca-n-X fourier 1 0.45 2 180.0 + dihedral_coeff @dihedral:X-ca-n2-X fourier 1 0.0 3 180.0 + dihedral_coeff @dihedral:X-ca-ne-X fourier 1 0.0 3 180.0 + dihedral_coeff @dihedral:X-ca-nf-X fourier 1 0.0 3 180.0 + dihedral_coeff @dihedral:X-ca-n4-X fourier 1 1.75 2 0.0 + dihedral_coeff @dihedral:X-ca-na-X fourier 1 0.3 2 180.0 + dihedral_coeff @dihedral:X-ca-nb-X fourier 1 4.8 2 180.0 # same as X-CA-NC-X + dihedral_coeff @dihedral:X-ca-nc-X fourier 1 4.8 2 180.0 # same as X-CA-NC-X + dihedral_coeff @dihedral:X-ca-nd-X fourier 1 4.8 2 180.0 # same as X-CA-NC-X + dihedral_coeff @dihedral:X-ca-nh-X fourier 1 1.05 2 180.0 + dihedral_coeff @dihedral:X-cc-nh-X fourier 1 1.05 2 180.0 # same as X-ca-nh-X + dihedral_coeff @dihedral:X-cd-nh-X fourier 1 1.05 2 180.0 # same as X-ca-nh-X + dihedral_coeff @dihedral:X-ca-no-X fourier 1 0.6 2 180.0 + dihedral_coeff @dihedral:X-ca-oh-X fourier 1 0.9 2 180.0 # Junmei et al, 99 + dihedral_coeff @dihedral:X-ca-os-X fourier 1 0.9 2 180.0 # same as X-ca-oh-X + dihedral_coeff @dihedral:X-ca-p2-X fourier 1 0.6 2 180.0 + dihedral_coeff @dihedral:X-ca-pe-X fourier 1 0.6 2 180.0 # same as X-ca-p2-X + dihedral_coeff @dihedral:X-ca-pf-X fourier 1 0.6 2 180.0 # same as X-ca-p2-X + dihedral_coeff @dihedral:X-ca-pc-X fourier 1 4.8 2 180.0 # estimated, intrpol + dihedral_coeff @dihedral:X-ca-pd-X fourier 1 4.8 2 180.0 # estimated, intrpol + dihedral_coeff @dihedral:X-ca-p3-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-ca-p4-X fourier 1 0.525 2 180.0 + dihedral_coeff @dihedral:X-ca-px-X fourier 1 0.525 2 180.0 # estimated, same as X-ca-p4-X + dihedral_coeff @dihedral:X-ca-p5-X fourier 1 1.46666666667 2 180.0 + dihedral_coeff @dihedral:X-ca-py-X fourier 1 1.46666666667 2 180.0 # estimated, same as X-ca-p5-X + dihedral_coeff @dihedral:X-ca-sh-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-ca-ss-X fourier 1 0.4 2 180.0 + dihedral_coeff @dihedral:X-ca-s4-X fourier 1 0.3 2 0.0 + dihedral_coeff @dihedral:X-ca-sx-X fourier 1 0.3 2 0.0 # estimated, same as X-ca-s4-X + dihedral_coeff @dihedral:X-ca-s6-X fourier 1 1.3 2 180.0 + dihedral_coeff @dihedral:X-ca-sy-X fourier 1 1.3 2 180.0 # estimated, same as X-ca-s6-X + dihedral_coeff @dihedral:X-n-cc-X fourier 1 1.65 2 180.0 # statistic value from parm94 + dihedral_coeff @dihedral:X-n-cd-X fourier 1 1.65 2 180.0 # statistic value from parm94 + dihedral_coeff @dihedral:X-n-n-X fourier 1 1.15 2 0.0 + dihedral_coeff @dihedral:X-n-n2-X fourier 1 0.4 2 0.0 + dihedral_coeff @dihedral:X-n-ne-X fourier 1 0.4 2 0.0 + dihedral_coeff @dihedral:X-n-nf-X fourier 1 0.4 2 0.0 + dihedral_coeff @dihedral:X-n-n3-X fourier 1 1.075 2 0.0 + dihedral_coeff @dihedral:X-n-n4-X fourier 1 0.95 2 0.0 + dihedral_coeff @dihedral:X-n-na-X fourier 1 0.7 2 0.0 + dihedral_coeff @dihedral:X-n-nc-X fourier 1 4.8 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-n-nd-X fourier 1 4.8 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-n-nh-X fourier 1 1.1 2 0.0 + dihedral_coeff @dihedral:X-n-no-X fourier 1 1.375 2 180.0 + dihedral_coeff @dihedral:X-n-oh-X fourier 1 1.5 2 0.0 + dihedral_coeff @dihedral:X-n-os-X fourier 1 1.1 2 0.0 + dihedral_coeff @dihedral:X-n-p2-X fourier 1 1.0 2 180.0 + dihedral_coeff @dihedral:X-n-pe-X fourier 1 1.0 2 180.0 + dihedral_coeff @dihedral:X-n-pf-X fourier 1 1.0 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-n-pc-X fourier 1 4.8 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-n-pd-X fourier 1 4.8 2 180.0 + dihedral_coeff @dihedral:X-n-p3-X fourier 1 2.25 2 0.0 + dihedral_coeff @dihedral:X-n-p4-X fourier 1 0.325 2 0.0 + dihedral_coeff @dihedral:X-n-px-X fourier 1 0.325 2 0.0 + dihedral_coeff @dihedral:X-n-p5-X fourier 1 2.2 2 180.0 + dihedral_coeff @dihedral:X-n-py-X fourier 1 2.2 2 180.0 + dihedral_coeff @dihedral:X-n-sh-X fourier 1 1.1 2 0.0 + dihedral_coeff @dihedral:X-n-ss-X fourier 1 1.5 2 0.0 + dihedral_coeff @dihedral:X-n-s4-X fourier 1 1.5 3 0.0 + dihedral_coeff @dihedral:X-n-sx-X fourier 1 1.5 3 0.0 + dihedral_coeff @dihedral:X-n-s6-X fourier 1 1.1 2 180.0 + dihedral_coeff @dihedral:X-n-sy-X fourier 1 1.1 2 180.0 + dihedral_coeff @dihedral:X-n1-c2-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-c3-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-ca-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-cc-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-cd-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-ce-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-cf-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-cu-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-cv-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-cx-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-cy-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-n-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-n1-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-n2-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-n3-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-n4-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-na-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-nb-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-nc-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-nd-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-ne-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-nf-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-nh-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-no-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-oh-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-os-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-p2-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-pb-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-pc-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-pd-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-pe-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-pf-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-p3-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-p4-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-px-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-p5-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-py-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-s2-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-sh-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-ss-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-s4-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-sx-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-s6-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n1-sy-X fourier 1 0.0 2 180.0 + dihedral_coeff @dihedral:X-n2-n2-X fourier 2 3.0 2 180.0 2.8 1 0.0 # double bond + dihedral_coeff @dihedral:X-n2-ne-X fourier 2 3.0 2 180.0 2.8 1 0.0 # double bond + dihedral_coeff @dihedral:X-n2-nf-X fourier 2 3.0 2 180.0 2.8 1 0.0 # double bond + dihedral_coeff @dihedral:X-ne-nf-X fourier 2 3.0 2 180.0 2.8 1 0.0 # double bond + dihedral_coeff @dihedral:X-ne-ne-X fourier 1 1.2 2 180.0 # single bond, intrpol + dihedral_coeff @dihedral:X-nf-nf-X fourier 1 1.2 2 180.0 # single bond, intrpol + dihedral_coeff @dihedral:X-nc-nc-X fourier 1 4.0 2 180.0 # estimated, intrpol + dihedral_coeff @dihedral:X-nd-nd-X fourier 1 4.0 2 180.0 # estimated, intrpol + dihedral_coeff @dihedral:X-nc-nd-X fourier 1 4.0 2 180.0 # estimated, intrpol + dihedral_coeff @dihedral:X-n2-nc-X fourier 2 3.0 2 180.0 2.8 1 0.0 # same as X-n2-n2-X + dihedral_coeff @dihedral:X-n2-nd-X fourier 2 3.0 2 180.0 2.8 1 0.0 # same as X-n2-n2-X + dihedral_coeff @dihedral:X-n2-n3-X fourier 1 6.1 2 180.0 + dihedral_coeff @dihedral:X-ne-n3-X fourier 1 6.1 2 180.0 + dihedral_coeff @dihedral:X-nf-n3-X fourier 1 6.1 2 180.0 + dihedral_coeff @dihedral:X-n2-n4-X fourier 1 8.0 2 180.0 + dihedral_coeff @dihedral:X-ne-n4-X fourier 1 8.0 2 180.0 + dihedral_coeff @dihedral:X-nf-n4-X fourier 1 8.0 2 180.0 + dihedral_coeff @dihedral:X-n2-na-X fourier 1 1.7 2 180.0 + dihedral_coeff @dihedral:X-ne-na-X fourier 1 1.7 2 180.0 + dihedral_coeff @dihedral:X-nf-na-X fourier 1 1.7 2 180.0 + dihedral_coeff @dihedral:X-na-nc-X fourier 1 4.8 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-na-nd-X fourier 1 4.8 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-n2-nh-X fourier 1 2.8 2 180.0 + dihedral_coeff @dihedral:X-ne-nh-X fourier 1 2.8 2 180.0 + dihedral_coeff @dihedral:X-nf-nh-X fourier 1 2.8 2 180.0 + dihedral_coeff @dihedral:X-n2-no-X fourier 1 0.75 2 180.0 + dihedral_coeff @dihedral:X-ne-no-X fourier 1 0.75 2 180.0 + dihedral_coeff @dihedral:X-nf-no-X fourier 1 0.75 2 180.0 + dihedral_coeff @dihedral:X-n2-oh-X fourier 1 3.2 2 180.0 + dihedral_coeff @dihedral:X-ne-oh-X fourier 1 3.2 2 180.0 + dihedral_coeff @dihedral:X-nf-oh-X fourier 1 3.2 2 180.0 + dihedral_coeff @dihedral:X-n2-os-X fourier 1 3.0 2 180.0 + dihedral_coeff @dihedral:X-ne-os-X fourier 1 3.0 2 180.0 + dihedral_coeff @dihedral:X-nf-os-X fourier 1 3.0 2 180.0 + dihedral_coeff @dihedral:X-nc-os-X fourier 1 4.8 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-nc-ss-X fourier 1 4.8 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-n2-p2-X fourier 1 5.4 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-n2-pe-X fourier 1 5.4 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-n2-pf-X fourier 1 5.4 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-ne-pf-X fourier 1 5.4 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-n2-pc-X fourier 1 5.4 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-n2-pd-X fourier 1 5.4 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-nc-p2-X fourier 1 5.4 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-nd-p2-X fourier 1 5.4 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-nc-pc-X fourier 1 6.6 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-nd-pd-X fourier 1 6.6 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-nd-pc-X fourier 1 6.6 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-nc-pd-X fourier 1 6.6 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-ne-pe-X fourier 1 0.6 1 0.0 # single bond + dihedral_coeff @dihedral:X-nf-pf-X fourier 1 0.6 1 0.0 # single bond + dihedral_coeff @dihedral:X-n2-p3-X fourier 1 2.1 2 180.0 + dihedral_coeff @dihedral:X-n2-p4-X fourier 1 6.65 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-ne-p4-X fourier 1 6.65 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-nf-p4-X fourier 1 6.65 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-n2-p5-X fourier 1 6.66666666667 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-ne-p5-X fourier 1 1.0 3 180.0 + dihedral_coeff @dihedral:X-nf-p5-X fourier 1 1.0 3 180.0 + dihedral_coeff @dihedral:X-ne-px-X fourier 1 1.0 3 180.0 + dihedral_coeff @dihedral:X-nf-px-X fourier 1 1.0 3 180.0 + dihedral_coeff @dihedral:X-n2-sh-X fourier 1 2.1 2 180.0 + dihedral_coeff @dihedral:X-ne-sh-X fourier 1 2.1 2 180.0 + dihedral_coeff @dihedral:X-nf-sh-X fourier 1 2.1 2 180.0 + dihedral_coeff @dihedral:X-n2-ss-X fourier 2 2.8 2 180.0 1.3 1 180.0 + dihedral_coeff @dihedral:X-ne-ss-X fourier 2 2.8 2 180.0 1.3 1 180.0 + dihedral_coeff @dihedral:X-nf-ss-X fourier 2 2.8 2 180.0 1.3 1 180.0 + dihedral_coeff @dihedral:X-n2-s4-X fourier 1 6.65 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-ne-sx-X fourier 1 1.5 3 180.0 + dihedral_coeff @dihedral:X-nf-sx-X fourier 1 1.5 3 180.0 + dihedral_coeff @dihedral:X-n2-s6-X fourier 1 6.66666666667 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-ne-sy-X fourier 2 0.5 3 180.0 6.8 1 180.0 + dihedral_coeff @dihedral:X-nf-sy-X fourier 2 0.5 3 180.0 6.8 1 180.0 + dihedral_coeff @dihedral:X-n3-n3-X fourier 1 2.25 2 0.0 + dihedral_coeff @dihedral:X-n3-n4-X fourier 1 0.25 3 0.0 + dihedral_coeff @dihedral:X-n3-na-X fourier 1 1.6 2 0.0 + dihedral_coeff @dihedral:X-n3-nh-X fourier 1 1.9 2 0.0 + dihedral_coeff @dihedral:X-n3-no-X fourier 1 4.0 2 180.0 + dihedral_coeff @dihedral:X-n3-oh-X fourier 1 2.2 2 0.0 + dihedral_coeff @dihedral:X-n3-os-X fourier 1 1.8 2 0.0 + dihedral_coeff @dihedral:X-n3-p2-X fourier 1 3.2 2 180.0 + dihedral_coeff @dihedral:X-n3-pe-X fourier 1 3.2 2 180.0 + dihedral_coeff @dihedral:X-n3-pf-X fourier 1 3.2 2 180.0 + dihedral_coeff @dihedral:X-n3-p3-X fourier 1 2.35 2 0.0 + dihedral_coeff @dihedral:X-n3-p4-X fourier 1 2.1 2 180.0 + dihedral_coeff @dihedral:X-n3-px-X fourier 1 2.1 2 180.0 + dihedral_coeff @dihedral:X-n3-p5-X fourier 1 3.0 2 180.0 + dihedral_coeff @dihedral:X-n3-py-X fourier 1 3.0 2 180.0 + dihedral_coeff @dihedral:X-n3-sh-X fourier 1 3.1 2 0.0 + dihedral_coeff @dihedral:X-n3-ss-X fourier 1 2.6 2 0.0 + dihedral_coeff @dihedral:X-n3-s4-X fourier 1 3.75 2 0.0 + dihedral_coeff @dihedral:X-n3-sx-X fourier 1 3.75 2 0.0 + dihedral_coeff @dihedral:X-n3-s6-X fourier 1 3.13333333333 2 0.0 + dihedral_coeff @dihedral:X-n3-sy-X fourier 1 3.13333333333 2 0.0 + dihedral_coeff @dihedral:X-n4-n4-X fourier 1 0.188888888889 3 0.0 + dihedral_coeff @dihedral:X-n4-na-X fourier 1 0.233333333333 3 0.0 + dihedral_coeff @dihedral:X-n4-nh-X fourier 1 0.183333333333 3 0.0 + dihedral_coeff @dihedral:X-n4-no-X fourier 1 0.0833333333333 3 180.0 + dihedral_coeff @dihedral:X-n4-oh-X fourier 1 0.333333333333 3 0.0 + dihedral_coeff @dihedral:X-n4-os-X fourier 1 0.566666666667 3 0.0 + dihedral_coeff @dihedral:X-n4-p2-X fourier 1 0.166666666667 3 180.0 + dihedral_coeff @dihedral:X-n4-pe-X fourier 1 0.166666666667 3 180.0 + dihedral_coeff @dihedral:X-n4-pf-X fourier 1 0.166666666667 3 180.0 + dihedral_coeff @dihedral:X-n4-p3-X fourier 1 0.15 3 0.0 + dihedral_coeff @dihedral:X-n4-p4-X fourier 1 0.05 3 0.0 + dihedral_coeff @dihedral:X-n4-px-X fourier 1 0.05 3 0.0 + dihedral_coeff @dihedral:X-n4-p5-X fourier 1 0.0888888888889 3 0.0 + dihedral_coeff @dihedral:X-n4-py-X fourier 1 0.0888888888889 3 0.0 + dihedral_coeff @dihedral:X-n4-sh-X fourier 1 0.666666666667 3 0.0 + dihedral_coeff @dihedral:X-n4-ss-X fourier 1 0.333333333333 3 0.0 + dihedral_coeff @dihedral:X-n4-s4-X fourier 1 0.283333333333 3 0.0 + dihedral_coeff @dihedral:X-n4-sx-X fourier 1 0.283333333333 3 0.0 + dihedral_coeff @dihedral:X-n4-s6-X fourier 1 0.133333333333 3 0.0 + dihedral_coeff @dihedral:X-n4-sy-X fourier 1 0.133333333333 3 0.0 + dihedral_coeff @dihedral:X-na-na-X fourier 1 0.9 2 0.0 + dihedral_coeff @dihedral:X-na-nh-X fourier 1 1.2 2 0.0 + dihedral_coeff @dihedral:X-na-no-X fourier 1 6.0 2 180.0 + dihedral_coeff @dihedral:X-na-oh-X fourier 1 1.0 2 0.0 + dihedral_coeff @dihedral:X-na-os-X fourier 1 0.65 2 0.0 + dihedral_coeff @dihedral:X-na-p2-X fourier 1 1.0 2 180.0 + dihedral_coeff @dihedral:X-na-pe-X fourier 1 1.0 2 180.0 + dihedral_coeff @dihedral:X-na-pf-X fourier 1 1.0 2 180.0 + dihedral_coeff @dihedral:X-na-p3-X fourier 1 1.45 2 0.0 + dihedral_coeff @dihedral:X-na-p4-X fourier 1 1.1 3 0.0 + dihedral_coeff @dihedral:X-na-px-X fourier 1 1.1 3 0.0 + dihedral_coeff @dihedral:X-na-p5-X fourier 1 0.833333333333 2 180.0 + dihedral_coeff @dihedral:X-na-py-X fourier 1 0.833333333333 2 180.0 + dihedral_coeff @dihedral:X-na-sh-X fourier 1 1.8 2 0.0 + dihedral_coeff @dihedral:X-na-ss-X fourier 1 7.8 2 0.0 + dihedral_coeff @dihedral:X-na-s4-X fourier 1 1.05 2 0.0 + dihedral_coeff @dihedral:X-na-sx-X fourier 1 1.05 2 0.0 + dihedral_coeff @dihedral:X-na-s6-X fourier 1 3.66666666667 2 180.0 + dihedral_coeff @dihedral:X-na-sy-X fourier 1 3.66666666667 2 180.0 + dihedral_coeff @dihedral:X-nh-nh-X fourier 1 1.8 3 180.0 + dihedral_coeff @dihedral:X-nh-no-X fourier 1 2.55 2 180.0 + dihedral_coeff @dihedral:X-nh-oh-X fourier 1 1.5 2 0.0 + dihedral_coeff @dihedral:X-nh-os-X fourier 1 1.5 1 0.0 + dihedral_coeff @dihedral:X-nh-p2-X fourier 1 1.4 2 180.0 + dihedral_coeff @dihedral:X-nh-pe-X fourier 1 1.4 2 180.0 + dihedral_coeff @dihedral:X-nh-pf-X fourier 1 1.4 2 180.0 + dihedral_coeff @dihedral:X-nh-p3-X fourier 1 2.35 2 0.0 + dihedral_coeff @dihedral:X-nh-p4-X fourier 1 1.175 3 0.0 + dihedral_coeff @dihedral:X-nh-px-X fourier 1 1.175 3 0.0 + dihedral_coeff @dihedral:X-nh-p5-X fourier 1 0.8 2 0.0 + dihedral_coeff @dihedral:X-nh-py-X fourier 1 0.8 2 0.0 + dihedral_coeff @dihedral:X-nh-sh-X fourier 1 1.6 2 0.0 + dihedral_coeff @dihedral:X-nh-ss-X fourier 1 2.1 2 0.0 + dihedral_coeff @dihedral:X-nh-s4-X fourier 2 0.75 2 0.0 0.1 3 180.0 + dihedral_coeff @dihedral:X-nh-sx-X fourier 2 0.75 2 0.0 0.1 3 180.0 + dihedral_coeff @dihedral:X-nh-s6-X fourier 1 0.1 2 180.0 + dihedral_coeff @dihedral:X-nh-sy-X fourier 1 0.1 2 180.0 + dihedral_coeff @dihedral:X-no-no-X fourier 2 0.4 4 180.0 1.8 2 180.0 + dihedral_coeff @dihedral:X-no-oh-X fourier 1 3.9 2 180.0 + dihedral_coeff @dihedral:X-no-os-X fourier 1 3.0 2 180.0 + dihedral_coeff @dihedral:X-no-p2-X fourier 1 0.3 2 180.0 + dihedral_coeff @dihedral:X-no-pe-X fourier 1 0.3 2 180.0 + dihedral_coeff @dihedral:X-no-pf-X fourier 1 0.3 2 180.0 + dihedral_coeff @dihedral:X-no-p3-X fourier 1 1.9 2 180.0 + dihedral_coeff @dihedral:X-no-p4-X fourier 1 0.575 2 180.0 + dihedral_coeff @dihedral:X-no-px-X fourier 1 0.575 2 180.0 + dihedral_coeff @dihedral:X-no-p5-X fourier 2 2.4 2 0.0 0.4 3 0.0 + dihedral_coeff @dihedral:X-no-py-X fourier 2 2.4 2 0.0 0.4 3 0.0 + dihedral_coeff @dihedral:X-no-sh-X fourier 1 2.3 2 180.0 + dihedral_coeff @dihedral:X-no-ss-X fourier 1 2.7 2 180.0 + dihedral_coeff @dihedral:X-no-s4-X fourier 1 2.6 2 180.0 + dihedral_coeff @dihedral:X-no-sx-X fourier 1 2.6 2 180.0 + dihedral_coeff @dihedral:X-no-s6-X fourier 1 0.333333333333 2 0.0 + dihedral_coeff @dihedral:X-no-sy-X fourier 1 0.333333333333 2 0.0 + dihedral_coeff @dihedral:X-oh-oh-X fourier 1 1.6 2 0.0 + dihedral_coeff @dihedral:X-oh-os-X fourier 1 1.6 2 0.0 + dihedral_coeff @dihedral:X-oh-p2-X fourier 1 1.5 2 180.0 + dihedral_coeff @dihedral:X-oh-pe-X fourier 1 1.5 2 180.0 + dihedral_coeff @dihedral:X-oh-pf-X fourier 1 1.5 2 180.0 + dihedral_coeff @dihedral:X-oh-p3-X fourier 1 0.4 3 180.0 + dihedral_coeff @dihedral:X-oh-p4-X fourier 1 0.7 1 0.0 + dihedral_coeff @dihedral:X-oh-px-X fourier 1 0.7 1 0.0 + dihedral_coeff @dihedral:X-oh-p5-X fourier 1 0.533333333333 3 0.0 + dihedral_coeff @dihedral:X-oh-py-X fourier 1 0.533333333333 3 0.0 + dihedral_coeff @dihedral:X-oh-sh-X fourier 1 2.4 2 0.0 + dihedral_coeff @dihedral:X-oh-ss-X fourier 1 2.4 2 0.0 + dihedral_coeff @dihedral:X-oh-s4-X fourier 1 5.0 1 0.0 + dihedral_coeff @dihedral:X-oh-sx-X fourier 1 5.0 1 0.0 + dihedral_coeff @dihedral:X-oh-s6-X fourier 1 9.5 1 180.0 + dihedral_coeff @dihedral:X-oh-sy-X fourier 1 9.5 1 180.0 + dihedral_coeff @dihedral:X-os-os-X fourier 1 1.0 1 0.0 + dihedral_coeff @dihedral:X-os-ss-X fourier 1 2.2 2 0.0 + dihedral_coeff @dihedral:X-os-sh-X fourier 1 1.8 2 0.0 + dihedral_coeff @dihedral:X-os-s4-X fourier 1 1.65 3 0.0 + dihedral_coeff @dihedral:X-os-sx-X fourier 1 1.65 3 0.0 + dihedral_coeff @dihedral:X-os-s6-X fourier 1 1.2 2 180.0 + dihedral_coeff @dihedral:X-os-sy-X fourier 1 1.2 2 180.0 + dihedral_coeff @dihedral:X-os-p2-X fourier 2 3.0 2 180.0 2.0 1 180.0 + dihedral_coeff @dihedral:X-os-pe-X fourier 2 3.0 2 180.0 2.0 1 180.0 + dihedral_coeff @dihedral:X-os-pf-X fourier 2 3.0 2 180.0 2.0 1 180.0 + dihedral_coeff @dihedral:X-os-p3-X fourier 1 2.2 2 0.0 + dihedral_coeff @dihedral:X-os-p4-X fourier 1 1.05 2 180.0 + dihedral_coeff @dihedral:X-os-px-X fourier 1 1.05 2 180.0 + dihedral_coeff @dihedral:X-os-p5-X fourier 1 0.8 2 0.0 + dihedral_coeff @dihedral:X-os-py-X fourier 1 0.8 2 0.0 + dihedral_coeff @dihedral:X-p2-p2-X fourier 1 6.6 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-p2-pe-X fourier 1 6.6 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-p2-pf-X fourier 1 6.6 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-p2-pc-X fourier 1 6.6 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-p2-pd-X fourier 1 6.6 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-pe-pe-X fourier 1 1.2 2 180.0 # single bond + dihedral_coeff @dihedral:X-pf-pf-X fourier 1 1.2 2 180.0 # single bond + dihedral_coeff @dihedral:X-pc-pc-X fourier 1 7.2 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-pd-pd-X fourier 1 7.2 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-pc-pd-X fourier 1 7.2 2 180.0 # estimated, intrpol. + dihedral_coeff @dihedral:X-p2-p3-X fourier 1 1.2 1 0.0 + dihedral_coeff @dihedral:X-pe-p3-X fourier 1 1.2 1 0.0 + dihedral_coeff @dihedral:X-pf-p3-X fourier 1 1.2 1 0.0 + dihedral_coeff @dihedral:X-p2-p4-X fourier 1 6.65 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-pe-px-X fourier 1 2.45 2 0.0 + dihedral_coeff @dihedral:X-pf-px-X fourier 1 2.45 2 0.0 + dihedral_coeff @dihedral:X-p2-p5-X fourier 1 6.66666666667 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-pe-py-X fourier 1 1.9 1 0.0 + dihedral_coeff @dihedral:X-pf-py-X fourier 1 1.9 1 0.0 + dihedral_coeff @dihedral:X-p2-sh-X fourier 1 1.4 2 180.0 + dihedral_coeff @dihedral:X-pe-sh-X fourier 1 1.4 2 180.0 + dihedral_coeff @dihedral:X-pf-sh-X fourier 1 1.4 2 180.0 + dihedral_coeff @dihedral:X-p2-ss-X fourier 1 1.4 2 180.0 + dihedral_coeff @dihedral:X-pe-ss-X fourier 1 1.4 2 180.0 + dihedral_coeff @dihedral:X-pf-ss-X fourier 1 1.4 2 180.0 + dihedral_coeff @dihedral:X-p2-s4-X fourier 1 6.65 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-pe-sx-X fourier 1 1.5 2 0.0 + dihedral_coeff @dihedral:X-pf-sx-X fourier 1 1.5 2 0.0 + dihedral_coeff @dihedral:X-p2-s6-X fourier 1 6.66666666667 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-pe-sy-X fourier 1 0.4 3 180.0 + dihedral_coeff @dihedral:X-pf-sy-X fourier 1 0.4 3 180.0 + dihedral_coeff @dihedral:X-p3-p3-X fourier 1 0.5 3 0.0 + dihedral_coeff @dihedral:X-p3-p4-X fourier 1 0.9 1 0.0 + dihedral_coeff @dihedral:X-p3-px-X fourier 1 0.9 1 0.0 + dihedral_coeff @dihedral:X-p3-p5-X fourier 1 1.83333333333 2 180.0 + dihedral_coeff @dihedral:X-p3-py-X fourier 1 1.83333333333 2 180.0 + dihedral_coeff @dihedral:X-p3-sh-X fourier 1 4.6 2 0.0 + dihedral_coeff @dihedral:X-p3-ss-X fourier 1 1.15 3 0.0 + dihedral_coeff @dihedral:X-p3-s4-X fourier 1 3.85 2 0.0 + dihedral_coeff @dihedral:X-p3-sx-X fourier 1 3.85 2 0.0 + dihedral_coeff @dihedral:X-p3-s6-X fourier 1 0.266666666667 3 0.0 + dihedral_coeff @dihedral:X-p3-sy-X fourier 1 0.266666666667 3 0.0 + dihedral_coeff @dihedral:X-p4-p4-X fourier 1 6.65 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-px-px-X fourier 1 1.45 2 180.0 + dihedral_coeff @dihedral:X-p4-p5-X fourier 1 6.65 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-px-py-X fourier 1 0.316666666667 2 180.0 + dihedral_coeff @dihedral:X-p4-s4-X fourier 1 6.65 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-px-sx-X fourier 1 0.85 1 0.0 + dihedral_coeff @dihedral:X-p4-s6-X fourier 1 6.65 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-px-sy-X fourier 1 0.116666666667 3 0.0 + dihedral_coeff @dihedral:X-p4-sh-X fourier 1 0.25 1 180.0 + dihedral_coeff @dihedral:X-px-sh-X fourier 1 0.25 1 180.0 + dihedral_coeff @dihedral:X-p4-ss-X fourier 1 0.6 2 180.0 + dihedral_coeff @dihedral:X-px-ss-X fourier 1 0.6 2 180.0 + dihedral_coeff @dihedral:X-p5-p5-X fourier 1 6.66666666667 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-py-py-X fourier 1 0.6 2 0.0 + dihedral_coeff @dihedral:X-p5-sh-X fourier 1 0.3 3 0.0 + dihedral_coeff @dihedral:X-py-sh-X fourier 1 0.3 3 0.0 + dihedral_coeff @dihedral:X-p5-ss-X fourier 1 3.8 2 180.0 + dihedral_coeff @dihedral:X-py-ss-X fourier 1 3.8 2 180.0 + dihedral_coeff @dihedral:X-p5-s4-X fourier 1 6.66666666667 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-py-sx-X fourier 1 0.266666666667 3 0.0 + dihedral_coeff @dihedral:X-p5-s6-X fourier 1 6.66666666667 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-py-sy-X fourier 1 0.277777777778 3 0.0 + dihedral_coeff @dihedral:X-sh-sh-X fourier 1 5.6 3 0.0 + dihedral_coeff @dihedral:X-sh-ss-X fourier 1 5.3 3 0.0 + dihedral_coeff @dihedral:X-sh-s4-X fourier 1 0.7 3 0.0 + dihedral_coeff @dihedral:X-sh-sx-X fourier 1 0.7 3 0.0 + dihedral_coeff @dihedral:X-sh-s6-X fourier 1 4.66666666667 2 180.0 + dihedral_coeff @dihedral:X-sh-sy-X fourier 1 4.66666666667 2 180.0 + dihedral_coeff @dihedral:X-ss-ss-X fourier 1 0.0 3 0.0 + dihedral_coeff @dihedral:X-ss-s4-X fourier 1 0.3 3 0.0 + dihedral_coeff @dihedral:X-ss-sx-X fourier 1 0.3 3 0.0 + dihedral_coeff @dihedral:X-ss-s6-X fourier 1 3.06666666667 2 180.0 + dihedral_coeff @dihedral:X-ss-sy-X fourier 1 3.06666666667 2 180.0 + dihedral_coeff @dihedral:X-s4-s4-X fourier 1 6.65 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-sx-sx-X fourier 1 0.625 3 0.0 + dihedral_coeff @dihedral:X-s4-s6-X fourier 1 6.66666666667 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-sx-sy-X fourier 1 4.33333333333 2 180.0 + dihedral_coeff @dihedral:X-s6-s6-X fourier 1 6.66666666667 2 180.0 # estimated !!! + dihedral_coeff @dihedral:X-sy-sy-X fourier 1 0.155555555556 2 180.0 + dihedral_coeff @dihedral:X-cf-pe-X fourier 1 6.65 2 180.0 # NEW + dihedral_coeff @dihedral:X-nd-os-X fourier 1 4.8 2 180.0 # NEW + dihedral_coeff @dihedral:X-nd-ss-X fourier 1 4.8 2 180.0 # NEW + dihedral_coeff @dihedral:X-nf-pe-X fourier 1 5.4 2 180.0 # NEW + dihedral_coeff @dihedral:c2-ne-p5-o fourier 2 0.0 3 0.0 2.3 1 0.0 # TorType=1 + dihedral_coeff @dihedral:c2-nf-p5-o fourier 2 0.0 3 0.0 2.3 1 0.0 # TorType=1 + dihedral_coeff @dihedral:ce-ne-p5-o fourier 2 0.0 3 0.0 2.3 1 0.0 # TorType=1 + dihedral_coeff @dihedral:ce-nf-p5-o fourier 2 0.0 3 0.0 2.3 1 0.0 # TorType=1 + dihedral_coeff @dihedral:cf-ne-p5-o fourier 2 0.0 3 0.0 2.3 1 0.0 # TorType=1 + dihedral_coeff @dihedral:cf-nf-p5-o fourier 2 0.0 3 0.0 2.3 1 0.0 # TorType=1 + dihedral_coeff @dihedral:hn-n-c-o fourier 2 2.5 2 180.0 2.0 1 0.0 # JCC,7,(1986),230 TorType=1 + dihedral_coeff @dihedral:c3-n3-p5-o fourier 2 3.0 2 180.0 2.3 3 0.0 # TorType=1 + dihedral_coeff @dihedral:oh-p5-os-c3 fourier 2 0.25 3 0.0 1.2 2 0.0 # JCC,7,(1986),230 TorType=1 + dihedral_coeff @dihedral:h1-c3-c-o fourier 2 0.8 1 0.0 0.08 3 180.0 # Junmei et al, 1999 TorType=1 + dihedral_coeff @dihedral:ho-oh-c-o fourier 2 2.3 2 180.0 1.9 1 0.0 # Junmei et al, 1999 TorType=1 + dihedral_coeff @dihedral:c2-c2-c-o fourier 2 2.175 2 180.0 0.3 3 0.0 # Junmei et al, 1999 TorType=1 + dihedral_coeff @dihedral:c3-c3-os-c fourier 2 0.383 3 0.0 0.8 1 180.0 # Junmei et al, 1999 TorType=1 + dihedral_coeff @dihedral:c3-os-c3-na fourier 2 0.383 3 0.0 0.65 2 0.0 # parm98.dat, TC,PC,PAK TorType=1 + dihedral_coeff @dihedral:o-c-os-c3 fourier 2 2.7 2 180.0 1.4 1 180.0 # Junmei et al, 1999 TorType=1 + dihedral_coeff @dihedral:os-c3-na-c2 fourier 2 0.0 2 0.0 2.5 1 0.0 # parm98, TC,PC,PAK TorType=1 + dihedral_coeff @dihedral:h1-c3-c3-os fourier 2 0.0 3 0.0 0.25 1 0.0 # Junmei et al, 1999 TorType=1 + dihedral_coeff @dihedral:h1-c3-c3-oh fourier 2 0.0 3 0.0 0.25 1 0.0 # Junmei et al, 1999 TorType=1 + dihedral_coeff @dihedral:h1-c3-c3-f fourier 2 0.0 3 0.0 0.19 1 0.0 # Junmei et al, 1999 TorType=1 + dihedral_coeff @dihedral:h1-c3-c3-cl fourier 2 0.0 3 0.0 0.25 1 0.0 # Junmei et al, 1999 TorType=1 + dihedral_coeff @dihedral:h1-c3-c3-br fourier 2 0.0 3 0.0 0.55 1 0.0 # Junmei et al, 1999 TorType=1 + dihedral_coeff @dihedral:hc-c3-c3-os fourier 2 0.0 3 0.0 0.25 1 0.0 # Junmei et al, 1999 TorType=1 + dihedral_coeff @dihedral:c3-n4-c3-ca fourier 2 0.156 3 0.0 0.7 2 0.0 # Junmei, 2015 TorType=1 + dihedral_coeff @dihedral:oh-c3-c3-n4 fourier 2 0.144 3 0.0 1.3 2 0.0 # Junmei, 2015 TorType=1 + dihedral_coeff @dihedral:c3-c3-n4-c3 fourier 1 0.156 3 0.0 # Junmei, 2015 TorType=1 + dihedral_coeff @dihedral:c3-c-os-p5 fourier 2 2.7 2 180.0 2.0 1 180.0 # Junmei, 2015 TorType=1 + dihedral_coeff @dihedral:c-os-p5-o fourier 3 0.8 2 0.0 1.1 1 0.0 0.5 3 180.0 # Junmei, 2015 TorType=1 + dihedral_coeff @dihedral:c3-c3-os-p5 fourier 2 0.383 3 0.0 3.95 1 180.0 # Junmei, 2015 TorType=1 + dihedral_coeff @dihedral:c3-os-p5-o fourier 2 0.8 2 0.0 0.55 3 0.0 # Junmei, 2015 TorType=1 + dihedral_coeff @dihedral:ca-ca-os-p5 fourier 1 1.75 2 180.0 # Junmei, 2015 TorType=1 + dihedral_coeff @dihedral:ca-os-p5-o fourier 2 0.8 2 180.0 0.1 3 0.0 # Junmei, 2015 TorType=1 + dihedral_coeff @dihedral:br-c3-c3-br fourier 2 0.5 3 0.0 1.82 1 0.0 # m9 GA AUE=0.9626 RMSE=1.1958 TorType=2 + dihedral_coeff @dihedral:c-n-c2-c2 fourier 2 1.57 2 180.0 1.53 1 180.0 # c25 GA AUE=0.3367 RMSE=0.3900 TorType=2 + dihedral_coeff @dihedral:c3-ss-c2-c2 fourier 2 1.28 2 180.0 1.2 3 180.0 # c39 GA AUE=0.3908 RMSE=0.4760 TorType=2 + dihedral_coeff @dihedral:c3-c2-c2-c3 fourier 2 5.29 2 180.0 0.4 1 180.0 # c22 GA AUE=2.0091 RMSE=3.0745 TorType=2 + dihedral_coeff @dihedral:c3-c3-c3-c3 fourier 3 0.13 3 0.0 0.29 2 180.0 0.11 1 0.0 # c42 GA AUE=0.2975 RMSE=0.3306 TorType=2 + dihedral_coeff @dihedral:n-c-c3-c3 fourier 2 0.0 4 180.0 0.71 2 180.0 # p20 GA AUE=0.5445 RMSE=0.7015 TorType=2 + dihedral_coeff @dihedral:c3-os-c3-c3 fourier 2 0.24 3 0.0 0.16 2 0.0 # p29 GA AUE=0.4256 RMSE=0.5201 TorType=2 + dihedral_coeff @dihedral:ca-nh-n3-c3 fourier 1 1.12 2 0.0 # c115 SS AUE=2.2848 RMSE=2.9445 TorType=2 + dihedral_coeff @dihedral:hs-sh-ss-c3 fourier 2 1.6 3 0.0 2.81 2 0.0 # c223 GA AUE=0.7163 RMSE=0.8348 TorType=2 + dihedral_coeff @dihedral:ho-oh-nh-ca fourier 2 1.43 1 0.0 0.5 2 0.0 # c156 GA AUE=0.4441 RMSE=0.5406 TorType=2 + dihedral_coeff @dihedral:cl-c3-c3-cl fourier 2 0.5 3 0.0 0.93 1 0.0 # m8 GA AUE=0.9322 RMSE=1.0556 TorType=2 + dihedral_coeff @dihedral:c-n-c3-c3 fourier 3 0.1 4 180.0 0.17 3 0.0 1.02 1 180.0 # p19 GA AUE=0.2882 RMSE=0.4031 TorType=2 + dihedral_coeff @dihedral:c2-p2-n-c fourier 2 1.48 2 180.0 2.15 1 180.0 # c88 GA AUE=0.5049 RMSE=0.6214 TorType=2 + dihedral_coeff @dihedral:f-c3-c3-f fourier 2 1.0 3 0.0 0.64 1 180.0 # m7 GA AUE=1.3130 RMSE=1.6963 TorType=2 + dihedral_coeff @dihedral:hc-c3-c2-c2 fourier 2 0.36 3 180.0 1.47 1 0.0 # c23 GA AUE=0.0738 RMSE=0.0893 TorType=2 + dihedral_coeff @dihedral:hc-c3-c3-br fourier 2 0.21 3 0.0 0.08 1 0.0 # m5 GA AUE=0.2036 RMSE=0.2389 TorType=2 + dihedral_coeff @dihedral:hc-c3-c3-c3 fourier 1 0.08 3 0.0 # m2 SS AUE=0.2468 RMSE=0.2989 TorType=2 + dihedral_coeff @dihedral:hc-c3-c3-cl fourier 2 0.22 3 0.0 0.25 1 180.0 # m4 GA AUE=0.1732 RMSE=0.2055 TorType=2 + dihedral_coeff @dihedral:hc-c3-c3-f fourier 2 0.22 3 0.0 1.97 1 180.0 # m3 GA AUE=0.0868 RMSE=0.1021 TorType=2 + dihedral_coeff @dihedral:hc-c3-c3-hc fourier 1 0.12 3 0.0 # m1 SS AUE=0.2420 RMSE=0.2944 TorType=2 + dihedral_coeff @dihedral:hc-c3-c3-oh fourier 2 0.18 3 0.0 0.51 1 0.0 # m11 GA AUE=0.1021 RMSE=0.1307 TorType=2 + dihedral_coeff @dihedral:n-c-c3-n fourier 2 0.1 1 180.0 2.12 2 180.0 # p17 GA AUE=0.9129 RMSE=1.0401 TorType=2 + dihedral_coeff @dihedral:oh-c3-c3-os fourier 3 1.01 3 0.0 0.0 2 0.0 0.02 1 180.0 # suger5ring,suger6ring GA AUE=0.6597 RMSE=0.8978 TorType=2 + dihedral_coeff @dihedral:os-p5-os-c3 fourier 2 0.0 3 0.0 2.61 2 0.0 # c191 GA AUE=0.2324 RMSE=0.3542 TorType=2 + dihedral_coeff @dihedral:c3-n-c-c3 fourier 2 0.26 2 180.0 0.5 1 0.0 # c5 GA AUE=0.9706 RMSE=1.2796 TorType=2 + dihedral_coeff @dihedral:c3-os-c-c3 fourier 3 1.58 1 180.0 3.18 2 180.0 0.73 3 0.0 # c13 GA AUE=0.2469 RMSE=0.2990 TorType=2 + dihedral_coeff @dihedral:hs-sh-c-c3 fourier 2 1.08 2 180.0 1.92 1 180.0 # c18 GA AUE=0.2126 RMSE=0.3029 TorType=2 + dihedral_coeff @dihedral:os-c3-os-c3 fourier 3 0.0 3 180.0 1.24 2 0.0 0.97 1 180.0 # cococ,lactose2,t12 GA AUE=0.8913 RMSE=1.4261 TorType=2 + dihedral_coeff @dihedral:c3-ss-ss-c3 fourier 2 3.15 2 0.0 0.89 3 0.0 # c226,p2 GA AUE=0.4785 RMSE=0.5249 TorType=2 + dihedral_coeff @dihedral:o-c-c3-hc fourier 2 0.83 1 0.0 0.04 3 180.0 # CH3COO,CH3COOH GA AUE=0.0144 RMSE=0.0193 TorType=2 + dihedral_coeff @dihedral:ho-oh-c3-c3 fourier 1 0.0 3 0.0 # m19 SS AUE=0.1539 RMSE=0.2110 TorType=2 + dihedral_coeff @dihedral:oh-c3-c3-oh fourier 2 0.9 3 0.0 1.13 2 0.0 # p5,ch2oh2 GA AUE=0.9894 RMSE=1.1930 TorType=2 + dihedral_coeff @dihedral:os-c3-c3-os fourier 3 0.0 3 0.0 0.0 2 180.0 0.17 1 180.0 # p28,suger5ring,suger6ring,coccoc GA AUE=1.1750 RMSE=1.6708 TorType=2 + dihedral_coeff @dihedral:c1-c1-c3-c1 fourier 1 0.0 2 0.0 # t5 SS AUE=0.0048 RMSE=0.0058 TorType=3 + dihedral_coeff @dihedral:c2-c2-c3-c2 fourier 1 0.112 2 0.0 # t4 SS AUE=0.5917 RMSE=0.7276 TorType=3 + dihedral_coeff @dihedral:c2-ce-ca-ca fourier 1 0.505 2 180.0 # add6f SS AUE=0.2273 RMSE=0.3302 TorType=3 + dihedral_coeff @dihedral:c2-ce-ce-c3 fourier 1 0.5 2 180.0 # set1_2 SS AUE=0.6541 RMSE=0.8643 TorType=3 + dihedral_coeff @dihedral:c2-cf-cd-cc fourier 1 0.5 2 180.0 # add6d SS AUE=0.3708 RMSE=0.4956 TorType=3 + dihedral_coeff @dihedral:c2-n2-c3-n2 fourier 2 1.57 2 180.0 2.73 1 180.0 # t14 GA AUE=1.3428 RMSE=1.6221 TorType=3 + dihedral_coeff @dihedral:c2-n2-na-cd fourier 1 1.575 2 180.0 # c99 SS AUE=0.2455 RMSE=0.3271 TorType=3 + dihedral_coeff @dihedral:c2-n2-n-c fourier 1 2.79 1 180.0 # c80 SS AUE=2.1704 RMSE=2.7351 TorType=3 + dihedral_coeff @dihedral:c2-n2-nh-c2 fourier 1 1.2 2 0.0 # set3_6 SS AUE=1.7161 RMSE=2.4147 TorType=3 + dihedral_coeff @dihedral:c2-ne-ca-ca fourier 1 0.495 3 0.0 # c63 SS AUE=1.1301 RMSE=1.4142 TorType=3 + dihedral_coeff @dihedral:c2-ne-ce-c2 fourier 1 0.17 2 180.0 # c26 SS AUE=0.7462 RMSE=0.9083 TorType=3 + dihedral_coeff @dihedral:c2-ne-ce-c3 fourier 1 0.82 2 0.0 # set1_6 SS AUE=0.2966 RMSE=0.4200 TorType=3 + dihedral_coeff @dihedral:c2-nh-c2-c2 fourier 1 0.98 2 180.0 # set3_2 SS AUE=0.5762 RMSE=0.7682 TorType=3 + dihedral_coeff @dihedral:c2-nh-c2-c3 fourier 1 3.14 2 180.0 # set3_26 SS AUE=0.5612 RMSE=0.7360 TorType=3 + dihedral_coeff @dihedral:c2-nh-c3-h1 fourier 1 0.4 3 0.0 # set3_3 SS AUE=0.2455 RMSE=0.3092 TorType=3 + dihedral_coeff @dihedral:c2-nh-ca-ca fourier 1 0.55 2 180.0 # set3_4 SS AUE=0.8992 RMSE=1.3720 TorType=3 + dihedral_coeff @dihedral:c2-nh-nh-c2 fourier 1 2.93 3 0.0 # set3_24 SS AUE=2.3906 RMSE=3.0117 TorType=3 + dihedral_coeff @dihedral:c2-p2-c3-p2 fourier 1 2.07 1 180.0 # t18 SS AUE=0.4761 RMSE=0.6635 TorType=3 + dihedral_coeff @dihedral:c2-p2-n4-hn fourier 1 0.0 3 180.0 # c133 SS AUE=0.2623 RMSE=0.3265 TorType=3 + dihedral_coeff @dihedral:c2-p2-na-cc fourier 1 1.83 2 180.0 # c146 SS AUE=0.3236 RMSE=0.3673 TorType=3 + dihedral_coeff @dihedral:c2-p2-nh-c2 fourier 1 1.33 2 180.0 # set3_14 SS AUE=0.4660 RMSE=0.7730 TorType=3 + dihedral_coeff @dihedral:c2-p2-nh-c3 fourier 1 2.4 2 180.0 # c119 SS AUE=1.0662 RMSE=1.4725 TorType=3 + dihedral_coeff @dihedral:c2-p2-nh-ca fourier 1 1.88 1 180.0 # c158 SS AUE=1.5854 RMSE=1.8810 TorType=3 + dihedral_coeff @dihedral:c2-pe-ca-ca fourier 1 1.065 2 180.0 # c71 SS AUE=0.2838 RMSE=0.3291 TorType=3 + dihedral_coeff @dihedral:c2-pe-ce-c2 fourier 1 0.825 2 180.0 # c34 SS AUE=0.3082 RMSE=0.3467 TorType=3 + dihedral_coeff @dihedral:c2-pe-ce-c3 fourier 1 3.64 1 180.0 # set1_14 SS AUE=0.2869 RMSE=0.3329 TorType=3 + dihedral_coeff @dihedral:c2-pe-ne-c2 fourier 1 0.29 1 0.0 # c104 SS AUE=0.4118 RMSE=0.5379 TorType=3 + dihedral_coeff @dihedral:c2-pe-pe-c2 fourier 1 0.68 2 180.0 # c196 SS AUE=0.2486 RMSE=0.3241 TorType=3 + dihedral_coeff @dihedral:c3-c2-nh-ca fourier 2 1.16 2 180.0 1.88 1 0.0 # set1_10 GA AUE=0.3625 RMSE=0.5970 TorType=3 + dihedral_coeff @dihedral:c3-c3-c3-hc fourier 1 0.08 3 0.0 # t2 SS AUE=0.2507 RMSE=0.3027 TorType=3 + dihedral_coeff @dihedral:c3-c3-cc-ca fourier 1 0.082 3 0.0 # p3 SS AUE=0.4586 RMSE=0.5633 TorType=3 + dihedral_coeff @dihedral:c3-c3-n-c fourier 3 0.65 4 180.0 0.03 3 180.0 2.26 1 0.0 # sialic2 GA AUE=1.1541 RMSE=1.2847 TorType=3 + dihedral_coeff @dihedral:c3-c-c3-c3 fourier 1 0.332 2 180.0 # p10 SS AUE=0.3226 RMSE=0.4401 TorType=3 + dihedral_coeff @dihedral:c3-c-ce-c3 fourier 1 4.11 2 0.0 # set3_25 SS AUE=0.6933 RMSE=1.1187 TorType=3 + dihedral_coeff @dihedral:c3-ce-ce-c3 fourier 1 0.5 2 180.0 # set3_22 SS AUE=1.0809 RMSE=1.3455 TorType=3 + dihedral_coeff @dihedral:c3-n2-c2-c3 fourier 1 10.37 2 180.0 # c7 SS AUE=1.1629 RMSE=1.3902 TorType=3 + dihedral_coeff @dihedral:c3-n3-n3-c3 fourier 1 2.31 2 0.0 # c112 SS AUE=0.8815 RMSE=1.0390 TorType=3 + dihedral_coeff @dihedral:c3-n3-nh-c2 fourier 1 1.355 2 0.0 # set3_7 SS AUE=1.4104 RMSE=1.6750 TorType=3 + dihedral_coeff @dihedral:c3-n4-ca-ca fourier 1 1.495 2 0.0 # c65 SS AUE=0.2872 RMSE=0.3575 TorType=3 + dihedral_coeff @dihedral:c3-n4-n4-c3 fourier 1 0.244 3 0.0 # c127 SS AUE=0.6207 RMSE=0.7993 TorType=3 + dihedral_coeff @dihedral:c3-nh-c2-c2 fourier 2 0.95 2 180.0 1.12 3 180.0 # c27 GA AUE=0.7690 RMSE=1.0440 TorType=3 + dihedral_coeff @dihedral:c3-nh-c2-c3 fourier 1 2.495 2 180.0 # set1_7 SS AUE=0.8853 RMSE=1.2321 TorType=3 + dihedral_coeff @dihedral:c3-os-c2-c2 fourier 2 2.52 2 180.0 2.0 1 180.0 # c33 GA AUE=0.9155 RMSE=1.0796 TorType=3 + dihedral_coeff @dihedral:c3-os-c2-c3 fourier 1 4.79 2 180.0 # set1_13 SS AUE=0.9973 RMSE=1.5097 TorType=3 + dihedral_coeff @dihedral:c3-os-c3-h1 fourier 1 0.337 3 0.0 # c52 SS AUE=0.2706 RMSE=0.3300 TorType=3 + dihedral_coeff @dihedral:c3-os-ca-ca fourier 1 1.61 2 180.0 # c70 SS AUE=0.3151 RMSE=0.3580 TorType=3 + dihedral_coeff @dihedral:c3-os-n2-c2 fourier 2 2.2 2 180.0 0.9 3 180.0 # c103 SS AUE=1.2430 RMSE=1.4817 TorType=3 + dihedral_coeff @dihedral:c3-os-n3-c3 fourier 1 0.84 2 0.0 # c118 SS AUE=0.7374 RMSE=0.9683 TorType=3 + dihedral_coeff @dihedral:c3-os-n4-c3 fourier 1 0.62 3 180.0 # c132 SS AUE=0.8090 RMSE=0.9444 TorType=3 + dihedral_coeff @dihedral:c3-os-na-cc fourier 1 0.19 2 0.0 # c145 SS AUE=0.2720 RMSE=0.3305 TorType=3 + dihedral_coeff @dihedral:c3-os-n-c fourier 1 0.42 2 0.0 # c87 SS AUE=0.3019 RMSE=0.3567 TorType=3 + dihedral_coeff @dihedral:c3-os-nh-c2 fourier 1 1.15 1 0.0 # set3_13 SS AUE=0.9655 RMSE=1.1845 TorType=3 + dihedral_coeff @dihedral:c3-os-nh-ca fourier 1 0.5 1 0.0 # c157 SS AUE=0.8647 RMSE=1.0585 TorType=3 + dihedral_coeff @dihedral:c3-os-no-o fourier 1 2.515 2 180.0 # c168 SS AUE=0.3706 RMSE=0.4248 TorType=3 + dihedral_coeff @dihedral:c3-os-oh-ho fourier 1 1.01 2 0.0 # c178 SS AUE=0.2810 RMSE=0.3796 TorType=3 + dihedral_coeff @dihedral:c3-os-os-c3 fourier 1 0.38 1 0.0 # c187 SS AUE=0.4838 RMSE=0.6593 TorType=3 + dihedral_coeff @dihedral:c3-os-p2-c2 fourier 2 2.94 2 180.0 1.85 1 180.0 # c188 GA AUE=0.3661 RMSE=0.4565 TorType=3 + dihedral_coeff @dihedral:c3-p3-c2-c2 fourier 1 0.297 2 0.0 # c35 SS AUE=1.0902 RMSE=1.4763 TorType=3 + dihedral_coeff @dihedral:c3-p3-c2-c3 fourier 1 0.95 2 180.0 # set1_15 SS AUE=0.4182 RMSE=0.4905 TorType=3 + dihedral_coeff @dihedral:c3-p3-ca-ca fourier 1 0.177 2 180.0 # c72 SS AUE=0.2797 RMSE=0.3319 TorType=3 + dihedral_coeff @dihedral:c3-p3-n2-c2 fourier 1 5.0 2 180.0 # c105 SS AUE=0.8649 RMSE=1.0889 TorType=3 + dihedral_coeff @dihedral:c3-p3-n3-c3 fourier 1 2.85 2 0.0 # c120 SS AUE=0.8776 RMSE=1.2067 TorType=3 + dihedral_coeff @dihedral:c3-p3-n4-c3 fourier 1 0.067 3 0.0 # c134 SS AUE=0.1760 RMSE=0.2433 TorType=3 + dihedral_coeff @dihedral:c3-p3-na-cc fourier 1 1.025 2 0.0 # c147 SS AUE=0.2741 RMSE=0.3331 TorType=3 + dihedral_coeff @dihedral:c3-p3-n-c fourier 1 1.83 2 0.0 # c89 SS AUE=0.9690 RMSE=1.3708 TorType=3 + dihedral_coeff @dihedral:c3-p3-nh-c2 fourier 1 1.85 2 0.0 # set3_15 SS AUE=0.8611 RMSE=0.9832 TorType=3 + dihedral_coeff @dihedral:c3-p3-no-o fourier 1 1.4 2 180.0 # c170 SS AUE=0.5082 RMSE=0.5728 TorType=3 + dihedral_coeff @dihedral:c3-p3-oh-ho fourier 1 0.24 3 180.0 # c180 SS AUE=0.9983 RMSE=1.2838 TorType=3 + dihedral_coeff @dihedral:c3-p3-p2-c2 fourier 1 0.2 1 0.0 # c197 SS AUE=0.5014 RMSE=0.7016 TorType=3 + dihedral_coeff @dihedral:c3-p3-p3-c3 fourier 1 0.375 3 0.0 # c204 SS AUE=0.8032 RMSE=0.9405 TorType=3 + dihedral_coeff @dihedral:c3-p4-n3-c3 fourier 1 1.778 2 180.0 # c121 SS AUE=1.1246 RMSE=1.4091 TorType=3 + dihedral_coeff @dihedral:c3-p4-n4-hn fourier 1 0.005 3 0.0 # c135 SS AUE=0.2627 RMSE=0.3254 TorType=3 + dihedral_coeff @dihedral:c3-p4-na-cc fourier 2 1.0 3 0.0 0.64 2 180.0 # c148 GA AUE=0.9954 RMSE=1.1119 TorType=3 + dihedral_coeff @dihedral:c3-p4-nh-c2 fourier 1 0.9 1 0.0 # set3_16 SS AUE=1.0315 RMSE=1.1976 TorType=3 + dihedral_coeff @dihedral:c3-p4-nh-ca fourier 2 0.0 3 180.0 0.84 2 180.0 # c160 GA AUE=1.0676 RMSE=1.4622 TorType=3 + dihedral_coeff @dihedral:c3-p4-os-c3 fourier 1 0.6 2 180.0 # c190 SS AUE=0.5663 RMSE=0.6640 TorType=3 + dihedral_coeff @dihedral:c3-p4-p3-c3 fourier 1 1.4 1 0.0 # c205 SS AUE=0.7593 RMSE=0.9141 TorType=3 + dihedral_coeff @dihedral:c3-px-ca-ca fourier 1 0.432 2 180.0 # c73 SS AUE=0.4755 RMSE=0.6108 TorType=3 + dihedral_coeff @dihedral:c3-px-c-c3 fourier 2 0.0 2 0.0 0.58 1 180.0 # c16 GA AUE=1.0361 RMSE=1.3175 TorType=3 + dihedral_coeff @dihedral:c3-px-ce-c2 fourier 1 1.13 2 0.0 # c36 SS AUE=1.2444 RMSE=1.6024 TorType=3 + dihedral_coeff @dihedral:c3-px-ce-c3 fourier 1 0.81 2 180.0 # set1_16 SS AUE=0.9969 RMSE=1.2788 TorType=3 + dihedral_coeff @dihedral:c3-px-ne-c2 fourier 2 0.61 3 0.0 1.44 1 0.0 # c106 GA AUE=1.6606 RMSE=2.1207 TorType=3 + dihedral_coeff @dihedral:c3-px-pe-c2 fourier 1 1.565 2 0.0 # c198 SS AUE=1.0967 RMSE=1.2917 TorType=3 + dihedral_coeff @dihedral:c3-s4-c3-h1 fourier 1 0.117 3 0.0 # c59 SS AUE=0.2210 RMSE=0.2792 TorType=3 + dihedral_coeff @dihedral:c3-s4-n3-c3 fourier 1 3.1 2 0.0 # c125 SS AUE=1.3654 RMSE=1.8896 TorType=3 + dihedral_coeff @dihedral:c3-s4-n4-c3 fourier 1 0.2 3 0.0 # c139 SS AUE=0.7713 RMSE=0.9400 TorType=3 + dihedral_coeff @dihedral:c3-s4-na-cc fourier 1 0.55 2 0.0 # c152 SS AUE=0.5159 RMSE=0.7408 TorType=3 + dihedral_coeff @dihedral:c3-s4-nh-c2 fourier 3 0.235 2 180.0 0.5 3 0.0 1.302 1 0.0 # set3_20 GA AUE=1.5742 RMSE=1.9736 TorType=3 + dihedral_coeff @dihedral:c3-s4-no-o fourier 1 1.13 2 180.0 # c175 SS AUE=0.7753 RMSE=0.8760 TorType=3 + dihedral_coeff @dihedral:c3-s4-oh-ho fourier 1 0.0 1 180.0 # c185 SS AUE=1.7272 RMSE=2.1061 TorType=3 + dihedral_coeff @dihedral:c3-s4-os-c3 fourier 1 1.31 1 180.0 # c194 SS AUE=0.9618 RMSE=1.1506 TorType=3 + dihedral_coeff @dihedral:c3-s4-p3-c3 fourier 1 2.22 2 0.0 # c209 SS AUE=1.9189 RMSE=2.5861 TorType=3 + dihedral_coeff @dihedral:c3-s4-sh-hs fourier 2 0.0 3 0.0 0.56 2 180.0 # c224 GA AUE=1.1511 RMSE=1.3863 TorType=3 + dihedral_coeff @dihedral:c3-s4-ss-c3 fourier 1 0.05 3 0.0 # c227 SS AUE=0.7707 RMSE=0.9378 TorType=3 + dihedral_coeff @dihedral:c3-s6-c3-h1 fourier 1 0.089 3 0.0 # c60 SS AUE=0.0648 RMSE=0.0808 TorType=3 + dihedral_coeff @dihedral:c3-s6-n3-c3 fourier 1 3.61 2 0.0 # c126 SS AUE=1.8933 RMSE=2.6424 TorType=3 + dihedral_coeff @dihedral:c3-s6-n4-c3 fourier 1 1.47 1 0.0 # c140 SS AUE=0.2994 RMSE=0.3260 TorType=3 + dihedral_coeff @dihedral:c3-s6-na-cc fourier 1 3.938 2 180.0 # c153 SS AUE=0.8118 RMSE=1.0393 TorType=3 + dihedral_coeff @dihedral:c3-s6-n-c fourier 1 0.768 2 180.0 # c95 SS AUE=0.4645 RMSE=0.6488 TorType=3 + dihedral_coeff @dihedral:c3-s6-nh-c2 fourier 1 0.667 2 0.0 # set3_21 SS AUE=1.6191 RMSE=2.2150 TorType=3 + dihedral_coeff @dihedral:c3-s6-no-o fourier 1 0.348 2 0.0 # c176 SS AUE=0.2701 RMSE=0.3306 TorType=3 + dihedral_coeff @dihedral:c3-s6-oh-ho fourier 1 11.69 1 180.0 # c186 SS AUE=0.6401 RMSE=0.8081 TorType=3 + dihedral_coeff @dihedral:c3-s6-os-c3 fourier 1 0.533 2 180.0 # c195 SS AUE=0.9691 RMSE=1.1571 TorType=3 + dihedral_coeff @dihedral:c3-s6-p3-c3 fourier 1 0.183 3 0.0 # c210 SS AUE=0.5556 RMSE=0.6476 TorType=3 + dihedral_coeff @dihedral:c3-s6-sh-hs fourier 1 4.317 2 180.0 # c225 SS AUE=1.0170 RMSE=1.0970 TorType=3 + dihedral_coeff @dihedral:c3-s6-ss-c3 fourier 1 2.4 2 180.0 # c228 SS AUE=0.8201 RMSE=1.0146 TorType=3 + dihedral_coeff @dihedral:c3-ss-c2-c3 fourier 1 2.025 2 180.0 # set1_19 SS AUE=0.5269 RMSE=0.6098 TorType=3 + dihedral_coeff @dihedral:c3-ss-c3-c3 fourier 1 0.167 3 0.0 # p9 SS AUE=0.4614 RMSE=0.5750 TorType=3 + dihedral_coeff @dihedral:c3-ss-c3-h1 fourier 1 0.22 3 0.0 # c58 SS AUE=0.2551 RMSE=0.3303 TorType=3 + dihedral_coeff @dihedral:c3-ss-ca-ca fourier 1 0.75 2 180.0 # c76 SS AUE=0.2509 RMSE=0.3297 TorType=3 + dihedral_coeff @dihedral:c3-ss-n2-c2 fourier 2 1.35 2 180.0 1.38 1 180.0 # c109 GA AUE=0.6324 RMSE=0.7825 TorType=3 + dihedral_coeff @dihedral:c3-ss-n3-c3 fourier 1 2.68 2 0.0 # c124 SS AUE=1.0072 RMSE=1.2488 TorType=3 + dihedral_coeff @dihedral:c3-ss-n4-c3 fourier 1 0.39 3 0.0 # c138 SS AUE=0.3868 RMSE=0.4909 TorType=3 + dihedral_coeff @dihedral:c3-ss-n-c fourier 1 0.5 2 0.0 # c93 SS AUE=0.5560 RMSE=0.7560 TorType=3 + dihedral_coeff @dihedral:c3-ss-nh-c2 fourier 1 1.1 2 0.0 # set3_19 SS AUE=0.9372 RMSE=1.1240 TorType=3 + dihedral_coeff @dihedral:c3-ss-no-o fourier 1 2.295 2 180.0 # c174 SS AUE=0.3406 RMSE=0.3839 TorType=3 + dihedral_coeff @dihedral:c3-ss-oh-ho fourier 1 2.13 2 0.0 # c184 SS AUE=0.2806 RMSE=0.3277 TorType=3 + dihedral_coeff @dihedral:c3-ss-os-c3 fourier 1 1.74 2 0.0 # c193 SS AUE=0.5504 RMSE=0.6616 TorType=3 + dihedral_coeff @dihedral:c3-ss-p2-c2 fourier 1 2.97 2 180.0 # c201 SS AUE=0.8463 RMSE=1.2678 TorType=3 + dihedral_coeff @dihedral:c3-ss-p3-c3 fourier 1 3.75 2 0.0 # c208 SS AUE=0.5096 RMSE=0.5972 TorType=3 + dihedral_coeff @dihedral:c3-ss-p4-c3 fourier 1 0.57 2 180.0 # c214 SS AUE=0.7214 RMSE=0.9325 TorType=3 + dihedral_coeff @dihedral:c3-sx-ca-ca fourier 1 0.64 2 0.0 # c77 SS AUE=0.6566 RMSE=0.8245 TorType=3 + dihedral_coeff @dihedral:c3-sx-ce-c2 fourier 2 1.46 2 0.0 1.5 3 180.0 # c40 GA AUE=1.8189 RMSE=2.2140 TorType=3 + dihedral_coeff @dihedral:c3-sx-ce-c3 fourier 3 1.5 3 0.0 4.16 2 0.0 3.1 1 180.0 # set1_20 GA AUE=2.1436 RMSE=3.2053 TorType=3 + dihedral_coeff @dihedral:c3-sx-ne-c2 fourier 2 1.0 3 180.0 1.9 1 180.0 # c110 GA AUE=1.5150 RMSE=1.7663 TorType=3 + dihedral_coeff @dihedral:c3-sx-pe-c2 fourier 1 4.19 2 0.0 # c202 SS AUE=2.6033 RMSE=3.2866 TorType=3 + dihedral_coeff @dihedral:c3-sx-px-c3 fourier 1 2.67 1 0.0 # c215 SS AUE=0.8306 RMSE=1.0179 TorType=3 + dihedral_coeff @dihedral:c3-sx-sx-c3 fourier 1 2.92 1 0.0 # c229 SS AUE=2.7179 RMSE=3.6787 TorType=3 + dihedral_coeff @dihedral:c3-sx-sy-c3 fourier 1 4.94 2 180.0 # c230 SS AUE=1.7022 RMSE=1.9951 TorType=3 + dihedral_coeff @dihedral:c3-sy-ca-ca fourier 1 1.22 2 180.0 # c78 SS AUE=0.2941 RMSE=0.3313 TorType=3 + dihedral_coeff @dihedral:c3-sy-ce-c2 fourier 1 0.935 2 180.0 # c41 SS AUE=0.9708 RMSE=1.2822 TorType=3 + dihedral_coeff @dihedral:c3-sy-ce-c3 fourier 3 0.64 3 0.0 0.333 2 180.0 1.04 1 180.0 # set1_21 GA AUE=0.6383 RMSE=0.7388 TorType=3 + dihedral_coeff @dihedral:c3-sy-ne-c2 fourier 2 0.34 3 180.0 7.467 1 180.0 # c111 GA AUE=0.2248 RMSE=0.3231 TorType=3 + dihedral_coeff @dihedral:c3-sy-pe-c2 fourier 1 0.237 3 180.0 # c203 SS AUE=0.3743 RMSE=0.4294 TorType=3 + dihedral_coeff @dihedral:c3-sy-px-c3 fourier 1 0.062 3 0.0 # c216 SS AUE=0.6353 RMSE=0.7537 TorType=3 + dihedral_coeff @dihedral:c3-sy-sy-c3 fourier 1 0.378 2 0.0 # c231 SS AUE=1.1799 RMSE=1.3634 TorType=3 + dihedral_coeff @dihedral:ca-c3-c3-c fourier 1 0.1 3 0.0 # p22 SS AUE=0.8008 RMSE=1.0051 TorType=3 + dihedral_coeff @dihedral:ca-c3-c3-n fourier 1 0.21 3 0.0 # p16 SS AUE=0.6330 RMSE=0.8053 TorType=3 + dihedral_coeff @dihedral:ca-ca-c3-ca fourier 1 0.0 2 180.0 # t1 SS AUE=0.1988 RMSE=0.2606 TorType=3 + dihedral_coeff @dihedral:ca-ca-ce-c2 fourier 1 0.618 2 180.0 # c24 SS AUE=0.2364 RMSE=0.3330 TorType=3 + dihedral_coeff @dihedral:ca-ca-ce-c3 fourier 1 0.54 2 180.0 # set1_4 SS AUE=0.2602 RMSE=0.3333 TorType=3 + dihedral_coeff @dihedral:ca-ca-os-c fourier 1 0.65 2 180.0 # t35b SS AUE=0.2491 RMSE=0.3333 TorType=3 + dihedral_coeff @dihedral:ca-cf-ce-ca fourier 1 8.51 2 180.0 # add6b SS AUE=4.0000 RMSE=5.4296 TorType=3 + dihedral_coeff @dihedral:ca-c-os-c3 fourier 1 2.685 2 180.0 # t36b SS AUE=1.2217 RMSE=1.4489 TorType=3 + dihedral_coeff @dihedral:ca-cp-cp-ca fourier 1 0.795 2 180.0 # c61 SS AUE=0.2914 RMSE=0.3303 TorType=3 + dihedral_coeff @dihedral:ca-nh-c2-c2 fourier 1 1.92 1 180.0 # c30 SS AUE=0.8599 RMSE=1.1406 TorType=3 + dihedral_coeff @dihedral:ca-nh-n2-c2 fourier 3 1.37 3 180.0 2.0 2 0.0 0.0 1 180.0 # c100 GA AUE=2.0208 RMSE=2.4869 TorType=3 + dihedral_coeff @dihedral:ca-nh-n4-c3 fourier 1 0.1 3 0.0 # c129 SS AUE=1.1901 RMSE=1.4071 TorType=3 + dihedral_coeff @dihedral:ca-nh-na-cd fourier 1 0.7 2 0.0 # c142 SS AUE=0.5118 RMSE=0.8838 TorType=3 + dihedral_coeff @dihedral:ca-nh-n-c fourier 1 0.605 2 0.0 # c84 SS AUE=1.2184 RMSE=1.3197 TorType=3 + dihedral_coeff @dihedral:ca-nh-nh-c2 fourier 1 1.49 3 0.0 # set3_10 SS AUE=2.7548 RMSE=3.5233 TorType=3 + dihedral_coeff @dihedral:ca-nh-nh-ca fourier 1 4.59 1 0.0 # c154 SS AUE=3.6427 RMSE=5.6136 TorType=3 + dihedral_coeff @dihedral:ca-nh-no-o fourier 1 0.62 2 180.0 # c155 SS AUE=1.3263 RMSE=1.9039 TorType=3 + dihedral_coeff @dihedral:ca-nh-p3-c3 fourier 2 1.94 2 180.0 0.54 3 0.0 # c159 GA AUE=0.8724 RMSE=1.1678 TorType=3 + dihedral_coeff @dihedral:ca-nh-p5-os fourier 1 0.467 2 0.0 # c161 SS AUE=0.8323 RMSE=0.9798 TorType=3 + dihedral_coeff @dihedral:ca-nh-s4-c3 fourier 2 1.245 2 0.0 0.225 3 0.0 # c164 GA AUE=1.5450 RMSE=1.8592 TorType=3 + dihedral_coeff @dihedral:ca-nh-s6-c3 fourier 1 1.93 3 0.0 # c165 SS AUE=0.7711 RMSE=0.9257 TorType=3 + dihedral_coeff @dihedral:ca-nh-ss-c3 fourier 2 1.29 2 180.0 1.19 1 180.0 # c163 GA AUE=0.9564 RMSE=1.5597 TorType=3 + dihedral_coeff @dihedral:ca-nh-sy-ca fourier 2 0.1 2 180.0 0.99 3 0.0 # add6a SS AUE=0.6854 RMSE=0.9512 TorType=3 + dihedral_coeff @dihedral:ca-os-c-o fourier 1 1.275 2 180.0 # t35a SS AUE=1.2481 RMSE=1.5211 TorType=3 + dihedral_coeff @dihedral:c-c3-c3-n fourier 1 0.21 3 0.0 # p26 SS AUE=1.0437 RMSE=1.3000 TorType=3 + dihedral_coeff @dihedral:c-c3-n-c fourier 2 0.39 2 180.0 0.64 1 0.0 # p18 GA AUE=0.4030 RMSE=0.5768 TorType=3 + dihedral_coeff @dihedral:cc-na-c2-c2 fourier 1 0.728 2 180.0 # c29 SS AUE=0.2592 RMSE=0.3329 TorType=3 + dihedral_coeff @dihedral:cc-na-c2-c3 fourier 1 1.125 2 180.0 # set1_9 SS AUE=0.3784 RMSE=0.4839 TorType=3 + dihedral_coeff @dihedral:cc-na-ca-ca fourier 1 0.603 2 180.0 # c66 SS AUE=0.2705 RMSE=0.3328 TorType=3 + dihedral_coeff @dihedral:cc-na-na-cd fourier 1 0.4 2 0.0 # c141 SS AUE=0.5320 RMSE=0.6402 TorType=3 + dihedral_coeff @dihedral:cc-na-nh-c2 fourier 1 0.7 2 0.0 # set3_9 SS AUE=0.7727 RMSE=0.9375 TorType=3 + dihedral_coeff @dihedral:cc-n-c-c3 fourier 1 0.5 2 180.0 # set2_9 SS AUE=0.2224 RMSE=0.3240 TorType=3 + dihedral_coeff @dihedral:cd-cc-c3-c3 fourier 1 0.157 3 180.0 # p1 SS AUE=0.2727 RMSE=0.3320 TorType=3 + dihedral_coeff @dihedral:cd-na-c3-na fourier 1 0.023 2 0.0 # t16 SS AUE=0.2606 RMSE=0.3332 TorType=3 + dihedral_coeff @dihedral:c-n-c2-c3 fourier 1 1.51 1 180.0 # set1_5 SS AUE=0.6699 RMSE=0.8754 TorType=3 + dihedral_coeff @dihedral:c-n-c3-n fourier 1 2.08 2 0.0 # t17 SS AUE=0.8425 RMSE=1.0798 TorType=3 + dihedral_coeff @dihedral:c-n-ca-ca fourier 1 0.95 2 180.0 # c62 SS AUE=0.8788 RMSE=0.9694 TorType=3 + dihedral_coeff @dihedral:c-n-n-c fourier 2 3.0 2 180.0 2.49 1 0.0 # c79 GA AUE=1.1290 RMSE=1.3734 TorType=3 + dihedral_coeff @dihedral:c-n-nh-c2 fourier 1 0.6 2 0.0 # set3_5 SS AUE=0.7968 RMSE=0.8909 TorType=3 + dihedral_coeff @dihedral:c-os-c-c3 fourier 1 1.98 1 180.0 # set3_29 SS AUE=0.2568 RMSE=0.3303 TorType=3 + dihedral_coeff @dihedral:cz-nh-c3-c3 fourier 1 0.248 2 180.0 # p11 SS AUE=0.2819 RMSE=0.3532 TorType=3 + dihedral_coeff @dihedral:h1-c3-n2-c2 fourier 1 0.165 3 180.0 # c45 SS AUE=0.6984 RMSE=0.9045 TorType=3 + dihedral_coeff @dihedral:h1-c3-n3-c3 fourier 1 0.225 3 0.0 # c46 SS AUE=0.2936 RMSE=0.3481 TorType=3 + dihedral_coeff @dihedral:h1-c3-na-cc fourier 1 0.0 2 180.0 # c48 SS AUE=0.0685 RMSE=0.0813 TorType=3 + dihedral_coeff @dihedral:h1-c3-n-c fourier 1 0.0 2 180.0 # c44 SS AUE=0.1670 RMSE=0.1874 TorType=3 + dihedral_coeff @dihedral:h1-c3-nh-ca fourier 1 0.332 2 0.0 # c49 SS AUE=1.0901 RMSE=1.3252 TorType=3 + dihedral_coeff @dihedral:h1-c3-no-o fourier 1 0.0 2 180.0 # c50 SS AUE=0.0210 RMSE=0.0225 TorType=3 + dihedral_coeff @dihedral:h1-c3-os-p5 fourier 1 0.217 3 0.0 # c56 SS AUE=0.3987 RMSE=0.4985 TorType=3 + dihedral_coeff @dihedral:hc-c3-c2-c3 fourier 1 0.31 2 0.0 # set1_3 SS AUE=0.6796 RMSE=0.8466 TorType=3 + dihedral_coeff @dihedral:hc-c3-c3-i fourier 1 0.21 3 0.0 # m6 SS AUE=0.3234 RMSE=0.3857 TorType=3 + dihedral_coeff @dihedral:hc-c3-c3-n3 fourier 1 0.1 3 0.0 # m12 SS AUE=0.1396 RMSE=0.1646 TorType=3 + dihedral_coeff @dihedral:hc-c3-ca-ca fourier 1 0.0 2 180.0 # c43 SS AUE=0.0203 RMSE=0.0347 TorType=3 + dihedral_coeff @dihedral:hc-c3-p2-c2 fourier 1 0.933 2 180.0 # c53 SS AUE=0.3657 RMSE=0.4529 TorType=3 + dihedral_coeff @dihedral:hc-c3-p3-c3 fourier 1 0.145 3 0.0 # c54 SS AUE=0.2605 RMSE=0.3289 TorType=3 + dihedral_coeff @dihedral:hc-c3-p4-c3 fourier 1 0.05 3 0.0 # c55 SS AUE=0.1589 RMSE=0.2005 TorType=3 + dihedral_coeff @dihedral:hn-n3-c3-c3 fourier 1 0.217 3 0.0 # m20 SS AUE=0.7039 RMSE=0.8271 TorType=3 + dihedral_coeff @dihedral:hn-n4-c2-c2 fourier 1 0.082 3 180.0 # c28 SS AUE=0.6341 RMSE=0.7948 TorType=3 + dihedral_coeff @dihedral:hn-n4-c2-c3 fourier 1 0.087 3 0.0 # set1_8 SS AUE=0.2828 RMSE=0.3296 TorType=3 + dihedral_coeff @dihedral:hn-n4-c3-hx fourier 1 0.109 3 0.0 # c47 SS AUE=0.2716 RMSE=0.3296 TorType=3 + dihedral_coeff @dihedral:hn-n4-n2-c2 fourier 1 8.663 2 180.0 # c98 SS AUE=0.3876 RMSE=0.4783 TorType=3 + dihedral_coeff @dihedral:hn-n4-n3-c3 fourier 1 0.188 3 0.0 # c113 SS AUE=0.3464 RMSE=0.4155 TorType=3 + dihedral_coeff @dihedral:hn-n4-na-cd fourier 1 0.15 3 0.0 # c128 SS AUE=0.1276 RMSE=0.1509 TorType=3 + dihedral_coeff @dihedral:hn-n4-n-c fourier 1 1.445 2 0.0 # c82 SS AUE=0.4066 RMSE=0.5885 TorType=3 + dihedral_coeff @dihedral:hn-n4-nh-c2 fourier 1 0.213 3 0.0 # set3_8 SS AUE=0.2620 RMSE=0.3316 TorType=3 + dihedral_coeff @dihedral:hn-nh-na-cd fourier 1 0.802 2 0.0 # c114 SS AUE=0.2869 RMSE=0.3676 TorType=3 + dihedral_coeff @dihedral:ho-oh-c2-c2 fourier 1 1.12 2 180.0 # c32 SS AUE=0.2661 RMSE=0.3303 TorType=3 + dihedral_coeff @dihedral:ho-oh-c2-c3 fourier 1 1.51 1 180.0 # set1_12 SS AUE=1.5331 RMSE=1.7625 TorType=3 + dihedral_coeff @dihedral:ho-oh-c3-h1 fourier 1 0.113 3 0.0 # c51 SS AUE=0.2631 RMSE=0.3230 TorType=3 + dihedral_coeff @dihedral:ho-oh-ca-ca fourier 1 0.835 2 180.0 # c69 SS AUE=0.2718 RMSE=0.3256 TorType=3 + dihedral_coeff @dihedral:ho-oh-n2-c2 fourier 1 2.37 2 180.0 # c102 SS AUE=0.3163 RMSE=0.3944 TorType=3 + dihedral_coeff @dihedral:ho-oh-n3-c3 fourier 1 1.23 2 0.0 # c117 SS AUE=0.7804 RMSE=0.9479 TorType=3 + dihedral_coeff @dihedral:ho-oh-n4-c3 fourier 1 0.34 3 0.0 # c131 SS AUE=0.4375 RMSE=0.5350 TorType=3 + dihedral_coeff @dihedral:ho-oh-na-cc fourier 1 0.44 2 0.0 # c144 SS AUE=0.2865 RMSE=0.3255 TorType=3 + dihedral_coeff @dihedral:ho-oh-nh-c2 fourier 1 0.85 2 0.0 # set3_12 SS AUE=0.6311 RMSE=0.7217 TorType=3 + dihedral_coeff @dihedral:ho-oh-no-o fourier 1 1.36 2 180.0 # c167 SS AUE=0.2872 RMSE=0.3226 TorType=3 + dihedral_coeff @dihedral:ho-oh-oh-ho fourier 1 1.21 2 0.0 # c177 SS AUE=0.6716 RMSE=0.7402 TorType=3 + dihedral_coeff @dihedral:ho-oh-p2-c2 fourier 1 1.41 2 180.0 # c179 SS AUE=0.6083 RMSE=0.8611 TorType=3 + dihedral_coeff @dihedral:ho-oh-p4-c3 fourier 1 0.83 1 180.0 # c181 SS AUE=0.8966 RMSE=1.0772 TorType=3 + dihedral_coeff @dihedral:ho-oh-p5-o fourier 1 0.367 3 0.0 # c182 SS AUE=0.8891 RMSE=1.0397 TorType=3 + dihedral_coeff @dihedral:hs-sh-c2-c2 fourier 1 0.64 2 180.0 # c38 SS AUE=0.5356 RMSE=0.6146 TorType=3 + dihedral_coeff @dihedral:hs-sh-c2-c3 fourier 1 1.46 1 180.0 # set1_18 SS AUE=1.6292 RMSE=1.8635 TorType=3 + dihedral_coeff @dihedral:hs-sh-c3-h1 fourier 1 0.143 3 0.0 # c57 SS AUE=0.2676 RMSE=0.3251 TorType=3 + dihedral_coeff @dihedral:hs-sh-ca-ca fourier 1 0.105 2 180.0 # c75 SS AUE=0.2588 RMSE=0.3299 TorType=3 + dihedral_coeff @dihedral:hs-sh-n2-c2 fourier 1 1.91 2 180.0 # c108 SS AUE=0.5066 RMSE=0.9568 TorType=3 + dihedral_coeff @dihedral:hs-sh-n3-c3 fourier 1 3.34 2 0.0 # c123 SS AUE=1.0521 RMSE=1.3809 TorType=3 + dihedral_coeff @dihedral:hs-sh-n4-c3 fourier 1 0.5 3 0.0 # c137 SS AUE=1.0514 RMSE=1.3202 TorType=3 + dihedral_coeff @dihedral:hs-sh-na-cc fourier 1 1.255 2 0.0 # c150 SS AUE=0.2920 RMSE=0.3622 TorType=3 + dihedral_coeff @dihedral:hs-sh-nh-c2 fourier 1 0.795 2 0.0 # set3_18 SS AUE=1.0130 RMSE=1.2554 TorType=3 + dihedral_coeff @dihedral:hs-sh-no-o fourier 1 1.3 2 180.0 # c173 SS AUE=0.2229 RMSE=0.2551 TorType=3 + dihedral_coeff @dihedral:hs-sh-oh-ho fourier 1 2.01 2 0.0 # c183 SS AUE=0.2853 RMSE=0.3308 TorType=3 + dihedral_coeff @dihedral:hs-sh-os-c3 fourier 1 1.85 2 0.0 # c192 SS AUE=0.4441 RMSE=0.5536 TorType=3 + dihedral_coeff @dihedral:hs-sh-p2-c2 fourier 1 0.89 2 180.0 # c200 SS AUE=0.2562 RMSE=0.3521 TorType=3 + dihedral_coeff @dihedral:hs-sh-p3-c3 fourier 1 3.6 2 0.0 # c207 SS AUE=0.5012 RMSE=0.6062 TorType=3 + dihedral_coeff @dihedral:hs-sh-p4-c3 fourier 1 0.585 1 180.0 # c213 SS AUE=1.2130 RMSE=1.4705 TorType=3 + dihedral_coeff @dihedral:hs-sh-p5-os fourier 2 2.89 2 0.0 1.29 1 0.0 # c218 GA AUE=0.8635 RMSE=1.2959 TorType=3 + dihedral_coeff @dihedral:hs-sh-sh-hs fourier 1 2.64 2 0.0 # c222 SS AUE=0.2962 RMSE=0.3759 TorType=3 + dihedral_coeff @dihedral:n2-c2-c3-c2 fourier 1 0.558 2 180.0 # t9 SS AUE=0.7685 RMSE=0.9760 TorType=3 + dihedral_coeff @dihedral:n3-c3-c3-c3 fourier 1 0.21 3 0.0 # p8 SS AUE=0.4096 RMSE=0.5005 TorType=3 + dihedral_coeff @dihedral:n3-c3-c3-ca fourier 1 0.1 3 0.0 # m16 SS AUE=0.8325 RMSE=1.0411 TorType=3 + dihedral_coeff @dihedral:n3-c3-n3-hn fourier 1 1.75 2 0.0 # t13 SS AUE=0.6939 RMSE=0.8306 TorType=3 + dihedral_coeff @dihedral:n4-c3-c3-c3 fourier 1 0.21 3 0.0 # p12 SS AUE=0.5399 RMSE=0.6216 TorType=3 + dihedral_coeff @dihedral:n4-c3-n4-hn fourier 1 0.1 3 0.0 # t26 SS AUE=0.0245 RMSE=0.0373 TorType=3 + dihedral_coeff @dihedral:n-c3-c3-c3 fourier 1 0.1 3 0.0 # p23 SS AUE=0.2641 RMSE=0.3317 TorType=3 + dihedral_coeff @dihedral:nh-c3-c3-c3 fourier 1 0.21 3 0.0 # p13 SS AUE=0.8361 RMSE=0.9491 TorType=3 + dihedral_coeff @dihedral:o-c-c3-c3 fourier 1 0.27 2 180.0 # p14 SS AUE=0.2361 RMSE=0.3321 TorType=3 + dihedral_coeff @dihedral:oh-c3-c3-c3 fourier 1 0.21 3 0.0 # p7 SS AUE=0.6517 RMSE=0.7713 TorType=3 + dihedral_coeff @dihedral:oh-c3-c3-c fourier 1 0.21 3 0.0 # p25 SS AUE=0.3653 RMSE=0.6406 TorType=3 + dihedral_coeff @dihedral:oh-c3-c3-n fourier 1 0.101 3 0.0 # p24 SS AUE=0.9998 RMSE=1.2475 TorType=3 + dihedral_coeff @dihedral:oh-c3-oh-ho fourier 1 1.57 2 0.0 # t11 SS AUE=0.6180 RMSE=0.8544 TorType=3 + dihedral_coeff @dihedral:o-no-c2-c2 fourier 1 0.398 2 180.0 # c31 SS AUE=0.2143 RMSE=0.3292 TorType=3 + dihedral_coeff @dihedral:o-no-c2-c3 fourier 1 0.66 2 180.0 # set1_11 SS AUE=0.2915 RMSE=0.3323 TorType=3 + dihedral_coeff @dihedral:o-no-c3-no fourier 1 5.02 2 180.0 # t15 SS AUE=0.7609 RMSE=0.9238 TorType=3 + dihedral_coeff @dihedral:o-no-ca-ca fourier 1 0.7 2 180.0 # c68 SS AUE=0.2638 RMSE=0.3293 TorType=3 + dihedral_coeff @dihedral:o-no-cd-cc fourier 1 1.075 2 180.0 # add6e SS AUE=0.2138 RMSE=0.3290 TorType=3 + dihedral_coeff @dihedral:o-no-n2-c2 fourier 1 1.03 2 180.0 # c101 SS AUE=0.3306 RMSE=0.4189 TorType=3 + dihedral_coeff @dihedral:o-no-n3-c3 fourier 1 2.17 2 180.0 # c116 SS AUE=2.5004 RMSE=3.2115 TorType=3 + dihedral_coeff @dihedral:o-no-n4-c3 fourier 1 1.25 2 180.0 # c130 SS AUE=0.1901 RMSE=0.4144 TorType=3 + dihedral_coeff @dihedral:o-no-na-cc fourier 1 1.09 2 180.0 # c143 SS AUE=0.5033 RMSE=0.6912 TorType=3 + dihedral_coeff @dihedral:o-no-nh-c2 fourier 1 0.0 2 180.0 # set3_11 SS AUE=2.0620 RMSE=2.8356 TorType=3 + dihedral_coeff @dihedral:o-no-no-o fourier 2 0.15 4 180.0 1.45 2 180.0 # c166 GA AUE=0.3903 RMSE=0.4419 TorType=3 + dihedral_coeff @dihedral:o-no-p2-c2 fourier 1 0.99 2 180.0 # c169 SS AUE=0.2765 RMSE=0.3321 TorType=3 + dihedral_coeff @dihedral:o-no-p4-c3 fourier 1 0.502 2 180.0 # c171 SS AUE=0.3449 RMSE=0.3960 TorType=3 + dihedral_coeff @dihedral:o-py-ne-c2 fourier 2 0.9 3 180.0 2.46 1 0.0 # c107 GA AUE=0.4990 RMSE=0.6000 TorType=3 + dihedral_coeff @dihedral:o-s4-c3-s4 fourier 1 1.34 1 180.0 # t25 SS AUE=1.1411 RMSE=1.4982 TorType=3 + dihedral_coeff @dihedral:o-s6-c3-s6 fourier 1 0.092 3 0.0 # t24 SS AUE=0.4257 RMSE=0.4949 TorType=3 + dihedral_coeff @dihedral:os-c-c3-c fourier 2 2.0 2 180.0 1.85 1 180.0 # t42 GA AUE=0.4321 RMSE=0.5299 TorType=3 + dihedral_coeff @dihedral:os-p3-os-c3 fourier 1 2.04 2 0.0 # c189 SS AUE=1.0926 RMSE=1.3514 TorType=3 + dihedral_coeff @dihedral:os-p5-n3-c3 fourier 1 5.0 2 180.0 # c122 SS AUE=2.8241 RMSE=3.6042 TorType=3 + dihedral_coeff @dihedral:os-p5-n4-c3 fourier 1 0.143 3 0.0 # c136 SS AUE=0.4630 RMSE=0.6433 TorType=3 + dihedral_coeff @dihedral:os-p5-na-cc fourier 1 2.18 2 180.0 # c149 SS AUE=0.6556 RMSE=0.9113 TorType=3 + dihedral_coeff @dihedral:os-p5-nh-c2 fourier 1 0.5 2 0.0 # set3_17 SS AUE=0.9578 RMSE=1.1771 TorType=3 + dihedral_coeff @dihedral:os-p5-no-o fourier 2 2.733 2 0.0 0.317 3 0.0 # c172 GA AUE=0.6484 RMSE=0.8206 TorType=3 + dihedral_coeff @dihedral:os-p5-p3-c3 fourier 1 2.005 2 180.0 # c206 SS AUE=1.1482 RMSE=1.4324 TorType=3 + dihedral_coeff @dihedral:os-p5-ss-c3 fourier 1 4.467 2 180.0 # c219 SS AUE=0.9050 RMSE=1.1227 TorType=3 + dihedral_coeff @dihedral:os-py-ca-ca fourier 1 1.8 2 180.0 # c74 SS AUE=0.8528 RMSE=1.0796 TorType=3 + dihedral_coeff @dihedral:os-py-ce-c2 fourier 1 1.767 2 180.0 # c37 SS AUE=0.8275 RMSE=1.0644 TorType=3 + dihedral_coeff @dihedral:os-py-ce-c3 fourier 1 4.2 2 180.0 # set1_17 SS AUE=0.9222 RMSE=1.1571 TorType=3 + dihedral_coeff @dihedral:os-py-pe-c2 fourier 1 2.567 1 0.0 # c199 SS AUE=0.6931 RMSE=0.8807 TorType=3 + dihedral_coeff @dihedral:os-py-py-c3 fourier 1 0.386 2 0.0 # c212 SS AUE=0.6618 RMSE=0.8385 TorType=3 + dihedral_coeff @dihedral:os-py-py-os fourier 1 0.387 2 0.0 # c217 SS AUE=0.6636 RMSE=1.0913 TorType=3 + dihedral_coeff @dihedral:os-py-sx-c3 fourier 1 0.348 3 0.0 # c220 SS AUE=0.6436 RMSE=0.8137 TorType=3 + dihedral_coeff @dihedral:os-py-sy-c3 fourier 2 2.86 2 0.0 0.38 1 0.0 # c221 GA AUE=1.1694 RMSE=1.4143 TorType=3 + dihedral_coeff @dihedral:p3-c3-p3-hp fourier 1 0.215 3 0.0 # t19 SS AUE=1.0811 RMSE=1.2418 TorType=3 + dihedral_coeff @dihedral:s-c-c3-c fourier 1 0.332 2 180.0 # t10 SS AUE=0.9021 RMSE=1.2368 TorType=3 + dihedral_coeff @dihedral:sh-c3-c3-n fourier 1 0.21 3 0.0 # p4 SS AUE=1.1296 RMSE=1.3941 TorType=3 + dihedral_coeff @dihedral:sh-c3-sh-hs fourier 1 0.083 3 0.0 # t22 SS AUE=0.4554 RMSE=0.5406 TorType=3 + dihedral_coeff @dihedral:ss-c3-ss-c3 fourier 1 0.497 3 0.0 # t23 SS AUE=0.5714 RMSE=0.8553 TorType=3 + dihedral_coeff @dihedral:c3-c3-ca-ca fourier 1 0.245 2 180.0 # m15,m17 SS AUE=0.2499 RMSE=0.3414 TorType=3 + dihedral_coeff @dihedral:c3-c3-c-o fourier 3 0.03 2 180.0 0.55 3 180.0 0.74 1 0.0 # sialic1,t37,t41 GA AUE=0.7374 RMSE=0.9897 TorType=3 + dihedral_coeff @dihedral:c3-c3-os-c3 fourier 3 0.91 3 0.0 1.0 2 0.0 0.0 1 0.0 # lactose1,ccoc GA AUE=1.5236 RMSE=2.4206 TorType=3 + dihedral_coeff @dihedral:ca-ca-c-o fourier 1 0.5225 2 180.0 # phcooh,t36a SS AUE=0.2702 RMSE=0.3317 TorType=3 + dihedral_coeff @dihedral:o-c-c3-c fourier 2 1.36 1 0.0 0.18 3 180.0 # t6,t7,t8 GA AUE=0.3790 RMSE=0.4991 TorType=3 + dihedral_coeff @dihedral:os-c3-c-o fourier 3 0.63 2 180.0 1.0 3 180.0 0.08 1 0.0 # iduronic2,t39,t40 GA AUE=1.0545 RMSE=1.4852 TorType=3 + dihedral_coeff @dihedral:c2-ce-cs-c3 fourier 1 2.18 2 0.0 # set2_2 SS AUE=0.8412 RMSE=1.0280 TorType=3 + dihedral_coeff @dihedral:c2-ce-c-c3 fourier 1 2.97 2 0.0 # c2 SS AUE=0.5377 RMSE=0.6518 TorType=3 + dihedral_coeff @dihedral:c2-ce-ce-c2 fourier 1 0.5 2 180.0 # c232,t3 SS AUE=0.7154 RMSE=0.9564 TorType=3 + dihedral_coeff @dihedral:c2-n-c-c3 fourier 1 0.77 1 180.0 # set3_1 SS AUE=1.1124 RMSE=1.4578 TorType=3 + dihedral_coeff @dihedral:c2-n-cs-c3 fourier 1 2.833 2 180.0 # set3_27 SS AUE=0.3805 RMSE=0.4661 TorType=3 + dihedral_coeff @dihedral:c2-ne-c-c3 fourier 1 2.08 1 180.0 # c6 SS AUE=0.4876 RMSE=0.8222 TorType=3 + dihedral_coeff @dihedral:c2-ne-cs-c3 fourier 1 4.67 1 180.0 # set2_6 SS AUE=1.2531 RMSE=1.5945 TorType=3 + dihedral_coeff @dihedral:c2-pe-c-c3 fourier 1 1.75 1 180.0 # c14 SS AUE=1.0447 RMSE=1.2490 TorType=3 + dihedral_coeff @dihedral:c2-pe-cs-c3 fourier 1 2.96 1 180.0 # set2_14 SS AUE=0.8598 RMSE=1.0604 TorType=3 + dihedral_coeff @dihedral:c3-cs-cs-c3 fourier 1 0.455 2 180.0 # set3_23 SS AUE=0.7278 RMSE=1.0389 TorType=3 + dihedral_coeff @dihedral:c3-c-c-c3 fourier 1 0.512 2 180.0 # c1 SS AUE=0.2443 RMSE=0.3313 TorType=3 + dihedral_coeff @dihedral:c3-c-cs-c3 fourier 1 0.8 2 180.0 # set2_1 SS AUE=1.0068 RMSE=1.3922 TorType=3 + dihedral_coeff @dihedral:c3-c-n-ca fourier 2 0.75 2 180.0 0.5 3 0.0 # c10 GA AUE=1.0418 RMSE=1.1578 TorType=3 + dihedral_coeff @dihedral:c3-cs-n-ca fourier 1 3.913 2 180.0 # set2_10 SS AUE=1.3234 RMSE=1.7703 TorType=3 + dihedral_coeff @dihedral:c3-n7-c3-c3 fourier 2 0.02 3 180.0 0.05 2 0.0 # m13 GA AUE=0.3404 RMSE=0.4405 TorType=3 + dihedral_coeff @dihedral:c3-n3-c3-c3 fourier 2 0.58 3 0.0 0.28 2 180.0 # m14 GA AUE=0.4298 RMSE=0.5205 TorType=3 + dihedral_coeff @dihedral:c3-n-cs-c3 fourier 2 2.0 2 180.0 2.31 1 0.0 # set2_7 GA AUE=0.7571 RMSE=0.9582 TorType=3 + dihedral_coeff @dihedral:c3-nu-ca-ca fourier 1 0.55 2 180.0 # c67 SS AUE=0.5825 RMSE=0.8345 TorType=3 + dihedral_coeff @dihedral:c3-nh-ca-ca fourier 1 0.733 2 180.0 # c64 SS AUE=0.6264 RMSE=0.7797 TorType=3 + dihedral_coeff @dihedral:c3-os-cs-c3 fourier 3 0.12 1 0.0 3.47 2 180.0 0.73 3 0.0 # set2_13 GA AUE=0.2180 RMSE=0.2948 TorType=3 + dihedral_coeff @dihedral:c3-p3-c-c3 fourier 1 1.538 2 180.0 # c15 SS AUE=0.3737 RMSE=0.4391 TorType=3 + dihedral_coeff @dihedral:c3-p3-cs-c3 fourier 1 2.05 2 180.0 # set2_15 SS AUE=0.4669 RMSE=0.6407 TorType=3 + dihedral_coeff @dihedral:c3-ss-c-c3 fourier 1 2.1 2 180.0 # c19 SS AUE=0.9147 RMSE=1.1012 TorType=3 + dihedral_coeff @dihedral:c3-ss-cs-c3 fourier 1 3.585 2 180.0 # set2_19 SS AUE=0.3546 RMSE=0.4561 TorType=3 + dihedral_coeff @dihedral:c3-sx-c-c3 fourier 2 0.95 2 0.0 1.46 1 180.0 # c20 GA AUE=1.4077 RMSE=1.8160 TorType=3 + dihedral_coeff @dihedral:c3-sx-cs-c3 fourier 2 0.0 2 180.0 0.82 1 180.0 # set2_20 GA AUE=1.3014 RMSE=1.5331 TorType=3 + dihedral_coeff @dihedral:c3-sy-cs-c3 fourier 1 0.167 2 0.0 # set2_21 SS AUE=0.4320 RMSE=0.5527 TorType=3 + dihedral_coeff @dihedral:c3-sy-c-c3 fourier 1 0.833 2 0.0 # c21 SS AUE=1.1437 RMSE=1.4496 TorType=3 + dihedral_coeff @dihedral:ca-ca-c-c3 fourier 1 0.552 2 180.0 # c4 SS AUE=0.2254 RMSE=0.3313 TorType=3 + dihedral_coeff @dihedral:ca-ca-cs-c3 fourier 1 0.63 2 180.0 # set2_4 SS AUE=0.2690 RMSE=0.3277 TorType=3 + dihedral_coeff @dihedral:c-c3-c3-c3 fourier 1 0.1 3 0.0 # p15,p21 SS AUE=0.6594 RMSE=0.8092 TorType=3 + dihedral_coeff @dihedral:c-n-cs-c3 fourier 1 0.57 2 0.0 # set2_5 SS AUE=1.0844 RMSE=1.5574 TorType=3 + dihedral_coeff @dihedral:c-n-c-c3 fourier 2 0.0 2 180.0 1.72 1 180.0 # set3_28 GA AUE=1.6503 RMSE=2.2241 TorType=3 + dihedral_coeff @dihedral:hc-c3-c-c3 fourier 1 0.0 2 0.0 # c3 SS AUE=0.0845 RMSE=0.1001 TorType=3 + dihedral_coeff @dihedral:hc-c3-cs-c3 fourier 1 0.665 2 0.0 # set2_3 SS AUE=0.5619 RMSE=0.7242 TorType=3 + dihedral_coeff @dihedral:hn-n4-c-c3 fourier 2 1.025 2 180.0 0.365 4 180.0 # c8 GA AUE=0.2852 RMSE=0.3192 TorType=3 + dihedral_coeff @dihedral:hn-n4-cs-c3 fourier 2 0.95 2 180.0 0.745 4 0.0 # set2_8 GA AUE=0.7027 RMSE=0.8556 TorType=3 + dihedral_coeff @dihedral:ho-oh-c-c3 fourier 1 1.78 2 180.0 # c12 SS AUE=0.3293 RMSE=0.3814 TorType=3 + dihedral_coeff @dihedral:ho-oh-cs-c3 fourier 1 2.92 2 180.0 # set2_12 SS AUE=0.3286 RMSE=0.4081 TorType=3 + dihedral_coeff @dihedral:hs-sh-cs-c3 fourier 2 2.69 2 180.0 1.39 1 180.0 # set2_18 GA AUE=0.2516 RMSE=0.2978 TorType=3 + dihedral_coeff @dihedral:o-n-c-c3 fourier 1 0.37 2 180.0 # c11 SS AUE=0.3392 RMSE=0.4173 TorType=3 + dihedral_coeff @dihedral:o-n-cs-c3 fourier 1 0.52 2 0.0 # set2_11 SS AUE=0.2859 RMSE=0.3263 TorType=3 + dihedral_coeff @dihedral:o-p5-c3-p5 fourier 2 2.59 2 180.0 3.17 1 0.0 # t20 GA AUE=1.4330 RMSE=1.6847 TorType=3 + dihedral_coeff @dihedral:os-py-c-c3 fourier 1 2.37 2 0.0 # c17 SS AUE=1.1966 RMSE=1.4736 TorType=3 + dihedral_coeff @dihedral:os-py-cs-c3 fourier 1 0.5 2 0.0 # set2_17 SS AUE=0.8458 RMSE=1.0943 TorType=3 + } # (end of dihedral_coeffs) + + write_once("Data Dihedrals By Type") { + @dihedral:X-c-c-X @atom:* @atom:c @atom:c @atom:* + @dihedral:X-c-c1-X @atom:* @atom:c @atom:c1 @atom:* + @dihedral:X-c-cg-X @atom:* @atom:c @atom:cg @atom:* + @dihedral:X-c-ch-X @atom:* @atom:c @atom:ch @atom:* + @dihedral:X-c-c2-X @atom:* @atom:c @atom:c2 @atom:* + @dihedral:X-c-cu-X @atom:* @atom:c @atom:cu @atom:* + @dihedral:X-c-cv-X @atom:* @atom:c @atom:cv @atom:* + @dihedral:X-c-ce-X @atom:* @atom:c @atom:ce @atom:* + @dihedral:X-c-cf-X @atom:* @atom:c @atom:cf @atom:* + @dihedral:X-c-c3-X @atom:* @atom:c @atom:c3 @atom:* + @dihedral:X-c-cx-X @atom:* @atom:c @atom:cx @atom:* + @dihedral:X-c-cy-X @atom:* @atom:c @atom:cy @atom:* + @dihedral:X-c-ca-X @atom:* @atom:c @atom:ca @atom:* + @dihedral:X-c-cc-X @atom:* @atom:c @atom:cc @atom:* + @dihedral:X-c-cd-X @atom:* @atom:c @atom:cd @atom:* + @dihedral:X-c-n-X @atom:* @atom:c @atom:n @atom:* + @dihedral:X-c-n2-X @atom:* @atom:c @atom:n2 @atom:* + @dihedral:X-c-nc-X @atom:* @atom:c @atom:nc @atom:* + @dihedral:X-c-nd-X @atom:* @atom:c @atom:nd @atom:* + @dihedral:X-c-ne-X @atom:* @atom:c @atom:ne @atom:* + @dihedral:X-c-nf-X @atom:* @atom:c @atom:nf @atom:* + @dihedral:X-c-na-X @atom:* @atom:c @atom:na @atom:* + @dihedral:X-c-na-X @atom:* @atom:c @atom:na @atom:* + @dihedral:X-c-no-X @atom:* @atom:c @atom:no @atom:* + @dihedral:X-c-oh-X @atom:* @atom:c @atom:oh @atom:* + @dihedral:X-c-os-X @atom:* @atom:c @atom:os @atom:* + @dihedral:X-c-p2-X @atom:* @atom:c @atom:p2 @atom:* + @dihedral:X-c-pc-X @atom:* @atom:c @atom:pc @atom:* + @dihedral:X-c-pd-X @atom:* @atom:c @atom:pd @atom:* + @dihedral:X-c-pe-X @atom:* @atom:c @atom:pe @atom:* + @dihedral:X-c-pf-X @atom:* @atom:c @atom:pf @atom:* + @dihedral:X-c-p3-X @atom:* @atom:c @atom:p3 @atom:* + @dihedral:X-c-p4-X @atom:* @atom:c @atom:p4 @atom:* + @dihedral:X-c-px-X @atom:* @atom:c @atom:px @atom:* + @dihedral:X-c-p5-X @atom:* @atom:c @atom:p5 @atom:* + @dihedral:X-c-py-X @atom:* @atom:c @atom:py @atom:* + @dihedral:X-c-sh-X @atom:* @atom:c @atom:sh @atom:* + @dihedral:X-c-ss-X @atom:* @atom:c @atom:ss @atom:* + @dihedral:X-c-s4-X @atom:* @atom:c @atom:s4 @atom:* + @dihedral:X-c-sx-X @atom:* @atom:c @atom:sx @atom:* + @dihedral:X-c-s6-X @atom:* @atom:c @atom:s6 @atom:* + @dihedral:X-c-sy-X @atom:* @atom:c @atom:sy @atom:* + @dihedral:X-c1-c1-X @atom:* @atom:c1 @atom:c1 @atom:* + @dihedral:X-c1-cg-X @atom:* @atom:c1 @atom:cg @atom:* + @dihedral:X-c1-ch-X @atom:* @atom:c1 @atom:ch @atom:* + @dihedral:X-cg-cg-X @atom:* @atom:cg @atom:cg @atom:* + @dihedral:X-ch-ch-X @atom:* @atom:ch @atom:ch @atom:* + @dihedral:X-cg-ch-X @atom:* @atom:cg @atom:ch @atom:* + @dihedral:X-c1-c2-X @atom:* @atom:c1 @atom:c2 @atom:* + @dihedral:X-c1-c3-X @atom:* @atom:c1 @atom:c3 @atom:* + @dihedral:X-c1-ca-X @atom:* @atom:c1 @atom:ca @atom:* + @dihedral:X-c1-cc-X @atom:* @atom:c1 @atom:cc @atom:* + @dihedral:X-c1-cd-X @atom:* @atom:c1 @atom:cd @atom:* + @dihedral:X-c1-ce-X @atom:* @atom:c1 @atom:ce @atom:* + @dihedral:X-c1-cf-X @atom:* @atom:c1 @atom:cf @atom:* + @dihedral:X-c1-cu-X @atom:* @atom:c1 @atom:cu @atom:* + @dihedral:X-c1-cv-X @atom:* @atom:c1 @atom:cv @atom:* + @dihedral:X-c1-cx-X @atom:* @atom:c1 @atom:cx @atom:* + @dihedral:X-c1-cy-X @atom:* @atom:c1 @atom:cy @atom:* + @dihedral:X-c1-n-X @atom:* @atom:c1 @atom:n @atom:* + @dihedral:X-c1-n2-X @atom:* @atom:c1 @atom:n2 @atom:* + @dihedral:X-c1-n3-X @atom:* @atom:c1 @atom:n3 @atom:* + @dihedral:X-c1-n4-X @atom:* @atom:c1 @atom:n4 @atom:* + @dihedral:X-c1-na-X @atom:* @atom:c1 @atom:na @atom:* + @dihedral:X-c1-nb-X @atom:* @atom:c1 @atom:nb @atom:* + @dihedral:X-c1-nc-X @atom:* @atom:c1 @atom:nc @atom:* + @dihedral:X-c1-nd-X @atom:* @atom:c1 @atom:nd @atom:* + @dihedral:X-c1-ne-X @atom:* @atom:c1 @atom:ne @atom:* + @dihedral:X-c1-nf-X @atom:* @atom:c1 @atom:nf @atom:* + @dihedral:X-c1-nh-X @atom:* @atom:c1 @atom:nh @atom:* + @dihedral:X-c1-no-X @atom:* @atom:c1 @atom:no @atom:* + @dihedral:X-c1-oh-X @atom:* @atom:c1 @atom:oh @atom:* + @dihedral:X-c1-os-X @atom:* @atom:c1 @atom:os @atom:* + @dihedral:X-c1-p2-X @atom:* @atom:c1 @atom:p2 @atom:* + @dihedral:X-c1-pb-X @atom:* @atom:c1 @atom:pb @atom:* + @dihedral:X-c1-pc-X @atom:* @atom:c1 @atom:pc @atom:* + @dihedral:X-c1-pd-X @atom:* @atom:c1 @atom:pd @atom:* + @dihedral:X-c1-pe-X @atom:* @atom:c1 @atom:pe @atom:* + @dihedral:X-c1-pf-X @atom:* @atom:c1 @atom:pf @atom:* + @dihedral:X-c1-p3-X @atom:* @atom:c1 @atom:p3 @atom:* + @dihedral:X-c1-p4-X @atom:* @atom:c1 @atom:p4 @atom:* + @dihedral:X-c1-px-X @atom:* @atom:c1 @atom:px @atom:* + @dihedral:X-c1-p5-X @atom:* @atom:c1 @atom:p5 @atom:* + @dihedral:X-c1-py-X @atom:* @atom:c1 @atom:py @atom:* + @dihedral:X-c1-s2-X @atom:* @atom:c1 @atom:s2 @atom:* + @dihedral:X-c1-sh-X @atom:* @atom:c1 @atom:sh @atom:* + @dihedral:X-c1-ss-X @atom:* @atom:c1 @atom:ss @atom:* + @dihedral:X-c1-s4-X @atom:* @atom:c1 @atom:s4 @atom:* + @dihedral:X-c1-sx-X @atom:* @atom:c1 @atom:sx @atom:* + @dihedral:X-c1-s6-X @atom:* @atom:c1 @atom:s6 @atom:* + @dihedral:X-c1-sy-X @atom:* @atom:c1 @atom:sy @atom:* + @dihedral:X-c2-c2-X @atom:* @atom:c2 @atom:c2 @atom:* + @dihedral:X-c2-ce-X @atom:* @atom:c2 @atom:ce @atom:* + @dihedral:X-c2-cf-X @atom:* @atom:c2 @atom:cf @atom:* + @dihedral:X-ce-cf-X @atom:* @atom:ce @atom:cf @atom:* + @dihedral:X-ce-ce-X @atom:* @atom:ce @atom:ce @atom:* + @dihedral:X-cf-cf-X @atom:* @atom:cf @atom:cf @atom:* + @dihedral:X-cc-cd-X @atom:* @atom:cc @atom:cd @atom:* + @dihedral:X-cc-cc-X @atom:* @atom:cc @atom:cc @atom:* + @dihedral:X-cd-cd-X @atom:* @atom:cd @atom:cd @atom:* + @dihedral:X-c2-c3-X @atom:* @atom:c2 @atom:c3 @atom:* + @dihedral:X-c2-ca-X @atom:* @atom:c2 @atom:ca @atom:* + @dihedral:X-c2-n-X @atom:* @atom:c2 @atom:n @atom:* + @dihedral:X-c2-n2-X @atom:* @atom:c2 @atom:n2 @atom:* + @dihedral:X-c2-ne-X @atom:* @atom:c2 @atom:ne @atom:* + @dihedral:X-c2-nf-X @atom:* @atom:c2 @atom:nf @atom:* + @dihedral:X-ce-ne-X @atom:* @atom:ce @atom:ne @atom:* + @dihedral:X-cf-nf-X @atom:* @atom:cf @atom:nf @atom:* + @dihedral:X-c2-nc-X @atom:* @atom:c2 @atom:nc @atom:* + @dihedral:X-c2-nd-X @atom:* @atom:c2 @atom:nd @atom:* + @dihedral:X-cc-nd-X @atom:* @atom:cc @atom:nd @atom:* + @dihedral:X-cd-nc-X @atom:* @atom:cd @atom:nc @atom:* + @dihedral:X-cc-nc-X @atom:* @atom:cc @atom:nc @atom:* + @dihedral:X-cd-nd-X @atom:* @atom:cd @atom:nd @atom:* + @dihedral:X-c2-n3-X @atom:* @atom:c2 @atom:n3 @atom:* + @dihedral:X-c2-n4-X @atom:* @atom:c2 @atom:n4 @atom:* + @dihedral:X-c2-na-X @atom:* @atom:c2 @atom:na @atom:* + @dihedral:X-cc-na-X @atom:* @atom:cc @atom:na @atom:* + @dihedral:X-cd-na-X @atom:* @atom:cd @atom:na @atom:* + @dihedral:X-c2-nh-X @atom:* @atom:c2 @atom:nh @atom:* + @dihedral:X-c2-no-X @atom:* @atom:c2 @atom:no @atom:* + @dihedral:X-c2-oh-X @atom:* @atom:c2 @atom:oh @atom:* + @dihedral:X-c2-os-X @atom:* @atom:c2 @atom:os @atom:* + @dihedral:X-c2-p2-X @atom:* @atom:c2 @atom:p2 @atom:* + @dihedral:X-c2-pe-X @atom:* @atom:c2 @atom:pe @atom:* + @dihedral:X-c2-pf-X @atom:* @atom:c2 @atom:pf @atom:* + @dihedral:X-ce-pf-X @atom:* @atom:ce @atom:pf @atom:* + @dihedral:X-ce-pe-X @atom:* @atom:ce @atom:pe @atom:* + @dihedral:X-cf-pf-X @atom:* @atom:cf @atom:pf @atom:* + @dihedral:X-c2-pc-X @atom:* @atom:c2 @atom:pc @atom:* + @dihedral:X-c2-pd-X @atom:* @atom:c2 @atom:pd @atom:* + @dihedral:X-cc-pc-X @atom:* @atom:cc @atom:pc @atom:* + @dihedral:X-cc-pd-X @atom:* @atom:cc @atom:pd @atom:* + @dihedral:X-cd-pc-X @atom:* @atom:cd @atom:pc @atom:* + @dihedral:X-cd-pd-X @atom:* @atom:cd @atom:pd @atom:* + @dihedral:X-c2-p3-X @atom:* @atom:c2 @atom:p3 @atom:* + @dihedral:X-c2-p4-X @atom:* @atom:c2 @atom:p4 @atom:* + @dihedral:X-ce-p4-X @atom:* @atom:ce @atom:p4 @atom:* + @dihedral:X-cf-p4-X @atom:* @atom:cf @atom:p4 @atom:* + @dihedral:X-c2-px-X @atom:* @atom:c2 @atom:px @atom:* + @dihedral:X-ce-px-X @atom:* @atom:ce @atom:px @atom:* + @dihedral:X-cf-px-X @atom:* @atom:cf @atom:px @atom:* + @dihedral:X-c2-p5-X @atom:* @atom:c2 @atom:p5 @atom:* + @dihedral:X-ce-p5-X @atom:* @atom:ce @atom:p5 @atom:* + @dihedral:X-cf-p5-X @atom:* @atom:cf @atom:p5 @atom:* + @dihedral:X-c2-py-X @atom:* @atom:c2 @atom:py @atom:* + @dihedral:X-ce-py-X @atom:* @atom:ce @atom:py @atom:* + @dihedral:X-cf-py-X @atom:* @atom:cf @atom:py @atom:* + @dihedral:X-c2-sh-X @atom:* @atom:c2 @atom:sh @atom:* + @dihedral:X-c2-ss-X @atom:* @atom:c2 @atom:ss @atom:* + @dihedral:X-c2-s4-X @atom:* @atom:c2 @atom:s4 @atom:* + @dihedral:X-ce-s4-X @atom:* @atom:ce @atom:s4 @atom:* + @dihedral:X-cf-s4-X @atom:* @atom:cf @atom:s4 @atom:* + @dihedral:X-c2-sx-X @atom:* @atom:c2 @atom:sx @atom:* + @dihedral:X-ce-sx-X @atom:* @atom:ce @atom:sx @atom:* + @dihedral:X-cf-sx-X @atom:* @atom:cf @atom:sx @atom:* + @dihedral:X-c2-s6-X @atom:* @atom:c2 @atom:s6 @atom:* + @dihedral:X-ce-s6-X @atom:* @atom:ce @atom:s6 @atom:* + @dihedral:X-cf-s6-X @atom:* @atom:cf @atom:s6 @atom:* + @dihedral:X-c2-sy-X @atom:* @atom:c2 @atom:sy @atom:* + @dihedral:X-ce-sy-X @atom:* @atom:ce @atom:sy @atom:* + @dihedral:X-cf-sy-X @atom:* @atom:cf @atom:sy @atom:* + @dihedral:X-c3-c3-X @atom:* @atom:c3 @atom:c3 @atom:* + @dihedral:X-cx-cx-X @atom:* @atom:cx @atom:cx @atom:* + @dihedral:X-cy-cy-X @atom:* @atom:cy @atom:cy @atom:* + @dihedral:X-c3-ca-X @atom:* @atom:c3 @atom:ca @atom:* + @dihedral:X-c3-n-X @atom:* @atom:c3 @atom:n @atom:* + @dihedral:X-cx-n-X @atom:* @atom:cx @atom:n @atom:* + @dihedral:X-cy-n-X @atom:* @atom:cy @atom:n @atom:* + @dihedral:X-c3-n2-X @atom:* @atom:c3 @atom:n2 @atom:* + @dihedral:X-c3-ne-X @atom:* @atom:c3 @atom:ne @atom:* + @dihedral:X-c3-nf-X @atom:* @atom:c3 @atom:nf @atom:* + @dihedral:X-c3-n3-X @atom:* @atom:c3 @atom:n3 @atom:* + @dihedral:X-c3-n4-X @atom:* @atom:c3 @atom:n4 @atom:* + @dihedral:X-c3-na-X @atom:* @atom:c3 @atom:na @atom:* + @dihedral:X-c3-nh-X @atom:* @atom:c3 @atom:nh @atom:* + @dihedral:X-c3-no-X @atom:* @atom:c3 @atom:no @atom:* + @dihedral:X-c3-oh-X @atom:* @atom:c3 @atom:oh @atom:* + @dihedral:X-c3-os-X @atom:* @atom:c3 @atom:os @atom:* + @dihedral:X-c3-p2-X @atom:* @atom:c3 @atom:p2 @atom:* + @dihedral:X-c3-pe-X @atom:* @atom:c3 @atom:pe @atom:* + @dihedral:X-c3-pf-X @atom:* @atom:c3 @atom:pf @atom:* + @dihedral:X-c3-p3-X @atom:* @atom:c3 @atom:p3 @atom:* + @dihedral:X-c3-p4-X @atom:* @atom:c3 @atom:p4 @atom:* + @dihedral:X-c3-px-X @atom:* @atom:c3 @atom:px @atom:* + @dihedral:X-c3-p5-X @atom:* @atom:c3 @atom:p5 @atom:* + @dihedral:X-c3-py-X @atom:* @atom:c3 @atom:py @atom:* + @dihedral:X-c3-sh-X @atom:* @atom:c3 @atom:sh @atom:* + @dihedral:X-c3-ss-X @atom:* @atom:c3 @atom:ss @atom:* + @dihedral:X-c3-s4-X @atom:* @atom:c3 @atom:s4 @atom:* + @dihedral:X-c3-sx-X @atom:* @atom:c3 @atom:sx @atom:* + @dihedral:X-c3-s6-X @atom:* @atom:c3 @atom:s6 @atom:* + @dihedral:X-c3-sy-X @atom:* @atom:c3 @atom:sy @atom:* + @dihedral:X-c3-cc-X @atom:* @atom:c3 @atom:cc @atom:* + @dihedral:X-c3-cd-X @atom:* @atom:c3 @atom:cd @atom:* + @dihedral:X-ca-ca-X @atom:* @atom:ca @atom:ca @atom:* + @dihedral:X-ca-cp-X @atom:* @atom:ca @atom:cp @atom:* + @dihedral:X-ca-cq-X @atom:* @atom:ca @atom:cq @atom:* + @dihedral:X-cp-cp-X @atom:* @atom:cp @atom:cp @atom:* + @dihedral:X-cq-cq-X @atom:* @atom:cq @atom:cq @atom:* + @dihedral:X-ca-n-X @atom:* @atom:ca @atom:n @atom:* + @dihedral:X-ca-n2-X @atom:* @atom:ca @atom:n2 @atom:* + @dihedral:X-ca-ne-X @atom:* @atom:ca @atom:ne @atom:* + @dihedral:X-ca-nf-X @atom:* @atom:ca @atom:nf @atom:* + @dihedral:X-ca-n4-X @atom:* @atom:ca @atom:n4 @atom:* + @dihedral:X-ca-na-X @atom:* @atom:ca @atom:na @atom:* + @dihedral:X-ca-nb-X @atom:* @atom:ca @atom:nb @atom:* + @dihedral:X-ca-nc-X @atom:* @atom:ca @atom:nc @atom:* + @dihedral:X-ca-nd-X @atom:* @atom:ca @atom:nd @atom:* + @dihedral:X-ca-nh-X @atom:* @atom:ca @atom:nh @atom:* + @dihedral:X-cc-nh-X @atom:* @atom:cc @atom:nh @atom:* + @dihedral:X-cd-nh-X @atom:* @atom:cd @atom:nh @atom:* + @dihedral:X-ca-no-X @atom:* @atom:ca @atom:no @atom:* + @dihedral:X-ca-oh-X @atom:* @atom:ca @atom:oh @atom:* + @dihedral:X-ca-os-X @atom:* @atom:ca @atom:os @atom:* + @dihedral:X-ca-p2-X @atom:* @atom:ca @atom:p2 @atom:* + @dihedral:X-ca-pe-X @atom:* @atom:ca @atom:pe @atom:* + @dihedral:X-ca-pf-X @atom:* @atom:ca @atom:pf @atom:* + @dihedral:X-ca-pc-X @atom:* @atom:ca @atom:pc @atom:* + @dihedral:X-ca-pd-X @atom:* @atom:ca @atom:pd @atom:* + @dihedral:X-ca-p3-X @atom:* @atom:ca @atom:p3 @atom:* + @dihedral:X-ca-p4-X @atom:* @atom:ca @atom:p4 @atom:* + @dihedral:X-ca-px-X @atom:* @atom:ca @atom:px @atom:* + @dihedral:X-ca-p5-X @atom:* @atom:ca @atom:p5 @atom:* + @dihedral:X-ca-py-X @atom:* @atom:ca @atom:py @atom:* + @dihedral:X-ca-sh-X @atom:* @atom:ca @atom:sh @atom:* + @dihedral:X-ca-ss-X @atom:* @atom:ca @atom:ss @atom:* + @dihedral:X-ca-s4-X @atom:* @atom:ca @atom:s4 @atom:* + @dihedral:X-ca-sx-X @atom:* @atom:ca @atom:sx @atom:* + @dihedral:X-ca-s6-X @atom:* @atom:ca @atom:s6 @atom:* + @dihedral:X-ca-sy-X @atom:* @atom:ca @atom:sy @atom:* + @dihedral:X-n-cc-X @atom:* @atom:n @atom:cc @atom:* + @dihedral:X-n-cd-X @atom:* @atom:n @atom:cd @atom:* + @dihedral:X-n-n-X @atom:* @atom:n @atom:n @atom:* + @dihedral:X-n-n2-X @atom:* @atom:n @atom:n2 @atom:* + @dihedral:X-n-ne-X @atom:* @atom:n @atom:ne @atom:* + @dihedral:X-n-nf-X @atom:* @atom:n @atom:nf @atom:* + @dihedral:X-n-n3-X @atom:* @atom:n @atom:n3 @atom:* + @dihedral:X-n-n4-X @atom:* @atom:n @atom:n4 @atom:* + @dihedral:X-n-na-X @atom:* @atom:n @atom:na @atom:* + @dihedral:X-n-nc-X @atom:* @atom:n @atom:nc @atom:* + @dihedral:X-n-nd-X @atom:* @atom:n @atom:nd @atom:* + @dihedral:X-n-nh-X @atom:* @atom:n @atom:nh @atom:* + @dihedral:X-n-no-X @atom:* @atom:n @atom:no @atom:* + @dihedral:X-n-oh-X @atom:* @atom:n @atom:oh @atom:* + @dihedral:X-n-os-X @atom:* @atom:n @atom:os @atom:* + @dihedral:X-n-p2-X @atom:* @atom:n @atom:p2 @atom:* + @dihedral:X-n-pe-X @atom:* @atom:n @atom:pe @atom:* + @dihedral:X-n-pf-X @atom:* @atom:n @atom:pf @atom:* + @dihedral:X-n-pc-X @atom:* @atom:n @atom:pc @atom:* + @dihedral:X-n-pd-X @atom:* @atom:n @atom:pd @atom:* + @dihedral:X-n-p3-X @atom:* @atom:n @atom:p3 @atom:* + @dihedral:X-n-p4-X @atom:* @atom:n @atom:p4 @atom:* + @dihedral:X-n-px-X @atom:* @atom:n @atom:px @atom:* + @dihedral:X-n-p5-X @atom:* @atom:n @atom:p5 @atom:* + @dihedral:X-n-py-X @atom:* @atom:n @atom:py @atom:* + @dihedral:X-n-sh-X @atom:* @atom:n @atom:sh @atom:* + @dihedral:X-n-ss-X @atom:* @atom:n @atom:ss @atom:* + @dihedral:X-n-s4-X @atom:* @atom:n @atom:s4 @atom:* + @dihedral:X-n-sx-X @atom:* @atom:n @atom:sx @atom:* + @dihedral:X-n-s6-X @atom:* @atom:n @atom:s6 @atom:* + @dihedral:X-n-sy-X @atom:* @atom:n @atom:sy @atom:* + @dihedral:X-n1-c2-X @atom:* @atom:n1 @atom:c2 @atom:* + @dihedral:X-n1-c3-X @atom:* @atom:n1 @atom:c3 @atom:* + @dihedral:X-n1-ca-X @atom:* @atom:n1 @atom:ca @atom:* + @dihedral:X-n1-cc-X @atom:* @atom:n1 @atom:cc @atom:* + @dihedral:X-n1-cd-X @atom:* @atom:n1 @atom:cd @atom:* + @dihedral:X-n1-ce-X @atom:* @atom:n1 @atom:ce @atom:* + @dihedral:X-n1-cf-X @atom:* @atom:n1 @atom:cf @atom:* + @dihedral:X-n1-cu-X @atom:* @atom:n1 @atom:cu @atom:* + @dihedral:X-n1-cv-X @atom:* @atom:n1 @atom:cv @atom:* + @dihedral:X-n1-cx-X @atom:* @atom:n1 @atom:cx @atom:* + @dihedral:X-n1-cy-X @atom:* @atom:n1 @atom:cy @atom:* + @dihedral:X-n1-n-X @atom:* @atom:n1 @atom:n @atom:* + @dihedral:X-n1-n1-X @atom:* @atom:n1 @atom:n1 @atom:* + @dihedral:X-n1-n2-X @atom:* @atom:n1 @atom:n2 @atom:* + @dihedral:X-n1-n3-X @atom:* @atom:n1 @atom:n3 @atom:* + @dihedral:X-n1-n4-X @atom:* @atom:n1 @atom:n4 @atom:* + @dihedral:X-n1-na-X @atom:* @atom:n1 @atom:na @atom:* + @dihedral:X-n1-nb-X @atom:* @atom:n1 @atom:nb @atom:* + @dihedral:X-n1-nc-X @atom:* @atom:n1 @atom:nc @atom:* + @dihedral:X-n1-nd-X @atom:* @atom:n1 @atom:nd @atom:* + @dihedral:X-n1-ne-X @atom:* @atom:n1 @atom:ne @atom:* + @dihedral:X-n1-nf-X @atom:* @atom:n1 @atom:nf @atom:* + @dihedral:X-n1-nh-X @atom:* @atom:n1 @atom:nh @atom:* + @dihedral:X-n1-no-X @atom:* @atom:n1 @atom:no @atom:* + @dihedral:X-n1-oh-X @atom:* @atom:n1 @atom:oh @atom:* + @dihedral:X-n1-os-X @atom:* @atom:n1 @atom:os @atom:* + @dihedral:X-n1-p2-X @atom:* @atom:n1 @atom:p2 @atom:* + @dihedral:X-n1-pb-X @atom:* @atom:n1 @atom:pb @atom:* + @dihedral:X-n1-pc-X @atom:* @atom:n1 @atom:pc @atom:* + @dihedral:X-n1-pd-X @atom:* @atom:n1 @atom:pd @atom:* + @dihedral:X-n1-pe-X @atom:* @atom:n1 @atom:pe @atom:* + @dihedral:X-n1-pf-X @atom:* @atom:n1 @atom:pf @atom:* + @dihedral:X-n1-p3-X @atom:* @atom:n1 @atom:p3 @atom:* + @dihedral:X-n1-p4-X @atom:* @atom:n1 @atom:p4 @atom:* + @dihedral:X-n1-px-X @atom:* @atom:n1 @atom:px @atom:* + @dihedral:X-n1-p5-X @atom:* @atom:n1 @atom:p5 @atom:* + @dihedral:X-n1-py-X @atom:* @atom:n1 @atom:py @atom:* + @dihedral:X-n1-s2-X @atom:* @atom:n1 @atom:s2 @atom:* + @dihedral:X-n1-sh-X @atom:* @atom:n1 @atom:sh @atom:* + @dihedral:X-n1-ss-X @atom:* @atom:n1 @atom:ss @atom:* + @dihedral:X-n1-s4-X @atom:* @atom:n1 @atom:s4 @atom:* + @dihedral:X-n1-sx-X @atom:* @atom:n1 @atom:sx @atom:* + @dihedral:X-n1-s6-X @atom:* @atom:n1 @atom:s6 @atom:* + @dihedral:X-n1-sy-X @atom:* @atom:n1 @atom:sy @atom:* + @dihedral:X-n2-n2-X @atom:* @atom:n2 @atom:n2 @atom:* + @dihedral:X-n2-n2-X @atom:* @atom:n2 @atom:n2 @atom:* + @dihedral:X-n2-ne-X @atom:* @atom:n2 @atom:ne @atom:* + @dihedral:X-n2-ne-X @atom:* @atom:n2 @atom:ne @atom:* + @dihedral:X-n2-nf-X @atom:* @atom:n2 @atom:nf @atom:* + @dihedral:X-n2-nf-X @atom:* @atom:n2 @atom:nf @atom:* + @dihedral:X-ne-nf-X @atom:* @atom:ne @atom:nf @atom:* + @dihedral:X-ne-nf-X @atom:* @atom:ne @atom:nf @atom:* + @dihedral:X-ne-ne-X @atom:* @atom:ne @atom:ne @atom:* + @dihedral:X-nf-nf-X @atom:* @atom:nf @atom:nf @atom:* + @dihedral:X-nc-nc-X @atom:* @atom:nc @atom:nc @atom:* + @dihedral:X-nd-nd-X @atom:* @atom:nd @atom:nd @atom:* + @dihedral:X-nc-nd-X @atom:* @atom:nc @atom:nd @atom:* + @dihedral:X-n2-nc-X @atom:* @atom:n2 @atom:nc @atom:* + @dihedral:X-n2-nc-X @atom:* @atom:n2 @atom:nc @atom:* + @dihedral:X-n2-nd-X @atom:* @atom:n2 @atom:nd @atom:* + @dihedral:X-n2-nd-X @atom:* @atom:n2 @atom:nd @atom:* + @dihedral:X-n2-n3-X @atom:* @atom:n2 @atom:n3 @atom:* + @dihedral:X-ne-n3-X @atom:* @atom:ne @atom:n3 @atom:* + @dihedral:X-nf-n3-X @atom:* @atom:nf @atom:n3 @atom:* + @dihedral:X-n2-n4-X @atom:* @atom:n2 @atom:n4 @atom:* + @dihedral:X-ne-n4-X @atom:* @atom:ne @atom:n4 @atom:* + @dihedral:X-nf-n4-X @atom:* @atom:nf @atom:n4 @atom:* + @dihedral:X-n2-na-X @atom:* @atom:n2 @atom:na @atom:* + @dihedral:X-ne-na-X @atom:* @atom:ne @atom:na @atom:* + @dihedral:X-nf-na-X @atom:* @atom:nf @atom:na @atom:* + @dihedral:X-na-nc-X @atom:* @atom:na @atom:nc @atom:* + @dihedral:X-na-nd-X @atom:* @atom:na @atom:nd @atom:* + @dihedral:X-n2-nh-X @atom:* @atom:n2 @atom:nh @atom:* + @dihedral:X-ne-nh-X @atom:* @atom:ne @atom:nh @atom:* + @dihedral:X-nf-nh-X @atom:* @atom:nf @atom:nh @atom:* + @dihedral:X-n2-no-X @atom:* @atom:n2 @atom:no @atom:* + @dihedral:X-ne-no-X @atom:* @atom:ne @atom:no @atom:* + @dihedral:X-nf-no-X @atom:* @atom:nf @atom:no @atom:* + @dihedral:X-n2-oh-X @atom:* @atom:n2 @atom:oh @atom:* + @dihedral:X-ne-oh-X @atom:* @atom:ne @atom:oh @atom:* + @dihedral:X-nf-oh-X @atom:* @atom:nf @atom:oh @atom:* + @dihedral:X-n2-os-X @atom:* @atom:n2 @atom:os @atom:* + @dihedral:X-ne-os-X @atom:* @atom:ne @atom:os @atom:* + @dihedral:X-nf-os-X @atom:* @atom:nf @atom:os @atom:* + @dihedral:X-nc-os-X @atom:* @atom:nc @atom:os @atom:* + @dihedral:X-nc-ss-X @atom:* @atom:nc @atom:ss @atom:* + @dihedral:X-n2-p2-X @atom:* @atom:n2 @atom:p2 @atom:* + @dihedral:X-n2-pe-X @atom:* @atom:n2 @atom:pe @atom:* + @dihedral:X-n2-pf-X @atom:* @atom:n2 @atom:pf @atom:* + @dihedral:X-ne-pf-X @atom:* @atom:ne @atom:pf @atom:* + @dihedral:X-n2-pc-X @atom:* @atom:n2 @atom:pc @atom:* + @dihedral:X-n2-pd-X @atom:* @atom:n2 @atom:pd @atom:* + @dihedral:X-nc-p2-X @atom:* @atom:nc @atom:p2 @atom:* + @dihedral:X-nd-p2-X @atom:* @atom:nd @atom:p2 @atom:* + @dihedral:X-nc-pc-X @atom:* @atom:nc @atom:pc @atom:* + @dihedral:X-nd-pd-X @atom:* @atom:nd @atom:pd @atom:* + @dihedral:X-nd-pc-X @atom:* @atom:nd @atom:pc @atom:* + @dihedral:X-nc-pd-X @atom:* @atom:nc @atom:pd @atom:* + @dihedral:X-ne-pe-X @atom:* @atom:ne @atom:pe @atom:* + @dihedral:X-nf-pf-X @atom:* @atom:nf @atom:pf @atom:* + @dihedral:X-n2-p3-X @atom:* @atom:n2 @atom:p3 @atom:* + @dihedral:X-n2-p4-X @atom:* @atom:n2 @atom:p4 @atom:* + @dihedral:X-ne-p4-X @atom:* @atom:ne @atom:p4 @atom:* + @dihedral:X-nf-p4-X @atom:* @atom:nf @atom:p4 @atom:* + @dihedral:X-n2-p5-X @atom:* @atom:n2 @atom:p5 @atom:* + @dihedral:X-ne-p5-X @atom:* @atom:ne @atom:p5 @atom:* + @dihedral:X-nf-p5-X @atom:* @atom:nf @atom:p5 @atom:* + @dihedral:X-ne-px-X @atom:* @atom:ne @atom:px @atom:* + @dihedral:X-nf-px-X @atom:* @atom:nf @atom:px @atom:* + @dihedral:X-n2-sh-X @atom:* @atom:n2 @atom:sh @atom:* + @dihedral:X-ne-sh-X @atom:* @atom:ne @atom:sh @atom:* + @dihedral:X-nf-sh-X @atom:* @atom:nf @atom:sh @atom:* + @dihedral:X-n2-ss-X @atom:* @atom:n2 @atom:ss @atom:* + @dihedral:X-n2-ss-X @atom:* @atom:n2 @atom:ss @atom:* + @dihedral:X-ne-ss-X @atom:* @atom:ne @atom:ss @atom:* + @dihedral:X-ne-ss-X @atom:* @atom:ne @atom:ss @atom:* + @dihedral:X-nf-ss-X @atom:* @atom:nf @atom:ss @atom:* + @dihedral:X-nf-ss-X @atom:* @atom:nf @atom:ss @atom:* + @dihedral:X-n2-s4-X @atom:* @atom:n2 @atom:s4 @atom:* + @dihedral:X-ne-sx-X @atom:* @atom:ne @atom:sx @atom:* + @dihedral:X-nf-sx-X @atom:* @atom:nf @atom:sx @atom:* + @dihedral:X-n2-s6-X @atom:* @atom:n2 @atom:s6 @atom:* + @dihedral:X-ne-sy-X @atom:* @atom:ne @atom:sy @atom:* + @dihedral:X-ne-sy-X @atom:* @atom:ne @atom:sy @atom:* + @dihedral:X-nf-sy-X @atom:* @atom:nf @atom:sy @atom:* + @dihedral:X-nf-sy-X @atom:* @atom:nf @atom:sy @atom:* + @dihedral:X-n3-n3-X @atom:* @atom:n3 @atom:n3 @atom:* + @dihedral:X-n3-n4-X @atom:* @atom:n3 @atom:n4 @atom:* + @dihedral:X-n3-na-X @atom:* @atom:n3 @atom:na @atom:* + @dihedral:X-n3-nh-X @atom:* @atom:n3 @atom:nh @atom:* + @dihedral:X-n3-no-X @atom:* @atom:n3 @atom:no @atom:* + @dihedral:X-n3-oh-X @atom:* @atom:n3 @atom:oh @atom:* + @dihedral:X-n3-os-X @atom:* @atom:n3 @atom:os @atom:* + @dihedral:X-n3-p2-X @atom:* @atom:n3 @atom:p2 @atom:* + @dihedral:X-n3-pe-X @atom:* @atom:n3 @atom:pe @atom:* + @dihedral:X-n3-pf-X @atom:* @atom:n3 @atom:pf @atom:* + @dihedral:X-n3-p3-X @atom:* @atom:n3 @atom:p3 @atom:* + @dihedral:X-n3-p4-X @atom:* @atom:n3 @atom:p4 @atom:* + @dihedral:X-n3-px-X @atom:* @atom:n3 @atom:px @atom:* + @dihedral:X-n3-p5-X @atom:* @atom:n3 @atom:p5 @atom:* + @dihedral:X-n3-py-X @atom:* @atom:n3 @atom:py @atom:* + @dihedral:X-n3-sh-X @atom:* @atom:n3 @atom:sh @atom:* + @dihedral:X-n3-ss-X @atom:* @atom:n3 @atom:ss @atom:* + @dihedral:X-n3-s4-X @atom:* @atom:n3 @atom:s4 @atom:* + @dihedral:X-n3-sx-X @atom:* @atom:n3 @atom:sx @atom:* + @dihedral:X-n3-s6-X @atom:* @atom:n3 @atom:s6 @atom:* + @dihedral:X-n3-sy-X @atom:* @atom:n3 @atom:sy @atom:* + @dihedral:X-n4-n4-X @atom:* @atom:n4 @atom:n4 @atom:* + @dihedral:X-n4-na-X @atom:* @atom:n4 @atom:na @atom:* + @dihedral:X-n4-nh-X @atom:* @atom:n4 @atom:nh @atom:* + @dihedral:X-n4-no-X @atom:* @atom:n4 @atom:no @atom:* + @dihedral:X-n4-oh-X @atom:* @atom:n4 @atom:oh @atom:* + @dihedral:X-n4-os-X @atom:* @atom:n4 @atom:os @atom:* + @dihedral:X-n4-p2-X @atom:* @atom:n4 @atom:p2 @atom:* + @dihedral:X-n4-pe-X @atom:* @atom:n4 @atom:pe @atom:* + @dihedral:X-n4-pf-X @atom:* @atom:n4 @atom:pf @atom:* + @dihedral:X-n4-p3-X @atom:* @atom:n4 @atom:p3 @atom:* + @dihedral:X-n4-p4-X @atom:* @atom:n4 @atom:p4 @atom:* + @dihedral:X-n4-px-X @atom:* @atom:n4 @atom:px @atom:* + @dihedral:X-n4-p5-X @atom:* @atom:n4 @atom:p5 @atom:* + @dihedral:X-n4-py-X @atom:* @atom:n4 @atom:py @atom:* + @dihedral:X-n4-sh-X @atom:* @atom:n4 @atom:sh @atom:* + @dihedral:X-n4-ss-X @atom:* @atom:n4 @atom:ss @atom:* + @dihedral:X-n4-s4-X @atom:* @atom:n4 @atom:s4 @atom:* + @dihedral:X-n4-sx-X @atom:* @atom:n4 @atom:sx @atom:* + @dihedral:X-n4-s6-X @atom:* @atom:n4 @atom:s6 @atom:* + @dihedral:X-n4-sy-X @atom:* @atom:n4 @atom:sy @atom:* + @dihedral:X-na-na-X @atom:* @atom:na @atom:na @atom:* + @dihedral:X-na-nh-X @atom:* @atom:na @atom:nh @atom:* + @dihedral:X-na-no-X @atom:* @atom:na @atom:no @atom:* + @dihedral:X-na-oh-X @atom:* @atom:na @atom:oh @atom:* + @dihedral:X-na-os-X @atom:* @atom:na @atom:os @atom:* + @dihedral:X-na-p2-X @atom:* @atom:na @atom:p2 @atom:* + @dihedral:X-na-pe-X @atom:* @atom:na @atom:pe @atom:* + @dihedral:X-na-pf-X @atom:* @atom:na @atom:pf @atom:* + @dihedral:X-na-p3-X @atom:* @atom:na @atom:p3 @atom:* + @dihedral:X-na-p4-X @atom:* @atom:na @atom:p4 @atom:* + @dihedral:X-na-px-X @atom:* @atom:na @atom:px @atom:* + @dihedral:X-na-p5-X @atom:* @atom:na @atom:p5 @atom:* + @dihedral:X-na-py-X @atom:* @atom:na @atom:py @atom:* + @dihedral:X-na-sh-X @atom:* @atom:na @atom:sh @atom:* + @dihedral:X-na-ss-X @atom:* @atom:na @atom:ss @atom:* + @dihedral:X-na-s4-X @atom:* @atom:na @atom:s4 @atom:* + @dihedral:X-na-sx-X @atom:* @atom:na @atom:sx @atom:* + @dihedral:X-na-s6-X @atom:* @atom:na @atom:s6 @atom:* + @dihedral:X-na-sy-X @atom:* @atom:na @atom:sy @atom:* + @dihedral:X-nh-nh-X @atom:* @atom:nh @atom:nh @atom:* + @dihedral:X-nh-no-X @atom:* @atom:nh @atom:no @atom:* + @dihedral:X-nh-oh-X @atom:* @atom:nh @atom:oh @atom:* + @dihedral:X-nh-os-X @atom:* @atom:nh @atom:os @atom:* + @dihedral:X-nh-p2-X @atom:* @atom:nh @atom:p2 @atom:* + @dihedral:X-nh-pe-X @atom:* @atom:nh @atom:pe @atom:* + @dihedral:X-nh-pf-X @atom:* @atom:nh @atom:pf @atom:* + @dihedral:X-nh-p3-X @atom:* @atom:nh @atom:p3 @atom:* + @dihedral:X-nh-p4-X @atom:* @atom:nh @atom:p4 @atom:* + @dihedral:X-nh-px-X @atom:* @atom:nh @atom:px @atom:* + @dihedral:X-nh-p5-X @atom:* @atom:nh @atom:p5 @atom:* + @dihedral:X-nh-py-X @atom:* @atom:nh @atom:py @atom:* + @dihedral:X-nh-sh-X @atom:* @atom:nh @atom:sh @atom:* + @dihedral:X-nh-ss-X @atom:* @atom:nh @atom:ss @atom:* + @dihedral:X-nh-s4-X @atom:* @atom:nh @atom:s4 @atom:* + @dihedral:X-nh-s4-X @atom:* @atom:nh @atom:s4 @atom:* + @dihedral:X-nh-sx-X @atom:* @atom:nh @atom:sx @atom:* + @dihedral:X-nh-sx-X @atom:* @atom:nh @atom:sx @atom:* + @dihedral:X-nh-s6-X @atom:* @atom:nh @atom:s6 @atom:* + @dihedral:X-nh-sy-X @atom:* @atom:nh @atom:sy @atom:* + @dihedral:X-no-no-X @atom:* @atom:no @atom:no @atom:* + @dihedral:X-no-no-X @atom:* @atom:no @atom:no @atom:* + @dihedral:X-no-oh-X @atom:* @atom:no @atom:oh @atom:* + @dihedral:X-no-os-X @atom:* @atom:no @atom:os @atom:* + @dihedral:X-no-p2-X @atom:* @atom:no @atom:p2 @atom:* + @dihedral:X-no-pe-X @atom:* @atom:no @atom:pe @atom:* + @dihedral:X-no-pf-X @atom:* @atom:no @atom:pf @atom:* + @dihedral:X-no-p3-X @atom:* @atom:no @atom:p3 @atom:* + @dihedral:X-no-p4-X @atom:* @atom:no @atom:p4 @atom:* + @dihedral:X-no-px-X @atom:* @atom:no @atom:px @atom:* + @dihedral:X-no-p5-X @atom:* @atom:no @atom:p5 @atom:* + @dihedral:X-no-p5-X @atom:* @atom:no @atom:p5 @atom:* + @dihedral:X-no-py-X @atom:* @atom:no @atom:py @atom:* + @dihedral:X-no-py-X @atom:* @atom:no @atom:py @atom:* + @dihedral:X-no-sh-X @atom:* @atom:no @atom:sh @atom:* + @dihedral:X-no-ss-X @atom:* @atom:no @atom:ss @atom:* + @dihedral:X-no-s4-X @atom:* @atom:no @atom:s4 @atom:* + @dihedral:X-no-sx-X @atom:* @atom:no @atom:sx @atom:* + @dihedral:X-no-s6-X @atom:* @atom:no @atom:s6 @atom:* + @dihedral:X-no-sy-X @atom:* @atom:no @atom:sy @atom:* + @dihedral:X-oh-oh-X @atom:* @atom:oh @atom:oh @atom:* + @dihedral:X-oh-os-X @atom:* @atom:oh @atom:os @atom:* + @dihedral:X-oh-p2-X @atom:* @atom:oh @atom:p2 @atom:* + @dihedral:X-oh-pe-X @atom:* @atom:oh @atom:pe @atom:* + @dihedral:X-oh-pf-X @atom:* @atom:oh @atom:pf @atom:* + @dihedral:X-oh-p3-X @atom:* @atom:oh @atom:p3 @atom:* + @dihedral:X-oh-p4-X @atom:* @atom:oh @atom:p4 @atom:* + @dihedral:X-oh-px-X @atom:* @atom:oh @atom:px @atom:* + @dihedral:X-oh-p5-X @atom:* @atom:oh @atom:p5 @atom:* + @dihedral:X-oh-py-X @atom:* @atom:oh @atom:py @atom:* + @dihedral:X-oh-sh-X @atom:* @atom:oh @atom:sh @atom:* + @dihedral:X-oh-ss-X @atom:* @atom:oh @atom:ss @atom:* + @dihedral:X-oh-s4-X @atom:* @atom:oh @atom:s4 @atom:* + @dihedral:X-oh-sx-X @atom:* @atom:oh @atom:sx @atom:* + @dihedral:X-oh-s6-X @atom:* @atom:oh @atom:s6 @atom:* + @dihedral:X-oh-sy-X @atom:* @atom:oh @atom:sy @atom:* + @dihedral:X-os-os-X @atom:* @atom:os @atom:os @atom:* + @dihedral:X-os-ss-X @atom:* @atom:os @atom:ss @atom:* + @dihedral:X-os-sh-X @atom:* @atom:os @atom:sh @atom:* + @dihedral:X-os-s4-X @atom:* @atom:os @atom:s4 @atom:* + @dihedral:X-os-sx-X @atom:* @atom:os @atom:sx @atom:* + @dihedral:X-os-s6-X @atom:* @atom:os @atom:s6 @atom:* + @dihedral:X-os-sy-X @atom:* @atom:os @atom:sy @atom:* + @dihedral:X-os-p2-X @atom:* @atom:os @atom:p2 @atom:* + @dihedral:X-os-p2-X @atom:* @atom:os @atom:p2 @atom:* + @dihedral:X-os-pe-X @atom:* @atom:os @atom:pe @atom:* + @dihedral:X-os-pe-X @atom:* @atom:os @atom:pe @atom:* + @dihedral:X-os-pf-X @atom:* @atom:os @atom:pf @atom:* + @dihedral:X-os-pf-X @atom:* @atom:os @atom:pf @atom:* + @dihedral:X-os-p3-X @atom:* @atom:os @atom:p3 @atom:* + @dihedral:X-os-p4-X @atom:* @atom:os @atom:p4 @atom:* + @dihedral:X-os-px-X @atom:* @atom:os @atom:px @atom:* + @dihedral:X-os-p5-X @atom:* @atom:os @atom:p5 @atom:* + @dihedral:X-os-py-X @atom:* @atom:os @atom:py @atom:* + @dihedral:X-p2-p2-X @atom:* @atom:p2 @atom:p2 @atom:* + @dihedral:X-p2-pe-X @atom:* @atom:p2 @atom:pe @atom:* + @dihedral:X-p2-pf-X @atom:* @atom:p2 @atom:pf @atom:* + @dihedral:X-p2-pc-X @atom:* @atom:p2 @atom:pc @atom:* + @dihedral:X-p2-pd-X @atom:* @atom:p2 @atom:pd @atom:* + @dihedral:X-pe-pe-X @atom:* @atom:pe @atom:pe @atom:* + @dihedral:X-pf-pf-X @atom:* @atom:pf @atom:pf @atom:* + @dihedral:X-pc-pc-X @atom:* @atom:pc @atom:pc @atom:* + @dihedral:X-pd-pd-X @atom:* @atom:pd @atom:pd @atom:* + @dihedral:X-pc-pd-X @atom:* @atom:pc @atom:pd @atom:* + @dihedral:X-p2-p3-X @atom:* @atom:p2 @atom:p3 @atom:* + @dihedral:X-pe-p3-X @atom:* @atom:pe @atom:p3 @atom:* + @dihedral:X-pf-p3-X @atom:* @atom:pf @atom:p3 @atom:* + @dihedral:X-p2-p4-X @atom:* @atom:p2 @atom:p4 @atom:* + @dihedral:X-pe-px-X @atom:* @atom:pe @atom:px @atom:* + @dihedral:X-pf-px-X @atom:* @atom:pf @atom:px @atom:* + @dihedral:X-p2-p5-X @atom:* @atom:p2 @atom:p5 @atom:* + @dihedral:X-pe-py-X @atom:* @atom:pe @atom:py @atom:* + @dihedral:X-pf-py-X @atom:* @atom:pf @atom:py @atom:* + @dihedral:X-p2-sh-X @atom:* @atom:p2 @atom:sh @atom:* + @dihedral:X-pe-sh-X @atom:* @atom:pe @atom:sh @atom:* + @dihedral:X-pf-sh-X @atom:* @atom:pf @atom:sh @atom:* + @dihedral:X-p2-ss-X @atom:* @atom:p2 @atom:ss @atom:* + @dihedral:X-pe-ss-X @atom:* @atom:pe @atom:ss @atom:* + @dihedral:X-pf-ss-X @atom:* @atom:pf @atom:ss @atom:* + @dihedral:X-p2-s4-X @atom:* @atom:p2 @atom:s4 @atom:* + @dihedral:X-pe-sx-X @atom:* @atom:pe @atom:sx @atom:* + @dihedral:X-pf-sx-X @atom:* @atom:pf @atom:sx @atom:* + @dihedral:X-p2-s6-X @atom:* @atom:p2 @atom:s6 @atom:* + @dihedral:X-pe-sy-X @atom:* @atom:pe @atom:sy @atom:* + @dihedral:X-pf-sy-X @atom:* @atom:pf @atom:sy @atom:* + @dihedral:X-p3-p3-X @atom:* @atom:p3 @atom:p3 @atom:* + @dihedral:X-p3-p4-X @atom:* @atom:p3 @atom:p4 @atom:* + @dihedral:X-p3-px-X @atom:* @atom:p3 @atom:px @atom:* + @dihedral:X-p3-p5-X @atom:* @atom:p3 @atom:p5 @atom:* + @dihedral:X-p3-py-X @atom:* @atom:p3 @atom:py @atom:* + @dihedral:X-p3-sh-X @atom:* @atom:p3 @atom:sh @atom:* + @dihedral:X-p3-ss-X @atom:* @atom:p3 @atom:ss @atom:* + @dihedral:X-p3-s4-X @atom:* @atom:p3 @atom:s4 @atom:* + @dihedral:X-p3-sx-X @atom:* @atom:p3 @atom:sx @atom:* + @dihedral:X-p3-s6-X @atom:* @atom:p3 @atom:s6 @atom:* + @dihedral:X-p3-sy-X @atom:* @atom:p3 @atom:sy @atom:* + @dihedral:X-p4-p4-X @atom:* @atom:p4 @atom:p4 @atom:* + @dihedral:X-px-px-X @atom:* @atom:px @atom:px @atom:* + @dihedral:X-p4-p5-X @atom:* @atom:p4 @atom:p5 @atom:* + @dihedral:X-px-py-X @atom:* @atom:px @atom:py @atom:* + @dihedral:X-p4-s4-X @atom:* @atom:p4 @atom:s4 @atom:* + @dihedral:X-px-sx-X @atom:* @atom:px @atom:sx @atom:* + @dihedral:X-p4-s6-X @atom:* @atom:p4 @atom:s6 @atom:* + @dihedral:X-px-sy-X @atom:* @atom:px @atom:sy @atom:* + @dihedral:X-p4-sh-X @atom:* @atom:p4 @atom:sh @atom:* + @dihedral:X-px-sh-X @atom:* @atom:px @atom:sh @atom:* + @dihedral:X-p4-ss-X @atom:* @atom:p4 @atom:ss @atom:* + @dihedral:X-px-ss-X @atom:* @atom:px @atom:ss @atom:* + @dihedral:X-p5-p5-X @atom:* @atom:p5 @atom:p5 @atom:* + @dihedral:X-py-py-X @atom:* @atom:py @atom:py @atom:* + @dihedral:X-p5-sh-X @atom:* @atom:p5 @atom:sh @atom:* + @dihedral:X-py-sh-X @atom:* @atom:py @atom:sh @atom:* + @dihedral:X-p5-ss-X @atom:* @atom:p5 @atom:ss @atom:* + @dihedral:X-py-ss-X @atom:* @atom:py @atom:ss @atom:* + @dihedral:X-p5-s4-X @atom:* @atom:p5 @atom:s4 @atom:* + @dihedral:X-py-sx-X @atom:* @atom:py @atom:sx @atom:* + @dihedral:X-p5-s6-X @atom:* @atom:p5 @atom:s6 @atom:* + @dihedral:X-py-sy-X @atom:* @atom:py @atom:sy @atom:* + @dihedral:X-sh-sh-X @atom:* @atom:sh @atom:sh @atom:* + @dihedral:X-sh-ss-X @atom:* @atom:sh @atom:ss @atom:* + @dihedral:X-sh-s4-X @atom:* @atom:sh @atom:s4 @atom:* + @dihedral:X-sh-sx-X @atom:* @atom:sh @atom:sx @atom:* + @dihedral:X-sh-s6-X @atom:* @atom:sh @atom:s6 @atom:* + @dihedral:X-sh-sy-X @atom:* @atom:sh @atom:sy @atom:* + @dihedral:X-ss-ss-X @atom:* @atom:ss @atom:ss @atom:* + @dihedral:X-ss-s4-X @atom:* @atom:ss @atom:s4 @atom:* + @dihedral:X-ss-sx-X @atom:* @atom:ss @atom:sx @atom:* + @dihedral:X-ss-s6-X @atom:* @atom:ss @atom:s6 @atom:* + @dihedral:X-ss-sy-X @atom:* @atom:ss @atom:sy @atom:* + @dihedral:X-s4-s4-X @atom:* @atom:s4 @atom:s4 @atom:* + @dihedral:X-sx-sx-X @atom:* @atom:sx @atom:sx @atom:* + @dihedral:X-s4-s6-X @atom:* @atom:s4 @atom:s6 @atom:* + @dihedral:X-sx-sy-X @atom:* @atom:sx @atom:sy @atom:* + @dihedral:X-s6-s6-X @atom:* @atom:s6 @atom:s6 @atom:* + @dihedral:X-sy-sy-X @atom:* @atom:sy @atom:sy @atom:* + @dihedral:X-cf-pe-X @atom:* @atom:cf @atom:pe @atom:* + @dihedral:X-nd-os-X @atom:* @atom:nd @atom:os @atom:* + @dihedral:X-nd-ss-X @atom:* @atom:nd @atom:ss @atom:* + @dihedral:X-nf-pe-X @atom:* @atom:nf @atom:pe @atom:* + @dihedral:c2-ne-p5-o @atom:c2 @atom:ne @atom:p5 @atom:o + @dihedral:c2-ne-p5-o @atom:c2 @atom:ne @atom:p5 @atom:o + @dihedral:c2-nf-p5-o @atom:c2 @atom:nf @atom:p5 @atom:o + @dihedral:c2-nf-p5-o @atom:c2 @atom:nf @atom:p5 @atom:o + @dihedral:ce-ne-p5-o @atom:ce @atom:ne @atom:p5 @atom:o + @dihedral:ce-ne-p5-o @atom:ce @atom:ne @atom:p5 @atom:o + @dihedral:ce-nf-p5-o @atom:ce @atom:nf @atom:p5 @atom:o + @dihedral:ce-nf-p5-o @atom:ce @atom:nf @atom:p5 @atom:o + @dihedral:cf-ne-p5-o @atom:cf @atom:ne @atom:p5 @atom:o + @dihedral:cf-ne-p5-o @atom:cf @atom:ne @atom:p5 @atom:o + @dihedral:cf-nf-p5-o @atom:cf @atom:nf @atom:p5 @atom:o + @dihedral:cf-nf-p5-o @atom:cf @atom:nf @atom:p5 @atom:o + @dihedral:hn-n-c-o @atom:hn @atom:n @atom:c @atom:o + @dihedral:hn-n-c-o @atom:hn @atom:n @atom:c @atom:o + @dihedral:c3-n3-p5-o @atom:c3 @atom:n3 @atom:p5 @atom:o + @dihedral:c3-n3-p5-o @atom:c3 @atom:n3 @atom:p5 @atom:o + @dihedral:oh-p5-os-c3 @atom:oh @atom:p5 @atom:os @atom:c3 + @dihedral:oh-p5-os-c3 @atom:oh @atom:p5 @atom:os @atom:c3 + @dihedral:h1-c3-c-o @atom:h1 @atom:c3 @atom:c @atom:o + @dihedral:h1-c3-c-o @atom:h1 @atom:c3 @atom:c @atom:o + @dihedral:ho-oh-c-o @atom:ho @atom:oh @atom:c @atom:o + @dihedral:ho-oh-c-o @atom:ho @atom:oh @atom:c @atom:o + @dihedral:c2-c2-c-o @atom:c2 @atom:c2 @atom:c @atom:o + @dihedral:c2-c2-c-o @atom:c2 @atom:c2 @atom:c @atom:o + @dihedral:c3-c3-os-c @atom:c3 @atom:c3 @atom:os @atom:c + @dihedral:c3-c3-os-c @atom:c3 @atom:c3 @atom:os @atom:c + @dihedral:c3-os-c3-na @atom:c3 @atom:os @atom:c3 @atom:na + @dihedral:c3-os-c3-na @atom:c3 @atom:os @atom:c3 @atom:na + @dihedral:o-c-os-c3 @atom:o @atom:c @atom:os @atom:c3 + @dihedral:o-c-os-c3 @atom:o @atom:c @atom:os @atom:c3 + @dihedral:os-c3-na-c2 @atom:os @atom:c3 @atom:na @atom:c2 + @dihedral:os-c3-na-c2 @atom:os @atom:c3 @atom:na @atom:c2 + @dihedral:h1-c3-c3-os @atom:h1 @atom:c3 @atom:c3 @atom:os + @dihedral:h1-c3-c3-os @atom:h1 @atom:c3 @atom:c3 @atom:os + @dihedral:h1-c3-c3-oh @atom:h1 @atom:c3 @atom:c3 @atom:oh + @dihedral:h1-c3-c3-oh @atom:h1 @atom:c3 @atom:c3 @atom:oh + @dihedral:h1-c3-c3-f @atom:h1 @atom:c3 @atom:c3 @atom:f + @dihedral:h1-c3-c3-f @atom:h1 @atom:c3 @atom:c3 @atom:f + @dihedral:h1-c3-c3-cl @atom:h1 @atom:c3 @atom:c3 @atom:cl + @dihedral:h1-c3-c3-cl @atom:h1 @atom:c3 @atom:c3 @atom:cl + @dihedral:h1-c3-c3-br @atom:h1 @atom:c3 @atom:c3 @atom:br + @dihedral:h1-c3-c3-br @atom:h1 @atom:c3 @atom:c3 @atom:br + @dihedral:hc-c3-c3-os @atom:hc @atom:c3 @atom:c3 @atom:os + @dihedral:hc-c3-c3-os @atom:hc @atom:c3 @atom:c3 @atom:os + @dihedral:c3-n4-c3-ca @atom:c3 @atom:n4 @atom:c3 @atom:ca + @dihedral:c3-n4-c3-ca @atom:c3 @atom:n4 @atom:c3 @atom:ca + @dihedral:oh-c3-c3-n4 @atom:oh @atom:c3 @atom:c3 @atom:n4 + @dihedral:oh-c3-c3-n4 @atom:oh @atom:c3 @atom:c3 @atom:n4 + @dihedral:c3-c3-n4-c3 @atom:c3 @atom:c3 @atom:n4 @atom:c3 + @dihedral:c3-c-os-p5 @atom:c3 @atom:c @atom:os @atom:p5 + @dihedral:c3-c-os-p5 @atom:c3 @atom:c @atom:os @atom:p5 + @dihedral:c-os-p5-o @atom:c @atom:os @atom:p5 @atom:o + @dihedral:c-os-p5-o @atom:c @atom:os @atom:p5 @atom:o + @dihedral:c-os-p5-o @atom:c @atom:os @atom:p5 @atom:o + @dihedral:c3-c3-os-p5 @atom:c3 @atom:c3 @atom:os @atom:p5 + @dihedral:c3-c3-os-p5 @atom:c3 @atom:c3 @atom:os @atom:p5 + @dihedral:c3-os-p5-o @atom:c3 @atom:os @atom:p5 @atom:o + @dihedral:c3-os-p5-o @atom:c3 @atom:os @atom:p5 @atom:o + @dihedral:ca-ca-os-p5 @atom:ca @atom:ca @atom:os @atom:p5 + @dihedral:ca-os-p5-o @atom:ca @atom:os @atom:p5 @atom:o + @dihedral:ca-os-p5-o @atom:ca @atom:os @atom:p5 @atom:o + @dihedral:br-c3-c3-br @atom:br @atom:c3 @atom:c3 @atom:br + @dihedral:br-c3-c3-br @atom:br @atom:c3 @atom:c3 @atom:br + @dihedral:c-n-c2-c2 @atom:c @atom:n @atom:c2 @atom:c2 + @dihedral:c-n-c2-c2 @atom:c @atom:n @atom:c2 @atom:c2 + @dihedral:c3-ss-c2-c2 @atom:c3 @atom:ss @atom:c2 @atom:c2 + @dihedral:c3-ss-c2-c2 @atom:c3 @atom:ss @atom:c2 @atom:c2 + @dihedral:c3-c2-c2-c3 @atom:c3 @atom:c2 @atom:c2 @atom:c3 + @dihedral:c3-c2-c2-c3 @atom:c3 @atom:c2 @atom:c2 @atom:c3 + @dihedral:c3-c3-c3-c3 @atom:c3 @atom:c3 @atom:c3 @atom:c3 + @dihedral:c3-c3-c3-c3 @atom:c3 @atom:c3 @atom:c3 @atom:c3 + @dihedral:c3-c3-c3-c3 @atom:c3 @atom:c3 @atom:c3 @atom:c3 + @dihedral:n-c-c3-c3 @atom:n @atom:c @atom:c3 @atom:c3 + @dihedral:n-c-c3-c3 @atom:n @atom:c @atom:c3 @atom:c3 + @dihedral:c3-os-c3-c3 @atom:c3 @atom:os @atom:c3 @atom:c3 + @dihedral:c3-os-c3-c3 @atom:c3 @atom:os @atom:c3 @atom:c3 + @dihedral:ca-nh-n3-c3 @atom:ca @atom:nh @atom:n3 @atom:c3 + @dihedral:hs-sh-ss-c3 @atom:hs @atom:sh @atom:ss @atom:c3 + @dihedral:hs-sh-ss-c3 @atom:hs @atom:sh @atom:ss @atom:c3 + @dihedral:ho-oh-nh-ca @atom:ho @atom:oh @atom:nh @atom:ca + @dihedral:ho-oh-nh-ca @atom:ho @atom:oh @atom:nh @atom:ca + @dihedral:cl-c3-c3-cl @atom:cl @atom:c3 @atom:c3 @atom:cl + @dihedral:cl-c3-c3-cl @atom:cl @atom:c3 @atom:c3 @atom:cl + @dihedral:c-n-c3-c3 @atom:c @atom:n @atom:c3 @atom:c3 + @dihedral:c-n-c3-c3 @atom:c @atom:n @atom:c3 @atom:c3 + @dihedral:c-n-c3-c3 @atom:c @atom:n @atom:c3 @atom:c3 + @dihedral:c2-p2-n-c @atom:c2 @atom:p2 @atom:n @atom:c + @dihedral:c2-p2-n-c @atom:c2 @atom:p2 @atom:n @atom:c + @dihedral:f-c3-c3-f @atom:f @atom:c3 @atom:c3 @atom:f + @dihedral:f-c3-c3-f @atom:f @atom:c3 @atom:c3 @atom:f + @dihedral:hc-c3-c2-c2 @atom:hc @atom:c3 @atom:c2 @atom:c2 + @dihedral:hc-c3-c2-c2 @atom:hc @atom:c3 @atom:c2 @atom:c2 + @dihedral:hc-c3-c3-br @atom:hc @atom:c3 @atom:c3 @atom:br + @dihedral:hc-c3-c3-br @atom:hc @atom:c3 @atom:c3 @atom:br + @dihedral:hc-c3-c3-c3 @atom:hc @atom:c3 @atom:c3 @atom:c3 + @dihedral:hc-c3-c3-cl @atom:hc @atom:c3 @atom:c3 @atom:cl + @dihedral:hc-c3-c3-cl @atom:hc @atom:c3 @atom:c3 @atom:cl + @dihedral:hc-c3-c3-f @atom:hc @atom:c3 @atom:c3 @atom:f + @dihedral:hc-c3-c3-f @atom:hc @atom:c3 @atom:c3 @atom:f + @dihedral:hc-c3-c3-hc @atom:hc @atom:c3 @atom:c3 @atom:hc + @dihedral:hc-c3-c3-oh @atom:hc @atom:c3 @atom:c3 @atom:oh + @dihedral:hc-c3-c3-oh @atom:hc @atom:c3 @atom:c3 @atom:oh + @dihedral:n-c-c3-n @atom:n @atom:c @atom:c3 @atom:n + @dihedral:n-c-c3-n @atom:n @atom:c @atom:c3 @atom:n + @dihedral:oh-c3-c3-os @atom:oh @atom:c3 @atom:c3 @atom:os + @dihedral:oh-c3-c3-os @atom:oh @atom:c3 @atom:c3 @atom:os + @dihedral:oh-c3-c3-os @atom:oh @atom:c3 @atom:c3 @atom:os + @dihedral:os-p5-os-c3 @atom:os @atom:p5 @atom:os @atom:c3 + @dihedral:os-p5-os-c3 @atom:os @atom:p5 @atom:os @atom:c3 + @dihedral:c3-n-c-c3 @atom:c3 @atom:n @atom:c @atom:c3 + @dihedral:c3-n-c-c3 @atom:c3 @atom:n @atom:c @atom:c3 + @dihedral:c3-os-c-c3 @atom:c3 @atom:os @atom:c @atom:c3 + @dihedral:c3-os-c-c3 @atom:c3 @atom:os @atom:c @atom:c3 + @dihedral:c3-os-c-c3 @atom:c3 @atom:os @atom:c @atom:c3 + @dihedral:hs-sh-c-c3 @atom:hs @atom:sh @atom:c @atom:c3 + @dihedral:hs-sh-c-c3 @atom:hs @atom:sh @atom:c @atom:c3 + @dihedral:os-c3-os-c3 @atom:os @atom:c3 @atom:os @atom:c3 + @dihedral:os-c3-os-c3 @atom:os @atom:c3 @atom:os @atom:c3 + @dihedral:os-c3-os-c3 @atom:os @atom:c3 @atom:os @atom:c3 + @dihedral:c3-ss-ss-c3 @atom:c3 @atom:ss @atom:ss @atom:c3 + @dihedral:c3-ss-ss-c3 @atom:c3 @atom:ss @atom:ss @atom:c3 + @dihedral:o-c-c3-hc @atom:o @atom:c @atom:c3 @atom:hc + @dihedral:o-c-c3-hc @atom:o @atom:c @atom:c3 @atom:hc + @dihedral:ho-oh-c3-c3 @atom:ho @atom:oh @atom:c3 @atom:c3 + @dihedral:oh-c3-c3-oh @atom:oh @atom:c3 @atom:c3 @atom:oh + @dihedral:oh-c3-c3-oh @atom:oh @atom:c3 @atom:c3 @atom:oh + @dihedral:os-c3-c3-os @atom:os @atom:c3 @atom:c3 @atom:os + @dihedral:os-c3-c3-os @atom:os @atom:c3 @atom:c3 @atom:os + @dihedral:os-c3-c3-os @atom:os @atom:c3 @atom:c3 @atom:os + @dihedral:c1-c1-c3-c1 @atom:c1 @atom:c1 @atom:c3 @atom:c1 + @dihedral:c2-c2-c3-c2 @atom:c2 @atom:c2 @atom:c3 @atom:c2 + @dihedral:c2-ce-ca-ca @atom:c2 @atom:ce @atom:ca @atom:ca + @dihedral:c2-ce-ce-c3 @atom:c2 @atom:ce @atom:ce @atom:c3 + @dihedral:c2-cf-cd-cc @atom:c2 @atom:cf @atom:cd @atom:cc + @dihedral:c2-n2-c3-n2 @atom:c2 @atom:n2 @atom:c3 @atom:n2 + @dihedral:c2-n2-c3-n2 @atom:c2 @atom:n2 @atom:c3 @atom:n2 + @dihedral:c2-n2-na-cd @atom:c2 @atom:n2 @atom:na @atom:cd + @dihedral:c2-n2-n-c @atom:c2 @atom:n2 @atom:n @atom:c + @dihedral:c2-n2-nh-c2 @atom:c2 @atom:n2 @atom:nh @atom:c2 + @dihedral:c2-ne-ca-ca @atom:c2 @atom:ne @atom:ca @atom:ca + @dihedral:c2-ne-ce-c2 @atom:c2 @atom:ne @atom:ce @atom:c2 + @dihedral:c2-ne-ce-c3 @atom:c2 @atom:ne @atom:ce @atom:c3 + @dihedral:c2-nh-c2-c2 @atom:c2 @atom:nh @atom:c2 @atom:c2 + @dihedral:c2-nh-c2-c3 @atom:c2 @atom:nh @atom:c2 @atom:c3 + @dihedral:c2-nh-c3-h1 @atom:c2 @atom:nh @atom:c3 @atom:h1 + @dihedral:c2-nh-ca-ca @atom:c2 @atom:nh @atom:ca @atom:ca + @dihedral:c2-nh-nh-c2 @atom:c2 @atom:nh @atom:nh @atom:c2 + @dihedral:c2-p2-c3-p2 @atom:c2 @atom:p2 @atom:c3 @atom:p2 + @dihedral:c2-p2-n4-hn @atom:c2 @atom:p2 @atom:n4 @atom:hn + @dihedral:c2-p2-na-cc @atom:c2 @atom:p2 @atom:na @atom:cc + @dihedral:c2-p2-nh-c2 @atom:c2 @atom:p2 @atom:nh @atom:c2 + @dihedral:c2-p2-nh-c3 @atom:c2 @atom:p2 @atom:nh @atom:c3 + @dihedral:c2-p2-nh-ca @atom:c2 @atom:p2 @atom:nh @atom:ca + @dihedral:c2-pe-ca-ca @atom:c2 @atom:pe @atom:ca @atom:ca + @dihedral:c2-pe-ce-c2 @atom:c2 @atom:pe @atom:ce @atom:c2 + @dihedral:c2-pe-ce-c3 @atom:c2 @atom:pe @atom:ce @atom:c3 + @dihedral:c2-pe-ne-c2 @atom:c2 @atom:pe @atom:ne @atom:c2 + @dihedral:c2-pe-pe-c2 @atom:c2 @atom:pe @atom:pe @atom:c2 + @dihedral:c3-c2-nh-ca @atom:c3 @atom:c2 @atom:nh @atom:ca + @dihedral:c3-c2-nh-ca @atom:c3 @atom:c2 @atom:nh @atom:ca + @dihedral:c3-c3-c3-hc @atom:c3 @atom:c3 @atom:c3 @atom:hc + @dihedral:c3-c3-cc-ca @atom:c3 @atom:c3 @atom:cc @atom:ca + @dihedral:c3-c3-n-c @atom:c3 @atom:c3 @atom:n @atom:c + @dihedral:c3-c3-n-c @atom:c3 @atom:c3 @atom:n @atom:c + @dihedral:c3-c3-n-c @atom:c3 @atom:c3 @atom:n @atom:c + @dihedral:c3-c-c3-c3 @atom:c3 @atom:c @atom:c3 @atom:c3 + @dihedral:c3-c-ce-c3 @atom:c3 @atom:c @atom:ce @atom:c3 + @dihedral:c3-ce-ce-c3 @atom:c3 @atom:ce @atom:ce @atom:c3 + @dihedral:c3-n2-c2-c3 @atom:c3 @atom:n2 @atom:c2 @atom:c3 + @dihedral:c3-n3-n3-c3 @atom:c3 @atom:n3 @atom:n3 @atom:c3 + @dihedral:c3-n3-nh-c2 @atom:c3 @atom:n3 @atom:nh @atom:c2 + @dihedral:c3-n4-ca-ca @atom:c3 @atom:n4 @atom:ca @atom:ca + @dihedral:c3-n4-n4-c3 @atom:c3 @atom:n4 @atom:n4 @atom:c3 + @dihedral:c3-nh-c2-c2 @atom:c3 @atom:nh @atom:c2 @atom:c2 + @dihedral:c3-nh-c2-c2 @atom:c3 @atom:nh @atom:c2 @atom:c2 + @dihedral:c3-nh-c2-c3 @atom:c3 @atom:nh @atom:c2 @atom:c3 + @dihedral:c3-os-c2-c2 @atom:c3 @atom:os @atom:c2 @atom:c2 + @dihedral:c3-os-c2-c2 @atom:c3 @atom:os @atom:c2 @atom:c2 + @dihedral:c3-os-c2-c3 @atom:c3 @atom:os @atom:c2 @atom:c3 + @dihedral:c3-os-c3-h1 @atom:c3 @atom:os @atom:c3 @atom:h1 + @dihedral:c3-os-ca-ca @atom:c3 @atom:os @atom:ca @atom:ca + @dihedral:c3-os-n2-c2 @atom:c3 @atom:os @atom:n2 @atom:c2 + @dihedral:c3-os-n2-c2 @atom:c3 @atom:os @atom:n2 @atom:c2 + @dihedral:c3-os-n3-c3 @atom:c3 @atom:os @atom:n3 @atom:c3 + @dihedral:c3-os-n4-c3 @atom:c3 @atom:os @atom:n4 @atom:c3 + @dihedral:c3-os-na-cc @atom:c3 @atom:os @atom:na @atom:cc + @dihedral:c3-os-n-c @atom:c3 @atom:os @atom:n @atom:c + @dihedral:c3-os-nh-c2 @atom:c3 @atom:os @atom:nh @atom:c2 + @dihedral:c3-os-nh-ca @atom:c3 @atom:os @atom:nh @atom:ca + @dihedral:c3-os-no-o @atom:c3 @atom:os @atom:no @atom:o + @dihedral:c3-os-oh-ho @atom:c3 @atom:os @atom:oh @atom:ho + @dihedral:c3-os-os-c3 @atom:c3 @atom:os @atom:os @atom:c3 + @dihedral:c3-os-p2-c2 @atom:c3 @atom:os @atom:p2 @atom:c2 + @dihedral:c3-os-p2-c2 @atom:c3 @atom:os @atom:p2 @atom:c2 + @dihedral:c3-p3-c2-c2 @atom:c3 @atom:p3 @atom:c2 @atom:c2 + @dihedral:c3-p3-c2-c3 @atom:c3 @atom:p3 @atom:c2 @atom:c3 + @dihedral:c3-p3-ca-ca @atom:c3 @atom:p3 @atom:ca @atom:ca + @dihedral:c3-p3-n2-c2 @atom:c3 @atom:p3 @atom:n2 @atom:c2 + @dihedral:c3-p3-n3-c3 @atom:c3 @atom:p3 @atom:n3 @atom:c3 + @dihedral:c3-p3-n4-c3 @atom:c3 @atom:p3 @atom:n4 @atom:c3 + @dihedral:c3-p3-na-cc @atom:c3 @atom:p3 @atom:na @atom:cc + @dihedral:c3-p3-n-c @atom:c3 @atom:p3 @atom:n @atom:c + @dihedral:c3-p3-nh-c2 @atom:c3 @atom:p3 @atom:nh @atom:c2 + @dihedral:c3-p3-no-o @atom:c3 @atom:p3 @atom:no @atom:o + @dihedral:c3-p3-oh-ho @atom:c3 @atom:p3 @atom:oh @atom:ho + @dihedral:c3-p3-p2-c2 @atom:c3 @atom:p3 @atom:p2 @atom:c2 + @dihedral:c3-p3-p3-c3 @atom:c3 @atom:p3 @atom:p3 @atom:c3 + @dihedral:c3-p4-n3-c3 @atom:c3 @atom:p4 @atom:n3 @atom:c3 + @dihedral:c3-p4-n4-hn @atom:c3 @atom:p4 @atom:n4 @atom:hn + @dihedral:c3-p4-na-cc @atom:c3 @atom:p4 @atom:na @atom:cc + @dihedral:c3-p4-na-cc @atom:c3 @atom:p4 @atom:na @atom:cc + @dihedral:c3-p4-nh-c2 @atom:c3 @atom:p4 @atom:nh @atom:c2 + @dihedral:c3-p4-nh-ca @atom:c3 @atom:p4 @atom:nh @atom:ca + @dihedral:c3-p4-nh-ca @atom:c3 @atom:p4 @atom:nh @atom:ca + @dihedral:c3-p4-os-c3 @atom:c3 @atom:p4 @atom:os @atom:c3 + @dihedral:c3-p4-p3-c3 @atom:c3 @atom:p4 @atom:p3 @atom:c3 + @dihedral:c3-px-ca-ca @atom:c3 @atom:px @atom:ca @atom:ca + @dihedral:c3-px-c-c3 @atom:c3 @atom:px @atom:c @atom:c3 + @dihedral:c3-px-c-c3 @atom:c3 @atom:px @atom:c @atom:c3 + @dihedral:c3-px-ce-c2 @atom:c3 @atom:px @atom:ce @atom:c2 + @dihedral:c3-px-ce-c3 @atom:c3 @atom:px @atom:ce @atom:c3 + @dihedral:c3-px-ne-c2 @atom:c3 @atom:px @atom:ne @atom:c2 + @dihedral:c3-px-ne-c2 @atom:c3 @atom:px @atom:ne @atom:c2 + @dihedral:c3-px-pe-c2 @atom:c3 @atom:px @atom:pe @atom:c2 + @dihedral:c3-s4-c3-h1 @atom:c3 @atom:s4 @atom:c3 @atom:h1 + @dihedral:c3-s4-n3-c3 @atom:c3 @atom:s4 @atom:n3 @atom:c3 + @dihedral:c3-s4-n4-c3 @atom:c3 @atom:s4 @atom:n4 @atom:c3 + @dihedral:c3-s4-na-cc @atom:c3 @atom:s4 @atom:na @atom:cc + @dihedral:c3-s4-nh-c2 @atom:c3 @atom:s4 @atom:nh @atom:c2 + @dihedral:c3-s4-nh-c2 @atom:c3 @atom:s4 @atom:nh @atom:c2 + @dihedral:c3-s4-nh-c2 @atom:c3 @atom:s4 @atom:nh @atom:c2 + @dihedral:c3-s4-no-o @atom:c3 @atom:s4 @atom:no @atom:o + @dihedral:c3-s4-oh-ho @atom:c3 @atom:s4 @atom:oh @atom:ho + @dihedral:c3-s4-os-c3 @atom:c3 @atom:s4 @atom:os @atom:c3 + @dihedral:c3-s4-p3-c3 @atom:c3 @atom:s4 @atom:p3 @atom:c3 + @dihedral:c3-s4-sh-hs @atom:c3 @atom:s4 @atom:sh @atom:hs + @dihedral:c3-s4-sh-hs @atom:c3 @atom:s4 @atom:sh @atom:hs + @dihedral:c3-s4-ss-c3 @atom:c3 @atom:s4 @atom:ss @atom:c3 + @dihedral:c3-s6-c3-h1 @atom:c3 @atom:s6 @atom:c3 @atom:h1 + @dihedral:c3-s6-n3-c3 @atom:c3 @atom:s6 @atom:n3 @atom:c3 + @dihedral:c3-s6-n4-c3 @atom:c3 @atom:s6 @atom:n4 @atom:c3 + @dihedral:c3-s6-na-cc @atom:c3 @atom:s6 @atom:na @atom:cc + @dihedral:c3-s6-n-c @atom:c3 @atom:s6 @atom:n @atom:c + @dihedral:c3-s6-nh-c2 @atom:c3 @atom:s6 @atom:nh @atom:c2 + @dihedral:c3-s6-no-o @atom:c3 @atom:s6 @atom:no @atom:o + @dihedral:c3-s6-oh-ho @atom:c3 @atom:s6 @atom:oh @atom:ho + @dihedral:c3-s6-os-c3 @atom:c3 @atom:s6 @atom:os @atom:c3 + @dihedral:c3-s6-p3-c3 @atom:c3 @atom:s6 @atom:p3 @atom:c3 + @dihedral:c3-s6-sh-hs @atom:c3 @atom:s6 @atom:sh @atom:hs + @dihedral:c3-s6-ss-c3 @atom:c3 @atom:s6 @atom:ss @atom:c3 + @dihedral:c3-ss-c2-c3 @atom:c3 @atom:ss @atom:c2 @atom:c3 + @dihedral:c3-ss-c3-c3 @atom:c3 @atom:ss @atom:c3 @atom:c3 + @dihedral:c3-ss-c3-h1 @atom:c3 @atom:ss @atom:c3 @atom:h1 + @dihedral:c3-ss-ca-ca @atom:c3 @atom:ss @atom:ca @atom:ca + @dihedral:c3-ss-n2-c2 @atom:c3 @atom:ss @atom:n2 @atom:c2 + @dihedral:c3-ss-n2-c2 @atom:c3 @atom:ss @atom:n2 @atom:c2 + @dihedral:c3-ss-n3-c3 @atom:c3 @atom:ss @atom:n3 @atom:c3 + @dihedral:c3-ss-n4-c3 @atom:c3 @atom:ss @atom:n4 @atom:c3 + @dihedral:c3-ss-n-c @atom:c3 @atom:ss @atom:n @atom:c + @dihedral:c3-ss-nh-c2 @atom:c3 @atom:ss @atom:nh @atom:c2 + @dihedral:c3-ss-no-o @atom:c3 @atom:ss @atom:no @atom:o + @dihedral:c3-ss-oh-ho @atom:c3 @atom:ss @atom:oh @atom:ho + @dihedral:c3-ss-os-c3 @atom:c3 @atom:ss @atom:os @atom:c3 + @dihedral:c3-ss-p2-c2 @atom:c3 @atom:ss @atom:p2 @atom:c2 + @dihedral:c3-ss-p3-c3 @atom:c3 @atom:ss @atom:p3 @atom:c3 + @dihedral:c3-ss-p4-c3 @atom:c3 @atom:ss @atom:p4 @atom:c3 + @dihedral:c3-sx-ca-ca @atom:c3 @atom:sx @atom:ca @atom:ca + @dihedral:c3-sx-ce-c2 @atom:c3 @atom:sx @atom:ce @atom:c2 + @dihedral:c3-sx-ce-c2 @atom:c3 @atom:sx @atom:ce @atom:c2 + @dihedral:c3-sx-ce-c3 @atom:c3 @atom:sx @atom:ce @atom:c3 + @dihedral:c3-sx-ce-c3 @atom:c3 @atom:sx @atom:ce @atom:c3 + @dihedral:c3-sx-ce-c3 @atom:c3 @atom:sx @atom:ce @atom:c3 + @dihedral:c3-sx-ne-c2 @atom:c3 @atom:sx @atom:ne @atom:c2 + @dihedral:c3-sx-ne-c2 @atom:c3 @atom:sx @atom:ne @atom:c2 + @dihedral:c3-sx-pe-c2 @atom:c3 @atom:sx @atom:pe @atom:c2 + @dihedral:c3-sx-px-c3 @atom:c3 @atom:sx @atom:px @atom:c3 + @dihedral:c3-sx-sx-c3 @atom:c3 @atom:sx @atom:sx @atom:c3 + @dihedral:c3-sx-sy-c3 @atom:c3 @atom:sx @atom:sy @atom:c3 + @dihedral:c3-sy-ca-ca @atom:c3 @atom:sy @atom:ca @atom:ca + @dihedral:c3-sy-ce-c2 @atom:c3 @atom:sy @atom:ce @atom:c2 + @dihedral:c3-sy-ce-c3 @atom:c3 @atom:sy @atom:ce @atom:c3 + @dihedral:c3-sy-ce-c3 @atom:c3 @atom:sy @atom:ce @atom:c3 + @dihedral:c3-sy-ce-c3 @atom:c3 @atom:sy @atom:ce @atom:c3 + @dihedral:c3-sy-ne-c2 @atom:c3 @atom:sy @atom:ne @atom:c2 + @dihedral:c3-sy-ne-c2 @atom:c3 @atom:sy @atom:ne @atom:c2 + @dihedral:c3-sy-pe-c2 @atom:c3 @atom:sy @atom:pe @atom:c2 + @dihedral:c3-sy-px-c3 @atom:c3 @atom:sy @atom:px @atom:c3 + @dihedral:c3-sy-sy-c3 @atom:c3 @atom:sy @atom:sy @atom:c3 + @dihedral:ca-c3-c3-c @atom:ca @atom:c3 @atom:c3 @atom:c + @dihedral:ca-c3-c3-n @atom:ca @atom:c3 @atom:c3 @atom:n + @dihedral:ca-ca-c3-ca @atom:ca @atom:ca @atom:c3 @atom:ca + @dihedral:ca-ca-ce-c2 @atom:ca @atom:ca @atom:ce @atom:c2 + @dihedral:ca-ca-ce-c3 @atom:ca @atom:ca @atom:ce @atom:c3 + @dihedral:ca-ca-os-c @atom:ca @atom:ca @atom:os @atom:c + @dihedral:ca-cf-ce-ca @atom:ca @atom:cf @atom:ce @atom:ca + @dihedral:ca-c-os-c3 @atom:ca @atom:c @atom:os @atom:c3 + @dihedral:ca-cp-cp-ca @atom:ca @atom:cp @atom:cp @atom:ca + @dihedral:ca-nh-c2-c2 @atom:ca @atom:nh @atom:c2 @atom:c2 + @dihedral:ca-nh-n2-c2 @atom:ca @atom:nh @atom:n2 @atom:c2 + @dihedral:ca-nh-n2-c2 @atom:ca @atom:nh @atom:n2 @atom:c2 + @dihedral:ca-nh-n2-c2 @atom:ca @atom:nh @atom:n2 @atom:c2 + @dihedral:ca-nh-n4-c3 @atom:ca @atom:nh @atom:n4 @atom:c3 + @dihedral:ca-nh-na-cd @atom:ca @atom:nh @atom:na @atom:cd + @dihedral:ca-nh-n-c @atom:ca @atom:nh @atom:n @atom:c + @dihedral:ca-nh-nh-c2 @atom:ca @atom:nh @atom:nh @atom:c2 + @dihedral:ca-nh-nh-ca @atom:ca @atom:nh @atom:nh @atom:ca + @dihedral:ca-nh-no-o @atom:ca @atom:nh @atom:no @atom:o + @dihedral:ca-nh-p3-c3 @atom:ca @atom:nh @atom:p3 @atom:c3 + @dihedral:ca-nh-p3-c3 @atom:ca @atom:nh @atom:p3 @atom:c3 + @dihedral:ca-nh-p5-os @atom:ca @atom:nh @atom:p5 @atom:os + @dihedral:ca-nh-s4-c3 @atom:ca @atom:nh @atom:s4 @atom:c3 + @dihedral:ca-nh-s4-c3 @atom:ca @atom:nh @atom:s4 @atom:c3 + @dihedral:ca-nh-s6-c3 @atom:ca @atom:nh @atom:s6 @atom:c3 + @dihedral:ca-nh-ss-c3 @atom:ca @atom:nh @atom:ss @atom:c3 + @dihedral:ca-nh-ss-c3 @atom:ca @atom:nh @atom:ss @atom:c3 + @dihedral:ca-nh-sy-ca @atom:ca @atom:nh @atom:sy @atom:ca + @dihedral:ca-nh-sy-ca @atom:ca @atom:nh @atom:sy @atom:ca + @dihedral:ca-os-c-o @atom:ca @atom:os @atom:c @atom:o + @dihedral:c-c3-c3-n @atom:c @atom:c3 @atom:c3 @atom:n + @dihedral:c-c3-n-c @atom:c @atom:c3 @atom:n @atom:c + @dihedral:c-c3-n-c @atom:c @atom:c3 @atom:n @atom:c + @dihedral:cc-na-c2-c2 @atom:cc @atom:na @atom:c2 @atom:c2 + @dihedral:cc-na-c2-c3 @atom:cc @atom:na @atom:c2 @atom:c3 + @dihedral:cc-na-ca-ca @atom:cc @atom:na @atom:ca @atom:ca + @dihedral:cc-na-na-cd @atom:cc @atom:na @atom:na @atom:cd + @dihedral:cc-na-nh-c2 @atom:cc @atom:na @atom:nh @atom:c2 + @dihedral:cc-n-c-c3 @atom:cc @atom:n @atom:c @atom:c3 + @dihedral:cd-cc-c3-c3 @atom:cd @atom:cc @atom:c3 @atom:c3 + @dihedral:cd-na-c3-na @atom:cd @atom:na @atom:c3 @atom:na + @dihedral:c-n-c2-c3 @atom:c @atom:n @atom:c2 @atom:c3 + @dihedral:c-n-c3-n @atom:c @atom:n @atom:c3 @atom:n + @dihedral:c-n-ca-ca @atom:c @atom:n @atom:ca @atom:ca + @dihedral:c-n-n-c @atom:c @atom:n @atom:n @atom:c + @dihedral:c-n-n-c @atom:c @atom:n @atom:n @atom:c + @dihedral:c-n-nh-c2 @atom:c @atom:n @atom:nh @atom:c2 + @dihedral:c-os-c-c3 @atom:c @atom:os @atom:c @atom:c3 + @dihedral:cz-nh-c3-c3 @atom:cz @atom:nh @atom:c3 @atom:c3 + @dihedral:h1-c3-n2-c2 @atom:h1 @atom:c3 @atom:n2 @atom:c2 + @dihedral:h1-c3-n3-c3 @atom:h1 @atom:c3 @atom:n3 @atom:c3 + @dihedral:h1-c3-na-cc @atom:h1 @atom:c3 @atom:na @atom:cc + @dihedral:h1-c3-n-c @atom:h1 @atom:c3 @atom:n @atom:c + @dihedral:h1-c3-nh-ca @atom:h1 @atom:c3 @atom:nh @atom:ca + @dihedral:h1-c3-no-o @atom:h1 @atom:c3 @atom:no @atom:o + @dihedral:h1-c3-os-p5 @atom:h1 @atom:c3 @atom:os @atom:p5 + @dihedral:hc-c3-c2-c3 @atom:hc @atom:c3 @atom:c2 @atom:c3 + @dihedral:hc-c3-c3-i @atom:hc @atom:c3 @atom:c3 @atom:i + @dihedral:hc-c3-c3-n3 @atom:hc @atom:c3 @atom:c3 @atom:n3 + @dihedral:hc-c3-ca-ca @atom:hc @atom:c3 @atom:ca @atom:ca + @dihedral:hc-c3-p2-c2 @atom:hc @atom:c3 @atom:p2 @atom:c2 + @dihedral:hc-c3-p3-c3 @atom:hc @atom:c3 @atom:p3 @atom:c3 + @dihedral:hc-c3-p4-c3 @atom:hc @atom:c3 @atom:p4 @atom:c3 + @dihedral:hn-n3-c3-c3 @atom:hn @atom:n3 @atom:c3 @atom:c3 + @dihedral:hn-n4-c2-c2 @atom:hn @atom:n4 @atom:c2 @atom:c2 + @dihedral:hn-n4-c2-c3 @atom:hn @atom:n4 @atom:c2 @atom:c3 + @dihedral:hn-n4-c3-hx @atom:hn @atom:n4 @atom:c3 @atom:hx + @dihedral:hn-n4-n2-c2 @atom:hn @atom:n4 @atom:n2 @atom:c2 + @dihedral:hn-n4-n3-c3 @atom:hn @atom:n4 @atom:n3 @atom:c3 + @dihedral:hn-n4-na-cd @atom:hn @atom:n4 @atom:na @atom:cd + @dihedral:hn-n4-n-c @atom:hn @atom:n4 @atom:n @atom:c + @dihedral:hn-n4-nh-c2 @atom:hn @atom:n4 @atom:nh @atom:c2 + @dihedral:hn-nh-na-cd @atom:hn @atom:nh @atom:na @atom:cd + @dihedral:ho-oh-c2-c2 @atom:ho @atom:oh @atom:c2 @atom:c2 + @dihedral:ho-oh-c2-c3 @atom:ho @atom:oh @atom:c2 @atom:c3 + @dihedral:ho-oh-c3-h1 @atom:ho @atom:oh @atom:c3 @atom:h1 + @dihedral:ho-oh-ca-ca @atom:ho @atom:oh @atom:ca @atom:ca + @dihedral:ho-oh-n2-c2 @atom:ho @atom:oh @atom:n2 @atom:c2 + @dihedral:ho-oh-n3-c3 @atom:ho @atom:oh @atom:n3 @atom:c3 + @dihedral:ho-oh-n4-c3 @atom:ho @atom:oh @atom:n4 @atom:c3 + @dihedral:ho-oh-na-cc @atom:ho @atom:oh @atom:na @atom:cc + @dihedral:ho-oh-nh-c2 @atom:ho @atom:oh @atom:nh @atom:c2 + @dihedral:ho-oh-no-o @atom:ho @atom:oh @atom:no @atom:o + @dihedral:ho-oh-oh-ho @atom:ho @atom:oh @atom:oh @atom:ho + @dihedral:ho-oh-p2-c2 @atom:ho @atom:oh @atom:p2 @atom:c2 + @dihedral:ho-oh-p4-c3 @atom:ho @atom:oh @atom:p4 @atom:c3 + @dihedral:ho-oh-p5-o @atom:ho @atom:oh @atom:p5 @atom:o + @dihedral:hs-sh-c2-c2 @atom:hs @atom:sh @atom:c2 @atom:c2 + @dihedral:hs-sh-c2-c3 @atom:hs @atom:sh @atom:c2 @atom:c3 + @dihedral:hs-sh-c3-h1 @atom:hs @atom:sh @atom:c3 @atom:h1 + @dihedral:hs-sh-ca-ca @atom:hs @atom:sh @atom:ca @atom:ca + @dihedral:hs-sh-n2-c2 @atom:hs @atom:sh @atom:n2 @atom:c2 + @dihedral:hs-sh-n3-c3 @atom:hs @atom:sh @atom:n3 @atom:c3 + @dihedral:hs-sh-n4-c3 @atom:hs @atom:sh @atom:n4 @atom:c3 + @dihedral:hs-sh-na-cc @atom:hs @atom:sh @atom:na @atom:cc + @dihedral:hs-sh-nh-c2 @atom:hs @atom:sh @atom:nh @atom:c2 + @dihedral:hs-sh-no-o @atom:hs @atom:sh @atom:no @atom:o + @dihedral:hs-sh-oh-ho @atom:hs @atom:sh @atom:oh @atom:ho + @dihedral:hs-sh-os-c3 @atom:hs @atom:sh @atom:os @atom:c3 + @dihedral:hs-sh-p2-c2 @atom:hs @atom:sh @atom:p2 @atom:c2 + @dihedral:hs-sh-p3-c3 @atom:hs @atom:sh @atom:p3 @atom:c3 + @dihedral:hs-sh-p4-c3 @atom:hs @atom:sh @atom:p4 @atom:c3 + @dihedral:hs-sh-p5-os @atom:hs @atom:sh @atom:p5 @atom:os + @dihedral:hs-sh-p5-os @atom:hs @atom:sh @atom:p5 @atom:os + @dihedral:hs-sh-sh-hs @atom:hs @atom:sh @atom:sh @atom:hs + @dihedral:n2-c2-c3-c2 @atom:n2 @atom:c2 @atom:c3 @atom:c2 + @dihedral:n3-c3-c3-c3 @atom:n3 @atom:c3 @atom:c3 @atom:c3 + @dihedral:n3-c3-c3-ca @atom:n3 @atom:c3 @atom:c3 @atom:ca + @dihedral:n3-c3-n3-hn @atom:n3 @atom:c3 @atom:n3 @atom:hn + @dihedral:n4-c3-c3-c3 @atom:n4 @atom:c3 @atom:c3 @atom:c3 + @dihedral:n4-c3-n4-hn @atom:n4 @atom:c3 @atom:n4 @atom:hn + @dihedral:n-c3-c3-c3 @atom:n @atom:c3 @atom:c3 @atom:c3 + @dihedral:nh-c3-c3-c3 @atom:nh @atom:c3 @atom:c3 @atom:c3 + @dihedral:o-c-c3-c3 @atom:o @atom:c @atom:c3 @atom:c3 + @dihedral:oh-c3-c3-c3 @atom:oh @atom:c3 @atom:c3 @atom:c3 + @dihedral:oh-c3-c3-c @atom:oh @atom:c3 @atom:c3 @atom:c + @dihedral:oh-c3-c3-n @atom:oh @atom:c3 @atom:c3 @atom:n + @dihedral:oh-c3-oh-ho @atom:oh @atom:c3 @atom:oh @atom:ho + @dihedral:o-no-c2-c2 @atom:o @atom:no @atom:c2 @atom:c2 + @dihedral:o-no-c2-c3 @atom:o @atom:no @atom:c2 @atom:c3 + @dihedral:o-no-c3-no @atom:o @atom:no @atom:c3 @atom:no + @dihedral:o-no-ca-ca @atom:o @atom:no @atom:ca @atom:ca + @dihedral:o-no-cd-cc @atom:o @atom:no @atom:cd @atom:cc + @dihedral:o-no-n2-c2 @atom:o @atom:no @atom:n2 @atom:c2 + @dihedral:o-no-n3-c3 @atom:o @atom:no @atom:n3 @atom:c3 + @dihedral:o-no-n4-c3 @atom:o @atom:no @atom:n4 @atom:c3 + @dihedral:o-no-na-cc @atom:o @atom:no @atom:na @atom:cc + @dihedral:o-no-nh-c2 @atom:o @atom:no @atom:nh @atom:c2 + @dihedral:o-no-no-o @atom:o @atom:no @atom:no @atom:o + @dihedral:o-no-no-o @atom:o @atom:no @atom:no @atom:o + @dihedral:o-no-p2-c2 @atom:o @atom:no @atom:p2 @atom:c2 + @dihedral:o-no-p4-c3 @atom:o @atom:no @atom:p4 @atom:c3 + @dihedral:o-py-ne-c2 @atom:o @atom:py @atom:ne @atom:c2 + @dihedral:o-py-ne-c2 @atom:o @atom:py @atom:ne @atom:c2 + @dihedral:o-s4-c3-s4 @atom:o @atom:s4 @atom:c3 @atom:s4 + @dihedral:o-s6-c3-s6 @atom:o @atom:s6 @atom:c3 @atom:s6 + @dihedral:os-c-c3-c @atom:os @atom:c @atom:c3 @atom:c + @dihedral:os-c-c3-c @atom:os @atom:c @atom:c3 @atom:c + @dihedral:os-p3-os-c3 @atom:os @atom:p3 @atom:os @atom:c3 + @dihedral:os-p5-n3-c3 @atom:os @atom:p5 @atom:n3 @atom:c3 + @dihedral:os-p5-n4-c3 @atom:os @atom:p5 @atom:n4 @atom:c3 + @dihedral:os-p5-na-cc @atom:os @atom:p5 @atom:na @atom:cc + @dihedral:os-p5-nh-c2 @atom:os @atom:p5 @atom:nh @atom:c2 + @dihedral:os-p5-no-o @atom:os @atom:p5 @atom:no @atom:o + @dihedral:os-p5-no-o @atom:os @atom:p5 @atom:no @atom:o + @dihedral:os-p5-p3-c3 @atom:os @atom:p5 @atom:p3 @atom:c3 + @dihedral:os-p5-ss-c3 @atom:os @atom:p5 @atom:ss @atom:c3 + @dihedral:os-py-ca-ca @atom:os @atom:py @atom:ca @atom:ca + @dihedral:os-py-ce-c2 @atom:os @atom:py @atom:ce @atom:c2 + @dihedral:os-py-ce-c3 @atom:os @atom:py @atom:ce @atom:c3 + @dihedral:os-py-pe-c2 @atom:os @atom:py @atom:pe @atom:c2 + @dihedral:os-py-py-c3 @atom:os @atom:py @atom:py @atom:c3 + @dihedral:os-py-py-os @atom:os @atom:py @atom:py @atom:os + @dihedral:os-py-sx-c3 @atom:os @atom:py @atom:sx @atom:c3 + @dihedral:os-py-sy-c3 @atom:os @atom:py @atom:sy @atom:c3 + @dihedral:os-py-sy-c3 @atom:os @atom:py @atom:sy @atom:c3 + @dihedral:p3-c3-p3-hp @atom:p3 @atom:c3 @atom:p3 @atom:hp + @dihedral:s-c-c3-c @atom:s @atom:c @atom:c3 @atom:c + @dihedral:sh-c3-c3-n @atom:sh @atom:c3 @atom:c3 @atom:n + @dihedral:sh-c3-sh-hs @atom:sh @atom:c3 @atom:sh @atom:hs + @dihedral:ss-c3-ss-c3 @atom:ss @atom:c3 @atom:ss @atom:c3 + @dihedral:c3-c3-ca-ca @atom:c3 @atom:c3 @atom:ca @atom:ca + @dihedral:c3-c3-c-o @atom:c3 @atom:c3 @atom:c @atom:o + @dihedral:c3-c3-c-o @atom:c3 @atom:c3 @atom:c @atom:o + @dihedral:c3-c3-c-o @atom:c3 @atom:c3 @atom:c @atom:o + @dihedral:c3-c3-os-c3 @atom:c3 @atom:c3 @atom:os @atom:c3 + @dihedral:c3-c3-os-c3 @atom:c3 @atom:c3 @atom:os @atom:c3 + @dihedral:c3-c3-os-c3 @atom:c3 @atom:c3 @atom:os @atom:c3 + @dihedral:ca-ca-c-o @atom:ca @atom:ca @atom:c @atom:o + @dihedral:o-c-c3-c @atom:o @atom:c @atom:c3 @atom:c + @dihedral:o-c-c3-c @atom:o @atom:c @atom:c3 @atom:c + @dihedral:os-c3-c-o @atom:os @atom:c3 @atom:c @atom:o + @dihedral:os-c3-c-o @atom:os @atom:c3 @atom:c @atom:o + @dihedral:os-c3-c-o @atom:os @atom:c3 @atom:c @atom:o + @dihedral:c2-ce-cs-c3 @atom:c2 @atom:ce @atom:cs @atom:c3 + @dihedral:c2-ce-c-c3 @atom:c2 @atom:ce @atom:c @atom:c3 + @dihedral:c2-ce-ce-c2 @atom:c2 @atom:ce @atom:ce @atom:c2 + @dihedral:c2-n-c-c3 @atom:c2 @atom:n @atom:c @atom:c3 + @dihedral:c2-n-cs-c3 @atom:c2 @atom:n @atom:cs @atom:c3 + @dihedral:c2-ne-c-c3 @atom:c2 @atom:ne @atom:c @atom:c3 + @dihedral:c2-ne-cs-c3 @atom:c2 @atom:ne @atom:cs @atom:c3 + @dihedral:c2-pe-c-c3 @atom:c2 @atom:pe @atom:c @atom:c3 + @dihedral:c2-pe-cs-c3 @atom:c2 @atom:pe @atom:cs @atom:c3 + @dihedral:c3-cs-cs-c3 @atom:c3 @atom:cs @atom:cs @atom:c3 + @dihedral:c3-c-c-c3 @atom:c3 @atom:c @atom:c @atom:c3 + @dihedral:c3-c-cs-c3 @atom:c3 @atom:c @atom:cs @atom:c3 + @dihedral:c3-c-n-ca @atom:c3 @atom:c @atom:n @atom:ca + @dihedral:c3-c-n-ca @atom:c3 @atom:c @atom:n @atom:ca + @dihedral:c3-cs-n-ca @atom:c3 @atom:cs @atom:n @atom:ca + @dihedral:c3-n7-c3-c3 @atom:c3 @atom:n7 @atom:c3 @atom:c3 + @dihedral:c3-n7-c3-c3 @atom:c3 @atom:n7 @atom:c3 @atom:c3 + @dihedral:c3-n3-c3-c3 @atom:c3 @atom:n3 @atom:c3 @atom:c3 + @dihedral:c3-n3-c3-c3 @atom:c3 @atom:n3 @atom:c3 @atom:c3 + @dihedral:c3-n-cs-c3 @atom:c3 @atom:n @atom:cs @atom:c3 + @dihedral:c3-n-cs-c3 @atom:c3 @atom:n @atom:cs @atom:c3 + @dihedral:c3-nu-ca-ca @atom:c3 @atom:nu @atom:ca @atom:ca + @dihedral:c3-nh-ca-ca @atom:c3 @atom:nh @atom:ca @atom:ca + @dihedral:c3-os-cs-c3 @atom:c3 @atom:os @atom:cs @atom:c3 + @dihedral:c3-os-cs-c3 @atom:c3 @atom:os @atom:cs @atom:c3 + @dihedral:c3-os-cs-c3 @atom:c3 @atom:os @atom:cs @atom:c3 + @dihedral:c3-p3-c-c3 @atom:c3 @atom:p3 @atom:c @atom:c3 + @dihedral:c3-p3-cs-c3 @atom:c3 @atom:p3 @atom:cs @atom:c3 + @dihedral:c3-ss-c-c3 @atom:c3 @atom:ss @atom:c @atom:c3 + @dihedral:c3-ss-cs-c3 @atom:c3 @atom:ss @atom:cs @atom:c3 + @dihedral:c3-sx-c-c3 @atom:c3 @atom:sx @atom:c @atom:c3 + @dihedral:c3-sx-c-c3 @atom:c3 @atom:sx @atom:c @atom:c3 + @dihedral:c3-sx-cs-c3 @atom:c3 @atom:sx @atom:cs @atom:c3 + @dihedral:c3-sx-cs-c3 @atom:c3 @atom:sx @atom:cs @atom:c3 + @dihedral:c3-sy-cs-c3 @atom:c3 @atom:sy @atom:cs @atom:c3 + @dihedral:c3-sy-c-c3 @atom:c3 @atom:sy @atom:c @atom:c3 + @dihedral:ca-ca-c-c3 @atom:ca @atom:ca @atom:c @atom:c3 + @dihedral:ca-ca-cs-c3 @atom:ca @atom:ca @atom:cs @atom:c3 + @dihedral:c-c3-c3-c3 @atom:c @atom:c3 @atom:c3 @atom:c3 + @dihedral:c-n-cs-c3 @atom:c @atom:n @atom:cs @atom:c3 + @dihedral:c-n-c-c3 @atom:c @atom:n @atom:c @atom:c3 + @dihedral:c-n-c-c3 @atom:c @atom:n @atom:c @atom:c3 + @dihedral:hc-c3-c-c3 @atom:hc @atom:c3 @atom:c @atom:c3 + @dihedral:hc-c3-cs-c3 @atom:hc @atom:c3 @atom:cs @atom:c3 + @dihedral:hn-n4-c-c3 @atom:hn @atom:n4 @atom:c @atom:c3 + @dihedral:hn-n4-c-c3 @atom:hn @atom:n4 @atom:c @atom:c3 + @dihedral:hn-n4-cs-c3 @atom:hn @atom:n4 @atom:cs @atom:c3 + @dihedral:hn-n4-cs-c3 @atom:hn @atom:n4 @atom:cs @atom:c3 + @dihedral:ho-oh-c-c3 @atom:ho @atom:oh @atom:c @atom:c3 + @dihedral:ho-oh-cs-c3 @atom:ho @atom:oh @atom:cs @atom:c3 + @dihedral:hs-sh-cs-c3 @atom:hs @atom:sh @atom:cs @atom:c3 + @dihedral:hs-sh-cs-c3 @atom:hs @atom:sh @atom:cs @atom:c3 + @dihedral:o-n-c-c3 @atom:o @atom:n @atom:c @atom:c3 + @dihedral:o-n-cs-c3 @atom:o @atom:n @atom:cs @atom:c3 + @dihedral:o-p5-c3-p5 @atom:o @atom:p5 @atom:c3 @atom:p5 + @dihedral:o-p5-c3-p5 @atom:o @atom:p5 @atom:c3 @atom:p5 + @dihedral:os-py-c-c3 @atom:os @atom:py @atom:c @atom:c3 + @dihedral:os-py-cs-c3 @atom:os @atom:py @atom:cs @atom:c3 + } # (end of Dihedrals By Type) + + write_once("In Settings") { + improper_coeff @improper:X-o-c-o cvff 1.1 -1 2 # JCC,7,(1986),230 + improper_coeff @improper:X-X-c-o cvff 10.5 -1 2 # JCC,7,(1986),230 + improper_coeff @improper:X-X-ca-ha cvff 1.1 -1 2 # bsd.on C6H6 nmodes + improper_coeff @improper:X-X-n-hn cvff 1.1 -1 2 # JCC,7,(1986),230 + improper_coeff @improper:X-X-n2-hn cvff 1.1 -1 2 # JCC,7,(1986),230 + improper_coeff @improper:X-X-na-hn cvff 1.1 -1 2 # JCC,7,(1986),230 + improper_coeff @improper:X-c3-n-c3 cvff 1.1 -1 2 # JCC,7,(1986),230 + improper_coeff @improper:X-n2-ca-n2 cvff 10.5 -1 2 # JCC,7,(1986),230 + improper_coeff @improper:c-c2-c2-c3 cvff 1.1 -1 2 # dac guess, 9/94 + improper_coeff @improper:c-ca-ca-c3 cvff 1.1 -1 2 # dac guess, 9/94 + improper_coeff @improper:c-c3-n-hn cvff 1.1 -1 2 # Junmei et al.1999 + improper_coeff @improper:c-c3-n-o cvff 1.1 -1 2 # Junmei et al.1999 + improper_coeff @improper:c2-c2-na-c3 cvff 1.1 -1 2 + improper_coeff @improper:c2-c-c2-c3 cvff 1.1 -1 2 + improper_coeff @improper:c2-c3-c2-hc cvff 1.1 -1 2 # Junmei et al.1999 + improper_coeff @improper:c2-c3-ca-hc cvff 1.1 -1 2 # Junmei et al.1999 + improper_coeff @improper:c2-hc-c-o cvff 1.1 -1 2 # Junmei et al.1999 + improper_coeff @improper:c3-o-c-oh cvff 1.1 -1 2 + improper_coeff @improper:c3-c2-c2-n2 cvff 1.1 -1 2 + improper_coeff @improper:c3-c2-c2-na cvff 1.1 -1 2 + improper_coeff @improper:c3-ca-ca-n2 cvff 1.1 -1 2 + improper_coeff @improper:c3-ca-ca-na cvff 1.1 -1 2 + improper_coeff @improper:ca-ca-ca-c2 cvff 1.1 -1 2 + improper_coeff @improper:ca-ca-ca-c3 cvff 1.1 -1 2 + improper_coeff @improper:ca-ca-ca-f cvff 1.1 -1 2 # Junmei et al.1999 + improper_coeff @improper:ca-ca-ca-cl cvff 1.1 -1 2 # Junmei et al.1999 + improper_coeff @improper:ca-ca-ca-br cvff 1.1 -1 2 # Junmei et al.1999 + improper_coeff @improper:ca-ca-ca-i cvff 1.1 -1 2 # Junmei et al.1999 + improper_coeff @improper:ca-ca-c-oh cvff 1.1 -1 2 # (not used in tyr!) + improper_coeff @improper:ca-ca-na-c3 cvff 1.1 -1 2 + improper_coeff @improper:ca-c-ca-c3 cvff 1.1 -1 2 + improper_coeff @improper:ca-hc-c-o cvff 1.1 -1 2 # Junmei et al.1999 + improper_coeff @improper:ca-n2-ca-n2 cvff 1.1 -1 2 # dac, 10/94 + improper_coeff @improper:hc-o-c-oh cvff 1.1 -1 2 # Junmei et al.1999 + improper_coeff @improper:hc-o-c-os cvff 1.1 -1 2 + improper_coeff @improper:n2-c2-ca-n2 cvff 1.1 -1 2 # dac guess, 9/94 + improper_coeff @improper:n2-ca-ca-n2 cvff 1.1 -1 2 # dac guess, 9/94 + improper_coeff @improper:na-n2-ca-n2 cvff 1.1 -1 2 # dac, 10/94 + } # (end of improper_coeffs) + + write_once("Data Impropers By Type (gaff_imp.py)") { + @improper:X-o-c-o @atom:* @atom:o @atom:c @atom:o + @improper:X-X-c-o @atom:* @atom:* @atom:c @atom:o + @improper:X-X-ca-ha @atom:* @atom:* @atom:ca @atom:ha + @improper:X-X-n-hn @atom:* @atom:* @atom:n @atom:hn + @improper:X-X-n2-hn @atom:* @atom:* @atom:n2 @atom:hn + @improper:X-X-na-hn @atom:* @atom:* @atom:na @atom:hn + @improper:X-c3-n-c3 @atom:* @atom:c3 @atom:n @atom:c3 + @improper:X-n2-ca-n2 @atom:* @atom:n2 @atom:ca @atom:n2 + @improper:c-c2-c2-c3 @atom:c @atom:c2 @atom:c2 @atom:c3 + @improper:c-ca-ca-c3 @atom:c @atom:ca @atom:ca @atom:c3 + @improper:c-c3-n-hn @atom:c @atom:c3 @atom:n @atom:hn + @improper:c-c3-n-o @atom:c @atom:c3 @atom:n @atom:o + @improper:c2-c2-na-c3 @atom:c2 @atom:c2 @atom:na @atom:c3 + @improper:c2-c-c2-c3 @atom:c2 @atom:c @atom:c2 @atom:c3 + @improper:c2-c3-c2-hc @atom:c2 @atom:c3 @atom:c2 @atom:hc + @improper:c2-c3-ca-hc @atom:c2 @atom:c3 @atom:ca @atom:hc + @improper:c2-hc-c-o @atom:c2 @atom:hc @atom:c @atom:o + @improper:c3-o-c-oh @atom:c3 @atom:o @atom:c @atom:oh + @improper:c3-c2-c2-n2 @atom:c3 @atom:c2 @atom:c2 @atom:n2 + @improper:c3-c2-c2-na @atom:c3 @atom:c2 @atom:c2 @atom:na + @improper:c3-ca-ca-n2 @atom:c3 @atom:ca @atom:ca @atom:n2 + @improper:c3-ca-ca-na @atom:c3 @atom:ca @atom:ca @atom:na + @improper:ca-ca-ca-c2 @atom:ca @atom:ca @atom:ca @atom:c2 + @improper:ca-ca-ca-c3 @atom:ca @atom:ca @atom:ca @atom:c3 + @improper:ca-ca-ca-f @atom:ca @atom:ca @atom:ca @atom:f + @improper:ca-ca-ca-cl @atom:ca @atom:ca @atom:ca @atom:cl + @improper:ca-ca-ca-br @atom:ca @atom:ca @atom:ca @atom:br + @improper:ca-ca-ca-i @atom:ca @atom:ca @atom:ca @atom:i + @improper:ca-ca-c-oh @atom:ca @atom:ca @atom:c @atom:oh + @improper:ca-ca-na-c3 @atom:ca @atom:ca @atom:na @atom:c3 + @improper:ca-c-ca-c3 @atom:ca @atom:c @atom:ca @atom:c3 + @improper:ca-hc-c-o @atom:ca @atom:hc @atom:c @atom:o + @improper:ca-n2-ca-n2 @atom:ca @atom:n2 @atom:ca @atom:n2 + @improper:hc-o-c-oh @atom:hc @atom:o @atom:c @atom:oh + @improper:hc-o-c-os @atom:hc @atom:o @atom:c @atom:os + @improper:n2-c2-ca-n2 @atom:n2 @atom:c2 @atom:ca @atom:n2 + @improper:n2-ca-ca-n2 @atom:n2 @atom:ca @atom:ca @atom:n2 + @improper:na-n2-ca-n2 @atom:na @atom:n2 @atom:ca @atom:n2 + } # (end of Impropers By Type) + + + write_once("In Init") { + # Default styles and settings for AMBER based force-fields: + units real + atom_style full + bond_style hybrid harmonic + angle_style hybrid harmonic + dihedral_style hybrid fourier + improper_style hybrid cvff + pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0 + kspace_style pppm 0.0001 + + # NOTE: If you do not want to use long-range coulombic forces, + # comment out the two lines above and uncomment this line: + # pair_style hybrid lj/charmm/coul/charmm 9.0 10.0 + + pair_modify mix arithmetic + special_bonds amber + } + +} + + diff --git a/tools/moltemplate/moltemplate/force_fields/loplsaa.lt b/tools/moltemplate/moltemplate/force_fields/loplsaa.lt index 0c9614632c..017411a75f 100644 --- a/tools/moltemplate/moltemplate/force_fields/loplsaa.lt +++ b/tools/moltemplate/moltemplate/force_fields/loplsaa.lt @@ -1,17 +1,17 @@ -########################################################################### -## Extra OPLSAA parameters and atom types for long hydrocarbon chains ## -## SOURCE: Sui, Pluhackova, Böckmann, J.Chem.Theory.Comp (2012), 8, 1459 ## -## CREDIT: Sebastian Echeverri (file format conversion) ## -########################################################################### +############################################################################ +## Extra OPLSAA parameters and atom types for long hydrocarbon chains ## +## SOURCES: Sui, Pluhackova, Böckmann, J.Chem.Theory.Comp (2012), 8(4), 1459 +## Pluhackova,...,Böckmann, J.Phys.Chem.B (2015), 119(49), 15287 ## +## CREDIT: Sebastian Echeverri (file format conversion) ## +############################################################################ # This file was generated using: -# tinkerparm2lt.py -name LOPLSAA -file loplsaa_ext.prm -dihedral-style opls -# (and then edited manually to make sure the -# bond, angle, and improper interactions for these atoms -# remain unchanged) +# tinkerparm2lt.py -name OPLSAA -file loplsaa_ext.prm -dihedral-style opls -zeropad 3 +# (...and then EDITED manually to make sure the default bond, angle, +# and improper interactions for these atoms remain unchanged) -import "oplsaa.lt" # <-- Load the ordinary OPLS parameters - # We will extend and override them below +import "oplsaa.lt" # <-- Load the ordinary OPLS parameters first + # We will augment and override them below @@ -22,12 +22,20 @@ OPLSAA { write_once("In Charges") { set type @atom:80L charge -0.222 # "Alkane CH3- (LOPLS CT_CH3)" set type @atom:81L charge -0.148 # "Alkane -CH2- (LOPLS CT_CH2)" + set type @atom:81LL charge 0.19 # "Alkane -CH2- (LOPLS ALT)" set type @atom:85LCH3 charge 0.074 # "Alkane H-C CH3 (LOPLS HC_CH3)" set type @atom:85LCH2 charge 0.074 # "Alkane H-C CH2 (LOPLS HC_CH2)" set type @atom:87L charge -0.16 # "Alkene RH-C= (LOPLS CM_CH)" set type @atom:89L charge 0.16 # "Alkene H-C= (LOPLS HC_CH)" set type @atom:86L charge 0.0 # "Alkene R2-C= (LOPLS)" set type @atom:88L charge -0.23 # "Alkene H2-C= (LOPLS)" + set type @atom:96L charge -0.683 # "Alcohol -OH (LOPLS)" + set type @atom:97L charge 0.418 # "Alcohol -OH (LOPLS)" + set type @atom:111L charge -0.7 # "Diol -OH (LOPLS)" + set type @atom:112L charge 0.435 # "Diol -OH (LOPLS)" + set type @atom:113L charge -0.73 # "Triol -OH (LOPLS)" + set type @atom:114L charge 0.465 # "Triol -OH (LOPLS)" + set type @atom:118L charge 0.06 # "Diol & Triol H-COH (LOPLS)" set type @atom:169L charge 0.005 # "Chloroalkene Cl-CH= (LOPLS)" set type @atom:266L charge -0.07 # "Uracil & Thymine C5 (LOPLS)" set type @atom:267L charge 0.08 # "Uracil & Thymine C6 (LOPLS)" @@ -37,9 +45,14 @@ OPLSAA { set type @atom:325L charge 0.1 # "CytosineH+ C6 (LOPLS)" set type @atom:340L charge 0.18 # "Trifluorothymine CF3- (LOPLS)" set type @atom:342L charge 0.12 # "Chloroalkene Cl2-C= (LOPLS)" + set type @atom:406L charge 0.75 # "Ester -COOR (LOPLS)" + set type @atom:407L charge -0.55 # "Ester C=O (LOPLS)" + set type @atom:408L charge -0.45 # "Ester CO-O-R (LOPLS)" set type @atom:458L charge -0.03 # "Vinyl Ether =CH-OR (LOPLS)" set type @atom:459L charge 0.085 # "Vinyl Ether =CR-OR (LOPLS)" set type @atom:649L charge -0.344 # "Cl..CH3..Cl- Sn2 TS (LOPLS)" + set type @atom:718L charge 0.06 # "Propylene Carbonate CH2 (LOPLS)" + set type @atom:718LL charge 0.03 # "Propylene Carbonate CH2 (LOPLS ALT)" set type @atom:900L charge -0.25 # "Allene/Ketene H2C=C=X (LOPLS)" set type @atom:901L charge -0.1 # "Allene/Ketene HRC=C=X (LOPLS)" set type @atom:902L charge 0.05 # "Allene/Ketene R2C=C=X (LOPLS)" @@ -49,12 +62,20 @@ OPLSAA { write_once("Data Masses") { @atom:80L 12.011 @atom:81L 12.011 + @atom:81LL 12.011 @atom:85LCH3 1.008 @atom:85LCH2 1.008 @atom:87L 12.011 @atom:89L 1.008 @atom:86L 12.011 @atom:88L 12.011 + @atom:96L 15.999 + @atom:97L 1.008 + @atom:111L 15.999 + @atom:112L 1.008 + @atom:113L 15.999 + @atom:114L 1.008 + @atom:118L 1.008 @atom:169L 12.011 @atom:266L 12.011 @atom:267L 12.011 @@ -64,66 +85,113 @@ OPLSAA { @atom:325L 12.011 @atom:340L 12.011 @atom:342L 12.011 + @atom:406L 12.011 + @atom:407L 15.999 + @atom:408L 15.999 @atom:458L 12.011 @atom:459L 12.011 @atom:649L 12.011 + @atom:718L 1.008 + @atom:718LL 1.008 @atom:900L 12.011 @atom:901L 12.011 @atom:902L 12.011 } #(end of atom masses) - # ------- force-field-IDs for bonded interaction lookup ------- - # (First append the "force-field-ID" to the atom type name. - # Later use these expanded names for force-field lookup.) - replace{ @atom:80L @atom:80L_b13_a13_d13L_i13 } - replace{ @atom:81L @atom:81L_b13_a13_d13L_i13 } - replace{ @atom:85LCH3 @atom:85LCH3_b46_a46_d46_i46 } - replace{ @atom:85LCH2 @atom:85LCH2_b46_a46_d46_i46 } - replace{ @atom:87L @atom:87L_b47_a47_d47L_i47 } - replace{ @atom:89L @atom:89L_b46_a46_d46_i46 } - replace{ @atom:86L @atom:86L_b47_a47_d47L_i47 } - replace{ @atom:88L @atom:88L_b47_a47_d47L_i47 } - replace{ @atom:169L @atom:169L_b47_a47_d47L_i47 } - replace{ @atom:266L @atom:266L_b47_a47_d47L_i47 } - replace{ @atom:267L @atom:267L_b47_a47_d47L_i47 } - replace{ @atom:280L @atom:280L_b47_a47_d47L_i47 } - replace{ @atom:281L @atom:281L_b47_a47_d47L_i47 } - replace{ @atom:324L @atom:324L_b47_a47_d47L_i47 } - replace{ @atom:325L @atom:325L_b47_a47_d47L_i47 } - replace{ @atom:340L @atom:340L_b47_a47_d47L_i47 } - replace{ @atom:342L @atom:342L_b47_a47_d47L_i47 } - replace{ @atom:458L @atom:458L_b47_a47_d47L_i47 } - replace{ @atom:459L @atom:459L_b47_a47_d47L_i47 } - replace{ @atom:649L @atom:649L_b47_a47_d47L_i47 } - replace{ @atom:900L @atom:900L_b47_a47_d47L_i47 } - replace{ @atom:901L @atom:901L_b47_a47_d47L_i47 } - replace{ @atom:902L @atom:902L_b47_a47_d47L_i47 } - #(end of force-field-IDs) + + # ---------- EQUIVALENCE CATEGORIES for bonded interaction lookup ---------- + # Each type of atom has a separate ID used for looking up bond parameters + # and a separate ID for looking up 3-body angle interaction parameters + # and a separate ID for looking up 4-body dihedral interaction parameters + # and a separate ID for looking up 4-body improper interaction parameters + # The complete @atom type name includes ALL of these ID numbers. There's + # no need to force the end-user to type the complete name of each atom. + # The "replace" command used below informs moltemplate that the short + # @atom names we have been using abovee are equivalent to the complete + # @atom names used below: + + replace{ @atom:80L @atom:80L_b013_a013_d013L_i013 } + replace{ @atom:81L @atom:81L_b013_a013_d013L_i013 } + replace{ @atom:81LL @atom:81LL_b013_a013_d013LL_i013 } + replace{ @atom:85LCH3 @atom:85LCH3_b046_a046_d046_i046 } + replace{ @atom:85LCH2 @atom:85LCH2_b046_a046_d046_i046 } + replace{ @atom:87L @atom:87L_b047_a047_d047L_i047 } + replace{ @atom:89L @atom:89L_b046_a046_d046_i046 } + replace{ @atom:86L @atom:86L_b047_a047_d047L_i047 } + replace{ @atom:88L @atom:88L_b047_a047_d047L_i047 } + replace{ @atom:96L @atom:96L_b005_a005_d005L_i005 } + replace{ @atom:97L @atom:97L_b007_a007_d007L_i007 } + replace{ @atom:111L @atom:111L_b005_a005_d005L_i005 } + replace{ @atom:112L @atom:112L_b007_a007_d007L_i007 } + replace{ @atom:113L @atom:113L_b005_a005_d005L_i005 } + replace{ @atom:114L @atom:114L_b007_a007_d007L_i007 } + replace{ @atom:118L @atom:118L_b046_a046_d046L_i046 } + replace{ @atom:169L @atom:169L_b047_a047_d047L_i047 } + replace{ @atom:266L @atom:266L_b047_a047_d047L_i047 } + replace{ @atom:267L @atom:267L_b047_a047_d047L_i047 } + replace{ @atom:280L @atom:280L_b047_a047_d047L_i047 } + replace{ @atom:281L @atom:281L_b047_a047_d047L_i047 } + replace{ @atom:324L @atom:324L_b047_a047_d047L_i047 } + replace{ @atom:325L @atom:325L_b047_a047_d047L_i047 } + replace{ @atom:340L @atom:340L_b047_a047_d047L_i047 } + replace{ @atom:342L @atom:342L_b047_a047_d047L_i047 } + replace{ @atom:406L @atom:406L_b003_a003_d003L_i003 } + replace{ @atom:407L @atom:407L_b004_a004_d004L_i004 } + replace{ @atom:408L @atom:408L_b020_a020_d020L_i020 } + replace{ @atom:458L @atom:458L_b047_a047_d047L_i047 } + replace{ @atom:459L @atom:459L_b047_a047_d047L_i047 } + replace{ @atom:649L @atom:649L_b047_a047_d047L_i047 } + replace{ @atom:718L @atom:718L_b046_a046_d046L_i046 } + replace{ @atom:718LL @atom:718LL_b046_a046_d046L_i046 } + replace{ @atom:900L @atom:900L_b047_a047_d047L_i047 } + replace{ @atom:901L @atom:901L_b047_a047_d047L_i047 } + replace{ @atom:902L @atom:902L_b047_a047_d047L_i047 } + + + + + # --------------- Non-Bonded interactions: --------------------- + # http://lammps.sandia.gov/doc/pair_lj.html + # Syntax: + # pair_coeff AtomType1 AtomType2 parameters... write_once("In Settings") { - pair_coeff @atom:80L_b13_a13_d13L_i13 @atom:80L_b13_a13_d13L_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:81L_b13_a13_d13L_i13 @atom:81L_b13_a13_d13L_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:85LCH3_b46_a46_d46_i46 @atom:85LCH3_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:85LCH2_b46_a46_d46_i46 @atom:85LCH2_b46_a46_d46_i46 lj/cut/coul/long 0.026290630975 2.5 - pair_coeff @atom:87L_b47_a47_d47L_i47 @atom:87L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:89L_b46_a46_d46_i46 @atom:89L_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:86L_b47_a47_d47L_i47 @atom:86L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:88L_b47_a47_d47L_i47 @atom:88L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:169L_b47_a47_d47L_i47 @atom:169L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:266L_b47_a47_d47L_i47 @atom:266L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:267L_b47_a47_d47L_i47 @atom:267L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:280L_b47_a47_d47L_i47 @atom:280L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:281L_b47_a47_d47L_i47 @atom:281L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:324L_b47_a47_d47L_i47 @atom:324L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:325L_b47_a47_d47L_i47 @atom:325L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:340L_b47_a47_d47L_i47 @atom:340L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:342L_b47_a47_d47L_i47 @atom:342L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:458L_b47_a47_d47L_i47 @atom:458L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:459L_b47_a47_d47L_i47 @atom:459L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:649L_b47_a47_d47L_i47 @atom:649L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:900L_b47_a47_d47L_i47 @atom:900L_b47_a47_d47L_i47 lj/cut/coul/long 0.086 3.3 - pair_coeff @atom:901L_b47_a47_d47L_i47 @atom:901L_b47_a47_d47L_i47 lj/cut/coul/long 0.086 3.3 - pair_coeff @atom:902L_b47_a47_d47L_i47 @atom:902L_b47_a47_d47L_i47 lj/cut/coul/long 0.086 3.3 + pair_coeff @atom:80L_b013_a013_d013L_i013 @atom:80L_b013_a013_d013L_i013 0.066 3.5 + pair_coeff @atom:81L_b013_a013_d013L_i013 @atom:81L_b013_a013_d013L_i013 0.066 3.5 + pair_coeff @atom:81LL_b013_a013_d013LL_i013 @atom:81LL_b013_a013_d013LL_i013 0.066 0.35 + pair_coeff @atom:85LCH3_b046_a046_d046_i046 @atom:85LCH3_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:85LCH2_b046_a046_d046_i046 @atom:85LCH2_b046_a046_d046_i046 0.026290630975 2.5 + pair_coeff @atom:87L_b047_a047_d047L_i047 @atom:87L_b047_a047_d047L_i047 0.076 3.55 + pair_coeff @atom:89L_b046_a046_d046_i046 @atom:89L_b046_a046_d046_i046 0.03 2.42 + pair_coeff @atom:86L_b047_a047_d047L_i047 @atom:86L_b047_a047_d047L_i047 0.076 3.55 + pair_coeff @atom:88L_b047_a047_d047L_i047 @atom:88L_b047_a047_d047L_i047 0.076 3.55 + pair_coeff @atom:96L_b005_a005_d005L_i005 @atom:96L_b005_a005_d005L_i005 0.17 0.312 + pair_coeff @atom:97L_b007_a007_d007L_i007 @atom:97L_b007_a007_d007L_i007 0.0 0.0 + pair_coeff @atom:111L_b005_a005_d005L_i005 @atom:111L_b005_a005_d005L_i005 0.17 0.307 + pair_coeff @atom:112L_b007_a007_d007L_i007 @atom:112L_b007_a007_d007L_i007 0.0 0.0 + pair_coeff @atom:113L_b005_a005_d005L_i005 @atom:113L_b005_a005_d005L_i005 0.17 0.307 + pair_coeff @atom:114L_b007_a007_d007L_i007 @atom:114L_b007_a007_d007L_i007 0.0 0.0 + pair_coeff @atom:118L_b046_a046_d046L_i046 @atom:118L_b046_a046_d046L_i046 0.03 0.25 + pair_coeff @atom:169L_b047_a047_d047L_i047 @atom:169L_b047_a047_d047L_i047 0.076 3.55 + pair_coeff @atom:266L_b047_a047_d047L_i047 @atom:266L_b047_a047_d047L_i047 0.08 3.5 + pair_coeff @atom:267L_b047_a047_d047L_i047 @atom:267L_b047_a047_d047L_i047 0.08 3.5 + pair_coeff @atom:280L_b047_a047_d047L_i047 @atom:280L_b047_a047_d047L_i047 0.08 3.5 + pair_coeff @atom:281L_b047_a047_d047L_i047 @atom:281L_b047_a047_d047L_i047 0.08 3.5 + pair_coeff @atom:324L_b047_a047_d047L_i047 @atom:324L_b047_a047_d047L_i047 0.08 3.5 + pair_coeff @atom:325L_b047_a047_d047L_i047 @atom:325L_b047_a047_d047L_i047 0.08 3.5 + pair_coeff @atom:340L_b047_a047_d047L_i047 @atom:340L_b047_a047_d047L_i047 0.08 3.5 + pair_coeff @atom:342L_b047_a047_d047L_i047 @atom:342L_b047_a047_d047L_i047 0.076 3.55 + pair_coeff @atom:406L_b003_a003_d003L_i003 @atom:406L_b003_a003_d003L_i003 0.105 0.31875 + pair_coeff @atom:407L_b004_a004_d004L_i004 @atom:407L_b004_a004_d004L_i004 0.168 0.3108 + pair_coeff @atom:408L_b020_a020_d020L_i020 @atom:408L_b020_a020_d020L_i020 0.17 0.255 + pair_coeff @atom:458L_b047_a047_d047L_i047 @atom:458L_b047_a047_d047L_i047 0.076 3.55 + pair_coeff @atom:459L_b047_a047_d047L_i047 @atom:459L_b047_a047_d047L_i047 0.076 3.55 + pair_coeff @atom:649L_b047_a047_d047L_i047 @atom:649L_b047_a047_d047L_i047 0.076 3.55 + pair_coeff @atom:718L_b046_a046_d046L_i046 @atom:718L_b046_a046_d046L_i046 0.15 0.242 + pair_coeff @atom:718LL_b046_a046_d046L_i046 @atom:718LL_b046_a046_d046L_i046 0.15 0.242 + pair_coeff @atom:900L_b047_a047_d047L_i047 @atom:900L_b047_a047_d047L_i047 0.086 3.3 + pair_coeff @atom:901L_b047_a047_d047L_i047 @atom:901L_b047_a047_d047L_i047 0.086 3.3 + pair_coeff @atom:902L_b047_a047_d047L_i047 @atom:902L_b047_a047_d047L_i047 0.086 3.3 } #(end of pair_coeffs) @@ -135,499 +203,69 @@ OPLSAA { # Dihedral parameters for some of these atoms are modified: + # ----------- Dihedral Interactions: ------------ + # http://lammps.sandia.gov/doc/dihedral_opls.html + # Syntax: + # dihedral_coeff DihedralTypeName parameters... + write_once("In Settings") { - dihedral_coeff @dihedral:13L-13L-13L-13L opls 0.6446926386 -0.2143420172 0.1782194073 0.0 - dihedral_coeff @dihedral:X-47L-47L-X opls 0.0 12.2502629063 0.0 0.0 - dihedral_coeff @dihedral:47L-47L-13L-13L opls -0.8050121893 0.3218905354 -0.1032768881 0.0 - dihedral_coeff @dihedral:13L-13L-13L-47L opls 0.4821902486 0.1343683078 0.1777461759 0.0 + dihedral_coeff @dihedral:013L_013L_013L_013L 0.6446926386 -0.2143420172 0.1782194073 0.0 + dihedral_coeff @dihedral:X_047L_047L_X 0.0 12.2502629063 0.0 0.0 + dihedral_coeff @dihedral:047L_047L_013L_013L -0.8050121893 0.3218905354 -0.1032768881 0.0 + dihedral_coeff @dihedral:013L_013L_013L_047L 0.4821902486 0.1343683078 0.1777461759 0.0 + dihedral_coeff @dihedral:046L_013LL_005L_007L 0.00962596 -0.0145554 0.381091 0.0 + dihedral_coeff @dihedral:046L_013LL_013LL_005L 0.0143774 0.033021 0.26687 0.0 + dihedral_coeff @dihedral:013LL_013LL_005L_007L -0.675785 -0.0160421 0.373199 0.0 + dihedral_coeff @dihedral:013LL_013LL_013LL_005L 1.31261 -0.266307 0.637867 0.0 + dihedral_coeff @dihedral:005L_013LL_013LL_005L 2.69106 -0.849706 0.725731 0.0 + dihedral_coeff @dihedral:013LL_003L_020L_013LL 3.11923 5.73771 0.0 0.0 + dihedral_coeff @dihedral:013LL_020L_003L_004L 0.0 5.73772 0.0 0.0 + dihedral_coeff @dihedral:046L_013LL_003L_020L -0.00742471 0.00217734 0.111803 0.0 + dihedral_coeff @dihedral:003L_020L_013LL_013LL -1.7354 -1.24844 0.623897 0.0 + dihedral_coeff @dihedral:046L_013LL_013LL_020L 0.0113337 0.0236209 0.429747 0.0 + dihedral_coeff @dihedral:013LL_013LL_003L_020L 0.884988 -0.626905 -0.493344 0.0 + dihedral_coeff @dihedral:013LL_013LL_003L_004L -0.276019 1.23685 -0.670745 0.0 + dihedral_coeff @dihedral:003L_013LL_013LL_046L -0.0021152 0.0173542 -0.295208 0.0 + dihedral_coeff @dihedral:003L_013LL_013LL_013LL -2.30738 -0.627326 0.621951 0.0 + dihedral_coeff @dihedral:013LL_013LL_013LL_020L 2.25871 -1.02408 1.0071 0.0 + dihedral_coeff @dihedral:020L_013LL_013LL_020L 4.66787 -2.62698 1.3248 0.0 + dihedral_coeff @dihedral:005L_013LL_013LL_020L 5.03208 -2.37742 1.23809 0.0 } #(end of dihedral_coeffs) - - # First we must slightly loosen the requirements to generate dihedrals - # involving atom types d13 or d47. We want the same rules to apply - # for atoms of type d13L and d47L. To cover both of these cases, - # I replaced "d13_" with "d13*_" in the lines below: - # (Later I will add the custom dihedrals for these atom types.) + # Rules for creating dihedral interactions according to atom type: + # DihedralTypeName AtomType1 AtomType2 AtomType3 AtomType4 + # (* = wildcard) write_once("Data Dihedrals By Type") { - @dihedral:2-2-2-13 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d13*_i* - @dihedral:2-2-13-2 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d2_i* - @dihedral:4-3-3-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-3-3-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-3-3-24 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* - @dihedral:13-3-3-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d46_i* - @dihedral:13-3-5-7 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i* - @dihedral:1-3-13-13 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:1-3-13-46 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:3-3-13-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:4-3-13-X @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:* - @dihedral:4-3-13-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:4-3-13-21 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d21_i* - @dihedral:4-3-13-44 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* - @dihedral:4-3-13-24 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* - @dihedral:4-3-13-46 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:4-3-13-48 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* - @dihedral:5-3-13-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:5-3-13-44 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* - @dihedral:5-3-13-46 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:13-3-13-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-3-13-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:20-3-13-13 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:20-3-13-46 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:21-3-13-13 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:21-3-13-46 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:24-3-13-13 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:24-3-13-21 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d21_i* - @dihedral:24-3-13-24 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* - @dihedral:24-3-13-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:46-3-13-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-3-13-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:48-3-13-46 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:52-3-13-13 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:52-3-13-44 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* - @dihedral:52-3-13-46 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:65-3-13-13 @atom:*_b*_a*_d65_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:65-3-13-46 @atom:*_b*_a*_d65_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:107-3-13-46 @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:4-3-20-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-3-20-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-3-20-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* - @dihedral:24-3-20-13 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-3-20-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* - @dihedral:48-3-20-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* - @dihedral:3-3-24-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* - @dihedral:4-3-24-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* - @dihedral:4-3-24-47 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d47*_i* - @dihedral:5-3-24-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-3-24-5 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d5_i* - @dihedral:13-3-24-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-3-24-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:13-3-24-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* - @dihedral:20-3-24-13 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* - @dihedral:24-3-24-13 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-3-24-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* - @dihedral:47-3-24-45 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:X-3-47-13 @atom:* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* - @dihedral:4-3-47-46 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:4-3-47-47 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* - @dihedral:5-3-47-47 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* - @dihedral:24-3-47-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:24-3-47-47 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* - @dihedral:107-3-47-46 @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:107-3-47-47 @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* - @dihedral:13-3-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:X-3-50-13 @atom:* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13*_i* - @dihedral:4-3-50-47 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i* - @dihedral:5-3-50-47 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i* - @dihedral:13-3-50-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i* - @dihedral:13-3-56-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d56_i* @atom:* - @dihedral:13-3-56-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13*_i* - @dihedral:4-3-107-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-3-107-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13*_i* - @dihedral:7-5-13-2 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d2_i* - @dihedral:7-5-13-6 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d6_i* - @dihedral:7-5-13-13 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:7-5-13-46 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:7-5-13-47 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* - @dihedral:7-5-13-48 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* - @dihedral:7-5-13-50 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* - @dihedral:7-5-44-13 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i* - @dihedral:7-5-47-47 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* - @dihedral:7-5-79-13 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13*_i* - @dihedral:X-13-13-3 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* - @dihedral:X-13-13-13 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:X-13-13-24 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* - @dihedral:1-13-13-1 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d1_i* - @dihedral:1-13-13-5 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d5_i* - @dihedral:1-13-13-13 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:1-13-13-46 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:3-13-13-3 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* - @dihedral:3-13-13-5 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d5_i* - @dihedral:3-13-13-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:3-13-13-15 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d15_i* - @dihedral:3-13-13-16 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* - @dihedral:3-13-13-24 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* - @dihedral:3-13-13-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:3-13-13-48 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* - @dihedral:3-13-13-80 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* - @dihedral:5-13-13-5 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d5_i* - @dihedral:5-13-13-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:5-13-13-20 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* - @dihedral:5-13-13-44 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* - @dihedral:5-13-13-24 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* - @dihedral:5-13-13-46 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:13-13-13-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-13-13-15 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d15_i* - @dihedral:13-13-13-16 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* - @dihedral:13-13-13-19 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* - @dihedral:13-13-13-21 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d21_i* - @dihedral:13-13-13-44 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* - @dihedral:13-13-13-24 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* - @dihedral:13-13-13-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:13-13-13-51 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d51_i* - @dihedral:13-13-13-53 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* - @dihedral:13-13-13-65 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d65_i* - @dihedral:13-13-13-66 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d66_i* - @dihedral:13-13-13-79 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* - @dihedral:13-13-13-107 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* - @dihedral:13-13-13-108 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i* - @dihedral:15-13-13-46 @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:16-13-13-46 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:19-13-13-46 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:20-13-13-20 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* - @dihedral:20-13-13-46 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:21-13-13-21 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d21_i* - @dihedral:21-13-13-44 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* - @dihedral:21-13-13-46 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:44-13-13-44 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* - @dihedral:44-13-13-46 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:44-13-13-48 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* - @dihedral:24-13-13-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:24-13-13-48 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* - @dihedral:24-13-13-80 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* - @dihedral:46-13-13-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i* - @dihedral:46-13-13-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* - @dihedral:46-13-13-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* - @dihedral:46-13-13-51 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d51_i* - @dihedral:46-13-13-53 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* - @dihedral:46-13-13-55 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* - @dihedral:46-13-13-59 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d59_i* - @dihedral:46-13-13-62 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d62_i* - @dihedral:46-13-13-65 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d65_i* - @dihedral:46-13-13-66 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d66_i* - @dihedral:46-13-13-79 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* - @dihedral:46-13-13-80 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* - @dihedral:46-13-13-82 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d82_i* - @dihedral:46-13-13-83 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d83_i* - @dihedral:46-13-13-84 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* - @dihedral:46-13-13-87 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d87_i* - @dihedral:46-13-13-88 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d88_i* - @dihedral:46-13-13-102 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d102_i* - @dihedral:46-13-13-104 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d104_i* - @dihedral:46-13-13-107 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* - @dihedral:46-13-13-108 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i* - @dihedral:46-13-13-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* - @dihedral:48-13-13-53 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* - @dihedral:108-13-13-108 @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i* - @dihedral:13-13-15-17 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d17_i* - @dihedral:46-13-15-17 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d17_i* - @dihedral:13-13-16-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-13-16-16 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d16_i* - @dihedral:46-13-16-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-13-16-16 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d16_i* - @dihedral:46-13-16-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d48_i* - @dihedral:X-13-18-19 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d19_i* - @dihedral:46-13-18-19 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d19_i* - @dihedral:X-13-19-18 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d18_i* - @dihedral:X-13-19-19 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* - @dihedral:13-13-19-19 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* - @dihedral:46-13-19-19 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* - @dihedral:X-13-20-13 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* - @dihedral:56-13-20-13 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* - @dihedral:57-13-20-13 @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-13-20-3 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* - @dihedral:13-13-20-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-13-20-64 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* - @dihedral:46-13-20-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:* - @dihedral:46-13-20-3 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* - @dihedral:46-13-20-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47*_i* - @dihedral:46-13-20-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* - @dihedral:46-13-20-51 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* - @dihedral:46-13-20-64 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* - @dihedral:13-13-44-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-13-44-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-44-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-13-44-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-44-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* - @dihedral:X-13-24-45 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:3-13-24-3 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* - @dihedral:3-13-24-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* - @dihedral:3-13-24-45 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:13-13-24-3 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* - @dihedral:13-13-24-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-13-24-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:13-13-24-59 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i* - @dihedral:13-13-24-79 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i* - @dihedral:13-13-24-91 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* - @dihedral:46-13-24-3 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* - @dihedral:46-13-24-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-13-24-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-24-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* - @dihedral:46-13-24-79 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i* - @dihedral:48-13-24-59 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i* - @dihedral:X-13-47-13 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* - @dihedral:X-13-47-46 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:X-13-47-47 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* - @dihedral:X-13-47-50 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* - @dihedral:1-13-47-47 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* - @dihedral:13-13-47-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-13-47-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* - @dihedral:13-13-47-50 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* - @dihedral:46-13-47-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-13-47-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:46-13-47-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* - @dihedral:46-13-47-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* - @dihedral:46-13-47-110 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d110_i* - @dihedral:47-13-47-13 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* - @dihedral:47-13-47-46 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:X-13-48-48 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:1-13-48-48 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-13-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-13-48-56 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* - @dihedral:21-13-48-48 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:46-13-48-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:64-13-48-48 @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:65-13-48-48 @atom:*_b*_a*_d65_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:X-13-50-47 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i* - @dihedral:13-13-50-50 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* - @dihedral:46-13-50-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i* - @dihedral:46-13-50-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* - @dihedral:46-13-50-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* - @dihedral:13-13-51-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d51_i* @atom:* - @dihedral:13-13-51-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d46_i* - @dihedral:46-13-51-20 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d20_i* - @dihedral:13-13-53-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-13-53-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-53-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-13-53-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-53-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d48_i* - @dihedral:46-13-53-54 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i* - @dihedral:13-13-55-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i* - @dihedral:13-13-55-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i* - @dihedral:13-13-55-54 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d54_i* - @dihedral:46-13-55-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-13-55-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-55-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i* - @dihedral:13-13-56-18 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d18_i* - @dihedral:X-13-57-X @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:* - @dihedral:13-13-57-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:* - @dihedral:13-13-57-62 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d62_i* - @dihedral:13-13-57-82 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i* - @dihedral:20-13-57-X @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:* - @dihedral:20-13-57-62 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d62_i* - @dihedral:20-13-57-82 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i* - @dihedral:13-13-59-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d59_i* @atom:* - @dihedral:13-13-59-56 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d56_i* - @dihedral:46-13-59-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d59_i* @atom:* - @dihedral:13-13-62-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d62_i* @atom:* - @dihedral:46-13-62-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d62_i* @atom:* - @dihedral:46-13-64-20 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d20_i* - @dihedral:46-13-64-52 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i* - @dihedral:48-13-64-20 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d20_i* - @dihedral:48-13-64-52 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i* - @dihedral:X-13-79-23 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i* - @dihedral:X-13-79-24 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d24_i* - @dihedral:13-13-79-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-13-79-23 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i* - @dihedral:46-13-79-5 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d5_i* - @dihedral:46-13-79-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-13-79-23 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i* - @dihedral:46-13-79-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d48_i* - @dihedral:13-13-80-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* @atom:* - @dihedral:13-13-80-60 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d60_i* - @dihedral:13-13-80-84 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d84_i* - @dihedral:46-13-80-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* @atom:* - @dihedral:46-13-80-60 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d60_i* - @dihedral:46-13-80-84 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d84_i* - @dihedral:13-13-82-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d82_i* @atom:* - @dihedral:46-13-82-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d82_i* @atom:* - @dihedral:13-13-83-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d83_i* @atom:* - @dihedral:46-13-83-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d83_i* @atom:* - @dihedral:1-13-84-X @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:13-13-84-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:13-13-84-57 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d57_i* - @dihedral:21-13-84-X @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:46-13-84-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:1-13-87-X @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:13-13-87-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:21-13-87-X @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:46-13-87-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:13-13-88-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d88_i* @atom:* - @dihedral:46-13-88-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d88_i* @atom:* - @dihedral:X-13-90-X @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d90_i* @atom:* - @dihedral:46-13-90-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d90_i* @atom:* - @dihedral:46-13-91-91 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* - @dihedral:13-13-95-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d95_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-13-95-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d95_i* @atom:*_b*_a*_d46_i* - @dihedral:13-13-102-103 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d102_i* @atom:*_b*_a*_d103_i* - @dihedral:46-13-102-103 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d102_i* @atom:*_b*_a*_d103_i* - @dihedral:13-13-104-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d104_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-13-104-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d104_i* @atom:*_b*_a*_d13*_i* - @dihedral:X-13-105-X @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:* - @dihedral:13-13-105-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:* - @dihedral:13-13-105-62 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d62_i* - @dihedral:13-13-105-82 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d82_i* - @dihedral:20-13-105-X @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:* - @dihedral:20-13-105-62 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d62_i* - @dihedral:20-13-105-82 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d82_i* - @dihedral:3-13-107-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-13-107-3 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* - @dihedral:13-13-107-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-13-107-3 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* - @dihedral:46-13-107-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-13-107-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d48_i* - @dihedral:13-13-108-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-13-108-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-108-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-13-108-20 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d20_i* - @dihedral:46-13-108-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d45_i* - @dihedral:13-13-109-109 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:46-13-109-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-13-109-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i* - @dihedral:46-13-109-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:13-16-16-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-16-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-16-48-56 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* - @dihedral:13-16-59-56 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d56_i* - @dihedral:18-18-56-13 @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-19-19-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-19-19-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d46_i* - @dihedral:13-19-19-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47*_i* - @dihedral:13-19-19-109 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d109_i* - @dihedral:46-19-19-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47*_i* - @dihedral:19-19-47-13 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* - @dihedral:19-19-47-46 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:19-19-47-47 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* - @dihedral:13-20-44-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-20-44-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i* - @dihedral:13-20-47-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-20-47-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:13-20-47-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* - @dihedral:13-20-47-50 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* - @dihedral:13-20-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-20-48-56 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* - @dihedral:13-20-51-5 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d5_i* - @dihedral:13-20-51-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-20-51-20 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d20_i* - @dihedral:13-20-51-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d46_i* - @dihedral:13-20-56-3 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d3_i* - @dihedral:13-20-59-56 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d56_i* - @dihedral:13-20-64-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-20-64-52 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i* - @dihedral:108-20-108-13 @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-44-44-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-44-44-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i* - @dihedral:13-44-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-24-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-24-79-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d48_i* - @dihedral:13-24-82-61 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* - @dihedral:47-24-86-48 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:47-24-86-56 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d56_i* - @dihedral:47-46-47-13 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* - @dihedral:47-46-47-46 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:X-47-47-X @atom:* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:* - @dihedral:X-47-47-19 @atom:* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d19_i* - @dihedral:3-47-47-24 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d24_i* - @dihedral:3-47-47-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:5-47-47-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* - @dihedral:5-47-47-46 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:13-47-47-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-47-47-19 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d19_i* - @dihedral:13-47-47-20 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d20_i* - @dihedral:13-47-47-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:19-47-47-46 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:20-47-47-46 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:21-47-47-21 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d21_i* - @dihedral:21-47-47-46 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:46-47-47-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* - @dihedral:46-47-47-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d48_i* - @dihedral:13-47-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:46-47-48-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:46-47-48-56 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* - @dihedral:47-47-48-48 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-47-50-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-47-50-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i* - @dihedral:13-47-50-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d48_i* - @dihedral:13-47-50-50 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* - @dihedral:13-47-50-109 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* - @dihedral:24-47-50-3 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d3_i* - @dihedral:46-47-50-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13*_i* - @dihedral:46-47-50-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i* - @dihedral:46-47-50-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d48_i* - @dihedral:46-47-50-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* - @dihedral:46-47-50-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* - @dihedral:X-47-84-X @atom:* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:X-47-86-48 @atom:* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:3-47-86-86 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i* - @dihedral:49-47-86-X @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d86_i* @atom:* - @dihedral:49-47-86-24 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d24_i* - @dihedral:X-47-87-X @atom:* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:X-47-88-X @atom:* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d88_i* @atom:* - @dihedral:13-47-110-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d110_i* @atom:*_b*_a*_d47*_i* - @dihedral:46-47-110-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d110_i* @atom:*_b*_a*_d47*_i* - @dihedral:X-48-48-13 @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-48-48-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-48-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-48-48-49 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i* - @dihedral:13-48-48-50 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* - @dihedral:47-48-48-49 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i* - @dihedral:48-48-50-47 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i* - @dihedral:56-48-50-47 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i* - @dihedral:48-48-53-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i* - @dihedral:55-48-55-13 @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d13*_i* - @dihedral:48-48-79-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13*_i* - @dihedral:56-48-101-13 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d101_i* @atom:*_b*_a*_d13*_i* - @dihedral:48-48-109-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-50-50-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-50-50-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i* - @dihedral:13-50-50-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i* - @dihedral:46-50-50-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i* - @dihedral:47-50-50-47 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i* - @dihedral:13-50-109-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-50-109-109 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:46-50-109-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13*_i* - @dihedral:47-50-109-13 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13*_i* - @dihedral:47-50-109-46 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i* - @dihedral:47-50-109-109 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:13-53-82-61 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* - @dihedral:13-56-56-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-56-56-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* - @dihedral:4-89-90-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d13*_i* - @dihedral:91-89-90-13 @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-91-91-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-91-91-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i* - @dihedral:13-109-109-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13*_i* - @dihedral:13-109-109-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i* - @dihedral:13-109-109-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d48_i* - @dihedral:13-109-109-50 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d50_i* - @dihedral:13-109-109-109 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:24-3-13-53 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* - @dihedral:52-3-13-24 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* - @dihedral:3-13-13-53 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* - @dihedral:3-13-13-83 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d83_i* - @dihedral:3-13-13-84 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* - @dihedral:3-13-13-85 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i* - @dihedral:5-13-13-53 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* - @dihedral:15-13-13-53 @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* - @dihedral:16-13-13-53 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* - @dihedral:13-13-13-55 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* - @dihedral:24-13-13-83 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d83_i* - @dihedral:53-13-13-83 @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d83_i* - @dihedral:24-13-13-84 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* - @dihedral:53-13-13-84 @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* - @dihedral:24-13-13-85 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i* - @dihedral:46-13-13-85 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i* - @dihedral:53-13-13-85 @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i* - @dihedral:3-13-53-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i* - @dihedral:3-13-53-54 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i* - @dihedral:13-13-53-54 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i* - @dihedral:46-13-55-54 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d54_i* - @dihedral:13-13-85-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i* @atom:* - @dihedral:13-13-85-57 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i* @atom:*_b*_a*_d57_i* - @dihedral:46-13-85-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i* @atom:* - @dihedral:13-13-13-20 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* - @dihedral:13-13-13-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* + @dihedral:013L_013L_013L_013L @atom:*_b*_a*_d013L_i* @atom:*_b*_a*_d013L_i* @atom:*_b*_a*_d013L_i* @atom:*_b*_a*_d013L_i* + @dihedral:X_047L_047L_X @atom:* @atom:*_b*_a*_d047L_i* @atom:*_b*_a*_d047L_i* @atom:* + @dihedral:047L_047L_013L_013L @atom:*_b*_a*_d047L_i* @atom:*_b*_a*_d047L_i* @atom:*_b*_a*_d013L_i* @atom:*_b*_a*_d013L_i* + @dihedral:013L_013L_013L_047L @atom:*_b*_a*_d013L_i* @atom:*_b*_a*_d013L_i* @atom:*_b*_a*_d013L_i* @atom:*_b*_a*_d047L_i* + @dihedral:046L_013LL_005L_007L @atom:*_b*_a*_d046L_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d005L_i* @atom:*_b*_a*_d007L_i* + @dihedral:046L_013LL_013LL_005L @atom:*_b*_a*_d046L_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d005L_i* + @dihedral:013LL_013LL_005L_007L @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d005L_i* @atom:*_b*_a*_d007L_i* + @dihedral:013LL_013LL_013LL_005L @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d005L_i* + @dihedral:005L_013LL_013LL_005L @atom:*_b*_a*_d005L_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d005L_i* + @dihedral:013LL_003L_020L_013LL @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d003L_i* @atom:*_b*_a*_d020L_i* @atom:*_b*_a*_d013LL_i* + @dihedral:013LL_020L_003L_004L @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d020L_i* @atom:*_b*_a*_d003L_i* @atom:*_b*_a*_d004L_i* + @dihedral:046L_013LL_003L_020L @atom:*_b*_a*_d046L_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d003L_i* @atom:*_b*_a*_d020L_i* + @dihedral:003L_020L_013LL_013LL @atom:*_b*_a*_d003L_i* @atom:*_b*_a*_d020L_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* + @dihedral:046L_013LL_013LL_020L @atom:*_b*_a*_d046L_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d020L_i* + @dihedral:013LL_013LL_003L_020L @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d003L_i* @atom:*_b*_a*_d020L_i* + @dihedral:013LL_013LL_003L_004L @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d003L_i* @atom:*_b*_a*_d004L_i* + @dihedral:003L_013LL_013LL_046L @atom:*_b*_a*_d003L_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d046L_i* + @dihedral:003L_013LL_013LL_013LL @atom:*_b*_a*_d003L_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* + @dihedral:013LL_013LL_013LL_020L @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d020L_i* + @dihedral:020L_013LL_013LL_020L @atom:*_b*_a*_d020L_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d020L_i* + @dihedral:005L_013LL_013LL_020L @atom:*_b*_a*_d005L_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d013LL_i* @atom:*_b*_a*_d020L_i* } #(end of dihedrals by type) - # New dihedrals which have been customized: - # (These will override the rules above) + # ----------- New Dihedral Interactions: ------------ + # http://lammps.sandia.gov/doc/dihedral_opls.html + # Syntax: + # dihedral_coeff DihedralTypeName parameters... - write_once("Data Dihedrals By Type") { - @dihedral:13L-13L-13L-13L @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d13L_i* - @dihedral:X-47L-47L-X @atom:* @atom:*_b*_a*_d47L_i* @atom:*_b*_a*_d47L_i* @atom:* - @dihedral:47L-47L-13L-13L @atom:*_b*_a*_d47L_i* @atom:*_b*_a*_d47L_i* @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d13L_i* - @dihedral:13L-13L-13L-47L @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d47L_i* - } #(end of dihedrals by type) -} # end of additional parameters appended to the "OPLSAA" object +} # OPLSAA + diff --git a/tools/moltemplate/moltemplate/force_fields/martini.lt b/tools/moltemplate/moltemplate/force_fields/martini.lt index 3279e55dbc..9304de004a 100644 --- a/tools/moltemplate/moltemplate/force_fields/martini.lt +++ b/tools/moltemplate/moltemplate/force_fields/martini.lt @@ -1,13 +1,25 @@ # Autogenerated by EMC 2 LT tool v0.1 on 2017-06-28 # # cd martini/ -# ./emcprm2lt.py martini.prm lipids.prm cholesterol.prm --bond-style=harmonic --angle-style=cosine/squared --pair-style=lj/gromacs/coul/gromacs --name=martini +# emcprm2lt.py martini.prm lipids.prm cholesterol.prm --bond-style=harmonic --angle-style=cosine/squared --pair-style=lj/gromacs/coul/gromacs --name=martini # mv -f martini.lt ../ # +# For details see the "README.txt" file (located in "force_fields/martini/") +# +# (Note: The rigid bond constraints used original MARTINI model for +# cholesterol have been replaced by stiff but flexible bonds. +# There is a trade-off between increasing the stiffness of the bonds, and +# using larger time steps. To alter the stiffness of the bonds, and edit +# the "ITEM BOND" section of the "cholesterol.prm", edit the "k" parameters +# (3rd column, for the "S..." entries), and run "emcprm2lt.py" again.) +# # Adapted from EMC by Pieter J. in 't Veld # Originally written as, FFNAME:MARTINI STYLE:COARSE VERSION:V2.0 on Feb 2014 +# "emcprm2lt.py" was written by David Stelter. + MARTINI { + write_once("Data Masses") { @atom:BP4 72.000000 # BP4 @atom:C1 72.000000 # C1 @@ -2210,4 +2222,6 @@ MARTINI { pair_style hybrid lj/gromacs/coul/gromacs 9.000000 12.000000 special_bonds lj/coul 0.0 0.0 0.0 } # end init + } # MARTINI + diff --git a/tools/moltemplate/moltemplate/force_fields/martini/emcprm2lt.py b/tools/moltemplate/moltemplate/force_fields/martini/emcprm2lt.py deleted file mode 100755 index 81ed2358aa..0000000000 --- a/tools/moltemplate/moltemplate/force_fields/martini/emcprm2lt.py +++ /dev/null @@ -1,580 +0,0 @@ -#!/usr/bin/python - -import os, sys, getopt -import datetime - -__version__ = 0.1 - -#################### UNITS #################### -# Only used with --units flag -econv = 1.0 # Additional Factor for unit conversion if needed (energies) -lconv = 1.0 # Additional Factor for unit conversion if neededa (lengths) -dconv = 1.0 # Additional Factor for unit conversion if neededa (densities) -############################################### - -print('\nEMC 2 LT conversion tool: v%s\n' % __version__) - -def helpme(): - print 'Help for the EMC 2 LT conversion tool\n' - print 'Input takes a list of files in EMC .prm format to be read.' - print 'Additional styles (bond, angle, etc) can be modified via the',\ - 'command line. Any valid LAMMPS style can be used.\n' - print 'Styles include:' - print '--pair-style=' - print '--bond-style=' - print '--angle-style=' - print '--dihedral-style=' - print '--improper-style=\n' - print 'Default styles are lj/cut/coul/long, harmonic, harmonic, harmonic,',\ - 'harmonic \n' - print 'Other commands:' - print '--name= provides basename for output file if desired\n' - print '--units flag for manual units (no parameter needed)\n' - print 'Usage example:' - print 'emcprm2lt.py file1 file2 --bond-style=harmonic --angle-style=harmonic' - print '' - -def Abort(): - print 'Aborting...' - sys.exit() - -def WriteInit(): -# Write generic LAMMPS settings, likely need additional on a per-ff basis - foutput.write(' write_once("In Init") {\n') - foutput.write(' # Warning: This is a very generic "In Init" section, further\n') - foutput.write(' # modification prior to any simulation is extremely likely\n') - foutput.write(' units real\n') - foutput.write(' atom_style full\n') - foutput.write(' bond_style hybrid %s\n' % bstyle) - if angle_flag: - foutput.write(' angle_style hybrid %s\n' % astyle) - if torsion_flag: - foutput.write(' dihedral_style hybrid %s\n' % dstyle) - if improp_flag: - foutput.write(' improper_style hybrid %s\n' % istyle) - foutput.write(' pair_style hybrid %s %f %f\n' % (pstyle, - float(inner[0])*lconv, float(cutoff[0])*lconv)) - if pair14[0] == 'OFF': - foutput.write(' special_bonds lj/coul 0.0 0.0 0.0\n') - else: - print 'Warning: special_bonds needed, add to "In Init" section\n' - foutput.write(' } # end init\n') - -def Units(length_flag, energy_flag, density_flag): -# Check flags for all units, determine what conversions are needed, hard-coded for LAMMPS 'real' - print 'Attempting to auto-convert units... This should always be double-checked',\ - ' especially for unique potential styles' - global lconv; global econv; global dconv - if length_flag: - print 'Warning: length scale does not match LAMMPS real units, attempting conversion to angstroms' - if length[0] == 'NANOMETER': - lconv = 10.0 - print ' nanometer -> angstrom' - elif length[0] == 'MICROMETER': - lconv = 10000.0 - print ' micrometer -> angstrom' - elif length[0] == 'METER': - lconv = 10000000000.0 - print ' meter -> angstrom' - else: - print 'Length units NOT converted' - if energy_flag: - print 'Warning: energy units do not match LAMMPS real units, attempting conversion to kcal/mol' - if energy[0] == 'KJ/MOL': - econv = 0.239006 - print ' kj/mol -> kcal/mol' - elif energy[0] == 'J/MOL': - econv = 0.000239006 - print ' j/mol -> kcal/mol' - elif energy[0] == 'CAL/MOL': - econv = 0.001 - print ' cal/mol -> kcal/mol' - else: - print 'Energy units NOT converted' - if density_flag: - print 'Warning: density units do not match LAMMPS real units, attempting conversion to gram/cm^3' - if density[0] == 'KG/M^3': - dconv = 0.001 - print ' kg/m^3 -> g/cm^3' - else: - print 'Density units NOT converted' - return lconv, econv, dconv - -def ChkPotential(manual_flag, angle_flag, torsion_flag, improp_flag): -# Check type of potential, determine type of unit conversion is necessary - global beconv - if angle_flag: - global aeconv - if torsion_flag: - global deconv - if improp_flag: - global ieconv - if manual_flag == False: - # Chk bond potential - if bstyle == '' or bstyle == 'harmonic': - beconv = econv / (2*pow(lconv,2)) - else: - print 'Cannot find bond potential type, use manual units' - Abort() - if angle_flag: - if astyle == '' or astyle == 'harmonic': - aeconv = econv - elif astyle == 'cosine/squared': - aeconv = econv / 2 - else: - print 'Cannot find angle potential type, use manual units' - Abort() - # torsion and improper not implemented fully - elif torsion_flag: - if dstyle == '' or dstyle == 'harmonic': - deconv = econv - else: - print 'Cannot find torsion potential type, use manual units' - Abort() - elif improp_flag: - if istyle == '' or istyle == 'harmonic': - ieconv = econv - else: - print 'Cannot find improper potential type, use manual units' - Abort() - else: - # Modify as needed - print 'Warning: Manual units used, set potential conversion units in script' - beconv = 1 - if angle_flag: - aeconv = 1 - if torsion_flag: - deconv = 1 - if improp_flag: - ieconv = 1 - - -### Parse input ### -if len(sys.argv) == 1: - helpme() - sys.exit() -manual_units = False # Turned on via command line -args = list(sys.argv[1:]) -myopts, args = getopt.gnu_getopt(args, 'fh', ['pair-style=', 'bond-style=', 'angle-style=', - 'dihedral-style=', 'improper-style=', 'name=', 'units']) -filenames = list(args) -pstyle = ''; bstyle = ''; astyle = ''; dstyle = ''; istyle = '' -name = '' -for opt, arg in myopts: - if opt in ('-f'): - filenames = arg - elif opt in ('--pair-style'): - pstyle = arg - elif opt in ('--bond-style'): - bstyle = arg - elif opt in ('--angle-style'): - astyle = arg - elif opt in ('--dihedral-style'): - dstyle = arg - elif opt in ('--improper-style'): - istyle = arg - elif opt in ('--name'): - name = arg - elif opt in ('--units'): - manual_units = True - print 'Manual units enabled, modify python script accordingly' - elif opt in ('-h', '--help'): - helpme() - sys.exit() - -### Check input filenames, make sure they exist ### -print 'Converting: ' -for i in range(len(filenames)): - if os.path.isfile(filenames[i]): - print '', filenames[i] - else: - print 'invalid filename:', filenames[i] - Abort() -print 'from EMC .prm to moltemplate .lt format\n' - -### Open all files ### -f = [open(fname, 'r') for fname in filenames] - -### All these settings from DEFINE should be list of fixed size ### -ffname = [[] for i in range(len(f))] -fftype = [[] for i in range(len(f))] -version = [[] for i in range(len(f))] -created1 = [[] for i in range(len(f))] -created2 = [[] for i in range(len(f))] -length = [[] for i in range(len(f))] -energy = [[] for i in range(len(f))] -density = [[] for i in range(len(f))] -mix = [[] for i in range(len(f))] -nbonded = [[] for i in range(len(f))] -inner = [[] for i in range(len(f))] -cutoff = [[] for i in range(len(f))] -pair14 = [[] for i in range(len(f))] -angle_def = [[] for i in range(len(f))] -torsion_def = [[] for i in range(len(f))] -improp_def = [[] for i in range(len(f))] # not all prm have this - -### Parse DEFINE section, save info for each file ### -for i in range(len(f)): - grab = False - for line in f[i]: - if line.strip() == 'ITEM DEFINE': - grab = True - elif line.strip() == 'ITEM END': - grab = False - elif grab: - if line.startswith('FFNAME'): - ffname[i] = line.split()[1].strip() - if line.startswith('FFTYPE'): - fftype[i] = line.split()[1].strip() - if line.startswith('VERSION'): - version[i] = line.split()[1].strip() - if line.startswith('CREATED'): - created1[i] = line.split()[1].strip() - created2[i] = line.split()[2].strip() - if line.startswith('LENGTH'): - length[i] = line.split()[1].strip() - if line.startswith('ENERGY'): - energy[i] = line.split()[1].strip() - if line.startswith('DENSITY'): - density[i] = line.split()[1].strip() - if line.startswith('MIX'): - mix[i] = line.split()[1].strip() - if line.startswith('NBONDED'): - nbonded[i] = line.split()[1].strip() - if line.startswith('INNER'): - inner[i] = line.split()[1].strip() - if line.startswith('CUTOFF'): - cutoff[i] = line.split()[1].strip() - if line.startswith('PAIR14'): - pair14[i] = line.split()[1].strip() - if line.startswith('ANGLE'): - angle_def[i] = line.split()[1].strip() - if line.startswith('TORSION'): - torsion_def[i] = line.split()[1].strip() - if line.startswith('IMPROP'): - improp_def[i] = line.split()[1].strip() - -### Sanity Checks ### -for i in range(len(f)): - for j in range(len(f)): - if ffname[j] != ffname[i]: - print 'force field files do not match' - Abort() - if length[j] != length[i]: - print 'units not identical between files' - Abort() - if energy[j] != energy[i]: - print 'units not identical between files' - Abort() - if density[j] != density[i]: - print 'units not identical between files' - Abort() - if inner[j] != inner[i]: - print 'inner cutoff not identical between files' - Abort() - if cutoff[j] != cutoff[i]: - print 'cutoff not identical between files' - Abort() - if pair14[j] != pair14[i]: - print '1-4 pair interaction not consistent between files' - Abort() - -### Check if sections exist in PRM file ### -angle_flag = False; torsion_flag = False; improp_flag = False -for i in range(len(f)): - if angle_def[i] == 'WARN': - angle_flag = True - if torsion_def[i] == 'WARN': - torsion_flag = True - if improp_def[i] == 'WARN': - improp_flag = True - -### Check which units to use, trip convert flags ### -length_flag = False; energy_flag = False; density_flag = False -if length[0] != 'ANGSTROM': - length_flag = True -if energy[0] != 'KCAL/MOL': - energy_flag = True -if density[0] != 'G/CC': - density_flag = True -if manual_units == True: - length_flag = False - energy_flag = False - density_flag = False -Units(length_flag, energy_flag, density_flag) - -### Read Whole File, save to lists ### -# Non-crucial sections include -# BONDS, ANGLE, TORSION, IMPROP, NONBOND -# Read all sections every time, only output sections when flags tripped -f = [open(fname, 'r') for fname in filenames] -masses = []; nonbond = []; bond = []; angle = []; torsion = []; improp = [] -equiv = [] -for i in range(len(f)): - MASS = False - NONBOND = False - BOND = False - ANGLE = False - TORSION = False - IMPROP = False - EQUIV = False - for line in f[i]: - if line.strip() == 'ITEM MASS': - MASS = True - elif line.strip() == 'ITEM END': - MASS = False - elif MASS: - if not line.startswith('#'): - if not line.startswith('\n'): - masses.append(line.strip().split()) - if line.strip() == 'ITEM NONBOND': - NONBOND = True - elif line.strip() == 'ITEM END': - NONBOND = False - elif NONBOND: - if not line.startswith('#'): - if not line.startswith('\n'): - nonbond.append(line.strip().split()) - if line.strip() == 'ITEM BOND': - BOND = True - elif line.strip() == 'ITEM END': - BOND = False - elif BOND: - if not line.startswith('#'): - if not line.startswith('\n'): - bond.append(line.strip().split()) - if line.strip() == 'ITEM ANGLE': - ANGLE = True - elif line.strip() == 'ITEM END': - ANGLE = False - elif ANGLE: - if not line.startswith('#'): - if not line.startswith('\n'): - angle.append(line.strip().split()) - if line.strip() == 'ITEM TORSION': - TORSION = True - elif line.strip() == 'ITEM END': - TORSION = False - elif TORSION: - if not line.startswith('#'): - if not line.startswith('\n'): - torsion.append(line.strip().split()) - if line.strip() == 'ITEM IMPROP': - IMPROP = True - elif line.strip() == 'ITEM END': - IMPROP = False - elif IMPROP: - if not line.startswith('#'): - if not line.startswith('\n'): - improp.append(line.strip().split()) - if line.strip() == 'ITEM EQUIVALENCE': - EQUIV = True - elif line.strip() == 'ITEM END': - EQUIV = False - elif EQUIV: - if not line.startswith('#'): - if not line.startswith('\n'): - equiv.append(line.strip().split()) -### Close prm files ### -for fname in f: - fname.close() - -### Sanity checks before writing LT files ### -# Check Equiv -for i in range(len(equiv)): - for j in range(len(equiv)): - if (equiv[i][0] == equiv[j][0]) and (equiv[i] != equiv[j]): - print 'Error: Identical atom types with different equivalences' - Abort() -# Check Masses -for i in range(len(masses)): - for j in range(len(masses)): - if (masses[i][0] == masses[j][0]) and (masses[i][1] != masses[j][1]): - print 'Error: Identical types with different mass' - Abort() -# Check Nonbond -for i in range(len(nonbond)): - for j in range(len(nonbond)): - if (nonbond[i][0] == nonbond[j][0]) and (nonbond[i][1] == nonbond[j][1]) and ((nonbond[i][2] != nonbond[j][2]) or (nonbond[i][3] != nonbond[j][3])): - print 'Error: Identical types with different pair-interactions' - Abort() - -### Remove double equivalences ### -for i in range(len(equiv)): - once = True - for j in range(len(equiv)): - if (equiv[i][0] == equiv[j][0]) and once: - once = False - elif (equiv[i][0] == equiv[j][0]): - equiv[j][1] = None - equiv[j][2] = 'duplicate' - if len(equiv[i]) != 6: - print 'Warning: Incorrect equivalence formatting for type %s' % equiv[i][0],\ - 'skipping type, topology may not be complete' - equiv[i][1] = None - equiv[i][2] = 'invalid_format' - -### Check Potential Styles and Set Units ### -ChkPotential(manual_units, angle_flag, torsion_flag, improp_flag) - -### Set output LT file ### -fname = 'ff_output.lt' -if name == '': - fname = ffname[0] + '.lt' -else: - fname = name + '.lt' -foutput = open(fname, 'w') - -### Output to LT format ### -foutput.write('# Autogenerated by EMC 2 LT tool v%s on %s\n' % (__version__, str(datetime.date.today()))) -foutput.write('#\n# ') -for i in range(len(sys.argv)): - foutput.write('%s ' % sys.argv[i]) -foutput.write('\n') -foutput.write('#\n') -foutput.write('# Adapted from EMC by Pieter J. in \'t Veld\n') -foutput.write('# Originally written as, FFNAME:%s STYLE:%s VERSION:%s on %s %s\n' % - (ffname[0], fftype[0], version[0], created1[0], created2[0])) -foutput.write('\n') -foutput.write('%s {\n' % ffname[0]) - -# Charges not necessary? emc file assign charges in smiles, which would -# be in the per-molecule files created by moltemplate user... not here - -### Mass Info ### -foutput.write(' write_once("Data Masses") {\n') -for i in range(len(masses)): - if equiv[i][1] != None: - foutput.write(' @atom:%s %f # %s\n' % - (masses[i][0], float(masses[i][1]), masses[i][0])) -foutput.write(' } # end of atom masses\n\n') - -### Equiv Info ### -# Write Equivalence -foutput.write(' # ----- EQUIVALENCE CATEGORIES for bonded interaction lookup -----\n') -for i in range(len(equiv)): - if equiv[i][1] != None: - foutput.write(' replace{ @atom:%s @atom:%s_b%s_a%s_d%s_i%s}\n' % - (equiv[i][0], equiv[i][0], equiv[i][2], equiv[i][3], equiv[i][4], equiv[i][5])) -foutput.write(' # END EQUIVALENCE\n\n') - -### Nonbonded Info ### -if pstyle == '': - print 'Warning: no non-bonded potential provided, assuming lj/cut/coul/long' - pstyle = 'lj/cut/coul/long' -foutput.write(' write_once("In Settings") {\n') -foutput.write(' # ----- Non-Bonded interactions -----\n') -# Add new types from equivalence -for i in range(len(equiv)): - once = True - for j in range(len(nonbond)): - # Get terms for new types - if (equiv[i][0] != equiv[i][1]) and (equiv[i][1] == nonbond[j][0]): - if not equiv[i][1] == nonbond[j][1]: - line = '%s %s %s %s' % (equiv[i][0], nonbond[j][1], nonbond[j][2], nonbond[j][3]) - nonbond.append(line.split()) - if once: - once = False - line = '%s %s %s %s' % (equiv[i][0], equiv[i][0], nonbond[j][2], nonbond[j][3]) - nonbond.append(line.split()) - if (equiv[i][0] != equiv[i][1]) and (equiv[i][1] == nonbond[j][1]): - line = '%s %s %s %s' % (equiv[i][0], nonbond[j][0], nonbond[j][2], nonbond[j][3]) - if line.split() != nonbond[-1]: - nonbond.append(line.split()) -for i in range(len(nonbond)): - atom1name = None - atom2name = None - # Cross Terms + Diagonal, normal - for j in range(len(equiv)): - if nonbond[i][0] == equiv[j][0]: - atom1name = '%s_b%s_a%s_d%s_i%s' % (nonbond[i][0], equiv[j][2], equiv[j][3], equiv[j][4], equiv[j][5]) - if nonbond[i][1] == equiv[j][0]: - atom2name = '%s_b%s_a%s_d%s_i%s' % (nonbond[i][1], equiv[j][2], equiv[j][3], equiv[j][4], equiv[j][5]) - #foutput.write(' pair_coeff @atom:%s @atom:%s %s %f %f' % - # (nonbond[i][0], nonbond[i][1], pstyle, float(nonbond[i][2])*econv, float(nonbond[i][2])*lconv)) - foutput.write(' pair_coeff @atom:%s @atom:%s %s %f %f' % - (atom1name, atom2name, pstyle, float(nonbond[i][3])*econv, float(nonbond[i][2])*lconv)) - foutput.write(' # %s-%s\n' % (nonbond[i][0], nonbond[i][1])) -foutput.write(' } # end of nonbonded parameters\n\n') - -### Bond Info ### -if bstyle == '': - print 'Warning: no bond potential provided, assuming harmonic' - bstyle == 'harmonic' -foutput.write(' write_once("In Settings") {\n') -foutput.write(' # ----- Bonds -----\n') -for i in range(len(bond)): - foutput.write(' bond_coeff @bond:%s-%s %s %f %f' % - (bond[i][0], bond[i][1], bstyle, float(bond[i][2])*beconv, float(bond[i][3])*lconv)) - foutput.write(' # %s-%s\n' % (bond[i][0], bond[i][1])) -foutput.write(' }\n\n') -foutput.write(' write_once("Data Bonds By Type") {\n') -for i in range(len(bond)): - foutput.write(' @bond:%s-%s @atom:*_b%s_a*_d*_i* @atom:*_b%s_a*_d*_i*\n' % - (bond[i][0], bond[i][1], bond[i][0], bond[i][1])) -foutput.write(' } # end of bonds\n\n') - -### Angle Info ### -if angle_flag: - if astyle == '': - print 'Warning: no angle potential provided, assuming harmonic' - astyle == 'harmonic' - foutput.write(' write_once("In Settings") {\n') - foutput.write(' # ----- Angles -----\n') - for i in range(len(angle)): - foutput.write(' angle_coeff @angle:%s-%s-%s %s %f %f' % - (angle[i][0], angle[i][1], angle[i][2], astyle, float(angle[i][3])*aeconv, float(angle[i][4]))) - foutput.write(' # %s-%s-%s\n' % (angle[i][0], angle[i][1], angle[i][2])) - foutput.write(' }\n\n') - foutput.write(' write_once("Data Angles By Type") {\n') - for i in range(len(angle)): - foutput.write(' @angle:%s-%s-%s @atom:*_b*_a%s_d*_i* @atom:*_b*_a%s_d*_i* @atom:*_b*_a%s_d*_i*\n' % - (angle[i][0], angle[i][1], angle[i][2], angle[i][0], angle[i][1], angle[i][2])) - foutput.write(' } # end of angles\n\n') - -### Torsion/Dihedral Info ###a -# Incomplete -if torsion_flag: - if dstyle == '': - print 'Warning: no dihedral/torsion potential provided, assuming harmonic' - dstyle == 'harmonic' - foutput.write(' write_once("In Settings") {\n') - foutput.write(' # ----- Dihedrals -----\n') - for i in range(len(torsion)): - foutput.write(' dihedral_coeff @dihedral:%s-%s-%s-%s %s %f %f %f %f\n' % - (torsion[i][0], torsion[i][1], torsion[i][2], torsion[i][3], dstyle, float(torsion[i][4])*deconv, float(torsion[i][5]), float(torsion[i][6]))) - foutput.write(' }\n\n') - foutput.write(' write_once("Data Dihedrals By Type") {\n') - for i in range(len(torsion)): - foutput.write(' @dihedral:%s-%s-%s-%s @atom:*_b*_a*_d%s_i* @atom:*_b*_a*_d%s_i* @atom:*_b*_a*_d%s_i* @atom:*_b*_a*_d%s_i*' % - (torsion[i][0], torsion[i][1], torsion[i][2], torsion[i][3], torsion[i][0], torsion[i][1], torsion[i][2], torsion[i][3])) - foutput.write(' } # end of dihedrals\n\n') - -### Improper Info ### -# Incomplete -ieconv = econv # improper coeff conversion -if improp_flag: - if istyle == '': - print 'Warning: no improper potential provided, assuming harmonic' - istyle == 'harmonic' - foutput.write(' write_once("In Settings") {\n') - foutput.write(' # ----- Impropers -----\n') - # As discussed, a check for convention of impropers is probably needed here - for i in range(len(improp)): - foutput.write(' improper_coeff @improper:%s-%s-%s-%s %s %f %f\n' % - (improp[i][0], improp[i][1], improp[i][2], improp[i][3], istyle, - float(improp[i][4]), float(improp[i][5]))) - foutput.write(' }\n\n') - foutput.write(' write_once("Data Impropers By Type") {\n') - for i in range(len(improp)): - foutput.write(' @improper:%s-%s-%s-%s @atom:*_b*_a*_d*_i%s @atom:*_b*_a*_d*_i%s @atom:*_b*_a*_d*_i%s @atom:*_b*_a*_d*_i%s' % - (improp[i][0], improp[i][1], improp[i][2], improp[i][3], improp[i][0], improp[i][1], improp[i][2], improp[i][3])) - foutput.write(' } # end of impropers\n\n') - -### Initialization Info ### -print 'Warning: Attempting to write generic "In Init" section,',\ - 'further modification after this script is extremely likely' -WriteInit() - -foutput.write('} # %s\n' % ffname[0]) -sys.exit() diff --git a/tools/moltemplate/moltemplate/force_fields/martini_original_format/README.txt b/tools/moltemplate/moltemplate/force_fields/martini_original_format/README.txt new file mode 100644 index 0000000000..2e20697a43 --- /dev/null +++ b/tools/moltemplate/moltemplate/force_fields/martini_original_format/README.txt @@ -0,0 +1,42 @@ +The files in this directory are used to create the "martini.lt" file +(containing MARTINI force field parameters for moltemplate). +These .PRM files are distributed with "EMC" written by Pieter J. in 't Veld. +The original MARTINI files are distributed at http://cgmartini.nl + +Conversion from EMC (.PRM) format to moltemplate (.LT) format was +done using the "emcprm2lt.py" script written by David Stelter. +Here is an example how to use the emcprm2lt.py script: + +emcprm2lt.py martini.prm lipids.prm cholesterol.prm --bond-style=harmonic --angle-style=cosine/squared --pair-style=lj/gromacs/coul/gromacs --name=martini + +This will generate a file named "martini.lt" which (in this example) +only includes the force field parameters for lipids and cholestrol. +Later you can define new molecules in moltemplate using: + +import "martini.lt" +NewMolecule inherits MARTINI { + write("Data Atoms") {...atom coordinates and types go here...} + write("Data Bond List") {...list of bonds goes here...} +} + +See "DOPC.lt" in /examples/coarse_grained/MARTINI_examples/ for more details. + +(Note: The rigid bond constraints used for cholesterol in the original MARTINI + model for cholesterol have been replaced by stiff but flexible bonds. + There is a trade-off between increasing the stiffness of the bonds + and using larger time steps. To alter the stiffness of the bonds + edit the "ITEM BOND" section of the "cholesterol.prm", edit the "k" + parameters (3rd column, for the "S..." entries, and run "emcprm2lt.py" again.) + +---- Credits: ---- +emcprm2lt.py was written by David Stelter +EMC was written by Pieter J. in 't Veld +MARTINI was created by S.J. Marrink and coworkers (http://cgmartini.nl) + +---- additional citation request ---- + +Since we borrowed force field parameters from files distributed with EMC, +if you use files generated by "emcprm2lt.py", please also cite the EMC paper: +P. J. in ‘t Veld and G. C. Rutledge, Macromolecules 2003, 36, 7358 + + diff --git a/tools/moltemplate/moltemplate/force_fields/martini/aminoacids.prm b/tools/moltemplate/moltemplate/force_fields/martini_original_format/aminoacids.prm similarity index 100% rename from tools/moltemplate/moltemplate/force_fields/martini/aminoacids.prm rename to tools/moltemplate/moltemplate/force_fields/martini_original_format/aminoacids.prm diff --git a/tools/moltemplate/moltemplate/force_fields/martini/cholesterol.prm b/tools/moltemplate/moltemplate/force_fields/martini_original_format/cholesterol.prm similarity index 98% rename from tools/moltemplate/moltemplate/force_fields/martini/cholesterol.prm rename to tools/moltemplate/moltemplate/force_fields/martini_original_format/cholesterol.prm index 7d78eed759..f9b4f7b8d0 100644 --- a/tools/moltemplate/moltemplate/force_fields/martini/cholesterol.prm +++ b/tools/moltemplate/moltemplate/force_fields/martini_original_format/cholesterol.prm @@ -78,6 +78,7 @@ SP12 SP1 SP12 SP12 SP12 SP12 ITEM END # Bond parameters +# To change the bond stiffness, edit the "k" parameter ITEM BOND diff --git a/tools/moltemplate/moltemplate/force_fields/martini/lipids.prm b/tools/moltemplate/moltemplate/force_fields/martini_original_format/lipids.prm similarity index 100% rename from tools/moltemplate/moltemplate/force_fields/martini/lipids.prm rename to tools/moltemplate/moltemplate/force_fields/martini_original_format/lipids.prm diff --git a/tools/moltemplate/moltemplate/force_fields/martini/martini.prm b/tools/moltemplate/moltemplate/force_fields/martini_original_format/martini.prm similarity index 100% rename from tools/moltemplate/moltemplate/force_fields/martini/martini.prm rename to tools/moltemplate/moltemplate/force_fields/martini_original_format/martini.prm diff --git a/tools/moltemplate/moltemplate/force_fields/martini/polymers.prm b/tools/moltemplate/moltemplate/force_fields/martini_original_format/polymers.prm similarity index 100% rename from tools/moltemplate/moltemplate/force_fields/martini/polymers.prm rename to tools/moltemplate/moltemplate/force_fields/martini_original_format/polymers.prm diff --git a/tools/moltemplate/moltemplate/force_fields/martini/sugars.prm b/tools/moltemplate/moltemplate/force_fields/martini_original_format/sugars.prm similarity index 100% rename from tools/moltemplate/moltemplate/force_fields/martini/sugars.prm rename to tools/moltemplate/moltemplate/force_fields/martini_original_format/sugars.prm diff --git a/tools/moltemplate/moltemplate/force_fields/oplsaa.lt b/tools/moltemplate/moltemplate/force_fields/oplsaa.lt index 92b2628df5..7bb69a7445 100644 --- a/tools/moltemplate/moltemplate/force_fields/oplsaa.lt +++ b/tools/moltemplate/moltemplate/force_fields/oplsaa.lt @@ -1,6 +1,18 @@ -# This file contains OPLSAA parameters and rules for creating -# angle, dihedral, and improper interactions according to OPLSAA conventions. -# These parameters are taken from those distributed with BOSS Version 4.8. +# This file contains OPLSAA parameters and rules for creating angle, dihedral, +# and improper interactions according to OPLSAA conventions, taken from +# "OPLS All-Atom Parameters for Organic Molecules, Ions, +# Peptides & Nucleic Acids, July 2008" and distributed with BOSS Version 4.8. +# This file was generated automatically using this script: +# +# tinkerparm2lt.py -name OPLSAA -file oplsaa.prm -dihedral-style opls -zeropad 3 +# +# The "oplsaa.prm" file was downloaded on 2018-6-15 from the TINKER website +# https://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm +# (Corrections to imrpopers were added by David Huang (adelaide.edu.au)) +# (Additional conversion details are explained at the end of this file.) +# Urey-Bradley parameters are not included, and a quadratic energy function +# is used (rather than a cosine) for the improper interactions (in order +# to take advantage of available GPU acceleration in LAMMPS at this time). # # USAGE: You can create molecules using this force-field this way: # @@ -13,6 +25,8 @@ # } # } # +# You can omit the atom charge in your molecule definition. +# (Partial charges will be assigned later according to the force field rules.) # Responsibility for choosing the atom types (eg "@atom:88", "@atom:89") falls # on the user. You must select the type of each atom in the molecule carefully # by looking at the description in the "In Charges" section of this file @@ -23,7 +37,6 @@ - OPLSAA { # Below we will use lammps "set" command to assign atom charges @@ -1860,912 +1873,912 @@ OPLSAA { # @atom names we have been using abovee are equivalent to the complete # @atom names used below: - replace{ @atom:1 @atom:1_b1_a1_d1_i1 } - replace{ @atom:2 @atom:2_b2_a2_d2_i2 } - replace{ @atom:3 @atom:3_b3_a3_d3_i3 } - replace{ @atom:4 @atom:4_b4_a4_d4_i4 } - replace{ @atom:5 @atom:5_b5_a5_d5_i5 } - replace{ @atom:6 @atom:6_b6_a6_d6_i6 } - replace{ @atom:7 @atom:7_b7_a7_d7_i7 } - replace{ @atom:8 @atom:8_b8_a8_d8_i8 } - replace{ @atom:9 @atom:9_b6_a6_d6_i6 } - replace{ @atom:10 @atom:10_b6_a6_d6_i6 } - replace{ @atom:11 @atom:11_b6_a6_d6_i6 } - replace{ @atom:12 @atom:12_b6_a6_d6_i6 } - replace{ @atom:13 @atom:13_b2_a2_d2_i2 } - replace{ @atom:14 @atom:14_b9_a9_d9_i9 } - replace{ @atom:15 @atom:15_b10_a10_d10_i10 } - replace{ @atom:16 @atom:16_b11_a11_d11_i11 } - replace{ @atom:17 @atom:17_b12_a12_d12_i12 } - replace{ @atom:18 @atom:18_b13_a13_d13_i13 } - replace{ @atom:19 @atom:19_b14_a14_d14_i14 } - replace{ @atom:20 @atom:20_b5_a5_d5_i5 } - replace{ @atom:21 @atom:21_b7_a7_d7_i7 } - replace{ @atom:22 @atom:22_b6_a6_d6_i6 } - replace{ @atom:23 @atom:23_b2_a2_d2_i2 } - replace{ @atom:24 @atom:24_b15_a15_d15_i15 } - replace{ @atom:25 @atom:25_b15_a15_d15_i15 } - replace{ @atom:26 @atom:26_b16_a16_d16_i16 } - replace{ @atom:27 @atom:27_b16_a16_d16_i16 } - replace{ @atom:28 @atom:28_b17_a17_d17_i17 } - replace{ @atom:29 @atom:29_b17_a17_d17_i17 } - replace{ @atom:30 @atom:30_b6_a6_d6_i6 } - replace{ @atom:31 @atom:31_b2_a2_d2_i2 } - replace{ @atom:32 @atom:32_b6_a6_d6_i6 } - replace{ @atom:33 @atom:33_b2_a2_d2_i2 } - replace{ @atom:34 @atom:34_b6_a6_d6_i6 } - replace{ @atom:35 @atom:35_b2_a2_d2_i2 } - replace{ @atom:36 @atom:36_b18_a18_d18_i18 } - replace{ @atom:37 @atom:37_b19_a19_d19_i19 } - replace{ @atom:38 @atom:38_b6_a6_d6_i6 } - replace{ @atom:39 @atom:39_b10_a10_d10_i10 } - replace{ @atom:40 @atom:40_b13_a13_d13_i13 } - replace{ @atom:41 @atom:41_b20_a20_d20_i20 } - replace{ @atom:42 @atom:42_b6_a6_d6_i6 } - replace{ @atom:43 @atom:43_b2_a2_d2_i2 } - replace{ @atom:44 @atom:44_b2_a2_d2_i2 } - replace{ @atom:45 @atom:45_b21_a21_d21_i21 } - replace{ @atom:46 @atom:46_b10_a10_d10_i10 } - replace{ @atom:47 @atom:47_b21_a21_d21_i21 } - replace{ @atom:48 @atom:48_b13_a13_d13_i13 } - replace{ @atom:49 @atom:49_b21_a21_d21_i21 } - replace{ @atom:50 @atom:50_b22_a22_d22_i22 } - replace{ @atom:51 @atom:51_b23_a23_d23_i23 } - replace{ @atom:52 @atom:52_b6_a6_d6_i6 } - replace{ @atom:53 @atom:53_b4_a4_d4_i4 } - replace{ @atom:54 @atom:54_b24_a24_d24_i24 } - replace{ @atom:55 @atom:55_b3_a3_d3_i3 } - replace{ @atom:56 @atom:56_b6_a6_d6_i6 } - replace{ @atom:57 @atom:57_b25_a25_d25_i25 } - replace{ @atom:58 @atom:58_b26_a26_d26_i26 } - replace{ @atom:59 @atom:59_b27_a27_d27_i27 } - replace{ @atom:60 @atom:60_b28_a28_d28_i28 } - replace{ @atom:61 @atom:61_b29_a29_d29_i29 } - replace{ @atom:62 @atom:62_b30_a30_d30_i30 } - replace{ @atom:63 @atom:63_b31_a31_d31_i31 } - replace{ @atom:64 @atom:64_b32_a32_d32_i32 } - replace{ @atom:65 @atom:65_b31_a31_d31_i31 } - replace{ @atom:66 @atom:66_b32_a32_d32_i32 } - replace{ @atom:67 @atom:67_b33_a33_d33_i33 } - replace{ @atom:68 @atom:68_b34_a34_d34_i34 } - replace{ @atom:69 @atom:69_b35_a35_d35_i35 } - replace{ @atom:70 @atom:70_b36_a36_d36_i36 } - replace{ @atom:71 @atom:71_b37_a37_d37_i37 } - replace{ @atom:72 @atom:72_b38_a38_d38_i38 } - replace{ @atom:73 @atom:73_b39_a39_d39_i39 } - replace{ @atom:74 @atom:74_b40_a40_d40_i40 } - replace{ @atom:75 @atom:75_b41_a41_d41_i41 } - replace{ @atom:76 @atom:76_b42_a42_d42_i42 } - replace{ @atom:77 @atom:77_b43_a43_d43_i43 } - replace{ @atom:78 @atom:78_b44_a44_d44_i44 } - replace{ @atom:79 @atom:79_b45_a45_d45_i45 } - replace{ @atom:80 @atom:80_b13_a13_d13_i13 } - replace{ @atom:81 @atom:81_b13_a13_d13_i13 } - replace{ @atom:82 @atom:82_b13_a13_d13_i13 } - replace{ @atom:83 @atom:83_b13_a13_d13_i13 } - replace{ @atom:84 @atom:84_b13_a13_d13_i13 } - replace{ @atom:85 @atom:85_b46_a46_d46_i46 } - replace{ @atom:86 @atom:86_b47_a47_d47_i47 } - replace{ @atom:87 @atom:87_b47_a47_d47_i47 } - replace{ @atom:88 @atom:88_b47_a47_d47_i47 } - replace{ @atom:89 @atom:89_b46_a46_d46_i46 } - replace{ @atom:90 @atom:90_b48_a48_d48_i48 } - replace{ @atom:91 @atom:91_b49_a49_d49_i49 } - replace{ @atom:92 @atom:92_b48_a48_d48_i48 } - replace{ @atom:93 @atom:93_b13_a13_d13_i13 } - replace{ @atom:94 @atom:94_b13_a13_d13_i13 } - replace{ @atom:95 @atom:95_b50_a50_d50_i50 } - replace{ @atom:96 @atom:96_b5_a5_d5_i5 } - replace{ @atom:97 @atom:97_b7_a7_d7_i7 } - replace{ @atom:98 @atom:98_b46_a46_d46_i46 } - replace{ @atom:99 @atom:99_b13_a13_d13_i13 } - replace{ @atom:100 @atom:100_b13_a13_d13_i13 } - replace{ @atom:101 @atom:101_b13_a13_d13_i13 } - replace{ @atom:102 @atom:102_b13_a13_d13_i13 } - replace{ @atom:103 @atom:103_b13_a13_d13_i13 } - replace{ @atom:104 @atom:104_b5_a5_d5_i5 } - replace{ @atom:105 @atom:105_b7_a7_d7_i7 } - replace{ @atom:106 @atom:106_b1_a1_d1_i1 } - replace{ @atom:107 @atom:107_b46_a46_d46_i46 } - replace{ @atom:108 @atom:108_b48_a48_d48_i48 } - replace{ @atom:109 @atom:109_b5_a5_d5_i5 } - replace{ @atom:110 @atom:110_b7_a7_d7_i7 } - replace{ @atom:111 @atom:111_b5_a5_d5_i5 } - replace{ @atom:112 @atom:112_b7_a7_d7_i7 } - replace{ @atom:113 @atom:113_b5_a5_d5_i5 } - replace{ @atom:114 @atom:114_b7_a7_d7_i7 } - replace{ @atom:115 @atom:115_b13_a13_d13_i13 } - replace{ @atom:116 @atom:116_b13_a13_d13_i13 } - replace{ @atom:117 @atom:117_b13_a13_d13_i13 } - replace{ @atom:118 @atom:118_b46_a46_d46_i46 } - replace{ @atom:119 @atom:119_b20_a20_d20_i20 } - replace{ @atom:120 @atom:120_b50_a50_d50_i50 } - replace{ @atom:121 @atom:121_b20_a20_d20_i20 } - replace{ @atom:122 @atom:122_b20_a20_d20_i20 } - replace{ @atom:123 @atom:123_b13_a13_d13_i13 } - replace{ @atom:124 @atom:124_b13_a13_d13_i13 } - replace{ @atom:125 @atom:125_b13_a13_d13_i13 } - replace{ @atom:126 @atom:126_b13_a13_d13_i13 } - replace{ @atom:127 @atom:127_b46_a46_d46_i46 } - replace{ @atom:128 @atom:128_b20_a20_d20_i20 } - replace{ @atom:129 @atom:129_b5_a5_d5_i5 } - replace{ @atom:130 @atom:130_b7_a7_d7_i7 } - replace{ @atom:131 @atom:131_b51_a51_d51_i51 } - replace{ @atom:132 @atom:132_b46_a46_d46_i46 } - replace{ @atom:133 @atom:133_b51_a51_d51_i51 } - replace{ @atom:134 @atom:134_b46_a46_d46_i46 } - replace{ @atom:135 @atom:135_b51_a51_d51_i51 } - replace{ @atom:136 @atom:136_b46_a46_d46_i46 } - replace{ @atom:137 @atom:137_b51_a51_d51_i51 } - replace{ @atom:138 @atom:138_b46_a46_d46_i46 } - replace{ @atom:139 @atom:139_b51_a51_d51_i51 } - replace{ @atom:140 @atom:140_b51_a51_d51_i51 } - replace{ @atom:141 @atom:141_b48_a48_d48_i48 } - replace{ @atom:142 @atom:142_b15_a15_d15_i15 } - replace{ @atom:143 @atom:143_b15_a15_d15_i15 } - replace{ @atom:144 @atom:144_b16_a16_d16_i16 } - replace{ @atom:145 @atom:145_b16_a16_d16_i16 } - replace{ @atom:146 @atom:146_b17_a17_d17_i17 } - replace{ @atom:147 @atom:147_b17_a17_d17_i17 } - replace{ @atom:148 @atom:148_b13_a13_d13_i13 } - replace{ @atom:149 @atom:149_b13_a13_d13_i13 } - replace{ @atom:150 @atom:150_b13_a13_d13_i13 } - replace{ @atom:151 @atom:151_b13_a13_d13_i13 } - replace{ @atom:152 @atom:152_b13_a13_d13_i13 } - replace{ @atom:153 @atom:153_b13_a13_d13_i13 } - replace{ @atom:154 @atom:154_b13_a13_d13_i13 } - replace{ @atom:155 @atom:155_b13_a13_d13_i13 } - replace{ @atom:156 @atom:156_b13_a13_d13_i13 } - replace{ @atom:157 @atom:157_b13_a13_d13_i13 } - replace{ @atom:158 @atom:158_b13_a13_d13_i13 } - replace{ @atom:159 @atom:159_b13_a13_d13_i13 } - replace{ @atom:160 @atom:160_b13_a13_d13_i13 } - replace{ @atom:161 @atom:161_b13_a13_d13_i13 } - replace{ @atom:162 @atom:162_b13_a13_d13_i13 } - replace{ @atom:163 @atom:163_b48_a48_d48_i48 } - replace{ @atom:164 @atom:164_b16_a16_d16_i16 } - replace{ @atom:165 @atom:165_b13_a13_d13_i13 } - replace{ @atom:166 @atom:166_b13_a13_d13_i13 } - replace{ @atom:167 @atom:167_b13_a13_d13_i13 } - replace{ @atom:168 @atom:168_b21_a21_d21_i21 } - replace{ @atom:169 @atom:169_b47_a47_d47_i47 } - replace{ @atom:170 @atom:170_b48_a48_d48_i48 } - replace{ @atom:171 @atom:171_b13_a13_d13_i13 } - replace{ @atom:172 @atom:172_b13_a13_d13_i13 } - replace{ @atom:173 @atom:173_b3_a3_d3_i3 } - replace{ @atom:174 @atom:174_b3_a3_d3_i3 } - replace{ @atom:175 @atom:175_b3_a3_d3_i3 } - replace{ @atom:176 @atom:176_b3_a3_d3_i3 } - replace{ @atom:177 @atom:177_b3_a3_d3_i3 } - replace{ @atom:178 @atom:178_b4_a4_d4_i4 } - replace{ @atom:179 @atom:179_b24_a24_d24_i24 } - replace{ @atom:180 @atom:180_b24_a24_d24_i24 } - replace{ @atom:181 @atom:181_b24_a24_d24_i24 } - replace{ @atom:182 @atom:182_b45_a45_d45_i45 } - replace{ @atom:183 @atom:183_b45_a45_d45_i45 } - replace{ @atom:184 @atom:184_b13_a13_d13_i13 } - replace{ @atom:185 @atom:185_b13_a13_d13_i13 } - replace{ @atom:186 @atom:186_b13_a13_d13_i13 } - replace{ @atom:187 @atom:187_b13_a13_d13_i13 } - replace{ @atom:188 @atom:188_b13_a13_d13_i13 } - replace{ @atom:189 @atom:189_b3_a3_d3_i3 } - replace{ @atom:190 @atom:190_b4_a4_d4_i4 } - replace{ @atom:191 @atom:191_b24_a24_d24_i24 } - replace{ @atom:192 @atom:192_b45_a45_d45_i45 } - replace{ @atom:193 @atom:193_b24_a24_d24_i24 } - replace{ @atom:194 @atom:194_b3_a3_d3_i3 } - replace{ @atom:195 @atom:195_b4_a4_d4_i4 } - replace{ @atom:196 @atom:196_b45_a45_d45_i45 } - replace{ @atom:197 @atom:197_b46_a46_d46_i46 } - replace{ @atom:198 @atom:198_b13_a13_d13_i13 } - replace{ @atom:199 @atom:199_b13_a13_d13_i13 } - replace{ @atom:200 @atom:200_b13_a13_d13_i13 } - replace{ @atom:201 @atom:201_b13_a13_d13_i13 } - replace{ @atom:202 @atom:202_b48_a48_d48_i48 } - replace{ @atom:203 @atom:203_b19_a19_d19_i19 } - replace{ @atom:204 @atom:204_b18_a18_d18_i18 } - replace{ @atom:205 @atom:205_b48_a48_d48_i48 } - replace{ @atom:206 @atom:206_b21_a21_d21_i21 } - replace{ @atom:207 @atom:207_b24_a24_d24_i24 } - replace{ @atom:208 @atom:208_b48_a48_d48_i48 } - replace{ @atom:209 @atom:209_b3_a3_d3_i3 } - replace{ @atom:210 @atom:210_b4_a4_d4_i4 } - replace{ @atom:211 @atom:211_b5_a5_d5_i5 } - replace{ @atom:212 @atom:212_b7_a7_d7_i7 } - replace{ @atom:213 @atom:213_b3_a3_d3_i3 } - replace{ @atom:214 @atom:214_b52_a52_d52_i52 } - replace{ @atom:215 @atom:215_b13_a13_d13_i13 } - replace{ @atom:216 @atom:216_b13_a13_d13_i13 } - replace{ @atom:217 @atom:217_b13_a13_d13_i13 } - replace{ @atom:218 @atom:218_b13_a13_d13_i13 } - replace{ @atom:219 @atom:219_b3_a3_d3_i3 } - replace{ @atom:220 @atom:220_b4_a4_d4_i4 } - replace{ @atom:221 @atom:221_b46_a46_d46_i46 } - replace{ @atom:222 @atom:222_b3_a3_d3_i3 } - replace{ @atom:223 @atom:223_b4_a4_d4_i4 } - replace{ @atom:224 @atom:224_b46_a46_d46_i46 } - replace{ @atom:225 @atom:225_b13_a13_d13_i13 } - replace{ @atom:226 @atom:226_b13_a13_d13_i13 } - replace{ @atom:227 @atom:227_b13_a13_d13_i13 } - replace{ @atom:228 @atom:228_b13_a13_d13_i13 } - replace{ @atom:229 @atom:229_b53_a53_d53_i53 } - replace{ @atom:230 @atom:230_b53_a53_d53_i53 } - replace{ @atom:231 @atom:231_b53_a53_d53_i53 } - replace{ @atom:232 @atom:232_b54_a54_d54_i54 } - replace{ @atom:233 @atom:233_b54_a54_d54_i54 } - replace{ @atom:234 @atom:234_b13_a13_d13_i13 } - replace{ @atom:235 @atom:235_b13_a13_d13_i13 } - replace{ @atom:236 @atom:236_b13_a13_d13_i13 } - replace{ @atom:237 @atom:237_b13_a13_d13_i13 } - replace{ @atom:238 @atom:238_b13_a13_d13_i13 } - replace{ @atom:239 @atom:239_b13_a13_d13_i13 } - replace{ @atom:240 @atom:240_b13_a13_d13_i13 } - replace{ @atom:241 @atom:241_b13_a13_d13_i13 } - replace{ @atom:242 @atom:242_b13_a13_d13_i13 } - replace{ @atom:243 @atom:243_b55_a55_d55_i55 } - replace{ @atom:244 @atom:244_b54_a54_d54_i54 } - replace{ @atom:245 @atom:245_b48_a48_d48_i48 } - replace{ @atom:246 @atom:246_b55_a55_d55_i55 } - replace{ @atom:247 @atom:247_b54_a54_d54_i54 } - replace{ @atom:248 @atom:248_b13_a13_d13_i13 } - replace{ @atom:249 @atom:249_b13_a13_d13_i13 } - replace{ @atom:250 @atom:250_b13_a13_d13_i13 } - replace{ @atom:251 @atom:251_b13_a13_d13_i13 } - replace{ @atom:252 @atom:252_b53_a53_d53_i53 } - replace{ @atom:253 @atom:253_b54_a54_d54_i54 } - replace{ @atom:254 @atom:254_b56_a56_d56_i56 } - replace{ @atom:255 @atom:255_b48_a48_d48_i48 } - replace{ @atom:256 @atom:256_b55_a55_d55_i55 } - replace{ @atom:257 @atom:257_b45_a45_d45_i45 } - replace{ @atom:258 @atom:258_b48_a48_d48_i48 } - replace{ @atom:259 @atom:259_b49_a49_d49_i49 } - replace{ @atom:260 @atom:260_b48_a48_d48_i48 } - replace{ @atom:261 @atom:261_b49_a49_d49_i49 } - replace{ @atom:262 @atom:262_b57_a57_d57_i57 } - replace{ @atom:263 @atom:263_b3_a3_d3_i3 } - replace{ @atom:264 @atom:264_b57_a57_d57_i57 } - replace{ @atom:265 @atom:265_b3_a3_d3_i3 } - replace{ @atom:266 @atom:266_b47_a47_d47_i47 } - replace{ @atom:267 @atom:267_b47_a47_d47_i47 } - replace{ @atom:268 @atom:268_b45_a45_d45_i45 } - replace{ @atom:269 @atom:269_b4_a4_d4_i4 } - replace{ @atom:270 @atom:270_b45_a45_d45_i45 } - replace{ @atom:271 @atom:271_b4_a4_d4_i4 } - replace{ @atom:272 @atom:272_b46_a46_d46_i46 } - replace{ @atom:273 @atom:273_b46_a46_d46_i46 } - replace{ @atom:274 @atom:274_b13_a13_d13_i13 } - replace{ @atom:275 @atom:275_b46_a46_d46_i46 } - replace{ @atom:276 @atom:276_b57_a57_d57_i57 } - replace{ @atom:277 @atom:277_b3_a3_d3_i3 } - replace{ @atom:278 @atom:278_b56_a56_d56_i56 } - replace{ @atom:279 @atom:279_b48_a48_d48_i48 } - replace{ @atom:280 @atom:280_b47_a47_d47_i47 } - replace{ @atom:281 @atom:281_b47_a47_d47_i47 } - replace{ @atom:282 @atom:282_b45_a45_d45_i45 } - replace{ @atom:283 @atom:283_b4_a4_d4_i4 } - replace{ @atom:284 @atom:284_b55_a55_d55_i55 } - replace{ @atom:285 @atom:285_b45_a45_d45_i45 } - replace{ @atom:286 @atom:286_b45_a45_d45_i45 } - replace{ @atom:287 @atom:287_b46_a46_d46_i46 } - replace{ @atom:288 @atom:288_b58_a58_d58_i58 } - replace{ @atom:289 @atom:289_b56_a56_d56_i56 } - replace{ @atom:290 @atom:290_b59_a59_d59_i59 } - replace{ @atom:291 @atom:291_b56_a56_d56_i56 } - replace{ @atom:292 @atom:292_b60_a60_d60_i60 } - replace{ @atom:293 @atom:293_b60_a60_d60_i60 } - replace{ @atom:294 @atom:294_b48_a48_d48_i48 } - replace{ @atom:295 @atom:295_b61_a61_d61_i61 } - replace{ @atom:296 @atom:296_b62_a62_d62_i62 } - replace{ @atom:297 @atom:297_b57_a57_d57_i57 } - replace{ @atom:298 @atom:298_b63_a63_d63_i63 } - replace{ @atom:299 @atom:299_b55_a55_d55_i55 } - replace{ @atom:300 @atom:300_b45_a45_d45_i45 } - replace{ @atom:301 @atom:301_b45_a45_d45_i45 } - replace{ @atom:302 @atom:302_b63_a63_d63_i63 } - replace{ @atom:303 @atom:303_b45_a45_d45_i45 } - replace{ @atom:304 @atom:304_b57_a57_d57_i57 } - replace{ @atom:305 @atom:305_b48_a48_d48_i48 } - replace{ @atom:306 @atom:306_b56_a56_d56_i56 } - replace{ @atom:307 @atom:307_b60_a60_d60_i60 } - replace{ @atom:308 @atom:308_b60_a60_d60_i60 } - replace{ @atom:309 @atom:309_b3_a3_d3_i3 } - replace{ @atom:310 @atom:310_b45_a45_d45_i45 } - replace{ @atom:311 @atom:311_b55_a55_d55_i55 } - replace{ @atom:312 @atom:312_b45_a45_d45_i45 } - replace{ @atom:313 @atom:313_b4_a4_d4_i4 } - replace{ @atom:314 @atom:314_b13_a13_d13_i13 } - replace{ @atom:315 @atom:315_b46_a46_d46_i46 } - replace{ @atom:316 @atom:316_b13_a13_d13_i13 } - replace{ @atom:317 @atom:317_b46_a46_d46_i46 } - replace{ @atom:318 @atom:318_b13_a13_d13_i13 } - replace{ @atom:319 @atom:319_b46_a46_d46_i46 } - replace{ @atom:320 @atom:320_b57_a57_d57_i57 } - replace{ @atom:321 @atom:321_b3_a3_d3_i3 } - replace{ @atom:322 @atom:322_b57_a57_d57_i57 } - replace{ @atom:323 @atom:323_b48_a48_d48_i48 } - replace{ @atom:324 @atom:324_b47_a47_d47_i47 } - replace{ @atom:325 @atom:325_b47_a47_d47_i47 } - replace{ @atom:326 @atom:326_b45_a45_d45_i45 } - replace{ @atom:327 @atom:327_b4_a4_d4_i4 } - replace{ @atom:328 @atom:328_b45_a45_d45_i45 } - replace{ @atom:329 @atom:329_b55_a55_d55_i55 } - replace{ @atom:330 @atom:330_b45_a45_d45_i45 } - replace{ @atom:331 @atom:331_b45_a45_d45_i45 } - replace{ @atom:332 @atom:332_b49_a49_d49_i49 } - replace{ @atom:333 @atom:333_b58_a58_d58_i58 } - replace{ @atom:334 @atom:334_b13_a13_d13_i13 } - replace{ @atom:335 @atom:335_b46_a46_d46_i46 } - replace{ @atom:336 @atom:336_b64_a64_d64_i64 } - replace{ @atom:337 @atom:337_b52_a52_d52_i52 } - replace{ @atom:338 @atom:338_b20_a20_d20_i20 } - replace{ @atom:339 @atom:339_b13_a13_d13_i13 } - replace{ @atom:340 @atom:340_b47_a47_d47_i47 } - replace{ @atom:341 @atom:341_b21_a21_d21_i21 } - replace{ @atom:342 @atom:342_b47_a47_d47_i47 } - replace{ @atom:343 @atom:343_b1_a1_d1_i1 } - replace{ @atom:344 @atom:344_b21_a21_d21_i21 } - replace{ @atom:345 @atom:345_b65_a65_d65_i65 } - replace{ @atom:346 @atom:346_b66_a66_d66_i66 } - replace{ @atom:347 @atom:347_b67_a67_d67_i67 } - replace{ @atom:348 @atom:348_b68_a68_d68_i68 } - replace{ @atom:349 @atom:349_b69_a69_d69_i69 } - replace{ @atom:350 @atom:350_b70_a70_d70_i70 } - replace{ @atom:351 @atom:351_b71_a71_d71_i71 } - replace{ @atom:352 @atom:352_b72_a72_d72_i72 } - replace{ @atom:353 @atom:353_b73_a73_d73_i73 } - replace{ @atom:354 @atom:354_b74_a74_d74_i74 } - replace{ @atom:355 @atom:355_b75_a75_d75_i75 } - replace{ @atom:356 @atom:356_b76_a76_d76_i76 } - replace{ @atom:357 @atom:357_b6_a6_d6_i6 } - replace{ @atom:358 @atom:358_b46_a46_d46_i46 } - replace{ @atom:359 @atom:359_b15_a15_d15_i15 } - replace{ @atom:360 @atom:360_b6_a6_d6_i6 } - replace{ @atom:361 @atom:361_b46_a46_d46_i46 } - replace{ @atom:362 @atom:362_b5_a5_d5_i5 } - replace{ @atom:363 @atom:363_b13_a13_d13_i13 } - replace{ @atom:364 @atom:364_b46_a46_d46_i46 } - replace{ @atom:365 @atom:365_b19_a19_d19_i19 } - replace{ @atom:366 @atom:366_b18_a18_d18_i18 } - replace{ @atom:367 @atom:367_b6_a6_d6_i6 } - replace{ @atom:368 @atom:368_b46_a46_d46_i46 } - replace{ @atom:369 @atom:369_b53_a53_d53_i53 } - replace{ @atom:370 @atom:370_b45_a45_d45_i45 } - replace{ @atom:371 @atom:371_b6_a6_d6_i6 } - replace{ @atom:372 @atom:372_b46_a46_d46_i46 } - replace{ @atom:373 @atom:373_b13_a13_d13_i13 } - replace{ @atom:374 @atom:374_b46_a46_d46_i46 } - replace{ @atom:375 @atom:375_b33_a33_d33_i33 } - replace{ @atom:376 @atom:376_b5_a5_d5_i5 } - replace{ @atom:377 @atom:377_b7_a7_d7_i7 } - replace{ @atom:378 @atom:378_b77_a77_d77_i77 } - replace{ @atom:379 @atom:379_b78_a78_d78_i78 } - replace{ @atom:380 @atom:380_b20_a20_d20_i20 } - replace{ @atom:381 @atom:381_b64_a64_d64_i64 } - replace{ @atom:382 @atom:382_b52_a52_d52_i52 } - replace{ @atom:383 @atom:383_b20_a20_d20_i20 } - replace{ @atom:384 @atom:384_b13_a13_d13_i13 } - replace{ @atom:385 @atom:385_b46_a46_d46_i46 } - replace{ @atom:386 @atom:386_b64_a64_d64_i64 } - replace{ @atom:387 @atom:387_b52_a52_d52_i52 } - replace{ @atom:388 @atom:388_b20_a20_d20_i20 } - replace{ @atom:389 @atom:389_b13_a13_d13_i13 } - replace{ @atom:390 @atom:390_b46_a46_d46_i46 } - replace{ @atom:391 @atom:391_b64_a64_d64_i64 } - replace{ @atom:392 @atom:392_b52_a52_d52_i52 } - replace{ @atom:393 @atom:393_b20_a20_d20_i20 } - replace{ @atom:394 @atom:394_b13_a13_d13_i13 } - replace{ @atom:395 @atom:395_b46_a46_d46_i46 } - replace{ @atom:396 @atom:396_b13_a13_d13_i13 } - replace{ @atom:397 @atom:397_b46_a46_d46_i46 } - replace{ @atom:398 @atom:398_b48_a48_d48_i48 } - replace{ @atom:399 @atom:399_b13_a13_d13_i13 } - replace{ @atom:400 @atom:400_b46_a46_d46_i46 } - replace{ @atom:401 @atom:401_b48_a48_d48_i48 } - replace{ @atom:402 @atom:402_b13_a13_d13_i13 } - replace{ @atom:403 @atom:403_b46_a46_d46_i46 } - replace{ @atom:404 @atom:404_b48_a48_d48_i48 } - replace{ @atom:405 @atom:405_b13_a13_d13_i13 } - replace{ @atom:406 @atom:406_b3_a3_d3_i3 } - replace{ @atom:407 @atom:407_b4_a4_d4_i4 } - replace{ @atom:408 @atom:408_b20_a20_d20_i20 } - replace{ @atom:409 @atom:409_b13_a13_d13_i13 } - replace{ @atom:410 @atom:410_b46_a46_d46_i46 } - replace{ @atom:411 @atom:411_b3_a3_d3_i3 } - replace{ @atom:412 @atom:412_b3_a3_d3_i3 } - replace{ @atom:413 @atom:413_b48_a48_d48_i48 } - replace{ @atom:414 @atom:414_b20_a20_d20_i20 } - replace{ @atom:415 @atom:415_b79_a79_d79_i79 } - replace{ @atom:416 @atom:416_b23_a23_d23_i23 } - replace{ @atom:417 @atom:417_b13_a13_d13_i13 } - replace{ @atom:418 @atom:418_b46_a46_d46_i46 } - replace{ @atom:419 @atom:419_b24_a24_d24_i24 } - replace{ @atom:420 @atom:420_b45_a45_d45_i45 } - replace{ @atom:421 @atom:421_b24_a24_d24_i24 } - replace{ @atom:422 @atom:422_b45_a45_d45_i45 } - replace{ @atom:423 @atom:423_b13_a13_d13_i13 } - replace{ @atom:424 @atom:424_b46_a46_d46_i46 } - replace{ @atom:425 @atom:425_b13_a13_d13_i13 } - replace{ @atom:426 @atom:426_b46_a46_d46_i46 } - replace{ @atom:427 @atom:427_b13_a13_d13_i13 } - replace{ @atom:428 @atom:428_b46_a46_d46_i46 } - replace{ @atom:429 @atom:429_b48_a48_d48_i48 } - replace{ @atom:430 @atom:430_b48_a48_d48_i48 } - replace{ @atom:431 @atom:431_b13_a13_d13_i13 } - replace{ @atom:432 @atom:432_b13_a13_d13_i13 } - replace{ @atom:433 @atom:433_b13_a13_d13_i13 } - replace{ @atom:434 @atom:434_b79_a79_d79_i79 } - replace{ @atom:435 @atom:435_b23_a23_d23_i23 } - replace{ @atom:436 @atom:436_b22_a22_d22_i22 } - replace{ @atom:437 @atom:437_b22_a22_d22_i22 } - replace{ @atom:438 @atom:438_b23_a23_d23_i23 } - replace{ @atom:439 @atom:439_b13_a13_d13_i13 } - replace{ @atom:440 @atom:440_b13_a13_d13_i13 } - replace{ @atom:441 @atom:441_b80_a80_d80_i80 } - replace{ @atom:442 @atom:442_b60_a60_d60_i60 } - replace{ @atom:443 @atom:443_b81_a81_d81_i81 } - replace{ @atom:444 @atom:444_b57_a57_d57_i57 } - replace{ @atom:445 @atom:445_b45_a45_d45_i45 } - replace{ @atom:446 @atom:446_b13_a13_d13_i13 } - replace{ @atom:447 @atom:447_b82_a82_d82_i82 } - replace{ @atom:448 @atom:448_b83_a83_d83_i83 } - replace{ @atom:449 @atom:449_b84_a84_d84_i84 } - replace{ @atom:450 @atom:450_b82_a82_d82_i82 } - replace{ @atom:451 @atom:451_b85_a85_d85_i85 } - replace{ @atom:452 @atom:452_b61_a61_d61_i61 } - replace{ @atom:453 @atom:453_b57_a57_d57_i57 } - replace{ @atom:454 @atom:454_b45_a45_d45_i45 } - replace{ @atom:455 @atom:455_b84_a84_d84_i84 } - replace{ @atom:456 @atom:456_b13_a13_d13_i13 } - replace{ @atom:457 @atom:457_b13_a13_d13_i13 } - replace{ @atom:458 @atom:458_b47_a47_d47_i47 } - replace{ @atom:459 @atom:459_b47_a47_d47_i47 } - replace{ @atom:460 @atom:460_b86_a86_d86_i86 } - replace{ @atom:461 @atom:461_b56_a56_d56_i56 } - replace{ @atom:462 @atom:462_b48_a48_d48_i48 } - replace{ @atom:463 @atom:463_b48_a48_d48_i48 } - replace{ @atom:464 @atom:464_b48_a48_d48_i48 } - replace{ @atom:465 @atom:465_b49_a49_d49_i49 } - replace{ @atom:466 @atom:466_b49_a49_d49_i49 } - replace{ @atom:467 @atom:467_b49_a49_d49_i49 } - replace{ @atom:468 @atom:468_b56_a56_d56_i56 } - replace{ @atom:469 @atom:469_b48_a48_d48_i48 } - replace{ @atom:470 @atom:470_b49_a49_d49_i49 } - replace{ @atom:471 @atom:471_b56_a56_d56_i56 } - replace{ @atom:472 @atom:472_b59_a59_d59_i59 } - replace{ @atom:473 @atom:473_b48_a48_d48_i48 } - replace{ @atom:474 @atom:474_b48_a48_d48_i48 } - replace{ @atom:475 @atom:475_b49_a49_d49_i49 } - replace{ @atom:476 @atom:476_b49_a49_d49_i49 } - replace{ @atom:477 @atom:477_b49_a49_d49_i49 } - replace{ @atom:478 @atom:478_b56_a56_d56_i56 } - replace{ @atom:479 @atom:479_b48_a48_d48_i48 } - replace{ @atom:480 @atom:480_b48_a48_d48_i48 } - replace{ @atom:481 @atom:481_b49_a49_d49_i49 } - replace{ @atom:482 @atom:482_b49_a49_d49_i49 } - replace{ @atom:483 @atom:483_b57_a57_d57_i57 } - replace{ @atom:484 @atom:484_b84_a84_d84_i84 } - replace{ @atom:485 @atom:485_b87_a87_d87_i87 } - replace{ @atom:486 @atom:486_b45_a45_d45_i45 } - replace{ @atom:487 @atom:487_b49_a49_d49_i49 } - replace{ @atom:488 @atom:488_b49_a49_d49_i49 } - replace{ @atom:489 @atom:489_b57_a57_d57_i57 } - replace{ @atom:490 @atom:490_b61_a61_d61_i61 } - replace{ @atom:491 @atom:491_b88_a88_d88_i88 } - replace{ @atom:492 @atom:492_b87_a87_d87_i87 } - replace{ @atom:493 @atom:493_b84_a84_d84_i84 } - replace{ @atom:494 @atom:494_b45_a45_d45_i45 } - replace{ @atom:495 @atom:495_b49_a49_d49_i49 } - replace{ @atom:496 @atom:496_b49_a49_d49_i49 } - replace{ @atom:497 @atom:497_b49_a49_d49_i49 } - replace{ @atom:498 @atom:498_b57_a57_d57_i57 } - replace{ @atom:499 @atom:499_b82_a82_d82_i82 } - replace{ @atom:500 @atom:500_b61_a61_d61_i61 } - replace{ @atom:501 @atom:501_b83_a83_d83_i83 } - replace{ @atom:502 @atom:502_b84_a84_d84_i84 } - replace{ @atom:503 @atom:503_b45_a45_d45_i45 } - replace{ @atom:504 @atom:504_b49_a49_d49_i49 } - replace{ @atom:505 @atom:505_b49_a49_d49_i49 } - replace{ @atom:506 @atom:506_b49_a49_d49_i49 } - replace{ @atom:507 @atom:507_b20_a20_d20_i20 } - replace{ @atom:508 @atom:508_b84_a84_d84_i84 } - replace{ @atom:509 @atom:509_b87_a87_d87_i87 } - replace{ @atom:510 @atom:510_b49_a49_d49_i49 } - replace{ @atom:511 @atom:511_b49_a49_d49_i49 } - replace{ @atom:512 @atom:512_b20_a20_d20_i20 } - replace{ @atom:513 @atom:513_b82_a82_d82_i82 } - replace{ @atom:514 @atom:514_b61_a61_d61_i61 } - replace{ @atom:515 @atom:515_b83_a83_d83_i83 } - replace{ @atom:516 @atom:516_b84_a84_d84_i84 } - replace{ @atom:517 @atom:517_b49_a49_d49_i49 } - replace{ @atom:518 @atom:518_b49_a49_d49_i49 } - replace{ @atom:519 @atom:519_b49_a49_d49_i49 } - replace{ @atom:520 @atom:520_b20_a20_d20_i20 } - replace{ @atom:521 @atom:521_b61_a61_d61_i61 } - replace{ @atom:522 @atom:522_b88_a88_d88_i88 } - replace{ @atom:523 @atom:523_b87_a87_d87_i87 } - replace{ @atom:524 @atom:524_b84_a84_d84_i84 } - replace{ @atom:525 @atom:525_b49_a49_d49_i49 } - replace{ @atom:526 @atom:526_b49_a49_d49_i49 } - replace{ @atom:527 @atom:527_b49_a49_d49_i49 } - replace{ @atom:528 @atom:528_b57_a57_d57_i57 } - replace{ @atom:529 @atom:529_b84_a84_d84_i84 } - replace{ @atom:530 @atom:530_b87_a87_d87_i87 } - replace{ @atom:531 @atom:531_b48_a48_d48_i48 } - replace{ @atom:532 @atom:532_b48_a48_d48_i48 } - replace{ @atom:533 @atom:533_b48_a48_d48_i48 } - replace{ @atom:534 @atom:534_b48_a48_d48_i48 } - replace{ @atom:535 @atom:535_b81_a81_d81_i81 } - replace{ @atom:536 @atom:536_b60_a60_d60_i60 } - replace{ @atom:537 @atom:537_b45_a45_d45_i45 } - replace{ @atom:538 @atom:538_b49_a49_d49_i49 } - replace{ @atom:539 @atom:539_b49_a49_d49_i49 } - replace{ @atom:540 @atom:540_b49_a49_d49_i49 } - replace{ @atom:541 @atom:541_b49_a49_d49_i49 } - replace{ @atom:542 @atom:542_b49_a49_d49_i49 } - replace{ @atom:543 @atom:543_b49_a49_d49_i49 } - replace{ @atom:544 @atom:544_b56_a56_d56_i56 } - replace{ @atom:545 @atom:545_b48_a48_d48_i48 } - replace{ @atom:546 @atom:546_b48_a48_d48_i48 } - replace{ @atom:547 @atom:547_b48_a48_d48_i48 } - replace{ @atom:548 @atom:548_b48_a48_d48_i48 } - replace{ @atom:549 @atom:549_b48_a48_d48_i48 } - replace{ @atom:550 @atom:550_b48_a48_d48_i48 } - replace{ @atom:551 @atom:551_b48_a48_d48_i48 } - replace{ @atom:552 @atom:552_b48_a48_d48_i48 } - replace{ @atom:553 @atom:553_b48_a48_d48_i48 } - replace{ @atom:554 @atom:554_b49_a49_d49_i49 } - replace{ @atom:555 @atom:555_b49_a49_d49_i49 } - replace{ @atom:556 @atom:556_b49_a49_d49_i49 } - replace{ @atom:557 @atom:557_b49_a49_d49_i49 } - replace{ @atom:558 @atom:558_b49_a49_d49_i49 } - replace{ @atom:559 @atom:559_b49_a49_d49_i49 } - replace{ @atom:560 @atom:560_b49_a49_d49_i49 } - replace{ @atom:561 @atom:561_b56_a56_d56_i56 } - replace{ @atom:562 @atom:562_b59_a59_d59_i59 } - replace{ @atom:563 @atom:563_b56_a56_d56_i56 } - replace{ @atom:564 @atom:564_b60_a60_d60_i60 } - replace{ @atom:565 @atom:565_b60_a60_d60_i60 } - replace{ @atom:566 @atom:566_b48_a48_d48_i48 } - replace{ @atom:567 @atom:567_b61_a61_d61_i61 } - replace{ @atom:568 @atom:568_b62_a62_d62_i62 } - replace{ @atom:569 @atom:569_b57_a57_d57_i57 } - replace{ @atom:570 @atom:570_b49_a49_d49_i49 } - replace{ @atom:571 @atom:571_b49_a49_d49_i49 } - replace{ @atom:572 @atom:572_b49_a49_d49_i49 } - replace{ @atom:573 @atom:573_b45_a45_d45_i45 } - replace{ @atom:574 @atom:574_b16_a16_d16_i16 } - replace{ @atom:575 @atom:575_b82_a82_d82_i82 } - replace{ @atom:576 @atom:576_b61_a61_d61_i61 } - replace{ @atom:577 @atom:577_b83_a83_d83_i83 } - replace{ @atom:578 @atom:578_b84_a84_d84_i84 } - replace{ @atom:579 @atom:579_b49_a49_d49_i49 } - replace{ @atom:580 @atom:580_b49_a49_d49_i49 } - replace{ @atom:581 @atom:581_b49_a49_d49_i49 } - replace{ @atom:582 @atom:582_b56_a56_d56_i56 } - replace{ @atom:583 @atom:583_b59_a59_d59_i59 } - replace{ @atom:584 @atom:584_b49_a49_d49_i49 } - replace{ @atom:585 @atom:585_b48_a48_d48_i48 } - replace{ @atom:586 @atom:586_b13_a13_d13_i13 } - replace{ @atom:587 @atom:587_b56_a56_d56_i56 } - replace{ @atom:588 @atom:588_b48_a48_d48_i48 } - replace{ @atom:589 @atom:589_b48_a48_d48_i48 } - replace{ @atom:590 @atom:590_b48_a48_d48_i48 } - replace{ @atom:591 @atom:591_b48_a48_d48_i48 } - replace{ @atom:592 @atom:592_b48_a48_d48_i48 } - replace{ @atom:593 @atom:593_b48_a48_d48_i48 } - replace{ @atom:594 @atom:594_b49_a49_d49_i49 } - replace{ @atom:595 @atom:595_b49_a49_d49_i49 } - replace{ @atom:596 @atom:596_b49_a49_d49_i49 } - replace{ @atom:597 @atom:597_b49_a49_d49_i49 } - replace{ @atom:598 @atom:598_b57_a57_d57_i57 } - replace{ @atom:599 @atom:599_b82_a82_d82_i82 } - replace{ @atom:600 @atom:600_b61_a61_d61_i61 } - replace{ @atom:601 @atom:601_b83_a83_d83_i83 } - replace{ @atom:602 @atom:602_b84_a84_d84_i84 } - replace{ @atom:603 @atom:603_b13_a13_d13_i13 } - replace{ @atom:604 @atom:604_b49_a49_d49_i49 } - replace{ @atom:605 @atom:605_b49_a49_d49_i49 } - replace{ @atom:606 @atom:606_b49_a49_d49_i49 } - replace{ @atom:607 @atom:607_b46_a46_d46_i46 } - replace{ @atom:608 @atom:608_b13_a13_d13_i13 } - replace{ @atom:609 @atom:609_b13_a13_d13_i13 } - replace{ @atom:610 @atom:610_b13_a13_d13_i13 } - replace{ @atom:611 @atom:611_b13_a13_d13_i13 } - replace{ @atom:612 @atom:612_b13_a13_d13_i13 } - replace{ @atom:613 @atom:613_b13_a13_d13_i13 } - replace{ @atom:614 @atom:614_b13_a13_d13_i13 } - replace{ @atom:615 @atom:615_b13_a13_d13_i13 } - replace{ @atom:616 @atom:616_b13_a13_d13_i13 } - replace{ @atom:617 @atom:617_b13_a13_d13_i13 } - replace{ @atom:618 @atom:618_b13_a13_d13_i13 } - replace{ @atom:619 @atom:619_b13_a13_d13_i13 } - replace{ @atom:620 @atom:620_b13_a13_d13_i13 } - replace{ @atom:621 @atom:621_b13_a13_d13_i13 } - replace{ @atom:622 @atom:622_b13_a13_d13_i13 } - replace{ @atom:623 @atom:623_b15_a15_d15_i15 } - replace{ @atom:624 @atom:624_b17_a17_d17_i17 } - replace{ @atom:625 @atom:625_b48_a48_d48_i48 } - replace{ @atom:626 @atom:626_b89_a89_d89_i89 } - replace{ @atom:627 @atom:627_b90_a90_d90_i90 } - replace{ @atom:628 @atom:628_b91_a91_d91_i91 } - replace{ @atom:629 @atom:629_b91_a91_d91_i91 } - replace{ @atom:630 @atom:630_b13_a13_d13_i13 } - replace{ @atom:631 @atom:631_b86_a86_d86_i86 } - replace{ @atom:632 @atom:632_b86_a86_d86_i86 } - replace{ @atom:633 @atom:633_b86_a86_d86_i86 } - replace{ @atom:634 @atom:634_b86_a86_d86_i86 } - replace{ @atom:635 @atom:635_b86_a86_d86_i86 } - replace{ @atom:636 @atom:636_b86_a86_d86_i86 } - replace{ @atom:637 @atom:637_b16_a16_d16_i16 } - replace{ @atom:638 @atom:638_b92_a92_d92_i92 } - replace{ @atom:639 @atom:639_b93_a93_d93_i93 } - replace{ @atom:640 @atom:640_b94_a94_d94_i94 } - replace{ @atom:641 @atom:641_b95_a95_d95_i95 } - replace{ @atom:642 @atom:642_b13_a13_d13_i13 } - replace{ @atom:643 @atom:643_b46_a46_d46_i46 } - replace{ @atom:644 @atom:644_b96_a96_d96_i96 } - replace{ @atom:645 @atom:645_b97_a97_d97_i97 } - replace{ @atom:646 @atom:646_b98_a98_d98_i98 } - replace{ @atom:647 @atom:647_b99_a99_d99_i99 } + replace{ @atom:1 @atom:1_b001_a001_d001_i001 } + replace{ @atom:2 @atom:2_b002_a002_d002_i002 } + replace{ @atom:3 @atom:3_b003_a003_d003_i003 } + replace{ @atom:4 @atom:4_b004_a004_d004_i004 } + replace{ @atom:5 @atom:5_b005_a005_d005_i005 } + replace{ @atom:6 @atom:6_b006_a006_d006_i006 } + replace{ @atom:7 @atom:7_b007_a007_d007_i007 } + replace{ @atom:8 @atom:8_b008_a008_d008_i008 } + replace{ @atom:9 @atom:9_b006_a006_d006_i006 } + replace{ @atom:10 @atom:10_b006_a006_d006_i006 } + replace{ @atom:11 @atom:11_b006_a006_d006_i006 } + replace{ @atom:12 @atom:12_b006_a006_d006_i006 } + replace{ @atom:13 @atom:13_b002_a002_d002_i002 } + replace{ @atom:14 @atom:14_b009_a009_d009_i009 } + replace{ @atom:15 @atom:15_b010_a010_d010_i010 } + replace{ @atom:16 @atom:16_b011_a011_d011_i011 } + replace{ @atom:17 @atom:17_b012_a012_d012_i012 } + replace{ @atom:18 @atom:18_b013_a013_d013_i013 } + replace{ @atom:19 @atom:19_b014_a014_d014_i014 } + replace{ @atom:20 @atom:20_b005_a005_d005_i005 } + replace{ @atom:21 @atom:21_b007_a007_d007_i007 } + replace{ @atom:22 @atom:22_b006_a006_d006_i006 } + replace{ @atom:23 @atom:23_b002_a002_d002_i002 } + replace{ @atom:24 @atom:24_b015_a015_d015_i015 } + replace{ @atom:25 @atom:25_b015_a015_d015_i015 } + replace{ @atom:26 @atom:26_b016_a016_d016_i016 } + replace{ @atom:27 @atom:27_b016_a016_d016_i016 } + replace{ @atom:28 @atom:28_b017_a017_d017_i017 } + replace{ @atom:29 @atom:29_b017_a017_d017_i017 } + replace{ @atom:30 @atom:30_b006_a006_d006_i006 } + replace{ @atom:31 @atom:31_b002_a002_d002_i002 } + replace{ @atom:32 @atom:32_b006_a006_d006_i006 } + replace{ @atom:33 @atom:33_b002_a002_d002_i002 } + replace{ @atom:34 @atom:34_b006_a006_d006_i006 } + replace{ @atom:35 @atom:35_b002_a002_d002_i002 } + replace{ @atom:36 @atom:36_b018_a018_d018_i018 } + replace{ @atom:37 @atom:37_b019_a019_d019_i019 } + replace{ @atom:38 @atom:38_b006_a006_d006_i006 } + replace{ @atom:39 @atom:39_b010_a010_d010_i010 } + replace{ @atom:40 @atom:40_b013_a013_d013_i013 } + replace{ @atom:41 @atom:41_b020_a020_d020_i020 } + replace{ @atom:42 @atom:42_b006_a006_d006_i006 } + replace{ @atom:43 @atom:43_b002_a002_d002_i002 } + replace{ @atom:44 @atom:44_b002_a002_d002_i002 } + replace{ @atom:45 @atom:45_b021_a021_d021_i021 } + replace{ @atom:46 @atom:46_b010_a010_d010_i010 } + replace{ @atom:47 @atom:47_b021_a021_d021_i021 } + replace{ @atom:48 @atom:48_b013_a013_d013_i013 } + replace{ @atom:49 @atom:49_b021_a021_d021_i021 } + replace{ @atom:50 @atom:50_b022_a022_d022_i022 } + replace{ @atom:51 @atom:51_b023_a023_d023_i023 } + replace{ @atom:52 @atom:52_b006_a006_d006_i006 } + replace{ @atom:53 @atom:53_b004_a004_d004_i004 } + replace{ @atom:54 @atom:54_b024_a024_d024_i024 } + replace{ @atom:55 @atom:55_b003_a003_d003_i003 } + replace{ @atom:56 @atom:56_b006_a006_d006_i006 } + replace{ @atom:57 @atom:57_b025_a025_d025_i025 } + replace{ @atom:58 @atom:58_b026_a026_d026_i026 } + replace{ @atom:59 @atom:59_b027_a027_d027_i027 } + replace{ @atom:60 @atom:60_b028_a028_d028_i028 } + replace{ @atom:61 @atom:61_b029_a029_d029_i029 } + replace{ @atom:62 @atom:62_b030_a030_d030_i030 } + replace{ @atom:63 @atom:63_b031_a031_d031_i031 } + replace{ @atom:64 @atom:64_b032_a032_d032_i032 } + replace{ @atom:65 @atom:65_b031_a031_d031_i031 } + replace{ @atom:66 @atom:66_b032_a032_d032_i032 } + replace{ @atom:67 @atom:67_b033_a033_d033_i033 } + replace{ @atom:68 @atom:68_b034_a034_d034_i034 } + replace{ @atom:69 @atom:69_b035_a035_d035_i035 } + replace{ @atom:70 @atom:70_b036_a036_d036_i036 } + replace{ @atom:71 @atom:71_b037_a037_d037_i037 } + replace{ @atom:72 @atom:72_b038_a038_d038_i038 } + replace{ @atom:73 @atom:73_b039_a039_d039_i039 } + replace{ @atom:74 @atom:74_b040_a040_d040_i040 } + replace{ @atom:75 @atom:75_b041_a041_d041_i041 } + replace{ @atom:76 @atom:76_b042_a042_d042_i042 } + replace{ @atom:77 @atom:77_b043_a043_d043_i043 } + replace{ @atom:78 @atom:78_b044_a044_d044_i044 } + replace{ @atom:79 @atom:79_b045_a045_d045_i045 } + replace{ @atom:80 @atom:80_b013_a013_d013_i013 } + replace{ @atom:81 @atom:81_b013_a013_d013_i013 } + replace{ @atom:82 @atom:82_b013_a013_d013_i013 } + replace{ @atom:83 @atom:83_b013_a013_d013_i013 } + replace{ @atom:84 @atom:84_b013_a013_d013_i013 } + replace{ @atom:85 @atom:85_b046_a046_d046_i046 } + replace{ @atom:86 @atom:86_b047_a047_d047_i047 } + replace{ @atom:87 @atom:87_b047_a047_d047_i047 } + replace{ @atom:88 @atom:88_b047_a047_d047_i047 } + replace{ @atom:89 @atom:89_b046_a046_d046_i046 } + replace{ @atom:90 @atom:90_b048_a048_d048_i048 } + replace{ @atom:91 @atom:91_b049_a049_d049_i049 } + replace{ @atom:92 @atom:92_b048_a048_d048_i048 } + replace{ @atom:93 @atom:93_b013_a013_d013_i013 } + replace{ @atom:94 @atom:94_b013_a013_d013_i013 } + replace{ @atom:95 @atom:95_b050_a050_d050_i050 } + replace{ @atom:96 @atom:96_b005_a005_d005_i005 } + replace{ @atom:97 @atom:97_b007_a007_d007_i007 } + replace{ @atom:98 @atom:98_b046_a046_d046_i046 } + replace{ @atom:99 @atom:99_b013_a013_d013_i013 } + replace{ @atom:100 @atom:100_b013_a013_d013_i013 } + replace{ @atom:101 @atom:101_b013_a013_d013_i013 } + replace{ @atom:102 @atom:102_b013_a013_d013_i013 } + replace{ @atom:103 @atom:103_b013_a013_d013_i013 } + replace{ @atom:104 @atom:104_b005_a005_d005_i005 } + replace{ @atom:105 @atom:105_b007_a007_d007_i007 } + replace{ @atom:106 @atom:106_b001_a001_d001_i001 } + replace{ @atom:107 @atom:107_b046_a046_d046_i046 } + replace{ @atom:108 @atom:108_b048_a048_d048_i048 } + replace{ @atom:109 @atom:109_b005_a005_d005_i005 } + replace{ @atom:110 @atom:110_b007_a007_d007_i007 } + replace{ @atom:111 @atom:111_b005_a005_d005_i005 } + replace{ @atom:112 @atom:112_b007_a007_d007_i007 } + replace{ @atom:113 @atom:113_b005_a005_d005_i005 } + replace{ @atom:114 @atom:114_b007_a007_d007_i007 } + replace{ @atom:115 @atom:115_b013_a013_d013_i013 } + replace{ @atom:116 @atom:116_b013_a013_d013_i013 } + replace{ @atom:117 @atom:117_b013_a013_d013_i013 } + replace{ @atom:118 @atom:118_b046_a046_d046_i046 } + replace{ @atom:119 @atom:119_b020_a020_d020_i020 } + replace{ @atom:120 @atom:120_b050_a050_d050_i050 } + replace{ @atom:121 @atom:121_b020_a020_d020_i020 } + replace{ @atom:122 @atom:122_b020_a020_d020_i020 } + replace{ @atom:123 @atom:123_b013_a013_d013_i013 } + replace{ @atom:124 @atom:124_b013_a013_d013_i013 } + replace{ @atom:125 @atom:125_b013_a013_d013_i013 } + replace{ @atom:126 @atom:126_b013_a013_d013_i013 } + replace{ @atom:127 @atom:127_b046_a046_d046_i046 } + replace{ @atom:128 @atom:128_b020_a020_d020_i020 } + replace{ @atom:129 @atom:129_b005_a005_d005_i005 } + replace{ @atom:130 @atom:130_b007_a007_d007_i007 } + replace{ @atom:131 @atom:131_b051_a051_d051_i051 } + replace{ @atom:132 @atom:132_b046_a046_d046_i046 } + replace{ @atom:133 @atom:133_b051_a051_d051_i051 } + replace{ @atom:134 @atom:134_b046_a046_d046_i046 } + replace{ @atom:135 @atom:135_b051_a051_d051_i051 } + replace{ @atom:136 @atom:136_b046_a046_d046_i046 } + replace{ @atom:137 @atom:137_b051_a051_d051_i051 } + replace{ @atom:138 @atom:138_b046_a046_d046_i046 } + replace{ @atom:139 @atom:139_b051_a051_d051_i051 } + replace{ @atom:140 @atom:140_b051_a051_d051_i051 } + replace{ @atom:141 @atom:141_b048_a048_d048_i048 } + replace{ @atom:142 @atom:142_b015_a015_d015_i015 } + replace{ @atom:143 @atom:143_b015_a015_d015_i015 } + replace{ @atom:144 @atom:144_b016_a016_d016_i016 } + replace{ @atom:145 @atom:145_b016_a016_d016_i016 } + replace{ @atom:146 @atom:146_b017_a017_d017_i017 } + replace{ @atom:147 @atom:147_b017_a017_d017_i017 } + replace{ @atom:148 @atom:148_b013_a013_d013_i013 } + replace{ @atom:149 @atom:149_b013_a013_d013_i013 } + replace{ @atom:150 @atom:150_b013_a013_d013_i013 } + replace{ @atom:151 @atom:151_b013_a013_d013_i013 } + replace{ @atom:152 @atom:152_b013_a013_d013_i013 } + replace{ @atom:153 @atom:153_b013_a013_d013_i013 } + replace{ @atom:154 @atom:154_b013_a013_d013_i013 } + replace{ @atom:155 @atom:155_b013_a013_d013_i013 } + replace{ @atom:156 @atom:156_b013_a013_d013_i013 } + replace{ @atom:157 @atom:157_b013_a013_d013_i013 } + replace{ @atom:158 @atom:158_b013_a013_d013_i013 } + replace{ @atom:159 @atom:159_b013_a013_d013_i013 } + replace{ @atom:160 @atom:160_b013_a013_d013_i013 } + replace{ @atom:161 @atom:161_b013_a013_d013_i013 } + replace{ @atom:162 @atom:162_b013_a013_d013_i013 } + replace{ @atom:163 @atom:163_b048_a048_d048_i048 } + replace{ @atom:164 @atom:164_b016_a016_d016_i016 } + replace{ @atom:165 @atom:165_b013_a013_d013_i013 } + replace{ @atom:166 @atom:166_b013_a013_d013_i013 } + replace{ @atom:167 @atom:167_b013_a013_d013_i013 } + replace{ @atom:168 @atom:168_b021_a021_d021_i021 } + replace{ @atom:169 @atom:169_b047_a047_d047_i047 } + replace{ @atom:170 @atom:170_b048_a048_d048_i048 } + replace{ @atom:171 @atom:171_b013_a013_d013_i013 } + replace{ @atom:172 @atom:172_b013_a013_d013_i013 } + replace{ @atom:173 @atom:173_b003_a003_d003_i003 } + replace{ @atom:174 @atom:174_b003_a003_d003_i003 } + replace{ @atom:175 @atom:175_b003_a003_d003_i003 } + replace{ @atom:176 @atom:176_b003_a003_d003_i003 } + replace{ @atom:177 @atom:177_b003_a003_d003_i003 } + replace{ @atom:178 @atom:178_b004_a004_d004_i004 } + replace{ @atom:179 @atom:179_b024_a024_d024_i024 } + replace{ @atom:180 @atom:180_b024_a024_d024_i024 } + replace{ @atom:181 @atom:181_b024_a024_d024_i024 } + replace{ @atom:182 @atom:182_b045_a045_d045_i045 } + replace{ @atom:183 @atom:183_b045_a045_d045_i045 } + replace{ @atom:184 @atom:184_b013_a013_d013_i013 } + replace{ @atom:185 @atom:185_b013_a013_d013_i013 } + replace{ @atom:186 @atom:186_b013_a013_d013_i013 } + replace{ @atom:187 @atom:187_b013_a013_d013_i013 } + replace{ @atom:188 @atom:188_b013_a013_d013_i013 } + replace{ @atom:189 @atom:189_b003_a003_d003_i003 } + replace{ @atom:190 @atom:190_b004_a004_d004_i004 } + replace{ @atom:191 @atom:191_b024_a024_d024_i024 } + replace{ @atom:192 @atom:192_b045_a045_d045_i045 } + replace{ @atom:193 @atom:193_b024_a024_d024_i024 } + replace{ @atom:194 @atom:194_b003_a003_d003_i003 } + replace{ @atom:195 @atom:195_b004_a004_d004_i004 } + replace{ @atom:196 @atom:196_b045_a045_d045_i045 } + replace{ @atom:197 @atom:197_b046_a046_d046_i046 } + replace{ @atom:198 @atom:198_b013_a013_d013_i013 } + replace{ @atom:199 @atom:199_b013_a013_d013_i013 } + replace{ @atom:200 @atom:200_b013_a013_d013_i013 } + replace{ @atom:201 @atom:201_b013_a013_d013_i013 } + replace{ @atom:202 @atom:202_b048_a048_d048_i048 } + replace{ @atom:203 @atom:203_b019_a019_d019_i019 } + replace{ @atom:204 @atom:204_b018_a018_d018_i018 } + replace{ @atom:205 @atom:205_b048_a048_d048_i048 } + replace{ @atom:206 @atom:206_b021_a021_d021_i021 } + replace{ @atom:207 @atom:207_b024_a024_d024_i024 } + replace{ @atom:208 @atom:208_b048_a048_d048_i048 } + replace{ @atom:209 @atom:209_b003_a003_d003_i003 } + replace{ @atom:210 @atom:210_b004_a004_d004_i004 } + replace{ @atom:211 @atom:211_b005_a005_d005_i005 } + replace{ @atom:212 @atom:212_b007_a007_d007_i007 } + replace{ @atom:213 @atom:213_b003_a003_d003_i003 } + replace{ @atom:214 @atom:214_b052_a052_d052_i052 } + replace{ @atom:215 @atom:215_b013_a013_d013_i013 } + replace{ @atom:216 @atom:216_b013_a013_d013_i013 } + replace{ @atom:217 @atom:217_b013_a013_d013_i013 } + replace{ @atom:218 @atom:218_b013_a013_d013_i013 } + replace{ @atom:219 @atom:219_b003_a003_d003_i003 } + replace{ @atom:220 @atom:220_b004_a004_d004_i004 } + replace{ @atom:221 @atom:221_b046_a046_d046_i046 } + replace{ @atom:222 @atom:222_b003_a003_d003_i003 } + replace{ @atom:223 @atom:223_b004_a004_d004_i004 } + replace{ @atom:224 @atom:224_b046_a046_d046_i046 } + replace{ @atom:225 @atom:225_b013_a013_d013_i013 } + replace{ @atom:226 @atom:226_b013_a013_d013_i013 } + replace{ @atom:227 @atom:227_b013_a013_d013_i013 } + replace{ @atom:228 @atom:228_b013_a013_d013_i013 } + replace{ @atom:229 @atom:229_b053_a053_d053_i053 } + replace{ @atom:230 @atom:230_b053_a053_d053_i053 } + replace{ @atom:231 @atom:231_b053_a053_d053_i053 } + replace{ @atom:232 @atom:232_b054_a054_d054_i054 } + replace{ @atom:233 @atom:233_b054_a054_d054_i054 } + replace{ @atom:234 @atom:234_b013_a013_d013_i013 } + replace{ @atom:235 @atom:235_b013_a013_d013_i013 } + replace{ @atom:236 @atom:236_b013_a013_d013_i013 } + replace{ @atom:237 @atom:237_b013_a013_d013_i013 } + replace{ @atom:238 @atom:238_b013_a013_d013_i013 } + replace{ @atom:239 @atom:239_b013_a013_d013_i013 } + replace{ @atom:240 @atom:240_b013_a013_d013_i013 } + replace{ @atom:241 @atom:241_b013_a013_d013_i013 } + replace{ @atom:242 @atom:242_b013_a013_d013_i013 } + replace{ @atom:243 @atom:243_b055_a055_d055_i055 } + replace{ @atom:244 @atom:244_b054_a054_d054_i054 } + replace{ @atom:245 @atom:245_b048_a048_d048_i048 } + replace{ @atom:246 @atom:246_b055_a055_d055_i055 } + replace{ @atom:247 @atom:247_b054_a054_d054_i054 } + replace{ @atom:248 @atom:248_b013_a013_d013_i013 } + replace{ @atom:249 @atom:249_b013_a013_d013_i013 } + replace{ @atom:250 @atom:250_b013_a013_d013_i013 } + replace{ @atom:251 @atom:251_b013_a013_d013_i013 } + replace{ @atom:252 @atom:252_b053_a053_d053_i053 } + replace{ @atom:253 @atom:253_b054_a054_d054_i054 } + replace{ @atom:254 @atom:254_b056_a056_d056_i056 } + replace{ @atom:255 @atom:255_b048_a048_d048_i048 } + replace{ @atom:256 @atom:256_b055_a055_d055_i055 } + replace{ @atom:257 @atom:257_b045_a045_d045_i045 } + replace{ @atom:258 @atom:258_b048_a048_d048_i048 } + replace{ @atom:259 @atom:259_b049_a049_d049_i049 } + replace{ @atom:260 @atom:260_b048_a048_d048_i048 } + replace{ @atom:261 @atom:261_b049_a049_d049_i049 } + replace{ @atom:262 @atom:262_b057_a057_d057_i057 } + replace{ @atom:263 @atom:263_b003_a003_d003_i003 } + replace{ @atom:264 @atom:264_b057_a057_d057_i057 } + replace{ @atom:265 @atom:265_b003_a003_d003_i003 } + replace{ @atom:266 @atom:266_b047_a047_d047_i047 } + replace{ @atom:267 @atom:267_b047_a047_d047_i047 } + replace{ @atom:268 @atom:268_b045_a045_d045_i045 } + replace{ @atom:269 @atom:269_b004_a004_d004_i004 } + replace{ @atom:270 @atom:270_b045_a045_d045_i045 } + replace{ @atom:271 @atom:271_b004_a004_d004_i004 } + replace{ @atom:272 @atom:272_b046_a046_d046_i046 } + replace{ @atom:273 @atom:273_b046_a046_d046_i046 } + replace{ @atom:274 @atom:274_b013_a013_d013_i013 } + replace{ @atom:275 @atom:275_b046_a046_d046_i046 } + replace{ @atom:276 @atom:276_b057_a057_d057_i057 } + replace{ @atom:277 @atom:277_b003_a003_d003_i003 } + replace{ @atom:278 @atom:278_b056_a056_d056_i056 } + replace{ @atom:279 @atom:279_b048_a048_d048_i048 } + replace{ @atom:280 @atom:280_b047_a047_d047_i047 } + replace{ @atom:281 @atom:281_b047_a047_d047_i047 } + replace{ @atom:282 @atom:282_b045_a045_d045_i045 } + replace{ @atom:283 @atom:283_b004_a004_d004_i004 } + replace{ @atom:284 @atom:284_b055_a055_d055_i055 } + replace{ @atom:285 @atom:285_b045_a045_d045_i045 } + replace{ @atom:286 @atom:286_b045_a045_d045_i045 } + replace{ @atom:287 @atom:287_b046_a046_d046_i046 } + replace{ @atom:288 @atom:288_b058_a058_d058_i058 } + replace{ @atom:289 @atom:289_b056_a056_d056_i056 } + replace{ @atom:290 @atom:290_b059_a059_d059_i059 } + replace{ @atom:291 @atom:291_b056_a056_d056_i056 } + replace{ @atom:292 @atom:292_b060_a060_d060_i060 } + replace{ @atom:293 @atom:293_b060_a060_d060_i060 } + replace{ @atom:294 @atom:294_b048_a048_d048_i048 } + replace{ @atom:295 @atom:295_b061_a061_d061_i061 } + replace{ @atom:296 @atom:296_b062_a062_d062_i062 } + replace{ @atom:297 @atom:297_b057_a057_d057_i057 } + replace{ @atom:298 @atom:298_b063_a063_d063_i063 } + replace{ @atom:299 @atom:299_b055_a055_d055_i055 } + replace{ @atom:300 @atom:300_b045_a045_d045_i045 } + replace{ @atom:301 @atom:301_b045_a045_d045_i045 } + replace{ @atom:302 @atom:302_b063_a063_d063_i063 } + replace{ @atom:303 @atom:303_b045_a045_d045_i045 } + replace{ @atom:304 @atom:304_b057_a057_d057_i057 } + replace{ @atom:305 @atom:305_b048_a048_d048_i048 } + replace{ @atom:306 @atom:306_b056_a056_d056_i056 } + replace{ @atom:307 @atom:307_b060_a060_d060_i060 } + replace{ @atom:308 @atom:308_b060_a060_d060_i060 } + replace{ @atom:309 @atom:309_b003_a003_d003_i003 } + replace{ @atom:310 @atom:310_b045_a045_d045_i045 } + replace{ @atom:311 @atom:311_b055_a055_d055_i055 } + replace{ @atom:312 @atom:312_b045_a045_d045_i045 } + replace{ @atom:313 @atom:313_b004_a004_d004_i004 } + replace{ @atom:314 @atom:314_b013_a013_d013_i013 } + replace{ @atom:315 @atom:315_b046_a046_d046_i046 } + replace{ @atom:316 @atom:316_b013_a013_d013_i013 } + replace{ @atom:317 @atom:317_b046_a046_d046_i046 } + replace{ @atom:318 @atom:318_b013_a013_d013_i013 } + replace{ @atom:319 @atom:319_b046_a046_d046_i046 } + replace{ @atom:320 @atom:320_b057_a057_d057_i057 } + replace{ @atom:321 @atom:321_b003_a003_d003_i003 } + replace{ @atom:322 @atom:322_b057_a057_d057_i057 } + replace{ @atom:323 @atom:323_b048_a048_d048_i048 } + replace{ @atom:324 @atom:324_b047_a047_d047_i047 } + replace{ @atom:325 @atom:325_b047_a047_d047_i047 } + replace{ @atom:326 @atom:326_b045_a045_d045_i045 } + replace{ @atom:327 @atom:327_b004_a004_d004_i004 } + replace{ @atom:328 @atom:328_b045_a045_d045_i045 } + replace{ @atom:329 @atom:329_b055_a055_d055_i055 } + replace{ @atom:330 @atom:330_b045_a045_d045_i045 } + replace{ @atom:331 @atom:331_b045_a045_d045_i045 } + replace{ @atom:332 @atom:332_b049_a049_d049_i049 } + replace{ @atom:333 @atom:333_b058_a058_d058_i058 } + replace{ @atom:334 @atom:334_b013_a013_d013_i013 } + replace{ @atom:335 @atom:335_b046_a046_d046_i046 } + replace{ @atom:336 @atom:336_b064_a064_d064_i064 } + replace{ @atom:337 @atom:337_b052_a052_d052_i052 } + replace{ @atom:338 @atom:338_b020_a020_d020_i020 } + replace{ @atom:339 @atom:339_b013_a013_d013_i013 } + replace{ @atom:340 @atom:340_b047_a047_d047_i047 } + replace{ @atom:341 @atom:341_b021_a021_d021_i021 } + replace{ @atom:342 @atom:342_b047_a047_d047_i047 } + replace{ @atom:343 @atom:343_b001_a001_d001_i001 } + replace{ @atom:344 @atom:344_b021_a021_d021_i021 } + replace{ @atom:345 @atom:345_b065_a065_d065_i065 } + replace{ @atom:346 @atom:346_b066_a066_d066_i066 } + replace{ @atom:347 @atom:347_b067_a067_d067_i067 } + replace{ @atom:348 @atom:348_b068_a068_d068_i068 } + replace{ @atom:349 @atom:349_b069_a069_d069_i069 } + replace{ @atom:350 @atom:350_b070_a070_d070_i070 } + replace{ @atom:351 @atom:351_b071_a071_d071_i071 } + replace{ @atom:352 @atom:352_b072_a072_d072_i072 } + replace{ @atom:353 @atom:353_b073_a073_d073_i073 } + replace{ @atom:354 @atom:354_b074_a074_d074_i074 } + replace{ @atom:355 @atom:355_b075_a075_d075_i075 } + replace{ @atom:356 @atom:356_b076_a076_d076_i076 } + replace{ @atom:357 @atom:357_b006_a006_d006_i006 } + replace{ @atom:358 @atom:358_b046_a046_d046_i046 } + replace{ @atom:359 @atom:359_b015_a015_d015_i015 } + replace{ @atom:360 @atom:360_b006_a006_d006_i006 } + replace{ @atom:361 @atom:361_b046_a046_d046_i046 } + replace{ @atom:362 @atom:362_b005_a005_d005_i005 } + replace{ @atom:363 @atom:363_b013_a013_d013_i013 } + replace{ @atom:364 @atom:364_b046_a046_d046_i046 } + replace{ @atom:365 @atom:365_b019_a019_d019_i019 } + replace{ @atom:366 @atom:366_b018_a018_d018_i018 } + replace{ @atom:367 @atom:367_b006_a006_d006_i006 } + replace{ @atom:368 @atom:368_b046_a046_d046_i046 } + replace{ @atom:369 @atom:369_b053_a053_d053_i053 } + replace{ @atom:370 @atom:370_b045_a045_d045_i045 } + replace{ @atom:371 @atom:371_b006_a006_d006_i006 } + replace{ @atom:372 @atom:372_b046_a046_d046_i046 } + replace{ @atom:373 @atom:373_b013_a013_d013_i013 } + replace{ @atom:374 @atom:374_b046_a046_d046_i046 } + replace{ @atom:375 @atom:375_b033_a033_d033_i033 } + replace{ @atom:376 @atom:376_b005_a005_d005_i005 } + replace{ @atom:377 @atom:377_b007_a007_d007_i007 } + replace{ @atom:378 @atom:378_b077_a077_d077_i077 } + replace{ @atom:379 @atom:379_b078_a078_d078_i078 } + replace{ @atom:380 @atom:380_b020_a020_d020_i020 } + replace{ @atom:381 @atom:381_b064_a064_d064_i064 } + replace{ @atom:382 @atom:382_b052_a052_d052_i052 } + replace{ @atom:383 @atom:383_b020_a020_d020_i020 } + replace{ @atom:384 @atom:384_b013_a013_d013_i013 } + replace{ @atom:385 @atom:385_b046_a046_d046_i046 } + replace{ @atom:386 @atom:386_b064_a064_d064_i064 } + replace{ @atom:387 @atom:387_b052_a052_d052_i052 } + replace{ @atom:388 @atom:388_b020_a020_d020_i020 } + replace{ @atom:389 @atom:389_b013_a013_d013_i013 } + replace{ @atom:390 @atom:390_b046_a046_d046_i046 } + replace{ @atom:391 @atom:391_b064_a064_d064_i064 } + replace{ @atom:392 @atom:392_b052_a052_d052_i052 } + replace{ @atom:393 @atom:393_b020_a020_d020_i020 } + replace{ @atom:394 @atom:394_b013_a013_d013_i013 } + replace{ @atom:395 @atom:395_b046_a046_d046_i046 } + replace{ @atom:396 @atom:396_b013_a013_d013_i013 } + replace{ @atom:397 @atom:397_b046_a046_d046_i046 } + replace{ @atom:398 @atom:398_b048_a048_d048_i048 } + replace{ @atom:399 @atom:399_b013_a013_d013_i013 } + replace{ @atom:400 @atom:400_b046_a046_d046_i046 } + replace{ @atom:401 @atom:401_b048_a048_d048_i048 } + replace{ @atom:402 @atom:402_b013_a013_d013_i013 } + replace{ @atom:403 @atom:403_b046_a046_d046_i046 } + replace{ @atom:404 @atom:404_b048_a048_d048_i048 } + replace{ @atom:405 @atom:405_b013_a013_d013_i013 } + replace{ @atom:406 @atom:406_b003_a003_d003_i003 } + replace{ @atom:407 @atom:407_b004_a004_d004_i004 } + replace{ @atom:408 @atom:408_b020_a020_d020_i020 } + replace{ @atom:409 @atom:409_b013_a013_d013_i013 } + replace{ @atom:410 @atom:410_b046_a046_d046_i046 } + replace{ @atom:411 @atom:411_b003_a003_d003_i003 } + replace{ @atom:412 @atom:412_b003_a003_d003_i003 } + replace{ @atom:413 @atom:413_b048_a048_d048_i048 } + replace{ @atom:414 @atom:414_b020_a020_d020_i020 } + replace{ @atom:415 @atom:415_b079_a079_d079_i079 } + replace{ @atom:416 @atom:416_b023_a023_d023_i023 } + replace{ @atom:417 @atom:417_b013_a013_d013_i013 } + replace{ @atom:418 @atom:418_b046_a046_d046_i046 } + replace{ @atom:419 @atom:419_b024_a024_d024_i024 } + replace{ @atom:420 @atom:420_b045_a045_d045_i045 } + replace{ @atom:421 @atom:421_b024_a024_d024_i024 } + replace{ @atom:422 @atom:422_b045_a045_d045_i045 } + replace{ @atom:423 @atom:423_b013_a013_d013_i013 } + replace{ @atom:424 @atom:424_b046_a046_d046_i046 } + replace{ @atom:425 @atom:425_b013_a013_d013_i013 } + replace{ @atom:426 @atom:426_b046_a046_d046_i046 } + replace{ @atom:427 @atom:427_b013_a013_d013_i013 } + replace{ @atom:428 @atom:428_b046_a046_d046_i046 } + replace{ @atom:429 @atom:429_b048_a048_d048_i048 } + replace{ @atom:430 @atom:430_b048_a048_d048_i048 } + replace{ @atom:431 @atom:431_b013_a013_d013_i013 } + replace{ @atom:432 @atom:432_b013_a013_d013_i013 } + replace{ @atom:433 @atom:433_b013_a013_d013_i013 } + replace{ @atom:434 @atom:434_b079_a079_d079_i079 } + replace{ @atom:435 @atom:435_b023_a023_d023_i023 } + replace{ @atom:436 @atom:436_b022_a022_d022_i022 } + replace{ @atom:437 @atom:437_b022_a022_d022_i022 } + replace{ @atom:438 @atom:438_b023_a023_d023_i023 } + replace{ @atom:439 @atom:439_b013_a013_d013_i013 } + replace{ @atom:440 @atom:440_b013_a013_d013_i013 } + replace{ @atom:441 @atom:441_b080_a080_d080_i080 } + replace{ @atom:442 @atom:442_b060_a060_d060_i060 } + replace{ @atom:443 @atom:443_b081_a081_d081_i081 } + replace{ @atom:444 @atom:444_b057_a057_d057_i057 } + replace{ @atom:445 @atom:445_b045_a045_d045_i045 } + replace{ @atom:446 @atom:446_b013_a013_d013_i013 } + replace{ @atom:447 @atom:447_b082_a082_d082_i082 } + replace{ @atom:448 @atom:448_b083_a083_d083_i083 } + replace{ @atom:449 @atom:449_b084_a084_d084_i084 } + replace{ @atom:450 @atom:450_b082_a082_d082_i082 } + replace{ @atom:451 @atom:451_b085_a085_d085_i085 } + replace{ @atom:452 @atom:452_b061_a061_d061_i061 } + replace{ @atom:453 @atom:453_b057_a057_d057_i057 } + replace{ @atom:454 @atom:454_b045_a045_d045_i045 } + replace{ @atom:455 @atom:455_b084_a084_d084_i084 } + replace{ @atom:456 @atom:456_b013_a013_d013_i013 } + replace{ @atom:457 @atom:457_b013_a013_d013_i013 } + replace{ @atom:458 @atom:458_b047_a047_d047_i047 } + replace{ @atom:459 @atom:459_b047_a047_d047_i047 } + replace{ @atom:460 @atom:460_b086_a086_d086_i086 } + replace{ @atom:461 @atom:461_b056_a056_d056_i056 } + replace{ @atom:462 @atom:462_b048_a048_d048_i048 } + replace{ @atom:463 @atom:463_b048_a048_d048_i048 } + replace{ @atom:464 @atom:464_b048_a048_d048_i048 } + replace{ @atom:465 @atom:465_b049_a049_d049_i049 } + replace{ @atom:466 @atom:466_b049_a049_d049_i049 } + replace{ @atom:467 @atom:467_b049_a049_d049_i049 } + replace{ @atom:468 @atom:468_b056_a056_d056_i056 } + replace{ @atom:469 @atom:469_b048_a048_d048_i048 } + replace{ @atom:470 @atom:470_b049_a049_d049_i049 } + replace{ @atom:471 @atom:471_b056_a056_d056_i056 } + replace{ @atom:472 @atom:472_b059_a059_d059_i059 } + replace{ @atom:473 @atom:473_b048_a048_d048_i048 } + replace{ @atom:474 @atom:474_b048_a048_d048_i048 } + replace{ @atom:475 @atom:475_b049_a049_d049_i049 } + replace{ @atom:476 @atom:476_b049_a049_d049_i049 } + replace{ @atom:477 @atom:477_b049_a049_d049_i049 } + replace{ @atom:478 @atom:478_b056_a056_d056_i056 } + replace{ @atom:479 @atom:479_b048_a048_d048_i048 } + replace{ @atom:480 @atom:480_b048_a048_d048_i048 } + replace{ @atom:481 @atom:481_b049_a049_d049_i049 } + replace{ @atom:482 @atom:482_b049_a049_d049_i049 } + replace{ @atom:483 @atom:483_b057_a057_d057_i057 } + replace{ @atom:484 @atom:484_b084_a084_d084_i084 } + replace{ @atom:485 @atom:485_b087_a087_d087_i087 } + replace{ @atom:486 @atom:486_b045_a045_d045_i045 } + replace{ @atom:487 @atom:487_b049_a049_d049_i049 } + replace{ @atom:488 @atom:488_b049_a049_d049_i049 } + replace{ @atom:489 @atom:489_b057_a057_d057_i057 } + replace{ @atom:490 @atom:490_b061_a061_d061_i061 } + replace{ @atom:491 @atom:491_b088_a088_d088_i088 } + replace{ @atom:492 @atom:492_b087_a087_d087_i087 } + replace{ @atom:493 @atom:493_b084_a084_d084_i084 } + replace{ @atom:494 @atom:494_b045_a045_d045_i045 } + replace{ @atom:495 @atom:495_b049_a049_d049_i049 } + replace{ @atom:496 @atom:496_b049_a049_d049_i049 } + replace{ @atom:497 @atom:497_b049_a049_d049_i049 } + replace{ @atom:498 @atom:498_b057_a057_d057_i057 } + replace{ @atom:499 @atom:499_b082_a082_d082_i082 } + replace{ @atom:500 @atom:500_b061_a061_d061_i061 } + replace{ @atom:501 @atom:501_b083_a083_d083_i083 } + replace{ @atom:502 @atom:502_b084_a084_d084_i084 } + replace{ @atom:503 @atom:503_b045_a045_d045_i045 } + replace{ @atom:504 @atom:504_b049_a049_d049_i049 } + replace{ @atom:505 @atom:505_b049_a049_d049_i049 } + replace{ @atom:506 @atom:506_b049_a049_d049_i049 } + replace{ @atom:507 @atom:507_b020_a020_d020_i020 } + replace{ @atom:508 @atom:508_b084_a084_d084_i084 } + replace{ @atom:509 @atom:509_b087_a087_d087_i087 } + replace{ @atom:510 @atom:510_b049_a049_d049_i049 } + replace{ @atom:511 @atom:511_b049_a049_d049_i049 } + replace{ @atom:512 @atom:512_b020_a020_d020_i020 } + replace{ @atom:513 @atom:513_b082_a082_d082_i082 } + replace{ @atom:514 @atom:514_b061_a061_d061_i061 } + replace{ @atom:515 @atom:515_b083_a083_d083_i083 } + replace{ @atom:516 @atom:516_b084_a084_d084_i084 } + replace{ @atom:517 @atom:517_b049_a049_d049_i049 } + replace{ @atom:518 @atom:518_b049_a049_d049_i049 } + replace{ @atom:519 @atom:519_b049_a049_d049_i049 } + replace{ @atom:520 @atom:520_b020_a020_d020_i020 } + replace{ @atom:521 @atom:521_b061_a061_d061_i061 } + replace{ @atom:522 @atom:522_b088_a088_d088_i088 } + replace{ @atom:523 @atom:523_b087_a087_d087_i087 } + replace{ @atom:524 @atom:524_b084_a084_d084_i084 } + replace{ @atom:525 @atom:525_b049_a049_d049_i049 } + replace{ @atom:526 @atom:526_b049_a049_d049_i049 } + replace{ @atom:527 @atom:527_b049_a049_d049_i049 } + replace{ @atom:528 @atom:528_b057_a057_d057_i057 } + replace{ @atom:529 @atom:529_b084_a084_d084_i084 } + replace{ @atom:530 @atom:530_b087_a087_d087_i087 } + replace{ @atom:531 @atom:531_b048_a048_d048_i048 } + replace{ @atom:532 @atom:532_b048_a048_d048_i048 } + replace{ @atom:533 @atom:533_b048_a048_d048_i048 } + replace{ @atom:534 @atom:534_b048_a048_d048_i048 } + replace{ @atom:535 @atom:535_b081_a081_d081_i081 } + replace{ @atom:536 @atom:536_b060_a060_d060_i060 } + replace{ @atom:537 @atom:537_b045_a045_d045_i045 } + replace{ @atom:538 @atom:538_b049_a049_d049_i049 } + replace{ @atom:539 @atom:539_b049_a049_d049_i049 } + replace{ @atom:540 @atom:540_b049_a049_d049_i049 } + replace{ @atom:541 @atom:541_b049_a049_d049_i049 } + replace{ @atom:542 @atom:542_b049_a049_d049_i049 } + replace{ @atom:543 @atom:543_b049_a049_d049_i049 } + replace{ @atom:544 @atom:544_b056_a056_d056_i056 } + replace{ @atom:545 @atom:545_b048_a048_d048_i048 } + replace{ @atom:546 @atom:546_b048_a048_d048_i048 } + replace{ @atom:547 @atom:547_b048_a048_d048_i048 } + replace{ @atom:548 @atom:548_b048_a048_d048_i048 } + replace{ @atom:549 @atom:549_b048_a048_d048_i048 } + replace{ @atom:550 @atom:550_b048_a048_d048_i048 } + replace{ @atom:551 @atom:551_b048_a048_d048_i048 } + replace{ @atom:552 @atom:552_b048_a048_d048_i048 } + replace{ @atom:553 @atom:553_b048_a048_d048_i048 } + replace{ @atom:554 @atom:554_b049_a049_d049_i049 } + replace{ @atom:555 @atom:555_b049_a049_d049_i049 } + replace{ @atom:556 @atom:556_b049_a049_d049_i049 } + replace{ @atom:557 @atom:557_b049_a049_d049_i049 } + replace{ @atom:558 @atom:558_b049_a049_d049_i049 } + replace{ @atom:559 @atom:559_b049_a049_d049_i049 } + replace{ @atom:560 @atom:560_b049_a049_d049_i049 } + replace{ @atom:561 @atom:561_b056_a056_d056_i056 } + replace{ @atom:562 @atom:562_b059_a059_d059_i059 } + replace{ @atom:563 @atom:563_b056_a056_d056_i056 } + replace{ @atom:564 @atom:564_b060_a060_d060_i060 } + replace{ @atom:565 @atom:565_b060_a060_d060_i060 } + replace{ @atom:566 @atom:566_b048_a048_d048_i048 } + replace{ @atom:567 @atom:567_b061_a061_d061_i061 } + replace{ @atom:568 @atom:568_b062_a062_d062_i062 } + replace{ @atom:569 @atom:569_b057_a057_d057_i057 } + replace{ @atom:570 @atom:570_b049_a049_d049_i049 } + replace{ @atom:571 @atom:571_b049_a049_d049_i049 } + replace{ @atom:572 @atom:572_b049_a049_d049_i049 } + replace{ @atom:573 @atom:573_b045_a045_d045_i045 } + replace{ @atom:574 @atom:574_b016_a016_d016_i016 } + replace{ @atom:575 @atom:575_b082_a082_d082_i082 } + replace{ @atom:576 @atom:576_b061_a061_d061_i061 } + replace{ @atom:577 @atom:577_b083_a083_d083_i083 } + replace{ @atom:578 @atom:578_b084_a084_d084_i084 } + replace{ @atom:579 @atom:579_b049_a049_d049_i049 } + replace{ @atom:580 @atom:580_b049_a049_d049_i049 } + replace{ @atom:581 @atom:581_b049_a049_d049_i049 } + replace{ @atom:582 @atom:582_b056_a056_d056_i056 } + replace{ @atom:583 @atom:583_b059_a059_d059_i059 } + replace{ @atom:584 @atom:584_b049_a049_d049_i049 } + replace{ @atom:585 @atom:585_b048_a048_d048_i048 } + replace{ @atom:586 @atom:586_b013_a013_d013_i013 } + replace{ @atom:587 @atom:587_b056_a056_d056_i056 } + replace{ @atom:588 @atom:588_b048_a048_d048_i048 } + replace{ @atom:589 @atom:589_b048_a048_d048_i048 } + replace{ @atom:590 @atom:590_b048_a048_d048_i048 } + replace{ @atom:591 @atom:591_b048_a048_d048_i048 } + replace{ @atom:592 @atom:592_b048_a048_d048_i048 } + replace{ @atom:593 @atom:593_b048_a048_d048_i048 } + replace{ @atom:594 @atom:594_b049_a049_d049_i049 } + replace{ @atom:595 @atom:595_b049_a049_d049_i049 } + replace{ @atom:596 @atom:596_b049_a049_d049_i049 } + replace{ @atom:597 @atom:597_b049_a049_d049_i049 } + replace{ @atom:598 @atom:598_b057_a057_d057_i057 } + replace{ @atom:599 @atom:599_b082_a082_d082_i082 } + replace{ @atom:600 @atom:600_b061_a061_d061_i061 } + replace{ @atom:601 @atom:601_b083_a083_d083_i083 } + replace{ @atom:602 @atom:602_b084_a084_d084_i084 } + replace{ @atom:603 @atom:603_b013_a013_d013_i013 } + replace{ @atom:604 @atom:604_b049_a049_d049_i049 } + replace{ @atom:605 @atom:605_b049_a049_d049_i049 } + replace{ @atom:606 @atom:606_b049_a049_d049_i049 } + replace{ @atom:607 @atom:607_b046_a046_d046_i046 } + replace{ @atom:608 @atom:608_b013_a013_d013_i013 } + replace{ @atom:609 @atom:609_b013_a013_d013_i013 } + replace{ @atom:610 @atom:610_b013_a013_d013_i013 } + replace{ @atom:611 @atom:611_b013_a013_d013_i013 } + replace{ @atom:612 @atom:612_b013_a013_d013_i013 } + replace{ @atom:613 @atom:613_b013_a013_d013_i013 } + replace{ @atom:614 @atom:614_b013_a013_d013_i013 } + replace{ @atom:615 @atom:615_b013_a013_d013_i013 } + replace{ @atom:616 @atom:616_b013_a013_d013_i013 } + replace{ @atom:617 @atom:617_b013_a013_d013_i013 } + replace{ @atom:618 @atom:618_b013_a013_d013_i013 } + replace{ @atom:619 @atom:619_b013_a013_d013_i013 } + replace{ @atom:620 @atom:620_b013_a013_d013_i013 } + replace{ @atom:621 @atom:621_b013_a013_d013_i013 } + replace{ @atom:622 @atom:622_b013_a013_d013_i013 } + replace{ @atom:623 @atom:623_b015_a015_d015_i015 } + replace{ @atom:624 @atom:624_b017_a017_d017_i017 } + replace{ @atom:625 @atom:625_b048_a048_d048_i048 } + replace{ @atom:626 @atom:626_b089_a089_d089_i089 } + replace{ @atom:627 @atom:627_b090_a090_d090_i090 } + replace{ @atom:628 @atom:628_b091_a091_d091_i091 } + replace{ @atom:629 @atom:629_b091_a091_d091_i091 } + replace{ @atom:630 @atom:630_b013_a013_d013_i013 } + replace{ @atom:631 @atom:631_b086_a086_d086_i086 } + replace{ @atom:632 @atom:632_b086_a086_d086_i086 } + replace{ @atom:633 @atom:633_b086_a086_d086_i086 } + replace{ @atom:634 @atom:634_b086_a086_d086_i086 } + replace{ @atom:635 @atom:635_b086_a086_d086_i086 } + replace{ @atom:636 @atom:636_b086_a086_d086_i086 } + replace{ @atom:637 @atom:637_b016_a016_d016_i016 } + replace{ @atom:638 @atom:638_b092_a092_d092_i092 } + replace{ @atom:639 @atom:639_b093_a093_d093_i093 } + replace{ @atom:640 @atom:640_b094_a094_d094_i094 } + replace{ @atom:641 @atom:641_b095_a095_d095_i095 } + replace{ @atom:642 @atom:642_b013_a013_d013_i013 } + replace{ @atom:643 @atom:643_b046_a046_d046_i046 } + replace{ @atom:644 @atom:644_b096_a096_d096_i096 } + replace{ @atom:645 @atom:645_b097_a097_d097_i097 } + replace{ @atom:646 @atom:646_b098_a098_d098_i098 } + replace{ @atom:647 @atom:647_b099_a099_d099_i099 } replace{ @atom:648 @atom:648_b100_a100_d100_i100 } - replace{ @atom:649 @atom:649_b47_a47_d47_i47 } - replace{ @atom:650 @atom:650_b21_a21_d21_i21 } - replace{ @atom:651 @atom:651_b46_a46_d46_i46 } - replace{ @atom:652 @atom:652_b91_a91_d91_i91 } - replace{ @atom:653 @atom:653_b91_a91_d91_i91 } - replace{ @atom:654 @atom:654_b91_a91_d91_i91 } - replace{ @atom:655 @atom:655_b48_a48_d48_i48 } - replace{ @atom:656 @atom:656_b49_a49_d49_i49 } - replace{ @atom:657 @atom:657_b48_a48_d48_i48 } - replace{ @atom:658 @atom:658_b49_a49_d49_i49 } - replace{ @atom:659 @atom:659_b48_a48_d48_i48 } - replace{ @atom:660 @atom:660_b1_a1_d1_i1 } - replace{ @atom:661 @atom:661_b48_a48_d48_i48 } - replace{ @atom:662 @atom:662_b1_a1_d1_i1 } - replace{ @atom:663 @atom:663_b65_a65_d65_i65 } - replace{ @atom:664 @atom:664_b2_a2_d2_i2 } - replace{ @atom:665 @atom:665_b48_a48_d48_i48 } - replace{ @atom:666 @atom:666_b13_a13_d13_i13 } - replace{ @atom:667 @atom:667_b1_a1_d1_i1 } - replace{ @atom:668 @atom:668_b48_a48_d48_i48 } - replace{ @atom:669 @atom:669_b1_a1_d1_i1 } - replace{ @atom:670 @atom:670_b48_a48_d48_i48 } - replace{ @atom:671 @atom:671_b65_a65_d65_i65 } - replace{ @atom:672 @atom:672_b48_a48_d48_i48 } - replace{ @atom:673 @atom:673_b66_a66_d66_i66 } - replace{ @atom:674 @atom:674_b91_a91_d91_i91 } - replace{ @atom:675 @atom:675_b15_a15_d15_i15 } - replace{ @atom:676 @atom:676_b48_a48_d48_i48 } - replace{ @atom:677 @atom:677_b48_a48_d48_i48 } - replace{ @atom:678 @atom:678_b48_a48_d48_i48 } - replace{ @atom:679 @atom:679_b48_a48_d48_i48 } - replace{ @atom:680 @atom:680_b48_a48_d48_i48 } - replace{ @atom:681 @atom:681_b49_a49_d49_i49 } - replace{ @atom:682 @atom:682_b49_a49_d49_i49 } - replace{ @atom:683 @atom:683_b48_a48_d48_i48 } - replace{ @atom:684 @atom:684_b55_a55_d55_i55 } - replace{ @atom:685 @atom:685_b45_a45_d45_i45 } - replace{ @atom:686 @atom:686_b45_a45_d45_i45 } - replace{ @atom:687 @atom:687_b49_a49_d49_i49 } - replace{ @atom:688 @atom:688_b13_a13_d13_i13 } - replace{ @atom:689 @atom:689_b13_a13_d13_i13 } + replace{ @atom:649 @atom:649_b047_a047_d047_i047 } + replace{ @atom:650 @atom:650_b021_a021_d021_i021 } + replace{ @atom:651 @atom:651_b046_a046_d046_i046 } + replace{ @atom:652 @atom:652_b091_a091_d091_i091 } + replace{ @atom:653 @atom:653_b091_a091_d091_i091 } + replace{ @atom:654 @atom:654_b091_a091_d091_i091 } + replace{ @atom:655 @atom:655_b048_a048_d048_i048 } + replace{ @atom:656 @atom:656_b049_a049_d049_i049 } + replace{ @atom:657 @atom:657_b048_a048_d048_i048 } + replace{ @atom:658 @atom:658_b049_a049_d049_i049 } + replace{ @atom:659 @atom:659_b048_a048_d048_i048 } + replace{ @atom:660 @atom:660_b001_a001_d001_i001 } + replace{ @atom:661 @atom:661_b048_a048_d048_i048 } + replace{ @atom:662 @atom:662_b001_a001_d001_i001 } + replace{ @atom:663 @atom:663_b065_a065_d065_i065 } + replace{ @atom:664 @atom:664_b002_a002_d002_i002 } + replace{ @atom:665 @atom:665_b048_a048_d048_i048 } + replace{ @atom:666 @atom:666_b013_a013_d013_i013 } + replace{ @atom:667 @atom:667_b001_a001_d001_i001 } + replace{ @atom:668 @atom:668_b048_a048_d048_i048 } + replace{ @atom:669 @atom:669_b001_a001_d001_i001 } + replace{ @atom:670 @atom:670_b048_a048_d048_i048 } + replace{ @atom:671 @atom:671_b065_a065_d065_i065 } + replace{ @atom:672 @atom:672_b048_a048_d048_i048 } + replace{ @atom:673 @atom:673_b066_a066_d066_i066 } + replace{ @atom:674 @atom:674_b091_a091_d091_i091 } + replace{ @atom:675 @atom:675_b015_a015_d015_i015 } + replace{ @atom:676 @atom:676_b048_a048_d048_i048 } + replace{ @atom:677 @atom:677_b048_a048_d048_i048 } + replace{ @atom:678 @atom:678_b048_a048_d048_i048 } + replace{ @atom:679 @atom:679_b048_a048_d048_i048 } + replace{ @atom:680 @atom:680_b048_a048_d048_i048 } + replace{ @atom:681 @atom:681_b049_a049_d049_i049 } + replace{ @atom:682 @atom:682_b049_a049_d049_i049 } + replace{ @atom:683 @atom:683_b048_a048_d048_i048 } + replace{ @atom:684 @atom:684_b055_a055_d055_i055 } + replace{ @atom:685 @atom:685_b045_a045_d045_i045 } + replace{ @atom:686 @atom:686_b045_a045_d045_i045 } + replace{ @atom:687 @atom:687_b049_a049_d049_i049 } + replace{ @atom:688 @atom:688_b013_a013_d013_i013 } + replace{ @atom:689 @atom:689_b013_a013_d013_i013 } replace{ @atom:690 @atom:690_b101_a101_d101_i101 } - replace{ @atom:691 @atom:691_b56_a56_d56_i56 } + replace{ @atom:691 @atom:691_b056_a056_d056_i056 } replace{ @atom:692 @atom:692_b101_a101_d101_i101 } - replace{ @atom:693 @atom:693_b48_a48_d48_i48 } - replace{ @atom:694 @atom:694_b18_a18_d18_i18 } - replace{ @atom:695 @atom:695_b19_a19_d19_i19 } - replace{ @atom:696 @atom:696_b13_a13_d13_i13 } - replace{ @atom:697 @atom:697_b13_a13_d13_i13 } - replace{ @atom:698 @atom:698_b13_a13_d13_i13 } - replace{ @atom:699 @atom:699_b13_a13_d13_i13 } - replace{ @atom:700 @atom:700_b46_a46_d46_i46 } + replace{ @atom:693 @atom:693_b048_a048_d048_i048 } + replace{ @atom:694 @atom:694_b018_a018_d018_i018 } + replace{ @atom:695 @atom:695_b019_a019_d019_i019 } + replace{ @atom:696 @atom:696_b013_a013_d013_i013 } + replace{ @atom:697 @atom:697_b013_a013_d013_i013 } + replace{ @atom:698 @atom:698_b013_a013_d013_i013 } + replace{ @atom:699 @atom:699_b013_a013_d013_i013 } + replace{ @atom:700 @atom:700_b046_a046_d046_i046 } replace{ @atom:701 @atom:701_b102_a102_d102_i102 } replace{ @atom:702 @atom:702_b103_a103_d103_i103 } - replace{ @atom:703 @atom:703_b13_a13_d13_i13 } - replace{ @atom:704 @atom:704_b46_a46_d46_i46 } - replace{ @atom:705 @atom:705_b13_a13_d13_i13 } - replace{ @atom:706 @atom:706_b13_a13_d13_i13 } - replace{ @atom:707 @atom:707_b13_a13_d13_i13 } + replace{ @atom:703 @atom:703_b013_a013_d013_i013 } + replace{ @atom:704 @atom:704_b046_a046_d046_i046 } + replace{ @atom:705 @atom:705_b013_a013_d013_i013 } + replace{ @atom:706 @atom:706_b013_a013_d013_i013 } + replace{ @atom:707 @atom:707_b013_a013_d013_i013 } replace{ @atom:708 @atom:708_b102_a102_d102_i102 } - replace{ @atom:709 @atom:709_b48_a48_d48_i48 } - replace{ @atom:710 @atom:710_b13_a13_d13_i13 } - replace{ @atom:711 @atom:711_b56_a56_d56_i56 } - replace{ @atom:712 @atom:712_b4_a4_d4_i4 } - replace{ @atom:713 @atom:713_b3_a3_d3_i3 } - replace{ @atom:714 @atom:714_b20_a20_d20_i20 } - replace{ @atom:715 @atom:715_b13_a13_d13_i13 } - replace{ @atom:716 @atom:716_b13_a13_d13_i13 } - replace{ @atom:717 @atom:717_b13_a13_d13_i13 } - replace{ @atom:718 @atom:718_b46_a46_d46_i46 } - replace{ @atom:719 @atom:719_b46_a46_d46_i46 } - replace{ @atom:720 @atom:720_b46_a46_d46_i46 } - replace{ @atom:721 @atom:721_b20_a20_d20_i20 } + replace{ @atom:709 @atom:709_b048_a048_d048_i048 } + replace{ @atom:710 @atom:710_b013_a013_d013_i013 } + replace{ @atom:711 @atom:711_b056_a056_d056_i056 } + replace{ @atom:712 @atom:712_b004_a004_d004_i004 } + replace{ @atom:713 @atom:713_b003_a003_d003_i003 } + replace{ @atom:714 @atom:714_b020_a020_d020_i020 } + replace{ @atom:715 @atom:715_b013_a013_d013_i013 } + replace{ @atom:716 @atom:716_b013_a013_d013_i013 } + replace{ @atom:717 @atom:717_b013_a013_d013_i013 } + replace{ @atom:718 @atom:718_b046_a046_d046_i046 } + replace{ @atom:719 @atom:719_b046_a046_d046_i046 } + replace{ @atom:720 @atom:720_b046_a046_d046_i046 } + replace{ @atom:721 @atom:721_b020_a020_d020_i020 } replace{ @atom:722 @atom:722_b104_a104_d104_i104 } - replace{ @atom:723 @atom:723_b13_a13_d13_i13 } - replace{ @atom:724 @atom:724_b13_a13_d13_i13 } - replace{ @atom:725 @atom:725_b46_a46_d46_i46 } - replace{ @atom:726 @atom:726_b64_a64_d64_i64 } - replace{ @atom:727 @atom:727_b1_a1_d1_i1 } - replace{ @atom:728 @atom:728_b24_a24_d24_i24 } - replace{ @atom:729 @atom:729_b4_a4_d4_i4 } - replace{ @atom:730 @atom:730_b44_a44_d44_i44 } - replace{ @atom:731 @atom:731_b44_a44_d44_i44 } - replace{ @atom:732 @atom:732_b44_a44_d44_i44 } - replace{ @atom:733 @atom:733_b13_a13_d13_i13 } - replace{ @atom:734 @atom:734_b13_a13_d13_i13 } - replace{ @atom:735 @atom:735_b13_a13_d13_i13 } - replace{ @atom:736 @atom:736_b13_a13_d13_i13 } - replace{ @atom:737 @atom:737_b13_a13_d13_i13 } - replace{ @atom:738 @atom:738_b13_a13_d13_i13 } - replace{ @atom:739 @atom:739_b45_a45_d45_i45 } - replace{ @atom:740 @atom:740_b45_a45_d45_i45 } - replace{ @atom:741 @atom:741_b46_a46_d46_i46 } - replace{ @atom:742 @atom:742_b13_a13_d13_i13 } - replace{ @atom:743 @atom:743_b13_a13_d13_i13 } - replace{ @atom:744 @atom:744_b13_a13_d13_i13 } - replace{ @atom:745 @atom:745_b13_a13_d13_i13 } - replace{ @atom:746 @atom:746_b48_a48_d48_i48 } - replace{ @atom:747 @atom:747_b48_a48_d48_i48 } - replace{ @atom:748 @atom:748_b48_a48_d48_i48 } - replace{ @atom:749 @atom:749_b13_a13_d13_i13 } - replace{ @atom:750 @atom:750_b13_a13_d13_i13 } - replace{ @atom:751 @atom:751_b13_a13_d13_i13 } - replace{ @atom:752 @atom:752_b13_a13_d13_i13 } - replace{ @atom:753 @atom:753_b13_a13_d13_i13 } - replace{ @atom:754 @atom:754_b13_a13_d13_i13 } - replace{ @atom:755 @atom:755_b19_a19_d19_i19 } - replace{ @atom:756 @atom:756_b46_a46_d46_i46 } - replace{ @atom:757 @atom:757_b19_a19_d19_i19 } - replace{ @atom:758 @atom:758_b19_a19_d19_i19 } - replace{ @atom:759 @atom:759_b19_a19_d19_i19 } - replace{ @atom:760 @atom:760_b46_a46_d46_i46 } - replace{ @atom:761 @atom:761_b51_a51_d51_i51 } - replace{ @atom:762 @atom:762_b51_a51_d51_i51 } - replace{ @atom:763 @atom:763_b51_a51_d51_i51 } - replace{ @atom:764 @atom:764_b5_a5_d5_i5 } - replace{ @atom:765 @atom:765_b7_a7_d7_i7 } + replace{ @atom:723 @atom:723_b013_a013_d013_i013 } + replace{ @atom:724 @atom:724_b013_a013_d013_i013 } + replace{ @atom:725 @atom:725_b046_a046_d046_i046 } + replace{ @atom:726 @atom:726_b064_a064_d064_i064 } + replace{ @atom:727 @atom:727_b001_a001_d001_i001 } + replace{ @atom:728 @atom:728_b024_a024_d024_i024 } + replace{ @atom:729 @atom:729_b004_a004_d004_i004 } + replace{ @atom:730 @atom:730_b044_a044_d044_i044 } + replace{ @atom:731 @atom:731_b044_a044_d044_i044 } + replace{ @atom:732 @atom:732_b044_a044_d044_i044 } + replace{ @atom:733 @atom:733_b013_a013_d013_i013 } + replace{ @atom:734 @atom:734_b013_a013_d013_i013 } + replace{ @atom:735 @atom:735_b013_a013_d013_i013 } + replace{ @atom:736 @atom:736_b013_a013_d013_i013 } + replace{ @atom:737 @atom:737_b013_a013_d013_i013 } + replace{ @atom:738 @atom:738_b013_a013_d013_i013 } + replace{ @atom:739 @atom:739_b045_a045_d045_i045 } + replace{ @atom:740 @atom:740_b045_a045_d045_i045 } + replace{ @atom:741 @atom:741_b046_a046_d046_i046 } + replace{ @atom:742 @atom:742_b013_a013_d013_i013 } + replace{ @atom:743 @atom:743_b013_a013_d013_i013 } + replace{ @atom:744 @atom:744_b013_a013_d013_i013 } + replace{ @atom:745 @atom:745_b013_a013_d013_i013 } + replace{ @atom:746 @atom:746_b048_a048_d048_i048 } + replace{ @atom:747 @atom:747_b048_a048_d048_i048 } + replace{ @atom:748 @atom:748_b048_a048_d048_i048 } + replace{ @atom:749 @atom:749_b013_a013_d013_i013 } + replace{ @atom:750 @atom:750_b013_a013_d013_i013 } + replace{ @atom:751 @atom:751_b013_a013_d013_i013 } + replace{ @atom:752 @atom:752_b013_a013_d013_i013 } + replace{ @atom:753 @atom:753_b013_a013_d013_i013 } + replace{ @atom:754 @atom:754_b013_a013_d013_i013 } + replace{ @atom:755 @atom:755_b019_a019_d019_i019 } + replace{ @atom:756 @atom:756_b046_a046_d046_i046 } + replace{ @atom:757 @atom:757_b019_a019_d019_i019 } + replace{ @atom:758 @atom:758_b019_a019_d019_i019 } + replace{ @atom:759 @atom:759_b019_a019_d019_i019 } + replace{ @atom:760 @atom:760_b046_a046_d046_i046 } + replace{ @atom:761 @atom:761_b051_a051_d051_i051 } + replace{ @atom:762 @atom:762_b051_a051_d051_i051 } + replace{ @atom:763 @atom:763_b051_a051_d051_i051 } + replace{ @atom:764 @atom:764_b005_a005_d005_i005 } + replace{ @atom:765 @atom:765_b007_a007_d007_i007 } replace{ @atom:766 @atom:766_b105_a105_d105_i105 } replace{ @atom:767 @atom:767_b105_a105_d105_i105 } replace{ @atom:768 @atom:768_b105_a105_d105_i105 } - replace{ @atom:769 @atom:769_b19_a19_d19_i19 } - replace{ @atom:770 @atom:770_b53_a53_d53_i53 } - replace{ @atom:771 @atom:771_b54_a54_d54_i54 } - replace{ @atom:772 @atom:772_b13_a13_d13_i13 } - replace{ @atom:773 @atom:773_b13_a13_d13_i13 } - replace{ @atom:774 @atom:774_b13_a13_d13_i13 } - replace{ @atom:775 @atom:775_b13_a13_d13_i13 } - replace{ @atom:776 @atom:776_b84_a84_d84_i84 } - replace{ @atom:777 @atom:777_b87_a87_d87_i87 } - replace{ @atom:778 @atom:778_b86_a86_d86_i86 } - replace{ @atom:779 @atom:779_b86_a86_d86_i86 } - replace{ @atom:780 @atom:780_b46_a46_d46_i46 } - replace{ @atom:781 @atom:781_b13_a13_d13_i13 } - replace{ @atom:782 @atom:782_b3_a3_d3_i3 } - replace{ @atom:783 @atom:783_b53_a53_d53_i53 } - replace{ @atom:784 @atom:784_b52_a52_d52_i52 } - replace{ @atom:785 @atom:785_b54_a54_d54_i54 } - replace{ @atom:786 @atom:786_b1_a1_d1_i1 } - replace{ @atom:787 @atom:787_b13_a13_d13_i13 } - replace{ @atom:788 @atom:788_b46_a46_d46_i46 } - replace{ @atom:789 @atom:789_b13_a13_d13_i13 } - replace{ @atom:790 @atom:790_b13_a13_d13_i13 } - replace{ @atom:791 @atom:791_b13_a13_d13_i13 } - replace{ @atom:792 @atom:792_b13_a13_d13_i13 } - replace{ @atom:793 @atom:793_b13_a13_d13_i13 } - replace{ @atom:794 @atom:794_b13_a13_d13_i13 } - replace{ @atom:795 @atom:795_b1_a1_d1_i1 } - replace{ @atom:796 @atom:796_b13_a13_d13_i13 } - replace{ @atom:797 @atom:797_b46_a46_d46_i46 } - replace{ @atom:798 @atom:798_b13_a13_d13_i13 } - replace{ @atom:799 @atom:799_b13_a13_d13_i13 } - replace{ @atom:800 @atom:800_b21_a21_d21_i21 } - replace{ @atom:801 @atom:801_b13_a13_d13_i13 } - replace{ @atom:802 @atom:802_b46_a46_d46_i46 } - replace{ @atom:803 @atom:803_b13_a13_d13_i13 } - replace{ @atom:804 @atom:804_b13_a13_d13_i13 } - replace{ @atom:805 @atom:805_b65_a65_d65_i65 } - replace{ @atom:806 @atom:806_b13_a13_d13_i13 } - replace{ @atom:807 @atom:807_b46_a46_d46_i46 } - replace{ @atom:808 @atom:808_b13_a13_d13_i13 } - replace{ @atom:809 @atom:809_b13_a13_d13_i13 } - replace{ @atom:810 @atom:810_b1_a1_d1_i1 } - replace{ @atom:811 @atom:811_b21_a21_d21_i21 } - replace{ @atom:812 @atom:812_b65_a65_d65_i65 } - replace{ @atom:813 @atom:813_b48_a48_d48_i48 } - replace{ @atom:814 @atom:814_b20_a20_d20_i20 } - replace{ @atom:815 @atom:815_b13_a13_d13_i13 } - replace{ @atom:816 @atom:816_b1_a1_d1_i1 } - replace{ @atom:817 @atom:817_b24_a24_d24_i24 } - replace{ @atom:818 @atom:818_b48_a48_d48_i48 } - replace{ @atom:819 @atom:819_b13_a13_d13_i13 } - replace{ @atom:820 @atom:820_b3_a3_d3_i3 } - replace{ @atom:821 @atom:821_b3_a3_d3_i3 } - replace{ @atom:822 @atom:822_b4_a4_d4_i4 } - replace{ @atom:823 @atom:823_b24_a24_d24_i24 } - replace{ @atom:824 @atom:824_b45_a45_d45_i45 } - replace{ @atom:825 @atom:825_b5_a5_d5_i5 } - replace{ @atom:826 @atom:826_b7_a7_d7_i7 } - replace{ @atom:827 @atom:827_b13_a13_d13_i13 } - replace{ @atom:828 @atom:828_b13_a13_d13_i13 } - replace{ @atom:829 @atom:829_b86_a86_d86_i86 } - replace{ @atom:830 @atom:830_b86_a86_d86_i86 } - replace{ @atom:831 @atom:831_b86_a86_d86_i86 } - replace{ @atom:832 @atom:832_b86_a86_d86_i86 } - replace{ @atom:833 @atom:833_b48_a48_d48_i48 } + replace{ @atom:769 @atom:769_b019_a019_d019_i019 } + replace{ @atom:770 @atom:770_b053_a053_d053_i053 } + replace{ @atom:771 @atom:771_b054_a054_d054_i054 } + replace{ @atom:772 @atom:772_b013_a013_d013_i013 } + replace{ @atom:773 @atom:773_b013_a013_d013_i013 } + replace{ @atom:774 @atom:774_b013_a013_d013_i013 } + replace{ @atom:775 @atom:775_b013_a013_d013_i013 } + replace{ @atom:776 @atom:776_b084_a084_d084_i084 } + replace{ @atom:777 @atom:777_b087_a087_d087_i087 } + replace{ @atom:778 @atom:778_b086_a086_d086_i086 } + replace{ @atom:779 @atom:779_b086_a086_d086_i086 } + replace{ @atom:780 @atom:780_b046_a046_d046_i046 } + replace{ @atom:781 @atom:781_b013_a013_d013_i013 } + replace{ @atom:782 @atom:782_b003_a003_d003_i003 } + replace{ @atom:783 @atom:783_b053_a053_d053_i053 } + replace{ @atom:784 @atom:784_b052_a052_d052_i052 } + replace{ @atom:785 @atom:785_b054_a054_d054_i054 } + replace{ @atom:786 @atom:786_b001_a001_d001_i001 } + replace{ @atom:787 @atom:787_b013_a013_d013_i013 } + replace{ @atom:788 @atom:788_b046_a046_d046_i046 } + replace{ @atom:789 @atom:789_b013_a013_d013_i013 } + replace{ @atom:790 @atom:790_b013_a013_d013_i013 } + replace{ @atom:791 @atom:791_b013_a013_d013_i013 } + replace{ @atom:792 @atom:792_b013_a013_d013_i013 } + replace{ @atom:793 @atom:793_b013_a013_d013_i013 } + replace{ @atom:794 @atom:794_b013_a013_d013_i013 } + replace{ @atom:795 @atom:795_b001_a001_d001_i001 } + replace{ @atom:796 @atom:796_b013_a013_d013_i013 } + replace{ @atom:797 @atom:797_b046_a046_d046_i046 } + replace{ @atom:798 @atom:798_b013_a013_d013_i013 } + replace{ @atom:799 @atom:799_b013_a013_d013_i013 } + replace{ @atom:800 @atom:800_b021_a021_d021_i021 } + replace{ @atom:801 @atom:801_b013_a013_d013_i013 } + replace{ @atom:802 @atom:802_b046_a046_d046_i046 } + replace{ @atom:803 @atom:803_b013_a013_d013_i013 } + replace{ @atom:804 @atom:804_b013_a013_d013_i013 } + replace{ @atom:805 @atom:805_b065_a065_d065_i065 } + replace{ @atom:806 @atom:806_b013_a013_d013_i013 } + replace{ @atom:807 @atom:807_b046_a046_d046_i046 } + replace{ @atom:808 @atom:808_b013_a013_d013_i013 } + replace{ @atom:809 @atom:809_b013_a013_d013_i013 } + replace{ @atom:810 @atom:810_b001_a001_d001_i001 } + replace{ @atom:811 @atom:811_b021_a021_d021_i021 } + replace{ @atom:812 @atom:812_b065_a065_d065_i065 } + replace{ @atom:813 @atom:813_b048_a048_d048_i048 } + replace{ @atom:814 @atom:814_b020_a020_d020_i020 } + replace{ @atom:815 @atom:815_b013_a013_d013_i013 } + replace{ @atom:816 @atom:816_b001_a001_d001_i001 } + replace{ @atom:817 @atom:817_b024_a024_d024_i024 } + replace{ @atom:818 @atom:818_b048_a048_d048_i048 } + replace{ @atom:819 @atom:819_b013_a013_d013_i013 } + replace{ @atom:820 @atom:820_b003_a003_d003_i003 } + replace{ @atom:821 @atom:821_b003_a003_d003_i003 } + replace{ @atom:822 @atom:822_b004_a004_d004_i004 } + replace{ @atom:823 @atom:823_b024_a024_d024_i024 } + replace{ @atom:824 @atom:824_b045_a045_d045_i045 } + replace{ @atom:825 @atom:825_b005_a005_d005_i005 } + replace{ @atom:826 @atom:826_b007_a007_d007_i007 } + replace{ @atom:827 @atom:827_b013_a013_d013_i013 } + replace{ @atom:828 @atom:828_b013_a013_d013_i013 } + replace{ @atom:829 @atom:829_b086_a086_d086_i086 } + replace{ @atom:830 @atom:830_b086_a086_d086_i086 } + replace{ @atom:831 @atom:831_b086_a086_d086_i086 } + replace{ @atom:832 @atom:832_b086_a086_d086_i086 } + replace{ @atom:833 @atom:833_b048_a048_d048_i048 } replace{ @atom:834 @atom:834_b106_a106_d106_i106 } - replace{ @atom:835 @atom:835_b13_a13_d13_i13 } - replace{ @atom:836 @atom:836_b13_a13_d13_i13 } - replace{ @atom:837 @atom:837_b13_a13_d13_i13 } - replace{ @atom:838 @atom:838_b66_a66_d66_i66 } - replace{ @atom:839 @atom:839_b46_a46_d46_i46 } - replace{ @atom:840 @atom:840_b24_a24_d24_i24 } - replace{ @atom:841 @atom:841_b48_a48_d48_i48 } - replace{ @atom:842 @atom:842_b48_a48_d48_i48 } - replace{ @atom:843 @atom:843_b24_a24_d24_i24 } - replace{ @atom:844 @atom:844_b48_a48_d48_i48 } - replace{ @atom:845 @atom:845_b3_a3_d3_i3 } - replace{ @atom:846 @atom:846_b4_a4_d4_i4 } + replace{ @atom:835 @atom:835_b013_a013_d013_i013 } + replace{ @atom:836 @atom:836_b013_a013_d013_i013 } + replace{ @atom:837 @atom:837_b013_a013_d013_i013 } + replace{ @atom:838 @atom:838_b066_a066_d066_i066 } + replace{ @atom:839 @atom:839_b046_a046_d046_i046 } + replace{ @atom:840 @atom:840_b024_a024_d024_i024 } + replace{ @atom:841 @atom:841_b048_a048_d048_i048 } + replace{ @atom:842 @atom:842_b048_a048_d048_i048 } + replace{ @atom:843 @atom:843_b024_a024_d024_i024 } + replace{ @atom:844 @atom:844_b048_a048_d048_i048 } + replace{ @atom:845 @atom:845_b003_a003_d003_i003 } + replace{ @atom:846 @atom:846_b004_a004_d004_i004 } replace{ @atom:847 @atom:847_b107_a107_d107_i107 } - replace{ @atom:848 @atom:848_b13_a13_d13_i13 } - replace{ @atom:849 @atom:849_b13_a13_d13_i13 } - replace{ @atom:850 @atom:850_b13_a13_d13_i13 } - replace{ @atom:851 @atom:851_b13_a13_d13_i13 } - replace{ @atom:852 @atom:852_b46_a46_d46_i46 } - replace{ @atom:853 @atom:853_b3_a3_d3_i3 } - replace{ @atom:854 @atom:854_b4_a4_d4_i4 } - replace{ @atom:855 @atom:855_b46_a46_d46_i46 } - replace{ @atom:856 @atom:856_b13_a13_d13_i13 } - replace{ @atom:857 @atom:857_b13_a13_d13_i13 } - replace{ @atom:858 @atom:858_b13_a13_d13_i13 } - replace{ @atom:859 @atom:859_b13_a13_d13_i13 } - replace{ @atom:860 @atom:860_b13_a13_d13_i13 } - replace{ @atom:861 @atom:861_b13_a13_d13_i13 } - replace{ @atom:862 @atom:862_b13_a13_d13_i13 } - replace{ @atom:863 @atom:863_b13_a13_d13_i13 } - replace{ @atom:864 @atom:864_b13_a13_d13_i13 } - replace{ @atom:865 @atom:865_b13_a13_d13_i13 } + replace{ @atom:848 @atom:848_b013_a013_d013_i013 } + replace{ @atom:849 @atom:849_b013_a013_d013_i013 } + replace{ @atom:850 @atom:850_b013_a013_d013_i013 } + replace{ @atom:851 @atom:851_b013_a013_d013_i013 } + replace{ @atom:852 @atom:852_b046_a046_d046_i046 } + replace{ @atom:853 @atom:853_b003_a003_d003_i003 } + replace{ @atom:854 @atom:854_b004_a004_d004_i004 } + replace{ @atom:855 @atom:855_b046_a046_d046_i046 } + replace{ @atom:856 @atom:856_b013_a013_d013_i013 } + replace{ @atom:857 @atom:857_b013_a013_d013_i013 } + replace{ @atom:858 @atom:858_b013_a013_d013_i013 } + replace{ @atom:859 @atom:859_b013_a013_d013_i013 } + replace{ @atom:860 @atom:860_b013_a013_d013_i013 } + replace{ @atom:861 @atom:861_b013_a013_d013_i013 } + replace{ @atom:862 @atom:862_b013_a013_d013_i013 } + replace{ @atom:863 @atom:863_b013_a013_d013_i013 } + replace{ @atom:864 @atom:864_b013_a013_d013_i013 } + replace{ @atom:865 @atom:865_b013_a013_d013_i013 } replace{ @atom:866 @atom:866_b108_a108_d108_i108 } replace{ @atom:867 @atom:867_b108_a108_d108_i108 } replace{ @atom:868 @atom:868_b108_a108_d108_i108 } replace{ @atom:869 @atom:869_b108_a108_d108_i108 } - replace{ @atom:870 @atom:870_b45_a45_d45_i45 } - replace{ @atom:871 @atom:871_b13_a13_d13_i13 } - replace{ @atom:872 @atom:872_b13_a13_d13_i13 } - replace{ @atom:873 @atom:873_b13_a13_d13_i13 } - replace{ @atom:874 @atom:874_b13_a13_d13_i13 } - replace{ @atom:875 @atom:875_b1_a1_d1_i1 } - replace{ @atom:876 @atom:876_b21_a21_d21_i21 } - replace{ @atom:877 @atom:877_b65_a65_d65_i65 } - replace{ @atom:878 @atom:878_b66_a66_d66_i66 } - replace{ @atom:879 @atom:879_b68_a68_d68_i68 } - replace{ @atom:880 @atom:880_b69_a69_d69_i69 } - replace{ @atom:881 @atom:881_b70_a70_d70_i70 } - replace{ @atom:882 @atom:882_b71_a71_d71_i71 } - replace{ @atom:883 @atom:883_b72_a72_d72_i72 } - replace{ @atom:884 @atom:884_b73_a73_d73_i73 } - replace{ @atom:885 @atom:885_b74_a74_d74_i74 } - replace{ @atom:886 @atom:886_b75_a75_d75_i75 } - replace{ @atom:887 @atom:887_b76_a76_d76_i76 } - replace{ @atom:888 @atom:888_b13_a13_d13_i13 } - replace{ @atom:889 @atom:889_b13_a13_d13_i13 } - replace{ @atom:890 @atom:890_b13_a13_d13_i13 } - replace{ @atom:891 @atom:891_b13_a13_d13_i13 } - replace{ @atom:892 @atom:892_b46_a46_d46_i46 } - replace{ @atom:893 @atom:893_b53_a53_d53_i53 } - replace{ @atom:894 @atom:894_b48_a48_d48_i48 } - replace{ @atom:895 @atom:895_b53_a53_d53_i53 } - replace{ @atom:896 @atom:896_b48_a48_d48_i48 } + replace{ @atom:870 @atom:870_b045_a045_d045_i045 } + replace{ @atom:871 @atom:871_b013_a013_d013_i013 } + replace{ @atom:872 @atom:872_b013_a013_d013_i013 } + replace{ @atom:873 @atom:873_b013_a013_d013_i013 } + replace{ @atom:874 @atom:874_b013_a013_d013_i013 } + replace{ @atom:875 @atom:875_b001_a001_d001_i001 } + replace{ @atom:876 @atom:876_b021_a021_d021_i021 } + replace{ @atom:877 @atom:877_b065_a065_d065_i065 } + replace{ @atom:878 @atom:878_b066_a066_d066_i066 } + replace{ @atom:879 @atom:879_b068_a068_d068_i068 } + replace{ @atom:880 @atom:880_b069_a069_d069_i069 } + replace{ @atom:881 @atom:881_b070_a070_d070_i070 } + replace{ @atom:882 @atom:882_b071_a071_d071_i071 } + replace{ @atom:883 @atom:883_b072_a072_d072_i072 } + replace{ @atom:884 @atom:884_b073_a073_d073_i073 } + replace{ @atom:885 @atom:885_b074_a074_d074_i074 } + replace{ @atom:886 @atom:886_b075_a075_d075_i075 } + replace{ @atom:887 @atom:887_b076_a076_d076_i076 } + replace{ @atom:888 @atom:888_b013_a013_d013_i013 } + replace{ @atom:889 @atom:889_b013_a013_d013_i013 } + replace{ @atom:890 @atom:890_b013_a013_d013_i013 } + replace{ @atom:891 @atom:891_b013_a013_d013_i013 } + replace{ @atom:892 @atom:892_b046_a046_d046_i046 } + replace{ @atom:893 @atom:893_b053_a053_d053_i053 } + replace{ @atom:894 @atom:894_b048_a048_d048_i048 } + replace{ @atom:895 @atom:895_b053_a053_d053_i053 } + replace{ @atom:896 @atom:896_b048_a048_d048_i048 } replace{ @atom:897 @atom:897_b109_a109_d109_i109 } replace{ @atom:898 @atom:898_b109_a109_d109_i109 } - replace{ @atom:899 @atom:899_b46_a46_d46_i46 } - replace{ @atom:900 @atom:900_b47_a47_d47_i47 } - replace{ @atom:901 @atom:901_b47_a47_d47_i47 } - replace{ @atom:902 @atom:902_b47_a47_d47_i47 } + replace{ @atom:899 @atom:899_b046_a046_d046_i046 } + replace{ @atom:900 @atom:900_b047_a047_d047_i047 } + replace{ @atom:901 @atom:901_b047_a047_d047_i047 } + replace{ @atom:902 @atom:902_b047_a047_d047_i047 } replace{ @atom:903 @atom:903_b110_a110_d110_i110 } replace{ @atom:904 @atom:904_b110_a110_d110_i110 } - replace{ @atom:905 @atom:905_b4_a4_d4_i4 } - replace{ @atom:906 @atom:906_b13_a13_d13_i13 } + replace{ @atom:905 @atom:905_b004_a004_d004_i004 } + replace{ @atom:906 @atom:906_b013_a013_d013_i013 } @@ -2773,915 +2786,915 @@ OPLSAA { # --------------- Non-Bonded interactions: --------------------- # http://lammps.sandia.gov/doc/pair_lj.html # Syntax: - # pair_coeff AtomType1 AtomType2 pair_style_name parameters... + # pair_coeff AtomType1 AtomType2 parameters... write_once("In Settings") { - pair_coeff @atom:1_b1_a1_d1_i1 @atom:1_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.94 - pair_coeff @atom:2_b2_a2_d2_i2 @atom:2_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.905 - pair_coeff @atom:3_b3_a3_d3_i3 @atom:3_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:4_b4_a4_d4_i4 @atom:4_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:5_b5_a5_d5_i5 @atom:5_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.0 - pair_coeff @atom:6_b6_a6_d6_i6 @atom:6_b6_a6_d6_i6 lj/cut/coul/long 0.16 3.91 - pair_coeff @atom:7_b7_a7_d7_i7 @atom:7_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:8_b8_a8_d8_i8 @atom:8_b8_a8_d8_i8 lj/cut/coul/long 0.294 3.73 - pair_coeff @atom:9_b6_a6_d6_i6 @atom:9_b6_a6_d6_i6 lj/cut/coul/long 0.207 3.775 - pair_coeff @atom:10_b6_a6_d6_i6 @atom:10_b6_a6_d6_i6 lj/cut/coul/long 0.175 3.905 - pair_coeff @atom:11_b6_a6_d6_i6 @atom:11_b6_a6_d6_i6 lj/cut/coul/long 0.16 3.91 - pair_coeff @atom:12_b6_a6_d6_i6 @atom:12_b6_a6_d6_i6 lj/cut/coul/long 0.145 3.96 - pair_coeff @atom:13_b2_a2_d2_i2 @atom:13_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.905 - pair_coeff @atom:14_b9_a9_d9_i9 @atom:14_b9_a9_d9_i9 lj/cut/coul/long 0.14 3.85 - pair_coeff @atom:15_b10_a10_d10_i10 @atom:15_b10_a10_d10_i10 lj/cut/coul/long 0.08 3.85 - pair_coeff @atom:16_b11_a11_d11_i11 @atom:16_b11_a11_d11_i11 lj/cut/coul/long 0.115 3.8 - pair_coeff @atom:17_b12_a12_d12_i12 @atom:17_b12_a12_d12_i12 lj/cut/coul/long 0.11 3.75 - pair_coeff @atom:18_b13_a13_d13_i13 @atom:18_b13_a13_d13_i13 lj/cut/coul/long 0.05 3.8 - pair_coeff @atom:19_b14_a14_d14_i14 @atom:19_b14_a14_d14_i14 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:20_b5_a5_d5_i5 @atom:20_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.07 - pair_coeff @atom:21_b7_a7_d7_i7 @atom:21_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:22_b6_a6_d6_i6 @atom:22_b6_a6_d6_i6 lj/cut/coul/long 0.207 3.775 - pair_coeff @atom:23_b2_a2_d2_i2 @atom:23_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.905 - pair_coeff @atom:24_b15_a15_d15_i15 @atom:24_b15_a15_d15_i15 lj/cut/coul/long 0.25 3.7 - pair_coeff @atom:25_b15_a15_d15_i15 @atom:25_b15_a15_d15_i15 lj/cut/coul/long 0.25 3.55 - pair_coeff @atom:26_b16_a16_d16_i16 @atom:26_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55 - pair_coeff @atom:27_b16_a16_d16_i16 @atom:27_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55 - pair_coeff @atom:28_b17_a17_d17_i17 @atom:28_b17_a17_d17_i17 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:29_b17_a17_d17_i17 @atom:29_b17_a17_d17_i17 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:30_b6_a6_d6_i6 @atom:30_b6_a6_d6_i6 lj/cut/coul/long 0.207 3.775 - pair_coeff @atom:31_b2_a2_d2_i2 @atom:31_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.905 - pair_coeff @atom:32_b6_a6_d6_i6 @atom:32_b6_a6_d6_i6 lj/cut/coul/long 0.17 3.8 - pair_coeff @atom:33_b2_a2_d2_i2 @atom:33_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.8 - pair_coeff @atom:34_b6_a6_d6_i6 @atom:34_b6_a6_d6_i6 lj/cut/coul/long 0.17 3.8 - pair_coeff @atom:35_b2_a2_d2_i2 @atom:35_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.8 - pair_coeff @atom:36_b18_a18_d18_i18 @atom:36_b18_a18_d18_i18 lj/cut/coul/long 0.17 3.2 - pair_coeff @atom:37_b19_a19_d19_i19 @atom:37_b19_a19_d19_i19 lj/cut/coul/long 0.15 3.65 - pair_coeff @atom:38_b6_a6_d6_i6 @atom:38_b6_a6_d6_i6 lj/cut/coul/long 0.207 3.775 - pair_coeff @atom:39_b10_a10_d10_i10 @atom:39_b10_a10_d10_i10 lj/cut/coul/long 0.08 3.85 - pair_coeff @atom:40_b13_a13_d13_i13 @atom:40_b13_a13_d13_i13 lj/cut/coul/long 0.05 3.8 - pair_coeff @atom:41_b20_a20_d20_i20 @atom:41_b20_a20_d20_i20 lj/cut/coul/long 0.17 3.0 - pair_coeff @atom:42_b6_a6_d6_i6 @atom:42_b6_a6_d6_i6 lj/cut/coul/long 0.17 3.8 - pair_coeff @atom:43_b2_a2_d2_i2 @atom:43_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.8 - pair_coeff @atom:44_b2_a2_d2_i2 @atom:44_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.8 - pair_coeff @atom:45_b21_a21_d21_i21 @atom:45_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4 - pair_coeff @atom:46_b10_a10_d10_i10 @atom:46_b10_a10_d10_i10 lj/cut/coul/long 0.08 3.8 - pair_coeff @atom:47_b21_a21_d21_i21 @atom:47_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.47 - pair_coeff @atom:48_b13_a13_d13_i13 @atom:48_b13_a13_d13_i13 lj/cut/coul/long 0.05 3.8 - pair_coeff @atom:49_b21_a21_d21_i21 @atom:49_b21_a21_d21_i21 lj/cut/coul/long 0.266 3.47 - pair_coeff @atom:50_b22_a22_d22_i22 @atom:50_b22_a22_d22_i22 lj/cut/coul/long 0.395 3.56 - pair_coeff @atom:51_b23_a23_d23_i23 @atom:51_b23_a23_d23_i23 lj/cut/coul/long 0.28 2.93 - pair_coeff @atom:52_b6_a6_d6_i6 @atom:52_b6_a6_d6_i6 lj/cut/coul/long 0.16 3.81 - pair_coeff @atom:53_b4_a4_d4_i4 @atom:53_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:54_b24_a24_d24_i24 @atom:54_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:55_b3_a3_d3_i3 @atom:55_b3_a3_d3_i3 lj/cut/coul/long 0.115 3.8 - pair_coeff @atom:56_b6_a6_d6_i6 @atom:56_b6_a6_d6_i6 lj/cut/coul/long 0.17 3.8 - pair_coeff @atom:57_b25_a25_d25_i25 @atom:57_b25_a25_d25_i25 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:58_b26_a26_d26_i26 @atom:58_b26_a26_d26_i26 lj/cut/coul/long 0.02 2.556 - pair_coeff @atom:59_b27_a27_d27_i27 @atom:59_b27_a27_d27_i27 lj/cut/coul/long 0.069 2.78 - pair_coeff @atom:60_b28_a28_d28_i28 @atom:60_b28_a28_d28_i28 lj/cut/coul/long 0.2339 3.401 - pair_coeff @atom:61_b29_a29_d29_i29 @atom:61_b29_a29_d29_i29 lj/cut/coul/long 0.317 3.624 - pair_coeff @atom:62_b30_a30_d30_i30 @atom:62_b30_a30_d30_i30 lj/cut/coul/long 0.433 3.935 - pair_coeff @atom:63_b31_a31_d31_i31 @atom:63_b31_a31_d31_i31 lj/cut/coul/long 0.1521 3.15061 - pair_coeff @atom:64_b32_a32_d32_i32 @atom:64_b32_a32_d32_i32 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:65_b31_a31_d31_i31 @atom:65_b31_a31_d31_i31 lj/cut/coul/long 0.155 3.15365 - pair_coeff @atom:66_b32_a32_d32_i32 @atom:66_b32_a32_d32_i32 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:67_b33_a33_d33_i33 @atom:67_b33_a33_d33_i33 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:68_b34_a34_d34_i34 @atom:68_b34_a34_d34_i34 lj/cut/coul/long 0.15 3.176 - pair_coeff @atom:69_b35_a35_d35_i35 @atom:69_b35_a35_d35_i35 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:70_b36_a36_d36_i36 @atom:70_b36_a36_d36_i36 lj/cut/coul/long 0.1 3.27 - pair_coeff @atom:71_b37_a37_d37_i37 @atom:71_b37_a37_d37_i37 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:72_b38_a38_d38_i38 @atom:72_b38_a38_d38_i38 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:73_b39_a39_d39_i39 @atom:73_b39_a39_d39_i39 lj/cut/coul/long 0.16 3.12 - pair_coeff @atom:74_b40_a40_d40_i40 @atom:74_b40_a40_d40_i40 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:75_b41_a41_d41_i41 @atom:75_b41_a41_d41_i41 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:76_b42_a42_d42_i42 @atom:76_b42_a42_d42_i42 lj/cut/coul/long 0.1554 3.16557 - pair_coeff @atom:77_b43_a43_d43_i43 @atom:77_b43_a43_d43_i43 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:78_b44_a44_d44_i44 @atom:78_b44_a44_d44_i44 lj/cut/coul/long 0.17 3.42 - pair_coeff @atom:79_b45_a45_d45_i45 @atom:79_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:80_b13_a13_d13_i13 @atom:80_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:81_b13_a13_d13_i13 @atom:81_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:82_b13_a13_d13_i13 @atom:82_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:83_b13_a13_d13_i13 @atom:83_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:84_b13_a13_d13_i13 @atom:84_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:85_b46_a46_d46_i46 @atom:85_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:86_b47_a47_d47_i47 @atom:86_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:87_b47_a47_d47_i47 @atom:87_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:88_b47_a47_d47_i47 @atom:88_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:89_b46_a46_d46_i46 @atom:89_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:90_b48_a48_d48_i48 @atom:90_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:91_b49_a49_d49_i49 @atom:91_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:92_b48_a48_d48_i48 @atom:92_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:93_b13_a13_d13_i13 @atom:93_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:94_b13_a13_d13_i13 @atom:94_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:95_b50_a50_d50_i50 @atom:95_b50_a50_d50_i50 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:96_b5_a5_d5_i5 @atom:96_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.12 - pair_coeff @atom:97_b7_a7_d7_i7 @atom:97_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:98_b46_a46_d46_i46 @atom:98_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:99_b13_a13_d13_i13 @atom:99_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:100_b13_a13_d13_i13 @atom:100_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:101_b13_a13_d13_i13 @atom:101_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:102_b13_a13_d13_i13 @atom:102_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:103_b13_a13_d13_i13 @atom:103_b13_a13_d13_i13 lj/cut/coul/long 0.062 3.25 - pair_coeff @atom:104_b5_a5_d5_i5 @atom:104_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.07 - pair_coeff @atom:105_b7_a7_d7_i7 @atom:105_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:106_b1_a1_d1_i1 @atom:106_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.94 - pair_coeff @atom:107_b46_a46_d46_i46 @atom:107_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:108_b48_a48_d48_i48 @atom:108_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:109_b5_a5_d5_i5 @atom:109_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.07 - pair_coeff @atom:110_b7_a7_d7_i7 @atom:110_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:111_b5_a5_d5_i5 @atom:111_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.07 - pair_coeff @atom:112_b7_a7_d7_i7 @atom:112_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:113_b5_a5_d5_i5 @atom:113_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.07 - pair_coeff @atom:114_b7_a7_d7_i7 @atom:114_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:115_b13_a13_d13_i13 @atom:115_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:116_b13_a13_d13_i13 @atom:116_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:117_b13_a13_d13_i13 @atom:117_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:118_b46_a46_d46_i46 @atom:118_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:119_b20_a20_d20_i20 @atom:119_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9 - pair_coeff @atom:120_b50_a50_d50_i50 @atom:120_b50_a50_d50_i50 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:121_b20_a20_d20_i20 @atom:121_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9 - pair_coeff @atom:122_b20_a20_d20_i20 @atom:122_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9 - pair_coeff @atom:123_b13_a13_d13_i13 @atom:123_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:124_b13_a13_d13_i13 @atom:124_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:125_b13_a13_d13_i13 @atom:125_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:126_b13_a13_d13_i13 @atom:126_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:127_b46_a46_d46_i46 @atom:127_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:128_b20_a20_d20_i20 @atom:128_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9 - pair_coeff @atom:129_b5_a5_d5_i5 @atom:129_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.07 - pair_coeff @atom:130_b7_a7_d7_i7 @atom:130_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:131_b51_a51_d51_i51 @atom:131_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:132_b46_a46_d46_i46 @atom:132_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:133_b51_a51_d51_i51 @atom:133_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:134_b46_a46_d46_i46 @atom:134_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:135_b51_a51_d51_i51 @atom:135_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:136_b46_a46_d46_i46 @atom:136_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:137_b51_a51_d51_i51 @atom:137_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:138_b46_a46_d46_i46 @atom:138_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:139_b51_a51_d51_i51 @atom:139_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:140_b51_a51_d51_i51 @atom:140_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:141_b48_a48_d48_i48 @atom:141_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:142_b15_a15_d15_i15 @atom:142_b15_a15_d15_i15 lj/cut/coul/long 0.25 3.55 - pair_coeff @atom:143_b15_a15_d15_i15 @atom:143_b15_a15_d15_i15 lj/cut/coul/long 0.25 3.7 - pair_coeff @atom:144_b16_a16_d16_i16 @atom:144_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55 - pair_coeff @atom:145_b16_a16_d16_i16 @atom:145_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55 - pair_coeff @atom:146_b17_a17_d17_i17 @atom:146_b17_a17_d17_i17 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:147_b17_a17_d17_i17 @atom:147_b17_a17_d17_i17 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:148_b13_a13_d13_i13 @atom:148_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:149_b13_a13_d13_i13 @atom:149_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:150_b13_a13_d13_i13 @atom:150_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:151_b13_a13_d13_i13 @atom:151_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:152_b13_a13_d13_i13 @atom:152_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:153_b13_a13_d13_i13 @atom:153_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:154_b13_a13_d13_i13 @atom:154_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:155_b13_a13_d13_i13 @atom:155_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:156_b13_a13_d13_i13 @atom:156_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:157_b13_a13_d13_i13 @atom:157_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:158_b13_a13_d13_i13 @atom:158_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:159_b13_a13_d13_i13 @atom:159_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:160_b13_a13_d13_i13 @atom:160_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:161_b13_a13_d13_i13 @atom:161_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:162_b13_a13_d13_i13 @atom:162_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:163_b48_a48_d48_i48 @atom:163_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:164_b16_a16_d16_i16 @atom:164_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55 - pair_coeff @atom:165_b13_a13_d13_i13 @atom:165_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:166_b13_a13_d13_i13 @atom:166_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:167_b13_a13_d13_i13 @atom:167_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:168_b21_a21_d21_i21 @atom:168_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4 - pair_coeff @atom:169_b47_a47_d47_i47 @atom:169_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:170_b48_a48_d48_i48 @atom:170_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:171_b13_a13_d13_i13 @atom:171_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:172_b13_a13_d13_i13 @atom:172_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:173_b3_a3_d3_i3 @atom:173_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:174_b3_a3_d3_i3 @atom:174_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:175_b3_a3_d3_i3 @atom:175_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:176_b3_a3_d3_i3 @atom:176_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:177_b3_a3_d3_i3 @atom:177_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:178_b4_a4_d4_i4 @atom:178_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:179_b24_a24_d24_i24 @atom:179_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:180_b24_a24_d24_i24 @atom:180_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:181_b24_a24_d24_i24 @atom:181_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:182_b45_a45_d45_i45 @atom:182_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:183_b45_a45_d45_i45 @atom:183_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:184_b13_a13_d13_i13 @atom:184_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:185_b13_a13_d13_i13 @atom:185_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:186_b13_a13_d13_i13 @atom:186_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:187_b13_a13_d13_i13 @atom:187_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:188_b13_a13_d13_i13 @atom:188_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:189_b3_a3_d3_i3 @atom:189_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:190_b4_a4_d4_i4 @atom:190_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:191_b24_a24_d24_i24 @atom:191_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:192_b45_a45_d45_i45 @atom:192_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:193_b24_a24_d24_i24 @atom:193_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:194_b3_a3_d3_i3 @atom:194_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:195_b4_a4_d4_i4 @atom:195_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:196_b45_a45_d45_i45 @atom:196_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:197_b46_a46_d46_i46 @atom:197_b46_a46_d46_i46 lj/cut/coul/long 0.02 2.5 - pair_coeff @atom:198_b13_a13_d13_i13 @atom:198_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:199_b13_a13_d13_i13 @atom:199_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:200_b13_a13_d13_i13 @atom:200_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:201_b13_a13_d13_i13 @atom:201_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:202_b48_a48_d48_i48 @atom:202_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:203_b19_a19_d19_i19 @atom:203_b19_a19_d19_i19 lj/cut/coul/long 0.15 3.65 - pair_coeff @atom:204_b18_a18_d18_i18 @atom:204_b18_a18_d18_i18 lj/cut/coul/long 0.17 3.2 - pair_coeff @atom:205_b48_a48_d48_i48 @atom:205_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:206_b21_a21_d21_i21 @atom:206_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4 - pair_coeff @atom:207_b24_a24_d24_i24 @atom:207_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:208_b48_a48_d48_i48 @atom:208_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:209_b3_a3_d3_i3 @atom:209_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:210_b4_a4_d4_i4 @atom:210_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:211_b5_a5_d5_i5 @atom:211_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.0 - pair_coeff @atom:212_b7_a7_d7_i7 @atom:212_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:213_b3_a3_d3_i3 @atom:213_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:214_b52_a52_d52_i52 @atom:214_b52_a52_d52_i52 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:215_b13_a13_d13_i13 @atom:215_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:216_b13_a13_d13_i13 @atom:216_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:217_b13_a13_d13_i13 @atom:217_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:218_b13_a13_d13_i13 @atom:218_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:219_b3_a3_d3_i3 @atom:219_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:220_b4_a4_d4_i4 @atom:220_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:221_b46_a46_d46_i46 @atom:221_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42 - pair_coeff @atom:222_b3_a3_d3_i3 @atom:222_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:223_b4_a4_d4_i4 @atom:223_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:224_b46_a46_d46_i46 @atom:224_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42 - pair_coeff @atom:225_b13_a13_d13_i13 @atom:225_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:226_b13_a13_d13_i13 @atom:226_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:227_b13_a13_d13_i13 @atom:227_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:228_b13_a13_d13_i13 @atom:228_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:229_b53_a53_d53_i53 @atom:229_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:230_b53_a53_d53_i53 @atom:230_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:231_b53_a53_d53_i53 @atom:231_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:232_b54_a54_d54_i54 @atom:232_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:233_b54_a54_d54_i54 @atom:233_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:234_b13_a13_d13_i13 @atom:234_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:235_b13_a13_d13_i13 @atom:235_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:236_b13_a13_d13_i13 @atom:236_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:237_b13_a13_d13_i13 @atom:237_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:238_b13_a13_d13_i13 @atom:238_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:239_b13_a13_d13_i13 @atom:239_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:240_b13_a13_d13_i13 @atom:240_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:241_b13_a13_d13_i13 @atom:241_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:242_b13_a13_d13_i13 @atom:242_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:243_b55_a55_d55_i55 @atom:243_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:244_b54_a54_d54_i54 @atom:244_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:245_b48_a48_d48_i48 @atom:245_b48_a48_d48_i48 lj/cut/coul/long 0.05 3.55 - pair_coeff @atom:246_b55_a55_d55_i55 @atom:246_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:247_b54_a54_d54_i54 @atom:247_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:248_b13_a13_d13_i13 @atom:248_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:249_b13_a13_d13_i13 @atom:249_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:250_b13_a13_d13_i13 @atom:250_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:251_b13_a13_d13_i13 @atom:251_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:252_b53_a53_d53_i53 @atom:252_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:253_b54_a54_d54_i54 @atom:253_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:254_b56_a56_d56_i56 @atom:254_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:255_b48_a48_d48_i48 @atom:255_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:256_b55_a55_d55_i55 @atom:256_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:257_b45_a45_d45_i45 @atom:257_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:258_b48_a48_d48_i48 @atom:258_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:259_b49_a49_d49_i49 @atom:259_b49_a49_d49_i49 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:260_b48_a48_d48_i48 @atom:260_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:261_b49_a49_d49_i49 @atom:261_b49_a49_d49_i49 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:262_b57_a57_d57_i57 @atom:262_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:263_b3_a3_d3_i3 @atom:263_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:264_b57_a57_d57_i57 @atom:264_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:265_b3_a3_d3_i3 @atom:265_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:266_b47_a47_d47_i47 @atom:266_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:267_b47_a47_d47_i47 @atom:267_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:268_b45_a45_d45_i45 @atom:268_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:269_b4_a4_d4_i4 @atom:269_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:270_b45_a45_d45_i45 @atom:270_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:271_b4_a4_d4_i4 @atom:271_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:272_b46_a46_d46_i46 @atom:272_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:273_b46_a46_d46_i46 @atom:273_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:274_b13_a13_d13_i13 @atom:274_b13_a13_d13_i13 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:275_b46_a46_d46_i46 @atom:275_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:276_b57_a57_d57_i57 @atom:276_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:277_b3_a3_d3_i3 @atom:277_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:278_b56_a56_d56_i56 @atom:278_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:279_b48_a48_d48_i48 @atom:279_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:280_b47_a47_d47_i47 @atom:280_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:281_b47_a47_d47_i47 @atom:281_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:282_b45_a45_d45_i45 @atom:282_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:283_b4_a4_d4_i4 @atom:283_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:284_b55_a55_d55_i55 @atom:284_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:285_b45_a45_d45_i45 @atom:285_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:286_b45_a45_d45_i45 @atom:286_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:287_b46_a46_d46_i46 @atom:287_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:288_b58_a58_d58_i58 @atom:288_b58_a58_d58_i58 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:289_b56_a56_d56_i56 @atom:289_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:290_b59_a59_d59_i59 @atom:290_b59_a59_d59_i59 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:291_b56_a56_d56_i56 @atom:291_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:292_b60_a60_d60_i60 @atom:292_b60_a60_d60_i60 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:293_b60_a60_d60_i60 @atom:293_b60_a60_d60_i60 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:294_b48_a48_d48_i48 @atom:294_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:295_b61_a61_d61_i61 @atom:295_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:296_b62_a62_d62_i62 @atom:296_b62_a62_d62_i62 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:297_b57_a57_d57_i57 @atom:297_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:298_b63_a63_d63_i63 @atom:298_b63_a63_d63_i63 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:299_b55_a55_d55_i55 @atom:299_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:300_b45_a45_d45_i45 @atom:300_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:301_b45_a45_d45_i45 @atom:301_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:302_b63_a63_d63_i63 @atom:302_b63_a63_d63_i63 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:303_b45_a45_d45_i45 @atom:303_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:304_b57_a57_d57_i57 @atom:304_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:305_b48_a48_d48_i48 @atom:305_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:306_b56_a56_d56_i56 @atom:306_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:307_b60_a60_d60_i60 @atom:307_b60_a60_d60_i60 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:308_b60_a60_d60_i60 @atom:308_b60_a60_d60_i60 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:309_b3_a3_d3_i3 @atom:309_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:310_b45_a45_d45_i45 @atom:310_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:311_b55_a55_d55_i55 @atom:311_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:312_b45_a45_d45_i45 @atom:312_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:313_b4_a4_d4_i4 @atom:313_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:314_b13_a13_d13_i13 @atom:314_b13_a13_d13_i13 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:315_b46_a46_d46_i46 @atom:315_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:316_b13_a13_d13_i13 @atom:316_b13_a13_d13_i13 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:317_b46_a46_d46_i46 @atom:317_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:318_b13_a13_d13_i13 @atom:318_b13_a13_d13_i13 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:319_b46_a46_d46_i46 @atom:319_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:320_b57_a57_d57_i57 @atom:320_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:321_b3_a3_d3_i3 @atom:321_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:322_b57_a57_d57_i57 @atom:322_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:323_b48_a48_d48_i48 @atom:323_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:324_b47_a47_d47_i47 @atom:324_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:325_b47_a47_d47_i47 @atom:325_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:326_b45_a45_d45_i45 @atom:326_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:327_b4_a4_d4_i4 @atom:327_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:328_b45_a45_d45_i45 @atom:328_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:329_b55_a55_d55_i55 @atom:329_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:330_b45_a45_d45_i45 @atom:330_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:331_b45_a45_d45_i45 @atom:331_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:332_b49_a49_d49_i49 @atom:332_b49_a49_d49_i49 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:333_b58_a58_d58_i58 @atom:333_b58_a58_d58_i58 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:334_b13_a13_d13_i13 @atom:334_b13_a13_d13_i13 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:335_b46_a46_d46_i46 @atom:335_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:336_b64_a64_d64_i64 @atom:336_b64_a64_d64_i64 lj/cut/coul/long 0.2 3.74 - pair_coeff @atom:337_b52_a52_d52_i52 @atom:337_b52_a52_d52_i52 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:338_b20_a20_d20_i20 @atom:338_b20_a20_d20_i20 lj/cut/coul/long 0.17 3.0 - pair_coeff @atom:339_b13_a13_d13_i13 @atom:339_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.55 - pair_coeff @atom:340_b47_a47_d47_i47 @atom:340_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5 - pair_coeff @atom:341_b21_a21_d21_i21 @atom:341_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4 - pair_coeff @atom:342_b47_a47_d47_i47 @atom:342_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:343_b1_a1_d1_i1 @atom:343_b1_a1_d1_i1 lj/cut/coul/long 0.71 3.05 - pair_coeff @atom:344_b21_a21_d21_i21 @atom:344_b21_a21_d21_i21 lj/cut/coul/long 0.71 4.02 - pair_coeff @atom:345_b65_a65_d65_i65 @atom:345_b65_a65_d65_i65 lj/cut/coul/long 0.71 4.28 - pair_coeff @atom:346_b66_a66_d66_i66 @atom:346_b66_a66_d66_i66 lj/cut/coul/long 0.71 4.81 - pair_coeff @atom:347_b67_a67_d67_i67 @atom:347_b67_a67_d67_i67 lj/cut/coul/long 0.0005 5.34 - pair_coeff @atom:348_b68_a68_d68_i68 @atom:348_b68_a68_d68_i68 lj/cut/coul/long 0.0005 2.87 - pair_coeff @atom:349_b69_a69_d69_i69 @atom:349_b69_a69_d69_i69 lj/cut/coul/long 0.0005 4.07 - pair_coeff @atom:350_b70_a70_d70_i70 @atom:350_b70_a70_d70_i70 lj/cut/coul/long 0.0005 5.17 - pair_coeff @atom:351_b71_a71_d71_i71 @atom:351_b71_a71_d71_i71 lj/cut/coul/long 0.0005 5.6 - pair_coeff @atom:352_b72_a72_d72_i72 @atom:352_b72_a72_d72_i72 lj/cut/coul/long 0.0005 6.2 - pair_coeff @atom:353_b73_a73_d73_i73 @atom:353_b73_a73_d73_i73 lj/cut/coul/long 0.875044 1.644471 - pair_coeff @atom:354_b74_a74_d74_i74 @atom:354_b74_a74_d74_i74 lj/cut/coul/long 0.449657 2.412031 - pair_coeff @atom:355_b75_a75_d75_i75 @atom:355_b75_a75_d75_i75 lj/cut/coul/long 0.118226 3.102688 - pair_coeff @atom:356_b76_a76_d76_i76 @atom:356_b76_a76_d76_i76 lj/cut/coul/long 0.047096 3.81661 - pair_coeff @atom:357_b6_a6_d6_i6 @atom:357_b6_a6_d6_i6 lj/cut/coul/long 0.3 4.2 - pair_coeff @atom:358_b46_a46_d46_i46 @atom:358_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:359_b15_a15_d15_i15 @atom:359_b15_a15_d15_i15 lj/cut/coul/long 0.5 4.25 - pair_coeff @atom:360_b6_a6_d6_i6 @atom:360_b6_a6_d6_i6 lj/cut/coul/long 0.3 4.2 - pair_coeff @atom:361_b46_a46_d46_i46 @atom:361_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:362_b5_a5_d5_i5 @atom:362_b5_a5_d5_i5 lj/cut/coul/long 0.25 3.15 - pair_coeff @atom:363_b13_a13_d13_i13 @atom:363_b13_a13_d13_i13 lj/cut/coul/long 0.3 4.2 - pair_coeff @atom:364_b46_a46_d46_i46 @atom:364_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:365_b19_a19_d19_i19 @atom:365_b19_a19_d19_i19 lj/cut/coul/long 0.15 3.65 - pair_coeff @atom:366_b18_a18_d18_i18 @atom:366_b18_a18_d18_i18 lj/cut/coul/long 0.25 3.4 - pair_coeff @atom:367_b6_a6_d6_i6 @atom:367_b6_a6_d6_i6 lj/cut/coul/long 0.3 4.2 - pair_coeff @atom:368_b46_a46_d46_i46 @atom:368_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:369_b53_a53_d53_i53 @atom:369_b53_a53_d53_i53 lj/cut/coul/long 0.25 3.4 - pair_coeff @atom:370_b45_a45_d45_i45 @atom:370_b45_a45_d45_i45 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:371_b6_a6_d6_i6 @atom:371_b6_a6_d6_i6 lj/cut/coul/long 0.3 4.2 - pair_coeff @atom:372_b46_a46_d46_i46 @atom:372_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:373_b13_a13_d13_i13 @atom:373_b13_a13_d13_i13 lj/cut/coul/long 0.3 4.2 - pair_coeff @atom:374_b46_a46_d46_i46 @atom:374_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5 - pair_coeff @atom:375_b33_a33_d33_i33 @atom:375_b33_a33_d33_i33 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:376_b5_a5_d5_i5 @atom:376_b5_a5_d5_i5 lj/cut/coul/long 0.25 3.2 - pair_coeff @atom:377_b7_a7_d7_i7 @atom:377_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:378_b77_a77_d77_i77 @atom:378_b77_a77_d77_i77 lj/cut/coul/long 0.4 2.81524 - pair_coeff @atom:379_b78_a78_d78_i78 @atom:379_b78_a78_d78_i78 lj/cut/coul/long 0.2 3.11815 - pair_coeff @atom:380_b20_a20_d20_i20 @atom:380_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9 - pair_coeff @atom:381_b64_a64_d64_i64 @atom:381_b64_a64_d64_i64 lj/cut/coul/long 0.2 3.74 - pair_coeff @atom:382_b52_a52_d52_i52 @atom:382_b52_a52_d52_i52 lj/cut/coul/long 0.2 3.15 - pair_coeff @atom:383_b20_a20_d20_i20 @atom:383_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9 - pair_coeff @atom:384_b13_a13_d13_i13 @atom:384_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:385_b46_a46_d46_i46 @atom:385_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:386_b64_a64_d64_i64 @atom:386_b64_a64_d64_i64 lj/cut/coul/long 0.2 3.74 - pair_coeff @atom:387_b52_a52_d52_i52 @atom:387_b52_a52_d52_i52 lj/cut/coul/long 0.2 3.15 - pair_coeff @atom:388_b20_a20_d20_i20 @atom:388_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9 - pair_coeff @atom:389_b13_a13_d13_i13 @atom:389_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:390_b46_a46_d46_i46 @atom:390_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:391_b64_a64_d64_i64 @atom:391_b64_a64_d64_i64 lj/cut/coul/long 0.2 3.74 - pair_coeff @atom:392_b52_a52_d52_i52 @atom:392_b52_a52_d52_i52 lj/cut/coul/long 0.2 3.15 - pair_coeff @atom:393_b20_a20_d20_i20 @atom:393_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9 - pair_coeff @atom:394_b13_a13_d13_i13 @atom:394_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:395_b46_a46_d46_i46 @atom:395_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:396_b13_a13_d13_i13 @atom:396_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:397_b46_a46_d46_i46 @atom:397_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:398_b48_a48_d48_i48 @atom:398_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:399_b13_a13_d13_i13 @atom:399_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:400_b46_a46_d46_i46 @atom:400_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:401_b48_a48_d48_i48 @atom:401_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:402_b13_a13_d13_i13 @atom:402_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:403_b46_a46_d46_i46 @atom:403_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:404_b48_a48_d48_i48 @atom:404_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:405_b13_a13_d13_i13 @atom:405_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:406_b3_a3_d3_i3 @atom:406_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:407_b4_a4_d4_i4 @atom:407_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:408_b20_a20_d20_i20 @atom:408_b20_a20_d20_i20 lj/cut/coul/long 0.17 3.0 - pair_coeff @atom:409_b13_a13_d13_i13 @atom:409_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:410_b46_a46_d46_i46 @atom:410_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42 - pair_coeff @atom:411_b3_a3_d3_i3 @atom:411_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:412_b3_a3_d3_i3 @atom:412_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:413_b48_a48_d48_i48 @atom:413_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:414_b20_a20_d20_i20 @atom:414_b20_a20_d20_i20 lj/cut/coul/long 0.17 3.0 - pair_coeff @atom:415_b79_a79_d79_i79 @atom:415_b79_a79_d79_i79 lj/cut/coul/long 0.25 3.55 - pair_coeff @atom:416_b23_a23_d23_i23 @atom:416_b23_a23_d23_i23 lj/cut/coul/long 0.17 2.96 - pair_coeff @atom:417_b13_a13_d13_i13 @atom:417_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:418_b46_a46_d46_i46 @atom:418_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:419_b24_a24_d24_i24 @atom:419_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:420_b45_a45_d45_i45 @atom:420_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:421_b24_a24_d24_i24 @atom:421_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:422_b45_a45_d45_i45 @atom:422_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:423_b13_a13_d13_i13 @atom:423_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:424_b46_a46_d46_i46 @atom:424_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:425_b13_a13_d13_i13 @atom:425_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:426_b46_a46_d46_i46 @atom:426_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:427_b13_a13_d13_i13 @atom:427_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:428_b46_a46_d46_i46 @atom:428_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:429_b48_a48_d48_i48 @atom:429_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:430_b48_a48_d48_i48 @atom:430_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:431_b13_a13_d13_i13 @atom:431_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:432_b13_a13_d13_i13 @atom:432_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:433_b13_a13_d13_i13 @atom:433_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:434_b79_a79_d79_i79 @atom:434_b79_a79_d79_i79 lj/cut/coul/long 0.25 3.55 - pair_coeff @atom:435_b23_a23_d23_i23 @atom:435_b23_a23_d23_i23 lj/cut/coul/long 0.17 2.96 - pair_coeff @atom:436_b22_a22_d22_i22 @atom:436_b22_a22_d22_i22 lj/cut/coul/long 0.395 3.56 - pair_coeff @atom:437_b22_a22_d22_i22 @atom:437_b22_a22_d22_i22 lj/cut/coul/long 0.395 3.56 - pair_coeff @atom:438_b23_a23_d23_i23 @atom:438_b23_a23_d23_i23 lj/cut/coul/long 0.28 2.93 - pair_coeff @atom:439_b13_a13_d13_i13 @atom:439_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:440_b13_a13_d13_i13 @atom:440_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:441_b80_a80_d80_i80 @atom:441_b80_a80_d80_i80 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:442_b60_a60_d60_i60 @atom:442_b60_a60_d60_i60 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:443_b81_a81_d81_i81 @atom:443_b81_a81_d81_i81 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:444_b57_a57_d57_i57 @atom:444_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:445_b45_a45_d45_i45 @atom:445_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:446_b13_a13_d13_i13 @atom:446_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:447_b82_a82_d82_i82 @atom:447_b82_a82_d82_i82 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:448_b83_a83_d83_i83 @atom:448_b83_a83_d83_i83 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:449_b84_a84_d84_i84 @atom:449_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:450_b82_a82_d82_i82 @atom:450_b82_a82_d82_i82 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:451_b85_a85_d85_i85 @atom:451_b85_a85_d85_i85 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:452_b61_a61_d61_i61 @atom:452_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:453_b57_a57_d57_i57 @atom:453_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:454_b45_a45_d45_i45 @atom:454_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:455_b84_a84_d84_i84 @atom:455_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:456_b13_a13_d13_i13 @atom:456_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:457_b13_a13_d13_i13 @atom:457_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:458_b47_a47_d47_i47 @atom:458_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:459_b47_a47_d47_i47 @atom:459_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:460_b86_a86_d86_i86 @atom:460_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:461_b56_a56_d56_i56 @atom:461_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:462_b48_a48_d48_i48 @atom:462_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:463_b48_a48_d48_i48 @atom:463_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:464_b48_a48_d48_i48 @atom:464_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:465_b49_a49_d49_i49 @atom:465_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:466_b49_a49_d49_i49 @atom:466_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:467_b49_a49_d49_i49 @atom:467_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:468_b56_a56_d56_i56 @atom:468_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:469_b48_a48_d48_i48 @atom:469_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:470_b49_a49_d49_i49 @atom:470_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:471_b56_a56_d56_i56 @atom:471_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:472_b59_a59_d59_i59 @atom:472_b59_a59_d59_i59 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:473_b48_a48_d48_i48 @atom:473_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:474_b48_a48_d48_i48 @atom:474_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:475_b49_a49_d49_i49 @atom:475_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:476_b49_a49_d49_i49 @atom:476_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:477_b49_a49_d49_i49 @atom:477_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:478_b56_a56_d56_i56 @atom:478_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:479_b48_a48_d48_i48 @atom:479_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:480_b48_a48_d48_i48 @atom:480_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:481_b49_a49_d49_i49 @atom:481_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:482_b49_a49_d49_i49 @atom:482_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:483_b57_a57_d57_i57 @atom:483_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:484_b84_a84_d84_i84 @atom:484_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:485_b87_a87_d87_i87 @atom:485_b87_a87_d87_i87 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:486_b45_a45_d45_i45 @atom:486_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:487_b49_a49_d49_i49 @atom:487_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:488_b49_a49_d49_i49 @atom:488_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:489_b57_a57_d57_i57 @atom:489_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:490_b61_a61_d61_i61 @atom:490_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:491_b88_a88_d88_i88 @atom:491_b88_a88_d88_i88 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:492_b87_a87_d87_i87 @atom:492_b87_a87_d87_i87 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:493_b84_a84_d84_i84 @atom:493_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:494_b45_a45_d45_i45 @atom:494_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:495_b49_a49_d49_i49 @atom:495_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:496_b49_a49_d49_i49 @atom:496_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:497_b49_a49_d49_i49 @atom:497_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:498_b57_a57_d57_i57 @atom:498_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:499_b82_a82_d82_i82 @atom:499_b82_a82_d82_i82 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:500_b61_a61_d61_i61 @atom:500_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:501_b83_a83_d83_i83 @atom:501_b83_a83_d83_i83 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:502_b84_a84_d84_i84 @atom:502_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:503_b45_a45_d45_i45 @atom:503_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:504_b49_a49_d49_i49 @atom:504_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:505_b49_a49_d49_i49 @atom:505_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:506_b49_a49_d49_i49 @atom:506_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:507_b20_a20_d20_i20 @atom:507_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9 - pair_coeff @atom:508_b84_a84_d84_i84 @atom:508_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:509_b87_a87_d87_i87 @atom:509_b87_a87_d87_i87 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:510_b49_a49_d49_i49 @atom:510_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:511_b49_a49_d49_i49 @atom:511_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:512_b20_a20_d20_i20 @atom:512_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9 - pair_coeff @atom:513_b82_a82_d82_i82 @atom:513_b82_a82_d82_i82 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:514_b61_a61_d61_i61 @atom:514_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:515_b83_a83_d83_i83 @atom:515_b83_a83_d83_i83 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:516_b84_a84_d84_i84 @atom:516_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:517_b49_a49_d49_i49 @atom:517_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:518_b49_a49_d49_i49 @atom:518_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:519_b49_a49_d49_i49 @atom:519_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:520_b20_a20_d20_i20 @atom:520_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9 - pair_coeff @atom:521_b61_a61_d61_i61 @atom:521_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:522_b88_a88_d88_i88 @atom:522_b88_a88_d88_i88 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:523_b87_a87_d87_i87 @atom:523_b87_a87_d87_i87 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:524_b84_a84_d84_i84 @atom:524_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:525_b49_a49_d49_i49 @atom:525_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:526_b49_a49_d49_i49 @atom:526_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:527_b49_a49_d49_i49 @atom:527_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:528_b57_a57_d57_i57 @atom:528_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:529_b84_a84_d84_i84 @atom:529_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:530_b87_a87_d87_i87 @atom:530_b87_a87_d87_i87 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:531_b48_a48_d48_i48 @atom:531_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:532_b48_a48_d48_i48 @atom:532_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:533_b48_a48_d48_i48 @atom:533_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:534_b48_a48_d48_i48 @atom:534_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:535_b81_a81_d81_i81 @atom:535_b81_a81_d81_i81 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:536_b60_a60_d60_i60 @atom:536_b60_a60_d60_i60 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:537_b45_a45_d45_i45 @atom:537_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:538_b49_a49_d49_i49 @atom:538_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:539_b49_a49_d49_i49 @atom:539_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:540_b49_a49_d49_i49 @atom:540_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:541_b49_a49_d49_i49 @atom:541_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:542_b49_a49_d49_i49 @atom:542_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:543_b49_a49_d49_i49 @atom:543_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:544_b56_a56_d56_i56 @atom:544_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:545_b48_a48_d48_i48 @atom:545_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:546_b48_a48_d48_i48 @atom:546_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:547_b48_a48_d48_i48 @atom:547_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:548_b48_a48_d48_i48 @atom:548_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:549_b48_a48_d48_i48 @atom:549_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:550_b48_a48_d48_i48 @atom:550_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:551_b48_a48_d48_i48 @atom:551_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:552_b48_a48_d48_i48 @atom:552_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:553_b48_a48_d48_i48 @atom:553_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:554_b49_a49_d49_i49 @atom:554_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:555_b49_a49_d49_i49 @atom:555_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:556_b49_a49_d49_i49 @atom:556_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:557_b49_a49_d49_i49 @atom:557_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:558_b49_a49_d49_i49 @atom:558_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:559_b49_a49_d49_i49 @atom:559_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:560_b49_a49_d49_i49 @atom:560_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:561_b56_a56_d56_i56 @atom:561_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:562_b59_a59_d59_i59 @atom:562_b59_a59_d59_i59 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:563_b56_a56_d56_i56 @atom:563_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:564_b60_a60_d60_i60 @atom:564_b60_a60_d60_i60 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:565_b60_a60_d60_i60 @atom:565_b60_a60_d60_i60 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:566_b48_a48_d48_i48 @atom:566_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:567_b61_a61_d61_i61 @atom:567_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:568_b62_a62_d62_i62 @atom:568_b62_a62_d62_i62 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:569_b57_a57_d57_i57 @atom:569_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:570_b49_a49_d49_i49 @atom:570_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:571_b49_a49_d49_i49 @atom:571_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:572_b49_a49_d49_i49 @atom:572_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:573_b45_a45_d45_i45 @atom:573_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:574_b16_a16_d16_i16 @atom:574_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55 - pair_coeff @atom:575_b82_a82_d82_i82 @atom:575_b82_a82_d82_i82 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:576_b61_a61_d61_i61 @atom:576_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:577_b83_a83_d83_i83 @atom:577_b83_a83_d83_i83 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:578_b84_a84_d84_i84 @atom:578_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:579_b49_a49_d49_i49 @atom:579_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:580_b49_a49_d49_i49 @atom:580_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:581_b49_a49_d49_i49 @atom:581_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:582_b56_a56_d56_i56 @atom:582_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:583_b59_a59_d59_i59 @atom:583_b59_a59_d59_i59 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:584_b49_a49_d49_i49 @atom:584_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:585_b48_a48_d48_i48 @atom:585_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:586_b13_a13_d13_i13 @atom:586_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:587_b56_a56_d56_i56 @atom:587_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:588_b48_a48_d48_i48 @atom:588_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:589_b48_a48_d48_i48 @atom:589_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:590_b48_a48_d48_i48 @atom:590_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:591_b48_a48_d48_i48 @atom:591_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:592_b48_a48_d48_i48 @atom:592_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:593_b48_a48_d48_i48 @atom:593_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:594_b49_a49_d49_i49 @atom:594_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:595_b49_a49_d49_i49 @atom:595_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:596_b49_a49_d49_i49 @atom:596_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:597_b49_a49_d49_i49 @atom:597_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:598_b57_a57_d57_i57 @atom:598_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:599_b82_a82_d82_i82 @atom:599_b82_a82_d82_i82 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:600_b61_a61_d61_i61 @atom:600_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:601_b83_a83_d83_i83 @atom:601_b83_a83_d83_i83 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:602_b84_a84_d84_i84 @atom:602_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:603_b13_a13_d13_i13 @atom:603_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:604_b49_a49_d49_i49 @atom:604_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:605_b49_a49_d49_i49 @atom:605_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:606_b49_a49_d49_i49 @atom:606_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:607_b46_a46_d46_i46 @atom:607_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:608_b13_a13_d13_i13 @atom:608_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:609_b13_a13_d13_i13 @atom:609_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:610_b13_a13_d13_i13 @atom:610_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:611_b13_a13_d13_i13 @atom:611_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:612_b13_a13_d13_i13 @atom:612_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:613_b13_a13_d13_i13 @atom:613_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:614_b13_a13_d13_i13 @atom:614_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:615_b13_a13_d13_i13 @atom:615_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:616_b13_a13_d13_i13 @atom:616_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:617_b13_a13_d13_i13 @atom:617_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:618_b13_a13_d13_i13 @atom:618_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:619_b13_a13_d13_i13 @atom:619_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:620_b13_a13_d13_i13 @atom:620_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:621_b13_a13_d13_i13 @atom:621_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:622_b13_a13_d13_i13 @atom:622_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:623_b15_a15_d15_i15 @atom:623_b15_a15_d15_i15 lj/cut/coul/long 0.25 3.55 - pair_coeff @atom:624_b17_a17_d17_i17 @atom:624_b17_a17_d17_i17 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:625_b48_a48_d48_i48 @atom:625_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:626_b89_a89_d89_i89 @atom:626_b89_a89_d89_i89 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:627_b90_a90_d90_i90 @atom:627_b90_a90_d90_i90 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:628_b91_a91_d91_i91 @atom:628_b91_a91_d91_i91 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:629_b91_a91_d91_i91 @atom:629_b91_a91_d91_i91 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:630_b13_a13_d13_i13 @atom:630_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:631_b86_a86_d86_i86 @atom:631_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:632_b86_a86_d86_i86 @atom:632_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:633_b86_a86_d86_i86 @atom:633_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:634_b86_a86_d86_i86 @atom:634_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:635_b86_a86_d86_i86 @atom:635_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:636_b86_a86_d86_i86 @atom:636_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:637_b16_a16_d16_i16 @atom:637_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55 - pair_coeff @atom:638_b92_a92_d92_i92 @atom:638_b92_a92_d92_i92 lj/cut/coul/long 0.054 3.473 - pair_coeff @atom:639_b93_a93_d93_i93 @atom:639_b93_a93_d93_i93 lj/cut/coul/long 0.05 3.3 - pair_coeff @atom:640_b94_a94_d94_i94 @atom:640_b94_a94_d94_i94 lj/cut/coul/long 0.05 3.3 - pair_coeff @atom:641_b95_a95_d95_i95 @atom:641_b95_a95_d95_i95 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:642_b13_a13_d13_i13 @atom:642_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:643_b46_a46_d46_i46 @atom:643_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:644_b96_a96_d96_i96 @atom:644_b96_a96_d96_i96 lj/cut/coul/long 0.06 3.75 - pair_coeff @atom:645_b97_a97_d97_i97 @atom:645_b97_a97_d97_i97 lj/cut/coul/long 0.054 3.473 - pair_coeff @atom:646_b98_a98_d98_i98 @atom:646_b98_a98_d98_i98 lj/cut/coul/long 0.05 3.3 - pair_coeff @atom:647_b99_a99_d99_i99 @atom:647_b99_a99_d99_i99 lj/cut/coul/long 0.05 3.3 - pair_coeff @atom:648_b100_a100_d100_i100 @atom:648_b100_a100_d100_i100 lj/cut/coul/long 0.04 2.95 - pair_coeff @atom:649_b47_a47_d47_i47 @atom:649_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:650_b21_a21_d21_i21 @atom:650_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4 - pair_coeff @atom:651_b46_a46_d46_i46 @atom:651_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:652_b91_a91_d91_i91 @atom:652_b91_a91_d91_i91 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:653_b91_a91_d91_i91 @atom:653_b91_a91_d91_i91 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:654_b91_a91_d91_i91 @atom:654_b91_a91_d91_i91 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:655_b48_a48_d48_i48 @atom:655_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:656_b49_a49_d49_i49 @atom:656_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:657_b48_a48_d48_i48 @atom:657_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:658_b49_a49_d49_i49 @atom:658_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:659_b48_a48_d48_i48 @atom:659_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:660_b1_a1_d1_i1 @atom:660_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.85 - pair_coeff @atom:661_b48_a48_d48_i48 @atom:661_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:662_b1_a1_d1_i1 @atom:662_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.85 - pair_coeff @atom:663_b65_a65_d65_i65 @atom:663_b65_a65_d65_i65 lj/cut/coul/long 0.47 3.47 - pair_coeff @atom:664_b2_a2_d2_i2 @atom:664_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.905 - pair_coeff @atom:665_b48_a48_d48_i48 @atom:665_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:666_b13_a13_d13_i13 @atom:666_b13_a13_d13_i13 lj/cut/coul/long 0.062 3.25 - pair_coeff @atom:667_b1_a1_d1_i1 @atom:667_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.94 - pair_coeff @atom:668_b48_a48_d48_i48 @atom:668_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:669_b1_a1_d1_i1 @atom:669_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.85 - pair_coeff @atom:670_b48_a48_d48_i48 @atom:670_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:671_b65_a65_d65_i65 @atom:671_b65_a65_d65_i65 lj/cut/coul/long 0.47 3.47 - pair_coeff @atom:672_b48_a48_d48_i48 @atom:672_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:673_b66_a66_d66_i66 @atom:673_b66_a66_d66_i66 lj/cut/coul/long 0.6 3.75 - pair_coeff @atom:674_b91_a91_d91_i91 @atom:674_b91_a91_d91_i91 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:675_b15_a15_d15_i15 @atom:675_b15_a15_d15_i15 lj/cut/coul/long 0.25 3.55 - pair_coeff @atom:676_b48_a48_d48_i48 @atom:676_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:677_b48_a48_d48_i48 @atom:677_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:678_b48_a48_d48_i48 @atom:678_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:679_b48_a48_d48_i48 @atom:679_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:680_b48_a48_d48_i48 @atom:680_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:681_b49_a49_d49_i49 @atom:681_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:682_b49_a49_d49_i49 @atom:682_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:683_b48_a48_d48_i48 @atom:683_b48_a48_d48_i48 lj/cut/coul/long 0.05 3.55 - pair_coeff @atom:684_b55_a55_d55_i55 @atom:684_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:685_b45_a45_d45_i45 @atom:685_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:686_b45_a45_d45_i45 @atom:686_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:687_b49_a49_d49_i49 @atom:687_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:688_b13_a13_d13_i13 @atom:688_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:689_b13_a13_d13_i13 @atom:689_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:690_b101_a101_d101_i101 @atom:690_b101_a101_d101_i101 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:691_b56_a56_d56_i56 @atom:691_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:692_b101_a101_d101_i101 @atom:692_b101_a101_d101_i101 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:693_b48_a48_d48_i48 @atom:693_b48_a48_d48_i48 lj/cut/coul/long 0.05 3.55 - pair_coeff @atom:694_b18_a18_d18_i18 @atom:694_b18_a18_d18_i18 lj/cut/coul/long 0.17 3.2 - pair_coeff @atom:695_b19_a19_d19_i19 @atom:695_b19_a19_d19_i19 lj/cut/coul/long 0.066 3.3 - pair_coeff @atom:696_b13_a13_d13_i13 @atom:696_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.3 - pair_coeff @atom:697_b13_a13_d13_i13 @atom:697_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.3 - pair_coeff @atom:698_b13_a13_d13_i13 @atom:698_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.3 - pair_coeff @atom:699_b13_a13_d13_i13 @atom:699_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.3 - pair_coeff @atom:700_b46_a46_d46_i46 @atom:700_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.5 - pair_coeff @atom:701_b102_a102_d102_i102 @atom:701_b102_a102_d102_i102 lj/cut/coul/long 0.12 3.25 - pair_coeff @atom:702_b103_a103_d103_i103 @atom:702_b103_a103_d103_i103 lj/cut/coul/long 0.17 2.96 - pair_coeff @atom:703_b13_a13_d13_i13 @atom:703_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:704_b46_a46_d46_i46 @atom:704_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.5 - pair_coeff @atom:705_b13_a13_d13_i13 @atom:705_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:706_b13_a13_d13_i13 @atom:706_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:707_b13_a13_d13_i13 @atom:707_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:708_b102_a102_d102_i102 @atom:708_b102_a102_d102_i102 lj/cut/coul/long 0.12 3.25 - pair_coeff @atom:709_b48_a48_d48_i48 @atom:709_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:710_b13_a13_d13_i13 @atom:710_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.3 - pair_coeff @atom:711_b56_a56_d56_i56 @atom:711_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:712_b4_a4_d4_i4 @atom:712_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:713_b3_a3_d3_i3 @atom:713_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:714_b20_a20_d20_i20 @atom:714_b20_a20_d20_i20 lj/cut/coul/long 0.17 3.0 - pair_coeff @atom:715_b13_a13_d13_i13 @atom:715_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:716_b13_a13_d13_i13 @atom:716_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:717_b13_a13_d13_i13 @atom:717_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:718_b46_a46_d46_i46 @atom:718_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42 - pair_coeff @atom:719_b46_a46_d46_i46 @atom:719_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42 - pair_coeff @atom:720_b46_a46_d46_i46 @atom:720_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42 - pair_coeff @atom:721_b20_a20_d20_i20 @atom:721_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9 - pair_coeff @atom:722_b104_a104_d104_i104 @atom:722_b104_a104_d104_i104 lj/cut/coul/long 0.2 3.74 - pair_coeff @atom:723_b13_a13_d13_i13 @atom:723_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:724_b13_a13_d13_i13 @atom:724_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:725_b46_a46_d46_i46 @atom:725_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:726_b64_a64_d64_i64 @atom:726_b64_a64_d64_i64 lj/cut/coul/long 0.2 3.74 - pair_coeff @atom:727_b1_a1_d1_i1 @atom:727_b1_a1_d1_i1 lj/cut/coul/long 0.061 3.1181 - pair_coeff @atom:728_b24_a24_d24_i24 @atom:728_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.15 - pair_coeff @atom:729_b4_a4_d4_i4 @atom:729_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.86 - pair_coeff @atom:730_b44_a44_d44_i44 @atom:730_b44_a44_d44_i44 lj/cut/coul/long 0.17 3.3 - pair_coeff @atom:731_b44_a44_d44_i44 @atom:731_b44_a44_d44_i44 lj/cut/coul/long 0.17 3.3 - pair_coeff @atom:732_b44_a44_d44_i44 @atom:732_b44_a44_d44_i44 lj/cut/coul/long 0.17 3.3 - pair_coeff @atom:733_b13_a13_d13_i13 @atom:733_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:734_b13_a13_d13_i13 @atom:734_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:735_b13_a13_d13_i13 @atom:735_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:736_b13_a13_d13_i13 @atom:736_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:737_b13_a13_d13_i13 @atom:737_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:738_b13_a13_d13_i13 @atom:738_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:739_b45_a45_d45_i45 @atom:739_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:740_b45_a45_d45_i45 @atom:740_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:741_b46_a46_d46_i46 @atom:741_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.5 - pair_coeff @atom:742_b13_a13_d13_i13 @atom:742_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:743_b13_a13_d13_i13 @atom:743_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:744_b13_a13_d13_i13 @atom:744_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:745_b13_a13_d13_i13 @atom:745_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:746_b48_a48_d48_i48 @atom:746_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:747_b48_a48_d48_i48 @atom:747_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:748_b48_a48_d48_i48 @atom:748_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:749_b13_a13_d13_i13 @atom:749_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:750_b13_a13_d13_i13 @atom:750_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:751_b13_a13_d13_i13 @atom:751_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:752_b13_a13_d13_i13 @atom:752_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:753_b13_a13_d13_i13 @atom:753_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:754_b13_a13_d13_i13 @atom:754_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:755_b19_a19_d19_i19 @atom:755_b19_a19_d19_i19 lj/cut/coul/long 0.086 3.3 - pair_coeff @atom:756_b46_a46_d46_i46 @atom:756_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42 - pair_coeff @atom:757_b19_a19_d19_i19 @atom:757_b19_a19_d19_i19 lj/cut/coul/long 0.21 3.3 - pair_coeff @atom:758_b19_a19_d19_i19 @atom:758_b19_a19_d19_i19 lj/cut/coul/long 0.135 3.3 - pair_coeff @atom:759_b19_a19_d19_i19 @atom:759_b19_a19_d19_i19 lj/cut/coul/long 0.1 3.3 - pair_coeff @atom:760_b46_a46_d46_i46 @atom:760_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.5 - pair_coeff @atom:761_b51_a51_d51_i51 @atom:761_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:762_b51_a51_d51_i51 @atom:762_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:763_b51_a51_d51_i51 @atom:763_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:764_b5_a5_d5_i5 @atom:764_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.12 - pair_coeff @atom:765_b7_a7_d7_i7 @atom:765_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:766_b105_a105_d105_i105 @atom:766_b105_a105_d105_i105 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:767_b105_a105_d105_i105 @atom:767_b105_a105_d105_i105 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:768_b105_a105_d105_i105 @atom:768_b105_a105_d105_i105 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:769_b19_a19_d19_i19 @atom:769_b19_a19_d19_i19 lj/cut/coul/long 0.21 3.3 - pair_coeff @atom:770_b53_a53_d53_i53 @atom:770_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:771_b54_a54_d54_i54 @atom:771_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:772_b13_a13_d13_i13 @atom:772_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:773_b13_a13_d13_i13 @atom:773_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:774_b13_a13_d13_i13 @atom:774_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:775_b13_a13_d13_i13 @atom:775_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:776_b84_a84_d84_i84 @atom:776_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:777_b87_a87_d87_i87 @atom:777_b87_a87_d87_i87 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:778_b86_a86_d86_i86 @atom:778_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:779_b86_a86_d86_i86 @atom:779_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:780_b46_a46_d46_i46 @atom:780_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:781_b13_a13_d13_i13 @atom:781_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:782_b3_a3_d3_i3 @atom:782_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:783_b53_a53_d53_i53 @atom:783_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:784_b52_a52_d52_i52 @atom:784_b52_a52_d52_i52 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:785_b54_a54_d54_i54 @atom:785_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:786_b1_a1_d1_i1 @atom:786_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.94 - pair_coeff @atom:787_b13_a13_d13_i13 @atom:787_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:788_b46_a46_d46_i46 @atom:788_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:789_b13_a13_d13_i13 @atom:789_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:790_b13_a13_d13_i13 @atom:790_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:791_b13_a13_d13_i13 @atom:791_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:792_b13_a13_d13_i13 @atom:792_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:793_b13_a13_d13_i13 @atom:793_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:794_b13_a13_d13_i13 @atom:794_b13_a13_d13_i13 lj/cut/coul/long 0.097 3.5 - pair_coeff @atom:795_b1_a1_d1_i1 @atom:795_b1_a1_d1_i1 lj/cut/coul/long 0.053 2.95 - pair_coeff @atom:796_b13_a13_d13_i13 @atom:796_b13_a13_d13_i13 lj/cut/coul/long 0.062 3.25 - pair_coeff @atom:797_b46_a46_d46_i46 @atom:797_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:798_b13_a13_d13_i13 @atom:798_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:799_b13_a13_d13_i13 @atom:799_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:800_b21_a21_d21_i21 @atom:800_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4 - pair_coeff @atom:801_b13_a13_d13_i13 @atom:801_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:802_b46_a46_d46_i46 @atom:802_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:803_b13_a13_d13_i13 @atom:803_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:804_b13_a13_d13_i13 @atom:804_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:805_b65_a65_d65_i65 @atom:805_b65_a65_d65_i65 lj/cut/coul/long 0.47 3.47 - pair_coeff @atom:806_b13_a13_d13_i13 @atom:806_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:807_b46_a46_d46_i46 @atom:807_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:808_b13_a13_d13_i13 @atom:808_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:809_b13_a13_d13_i13 @atom:809_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:810_b1_a1_d1_i1 @atom:810_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.94 - pair_coeff @atom:811_b21_a21_d21_i21 @atom:811_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4 - pair_coeff @atom:812_b65_a65_d65_i65 @atom:812_b65_a65_d65_i65 lj/cut/coul/long 0.47 3.47 - pair_coeff @atom:813_b48_a48_d48_i48 @atom:813_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:814_b20_a20_d20_i20 @atom:814_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9 - pair_coeff @atom:815_b13_a13_d13_i13 @atom:815_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:816_b1_a1_d1_i1 @atom:816_b1_a1_d1_i1 lj/cut/coul/long 0.06 2.9 - pair_coeff @atom:817_b24_a24_d24_i24 @atom:817_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:818_b48_a48_d48_i48 @atom:818_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:819_b13_a13_d13_i13 @atom:819_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:820_b3_a3_d3_i3 @atom:820_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:821_b3_a3_d3_i3 @atom:821_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:822_b4_a4_d4_i4 @atom:822_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:823_b24_a24_d24_i24 @atom:823_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:824_b45_a45_d45_i45 @atom:824_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:825_b5_a5_d5_i5 @atom:825_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.12 - pair_coeff @atom:826_b7_a7_d7_i7 @atom:826_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0 - pair_coeff @atom:827_b13_a13_d13_i13 @atom:827_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:828_b13_a13_d13_i13 @atom:828_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:829_b86_a86_d86_i86 @atom:829_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:830_b86_a86_d86_i86 @atom:830_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:831_b86_a86_d86_i86 @atom:831_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:832_b86_a86_d86_i86 @atom:832_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:833_b48_a48_d48_i48 @atom:833_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:834_b106_a106_d106_i106 @atom:834_b106_a106_d106_i106 lj/cut/coul/long 0.0125 1.96 - pair_coeff @atom:835_b13_a13_d13_i13 @atom:835_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:836_b13_a13_d13_i13 @atom:836_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:837_b13_a13_d13_i13 @atom:837_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:838_b66_a66_d66_i66 @atom:838_b66_a66_d66_i66 lj/cut/coul/long 0.6 3.75 - pair_coeff @atom:839_b46_a46_d46_i46 @atom:839_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:840_b24_a24_d24_i24 @atom:840_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:841_b48_a48_d48_i48 @atom:841_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:842_b48_a48_d48_i48 @atom:842_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:843_b24_a24_d24_i24 @atom:843_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:844_b48_a48_d48_i48 @atom:844_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:845_b3_a3_d3_i3 @atom:845_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:846_b4_a4_d4_i4 @atom:846_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:847_b107_a107_d107_i107 @atom:847_b107_a107_d107_i107 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:848_b13_a13_d13_i13 @atom:848_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:849_b13_a13_d13_i13 @atom:849_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:850_b13_a13_d13_i13 @atom:850_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:851_b13_a13_d13_i13 @atom:851_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:852_b46_a46_d46_i46 @atom:852_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42 - pair_coeff @atom:853_b3_a3_d3_i3 @atom:853_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75 - pair_coeff @atom:854_b4_a4_d4_i4 @atom:854_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:855_b46_a46_d46_i46 @atom:855_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42 - pair_coeff @atom:856_b13_a13_d13_i13 @atom:856_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:857_b13_a13_d13_i13 @atom:857_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:858_b13_a13_d13_i13 @atom:858_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:859_b13_a13_d13_i13 @atom:859_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:860_b13_a13_d13_i13 @atom:860_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:861_b13_a13_d13_i13 @atom:861_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:862_b13_a13_d13_i13 @atom:862_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:863_b13_a13_d13_i13 @atom:863_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:864_b13_a13_d13_i13 @atom:864_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:865_b13_a13_d13_i13 @atom:865_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:866_b108_a108_d108_i108 @atom:866_b108_a108_d108_i108 lj/cut/coul/long 0.1 4.0 - pair_coeff @atom:867_b108_a108_d108_i108 @atom:867_b108_a108_d108_i108 lj/cut/coul/long 0.1 4.0 - pair_coeff @atom:868_b108_a108_d108_i108 @atom:868_b108_a108_d108_i108 lj/cut/coul/long 0.1 4.0 - pair_coeff @atom:869_b108_a108_d108_i108 @atom:869_b108_a108_d108_i108 lj/cut/coul/long 0.1 4.0 - pair_coeff @atom:870_b45_a45_d45_i45 @atom:870_b45_a45_d45_i45 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:871_b13_a13_d13_i13 @atom:871_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:872_b13_a13_d13_i13 @atom:872_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:873_b13_a13_d13_i13 @atom:873_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:874_b13_a13_d13_i13 @atom:874_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:875_b1_a1_d1_i1 @atom:875_b1_a1_d1_i1 lj/cut/coul/long 0.72 3.08 - pair_coeff @atom:876_b21_a21_d21_i21 @atom:876_b21_a21_d21_i21 lj/cut/coul/long 0.11779 4.18 - pair_coeff @atom:877_b65_a65_d65_i65 @atom:877_b65_a65_d65_i65 lj/cut/coul/long 0.09 4.51 - pair_coeff @atom:878_b66_a66_d66_i66 @atom:878_b66_a66_d66_i66 lj/cut/coul/long 0.07 5.15 - pair_coeff @atom:879_b68_a68_d68_i68 @atom:879_b68_a68_d68_i68 lj/cut/coul/long 0.018279 2.7 - pair_coeff @atom:880_b69_a69_d69_i69 @atom:880_b69_a69_d69_i69 lj/cut/coul/long 0.002772 3.35 - pair_coeff @atom:881_b70_a70_d70_i70 @atom:881_b70_a70_d70_i70 lj/cut/coul/long 0.000328 4.06 - pair_coeff @atom:882_b71_a71_d71_i71 @atom:882_b71_a71_d71_i71 lj/cut/coul/long 0.000171 4.32 - pair_coeff @atom:883_b72_a72_d72_i72 @atom:883_b72_a72_d72_i72 lj/cut/coul/long 8.1e-05 4.82 - pair_coeff @atom:884_b73_a73_d73_i73 @atom:884_b73_a73_d73_i73 lj/cut/coul/long 0.875044 2.91 - pair_coeff @atom:885_b74_a74_d74_i74 @atom:885_b74_a74_d74_i74 lj/cut/coul/long 0.449657 3.47 - pair_coeff @atom:886_b75_a75_d75_i75 @atom:886_b75_a75_d75_i75 lj/cut/coul/long 0.118226 3.82 - pair_coeff @atom:887_b76_a76_d76_i76 @atom:887_b76_a76_d76_i76 lj/cut/coul/long 0.047096 4.18 - pair_coeff @atom:888_b13_a13_d13_i13 @atom:888_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:889_b13_a13_d13_i13 @atom:889_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:890_b13_a13_d13_i13 @atom:890_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:891_b13_a13_d13_i13 @atom:891_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 - pair_coeff @atom:892_b46_a46_d46_i46 @atom:892_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5 - pair_coeff @atom:893_b53_a53_d53_i53 @atom:893_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:894_b48_a48_d48_i48 @atom:894_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:895_b53_a53_d53_i53 @atom:895_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25 - pair_coeff @atom:896_b48_a48_d48_i48 @atom:896_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55 - pair_coeff @atom:897_b109_a109_d109_i109 @atom:897_b109_a109_d109_i109 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:898_b109_a109_d109_i109 @atom:898_b109_a109_d109_i109 lj/cut/coul/long 0.076 3.55 - pair_coeff @atom:899_b46_a46_d46_i46 @atom:899_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.42 - pair_coeff @atom:900_b47_a47_d47_i47 @atom:900_b47_a47_d47_i47 lj/cut/coul/long 0.086 3.3 - pair_coeff @atom:901_b47_a47_d47_i47 @atom:901_b47_a47_d47_i47 lj/cut/coul/long 0.086 3.3 - pair_coeff @atom:902_b47_a47_d47_i47 @atom:902_b47_a47_d47_i47 lj/cut/coul/long 0.086 3.3 - pair_coeff @atom:903_b110_a110_d110_i110 @atom:903_b110_a110_d110_i110 lj/cut/coul/long 0.086 3.3 - pair_coeff @atom:904_b110_a110_d110_i110 @atom:904_b110_a110_d110_i110 lj/cut/coul/long 0.086 3.3 - pair_coeff @atom:905_b4_a4_d4_i4 @atom:905_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96 - pair_coeff @atom:906_b13_a13_d13_i13 @atom:906_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5 + pair_coeff @atom:1_b001_a001_d001_i001 @atom:1_b001_a001_d001_i001 0.061 2.94 + pair_coeff @atom:2_b002_a002_d002_i002 @atom:2_b002_a002_d002_i002 0.118 3.905 + pair_coeff @atom:3_b003_a003_d003_i003 @atom:3_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:4_b004_a004_d004_i004 @atom:4_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:5_b005_a005_d005_i005 @atom:5_b005_a005_d005_i005 0.17 3.0 + pair_coeff @atom:6_b006_a006_d006_i006 @atom:6_b006_a006_d006_i006 0.16 3.91 + pair_coeff @atom:7_b007_a007_d007_i007 @atom:7_b007_a007_d007_i007 0.0 0.0 + pair_coeff @atom:8_b008_a008_d008_i008 @atom:8_b008_a008_d008_i008 0.294 3.73 + pair_coeff @atom:9_b006_a006_d006_i006 @atom:9_b006_a006_d006_i006 0.207 3.775 + pair_coeff @atom:10_b006_a006_d006_i006 @atom:10_b006_a006_d006_i006 0.175 3.905 + pair_coeff @atom:11_b006_a006_d006_i006 @atom:11_b006_a006_d006_i006 0.16 3.91 + pair_coeff @atom:12_b006_a006_d006_i006 @atom:12_b006_a006_d006_i006 0.145 3.96 + pair_coeff @atom:13_b002_a002_d002_i002 @atom:13_b002_a002_d002_i002 0.118 3.905 + pair_coeff @atom:14_b009_a009_d009_i009 @atom:14_b009_a009_d009_i009 0.14 3.85 + pair_coeff @atom:15_b010_a010_d010_i010 @atom:15_b010_a010_d010_i010 0.08 3.85 + pair_coeff @atom:16_b011_a011_d011_i011 @atom:16_b011_a011_d011_i011 0.115 3.8 + pair_coeff @atom:17_b012_a012_d012_i012 @atom:17_b012_a012_d012_i012 0.11 3.75 + pair_coeff @atom:18_b013_a013_d013_i013 @atom:18_b013_a013_d013_i013 0.05 3.8 + pair_coeff @atom:19_b014_a014_d014_i014 @atom:19_b014_a014_d014_i014 0.105 3.75 + pair_coeff @atom:20_b005_a005_d005_i005 @atom:20_b005_a005_d005_i005 0.17 3.07 + pair_coeff @atom:21_b007_a007_d007_i007 @atom:21_b007_a007_d007_i007 0.0 0.0 + pair_coeff @atom:22_b006_a006_d006_i006 @atom:22_b006_a006_d006_i006 0.207 3.775 + pair_coeff @atom:23_b002_a002_d002_i002 @atom:23_b002_a002_d002_i002 0.118 3.905 + pair_coeff @atom:24_b015_a015_d015_i015 @atom:24_b015_a015_d015_i015 0.25 3.7 + pair_coeff @atom:25_b015_a015_d015_i015 @atom:25_b015_a015_d015_i015 0.25 3.55 + pair_coeff @atom:26_b016_a016_d016_i016 @atom:26_b016_a016_d016_i016 0.25 3.55 + pair_coeff @atom:27_b016_a016_d016_i016 @atom:27_b016_a016_d016_i016 0.25 3.55 + pair_coeff @atom:28_b017_a017_d017_i017 @atom:28_b017_a017_d017_i017 0.0 0.0 + pair_coeff @atom:29_b017_a017_d017_i017 @atom:29_b017_a017_d017_i017 0.0 0.0 + pair_coeff @atom:30_b006_a006_d006_i006 @atom:30_b006_a006_d006_i006 0.207 3.775 + pair_coeff @atom:31_b002_a002_d002_i002 @atom:31_b002_a002_d002_i002 0.118 3.905 + pair_coeff @atom:32_b006_a006_d006_i006 @atom:32_b006_a006_d006_i006 0.17 3.8 + pair_coeff @atom:33_b002_a002_d002_i002 @atom:33_b002_a002_d002_i002 0.118 3.8 + pair_coeff @atom:34_b006_a006_d006_i006 @atom:34_b006_a006_d006_i006 0.17 3.8 + pair_coeff @atom:35_b002_a002_d002_i002 @atom:35_b002_a002_d002_i002 0.118 3.8 + pair_coeff @atom:36_b018_a018_d018_i018 @atom:36_b018_a018_d018_i018 0.17 3.2 + pair_coeff @atom:37_b019_a019_d019_i019 @atom:37_b019_a019_d019_i019 0.15 3.65 + pair_coeff @atom:38_b006_a006_d006_i006 @atom:38_b006_a006_d006_i006 0.207 3.775 + pair_coeff @atom:39_b010_a010_d010_i010 @atom:39_b010_a010_d010_i010 0.08 3.85 + pair_coeff @atom:40_b013_a013_d013_i013 @atom:40_b013_a013_d013_i013 0.05 3.8 + pair_coeff @atom:41_b020_a020_d020_i020 @atom:41_b020_a020_d020_i020 0.17 3.0 + pair_coeff @atom:42_b006_a006_d006_i006 @atom:42_b006_a006_d006_i006 0.17 3.8 + pair_coeff @atom:43_b002_a002_d002_i002 @atom:43_b002_a002_d002_i002 0.118 3.8 + pair_coeff @atom:44_b002_a002_d002_i002 @atom:44_b002_a002_d002_i002 0.118 3.8 + pair_coeff @atom:45_b021_a021_d021_i021 @atom:45_b021_a021_d021_i021 0.3 3.4 + pair_coeff @atom:46_b010_a010_d010_i010 @atom:46_b010_a010_d010_i010 0.08 3.8 + pair_coeff @atom:47_b021_a021_d021_i021 @atom:47_b021_a021_d021_i021 0.3 3.47 + pair_coeff @atom:48_b013_a013_d013_i013 @atom:48_b013_a013_d013_i013 0.05 3.8 + pair_coeff @atom:49_b021_a021_d021_i021 @atom:49_b021_a021_d021_i021 0.266 3.47 + pair_coeff @atom:50_b022_a022_d022_i022 @atom:50_b022_a022_d022_i022 0.395 3.56 + pair_coeff @atom:51_b023_a023_d023_i023 @atom:51_b023_a023_d023_i023 0.28 2.93 + pair_coeff @atom:52_b006_a006_d006_i006 @atom:52_b006_a006_d006_i006 0.16 3.81 + pair_coeff @atom:53_b004_a004_d004_i004 @atom:53_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:54_b024_a024_d024_i024 @atom:54_b024_a024_d024_i024 0.17 3.25 + pair_coeff @atom:55_b003_a003_d003_i003 @atom:55_b003_a003_d003_i003 0.115 3.8 + pair_coeff @atom:56_b006_a006_d006_i006 @atom:56_b006_a006_d006_i006 0.17 3.8 + pair_coeff @atom:57_b025_a025_d025_i025 @atom:57_b025_a025_d025_i025 0.0 0.0 + pair_coeff @atom:58_b026_a026_d026_i026 @atom:58_b026_a026_d026_i026 0.02 2.556 + pair_coeff @atom:59_b027_a027_d027_i027 @atom:59_b027_a027_d027_i027 0.069 2.78 + pair_coeff @atom:60_b028_a028_d028_i028 @atom:60_b028_a028_d028_i028 0.2339 3.401 + pair_coeff @atom:61_b029_a029_d029_i029 @atom:61_b029_a029_d029_i029 0.317 3.624 + pair_coeff @atom:62_b030_a030_d030_i030 @atom:62_b030_a030_d030_i030 0.433 3.935 + pair_coeff @atom:63_b031_a031_d031_i031 @atom:63_b031_a031_d031_i031 0.1521 3.15061 + pair_coeff @atom:64_b032_a032_d032_i032 @atom:64_b032_a032_d032_i032 0.0 0.0 + pair_coeff @atom:65_b031_a031_d031_i031 @atom:65_b031_a031_d031_i031 0.155 3.15365 + pair_coeff @atom:66_b032_a032_d032_i032 @atom:66_b032_a032_d032_i032 0.0 0.0 + pair_coeff @atom:67_b033_a033_d033_i033 @atom:67_b033_a033_d033_i033 0.0 0.0 + pair_coeff @atom:68_b034_a034_d034_i034 @atom:68_b034_a034_d034_i034 0.15 3.176 + pair_coeff @atom:69_b035_a035_d035_i035 @atom:69_b035_a035_d035_i035 0.0 0.0 + pair_coeff @atom:70_b036_a036_d036_i036 @atom:70_b036_a036_d036_i036 0.1 3.27 + pair_coeff @atom:71_b037_a037_d037_i037 @atom:71_b037_a037_d037_i037 0.0 0.0 + pair_coeff @atom:72_b038_a038_d038_i038 @atom:72_b038_a038_d038_i038 0.0 0.0 + pair_coeff @atom:73_b039_a039_d039_i039 @atom:73_b039_a039_d039_i039 0.16 3.12 + pair_coeff @atom:74_b040_a040_d040_i040 @atom:74_b040_a040_d040_i040 0.0 0.0 + pair_coeff @atom:75_b041_a041_d041_i041 @atom:75_b041_a041_d041_i041 0.0 0.0 + pair_coeff @atom:76_b042_a042_d042_i042 @atom:76_b042_a042_d042_i042 0.1554 3.16557 + pair_coeff @atom:77_b043_a043_d043_i043 @atom:77_b043_a043_d043_i043 0.0 0.0 + pair_coeff @atom:78_b044_a044_d044_i044 @atom:78_b044_a044_d044_i044 0.17 3.42 + pair_coeff @atom:79_b045_a045_d045_i045 @atom:79_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:80_b013_a013_d013_i013 @atom:80_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:81_b013_a013_d013_i013 @atom:81_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:82_b013_a013_d013_i013 @atom:82_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:83_b013_a013_d013_i013 @atom:83_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:84_b013_a013_d013_i013 @atom:84_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:85_b046_a046_d046_i046 @atom:85_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:86_b047_a047_d047_i047 @atom:86_b047_a047_d047_i047 0.076 3.55 + pair_coeff @atom:87_b047_a047_d047_i047 @atom:87_b047_a047_d047_i047 0.076 3.55 + pair_coeff @atom:88_b047_a047_d047_i047 @atom:88_b047_a047_d047_i047 0.076 3.55 + pair_coeff @atom:89_b046_a046_d046_i046 @atom:89_b046_a046_d046_i046 0.03 2.42 + pair_coeff @atom:90_b048_a048_d048_i048 @atom:90_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:91_b049_a049_d049_i049 @atom:91_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:92_b048_a048_d048_i048 @atom:92_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:93_b013_a013_d013_i013 @atom:93_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:94_b013_a013_d013_i013 @atom:94_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:95_b050_a050_d050_i050 @atom:95_b050_a050_d050_i050 0.076 3.55 + pair_coeff @atom:96_b005_a005_d005_i005 @atom:96_b005_a005_d005_i005 0.17 3.12 + pair_coeff @atom:97_b007_a007_d007_i007 @atom:97_b007_a007_d007_i007 0.0 0.0 + pair_coeff @atom:98_b046_a046_d046_i046 @atom:98_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:99_b013_a013_d013_i013 @atom:99_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:100_b013_a013_d013_i013 @atom:100_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:101_b013_a013_d013_i013 @atom:101_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:102_b013_a013_d013_i013 @atom:102_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:103_b013_a013_d013_i013 @atom:103_b013_a013_d013_i013 0.062 3.25 + pair_coeff @atom:104_b005_a005_d005_i005 @atom:104_b005_a005_d005_i005 0.17 3.07 + pair_coeff @atom:105_b007_a007_d007_i007 @atom:105_b007_a007_d007_i007 0.0 0.0 + pair_coeff @atom:106_b001_a001_d001_i001 @atom:106_b001_a001_d001_i001 0.061 2.94 + pair_coeff @atom:107_b046_a046_d046_i046 @atom:107_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:108_b048_a048_d048_i048 @atom:108_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:109_b005_a005_d005_i005 @atom:109_b005_a005_d005_i005 0.17 3.07 + pair_coeff @atom:110_b007_a007_d007_i007 @atom:110_b007_a007_d007_i007 0.0 0.0 + pair_coeff @atom:111_b005_a005_d005_i005 @atom:111_b005_a005_d005_i005 0.17 3.07 + pair_coeff @atom:112_b007_a007_d007_i007 @atom:112_b007_a007_d007_i007 0.0 0.0 + pair_coeff @atom:113_b005_a005_d005_i005 @atom:113_b005_a005_d005_i005 0.17 3.07 + pair_coeff @atom:114_b007_a007_d007_i007 @atom:114_b007_a007_d007_i007 0.0 0.0 + pair_coeff @atom:115_b013_a013_d013_i013 @atom:115_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:116_b013_a013_d013_i013 @atom:116_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:117_b013_a013_d013_i013 @atom:117_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:118_b046_a046_d046_i046 @atom:118_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:119_b020_a020_d020_i020 @atom:119_b020_a020_d020_i020 0.14 2.9 + pair_coeff @atom:120_b050_a050_d050_i050 @atom:120_b050_a050_d050_i050 0.076 3.55 + pair_coeff @atom:121_b020_a020_d020_i020 @atom:121_b020_a020_d020_i020 0.14 2.9 + pair_coeff @atom:122_b020_a020_d020_i020 @atom:122_b020_a020_d020_i020 0.14 2.9 + pair_coeff @atom:123_b013_a013_d013_i013 @atom:123_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:124_b013_a013_d013_i013 @atom:124_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:125_b013_a013_d013_i013 @atom:125_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:126_b013_a013_d013_i013 @atom:126_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:127_b046_a046_d046_i046 @atom:127_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:128_b020_a020_d020_i020 @atom:128_b020_a020_d020_i020 0.14 2.9 + pair_coeff @atom:129_b005_a005_d005_i005 @atom:129_b005_a005_d005_i005 0.17 3.07 + pair_coeff @atom:130_b007_a007_d007_i007 @atom:130_b007_a007_d007_i007 0.0 0.0 + pair_coeff @atom:131_b051_a051_d051_i051 @atom:131_b051_a051_d051_i051 0.066 3.5 + pair_coeff @atom:132_b046_a046_d046_i046 @atom:132_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:133_b051_a051_d051_i051 @atom:133_b051_a051_d051_i051 0.066 3.5 + pair_coeff @atom:134_b046_a046_d046_i046 @atom:134_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:135_b051_a051_d051_i051 @atom:135_b051_a051_d051_i051 0.066 3.5 + pair_coeff @atom:136_b046_a046_d046_i046 @atom:136_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:137_b051_a051_d051_i051 @atom:137_b051_a051_d051_i051 0.066 3.5 + pair_coeff @atom:138_b046_a046_d046_i046 @atom:138_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:139_b051_a051_d051_i051 @atom:139_b051_a051_d051_i051 0.066 3.5 + pair_coeff @atom:140_b051_a051_d051_i051 @atom:140_b051_a051_d051_i051 0.066 3.5 + pair_coeff @atom:141_b048_a048_d048_i048 @atom:141_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:142_b015_a015_d015_i015 @atom:142_b015_a015_d015_i015 0.25 3.55 + pair_coeff @atom:143_b015_a015_d015_i015 @atom:143_b015_a015_d015_i015 0.25 3.7 + pair_coeff @atom:144_b016_a016_d016_i016 @atom:144_b016_a016_d016_i016 0.25 3.55 + pair_coeff @atom:145_b016_a016_d016_i016 @atom:145_b016_a016_d016_i016 0.25 3.55 + pair_coeff @atom:146_b017_a017_d017_i017 @atom:146_b017_a017_d017_i017 0.0 0.0 + pair_coeff @atom:147_b017_a017_d017_i017 @atom:147_b017_a017_d017_i017 0.0 0.0 + pair_coeff @atom:148_b013_a013_d013_i013 @atom:148_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:149_b013_a013_d013_i013 @atom:149_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:150_b013_a013_d013_i013 @atom:150_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:151_b013_a013_d013_i013 @atom:151_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:152_b013_a013_d013_i013 @atom:152_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:153_b013_a013_d013_i013 @atom:153_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:154_b013_a013_d013_i013 @atom:154_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:155_b013_a013_d013_i013 @atom:155_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:156_b013_a013_d013_i013 @atom:156_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:157_b013_a013_d013_i013 @atom:157_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:158_b013_a013_d013_i013 @atom:158_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:159_b013_a013_d013_i013 @atom:159_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:160_b013_a013_d013_i013 @atom:160_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:161_b013_a013_d013_i013 @atom:161_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:162_b013_a013_d013_i013 @atom:162_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:163_b048_a048_d048_i048 @atom:163_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:164_b016_a016_d016_i016 @atom:164_b016_a016_d016_i016 0.25 3.55 + pair_coeff @atom:165_b013_a013_d013_i013 @atom:165_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:166_b013_a013_d013_i013 @atom:166_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:167_b013_a013_d013_i013 @atom:167_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:168_b021_a021_d021_i021 @atom:168_b021_a021_d021_i021 0.3 3.4 + pair_coeff @atom:169_b047_a047_d047_i047 @atom:169_b047_a047_d047_i047 0.076 3.55 + pair_coeff @atom:170_b048_a048_d048_i048 @atom:170_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:171_b013_a013_d013_i013 @atom:171_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:172_b013_a013_d013_i013 @atom:172_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:173_b003_a003_d003_i003 @atom:173_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:174_b003_a003_d003_i003 @atom:174_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:175_b003_a003_d003_i003 @atom:175_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:176_b003_a003_d003_i003 @atom:176_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:177_b003_a003_d003_i003 @atom:177_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:178_b004_a004_d004_i004 @atom:178_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:179_b024_a024_d024_i024 @atom:179_b024_a024_d024_i024 0.17 3.25 + pair_coeff @atom:180_b024_a024_d024_i024 @atom:180_b024_a024_d024_i024 0.17 3.25 + pair_coeff @atom:181_b024_a024_d024_i024 @atom:181_b024_a024_d024_i024 0.17 3.25 + pair_coeff @atom:182_b045_a045_d045_i045 @atom:182_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:183_b045_a045_d045_i045 @atom:183_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:184_b013_a013_d013_i013 @atom:184_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:185_b013_a013_d013_i013 @atom:185_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:186_b013_a013_d013_i013 @atom:186_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:187_b013_a013_d013_i013 @atom:187_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:188_b013_a013_d013_i013 @atom:188_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:189_b003_a003_d003_i003 @atom:189_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:190_b004_a004_d004_i004 @atom:190_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:191_b024_a024_d024_i024 @atom:191_b024_a024_d024_i024 0.17 3.25 + pair_coeff @atom:192_b045_a045_d045_i045 @atom:192_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:193_b024_a024_d024_i024 @atom:193_b024_a024_d024_i024 0.17 3.25 + pair_coeff @atom:194_b003_a003_d003_i003 @atom:194_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:195_b004_a004_d004_i004 @atom:195_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:196_b045_a045_d045_i045 @atom:196_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:197_b046_a046_d046_i046 @atom:197_b046_a046_d046_i046 0.02 2.5 + pair_coeff @atom:198_b013_a013_d013_i013 @atom:198_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:199_b013_a013_d013_i013 @atom:199_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:200_b013_a013_d013_i013 @atom:200_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:201_b013_a013_d013_i013 @atom:201_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:202_b048_a048_d048_i048 @atom:202_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:203_b019_a019_d019_i019 @atom:203_b019_a019_d019_i019 0.15 3.65 + pair_coeff @atom:204_b018_a018_d018_i018 @atom:204_b018_a018_d018_i018 0.17 3.2 + pair_coeff @atom:205_b048_a048_d048_i048 @atom:205_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:206_b021_a021_d021_i021 @atom:206_b021_a021_d021_i021 0.3 3.4 + pair_coeff @atom:207_b024_a024_d024_i024 @atom:207_b024_a024_d024_i024 0.17 3.25 + pair_coeff @atom:208_b048_a048_d048_i048 @atom:208_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:209_b003_a003_d003_i003 @atom:209_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:210_b004_a004_d004_i004 @atom:210_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:211_b005_a005_d005_i005 @atom:211_b005_a005_d005_i005 0.17 3.0 + pair_coeff @atom:212_b007_a007_d007_i007 @atom:212_b007_a007_d007_i007 0.0 0.0 + pair_coeff @atom:213_b003_a003_d003_i003 @atom:213_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:214_b052_a052_d052_i052 @atom:214_b052_a052_d052_i052 0.21 2.96 + pair_coeff @atom:215_b013_a013_d013_i013 @atom:215_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:216_b013_a013_d013_i013 @atom:216_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:217_b013_a013_d013_i013 @atom:217_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:218_b013_a013_d013_i013 @atom:218_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:219_b003_a003_d003_i003 @atom:219_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:220_b004_a004_d004_i004 @atom:220_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:221_b046_a046_d046_i046 @atom:221_b046_a046_d046_i046 0.015 2.42 + pair_coeff @atom:222_b003_a003_d003_i003 @atom:222_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:223_b004_a004_d004_i004 @atom:223_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:224_b046_a046_d046_i046 @atom:224_b046_a046_d046_i046 0.015 2.42 + pair_coeff @atom:225_b013_a013_d013_i013 @atom:225_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:226_b013_a013_d013_i013 @atom:226_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:227_b013_a013_d013_i013 @atom:227_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:228_b013_a013_d013_i013 @atom:228_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:229_b053_a053_d053_i053 @atom:229_b053_a053_d053_i053 0.17 3.25 + pair_coeff @atom:230_b053_a053_d053_i053 @atom:230_b053_a053_d053_i053 0.17 3.25 + pair_coeff @atom:231_b053_a053_d053_i053 @atom:231_b053_a053_d053_i053 0.17 3.25 + pair_coeff @atom:232_b054_a054_d054_i054 @atom:232_b054_a054_d054_i054 0.0 0.0 + pair_coeff @atom:233_b054_a054_d054_i054 @atom:233_b054_a054_d054_i054 0.0 0.0 + pair_coeff @atom:234_b013_a013_d013_i013 @atom:234_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:235_b013_a013_d013_i013 @atom:235_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:236_b013_a013_d013_i013 @atom:236_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:237_b013_a013_d013_i013 @atom:237_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:238_b013_a013_d013_i013 @atom:238_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:239_b013_a013_d013_i013 @atom:239_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:240_b013_a013_d013_i013 @atom:240_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:241_b013_a013_d013_i013 @atom:241_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:242_b013_a013_d013_i013 @atom:242_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:243_b055_a055_d055_i055 @atom:243_b055_a055_d055_i055 0.17 3.25 + pair_coeff @atom:244_b054_a054_d054_i054 @atom:244_b054_a054_d054_i054 0.0 0.0 + pair_coeff @atom:245_b048_a048_d048_i048 @atom:245_b048_a048_d048_i048 0.05 3.55 + pair_coeff @atom:246_b055_a055_d055_i055 @atom:246_b055_a055_d055_i055 0.17 3.25 + pair_coeff @atom:247_b054_a054_d054_i054 @atom:247_b054_a054_d054_i054 0.0 0.0 + pair_coeff @atom:248_b013_a013_d013_i013 @atom:248_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:249_b013_a013_d013_i013 @atom:249_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:250_b013_a013_d013_i013 @atom:250_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:251_b013_a013_d013_i013 @atom:251_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:252_b053_a053_d053_i053 @atom:252_b053_a053_d053_i053 0.17 3.25 + pair_coeff @atom:253_b054_a054_d054_i054 @atom:253_b054_a054_d054_i054 0.0 0.0 + pair_coeff @atom:254_b056_a056_d056_i056 @atom:254_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:255_b048_a048_d048_i048 @atom:255_b048_a048_d048_i048 0.08 3.5 + pair_coeff @atom:256_b055_a055_d055_i055 @atom:256_b055_a055_d055_i055 0.17 3.25 + pair_coeff @atom:257_b045_a045_d045_i045 @atom:257_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:258_b048_a048_d048_i048 @atom:258_b048_a048_d048_i048 0.08 3.5 + pair_coeff @atom:259_b049_a049_d049_i049 @atom:259_b049_a049_d049_i049 0.05 2.5 + pair_coeff @atom:260_b048_a048_d048_i048 @atom:260_b048_a048_d048_i048 0.08 3.5 + pair_coeff @atom:261_b049_a049_d049_i049 @atom:261_b049_a049_d049_i049 0.05 2.5 + pair_coeff @atom:262_b057_a057_d057_i057 @atom:262_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:263_b003_a003_d003_i003 @atom:263_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:264_b057_a057_d057_i057 @atom:264_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:265_b003_a003_d003_i003 @atom:265_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:266_b047_a047_d047_i047 @atom:266_b047_a047_d047_i047 0.08 3.5 + pair_coeff @atom:267_b047_a047_d047_i047 @atom:267_b047_a047_d047_i047 0.08 3.5 + pair_coeff @atom:268_b045_a045_d045_i045 @atom:268_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:269_b004_a004_d004_i004 @atom:269_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:270_b045_a045_d045_i045 @atom:270_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:271_b004_a004_d004_i004 @atom:271_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:272_b046_a046_d046_i046 @atom:272_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:273_b046_a046_d046_i046 @atom:273_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:274_b013_a013_d013_i013 @atom:274_b013_a013_d013_i013 0.08 3.5 + pair_coeff @atom:275_b046_a046_d046_i046 @atom:275_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:276_b057_a057_d057_i057 @atom:276_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:277_b003_a003_d003_i003 @atom:277_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:278_b056_a056_d056_i056 @atom:278_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:279_b048_a048_d048_i048 @atom:279_b048_a048_d048_i048 0.08 3.5 + pair_coeff @atom:280_b047_a047_d047_i047 @atom:280_b047_a047_d047_i047 0.08 3.5 + pair_coeff @atom:281_b047_a047_d047_i047 @atom:281_b047_a047_d047_i047 0.08 3.5 + pair_coeff @atom:282_b045_a045_d045_i045 @atom:282_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:283_b004_a004_d004_i004 @atom:283_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:284_b055_a055_d055_i055 @atom:284_b055_a055_d055_i055 0.17 3.25 + pair_coeff @atom:285_b045_a045_d045_i045 @atom:285_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:286_b045_a045_d045_i045 @atom:286_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:287_b046_a046_d046_i046 @atom:287_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:288_b058_a058_d058_i058 @atom:288_b058_a058_d058_i058 0.05 2.5 + pair_coeff @atom:289_b056_a056_d056_i056 @atom:289_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:290_b059_a059_d059_i059 @atom:290_b059_a059_d059_i059 0.08 3.5 + pair_coeff @atom:291_b056_a056_d056_i056 @atom:291_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:292_b060_a060_d060_i060 @atom:292_b060_a060_d060_i060 0.08 3.5 + pair_coeff @atom:293_b060_a060_d060_i060 @atom:293_b060_a060_d060_i060 0.08 3.5 + pair_coeff @atom:294_b048_a048_d048_i048 @atom:294_b048_a048_d048_i048 0.08 3.5 + pair_coeff @atom:295_b061_a061_d061_i061 @atom:295_b061_a061_d061_i061 0.17 3.25 + pair_coeff @atom:296_b062_a062_d062_i062 @atom:296_b062_a062_d062_i062 0.08 3.5 + pair_coeff @atom:297_b057_a057_d057_i057 @atom:297_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:298_b063_a063_d063_i063 @atom:298_b063_a063_d063_i063 0.05 2.5 + pair_coeff @atom:299_b055_a055_d055_i055 @atom:299_b055_a055_d055_i055 0.17 3.25 + pair_coeff @atom:300_b045_a045_d045_i045 @atom:300_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:301_b045_a045_d045_i045 @atom:301_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:302_b063_a063_d063_i063 @atom:302_b063_a063_d063_i063 0.05 2.5 + pair_coeff @atom:303_b045_a045_d045_i045 @atom:303_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:304_b057_a057_d057_i057 @atom:304_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:305_b048_a048_d048_i048 @atom:305_b048_a048_d048_i048 0.08 3.5 + pair_coeff @atom:306_b056_a056_d056_i056 @atom:306_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:307_b060_a060_d060_i060 @atom:307_b060_a060_d060_i060 0.08 3.5 + pair_coeff @atom:308_b060_a060_d060_i060 @atom:308_b060_a060_d060_i060 0.08 3.5 + pair_coeff @atom:309_b003_a003_d003_i003 @atom:309_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:310_b045_a045_d045_i045 @atom:310_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:311_b055_a055_d055_i055 @atom:311_b055_a055_d055_i055 0.17 3.25 + pair_coeff @atom:312_b045_a045_d045_i045 @atom:312_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:313_b004_a004_d004_i004 @atom:313_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:314_b013_a013_d013_i013 @atom:314_b013_a013_d013_i013 0.08 3.5 + pair_coeff @atom:315_b046_a046_d046_i046 @atom:315_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:316_b013_a013_d013_i013 @atom:316_b013_a013_d013_i013 0.08 3.5 + pair_coeff @atom:317_b046_a046_d046_i046 @atom:317_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:318_b013_a013_d013_i013 @atom:318_b013_a013_d013_i013 0.08 3.5 + pair_coeff @atom:319_b046_a046_d046_i046 @atom:319_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:320_b057_a057_d057_i057 @atom:320_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:321_b003_a003_d003_i003 @atom:321_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:322_b057_a057_d057_i057 @atom:322_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:323_b048_a048_d048_i048 @atom:323_b048_a048_d048_i048 0.08 3.5 + pair_coeff @atom:324_b047_a047_d047_i047 @atom:324_b047_a047_d047_i047 0.08 3.5 + pair_coeff @atom:325_b047_a047_d047_i047 @atom:325_b047_a047_d047_i047 0.08 3.5 + pair_coeff @atom:326_b045_a045_d045_i045 @atom:326_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:327_b004_a004_d004_i004 @atom:327_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:328_b045_a045_d045_i045 @atom:328_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:329_b055_a055_d055_i055 @atom:329_b055_a055_d055_i055 0.17 3.25 + pair_coeff @atom:330_b045_a045_d045_i045 @atom:330_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:331_b045_a045_d045_i045 @atom:331_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:332_b049_a049_d049_i049 @atom:332_b049_a049_d049_i049 0.05 2.5 + pair_coeff @atom:333_b058_a058_d058_i058 @atom:333_b058_a058_d058_i058 0.05 2.5 + pair_coeff @atom:334_b013_a013_d013_i013 @atom:334_b013_a013_d013_i013 0.08 3.5 + pair_coeff @atom:335_b046_a046_d046_i046 @atom:335_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:336_b064_a064_d064_i064 @atom:336_b064_a064_d064_i064 0.2 3.74 + pair_coeff @atom:337_b052_a052_d052_i052 @atom:337_b052_a052_d052_i052 0.21 2.96 + pair_coeff @atom:338_b020_a020_d020_i020 @atom:338_b020_a020_d020_i020 0.17 3.0 + pair_coeff @atom:339_b013_a013_d013_i013 @atom:339_b013_a013_d013_i013 0.066 3.55 + pair_coeff @atom:340_b047_a047_d047_i047 @atom:340_b047_a047_d047_i047 0.08 3.5 + pair_coeff @atom:341_b021_a021_d021_i021 @atom:341_b021_a021_d021_i021 0.3 3.4 + pair_coeff @atom:342_b047_a047_d047_i047 @atom:342_b047_a047_d047_i047 0.076 3.55 + pair_coeff @atom:343_b001_a001_d001_i001 @atom:343_b001_a001_d001_i001 0.71 3.05 + pair_coeff @atom:344_b021_a021_d021_i021 @atom:344_b021_a021_d021_i021 0.71 4.02 + pair_coeff @atom:345_b065_a065_d065_i065 @atom:345_b065_a065_d065_i065 0.71 4.28 + pair_coeff @atom:346_b066_a066_d066_i066 @atom:346_b066_a066_d066_i066 0.71 4.81 + pair_coeff @atom:347_b067_a067_d067_i067 @atom:347_b067_a067_d067_i067 0.0005 5.34 + pair_coeff @atom:348_b068_a068_d068_i068 @atom:348_b068_a068_d068_i068 0.0005 2.87 + pair_coeff @atom:349_b069_a069_d069_i069 @atom:349_b069_a069_d069_i069 0.0005 4.07 + pair_coeff @atom:350_b070_a070_d070_i070 @atom:350_b070_a070_d070_i070 0.0005 5.17 + pair_coeff @atom:351_b071_a071_d071_i071 @atom:351_b071_a071_d071_i071 0.0005 5.6 + pair_coeff @atom:352_b072_a072_d072_i072 @atom:352_b072_a072_d072_i072 0.0005 6.2 + pair_coeff @atom:353_b073_a073_d073_i073 @atom:353_b073_a073_d073_i073 0.875044 1.644471 + pair_coeff @atom:354_b074_a074_d074_i074 @atom:354_b074_a074_d074_i074 0.449657 2.412031 + pair_coeff @atom:355_b075_a075_d075_i075 @atom:355_b075_a075_d075_i075 0.118226 3.102688 + pair_coeff @atom:356_b076_a076_d076_i076 @atom:356_b076_a076_d076_i076 0.047096 3.81661 + pair_coeff @atom:357_b006_a006_d006_i006 @atom:357_b006_a006_d006_i006 0.3 4.2 + pair_coeff @atom:358_b046_a046_d046_i046 @atom:358_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:359_b015_a015_d015_i015 @atom:359_b015_a015_d015_i015 0.5 4.25 + pair_coeff @atom:360_b006_a006_d006_i006 @atom:360_b006_a006_d006_i006 0.3 4.2 + pair_coeff @atom:361_b046_a046_d046_i046 @atom:361_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:362_b005_a005_d005_i005 @atom:362_b005_a005_d005_i005 0.25 3.15 + pair_coeff @atom:363_b013_a013_d013_i013 @atom:363_b013_a013_d013_i013 0.3 4.2 + pair_coeff @atom:364_b046_a046_d046_i046 @atom:364_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:365_b019_a019_d019_i019 @atom:365_b019_a019_d019_i019 0.15 3.65 + pair_coeff @atom:366_b018_a018_d018_i018 @atom:366_b018_a018_d018_i018 0.25 3.4 + pair_coeff @atom:367_b006_a006_d006_i006 @atom:367_b006_a006_d006_i006 0.3 4.2 + pair_coeff @atom:368_b046_a046_d046_i046 @atom:368_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:369_b053_a053_d053_i053 @atom:369_b053_a053_d053_i053 0.25 3.4 + pair_coeff @atom:370_b045_a045_d045_i045 @atom:370_b045_a045_d045_i045 0.05 2.5 + pair_coeff @atom:371_b006_a006_d006_i006 @atom:371_b006_a006_d006_i006 0.3 4.2 + pair_coeff @atom:372_b046_a046_d046_i046 @atom:372_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:373_b013_a013_d013_i013 @atom:373_b013_a013_d013_i013 0.3 4.2 + pair_coeff @atom:374_b046_a046_d046_i046 @atom:374_b046_a046_d046_i046 0.05 2.5 + pair_coeff @atom:375_b033_a033_d033_i033 @atom:375_b033_a033_d033_i033 0.0 0.0 + pair_coeff @atom:376_b005_a005_d005_i005 @atom:376_b005_a005_d005_i005 0.25 3.2 + pair_coeff @atom:377_b007_a007_d007_i007 @atom:377_b007_a007_d007_i007 0.0 0.0 + pair_coeff @atom:378_b077_a077_d077_i077 @atom:378_b077_a077_d077_i077 0.4 2.81524 + pair_coeff @atom:379_b078_a078_d078_i078 @atom:379_b078_a078_d078_i078 0.2 3.11815 + pair_coeff @atom:380_b020_a020_d020_i020 @atom:380_b020_a020_d020_i020 0.14 2.9 + pair_coeff @atom:381_b064_a064_d064_i064 @atom:381_b064_a064_d064_i064 0.2 3.74 + pair_coeff @atom:382_b052_a052_d052_i052 @atom:382_b052_a052_d052_i052 0.2 3.15 + pair_coeff @atom:383_b020_a020_d020_i020 @atom:383_b020_a020_d020_i020 0.14 2.9 + pair_coeff @atom:384_b013_a013_d013_i013 @atom:384_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:385_b046_a046_d046_i046 @atom:385_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:386_b064_a064_d064_i064 @atom:386_b064_a064_d064_i064 0.2 3.74 + pair_coeff @atom:387_b052_a052_d052_i052 @atom:387_b052_a052_d052_i052 0.2 3.15 + pair_coeff @atom:388_b020_a020_d020_i020 @atom:388_b020_a020_d020_i020 0.14 2.9 + pair_coeff @atom:389_b013_a013_d013_i013 @atom:389_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:390_b046_a046_d046_i046 @atom:390_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:391_b064_a064_d064_i064 @atom:391_b064_a064_d064_i064 0.2 3.74 + pair_coeff @atom:392_b052_a052_d052_i052 @atom:392_b052_a052_d052_i052 0.2 3.15 + pair_coeff @atom:393_b020_a020_d020_i020 @atom:393_b020_a020_d020_i020 0.14 2.9 + pair_coeff @atom:394_b013_a013_d013_i013 @atom:394_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:395_b046_a046_d046_i046 @atom:395_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:396_b013_a013_d013_i013 @atom:396_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:397_b046_a046_d046_i046 @atom:397_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:398_b048_a048_d048_i048 @atom:398_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:399_b013_a013_d013_i013 @atom:399_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:400_b046_a046_d046_i046 @atom:400_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:401_b048_a048_d048_i048 @atom:401_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:402_b013_a013_d013_i013 @atom:402_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:403_b046_a046_d046_i046 @atom:403_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:404_b048_a048_d048_i048 @atom:404_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:405_b013_a013_d013_i013 @atom:405_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:406_b003_a003_d003_i003 @atom:406_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:407_b004_a004_d004_i004 @atom:407_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:408_b020_a020_d020_i020 @atom:408_b020_a020_d020_i020 0.17 3.0 + pair_coeff @atom:409_b013_a013_d013_i013 @atom:409_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:410_b046_a046_d046_i046 @atom:410_b046_a046_d046_i046 0.015 2.42 + pair_coeff @atom:411_b003_a003_d003_i003 @atom:411_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:412_b003_a003_d003_i003 @atom:412_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:413_b048_a048_d048_i048 @atom:413_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:414_b020_a020_d020_i020 @atom:414_b020_a020_d020_i020 0.17 3.0 + pair_coeff @atom:415_b079_a079_d079_i079 @atom:415_b079_a079_d079_i079 0.25 3.55 + pair_coeff @atom:416_b023_a023_d023_i023 @atom:416_b023_a023_d023_i023 0.17 2.96 + pair_coeff @atom:417_b013_a013_d013_i013 @atom:417_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:418_b046_a046_d046_i046 @atom:418_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:419_b024_a024_d024_i024 @atom:419_b024_a024_d024_i024 0.17 3.25 + pair_coeff @atom:420_b045_a045_d045_i045 @atom:420_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:421_b024_a024_d024_i024 @atom:421_b024_a024_d024_i024 0.17 3.25 + pair_coeff @atom:422_b045_a045_d045_i045 @atom:422_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:423_b013_a013_d013_i013 @atom:423_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:424_b046_a046_d046_i046 @atom:424_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:425_b013_a013_d013_i013 @atom:425_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:426_b046_a046_d046_i046 @atom:426_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:427_b013_a013_d013_i013 @atom:427_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:428_b046_a046_d046_i046 @atom:428_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:429_b048_a048_d048_i048 @atom:429_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:430_b048_a048_d048_i048 @atom:430_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:431_b013_a013_d013_i013 @atom:431_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:432_b013_a013_d013_i013 @atom:432_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:433_b013_a013_d013_i013 @atom:433_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:434_b079_a079_d079_i079 @atom:434_b079_a079_d079_i079 0.25 3.55 + pair_coeff @atom:435_b023_a023_d023_i023 @atom:435_b023_a023_d023_i023 0.17 2.96 + pair_coeff @atom:436_b022_a022_d022_i022 @atom:436_b022_a022_d022_i022 0.395 3.56 + pair_coeff @atom:437_b022_a022_d022_i022 @atom:437_b022_a022_d022_i022 0.395 3.56 + pair_coeff @atom:438_b023_a023_d023_i023 @atom:438_b023_a023_d023_i023 0.28 2.93 + pair_coeff @atom:439_b013_a013_d013_i013 @atom:439_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:440_b013_a013_d013_i013 @atom:440_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:441_b080_a080_d080_i080 @atom:441_b080_a080_d080_i080 0.07 3.55 + pair_coeff @atom:442_b060_a060_d060_i060 @atom:442_b060_a060_d060_i060 0.07 3.55 + pair_coeff @atom:443_b081_a081_d081_i081 @atom:443_b081_a081_d081_i081 0.07 3.55 + pair_coeff @atom:444_b057_a057_d057_i057 @atom:444_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:445_b045_a045_d045_i045 @atom:445_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:446_b013_a013_d013_i013 @atom:446_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:447_b082_a082_d082_i082 @atom:447_b082_a082_d082_i082 0.07 3.55 + pair_coeff @atom:448_b083_a083_d083_i083 @atom:448_b083_a083_d083_i083 0.07 3.55 + pair_coeff @atom:449_b084_a084_d084_i084 @atom:449_b084_a084_d084_i084 0.07 3.55 + pair_coeff @atom:450_b082_a082_d082_i082 @atom:450_b082_a082_d082_i082 0.07 3.55 + pair_coeff @atom:451_b085_a085_d085_i085 @atom:451_b085_a085_d085_i085 0.07 3.55 + pair_coeff @atom:452_b061_a061_d061_i061 @atom:452_b061_a061_d061_i061 0.17 3.25 + pair_coeff @atom:453_b057_a057_d057_i057 @atom:453_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:454_b045_a045_d045_i045 @atom:454_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:455_b084_a084_d084_i084 @atom:455_b084_a084_d084_i084 0.07 3.55 + pair_coeff @atom:456_b013_a013_d013_i013 @atom:456_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:457_b013_a013_d013_i013 @atom:457_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:458_b047_a047_d047_i047 @atom:458_b047_a047_d047_i047 0.076 3.55 + pair_coeff @atom:459_b047_a047_d047_i047 @atom:459_b047_a047_d047_i047 0.076 3.55 + pair_coeff @atom:460_b086_a086_d086_i086 @atom:460_b086_a086_d086_i086 0.07 3.55 + pair_coeff @atom:461_b056_a056_d056_i056 @atom:461_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:462_b048_a048_d048_i048 @atom:462_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:463_b048_a048_d048_i048 @atom:463_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:464_b048_a048_d048_i048 @atom:464_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:465_b049_a049_d049_i049 @atom:465_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:466_b049_a049_d049_i049 @atom:466_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:467_b049_a049_d049_i049 @atom:467_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:468_b056_a056_d056_i056 @atom:468_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:469_b048_a048_d048_i048 @atom:469_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:470_b049_a049_d049_i049 @atom:470_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:471_b056_a056_d056_i056 @atom:471_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:472_b059_a059_d059_i059 @atom:472_b059_a059_d059_i059 0.07 3.55 + pair_coeff @atom:473_b048_a048_d048_i048 @atom:473_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:474_b048_a048_d048_i048 @atom:474_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:475_b049_a049_d049_i049 @atom:475_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:476_b049_a049_d049_i049 @atom:476_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:477_b049_a049_d049_i049 @atom:477_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:478_b056_a056_d056_i056 @atom:478_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:479_b048_a048_d048_i048 @atom:479_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:480_b048_a048_d048_i048 @atom:480_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:481_b049_a049_d049_i049 @atom:481_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:482_b049_a049_d049_i049 @atom:482_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:483_b057_a057_d057_i057 @atom:483_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:484_b084_a084_d084_i084 @atom:484_b084_a084_d084_i084 0.07 3.55 + pair_coeff @atom:485_b087_a087_d087_i087 @atom:485_b087_a087_d087_i087 0.07 3.55 + pair_coeff @atom:486_b045_a045_d045_i045 @atom:486_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:487_b049_a049_d049_i049 @atom:487_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:488_b049_a049_d049_i049 @atom:488_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:489_b057_a057_d057_i057 @atom:489_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:490_b061_a061_d061_i061 @atom:490_b061_a061_d061_i061 0.17 3.25 + pair_coeff @atom:491_b088_a088_d088_i088 @atom:491_b088_a088_d088_i088 0.07 3.55 + pair_coeff @atom:492_b087_a087_d087_i087 @atom:492_b087_a087_d087_i087 0.07 3.55 + pair_coeff @atom:493_b084_a084_d084_i084 @atom:493_b084_a084_d084_i084 0.07 3.55 + pair_coeff @atom:494_b045_a045_d045_i045 @atom:494_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:495_b049_a049_d049_i049 @atom:495_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:496_b049_a049_d049_i049 @atom:496_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:497_b049_a049_d049_i049 @atom:497_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:498_b057_a057_d057_i057 @atom:498_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:499_b082_a082_d082_i082 @atom:499_b082_a082_d082_i082 0.07 3.55 + pair_coeff @atom:500_b061_a061_d061_i061 @atom:500_b061_a061_d061_i061 0.17 3.25 + pair_coeff @atom:501_b083_a083_d083_i083 @atom:501_b083_a083_d083_i083 0.07 3.55 + pair_coeff @atom:502_b084_a084_d084_i084 @atom:502_b084_a084_d084_i084 0.07 3.55 + pair_coeff @atom:503_b045_a045_d045_i045 @atom:503_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:504_b049_a049_d049_i049 @atom:504_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:505_b049_a049_d049_i049 @atom:505_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:506_b049_a049_d049_i049 @atom:506_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:507_b020_a020_d020_i020 @atom:507_b020_a020_d020_i020 0.14 2.9 + pair_coeff @atom:508_b084_a084_d084_i084 @atom:508_b084_a084_d084_i084 0.07 3.55 + pair_coeff @atom:509_b087_a087_d087_i087 @atom:509_b087_a087_d087_i087 0.076 3.55 + pair_coeff @atom:510_b049_a049_d049_i049 @atom:510_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:511_b049_a049_d049_i049 @atom:511_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:512_b020_a020_d020_i020 @atom:512_b020_a020_d020_i020 0.14 2.9 + pair_coeff @atom:513_b082_a082_d082_i082 @atom:513_b082_a082_d082_i082 0.07 3.55 + pair_coeff @atom:514_b061_a061_d061_i061 @atom:514_b061_a061_d061_i061 0.17 3.25 + pair_coeff @atom:515_b083_a083_d083_i083 @atom:515_b083_a083_d083_i083 0.07 3.55 + pair_coeff @atom:516_b084_a084_d084_i084 @atom:516_b084_a084_d084_i084 0.07 3.55 + pair_coeff @atom:517_b049_a049_d049_i049 @atom:517_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:518_b049_a049_d049_i049 @atom:518_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:519_b049_a049_d049_i049 @atom:519_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:520_b020_a020_d020_i020 @atom:520_b020_a020_d020_i020 0.14 2.9 + pair_coeff @atom:521_b061_a061_d061_i061 @atom:521_b061_a061_d061_i061 0.17 3.25 + pair_coeff @atom:522_b088_a088_d088_i088 @atom:522_b088_a088_d088_i088 0.07 3.55 + pair_coeff @atom:523_b087_a087_d087_i087 @atom:523_b087_a087_d087_i087 0.07 3.55 + pair_coeff @atom:524_b084_a084_d084_i084 @atom:524_b084_a084_d084_i084 0.07 3.55 + pair_coeff @atom:525_b049_a049_d049_i049 @atom:525_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:526_b049_a049_d049_i049 @atom:526_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:527_b049_a049_d049_i049 @atom:527_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:528_b057_a057_d057_i057 @atom:528_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:529_b084_a084_d084_i084 @atom:529_b084_a084_d084_i084 0.07 3.55 + pair_coeff @atom:530_b087_a087_d087_i087 @atom:530_b087_a087_d087_i087 0.07 3.55 + pair_coeff @atom:531_b048_a048_d048_i048 @atom:531_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:532_b048_a048_d048_i048 @atom:532_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:533_b048_a048_d048_i048 @atom:533_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:534_b048_a048_d048_i048 @atom:534_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:535_b081_a081_d081_i081 @atom:535_b081_a081_d081_i081 0.07 3.55 + pair_coeff @atom:536_b060_a060_d060_i060 @atom:536_b060_a060_d060_i060 0.07 3.55 + pair_coeff @atom:537_b045_a045_d045_i045 @atom:537_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:538_b049_a049_d049_i049 @atom:538_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:539_b049_a049_d049_i049 @atom:539_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:540_b049_a049_d049_i049 @atom:540_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:541_b049_a049_d049_i049 @atom:541_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:542_b049_a049_d049_i049 @atom:542_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:543_b049_a049_d049_i049 @atom:543_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:544_b056_a056_d056_i056 @atom:544_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:545_b048_a048_d048_i048 @atom:545_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:546_b048_a048_d048_i048 @atom:546_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:547_b048_a048_d048_i048 @atom:547_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:548_b048_a048_d048_i048 @atom:548_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:549_b048_a048_d048_i048 @atom:549_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:550_b048_a048_d048_i048 @atom:550_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:551_b048_a048_d048_i048 @atom:551_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:552_b048_a048_d048_i048 @atom:552_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:553_b048_a048_d048_i048 @atom:553_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:554_b049_a049_d049_i049 @atom:554_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:555_b049_a049_d049_i049 @atom:555_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:556_b049_a049_d049_i049 @atom:556_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:557_b049_a049_d049_i049 @atom:557_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:558_b049_a049_d049_i049 @atom:558_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:559_b049_a049_d049_i049 @atom:559_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:560_b049_a049_d049_i049 @atom:560_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:561_b056_a056_d056_i056 @atom:561_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:562_b059_a059_d059_i059 @atom:562_b059_a059_d059_i059 0.07 3.55 + pair_coeff @atom:563_b056_a056_d056_i056 @atom:563_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:564_b060_a060_d060_i060 @atom:564_b060_a060_d060_i060 0.07 3.55 + pair_coeff @atom:565_b060_a060_d060_i060 @atom:565_b060_a060_d060_i060 0.07 3.55 + pair_coeff @atom:566_b048_a048_d048_i048 @atom:566_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:567_b061_a061_d061_i061 @atom:567_b061_a061_d061_i061 0.17 3.25 + pair_coeff @atom:568_b062_a062_d062_i062 @atom:568_b062_a062_d062_i062 0.07 3.55 + pair_coeff @atom:569_b057_a057_d057_i057 @atom:569_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:570_b049_a049_d049_i049 @atom:570_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:571_b049_a049_d049_i049 @atom:571_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:572_b049_a049_d049_i049 @atom:572_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:573_b045_a045_d045_i045 @atom:573_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:574_b016_a016_d016_i016 @atom:574_b016_a016_d016_i016 0.25 3.55 + pair_coeff @atom:575_b082_a082_d082_i082 @atom:575_b082_a082_d082_i082 0.07 3.55 + pair_coeff @atom:576_b061_a061_d061_i061 @atom:576_b061_a061_d061_i061 0.17 3.25 + pair_coeff @atom:577_b083_a083_d083_i083 @atom:577_b083_a083_d083_i083 0.07 3.55 + pair_coeff @atom:578_b084_a084_d084_i084 @atom:578_b084_a084_d084_i084 0.07 3.55 + pair_coeff @atom:579_b049_a049_d049_i049 @atom:579_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:580_b049_a049_d049_i049 @atom:580_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:581_b049_a049_d049_i049 @atom:581_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:582_b056_a056_d056_i056 @atom:582_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:583_b059_a059_d059_i059 @atom:583_b059_a059_d059_i059 0.07 3.55 + pair_coeff @atom:584_b049_a049_d049_i049 @atom:584_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:585_b048_a048_d048_i048 @atom:585_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:586_b013_a013_d013_i013 @atom:586_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:587_b056_a056_d056_i056 @atom:587_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:588_b048_a048_d048_i048 @atom:588_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:589_b048_a048_d048_i048 @atom:589_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:590_b048_a048_d048_i048 @atom:590_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:591_b048_a048_d048_i048 @atom:591_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:592_b048_a048_d048_i048 @atom:592_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:593_b048_a048_d048_i048 @atom:593_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:594_b049_a049_d049_i049 @atom:594_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:595_b049_a049_d049_i049 @atom:595_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:596_b049_a049_d049_i049 @atom:596_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:597_b049_a049_d049_i049 @atom:597_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:598_b057_a057_d057_i057 @atom:598_b057_a057_d057_i057 0.17 3.25 + pair_coeff @atom:599_b082_a082_d082_i082 @atom:599_b082_a082_d082_i082 0.07 3.55 + pair_coeff @atom:600_b061_a061_d061_i061 @atom:600_b061_a061_d061_i061 0.17 3.25 + pair_coeff @atom:601_b083_a083_d083_i083 @atom:601_b083_a083_d083_i083 0.07 3.55 + pair_coeff @atom:602_b084_a084_d084_i084 @atom:602_b084_a084_d084_i084 0.07 3.55 + pair_coeff @atom:603_b013_a013_d013_i013 @atom:603_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:604_b049_a049_d049_i049 @atom:604_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:605_b049_a049_d049_i049 @atom:605_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:606_b049_a049_d049_i049 @atom:606_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:607_b046_a046_d046_i046 @atom:607_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:608_b013_a013_d013_i013 @atom:608_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:609_b013_a013_d013_i013 @atom:609_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:610_b013_a013_d013_i013 @atom:610_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:611_b013_a013_d013_i013 @atom:611_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:612_b013_a013_d013_i013 @atom:612_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:613_b013_a013_d013_i013 @atom:613_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:614_b013_a013_d013_i013 @atom:614_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:615_b013_a013_d013_i013 @atom:615_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:616_b013_a013_d013_i013 @atom:616_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:617_b013_a013_d013_i013 @atom:617_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:618_b013_a013_d013_i013 @atom:618_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:619_b013_a013_d013_i013 @atom:619_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:620_b013_a013_d013_i013 @atom:620_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:621_b013_a013_d013_i013 @atom:621_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:622_b013_a013_d013_i013 @atom:622_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:623_b015_a015_d015_i015 @atom:623_b015_a015_d015_i015 0.25 3.55 + pair_coeff @atom:624_b017_a017_d017_i017 @atom:624_b017_a017_d017_i017 0.0 0.0 + pair_coeff @atom:625_b048_a048_d048_i048 @atom:625_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:626_b089_a089_d089_i089 @atom:626_b089_a089_d089_i089 0.105 3.75 + pair_coeff @atom:627_b090_a090_d090_i090 @atom:627_b090_a090_d090_i090 0.17 3.25 + pair_coeff @atom:628_b091_a091_d091_i091 @atom:628_b091_a091_d091_i091 0.066 3.5 + pair_coeff @atom:629_b091_a091_d091_i091 @atom:629_b091_a091_d091_i091 0.066 3.5 + pair_coeff @atom:630_b013_a013_d013_i013 @atom:630_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:631_b086_a086_d086_i086 @atom:631_b086_a086_d086_i086 0.07 3.55 + pair_coeff @atom:632_b086_a086_d086_i086 @atom:632_b086_a086_d086_i086 0.07 3.55 + pair_coeff @atom:633_b086_a086_d086_i086 @atom:633_b086_a086_d086_i086 0.07 3.55 + pair_coeff @atom:634_b086_a086_d086_i086 @atom:634_b086_a086_d086_i086 0.07 3.55 + pair_coeff @atom:635_b086_a086_d086_i086 @atom:635_b086_a086_d086_i086 0.07 3.55 + pair_coeff @atom:636_b086_a086_d086_i086 @atom:636_b086_a086_d086_i086 0.07 3.55 + pair_coeff @atom:637_b016_a016_d016_i016 @atom:637_b016_a016_d016_i016 0.25 3.55 + pair_coeff @atom:638_b092_a092_d092_i092 @atom:638_b092_a092_d092_i092 0.054 3.473 + pair_coeff @atom:639_b093_a093_d093_i093 @atom:639_b093_a093_d093_i093 0.05 3.3 + pair_coeff @atom:640_b094_a094_d094_i094 @atom:640_b094_a094_d094_i094 0.05 3.3 + pair_coeff @atom:641_b095_a095_d095_i095 @atom:641_b095_a095_d095_i095 0.076 3.55 + pair_coeff @atom:642_b013_a013_d013_i013 @atom:642_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:643_b046_a046_d046_i046 @atom:643_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:644_b096_a096_d096_i096 @atom:644_b096_a096_d096_i096 0.06 3.75 + pair_coeff @atom:645_b097_a097_d097_i097 @atom:645_b097_a097_d097_i097 0.054 3.473 + pair_coeff @atom:646_b098_a098_d098_i098 @atom:646_b098_a098_d098_i098 0.05 3.3 + pair_coeff @atom:647_b099_a099_d099_i099 @atom:647_b099_a099_d099_i099 0.05 3.3 + pair_coeff @atom:648_b100_a100_d100_i100 @atom:648_b100_a100_d100_i100 0.04 2.95 + pair_coeff @atom:649_b047_a047_d047_i047 @atom:649_b047_a047_d047_i047 0.076 3.55 + pair_coeff @atom:650_b021_a021_d021_i021 @atom:650_b021_a021_d021_i021 0.3 3.4 + pair_coeff @atom:651_b046_a046_d046_i046 @atom:651_b046_a046_d046_i046 0.03 2.42 + pair_coeff @atom:652_b091_a091_d091_i091 @atom:652_b091_a091_d091_i091 0.066 3.5 + pair_coeff @atom:653_b091_a091_d091_i091 @atom:653_b091_a091_d091_i091 0.066 3.5 + pair_coeff @atom:654_b091_a091_d091_i091 @atom:654_b091_a091_d091_i091 0.066 3.5 + pair_coeff @atom:655_b048_a048_d048_i048 @atom:655_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:656_b049_a049_d049_i049 @atom:656_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:657_b048_a048_d048_i048 @atom:657_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:658_b049_a049_d049_i049 @atom:658_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:659_b048_a048_d048_i048 @atom:659_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:660_b001_a001_d001_i001 @atom:660_b001_a001_d001_i001 0.061 2.85 + pair_coeff @atom:661_b048_a048_d048_i048 @atom:661_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:662_b001_a001_d001_i001 @atom:662_b001_a001_d001_i001 0.061 2.85 + pair_coeff @atom:663_b065_a065_d065_i065 @atom:663_b065_a065_d065_i065 0.47 3.47 + pair_coeff @atom:664_b002_a002_d002_i002 @atom:664_b002_a002_d002_i002 0.118 3.905 + pair_coeff @atom:665_b048_a048_d048_i048 @atom:665_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:666_b013_a013_d013_i013 @atom:666_b013_a013_d013_i013 0.062 3.25 + pair_coeff @atom:667_b001_a001_d001_i001 @atom:667_b001_a001_d001_i001 0.061 2.94 + pair_coeff @atom:668_b048_a048_d048_i048 @atom:668_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:669_b001_a001_d001_i001 @atom:669_b001_a001_d001_i001 0.061 2.85 + pair_coeff @atom:670_b048_a048_d048_i048 @atom:670_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:671_b065_a065_d065_i065 @atom:671_b065_a065_d065_i065 0.47 3.47 + pair_coeff @atom:672_b048_a048_d048_i048 @atom:672_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:673_b066_a066_d066_i066 @atom:673_b066_a066_d066_i066 0.6 3.75 + pair_coeff @atom:674_b091_a091_d091_i091 @atom:674_b091_a091_d091_i091 0.066 3.5 + pair_coeff @atom:675_b015_a015_d015_i015 @atom:675_b015_a015_d015_i015 0.25 3.55 + pair_coeff @atom:676_b048_a048_d048_i048 @atom:676_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:677_b048_a048_d048_i048 @atom:677_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:678_b048_a048_d048_i048 @atom:678_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:679_b048_a048_d048_i048 @atom:679_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:680_b048_a048_d048_i048 @atom:680_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:681_b049_a049_d049_i049 @atom:681_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:682_b049_a049_d049_i049 @atom:682_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:683_b048_a048_d048_i048 @atom:683_b048_a048_d048_i048 0.05 3.55 + pair_coeff @atom:684_b055_a055_d055_i055 @atom:684_b055_a055_d055_i055 0.17 3.25 + pair_coeff @atom:685_b045_a045_d045_i045 @atom:685_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:686_b045_a045_d045_i045 @atom:686_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:687_b049_a049_d049_i049 @atom:687_b049_a049_d049_i049 0.03 2.42 + pair_coeff @atom:688_b013_a013_d013_i013 @atom:688_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:689_b013_a013_d013_i013 @atom:689_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:690_b101_a101_d101_i101 @atom:690_b101_a101_d101_i101 0.17 3.25 + pair_coeff @atom:691_b056_a056_d056_i056 @atom:691_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:692_b101_a101_d101_i101 @atom:692_b101_a101_d101_i101 0.17 3.25 + pair_coeff @atom:693_b048_a048_d048_i048 @atom:693_b048_a048_d048_i048 0.05 3.55 + pair_coeff @atom:694_b018_a018_d018_i018 @atom:694_b018_a018_d018_i018 0.17 3.2 + pair_coeff @atom:695_b019_a019_d019_i019 @atom:695_b019_a019_d019_i019 0.066 3.3 + pair_coeff @atom:696_b013_a013_d013_i013 @atom:696_b013_a013_d013_i013 0.066 3.3 + pair_coeff @atom:697_b013_a013_d013_i013 @atom:697_b013_a013_d013_i013 0.066 3.3 + pair_coeff @atom:698_b013_a013_d013_i013 @atom:698_b013_a013_d013_i013 0.066 3.3 + pair_coeff @atom:699_b013_a013_d013_i013 @atom:699_b013_a013_d013_i013 0.066 3.3 + pair_coeff @atom:700_b046_a046_d046_i046 @atom:700_b046_a046_d046_i046 0.015 2.5 + pair_coeff @atom:701_b102_a102_d102_i102 @atom:701_b102_a102_d102_i102 0.12 3.25 + pair_coeff @atom:702_b103_a103_d103_i103 @atom:702_b103_a103_d103_i103 0.17 2.96 + pair_coeff @atom:703_b013_a013_d013_i013 @atom:703_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:704_b046_a046_d046_i046 @atom:704_b046_a046_d046_i046 0.015 2.5 + pair_coeff @atom:705_b013_a013_d013_i013 @atom:705_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:706_b013_a013_d013_i013 @atom:706_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:707_b013_a013_d013_i013 @atom:707_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:708_b102_a102_d102_i102 @atom:708_b102_a102_d102_i102 0.12 3.25 + pair_coeff @atom:709_b048_a048_d048_i048 @atom:709_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:710_b013_a013_d013_i013 @atom:710_b013_a013_d013_i013 0.066 3.3 + pair_coeff @atom:711_b056_a056_d056_i056 @atom:711_b056_a056_d056_i056 0.17 3.25 + pair_coeff @atom:712_b004_a004_d004_i004 @atom:712_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:713_b003_a003_d003_i003 @atom:713_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:714_b020_a020_d020_i020 @atom:714_b020_a020_d020_i020 0.17 3.0 + pair_coeff @atom:715_b013_a013_d013_i013 @atom:715_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:716_b013_a013_d013_i013 @atom:716_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:717_b013_a013_d013_i013 @atom:717_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:718_b046_a046_d046_i046 @atom:718_b046_a046_d046_i046 0.015 2.42 + pair_coeff @atom:719_b046_a046_d046_i046 @atom:719_b046_a046_d046_i046 0.015 2.42 + pair_coeff @atom:720_b046_a046_d046_i046 @atom:720_b046_a046_d046_i046 0.015 2.42 + pair_coeff @atom:721_b020_a020_d020_i020 @atom:721_b020_a020_d020_i020 0.14 2.9 + pair_coeff @atom:722_b104_a104_d104_i104 @atom:722_b104_a104_d104_i104 0.2 3.74 + pair_coeff @atom:723_b013_a013_d013_i013 @atom:723_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:724_b013_a013_d013_i013 @atom:724_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:725_b046_a046_d046_i046 @atom:725_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:726_b064_a064_d064_i064 @atom:726_b064_a064_d064_i064 0.2 3.74 + pair_coeff @atom:727_b001_a001_d001_i001 @atom:727_b001_a001_d001_i001 0.061 3.1181 + pair_coeff @atom:728_b024_a024_d024_i024 @atom:728_b024_a024_d024_i024 0.17 3.15 + pair_coeff @atom:729_b004_a004_d004_i004 @atom:729_b004_a004_d004_i004 0.21 2.86 + pair_coeff @atom:730_b044_a044_d044_i044 @atom:730_b044_a044_d044_i044 0.17 3.3 + pair_coeff @atom:731_b044_a044_d044_i044 @atom:731_b044_a044_d044_i044 0.17 3.3 + pair_coeff @atom:732_b044_a044_d044_i044 @atom:732_b044_a044_d044_i044 0.17 3.3 + pair_coeff @atom:733_b013_a013_d013_i013 @atom:733_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:734_b013_a013_d013_i013 @atom:734_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:735_b013_a013_d013_i013 @atom:735_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:736_b013_a013_d013_i013 @atom:736_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:737_b013_a013_d013_i013 @atom:737_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:738_b013_a013_d013_i013 @atom:738_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:739_b045_a045_d045_i045 @atom:739_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:740_b045_a045_d045_i045 @atom:740_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:741_b046_a046_d046_i046 @atom:741_b046_a046_d046_i046 0.015 2.5 + pair_coeff @atom:742_b013_a013_d013_i013 @atom:742_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:743_b013_a013_d013_i013 @atom:743_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:744_b013_a013_d013_i013 @atom:744_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:745_b013_a013_d013_i013 @atom:745_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:746_b048_a048_d048_i048 @atom:746_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:747_b048_a048_d048_i048 @atom:747_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:748_b048_a048_d048_i048 @atom:748_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:749_b013_a013_d013_i013 @atom:749_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:750_b013_a013_d013_i013 @atom:750_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:751_b013_a013_d013_i013 @atom:751_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:752_b013_a013_d013_i013 @atom:752_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:753_b013_a013_d013_i013 @atom:753_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:754_b013_a013_d013_i013 @atom:754_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:755_b019_a019_d019_i019 @atom:755_b019_a019_d019_i019 0.086 3.3 + pair_coeff @atom:756_b046_a046_d046_i046 @atom:756_b046_a046_d046_i046 0.015 2.42 + pair_coeff @atom:757_b019_a019_d019_i019 @atom:757_b019_a019_d019_i019 0.21 3.3 + pair_coeff @atom:758_b019_a019_d019_i019 @atom:758_b019_a019_d019_i019 0.135 3.3 + pair_coeff @atom:759_b019_a019_d019_i019 @atom:759_b019_a019_d019_i019 0.1 3.3 + pair_coeff @atom:760_b046_a046_d046_i046 @atom:760_b046_a046_d046_i046 0.015 2.5 + pair_coeff @atom:761_b051_a051_d051_i051 @atom:761_b051_a051_d051_i051 0.066 3.5 + pair_coeff @atom:762_b051_a051_d051_i051 @atom:762_b051_a051_d051_i051 0.066 3.5 + pair_coeff @atom:763_b051_a051_d051_i051 @atom:763_b051_a051_d051_i051 0.066 3.5 + pair_coeff @atom:764_b005_a005_d005_i005 @atom:764_b005_a005_d005_i005 0.17 3.12 + pair_coeff @atom:765_b007_a007_d007_i007 @atom:765_b007_a007_d007_i007 0.0 0.0 + pair_coeff @atom:766_b105_a105_d105_i105 @atom:766_b105_a105_d105_i105 0.17 3.25 + pair_coeff @atom:767_b105_a105_d105_i105 @atom:767_b105_a105_d105_i105 0.17 3.25 + pair_coeff @atom:768_b105_a105_d105_i105 @atom:768_b105_a105_d105_i105 0.17 3.25 + pair_coeff @atom:769_b019_a019_d019_i019 @atom:769_b019_a019_d019_i019 0.21 3.3 + pair_coeff @atom:770_b053_a053_d053_i053 @atom:770_b053_a053_d053_i053 0.17 3.25 + pair_coeff @atom:771_b054_a054_d054_i054 @atom:771_b054_a054_d054_i054 0.0 0.0 + pair_coeff @atom:772_b013_a013_d013_i013 @atom:772_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:773_b013_a013_d013_i013 @atom:773_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:774_b013_a013_d013_i013 @atom:774_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:775_b013_a013_d013_i013 @atom:775_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:776_b084_a084_d084_i084 @atom:776_b084_a084_d084_i084 0.07 3.55 + pair_coeff @atom:777_b087_a087_d087_i087 @atom:777_b087_a087_d087_i087 0.076 3.55 + pair_coeff @atom:778_b086_a086_d086_i086 @atom:778_b086_a086_d086_i086 0.07 3.55 + pair_coeff @atom:779_b086_a086_d086_i086 @atom:779_b086_a086_d086_i086 0.07 3.55 + pair_coeff @atom:780_b046_a046_d046_i046 @atom:780_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:781_b013_a013_d013_i013 @atom:781_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:782_b003_a003_d003_i003 @atom:782_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:783_b053_a053_d053_i053 @atom:783_b053_a053_d053_i053 0.17 3.25 + pair_coeff @atom:784_b052_a052_d052_i052 @atom:784_b052_a052_d052_i052 0.21 2.96 + pair_coeff @atom:785_b054_a054_d054_i054 @atom:785_b054_a054_d054_i054 0.0 0.0 + pair_coeff @atom:786_b001_a001_d001_i001 @atom:786_b001_a001_d001_i001 0.061 2.94 + pair_coeff @atom:787_b013_a013_d013_i013 @atom:787_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:788_b046_a046_d046_i046 @atom:788_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:789_b013_a013_d013_i013 @atom:789_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:790_b013_a013_d013_i013 @atom:790_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:791_b013_a013_d013_i013 @atom:791_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:792_b013_a013_d013_i013 @atom:792_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:793_b013_a013_d013_i013 @atom:793_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:794_b013_a013_d013_i013 @atom:794_b013_a013_d013_i013 0.097 3.5 + pair_coeff @atom:795_b001_a001_d001_i001 @atom:795_b001_a001_d001_i001 0.053 2.95 + pair_coeff @atom:796_b013_a013_d013_i013 @atom:796_b013_a013_d013_i013 0.062 3.25 + pair_coeff @atom:797_b046_a046_d046_i046 @atom:797_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:798_b013_a013_d013_i013 @atom:798_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:799_b013_a013_d013_i013 @atom:799_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:800_b021_a021_d021_i021 @atom:800_b021_a021_d021_i021 0.3 3.4 + pair_coeff @atom:801_b013_a013_d013_i013 @atom:801_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:802_b046_a046_d046_i046 @atom:802_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:803_b013_a013_d013_i013 @atom:803_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:804_b013_a013_d013_i013 @atom:804_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:805_b065_a065_d065_i065 @atom:805_b065_a065_d065_i065 0.47 3.47 + pair_coeff @atom:806_b013_a013_d013_i013 @atom:806_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:807_b046_a046_d046_i046 @atom:807_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:808_b013_a013_d013_i013 @atom:808_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:809_b013_a013_d013_i013 @atom:809_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:810_b001_a001_d001_i001 @atom:810_b001_a001_d001_i001 0.061 2.94 + pair_coeff @atom:811_b021_a021_d021_i021 @atom:811_b021_a021_d021_i021 0.3 3.4 + pair_coeff @atom:812_b065_a065_d065_i065 @atom:812_b065_a065_d065_i065 0.47 3.47 + pair_coeff @atom:813_b048_a048_d048_i048 @atom:813_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:814_b020_a020_d020_i020 @atom:814_b020_a020_d020_i020 0.14 2.9 + pair_coeff @atom:815_b013_a013_d013_i013 @atom:815_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:816_b001_a001_d001_i001 @atom:816_b001_a001_d001_i001 0.06 2.9 + pair_coeff @atom:817_b024_a024_d024_i024 @atom:817_b024_a024_d024_i024 0.17 3.25 + pair_coeff @atom:818_b048_a048_d048_i048 @atom:818_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:819_b013_a013_d013_i013 @atom:819_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:820_b003_a003_d003_i003 @atom:820_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:821_b003_a003_d003_i003 @atom:821_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:822_b004_a004_d004_i004 @atom:822_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:823_b024_a024_d024_i024 @atom:823_b024_a024_d024_i024 0.17 3.25 + pair_coeff @atom:824_b045_a045_d045_i045 @atom:824_b045_a045_d045_i045 0.0 0.0 + pair_coeff @atom:825_b005_a005_d005_i005 @atom:825_b005_a005_d005_i005 0.17 3.12 + pair_coeff @atom:826_b007_a007_d007_i007 @atom:826_b007_a007_d007_i007 0.0 0.0 + pair_coeff @atom:827_b013_a013_d013_i013 @atom:827_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:828_b013_a013_d013_i013 @atom:828_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:829_b086_a086_d086_i086 @atom:829_b086_a086_d086_i086 0.07 3.55 + pair_coeff @atom:830_b086_a086_d086_i086 @atom:830_b086_a086_d086_i086 0.07 3.55 + pair_coeff @atom:831_b086_a086_d086_i086 @atom:831_b086_a086_d086_i086 0.07 3.55 + pair_coeff @atom:832_b086_a086_d086_i086 @atom:832_b086_a086_d086_i086 0.07 3.55 + pair_coeff @atom:833_b048_a048_d048_i048 @atom:833_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:834_b106_a106_d106_i106 @atom:834_b106_a106_d106_i106 0.0125 1.96 + pair_coeff @atom:835_b013_a013_d013_i013 @atom:835_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:836_b013_a013_d013_i013 @atom:836_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:837_b013_a013_d013_i013 @atom:837_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:838_b066_a066_d066_i066 @atom:838_b066_a066_d066_i066 0.6 3.75 + pair_coeff @atom:839_b046_a046_d046_i046 @atom:839_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:840_b024_a024_d024_i024 @atom:840_b024_a024_d024_i024 0.17 3.25 + pair_coeff @atom:841_b048_a048_d048_i048 @atom:841_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:842_b048_a048_d048_i048 @atom:842_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:843_b024_a024_d024_i024 @atom:843_b024_a024_d024_i024 0.17 3.25 + pair_coeff @atom:844_b048_a048_d048_i048 @atom:844_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:845_b003_a003_d003_i003 @atom:845_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:846_b004_a004_d004_i004 @atom:846_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:847_b107_a107_d107_i107 @atom:847_b107_a107_d107_i107 0.17 3.25 + pair_coeff @atom:848_b013_a013_d013_i013 @atom:848_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:849_b013_a013_d013_i013 @atom:849_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:850_b013_a013_d013_i013 @atom:850_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:851_b013_a013_d013_i013 @atom:851_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:852_b046_a046_d046_i046 @atom:852_b046_a046_d046_i046 0.015 2.42 + pair_coeff @atom:853_b003_a003_d003_i003 @atom:853_b003_a003_d003_i003 0.105 3.75 + pair_coeff @atom:854_b004_a004_d004_i004 @atom:854_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:855_b046_a046_d046_i046 @atom:855_b046_a046_d046_i046 0.015 2.42 + pair_coeff @atom:856_b013_a013_d013_i013 @atom:856_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:857_b013_a013_d013_i013 @atom:857_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:858_b013_a013_d013_i013 @atom:858_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:859_b013_a013_d013_i013 @atom:859_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:860_b013_a013_d013_i013 @atom:860_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:861_b013_a013_d013_i013 @atom:861_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:862_b013_a013_d013_i013 @atom:862_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:863_b013_a013_d013_i013 @atom:863_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:864_b013_a013_d013_i013 @atom:864_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:865_b013_a013_d013_i013 @atom:865_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:866_b108_a108_d108_i108 @atom:866_b108_a108_d108_i108 0.1 4.0 + pair_coeff @atom:867_b108_a108_d108_i108 @atom:867_b108_a108_d108_i108 0.1 4.0 + pair_coeff @atom:868_b108_a108_d108_i108 @atom:868_b108_a108_d108_i108 0.1 4.0 + pair_coeff @atom:869_b108_a108_d108_i108 @atom:869_b108_a108_d108_i108 0.1 4.0 + pair_coeff @atom:870_b045_a045_d045_i045 @atom:870_b045_a045_d045_i045 0.03 2.5 + pair_coeff @atom:871_b013_a013_d013_i013 @atom:871_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:872_b013_a013_d013_i013 @atom:872_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:873_b013_a013_d013_i013 @atom:873_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:874_b013_a013_d013_i013 @atom:874_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:875_b001_a001_d001_i001 @atom:875_b001_a001_d001_i001 0.72 3.08 + pair_coeff @atom:876_b021_a021_d021_i021 @atom:876_b021_a021_d021_i021 0.11779 4.18 + pair_coeff @atom:877_b065_a065_d065_i065 @atom:877_b065_a065_d065_i065 0.09 4.51 + pair_coeff @atom:878_b066_a066_d066_i066 @atom:878_b066_a066_d066_i066 0.07 5.15 + pair_coeff @atom:879_b068_a068_d068_i068 @atom:879_b068_a068_d068_i068 0.018279 2.7 + pair_coeff @atom:880_b069_a069_d069_i069 @atom:880_b069_a069_d069_i069 0.002772 3.35 + pair_coeff @atom:881_b070_a070_d070_i070 @atom:881_b070_a070_d070_i070 0.000328 4.06 + pair_coeff @atom:882_b071_a071_d071_i071 @atom:882_b071_a071_d071_i071 0.000171 4.32 + pair_coeff @atom:883_b072_a072_d072_i072 @atom:883_b072_a072_d072_i072 8.1e-05 4.82 + pair_coeff @atom:884_b073_a073_d073_i073 @atom:884_b073_a073_d073_i073 0.875044 2.91 + pair_coeff @atom:885_b074_a074_d074_i074 @atom:885_b074_a074_d074_i074 0.449657 3.47 + pair_coeff @atom:886_b075_a075_d075_i075 @atom:886_b075_a075_d075_i075 0.118226 3.82 + pair_coeff @atom:887_b076_a076_d076_i076 @atom:887_b076_a076_d076_i076 0.047096 4.18 + pair_coeff @atom:888_b013_a013_d013_i013 @atom:888_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:889_b013_a013_d013_i013 @atom:889_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:890_b013_a013_d013_i013 @atom:890_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:891_b013_a013_d013_i013 @atom:891_b013_a013_d013_i013 0.066 3.5 + pair_coeff @atom:892_b046_a046_d046_i046 @atom:892_b046_a046_d046_i046 0.03 2.5 + pair_coeff @atom:893_b053_a053_d053_i053 @atom:893_b053_a053_d053_i053 0.17 3.25 + pair_coeff @atom:894_b048_a048_d048_i048 @atom:894_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:895_b053_a053_d053_i053 @atom:895_b053_a053_d053_i053 0.17 3.25 + pair_coeff @atom:896_b048_a048_d048_i048 @atom:896_b048_a048_d048_i048 0.07 3.55 + pair_coeff @atom:897_b109_a109_d109_i109 @atom:897_b109_a109_d109_i109 0.076 3.55 + pair_coeff @atom:898_b109_a109_d109_i109 @atom:898_b109_a109_d109_i109 0.076 3.55 + pair_coeff @atom:899_b046_a046_d046_i046 @atom:899_b046_a046_d046_i046 0.03 2.42 + pair_coeff @atom:900_b047_a047_d047_i047 @atom:900_b047_a047_d047_i047 0.086 3.3 + pair_coeff @atom:901_b047_a047_d047_i047 @atom:901_b047_a047_d047_i047 0.086 3.3 + pair_coeff @atom:902_b047_a047_d047_i047 @atom:902_b047_a047_d047_i047 0.086 3.3 + pair_coeff @atom:903_b110_a110_d110_i110 @atom:903_b110_a110_d110_i110 0.086 3.3 + pair_coeff @atom:904_b110_a110_d110_i110 @atom:904_b110_a110_d110_i110 0.086 3.3 + pair_coeff @atom:905_b004_a004_d004_i004 @atom:905_b004_a004_d004_i004 0.21 2.96 + pair_coeff @atom:906_b013_a013_d013_i013 @atom:906_b013_a013_d013_i013 0.066 3.5 } #(end of pair_coeffs) @@ -3689,388 +3702,388 @@ OPLSAA { # ------- Bonded Interactions: ------- # http://lammps.sandia.gov/doc/bond_harmonic.html # Syntax: - # bond_coeff BondTypeName BondStyle parameters... + # bond_coeff BondTypeName parameters... write_once("In Settings") { - bond_coeff @bond:1-2 harmonic 367.0 1.38 - bond_coeff @bond:1-3 harmonic 420.0 1.357 - bond_coeff @bond:1-13 harmonic 367.0 1.36 - bond_coeff @bond:1-19 harmonic 450.0 1.279 - bond_coeff @bond:1-25 harmonic 300.0 0.3 - bond_coeff @bond:1-47 harmonic 420.0 1.34 - bond_coeff @bond:1-48 harmonic 420.0 1.354 - bond_coeff @bond:1-82 harmonic 420.0 1.354 - bond_coeff @bond:1-83 harmonic 420.0 1.354 - bond_coeff @bond:1-84 harmonic 420.0 1.354 - bond_coeff @bond:1-87 harmonic 420.0 1.354 - bond_coeff @bond:1-88 harmonic 420.0 1.354 - bond_coeff @bond:1-108 harmonic 461.0 1.57 - bond_coeff @bond:2-2 harmonic 260.0 1.526 - bond_coeff @bond:2-3 harmonic 317.0 1.522 - bond_coeff @bond:2-5 harmonic 386.0 1.425 - bond_coeff @bond:2-6 harmonic 260.0 1.526 - bond_coeff @bond:2-10 harmonic 260.0 1.526 - bond_coeff @bond:2-11 harmonic 317.0 1.5 - bond_coeff @bond:2-12 harmonic 317.0 1.51 - bond_coeff @bond:2-13 harmonic 260.0 1.526 - bond_coeff @bond:2-14 harmonic 317.0 1.5 - bond_coeff @bond:2-15 harmonic 222.0 1.81 - bond_coeff @bond:2-16 harmonic 222.0 1.81 - bond_coeff @bond:2-20 harmonic 320.0 1.425 - bond_coeff @bond:2-24 harmonic 337.0 1.449 - bond_coeff @bond:2-44 harmonic 382.0 1.448 - bond_coeff @bond:2-48 harmonic 317.0 1.51 - bond_coeff @bond:2-51 harmonic 260.0 1.526 - bond_coeff @bond:2-53 harmonic 367.0 1.471 - bond_coeff @bond:2-55 harmonic 337.0 1.463 - bond_coeff @bond:2-80 harmonic 317.0 1.495 - bond_coeff @bond:3-3 harmonic 350.0 1.51 - bond_coeff @bond:3-4 harmonic 570.0 1.229 - bond_coeff @bond:3-5 harmonic 450.0 1.364 - bond_coeff @bond:3-6 harmonic 317.0 1.522 - bond_coeff @bond:3-10 harmonic 317.0 1.522 - bond_coeff @bond:3-12 harmonic 469.0 1.4 - bond_coeff @bond:3-13 harmonic 317.0 1.522 - bond_coeff @bond:3-19 harmonic 400.0 1.444 - bond_coeff @bond:3-20 harmonic 214.0 1.327 - bond_coeff @bond:3-21 harmonic 300.0 1.79 - bond_coeff @bond:3-24 harmonic 490.0 1.335 - bond_coeff @bond:3-44 harmonic 317.0 1.522 - bond_coeff @bond:3-46 harmonic 340.0 1.09 - bond_coeff @bond:3-47 harmonic 410.0 1.444 - bond_coeff @bond:3-48 harmonic 400.0 1.49 - bond_coeff @bond:3-50 harmonic 385.0 1.46 - bond_coeff @bond:3-52 harmonic 656.0 1.25 - bond_coeff @bond:3-56 harmonic 457.0 1.358 - bond_coeff @bond:3-57 harmonic 418.0 1.388 - bond_coeff @bond:3-60 harmonic 447.0 1.419 - bond_coeff @bond:3-65 harmonic 300.0 1.98 - bond_coeff @bond:3-84 harmonic 400.0 1.49 - bond_coeff @bond:3-86 harmonic 385.0 1.46 - bond_coeff @bond:3-105 harmonic 424.0 1.383 - bond_coeff @bond:3-107 harmonic 490.0 1.335 - bond_coeff @bond:4-25 harmonic 553.0 0.3 - bond_coeff @bond:4-64 harmonic 525.0 1.48 - bond_coeff @bond:4-89 harmonic 570.0 1.229 - bond_coeff @bond:4-110 harmonic 700.0 1.171 - bond_coeff @bond:5-6 harmonic 386.0 1.425 - bond_coeff @bond:5-7 harmonic 553.0 0.945 - bond_coeff @bond:5-10 harmonic 386.0 1.425 - bond_coeff @bond:5-13 harmonic 320.0 1.41 - bond_coeff @bond:5-20 harmonic 250.0 1.47 - bond_coeff @bond:5-24 harmonic 400.0 1.38 - bond_coeff @bond:5-25 harmonic 340.0 0.3 - bond_coeff @bond:5-44 harmonic 320.0 1.45 - bond_coeff @bond:5-47 harmonic 450.0 1.37 - bond_coeff @bond:5-48 harmonic 450.0 1.364 - bond_coeff @bond:5-51 harmonic 320.0 1.38 - bond_coeff @bond:5-64 harmonic 230.0 1.61 - bond_coeff @bond:5-79 harmonic 450.0 1.67 - bond_coeff @bond:5-106 harmonic 94.0 1.8 - bond_coeff @bond:5-108 harmonic 374.0 1.64 - bond_coeff @bond:6-6 harmonic 260.0 1.526 - bond_coeff @bond:6-10 harmonic 260.0 1.526 - bond_coeff @bond:6-11 harmonic 317.0 1.5 - bond_coeff @bond:6-13 harmonic 260.0 1.526 - bond_coeff @bond:6-14 harmonic 317.0 1.5 - bond_coeff @bond:6-15 harmonic 222.0 1.81 - bond_coeff @bond:6-16 harmonic 222.0 1.81 - bond_coeff @bond:6-20 harmonic 320.0 1.425 - bond_coeff @bond:6-24 harmonic 337.0 1.449 - bond_coeff @bond:6-44 harmonic 382.0 1.448 - bond_coeff @bond:6-47 harmonic 317.0 1.51 - bond_coeff @bond:6-51 harmonic 260.0 1.526 - bond_coeff @bond:6-53 harmonic 367.0 1.471 - bond_coeff @bond:6-55 harmonic 337.0 1.463 - bond_coeff @bond:6-79 harmonic 222.0 1.81 - bond_coeff @bond:6-105 harmonic 337.0 1.475 - bond_coeff @bond:7-20 harmonic 553.0 0.945 - bond_coeff @bond:7-25 harmonic 340.0 0.1 - bond_coeff @bond:9-9 harmonic 530.0 1.34 - bond_coeff @bond:9-11 harmonic 530.0 1.34 - bond_coeff @bond:9-14 harmonic 530.0 1.34 - bond_coeff @bond:10-10 harmonic 260.0 1.526 - bond_coeff @bond:10-11 harmonic 317.0 1.5 - bond_coeff @bond:10-14 harmonic 317.0 1.5 - bond_coeff @bond:10-20 harmonic 320.0 1.425 - bond_coeff @bond:10-24 harmonic 337.0 1.449 - bond_coeff @bond:10-44 harmonic 382.0 1.448 - bond_coeff @bond:10-105 harmonic 337.0 1.475 - bond_coeff @bond:11-11 harmonic 530.0 1.34 - bond_coeff @bond:11-13 harmonic 317.0 1.5 - bond_coeff @bond:11-14 harmonic 530.0 1.34 - bond_coeff @bond:11-79 harmonic 222.0 1.76 - bond_coeff @bond:12-12 harmonic 469.0 1.4 - bond_coeff @bond:12-48 harmonic 469.0 1.4 - bond_coeff @bond:12-60 harmonic 469.0 1.4 - bond_coeff @bond:12-81 harmonic 469.0 1.4 - bond_coeff @bond:13-13 harmonic 268.0 1.529 - bond_coeff @bond:13-14 harmonic 317.0 1.5 - bond_coeff @bond:13-15 harmonic 222.0 1.81 - bond_coeff @bond:13-16 harmonic 222.0 1.81 - bond_coeff @bond:13-18 harmonic 390.0 1.43 - bond_coeff @bond:13-19 harmonic 390.0 1.47 - bond_coeff @bond:13-20 harmonic 320.0 1.41 - bond_coeff @bond:13-21 harmonic 245.0 1.781 - bond_coeff @bond:13-22 harmonic 340.0 1.79 - bond_coeff @bond:13-24 harmonic 337.0 1.449 - bond_coeff @bond:13-25 harmonic 340.0 0.3 - bond_coeff @bond:13-44 harmonic 382.0 1.448 - bond_coeff @bond:13-46 harmonic 340.0 1.09 - bond_coeff @bond:13-47 harmonic 317.0 1.51 - bond_coeff @bond:13-48 harmonic 317.0 1.51 - bond_coeff @bond:13-50 harmonic 317.0 1.51 - bond_coeff @bond:13-51 harmonic 268.0 1.529 - bond_coeff @bond:13-53 harmonic 367.0 1.471 - bond_coeff @bond:13-55 harmonic 337.0 1.463 - bond_coeff @bond:13-56 harmonic 337.0 1.449 - bond_coeff @bond:13-57 harmonic 337.0 1.475 - bond_coeff @bond:13-60 harmonic 317.0 1.51 - bond_coeff @bond:13-64 harmonic 212.0 1.843 - bond_coeff @bond:13-65 harmonic 245.0 1.945 - bond_coeff @bond:13-66 harmonic 200.0 2.19 - bond_coeff @bond:13-79 harmonic 340.0 1.77 - bond_coeff @bond:13-80 harmonic 317.0 1.495 - bond_coeff @bond:13-83 harmonic 317.0 1.504 - bond_coeff @bond:13-84 harmonic 317.0 1.504 - bond_coeff @bond:13-85 harmonic 317.0 1.504 - bond_coeff @bond:13-87 harmonic 317.0 1.495 - bond_coeff @bond:13-90 harmonic 337.0 1.449 - bond_coeff @bond:13-91 harmonic 280.0 1.51 - bond_coeff @bond:13-95 harmonic 532.8 1.46 - bond_coeff @bond:13-101 harmonic 382.0 1.448 - bond_coeff @bond:13-102 harmonic 375.0 1.49 - bond_coeff @bond:13-104 harmonic 212.0 1.82 - bond_coeff @bond:13-105 harmonic 337.0 1.475 - bond_coeff @bond:13-107 harmonic 337.0 1.449 - bond_coeff @bond:13-108 harmonic 187.0 1.86 - bond_coeff @bond:13-109 harmonic 317.0 1.51 - bond_coeff @bond:14-14 harmonic 530.0 1.34 - bond_coeff @bond:15-17 harmonic 274.0 1.336 - bond_coeff @bond:15-48 harmonic 250.0 1.74 - bond_coeff @bond:16-16 harmonic 166.0 2.038 - bond_coeff @bond:16-19 harmonic 300.0 1.685 - bond_coeff @bond:16-24 harmonic 250.0 1.73 - bond_coeff @bond:16-25 harmonic 340.0 0.5 - bond_coeff @bond:16-47 harmonic 250.0 1.76 - bond_coeff @bond:16-48 harmonic 250.0 1.76 - bond_coeff @bond:16-61 harmonic 250.0 1.73 - bond_coeff @bond:16-82 harmonic 250.0 1.76 - bond_coeff @bond:16-84 harmonic 250.0 1.74 - bond_coeff @bond:16-91 harmonic 222.0 1.81 - bond_coeff @bond:16-108 harmonic 144.0 2.15 - bond_coeff @bond:17-25 harmonic 340.0 0.1 - bond_coeff @bond:18-18 harmonic 550.0 1.12 - bond_coeff @bond:18-19 harmonic 650.0 1.157 - bond_coeff @bond:18-48 harmonic 400.0 1.41 - bond_coeff @bond:18-56 harmonic 550.0 1.24 - bond_coeff @bond:19-19 harmonic 1150.0 1.21 - bond_coeff @bond:19-21 harmonic 330.0 1.637 - bond_coeff @bond:19-46 harmonic 420.0 1.08 - bond_coeff @bond:19-47 harmonic 400.0 1.426 - bond_coeff @bond:19-48 harmonic 400.0 1.451 - bond_coeff @bond:19-50 harmonic 400.0 1.426 - bond_coeff @bond:19-65 harmonic 330.0 1.784 - bond_coeff @bond:19-88 harmonic 400.0 1.451 - bond_coeff @bond:19-91 harmonic 400.0 1.451 - bond_coeff @bond:20-20 harmonic 250.0 1.47 - bond_coeff @bond:20-21 harmonic 200.0 1.69 - bond_coeff @bond:20-24 harmonic 320.0 1.45 - bond_coeff @bond:20-25 harmonic 340.0 0.3 - bond_coeff @bond:20-44 harmonic 320.0 1.45 - bond_coeff @bond:20-47 harmonic 450.0 1.37 - bond_coeff @bond:20-48 harmonic 450.0 1.364 - bond_coeff @bond:20-51 harmonic 320.0 1.38 - bond_coeff @bond:20-60 harmonic 340.0 1.36 - bond_coeff @bond:20-61 harmonic 462.0 1.399 - bond_coeff @bond:20-64 harmonic 230.0 1.61 - bond_coeff @bond:20-82 harmonic 462.0 1.357 - bond_coeff @bond:20-84 harmonic 340.0 1.36 - bond_coeff @bond:20-108 harmonic 374.0 1.64 - bond_coeff @bond:21-25 harmonic 300.0 0.3 - bond_coeff @bond:21-47 harmonic 300.0 1.725 - bond_coeff @bond:21-48 harmonic 300.0 1.725 - bond_coeff @bond:21-82 harmonic 300.0 1.725 - bond_coeff @bond:21-83 harmonic 300.0 1.725 - bond_coeff @bond:21-84 harmonic 300.0 1.725 - bond_coeff @bond:21-87 harmonic 300.0 1.725 - bond_coeff @bond:21-88 harmonic 300.0 1.725 - bond_coeff @bond:21-108 harmonic 223.0 2.02 - bond_coeff @bond:22-23 harmonic 700.0 1.53 - bond_coeff @bond:22-25 harmonic 340.0 0.5 - bond_coeff @bond:23-25 harmonic 340.0 0.3 - bond_coeff @bond:23-79 harmonic 700.0 1.44 - bond_coeff @bond:24-25 harmonic 367.0 0.3 - bond_coeff @bond:24-45 harmonic 434.0 1.01 - bond_coeff @bond:24-48 harmonic 427.0 1.381 - bond_coeff @bond:24-59 harmonic 427.0 1.381 - bond_coeff @bond:24-79 harmonic 434.0 1.67 - bond_coeff @bond:24-84 harmonic 427.0 1.381 - bond_coeff @bond:24-88 harmonic 427.0 1.381 - bond_coeff @bond:24-91 harmonic 337.0 1.449 - bond_coeff @bond:24-103 harmonic 500.0 1.27 - bond_coeff @bond:24-106 harmonic 40.0 2.05 - bond_coeff @bond:25-25 harmonic 340.0 0.3 - bond_coeff @bond:25-44 harmonic 340.0 0.3 - bond_coeff @bond:25-45 harmonic 340.0 0.1 - bond_coeff @bond:25-46 harmonic 340.0 0.3 - bond_coeff @bond:25-47 harmonic 340.0 0.3 - bond_coeff @bond:25-48 harmonic 367.0 0.3 - bond_coeff @bond:25-49 harmonic 340.0 0.3 - bond_coeff @bond:25-53 harmonic 340.0 0.3 - bond_coeff @bond:25-56 harmonic 367.0 0.3 - bond_coeff @bond:25-61 harmonic 367.0 0.3 - bond_coeff @bond:25-65 harmonic 300.0 0.3 - bond_coeff @bond:25-103 harmonic 340.0 0.1 - bond_coeff @bond:31-32 harmonic 600.0 0.9572 - bond_coeff @bond:31-33 harmonic 900.0 0.15 - bond_coeff @bond:31-106 harmonic 40.0 2.05 - bond_coeff @bond:34-35 harmonic 529.6 0.9572 - bond_coeff @bond:36-37 harmonic 600.0 0.9572 - bond_coeff @bond:36-38 harmonic 900.0 0.175 - bond_coeff @bond:39-40 harmonic 600.0 0.9572 - bond_coeff @bond:39-41 harmonic 900.0 0.7 - bond_coeff @bond:42-43 harmonic 600.0 1.0 - bond_coeff @bond:44-44 harmonic 350.0 1.445 - bond_coeff @bond:44-45 harmonic 434.0 1.01 - bond_coeff @bond:44-48 harmonic 481.0 1.34 - bond_coeff @bond:44-79 harmonic 340.0 1.77 - bond_coeff @bond:44-91 harmonic 382.0 1.448 - bond_coeff @bond:44-108 harmonic 266.0 1.74 - bond_coeff @bond:45-53 harmonic 434.0 1.01 - bond_coeff @bond:45-55 harmonic 434.0 1.01 - bond_coeff @bond:45-56 harmonic 434.0 1.01 - bond_coeff @bond:45-57 harmonic 434.0 1.01 - bond_coeff @bond:45-101 harmonic 434.0 1.01 - bond_coeff @bond:45-105 harmonic 434.0 1.01 - bond_coeff @bond:45-108 harmonic 166.0 1.48 - bond_coeff @bond:46-47 harmonic 340.0 1.08 - bond_coeff @bond:46-50 harmonic 340.0 1.08 - bond_coeff @bond:46-51 harmonic 340.0 1.09 - bond_coeff @bond:46-80 harmonic 340.0 1.08 - bond_coeff @bond:46-91 harmonic 340.0 1.088 - bond_coeff @bond:46-95 harmonic 532.8 1.084 - bond_coeff @bond:46-108 harmonic 166.0 1.48 - bond_coeff @bond:46-109 harmonic 340.0 1.08 - bond_coeff @bond:47-47 harmonic 549.0 1.34 - bond_coeff @bond:47-48 harmonic 427.0 1.433 - bond_coeff @bond:47-50 harmonic 549.0 1.34 - bond_coeff @bond:47-57 harmonic 448.0 1.365 - bond_coeff @bond:47-58 harmonic 367.0 1.08 - bond_coeff @bond:47-65 harmonic 300.0 1.9 - bond_coeff @bond:47-66 harmonic 250.0 2.08 - bond_coeff @bond:47-86 harmonic 385.0 1.46 - bond_coeff @bond:47-91 harmonic 317.0 1.51 - bond_coeff @bond:47-105 harmonic 448.0 1.365 - bond_coeff @bond:47-110 harmonic 700.0 1.305 - bond_coeff @bond:48-48 harmonic 469.0 1.4 - bond_coeff @bond:48-49 harmonic 367.0 1.08 - bond_coeff @bond:48-50 harmonic 427.0 1.433 - bond_coeff @bond:48-53 harmonic 400.0 1.45 - bond_coeff @bond:48-55 harmonic 481.0 1.34 - bond_coeff @bond:48-56 harmonic 483.0 1.339 - bond_coeff @bond:48-57 harmonic 427.0 1.381 - bond_coeff @bond:48-60 harmonic 469.0 1.404 - bond_coeff @bond:48-61 harmonic 414.0 1.391 - bond_coeff @bond:48-64 harmonic 220.0 1.78 - bond_coeff @bond:48-65 harmonic 300.0 1.87 - bond_coeff @bond:48-66 harmonic 250.0 2.08 - bond_coeff @bond:48-79 harmonic 340.0 1.77 - bond_coeff @bond:48-81 harmonic 469.0 1.4 - bond_coeff @bond:48-84 harmonic 546.0 1.367 - bond_coeff @bond:48-86 harmonic 469.0 1.4 - bond_coeff @bond:48-88 harmonic 469.0 1.421 - bond_coeff @bond:48-91 harmonic 317.0 1.49 - bond_coeff @bond:48-101 harmonic 382.0 1.385 - bond_coeff @bond:48-102 harmonic 400.0 1.46 - bond_coeff @bond:48-109 harmonic 427.0 1.433 - bond_coeff @bond:49-59 harmonic 367.0 1.08 - bond_coeff @bond:49-62 harmonic 340.0 1.08 - bond_coeff @bond:49-82 harmonic 367.0 1.08 - bond_coeff @bond:49-83 harmonic 367.0 1.08 - bond_coeff @bond:49-84 harmonic 367.0 1.08 - bond_coeff @bond:49-85 harmonic 367.0 1.08 - bond_coeff @bond:49-87 harmonic 367.0 1.08 - bond_coeff @bond:49-88 harmonic 367.0 1.08 - bond_coeff @bond:50-50 harmonic 385.0 1.46 - bond_coeff @bond:50-56 harmonic 457.0 1.29 - bond_coeff @bond:50-84 harmonic 549.0 1.365 - bond_coeff @bond:50-109 harmonic 385.0 1.46 - bond_coeff @bond:51-105 harmonic 337.0 1.475 - bond_coeff @bond:52-64 harmonic 525.0 1.48 - bond_coeff @bond:53-54 harmonic 434.0 1.01 - bond_coeff @bond:54-55 harmonic 434.0 1.01 - bond_coeff @bond:55-59 harmonic 481.0 1.34 - bond_coeff @bond:55-82 harmonic 481.0 1.34 - bond_coeff @bond:56-56 harmonic 500.0 1.32 - bond_coeff @bond:56-59 harmonic 502.0 1.324 - bond_coeff @bond:56-60 harmonic 461.0 1.354 - bond_coeff @bond:56-82 harmonic 461.0 1.354 - bond_coeff @bond:56-86 harmonic 483.0 1.339 - bond_coeff @bond:56-103 harmonic 550.0 1.21 - bond_coeff @bond:56-109 harmonic 457.0 1.29 - bond_coeff @bond:57-60 harmonic 436.0 1.374 - bond_coeff @bond:57-61 harmonic 400.0 1.349 - bond_coeff @bond:57-62 harmonic 440.0 1.371 - bond_coeff @bond:57-81 harmonic 428.0 1.38 - bond_coeff @bond:57-82 harmonic 477.0 1.343 - bond_coeff @bond:57-84 harmonic 427.0 1.381 - bond_coeff @bond:57-85 harmonic 427.0 1.381 - bond_coeff @bond:57-86 harmonic 385.0 1.44 - bond_coeff @bond:58-83 harmonic 367.0 1.08 - bond_coeff @bond:58-84 harmonic 367.0 1.08 - bond_coeff @bond:59-63 harmonic 367.0 1.08 - bond_coeff @bond:60-60 harmonic 520.0 1.37 - bond_coeff @bond:60-61 harmonic 414.0 1.391 - bond_coeff @bond:60-80 harmonic 388.0 1.459 - bond_coeff @bond:60-81 harmonic 447.0 1.419 - bond_coeff @bond:60-87 harmonic 469.0 1.424 - bond_coeff @bond:60-105 harmonic 436.0 1.374 - bond_coeff @bond:61-61 harmonic 400.0 1.28 - bond_coeff @bond:61-62 harmonic 529.0 1.304 - bond_coeff @bond:61-82 harmonic 488.0 1.335 - bond_coeff @bond:61-83 harmonic 410.0 1.394 - bond_coeff @bond:61-84 harmonic 410.0 1.394 - bond_coeff @bond:61-88 harmonic 410.0 1.32 - bond_coeff @bond:62-63 harmonic 367.0 1.08 - bond_coeff @bond:62-105 harmonic 440.0 1.371 - bond_coeff @bond:63-82 harmonic 367.0 1.08 - bond_coeff @bond:64-108 harmonic 108.0 2.25 - bond_coeff @bond:65-82 harmonic 300.0 1.87 - bond_coeff @bond:65-83 harmonic 300.0 1.87 - bond_coeff @bond:65-84 harmonic 300.0 1.87 - bond_coeff @bond:65-87 harmonic 300.0 1.87 - bond_coeff @bond:65-88 harmonic 300.0 1.87 - bond_coeff @bond:65-108 harmonic 151.0 2.19 - bond_coeff @bond:66-82 harmonic 250.0 2.08 - bond_coeff @bond:66-83 harmonic 250.0 2.08 - bond_coeff @bond:66-84 harmonic 250.0 2.08 - bond_coeff @bond:66-87 harmonic 250.0 2.08 - bond_coeff @bond:66-88 harmonic 250.0 2.08 - bond_coeff @bond:66-108 harmonic 108.0 2.44 - bond_coeff @bond:77-78 harmonic 500.0 1.8 - bond_coeff @bond:80-84 harmonic 546.0 1.352 - bond_coeff @bond:82-86 harmonic 385.0 1.46 - bond_coeff @bond:82-87 harmonic 520.0 1.37 - bond_coeff @bond:83-84 harmonic 520.0 1.37 - bond_coeff @bond:83-86 harmonic 385.0 1.46 - bond_coeff @bond:84-84 harmonic 512.0 1.375 - bond_coeff @bond:84-86 harmonic 385.0 1.46 - bond_coeff @bond:84-87 harmonic 546.0 1.367 - bond_coeff @bond:84-88 harmonic 520.0 1.37 - bond_coeff @bond:85-85 harmonic 520.0 1.37 - bond_coeff @bond:86-86 harmonic 385.0 1.46 - bond_coeff @bond:86-87 harmonic 385.0 1.46 - bond_coeff @bond:86-88 harmonic 385.0 1.46 - bond_coeff @bond:87-87 harmonic 469.0 1.424 - bond_coeff @bond:87-88 harmonic 469.0 1.424 - bond_coeff @bond:89-90 harmonic 490.0 1.335 - bond_coeff @bond:89-91 harmonic 317.0 1.522 - bond_coeff @bond:90-91 harmonic 337.0 1.449 - bond_coeff @bond:91-91 harmonic 260.0 1.52 - bond_coeff @bond:102-103 harmonic 550.0 1.225 - bond_coeff @bond:108-108 harmonic 94.0 2.32 - bond_coeff @bond:109-109 harmonic 549.0 1.345 + bond_coeff @bond:001_002 367.0 1.38 + bond_coeff @bond:001_003 420.0 1.357 + bond_coeff @bond:001_013 367.0 1.36 + bond_coeff @bond:001_019 450.0 1.279 + bond_coeff @bond:001_025 300.0 0.3 + bond_coeff @bond:001_047 420.0 1.34 + bond_coeff @bond:001_048 420.0 1.354 + bond_coeff @bond:001_082 420.0 1.354 + bond_coeff @bond:001_083 420.0 1.354 + bond_coeff @bond:001_084 420.0 1.354 + bond_coeff @bond:001_087 420.0 1.354 + bond_coeff @bond:001_088 420.0 1.354 + bond_coeff @bond:001_108 461.0 1.57 + bond_coeff @bond:002_002 260.0 1.526 + bond_coeff @bond:002_003 317.0 1.522 + bond_coeff @bond:002_005 386.0 1.425 + bond_coeff @bond:002_006 260.0 1.526 + bond_coeff @bond:002_010 260.0 1.526 + bond_coeff @bond:002_011 317.0 1.5 + bond_coeff @bond:002_012 317.0 1.51 + bond_coeff @bond:002_013 260.0 1.526 + bond_coeff @bond:002_014 317.0 1.5 + bond_coeff @bond:002_015 222.0 1.81 + bond_coeff @bond:002_016 222.0 1.81 + bond_coeff @bond:002_020 320.0 1.425 + bond_coeff @bond:002_024 337.0 1.449 + bond_coeff @bond:002_044 382.0 1.448 + bond_coeff @bond:002_048 317.0 1.51 + bond_coeff @bond:002_051 260.0 1.526 + bond_coeff @bond:002_053 367.0 1.471 + bond_coeff @bond:002_055 337.0 1.463 + bond_coeff @bond:002_080 317.0 1.495 + bond_coeff @bond:003_003 350.0 1.51 + bond_coeff @bond:003_004 570.0 1.229 + bond_coeff @bond:003_005 450.0 1.364 + bond_coeff @bond:003_006 317.0 1.522 + bond_coeff @bond:003_010 317.0 1.522 + bond_coeff @bond:003_012 469.0 1.4 + bond_coeff @bond:003_013 317.0 1.522 + bond_coeff @bond:003_019 400.0 1.444 + bond_coeff @bond:003_020 214.0 1.327 + bond_coeff @bond:003_021 300.0 1.79 + bond_coeff @bond:003_024 490.0 1.335 + bond_coeff @bond:003_044 317.0 1.522 + bond_coeff @bond:003_046 340.0 1.09 + bond_coeff @bond:003_047 410.0 1.444 + bond_coeff @bond:003_048 400.0 1.49 + bond_coeff @bond:003_050 385.0 1.46 + bond_coeff @bond:003_052 656.0 1.25 + bond_coeff @bond:003_056 457.0 1.358 + bond_coeff @bond:003_057 418.0 1.388 + bond_coeff @bond:003_060 447.0 1.419 + bond_coeff @bond:003_065 300.0 1.98 + bond_coeff @bond:003_084 400.0 1.49 + bond_coeff @bond:003_086 385.0 1.46 + bond_coeff @bond:003_105 424.0 1.383 + bond_coeff @bond:003_107 490.0 1.335 + bond_coeff @bond:004_025 553.0 0.3 + bond_coeff @bond:004_064 525.0 1.48 + bond_coeff @bond:004_089 570.0 1.229 + bond_coeff @bond:004_110 700.0 1.171 + bond_coeff @bond:005_006 386.0 1.425 + bond_coeff @bond:005_007 553.0 0.945 + bond_coeff @bond:005_010 386.0 1.425 + bond_coeff @bond:005_013 320.0 1.41 + bond_coeff @bond:005_020 250.0 1.47 + bond_coeff @bond:005_024 400.0 1.38 + bond_coeff @bond:005_025 340.0 0.3 + bond_coeff @bond:005_044 320.0 1.45 + bond_coeff @bond:005_047 450.0 1.37 + bond_coeff @bond:005_048 450.0 1.364 + bond_coeff @bond:005_051 320.0 1.38 + bond_coeff @bond:005_064 230.0 1.61 + bond_coeff @bond:005_079 450.0 1.67 + bond_coeff @bond:005_106 94.0 1.8 + bond_coeff @bond:005_108 374.0 1.64 + bond_coeff @bond:006_006 260.0 1.526 + bond_coeff @bond:006_010 260.0 1.526 + bond_coeff @bond:006_011 317.0 1.5 + bond_coeff @bond:006_013 260.0 1.526 + bond_coeff @bond:006_014 317.0 1.5 + bond_coeff @bond:006_015 222.0 1.81 + bond_coeff @bond:006_016 222.0 1.81 + bond_coeff @bond:006_020 320.0 1.425 + bond_coeff @bond:006_024 337.0 1.449 + bond_coeff @bond:006_044 382.0 1.448 + bond_coeff @bond:006_047 317.0 1.51 + bond_coeff @bond:006_051 260.0 1.526 + bond_coeff @bond:006_053 367.0 1.471 + bond_coeff @bond:006_055 337.0 1.463 + bond_coeff @bond:006_079 222.0 1.81 + bond_coeff @bond:006_105 337.0 1.475 + bond_coeff @bond:007_020 553.0 0.945 + bond_coeff @bond:007_025 340.0 0.1 + bond_coeff @bond:009_009 530.0 1.34 + bond_coeff @bond:009_011 530.0 1.34 + bond_coeff @bond:009_014 530.0 1.34 + bond_coeff @bond:010_010 260.0 1.526 + bond_coeff @bond:010_011 317.0 1.5 + bond_coeff @bond:010_014 317.0 1.5 + bond_coeff @bond:010_020 320.0 1.425 + bond_coeff @bond:010_024 337.0 1.449 + bond_coeff @bond:010_044 382.0 1.448 + bond_coeff @bond:010_105 337.0 1.475 + bond_coeff @bond:011_011 530.0 1.34 + bond_coeff @bond:011_013 317.0 1.5 + bond_coeff @bond:011_014 530.0 1.34 + bond_coeff @bond:011_079 222.0 1.76 + bond_coeff @bond:012_012 469.0 1.4 + bond_coeff @bond:012_048 469.0 1.4 + bond_coeff @bond:012_060 469.0 1.4 + bond_coeff @bond:012_081 469.0 1.4 + bond_coeff @bond:013_013 268.0 1.529 + bond_coeff @bond:013_014 317.0 1.5 + bond_coeff @bond:013_015 222.0 1.81 + bond_coeff @bond:013_016 222.0 1.81 + bond_coeff @bond:013_018 390.0 1.43 + bond_coeff @bond:013_019 390.0 1.47 + bond_coeff @bond:013_020 320.0 1.41 + bond_coeff @bond:013_021 245.0 1.781 + bond_coeff @bond:013_022 340.0 1.79 + bond_coeff @bond:013_024 337.0 1.449 + bond_coeff @bond:013_025 340.0 0.3 + bond_coeff @bond:013_044 382.0 1.448 + bond_coeff @bond:013_046 340.0 1.09 + bond_coeff @bond:013_047 317.0 1.51 + bond_coeff @bond:013_048 317.0 1.51 + bond_coeff @bond:013_050 317.0 1.51 + bond_coeff @bond:013_051 268.0 1.529 + bond_coeff @bond:013_053 367.0 1.471 + bond_coeff @bond:013_055 337.0 1.463 + bond_coeff @bond:013_056 337.0 1.449 + bond_coeff @bond:013_057 337.0 1.475 + bond_coeff @bond:013_060 317.0 1.51 + bond_coeff @bond:013_064 212.0 1.843 + bond_coeff @bond:013_065 245.0 1.945 + bond_coeff @bond:013_066 200.0 2.19 + bond_coeff @bond:013_079 340.0 1.77 + bond_coeff @bond:013_080 317.0 1.495 + bond_coeff @bond:013_083 317.0 1.504 + bond_coeff @bond:013_084 317.0 1.504 + bond_coeff @bond:013_085 317.0 1.504 + bond_coeff @bond:013_087 317.0 1.495 + bond_coeff @bond:013_090 337.0 1.449 + bond_coeff @bond:013_091 280.0 1.51 + bond_coeff @bond:013_095 532.8 1.46 + bond_coeff @bond:013_101 382.0 1.448 + bond_coeff @bond:013_102 375.0 1.49 + bond_coeff @bond:013_104 212.0 1.82 + bond_coeff @bond:013_105 337.0 1.475 + bond_coeff @bond:013_107 337.0 1.449 + bond_coeff @bond:013_108 187.0 1.86 + bond_coeff @bond:013_109 317.0 1.51 + bond_coeff @bond:014_014 530.0 1.34 + bond_coeff @bond:015_017 274.0 1.336 + bond_coeff @bond:015_048 250.0 1.74 + bond_coeff @bond:016_016 166.0 2.038 + bond_coeff @bond:016_019 300.0 1.685 + bond_coeff @bond:016_024 250.0 1.73 + bond_coeff @bond:016_025 340.0 0.5 + bond_coeff @bond:016_047 250.0 1.76 + bond_coeff @bond:016_048 250.0 1.76 + bond_coeff @bond:016_061 250.0 1.73 + bond_coeff @bond:016_082 250.0 1.76 + bond_coeff @bond:016_084 250.0 1.74 + bond_coeff @bond:016_091 222.0 1.81 + bond_coeff @bond:016_108 144.0 2.15 + bond_coeff @bond:017_025 340.0 0.1 + bond_coeff @bond:018_018 550.0 1.12 + bond_coeff @bond:018_019 650.0 1.157 + bond_coeff @bond:018_048 400.0 1.41 + bond_coeff @bond:018_056 550.0 1.24 + bond_coeff @bond:019_019 1150.0 1.21 + bond_coeff @bond:019_021 330.0 1.637 + bond_coeff @bond:019_046 420.0 1.08 + bond_coeff @bond:019_047 400.0 1.426 + bond_coeff @bond:019_048 400.0 1.451 + bond_coeff @bond:019_050 400.0 1.426 + bond_coeff @bond:019_065 330.0 1.784 + bond_coeff @bond:019_088 400.0 1.451 + bond_coeff @bond:019_091 400.0 1.451 + bond_coeff @bond:020_020 250.0 1.47 + bond_coeff @bond:020_021 200.0 1.69 + bond_coeff @bond:020_024 320.0 1.45 + bond_coeff @bond:020_025 340.0 0.3 + bond_coeff @bond:020_044 320.0 1.45 + bond_coeff @bond:020_047 450.0 1.37 + bond_coeff @bond:020_048 450.0 1.364 + bond_coeff @bond:020_051 320.0 1.38 + bond_coeff @bond:020_060 340.0 1.36 + bond_coeff @bond:020_061 462.0 1.399 + bond_coeff @bond:020_064 230.0 1.61 + bond_coeff @bond:020_082 462.0 1.357 + bond_coeff @bond:020_084 340.0 1.36 + bond_coeff @bond:020_108 374.0 1.64 + bond_coeff @bond:021_025 300.0 0.3 + bond_coeff @bond:021_047 300.0 1.725 + bond_coeff @bond:021_048 300.0 1.725 + bond_coeff @bond:021_082 300.0 1.725 + bond_coeff @bond:021_083 300.0 1.725 + bond_coeff @bond:021_084 300.0 1.725 + bond_coeff @bond:021_087 300.0 1.725 + bond_coeff @bond:021_088 300.0 1.725 + bond_coeff @bond:021_108 223.0 2.02 + bond_coeff @bond:022_023 700.0 1.53 + bond_coeff @bond:022_025 340.0 0.5 + bond_coeff @bond:023_025 340.0 0.3 + bond_coeff @bond:023_079 700.0 1.44 + bond_coeff @bond:024_025 367.0 0.3 + bond_coeff @bond:024_045 434.0 1.01 + bond_coeff @bond:024_048 427.0 1.381 + bond_coeff @bond:024_059 427.0 1.381 + bond_coeff @bond:024_079 434.0 1.67 + bond_coeff @bond:024_084 427.0 1.381 + bond_coeff @bond:024_088 427.0 1.381 + bond_coeff @bond:024_091 337.0 1.449 + bond_coeff @bond:024_103 500.0 1.27 + bond_coeff @bond:024_106 40.0 2.05 + bond_coeff @bond:025_025 340.0 0.3 + bond_coeff @bond:025_044 340.0 0.3 + bond_coeff @bond:025_045 340.0 0.1 + bond_coeff @bond:025_046 340.0 0.3 + bond_coeff @bond:025_047 340.0 0.3 + bond_coeff @bond:025_048 367.0 0.3 + bond_coeff @bond:025_049 340.0 0.3 + bond_coeff @bond:025_053 340.0 0.3 + bond_coeff @bond:025_056 367.0 0.3 + bond_coeff @bond:025_061 367.0 0.3 + bond_coeff @bond:025_065 300.0 0.3 + bond_coeff @bond:025_103 340.0 0.1 + bond_coeff @bond:031_032 600.0 0.9572 + bond_coeff @bond:031_033 900.0 0.15 + bond_coeff @bond:031_106 40.0 2.05 + bond_coeff @bond:034_035 529.6 0.9572 + bond_coeff @bond:036_037 600.0 0.9572 + bond_coeff @bond:036_038 900.0 0.175 + bond_coeff @bond:039_040 600.0 0.9572 + bond_coeff @bond:039_041 900.0 0.7 + bond_coeff @bond:042_043 600.0 1.0 + bond_coeff @bond:044_044 350.0 1.445 + bond_coeff @bond:044_045 434.0 1.01 + bond_coeff @bond:044_048 481.0 1.34 + bond_coeff @bond:044_079 340.0 1.77 + bond_coeff @bond:044_091 382.0 1.448 + bond_coeff @bond:044_108 266.0 1.74 + bond_coeff @bond:045_053 434.0 1.01 + bond_coeff @bond:045_055 434.0 1.01 + bond_coeff @bond:045_056 434.0 1.01 + bond_coeff @bond:045_057 434.0 1.01 + bond_coeff @bond:045_101 434.0 1.01 + bond_coeff @bond:045_105 434.0 1.01 + bond_coeff @bond:045_108 166.0 1.48 + bond_coeff @bond:046_047 340.0 1.08 + bond_coeff @bond:046_050 340.0 1.08 + bond_coeff @bond:046_051 340.0 1.09 + bond_coeff @bond:046_080 340.0 1.08 + bond_coeff @bond:046_091 340.0 1.088 + bond_coeff @bond:046_095 532.8 1.084 + bond_coeff @bond:046_108 166.0 1.48 + bond_coeff @bond:046_109 340.0 1.08 + bond_coeff @bond:047_047 549.0 1.34 + bond_coeff @bond:047_048 427.0 1.433 + bond_coeff @bond:047_050 549.0 1.34 + bond_coeff @bond:047_057 448.0 1.365 + bond_coeff @bond:047_058 367.0 1.08 + bond_coeff @bond:047_065 300.0 1.9 + bond_coeff @bond:047_066 250.0 2.08 + bond_coeff @bond:047_086 385.0 1.46 + bond_coeff @bond:047_091 317.0 1.51 + bond_coeff @bond:047_105 448.0 1.365 + bond_coeff @bond:047_110 700.0 1.305 + bond_coeff @bond:048_048 469.0 1.4 + bond_coeff @bond:048_049 367.0 1.08 + bond_coeff @bond:048_050 427.0 1.433 + bond_coeff @bond:048_053 400.0 1.45 + bond_coeff @bond:048_055 481.0 1.34 + bond_coeff @bond:048_056 483.0 1.339 + bond_coeff @bond:048_057 427.0 1.381 + bond_coeff @bond:048_060 469.0 1.404 + bond_coeff @bond:048_061 414.0 1.391 + bond_coeff @bond:048_064 220.0 1.78 + bond_coeff @bond:048_065 300.0 1.87 + bond_coeff @bond:048_066 250.0 2.08 + bond_coeff @bond:048_079 340.0 1.77 + bond_coeff @bond:048_081 469.0 1.4 + bond_coeff @bond:048_084 546.0 1.367 + bond_coeff @bond:048_086 469.0 1.4 + bond_coeff @bond:048_088 469.0 1.421 + bond_coeff @bond:048_091 317.0 1.49 + bond_coeff @bond:048_101 382.0 1.385 + bond_coeff @bond:048_102 400.0 1.46 + bond_coeff @bond:048_109 427.0 1.433 + bond_coeff @bond:049_059 367.0 1.08 + bond_coeff @bond:049_062 340.0 1.08 + bond_coeff @bond:049_082 367.0 1.08 + bond_coeff @bond:049_083 367.0 1.08 + bond_coeff @bond:049_084 367.0 1.08 + bond_coeff @bond:049_085 367.0 1.08 + bond_coeff @bond:049_087 367.0 1.08 + bond_coeff @bond:049_088 367.0 1.08 + bond_coeff @bond:050_050 385.0 1.46 + bond_coeff @bond:050_056 457.0 1.29 + bond_coeff @bond:050_084 549.0 1.365 + bond_coeff @bond:050_109 385.0 1.46 + bond_coeff @bond:051_105 337.0 1.475 + bond_coeff @bond:052_064 525.0 1.48 + bond_coeff @bond:053_054 434.0 1.01 + bond_coeff @bond:054_055 434.0 1.01 + bond_coeff @bond:055_059 481.0 1.34 + bond_coeff @bond:055_082 481.0 1.34 + bond_coeff @bond:056_056 500.0 1.32 + bond_coeff @bond:056_059 502.0 1.324 + bond_coeff @bond:056_060 461.0 1.354 + bond_coeff @bond:056_082 461.0 1.354 + bond_coeff @bond:056_086 483.0 1.339 + bond_coeff @bond:056_103 550.0 1.21 + bond_coeff @bond:056_109 457.0 1.29 + bond_coeff @bond:057_060 436.0 1.374 + bond_coeff @bond:057_061 400.0 1.349 + bond_coeff @bond:057_062 440.0 1.371 + bond_coeff @bond:057_081 428.0 1.38 + bond_coeff @bond:057_082 477.0 1.343 + bond_coeff @bond:057_084 427.0 1.381 + bond_coeff @bond:057_085 427.0 1.381 + bond_coeff @bond:057_086 385.0 1.44 + bond_coeff @bond:058_083 367.0 1.08 + bond_coeff @bond:058_084 367.0 1.08 + bond_coeff @bond:059_063 367.0 1.08 + bond_coeff @bond:060_060 520.0 1.37 + bond_coeff @bond:060_061 414.0 1.391 + bond_coeff @bond:060_080 388.0 1.459 + bond_coeff @bond:060_081 447.0 1.419 + bond_coeff @bond:060_087 469.0 1.424 + bond_coeff @bond:060_105 436.0 1.374 + bond_coeff @bond:061_061 400.0 1.28 + bond_coeff @bond:061_062 529.0 1.304 + bond_coeff @bond:061_082 488.0 1.335 + bond_coeff @bond:061_083 410.0 1.394 + bond_coeff @bond:061_084 410.0 1.394 + bond_coeff @bond:061_088 410.0 1.32 + bond_coeff @bond:062_063 367.0 1.08 + bond_coeff @bond:062_105 440.0 1.371 + bond_coeff @bond:063_082 367.0 1.08 + bond_coeff @bond:064_108 108.0 2.25 + bond_coeff @bond:065_082 300.0 1.87 + bond_coeff @bond:065_083 300.0 1.87 + bond_coeff @bond:065_084 300.0 1.87 + bond_coeff @bond:065_087 300.0 1.87 + bond_coeff @bond:065_088 300.0 1.87 + bond_coeff @bond:065_108 151.0 2.19 + bond_coeff @bond:066_082 250.0 2.08 + bond_coeff @bond:066_083 250.0 2.08 + bond_coeff @bond:066_084 250.0 2.08 + bond_coeff @bond:066_087 250.0 2.08 + bond_coeff @bond:066_088 250.0 2.08 + bond_coeff @bond:066_108 108.0 2.44 + bond_coeff @bond:077_078 500.0 1.8 + bond_coeff @bond:080_084 546.0 1.352 + bond_coeff @bond:082_086 385.0 1.46 + bond_coeff @bond:082_087 520.0 1.37 + bond_coeff @bond:083_084 520.0 1.37 + bond_coeff @bond:083_086 385.0 1.46 + bond_coeff @bond:084_084 512.0 1.375 + bond_coeff @bond:084_086 385.0 1.46 + bond_coeff @bond:084_087 546.0 1.367 + bond_coeff @bond:084_088 520.0 1.37 + bond_coeff @bond:085_085 520.0 1.37 + bond_coeff @bond:086_086 385.0 1.46 + bond_coeff @bond:086_087 385.0 1.46 + bond_coeff @bond:086_088 385.0 1.46 + bond_coeff @bond:087_087 469.0 1.424 + bond_coeff @bond:087_088 469.0 1.424 + bond_coeff @bond:089_090 490.0 1.335 + bond_coeff @bond:089_091 317.0 1.522 + bond_coeff @bond:090_091 337.0 1.449 + bond_coeff @bond:091_091 260.0 1.52 + bond_coeff @bond:102_103 550.0 1.225 + bond_coeff @bond:108_108 94.0 2.32 + bond_coeff @bond:109_109 549.0 1.345 } #(end of bond_coeffs) # Rules for assigning bond types by atom type: @@ -4078,385 +4091,385 @@ OPLSAA { # (* = wildcard) write_once("Data Bonds By Type") { - @bond:1-2 @atom:*_b1_a*_d*_i* @atom:*_b2_a*_d*_i* - @bond:1-3 @atom:*_b1_a*_d*_i* @atom:*_b3_a*_d*_i* - @bond:1-13 @atom:*_b1_a*_d*_i* @atom:*_b13_a*_d*_i* - @bond:1-19 @atom:*_b1_a*_d*_i* @atom:*_b19_a*_d*_i* - @bond:1-25 @atom:*_b1_a*_d*_i* @atom:*_b25_a*_d*_i* - @bond:1-47 @atom:*_b1_a*_d*_i* @atom:*_b47_a*_d*_i* - @bond:1-48 @atom:*_b1_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:1-82 @atom:*_b1_a*_d*_i* @atom:*_b82_a*_d*_i* - @bond:1-83 @atom:*_b1_a*_d*_i* @atom:*_b83_a*_d*_i* - @bond:1-84 @atom:*_b1_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:1-87 @atom:*_b1_a*_d*_i* @atom:*_b87_a*_d*_i* - @bond:1-88 @atom:*_b1_a*_d*_i* @atom:*_b88_a*_d*_i* - @bond:1-108 @atom:*_b1_a*_d*_i* @atom:*_b108_a*_d*_i* - @bond:2-2 @atom:*_b2_a*_d*_i* @atom:*_b2_a*_d*_i* - @bond:2-3 @atom:*_b2_a*_d*_i* @atom:*_b3_a*_d*_i* - @bond:2-5 @atom:*_b2_a*_d*_i* @atom:*_b5_a*_d*_i* - @bond:2-6 @atom:*_b2_a*_d*_i* @atom:*_b6_a*_d*_i* - @bond:2-10 @atom:*_b2_a*_d*_i* @atom:*_b10_a*_d*_i* - @bond:2-11 @atom:*_b2_a*_d*_i* @atom:*_b11_a*_d*_i* - @bond:2-12 @atom:*_b2_a*_d*_i* @atom:*_b12_a*_d*_i* - @bond:2-13 @atom:*_b2_a*_d*_i* @atom:*_b13_a*_d*_i* - @bond:2-14 @atom:*_b2_a*_d*_i* @atom:*_b14_a*_d*_i* - @bond:2-15 @atom:*_b2_a*_d*_i* @atom:*_b15_a*_d*_i* - @bond:2-16 @atom:*_b2_a*_d*_i* @atom:*_b16_a*_d*_i* - @bond:2-20 @atom:*_b2_a*_d*_i* @atom:*_b20_a*_d*_i* - @bond:2-24 @atom:*_b2_a*_d*_i* @atom:*_b24_a*_d*_i* - @bond:2-44 @atom:*_b2_a*_d*_i* @atom:*_b44_a*_d*_i* - @bond:2-48 @atom:*_b2_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:2-51 @atom:*_b2_a*_d*_i* @atom:*_b51_a*_d*_i* - @bond:2-53 @atom:*_b2_a*_d*_i* @atom:*_b53_a*_d*_i* - @bond:2-55 @atom:*_b2_a*_d*_i* @atom:*_b55_a*_d*_i* - @bond:2-80 @atom:*_b2_a*_d*_i* @atom:*_b80_a*_d*_i* - @bond:3-3 @atom:*_b3_a*_d*_i* @atom:*_b3_a*_d*_i* - @bond:3-4 @atom:*_b3_a*_d*_i* @atom:*_b4_a*_d*_i* - @bond:3-5 @atom:*_b3_a*_d*_i* @atom:*_b5_a*_d*_i* - @bond:3-6 @atom:*_b3_a*_d*_i* @atom:*_b6_a*_d*_i* - @bond:3-10 @atom:*_b3_a*_d*_i* @atom:*_b10_a*_d*_i* - @bond:3-12 @atom:*_b3_a*_d*_i* @atom:*_b12_a*_d*_i* - @bond:3-13 @atom:*_b3_a*_d*_i* @atom:*_b13_a*_d*_i* - @bond:3-19 @atom:*_b3_a*_d*_i* @atom:*_b19_a*_d*_i* - @bond:3-20 @atom:*_b3_a*_d*_i* @atom:*_b20_a*_d*_i* - @bond:3-21 @atom:*_b3_a*_d*_i* @atom:*_b21_a*_d*_i* - @bond:3-24 @atom:*_b3_a*_d*_i* @atom:*_b24_a*_d*_i* - @bond:3-44 @atom:*_b3_a*_d*_i* @atom:*_b44_a*_d*_i* - @bond:3-46 @atom:*_b3_a*_d*_i* @atom:*_b46_a*_d*_i* - @bond:3-47 @atom:*_b3_a*_d*_i* @atom:*_b47_a*_d*_i* - @bond:3-48 @atom:*_b3_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:3-50 @atom:*_b3_a*_d*_i* @atom:*_b50_a*_d*_i* - @bond:3-52 @atom:*_b3_a*_d*_i* @atom:*_b52_a*_d*_i* - @bond:3-56 @atom:*_b3_a*_d*_i* @atom:*_b56_a*_d*_i* - @bond:3-57 @atom:*_b3_a*_d*_i* @atom:*_b57_a*_d*_i* - @bond:3-60 @atom:*_b3_a*_d*_i* @atom:*_b60_a*_d*_i* - @bond:3-65 @atom:*_b3_a*_d*_i* @atom:*_b65_a*_d*_i* - @bond:3-84 @atom:*_b3_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:3-86 @atom:*_b3_a*_d*_i* @atom:*_b86_a*_d*_i* - @bond:3-105 @atom:*_b3_a*_d*_i* @atom:*_b105_a*_d*_i* - @bond:3-107 @atom:*_b3_a*_d*_i* @atom:*_b107_a*_d*_i* - @bond:4-25 @atom:*_b4_a*_d*_i* @atom:*_b25_a*_d*_i* - @bond:4-64 @atom:*_b4_a*_d*_i* @atom:*_b64_a*_d*_i* - @bond:4-89 @atom:*_b4_a*_d*_i* @atom:*_b89_a*_d*_i* - @bond:4-110 @atom:*_b4_a*_d*_i* @atom:*_b110_a*_d*_i* - @bond:5-6 @atom:*_b5_a*_d*_i* @atom:*_b6_a*_d*_i* - @bond:5-7 @atom:*_b5_a*_d*_i* @atom:*_b7_a*_d*_i* - @bond:5-10 @atom:*_b5_a*_d*_i* @atom:*_b10_a*_d*_i* - @bond:5-13 @atom:*_b5_a*_d*_i* @atom:*_b13_a*_d*_i* - @bond:5-20 @atom:*_b5_a*_d*_i* @atom:*_b20_a*_d*_i* - @bond:5-24 @atom:*_b5_a*_d*_i* @atom:*_b24_a*_d*_i* - @bond:5-25 @atom:*_b5_a*_d*_i* @atom:*_b25_a*_d*_i* - @bond:5-44 @atom:*_b5_a*_d*_i* @atom:*_b44_a*_d*_i* - @bond:5-47 @atom:*_b5_a*_d*_i* @atom:*_b47_a*_d*_i* - @bond:5-48 @atom:*_b5_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:5-51 @atom:*_b5_a*_d*_i* @atom:*_b51_a*_d*_i* - @bond:5-64 @atom:*_b5_a*_d*_i* @atom:*_b64_a*_d*_i* - @bond:5-79 @atom:*_b5_a*_d*_i* @atom:*_b79_a*_d*_i* - @bond:5-106 @atom:*_b5_a*_d*_i* @atom:*_b106_a*_d*_i* - @bond:5-108 @atom:*_b5_a*_d*_i* @atom:*_b108_a*_d*_i* - @bond:6-6 @atom:*_b6_a*_d*_i* @atom:*_b6_a*_d*_i* - @bond:6-10 @atom:*_b6_a*_d*_i* @atom:*_b10_a*_d*_i* - @bond:6-11 @atom:*_b6_a*_d*_i* @atom:*_b11_a*_d*_i* - @bond:6-13 @atom:*_b6_a*_d*_i* @atom:*_b13_a*_d*_i* - @bond:6-14 @atom:*_b6_a*_d*_i* @atom:*_b14_a*_d*_i* - @bond:6-15 @atom:*_b6_a*_d*_i* @atom:*_b15_a*_d*_i* - @bond:6-16 @atom:*_b6_a*_d*_i* @atom:*_b16_a*_d*_i* - @bond:6-20 @atom:*_b6_a*_d*_i* @atom:*_b20_a*_d*_i* - @bond:6-24 @atom:*_b6_a*_d*_i* @atom:*_b24_a*_d*_i* - @bond:6-44 @atom:*_b6_a*_d*_i* @atom:*_b44_a*_d*_i* - @bond:6-47 @atom:*_b6_a*_d*_i* @atom:*_b47_a*_d*_i* - @bond:6-51 @atom:*_b6_a*_d*_i* @atom:*_b51_a*_d*_i* - @bond:6-53 @atom:*_b6_a*_d*_i* @atom:*_b53_a*_d*_i* - @bond:6-55 @atom:*_b6_a*_d*_i* @atom:*_b55_a*_d*_i* - @bond:6-79 @atom:*_b6_a*_d*_i* @atom:*_b79_a*_d*_i* - @bond:6-105 @atom:*_b6_a*_d*_i* @atom:*_b105_a*_d*_i* - @bond:7-20 @atom:*_b7_a*_d*_i* @atom:*_b20_a*_d*_i* - @bond:7-25 @atom:*_b7_a*_d*_i* @atom:*_b25_a*_d*_i* - @bond:9-9 @atom:*_b9_a*_d*_i* @atom:*_b9_a*_d*_i* - @bond:9-11 @atom:*_b9_a*_d*_i* @atom:*_b11_a*_d*_i* - @bond:9-14 @atom:*_b9_a*_d*_i* @atom:*_b14_a*_d*_i* - @bond:10-10 @atom:*_b10_a*_d*_i* @atom:*_b10_a*_d*_i* - @bond:10-11 @atom:*_b10_a*_d*_i* @atom:*_b11_a*_d*_i* - @bond:10-14 @atom:*_b10_a*_d*_i* @atom:*_b14_a*_d*_i* - @bond:10-20 @atom:*_b10_a*_d*_i* @atom:*_b20_a*_d*_i* - @bond:10-24 @atom:*_b10_a*_d*_i* @atom:*_b24_a*_d*_i* - @bond:10-44 @atom:*_b10_a*_d*_i* @atom:*_b44_a*_d*_i* - @bond:10-105 @atom:*_b10_a*_d*_i* @atom:*_b105_a*_d*_i* - @bond:11-11 @atom:*_b11_a*_d*_i* @atom:*_b11_a*_d*_i* - @bond:11-13 @atom:*_b11_a*_d*_i* @atom:*_b13_a*_d*_i* - @bond:11-14 @atom:*_b11_a*_d*_i* @atom:*_b14_a*_d*_i* - @bond:11-79 @atom:*_b11_a*_d*_i* @atom:*_b79_a*_d*_i* - @bond:12-12 @atom:*_b12_a*_d*_i* @atom:*_b12_a*_d*_i* - @bond:12-48 @atom:*_b12_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:12-60 @atom:*_b12_a*_d*_i* @atom:*_b60_a*_d*_i* - @bond:12-81 @atom:*_b12_a*_d*_i* @atom:*_b81_a*_d*_i* - @bond:13-13 @atom:*_b13_a*_d*_i* @atom:*_b13_a*_d*_i* - @bond:13-14 @atom:*_b13_a*_d*_i* @atom:*_b14_a*_d*_i* - @bond:13-15 @atom:*_b13_a*_d*_i* @atom:*_b15_a*_d*_i* - @bond:13-16 @atom:*_b13_a*_d*_i* @atom:*_b16_a*_d*_i* - @bond:13-18 @atom:*_b13_a*_d*_i* @atom:*_b18_a*_d*_i* - @bond:13-19 @atom:*_b13_a*_d*_i* @atom:*_b19_a*_d*_i* - @bond:13-20 @atom:*_b13_a*_d*_i* @atom:*_b20_a*_d*_i* - @bond:13-21 @atom:*_b13_a*_d*_i* @atom:*_b21_a*_d*_i* - @bond:13-22 @atom:*_b13_a*_d*_i* @atom:*_b22_a*_d*_i* - @bond:13-24 @atom:*_b13_a*_d*_i* @atom:*_b24_a*_d*_i* - @bond:13-25 @atom:*_b13_a*_d*_i* @atom:*_b25_a*_d*_i* - @bond:13-44 @atom:*_b13_a*_d*_i* @atom:*_b44_a*_d*_i* - @bond:13-46 @atom:*_b13_a*_d*_i* @atom:*_b46_a*_d*_i* - @bond:13-47 @atom:*_b13_a*_d*_i* @atom:*_b47_a*_d*_i* - @bond:13-48 @atom:*_b13_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:13-50 @atom:*_b13_a*_d*_i* @atom:*_b50_a*_d*_i* - @bond:13-51 @atom:*_b13_a*_d*_i* @atom:*_b51_a*_d*_i* - @bond:13-53 @atom:*_b13_a*_d*_i* @atom:*_b53_a*_d*_i* - @bond:13-55 @atom:*_b13_a*_d*_i* @atom:*_b55_a*_d*_i* - @bond:13-56 @atom:*_b13_a*_d*_i* @atom:*_b56_a*_d*_i* - @bond:13-57 @atom:*_b13_a*_d*_i* @atom:*_b57_a*_d*_i* - @bond:13-60 @atom:*_b13_a*_d*_i* @atom:*_b60_a*_d*_i* - @bond:13-64 @atom:*_b13_a*_d*_i* @atom:*_b64_a*_d*_i* - @bond:13-65 @atom:*_b13_a*_d*_i* @atom:*_b65_a*_d*_i* - @bond:13-66 @atom:*_b13_a*_d*_i* @atom:*_b66_a*_d*_i* - @bond:13-79 @atom:*_b13_a*_d*_i* @atom:*_b79_a*_d*_i* - @bond:13-80 @atom:*_b13_a*_d*_i* @atom:*_b80_a*_d*_i* - @bond:13-83 @atom:*_b13_a*_d*_i* @atom:*_b83_a*_d*_i* - @bond:13-84 @atom:*_b13_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:13-85 @atom:*_b13_a*_d*_i* @atom:*_b85_a*_d*_i* - @bond:13-87 @atom:*_b13_a*_d*_i* @atom:*_b87_a*_d*_i* - @bond:13-90 @atom:*_b13_a*_d*_i* @atom:*_b90_a*_d*_i* - @bond:13-91 @atom:*_b13_a*_d*_i* @atom:*_b91_a*_d*_i* - @bond:13-95 @atom:*_b13_a*_d*_i* @atom:*_b95_a*_d*_i* - @bond:13-101 @atom:*_b13_a*_d*_i* @atom:*_b101_a*_d*_i* - @bond:13-102 @atom:*_b13_a*_d*_i* @atom:*_b102_a*_d*_i* - @bond:13-104 @atom:*_b13_a*_d*_i* @atom:*_b104_a*_d*_i* - @bond:13-105 @atom:*_b13_a*_d*_i* @atom:*_b105_a*_d*_i* - @bond:13-107 @atom:*_b13_a*_d*_i* @atom:*_b107_a*_d*_i* - @bond:13-108 @atom:*_b13_a*_d*_i* @atom:*_b108_a*_d*_i* - @bond:13-109 @atom:*_b13_a*_d*_i* @atom:*_b109_a*_d*_i* - @bond:14-14 @atom:*_b14_a*_d*_i* @atom:*_b14_a*_d*_i* - @bond:15-17 @atom:*_b15_a*_d*_i* @atom:*_b17_a*_d*_i* - @bond:15-48 @atom:*_b15_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:16-16 @atom:*_b16_a*_d*_i* @atom:*_b16_a*_d*_i* - @bond:16-19 @atom:*_b16_a*_d*_i* @atom:*_b19_a*_d*_i* - @bond:16-24 @atom:*_b16_a*_d*_i* @atom:*_b24_a*_d*_i* - @bond:16-25 @atom:*_b16_a*_d*_i* @atom:*_b25_a*_d*_i* - @bond:16-47 @atom:*_b16_a*_d*_i* @atom:*_b47_a*_d*_i* - @bond:16-48 @atom:*_b16_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:16-61 @atom:*_b16_a*_d*_i* @atom:*_b61_a*_d*_i* - @bond:16-82 @atom:*_b16_a*_d*_i* @atom:*_b82_a*_d*_i* - @bond:16-84 @atom:*_b16_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:16-91 @atom:*_b16_a*_d*_i* @atom:*_b91_a*_d*_i* - @bond:16-108 @atom:*_b16_a*_d*_i* @atom:*_b108_a*_d*_i* - @bond:17-25 @atom:*_b17_a*_d*_i* @atom:*_b25_a*_d*_i* - @bond:18-18 @atom:*_b18_a*_d*_i* @atom:*_b18_a*_d*_i* - @bond:18-19 @atom:*_b18_a*_d*_i* @atom:*_b19_a*_d*_i* - @bond:18-48 @atom:*_b18_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:18-56 @atom:*_b18_a*_d*_i* @atom:*_b56_a*_d*_i* - @bond:19-19 @atom:*_b19_a*_d*_i* @atom:*_b19_a*_d*_i* - @bond:19-21 @atom:*_b19_a*_d*_i* @atom:*_b21_a*_d*_i* - @bond:19-46 @atom:*_b19_a*_d*_i* @atom:*_b46_a*_d*_i* - @bond:19-47 @atom:*_b19_a*_d*_i* @atom:*_b47_a*_d*_i* - @bond:19-48 @atom:*_b19_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:19-50 @atom:*_b19_a*_d*_i* @atom:*_b50_a*_d*_i* - @bond:19-65 @atom:*_b19_a*_d*_i* @atom:*_b65_a*_d*_i* - @bond:19-88 @atom:*_b19_a*_d*_i* @atom:*_b88_a*_d*_i* - @bond:19-91 @atom:*_b19_a*_d*_i* @atom:*_b91_a*_d*_i* - @bond:20-20 @atom:*_b20_a*_d*_i* @atom:*_b20_a*_d*_i* - @bond:20-21 @atom:*_b20_a*_d*_i* @atom:*_b21_a*_d*_i* - @bond:20-24 @atom:*_b20_a*_d*_i* @atom:*_b24_a*_d*_i* - @bond:20-25 @atom:*_b20_a*_d*_i* @atom:*_b25_a*_d*_i* - @bond:20-44 @atom:*_b20_a*_d*_i* @atom:*_b44_a*_d*_i* - @bond:20-47 @atom:*_b20_a*_d*_i* @atom:*_b47_a*_d*_i* - @bond:20-48 @atom:*_b20_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:20-51 @atom:*_b20_a*_d*_i* @atom:*_b51_a*_d*_i* - @bond:20-60 @atom:*_b20_a*_d*_i* @atom:*_b60_a*_d*_i* - @bond:20-61 @atom:*_b20_a*_d*_i* @atom:*_b61_a*_d*_i* - @bond:20-64 @atom:*_b20_a*_d*_i* @atom:*_b64_a*_d*_i* - @bond:20-82 @atom:*_b20_a*_d*_i* @atom:*_b82_a*_d*_i* - @bond:20-84 @atom:*_b20_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:20-108 @atom:*_b20_a*_d*_i* @atom:*_b108_a*_d*_i* - @bond:21-25 @atom:*_b21_a*_d*_i* @atom:*_b25_a*_d*_i* - @bond:21-47 @atom:*_b21_a*_d*_i* @atom:*_b47_a*_d*_i* - @bond:21-48 @atom:*_b21_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:21-82 @atom:*_b21_a*_d*_i* @atom:*_b82_a*_d*_i* - @bond:21-83 @atom:*_b21_a*_d*_i* @atom:*_b83_a*_d*_i* - @bond:21-84 @atom:*_b21_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:21-87 @atom:*_b21_a*_d*_i* @atom:*_b87_a*_d*_i* - @bond:21-88 @atom:*_b21_a*_d*_i* @atom:*_b88_a*_d*_i* - @bond:21-108 @atom:*_b21_a*_d*_i* @atom:*_b108_a*_d*_i* - @bond:22-23 @atom:*_b22_a*_d*_i* @atom:*_b23_a*_d*_i* - @bond:22-25 @atom:*_b22_a*_d*_i* @atom:*_b25_a*_d*_i* - @bond:23-25 @atom:*_b23_a*_d*_i* @atom:*_b25_a*_d*_i* - @bond:23-79 @atom:*_b23_a*_d*_i* @atom:*_b79_a*_d*_i* - @bond:24-25 @atom:*_b24_a*_d*_i* @atom:*_b25_a*_d*_i* - @bond:24-45 @atom:*_b24_a*_d*_i* @atom:*_b45_a*_d*_i* - @bond:24-48 @atom:*_b24_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:24-59 @atom:*_b24_a*_d*_i* @atom:*_b59_a*_d*_i* - @bond:24-79 @atom:*_b24_a*_d*_i* @atom:*_b79_a*_d*_i* - @bond:24-84 @atom:*_b24_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:24-88 @atom:*_b24_a*_d*_i* @atom:*_b88_a*_d*_i* - @bond:24-91 @atom:*_b24_a*_d*_i* @atom:*_b91_a*_d*_i* - @bond:24-103 @atom:*_b24_a*_d*_i* @atom:*_b103_a*_d*_i* - @bond:24-106 @atom:*_b24_a*_d*_i* @atom:*_b106_a*_d*_i* - @bond:25-25 @atom:*_b25_a*_d*_i* @atom:*_b25_a*_d*_i* - @bond:25-44 @atom:*_b25_a*_d*_i* @atom:*_b44_a*_d*_i* - @bond:25-45 @atom:*_b25_a*_d*_i* @atom:*_b45_a*_d*_i* - @bond:25-46 @atom:*_b25_a*_d*_i* @atom:*_b46_a*_d*_i* - @bond:25-47 @atom:*_b25_a*_d*_i* @atom:*_b47_a*_d*_i* - @bond:25-48 @atom:*_b25_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:25-49 @atom:*_b25_a*_d*_i* @atom:*_b49_a*_d*_i* - @bond:25-53 @atom:*_b25_a*_d*_i* @atom:*_b53_a*_d*_i* - @bond:25-56 @atom:*_b25_a*_d*_i* @atom:*_b56_a*_d*_i* - @bond:25-61 @atom:*_b25_a*_d*_i* @atom:*_b61_a*_d*_i* - @bond:25-65 @atom:*_b25_a*_d*_i* @atom:*_b65_a*_d*_i* - @bond:25-103 @atom:*_b25_a*_d*_i* @atom:*_b103_a*_d*_i* - @bond:31-32 @atom:*_b31_a*_d*_i* @atom:*_b32_a*_d*_i* - @bond:31-33 @atom:*_b31_a*_d*_i* @atom:*_b33_a*_d*_i* - @bond:31-106 @atom:*_b31_a*_d*_i* @atom:*_b106_a*_d*_i* - @bond:34-35 @atom:*_b34_a*_d*_i* @atom:*_b35_a*_d*_i* - @bond:36-37 @atom:*_b36_a*_d*_i* @atom:*_b37_a*_d*_i* - @bond:36-38 @atom:*_b36_a*_d*_i* @atom:*_b38_a*_d*_i* - @bond:39-40 @atom:*_b39_a*_d*_i* @atom:*_b40_a*_d*_i* - @bond:39-41 @atom:*_b39_a*_d*_i* @atom:*_b41_a*_d*_i* - @bond:42-43 @atom:*_b42_a*_d*_i* @atom:*_b43_a*_d*_i* - @bond:44-44 @atom:*_b44_a*_d*_i* @atom:*_b44_a*_d*_i* - @bond:44-45 @atom:*_b44_a*_d*_i* @atom:*_b45_a*_d*_i* - @bond:44-48 @atom:*_b44_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:44-79 @atom:*_b44_a*_d*_i* @atom:*_b79_a*_d*_i* - @bond:44-91 @atom:*_b44_a*_d*_i* @atom:*_b91_a*_d*_i* - @bond:44-108 @atom:*_b44_a*_d*_i* @atom:*_b108_a*_d*_i* - @bond:45-53 @atom:*_b45_a*_d*_i* @atom:*_b53_a*_d*_i* - @bond:45-55 @atom:*_b45_a*_d*_i* @atom:*_b55_a*_d*_i* - @bond:45-56 @atom:*_b45_a*_d*_i* @atom:*_b56_a*_d*_i* - @bond:45-57 @atom:*_b45_a*_d*_i* @atom:*_b57_a*_d*_i* - @bond:45-101 @atom:*_b45_a*_d*_i* @atom:*_b101_a*_d*_i* - @bond:45-105 @atom:*_b45_a*_d*_i* @atom:*_b105_a*_d*_i* - @bond:45-108 @atom:*_b45_a*_d*_i* @atom:*_b108_a*_d*_i* - @bond:46-47 @atom:*_b46_a*_d*_i* @atom:*_b47_a*_d*_i* - @bond:46-50 @atom:*_b46_a*_d*_i* @atom:*_b50_a*_d*_i* - @bond:46-51 @atom:*_b46_a*_d*_i* @atom:*_b51_a*_d*_i* - @bond:46-80 @atom:*_b46_a*_d*_i* @atom:*_b80_a*_d*_i* - @bond:46-91 @atom:*_b46_a*_d*_i* @atom:*_b91_a*_d*_i* - @bond:46-95 @atom:*_b46_a*_d*_i* @atom:*_b95_a*_d*_i* - @bond:46-108 @atom:*_b46_a*_d*_i* @atom:*_b108_a*_d*_i* - @bond:46-109 @atom:*_b46_a*_d*_i* @atom:*_b109_a*_d*_i* - @bond:47-47 @atom:*_b47_a*_d*_i* @atom:*_b47_a*_d*_i* - @bond:47-48 @atom:*_b47_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:47-50 @atom:*_b47_a*_d*_i* @atom:*_b50_a*_d*_i* - @bond:47-57 @atom:*_b47_a*_d*_i* @atom:*_b57_a*_d*_i* - @bond:47-58 @atom:*_b47_a*_d*_i* @atom:*_b58_a*_d*_i* - @bond:47-65 @atom:*_b47_a*_d*_i* @atom:*_b65_a*_d*_i* - @bond:47-66 @atom:*_b47_a*_d*_i* @atom:*_b66_a*_d*_i* - @bond:47-86 @atom:*_b47_a*_d*_i* @atom:*_b86_a*_d*_i* - @bond:47-91 @atom:*_b47_a*_d*_i* @atom:*_b91_a*_d*_i* - @bond:47-105 @atom:*_b47_a*_d*_i* @atom:*_b105_a*_d*_i* - @bond:47-110 @atom:*_b47_a*_d*_i* @atom:*_b110_a*_d*_i* - @bond:48-48 @atom:*_b48_a*_d*_i* @atom:*_b48_a*_d*_i* - @bond:48-49 @atom:*_b48_a*_d*_i* @atom:*_b49_a*_d*_i* - @bond:48-50 @atom:*_b48_a*_d*_i* @atom:*_b50_a*_d*_i* - @bond:48-53 @atom:*_b48_a*_d*_i* @atom:*_b53_a*_d*_i* - @bond:48-55 @atom:*_b48_a*_d*_i* @atom:*_b55_a*_d*_i* - @bond:48-56 @atom:*_b48_a*_d*_i* @atom:*_b56_a*_d*_i* - @bond:48-57 @atom:*_b48_a*_d*_i* @atom:*_b57_a*_d*_i* - @bond:48-60 @atom:*_b48_a*_d*_i* @atom:*_b60_a*_d*_i* - @bond:48-61 @atom:*_b48_a*_d*_i* @atom:*_b61_a*_d*_i* - @bond:48-64 @atom:*_b48_a*_d*_i* @atom:*_b64_a*_d*_i* - @bond:48-65 @atom:*_b48_a*_d*_i* @atom:*_b65_a*_d*_i* - @bond:48-66 @atom:*_b48_a*_d*_i* @atom:*_b66_a*_d*_i* - @bond:48-79 @atom:*_b48_a*_d*_i* @atom:*_b79_a*_d*_i* - @bond:48-81 @atom:*_b48_a*_d*_i* @atom:*_b81_a*_d*_i* - @bond:48-84 @atom:*_b48_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:48-86 @atom:*_b48_a*_d*_i* @atom:*_b86_a*_d*_i* - @bond:48-88 @atom:*_b48_a*_d*_i* @atom:*_b88_a*_d*_i* - @bond:48-91 @atom:*_b48_a*_d*_i* @atom:*_b91_a*_d*_i* - @bond:48-101 @atom:*_b48_a*_d*_i* @atom:*_b101_a*_d*_i* - @bond:48-102 @atom:*_b48_a*_d*_i* @atom:*_b102_a*_d*_i* - @bond:48-109 @atom:*_b48_a*_d*_i* @atom:*_b109_a*_d*_i* - @bond:49-59 @atom:*_b49_a*_d*_i* @atom:*_b59_a*_d*_i* - @bond:49-62 @atom:*_b49_a*_d*_i* @atom:*_b62_a*_d*_i* - @bond:49-82 @atom:*_b49_a*_d*_i* @atom:*_b82_a*_d*_i* - @bond:49-83 @atom:*_b49_a*_d*_i* @atom:*_b83_a*_d*_i* - @bond:49-84 @atom:*_b49_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:49-85 @atom:*_b49_a*_d*_i* @atom:*_b85_a*_d*_i* - @bond:49-87 @atom:*_b49_a*_d*_i* @atom:*_b87_a*_d*_i* - @bond:49-88 @atom:*_b49_a*_d*_i* @atom:*_b88_a*_d*_i* - @bond:50-50 @atom:*_b50_a*_d*_i* @atom:*_b50_a*_d*_i* - @bond:50-56 @atom:*_b50_a*_d*_i* @atom:*_b56_a*_d*_i* - @bond:50-84 @atom:*_b50_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:50-109 @atom:*_b50_a*_d*_i* @atom:*_b109_a*_d*_i* - @bond:51-105 @atom:*_b51_a*_d*_i* @atom:*_b105_a*_d*_i* - @bond:52-64 @atom:*_b52_a*_d*_i* @atom:*_b64_a*_d*_i* - @bond:53-54 @atom:*_b53_a*_d*_i* @atom:*_b54_a*_d*_i* - @bond:54-55 @atom:*_b54_a*_d*_i* @atom:*_b55_a*_d*_i* - @bond:55-59 @atom:*_b55_a*_d*_i* @atom:*_b59_a*_d*_i* - @bond:55-82 @atom:*_b55_a*_d*_i* @atom:*_b82_a*_d*_i* - @bond:56-56 @atom:*_b56_a*_d*_i* @atom:*_b56_a*_d*_i* - @bond:56-59 @atom:*_b56_a*_d*_i* @atom:*_b59_a*_d*_i* - @bond:56-60 @atom:*_b56_a*_d*_i* @atom:*_b60_a*_d*_i* - @bond:56-82 @atom:*_b56_a*_d*_i* @atom:*_b82_a*_d*_i* - @bond:56-86 @atom:*_b56_a*_d*_i* @atom:*_b86_a*_d*_i* - @bond:56-103 @atom:*_b56_a*_d*_i* @atom:*_b103_a*_d*_i* - @bond:56-109 @atom:*_b56_a*_d*_i* @atom:*_b109_a*_d*_i* - @bond:57-60 @atom:*_b57_a*_d*_i* @atom:*_b60_a*_d*_i* - @bond:57-61 @atom:*_b57_a*_d*_i* @atom:*_b61_a*_d*_i* - @bond:57-62 @atom:*_b57_a*_d*_i* @atom:*_b62_a*_d*_i* - @bond:57-81 @atom:*_b57_a*_d*_i* @atom:*_b81_a*_d*_i* - @bond:57-82 @atom:*_b57_a*_d*_i* @atom:*_b82_a*_d*_i* - @bond:57-84 @atom:*_b57_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:57-85 @atom:*_b57_a*_d*_i* @atom:*_b85_a*_d*_i* - @bond:57-86 @atom:*_b57_a*_d*_i* @atom:*_b86_a*_d*_i* - @bond:58-83 @atom:*_b58_a*_d*_i* @atom:*_b83_a*_d*_i* - @bond:58-84 @atom:*_b58_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:59-63 @atom:*_b59_a*_d*_i* @atom:*_b63_a*_d*_i* - @bond:60-60 @atom:*_b60_a*_d*_i* @atom:*_b60_a*_d*_i* - @bond:60-61 @atom:*_b60_a*_d*_i* @atom:*_b61_a*_d*_i* - @bond:60-80 @atom:*_b60_a*_d*_i* @atom:*_b80_a*_d*_i* - @bond:60-81 @atom:*_b60_a*_d*_i* @atom:*_b81_a*_d*_i* - @bond:60-87 @atom:*_b60_a*_d*_i* @atom:*_b87_a*_d*_i* - @bond:60-105 @atom:*_b60_a*_d*_i* @atom:*_b105_a*_d*_i* - @bond:61-61 @atom:*_b61_a*_d*_i* @atom:*_b61_a*_d*_i* - @bond:61-62 @atom:*_b61_a*_d*_i* @atom:*_b62_a*_d*_i* - @bond:61-82 @atom:*_b61_a*_d*_i* @atom:*_b82_a*_d*_i* - @bond:61-83 @atom:*_b61_a*_d*_i* @atom:*_b83_a*_d*_i* - @bond:61-84 @atom:*_b61_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:61-88 @atom:*_b61_a*_d*_i* @atom:*_b88_a*_d*_i* - @bond:62-63 @atom:*_b62_a*_d*_i* @atom:*_b63_a*_d*_i* - @bond:62-105 @atom:*_b62_a*_d*_i* @atom:*_b105_a*_d*_i* - @bond:63-82 @atom:*_b63_a*_d*_i* @atom:*_b82_a*_d*_i* - @bond:64-108 @atom:*_b64_a*_d*_i* @atom:*_b108_a*_d*_i* - @bond:65-82 @atom:*_b65_a*_d*_i* @atom:*_b82_a*_d*_i* - @bond:65-83 @atom:*_b65_a*_d*_i* @atom:*_b83_a*_d*_i* - @bond:65-84 @atom:*_b65_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:65-87 @atom:*_b65_a*_d*_i* @atom:*_b87_a*_d*_i* - @bond:65-88 @atom:*_b65_a*_d*_i* @atom:*_b88_a*_d*_i* - @bond:65-108 @atom:*_b65_a*_d*_i* @atom:*_b108_a*_d*_i* - @bond:66-82 @atom:*_b66_a*_d*_i* @atom:*_b82_a*_d*_i* - @bond:66-83 @atom:*_b66_a*_d*_i* @atom:*_b83_a*_d*_i* - @bond:66-84 @atom:*_b66_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:66-87 @atom:*_b66_a*_d*_i* @atom:*_b87_a*_d*_i* - @bond:66-88 @atom:*_b66_a*_d*_i* @atom:*_b88_a*_d*_i* - @bond:66-108 @atom:*_b66_a*_d*_i* @atom:*_b108_a*_d*_i* - @bond:77-78 @atom:*_b77_a*_d*_i* @atom:*_b78_a*_d*_i* - @bond:80-84 @atom:*_b80_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:82-86 @atom:*_b82_a*_d*_i* @atom:*_b86_a*_d*_i* - @bond:82-87 @atom:*_b82_a*_d*_i* @atom:*_b87_a*_d*_i* - @bond:83-84 @atom:*_b83_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:83-86 @atom:*_b83_a*_d*_i* @atom:*_b86_a*_d*_i* - @bond:84-84 @atom:*_b84_a*_d*_i* @atom:*_b84_a*_d*_i* - @bond:84-86 @atom:*_b84_a*_d*_i* @atom:*_b86_a*_d*_i* - @bond:84-87 @atom:*_b84_a*_d*_i* @atom:*_b87_a*_d*_i* - @bond:84-88 @atom:*_b84_a*_d*_i* @atom:*_b88_a*_d*_i* - @bond:85-85 @atom:*_b85_a*_d*_i* @atom:*_b85_a*_d*_i* - @bond:86-86 @atom:*_b86_a*_d*_i* @atom:*_b86_a*_d*_i* - @bond:86-87 @atom:*_b86_a*_d*_i* @atom:*_b87_a*_d*_i* - @bond:86-88 @atom:*_b86_a*_d*_i* @atom:*_b88_a*_d*_i* - @bond:87-87 @atom:*_b87_a*_d*_i* @atom:*_b87_a*_d*_i* - @bond:87-88 @atom:*_b87_a*_d*_i* @atom:*_b88_a*_d*_i* - @bond:89-90 @atom:*_b89_a*_d*_i* @atom:*_b90_a*_d*_i* - @bond:89-91 @atom:*_b89_a*_d*_i* @atom:*_b91_a*_d*_i* - @bond:90-91 @atom:*_b90_a*_d*_i* @atom:*_b91_a*_d*_i* - @bond:91-91 @atom:*_b91_a*_d*_i* @atom:*_b91_a*_d*_i* - @bond:102-103 @atom:*_b102_a*_d*_i* @atom:*_b103_a*_d*_i* - @bond:108-108 @atom:*_b108_a*_d*_i* @atom:*_b108_a*_d*_i* - @bond:109-109 @atom:*_b109_a*_d*_i* @atom:*_b109_a*_d*_i* + @bond:001_002 @atom:*_b001*_a*_d*_i* @atom:*_b002*_a*_d*_i* + @bond:001_003 @atom:*_b001*_a*_d*_i* @atom:*_b003*_a*_d*_i* + @bond:001_013 @atom:*_b001*_a*_d*_i* @atom:*_b013*_a*_d*_i* + @bond:001_019 @atom:*_b001*_a*_d*_i* @atom:*_b019*_a*_d*_i* + @bond:001_025 @atom:*_b001*_a*_d*_i* @atom:*_b025*_a*_d*_i* + @bond:001_047 @atom:*_b001*_a*_d*_i* @atom:*_b047*_a*_d*_i* + @bond:001_048 @atom:*_b001*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:001_082 @atom:*_b001*_a*_d*_i* @atom:*_b082*_a*_d*_i* + @bond:001_083 @atom:*_b001*_a*_d*_i* @atom:*_b083*_a*_d*_i* + @bond:001_084 @atom:*_b001*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:001_087 @atom:*_b001*_a*_d*_i* @atom:*_b087*_a*_d*_i* + @bond:001_088 @atom:*_b001*_a*_d*_i* @atom:*_b088*_a*_d*_i* + @bond:001_108 @atom:*_b001*_a*_d*_i* @atom:*_b108*_a*_d*_i* + @bond:002_002 @atom:*_b002*_a*_d*_i* @atom:*_b002*_a*_d*_i* + @bond:002_003 @atom:*_b002*_a*_d*_i* @atom:*_b003*_a*_d*_i* + @bond:002_005 @atom:*_b002*_a*_d*_i* @atom:*_b005*_a*_d*_i* + @bond:002_006 @atom:*_b002*_a*_d*_i* @atom:*_b006*_a*_d*_i* + @bond:002_010 @atom:*_b002*_a*_d*_i* @atom:*_b010*_a*_d*_i* + @bond:002_011 @atom:*_b002*_a*_d*_i* @atom:*_b011*_a*_d*_i* + @bond:002_012 @atom:*_b002*_a*_d*_i* @atom:*_b012*_a*_d*_i* + @bond:002_013 @atom:*_b002*_a*_d*_i* @atom:*_b013*_a*_d*_i* + @bond:002_014 @atom:*_b002*_a*_d*_i* @atom:*_b014*_a*_d*_i* + @bond:002_015 @atom:*_b002*_a*_d*_i* @atom:*_b015*_a*_d*_i* + @bond:002_016 @atom:*_b002*_a*_d*_i* @atom:*_b016*_a*_d*_i* + @bond:002_020 @atom:*_b002*_a*_d*_i* @atom:*_b020*_a*_d*_i* + @bond:002_024 @atom:*_b002*_a*_d*_i* @atom:*_b024*_a*_d*_i* + @bond:002_044 @atom:*_b002*_a*_d*_i* @atom:*_b044*_a*_d*_i* + @bond:002_048 @atom:*_b002*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:002_051 @atom:*_b002*_a*_d*_i* @atom:*_b051*_a*_d*_i* + @bond:002_053 @atom:*_b002*_a*_d*_i* @atom:*_b053*_a*_d*_i* + @bond:002_055 @atom:*_b002*_a*_d*_i* @atom:*_b055*_a*_d*_i* + @bond:002_080 @atom:*_b002*_a*_d*_i* @atom:*_b080*_a*_d*_i* + @bond:003_003 @atom:*_b003*_a*_d*_i* @atom:*_b003*_a*_d*_i* + @bond:003_004 @atom:*_b003*_a*_d*_i* @atom:*_b004*_a*_d*_i* + @bond:003_005 @atom:*_b003*_a*_d*_i* @atom:*_b005*_a*_d*_i* + @bond:003_006 @atom:*_b003*_a*_d*_i* @atom:*_b006*_a*_d*_i* + @bond:003_010 @atom:*_b003*_a*_d*_i* @atom:*_b010*_a*_d*_i* + @bond:003_012 @atom:*_b003*_a*_d*_i* @atom:*_b012*_a*_d*_i* + @bond:003_013 @atom:*_b003*_a*_d*_i* @atom:*_b013*_a*_d*_i* + @bond:003_019 @atom:*_b003*_a*_d*_i* @atom:*_b019*_a*_d*_i* + @bond:003_020 @atom:*_b003*_a*_d*_i* @atom:*_b020*_a*_d*_i* + @bond:003_021 @atom:*_b003*_a*_d*_i* @atom:*_b021*_a*_d*_i* + @bond:003_024 @atom:*_b003*_a*_d*_i* @atom:*_b024*_a*_d*_i* + @bond:003_044 @atom:*_b003*_a*_d*_i* @atom:*_b044*_a*_d*_i* + @bond:003_046 @atom:*_b003*_a*_d*_i* @atom:*_b046*_a*_d*_i* + @bond:003_047 @atom:*_b003*_a*_d*_i* @atom:*_b047*_a*_d*_i* + @bond:003_048 @atom:*_b003*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:003_050 @atom:*_b003*_a*_d*_i* @atom:*_b050*_a*_d*_i* + @bond:003_052 @atom:*_b003*_a*_d*_i* @atom:*_b052*_a*_d*_i* + @bond:003_056 @atom:*_b003*_a*_d*_i* @atom:*_b056*_a*_d*_i* + @bond:003_057 @atom:*_b003*_a*_d*_i* @atom:*_b057*_a*_d*_i* + @bond:003_060 @atom:*_b003*_a*_d*_i* @atom:*_b060*_a*_d*_i* + @bond:003_065 @atom:*_b003*_a*_d*_i* @atom:*_b065*_a*_d*_i* + @bond:003_084 @atom:*_b003*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:003_086 @atom:*_b003*_a*_d*_i* @atom:*_b086*_a*_d*_i* + @bond:003_105 @atom:*_b003*_a*_d*_i* @atom:*_b105*_a*_d*_i* + @bond:003_107 @atom:*_b003*_a*_d*_i* @atom:*_b107*_a*_d*_i* + @bond:004_025 @atom:*_b004*_a*_d*_i* @atom:*_b025*_a*_d*_i* + @bond:004_064 @atom:*_b004*_a*_d*_i* @atom:*_b064*_a*_d*_i* + @bond:004_089 @atom:*_b004*_a*_d*_i* @atom:*_b089*_a*_d*_i* + @bond:004_110 @atom:*_b004*_a*_d*_i* @atom:*_b110*_a*_d*_i* + @bond:005_006 @atom:*_b005*_a*_d*_i* @atom:*_b006*_a*_d*_i* + @bond:005_007 @atom:*_b005*_a*_d*_i* @atom:*_b007*_a*_d*_i* + @bond:005_010 @atom:*_b005*_a*_d*_i* @atom:*_b010*_a*_d*_i* + @bond:005_013 @atom:*_b005*_a*_d*_i* @atom:*_b013*_a*_d*_i* + @bond:005_020 @atom:*_b005*_a*_d*_i* @atom:*_b020*_a*_d*_i* + @bond:005_024 @atom:*_b005*_a*_d*_i* @atom:*_b024*_a*_d*_i* + @bond:005_025 @atom:*_b005*_a*_d*_i* @atom:*_b025*_a*_d*_i* + @bond:005_044 @atom:*_b005*_a*_d*_i* @atom:*_b044*_a*_d*_i* + @bond:005_047 @atom:*_b005*_a*_d*_i* @atom:*_b047*_a*_d*_i* + @bond:005_048 @atom:*_b005*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:005_051 @atom:*_b005*_a*_d*_i* @atom:*_b051*_a*_d*_i* + @bond:005_064 @atom:*_b005*_a*_d*_i* @atom:*_b064*_a*_d*_i* + @bond:005_079 @atom:*_b005*_a*_d*_i* @atom:*_b079*_a*_d*_i* + @bond:005_106 @atom:*_b005*_a*_d*_i* @atom:*_b106*_a*_d*_i* + @bond:005_108 @atom:*_b005*_a*_d*_i* @atom:*_b108*_a*_d*_i* + @bond:006_006 @atom:*_b006*_a*_d*_i* @atom:*_b006*_a*_d*_i* + @bond:006_010 @atom:*_b006*_a*_d*_i* @atom:*_b010*_a*_d*_i* + @bond:006_011 @atom:*_b006*_a*_d*_i* @atom:*_b011*_a*_d*_i* + @bond:006_013 @atom:*_b006*_a*_d*_i* @atom:*_b013*_a*_d*_i* + @bond:006_014 @atom:*_b006*_a*_d*_i* @atom:*_b014*_a*_d*_i* + @bond:006_015 @atom:*_b006*_a*_d*_i* @atom:*_b015*_a*_d*_i* + @bond:006_016 @atom:*_b006*_a*_d*_i* @atom:*_b016*_a*_d*_i* + @bond:006_020 @atom:*_b006*_a*_d*_i* @atom:*_b020*_a*_d*_i* + @bond:006_024 @atom:*_b006*_a*_d*_i* @atom:*_b024*_a*_d*_i* + @bond:006_044 @atom:*_b006*_a*_d*_i* @atom:*_b044*_a*_d*_i* + @bond:006_047 @atom:*_b006*_a*_d*_i* @atom:*_b047*_a*_d*_i* + @bond:006_051 @atom:*_b006*_a*_d*_i* @atom:*_b051*_a*_d*_i* + @bond:006_053 @atom:*_b006*_a*_d*_i* @atom:*_b053*_a*_d*_i* + @bond:006_055 @atom:*_b006*_a*_d*_i* @atom:*_b055*_a*_d*_i* + @bond:006_079 @atom:*_b006*_a*_d*_i* @atom:*_b079*_a*_d*_i* + @bond:006_105 @atom:*_b006*_a*_d*_i* @atom:*_b105*_a*_d*_i* + @bond:007_020 @atom:*_b007*_a*_d*_i* @atom:*_b020*_a*_d*_i* + @bond:007_025 @atom:*_b007*_a*_d*_i* @atom:*_b025*_a*_d*_i* + @bond:009_009 @atom:*_b009*_a*_d*_i* @atom:*_b009*_a*_d*_i* + @bond:009_011 @atom:*_b009*_a*_d*_i* @atom:*_b011*_a*_d*_i* + @bond:009_014 @atom:*_b009*_a*_d*_i* @atom:*_b014*_a*_d*_i* + @bond:010_010 @atom:*_b010*_a*_d*_i* @atom:*_b010*_a*_d*_i* + @bond:010_011 @atom:*_b010*_a*_d*_i* @atom:*_b011*_a*_d*_i* + @bond:010_014 @atom:*_b010*_a*_d*_i* @atom:*_b014*_a*_d*_i* + @bond:010_020 @atom:*_b010*_a*_d*_i* @atom:*_b020*_a*_d*_i* + @bond:010_024 @atom:*_b010*_a*_d*_i* @atom:*_b024*_a*_d*_i* + @bond:010_044 @atom:*_b010*_a*_d*_i* @atom:*_b044*_a*_d*_i* + @bond:010_105 @atom:*_b010*_a*_d*_i* @atom:*_b105*_a*_d*_i* + @bond:011_011 @atom:*_b011*_a*_d*_i* @atom:*_b011*_a*_d*_i* + @bond:011_013 @atom:*_b011*_a*_d*_i* @atom:*_b013*_a*_d*_i* + @bond:011_014 @atom:*_b011*_a*_d*_i* @atom:*_b014*_a*_d*_i* + @bond:011_079 @atom:*_b011*_a*_d*_i* @atom:*_b079*_a*_d*_i* + @bond:012_012 @atom:*_b012*_a*_d*_i* @atom:*_b012*_a*_d*_i* + @bond:012_048 @atom:*_b012*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:012_060 @atom:*_b012*_a*_d*_i* @atom:*_b060*_a*_d*_i* + @bond:012_081 @atom:*_b012*_a*_d*_i* @atom:*_b081*_a*_d*_i* + @bond:013_013 @atom:*_b013*_a*_d*_i* @atom:*_b013*_a*_d*_i* + @bond:013_014 @atom:*_b013*_a*_d*_i* @atom:*_b014*_a*_d*_i* + @bond:013_015 @atom:*_b013*_a*_d*_i* @atom:*_b015*_a*_d*_i* + @bond:013_016 @atom:*_b013*_a*_d*_i* @atom:*_b016*_a*_d*_i* + @bond:013_018 @atom:*_b013*_a*_d*_i* @atom:*_b018*_a*_d*_i* + @bond:013_019 @atom:*_b013*_a*_d*_i* @atom:*_b019*_a*_d*_i* + @bond:013_020 @atom:*_b013*_a*_d*_i* @atom:*_b020*_a*_d*_i* + @bond:013_021 @atom:*_b013*_a*_d*_i* @atom:*_b021*_a*_d*_i* + @bond:013_022 @atom:*_b013*_a*_d*_i* @atom:*_b022*_a*_d*_i* + @bond:013_024 @atom:*_b013*_a*_d*_i* @atom:*_b024*_a*_d*_i* + @bond:013_025 @atom:*_b013*_a*_d*_i* @atom:*_b025*_a*_d*_i* + @bond:013_044 @atom:*_b013*_a*_d*_i* @atom:*_b044*_a*_d*_i* + @bond:013_046 @atom:*_b013*_a*_d*_i* @atom:*_b046*_a*_d*_i* + @bond:013_047 @atom:*_b013*_a*_d*_i* @atom:*_b047*_a*_d*_i* + @bond:013_048 @atom:*_b013*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:013_050 @atom:*_b013*_a*_d*_i* @atom:*_b050*_a*_d*_i* + @bond:013_051 @atom:*_b013*_a*_d*_i* @atom:*_b051*_a*_d*_i* + @bond:013_053 @atom:*_b013*_a*_d*_i* @atom:*_b053*_a*_d*_i* + @bond:013_055 @atom:*_b013*_a*_d*_i* @atom:*_b055*_a*_d*_i* + @bond:013_056 @atom:*_b013*_a*_d*_i* @atom:*_b056*_a*_d*_i* + @bond:013_057 @atom:*_b013*_a*_d*_i* @atom:*_b057*_a*_d*_i* + @bond:013_060 @atom:*_b013*_a*_d*_i* @atom:*_b060*_a*_d*_i* + @bond:013_064 @atom:*_b013*_a*_d*_i* @atom:*_b064*_a*_d*_i* + @bond:013_065 @atom:*_b013*_a*_d*_i* @atom:*_b065*_a*_d*_i* + @bond:013_066 @atom:*_b013*_a*_d*_i* @atom:*_b066*_a*_d*_i* + @bond:013_079 @atom:*_b013*_a*_d*_i* @atom:*_b079*_a*_d*_i* + @bond:013_080 @atom:*_b013*_a*_d*_i* @atom:*_b080*_a*_d*_i* + @bond:013_083 @atom:*_b013*_a*_d*_i* @atom:*_b083*_a*_d*_i* + @bond:013_084 @atom:*_b013*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:013_085 @atom:*_b013*_a*_d*_i* @atom:*_b085*_a*_d*_i* + @bond:013_087 @atom:*_b013*_a*_d*_i* @atom:*_b087*_a*_d*_i* + @bond:013_090 @atom:*_b013*_a*_d*_i* @atom:*_b090*_a*_d*_i* + @bond:013_091 @atom:*_b013*_a*_d*_i* @atom:*_b091*_a*_d*_i* + @bond:013_095 @atom:*_b013*_a*_d*_i* @atom:*_b095*_a*_d*_i* + @bond:013_101 @atom:*_b013*_a*_d*_i* @atom:*_b101*_a*_d*_i* + @bond:013_102 @atom:*_b013*_a*_d*_i* @atom:*_b102*_a*_d*_i* + @bond:013_104 @atom:*_b013*_a*_d*_i* @atom:*_b104*_a*_d*_i* + @bond:013_105 @atom:*_b013*_a*_d*_i* @atom:*_b105*_a*_d*_i* + @bond:013_107 @atom:*_b013*_a*_d*_i* @atom:*_b107*_a*_d*_i* + @bond:013_108 @atom:*_b013*_a*_d*_i* @atom:*_b108*_a*_d*_i* + @bond:013_109 @atom:*_b013*_a*_d*_i* @atom:*_b109*_a*_d*_i* + @bond:014_014 @atom:*_b014*_a*_d*_i* @atom:*_b014*_a*_d*_i* + @bond:015_017 @atom:*_b015*_a*_d*_i* @atom:*_b017*_a*_d*_i* + @bond:015_048 @atom:*_b015*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:016_016 @atom:*_b016*_a*_d*_i* @atom:*_b016*_a*_d*_i* + @bond:016_019 @atom:*_b016*_a*_d*_i* @atom:*_b019*_a*_d*_i* + @bond:016_024 @atom:*_b016*_a*_d*_i* @atom:*_b024*_a*_d*_i* + @bond:016_025 @atom:*_b016*_a*_d*_i* @atom:*_b025*_a*_d*_i* + @bond:016_047 @atom:*_b016*_a*_d*_i* @atom:*_b047*_a*_d*_i* + @bond:016_048 @atom:*_b016*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:016_061 @atom:*_b016*_a*_d*_i* @atom:*_b061*_a*_d*_i* + @bond:016_082 @atom:*_b016*_a*_d*_i* @atom:*_b082*_a*_d*_i* + @bond:016_084 @atom:*_b016*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:016_091 @atom:*_b016*_a*_d*_i* @atom:*_b091*_a*_d*_i* + @bond:016_108 @atom:*_b016*_a*_d*_i* @atom:*_b108*_a*_d*_i* + @bond:017_025 @atom:*_b017*_a*_d*_i* @atom:*_b025*_a*_d*_i* + @bond:018_018 @atom:*_b018*_a*_d*_i* @atom:*_b018*_a*_d*_i* + @bond:018_019 @atom:*_b018*_a*_d*_i* @atom:*_b019*_a*_d*_i* + @bond:018_048 @atom:*_b018*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:018_056 @atom:*_b018*_a*_d*_i* @atom:*_b056*_a*_d*_i* + @bond:019_019 @atom:*_b019*_a*_d*_i* @atom:*_b019*_a*_d*_i* + @bond:019_021 @atom:*_b019*_a*_d*_i* @atom:*_b021*_a*_d*_i* + @bond:019_046 @atom:*_b019*_a*_d*_i* @atom:*_b046*_a*_d*_i* + @bond:019_047 @atom:*_b019*_a*_d*_i* @atom:*_b047*_a*_d*_i* + @bond:019_048 @atom:*_b019*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:019_050 @atom:*_b019*_a*_d*_i* @atom:*_b050*_a*_d*_i* + @bond:019_065 @atom:*_b019*_a*_d*_i* @atom:*_b065*_a*_d*_i* + @bond:019_088 @atom:*_b019*_a*_d*_i* @atom:*_b088*_a*_d*_i* + @bond:019_091 @atom:*_b019*_a*_d*_i* @atom:*_b091*_a*_d*_i* + @bond:020_020 @atom:*_b020*_a*_d*_i* @atom:*_b020*_a*_d*_i* + @bond:020_021 @atom:*_b020*_a*_d*_i* @atom:*_b021*_a*_d*_i* + @bond:020_024 @atom:*_b020*_a*_d*_i* @atom:*_b024*_a*_d*_i* + @bond:020_025 @atom:*_b020*_a*_d*_i* @atom:*_b025*_a*_d*_i* + @bond:020_044 @atom:*_b020*_a*_d*_i* @atom:*_b044*_a*_d*_i* + @bond:020_047 @atom:*_b020*_a*_d*_i* @atom:*_b047*_a*_d*_i* + @bond:020_048 @atom:*_b020*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:020_051 @atom:*_b020*_a*_d*_i* @atom:*_b051*_a*_d*_i* + @bond:020_060 @atom:*_b020*_a*_d*_i* @atom:*_b060*_a*_d*_i* + @bond:020_061 @atom:*_b020*_a*_d*_i* @atom:*_b061*_a*_d*_i* + @bond:020_064 @atom:*_b020*_a*_d*_i* @atom:*_b064*_a*_d*_i* + @bond:020_082 @atom:*_b020*_a*_d*_i* @atom:*_b082*_a*_d*_i* + @bond:020_084 @atom:*_b020*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:020_108 @atom:*_b020*_a*_d*_i* @atom:*_b108*_a*_d*_i* + @bond:021_025 @atom:*_b021*_a*_d*_i* @atom:*_b025*_a*_d*_i* + @bond:021_047 @atom:*_b021*_a*_d*_i* @atom:*_b047*_a*_d*_i* + @bond:021_048 @atom:*_b021*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:021_082 @atom:*_b021*_a*_d*_i* @atom:*_b082*_a*_d*_i* + @bond:021_083 @atom:*_b021*_a*_d*_i* @atom:*_b083*_a*_d*_i* + @bond:021_084 @atom:*_b021*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:021_087 @atom:*_b021*_a*_d*_i* @atom:*_b087*_a*_d*_i* + @bond:021_088 @atom:*_b021*_a*_d*_i* @atom:*_b088*_a*_d*_i* + @bond:021_108 @atom:*_b021*_a*_d*_i* @atom:*_b108*_a*_d*_i* + @bond:022_023 @atom:*_b022*_a*_d*_i* @atom:*_b023*_a*_d*_i* + @bond:022_025 @atom:*_b022*_a*_d*_i* @atom:*_b025*_a*_d*_i* + @bond:023_025 @atom:*_b023*_a*_d*_i* @atom:*_b025*_a*_d*_i* + @bond:023_079 @atom:*_b023*_a*_d*_i* @atom:*_b079*_a*_d*_i* + @bond:024_025 @atom:*_b024*_a*_d*_i* @atom:*_b025*_a*_d*_i* + @bond:024_045 @atom:*_b024*_a*_d*_i* @atom:*_b045*_a*_d*_i* + @bond:024_048 @atom:*_b024*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:024_059 @atom:*_b024*_a*_d*_i* @atom:*_b059*_a*_d*_i* + @bond:024_079 @atom:*_b024*_a*_d*_i* @atom:*_b079*_a*_d*_i* + @bond:024_084 @atom:*_b024*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:024_088 @atom:*_b024*_a*_d*_i* @atom:*_b088*_a*_d*_i* + @bond:024_091 @atom:*_b024*_a*_d*_i* @atom:*_b091*_a*_d*_i* + @bond:024_103 @atom:*_b024*_a*_d*_i* @atom:*_b103*_a*_d*_i* + @bond:024_106 @atom:*_b024*_a*_d*_i* @atom:*_b106*_a*_d*_i* + @bond:025_025 @atom:*_b025*_a*_d*_i* @atom:*_b025*_a*_d*_i* + @bond:025_044 @atom:*_b025*_a*_d*_i* @atom:*_b044*_a*_d*_i* + @bond:025_045 @atom:*_b025*_a*_d*_i* @atom:*_b045*_a*_d*_i* + @bond:025_046 @atom:*_b025*_a*_d*_i* @atom:*_b046*_a*_d*_i* + @bond:025_047 @atom:*_b025*_a*_d*_i* @atom:*_b047*_a*_d*_i* + @bond:025_048 @atom:*_b025*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:025_049 @atom:*_b025*_a*_d*_i* @atom:*_b049*_a*_d*_i* + @bond:025_053 @atom:*_b025*_a*_d*_i* @atom:*_b053*_a*_d*_i* + @bond:025_056 @atom:*_b025*_a*_d*_i* @atom:*_b056*_a*_d*_i* + @bond:025_061 @atom:*_b025*_a*_d*_i* @atom:*_b061*_a*_d*_i* + @bond:025_065 @atom:*_b025*_a*_d*_i* @atom:*_b065*_a*_d*_i* + @bond:025_103 @atom:*_b025*_a*_d*_i* @atom:*_b103*_a*_d*_i* + @bond:031_032 @atom:*_b031*_a*_d*_i* @atom:*_b032*_a*_d*_i* + @bond:031_033 @atom:*_b031*_a*_d*_i* @atom:*_b033*_a*_d*_i* + @bond:031_106 @atom:*_b031*_a*_d*_i* @atom:*_b106*_a*_d*_i* + @bond:034_035 @atom:*_b034*_a*_d*_i* @atom:*_b035*_a*_d*_i* + @bond:036_037 @atom:*_b036*_a*_d*_i* @atom:*_b037*_a*_d*_i* + @bond:036_038 @atom:*_b036*_a*_d*_i* @atom:*_b038*_a*_d*_i* + @bond:039_040 @atom:*_b039*_a*_d*_i* @atom:*_b040*_a*_d*_i* + @bond:039_041 @atom:*_b039*_a*_d*_i* @atom:*_b041*_a*_d*_i* + @bond:042_043 @atom:*_b042*_a*_d*_i* @atom:*_b043*_a*_d*_i* + @bond:044_044 @atom:*_b044*_a*_d*_i* @atom:*_b044*_a*_d*_i* + @bond:044_045 @atom:*_b044*_a*_d*_i* @atom:*_b045*_a*_d*_i* + @bond:044_048 @atom:*_b044*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:044_079 @atom:*_b044*_a*_d*_i* @atom:*_b079*_a*_d*_i* + @bond:044_091 @atom:*_b044*_a*_d*_i* @atom:*_b091*_a*_d*_i* + @bond:044_108 @atom:*_b044*_a*_d*_i* @atom:*_b108*_a*_d*_i* + @bond:045_053 @atom:*_b045*_a*_d*_i* @atom:*_b053*_a*_d*_i* + @bond:045_055 @atom:*_b045*_a*_d*_i* @atom:*_b055*_a*_d*_i* + @bond:045_056 @atom:*_b045*_a*_d*_i* @atom:*_b056*_a*_d*_i* + @bond:045_057 @atom:*_b045*_a*_d*_i* @atom:*_b057*_a*_d*_i* + @bond:045_101 @atom:*_b045*_a*_d*_i* @atom:*_b101*_a*_d*_i* + @bond:045_105 @atom:*_b045*_a*_d*_i* @atom:*_b105*_a*_d*_i* + @bond:045_108 @atom:*_b045*_a*_d*_i* @atom:*_b108*_a*_d*_i* + @bond:046_047 @atom:*_b046*_a*_d*_i* @atom:*_b047*_a*_d*_i* + @bond:046_050 @atom:*_b046*_a*_d*_i* @atom:*_b050*_a*_d*_i* + @bond:046_051 @atom:*_b046*_a*_d*_i* @atom:*_b051*_a*_d*_i* + @bond:046_080 @atom:*_b046*_a*_d*_i* @atom:*_b080*_a*_d*_i* + @bond:046_091 @atom:*_b046*_a*_d*_i* @atom:*_b091*_a*_d*_i* + @bond:046_095 @atom:*_b046*_a*_d*_i* @atom:*_b095*_a*_d*_i* + @bond:046_108 @atom:*_b046*_a*_d*_i* @atom:*_b108*_a*_d*_i* + @bond:046_109 @atom:*_b046*_a*_d*_i* @atom:*_b109*_a*_d*_i* + @bond:047_047 @atom:*_b047*_a*_d*_i* @atom:*_b047*_a*_d*_i* + @bond:047_048 @atom:*_b047*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:047_050 @atom:*_b047*_a*_d*_i* @atom:*_b050*_a*_d*_i* + @bond:047_057 @atom:*_b047*_a*_d*_i* @atom:*_b057*_a*_d*_i* + @bond:047_058 @atom:*_b047*_a*_d*_i* @atom:*_b058*_a*_d*_i* + @bond:047_065 @atom:*_b047*_a*_d*_i* @atom:*_b065*_a*_d*_i* + @bond:047_066 @atom:*_b047*_a*_d*_i* @atom:*_b066*_a*_d*_i* + @bond:047_086 @atom:*_b047*_a*_d*_i* @atom:*_b086*_a*_d*_i* + @bond:047_091 @atom:*_b047*_a*_d*_i* @atom:*_b091*_a*_d*_i* + @bond:047_105 @atom:*_b047*_a*_d*_i* @atom:*_b105*_a*_d*_i* + @bond:047_110 @atom:*_b047*_a*_d*_i* @atom:*_b110*_a*_d*_i* + @bond:048_048 @atom:*_b048*_a*_d*_i* @atom:*_b048*_a*_d*_i* + @bond:048_049 @atom:*_b048*_a*_d*_i* @atom:*_b049*_a*_d*_i* + @bond:048_050 @atom:*_b048*_a*_d*_i* @atom:*_b050*_a*_d*_i* + @bond:048_053 @atom:*_b048*_a*_d*_i* @atom:*_b053*_a*_d*_i* + @bond:048_055 @atom:*_b048*_a*_d*_i* @atom:*_b055*_a*_d*_i* + @bond:048_056 @atom:*_b048*_a*_d*_i* @atom:*_b056*_a*_d*_i* + @bond:048_057 @atom:*_b048*_a*_d*_i* @atom:*_b057*_a*_d*_i* + @bond:048_060 @atom:*_b048*_a*_d*_i* @atom:*_b060*_a*_d*_i* + @bond:048_061 @atom:*_b048*_a*_d*_i* @atom:*_b061*_a*_d*_i* + @bond:048_064 @atom:*_b048*_a*_d*_i* @atom:*_b064*_a*_d*_i* + @bond:048_065 @atom:*_b048*_a*_d*_i* @atom:*_b065*_a*_d*_i* + @bond:048_066 @atom:*_b048*_a*_d*_i* @atom:*_b066*_a*_d*_i* + @bond:048_079 @atom:*_b048*_a*_d*_i* @atom:*_b079*_a*_d*_i* + @bond:048_081 @atom:*_b048*_a*_d*_i* @atom:*_b081*_a*_d*_i* + @bond:048_084 @atom:*_b048*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:048_086 @atom:*_b048*_a*_d*_i* @atom:*_b086*_a*_d*_i* + @bond:048_088 @atom:*_b048*_a*_d*_i* @atom:*_b088*_a*_d*_i* + @bond:048_091 @atom:*_b048*_a*_d*_i* @atom:*_b091*_a*_d*_i* + @bond:048_101 @atom:*_b048*_a*_d*_i* @atom:*_b101*_a*_d*_i* + @bond:048_102 @atom:*_b048*_a*_d*_i* @atom:*_b102*_a*_d*_i* + @bond:048_109 @atom:*_b048*_a*_d*_i* @atom:*_b109*_a*_d*_i* + @bond:049_059 @atom:*_b049*_a*_d*_i* @atom:*_b059*_a*_d*_i* + @bond:049_062 @atom:*_b049*_a*_d*_i* @atom:*_b062*_a*_d*_i* + @bond:049_082 @atom:*_b049*_a*_d*_i* @atom:*_b082*_a*_d*_i* + @bond:049_083 @atom:*_b049*_a*_d*_i* @atom:*_b083*_a*_d*_i* + @bond:049_084 @atom:*_b049*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:049_085 @atom:*_b049*_a*_d*_i* @atom:*_b085*_a*_d*_i* + @bond:049_087 @atom:*_b049*_a*_d*_i* @atom:*_b087*_a*_d*_i* + @bond:049_088 @atom:*_b049*_a*_d*_i* @atom:*_b088*_a*_d*_i* + @bond:050_050 @atom:*_b050*_a*_d*_i* @atom:*_b050*_a*_d*_i* + @bond:050_056 @atom:*_b050*_a*_d*_i* @atom:*_b056*_a*_d*_i* + @bond:050_084 @atom:*_b050*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:050_109 @atom:*_b050*_a*_d*_i* @atom:*_b109*_a*_d*_i* + @bond:051_105 @atom:*_b051*_a*_d*_i* @atom:*_b105*_a*_d*_i* + @bond:052_064 @atom:*_b052*_a*_d*_i* @atom:*_b064*_a*_d*_i* + @bond:053_054 @atom:*_b053*_a*_d*_i* @atom:*_b054*_a*_d*_i* + @bond:054_055 @atom:*_b054*_a*_d*_i* @atom:*_b055*_a*_d*_i* + @bond:055_059 @atom:*_b055*_a*_d*_i* @atom:*_b059*_a*_d*_i* + @bond:055_082 @atom:*_b055*_a*_d*_i* @atom:*_b082*_a*_d*_i* + @bond:056_056 @atom:*_b056*_a*_d*_i* @atom:*_b056*_a*_d*_i* + @bond:056_059 @atom:*_b056*_a*_d*_i* @atom:*_b059*_a*_d*_i* + @bond:056_060 @atom:*_b056*_a*_d*_i* @atom:*_b060*_a*_d*_i* + @bond:056_082 @atom:*_b056*_a*_d*_i* @atom:*_b082*_a*_d*_i* + @bond:056_086 @atom:*_b056*_a*_d*_i* @atom:*_b086*_a*_d*_i* + @bond:056_103 @atom:*_b056*_a*_d*_i* @atom:*_b103*_a*_d*_i* + @bond:056_109 @atom:*_b056*_a*_d*_i* @atom:*_b109*_a*_d*_i* + @bond:057_060 @atom:*_b057*_a*_d*_i* @atom:*_b060*_a*_d*_i* + @bond:057_061 @atom:*_b057*_a*_d*_i* @atom:*_b061*_a*_d*_i* + @bond:057_062 @atom:*_b057*_a*_d*_i* @atom:*_b062*_a*_d*_i* + @bond:057_081 @atom:*_b057*_a*_d*_i* @atom:*_b081*_a*_d*_i* + @bond:057_082 @atom:*_b057*_a*_d*_i* @atom:*_b082*_a*_d*_i* + @bond:057_084 @atom:*_b057*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:057_085 @atom:*_b057*_a*_d*_i* @atom:*_b085*_a*_d*_i* + @bond:057_086 @atom:*_b057*_a*_d*_i* @atom:*_b086*_a*_d*_i* + @bond:058_083 @atom:*_b058*_a*_d*_i* @atom:*_b083*_a*_d*_i* + @bond:058_084 @atom:*_b058*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:059_063 @atom:*_b059*_a*_d*_i* @atom:*_b063*_a*_d*_i* + @bond:060_060 @atom:*_b060*_a*_d*_i* @atom:*_b060*_a*_d*_i* + @bond:060_061 @atom:*_b060*_a*_d*_i* @atom:*_b061*_a*_d*_i* + @bond:060_080 @atom:*_b060*_a*_d*_i* @atom:*_b080*_a*_d*_i* + @bond:060_081 @atom:*_b060*_a*_d*_i* @atom:*_b081*_a*_d*_i* + @bond:060_087 @atom:*_b060*_a*_d*_i* @atom:*_b087*_a*_d*_i* + @bond:060_105 @atom:*_b060*_a*_d*_i* @atom:*_b105*_a*_d*_i* + @bond:061_061 @atom:*_b061*_a*_d*_i* @atom:*_b061*_a*_d*_i* + @bond:061_062 @atom:*_b061*_a*_d*_i* @atom:*_b062*_a*_d*_i* + @bond:061_082 @atom:*_b061*_a*_d*_i* @atom:*_b082*_a*_d*_i* + @bond:061_083 @atom:*_b061*_a*_d*_i* @atom:*_b083*_a*_d*_i* + @bond:061_084 @atom:*_b061*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:061_088 @atom:*_b061*_a*_d*_i* @atom:*_b088*_a*_d*_i* + @bond:062_063 @atom:*_b062*_a*_d*_i* @atom:*_b063*_a*_d*_i* + @bond:062_105 @atom:*_b062*_a*_d*_i* @atom:*_b105*_a*_d*_i* + @bond:063_082 @atom:*_b063*_a*_d*_i* @atom:*_b082*_a*_d*_i* + @bond:064_108 @atom:*_b064*_a*_d*_i* @atom:*_b108*_a*_d*_i* + @bond:065_082 @atom:*_b065*_a*_d*_i* @atom:*_b082*_a*_d*_i* + @bond:065_083 @atom:*_b065*_a*_d*_i* @atom:*_b083*_a*_d*_i* + @bond:065_084 @atom:*_b065*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:065_087 @atom:*_b065*_a*_d*_i* @atom:*_b087*_a*_d*_i* + @bond:065_088 @atom:*_b065*_a*_d*_i* @atom:*_b088*_a*_d*_i* + @bond:065_108 @atom:*_b065*_a*_d*_i* @atom:*_b108*_a*_d*_i* + @bond:066_082 @atom:*_b066*_a*_d*_i* @atom:*_b082*_a*_d*_i* + @bond:066_083 @atom:*_b066*_a*_d*_i* @atom:*_b083*_a*_d*_i* + @bond:066_084 @atom:*_b066*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:066_087 @atom:*_b066*_a*_d*_i* @atom:*_b087*_a*_d*_i* + @bond:066_088 @atom:*_b066*_a*_d*_i* @atom:*_b088*_a*_d*_i* + @bond:066_108 @atom:*_b066*_a*_d*_i* @atom:*_b108*_a*_d*_i* + @bond:077_078 @atom:*_b077*_a*_d*_i* @atom:*_b078*_a*_d*_i* + @bond:080_084 @atom:*_b080*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:082_086 @atom:*_b082*_a*_d*_i* @atom:*_b086*_a*_d*_i* + @bond:082_087 @atom:*_b082*_a*_d*_i* @atom:*_b087*_a*_d*_i* + @bond:083_084 @atom:*_b083*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:083_086 @atom:*_b083*_a*_d*_i* @atom:*_b086*_a*_d*_i* + @bond:084_084 @atom:*_b084*_a*_d*_i* @atom:*_b084*_a*_d*_i* + @bond:084_086 @atom:*_b084*_a*_d*_i* @atom:*_b086*_a*_d*_i* + @bond:084_087 @atom:*_b084*_a*_d*_i* @atom:*_b087*_a*_d*_i* + @bond:084_088 @atom:*_b084*_a*_d*_i* @atom:*_b088*_a*_d*_i* + @bond:085_085 @atom:*_b085*_a*_d*_i* @atom:*_b085*_a*_d*_i* + @bond:086_086 @atom:*_b086*_a*_d*_i* @atom:*_b086*_a*_d*_i* + @bond:086_087 @atom:*_b086*_a*_d*_i* @atom:*_b087*_a*_d*_i* + @bond:086_088 @atom:*_b086*_a*_d*_i* @atom:*_b088*_a*_d*_i* + @bond:087_087 @atom:*_b087*_a*_d*_i* @atom:*_b087*_a*_d*_i* + @bond:087_088 @atom:*_b087*_a*_d*_i* @atom:*_b088*_a*_d*_i* + @bond:089_090 @atom:*_b089*_a*_d*_i* @atom:*_b090*_a*_d*_i* + @bond:089_091 @atom:*_b089*_a*_d*_i* @atom:*_b091*_a*_d*_i* + @bond:090_091 @atom:*_b090*_a*_d*_i* @atom:*_b091*_a*_d*_i* + @bond:091_091 @atom:*_b091*_a*_d*_i* @atom:*_b091*_a*_d*_i* + @bond:102_103 @atom:*_b102*_a*_d*_i* @atom:*_b103*_a*_d*_i* + @bond:108_108 @atom:*_b108*_a*_d*_i* @atom:*_b108*_a*_d*_i* + @bond:109_109 @atom:*_b109*_a*_d*_i* @atom:*_b109*_a*_d*_i* } #(end of bonds by type) @@ -4465,1026 +4478,1026 @@ OPLSAA { # ------- Angle Interactions: ------- # http://lammps.sandia.gov/doc/angle_harmonic.html # Syntax: - # angle_coeff AngleTypeName AngleStyle parameters... + # angle_coeff AngleTypeName parameters... write_once("In Settings") { - angle_coeff @angle:25-1-25 harmonic 33.0 109.47 - angle_coeff @angle:1-2-2 harmonic 50.0 109.5 - angle_coeff @angle:2-2-2 harmonic 63.0 112.4 - angle_coeff @angle:2-2-3 harmonic 63.0 112.4 - angle_coeff @angle:2-2-5 harmonic 80.0 109.5 - angle_coeff @angle:2-2-6 harmonic 63.0 112.4 - angle_coeff @angle:6-2-6 harmonic 63.0 112.4 - angle_coeff @angle:5-2-6 harmonic 80.0 109.5 - angle_coeff @angle:2-2-10 harmonic 63.0 112.4 - angle_coeff @angle:3-2-10 harmonic 63.0 112.4 - angle_coeff @angle:6-2-10 harmonic 63.0 112.4 - angle_coeff @angle:10-2-10 harmonic 63.0 112.4 - angle_coeff @angle:5-2-10 harmonic 80.0 109.5 - angle_coeff @angle:10-2-12 harmonic 63.0 114.0 - angle_coeff @angle:6-2-13 harmonic 63.0 112.4 - angle_coeff @angle:10-2-15 harmonic 50.0 108.6 - angle_coeff @angle:2-2-16 harmonic 50.0 114.7 - angle_coeff @angle:10-2-16 harmonic 50.0 114.7 - angle_coeff @angle:2-2-20 harmonic 80.0 109.5 - angle_coeff @angle:6-2-20 harmonic 80.0 109.5 - angle_coeff @angle:10-2-20 harmonic 80.0 109.5 - angle_coeff @angle:3-2-24 harmonic 80.0 110.3 - angle_coeff @angle:2-2-24 harmonic 80.0 111.2 - angle_coeff @angle:2-2-44 harmonic 56.2 109.47 - angle_coeff @angle:6-2-44 harmonic 56.2 109.47 - angle_coeff @angle:10-2-44 harmonic 56.2 109.47 - angle_coeff @angle:13-2-44 harmonic 56.2 109.47 - angle_coeff @angle:3-2-44 harmonic 80.0 111.2 - angle_coeff @angle:2-2-48 harmonic 63.0 112.4 - angle_coeff @angle:10-2-48 harmonic 63.0 114.0 - angle_coeff @angle:2-2-51 harmonic 63.0 112.4 - angle_coeff @angle:6-2-51 harmonic 63.0 112.4 - angle_coeff @angle:2-2-53 harmonic 80.0 111.2 - angle_coeff @angle:2-2-55 harmonic 80.0 111.2 - angle_coeff @angle:10-2-80 harmonic 63.0 115.6 - angle_coeff @angle:2-3-4 harmonic 80.0 120.4 - angle_coeff @angle:1-3-4 harmonic 80.0 121.0 - angle_coeff @angle:3-3-4 harmonic 80.0 121.4 - angle_coeff @angle:4-3-4 harmonic 80.0 126.0 - angle_coeff @angle:4-3-5 harmonic 80.0 121.0 - angle_coeff @angle:4-3-6 harmonic 80.0 120.4 - angle_coeff @angle:5-3-10 harmonic 70.0 115.0 - angle_coeff @angle:4-3-10 harmonic 80.0 120.4 - angle_coeff @angle:5-3-12 harmonic 70.0 120.0 - angle_coeff @angle:12-3-12 harmonic 85.0 120.0 - angle_coeff @angle:5-3-13 harmonic 70.0 108.0 - angle_coeff @angle:13-3-13 harmonic 70.0 116.0 - angle_coeff @angle:1-3-13 harmonic 80.0 111.0 - angle_coeff @angle:3-3-13 harmonic 80.0 117.2 - angle_coeff @angle:4-3-13 harmonic 80.0 120.4 - angle_coeff @angle:10-3-20 harmonic 81.0 111.4 - angle_coeff @angle:13-3-20 harmonic 81.0 111.4 - angle_coeff @angle:4-3-20 harmonic 83.0 123.4 - angle_coeff @angle:13-3-21 harmonic 75.0 109.0 - angle_coeff @angle:4-3-21 harmonic 75.0 119.0 - angle_coeff @angle:24-3-24 harmonic 70.0 114.2 - angle_coeff @angle:2-3-24 harmonic 70.0 116.6 - angle_coeff @angle:3-3-24 harmonic 70.0 116.6 - angle_coeff @angle:6-3-24 harmonic 70.0 116.6 - angle_coeff @angle:10-3-24 harmonic 70.0 116.6 - angle_coeff @angle:13-3-24 harmonic 70.0 116.6 - angle_coeff @angle:4-3-24 harmonic 80.0 122.9 - angle_coeff @angle:20-3-24 harmonic 81.0 111.4 - angle_coeff @angle:13-3-44 harmonic 70.0 116.0 - angle_coeff @angle:4-3-44 harmonic 80.0 120.4 - angle_coeff @angle:13-3-46 harmonic 35.0 115.0 - angle_coeff @angle:46-3-46 harmonic 35.0 115.0 - angle_coeff @angle:4-3-46 harmonic 35.0 123.0 - angle_coeff @angle:24-3-46 harmonic 40.0 114.0 - angle_coeff @angle:5-3-46 harmonic 40.0 115.0 - angle_coeff @angle:20-3-46 harmonic 40.0 115.0 - angle_coeff @angle:24-3-47 harmonic 70.0 115.5 - angle_coeff @angle:4-3-47 harmonic 80.0 125.3 - angle_coeff @angle:46-3-48 harmonic 35.0 115.0 - angle_coeff @angle:24-3-48 harmonic 70.0 115.5 - angle_coeff @angle:13-3-48 harmonic 70.0 116.0 - angle_coeff @angle:5-3-48 harmonic 70.0 120.0 - angle_coeff @angle:4-3-48 harmonic 80.0 120.4 - angle_coeff @angle:20-3-48 harmonic 81.0 111.4 - angle_coeff @angle:48-3-48 harmonic 85.0 120.0 - angle_coeff @angle:13-3-50 harmonic 70.0 116.0 - angle_coeff @angle:46-3-50 harmonic 80.0 116.0 - angle_coeff @angle:4-3-50 harmonic 80.0 124.0 - angle_coeff @angle:10-3-52 harmonic 65.0 117.0 - angle_coeff @angle:2-3-52 harmonic 70.0 117.0 - angle_coeff @angle:6-3-52 harmonic 70.0 117.0 - angle_coeff @angle:13-3-52 harmonic 70.0 117.0 - angle_coeff @angle:48-3-52 harmonic 70.0 117.0 - angle_coeff @angle:4-3-52 harmonic 80.0 126.0 - angle_coeff @angle:52-3-52 harmonic 80.0 126.0 - angle_coeff @angle:46-3-56 harmonic 35.0 122.0 - angle_coeff @angle:4-3-56 harmonic 80.0 122.5 - angle_coeff @angle:47-3-57 harmonic 70.0 114.1 - angle_coeff @angle:56-3-57 harmonic 70.0 118.6 - angle_coeff @angle:57-3-57 harmonic 70.0 118.6 - angle_coeff @angle:4-3-57 harmonic 80.0 120.6 - angle_coeff @angle:24-3-60 harmonic 70.0 111.3 - angle_coeff @angle:57-3-60 harmonic 70.0 111.3 - angle_coeff @angle:4-3-60 harmonic 80.0 128.8 - angle_coeff @angle:13-3-65 harmonic 75.0 109.0 - angle_coeff @angle:4-3-65 harmonic 75.0 119.0 - angle_coeff @angle:44-3-84 harmonic 70.0 116.0 - angle_coeff @angle:4-3-84 harmonic 80.0 120.4 - angle_coeff @angle:4-3-87 harmonic 80.0 128.2 - angle_coeff @angle:57-3-105 harmonic 70.0 115.4 - angle_coeff @angle:56-3-105 harmonic 70.0 118.6 - angle_coeff @angle:4-3-105 harmonic 80.0 120.9 - angle_coeff @angle:13-3-107 harmonic 70.0 116.6 - angle_coeff @angle:4-3-107 harmonic 80.0 122.9 - angle_coeff @angle:25-4-25 harmonic 10.0 117.0 - angle_coeff @angle:3-4-25 harmonic 35.0 113.0 - angle_coeff @angle:3-5-7 harmonic 35.0 113.0 - angle_coeff @angle:2-5-7 harmonic 55.0 108.5 - angle_coeff @angle:6-5-7 harmonic 55.0 108.5 - angle_coeff @angle:7-5-10 harmonic 55.0 108.5 - angle_coeff @angle:7-5-13 harmonic 55.0 108.5 - angle_coeff @angle:7-5-24 harmonic 49.0 105.4 - angle_coeff @angle:25-5-25 harmonic 5.0 109.47 - angle_coeff @angle:7-5-25 harmonic 10.0 109.47 - angle_coeff @angle:13-5-25 harmonic 10.0 109.47 - angle_coeff @angle:7-5-47 harmonic 35.0 109.0 - angle_coeff @angle:25-5-48 harmonic 10.0 109.47 - angle_coeff @angle:7-5-48 harmonic 35.0 113.0 - angle_coeff @angle:7-5-51 harmonic 55.0 108.5 - angle_coeff @angle:7-5-64 harmonic 55.0 108.5 - angle_coeff @angle:13-5-64 harmonic 100.0 120.5 - angle_coeff @angle:7-5-79 harmonic 74.0 110.0 - angle_coeff @angle:7-5-106 harmonic 100.0 126.0 - angle_coeff @angle:5-7-25 harmonic 10.0 109.47 - angle_coeff @angle:25-7-25 harmonic 33.0 109.47 - angle_coeff @angle:2-10-2 harmonic 63.0 112.4 - angle_coeff @angle:2-10-3 harmonic 63.0 111.1 - angle_coeff @angle:2-10-5 harmonic 80.0 109.5 - angle_coeff @angle:3-10-6 harmonic 63.0 111.1 - angle_coeff @angle:6-10-6 harmonic 63.0 111.5 - angle_coeff @angle:2-10-6 harmonic 63.0 112.4 - angle_coeff @angle:5-10-6 harmonic 80.0 109.5 - angle_coeff @angle:3-10-10 harmonic 63.0 111.1 - angle_coeff @angle:2-10-10 harmonic 63.0 111.5 - angle_coeff @angle:6-10-10 harmonic 63.0 111.5 - angle_coeff @angle:10-10-10 harmonic 63.0 111.5 - angle_coeff @angle:5-10-10 harmonic 80.0 109.5 - angle_coeff @angle:2-10-20 harmonic 80.0 109.5 - angle_coeff @angle:6-10-20 harmonic 80.0 109.5 - angle_coeff @angle:10-10-20 harmonic 80.0 109.5 - angle_coeff @angle:3-10-24 harmonic 63.0 110.1 - angle_coeff @angle:6-10-24 harmonic 80.0 109.5 - angle_coeff @angle:2-10-24 harmonic 80.0 109.7 - angle_coeff @angle:10-10-24 harmonic 80.0 109.7 - angle_coeff @angle:2-10-44 harmonic 56.2 109.47 - angle_coeff @angle:6-10-44 harmonic 56.2 109.47 - angle_coeff @angle:10-10-44 harmonic 56.2 109.47 - angle_coeff @angle:13-10-44 harmonic 56.2 109.47 - angle_coeff @angle:3-10-44 harmonic 80.0 109.7 - angle_coeff @angle:2-10-48 harmonic 63.0 112.4 - angle_coeff @angle:20-10-48 harmonic 80.0 109.5 - angle_coeff @angle:2-10-105 harmonic 80.0 109.5 - angle_coeff @angle:10-10-105 harmonic 80.0 109.5 - angle_coeff @angle:20-10-105 harmonic 80.0 109.5 - angle_coeff @angle:2-11-2 harmonic 70.0 124.0 - angle_coeff @angle:2-11-6 harmonic 70.0 124.0 - angle_coeff @angle:6-11-6 harmonic 70.0 124.0 - angle_coeff @angle:2-11-9 harmonic 70.0 118.0 - angle_coeff @angle:6-11-9 harmonic 70.0 118.0 - angle_coeff @angle:9-11-10 harmonic 70.0 118.0 - angle_coeff @angle:2-11-10 harmonic 70.0 124.0 - angle_coeff @angle:6-11-10 harmonic 70.0 124.0 - angle_coeff @angle:10-11-10 harmonic 70.0 124.0 - angle_coeff @angle:2-11-11 harmonic 70.0 118.0 - angle_coeff @angle:6-11-11 harmonic 70.0 118.0 - angle_coeff @angle:9-11-11 harmonic 70.0 118.0 - angle_coeff @angle:10-11-11 harmonic 70.0 118.0 - angle_coeff @angle:11-11-11 harmonic 70.0 118.0 - angle_coeff @angle:9-11-13 harmonic 70.0 118.0 - angle_coeff @angle:11-11-13 harmonic 70.0 118.0 - angle_coeff @angle:2-11-13 harmonic 70.0 124.0 - angle_coeff @angle:6-11-13 harmonic 70.0 124.0 - angle_coeff @angle:10-11-13 harmonic 70.0 124.0 - angle_coeff @angle:13-11-13 harmonic 70.0 124.0 - angle_coeff @angle:9-11-14 harmonic 70.0 118.0 - angle_coeff @angle:11-11-14 harmonic 70.0 118.0 - angle_coeff @angle:9-11-79 harmonic 70.0 118.0 - angle_coeff @angle:2-12-12 harmonic 70.0 120.0 - angle_coeff @angle:3-12-12 harmonic 85.0 120.0 - angle_coeff @angle:12-12-12 harmonic 85.0 120.0 - angle_coeff @angle:12-12-48 harmonic 85.0 120.0 - angle_coeff @angle:12-12-60 harmonic 85.0 120.0 - angle_coeff @angle:12-12-81 harmonic 85.0 120.0 - angle_coeff @angle:1-13-1 harmonic 77.0 109.1 - angle_coeff @angle:2-13-2 harmonic 40.0 109.5 - angle_coeff @angle:1-13-3 harmonic 50.0 109.5 - angle_coeff @angle:2-13-3 harmonic 63.0 111.1 - angle_coeff @angle:3-13-3 harmonic 63.0 111.1 - angle_coeff @angle:2-13-6 harmonic 40.0 109.5 - angle_coeff @angle:6-13-6 harmonic 40.0 109.5 - angle_coeff @angle:3-13-6 harmonic 63.0 109.5 - angle_coeff @angle:1-13-13 harmonic 50.0 109.5 - angle_coeff @angle:5-13-13 harmonic 50.0 109.5 - angle_coeff @angle:13-13-13 harmonic 58.35 112.7 - angle_coeff @angle:3-13-13 harmonic 63.0 111.1 - angle_coeff @angle:13-13-15 harmonic 50.0 108.6 - angle_coeff @angle:13-13-16 harmonic 50.0 114.7 - angle_coeff @angle:13-13-19 harmonic 58.35 112.7 - angle_coeff @angle:3-13-20 harmonic 50.0 109.5 - angle_coeff @angle:13-13-20 harmonic 50.0 109.5 - angle_coeff @angle:3-13-21 harmonic 69.0 109.8 - angle_coeff @angle:13-13-21 harmonic 69.0 109.8 - angle_coeff @angle:21-13-21 harmonic 78.0 111.7 - angle_coeff @angle:13-13-22 harmonic 50.0 108.6 - angle_coeff @angle:20-13-24 harmonic 50.0 109.5 - angle_coeff @angle:3-13-24 harmonic 63.0 110.1 - angle_coeff @angle:2-13-24 harmonic 80.0 109.7 - angle_coeff @angle:13-13-24 harmonic 80.0 109.7 - angle_coeff @angle:16-13-44 harmonic 50.0 114.7 - angle_coeff @angle:2-13-44 harmonic 56.2 109.47 - angle_coeff @angle:6-13-44 harmonic 56.2 109.47 - angle_coeff @angle:10-13-44 harmonic 56.2 109.47 - angle_coeff @angle:13-13-44 harmonic 56.2 109.47 - angle_coeff @angle:3-13-44 harmonic 80.0 111.2 - angle_coeff @angle:46-13-46 harmonic 33.0 107.8 - angle_coeff @angle:18-13-46 harmonic 35.0 108.5 - angle_coeff @angle:19-13-46 harmonic 35.0 108.5 - angle_coeff @angle:2-13-46 harmonic 35.0 109.5 - angle_coeff @angle:3-13-46 harmonic 35.0 109.5 - angle_coeff @angle:5-13-46 harmonic 35.0 109.5 - angle_coeff @angle:15-13-46 harmonic 35.0 109.5 - angle_coeff @angle:16-13-46 harmonic 35.0 109.5 - angle_coeff @angle:20-13-46 harmonic 35.0 109.5 - angle_coeff @angle:22-13-46 harmonic 35.0 109.5 - angle_coeff @angle:24-13-46 harmonic 35.0 109.5 - angle_coeff @angle:44-13-46 harmonic 35.0 109.5 - angle_coeff @angle:13-13-46 harmonic 37.5 110.7 - angle_coeff @angle:1-13-46 harmonic 40.0 107.0 - angle_coeff @angle:21-13-46 harmonic 51.0 107.6 - angle_coeff @angle:46-13-47 harmonic 35.0 109.5 - angle_coeff @angle:1-13-47 harmonic 50.0 109.5 - angle_coeff @angle:13-13-47 harmonic 63.0 111.1 - angle_coeff @angle:47-13-47 harmonic 63.0 112.4 - angle_coeff @angle:46-13-48 harmonic 35.0 109.5 - angle_coeff @angle:47-13-48 harmonic 40.0 109.5 - angle_coeff @angle:48-13-48 harmonic 40.0 109.5 - angle_coeff @angle:1-13-48 harmonic 50.0 109.5 - angle_coeff @angle:5-13-48 harmonic 50.0 109.5 - angle_coeff @angle:20-13-48 harmonic 50.0 109.5 - angle_coeff @angle:16-13-48 harmonic 50.0 114.7 - angle_coeff @angle:3-13-48 harmonic 63.0 112.0 - angle_coeff @angle:2-13-48 harmonic 63.0 114.0 - angle_coeff @angle:13-13-48 harmonic 63.0 114.0 - angle_coeff @angle:44-13-48 harmonic 80.0 111.2 - angle_coeff @angle:46-13-50 harmonic 35.0 109.5 - angle_coeff @angle:46-13-51 harmonic 37.5 110.7 - angle_coeff @angle:5-13-51 harmonic 50.0 109.5 - angle_coeff @angle:13-13-51 harmonic 58.35 112.7 - angle_coeff @angle:46-13-53 harmonic 35.0 109.5 - angle_coeff @angle:3-13-53 harmonic 80.0 111.2 - angle_coeff @angle:13-13-53 harmonic 80.0 111.2 - angle_coeff @angle:46-13-55 harmonic 35.0 109.5 - angle_coeff @angle:13-13-55 harmonic 80.0 111.2 - angle_coeff @angle:46-13-56 harmonic 35.0 109.5 - angle_coeff @angle:3-13-56 harmonic 63.0 110.1 - angle_coeff @angle:13-13-56 harmonic 65.0 109.0 - angle_coeff @angle:46-13-57 harmonic 35.0 109.5 - angle_coeff @angle:48-13-57 harmonic 80.0 111.2 - angle_coeff @angle:46-13-60 harmonic 35.0 109.5 - angle_coeff @angle:13-13-60 harmonic 63.0 114.0 - angle_coeff @angle:46-13-64 harmonic 41.0 109.5 - angle_coeff @angle:13-13-64 harmonic 43.0 109.5 - angle_coeff @angle:48-13-64 harmonic 43.0 109.5 - angle_coeff @angle:46-13-65 harmonic 51.0 107.6 - angle_coeff @angle:3-13-65 harmonic 69.0 109.8 - angle_coeff @angle:13-13-65 harmonic 69.0 110.0 - angle_coeff @angle:48-13-65 harmonic 69.0 110.0 - angle_coeff @angle:65-13-65 harmonic 78.0 111.7 - angle_coeff @angle:46-13-66 harmonic 75.0 111.0 - angle_coeff @angle:13-13-66 harmonic 75.0 112.0 - angle_coeff @angle:46-13-79 harmonic 35.0 109.5 - angle_coeff @angle:13-13-79 harmonic 50.0 108.6 - angle_coeff @angle:1-13-79 harmonic 50.0 109.5 - angle_coeff @angle:46-13-80 harmonic 35.0 109.5 - angle_coeff @angle:13-13-80 harmonic 63.0 115.6 - angle_coeff @angle:46-13-83 harmonic 35.0 109.5 - angle_coeff @angle:13-13-83 harmonic 63.0 114.0 - angle_coeff @angle:46-13-84 harmonic 35.0 109.5 - angle_coeff @angle:16-13-84 harmonic 50.0 114.7 - angle_coeff @angle:13-13-84 harmonic 63.0 114.0 - angle_coeff @angle:46-13-85 harmonic 35.0 109.5 - angle_coeff @angle:13-13-85 harmonic 63.0 114.0 - angle_coeff @angle:46-13-87 harmonic 35.0 109.5 - angle_coeff @angle:13-13-87 harmonic 63.0 115.6 - angle_coeff @angle:46-13-90 harmonic 35.0 109.5 - angle_coeff @angle:13-13-90 harmonic 80.0 110.0 - angle_coeff @angle:3-13-90 harmonic 80.0 113.0 - angle_coeff @angle:46-13-91 harmonic 37.5 110.7 - angle_coeff @angle:46-13-95 harmonic 35.0 105.0 - angle_coeff @angle:13-13-95 harmonic 63.0 105.0 - angle_coeff @angle:46-13-101 harmonic 35.0 109.5 - angle_coeff @angle:13-13-101 harmonic 80.0 111.2 - angle_coeff @angle:46-13-102 harmonic 35.0 105.0 - angle_coeff @angle:13-13-102 harmonic 63.0 111.1 - angle_coeff @angle:46-13-104 harmonic 41.0 109.5 - angle_coeff @angle:13-13-104 harmonic 43.0 109.5 - angle_coeff @angle:46-13-105 harmonic 35.0 109.5 - angle_coeff @angle:13-13-105 harmonic 50.0 109.5 - angle_coeff @angle:20-13-105 harmonic 50.0 109.5 - angle_coeff @angle:46-13-107 harmonic 35.0 109.5 - angle_coeff @angle:13-13-107 harmonic 80.0 109.7 - angle_coeff @angle:46-13-108 harmonic 35.0 109.5 - angle_coeff @angle:13-13-108 harmonic 60.0 112.0 - angle_coeff @angle:2-14-2 harmonic 70.0 124.0 - angle_coeff @angle:2-14-6 harmonic 70.0 124.0 - angle_coeff @angle:6-14-6 harmonic 70.0 124.0 - angle_coeff @angle:2-14-9 harmonic 70.0 118.0 - angle_coeff @angle:6-14-9 harmonic 70.0 118.0 - angle_coeff @angle:9-14-10 harmonic 70.0 118.0 - angle_coeff @angle:2-14-10 harmonic 70.0 124.0 - angle_coeff @angle:6-14-10 harmonic 70.0 124.0 - angle_coeff @angle:10-14-10 harmonic 70.0 124.0 - angle_coeff @angle:2-14-11 harmonic 70.0 118.0 - angle_coeff @angle:6-14-11 harmonic 70.0 118.0 - angle_coeff @angle:9-14-11 harmonic 70.0 118.0 - angle_coeff @angle:10-14-11 harmonic 70.0 118.0 - angle_coeff @angle:11-14-11 harmonic 70.0 118.0 - angle_coeff @angle:9-14-13 harmonic 70.0 118.0 - angle_coeff @angle:11-14-13 harmonic 70.0 118.0 - angle_coeff @angle:2-14-13 harmonic 70.0 124.0 - angle_coeff @angle:6-14-13 harmonic 70.0 124.0 - angle_coeff @angle:10-14-13 harmonic 70.0 124.0 - angle_coeff @angle:13-14-13 harmonic 70.0 124.0 - angle_coeff @angle:2-14-14 harmonic 70.0 118.0 - angle_coeff @angle:6-14-14 harmonic 70.0 118.0 - angle_coeff @angle:9-14-14 harmonic 70.0 118.0 - angle_coeff @angle:10-14-14 harmonic 70.0 118.0 - angle_coeff @angle:11-14-14 harmonic 70.0 118.0 - angle_coeff @angle:13-14-14 harmonic 70.0 118.0 - angle_coeff @angle:14-14-14 harmonic 70.0 118.0 - angle_coeff @angle:17-15-17 harmonic 35.0 92.07 - angle_coeff @angle:2-15-17 harmonic 44.0 96.0 - angle_coeff @angle:6-15-17 harmonic 44.0 96.0 - angle_coeff @angle:13-15-17 harmonic 44.0 96.0 - angle_coeff @angle:25-15-25 harmonic 5.0 109.47 - angle_coeff @angle:13-15-25 harmonic 10.0 109.47 - angle_coeff @angle:33-15-33 harmonic 10.0 160.0 - angle_coeff @angle:2-15-33 harmonic 150.0 96.7 - angle_coeff @angle:6-15-33 harmonic 150.0 96.7 - angle_coeff @angle:13-15-33 harmonic 150.0 96.7 - angle_coeff @angle:17-15-33 harmonic 150.0 96.7 - angle_coeff @angle:17-15-48 harmonic 50.0 96.0 - angle_coeff @angle:2-16-6 harmonic 62.0 98.9 - angle_coeff @angle:13-16-13 harmonic 62.0 98.9 - angle_coeff @angle:2-16-16 harmonic 68.0 103.7 - angle_coeff @angle:6-16-16 harmonic 68.0 103.7 - angle_coeff @angle:13-16-16 harmonic 68.0 103.7 - angle_coeff @angle:13-16-19 harmonic 65.0 100.0 - angle_coeff @angle:25-16-25 harmonic 5.0 109.47 - angle_coeff @angle:13-16-25 harmonic 10.0 109.47 - angle_coeff @angle:33-16-33 harmonic 10.0 160.0 - angle_coeff @angle:2-16-33 harmonic 150.0 96.7 - angle_coeff @angle:6-16-33 harmonic 150.0 96.7 - angle_coeff @angle:13-16-33 harmonic 150.0 96.7 - angle_coeff @angle:16-16-33 harmonic 150.0 96.7 - angle_coeff @angle:13-16-48 harmonic 62.0 104.2 - angle_coeff @angle:47-16-48 harmonic 62.0 104.2 - angle_coeff @angle:24-16-60 harmonic 74.0 92.4 - angle_coeff @angle:25-16-61 harmonic 10.0 130.0 - angle_coeff @angle:25-16-82 harmonic 10.0 130.0 - angle_coeff @angle:60-16-82 harmonic 74.0 97.0 - angle_coeff @angle:25-16-84 harmonic 10.0 130.0 - angle_coeff @angle:82-16-84 harmonic 74.0 90.0 - angle_coeff @angle:60-16-84 harmonic 74.0 97.0 - angle_coeff @angle:84-16-84 harmonic 74.0 97.0 - angle_coeff @angle:13-16-91 harmonic 62.0 94.0 - angle_coeff @angle:15-17-25 harmonic 10.0 109.47 - angle_coeff @angle:25-17-25 harmonic 33.0 109.47 - angle_coeff @angle:13-18-19 harmonic 150.0 180.0 - angle_coeff @angle:19-18-48 harmonic 170.0 180.0 - angle_coeff @angle:18-18-56 harmonic 100.0 180.0 - angle_coeff @angle:13-19-18 harmonic 150.0 180.0 - angle_coeff @angle:16-19-19 harmonic 140.0 180.0 - angle_coeff @angle:13-19-19 harmonic 150.0 180.0 - angle_coeff @angle:18-19-25 harmonic 10.0 90.0 - angle_coeff @angle:19-19-46 harmonic 112.0 180.0 - angle_coeff @angle:18-19-47 harmonic 150.0 180.0 - angle_coeff @angle:19-19-47 harmonic 160.0 180.0 - angle_coeff @angle:18-19-48 harmonic 150.0 180.0 - angle_coeff @angle:19-19-48 harmonic 160.0 180.0 - angle_coeff @angle:19-19-50 harmonic 160.0 180.0 - angle_coeff @angle:18-19-55 harmonic 150.0 180.0 - angle_coeff @angle:18-19-88 harmonic 150.0 180.0 - angle_coeff @angle:2-20-2 harmonic 100.0 111.8 - angle_coeff @angle:2-20-3 harmonic 83.0 116.9 - angle_coeff @angle:3-20-6 harmonic 83.0 116.9 - angle_coeff @angle:2-20-6 harmonic 100.0 111.8 - angle_coeff @angle:2-20-7 harmonic 55.0 108.5 - angle_coeff @angle:7-20-10 harmonic 55.0 108.5 - angle_coeff @angle:3-20-10 harmonic 83.0 116.9 - angle_coeff @angle:10-20-10 harmonic 100.0 111.8 - angle_coeff @angle:13-20-13 harmonic 60.0 109.5 - angle_coeff @angle:3-20-13 harmonic 83.0 116.9 - angle_coeff @angle:25-20-25 harmonic 5.0 109.47 - angle_coeff @angle:13-20-25 harmonic 10.0 109.47 - angle_coeff @angle:13-20-47 harmonic 75.0 111.0 - angle_coeff @angle:25-20-48 harmonic 10.0 109.47 - angle_coeff @angle:13-20-48 harmonic 75.0 111.0 - angle_coeff @angle:47-20-48 harmonic 75.0 111.0 - angle_coeff @angle:48-20-48 harmonic 75.0 111.0 - angle_coeff @angle:3-20-48 harmonic 83.0 116.9 - angle_coeff @angle:2-20-48 harmonic 100.0 111.8 - angle_coeff @angle:13-20-51 harmonic 60.0 109.5 - angle_coeff @angle:2-20-51 harmonic 100.0 113.0 - angle_coeff @angle:6-20-51 harmonic 100.0 113.0 - angle_coeff @angle:10-20-51 harmonic 100.0 113.0 - angle_coeff @angle:24-20-60 harmonic 70.0 104.5 - angle_coeff @angle:25-20-61 harmonic 10.0 125.0 - angle_coeff @angle:2-20-64 harmonic 100.0 120.5 - angle_coeff @angle:6-20-64 harmonic 100.0 120.5 - angle_coeff @angle:10-20-64 harmonic 100.0 120.5 - angle_coeff @angle:13-20-64 harmonic 100.0 120.5 - angle_coeff @angle:48-20-64 harmonic 100.0 120.5 - angle_coeff @angle:64-20-64 harmonic 100.0 120.5 - angle_coeff @angle:25-20-82 harmonic 10.0 125.0 - angle_coeff @angle:60-20-82 harmonic 70.0 106.5 - angle_coeff @angle:82-20-82 harmonic 70.0 107.0 - angle_coeff @angle:25-20-84 harmonic 10.0 125.0 - angle_coeff @angle:82-20-84 harmonic 70.0 104.0 - angle_coeff @angle:60-20-84 harmonic 70.0 106.5 - angle_coeff @angle:84-20-84 harmonic 70.0 106.5 - angle_coeff @angle:61-20-84 harmonic 70.0 108.9 - angle_coeff @angle:108-20-108 harmonic 20.0 145.0 - angle_coeff @angle:13-20-108 harmonic 40.0 130.0 - angle_coeff @angle:25-21-25 harmonic 33.0 109.47 - angle_coeff @angle:13-22-13 harmonic 62.0 96.0 - angle_coeff @angle:13-22-23 harmonic 74.0 107.0 - angle_coeff @angle:23-22-25 harmonic 10.0 90.0 - angle_coeff @angle:2-24-3 harmonic 50.0 121.9 - angle_coeff @angle:3-24-3 harmonic 70.0 126.4 - angle_coeff @angle:3-24-5 harmonic 46.0 115.7 - angle_coeff @angle:2-24-6 harmonic 50.0 121.9 - angle_coeff @angle:3-24-6 harmonic 50.0 121.9 - angle_coeff @angle:2-24-10 harmonic 50.0 118.0 - angle_coeff @angle:3-24-10 harmonic 50.0 121.9 - angle_coeff @angle:13-24-13 harmonic 50.0 118.0 - angle_coeff @angle:3-24-13 harmonic 50.0 121.9 - angle_coeff @angle:3-24-16 harmonic 70.0 112.0 - angle_coeff @angle:3-24-20 harmonic 70.0 108.6 - angle_coeff @angle:3-24-25 harmonic 10.0 109.5 - angle_coeff @angle:25-24-45 harmonic 10.0 100.0 - angle_coeff @angle:5-24-45 harmonic 35.0 110.2 - angle_coeff @angle:3-24-45 harmonic 35.0 119.8 - angle_coeff @angle:45-24-45 harmonic 35.0 120.0 - angle_coeff @angle:2-24-45 harmonic 38.0 118.4 - angle_coeff @angle:6-24-45 harmonic 38.0 118.4 - angle_coeff @angle:10-24-45 harmonic 38.0 118.4 - angle_coeff @angle:13-24-45 harmonic 38.0 118.4 - angle_coeff @angle:45-24-48 harmonic 35.0 119.8 - angle_coeff @angle:13-24-48 harmonic 50.0 118.0 - angle_coeff @angle:3-24-48 harmonic 50.0 121.9 - angle_coeff @angle:48-24-48 harmonic 70.0 118.0 - angle_coeff @angle:54-24-54 harmonic 35.0 120.0 - angle_coeff @angle:45-24-59 harmonic 35.0 118.0 - angle_coeff @angle:3-24-59 harmonic 70.0 125.2 - angle_coeff @angle:13-24-79 harmonic 50.0 120.0 - angle_coeff @angle:45-24-79 harmonic 100.0 111.0 - angle_coeff @angle:45-24-84 harmonic 35.0 119.8 - angle_coeff @angle:48-24-84 harmonic 70.0 118.0 - angle_coeff @angle:16-24-86 harmonic 70.0 117.0 - angle_coeff @angle:45-24-87 harmonic 35.0 119.8 - angle_coeff @angle:48-24-87 harmonic 70.0 118.0 - angle_coeff @angle:45-24-88 harmonic 35.0 119.8 - angle_coeff @angle:48-24-88 harmonic 70.0 118.0 - angle_coeff @angle:45-24-91 harmonic 40.0 113.0 - angle_coeff @angle:3-24-91 harmonic 55.0 128.0 - angle_coeff @angle:48-24-103 harmonic 70.0 121.0 - angle_coeff @angle:3-24-106 harmonic 20.0 126.0 - angle_coeff @angle:25-25-25 harmonic 33.0 109.47 - angle_coeff @angle:32-31-32 harmonic 75.0 104.52 - angle_coeff @angle:32-31-33 harmonic 50.0 52.26 - angle_coeff @angle:35-34-35 harmonic 34.05 104.52 - angle_coeff @angle:37-36-37 harmonic 75.0 109.5 - angle_coeff @angle:37-36-38 harmonic 50.0 54.75 - angle_coeff @angle:40-39-40 harmonic 75.0 104.52 - angle_coeff @angle:41-39-41 harmonic 50.0 109.47 - angle_coeff @angle:40-39-41 harmonic 50.0 110.6948 - angle_coeff @angle:43-42-43 harmonic 75.0 109.47 - angle_coeff @angle:2-44-2 harmonic 51.8 107.2 - angle_coeff @angle:2-44-6 harmonic 51.8 107.2 - angle_coeff @angle:6-44-6 harmonic 51.8 107.2 - angle_coeff @angle:2-44-10 harmonic 51.8 107.2 - angle_coeff @angle:6-44-10 harmonic 51.8 107.2 - angle_coeff @angle:10-44-10 harmonic 51.8 107.2 - angle_coeff @angle:2-44-13 harmonic 51.8 107.2 - angle_coeff @angle:6-44-13 harmonic 51.8 107.2 - angle_coeff @angle:10-44-13 harmonic 51.8 107.2 - angle_coeff @angle:13-44-13 harmonic 51.8 107.2 - angle_coeff @angle:3-44-13 harmonic 63.0 111.1 - angle_coeff @angle:25-44-45 harmonic 10.0 100.0 - angle_coeff @angle:13-44-45 harmonic 35.0 109.5 - angle_coeff @angle:2-44-45 harmonic 43.2 108.1 - angle_coeff @angle:6-44-45 harmonic 43.2 108.1 - angle_coeff @angle:10-44-45 harmonic 43.2 108.1 - angle_coeff @angle:45-44-45 harmonic 43.6 106.4 - angle_coeff @angle:25-44-48 harmonic 10.0 109.5 - angle_coeff @angle:45-44-48 harmonic 35.0 116.0 - angle_coeff @angle:13-44-48 harmonic 50.0 116.0 - angle_coeff @angle:48-44-48 harmonic 50.0 116.0 - angle_coeff @angle:3-44-48 harmonic 63.0 112.0 - angle_coeff @angle:45-44-79 harmonic 35.0 115.0 - angle_coeff @angle:13-44-79 harmonic 50.0 108.6 - angle_coeff @angle:48-44-79 harmonic 50.0 108.6 - angle_coeff @angle:48-44-91 harmonic 50.0 109.5 - angle_coeff @angle:25-45-25 harmonic 33.0 109.47 - angle_coeff @angle:25-45-44 harmonic 10.0 109.5 - angle_coeff @angle:25-46-25 harmonic 33.0 109.47 - angle_coeff @angle:13-46-25 harmonic 37.5 109.47 - angle_coeff @angle:1-47-1 harmonic 80.0 108.0 - angle_coeff @angle:1-47-3 harmonic 80.0 121.5 - angle_coeff @angle:3-47-6 harmonic 85.0 119.7 - angle_coeff @angle:3-47-13 harmonic 70.0 119.7 - angle_coeff @angle:13-47-13 harmonic 70.0 130.0 - angle_coeff @angle:25-47-46 harmonic 10.0 90.0 - angle_coeff @angle:20-47-46 harmonic 35.0 114.5 - angle_coeff @angle:13-47-46 harmonic 35.0 117.0 - angle_coeff @angle:46-47-46 harmonic 35.0 117.0 - angle_coeff @angle:3-47-46 harmonic 35.0 119.7 - angle_coeff @angle:19-47-46 harmonic 35.0 120.0 - angle_coeff @angle:1-47-46 harmonic 50.0 112.0 - angle_coeff @angle:21-47-46 harmonic 60.0 114.0 - angle_coeff @angle:25-47-47 harmonic 2.0 90.0 - angle_coeff @angle:46-47-47 harmonic 35.0 120.0 - angle_coeff @angle:5-47-47 harmonic 70.0 123.0 - angle_coeff @angle:20-47-47 harmonic 70.0 123.0 - angle_coeff @angle:13-47-47 harmonic 70.0 124.0 - angle_coeff @angle:19-47-47 harmonic 70.0 124.0 - angle_coeff @angle:21-47-47 harmonic 75.0 121.5 - angle_coeff @angle:1-47-47 harmonic 80.0 121.5 - angle_coeff @angle:16-47-47 harmonic 85.0 119.4 - angle_coeff @angle:3-47-47 harmonic 85.0 120.7 - angle_coeff @angle:46-47-48 harmonic 35.0 123.3 - angle_coeff @angle:47-47-48 harmonic 85.0 117.0 - angle_coeff @angle:13-47-48 harmonic 85.0 119.7 - angle_coeff @angle:25-47-50 harmonic 2.0 90.0 - angle_coeff @angle:46-47-50 harmonic 35.0 120.0 - angle_coeff @angle:5-47-50 harmonic 70.0 123.0 - angle_coeff @angle:20-47-50 harmonic 70.0 123.0 - angle_coeff @angle:13-47-50 harmonic 70.0 124.0 - angle_coeff @angle:46-47-57 harmonic 35.0 119.1 - angle_coeff @angle:13-47-57 harmonic 70.0 120.0 - angle_coeff @angle:20-47-57 harmonic 70.0 120.0 - angle_coeff @angle:47-47-57 harmonic 70.0 121.2 - angle_coeff @angle:16-47-57 harmonic 85.0 119.4 - angle_coeff @angle:57-47-58 harmonic 35.0 119.1 - angle_coeff @angle:47-47-58 harmonic 35.0 119.7 - angle_coeff @angle:46-47-65 harmonic 60.0 114.0 - angle_coeff @angle:47-47-65 harmonic 75.0 120.0 - angle_coeff @angle:46-47-91 harmonic 35.0 135.0 - angle_coeff @angle:3-47-91 harmonic 70.0 119.7 - angle_coeff @angle:47-47-91 harmonic 70.0 124.0 - angle_coeff @angle:46-47-105 harmonic 35.0 119.1 - angle_coeff @angle:58-47-105 harmonic 35.0 119.1 - angle_coeff @angle:13-47-105 harmonic 70.0 120.0 - angle_coeff @angle:20-47-105 harmonic 70.0 120.0 - angle_coeff @angle:47-47-105 harmonic 70.0 121.2 - angle_coeff @angle:16-47-105 harmonic 85.0 119.4 - angle_coeff @angle:46-47-110 harmonic 40.0 121.0 - angle_coeff @angle:13-47-110 harmonic 80.0 122.0 - angle_coeff @angle:48-47-110 harmonic 80.0 122.0 - angle_coeff @angle:1-47-110 harmonic 80.0 125.0 - angle_coeff @angle:2-48-12 harmonic 70.0 120.0 - angle_coeff @angle:12-48-12 harmonic 85.0 120.0 - angle_coeff @angle:3-48-13 harmonic 70.0 119.7 - angle_coeff @angle:25-48-48 harmonic 10.0 90.0 - angle_coeff @angle:48-48-48 harmonic 63.0 120.0 - angle_coeff @angle:2-48-48 harmonic 70.0 120.0 - angle_coeff @angle:5-48-48 harmonic 70.0 120.0 - angle_coeff @angle:10-48-48 harmonic 70.0 120.0 - angle_coeff @angle:13-48-48 harmonic 70.0 120.0 - angle_coeff @angle:15-48-48 harmonic 70.0 120.0 - angle_coeff @angle:19-48-48 harmonic 70.0 120.0 - angle_coeff @angle:20-48-48 harmonic 70.0 120.0 - angle_coeff @angle:24-48-48 harmonic 70.0 120.0 - angle_coeff @angle:44-48-48 harmonic 70.0 120.0 - angle_coeff @angle:47-48-48 harmonic 70.0 124.0 - angle_coeff @angle:21-48-48 harmonic 75.0 120.0 - angle_coeff @angle:1-48-48 harmonic 80.0 120.0 - angle_coeff @angle:18-48-48 harmonic 80.0 120.0 - angle_coeff @angle:16-48-48 harmonic 85.0 119.4 - angle_coeff @angle:3-48-48 harmonic 85.0 120.0 - angle_coeff @angle:25-48-49 harmonic 2.0 90.0 - angle_coeff @angle:24-48-49 harmonic 35.0 119.1 - angle_coeff @angle:3-48-49 harmonic 35.0 120.0 - angle_coeff @angle:48-48-49 harmonic 35.0 120.0 - angle_coeff @angle:48-48-50 harmonic 70.0 124.0 - angle_coeff @angle:48-48-53 harmonic 70.0 120.0 - angle_coeff @angle:55-48-55 harmonic 70.0 120.0 - angle_coeff @angle:47-48-55 harmonic 70.0 120.1 - angle_coeff @angle:48-48-55 harmonic 70.0 120.1 - angle_coeff @angle:49-48-56 harmonic 35.0 116.0 - angle_coeff @angle:13-48-56 harmonic 70.0 116.0 - angle_coeff @angle:44-48-56 harmonic 70.0 116.0 - angle_coeff @angle:55-48-56 harmonic 70.0 119.3 - angle_coeff @angle:5-48-56 harmonic 70.0 120.0 - angle_coeff @angle:47-48-56 harmonic 70.0 121.5 - angle_coeff @angle:50-48-56 harmonic 70.0 121.5 - angle_coeff @angle:48-48-56 harmonic 70.0 124.0 - angle_coeff @angle:21-48-56 harmonic 75.0 120.0 - angle_coeff @angle:49-48-57 harmonic 35.0 120.0 - angle_coeff @angle:48-48-57 harmonic 70.0 108.7 - angle_coeff @angle:55-48-57 harmonic 70.0 116.0 - angle_coeff @angle:13-48-57 harmonic 70.0 120.0 - angle_coeff @angle:47-48-57 harmonic 70.0 121.5 - angle_coeff @angle:56-48-57 harmonic 70.0 123.3 - angle_coeff @angle:49-48-60 harmonic 35.0 120.0 - angle_coeff @angle:48-48-60 harmonic 63.0 120.0 - angle_coeff @angle:57-48-60 harmonic 70.0 108.7 - angle_coeff @angle:56-48-60 harmonic 70.0 117.3 - angle_coeff @angle:55-48-60 harmonic 70.0 123.5 - angle_coeff @angle:2-48-60 harmonic 70.0 128.6 - angle_coeff @angle:13-48-60 harmonic 70.0 128.6 - angle_coeff @angle:49-48-61 harmonic 35.0 119.1 - angle_coeff @angle:48-48-61 harmonic 70.0 108.7 - angle_coeff @angle:57-48-61 harmonic 70.0 123.3 - angle_coeff @angle:48-48-64 harmonic 85.0 119.4 - angle_coeff @angle:48-48-65 harmonic 75.0 120.0 - angle_coeff @angle:48-48-66 harmonic 75.0 120.0 - angle_coeff @angle:48-48-79 harmonic 85.0 119.4 - angle_coeff @angle:49-48-81 harmonic 35.0 120.0 - angle_coeff @angle:48-48-81 harmonic 85.0 120.0 - angle_coeff @angle:49-48-84 harmonic 35.0 126.9 - angle_coeff @angle:60-48-84 harmonic 63.0 106.4 - angle_coeff @angle:48-48-84 harmonic 70.0 107.4 - angle_coeff @angle:49-48-86 harmonic 35.0 120.0 - angle_coeff @angle:48-48-86 harmonic 63.0 120.0 - angle_coeff @angle:56-48-86 harmonic 70.0 124.0 - angle_coeff @angle:49-48-88 harmonic 35.0 128.2 - angle_coeff @angle:101-48-101 harmonic 70.0 111.8 - angle_coeff @angle:56-48-101 harmonic 70.0 124.1 - angle_coeff @angle:48-48-102 harmonic 85.0 120.0 - angle_coeff @angle:48-48-109 harmonic 70.0 124.0 - angle_coeff @angle:25-50-46 harmonic 10.0 90.0 - angle_coeff @angle:19-50-46 harmonic 35.0 120.0 - angle_coeff @angle:25-50-47 harmonic 2.0 90.0 - angle_coeff @angle:46-50-47 harmonic 35.0 120.0 - angle_coeff @angle:3-50-47 harmonic 70.0 118.7 - angle_coeff @angle:13-50-47 harmonic 70.0 124.0 - angle_coeff @angle:46-50-48 harmonic 35.0 123.3 - angle_coeff @angle:47-50-48 harmonic 85.0 117.0 - angle_coeff @angle:25-50-50 harmonic 2.0 90.0 - angle_coeff @angle:46-50-50 harmonic 35.0 120.0 - angle_coeff @angle:13-50-50 harmonic 70.0 124.0 - angle_coeff @angle:47-50-50 harmonic 70.0 124.0 - angle_coeff @angle:50-50-84 harmonic 35.0 106.0 - angle_coeff @angle:46-50-84 harmonic 35.0 122.0 - angle_coeff @angle:46-50-109 harmonic 35.0 120.0 - angle_coeff @angle:13-50-109 harmonic 70.0 124.0 - angle_coeff @angle:47-50-109 harmonic 70.0 124.0 - angle_coeff @angle:6-51-6 harmonic 40.0 109.5 - angle_coeff @angle:5-51-13 harmonic 50.0 109.5 - angle_coeff @angle:13-51-20 harmonic 50.0 109.5 - angle_coeff @angle:2-51-20 harmonic 80.0 109.5 - angle_coeff @angle:6-51-20 harmonic 80.0 109.5 - angle_coeff @angle:5-51-20 harmonic 92.6 111.55 - angle_coeff @angle:20-51-20 harmonic 92.6 111.55 - angle_coeff @angle:46-51-46 harmonic 33.0 109.5 - angle_coeff @angle:5-51-46 harmonic 35.0 109.5 - angle_coeff @angle:20-51-46 harmonic 35.0 109.5 - angle_coeff @angle:13-51-46 harmonic 37.5 110.7 - angle_coeff @angle:46-51-105 harmonic 35.0 109.5 - angle_coeff @angle:13-51-105 harmonic 50.0 109.5 - angle_coeff @angle:20-51-105 harmonic 50.0 109.5 - angle_coeff @angle:13-53-13 harmonic 50.0 113.0 - angle_coeff @angle:13-53-25 harmonic 10.0 100.0 - angle_coeff @angle:45-53-45 harmonic 43.6 109.5 - angle_coeff @angle:25-53-48 harmonic 10.0 100.0 - angle_coeff @angle:13-53-48 harmonic 55.0 114.0 - angle_coeff @angle:2-53-54 harmonic 35.0 109.5 - angle_coeff @angle:6-53-54 harmonic 35.0 109.5 - angle_coeff @angle:13-53-54 harmonic 35.0 109.5 - angle_coeff @angle:48-53-54 harmonic 35.0 109.5 - angle_coeff @angle:54-53-54 harmonic 35.0 109.5 - angle_coeff @angle:25-53-82 harmonic 10.0 100.0 - angle_coeff @angle:13-55-13 harmonic 50.0 118.0 - angle_coeff @angle:45-55-45 harmonic 35.0 113.0 - angle_coeff @angle:13-55-45 harmonic 35.0 118.4 - angle_coeff @angle:45-55-48 harmonic 35.0 120.0 - angle_coeff @angle:2-55-48 harmonic 50.0 123.2 - angle_coeff @angle:6-55-48 harmonic 50.0 123.2 - angle_coeff @angle:13-55-48 harmonic 50.0 123.2 - angle_coeff @angle:2-55-54 harmonic 35.0 118.4 - angle_coeff @angle:13-55-54 harmonic 35.0 118.4 - angle_coeff @angle:48-55-54 harmonic 35.0 120.0 - angle_coeff @angle:54-55-54 harmonic 35.0 120.0 - angle_coeff @angle:45-55-59 harmonic 35.0 120.0 - angle_coeff @angle:3-56-13 harmonic 70.0 120.5 - angle_coeff @angle:13-56-18 harmonic 70.0 120.0 - angle_coeff @angle:25-56-48 harmonic 5.0 120.0 - angle_coeff @angle:45-56-48 harmonic 35.0 113.0 - angle_coeff @angle:13-56-48 harmonic 50.0 118.0 - angle_coeff @angle:48-56-48 harmonic 70.0 117.0 - angle_coeff @angle:3-56-48 harmonic 70.0 120.5 - angle_coeff @angle:13-56-56 harmonic 70.0 117.0 - angle_coeff @angle:48-56-56 harmonic 70.0 117.0 - angle_coeff @angle:25-56-59 harmonic 5.0 119.8 - angle_coeff @angle:48-56-59 harmonic 70.0 118.6 - angle_coeff @angle:59-56-59 harmonic 70.0 118.6 - angle_coeff @angle:59-56-60 harmonic 70.0 111.0 - angle_coeff @angle:48-56-60 harmonic 70.0 112.2 - angle_coeff @angle:59-56-82 harmonic 70.0 111.0 - angle_coeff @angle:48-56-86 harmonic 70.0 117.0 - angle_coeff @angle:13-56-103 harmonic 70.0 114.0 - angle_coeff @angle:3-57-3 harmonic 70.0 126.4 - angle_coeff @angle:3-57-45 harmonic 35.0 116.8 - angle_coeff @angle:45-57-47 harmonic 35.0 119.2 - angle_coeff @angle:3-57-47 harmonic 70.0 121.6 - angle_coeff @angle:45-57-48 harmonic 35.0 118.0 - angle_coeff @angle:3-57-48 harmonic 70.0 125.2 - angle_coeff @angle:48-57-48 harmonic 70.0 125.2 - angle_coeff @angle:45-57-60 harmonic 30.0 125.8 - angle_coeff @angle:13-57-60 harmonic 70.0 125.8 - angle_coeff @angle:60-57-61 harmonic 56.0 113.1 - angle_coeff @angle:45-57-61 harmonic 56.0 118.4 - angle_coeff @angle:13-57-61 harmonic 70.0 118.4 - angle_coeff @angle:48-57-61 harmonic 70.0 118.4 - angle_coeff @angle:45-57-62 harmonic 30.0 128.8 - angle_coeff @angle:60-57-62 harmonic 70.0 105.4 - angle_coeff @angle:48-57-62 harmonic 70.0 109.8 - angle_coeff @angle:13-57-62 harmonic 70.0 128.8 - angle_coeff @angle:45-57-81 harmonic 35.0 123.1 - angle_coeff @angle:45-57-82 harmonic 35.0 120.0 - angle_coeff @angle:61-57-82 harmonic 56.0 113.1 - angle_coeff @angle:60-57-82 harmonic 70.0 109.8 - angle_coeff @angle:45-57-84 harmonic 35.0 120.0 - angle_coeff @angle:61-57-84 harmonic 56.0 113.1 - angle_coeff @angle:60-57-84 harmonic 70.0 109.8 - angle_coeff @angle:82-57-84 harmonic 70.0 109.8 - angle_coeff @angle:84-57-84 harmonic 70.0 109.8 - angle_coeff @angle:81-57-84 harmonic 70.0 111.6 - angle_coeff @angle:45-57-85 harmonic 35.0 120.0 - angle_coeff @angle:82-57-85 harmonic 70.0 109.8 - angle_coeff @angle:24-59-55 harmonic 70.0 116.0 - angle_coeff @angle:49-59-56 harmonic 35.0 115.45 - angle_coeff @angle:13-59-56 harmonic 70.0 115.5 - angle_coeff @angle:55-59-56 harmonic 70.0 119.3 - angle_coeff @angle:24-59-56 harmonic 70.0 123.3 - angle_coeff @angle:56-59-56 harmonic 70.0 129.1 - angle_coeff @angle:56-59-63 harmonic 35.0 115.45 - angle_coeff @angle:13-60-48 harmonic 70.0 120.0 - angle_coeff @angle:48-60-48 harmonic 85.0 134.9 - angle_coeff @angle:56-60-57 harmonic 70.0 126.2 - angle_coeff @angle:57-60-60 harmonic 70.0 106.2 - angle_coeff @angle:20-60-60 harmonic 70.0 110.6 - angle_coeff @angle:16-60-60 harmonic 70.0 111.0 - angle_coeff @angle:13-60-60 harmonic 70.0 120.0 - angle_coeff @angle:24-60-60 harmonic 70.0 127.7 - angle_coeff @angle:56-60-60 harmonic 70.0 127.7 - angle_coeff @angle:48-60-60 harmonic 85.0 117.3 - angle_coeff @angle:3-60-60 harmonic 85.0 119.2 - angle_coeff @angle:60-60-61 harmonic 70.0 111.0 - angle_coeff @angle:24-60-61 harmonic 70.0 126.2 - angle_coeff @angle:3-60-61 harmonic 70.0 130.0 - angle_coeff @angle:48-60-61 harmonic 70.0 132.4 - angle_coeff @angle:12-60-80 harmonic 85.0 134.9 - angle_coeff @angle:48-60-80 harmonic 85.0 134.9 - angle_coeff @angle:80-60-81 harmonic 85.0 108.8 - angle_coeff @angle:12-60-81 harmonic 85.0 116.2 - angle_coeff @angle:48-60-81 harmonic 85.0 116.2 - angle_coeff @angle:3-60-84 harmonic 70.0 130.0 - angle_coeff @angle:60-60-87 harmonic 70.0 107.3 - angle_coeff @angle:57-60-87 harmonic 70.0 107.7 - angle_coeff @angle:81-60-87 harmonic 85.0 108.8 - angle_coeff @angle:12-60-87 harmonic 85.0 134.9 - angle_coeff @angle:48-60-87 harmonic 85.0 134.9 - angle_coeff @angle:60-60-105 harmonic 70.0 106.2 - angle_coeff @angle:56-60-105 harmonic 70.0 126.2 - angle_coeff @angle:48-61-48 harmonic 70.0 125.2 - angle_coeff @angle:25-61-57 harmonic 10.0 125.0 - angle_coeff @angle:25-61-61 harmonic 10.0 125.0 - angle_coeff @angle:60-61-62 harmonic 70.0 103.8 - angle_coeff @angle:25-61-82 harmonic 10.0 125.0 - angle_coeff @angle:61-61-82 harmonic 70.0 109.0 - angle_coeff @angle:60-61-82 harmonic 70.0 110.0 - angle_coeff @angle:82-61-83 harmonic 70.0 110.0 - angle_coeff @angle:57-61-84 harmonic 70.0 104.1 - angle_coeff @angle:82-61-84 harmonic 70.0 110.0 - angle_coeff @angle:57-61-88 harmonic 70.0 104.1 - angle_coeff @angle:20-61-88 harmonic 70.0 105.3 - angle_coeff @angle:49-62-57 harmonic 35.0 120.0 - angle_coeff @angle:49-62-61 harmonic 35.0 120.0 - angle_coeff @angle:57-62-61 harmonic 70.0 113.9 - angle_coeff @angle:57-62-63 harmonic 35.0 123.05 - angle_coeff @angle:61-62-63 harmonic 35.0 123.05 - angle_coeff @angle:49-62-105 harmonic 35.0 120.0 - angle_coeff @angle:63-62-105 harmonic 35.0 123.05 - angle_coeff @angle:61-62-105 harmonic 70.0 113.9 - angle_coeff @angle:5-64-5 harmonic 45.0 102.6 - angle_coeff @angle:4-64-5 harmonic 100.0 108.23 - angle_coeff @angle:4-64-13 harmonic 45.0 109.5 - angle_coeff @angle:5-64-20 harmonic 45.0 102.6 - angle_coeff @angle:20-64-20 harmonic 45.0 102.6 - angle_coeff @angle:13-64-20 harmonic 45.0 109.5 - angle_coeff @angle:4-64-20 harmonic 100.0 108.23 - angle_coeff @angle:4-64-48 harmonic 45.0 109.5 - angle_coeff @angle:5-64-48 harmonic 45.0 109.5 - angle_coeff @angle:20-64-48 harmonic 45.0 109.5 - angle_coeff @angle:5-64-52 harmonic 45.0 108.23 - angle_coeff @angle:13-64-52 harmonic 45.0 109.5 - angle_coeff @angle:20-64-52 harmonic 100.0 108.23 - angle_coeff @angle:52-64-52 harmonic 140.0 119.9 - angle_coeff @angle:25-65-25 harmonic 33.0 109.47 - angle_coeff @angle:25-66-25 harmonic 33.0 109.47 - angle_coeff @angle:78-77-78 harmonic 150.0 180.0 - angle_coeff @angle:6-79-11 harmonic 62.0 98.9 - angle_coeff @angle:13-79-13 harmonic 62.0 102.0 - angle_coeff @angle:5-79-13 harmonic 75.0 96.4 - angle_coeff @angle:5-79-23 harmonic 74.0 108.7 - angle_coeff @angle:13-79-23 harmonic 74.0 108.9 - angle_coeff @angle:23-79-23 harmonic 104.0 119.0 - angle_coeff @angle:13-79-24 harmonic 100.0 103.0 - angle_coeff @angle:23-79-24 harmonic 120.0 107.0 - angle_coeff @angle:13-79-44 harmonic 62.0 102.0 - angle_coeff @angle:23-79-44 harmonic 74.0 108.9 - angle_coeff @angle:13-79-48 harmonic 62.0 102.0 - angle_coeff @angle:23-79-48 harmonic 74.0 107.2 - angle_coeff @angle:5-79-48 harmonic 75.0 96.4 - angle_coeff @angle:24-79-48 harmonic 100.0 103.0 - angle_coeff @angle:13-79-82 harmonic 62.0 102.0 - angle_coeff @angle:46-80-60 harmonic 35.0 126.8 - angle_coeff @angle:2-80-60 harmonic 70.0 128.6 - angle_coeff @angle:13-80-60 harmonic 70.0 128.6 - angle_coeff @angle:46-80-84 harmonic 35.0 126.8 - angle_coeff @angle:2-80-84 harmonic 70.0 125.0 - angle_coeff @angle:13-80-84 harmonic 70.0 125.0 - angle_coeff @angle:60-80-84 harmonic 85.0 106.4 - angle_coeff @angle:12-81-57 harmonic 70.0 132.8 - angle_coeff @angle:48-81-57 harmonic 70.0 132.8 - angle_coeff @angle:57-81-60 harmonic 70.0 104.4 - angle_coeff @angle:12-81-60 harmonic 85.0 122.7 - angle_coeff @angle:48-81-60 harmonic 85.0 122.7 - angle_coeff @angle:13-82-16 harmonic 70.0 125.0 - angle_coeff @angle:16-82-24 harmonic 70.0 125.0 - angle_coeff @angle:16-82-44 harmonic 70.0 120.2 - angle_coeff @angle:20-82-49 harmonic 35.0 117.0 - angle_coeff @angle:16-82-49 harmonic 35.0 125.0 - angle_coeff @angle:49-82-57 harmonic 35.0 120.0 - angle_coeff @angle:57-82-57 harmonic 70.0 120.0 - angle_coeff @angle:13-82-57 harmonic 70.0 125.0 - angle_coeff @angle:48-82-57 harmonic 70.0 125.0 - angle_coeff @angle:56-82-57 harmonic 70.0 126.2 - angle_coeff @angle:49-82-61 harmonic 35.0 120.0 - angle_coeff @angle:16-82-61 harmonic 70.0 115.0 - angle_coeff @angle:20-82-61 harmonic 70.0 115.0 - angle_coeff @angle:57-82-61 harmonic 70.0 120.0 - angle_coeff @angle:13-82-61 harmonic 70.0 125.0 - angle_coeff @angle:44-82-61 harmonic 70.0 126.1 - angle_coeff @angle:24-82-61 harmonic 70.0 126.2 - angle_coeff @angle:57-82-79 harmonic 70.0 120.0 - angle_coeff @angle:61-82-79 harmonic 70.0 120.0 - angle_coeff @angle:20-82-86 harmonic 70.0 122.0 - angle_coeff @angle:61-82-86 harmonic 70.0 130.0 - angle_coeff @angle:57-82-87 harmonic 70.0 106.2 - angle_coeff @angle:56-82-87 harmonic 70.0 127.7 - angle_coeff @angle:49-83-61 harmonic 35.0 120.0 - angle_coeff @angle:48-83-61 harmonic 70.0 111.0 - angle_coeff @angle:13-83-61 harmonic 70.0 124.5 - angle_coeff @angle:49-83-84 harmonic 35.0 128.2 - angle_coeff @angle:61-83-84 harmonic 70.0 111.0 - angle_coeff @angle:13-83-84 harmonic 70.0 130.7 - angle_coeff @angle:13-84-16 harmonic 70.0 125.0 - angle_coeff @angle:13-84-20 harmonic 70.0 121.6 - angle_coeff @angle:16-84-24 harmonic 70.0 125.0 - angle_coeff @angle:20-84-49 harmonic 35.0 113.4 - angle_coeff @angle:16-84-49 harmonic 35.0 125.0 - angle_coeff @angle:48-84-49 harmonic 35.0 130.7 - angle_coeff @angle:49-84-50 harmonic 35.0 130.7 - angle_coeff @angle:20-84-50 harmonic 70.0 110.0 - angle_coeff @angle:49-84-57 harmonic 35.0 121.6 - angle_coeff @angle:13-84-57 harmonic 70.0 121.6 - angle_coeff @angle:48-84-57 harmonic 70.0 121.6 - angle_coeff @angle:3-84-57 harmonic 85.0 120.0 - angle_coeff @angle:57-84-58 harmonic 35.0 120.0 - angle_coeff @angle:13-84-61 harmonic 70.0 118.9 - angle_coeff @angle:49-84-80 harmonic 35.0 120.0 - angle_coeff @angle:57-84-80 harmonic 70.0 108.7 - angle_coeff @angle:49-84-83 harmonic 35.0 130.7 - angle_coeff @angle:57-84-83 harmonic 70.0 106.3 - angle_coeff @angle:20-84-83 harmonic 70.0 108.0 - angle_coeff @angle:16-84-83 harmonic 70.0 111.0 - angle_coeff @angle:13-84-83 harmonic 70.0 130.7 - angle_coeff @angle:13-84-84 harmonic 70.0 120.0 - angle_coeff @angle:57-84-84 harmonic 70.0 120.0 - angle_coeff @angle:61-84-84 harmonic 70.0 120.0 - angle_coeff @angle:20-84-86 harmonic 70.0 121.6 - angle_coeff @angle:57-84-86 harmonic 70.0 121.6 - angle_coeff @angle:49-84-87 harmonic 35.0 132.1 - angle_coeff @angle:57-84-87 harmonic 70.0 107.7 - angle_coeff @angle:20-84-87 harmonic 70.0 110.6 - angle_coeff @angle:16-84-87 harmonic 70.0 111.0 - angle_coeff @angle:61-84-87 harmonic 70.0 111.9 - angle_coeff @angle:13-84-87 harmonic 70.0 132.1 - angle_coeff @angle:48-84-87 harmonic 70.0 132.1 - angle_coeff @angle:86-84-87 harmonic 70.0 132.1 - angle_coeff @angle:3-84-87 harmonic 85.0 120.0 - angle_coeff @angle:49-85-57 harmonic 35.0 120.0 - angle_coeff @angle:13-85-57 harmonic 70.0 121.6 - angle_coeff @angle:49-85-85 harmonic 35.0 130.7 - angle_coeff @angle:57-85-85 harmonic 70.0 106.3 - angle_coeff @angle:13-85-85 harmonic 70.0 130.7 - angle_coeff @angle:48-86-48 harmonic 63.0 120.0 - angle_coeff @angle:48-86-56 harmonic 70.0 124.0 - angle_coeff @angle:48-86-82 harmonic 63.0 120.0 - angle_coeff @angle:48-86-83 harmonic 63.0 120.0 - angle_coeff @angle:48-86-84 harmonic 63.0 120.0 - angle_coeff @angle:48-86-86 harmonic 63.0 120.0 - angle_coeff @angle:56-86-86 harmonic 70.0 124.0 - angle_coeff @angle:48-86-87 harmonic 63.0 120.0 - angle_coeff @angle:48-86-88 harmonic 63.0 120.0 - angle_coeff @angle:49-87-60 harmonic 35.0 120.0 - angle_coeff @angle:46-87-60 harmonic 35.0 126.8 - angle_coeff @angle:13-87-60 harmonic 70.0 128.6 - angle_coeff @angle:49-87-84 harmonic 35.0 125.7 - angle_coeff @angle:46-87-84 harmonic 35.0 126.8 - angle_coeff @angle:84-87-84 harmonic 70.0 103.8 - angle_coeff @angle:82-87-84 harmonic 70.0 110.4 - angle_coeff @angle:2-87-84 harmonic 70.0 125.0 - angle_coeff @angle:13-87-84 harmonic 70.0 125.0 - angle_coeff @angle:3-87-84 harmonic 70.0 130.0 - angle_coeff @angle:60-87-84 harmonic 85.0 106.4 - angle_coeff @angle:84-87-86 harmonic 70.0 125.7 - angle_coeff @angle:49-87-87 harmonic 35.0 127.5 - angle_coeff @angle:60-87-87 harmonic 70.0 107.3 - angle_coeff @angle:84-87-87 harmonic 70.0 107.3 - angle_coeff @angle:86-87-87 harmonic 70.0 127.5 - angle_coeff @angle:84-87-88 harmonic 70.0 103.8 - angle_coeff @angle:48-88-49 harmonic 35.0 128.6 - angle_coeff @angle:49-88-61 harmonic 35.0 118.9 - angle_coeff @angle:13-88-61 harmonic 70.0 118.9 - angle_coeff @angle:19-88-61 harmonic 70.0 118.9 - angle_coeff @angle:61-88-87 harmonic 70.0 111.9 - angle_coeff @angle:4-89-90 harmonic 80.0 134.0 - angle_coeff @angle:90-89-91 harmonic 70.0 91.0 - angle_coeff @angle:4-89-91 harmonic 80.0 134.0 - angle_coeff @angle:13-90-89 harmonic 55.0 127.0 - angle_coeff @angle:89-90-91 harmonic 50.0 94.0 - angle_coeff @angle:13-90-91 harmonic 50.0 126.0 - angle_coeff @angle:24-91-46 harmonic 35.0 108.0 - angle_coeff @angle:13-91-46 harmonic 35.0 114.3 - angle_coeff @angle:44-91-46 harmonic 35.0 114.3 - angle_coeff @angle:46-91-46 harmonic 35.0 114.3 - angle_coeff @angle:16-91-46 harmonic 37.5 108.0 - angle_coeff @angle:46-91-47 harmonic 35.0 109.5 - angle_coeff @angle:46-91-89 harmonic 37.5 110.0 - angle_coeff @angle:24-91-89 harmonic 70.0 117.0 - angle_coeff @angle:46-91-90 harmonic 35.0 111.0 - angle_coeff @angle:16-91-90 harmonic 55.0 109.0 - angle_coeff @angle:91-91-91 harmonic 30.0 79.2 - angle_coeff @angle:13-91-91 harmonic 37.5 117.2 - angle_coeff @angle:44-91-91 harmonic 37.5 117.2 - angle_coeff @angle:46-91-91 harmonic 37.5 117.2 - angle_coeff @angle:24-91-91 harmonic 37.5 126.0 - angle_coeff @angle:16-91-91 harmonic 55.0 128.0 - angle_coeff @angle:89-91-91 harmonic 63.0 85.0 - angle_coeff @angle:47-91-91 harmonic 63.0 114.0 - angle_coeff @angle:90-91-91 harmonic 80.0 89.0 - angle_coeff @angle:13-95-13 harmonic 172.8 120.0 - angle_coeff @angle:13-95-46 harmonic 144.0 120.0 - angle_coeff @angle:13-101-45 harmonic 35.0 109.5 - angle_coeff @angle:45-101-45 harmonic 43.6 106.4 - angle_coeff @angle:45-101-48 harmonic 50.0 112.5 - angle_coeff @angle:13-101-48 harmonic 50.0 120.5 - angle_coeff @angle:13-102-103 harmonic 80.0 117.5 - angle_coeff @angle:48-102-103 harmonic 80.0 117.5 - angle_coeff @angle:103-102-103 harmonic 80.0 125.0 - angle_coeff @angle:25-103-25 harmonic 10.0 109.5 - angle_coeff @angle:25-103-102 harmonic 10.0 109.5 - angle_coeff @angle:13-104-13 harmonic 45.0 109.5 - angle_coeff @angle:3-105-10 harmonic 70.0 117.6 - angle_coeff @angle:3-105-13 harmonic 70.0 117.6 - angle_coeff @angle:3-105-45 harmonic 35.0 119.2 - angle_coeff @angle:45-105-47 harmonic 35.0 119.2 - angle_coeff @angle:13-105-47 harmonic 70.0 121.2 - angle_coeff @angle:3-105-47 harmonic 70.0 121.6 - angle_coeff @angle:3-105-51 harmonic 70.0 117.6 - angle_coeff @angle:47-105-51 harmonic 70.0 121.2 - angle_coeff @angle:45-105-60 harmonic 30.0 125.8 - angle_coeff @angle:6-105-60 harmonic 70.0 125.8 - angle_coeff @angle:10-105-60 harmonic 70.0 125.8 - angle_coeff @angle:13-105-60 harmonic 70.0 125.8 - angle_coeff @angle:51-105-60 harmonic 70.0 125.8 - angle_coeff @angle:45-105-62 harmonic 30.0 128.8 - angle_coeff @angle:60-105-62 harmonic 70.0 105.4 - angle_coeff @angle:6-105-62 harmonic 70.0 128.8 - angle_coeff @angle:10-105-62 harmonic 70.0 128.8 - angle_coeff @angle:13-105-62 harmonic 70.0 128.8 - angle_coeff @angle:51-105-62 harmonic 70.0 128.8 - angle_coeff @angle:4-106-24 harmonic 20.0 109.5 - angle_coeff @angle:24-106-24 harmonic 20.0 109.5 - angle_coeff @angle:13-107-13 harmonic 50.0 118.0 - angle_coeff @angle:3-107-13 harmonic 50.0 121.9 - angle_coeff @angle:1-108-13 harmonic 35.0 110.5 - angle_coeff @angle:13-108-13 harmonic 60.0 110.0 - angle_coeff @angle:13-108-20 harmonic 60.0 100.0 - angle_coeff @angle:20-108-20 harmonic 60.0 110.0 - angle_coeff @angle:13-108-21 harmonic 35.0 110.5 - angle_coeff @angle:45-108-45 harmonic 35.0 109.5 - angle_coeff @angle:13-108-45 harmonic 35.0 110.5 - angle_coeff @angle:46-108-46 harmonic 35.0 109.5 - angle_coeff @angle:13-108-46 harmonic 35.0 110.5 - angle_coeff @angle:13-108-65 harmonic 35.0 110.5 - angle_coeff @angle:13-108-66 harmonic 35.0 110.5 - angle_coeff @angle:13-108-108 harmonic 50.0 112.0 - angle_coeff @angle:46-109-48 harmonic 35.0 123.3 - angle_coeff @angle:46-109-50 harmonic 35.0 120.0 - angle_coeff @angle:13-109-50 harmonic 70.0 124.0 - angle_coeff @angle:46-109-109 harmonic 35.0 120.0 - angle_coeff @angle:13-109-109 harmonic 70.0 124.0 - angle_coeff @angle:50-109-109 harmonic 70.0 124.0 - angle_coeff @angle:48-109-109 harmonic 85.0 117.0 - angle_coeff @angle:4-110-47 harmonic 160.0 180.0 - angle_coeff @angle:47-110-47 harmonic 160.0 180.0 + angle_coeff @angle:025_001_025 33.0 109.47 + angle_coeff @angle:001_002_002 50.0 109.5 + angle_coeff @angle:002_002_002 63.0 112.4 + angle_coeff @angle:002_002_003 63.0 112.4 + angle_coeff @angle:002_002_005 80.0 109.5 + angle_coeff @angle:002_002_006 63.0 112.4 + angle_coeff @angle:006_002_006 63.0 112.4 + angle_coeff @angle:005_002_006 80.0 109.5 + angle_coeff @angle:002_002_010 63.0 112.4 + angle_coeff @angle:003_002_010 63.0 112.4 + angle_coeff @angle:006_002_010 63.0 112.4 + angle_coeff @angle:010_002_010 63.0 112.4 + angle_coeff @angle:005_002_010 80.0 109.5 + angle_coeff @angle:010_002_012 63.0 114.0 + angle_coeff @angle:006_002_013 63.0 112.4 + angle_coeff @angle:010_002_015 50.0 108.6 + angle_coeff @angle:002_002_016 50.0 114.7 + angle_coeff @angle:010_002_016 50.0 114.7 + angle_coeff @angle:002_002_020 80.0 109.5 + angle_coeff @angle:006_002_020 80.0 109.5 + angle_coeff @angle:010_002_020 80.0 109.5 + angle_coeff @angle:003_002_024 80.0 110.3 + angle_coeff @angle:002_002_024 80.0 111.2 + angle_coeff @angle:002_002_044 56.2 109.47 + angle_coeff @angle:006_002_044 56.2 109.47 + angle_coeff @angle:010_002_044 56.2 109.47 + angle_coeff @angle:013_002_044 56.2 109.47 + angle_coeff @angle:003_002_044 80.0 111.2 + angle_coeff @angle:002_002_048 63.0 112.4 + angle_coeff @angle:010_002_048 63.0 114.0 + angle_coeff @angle:002_002_051 63.0 112.4 + angle_coeff @angle:006_002_051 63.0 112.4 + angle_coeff @angle:002_002_053 80.0 111.2 + angle_coeff @angle:002_002_055 80.0 111.2 + angle_coeff @angle:010_002_080 63.0 115.6 + angle_coeff @angle:002_003_004 80.0 120.4 + angle_coeff @angle:001_003_004 80.0 121.0 + angle_coeff @angle:003_003_004 80.0 121.4 + angle_coeff @angle:004_003_004 80.0 126.0 + angle_coeff @angle:004_003_005 80.0 121.0 + angle_coeff @angle:004_003_006 80.0 120.4 + angle_coeff @angle:005_003_010 70.0 115.0 + angle_coeff @angle:004_003_010 80.0 120.4 + angle_coeff @angle:005_003_012 70.0 120.0 + angle_coeff @angle:012_003_012 85.0 120.0 + angle_coeff @angle:005_003_013 70.0 108.0 + angle_coeff @angle:013_003_013 70.0 116.0 + angle_coeff @angle:001_003_013 80.0 111.0 + angle_coeff @angle:003_003_013 80.0 117.2 + angle_coeff @angle:004_003_013 80.0 120.4 + angle_coeff @angle:010_003_020 81.0 111.4 + angle_coeff @angle:013_003_020 81.0 111.4 + angle_coeff @angle:004_003_020 83.0 123.4 + angle_coeff @angle:013_003_021 75.0 109.0 + angle_coeff @angle:004_003_021 75.0 119.0 + angle_coeff @angle:024_003_024 70.0 114.2 + angle_coeff @angle:002_003_024 70.0 116.6 + angle_coeff @angle:003_003_024 70.0 116.6 + angle_coeff @angle:006_003_024 70.0 116.6 + angle_coeff @angle:010_003_024 70.0 116.6 + angle_coeff @angle:013_003_024 70.0 116.6 + angle_coeff @angle:004_003_024 80.0 122.9 + angle_coeff @angle:020_003_024 81.0 111.4 + angle_coeff @angle:013_003_044 70.0 116.0 + angle_coeff @angle:004_003_044 80.0 120.4 + angle_coeff @angle:013_003_046 35.0 115.0 + angle_coeff @angle:046_003_046 35.0 115.0 + angle_coeff @angle:004_003_046 35.0 123.0 + angle_coeff @angle:024_003_046 40.0 114.0 + angle_coeff @angle:005_003_046 40.0 115.0 + angle_coeff @angle:020_003_046 40.0 115.0 + angle_coeff @angle:024_003_047 70.0 115.5 + angle_coeff @angle:004_003_047 80.0 125.3 + angle_coeff @angle:046_003_048 35.0 115.0 + angle_coeff @angle:024_003_048 70.0 115.5 + angle_coeff @angle:013_003_048 70.0 116.0 + angle_coeff @angle:005_003_048 70.0 120.0 + angle_coeff @angle:004_003_048 80.0 120.4 + angle_coeff @angle:020_003_048 81.0 111.4 + angle_coeff @angle:048_003_048 85.0 120.0 + angle_coeff @angle:013_003_050 70.0 116.0 + angle_coeff @angle:046_003_050 80.0 116.0 + angle_coeff @angle:004_003_050 80.0 124.0 + angle_coeff @angle:010_003_052 65.0 117.0 + angle_coeff @angle:002_003_052 70.0 117.0 + angle_coeff @angle:006_003_052 70.0 117.0 + angle_coeff @angle:013_003_052 70.0 117.0 + angle_coeff @angle:048_003_052 70.0 117.0 + angle_coeff @angle:004_003_052 80.0 126.0 + angle_coeff @angle:052_003_052 80.0 126.0 + angle_coeff @angle:046_003_056 35.0 122.0 + angle_coeff @angle:004_003_056 80.0 122.5 + angle_coeff @angle:047_003_057 70.0 114.1 + angle_coeff @angle:056_003_057 70.0 118.6 + angle_coeff @angle:057_003_057 70.0 118.6 + angle_coeff @angle:004_003_057 80.0 120.6 + angle_coeff @angle:024_003_060 70.0 111.3 + angle_coeff @angle:057_003_060 70.0 111.3 + angle_coeff @angle:004_003_060 80.0 128.8 + angle_coeff @angle:013_003_065 75.0 109.0 + angle_coeff @angle:004_003_065 75.0 119.0 + angle_coeff @angle:044_003_084 70.0 116.0 + angle_coeff @angle:004_003_084 80.0 120.4 + angle_coeff @angle:004_003_087 80.0 128.2 + angle_coeff @angle:057_003_105 70.0 115.4 + angle_coeff @angle:056_003_105 70.0 118.6 + angle_coeff @angle:004_003_105 80.0 120.9 + angle_coeff @angle:013_003_107 70.0 116.6 + angle_coeff @angle:004_003_107 80.0 122.9 + angle_coeff @angle:025_004_025 10.0 117.0 + angle_coeff @angle:003_004_025 35.0 113.0 + angle_coeff @angle:003_005_007 35.0 113.0 + angle_coeff @angle:002_005_007 55.0 108.5 + angle_coeff @angle:006_005_007 55.0 108.5 + angle_coeff @angle:007_005_010 55.0 108.5 + angle_coeff @angle:007_005_013 55.0 108.5 + angle_coeff @angle:007_005_024 49.0 105.4 + angle_coeff @angle:025_005_025 5.0 109.47 + angle_coeff @angle:007_005_025 10.0 109.47 + angle_coeff @angle:013_005_025 10.0 109.47 + angle_coeff @angle:007_005_047 35.0 109.0 + angle_coeff @angle:025_005_048 10.0 109.47 + angle_coeff @angle:007_005_048 35.0 113.0 + angle_coeff @angle:007_005_051 55.0 108.5 + angle_coeff @angle:007_005_064 55.0 108.5 + angle_coeff @angle:013_005_064 100.0 120.5 + angle_coeff @angle:007_005_079 74.0 110.0 + angle_coeff @angle:007_005_106 100.0 126.0 + angle_coeff @angle:005_007_025 10.0 109.47 + angle_coeff @angle:025_007_025 33.0 109.47 + angle_coeff @angle:002_010_002 63.0 112.4 + angle_coeff @angle:002_010_003 63.0 111.1 + angle_coeff @angle:002_010_005 80.0 109.5 + angle_coeff @angle:003_010_006 63.0 111.1 + angle_coeff @angle:006_010_006 63.0 111.5 + angle_coeff @angle:002_010_006 63.0 112.4 + angle_coeff @angle:005_010_006 80.0 109.5 + angle_coeff @angle:003_010_010 63.0 111.1 + angle_coeff @angle:002_010_010 63.0 111.5 + angle_coeff @angle:006_010_010 63.0 111.5 + angle_coeff @angle:010_010_010 63.0 111.5 + angle_coeff @angle:005_010_010 80.0 109.5 + angle_coeff @angle:002_010_020 80.0 109.5 + angle_coeff @angle:006_010_020 80.0 109.5 + angle_coeff @angle:010_010_020 80.0 109.5 + angle_coeff @angle:003_010_024 63.0 110.1 + angle_coeff @angle:006_010_024 80.0 109.5 + angle_coeff @angle:002_010_024 80.0 109.7 + angle_coeff @angle:010_010_024 80.0 109.7 + angle_coeff @angle:002_010_044 56.2 109.47 + angle_coeff @angle:006_010_044 56.2 109.47 + angle_coeff @angle:010_010_044 56.2 109.47 + angle_coeff @angle:013_010_044 56.2 109.47 + angle_coeff @angle:003_010_044 80.0 109.7 + angle_coeff @angle:002_010_048 63.0 112.4 + angle_coeff @angle:020_010_048 80.0 109.5 + angle_coeff @angle:002_010_105 80.0 109.5 + angle_coeff @angle:010_010_105 80.0 109.5 + angle_coeff @angle:020_010_105 80.0 109.5 + angle_coeff @angle:002_011_002 70.0 124.0 + angle_coeff @angle:002_011_006 70.0 124.0 + angle_coeff @angle:006_011_006 70.0 124.0 + angle_coeff @angle:002_011_009 70.0 118.0 + angle_coeff @angle:006_011_009 70.0 118.0 + angle_coeff @angle:009_011_010 70.0 118.0 + angle_coeff @angle:002_011_010 70.0 124.0 + angle_coeff @angle:006_011_010 70.0 124.0 + angle_coeff @angle:010_011_010 70.0 124.0 + angle_coeff @angle:002_011_011 70.0 118.0 + angle_coeff @angle:006_011_011 70.0 118.0 + angle_coeff @angle:009_011_011 70.0 118.0 + angle_coeff @angle:010_011_011 70.0 118.0 + angle_coeff @angle:011_011_011 70.0 118.0 + angle_coeff @angle:009_011_013 70.0 118.0 + angle_coeff @angle:011_011_013 70.0 118.0 + angle_coeff @angle:002_011_013 70.0 124.0 + angle_coeff @angle:006_011_013 70.0 124.0 + angle_coeff @angle:010_011_013 70.0 124.0 + angle_coeff @angle:013_011_013 70.0 124.0 + angle_coeff @angle:009_011_014 70.0 118.0 + angle_coeff @angle:011_011_014 70.0 118.0 + angle_coeff @angle:009_011_079 70.0 118.0 + angle_coeff @angle:002_012_012 70.0 120.0 + angle_coeff @angle:003_012_012 85.0 120.0 + angle_coeff @angle:012_012_012 85.0 120.0 + angle_coeff @angle:012_012_048 85.0 120.0 + angle_coeff @angle:012_012_060 85.0 120.0 + angle_coeff @angle:012_012_081 85.0 120.0 + angle_coeff @angle:001_013_001 77.0 109.1 + angle_coeff @angle:002_013_002 40.0 109.5 + angle_coeff @angle:001_013_003 50.0 109.5 + angle_coeff @angle:002_013_003 63.0 111.1 + angle_coeff @angle:003_013_003 63.0 111.1 + angle_coeff @angle:002_013_006 40.0 109.5 + angle_coeff @angle:006_013_006 40.0 109.5 + angle_coeff @angle:003_013_006 63.0 109.5 + angle_coeff @angle:001_013_013 50.0 109.5 + angle_coeff @angle:005_013_013 50.0 109.5 + angle_coeff @angle:013_013_013 58.35 112.7 + angle_coeff @angle:003_013_013 63.0 111.1 + angle_coeff @angle:013_013_015 50.0 108.6 + angle_coeff @angle:013_013_016 50.0 114.7 + angle_coeff @angle:013_013_019 58.35 112.7 + angle_coeff @angle:003_013_020 50.0 109.5 + angle_coeff @angle:013_013_020 50.0 109.5 + angle_coeff @angle:003_013_021 69.0 109.8 + angle_coeff @angle:013_013_021 69.0 109.8 + angle_coeff @angle:021_013_021 78.0 111.7 + angle_coeff @angle:013_013_022 50.0 108.6 + angle_coeff @angle:020_013_024 50.0 109.5 + angle_coeff @angle:003_013_024 63.0 110.1 + angle_coeff @angle:002_013_024 80.0 109.7 + angle_coeff @angle:013_013_024 80.0 109.7 + angle_coeff @angle:016_013_044 50.0 114.7 + angle_coeff @angle:002_013_044 56.2 109.47 + angle_coeff @angle:006_013_044 56.2 109.47 + angle_coeff @angle:010_013_044 56.2 109.47 + angle_coeff @angle:013_013_044 56.2 109.47 + angle_coeff @angle:003_013_044 80.0 111.2 + angle_coeff @angle:046_013_046 33.0 107.8 + angle_coeff @angle:018_013_046 35.0 108.5 + angle_coeff @angle:019_013_046 35.0 108.5 + angle_coeff @angle:002_013_046 35.0 109.5 + angle_coeff @angle:003_013_046 35.0 109.5 + angle_coeff @angle:005_013_046 35.0 109.5 + angle_coeff @angle:015_013_046 35.0 109.5 + angle_coeff @angle:016_013_046 35.0 109.5 + angle_coeff @angle:020_013_046 35.0 109.5 + angle_coeff @angle:022_013_046 35.0 109.5 + angle_coeff @angle:024_013_046 35.0 109.5 + angle_coeff @angle:044_013_046 35.0 109.5 + angle_coeff @angle:013_013_046 37.5 110.7 + angle_coeff @angle:001_013_046 40.0 107.0 + angle_coeff @angle:021_013_046 51.0 107.6 + angle_coeff @angle:046_013_047 35.0 109.5 + angle_coeff @angle:001_013_047 50.0 109.5 + angle_coeff @angle:013_013_047 63.0 111.1 + angle_coeff @angle:047_013_047 63.0 112.4 + angle_coeff @angle:046_013_048 35.0 109.5 + angle_coeff @angle:047_013_048 40.0 109.5 + angle_coeff @angle:048_013_048 40.0 109.5 + angle_coeff @angle:001_013_048 50.0 109.5 + angle_coeff @angle:005_013_048 50.0 109.5 + angle_coeff @angle:020_013_048 50.0 109.5 + angle_coeff @angle:016_013_048 50.0 114.7 + angle_coeff @angle:003_013_048 63.0 112.0 + angle_coeff @angle:002_013_048 63.0 114.0 + angle_coeff @angle:013_013_048 63.0 114.0 + angle_coeff @angle:044_013_048 80.0 111.2 + angle_coeff @angle:046_013_050 35.0 109.5 + angle_coeff @angle:046_013_051 37.5 110.7 + angle_coeff @angle:005_013_051 50.0 109.5 + angle_coeff @angle:013_013_051 58.35 112.7 + angle_coeff @angle:046_013_053 35.0 109.5 + angle_coeff @angle:003_013_053 80.0 111.2 + angle_coeff @angle:013_013_053 80.0 111.2 + angle_coeff @angle:046_013_055 35.0 109.5 + angle_coeff @angle:013_013_055 80.0 111.2 + angle_coeff @angle:046_013_056 35.0 109.5 + angle_coeff @angle:003_013_056 63.0 110.1 + angle_coeff @angle:013_013_056 65.0 109.0 + angle_coeff @angle:046_013_057 35.0 109.5 + angle_coeff @angle:048_013_057 80.0 111.2 + angle_coeff @angle:046_013_060 35.0 109.5 + angle_coeff @angle:013_013_060 63.0 114.0 + angle_coeff @angle:046_013_064 41.0 109.5 + angle_coeff @angle:013_013_064 43.0 109.5 + angle_coeff @angle:048_013_064 43.0 109.5 + angle_coeff @angle:046_013_065 51.0 107.6 + angle_coeff @angle:003_013_065 69.0 109.8 + angle_coeff @angle:013_013_065 69.0 110.0 + angle_coeff @angle:048_013_065 69.0 110.0 + angle_coeff @angle:065_013_065 78.0 111.7 + angle_coeff @angle:046_013_066 75.0 111.0 + angle_coeff @angle:013_013_066 75.0 112.0 + angle_coeff @angle:046_013_079 35.0 109.5 + angle_coeff @angle:013_013_079 50.0 108.6 + angle_coeff @angle:001_013_079 50.0 109.5 + angle_coeff @angle:046_013_080 35.0 109.5 + angle_coeff @angle:013_013_080 63.0 115.6 + angle_coeff @angle:046_013_083 35.0 109.5 + angle_coeff @angle:013_013_083 63.0 114.0 + angle_coeff @angle:046_013_084 35.0 109.5 + angle_coeff @angle:016_013_084 50.0 114.7 + angle_coeff @angle:013_013_084 63.0 114.0 + angle_coeff @angle:046_013_085 35.0 109.5 + angle_coeff @angle:013_013_085 63.0 114.0 + angle_coeff @angle:046_013_087 35.0 109.5 + angle_coeff @angle:013_013_087 63.0 115.6 + angle_coeff @angle:046_013_090 35.0 109.5 + angle_coeff @angle:013_013_090 80.0 110.0 + angle_coeff @angle:003_013_090 80.0 113.0 + angle_coeff @angle:046_013_091 37.5 110.7 + angle_coeff @angle:046_013_095 35.0 105.0 + angle_coeff @angle:013_013_095 63.0 105.0 + angle_coeff @angle:046_013_101 35.0 109.5 + angle_coeff @angle:013_013_101 80.0 111.2 + angle_coeff @angle:046_013_102 35.0 105.0 + angle_coeff @angle:013_013_102 63.0 111.1 + angle_coeff @angle:046_013_104 41.0 109.5 + angle_coeff @angle:013_013_104 43.0 109.5 + angle_coeff @angle:046_013_105 35.0 109.5 + angle_coeff @angle:013_013_105 50.0 109.5 + angle_coeff @angle:020_013_105 50.0 109.5 + angle_coeff @angle:046_013_107 35.0 109.5 + angle_coeff @angle:013_013_107 80.0 109.7 + angle_coeff @angle:046_013_108 35.0 109.5 + angle_coeff @angle:013_013_108 60.0 112.0 + angle_coeff @angle:002_014_002 70.0 124.0 + angle_coeff @angle:002_014_006 70.0 124.0 + angle_coeff @angle:006_014_006 70.0 124.0 + angle_coeff @angle:002_014_009 70.0 118.0 + angle_coeff @angle:006_014_009 70.0 118.0 + angle_coeff @angle:009_014_010 70.0 118.0 + angle_coeff @angle:002_014_010 70.0 124.0 + angle_coeff @angle:006_014_010 70.0 124.0 + angle_coeff @angle:010_014_010 70.0 124.0 + angle_coeff @angle:002_014_011 70.0 118.0 + angle_coeff @angle:006_014_011 70.0 118.0 + angle_coeff @angle:009_014_011 70.0 118.0 + angle_coeff @angle:010_014_011 70.0 118.0 + angle_coeff @angle:011_014_011 70.0 118.0 + angle_coeff @angle:009_014_013 70.0 118.0 + angle_coeff @angle:011_014_013 70.0 118.0 + angle_coeff @angle:002_014_013 70.0 124.0 + angle_coeff @angle:006_014_013 70.0 124.0 + angle_coeff @angle:010_014_013 70.0 124.0 + angle_coeff @angle:013_014_013 70.0 124.0 + angle_coeff @angle:002_014_014 70.0 118.0 + angle_coeff @angle:006_014_014 70.0 118.0 + angle_coeff @angle:009_014_014 70.0 118.0 + angle_coeff @angle:010_014_014 70.0 118.0 + angle_coeff @angle:011_014_014 70.0 118.0 + angle_coeff @angle:013_014_014 70.0 118.0 + angle_coeff @angle:014_014_014 70.0 118.0 + angle_coeff @angle:017_015_017 35.0 92.07 + angle_coeff @angle:002_015_017 44.0 96.0 + angle_coeff @angle:006_015_017 44.0 96.0 + angle_coeff @angle:013_015_017 44.0 96.0 + angle_coeff @angle:025_015_025 5.0 109.47 + angle_coeff @angle:013_015_025 10.0 109.47 + angle_coeff @angle:033_015_033 10.0 160.0 + angle_coeff @angle:002_015_033 150.0 96.7 + angle_coeff @angle:006_015_033 150.0 96.7 + angle_coeff @angle:013_015_033 150.0 96.7 + angle_coeff @angle:017_015_033 150.0 96.7 + angle_coeff @angle:017_015_048 50.0 96.0 + angle_coeff @angle:002_016_006 62.0 98.9 + angle_coeff @angle:013_016_013 62.0 98.9 + angle_coeff @angle:002_016_016 68.0 103.7 + angle_coeff @angle:006_016_016 68.0 103.7 + angle_coeff @angle:013_016_016 68.0 103.7 + angle_coeff @angle:013_016_019 65.0 100.0 + angle_coeff @angle:025_016_025 5.0 109.47 + angle_coeff @angle:013_016_025 10.0 109.47 + angle_coeff @angle:033_016_033 10.0 160.0 + angle_coeff @angle:002_016_033 150.0 96.7 + angle_coeff @angle:006_016_033 150.0 96.7 + angle_coeff @angle:013_016_033 150.0 96.7 + angle_coeff @angle:016_016_033 150.0 96.7 + angle_coeff @angle:013_016_048 62.0 104.2 + angle_coeff @angle:047_016_048 62.0 104.2 + angle_coeff @angle:024_016_060 74.0 92.4 + angle_coeff @angle:025_016_061 10.0 130.0 + angle_coeff @angle:025_016_082 10.0 130.0 + angle_coeff @angle:060_016_082 74.0 97.0 + angle_coeff @angle:025_016_084 10.0 130.0 + angle_coeff @angle:082_016_084 74.0 90.0 + angle_coeff @angle:060_016_084 74.0 97.0 + angle_coeff @angle:084_016_084 74.0 97.0 + angle_coeff @angle:013_016_091 62.0 94.0 + angle_coeff @angle:015_017_025 10.0 109.47 + angle_coeff @angle:025_017_025 33.0 109.47 + angle_coeff @angle:013_018_019 150.0 180.0 + angle_coeff @angle:019_018_048 170.0 180.0 + angle_coeff @angle:018_018_056 100.0 180.0 + angle_coeff @angle:013_019_018 150.0 180.0 + angle_coeff @angle:016_019_019 140.0 180.0 + angle_coeff @angle:013_019_019 150.0 180.0 + angle_coeff @angle:018_019_025 10.0 90.0 + angle_coeff @angle:019_019_046 112.0 180.0 + angle_coeff @angle:018_019_047 150.0 180.0 + angle_coeff @angle:019_019_047 160.0 180.0 + angle_coeff @angle:018_019_048 150.0 180.0 + angle_coeff @angle:019_019_048 160.0 180.0 + angle_coeff @angle:019_019_050 160.0 180.0 + angle_coeff @angle:018_019_055 150.0 180.0 + angle_coeff @angle:018_019_088 150.0 180.0 + angle_coeff @angle:002_020_002 100.0 111.8 + angle_coeff @angle:002_020_003 83.0 116.9 + angle_coeff @angle:003_020_006 83.0 116.9 + angle_coeff @angle:002_020_006 100.0 111.8 + angle_coeff @angle:002_020_007 55.0 108.5 + angle_coeff @angle:007_020_010 55.0 108.5 + angle_coeff @angle:003_020_010 83.0 116.9 + angle_coeff @angle:010_020_010 100.0 111.8 + angle_coeff @angle:013_020_013 60.0 109.5 + angle_coeff @angle:003_020_013 83.0 116.9 + angle_coeff @angle:025_020_025 5.0 109.47 + angle_coeff @angle:013_020_025 10.0 109.47 + angle_coeff @angle:013_020_047 75.0 111.0 + angle_coeff @angle:025_020_048 10.0 109.47 + angle_coeff @angle:013_020_048 75.0 111.0 + angle_coeff @angle:047_020_048 75.0 111.0 + angle_coeff @angle:048_020_048 75.0 111.0 + angle_coeff @angle:003_020_048 83.0 116.9 + angle_coeff @angle:002_020_048 100.0 111.8 + angle_coeff @angle:013_020_051 60.0 109.5 + angle_coeff @angle:002_020_051 100.0 113.0 + angle_coeff @angle:006_020_051 100.0 113.0 + angle_coeff @angle:010_020_051 100.0 113.0 + angle_coeff @angle:024_020_060 70.0 104.5 + angle_coeff @angle:025_020_061 10.0 125.0 + angle_coeff @angle:002_020_064 100.0 120.5 + angle_coeff @angle:006_020_064 100.0 120.5 + angle_coeff @angle:010_020_064 100.0 120.5 + angle_coeff @angle:013_020_064 100.0 120.5 + angle_coeff @angle:048_020_064 100.0 120.5 + angle_coeff @angle:064_020_064 100.0 120.5 + angle_coeff @angle:025_020_082 10.0 125.0 + angle_coeff @angle:060_020_082 70.0 106.5 + angle_coeff @angle:082_020_082 70.0 107.0 + angle_coeff @angle:025_020_084 10.0 125.0 + angle_coeff @angle:082_020_084 70.0 104.0 + angle_coeff @angle:060_020_084 70.0 106.5 + angle_coeff @angle:084_020_084 70.0 106.5 + angle_coeff @angle:061_020_084 70.0 108.9 + angle_coeff @angle:108_020_108 20.0 145.0 + angle_coeff @angle:013_020_108 40.0 130.0 + angle_coeff @angle:025_021_025 33.0 109.47 + angle_coeff @angle:013_022_013 62.0 96.0 + angle_coeff @angle:013_022_023 74.0 107.0 + angle_coeff @angle:023_022_025 10.0 90.0 + angle_coeff @angle:002_024_003 50.0 121.9 + angle_coeff @angle:003_024_003 70.0 126.4 + angle_coeff @angle:003_024_005 46.0 115.7 + angle_coeff @angle:002_024_006 50.0 121.9 + angle_coeff @angle:003_024_006 50.0 121.9 + angle_coeff @angle:002_024_010 50.0 118.0 + angle_coeff @angle:003_024_010 50.0 121.9 + angle_coeff @angle:013_024_013 50.0 118.0 + angle_coeff @angle:003_024_013 50.0 121.9 + angle_coeff @angle:003_024_016 70.0 112.0 + angle_coeff @angle:003_024_020 70.0 108.6 + angle_coeff @angle:003_024_025 10.0 109.5 + angle_coeff @angle:025_024_045 10.0 100.0 + angle_coeff @angle:005_024_045 35.0 110.2 + angle_coeff @angle:003_024_045 35.0 119.8 + angle_coeff @angle:045_024_045 35.0 120.0 + angle_coeff @angle:002_024_045 38.0 118.4 + angle_coeff @angle:006_024_045 38.0 118.4 + angle_coeff @angle:010_024_045 38.0 118.4 + angle_coeff @angle:013_024_045 38.0 118.4 + angle_coeff @angle:045_024_048 35.0 119.8 + angle_coeff @angle:013_024_048 50.0 118.0 + angle_coeff @angle:003_024_048 50.0 121.9 + angle_coeff @angle:048_024_048 70.0 118.0 + angle_coeff @angle:054_024_054 35.0 120.0 + angle_coeff @angle:045_024_059 35.0 118.0 + angle_coeff @angle:003_024_059 70.0 125.2 + angle_coeff @angle:013_024_079 50.0 120.0 + angle_coeff @angle:045_024_079 100.0 111.0 + angle_coeff @angle:045_024_084 35.0 119.8 + angle_coeff @angle:048_024_084 70.0 118.0 + angle_coeff @angle:016_024_086 70.0 117.0 + angle_coeff @angle:045_024_087 35.0 119.8 + angle_coeff @angle:048_024_087 70.0 118.0 + angle_coeff @angle:045_024_088 35.0 119.8 + angle_coeff @angle:048_024_088 70.0 118.0 + angle_coeff @angle:045_024_091 40.0 113.0 + angle_coeff @angle:003_024_091 55.0 128.0 + angle_coeff @angle:048_024_103 70.0 121.0 + angle_coeff @angle:003_024_106 20.0 126.0 + angle_coeff @angle:025_025_025 33.0 109.47 + angle_coeff @angle:032_031_032 75.0 104.52 + angle_coeff @angle:032_031_033 50.0 52.26 + angle_coeff @angle:035_034_035 34.05 104.52 + angle_coeff @angle:037_036_037 75.0 109.5 + angle_coeff @angle:037_036_038 50.0 54.75 + angle_coeff @angle:040_039_040 75.0 104.52 + angle_coeff @angle:041_039_041 50.0 109.47 + angle_coeff @angle:040_039_041 50.0 110.6948 + angle_coeff @angle:043_042_043 75.0 109.47 + angle_coeff @angle:002_044_002 51.8 107.2 + angle_coeff @angle:002_044_006 51.8 107.2 + angle_coeff @angle:006_044_006 51.8 107.2 + angle_coeff @angle:002_044_010 51.8 107.2 + angle_coeff @angle:006_044_010 51.8 107.2 + angle_coeff @angle:010_044_010 51.8 107.2 + angle_coeff @angle:002_044_013 51.8 107.2 + angle_coeff @angle:006_044_013 51.8 107.2 + angle_coeff @angle:010_044_013 51.8 107.2 + angle_coeff @angle:013_044_013 51.8 107.2 + angle_coeff @angle:003_044_013 63.0 111.1 + angle_coeff @angle:025_044_045 10.0 100.0 + angle_coeff @angle:013_044_045 35.0 109.5 + angle_coeff @angle:002_044_045 43.2 108.1 + angle_coeff @angle:006_044_045 43.2 108.1 + angle_coeff @angle:010_044_045 43.2 108.1 + angle_coeff @angle:045_044_045 43.6 106.4 + angle_coeff @angle:025_044_048 10.0 109.5 + angle_coeff @angle:045_044_048 35.0 116.0 + angle_coeff @angle:013_044_048 50.0 116.0 + angle_coeff @angle:048_044_048 50.0 116.0 + angle_coeff @angle:003_044_048 63.0 112.0 + angle_coeff @angle:045_044_079 35.0 115.0 + angle_coeff @angle:013_044_079 50.0 108.6 + angle_coeff @angle:048_044_079 50.0 108.6 + angle_coeff @angle:048_044_091 50.0 109.5 + angle_coeff @angle:025_045_025 33.0 109.47 + angle_coeff @angle:025_045_044 10.0 109.5 + angle_coeff @angle:025_046_025 33.0 109.47 + angle_coeff @angle:013_046_025 37.5 109.47 + angle_coeff @angle:001_047_001 80.0 108.0 + angle_coeff @angle:001_047_003 80.0 121.5 + angle_coeff @angle:003_047_006 85.0 119.7 + angle_coeff @angle:003_047_013 70.0 119.7 + angle_coeff @angle:013_047_013 70.0 130.0 + angle_coeff @angle:025_047_046 10.0 90.0 + angle_coeff @angle:020_047_046 35.0 114.5 + angle_coeff @angle:013_047_046 35.0 117.0 + angle_coeff @angle:046_047_046 35.0 117.0 + angle_coeff @angle:003_047_046 35.0 119.7 + angle_coeff @angle:019_047_046 35.0 120.0 + angle_coeff @angle:001_047_046 50.0 112.0 + angle_coeff @angle:021_047_046 60.0 114.0 + angle_coeff @angle:025_047_047 2.0 90.0 + angle_coeff @angle:046_047_047 35.0 120.0 + angle_coeff @angle:005_047_047 70.0 123.0 + angle_coeff @angle:020_047_047 70.0 123.0 + angle_coeff @angle:013_047_047 70.0 124.0 + angle_coeff @angle:019_047_047 70.0 124.0 + angle_coeff @angle:021_047_047 75.0 121.5 + angle_coeff @angle:001_047_047 80.0 121.5 + angle_coeff @angle:016_047_047 85.0 119.4 + angle_coeff @angle:003_047_047 85.0 120.7 + angle_coeff @angle:046_047_048 35.0 123.3 + angle_coeff @angle:047_047_048 85.0 117.0 + angle_coeff @angle:013_047_048 85.0 119.7 + angle_coeff @angle:025_047_050 2.0 90.0 + angle_coeff @angle:046_047_050 35.0 120.0 + angle_coeff @angle:005_047_050 70.0 123.0 + angle_coeff @angle:020_047_050 70.0 123.0 + angle_coeff @angle:013_047_050 70.0 124.0 + angle_coeff @angle:046_047_057 35.0 119.1 + angle_coeff @angle:013_047_057 70.0 120.0 + angle_coeff @angle:020_047_057 70.0 120.0 + angle_coeff @angle:047_047_057 70.0 121.2 + angle_coeff @angle:016_047_057 85.0 119.4 + angle_coeff @angle:057_047_058 35.0 119.1 + angle_coeff @angle:047_047_058 35.0 119.7 + angle_coeff @angle:046_047_065 60.0 114.0 + angle_coeff @angle:047_047_065 75.0 120.0 + angle_coeff @angle:046_047_091 35.0 135.0 + angle_coeff @angle:003_047_091 70.0 119.7 + angle_coeff @angle:047_047_091 70.0 124.0 + angle_coeff @angle:046_047_105 35.0 119.1 + angle_coeff @angle:058_047_105 35.0 119.1 + angle_coeff @angle:013_047_105 70.0 120.0 + angle_coeff @angle:020_047_105 70.0 120.0 + angle_coeff @angle:047_047_105 70.0 121.2 + angle_coeff @angle:016_047_105 85.0 119.4 + angle_coeff @angle:046_047_110 40.0 121.0 + angle_coeff @angle:013_047_110 80.0 122.0 + angle_coeff @angle:048_047_110 80.0 122.0 + angle_coeff @angle:001_047_110 80.0 125.0 + angle_coeff @angle:002_048_012 70.0 120.0 + angle_coeff @angle:012_048_012 85.0 120.0 + angle_coeff @angle:003_048_013 70.0 119.7 + angle_coeff @angle:025_048_048 10.0 90.0 + angle_coeff @angle:048_048_048 63.0 120.0 + angle_coeff @angle:002_048_048 70.0 120.0 + angle_coeff @angle:005_048_048 70.0 120.0 + angle_coeff @angle:010_048_048 70.0 120.0 + angle_coeff @angle:013_048_048 70.0 120.0 + angle_coeff @angle:015_048_048 70.0 120.0 + angle_coeff @angle:019_048_048 70.0 120.0 + angle_coeff @angle:020_048_048 70.0 120.0 + angle_coeff @angle:024_048_048 70.0 120.0 + angle_coeff @angle:044_048_048 70.0 120.0 + angle_coeff @angle:047_048_048 70.0 124.0 + angle_coeff @angle:021_048_048 75.0 120.0 + angle_coeff @angle:001_048_048 80.0 120.0 + angle_coeff @angle:018_048_048 80.0 120.0 + angle_coeff @angle:016_048_048 85.0 119.4 + angle_coeff @angle:003_048_048 85.0 120.0 + angle_coeff @angle:025_048_049 2.0 90.0 + angle_coeff @angle:024_048_049 35.0 119.1 + angle_coeff @angle:003_048_049 35.0 120.0 + angle_coeff @angle:048_048_049 35.0 120.0 + angle_coeff @angle:048_048_050 70.0 124.0 + angle_coeff @angle:048_048_053 70.0 120.0 + angle_coeff @angle:055_048_055 70.0 120.0 + angle_coeff @angle:047_048_055 70.0 120.1 + angle_coeff @angle:048_048_055 70.0 120.1 + angle_coeff @angle:049_048_056 35.0 116.0 + angle_coeff @angle:013_048_056 70.0 116.0 + angle_coeff @angle:044_048_056 70.0 116.0 + angle_coeff @angle:055_048_056 70.0 119.3 + angle_coeff @angle:005_048_056 70.0 120.0 + angle_coeff @angle:047_048_056 70.0 121.5 + angle_coeff @angle:050_048_056 70.0 121.5 + angle_coeff @angle:048_048_056 70.0 124.0 + angle_coeff @angle:021_048_056 75.0 120.0 + angle_coeff @angle:049_048_057 35.0 120.0 + angle_coeff @angle:048_048_057 70.0 108.7 + angle_coeff @angle:055_048_057 70.0 116.0 + angle_coeff @angle:013_048_057 70.0 120.0 + angle_coeff @angle:047_048_057 70.0 121.5 + angle_coeff @angle:056_048_057 70.0 123.3 + angle_coeff @angle:049_048_060 35.0 120.0 + angle_coeff @angle:048_048_060 63.0 120.0 + angle_coeff @angle:057_048_060 70.0 108.7 + angle_coeff @angle:056_048_060 70.0 117.3 + angle_coeff @angle:055_048_060 70.0 123.5 + angle_coeff @angle:002_048_060 70.0 128.6 + angle_coeff @angle:013_048_060 70.0 128.6 + angle_coeff @angle:049_048_061 35.0 119.1 + angle_coeff @angle:048_048_061 70.0 108.7 + angle_coeff @angle:057_048_061 70.0 123.3 + angle_coeff @angle:048_048_064 85.0 119.4 + angle_coeff @angle:048_048_065 75.0 120.0 + angle_coeff @angle:048_048_066 75.0 120.0 + angle_coeff @angle:048_048_079 85.0 119.4 + angle_coeff @angle:049_048_081 35.0 120.0 + angle_coeff @angle:048_048_081 85.0 120.0 + angle_coeff @angle:049_048_084 35.0 126.9 + angle_coeff @angle:060_048_084 63.0 106.4 + angle_coeff @angle:048_048_084 70.0 107.4 + angle_coeff @angle:049_048_086 35.0 120.0 + angle_coeff @angle:048_048_086 63.0 120.0 + angle_coeff @angle:056_048_086 70.0 124.0 + angle_coeff @angle:049_048_088 35.0 128.2 + angle_coeff @angle:101_048_101 70.0 111.8 + angle_coeff @angle:056_048_101 70.0 124.1 + angle_coeff @angle:048_048_102 85.0 120.0 + angle_coeff @angle:048_048_109 70.0 124.0 + angle_coeff @angle:025_050_046 10.0 90.0 + angle_coeff @angle:019_050_046 35.0 120.0 + angle_coeff @angle:025_050_047 2.0 90.0 + angle_coeff @angle:046_050_047 35.0 120.0 + angle_coeff @angle:003_050_047 70.0 118.7 + angle_coeff @angle:013_050_047 70.0 124.0 + angle_coeff @angle:046_050_048 35.0 123.3 + angle_coeff @angle:047_050_048 85.0 117.0 + angle_coeff @angle:025_050_050 2.0 90.0 + angle_coeff @angle:046_050_050 35.0 120.0 + angle_coeff @angle:013_050_050 70.0 124.0 + angle_coeff @angle:047_050_050 70.0 124.0 + angle_coeff @angle:050_050_084 35.0 106.0 + angle_coeff @angle:046_050_084 35.0 122.0 + angle_coeff @angle:046_050_109 35.0 120.0 + angle_coeff @angle:013_050_109 70.0 124.0 + angle_coeff @angle:047_050_109 70.0 124.0 + angle_coeff @angle:006_051_006 40.0 109.5 + angle_coeff @angle:005_051_013 50.0 109.5 + angle_coeff @angle:013_051_020 50.0 109.5 + angle_coeff @angle:002_051_020 80.0 109.5 + angle_coeff @angle:006_051_020 80.0 109.5 + angle_coeff @angle:005_051_020 92.6 111.55 + angle_coeff @angle:020_051_020 92.6 111.55 + angle_coeff @angle:046_051_046 33.0 109.5 + angle_coeff @angle:005_051_046 35.0 109.5 + angle_coeff @angle:020_051_046 35.0 109.5 + angle_coeff @angle:013_051_046 37.5 110.7 + angle_coeff @angle:046_051_105 35.0 109.5 + angle_coeff @angle:013_051_105 50.0 109.5 + angle_coeff @angle:020_051_105 50.0 109.5 + angle_coeff @angle:013_053_013 50.0 113.0 + angle_coeff @angle:013_053_025 10.0 100.0 + angle_coeff @angle:045_053_045 43.6 109.5 + angle_coeff @angle:025_053_048 10.0 100.0 + angle_coeff @angle:013_053_048 55.0 114.0 + angle_coeff @angle:002_053_054 35.0 109.5 + angle_coeff @angle:006_053_054 35.0 109.5 + angle_coeff @angle:013_053_054 35.0 109.5 + angle_coeff @angle:048_053_054 35.0 109.5 + angle_coeff @angle:054_053_054 35.0 109.5 + angle_coeff @angle:025_053_082 10.0 100.0 + angle_coeff @angle:013_055_013 50.0 118.0 + angle_coeff @angle:045_055_045 35.0 113.0 + angle_coeff @angle:013_055_045 35.0 118.4 + angle_coeff @angle:045_055_048 35.0 120.0 + angle_coeff @angle:002_055_048 50.0 123.2 + angle_coeff @angle:006_055_048 50.0 123.2 + angle_coeff @angle:013_055_048 50.0 123.2 + angle_coeff @angle:002_055_054 35.0 118.4 + angle_coeff @angle:013_055_054 35.0 118.4 + angle_coeff @angle:048_055_054 35.0 120.0 + angle_coeff @angle:054_055_054 35.0 120.0 + angle_coeff @angle:045_055_059 35.0 120.0 + angle_coeff @angle:003_056_013 70.0 120.5 + angle_coeff @angle:013_056_018 70.0 120.0 + angle_coeff @angle:025_056_048 5.0 120.0 + angle_coeff @angle:045_056_048 35.0 113.0 + angle_coeff @angle:013_056_048 50.0 118.0 + angle_coeff @angle:048_056_048 70.0 117.0 + angle_coeff @angle:003_056_048 70.0 120.5 + angle_coeff @angle:013_056_056 70.0 117.0 + angle_coeff @angle:048_056_056 70.0 117.0 + angle_coeff @angle:025_056_059 5.0 119.8 + angle_coeff @angle:048_056_059 70.0 118.6 + angle_coeff @angle:059_056_059 70.0 118.6 + angle_coeff @angle:059_056_060 70.0 111.0 + angle_coeff @angle:048_056_060 70.0 112.2 + angle_coeff @angle:059_056_082 70.0 111.0 + angle_coeff @angle:048_056_086 70.0 117.0 + angle_coeff @angle:013_056_103 70.0 114.0 + angle_coeff @angle:003_057_003 70.0 126.4 + angle_coeff @angle:003_057_045 35.0 116.8 + angle_coeff @angle:045_057_047 35.0 119.2 + angle_coeff @angle:003_057_047 70.0 121.6 + angle_coeff @angle:045_057_048 35.0 118.0 + angle_coeff @angle:003_057_048 70.0 125.2 + angle_coeff @angle:048_057_048 70.0 125.2 + angle_coeff @angle:045_057_060 30.0 125.8 + angle_coeff @angle:013_057_060 70.0 125.8 + angle_coeff @angle:060_057_061 56.0 113.1 + angle_coeff @angle:045_057_061 56.0 118.4 + angle_coeff @angle:013_057_061 70.0 118.4 + angle_coeff @angle:048_057_061 70.0 118.4 + angle_coeff @angle:045_057_062 30.0 128.8 + angle_coeff @angle:060_057_062 70.0 105.4 + angle_coeff @angle:048_057_062 70.0 109.8 + angle_coeff @angle:013_057_062 70.0 128.8 + angle_coeff @angle:045_057_081 35.0 123.1 + angle_coeff @angle:045_057_082 35.0 120.0 + angle_coeff @angle:061_057_082 56.0 113.1 + angle_coeff @angle:060_057_082 70.0 109.8 + angle_coeff @angle:045_057_084 35.0 120.0 + angle_coeff @angle:061_057_084 56.0 113.1 + angle_coeff @angle:060_057_084 70.0 109.8 + angle_coeff @angle:082_057_084 70.0 109.8 + angle_coeff @angle:084_057_084 70.0 109.8 + angle_coeff @angle:081_057_084 70.0 111.6 + angle_coeff @angle:045_057_085 35.0 120.0 + angle_coeff @angle:082_057_085 70.0 109.8 + angle_coeff @angle:024_059_055 70.0 116.0 + angle_coeff @angle:049_059_056 35.0 115.45 + angle_coeff @angle:013_059_056 70.0 115.5 + angle_coeff @angle:055_059_056 70.0 119.3 + angle_coeff @angle:024_059_056 70.0 123.3 + angle_coeff @angle:056_059_056 70.0 129.1 + angle_coeff @angle:056_059_063 35.0 115.45 + angle_coeff @angle:013_060_048 70.0 120.0 + angle_coeff @angle:048_060_048 85.0 134.9 + angle_coeff @angle:056_060_057 70.0 126.2 + angle_coeff @angle:057_060_060 70.0 106.2 + angle_coeff @angle:020_060_060 70.0 110.6 + angle_coeff @angle:016_060_060 70.0 111.0 + angle_coeff @angle:013_060_060 70.0 120.0 + angle_coeff @angle:024_060_060 70.0 127.7 + angle_coeff @angle:056_060_060 70.0 127.7 + angle_coeff @angle:048_060_060 85.0 117.3 + angle_coeff @angle:003_060_060 85.0 119.2 + angle_coeff @angle:060_060_061 70.0 111.0 + angle_coeff @angle:024_060_061 70.0 126.2 + angle_coeff @angle:003_060_061 70.0 130.0 + angle_coeff @angle:048_060_061 70.0 132.4 + angle_coeff @angle:012_060_080 85.0 134.9 + angle_coeff @angle:048_060_080 85.0 134.9 + angle_coeff @angle:080_060_081 85.0 108.8 + angle_coeff @angle:012_060_081 85.0 116.2 + angle_coeff @angle:048_060_081 85.0 116.2 + angle_coeff @angle:003_060_084 70.0 130.0 + angle_coeff @angle:060_060_087 70.0 107.3 + angle_coeff @angle:057_060_087 70.0 107.7 + angle_coeff @angle:081_060_087 85.0 108.8 + angle_coeff @angle:012_060_087 85.0 134.9 + angle_coeff @angle:048_060_087 85.0 134.9 + angle_coeff @angle:060_060_105 70.0 106.2 + angle_coeff @angle:056_060_105 70.0 126.2 + angle_coeff @angle:048_061_048 70.0 125.2 + angle_coeff @angle:025_061_057 10.0 125.0 + angle_coeff @angle:025_061_061 10.0 125.0 + angle_coeff @angle:060_061_062 70.0 103.8 + angle_coeff @angle:025_061_082 10.0 125.0 + angle_coeff @angle:061_061_082 70.0 109.0 + angle_coeff @angle:060_061_082 70.0 110.0 + angle_coeff @angle:082_061_083 70.0 110.0 + angle_coeff @angle:057_061_084 70.0 104.1 + angle_coeff @angle:082_061_084 70.0 110.0 + angle_coeff @angle:057_061_088 70.0 104.1 + angle_coeff @angle:020_061_088 70.0 105.3 + angle_coeff @angle:049_062_057 35.0 120.0 + angle_coeff @angle:049_062_061 35.0 120.0 + angle_coeff @angle:057_062_061 70.0 113.9 + angle_coeff @angle:057_062_063 35.0 123.05 + angle_coeff @angle:061_062_063 35.0 123.05 + angle_coeff @angle:049_062_105 35.0 120.0 + angle_coeff @angle:063_062_105 35.0 123.05 + angle_coeff @angle:061_062_105 70.0 113.9 + angle_coeff @angle:005_064_005 45.0 102.6 + angle_coeff @angle:004_064_005 100.0 108.23 + angle_coeff @angle:004_064_013 45.0 109.5 + angle_coeff @angle:005_064_020 45.0 102.6 + angle_coeff @angle:020_064_020 45.0 102.6 + angle_coeff @angle:013_064_020 45.0 109.5 + angle_coeff @angle:004_064_020 100.0 108.23 + angle_coeff @angle:004_064_048 45.0 109.5 + angle_coeff @angle:005_064_048 45.0 109.5 + angle_coeff @angle:020_064_048 45.0 109.5 + angle_coeff @angle:005_064_052 45.0 108.23 + angle_coeff @angle:013_064_052 45.0 109.5 + angle_coeff @angle:020_064_052 100.0 108.23 + angle_coeff @angle:052_064_052 140.0 119.9 + angle_coeff @angle:025_065_025 33.0 109.47 + angle_coeff @angle:025_066_025 33.0 109.47 + angle_coeff @angle:078_077_078 150.0 180.0 + angle_coeff @angle:006_079_011 62.0 98.9 + angle_coeff @angle:013_079_013 62.0 102.0 + angle_coeff @angle:005_079_013 75.0 96.4 + angle_coeff @angle:005_079_023 74.0 108.7 + angle_coeff @angle:013_079_023 74.0 108.9 + angle_coeff @angle:023_079_023 104.0 119.0 + angle_coeff @angle:013_079_024 100.0 103.0 + angle_coeff @angle:023_079_024 120.0 107.0 + angle_coeff @angle:013_079_044 62.0 102.0 + angle_coeff @angle:023_079_044 74.0 108.9 + angle_coeff @angle:013_079_048 62.0 102.0 + angle_coeff @angle:023_079_048 74.0 107.2 + angle_coeff @angle:005_079_048 75.0 96.4 + angle_coeff @angle:024_079_048 100.0 103.0 + angle_coeff @angle:013_079_082 62.0 102.0 + angle_coeff @angle:046_080_060 35.0 126.8 + angle_coeff @angle:002_080_060 70.0 128.6 + angle_coeff @angle:013_080_060 70.0 128.6 + angle_coeff @angle:046_080_084 35.0 126.8 + angle_coeff @angle:002_080_084 70.0 125.0 + angle_coeff @angle:013_080_084 70.0 125.0 + angle_coeff @angle:060_080_084 85.0 106.4 + angle_coeff @angle:012_081_057 70.0 132.8 + angle_coeff @angle:048_081_057 70.0 132.8 + angle_coeff @angle:057_081_060 70.0 104.4 + angle_coeff @angle:012_081_060 85.0 122.7 + angle_coeff @angle:048_081_060 85.0 122.7 + angle_coeff @angle:013_082_016 70.0 125.0 + angle_coeff @angle:016_082_024 70.0 125.0 + angle_coeff @angle:016_082_044 70.0 120.2 + angle_coeff @angle:020_082_049 35.0 117.0 + angle_coeff @angle:016_082_049 35.0 125.0 + angle_coeff @angle:049_082_057 35.0 120.0 + angle_coeff @angle:057_082_057 70.0 120.0 + angle_coeff @angle:013_082_057 70.0 125.0 + angle_coeff @angle:048_082_057 70.0 125.0 + angle_coeff @angle:056_082_057 70.0 126.2 + angle_coeff @angle:049_082_061 35.0 120.0 + angle_coeff @angle:016_082_061 70.0 115.0 + angle_coeff @angle:020_082_061 70.0 115.0 + angle_coeff @angle:057_082_061 70.0 120.0 + angle_coeff @angle:013_082_061 70.0 125.0 + angle_coeff @angle:044_082_061 70.0 126.1 + angle_coeff @angle:024_082_061 70.0 126.2 + angle_coeff @angle:057_082_079 70.0 120.0 + angle_coeff @angle:061_082_079 70.0 120.0 + angle_coeff @angle:020_082_086 70.0 122.0 + angle_coeff @angle:061_082_086 70.0 130.0 + angle_coeff @angle:057_082_087 70.0 106.2 + angle_coeff @angle:056_082_087 70.0 127.7 + angle_coeff @angle:049_083_061 35.0 120.0 + angle_coeff @angle:048_083_061 70.0 111.0 + angle_coeff @angle:013_083_061 70.0 124.5 + angle_coeff @angle:049_083_084 35.0 128.2 + angle_coeff @angle:061_083_084 70.0 111.0 + angle_coeff @angle:013_083_084 70.0 130.7 + angle_coeff @angle:013_084_016 70.0 125.0 + angle_coeff @angle:013_084_020 70.0 121.6 + angle_coeff @angle:016_084_024 70.0 125.0 + angle_coeff @angle:020_084_049 35.0 113.4 + angle_coeff @angle:016_084_049 35.0 125.0 + angle_coeff @angle:048_084_049 35.0 130.7 + angle_coeff @angle:049_084_050 35.0 130.7 + angle_coeff @angle:020_084_050 70.0 110.0 + angle_coeff @angle:049_084_057 35.0 121.6 + angle_coeff @angle:013_084_057 70.0 121.6 + angle_coeff @angle:048_084_057 70.0 121.6 + angle_coeff @angle:003_084_057 85.0 120.0 + angle_coeff @angle:057_084_058 35.0 120.0 + angle_coeff @angle:013_084_061 70.0 118.9 + angle_coeff @angle:049_084_080 35.0 120.0 + angle_coeff @angle:057_084_080 70.0 108.7 + angle_coeff @angle:049_084_083 35.0 130.7 + angle_coeff @angle:057_084_083 70.0 106.3 + angle_coeff @angle:020_084_083 70.0 108.0 + angle_coeff @angle:016_084_083 70.0 111.0 + angle_coeff @angle:013_084_083 70.0 130.7 + angle_coeff @angle:013_084_084 70.0 120.0 + angle_coeff @angle:057_084_084 70.0 120.0 + angle_coeff @angle:061_084_084 70.0 120.0 + angle_coeff @angle:020_084_086 70.0 121.6 + angle_coeff @angle:057_084_086 70.0 121.6 + angle_coeff @angle:049_084_087 35.0 132.1 + angle_coeff @angle:057_084_087 70.0 107.7 + angle_coeff @angle:020_084_087 70.0 110.6 + angle_coeff @angle:016_084_087 70.0 111.0 + angle_coeff @angle:061_084_087 70.0 111.9 + angle_coeff @angle:013_084_087 70.0 132.1 + angle_coeff @angle:048_084_087 70.0 132.1 + angle_coeff @angle:086_084_087 70.0 132.1 + angle_coeff @angle:003_084_087 85.0 120.0 + angle_coeff @angle:049_085_057 35.0 120.0 + angle_coeff @angle:013_085_057 70.0 121.6 + angle_coeff @angle:049_085_085 35.0 130.7 + angle_coeff @angle:057_085_085 70.0 106.3 + angle_coeff @angle:013_085_085 70.0 130.7 + angle_coeff @angle:048_086_048 63.0 120.0 + angle_coeff @angle:048_086_056 70.0 124.0 + angle_coeff @angle:048_086_082 63.0 120.0 + angle_coeff @angle:048_086_083 63.0 120.0 + angle_coeff @angle:048_086_084 63.0 120.0 + angle_coeff @angle:048_086_086 63.0 120.0 + angle_coeff @angle:056_086_086 70.0 124.0 + angle_coeff @angle:048_086_087 63.0 120.0 + angle_coeff @angle:048_086_088 63.0 120.0 + angle_coeff @angle:049_087_060 35.0 120.0 + angle_coeff @angle:046_087_060 35.0 126.8 + angle_coeff @angle:013_087_060 70.0 128.6 + angle_coeff @angle:049_087_084 35.0 125.7 + angle_coeff @angle:046_087_084 35.0 126.8 + angle_coeff @angle:084_087_084 70.0 103.8 + angle_coeff @angle:082_087_084 70.0 110.4 + angle_coeff @angle:002_087_084 70.0 125.0 + angle_coeff @angle:013_087_084 70.0 125.0 + angle_coeff @angle:003_087_084 70.0 130.0 + angle_coeff @angle:060_087_084 85.0 106.4 + angle_coeff @angle:084_087_086 70.0 125.7 + angle_coeff @angle:049_087_087 35.0 127.5 + angle_coeff @angle:060_087_087 70.0 107.3 + angle_coeff @angle:084_087_087 70.0 107.3 + angle_coeff @angle:086_087_087 70.0 127.5 + angle_coeff @angle:084_087_088 70.0 103.8 + angle_coeff @angle:048_088_049 35.0 128.6 + angle_coeff @angle:049_088_061 35.0 118.9 + angle_coeff @angle:013_088_061 70.0 118.9 + angle_coeff @angle:019_088_061 70.0 118.9 + angle_coeff @angle:061_088_087 70.0 111.9 + angle_coeff @angle:004_089_090 80.0 134.0 + angle_coeff @angle:090_089_091 70.0 91.0 + angle_coeff @angle:004_089_091 80.0 134.0 + angle_coeff @angle:013_090_089 55.0 127.0 + angle_coeff @angle:089_090_091 50.0 94.0 + angle_coeff @angle:013_090_091 50.0 126.0 + angle_coeff @angle:024_091_046 35.0 108.0 + angle_coeff @angle:013_091_046 35.0 114.3 + angle_coeff @angle:044_091_046 35.0 114.3 + angle_coeff @angle:046_091_046 35.0 114.3 + angle_coeff @angle:016_091_046 37.5 108.0 + angle_coeff @angle:046_091_047 35.0 109.5 + angle_coeff @angle:046_091_089 37.5 110.0 + angle_coeff @angle:024_091_089 70.0 117.0 + angle_coeff @angle:046_091_090 35.0 111.0 + angle_coeff @angle:016_091_090 55.0 109.0 + angle_coeff @angle:091_091_091 30.0 79.2 + angle_coeff @angle:013_091_091 37.5 117.2 + angle_coeff @angle:044_091_091 37.5 117.2 + angle_coeff @angle:046_091_091 37.5 117.2 + angle_coeff @angle:024_091_091 37.5 126.0 + angle_coeff @angle:016_091_091 55.0 128.0 + angle_coeff @angle:089_091_091 63.0 85.0 + angle_coeff @angle:047_091_091 63.0 114.0 + angle_coeff @angle:090_091_091 80.0 89.0 + angle_coeff @angle:013_095_013 172.8 120.0 + angle_coeff @angle:013_095_046 144.0 120.0 + angle_coeff @angle:013_101_045 35.0 109.5 + angle_coeff @angle:045_101_045 43.6 106.4 + angle_coeff @angle:045_101_048 50.0 112.5 + angle_coeff @angle:013_101_048 50.0 120.5 + angle_coeff @angle:013_102_103 80.0 117.5 + angle_coeff @angle:048_102_103 80.0 117.5 + angle_coeff @angle:103_102_103 80.0 125.0 + angle_coeff @angle:025_103_025 10.0 109.5 + angle_coeff @angle:025_103_102 10.0 109.5 + angle_coeff @angle:013_104_013 45.0 109.5 + angle_coeff @angle:003_105_010 70.0 117.6 + angle_coeff @angle:003_105_013 70.0 117.6 + angle_coeff @angle:003_105_045 35.0 119.2 + angle_coeff @angle:045_105_047 35.0 119.2 + angle_coeff @angle:013_105_047 70.0 121.2 + angle_coeff @angle:003_105_047 70.0 121.6 + angle_coeff @angle:003_105_051 70.0 117.6 + angle_coeff @angle:047_105_051 70.0 121.2 + angle_coeff @angle:045_105_060 30.0 125.8 + angle_coeff @angle:006_105_060 70.0 125.8 + angle_coeff @angle:010_105_060 70.0 125.8 + angle_coeff @angle:013_105_060 70.0 125.8 + angle_coeff @angle:051_105_060 70.0 125.8 + angle_coeff @angle:045_105_062 30.0 128.8 + angle_coeff @angle:060_105_062 70.0 105.4 + angle_coeff @angle:006_105_062 70.0 128.8 + angle_coeff @angle:010_105_062 70.0 128.8 + angle_coeff @angle:013_105_062 70.0 128.8 + angle_coeff @angle:051_105_062 70.0 128.8 + angle_coeff @angle:004_106_024 20.0 109.5 + angle_coeff @angle:024_106_024 20.0 109.5 + angle_coeff @angle:013_107_013 50.0 118.0 + angle_coeff @angle:003_107_013 50.0 121.9 + angle_coeff @angle:001_108_013 35.0 110.5 + angle_coeff @angle:013_108_013 60.0 110.0 + angle_coeff @angle:013_108_020 60.0 100.0 + angle_coeff @angle:020_108_020 60.0 110.0 + angle_coeff @angle:013_108_021 35.0 110.5 + angle_coeff @angle:045_108_045 35.0 109.5 + angle_coeff @angle:013_108_045 35.0 110.5 + angle_coeff @angle:046_108_046 35.0 109.5 + angle_coeff @angle:013_108_046 35.0 110.5 + angle_coeff @angle:013_108_065 35.0 110.5 + angle_coeff @angle:013_108_066 35.0 110.5 + angle_coeff @angle:013_108_108 50.0 112.0 + angle_coeff @angle:046_109_048 35.0 123.3 + angle_coeff @angle:046_109_050 35.0 120.0 + angle_coeff @angle:013_109_050 70.0 124.0 + angle_coeff @angle:046_109_109 35.0 120.0 + angle_coeff @angle:013_109_109 70.0 124.0 + angle_coeff @angle:050_109_109 70.0 124.0 + angle_coeff @angle:048_109_109 85.0 117.0 + angle_coeff @angle:004_110_047 160.0 180.0 + angle_coeff @angle:047_110_047 160.0 180.0 } #(end of angle_coeffs) # Rules for creating angle interactions according to atom type: @@ -5492,1023 +5505,1023 @@ OPLSAA { # (* = wildcard) write_once("Data Angles By Type") { - @angle:25-1-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a1_d*_i* @atom:*_b*_a25_d*_i* - @angle:1-2-2 @atom:*_b*_a1_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* - @angle:2-2-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* - @angle:2-2-3 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a3_d*_i* - @angle:2-2-5 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a5_d*_i* - @angle:2-2-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a6_d*_i* - @angle:6-2-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a6_d*_i* - @angle:5-2-6 @atom:*_b*_a5_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a6_d*_i* - @angle:2-2-10 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* - @angle:3-2-10 @atom:*_b*_a3_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* - @angle:6-2-10 @atom:*_b*_a6_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* - @angle:10-2-10 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* - @angle:5-2-10 @atom:*_b*_a5_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* - @angle:10-2-12 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a12_d*_i* - @angle:6-2-13 @atom:*_b*_a6_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* - @angle:10-2-15 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a15_d*_i* - @angle:2-2-16 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a16_d*_i* - @angle:10-2-16 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a16_d*_i* - @angle:2-2-20 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* - @angle:6-2-20 @atom:*_b*_a6_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* - @angle:10-2-20 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* - @angle:3-2-24 @atom:*_b*_a3_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a24_d*_i* - @angle:2-2-24 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a24_d*_i* - @angle:2-2-44 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* - @angle:6-2-44 @atom:*_b*_a6_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* - @angle:10-2-44 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* - @angle:13-2-44 @atom:*_b*_a13_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* - @angle:3-2-44 @atom:*_b*_a3_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* - @angle:2-2-48 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a48_d*_i* - @angle:10-2-48 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a48_d*_i* - @angle:2-2-51 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a51_d*_i* - @angle:6-2-51 @atom:*_b*_a6_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a51_d*_i* - @angle:2-2-53 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a53_d*_i* - @angle:2-2-55 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a55_d*_i* - @angle:10-2-80 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a80_d*_i* - @angle:2-3-4 @atom:*_b*_a2_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a4_d*_i* - @angle:1-3-4 @atom:*_b*_a1_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a4_d*_i* - @angle:3-3-4 @atom:*_b*_a3_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a4_d*_i* - @angle:4-3-4 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a4_d*_i* - @angle:4-3-5 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a5_d*_i* - @angle:4-3-6 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a6_d*_i* - @angle:5-3-10 @atom:*_b*_a5_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a10_d*_i* - @angle:4-3-10 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a10_d*_i* - @angle:5-3-12 @atom:*_b*_a5_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a12_d*_i* - @angle:12-3-12 @atom:*_b*_a12_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a12_d*_i* - @angle:5-3-13 @atom:*_b*_a5_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-3-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* - @angle:1-3-13 @atom:*_b*_a1_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* - @angle:3-3-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* - @angle:4-3-13 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* - @angle:10-3-20 @atom:*_b*_a10_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i* - @angle:13-3-20 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i* - @angle:4-3-20 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i* - @angle:13-3-21 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a21_d*_i* - @angle:4-3-21 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a21_d*_i* - @angle:24-3-24 @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* - @angle:2-3-24 @atom:*_b*_a2_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* - @angle:3-3-24 @atom:*_b*_a3_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* - @angle:6-3-24 @atom:*_b*_a6_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* - @angle:10-3-24 @atom:*_b*_a10_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* - @angle:13-3-24 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* - @angle:4-3-24 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* - @angle:20-3-24 @atom:*_b*_a20_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* - @angle:13-3-44 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a44_d*_i* - @angle:4-3-44 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a44_d*_i* - @angle:13-3-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a46_d*_i* - @angle:46-3-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a46_d*_i* - @angle:4-3-46 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a46_d*_i* - @angle:24-3-46 @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a46_d*_i* - @angle:5-3-46 @atom:*_b*_a5_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a46_d*_i* - @angle:20-3-46 @atom:*_b*_a20_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a46_d*_i* - @angle:24-3-47 @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i* - @angle:4-3-47 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i* - @angle:46-3-48 @atom:*_b*_a46_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i* - @angle:24-3-48 @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-3-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i* - @angle:5-3-48 @atom:*_b*_a5_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i* - @angle:4-3-48 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i* - @angle:20-3-48 @atom:*_b*_a20_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i* - @angle:48-3-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-3-50 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a50_d*_i* - @angle:46-3-50 @atom:*_b*_a46_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a50_d*_i* - @angle:4-3-50 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a50_d*_i* - @angle:10-3-52 @atom:*_b*_a10_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i* - @angle:2-3-52 @atom:*_b*_a2_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i* - @angle:6-3-52 @atom:*_b*_a6_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i* - @angle:13-3-52 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i* - @angle:48-3-52 @atom:*_b*_a48_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i* - @angle:4-3-52 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i* - @angle:52-3-52 @atom:*_b*_a52_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i* - @angle:46-3-56 @atom:*_b*_a46_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a56_d*_i* - @angle:4-3-56 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a56_d*_i* - @angle:47-3-57 @atom:*_b*_a47_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i* - @angle:56-3-57 @atom:*_b*_a56_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i* - @angle:57-3-57 @atom:*_b*_a57_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i* - @angle:4-3-57 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i* - @angle:24-3-60 @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a60_d*_i* - @angle:57-3-60 @atom:*_b*_a57_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a60_d*_i* - @angle:4-3-60 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a60_d*_i* - @angle:13-3-65 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a65_d*_i* - @angle:4-3-65 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a65_d*_i* - @angle:44-3-84 @atom:*_b*_a44_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a84_d*_i* - @angle:4-3-84 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a84_d*_i* - @angle:4-3-87 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a87_d*_i* - @angle:57-3-105 @atom:*_b*_a57_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i* - @angle:56-3-105 @atom:*_b*_a56_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i* - @angle:4-3-105 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i* - @angle:13-3-107 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a107_d*_i* - @angle:4-3-107 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a107_d*_i* - @angle:25-4-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a4_d*_i* @atom:*_b*_a25_d*_i* - @angle:3-4-25 @atom:*_b*_a3_d*_i* @atom:*_b*_a4_d*_i* @atom:*_b*_a25_d*_i* - @angle:3-5-7 @atom:*_b*_a3_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a7_d*_i* - @angle:2-5-7 @atom:*_b*_a2_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a7_d*_i* - @angle:6-5-7 @atom:*_b*_a6_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a7_d*_i* - @angle:7-5-10 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a10_d*_i* - @angle:7-5-13 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a13_d*_i* - @angle:7-5-24 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a24_d*_i* - @angle:25-5-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a25_d*_i* - @angle:7-5-25 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a25_d*_i* - @angle:13-5-25 @atom:*_b*_a13_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a25_d*_i* - @angle:7-5-47 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a47_d*_i* - @angle:25-5-48 @atom:*_b*_a25_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a48_d*_i* - @angle:7-5-48 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a48_d*_i* - @angle:7-5-51 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a51_d*_i* - @angle:7-5-64 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a64_d*_i* - @angle:13-5-64 @atom:*_b*_a13_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a64_d*_i* - @angle:7-5-79 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a79_d*_i* - @angle:7-5-106 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a106_d*_i* - @angle:5-7-25 @atom:*_b*_a5_d*_i* @atom:*_b*_a7_d*_i* @atom:*_b*_a25_d*_i* - @angle:25-7-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a7_d*_i* @atom:*_b*_a25_d*_i* - @angle:2-10-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* - @angle:2-10-3 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a3_d*_i* - @angle:2-10-5 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a5_d*_i* - @angle:3-10-6 @atom:*_b*_a3_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a6_d*_i* - @angle:6-10-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a6_d*_i* - @angle:2-10-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a6_d*_i* - @angle:5-10-6 @atom:*_b*_a5_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a6_d*_i* - @angle:3-10-10 @atom:*_b*_a3_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* - @angle:2-10-10 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* - @angle:6-10-10 @atom:*_b*_a6_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* - @angle:10-10-10 @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* - @angle:5-10-10 @atom:*_b*_a5_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* - @angle:2-10-20 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a20_d*_i* - @angle:6-10-20 @atom:*_b*_a6_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a20_d*_i* - @angle:10-10-20 @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a20_d*_i* - @angle:3-10-24 @atom:*_b*_a3_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a24_d*_i* - @angle:6-10-24 @atom:*_b*_a6_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a24_d*_i* - @angle:2-10-24 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a24_d*_i* - @angle:10-10-24 @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a24_d*_i* - @angle:2-10-44 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i* - @angle:6-10-44 @atom:*_b*_a6_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i* - @angle:10-10-44 @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i* - @angle:13-10-44 @atom:*_b*_a13_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i* - @angle:3-10-44 @atom:*_b*_a3_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i* - @angle:2-10-48 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a48_d*_i* - @angle:20-10-48 @atom:*_b*_a20_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a48_d*_i* - @angle:2-10-105 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a105_d*_i* - @angle:10-10-105 @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a105_d*_i* - @angle:20-10-105 @atom:*_b*_a20_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a105_d*_i* - @angle:2-11-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a2_d*_i* - @angle:2-11-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a6_d*_i* - @angle:6-11-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a6_d*_i* - @angle:2-11-9 @atom:*_b*_a2_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a9_d*_i* - @angle:6-11-9 @atom:*_b*_a6_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a9_d*_i* - @angle:9-11-10 @atom:*_b*_a9_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a10_d*_i* - @angle:2-11-10 @atom:*_b*_a2_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a10_d*_i* - @angle:6-11-10 @atom:*_b*_a6_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a10_d*_i* - @angle:10-11-10 @atom:*_b*_a10_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a10_d*_i* - @angle:2-11-11 @atom:*_b*_a2_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i* - @angle:6-11-11 @atom:*_b*_a6_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i* - @angle:9-11-11 @atom:*_b*_a9_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i* - @angle:10-11-11 @atom:*_b*_a10_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i* - @angle:11-11-11 @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i* - @angle:9-11-13 @atom:*_b*_a9_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a13_d*_i* - @angle:11-11-13 @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a13_d*_i* - @angle:2-11-13 @atom:*_b*_a2_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a13_d*_i* - @angle:6-11-13 @atom:*_b*_a6_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a13_d*_i* - @angle:10-11-13 @atom:*_b*_a10_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-11-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a13_d*_i* - @angle:9-11-14 @atom:*_b*_a9_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a14_d*_i* - @angle:11-11-14 @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a14_d*_i* - @angle:9-11-79 @atom:*_b*_a9_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a79_d*_i* - @angle:2-12-12 @atom:*_b*_a2_d*_i* @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i* - @angle:3-12-12 @atom:*_b*_a3_d*_i* @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i* - @angle:12-12-12 @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i* - @angle:12-12-48 @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i* @atom:*_b*_a48_d*_i* - @angle:12-12-60 @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i* @atom:*_b*_a60_d*_i* - @angle:12-12-81 @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i* @atom:*_b*_a81_d*_i* - @angle:1-13-1 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a1_d*_i* - @angle:2-13-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a2_d*_i* - @angle:1-13-3 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* - @angle:2-13-3 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* - @angle:3-13-3 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* - @angle:2-13-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a6_d*_i* - @angle:6-13-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a6_d*_i* - @angle:3-13-6 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a6_d*_i* - @angle:1-13-13 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* - @angle:5-13-13 @atom:*_b*_a5_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-13-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* - @angle:3-13-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-13-15 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a15_d*_i* - @angle:13-13-16 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* - @angle:13-13-19 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a19_d*_i* - @angle:3-13-20 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* - @angle:13-13-20 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* - @angle:3-13-21 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a21_d*_i* - @angle:13-13-21 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a21_d*_i* - @angle:21-13-21 @atom:*_b*_a21_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a21_d*_i* - @angle:13-13-22 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a22_d*_i* - @angle:20-13-24 @atom:*_b*_a20_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i* - @angle:3-13-24 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i* - @angle:2-13-24 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i* - @angle:13-13-24 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i* - @angle:16-13-44 @atom:*_b*_a16_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* - @angle:2-13-44 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* - @angle:6-13-44 @atom:*_b*_a6_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* - @angle:10-13-44 @atom:*_b*_a10_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* - @angle:13-13-44 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* - @angle:3-13-44 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* - @angle:46-13-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:18-13-46 @atom:*_b*_a18_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:19-13-46 @atom:*_b*_a19_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:2-13-46 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:3-13-46 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:5-13-46 @atom:*_b*_a5_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:15-13-46 @atom:*_b*_a15_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:16-13-46 @atom:*_b*_a16_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:20-13-46 @atom:*_b*_a20_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:22-13-46 @atom:*_b*_a22_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:24-13-46 @atom:*_b*_a24_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:44-13-46 @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:13-13-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:1-13-46 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:21-13-46 @atom:*_b*_a21_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* - @angle:46-13-47 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* - @angle:1-13-47 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* - @angle:13-13-47 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* - @angle:47-13-47 @atom:*_b*_a47_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* - @angle:46-13-48 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* - @angle:47-13-48 @atom:*_b*_a47_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* - @angle:48-13-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* - @angle:1-13-48 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* - @angle:5-13-48 @atom:*_b*_a5_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* - @angle:20-13-48 @atom:*_b*_a20_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* - @angle:16-13-48 @atom:*_b*_a16_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* - @angle:3-13-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* - @angle:2-13-48 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-13-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* - @angle:44-13-48 @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* - @angle:46-13-50 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a50_d*_i* - @angle:46-13-51 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a51_d*_i* - @angle:5-13-51 @atom:*_b*_a5_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a51_d*_i* - @angle:13-13-51 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a51_d*_i* - @angle:46-13-53 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i* - @angle:3-13-53 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i* - @angle:13-13-53 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i* - @angle:46-13-55 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a55_d*_i* - @angle:13-13-55 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a55_d*_i* - @angle:46-13-56 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i* - @angle:3-13-56 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i* - @angle:13-13-56 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i* - @angle:46-13-57 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a57_d*_i* - @angle:48-13-57 @atom:*_b*_a48_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a57_d*_i* - @angle:46-13-60 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a60_d*_i* - @angle:13-13-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a60_d*_i* - @angle:46-13-64 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a64_d*_i* - @angle:13-13-64 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a64_d*_i* - @angle:48-13-64 @atom:*_b*_a48_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a64_d*_i* - @angle:46-13-65 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a65_d*_i* - @angle:3-13-65 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a65_d*_i* - @angle:13-13-65 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a65_d*_i* - @angle:48-13-65 @atom:*_b*_a48_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a65_d*_i* - @angle:65-13-65 @atom:*_b*_a65_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a65_d*_i* - @angle:46-13-66 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a66_d*_i* - @angle:13-13-66 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a66_d*_i* - @angle:46-13-79 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* - @angle:13-13-79 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* - @angle:1-13-79 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* - @angle:46-13-80 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a80_d*_i* - @angle:13-13-80 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a80_d*_i* - @angle:46-13-83 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a83_d*_i* - @angle:13-13-83 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a83_d*_i* - @angle:46-13-84 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* - @angle:16-13-84 @atom:*_b*_a16_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* - @angle:13-13-84 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* - @angle:46-13-85 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a85_d*_i* - @angle:13-13-85 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a85_d*_i* - @angle:46-13-87 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a87_d*_i* - @angle:13-13-87 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a87_d*_i* - @angle:46-13-90 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a90_d*_i* - @angle:13-13-90 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a90_d*_i* - @angle:3-13-90 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a90_d*_i* - @angle:46-13-91 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a91_d*_i* - @angle:46-13-95 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a95_d*_i* - @angle:13-13-95 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a95_d*_i* - @angle:46-13-101 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a101_d*_i* - @angle:13-13-101 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a101_d*_i* - @angle:46-13-102 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a102_d*_i* - @angle:13-13-102 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a102_d*_i* - @angle:46-13-104 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a104_d*_i* - @angle:13-13-104 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a104_d*_i* - @angle:46-13-105 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a105_d*_i* - @angle:13-13-105 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a105_d*_i* - @angle:20-13-105 @atom:*_b*_a20_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a105_d*_i* - @angle:46-13-107 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a107_d*_i* - @angle:13-13-107 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a107_d*_i* - @angle:46-13-108 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* - @angle:13-13-108 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* - @angle:2-14-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a2_d*_i* - @angle:2-14-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a6_d*_i* - @angle:6-14-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a6_d*_i* - @angle:2-14-9 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a9_d*_i* - @angle:6-14-9 @atom:*_b*_a6_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a9_d*_i* - @angle:9-14-10 @atom:*_b*_a9_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a10_d*_i* - @angle:2-14-10 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a10_d*_i* - @angle:6-14-10 @atom:*_b*_a6_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a10_d*_i* - @angle:10-14-10 @atom:*_b*_a10_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a10_d*_i* - @angle:2-14-11 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a11_d*_i* - @angle:6-14-11 @atom:*_b*_a6_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a11_d*_i* - @angle:9-14-11 @atom:*_b*_a9_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a11_d*_i* - @angle:10-14-11 @atom:*_b*_a10_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a11_d*_i* - @angle:11-14-11 @atom:*_b*_a11_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a11_d*_i* - @angle:9-14-13 @atom:*_b*_a9_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a13_d*_i* - @angle:11-14-13 @atom:*_b*_a11_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a13_d*_i* - @angle:2-14-13 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a13_d*_i* - @angle:6-14-13 @atom:*_b*_a6_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a13_d*_i* - @angle:10-14-13 @atom:*_b*_a10_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-14-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a13_d*_i* - @angle:2-14-14 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i* - @angle:6-14-14 @atom:*_b*_a6_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i* - @angle:9-14-14 @atom:*_b*_a9_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i* - @angle:10-14-14 @atom:*_b*_a10_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i* - @angle:11-14-14 @atom:*_b*_a11_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i* - @angle:13-14-14 @atom:*_b*_a13_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i* - @angle:14-14-14 @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i* - @angle:17-15-17 @atom:*_b*_a17_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a17_d*_i* - @angle:2-15-17 @atom:*_b*_a2_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a17_d*_i* - @angle:6-15-17 @atom:*_b*_a6_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a17_d*_i* - @angle:13-15-17 @atom:*_b*_a13_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a17_d*_i* - @angle:25-15-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a25_d*_i* - @angle:13-15-25 @atom:*_b*_a13_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a25_d*_i* - @angle:33-15-33 @atom:*_b*_a33_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a33_d*_i* - @angle:2-15-33 @atom:*_b*_a2_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a33_d*_i* - @angle:6-15-33 @atom:*_b*_a6_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a33_d*_i* - @angle:13-15-33 @atom:*_b*_a13_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a33_d*_i* - @angle:17-15-33 @atom:*_b*_a17_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a33_d*_i* - @angle:17-15-48 @atom:*_b*_a17_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a48_d*_i* - @angle:2-16-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a6_d*_i* - @angle:13-16-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a13_d*_i* - @angle:2-16-16 @atom:*_b*_a2_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a16_d*_i* - @angle:6-16-16 @atom:*_b*_a6_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a16_d*_i* - @angle:13-16-16 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a16_d*_i* - @angle:13-16-19 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a19_d*_i* - @angle:25-16-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a25_d*_i* - @angle:13-16-25 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a25_d*_i* - @angle:33-16-33 @atom:*_b*_a33_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a33_d*_i* - @angle:2-16-33 @atom:*_b*_a2_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a33_d*_i* - @angle:6-16-33 @atom:*_b*_a6_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a33_d*_i* - @angle:13-16-33 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a33_d*_i* - @angle:16-16-33 @atom:*_b*_a16_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a33_d*_i* - @angle:13-16-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a48_d*_i* - @angle:47-16-48 @atom:*_b*_a47_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a48_d*_i* - @angle:24-16-60 @atom:*_b*_a24_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a60_d*_i* - @angle:25-16-61 @atom:*_b*_a25_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a61_d*_i* - @angle:25-16-82 @atom:*_b*_a25_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a82_d*_i* - @angle:60-16-82 @atom:*_b*_a60_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a82_d*_i* - @angle:25-16-84 @atom:*_b*_a25_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i* - @angle:82-16-84 @atom:*_b*_a82_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i* - @angle:60-16-84 @atom:*_b*_a60_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i* - @angle:84-16-84 @atom:*_b*_a84_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i* - @angle:13-16-91 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a91_d*_i* - @angle:15-17-25 @atom:*_b*_a15_d*_i* @atom:*_b*_a17_d*_i* @atom:*_b*_a25_d*_i* - @angle:25-17-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a17_d*_i* @atom:*_b*_a25_d*_i* - @angle:13-18-19 @atom:*_b*_a13_d*_i* @atom:*_b*_a18_d*_i* @atom:*_b*_a19_d*_i* - @angle:19-18-48 @atom:*_b*_a19_d*_i* @atom:*_b*_a18_d*_i* @atom:*_b*_a48_d*_i* - @angle:18-18-56 @atom:*_b*_a18_d*_i* @atom:*_b*_a18_d*_i* @atom:*_b*_a56_d*_i* - @angle:13-19-18 @atom:*_b*_a13_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a18_d*_i* - @angle:16-19-19 @atom:*_b*_a16_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a19_d*_i* - @angle:13-19-19 @atom:*_b*_a13_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a19_d*_i* - @angle:18-19-25 @atom:*_b*_a18_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a25_d*_i* - @angle:19-19-46 @atom:*_b*_a19_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a46_d*_i* - @angle:18-19-47 @atom:*_b*_a18_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a47_d*_i* - @angle:19-19-47 @atom:*_b*_a19_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a47_d*_i* - @angle:18-19-48 @atom:*_b*_a18_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a48_d*_i* - @angle:19-19-48 @atom:*_b*_a19_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a48_d*_i* - @angle:19-19-50 @atom:*_b*_a19_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a50_d*_i* - @angle:18-19-55 @atom:*_b*_a18_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a55_d*_i* - @angle:18-19-88 @atom:*_b*_a18_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a88_d*_i* - @angle:2-20-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a2_d*_i* - @angle:2-20-3 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a3_d*_i* - @angle:3-20-6 @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a6_d*_i* - @angle:2-20-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a6_d*_i* - @angle:2-20-7 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a7_d*_i* - @angle:7-20-10 @atom:*_b*_a7_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a10_d*_i* - @angle:3-20-10 @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a10_d*_i* - @angle:10-20-10 @atom:*_b*_a10_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a10_d*_i* - @angle:13-20-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a13_d*_i* - @angle:3-20-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a13_d*_i* - @angle:25-20-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a25_d*_i* - @angle:13-20-25 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a25_d*_i* - @angle:13-20-47 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a47_d*_i* - @angle:25-20-48 @atom:*_b*_a25_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-20-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i* - @angle:47-20-48 @atom:*_b*_a47_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i* - @angle:48-20-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i* - @angle:3-20-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i* - @angle:2-20-48 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-20-51 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i* - @angle:2-20-51 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i* - @angle:6-20-51 @atom:*_b*_a6_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i* - @angle:10-20-51 @atom:*_b*_a10_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i* - @angle:24-20-60 @atom:*_b*_a24_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a60_d*_i* - @angle:25-20-61 @atom:*_b*_a25_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a61_d*_i* - @angle:2-20-64 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i* - @angle:6-20-64 @atom:*_b*_a6_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i* - @angle:10-20-64 @atom:*_b*_a10_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i* - @angle:13-20-64 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i* - @angle:48-20-64 @atom:*_b*_a48_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i* - @angle:64-20-64 @atom:*_b*_a64_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i* - @angle:25-20-82 @atom:*_b*_a25_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a82_d*_i* - @angle:60-20-82 @atom:*_b*_a60_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a82_d*_i* - @angle:82-20-82 @atom:*_b*_a82_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a82_d*_i* - @angle:25-20-84 @atom:*_b*_a25_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* - @angle:82-20-84 @atom:*_b*_a82_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* - @angle:60-20-84 @atom:*_b*_a60_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* - @angle:84-20-84 @atom:*_b*_a84_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* - @angle:61-20-84 @atom:*_b*_a61_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* - @angle:108-20-108 @atom:*_b*_a108_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a108_d*_i* - @angle:13-20-108 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a108_d*_i* - @angle:25-21-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a21_d*_i* @atom:*_b*_a25_d*_i* - @angle:13-22-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a22_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-22-23 @atom:*_b*_a13_d*_i* @atom:*_b*_a22_d*_i* @atom:*_b*_a23_d*_i* - @angle:23-22-25 @atom:*_b*_a23_d*_i* @atom:*_b*_a22_d*_i* @atom:*_b*_a25_d*_i* - @angle:2-24-3 @atom:*_b*_a2_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i* - @angle:3-24-3 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i* - @angle:3-24-5 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a5_d*_i* - @angle:2-24-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a6_d*_i* - @angle:3-24-6 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a6_d*_i* - @angle:2-24-10 @atom:*_b*_a2_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a10_d*_i* - @angle:3-24-10 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a10_d*_i* - @angle:13-24-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a13_d*_i* - @angle:3-24-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a13_d*_i* - @angle:3-24-16 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a16_d*_i* - @angle:3-24-20 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a20_d*_i* - @angle:3-24-25 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a25_d*_i* - @angle:25-24-45 @atom:*_b*_a25_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i* - @angle:5-24-45 @atom:*_b*_a5_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i* - @angle:3-24-45 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i* - @angle:45-24-45 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i* - @angle:2-24-45 @atom:*_b*_a2_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i* - @angle:6-24-45 @atom:*_b*_a6_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i* - @angle:10-24-45 @atom:*_b*_a10_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i* - @angle:13-24-45 @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i* - @angle:45-24-48 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-24-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a48_d*_i* - @angle:3-24-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a48_d*_i* - @angle:48-24-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a48_d*_i* - @angle:54-24-54 @atom:*_b*_a54_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a54_d*_i* - @angle:45-24-59 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a59_d*_i* - @angle:3-24-59 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a59_d*_i* - @angle:13-24-79 @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a79_d*_i* - @angle:45-24-79 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a79_d*_i* - @angle:45-24-84 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a84_d*_i* - @angle:48-24-84 @atom:*_b*_a48_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a84_d*_i* - @angle:16-24-86 @atom:*_b*_a16_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a86_d*_i* - @angle:45-24-87 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a87_d*_i* - @angle:48-24-87 @atom:*_b*_a48_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a87_d*_i* - @angle:45-24-88 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a88_d*_i* - @angle:48-24-88 @atom:*_b*_a48_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a88_d*_i* - @angle:45-24-91 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a91_d*_i* - @angle:3-24-91 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a91_d*_i* - @angle:48-24-103 @atom:*_b*_a48_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a103_d*_i* - @angle:3-24-106 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a106_d*_i* - @angle:25-25-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a25_d*_i* @atom:*_b*_a25_d*_i* - @angle:32-31-32 @atom:*_b*_a32_d*_i* @atom:*_b*_a31_d*_i* @atom:*_b*_a32_d*_i* - @angle:32-31-33 @atom:*_b*_a32_d*_i* @atom:*_b*_a31_d*_i* @atom:*_b*_a33_d*_i* - @angle:35-34-35 @atom:*_b*_a35_d*_i* @atom:*_b*_a34_d*_i* @atom:*_b*_a35_d*_i* - @angle:37-36-37 @atom:*_b*_a37_d*_i* @atom:*_b*_a36_d*_i* @atom:*_b*_a37_d*_i* - @angle:37-36-38 @atom:*_b*_a37_d*_i* @atom:*_b*_a36_d*_i* @atom:*_b*_a38_d*_i* - @angle:40-39-40 @atom:*_b*_a40_d*_i* @atom:*_b*_a39_d*_i* @atom:*_b*_a40_d*_i* - @angle:41-39-41 @atom:*_b*_a41_d*_i* @atom:*_b*_a39_d*_i* @atom:*_b*_a41_d*_i* - @angle:40-39-41 @atom:*_b*_a40_d*_i* @atom:*_b*_a39_d*_i* @atom:*_b*_a41_d*_i* - @angle:43-42-43 @atom:*_b*_a43_d*_i* @atom:*_b*_a42_d*_i* @atom:*_b*_a43_d*_i* - @angle:2-44-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a2_d*_i* - @angle:2-44-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a6_d*_i* - @angle:6-44-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a6_d*_i* - @angle:2-44-10 @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a10_d*_i* - @angle:6-44-10 @atom:*_b*_a6_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a10_d*_i* - @angle:10-44-10 @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a10_d*_i* - @angle:2-44-13 @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i* - @angle:6-44-13 @atom:*_b*_a6_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i* - @angle:10-44-13 @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-44-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i* - @angle:3-44-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i* - @angle:25-44-45 @atom:*_b*_a25_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a45_d*_i* - @angle:13-44-45 @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a45_d*_i* - @angle:2-44-45 @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a45_d*_i* - @angle:6-44-45 @atom:*_b*_a6_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a45_d*_i* - @angle:10-44-45 @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a45_d*_i* - @angle:45-44-45 @atom:*_b*_a45_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a45_d*_i* - @angle:25-44-48 @atom:*_b*_a25_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i* - @angle:45-44-48 @atom:*_b*_a45_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-44-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i* - @angle:48-44-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i* - @angle:3-44-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i* - @angle:45-44-79 @atom:*_b*_a45_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a79_d*_i* - @angle:13-44-79 @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a79_d*_i* - @angle:48-44-79 @atom:*_b*_a48_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a79_d*_i* - @angle:48-44-91 @atom:*_b*_a48_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a91_d*_i* - @angle:25-45-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a45_d*_i* @atom:*_b*_a25_d*_i* - @angle:25-45-44 @atom:*_b*_a25_d*_i* @atom:*_b*_a45_d*_i* @atom:*_b*_a44_d*_i* - @angle:25-46-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a46_d*_i* @atom:*_b*_a25_d*_i* - @angle:13-46-25 @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* @atom:*_b*_a25_d*_i* - @angle:1-47-1 @atom:*_b*_a1_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a1_d*_i* - @angle:1-47-3 @atom:*_b*_a1_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a3_d*_i* - @angle:3-47-6 @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a6_d*_i* - @angle:3-47-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-47-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a13_d*_i* - @angle:25-47-46 @atom:*_b*_a25_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i* - @angle:20-47-46 @atom:*_b*_a20_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i* - @angle:13-47-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i* - @angle:46-47-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i* - @angle:3-47-46 @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i* - @angle:19-47-46 @atom:*_b*_a19_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i* - @angle:1-47-46 @atom:*_b*_a1_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i* - @angle:21-47-46 @atom:*_b*_a21_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i* - @angle:25-47-47 @atom:*_b*_a25_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* - @angle:46-47-47 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* - @angle:5-47-47 @atom:*_b*_a5_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* - @angle:20-47-47 @atom:*_b*_a20_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* - @angle:13-47-47 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* - @angle:19-47-47 @atom:*_b*_a19_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* - @angle:21-47-47 @atom:*_b*_a21_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* - @angle:1-47-47 @atom:*_b*_a1_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* - @angle:16-47-47 @atom:*_b*_a16_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* - @angle:3-47-47 @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* - @angle:46-47-48 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i* - @angle:47-47-48 @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-47-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i* - @angle:25-47-50 @atom:*_b*_a25_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i* - @angle:46-47-50 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i* - @angle:5-47-50 @atom:*_b*_a5_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i* - @angle:20-47-50 @atom:*_b*_a20_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i* - @angle:13-47-50 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i* - @angle:46-47-57 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a57_d*_i* - @angle:13-47-57 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a57_d*_i* - @angle:20-47-57 @atom:*_b*_a20_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a57_d*_i* - @angle:47-47-57 @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a57_d*_i* - @angle:16-47-57 @atom:*_b*_a16_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a57_d*_i* - @angle:57-47-58 @atom:*_b*_a57_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a58_d*_i* - @angle:47-47-58 @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a58_d*_i* - @angle:46-47-65 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a65_d*_i* - @angle:47-47-65 @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a65_d*_i* - @angle:46-47-91 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a91_d*_i* - @angle:3-47-91 @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a91_d*_i* - @angle:47-47-91 @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a91_d*_i* - @angle:46-47-105 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i* - @angle:58-47-105 @atom:*_b*_a58_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i* - @angle:13-47-105 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i* - @angle:20-47-105 @atom:*_b*_a20_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i* - @angle:47-47-105 @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i* - @angle:16-47-105 @atom:*_b*_a16_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i* - @angle:46-47-110 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a110_d*_i* - @angle:13-47-110 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a110_d*_i* - @angle:48-47-110 @atom:*_b*_a48_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a110_d*_i* - @angle:1-47-110 @atom:*_b*_a1_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a110_d*_i* - @angle:2-48-12 @atom:*_b*_a2_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a12_d*_i* - @angle:12-48-12 @atom:*_b*_a12_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a12_d*_i* - @angle:3-48-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a13_d*_i* - @angle:25-48-48 @atom:*_b*_a25_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:48-48-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:2-48-48 @atom:*_b*_a2_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:5-48-48 @atom:*_b*_a5_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:10-48-48 @atom:*_b*_a10_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-48-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:15-48-48 @atom:*_b*_a15_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:19-48-48 @atom:*_b*_a19_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:20-48-48 @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:24-48-48 @atom:*_b*_a24_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:44-48-48 @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:47-48-48 @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:21-48-48 @atom:*_b*_a21_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:1-48-48 @atom:*_b*_a1_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:18-48-48 @atom:*_b*_a18_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:16-48-48 @atom:*_b*_a16_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:3-48-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* - @angle:25-48-49 @atom:*_b*_a25_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a49_d*_i* - @angle:24-48-49 @atom:*_b*_a24_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a49_d*_i* - @angle:3-48-49 @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a49_d*_i* - @angle:48-48-49 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a49_d*_i* - @angle:48-48-50 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a50_d*_i* - @angle:48-48-53 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a53_d*_i* - @angle:55-48-55 @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a55_d*_i* - @angle:47-48-55 @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a55_d*_i* - @angle:48-48-55 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a55_d*_i* - @angle:49-48-56 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* - @angle:13-48-56 @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* - @angle:44-48-56 @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* - @angle:55-48-56 @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* - @angle:5-48-56 @atom:*_b*_a5_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* - @angle:47-48-56 @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* - @angle:50-48-56 @atom:*_b*_a50_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* - @angle:48-48-56 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* - @angle:21-48-56 @atom:*_b*_a21_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* - @angle:49-48-57 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i* - @angle:48-48-57 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i* - @angle:55-48-57 @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i* - @angle:13-48-57 @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i* - @angle:47-48-57 @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i* - @angle:56-48-57 @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i* - @angle:49-48-60 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* - @angle:48-48-60 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* - @angle:57-48-60 @atom:*_b*_a57_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* - @angle:56-48-60 @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* - @angle:55-48-60 @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* - @angle:2-48-60 @atom:*_b*_a2_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* - @angle:13-48-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* - @angle:49-48-61 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a61_d*_i* - @angle:48-48-61 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a61_d*_i* - @angle:57-48-61 @atom:*_b*_a57_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a61_d*_i* - @angle:48-48-64 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a64_d*_i* - @angle:48-48-65 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a65_d*_i* - @angle:48-48-66 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a66_d*_i* - @angle:48-48-79 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a79_d*_i* - @angle:49-48-81 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a81_d*_i* - @angle:48-48-81 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a81_d*_i* - @angle:49-48-84 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a84_d*_i* - @angle:60-48-84 @atom:*_b*_a60_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a84_d*_i* - @angle:48-48-84 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a84_d*_i* - @angle:49-48-86 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* - @angle:48-48-86 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* - @angle:56-48-86 @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* - @angle:49-48-88 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a88_d*_i* - @angle:101-48-101 @atom:*_b*_a101_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a101_d*_i* - @angle:56-48-101 @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a101_d*_i* - @angle:48-48-102 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a102_d*_i* - @angle:48-48-109 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a109_d*_i* - @angle:25-50-46 @atom:*_b*_a25_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a46_d*_i* - @angle:19-50-46 @atom:*_b*_a19_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a46_d*_i* - @angle:25-50-47 @atom:*_b*_a25_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a47_d*_i* - @angle:46-50-47 @atom:*_b*_a46_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a47_d*_i* - @angle:3-50-47 @atom:*_b*_a3_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a47_d*_i* - @angle:13-50-47 @atom:*_b*_a13_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a47_d*_i* - @angle:46-50-48 @atom:*_b*_a46_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a48_d*_i* - @angle:47-50-48 @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a48_d*_i* - @angle:25-50-50 @atom:*_b*_a25_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a50_d*_i* - @angle:46-50-50 @atom:*_b*_a46_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a50_d*_i* - @angle:13-50-50 @atom:*_b*_a13_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a50_d*_i* - @angle:47-50-50 @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a50_d*_i* - @angle:50-50-84 @atom:*_b*_a50_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a84_d*_i* - @angle:46-50-84 @atom:*_b*_a46_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a84_d*_i* - @angle:46-50-109 @atom:*_b*_a46_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a109_d*_i* - @angle:13-50-109 @atom:*_b*_a13_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a109_d*_i* - @angle:47-50-109 @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a109_d*_i* - @angle:6-51-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a6_d*_i* - @angle:5-51-13 @atom:*_b*_a5_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-51-20 @atom:*_b*_a13_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a20_d*_i* - @angle:2-51-20 @atom:*_b*_a2_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a20_d*_i* - @angle:6-51-20 @atom:*_b*_a6_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a20_d*_i* - @angle:5-51-20 @atom:*_b*_a5_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a20_d*_i* - @angle:20-51-20 @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a20_d*_i* - @angle:46-51-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a46_d*_i* - @angle:5-51-46 @atom:*_b*_a5_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a46_d*_i* - @angle:20-51-46 @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a46_d*_i* - @angle:13-51-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a46_d*_i* - @angle:46-51-105 @atom:*_b*_a46_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a105_d*_i* - @angle:13-51-105 @atom:*_b*_a13_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a105_d*_i* - @angle:20-51-105 @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a105_d*_i* - @angle:13-53-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-53-25 @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a25_d*_i* - @angle:45-53-45 @atom:*_b*_a45_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a45_d*_i* - @angle:25-53-48 @atom:*_b*_a25_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-53-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a48_d*_i* - @angle:2-53-54 @atom:*_b*_a2_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a54_d*_i* - @angle:6-53-54 @atom:*_b*_a6_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a54_d*_i* - @angle:13-53-54 @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a54_d*_i* - @angle:48-53-54 @atom:*_b*_a48_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a54_d*_i* - @angle:54-53-54 @atom:*_b*_a54_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a54_d*_i* - @angle:25-53-82 @atom:*_b*_a25_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a82_d*_i* - @angle:13-55-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a13_d*_i* - @angle:45-55-45 @atom:*_b*_a45_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a45_d*_i* - @angle:13-55-45 @atom:*_b*_a13_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a45_d*_i* - @angle:45-55-48 @atom:*_b*_a45_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i* - @angle:2-55-48 @atom:*_b*_a2_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i* - @angle:6-55-48 @atom:*_b*_a6_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-55-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i* - @angle:2-55-54 @atom:*_b*_a2_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a54_d*_i* - @angle:13-55-54 @atom:*_b*_a13_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a54_d*_i* - @angle:48-55-54 @atom:*_b*_a48_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a54_d*_i* - @angle:54-55-54 @atom:*_b*_a54_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a54_d*_i* - @angle:45-55-59 @atom:*_b*_a45_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a59_d*_i* - @angle:3-56-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-56-18 @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a18_d*_i* - @angle:25-56-48 @atom:*_b*_a25_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i* - @angle:45-56-48 @atom:*_b*_a45_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-56-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i* - @angle:48-56-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i* - @angle:3-56-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-56-56 @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a56_d*_i* - @angle:48-56-56 @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a56_d*_i* - @angle:25-56-59 @atom:*_b*_a25_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a59_d*_i* - @angle:48-56-59 @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a59_d*_i* - @angle:59-56-59 @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a59_d*_i* - @angle:59-56-60 @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a60_d*_i* - @angle:48-56-60 @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a60_d*_i* - @angle:59-56-82 @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a82_d*_i* - @angle:48-56-86 @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a86_d*_i* - @angle:13-56-103 @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a103_d*_i* - @angle:3-57-3 @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a3_d*_i* - @angle:3-57-45 @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a45_d*_i* - @angle:45-57-47 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a47_d*_i* - @angle:3-57-47 @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a47_d*_i* - @angle:45-57-48 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a48_d*_i* - @angle:3-57-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a48_d*_i* - @angle:48-57-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a48_d*_i* - @angle:45-57-60 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a60_d*_i* - @angle:13-57-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a60_d*_i* - @angle:60-57-61 @atom:*_b*_a60_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a61_d*_i* - @angle:45-57-61 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a61_d*_i* - @angle:13-57-61 @atom:*_b*_a13_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a61_d*_i* - @angle:48-57-61 @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a61_d*_i* - @angle:45-57-62 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a62_d*_i* - @angle:60-57-62 @atom:*_b*_a60_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a62_d*_i* - @angle:48-57-62 @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a62_d*_i* - @angle:13-57-62 @atom:*_b*_a13_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a62_d*_i* - @angle:45-57-81 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a81_d*_i* - @angle:45-57-82 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i* - @angle:61-57-82 @atom:*_b*_a61_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i* - @angle:60-57-82 @atom:*_b*_a60_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i* - @angle:45-57-84 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* - @angle:61-57-84 @atom:*_b*_a61_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* - @angle:60-57-84 @atom:*_b*_a60_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* - @angle:82-57-84 @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* - @angle:84-57-84 @atom:*_b*_a84_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* - @angle:81-57-84 @atom:*_b*_a81_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* - @angle:45-57-85 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a85_d*_i* - @angle:82-57-85 @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a85_d*_i* - @angle:24-59-55 @atom:*_b*_a24_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a55_d*_i* - @angle:49-59-56 @atom:*_b*_a49_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i* - @angle:13-59-56 @atom:*_b*_a13_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i* - @angle:55-59-56 @atom:*_b*_a55_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i* - @angle:24-59-56 @atom:*_b*_a24_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i* - @angle:56-59-56 @atom:*_b*_a56_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i* - @angle:56-59-63 @atom:*_b*_a56_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a63_d*_i* - @angle:13-60-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a48_d*_i* - @angle:48-60-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a48_d*_i* - @angle:56-60-57 @atom:*_b*_a56_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a57_d*_i* - @angle:57-60-60 @atom:*_b*_a57_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* - @angle:20-60-60 @atom:*_b*_a20_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* - @angle:16-60-60 @atom:*_b*_a16_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* - @angle:13-60-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* - @angle:24-60-60 @atom:*_b*_a24_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* - @angle:56-60-60 @atom:*_b*_a56_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* - @angle:48-60-60 @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* - @angle:3-60-60 @atom:*_b*_a3_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* - @angle:60-60-61 @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a61_d*_i* - @angle:24-60-61 @atom:*_b*_a24_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a61_d*_i* - @angle:3-60-61 @atom:*_b*_a3_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a61_d*_i* - @angle:48-60-61 @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a61_d*_i* - @angle:12-60-80 @atom:*_b*_a12_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a80_d*_i* - @angle:48-60-80 @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a80_d*_i* - @angle:80-60-81 @atom:*_b*_a80_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a81_d*_i* - @angle:12-60-81 @atom:*_b*_a12_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a81_d*_i* - @angle:48-60-81 @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a81_d*_i* - @angle:3-60-84 @atom:*_b*_a3_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a84_d*_i* - @angle:60-60-87 @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i* - @angle:57-60-87 @atom:*_b*_a57_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i* - @angle:81-60-87 @atom:*_b*_a81_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i* - @angle:12-60-87 @atom:*_b*_a12_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i* - @angle:48-60-87 @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i* - @angle:60-60-105 @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a105_d*_i* - @angle:56-60-105 @atom:*_b*_a56_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a105_d*_i* - @angle:48-61-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a48_d*_i* - @angle:25-61-57 @atom:*_b*_a25_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a57_d*_i* - @angle:25-61-61 @atom:*_b*_a25_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a61_d*_i* - @angle:60-61-62 @atom:*_b*_a60_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a62_d*_i* - @angle:25-61-82 @atom:*_b*_a25_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a82_d*_i* - @angle:61-61-82 @atom:*_b*_a61_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a82_d*_i* - @angle:60-61-82 @atom:*_b*_a60_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a82_d*_i* - @angle:82-61-83 @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a83_d*_i* - @angle:57-61-84 @atom:*_b*_a57_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a84_d*_i* - @angle:82-61-84 @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a84_d*_i* - @angle:57-61-88 @atom:*_b*_a57_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a88_d*_i* - @angle:20-61-88 @atom:*_b*_a20_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a88_d*_i* - @angle:49-62-57 @atom:*_b*_a49_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a57_d*_i* - @angle:49-62-61 @atom:*_b*_a49_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a61_d*_i* - @angle:57-62-61 @atom:*_b*_a57_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a61_d*_i* - @angle:57-62-63 @atom:*_b*_a57_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a63_d*_i* - @angle:61-62-63 @atom:*_b*_a61_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a63_d*_i* - @angle:49-62-105 @atom:*_b*_a49_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a105_d*_i* - @angle:63-62-105 @atom:*_b*_a63_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a105_d*_i* - @angle:61-62-105 @atom:*_b*_a61_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a105_d*_i* - @angle:5-64-5 @atom:*_b*_a5_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a5_d*_i* - @angle:4-64-5 @atom:*_b*_a4_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a5_d*_i* - @angle:4-64-13 @atom:*_b*_a4_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a13_d*_i* - @angle:5-64-20 @atom:*_b*_a5_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a20_d*_i* - @angle:20-64-20 @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a20_d*_i* - @angle:13-64-20 @atom:*_b*_a13_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a20_d*_i* - @angle:4-64-20 @atom:*_b*_a4_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a20_d*_i* - @angle:4-64-48 @atom:*_b*_a4_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a48_d*_i* - @angle:5-64-48 @atom:*_b*_a5_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a48_d*_i* - @angle:20-64-48 @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a48_d*_i* - @angle:5-64-52 @atom:*_b*_a5_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a52_d*_i* - @angle:13-64-52 @atom:*_b*_a13_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a52_d*_i* - @angle:20-64-52 @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a52_d*_i* - @angle:52-64-52 @atom:*_b*_a52_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a52_d*_i* - @angle:25-65-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a65_d*_i* @atom:*_b*_a25_d*_i* - @angle:25-66-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a66_d*_i* @atom:*_b*_a25_d*_i* - @angle:78-77-78 @atom:*_b*_a78_d*_i* @atom:*_b*_a77_d*_i* @atom:*_b*_a78_d*_i* - @angle:6-79-11 @atom:*_b*_a6_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a11_d*_i* - @angle:13-79-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a13_d*_i* - @angle:5-79-13 @atom:*_b*_a5_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a13_d*_i* - @angle:5-79-23 @atom:*_b*_a5_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a23_d*_i* - @angle:13-79-23 @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a23_d*_i* - @angle:23-79-23 @atom:*_b*_a23_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a23_d*_i* - @angle:13-79-24 @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a24_d*_i* - @angle:23-79-24 @atom:*_b*_a23_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a24_d*_i* - @angle:13-79-44 @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a44_d*_i* - @angle:23-79-44 @atom:*_b*_a23_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a44_d*_i* - @angle:13-79-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a48_d*_i* - @angle:23-79-48 @atom:*_b*_a23_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a48_d*_i* - @angle:5-79-48 @atom:*_b*_a5_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a48_d*_i* - @angle:24-79-48 @atom:*_b*_a24_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-79-82 @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a82_d*_i* - @angle:46-80-60 @atom:*_b*_a46_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a60_d*_i* - @angle:2-80-60 @atom:*_b*_a2_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a60_d*_i* - @angle:13-80-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a60_d*_i* - @angle:46-80-84 @atom:*_b*_a46_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a84_d*_i* - @angle:2-80-84 @atom:*_b*_a2_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a84_d*_i* - @angle:13-80-84 @atom:*_b*_a13_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a84_d*_i* - @angle:60-80-84 @atom:*_b*_a60_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a84_d*_i* - @angle:12-81-57 @atom:*_b*_a12_d*_i* @atom:*_b*_a81_d*_i* @atom:*_b*_a57_d*_i* - @angle:48-81-57 @atom:*_b*_a48_d*_i* @atom:*_b*_a81_d*_i* @atom:*_b*_a57_d*_i* - @angle:57-81-60 @atom:*_b*_a57_d*_i* @atom:*_b*_a81_d*_i* @atom:*_b*_a60_d*_i* - @angle:12-81-60 @atom:*_b*_a12_d*_i* @atom:*_b*_a81_d*_i* @atom:*_b*_a60_d*_i* - @angle:48-81-60 @atom:*_b*_a48_d*_i* @atom:*_b*_a81_d*_i* @atom:*_b*_a60_d*_i* - @angle:13-82-16 @atom:*_b*_a13_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a16_d*_i* - @angle:16-82-24 @atom:*_b*_a16_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a24_d*_i* - @angle:16-82-44 @atom:*_b*_a16_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a44_d*_i* - @angle:20-82-49 @atom:*_b*_a20_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a49_d*_i* - @angle:16-82-49 @atom:*_b*_a16_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a49_d*_i* - @angle:49-82-57 @atom:*_b*_a49_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i* - @angle:57-82-57 @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i* - @angle:13-82-57 @atom:*_b*_a13_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i* - @angle:48-82-57 @atom:*_b*_a48_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i* - @angle:56-82-57 @atom:*_b*_a56_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i* - @angle:49-82-61 @atom:*_b*_a49_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i* - @angle:16-82-61 @atom:*_b*_a16_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i* - @angle:20-82-61 @atom:*_b*_a20_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i* - @angle:57-82-61 @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i* - @angle:13-82-61 @atom:*_b*_a13_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i* - @angle:44-82-61 @atom:*_b*_a44_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i* - @angle:24-82-61 @atom:*_b*_a24_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i* - @angle:57-82-79 @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a79_d*_i* - @angle:61-82-79 @atom:*_b*_a61_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a79_d*_i* - @angle:20-82-86 @atom:*_b*_a20_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a86_d*_i* - @angle:61-82-86 @atom:*_b*_a61_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a86_d*_i* - @angle:57-82-87 @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a87_d*_i* - @angle:56-82-87 @atom:*_b*_a56_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a87_d*_i* - @angle:49-83-61 @atom:*_b*_a49_d*_i* @atom:*_b*_a83_d*_i* @atom:*_b*_a61_d*_i* - @angle:48-83-61 @atom:*_b*_a48_d*_i* @atom:*_b*_a83_d*_i* @atom:*_b*_a61_d*_i* - @angle:13-83-61 @atom:*_b*_a13_d*_i* @atom:*_b*_a83_d*_i* @atom:*_b*_a61_d*_i* - @angle:49-83-84 @atom:*_b*_a49_d*_i* @atom:*_b*_a83_d*_i* @atom:*_b*_a84_d*_i* - @angle:61-83-84 @atom:*_b*_a61_d*_i* @atom:*_b*_a83_d*_i* @atom:*_b*_a84_d*_i* - @angle:13-83-84 @atom:*_b*_a13_d*_i* @atom:*_b*_a83_d*_i* @atom:*_b*_a84_d*_i* - @angle:13-84-16 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a16_d*_i* - @angle:13-84-20 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a20_d*_i* - @angle:16-84-24 @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a24_d*_i* - @angle:20-84-49 @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a49_d*_i* - @angle:16-84-49 @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a49_d*_i* - @angle:48-84-49 @atom:*_b*_a48_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a49_d*_i* - @angle:49-84-50 @atom:*_b*_a49_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a50_d*_i* - @angle:20-84-50 @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a50_d*_i* - @angle:49-84-57 @atom:*_b*_a49_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a57_d*_i* - @angle:13-84-57 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a57_d*_i* - @angle:48-84-57 @atom:*_b*_a48_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a57_d*_i* - @angle:3-84-57 @atom:*_b*_a3_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a57_d*_i* - @angle:57-84-58 @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a58_d*_i* - @angle:13-84-61 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a61_d*_i* - @angle:49-84-80 @atom:*_b*_a49_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a80_d*_i* - @angle:57-84-80 @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a80_d*_i* - @angle:49-84-83 @atom:*_b*_a49_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a83_d*_i* - @angle:57-84-83 @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a83_d*_i* - @angle:20-84-83 @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a83_d*_i* - @angle:16-84-83 @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a83_d*_i* - @angle:13-84-83 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a83_d*_i* - @angle:13-84-84 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a84_d*_i* - @angle:57-84-84 @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a84_d*_i* - @angle:61-84-84 @atom:*_b*_a61_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a84_d*_i* - @angle:20-84-86 @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a86_d*_i* - @angle:57-84-86 @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a86_d*_i* - @angle:49-84-87 @atom:*_b*_a49_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* - @angle:57-84-87 @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* - @angle:20-84-87 @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* - @angle:16-84-87 @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* - @angle:61-84-87 @atom:*_b*_a61_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* - @angle:13-84-87 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* - @angle:48-84-87 @atom:*_b*_a48_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* - @angle:86-84-87 @atom:*_b*_a86_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* - @angle:3-84-87 @atom:*_b*_a3_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* - @angle:49-85-57 @atom:*_b*_a49_d*_i* @atom:*_b*_a85_d*_i* @atom:*_b*_a57_d*_i* - @angle:13-85-57 @atom:*_b*_a13_d*_i* @atom:*_b*_a85_d*_i* @atom:*_b*_a57_d*_i* - @angle:49-85-85 @atom:*_b*_a49_d*_i* @atom:*_b*_a85_d*_i* @atom:*_b*_a85_d*_i* - @angle:57-85-85 @atom:*_b*_a57_d*_i* @atom:*_b*_a85_d*_i* @atom:*_b*_a85_d*_i* - @angle:13-85-85 @atom:*_b*_a13_d*_i* @atom:*_b*_a85_d*_i* @atom:*_b*_a85_d*_i* - @angle:48-86-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a48_d*_i* - @angle:48-86-56 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a56_d*_i* - @angle:48-86-82 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a82_d*_i* - @angle:48-86-83 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a83_d*_i* - @angle:48-86-84 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a84_d*_i* - @angle:48-86-86 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a86_d*_i* - @angle:56-86-86 @atom:*_b*_a56_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a86_d*_i* - @angle:48-86-87 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a87_d*_i* - @angle:48-86-88 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a88_d*_i* - @angle:49-87-60 @atom:*_b*_a49_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a60_d*_i* - @angle:46-87-60 @atom:*_b*_a46_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a60_d*_i* - @angle:13-87-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a60_d*_i* - @angle:49-87-84 @atom:*_b*_a49_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i* - @angle:46-87-84 @atom:*_b*_a46_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i* - @angle:84-87-84 @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i* - @angle:82-87-84 @atom:*_b*_a82_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i* - @angle:2-87-84 @atom:*_b*_a2_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i* - @angle:13-87-84 @atom:*_b*_a13_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i* - @angle:3-87-84 @atom:*_b*_a3_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i* - @angle:60-87-84 @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i* - @angle:84-87-86 @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a86_d*_i* - @angle:49-87-87 @atom:*_b*_a49_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a87_d*_i* - @angle:60-87-87 @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a87_d*_i* - @angle:84-87-87 @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a87_d*_i* - @angle:86-87-87 @atom:*_b*_a86_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a87_d*_i* - @angle:84-87-88 @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a88_d*_i* - @angle:48-88-49 @atom:*_b*_a48_d*_i* @atom:*_b*_a88_d*_i* @atom:*_b*_a49_d*_i* - @angle:49-88-61 @atom:*_b*_a49_d*_i* @atom:*_b*_a88_d*_i* @atom:*_b*_a61_d*_i* - @angle:13-88-61 @atom:*_b*_a13_d*_i* @atom:*_b*_a88_d*_i* @atom:*_b*_a61_d*_i* - @angle:19-88-61 @atom:*_b*_a19_d*_i* @atom:*_b*_a88_d*_i* @atom:*_b*_a61_d*_i* - @angle:61-88-87 @atom:*_b*_a61_d*_i* @atom:*_b*_a88_d*_i* @atom:*_b*_a87_d*_i* - @angle:4-89-90 @atom:*_b*_a4_d*_i* @atom:*_b*_a89_d*_i* @atom:*_b*_a90_d*_i* - @angle:90-89-91 @atom:*_b*_a90_d*_i* @atom:*_b*_a89_d*_i* @atom:*_b*_a91_d*_i* - @angle:4-89-91 @atom:*_b*_a4_d*_i* @atom:*_b*_a89_d*_i* @atom:*_b*_a91_d*_i* - @angle:13-90-89 @atom:*_b*_a13_d*_i* @atom:*_b*_a90_d*_i* @atom:*_b*_a89_d*_i* - @angle:89-90-91 @atom:*_b*_a89_d*_i* @atom:*_b*_a90_d*_i* @atom:*_b*_a91_d*_i* - @angle:13-90-91 @atom:*_b*_a13_d*_i* @atom:*_b*_a90_d*_i* @atom:*_b*_a91_d*_i* - @angle:24-91-46 @atom:*_b*_a24_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a46_d*_i* - @angle:13-91-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a46_d*_i* - @angle:44-91-46 @atom:*_b*_a44_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a46_d*_i* - @angle:46-91-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a46_d*_i* - @angle:16-91-46 @atom:*_b*_a16_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a46_d*_i* - @angle:46-91-47 @atom:*_b*_a46_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a47_d*_i* - @angle:46-91-89 @atom:*_b*_a46_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a89_d*_i* - @angle:24-91-89 @atom:*_b*_a24_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a89_d*_i* - @angle:46-91-90 @atom:*_b*_a46_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a90_d*_i* - @angle:16-91-90 @atom:*_b*_a16_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a90_d*_i* - @angle:91-91-91 @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i* - @angle:13-91-91 @atom:*_b*_a13_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i* - @angle:44-91-91 @atom:*_b*_a44_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i* - @angle:46-91-91 @atom:*_b*_a46_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i* - @angle:24-91-91 @atom:*_b*_a24_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i* - @angle:16-91-91 @atom:*_b*_a16_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i* - @angle:89-91-91 @atom:*_b*_a89_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i* - @angle:47-91-91 @atom:*_b*_a47_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i* - @angle:90-91-91 @atom:*_b*_a90_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i* - @angle:13-95-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a95_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-95-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a95_d*_i* @atom:*_b*_a46_d*_i* - @angle:13-101-45 @atom:*_b*_a13_d*_i* @atom:*_b*_a101_d*_i* @atom:*_b*_a45_d*_i* - @angle:45-101-45 @atom:*_b*_a45_d*_i* @atom:*_b*_a101_d*_i* @atom:*_b*_a45_d*_i* - @angle:45-101-48 @atom:*_b*_a45_d*_i* @atom:*_b*_a101_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-101-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a101_d*_i* @atom:*_b*_a48_d*_i* - @angle:13-102-103 @atom:*_b*_a13_d*_i* @atom:*_b*_a102_d*_i* @atom:*_b*_a103_d*_i* - @angle:48-102-103 @atom:*_b*_a48_d*_i* @atom:*_b*_a102_d*_i* @atom:*_b*_a103_d*_i* - @angle:103-102-103 @atom:*_b*_a103_d*_i* @atom:*_b*_a102_d*_i* @atom:*_b*_a103_d*_i* - @angle:25-103-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a103_d*_i* @atom:*_b*_a25_d*_i* - @angle:25-103-102 @atom:*_b*_a25_d*_i* @atom:*_b*_a103_d*_i* @atom:*_b*_a102_d*_i* - @angle:13-104-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a104_d*_i* @atom:*_b*_a13_d*_i* - @angle:3-105-10 @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a10_d*_i* - @angle:3-105-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a13_d*_i* - @angle:3-105-45 @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a45_d*_i* - @angle:45-105-47 @atom:*_b*_a45_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a47_d*_i* - @angle:13-105-47 @atom:*_b*_a13_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a47_d*_i* - @angle:3-105-47 @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a47_d*_i* - @angle:3-105-51 @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a51_d*_i* - @angle:47-105-51 @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a51_d*_i* - @angle:45-105-60 @atom:*_b*_a45_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a60_d*_i* - @angle:6-105-60 @atom:*_b*_a6_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a60_d*_i* - @angle:10-105-60 @atom:*_b*_a10_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a60_d*_i* - @angle:13-105-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a60_d*_i* - @angle:51-105-60 @atom:*_b*_a51_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a60_d*_i* - @angle:45-105-62 @atom:*_b*_a45_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a62_d*_i* - @angle:60-105-62 @atom:*_b*_a60_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a62_d*_i* - @angle:6-105-62 @atom:*_b*_a6_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a62_d*_i* - @angle:10-105-62 @atom:*_b*_a10_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a62_d*_i* - @angle:13-105-62 @atom:*_b*_a13_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a62_d*_i* - @angle:51-105-62 @atom:*_b*_a51_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a62_d*_i* - @angle:4-106-24 @atom:*_b*_a4_d*_i* @atom:*_b*_a106_d*_i* @atom:*_b*_a24_d*_i* - @angle:24-106-24 @atom:*_b*_a24_d*_i* @atom:*_b*_a106_d*_i* @atom:*_b*_a24_d*_i* - @angle:13-107-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a107_d*_i* @atom:*_b*_a13_d*_i* - @angle:3-107-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a107_d*_i* @atom:*_b*_a13_d*_i* - @angle:1-108-13 @atom:*_b*_a1_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-108-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a13_d*_i* - @angle:13-108-20 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a20_d*_i* - @angle:20-108-20 @atom:*_b*_a20_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a20_d*_i* - @angle:13-108-21 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a21_d*_i* - @angle:45-108-45 @atom:*_b*_a45_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a45_d*_i* - @angle:13-108-45 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a45_d*_i* - @angle:46-108-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a46_d*_i* - @angle:13-108-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a46_d*_i* - @angle:13-108-65 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a65_d*_i* - @angle:13-108-66 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a66_d*_i* - @angle:13-108-108 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a108_d*_i* - @angle:46-109-48 @atom:*_b*_a46_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a48_d*_i* - @angle:46-109-50 @atom:*_b*_a46_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a50_d*_i* - @angle:13-109-50 @atom:*_b*_a13_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a50_d*_i* - @angle:46-109-109 @atom:*_b*_a46_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a109_d*_i* - @angle:13-109-109 @atom:*_b*_a13_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a109_d*_i* - @angle:50-109-109 @atom:*_b*_a50_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a109_d*_i* - @angle:48-109-109 @atom:*_b*_a48_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a109_d*_i* - @angle:4-110-47 @atom:*_b*_a4_d*_i* @atom:*_b*_a110_d*_i* @atom:*_b*_a47_d*_i* - @angle:47-110-47 @atom:*_b*_a47_d*_i* @atom:*_b*_a110_d*_i* @atom:*_b*_a47_d*_i* + @angle:025_001_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a001*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:001_002_002 @atom:*_b*_a001*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* + @angle:002_002_002 @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* + @angle:002_002_003 @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a003*_d*_i* + @angle:002_002_005 @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a005*_d*_i* + @angle:002_002_006 @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:006_002_006 @atom:*_b*_a006*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:005_002_006 @atom:*_b*_a005*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:002_002_010 @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:003_002_010 @atom:*_b*_a003*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:006_002_010 @atom:*_b*_a006*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:010_002_010 @atom:*_b*_a010*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:005_002_010 @atom:*_b*_a005*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:010_002_012 @atom:*_b*_a010*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a012*_d*_i* + @angle:006_002_013 @atom:*_b*_a006*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:010_002_015 @atom:*_b*_a010*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a015*_d*_i* + @angle:002_002_016 @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a016*_d*_i* + @angle:010_002_016 @atom:*_b*_a010*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a016*_d*_i* + @angle:002_002_020 @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:006_002_020 @atom:*_b*_a006*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:010_002_020 @atom:*_b*_a010*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:003_002_024 @atom:*_b*_a003*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:002_002_024 @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:002_002_044 @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:006_002_044 @atom:*_b*_a006*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:010_002_044 @atom:*_b*_a010*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:013_002_044 @atom:*_b*_a013*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:003_002_044 @atom:*_b*_a003*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:002_002_048 @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:010_002_048 @atom:*_b*_a010*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:002_002_051 @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a051*_d*_i* + @angle:006_002_051 @atom:*_b*_a006*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a051*_d*_i* + @angle:002_002_053 @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a053*_d*_i* + @angle:002_002_055 @atom:*_b*_a002*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a055*_d*_i* + @angle:010_002_080 @atom:*_b*_a010*_d*_i* @atom:*_b*_a002*_d*_i* @atom:*_b*_a080*_d*_i* + @angle:002_003_004 @atom:*_b*_a002*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a004*_d*_i* + @angle:001_003_004 @atom:*_b*_a001*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a004*_d*_i* + @angle:003_003_004 @atom:*_b*_a003*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a004*_d*_i* + @angle:004_003_004 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a004*_d*_i* + @angle:004_003_005 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a005*_d*_i* + @angle:004_003_006 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:005_003_010 @atom:*_b*_a005*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:004_003_010 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:005_003_012 @atom:*_b*_a005*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a012*_d*_i* + @angle:012_003_012 @atom:*_b*_a012*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a012*_d*_i* + @angle:005_003_013 @atom:*_b*_a005*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_003_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:001_003_013 @atom:*_b*_a001*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:003_003_013 @atom:*_b*_a003*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:004_003_013 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:010_003_020 @atom:*_b*_a010*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:013_003_020 @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:004_003_020 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:013_003_021 @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a021*_d*_i* + @angle:004_003_021 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a021*_d*_i* + @angle:024_003_024 @atom:*_b*_a024*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:002_003_024 @atom:*_b*_a002*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:003_003_024 @atom:*_b*_a003*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:006_003_024 @atom:*_b*_a006*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:010_003_024 @atom:*_b*_a010*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:013_003_024 @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:004_003_024 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:020_003_024 @atom:*_b*_a020*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:013_003_044 @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:004_003_044 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:013_003_046 @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:046_003_046 @atom:*_b*_a046*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:004_003_046 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:024_003_046 @atom:*_b*_a024*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:005_003_046 @atom:*_b*_a005*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:020_003_046 @atom:*_b*_a020*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:024_003_047 @atom:*_b*_a024*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:004_003_047 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:046_003_048 @atom:*_b*_a046*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:024_003_048 @atom:*_b*_a024*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_003_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:005_003_048 @atom:*_b*_a005*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:004_003_048 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:020_003_048 @atom:*_b*_a020*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:048_003_048 @atom:*_b*_a048*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_003_050 @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:046_003_050 @atom:*_b*_a046*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:004_003_050 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:010_003_052 @atom:*_b*_a010*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a052*_d*_i* + @angle:002_003_052 @atom:*_b*_a002*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a052*_d*_i* + @angle:006_003_052 @atom:*_b*_a006*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a052*_d*_i* + @angle:013_003_052 @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a052*_d*_i* + @angle:048_003_052 @atom:*_b*_a048*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a052*_d*_i* + @angle:004_003_052 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a052*_d*_i* + @angle:052_003_052 @atom:*_b*_a052*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a052*_d*_i* + @angle:046_003_056 @atom:*_b*_a046*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:004_003_056 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:047_003_057 @atom:*_b*_a047*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:056_003_057 @atom:*_b*_a056*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:057_003_057 @atom:*_b*_a057*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:004_003_057 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:024_003_060 @atom:*_b*_a024*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:057_003_060 @atom:*_b*_a057*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:004_003_060 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:013_003_065 @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a065*_d*_i* + @angle:004_003_065 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a065*_d*_i* + @angle:044_003_084 @atom:*_b*_a044*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:004_003_084 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:004_003_087 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:057_003_105 @atom:*_b*_a057*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:056_003_105 @atom:*_b*_a056*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:004_003_105 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:013_003_107 @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a107*_d*_i* + @angle:004_003_107 @atom:*_b*_a004*_d*_i* @atom:*_b*_a003*_d*_i* @atom:*_b*_a107*_d*_i* + @angle:025_004_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a004*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:003_004_025 @atom:*_b*_a003*_d*_i* @atom:*_b*_a004*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:003_005_007 @atom:*_b*_a003*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a007*_d*_i* + @angle:002_005_007 @atom:*_b*_a002*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a007*_d*_i* + @angle:006_005_007 @atom:*_b*_a006*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a007*_d*_i* + @angle:007_005_010 @atom:*_b*_a007*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:007_005_013 @atom:*_b*_a007*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:007_005_024 @atom:*_b*_a007*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:025_005_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:007_005_025 @atom:*_b*_a007*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:013_005_025 @atom:*_b*_a013*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:007_005_047 @atom:*_b*_a007*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:025_005_048 @atom:*_b*_a025*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:007_005_048 @atom:*_b*_a007*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:007_005_051 @atom:*_b*_a007*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a051*_d*_i* + @angle:007_005_064 @atom:*_b*_a007*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a064*_d*_i* + @angle:013_005_064 @atom:*_b*_a013*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a064*_d*_i* + @angle:007_005_079 @atom:*_b*_a007*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a079*_d*_i* + @angle:007_005_106 @atom:*_b*_a007*_d*_i* @atom:*_b*_a005*_d*_i* @atom:*_b*_a106*_d*_i* + @angle:005_007_025 @atom:*_b*_a005*_d*_i* @atom:*_b*_a007*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:025_007_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a007*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:002_010_002 @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a002*_d*_i* + @angle:002_010_003 @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a003*_d*_i* + @angle:002_010_005 @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a005*_d*_i* + @angle:003_010_006 @atom:*_b*_a003*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:006_010_006 @atom:*_b*_a006*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:002_010_006 @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:005_010_006 @atom:*_b*_a005*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:003_010_010 @atom:*_b*_a003*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:002_010_010 @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:006_010_010 @atom:*_b*_a006*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:010_010_010 @atom:*_b*_a010*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:005_010_010 @atom:*_b*_a005*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:002_010_020 @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:006_010_020 @atom:*_b*_a006*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:010_010_020 @atom:*_b*_a010*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:003_010_024 @atom:*_b*_a003*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:006_010_024 @atom:*_b*_a006*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:002_010_024 @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:010_010_024 @atom:*_b*_a010*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:002_010_044 @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:006_010_044 @atom:*_b*_a006*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:010_010_044 @atom:*_b*_a010*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:013_010_044 @atom:*_b*_a013*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:003_010_044 @atom:*_b*_a003*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:002_010_048 @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:020_010_048 @atom:*_b*_a020*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:002_010_105 @atom:*_b*_a002*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:010_010_105 @atom:*_b*_a010*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:020_010_105 @atom:*_b*_a020*_d*_i* @atom:*_b*_a010*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:002_011_002 @atom:*_b*_a002*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a002*_d*_i* + @angle:002_011_006 @atom:*_b*_a002*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:006_011_006 @atom:*_b*_a006*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:002_011_009 @atom:*_b*_a002*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a009*_d*_i* + @angle:006_011_009 @atom:*_b*_a006*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a009*_d*_i* + @angle:009_011_010 @atom:*_b*_a009*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:002_011_010 @atom:*_b*_a002*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:006_011_010 @atom:*_b*_a006*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:010_011_010 @atom:*_b*_a010*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:002_011_011 @atom:*_b*_a002*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a011*_d*_i* + @angle:006_011_011 @atom:*_b*_a006*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a011*_d*_i* + @angle:009_011_011 @atom:*_b*_a009*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a011*_d*_i* + @angle:010_011_011 @atom:*_b*_a010*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a011*_d*_i* + @angle:011_011_011 @atom:*_b*_a011*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a011*_d*_i* + @angle:009_011_013 @atom:*_b*_a009*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:011_011_013 @atom:*_b*_a011*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:002_011_013 @atom:*_b*_a002*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:006_011_013 @atom:*_b*_a006*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:010_011_013 @atom:*_b*_a010*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_011_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:009_011_014 @atom:*_b*_a009*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a014*_d*_i* + @angle:011_011_014 @atom:*_b*_a011*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a014*_d*_i* + @angle:009_011_079 @atom:*_b*_a009*_d*_i* @atom:*_b*_a011*_d*_i* @atom:*_b*_a079*_d*_i* + @angle:002_012_012 @atom:*_b*_a002*_d*_i* @atom:*_b*_a012*_d*_i* @atom:*_b*_a012*_d*_i* + @angle:003_012_012 @atom:*_b*_a003*_d*_i* @atom:*_b*_a012*_d*_i* @atom:*_b*_a012*_d*_i* + @angle:012_012_012 @atom:*_b*_a012*_d*_i* @atom:*_b*_a012*_d*_i* @atom:*_b*_a012*_d*_i* + @angle:012_012_048 @atom:*_b*_a012*_d*_i* @atom:*_b*_a012*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:012_012_060 @atom:*_b*_a012*_d*_i* @atom:*_b*_a012*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:012_012_081 @atom:*_b*_a012*_d*_i* @atom:*_b*_a012*_d*_i* @atom:*_b*_a081*_d*_i* + @angle:001_013_001 @atom:*_b*_a001*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a001*_d*_i* + @angle:002_013_002 @atom:*_b*_a002*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a002*_d*_i* + @angle:001_013_003 @atom:*_b*_a001*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* + @angle:002_013_003 @atom:*_b*_a002*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* + @angle:003_013_003 @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a003*_d*_i* + @angle:002_013_006 @atom:*_b*_a002*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:006_013_006 @atom:*_b*_a006*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:003_013_006 @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:001_013_013 @atom:*_b*_a001*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:005_013_013 @atom:*_b*_a005*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_013_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:003_013_013 @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_013_015 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a015*_d*_i* + @angle:013_013_016 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a016*_d*_i* + @angle:013_013_019 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a019*_d*_i* + @angle:003_013_020 @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:013_013_020 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:003_013_021 @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a021*_d*_i* + @angle:013_013_021 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a021*_d*_i* + @angle:021_013_021 @atom:*_b*_a021*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a021*_d*_i* + @angle:013_013_022 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a022*_d*_i* + @angle:020_013_024 @atom:*_b*_a020*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:003_013_024 @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:002_013_024 @atom:*_b*_a002*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:013_013_024 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:016_013_044 @atom:*_b*_a016*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:002_013_044 @atom:*_b*_a002*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:006_013_044 @atom:*_b*_a006*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:010_013_044 @atom:*_b*_a010*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:013_013_044 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:003_013_044 @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:046_013_046 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:018_013_046 @atom:*_b*_a018*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:019_013_046 @atom:*_b*_a019*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:002_013_046 @atom:*_b*_a002*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:003_013_046 @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:005_013_046 @atom:*_b*_a005*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:015_013_046 @atom:*_b*_a015*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:016_013_046 @atom:*_b*_a016*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:020_013_046 @atom:*_b*_a020*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:022_013_046 @atom:*_b*_a022*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:024_013_046 @atom:*_b*_a024*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:044_013_046 @atom:*_b*_a044*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:013_013_046 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:001_013_046 @atom:*_b*_a001*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:021_013_046 @atom:*_b*_a021*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:046_013_047 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:001_013_047 @atom:*_b*_a001*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:013_013_047 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:047_013_047 @atom:*_b*_a047*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:046_013_048 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:047_013_048 @atom:*_b*_a047*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:048_013_048 @atom:*_b*_a048*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:001_013_048 @atom:*_b*_a001*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:005_013_048 @atom:*_b*_a005*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:020_013_048 @atom:*_b*_a020*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:016_013_048 @atom:*_b*_a016*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:003_013_048 @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:002_013_048 @atom:*_b*_a002*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_013_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:044_013_048 @atom:*_b*_a044*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:046_013_050 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:046_013_051 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a051*_d*_i* + @angle:005_013_051 @atom:*_b*_a005*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a051*_d*_i* + @angle:013_013_051 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a051*_d*_i* + @angle:046_013_053 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a053*_d*_i* + @angle:003_013_053 @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a053*_d*_i* + @angle:013_013_053 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a053*_d*_i* + @angle:046_013_055 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a055*_d*_i* + @angle:013_013_055 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a055*_d*_i* + @angle:046_013_056 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:003_013_056 @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:013_013_056 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:046_013_057 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:048_013_057 @atom:*_b*_a048*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:046_013_060 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:013_013_060 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:046_013_064 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a064*_d*_i* + @angle:013_013_064 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a064*_d*_i* + @angle:048_013_064 @atom:*_b*_a048*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a064*_d*_i* + @angle:046_013_065 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a065*_d*_i* + @angle:003_013_065 @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a065*_d*_i* + @angle:013_013_065 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a065*_d*_i* + @angle:048_013_065 @atom:*_b*_a048*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a065*_d*_i* + @angle:065_013_065 @atom:*_b*_a065*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a065*_d*_i* + @angle:046_013_066 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a066*_d*_i* + @angle:013_013_066 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a066*_d*_i* + @angle:046_013_079 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a079*_d*_i* + @angle:013_013_079 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a079*_d*_i* + @angle:001_013_079 @atom:*_b*_a001*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a079*_d*_i* + @angle:046_013_080 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a080*_d*_i* + @angle:013_013_080 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a080*_d*_i* + @angle:046_013_083 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a083*_d*_i* + @angle:013_013_083 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a083*_d*_i* + @angle:046_013_084 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:016_013_084 @atom:*_b*_a016*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:013_013_084 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:046_013_085 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a085*_d*_i* + @angle:013_013_085 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a085*_d*_i* + @angle:046_013_087 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:013_013_087 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:046_013_090 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a090*_d*_i* + @angle:013_013_090 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a090*_d*_i* + @angle:003_013_090 @atom:*_b*_a003*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a090*_d*_i* + @angle:046_013_091 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:046_013_095 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a095*_d*_i* + @angle:013_013_095 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a095*_d*_i* + @angle:046_013_101 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a101*_d*_i* + @angle:013_013_101 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a101*_d*_i* + @angle:046_013_102 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a102*_d*_i* + @angle:013_013_102 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a102*_d*_i* + @angle:046_013_104 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a104*_d*_i* + @angle:013_013_104 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a104*_d*_i* + @angle:046_013_105 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:013_013_105 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:020_013_105 @atom:*_b*_a020*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:046_013_107 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a107*_d*_i* + @angle:013_013_107 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a107*_d*_i* + @angle:046_013_108 @atom:*_b*_a046*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a108*_d*_i* + @angle:013_013_108 @atom:*_b*_a013*_d*_i* @atom:*_b*_a013*_d*_i* @atom:*_b*_a108*_d*_i* + @angle:002_014_002 @atom:*_b*_a002*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a002*_d*_i* + @angle:002_014_006 @atom:*_b*_a002*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:006_014_006 @atom:*_b*_a006*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:002_014_009 @atom:*_b*_a002*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a009*_d*_i* + @angle:006_014_009 @atom:*_b*_a006*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a009*_d*_i* + @angle:009_014_010 @atom:*_b*_a009*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:002_014_010 @atom:*_b*_a002*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:006_014_010 @atom:*_b*_a006*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:010_014_010 @atom:*_b*_a010*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:002_014_011 @atom:*_b*_a002*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a011*_d*_i* + @angle:006_014_011 @atom:*_b*_a006*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a011*_d*_i* + @angle:009_014_011 @atom:*_b*_a009*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a011*_d*_i* + @angle:010_014_011 @atom:*_b*_a010*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a011*_d*_i* + @angle:011_014_011 @atom:*_b*_a011*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a011*_d*_i* + @angle:009_014_013 @atom:*_b*_a009*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:011_014_013 @atom:*_b*_a011*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:002_014_013 @atom:*_b*_a002*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:006_014_013 @atom:*_b*_a006*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:010_014_013 @atom:*_b*_a010*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_014_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:002_014_014 @atom:*_b*_a002*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a014*_d*_i* + @angle:006_014_014 @atom:*_b*_a006*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a014*_d*_i* + @angle:009_014_014 @atom:*_b*_a009*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a014*_d*_i* + @angle:010_014_014 @atom:*_b*_a010*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a014*_d*_i* + @angle:011_014_014 @atom:*_b*_a011*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a014*_d*_i* + @angle:013_014_014 @atom:*_b*_a013*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a014*_d*_i* + @angle:014_014_014 @atom:*_b*_a014*_d*_i* @atom:*_b*_a014*_d*_i* @atom:*_b*_a014*_d*_i* + @angle:017_015_017 @atom:*_b*_a017*_d*_i* @atom:*_b*_a015*_d*_i* @atom:*_b*_a017*_d*_i* + @angle:002_015_017 @atom:*_b*_a002*_d*_i* @atom:*_b*_a015*_d*_i* @atom:*_b*_a017*_d*_i* + @angle:006_015_017 @atom:*_b*_a006*_d*_i* @atom:*_b*_a015*_d*_i* @atom:*_b*_a017*_d*_i* + @angle:013_015_017 @atom:*_b*_a013*_d*_i* @atom:*_b*_a015*_d*_i* @atom:*_b*_a017*_d*_i* + @angle:025_015_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a015*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:013_015_025 @atom:*_b*_a013*_d*_i* @atom:*_b*_a015*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:033_015_033 @atom:*_b*_a033*_d*_i* @atom:*_b*_a015*_d*_i* @atom:*_b*_a033*_d*_i* + @angle:002_015_033 @atom:*_b*_a002*_d*_i* @atom:*_b*_a015*_d*_i* @atom:*_b*_a033*_d*_i* + @angle:006_015_033 @atom:*_b*_a006*_d*_i* @atom:*_b*_a015*_d*_i* @atom:*_b*_a033*_d*_i* + @angle:013_015_033 @atom:*_b*_a013*_d*_i* @atom:*_b*_a015*_d*_i* @atom:*_b*_a033*_d*_i* + @angle:017_015_033 @atom:*_b*_a017*_d*_i* @atom:*_b*_a015*_d*_i* @atom:*_b*_a033*_d*_i* + @angle:017_015_048 @atom:*_b*_a017*_d*_i* @atom:*_b*_a015*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:002_016_006 @atom:*_b*_a002*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:013_016_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:002_016_016 @atom:*_b*_a002*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a016*_d*_i* + @angle:006_016_016 @atom:*_b*_a006*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a016*_d*_i* + @angle:013_016_016 @atom:*_b*_a013*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a016*_d*_i* + @angle:013_016_019 @atom:*_b*_a013*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a019*_d*_i* + @angle:025_016_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:013_016_025 @atom:*_b*_a013*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:033_016_033 @atom:*_b*_a033*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a033*_d*_i* + @angle:002_016_033 @atom:*_b*_a002*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a033*_d*_i* + @angle:006_016_033 @atom:*_b*_a006*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a033*_d*_i* + @angle:013_016_033 @atom:*_b*_a013*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a033*_d*_i* + @angle:016_016_033 @atom:*_b*_a016*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a033*_d*_i* + @angle:013_016_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:047_016_048 @atom:*_b*_a047*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:024_016_060 @atom:*_b*_a024*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:025_016_061 @atom:*_b*_a025*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:025_016_082 @atom:*_b*_a025*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:060_016_082 @atom:*_b*_a060*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:025_016_084 @atom:*_b*_a025*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:082_016_084 @atom:*_b*_a082*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:060_016_084 @atom:*_b*_a060*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:084_016_084 @atom:*_b*_a084*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:013_016_091 @atom:*_b*_a013*_d*_i* @atom:*_b*_a016*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:015_017_025 @atom:*_b*_a015*_d*_i* @atom:*_b*_a017*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:025_017_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a017*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:013_018_019 @atom:*_b*_a013*_d*_i* @atom:*_b*_a018*_d*_i* @atom:*_b*_a019*_d*_i* + @angle:019_018_048 @atom:*_b*_a019*_d*_i* @atom:*_b*_a018*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:018_018_056 @atom:*_b*_a018*_d*_i* @atom:*_b*_a018*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:013_019_018 @atom:*_b*_a013*_d*_i* @atom:*_b*_a019*_d*_i* @atom:*_b*_a018*_d*_i* + @angle:016_019_019 @atom:*_b*_a016*_d*_i* @atom:*_b*_a019*_d*_i* @atom:*_b*_a019*_d*_i* + @angle:013_019_019 @atom:*_b*_a013*_d*_i* @atom:*_b*_a019*_d*_i* @atom:*_b*_a019*_d*_i* + @angle:018_019_025 @atom:*_b*_a018*_d*_i* @atom:*_b*_a019*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:019_019_046 @atom:*_b*_a019*_d*_i* @atom:*_b*_a019*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:018_019_047 @atom:*_b*_a018*_d*_i* @atom:*_b*_a019*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:019_019_047 @atom:*_b*_a019*_d*_i* @atom:*_b*_a019*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:018_019_048 @atom:*_b*_a018*_d*_i* @atom:*_b*_a019*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:019_019_048 @atom:*_b*_a019*_d*_i* @atom:*_b*_a019*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:019_019_050 @atom:*_b*_a019*_d*_i* @atom:*_b*_a019*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:018_019_055 @atom:*_b*_a018*_d*_i* @atom:*_b*_a019*_d*_i* @atom:*_b*_a055*_d*_i* + @angle:018_019_088 @atom:*_b*_a018*_d*_i* @atom:*_b*_a019*_d*_i* @atom:*_b*_a088*_d*_i* + @angle:002_020_002 @atom:*_b*_a002*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a002*_d*_i* + @angle:002_020_003 @atom:*_b*_a002*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a003*_d*_i* + @angle:003_020_006 @atom:*_b*_a003*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:002_020_006 @atom:*_b*_a002*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:002_020_007 @atom:*_b*_a002*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a007*_d*_i* + @angle:007_020_010 @atom:*_b*_a007*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:003_020_010 @atom:*_b*_a003*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:010_020_010 @atom:*_b*_a010*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:013_020_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:003_020_013 @atom:*_b*_a003*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:025_020_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:013_020_025 @atom:*_b*_a013*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:013_020_047 @atom:*_b*_a013*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:025_020_048 @atom:*_b*_a025*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_020_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:047_020_048 @atom:*_b*_a047*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:048_020_048 @atom:*_b*_a048*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:003_020_048 @atom:*_b*_a003*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:002_020_048 @atom:*_b*_a002*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_020_051 @atom:*_b*_a013*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a051*_d*_i* + @angle:002_020_051 @atom:*_b*_a002*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a051*_d*_i* + @angle:006_020_051 @atom:*_b*_a006*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a051*_d*_i* + @angle:010_020_051 @atom:*_b*_a010*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a051*_d*_i* + @angle:024_020_060 @atom:*_b*_a024*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:025_020_061 @atom:*_b*_a025*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:002_020_064 @atom:*_b*_a002*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a064*_d*_i* + @angle:006_020_064 @atom:*_b*_a006*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a064*_d*_i* + @angle:010_020_064 @atom:*_b*_a010*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a064*_d*_i* + @angle:013_020_064 @atom:*_b*_a013*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a064*_d*_i* + @angle:048_020_064 @atom:*_b*_a048*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a064*_d*_i* + @angle:064_020_064 @atom:*_b*_a064*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a064*_d*_i* + @angle:025_020_082 @atom:*_b*_a025*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:060_020_082 @atom:*_b*_a060*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:082_020_082 @atom:*_b*_a082*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:025_020_084 @atom:*_b*_a025*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:082_020_084 @atom:*_b*_a082*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:060_020_084 @atom:*_b*_a060*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:084_020_084 @atom:*_b*_a084*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:061_020_084 @atom:*_b*_a061*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:108_020_108 @atom:*_b*_a108*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a108*_d*_i* + @angle:013_020_108 @atom:*_b*_a013*_d*_i* @atom:*_b*_a020*_d*_i* @atom:*_b*_a108*_d*_i* + @angle:025_021_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a021*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:013_022_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a022*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_022_023 @atom:*_b*_a013*_d*_i* @atom:*_b*_a022*_d*_i* @atom:*_b*_a023*_d*_i* + @angle:023_022_025 @atom:*_b*_a023*_d*_i* @atom:*_b*_a022*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:002_024_003 @atom:*_b*_a002*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a003*_d*_i* + @angle:003_024_003 @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a003*_d*_i* + @angle:003_024_005 @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a005*_d*_i* + @angle:002_024_006 @atom:*_b*_a002*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:003_024_006 @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:002_024_010 @atom:*_b*_a002*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:003_024_010 @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:013_024_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:003_024_013 @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:003_024_016 @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a016*_d*_i* + @angle:003_024_020 @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:003_024_025 @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:025_024_045 @atom:*_b*_a025*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:005_024_045 @atom:*_b*_a005*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:003_024_045 @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:045_024_045 @atom:*_b*_a045*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:002_024_045 @atom:*_b*_a002*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:006_024_045 @atom:*_b*_a006*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:010_024_045 @atom:*_b*_a010*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:013_024_045 @atom:*_b*_a013*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:045_024_048 @atom:*_b*_a045*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_024_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:003_024_048 @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:048_024_048 @atom:*_b*_a048*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:054_024_054 @atom:*_b*_a054*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a054*_d*_i* + @angle:045_024_059 @atom:*_b*_a045*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a059*_d*_i* + @angle:003_024_059 @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a059*_d*_i* + @angle:013_024_079 @atom:*_b*_a013*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a079*_d*_i* + @angle:045_024_079 @atom:*_b*_a045*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a079*_d*_i* + @angle:045_024_084 @atom:*_b*_a045*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:048_024_084 @atom:*_b*_a048*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:016_024_086 @atom:*_b*_a016*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a086*_d*_i* + @angle:045_024_087 @atom:*_b*_a045*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:048_024_087 @atom:*_b*_a048*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:045_024_088 @atom:*_b*_a045*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a088*_d*_i* + @angle:048_024_088 @atom:*_b*_a048*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a088*_d*_i* + @angle:045_024_091 @atom:*_b*_a045*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:003_024_091 @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:048_024_103 @atom:*_b*_a048*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a103*_d*_i* + @angle:003_024_106 @atom:*_b*_a003*_d*_i* @atom:*_b*_a024*_d*_i* @atom:*_b*_a106*_d*_i* + @angle:025_025_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a025*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:032_031_032 @atom:*_b*_a032*_d*_i* @atom:*_b*_a031*_d*_i* @atom:*_b*_a032*_d*_i* + @angle:032_031_033 @atom:*_b*_a032*_d*_i* @atom:*_b*_a031*_d*_i* @atom:*_b*_a033*_d*_i* + @angle:035_034_035 @atom:*_b*_a035*_d*_i* @atom:*_b*_a034*_d*_i* @atom:*_b*_a035*_d*_i* + @angle:037_036_037 @atom:*_b*_a037*_d*_i* @atom:*_b*_a036*_d*_i* @atom:*_b*_a037*_d*_i* + @angle:037_036_038 @atom:*_b*_a037*_d*_i* @atom:*_b*_a036*_d*_i* @atom:*_b*_a038*_d*_i* + @angle:040_039_040 @atom:*_b*_a040*_d*_i* @atom:*_b*_a039*_d*_i* @atom:*_b*_a040*_d*_i* + @angle:041_039_041 @atom:*_b*_a041*_d*_i* @atom:*_b*_a039*_d*_i* @atom:*_b*_a041*_d*_i* + @angle:040_039_041 @atom:*_b*_a040*_d*_i* @atom:*_b*_a039*_d*_i* @atom:*_b*_a041*_d*_i* + @angle:043_042_043 @atom:*_b*_a043*_d*_i* @atom:*_b*_a042*_d*_i* @atom:*_b*_a043*_d*_i* + @angle:002_044_002 @atom:*_b*_a002*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a002*_d*_i* + @angle:002_044_006 @atom:*_b*_a002*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:006_044_006 @atom:*_b*_a006*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:002_044_010 @atom:*_b*_a002*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:006_044_010 @atom:*_b*_a006*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:010_044_010 @atom:*_b*_a010*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:002_044_013 @atom:*_b*_a002*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:006_044_013 @atom:*_b*_a006*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:010_044_013 @atom:*_b*_a010*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_044_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:003_044_013 @atom:*_b*_a003*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:025_044_045 @atom:*_b*_a025*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:013_044_045 @atom:*_b*_a013*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:002_044_045 @atom:*_b*_a002*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:006_044_045 @atom:*_b*_a006*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:010_044_045 @atom:*_b*_a010*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:045_044_045 @atom:*_b*_a045*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:025_044_048 @atom:*_b*_a025*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:045_044_048 @atom:*_b*_a045*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_044_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:048_044_048 @atom:*_b*_a048*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:003_044_048 @atom:*_b*_a003*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:045_044_079 @atom:*_b*_a045*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a079*_d*_i* + @angle:013_044_079 @atom:*_b*_a013*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a079*_d*_i* + @angle:048_044_079 @atom:*_b*_a048*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a079*_d*_i* + @angle:048_044_091 @atom:*_b*_a048*_d*_i* @atom:*_b*_a044*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:025_045_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a045*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:025_045_044 @atom:*_b*_a025*_d*_i* @atom:*_b*_a045*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:025_046_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a046*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:013_046_025 @atom:*_b*_a013*_d*_i* @atom:*_b*_a046*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:001_047_001 @atom:*_b*_a001*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a001*_d*_i* + @angle:001_047_003 @atom:*_b*_a001*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a003*_d*_i* + @angle:003_047_006 @atom:*_b*_a003*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:003_047_013 @atom:*_b*_a003*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_047_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:025_047_046 @atom:*_b*_a025*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:020_047_046 @atom:*_b*_a020*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:013_047_046 @atom:*_b*_a013*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:046_047_046 @atom:*_b*_a046*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:003_047_046 @atom:*_b*_a003*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:019_047_046 @atom:*_b*_a019*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:001_047_046 @atom:*_b*_a001*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:021_047_046 @atom:*_b*_a021*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:025_047_047 @atom:*_b*_a025*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:046_047_047 @atom:*_b*_a046*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:005_047_047 @atom:*_b*_a005*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:020_047_047 @atom:*_b*_a020*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:013_047_047 @atom:*_b*_a013*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:019_047_047 @atom:*_b*_a019*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:021_047_047 @atom:*_b*_a021*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:001_047_047 @atom:*_b*_a001*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:016_047_047 @atom:*_b*_a016*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:003_047_047 @atom:*_b*_a003*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:046_047_048 @atom:*_b*_a046*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:047_047_048 @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_047_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:025_047_050 @atom:*_b*_a025*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:046_047_050 @atom:*_b*_a046*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:005_047_050 @atom:*_b*_a005*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:020_047_050 @atom:*_b*_a020*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:013_047_050 @atom:*_b*_a013*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:046_047_057 @atom:*_b*_a046*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:013_047_057 @atom:*_b*_a013*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:020_047_057 @atom:*_b*_a020*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:047_047_057 @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:016_047_057 @atom:*_b*_a016*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:057_047_058 @atom:*_b*_a057*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a058*_d*_i* + @angle:047_047_058 @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a058*_d*_i* + @angle:046_047_065 @atom:*_b*_a046*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a065*_d*_i* + @angle:047_047_065 @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a065*_d*_i* + @angle:046_047_091 @atom:*_b*_a046*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:003_047_091 @atom:*_b*_a003*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:047_047_091 @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:046_047_105 @atom:*_b*_a046*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:058_047_105 @atom:*_b*_a058*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:013_047_105 @atom:*_b*_a013*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:020_047_105 @atom:*_b*_a020*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:047_047_105 @atom:*_b*_a047*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:016_047_105 @atom:*_b*_a016*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:046_047_110 @atom:*_b*_a046*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a110*_d*_i* + @angle:013_047_110 @atom:*_b*_a013*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a110*_d*_i* + @angle:048_047_110 @atom:*_b*_a048*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a110*_d*_i* + @angle:001_047_110 @atom:*_b*_a001*_d*_i* @atom:*_b*_a047*_d*_i* @atom:*_b*_a110*_d*_i* + @angle:002_048_012 @atom:*_b*_a002*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a012*_d*_i* + @angle:012_048_012 @atom:*_b*_a012*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a012*_d*_i* + @angle:003_048_013 @atom:*_b*_a003*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:025_048_048 @atom:*_b*_a025*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:048_048_048 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:002_048_048 @atom:*_b*_a002*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:005_048_048 @atom:*_b*_a005*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:010_048_048 @atom:*_b*_a010*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_048_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:015_048_048 @atom:*_b*_a015*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:019_048_048 @atom:*_b*_a019*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:020_048_048 @atom:*_b*_a020*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:024_048_048 @atom:*_b*_a024*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:044_048_048 @atom:*_b*_a044*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:047_048_048 @atom:*_b*_a047*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:021_048_048 @atom:*_b*_a021*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:001_048_048 @atom:*_b*_a001*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:018_048_048 @atom:*_b*_a018*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:016_048_048 @atom:*_b*_a016*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:003_048_048 @atom:*_b*_a003*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:025_048_049 @atom:*_b*_a025*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a049*_d*_i* + @angle:024_048_049 @atom:*_b*_a024*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a049*_d*_i* + @angle:003_048_049 @atom:*_b*_a003*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a049*_d*_i* + @angle:048_048_049 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a049*_d*_i* + @angle:048_048_050 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:048_048_053 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a053*_d*_i* + @angle:055_048_055 @atom:*_b*_a055*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a055*_d*_i* + @angle:047_048_055 @atom:*_b*_a047*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a055*_d*_i* + @angle:048_048_055 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a055*_d*_i* + @angle:049_048_056 @atom:*_b*_a049*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:013_048_056 @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:044_048_056 @atom:*_b*_a044*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:055_048_056 @atom:*_b*_a055*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:005_048_056 @atom:*_b*_a005*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:047_048_056 @atom:*_b*_a047*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:050_048_056 @atom:*_b*_a050*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:048_048_056 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:021_048_056 @atom:*_b*_a021*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:049_048_057 @atom:*_b*_a049*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:048_048_057 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:055_048_057 @atom:*_b*_a055*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:013_048_057 @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:047_048_057 @atom:*_b*_a047*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:056_048_057 @atom:*_b*_a056*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:049_048_060 @atom:*_b*_a049*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:048_048_060 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:057_048_060 @atom:*_b*_a057*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:056_048_060 @atom:*_b*_a056*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:055_048_060 @atom:*_b*_a055*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:002_048_060 @atom:*_b*_a002*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:013_048_060 @atom:*_b*_a013*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:049_048_061 @atom:*_b*_a049*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:048_048_061 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:057_048_061 @atom:*_b*_a057*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:048_048_064 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a064*_d*_i* + @angle:048_048_065 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a065*_d*_i* + @angle:048_048_066 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a066*_d*_i* + @angle:048_048_079 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a079*_d*_i* + @angle:049_048_081 @atom:*_b*_a049*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a081*_d*_i* + @angle:048_048_081 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a081*_d*_i* + @angle:049_048_084 @atom:*_b*_a049*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:060_048_084 @atom:*_b*_a060*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:048_048_084 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:049_048_086 @atom:*_b*_a049*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a086*_d*_i* + @angle:048_048_086 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a086*_d*_i* + @angle:056_048_086 @atom:*_b*_a056*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a086*_d*_i* + @angle:049_048_088 @atom:*_b*_a049*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a088*_d*_i* + @angle:101_048_101 @atom:*_b*_a101*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a101*_d*_i* + @angle:056_048_101 @atom:*_b*_a056*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a101*_d*_i* + @angle:048_048_102 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a102*_d*_i* + @angle:048_048_109 @atom:*_b*_a048*_d*_i* @atom:*_b*_a048*_d*_i* @atom:*_b*_a109*_d*_i* + @angle:025_050_046 @atom:*_b*_a025*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:019_050_046 @atom:*_b*_a019*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:025_050_047 @atom:*_b*_a025*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:046_050_047 @atom:*_b*_a046*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:003_050_047 @atom:*_b*_a003*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:013_050_047 @atom:*_b*_a013*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:046_050_048 @atom:*_b*_a046*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:047_050_048 @atom:*_b*_a047*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:025_050_050 @atom:*_b*_a025*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:046_050_050 @atom:*_b*_a046*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:013_050_050 @atom:*_b*_a013*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:047_050_050 @atom:*_b*_a047*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:050_050_084 @atom:*_b*_a050*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:046_050_084 @atom:*_b*_a046*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:046_050_109 @atom:*_b*_a046*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a109*_d*_i* + @angle:013_050_109 @atom:*_b*_a013*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a109*_d*_i* + @angle:047_050_109 @atom:*_b*_a047*_d*_i* @atom:*_b*_a050*_d*_i* @atom:*_b*_a109*_d*_i* + @angle:006_051_006 @atom:*_b*_a006*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a006*_d*_i* + @angle:005_051_013 @atom:*_b*_a005*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_051_020 @atom:*_b*_a013*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:002_051_020 @atom:*_b*_a002*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:006_051_020 @atom:*_b*_a006*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:005_051_020 @atom:*_b*_a005*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:020_051_020 @atom:*_b*_a020*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:046_051_046 @atom:*_b*_a046*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:005_051_046 @atom:*_b*_a005*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:020_051_046 @atom:*_b*_a020*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:013_051_046 @atom:*_b*_a013*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:046_051_105 @atom:*_b*_a046*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:013_051_105 @atom:*_b*_a013*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:020_051_105 @atom:*_b*_a020*_d*_i* @atom:*_b*_a051*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:013_053_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a053*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_053_025 @atom:*_b*_a013*_d*_i* @atom:*_b*_a053*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:045_053_045 @atom:*_b*_a045*_d*_i* @atom:*_b*_a053*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:025_053_048 @atom:*_b*_a025*_d*_i* @atom:*_b*_a053*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_053_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a053*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:002_053_054 @atom:*_b*_a002*_d*_i* @atom:*_b*_a053*_d*_i* @atom:*_b*_a054*_d*_i* + @angle:006_053_054 @atom:*_b*_a006*_d*_i* @atom:*_b*_a053*_d*_i* @atom:*_b*_a054*_d*_i* + @angle:013_053_054 @atom:*_b*_a013*_d*_i* @atom:*_b*_a053*_d*_i* @atom:*_b*_a054*_d*_i* + @angle:048_053_054 @atom:*_b*_a048*_d*_i* @atom:*_b*_a053*_d*_i* @atom:*_b*_a054*_d*_i* + @angle:054_053_054 @atom:*_b*_a054*_d*_i* @atom:*_b*_a053*_d*_i* @atom:*_b*_a054*_d*_i* + @angle:025_053_082 @atom:*_b*_a025*_d*_i* @atom:*_b*_a053*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:013_055_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a055*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:045_055_045 @atom:*_b*_a045*_d*_i* @atom:*_b*_a055*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:013_055_045 @atom:*_b*_a013*_d*_i* @atom:*_b*_a055*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:045_055_048 @atom:*_b*_a045*_d*_i* @atom:*_b*_a055*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:002_055_048 @atom:*_b*_a002*_d*_i* @atom:*_b*_a055*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:006_055_048 @atom:*_b*_a006*_d*_i* @atom:*_b*_a055*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_055_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a055*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:002_055_054 @atom:*_b*_a002*_d*_i* @atom:*_b*_a055*_d*_i* @atom:*_b*_a054*_d*_i* + @angle:013_055_054 @atom:*_b*_a013*_d*_i* @atom:*_b*_a055*_d*_i* @atom:*_b*_a054*_d*_i* + @angle:048_055_054 @atom:*_b*_a048*_d*_i* @atom:*_b*_a055*_d*_i* @atom:*_b*_a054*_d*_i* + @angle:054_055_054 @atom:*_b*_a054*_d*_i* @atom:*_b*_a055*_d*_i* @atom:*_b*_a054*_d*_i* + @angle:045_055_059 @atom:*_b*_a045*_d*_i* @atom:*_b*_a055*_d*_i* @atom:*_b*_a059*_d*_i* + @angle:003_056_013 @atom:*_b*_a003*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_056_018 @atom:*_b*_a013*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a018*_d*_i* + @angle:025_056_048 @atom:*_b*_a025*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:045_056_048 @atom:*_b*_a045*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_056_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:048_056_048 @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:003_056_048 @atom:*_b*_a003*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_056_056 @atom:*_b*_a013*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:048_056_056 @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:025_056_059 @atom:*_b*_a025*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a059*_d*_i* + @angle:048_056_059 @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a059*_d*_i* + @angle:059_056_059 @atom:*_b*_a059*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a059*_d*_i* + @angle:059_056_060 @atom:*_b*_a059*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:048_056_060 @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:059_056_082 @atom:*_b*_a059*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:048_056_086 @atom:*_b*_a048*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a086*_d*_i* + @angle:013_056_103 @atom:*_b*_a013*_d*_i* @atom:*_b*_a056*_d*_i* @atom:*_b*_a103*_d*_i* + @angle:003_057_003 @atom:*_b*_a003*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a003*_d*_i* + @angle:003_057_045 @atom:*_b*_a003*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:045_057_047 @atom:*_b*_a045*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:003_057_047 @atom:*_b*_a003*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:045_057_048 @atom:*_b*_a045*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:003_057_048 @atom:*_b*_a003*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:048_057_048 @atom:*_b*_a048*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:045_057_060 @atom:*_b*_a045*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:013_057_060 @atom:*_b*_a013*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:060_057_061 @atom:*_b*_a060*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:045_057_061 @atom:*_b*_a045*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:013_057_061 @atom:*_b*_a013*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:048_057_061 @atom:*_b*_a048*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:045_057_062 @atom:*_b*_a045*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a062*_d*_i* + @angle:060_057_062 @atom:*_b*_a060*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a062*_d*_i* + @angle:048_057_062 @atom:*_b*_a048*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a062*_d*_i* + @angle:013_057_062 @atom:*_b*_a013*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a062*_d*_i* + @angle:045_057_081 @atom:*_b*_a045*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a081*_d*_i* + @angle:045_057_082 @atom:*_b*_a045*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:061_057_082 @atom:*_b*_a061*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:060_057_082 @atom:*_b*_a060*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:045_057_084 @atom:*_b*_a045*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:061_057_084 @atom:*_b*_a061*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:060_057_084 @atom:*_b*_a060*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:082_057_084 @atom:*_b*_a082*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:084_057_084 @atom:*_b*_a084*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:081_057_084 @atom:*_b*_a081*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:045_057_085 @atom:*_b*_a045*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a085*_d*_i* + @angle:082_057_085 @atom:*_b*_a082*_d*_i* @atom:*_b*_a057*_d*_i* @atom:*_b*_a085*_d*_i* + @angle:024_059_055 @atom:*_b*_a024*_d*_i* @atom:*_b*_a059*_d*_i* @atom:*_b*_a055*_d*_i* + @angle:049_059_056 @atom:*_b*_a049*_d*_i* @atom:*_b*_a059*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:013_059_056 @atom:*_b*_a013*_d*_i* @atom:*_b*_a059*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:055_059_056 @atom:*_b*_a055*_d*_i* @atom:*_b*_a059*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:024_059_056 @atom:*_b*_a024*_d*_i* @atom:*_b*_a059*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:056_059_056 @atom:*_b*_a056*_d*_i* @atom:*_b*_a059*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:056_059_063 @atom:*_b*_a056*_d*_i* @atom:*_b*_a059*_d*_i* @atom:*_b*_a063*_d*_i* + @angle:013_060_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:048_060_048 @atom:*_b*_a048*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:056_060_057 @atom:*_b*_a056*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:057_060_060 @atom:*_b*_a057*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:020_060_060 @atom:*_b*_a020*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:016_060_060 @atom:*_b*_a016*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:013_060_060 @atom:*_b*_a013*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:024_060_060 @atom:*_b*_a024*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:056_060_060 @atom:*_b*_a056*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:048_060_060 @atom:*_b*_a048*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:003_060_060 @atom:*_b*_a003*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:060_060_061 @atom:*_b*_a060*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:024_060_061 @atom:*_b*_a024*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:003_060_061 @atom:*_b*_a003*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:048_060_061 @atom:*_b*_a048*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:012_060_080 @atom:*_b*_a012*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a080*_d*_i* + @angle:048_060_080 @atom:*_b*_a048*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a080*_d*_i* + @angle:080_060_081 @atom:*_b*_a080*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a081*_d*_i* + @angle:012_060_081 @atom:*_b*_a012*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a081*_d*_i* + @angle:048_060_081 @atom:*_b*_a048*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a081*_d*_i* + @angle:003_060_084 @atom:*_b*_a003*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:060_060_087 @atom:*_b*_a060*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:057_060_087 @atom:*_b*_a057*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:081_060_087 @atom:*_b*_a081*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:012_060_087 @atom:*_b*_a012*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:048_060_087 @atom:*_b*_a048*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:060_060_105 @atom:*_b*_a060*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:056_060_105 @atom:*_b*_a056*_d*_i* @atom:*_b*_a060*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:048_061_048 @atom:*_b*_a048*_d*_i* @atom:*_b*_a061*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:025_061_057 @atom:*_b*_a025*_d*_i* @atom:*_b*_a061*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:025_061_061 @atom:*_b*_a025*_d*_i* @atom:*_b*_a061*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:060_061_062 @atom:*_b*_a060*_d*_i* @atom:*_b*_a061*_d*_i* @atom:*_b*_a062*_d*_i* + @angle:025_061_082 @atom:*_b*_a025*_d*_i* @atom:*_b*_a061*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:061_061_082 @atom:*_b*_a061*_d*_i* @atom:*_b*_a061*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:060_061_082 @atom:*_b*_a060*_d*_i* @atom:*_b*_a061*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:082_061_083 @atom:*_b*_a082*_d*_i* @atom:*_b*_a061*_d*_i* @atom:*_b*_a083*_d*_i* + @angle:057_061_084 @atom:*_b*_a057*_d*_i* @atom:*_b*_a061*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:082_061_084 @atom:*_b*_a082*_d*_i* @atom:*_b*_a061*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:057_061_088 @atom:*_b*_a057*_d*_i* @atom:*_b*_a061*_d*_i* @atom:*_b*_a088*_d*_i* + @angle:020_061_088 @atom:*_b*_a020*_d*_i* @atom:*_b*_a061*_d*_i* @atom:*_b*_a088*_d*_i* + @angle:049_062_057 @atom:*_b*_a049*_d*_i* @atom:*_b*_a062*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:049_062_061 @atom:*_b*_a049*_d*_i* @atom:*_b*_a062*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:057_062_061 @atom:*_b*_a057*_d*_i* @atom:*_b*_a062*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:057_062_063 @atom:*_b*_a057*_d*_i* @atom:*_b*_a062*_d*_i* @atom:*_b*_a063*_d*_i* + @angle:061_062_063 @atom:*_b*_a061*_d*_i* @atom:*_b*_a062*_d*_i* @atom:*_b*_a063*_d*_i* + @angle:049_062_105 @atom:*_b*_a049*_d*_i* @atom:*_b*_a062*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:063_062_105 @atom:*_b*_a063*_d*_i* @atom:*_b*_a062*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:061_062_105 @atom:*_b*_a061*_d*_i* @atom:*_b*_a062*_d*_i* @atom:*_b*_a105*_d*_i* + @angle:005_064_005 @atom:*_b*_a005*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a005*_d*_i* + @angle:004_064_005 @atom:*_b*_a004*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a005*_d*_i* + @angle:004_064_013 @atom:*_b*_a004*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:005_064_020 @atom:*_b*_a005*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:020_064_020 @atom:*_b*_a020*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:013_064_020 @atom:*_b*_a013*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:004_064_020 @atom:*_b*_a004*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:004_064_048 @atom:*_b*_a004*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:005_064_048 @atom:*_b*_a005*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:020_064_048 @atom:*_b*_a020*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:005_064_052 @atom:*_b*_a005*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a052*_d*_i* + @angle:013_064_052 @atom:*_b*_a013*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a052*_d*_i* + @angle:020_064_052 @atom:*_b*_a020*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a052*_d*_i* + @angle:052_064_052 @atom:*_b*_a052*_d*_i* @atom:*_b*_a064*_d*_i* @atom:*_b*_a052*_d*_i* + @angle:025_065_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a065*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:025_066_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a066*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:078_077_078 @atom:*_b*_a078*_d*_i* @atom:*_b*_a077*_d*_i* @atom:*_b*_a078*_d*_i* + @angle:006_079_011 @atom:*_b*_a006*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a011*_d*_i* + @angle:013_079_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:005_079_013 @atom:*_b*_a005*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:005_079_023 @atom:*_b*_a005*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a023*_d*_i* + @angle:013_079_023 @atom:*_b*_a013*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a023*_d*_i* + @angle:023_079_023 @atom:*_b*_a023*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a023*_d*_i* + @angle:013_079_024 @atom:*_b*_a013*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:023_079_024 @atom:*_b*_a023*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:013_079_044 @atom:*_b*_a013*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:023_079_044 @atom:*_b*_a023*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:013_079_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:023_079_048 @atom:*_b*_a023*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:005_079_048 @atom:*_b*_a005*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:024_079_048 @atom:*_b*_a024*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_079_082 @atom:*_b*_a013*_d*_i* @atom:*_b*_a079*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:046_080_060 @atom:*_b*_a046*_d*_i* @atom:*_b*_a080*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:002_080_060 @atom:*_b*_a002*_d*_i* @atom:*_b*_a080*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:013_080_060 @atom:*_b*_a013*_d*_i* @atom:*_b*_a080*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:046_080_084 @atom:*_b*_a046*_d*_i* @atom:*_b*_a080*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:002_080_084 @atom:*_b*_a002*_d*_i* @atom:*_b*_a080*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:013_080_084 @atom:*_b*_a013*_d*_i* @atom:*_b*_a080*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:060_080_084 @atom:*_b*_a060*_d*_i* @atom:*_b*_a080*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:012_081_057 @atom:*_b*_a012*_d*_i* @atom:*_b*_a081*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:048_081_057 @atom:*_b*_a048*_d*_i* @atom:*_b*_a081*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:057_081_060 @atom:*_b*_a057*_d*_i* @atom:*_b*_a081*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:012_081_060 @atom:*_b*_a012*_d*_i* @atom:*_b*_a081*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:048_081_060 @atom:*_b*_a048*_d*_i* @atom:*_b*_a081*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:013_082_016 @atom:*_b*_a013*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a016*_d*_i* + @angle:016_082_024 @atom:*_b*_a016*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:016_082_044 @atom:*_b*_a016*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a044*_d*_i* + @angle:020_082_049 @atom:*_b*_a020*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a049*_d*_i* + @angle:016_082_049 @atom:*_b*_a016*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a049*_d*_i* + @angle:049_082_057 @atom:*_b*_a049*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:057_082_057 @atom:*_b*_a057*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:013_082_057 @atom:*_b*_a013*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:048_082_057 @atom:*_b*_a048*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:056_082_057 @atom:*_b*_a056*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:049_082_061 @atom:*_b*_a049*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:016_082_061 @atom:*_b*_a016*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:020_082_061 @atom:*_b*_a020*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:057_082_061 @atom:*_b*_a057*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:013_082_061 @atom:*_b*_a013*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:044_082_061 @atom:*_b*_a044*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:024_082_061 @atom:*_b*_a024*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:057_082_079 @atom:*_b*_a057*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a079*_d*_i* + @angle:061_082_079 @atom:*_b*_a061*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a079*_d*_i* + @angle:020_082_086 @atom:*_b*_a020*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a086*_d*_i* + @angle:061_082_086 @atom:*_b*_a061*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a086*_d*_i* + @angle:057_082_087 @atom:*_b*_a057*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:056_082_087 @atom:*_b*_a056*_d*_i* @atom:*_b*_a082*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:049_083_061 @atom:*_b*_a049*_d*_i* @atom:*_b*_a083*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:048_083_061 @atom:*_b*_a048*_d*_i* @atom:*_b*_a083*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:013_083_061 @atom:*_b*_a013*_d*_i* @atom:*_b*_a083*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:049_083_084 @atom:*_b*_a049*_d*_i* @atom:*_b*_a083*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:061_083_084 @atom:*_b*_a061*_d*_i* @atom:*_b*_a083*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:013_083_084 @atom:*_b*_a013*_d*_i* @atom:*_b*_a083*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:013_084_016 @atom:*_b*_a013*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a016*_d*_i* + @angle:013_084_020 @atom:*_b*_a013*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:016_084_024 @atom:*_b*_a016*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:020_084_049 @atom:*_b*_a020*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a049*_d*_i* + @angle:016_084_049 @atom:*_b*_a016*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a049*_d*_i* + @angle:048_084_049 @atom:*_b*_a048*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a049*_d*_i* + @angle:049_084_050 @atom:*_b*_a049*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:020_084_050 @atom:*_b*_a020*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:049_084_057 @atom:*_b*_a049*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:013_084_057 @atom:*_b*_a013*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:048_084_057 @atom:*_b*_a048*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:003_084_057 @atom:*_b*_a003*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:057_084_058 @atom:*_b*_a057*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a058*_d*_i* + @angle:013_084_061 @atom:*_b*_a013*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:049_084_080 @atom:*_b*_a049*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a080*_d*_i* + @angle:057_084_080 @atom:*_b*_a057*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a080*_d*_i* + @angle:049_084_083 @atom:*_b*_a049*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a083*_d*_i* + @angle:057_084_083 @atom:*_b*_a057*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a083*_d*_i* + @angle:020_084_083 @atom:*_b*_a020*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a083*_d*_i* + @angle:016_084_083 @atom:*_b*_a016*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a083*_d*_i* + @angle:013_084_083 @atom:*_b*_a013*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a083*_d*_i* + @angle:013_084_084 @atom:*_b*_a013*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:057_084_084 @atom:*_b*_a057*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:061_084_084 @atom:*_b*_a061*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:020_084_086 @atom:*_b*_a020*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a086*_d*_i* + @angle:057_084_086 @atom:*_b*_a057*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a086*_d*_i* + @angle:049_084_087 @atom:*_b*_a049*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:057_084_087 @atom:*_b*_a057*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:020_084_087 @atom:*_b*_a020*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:016_084_087 @atom:*_b*_a016*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:061_084_087 @atom:*_b*_a061*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:013_084_087 @atom:*_b*_a013*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:048_084_087 @atom:*_b*_a048*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:086_084_087 @atom:*_b*_a086*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:003_084_087 @atom:*_b*_a003*_d*_i* @atom:*_b*_a084*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:049_085_057 @atom:*_b*_a049*_d*_i* @atom:*_b*_a085*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:013_085_057 @atom:*_b*_a013*_d*_i* @atom:*_b*_a085*_d*_i* @atom:*_b*_a057*_d*_i* + @angle:049_085_085 @atom:*_b*_a049*_d*_i* @atom:*_b*_a085*_d*_i* @atom:*_b*_a085*_d*_i* + @angle:057_085_085 @atom:*_b*_a057*_d*_i* @atom:*_b*_a085*_d*_i* @atom:*_b*_a085*_d*_i* + @angle:013_085_085 @atom:*_b*_a013*_d*_i* @atom:*_b*_a085*_d*_i* @atom:*_b*_a085*_d*_i* + @angle:048_086_048 @atom:*_b*_a048*_d*_i* @atom:*_b*_a086*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:048_086_056 @atom:*_b*_a048*_d*_i* @atom:*_b*_a086*_d*_i* @atom:*_b*_a056*_d*_i* + @angle:048_086_082 @atom:*_b*_a048*_d*_i* @atom:*_b*_a086*_d*_i* @atom:*_b*_a082*_d*_i* + @angle:048_086_083 @atom:*_b*_a048*_d*_i* @atom:*_b*_a086*_d*_i* @atom:*_b*_a083*_d*_i* + @angle:048_086_084 @atom:*_b*_a048*_d*_i* @atom:*_b*_a086*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:048_086_086 @atom:*_b*_a048*_d*_i* @atom:*_b*_a086*_d*_i* @atom:*_b*_a086*_d*_i* + @angle:056_086_086 @atom:*_b*_a056*_d*_i* @atom:*_b*_a086*_d*_i* @atom:*_b*_a086*_d*_i* + @angle:048_086_087 @atom:*_b*_a048*_d*_i* @atom:*_b*_a086*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:048_086_088 @atom:*_b*_a048*_d*_i* @atom:*_b*_a086*_d*_i* @atom:*_b*_a088*_d*_i* + @angle:049_087_060 @atom:*_b*_a049*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:046_087_060 @atom:*_b*_a046*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:013_087_060 @atom:*_b*_a013*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:049_087_084 @atom:*_b*_a049*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:046_087_084 @atom:*_b*_a046*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:084_087_084 @atom:*_b*_a084*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:082_087_084 @atom:*_b*_a082*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:002_087_084 @atom:*_b*_a002*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:013_087_084 @atom:*_b*_a013*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:003_087_084 @atom:*_b*_a003*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:060_087_084 @atom:*_b*_a060*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a084*_d*_i* + @angle:084_087_086 @atom:*_b*_a084*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a086*_d*_i* + @angle:049_087_087 @atom:*_b*_a049*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:060_087_087 @atom:*_b*_a060*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:084_087_087 @atom:*_b*_a084*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:086_087_087 @atom:*_b*_a086*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:084_087_088 @atom:*_b*_a084*_d*_i* @atom:*_b*_a087*_d*_i* @atom:*_b*_a088*_d*_i* + @angle:048_088_049 @atom:*_b*_a048*_d*_i* @atom:*_b*_a088*_d*_i* @atom:*_b*_a049*_d*_i* + @angle:049_088_061 @atom:*_b*_a049*_d*_i* @atom:*_b*_a088*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:013_088_061 @atom:*_b*_a013*_d*_i* @atom:*_b*_a088*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:019_088_061 @atom:*_b*_a019*_d*_i* @atom:*_b*_a088*_d*_i* @atom:*_b*_a061*_d*_i* + @angle:061_088_087 @atom:*_b*_a061*_d*_i* @atom:*_b*_a088*_d*_i* @atom:*_b*_a087*_d*_i* + @angle:004_089_090 @atom:*_b*_a004*_d*_i* @atom:*_b*_a089*_d*_i* @atom:*_b*_a090*_d*_i* + @angle:090_089_091 @atom:*_b*_a090*_d*_i* @atom:*_b*_a089*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:004_089_091 @atom:*_b*_a004*_d*_i* @atom:*_b*_a089*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:013_090_089 @atom:*_b*_a013*_d*_i* @atom:*_b*_a090*_d*_i* @atom:*_b*_a089*_d*_i* + @angle:089_090_091 @atom:*_b*_a089*_d*_i* @atom:*_b*_a090*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:013_090_091 @atom:*_b*_a013*_d*_i* @atom:*_b*_a090*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:024_091_046 @atom:*_b*_a024*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:013_091_046 @atom:*_b*_a013*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:044_091_046 @atom:*_b*_a044*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:046_091_046 @atom:*_b*_a046*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:016_091_046 @atom:*_b*_a016*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:046_091_047 @atom:*_b*_a046*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:046_091_089 @atom:*_b*_a046*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a089*_d*_i* + @angle:024_091_089 @atom:*_b*_a024*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a089*_d*_i* + @angle:046_091_090 @atom:*_b*_a046*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a090*_d*_i* + @angle:016_091_090 @atom:*_b*_a016*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a090*_d*_i* + @angle:091_091_091 @atom:*_b*_a091*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:013_091_091 @atom:*_b*_a013*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:044_091_091 @atom:*_b*_a044*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:046_091_091 @atom:*_b*_a046*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:024_091_091 @atom:*_b*_a024*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:016_091_091 @atom:*_b*_a016*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:089_091_091 @atom:*_b*_a089*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:047_091_091 @atom:*_b*_a047*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:090_091_091 @atom:*_b*_a090*_d*_i* @atom:*_b*_a091*_d*_i* @atom:*_b*_a091*_d*_i* + @angle:013_095_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a095*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_095_046 @atom:*_b*_a013*_d*_i* @atom:*_b*_a095*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:013_101_045 @atom:*_b*_a013*_d*_i* @atom:*_b*_a101*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:045_101_045 @atom:*_b*_a045*_d*_i* @atom:*_b*_a101*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:045_101_048 @atom:*_b*_a045*_d*_i* @atom:*_b*_a101*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_101_048 @atom:*_b*_a013*_d*_i* @atom:*_b*_a101*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:013_102_103 @atom:*_b*_a013*_d*_i* @atom:*_b*_a102*_d*_i* @atom:*_b*_a103*_d*_i* + @angle:048_102_103 @atom:*_b*_a048*_d*_i* @atom:*_b*_a102*_d*_i* @atom:*_b*_a103*_d*_i* + @angle:103_102_103 @atom:*_b*_a103*_d*_i* @atom:*_b*_a102*_d*_i* @atom:*_b*_a103*_d*_i* + @angle:025_103_025 @atom:*_b*_a025*_d*_i* @atom:*_b*_a103*_d*_i* @atom:*_b*_a025*_d*_i* + @angle:025_103_102 @atom:*_b*_a025*_d*_i* @atom:*_b*_a103*_d*_i* @atom:*_b*_a102*_d*_i* + @angle:013_104_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a104*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:003_105_010 @atom:*_b*_a003*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a010*_d*_i* + @angle:003_105_013 @atom:*_b*_a003*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:003_105_045 @atom:*_b*_a003*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:045_105_047 @atom:*_b*_a045*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:013_105_047 @atom:*_b*_a013*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:003_105_047 @atom:*_b*_a003*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:003_105_051 @atom:*_b*_a003*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a051*_d*_i* + @angle:047_105_051 @atom:*_b*_a047*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a051*_d*_i* + @angle:045_105_060 @atom:*_b*_a045*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:006_105_060 @atom:*_b*_a006*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:010_105_060 @atom:*_b*_a010*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:013_105_060 @atom:*_b*_a013*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:051_105_060 @atom:*_b*_a051*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a060*_d*_i* + @angle:045_105_062 @atom:*_b*_a045*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a062*_d*_i* + @angle:060_105_062 @atom:*_b*_a060*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a062*_d*_i* + @angle:006_105_062 @atom:*_b*_a006*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a062*_d*_i* + @angle:010_105_062 @atom:*_b*_a010*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a062*_d*_i* + @angle:013_105_062 @atom:*_b*_a013*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a062*_d*_i* + @angle:051_105_062 @atom:*_b*_a051*_d*_i* @atom:*_b*_a105*_d*_i* @atom:*_b*_a062*_d*_i* + @angle:004_106_024 @atom:*_b*_a004*_d*_i* @atom:*_b*_a106*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:024_106_024 @atom:*_b*_a024*_d*_i* @atom:*_b*_a106*_d*_i* @atom:*_b*_a024*_d*_i* + @angle:013_107_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a107*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:003_107_013 @atom:*_b*_a003*_d*_i* @atom:*_b*_a107*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:001_108_013 @atom:*_b*_a001*_d*_i* @atom:*_b*_a108*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_108_013 @atom:*_b*_a013*_d*_i* @atom:*_b*_a108*_d*_i* @atom:*_b*_a013*_d*_i* + @angle:013_108_020 @atom:*_b*_a013*_d*_i* @atom:*_b*_a108*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:020_108_020 @atom:*_b*_a020*_d*_i* @atom:*_b*_a108*_d*_i* @atom:*_b*_a020*_d*_i* + @angle:013_108_021 @atom:*_b*_a013*_d*_i* @atom:*_b*_a108*_d*_i* @atom:*_b*_a021*_d*_i* + @angle:045_108_045 @atom:*_b*_a045*_d*_i* @atom:*_b*_a108*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:013_108_045 @atom:*_b*_a013*_d*_i* @atom:*_b*_a108*_d*_i* @atom:*_b*_a045*_d*_i* + @angle:046_108_046 @atom:*_b*_a046*_d*_i* @atom:*_b*_a108*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:013_108_046 @atom:*_b*_a013*_d*_i* @atom:*_b*_a108*_d*_i* @atom:*_b*_a046*_d*_i* + @angle:013_108_065 @atom:*_b*_a013*_d*_i* @atom:*_b*_a108*_d*_i* @atom:*_b*_a065*_d*_i* + @angle:013_108_066 @atom:*_b*_a013*_d*_i* @atom:*_b*_a108*_d*_i* @atom:*_b*_a066*_d*_i* + @angle:013_108_108 @atom:*_b*_a013*_d*_i* @atom:*_b*_a108*_d*_i* @atom:*_b*_a108*_d*_i* + @angle:046_109_048 @atom:*_b*_a046*_d*_i* @atom:*_b*_a109*_d*_i* @atom:*_b*_a048*_d*_i* + @angle:046_109_050 @atom:*_b*_a046*_d*_i* @atom:*_b*_a109*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:013_109_050 @atom:*_b*_a013*_d*_i* @atom:*_b*_a109*_d*_i* @atom:*_b*_a050*_d*_i* + @angle:046_109_109 @atom:*_b*_a046*_d*_i* @atom:*_b*_a109*_d*_i* @atom:*_b*_a109*_d*_i* + @angle:013_109_109 @atom:*_b*_a013*_d*_i* @atom:*_b*_a109*_d*_i* @atom:*_b*_a109*_d*_i* + @angle:050_109_109 @atom:*_b*_a050*_d*_i* @atom:*_b*_a109*_d*_i* @atom:*_b*_a109*_d*_i* + @angle:048_109_109 @atom:*_b*_a048*_d*_i* @atom:*_b*_a109*_d*_i* @atom:*_b*_a109*_d*_i* + @angle:004_110_047 @atom:*_b*_a004*_d*_i* @atom:*_b*_a110*_d*_i* @atom:*_b*_a047*_d*_i* + @angle:047_110_047 @atom:*_b*_a047*_d*_i* @atom:*_b*_a110*_d*_i* @atom:*_b*_a047*_d*_i* } #(end of angles by type) @@ -6517,809 +6530,809 @@ OPLSAA { # ----------- Dihedral Interactions: ------------ # http://lammps.sandia.gov/doc/dihedral_opls.html # Syntax: - # dihedral_coeff DihedralTypeName DihedralStyle parameters... + # dihedral_coeff DihedralTypeName parameters... write_once("In Settings") { - dihedral_coeff @dihedral:X-2-2-2 opls -2.5 1.25 3.1 0.0 - dihedral_coeff @dihedral:X-2-2-6 opls -2.5 1.25 3.1 0.0 - dihedral_coeff @dihedral:1-2-2-2 opls -2.0 0.7 3.0 0.0 - dihedral_coeff @dihedral:1-2-2-6 opls -2.0 0.7 3.0 0.0 - dihedral_coeff @dihedral:2-2-2-2 opls -3.4 1.25 3.1 0.0 - dihedral_coeff @dihedral:2-2-2-6 opls -3.4 1.25 3.1 0.0 - dihedral_coeff @dihedral:2-2-2-10 opls -3.4 1.25 3.1 0.0 - dihedral_coeff @dihedral:2-2-2-13 opls -3.4 1.25 3.1 0.0 - dihedral_coeff @dihedral:2-2-2-65 opls -2.0 0.5 3.25 0.0 - dihedral_coeff @dihedral:6-2-2-6 opls -3.4 1.25 3.1 0.0 - dihedral_coeff @dihedral:6-2-2-65 opls -2.0 0.5 3.25 0.0 - dihedral_coeff @dihedral:10-2-2-10 opls -3.4 1.25 3.1 0.0 - dihedral_coeff @dihedral:2-2-5-7 opls 0.3 0.0 1.3 0.0 - dihedral_coeff @dihedral:6-2-5-7 opls 0.3 0.0 1.3 0.0 - dihedral_coeff @dihedral:10-2-5-7 opls 0.3 0.0 1.3 0.0 - dihedral_coeff @dihedral:X-2-10-2 opls -2.5 1.25 3.1 0.0 - dihedral_coeff @dihedral:2-2-10-2 opls -3.4 1.25 3.1 0.0 - dihedral_coeff @dihedral:2-2-13-2 opls -3.4 1.25 3.1 0.0 - dihedral_coeff @dihedral:6-2-20-2 opls -7.4 3.0 1.8 0.0 - dihedral_coeff @dihedral:6-2-20-6 opls -8.4 3.0 1.8 0.0 - dihedral_coeff @dihedral:4-3-3-4 opls 1.6 3.2 0.0 0.0 - dihedral_coeff @dihedral:4-3-3-13 opls 0.0 0.5 0.0 0.0 - dihedral_coeff @dihedral:4-3-3-24 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-3-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-3-3-13 opls 0.7 -1.5 0.0 0.0 - dihedral_coeff @dihedral:13-3-3-24 opls -0.5 0.2 0.0 0.0 - dihedral_coeff @dihedral:13-3-3-46 opls 0.8 -0.76 0.0 0.0 - dihedral_coeff @dihedral:24-3-3-46 opls -0.9 0.3 0.0 0.0 - dihedral_coeff @dihedral:46-3-3-46 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:3-3-5-7 opls 3.0 5.5 0.0 0.0 - dihedral_coeff @dihedral:4-3-5-7 opls 0.0 5.0 0.0 0.0 - dihedral_coeff @dihedral:13-3-5-7 opls 1.5 5.5 0.0 0.0 - dihedral_coeff @dihedral:24-3-5-7 opls -2.0 5.0 0.0 0.0 - dihedral_coeff @dihedral:46-3-5-7 opls 1.5 5.5 0.0 0.0 - dihedral_coeff @dihedral:48-3-5-7 opls 4.0 5.0 0.0 0.0 - dihedral_coeff @dihedral:1-3-13-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:1-3-13-46 opls 0.0 0.0 0.36 0.0 - dihedral_coeff @dihedral:3-3-13-46 opls 0.0 0.0 0.085 0.0 - dihedral_coeff @dihedral:4-3-13-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-13-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-13-21 opls -0.65 0.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-13-44 opls 0.0 0.82 0.0 0.0 - dihedral_coeff @dihedral:4-3-13-24 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-13-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-13-48 opls 0.0 0.546 0.0 0.0 - dihedral_coeff @dihedral:5-3-13-13 opls 0.0 1.412 0.0 0.0 - dihedral_coeff @dihedral:5-3-13-44 opls 5.26 0.82 0.0 0.0 - dihedral_coeff @dihedral:5-3-13-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-3-13-13 opls 1.454 -0.144 -0.775 0.0 - dihedral_coeff @dihedral:13-3-13-46 opls 0.0 0.0 0.275 0.0 - dihedral_coeff @dihedral:20-3-13-13 opls 0.0 0.0 -0.553 0.0 - dihedral_coeff @dihedral:20-3-13-46 opls 0.0 0.0 0.132 0.0 - dihedral_coeff @dihedral:21-3-13-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:21-3-13-46 opls 0.0 0.0 0.36 0.0 - dihedral_coeff @dihedral:24-3-13-13 opls 1.173 0.189 -1.2 0.0 - dihedral_coeff @dihedral:24-3-13-21 opls 0.65 0.0 0.0 0.0 - dihedral_coeff @dihedral:24-3-13-24 opls 1.816 1.222 1.581 0.0 - dihedral_coeff @dihedral:24-3-13-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-3-13-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-3-13-46 opls 0.0 0.0 0.36 0.0 - dihedral_coeff @dihedral:48-3-13-46 opls 0.0 0.0 0.275 0.0 - dihedral_coeff @dihedral:52-3-13-13 opls 0.0 0.82 0.0 0.0 - dihedral_coeff @dihedral:52-3-13-44 opls 0.0 0.82 0.0 0.0 - dihedral_coeff @dihedral:52-3-13-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:65-3-13-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:65-3-13-46 opls 0.0 0.0 0.36 0.0 - dihedral_coeff @dihedral:107-3-13-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-20-13 opls 0.0 5.124 0.0 0.0 - dihedral_coeff @dihedral:4-3-20-48 opls 0.0 5.0 0.0 0.0 - dihedral_coeff @dihedral:13-3-20-13 opls 4.669 5.124 0.0 0.0 - dihedral_coeff @dihedral:13-3-20-48 opls 1.5 5.0 0.0 0.0 - dihedral_coeff @dihedral:24-3-20-13 opls -2.0 5.0 0.0 0.0 - dihedral_coeff @dihedral:46-3-20-13 opls 4.669 5.124 0.0 0.0 - dihedral_coeff @dihedral:48-3-20-13 opls 4.0 5.0 0.0 0.0 - dihedral_coeff @dihedral:3-3-24-13 opls 0.4 4.9 0.0 0.0 - dihedral_coeff @dihedral:3-3-24-45 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:4-3-24-5 opls 0.0 6.603 0.0 0.0 - dihedral_coeff @dihedral:4-3-24-13 opls 0.0 6.089 0.0 0.0 - dihedral_coeff @dihedral:4-3-24-45 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:4-3-24-47 opls 0.0 6.089 0.0 0.0 - dihedral_coeff @dihedral:4-3-24-48 opls 0.0 6.089 0.0 0.0 - dihedral_coeff @dihedral:4-3-24-91 opls 0.0 6.089 0.0 0.0 - dihedral_coeff @dihedral:5-3-24-13 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:5-3-24-45 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:13-3-24-5 opls 4.542 6.603 1.045 0.0 - dihedral_coeff @dihedral:13-3-24-13 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:13-3-24-45 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:13-3-24-48 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:20-3-24-13 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:20-3-24-45 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:24-3-24-3 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:24-3-24-13 opls 4.6 0.0 0.0 0.0 - dihedral_coeff @dihedral:24-3-24-45 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:46-3-24-13 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:46-3-24-45 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:47-3-24-45 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:48-3-24-45 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:48-3-24-48 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:48-3-24-84 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:48-3-24-87 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:84-3-24-48 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:84-3-24-84 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:84-3-24-87 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:87-3-24-45 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:87-3-24-48 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:87-3-24-84 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:87-3-24-87 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:X-3-47-13 opls 0.9 0.23 -0.505 0.0 - dihedral_coeff @dihedral:4-3-47-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-47-47 opls 2.5 6.0 0.0 0.0 - dihedral_coeff @dihedral:5-3-47-47 opls 3.2 -3.0 0.0 0.0 - dihedral_coeff @dihedral:24-3-47-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:24-3-47-47 opls 2.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:107-3-47-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:107-3-47-47 opls 2.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-48-48 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:5-3-48-48 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:13-3-48-48 opls 0.0 0.2 0.0 0.0 - dihedral_coeff @dihedral:20-3-48-48 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:24-3-48-48 opls 0.0 1.1 0.0 0.0 - dihedral_coeff @dihedral:46-3-48-48 opls 0.0 0.2 0.0 0.0 - dihedral_coeff @dihedral:X-3-50-13 opls 0.9 0.23 -0.505 0.0 - dihedral_coeff @dihedral:4-3-50-47 opls 2.5 6.0 0.0 0.0 - dihedral_coeff @dihedral:5-3-50-47 opls 3.2 -3.0 0.0 0.0 - dihedral_coeff @dihedral:13-3-50-47 opls 0.8 -3.0 0.0 0.0 - dihedral_coeff @dihedral:13-3-56-X opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-3-56-13 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:46-3-56-X opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:46-3-56-45 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:X-3-60-X opls 0.0 7.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-60-X opls 0.0 7.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-82-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-82-57 opls 2.0 1.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-82-61 opls 0.0 1.0 0.0 0.0 - dihedral_coeff @dihedral:82-3-82-57 opls -2.0 1.0 0.0 0.0 - dihedral_coeff @dihedral:82-3-82-61 opls 0.0 1.0 0.0 0.0 - dihedral_coeff @dihedral:4-3-84-20 opls -0.75 1.5 0.0 0.0 - dihedral_coeff @dihedral:4-3-84-87 opls 0.75 1.5 0.0 0.0 - dihedral_coeff @dihedral:84-3-84-20 opls 0.0 1.5 0.0 0.0 - dihedral_coeff @dihedral:84-3-84-87 opls 0.0 1.5 0.0 0.0 - dihedral_coeff @dihedral:48-3-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:X-3-87-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:4-3-87-84 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:4-3-87-87 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:24-3-87-84 opls 0.0 1.1 0.0 0.0 - dihedral_coeff @dihedral:24-3-87-87 opls 0.0 1.1 0.0 0.0 - dihedral_coeff @dihedral:4-3-107-13 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:13-3-107-13 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:4-3-109-109 opls 2.5 6.0 0.0 0.0 - dihedral_coeff @dihedral:5-3-109-109 opls 3.2 -3.0 0.0 0.0 - dihedral_coeff @dihedral:X-4-106-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:7-5-10-2 opls 0.3 0.0 0.5 0.0 - dihedral_coeff @dihedral:7-5-10-6 opls 0.3 0.0 0.5 0.0 - dihedral_coeff @dihedral:7-5-13-2 opls 0.0 0.0 0.2 0.0 - dihedral_coeff @dihedral:7-5-13-6 opls 0.0 0.0 0.2 0.0 - dihedral_coeff @dihedral:7-5-13-13 opls -0.356 -0.174 0.492 0.0 - dihedral_coeff @dihedral:7-5-13-46 opls 0.0 0.0 0.352 0.0 - dihedral_coeff @dihedral:7-5-13-47 opls -0.9 0.0 0.0 0.0 - dihedral_coeff @dihedral:7-5-13-48 opls -0.9 0.0 0.0 0.0 - dihedral_coeff @dihedral:7-5-13-50 opls -0.9 0.0 0.0 0.0 - dihedral_coeff @dihedral:7-5-44-13 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:7-5-44-45 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:7-5-24-3 opls 5.519 -6.7 0.581 0.0 - dihedral_coeff @dihedral:7-5-24-45 opls 2.722 -5.154 0.0 0.0 - dihedral_coeff @dihedral:7-5-47-47 opls 0.0 1.682 0.0 0.0 - dihedral_coeff @dihedral:7-5-48-48 opls 0.0 1.682 0.0 0.0 - dihedral_coeff @dihedral:7-5-51-20 opls -1.257 -1.806 0.003 0.0 - dihedral_coeff @dihedral:7-5-56-3 opls 3.0 3.0 0.0 0.0 - dihedral_coeff @dihedral:7-5-64-4 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:7-5-64-5 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:7-5-79-13 opls -0.75 0.0 0.0 0.0 - dihedral_coeff @dihedral:7-5-79-23 opls 0.75 0.0 0.0 0.0 - dihedral_coeff @dihedral:7-5-79-48 opls 2.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-13-13-3 opls -4.344 -1.714 0.0 0.0 - dihedral_coeff @dihedral:X-13-13-13 opls 1.711 -0.5 0.663 0.0 - dihedral_coeff @dihedral:X-13-13-24 opls 1.428 0.086 0.029 0.0 - dihedral_coeff @dihedral:1-13-13-1 opls -2.5 0.0 0.25 0.0 - dihedral_coeff @dihedral:1-13-13-5 opls 0.0 0.0 0.54 0.0 - dihedral_coeff @dihedral:1-13-13-13 opls 0.3 -0.4 0.4 0.0 - dihedral_coeff @dihedral:1-13-13-46 opls 0.0 0.0 0.4 0.0 - dihedral_coeff @dihedral:3-13-13-3 opls -0.55 0.0 1.0 0.0 - dihedral_coeff @dihedral:3-13-13-5 opls -6.18 0.0 0.0 0.0 - dihedral_coeff @dihedral:3-13-13-13 opls -2.06 -0.313 0.315 0.0 - dihedral_coeff @dihedral:3-13-13-15 opls -4.344 -1.714 0.0 0.0 - dihedral_coeff @dihedral:3-13-13-16 opls -4.344 -1.714 0.0 0.0 - dihedral_coeff @dihedral:3-13-13-24 opls -9.0 2.0 0.8 0.0 - dihedral_coeff @dihedral:3-13-13-46 opls 0.0 0.0 -0.1 0.0 - dihedral_coeff @dihedral:3-13-13-48 opls -1.697 -0.456 0.585 0.0 - dihedral_coeff @dihedral:3-13-13-80 opls -1.697 -0.456 0.585 0.0 - dihedral_coeff @dihedral:5-13-13-5 opls 9.508 0.0 0.0 0.0 - dihedral_coeff @dihedral:5-13-13-13 opls -1.552 0.0 0.0 0.0 - dihedral_coeff @dihedral:5-13-13-20 opls 4.319 0.0 0.0 0.0 - dihedral_coeff @dihedral:5-13-13-44 opls 8.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:5-13-13-24 opls 6.28 -1.467 2.03 0.0 - dihedral_coeff @dihedral:5-13-13-46 opls 0.0 0.0 0.468 0.0 - dihedral_coeff @dihedral:13-13-13-13 opls 1.3 -0.05 0.2 0.0 - dihedral_coeff @dihedral:13-13-13-15 opls 1.262 -0.198 0.465 0.0 - dihedral_coeff @dihedral:13-13-13-16 opls 2.619 -0.62 0.258 0.0 - dihedral_coeff @dihedral:13-13-13-19 opls 0.0 -0.65 0.0 0.0 - dihedral_coeff @dihedral:13-13-13-21 opls 0.0 0.0 0.4 0.0 - dihedral_coeff @dihedral:13-13-13-44 opls 2.392 -0.674 0.55 0.0 - dihedral_coeff @dihedral:13-13-13-24 opls 0.845 -0.962 0.713 0.0 - dihedral_coeff @dihedral:13-13-13-46 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:13-13-13-51 opls 1.3 -0.05 0.2 0.0 - dihedral_coeff @dihedral:13-13-13-53 opls 2.732 -0.229 0.485 0.0 - dihedral_coeff @dihedral:13-13-13-65 opls 0.0 0.0 0.4 0.0 - dihedral_coeff @dihedral:13-13-13-66 opls 0.0 0.0 0.4 0.0 - dihedral_coeff @dihedral:13-13-13-79 opls 1.262 -0.198 0.465 0.0 - dihedral_coeff @dihedral:13-13-13-107 opls 1.964 0.0 0.659 0.0 - dihedral_coeff @dihedral:13-13-13-108 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:15-13-13-46 opls 0.0 0.0 0.452 0.0 - dihedral_coeff @dihedral:16-13-13-46 opls 0.0 0.0 0.452 0.0 - dihedral_coeff @dihedral:19-13-13-46 opls 0.0 0.0 0.366 0.0 - dihedral_coeff @dihedral:20-13-13-20 opls -0.55 0.0 0.0 0.0 - dihedral_coeff @dihedral:20-13-13-46 opls 0.0 0.0 0.468 0.0 - dihedral_coeff @dihedral:21-13-13-21 opls -0.25 0.0 0.0 0.0 - dihedral_coeff @dihedral:21-13-13-44 opls 2.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:21-13-13-46 opls 0.0 0.0 0.4 0.0 - dihedral_coeff @dihedral:44-13-13-44 opls 11.035 -0.968 0.27 0.0 - dihedral_coeff @dihedral:44-13-13-46 opls -1.013 -0.709 0.473 0.0 - dihedral_coeff @dihedral:44-13-13-48 opls -0.8 0.0 0.0 0.0 - dihedral_coeff @dihedral:24-13-13-46 opls 0.0 0.0 0.464 0.0 - dihedral_coeff @dihedral:24-13-13-48 opls 0.845 -0.962 0.713 0.0 - dihedral_coeff @dihedral:24-13-13-80 opls 0.845 -0.962 0.713 0.0 - dihedral_coeff @dihedral:46-13-13-46 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:46-13-13-47 opls 0.0 0.0 0.366 0.0 - dihedral_coeff @dihedral:46-13-13-48 opls 0.0 0.0 0.462 0.0 - dihedral_coeff @dihedral:46-13-13-51 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:46-13-13-53 opls 0.0 0.0 0.384 0.0 - dihedral_coeff @dihedral:46-13-13-55 opls 0.0 0.0 -0.582 0.0 - dihedral_coeff @dihedral:46-13-13-59 opls 0.0 0.0 0.462 0.0 - dihedral_coeff @dihedral:46-13-13-62 opls 0.0 0.0 0.462 0.0 - dihedral_coeff @dihedral:46-13-13-65 opls 0.0 0.0 0.4 0.0 - dihedral_coeff @dihedral:46-13-13-66 opls 0.0 0.0 0.4 0.0 - dihedral_coeff @dihedral:46-13-13-79 opls 0.0 0.0 0.452 0.0 - dihedral_coeff @dihedral:46-13-13-80 opls 0.0 0.0 0.462 0.0 - dihedral_coeff @dihedral:46-13-13-82 opls 0.0 0.0 0.462 0.0 - dihedral_coeff @dihedral:46-13-13-83 opls 0.0 0.0 0.462 0.0 - dihedral_coeff @dihedral:46-13-13-84 opls 0.0 0.0 0.462 0.0 - dihedral_coeff @dihedral:46-13-13-87 opls 0.0 0.0 0.462 0.0 - dihedral_coeff @dihedral:46-13-13-88 opls 0.0 0.0 0.462 0.0 - dihedral_coeff @dihedral:46-13-13-102 opls 0.0 0.0 -0.225 0.0 - dihedral_coeff @dihedral:46-13-13-104 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:46-13-13-107 opls 0.0 0.0 0.464 0.0 - dihedral_coeff @dihedral:46-13-13-108 opls 0.0 0.0 0.45 0.0 - dihedral_coeff @dihedral:46-13-13-109 opls 0.0 0.0 0.366 0.0 - dihedral_coeff @dihedral:48-13-13-53 opls 1.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:108-13-13-108 opls 5.2 -0.5 0.0 0.0 - dihedral_coeff @dihedral:13-13-15-17 opls -0.759 -0.282 0.68 0.0 - dihedral_coeff @dihedral:46-13-15-17 opls 0.0 0.0 0.48 0.0 - dihedral_coeff @dihedral:13-13-16-13 opls 0.925 -0.576 0.677 0.0 - dihedral_coeff @dihedral:13-13-16-16 opls 1.941 -0.836 0.935 0.0 - dihedral_coeff @dihedral:46-13-16-13 opls 0.0 0.0 0.647 0.0 - dihedral_coeff @dihedral:46-13-16-16 opls 0.0 0.0 0.558 0.0 - dihedral_coeff @dihedral:46-13-16-48 opls 0.0 0.0 0.647 0.0 - dihedral_coeff @dihedral:X-13-18-19 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-18-19 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-13-19-18 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-13-19-19 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-19-19 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-19-19 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-13-20-13 opls -0.521 -2.018 1.996 0.0 - dihedral_coeff @dihedral:56-13-20-13 opls -0.5 -1.5 1.0 0.0 - dihedral_coeff @dihedral:57-13-20-13 opls -0.5 -1.5 1.0 0.0 - dihedral_coeff @dihedral:13-13-20-3 opls -1.22 -0.126 0.422 0.0 - dihedral_coeff @dihedral:13-13-20-13 opls 0.65 -0.25 0.67 0.0 - dihedral_coeff @dihedral:13-13-20-64 opls -1.42 -0.62 0.1 0.0 - dihedral_coeff @dihedral:46-13-20-X opls 0.0 0.0 0.76 0.0 - dihedral_coeff @dihedral:46-13-20-3 opls 0.0 0.0 0.198 0.0 - dihedral_coeff @dihedral:46-13-20-47 opls 0.0 0.0 0.76 0.0 - dihedral_coeff @dihedral:46-13-20-48 opls 0.0 0.0 0.76 0.0 - dihedral_coeff @dihedral:46-13-20-51 opls 0.0 0.0 0.76 0.0 - dihedral_coeff @dihedral:46-13-20-64 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:X-13-24-45 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:3-13-24-3 opls -2.365 0.912 -0.85 0.0 - dihedral_coeff @dihedral:3-13-24-13 opls -1.737 1.251 -3.501 0.0 - dihedral_coeff @dihedral:3-13-24-45 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-24-3 opls 0.0 0.462 0.0 0.0 - dihedral_coeff @dihedral:13-13-24-13 opls 4.753 -0.734 0.0 0.0 - dihedral_coeff @dihedral:13-13-24-45 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-24-59 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-24-79 opls 2.929 -2.533 0.497 0.0 - dihedral_coeff @dihedral:13-13-24-91 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:46-13-24-3 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-24-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-24-45 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-24-48 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-24-79 opls 1.362 -1.457 0.149 0.0 - dihedral_coeff @dihedral:48-13-24-59 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-44-13 opls 0.416 -0.128 0.695 0.0 - dihedral_coeff @dihedral:13-13-44-45 opls -0.19 -0.417 0.418 0.0 - dihedral_coeff @dihedral:46-13-44-13 opls 0.0 0.0 0.56 0.0 - dihedral_coeff @dihedral:46-13-44-45 opls 0.0 0.0 0.4 0.0 - dihedral_coeff @dihedral:46-13-44-48 opls 0.0 0.0 0.56 0.0 - dihedral_coeff @dihedral:X-13-47-13 opls 1.711 -0.5 0.663 0.0 - dihedral_coeff @dihedral:X-13-47-46 opls 0.0 0.0 0.468 0.0 - dihedral_coeff @dihedral:X-13-47-47 opls 0.5 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-13-47-50 opls 0.5 0.0 0.0 0.0 - dihedral_coeff @dihedral:1-13-47-47 opls 0.5 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-47-13 opls 2.817 -0.169 0.543 0.0 - dihedral_coeff @dihedral:13-13-47-47 opls 0.346 0.405 -0.904 0.0 - dihedral_coeff @dihedral:13-13-47-50 opls 0.346 0.405 -0.904 0.0 - dihedral_coeff @dihedral:46-13-47-13 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:46-13-47-46 opls 0.0 0.0 0.318 0.0 - dihedral_coeff @dihedral:46-13-47-47 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:46-13-47-50 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:46-13-47-110 opls 0.0 0.0 -0.25 0.0 - dihedral_coeff @dihedral:47-13-47-13 opls 0.0 -8.0 0.0 0.0 - dihedral_coeff @dihedral:47-13-47-46 opls 0.0 -8.0 0.0 0.0 - dihedral_coeff @dihedral:X-13-48-48 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:1-13-48-48 opls 0.0 0.45 0.0 0.0 - dihedral_coeff @dihedral:13-13-48-48 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-48-56 opls -0.5 0.5 -0.5 0.0 - dihedral_coeff @dihedral:21-13-48-48 opls 0.0 -0.4 0.0 0.0 - dihedral_coeff @dihedral:46-13-48-48 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:64-13-48-48 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:65-13-48-48 opls 0.0 0.0 0.4 0.0 - dihedral_coeff @dihedral:X-13-50-47 opls 0.5 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-50-50 opls 0.346 0.405 -0.904 0.0 - dihedral_coeff @dihedral:46-13-50-47 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:46-13-50-50 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:46-13-50-109 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:13-13-51-X opls 1.711 -0.5 0.663 0.0 - dihedral_coeff @dihedral:13-13-51-46 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:46-13-51-20 opls 0.0 0.0 0.468 0.0 - dihedral_coeff @dihedral:13-13-53-13 opls 1.438 -0.124 0.264 0.0 - dihedral_coeff @dihedral:13-13-53-45 opls 0.0 0.0 0.347 0.0 - dihedral_coeff @dihedral:46-13-53-13 opls 0.0 0.0 0.302 0.0 - dihedral_coeff @dihedral:46-13-53-45 opls 0.0 0.0 0.261 0.0 - dihedral_coeff @dihedral:46-13-53-48 opls 0.0 0.0 0.462 0.0 - dihedral_coeff @dihedral:46-13-53-54 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:13-13-55-45 opls -0.19 -0.417 0.418 0.0 - dihedral_coeff @dihedral:13-13-55-48 opls 1.829 0.243 -0.498 0.0 - dihedral_coeff @dihedral:13-13-55-54 opls -0.19 -0.417 0.418 0.0 - dihedral_coeff @dihedral:46-13-55-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-55-45 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-55-48 opls 0.0 0.0 0.177 0.0 - dihedral_coeff @dihedral:13-13-56-18 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-13-57-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-57-X opls 1.0 -0.35 0.0 0.0 - dihedral_coeff @dihedral:13-13-57-62 opls 2.756 -0.872 -3.68 0.0 - dihedral_coeff @dihedral:13-13-57-82 opls -1.0 -0.35 0.0 0.0 - dihedral_coeff @dihedral:20-13-57-X opls 1.5 -1.5 0.0 0.0 - dihedral_coeff @dihedral:20-13-57-62 opls -1.5 -1.5 0.0 0.0 - dihedral_coeff @dihedral:20-13-57-82 opls -1.5 -1.5 0.0 0.0 - dihedral_coeff @dihedral:13-13-59-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-59-56 opls 0.0 0.5 -0.5 0.0 - dihedral_coeff @dihedral:46-13-59-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-62-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-62-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-64-20 opls 0.0 0.0 0.25 0.0 - dihedral_coeff @dihedral:46-13-64-52 opls 0.0 0.0 0.25 0.0 - dihedral_coeff @dihedral:48-13-64-20 opls 2.25 0.0 0.0 0.0 - dihedral_coeff @dihedral:48-13-64-52 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-13-79-23 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-13-79-24 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-79-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-79-23 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-79-5 opls 0.0 0.0 0.35 0.0 - dihedral_coeff @dihedral:46-13-79-13 opls 0.0 0.0 0.35 0.0 - dihedral_coeff @dihedral:46-13-79-23 opls 0.0 0.0 0.35 0.0 - dihedral_coeff @dihedral:46-13-79-48 opls 0.0 0.0 0.35 0.0 - dihedral_coeff @dihedral:13-13-80-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-80-60 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-80-84 opls -0.714 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-80-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-80-60 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-80-84 opls 0.0 0.0 -0.48 0.0 - dihedral_coeff @dihedral:13-13-82-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-82-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-83-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-83-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:1-13-84-X opls 0.0 0.45 0.0 0.0 - dihedral_coeff @dihedral:13-13-84-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-84-57 opls 1.7 -0.6 0.0 0.0 - dihedral_coeff @dihedral:21-13-84-X opls 0.0 -0.4 0.0 0.0 - dihedral_coeff @dihedral:46-13-84-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:1-13-87-X opls 0.0 0.45 0.0 0.0 - dihedral_coeff @dihedral:13-13-87-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:21-13-87-X opls 0.0 -0.4 0.0 0.0 - dihedral_coeff @dihedral:46-13-87-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-88-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-88-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-13-90-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-90-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-91-91 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:13-13-95-13 opls 0.0 -1.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-95-46 opls 0.0 -1.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-102-103 opls 0.0 0.4 0.0 0.0 - dihedral_coeff @dihedral:46-13-102-103 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-104-13 opls 1.0 -0.5 0.5 0.0 - dihedral_coeff @dihedral:46-13-104-13 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:X-13-105-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-105-X opls 1.0 -0.35 0.0 0.0 - dihedral_coeff @dihedral:13-13-105-62 opls -1.0 -0.35 0.0 0.0 - dihedral_coeff @dihedral:13-13-105-82 opls -1.0 -0.35 0.0 0.0 - dihedral_coeff @dihedral:20-13-105-X opls 1.5 -1.5 0.0 0.0 - dihedral_coeff @dihedral:20-13-105-62 opls 3.132 -1.491 2.744 0.0 - dihedral_coeff @dihedral:20-13-105-82 opls -1.5 -1.5 0.0 0.0 - dihedral_coeff @dihedral:3-13-107-13 opls -1.737 1.251 -3.501 0.0 - dihedral_coeff @dihedral:13-13-107-3 opls -1.396 -0.427 0.0 0.0 - dihedral_coeff @dihedral:13-13-107-13 opls 4.753 -0.734 0.0 0.0 - dihedral_coeff @dihedral:46-13-107-3 opls 0.0 0.0 -0.139 0.0 - dihedral_coeff @dihedral:46-13-107-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-107-48 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-108-13 opls 1.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-108-45 opls 0.0 0.0 0.26 0.0 - dihedral_coeff @dihedral:46-13-108-13 opls 0.0 0.0 0.18 0.0 - dihedral_coeff @dihedral:46-13-108-20 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-13-108-45 opls 0.0 0.0 0.18 0.0 - dihedral_coeff @dihedral:13-13-109-109 opls 0.346 0.405 -0.904 0.0 - dihedral_coeff @dihedral:46-13-109-13 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:46-13-109-46 opls 0.0 0.0 0.318 0.0 - dihedral_coeff @dihedral:46-13-109-109 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:17-15-48-X opls 0.0 1.1 0.0 0.0 - dihedral_coeff @dihedral:17-15-48-48 opls 0.0 1.1 0.0 0.0 - dihedral_coeff @dihedral:13-16-16-13 opls 0.0 -7.414 1.705 0.0 - dihedral_coeff @dihedral:13-16-48-48 opls 0.0 0.6 0.0 0.0 - dihedral_coeff @dihedral:13-16-48-56 opls 1.6 5.1 0.0 0.0 - dihedral_coeff @dihedral:13-16-59-56 opls 0.0 4.8 0.0 0.0 - dihedral_coeff @dihedral:84-16-82-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:84-16-82-61 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:82-16-84-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:82-16-84-83 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:82-16-84-88 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-16-91-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:19-18-48-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:19-18-48-48 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:18-18-56-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:18-18-56-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-19-19-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-19-19-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-19-19-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-19-19-47 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-19-19-109 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-19-19-47 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-19-19-109 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:19-19-47-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:19-19-47-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:19-19-47-47 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-20-44-13 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:13-20-44-45 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:13-20-47-13 opls 0.65 -0.25 0.67 0.0 - dihedral_coeff @dihedral:13-20-47-46 opls 0.0 0.0 0.76 0.0 - dihedral_coeff @dihedral:13-20-47-47 opls -3.5 3.0 0.0 0.0 - dihedral_coeff @dihedral:13-20-47-50 opls -3.5 3.0 0.0 0.0 - dihedral_coeff @dihedral:3-20-48-48 opls 0.0 2.5 0.0 0.0 - dihedral_coeff @dihedral:13-20-48-48 opls 0.0 3.0 0.0 0.0 - dihedral_coeff @dihedral:13-20-48-56 opls 0.4 5.5 0.0 0.0 - dihedral_coeff @dihedral:64-20-48-48 opls 0.0 2.99 0.0 0.0 - dihedral_coeff @dihedral:13-20-51-5 opls -0.375 -1.358 0.004 0.0 - dihedral_coeff @dihedral:13-20-51-13 opls 0.65 -0.25 0.67 0.0 - dihedral_coeff @dihedral:13-20-51-20 opls -0.375 -1.358 0.004 0.0 - dihedral_coeff @dihedral:13-20-51-46 opls 0.0 0.0 0.76 0.0 - dihedral_coeff @dihedral:13-20-56-3 opls 3.0 3.0 0.0 0.0 - dihedral_coeff @dihedral:13-20-59-56 opls 0.0 5.2 0.0 0.0 - dihedral_coeff @dihedral:X-20-64-52 opls 0.0 0.0 0.562 0.0 - dihedral_coeff @dihedral:13-20-64-13 opls 3.5 -3.3 1.5 0.0 - dihedral_coeff @dihedral:13-20-64-52 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:48-20-64-4 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:84-20-82-61 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:82-20-84-88 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:84-20-84-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:84-20-84-87 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:108-20-108-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:108-20-108-20 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-24-48-48 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:3-24-48-48 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:13-24-48-48 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:45-24-48-48 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:59-24-48-48 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:82-24-48-48 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:84-24-48-48 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:X-24-59-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-24-59-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:45-24-59-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-24-60-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-24-79-23 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-24-79-48 opls 2.074 -2.966 2.473 0.0 - dihedral_coeff @dihedral:45-24-79-48 opls 1.671 -4.901 0.669 0.0 - dihedral_coeff @dihedral:13-24-82-61 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:45-24-82-16 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:45-24-82-20 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:45-24-82-61 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:48-24-82-16 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:48-24-82-20 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:48-24-82-61 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:X-24-84-X opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:3-24-84-84 opls 0.0 3.0 0.0 0.0 - dihedral_coeff @dihedral:45-24-84-16 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:45-24-84-20 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:48-24-84-16 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:48-24-84-20 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:3-24-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:3-24-86-56 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:3-24-86-86 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:47-24-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:47-24-86-56 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:X-24-87-X opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:X-24-88-X opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:3-24-91-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:3-24-91-89 opls -1.396 -0.427 0.0 0.0 - dihedral_coeff @dihedral:3-24-91-91 opls -1.396 -0.427 0.0 0.0 - dihedral_coeff @dihedral:45-24-91-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:45-24-91-89 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:45-24-91-91 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-24-106-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-44-44-13 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:13-44-44-45 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:45-44-44-45 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:13-44-48-48 opls -7.582 3.431 3.198 0.0 - dihedral_coeff @dihedral:45-44-48-48 opls 0.0 2.03 0.0 0.0 - dihedral_coeff @dihedral:59-44-48-48 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:82-44-48-48 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:84-44-48-48 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:45-44-82-16 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:45-44-82-61 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:48-44-82-16 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:48-44-82-61 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:47-46-47-13 opls 0.0 -8.0 0.0 0.0 - dihedral_coeff @dihedral:47-46-47-46 opls 0.0 -8.0 0.0 0.0 - dihedral_coeff @dihedral:X-47-47-X opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:X-47-47-19 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:3-47-47-24 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:3-47-47-46 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:5-47-47-13 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:5-47-47-46 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-47-47-13 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-47-47-19 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-47-47-20 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-47-47-46 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:19-47-47-46 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:20-47-47-46 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:21-47-47-21 opls -1.6 14.0 0.0 0.0 - dihedral_coeff @dihedral:21-47-47-46 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:46-47-47-46 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:46-47-47-48 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-47-48-48 opls 0.205 -0.531 0.0 0.0 - dihedral_coeff @dihedral:46-47-48-48 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:46-47-48-56 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:47-47-48-48 opls 1.241 3.353 -0.286 0.0 - dihedral_coeff @dihedral:13-47-50-13 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-47-50-46 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-47-50-48 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-47-50-50 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-47-50-109 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:24-47-50-3 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:46-47-50-13 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:46-47-50-46 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:46-47-50-48 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:46-47-50-50 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:46-47-50-109 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:X-47-84-X opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:X-47-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:3-47-86-86 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-47-86-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-47-86-24 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-47-87-X opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:X-47-88-X opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:13-47-110-47 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-47-110-47 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-48-48-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-48-48-13 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-48-48-48 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-48-48-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:1-48-48-48 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:1-48-48-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:13-48-48-13 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:13-48-48-48 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:13-48-48-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:13-48-48-50 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:21-48-48-48 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:21-48-48-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:44-48-48-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:47-48-48-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-48-48-48 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-48-48-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-48-48-50 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-48-48-55 opls 0.0 1.62 0.0 -0.44 - dihedral_coeff @dihedral:48-48-48-60 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-48-48-65 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-48-48-66 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-48-48-86 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-48-48-109 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-48-48-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-48-48-50 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-48-48-60 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-48-48-65 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-48-48-66 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-48-48-86 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-48-48-109 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:56-48-48-86 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-48-50-46 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:48-48-50-47 opls 1.241 3.353 -0.286 0.0 - dihedral_coeff @dihedral:56-48-50-46 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:56-48-50-47 opls 1.241 3.353 -0.286 0.0 - dihedral_coeff @dihedral:48-48-53-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:48-48-53-54 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-48-55-45 opls 0.0 2.03 0.0 0.0 - dihedral_coeff @dihedral:48-48-55-45 opls 0.0 3.9 0.0 0.0 - dihedral_coeff @dihedral:55-48-55-13 opls 0.0 7.936 0.0 0.0 - dihedral_coeff @dihedral:55-48-55-45 opls 0.0 3.9 0.0 0.0 - dihedral_coeff @dihedral:60-48-55-45 opls 0.0 2.03 0.0 0.0 - dihedral_coeff @dihedral:X-48-56-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-48-56-48 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-48-56-48 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-48-60-X opls 0.0 7.0 0.0 0.0 - dihedral_coeff @dihedral:X-48-79-23 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:48-48-79-13 opls 0.0 -0.9 0.0 0.0 - dihedral_coeff @dihedral:48-48-79-24 opls 1.656 -0.768 -0.117 0.0 - dihedral_coeff @dihedral:48-48-86-48 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-48-86-56 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-48-86-86 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-48-86-48 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-48-86-56 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-48-86-86 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:56-48-86-48 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:56-48-86-86 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-48-88-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:56-48-101-13 opls 0.0 3.651 0.0 0.0 - dihedral_coeff @dihedral:48-48-102-103 opls 0.0 1.15 0.0 0.0 - dihedral_coeff @dihedral:48-48-109-13 opls 0.205 -0.531 0.0 0.0 - dihedral_coeff @dihedral:48-48-109-46 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:48-48-109-109 opls 1.241 3.353 -0.286 0.0 - dihedral_coeff @dihedral:X-50-50-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:3-50-50-3 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:13-50-50-13 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:13-50-50-46 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:13-50-50-47 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:46-50-50-46 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:46-50-50-47 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:47-50-50-47 opls 1.423 4.055 0.858 0.0 - dihedral_coeff @dihedral:13-50-109-13 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:13-50-109-109 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:46-50-109-13 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:46-50-109-46 opls 0.0 0.0 0.3 0.0 - dihedral_coeff @dihedral:46-50-109-109 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:47-50-109-13 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:47-50-109-46 opls 0.0 0.0 -0.372 0.0 - dihedral_coeff @dihedral:47-50-109-109 opls 1.423 4.055 0.858 0.0 - dihedral_coeff @dihedral:13-53-82-61 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:48-53-82-61 opls 0.0 2.1 0.0 0.0 - dihedral_coeff @dihedral:45-55-59-X opls 0.0 2.03 0.0 0.0 - dihedral_coeff @dihedral:13-56-56-13 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:13-56-56-48 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-56-56-48 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-56-59-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-56-59-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-56-60-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-56-62-X opls 0.0 10.0 0.0 0.0 - dihedral_coeff @dihedral:X-56-82-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-56-86-48 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-56-86-86 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-57-60-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:45-57-60-X opls 0.0 5.0 0.0 0.0 - dihedral_coeff @dihedral:X-57-61-X opls 0.0 10.0 0.0 0.0 - dihedral_coeff @dihedral:X-57-62-X opls 0.0 10.0 0.0 0.0 - dihedral_coeff @dihedral:X-57-81-X opls 0.0 3.05 0.0 0.0 - dihedral_coeff @dihedral:X-57-82-X opls 0.0 4.65 0.0 0.0 - dihedral_coeff @dihedral:X-57-82-49 opls 0.0 10.0 0.0 0.0 - dihedral_coeff @dihedral:45-57-82-X opls 0.0 5.0 0.0 0.0 - dihedral_coeff @dihedral:X-57-84-X opls 0.0 2.8 0.0 0.0 - dihedral_coeff @dihedral:45-57-84-X opls 0.0 5.0 0.0 0.0 - dihedral_coeff @dihedral:61-57-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:84-57-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:X-60-60-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-60-61-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-60-80-X opls 0.0 3.35 0.0 0.0 - dihedral_coeff @dihedral:X-60-81-X opls 0.0 6.0 0.0 0.0 - dihedral_coeff @dihedral:X-60-87-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-60-87-84 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:60-60-87-84 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-61-61-X opls 0.0 10.0 0.0 0.0 - dihedral_coeff @dihedral:X-61-62-X opls 0.0 10.0 0.0 0.0 - dihedral_coeff @dihedral:X-61-82-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-61-82-49 opls 0.0 10.0 0.0 0.0 - dihedral_coeff @dihedral:83-61-82-16 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:88-61-82-16 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:88-61-82-20 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-61-83-X opls 0.0 4.8 0.0 0.0 - dihedral_coeff @dihedral:82-61-83-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:82-61-83-84 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-61-84-X opls 0.0 10.0 0.0 0.0 - dihedral_coeff @dihedral:X-61-88-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:82-61-88-84 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-80-84-X opls 0.0 13.05 0.0 0.0 - dihedral_coeff @dihedral:X-82-84-X opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:16-82-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:20-82-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:57-82-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:61-82-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:X-82-87-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-83-84-X opls 0.0 10.75 0.0 0.0 - dihedral_coeff @dihedral:X-83-84-49 opls 0.0 10.75 0.0 0.0 - dihedral_coeff @dihedral:49-83-84-X opls 0.0 10.75 0.0 0.0 - dihedral_coeff @dihedral:49-83-84-16 opls 0.0 10.75 0.0 0.0 - dihedral_coeff @dihedral:49-83-84-49 opls 0.0 10.75 0.0 0.0 - dihedral_coeff @dihedral:61-83-84-16 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:61-83-84-20 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:61-83-84-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-83-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:61-83-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:61-83-87-X opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:84-83-87-X opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:X-84-84-X opls 0.0 10.75 0.0 0.0 - dihedral_coeff @dihedral:X-84-84-49 opls 0.0 10.75 0.0 0.0 - dihedral_coeff @dihedral:16-84-84-49 opls 0.0 10.75 0.0 0.0 - dihedral_coeff @dihedral:49-84-84-49 opls 0.0 10.75 0.0 0.0 - dihedral_coeff @dihedral:X-84-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:16-84-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:20-84-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:57-84-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:X-84-87-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-84-87-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-84-87-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-84-88-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:16-84-88-49 opls 0.0 10.75 0.0 0.0 - dihedral_coeff @dihedral:16-84-88-61 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:20-84-88-61 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-84-88-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:49-84-88-61 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:48-86-86-48 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:48-86-86-56 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:48-86-87-X opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:48-86-88-X opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:48-86-88-61 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:56-86-88-X opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:X-87-87-20 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:X-87-87-57 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:X-87-87-87 opls 0.0 2.17 0.0 0.0 - dihedral_coeff @dihedral:49-87-87-49 opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:4-89-90-13 opls 0.0 6.089 0.0 0.0 - dihedral_coeff @dihedral:4-89-90-45 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:4-89-90-48 opls 0.0 6.089 0.0 0.0 - dihedral_coeff @dihedral:4-89-90-91 opls 0.0 20.0 0.0 0.0 - dihedral_coeff @dihedral:91-89-90-13 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:91-89-90-45 opls 0.0 4.9 0.0 0.0 - dihedral_coeff @dihedral:91-89-90-48 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:91-89-90-91 opls 2.3 6.089 0.0 0.0 - dihedral_coeff @dihedral:X-89-91-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:4-89-91-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:4-89-91-91 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:90-89-91-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:90-89-91-91 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-90-91-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-90-91-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-90-91-91 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-91-91-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-91-91-24 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-91-91-13 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-91-91-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-91-91-46 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:46-91-91-91 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:91-91-91-91 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:X-109-109-X opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-109-109-13 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-109-109-46 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-109-109-48 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-109-109-50 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:13-109-109-109 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:46-109-109-46 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:46-109-109-48 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:46-109-109-50 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:46-109-109-109 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:48-109-109-48 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:48-109-109-50 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:48-109-109-109 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:50-109-109-50 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:50-109-109-109 opls 0.0 14.0 0.0 0.0 - dihedral_coeff @dihedral:109-109-109-109 opls 1.423 4.055 0.858 0.0 - dihedral_coeff @dihedral:24-3-13-53 opls 1.816 1.222 1.581 0.0 - dihedral_coeff @dihedral:52-3-13-24 opls 0.0 0.82 0.0 0.0 - dihedral_coeff @dihedral:3-13-13-53 opls 1.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:3-13-13-83 opls -1.697 -0.456 0.585 0.0 - dihedral_coeff @dihedral:3-13-13-84 opls -1.697 -0.456 0.585 0.0 - dihedral_coeff @dihedral:3-13-13-85 opls -1.697 -0.456 0.585 0.0 - dihedral_coeff @dihedral:5-13-13-53 opls 6.28 -1.467 2.03 0.0 - dihedral_coeff @dihedral:15-13-13-53 opls 1.428 0.086 0.029 0.0 - dihedral_coeff @dihedral:16-13-13-53 opls 1.428 0.086 0.029 0.0 - dihedral_coeff @dihedral:13-13-13-55 opls 2.732 -0.229 0.485 0.0 - dihedral_coeff @dihedral:24-13-13-83 opls 0.845 -0.962 0.713 0.0 - dihedral_coeff @dihedral:53-13-13-83 opls 1.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:24-13-13-84 opls 0.845 -0.962 0.713 0.0 - dihedral_coeff @dihedral:53-13-13-84 opls 1.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:24-13-13-85 opls 0.845 -0.962 0.713 0.0 - dihedral_coeff @dihedral:46-13-13-85 opls 0.0 0.0 0.462 0.0 - dihedral_coeff @dihedral:53-13-13-85 opls 1.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:3-13-53-13 opls 1.438 -0.124 0.264 0.0 - dihedral_coeff @dihedral:3-13-53-54 opls 0.0 0.0 0.347 0.0 - dihedral_coeff @dihedral:13-13-53-54 opls 0.0 0.0 0.347 0.0 - dihedral_coeff @dihedral:46-13-55-54 opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-85-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:13-13-85-57 opls 1.7 -0.6 0.0 0.0 - dihedral_coeff @dihedral:46-13-85-X opls 0.0 0.0 0.0 0.0 - dihedral_coeff @dihedral:55-48-55-54 opls 0.0 3.9 0.0 0.0 - dihedral_coeff @dihedral:X-48-81-X opls 0.0 7.25 0.0 0.0 - dihedral_coeff @dihedral:X-57-85-X opls 0.0 5.0 0.0 0.0 - dihedral_coeff @dihedral:X-85-85-X opls 0.0 10.75 0.0 0.0 - dihedral_coeff @dihedral:13-13-13-20 opls 1.3 -0.05 0.2 0.0 - dihedral_coeff @dihedral:13-13-13-47 opls 1.3 -0.05 0.2 0.0 + dihedral_coeff @dihedral:X_002_002_002 -2.5 1.25 3.1 0.0 + dihedral_coeff @dihedral:X_002_002_006 -2.5 1.25 3.1 0.0 + dihedral_coeff @dihedral:001_002_002_002 -2.0 0.7 3.0 0.0 + dihedral_coeff @dihedral:001_002_002_006 -2.0 0.7 3.0 0.0 + dihedral_coeff @dihedral:002_002_002_002 -3.4 1.25 3.1 0.0 + dihedral_coeff @dihedral:002_002_002_006 -3.4 1.25 3.1 0.0 + dihedral_coeff @dihedral:002_002_002_010 -3.4 1.25 3.1 0.0 + dihedral_coeff @dihedral:002_002_002_013 -3.4 1.25 3.1 0.0 + dihedral_coeff @dihedral:002_002_002_065 -2.0 0.5 3.25 0.0 + dihedral_coeff @dihedral:006_002_002_006 -3.4 1.25 3.1 0.0 + dihedral_coeff @dihedral:006_002_002_065 -2.0 0.5 3.25 0.0 + dihedral_coeff @dihedral:010_002_002_010 -3.4 1.25 3.1 0.0 + dihedral_coeff @dihedral:002_002_005_007 0.3 0.0 1.3 0.0 + dihedral_coeff @dihedral:006_002_005_007 0.3 0.0 1.3 0.0 + dihedral_coeff @dihedral:010_002_005_007 0.3 0.0 1.3 0.0 + dihedral_coeff @dihedral:X_002_010_002 -2.5 1.25 3.1 0.0 + dihedral_coeff @dihedral:002_002_010_002 -3.4 1.25 3.1 0.0 + dihedral_coeff @dihedral:002_002_013_002 -3.4 1.25 3.1 0.0 + dihedral_coeff @dihedral:006_002_020_002 -7.4 3.0 1.8 0.0 + dihedral_coeff @dihedral:006_002_020_006 -8.4 3.0 1.8 0.0 + dihedral_coeff @dihedral:004_003_003_004 1.6 3.2 0.0 0.0 + dihedral_coeff @dihedral:004_003_003_013 0.0 0.5 0.0 0.0 + dihedral_coeff @dihedral:004_003_003_024 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_003_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_003_003_013 0.7 -1.5 0.0 0.0 + dihedral_coeff @dihedral:013_003_003_024 -0.5 0.2 0.0 0.0 + dihedral_coeff @dihedral:013_003_003_046 0.8 -0.76 0.0 0.0 + dihedral_coeff @dihedral:024_003_003_046 -0.9 0.3 0.0 0.0 + dihedral_coeff @dihedral:046_003_003_046 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:003_003_005_007 3.0 5.5 0.0 0.0 + dihedral_coeff @dihedral:004_003_005_007 0.0 5.0 0.0 0.0 + dihedral_coeff @dihedral:013_003_005_007 1.5 5.5 0.0 0.0 + dihedral_coeff @dihedral:024_003_005_007 -2.0 5.0 0.0 0.0 + dihedral_coeff @dihedral:046_003_005_007 1.5 5.5 0.0 0.0 + dihedral_coeff @dihedral:048_003_005_007 4.0 5.0 0.0 0.0 + dihedral_coeff @dihedral:001_003_013_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:001_003_013_046 0.0 0.0 0.36 0.0 + dihedral_coeff @dihedral:003_003_013_046 0.0 0.0 0.085 0.0 + dihedral_coeff @dihedral:004_003_013_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_013_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_013_021 -0.65 0.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_013_044 0.0 0.82 0.0 0.0 + dihedral_coeff @dihedral:004_003_013_024 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_013_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_013_048 0.0 0.546 0.0 0.0 + dihedral_coeff @dihedral:005_003_013_013 0.0 1.412 0.0 0.0 + dihedral_coeff @dihedral:005_003_013_044 5.26 0.82 0.0 0.0 + dihedral_coeff @dihedral:005_003_013_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_003_013_013 1.454 -0.144 -0.775 0.0 + dihedral_coeff @dihedral:013_003_013_046 0.0 0.0 0.275 0.0 + dihedral_coeff @dihedral:020_003_013_013 0.0 0.0 -0.553 0.0 + dihedral_coeff @dihedral:020_003_013_046 0.0 0.0 0.132 0.0 + dihedral_coeff @dihedral:021_003_013_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:021_003_013_046 0.0 0.0 0.36 0.0 + dihedral_coeff @dihedral:024_003_013_013 1.173 0.189 -1.2 0.0 + dihedral_coeff @dihedral:024_003_013_021 0.65 0.0 0.0 0.0 + dihedral_coeff @dihedral:024_003_013_024 1.816 1.222 1.581 0.0 + dihedral_coeff @dihedral:024_003_013_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_003_013_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_003_013_046 0.0 0.0 0.36 0.0 + dihedral_coeff @dihedral:048_003_013_046 0.0 0.0 0.275 0.0 + dihedral_coeff @dihedral:052_003_013_013 0.0 0.82 0.0 0.0 + dihedral_coeff @dihedral:052_003_013_044 0.0 0.82 0.0 0.0 + dihedral_coeff @dihedral:052_003_013_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:065_003_013_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:065_003_013_046 0.0 0.0 0.36 0.0 + dihedral_coeff @dihedral:107_003_013_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_020_013 0.0 5.124 0.0 0.0 + dihedral_coeff @dihedral:004_003_020_048 0.0 5.0 0.0 0.0 + dihedral_coeff @dihedral:013_003_020_013 4.669 5.124 0.0 0.0 + dihedral_coeff @dihedral:013_003_020_048 1.5 5.0 0.0 0.0 + dihedral_coeff @dihedral:024_003_020_013 -2.0 5.0 0.0 0.0 + dihedral_coeff @dihedral:046_003_020_013 4.669 5.124 0.0 0.0 + dihedral_coeff @dihedral:048_003_020_013 4.0 5.0 0.0 0.0 + dihedral_coeff @dihedral:003_003_024_013 0.4 4.9 0.0 0.0 + dihedral_coeff @dihedral:003_003_024_045 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:004_003_024_005 0.0 6.603 0.0 0.0 + dihedral_coeff @dihedral:004_003_024_013 0.0 6.089 0.0 0.0 + dihedral_coeff @dihedral:004_003_024_045 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:004_003_024_047 0.0 6.089 0.0 0.0 + dihedral_coeff @dihedral:004_003_024_048 0.0 6.089 0.0 0.0 + dihedral_coeff @dihedral:004_003_024_091 0.0 6.089 0.0 0.0 + dihedral_coeff @dihedral:005_003_024_013 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:005_003_024_045 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:013_003_024_005 4.542 6.603 1.045 0.0 + dihedral_coeff @dihedral:013_003_024_013 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:013_003_024_045 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:013_003_024_048 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:020_003_024_013 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:020_003_024_045 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:024_003_024_003 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:024_003_024_013 4.6 0.0 0.0 0.0 + dihedral_coeff @dihedral:024_003_024_045 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:046_003_024_013 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:046_003_024_045 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:047_003_024_045 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:048_003_024_045 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:048_003_024_048 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:048_003_024_084 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:048_003_024_087 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:084_003_024_048 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:084_003_024_084 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:084_003_024_087 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:087_003_024_045 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:087_003_024_048 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:087_003_024_084 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:087_003_024_087 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:X_003_047_013 0.9 0.23 -0.505 0.0 + dihedral_coeff @dihedral:004_003_047_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_047_047 2.5 6.0 0.0 0.0 + dihedral_coeff @dihedral:005_003_047_047 3.2 -3.0 0.0 0.0 + dihedral_coeff @dihedral:024_003_047_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:024_003_047_047 2.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:107_003_047_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:107_003_047_047 2.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_048_048 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:005_003_048_048 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:013_003_048_048 0.0 0.2 0.0 0.0 + dihedral_coeff @dihedral:020_003_048_048 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:024_003_048_048 0.0 1.1 0.0 0.0 + dihedral_coeff @dihedral:046_003_048_048 0.0 0.2 0.0 0.0 + dihedral_coeff @dihedral:X_003_050_013 0.9 0.23 -0.505 0.0 + dihedral_coeff @dihedral:004_003_050_047 2.5 6.0 0.0 0.0 + dihedral_coeff @dihedral:005_003_050_047 3.2 -3.0 0.0 0.0 + dihedral_coeff @dihedral:013_003_050_047 0.8 -3.0 0.0 0.0 + dihedral_coeff @dihedral:013_003_056_X 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_003_056_013 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:046_003_056_X 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:046_003_056_045 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:X_003_060_X 0.0 7.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_060_X 0.0 7.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_082_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_082_057 2.0 1.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_082_061 0.0 1.0 0.0 0.0 + dihedral_coeff @dihedral:082_003_082_057 -2.0 1.0 0.0 0.0 + dihedral_coeff @dihedral:082_003_082_061 0.0 1.0 0.0 0.0 + dihedral_coeff @dihedral:004_003_084_020 -0.75 1.5 0.0 0.0 + dihedral_coeff @dihedral:004_003_084_087 0.75 1.5 0.0 0.0 + dihedral_coeff @dihedral:084_003_084_020 0.0 1.5 0.0 0.0 + dihedral_coeff @dihedral:084_003_084_087 0.0 1.5 0.0 0.0 + dihedral_coeff @dihedral:048_003_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:X_003_087_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:004_003_087_084 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:004_003_087_087 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:024_003_087_084 0.0 1.1 0.0 0.0 + dihedral_coeff @dihedral:024_003_087_087 0.0 1.1 0.0 0.0 + dihedral_coeff @dihedral:004_003_107_013 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:013_003_107_013 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:004_003_109_109 2.5 6.0 0.0 0.0 + dihedral_coeff @dihedral:005_003_109_109 3.2 -3.0 0.0 0.0 + dihedral_coeff @dihedral:X_004_106_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:007_005_010_002 0.3 0.0 0.5 0.0 + dihedral_coeff @dihedral:007_005_010_006 0.3 0.0 0.5 0.0 + dihedral_coeff @dihedral:007_005_013_002 0.0 0.0 0.2 0.0 + dihedral_coeff @dihedral:007_005_013_006 0.0 0.0 0.2 0.0 + dihedral_coeff @dihedral:007_005_013_013 -0.356 -0.174 0.492 0.0 + dihedral_coeff @dihedral:007_005_013_046 0.0 0.0 0.352 0.0 + dihedral_coeff @dihedral:007_005_013_047 -0.9 0.0 0.0 0.0 + dihedral_coeff @dihedral:007_005_013_048 -0.9 0.0 0.0 0.0 + dihedral_coeff @dihedral:007_005_013_050 -0.9 0.0 0.0 0.0 + dihedral_coeff @dihedral:007_005_044_013 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:007_005_044_045 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:007_005_024_003 5.519 -6.7 0.581 0.0 + dihedral_coeff @dihedral:007_005_024_045 2.722 -5.154 0.0 0.0 + dihedral_coeff @dihedral:007_005_047_047 0.0 1.682 0.0 0.0 + dihedral_coeff @dihedral:007_005_048_048 0.0 1.682 0.0 0.0 + dihedral_coeff @dihedral:007_005_051_020 -1.257 -1.806 0.003 0.0 + dihedral_coeff @dihedral:007_005_056_003 3.0 3.0 0.0 0.0 + dihedral_coeff @dihedral:007_005_064_004 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:007_005_064_005 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:007_005_079_013 -0.75 0.0 0.0 0.0 + dihedral_coeff @dihedral:007_005_079_023 0.75 0.0 0.0 0.0 + dihedral_coeff @dihedral:007_005_079_048 2.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_013_013_003 -4.344 -1.714 0.0 0.0 + dihedral_coeff @dihedral:X_013_013_013 1.711 -0.5 0.663 0.0 + dihedral_coeff @dihedral:X_013_013_024 1.428 0.086 0.029 0.0 + dihedral_coeff @dihedral:001_013_013_001 -2.5 0.0 0.25 0.0 + dihedral_coeff @dihedral:001_013_013_005 0.0 0.0 0.54 0.0 + dihedral_coeff @dihedral:001_013_013_013 0.3 -0.4 0.4 0.0 + dihedral_coeff @dihedral:001_013_013_046 0.0 0.0 0.4 0.0 + dihedral_coeff @dihedral:003_013_013_003 -0.55 0.0 1.0 0.0 + dihedral_coeff @dihedral:003_013_013_005 -6.18 0.0 0.0 0.0 + dihedral_coeff @dihedral:003_013_013_013 -2.06 -0.313 0.315 0.0 + dihedral_coeff @dihedral:003_013_013_015 -4.344 -1.714 0.0 0.0 + dihedral_coeff @dihedral:003_013_013_016 -4.344 -1.714 0.0 0.0 + dihedral_coeff @dihedral:003_013_013_024 -9.0 2.0 0.8 0.0 + dihedral_coeff @dihedral:003_013_013_046 0.0 0.0 -0.1 0.0 + dihedral_coeff @dihedral:003_013_013_048 -1.697 -0.456 0.585 0.0 + dihedral_coeff @dihedral:003_013_013_080 -1.697 -0.456 0.585 0.0 + dihedral_coeff @dihedral:005_013_013_005 9.508 0.0 0.0 0.0 + dihedral_coeff @dihedral:005_013_013_013 -1.552 0.0 0.0 0.0 + dihedral_coeff @dihedral:005_013_013_020 4.319 0.0 0.0 0.0 + dihedral_coeff @dihedral:005_013_013_044 8.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:005_013_013_024 6.28 -1.467 2.03 0.0 + dihedral_coeff @dihedral:005_013_013_046 0.0 0.0 0.468 0.0 + dihedral_coeff @dihedral:013_013_013_013 1.3 -0.05 0.2 0.0 + dihedral_coeff @dihedral:013_013_013_015 1.262 -0.198 0.465 0.0 + dihedral_coeff @dihedral:013_013_013_016 2.619 -0.62 0.258 0.0 + dihedral_coeff @dihedral:013_013_013_019 0.0 -0.65 0.0 0.0 + dihedral_coeff @dihedral:013_013_013_021 0.0 0.0 0.4 0.0 + dihedral_coeff @dihedral:013_013_013_044 2.392 -0.674 0.55 0.0 + dihedral_coeff @dihedral:013_013_013_024 0.845 -0.962 0.713 0.0 + dihedral_coeff @dihedral:013_013_013_046 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:013_013_013_051 1.3 -0.05 0.2 0.0 + dihedral_coeff @dihedral:013_013_013_053 2.732 -0.229 0.485 0.0 + dihedral_coeff @dihedral:013_013_013_065 0.0 0.0 0.4 0.0 + dihedral_coeff @dihedral:013_013_013_066 0.0 0.0 0.4 0.0 + dihedral_coeff @dihedral:013_013_013_079 1.262 -0.198 0.465 0.0 + dihedral_coeff @dihedral:013_013_013_107 1.964 0.0 0.659 0.0 + dihedral_coeff @dihedral:013_013_013_108 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:015_013_013_046 0.0 0.0 0.452 0.0 + dihedral_coeff @dihedral:016_013_013_046 0.0 0.0 0.452 0.0 + dihedral_coeff @dihedral:019_013_013_046 0.0 0.0 0.366 0.0 + dihedral_coeff @dihedral:020_013_013_020 -0.55 0.0 0.0 0.0 + dihedral_coeff @dihedral:020_013_013_046 0.0 0.0 0.468 0.0 + dihedral_coeff @dihedral:021_013_013_021 -0.25 0.0 0.0 0.0 + dihedral_coeff @dihedral:021_013_013_044 2.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:021_013_013_046 0.0 0.0 0.4 0.0 + dihedral_coeff @dihedral:044_013_013_044 11.035 -0.968 0.27 0.0 + dihedral_coeff @dihedral:044_013_013_046 -1.013 -0.709 0.473 0.0 + dihedral_coeff @dihedral:044_013_013_048 -0.8 0.0 0.0 0.0 + dihedral_coeff @dihedral:024_013_013_046 0.0 0.0 0.464 0.0 + dihedral_coeff @dihedral:024_013_013_048 0.845 -0.962 0.713 0.0 + dihedral_coeff @dihedral:024_013_013_080 0.845 -0.962 0.713 0.0 + dihedral_coeff @dihedral:046_013_013_046 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:046_013_013_047 0.0 0.0 0.366 0.0 + dihedral_coeff @dihedral:046_013_013_048 0.0 0.0 0.462 0.0 + dihedral_coeff @dihedral:046_013_013_051 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:046_013_013_053 0.0 0.0 0.384 0.0 + dihedral_coeff @dihedral:046_013_013_055 0.0 0.0 -0.582 0.0 + dihedral_coeff @dihedral:046_013_013_059 0.0 0.0 0.462 0.0 + dihedral_coeff @dihedral:046_013_013_062 0.0 0.0 0.462 0.0 + dihedral_coeff @dihedral:046_013_013_065 0.0 0.0 0.4 0.0 + dihedral_coeff @dihedral:046_013_013_066 0.0 0.0 0.4 0.0 + dihedral_coeff @dihedral:046_013_013_079 0.0 0.0 0.452 0.0 + dihedral_coeff @dihedral:046_013_013_080 0.0 0.0 0.462 0.0 + dihedral_coeff @dihedral:046_013_013_082 0.0 0.0 0.462 0.0 + dihedral_coeff @dihedral:046_013_013_083 0.0 0.0 0.462 0.0 + dihedral_coeff @dihedral:046_013_013_084 0.0 0.0 0.462 0.0 + dihedral_coeff @dihedral:046_013_013_087 0.0 0.0 0.462 0.0 + dihedral_coeff @dihedral:046_013_013_088 0.0 0.0 0.462 0.0 + dihedral_coeff @dihedral:046_013_013_102 0.0 0.0 -0.225 0.0 + dihedral_coeff @dihedral:046_013_013_104 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:046_013_013_107 0.0 0.0 0.464 0.0 + dihedral_coeff @dihedral:046_013_013_108 0.0 0.0 0.45 0.0 + dihedral_coeff @dihedral:046_013_013_109 0.0 0.0 0.366 0.0 + dihedral_coeff @dihedral:048_013_013_053 1.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:108_013_013_108 5.2 -0.5 0.0 0.0 + dihedral_coeff @dihedral:013_013_015_017 -0.759 -0.282 0.68 0.0 + dihedral_coeff @dihedral:046_013_015_017 0.0 0.0 0.48 0.0 + dihedral_coeff @dihedral:013_013_016_013 0.925 -0.576 0.677 0.0 + dihedral_coeff @dihedral:013_013_016_016 1.941 -0.836 0.935 0.0 + dihedral_coeff @dihedral:046_013_016_013 0.0 0.0 0.647 0.0 + dihedral_coeff @dihedral:046_013_016_016 0.0 0.0 0.558 0.0 + dihedral_coeff @dihedral:046_013_016_048 0.0 0.0 0.647 0.0 + dihedral_coeff @dihedral:X_013_018_019 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_018_019 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_013_019_018 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_013_019_019 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_019_019 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_019_019 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_013_020_013 -0.521 -2.018 1.996 0.0 + dihedral_coeff @dihedral:056_013_020_013 -0.5 -1.5 1.0 0.0 + dihedral_coeff @dihedral:057_013_020_013 -0.5 -1.5 1.0 0.0 + dihedral_coeff @dihedral:013_013_020_003 -1.22 -0.126 0.422 0.0 + dihedral_coeff @dihedral:013_013_020_013 0.65 -0.25 0.67 0.0 + dihedral_coeff @dihedral:013_013_020_064 -1.42 -0.62 0.1 0.0 + dihedral_coeff @dihedral:046_013_020_X 0.0 0.0 0.76 0.0 + dihedral_coeff @dihedral:046_013_020_003 0.0 0.0 0.198 0.0 + dihedral_coeff @dihedral:046_013_020_047 0.0 0.0 0.76 0.0 + dihedral_coeff @dihedral:046_013_020_048 0.0 0.0 0.76 0.0 + dihedral_coeff @dihedral:046_013_020_051 0.0 0.0 0.76 0.0 + dihedral_coeff @dihedral:046_013_020_064 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:X_013_024_045 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:003_013_024_003 -2.365 0.912 -0.85 0.0 + dihedral_coeff @dihedral:003_013_024_013 -1.737 1.251 -3.501 0.0 + dihedral_coeff @dihedral:003_013_024_045 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_024_003 0.0 0.462 0.0 0.0 + dihedral_coeff @dihedral:013_013_024_013 4.753 -0.734 0.0 0.0 + dihedral_coeff @dihedral:013_013_024_045 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_024_059 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_024_079 2.929 -2.533 0.497 0.0 + dihedral_coeff @dihedral:013_013_024_091 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:046_013_024_003 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_024_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_024_045 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_024_048 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_024_079 1.362 -1.457 0.149 0.0 + dihedral_coeff @dihedral:048_013_024_059 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_044_013 0.416 -0.128 0.695 0.0 + dihedral_coeff @dihedral:013_013_044_045 -0.19 -0.417 0.418 0.0 + dihedral_coeff @dihedral:046_013_044_013 0.0 0.0 0.56 0.0 + dihedral_coeff @dihedral:046_013_044_045 0.0 0.0 0.4 0.0 + dihedral_coeff @dihedral:046_013_044_048 0.0 0.0 0.56 0.0 + dihedral_coeff @dihedral:X_013_047_013 1.711 -0.5 0.663 0.0 + dihedral_coeff @dihedral:X_013_047_046 0.0 0.0 0.468 0.0 + dihedral_coeff @dihedral:X_013_047_047 0.5 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_013_047_050 0.5 0.0 0.0 0.0 + dihedral_coeff @dihedral:001_013_047_047 0.5 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_047_013 2.817 -0.169 0.543 0.0 + dihedral_coeff @dihedral:013_013_047_047 0.346 0.405 -0.904 0.0 + dihedral_coeff @dihedral:013_013_047_050 0.346 0.405 -0.904 0.0 + dihedral_coeff @dihedral:046_013_047_013 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:046_013_047_046 0.0 0.0 0.318 0.0 + dihedral_coeff @dihedral:046_013_047_047 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:046_013_047_050 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:046_013_047_110 0.0 0.0 -0.25 0.0 + dihedral_coeff @dihedral:047_013_047_013 0.0 -8.0 0.0 0.0 + dihedral_coeff @dihedral:047_013_047_046 0.0 -8.0 0.0 0.0 + dihedral_coeff @dihedral:X_013_048_048 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:001_013_048_048 0.0 0.45 0.0 0.0 + dihedral_coeff @dihedral:013_013_048_048 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_048_056 -0.5 0.5 -0.5 0.0 + dihedral_coeff @dihedral:021_013_048_048 0.0 -0.4 0.0 0.0 + dihedral_coeff @dihedral:046_013_048_048 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:064_013_048_048 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:065_013_048_048 0.0 0.0 0.4 0.0 + dihedral_coeff @dihedral:X_013_050_047 0.5 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_050_050 0.346 0.405 -0.904 0.0 + dihedral_coeff @dihedral:046_013_050_047 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:046_013_050_050 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:046_013_050_109 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:013_013_051_X 1.711 -0.5 0.663 0.0 + dihedral_coeff @dihedral:013_013_051_046 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:046_013_051_020 0.0 0.0 0.468 0.0 + dihedral_coeff @dihedral:013_013_053_013 1.438 -0.124 0.264 0.0 + dihedral_coeff @dihedral:013_013_053_045 0.0 0.0 0.347 0.0 + dihedral_coeff @dihedral:046_013_053_013 0.0 0.0 0.302 0.0 + dihedral_coeff @dihedral:046_013_053_045 0.0 0.0 0.261 0.0 + dihedral_coeff @dihedral:046_013_053_048 0.0 0.0 0.462 0.0 + dihedral_coeff @dihedral:046_013_053_054 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:013_013_055_045 -0.19 -0.417 0.418 0.0 + dihedral_coeff @dihedral:013_013_055_048 1.829 0.243 -0.498 0.0 + dihedral_coeff @dihedral:013_013_055_054 -0.19 -0.417 0.418 0.0 + dihedral_coeff @dihedral:046_013_055_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_055_045 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_055_048 0.0 0.0 0.177 0.0 + dihedral_coeff @dihedral:013_013_056_018 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_013_057_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_057_X 1.0 -0.35 0.0 0.0 + dihedral_coeff @dihedral:013_013_057_062 2.756 -0.872 -3.68 0.0 + dihedral_coeff @dihedral:013_013_057_082 -1.0 -0.35 0.0 0.0 + dihedral_coeff @dihedral:020_013_057_X 1.5 -1.5 0.0 0.0 + dihedral_coeff @dihedral:020_013_057_062 -1.5 -1.5 0.0 0.0 + dihedral_coeff @dihedral:020_013_057_082 -1.5 -1.5 0.0 0.0 + dihedral_coeff @dihedral:013_013_059_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_059_056 0.0 0.5 -0.5 0.0 + dihedral_coeff @dihedral:046_013_059_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_062_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_062_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_064_020 0.0 0.0 0.25 0.0 + dihedral_coeff @dihedral:046_013_064_052 0.0 0.0 0.25 0.0 + dihedral_coeff @dihedral:048_013_064_020 2.25 0.0 0.0 0.0 + dihedral_coeff @dihedral:048_013_064_052 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_013_079_023 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_013_079_024 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_079_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_079_023 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_079_005 0.0 0.0 0.35 0.0 + dihedral_coeff @dihedral:046_013_079_013 0.0 0.0 0.35 0.0 + dihedral_coeff @dihedral:046_013_079_023 0.0 0.0 0.35 0.0 + dihedral_coeff @dihedral:046_013_079_048 0.0 0.0 0.35 0.0 + dihedral_coeff @dihedral:013_013_080_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_080_060 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_080_084 -0.714 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_080_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_080_060 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_080_084 0.0 0.0 -0.48 0.0 + dihedral_coeff @dihedral:013_013_082_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_082_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_083_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_083_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:001_013_084_X 0.0 0.45 0.0 0.0 + dihedral_coeff @dihedral:013_013_084_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_084_057 1.7 -0.6 0.0 0.0 + dihedral_coeff @dihedral:021_013_084_X 0.0 -0.4 0.0 0.0 + dihedral_coeff @dihedral:046_013_084_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:001_013_087_X 0.0 0.45 0.0 0.0 + dihedral_coeff @dihedral:013_013_087_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:021_013_087_X 0.0 -0.4 0.0 0.0 + dihedral_coeff @dihedral:046_013_087_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_088_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_088_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_013_090_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_090_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_091_091 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:013_013_095_013 0.0 -1.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_095_046 0.0 -1.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_102_103 0.0 0.4 0.0 0.0 + dihedral_coeff @dihedral:046_013_102_103 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_104_013 1.0 -0.5 0.5 0.0 + dihedral_coeff @dihedral:046_013_104_013 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:X_013_105_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_105_X 1.0 -0.35 0.0 0.0 + dihedral_coeff @dihedral:013_013_105_062 -1.0 -0.35 0.0 0.0 + dihedral_coeff @dihedral:013_013_105_082 -1.0 -0.35 0.0 0.0 + dihedral_coeff @dihedral:020_013_105_X 1.5 -1.5 0.0 0.0 + dihedral_coeff @dihedral:020_013_105_062 3.132 -1.491 2.744 0.0 + dihedral_coeff @dihedral:020_013_105_082 -1.5 -1.5 0.0 0.0 + dihedral_coeff @dihedral:003_013_107_013 -1.737 1.251 -3.501 0.0 + dihedral_coeff @dihedral:013_013_107_003 -1.396 -0.427 0.0 0.0 + dihedral_coeff @dihedral:013_013_107_013 4.753 -0.734 0.0 0.0 + dihedral_coeff @dihedral:046_013_107_003 0.0 0.0 -0.139 0.0 + dihedral_coeff @dihedral:046_013_107_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_107_048 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_108_013 1.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_108_045 0.0 0.0 0.26 0.0 + dihedral_coeff @dihedral:046_013_108_013 0.0 0.0 0.18 0.0 + dihedral_coeff @dihedral:046_013_108_020 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_013_108_045 0.0 0.0 0.18 0.0 + dihedral_coeff @dihedral:013_013_109_109 0.346 0.405 -0.904 0.0 + dihedral_coeff @dihedral:046_013_109_013 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:046_013_109_046 0.0 0.0 0.318 0.0 + dihedral_coeff @dihedral:046_013_109_109 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:017_015_048_X 0.0 1.1 0.0 0.0 + dihedral_coeff @dihedral:017_015_048_048 0.0 1.1 0.0 0.0 + dihedral_coeff @dihedral:013_016_016_013 0.0 -7.414 1.705 0.0 + dihedral_coeff @dihedral:013_016_048_048 0.0 0.6 0.0 0.0 + dihedral_coeff @dihedral:013_016_048_056 1.6 5.1 0.0 0.0 + dihedral_coeff @dihedral:013_016_059_056 0.0 4.8 0.0 0.0 + dihedral_coeff @dihedral:084_016_082_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:084_016_082_061 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:082_016_084_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:082_016_084_083 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:082_016_084_088 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_016_091_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:019_018_048_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:019_018_048_048 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:018_018_056_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:018_018_056_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_019_019_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_019_019_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_019_019_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_019_019_047 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_019_019_109 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_019_019_047 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_019_019_109 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:019_019_047_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:019_019_047_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:019_019_047_047 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_020_044_013 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:013_020_044_045 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:013_020_047_013 0.65 -0.25 0.67 0.0 + dihedral_coeff @dihedral:013_020_047_046 0.0 0.0 0.76 0.0 + dihedral_coeff @dihedral:013_020_047_047 -3.5 3.0 0.0 0.0 + dihedral_coeff @dihedral:013_020_047_050 -3.5 3.0 0.0 0.0 + dihedral_coeff @dihedral:003_020_048_048 0.0 2.5 0.0 0.0 + dihedral_coeff @dihedral:013_020_048_048 0.0 3.0 0.0 0.0 + dihedral_coeff @dihedral:013_020_048_056 0.4 5.5 0.0 0.0 + dihedral_coeff @dihedral:064_020_048_048 0.0 2.99 0.0 0.0 + dihedral_coeff @dihedral:013_020_051_005 -0.375 -1.358 0.004 0.0 + dihedral_coeff @dihedral:013_020_051_013 0.65 -0.25 0.67 0.0 + dihedral_coeff @dihedral:013_020_051_020 -0.375 -1.358 0.004 0.0 + dihedral_coeff @dihedral:013_020_051_046 0.0 0.0 0.76 0.0 + dihedral_coeff @dihedral:013_020_056_003 3.0 3.0 0.0 0.0 + dihedral_coeff @dihedral:013_020_059_056 0.0 5.2 0.0 0.0 + dihedral_coeff @dihedral:X_020_064_052 0.0 0.0 0.562 0.0 + dihedral_coeff @dihedral:013_020_064_013 3.5 -3.3 1.5 0.0 + dihedral_coeff @dihedral:013_020_064_052 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:048_020_064_004 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:084_020_082_061 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:082_020_084_088 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:084_020_084_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:084_020_084_087 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:108_020_108_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:108_020_108_020 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_024_048_048 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:003_024_048_048 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:013_024_048_048 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:045_024_048_048 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:059_024_048_048 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:082_024_048_048 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:084_024_048_048 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:X_024_059_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_024_059_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:045_024_059_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_024_060_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_024_079_023 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_024_079_048 2.074 -2.966 2.473 0.0 + dihedral_coeff @dihedral:045_024_079_048 1.671 -4.901 0.669 0.0 + dihedral_coeff @dihedral:013_024_082_061 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:045_024_082_016 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:045_024_082_020 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:045_024_082_061 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:048_024_082_016 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:048_024_082_020 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:048_024_082_061 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:X_024_084_X 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:003_024_084_084 0.0 3.0 0.0 0.0 + dihedral_coeff @dihedral:045_024_084_016 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:045_024_084_020 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:048_024_084_016 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:048_024_084_020 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:003_024_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:003_024_086_056 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:003_024_086_086 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:047_024_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:047_024_086_056 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:X_024_087_X 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:X_024_088_X 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:003_024_091_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:003_024_091_089 -1.396 -0.427 0.0 0.0 + dihedral_coeff @dihedral:003_024_091_091 -1.396 -0.427 0.0 0.0 + dihedral_coeff @dihedral:045_024_091_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:045_024_091_089 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:045_024_091_091 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_024_106_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_044_044_013 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:013_044_044_045 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:045_044_044_045 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:013_044_048_048 -7.582 3.431 3.198 0.0 + dihedral_coeff @dihedral:045_044_048_048 0.0 2.03 0.0 0.0 + dihedral_coeff @dihedral:059_044_048_048 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:082_044_048_048 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:084_044_048_048 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:045_044_082_016 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:045_044_082_061 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:048_044_082_016 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:048_044_082_061 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:047_046_047_013 0.0 -8.0 0.0 0.0 + dihedral_coeff @dihedral:047_046_047_046 0.0 -8.0 0.0 0.0 + dihedral_coeff @dihedral:X_047_047_X 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:X_047_047_019 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:003_047_047_024 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:003_047_047_046 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:005_047_047_013 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:005_047_047_046 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_047_047_013 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_047_047_019 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_047_047_020 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_047_047_046 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:019_047_047_046 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:020_047_047_046 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:021_047_047_021 -1.6 14.0 0.0 0.0 + dihedral_coeff @dihedral:021_047_047_046 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:046_047_047_046 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:046_047_047_048 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_047_048_048 0.205 -0.531 0.0 0.0 + dihedral_coeff @dihedral:046_047_048_048 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:046_047_048_056 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:047_047_048_048 1.241 3.353 -0.286 0.0 + dihedral_coeff @dihedral:013_047_050_013 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_047_050_046 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_047_050_048 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_047_050_050 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_047_050_109 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:024_047_050_003 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:046_047_050_013 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:046_047_050_046 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:046_047_050_048 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:046_047_050_050 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:046_047_050_109 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:X_047_084_X 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:X_047_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:003_047_086_086 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_047_086_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_047_086_024 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_047_087_X 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:X_047_088_X 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:013_047_110_047 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_047_110_047 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_048_048_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_048_048_013 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_048_048_048 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_048_048_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:001_048_048_048 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:001_048_048_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:013_048_048_013 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:013_048_048_048 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:013_048_048_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:013_048_048_050 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:021_048_048_048 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:021_048_048_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:044_048_048_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:047_048_048_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_048_048_048 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_048_048_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_048_048_050 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_048_048_055 0.0 1.62 0.0 -0.44 + dihedral_coeff @dihedral:048_048_048_060 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_048_048_065 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_048_048_066 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_048_048_086 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_048_048_109 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_048_048_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_048_048_050 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_048_048_060 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_048_048_065 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_048_048_066 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_048_048_086 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_048_048_109 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:056_048_048_086 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_048_050_046 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:048_048_050_047 1.241 3.353 -0.286 0.0 + dihedral_coeff @dihedral:056_048_050_046 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:056_048_050_047 1.241 3.353 -0.286 0.0 + dihedral_coeff @dihedral:048_048_053_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:048_048_053_054 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_048_055_045 0.0 2.03 0.0 0.0 + dihedral_coeff @dihedral:048_048_055_045 0.0 3.9 0.0 0.0 + dihedral_coeff @dihedral:055_048_055_013 0.0 7.936 0.0 0.0 + dihedral_coeff @dihedral:055_048_055_045 0.0 3.9 0.0 0.0 + dihedral_coeff @dihedral:060_048_055_045 0.0 2.03 0.0 0.0 + dihedral_coeff @dihedral:X_048_056_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_048_056_048 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_048_056_048 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_048_060_X 0.0 7.0 0.0 0.0 + dihedral_coeff @dihedral:X_048_079_023 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:048_048_079_013 0.0 -0.9 0.0 0.0 + dihedral_coeff @dihedral:048_048_079_024 1.656 -0.768 -0.117 0.0 + dihedral_coeff @dihedral:048_048_086_048 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_048_086_056 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_048_086_086 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_048_086_048 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_048_086_056 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_048_086_086 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:056_048_086_048 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:056_048_086_086 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_048_088_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:056_048_101_013 0.0 3.651 0.0 0.0 + dihedral_coeff @dihedral:048_048_102_103 0.0 1.15 0.0 0.0 + dihedral_coeff @dihedral:048_048_109_013 0.205 -0.531 0.0 0.0 + dihedral_coeff @dihedral:048_048_109_046 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:048_048_109_109 1.241 3.353 -0.286 0.0 + dihedral_coeff @dihedral:X_050_050_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:003_050_050_003 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:013_050_050_013 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:013_050_050_046 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:013_050_050_047 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:046_050_050_046 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:046_050_050_047 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:047_050_050_047 1.423 4.055 0.858 0.0 + dihedral_coeff @dihedral:013_050_109_013 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:013_050_109_109 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:046_050_109_013 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:046_050_109_046 0.0 0.0 0.3 0.0 + dihedral_coeff @dihedral:046_050_109_109 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:047_050_109_013 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:047_050_109_046 0.0 0.0 -0.372 0.0 + dihedral_coeff @dihedral:047_050_109_109 1.423 4.055 0.858 0.0 + dihedral_coeff @dihedral:013_053_082_061 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:048_053_082_061 0.0 2.1 0.0 0.0 + dihedral_coeff @dihedral:045_055_059_X 0.0 2.03 0.0 0.0 + dihedral_coeff @dihedral:013_056_056_013 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:013_056_056_048 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_056_056_048 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_056_059_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_056_059_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_056_060_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_056_062_X 0.0 10.0 0.0 0.0 + dihedral_coeff @dihedral:X_056_082_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_056_086_048 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_056_086_086 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_057_060_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:045_057_060_X 0.0 5.0 0.0 0.0 + dihedral_coeff @dihedral:X_057_061_X 0.0 10.0 0.0 0.0 + dihedral_coeff @dihedral:X_057_062_X 0.0 10.0 0.0 0.0 + dihedral_coeff @dihedral:X_057_081_X 0.0 3.05 0.0 0.0 + dihedral_coeff @dihedral:X_057_082_X 0.0 4.65 0.0 0.0 + dihedral_coeff @dihedral:X_057_082_049 0.0 10.0 0.0 0.0 + dihedral_coeff @dihedral:045_057_082_X 0.0 5.0 0.0 0.0 + dihedral_coeff @dihedral:X_057_084_X 0.0 2.8 0.0 0.0 + dihedral_coeff @dihedral:045_057_084_X 0.0 5.0 0.0 0.0 + dihedral_coeff @dihedral:061_057_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:084_057_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:X_060_060_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_060_061_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_060_080_X 0.0 3.35 0.0 0.0 + dihedral_coeff @dihedral:X_060_081_X 0.0 6.0 0.0 0.0 + dihedral_coeff @dihedral:X_060_087_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_060_087_084 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:060_060_087_084 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_061_061_X 0.0 10.0 0.0 0.0 + dihedral_coeff @dihedral:X_061_062_X 0.0 10.0 0.0 0.0 + dihedral_coeff @dihedral:X_061_082_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_061_082_049 0.0 10.0 0.0 0.0 + dihedral_coeff @dihedral:083_061_082_016 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:088_061_082_016 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:088_061_082_020 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_061_083_X 0.0 4.8 0.0 0.0 + dihedral_coeff @dihedral:082_061_083_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:082_061_083_084 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_061_084_X 0.0 10.0 0.0 0.0 + dihedral_coeff @dihedral:X_061_088_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:082_061_088_084 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_080_084_X 0.0 13.05 0.0 0.0 + dihedral_coeff @dihedral:X_082_084_X 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:016_082_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:020_082_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:057_082_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:061_082_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:X_082_087_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_083_084_X 0.0 10.75 0.0 0.0 + dihedral_coeff @dihedral:X_083_084_049 0.0 10.75 0.0 0.0 + dihedral_coeff @dihedral:049_083_084_X 0.0 10.75 0.0 0.0 + dihedral_coeff @dihedral:049_083_084_016 0.0 10.75 0.0 0.0 + dihedral_coeff @dihedral:049_083_084_049 0.0 10.75 0.0 0.0 + dihedral_coeff @dihedral:061_083_084_016 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:061_083_084_020 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:061_083_084_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_083_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:061_083_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:061_083_087_X 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:084_083_087_X 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:X_084_084_X 0.0 10.75 0.0 0.0 + dihedral_coeff @dihedral:X_084_084_049 0.0 10.75 0.0 0.0 + dihedral_coeff @dihedral:016_084_084_049 0.0 10.75 0.0 0.0 + dihedral_coeff @dihedral:049_084_084_049 0.0 10.75 0.0 0.0 + dihedral_coeff @dihedral:X_084_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:016_084_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:020_084_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:057_084_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:X_084_087_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_084_087_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_084_087_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_084_088_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:016_084_088_049 0.0 10.75 0.0 0.0 + dihedral_coeff @dihedral:016_084_088_061 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:020_084_088_061 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_084_088_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:049_084_088_061 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:048_086_086_048 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:048_086_086_056 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:048_086_087_X 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:048_086_088_X 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:048_086_088_061 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:056_086_088_X 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:X_087_087_020 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:X_087_087_057 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:X_087_087_087 0.0 2.17 0.0 0.0 + dihedral_coeff @dihedral:049_087_087_049 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:004_089_090_013 0.0 6.089 0.0 0.0 + dihedral_coeff @dihedral:004_089_090_045 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:004_089_090_048 0.0 6.089 0.0 0.0 + dihedral_coeff @dihedral:004_089_090_091 0.0 20.0 0.0 0.0 + dihedral_coeff @dihedral:091_089_090_013 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:091_089_090_045 0.0 4.9 0.0 0.0 + dihedral_coeff @dihedral:091_089_090_048 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:091_089_090_091 2.3 6.089 0.0 0.0 + dihedral_coeff @dihedral:X_089_091_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:004_089_091_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:004_089_091_091 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:090_089_091_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:090_089_091_091 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_090_091_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_090_091_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_090_091_091 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_091_091_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_091_091_024 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_091_091_013 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_091_091_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_091_091_046 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:046_091_091_091 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:091_091_091_091 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:X_109_109_X 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_109_109_013 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_109_109_046 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_109_109_048 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_109_109_050 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:013_109_109_109 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:046_109_109_046 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:046_109_109_048 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:046_109_109_050 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:046_109_109_109 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:048_109_109_048 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:048_109_109_050 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:048_109_109_109 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:050_109_109_050 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:050_109_109_109 0.0 14.0 0.0 0.0 + dihedral_coeff @dihedral:109_109_109_109 1.423 4.055 0.858 0.0 + dihedral_coeff @dihedral:024_003_013_053 1.816 1.222 1.581 0.0 + dihedral_coeff @dihedral:052_003_013_024 0.0 0.82 0.0 0.0 + dihedral_coeff @dihedral:003_013_013_053 1.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:003_013_013_083 -1.697 -0.456 0.585 0.0 + dihedral_coeff @dihedral:003_013_013_084 -1.697 -0.456 0.585 0.0 + dihedral_coeff @dihedral:003_013_013_085 -1.697 -0.456 0.585 0.0 + dihedral_coeff @dihedral:005_013_013_053 6.28 -1.467 2.03 0.0 + dihedral_coeff @dihedral:015_013_013_053 1.428 0.086 0.029 0.0 + dihedral_coeff @dihedral:016_013_013_053 1.428 0.086 0.029 0.0 + dihedral_coeff @dihedral:013_013_013_055 2.732 -0.229 0.485 0.0 + dihedral_coeff @dihedral:024_013_013_083 0.845 -0.962 0.713 0.0 + dihedral_coeff @dihedral:053_013_013_083 1.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:024_013_013_084 0.845 -0.962 0.713 0.0 + dihedral_coeff @dihedral:053_013_013_084 1.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:024_013_013_085 0.845 -0.962 0.713 0.0 + dihedral_coeff @dihedral:046_013_013_085 0.0 0.0 0.462 0.0 + dihedral_coeff @dihedral:053_013_013_085 1.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:003_013_053_013 1.438 -0.124 0.264 0.0 + dihedral_coeff @dihedral:003_013_053_054 0.0 0.0 0.347 0.0 + dihedral_coeff @dihedral:013_013_053_054 0.0 0.0 0.347 0.0 + dihedral_coeff @dihedral:046_013_055_054 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_085_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:013_013_085_057 1.7 -0.6 0.0 0.0 + dihedral_coeff @dihedral:046_013_085_X 0.0 0.0 0.0 0.0 + dihedral_coeff @dihedral:055_048_055_054 0.0 3.9 0.0 0.0 + dihedral_coeff @dihedral:X_048_081_X 0.0 7.25 0.0 0.0 + dihedral_coeff @dihedral:X_057_085_X 0.0 5.0 0.0 0.0 + dihedral_coeff @dihedral:X_085_085_X 0.0 10.75 0.0 0.0 + dihedral_coeff @dihedral:013_013_013_020 1.3 -0.05 0.2 0.0 + dihedral_coeff @dihedral:013_013_013_047 1.3 -0.05 0.2 0.0 } #(end of dihedral_coeffs) # Rules for creating dihedral interactions according to atom type: @@ -7327,806 +7340,806 @@ OPLSAA { # (* = wildcard) write_once("Data Dihedrals By Type") { - @dihedral:X-2-2-2 @atom:* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* - @dihedral:X-2-2-6 @atom:* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d6_i* - @dihedral:1-2-2-2 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* - @dihedral:1-2-2-6 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d6_i* - @dihedral:2-2-2-2 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* - @dihedral:2-2-2-6 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d6_i* - @dihedral:2-2-2-10 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d10_i* - @dihedral:2-2-2-13 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d13_i* - @dihedral:2-2-2-65 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d65_i* - @dihedral:6-2-2-6 @atom:*_b*_a*_d6_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d6_i* - @dihedral:6-2-2-65 @atom:*_b*_a*_d6_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d65_i* - @dihedral:10-2-2-10 @atom:*_b*_a*_d10_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d10_i* - @dihedral:2-2-5-7 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i* - @dihedral:6-2-5-7 @atom:*_b*_a*_d6_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i* - @dihedral:10-2-5-7 @atom:*_b*_a*_d10_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i* - @dihedral:X-2-10-2 @atom:* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d10_i* @atom:*_b*_a*_d2_i* - @dihedral:2-2-10-2 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d10_i* @atom:*_b*_a*_d2_i* - @dihedral:2-2-13-2 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d2_i* - @dihedral:6-2-20-2 @atom:*_b*_a*_d6_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d2_i* - @dihedral:6-2-20-6 @atom:*_b*_a*_d6_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d6_i* - @dihedral:4-3-3-4 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d4_i* - @dihedral:4-3-3-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* - @dihedral:4-3-3-24 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* - @dihedral:4-3-3-46 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d46_i* - @dihedral:13-3-3-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* - @dihedral:13-3-3-24 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* - @dihedral:13-3-3-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d46_i* - @dihedral:24-3-3-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d46_i* - @dihedral:46-3-3-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d46_i* - @dihedral:3-3-5-7 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i* - @dihedral:4-3-5-7 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i* - @dihedral:13-3-5-7 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i* - @dihedral:24-3-5-7 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i* - @dihedral:46-3-5-7 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i* - @dihedral:48-3-5-7 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i* - @dihedral:1-3-13-13 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:1-3-13-46 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:3-3-13-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:4-3-13-X @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:* - @dihedral:4-3-13-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:4-3-13-21 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d21_i* - @dihedral:4-3-13-44 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* - @dihedral:4-3-13-24 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* - @dihedral:4-3-13-46 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:4-3-13-48 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* - @dihedral:5-3-13-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:5-3-13-44 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* - @dihedral:5-3-13-46 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:13-3-13-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:13-3-13-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:20-3-13-13 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:20-3-13-46 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:21-3-13-13 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:21-3-13-46 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:24-3-13-13 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:24-3-13-21 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d21_i* - @dihedral:24-3-13-24 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* - @dihedral:24-3-13-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:46-3-13-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:46-3-13-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:48-3-13-46 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:52-3-13-13 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:52-3-13-44 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* - @dihedral:52-3-13-46 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:65-3-13-13 @atom:*_b*_a*_d65_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:65-3-13-46 @atom:*_b*_a*_d65_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:107-3-13-46 @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:4-3-20-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* - @dihedral:4-3-20-48 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* - @dihedral:13-3-20-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* - @dihedral:13-3-20-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* - @dihedral:24-3-20-13 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* - @dihedral:46-3-20-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* - @dihedral:48-3-20-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* - @dihedral:3-3-24-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* - @dihedral:3-3-24-45 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:4-3-24-5 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d5_i* - @dihedral:4-3-24-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* - @dihedral:4-3-24-45 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:4-3-24-47 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d47_i* - @dihedral:4-3-24-48 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* - @dihedral:4-3-24-91 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* - @dihedral:5-3-24-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* - @dihedral:5-3-24-45 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:13-3-24-5 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d5_i* - @dihedral:13-3-24-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* - @dihedral:13-3-24-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:13-3-24-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* - @dihedral:20-3-24-13 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* - @dihedral:20-3-24-45 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:24-3-24-3 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* - @dihedral:24-3-24-13 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* - @dihedral:24-3-24-45 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:46-3-24-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* - @dihedral:46-3-24-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:47-3-24-45 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:48-3-24-45 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:48-3-24-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* - @dihedral:48-3-24-84 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* - @dihedral:48-3-24-87 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d87_i* - @dihedral:84-3-24-48 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* - @dihedral:84-3-24-84 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* - @dihedral:84-3-24-87 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d87_i* - @dihedral:87-3-24-45 @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:87-3-24-48 @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* - @dihedral:87-3-24-84 @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* - @dihedral:87-3-24-87 @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d87_i* - @dihedral:X-3-47-13 @atom:* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* - @dihedral:4-3-47-46 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:4-3-47-47 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* - @dihedral:5-3-47-47 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* - @dihedral:24-3-47-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:24-3-47-47 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* - @dihedral:107-3-47-46 @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:107-3-47-47 @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* - @dihedral:4-3-48-48 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:5-3-48-48 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-3-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:20-3-48-48 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:24-3-48-48 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:46-3-48-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:X-3-50-13 @atom:* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13_i* - @dihedral:4-3-50-47 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i* - @dihedral:5-3-50-47 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i* - @dihedral:13-3-50-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i* - @dihedral:13-3-56-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d56_i* @atom:* - @dihedral:13-3-56-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13_i* - @dihedral:46-3-56-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d56_i* @atom:* - @dihedral:46-3-56-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d45_i* - @dihedral:X-3-60-X @atom:* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d60_i* @atom:* - @dihedral:4-3-60-X @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d60_i* @atom:* - @dihedral:4-3-82-X @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d82_i* @atom:* - @dihedral:4-3-82-57 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d57_i* - @dihedral:4-3-82-61 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* - @dihedral:82-3-82-57 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d57_i* - @dihedral:82-3-82-61 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* - @dihedral:4-3-84-20 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i* - @dihedral:4-3-84-87 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d87_i* - @dihedral:84-3-84-20 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i* - @dihedral:84-3-84-87 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d87_i* - @dihedral:48-3-86-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:X-3-87-X @atom:* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:4-3-87-84 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d84_i* - @dihedral:4-3-87-87 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i* - @dihedral:24-3-87-84 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d84_i* - @dihedral:24-3-87-87 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i* - @dihedral:4-3-107-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13_i* - @dihedral:13-3-107-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13_i* - @dihedral:4-3-109-109 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:5-3-109-109 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:X-4-106-X @atom:* @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d106_i* @atom:* - @dihedral:7-5-10-2 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d10_i* @atom:*_b*_a*_d2_i* - @dihedral:7-5-10-6 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d10_i* @atom:*_b*_a*_d6_i* - @dihedral:7-5-13-2 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d2_i* - @dihedral:7-5-13-6 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d6_i* - @dihedral:7-5-13-13 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:7-5-13-46 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:7-5-13-47 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* - @dihedral:7-5-13-48 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* - @dihedral:7-5-13-50 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* - @dihedral:7-5-44-13 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i* - @dihedral:7-5-44-45 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i* - @dihedral:7-5-24-3 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* - @dihedral:7-5-24-45 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:7-5-47-47 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* - @dihedral:7-5-48-48 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:7-5-51-20 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d20_i* - @dihedral:7-5-56-3 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d3_i* - @dihedral:7-5-64-4 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d4_i* - @dihedral:7-5-64-5 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d5_i* - @dihedral:7-5-79-13 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13_i* - @dihedral:7-5-79-23 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i* - @dihedral:7-5-79-48 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d48_i* - @dihedral:X-13-13-3 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* - @dihedral:X-13-13-13 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:X-13-13-24 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* - @dihedral:1-13-13-1 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d1_i* - @dihedral:1-13-13-5 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d5_i* - @dihedral:1-13-13-13 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:1-13-13-46 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:3-13-13-3 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* - @dihedral:3-13-13-5 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d5_i* - @dihedral:3-13-13-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:3-13-13-15 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d15_i* - @dihedral:3-13-13-16 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* - @dihedral:3-13-13-24 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* - @dihedral:3-13-13-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:3-13-13-48 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* - @dihedral:3-13-13-80 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* - @dihedral:5-13-13-5 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d5_i* - @dihedral:5-13-13-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:5-13-13-20 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* - @dihedral:5-13-13-44 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* - @dihedral:5-13-13-24 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* - @dihedral:5-13-13-46 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:13-13-13-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* - @dihedral:13-13-13-15 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d15_i* - @dihedral:13-13-13-16 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* - @dihedral:13-13-13-19 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* - @dihedral:13-13-13-21 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d21_i* - @dihedral:13-13-13-44 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* - @dihedral:13-13-13-24 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* - @dihedral:13-13-13-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:13-13-13-51 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d51_i* - @dihedral:13-13-13-53 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* - @dihedral:13-13-13-65 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d65_i* - @dihedral:13-13-13-66 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d66_i* - @dihedral:13-13-13-79 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* - @dihedral:13-13-13-107 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* - @dihedral:13-13-13-108 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i* - @dihedral:15-13-13-46 @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:16-13-13-46 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:19-13-13-46 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:20-13-13-20 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* - @dihedral:20-13-13-46 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:21-13-13-21 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d21_i* - @dihedral:21-13-13-44 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* - @dihedral:21-13-13-46 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:44-13-13-44 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* - @dihedral:44-13-13-46 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:44-13-13-48 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* - @dihedral:24-13-13-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:24-13-13-48 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* - @dihedral:24-13-13-80 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* - @dihedral:46-13-13-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i* - @dihedral:46-13-13-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* - @dihedral:46-13-13-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* - @dihedral:46-13-13-51 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d51_i* - @dihedral:46-13-13-53 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* - @dihedral:46-13-13-55 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* - @dihedral:46-13-13-59 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d59_i* - @dihedral:46-13-13-62 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d62_i* - @dihedral:46-13-13-65 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d65_i* - @dihedral:46-13-13-66 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d66_i* - @dihedral:46-13-13-79 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* - @dihedral:46-13-13-80 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* - @dihedral:46-13-13-82 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d82_i* - @dihedral:46-13-13-83 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d83_i* - @dihedral:46-13-13-84 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* - @dihedral:46-13-13-87 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d87_i* - @dihedral:46-13-13-88 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d88_i* - @dihedral:46-13-13-102 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d102_i* - @dihedral:46-13-13-104 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d104_i* - @dihedral:46-13-13-107 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* - @dihedral:46-13-13-108 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i* - @dihedral:46-13-13-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* - @dihedral:48-13-13-53 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* - @dihedral:108-13-13-108 @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i* - @dihedral:13-13-15-17 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d17_i* - @dihedral:46-13-15-17 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d17_i* - @dihedral:13-13-16-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13_i* - @dihedral:13-13-16-16 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d16_i* - @dihedral:46-13-16-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13_i* - @dihedral:46-13-16-16 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d16_i* - @dihedral:46-13-16-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d48_i* - @dihedral:X-13-18-19 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d19_i* - @dihedral:46-13-18-19 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d19_i* - @dihedral:X-13-19-18 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d18_i* - @dihedral:X-13-19-19 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* - @dihedral:13-13-19-19 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* - @dihedral:46-13-19-19 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* - @dihedral:X-13-20-13 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* - @dihedral:56-13-20-13 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* - @dihedral:57-13-20-13 @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* - @dihedral:13-13-20-3 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* - @dihedral:13-13-20-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* - @dihedral:13-13-20-64 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* - @dihedral:46-13-20-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:* - @dihedral:46-13-20-3 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* - @dihedral:46-13-20-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47_i* - @dihedral:46-13-20-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* - @dihedral:46-13-20-51 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* - @dihedral:46-13-20-64 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* - @dihedral:X-13-24-45 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:3-13-24-3 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* - @dihedral:3-13-24-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* - @dihedral:3-13-24-45 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:13-13-24-3 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* - @dihedral:13-13-24-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* - @dihedral:13-13-24-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:13-13-24-59 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i* - @dihedral:13-13-24-79 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i* - @dihedral:13-13-24-91 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* - @dihedral:46-13-24-3 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* - @dihedral:46-13-24-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* - @dihedral:46-13-24-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-24-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* - @dihedral:46-13-24-79 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i* - @dihedral:48-13-24-59 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i* - @dihedral:13-13-44-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i* - @dihedral:13-13-44-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-44-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i* - @dihedral:46-13-44-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-44-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* - @dihedral:X-13-47-13 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* - @dihedral:X-13-47-46 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:X-13-47-47 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* - @dihedral:X-13-47-50 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* - @dihedral:1-13-47-47 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* - @dihedral:13-13-47-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* - @dihedral:13-13-47-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* - @dihedral:13-13-47-50 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* - @dihedral:46-13-47-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* - @dihedral:46-13-47-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:46-13-47-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* - @dihedral:46-13-47-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* - @dihedral:46-13-47-110 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d110_i* - @dihedral:47-13-47-13 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* - @dihedral:47-13-47-46 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:X-13-48-48 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:1-13-48-48 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-13-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-13-48-56 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* - @dihedral:21-13-48-48 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:46-13-48-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:64-13-48-48 @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:65-13-48-48 @atom:*_b*_a*_d65_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:X-13-50-47 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i* - @dihedral:13-13-50-50 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* - @dihedral:46-13-50-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i* - @dihedral:46-13-50-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* - @dihedral:46-13-50-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* - @dihedral:13-13-51-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d51_i* @atom:* - @dihedral:13-13-51-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d46_i* - @dihedral:46-13-51-20 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d20_i* - @dihedral:13-13-53-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i* - @dihedral:13-13-53-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-53-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i* - @dihedral:46-13-53-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-53-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d48_i* - @dihedral:46-13-53-54 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i* - @dihedral:13-13-55-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i* - @dihedral:13-13-55-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i* - @dihedral:13-13-55-54 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d54_i* - @dihedral:46-13-55-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d13_i* - @dihedral:46-13-55-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-55-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i* - @dihedral:13-13-56-18 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d18_i* - @dihedral:X-13-57-X @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:* - @dihedral:13-13-57-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:* - @dihedral:13-13-57-62 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d62_i* - @dihedral:13-13-57-82 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i* - @dihedral:20-13-57-X @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:* - @dihedral:20-13-57-62 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d62_i* - @dihedral:20-13-57-82 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i* - @dihedral:13-13-59-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d59_i* @atom:* - @dihedral:13-13-59-56 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d56_i* - @dihedral:46-13-59-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d59_i* @atom:* - @dihedral:13-13-62-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d62_i* @atom:* - @dihedral:46-13-62-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d62_i* @atom:* - @dihedral:46-13-64-20 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d20_i* - @dihedral:46-13-64-52 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i* - @dihedral:48-13-64-20 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d20_i* - @dihedral:48-13-64-52 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i* - @dihedral:X-13-79-23 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i* - @dihedral:X-13-79-24 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d24_i* - @dihedral:13-13-79-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13_i* - @dihedral:13-13-79-23 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i* - @dihedral:46-13-79-5 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d5_i* - @dihedral:46-13-79-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13_i* - @dihedral:46-13-79-23 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i* - @dihedral:46-13-79-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d48_i* - @dihedral:13-13-80-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* @atom:* - @dihedral:13-13-80-60 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d60_i* - @dihedral:13-13-80-84 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d84_i* - @dihedral:46-13-80-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* @atom:* - @dihedral:46-13-80-60 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d60_i* - @dihedral:46-13-80-84 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d84_i* - @dihedral:13-13-82-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d82_i* @atom:* - @dihedral:46-13-82-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d82_i* @atom:* - @dihedral:13-13-83-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d83_i* @atom:* - @dihedral:46-13-83-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d83_i* @atom:* - @dihedral:1-13-84-X @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:13-13-84-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:13-13-84-57 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d57_i* - @dihedral:21-13-84-X @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:46-13-84-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:1-13-87-X @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:13-13-87-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:21-13-87-X @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:46-13-87-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:13-13-88-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d88_i* @atom:* - @dihedral:46-13-88-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d88_i* @atom:* - @dihedral:X-13-90-X @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d90_i* @atom:* - @dihedral:46-13-90-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d90_i* @atom:* - @dihedral:46-13-91-91 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* - @dihedral:13-13-95-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d95_i* @atom:*_b*_a*_d13_i* - @dihedral:13-13-95-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d95_i* @atom:*_b*_a*_d46_i* - @dihedral:13-13-102-103 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d102_i* @atom:*_b*_a*_d103_i* - @dihedral:46-13-102-103 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d102_i* @atom:*_b*_a*_d103_i* - @dihedral:13-13-104-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d104_i* @atom:*_b*_a*_d13_i* - @dihedral:46-13-104-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d104_i* @atom:*_b*_a*_d13_i* - @dihedral:X-13-105-X @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:* - @dihedral:13-13-105-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:* - @dihedral:13-13-105-62 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d62_i* - @dihedral:13-13-105-82 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d82_i* - @dihedral:20-13-105-X @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:* - @dihedral:20-13-105-62 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d62_i* - @dihedral:20-13-105-82 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d82_i* - @dihedral:3-13-107-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13_i* - @dihedral:13-13-107-3 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* - @dihedral:13-13-107-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13_i* - @dihedral:46-13-107-3 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* - @dihedral:46-13-107-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13_i* - @dihedral:46-13-107-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d48_i* - @dihedral:13-13-108-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13_i* - @dihedral:13-13-108-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d45_i* - @dihedral:46-13-108-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13_i* - @dihedral:46-13-108-20 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d20_i* - @dihedral:46-13-108-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d45_i* - @dihedral:13-13-109-109 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:46-13-109-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13_i* - @dihedral:46-13-109-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i* - @dihedral:46-13-109-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:17-15-48-X @atom:*_b*_a*_d17_i* @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d48_i* @atom:* - @dihedral:17-15-48-48 @atom:*_b*_a*_d17_i* @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-16-16-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13_i* - @dihedral:13-16-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-16-48-56 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* - @dihedral:13-16-59-56 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d56_i* - @dihedral:84-16-82-X @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d82_i* @atom:* - @dihedral:84-16-82-61 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* - @dihedral:82-16-84-49 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i* - @dihedral:82-16-84-83 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d83_i* - @dihedral:82-16-84-88 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* - @dihedral:X-16-91-X @atom:* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d91_i* @atom:* - @dihedral:19-18-48-X @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d48_i* @atom:* - @dihedral:19-18-48-48 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:18-18-56-13 @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13_i* - @dihedral:18-18-56-46 @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d46_i* - @dihedral:X-19-19-X @atom:* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:* - @dihedral:13-19-19-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d13_i* - @dihedral:13-19-19-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d46_i* - @dihedral:13-19-19-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47_i* - @dihedral:13-19-19-109 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d109_i* - @dihedral:46-19-19-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47_i* - @dihedral:46-19-19-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d109_i* - @dihedral:19-19-47-13 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* - @dihedral:19-19-47-46 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:19-19-47-47 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* - @dihedral:13-20-44-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i* - @dihedral:13-20-44-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i* - @dihedral:13-20-47-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* - @dihedral:13-20-47-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:13-20-47-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* - @dihedral:13-20-47-50 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* - @dihedral:3-20-48-48 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-20-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-20-48-56 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* - @dihedral:64-20-48-48 @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-20-51-5 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d5_i* - @dihedral:13-20-51-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d13_i* - @dihedral:13-20-51-20 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d20_i* - @dihedral:13-20-51-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d46_i* - @dihedral:13-20-56-3 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d3_i* - @dihedral:13-20-59-56 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d56_i* - @dihedral:X-20-64-52 @atom:* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i* - @dihedral:13-20-64-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d13_i* - @dihedral:13-20-64-52 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i* - @dihedral:48-20-64-4 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d4_i* - @dihedral:84-20-82-61 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* - @dihedral:82-20-84-88 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* - @dihedral:84-20-84-49 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i* - @dihedral:84-20-84-87 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d87_i* - @dihedral:108-20-108-13 @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13_i* - @dihedral:108-20-108-20 @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d20_i* - @dihedral:X-24-48-48 @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:3-24-48-48 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-24-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:45-24-48-48 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:59-24-48-48 @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:82-24-48-48 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:84-24-48-48 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:X-24-59-X @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i* @atom:* - @dihedral:X-24-59-49 @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d49_i* - @dihedral:45-24-59-X @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i* @atom:* - @dihedral:X-24-60-X @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d60_i* @atom:* - @dihedral:X-24-79-23 @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i* - @dihedral:13-24-79-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d48_i* - @dihedral:45-24-79-48 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d48_i* - @dihedral:13-24-82-61 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* - @dihedral:45-24-82-16 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i* - @dihedral:45-24-82-20 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d20_i* - @dihedral:45-24-82-61 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* - @dihedral:48-24-82-16 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i* - @dihedral:48-24-82-20 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d20_i* - @dihedral:48-24-82-61 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* - @dihedral:X-24-84-X @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:3-24-84-84 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d84_i* - @dihedral:45-24-84-16 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d16_i* - @dihedral:45-24-84-20 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i* - @dihedral:48-24-84-16 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d16_i* - @dihedral:48-24-84-20 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i* - @dihedral:3-24-86-48 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:3-24-86-56 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d56_i* - @dihedral:3-24-86-86 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i* - @dihedral:47-24-86-48 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:47-24-86-56 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d56_i* - @dihedral:X-24-87-X @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:X-24-88-X @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d88_i* @atom:* - @dihedral:3-24-91-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i* - @dihedral:3-24-91-89 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i* - @dihedral:3-24-91-91 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* - @dihedral:45-24-91-46 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i* - @dihedral:45-24-91-89 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i* - @dihedral:45-24-91-91 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* - @dihedral:X-24-106-X @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d106_i* @atom:* - @dihedral:13-44-44-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i* - @dihedral:13-44-44-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i* - @dihedral:45-44-44-45 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i* - @dihedral:13-44-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:45-44-48-48 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:59-44-48-48 @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:82-44-48-48 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:84-44-48-48 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:45-44-82-16 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i* - @dihedral:45-44-82-61 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* - @dihedral:48-44-82-16 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i* - @dihedral:48-44-82-61 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* - @dihedral:47-46-47-13 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* - @dihedral:47-46-47-46 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:X-47-47-X @atom:* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:* - @dihedral:X-47-47-19 @atom:* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d19_i* - @dihedral:3-47-47-24 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d24_i* - @dihedral:3-47-47-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:5-47-47-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* - @dihedral:5-47-47-46 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:13-47-47-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* - @dihedral:13-47-47-19 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d19_i* - @dihedral:13-47-47-20 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d20_i* - @dihedral:13-47-47-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:19-47-47-46 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:20-47-47-46 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:21-47-47-21 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d21_i* - @dihedral:21-47-47-46 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:46-47-47-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* - @dihedral:46-47-47-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d48_i* - @dihedral:13-47-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:46-47-48-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:46-47-48-56 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* - @dihedral:47-47-48-48 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-47-50-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13_i* - @dihedral:13-47-50-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i* - @dihedral:13-47-50-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d48_i* - @dihedral:13-47-50-50 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* - @dihedral:13-47-50-109 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* - @dihedral:24-47-50-3 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d3_i* - @dihedral:46-47-50-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13_i* - @dihedral:46-47-50-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i* - @dihedral:46-47-50-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d48_i* - @dihedral:46-47-50-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* - @dihedral:46-47-50-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* - @dihedral:X-47-84-X @atom:* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:X-47-86-48 @atom:* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:3-47-86-86 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i* - @dihedral:49-47-86-X @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d86_i* @atom:* - @dihedral:49-47-86-24 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d24_i* - @dihedral:X-47-87-X @atom:* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:X-47-88-X @atom:* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d88_i* @atom:* - @dihedral:13-47-110-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d110_i* @atom:*_b*_a*_d47_i* - @dihedral:46-47-110-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d110_i* @atom:*_b*_a*_d47_i* - @dihedral:X-48-48-X @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:* - @dihedral:X-48-48-13 @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13_i* - @dihedral:X-48-48-48 @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:X-48-48-49 @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i* - @dihedral:1-48-48-48 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:1-48-48-49 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i* - @dihedral:13-48-48-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13_i* - @dihedral:13-48-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:13-48-48-49 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i* - @dihedral:13-48-48-50 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* - @dihedral:21-48-48-48 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:21-48-48-49 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i* - @dihedral:44-48-48-49 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i* - @dihedral:47-48-48-49 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i* - @dihedral:48-48-48-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* - @dihedral:48-48-48-49 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i* - @dihedral:48-48-48-50 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* - @dihedral:48-48-48-55 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* - @dihedral:48-48-48-60 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d60_i* - @dihedral:48-48-48-65 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d65_i* - @dihedral:48-48-48-66 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d66_i* - @dihedral:48-48-48-86 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* - @dihedral:48-48-48-109 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* - @dihedral:49-48-48-49 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i* - @dihedral:49-48-48-50 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* - @dihedral:49-48-48-60 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d60_i* - @dihedral:49-48-48-65 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d65_i* - @dihedral:49-48-48-66 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d66_i* - @dihedral:49-48-48-86 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* - @dihedral:49-48-48-109 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* - @dihedral:56-48-48-86 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* - @dihedral:48-48-50-46 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i* - @dihedral:48-48-50-47 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i* - @dihedral:56-48-50-46 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i* - @dihedral:56-48-50-47 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i* - @dihedral:48-48-53-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i* - @dihedral:48-48-53-54 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i* - @dihedral:X-48-55-45 @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i* - @dihedral:48-48-55-45 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i* - @dihedral:55-48-55-13 @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d13_i* - @dihedral:55-48-55-45 @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i* - @dihedral:60-48-55-45 @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i* - @dihedral:X-48-56-X @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* @atom:* - @dihedral:48-48-56-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* - @dihedral:49-48-56-48 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* - @dihedral:X-48-60-X @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d60_i* @atom:* - @dihedral:X-48-79-23 @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i* - @dihedral:48-48-79-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13_i* - @dihedral:48-48-79-24 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d24_i* - @dihedral:48-48-86-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:48-48-86-56 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d56_i* - @dihedral:48-48-86-86 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i* - @dihedral:49-48-86-48 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:49-48-86-56 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d56_i* - @dihedral:49-48-86-86 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i* - @dihedral:56-48-86-48 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:56-48-86-86 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i* - @dihedral:49-48-88-49 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d49_i* - @dihedral:56-48-101-13 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d101_i* @atom:*_b*_a*_d13_i* - @dihedral:48-48-102-103 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d102_i* @atom:*_b*_a*_d103_i* - @dihedral:48-48-109-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13_i* - @dihedral:48-48-109-46 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i* - @dihedral:48-48-109-109 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:X-50-50-49 @atom:* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d49_i* - @dihedral:3-50-50-3 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d3_i* - @dihedral:13-50-50-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13_i* - @dihedral:13-50-50-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i* - @dihedral:13-50-50-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i* - @dihedral:46-50-50-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i* - @dihedral:46-50-50-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i* - @dihedral:47-50-50-47 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i* - @dihedral:13-50-109-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13_i* - @dihedral:13-50-109-109 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:46-50-109-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13_i* - @dihedral:46-50-109-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i* - @dihedral:46-50-109-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:47-50-109-13 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13_i* - @dihedral:47-50-109-46 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i* - @dihedral:47-50-109-109 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:13-53-82-61 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* - @dihedral:48-53-82-61 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* - @dihedral:45-55-59-X @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d59_i* @atom:* - @dihedral:13-56-56-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13_i* - @dihedral:13-56-56-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* - @dihedral:48-56-56-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* - @dihedral:X-56-59-X @atom:* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d59_i* @atom:* - @dihedral:X-56-59-49 @atom:* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d49_i* - @dihedral:X-56-60-X @atom:* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d60_i* @atom:* - @dihedral:X-56-62-X @atom:* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d62_i* @atom:* - @dihedral:X-56-82-X @atom:* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d82_i* @atom:* - @dihedral:48-56-86-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:48-56-86-86 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i* - @dihedral:X-57-60-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d60_i* @atom:* - @dihedral:45-57-60-X @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d60_i* @atom:* - @dihedral:X-57-61-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d61_i* @atom:* - @dihedral:X-57-62-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d62_i* @atom:* - @dihedral:X-57-81-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d81_i* @atom:* - @dihedral:X-57-82-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i* @atom:* - @dihedral:X-57-82-49 @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d49_i* - @dihedral:45-57-82-X @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i* @atom:* - @dihedral:X-57-84-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:45-57-84-X @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:61-57-86-48 @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:84-57-86-48 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:X-60-60-X @atom:* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d60_i* @atom:* - @dihedral:X-60-61-X @atom:* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d61_i* @atom:* - @dihedral:X-60-80-X @atom:* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d80_i* @atom:* - @dihedral:X-60-81-X @atom:* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d81_i* @atom:* - @dihedral:X-60-87-X @atom:* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:48-60-87-84 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d84_i* - @dihedral:60-60-87-84 @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d84_i* - @dihedral:X-61-61-X @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d61_i* @atom:* - @dihedral:X-61-62-X @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d62_i* @atom:* - @dihedral:X-61-82-X @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d82_i* @atom:* - @dihedral:X-61-82-49 @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d49_i* - @dihedral:83-61-82-16 @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i* - @dihedral:88-61-82-16 @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i* - @dihedral:88-61-82-20 @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d20_i* - @dihedral:X-61-83-X @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:* - @dihedral:82-61-83-49 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d49_i* - @dihedral:82-61-83-84 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* - @dihedral:X-61-84-X @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:X-61-88-X @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d88_i* @atom:* - @dihedral:82-61-88-84 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d84_i* - @dihedral:X-80-84-X @atom:* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:X-82-84-X @atom:* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:16-82-86-48 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:20-82-86-48 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:57-82-86-48 @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:61-82-86-48 @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:X-82-87-X @atom:* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:X-83-84-X @atom:* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:X-83-84-49 @atom:* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i* - @dihedral:49-83-84-X @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:49-83-84-16 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d16_i* - @dihedral:49-83-84-49 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i* - @dihedral:61-83-84-16 @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d16_i* - @dihedral:61-83-84-20 @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i* - @dihedral:61-83-84-49 @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i* - @dihedral:X-83-86-48 @atom:* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:61-83-86-48 @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:61-83-87-X @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:84-83-87-X @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:X-84-84-X @atom:* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d84_i* @atom:* - @dihedral:X-84-84-49 @atom:* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i* - @dihedral:16-84-84-49 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i* - @dihedral:49-84-84-49 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i* - @dihedral:X-84-86-48 @atom:* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:16-84-86-48 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:20-84-86-48 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:57-84-86-48 @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:X-84-87-X @atom:* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:X-84-87-49 @atom:* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d49_i* - @dihedral:49-84-87-49 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d49_i* - @dihedral:X-84-88-49 @atom:* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d49_i* - @dihedral:16-84-88-49 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d49_i* - @dihedral:16-84-88-61 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d61_i* - @dihedral:20-84-88-61 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d61_i* - @dihedral:49-84-88-X @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* @atom:* - @dihedral:49-84-88-61 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d61_i* - @dihedral:48-86-86-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i* - @dihedral:48-86-86-56 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d56_i* - @dihedral:48-86-87-X @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d87_i* @atom:* - @dihedral:48-86-88-X @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d88_i* @atom:* - @dihedral:48-86-88-61 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d61_i* - @dihedral:56-86-88-X @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d88_i* @atom:* - @dihedral:X-87-87-20 @atom:* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d20_i* - @dihedral:X-87-87-57 @atom:* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d57_i* - @dihedral:X-87-87-87 @atom:* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i* - @dihedral:49-87-87-49 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d49_i* - @dihedral:4-89-90-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d13_i* - @dihedral:4-89-90-45 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d45_i* - @dihedral:4-89-90-48 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d48_i* - @dihedral:4-89-90-91 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d91_i* - @dihedral:91-89-90-13 @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d13_i* - @dihedral:91-89-90-45 @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d45_i* - @dihedral:91-89-90-48 @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d48_i* - @dihedral:91-89-90-91 @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d91_i* - @dihedral:X-89-91-X @atom:* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d91_i* @atom:* - @dihedral:4-89-91-46 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i* - @dihedral:4-89-91-91 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* - @dihedral:90-89-91-46 @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i* - @dihedral:90-89-91-91 @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* - @dihedral:X-90-91-X @atom:* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d91_i* @atom:* - @dihedral:X-90-91-46 @atom:* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i* - @dihedral:X-90-91-91 @atom:* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* - @dihedral:X-91-91-X @atom:* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:* - @dihedral:X-91-91-24 @atom:* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d24_i* - @dihedral:13-91-91-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d13_i* - @dihedral:13-91-91-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i* - @dihedral:46-91-91-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i* - @dihedral:46-91-91-91 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* - @dihedral:91-91-91-91 @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* - @dihedral:X-109-109-X @atom:* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:* - @dihedral:13-109-109-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13_i* - @dihedral:13-109-109-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i* - @dihedral:13-109-109-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d48_i* - @dihedral:13-109-109-50 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d50_i* - @dihedral:13-109-109-109 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:46-109-109-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i* - @dihedral:46-109-109-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d48_i* - @dihedral:46-109-109-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d50_i* - @dihedral:46-109-109-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:48-109-109-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d48_i* - @dihedral:48-109-109-50 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d50_i* - @dihedral:48-109-109-109 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:50-109-109-50 @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d50_i* - @dihedral:50-109-109-109 @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:109-109-109-109 @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* - @dihedral:24-3-13-53 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* - @dihedral:52-3-13-24 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* - @dihedral:3-13-13-53 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* - @dihedral:3-13-13-83 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d83_i* - @dihedral:3-13-13-84 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* - @dihedral:3-13-13-85 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i* - @dihedral:5-13-13-53 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* - @dihedral:15-13-13-53 @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* - @dihedral:16-13-13-53 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* - @dihedral:13-13-13-55 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* - @dihedral:24-13-13-83 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d83_i* - @dihedral:53-13-13-83 @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d83_i* - @dihedral:24-13-13-84 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* - @dihedral:53-13-13-84 @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* - @dihedral:24-13-13-85 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i* - @dihedral:46-13-13-85 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i* - @dihedral:53-13-13-85 @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i* - @dihedral:3-13-53-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i* - @dihedral:3-13-53-54 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i* - @dihedral:13-13-53-54 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i* - @dihedral:46-13-55-54 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d54_i* - @dihedral:13-13-85-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i* @atom:* - @dihedral:13-13-85-57 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i* @atom:*_b*_a*_d57_i* - @dihedral:46-13-85-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i* @atom:* - @dihedral:55-48-55-54 @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d54_i* - @dihedral:X-48-81-X @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d81_i* @atom:* - @dihedral:X-57-85-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d85_i* @atom:* - @dihedral:X-85-85-X @atom:* @atom:*_b*_a*_d85_i* @atom:*_b*_a*_d85_i* @atom:* - @dihedral:13-13-13-20 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* - @dihedral:13-13-13-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* + @dihedral:X_002_002_002 @atom:* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* + @dihedral:X_002_002_006 @atom:* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d006*_i* + @dihedral:001_002_002_002 @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* + @dihedral:001_002_002_006 @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d006*_i* + @dihedral:002_002_002_002 @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* + @dihedral:002_002_002_006 @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d006*_i* + @dihedral:002_002_002_010 @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d010*_i* + @dihedral:002_002_002_013 @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d013*_i* + @dihedral:002_002_002_065 @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d065*_i* + @dihedral:006_002_002_006 @atom:*_b*_a*_d006*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d006*_i* + @dihedral:006_002_002_065 @atom:*_b*_a*_d006*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d065*_i* + @dihedral:010_002_002_010 @atom:*_b*_a*_d010*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d010*_i* + @dihedral:002_002_005_007 @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d007*_i* + @dihedral:006_002_005_007 @atom:*_b*_a*_d006*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d007*_i* + @dihedral:010_002_005_007 @atom:*_b*_a*_d010*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d007*_i* + @dihedral:X_002_010_002 @atom:* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d010*_i* @atom:*_b*_a*_d002*_i* + @dihedral:002_002_010_002 @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d010*_i* @atom:*_b*_a*_d002*_i* + @dihedral:002_002_013_002 @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d002*_i* + @dihedral:006_002_020_002 @atom:*_b*_a*_d006*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d002*_i* + @dihedral:006_002_020_006 @atom:*_b*_a*_d006*_i* @atom:*_b*_a*_d002*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d006*_i* + @dihedral:004_003_003_004 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d004*_i* + @dihedral:004_003_003_013 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* + @dihedral:004_003_003_024 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* + @dihedral:004_003_003_046 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d046*_i* + @dihedral:013_003_003_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_003_003_024 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* + @dihedral:013_003_003_046 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d046*_i* + @dihedral:024_003_003_046 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_003_003_046 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d046*_i* + @dihedral:003_003_005_007 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d007*_i* + @dihedral:004_003_005_007 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d007*_i* + @dihedral:013_003_005_007 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d007*_i* + @dihedral:024_003_005_007 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d007*_i* + @dihedral:046_003_005_007 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d007*_i* + @dihedral:048_003_005_007 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d007*_i* + @dihedral:001_003_013_013 @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:001_003_013_046 @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:003_003_013_046 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:004_003_013_X @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:* + @dihedral:004_003_013_013 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:004_003_013_021 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d021*_i* + @dihedral:004_003_013_044 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* + @dihedral:004_003_013_024 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* + @dihedral:004_003_013_046 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:004_003_013_048 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* + @dihedral:005_003_013_013 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:005_003_013_044 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* + @dihedral:005_003_013_046 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:013_003_013_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_003_013_046 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:020_003_013_013 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:020_003_013_046 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:021_003_013_013 @atom:*_b*_a*_d021*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:021_003_013_046 @atom:*_b*_a*_d021*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:024_003_013_013 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:024_003_013_021 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d021*_i* + @dihedral:024_003_013_024 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* + @dihedral:024_003_013_046 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_003_013_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_003_013_046 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:048_003_013_046 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:052_003_013_013 @atom:*_b*_a*_d052*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:052_003_013_044 @atom:*_b*_a*_d052*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* + @dihedral:052_003_013_046 @atom:*_b*_a*_d052*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:065_003_013_013 @atom:*_b*_a*_d065*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:065_003_013_046 @atom:*_b*_a*_d065*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:107_003_013_046 @atom:*_b*_a*_d107*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:004_003_020_013 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* + @dihedral:004_003_020_048 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_003_020_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_003_020_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d048*_i* + @dihedral:024_003_020_013 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_003_020_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* + @dihedral:048_003_020_013 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* + @dihedral:003_003_024_013 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* + @dihedral:003_003_024_045 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:004_003_024_005 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d005*_i* + @dihedral:004_003_024_013 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* + @dihedral:004_003_024_045 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:004_003_024_047 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d047*_i* + @dihedral:004_003_024_048 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d048*_i* + @dihedral:004_003_024_091 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d091*_i* + @dihedral:005_003_024_013 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* + @dihedral:005_003_024_045 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:013_003_024_005 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d005*_i* + @dihedral:013_003_024_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_003_024_045 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:013_003_024_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d048*_i* + @dihedral:020_003_024_013 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* + @dihedral:020_003_024_045 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:024_003_024_003 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* + @dihedral:024_003_024_013 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* + @dihedral:024_003_024_045 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:046_003_024_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_003_024_045 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:047_003_024_045 @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:048_003_024_045 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:048_003_024_048 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d048*_i* + @dihedral:048_003_024_084 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d084*_i* + @dihedral:048_003_024_087 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d087*_i* + @dihedral:084_003_024_048 @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d048*_i* + @dihedral:084_003_024_084 @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d084*_i* + @dihedral:084_003_024_087 @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d087*_i* + @dihedral:087_003_024_045 @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:087_003_024_048 @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d048*_i* + @dihedral:087_003_024_084 @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d084*_i* + @dihedral:087_003_024_087 @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d087*_i* + @dihedral:X_003_047_013 @atom:* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d013*_i* + @dihedral:004_003_047_046 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:004_003_047_047 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* + @dihedral:005_003_047_047 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* + @dihedral:024_003_047_046 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:024_003_047_047 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* + @dihedral:107_003_047_046 @atom:*_b*_a*_d107*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:107_003_047_047 @atom:*_b*_a*_d107*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* + @dihedral:004_003_048_048 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:005_003_048_048 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_003_048_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:020_003_048_048 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:024_003_048_048 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:046_003_048_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:X_003_050_013 @atom:* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d013*_i* + @dihedral:004_003_050_047 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d047*_i* + @dihedral:005_003_050_047 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d047*_i* + @dihedral:013_003_050_047 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d047*_i* + @dihedral:013_003_056_X @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d056*_i* @atom:* + @dihedral:013_003_056_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_003_056_X @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d056*_i* @atom:* + @dihedral:046_003_056_045 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d045*_i* + @dihedral:X_003_060_X @atom:* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d060*_i* @atom:* + @dihedral:004_003_060_X @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d060*_i* @atom:* + @dihedral:004_003_082_X @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d082*_i* @atom:* + @dihedral:004_003_082_057 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d057*_i* + @dihedral:004_003_082_061 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* + @dihedral:082_003_082_057 @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d057*_i* + @dihedral:082_003_082_061 @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* + @dihedral:004_003_084_020 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d020*_i* + @dihedral:004_003_084_087 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d087*_i* + @dihedral:084_003_084_020 @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d020*_i* + @dihedral:084_003_084_087 @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d087*_i* + @dihedral:048_003_086_048 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:X_003_087_X @atom:* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d087*_i* @atom:* + @dihedral:004_003_087_084 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d084*_i* + @dihedral:004_003_087_087 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d087*_i* + @dihedral:024_003_087_084 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d084*_i* + @dihedral:024_003_087_087 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d087*_i* + @dihedral:004_003_107_013 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d107*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_003_107_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d107*_i* @atom:*_b*_a*_d013*_i* + @dihedral:004_003_109_109 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* + @dihedral:005_003_109_109 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* + @dihedral:X_004_106_X @atom:* @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d106*_i* @atom:* + @dihedral:007_005_010_002 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d010*_i* @atom:*_b*_a*_d002*_i* + @dihedral:007_005_010_006 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d010*_i* @atom:*_b*_a*_d006*_i* + @dihedral:007_005_013_002 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d002*_i* + @dihedral:007_005_013_006 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d006*_i* + @dihedral:007_005_013_013 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:007_005_013_046 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:007_005_013_047 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* + @dihedral:007_005_013_048 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* + @dihedral:007_005_013_050 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d050*_i* + @dihedral:007_005_044_013 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d013*_i* + @dihedral:007_005_044_045 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d045*_i* + @dihedral:007_005_024_003 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* + @dihedral:007_005_024_045 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:007_005_047_047 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* + @dihedral:007_005_048_048 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:007_005_051_020 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d051*_i* @atom:*_b*_a*_d020*_i* + @dihedral:007_005_056_003 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d003*_i* + @dihedral:007_005_064_004 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d064*_i* @atom:*_b*_a*_d004*_i* + @dihedral:007_005_064_005 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d064*_i* @atom:*_b*_a*_d005*_i* + @dihedral:007_005_079_013 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d013*_i* + @dihedral:007_005_079_023 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d023*_i* + @dihedral:007_005_079_048 @atom:*_b*_a*_d007*_i* @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d048*_i* + @dihedral:X_013_013_003 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* + @dihedral:X_013_013_013 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:X_013_013_024 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* + @dihedral:001_013_013_001 @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d001*_i* + @dihedral:001_013_013_005 @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d005*_i* + @dihedral:001_013_013_013 @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:001_013_013_046 @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:003_013_013_003 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d003*_i* + @dihedral:003_013_013_005 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d005*_i* + @dihedral:003_013_013_013 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:003_013_013_015 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d015*_i* + @dihedral:003_013_013_016 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d016*_i* + @dihedral:003_013_013_024 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* + @dihedral:003_013_013_046 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:003_013_013_048 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* + @dihedral:003_013_013_080 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d080*_i* + @dihedral:005_013_013_005 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d005*_i* + @dihedral:005_013_013_013 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:005_013_013_020 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* + @dihedral:005_013_013_044 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* + @dihedral:005_013_013_024 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* + @dihedral:005_013_013_046 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:013_013_013_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_013_013_015 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d015*_i* + @dihedral:013_013_013_016 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d016*_i* + @dihedral:013_013_013_019 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d019*_i* + @dihedral:013_013_013_021 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d021*_i* + @dihedral:013_013_013_044 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* + @dihedral:013_013_013_024 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* + @dihedral:013_013_013_046 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:013_013_013_051 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d051*_i* + @dihedral:013_013_013_053 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* + @dihedral:013_013_013_065 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d065*_i* + @dihedral:013_013_013_066 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d066*_i* + @dihedral:013_013_013_079 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d079*_i* + @dihedral:013_013_013_107 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d107*_i* + @dihedral:013_013_013_108 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d108*_i* + @dihedral:015_013_013_046 @atom:*_b*_a*_d015*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:016_013_013_046 @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:019_013_013_046 @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:020_013_013_020 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* + @dihedral:020_013_013_046 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:021_013_013_021 @atom:*_b*_a*_d021*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d021*_i* + @dihedral:021_013_013_044 @atom:*_b*_a*_d021*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* + @dihedral:021_013_013_046 @atom:*_b*_a*_d021*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:044_013_013_044 @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* + @dihedral:044_013_013_046 @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:044_013_013_048 @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* + @dihedral:024_013_013_046 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:024_013_013_048 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* + @dihedral:024_013_013_080 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d080*_i* + @dihedral:046_013_013_046 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_013_013_047 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* + @dihedral:046_013_013_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* + @dihedral:046_013_013_051 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d051*_i* + @dihedral:046_013_013_053 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* + @dihedral:046_013_013_055 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d055*_i* + @dihedral:046_013_013_059 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d059*_i* + @dihedral:046_013_013_062 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d062*_i* + @dihedral:046_013_013_065 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d065*_i* + @dihedral:046_013_013_066 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d066*_i* + @dihedral:046_013_013_079 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d079*_i* + @dihedral:046_013_013_080 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d080*_i* + @dihedral:046_013_013_082 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d082*_i* + @dihedral:046_013_013_083 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d083*_i* + @dihedral:046_013_013_084 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d084*_i* + @dihedral:046_013_013_087 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d087*_i* + @dihedral:046_013_013_088 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d088*_i* + @dihedral:046_013_013_102 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d102*_i* + @dihedral:046_013_013_104 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d104*_i* + @dihedral:046_013_013_107 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d107*_i* + @dihedral:046_013_013_108 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d108*_i* + @dihedral:046_013_013_109 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d109*_i* + @dihedral:048_013_013_053 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* + @dihedral:108_013_013_108 @atom:*_b*_a*_d108*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d108*_i* + @dihedral:013_013_015_017 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d015*_i* @atom:*_b*_a*_d017*_i* + @dihedral:046_013_015_017 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d015*_i* @atom:*_b*_a*_d017*_i* + @dihedral:013_013_016_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_013_016_016 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d016*_i* + @dihedral:046_013_016_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_013_016_016 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d016*_i* + @dihedral:046_013_016_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d048*_i* + @dihedral:X_013_018_019 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d018*_i* @atom:*_b*_a*_d019*_i* + @dihedral:046_013_018_019 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d018*_i* @atom:*_b*_a*_d019*_i* + @dihedral:X_013_019_018 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d018*_i* + @dihedral:X_013_019_019 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d019*_i* + @dihedral:013_013_019_019 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d019*_i* + @dihedral:046_013_019_019 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d019*_i* + @dihedral:X_013_020_013 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* + @dihedral:056_013_020_013 @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* + @dihedral:057_013_020_013 @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_013_020_003 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d003*_i* + @dihedral:013_013_020_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_013_020_064 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d064*_i* + @dihedral:046_013_020_X @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:* + @dihedral:046_013_020_003 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d003*_i* + @dihedral:046_013_020_047 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d047*_i* + @dihedral:046_013_020_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d048*_i* + @dihedral:046_013_020_051 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d051*_i* + @dihedral:046_013_020_064 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d064*_i* + @dihedral:X_013_024_045 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:003_013_024_003 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* + @dihedral:003_013_024_013 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* + @dihedral:003_013_024_045 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:013_013_024_003 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* + @dihedral:013_013_024_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_013_024_045 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:013_013_024_059 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d059*_i* + @dihedral:013_013_024_079 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d079*_i* + @dihedral:013_013_024_091 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d091*_i* + @dihedral:046_013_024_003 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* + @dihedral:046_013_024_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_013_024_045 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d045*_i* + @dihedral:046_013_024_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d048*_i* + @dihedral:046_013_024_079 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d079*_i* + @dihedral:048_013_024_059 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d059*_i* + @dihedral:013_013_044_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_013_044_045 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d045*_i* + @dihedral:046_013_044_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_013_044_045 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d045*_i* + @dihedral:046_013_044_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d048*_i* + @dihedral:X_013_047_013 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d013*_i* + @dihedral:X_013_047_046 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:X_013_047_047 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* + @dihedral:X_013_047_050 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* + @dihedral:001_013_047_047 @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* + @dihedral:013_013_047_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_013_047_047 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* + @dihedral:013_013_047_050 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* + @dihedral:046_013_047_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_013_047_046 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_013_047_047 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* + @dihedral:046_013_047_050 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* + @dihedral:046_013_047_110 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d110*_i* + @dihedral:047_013_047_013 @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d013*_i* + @dihedral:047_013_047_046 @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:X_013_048_048 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:001_013_048_048 @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_013_048_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_013_048_056 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d056*_i* + @dihedral:021_013_048_048 @atom:*_b*_a*_d021*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:046_013_048_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:064_013_048_048 @atom:*_b*_a*_d064*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:065_013_048_048 @atom:*_b*_a*_d065*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:X_013_050_047 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d047*_i* + @dihedral:013_013_050_050 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d050*_i* + @dihedral:046_013_050_047 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d047*_i* + @dihedral:046_013_050_050 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d050*_i* + @dihedral:046_013_050_109 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d109*_i* + @dihedral:013_013_051_X @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d051*_i* @atom:* + @dihedral:013_013_051_046 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d051*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_013_051_020 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d051*_i* @atom:*_b*_a*_d020*_i* + @dihedral:013_013_053_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_013_053_045 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d045*_i* + @dihedral:046_013_053_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_013_053_045 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d045*_i* + @dihedral:046_013_053_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d048*_i* + @dihedral:046_013_053_054 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d054*_i* + @dihedral:013_013_055_045 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d045*_i* + @dihedral:013_013_055_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_013_055_054 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d054*_i* + @dihedral:046_013_055_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_013_055_045 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d045*_i* + @dihedral:046_013_055_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_013_056_018 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d018*_i* + @dihedral:X_013_057_X @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d057*_i* @atom:* + @dihedral:013_013_057_X @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d057*_i* @atom:* + @dihedral:013_013_057_062 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d062*_i* + @dihedral:013_013_057_082 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d082*_i* + @dihedral:020_013_057_X @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d057*_i* @atom:* + @dihedral:020_013_057_062 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d062*_i* + @dihedral:020_013_057_082 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d082*_i* + @dihedral:013_013_059_X @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d059*_i* @atom:* + @dihedral:013_013_059_056 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d059*_i* @atom:*_b*_a*_d056*_i* + @dihedral:046_013_059_X @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d059*_i* @atom:* + @dihedral:013_013_062_X @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d062*_i* @atom:* + @dihedral:046_013_062_X @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d062*_i* @atom:* + @dihedral:046_013_064_020 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d064*_i* @atom:*_b*_a*_d020*_i* + @dihedral:046_013_064_052 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d064*_i* @atom:*_b*_a*_d052*_i* + @dihedral:048_013_064_020 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d064*_i* @atom:*_b*_a*_d020*_i* + @dihedral:048_013_064_052 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d064*_i* @atom:*_b*_a*_d052*_i* + @dihedral:X_013_079_023 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d023*_i* + @dihedral:X_013_079_024 @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d024*_i* + @dihedral:013_013_079_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_013_079_023 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d023*_i* + @dihedral:046_013_079_005 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d005*_i* + @dihedral:046_013_079_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_013_079_023 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d023*_i* + @dihedral:046_013_079_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_013_080_X @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d080*_i* @atom:* + @dihedral:013_013_080_060 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d080*_i* @atom:*_b*_a*_d060*_i* + @dihedral:013_013_080_084 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d080*_i* @atom:*_b*_a*_d084*_i* + @dihedral:046_013_080_X @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d080*_i* @atom:* + @dihedral:046_013_080_060 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d080*_i* @atom:*_b*_a*_d060*_i* + @dihedral:046_013_080_084 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d080*_i* @atom:*_b*_a*_d084*_i* + @dihedral:013_013_082_X @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d082*_i* @atom:* + @dihedral:046_013_082_X @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d082*_i* @atom:* + @dihedral:013_013_083_X @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d083*_i* @atom:* + @dihedral:046_013_083_X @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d083*_i* @atom:* + @dihedral:001_013_084_X @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:013_013_084_X @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:013_013_084_057 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d057*_i* + @dihedral:021_013_084_X @atom:*_b*_a*_d021*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:046_013_084_X @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:001_013_087_X @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d087*_i* @atom:* + @dihedral:013_013_087_X @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d087*_i* @atom:* + @dihedral:021_013_087_X @atom:*_b*_a*_d021*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d087*_i* @atom:* + @dihedral:046_013_087_X @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d087*_i* @atom:* + @dihedral:013_013_088_X @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d088*_i* @atom:* + @dihedral:046_013_088_X @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d088*_i* @atom:* + @dihedral:X_013_090_X @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d090*_i* @atom:* + @dihedral:046_013_090_X @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d090*_i* @atom:* + @dihedral:046_013_091_091 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* + @dihedral:013_013_095_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d095*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_013_095_046 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d095*_i* @atom:*_b*_a*_d046*_i* + @dihedral:013_013_102_103 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d102*_i* @atom:*_b*_a*_d103*_i* + @dihedral:046_013_102_103 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d102*_i* @atom:*_b*_a*_d103*_i* + @dihedral:013_013_104_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d104*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_013_104_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d104*_i* @atom:*_b*_a*_d013*_i* + @dihedral:X_013_105_X @atom:* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d105*_i* @atom:* + @dihedral:013_013_105_X @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d105*_i* @atom:* + @dihedral:013_013_105_062 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d105*_i* @atom:*_b*_a*_d062*_i* + @dihedral:013_013_105_082 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d105*_i* @atom:*_b*_a*_d082*_i* + @dihedral:020_013_105_X @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d105*_i* @atom:* + @dihedral:020_013_105_062 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d105*_i* @atom:*_b*_a*_d062*_i* + @dihedral:020_013_105_082 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d105*_i* @atom:*_b*_a*_d082*_i* + @dihedral:003_013_107_013 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d107*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_013_107_003 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d107*_i* @atom:*_b*_a*_d003*_i* + @dihedral:013_013_107_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d107*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_013_107_003 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d107*_i* @atom:*_b*_a*_d003*_i* + @dihedral:046_013_107_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d107*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_013_107_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d107*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_013_108_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d108*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_013_108_045 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d108*_i* @atom:*_b*_a*_d045*_i* + @dihedral:046_013_108_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d108*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_013_108_020 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d108*_i* @atom:*_b*_a*_d020*_i* + @dihedral:046_013_108_045 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d108*_i* @atom:*_b*_a*_d045*_i* + @dihedral:013_013_109_109 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* + @dihedral:046_013_109_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_013_109_046 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_013_109_109 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* + @dihedral:017_015_048_X @atom:*_b*_a*_d017*_i* @atom:*_b*_a*_d015*_i* @atom:*_b*_a*_d048*_i* @atom:* + @dihedral:017_015_048_048 @atom:*_b*_a*_d017*_i* @atom:*_b*_a*_d015*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_016_016_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_016_048_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_016_048_056 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d056*_i* + @dihedral:013_016_059_056 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d059*_i* @atom:*_b*_a*_d056*_i* + @dihedral:084_016_082_X @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d082*_i* @atom:* + @dihedral:084_016_082_061 @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* + @dihedral:082_016_084_049 @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d049*_i* + @dihedral:082_016_084_083 @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d083*_i* + @dihedral:082_016_084_088 @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d088*_i* + @dihedral:X_016_091_X @atom:* @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d091*_i* @atom:* + @dihedral:019_018_048_X @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d018*_i* @atom:*_b*_a*_d048*_i* @atom:* + @dihedral:019_018_048_048 @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d018*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:018_018_056_013 @atom:*_b*_a*_d018*_i* @atom:*_b*_a*_d018*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d013*_i* + @dihedral:018_018_056_046 @atom:*_b*_a*_d018*_i* @atom:*_b*_a*_d018*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d046*_i* + @dihedral:X_019_019_X @atom:* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d019*_i* @atom:* + @dihedral:013_019_019_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_019_019_046 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d046*_i* + @dihedral:013_019_019_047 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d047*_i* + @dihedral:013_019_019_109 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d109*_i* + @dihedral:046_019_019_047 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d047*_i* + @dihedral:046_019_019_109 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d109*_i* + @dihedral:019_019_047_013 @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d013*_i* + @dihedral:019_019_047_046 @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:019_019_047_047 @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* + @dihedral:013_020_044_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_020_044_045 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d045*_i* + @dihedral:013_020_047_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_020_047_046 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:013_020_047_047 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* + @dihedral:013_020_047_050 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* + @dihedral:003_020_048_048 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_020_048_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_020_048_056 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d056*_i* + @dihedral:064_020_048_048 @atom:*_b*_a*_d064*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_020_051_005 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d051*_i* @atom:*_b*_a*_d005*_i* + @dihedral:013_020_051_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d051*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_020_051_020 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d051*_i* @atom:*_b*_a*_d020*_i* + @dihedral:013_020_051_046 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d051*_i* @atom:*_b*_a*_d046*_i* + @dihedral:013_020_056_003 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d003*_i* + @dihedral:013_020_059_056 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d059*_i* @atom:*_b*_a*_d056*_i* + @dihedral:X_020_064_052 @atom:* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d064*_i* @atom:*_b*_a*_d052*_i* + @dihedral:013_020_064_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d064*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_020_064_052 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d064*_i* @atom:*_b*_a*_d052*_i* + @dihedral:048_020_064_004 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d064*_i* @atom:*_b*_a*_d004*_i* + @dihedral:084_020_082_061 @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* + @dihedral:082_020_084_088 @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d088*_i* + @dihedral:084_020_084_049 @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d049*_i* + @dihedral:084_020_084_087 @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d087*_i* + @dihedral:108_020_108_013 @atom:*_b*_a*_d108*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d108*_i* @atom:*_b*_a*_d013*_i* + @dihedral:108_020_108_020 @atom:*_b*_a*_d108*_i* @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d108*_i* @atom:*_b*_a*_d020*_i* + @dihedral:X_024_048_048 @atom:* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:003_024_048_048 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_024_048_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:045_024_048_048 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:059_024_048_048 @atom:*_b*_a*_d059*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:082_024_048_048 @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:084_024_048_048 @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:X_024_059_X @atom:* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d059*_i* @atom:* + @dihedral:X_024_059_049 @atom:* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d059*_i* @atom:*_b*_a*_d049*_i* + @dihedral:045_024_059_X @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d059*_i* @atom:* + @dihedral:X_024_060_X @atom:* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d060*_i* @atom:* + @dihedral:X_024_079_023 @atom:* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d023*_i* + @dihedral:013_024_079_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d048*_i* + @dihedral:045_024_079_048 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_024_082_061 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* + @dihedral:045_024_082_016 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d016*_i* + @dihedral:045_024_082_020 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d020*_i* + @dihedral:045_024_082_061 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* + @dihedral:048_024_082_016 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d016*_i* + @dihedral:048_024_082_020 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d020*_i* + @dihedral:048_024_082_061 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* + @dihedral:X_024_084_X @atom:* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:003_024_084_084 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d084*_i* + @dihedral:045_024_084_016 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d016*_i* + @dihedral:045_024_084_020 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d020*_i* + @dihedral:048_024_084_016 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d016*_i* + @dihedral:048_024_084_020 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d020*_i* + @dihedral:003_024_086_048 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:003_024_086_056 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d056*_i* + @dihedral:003_024_086_086 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d086*_i* + @dihedral:047_024_086_048 @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:047_024_086_056 @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d056*_i* + @dihedral:X_024_087_X @atom:* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d087*_i* @atom:* + @dihedral:X_024_088_X @atom:* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d088*_i* @atom:* + @dihedral:003_024_091_046 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d046*_i* + @dihedral:003_024_091_089 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d089*_i* + @dihedral:003_024_091_091 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* + @dihedral:045_024_091_046 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d046*_i* + @dihedral:045_024_091_089 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d089*_i* + @dihedral:045_024_091_091 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* + @dihedral:X_024_106_X @atom:* @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d106*_i* @atom:* + @dihedral:013_044_044_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_044_044_045 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d045*_i* + @dihedral:045_044_044_045 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d045*_i* + @dihedral:013_044_048_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:045_044_048_048 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:059_044_048_048 @atom:*_b*_a*_d059*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:082_044_048_048 @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:084_044_048_048 @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:045_044_082_016 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d016*_i* + @dihedral:045_044_082_061 @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* + @dihedral:048_044_082_016 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d016*_i* + @dihedral:048_044_082_061 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* + @dihedral:047_046_047_013 @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d013*_i* + @dihedral:047_046_047_046 @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:X_047_047_X @atom:* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:* + @dihedral:X_047_047_019 @atom:* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d019*_i* + @dihedral:003_047_047_024 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d024*_i* + @dihedral:003_047_047_046 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:005_047_047_013 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d013*_i* + @dihedral:005_047_047_046 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:013_047_047_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_047_047_019 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d019*_i* + @dihedral:013_047_047_020 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d020*_i* + @dihedral:013_047_047_046 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:019_047_047_046 @atom:*_b*_a*_d019*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:020_047_047_046 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:021_047_047_021 @atom:*_b*_a*_d021*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d021*_i* + @dihedral:021_047_047_046 @atom:*_b*_a*_d021*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_047_047_046 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_047_047_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_047_048_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:046_047_048_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:046_047_048_056 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d056*_i* + @dihedral:047_047_048_048 @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_047_050_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_047_050_046 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d046*_i* + @dihedral:013_047_050_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_047_050_050 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d050*_i* + @dihedral:013_047_050_109 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d109*_i* + @dihedral:024_047_050_003 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d003*_i* + @dihedral:046_047_050_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_047_050_046 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_047_050_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d048*_i* + @dihedral:046_047_050_050 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d050*_i* + @dihedral:046_047_050_109 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d109*_i* + @dihedral:X_047_084_X @atom:* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:X_047_086_048 @atom:* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:003_047_086_086 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d086*_i* + @dihedral:049_047_086_X @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d086*_i* @atom:* + @dihedral:049_047_086_024 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d024*_i* + @dihedral:X_047_087_X @atom:* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d087*_i* @atom:* + @dihedral:X_047_088_X @atom:* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d088*_i* @atom:* + @dihedral:013_047_110_047 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d110*_i* @atom:*_b*_a*_d047*_i* + @dihedral:046_047_110_047 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d110*_i* @atom:*_b*_a*_d047*_i* + @dihedral:X_048_048_X @atom:* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:* + @dihedral:X_048_048_013 @atom:* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d013*_i* + @dihedral:X_048_048_048 @atom:* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:X_048_048_049 @atom:* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d049*_i* + @dihedral:001_048_048_048 @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:001_048_048_049 @atom:*_b*_a*_d001*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d049*_i* + @dihedral:013_048_048_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_048_048_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_048_048_049 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d049*_i* + @dihedral:013_048_048_050 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d050*_i* + @dihedral:021_048_048_048 @atom:*_b*_a*_d021*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:021_048_048_049 @atom:*_b*_a*_d021*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d049*_i* + @dihedral:044_048_048_049 @atom:*_b*_a*_d044*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d049*_i* + @dihedral:047_048_048_049 @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d049*_i* + @dihedral:048_048_048_048 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* + @dihedral:048_048_048_049 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d049*_i* + @dihedral:048_048_048_050 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d050*_i* + @dihedral:048_048_048_055 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d055*_i* + @dihedral:048_048_048_060 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d060*_i* + @dihedral:048_048_048_065 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d065*_i* + @dihedral:048_048_048_066 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d066*_i* + @dihedral:048_048_048_086 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* + @dihedral:048_048_048_109 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d109*_i* + @dihedral:049_048_048_049 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d049*_i* + @dihedral:049_048_048_050 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d050*_i* + @dihedral:049_048_048_060 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d060*_i* + @dihedral:049_048_048_065 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d065*_i* + @dihedral:049_048_048_066 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d066*_i* + @dihedral:049_048_048_086 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* + @dihedral:049_048_048_109 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d109*_i* + @dihedral:056_048_048_086 @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* + @dihedral:048_048_050_046 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d046*_i* + @dihedral:048_048_050_047 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d047*_i* + @dihedral:056_048_050_046 @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d046*_i* + @dihedral:056_048_050_047 @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d047*_i* + @dihedral:048_048_053_013 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d013*_i* + @dihedral:048_048_053_054 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d054*_i* + @dihedral:X_048_055_045 @atom:* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d045*_i* + @dihedral:048_048_055_045 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d045*_i* + @dihedral:055_048_055_013 @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d013*_i* + @dihedral:055_048_055_045 @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d045*_i* + @dihedral:060_048_055_045 @atom:*_b*_a*_d060*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d045*_i* + @dihedral:X_048_056_X @atom:* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d056*_i* @atom:* + @dihedral:048_048_056_048 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d048*_i* + @dihedral:049_048_056_048 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d048*_i* + @dihedral:X_048_060_X @atom:* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d060*_i* @atom:* + @dihedral:X_048_079_023 @atom:* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d023*_i* + @dihedral:048_048_079_013 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d013*_i* + @dihedral:048_048_079_024 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d079*_i* @atom:*_b*_a*_d024*_i* + @dihedral:048_048_086_048 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:048_048_086_056 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d056*_i* + @dihedral:048_048_086_086 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d086*_i* + @dihedral:049_048_086_048 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:049_048_086_056 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d056*_i* + @dihedral:049_048_086_086 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d086*_i* + @dihedral:056_048_086_048 @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:056_048_086_086 @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d086*_i* + @dihedral:049_048_088_049 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d088*_i* @atom:*_b*_a*_d049*_i* + @dihedral:056_048_101_013 @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d101*_i* @atom:*_b*_a*_d013*_i* + @dihedral:048_048_102_103 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d102*_i* @atom:*_b*_a*_d103*_i* + @dihedral:048_048_109_013 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d013*_i* + @dihedral:048_048_109_046 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d046*_i* + @dihedral:048_048_109_109 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* + @dihedral:X_050_050_049 @atom:* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d049*_i* + @dihedral:003_050_050_003 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d003*_i* + @dihedral:013_050_050_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_050_050_046 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d046*_i* + @dihedral:013_050_050_047 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d047*_i* + @dihedral:046_050_050_046 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_050_050_047 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d047*_i* + @dihedral:047_050_050_047 @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d047*_i* + @dihedral:013_050_109_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_050_109_109 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* + @dihedral:046_050_109_013 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d013*_i* + @dihedral:046_050_109_046 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_050_109_109 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* + @dihedral:047_050_109_013 @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d013*_i* + @dihedral:047_050_109_046 @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d046*_i* + @dihedral:047_050_109_109 @atom:*_b*_a*_d047*_i* @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* + @dihedral:013_053_082_061 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* + @dihedral:048_053_082_061 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* + @dihedral:045_055_059_X @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d059*_i* @atom:* + @dihedral:013_056_056_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_056_056_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d048*_i* + @dihedral:048_056_056_048 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d048*_i* + @dihedral:X_056_059_X @atom:* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d059*_i* @atom:* + @dihedral:X_056_059_049 @atom:* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d059*_i* @atom:*_b*_a*_d049*_i* + @dihedral:X_056_060_X @atom:* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d060*_i* @atom:* + @dihedral:X_056_062_X @atom:* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d062*_i* @atom:* + @dihedral:X_056_082_X @atom:* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d082*_i* @atom:* + @dihedral:048_056_086_048 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:048_056_086_086 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d086*_i* + @dihedral:X_057_060_X @atom:* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d060*_i* @atom:* + @dihedral:045_057_060_X @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d060*_i* @atom:* + @dihedral:X_057_061_X @atom:* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d061*_i* @atom:* + @dihedral:X_057_062_X @atom:* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d062*_i* @atom:* + @dihedral:X_057_081_X @atom:* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d081*_i* @atom:* + @dihedral:X_057_082_X @atom:* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d082*_i* @atom:* + @dihedral:X_057_082_049 @atom:* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d049*_i* + @dihedral:045_057_082_X @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d082*_i* @atom:* + @dihedral:X_057_084_X @atom:* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:045_057_084_X @atom:*_b*_a*_d045*_i* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:061_057_086_048 @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:084_057_086_048 @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:X_060_060_X @atom:* @atom:*_b*_a*_d060*_i* @atom:*_b*_a*_d060*_i* @atom:* + @dihedral:X_060_061_X @atom:* @atom:*_b*_a*_d060*_i* @atom:*_b*_a*_d061*_i* @atom:* + @dihedral:X_060_080_X @atom:* @atom:*_b*_a*_d060*_i* @atom:*_b*_a*_d080*_i* @atom:* + @dihedral:X_060_081_X @atom:* @atom:*_b*_a*_d060*_i* @atom:*_b*_a*_d081*_i* @atom:* + @dihedral:X_060_087_X @atom:* @atom:*_b*_a*_d060*_i* @atom:*_b*_a*_d087*_i* @atom:* + @dihedral:048_060_087_084 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d060*_i* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d084*_i* + @dihedral:060_060_087_084 @atom:*_b*_a*_d060*_i* @atom:*_b*_a*_d060*_i* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d084*_i* + @dihedral:X_061_061_X @atom:* @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d061*_i* @atom:* + @dihedral:X_061_062_X @atom:* @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d062*_i* @atom:* + @dihedral:X_061_082_X @atom:* @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d082*_i* @atom:* + @dihedral:X_061_082_049 @atom:* @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d049*_i* + @dihedral:083_061_082_016 @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d016*_i* + @dihedral:088_061_082_016 @atom:*_b*_a*_d088*_i* @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d016*_i* + @dihedral:088_061_082_020 @atom:*_b*_a*_d088*_i* @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d020*_i* + @dihedral:X_061_083_X @atom:* @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d083*_i* @atom:* + @dihedral:082_061_083_049 @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d049*_i* + @dihedral:082_061_083_084 @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d084*_i* + @dihedral:X_061_084_X @atom:* @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:X_061_088_X @atom:* @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d088*_i* @atom:* + @dihedral:082_061_088_084 @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d088*_i* @atom:*_b*_a*_d084*_i* + @dihedral:X_080_084_X @atom:* @atom:*_b*_a*_d080*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:X_082_084_X @atom:* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:016_082_086_048 @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:020_082_086_048 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:057_082_086_048 @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:061_082_086_048 @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:X_082_087_X @atom:* @atom:*_b*_a*_d082*_i* @atom:*_b*_a*_d087*_i* @atom:* + @dihedral:X_083_084_X @atom:* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:X_083_084_049 @atom:* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d049*_i* + @dihedral:049_083_084_X @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:049_083_084_016 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d016*_i* + @dihedral:049_083_084_049 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d049*_i* + @dihedral:061_083_084_016 @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d016*_i* + @dihedral:061_083_084_020 @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d020*_i* + @dihedral:061_083_084_049 @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d049*_i* + @dihedral:X_083_086_048 @atom:* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:061_083_086_048 @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:061_083_087_X @atom:*_b*_a*_d061*_i* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d087*_i* @atom:* + @dihedral:084_083_087_X @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d083*_i* @atom:*_b*_a*_d087*_i* @atom:* + @dihedral:X_084_084_X @atom:* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d084*_i* @atom:* + @dihedral:X_084_084_049 @atom:* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d049*_i* + @dihedral:016_084_084_049 @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d049*_i* + @dihedral:049_084_084_049 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d049*_i* + @dihedral:X_084_086_048 @atom:* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:016_084_086_048 @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:020_084_086_048 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:057_084_086_048 @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:X_084_087_X @atom:* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d087*_i* @atom:* + @dihedral:X_084_087_049 @atom:* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d049*_i* + @dihedral:049_084_087_049 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d049*_i* + @dihedral:X_084_088_049 @atom:* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d088*_i* @atom:*_b*_a*_d049*_i* + @dihedral:016_084_088_049 @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d088*_i* @atom:*_b*_a*_d049*_i* + @dihedral:016_084_088_061 @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d088*_i* @atom:*_b*_a*_d061*_i* + @dihedral:020_084_088_061 @atom:*_b*_a*_d020*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d088*_i* @atom:*_b*_a*_d061*_i* + @dihedral:049_084_088_X @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d088*_i* @atom:* + @dihedral:049_084_088_061 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d084*_i* @atom:*_b*_a*_d088*_i* @atom:*_b*_a*_d061*_i* + @dihedral:048_086_086_048 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d048*_i* + @dihedral:048_086_086_056 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d056*_i* + @dihedral:048_086_087_X @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d087*_i* @atom:* + @dihedral:048_086_088_X @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d088*_i* @atom:* + @dihedral:048_086_088_061 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d088*_i* @atom:*_b*_a*_d061*_i* + @dihedral:056_086_088_X @atom:*_b*_a*_d056*_i* @atom:*_b*_a*_d086*_i* @atom:*_b*_a*_d088*_i* @atom:* + @dihedral:X_087_087_020 @atom:* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d020*_i* + @dihedral:X_087_087_057 @atom:* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d057*_i* + @dihedral:X_087_087_087 @atom:* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d087*_i* + @dihedral:049_087_087_049 @atom:*_b*_a*_d049*_i* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d087*_i* @atom:*_b*_a*_d049*_i* + @dihedral:004_089_090_013 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d089*_i* @atom:*_b*_a*_d090*_i* @atom:*_b*_a*_d013*_i* + @dihedral:004_089_090_045 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d089*_i* @atom:*_b*_a*_d090*_i* @atom:*_b*_a*_d045*_i* + @dihedral:004_089_090_048 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d089*_i* @atom:*_b*_a*_d090*_i* @atom:*_b*_a*_d048*_i* + @dihedral:004_089_090_091 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d089*_i* @atom:*_b*_a*_d090*_i* @atom:*_b*_a*_d091*_i* + @dihedral:091_089_090_013 @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d089*_i* @atom:*_b*_a*_d090*_i* @atom:*_b*_a*_d013*_i* + @dihedral:091_089_090_045 @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d089*_i* @atom:*_b*_a*_d090*_i* @atom:*_b*_a*_d045*_i* + @dihedral:091_089_090_048 @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d089*_i* @atom:*_b*_a*_d090*_i* @atom:*_b*_a*_d048*_i* + @dihedral:091_089_090_091 @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d089*_i* @atom:*_b*_a*_d090*_i* @atom:*_b*_a*_d091*_i* + @dihedral:X_089_091_X @atom:* @atom:*_b*_a*_d089*_i* @atom:*_b*_a*_d091*_i* @atom:* + @dihedral:004_089_091_046 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d089*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d046*_i* + @dihedral:004_089_091_091 @atom:*_b*_a*_d004*_i* @atom:*_b*_a*_d089*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* + @dihedral:090_089_091_046 @atom:*_b*_a*_d090*_i* @atom:*_b*_a*_d089*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d046*_i* + @dihedral:090_089_091_091 @atom:*_b*_a*_d090*_i* @atom:*_b*_a*_d089*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* + @dihedral:X_090_091_X @atom:* @atom:*_b*_a*_d090*_i* @atom:*_b*_a*_d091*_i* @atom:* + @dihedral:X_090_091_046 @atom:* @atom:*_b*_a*_d090*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d046*_i* + @dihedral:X_090_091_091 @atom:* @atom:*_b*_a*_d090*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* + @dihedral:X_091_091_X @atom:* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* @atom:* + @dihedral:X_091_091_024 @atom:* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d024*_i* + @dihedral:013_091_091_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_091_091_046 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_091_091_046 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_091_091_091 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* + @dihedral:091_091_091_091 @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* @atom:*_b*_a*_d091*_i* + @dihedral:X_109_109_X @atom:* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:* + @dihedral:013_109_109_013 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d013*_i* + @dihedral:013_109_109_046 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d046*_i* + @dihedral:013_109_109_048 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d048*_i* + @dihedral:013_109_109_050 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d050*_i* + @dihedral:013_109_109_109 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* + @dihedral:046_109_109_046 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d046*_i* + @dihedral:046_109_109_048 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d048*_i* + @dihedral:046_109_109_050 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d050*_i* + @dihedral:046_109_109_109 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* + @dihedral:048_109_109_048 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d048*_i* + @dihedral:048_109_109_050 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d050*_i* + @dihedral:048_109_109_109 @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* + @dihedral:050_109_109_050 @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d050*_i* + @dihedral:050_109_109_109 @atom:*_b*_a*_d050*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* + @dihedral:109_109_109_109 @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* @atom:*_b*_a*_d109*_i* + @dihedral:024_003_013_053 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* + @dihedral:052_003_013_024 @atom:*_b*_a*_d052*_i* @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d024*_i* + @dihedral:003_013_013_053 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* + @dihedral:003_013_013_083 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d083*_i* + @dihedral:003_013_013_084 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d084*_i* + @dihedral:003_013_013_085 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d085*_i* + @dihedral:005_013_013_053 @atom:*_b*_a*_d005*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* + @dihedral:015_013_013_053 @atom:*_b*_a*_d015*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* + @dihedral:016_013_013_053 @atom:*_b*_a*_d016*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* + @dihedral:013_013_013_055 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d055*_i* + @dihedral:024_013_013_083 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d083*_i* + @dihedral:053_013_013_083 @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d083*_i* + @dihedral:024_013_013_084 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d084*_i* + @dihedral:053_013_013_084 @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d084*_i* + @dihedral:024_013_013_085 @atom:*_b*_a*_d024*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d085*_i* + @dihedral:046_013_013_085 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d085*_i* + @dihedral:053_013_013_085 @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d085*_i* + @dihedral:003_013_053_013 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d013*_i* + @dihedral:003_013_053_054 @atom:*_b*_a*_d003*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d054*_i* + @dihedral:013_013_053_054 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d053*_i* @atom:*_b*_a*_d054*_i* + @dihedral:046_013_055_054 @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d054*_i* + @dihedral:013_013_085_X @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d085*_i* @atom:* + @dihedral:013_013_085_057 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d085*_i* @atom:*_b*_a*_d057*_i* + @dihedral:046_013_085_X @atom:*_b*_a*_d046*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d085*_i* @atom:* + @dihedral:055_048_055_054 @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d055*_i* @atom:*_b*_a*_d054*_i* + @dihedral:X_048_081_X @atom:* @atom:*_b*_a*_d048*_i* @atom:*_b*_a*_d081*_i* @atom:* + @dihedral:X_057_085_X @atom:* @atom:*_b*_a*_d057*_i* @atom:*_b*_a*_d085*_i* @atom:* + @dihedral:X_085_085_X @atom:* @atom:*_b*_a*_d085*_i* @atom:*_b*_a*_d085*_i* @atom:* + @dihedral:013_013_013_020 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d020*_i* + @dihedral:013_013_013_047 @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d013*_i* @atom:*_b*_a*_d047*_i* } #(end of dihedrals by type) @@ -8135,25 +8148,61 @@ OPLSAA { # ---------- Improper Interactions: ---------- # http://lammps.sandia.gov/doc/improper_harmonic.html # Syntax: - # improper_coeff ImproperTypeName ImproperStyle parameters + # improper_coeff ImproperTypeName parameters write_once("In Settings") { - improper_coeff @improper:X-X-3-4 harmonic 10.5 180.0 - improper_coeff @improper:X-X-3-52 harmonic 10.5 180.0 - improper_coeff @improper:X-X-24-X harmonic 2.5 180.0 - improper_coeff @improper:X-X-47-X harmonic 15.0 180.0 - improper_coeff @improper:X-X-48-X harmonic 2.5 180.0 + # The following force field parameters were converted from + # the tinker parameter file (oplsaa.prm) and then edited by hand: + # Thanks to David Huang (adelaide.edu.au) for the corrections: + + improper_coeff @improper:X_X_003_004 10.5 180.0 # (moltemplate) + # <==> "imptors 0 0 3 4 21.000 180.0 2" in oplsaa.prm (tinker) + # <==> "define improper_O_C_X_Y 180.0 43.93200 2" in oplsaa.ff (gromacs) + + improper_coeff @improper:X_X_003_052 10.5 180.0 # (moltemplate) + # <==> "imptors 0 0 3 52 21.000 180.0 2" in oplsaa.prm (tinker) + # <==> "define improper_O_C_X_Y 180.0 43.93200 2" in oplsaa.ff (gromacs) + + improper_coeff @improper:X_X_024_X 1.0 180.0 # (moltemplate) + # <==> "imptors 0 0 24 0 5.000 180.0 2" in oplsaa.prm (tinker) - INCORRECT? + # <==> "define improper_Z_N_X_Y 180.0 4.18400 2" in oplsaa.ff (gromacs) + + improper_coeff @improper:X_X_047_X 15.0 180.0 # (moltemplate) + # <==> "imptors 0 0 47 0 30.000 180.0 2" in oplsaa.prm (tinker) + # <==> "define improper_Z_CM_X_Y 180.0 62.76000 2" in oplsaa.ff (gromacs) + + improper_coeff @improper:X_X_048_X 1.1 180.0 # (moltemplate) + # <==> "imptors 0 0 48 0 5.000 180.0 2" in oplsaa.prm (tinker) - INCORRECT? + # <==> "define improper_Z_CA_X_Y 180.0 4.60240 2" in oplsaa.ff (gromacs) + + improper_coeff @improper:055_055_X_055 10.5 180.0 + # <==> "define improper_N2_X_N2_N2 180.0 43.93200" in oplsaa.ff (gromacs) + # <==> no corresponding line found in oplsaa.prm (tinker) + + # --- As of 2017-9-13, I am unsure if I should add this rule: ---- + # The gromacs file for oplsaa include the following line: + # "define improper_X_NO_ON_NO 180.0 43.93200" in oplsaa.ff (gromacs) + # but there is no corresponding line found in oplsaa.prm (tinker) + # and there is no corresponding line from opls-a.prm (emc (BASF)) + # I'm not sure what the "NO" and "ON" correspond to. If I had to guess, + # the corresponding moltemplate line might be one of these two choices: + # improper_coeff @improper:X_103_102_102 10.5 180.0 ? + # improper_coeff @improper:X_102_103_103 10.5 180.0 ? + # but I'd prefer to leave this out. + } #(end of improper_coeffs) - # Rules for creating dihedral interactions according to atom type: + + # Rules for creating improper interactions according to atom type: # ImproperTypeName AtomType1 AtomType2 AtomType3 AtomType4 # (* = wildcard) write_once("Data Impropers By Type (opls_imp.py)") { - @improper:X-X-3-4 @atom:* @atom:* @atom:*_b*_a*_d*_i3 @atom:*_b*_a*_d*_i4 - @improper:X-X-3-52 @atom:* @atom:* @atom:*_b*_a*_d*_i3 @atom:*_b*_a*_d*_i52 - @improper:X-X-24-X @atom:* @atom:* @atom:*_b*_a*_d*_i24 @atom:* - @improper:X-X-47-X @atom:* @atom:* @atom:*_b*_a*_d*_i47 @atom:* - @improper:X-X-48-X @atom:* @atom:* @atom:*_b*_a*_d*_i48 @atom:* + @improper:X_X_003_004 @atom:* @atom:* @atom:*_b*_a*_d*_i003* @atom:*_b*_a*_d*_i004* + @improper:X_X_003_052 @atom:* @atom:* @atom:*_b*_a*_d*_i003* @atom:*_b*_a*_d*_i052* + @improper:X_X_024_X @atom:* @atom:* @atom:*_b*_a*_d*_i024* @atom:* + @improper:X_X_047_X @atom:* @atom:* @atom:*_b*_a*_d*_i047* @atom:* + @improper:X_X_048_X @atom:* @atom:* @atom:*_b*_a*_d*_i048* @atom:* + @improper:055_055_X_055 @atom:*_b*_a*_d*_i55 @atom:*_b*_a*_d*_i55 @atom:* @atom:*_b*_a*_d*_i55 } #(end of impropers by type) @@ -8961,11 +9010,11 @@ OPLSAA { write_once("In Init") { units real atom_style full - bond_style hybrid harmonic - angle_style hybrid harmonic - dihedral_style hybrid opls - improper_style hybrid harmonic - pair_style hybrid lj/cut/coul/long 10.0 10.0 + bond_style harmonic + angle_style harmonic + dihedral_style opls + improper_style harmonic + pair_style lj/cut/coul/long 10.0 10.0 pair_modify mix geometric special_bonds lj/coul 0.0 0.0 0.5 kspace_style pppm 0.0001 @@ -8985,34 +9034,3 @@ OPLSAA { } # OPLSAA - - - - -############################### NOTES #################################### -# -# This file was generated (on 2017-7-18) using this script: -# -# tinkerparm2lt.py -name OPLSAA -file oplsaa.prm -dihedral-style opls -# -# The oplsaa.prm file was downloaded from the TINKER website -# https://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm -# (You can build a smaller version of this file by editing the oplsaa.prm -# file and deleting the lines beginning with "atom" that you don't need, -# and subsequently running tinkerparm2lt.py on the new file. This can -# help reduce the number of atom types, which can help with visualization, -# and in some cases may also improve performance.) -# -# The following 1-2, 1-3, and 1-4 weighting parameters were ASSUMED: -# special_bonds lj/coul 0.0 0.0 0.5 -# (See http://lammps.sandia.gov/doc/special_bonds.html for details) -# -# WARNING: All Urey-Bradley interactions have been IGNORED including: -# ffid1 ffid2 ffid3 K r0 -# ureybrad 35 34 35 38.25 1.5537 -# -# WARNING: Many of these atoms are UNITED-ATOM (UA) atoms (#1-56). This means -# the hydrogen atoms have been absorbed into the heavy atoms, and the -# force-field modified accordingly. (Hopefully, moltemplate will -# complain if you attempt to bond these atoms to hydrogen atoms.) -########################################################################## diff --git a/tools/moltemplate/moltemplate/force_fields/oplsaa/AUTHOR.txt b/tools/moltemplate/moltemplate/force_fields/oplsaa/AUTHOR.txt deleted file mode 100644 index a3e9f3ee78..0000000000 --- a/tools/moltemplate/moltemplate/force_fields/oplsaa/AUTHOR.txt +++ /dev/null @@ -1,2 +0,0 @@ -OPLSAA force-field conversion tools provided by -Jason Lambert, Sebastian Echeverri, and Andrew Jewett diff --git a/tools/moltemplate/moltemplate/force_fields/oplsaa_original_format/AUTHOR.txt b/tools/moltemplate/moltemplate/force_fields/oplsaa_original_format/AUTHOR.txt new file mode 100644 index 0000000000..5874b5926b --- /dev/null +++ b/tools/moltemplate/moltemplate/force_fields/oplsaa_original_format/AUTHOR.txt @@ -0,0 +1,7 @@ + +OPLSAA force-field conversion tools provided by +Jason Lambert and Andrew Jewett. + +LOPLSAA force-field conversion provided by Sebastian Echeverri. + + diff --git a/tools/moltemplate/moltemplate/force_fields/oplsaa_original_format/README.txt b/tools/moltemplate/moltemplate/force_fields/oplsaa_original_format/README.txt new file mode 100644 index 0000000000..2412c4aa7d --- /dev/null +++ b/tools/moltemplate/moltemplate/force_fields/oplsaa_original_format/README.txt @@ -0,0 +1,10 @@ +The "oplsaa.lt" file contains force field parameters which we found in the +"oplsaa.prm" file which is distributed with TINKER. +Jay Ponder, (the author of TINKER) preferred that we do not distribute +that file with moltemplate. However you can download that file here: + +https://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm + +This directory does contain other files ("loplsaa.prm") containing additional +force field parameters that modify the original OPLSAA force field. + diff --git a/tools/moltemplate/moltemplate/force_fields/oplsaa/loplsaa_ext.prm b/tools/moltemplate/moltemplate/force_fields/oplsaa_original_format/loplsaa_ext.prm similarity index 52% rename from tools/moltemplate/moltemplate/force_fields/oplsaa/loplsaa_ext.prm rename to tools/moltemplate/moltemplate/force_fields/oplsaa_original_format/loplsaa_ext.prm index ff0e3e445c..bf89d9a341 100644 --- a/tools/moltemplate/moltemplate/force_fields/oplsaa/loplsaa_ext.prm +++ b/tools/moltemplate/moltemplate/force_fields/oplsaa_original_format/loplsaa_ext.prm @@ -1,19 +1,28 @@ - ########################################################################### - ## Extra OPLSAA parameters and atom types for long hydrocarbon chains ## - ## SOURCE: Sui, Pluhackova, Böckmann, J.Chem.Theory.Comp (2012), 8, 1459 ## - ## CREDIT: Sebastian Echeverri (file format conversion) ## - ########################################################################### - ## This file was used with "tinkerparm2lt.py" to create "loplsaa.lt" ## - ########################################################################### + ############################################################################ + ## Extra OPLSAA parameters and atom types for long hydrocarbon chains ## + ## SOURCES: Sui, Pluhackova, Böckmann, J.Chem.Theory.Comp (2012), 8(4), 1459 + ## Pluhackova,...,Böckmann, J.Phys.Chem.B (2015), 119(49), 15287 ## + ## CREDIT: Sebastian Echeverri (file format conversion) ## + ############################################################################ + ## This file was used with "tinkerparm2lt.py" to create "loplsaa.lt" ## + ############################################################################ atom 80L 13L CT "Alkane CH3- (LOPLS CT_CH3)" 6 12.011 4 atom 81L 13L CT "Alkane -CH2- (LOPLS CT_CH2)" 6 12.011 4 +atom 81LL 13LL CT "Alkane -CH2- (LOPLS ALT)" 6 12.011 4 atom 85LCH3 46 HC "Alkane H-C CH3 (LOPLS HC_CH3)" 1 1.008 1 atom 85LCH2 46 HC "Alkane H-C CH2 (LOPLS HC_CH2)" 1 1.008 1 atom 87L 47L CM "Alkene RH-C= (LOPLS CM_CH)" 6 12.011 3 atom 89L 46 HC "Alkene H-C= (LOPLS HC_CH)" 1 1.008 1 atom 86L 47L CM "Alkene R2-C= (LOPLS)" 6 12.011 3 atom 88L 47L CM "Alkene H2-C= (LOPLS)" 6 12.011 3 +atom 96L 5L OH "Alcohol -OH (LOPLS)" 8 15.999 2 +atom 97L 7L HO "Alcohol -OH (LOPLS)" 1 1.008 1 +atom 111L 5L OH "Diol -OH (LOPLS)" 8 15.999 2 +atom 112L 7L HO "Diol -OH (LOPLS)" 1 1.008 1 +atom 113L 5L OH "Triol -OH (LOPLS)" 8 15.999 2 +atom 114L 7L HO "Triol -OH (LOPLS)" 1 1.008 1 +atom 118L 46L HC "Diol & Triol H-COH (LOPLS)" 1 1.008 1 atom 169L 47L CM "Chloroalkene Cl-CH= (LOPLS)" 6 12.011 3 atom 266L 47L CM "Uracil & Thymine C5 (LOPLS)" 6 12.011 3 atom 267L 47L CM "Uracil & Thymine C6 (LOPLS)" 6 12.011 3 @@ -23,21 +32,36 @@ atom 324L 47L CM "CytosineH+ C5 (LOPLS)" 6 12.011 3 atom 325L 47L CM "CytosineH+ C6 (LOPLS)" 6 12.011 3 atom 340L 47L CM "Trifluorothymine CF3- (LOPLS)" 6 12.011 4 atom 342L 47L CM "Chloroalkene Cl2-C= (LOPLS)" 6 12.011 3 +atom 406L 3L C_2 "Ester -COOR (LOPLS)" 6 12.011 3 +atom 407L 4L O_2 "Ester C=O (LOPLS)" 8 15.999 1 +atom 408L 20L OS "Ester CO-O-R (LOPLS)" 8 15.999 2 atom 458L 47L CM "Vinyl Ether =CH-OR (LOPLS)" 6 12.011 3 atom 459L 47L CM "Vinyl Ether =CR-OR (LOPLS)" 6 12.011 3 atom 649L 47L CM "Cl..CH3..Cl- Sn2 TS (LOPLS)" 6 12.011 5 +atom 718L 46L HC "Propylene Carbonate CH2 (LOPLS)" 1 1.008 1 +atom 718LL 46L HC "Propylene Carbonate CH2 (LOPLS ALT)" 1 1.008 1 atom 900L 47L CM "Allene/Ketene H2C=C=X (LOPLS)" 6 12.011 3 atom 901L 47L CM "Allene/Ketene HRC=C=X (LOPLS)" 6 12.011 3 atom 902L 47L CM "Allene/Ketene R2C=C=X (LOPLS)" 6 12.011 3 +###################### + vdw 80L 3.5000 0.0660 vdw 81L 3.5000 0.0660 +vdw 81LL 0.3500 0.0660 vdw 85LCH3 2.5000 0.0300 vdw 85LCH2 2.5000 0.026290630975 vdw 87L 3.5500 0.0760 vdw 89L 2.4200 0.0300 vdw 86L 3.5500 0.0760 vdw 88L 3.5500 0.0760 +vdw 96L 0.3120 0.1700 +vdw 97L 0.0000 0.0000 +vdw 111L 0.3070 0.1700 +vdw 112L 0.0000 0.0000 +vdw 113L 0.3070 0.1700 +vdw 114L 0.0000 0.0000 +vdw 118L 0.2500 0.0300 vdw 169L 3.5500 0.0760 vdw 266L 3.5000 0.0800 vdw 267L 3.5000 0.0800 @@ -47,13 +71,21 @@ vdw 324L 3.5000 0.0800 vdw 325L 3.5000 0.0800 vdw 340L 3.5000 0.0800 vdw 342L 3.5500 0.0760 +vdw 406L 0.31875 0.1050 +vdw 407L 0.3108 0.1680 +vdw 408L 0.2550 0.1700 vdw 458L 3.5500 0.0760 vdw 459L 3.5500 0.0760 vdw 649L 3.5500 0.0760 +vdw 718L 0.2420 0.1500 +vdw 718LL 0.2420 0.1500 vdw 900L 3.3000 0.0860 vdw 901L 3.3000 0.0860 vdw 902L 3.3000 0.0860 +###################### + + # New torsion angle parameters # Taken from table 2 of # Sui, Pluhackova, Böckmann, J.Chem.Theory.Comp (2012), 8, 1459 @@ -62,14 +94,42 @@ torsion 0 47L 47L 0 0.0 0 1 12.2502629063 180 2 0.0 torsion 47L 47L 13L 13L -0.8050121893 0 1 0.3218905354 180 2 -0.1032768881 0 3 0 180 4 # offset V0=-0.3574832696 torsion 13L 13L 13L 47L 0.4821902486 0 1 0.1343683078 180 2 0.1777461759 0 3 0 180 4 # offset V0=0.4405726577 +###################### +torsion 46L 13LL 5L 7L 0.00962596 0 1 -0.0145554 180 2 0.381091 0 3 0 180 4 # offset V0=0.00133126 +torsion 46L 13LL 13LL 5L 0.0143774 0 1 0.033021 180 2 0.26687 0 3 0 180 4 # offset V0=-0.0291993 +torsion 13LL 13LL 5L 7L -0.675785 0 1 -0.0160421 180 2 0.373199 0 3 0 180 4 # offset V0=-0.0225884 +torsion 13LL 13LL 13LL 5L 1.31261 0 1 -0.266307 180 2 0.637867 0 3 0 180 4 # offset V0=0.00224187 +torsion 5L 13LL 13LL 5L 2.69106 0 1 -0.849706 180 2 0.725731 0 3 0 180 4 # offset V0=-0.3326 +torsion 13LL 3L 20L 13LL 3.11923 0 1 5.73771 180 2 0.0 0 3 0 180 4 # offset V0=0.493475 +torsion 13LL 20L 3L 4L 0.0 0 1 5.73772 180 2 0.0 0 3 0 180 4 # offset V0=-0.28142 +torsion 46L 13LL 3L 20L -0.00742471 0 1 0.00217734 180 2 0.111803 0 3 0 180 4 # offset V0=-0.012512 +torsion 3L 20L 13LL 13LL -1.7354 0 1 -1.24844 180 2 0.623897 0 3 0 180 4 # offset V0=0.11706 +torsion 46L 13LL 13LL 20L 0.0113337 0 1 0.0236209 180 2 0.429747 0 3 0 180 4 # offset V0=-0.0255306 +torsion 13LL 13LL 3L 20L 0.884988 0 1 -0.626905 180 2 -0.493344 0 3 0 180 4 # offset V0=-0.0195172 +torsion 13LL 13LL 3L 4L -0.276019 0 1 1.23685 180 2 -0.670745 0 3 0 180 4 # offset V0=-0.0322467 +torsion 3L 13LL 13LL 46L -0.0021152 0 1 0.0173542 180 2 -0.295208 0 3 0 180 4 # offset V0=-0.0433963 +torsion 3L 13LL 13LL 13LL -2.30738 0 1 -0.627326 180 2 0.621951 0 3 0 180 4 # offset V0=0.0323566 +torsion 13LL 13LL 13LL 20L 2.25871 0 1 -1.02408 180 2 1.0071 0 3 0 180 4 # offset V0=0.0297084 +torsion 20L 13LL 13LL 20L 4.66787 0 1 -2.62698 180 2 1.3248 0 3 0 180 4 # offset V0=-1.48385 +torsion 5L 13LL 13LL 20L 5.03208 0 1 -2.37742 180 2 1.23809 0 3 0 180 4 # offset V0=0.223141 +###################### + charge 80L -0.222 #"Alkane CH3- (LOPLS)" "CT_CH3" 3.50 0.0660 charge 81L -0.148 #"Alkane -CH2- (LOPLS)" "CT_CH2" 3.50 0.0660 +charge 81LL 0.19 charge 85LCH3 0.074 #"Alkane H-C CH3 (LOPLS)" "HC_CH3" 2.50 0.0300 charge 85LCH2 0.074 #"Alkane H-C CH2 (LOPLS)" "HC_CH2" 2.50 0.0263 charge 87L -0.160 #"Alkene RH-C= (LOPLS)" "CM_CH" 3.55 0.0760 charge 89L 0.160 #"Alkene H-C= (LOPLS)" "HC_CH" 2.42 0.0300 charge 86L 0.0000 charge 88L -0.2300 +charge 96L -0.683 +charge 97L 0.418 +charge 111L -0.7 +charge 112L 0.435 +charge 113L -0.73 +charge 114L 0.465 +charge 118L 0.06 charge 169L 0.0050 charge 266L -0.0700 charge 267L 0.0800 @@ -79,9 +139,15 @@ charge 324L -0.0600 charge 325L 0.1000 charge 340L 0.1800 charge 342L 0.1200 +charge 406L 0.75 +charge 407L -0.55 +charge 408L -0.45 charge 458L -0.0300 charge 459L 0.0850 charge 649L -0.3440 +charge 718L 0.06 +charge 718LL 0.03 charge 900L -0.2500 charge 901L -0.1000 charge 902L 0.0500 + diff --git a/tools/moltemplate/moltemplate/force_fields/sdk/SDK_lipid+chol.lt b/tools/moltemplate/moltemplate/force_fields/sdk.lt similarity index 98% rename from tools/moltemplate/moltemplate/force_fields/sdk/SDK_lipid+chol.lt rename to tools/moltemplate/moltemplate/force_fields/sdk.lt index f610085113..8207614282 100644 --- a/tools/moltemplate/moltemplate/force_fields/sdk/SDK_lipid+chol.lt +++ b/tools/moltemplate/moltemplate/force_fields/sdk.lt @@ -1,11 +1,21 @@ # Autogenerated by EMC 2 LT tool v0.2 on 2017-06-29 # -# ./emcprm2lt.py --pair-style=lj/sdk/coul/long --bond-style=harmonic --angle-style=sdk sdk_lipids.prm sdk_cholesterol.prm --name=SDK_lipid+chol --units +# cd sdk/ +# emcprm2lt.py --pair-style=lj/sdk/coul/long --bond-style=harmonic --angle-style=sdk sdk_lipids.prm sdk_cholesterol.prm --name=sdk --units +# mv -f sdk.lt ../ +# +# This file contains force field parameters for lipids and cholesterol from: +# Shinoda et al. J. Phys. Chem. B, Vol. 114, No. 20, 2010 +# MacDermaid et al. J. Chem. Phys, 143(24), 243144, 2015 +# For details see the "README.txt" file (located in "force_fields/sdk/") # # Adapted from EMC by Pieter J. in 't Veld # Originally written as, FFNAME:SDK STYLE:COARSE VERSION:1.0 on Oct 2014 +# "emcprm2lt.py" was written by David Stelter. + SDK { + write_once("Data Masses") { @atom:CM 42.080400 # CM @atom:CMD2 26.037800 # CMD2 @@ -420,4 +430,6 @@ SDK { pair_style hybrid lj/sdk/coul/long 9.000000 12.000000 special_bonds lj/coul 0.0 0.0 0.0 } # end init + } # SDK + diff --git a/tools/moltemplate/moltemplate/force_fields/sdk/README.txt b/tools/moltemplate/moltemplate/force_fields/sdk/README.txt deleted file mode 100644 index 6ca9e8f98f..0000000000 --- a/tools/moltemplate/moltemplate/force_fields/sdk/README.txt +++ /dev/null @@ -1,63 +0,0 @@ -README! - -v0.2 - -This is only part of the SDK force field and is to be used for lipids only. Only parameters from: - -Shinoda et al. J. Phys. Chem. B, Vol. 114, No. 20, 2010 -http://dx.doi.org/10.1021/jp9107206 - -are used. - -NOTE: We extracted the parameters from that publication from the files -distributed with the "EMC" tool. If you use these files, please also cite: -P. J. in ‘t Veld and G. C. Rutledge, Macromolecules 2003, 36, 7358. - - -This works for any topology built using the following types: - -Name Structure Charge -NC -CH2CH2-N-(CH3)3 +1 -NH -CH2CH2-NH3 +1 -PH -PO4- -1 -PHE -PO4- (PE lipid) -1 -GL -CH2CH-CH2- -EST1 -CH2CO2- -EST2 -H2CO2- -CMD2 -HC=CH- (cis) -CM -CH2CH2CH2- -CT CH3CH2CH2- -CT2 CH3CH2- -W (H2O)3 - -This coarse-grainng allows for design of a wide variety of lipids. - -NEW! in v0.2: - SDK Cholesterol model has been added! Using parameters from: - -MacDermaid et al. J. Chem. Phys, 143(24), 243144, 2015 -http://dx.doi.org/10.1063/1.4937153 - -are used. The following types are defined specifically for cholesterol: - -Name Structure Location -C2T -CH-(CH3)2 Tail -CM2 -CH2-CH2- Tail -CM2R -CH2-CH2- Ring A -CMDB -CH2-C=CH- Ring A/B -CMB -CH2-CH-CH- Ring B/C -CMR -CH-CH2-CH2- Ring B/C -CMR5 -CH2-CH2-CH- Ring D -CTB -CH2-CH-CH3- Tail -CTBA -C-CH3 Ring A/B -CTBB -C-CH3 Ring C/D -OAB -CH-OH Ring A - -See the provided reference for details on the CG cholesterol topology. -A 5-10 timestep is used when using cholesterol. - -Several limiations, due to missing parameters: --use of cholesterol with type "NH" is not possible. --use of cholesterol with type "PHE" is not possible. - ---- diff --git a/tools/moltemplate/moltemplate/force_fields/sdk_original_format/README.txt b/tools/moltemplate/moltemplate/force_fields/sdk_original_format/README.txt new file mode 100644 index 0000000000..eb2eed836d --- /dev/null +++ b/tools/moltemplate/moltemplate/force_fields/sdk_original_format/README.txt @@ -0,0 +1,84 @@ +The files in this directory are used to create the "sdk.lt" file +(containing SDK force field parameters for moltemplate). +These .PRM files are distributed with "EMC" written by Pieter J. in 't Veld. + +Conversion from EMC (.PRM) format to moltemplate (.LT) format was +done using the "emcprm2lt.py" script written by David Stelter. +Here is an example how to use the emcprm2lt.py script: + +emcprm2lt.py --pair-style=lj/sdk/coul/long --bond-style=harmonic --angle-style=sdk sdk_lipids.prm sdk_cholesterol.prm --name=SDK_lipid+chol --units + +This will generate a file named "sdk.lt" which (in this example) +only includes the force field parameters for lipids and cholestrol. +Later you can define new molecules in moltemplate using: + +import "sdk.lt" +NewMolecule inherits SDK { + write("Data Atoms") {...atom coordinates and types go here...} + write("Data Bond List") {...list of bonds goes here...} +} + +This is only part of the SDK force field and is to be used for lipids +and cholesterol only. Lipid parameters were taken from: + +Shinoda et al. J. Phys. Chem. B, Vol. 114, No. 20, 2010 +http://dx.doi.org/10.1021/jp9107206 + +Cholesterol parameters were taken from: +MacDermaid et al. J. Chem. Phys, 143(24), 243144, 2015 +http://dx.doi.org/10.1063/1.4937153 + +You can define lipids with any topology built using the following types: + +Name Structure Charge +NC -CH2CH2-N-(CH3)3 +1 +NH -CH2CH2-NH3 +1 +PH -PO4- -1 +PHE -PO4- (PE lipid) -1 +GL -CH2CH-CH2- +EST1 -CH2CO2- +EST2 -H2CO2- +CMD2 -HC=CH- (cis) +CM -CH2CH2CH2- +CT CH3CH2CH2- +CT2 CH3CH2- +W (H2O)3 + +This coarse-grainng allows for design of a wide variety of lipids. + +The following types are defined specifically for cholesterol: + +Name Structure Location +C2T -CH-(CH3)2 Tail +CM2 -CH2-CH2- Tail +CM2R -CH2-CH2- Ring A +CMDB -CH2-C=CH- Ring A/B +CMB -CH2-CH-CH- Ring B/C +CMR -CH-CH2-CH2- Ring B/C +CMR5 -CH2-CH2-CH- Ring D +CTB -CH2-CH-CH3- Tail +CTBA -C-CH3 Ring A/B +CTBB -C-CH3 Ring C/D +OAB -CH-OH Ring A + +See the provided reference for details on the CG cholesterol topology. +A 5.0-10.0 timestep is used when using cholesterol. + +Several limiations, due to missing parameters: +-use of cholesterol with type "NH" is not possible. +-use of cholesterol with type "PHE" is not possible. + +---- Credits: ---- + +emcprm2lt.py was written by David Stelter +EMC was written by Pieter J. in 't Veld +SDK was created by Shinoda, DeVane, Klein, J.Phys.Chem.B, Vol. 114, No. 20, 2010 + +---- additional citation request ---- + +Since we borrowed force field parameters from files distributed with EMC, +if you use files generated by "emcprm2lt.py", please also cite the EMC paper: +P. J. in ‘t Veld and G. C. Rutledge, Macromolecules 2003, 36, 7358 + + + diff --git a/tools/moltemplate/moltemplate/force_fields/sdk/SDK_lipidONLY.lt b/tools/moltemplate/moltemplate/force_fields/sdk_original_format/SDK_lipidONLY.lt similarity index 100% rename from tools/moltemplate/moltemplate/force_fields/sdk/SDK_lipidONLY.lt rename to tools/moltemplate/moltemplate/force_fields/sdk_original_format/SDK_lipidONLY.lt diff --git a/tools/moltemplate/moltemplate/force_fields/sdk/sdk_cholesterol.prm b/tools/moltemplate/moltemplate/force_fields/sdk_original_format/sdk_cholesterol.prm similarity index 100% rename from tools/moltemplate/moltemplate/force_fields/sdk/sdk_cholesterol.prm rename to tools/moltemplate/moltemplate/force_fields/sdk_original_format/sdk_cholesterol.prm diff --git a/tools/moltemplate/moltemplate/force_fields/sdk/sdk_lipids.prm b/tools/moltemplate/moltemplate/force_fields/sdk_original_format/sdk_lipids.prm similarity index 100% rename from tools/moltemplate/moltemplate/force_fields/sdk/sdk_lipids.prm rename to tools/moltemplate/moltemplate/force_fields/sdk_original_format/sdk_lipids.prm diff --git a/tools/moltemplate/moltemplate/genpoly_lt.py b/tools/moltemplate/moltemplate/genpoly_lt.py index 2c4014e5db..9d8ec84608 100755 --- a/tools/moltemplate/moltemplate/genpoly_lt.py +++ b/tools/moltemplate/moltemplate/genpoly_lt.py @@ -256,7 +256,7 @@ class GPSettings(object): if i + 1 >= len(argv): raise InputError('Error: ' + argv[i] + ' flag should be followed ' + 'by 3 numbers separated by commas (no spaces)\n') - self.direction_orig = map(float, argv[i + 1].split(',')) + self.direction_orig = list(map(float, argv[i + 1].split(','))) del(argv[i:i + 2]) elif argv[i].lower() == '-circular': if i + 1 >= len(argv): @@ -294,7 +294,7 @@ class GPSettings(object): if i + 1 >= len(argv): raise InputError('Error: ' + argv[i] + ' flag should be followed ' + 'by 3 numbers separated by commas (no spaces)\n') - self.box_padding = map(float, argv[i + 1].split(',')) + self.box_padding = list(map(float, argv[i + 1].split(','))) if len(self.box_padding) == 1: self.box_padding = self.box_padding * 3 del(argv[i:i + 2]) @@ -340,7 +340,7 @@ class WrapPeriodic(object): @classmethod def Wrap(obj, i, N): - if i / N != 0: + if i // N != 0: obj.bounds_err = True return i % N @@ -384,7 +384,7 @@ class GenPoly(object): for i in range(0, len(lines)): tokens = lines[i].strip().split() if (len(tokens) == 3): - coords.append(map(float, tokens)) + coords.append(list(map(float, tokens))) self.N = len(coords) if self.N < 2: diff --git a/tools/moltemplate/moltemplate/ltemplify.py b/tools/moltemplate/moltemplate/ltemplify.py index 753d9b3ad0..2fa20b0d05 100755 --- a/tools/moltemplate/moltemplate/ltemplify.py +++ b/tools/moltemplate/moltemplate/ltemplify.py @@ -2,7 +2,6 @@ # -*- coding: utf-8 -*- # Author: Andrew Jewett (jewett.aij at g mail) -# http://www.chem.ucsb.edu/~sheagroup # License: 3-clause BSD License (See LICENSE.TXT) # Copyright (c) 2012, Regents of the University of California # All rights reserved. @@ -31,14 +30,14 @@ import sys try: from .ttree_lex import * from .lttree_styles import * -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from ttree_lex import * from lttree_styles import * g_program_name = __file__.split('/')[-1] # = 'ltemplify.py' -g_version_str = '0.53.1' -g_date_str = '2017-6-08' +g_version_str = '0.54.0' +g_date_str = '2017-10-03' def Intify(s): if s.isdigit(): @@ -1279,7 +1278,7 @@ def main(): atomtype_i_str = tokens[0] if '*' in atomtype_i_str: raise InputError('PROBLEM near or before ' + ErrorLeader(infile, lineno) + '\n' - ' As of 2015-8, moltemplate forbids use of the "\*\" wildcard\n' + ' As of 2017-10, moltemplate forbids use of the "\*\" wildcard\n' ' character in the \"Pair Coeffs\" section.\n') else: i = int(atomtype_i_str) @@ -1308,7 +1307,7 @@ def main(): atomtype_j_str = tokens[1] if (('*' in atomtype_i_str) or ('*' in atomtype_j_str)): raise InputError('PROBLEM near or before ' + ErrorLeader(infile, lineno) + '\n' - ' As of 2015-8, moltemplate forbids use of the "\*\" wildcard\n' + ' As of 2017-10, moltemplate forbids use of the "\*\" wildcard\n' ' character in the \"PairIJ Coeffs\" section.\n') else: i = int(atomtype_i_str) @@ -1828,8 +1827,11 @@ def main(): else: i_a = i_b = Intify(atomtype_i_str) + assert((type(i_a) is int) and (type(i_b) is int)) + i_a_final = None i_b_final = None + for i in range(i_a, i_b + 1): if ((i in needed_atomtypes) or (min_sel_atomtype <= i)): i_a_final = i @@ -2615,7 +2617,7 @@ def main(): # ' --groups-- Attempting to parse \"group\" commands.\n' # ' This may cause '+g_program_name+' to crash.\n' # ' If so, comment out all group commands in your input script(s), and\n' - # ' try again. (And please report the error. -Andrew 2014-10-30)\n') + # ' try again. (And please report the error. -Andrew 2017-10)\n') i_line = 0 groups_needed = set(['all']) @@ -2885,9 +2887,9 @@ def main(): for i in range(atomids_lo, atomids_hi+1): if i in needed_atomids: l_new_set_commands.append((' ' * indent) + - tokens[0:2].join(' ')+' '+ + ' '.join(tokens[0:2])+' '+ str(i) + ' ' + - tokens[3:].join(' ')) + ' '.join(tokens[3:])) elif tokens[1] == 'mol': pattern = tokens[2].split('*') if pattern[0] == '': @@ -2903,9 +2905,9 @@ def main(): molids_hi = min(int(pattern[1]), max_needed_molid) for i in range(molids_lo, molids_hi+1): if i in needed_molids: - l_new_set_commands.append(tokens[0:2].join(' ')+' '+ + l_new_set_commands.append(' '.join(tokens[0:2])+' '+ str(i) + ' ' + - tokens[3:].join(' ')) + ' '.join(tokens[3:])) elif tokens[0] == 'group': group_name = tokens[2] if group_name in groups_needed: @@ -3480,7 +3482,7 @@ def main(): # sys.stderr.write('######################################################\n' # 'WARNING: One or more \"group\" commands appear to refer to relevant atoms.\n' # ' Please check to make sure that the group(s) generated by\n' - # ' '+g_program_name+' contain the correct atoms. (-Andrew 2014-10-30)\n' + # ' '+g_program_name+' contain the correct atoms. (-Andrew 2017-10)\n' # '######################################################\n') assert(non_empty_output) @@ -3575,7 +3577,7 @@ def main(): ' Please look over the resulting LT file and check for errors.\n' ' Convert any remaining atom, bond, angle, dihedral, or improper id\n' ' or type numbers to the corresponding $ or @-style counter variables.\n' - ' Feel free to report any bugs you find. (-Andrew Jewett 2015-8-02)\n') + ' Feel free to report any bugs you find. (-Andrew Jewett 2017-10)\n') except (ValueError, InputError) as err: diff --git a/tools/moltemplate/moltemplate/lttree.py b/tools/moltemplate/moltemplate/lttree.py index 168a60ecc3..9d5ee07ac2 100755 --- a/tools/moltemplate/moltemplate/lttree.py +++ b/tools/moltemplate/moltemplate/lttree.py @@ -1,6 +1,7 @@ #!/usr/bin/env python # Author: Andrew Jewett (jewett.aij at g mail) +# http://www.moltemplate.org # http://www.chem.ucsb.edu/~sheagroup # License: 3-clause BSD License (See LICENSE.TXT) # Copyright (c) 2011, Regents of the University of California @@ -28,8 +29,8 @@ Additional LAMMPS-specific features may be added in the future. """ g_program_name = __file__.split('/')[-1] # ='lttree.py' -g_date_str = '2017-4-11' -g_version_str = '0.76.0' +g_date_str = '2018-3-15' +g_version_str = '0.77.0' import sys @@ -45,10 +46,22 @@ try: from .ttree_lex import InputError, TextBlock, DeleteLinesWithBadVars, \ TemplateLexer from .lttree_styles import AtomStyle2ColNames, ColNames2AidAtypeMolid, \ - ColNames2Coords, ColNames2Vects, data_atoms, data_masses + ColNames2Coords, ColNames2Vects, \ + data_atoms, data_prefix, data_masses, \ + data_velocities, data_ellipsoids, data_triangles, data_lines, \ + data_pair_coeffs, data_bond_coeffs, data_angle_coeffs, \ + data_dihedral_coeffs, data_improper_coeffs, data_bondbond_coeffs, \ + data_bondangle_coeffs, data_middlebondtorsion_coeffs, \ + data_endbondtorsion_coeffs, data_angletorsion_coeffs, \ + data_angleangletorsion_coeffs, data_bondbond13_coeffs, \ + data_angleangle_coeffs, data_bonds_by_type, data_angles_by_type, \ + data_dihedrals_by_type, data_impropers_by_type, \ + data_bonds, data_bond_list, data_angles, data_dihedrals, data_impropers, \ + data_boundary, data_pbc, data_prefix_no_space, in_init, in_settings, \ + in_prefix from .ttree_matrix_stack import AffineTransform, MultiAffineStack, \ LinTransform -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from ttree import * from ttree_lex import * @@ -332,6 +345,60 @@ def TransformAtomText(text, matrix, settings): return '\n'.join(lines) + +def TransformEllipsoidText(text, matrix, settings): + """ Apply the transformation matrix to the quaternions represented + by the last four numbers on each line. + The \"matrix\" stores the aggregate sum of combined transformations + to be applied and the rotational part of this matrix + must be converted to a quaternion. + + """ + + #sys.stderr.write('matrix_stack.M = \n'+ MatToStr(matrix) + '\n') + + lines = text.split('\n') + + for i in range(0, len(lines)): + line_orig = lines[i] + ic = line_orig.find('#') + if ic != -1: + line = line_orig[:ic] + comment = ' ' + line_orig[ic:].rstrip('\n') + else: + line = line_orig.rstrip('\n') + comment = '' + + columns = line.split() + + if len(columns) != 0: + if len(columns) != 8: + raise InputError('Error (lttree.py): Expected 7 numbers' + + ' instead of ' + + str(len(columns)) + + '\nline:\n' + + line + + ' in each line of the ellipsoids\" section.\n"') + q_orig = [float(columns[-4]), + float(columns[-3]), + float(columns[-2]), + float(columns[-1])] + + qRot = [0.0, 0.0, 0.0, 0.0] + Matrix2Quaternion(matrix, qRot) + + q_new = [0.0, 0.0, 0.0, 0.0] + MultQuat(q_new, qRot, q_orig) + + columns[-4] = str(q_new[0]) + columns[-3] = str(q_new[1]) + columns[-2] = str(q_new[2]) + columns[-1] = str(q_new[3]) + lines[i] = ' '.join(columns) + comment + return '\n'.join(lines) + + + def CalcCM(text_Atoms, text_Masses=None, settings=None): @@ -487,8 +554,8 @@ def _ExecCommands(command_list, transform_block += '.' + transform transform = transform.split('(')[0] if ((transform == 'movecm') or - (transform == 'rotcm') or - (transform == 'scalecm')): + (transform == 'rotcm') or + (transform == 'scalecm')): break transform_blocks.append(transform_block) @@ -553,6 +620,8 @@ def _ExecCommands(command_list, # before passing them on to the caller. if command.filename == data_atoms: text = TransformAtomText(text, matrix_stack.M, settings) + if command.filename == data_ellipsoids: + text = TransformEllipsoidText(text, matrix_stack.M, settings) files_content[command.filename].append(text) @@ -599,6 +668,9 @@ def _ExecCommands(command_list, files_content[data_atoms] = \ TransformAtomText(files_content[data_atoms], matrix_stack.M, settings) + files_content[data_ellipsoids] = \ + TransformEllipsoidText(files_content[data_ellipsoids], + matrix_stack.M, settings) for ppcommand in postprocessing_commands: matrix_stack.Pop(which_stack=command.context_node) diff --git a/tools/moltemplate/moltemplate/lttree_check.py b/tools/moltemplate/moltemplate/lttree_check.py index 10daa89be2..5fb5b6f6ce 100755 --- a/tools/moltemplate/moltemplate/lttree_check.py +++ b/tools/moltemplate/moltemplate/lttree_check.py @@ -1,6 +1,7 @@ #!/usr/bin/env python # Author: Andrew Jewett (jewett.aij at g mail) +# http://www.moltemplate.org # http://www.chem.ucsb.edu/~sheagroup # License: 3-clause BSD License (See LICENSE.TXT) # Copyright (c) 2011, Regents of the University of California @@ -45,7 +46,7 @@ the files generated by lttree.py or moltemplate.sh. import sys try: - from .ttree_lex import RemoveOuterQuotes, HasWildCard, InputError, \ + from .ttree_lex import RemoveOuterQuotes, HasWildcard, InputError, \ ErrorLeader, TextBlock, VarRef, TemplateLexer, \ ExtractCatName, TableFromTemplate from .ttree import BasicUISettings, BasicUIParseArgs, EraseTemplateFiles, \ @@ -68,7 +69,7 @@ try: from .lttree import LttreeSettings, LttreeParseArgs from .ttree_matrix_stack import AffineTransform, MultiAffineStack, \ LinTransform -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from ttree_lex import * from ttree import * @@ -80,7 +81,7 @@ except (SystemError, ValueError): try: from .ttree import StaticObj, WriteFileCommand, DescrToCatLeafPtkns, \ AssignStaticVarPtrs, FindReplacementVarPairs, ReplaceVars -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from ttree import * from lttree import * @@ -93,8 +94,8 @@ if sys.version < '2.6': g_program_name = __file__.split('/')[-1] # = 'lttree_check.py' -g_version_str = '0.78.0' -g_date_str = '2017-4-11' +g_version_str = '0.80.1' +g_date_str = '2017-10-01' # g_no_check_msg = \ @@ -904,6 +905,7 @@ def CheckSyntaxCheap(lex): def CheckSyntaxStatic(context_node, root_node, atom_column_names, + allow_wildcards, data_pair_coeffs_defined, data_bond_coeffs_defined, data_angle_coeffs_defined, @@ -936,6 +938,7 @@ def CheckSyntaxStatic(context_node, elif (filename.find(in_prefix) == 0): # if filename begins with "In " CheckInFileSyntax(command.tmpl_list, root_node, + allow_wildcards, in_pair_coeffs_defined, in_bond_coeffs_defined, in_angle_coeffs_defined, @@ -1337,15 +1340,18 @@ def CheckSyntaxStatic(context_node, elif (isinstance(entry, VarRef) and ('*' in entry.descr_str)): compound_wildcard = True - if compound_wildcard: + if compound_wildcard and (not allow_wildcards): raise InputError('--- Paranoid checking: ---\n' ' Possible error near ' + ErrorLeader(entry.srcloc.infile, entry.srcloc.lineno) + '\n' 'The wildcard symbol, \"*\", is not recommended within \"' + filename + '\".\n' 'It is safer to specify the parameters for each type explicitly.\n' - 'You CAN use \"*\" wildcards, but you must disable syntax checking. To get\n' - 'past this error message, run moltemplate.sh using the \"-nocheck\" option.\n') + 'To get past this error message, run moltemplate.sh with the \"-allow-wildcards\"\n' + 'argument. If not all of the @atom,@bond,@angle,@dihedral,@improper types are\n' + 'included in the a*b range of values, then MAKE SURE that these types are\n' + 'assigned to connsecutively increasing integer values by first defining them in\n' + 'that order, or if that fails, by using the \"-a\" to assign the values manually\n') if filename == 'Data Bond Coeffs': # Commenting the next line out. We did this already: @@ -1641,6 +1647,7 @@ def CheckSyntaxStatic(context_node, CheckSyntaxStatic(child, root_node, atom_column_names, + allow_wildcards, data_pair_coeffs_defined, data_bond_coeffs_defined, data_angle_coeffs_defined, @@ -1656,6 +1663,7 @@ def CheckSyntaxStatic(context_node, def CheckInFileSyntax(tmpl_list, root_node, + allow_wildcards, pair_coeffs_defined, bond_coeffs_defined, angle_coeffs_defined, @@ -1700,7 +1708,7 @@ def CheckInFileSyntax(tmpl_list, elif (isinstance(entry, VarRef) and ('*' in entry.descr_str)): compound_wildcard = True - if compound_wildcard: + if compound_wildcard and (not allow_wildcards): raise InputError('---- Paranoid checking: ---\n' ' Possible error near ' + ErrorLeader(entry.srcloc.infile, @@ -1708,8 +1716,11 @@ def CheckInFileSyntax(tmpl_list, 'The wildcard symbol, \"*\", is not recommended within a \"' + table[i][0].text + '\".\n' 'command. It is safer to specify the parameters for each bond type explicitly.\n' - 'You CAN use \"*\" wildcards, but you must disable syntax checking. To get\n' - 'past this error message, run moltemplate.sh using the \"-nocheck\" option.\n') + 'To get past this error message, run moltemplate.sh with the \"-allow-wildcards\"\n' + 'argument. If not all of the @bond,@angle,@dihedral,@improper types are included\n' + 'in the range, then MAKE SURE these @bond,@angle,@dihedral,@improper types are\n' + 'assigned to connsecutively increasing integer values by first defining them in\n' + 'that order, or if that fails, by using the \"-a\" to assign the values manually\n') if ((isinstance(table[i][0], TextBlock)) and ((table[i][0].text.lower() == 'bondcoeff') or @@ -1857,9 +1868,9 @@ def CheckInFileSyntax(tmpl_list, if len(table[i]) > 2: # if not, deal with error later if ((isinstance(table[i][1], TextBlock) and - (table[i][1].text == '*')) and - (isinstance(table[i][1], TextBlock) and - (table[i][1].text == '*'))): + (table[i][1].text == '*')) and #'* *' <--BUG? + (isinstance(table[i][1], TextBlock) and # <--BUG? + (table[i][1].text == '*'))): # <--BUG? pair_coeffs_defined.add(('*', '*')) else: compound_wildcard = False @@ -1889,21 +1900,24 @@ def CheckInFileSyntax(tmpl_list, ('*' in entry.descr_str)): compound_wildcard = True - if compound_wildcard: + if compound_wildcard and (not allow_wildcards): raise InputError('---- Paranoid checking: ---\n' ' Possible error near ' + ErrorLeader(entry.srcloc.infile, entry.srcloc.lineno) + '\n' 'The wildcard symbol, \"*\", is not recommended within a \"pair_coeff\" command.\n' 'It is safer to specify the parameters for each bond type explicitly.\n' - 'You CAN use \"*\" wildcards, but you must disable syntax checking. To get\n' - 'past this error message, run moltemplate.sh using the \"-nocheck\" option.\n') + 'To get past this error message, run moltemplate.sh with the \"-allow-wildcards\"\n' + 'argument. If not all of the @atom types are included in the range, then\n' + 'MAKE SURE the relevant @atom types in the * range are assigned to\n' + 'connsecutively increasing integer values by first defining them in that\n' + 'order, or if that fails, by using the \"-a\" to assign the values manually.\n') if ((len(table[i]) > 2) and - (isinstance(table[i][1], TextBlock) and - (table[i][1].text == '*')) and - (isinstance(table[i][2], TextBlock) and - (table[i][2].text == '*'))): + ((isinstance(table[i][1], TextBlock) and + (table[i][1].text == '*')) or + (isinstance(table[i][2], TextBlock) and + (table[i][2].text == '*')))): pass # we dealt with this case earlier elif (not ((len(table[i]) > 2) and @@ -1941,7 +1955,21 @@ def LttreeCheckParseArgs(argv, settings, main=False, show_warnings=True): if len(argv) == 1: raise InputError('Error: This program requires at least one argument\n' ' the name of a file containing ttree template commands\n') - elif len(argv) == 2: + settings.allow_wildcards = True + i = 1 + while i < len(argv): + if argv[i].lower() in ('-allow-wildcards', '-allowwildcards'): + settings.allow_wildcards = True + del argv[i:i+1] + elif argv[i].lower() in ('-forbid-wildcards', '-forbidwildcards'): + settings.allow_wildcards = False + del argv[i:i+1] + else: + i += 1 + #(perhaps later I'll add some additional argumets) + + # The only argument left should be the system.lt file we want to read: + if len(argv) == 2: try: # Parse text from the file named argv[1] settings.lex.infile = argv[1] @@ -1951,8 +1979,6 @@ def LttreeCheckParseArgs(argv, settings, main=False, show_warnings=True): ' \"' + argv[1] + '\"\n' ' for reading.\n') sys.exit(1) - del(argv[1:2]) - else: # if there are more than 2 remaining arguments, problem_args = ['\"' + arg + '\"' for arg in argv[1:]] @@ -2045,6 +2071,7 @@ def main(): CheckSyntaxStatic(static_tree_root, static_tree_root, settings.column_names, + settings.allow_wildcards, data_pair_coeffs_defined, data_bond_coeffs_defined, data_angle_coeffs_defined, @@ -2060,6 +2087,7 @@ def main(): CheckSyntaxStatic(static_tree_root, static_tree_root, settings.column_names, + settings.allow_wildcards, data_pair_coeffs_defined, data_bond_coeffs_defined, data_angle_coeffs_defined, @@ -2089,12 +2117,20 @@ def main(): else: bond_coeffs_defined = in_bond_coeffs_defined + bond_types_have_wildcards = False bond_bindings = static_tree_root.categories['bond'].bindings for nd, bond_binding in bond_bindings.items(): if not nd.IsDeleted(): + has_wildcard = HasWildcard(bond_binding.full_name) + if has_wildcard: + bond_types_have_wildcards = True + for nd, bond_binding in bond_bindings.items(): + if not nd.IsDeleted(): + #has_wildcard = HasWildcard(bond_binding.full_name) if ((not (bond_binding in bond_coeffs_defined)) and - (not HasWildCard(bond_binding.full_name)) and - (not ('*' in bond_coeffs_defined))): + #(not has_wildcard) and + (not bond_types_have_wildcards) and + (not ('*' in bond_coeffs_defined))): raise InputError('---------------------------------------------------------------------\n' + ' Syntax error: Missing bond coeff.\n\n' + ' No coeffs for the \"' + bond_binding.full_name + '\" bond type have been\n' + @@ -2108,7 +2144,7 @@ def main(): if 'angle' in static_tree_root.categories: if ((len(data_angle_coeffs_defined) > 0) and - (len(in_angle_coeffs_defined) > 0)): + (len(in_angle_coeffs_defined) > 0)): raise InputError('---------------------------------------------------------------------\n' + ' Syntax error: You can EITHER use \"angle_coeff\" commands\n' + ' OR you can have a \"Data Angle Coeffs\" section.\n' + @@ -2122,12 +2158,20 @@ def main(): else: angle_coeffs_defined = in_angle_coeffs_defined + angle_types_have_wildcards = False angle_bindings = static_tree_root.categories['angle'].bindings for nd, angle_binding in angle_bindings.items(): if not nd.IsDeleted(): + has_wildcard = HasWildcard(angle_binding.full_name) + if has_wildcard: + angle_types_have_wildcards = True + for nd, angle_binding in angle_bindings.items(): + if not nd.IsDeleted(): + #has_wildcard = HasWildcard(angle_binding.full_name) if ((not (angle_binding in angle_coeffs_defined)) and - #(not HasWildCard(angle_binding.full_name)) and - (not ('*' in angle_coeffs_defined))): + #(not has_wildcard)) and + (not angle_types_have_wildcards) and + (not ('*' in angle_coeffs_defined))): raise InputError('---------------------------------------------------------------------\n' + ' Syntax error: Missing angle coeff.\n\n' + ' No coeffs for the \"' + angle_binding.full_name + '\" angle type have been\n' + @@ -2142,7 +2186,7 @@ def main(): #sys.stderr.write('dihedral_bindings = '+str(dihedral_bindings)+'\n') if ((len(data_dihedral_coeffs_defined) > 0) and - (len(in_dihedral_coeffs_defined) > 0)): + (len(in_dihedral_coeffs_defined) > 0)): raise InputError('---------------------------------------------------------------------\n' + ' Syntax error: You can EITHER use \"dihedral_coeff\" commands\n' + ' OR you can have a \"Data Dihedral Coeffs\" section.\n' + @@ -2156,13 +2200,21 @@ def main(): else: dihedral_coeffs_defined = in_dihedral_coeffs_defined + dihedral_types_have_wildcards = False dihedral_bindings = static_tree_root.categories[ 'dihedral'].bindings for nd, dihedral_binding in dihedral_bindings.items(): if not nd.IsDeleted(): + has_wildcard = HasWildcard(dihedral_binding.full_name) + if has_wildcard: + dihedral_types_have_wildcards = True + for nd, dihedral_binding in dihedral_bindings.items(): + if not nd.IsDeleted(): + #has_wildcard = HasWildcard(dihedral_binding.full_name) if ((not (dihedral_binding in dihedral_coeffs_defined)) and - #(not HasWildCard(dihedral_binding.full_name)) and - (not ('*' in dihedral_coeffs_defined))): + #(not has_wildcard) and + (not dihedral_types_have_wildcards) and + (not ('*' in dihedral_coeffs_defined))): raise InputError('---------------------------------------------------------------------\n' + ' Syntax error: Missing dihedral coeff.\n\n' + ' No coeffs for the \"' + dihedral_binding.full_name + '\" dihedral type have been\n' + @@ -2190,13 +2242,21 @@ def main(): else: improper_coeffs_defined = in_improper_coeffs_defined + improper_types_have_wildcards = False improper_bindings = static_tree_root.categories[ 'improper'].bindings for nd, improper_binding in improper_bindings.items(): if not nd.IsDeleted(): + has_wildcard = HasWildcard(improper_binding.full_name) + if has_wildcard: + improper_types_have_wildcards = True + for nd, improper_binding in improper_bindings.items(): + if not nd.IsDeleted(): + #has_wildcard = HasWildcard(improper_binding.full_name) if ((not (improper_binding in improper_coeffs_defined)) and - #(not HasWildCard(improper_binding.full_name)) and - (not ('*' in improper_coeffs_defined))): + #(not has_wildcard) and + (not improper_types_have_wildcards) and + (not ('*' in improper_coeffs_defined))): raise InputError('---------------------------------------------------------------------\n' + ' Syntax error: Missing improper coeff.\n\n' + ' No coeffs for the \"' + improper_binding.full_name + '\" improper type have been\n' + @@ -2210,7 +2270,7 @@ def main(): if 'atom' in static_tree_root.categories: if ((len(data_pair_coeffs_defined) > 0) and - (len(in_pair_coeffs_defined) > 0)): + (len(in_pair_coeffs_defined) > 0)): raise InputError('---------------------------------------------------------------------\n' + ' Syntax error: You can EITHER use \"pair_coeff\" commands\n' + ' OR you can have a \"Data Pair Coeffs\" section.\n' + @@ -2225,13 +2285,21 @@ def main(): else: pair_coeffs_defined = in_pair_coeffs_defined + atom_types_have_wildcards = False atom_bindings = static_tree_root.categories['atom'].bindings for nd, atom_binding in atom_bindings.items(): if not nd.IsDeleted(): + has_wildcard = HasWildcard(atom_binding.full_name) + if has_wildcard: + atom_types_have_wildcards = True + for nd, atom_binding in atom_bindings.items(): + if not nd.IsDeleted(): + #has_wildcard = HasWildcard(atom_binding.full_name) if ((not ((atom_binding, atom_binding) in pair_coeffs_defined)) and - (not HasWildCard(atom_binding.full_name)) and + #(not has_wildcard) and + (not atom_types_have_wildcards) and (not (('*', '*') in pair_coeffs_defined)) and (not (atom_binding.nptr.cat_name, atom_binding.nptr.cat_node, diff --git a/tools/moltemplate/moltemplate/lttree_postprocess.py b/tools/moltemplate/moltemplate/lttree_postprocess.py index 1bb985361f..41eb8ed858 100755 --- a/tools/moltemplate/moltemplate/lttree_postprocess.py +++ b/tools/moltemplate/moltemplate/lttree_postprocess.py @@ -16,14 +16,14 @@ import sys try: from .lttree_styles import * from .ttree_lex import ExtractCatName -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from lttree_styles import * from ttree_lex import ExtractCatName g_program_name = __file__.split('/')[-1] # = 'lttree_postprocess.py' -g_version_str = '0.5.0' -g_date_str = '2016-12-21' +g_version_str = '0.5.1' +g_date_str = '2017-8-23' def main(): atom_style = 'full' diff --git a/tools/moltemplate/moltemplate/lttree_styles.py b/tools/moltemplate/moltemplate/lttree_styles.py index adeb1de749..5691aaddf6 100644 --- a/tools/moltemplate/moltemplate/lttree_styles.py +++ b/tools/moltemplate/moltemplate/lttree_styles.py @@ -2,6 +2,7 @@ # -*- coding: utf-8 -*- # Author: Andrew Jewett (jewett.aij at g mail) +# http://www.moltemplate.org # http://www.chem.ucsb.edu/~sheagroup # License: 3-clause BSD License (See LICENSE.TXT) # Copyright (c) 2012, Regents of the University of California @@ -9,7 +10,7 @@ try: from .ttree_lex import InputError -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from ttree_lex import InputError diff --git a/tools/moltemplate/moltemplate/nbody_Angles.py b/tools/moltemplate/moltemplate/nbody_Angles.py index e6b2fbff1f..9cc5456b01 100644 --- a/tools/moltemplate/moltemplate/nbody_Angles.py +++ b/tools/moltemplate/moltemplate/nbody_Angles.py @@ -1,6 +1,6 @@ try: from .nbody_graph_search import Ugraph -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from nbody_graph_search import Ugraph diff --git a/tools/moltemplate/moltemplate/nbody_Bonds.py b/tools/moltemplate/moltemplate/nbody_Bonds.py index c11c3e60e2..64c82700b7 100644 --- a/tools/moltemplate/moltemplate/nbody_Bonds.py +++ b/tools/moltemplate/moltemplate/nbody_Bonds.py @@ -1,6 +1,6 @@ try: from .nbody_graph_search import Ugraph -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from nbody_graph_search import Ugraph diff --git a/tools/moltemplate/moltemplate/nbody_Dihedrals.py b/tools/moltemplate/moltemplate/nbody_Dihedrals.py index 9197db9143..86fbdd3414 100644 --- a/tools/moltemplate/moltemplate/nbody_Dihedrals.py +++ b/tools/moltemplate/moltemplate/nbody_Dihedrals.py @@ -1,6 +1,6 @@ try: from .nbody_graph_search import Ugraph -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from nbody_graph_search import Ugraph diff --git a/tools/moltemplate/moltemplate/nbody_Impropers.py b/tools/moltemplate/moltemplate/nbody_Impropers.py index 6b48d9aa19..bbb88bd37f 100644 --- a/tools/moltemplate/moltemplate/nbody_Impropers.py +++ b/tools/moltemplate/moltemplate/nbody_Impropers.py @@ -1,6 +1,6 @@ try: from .nbody_graph_search import Ugraph -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from nbody_graph_search import Ugraph diff --git a/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenIflipJK.py b/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenIflipJK.py new file mode 100644 index 0000000000..d4b7d22b2e --- /dev/null +++ b/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenIflipJK.py @@ -0,0 +1,61 @@ +try: + from ..nbody_graph_search import Ugraph +except: + # not installed as a module + from nbody_graph_search import Ugraph + +# To find 4-body "improper" interactions, +# (by default, most of the time), we would use this subgraph: +# 3 +# * 1st bond connects atoms 0 and 1 +# | => 2nd bond connects atoms 0 and 2 +# _.*._ 3rd bond connects atoms 0 and 3 +# *' 0 `* +# 1 2 +# + +bond_pattern = Ugraph([(0,1), (0,2), (0,3)]) +# (Ugraph atom indices begin at 0, not 1) + + +def canonical_order(match): + """ + When searching for atoms with matching bond patterns GraphMatcher + often returns redundant results. We must define a "canonical_order" + function which sorts the atoms and bonds in a way which is consistent + with the type of N-body interaction being considered. + The atoms (and bonds) in a candidate match are rearranged by the + canonical_order(). Then the re-ordered list of atom and bond ids is + tested against the list of atom/bond ids in the matches-found-so-far, + before it is added to the list of interactions found so far. + (For example, it does not make sense to define a separate 4-body improper- + angle interaction between atoms 0, 1, 2, 3 AND 0, 2, 1, 3. + The "improper angle" is often defined as the angle between planes formed + by atoms 0,1,2 & 1,2,3. Alternately, it may instead be defined as the + angle between the 0,1,2 plane and atom 3. Either way, this angle does + not change when swapping the middle pair of atoms (1 and 2) + (except for a change of sign, which does not matter since the energy functions + used are typically sign invariant. Furthermore, neither of OUTER pair of atoms + are the central atom. There are 3!=6 ways of ordering the remaining 3 atoms.) + Consequently it does not make sense to define a separate 4-body improper- + interaction between atoms 0,1,2,3 AS WELL AS between 0,2,1,3. + So we sort the atoms and bonds so that the first atom has a always has + a lower atomID than the last atom. (Later we will check to see if we + have already defined an interaction between these 4 atoms. If not then + we create a new one.) + + """ + atom0 = match[0][0] + atom1 = match[0][1] + atom2 = match[0][2] + atom3 = match[0][3] + # match[1][0:2] contains the ID numbers for the 3 bonds + bond0 = match[1][0] + bond1 = match[1][1] + bond2 = match[1][2] + if atom1 <= atom2: + #return ((atom0,atom1,atom2,atom3), (bond0, bond1, bond2)) + # But this is the same thing as: + return match + else: + return ((atom0,atom2,atom1,atom3), (bond1, bond0, bond2)) diff --git a/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenJflipIL.py b/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenJflipIL.py new file mode 100644 index 0000000000..b00a2afda8 --- /dev/null +++ b/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenJflipIL.py @@ -0,0 +1,68 @@ +try: + from ..nbody_graph_search import Ugraph +except: + # not installed as a module + from nbody_graph_search import Ugraph + +# To find 4-body "improper" interactions, +# (by default, most of the time), we would use this subgraph: +# 0 +# * 1st bond connects atoms 1 and 0 +# | => 2nd bond connects atoms 1 and 2 +# _.*._ 3rd bond connects atoms 1 and 3 +# *' 1 `* +# 2 3 +# +# In OPLS, the central atom is the second atom ("1"). +# This differs from other force-fields. +# We take this detail into account in the line below: + +bond_pattern = Ugraph([(1,0), (1,2), (1,3)]) + +# As with other force-fields, the improper-angle is the angle between the planes +# defined by the first three atoms (0,1,2) and last three atoms (1,2,3). +# (This is implemented in LAMMPS using an improper_style which requires +# that the atoms in the interaction will be listed in this order: 0,1,2,3.) + +def canonical_order(match): + """ + Before defining a new interaction, we must check to see if an + interaction between these same 4 atoms has already been created + (perhaps listed in a different, but equivalent order). + If we don't check for this this, we will create many unnecessary redundant + interactions (which can slow down he simulation). + To avoid this, I define a "canonical_order" function which sorts the atoms + and bonds in a way which is consistent with the symmetry of the interaction + being generated... Later the re-ordered list of atom and bond ids will be + tested against the list of atom/bond ids in the matches-found-so-far, + before it is added to the list of interactions found so far. Note that + the energy of an improper interactions is a function of the improper angle. + The "improper angle" is often defined as the angle between planes formed + by atoms 0,1,2 & 1,2,3. (Alternately, it is sometimes defined as the + angle between the 0,1,2 plane and atom 3.) + This angle does not change when swapping the OUTER pair of atoms (0 and 3) + (except for a change of sign, which does not matter since the energy functions + used are typically sign invariant. Furthermore, neither of OUTER pair of atoms + are the central atom. There are 3!=6 ways of ordering the remaining 3 atoms.) + Consequently it does not make sense to define a separate 4-body improper- + interaction between atoms 0,1,2,3 AS WELL AS between 3,1,2,0. + So we sort the atoms and bonds so that the first atom has a always has + a lower atomID than the last atom. (Later we will check to see if we + have already defined an interaction between these 4 atoms. If not then + we create a new one.) + + """ + atom0 = match[0][0] + atom1 = match[0][1] + atom2 = match[0][2] + atom3 = match[0][3] + # match[1][0:2] contains the ID numbers for the 3 bonds + bond0 = match[1][0] + bond1 = match[1][1] + bond2 = match[1][2] + if atom0 <= atom3: + #return ((atom0,atom1,atom2,atom3), (bond0, bond1, bond2)) + # But this is the same thing as: + return match + else: + return ((atom3,atom1,atom2,atom0), (bond2,bond1,bond0)) diff --git a/tools/moltemplate/moltemplate/nbody_by_type.py b/tools/moltemplate/moltemplate/nbody_by_type.py index 65b51064c8..1d73b23fb9 100755 --- a/tools/moltemplate/moltemplate/nbody_by_type.py +++ b/tools/moltemplate/moltemplate/nbody_by_type.py @@ -169,7 +169,7 @@ try: from .nbody_by_type_lib import GenInteractions_str from .ttree_lex import * from .lttree_styles import AtomStyle2ColNames, ColNames2AidAtypeMolid -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): from extract_lammps_data import * from nbody_by_type_lib import GenInteractions_str from ttree_lex import * @@ -373,7 +373,7 @@ def GenInteractions_files(lines_data, try: g = importlib.import_module(name, pkg) break - except (SystemError, ImportError): + except (ImportError, SystemError, ValueError): pass if g is None: @@ -513,7 +513,7 @@ def main(): ' (See nbody_Dihedrals.py for example.)\n') bond_pattern_module_name = argv[i + 1] # If the file name ends in ".py", then strip off this suffix. - # For some reason, the next line does not work: + # The next line does not work. Too lazy to care why. # bond_pattern_module_name=bond_pattern_module_name.rstrip('.py') # Do this instead pc = bond_pattern_module_name.rfind('.py') @@ -578,8 +578,8 @@ def main(): ' (The actual problem may be earlier in the argument list.)\n') if ((section_name == '') or - (section_name_bytype == '') or - (bond_pattern_module_name == '')): + (section_name_bytype == '') or + (bond_pattern_module_name == '')): raise InputError('Syntax Error(' + g_program_name + '):\n\n' ' You have not defined the following arguments:\n' ' -section name\n' diff --git a/tools/moltemplate/moltemplate/nbody_by_type_lib.py b/tools/moltemplate/moltemplate/nbody_by_type_lib.py index b8011a80d5..da5a3b0452 100644 --- a/tools/moltemplate/moltemplate/nbody_by_type_lib.py +++ b/tools/moltemplate/moltemplate/nbody_by_type_lib.py @@ -30,7 +30,7 @@ from collections import defaultdict try: from .nbody_graph_search import Ugraph, GraphMatcher from .ttree_lex import MatchesPattern, MatchesAll, InputError -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from nbody_graph_search import Ugraph, GraphMatcher from ttree_lex import MatchesPattern, MatchesAll, InputError diff --git a/tools/moltemplate/moltemplate/nbody_fix_ttree_assignments.py b/tools/moltemplate/moltemplate/nbody_fix_ttree_assignments.py index a975eb1b79..d92cc87904 100755 --- a/tools/moltemplate/moltemplate/nbody_fix_ttree_assignments.py +++ b/tools/moltemplate/moltemplate/nbody_fix_ttree_assignments.py @@ -46,7 +46,7 @@ import sys try: from .ttree_lex import SplitQuotedString, InputError -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from ttree_lex import * diff --git a/tools/moltemplate/moltemplate/nbody_reorder_atoms.py b/tools/moltemplate/moltemplate/nbody_reorder_atoms.py index 53a51a38c4..85b8b4e510 100755 --- a/tools/moltemplate/moltemplate/nbody_reorder_atoms.py +++ b/tools/moltemplate/moltemplate/nbody_reorder_atoms.py @@ -63,7 +63,7 @@ def main(): # defines g.bond_pattern, g.canonical_order g = importlib.import_module(name, pkg) break - except (SystemError, ImportError): + except (ImportError, SystemError, ValueError): pass if g is None: diff --git a/tools/moltemplate/moltemplate/postprocess_coeffs.py b/tools/moltemplate/moltemplate/postprocess_coeffs.py new file mode 100755 index 0000000000..439f6dc9c1 --- /dev/null +++ b/tools/moltemplate/moltemplate/postprocess_coeffs.py @@ -0,0 +1,287 @@ +#!/usr/bin/env python + +man_page_text = """ +Usage (example): + +postprocess_coeffs.py ttree_assignments.txt < file.template > file_new.template + +Moltemplate users would like to be able to use commands with wildcards like: + bond_coeff @bond:*/A/* harmonic 533.7 120.0 + pair_coeff @atom:A* @atom:B* lj/cut 0.35 2.7 +as shorthand for specifying force field parameters for multiple atom&bond types: + bond_coeff @bond:a/A/c harmonic 533.7 120.0 + bond_coeff @bond:b/A/d harmonic 533.7 120.0 + pair_coeff @atom:A* @atom:B* lj/cut 0.35 2.7 + pair_coeff @atom:A @atom:B lj/cut 0.35 2.7 + pair_coeff @atom:A1 @atom:B1 lj/cut 0.35 2.7 + pair_coeff @atom:A1 @atom:B2 lj/cut 0.35 2.7 + pair_coeff @atom:A2 @atom:B1 lj/cut 0.35 2.7 + pair_coeff @atom:A2 @atom:B2 lj/cut 0.35 2.7 + : : : : : : +However LAMMPS does not interpret the * character this way. +Hence, this script will replace the line with the * wildcards above with the +lines text that follow above. This script also works for bond_coeff, +angle_coeff, dihedral_coeff, and improper_coeff commands (expanding wildcard +characters appearing in @bond, @angle, @dihedral, and @improper variables). + +This program expects an argument (ttree_assignments.txt) which has a list of all +of the atom types (and bond_types, and angle_types...) which have been defined +and it will substitute those variable names in place of the wildcard expressions +(The ttree_assignments.txt file is a 2-column file variables in the 1st column, + and their integer values in the 2nd column. The 2nd column is ignored.) + +The resulting list of commands with explicit variable names will be +printed to the standard-out. + +""" + + +import sys +import gc + +try: + from .ttree import ExtractFormattingCommands + from .ttree_lex import * + +except (ImportError, SystemError, ValueError): + # not installed as a package + from ttree import ExtractFormattingCommands + from ttree_lex import * + + +g_filename = __file__.split('/')[-1] +g_module_name = g_filename +if g_filename.rfind('.py') != -1: + g_module_name = g_filename[:g_filename.rfind('.py')] +g_date_str = '2018-6-09' +g_version_str = '0.2.0' +g_program_name = g_filename +#sys.stderr.write(g_program_name+' v'+g_version_str+' '+g_date_str+' ') + + +def ExtractVarName(text): + """ Read a string like 'atom:A ' or '{/atom:A B/C/../D }ABC ' + and return ('','@atom:A',' ') or ('{','atom:A B/C/../D ','}ABC') + These are 3-tuples containing the portion of the text containing + only the variable's name (assumed to be within the text), + ...in addition to the text on either side of the variable name. + """ + i_begin = 0 + escape = '\'' + lparen = '{' + rparen = '}' + escaped = False + commenters = '#' + whitespace = ' \t\r\f\n' + terminators = whitespace + commenters + # Ideally, perhaps I should lookup these values from ttree_lex.TtreeLex to + # make sure I am being consistent, instead of re-defining them in this file. + #while ((i_begin < len(text)) and + # (text[i_begin] in whitespace)): + # i_begin += 1 + in_paren = text[i_begin:i_begin+1] == lparen + if in_paren: + terminators = rparen + i_begin += 1 + i_end = i_begin + while ((i_end < len(text)) and + (text[i_end] not in terminators)): + i_end += 1 + return (text[0: i_begin], + text[i_begin:i_end], + text[i_end:]) + + + +def main(): + try: + if (len(sys.argv) != 2): + raise InputError('Error running \"' + g_program_name + '\"\n' + ' Typical usage:\n' + ' postprocess_coeffs.py ttree_assignments.txt < file.template > file.rendered\n' + '\n' + ' Missing argument.\n' + ' Expected the name of a 2-column file containing\n' + ' variable names and their bindings (values).\n' + ' (This is likely a programmer error.\n' + ' This script was not intended to be run by end users.)\n') + + bindings_filename = sys.argv[1] + f = open(bindings_filename) + atom_types = set([]) + bond_types = set([]) + angle_types = set([]) + dihedral_types = set([]) + improper_types = set([]) + + #BasicUIReadBindingsStream(assignments, f, bindings_filename) + + # The line above is robust but it uses far too much memory. + # This for loop below works for most cases. + for line in f: + #tokens = lines.strip().split() + # like split but handles quotes + tokens = SplitQuotedString(line.strip()) + if len(tokens) < 2: + continue + if tokens[0].find('@') != 0: + continue + if tokens[0][2:].find('atom') == 0: + atom_types.add(tokens[0][1:]) + elif tokens[0][2:].find('bond') == 0: + bond_types.add(tokens[0][1:]) + elif tokens[0][2:].find('angle') == 0: + angle_types.add(tokens[0][1:]) + elif tokens[0][2:].find('dihedral') == 0: + dihedral_types.add(tokens[0][1:]) + elif tokens[0][2:].find('improper') == 0: + improper_types.add(tokens[0][1:]) + + f.close() + gc.collect() + + lex = LineLex(sys.stdin, '__standard_input_for_postprocess_coeffs__') + #lex = LineLex(open('deleteme.template', 'r'), '__standard_input_for_postprocess_coeffs_') + lex.commenters = '' #(don't attempt to skip over comments) + lex.line_extend_chars += '&' #(because LAMMPS interprets '&' as '\') + + while True: + line_orig = lex.ReadLine() + #sys.stderr.write('line_orig = \"'+str(line_orig)+'\"\n') + if (not line_orig) or (line_orig == ''): + break + tokens = line_orig.strip().split('@') + + if ((len(tokens) >= 2) and + (tokens[0].find('bond_coeff') == 0) and + #does this token contain '*' or '?' + HasWildcard(tokens[1]) and + (tokens[1][0:1] != '{')): #(don't pattern match * in {})?' + left_paren, typepattern, text_after = ExtractVarName(tokens[1]) + for btype in bond_types: + if MatchesPattern(btype, typepattern): + #assert(left_paren == '') + tokens[1] = btype + text_after + sys.stdout.write('@'.join(tokens) + '\n') + + elif ((len(tokens) >= 2) and + (tokens[0].find('angle_coeff') == 0) and + #does this token contain '*' or '?' + HasWildcard(tokens[1]) and + (tokens[1][0:1] != '{')): + left_paren, typepattern, text_after = ExtractVarName(tokens[1]) + for antype in angle_types: + if MatchesPattern(antype, typepattern): + #assert(left_paren == '') + tokens[1] = antype + text_after + sys.stdout.write('@'.join(tokens) + '\n') + + elif ((len(tokens) >= 2) and + (tokens[0].find('dihedral_coeff') == 0) and + #does this token contain '*' or '?' + HasWildcard(tokens[1]) and + (tokens[1][0:1] != '{')): #(don't pattern match * in {}) + left_paren, typepattern, text_after = ExtractVarName(tokens[1]) + for dtype in dihedral_types: + if MatchesPattern(dtype, typepattern): + #assert(left_paren == '') + tokens[1] = dtype + text_after + sys.stdout.write('@'.join(tokens) + '\n') + + elif ((len(tokens) >= 2) and + (tokens[0].find('improper_coeff') == 0) and + #does this token contain '*' or '?' + HasWildcard(tokens[1]) and + (tokens[1][0:1] != '{')): #(don't pattern match * in {}) + left_paren, typepattern, text_after = ExtractVarName(tokens[1]) + for itype in improper_types: + if MatchesPattern(itype, typepattern): + #assert(left_paren == '') + tokens[1] = itype + text_after + sys.stdout.write('@'.join(tokens) + '\n') + + #elif ((len(tokens) >= 3) and + # (tokens[0].find('pair_coeff') == 0) and + # (HasWildcard(tokens[1]) or HasWildcard(tokens[2]))): + elif ((len(tokens) >= 2) and + (tokens[0].find('pair_coeff') == 0)): + # First deal with cases with only one @variable, such as: + # pair_coeff @atom:A* * ... + # pair_coeff * @atom:A* ... + # (We don't deal with cases like "* *" because LAMMPS interprets + # these in a special way: manybody pair_styles use "* *") + if len(tokens) == 2: + if tokens[0].rstrip()[-1:] == '*': + tokens[0] = tokens[0].rstrip()[:-1] + tokens.insert(1, '/atom:* ') + else: + ic = tokens[1].find(' * ') + tokens.append('/atom:* '+tokens[1][ic+3:]) + tokens[1] = tokens[1][:ic]+' ' + + assert(len(tokens) >= 3) + left_paren1,typepattern1,text_after1=ExtractVarName(tokens[1]) + + # Then deal with cases like this: + # pair_coeff @{/atom:r1}*@{/atom:r3} @{/atom:r4}*@{/atom:r6} + # In this case we should be using ' ' as the delimeter, not '@' + # to separate the two arguments from eachother, since + # @{/atom:r1}*@{/atom:r3} is the first argument, and + # @{/atom:r4}*@{/atom:r6} is the second argument + + # Check: Were there any whitespace characters in the text + # separating token[1] from token[2]? + if ((left_paren1 == '{') and + (len(SplitQuotedString(text_after1)) == 1)): + # If not, then tokens[1] and tokens[2] are both part of + # the 1st argument. + tokens[1] = tokens[1]+'@'+tokens[2] + left_paren1 = '' + text_after1 = '' + typepattern1 = tokens[1] + del tokens[2] + + left_paren2,typepattern2,text_after2=ExtractVarName(tokens[2]) + # Check: Were there any whitespace characters in the text + # separating token[2] from what follows? + if ((len(tokens) > 3) and + (len(SplitQuotedString(text_after2)) == 1)): + # If not, then tokens[2] and tokens[3] are both part of + # the 2nd argument. + tokens[2] = tokens[2]+'@'+tokens[3] + left_paren2 = '' + text_after2 = '' + typepattern2 = tokens[2] + del tokens[3] + if (HasWildcard(tokens[1]) and + (tokens[1][0:1] != '{')): #(don't pattern match * in {}) + atom_types1 = atom_types + else: + atom_types1 = set([typepattern1]) + if (HasWildcard(tokens[2]) and + (tokens[2][0:1] != '{')): #(don't pattern match * in {}) + atom_types2 = atom_types + else: + atom_types2 = set([typepattern2]) + for atype1 in atom_types1: + #sys.stderr.write('atype1 = \"'+str(atype1)+'\"\n') + if MatchesPattern(atype1, typepattern1): + #assert(left_paren1 == '') + tokens[1] = left_paren1 + atype1 + text_after1 + for atype2 in atom_types2: + #sys.stderr.write(' atype2 = \"'+str(atype2)+'\"\n') + if MatchesPattern(atype2, typepattern2): + #assert(left_paren2 == '') + tokens[2] = left_paren2 + atype2 + text_after2 + sys.stdout.write('@'.join(tokens) + '\n') + else: + sys.stdout.write(line_orig) + + except (ValueError, InputError) as err: + sys.stderr.write('\n' + str(err) + '\n') + sys.exit(-1) + + return + +if __name__ == '__main__': + main() diff --git a/tools/moltemplate/moltemplate/postprocess_input_script.py b/tools/moltemplate/moltemplate/postprocess_input_script.py index b23f4e955f..f237502e57 100755 --- a/tools/moltemplate/moltemplate/postprocess_input_script.py +++ b/tools/moltemplate/moltemplate/postprocess_input_script.py @@ -1,4 +1,8 @@ #!/usr/bin/env python +# Author: Andrew Jewett (jewett.aij at g mail) +# License: 3-clause BSD License (See LICENSE.TXT) +# Copyright (c) 2017, California Institute of Technology +# All rights reserved. """ Reorder the integer arguments to the commands in a LAMMPS input diff --git a/tools/moltemplate/moltemplate/raw2data.py b/tools/moltemplate/moltemplate/raw2data.py index 8f029ee018..b39208a33f 100755 --- a/tools/moltemplate/moltemplate/raw2data.py +++ b/tools/moltemplate/moltemplate/raw2data.py @@ -1,17 +1,21 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- +import sys, io + try: from .dump2data import * -except: + from .extract_lammps_data import lammps_data_sections +except (ImportError, SystemError, ValueError): # not installed as a package from dump2data import * + from extract_lammps_data import lammps_data_sections g_program_name = 'raw2data.py' g_date_str = '2016-12-21' g_version_str = 'v0.44.0' -####### Main Code Below: ####### + ####### Main Code Below: ####### def main(): sys.stderr.write(g_program_name + ' ' + g_version_str + ' ' + g_date_str) sys.stderr.write('\n') @@ -21,12 +25,64 @@ def main(): misc_settings = MiscSettings() misc_settings.multi = False + # First process any arguments which are specific to "raw2data.py" + # (and remove them before passing them to dump2data.ParseArgs()) + sort_data_file_by_atom_id = False + argv = [arg for arg in sys.argv] + i = 1 + while i < len(argv): + if argv[i].lower() == '-ignore-atom-id': + sort_data_file_by_atom_id = True + del argv[i:i+1] + if argv[i].lower() == '-sort': + sort_data_file_by_atom_id = False + del argv[i:i+1] + else: + i += 1 + #(perhaps later I'll add some additional argumets) + warning_strings = [] - ParseArgs(sys.argv, + ParseArgs(argv, misc_settings, data_settings, warning_strings) + frame_atom_order = [] + + # The atoms in the "Atoms" section of the data file might be out + # of order. Extract the text from that section, and figure out the + # atom-ID assigned to each atom (number in the first column). + # Then assign the these atom-ID numbers to entries in the + # coordinates list (frame_coords) in the same order. We want the + # lines of text in the coordinate file to pasted to the end of + # the lines of text in the "Atoms" section of the data file + # in the same order, regardless of the atom-ID numbers in that file. + # Counterintuitively, the only way to do that is to assign the same + # atom-ID numbers to the coordinate list in frame_coords". So we + # have to extract those numbers from the data file. + in_atoms_section = False + num_blank_lines = 0 + for line in data_settings.contents: + ic = line.find('#') + line = line[:ic] #(this also removes the newline character) + tokens = line.strip().split() + if line.strip() == 'Atoms': + in_atoms_section = True + elif line.strip() in lammps_data_sections: + in_atoms_section = False + elif in_atoms_section: + if len(tokens) > 0: + if sort_data_file_by_atom_id: + atomid = tokens[0] + frame_atom_order.append(atomid) + #sys.stderr.write('atomid=\"'+str(atomid)+'\"\n') + else: + frame_atom_order.append(str(len(frame_atom_order)+1)) + else: + num_blank_lines += 1 + if num_blank_lines > 1: + in_atoms_section = False + frame_coords = defaultdict(list) frame_coords_ixiyiz = defaultdict(list) frame_vects = defaultdict(list) @@ -48,8 +104,8 @@ def main(): finished_reading_frame = False read_last_frame = False - #in_coord_file = open('tmp_atom_coords.dat','r') in_coord_file = sys.stdin + #in_coord_file = open('tmp_atom_coords.dat','r') read_last_frame = False while True: @@ -61,11 +117,13 @@ def main(): if line == '': # if EOF break + #frame_vects = defaultdict(list) frame_coords = defaultdict(list) while line.strip() != '': n_crds = len(frame_coords) #sys.stdout.write("n_crds="+str(n_crds)+": \""+line.strip()+"\"\n") - frame_coords[str(n_crds + 1)] = line.split() + frame_coords[frame_atom_order[n_crds]] = line.split() + #frame_vects[frame_atom_order[n_crds]] = ['0.0','0.0','0.0'] line = in_coord_file.readline() # Check to see if there are any blank lines at this location in the file @@ -91,6 +149,7 @@ def main(): None, misc_settings, data_settings, + None, frame_natoms, frame_coords, frame_coords_ixiyiz, diff --git a/tools/moltemplate/moltemplate/scripts/cleanup_moltemplate.sh b/tools/moltemplate/moltemplate/scripts/cleanup_moltemplate.sh index e5375674ae..5ffce30739 100755 --- a/tools/moltemplate/moltemplate/scripts/cleanup_moltemplate.sh +++ b/tools/moltemplate/moltemplate/scripts/cleanup_moltemplate.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + # cleanup_moltemplate.sh # This script attempts to remove irrelevant information from LAMMPS # input scripts and data files (such as extra, unneeded atom types @@ -71,16 +73,29 @@ moltemplate.sh system.lt # This will create: "system.data" "system.in.init" "system.in.settings." - # That's it. The new "system.data" and system.in.* files should + # That's it. The new "system.data" and system.in.settings files should # be ready to run in LAMMPS. + # Special case: "set" commands + # Typically "set type" or "set atom" commands are used to assign atom charge + # If there is a "system.in.charges" file, then it contains these commands + # however the atom type numbers will be wrong, so we must rewrite it. + # Replace it with the corresponding commands from the system.in.settings + # (whose atom type numbers are correct) + if [ -f "../system.in.charges" ]; then + awk '{ if ((NF >= 5) && ($1 == "set") && ($4 == "charge")) print $0}' \ + < system.in.settings > system.in.charges + # There is no need to remove these lines from "system.in.settings", + # (because there's no harm to invoke the "set" command twice) + # ...but if you want to do that, try using a command similar to: + #sed '/set type/,+1 d' < system.in.settings > system.in.settings.tmp + #mv -f system.in.settings.tmp system.in.settings + fi + + # Now move the system.data and system.in.* files to their original location: mv -f system.data system.in.* ../ cd ../ - grep "set type" system.in.settings > system.in.charges - # now remove these lines from system.in.settings - sed '/set type/,+1 d' < system.in.settings > system.in.settings.tmp - mv -f system.in.settings.tmp system.in.settings # Finally, delete all of the temporary files we generated rm -rf new_lt_file_TMP diff --git a/tools/moltemplate/moltemplate/scripts/emoltemplate.sh b/tools/moltemplate/moltemplate/scripts/emoltemplate.sh index eaba9c4960..e72d2d9e29 100755 --- a/tools/moltemplate/moltemplate/scripts/emoltemplate.sh +++ b/tools/moltemplate/moltemplate/scripts/emoltemplate.sh @@ -10,8 +10,8 @@ # All rights reserved. G_PROGRAM_NAME="emoltemplate.sh" -G_VERSION="1.0.5" -G_DATE="2017-2-01" +G_VERSION="1.1.0" +G_DATE="2018-6-26" echo "${G_PROGRAM_NAME} v${G_VERSION} ${G_DATE}" >&2 echo "" >&2 @@ -37,7 +37,6 @@ PY_SCR_DIR=`dirname "$0"` if [ ! -s "${PY_SCR_DIR}/ttree.py" ]; then PY_SCR_DIR="$PY_SCR_DIR/.." fi -MOLTEMPLATE_SCRIPT_DIR="$SCRIPT_DIR/../moltemplate/src" MSG_BAD_INSTALL=$(cat < "${data_atoms}.template.minimal"; then exit 4 @@ -599,7 +598,7 @@ if [ -s "${data_bond_list}.template" ]; then echo "Looking up bond types according to atom type" >&2 #-- Generate a file containing bondid bondtype atomid1 atomid2 -- - if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/bonds_by_type.py" \ + if ! $PYTHON_COMMAND "${PY_SCR_DIR}/bonds_by_type.py" \ -atom-style "id type" \ -atoms "${data_atoms}.template.minimal" \ -bond-list "${data_bond_list}.template.minimal" \ @@ -641,7 +640,7 @@ if [ -s "${data_bond_list}.template" ]; then ## The next 2 lines extract the variable names from data_new.template.tmp ## and instert them into the appropriate place in ttree_assignments.txt ## (renumbering the relevant variable-assignments to avoid clashes). - #if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_fix_ttree_assignments.py" \ + #if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_fix_ttree_assignments.py" \ # '/bond' gen_bonds.template.tmp \ # < ttree_assignments.txt \ # > ttree_assignments.tmp; then @@ -659,7 +658,7 @@ if [ -s "${data_bond_list}.template" ]; then # names present in the .template file. (We want to convert the file from # a .template format into an ordinary (numeric) LAMMPS data-section format.) - if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/ttree_render.py" \ + if ! $PYTHON_COMMAND "${PY_SCR_DIR}/ttree_render.py" \ ttree_assignments.txt \ < "${data_bonds}.template" \ > "$data_bonds"; then @@ -695,10 +694,10 @@ for FILE in "$data_angles_by_type"*.template; do SUBGRAPH_SCRIPT="nbody_Angles.py" else echo "(using the rules in \"$SUBGRAPH_SCRIPT\")" >&2 - #if [ ! -s "${MOLTEMPLATE_SCRIPT_DIR}/nbody_alt_symmetry/$SUBGRAPH_SCRIPT" ]; then + #if [ ! -s "${PY_SCR_DIR}/nbody_alt_symmetry/$SUBGRAPH_SCRIPT" ]; then # echo "Error: File \"$SUBGRAPH_SCRIPT\" not found.\n" >&2 # echo " It should be located in this directory:\n" >&2 - # echo " ${MOLTEMPLATE_SCRIPT_DIR}/nbody_alt_symmetry/\n" >&2 + # echo " ${PY_SCR_DIR}/nbody_alt_symmetry/\n" >&2 # exit 4 #fi fi @@ -708,7 +707,7 @@ for FILE in "$data_angles_by_type"*.template; do # The first step is to strip out the espresso-specific junk from each # section so we end up with a simple multi-column file containing only # the symbols we care about (which identify atom ids, atom and bond types) - if ! $PYTHON_COMMAND "${SCRIPT_DIR}/extract_espresso_atom_types.py" \ + if ! $PYTHON_COMMAND "${PY_SCR_DIR}/extract_espresso_atom_types.py" \ < "${data_atoms}.template" \ > "${data_atoms}.template.minimal"; then exit 4 @@ -721,7 +720,7 @@ for FILE in "$data_angles_by_type"*.template; do < "${data_bonds}.template" \ > "${data_bonds}.template.minimal" - if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_by_type.py" \ + if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_by_type.py" \ -subgraph "${SUBGRAPH_SCRIPT}" \ -section "Angles" \ -sectionbytype "Angles By Type" \ @@ -767,7 +766,7 @@ for FILE in "$data_angles_by_type"*.template; do ## The next 2 lines extract the variable names from data_new.template.tmp ## and instert them into the appropriate place in ttree_assignments.txt ## (renumbering the relevant variable-assignments to avoid clashes). - #if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_fix_ttree_assignments.py" \ + #if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_fix_ttree_assignments.py" \ # '/angle' gen_angles.template.tmp \ # < ttree_assignments.txt \ # > ttree_assignments.tmp; then @@ -781,7 +780,7 @@ for FILE in "$data_angles_by_type"*.template; do # names present in the .template file. (We want to convert the file from # a .template format into an ordinary (numeric) LAMMPS data-section format) - if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/ttree_render.py" \ + if ! $PYTHON_COMMAND "${PY_SCR_DIR}/ttree_render.py" \ ttree_assignments.txt \ < "$data_angles.template" \ > "$data_angles"; then @@ -815,10 +814,10 @@ for FILE in "$data_dihedrals_by_type"*.template; do SUBGRAPH_SCRIPT="nbody_Dihedrals.py" else echo "(using the rules in \"$SUBGRAPH_SCRIPT\")" >&2 - #if [ ! -s "${MOLTEMPLATE_SCRIPT_DIR}/nbody_alt_symmetry/$SUBGRAPH_SCRIPT" ]; then + #if [ ! -s "${PY_SCR_DIR}/nbody_alt_symmetry/$SUBGRAPH_SCRIPT" ]; then # echo "Error: File \"$SUBGRAPH_SCRIPT\" not found.\n" >&2 # echo " It should be located in this directory:\n" >&2 - # echo " ${MOLTEMPLATE_SCRIPT_DIR}/nbody_alt_symmetry/\n" >&2 + # echo " ${PY_SCR_DIR}/nbody_alt_symmetry/\n" >&2 # exit 4 #fi fi @@ -828,7 +827,7 @@ for FILE in "$data_dihedrals_by_type"*.template; do # The first step is to strip out the espresso-specific junk from each # section so we end up with a simple multi-column file containing only # the symbols we care about (which identify atom ids, atom and bond types) - if ! $PYTHON_COMMAND "${SCRIPT_DIR}/extract_espresso_atom_types.py" \ + if ! $PYTHON_COMMAND "${PY_SCR_DIR}/extract_espresso_atom_types.py" \ < "${data_atoms}.template" \ > "${data_atoms}.template.minimal"; then exit 4 @@ -841,7 +840,7 @@ for FILE in "$data_dihedrals_by_type"*.template; do < "${data_bonds}.template" \ > "${data_bonds}.template.minimal" - if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_by_type.py" \ + if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_by_type.py" \ -subgraph "${SUBGRAPH_SCRIPT}" \ -section "Dihedrals" \ -sectionbytype "Dihedrals By Type" \ @@ -887,7 +886,7 @@ for FILE in "$data_dihedrals_by_type"*.template; do ## The next 2 lines extract the variable names from data_new.template.tmp ## and instert them into the appropriate place in ttree_assignments.txt ## (renumbering the relevant variable-assignments to avoid clashes). - #if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_fix_ttree_assignments.py" \ + #if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_fix_ttree_assignments.py" \ # '/dihedral' gen_dihedrals.template.tmp \ # < ttree_assignments.txt \ # > ttree_assignments.tmp; then @@ -901,7 +900,7 @@ for FILE in "$data_dihedrals_by_type"*.template; do # names present in the .template file. (We want to convert the file from # a .template format into an ordinary (numeric) LAMMPS data-section format) - if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/ttree_render.py" \ + if ! $PYTHON_COMMAND "${PY_SCR_DIR}/ttree_render.py" \ ttree_assignments.txt \ < "$data_dihedrals.template" \ > "$data_dihedrals"; then @@ -938,10 +937,10 @@ for FILE in "$data_impropers_by_type"*.template; do SUBGRAPH_SCRIPT="nbody_Impropers.py" else echo "(using the rules in \"$SUBGRAPH_SCRIPT\")" >&2 - #if [ ! -s "${MOLTEMPLATE_SCRIPT_DIR}/nbody_alt_symmetry/$SUBGRAPH_SCRIPT" ]; then + #if [ ! -s "${PY_SCR_DIR}/nbody_alt_symmetry/$SUBGRAPH_SCRIPT" ]; then # echo "Error: File \"$SUBGRAPH_SCRIPT\" not found.\n" >&2 # echo " It should be located in this directory:\n" >&2 - # echo " ${MOLTEMPLATE_SCRIPT_DIR}/nbody_alt_symmetry/\n" >&2 + # echo " ${PY_SCR_DIR}/nbody_alt_symmetry/\n" >&2 # exit 4 #fi fi @@ -951,7 +950,7 @@ for FILE in "$data_impropers_by_type"*.template; do # The first step is to strip out the espresso-specific junk from each # section so we end up with a simple multi-column file containing only # the symbols we care about (which identify atom ids, atom and bond types) - if ! $PYTHON_COMMAND "${SCRIPT_DIR}/extract_espresso_atom_types.py" \ + if ! $PYTHON_COMMAND "${PY_SCR_DIR}/extract_espresso_atom_types.py" \ < "${data_atoms}.template" \ > "${data_atoms}.template.minimal"; then exit 4 @@ -964,7 +963,7 @@ for FILE in "$data_impropers_by_type"*.template; do < "${data_bonds}.template" \ > "${data_bonds}.template.minimal" - if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_by_type.py" \ + if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_by_type.py" \ -subgraph "${SUBGRAPH_SCRIPT}" \ -section "Impropers" \ -sectionbytype "Impropers By Type" \ @@ -1012,7 +1011,7 @@ for FILE in "$data_impropers_by_type"*.template; do ## The next 2 lines extract the variable names from data_new.template.tmp ## and instert them into the appropriate place in ttree_assignments.txt ## (renumbering the relevant variable-assignments to avoid clashes). - #if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_fix_ttree_assignments.py" \ + #if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_fix_ttree_assignments.py" \ # '/improper' gen_impropers.template.tmp \ # < ttree_assignments.txt \ # > ttree_assignments.tmp; then @@ -1026,7 +1025,7 @@ for FILE in "$data_impropers_by_type"*.template; do # names present in the .template file. (We want to convert the file from # a .template format into an ordinary (numeric) LAMMPS data-section format) - if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/ttree_render.py" \ + if ! $PYTHON_COMMAND "${PY_SCR_DIR}/ttree_render.py" \ ttree_assignments.txt \ < "$data_impropers.template" \ > "$data_impropers"; then @@ -1216,7 +1215,6 @@ if [ -s "$data_atoms" ]; then cat "$data_atoms" >> "$OUT_FILE_TCL" fi - if [ -s "$tmp_atom_coords" ]; then rm -f "$OUT_FILE_COORDS" awk 'BEGIN{natom=0} {if (NF>=3) {print "part " natom " pos " $1 " " $2 " " $3; natom++}}' < "$tmp_atom_coords" >> "$OUT_FILE_TCL" diff --git a/tools/moltemplate/moltemplate/scripts/moltemplate.sh b/tools/moltemplate/moltemplate/scripts/moltemplate.sh index 870ab9c8cc..5e7fd2321c 100755 --- a/tools/moltemplate/moltemplate/scripts/moltemplate.sh +++ b/tools/moltemplate/moltemplate/scripts/moltemplate.sh @@ -3,15 +3,14 @@ # # Author: Andrew Jewett (jewett.aij at g mail) # http://www.moltemplate.org -# http://jensenlab.caltech.edu # http://www.chem.ucsb.edu/~sheagroup # License: 3-clause BSD License (See LICENSE.txt) # Copyright (c) 2012, Regents of the University of California # All rights reserved. G_PROGRAM_NAME="moltemplate.sh" -G_VERSION="2.3.7" -G_DATE="2017-8-22" +G_VERSION="2.8.6" +G_DATE="2018-6-27" echo "${G_PROGRAM_NAME} v${G_VERSION} ${G_DATE}" >&2 echo "" >&2 @@ -223,6 +222,7 @@ $data_bonds_by_type* ${data_angles_by_type}* ${data_dihedrals_by_type}* ${data_impropers_by_type}* +$data_charge_by_bond $in_init $in_settings EOF @@ -395,6 +395,20 @@ while [ "$i" -lt "$ARGC" ]; do # Disable syntax checking by undefining LTTREE_CHECK_COMMAND unset LTTREE_CHECK_COMMAND unset LTTREE_POSTPROCESS_COMMAND + elif [ "$A" = "-allow-wildcards" ]; then + # Disable syntax checking by undefining LTTREE_CHECK_COMMAND + if [ -z "$LTTREE_CHECK_ARGS" ]; then + LTTREE_CHECK_ARGS="\"$A\"" + else + LTTREE_CHECK_ARGS="${LTTREE_CHECK_ARGS} \"$A\"" + fi + elif [ "$A" = "-forbid-wildcards" ]; then + # Disable syntax checking by undefining LTTREE_CHECK_COMMAND + if [ -z "$LTTREE_CHECK_ARGS" ]; then + LTTREE_CHECK_ARGS="\"$A\"" + else + LTTREE_CHECK_ARGS="${LTTREE_CHECK_ARGS} \"$A\"" + fi elif [ "$A" = "-checkff" ]; then # Disable syntax checking by undefining LTTREE_CHECK_COMMAND CHECKFF="$A" @@ -529,11 +543,23 @@ while [ "$i" -lt "$ARGC" ]; do fi #echo " (extracting coordinates from \"$PDB_FILE\")" >&2 if grep -q '^ATOM \|^HETATM' "$PDB_FILE"; then + # Extract the coordinates from the PDB file: + + # COMMENTING OUT ("pdbsort.py") + # I used to sort the PDB file by (ChainID,SeqNum,InsertCode) + # and then extract the coordinates from the file. + # This turned out to be inconvenient for users. Instead + # just read the coordinates in the order they appear in the file. + # OLD CODE: # Extract the coords from the "ATOM" records in the PDB file - if ! $PYTHON_COMMAND "${PY_SCR_DIR}/pdbsort.py" < "$PDB_FILE" \ - | awk '/^ATOM |^HETATM/{print substr($0,31,8)" "substr($0,39,8)" "substr($0,47,8)}' > "$tmp_atom_coords"; then - ERR_INTERNAL - fi + #if ! $PYTHON_COMMAND "${PY_SCR_DIR}/pdbsort.py" < "$PDB_FILE" \ + # | awk '/^ATOM |^HETATM/{print substr($0,31,8)" "substr($0,39,8)" "substr($0,47,8)}' > "$tmp_atom_coords"; then + # ERR_INTERNAL + #fi + # NEW CODE (USE THIS INSTEAD): + awk '/^ATOM |^HETATM/{print substr($0,31,8)" "substr($0,39,8)" "substr($0,47,8)}' \ + < "$PDB_FILE" \ + > "$tmp_atom_coords" else echo "$SYNTAX_MSG" >&2 echo "-----------------------" >&2 @@ -681,6 +707,7 @@ fi + OUT_FILE_INPUT_SCRIPT="${OUT_FILE_BASE}.in" OUT_FILE_INIT="${OUT_FILE_BASE}.in.init" OUT_FILE_SETTINGS="${OUT_FILE_BASE}.in.settings" @@ -701,16 +728,14 @@ rm -f "$OUT_FILE_INPUT_SCRIPT" "$OUT_FILE_INIT" "$OUT_FILE_SETTINGS" "$OUT_FILE_ - # If checking is not disabled, then first check for common spelling errors. if [ -n "$LTTREE_CHECK_COMMAND" ]; then - if ! eval $LTTREE_CHECK_COMMAND $TTREE_ARGS; then + if ! eval $LTTREE_CHECK_COMMAND $TTREE_ARGS $LTTREE_CHECK_ARGS; then exit 1 fi fi - # --- Run ttree. --- # # 3, 2, 1, ... @@ -926,11 +951,12 @@ fi - +FILE_angles_by_type1="" +FILE_angles_by_type2="" #for FILE in "$data_angles_by_type"*.template; do IFS_BACKUP="$IFS" IFS=$(echo -en "\n\b") -for FILE in `ls -v "$data_angles_by_type"*.template`; do +for FILE in `ls -v "$data_angles_by_type"*.template 2> /dev/null`; do if [ ! -s "$FILE" ] || [ ! -s "$data_bonds" ]; then break; # This handles with the special cases that occur when @@ -964,6 +990,9 @@ for FILE in `ls -v "$data_angles_by_type"*.template`; do # fi fi + FILE_angles_by_type2="$FILE_angles_by_type1" + FILE_angles_by_type1="$FILE" + #-- Generate a file containing the list of interactions on separate lines -- if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_by_type.py" \ -subgraph "${SUBGRAPH_SCRIPT}" \ @@ -1033,7 +1062,7 @@ FILE_dihedrals_by_type2="" #for FILE in "$data_dihedrals_by_type"*.template; do IFS_BACKUP="$IFS" IFS=$(echo -en "\n\b") -for FILE in `ls -v "$data_dihedrals_by_type"*.template`; do +for FILE in `ls -v "$data_dihedrals_by_type"*.template 2> /dev/null`; do if [ ! -s "$FILE" ] || [ ! -s "$data_bonds" ]; then break; # This handles with the special cases that occur when @@ -1067,7 +1096,7 @@ for FILE in `ls -v "$data_dihedrals_by_type"*.template`; do # fi fi - FILE_dihedrals_by_type2="$FILE_impropers_by_type1" + FILE_dihedrals_by_type2="$FILE_dihedrals_by_type1" FILE_dihedrals_by_type1="$FILE" #-- Generate a file containing the list of interactions on separate lines -- @@ -1138,7 +1167,7 @@ FILE_impropers_by_type2="" #for FILE in "$data_impropers_by_type"*.template; do IFS_BACKUP="$IFS" IFS=$(echo -en "\n\b") -for FILE in `ls -v "$data_impropers_by_type"*.template`; do +for FILE in `ls -v "$data_impropers_by_type"*.template 2> /dev/null`; do if [ ! -s "$FILE" ] || [ ! -s "$data_bonds" ]; then break; # This handles with the special cases that occur when @@ -1238,6 +1267,39 @@ IFS="$IFS_BACKUP" +# Deal with wildcard characters ('*', '?') in "_coeff" commands +# appearing in any LAMMPS input scripts generated by moltemplate. +# Replace them with explicit variable names. Do this before rendering +#if [ -s "${in_settings}.template" ]; then +echo "expanding wildcards in \"_coeff\" commands" >&2 +#ls "${in_prefix}"*.template 2> /dev/null | while read file_name; do +for file_name in "${in_prefix}"*.template; do + + # invoking "postprocess_coeffs.py" can be very slow, so only do it if the + # file contains both _coeff commands and wildcards *,? on the same line: + if ! awk '{if (match($1,/'_coeff/') && match($0,/'[*,?]/')) exit 1}' < "$file_name"; then + + echo "expanding wildcards in \"_coeff\" commands in \"$file_name\"" >&2 + if ! eval $PYTHON_COMMAND "${PY_SCR_DIR}/postprocess_coeffs.py" ttree_assignments.txt < "$file_name" > "${file_name}.tmp"; then + ERR_INTERNAL + fi + + mv -f "${file_name}.tmp" "$file_name" + # Now reassign integers to these variables + bn=`basename "$file_name" .template` + if ! $PYTHON_COMMAND "${PY_SCR_DIR}/ttree_render.py" \ + ttree_assignments.txt \ + < "$file_name" \ + > "$bn"; then + exit 6 + fi + fi +done +#fi + + + + if [ -n "$LTTREE_POSTPROCESS_COMMAND" ]; then echo "" >&2 @@ -1335,9 +1397,34 @@ if [ -s "${data_angles}" ]; then ERR_INTERNAL fi mv -f "${data_angles}.tmp" "${data_angles}" + + if [ ! -z $FILE_angles_by_type2 ]; then + MSG_MULTIPLE_ANGLE_RULES=$(cat <&2 + fi fi + + if [ -s "${data_dihedrals}" ]; then SUBGRAPH_SCRIPT="nbody_Dihedrals.py" if [ -n "$SUBGRAPH_SCRIPT_DIHEDRALS" ]; then @@ -1460,7 +1547,6 @@ fi - # ------------------ Charge By Bond ---------------------- # Assign atom partial charges according to who they are bonded to @@ -1508,7 +1594,6 @@ fi - # ------------------------------------------------------- rm -f "$OUT_FILE_DATA" @@ -1528,6 +1613,9 @@ NIMPROPERS="0" if [ -s "${data_atoms}" ]; then NATOMS=`awk 'END{print NR}' < "${data_atoms}"` fi +if [ -s "${data_ellipsoids}" ]; then + NELLIPSOIDS=`awk 'END{print NR}' < "${data_ellipsoids}"` +fi if [ -s "${data_bonds}" ]; then NBONDS=`awk 'END{print NR}' < "${data_bonds}"` fi @@ -1545,6 +1633,9 @@ fi echo "LAMMPS Description" > "$OUT_FILE_DATA" echo "" >> "$OUT_FILE_DATA" echo " $NATOMS atoms" >> "$OUT_FILE_DATA" +if [ -n "$NELLIPSOIDS" ]; then + echo " $NATOMS ellipsoids" >> "$OUT_FILE_DATA" +fi if [ -n "$NBONDS" ]; then echo " $NBONDS bonds" >> "$OUT_FILE_DATA" fi @@ -1716,6 +1807,9 @@ fi echo "" >> "$OUT_FILE_DATA" + + + if [ -s "$data_masses" ]; then echo "Masses" >> "$OUT_FILE_DATA" echo "" >> "$OUT_FILE_DATA" @@ -1746,6 +1840,7 @@ if [ -n "$PAIR_COEFFS_IN_DATA" ]; then fi + if [ -s "$data_bond_coeffs" ]; then echo "Bond Coeffs" >> "$OUT_FILE_DATA" echo "" >> "$OUT_FILE_DATA" @@ -1992,7 +2087,7 @@ if [ -s "$tmp_atom_coords" ]; then # Copy the coordinates in $tmp_atom_coords into $OUT_FILE_DATA rm -f "$OUT_FILE_COORDS" - if ! eval $PYTHON_COMMAND "${PY_SCR_DIR}/raw2data.py" $ATOM_STYLE_ARG "$OUT_FILE_DATA" < "$tmp_atom_coords" > "$OUT_FILE_COORDS"; then + if ! eval $PYTHON_COMMAND "${PY_SCR_DIR}/raw2data.py -ignore-atom-id " $ATOM_STYLE_ARG "$OUT_FILE_DATA" < "$tmp_atom_coords" > "$OUT_FILE_COORDS"; then ERR_INTERNAL fi mv -f "$OUT_FILE_COORDS" "$OUT_FILE_DATA" @@ -2022,6 +2117,7 @@ fi + # ############## CLEAN UP ################ # A lot of files have been created along the way. @@ -2058,11 +2154,13 @@ IFS=$OIFS + # ############## DEAL WITH CUSTOM NON-STANDARD SECTIONS ################ # N_data_prefix=`expr length "$data_prefix"` <-- not posix compliant. AVOID N_data_prefix=${#data_prefix} #<-- works even if $data_prefix contains spaces +#for file_name in "${data_prefix}"*; do ls "${data_prefix}"* 2> /dev/null | while read file_name; do #If using bash: #SECTION_NAME="${file_name:$N_data_prefix}" @@ -2080,6 +2178,7 @@ ls "${data_prefix}"* 2> /dev/null | while read file_name; do mv -f "$file_name" output_ttree/ done + if [ -e "$data_prefix_no_space" ]; then echo "" >> "$OUT_FILE_DATA" @@ -2098,33 +2197,37 @@ if [ -e "$OUT_FILE_DATA" ]; then fi + + + #N_in_prefix=`expr length "$in_prefix"` <-- not posix compliant. AVOID. N_in_prefix=${#in_prefix} #<-- works even if $in_prefix contains spaces +#for file_name in "${in_prefix}"*; do ls "${in_prefix}"* 2> /dev/null | while read file_name; do #If using bash: #SECTION_NAME="${file_name:$N_in_prefix}" #If using sh: #SECTION_NAME=`expr substr "$file_name" $(($N_in_prefix+1)) 1000000` <-- not posix compliant. AVOID SECTION_NAME=`echo "" | awk "END{print substr(\"$file_name\",$((N_in_prefix+1)),1000000)}"` - FILE_SUFFIX=`echo "$SECTION_NAME" | awk '{print tolower($0)}'` + #FILE_SUFFIX=`echo "$SECTION_NAME" | awk '{print tolower($0)}'` + FILE_SUFFIX=`echo "$SECTION_NAME" | awk '{print tolower($0)}'|sed 's/ /./g'` # Create a new section in the lammps input script # matching the portion of the name of # the file after the in_prefix. - echo "" >> $OUT_FILE_INPUT_SCRIPT + echo "" >> "$OUT_FILE_INPUT_SCRIPT" echo "# ----------------- $SECTION_NAME Section -----------------" >> $OUT_FILE_INPUT_SCRIPT - cp -f "$file_name" ${OUT_FILE_INPUT_SCRIPT}.${FILE_SUFFIX} + cp -f "$file_name" "${OUT_FILE_INPUT_SCRIPT}.${FILE_SUFFIX}" - echo "" >> $OUT_FILE_INPUT_SCRIPT + echo "" >> "$OUT_FILE_INPUT_SCRIPT" echo "include \"${OUT_FILE_INPUT_SCRIPT}.${FILE_SUFFIX}\"" >> $OUT_FILE_INPUT_SCRIPT - echo "" >> $OUT_FILE_INPUT_SCRIPT - + echo "" >> "$OUT_FILE_INPUT_SCRIPT" mv -f "$file_name" output_ttree/ done if [ -e "$in_prefix_no_space" ]; then - echo "" >> $OUT_FILE_INPUT_SCRIPT - cat "$in_prefix_no_space" >> $OUT_FILE_INPUT_SCRIPT - echo "" >> $OUT_FILE_INPUT_SCRIPT + echo "" >> "$OUT_FILE_INPUT_SCRIPT" + cat "$in_prefix_no_space" >> "$OUT_FILE_INPUT_SCRIPT" + echo "" >> "$OUT_FILE_INPUT_SCRIPT" mv -f "$in_prefix_no_space" output_ttree/ fi @@ -2145,6 +2248,7 @@ for file_name in "$OUT_FILE_INIT" "$OUT_FILE_INPUT_SCRIPT" "$OUT_FILE_SETTINGS"; ERR_INTERNAL fi echo "" >&2 + mv -f "$file_name.tmp" "$file_name" #cat "$file_name" >> input_scripts_so_far.tmp #dos2unix < "$file_name" >> input_scripts_so_far.tmp @@ -2174,13 +2278,24 @@ for file_name in "$OUT_FILE_INIT" "$OUT_FILE_INPUT_SCRIPT" "$OUT_FILE_SETTINGS"; done -ls "${in_prefix}"* 2> /dev/null | while read file_name; do +# Process any custom input script files created by the user afterwards +#ls "${OUT_FILE_INPUT_SCRIPT}"* 2> /dev/null | while read file_name; do +for file_name in "${OUT_FILE_INPUT_SCRIPT}."*; do + if [ "$file_name" = "$OUT_FILE_INIT" ] || [ $file_name = "$OUT_FILE_INPUT_SCRIPT" ] || [ $file_name = "$OUT_FILE_SETTINGS" ]; then + continue + fi + if [[ "$file_name" == *.tmp ]]; then + continue + fi + if [[ "$file_name" == *.template ]]; then + continue + fi echo "postprocessing file \"$file_name\"" >&2 - if ! $PYTHON_COMMAND "${PY_SCR_DIR}/postprocess_input_script.py" input_scripts_so_far.tmp < "$file_name" > "$file_name".tmp; then + if ! $PYTHON_COMMAND "${PY_SCR_DIR}/postprocess_input_script.py" input_scripts_so_far.tmp < "$file_name" > "$file_name.tmp"; then ERR_INTERNAL fi echo "" >&2 - mv "$file_name".tmp "$file_name" + mv "$file_name.tmp" "$file_name" cat "$file_name" >> input_scripts_so_far.tmp done @@ -2188,6 +2303,7 @@ rm -f input_scripts_so_far.tmp + # ############ Optional: Add a fake run section as an example ############ diff --git a/tools/moltemplate/moltemplate/ttree.py b/tools/moltemplate/moltemplate/ttree.py index a68ada9f75..89777f3bdc 100755 --- a/tools/moltemplate/moltemplate/ttree.py +++ b/tools/moltemplate/moltemplate/ttree.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# Authors: Andrew Jewett (jewett.aij at g mail) +# Author: Andrew Jewett (jewett.aij at g mail) # http://www.moltemplate.org # http://www.chem.ucsb.edu/~sheagroup # License: 3-clause BSD License (See LICENSE.TXT) @@ -64,10 +64,10 @@ except NameError: # in words or tokens parsed by TtreeShlex. Otherwise it is identical to shlex. try: from .ttree_lex import TtreeShlex, SplitQuotedString, EscCharStrToChar, \ - SafelyEncodeString, RemoveOuterQuotes, MaxLenStr, HasWildCard, \ + SafelyEncodeString, RemoveOuterQuotes, MaxLenStr, HasWildcard, \ InputError, ErrorLeader, OSrcLoc, TextBlock, VarRef, VarBinding, \ TemplateLexer -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from ttree_lex import * @@ -1519,7 +1519,7 @@ def DescrToCatLeafNodes(descr_str, elif (create_missing_nodes and ((i_last_ptkn == len(leaf_ptkns) - 1) or - HasWildCard('/'.join(leaf_ptkns)))): + HasWildcard('/'.join(leaf_ptkns)))): # elif (create_missing_nodes and # (i_last_ptkn == len(leaf_ptkns)-1)): @@ -1951,9 +1951,9 @@ class StaticObj(object): break if ((cmd_token == 'write') or - (cmd_token == 'write_once') or - (cmd_token == 'create_var') or - (cmd_token == 'replace')): + (cmd_token == 'write_once') or + (cmd_token == 'create_var') or + (cmd_token == 'replace')): open_paren = lex.get_token() #print('Parse(): open_paren=\"'+open_paren+'\"') @@ -1980,7 +1980,14 @@ class StaticObj(object): tmpl_filename = None # This means: define the template without attaching # a file name to it. (IE., don't write the contents - # of what's enclosed in the curly brackets { } to a file.) + # of what's enclosed in the curly brackets { } to a file. + # Why? + # "create_var" commands are implemented as "write() {...}" + # commands (containing one or more variables) which + # never get written to a file or the terminal. Parsing + # the contents of the curly brackets defines the variables + # inside in the same way as parsing the text inside an + # ordinary "write() {...}" command. if (cmd_token == 'replace'): tmpl_filename = "ttree_replacements.txt" @@ -4259,7 +4266,7 @@ def AutoAssignVals(cat_node, # category counter without incrementing it. var_binding.value = str(cat.counter.query()) - elif HasWildCard(var_binding.full_name): + elif HasWildcard(var_binding.full_name): # -- The wildcard hack --- # Variables containing * or ? characters in their names # are not allowed. These are not variables, but patterns @@ -4634,7 +4641,7 @@ def WriteVarBindingsFile(node): # Now omit variables whos names contain "*" or "?" # (these are actually not variables, but wildcard patterns) - if not HasWildCard(var_binding.full_name): + if not HasWildcard(var_binding.full_name): if len(var_binding.refs) > 0: usage_example = ' #' +\ ErrorLeader(var_binding.refs[0].srcloc.infile, diff --git a/tools/moltemplate/moltemplate/ttree_lex.py b/tools/moltemplate/moltemplate/ttree_lex.py index e29d4bc35b..e93ca5bbd2 100644 --- a/tools/moltemplate/moltemplate/ttree_lex.py +++ b/tools/moltemplate/moltemplate/ttree_lex.py @@ -1,6 +1,7 @@ # -*- coding: iso-8859-1 -*- - +### -*- coding: utf-8 -*- # Author: Andrew Jewett (jewett.aij at g mail) +# http://www.moltemplate.org # http://www.chem.ucsb.edu/~sheagroup # License: 3-clause BSD License (See LICENSE.TXT) # Copyright (c) 2012, Regents of the University of California @@ -43,7 +44,8 @@ __all__ = ["TtreeShlex", "SafelyEncodeString", "RemoveOuterQuotes", "MaxLenStr", - "HasWildCard", + "HasWildcard", + "MatchesPattern", #"IsRegex", "InputError", "ErrorLeader", @@ -93,6 +95,10 @@ class TtreeShlex(object): self.commenters = '#' self.wordchars = ('abcdfeghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_') + #if self.posix: + # self.wordchars += ('ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ' + # 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ') + if self.posix: self.wordchars += ('��������������������������������' '������������������������������') @@ -650,7 +656,7 @@ def MaxLenStr(s1, s2): # """ # return (len(pat)>=2) and (pat[0]=='/') and (pat[-1] == '/') -def HasWildCard(pat): +def HasWildcard(pat): """ Returns true if a string (pat) contains a '*' or '?' character. @@ -658,7 +664,7 @@ def HasWildCard(pat): return (pat.find('*') != -1) or (pat.find('?') != -1) -# def HasWildCard(pat): +# def HasWildcard(pat): # """ # Returns true if a string (pat) contains a non-backslash-protected # * or ? character. @@ -693,7 +699,7 @@ def MatchesPattern(s, pattern): # return False # new code: # uses precompiled regular expressions (See "pattern.search" below) - if HasWildCard(pattern): + if HasWildcard(pattern): if not fnmatch.fnmatchcase(s, pattern): return False elif s != pattern: @@ -1194,7 +1200,10 @@ def SplitTemplate(ltmpl, delim, delete_blanks=False): token_ltmpl = [] i = 0 while i < len(ltmpl): + entry = ltmpl[i] + #sys.stderr.write('ltmpl['+str(i)+'] = '+str(entry)+'\n') + if isinstance(entry, TextBlock): # if hasattr(entry, 'text'): prev_src_loc = entry.srcloc diff --git a/tools/moltemplate/moltemplate/ttree_matrix_stack.py b/tools/moltemplate/moltemplate/ttree_matrix_stack.py index 9c45fdc480..ba69cf7de7 100644 --- a/tools/moltemplate/moltemplate/ttree_matrix_stack.py +++ b/tools/moltemplate/moltemplate/ttree_matrix_stack.py @@ -1,4 +1,5 @@ # Author: Andrew Jewett (jewett.aij@gmail.com) +# http://www.moltemplate.org # http://www.chem.ucsb.edu/~sheagroup # License: 3-clause BSD License (See LICENSE.TXT) # Copyright (c) 2012, Regents of the University of California @@ -8,12 +9,19 @@ import random, math from collections import deque from array import array +#try: +# from StringIO import StringIO +#except ImportError: +# from io import StringIO + try: from .ttree_lex import InputError, ErrorLeader, OSrcLoc -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from ttree_lex import InputError, ErrorLeader, OSrcLoc + + def MultMat(dest, A, B): """ Multiply two matrices together. Store result in "dest". @@ -27,6 +35,21 @@ def MultMat(dest, A, B): for k in range(0, K): dest[i][j] += A[i][k] * B[k][j] +def Transpose(M): + return [ [M[j][i] for j in range(0, len(M))] + for i in range(0, len(M[0])) ] + + +def TransposeInPlace(M): + N = len(M) + for i in range(0, N): + for j in range(0, i): + M_ij = M[i][j] + M_ji = M[j][i] + M[i][j] = M_ji + M[j][i] = M_ij + + def MatToStr(M): strs = [] @@ -381,6 +404,51 @@ class AffineStack(object): AffineCompose(Mtmp, moveCentBack, Mdest) CopyMat(Mdest, Mtmp) + elif ((transform_str.find('quat(') == 0) or + (transform_str.find('quatT(') == 0)): + i_paren_close = transform_str.find(')') + if i_paren_close == -1: + i_paren_close = len(transform_str) + args = transform_str[5:i_paren_close].split(',') + center_v = None + if (len(args) == 7): + center_v = [float(args[4]), float(args[5]), float(args[6])] + elif (len(args) != 4): + raise InputError('Error near ' + ErrorLeader(src_loc.infile, src_loc.lineno) + ':\n' + ' Invalid command: \"' + transform_str + '\"\n' + ' This command requires either 4 or 7 numerical arguments. Either:\n' + ' rot(angle, axisX, axisY, axiZ) or \n' + ' rot(angle, axisX, axisY, axiZ, centerX, centerY, centerZ)') + M[0][3] = 0.0 # RotMatAXYZ() only modifies 3x3 submatrix of M + M[1][3] = 0.0 # The remaining final column must be zeroed by hand + M[2][3] = 0.0 + q = (float(args[0]), + float(args[1]), + float(args[2]), + float(args[3])) + Quaternion2Matrix(q, M) + if (transform_str.find('quatT(') == 0): + TransposeInPlace(M) + if (center_v == None): + AffineCompose(Mtmp, M, Mdest) + CopyMat(Mdest, Mtmp) + else: + # Move "center_v" to the origin + moveCentToOrig = [[1.0, 0.0, 0.0, -center_v[0]], + [0.0, 1.0, 0.0, -center_v[1]], + [0.0, 0.0, 1.0, -center_v[2]]] + AffineCompose(Mtmp, moveCentToOrig, Mdest) + CopyMat(Mdest, Mtmp) + # Rotate the coordinates (relative to the origin) + AffineCompose(Mtmp, M, Mdest) # M is the rotation matrix + CopyMat(Mdest, Mtmp) + # Move the origin back to center_v + moveCentBack = [[1.0, 0.0, 0.0, center_v[0]], + [0.0, 1.0, 0.0, center_v[1]], + [0.0, 0.0, 1.0, center_v[2]]] + AffineCompose(Mtmp, moveCentBack, Mdest) + CopyMat(Mdest, Mtmp) + # # elif transform_str.find('rotcm(') == 0: # # assert(xcm != None) # # i_paren_close = transform_str.find(')') @@ -585,6 +653,34 @@ class AffineStack(object): # # AffineCompose(Mtmp, moveCmBack, Mdest) # # CopyMat(Mdest, Mtmp) + #elif transform_str.find('read_xyz(') == 0: + # i_paren_close = transform_str.find(')') + # if i_paren_close == -1: + # i_paren_close = len(transform_str) + # args = transform_str[4:i_paren_close].split(',') + # if (len(args) != 1): + # raise InputError('Error near ' + ErrorLeader(src_loc.infile, src_loc.lineno) + ':\n' + # ' Invalid command: \"' + transform_str + '\"\n' + # ' This command expects the name of a file in XYZ format.\n') + # file_name = args[0] + # if (not file_name in coord_files): + # f = open(file_name, 'r') + # f.close() + # f.readline() # skip the first 2 lines + # f.readline() # of an .xyz file (header) + # for line in f: + # tokens = line.split() + # if (len(tokens) != 3) and (len(tokens) != 0): + # raise InputError('Error near ' + ErrorLeader(src_loc.infile, src_loc.lineno) + ':\n' + # ' Invalid command: \"' + transform_str + '\"\n' + # ' This command expects the name of a file in XYZ format.\n') + # crds.append((float(tokens[0]), + # float(tokens[1]), + # float(tokens[2])) + # self.coord_files[file_name] = crds + # else: + # crds = self.coord_files[file_name] + else: raise InputError('Error near ' + ErrorLeader(src_loc.infile, src_loc.lineno) + ':\n' ' Unknown transformation command: \"' + transform_str + '\"\n') @@ -601,6 +697,7 @@ class MultiAffineStack(object): self.stacks = None self.M = None self.error_if_substack_empty = False + self.coord_files = {} self.Clear() def Clear(self): @@ -610,6 +707,7 @@ class MultiAffineStack(object): self.stacks = deque([]) self.M = self.tot_stack.M self.error_if_substack_empty = False + self.coord_files = {} def _Update(self): self.tot_stack.Clear() @@ -793,6 +891,70 @@ def RotMatAXYZ(dest, angle, axis_x, axis_y, axis_z): # RotMatAXYZ(r, 90.0, 0.0, 0.0, 1.0) +def Quaternion2Matrix(q, M): + "convert a quaternion (q) to a 3x3 rotation matrix (M)""" + + M[0][0] = (q[0]*q[0])-(q[1]*q[1])-(q[2]*q[2])+(q[3]*q[3]) + M[1][1] = -(q[0]*q[0])+(q[1]*q[1])-(q[2]*q[2])+(q[3]*q[3]) + M[2][2] = -(q[0]*q[0])-(q[1]*q[1])+(q[2]*q[2])+(q[3]*q[3]) + M[0][1] = 2*(q[0]*q[1] - q[2]*q[3]); + M[1][0] = 2*(q[0]*q[1] + q[2]*q[3]); + M[1][2] = 2*(q[1]*q[2] - q[0]*q[3]); + M[2][1] = 2*(q[1]*q[2] + q[0]*q[3]); + M[0][2] = 2*(q[0]*q[2] + q[1]*q[3]); + M[2][0] = 2*(q[0]*q[2] - q[1]*q[3]); + + + +def Matrix2Quaternion(M, q): + """convert a 3x3 rotation matrix (M) to a quaternion (q) + http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/ + """ + tr = M[0][0] + M[1][1] + M[2][2] + if tr > 0: + S = math.sqrt(tr+1.0) * 2 # S=4*qw + qw = 0.25 * S + qx = (M[2][1] - M[1][2]) / S + qy = (M[0][2] - M[2][0]) / S + qz = (M[1][0] - M[0][1]) / S + elif (M[0][0] > M[1][1]) and (M[0][0] > M[2][2]): + S = math.sqrt(1.0 + M[0][0] - M[1][1] - M[2][2]) * 2 # S=4*qx + qw = (M[2][1] - M[1][2]) / S + qx = 0.25 * S + qy = (M[0][1] + M[1][0]) / S + qz = (M[0][2] + M[2][0]) / S + elif (M[1][1] > M[2][2]): + S = math.sqrt(1.0 + M[1][1] - M[0][0] - M[2][2]) * 2 # S=4*qy + qw = (M[0][2] - M[2][0]) / S + qx = (M[0][1] + M[1][0]) / S + qy = 0.25 * S + qz = (M[1][2] + M[2][1]) / S + else: + S = math.sqrt(1.0 + M[2][2] - M[0][0] - M[1][1]) * 2 # S=4*qz + qw = (M[1][0] - M[0][1]) / S + qx = (M[0][2] + M[2][0]) / S + qy = (M[1][2] + M[2][1]) / S + qz = 0.25 * S + q[0] = qw + q[1] = qx + q[2] = qy + q[3] = qz + + +def MultQuat(dest, q1, q2): + """ multiply 2 quaternions and store the result in "qdest" + (q1[0] + i*q1[1] + j*q1[2] + k*q1[3]) + * + (q2[0] + i*q2[1] + j*q3[2] + k*q3[3]) + https://en.wikipedia.org/wiki/Quaternion#Hamilton_product + """ + dest[0] = q1[0]*q2[0] - q1[1]*q2[1] - q1[2]*q2[2] - q1[3]*q2[3] + dest[1] = q1[0]*q2[1] + q1[1]*q2[0] + q1[2]*q2[3] - q1[3]*q2[2] + dest[2] = q1[0]*q2[2] - q1[1]*q2[3] + q1[2]*q2[0] + q1[3]*q2[1] + dest[3] = q1[0]*q2[3] + q1[1]*q2[2] - q1[2]*q2[1] + q1[3]*q2[0] + + + def CrossProd(dest, A, B): dest[0] = (A[1] * B[2] - B[1] * A[2]) dest[1] = (A[2] * B[0] - B[2] * A[0]) diff --git a/tools/moltemplate/moltemplate/ttree_render.py b/tools/moltemplate/moltemplate/ttree_render.py index f59a04aeb5..15b26a2e70 100755 --- a/tools/moltemplate/moltemplate/ttree_render.py +++ b/tools/moltemplate/moltemplate/ttree_render.py @@ -21,7 +21,7 @@ import gc try: from .ttree import ExtractFormattingCommands from .ttree_lex import SplitQuotedString, InputError, TemplateLexer -except (SystemError, ValueError): +except (ImportError, SystemError, ValueError): # not installed as a package from ttree import ExtractFormattingCommands from ttree_lex import SplitQuotedString, InputError, TemplateLexer @@ -31,11 +31,14 @@ g_filename = __file__.split('/')[-1] g_module_name = g_filename if g_filename.rfind('.py') != -1: g_module_name = g_filename[:g_filename.rfind('.py')] -g_date_str = '2016-12-21' -g_version_str = '0.2.0' +g_date_str = '2017-11-04' +g_version_str = '0.2.2' g_program_name = g_filename #sys.stderr.write(g_program_name+' v'+g_version_str+' '+g_date_str+' ') + + + def main(): try: if (len(sys.argv) != 2): @@ -79,21 +82,43 @@ def main(): assert(isinstance(entry, str)) if ((len(entry) > 1) and (entry[0] in lex.var_delim)): + + if ((len(entry) >= 3) and + (entry[1] == '{') and + (entry[-1] == '}')): + entry = entry[0] + entry[2:-1] + if '.' in entry: ic = entry.find('.') var_name = entry[:ic] var_suffix = entry[ic:] + if not var_suffix[0:7] in ('.ljust(', '.rjust('): + var_name = entry + var_suffix = '' else: var_name = entry var_suffix = '' - var_name = entry if var_name not in assignments: - raise(InputError('Error(' + g_program_name + ')' - #' at '+ErrorLeader(var_ref.src_loc.infile, - # var_ref.src_loc.lineno)+ - ' unknown variable:\n' - ' \"' + var_name + '\"\n')) + #COMMENTING OUT: + #raise(InputError('Error(' + g_program_name + ')' + # #' at '+ErrorLeader(var_ref.src_loc.infile, + # # var_ref.src_loc.lineno)+ + # ' unknown variable:\n' + # ' \"' + var_name + '\"\n')) + # ...actually don't raise an error message: + # Actually there are some legitimate reaons this could occur. + # Some users want to put LAMMPS-style variables in the + # write_once() {...} text blocks in their moltemplate files. + # Variables in both LAMMPS and moltemplate contain $ characters, + # and this script gets confused. Better to just ignore it + # when this happens instead of printing an error message. + # Just leave the text alone and print the variable name. + # + # Do this by substituting the variable's name as it's value: + + var_value = var_name + else: var_value = assignments[var_name] diff --git a/tools/moltemplate/setup.py b/tools/moltemplate/setup.py index 30e835de0c..925850a49e 100644 --- a/tools/moltemplate/setup.py +++ b/tools/moltemplate/setup.py @@ -4,7 +4,12 @@ setup( name='moltemplate', - packages=['moltemplate', 'moltemplate/nbody_alt_symmetry'], + packages=['moltemplate', + 'moltemplate.nbody_alt_symmetry'], + + package_dir={'moltemplate': 'moltemplate'}, #.py files are in "moltemplate/" + + package_data={'moltemplate': ['force_fields/*.lt']}, #.lt files are in "moltemplate/force_fields/" description='A general cross-platform text-based molecule builder for LAMMPS', @@ -14,9 +19,9 @@ setup( url='https://github.com/jewettaij/moltemplate', - download_url='https://github.com/jewettaij/moltemplate/archive/v2.3.7.zip', + download_url='https://github.com/jewettaij/moltemplate/archive/v2.8.6.zip', - version='2.3.7', + version='2.8.6', keywords=['simulation', 'LAMMPS', 'molecule editor', 'molecule builder', 'ESPResSo'], @@ -32,7 +37,13 @@ setup( 'License :: OSI Approved :: BSD License', 'Operating System :: MacOS :: MacOS X', 'Operating System :: POSIX :: Linux', - 'Operating System :: Microsoft :: Windows'], + 'Operating System :: Microsoft :: Windows', + 'Programming Language :: Python', + 'Programming Language :: Unix Shell', + 'Topic :: Scientific/Engineering :: Chemistry', + 'Topic :: Scientific/Engineering :: Physics', + 'Topic :: Multimedia :: Graphics :: 3D Modeling', + 'Intended Audience :: Science/Research'], scripts=['moltemplate/scripts/moltemplate.sh', 'moltemplate/scripts/cleanup_moltemplate.sh', @@ -58,13 +69,13 @@ setup( 'nbody_reorder_atoms.py=moltemplate.nbody_reorder_atoms:main', 'pdbsort.py=moltemplate.pdbsort:main', 'postprocess_input_script.py=moltemplate.postprocess_input_script:main', + 'postprocess_coeffs.py=moltemplate.postprocess_coeffs:main', 'raw2data.py=moltemplate.raw2data:main', 'remove_duplicate_atoms.py=moltemplate.remove_duplicate_atoms:main', 'remove_duplicates_nbody.py=moltemplate.remove_duplicates_nbody:main', 'renumber_DATA_first_column.py=moltemplate.renumber_DATA_first_column:main']}, - package_data={'moltemplate': ['force_fields/*.lt']}, - # install_requires=['numpy', 'scipy', 'biopython'], + # install_requires=['numpy', 'scipy'], setup_requires=['pytest-runner'], tests_require=['pytest'], zip_safe=True, -- GitLab From 0df8587c18f30633fea7c95522f807f447ccd059 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Thu, 28 Jun 2018 11:13:51 -0600 Subject: [PATCH 216/675] cmake: make GPU_ARCH free form --- cmake/CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 3cc25ac861..e4eccb978e 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -704,8 +704,7 @@ if(PKG_GPU) endif() option(CUDPP_OPT "Enable CUDPP_OPT" ON) - set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM architecture") - set_property(CACHE GPU_ARCH PROPERTY STRINGS sm_10 sm_20 sm_30 sm_60) + set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM architecture (e.g. sm_60)") file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/*.cu) list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_pppm.cu) -- GitLab From 4d629872d82e2ee5bc80015fa0cbc2dc85becc97 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 28 Jun 2018 14:05:25 -0400 Subject: [PATCH 217/675] CMake preset docs wording --- cmake/README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/cmake/README.md b/cmake/README.md index 462afcacb2..5419063f6d 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -162,12 +162,13 @@ file, there is another way of defining "presets" to compile LAMMPS in a certain way. A preset is a regular CMake script file that can use constructs such as -variables, lists and for-loops to manipulate configuration options. Options -must be set with the `CACHE` and `FORCE` flag to ensure they are considered. +variables, lists and for-loops to manipulate configuration options and create +an [*initial cache*](https://cmake.org/cmake/help/v3.12/manual/cmake.1.html). +Options must be set with the `CACHE` and `FORCE` flag to ensure they are +considered even during a second cmake run. -Such a file can then be passed to cmake via the `-C` flag to initialize the -cache. Several examples of such presets can be found in the `cmake/presets` -folder. +Such a file can then be passed to cmake via the `-C` flag. Several examples of +presets can be found in the `cmake/presets` folder. ```bash # build LAMMPS with all "standard" packages which don't use libraries and enable GPU package -- GitLab From 206d349d5ba002845d7604499c873ead6127fce9 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 28 Jun 2018 14:16:56 -0400 Subject: [PATCH 218/675] Simplify DetectBuildSystemConflict CMake utility --- cmake/Modules/StyleHeaderUtils.cmake | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/cmake/Modules/StyleHeaderUtils.cmake b/cmake/Modules/StyleHeaderUtils.cmake index 2def9ebc88..ea3bea3b51 100644 --- a/cmake/Modules/StyleHeaderUtils.cmake +++ b/cmake/Modules/StyleHeaderUtils.cmake @@ -154,13 +154,9 @@ function(GenerateStyleHeaders output_path) endfunction(GenerateStyleHeaders) function(DetectBuildSystemConflict lammps_src_dir) - math(EXPR N "${ARGC}-1") - - if(N GREATER 0) - math(EXPR ARG_END "${ARGC}-1") - - foreach(IDX RANGE 1 ${ARG_END}) - list(GET ARGV ${IDX} SRC_FILE) + if(ARGC GREATER 1) + list(REMOVE_AT ARGV 0) + foreach(SRC_FILE ${ARGV}) get_filename_component(FILENAME ${SRC_FILE} NAME) if(EXISTS ${lammps_src_dir}/${FILENAME}) message(FATAL_ERROR "\n########################################################################\n" -- GitLab From e0dc53ab3f3cf6fc40edaad25987402ffdfcf039 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 28 Jun 2018 14:22:37 -0400 Subject: [PATCH 219/675] Simplify CreateStyleHeader CMake utility --- cmake/Modules/StyleHeaderUtils.cmake | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/cmake/Modules/StyleHeaderUtils.cmake b/cmake/Modules/StyleHeaderUtils.cmake index ea3bea3b51..29ea372597 100644 --- a/cmake/Modules/StyleHeaderUtils.cmake +++ b/cmake/Modules/StyleHeaderUtils.cmake @@ -45,14 +45,10 @@ function(FindStyleHeadersExt path style_class extension headers sources) endfunction(FindStyleHeadersExt) function(CreateStyleHeader path filename) - math(EXPR N "${ARGC}-2") - set(temp "") - if(N GREATER 0) - math(EXPR ARG_END "${ARGC}-1") - - foreach(IDX RANGE 2 ${ARG_END}) - list(GET ARGV ${IDX} FNAME) + if(ARGC GREATER 2) + list(REMOVE_AT ARGV 0 1) + foreach(FNAME ${ARGV}) get_filename_component(FNAME ${FNAME} NAME) set(temp "${temp}#include \"${FNAME}\"\n") endforeach() -- GitLab From 946bca82c5893715c2313ebaf6996c7db63b4bee Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 29 Jun 2018 00:56:35 -0400 Subject: [PATCH 220/675] add options to support GNU gcc sanitizers --- cmake/CMakeLists.txt | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 122521d2f6..5d2c27a65c 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -11,7 +11,7 @@ get_filename_component(LAMMPS_LIB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../lib get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE) -#To not conflict with old Makefile build system, we build everything here +# To avoid conflicts with the conventional Makefile build system, we build everything here file(GLOB LIB_SOURCES ${LAMMPS_SOURCE_DIR}/*.cpp) file(GLOB LMP_SOURCES ${LAMMPS_SOURCE_DIR}/main.cpp) list(REMOVE_ITEM LIB_SOURCES ${LMP_SOURCES}) @@ -52,9 +52,24 @@ if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict") endif() -option(ENABLE_COVERAGE "Enable code coverage" OFF) -if(ENABLE_COVERAGE) - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") +# GNU compiler features +if (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") + option(ENABLE_COVERAGE "Enable code coverage" OFF) + if(ENABLE_COVERAGE) + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") + endif() + option(ENABLE_SANITIZE_ADDRESS "Enable address sanitizer" OFF) + if(ENABLE_SANITIZE_ADDRESS) + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address") + endif() + option(ENABLE_SANITIZE_UNDEFINED "Enable undefined behavior sanitizer" OFF) + if(ENABLE_SANITIZE_UNDEFINED) + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined") + endif() + option(ENABLE_SANITIZE_THREAD "Enable thread sanitizer" OFF) + if(ENABLE_SANITIZE_THREAD) + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread") + endif() endif() ######################################################################## -- GitLab From ad4720ef00d20a04ae5bc4f069fd87e9d4e4455f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 29 Jun 2018 01:00:20 -0400 Subject: [PATCH 221/675] make various compiler instrumentation flags "advanced" options --- cmake/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 5d2c27a65c..f9acc29dfa 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -55,18 +55,22 @@ endif() # GNU compiler features if (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") option(ENABLE_COVERAGE "Enable code coverage" OFF) + mark_as_advanced(ENABLE_COVERAGE) if(ENABLE_COVERAGE) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") endif() option(ENABLE_SANITIZE_ADDRESS "Enable address sanitizer" OFF) + mark_as_advanced(ENABLE_SANITIZE_ADDRESS) if(ENABLE_SANITIZE_ADDRESS) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address") endif() option(ENABLE_SANITIZE_UNDEFINED "Enable undefined behavior sanitizer" OFF) + mark_as_advanced(ENABLE_SANITIZE_UNDEFINED) if(ENABLE_SANITIZE_UNDEFINED) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined") endif() option(ENABLE_SANITIZE_THREAD "Enable thread sanitizer" OFF) + mark_as_advanced(ENABLE_SANITIZE_THREAD) if(ENABLE_SANITIZE_THREAD) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread") endif() -- GitLab From 4f9c0456e6c4ed2d83a6330491794a2c9eb1e249 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 29 Jun 2018 01:22:26 -0400 Subject: [PATCH 222/675] eliminate variable length arrays from compute entropy/atom --- src/USER-MISC/compute_entropy_atom.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/USER-MISC/compute_entropy_atom.cpp b/src/USER-MISC/compute_entropy_atom.cpp index a2e6765c83..7e0f346684 100644 --- a/src/USER-MISC/compute_entropy_atom.cpp +++ b/src/USER-MISC/compute_entropy_atom.cpp @@ -163,7 +163,8 @@ void ComputeEntropyAtom::compute_peratom() int i,j,ii,jj,inum,jnum; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *ilist,*jlist,*numneigh,**firstneigh; - double rbin[nbin], rbinsq[nbin]; + double *rbin = new double[nbin]; + double *rbinsq = new double[nbin]; invoked_peratom = update->ntimestep; @@ -235,7 +236,7 @@ void ComputeEntropyAtom::compute_peratom() // loop over list of all neighbors within force cutoff // initialize gofr - double gofr[nbin]; + double *gofr = new double[nbin]; for(int k=0;k Date: Fri, 29 Jun 2018 01:22:35 -0400 Subject: [PATCH 223/675] remove unused class member --- src/USER-MISC/compute_entropy_atom.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/USER-MISC/compute_entropy_atom.h b/src/USER-MISC/compute_entropy_atom.h index c8ea19ae76..c09a6e791c 100644 --- a/src/USER-MISC/compute_entropy_atom.h +++ b/src/USER-MISC/compute_entropy_atom.h @@ -41,7 +41,6 @@ class ComputeEntropyAtom : public Compute { double cutsq, cutsq2; double deltar; int deltabin; - double invNormConstantBase; int avg_flag; int local_flag; }; -- GitLab From 75a39680392099ecfcdc300c961ae904ca8da09c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 29 Jun 2018 06:48:11 -0400 Subject: [PATCH 224/675] multiple small tweaks to compute entropy/atom - improve error detection and messages - avoid sigma/cutoff to be zero (and thus division by zero) - move new/delete of temporary storage outside of loop --- src/USER-MISC/compute_entropy_atom.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/USER-MISC/compute_entropy_atom.cpp b/src/USER-MISC/compute_entropy_atom.cpp index 7e0f346684..922f2aaf5e 100644 --- a/src/USER-MISC/compute_entropy_atom.cpp +++ b/src/USER-MISC/compute_entropy_atom.cpp @@ -59,11 +59,11 @@ ComputeEntropyAtom(LAMMPS *lmp, int narg, char **arg) : // the g(r) sigma = force->numeric(FLERR,arg[3]); - if (sigma < 0.0) error->all(FLERR,"Illegal compute entropy/atom" - " command; negative sigma"); + if (sigma <= 0.0) error->all(FLERR,"Illegal compute entropy/atom" + " command; sigma must be positive"); cutoff = force->numeric(FLERR,arg[4]); - if (cutoff < 0.0) error->all(FLERR,"Illegal compute entropy/atom" - " command; negative cutoff"); + if (cutoff <= 0.0) error->all(FLERR,"Illegal compute entropy/atom" + " command; cutoff must be positive"); avg_flag = 0; local_flag = 0; @@ -121,7 +121,7 @@ ComputeEntropyAtom::~ComputeEntropyAtom() void ComputeEntropyAtom::init() { if (force->pair == NULL) - error->all(FLERR,"Compute centro/atom requires a pair style be" + error->all(FLERR,"Compute entropy/atom requires a pair style be" " defined"); if ( (cutoff+cutoff2) > (force->pair->cutforce + neighbor->skin) ) @@ -208,6 +208,8 @@ void ComputeEntropyAtom::compute_peratom() double **x = atom->x; int *mask = atom->mask; + double *gofr = new double[nbin]; + double *integrand = new double[nbin]; for (ii = 0; ii < inum; ii++) { i = ilist[ii]; @@ -236,7 +238,6 @@ void ComputeEntropyAtom::compute_peratom() // loop over list of all neighbors within force cutoff // initialize gofr - double *gofr = new double[nbin]; for(int k=0;k Date: Fri, 29 Jun 2018 08:06:51 -0600 Subject: [PATCH 225/675] new ARM makefiles, also some doc tweaks --- doc/src/Section_howto.txt | 1 - doc/src/atom_style.txt | 2 +- doc/src/fix_rigid.txt | 24 ++-- .../Makefile.aarch64_arm_openmpi_armpl | 121 ++++++++++++++++++ .../Makefile.aarch64_arm_serial_armpl | 120 +++++++++++++++++ .../Makefile.aarch64_g++_openmpi_armpl | 121 ++++++++++++++++++ .../Makefile.aarch64_g++_serial_armpl | 120 +++++++++++++++++ src/dump_custom.cpp | 2 +- 8 files changed, 495 insertions(+), 16 deletions(-) create mode 100644 src/MAKE/MACHINES/Makefile.aarch64_arm_openmpi_armpl create mode 100644 src/MAKE/MACHINES/Makefile.aarch64_arm_serial_armpl create mode 100644 src/MAKE/MACHINES/Makefile.aarch64_g++_openmpi_armpl create mode 100644 src/MAKE/MACHINES/Makefile.aarch64_g++_serial_armpl diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt index 9e6e9f8665..7d1b82f4f6 100644 --- a/doc/src/Section_howto.txt +++ b/doc/src/Section_howto.txt @@ -2954,7 +2954,6 @@ property/atom"_compute_property_atom.html. It enables to output all the per atom magnetic quantities. Typically, the orientation of a given magnetic spin, or the magnetic force acting on this spin. - :line :line diff --git a/doc/src/atom_style.txt b/doc/src/atom_style.txt index 7ad4e1a88a..5421e467aa 100644 --- a/doc/src/atom_style.txt +++ b/doc/src/atom_style.txt @@ -15,7 +15,7 @@ atom_style style args :pre style = {angle} or {atomic} or {body} or {bond} or {charge} or {dipole} or \ {dpd} or {edpd} or {mdpd} or {tdpd} or {electron} or {ellipsoid} or \ {full} or {line} or {meso} or {molecular} or {peri} or {smd} or \ - {sphere} or {tri} or {template} or {hybrid} or {spin} :ulb,l + {sphere} or {spin} or {tri} or {template} or {hybrid} :ulb,l args = none for any style except the following {body} args = bstyle bstyle-args bstyle = style of body particles diff --git a/doc/src/fix_rigid.txt b/doc/src/fix_rigid.txt index ec7ed4f2b1..8d803ac6da 100644 --- a/doc/src/fix_rigid.txt +++ b/doc/src/fix_rigid.txt @@ -241,19 +241,17 @@ molecule ID = 0) surrounding rigid bodies, this may not be what you want. Thus you should be careful to use a fix group that only includes atoms you want to be part of rigid bodies. -Bodystyle {custom} is similar to bodystyle {molecule}, however some -custom properties are used to group atoms into rigid bodies. The -special case for molecule/body ID = 0 is not available. Possible -custom properties are an integer property associated with atoms through -"fix property/atom"_fix_property_atom.html or an atom style variable -or an atomfile style variable. For the latter two, the variable value -will be rounded to an integer and then rigid bodies defined from -those values. - -For bodystyle {group}, each of the listed groups is treated as a -separate rigid body. Only atoms that are also in the fix group are -included in each rigid body. This option is only allowed for the -{rigid} styles. +Bodystyle {custom} is similar to bodystyle {molecule} except that it +is more flexible in using other per-atom properties to define the sets +of atoms that form rigid bodies. An integer vector defined by the +"fix property/atom"_fix_property_atom.txt command can be used. Or an +"atom-style or atomfile-style variable"_variable.html can be used; the +floating-point value produced by the variable is rounded to an +integer. As with bondstyle {molecule}, each set of atoms in the fix +groups with the same integer value is treated as a different rigid +body. Since fix property/atom vectors and atom-style variables +produce values for all atoms, you should be careful to use a fix group +that only includes atoms you want to be part of rigid bodies. NOTE: To compute the initial center-of-mass position and other properties of each rigid body, the image flags for each atom in the diff --git a/src/MAKE/MACHINES/Makefile.aarch64_arm_openmpi_armpl b/src/MAKE/MACHINES/Makefile.aarch64_arm_openmpi_armpl new file mode 100644 index 0000000000..0f5087618b --- /dev/null +++ b/src/MAKE/MACHINES/Makefile.aarch64_arm_openmpi_armpl @@ -0,0 +1,121 @@ +# g++_openmpi = OpenMPI with compiler set to GNU g++ + +SHELL = /bin/sh + +# --------------------------------------------------------------------- +# compiler/linker settings +# specify flags and libraries needed for your compiler + +#export OMPI_CXX = armclang++ +CC = mpicxx +CCFLAGS = -O3 -mcpu=native +SHFLAGS = -fPIC +DEPFLAGS = -M + +LINK = mpicxx +LINKFLAGS = -g -O +LIB = +SIZE = size + +ARCHIVE = ar +ARFLAGS = -rc +SHLIBFLAGS = -shared + +# --------------------------------------------------------------------- +# LAMMPS-specific settings, all OPTIONAL +# specify settings for LAMMPS features you will use +# if you change any -D setting, do full re-compile after "make clean" + +# LAMMPS ifdef settings +# see possible settings in Section 2.2 (step 4) of manual + +LMP_INC = -DLAMMPS_GZIP + +# MPI library +# see discussion in Section 2.2 (step 5) of manual +# MPI wrapper compiler/linker can provide this info +# can point to dummy MPI library in src/STUBS as in Makefile.serial +# use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts +# INC = path for mpi.h, MPI compiler settings +# PATH = path for MPI library +# LIB = name of MPI library + +MPI_INC = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1 +MPI_PATH = +MPI_LIB = + +# FFT library +# see discussion in Section 2.2 (step 6) of manaul +# can be left blank to use provided KISS FFT library +# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings +# PATH = path for FFT library +# LIB = name of FFT library + +FFT_INC = -DFFT_FFTW +FFT_PATH = -L$(ARMPL_LIBRARIES) +FFT_LIB = -larmpl_lp64 + +# JPEG and/or PNG library +# see discussion in Section 2.2 (step 7) of manual +# only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC +# INC = path(s) for jpeglib.h and/or png.h +# PATH = path(s) for JPEG library and/or PNG library +# LIB = name(s) of JPEG library and/or PNG library + +JPG_INC = +JPG_PATH = +JPG_LIB = + +# --------------------------------------------------------------------- +# build rules and dependencies +# do not edit this section + +include Makefile.package.settings +include Makefile.package + +EXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(PKG_SYSINC) +EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH) +EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB) +EXTRA_CPP_DEPENDS = $(PKG_CPP_DEPENDS) +EXTRA_LINK_DEPENDS = $(PKG_LINK_DEPENDS) + +# Path to src files + +vpath %.cpp .. +vpath %.h .. + +# Link target + +$(EXE): $(OBJ) $(EXTRA_LINK_DEPENDS) + $(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE) + $(SIZE) $(EXE) + +# Library targets + +lib: $(OBJ) $(EXTRA_LINK_DEPENDS) + $(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ) + +shlib: $(OBJ) $(EXTRA_LINK_DEPENDS) + $(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o $(EXE) \ + $(OBJ) $(EXTRA_LIB) $(LIB) + +# Compilation rules + +%.o:%.cpp $(EXTRA_CPP_DEPENDS) + $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< + +%.d:%.cpp $(EXTRA_CPP_DEPENDS) + $(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@ + +%.o:%.cu $(EXTRA_CPP_DEPENDS) + $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< + +# Individual dependencies + +depend : fastdep.exe $(SRC) + @./fastdep.exe $(EXTRA_INC) -- $^ > .depend || exit 1 + +fastdep.exe: ../DEPEND/fastdep.c + cc -O -o $@ $< + +sinclude .depend diff --git a/src/MAKE/MACHINES/Makefile.aarch64_arm_serial_armpl b/src/MAKE/MACHINES/Makefile.aarch64_arm_serial_armpl new file mode 100644 index 0000000000..c303a97e17 --- /dev/null +++ b/src/MAKE/MACHINES/Makefile.aarch64_arm_serial_armpl @@ -0,0 +1,120 @@ +# arm_serial = Arm armclang compiler, no MPI + +SHELL = /bin/sh + +# --------------------------------------------------------------------- +# compiler/linker settings +# specify flags and libraries needed for your compiler + +CC = armclang++ +CCFLAGS = -O3 -mcpu=native +SHFLAGS = -fPIC +DEPFLAGS = -M + +LINK = armclang++ +LINKFLAGS = -g -O +LIB = +SIZE = size + +ARCHIVE = ar +ARFLAGS = -rc +SHLIBFLAGS = -shared + +# --------------------------------------------------------------------- +# LAMMPS-specific settings, all OPTIONAL +# specify settings for LAMMPS features you will use +# if you change any -D setting, do full re-compile after "make clean" + +# LAMMPS ifdef settings +# see possible settings in Section 2.2 (step 4) of manual + +LMP_INC = -DLAMMPS_GZIP + +# MPI library +# see discussion in Section 2.2 (step 5) of manual +# MPI wrapper compiler/linker can provide this info +# can point to dummy MPI library in src/STUBS as in Makefile.serial +# use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts +# INC = path for mpi.h, MPI compiler settings +# PATH = path for MPI library +# LIB = name of MPI library + +MPI_INC = -I../STUBS +MPI_PATH = -L../STUBS +MPI_LIB = -lmpi_stubs + +# FFT library +# see discussion in Section 2.2 (step 6) of manaul +# can be left blank to use provided KISS FFT library +# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings +# PATH = path for FFT library +# LIB = name of FFT library + +FFT_INC = -DFFT_FFTW +FFT_PATH = -L$(ARMPL_LIBRARIES) +FFT_LIB = -larmpl_lp64 + +# JPEG and/or PNG library +# see discussion in Section 2.2 (step 7) of manual +# only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC +# INC = path(s) for jpeglib.h and/or png.h +# PATH = path(s) for JPEG library and/or PNG library +# LIB = name(s) of JPEG library and/or PNG library + +JPG_INC = +JPG_PATH = +JPG_LIB = + +# --------------------------------------------------------------------- +# build rules and dependencies +# do not edit this section + +include Makefile.package.settings +include Makefile.package + +EXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(PKG_SYSINC) +EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH) +EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB) +EXTRA_CPP_DEPENDS = $(PKG_CPP_DEPENDS) +EXTRA_LINK_DEPENDS = $(PKG_LINK_DEPENDS) + +# Path to src files + +vpath %.cpp .. +vpath %.h .. + +# Link target + +$(EXE): $(OBJ) $(EXTRA_LINK_DEPENDS) + $(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE) + $(SIZE) $(EXE) + +# Library targets + +lib: $(OBJ) $(EXTRA_LINK_DEPENDS) + $(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ) + +shlib: $(OBJ) $(EXTRA_LINK_DEPENDS) + $(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o $(EXE) \ + $(OBJ) $(EXTRA_LIB) $(LIB) + +# Compilation rules + +%.o:%.cpp $(EXTRA_CPP_DEPENDS) + $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< + +%.d:%.cpp $(EXTRA_CPP_DEPENDS) + $(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@ + +%.o:%.cu $(EXTRA_CPP_DEPENDS) + $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< + +# Individual dependencies + +depend : fastdep.exe $(SRC) + @./fastdep.exe $(EXTRA_INC) -- $^ > .depend || exit 1 + +fastdep.exe: ../DEPEND/fastdep.c + cc -O -o $@ $< + +sinclude .depend diff --git a/src/MAKE/MACHINES/Makefile.aarch64_g++_openmpi_armpl b/src/MAKE/MACHINES/Makefile.aarch64_g++_openmpi_armpl new file mode 100644 index 0000000000..b3cc1f48a3 --- /dev/null +++ b/src/MAKE/MACHINES/Makefile.aarch64_g++_openmpi_armpl @@ -0,0 +1,121 @@ +# g++_openmpi = OpenMPI with compiler set to GNU g++ + +SHELL = /bin/sh + +# --------------------------------------------------------------------- +# compiler/linker settings +# specify flags and libraries needed for your compiler + +export OMPI_CXX = g++ +CC = mpicxx +CCFLAGS = -O3 -march=native -mcpu=native +SHFLAGS = -fPIC +DEPFLAGS = -M + +LINK = mpicxx +LINKFLAGS = -O +LIB = +SIZE = size + +ARCHIVE = ar +ARFLAGS = -rc +SHLIBFLAGS = -shared + +# --------------------------------------------------------------------- +# LAMMPS-specific settings, all OPTIONAL +# specify settings for LAMMPS features you will use +# if you change any -D setting, do full re-compile after "make clean" + +# LAMMPS ifdef settings +# see possible settings in Section 2.2 (step 4) of manual + +LMP_INC = -DLAMMPS_GZIP + +# MPI library +# see discussion in Section 2.2 (step 5) of manual +# MPI wrapper compiler/linker can provide this info +# can point to dummy MPI library in src/STUBS as in Makefile.serial +# use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts +# INC = path for mpi.h, MPI compiler settings +# PATH = path for MPI library +# LIB = name of MPI library + +MPI_INC = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1 +MPI_PATH = +MPI_LIB = + +# FFT library +# see discussion in Section 2.2 (step 6) of manaul +# can be left blank to use provided KISS FFT library +# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings +# PATH = path for FFT library +# LIB = name of FFT library + +FFT_INC = -DFFT_FFTW +FFT_PATH = -L$(ARMPL_LIBRARIES) +FFT_LIB = -larmpl_lp64 + +# JPEG and/or PNG library +# see discussion in Section 2.2 (step 7) of manual +# only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC +# INC = path(s) for jpeglib.h and/or png.h +# PATH = path(s) for JPEG library and/or PNG library +# LIB = name(s) of JPEG library and/or PNG library + +JPG_INC = +JPG_PATH = +JPG_LIB = + +# --------------------------------------------------------------------- +# build rules and dependencies +# do not edit this section + +include Makefile.package.settings +include Makefile.package + +EXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(PKG_SYSINC) +EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH) +EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB) +EXTRA_CPP_DEPENDS = $(PKG_CPP_DEPENDS) +EXTRA_LINK_DEPENDS = $(PKG_LINK_DEPENDS) + +# Path to src files + +vpath %.cpp .. +vpath %.h .. + +# Link target + +$(EXE): $(OBJ) $(EXTRA_LINK_DEPENDS) + $(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE) + $(SIZE) $(EXE) + +# Library targets + +lib: $(OBJ) $(EXTRA_LINK_DEPENDS) + $(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ) + +shlib: $(OBJ) $(EXTRA_LINK_DEPENDS) + $(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o $(EXE) \ + $(OBJ) $(EXTRA_LIB) $(LIB) + +# Compilation rules + +%.o:%.cpp $(EXTRA_CPP_DEPENDS) + $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< + +%.d:%.cpp $(EXTRA_CPP_DEPENDS) + $(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@ + +%.o:%.cu $(EXTRA_CPP_DEPENDS) + $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< + +# Individual dependencies + +depend : fastdep.exe $(SRC) + @./fastdep.exe $(EXTRA_INC) -- $^ > .depend || exit 1 + +fastdep.exe: ../DEPEND/fastdep.c + cc -O -o $@ $< + +sinclude .depend diff --git a/src/MAKE/MACHINES/Makefile.aarch64_g++_serial_armpl b/src/MAKE/MACHINES/Makefile.aarch64_g++_serial_armpl new file mode 100644 index 0000000000..45c0bb162b --- /dev/null +++ b/src/MAKE/MACHINES/Makefile.aarch64_g++_serial_armpl @@ -0,0 +1,120 @@ +# g++_serial = GNU g++ compiler, no MPI + +SHELL = /bin/sh + +# --------------------------------------------------------------------- +# compiler/linker settings +# specify flags and libraries needed for your compiler + +CC = g++ +CCFLAGS = -O3 -march=native -mcpu=native +SHFLAGS = -fPIC +DEPFLAGS = -M + +LINK = g++ +LINKFLAGS = -O +LIB = +SIZE = size + +ARCHIVE = ar +ARFLAGS = -rc +SHLIBFLAGS = -shared + +# --------------------------------------------------------------------- +# LAMMPS-specific settings, all OPTIONAL +# specify settings for LAMMPS features you will use +# if you change any -D setting, do full re-compile after "make clean" + +# LAMMPS ifdef settings +# see possible settings in Section 2.2 (step 4) of manual + +LMP_INC = -DLAMMPS_GZIP + +# MPI library +# see discussion in Section 2.2 (step 5) of manual +# MPI wrapper compiler/linker can provide this info +# can point to dummy MPI library in src/STUBS as in Makefile.serial +# use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts +# INC = path for mpi.h, MPI compiler settings +# PATH = path for MPI library +# LIB = name of MPI library + +MPI_INC = -I../STUBS +MPI_PATH = -L../STUBS +MPI_LIB = -lmpi_stubs + +# FFT library +# see discussion in Section 2.2 (step 6) of manaul +# can be left blank to use provided KISS FFT library +# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings +# PATH = path for FFT library +# LIB = name of FFT library + +FFT_INC = -DFFT_FFTW +FFT_PATH = -L$(ARMPL_LIBRARIES) +FFT_LIB = -larmpl_lp64 + +# JPEG and/or PNG library +# see discussion in Section 2.2 (step 7) of manual +# only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC +# INC = path(s) for jpeglib.h and/or png.h +# PATH = path(s) for JPEG library and/or PNG library +# LIB = name(s) of JPEG library and/or PNG library + +JPG_INC = +JPG_PATH = +JPG_LIB = + +# --------------------------------------------------------------------- +# build rules and dependencies +# do not edit this section + +include Makefile.package.settings +include Makefile.package + +EXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(PKG_SYSINC) +EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH) +EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB) +EXTRA_CPP_DEPENDS = $(PKG_CPP_DEPENDS) +EXTRA_LINK_DEPENDS = $(PKG_LINK_DEPENDS) + +# Path to src files + +vpath %.cpp .. +vpath %.h .. + +# Link target + +$(EXE): $(OBJ) $(EXTRA_LINK_DEPENDS) + $(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE) + $(SIZE) $(EXE) + +# Library targets + +lib: $(OBJ) $(EXTRA_LINK_DEPENDS) + $(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ) + +shlib: $(OBJ) $(EXTRA_LINK_DEPENDS) + $(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o $(EXE) \ + $(OBJ) $(EXTRA_LIB) $(LIB) + +# Compilation rules + +%.o:%.cpp $(EXTRA_CPP_DEPENDS) + $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< + +%.d:%.cpp $(EXTRA_CPP_DEPENDS) + $(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@ + +%.o:%.cu $(EXTRA_CPP_DEPENDS) + $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< + +# Individual dependencies + +depend : fastdep.exe $(SRC) + @./fastdep.exe $(EXTRA_INC) -- $^ > .depend || exit 1 + +fastdep.exe: ../DEPEND/fastdep.c + cc -O -o $@ $< + +sinclude .depend diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index af2e34b022..4c3950c099 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -244,7 +244,7 @@ DumpCustom::~DumpCustom() for (int i = 1; i <= ntypes; i++) delete [] typenames[i]; delete [] typenames; - if(vformat) { + if (vformat) { for (int i = 0; i < size_one; i++) delete [] vformat[i]; delete [] vformat; } -- GitLab From e08ccd0a7c62b71fa8cb8f3cd4f54b83ca2ed7de Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Fri, 29 Jun 2018 11:58:27 -0400 Subject: [PATCH 226/675] Forgot to include change in fix_enforce2d to access fixlist in kokkos port. --- src/fix_enforce2d.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fix_enforce2d.h b/src/fix_enforce2d.h index cdead78f6a..a3f79309dc 100644 --- a/src/fix_enforce2d.h +++ b/src/fix_enforce2d.h @@ -36,7 +36,7 @@ class FixEnforce2D : public Fix { void post_force_respa(int, int, int); void min_post_force(int); - private: + protected: int nfixlist; class Fix **flist; }; -- GitLab From b819018084385988591b1b9dd2e736ffd005d0a1 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 29 Jun 2018 15:31:15 -0400 Subject: [PATCH 227/675] Revert change to CMakeLists.txt which only works with 3.9+ --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index f9acc29dfa..bf57398c71 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -941,7 +941,7 @@ endforeach() string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE) get_directory_property(CPPFLAGS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS) include(FeatureSummary) -feature_summary(DEFAULT_DESCRIPTION WHAT PACKAGES_FOUND) +feature_summary(DESCRIPTION "The following packages have been found:" WHAT PACKAGES_FOUND) message(STATUS "<<< Build configuration >>> Build type ${CMAKE_BUILD_TYPE} Install path ${CMAKE_INSTALL_PREFIX} -- GitLab From a8b7153f4ed1a2b6286e00be0f93a5d5e487acc4 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 29 Jun 2018 16:00:08 -0400 Subject: [PATCH 228/675] Fixes issue #975 --- src/PYTHON/python_impl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PYTHON/python_impl.cpp b/src/PYTHON/python_impl.cpp index 9f018ad602..cc5edaf3f5 100644 --- a/src/PYTHON/python_impl.cpp +++ b/src/PYTHON/python_impl.cpp @@ -344,7 +344,7 @@ void PythonImpl::invoke_function(int ifunc, char *result) } else if (otype == DOUBLE) { sprintf(result,"%.15g",PyFloat_AsDouble(pValue)); } else if (otype == STRING) { - char *pystr = PY_STRING_AS_STRING(pValue); + const char *pystr = PY_STRING_AS_STRING(pValue); if (pfuncs[ifunc].longstr) strncpy(pfuncs[ifunc].longstr,pystr,pfuncs[ifunc].length_longstr); else strncpy(result,pystr,VALUELENGTH-1); -- GitLab From d2dd76e6555d5d4c609f31e782743ea51dd04606 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 29 Jun 2018 14:56:27 -0600 Subject: [PATCH 229/675] added SPIN package to Section_packages doc --- doc/src/Section_howto.txt | 17 +++++++++-------- doc/src/Section_packages.txt | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt index 7d1b82f4f6..2784858f02 100644 --- a/doc/src/Section_howto.txt +++ b/doc/src/Section_howto.txt @@ -2911,14 +2911,15 @@ too close, which can cause numerical issues. 6.28 Magnetic spins :link(howto_28),h4 -The magnetic spin simualtions are enabled by the SPIN package, whose -implementation is detailed in "Tranchida"_#Tranchida7. - -The model representents the simulation of atomic magnetic spins coupled -to lattice vibrations. The dynamics of those magnetic spins can be used -to simulate a broad range a phenomena related to magneto-elasticity, or -or to study the influence of defects on the magnetic properties of -materials. +Classical magnetic spin simualtions can be performed via the SPIN +package. The algrorithmic and implementation details are described in +"Tranchida"_#Tranchida7. + +The model representents the simulation of atomic magnetic spins +coupled to lattice vibrations. The dynamics of those magnetic spins +can be used to simulate a broad range a phenomena related to +magneto-elasticity, or or to study the influence of defects on the +magnetic properties of materials. The magnetic spins are interacting with each others and with the lattice via pair interactions. Typically, the magnetic exchange diff --git a/doc/src/Section_packages.txt b/doc/src/Section_packages.txt index e9387fe35f..7c762fc055 100644 --- a/doc/src/Section_packages.txt +++ b/doc/src/Section_packages.txt @@ -114,6 +114,7 @@ Package, Description, Doc page, Example, Library "RIGID"_#RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, - "SHOCK"_#SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, - "SNAP"_#SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, - +"SPIN"_#SPIN, magnetic atomic spin dynamics, "Section 6.6.28"_Section_howto.html#howto_28, SPIN, - "SRD"_#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, - "VORONOI"_#VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext :tb(ea=c,ca1=l) @@ -1415,6 +1416,38 @@ examples/snap :ul :line +SPIN package :link(SNAP),h4 + +[Contents:] + +Model atomic magnetic spins classically, coupled to atoms moving in +the usual manner via MD. Various pair, fix, and compute styles. + +[Author:] Julian Tranchida (Sandia). + +[Install or un-install:] + +make yes-spin +make machine :pre + +make no-spin +make machine :pre + +[Supporting info:] + +src/SPIN: filenames -> commands +"Section 6.28"_Section_howto.html#howto_28 +"pair_style spin/dmi"_pair_spin_dmi.html +"pair_style spin/exchange"_pair_spin_exchange.html +"pair_style spin/magelec"_pair_spin_magelec.html +"pair_style spin/neel"_pair_spin_neel.html +"fix nve/spin"_fix_nve_spin.html +"fix precession/spin"_fix_precession_spin.html +"compute spin"_compute_spin.html +examples/SPIN :ul + +:line + SRD package :link(SRD),h4 [Contents:] -- GitLab From bf9646cbbecc78fc73b56ea7a18b5ff99bf3e052 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 29 Jun 2018 15:08:19 -0600 Subject: [PATCH 230/675] fix glitch in ABIVERSION in fix latte --- src/LATTE/fix_latte.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/LATTE/fix_latte.cpp b/src/LATTE/fix_latte.cpp index 168692db9f..18502dd013 100644 --- a/src/LATTE/fix_latte.cpp +++ b/src/LATTE/fix_latte.cpp @@ -48,7 +48,7 @@ extern "C" { // a meaningful error messages, as they can cause // difficult to debug crashes or memory corruption. -#define ABIVERSION 20180622 +#define LATTE_ABIVERSION 20180622 #define INVOKED_PERATOM 8 /* ---------------------------------------------------------------------- */ -- GitLab From ea35235ca023e7eac69a4c273c9c0dffc59b4e14 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 29 Jun 2018 16:12:25 -0600 Subject: [PATCH 231/675] couple more doc tweaks - sigh --- README | 3 +-- doc/src/Section_packages.txt | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/README b/README index 3a4a865eb5..784b1cb13e 100644 --- a/README +++ b/README @@ -25,8 +25,7 @@ The LAMMPS distribution includes the following files and directories: README this file LICENSE the GNU General Public License (GPL) bench benchmark problems -cmake cmake buildsystem -couple code coupling examples using LAMMPS as a library +cmake CMake build system doc documentation examples simple test problems lib libraries LAMMPS can be linked with diff --git a/doc/src/Section_packages.txt b/doc/src/Section_packages.txt index 7c762fc055..218866e271 100644 --- a/doc/src/Section_packages.txt +++ b/doc/src/Section_packages.txt @@ -1416,7 +1416,7 @@ examples/snap :ul :line -SPIN package :link(SNAP),h4 +SPIN package :link(SPIN),h4 [Contents:] -- GitLab From 43ffee980d314d33f20dbf13cec45bfb639a6e96 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 29 Jun 2018 19:07:14 -0400 Subject: [PATCH 232/675] fix typo in python module --- python/lammps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/lammps.py b/python/lammps.py index 7576138f1a..e7d703e12a 100644 --- a/python/lammps.py +++ b/python/lammps.py @@ -236,7 +236,7 @@ class lammps(object): if cmd: cmd = cmd.encode() self.lib.lammps_command(self.lmp,cmd) - if self.uses_exceptions and self.lib.lammps_has_error(self.lmp): + if self.has_exceptions and self.lib.lammps_has_error(self.lmp): sb = create_string_buffer(100) error_type = self.lib.lammps_get_last_error_message(self.lmp, sb, 100) error_msg = sb.value.decode().strip() -- GitLab From a52ddf8759f0863cc179d860ca791dd4e8599d99 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Sat, 30 Jun 2018 08:03:24 -0600 Subject: [PATCH 233/675] patch 29Jun18 --- doc/src/Manual.txt | 4 ++-- src/version.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index e302b061e3..e34ec8d5ba 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,7 +1,7 @@ LAMMPS Users Manual - + @@ -19,7 +19,7 @@ :line LAMMPS Documentation :c,h1 -22 Jun 2018 version :c,h2 +29 Jun 2018 version :c,h2 Version info: :h3 diff --git a/src/version.h b/src/version.h index 04baa25f12..2833430def 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "22 Jun 2018" +#define LAMMPS_VERSION "29 Jun 2018" -- GitLab From 7260bb58e18f968d0f4aae9a0a668b591cbc82a1 Mon Sep 17 00:00:00 2001 From: Sergey Lishchuk Date: Wed, 4 Jul 2018 11:03:30 +0100 Subject: [PATCH 234/675] Added Axilrod-Teller manybody potential --- doc/src/Eqs/pair_atm.jpg | Bin 0 -> 5474 bytes doc/src/Eqs/pair_atm.tex | 9 ++ doc/src/pair_atm.txt | 85 ++++++++++ examples/in.atm | 29 ++++ src/MANYBODY/pair_atm.cpp | 317 ++++++++++++++++++++++++++++++++++++++ src/MANYBODY/pair_atm.h | 76 +++++++++ 6 files changed, 516 insertions(+) create mode 100644 doc/src/Eqs/pair_atm.jpg create mode 100644 doc/src/Eqs/pair_atm.tex create mode 100644 doc/src/pair_atm.txt create mode 100644 examples/in.atm create mode 100644 src/MANYBODY/pair_atm.cpp create mode 100644 src/MANYBODY/pair_atm.h diff --git a/doc/src/Eqs/pair_atm.jpg b/doc/src/Eqs/pair_atm.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d2e6d704e930c2def4801301c928998f7542f54b GIT binary patch literal 5474 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 literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/pair_atm.tex b/doc/src/Eqs/pair_atm.tex new file mode 100644 index 0000000000..0e05370faf --- /dev/null +++ b/doc/src/Eqs/pair_atm.tex @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +\begin{equation} +E=\nu\frac{1+3\cos\gamma_1\cos\gamma_2\cos\gamma_3}{r_{12}^3r_{23}^3r_{31}^3} +\end{equation} + +\end{document} diff --git a/doc/src/pair_atm.txt b/doc/src/pair_atm.txt new file mode 100644 index 0000000000..48260c161a --- /dev/null +++ b/doc/src/pair_atm.txt @@ -0,0 +1,85 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style atm command :h3 + +[Syntax:] + +pair_style atm args = cutoff :pre + +[Examples:] + +pair_style 2.5 +pair_coeff * * * 0.072 :pre + +pair_style hybrid/overlay lj/cut 6.5 atm 2.5 +pair_coeff * * lj/cut 1.0 1.0 +pair_coeff * * atm * 0.072 :pre + +[Description:] + +The {atm} style computes a 3-body "Axilrod-Teller-Muto"_#Axilrod +potential for the energy E of a system of atoms as + +:c,image(Eqs/pair_atm.jpg) + +where r12, r23 and r31 are the distances between the atoms, +gamma1 is included by the sides r12 and r31 +with similar definitions for gamma2 and gamma3, +nu is the three-body interaction strength (energy times distance^9 units). + +The {atm} is typically used in compination with some two-body potential +using "hybrid/overlay"_pair_hybrid.html style as in an example above. + +The calculations are not undertaken if the distances between atoms satisfy +r12 r23 r31 > curoff^3. Virtual cutoff distance based on a user defined +tolerance tol is not used. + +The Axilrod-Teller-Muto potential file must contain entries for all the +elements listed in the pair_coeff command. It can also contain +entries for additional elements not being used in a particular +simulation; LAMMPS ignores those entries. + +For a single-element simulation, only a single entry is required +(e.g. 1 1 1). For a two-element simulation, the file must contain 4 +entries (eg. 1 1 1, 1 1 2, 1 2 2, 2 2 2), that +specify ATM parameters for all combinations of the two elements +interacting in three-body configurations. Thus for 3 elements, 10 +entries would be required, etc. + +:line + +[Shift, table, tail correction, rRESPA info]: + +This pair style does not support the "pair_modify"_pair_modify.html +shift, table, and tail options. + +This pair style can only be used via the {pair} keyword of the +"run_style respa"_run_style.html command. It does not support the +{inner}, {middle}, {outer} keywords. + +:line + +[Restrictions:] + +This pair style is part of the MANYBODY package. It is only enabled +if LAMMPS was built with that package. See +the "Making LAMMPS"_Section_start.html#start_3 section for more info. + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none + +:line + +:link(Axilrod) +[(Axilrod)] +Axilrod and Teller, J Chem Phys, 11, 299 (1943); +Muto, Nippon Sugaku Butsuri Gakkwaishi 17, 629 (1943). diff --git a/examples/in.atm b/examples/in.atm new file mode 100644 index 0000000000..0f3760baf9 --- /dev/null +++ b/examples/in.atm @@ -0,0 +1,29 @@ +variable x index 1 +variable y index 1 +variable z index 1 + +variable xx equal 10*$x +variable yy equal 10*$y +variable zz equal 10*$z + +units lj +atom_style atomic + +lattice fcc 0.65 +region box block 0 ${xx} 0 ${yy} 0 ${zz} +create_box 1 box +create_atoms 1 box + +pair_style hybrid/overlay lj/cut 4.5 atm 2.5 +pair_coeff * * lj/cut 1.0 1.0 +pair_coeff * * atm * 0.072 + +mass * 1.0 +velocity all create 1.033 12345678 loop geom + +fix 1 all nvt temp 1.033 1.033 0.05 + +timestep 0.002 +thermo 1 + +run 50 diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp new file mode 100644 index 0000000000..0286c3ed1e --- /dev/null +++ b/src/MANYBODY/pair_atm.cpp @@ -0,0 +1,317 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Sergey Lishchuk +------------------------------------------------------------------------- */ + +#include "pair_atm.h" + +#include + +#include "atom.h" +#include "citeme.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "memory.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" + +using namespace LAMMPS_NS; + +static const char cite_atm_package[] = + "ATM package:\n\n" + "@Article{Lishchuk:2012:164501,\n" + " author = {S. V. Lishchuk},\n" + " title = {Role of three-body interactions in formation of bulk viscosity in liquid argon},\n" + " journal = {J.~Chem.~Phys.},\n" + " year = 2012,\n" + " volume = 136,\n" + " pages = {164501}\n" + "}\n\n"; + +/* ---------------------------------------------------------------------- */ + +PairATM::PairATM(LAMMPS *lmp) : Pair(lmp) +{ + if (lmp->citeme) lmp->citeme->add(cite_atm_package); + + single_enable = 0; + restartinfo = 0; + one_coeff = 1; + manybody_flag = 1; +} + +/* ---------------------------------------------------------------------- + check if allocated, since class can be destructed when incomplete +------------------------------------------------------------------------- */ + +PairATM::~PairATM() +{ + if (copymode) return; + if (allocated) { + memory->destroy(nu); + memory->destroy(setflag); + memory->destroy(cutsq); + } +} + +/* ---------------------------------------------------------------------- + workhorse routine that computes pairwise interactions +------------------------------------------------------------------------- */ + +void PairATM::compute(int eflag, int vflag) +{ + int i,j,k,ii,jj,kk,inum,jnum,jnumm1; + double xi,yi,zi,evdwl; + double rij2,rik2,rjk2,r6; + double rij[3],rik[3],rjk[3],fj[3],fk[3]; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xi = x[i][0]; + yi = x[i][1]; + zi = x[i][2]; + + jlist = firstneigh[i]; + jnum = numneigh[i]; + jnumm1 = jnum - 1; + + for (jj = 0; jj < jnumm1; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + rij[0] = x[j][0] - xi; + rij[1] = x[j][1] - yi; + rij[2] = x[j][2] - zi; + rij2 = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + + for (kk = jj+1; kk < jnum; kk++) { + k = jlist[kk]; + k &= NEIGHMASK; + + rik[0] = x[k][0] - xi; + rik[1] = x[k][1] - yi; + rik[2] = x[k][2] - zi; + rik2 = rik[0]*rik[0] + rik[1]*rik[1] + rik[2]*rik[2]; + + rjk[0] = x[k][0] - x[j][0]; + rjk[1] = x[k][1] - x[j][1]; + rjk[2] = x[k][2] - x[j][2]; + rjk2 = rjk[0]*rjk[0] + rjk[1]*rjk[1] + rjk[2]*rjk[2]; + + r6 = rij2*rik2*rjk2; + if (r6 > cut_sixth) continue; + + interaction_ddd(nu[type[i]][type[j]][type[k]], + r6,rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl); + + f[i][0] -= fj[0] + fk[0]; + f[i][1] -= fj[1] + fk[1]; + f[i][2] -= fj[2] + fk[2]; + f[j][0] += fj[0]; + f[j][1] += fj[1]; + f[j][2] += fj[2]; + f[k][0] += fk[0]; + f[k][1] += fk[1]; + f[k][2] += fk[2]; + + if (evflag) ev_tally3(i,j,k,evdwl,0.0,fj,fk,rij,rik); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + reads the input script line with arguments you define +------------------------------------------------------------------------- */ + +void PairATM::settings(int narg, char **arg) +{ + if (narg != 1) error->all(FLERR,"Illegal pair_style command"); + cut_global = force->numeric(FLERR,arg[0]); +} + +/* ---------------------------------------------------------------------- + set coefficients for one i,j,k type triplet +------------------------------------------------------------------------- */ + +void PairATM::coeff(int narg, char **arg) +{ + if (narg != 4) + error->all(FLERR,"Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo,ihi,jlo,jhi,klo,khi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + force->bounds(FLERR,arg[2],atom->ntypes,klo,khi); + + double nu_one = force->numeric(FLERR,arg[3]); + + cut_sixth = cut_global*cut_global; + cut_sixth = cut_sixth*cut_sixth*cut_sixth; + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j<=jhi; j++) { + for (int k = MAX(klo,j); k<=khi; k++) { + nu[i][j][k] = nu[i][k][j] = + nu[j][i][k] = nu[j][k][i] = + nu[k][i][j] = nu[k][j][i] = nu_one; + count++; + } + setflag[i][j] = 1; + } + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairATM::init_style() +{ + // need a full neighbor list + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; +} + +/* ---------------------------------------------------------------------- + perform initialization for one i,j type pair +------------------------------------------------------------------------- */ + +double PairATM::init_one(int i, int j) +{ + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + return cut_global; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairATM::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j,k; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) for (k = i; k <= atom->ntypes; k++) fwrite(&nu[i][j][k],sizeof(double),1,fp); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairATM::read_restart(FILE *fp) +{ + read_restart_settings(fp); + allocate(); + + int i,j,k; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) for (k = i; k <= atom->ntypes; k++) { + if (me == 0) fread(&nu[i][j][k],sizeof(double),1,fp); + MPI_Bcast(&nu[i][j][k],1,MPI_DOUBLE,0,world); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairATM::write_restart_settings(FILE *fp) +{ + fwrite(&cut_global,sizeof(double),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairATM::read_restart_settings(FILE *fp) +{ + int me = comm->me; + if (me == 0) fread(&cut_global,sizeof(double),1,fp); + MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); +} + +/* ---------------------------------------------------------------------- */ + +void PairATM::allocate() +{ + allocated = 1; + int n = atom->ntypes; + memory->create(nu,n+1,n+1,n+1,"pair:a"); + memory->create(setflag,n+1,n+1,"pair:setflag"); + memory->create(cutsq,n+1,n+1,"pair:cutsq"); +} + +/* ---------------------------------------------------------------------- + Axilrod-Teller-Muto (dipole-dipole-dipole) potential +------------------------------------------------------------------------- */ + +void PairATM::interaction_ddd(double nu, + double r6, double rij2, double rik2, double rjk2, + double *rij, double *rik, double *rjk, + double *fj, double *fk, int eflag, double &eng) +{ + double r5inv,rri,rrj,rrk,rrr; + r5inv = nu / (r6*r6*sqrt(r6)); + rri = rik[0]*rij[0] + rik[1]*rij[1] + rik[2]*rij[2]; + rrj = rij[0]*rjk[0] + rij[1]*rjk[1] + rij[2]*rjk[2]; + rrk = rjk[0]*rik[0] + rjk[1]*rik[1] + rjk[2]*rik[2]; + rrr = 5.0*rri*rrj*rrk; + for (int i=0; i<3; i++) { + fj[i] = rrj*(rrk - rri)*rik[i] + - (rrk*rri - rjk2*rik2 + rrr/rij2)*rij[i] + + (rrk*rri - rik2*rij2 + rrr/rjk2)*rjk[i]; + fj[i] *= 3.0*r5inv; + fk[i] = rrk*(rri + rrj)*rij[i] + + (rri*rrj + rik2*rij2 - rrr/rjk2)*rjk[i] + + (rri*rrj + rij2*rjk2 - rrr/rik2)*rik[i]; + fk[i] *= 3.0*r5inv; + } + if (eflag) eng = (r6 - 0.6*rrr)*r5inv; +} diff --git a/src/MANYBODY/pair_atm.h b/src/MANYBODY/pair_atm.h new file mode 100644 index 0000000000..b5bfc64010 --- /dev/null +++ b/src/MANYBODY/pair_atm.h @@ -0,0 +1,76 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Sergey Lishchuk +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(atm,PairATM) + +#else + +#ifndef LMP_PAIR_ATM_H +#define LMP_PAIR_ATM_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairATM : public Pair { + public: + PairATM(class LAMMPS *); + virtual ~PairATM(); + virtual void compute(int, int); + void settings(int, char **); + virtual void coeff(int, char **); + virtual void init_style(); + virtual double init_one(int, int); + void write_restart(FILE *); + void read_restart(FILE *); + void write_restart_settings(FILE *); + void read_restart_settings(FILE *); + + protected: + double cut_global, cut_sixth; + double ***nu; + + protected: + virtual void allocate(); + void interaction_ddd(double, double, double, double, double, double *, double *, double *, double *, double *, int, double &); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal pair_style command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: All pair coeffs are not set + +All pair coefficients must be set in the data file or by the +pair_coeff command before running a simulation. + +*/ -- GitLab From 24405217d04153ba8eaf9d204d595e0a428cb6f7 Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Thu, 5 Jul 2018 11:20:27 -0400 Subject: [PATCH 235/675] Updated Install.sh in KOKKOS. --- src/KOKKOS/Install.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/KOKKOS/Install.sh b/src/KOKKOS/Install.sh index c6fab2a1b1..08c7468a49 100755 --- a/src/KOKKOS/Install.sh +++ b/src/KOKKOS/Install.sh @@ -93,6 +93,8 @@ action domain_kokkos.cpp action domain_kokkos.h action fix_deform_kokkos.cpp action fix_deform_kokkos.h +action fix_enforce2d_kokkos.cpp +action fix_enforce2d_kokkos.h action fix_eos_table_rx_kokkos.cpp fix_eos_table_rx.cpp action fix_eos_table_rx_kokkos.h fix_eos_table_rx.h action fix_langevin_kokkos.cpp -- GitLab From db75232957d5964f07df7dc6d1f774ca089fc3b8 Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Fri, 6 Jul 2018 11:31:48 -0400 Subject: [PATCH 236/675] Removed debug print and comment. --- src/KOKKOS/fix_enforce2d_kokkos.cpp | 4 ---- src/KOKKOS/fix_enforce2d_kokkos.h | 1 - 2 files changed, 5 deletions(-) diff --git a/src/KOKKOS/fix_enforce2d_kokkos.cpp b/src/KOKKOS/fix_enforce2d_kokkos.cpp index da33455978..f2c313b2fe 100644 --- a/src/KOKKOS/fix_enforce2d_kokkos.cpp +++ b/src/KOKKOS/fix_enforce2d_kokkos.cpp @@ -44,10 +44,6 @@ FixEnforce2DKokkos::FixEnforce2DKokkos(LAMMPS *lmp, int narg, char * template void FixEnforce2DKokkos::setup(int vflag) { - if( comm->me == 0 ){ - fprintf(screen, "omega, angmom and torque flags are %d, %d, %d\n", - atomKK->omega_flag, atomKK->angmom_flag, atomKK->torque_flag ); - } post_force(vflag); } diff --git a/src/KOKKOS/fix_enforce2d_kokkos.h b/src/KOKKOS/fix_enforce2d_kokkos.h index d8a13d281f..ae8183acf1 100644 --- a/src/KOKKOS/fix_enforce2d_kokkos.h +++ b/src/KOKKOS/fix_enforce2d_kokkos.h @@ -67,7 +67,6 @@ struct FixEnforce2DKokkosPostForceFunctor { KOKKOS_INLINE_FUNCTION void operator()(const int i) const { - // c.template? Really C++? c.template post_force_item (i); } }; -- GitLab From 0c1dcfb617e9b0f4aeb3a38919d14b20ab09b357 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 6 Jul 2018 17:06:37 -0600 Subject: [PATCH 237/675] Favor copymode instead of cleanup_copy --- src/KOKKOS/fix_enforce2d_kokkos.cpp | 11 ++--------- src/KOKKOS/fix_enforce2d_kokkos.h | 3 +-- src/fix_enforce2d.cpp | 2 ++ 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/KOKKOS/fix_enforce2d_kokkos.cpp b/src/KOKKOS/fix_enforce2d_kokkos.cpp index f2c313b2fe..33aa39e2f6 100644 --- a/src/KOKKOS/fix_enforce2d_kokkos.cpp +++ b/src/KOKKOS/fix_enforce2d_kokkos.cpp @@ -77,6 +77,7 @@ void FixEnforce2DKokkos::post_force(int vflag) if( atomKK->angmom_flag ) flag_mask |= 2; if( atomKK->torque_flag ) flag_mask |= 4; + copymode = 1; switch( flag_mask ){ case 0:{ FixEnforce2DKokkosPostForceFunctor functor(this); @@ -121,7 +122,7 @@ void FixEnforce2DKokkos::post_force(int vflag) default: error->all(FLERR, "flag_mask outside of what it should be"); } - + copymode = 0; // Probably sync here again? atomKK->sync(execution_space,datamask_read); @@ -159,14 +160,6 @@ void FixEnforce2DKokkos::post_force_item( int i ) const } -template -void FixEnforce2DKokkos::cleanup_copy() -{ - id = style = NULL; - vatom = NULL; -} - - namespace LAMMPS_NS { template class FixEnforce2DKokkos; #ifdef KOKKOS_HAVE_CUDA diff --git a/src/KOKKOS/fix_enforce2d_kokkos.h b/src/KOKKOS/fix_enforce2d_kokkos.h index ae8183acf1..1ed3cf3ef8 100644 --- a/src/KOKKOS/fix_enforce2d_kokkos.h +++ b/src/KOKKOS/fix_enforce2d_kokkos.h @@ -33,7 +33,6 @@ class FixEnforce2DKokkos : public FixEnforce2D { FixEnforce2DKokkos(class LAMMPS *, int, char **); // ~FixEnforce2DKokkos() {} // void init(); - void cleanup_copy(); void setup(int); void post_force(int); @@ -63,7 +62,7 @@ struct FixEnforce2DKokkosPostForceFunctor { FixEnforce2DKokkos c; FixEnforce2DKokkosPostForceFunctor(FixEnforce2DKokkos* c_ptr): - c(*c_ptr) {c.cleanup_copy();}; + c(*c_ptr) {}; KOKKOS_INLINE_FUNCTION void operator()(const int i) const { diff --git a/src/fix_enforce2d.cpp b/src/fix_enforce2d.cpp index 4ffd2ca7ac..791a52c50c 100644 --- a/src/fix_enforce2d.cpp +++ b/src/fix_enforce2d.cpp @@ -38,6 +38,8 @@ FixEnforce2D::FixEnforce2D(LAMMPS *lmp, int narg, char **arg) : FixEnforce2D::~FixEnforce2D() { + if (copymode) return; + delete [] flist; } -- GitLab From b259de95d27d1b5828379351a995bfb77aa098b5 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 9 Jul 2018 13:00:52 -0600 Subject: [PATCH 238/675] fix for ScaFaCoS library --- cmake/CMakeLists.txt | 13 +- examples/scafacos/data.NaCl | 25 ++ examples/scafacos/in.scafacos | 22 ++ src/SCAFACOS/Install.sh | 67 +++++ src/SCAFACOS/fix_scafacos.cpp | 488 ++++++++++++++++++++++++++++++++++ src/SCAFACOS/fix_scafacos.h | 164 ++++++++++++ 6 files changed, 776 insertions(+), 3 deletions(-) create mode 100644 examples/scafacos/data.NaCl create mode 100644 examples/scafacos/in.scafacos create mode 100755 src/SCAFACOS/Install.sh create mode 100644 src/SCAFACOS/fix_scafacos.cpp create mode 100644 src/SCAFACOS/fix_scafacos.h diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 8bc079fd85..a335a441da 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -119,7 +119,7 @@ option(ENABLE_ALL "Build all default packages" OFF) set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ REAX REPLICA RIGID SHOCK SNAP SRD) -set(OTHER_PACKAGES KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE +set(OTHER_PACKAGES KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE SCAFACOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC @@ -150,11 +150,11 @@ pkg_depends(CORESHELL KSPACE) ###################################################### # packages with special compiler needs or external libs ###################################################### -if(PKG_REAX OR PKG_MEAM OR PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE) +if(PKG_REAX OR PKG_MEAM OR PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE OR PKG_SCAFACOS) enable_language(Fortran) endif() -if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM) +if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM OR PKG_SCAFACOS) enable_language(C) endif() @@ -313,6 +313,13 @@ if(PKG_LATTE) list(APPEND LAMMPS_LINK_LIBS ${LATTE_LIBRARIES} ${LAPACK_LIBRARIES}) endif() +if(PKG_SCAFACOS) + FIND_PACKAGE(PkgConfig) + PKG_CHECK_MODULES(SCAFACOS scafacos) + include_directories(${SCAFACOS_INCLUDE_DIRS}) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_LDFLAGS}) +endif() + if(PKG_USER-MOLFILE) add_library(molfile INTERFACE) target_include_directories(molfile INTERFACE ${LAMMPS_LIB_SOURCE_DIR}/molfile) diff --git a/examples/scafacos/data.NaCl b/examples/scafacos/data.NaCl new file mode 100644 index 0000000000..1a599b957d --- /dev/null +++ b/examples/scafacos/data.NaCl @@ -0,0 +1,25 @@ + LAMMPS Description + + 8 atoms + + 2 atom types + + 0.0000000000000000 2.000000000000000 xlo xhi + 0.0000000000000000 2.000000000000000 ylo yhi + 0.0000000000000000 2.000000000000000 zlo zhi + + Masses + + 1 22.98976928 + 2 35.45 + + Atoms + + 1 1 1 1.0 0.0 0.0 0.0 + 2 1 2 -1.0 1.0 0.0 0.0 + 3 1 2 -1.0 0.0 1.0 0.0 + 4 1 1 1.0 1.0 1.0 0.0 + 5 1 2 -1.0 0.0 0.0 1.0 + 6 1 1 1.0 1.0 0.0 1.0 + 7 1 1 1.0 0.0 1.0 1.0 + 8 1 2 -1.0 1.0 1.0 1.0 diff --git a/examples/scafacos/in.scafacos b/examples/scafacos/in.scafacos new file mode 100644 index 0000000000..a2849583f5 --- /dev/null +++ b/examples/scafacos/in.scafacos @@ -0,0 +1,22 @@ +# Point dipoles in a 2d box + +units lj +atom_style full + +read_data data.NaCl + +# need both mass settings due to hybrid atom style + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all scafacos fmm + +timestep 0.005 + +run 100 diff --git a/src/SCAFACOS/Install.sh b/src/SCAFACOS/Install.sh new file mode 100755 index 0000000000..ace610050b --- /dev/null +++ b/src/SCAFACOS/Install.sh @@ -0,0 +1,67 @@ +# Install/unInstall package files in LAMMPS +# mode = 0/1/2 for uninstall/install/update + +mode=$1 + +# enforce using portable C locale +LC_ALL=C +export LC_ALL + +# arg1 = file, arg2 = file it depends on + +action () { + if (test $mode = 0) then + rm -f ../$1 + elif (! cmp -s $1 ../$1) then + if (test -z "$2" || test -e ../$2) then + cp $1 .. + if (test $mode = 2) then + echo " updating src/$1" + fi + fi + elif (test -n "$2") then + if (test ! -e ../$2) then + rm -f ../$1 + fi + fi +} + +# all package files with no dependencies + +for file in *.cpp *.h; do + test -f ${file} && action $file +done + +# edit 2 Makefile.package files to include/exclude package info + +if (test $1 = 1) then + + if (test -e ../Makefile.package) then + sed -i -e 's/[^ \t]*scafacos[^ \t]* //' ../Makefile.package + sed -i -e 's|^PKG_INC =[ \t]*|&-I../../lib/scafacos/includelink |' ../Makefile.package + sed -i -e 's|^PKG_PATH =[ \t]*|&-L../../lib/scafacos/liblink |' ../Makefile.package + #sed -i -e 's|^PKG_LIB =[ \t]*|&-lscafacos |' ../Makefile.package + sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(scafacos_SYSINC) |' ../Makefile.package + sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(scafacos_SYSLIB) |' ../Makefile.package + sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(scafacos_SYSPATH) |' ../Makefile.package + fi + + if (test -e ../Makefile.package.settings) then + sed -i -e '/^include.*scafacos.*$/d' ../Makefile.package.settings + # multiline form needed for BSD sed on Macs + sed -i -e '4 i \ +include ..\/..\/lib\/scafacos\/Makefile.lammps +' ../Makefile.package.settings + fi + +elif (test $1 = 0) then + + if (test -e ../Makefile.package) then + sed -i -e 's/[^ \t]*scafacos[^ \t]* //' ../Makefile.package + fi + + if (test -e ../Makefile.package.settings) then + sed -i -e '/^include.*scafacos.*$/d' ../Makefile.package.settings + fi + +fi diff --git a/src/SCAFACOS/fix_scafacos.cpp b/src/SCAFACOS/fix_scafacos.cpp new file mode 100644 index 0000000000..f888747047 --- /dev/null +++ b/src/SCAFACOS/fix_scafacos.cpp @@ -0,0 +1,488 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Rene Halver (JSC) +------------------------------------------------------------------------- */ + +#include +#include +#include "fix_scafacos.h" +#include "atom.h" +#include "comm.h" +#include "update.h" +#include "neighbor.h" +#include "domain.h" +#include "force.h" +#include "pair.h" +#include "modify.h" +#include "compute.h" +#include "memory.h" +#include "error.h" + +// ScaFaCoS library +#include +#include +#include +#include "fcs.h" +#include "universe.h" + +using namespace LAMMPS_NS; +using namespace FixConst; + +#define INVOKED_PERATOM 8 + +/* ---------------------------------------------------------------------- */ + +FixScafacos::FixScafacos(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + // form of fix string: + // fix <#> scafacos [ tolerance ] + + + if (narg < 4) error->all(FLERR,"Illegal fix scafacos command"); + + // read method from fix input + method = arg[3]; + // check if fmm method was chosen + fmm_chosen = !strcmp(method.c_str(),"fmm"); + + int arg_index = 4; + + tolerance_set = false; + + while(arg_index < narg) + { + // check if tolerance option is set + if (strcmp(arg[arg_index],"tolerance") == 0) + { + tolerance_set = true; + ++arg_index; + if (strcmp(arg[arg_index],"energy") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; + else if (strcmp(arg[arg_index],"energy_rel") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_ENERGY_REL; + else if (strcmp(arg[arg_index],"field") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_FIELD; + else if (strcmp(arg[arg_index],"field_rel") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_FIELD_REL; + else if (strcmp(arg[arg_index],"potential") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL; + else if (strcmp(arg[arg_index],"potential_rel") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL_REL; + else + error->all(FLERR,"Illegal fix scafacos command"); + ++arg_index; + tolerance_value = atof(arg[arg_index]); + ++arg_index; + } + else + error->all(FLERR,"Illegal fix scafacos command"); + } +} + +/* ---------------------------------------------------------------------- */ + +FixScafacos::~FixScafacos() +{ + memory->destroy(pot); + memory->destroy(field); +} + +/* ---------------------------------------------------------------------- */ + +int FixScafacos::setmask() +{ + int mask = 0; + //mask |= INITIAL_INTEGRATE; + //mask |= FINAL_INTEGRATE; + mask |= PRE_REVERSE; + mask |= POST_FORCE; + mask |= MIN_POST_FORCE; + mask |= THERMO_ENERGY; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixScafacos::init() +{ + // error checks + + if (domain->dimension == 2) + error->all(FLERR,"Fix scafacos requires 3d problem"); + + rank = comm->me; + + int nlocal = 0; + int proc_grid[3] = {comm->procgrid[0], comm->procgrid[1], comm->procgrid[2]}; + int myloc[3] = {comm->myloc[0], comm->myloc[1], comm->myloc[2]}; + + // call ScaFaCoS init + // TODO: check if universe->uworld is a good idea for computations + result = fcs_init(&fcs,method.c_str(),universe->uworld); + if (!check_result(result, rank)) return; + + setup_handle(); + + nlocal = atom -> nlocal; + // get particle data + x = &atom->x[0][0]; + q = atom->q; + + if (tolerance_set) + { + result = fcs_set_tolerance(fcs,tolerance_type,tolerance_value); + if (!check_result(result, rank)) return; + } + + // print out parameters within handle + if (rank == 0) fcs_print_parameters(fcs); + + // call the tuning routine (needs to be redone, if critical system parameters should change) + result = fcs_tune(fcs,nlocal,x,q); + if (!check_result(result, rank)) return; + + // allocate arrays larger in order to avoid fast reallocation due to fluctuations + local_array_size = (int)(1.25 * (double)nlocal); + + // allocate new result arrays + memory->create(pot,local_array_size,"scafacos:potential"); + memory->create(field,local_array_size*3,"scafacos:field"); + + // set result vectors to zero + for ( int i = 0; i < local_array_size; ++i) + { + pot[i] = 0.0; + field[3*i] = field[3*i+1] = field[3*i+2] = 0.0; + } +} + +/* ---------------------------------------------------------------------- */ + +void FixScafacos::init_list(int id, NeighList *ptr) +{ +} + +/* ---------------------------------------------------------------------- */ + +void FixScafacos::setup(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixScafacos::min_setup(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixScafacos::setup_pre_reverse(int eflag, int vflag) +{ + pre_reverse(eflag,vflag); +} + +/* ---------------------------------------------------------------------- + integrate electronic degrees of freedom +------------------------------------------------------------------------- */ + +void FixScafacos::initial_integrate(int vflag) {} + +/* ---------------------------------------------------------------------- + store eflag, so can use it in post_force to tally per-atom energies +------------------------------------------------------------------------- */ + +void FixScafacos::pre_reverse(int eflag, int vflag) +{ + int eflag_caller = eflag; +} + +/* ---------------------------------------------------------------------- */ + +void FixScafacos::post_force(int vflag) +{ + + int nlocal; + + nlocal = atom->nlocal; + x = &atom->x[0][0]; + q = atom->q; + + // check if box has changed since the last call of fcs_tune, if yes, call fcs_tune + if (box_has_changed()) + { + setup_handle(); + // print out parameters within handle + if (rank == 0) + { + std::cout << " updated ScaFaCoS handle: " << std::endl; + fcs_print_parameters(fcs); + } + // call the tuning routine (needs to be redone, if critical system parameters should change) + result = fcs_tune(fcs,nlocal,x,q); + if (!check_result(result, rank)) return; + } + + /* + if (fmm_chosen && phantom_particle) + for (int i = 0; i < nlocal; ++i) + { + std::cout << rank << " " << i << " " << x[3*i] << " " << x[3*i+1] << " " << x[3*i+2] << " " << q[i] << std::endl; + } + */ + + // check if arrays for potentials and field are still large enough for the number of particles on process + if (nlocal > local_array_size) + { + // allocate arrays larger in order to avoid fast reallocation due to fluctuations + local_array_size = (int)(1.25 * (double)nlocal); + + // destroy old result arrays + memory->destroy(pot); + memory->destroy(field); + + // allocate result arrays + memory->create(pot,local_array_size,"scafacos:potential"); + memory->create(field,3*local_array_size,"scafacos:field"); + + } + + // set result vectors to zero + for ( int i = 0; i < nlocal; ++i) + { + pot[i] = 0.0; + field[3*i] = field[3*i+1] = field[3*i+2] = 0.0; + } + + // compute Coulomb + fcs_run(fcs, nlocal, x, q, field, pot); + if(!check_result(result,rank)) return; + + double E_coul_loc = 0.0; + // no reduction required (?) + //double E_coul = 0.0; + + for (int i = 0; i < atom->nlocal; ++i) + { + //std::cout << atom->f[i][0] << " " << field[3*i] << " " << q[i] << std::endl; + atom->f[i][0] += field[3*i] * q[i]; + atom->f[i][1] += field[3*i+1] * q[i]; + atom->f[i][2] += field[3*i+2] * q[i]; + E_coul_loc += 0.5 * q[i] * pot[i]; + } + + // not required (?) + // MPI_ALLREDUCE(&E_coul_loc, &E_coul, 1, MPI_DOUBLE, MPI_SUM, universe->uworld); + + force->pair->eng_coul += E_coul_loc; + +} + +/* ---------------------------------------------------------------------- */ + +void FixScafacos::min_post_force(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- + integrate electronic degrees of freedom +------------------------------------------------------------------------- */ + +void FixScafacos::final_integrate() {} + +/* ---------------------------------------------------------------------- */ + +void FixScafacos::reset_dt() +{ + //dtv = update->dt; + //dtf = 0.5 * update->dt * force->ftm2v; +} + +/* ---------------------------------------------------------------------- + DFTB energy from LATTE +------------------------------------------------------------------------- */ + +double FixScafacos::compute_scalar() +{ +} + +/* ---------------------------------------------------------------------- + memory usage of local arrays +------------------------------------------------------------------------- */ + +double FixScafacos::memory_usage() +{ + double bytes = 0.0; + bytes += local_array_size * sizeof(double); + bytes += local_array_size * 3 * sizeof(double); + return bytes; +} + +/* ---------------------------------------------------------------------- + setup of ScaFaCoS handle with common parameters +------------------------------------------------------------------------- */ +void FixScafacos::setup_handle() +{ + // store periodicity + periodicity[0] = domain->xperiodic; + periodicity[1] = domain->yperiodic; + periodicity[2] = domain->zperiodic; + + // store offset of the system + offset[0] = domain->boundary[0][0]; + offset[1] = domain->boundary[1][0]; + offset[2] = domain->boundary[2][0]; + + // calculate box vectors + box_x[0] = domain->prd[0]; + box_x[1] = box_x[2] = 0.0; + + box_y[1] = domain->prd[1]; + box_y[0] = box_y[2] = 0.0; + + box_z[2] = domain->prd[2]; + box_z[1] = box_z[0] = 0.0; + + total_particles = atom->natoms; + + // TODO: for now disable short-range calculations within LAMMPS + near_field_flag = 0; + + // enter all parameters required to ScaFaCoS handle + result = fcs_set_box_a(fcs, box_x); + if (!check_result(result, rank)) return; + + result = fcs_set_box_b(fcs, box_y); + if (!check_result(result, rank)) return; + + result = fcs_set_box_c(fcs, box_z); + if (!check_result(result, rank)) return; + + result = fcs_set_box_origin(fcs, offset); + if (!check_result(result, rank)) return; + + result = fcs_set_periodicity(fcs, periodicity); + if (!check_result(result, rank)) return; + + result = fcs_set_near_field_flag(fcs, near_field_flag); + if (!check_result(result, rank)) return; + + result = fcs_set_total_particles(fcs, atom->natoms); + if (!check_result(result, rank)) return; +} + +/* ---------------------------------------------------------------------- + check if box parameters changed, requiring a new call to fcs_tune +------------------------------------------------------------------------- */ +bool FixScafacos::box_has_changed() +{ + bool changed = false; + + double n_periodicity[3]; + double n_offset[3]; + double n_box_x[3]; + double n_box_y[3]; + double n_box_z[3]; + + int n_total_particles; + + // store periodicity + n_periodicity[0] = domain->xperiodic; + n_periodicity[1] = domain->yperiodic; + n_periodicity[2] = domain->zperiodic; + + // store offset of the system + n_offset[0] = domain->boundary[0][0]; + n_offset[1] = domain->boundary[1][0]; + n_offset[2] = domain->boundary[2][0]; + + // calculate box vectors + n_box_x[0] = domain->prd[0]; + n_box_x[1] = n_box_x[2] = 0.0; + + n_box_y[1] = domain->prd[1]; + n_box_y[0] = n_box_y[2] = 0.0; + + n_box_z[2] = domain->prd[2]; + n_box_z[1] = n_box_z[0] = 0.0; + + n_total_particles = atom->natoms; + + changed = changed || + ( n_periodicity[0] != periodicity[0] ) || + ( n_periodicity[1] != periodicity[1] ) || + ( n_periodicity[2] != periodicity[2] ) || + ( n_offset[0] != offset[0] ) || + ( n_offset[1] != offset[1] ) || + ( n_offset[2] != offset[2] ) || + ( n_box_x[0] != box_x[0] ) || + ( n_box_x[1] != box_x[1] ) || + ( n_box_x[2] != box_x[2] ) || + ( n_box_y[0] != box_y[0] ) || + ( n_box_y[1] != box_y[1] ) || + ( n_box_y[2] != box_y[2] ) || + ( n_box_z[0] != box_z[0] ) || + ( n_box_z[1] != box_z[1] ) || + ( n_box_z[2] != box_z[2] ) || + ( n_total_particles != total_particles ); +/* + if (changed) + { + std::cout << rank << " " << "n_per_x : per_x" << n_periodicity[0] << " " << periodicity[0] << std::endl; + std::cout << rank << " " << "n_per_y : per_y" << n_periodicity[1] << " " << periodicity[1] << std::endl; + std::cout << rank << " " << "n_per_z : per_z" << n_periodicity[2] << " " << periodicity[2] << std::endl; + std::cout << rank << " " << "n_off_x : off_x" << n_offset[0] << " " << offset[0] << std::endl; + std::cout << rank << " " << "n_off_y : off_y" << n_offset[1] << " " << offset[1] << std::endl; + std::cout << rank << " " << "n_off_z : off_z" << n_offset[2] << " " << offset[2] << std::endl; + std::cout << rank << " " << "n_bx_x : bx_x" << n_box_x[0] << " " << box_x[0] << std::endl; + std::cout << rank << " " << "n_bx_y : bx_y" << n_box_x[1] << " " << box_x[1] << std::endl; + std::cout << rank << " " << "n_bx_z : bx_z" << n_box_x[2] << " " << box_x[2] << std::endl; + std::cout << rank << " " << "n_by_x : by_x" << n_box_y[0] << " " << box_y[0] << std::endl; + std::cout << rank << " " << "n_by_y : by_y" << n_box_y[1] << " " << box_y[1] << std::endl; + std::cout << rank << " " << "n_by_z : by_z" << n_box_y[2] << " " << box_y[2] << std::endl; + std::cout << rank << " " << "n_bz_x : bz_x" << n_box_z[0] << " " << box_z[0] << std::endl; + std::cout << rank << " " << "n_bz_y : bz_y" << n_box_z[1] << " " << box_z[1] << std::endl; + std::cout << rank << " " << "n_bz_z : bz_z" << n_box_z[2] << " " << box_z[2] << std::endl; + std::cout << rank << " " << "n_total : total" << n_total_particles << " " << total_particles << std::endl; + } +*/ + return changed; +} + + + +/* ---------------------------------------------------------------------- + check of ScaFaCoS result +------------------------------------------------------------------------- */ +bool FixScafacos::check_result(FCSResult result, int comm_rank) +{ + if (result) + { + std::cout << "ScaFaCoS ERROR: Caught error on task " << comm_rank << "!" << std::endl; + std::string err_msg; + std::stringstream ss; + + ss << fcs_result_get_function(result) << "\n" << fcs_result_get_message(result) << "\n"; + err_msg = ss.str(); + + error -> all(FLERR, err_msg.c_str()); + fcs_result_destroy(result); + } + return true; +} + diff --git a/src/SCAFACOS/fix_scafacos.h b/src/SCAFACOS/fix_scafacos.h new file mode 100644 index 0000000000..ffd4a94d32 --- /dev/null +++ b/src/SCAFACOS/fix_scafacos.h @@ -0,0 +1,164 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(scafacos,FixScafacos) + +#else + +#ifndef LMP_FIX_SCAFACOS_H +#define LMP_FIX_SCAFACOS_H + +#include "fix.h" +#include "fcs.h" +#include + +namespace LAMMPS_NS { + +class FixScafacos : public Fix { + public: + FixScafacos(class LAMMPS *, int, char **); + virtual ~FixScafacos(); + int setmask(); + void init(); + void init_list(int, NeighList*); + void setup(int); + void min_setup(int); + void setup_pre_reverse(int, int); + void initial_integrate(int); + void pre_reverse(int, int); + void post_force(int); + void min_post_force(int); + void final_integrate(); + void reset_dt(); + double compute_scalar(); + double memory_usage(); + + protected: + std::string method; + + // MPI rank + int rank; + + // source arrays for positions and charges + double *x, *q; + // result arrays for potentials and field + double *pot, *field; + + // box vectors for each dimension + fcs_float box_x[3], box_y[3], box_z[3]; + // offset of the box from the origin + fcs_float offset[3]; + + // periodicity of the system + fcs_int periodicity[3]; + + // ScaFaCoS handle + FCS fcs; + + // ScaFaCoS result variable + FCSResult result; + + // function to check results + bool check_result(FCSResult, int); + + // function to set up handle with common parameters + void setup_handle(); + + // function to check if the box parameters changed, so that a new tuning step is required + bool box_has_changed(); + + // store total number of particles (to check if tune needs to be called again) + fcs_int total_particles; + + // store number of local particles (to be able to readjust the size of result arrays, when needed) + int local_array_size; + + // should the near field calculations be computed by LAMMPS? + fcs_int near_field_flag; + + // type of accuracy chosen (if customized) + fcs_int tolerance_type; + + // value of tolerance + fcs_float tolerance_value; + + // is tolerance set? + bool tolerance_set; + + // check if fmm is chosen (ghost particles, since the implementation needs at least 1 particle on each process!) + bool fmm_chosen; + + // FMM: fmm particle array size + int fmm_array_size; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Must use units metal with fix latte command + +UNDOCUMENTED + +E: Fix latte currently runs only in serial + +UNDOCUMENTED + +E: LAMMPS is linked against incompatible LATTE library + +UNDOCUMENTED + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Fix latte does not yet support a LAMMPS calculation of a Coulomb potential + +UNDOCUMENTED + +E: Could not find fix latte compute ID + +UNDOCUMENTED + +E: Fix latte compute ID does not compute pe/atom + +UNDOCUMENTED + +E: Fix latte requires 3d problem + +UNDOCUMENTED + +E: Fix latte cannot compute Coulomb potential + +UNDOCUMENTED + +E: Fix latte requires 3d simulation + +UNDOCUMENTED + +W: Fix latte should come after all other integration fixes + +UNDOCUMENTED + +E: Internal LATTE problem + +UNDOCUMENTED + +*/ -- GitLab From 400ae7226765d17234fb2e2c57191e2fc5b21fb8 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 9 Jul 2018 13:18:28 -0600 Subject: [PATCH 239/675] added tolerance to the example --- examples/scafacos/in.scafacos | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/scafacos/in.scafacos b/examples/scafacos/in.scafacos index a2849583f5..2a7e830110 100644 --- a/examples/scafacos/in.scafacos +++ b/examples/scafacos/in.scafacos @@ -5,8 +5,6 @@ atom_style full read_data data.NaCl -# need both mass settings due to hybrid atom style - velocity all set 0.0 0.0 0.0 mom no pair_style zero 1.0 @@ -15,7 +13,8 @@ pair_coeff * * neighbor 1.0 bin neigh_modify delay 0 -fix 1 all scafacos fmm +# using the fmm solver with a tolerance in energy of 10^-3 +fix 1 all scafacos fmm energy 0.001 timestep 0.005 -- GitLab From 4743bb3c30c207b1a9b51ed821e5b96ceb9c4080 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 9 Jul 2018 13:35:46 -0600 Subject: [PATCH 240/675] rename of the ScaFaCoS package --- cmake/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a335a441da..de3f54b9e1 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -119,7 +119,7 @@ option(ENABLE_ALL "Build all default packages" OFF) set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ REAX REPLICA RIGID SHOCK SNAP SRD) -set(OTHER_PACKAGES KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE SCAFACOS +set(OTHER_PACKAGES KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-SCAFACOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC @@ -150,11 +150,11 @@ pkg_depends(CORESHELL KSPACE) ###################################################### # packages with special compiler needs or external libs ###################################################### -if(PKG_REAX OR PKG_MEAM OR PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE OR PKG_SCAFACOS) +if(PKG_REAX OR PKG_MEAM OR PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE OR PKG_USER-SCAFACOS) enable_language(Fortran) endif() -if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM OR PKG_SCAFACOS) +if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM OR PKG_USER-SCAFACOS) enable_language(C) endif() -- GitLab From dbfea0e6170c4a894fa65a086503b33c9944cc4c Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 9 Jul 2018 13:53:31 -0600 Subject: [PATCH 241/675] update folder structure to comply to LAMMPS contribution rules --- cmake/CMakeLists.txt | 2 +- src/{SCAFACOS => USER-SCAFACOS}/Install.sh | 0 src/{SCAFACOS => USER-SCAFACOS}/fix_scafacos.cpp | 0 src/{SCAFACOS => USER-SCAFACOS}/fix_scafacos.h | 0 4 files changed, 1 insertion(+), 1 deletion(-) rename src/{SCAFACOS => USER-SCAFACOS}/Install.sh (100%) rename src/{SCAFACOS => USER-SCAFACOS}/fix_scafacos.cpp (100%) rename src/{SCAFACOS => USER-SCAFACOS}/fix_scafacos.h (100%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 05e4964e0b..afb93b9d1b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -348,7 +348,7 @@ if(PKG_LATTE) list(APPEND LAMMPS_LINK_LIBS ${LATTE_LIBRARIES} ${LAPACK_LIBRARIES}) endif() -if(PKG_SCAFACOS) +if(PKG_USER-SCAFACOS) FIND_PACKAGE(PkgConfig) PKG_CHECK_MODULES(SCAFACOS scafacos) include_directories(${SCAFACOS_INCLUDE_DIRS}) diff --git a/src/SCAFACOS/Install.sh b/src/USER-SCAFACOS/Install.sh similarity index 100% rename from src/SCAFACOS/Install.sh rename to src/USER-SCAFACOS/Install.sh diff --git a/src/SCAFACOS/fix_scafacos.cpp b/src/USER-SCAFACOS/fix_scafacos.cpp similarity index 100% rename from src/SCAFACOS/fix_scafacos.cpp rename to src/USER-SCAFACOS/fix_scafacos.cpp diff --git a/src/SCAFACOS/fix_scafacos.h b/src/USER-SCAFACOS/fix_scafacos.h similarity index 100% rename from src/SCAFACOS/fix_scafacos.h rename to src/USER-SCAFACOS/fix_scafacos.h -- GitLab From 4c4d8372e45ca2ca16dab99b32a34fd8e8e94ecf Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 9 Jul 2018 14:01:06 -0600 Subject: [PATCH 242/675] removed C++ std::cout I/O and replaced it with printf --- src/USER-SCAFACOS/fix_scafacos.cpp | 52 ++++++++++++++++-------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/src/USER-SCAFACOS/fix_scafacos.cpp b/src/USER-SCAFACOS/fix_scafacos.cpp index f888747047..40d2556cdd 100644 --- a/src/USER-SCAFACOS/fix_scafacos.cpp +++ b/src/USER-SCAFACOS/fix_scafacos.cpp @@ -31,7 +31,6 @@ #include "error.h" // ScaFaCoS library -#include #include #include #include "fcs.h" @@ -67,28 +66,28 @@ FixScafacos::FixScafacos(LAMMPS *lmp, int narg, char **arg) : // check if tolerance option is set if (strcmp(arg[arg_index],"tolerance") == 0) { - tolerance_set = true; - ++arg_index; - if (strcmp(arg[arg_index],"energy") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; - else if (strcmp(arg[arg_index],"energy_rel") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_ENERGY_REL; - else if (strcmp(arg[arg_index],"field") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_FIELD; - else if (strcmp(arg[arg_index],"field_rel") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_FIELD_REL; - else if (strcmp(arg[arg_index],"potential") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL; - else if (strcmp(arg[arg_index],"potential_rel") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL_REL; - else - error->all(FLERR,"Illegal fix scafacos command"); - ++arg_index; - tolerance_value = atof(arg[arg_index]); - ++arg_index; + tolerance_set = true; + ++arg_index; + if (strcmp(arg[arg_index],"energy") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; + else if (strcmp(arg[arg_index],"energy_rel") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_ENERGY_REL; + else if (strcmp(arg[arg_index],"field") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_FIELD; + else if (strcmp(arg[arg_index],"field_rel") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_FIELD_REL; + else if (strcmp(arg[arg_index],"potential") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL; + else if (strcmp(arg[arg_index],"potential_rel") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL_REL; + else + error->all(FLERR,"Illegal fix scafacos command"); + ++arg_index; + tolerance_value = atof(arg[arg_index]); + ++arg_index; } else - error->all(FLERR,"Illegal fix scafacos command"); + error->all(FLERR,"Illegal fix scafacos command"); } } @@ -226,12 +225,14 @@ void FixScafacos::post_force(int vflag) if (box_has_changed()) { setup_handle(); - // print out parameters within handle + // print out parameters within handle TODO: should be done in C style + /* if (rank == 0) { - std::cout << " updated ScaFaCoS handle: " << std::endl; - fcs_print_parameters(fcs); + std::cout << " updated ScaFaCoS handle: " << std::endl; + fcs_print_parameters(fcs); } + */ // call the tuning routine (needs to be redone, if critical system parameters should change) result = fcs_tune(fcs,nlocal,x,q); if (!check_result(result, rank)) return; @@ -473,7 +474,8 @@ bool FixScafacos::check_result(FCSResult result, int comm_rank) { if (result) { - std::cout << "ScaFaCoS ERROR: Caught error on task " << comm_rank << "!" << std::endl; + printf("ScaFaCoS Error: Caught error on task %d.\n", comm_rank); + //std::cout << "ScaFaCoS ERROR: Caught error on task " << comm_rank << "!" << std::endl; std::string err_msg; std::stringstream ss; -- GitLab From dd38318f5f01e7efe1aeee229b89f0b113508f50 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 9 Jul 2018 14:12:06 -0600 Subject: [PATCH 243/675] adjustments to indention and line lengths (<=80 now) --- src/USER-SCAFACOS/fix_scafacos.cpp | 118 ++++++++++------------------- 1 file changed, 41 insertions(+), 77 deletions(-) diff --git a/src/USER-SCAFACOS/fix_scafacos.cpp b/src/USER-SCAFACOS/fix_scafacos.cpp index 40d2556cdd..6b89348a16 100644 --- a/src/USER-SCAFACOS/fix_scafacos.cpp +++ b/src/USER-SCAFACOS/fix_scafacos.cpp @@ -54,8 +54,6 @@ FixScafacos::FixScafacos(LAMMPS *lmp, int narg, char **arg) : // read method from fix input method = arg[3]; - // check if fmm method was chosen - fmm_chosen = !strcmp(method.c_str(),"fmm"); int arg_index = 4; @@ -149,23 +147,18 @@ void FixScafacos::init() // print out parameters within handle if (rank == 0) fcs_print_parameters(fcs); - // call the tuning routine (needs to be redone, if critical system parameters should change) + // call the tuning routine (needs to be redone, if critical system + // parameters should change) result = fcs_tune(fcs,nlocal,x,q); if (!check_result(result, rank)) return; - // allocate arrays larger in order to avoid fast reallocation due to fluctuations + // allocate arrays larger in order to avoid fast + // reallocation due to fluctuations local_array_size = (int)(1.25 * (double)nlocal); // allocate new result arrays memory->create(pot,local_array_size,"scafacos:potential"); memory->create(field,local_array_size*3,"scafacos:field"); - - // set result vectors to zero - for ( int i = 0; i < local_array_size; ++i) - { - pot[i] = 0.0; - field[3*i] = field[3*i+1] = field[3*i+2] = 0.0; - } } /* ---------------------------------------------------------------------- */ @@ -221,10 +214,12 @@ void FixScafacos::post_force(int vflag) x = &atom->x[0][0]; q = atom->q; - // check if box has changed since the last call of fcs_tune, if yes, call fcs_tune + // check if box has changed since the last call of fcs_tune, + // if it has, call fcs_tune if (box_has_changed()) { setup_handle(); + // print out parameters within handle TODO: should be done in C style /* if (rank == 0) @@ -233,23 +228,19 @@ void FixScafacos::post_force(int vflag) fcs_print_parameters(fcs); } */ - // call the tuning routine (needs to be redone, if critical system parameters should change) + + // call the tuning routine (needs to be redone, if critical + // system parameters should change) result = fcs_tune(fcs,nlocal,x,q); if (!check_result(result, rank)) return; } - /* - if (fmm_chosen && phantom_particle) - for (int i = 0; i < nlocal; ++i) - { - std::cout << rank << " " << i << " " << x[3*i] << " " << x[3*i+1] << " " << x[3*i+2] << " " << q[i] << std::endl; - } - */ - - // check if arrays for potentials and field are still large enough for the number of particles on process + // check if arrays for potentials and field are still large enough + // for the number of particles on process if (nlocal > local_array_size) { - // allocate arrays larger in order to avoid fast reallocation due to fluctuations + // allocate arrays larger in order to avoid fast + // reallocation due to fluctuations local_array_size = (int)(1.25 * (double)nlocal); // destroy old result arrays @@ -274,8 +265,6 @@ void FixScafacos::post_force(int vflag) if(!check_result(result,rank)) return; double E_coul_loc = 0.0; - // no reduction required (?) - //double E_coul = 0.0; for (int i = 0; i < atom->nlocal; ++i) { @@ -286,9 +275,6 @@ void FixScafacos::post_force(int vflag) E_coul_loc += 0.5 * q[i] * pot[i]; } - // not required (?) - // MPI_ALLREDUCE(&E_coul_loc, &E_coul, 1, MPI_DOUBLE, MPI_SUM, universe->uworld); - force->pair->eng_coul += E_coul_loc; } @@ -392,39 +378,39 @@ void FixScafacos::setup_handle() ------------------------------------------------------------------------- */ bool FixScafacos::box_has_changed() { - bool changed = false; + bool changed = false; - double n_periodicity[3]; - double n_offset[3]; - double n_box_x[3]; - double n_box_y[3]; - double n_box_z[3]; + double n_periodicity[3]; + double n_offset[3]; + double n_box_x[3]; + double n_box_y[3]; + double n_box_z[3]; - int n_total_particles; + int n_total_particles; - // store periodicity - n_periodicity[0] = domain->xperiodic; - n_periodicity[1] = domain->yperiodic; - n_periodicity[2] = domain->zperiodic; + // store periodicity + n_periodicity[0] = domain->xperiodic; + n_periodicity[1] = domain->yperiodic; + n_periodicity[2] = domain->zperiodic; - // store offset of the system - n_offset[0] = domain->boundary[0][0]; - n_offset[1] = domain->boundary[1][0]; - n_offset[2] = domain->boundary[2][0]; + // store offset of the system + n_offset[0] = domain->boundary[0][0]; + n_offset[1] = domain->boundary[1][0]; + n_offset[2] = domain->boundary[2][0]; - // calculate box vectors - n_box_x[0] = domain->prd[0]; - n_box_x[1] = n_box_x[2] = 0.0; + // calculate box vectors + n_box_x[0] = domain->prd[0]; + n_box_x[1] = n_box_x[2] = 0.0; - n_box_y[1] = domain->prd[1]; - n_box_y[0] = n_box_y[2] = 0.0; + n_box_y[1] = domain->prd[1]; + n_box_y[0] = n_box_y[2] = 0.0; - n_box_z[2] = domain->prd[2]; - n_box_z[1] = n_box_z[0] = 0.0; + n_box_z[2] = domain->prd[2]; + n_box_z[1] = n_box_z[0] = 0.0; - n_total_particles = atom->natoms; + n_total_particles = atom->natoms; - changed = changed || + changed = changed || ( n_periodicity[0] != periodicity[0] ) || ( n_periodicity[1] != periodicity[1] ) || ( n_periodicity[2] != periodicity[2] ) || @@ -441,28 +427,7 @@ bool FixScafacos::box_has_changed() ( n_box_z[1] != box_z[1] ) || ( n_box_z[2] != box_z[2] ) || ( n_total_particles != total_particles ); -/* - if (changed) - { - std::cout << rank << " " << "n_per_x : per_x" << n_periodicity[0] << " " << periodicity[0] << std::endl; - std::cout << rank << " " << "n_per_y : per_y" << n_periodicity[1] << " " << periodicity[1] << std::endl; - std::cout << rank << " " << "n_per_z : per_z" << n_periodicity[2] << " " << periodicity[2] << std::endl; - std::cout << rank << " " << "n_off_x : off_x" << n_offset[0] << " " << offset[0] << std::endl; - std::cout << rank << " " << "n_off_y : off_y" << n_offset[1] << " " << offset[1] << std::endl; - std::cout << rank << " " << "n_off_z : off_z" << n_offset[2] << " " << offset[2] << std::endl; - std::cout << rank << " " << "n_bx_x : bx_x" << n_box_x[0] << " " << box_x[0] << std::endl; - std::cout << rank << " " << "n_bx_y : bx_y" << n_box_x[1] << " " << box_x[1] << std::endl; - std::cout << rank << " " << "n_bx_z : bx_z" << n_box_x[2] << " " << box_x[2] << std::endl; - std::cout << rank << " " << "n_by_x : by_x" << n_box_y[0] << " " << box_y[0] << std::endl; - std::cout << rank << " " << "n_by_y : by_y" << n_box_y[1] << " " << box_y[1] << std::endl; - std::cout << rank << " " << "n_by_z : by_z" << n_box_y[2] << " " << box_y[2] << std::endl; - std::cout << rank << " " << "n_bz_x : bz_x" << n_box_z[0] << " " << box_z[0] << std::endl; - std::cout << rank << " " << "n_bz_y : bz_y" << n_box_z[1] << " " << box_z[1] << std::endl; - std::cout << rank << " " << "n_bz_z : bz_z" << n_box_z[2] << " " << box_z[2] << std::endl; - std::cout << rank << " " << "n_total : total" << n_total_particles << " " << total_particles << std::endl; - } -*/ - return changed; + return changed; } @@ -475,11 +440,11 @@ bool FixScafacos::check_result(FCSResult result, int comm_rank) if (result) { printf("ScaFaCoS Error: Caught error on task %d.\n", comm_rank); - //std::cout << "ScaFaCoS ERROR: Caught error on task " << comm_rank << "!" << std::endl; std::string err_msg; std::stringstream ss; - ss << fcs_result_get_function(result) << "\n" << fcs_result_get_message(result) << "\n"; + ss << fcs_result_get_function(result) << "\n" + << fcs_result_get_message(result) << "\n"; err_msg = ss.str(); error -> all(FLERR, err_msg.c_str()); @@ -487,4 +452,3 @@ bool FixScafacos::check_result(FCSResult result, int comm_rank) } return true; } - -- GitLab From 3a824b3a4b402f5b3d48f334111e1f66bd2e9415 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 9 Jul 2018 14:16:46 -0600 Subject: [PATCH 244/675] mods to Sergey's files --- doc/src/pair_atm.html | 91 +++++++++++++++++++++++++++ doc/src/pair_atm.txt | 95 +++++++++++++++++++++++----- examples/README | 1 + examples/{ => atm}/in.atm | 6 +- examples/atm/log.9Jul18.atm.g++.1 | 100 ++++++++++++++++++++++++++++++ examples/atm/log.9Jul18.atm.g++.4 | 100 ++++++++++++++++++++++++++++++ src/MANYBODY/pair_atm.cpp | 10 +-- src/MANYBODY/pair_atm.h | 10 +-- 8 files changed, 383 insertions(+), 30 deletions(-) create mode 100644 doc/src/pair_atm.html rename examples/{ => atm}/in.atm (88%) create mode 100644 examples/atm/log.9Jul18.atm.g++.1 create mode 100644 examples/atm/log.9Jul18.atm.g++.4 diff --git a/doc/src/pair_atm.html b/doc/src/pair_atm.html new file mode 100644 index 0000000000..df8e6099cf --- /dev/null +++ b/doc/src/pair_atm.html @@ -0,0 +1,91 @@ + + + + + + + + +
      + +

      pair_style atm command +

      +

      Syntax: +

      +
      pair_style atm args = cutoff 
      +
      +

      Examples: +

      +
      pair_style 2.5
      +pair_coeff * * * 0.072 
      +
      +
      pair_style	hybrid/overlay lj/cut 6.5 atm 2.5
      +pair_coeff	* * lj/cut 1.0 1.0
      +pair_coeff	* * atm * 0.072 
      +
      +

      Description: +

      +

      The atm style computes a 3-body Axilrod-Teller-Muto +potential for the energy E of a system of atoms as +

      +
      +
      +

      where r12, r23 and r31 are the distances between the atoms, +gamma1 is included by the sides r12 and r31 +with similar definitions for gamma2 and gamma3, +nu is the three-body interaction strength (energy times distance^9 units). +

      +

      The atm is typically used in compination with some two-body potential +using hybrid/overlay style as in an example above. +

      +

      The calculations are not undertaken if the distances between atoms satisfy +r12 r23 r31 > curoff^3. Virtual cutoff distance based on a user defined +tolerance tol is not used. +

      +

      The Axilrod-Teller-Muto potential file must contain entries for all the +elements listed in the pair_coeff command. It can also contain +entries for additional elements not being used in a particular +simulation; LAMMPS ignores those entries. +

      +

      For a single-element simulation, only a single entry is required +(e.g. 1 1 1). For a two-element simulation, the file must contain 4 +entries (eg. 1 1 1, 1 1 2, 1 2 2, 2 2 2), that +specify ATM parameters for all combinations of the two elements +interacting in three-body configurations. Thus for 3 elements, 10 +entries would be required, etc. +

      +
      + +

      Shift, table, tail correction, rRESPA info: +

      +

      This pair style does not support the pair_modify +shift, table, and tail options. +

      +

      This pair style can only be used via the pair keyword of the +run_style respa command. It does not support the +inner, middle, outer keywords. +

      +
      + +

      Restrictions: +

      +

      This pair style is part of the MANYBODY package. It is only enabled +if LAMMPS was built with that package. See +the Making LAMMPS section for more info. +

      +

      Related commands: +

      +

      pair_coeff +

      +

      Default: none +

      +
      + + + +

      (Axilrod) +Axilrod and Teller, J Chem Phys, 11, 299 (1943); +Muto, Nippon Sugaku Butsuri Gakkwaishi 17, 629 (1943). +

      + diff --git a/doc/src/pair_atm.txt b/doc/src/pair_atm.txt index 48260c161a..786400b626 100644 --- a/doc/src/pair_atm.txt +++ b/doc/src/pair_atm.txt @@ -10,16 +10,18 @@ pair_style atm command :h3 [Syntax:] -pair_style atm args = cutoff :pre +pair_style atm cutoff :pre + +cutoff = global cutoff for 3-body interactions (distance units) :ul [Examples:] pair_style 2.5 pair_coeff * * * 0.072 :pre -pair_style hybrid/overlay lj/cut 6.5 atm 2.5 -pair_coeff * * lj/cut 1.0 1.0 -pair_coeff * * atm * 0.072 :pre +pair_style hybrid/overlay lj/cut 6.5 atm 2.5 +pair_coeff * * lj/cut 1.0 1.0 +pair_coeff * * atm * 0.072 :pre [Description:] @@ -28,18 +30,60 @@ potential for the energy E of a system of atoms as :c,image(Eqs/pair_atm.jpg) -where r12, r23 and r31 are the distances between the atoms, -gamma1 is included by the sides r12 and r31 -with similar definitions for gamma2 and gamma3, -nu is the three-body interaction strength (energy times distance^9 units). +where r12, r23 and r31 are the distances between pairs of atoms, +gamma1 is the angle ???, gamma2 is the angle ???, gamma3 is the angle +???, and nu is the three-body interaction strength. +A diagram of the 3 atoms might help here. + +The {atm} potential is typically used in combination with a two-body +potential using the "pair_style hybrid/overlay"_pair_hybrid.html +command as in the example above. + +-------------------- -The {atm} is typically used in compination with some two-body potential -using "hybrid/overlay"_pair_hybrid.html style as in an example above. +The rest of this section needs some work to make things more clear. +You need to explain exactly how the cutoff is used. + +I don't think this is true: The calculations are not undertaken if the distances between atoms satisfy -r12 r23 r31 > curoff^3. Virtual cutoff distance based on a user defined +r12 r23 r31 > cutoff^3. + +If r12 > cutoff+skin, then that pair of atoms is not in +the neighbor list, regardless of what r23 and r31 are, +so how can it be computed? + +What does this line mean? +Virtual cutoff distance based on a user defined tolerance tol is not used. +You must explain exactly what the user needs to put +in the input script to model single element and multi-element +systems. + +You refer to an ATM potential file, but I don't think there is +such a thing. There is no code in pair_atm.cpp that reads +a file. Isn't it all pair_coeff commands? In LAMMPS lingo, +potential files are the files in the potentials dir. +There is no such thing for ATM, right? + +What is the geometry of i,j,k interactions - you don't explain it. +Which one is the central atom? + +You say all the K values for a particular I,J must be specified. +I don't see where the code checks for this. + +This is the way to word the explation of the per-pair values required: + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the restart files read by the +"read_restart"_read_restart.html commands: + +?? explain what K is and what are the allowed values +nu (energy/distance^9 units) :ul + +Again: what file are you talking about? The Axilrod-Teller-Muto potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular @@ -52,12 +96,29 @@ specify ATM parameters for all combinations of the two elements interacting in three-body configurations. Thus for 3 elements, 10 entries would be required, etc. +I think a better syntax for the pair coeff command might be this: + +pair_coeff I J v1 v2 ... vN + +when 1,2,...N are the number of atom types defined. +Then there be one pair_coeff command for each type pair, +the same syntax as all other potentials in LAMMPS use. + +Note that you refer to "elements", but the pair coeff command +knows nothing about elements. Only atom types. There +could be 10 atom types that all map to the same chemical +element. + :line -[Shift, table, tail correction, rRESPA info]: +[Mixing, shift, table, tail correction, restart, rRESPA info]: + +This pair styles do not support the "pair_modify"_pair_modify.html +mix, shift, table, and tail options. -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. +This pair style writes its information to "binary restart +files"_restart.html, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. This pair style can only be used via the {pair} keyword of the "run_style respa"_run_style.html command. It does not support the @@ -68,8 +129,8 @@ This pair style can only be used via the {pair} keyword of the [Restrictions:] This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See -the "Making LAMMPS"_Section_start.html#start_3 section for more info. +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. [Related commands:] @@ -82,4 +143,4 @@ the "Making LAMMPS"_Section_start.html#start_3 section for more info. :link(Axilrod) [(Axilrod)] Axilrod and Teller, J Chem Phys, 11, 299 (1943); -Muto, Nippon Sugaku Butsuri Gakkwaishi 17, 629 (1943). +Muto, Nippon, Sugaku, Butsuri, Gakkwaishi 17, 629 (1943). diff --git a/examples/README b/examples/README index a8dfe63d92..d6c946725f 100644 --- a/examples/README +++ b/examples/README @@ -59,6 +59,7 @@ sub-directories: accelerate: use of all the various accelerator packages airebo: polyethylene with AIREBO potential +atm: Axilrod-Teller-Muto potential balance: dynamic load balancing, 2d system body: body particles, 2d system cmap: CMAP 5-body contributions to CHARMM force field diff --git a/examples/in.atm b/examples/atm/in.atm similarity index 88% rename from examples/in.atm rename to examples/atm/in.atm index 0f3760baf9..52576c04c9 100644 --- a/examples/in.atm +++ b/examples/atm/in.atm @@ -1,3 +1,5 @@ +# Axilrod-Teller-Muto potential example + variable x index 1 variable y index 1 variable z index 1 @@ -24,6 +26,6 @@ velocity all create 1.033 12345678 loop geom fix 1 all nvt temp 1.033 1.033 0.05 timestep 0.002 -thermo 1 +thermo 5 -run 50 +run 25 diff --git a/examples/atm/log.9Jul18.atm.g++.1 b/examples/atm/log.9Jul18.atm.g++.1 new file mode 100644 index 0000000000..27ba23e3a9 --- /dev/null +++ b/examples/atm/log.9Jul18.atm.g++.1 @@ -0,0 +1,100 @@ +LAMMPS (29 Jun 2018) +# Axilrod-Teller-Muto potential example + +variable x index 1 +variable y index 1 +variable z index 1 + +variable xx equal 10*$x +variable xx equal 10*1 +variable yy equal 10*$y +variable yy equal 10*1 +variable zz equal 10*$z +variable zz equal 10*1 + +units lj +atom_style atomic + +lattice fcc 0.65 +Lattice spacing in x,y,z = 1.83252 1.83252 1.83252 +region box block 0 ${xx} 0 ${yy} 0 ${zz} +region box block 0 10 0 ${yy} 0 ${zz} +region box block 0 10 0 10 0 ${zz} +region box block 0 10 0 10 0 10 +create_box 1 box +Created orthogonal box = (0 0 0) to (18.3252 18.3252 18.3252) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + Time spent = 0.00120211 secs + +pair_style hybrid/overlay lj/cut 4.5 atm 2.5 +pair_coeff * * lj/cut 1.0 1.0 +pair_coeff * * atm * 0.072 + +mass * 1.0 +velocity all create 1.033 12345678 loop geom + +fix 1 all nvt temp 1.033 1.033 0.05 + +timestep 0.002 +thermo 5 + +run 25 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 4.8 + ghost atom cutoff = 4.8 + binsize = 2.4, bins = 8 8 8 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair atm, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 11.47 | 11.47 | 11.47 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.033 -4.5929584 0 -3.0438458 -3.6506231 + 5 1.0335109 -4.5924034 0 -3.0425247 -3.6376817 + 10 1.0347484 -4.5941952 0 -3.0424606 -3.6032204 + 15 1.0357954 -4.5962409 0 -3.0429363 -3.5421887 + 20 1.0350606 -4.595891 0 -3.0436883 -3.4478779 + 25 1.0301813 -4.5896962 0 -3.0448107 -3.3111695 +Loop time of 34.5602 on 1 procs for 25 steps with 4000 atoms + +Performance: 124.999 tau/day, 0.723 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 34.556 | 34.556 | 34.556 | 0.0 | 99.99 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.001323 | 0.001323 | 0.001323 | 0.0 | 0.00 +Output | 0.00018287 | 0.00018287 | 0.00018287 | 0.0 | 0.00 +Modify | 0.0016184 | 0.0016184 | 0.0016184 | 0.0 | 0.00 +Other | | 0.0006311 | | | 0.00 + +Nlocal: 4000 ave 4000 max 4000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 10895 ave 10895 max 10895 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 640000 ave 640000 max 640000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 1.28e+06 ave 1.28e+06 max 1.28e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1280000 +Ave neighs/atom = 320 +Neighbor list builds = 0 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:36 diff --git a/examples/atm/log.9Jul18.atm.g++.4 b/examples/atm/log.9Jul18.atm.g++.4 new file mode 100644 index 0000000000..300f82d581 --- /dev/null +++ b/examples/atm/log.9Jul18.atm.g++.4 @@ -0,0 +1,100 @@ +LAMMPS (29 Jun 2018) +# Axilrod-Teller-Muto potential example + +variable x index 1 +variable y index 1 +variable z index 1 + +variable xx equal 10*$x +variable xx equal 10*1 +variable yy equal 10*$y +variable yy equal 10*1 +variable zz equal 10*$z +variable zz equal 10*1 + +units lj +atom_style atomic + +lattice fcc 0.65 +Lattice spacing in x,y,z = 1.83252 1.83252 1.83252 +region box block 0 ${xx} 0 ${yy} 0 ${zz} +region box block 0 10 0 ${yy} 0 ${zz} +region box block 0 10 0 10 0 ${zz} +region box block 0 10 0 10 0 10 +create_box 1 box +Created orthogonal box = (0 0 0) to (18.3252 18.3252 18.3252) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 4000 atoms + Time spent = 0.000735998 secs + +pair_style hybrid/overlay lj/cut 4.5 atm 2.5 +pair_coeff * * lj/cut 1.0 1.0 +pair_coeff * * atm * 0.072 + +mass * 1.0 +velocity all create 1.033 12345678 loop geom + +fix 1 all nvt temp 1.033 1.033 0.05 + +timestep 0.002 +thermo 5 + +run 25 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 4.8 + ghost atom cutoff = 4.8 + binsize = 2.4, bins = 8 8 8 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair atm, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.532 | 5.532 | 5.532 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.033 -4.5929584 0 -3.0438458 -3.6506231 + 5 1.0335109 -4.5924034 0 -3.0425247 -3.6376817 + 10 1.0347484 -4.5941952 0 -3.0424606 -3.6032204 + 15 1.0357954 -4.5962409 0 -3.0429363 -3.5421887 + 20 1.0350606 -4.595891 0 -3.0436883 -3.4478779 + 25 1.0301813 -4.5896962 0 -3.0448107 -3.3111695 +Loop time of 10.061 on 4 procs for 25 steps with 4000 atoms + +Performance: 429.382 tau/day, 2.485 timesteps/s +100.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 9.8393 | 9.9439 | 10.008 | 2.0 | 98.84 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.052154 | 0.11613 | 0.22077 | 18.7 | 1.15 +Output | 7.2241e-05 | 8.2552e-05 | 0.00011158 | 0.0 | 0.00 +Modify | 0.00053763 | 0.00055265 | 0.00056624 | 0.0 | 0.01 +Other | | 0.0002971 | | | 0.00 + +Nlocal: 1000 ave 1000 max 1000 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 5835 ave 5835 max 5835 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 160000 ave 160000 max 160000 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 320000 ave 320000 max 320000 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1280000 +Ave neighs/atom = 320 +Neighbor list builds = 0 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:10 diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp index 0286c3ed1e..03c523eefe 100644 --- a/src/MANYBODY/pair_atm.cpp +++ b/src/MANYBODY/pair_atm.cpp @@ -49,8 +49,8 @@ PairATM::PairATM(LAMMPS *lmp) : Pair(lmp) if (lmp->citeme) lmp->citeme->add(cite_atm_package); single_enable = 0; - restartinfo = 0; - one_coeff = 1; + //restartinfo = 1; // it does save restart info, correct? + //one_coeff = 0; // it does not only use * *, correct? manybody_flag = 1; } @@ -129,7 +129,7 @@ void PairATM::compute(int eflag, int vflag) if (r6 > cut_sixth) continue; interaction_ddd(nu[type[i]][type[j]][type[k]], - r6,rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl); + r6,rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl); f[i][0] -= fj[0] + fk[0]; f[i][1] -= fj[1] + fk[1]; @@ -229,7 +229,9 @@ void PairATM::write_restart(FILE *fp) for (i = 1; i <= atom->ntypes; i++) { for (j = i; j <= atom->ntypes; j++) { fwrite(&setflag[i][j],sizeof(int),1,fp); - if (setflag[i][j]) for (k = i; k <= atom->ntypes; k++) fwrite(&nu[i][j][k],sizeof(double),1,fp); + if (setflag[i][j]) + for (k = i; k <= atom->ntypes; k++) + fwrite(&nu[i][j][k],sizeof(double),1,fp); } } } diff --git a/src/MANYBODY/pair_atm.h b/src/MANYBODY/pair_atm.h index b5bfc64010..45a6cda344 100644 --- a/src/MANYBODY/pair_atm.h +++ b/src/MANYBODY/pair_atm.h @@ -11,10 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing author: Sergey Lishchuk -------------------------------------------------------------------------- */ - #ifdef PAIR_CLASS PairStyle(atm,PairATM) @@ -46,9 +42,9 @@ class PairATM : public Pair { double cut_global, cut_sixth; double ***nu; - protected: - virtual void allocate(); - void interaction_ddd(double, double, double, double, double, double *, double *, double *, double *, double *, int, double &); + void allocate(); + void interaction_ddd(double, double, double, double, double, double *, + double *, double *, double *, double *, int, double &); }; } -- GitLab From 75ec0a6a990ae6eec59ca7fa80c8cff14d561495 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 9 Jul 2018 14:17:21 -0600 Subject: [PATCH 245/675] remove HTML file --- doc/src/pair_atm.html | 91 ------------------------------------------- 1 file changed, 91 deletions(-) delete mode 100644 doc/src/pair_atm.html diff --git a/doc/src/pair_atm.html b/doc/src/pair_atm.html deleted file mode 100644 index df8e6099cf..0000000000 --- a/doc/src/pair_atm.html +++ /dev/null @@ -1,91 +0,0 @@ - -
      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands -
      - - - - - - -
      - -

      pair_style atm command -

      -

      Syntax: -

      -
      pair_style atm args = cutoff 
      -
      -

      Examples: -

      -
      pair_style 2.5
      -pair_coeff * * * 0.072 
      -
      -
      pair_style	hybrid/overlay lj/cut 6.5 atm 2.5
      -pair_coeff	* * lj/cut 1.0 1.0
      -pair_coeff	* * atm * 0.072 
      -
      -

      Description: -

      -

      The atm style computes a 3-body Axilrod-Teller-Muto -potential for the energy E of a system of atoms as -

      -
      -
      -

      where r12, r23 and r31 are the distances between the atoms, -gamma1 is included by the sides r12 and r31 -with similar definitions for gamma2 and gamma3, -nu is the three-body interaction strength (energy times distance^9 units). -

      -

      The atm is typically used in compination with some two-body potential -using hybrid/overlay style as in an example above. -

      -

      The calculations are not undertaken if the distances between atoms satisfy -r12 r23 r31 > curoff^3. Virtual cutoff distance based on a user defined -tolerance tol is not used. -

      -

      The Axilrod-Teller-Muto potential file must contain entries for all the -elements listed in the pair_coeff command. It can also contain -entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries. -

      -

      For a single-element simulation, only a single entry is required -(e.g. 1 1 1). For a two-element simulation, the file must contain 4 -entries (eg. 1 1 1, 1 1 2, 1 2 2, 2 2 2), that -specify ATM parameters for all combinations of the two elements -interacting in three-body configurations. Thus for 3 elements, 10 -entries would be required, etc. -

      -
      - -

      Shift, table, tail correction, rRESPA info: -

      -

      This pair style does not support the pair_modify -shift, table, and tail options. -

      -

      This pair style can only be used via the pair keyword of the -run_style respa command. It does not support the -inner, middle, outer keywords. -

      -
      - -

      Restrictions: -

      -

      This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See -the Making LAMMPS section for more info. -

      -

      Related commands: -

      -

      pair_coeff -

      -

      Default: none -

      -
      - - - -

      (Axilrod) -Axilrod and Teller, J Chem Phys, 11, 299 (1943); -Muto, Nippon Sugaku Butsuri Gakkwaishi 17, 629 (1943). -

      - -- GitLab From ee98d026dcbf8b0884b012b06a744b4a807777e9 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 9 Jul 2018 14:28:25 -0600 Subject: [PATCH 246/675] preliminary documentation added (to be improved) --- doc/src/fix_scafacos.txt | 44 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 doc/src/fix_scafacos.txt diff --git a/doc/src/fix_scafacos.txt b/doc/src/fix_scafacos.txt new file mode 100644 index 0000000000..1a65ed0c5e --- /dev/null +++ b/doc/src/fix_scafacos.txt @@ -0,0 +1,44 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix scafacos command :h3 + +[Syntax:] + +fix ID group-ID scafacos solver tol_type tolerance :pre + +ID, group-ID are documented in "fix"_fix.html command +scafacos = style name of this fix command +solver = NULL or name of solver for electro-statics computation :ul +tol_type = NULL or one of (energy, energy_rel, field, field_rel, potential, potential_rel) +tolerance = only of tol_type is given, value of tolerance + +[Examples:] + +fix 1 all scafacos fmm +fix 1 all scafacos p3m field 0.001 + +[Description:] + +This fix style is a wrapper for the Coulomb solver library ScaFaCoS, +which provides a selection of different solvers for the compuation +of electro-static interaction. If you download and build ScaFaCoS, +it can be called as libray by LAMMPS via this fix, which allows the +selection of a solver as well as setting the tolerance of a chosen +parameter (if compatible with the chosen solver). + +ScaFaCoS was developed by a consortium of German research facilities +with a BMBF (German Ministry of Science and Education) funded project +in 2009-2012. Participants of the consortium were the Universities of +Bonn, Chemnitz, Stuttgart, and Wuppertal as well as the +Forschungszentrum Juelich. + +The library is available at "http://scafacos.de" or can be cloned +from the git-repository "git://github.com/scafacos/scafacos.git". + +:line -- GitLab From 13338bf8cbfb7fcb047a43b39b49d6506b7e6e48 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 9 Jul 2018 16:15:15 -0600 Subject: [PATCH 247/675] small changes to Trung body files --- doc/src/body.txt | 162 ++++++++++---- doc/src/fix_wall_body_polygon.txt | 56 ++--- doc/src/fix_wall_body_polyhedron.txt | 41 ++-- doc/src/pair_body_rounded_polygon.txt | 97 ++++++--- doc/src/pair_body_rounded_polyhedron.txt | 97 ++++++--- examples/body/in.cubes | 6 +- examples/body/in.pour3d | 2 +- examples/body/in.squares | 7 +- examples/body/in.wall2d | 7 +- examples/body/log.9Jul18.body.cubes.g++.1 | 125 +++++++++++ examples/body/log.9Jul18.body.cubes.g++.4 | 125 +++++++++++ examples/body/log.9Jul18.body.pour3d.g++.1 | 138 ++++++++++++ examples/body/log.9Jul18.body.squares.g++.1 | 221 +++++++++++++++++++ examples/body/log.9Jul18.body.squares.g++.4 | 221 +++++++++++++++++++ examples/body/log.9Jul18.body.wall2d.g++.1 | 223 ++++++++++++++++++++ examples/body/log.9Jul18.body.wall2d.g++.4 | 223 ++++++++++++++++++++ src/BODY/body_rounded_polygon.cpp | 4 +- src/BODY/body_rounded_polyhedron.cpp | 9 +- src/BODY/fix_wall_body_polygon.cpp | 7 +- src/BODY/fix_wall_body_polyhedron.cpp | 7 +- src/BODY/pair_body_rounded_polygon.cpp | 36 ++-- src/BODY/pair_body_rounded_polyhedron.cpp | 28 ++- 22 files changed, 1653 insertions(+), 189 deletions(-) create mode 100644 examples/body/log.9Jul18.body.cubes.g++.1 create mode 100644 examples/body/log.9Jul18.body.cubes.g++.4 create mode 100644 examples/body/log.9Jul18.body.pour3d.g++.1 create mode 100644 examples/body/log.9Jul18.body.squares.g++.1 create mode 100644 examples/body/log.9Jul18.body.squares.g++.4 create mode 100644 examples/body/log.9Jul18.body.wall2d.g++.1 create mode 100644 examples/body/log.9Jul18.body.wall2d.g++.4 diff --git a/doc/src/body.txt b/doc/src/body.txt index e936f5409c..c272f48ad1 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -36,7 +36,7 @@ thus how they can be used to compute pairwise body/body or bond/non-body (point particle) interactions. More details of each style are described below. -We hope to add more styles in the future. See "Section +More styles ma be added in the future. See "Section 10.12"_Section_modify.html#mod_12 for details on how to add a new body style to the code. @@ -59,7 +59,7 @@ the simple particles. By contrast, when body particles are used, LAMMPS treats an entire body as a single particle for purposes of computing pairwise interactions, building neighbor lists, migrating particles between -processors, outputting particles to a dump file, etc. This means that +processors, output of particles to a dump file, etc. This means that interactions between pairs of bodies or between a body and non-body (point) particle need to be encoded in an appropriate pair style. If such a pair style were to mimic the "fix rigid"_fix_rigid.html model, @@ -70,17 +70,20 @@ single body/body interaction was computed. Thus it only makes sense to use body particles and develop such a pair style, when particle/particle interactions are more complex than what the "fix rigid"_fix_rigid.html command can already calculate. For -example, if particles have one or more of the following attributes: +example, consider particles with one or more of the following +attributes: represented by a surface mesh represented by a collection of geometric entities (e.g. planes + spheres) deformable internal stress that induces fragmentation :ul -then the interaction between pairs of particles is likely to be more -complex than the summation of simple sub-particle interactions. An -example is contact or frictional forces between particles with planar -surfaces that inter-penetrate. +For these models, the interaction between pairs of particles is likely +to be more complex than the summation of simple pairwise interactions. +An example is contact or frictional forces between particles with +planar surfaces that inter-penetrate. Likewise, the body particle may +store internal state, such as a stress tensor used to compute a +fracture criterion. These are additional LAMMPS commands that can be used with body particles of different styles @@ -128,7 +131,9 @@ x1 y1 z1 ... xN yN zN :pre -N is the number of sub-particles in the body particle. M = 6 + 3*N. +where M = 6 + 3*N, and N is the number of sub-particles in the body +particle. + The integer line has a single value N. The floating point line(s) list 6 moments of inertia followed by the coordinates of the N sub-particles (x1 to zN) as 3N values. These values can be listed on @@ -173,13 +178,18 @@ The {bflag2} argument is ignored. [Specifics of body style rounded/polygon:] -The {rounded/polygon} body style represents body particles as -a polygon with a variable number N of vertices, which can only be -used for 2d models. Special cases for N = 1 (spheres) and N = 2 -(rods) are also included. One example use of this body style is for 2d -discrete element models, as described in "Fraige"_#Fraige. Similar to -body style {nparticle}, the atom_style body command for this body -style takes two additional arguments: +The {rounded/polygon} body style represents body particles as a 2d +polygon with a variable number of N vertices. This style can only be +used for 2d models; see the "boundary"_boundary.html command. + +NOTE: include a diagram of a a rounded polygon body particle + +Special cases for N = 1 (spheres) and N = 2 (rods) are also included. +One use of this body style is for 2d discrete element models, as +described in "Fraige"_#Fraige. + +Similar to body style {nparticle}, the atom_style body command for +this body style takes two additional arguments: atom_style body rounded/polygon Nmin Nmax Nmin = minimum # of vertices in any body in the system @@ -201,14 +211,19 @@ xN yN zN i j j k k ... diameter :pre -N is the number of vertices in the body particle. M = 6 + 3*N + 2*N + -1. The integer line has a single value N. The floating point line(s) +where M = 6 + 3*N + 2*N + 1, and N is the number of vertices in the +body particle. + +The integer line has a single value N. The floating point line(s) list 6 moments of inertia followed by the coordinates of the N -vertices (x1 to zN) as 3N values, followed by 2N vertex indices -corresponding to the end points of the N edges, followed by a single -diameter value = the rounded diameter of the vertices. -These floating-point values can be listed on as many lines as you -wish; see the "read_data"_read_data.html command for more details. +vertices (x1 to zN) as 3N values (with z = 0.0 for each), followed by +2N vertex indices corresponding to the end points of the N edges, +followed by a single diameter value = the rounded diameter of the +circle that surrounds each vertex. These floating-point values can be +listed on as many lines as you wish; see the +"read_data"_read_data.html command for more details. + +NOTE: can the diameter value be different for each body particle? The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body @@ -220,8 +235,10 @@ from the center-of-mass of the body particle. The center-of-mass position of the particle is specified by the x,y,z values in the {Atoms} section of the data file. -For example, the following information would specify a square -particles whose edge length is sqrt(2): +For example, the following information would specify a square particle +whose edge length is sqrt(2): + +NOTE: oriented how? 3 1 27 4 @@ -238,18 +255,31 @@ particles whose edge length is sqrt(2): The "pair_style body/rounded/polygon"_pair_body_rounded_polygon.html command can be used with this body style to compute body/body -interactions. +interactions. The "fix wall/body/polygon"_fix_wall_body_polygon.html +command can be used with this body style to compute the interaction of +body particles with a wall. :line [Specifics of body style rounded/polyhedron:] -The {rounded/polyhedron} body style represents body particles as -a polyhedron with N vertices, E edges and F faces. +The {rounded/polyhedron} body style represents body particles as a 3d +polyhedron with a variable number of N vertices, E edges and F faces. +This style can only be used for 3d models; see the +"boundary"_boundary.html command. + +NOTE: include a diagram of a a rounded polyhedron body particle + Special cases for N = 1 (spheres) and N = 2 (rods) are also valid. -This body style is for 3d discrete element models, as described in "Wang"_#Wang. -Similar to body style {rounded/polygon}, the atom_style body command for this body -style takes two additional arguments: + +NOTE: can 2d objects also be specified as a special case, e.g. a +triangle? + +This body style is for 3d discrete element models, as described in +"Wang"_#Wang. + +Similar to body style {rounded/polygon}, the atom_style body command +for this body style takes two additional arguments: atom_style body rounded/polyhedron Nmin Nmax Nmin = minimum # of vertices in any body in the system @@ -278,18 +308,57 @@ xN yN zN 1 2 3 4 diameter :pre -N is the number of vertices in the body particle. M = 6 + 3*N + 2*E -+ 4*F + 1. The integer line has three values: number of vertices (N), -number of edges (E) and number of faces (F). The floating point line(s) -list 6 moments of inertia followed by the coordinates of the N -vertices (x1 to zN) as 3N values, followed by 2N vertex indices -corresponding to the end points of the E edges, 4*F vertex indices defining F faces. -The last value is the radius value = the rounded diameter of the vertices. -These floating-point values can be listed on as many lines as you -wish; see the "read_data"_read_data.html command for more details. -Because the maxmimum vertices per face is hard-coded to be 4 (i.e. quadrilaterals), -faces with more than 4 vertices need to be split into triangles or quadrilaterals. -For triangular faces, the last index should be set to -1. +where M = 6 + 3*N + 2*E + 4*F + 1, and N is the number of vertices in +the body particle, E = number of edges, F = number of faces. + +The integer line has three values: number of vertices (N), number of +edges (E) and number of faces (F). The floating point line(s) list 6 +moments of inertia followed by the coordinates of the N vertices (x1 +to zN) as 3N values, followed by 2N vertex indices corresponding to +the end points of the E edges, then 4*F vertex indices defining F +faces. The last value is the radius value = the rounded diameter of +the sphere that surrounds each vertex. These floating-point values +can be listed on as many lines as you wish; see the +"read_data"_read_data.html command for more details. Because the +maxmimum vertices per face is hard-coded to be 4 +(i.e. quadrilaterals), faces with more than 4 vertices need to be +split into triangles or quadrilaterals. For triangular faces, the +last vertex index should be set to -1. + +NOTE: is there some right-hand rule for the ordering of the 4 vertices +within each face? + +NOTE: can the diameter value be different for each body particle? + +The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the +values consistent with the current orientation of the rigid body +around its center of mass. The values are with respect to the +simulation box XYZ axes, not with respect to the principal axes of the +rigid body itself. LAMMPS performs the latter calculation internally. +The coordinates of each vertex are specified as its x,y,z displacement +from the center-of-mass of the body particle. The center-of-mass +position of the particle is specified by the x,y,z values in the +{Atoms} section of the data file. + +For example, the following information would specify a cubic particle +whose edge length is 1.0: + +NOTE: oriented how? + +NOTE: fill in these values correctly + +3 1 27 +4 +1 1 4 0 0 0 +-0.7071 -0.7071 0 +-0.7071 0.7071 0 +0.7071 0.7071 0 +0.7071 -0.7071 0 +0 1 +1 2 +2 3 +3 0 +1.0 :pre :line @@ -309,9 +378,9 @@ current COM and orientation of the body particle. For images created by the "dump image"_dump_image.html command, if the {body} keyword is set, then each body particle is drawn as a polygon -consisting of N line segments. Note that the line segments -are drawn between the N vertices, which does not correspond exactly to -the physical extent of the body (because the "pair_style +consisting of N line segments. Note that the line segments are drawn +between the N vertices, which does not correspond exactly to the +physical extent of the body (because the "pair_style rounded/polygon"_pair_body_rounded_polygon.html defines finite-size spheres at those point and the line segments between the spheres are tangent to the spheres). The drawn diameter of each line segment is @@ -325,4 +394,5 @@ determined by the {bflag1} parameter for the {body} keyword. The Particuology, 6, 455 (2008). :link(Wang) -[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). +[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular +Matter, 13, 1 (2011). diff --git a/doc/src/fix_wall_body_polygon.txt b/doc/src/fix_wall_body_polygon.txt index 00d23c207c..4ba16b56c7 100644 --- a/doc/src/fix_wall_body_polygon.txt +++ b/doc/src/fix_wall_body_polygon.txt @@ -14,9 +14,9 @@ fix ID group-ID wall/body/polygon k_n c_n c_t wallstyle args keyword values ... ID, group-ID are documented in "fix"_fix.html command :ulb,l wall/body/polygon = style name of this fix command :l -k_n = normal repulsion strength (force/distance units or pressure units - see discussion below) :l -c_n = normal damping coefficient (force/distance units or pressure units - see discussion below) :l -c_t = tangential damping coefficient (force/distance units or pressure units - see discussion below) :l +k_n = normal repulsion strength (force/distance or pressure units) :l +c_n = normal damping coefficient (force/distance or pressure units) :l +c_t = tangential damping coefficient (force/distance or pressure units) :l wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l args = list of arguments for a particular style :l {xplane} or {yplane} args = lo hi @@ -37,34 +37,37 @@ fix 1 all wall/body/polygon 1000.0 20.0 5.0 xplane -10.0 10.0 [Description:] -Bound the simulation domain of systems of body particles of style -body/rounded/polygon with wall(s). All particles in the group interact -with the wall when they are close enough to touch it. -The nature of the interaction between the wall and the polygons is -the same as that between the polygons themselves, which is similar to the Hookean potential. +This fix is for use with 2d models of body particles of style +{rounded/polygon}. It bounds the simulation domain with wall(s). All +particles in the group interact with the wall when they are close +enough to touch it. The nature of the interaction between the wall +and the polygon particles is the same as that between the polygon +particles themselves, which is similar to a Hookean potential. See +"Section 6.14"_Section_howto.html#howto_14 of the manual and the +"body"_body.html doc page for more details on using body particles. -This fix is designed for use with the "body/rounded/polygon" body style, -which is specified as an argument to the "atom-style body" command. -The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the -"pair_style body/rounded/polygon"_pair_body_rounded_polygon.html commands. +The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as +those specified with the "pair_style +body/rounded/polygon"_pair_body_rounded_polygon.html command. -The {wallstyle} can be planar or cylindrical. The 3 planar options +The {wallstyle} can be planar or cylindrical. The 2 planar options specify a pair of walls in a dimension. Wall positions are given by {lo} and {hi}. Either of the values can be specified as NULL if a single wall is desired. For a {zcylinder} wallstyle, the cylinder's axis is at x = y = 0.0, and the radius of the cylinder is specified. -Optionally, the wall can be moving, if the {wiggle} keyword is appended. +Optionally, the wall can be moving, if the {wiggle} keyword is +appended. For the {wiggle} keyword, the wall oscillates sinusoidally, similar to -the oscillations of particles which can be specified by the -"fix move"_fix_move.html command. This is useful in packing -simulations of particles. The arguments to the {wiggle} -keyword specify a dimension for the motion, as well as it's -{amplitude} and {period}. Note that if the dimension is in the plane -of the wall, this is effectively a shearing motion. If the dimension -is perpendicular to the wall, it is more of a shaking motion. A -{zcylinder} wall can only be wiggled in the z dimension. +the oscillations of particles which can be specified by the "fix +move"_fix_move.html command. This is useful in packing simulations of +particles. The arguments to the {wiggle} keyword specify a dimension +for the motion, as well as it's {amplitude} and {period}. Note that +if the dimension is in the plane of the wall, this is effectively a +shearing motion. If the dimension is perpendicular to the wall, it is +more of a shaking motion. A {zcylinder} wall can only be wiggled in +the z dimension. Each timestep, the position of a wiggled wall in the appropriate {dim} is set according to this equation: @@ -87,14 +90,15 @@ minimization"_minimize.html. [Restrictions:] -This fix is part of the BODY package. It is only enabled if -LAMMPS was built with that package. See the "Making +This fix is part of the BODY package. It is only enabled if LAMMPS +was built with that package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. -Any dimension (xyz) that has a wall must be non-periodic. +Any dimension (xy) that has a wall must be non-periodic. [Related commands:] -"pair_style body/rounded/polygon"_pair_body_rounded_polygon.html +"atom_style body"_atom_style.html, "pair_style +body/rounded/polygon"_pair_body_rounded_polygon.html [Default:] none diff --git a/doc/src/fix_wall_body_polyhedron.txt b/doc/src/fix_wall_body_polyhedron.txt index a1eef4df07..c937cbdbbc 100644 --- a/doc/src/fix_wall_body_polyhedron.txt +++ b/doc/src/fix_wall_body_polyhedron.txt @@ -37,16 +37,18 @@ fix 1 all wall/body/polyhedron 1000.0 20.0 5.0 xplane -10.0 10.0 [Description:] -Bound the simulation domain of systems of body particles of style -body/rounded/polyhedron with wall(s). All particles in the group interact -with the wall when they are close enough to touch it. -The nature of the interaction between the wall and the polygons is -the same as that between the polygons themselves, which is similar to the Hookean potential. - -This fix is designed for use with the "body/rounded/polyhedron" body style, -which is specified as an argument to the "atom-style body" command. -The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the -"pair_style body/rounded/polyhedron"_pair_body_rounded_polygon.html commands. +This fix is for use with 3d models of body particles of style +{rounded/polyhedron}. It bounds the simulation domain with wall(s). +All particles in the group interact with the wall when they are close +enough to touch it. The nature of the interaction between the wall +and the polygon particles is the same as that between the polygon +particles themselves, which is similar to a Hookean potential. See +"Section 6.14"_Section_howto.html#howto_14 of the manual and the +"body"_body.html doc page for more details on using body particles. + +The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as +those specified with the "pair_style +body/rounded/polyhedron"_pair_body_rounded_polyhedron.html command. The {wallstyle} can be planar or cylindrical. The 3 planar options specify a pair of walls in a dimension. Wall positions are given by @@ -57,14 +59,14 @@ axis is at x = y = 0.0, and the radius of the cylinder is specified. Optionally, the wall can be moving, if the {wiggle} keyword is appended. For the {wiggle} keyword, the wall oscillates sinusoidally, similar to -the oscillations of particles which can be specified by the -"fix move"_fix_move.html command. This is useful in packing -simulations of particles. The arguments to the {wiggle} -keyword specify a dimension for the motion, as well as it's -{amplitude} and {period}. Note that if the dimension is in the plane -of the wall, this is effectively a shearing motion. If the dimension -is perpendicular to the wall, it is more of a shaking motion. A -{zcylinder} wall can only be wiggled in the z dimension. +the oscillations of particles which can be specified by the "fix +move"_fix_move.html command. This is useful in packing simulations of +particles. The arguments to the {wiggle} keyword specify a dimension +for the motion, as well as it's {amplitude} and {period}. Note that +if the dimension is in the plane of the wall, this is effectively a +shearing motion. If the dimension is perpendicular to the wall, it is +more of a shaking motion. A {zcylinder} wall can only be wiggled in +the z dimension. Each timestep, the position of a wiggled wall in the appropriate {dim} is set according to this equation: @@ -95,6 +97,7 @@ Any dimension (xyz) that has a wall must be non-periodic. [Related commands:] -"pair_style body/rounded/polyhedron"_pair_body_rounded_polygon.html +"atom_style body"_atom_style.html, "pair_style +body/rounded/polyhedron"_pair_body_rounded_polyhedron.html [Default:] none diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 00896b4c7b..15817f10f8 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -16,7 +16,9 @@ c_n = normal damping coefficient c_t = tangential damping coefficient mu = normal friction coefficient during gross sliding delta_ua = multiple contact scaling factor -cutoff = global sepration cutoff for interactions (distance units), see below for definition :pre +cutoff = global separation cutoff for interactions (distance units), see below for definition :pre + +NOTE: what does gross sliding mean? [Examples:] @@ -26,36 +28,77 @@ pair_coeff 1 1 100.0 1.0 :pre [Description:] -Style {body/rounded/polygon} is for use with body particles and calculates pairwise +Style {body/rounded/polygon} is for use with 2d models of body +particles of style {rounded/polygon}. It calculates pairwise body/body interactions as well as interactions between body and -point-particles. See "Section 6.14"_Section_howto.html#howto_14 -of the manual and the "body"_body.html doc page for more details on -using body particles. - -This pair style is designed for use with the "body/rounded/polygon" body style, -which is specified as an argument to the "atom-style body" command. -See the "body/rounded/polygon"_body.html doc page for more details about the body -styles LAMMPS supports. The pairwise interaction between the rounded polygons is described -in "Fraige"_#Fraige, where the polygons are rounded at the vertices and edges -by circles of diameter a. This is a version of discrete element models (DEM) -with multiple contact points. - -Because the polygons can have different rounded diameters, the cutoff specified in -the pair style command is for the surface separation between two interacting entities -(e.g. vertex-vertex, vertex-edge or edge-edge) excluding their rounded diameters, -i.e. separation = center-center distance - (rounded diameter of entity i + rounded diameter of entity j)/2. -The interaction forces and energies are also defined with respect to the rounded surface separation, -instead of center-center distance. - -For style {body/rounded/polygon}, the following coefficients must be defined for each -pair of atoms types via the "pair_coeff"_pair_coeff.html command as in -the examples above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: +point-particles. See "Section 6.14"_Section_howto.html#howto_14 of +the manual and the "body"_body.html doc page for more details on using +body particles. + +This pairwise interaction between rounded polygons is described in +"Fraige"_#Fraige, where a polygon does not have sharp corners, but is +rounded at its vertices by circles centered on each vertex with a +specified diameter. The edges of the polygon are defined bewteen +pairs of adjacent vertices. The circle diameter for each polygon is +specified in the data file read by the "read data"_read_data.html +command. This is a 2d discrete element model (DEM) which allows for +multiple contact points. + +Note that when two particles interact, the effective surface of each +polygon particle is displaced outward from each of its vertices and +edges by half its circle diameter. The interaction forces and +energies bewteen two particles are defined with respect to the +separation of their respective rounded surfaces, not by the separation +of the vertices and edges themselves. + +This means that the specified cutoff in the pair_style command should +be large enough to encompass the center-to-center distance between two +particles (at any orientation) which would produce a surface-surface +overlap. For example, consider two square particles with edge length += 1.0 and circle diameter 0.2. The maximum distance of one polygon's +surface from its center is not sqrt(2)/2, but (sqrt(2)+0.1)/2. Thus +the cutoff distance should be sqrt(2) + 0.1, since the surfaces of two +particles that far apart could be touching. + +NOTE: Do we need a diagram of 2 overlapping polygon particles that +explains how contact is defined? Do we need an equation(s) that +explain what the params in pair style and coeff mean, for damping and +spring constants? Or do we just want to reference the paper for that? + +NOTE: say something about no frictional history ? + +The following coefficients must be defined for each pair of atom types +via the "pair_coeff"_pair_coeff.html command as in the examples above, +or in the data file read by the "read_data"_read_data.html command: k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul +[Mixing, shift, table, tail correction, restart, rRESPA info]: + +This pair style does not support the "pair_modify"_pair_modify.html +mix, shift, table, and tail options. + +This pair style does not write its information to "binary restart +files"_restart.html. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. + +This pair style can only be used via the {pair} keyword of the +"run_style respa"_run_style.html command. It does not support the +{inner}, {middle}, {outer} keywords. + +[Restrictions:] + +These pair styles are part of the BODY package. They are only enabled +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +NOTE: is there a newton on or off requirement for using this pair style? +If so, say something like this: + +This pair style requires the "newton"_newton.html setting to be "on" +for pair interactions. + [Related commands:] "pair_coeff"_pair_coeff.html @@ -65,5 +108,3 @@ k_na (energy/distance^2 units) :ul :link(Fraige) [(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, Particuology, 6, 455 (2008). - - diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 9a5c20ddb6..29fa90d2cf 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -18,6 +18,8 @@ mu = normal friction coefficient during gross sliding delta_ua = multiple contact scaling factor cutoff = global sepration cutoff for interactions (distance units), see below for definition :pre +NOTE: what does gross sliding mean? + [Examples:] pair_style body/rounded/polyhedron 20.0 5.0 0.0 1.0 0.5 @@ -26,36 +28,78 @@ pair_coeff 1 1 100.0 1.0 :pre [Description:] -Style {body/rounded/polyhedron} is for use with body particles and calculates pairwise +Style {body/rounded/polygon} is for use with 3d models of body +particles of style {rounded/polyhedron}. It calculates pairwise body/body interactions as well as interactions between body and -point-particles. See "Section 6.14"_Section_howto.html#howto_14 -of the manual and the "body"_body.html doc page for more details on -using body particles. - -This pair style is designed for use with the "body/rounded/polyhedron" body style, -which is specified as an argument to the "atom-style body" command. -See the "body/rounded/polyhedron"_body.html doc page for more details about the body -styles LAMMPS supports. The pairwise interaction between the rounded polygons is described -in "Wang"_#Wang, where the polygons are rounded at the vertices and edges -by circles of diameter a. This is a version of discrete element models (DEM) -with multiple contact points. - -Because the polygons can have different rounded diameters, the cutoff specified in -the pair style command is for the surface separation between two interacting entities -(e.g. vertex-vertex, vertex-edge, vertex-face and edge-edge) excluding their rounded diameters, -i.e. separation = center-center distance - (rounded diameter of entity i + rounded diameter of entity j)/2. -The interaction forces and energies are also defined with respect to the rounded surface separation, -instead of center-center distance. - -For style {body/rounded/polyhedron}, the following coefficients must be defined for each -pair of atoms types via the "pair_coeff"_pair_coeff.html command as in -the examples above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: +point-particles. See "Section 6.14"_Section_howto.html#howto_14 of +the manual and the "body"_body.html doc page for more details on using +body particles. + +This pairwise interaction between rounded polyhedra is described in +"Wang"_#Wang, where a polyhedron does not have sharp corners and +edges, but is rounded at its vertices and edges by spheres centered on +each vertex with a specified diameter. The edges if the polyhedron +are defined bewteen pairs of adjacent vertices. Its faces are defined +by a loop of edges. The sphere diameter for each polygon is specified +in the data file read by the "read data"_read_data.html command. This +is a discrete element model (DEM) which allows for multiple contact +points. + +Note that when two particles interaact, the effective surface of each +polyhedron particle is displaced outward from each of its vertices, +edges, and faces by half its sphere diameter. The interaction forces +and energies bewteen two particles are defined with respect to the +separation of their respective rounded surfaces, not by the separation +of the vertices, edges, and faces themselves. + +This means that the specified cutoff in the pair_style command should +be large enough to encompass the center-to-center distance between two +particles (at any orientation) which would produce a surface-surface +overlap. For example, consider two cubic particles with edge length = +1.0 and sphere diameter 0.2. The maximum distance of one polygon's +surface from its center is not sqrt(3)/2, but (sqrt(3)+0.1)/2. Thus +the cutoff distance should be sqrt(3) + 0.1, since the surfaces of two +particles that far apart could be touching. + +NOTE: Do we need a diagram of 2 overlapping polyhedron particles that +explains how contact is defined? Do we need an equation(s) that +explain what the params in pair style and coeff mean, for damping and +spring constants? Or do we just want to reference the paper for that? + +NOTE: say something about no frictional history ? + +The following coefficients must be defined for each pair of atom types +via the "pair_coeff"_pair_coeff.html command as in the examples above, +or in the data file read by the "read_data"_read_data.html command: k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul +[Mixing, shift, table, tail correction, restart, rRESPA info]: + +This pair style does not support the "pair_modify"_pair_modify.html +mix, shift, table, and tail options. + +This pair style does not write its information to "binary restart +files"_restart.html. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. + +This pair style can only be used via the {pair} keyword of the +"run_style respa"_run_style.html command. It does not support the +{inner}, {middle}, {outer} keywords. + +[Restrictions:] + +These pair styles are part of the BODY package. They are only enabled +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +NOTE: is there a newton on or off requirement for using this pair style? +If so, say something like this: + +This pair style requires the "newton"_newton.html setting to be "on" +for pair interactions. + [Related commands:] "pair_coeff"_pair_coeff.html @@ -63,5 +107,6 @@ k_na (energy/distance^2 units) :ul [Default:] none :link(Wang) -[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). +[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular +Matter, 13, 1 (2011). diff --git a/examples/body/in.cubes b/examples/body/in.cubes index 3aeaa70af9..a22599fe96 100644 --- a/examples/body/in.cubes +++ b/examples/body/in.cubes @@ -38,11 +38,11 @@ fix 1 all nvt/body temp 1.2 1.2 0.1 compute p2 all pressure 1_temp -compute 1 all body/local id 1 2 3 -dump 1 all local 1000 dump.* index c_1[1] c_1[2] c_1[3] c_1[4] +#compute 1 all body/local id 1 2 3 +#dump 1 all local 1000 dump.* index c_1[1] c_1[2] c_1[3] c_1[4] #dump 2 all image 1000 image.*.jpg type type & -# zoom 1.5 adiam 1.5 body yes 0 0 view 60 15 +# zoom 1.5 adiam 1.5 body type 0 0 view 60 15 #dump_modify 2 pad 6 thermo_style custom step ke pe etotal c_p2 c_1_temp diff --git a/examples/body/in.pour3d b/examples/body/in.pour3d index 290f2052c8..bcba950e59 100644 --- a/examples/body/in.pour3d +++ b/examples/body/in.pour3d @@ -49,7 +49,7 @@ thermo_style custom step atoms ke pe etotal press thermo 1000 #dump 2 all image 500 image.*.jpg type type & -# zoom 1.5 adiam 1.5 body yes 0 0 view 75 15 +# zoom 1.5 adiam 1.5 body type 0 0 view 75 15 #dump_modify 2 pad 6 run ${steps} diff --git a/examples/body/in.squares b/examples/body/in.squares index f771c15381..3b05b5cead 100755 --- a/examples/body/in.squares +++ b/examples/body/in.squares @@ -42,13 +42,14 @@ fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 & fix 2 all enforce2d -compute 1 all body/local id 1 2 3 -dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] +#compute 1 all body/local id 1 2 3 +#dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] thermo_style custom step ke pe etotal press thermo 1000 -#dump 2 all image 10000 image.*.jpg type type zoom 2.0 adiam 1.5 body yes 0 0 +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 & +# adiam 1.5 body type 0 0 #dump_modify 2 pad 6 run ${steps} diff --git a/examples/body/in.wall2d b/examples/body/in.wall2d index 19788a9dcd..04e7f31cb6 100755 --- a/examples/body/in.wall2d +++ b/examples/body/in.wall2d @@ -44,13 +44,14 @@ fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 fix 2 all enforce2d fix 3 all wall/body/polygon 2000 50 50 yplane 0.0 48.0 -compute 1 all body/local id 1 2 3 -dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] +#compute 1 all body/local id 1 2 3 +#dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] thermo_style custom step ke pe etotal press thermo 1000 -#dump 2 all image 10000 image.*.jpg type type zoom 2.0 adiam 1.5 body yes 0 0 +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 & +# adiam 1.5 body type 0 0 #dump_modify 2 pad 6 run ${steps} diff --git a/examples/body/log.9Jul18.body.cubes.g++.1 b/examples/body/log.9Jul18.body.cubes.g++.1 new file mode 100644 index 0000000000..c9a799c0b5 --- /dev/null +++ b/examples/body/log.9Jul18.body.cubes.g++.1 @@ -0,0 +1,125 @@ +LAMMPS (29 Jun 2018) +# 3d rounded cubes + +variable r index 3 +variable steps index 10000 + +units lj +dimension 3 + +atom_style body rounded/polyhedron 1 10 + +read_data data.cubes + orthogonal box = (0 0 0) to (6 6 6) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + 2 bodies + +replicate $r $r $r +replicate 3 $r $r +replicate 3 3 $r +replicate 3 3 3 + orthogonal box = (0 0 0) to (18 18 18) + 1 by 1 by 1 MPI processor grid + 54 atoms + Time spent = 0.000217915 secs + +velocity all create 1.2 187287 dist gaussian mom yes rot yes + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 1 +variable c_n equal 20 +variable c_t equal 5 +variable mu equal 0 +variable A_ua equal 1 + +pair_style body/rounded/polyhedron ${c_n} ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 1 ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 1 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 1 + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +fix 1 all nvt/body temp 1.2 1.2 0.1 +#fix 1 all npt/body temp 1.2 1.2 0.1 iso 0.002 0.02 1.0 + +compute p2 all pressure 1_temp + +#compute 1 all body/local id 1 2 3 +#dump 1 all local 1000 dump.* index c_1[1] c_1[2] c_1[3] c_1[4] + +#dump 2 all image 1000 image.*.jpg type type # zoom 1.5 adiam 1.5 body type 0 0 view 60 15 +#dump_modify 2 pad 6 + +thermo_style custom step ke pe etotal c_p2 c_1_temp + +thermo 1000 + +run ${steps} +run 10000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 3.9641 + ghost atom cutoff = 3.9641 + binsize = 1.98205, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polyhedron, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.952 | 4.952 | 4.952 Mbytes +Step KinEng PotEng TotEng c_p2 c_1_temp + 0 1.7666667 0 1.7666667 0.01090535 0.59439252 + 1000 3.1462962 0.17392649 3.3202227 0.02361912 1.1654694 + 2000 2.9311648 0.13836102 3.0695258 0.021748224 1.1950624 + 3000 3.090491 0.16511199 3.255603 0.018691142 1.23672 + 4000 2.7401565 0.17792155 2.9180781 0.015093853 1.1180839 + 5000 3.0880849 0.17587085 3.2639557 0.030563042 1.2831154 + 6000 3.2180776 0.19732251 3.4154001 0.028338151 1.258839 + 7000 2.9514882 0.25088882 3.202377 0.025296925 1.1746326 + 8000 3.0101226 0.28825968 3.2983823 0.027273454 1.2138056 + 9000 3.0164253 0.1901733 3.2065986 0.033228915 1.3095914 + 10000 2.3780401 0.34082434 2.7188644 0.031838531 1.0208679 +Loop time of 38.5686 on 1 procs for 10000 steps with 54 atoms + +Performance: 22401.653 tau/day, 259.278 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 38.426 | 38.426 | 38.426 | 0.0 | 99.63 +Neigh | 0.0043154 | 0.0043154 | 0.0043154 | 0.0 | 0.01 +Comm | 0.047616 | 0.047616 | 0.047616 | 0.0 | 0.12 +Output | 0.00017595 | 0.00017595 | 0.00017595 | 0.0 | 0.00 +Modify | 0.082948 | 0.082948 | 0.082948 | 0.0 | 0.22 +Other | | 0.007761 | | | 0.02 + +Nlocal: 54 ave 54 max 54 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 96 ave 96 max 96 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 100 +Ave neighs/atom = 1.85185 +Neighbor list builds = 268 +Dangerous builds = 0 + +Total wall time: 0:00:38 diff --git a/examples/body/log.9Jul18.body.cubes.g++.4 b/examples/body/log.9Jul18.body.cubes.g++.4 new file mode 100644 index 0000000000..e2407e9725 --- /dev/null +++ b/examples/body/log.9Jul18.body.cubes.g++.4 @@ -0,0 +1,125 @@ +LAMMPS (29 Jun 2018) +# 3d rounded cubes + +variable r index 3 +variable steps index 10000 + +units lj +dimension 3 + +atom_style body rounded/polyhedron 1 10 + +read_data data.cubes + orthogonal box = (0 0 0) to (6 6 6) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 2 atoms + 2 bodies + +replicate $r $r $r +replicate 3 $r $r +replicate 3 3 $r +replicate 3 3 3 + orthogonal box = (0 0 0) to (18 18 18) + 1 by 2 by 2 MPI processor grid + 54 atoms + Time spent = 0.00103807 secs + +velocity all create 1.2 187287 dist gaussian mom yes rot yes + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 1 +variable c_n equal 20 +variable c_t equal 5 +variable mu equal 0 +variable A_ua equal 1 + +pair_style body/rounded/polyhedron ${c_n} ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 1 ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 1 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 1 + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +fix 1 all nvt/body temp 1.2 1.2 0.1 +#fix 1 all npt/body temp 1.2 1.2 0.1 iso 0.002 0.02 1.0 + +compute p2 all pressure 1_temp + +#compute 1 all body/local id 1 2 3 +#dump 1 all local 1000 dump.* index c_1[1] c_1[2] c_1[3] c_1[4] + +#dump 2 all image 1000 image.*.jpg type type # zoom 1.5 adiam 1.5 body type 0 0 view 60 15 +#dump_modify 2 pad 6 + +thermo_style custom step ke pe etotal c_p2 c_1_temp + +thermo 1000 + +run ${steps} +run 10000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 3.9641 + ghost atom cutoff = 3.9641 + binsize = 1.98205, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polyhedron, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.879 | 5.068 | 5.256 Mbytes +Step KinEng PotEng TotEng c_p2 c_1_temp + 0 1.7666667 0 1.7666667 0.01090535 0.59439252 + 1000 3.1462962 0.17392649 3.3202227 0.02361912 1.1654694 + 2000 2.9311648 0.13836102 3.0695258 0.021748224 1.1950624 + 3000 3.090491 0.16511199 3.255603 0.018691142 1.23672 + 4000 2.7401565 0.17792155 2.9180781 0.015093853 1.1180839 + 5000 3.0880849 0.17587085 3.2639557 0.030563042 1.2831154 + 6000 3.2180776 0.19732251 3.4154001 0.028338151 1.258839 + 7000 2.9514882 0.25088882 3.202377 0.025296925 1.1746326 + 8000 3.0101226 0.28825968 3.2983823 0.027273454 1.2138056 + 9000 3.0164253 0.1901733 3.2065986 0.033228915 1.3095914 + 10000 2.3780401 0.34082434 2.7188644 0.031838531 1.0208679 +Loop time of 20.5306 on 4 procs for 10000 steps with 54 atoms + +Performance: 42083.509 tau/day, 487.078 timesteps/s +100.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 7.5288 | 10.878 | 19.952 | 159.0 | 52.98 +Neigh | 0.0014424 | 0.0016552 | 0.0021195 | 0.7 | 0.01 +Comm | 0.50623 | 9.5805 | 12.93 | 169.4 | 46.66 +Output | 0.00011921 | 0.00014341 | 0.00021386 | 0.0 | 0.00 +Modify | 0.044663 | 0.047684 | 0.05382 | 1.6 | 0.23 +Other | | 0.023 | | | 0.11 + +Nlocal: 13.5 ave 17 max 9 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +Nghost: 63.5 ave 68 max 58 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 25 ave 38 max 6 min +Histogram: 1 0 0 0 0 1 0 0 1 1 + +Total # of neighbors = 100 +Ave neighs/atom = 1.85185 +Neighbor list builds = 268 +Dangerous builds = 0 + +Total wall time: 0:00:20 diff --git a/examples/body/log.9Jul18.body.pour3d.g++.1 b/examples/body/log.9Jul18.body.pour3d.g++.1 new file mode 100644 index 0000000000..213dd2e18f --- /dev/null +++ b/examples/body/log.9Jul18.body.pour3d.g++.1 @@ -0,0 +1,138 @@ +LAMMPS (29 Jun 2018) +# pouring 3d rounded polyhedron bodies + +variable steps index 6000 + +units lj +boundary p p fm +comm_modify vel yes + +atom_style body rounded/polyhedron 1 8 +atom_modify map array + +region reg block 0 50 0 50 0 50 units box +create_box 4 reg +Created orthogonal box = (0 0 0) to (50 50 50) + 1 by 1 by 1 MPI processor grid + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 5 +variable c_n equal 20 +variable c_t equal 5 +variable mu equal 0 +variable A_ua equal 1 + +pair_style body/rounded/polyhedron ${c_n} ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 1 ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 1 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 5 + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +fix 1 all nve/body +fix 2 all gravity 1.0 spherical 0.0 -180.0 + +molecule object molecule.cube molecule.tetra toff 1 molecule.rod3d toff 2 molecule.point3d toff 3 +Read molecule object: + 1 atoms with max type 1 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 +Read molecule object: + 1 atoms with max type 2 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 +Read molecule object: + 1 atoms with max type 3 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 +Read molecule object: + 1 atoms with max type 4 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 + +region slab block 5 45 5 45 25 35 units box +fix ins all pour 500 0 4767548 vol 0.4 10 region slab mol object molfrac 0.25 0.25 0.25 0.25 +Particle insertion: 134 every 4472 steps, 500 by step 13417 + +fix 4 all wall/body/polyhedron 2000 50 50 zplane 0.0 NULL + +#compute 1 all body/local type 1 2 3 +#dump 1 all local 1000 dump.polyhedron index c_1[1] c_1[2] c_1[3] c_1[4] +#dump 10 all custom 1000 tmp.dump id type x y z radius + +thermo_style custom step atoms ke pe etotal press + +thermo 1000 + +#dump 2 all image 500 image.*.jpg type type # zoom 1.5 adiam 1.5 body type 0 0 view 75 15 +#dump_modify 2 pad 6 + +run ${steps} +run 6000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5 + ghost atom cutoff = 5 + binsize = 2.5, bins = 20 20 20 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polyhedron, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 0.5065 | 0.5065 | 0.5065 Mbytes +Step Atoms KinEng PotEng TotEng Press + 0 0 -0 0 0 0 + 1000 134 -0 0.00083010524 0.00083010524 -2.1515152e-06 + 2000 134 -0 -0.00069962476 -0.00069962476 -1.4170663e-08 + 3000 134 -0 -0.00069962687 -0.00069962687 -4.1478181e-11 + 4000 134 -0 -0.00069962687 -0.00069962687 -1.2141026e-13 + 5000 268 -0 0.014969705 0.014969705 3.0797164e-05 + 6000 268 -0 0.042467887 0.042467887 0.00056148005 +Loop time of 0.634737 on 1 procs for 6000 steps with 268 atoms + +Performance: 816716.196 tau/day, 9452.734 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.41391 | 0.41391 | 0.41391 | 0.0 | 65.21 +Neigh | 0.010547 | 0.010547 | 0.010547 | 0.0 | 1.66 +Comm | 0.0030921 | 0.0030921 | 0.0030921 | 0.0 | 0.49 +Output | 0.00011492 | 0.00011492 | 0.00011492 | 0.0 | 0.02 +Modify | 0.19736 | 0.19736 | 0.19736 | 0.0 | 31.09 +Other | | 0.009719 | | | 1.53 + +Nlocal: 268 ave 268 max 268 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 68 ave 68 max 68 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 68 +Ave neighs/atom = 0.253731 +Neighbor list builds = 168 +Dangerous builds = 0 + + +Total wall time: 0:00:00 diff --git a/examples/body/log.9Jul18.body.squares.g++.1 b/examples/body/log.9Jul18.body.squares.g++.1 new file mode 100644 index 0000000000..7b539797bd --- /dev/null +++ b/examples/body/log.9Jul18.body.squares.g++.1 @@ -0,0 +1,221 @@ +LAMMPS (29 Jun 2018) +# 2d rounded polygon bodies + +variable r index 4 +variable steps index 100000 +variable T index 0.5 +variable P index 0.1 +variable seed index 980411 + +units lj +dimension 2 + +atom_style body rounded/polygon 1 6 +atom_modify map array +read_data data.squares + orthogonal box = (0 0 -0.5) to (12 12 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + 2 bodies + +replicate $r $r 1 +replicate 4 $r 1 +replicate 4 4 1 + orthogonal box = (0 0 -0.5) to (48 48 0.5) + 1 by 1 by 1 MPI processor grid + 32 atoms + Time spent = 0.00020504 secs + +velocity all create $T ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 980411 dist gaussian mom yes rot yes + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 2 +variable c_n equal 1 +variable c_t equal 1 +variable mu equal 0.1 +variable delta_ua equal 0.5 + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 1 ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 1 0.1 ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 1 0.1 0.5 ${cut_inner} +pair_style body/rounded/polygon 1 1 0.1 0.5 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 2 + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +#fix 1 all nvt/body temp $T $T 1.0 +fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 $T 1.0 x 0.001 $P 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 $P 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 0.1 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 0.1 1.0 y 0.001 0.1 1.0 couple xy fixedpoint 0 0 0 + +fix 2 all enforce2d + +#compute 1 all body/local id 1 2 3 +#dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] + +thermo_style custom step ke pe etotal press +thermo 1000 + +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 # adiam 1.5 body type 0 0 +#dump_modify 2 pad 6 + +run ${steps} +run 100000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.15685 + ghost atom cutoff = 6.15685 + binsize = 3.07843, bins = 16 16 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polygon, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.781 | 4.781 | 4.781 Mbytes +Step KinEng PotEng TotEng Press + 0 0.484375 0.25 0.734375 0.0067274306 + 1000 0.39423376 0.0017918048 0.39602557 0.0021941612 + 2000 0.42284177 0.01346585 0.43630762 0.0029377883 + 3000 0.58154405 0.011321689 0.59286574 0.003667871 + 4000 0.73518304 0.034603175 0.76978621 0.0018689207 + 5000 0.84367476 0.025292163 0.86896692 0.0089161373 + 6000 0.70803236 0.0085631016 0.71659546 0.0045552895 + 7000 0.56206452 0.10453031 0.66659483 0.010255161 + 8000 0.64538994 0.088817673 0.73420761 0.0037633655 + 9000 0.90540819 0.063696004 0.96910419 0.0077673359 + 10000 0.68632042 0.093265016 0.77958544 0.0057864838 + 11000 0.59118074 0.025654748 0.61683549 0.012518759 + 12000 0.67522767 0.038176401 0.71340407 0.01741153 + 13000 0.7644843 0.10429844 0.86878274 0.013161339 + 14000 0.56152694 0.067836655 0.62936359 0.016852121 + 15000 0.41895506 0.019513348 0.43846841 0.015225695 + 16000 0.55799421 0.1564559 0.71445011 0.011703561 + 17000 0.59391964 0.034450221 0.62836986 0.026215002 + 18000 0.75911858 0.030885726 0.7900043 0.018396366 + 19000 0.64417995 0.12110912 0.76528907 0.010247952 + 20000 0.57751435 0.16965651 0.74717086 0.023392323 + 21000 0.7613368 0.13405354 0.89539034 0.021498982 + 22000 0.57676692 0.18011879 0.75688571 0.024469161 + 23000 0.54043723 0.11842026 0.65885749 0.019799067 + 24000 0.62276061 0.038967924 0.66172853 0.019080086 + 25000 0.53157536 0.11651937 0.64809473 0.017019298 + 26000 0.72213293 0.039012448 0.76114538 0.015434904 + 27000 0.62157832 0.13697494 0.75855326 0.028711011 + 28000 0.41323738 0.16301101 0.57624839 0.041792632 + 29000 0.45774328 0.17569066 0.63343394 0.019975231 + 30000 0.78901796 0.099791386 0.88880934 0.024116947 + 31000 0.85205397 0.11977547 0.97182945 0.026667489 + 32000 0.37137095 0.1232622 0.49463315 0.00087637364 + 33000 0.26860871 0.26056381 0.52917252 0.036110517 + 34000 0.3018636 0.21336905 0.51523265 0.040315549 + 35000 0.39915129 0.28245957 0.68161085 0.034876856 + 36000 0.25761236 0.2352705 0.49288286 0.022772767 + 37000 0.1071233 0.31692858 0.42405188 0.017994666 + 38000 0.083729577 0.28473145 0.36846103 -0.0045370431 + 39000 0.070355565 0.26682083 0.33717639 0.017921556 + 40000 0.075894079 0.20077896 0.27667304 0.014873186 + 41000 0.05891028 0.15989064 0.21880092 0.025547873 + 42000 0.1225107 0.16583605 0.28834675 0.038842785 + 43000 0.17049189 0.14323991 0.3137318 0.029550161 + 44000 0.26823939 0.15208257 0.42032196 0.028113612 + 45000 0.10172203 0.1729706 0.27469264 -0.013769913 + 46000 0.14841355 0.19085074 0.33926429 -0.00073741985 + 47000 0.27654927 0.19097937 0.46752864 0.04021431 + 48000 0.53432331 0.080769923 0.61509323 0.029932845 + 49000 0.69111634 0.13064951 0.82176585 0.028985406 + 50000 0.24520806 0.18317453 0.42838258 0.05179746 + 51000 0.23541368 0.14281364 0.37822732 0.071884238 + 52000 0.25464996 0.095730242 0.3503802 0.034488204 + 53000 0.53677633 0.1058745 0.64265084 0.059932498 + 54000 0.32970921 0.27979128 0.60950049 0.062869716 + 55000 0.49094054 0.096735015 0.58767556 0.04728005 + 56000 0.54398249 0.2216472 0.76562969 0.056712022 + 57000 0.60869068 0.2338422 0.84253288 0.077143302 + 58000 0.72175509 0.18687368 0.90862877 0.019357656 + 59000 0.79442757 0.092502981 0.88693055 0.066882632 + 60000 0.6810555 0.077699385 0.75875488 0.095975173 + 61000 0.63178834 0.05071143 0.68249977 0.043586668 + 62000 0.76589344 0.044615704 0.81050914 0.085718411 + 63000 0.84815889 0.030527848 0.87868674 0.053072795 + 64000 0.7309043 0.051938637 0.78284294 0.058887766 + 65000 0.62498816 0.034474465 0.65946262 0.068446407 + 66000 0.69817494 0.068546004 0.76672094 0.062634433 + 67000 0.86444275 0.010184259 0.87462701 0.073635055 + 68000 0.77820319 0.0079319524 0.78613515 0.090330925 + 69000 0.56938919 0.0092629332 0.57865213 0.061838729 + 70000 0.61870712 0.010047381 0.6287545 0.066501338 + 71000 0.71651803 0.0088366199 0.72535465 0.079136316 + 72000 0.76278925 0.008828151 0.77161741 0.063672771 + 73000 0.75447428 0.0083985526 0.76287283 0.078256913 + 74000 0.66185251 0.0091910052 0.67104351 0.069840511 + 75000 0.58458829 0.0097671568 0.59435544 0.076123422 + 76000 0.7487564 0.0100022 0.7587586 0.076171741 + 77000 0.89505465 0.009250681 0.90430533 0.074921699 + 78000 0.73738164 0.0092029279 0.74658457 0.078835344 + 79000 0.65735281 0.010099528 0.66745233 0.077940627 + 80000 0.70247542 0.010306464 0.71278189 0.079560093 + 81000 0.74839505 0.010199092 0.75859415 0.080835104 + 82000 0.75193767 0.010274058 0.76221173 0.081086684 + 83000 0.71392598 0.010495573 0.72442156 0.082746145 + 84000 0.58498928 0.011027388 0.59601667 0.08356465 + 85000 0.59022869 0.011729474 0.60195817 0.084519397 + 86000 0.81753578 0.011208964 0.82874475 0.085490261 + 87000 0.83480682 0.010542579 0.8453494 0.086268527 + 88000 0.67322538 0.011170734 0.68439611 0.08751623 + 89000 0.62637389 0.012033316 0.6384072 0.088548094 + 90000 0.92828557 0.011750388 0.94003596 0.089199823 + 91000 0.96072564 0.010324509 0.97105015 0.090204803 + 92000 0.72105071 0.011484152 0.73253486 0.09140819 + 93000 0.65762527 0.012558219 0.67018349 0.092453474 + 94000 0.73991591 0.01261909 0.752535 0.093373477 + 95000 0.91791653 0.011980455 0.92989699 0.094182136 + 96000 0.76562561 0.011807085 0.7774327 0.095323684 + 97000 0.57292104 0.013610205 0.58653124 0.096505977 + 98000 0.68141076 0.013863204 0.69527396 0.097380069 + 99000 0.82390969 0.013002341 0.83691203 0.098235926 + 100000 0.77639728 0.012989342 0.78938662 0.099274147 +Loop time of 3.88899 on 1 procs for 100000 steps with 32 atoms + +Performance: 2221655.884 tau/day, 25713.610 timesteps/s +99.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.056 | 3.056 | 3.056 | 0.0 | 78.58 +Neigh | 0.0051048 | 0.0051048 | 0.0051048 | 0.0 | 0.13 +Comm | 0.091444 | 0.091444 | 0.091444 | 0.0 | 2.35 +Output | 0.0011995 | 0.0011995 | 0.0011995 | 0.0 | 0.03 +Modify | 0.69909 | 0.69909 | 0.69909 | 0.0 | 17.98 +Other | | 0.03616 | | | 0.93 + +Nlocal: 32 ave 32 max 32 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 21 ave 21 max 21 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 57 ave 57 max 57 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 57 +Ave neighs/atom = 1.78125 +Neighbor list builds = 1445 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/body/log.9Jul18.body.squares.g++.4 b/examples/body/log.9Jul18.body.squares.g++.4 new file mode 100644 index 0000000000..56d7734b7b --- /dev/null +++ b/examples/body/log.9Jul18.body.squares.g++.4 @@ -0,0 +1,221 @@ +LAMMPS (29 Jun 2018) +# 2d rounded polygon bodies + +variable r index 4 +variable steps index 100000 +variable T index 0.5 +variable P index 0.1 +variable seed index 980411 + +units lj +dimension 2 + +atom_style body rounded/polygon 1 6 +atom_modify map array +read_data data.squares + orthogonal box = (0 0 -0.5) to (12 12 0.5) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 2 atoms + 2 bodies + +replicate $r $r 1 +replicate 4 $r 1 +replicate 4 4 1 + orthogonal box = (0 0 -0.5) to (48 48 0.5) + 2 by 2 by 1 MPI processor grid + 32 atoms + Time spent = 0.000324011 secs + +velocity all create $T ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 980411 dist gaussian mom yes rot yes + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 2 +variable c_n equal 1 +variable c_t equal 1 +variable mu equal 0.1 +variable delta_ua equal 0.5 + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 1 ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 1 0.1 ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 1 0.1 0.5 ${cut_inner} +pair_style body/rounded/polygon 1 1 0.1 0.5 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 2 + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +#fix 1 all nvt/body temp $T $T 1.0 +fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 $T 1.0 x 0.001 $P 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 $P 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 0.1 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 0.1 1.0 y 0.001 0.1 1.0 couple xy fixedpoint 0 0 0 + +fix 2 all enforce2d + +#compute 1 all body/local id 1 2 3 +#dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] + +thermo_style custom step ke pe etotal press +thermo 1000 + +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 # adiam 1.5 body type 0 0 +#dump_modify 2 pad 6 + +run ${steps} +run 100000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.15685 + ghost atom cutoff = 6.15685 + binsize = 3.07843, bins = 16 16 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polygon, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.774 | 4.774 | 4.774 Mbytes +Step KinEng PotEng TotEng Press + 0 0.484375 0.25 0.734375 0.0067274306 + 1000 0.39423376 0.0017918048 0.39602557 0.0021941612 + 2000 0.42284177 0.01346585 0.43630762 0.0029377883 + 3000 0.58154405 0.011321689 0.59286574 0.003667871 + 4000 0.73518304 0.034603175 0.76978621 0.0018689207 + 5000 0.84367476 0.025292163 0.86896692 0.0089161373 + 6000 0.70803236 0.0085631016 0.71659546 0.0045552895 + 7000 0.56206452 0.10453031 0.66659483 0.010255161 + 8000 0.64538994 0.088817673 0.73420761 0.0037633655 + 9000 0.90540819 0.063696004 0.96910419 0.0077673359 + 10000 0.68632042 0.093265016 0.77958544 0.0057864837 + 11000 0.59118074 0.025654748 0.61683549 0.012518759 + 12000 0.67522767 0.038176401 0.71340407 0.01741153 + 13000 0.7644843 0.10429844 0.86878274 0.013161339 + 14000 0.56152694 0.067836656 0.6293636 0.016852113 + 15000 0.41895505 0.019513353 0.43846841 0.015225696 + 16000 0.55799443 0.15645637 0.7144508 0.011703646 + 17000 0.59385248 0.03451986 0.62837234 0.025482966 + 18000 0.75902169 0.031103586 0.79012527 0.018263354 + 19000 0.64266826 0.12535314 0.76802141 0.014884119 + 20000 0.57836261 0.16581188 0.74417449 0.024667165 + 21000 0.78281936 0.11877527 0.90159464 -0.0090089213 + 22000 0.5312006 0.13300874 0.66420934 0.025797278 + 23000 0.56458861 0.084369128 0.64895774 0.024630917 + 24000 0.65126875 0.06122992 0.71249867 0.034377198 + 25000 0.55173441 0.15694886 0.70868327 0.021634086 + 26000 0.59121615 0.17071182 0.76192797 0.024758366 + 27000 0.6394843 0.17442949 0.81391378 0.034919937 + 28000 0.31144221 0.41243036 0.72387256 0.074115225 + 29000 0.13516917 0.3075419 0.44271107 0.023861298 + 30000 0.14094934 0.24407203 0.38502137 0.037030438 + 31000 0.26313749 0.087395422 0.35053291 0.042347005 + 32000 0.51602457 0.063012079 0.57903664 0.018550299 + 33000 0.55628829 0.200213 0.75650129 0.026507686 + 34000 0.97399408 0.082504517 1.0564986 0.037889878 + 35000 0.64710533 0.17662002 0.82372535 0.058295508 + 36000 0.45769083 0.08241194 0.54010277 0.014957415 + 37000 0.72850105 0.053874061 0.78237512 0.037194593 + 38000 0.44177995 0.28939498 0.73117493 0.045194029 + 39000 0.46828451 0.077630686 0.54591519 0.089849009 + 40000 0.46786451 0.092828423 0.56069294 0.028042052 + 41000 0.71861856 0.097085715 0.81570427 0.036473296 + 42000 0.74121021 0.10553127 0.84674148 0.054058843 + 43000 0.62945489 0.12770673 0.75716161 0.047267994 + 44000 0.49900638 0.085150056 0.58415644 0.054798793 + 45000 0.70199572 0.063415877 0.7654116 0.038363546 + 46000 0.49513142 0.10649384 0.60162526 0.059392561 + 47000 0.3858898 0.079458749 0.46534855 0.051825764 + 48000 0.62585854 0.028585902 0.65444444 0.054074424 + 49000 0.65934482 0.51865062 1.1779954 -0.035272836 + 50000 0.5420438 0.082056756 0.62410056 0.031187494 + 51000 0.36685223 0.14224019 0.50909241 0.073790397 + 52000 0.19044627 0.15368389 0.34413016 0.059034266 + 53000 0.26847678 0.075693324 0.3441701 0.032276915 + 54000 0.3593711 0.19034549 0.54971659 0.070827883 + 55000 0.21659198 0.1929074 0.40949939 0.035916364 + 56000 0.28242715 0.12313241 0.40555956 0.062083926 + 57000 0.34067475 0.14711992 0.48779467 0.059321458 + 58000 0.4842796 0.16143425 0.64571385 0.059048247 + 59000 0.84438871 0.076546849 0.92093556 0.048046901 + 60000 0.92794849 0.054331626 0.98228012 0.058392272 + 61000 0.6916736 0.076168342 0.76784194 0.058654987 + 62000 0.63317965 0.094506389 0.72768604 0.061044719 + 63000 0.63317266 0.038785593 0.67195825 0.097236147 + 64000 0.81696668 0.121811 0.93877769 0.064935373 + 65000 0.82644758 0.25188344 1.078331 0.093352359 + 66000 0.64975019 0.17930857 0.82905876 0.058805254 + 67000 0.63487678 0.16877059 0.80364737 0.070254696 + 68000 0.79140717 0.11631004 0.9077172 0.064646394 + 69000 0.85687272 0.057835331 0.91470805 0.071057291 + 70000 0.67785976 0.040686768 0.71854653 0.074687222 + 71000 0.60594577 0.032193155 0.63813893 0.069349268 + 72000 0.77586745 0.024068533 0.79993598 0.083394193 + 73000 0.88877625 0.025746326 0.91452258 0.081511105 + 74000 0.73507888 0.036574786 0.77165367 0.075360233 + 75000 0.68787782 0.042098622 0.72997644 0.068651098 + 76000 0.72515745 0.04360868 0.76876613 0.069594624 + 77000 0.77580944 0.041826702 0.81763614 0.071937144 + 78000 0.76640394 0.039285046 0.80568899 0.074274921 + 79000 0.62504309 0.039593585 0.66463667 0.076443295 + 80000 0.60001642 0.043468215 0.64348464 0.094547719 + 81000 0.82175037 0.045608873 0.86735924 0.080186295 + 82000 0.85783276 0.042692576 0.90052534 0.081576548 + 83000 0.71367707 0.042172193 0.75584926 0.08256625 + 84000 0.68532406 0.044724759 0.73004882 0.083672013 + 85000 0.72576789 0.046982462 0.77275035 0.084789331 + 86000 0.75597701 0.04765086 0.80362787 0.085758056 + 87000 0.74190598 0.047629096 0.78953507 0.086679976 + 88000 0.60967704 0.049906172 0.65958321 0.085526191 + 89000 0.54490288 0.054768238 0.59967112 0.090604027 + 90000 0.75398341 0.057153453 0.81113686 0.091900858 + 91000 0.84577472 0.052753512 0.89852823 0.091913909 + 92000 0.7176235 0.050677427 0.76830093 0.092032507 + 93000 0.61699446 0.054097013 0.67109147 0.092071275 + 94000 0.76330752 0.057398618 0.82070614 0.092435043 + 95000 0.98754458 0.053801311 1.0413459 0.093526707 + 96000 0.7405897 0.052135628 0.79272533 0.095011929 + 97000 0.65587599 0.057011962 0.71288795 0.096692123 + 98000 0.72345634 0.060700171 0.78415651 0.097510345 + 99000 0.88283624 0.061795247 0.94463149 0.09799633 + 100000 0.86303812 0.058912988 0.92195111 0.09892993 +Loop time of 2.80074 on 4 procs for 100000 steps with 32 atoms + +Performance: 3084895.573 tau/day, 35704.810 timesteps/s +99.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.81169 | 0.89466 | 0.97669 | 8.4 | 31.94 +Neigh | 0.0017524 | 0.0018129 | 0.0018773 | 0.1 | 0.06 +Comm | 0.91307 | 0.99193 | 1.0691 | 7.3 | 35.42 +Output | 0.00076914 | 0.00093722 | 0.0013936 | 0.0 | 0.03 +Modify | 0.75335 | 0.75779 | 0.76346 | 0.4 | 27.06 +Other | | 0.1536 | | | 5.48 + +Nlocal: 8 ave 10 max 4 min +Histogram: 1 0 0 0 0 0 1 0 0 2 +Nghost: 17.25 ave 19 max 15 min +Histogram: 1 0 1 0 0 0 0 0 0 2 +Neighs: 13.5 ave 21 max 5 min +Histogram: 1 0 0 0 1 0 1 0 0 1 + +Total # of neighbors = 54 +Ave neighs/atom = 1.6875 +Neighbor list builds = 1443 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/examples/body/log.9Jul18.body.wall2d.g++.1 b/examples/body/log.9Jul18.body.wall2d.g++.1 new file mode 100644 index 0000000000..f22c366380 --- /dev/null +++ b/examples/body/log.9Jul18.body.wall2d.g++.1 @@ -0,0 +1,223 @@ +LAMMPS (29 Jun 2018) +# 2d rounded polygon bodies + +variable r index 4 +variable steps index 100000 +variable T index 0.5 +variable P index 0.1 +variable seed index 980411 + +units lj +dimension 2 + +atom_style body rounded/polygon 1 6 +atom_modify map array +read_data data.squares + orthogonal box = (0 0 -0.5) to (12 12 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + 2 bodies + +replicate $r $r 1 +replicate 4 $r 1 +replicate 4 4 1 + orthogonal box = (0 0 -0.5) to (48 48 0.5) + 1 by 1 by 1 MPI processor grid + 32 atoms + Time spent = 0.00029707 secs + +velocity all create $T ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 980411 dist gaussian mom yes rot yes + +change_box all boundary p f p + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 2 +variable c_n equal 0.1 +variable c_t equal 0.1 +variable mu equal 0.1 +variable delta_ua equal 0.5 + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 0.1 ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 0.1 0.5 ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 0.1 0.5 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 2 + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +#fix 1 all nvt/body temp $T $T 1.0 +fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 $T 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 0.1 1.0 fixedpoint 0 0 0 + +fix 2 all enforce2d +fix 3 all wall/body/polygon 2000 50 50 yplane 0.0 48.0 + +#compute 1 all body/local id 1 2 3 +#dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] + +thermo_style custom step ke pe etotal press +thermo 1000 + +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 # adiam 1.5 body type 0 0 +#dump_modify 2 pad 6 + +run ${steps} +run 100000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.15685 + ghost atom cutoff = 6.15685 + binsize = 3.07843, bins = 16 16 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polygon, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.771 | 4.771 | 4.771 Mbytes +Step KinEng PotEng TotEng Press + 0 0.484375 0.25 0.734375 0.0067274306 + 1000 0.49241101 0.0031318767 0.49554289 0.017768281 + 2000 0.56118632 0.0026068888 0.56379321 0.003410416 + 3000 0.75565115 0.025578366 0.78122951 0.0071862988 + 4000 0.72298647 0.093150646 0.81613712 0.003190158 + 5000 0.51684166 0.049164868 0.56600653 0.0096960168 + 6000 0.56627905 0.048132853 0.6144119 0.020733586 + 7000 0.58122129 0.018223718 0.59944501 0.0038160759 + 8000 0.64297977 0.025934821 0.66891459 0.0041091784 + 9000 0.41748404 0.0077890042 0.42527305 0.0039270065 + 10000 0.35738377 0.078487805 0.43587158 3.9079782e-05 + 11000 0.41529308 0.13619284 0.55148592 -0.0067482285 + 12000 0.43274718 0.071315497 0.50406268 0.007006378 + 13000 0.4748331 0.069904647 0.54473775 0.0010384372 + 14000 0.6287791 0.12721033 0.75598943 0.0047792448 + 15000 0.4692413 0.12344005 0.59268136 0.018033616 + 16000 0.43157074 0.14306789 0.57463862 0.042356676 + 17000 0.53085999 0.22126296 0.75212294 0.027509646 + 18000 0.52688968 0.13225282 0.6591425 0.0021558013 + 19000 0.55032328 0.12513047 0.67545375 0.025036251 + 20000 0.48465097 0.1431055 0.62775647 0.017193781 + 21000 0.53166734 0.21928574 0.75095307 0.011564317 + 22000 0.62177353 0.09296159 0.71473512 0.017660922 + 23000 0.6972939 0.12434123 0.82163514 0.024432327 + 24000 0.42767372 0.22152311 0.64919684 -0.013712449 + 25000 0.4816037 0.19272865 0.67433236 0.052386055 + 26000 0.72642579 0.19697046 0.92339625 0.020407694 + 27000 0.39649144 0.15058326 0.5470747 0.023705766 + 28000 0.44896324 0.18500106 0.6339643 -0.0089410286 + 29000 0.5565759 0.11085772 0.66743362 0.048437166 + 30000 0.58173584 0.21773281 0.79946865 0.0057357773 + 31000 0.49199415 0.23601982 0.72801397 0.046744152 + 32000 0.55665496 0.20542161 0.76207658 -0.0038756805 + 33000 0.62730739 0.24460524 0.87191263 0.045330682 + 34000 0.58107044 0.16395278 0.74502322 -0.0049496051 + 35000 0.56838849 0.21842922 0.78681771 0.0062086036 + 36000 0.45910273 0.28464172 0.74374445 -0.011700747 + 37000 0.37092037 0.27646862 0.647389 0.022305679 + 38000 0.7278047 0.30674438 1.0345491 0.07698342 + 39000 0.5132923 0.27395066 0.78724295 0.026898634 + 40000 0.62348649 0.24424644 0.86773293 0.039403899 + 41000 0.3658401 0.15512326 0.52096337 0.022559003 + 42000 0.4912253 0.35712978 0.84835508 -0.010336341 + 43000 0.70225957 0.36314638 1.0654059 0.004148866 + 44000 0.56958157 0.25488927 0.82447084 0.067537066 + 45000 0.45854352 0.30149439 0.76003791 -0.017002401 + 46000 0.62787247 0.34567995 0.97355242 0.11894801 + 47000 0.61348914 0.29378625 0.90727539 0.067873976 + 48000 0.71301829 0.34135284 1.0543711 0.021077736 + 49000 0.53520804 0.30593196 0.84113999 0.0059257647 + 50000 0.44966403 0.35370793 0.80337195 0.0020395669 + 51000 0.5236113 0.32296924 0.84658054 -0.051011506 + 52000 0.53905573 0.351771 0.89082672 0.013720106 + 53000 0.55978158 0.41293947 0.97272106 0.068558589 + 54000 0.52170459 0.2718066 0.7935112 0.0093138985 + 55000 0.61078876 0.43353897 1.0443277 0.045377392 + 56000 0.51300655 0.33182278 0.84482933 -0.018418487 + 57000 0.54882822 0.38380093 0.93262915 0.10249946 + 58000 0.72106212 0.45361279 1.1746749 0.030313481 + 59000 0.55871447 0.63823029 1.1969448 0.019079703 + 60000 0.49395192 0.58283102 1.0767829 0.0179349 + 61000 0.45991079 0.62540573 1.0853165 0.074398804 + 62000 0.4655788 0.60862262 1.0742014 0.11472976 + 63000 0.55634524 0.63069255 1.1870378 -0.0025676135 + 64000 0.57688903 0.45435264 1.0312417 0.0083813852 + 65000 0.57168922 0.42217005 0.99385927 0.044931269 + 66000 0.6206044 0.46727538 1.0878798 0.019686229 + 67000 0.61037155 0.41840109 1.0287726 0.0195109 + 68000 0.63848598 0.41305347 1.0515395 0.072940144 + 69000 0.49244916 0.3834095 0.87585866 0.07963677 + 70000 0.41847062 0.51907975 0.93755037 0.18447904 + 71000 0.45198986 0.52973709 0.98172695 0.078419371 + 72000 0.47064262 0.37808165 0.84872427 -0.00046308054 + 73000 0.6690143 0.37549359 1.0445079 0.061208432 + 74000 0.60444955 0.33779636 0.94224592 -0.068840321 + 75000 0.61762382 0.3916421 1.0092659 0.16253292 + 76000 0.63657961 0.50277989 1.1393595 0.013857508 + 77000 0.52524028 0.43597896 0.96121924 -0.03296482 + 78000 0.43803533 0.33172284 0.76975817 0.078763029 + 79000 0.67156089 0.55272177 1.2242827 0.080822223 + 80000 0.68678238 0.46061627 1.1473987 0.0027036992 + 81000 0.64956678 0.44959229 1.0991591 0.11201483 + 82000 0.51060477 0.43508342 0.9456882 0.028000608 + 83000 0.59550548 0.69026083 1.2857663 -0.0015809004 + 84000 0.64222145 0.38768816 1.0299096 0.014153173 + 85000 0.7661229 0.43445261 1.2005755 0.048034534 + 86000 0.60025257 0.53027929 1.1305319 0.0056865157 + 87000 0.46220939 0.47470035 0.93690974 0.075311946 + 88000 0.54123847 0.62899839 1.1702369 0.13260162 + 89000 0.61212272 0.6114241 1.2235468 0.033284822 + 90000 0.63924773 0.6916249 1.3308726 0.045088296 + 91000 0.49316865 0.51037033 1.003539 0.023203598 + 92000 0.57572123 0.43496319 1.0106844 0.297092 + 93000 0.65187559 0.56815972 1.2200353 0.1538215 + 94000 0.64107331 0.58948521 1.2305585 0.031117778 + 95000 0.64584158 0.6364688 1.2823104 0.096154676 + 96000 0.60509093 0.601487 1.2065779 0.03457172 + 97000 0.68837218 0.77974186 1.468114 0.17801164 + 98000 0.62725266 0.64137144 1.2686241 0.17449001 + 99000 0.46861221 0.67000291 1.1386151 0.2429588 + 100000 0.5879119 0.7140612 1.3019731 0.064634257 +Loop time of 2.50594 on 1 procs for 100000 steps with 32 atoms + +Performance: 3447804.126 tau/day, 39905.140 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.5639 | 1.5639 | 1.5639 | 0.0 | 62.41 +Neigh | 0.0086911 | 0.0086911 | 0.0086911 | 0.0 | 0.35 +Comm | 0.058926 | 0.058926 | 0.058926 | 0.0 | 2.35 +Output | 0.0012379 | 0.0012379 | 0.0012379 | 0.0 | 0.05 +Modify | 0.83537 | 0.83537 | 0.83537 | 0.0 | 33.34 +Other | | 0.03781 | | | 1.51 + +Nlocal: 32 ave 32 max 32 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 20 ave 20 max 20 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 57 ave 57 max 57 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 57 +Ave neighs/atom = 1.78125 +Neighbor list builds = 2705 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/examples/body/log.9Jul18.body.wall2d.g++.4 b/examples/body/log.9Jul18.body.wall2d.g++.4 new file mode 100644 index 0000000000..7239fd4dcd --- /dev/null +++ b/examples/body/log.9Jul18.body.wall2d.g++.4 @@ -0,0 +1,223 @@ +LAMMPS (29 Jun 2018) +# 2d rounded polygon bodies + +variable r index 4 +variable steps index 100000 +variable T index 0.5 +variable P index 0.1 +variable seed index 980411 + +units lj +dimension 2 + +atom_style body rounded/polygon 1 6 +atom_modify map array +read_data data.squares + orthogonal box = (0 0 -0.5) to (12 12 0.5) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 2 atoms + 2 bodies + +replicate $r $r 1 +replicate 4 $r 1 +replicate 4 4 1 + orthogonal box = (0 0 -0.5) to (48 48 0.5) + 2 by 2 by 1 MPI processor grid + 32 atoms + Time spent = 0.000386 secs + +velocity all create $T ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 980411 dist gaussian mom yes rot yes + +change_box all boundary p f p + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 2 +variable c_n equal 0.1 +variable c_t equal 0.1 +variable mu equal 0.1 +variable delta_ua equal 0.5 + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 0.1 ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 0.1 0.5 ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 0.1 0.5 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 2 + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +#fix 1 all nvt/body temp $T $T 1.0 +fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 $T 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 0.1 1.0 fixedpoint 0 0 0 + +fix 2 all enforce2d +fix 3 all wall/body/polygon 2000 50 50 yplane 0.0 48.0 + +#compute 1 all body/local id 1 2 3 +#dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] + +thermo_style custom step ke pe etotal press +thermo 1000 + +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 # adiam 1.5 body type 0 0 +#dump_modify 2 pad 6 + +run ${steps} +run 100000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.15685 + ghost atom cutoff = 6.15685 + binsize = 3.07843, bins = 16 16 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polygon, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.773 | 4.773 | 4.773 Mbytes +Step KinEng PotEng TotEng Press + 0 0.484375 0.25 0.734375 0.0067274306 + 1000 0.49241101 0.0031318767 0.49554289 0.017768281 + 2000 0.56118632 0.0026068888 0.56379321 0.003410416 + 3000 0.75565115 0.025578366 0.78122951 0.0071862988 + 4000 0.72298647 0.093150646 0.81613712 0.003190158 + 5000 0.51684166 0.049164868 0.56600653 0.0096960168 + 6000 0.56627905 0.048132853 0.6144119 0.020733586 + 7000 0.58122129 0.018223718 0.59944501 0.0038160759 + 8000 0.64297977 0.025934821 0.66891459 0.0041091784 + 9000 0.41748404 0.0077890042 0.42527305 0.0039270065 + 10000 0.35738377 0.078487805 0.43587158 3.9079865e-05 + 11000 0.41529307 0.13619284 0.55148591 -0.0067482285 + 12000 0.43274718 0.071315527 0.50406271 0.007006369 + 13000 0.4748324 0.069905666 0.54473807 0.0010385254 + 14000 0.62603727 0.098905625 0.7249429 0.0048876764 + 15000 0.44512086 0.10415235 0.54927321 0.01902062 + 16000 0.47460177 0.18053316 0.65513493 0.045013976 + 17000 0.52742676 0.10110706 0.62853382 0.013615471 + 18000 0.46111734 0.096118795 0.55723613 0.0073676834 + 19000 0.59668439 0.13652292 0.73320731 0.029403553 + 20000 0.46840192 0.11611719 0.58451911 -0.00034412499 + 21000 0.53550533 0.096457461 0.6319628 0.0019785732 + 22000 0.46599715 0.13206373 0.59806087 0.031970672 + 23000 0.49280776 0.20404726 0.69685501 0.03657433 + 24000 0.60901688 0.18255214 0.79156902 0.044955017 + 25000 0.47345185 0.13671357 0.61016542 0.020313539 + 26000 0.47653832 0.12448225 0.60102057 0.01878099 + 27000 0.50008212 0.24740634 0.74748845 0.021862639 + 28000 0.41627204 0.2519463 0.66821834 0.054683701 + 29000 0.55608273 0.23100212 0.78708485 -0.0043318497 + 30000 0.53884537 0.3001584 0.83900377 -0.012838186 + 31000 0.53036238 0.2300328 0.76039518 -0.0061688449 + 32000 0.42666792 0.20536256 0.63203048 0.045305282 + 33000 0.62908185 0.1652033 0.79428515 0.0072777588 + 34000 0.47028154 0.388736 0.85901754 0.04332288 + 35000 0.54602322 0.2775624 0.82358562 0.02898206 + 36000 0.59860544 0.21824655 0.81685199 0.0025936194 + 37000 0.62467827 0.11983499 0.74451326 0.050052743 + 38000 0.72594229 0.36584781 1.0917901 0.04280621 + 39000 0.51129656 0.23859043 0.74988699 0.050817447 + 40000 0.53263836 0.24212889 0.77476725 0.036245922 + 41000 0.50288088 0.36668283 0.86956371 0.018381415 + 42000 0.46653688 0.21974887 0.68628574 0.012661062 + 43000 0.61738785 0.32131037 0.93869821 0.012709433 + 44000 0.56603903 0.26515554 0.83119457 0.03315102 + 45000 0.56231638 0.32111693 0.88343331 0.06079756 + 46000 0.7096208 0.2570131 0.96663391 0.048770468 + 47000 0.588755 0.1880748 0.7768298 0.035962604 + 48000 0.56296339 0.25783519 0.82079858 0.053019928 + 49000 0.419885 0.42328618 0.84317118 0.038105269 + 50000 0.63073351 0.41426285 1.0449964 0.0015271048 + 51000 0.59357935 0.184222 0.77780136 0.015996218 + 52000 0.60608471 0.36247533 0.96856003 0.10984665 + 53000 0.5227842 0.27686739 0.79965159 0.02761699 + 54000 0.39435923 0.34197355 0.73633278 0.061183263 + 55000 0.46748455 0.34230903 0.80979358 0.077441382 + 56000 0.59819827 0.29212061 0.89031889 0.043772353 + 57000 0.61682559 0.32788566 0.94471124 0.03992069 + 58000 0.52702478 0.24891506 0.77593984 0.058480883 + 59000 0.66925719 0.4109031 1.0801603 0.072434423 + 60000 0.66807714 0.39233068 1.0604078 0.082370324 + 61000 0.5724275 0.43308567 1.0055132 0.0072945426 + 62000 0.49433556 0.38453743 0.87887299 0.0036097443 + 63000 0.57575143 0.54067119 1.1164226 0.073339638 + 64000 0.68045383 0.38246533 1.0629192 0.025314593 + 65000 0.59843527 0.42928622 1.0277215 -0.030096445 + 66000 0.60274797 0.50186417 1.1046121 0.069797184 + 67000 0.47450407 0.52689807 1.0014021 0.008758012 + 68000 0.5514135 0.64113187 1.1925454 0.093863314 + 69000 0.52008074 0.45749565 0.97757639 -0.066061381 + 70000 0.69042662 0.50416006 1.1945867 0.014128617 + 71000 0.63925854 0.35153425 0.9907928 -0.01134957 + 72000 0.52088835 0.47626986 0.99715821 0.10198133 + 73000 0.46333852 0.5515537 1.0148922 0.00060582772 + 74000 0.53481418 0.50409531 1.0389095 0.00919451 + 75000 0.67182749 0.50380162 1.1756291 0.043301985 + 76000 0.70492289 0.4112122 1.1161351 0.14880484 + 77000 0.59781817 0.50197661 1.0997948 -0.057111711 + 78000 0.51677429 0.4348232 0.95159749 -0.0074619446 + 79000 0.50663297 0.55000424 1.0566372 0.0052071216 + 80000 0.59392006 0.48394003 1.0778601 -0.018990234 + 81000 0.66323593 0.40358336 1.0668193 -0.02961345 + 82000 0.61596979 0.49177944 1.1077492 0.1314853 + 83000 0.63917554 0.61656584 1.2557414 0.11908351 + 84000 0.49305291 0.46161646 0.95466937 0.033558488 + 85000 0.52552044 0.54250555 1.068026 0.13015174 + 86000 0.55140914 0.38924725 0.94065638 0.047412499 + 87000 0.60952504 0.52603688 1.1355619 0.039230066 + 88000 0.50119735 0.547539 1.0487364 0.019659933 + 89000 0.40331401 0.50331134 0.90662535 -0.056906034 + 90000 0.47067839 0.51306911 0.9837475 0.11918166 + 91000 0.45564995 0.38693455 0.8425845 0.12040045 + 92000 0.64163032 0.34232532 0.98395564 0.0057051641 + 93000 0.70375593 0.53646186 1.2402178 0.16044241 + 94000 0.53378112 0.51971406 1.0534952 0.11389004 + 95000 0.47055342 0.50396004 0.97451346 0.079424215 + 96000 0.59543473 0.40204536 0.99748009 0.096813093 + 97000 0.64821917 0.50051728 1.1487365 0.054071312 + 98000 0.55723937 0.4945909 1.0518303 0.047316424 + 99000 0.56044424 0.50773312 1.0681774 0.0149959 + 100000 0.68254229 0.32704484 1.0095871 0.0069212661 +Loop time of 2.20043 on 4 procs for 100000 steps with 32 atoms + +Performance: 3926501.701 tau/day, 45445.622 timesteps/s +100.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.41008 | 0.41366 | 0.41719 | 0.4 | 18.80 +Neigh | 0.0027823 | 0.0030481 | 0.0034747 | 0.5 | 0.14 +Comm | 0.74581 | 0.7675 | 0.78684 | 2.0 | 34.88 +Output | 0.00082111 | 0.0010884 | 0.0016899 | 1.1 | 0.05 +Modify | 0.83828 | 0.85329 | 0.86656 | 1.4 | 38.78 +Other | | 0.1618 | | | 7.36 + +Nlocal: 8 ave 9 max 7 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 12.75 ave 14 max 12 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Neighs: 11 ave 19 max 5 min +Histogram: 1 0 0 2 0 0 0 0 0 1 + +Total # of neighbors = 44 +Ave neighs/atom = 1.375 +Neighbor list builds = 2663 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/src/BODY/body_rounded_polygon.cpp b/src/BODY/body_rounded_polygon.cpp index d848a8fa95..1e232f0f3f 100644 --- a/src/BODY/body_rounded_polygon.cpp +++ b/src/BODY/body_rounded_polygon.cpp @@ -114,7 +114,7 @@ double BodyRoundedPolygon::enclosing_radius(struct AtomVecBody::Bonus *bonus) int nvertices = bonus->ivalue[0]; if (nvertices == 1 || nvertices == 2) return *(bonus->dvalue+3*nsub(bonus)+2); - return *(bonus->dvalue+3*nsub(bonus)+2*nsub(bonus)); + return *(bonus->dvalue + 3*nsub(bonus) + 2*nsub(bonus)); } /* ---------------------------------------------------------------------- */ @@ -124,7 +124,7 @@ double BodyRoundedPolygon::rounded_radius(struct AtomVecBody::Bonus *bonus) int nvertices = bonus->ivalue[0]; if (nvertices == 1 || nvertices == 2) return *(bonus->dvalue+3*nsub(bonus)+2+1); - return *(bonus->dvalue+3*nsub(bonus)+2*nsub(bonus)+1); + return *(bonus->dvalue + 3*nsub(bonus) + 2*nsub(bonus)+1); } /* ---------------------------------------------------------------------- */ diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp index a26b6d0cbd..fb0be7c1be 100644 --- a/src/BODY/body_rounded_polyhedron.cpp +++ b/src/BODY/body_rounded_polyhedron.cpp @@ -132,7 +132,8 @@ double BodyRoundedPolyhedron::enclosing_radius(struct AtomVecBody::Bonus *bonus) int nvertices = bonus->ivalue[0]; if (nvertices == 1 || nvertices == 2) return *(bonus->dvalue+3*nsub(bonus)+2); - return *(bonus->dvalue+3*nsub(bonus)+2*nedges(bonus)+MAX_FACE_SIZE*nfaces(bonus)); + return *(bonus->dvalue+3*nsub(bonus) + 2*nedges(bonus) + + MAX_FACE_SIZE*nfaces(bonus)); } /* ---------------------------------------------------------------------- */ @@ -142,7 +143,8 @@ double BodyRoundedPolyhedron::rounded_radius(struct AtomVecBody::Bonus *bonus) int nvertices = bonus->ivalue[0]; if (nvertices == 1 || nvertices == 2) return *(bonus->dvalue+3*nsub(bonus)+2+1); - return *(bonus->dvalue+3*nsub(bonus)+2*nedges(bonus)+MAX_FACE_SIZE*nfaces(bonus)+1); + return *(bonus->dvalue+3*nsub(bonus) + 2*nedges(bonus) + + MAX_FACE_SIZE*nfaces(bonus)+1); } /* ---------------------------------------------------------------------- */ @@ -205,7 +207,8 @@ void BodyRoundedPolyhedron::data_body(int ibonus, int ninteger, int ndouble, // nsub == 1 || nsub == 2 || nsub == 3: // 6 for inertia + 3*nsub for vertex coords + 1 for rounded radius // nsub > 3: - // 6 for inertia + 3*nsub for vertex coords + 2*nsub for edges + 3*nfaces + 1 for rounded radius + // 6 for inertia + 3*nsub for vertex coords + 2*nsub for edges + + // 3*nfaces + 1 for rounded radius int nedges,nentries; if (nsub == 1 || nsub == 2) { diff --git a/src/BODY/fix_wall_body_polygon.cpp b/src/BODY/fix_wall_body_polygon.cpp index 72a60b22d0..5ec5a7cca8 100644 --- a/src/BODY/fix_wall_body_polygon.cpp +++ b/src/BODY/fix_wall_body_polygon.cpp @@ -58,7 +58,8 @@ FixWallBodyPolygon::FixWallBodyPolygon(LAMMPS *lmp, int narg, char **arg) : if (narg < 7) error->all(FLERR,"Illegal fix wall/body/polygon command"); if (!atom->body_flag) - error->all(FLERR,"Fix wall/body/polygon requires atom style body/rounded/polygon"); + error->all(FLERR,"Fix wall/body/polygon requires " + "atom style body/rounded/polygon"); restart_peratom = 1; create_attribute = 1; @@ -182,7 +183,8 @@ void FixWallBodyPolygon::init() if (!avec) error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); if (strcmp(avec->bptr->style,"rounded/polygon") != 0) - error->all(FLERR,"Pair body/rounded/polygon requires body style rounded/polygon"); + error->all(FLERR,"Pair body/rounded/polygon requires " + "body style rounded/polygon"); bptr = (BodyRoundedPolygon *) avec->bptr; // set pairstyle from body/polygonular pair style @@ -828,4 +830,3 @@ void FixWallBodyPolygon::distance(const double* x2, const double* x1, + (x2[1] - x1[1]) * (x2[1] - x1[1]) + (x2[2] - x1[2]) * (x2[2] - x1[2])); } - diff --git a/src/BODY/fix_wall_body_polyhedron.cpp b/src/BODY/fix_wall_body_polyhedron.cpp index 879289ea42..17e9f0b8b5 100644 --- a/src/BODY/fix_wall_body_polyhedron.cpp +++ b/src/BODY/fix_wall_body_polyhedron.cpp @@ -58,7 +58,8 @@ FixWallBodyPolyhedron::FixWallBodyPolyhedron(LAMMPS *lmp, int narg, char **arg) if (narg < 7) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); if (!atom->body_flag) - error->all(FLERR,"Fix wall/body/polyhedron requires atom style body/rounded/polyhedron"); + error->all(FLERR,"Fix wall/body/polyhedron requires " + "atom style body/rounded/polyhedron"); restart_peratom = 1; create_attribute = 1; @@ -189,7 +190,8 @@ void FixWallBodyPolyhedron::init() if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires atom style body"); if (strcmp(avec->bptr->style,"rounded/polyhedron") != 0) - error->all(FLERR,"Pair body/rounded/polyhedron requires body style rounded/polyhedron"); + error->all(FLERR,"Pair body/rounded/polyhedron requires " + "body style rounded/polyhedron"); bptr = (BodyRoundedPolyhedron *) avec->bptr; // set pairstyle from body/polyhedronular pair style @@ -941,4 +943,3 @@ void FixWallBodyPolyhedron::distance(const double* x2, const double* x1, + (x2[1] - x1[1]) * (x2[1] - x1[1]) + (x2[2] - x1[2]) * (x2[2] - x1[2])); } - diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 22300091ae..c4c09fd677 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -276,8 +276,10 @@ void PairBodyRoundedPolygon::compute(int eflag, int vflag) // scale the force at both contacts - contact_forces(contact_list[m], j_a, x, v, angmom, f, torque, evdwl, facc); - contact_forces(contact_list[n], j_a, x, v, angmom, f, torque, evdwl, facc); + contact_forces(contact_list[m], j_a, x, v, angmom, f, torque, + evdwl, facc); + contact_forces(contact_list[n], j_a, x, v, angmom, f, torque, + evdwl, facc); done = 1; #ifdef _POLYGON_DEBUG @@ -285,16 +287,18 @@ void PairBodyRoundedPolygon::compute(int eflag, int vflag) m, n, delta_a, j_a); printf(" %d: vertex %d of body %d and edge %d of body %d; " "xv = %f %f %f; xe = %f %f %f\n", - m, contact_list[m].vertex, contact_list[m].ibody, - contact_list[m].edge, contact_list[m].jbody, - contact_list[m].xv[0], contact_list[m].xv[1], contact_list[m].xv[2], - contact_list[m].xe[0], contact_list[m].xe[1], contact_list[m].xe[2]); + m, contact_list[m].vertex, contact_list[m].ibody, + contact_list[m].edge, contact_list[m].jbody, + contact_list[m].xv[0], contact_list[m].xv[1], + contact_list[m].xv[2], contact_list[m].xe[0], + contact_list[m].xe[1], contact_list[m].xe[2]); printf(" %d: vertex %d of body %d and edge %d of body %d; " "xv = %f %f %f; xe = %f %f %f\n", - n, contact_list[n].vertex, contact_list[n].ibody, - contact_list[n].edge, contact_list[n].jbody, - contact_list[n].xv[0], contact_list[n].xv[1], contact_list[n].xv[2], - contact_list[n].xe[0], contact_list[n].xe[1], contact_list[n].xe[2]); + n, contact_list[n].vertex, contact_list[n].ibody, + contact_list[n].edge, contact_list[n].jbody, + contact_list[n].xv[0], contact_list[n].xv[1], + contact_list[n].xv[2], contact_list[n].xe[0], + contact_list[n].xe[1], contact_list[n].xe[2]); #endif break; @@ -417,13 +421,16 @@ void PairBodyRoundedPolygon::coeff(int narg, char **arg) void PairBodyRoundedPolygon::init_style() { avec = (AtomVecBody *) atom->style_match("body"); - if (!avec) error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); + if (!avec) + error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); if (strcmp(avec->bptr->style,"rounded/polygon") != 0) - error->all(FLERR,"Pair body/rounded/polygon requires body style rounded/polygon"); + error->all(FLERR,"Pair body/rounded/polygon requires " + "body style rounded/polygon"); bptr = (BodyRoundedPolygon *) avec->bptr; if (comm->ghost_velocity == 0) - error->all(FLERR,"Pair body/rounded/polygon requires ghost atoms store velocity"); + error->all(FLERR,"Pair body/rounded/polygon requires " + "ghost atoms store velocity"); neighbor->request(this); @@ -850,7 +857,8 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, #ifdef _CONVEX_POLYGON // done with the edges from body j, - // given that vertex ni interacts with only one vertex from one edge of body j + // given that vertex ni interacts with only one vertex + // from one edge of body j break; #endif diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 96307a0ab1..0d73d249b9 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -393,13 +393,16 @@ void PairBodyRoundedPolyhedron::coeff(int narg, char **arg) void PairBodyRoundedPolyhedron::init_style() { avec = (AtomVecBody *) atom->style_match("body"); - if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires atom style body"); + if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires " + "atom style body"); if (strcmp(avec->bptr->style,"rounded/polyhedron") != 0) - error->all(FLERR,"Pair body/rounded/polyhedron requires body style rounded/polyhedron"); + error->all(FLERR,"Pair body/rounded/polyhedron requires " + "body style rounded/polyhedron"); bptr = (BodyRoundedPolyhedron *) avec->bptr; if (comm->ghost_velocity == 0) - error->all(FLERR,"Pair body/rounded/polyhedron requires ghost atoms store velocity"); + error->all(FLERR,"Pair body/rounded/polyhedron requires " + "ghost atoms store velocity"); neighbor->request(this); @@ -788,7 +791,8 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, fn[1] = -c_n * vn2; fn[2] = -c_n * vn3; - // tangential friction term at contact, excluding the tangential deformation term + // tangential friction term at contact, + // excluding the tangential deformation term ft[0] = -c_t * vt1; ft[1] = -c_t * vt2; @@ -997,7 +1001,8 @@ int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, // compute the distance between the edge nj to the edge ni #ifdef _POLYHEDRON_DEBUG - printf("Compute interaction between edge %d of body %d with edge %d of body %d:\n", + printf("Compute interaction between edge %d of body %d " + "with edge %d of body %d:\n", nj, jbody, ni, ibody); #endif @@ -1055,7 +1060,8 @@ int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, // compute the distance between the face nj to the edge ni #ifdef _POLYHEDRON_DEBUG - printf("Compute interaction between face %d of body %d with edge %d of body %d:\n", + printf("Compute interaction between face %d of body %d with " + "edge %d of body %d:\n", nj, jbody, ni, ibody); #endif @@ -1293,7 +1299,8 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, xpj2[1] = xmj[1] + discrete[jfirst+npj2][1]; xpj2[2] = xmj[2] + discrete[jfirst+npj2][2]; - // no interaction if two ends of the edge are on the same side with the COM wrt the face + // no interaction if two ends of the edge + // are on the same side with the COM wrt the face if (opposite_sides(n, xi1, xmi, xpj1) == 0 && opposite_sides(n, xi1, xmi, xpj2) == 0) @@ -1305,7 +1312,9 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, int inside1 = 0; int inside2 = 0; - // enum {EF_PARALLEL=0,EF_SAME_SIDE_OF_FACE,EF_INTERSECT_INSIDE,EF_INTERSECT_OUTSIDE}; + // enum {EF_PARALLEL=0,EF_SAME_SIDE_OF_FACE, + // EF_INTERSECT_INSIDE,EF_INTERSECT_OUTSIDE}; + int interact = edge_face_intersect(xi1, xi2, xi3, xpj1, xpj2, hi1, hi2, d1, d2, inside1, inside2); @@ -2310,7 +2319,8 @@ double PairBodyRoundedPolyhedron::contact_separation(const Contact& c1, find the number of unique contacts ------------------------------------------------------------------------- */ -void PairBodyRoundedPolyhedron::find_unique_contacts(Contact* contact_list, int& num_contacts) +void PairBodyRoundedPolyhedron::find_unique_contacts(Contact* contact_list, + int& num_contacts) { int n = num_contacts; for (int i = 0; i < n - 1; i++) { -- GitLab From ad4f61a5ce6abdf69c5cff22dec3d563ead95c35 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 10 Jul 2018 09:07:54 -0400 Subject: [PATCH 248/675] update fatbin makefile for libgpu.a to latest additions --- lib/gpu/Nvidia.makefile_multi | 46 +++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/lib/gpu/Nvidia.makefile_multi b/lib/gpu/Nvidia.makefile_multi index 5fb35cce3c..94cfd4af6b 100644 --- a/lib/gpu/Nvidia.makefile_multi +++ b/lib/gpu/Nvidia.makefile_multi @@ -79,7 +79,10 @@ OBJS = $(OBJ_DIR)/lal_atom.o $(OBJ_DIR)/lal_ans.o \ $(OBJ_DIR)/lal_lj_cubic.o $(OBJ_DIR)/lal_lj_cubic_ext.o \ $(OBJ_DIR)/lal_ufm.o $(OBJ_DIR)/lal_ufm_ext.o \ $(OBJ_DIR)/lal_dipole_long_lj.o $(OBJ_DIR)/lal_dipole_long_lj_ext.o \ - $(OBJ_DIR)/lal_lj_expand_coul_long.o $(OBJ_DIR)/lal_lj_expand_coul_long_ext.o + $(OBJ_DIR)/lal_lj_expand_coul_long.o $(OBJ_DIR)/lal_lj_expand_coul_long_ext.o \ + $(OBJ_DIR)/lal_coul_long_cs.o $(OBJ_DIR)/lal_coul_long_cs_ext.o \ + $(OBJ_DIR)/lal_born_coul_long_cs.o $(OBJ_DIR)/lal_born_coul_long_cs_ext.o \ + $(OBJ_DIR)/lal_born_coul_wolf_cs.o $(OBJ_DIR)/lal_born_coul_wolf_cs_ext.o CBNS = $(OBJ_DIR)/device.cubin $(OBJ_DIR)/device_cubin.h \ $(OBJ_DIR)/atom.cubin $(OBJ_DIR)/atom_cubin.h \ @@ -137,7 +140,10 @@ CBNS = $(OBJ_DIR)/device.cubin $(OBJ_DIR)/device_cubin.h \ $(OBJ_DIR)/lj_cubic.cubin $(OBJ_DIR)/lj_cubic_cubin.h \ $(OBJ_DIR)/ufm.cubin $(OBJ_DIR)/ufm_cubin.h \ $(OBJ_DIR)/dipole_long_lj.cubin $(OBJ_DIR)/dipole_long_lj_cubin.h \ - $(OBJ_DIR)/lj_expand_coul_long.cubin $(OBJ_DIR)/lj_expand_coul_long_cubin.h + $(OBJ_DIR)/lj_expand_coul_long.cubin $(OBJ_DIR)/lj_expand_coul_long_cubin.h \ + $(OBJ_DIR)/coul_long_cs.cubin $(OBJ_DIR)/coul_long_cs_cubin.h \ + $(OBJ_DIR)/born_coul_long_cs.cubin $(OBJ_DIR)/born_coul_long_cs_cubin.h \ + $(OBJ_DIR)/born_coul_wolf_cs.cubin $(OBJ_DIR)/born_coul_wolf_cs_cubin.h all: $(OBJ_DIR) $(GPU_LIB) $(EXECS) @@ -837,6 +843,42 @@ $(OBJ_DIR)/lal_lj_expand_coul_long.o: $(ALL_H) lal_lj_expand_coul_long.h lal_lj_ $(OBJ_DIR)/lal_lj_expand_coul_long_ext.o: $(ALL_H) lal_lj_expand_coul_long.h lal_lj_expand_coul_long_ext.cpp lal_base_charge.h $(CUDR) -o $@ -c lal_lj_expand_coul_long_ext.cpp -I$(OBJ_DIR) +$(OBJ_DIR)/coul_long_cs.cubin: lal_coul_long_cs.cu lal_precision.h lal_preprocessor.h + $(CUDA) --fatbin -DNV_KERNEL -o $@ lal_coul_long_cs.cu + +$(OBJ_DIR)/coul_long_cs_cubin.h: $(OBJ_DIR)/coul_long_cs.cubin $(OBJ_DIR)/coul_long_cs.cubin + $(BIN2C) -c -n coul_long_cs $(OBJ_DIR)/coul_long_cs.cubin > $(OBJ_DIR)/coul_long_cs_cubin.h + +$(OBJ_DIR)/lal_coul_long_cs.o: $(ALL_H) lal_coul_long_cs.h lal_coul_long_cs.cpp $(OBJ_DIR)/coul_long_cs_cubin.h $(OBJ_DIR)/lal_base_charge.o $(OBJ_DIR)/lal_coul_long.o + $(CUDR) -o $@ -c lal_coul_long_cs.cpp -I$(OBJ_DIR) + +$(OBJ_DIR)/lal_coul_long_cs_ext.o: $(ALL_H) lal_coul_long_cs.h lal_coul_long_cs_ext.cpp lal_coul_long.h + $(CUDR) -o $@ -c lal_coul_long_cs_ext.cpp -I$(OBJ_DIR) + +$(OBJ_DIR)/born_coul_long_cs.cubin: lal_born_coul_long_cs.cu lal_precision.h lal_preprocessor.h + $(CUDA) --fatbin -DNV_KERNEL -o $@ lal_born_coul_long_cs.cu + +$(OBJ_DIR)/born_coul_long_cs_cubin.h: $(OBJ_DIR)/born_coul_long_cs.cubin $(OBJ_DIR)/born_coul_long_cs.cubin + $(BIN2C) -c -n born_coul_long_cs $(OBJ_DIR)/born_coul_long_cs.cubin > $(OBJ_DIR)/born_coul_long_cs_cubin.h + +$(OBJ_DIR)/lal_born_coul_long_cs.o: $(ALL_H) lal_born_coul_long_cs.h lal_born_coul_long_cs.cpp $(OBJ_DIR)/born_coul_long_cs_cubin.h $(OBJ_DIR)/lal_base_charge.o $(OBJ_DIR)/lal_born_coul_long.o + $(CUDR) -o $@ -c lal_born_coul_long_cs.cpp -I$(OBJ_DIR) + +$(OBJ_DIR)/lal_born_coul_long_cs_ext.o: $(ALL_H) lal_born_coul_long_cs.h lal_born_coul_long_cs_ext.cpp lal_born_coul_long.h + $(CUDR) -o $@ -c lal_born_coul_long_cs_ext.cpp -I$(OBJ_DIR) + +$(OBJ_DIR)/born_coul_wolf_cs.cubin: lal_born_coul_wolf_cs.cu lal_precision.h lal_preprocessor.h + $(CUDA) --fatbin -DNV_KERNEL -o $@ lal_born_coul_wolf_cs.cu + +$(OBJ_DIR)/born_coul_wolf_cs_cubin.h: $(OBJ_DIR)/born_coul_wolf_cs.cubin $(OBJ_DIR)/born_coul_wolf_cs.cubin + $(BIN2C) -c -n born_coul_wolf_cs $(OBJ_DIR)/born_coul_wolf_cs.cubin > $(OBJ_DIR)/born_coul_wolf_cs_cubin.h + +$(OBJ_DIR)/lal_born_coul_wolf_cs.o: $(ALL_H) lal_born_coul_wolf_cs.h lal_born_coul_wolf_cs.cpp $(OBJ_DIR)/born_coul_wolf_cs_cubin.h $(OBJ_DIR)/lal_base_charge.o $(OBJ_DIR)/lal_born_coul_wolf.o + $(CUDR) -o $@ -c lal_born_coul_wolf_cs.cpp -I$(OBJ_DIR) + +$(OBJ_DIR)/lal_born_coul_wolf_cs_ext.o: $(ALL_H) lal_born_coul_wolf_cs.h lal_born_coul_wolf_cs_ext.cpp lal_born_coul_wolf.h + $(CUDR) -o $@ -c lal_born_coul_wolf_cs_ext.cpp -I$(OBJ_DIR) + $(BIN_DIR)/nvc_get_devices: ./geryon/ucl_get_devices.cpp $(NVD_H) $(CUDR) -o $@ ./geryon/ucl_get_devices.cpp -DUCL_CUDADR $(CUDA_LIB) -lcuda -- GitLab From 199c96f985bae537e7b43dc49b7a41570cf8b905 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 10 Jul 2018 09:22:41 -0400 Subject: [PATCH 249/675] update and clarify the choice of atom ids for angle style dipole (which is not really an angle potential) --- doc/src/angle_dipole.txt | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/doc/src/angle_dipole.txt b/doc/src/angle_dipole.txt index d91f260d51..34cc8c153c 100644 --- a/doc/src/angle_dipole.txt +++ b/doc/src/angle_dipole.txt @@ -96,16 +96,17 @@ USER-MISC package. See the "Making LAMMPS"_Section_start.html#start_2_3 section for more info on packages. NOTE: In the "Angles" section of the data file, the atom ID 'j' -corresponding to the dipole to restrain must come before the atom ID -of the reference atom 'i'. A third atom ID 'k' must also be provided, -although 'k' is just a 'dummy' atom which can be any atom; it may be -useful to choose a convention (e.g., 'k'='i') and adhere to it. For -example, if ID=1 for the dipolar atom to restrain, and ID=2 for the -reference atom, the corresponding line in the "Angles" section of the -data file would read: X X 1 2 2 +defining the direction of the dipole vector to restrain must come +before the atom ID of the reference atom 'i'. A third atom ID 'k' must +also be provided to comply with the requirement of a valid angle +definition. This atom ID k should be chosen to be that of an atom +bonded to atom 'i' to avoid errors with "lost angle atoms" when running +in parallel. Since the LAMMPS code checks for valid angle definitions, +cannot use the same atom ID of either 'i' or 'j' (this was allowed +and recommended with older LAMMPS versions). The "newton" command for intramolecular interactions must be "on" -(which is the default). +(which is the default except when using some accelerator packages). This angle style should not be used with SHAKE. -- GitLab From 9d5dc561ca45967c445f472bca92e253bca3d33d Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 9 Jul 2018 10:24:55 -0600 Subject: [PATCH 250/675] Commit1 JT 070918 - created README in examples/SPIN - modified doc/src/set.txt to define 'spin' and 'spin/random' keywords --- doc/src/set.txt | 17 +++++++++++++++++ examples/SPIN/README | 20 ++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 examples/SPIN/README diff --git a/doc/src/set.txt b/doc/src/set.txt index 4757d1c575..d05660dc42 100644 --- a/doc/src/set.txt +++ b/doc/src/set.txt @@ -17,6 +17,7 @@ ID = atom ID range or type range or mol ID range or group ID or region ID :l one or more keyword/value pairs may be appended :l keyword = {type} or {type/fraction} or {mol} or {x} or {y} or {z} or \ {charge} or {dipole} or {dipole/random} or {quat} or \ + {spin} or {spin/random} or {quat} or \ {quat/random} or {diameter} or {shape} or \ {length} or {tri} or {theta} or {theta/random} or \ {angmom} or {omega} or \ @@ -43,6 +44,13 @@ keyword = {type} or {type/fraction} or {mol} or {x} or {y} or {z} or \ {dipole/random} value = seed Dlen seed = random # seed (positive integer) for dipole moment orientations Dlen = magnitude of dipole moment (dipole units) + {spin} values = g x y z + g = magnitude of magnetic spin vector (in Bohr magneton's unit) + x,y,z = orientation of magnetic spin vector + any of x,y,z can be an atom-style variable (see below) + {spin/random} value = seed Dlen + seed = random # seed (positive integer) for magnetic spin orientations + Dlen = magnitude of magnetic spin vector (in Bohr magneton's unit) {quat} values = a b c theta a,b,c = unit vector to rotate particle around via right-hand rule theta = rotation angle (degrees) @@ -232,6 +240,15 @@ the orientation of a particular atom is the same, regardless of how many processors are being used. This keyword does not allow use of an atom-style variable. +Keyword {spin} uses the specified g value to set the magnitude of the +magnetic spin vectors, and the x,y,z values as components of a vector +to set as the orientation of the magnetic spin vectors of the selected +atoms. + +Keyword {spin/random} randomizes the orientation of the magnetic spin +vectors for the selected atoms and sets the magnitude of each to the +specified {Dlen} value. + Keyword {quat} uses the specified values to create a quaternion (4-vector) that represents the orientation of the selected atoms. The particles must define a quaternion for their orientation diff --git a/examples/SPIN/README b/examples/SPIN/README new file mode 100644 index 0000000000..5ad252e7f2 --- /dev/null +++ b/examples/SPIN/README @@ -0,0 +1,20 @@ +This directory contains examples and applications of the SPIN package +===================================================================== + +- the iron, cobalt_hcp, cobalt_fcc and nickel directories provide +examples of spin-lattice calculations. + +- the bfo repository provides an example of spin dynamics calculation +performed on a fixed lattice, and applied to the multiferroic +material bismuth-oxide. + +- the read_restart directory provides examples allowing to write or +read data files, and restart magneto-mechanical simulations. + +- vizualization of the dump files can be achieved using Ovito or +VMD. See the vmd repository for help vizualizing results with VMD. + +** Note, the aim of this repository is mainly to provide users with +examples. Better values and tuning of the magnetic and mechanical +interactions can be achieved for more accurate materials +simulations. ** -- GitLab From ade9b7bfc39ede248fc1d81b7ab93a7019e10daf Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 9 Jul 2018 18:07:10 -0600 Subject: [PATCH 251/675] Commit2 JT 070918 - modified the citeme reference (replaced by the JCP one) - same modification in doc and src/SPIN --- doc/src/fix_langevin_spin.txt | 4 ++-- doc/src/fix_nve_spin.txt | 2 +- doc/src/pair_spin_dmi.txt | 2 +- doc/src/pair_spin_exchange.txt | 2 +- doc/src/pair_spin_magelec.txt | 2 +- doc/src/pair_spin_neel.txt | 2 +- src/SPIN/atom_vec_spin.cpp | 6 +++--- src/SPIN/compute_spin.cpp | 6 +++--- src/SPIN/fix_langevin_spin.cpp | 6 +++--- src/SPIN/fix_nve_spin.cpp | 11 ++++++----- src/SPIN/fix_precession_spin.cpp | 6 +++--- src/SPIN/pair_spin.cpp | 6 +++--- src/SPIN/pair_spin_dmi.cpp | 6 +++--- src/SPIN/pair_spin_exchange.cpp | 6 +++--- src/SPIN/pair_spin_magelec.cpp | 12 ++++++------ src/SPIN/pair_spin_neel.cpp | 6 +++--- 16 files changed, 43 insertions(+), 42 deletions(-) diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index 51f085ebdc..b089cd7f58 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -98,5 +98,5 @@ integration fix (e.g. {fix nve/spin}). [(Mayergoyz)] I.D. Mayergoyz, G. Bertotti, C. Serpico (2009). Elsevier (2009) :link(Tranchida2) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -arXiv preprint arXiv:1801.10233, (2018). +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, +Journal of Computational Physics, (2018). diff --git a/doc/src/fix_nve_spin.txt b/doc/src/fix_nve_spin.txt index 6ccebcebf6..f4b38c270b 100644 --- a/doc/src/fix_nve_spin.txt +++ b/doc/src/fix_nve_spin.txt @@ -73,4 +73,4 @@ instead of "array" is also valid. :link(Tranchida1) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -arXiv preprint arXiv:1801.10233, (2018). +Journal of Computational Physics, (2018). diff --git a/doc/src/pair_spin_dmi.txt b/doc/src/pair_spin_dmi.txt index 9fe53df18a..24877906f3 100644 --- a/doc/src/pair_spin_dmi.txt +++ b/doc/src/pair_spin_dmi.txt @@ -63,4 +63,4 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :link(Tranchida5) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -arXiv preprint arXiv:1801.10233, (2018). +Journal of Computational Physics, (2018). diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index 97b6d0b34f..ad3357cb5e 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -79,4 +79,4 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :link(Tranchida3) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -arXiv preprint arXiv:1801.10233, (2018). +Journal of Computational Physics, (2018). diff --git a/doc/src/pair_spin_magelec.txt b/doc/src/pair_spin_magelec.txt index 0185a5abb2..8ba24c46af 100644 --- a/doc/src/pair_spin_magelec.txt +++ b/doc/src/pair_spin_magelec.txt @@ -70,4 +70,4 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :link(Tranchida4) [(Tranchida)] Tranchida, Plimpton, Thibaudeau, and Thompson, -arXiv preprint arXiv:1801.10233, (2018). +Journal of Computational Physics, (2018). diff --git a/doc/src/pair_spin_neel.txt b/doc/src/pair_spin_neel.txt index f7c9608a93..8551f8d636 100644 --- a/doc/src/pair_spin_neel.txt +++ b/doc/src/pair_spin_neel.txt @@ -78,4 +78,4 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :link(Tranchida6) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -arXiv preprint arXiv:1801.10233, (2018). +Journal of Computational Physics, (2018). diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 4871fe0c40..51903e5480 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -18,9 +18,9 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ #include diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 54818a9b70..1d87f4e722 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -16,9 +16,9 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ #include diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index 97b33197ce..402b934723 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -16,9 +16,9 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ #include diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index d91636af58..353f2cbd83 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -16,9 +16,9 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ #include @@ -59,8 +59,9 @@ static const char cite_fix_nve_spin[] = "title={Massively parallel symplectic algorithm for coupled magnetic spin " "dynamics and molecular dynamics},\n" "author={Tranchida, J and Plimpton, SJ and Thibaudeau, P and Thompson, AP},\n" - "journal={arXiv preprint arXiv:1801.10233},\n" - "year={2018}\n" + "journal={Journal of Computational Physics},\n" + "year={2018},\n" + "publisher={Elsevier}\n" "}\n\n"; enum{NONE}; diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index eedf0becb7..447139e0ee 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -16,9 +16,9 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ #include diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index acb7ffe548..d29f31b70a 100644 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -16,9 +16,9 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ #include diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 07ae684939..0129dec005 100644 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -16,9 +16,9 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ #include diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 7b05d7337e..5aa5a267b9 100644 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -16,9 +16,9 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ #include diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp index e9e7c1fb3f..79cdc919e8 100644 --- a/src/SPIN/pair_spin_magelec.cpp +++ b/src/SPIN/pair_spin_magelec.cpp @@ -16,9 +16,9 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ #include @@ -436,9 +436,9 @@ void PairSpinMagelec::compute_magelec_mech(int i, int j, double fi[3], double sp meiy *= ME_mech[itype][jtype]; meiz *= ME_mech[itype][jtype]; - fi[0] = meiy*vz - meiz*vy; - fi[1] = meiz*vx - meix*vz; - fi[2] = meix*vy - meiy*vx; + fi[0] += meiy*vz - meiz*vy; + fi[1] += meiz*vx - meix*vz; + fi[2] += meix*vy - meiy*vx; } diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index d74db638bd..a8d9fe8ffa 100644 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -16,9 +16,9 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ #include -- GitLab From 792b182cb041dce9c72a7c46ccb473c0c0165a72 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 10 Jul 2018 09:46:08 -0400 Subject: [PATCH 252/675] whitespace cleanup --- src/SPIN/atom_vec_spin.cpp | 6 +++--- src/SPIN/compute_spin.cpp | 4 ++-- src/SPIN/fix_langevin_spin.cpp | 4 ++-- src/SPIN/fix_nve_spin.cpp | 4 ++-- src/SPIN/fix_precession_spin.cpp | 4 ++-- src/SPIN/pair_spin.cpp | 4 ++-- src/SPIN/pair_spin_dmi.cpp | 4 ++-- src/SPIN/pair_spin_exchange.cpp | 4 ++-- src/SPIN/pair_spin_magelec.cpp | 4 ++-- src/SPIN/pair_spin_neel.cpp | 4 ++-- 10 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 51903e5480..276bc34e64 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -18,8 +18,8 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ @@ -54,7 +54,7 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) size_data_atom = 9; size_data_vel = 4; xcol_data = 4; - + atom->sp_flag = 1; } diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 1d87f4e722..b508d0624f 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -16,8 +16,8 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index 402b934723..3650651457 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -16,8 +16,8 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 353f2cbd83..415c2352d4 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -16,8 +16,8 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index 447139e0ee..bcdd62413d 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -16,8 +16,8 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index d29f31b70a..b6cf07e60c 100644 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -16,8 +16,8 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 0129dec005..4ea6cfd0cc 100644 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -16,8 +16,8 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 5aa5a267b9..cb2d7424cf 100644 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -16,8 +16,8 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp index 79cdc919e8..77bf42159a 100644 --- a/src/SPIN/pair_spin_magelec.cpp +++ b/src/SPIN/pair_spin_magelec.cpp @@ -16,8 +16,8 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index a8d9fe8ffa..05999170eb 100644 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -16,8 +16,8 @@ Aidan Thompson (SNL) Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -- GitLab From 1ed25d195be0d32caa75f99172dcda48afab95ed Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 10 Jul 2018 09:48:49 -0400 Subject: [PATCH 253/675] convert c-style includes for c-library calls to c++-style --- src/SPIN/atom_vec_spin.cpp | 6 +++--- src/SPIN/compute_spin.cpp | 2 +- src/SPIN/fix_langevin_spin.cpp | 6 +++--- src/SPIN/fix_nve_spin.cpp | 6 +++--- src/SPIN/fix_precession_spin.cpp | 8 ++++---- src/SPIN/pair_spin.cpp | 6 +++--- src/SPIN/pair_spin_dmi.cpp | 6 +++--- src/SPIN/pair_spin_exchange.cpp | 6 +++--- src/SPIN/pair_spin_magelec.cpp | 6 +++--- src/SPIN/pair_spin_neel.cpp | 6 +++--- 10 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 276bc34e64..8b47eff624 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -23,9 +23,9 @@ and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "atom_vec_spin.h" #include "comm.h" diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index b508d0624f..b67f62d53d 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -22,7 +22,7 @@ ------------------------------------------------------------------------- */ #include -#include +#include #include "atom.h" #include "compute_spin.h" #include "domain.h" diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index 3650651457..cb34465482 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -22,9 +22,9 @@ ------------------------------------------------------------------------- */ #include -#include -#include -#include +#include +#include +#include #include "atom.h" #include "atom_vec_ellipsoid.h" diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 415c2352d4..b75f03212a 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -21,9 +21,9 @@ and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "atom_vec.h" diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index bcdd62413d..b908478952 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -21,10 +21,10 @@ and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include -#include +#include +#include +#include +#include #include "atom.h" #include "domain.h" diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index b6cf07e60c..398206b26e 100644 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -21,9 +21,9 @@ and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "comm.h" diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 4ea6cfd0cc..b792969c5d 100644 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -21,9 +21,9 @@ and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "comm.h" diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index cb2d7424cf..1b7b36b6db 100644 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -21,9 +21,9 @@ and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "comm.h" diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp index 77bf42159a..315b691d17 100644 --- a/src/SPIN/pair_spin_magelec.cpp +++ b/src/SPIN/pair_spin_magelec.cpp @@ -21,9 +21,9 @@ and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "comm.h" diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index 05999170eb..0daafad756 100644 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -21,9 +21,9 @@ and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "comm.h" -- GitLab From 9a70f4a08c6befc96c13e8609ec64709ee700827 Mon Sep 17 00:00:00 2001 From: David Nicholson Date: Tue, 10 Jul 2018 17:10:01 -0400 Subject: [PATCH 254/675] modified UEF_utils to compute inverse change of basis --- src/USER-UEF/uef_utils.cpp | 63 +++++++++++++++++++++++++------------- src/USER-UEF/uef_utils.h | 26 +++++++++++----- 2 files changed, 61 insertions(+), 28 deletions(-) diff --git a/src/USER-UEF/uef_utils.cpp b/src/USER-UEF/uef_utils.cpp index a5498d605f..df418c755b 100644 --- a/src/USER-UEF/uef_utils.cpp +++ b/src/USER-UEF/uef_utils.cpp @@ -177,7 +177,9 @@ bool UEFBox::reduce() // further reduce the box using greedy reduction and check // if it changed from the last step using the change of basis // matrices r and r0 - greedy(l,r); + int ri[3][3]; + greedy(l,r,ri); + mul_m2(r,ri); rotation_matrix(rot,lrot, l); return !mat_same(r,r0); } @@ -195,7 +197,8 @@ void UEFBox::set_strain(const double ex, const double ey) l[k][1] = eps*l0[k][1]; l[k][2] = eps*l0[k][2]; } - greedy(l,r); + int ri[3][3]; + greedy(l,r,ri); rotation_matrix(rot,lrot, l); } @@ -245,28 +248,31 @@ void rotation_matrix(double q[3][3], double r[3][3], const double m[3][3]) //sort columns in order of increasing length -void col_sort(double b[3][3],int r[3][3]) +void col_sort(double b[3][3],int r[3][3],int ri[3][3]) { if (col_prod(b,0,0)>col_prod(b,1,1)) { col_swap(b,0,1); col_swap(r,0,1); + col_swap(ri,0,1); } if (col_prod(b,0,0)>col_prod(b,2,2)) { col_swap(b,0,2); col_swap(r,0,2); + col_swap(ri,0,2); } if (col_prod(b,1,1)>col_prod(b,2,2)) { col_swap(b,1,2); col_swap(r,1,2); + col_swap(ri,1,2); } } // 1-2 reduction (Graham-Schmidt) -void red12(double b[3][3],int r[3][3]) +void red12(double b[3][3],int r[3][3],int ri[3][3]) { int y = round(col_prod(b,0,1)/col_prod(b,0,0)); b[0][1] -= y*b[0][0]; @@ -276,16 +282,21 @@ void red12(double b[3][3],int r[3][3]) r[0][1] -= y*r[0][0]; r[1][1] -= y*r[1][0]; r[2][1] -= y*r[2][0]; + + ri[0][0] += y*ri[0][1]; + ri[1][0] += y*ri[1][1]; + ri[2][0] += y*ri[2][1]; if (col_prod(b,1,1) < col_prod(b,0,0)) { col_swap(b,0,1); col_swap(r,0,1); - red12(b,r); + col_swap(ri,0,1); + red12(b,r,ri); } } // The Semaev condition for a 3-reduced basis -void red3(double b[3][3], int r[3][3]) +void red3(double b[3][3], int r[3][3], int ri[3][3]) { double b11 = col_prod(b,0,0); double b22 = col_prod(b,1,1); @@ -326,41 +337,51 @@ void red3(double b[3][3], int r[3][3]) r[0][2] += x1*r[0][0] + x2*r[0][1]; r[1][2] += x1*r[1][0] + x2*r[1][1]; r[2][2] += x1*r[2][0] + x2*r[2][1]; - greedy_recurse(b,r); // note the recursion step is here + + ri[0][0] += -x1*ri[0][2]; + ri[1][0] += -x1*ri[1][2]; + ri[2][0] += -x1*ri[2][2]; + ri[0][1] += -x2*ri[0][2]; + ri[1][1] += -x2*ri[1][2]; + ri[2][1] += -x2*ri[2][2]; + greedy_recurse(b,r,ri); // note the recursion step is here } } // the meat of the greedy reduction algorithm -void greedy_recurse(double b[3][3], int r[3][3]) +void greedy_recurse(double b[3][3], int r[3][3], int ri[3][3]) { - col_sort(b,r); - red12(b,r); - red3(b,r); // recursive caller + col_sort(b,r,ri); + red12(b,r,ri); + red3(b,r,ri); // recursive caller } // set r (change of basis) to be identity then reduce basis and make it unique -void greedy(double b[3][3],int r[3][3]) +void greedy(double b[3][3],int r[3][3],int ri[3][3]) { r[0][1]=r[0][2]=r[1][0]=r[1][2]=r[2][0]=r[2][1]=0; r[0][0]=r[1][1]=r[2][2]=1; - greedy_recurse(b,r); - make_unique(b,r); + ri[0][1]=ri[0][2]=ri[1][0]=ri[1][2]=ri[2][0]=ri[2][1]=0; + ri[0][0]=ri[1][1]=ri[2][2]=1; + greedy_recurse(b,r,ri); + make_unique(b,r,ri); + transpose(ri); } // A reduced basis isn't unique. This procedure will make it // "more" unique. Degenerate cases are possible, but unlikely // with floating point math. -void make_unique(double b[3][3], int r[3][3]) +void make_unique(double b[3][3], int r[3][3], int ri[3][3]) { if (fabs(b[0][0]) < fabs(b[0][1])) - { col_swap(b,0,1); col_swap(r,0,1); } + { col_swap(b,0,1); col_swap(r,0,1); col_swap(ri,0,1); } if (fabs(b[0][0]) < fabs(b[0][2])) - { col_swap(b,0,2); col_swap(r,0,2); } + { col_swap(b,0,2); col_swap(r,0,2); col_swap(ri,0,2); } if (fabs(b[1][1]) < fabs(b[1][2])) - { col_swap(b,1,2); col_swap(r,1,2); } + { col_swap(b,1,2); col_swap(r,1,2); col_swap(ri,1,2); } - if (b[0][0] < 0){ neg_col(b,0); neg_col(r,0); } - if (b[1][1] < 0){ neg_col(b,1); neg_col(r,1); } - if (det(b) < 0){ neg_col(b,2); neg_col(r,2); } + if (b[0][0] < 0){ neg_col(b,0); neg_col(r,0); neg_col(ri,0); } + if (b[1][1] < 0){ neg_col(b,1); neg_col(r,1); neg_col(ri,1); } + if (det(b) < 0){ neg_col(b,2); neg_col(r,2); neg_col(ri,2); } } }} diff --git a/src/USER-UEF/uef_utils.h b/src/USER-UEF/uef_utils.h index a16f6fff1a..d5b0d6453b 100644 --- a/src/USER-UEF/uef_utils.h +++ b/src/USER-UEF/uef_utils.h @@ -30,7 +30,6 @@ class UEFBox private: double l0[3][3]; // initial basis double w1[3],w2[3], winv[3][3]; // omega1 and omega2 (spectra of automorphisms) - //double edot[3], delta[2]; double theta[2]; double l[3][3], rot[3][3], lrot[3][3]; int r[3][3],a1[3][3],a2[3][3],a1i[3][3],a2i[3][3]; @@ -38,12 +37,12 @@ class UEFBox // lattice reduction routines -void greedy(double[3][3],int[3][3]); -void col_sort(double[3][3],int[3][3]); -void red12(double[3][3],int[3][3]); -void greedy_recurse(double[3][3],int[3][3]); -void red3(double [3][3],int r[3][3]); -void make_unique(double[3][3],int[3][3]); +void greedy(double[3][3],int[3][3],int[3][3]); +void col_sort(double[3][3],int[3][3],int[3][3]); +void red12(double[3][3],int[3][3],int[3][3]); +void greedy_recurse(double[3][3],int[3][3],int[3][3]); +void red3(double [3][3],int r[3][3],int[3][3]); +void make_unique(double[3][3],int[3][3],int[3][3]); void rotation_matrix(double[3][3],double[3][3],const double [3][3]); // A few utility functions for 3x3 arrays @@ -100,6 +99,19 @@ bool mat_same(T x1[3][3], T x2[3][3]) return v; } +template +void transpose(T m[3][3]) +{ + T t[3][3]; + for (int k=0;k<3;k++) + for (int j=k+1;j<3;j++) + { + T x = m[k][j]; + m[k][j] = m[j][k]; + m[j][k] = x; + } +} + template void mul_m1(T m1[3][3], const T m2[3][3]) { -- GitLab From 5124c9e9937049b252167eb2d790f358c61d3934 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 10 Jul 2018 16:53:26 -0500 Subject: [PATCH 255/675] Fixed bugs in body rounded/polydedra for correct size_border --- src/BODY/body_rounded_polyhedron.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp index fb0be7c1be..6a9b97ae23 100644 --- a/src/BODY/body_rounded_polyhedron.cpp +++ b/src/BODY/body_rounded_polyhedron.cpp @@ -48,13 +48,13 @@ BodyRoundedPolyhedron::BodyRoundedPolyhedron(LAMMPS *lmp, int narg, char **arg) size_forward = 0; - // 1 integer for number of vertices, + // 3 integers: 1 for no. of vertices, 1 for no. of edges, 1 for no. of faces // 3*nmax doubles for vertex coordinates + 2*nmax doubles for edge ends + // (MAX_FACE_SIZE+1)*nmax for faces // 1 double for the enclosing radius // 1 double for the rounded radius - size_border = 1 + 3*nmax + 2*nmax + MAX_FACE_SIZE*nmax + 1 + 1; + size_border = 3 + 3*nmax + 2*nmax + MAX_FACE_SIZE*nmax + 1 + 1; // NOTE: need to set appropriate nnbin param for dcp @@ -159,7 +159,7 @@ int BodyRoundedPolyhedron::pack_border_body(AtomVecBody::Bonus *bonus, double *b buf[2] = nfac; int ndouble; if (nsub == 1 || nsub == 2) ndouble = 3*nsub+2+MAX_FACE_SIZE*nfac+1+1; - else ndouble = 3*nsub+2*nedges(bonus)+MAX_FACE_SIZE*nfac+1+1; + else ndouble = 3*nsub+2*ned+MAX_FACE_SIZE*nfac+1+1; memcpy(&buf[3],bonus->dvalue,ndouble*sizeof(double)); return 3+ndouble; } @@ -177,7 +177,7 @@ int BodyRoundedPolyhedron::unpack_border_body(AtomVecBody::Bonus *bonus, bonus->ivalue[2] = nfac; int ndouble; if (nsub == 1 || nsub == 2) ndouble = 3*nsub+2+MAX_FACE_SIZE*nfac+1+1; - else ndouble = 3*nsub+2*nedges(bonus)+MAX_FACE_SIZE*nfac+1+1; + else ndouble = 3*nsub+2*ned+MAX_FACE_SIZE*nfac+1+1; memcpy(bonus->dvalue,&buf[3],ndouble*sizeof(double)); return 3+ndouble; } -- GitLab From c3bf7d0971749c330e1f1cae2f53d57872199851 Mon Sep 17 00:00:00 2001 From: David Nicholson Date: Tue, 10 Jul 2018 19:02:31 -0400 Subject: [PATCH 256/675] added an interface for the inverse c.o.b. matrix to UEF_utils --- src/USER-UEF/uef_utils.cpp | 29 ++++++++++++++++++++++++----- src/USER-UEF/uef_utils.h | 17 +++++++++-------- 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/src/USER-UEF/uef_utils.cpp b/src/USER-UEF/uef_utils.cpp index df418c755b..66164c2647 100644 --- a/src/USER-UEF/uef_utils.cpp +++ b/src/USER-UEF/uef_utils.cpp @@ -55,6 +55,7 @@ UEFBox::UEFBox() { l[k][j] = l0[k][j]; r[j][k]=(j==k); + ri[j][k]=(j==k); } // get the initial rotation and upper triangular matrix @@ -119,6 +120,14 @@ void UEFBox::get_rot(double x[3][3]) x[k][j]=rot[k][j]; } +// get inverse change of basis matrix +void UEFBox::get_inverse_cob(double x[3][3]) +{ + for (int k=0;k<3;k++) + for (int j=0;j<3;j++) + x[k][j]=ri[k][j]; +} + // diagonal, incompressible deformation void UEFBox::step_deform(const double ex, const double ey) { @@ -167,26 +176,37 @@ bool UEFBox::reduce() if (f2 < 0) for (int k=0;k<-f2;k++) mul_m2 (a2i,r0); // robust reduction to the box defined by Dobson + double lc[3][3]; for (int k=0;k<3;k++) { double eps = exp(theta[0]*w1[k]+theta[1]*w2[k]); l[k][0] = eps*l0[k][0]; l[k][1] = eps*l0[k][1]; l[k][2] = eps*l0[k][2]; + lc[k][0] = eps*l0[k][0]; + lc[k][1] = eps*l0[k][1]; + lc[k][2] = eps*l0[k][2]; } + // further reduce the box using greedy reduction and check // if it changed from the last step using the change of basis // matrices r and r0 - int ri[3][3]; + greedy(l,r,ri); - mul_m2(r,ri); + + // multiplying the inverse by the old change of basis matrix gives + // the inverse of the transformation itself (should be identity if + // no reduction takes place). This is used for image flags only. + + mul_m1(ri,r0); + rotation_matrix(rot,lrot, l); return !mat_same(r,r0); } void UEFBox::set_strain(const double ex, const double ey) { - theta[0] =winv[0][0]*ex + winv[0][1]*ey; - theta[1] =winv[1][0]*ex + winv[1][1]*ey; + theta[0] = winv[0][0]*ex + winv[0][1]*ey; + theta[1] = winv[1][0]*ex + winv[1][1]*ey; theta[0] -= round(theta[0]); theta[1] -= round(theta[1]); @@ -197,7 +217,6 @@ void UEFBox::set_strain(const double ex, const double ey) l[k][1] = eps*l0[k][1]; l[k][2] = eps*l0[k][2]; } - int ri[3][3]; greedy(l,r,ri); rotation_matrix(rot,lrot, l); } diff --git a/src/USER-UEF/uef_utils.h b/src/USER-UEF/uef_utils.h index d5b0d6453b..ccfa0f0181 100644 --- a/src/USER-UEF/uef_utils.h +++ b/src/USER-UEF/uef_utils.h @@ -27,12 +27,13 @@ class UEFBox bool reduce(); void get_box(double[3][3], double); void get_rot(double[3][3]); + void get_inverse_cob(double[3][3]); private: double l0[3][3]; // initial basis - double w1[3],w2[3], winv[3][3]; // omega1 and omega2 (spectra of automorphisms) + double w1[3],w2[3],winv[3][3];//omega1 and omega2 (spectra of automorphisms) double theta[2]; double l[3][3], rot[3][3], lrot[3][3]; - int r[3][3],a1[3][3],a2[3][3],a1i[3][3],a2i[3][3]; + int r[3][3],ri[3][3],a1[3][3],a2[3][3],a1i[3][3],a2i[3][3]; }; @@ -112,10 +113,10 @@ void transpose(T m[3][3]) } } -template -void mul_m1(T m1[3][3], const T m2[3][3]) +template +void mul_m1(T1 m1[3][3], const T2 m2[3][3]) { - T t[3][3]; + T1 t[3][3]; for (int k=0;k<3;k++) for (int j=0;j<3;j++) t[k][j]=m1[k][j]; @@ -125,10 +126,10 @@ void mul_m1(T m1[3][3], const T m2[3][3]) m1[k][j] = t[k][0]*m2[0][j] + t[k][1]*m2[1][j] + t[k][2]*m2[2][j]; } -template -void mul_m2(const T m1[3][3], T m2[3][3]) +template +void mul_m2(const T1 m1[3][3], T2 m2[3][3]) { - T t[3][3]; + T2 t[3][3]; for (int k=0;k<3;k++) for (int j=0;j<3;j++) t[k][j]=m2[k][j]; -- GitLab From eaf3d1ea9eaa755000d36bb192c36499dda6aa1b Mon Sep 17 00:00:00 2001 From: David Nicholson Date: Tue, 10 Jul 2018 19:38:18 -0400 Subject: [PATCH 257/675] added an image flag update a la domain->image_flip() to FixNHUef::pre_exchange() --- src/USER-UEF/fix_nh_uef.cpp | 20 ++++++++++++++++++-- src/USER-UEF/uef_utils.cpp | 2 +- src/USER-UEF/uef_utils.h | 2 +- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/USER-UEF/fix_nh_uef.cpp b/src/USER-UEF/fix_nh_uef.cpp index cd0b2ba268..bfa4549286 100644 --- a/src/USER-UEF/fix_nh_uef.cpp +++ b/src/USER-UEF/fix_nh_uef.cpp @@ -536,10 +536,26 @@ void FixNHUef::pre_exchange() rotate_x(rot); rotate_f(rot); - // put all atoms in the new box - double **x = atom->x; + // this is a generalization of what is done in domain->image_flip(...) + int ri[3][3]; + uefbox->get_inverse_cob(ri); imageint *image = atom->image; int nlocal = atom->nlocal; + for (int i=0; i> IMGBITS & IMGMASK) - IMGMAX; + iold[2] = (image[i] >> IMG2BITS) - IMGMAX; + inew[0] = ri[0][0]*iold[0] + ri[0][1]*iold[1] + ri[0][2]*iold[2]; + inew[1] = ri[1][0]*iold[0] + ri[1][1]*iold[1] + ri[1][2]*iold[2]; + inew[2] = ri[2][0]*iold[0] + ri[2][1]*iold[1] + ri[2][2]*iold[2]; + image[i] = ((imageint) (inew[0] + IMGMAX) & IMGMASK) | + (((imageint) (inew[1] + IMGMAX) & IMGMASK) << IMGBITS) | + (((imageint) (inew[2] + IMGMAX) & IMGMASK) << IMG2BITS); + } + + // put all atoms in the new box + double **x = atom->x; for (int i=0; iremap(x[i],image[i]); // move atoms to the right processors diff --git a/src/USER-UEF/uef_utils.cpp b/src/USER-UEF/uef_utils.cpp index 66164c2647..3210a675c6 100644 --- a/src/USER-UEF/uef_utils.cpp +++ b/src/USER-UEF/uef_utils.cpp @@ -121,7 +121,7 @@ void UEFBox::get_rot(double x[3][3]) } // get inverse change of basis matrix -void UEFBox::get_inverse_cob(double x[3][3]) +void UEFBox::get_inverse_cob(int x[3][3]) { for (int k=0;k<3;k++) for (int j=0;j<3;j++) diff --git a/src/USER-UEF/uef_utils.h b/src/USER-UEF/uef_utils.h index ccfa0f0181..314c7cf55f 100644 --- a/src/USER-UEF/uef_utils.h +++ b/src/USER-UEF/uef_utils.h @@ -27,7 +27,7 @@ class UEFBox bool reduce(); void get_box(double[3][3], double); void get_rot(double[3][3]); - void get_inverse_cob(double[3][3]); + void get_inverse_cob(int[3][3]); private: double l0[3][3]; // initial basis double w1[3],w2[3],winv[3][3];//omega1 and omega2 (spectra of automorphisms) -- GitLab From 930215a4b138d4da4a2e8812be772811cd66d132 Mon Sep 17 00:00:00 2001 From: David Nicholson Date: Tue, 10 Jul 2018 23:10:04 -0400 Subject: [PATCH 258/675] superfluous code removal and formatting changes --- src/USER-UEF/uef_utils.cpp | 191 +++++++++++++++++++++++-------------- src/USER-UEF/uef_utils.h | 9 +- 2 files changed, 121 insertions(+), 79 deletions(-) diff --git a/src/USER-UEF/uef_utils.cpp b/src/USER-UEF/uef_utils.cpp index 3210a675c6..a2e6cb291e 100644 --- a/src/USER-UEF/uef_utils.cpp +++ b/src/USER-UEF/uef_utils.cpp @@ -30,48 +30,54 @@ namespace LAMMPS_NS { UEFBox::UEFBox() { + // initial box (also an inverse eigenvector matrix of automorphisms) + double x = 0.327985277605681; double y = 0.591009048506103; double z = 0.736976229099578; l0[0][0]= z; l0[0][1]= y; l0[0][2]= x; l0[1][0]=-x; l0[1][1]= z; l0[1][2]=-y; l0[2][0]=-y; l0[2][1]= x; l0[2][2]= z; + // spectra of the two automorpisms (log of eigenvalues) + w1[0]=-1.177725211523360; w1[1]=-0.441448620566067; w1[2]= 1.619173832089425; w2[0]= w1[1]; w2[1]= w1[2]; w2[2]= w1[0]; + // initialize theta // strain = w1 * theta1 + w2 * theta2 - theta[0]=theta[1]=0; + theta[0]=theta[1]=0; //set up the initial box l and change of basis matrix r + for (int k=0;k<3;k++) - for (int j=0;j<3;j++) - { + for (int j=0;j<3;j++) { l[k][j] = l0[k][j]; r[j][k]=(j==k); ri[j][k]=(j==k); } // get the initial rotation and upper triangular matrix + rotation_matrix(rot, lrot ,l); // this is just a way to calculate the automorphisms // themselves, which play a minor role in the calculations // it's overkill, but only called once + double t1[3][3]; double t1i[3][3]; double t2[3][3]; double t2i[3][3]; double l0t[3][3]; for (int k=0; k<3; ++k) - for (int j=0; j<3; ++j) - { + for (int j=0; j<3; ++j) { t1[k][j] = exp(w1[k])*l0[k][j]; t1i[k][j] = exp(-w1[k])*l0[k][j]; t2[k][j] = exp(w2[k])*l0[k][j]; @@ -83,8 +89,7 @@ UEFBox::UEFBox() mul_m2(l0t,t2); mul_m2(l0t,t2i); for (int k=0; k<3; ++k) - for (int j=0; j<3; ++j) - { + for (int j=0; j<3; ++j) { a1[k][j] = round(t1[k][j]); a1i[k][j] = round(t1i[k][j]); a2[k][j] = round(t2[k][j]); @@ -93,6 +98,7 @@ UEFBox::UEFBox() // winv used to transform between // strain increments and theta increments + winv[0][0] = w2[1]; winv[0][1] = -w2[0]; winv[1][0] = -w1[1]; @@ -103,7 +109,9 @@ UEFBox::UEFBox() winv[k][j] /= d; } -// get volume-correct r basis in: basis*cbrt(vol) = q*r +/* ---------------------------------------------------------------------- + get volume-correct r basis in: basis*cbrt(vol) = q*r +------------------------------------------------------------------------- */ void UEFBox::get_box(double x[3][3], double v) { v = cbrtf(v); @@ -112,7 +120,9 @@ void UEFBox::get_box(double x[3][3], double v) x[k][j] = lrot[k][j]*v; } -// get rotation matrix q in: basis = q*r +/* ---------------------------------------------------------------------- + get rotation matrix q in: basis = q*r +------------------------------------------------------------------------- */ void UEFBox::get_rot(double x[3][3]) { for (int k=0;k<3;k++) @@ -120,7 +130,9 @@ void UEFBox::get_rot(double x[3][3]) x[k][j]=rot[k][j]; } -// get inverse change of basis matrix +/* ---------------------------------------------------------------------- + get inverse change of basis matrix +------------------------------------------------------------------------- */ void UEFBox::get_inverse_cob(int x[3][3]) { for (int k=0;k<3;k++) @@ -128,20 +140,22 @@ void UEFBox::get_inverse_cob(int x[3][3]) x[k][j]=ri[k][j]; } -// diagonal, incompressible deformation +/* ---------------------------------------------------------------------- + apply diagonal, incompressible deformation +------------------------------------------------------------------------- */ void UEFBox::step_deform(const double ex, const double ey) { // increment theta values used in the reduction + theta[0] +=winv[0][0]*ex + winv[0][1]*ey; theta[1] +=winv[1][0]*ex + winv[1][1]*ey; - // deformation of the box. reduce() needs to - // be called regularly or calculation will become - // unstable + // deformation of the box. reduce() needs to be called regularly or + // calculation will become unstable + double eps[3]; eps[0]=ex; eps[1] = ey; eps[2] = -ex-ey; - for (int k=0;k<3;k++) - { + for (int k=0;k<3;k++) { eps[k] = exp(eps[k]); l[k][0] = eps[k]*l[k][0]; l[k][1] = eps[k]*l[k][1]; @@ -149,43 +163,43 @@ void UEFBox::step_deform(const double ex, const double ey) } rotation_matrix(rot,lrot, l); } -// reuduce the current basis + +/* ---------------------------------------------------------------------- + reduce the current basis +------------------------------------------------------------------------- */ bool UEFBox::reduce() { - // determine how many times to apply the automorphisms - // and find new theta values + // determine how many times to apply the automorphisms and find new theta + // values + int f1 = round(theta[0]); int f2 = round(theta[1]); theta[0] -= f1; theta[1] -= f2; - // store old change or basis matrix to determine if it - // changes + // store old change or basis matrix to determine if it changes + int r0[3][3]; for (int k=0;k<3;k++) for (int j=0;j<3;j++) r0[k][j]=r[k][j]; - // this modifies the old change basis matrix to - // handle the case where the automorphism transforms - // the box but the reduced basis doesn't change + // this modifies the old change basis matrix to handle the case where the + // automorphism transforms the box but the reduced basis doesn't change // (r0 should still equal r at the end) + if (f1 > 0) for (int k=0;k 0) for (int k=0;k (-q)*m = (-r) will hold row-wise + if (r[0][0] < 0){ neg_row(q,0); neg_row(r,0); } if (r[1][1] < 0){ neg_row(q,1); neg_row(r,1); } if (r[2][2] < 0){ neg_row(q,2); neg_row(r,2); } } - - -//sort columns in order of increasing length +/* ---------------------------------------------------------------------- + sort columns of b in order of increasing length + mimic column operations on ri and r +------------------------------------------------------------------------- */ void col_sort(double b[3][3],int r[3][3],int ri[3][3]) { - if (col_prod(b,0,0)>col_prod(b,1,1)) - { + if (col_prod(b,0,0)>col_prod(b,1,1)) { col_swap(b,0,1); col_swap(r,0,1); col_swap(ri,0,1); } - if (col_prod(b,0,0)>col_prod(b,2,2)) - { + if (col_prod(b,0,0)>col_prod(b,2,2)) { col_swap(b,0,2); col_swap(r,0,2); col_swap(ri,0,2); } - if (col_prod(b,1,1)>col_prod(b,2,2)) - { + if (col_prod(b,1,1)>col_prod(b,2,2)) { col_swap(b,1,2); col_swap(r,1,2); col_swap(ri,1,2); } } - -// 1-2 reduction (Graham-Schmidt) +/* ---------------------------------------------------------------------- + 1-2 reduction (Graham-Schmidt) +------------------------------------------------------------------------- */ void red12(double b[3][3],int r[3][3],int ri[3][3]) { int y = round(col_prod(b,0,1)/col_prod(b,0,0)); @@ -305,8 +322,8 @@ void red12(double b[3][3],int r[3][3],int ri[3][3]) ri[0][0] += y*ri[0][1]; ri[1][0] += y*ri[1][1]; ri[2][0] += y*ri[2][1]; - if (col_prod(b,1,1) < col_prod(b,0,0)) - { + + if (col_prod(b,1,1) < col_prod(b,0,0)) { col_swap(b,0,1); col_swap(r,0,1); col_swap(ri,0,1); @@ -314,7 +331,9 @@ void red12(double b[3][3],int r[3][3],int ri[3][3]) } } -// The Semaev condition for a 3-reduced basis +/* ---------------------------------------------------------------------- + Apply the Semaev condition for a 3-reduced basis +------------------------------------------------------------------------- */ void red3(double b[3][3], int r[3][3], int ri[3][3]) { double b11 = col_prod(b,0,0); @@ -334,29 +353,25 @@ void red3(double b[3][3], int r[3][3], int ri[3][3]) x1v[0] = floor(y1); x1v[1] = x1v[0]+1; x2v[0] = floor(y2); x2v[1] = x2v[0]+1; for (int k=0;k<2;k++) - for (int j=0;j<2;j++) - { + for (int j=0;j<2;j++) { double a[3]; a[0] = b[0][2] + x1v[k]*b[0][0] + x2v[j]*b[0][1]; a[1] = b[1][2] + x1v[k]*b[1][0] + x2v[j]*b[1][1]; a[2] = b[2][2] + x1v[k]*b[2][0] + x2v[j]*b[2][1]; double val=a[0]*a[0]+a[1]*a[1]+a[2]*a[2]; - if (val T col_prod(T x[3][3], int c1, int c2) { @@ -56,8 +57,7 @@ T col_prod(T x[3][3], int c1, int c2) template void col_swap(T x[3][3], int c1, int c2) { - for (int k=0;k<3;k++) - { + for (int k=0;k<3;k++) { T t = x[k][c2]; x[k][c2]=x[k][c1]; x[k][c1]=t; @@ -105,8 +105,7 @@ void transpose(T m[3][3]) { T t[3][3]; for (int k=0;k<3;k++) - for (int j=k+1;j<3;j++) - { + for (int j=k+1;j<3;j++) { T x = m[k][j]; m[k][j] = m[j][k]; m[j][k] = x; -- GitLab From c3a32dde123042fb5bf21ec96a5c1635e0f23661 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Wed, 11 Jul 2018 00:21:49 -0500 Subject: [PATCH 259/675] Updated doc/body.txt for body rounded/polygon and rounded/polyhedron --- doc/src/body.txt | 79 ++++++++++++++++++++++++++++-------------------- 1 file changed, 47 insertions(+), 32 deletions(-) diff --git a/doc/src/body.txt b/doc/src/body.txt index c272f48ad1..0e64e6ad5b 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -36,7 +36,7 @@ thus how they can be used to compute pairwise body/body or bond/non-body (point particle) interactions. More details of each style are described below. -More styles ma be added in the future. See "Section +More styles may be added in the future. See "Section 10.12"_Section_modify.html#mod_12 for details on how to add a new body style to the code. @@ -182,7 +182,7 @@ The {rounded/polygon} body style represents body particles as a 2d polygon with a variable number of N vertices. This style can only be used for 2d models; see the "boundary"_boundary.html command. -NOTE: include a diagram of a a rounded polygon body particle +NOTE: include a diagram of a rounded polygon body particle Special cases for N = 1 (spheres) and N = 2 (rods) are also included. One use of this body style is for 2d discrete element models, as @@ -219,12 +219,11 @@ list 6 moments of inertia followed by the coordinates of the N vertices (x1 to zN) as 3N values (with z = 0.0 for each), followed by 2N vertex indices corresponding to the end points of the N edges, followed by a single diameter value = the rounded diameter of the -circle that surrounds each vertex. These floating-point values can be +circle that surrounds each vertex. The diameter value can be different +for each body particle. These floating-point values can be listed on as many lines as you wish; see the "read_data"_read_data.html command for more details. -NOTE: can the diameter value be different for each body particle? - The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the @@ -236,9 +235,9 @@ position of the particle is specified by the x,y,z values in the {Atoms} section of the data file. For example, the following information would specify a square particle -whose edge length is sqrt(2): - -NOTE: oriented how? +whose edge length is sqrt(2) and rounded diameter is 1.0 in length unit +and initial orientation is determined from the 6 moments of inertia +(ixx iyy izz ixy ixz iyz): 3 1 27 4 @@ -268,12 +267,12 @@ polyhedron with a variable number of N vertices, E edges and F faces. This style can only be used for 3d models; see the "boundary"_boundary.html command. -NOTE: include a diagram of a a rounded polyhedron body particle +NOTE: include a diagram of a rounded polyhedron body particle -Special cases for N = 1 (spheres) and N = 2 (rods) are also valid. +NOTE: 2d objects can also be specified as a special case, e.g. +for a triangle, N = 3, E = 3 and F = 1. -NOTE: can 2d objects also be specified as a special case, e.g. a -triangle? +Special cases for N = 1 (spheres) and N = 2 (rods) are also valid. This body style is for 3d discrete element models, as described in "Wang"_#Wang. @@ -316,8 +315,9 @@ edges (E) and number of faces (F). The floating point line(s) list 6 moments of inertia followed by the coordinates of the N vertices (x1 to zN) as 3N values, followed by 2N vertex indices corresponding to the end points of the E edges, then 4*F vertex indices defining F -faces. The last value is the radius value = the rounded diameter of -the sphere that surrounds each vertex. These floating-point values +faces. The last value is the diameter value = the rounded diameter of +the sphere that surrounds each vertex. The diameter value can be different +for each body particle. These floating-point values can be listed on as many lines as you wish; see the "read_data"_read_data.html command for more details. Because the maxmimum vertices per face is hard-coded to be 4 @@ -325,10 +325,9 @@ maxmimum vertices per face is hard-coded to be 4 split into triangles or quadrilaterals. For triangular faces, the last vertex index should be set to -1. -NOTE: is there some right-hand rule for the ordering of the 4 vertices -within each face? - -NOTE: can the diameter value be different for each body particle? +The ordering of the 4 vertices within a face should follow +the right-hand rule so that the normal vector of the face points +outwards from the center of mass. The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body @@ -341,24 +340,40 @@ position of the particle is specified by the x,y,z values in the {Atoms} section of the data file. For example, the following information would specify a cubic particle -whose edge length is 1.0: - -NOTE: oriented how? - -NOTE: fill in these values correctly - -3 1 27 -4 -1 1 4 0 0 0 --0.7071 -0.7071 0 --0.7071 0.7071 0 -0.7071 0.7071 0 -0.7071 -0.7071 0 +whose edge length is 2.0 and rounded diameter is 0.5 in length unit +and initial orientation is determined from the 6 moments of inertia +(ixx iyy izz ixy ixz iyz): + +1 3 79 +8 12 6 +0.667 0.667 0.667 0 0 0 +1 1 1 +1 -1 1 +-1 -1 1 +-1 1 1 +1 1 -1 +1 -1 -1 +-1 -1 -1 +-1 1 -1 0 1 1 2 2 3 3 0 -1.0 :pre +4 5 +5 6 +6 7 +7 4 +0 4 +1 5 +2 6 +3 7 +0 1 2 3 +4 5 6 7 +0 1 5 4 +1 2 6 5 +2 3 7 6 +3 0 4 7 +0.5 :pre :line -- GitLab From 1f1447c3ac3f919d6c4c34d03e2a0df99b39fdad Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 11 Jul 2018 07:22:47 -0400 Subject: [PATCH 260/675] need to update exclusions with the new atom IDs in case of molecular systems --- src/reset_ids.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/reset_ids.cpp b/src/reset_ids.cpp index 8a33cd535b..fd898bd3ab 100644 --- a/src/reset_ids.cpp +++ b/src/reset_ids.cpp @@ -16,6 +16,7 @@ #include "atom_vec.h" #include "domain.h" #include "comm.h" +#include "special.h" #include "memory.h" #include "error.h" @@ -44,7 +45,7 @@ void ResetIDs::command(int narg, char **arg) } // create an atom map if one doesn't exist already - + int mapflag = 0; if (atom->map_style == 0) { mapflag = 1; @@ -93,7 +94,7 @@ void ResetIDs::command(int narg, char **arg) // forward_comm_array acquires new IDs for ghost atoms double **newIDs; - memory->create(newIDs,nall,1,"reset_ids:newIDs"); + memory->create(newIDs,nall,1,"reset_ids:newIDs"); for (int i = 0; i < nlocal; i++) { newIDs[i][0] = tag[i]; @@ -105,7 +106,7 @@ void ResetIDs::command(int narg, char **arg) // loop over bonds, angles, etc and reset IDs in stored topology arrays // only necessary for molecular = 1, not molecular = 2 // badcount = atom IDs that could not be found - + int badcount = 0; if (atom->molecular == 1) { @@ -232,8 +233,15 @@ void ResetIDs::command(int narg, char **arg) atom->map_init(); atom->map_set(); + // need to update exclusions with new atom IDs + + if (atom->molecular == 1) { + Special special(lmp); + special.build(); + } + // delete temporary atom map - + if (mapflag) { atom->map_delete(); atom->map_style = 0; -- GitLab From acdc240cdd3e056c3d105b27582387351bc76aca Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 11 Jul 2018 08:42:28 -0600 Subject: [PATCH 261/675] better rRESPA doc page, also a new Makefile.theta --- doc/src/run_style.txt | 61 ++++++++++---- src/MAKE/MACHINES/Makefile.theta | 133 +++++++++++++++++++++++++++++++ 2 files changed, 178 insertions(+), 16 deletions(-) create mode 100644 src/MAKE/MACHINES/Makefile.theta diff --git a/doc/src/run_style.txt b/doc/src/run_style.txt index ba836a07dd..3240344a45 100644 --- a/doc/src/run_style.txt +++ b/doc/src/run_style.txt @@ -138,13 +138,19 @@ iterations of level 1 for a single iteration of level 2, N2 is the iterations of level 2 per iteration of level 3, etc. N-1 looping parameters must be specified. -The "timestep"_timestep.html command sets the timestep for the -outermost rRESPA level. Thus if the example command above for a -4-level rRESPA had an outer timestep of 4.0 fmsec, the inner timestep -would be 8x smaller or 0.5 fmsec. All other LAMMPS commands that -specify number of timesteps (e.g. "neigh_modify"_neigh_modify.html -parameters, "dump"_dump.html every N timesteps, etc) refer to the -outermost timesteps. +Thus with a 4-level respa setting of "2 2 2" for the 3 loop factors, +you could choose to have bond interactions computed 8x per large +timestep, angle interactions computed 4x, pair interactions computed +2x, and long-range interactions once per large timestep. + +The "timestep"_timestep.html command sets the large timestep for the +outermost rRESPA level. Thus if the 3 loop factors are "2 2 2" for +4-level rRESPA, and the outer timestep is set to 4.0 fmsec, then the +inner timestep would be 8x smaller or 0.5 fmsec. All other LAMMPS +commands that specify number of timesteps (e.g. "thermo"_thermo.html +for thermo output every N steps, "neigh_modify +delay/every"_neigh_modify.html parameters, "dump"_dump.html every N +steps, etc) refer to the outermost timesteps. The rRESPA keywords enable you to specify at what level of the hierarchy various forces will be computed. If not specified, the @@ -238,12 +244,24 @@ roughly a 1.5 fold speedup over the {verlet} style with SHAKE and a For non-biomolecular simulations, the {respa} style can be advantageous if there is a clear separation of time scales - fast and -slow modes in the simulation. Even a LJ system can benefit from -rRESPA if the interactions are divided by the inner, middle and outer -keywords. A 2-fold or more speedup can be obtained while maintaining -good energy conservation. In real units, for a pure LJ fluid at -liquid density, with a sigma of 3.0 angstroms, and epsilon of 0.1 -Kcal/mol, the following settings seem to work well: +slow modes in the simulation. For example, a system of slowly-moving +charged polymer chains could be setup as follows: + +timestep 4.0 +run_style respa 2 8 :pre + +This is two-level rRESPA with an 8x difference between the short and +long timesteps. The bonds, angles, dihedrals will be computed every +0.5 fs (assuming real units), while the pair and kspace interactions +will be computed once every 4 fs. These are the default settings for +each kind of interaction, so no additional keywords are necessary. + +Even a LJ system can benefit from rRESPA if the interactions are +divided by the inner, middle and outer keywords. A 2-fold or more +speedup can be obtained while maintaining good energy conservation. +In real units, for a pure LJ fluid at liquid density, with a sigma of +3.0 angstroms, and epsilon of 0.1 Kcal/mol, the following settings +seem to work well: timestep 36.0 run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3 :pre @@ -271,9 +289,9 @@ more instructions on how to use the accelerated styles effectively. [Restrictions:] The {verlet/split} style can only be used if LAMMPS was built with the -REPLICA package. Correspondingly the {respa/omp} style is available only -if the USER-OMP package was included. See the "Making LAMMPS"_Section_start.html#start_3 -section for more info on packages. +REPLICA package. Correspondingly the {respa/omp} style is available +only if the USER-OMP package was included. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info on packages. Whenever using rRESPA, the user should experiment with trade-offs in speed and accuracy for their system, and verify that they are @@ -287,6 +305,17 @@ conserving energy to adequate precision. run_style verlet :pre +For run_style respa, the default assignment of interactions +to rRESPA levels is as follows: + +bond forces = level 1 (innermost loop) +angle forces = same level as bond forces +dihedral forces = same level as angle forces +improper forces = same level as dihedral forces +pair forces = leven N (outermost level) +kspace forces = same level as pair forces +inner, middle, outer forces = no default :ul + :line :link(Tuckerman3) diff --git a/src/MAKE/MACHINES/Makefile.theta b/src/MAKE/MACHINES/Makefile.theta new file mode 100644 index 0000000000..cad5a03b42 --- /dev/null +++ b/src/MAKE/MACHINES/Makefile.theta @@ -0,0 +1,133 @@ +# knl = Flags for Knights Landing Xeon Phi Processor,Intel Compiler/MPI,MKL FFT +# module load perftools-base perftools +# make theta -j 8 +# pat_build -g mpi -u ./lmp_theta + +SHELL = /bin/sh + +# --------------------------------------------------------------------- +# compiler/linker settings +# specify flags and libraries needed for your compiler + +CC = CC -mkl +#OPTFLAGS = -O0 +OPTFLAGS = -xMIC-AVX512 -O3 -fp-model fast=2 -no-prec-div -qoverride-limits +CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -qno-offload \ + -fno-alias -ansi-alias -restrict $(OPTFLAGS) +#CCFLAGS += -DLMP_INTEL_NO_TBB +#CCFLAGS += -DLAMMPS_BIGBIG +#CCFLAGS += -D_USE_PAPI +#CCFLAGS += -D_USE_CRAYPAT_API +SHFLAGS = -fPIC +DEPFLAGS = -M + +LINK = $(CC) +LINKFLAGS = -g -qopenmp $(OPTFLAGS) +LINKFLAGS += -dynamic +LIB = +#LIB += -L${TBBROOT}/lib/intel64/gcc4.7 -ltbbmalloc +LIB += -ltbbmalloc +#LIB += /soft/debuggers/forge-7.0-2017-02-16/lib/64/libdmallocthcxx.a -zmuldefs +SIZE = size + +ARCHIVE = ar +ARFLAGS = -rc +SHLIBFLAGS = -shared + +# --------------------------------------------------------------------- +# LAMMPS-specific settings, all OPTIONAL +# specify settings for LAMMPS features you will use +# if you change any -D setting, do full re-compile after "make clean" + +# LAMMPS ifdef settings +# see possible settings in Section 2.2 (step 4) of manual + +LMP_INC = -DLAMMPS_GZIP #-DLAMMPS_JPEG + +# MPI library +# see discussion in Section 2.2 (step 5) of manual +# MPI wrapper compiler/linker can provide this info +# can point to dummy MPI library in src/STUBS as in Makefile.serial +# use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts +# INC = path for mpi.h, MPI compiler settings +# PATH = path for MPI library +# LIB = name of MPI library + +MPI_INC = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1 +MPI_PATH = +MPI_LIB = + +# FFT library +# see discussion in Section 2.2 (step 6) of manaul +# can be left blank to use provided KISS FFT library +# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings +# PATH = path for FFT library +# LIB = name of FFT library + +FFT_INC = -DFFT_MKL -DFFT_SINGLE +FFT_PATH = +FFT_LIB = -L$(MKLROOT)/lib/intel64/ -Wl,--start-group -lmkl_intel_ilp64 \ + -lmkl_intel_thread -lmkl_core -Wl,--end-group + +# JPEG and/or PNG library +# see discussion in Section 2.2 (step 7) of manual +# only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC +# INC = path(s) for jpeglib.h and/or png.h +# PATH = path(s) for JPEG library and/or PNG library +# LIB = name(s) of JPEG library and/or PNG library + +JPG_INC = +JPG_PATH = +JPG_LIB = + +# --------------------------------------------------------------------- +# build rules and dependencies +# do not edit this section + +include Makefile.package.settings +include Makefile.package + +EXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(PKG_SYSINC) +EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH) +EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB) + +# Path to src files + +vpath %.cpp .. +vpath %.h .. + +# Link target + +$(EXE): $(OBJ) + $(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE) + $(SIZE) $(EXE) + +# Library targets + +lib: $(OBJ) + $(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ) + +shlib: $(OBJ) + $(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o $(EXE) \ + $(OBJ) $(EXTRA_LIB) $(LIB) + +# Compilation rules + +%.o:%.cpp + $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< + +%.d:%.cpp + $(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@ + +%.o:%.cu + $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< + +# Individual dependencies + +depend : fastdep.exe $(SRC) + @./fastdep.exe $(EXTRA_INC) -- $^ > .depend || exit 1 + +fastdep.exe: ../DEPEND/fastdep.c + icc -O -o $@ $< + +sinclude .depend -- GitLab From 5d133214258d317ec80b8599eb24e007823732bf Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 11 Jul 2018 12:15:50 -0600 Subject: [PATCH 262/675] Standardize suffix paragraph in fix_enforce2d.txt --- doc/src/fix_enforce2d.txt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/doc/src/fix_enforce2d.txt b/doc/src/fix_enforce2d.txt index 01840254b6..4bbf41d25d 100644 --- a/doc/src/fix_enforce2d.txt +++ b/doc/src/fix_enforce2d.txt @@ -28,12 +28,13 @@ not move from their initial z coordinate. :line -Styles with a suffix are functionally the same as the corresponding -style without the suffix. They have been optimized to run faster, -depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed in "Section 5"_Section_accelerate.html +of the manual. The accelerated styles take the same arguments and +should produce the same results, except for round-off and precision +issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if -- GitLab From 71f699123374944f5620b2fb2b1b18104e7b7346 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 11 Jul 2018 12:39:04 -0600 Subject: [PATCH 263/675] Small tweaks to fix_enforce2d_kokkos --- src/KOKKOS/fix_enforce2d_kokkos.cpp | 14 +++++++------- src/KOKKOS/fix_enforce2d_kokkos.h | 15 ++------------- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/src/KOKKOS/fix_enforce2d_kokkos.cpp b/src/KOKKOS/fix_enforce2d_kokkos.cpp index 33aa39e2f6..26075b269c 100644 --- a/src/KOKKOS/fix_enforce2d_kokkos.cpp +++ b/src/KOKKOS/fix_enforce2d_kokkos.cpp @@ -34,7 +34,7 @@ FixEnforce2DKokkos::FixEnforce2DKokkos(LAMMPS *lmp, int narg, char * execution_space = ExecutionSpaceFromDevice::space; datamask_read = V_MASK | F_MASK | OMEGA_MASK | MASK_MASK - | TORQUE_MASK | ANGMOM_MASK; // | */ // MASK_MASK; + | TORQUE_MASK | ANGMOM_MASK; datamask_modify = V_MASK | F_MASK | OMEGA_MASK | TORQUE_MASK | ANGMOM_MASK; @@ -52,7 +52,6 @@ template void FixEnforce2DKokkos::post_force(int vflag) { atomKK->sync(execution_space,datamask_read); - atomKK->modified(execution_space,datamask_modify); v = atomKK->k_v.view(); f = atomKK->k_f.view(); @@ -120,16 +119,18 @@ void FixEnforce2DKokkos::post_force(int vflag) break; } default: - error->all(FLERR, "flag_mask outside of what it should be"); + error->all(FLERR, "Flag in fix_enforce2d_kokkos outside of what it should be"); } copymode = 0; - // Probably sync here again? - atomKK->sync(execution_space,datamask_read); atomKK->modified(execution_space,datamask_modify); - for (int m = 0; m < nfixlist; m++) + for (int m = 0; m < nfixlist; m++) { + atomKK->sync(flist[m]->execution_space,flist[m]->datamask_read); flist[m]->enforce2d(); + atomKK->modified(flist[m]->execution_space,flist[m]->datamask_modify); + } + } @@ -138,7 +139,6 @@ template void FixEnforce2DKokkos::post_force_item( int i ) const { if (mask[i] & groupbit){ - // x(i,2) = 0; // Enforce2d does not set x[2] to zero either... :/ v(i,2) = 0.0; f(i,2) = 0.0; diff --git a/src/KOKKOS/fix_enforce2d_kokkos.h b/src/KOKKOS/fix_enforce2d_kokkos.h index 1ed3cf3ef8..520a58de04 100644 --- a/src/KOKKOS/fix_enforce2d_kokkos.h +++ b/src/KOKKOS/fix_enforce2d_kokkos.h @@ -32,7 +32,6 @@ class FixEnforce2DKokkos : public FixEnforce2D { public: FixEnforce2DKokkos(class LAMMPS *, int, char **); // ~FixEnforce2DKokkos() {} - // void init(); void setup(int); void post_force(int); @@ -78,18 +77,8 @@ struct FixEnforce2DKokkosPostForceFunctor { /* ERROR/WARNING messages: -E: Illegal ... command +E: Flag in fix_enforce2d_kokkos outside of what it should be -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Cannot use fix enforce2d with 3d simulation - -Self-explanatory. - -E: Fix enforce2d must be defined after fix %s - -UNDOCUMENTED +LAMMPS developer-only error. */ -- GitLab From aa705f6122cf08da89538aaa81aae0d7f691f178 Mon Sep 17 00:00:00 2001 From: Marshall McDonnell Date: Wed, 11 Jul 2018 15:59:48 -0400 Subject: [PATCH 264/675] Added tail correction to fix gcmc --- src/MC/fix_gcmc.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/MC/fix_gcmc.cpp b/src/MC/fix_gcmc.cpp index 6221e6d52c..b40ce6a1b3 100644 --- a/src/MC/fix_gcmc.cpp +++ b/src/MC/fix_gcmc.cpp @@ -1589,6 +1589,7 @@ void FixGCMC::attempt_atomic_deletion_full() } } if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); double energy_after = energy_full(); if (random_equal->uniform() < @@ -1607,6 +1608,7 @@ void FixGCMC::attempt_atomic_deletion_full() if (q_flag) atom->q[i] = q_tmp; } if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); energy_stored = energy_before; } update_gas_atoms_list(); @@ -1700,6 +1702,7 @@ void FixGCMC::attempt_atomic_insertion_full() comm->borders(); if (triclinic) domain->lamda2x(atom->nlocal+atom->nghost); if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); double energy_after = energy_full(); if (energy_after < MAXENERGYTEST && @@ -1712,6 +1715,7 @@ void FixGCMC::attempt_atomic_insertion_full() atom->natoms--; if (proc_flag) atom->nlocal--; if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); energy_stored = energy_before; } update_gas_atoms_list(); @@ -1949,6 +1953,7 @@ void FixGCMC::attempt_molecule_deletion_full() } } if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); double energy_after = energy_full(); // energy_before corrected by energy_intra @@ -1981,6 +1986,7 @@ void FixGCMC::attempt_molecule_deletion_full() } } if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); } update_gas_atoms_list(); delete[] tmpmask; @@ -2151,6 +2157,7 @@ void FixGCMC::attempt_molecule_insertion_full() comm->borders(); if (triclinic) domain->lamda2x(atom->nlocal+atom->nghost); if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); double energy_after = energy_full(); // energy_after corrected by energy_intra @@ -2181,6 +2188,7 @@ void FixGCMC::attempt_molecule_insertion_full() } else i++; } if (force->kspace) force->kspace->qsum_qsq(); + if (force->pair->tail_flag) force->pair->reinit(); } update_gas_atoms_list(); } -- GitLab From 88d3233b66e68f54ac91cf4e3b3d4905d84d55e8 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Wed, 11 Jul 2018 14:02:30 -0600 Subject: [PATCH 265/675] replaced printf with fprintf as requested --- src/USER-SCAFACOS/fix_scafacos.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/USER-SCAFACOS/fix_scafacos.cpp b/src/USER-SCAFACOS/fix_scafacos.cpp index 6b89348a16..9446e3b60c 100644 --- a/src/USER-SCAFACOS/fix_scafacos.cpp +++ b/src/USER-SCAFACOS/fix_scafacos.cpp @@ -439,7 +439,7 @@ bool FixScafacos::check_result(FCSResult result, int comm_rank) { if (result) { - printf("ScaFaCoS Error: Caught error on task %d.\n", comm_rank); + fprintf(stdout,"ScaFaCoS Error: Caught error on task %d.\n", comm_rank); std::string err_msg; std::stringstream ss; @@ -447,7 +447,7 @@ bool FixScafacos::check_result(FCSResult result, int comm_rank) << fcs_result_get_message(result) << "\n"; err_msg = ss.str(); - error -> all(FLERR, err_msg.c_str()); + error -> one(FLERR, err_msg.c_str()); fcs_result_destroy(result); } return true; -- GitLab From 8cca44ae4541568df4a3dda4da902eabcb4a6138 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Wed, 11 Jul 2018 14:02:51 -0600 Subject: [PATCH 266/675] removed wrong error messages --- src/USER-SCAFACOS/fix_scafacos.h | 50 -------------------------------- 1 file changed, 50 deletions(-) diff --git a/src/USER-SCAFACOS/fix_scafacos.h b/src/USER-SCAFACOS/fix_scafacos.h index ffd4a94d32..c48f4d8388 100644 --- a/src/USER-SCAFACOS/fix_scafacos.h +++ b/src/USER-SCAFACOS/fix_scafacos.h @@ -111,54 +111,4 @@ class FixScafacos : public Fix { /* ERROR/WARNING messages: -E: Must use units metal with fix latte command - -UNDOCUMENTED - -E: Fix latte currently runs only in serial - -UNDOCUMENTED - -E: LAMMPS is linked against incompatible LATTE library - -UNDOCUMENTED - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Fix latte does not yet support a LAMMPS calculation of a Coulomb potential - -UNDOCUMENTED - -E: Could not find fix latte compute ID - -UNDOCUMENTED - -E: Fix latte compute ID does not compute pe/atom - -UNDOCUMENTED - -E: Fix latte requires 3d problem - -UNDOCUMENTED - -E: Fix latte cannot compute Coulomb potential - -UNDOCUMENTED - -E: Fix latte requires 3d simulation - -UNDOCUMENTED - -W: Fix latte should come after all other integration fixes - -UNDOCUMENTED - -E: Internal LATTE problem - -UNDOCUMENTED - */ -- GitLab From b31f0245d0abeea2cc851a07bf11e280abe65730 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 11 Jul 2018 15:55:16 -0600 Subject: [PATCH 267/675] 2 small bug fixes to load balancing --- doc/src/run_style.txt | 16 +++++++++++----- src/balance.cpp | 6 +++++- src/fix_balance.cpp | 13 ++++++++++--- src/fix_store.cpp | 2 -- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/doc/src/run_style.txt b/doc/src/run_style.txt index 3240344a45..7717ede86f 100644 --- a/doc/src/run_style.txt +++ b/doc/src/run_style.txt @@ -173,11 +173,17 @@ have their force go ramped to 0.0 so the overlap with the next regime compute forces for all pairs from 5.0 outward, with those from 5.0 to 6.0 having their value ramped in an inverse manner. -Only some pair potentials support the use of the {inner} and {middle} -and {outer} keywords. If not, only the {pair} keyword can be used -with that pair style, meaning all pairwise forces are computed at the -same rRESPA level. See the doc pages for individual pair styles for -details.i +Note that you can use {inner} and {outer} without using {middle} to +split the pairwise computations into two portions instead of three. +Unless you are using a very long pairwise cutoff, a 2-way split is +often faster than a 3-way split, since it avoids too much duplicate +computation of pairwise interactions near the intermediate cutoffs. + +Also note that only a few pair potentials support the use of the +{inner} and {middle} and {outer} keywords. If not, only the {pair} +keyword can be used with that pair style, meaning all pairwise forces +are computed at the same rRESPA level. See the doc pages for +individual pair styles for details. Another option for using pair potentials with rRESPA is with the {hybrid} keyword, which requires the use of the "pair_style hybrid or diff --git a/src/balance.cpp b/src/balance.cpp index 86deb55b47..7dd13e8766 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -350,13 +350,13 @@ void Balance::command(int narg, char **arg) domain->set_local_box(); // move particles to new processors via irregular() + // set disable = 0, so weights migrate with atoms for imbfinal calculation if (domain->triclinic) domain->x2lamda(atom->nlocal); Irregular *irregular = new Irregular(lmp); if (wtflag) fixstore->disable = 0; if (style == BISECTION) irregular->migrate_atoms(1,1,rcb->sendproc); else irregular->migrate_atoms(1); - if (wtflag) fixstore->disable = 1; delete irregular; if (domain->triclinic) domain->lamda2x(atom->nlocal); @@ -377,9 +377,11 @@ void Balance::command(int narg, char **arg) } // imbfinal = final imbalance + // set disable = 1, so weights no longer migrate with atoms double maxfinal; double imbfinal = imbalance_factor(maxfinal); + if (wtflag) fixstore->disable = 1; // stats output @@ -540,6 +542,8 @@ void Balance::weight_storage(char *prefix) fixstore = (FixStore *) modify->fix[modify->nfix-1]; } else fixstore = (FixStore *) modify->fix[ifix]; + // do not carry weights with atoms during normal atom migration + fixstore->disable = 1; if (prefix) delete [] fixargs[0]; diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp index b2f545c73f..e748e0ae31 100644 --- a/src/fix_balance.cpp +++ b/src/fix_balance.cpp @@ -114,6 +114,7 @@ FixBalance::FixBalance(LAMMPS *lmp, int narg, char **arg) : if (nevery) force_reneighbor = 1; lastbalance = -1; + next_reneighbor = -1; // compute initial outputs @@ -248,6 +249,10 @@ void FixBalance::pre_neighbor() if (!pending) return; imbfinal = balance->imbalance_factor(maxloadperproc); pending = 0; + + // set disable = 1, so weights no longer migrate with atoms + + if (wtflag) balance->fixstore->disable = 1; } /* ---------------------------------------------------------------------- @@ -275,21 +280,23 @@ void FixBalance::rebalance() // reset proc sub-domains // check and warn if any proc's subbox is smaller than neigh skin - // since may lead to lost atoms in exchange() + // since may lead to lost atoms in comm->exchange() if (domain->triclinic) domain->set_lamda_box(); domain->set_local_box(); domain->subbox_too_small_check(neighbor->skin); // move atoms to new processors via irregular() - // only needed if migrate_check() says an atom moves to far + // for non-RCB only needed if migrate_check() says an atom moves too far // else allow caller's comm->exchange() to do it + // set disable = 0, so weights migrate with atoms + // important to delay disable = 1 until after pre_neighbor imbfinal calc + // b/c atoms may migrate again in comm->exchange() if (domain->triclinic) domain->x2lamda(atom->nlocal); if (wtflag) balance->fixstore->disable = 0; if (lbstyle == BISECTION) irregular->migrate_atoms(0,1,sendproc); else if (irregular->migrate_check()) irregular->migrate_atoms(); - if (wtflag) balance->fixstore->disable = 1; if (domain->triclinic) domain->lamda2x(atom->nlocal); // invoke KSpace setup_grid() to adjust to new proc sub-domains diff --git a/src/fix_store.cpp b/src/fix_store.cpp index 3b1f3dca77..350e120972 100644 --- a/src/fix_store.cpp +++ b/src/fix_store.cpp @@ -154,8 +154,6 @@ void FixStore::reset_global(int nrow_caller, int ncol_caller) if (vecflag) memory->create(vstore,nrow,"fix/store:vstore"); else memory->create(astore,nrow,ncol,"fix/store:astore"); memory->create(rbuf,nrow*ncol+2,"fix/store:rbuf"); - - // printf("AAA HOW GET HERE\n"); } /* ---------------------------------------------------------------------- -- GitLab From 4ac47ba0372385431cadf37d68b890dbcdc1bf6e Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Thu, 12 Jul 2018 07:27:11 -0600 Subject: [PATCH 268/675] cmake/README.md: fix GPU_ARCH options --- cmake/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cmake/README.md b/cmake/README.md index 5419063f6d..bafd440a64 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -1421,11 +1421,11 @@ target API. CUDA SM architecture targeted by GPU package
      -
      sm20 (Fermi)
      -
      sm30 (Kepler)
      -
      sm50 (Maxwell)
      -
      sm60 (Pascal)
      -
      sm70 (Volta)
      +
      sm_20 (Fermi)
      +
      sm_30 (Kepler)
      +
      sm_50 (Maxwell)
      +
      sm_60 (Pascal)
      +
      sm_70 (Volta)
      -- GitLab From 21f749243a9e93da42a77a522af5801740c7daef Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Thu, 12 Jul 2018 10:21:06 -0500 Subject: [PATCH 269/675] Required newton on for pair styles body rounded/polygon and rounded/polyhedron --- doc/src/pair_body_rounded_polygon.txt | 3 --- doc/src/pair_body_rounded_polyhedron.txt | 3 --- src/BODY/pair_body_rounded_polygon.cpp | 4 ++++ src/BODY/pair_body_rounded_polyhedron.cpp | 4 ++++ 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 15817f10f8..5ef4a9104b 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -93,9 +93,6 @@ These pair styles are part of the BODY package. They are only enabled if LAMMPS was built with that package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. -NOTE: is there a newton on or off requirement for using this pair style? -If so, say something like this: - This pair style requires the "newton"_newton.html setting to be "on" for pair interactions. diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 29fa90d2cf..81c69fdd62 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -94,9 +94,6 @@ These pair styles are part of the BODY package. They are only enabled if LAMMPS was built with that package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. -NOTE: is there a newton on or off requirement for using this pair style? -If so, say something like this: - This pair style requires the "newton"_newton.html setting to be "on" for pair interactions. diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index c4c09fd677..14ef70f476 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -428,6 +428,10 @@ void PairBodyRoundedPolygon::init_style() "body style rounded/polygon"); bptr = (BodyRoundedPolygon *) avec->bptr; + if (force->newton_pair == 0) + error->all(FLERR,"Pair style body/rounded/polygon requires " + "newton pair on"); + if (comm->ghost_velocity == 0) error->all(FLERR,"Pair body/rounded/polygon requires " "ghost atoms store velocity"); diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 0d73d249b9..2ff209d609 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -400,6 +400,10 @@ void PairBodyRoundedPolyhedron::init_style() "body style rounded/polyhedron"); bptr = (BodyRoundedPolyhedron *) avec->bptr; + if (force->newton_pair == 0) + error->all(FLERR,"Pair style body/rounded/polyhedron requires " + "newton pair on"); + if (comm->ghost_velocity == 0) error->all(FLERR,"Pair body/rounded/polyhedron requires " "ghost atoms store velocity"); -- GitLab From 85511a4db8297dbc43c0d3eb6b69c47d48767a4c Mon Sep 17 00:00:00 2001 From: HaoZeke Date: Fri, 13 Jul 2018 00:44:03 +0530 Subject: [PATCH 270/675] docs: Fix sneaky unicode character Fixes the `pdf` target of the `Makefile`. --- doc/src/Developer/developer.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Developer/developer.tex b/doc/src/Developer/developer.tex index 9d9a93a53d..8852f44168 100644 --- a/doc/src/Developer/developer.tex +++ b/doc/src/Developer/developer.tex @@ -476,7 +476,7 @@ is the name of the class. This code allows LAMMPS to find your fix when it parses input script. In addition, your fix header must be included in the file "style\_fix.h". In case if you use LAMMPS make, this file is generated automatically - all files starting with prefix -fix\_ are included, so call your header the same way. Otherwise, donÕt +fix\_ are included, so call your header the same way. Otherwise, don't forget to add your include into "style\_fix.h". Let's write a simple fix which will print average velocity at the end -- GitLab From 16381a52b14aeeb47cc6eb0e2897019bc9c4a4df Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 12 Jul 2018 20:22:38 -0600 Subject: [PATCH 271/675] Fix crash in ReaxFF on GPUs --- src/KOKKOS/pair_reaxc_kokkos.cpp | 9 +++++---- src/KOKKOS/pair_reaxc_kokkos.h | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index bb9f8ab417..e2e2e6f6de 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -343,6 +343,7 @@ void PairReaxCKokkos::init_md() swa = control->nonb_low; swb = control->nonb_cut; + enobondsflag = control->enobondsflag; if (fabs(swa) > 0.01 ) error->warning(FLERR,"Warning: non-zero lower Taper-radius cutoff"); @@ -2272,12 +2273,12 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti2 0 || control->enobondsflag) + if (numbonds > 0 || enobondsflag) e_lp = p_lp2 * d_Delta_lp[i] * inv_expvd2; const F_FLOAT dElp = p_lp2 * inv_expvd2 + 75.0 * p_lp2 * d_Delta_lp[i] * expvd2 * inv_expvd2*inv_expvd2; const F_FLOAT CElp = dElp * d_dDelta_lp[i]; - if (numbonds > 0 || control->enobondsflag) + if (numbonds > 0 || enobondsflag) a_CdDelta[i] += CElp; if (eflag) ev.ereax[0] += e_lp; @@ -2314,7 +2315,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti2 0 || control->enobondsflag) + if (numbonds > 0 || enobondsflag) e_un = -p_ovun5 * (1.0 - exp_ovun6) * inv_exp_ovun2n * inv_exp_ovun8; if (eflag) ev.ereax[2] += e_un; @@ -2334,7 +2335,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti2 0 || control->enobondsflag) + if (numbonds > 0 || enobondsflag) a_CdDelta[i] += CEunder3; const int j_start = d_bo_first[i]; diff --git a/src/KOKKOS/pair_reaxc_kokkos.h b/src/KOKKOS/pair_reaxc_kokkos.h index 5175e274a8..5c96d44618 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.h +++ b/src/KOKKOS/pair_reaxc_kokkos.h @@ -427,7 +427,7 @@ class PairReaxCKokkos : public PairReaxC { friend void pair_virial_fdotr_compute(PairReaxCKokkos*); - int bocnt,hbcnt; + int bocnt,hbcnt,enobondsflag; typedef LR_lookup_table_kk LR_lookup_table_kk_DT; -- GitLab From d4f8940ff2367f81b0ae806ec3cd057cc69c6614 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 13 Jul 2018 07:40:06 -0600 Subject: [PATCH 272/675] Update command doc page for Kokkos enforce2d --- doc/src/Section_commands.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index 3dabdbeaa1..cc9757a88e 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -571,7 +571,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. "dt/reset"_fix_dt_reset.html, "efield"_fix_efield.html, "ehex"_fix_ehex.html, -"enforce2d"_fix_enforce2d.html, +"enforce2d (k)"_fix_enforce2d.html, "evaporate"_fix_evaporate.html, "external"_fix_external.html, "freeze"_fix_freeze.html, -- GitLab From cdf091f228651c291aa02e9a585d708073c47756 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Fri, 13 Jul 2018 08:37:29 -0600 Subject: [PATCH 273/675] fixed an error in the scafacos example (added missing keyword tolerance) --- examples/scafacos/in.scafacos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/scafacos/in.scafacos b/examples/scafacos/in.scafacos index 2a7e830110..ae6b8e0193 100644 --- a/examples/scafacos/in.scafacos +++ b/examples/scafacos/in.scafacos @@ -14,7 +14,7 @@ neighbor 1.0 bin neigh_modify delay 0 # using the fmm solver with a tolerance in energy of 10^-3 -fix 1 all scafacos fmm energy 0.001 +fix 1 all scafacos fmm tolerance energy 0.001 timestep 0.005 -- GitLab From 6cfdcd1000360cbd1e53f319e9b51e2040505e4f Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Fri, 13 Jul 2018 08:49:47 -0600 Subject: [PATCH 274/675] removed custom error message, information is added to error->one() call --- src/USER-SCAFACOS/fix_scafacos.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/USER-SCAFACOS/fix_scafacos.cpp b/src/USER-SCAFACOS/fix_scafacos.cpp index 9446e3b60c..f82b80dd5f 100644 --- a/src/USER-SCAFACOS/fix_scafacos.cpp +++ b/src/USER-SCAFACOS/fix_scafacos.cpp @@ -439,7 +439,6 @@ bool FixScafacos::check_result(FCSResult result, int comm_rank) { if (result) { - fprintf(stdout,"ScaFaCoS Error: Caught error on task %d.\n", comm_rank); std::string err_msg; std::stringstream ss; @@ -447,7 +446,7 @@ bool FixScafacos::check_result(FCSResult result, int comm_rank) << fcs_result_get_message(result) << "\n"; err_msg = ss.str(); - error -> one(FLERR, err_msg.c_str()); + error->one(FLERR, err_msg.c_str()); fcs_result_destroy(result); } return true; -- GitLab From bf5fbc92dfb2178ef620bb03876817da43a2be4d Mon Sep 17 00:00:00 2001 From: Sergey Lishchuk Date: Fri, 13 Jul 2018 20:18:53 +0100 Subject: [PATCH 275/675] Updated documentation and source --- doc/src/JPG/pair_atm_dia.jpg | Bin 0 -> 31541 bytes doc/src/angle_dipole.txt | 17 ++-- doc/src/fix_langevin_spin.txt | 4 +- doc/src/fix_nve_spin.txt | 2 +- doc/src/pair_atm.txt | 131 +++++++++++++++++++++++------- doc/src/pair_spin_dmi.txt | 2 +- doc/src/pair_spin_exchange.txt | 2 +- doc/src/pair_spin_magelec.txt | 2 +- doc/src/pair_spin_neel.txt | 2 +- doc/src/run_style.txt | 77 +++++++++++++----- doc/src/set.txt | 17 ++++ examples/SPIN/README | 20 +++++ lib/gpu/Nvidia.makefile_multi | 46 ++++++++++- src/MAKE/MACHINES/Makefile.theta | 133 +++++++++++++++++++++++++++++++ src/MANYBODY/pair_atm.cpp | 21 +++-- src/MANYBODY/pair_atm.h | 10 +-- src/SPIN/atom_vec_spin.cpp | 10 +-- src/SPIN/compute_spin.cpp | 4 +- src/SPIN/fix_langevin_spin.cpp | 8 +- src/SPIN/fix_nve_spin.cpp | 13 +-- src/SPIN/fix_precession_spin.cpp | 10 +-- src/SPIN/pair_spin.cpp | 8 +- src/SPIN/pair_spin_dmi.cpp | 8 +- src/SPIN/pair_spin_exchange.cpp | 8 +- src/SPIN/pair_spin_magelec.cpp | 14 ++-- src/SPIN/pair_spin_neel.cpp | 8 +- src/balance.cpp | 6 +- src/fix_balance.cpp | 13 ++- src/fix_store.cpp | 2 - src/reset_ids.cpp | 16 +++- 30 files changed, 480 insertions(+), 134 deletions(-) create mode 100644 doc/src/JPG/pair_atm_dia.jpg create mode 100644 examples/SPIN/README create mode 100644 src/MAKE/MACHINES/Makefile.theta diff --git a/doc/src/JPG/pair_atm_dia.jpg b/doc/src/JPG/pair_atm_dia.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fd8edc5e676ee9973dd4ca1aced98b641c4157c7 GIT binary patch literal 31541 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 literal 0 HcmV?d00001 diff --git a/doc/src/angle_dipole.txt b/doc/src/angle_dipole.txt index d91f260d51..34cc8c153c 100644 --- a/doc/src/angle_dipole.txt +++ b/doc/src/angle_dipole.txt @@ -96,16 +96,17 @@ USER-MISC package. See the "Making LAMMPS"_Section_start.html#start_2_3 section for more info on packages. NOTE: In the "Angles" section of the data file, the atom ID 'j' -corresponding to the dipole to restrain must come before the atom ID -of the reference atom 'i'. A third atom ID 'k' must also be provided, -although 'k' is just a 'dummy' atom which can be any atom; it may be -useful to choose a convention (e.g., 'k'='i') and adhere to it. For -example, if ID=1 for the dipolar atom to restrain, and ID=2 for the -reference atom, the corresponding line in the "Angles" section of the -data file would read: X X 1 2 2 +defining the direction of the dipole vector to restrain must come +before the atom ID of the reference atom 'i'. A third atom ID 'k' must +also be provided to comply with the requirement of a valid angle +definition. This atom ID k should be chosen to be that of an atom +bonded to atom 'i' to avoid errors with "lost angle atoms" when running +in parallel. Since the LAMMPS code checks for valid angle definitions, +cannot use the same atom ID of either 'i' or 'j' (this was allowed +and recommended with older LAMMPS versions). The "newton" command for intramolecular interactions must be "on" -(which is the default). +(which is the default except when using some accelerator packages). This angle style should not be used with SHAKE. diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index 51f085ebdc..b089cd7f58 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -98,5 +98,5 @@ integration fix (e.g. {fix nve/spin}). [(Mayergoyz)] I.D. Mayergoyz, G. Bertotti, C. Serpico (2009). Elsevier (2009) :link(Tranchida2) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -arXiv preprint arXiv:1801.10233, (2018). +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, +Journal of Computational Physics, (2018). diff --git a/doc/src/fix_nve_spin.txt b/doc/src/fix_nve_spin.txt index 6ccebcebf6..f4b38c270b 100644 --- a/doc/src/fix_nve_spin.txt +++ b/doc/src/fix_nve_spin.txt @@ -73,4 +73,4 @@ instead of "array" is also valid. :link(Tranchida1) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -arXiv preprint arXiv:1801.10233, (2018). +Journal of Computational Physics, (2018). diff --git a/doc/src/pair_atm.txt b/doc/src/pair_atm.txt index 48260c161a..01bbfa7a78 100644 --- a/doc/src/pair_atm.txt +++ b/doc/src/pair_atm.txt @@ -10,16 +10,21 @@ pair_style atm command :h3 [Syntax:] -pair_style atm args = cutoff :pre +pair_style atm cutoff :pre + +cutoff = global cutoff for 3-body interactions (distance units) :ul [Examples:] pair_style 2.5 pair_coeff * * * 0.072 :pre -pair_style hybrid/overlay lj/cut 6.5 atm 2.5 -pair_coeff * * lj/cut 1.0 1.0 -pair_coeff * * atm * 0.072 :pre +pair_style hybrid/overlay lj/cut 6.5 atm 2.5 +pair_coeff * * lj/cut 1.0 1.0 +pair_coeff 1 1 atm 1 0.064 +pair_coeff 1 1 atm 2 0.080 +pair_coeff 1 2 atm 2 0.100 +pair_coeff 2 2 atm 2 0.125 :pre [Description:] @@ -28,36 +33,104 @@ potential for the energy E of a system of atoms as :c,image(Eqs/pair_atm.jpg) -where r12, r23 and r31 are the distances between the atoms, -gamma1 is included by the sides r12 and r31 -with similar definitions for gamma2 and gamma3, -nu is the three-body interaction strength (energy times distance^9 units). +where nu is the three-body interaction strength, +and the distances between pairs of atoms r12, r23 and r31 +and the angles gamma1, gamma2 and gamma3 +are shown at the diagram: + +:c,image(JPG/pair_atm_dia.jpg) + +There is no \"central\" atom, the interaction is symmetric with respect +to permutation of atom types. + +The {atm} potential is typically used in combination with a two-body +potential using the "pair_style hybrid/overlay"_pair_hybrid.html +command as in the example above. + +The potential is calculated if all three atoms are in the +"neighbor list"_neighbor.html +and the distances between atoms satisfy r12 r23 r31 > cutoff^3. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the restart files read by the +"read_restart"_read_restart.html commands: + +K - the type of the third atom +nu (energy/distance^9 units) :ul + +For a single-atom type simulation, only a single entry is required, eg + +pair_coeff 1 1 1 nu :pre + +where all three atoms are of type 1. +For a two-atom type simulation, more pair_coeff commands can be used. +ATM interaction is symmetric with respect to permutation of atoms, +it is necessary to provide pair_coeff command for one permutation. +For example, the command + +pair_coeff 1 1 2 nu :pre -The {atm} is typically used in compination with some two-body potential -using "hybrid/overlay"_pair_hybrid.html style as in an example above. +also implies -The calculations are not undertaken if the distances between atoms satisfy -r12 r23 r31 > curoff^3. Virtual cutoff distance based on a user defined -tolerance tol is not used. +pair_coeff 1 2 1 nu +pair_coeff 2 1 1 nu :pre -The Axilrod-Teller-Muto potential file must contain entries for all the -elements listed in the pair_coeff command. It can also contain -entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries. +Thus, to specify all ATM interactions between two atom types (eg 1 and 2) +it is sufficient to provide four pair_coeff commands, eg: -For a single-element simulation, only a single entry is required -(e.g. 1 1 1). For a two-element simulation, the file must contain 4 -entries (eg. 1 1 1, 1 1 2, 1 2 2, 2 2 2), that -specify ATM parameters for all combinations of the two elements -interacting in three-body configurations. Thus for 3 elements, 10 -entries would be required, etc. +pair_coeff 1 1 1 nu1 +pair_coeff 1 1 2 nu2 +pair_coeff 1 2 2 nu3 +pair_coeff 2 2 2 nu4 :pre + +For 3 atom types, 10 pair_coeff commands +(eg 111, 112, 113, 122, 123, 133, 222, 223, 233, 333) +will describe all possible ATM interactions, etc. +It is not necessary to provide the pair_coeff commands for interactions +of all combinations of atom types: if some combination is not defined then +there is no ATM interaction for this combination and all its permutations. + +-------------------- + +[Steve:] + +I think a better syntax for the pair coeff command might be this: + +pair_coeff I J v1 v2 ... vN + +when 1,2,...N are the number of atom types defined. +Then there be one pair_coeff command for each type pair, +the same syntax as all other potentials in LAMMPS use. + +[Sergey:] + +The reason for my original pair_coeff command syntax is that +I would like to reserve further arguments for possible extension of +ATM potential in LAMMPS to further terms in the multipole expansion of +many-body dispersion interaction. +For example, the next term would be dipole-dipole-quadrupole, it may be +activated if the next argument of pair_coeff is present +without breaking backward compatibility. + +Also, the command you propose +(i) will not account that the value of nu for different permutations +of atom types is the same, and +(ii) will make the numbering of atom types messy since there is +no requirement to supply the values of nu for all triplets. + +-------------------- :line -[Shift, table, tail correction, rRESPA info]: +[Mixing, shift, table, tail correction, restart, rRESPA info]: + +This pair styles do not support the "pair_modify"_pair_modify.html +mix, shift, table, and tail options. -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. +This pair style writes its information to "binary restart +files"_restart.html, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. This pair style can only be used via the {pair} keyword of the "run_style respa"_run_style.html command. It does not support the @@ -68,8 +141,8 @@ This pair style can only be used via the {pair} keyword of the [Restrictions:] This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See -the "Making LAMMPS"_Section_start.html#start_3 section for more info. +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. [Related commands:] @@ -82,4 +155,4 @@ the "Making LAMMPS"_Section_start.html#start_3 section for more info. :link(Axilrod) [(Axilrod)] Axilrod and Teller, J Chem Phys, 11, 299 (1943); -Muto, Nippon Sugaku Butsuri Gakkwaishi 17, 629 (1943). +Muto, Nippon Sugaku-Buturigakkwaishi 17, 629 (1943). diff --git a/doc/src/pair_spin_dmi.txt b/doc/src/pair_spin_dmi.txt index 9fe53df18a..24877906f3 100644 --- a/doc/src/pair_spin_dmi.txt +++ b/doc/src/pair_spin_dmi.txt @@ -63,4 +63,4 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :link(Tranchida5) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -arXiv preprint arXiv:1801.10233, (2018). +Journal of Computational Physics, (2018). diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index 97b6d0b34f..ad3357cb5e 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -79,4 +79,4 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :link(Tranchida3) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -arXiv preprint arXiv:1801.10233, (2018). +Journal of Computational Physics, (2018). diff --git a/doc/src/pair_spin_magelec.txt b/doc/src/pair_spin_magelec.txt index 0185a5abb2..8ba24c46af 100644 --- a/doc/src/pair_spin_magelec.txt +++ b/doc/src/pair_spin_magelec.txt @@ -70,4 +70,4 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :link(Tranchida4) [(Tranchida)] Tranchida, Plimpton, Thibaudeau, and Thompson, -arXiv preprint arXiv:1801.10233, (2018). +Journal of Computational Physics, (2018). diff --git a/doc/src/pair_spin_neel.txt b/doc/src/pair_spin_neel.txt index f7c9608a93..8551f8d636 100644 --- a/doc/src/pair_spin_neel.txt +++ b/doc/src/pair_spin_neel.txt @@ -78,4 +78,4 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :link(Tranchida6) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -arXiv preprint arXiv:1801.10233, (2018). +Journal of Computational Physics, (2018). diff --git a/doc/src/run_style.txt b/doc/src/run_style.txt index ba836a07dd..7717ede86f 100644 --- a/doc/src/run_style.txt +++ b/doc/src/run_style.txt @@ -138,13 +138,19 @@ iterations of level 1 for a single iteration of level 2, N2 is the iterations of level 2 per iteration of level 3, etc. N-1 looping parameters must be specified. -The "timestep"_timestep.html command sets the timestep for the -outermost rRESPA level. Thus if the example command above for a -4-level rRESPA had an outer timestep of 4.0 fmsec, the inner timestep -would be 8x smaller or 0.5 fmsec. All other LAMMPS commands that -specify number of timesteps (e.g. "neigh_modify"_neigh_modify.html -parameters, "dump"_dump.html every N timesteps, etc) refer to the -outermost timesteps. +Thus with a 4-level respa setting of "2 2 2" for the 3 loop factors, +you could choose to have bond interactions computed 8x per large +timestep, angle interactions computed 4x, pair interactions computed +2x, and long-range interactions once per large timestep. + +The "timestep"_timestep.html command sets the large timestep for the +outermost rRESPA level. Thus if the 3 loop factors are "2 2 2" for +4-level rRESPA, and the outer timestep is set to 4.0 fmsec, then the +inner timestep would be 8x smaller or 0.5 fmsec. All other LAMMPS +commands that specify number of timesteps (e.g. "thermo"_thermo.html +for thermo output every N steps, "neigh_modify +delay/every"_neigh_modify.html parameters, "dump"_dump.html every N +steps, etc) refer to the outermost timesteps. The rRESPA keywords enable you to specify at what level of the hierarchy various forces will be computed. If not specified, the @@ -167,11 +173,17 @@ have their force go ramped to 0.0 so the overlap with the next regime compute forces for all pairs from 5.0 outward, with those from 5.0 to 6.0 having their value ramped in an inverse manner. -Only some pair potentials support the use of the {inner} and {middle} -and {outer} keywords. If not, only the {pair} keyword can be used -with that pair style, meaning all pairwise forces are computed at the -same rRESPA level. See the doc pages for individual pair styles for -details.i +Note that you can use {inner} and {outer} without using {middle} to +split the pairwise computations into two portions instead of three. +Unless you are using a very long pairwise cutoff, a 2-way split is +often faster than a 3-way split, since it avoids too much duplicate +computation of pairwise interactions near the intermediate cutoffs. + +Also note that only a few pair potentials support the use of the +{inner} and {middle} and {outer} keywords. If not, only the {pair} +keyword can be used with that pair style, meaning all pairwise forces +are computed at the same rRESPA level. See the doc pages for +individual pair styles for details. Another option for using pair potentials with rRESPA is with the {hybrid} keyword, which requires the use of the "pair_style hybrid or @@ -238,12 +250,24 @@ roughly a 1.5 fold speedup over the {verlet} style with SHAKE and a For non-biomolecular simulations, the {respa} style can be advantageous if there is a clear separation of time scales - fast and -slow modes in the simulation. Even a LJ system can benefit from -rRESPA if the interactions are divided by the inner, middle and outer -keywords. A 2-fold or more speedup can be obtained while maintaining -good energy conservation. In real units, for a pure LJ fluid at -liquid density, with a sigma of 3.0 angstroms, and epsilon of 0.1 -Kcal/mol, the following settings seem to work well: +slow modes in the simulation. For example, a system of slowly-moving +charged polymer chains could be setup as follows: + +timestep 4.0 +run_style respa 2 8 :pre + +This is two-level rRESPA with an 8x difference between the short and +long timesteps. The bonds, angles, dihedrals will be computed every +0.5 fs (assuming real units), while the pair and kspace interactions +will be computed once every 4 fs. These are the default settings for +each kind of interaction, so no additional keywords are necessary. + +Even a LJ system can benefit from rRESPA if the interactions are +divided by the inner, middle and outer keywords. A 2-fold or more +speedup can be obtained while maintaining good energy conservation. +In real units, for a pure LJ fluid at liquid density, with a sigma of +3.0 angstroms, and epsilon of 0.1 Kcal/mol, the following settings +seem to work well: timestep 36.0 run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3 :pre @@ -271,9 +295,9 @@ more instructions on how to use the accelerated styles effectively. [Restrictions:] The {verlet/split} style can only be used if LAMMPS was built with the -REPLICA package. Correspondingly the {respa/omp} style is available only -if the USER-OMP package was included. See the "Making LAMMPS"_Section_start.html#start_3 -section for more info on packages. +REPLICA package. Correspondingly the {respa/omp} style is available +only if the USER-OMP package was included. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info on packages. Whenever using rRESPA, the user should experiment with trade-offs in speed and accuracy for their system, and verify that they are @@ -287,6 +311,17 @@ conserving energy to adequate precision. run_style verlet :pre +For run_style respa, the default assignment of interactions +to rRESPA levels is as follows: + +bond forces = level 1 (innermost loop) +angle forces = same level as bond forces +dihedral forces = same level as angle forces +improper forces = same level as dihedral forces +pair forces = leven N (outermost level) +kspace forces = same level as pair forces +inner, middle, outer forces = no default :ul + :line :link(Tuckerman3) diff --git a/doc/src/set.txt b/doc/src/set.txt index 4757d1c575..d05660dc42 100644 --- a/doc/src/set.txt +++ b/doc/src/set.txt @@ -17,6 +17,7 @@ ID = atom ID range or type range or mol ID range or group ID or region ID :l one or more keyword/value pairs may be appended :l keyword = {type} or {type/fraction} or {mol} or {x} or {y} or {z} or \ {charge} or {dipole} or {dipole/random} or {quat} or \ + {spin} or {spin/random} or {quat} or \ {quat/random} or {diameter} or {shape} or \ {length} or {tri} or {theta} or {theta/random} or \ {angmom} or {omega} or \ @@ -43,6 +44,13 @@ keyword = {type} or {type/fraction} or {mol} or {x} or {y} or {z} or \ {dipole/random} value = seed Dlen seed = random # seed (positive integer) for dipole moment orientations Dlen = magnitude of dipole moment (dipole units) + {spin} values = g x y z + g = magnitude of magnetic spin vector (in Bohr magneton's unit) + x,y,z = orientation of magnetic spin vector + any of x,y,z can be an atom-style variable (see below) + {spin/random} value = seed Dlen + seed = random # seed (positive integer) for magnetic spin orientations + Dlen = magnitude of magnetic spin vector (in Bohr magneton's unit) {quat} values = a b c theta a,b,c = unit vector to rotate particle around via right-hand rule theta = rotation angle (degrees) @@ -232,6 +240,15 @@ the orientation of a particular atom is the same, regardless of how many processors are being used. This keyword does not allow use of an atom-style variable. +Keyword {spin} uses the specified g value to set the magnitude of the +magnetic spin vectors, and the x,y,z values as components of a vector +to set as the orientation of the magnetic spin vectors of the selected +atoms. + +Keyword {spin/random} randomizes the orientation of the magnetic spin +vectors for the selected atoms and sets the magnitude of each to the +specified {Dlen} value. + Keyword {quat} uses the specified values to create a quaternion (4-vector) that represents the orientation of the selected atoms. The particles must define a quaternion for their orientation diff --git a/examples/SPIN/README b/examples/SPIN/README new file mode 100644 index 0000000000..5ad252e7f2 --- /dev/null +++ b/examples/SPIN/README @@ -0,0 +1,20 @@ +This directory contains examples and applications of the SPIN package +===================================================================== + +- the iron, cobalt_hcp, cobalt_fcc and nickel directories provide +examples of spin-lattice calculations. + +- the bfo repository provides an example of spin dynamics calculation +performed on a fixed lattice, and applied to the multiferroic +material bismuth-oxide. + +- the read_restart directory provides examples allowing to write or +read data files, and restart magneto-mechanical simulations. + +- vizualization of the dump files can be achieved using Ovito or +VMD. See the vmd repository for help vizualizing results with VMD. + +** Note, the aim of this repository is mainly to provide users with +examples. Better values and tuning of the magnetic and mechanical +interactions can be achieved for more accurate materials +simulations. ** diff --git a/lib/gpu/Nvidia.makefile_multi b/lib/gpu/Nvidia.makefile_multi index 5fb35cce3c..94cfd4af6b 100644 --- a/lib/gpu/Nvidia.makefile_multi +++ b/lib/gpu/Nvidia.makefile_multi @@ -79,7 +79,10 @@ OBJS = $(OBJ_DIR)/lal_atom.o $(OBJ_DIR)/lal_ans.o \ $(OBJ_DIR)/lal_lj_cubic.o $(OBJ_DIR)/lal_lj_cubic_ext.o \ $(OBJ_DIR)/lal_ufm.o $(OBJ_DIR)/lal_ufm_ext.o \ $(OBJ_DIR)/lal_dipole_long_lj.o $(OBJ_DIR)/lal_dipole_long_lj_ext.o \ - $(OBJ_DIR)/lal_lj_expand_coul_long.o $(OBJ_DIR)/lal_lj_expand_coul_long_ext.o + $(OBJ_DIR)/lal_lj_expand_coul_long.o $(OBJ_DIR)/lal_lj_expand_coul_long_ext.o \ + $(OBJ_DIR)/lal_coul_long_cs.o $(OBJ_DIR)/lal_coul_long_cs_ext.o \ + $(OBJ_DIR)/lal_born_coul_long_cs.o $(OBJ_DIR)/lal_born_coul_long_cs_ext.o \ + $(OBJ_DIR)/lal_born_coul_wolf_cs.o $(OBJ_DIR)/lal_born_coul_wolf_cs_ext.o CBNS = $(OBJ_DIR)/device.cubin $(OBJ_DIR)/device_cubin.h \ $(OBJ_DIR)/atom.cubin $(OBJ_DIR)/atom_cubin.h \ @@ -137,7 +140,10 @@ CBNS = $(OBJ_DIR)/device.cubin $(OBJ_DIR)/device_cubin.h \ $(OBJ_DIR)/lj_cubic.cubin $(OBJ_DIR)/lj_cubic_cubin.h \ $(OBJ_DIR)/ufm.cubin $(OBJ_DIR)/ufm_cubin.h \ $(OBJ_DIR)/dipole_long_lj.cubin $(OBJ_DIR)/dipole_long_lj_cubin.h \ - $(OBJ_DIR)/lj_expand_coul_long.cubin $(OBJ_DIR)/lj_expand_coul_long_cubin.h + $(OBJ_DIR)/lj_expand_coul_long.cubin $(OBJ_DIR)/lj_expand_coul_long_cubin.h \ + $(OBJ_DIR)/coul_long_cs.cubin $(OBJ_DIR)/coul_long_cs_cubin.h \ + $(OBJ_DIR)/born_coul_long_cs.cubin $(OBJ_DIR)/born_coul_long_cs_cubin.h \ + $(OBJ_DIR)/born_coul_wolf_cs.cubin $(OBJ_DIR)/born_coul_wolf_cs_cubin.h all: $(OBJ_DIR) $(GPU_LIB) $(EXECS) @@ -837,6 +843,42 @@ $(OBJ_DIR)/lal_lj_expand_coul_long.o: $(ALL_H) lal_lj_expand_coul_long.h lal_lj_ $(OBJ_DIR)/lal_lj_expand_coul_long_ext.o: $(ALL_H) lal_lj_expand_coul_long.h lal_lj_expand_coul_long_ext.cpp lal_base_charge.h $(CUDR) -o $@ -c lal_lj_expand_coul_long_ext.cpp -I$(OBJ_DIR) +$(OBJ_DIR)/coul_long_cs.cubin: lal_coul_long_cs.cu lal_precision.h lal_preprocessor.h + $(CUDA) --fatbin -DNV_KERNEL -o $@ lal_coul_long_cs.cu + +$(OBJ_DIR)/coul_long_cs_cubin.h: $(OBJ_DIR)/coul_long_cs.cubin $(OBJ_DIR)/coul_long_cs.cubin + $(BIN2C) -c -n coul_long_cs $(OBJ_DIR)/coul_long_cs.cubin > $(OBJ_DIR)/coul_long_cs_cubin.h + +$(OBJ_DIR)/lal_coul_long_cs.o: $(ALL_H) lal_coul_long_cs.h lal_coul_long_cs.cpp $(OBJ_DIR)/coul_long_cs_cubin.h $(OBJ_DIR)/lal_base_charge.o $(OBJ_DIR)/lal_coul_long.o + $(CUDR) -o $@ -c lal_coul_long_cs.cpp -I$(OBJ_DIR) + +$(OBJ_DIR)/lal_coul_long_cs_ext.o: $(ALL_H) lal_coul_long_cs.h lal_coul_long_cs_ext.cpp lal_coul_long.h + $(CUDR) -o $@ -c lal_coul_long_cs_ext.cpp -I$(OBJ_DIR) + +$(OBJ_DIR)/born_coul_long_cs.cubin: lal_born_coul_long_cs.cu lal_precision.h lal_preprocessor.h + $(CUDA) --fatbin -DNV_KERNEL -o $@ lal_born_coul_long_cs.cu + +$(OBJ_DIR)/born_coul_long_cs_cubin.h: $(OBJ_DIR)/born_coul_long_cs.cubin $(OBJ_DIR)/born_coul_long_cs.cubin + $(BIN2C) -c -n born_coul_long_cs $(OBJ_DIR)/born_coul_long_cs.cubin > $(OBJ_DIR)/born_coul_long_cs_cubin.h + +$(OBJ_DIR)/lal_born_coul_long_cs.o: $(ALL_H) lal_born_coul_long_cs.h lal_born_coul_long_cs.cpp $(OBJ_DIR)/born_coul_long_cs_cubin.h $(OBJ_DIR)/lal_base_charge.o $(OBJ_DIR)/lal_born_coul_long.o + $(CUDR) -o $@ -c lal_born_coul_long_cs.cpp -I$(OBJ_DIR) + +$(OBJ_DIR)/lal_born_coul_long_cs_ext.o: $(ALL_H) lal_born_coul_long_cs.h lal_born_coul_long_cs_ext.cpp lal_born_coul_long.h + $(CUDR) -o $@ -c lal_born_coul_long_cs_ext.cpp -I$(OBJ_DIR) + +$(OBJ_DIR)/born_coul_wolf_cs.cubin: lal_born_coul_wolf_cs.cu lal_precision.h lal_preprocessor.h + $(CUDA) --fatbin -DNV_KERNEL -o $@ lal_born_coul_wolf_cs.cu + +$(OBJ_DIR)/born_coul_wolf_cs_cubin.h: $(OBJ_DIR)/born_coul_wolf_cs.cubin $(OBJ_DIR)/born_coul_wolf_cs.cubin + $(BIN2C) -c -n born_coul_wolf_cs $(OBJ_DIR)/born_coul_wolf_cs.cubin > $(OBJ_DIR)/born_coul_wolf_cs_cubin.h + +$(OBJ_DIR)/lal_born_coul_wolf_cs.o: $(ALL_H) lal_born_coul_wolf_cs.h lal_born_coul_wolf_cs.cpp $(OBJ_DIR)/born_coul_wolf_cs_cubin.h $(OBJ_DIR)/lal_base_charge.o $(OBJ_DIR)/lal_born_coul_wolf.o + $(CUDR) -o $@ -c lal_born_coul_wolf_cs.cpp -I$(OBJ_DIR) + +$(OBJ_DIR)/lal_born_coul_wolf_cs_ext.o: $(ALL_H) lal_born_coul_wolf_cs.h lal_born_coul_wolf_cs_ext.cpp lal_born_coul_wolf.h + $(CUDR) -o $@ -c lal_born_coul_wolf_cs_ext.cpp -I$(OBJ_DIR) + $(BIN_DIR)/nvc_get_devices: ./geryon/ucl_get_devices.cpp $(NVD_H) $(CUDR) -o $@ ./geryon/ucl_get_devices.cpp -DUCL_CUDADR $(CUDA_LIB) -lcuda diff --git a/src/MAKE/MACHINES/Makefile.theta b/src/MAKE/MACHINES/Makefile.theta new file mode 100644 index 0000000000..cad5a03b42 --- /dev/null +++ b/src/MAKE/MACHINES/Makefile.theta @@ -0,0 +1,133 @@ +# knl = Flags for Knights Landing Xeon Phi Processor,Intel Compiler/MPI,MKL FFT +# module load perftools-base perftools +# make theta -j 8 +# pat_build -g mpi -u ./lmp_theta + +SHELL = /bin/sh + +# --------------------------------------------------------------------- +# compiler/linker settings +# specify flags and libraries needed for your compiler + +CC = CC -mkl +#OPTFLAGS = -O0 +OPTFLAGS = -xMIC-AVX512 -O3 -fp-model fast=2 -no-prec-div -qoverride-limits +CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -qno-offload \ + -fno-alias -ansi-alias -restrict $(OPTFLAGS) +#CCFLAGS += -DLMP_INTEL_NO_TBB +#CCFLAGS += -DLAMMPS_BIGBIG +#CCFLAGS += -D_USE_PAPI +#CCFLAGS += -D_USE_CRAYPAT_API +SHFLAGS = -fPIC +DEPFLAGS = -M + +LINK = $(CC) +LINKFLAGS = -g -qopenmp $(OPTFLAGS) +LINKFLAGS += -dynamic +LIB = +#LIB += -L${TBBROOT}/lib/intel64/gcc4.7 -ltbbmalloc +LIB += -ltbbmalloc +#LIB += /soft/debuggers/forge-7.0-2017-02-16/lib/64/libdmallocthcxx.a -zmuldefs +SIZE = size + +ARCHIVE = ar +ARFLAGS = -rc +SHLIBFLAGS = -shared + +# --------------------------------------------------------------------- +# LAMMPS-specific settings, all OPTIONAL +# specify settings for LAMMPS features you will use +# if you change any -D setting, do full re-compile after "make clean" + +# LAMMPS ifdef settings +# see possible settings in Section 2.2 (step 4) of manual + +LMP_INC = -DLAMMPS_GZIP #-DLAMMPS_JPEG + +# MPI library +# see discussion in Section 2.2 (step 5) of manual +# MPI wrapper compiler/linker can provide this info +# can point to dummy MPI library in src/STUBS as in Makefile.serial +# use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts +# INC = path for mpi.h, MPI compiler settings +# PATH = path for MPI library +# LIB = name of MPI library + +MPI_INC = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1 +MPI_PATH = +MPI_LIB = + +# FFT library +# see discussion in Section 2.2 (step 6) of manaul +# can be left blank to use provided KISS FFT library +# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings +# PATH = path for FFT library +# LIB = name of FFT library + +FFT_INC = -DFFT_MKL -DFFT_SINGLE +FFT_PATH = +FFT_LIB = -L$(MKLROOT)/lib/intel64/ -Wl,--start-group -lmkl_intel_ilp64 \ + -lmkl_intel_thread -lmkl_core -Wl,--end-group + +# JPEG and/or PNG library +# see discussion in Section 2.2 (step 7) of manual +# only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC +# INC = path(s) for jpeglib.h and/or png.h +# PATH = path(s) for JPEG library and/or PNG library +# LIB = name(s) of JPEG library and/or PNG library + +JPG_INC = +JPG_PATH = +JPG_LIB = + +# --------------------------------------------------------------------- +# build rules and dependencies +# do not edit this section + +include Makefile.package.settings +include Makefile.package + +EXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(PKG_SYSINC) +EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH) +EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB) + +# Path to src files + +vpath %.cpp .. +vpath %.h .. + +# Link target + +$(EXE): $(OBJ) + $(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE) + $(SIZE) $(EXE) + +# Library targets + +lib: $(OBJ) + $(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ) + +shlib: $(OBJ) + $(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o $(EXE) \ + $(OBJ) $(EXTRA_LIB) $(LIB) + +# Compilation rules + +%.o:%.cpp + $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< + +%.d:%.cpp + $(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@ + +%.o:%.cu + $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< + +# Individual dependencies + +depend : fastdep.exe $(SRC) + @./fastdep.exe $(EXTRA_INC) -- $^ > .depend || exit 1 + +fastdep.exe: ../DEPEND/fastdep.c + icc -O -o $@ $< + +sinclude .depend diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp index 0286c3ed1e..0db076acd0 100644 --- a/src/MANYBODY/pair_atm.cpp +++ b/src/MANYBODY/pair_atm.cpp @@ -49,8 +49,8 @@ PairATM::PairATM(LAMMPS *lmp) : Pair(lmp) if (lmp->citeme) lmp->citeme->add(cite_atm_package); single_enable = 0; - restartinfo = 0; - one_coeff = 1; + restartinfo = 1; + one_coeff = 0; manybody_flag = 1; } @@ -78,6 +78,7 @@ void PairATM::compute(int eflag, int vflag) double xi,yi,zi,evdwl; double rij2,rik2,rjk2,r6; double rij[3],rik[3],rjk[3],fj[3],fk[3]; + double nu_local; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = 0.0; @@ -128,8 +129,10 @@ void PairATM::compute(int eflag, int vflag) r6 = rij2*rik2*rjk2; if (r6 > cut_sixth) continue; - interaction_ddd(nu[type[i]][type[j]][type[k]], - r6,rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl); + nu_local = nu[type[i]][type[j]][type[k]]; + if (nu_local == 0.0) continue; + interaction_ddd(nu_local, + r6,rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl); f[i][0] -= fj[0] + fk[0]; f[i][1] -= fj[1] + fk[1]; @@ -169,6 +172,12 @@ void PairATM::coeff(int narg, char **arg) error->all(FLERR,"Incorrect args for pair coefficients"); if (!allocated) allocate(); + int n = atom->ntypes; + for (int i = 0; i <= n; i++) + for (int j = 0; j <= n; j++) + for (int k = 0; k <= n; k++) + nu[i][j][k] = 0.0; + int ilo,ihi,jlo,jhi,klo,khi; force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); @@ -229,7 +238,9 @@ void PairATM::write_restart(FILE *fp) for (i = 1; i <= atom->ntypes; i++) { for (j = i; j <= atom->ntypes; j++) { fwrite(&setflag[i][j],sizeof(int),1,fp); - if (setflag[i][j]) for (k = i; k <= atom->ntypes; k++) fwrite(&nu[i][j][k],sizeof(double),1,fp); + if (setflag[i][j]) + for (k = i; k <= atom->ntypes; k++) + fwrite(&nu[i][j][k],sizeof(double),1,fp); } } } diff --git a/src/MANYBODY/pair_atm.h b/src/MANYBODY/pair_atm.h index b5bfc64010..45a6cda344 100644 --- a/src/MANYBODY/pair_atm.h +++ b/src/MANYBODY/pair_atm.h @@ -11,10 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- - Contributing author: Sergey Lishchuk -------------------------------------------------------------------------- */ - #ifdef PAIR_CLASS PairStyle(atm,PairATM) @@ -46,9 +42,9 @@ class PairATM : public Pair { double cut_global, cut_sixth; double ***nu; - protected: - virtual void allocate(); - void interaction_ddd(double, double, double, double, double, double *, double *, double *, double *, double *, int, double &); + void allocate(); + void interaction_ddd(double, double, double, double, double, double *, + double *, double *, double *, double *, int, double &); }; } diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 4871fe0c40..8b47eff624 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -20,12 +20,12 @@ Please cite the related publication: Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "atom_vec_spin.h" #include "comm.h" @@ -54,7 +54,7 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) size_data_atom = 9; size_data_vel = 4; xcol_data = 4; - + atom->sp_flag = 1; } diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 54818a9b70..b67f62d53d 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -18,11 +18,11 @@ Please cite the related publication: Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ #include -#include +#include #include "atom.h" #include "compute_spin.h" #include "domain.h" diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index 97b33197ce..cb34465482 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -18,13 +18,13 @@ Please cite the related publication: Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ #include -#include -#include -#include +#include +#include +#include #include "atom.h" #include "atom_vec_ellipsoid.h" diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index d91636af58..b75f03212a 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -18,12 +18,12 @@ Please cite the related publication: Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "atom_vec.h" @@ -59,8 +59,9 @@ static const char cite_fix_nve_spin[] = "title={Massively parallel symplectic algorithm for coupled magnetic spin " "dynamics and molecular dynamics},\n" "author={Tranchida, J and Plimpton, SJ and Thibaudeau, P and Thompson, AP},\n" - "journal={arXiv preprint arXiv:1801.10233},\n" - "year={2018}\n" + "journal={Journal of Computational Physics},\n" + "year={2018},\n" + "publisher={Elsevier}\n" "}\n\n"; enum{NONE}; diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index eedf0becb7..b908478952 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -18,13 +18,13 @@ Please cite the related publication: Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include -#include +#include +#include +#include +#include #include "atom.h" #include "domain.h" diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index acb7ffe548..398206b26e 100644 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -18,12 +18,12 @@ Please cite the related publication: Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "comm.h" diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 07ae684939..b792969c5d 100644 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -18,12 +18,12 @@ Please cite the related publication: Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "comm.h" diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 7b05d7337e..1b7b36b6db 100644 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -18,12 +18,12 @@ Please cite the related publication: Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "comm.h" diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp index e9e7c1fb3f..315b691d17 100644 --- a/src/SPIN/pair_spin_magelec.cpp +++ b/src/SPIN/pair_spin_magelec.cpp @@ -18,12 +18,12 @@ Please cite the related publication: Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "comm.h" @@ -436,9 +436,9 @@ void PairSpinMagelec::compute_magelec_mech(int i, int j, double fi[3], double sp meiy *= ME_mech[itype][jtype]; meiz *= ME_mech[itype][jtype]; - fi[0] = meiy*vz - meiz*vy; - fi[1] = meiz*vx - meix*vz; - fi[2] = meix*vy - meiy*vx; + fi[0] += meiy*vz - meiz*vy; + fi[1] += meiz*vx - meix*vz; + fi[2] += meix*vy - meiy*vx; } diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index d74db638bd..0daafad756 100644 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -18,12 +18,12 @@ Please cite the related publication: Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. + and molecular dynamics. Journal of Computational Physics. ------------------------------------------------------------------------- */ -#include -#include -#include +#include +#include +#include #include "atom.h" #include "comm.h" diff --git a/src/balance.cpp b/src/balance.cpp index 86deb55b47..7dd13e8766 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -350,13 +350,13 @@ void Balance::command(int narg, char **arg) domain->set_local_box(); // move particles to new processors via irregular() + // set disable = 0, so weights migrate with atoms for imbfinal calculation if (domain->triclinic) domain->x2lamda(atom->nlocal); Irregular *irregular = new Irregular(lmp); if (wtflag) fixstore->disable = 0; if (style == BISECTION) irregular->migrate_atoms(1,1,rcb->sendproc); else irregular->migrate_atoms(1); - if (wtflag) fixstore->disable = 1; delete irregular; if (domain->triclinic) domain->lamda2x(atom->nlocal); @@ -377,9 +377,11 @@ void Balance::command(int narg, char **arg) } // imbfinal = final imbalance + // set disable = 1, so weights no longer migrate with atoms double maxfinal; double imbfinal = imbalance_factor(maxfinal); + if (wtflag) fixstore->disable = 1; // stats output @@ -540,6 +542,8 @@ void Balance::weight_storage(char *prefix) fixstore = (FixStore *) modify->fix[modify->nfix-1]; } else fixstore = (FixStore *) modify->fix[ifix]; + // do not carry weights with atoms during normal atom migration + fixstore->disable = 1; if (prefix) delete [] fixargs[0]; diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp index b2f545c73f..e748e0ae31 100644 --- a/src/fix_balance.cpp +++ b/src/fix_balance.cpp @@ -114,6 +114,7 @@ FixBalance::FixBalance(LAMMPS *lmp, int narg, char **arg) : if (nevery) force_reneighbor = 1; lastbalance = -1; + next_reneighbor = -1; // compute initial outputs @@ -248,6 +249,10 @@ void FixBalance::pre_neighbor() if (!pending) return; imbfinal = balance->imbalance_factor(maxloadperproc); pending = 0; + + // set disable = 1, so weights no longer migrate with atoms + + if (wtflag) balance->fixstore->disable = 1; } /* ---------------------------------------------------------------------- @@ -275,21 +280,23 @@ void FixBalance::rebalance() // reset proc sub-domains // check and warn if any proc's subbox is smaller than neigh skin - // since may lead to lost atoms in exchange() + // since may lead to lost atoms in comm->exchange() if (domain->triclinic) domain->set_lamda_box(); domain->set_local_box(); domain->subbox_too_small_check(neighbor->skin); // move atoms to new processors via irregular() - // only needed if migrate_check() says an atom moves to far + // for non-RCB only needed if migrate_check() says an atom moves too far // else allow caller's comm->exchange() to do it + // set disable = 0, so weights migrate with atoms + // important to delay disable = 1 until after pre_neighbor imbfinal calc + // b/c atoms may migrate again in comm->exchange() if (domain->triclinic) domain->x2lamda(atom->nlocal); if (wtflag) balance->fixstore->disable = 0; if (lbstyle == BISECTION) irregular->migrate_atoms(0,1,sendproc); else if (irregular->migrate_check()) irregular->migrate_atoms(); - if (wtflag) balance->fixstore->disable = 1; if (domain->triclinic) domain->lamda2x(atom->nlocal); // invoke KSpace setup_grid() to adjust to new proc sub-domains diff --git a/src/fix_store.cpp b/src/fix_store.cpp index 3b1f3dca77..350e120972 100644 --- a/src/fix_store.cpp +++ b/src/fix_store.cpp @@ -154,8 +154,6 @@ void FixStore::reset_global(int nrow_caller, int ncol_caller) if (vecflag) memory->create(vstore,nrow,"fix/store:vstore"); else memory->create(astore,nrow,ncol,"fix/store:astore"); memory->create(rbuf,nrow*ncol+2,"fix/store:rbuf"); - - // printf("AAA HOW GET HERE\n"); } /* ---------------------------------------------------------------------- diff --git a/src/reset_ids.cpp b/src/reset_ids.cpp index 8a33cd535b..fd898bd3ab 100644 --- a/src/reset_ids.cpp +++ b/src/reset_ids.cpp @@ -16,6 +16,7 @@ #include "atom_vec.h" #include "domain.h" #include "comm.h" +#include "special.h" #include "memory.h" #include "error.h" @@ -44,7 +45,7 @@ void ResetIDs::command(int narg, char **arg) } // create an atom map if one doesn't exist already - + int mapflag = 0; if (atom->map_style == 0) { mapflag = 1; @@ -93,7 +94,7 @@ void ResetIDs::command(int narg, char **arg) // forward_comm_array acquires new IDs for ghost atoms double **newIDs; - memory->create(newIDs,nall,1,"reset_ids:newIDs"); + memory->create(newIDs,nall,1,"reset_ids:newIDs"); for (int i = 0; i < nlocal; i++) { newIDs[i][0] = tag[i]; @@ -105,7 +106,7 @@ void ResetIDs::command(int narg, char **arg) // loop over bonds, angles, etc and reset IDs in stored topology arrays // only necessary for molecular = 1, not molecular = 2 // badcount = atom IDs that could not be found - + int badcount = 0; if (atom->molecular == 1) { @@ -232,8 +233,15 @@ void ResetIDs::command(int narg, char **arg) atom->map_init(); atom->map_set(); + // need to update exclusions with new atom IDs + + if (atom->molecular == 1) { + Special special(lmp); + special.build(); + } + // delete temporary atom map - + if (mapflag) { atom->map_delete(); atom->map_style = 0; -- GitLab From 8447d8dd9199555d136f6dd92d389f07cc03d320 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 13 Jul 2018 14:34:50 -0500 Subject: [PATCH 276/675] Updated doc pages for pair body rounded/polygon and rounded/polyhedra --- doc/src/pair_body_rounded_polygon.txt | 16 +++++++++++----- doc/src/pair_body_rounded_polyhedron.txt | 20 +++++++++++++------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 5ef4a9104b..55bd8e51d4 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -18,8 +18,6 @@ mu = normal friction coefficient during gross sliding delta_ua = multiple contact scaling factor cutoff = global separation cutoff for interactions (distance units), see below for definition :pre -NOTE: what does gross sliding mean? - [Examples:] pair_style body/rounded/polygon 20.0 5.0 0.0 1.0 0.5 @@ -38,7 +36,7 @@ body particles. This pairwise interaction between rounded polygons is described in "Fraige"_#Fraige, where a polygon does not have sharp corners, but is rounded at its vertices by circles centered on each vertex with a -specified diameter. The edges of the polygon are defined bewteen +specified diameter. The edges of the polygon are defined between pairs of adjacent vertices. The circle diameter for each polygon is specified in the data file read by the "read data"_read_data.html command. This is a 2d discrete element model (DEM) which allows for @@ -47,7 +45,7 @@ multiple contact points. Note that when two particles interact, the effective surface of each polygon particle is displaced outward from each of its vertices and edges by half its circle diameter. The interaction forces and -energies bewteen two particles are defined with respect to the +energies between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices and edges themselves. @@ -65,7 +63,15 @@ explains how contact is defined? Do we need an equation(s) that explain what the params in pair style and coeff mean, for damping and spring constants? Or do we just want to reference the paper for that? -NOTE: say something about no frictional history ? +In "Fraige"_#Fraige, the tangential friction force between two particles +that are in contact is modeled differently prior to gross sliding +(i.e. static friction) and during gross-sliding (kinetic friction). +The latter takes place when the tangential deformation exceeds +the Coulomb frictional limit. In the current implementation, however, +we do not take into account frictional history, i.e. we do not keep track +of how many time steps the two particles have been in contact +nor calculate the tangential deformation. We assume that gross sliding +takes place right when two particles are in contact. The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 81c69fdd62..5f43ebee63 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -16,9 +16,7 @@ c_n = normal damping coefficient c_t = tangential damping coefficient mu = normal friction coefficient during gross sliding delta_ua = multiple contact scaling factor -cutoff = global sepration cutoff for interactions (distance units), see below for definition :pre - -NOTE: what does gross sliding mean? +cutoff = global separation cutoff for interactions (distance units), see below for definition :pre [Examples:] @@ -39,16 +37,16 @@ This pairwise interaction between rounded polyhedra is described in "Wang"_#Wang, where a polyhedron does not have sharp corners and edges, but is rounded at its vertices and edges by spheres centered on each vertex with a specified diameter. The edges if the polyhedron -are defined bewteen pairs of adjacent vertices. Its faces are defined +are defined between pairs of adjacent vertices. Its faces are defined by a loop of edges. The sphere diameter for each polygon is specified in the data file read by the "read data"_read_data.html command. This is a discrete element model (DEM) which allows for multiple contact points. -Note that when two particles interaact, the effective surface of each +Note that when two particles interact, the effective surface of each polyhedron particle is displaced outward from each of its vertices, edges, and faces by half its sphere diameter. The interaction forces -and energies bewteen two particles are defined with respect to the +and energies between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices, edges, and faces themselves. @@ -66,7 +64,15 @@ explains how contact is defined? Do we need an equation(s) that explain what the params in pair style and coeff mean, for damping and spring constants? Or do we just want to reference the paper for that? -NOTE: say something about no frictional history ? +In "Wang"_#Wang, the tangential friction force between two particles +that are in contact is modeled differently prior to gross sliding +(i.e. static friction) and during gross-sliding (kinetic friction). +The latter takes place when the tangential deformation exceeds +the Coulomb frictional limit. In the current implementation, however, +we do not take into account frictional history, i.e. we do not keep track +of how many time steps the two particles have been in contact +nor calculate the tangential deformation. We assume that gross sliding +takes place right when two particles are in contact. The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, -- GitLab From eeaf90722775d57e12a5505d84bd27358c902918 Mon Sep 17 00:00:00 2001 From: sergeylishchuk Date: Fri, 13 Jul 2018 21:36:40 +0100 Subject: [PATCH 277/675] Resolved merge conflict. --- doc/src/pair_atm.txt | 67 --------------------------------------- src/MANYBODY/pair_atm.cpp | 9 ------ 2 files changed, 76 deletions(-) diff --git a/doc/src/pair_atm.txt b/doc/src/pair_atm.txt index a79641c6c2..96e002f2f8 100644 --- a/doc/src/pair_atm.txt +++ b/doc/src/pair_atm.txt @@ -21,14 +21,10 @@ pair_coeff * * * 0.072 :pre pair_style hybrid/overlay lj/cut 6.5 atm 2.5 pair_coeff * * lj/cut 1.0 1.0 -<<<<<<< HEAD pair_coeff 1 1 atm 1 0.064 pair_coeff 1 1 atm 2 0.080 pair_coeff 1 2 atm 2 0.100 pair_coeff 2 2 atm 2 0.125 :pre -======= -pair_coeff * * atm * 0.072 :pre ->>>>>>> 75ec0a6a990ae6eec59ca7fa80c8cff14d561495 [Description:] @@ -37,7 +33,6 @@ potential for the energy E of a system of atoms as :c,image(Eqs/pair_atm.jpg) -<<<<<<< HEAD where nu is the three-body interaction strength, and the distances between pairs of atoms r12, r23 and r31 and the angles gamma1, gamma2 and gamma3 @@ -47,18 +42,11 @@ are shown at the diagram: There is no \"central\" atom, the interaction is symmetric with respect to permutation of atom types. -======= -where r12, r23 and r31 are the distances between pairs of atoms, -gamma1 is the angle ???, gamma2 is the angle ???, gamma3 is the angle -???, and nu is the three-body interaction strength. -A diagram of the 3 atoms might help here. ->>>>>>> 75ec0a6a990ae6eec59ca7fa80c8cff14d561495 The {atm} potential is typically used in combination with a two-body potential using the "pair_style hybrid/overlay"_pair_hybrid.html command as in the example above. -<<<<<<< HEAD The potential is calculated if all three atoms are in the "neighbor list"_neighbor.html and the distances between atoms satisfy r12 r23 r31 > cutoff^3. @@ -90,57 +78,6 @@ pair_coeff 2 1 1 nu :pre Thus, to specify all ATM interactions between two atom types (eg 1 and 2) it is sufficient to provide four pair_coeff commands, eg: -======= --------------------- - -The rest of this section needs some work to make things more clear. - -You need to explain exactly how the cutoff is used. - -I don't think this is true: -The calculations are not undertaken if the distances between atoms satisfy -r12 r23 r31 > cutoff^3. - -If r12 > cutoff+skin, then that pair of atoms is not in -the neighbor list, regardless of what r23 and r31 are, -so how can it be computed? - -What does this line mean? -Virtual cutoff distance based on a user defined -tolerance tol is not used. - -You must explain exactly what the user needs to put -in the input script to model single element and multi-element -systems. - -You refer to an ATM potential file, but I don't think there is -such a thing. There is no code in pair_atm.cpp that reads -a file. Isn't it all pair_coeff commands? In LAMMPS lingo, -potential files are the files in the potentials dir. -There is no such thing for ATM, right? - -What is the geometry of i,j,k interactions - you don't explain it. -Which one is the central atom? - -You say all the K values for a particular I,J must be specified. -I don't see where the code checks for this. - -This is the way to word the explation of the per-pair values required: - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the restart files read by the -"read_restart"_read_restart.html commands: - -?? explain what K is and what are the allowed values -nu (energy/distance^9 units) :ul - -Again: what file are you talking about? -The Axilrod-Teller-Muto potential file must contain entries for all the -elements listed in the pair_coeff command. It can also contain -entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries. ->>>>>>> 75ec0a6a990ae6eec59ca7fa80c8cff14d561495 pair_coeff 1 1 1 nu1 pair_coeff 1 1 2 nu2 @@ -231,8 +168,4 @@ LAMMPS"_Section_start.html#start_3 section for more info. :link(Axilrod) [(Axilrod)] Axilrod and Teller, J Chem Phys, 11, 299 (1943); -<<<<<<< HEAD Muto, Nippon Sugaku-Buturigakkwaishi 17, 629 (1943). -======= -Muto, Nippon, Sugaku, Butsuri, Gakkwaishi 17, 629 (1943). ->>>>>>> 75ec0a6a990ae6eec59ca7fa80c8cff14d561495 diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp index a9731a46d8..0db076acd0 100644 --- a/src/MANYBODY/pair_atm.cpp +++ b/src/MANYBODY/pair_atm.cpp @@ -49,13 +49,8 @@ PairATM::PairATM(LAMMPS *lmp) : Pair(lmp) if (lmp->citeme) lmp->citeme->add(cite_atm_package); single_enable = 0; -<<<<<<< HEAD restartinfo = 1; one_coeff = 0; -======= - //restartinfo = 1; // it does save restart info, correct? - //one_coeff = 0; // it does not only use * *, correct? ->>>>>>> 75ec0a6a990ae6eec59ca7fa80c8cff14d561495 manybody_flag = 1; } @@ -134,13 +129,9 @@ void PairATM::compute(int eflag, int vflag) r6 = rij2*rik2*rjk2; if (r6 > cut_sixth) continue; -<<<<<<< HEAD nu_local = nu[type[i]][type[j]][type[k]]; if (nu_local == 0.0) continue; interaction_ddd(nu_local, -======= - interaction_ddd(nu[type[i]][type[j]][type[k]], ->>>>>>> 75ec0a6a990ae6eec59ca7fa80c8cff14d561495 r6,rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl); f[i][0] -= fj[0] + fk[0]; -- GitLab From e7f4e059cf1d552d9d809f48d26ff7ee4778f996 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 13 Jul 2018 16:46:06 -0600 Subject: [PATCH 278/675] convert to KSspace style rather than fix --- examples/scafacos/in.scafacos | 25 ++- lib/scafacos/Install.py | 168 ++++++++++++++++ src/Makefile | 4 +- src/USER-SCAFACOS/Install.sh | 21 +- src/USER-SCAFACOS/fix_scafacos.cpp | 7 +- src/USER-SCAFACOS/fix_scafacos.h | 50 +++++ src/USER-SCAFACOS/scafacos.cpp | 308 +++++++++++++++++++++++++++++ src/USER-SCAFACOS/scafacos.h | 69 +++++++ 8 files changed, 626 insertions(+), 26 deletions(-) create mode 100644 lib/scafacos/Install.py create mode 100644 src/USER-SCAFACOS/scafacos.cpp create mode 100644 src/USER-SCAFACOS/scafacos.h diff --git a/examples/scafacos/in.scafacos b/examples/scafacos/in.scafacos index ae6b8e0193..f9b6733eef 100644 --- a/examples/scafacos/in.scafacos +++ b/examples/scafacos/in.scafacos @@ -5,17 +5,32 @@ atom_style full read_data data.NaCl -velocity all set 0.0 0.0 0.0 mom no +replicate 8 8 8 -pair_style zero 1.0 -pair_coeff * * +velocity all create 1.5 49893 neighbor 1.0 bin neigh_modify delay 0 -# using the fmm solver with a tolerance in energy of 10^-3 -fix 1 all scafacos fmm tolerance energy 0.001 +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p3m tolerance field 0.001 timestep 0.005 +thermo 10 run 100 diff --git a/lib/scafacos/Install.py b/lib/scafacos/Install.py new file mode 100644 index 0000000000..5d4ca7e96a --- /dev/null +++ b/lib/scafacos/Install.py @@ -0,0 +1,168 @@ +#!/usr/bin/env python + +# Install.py tool to download, unpack, build, and link to the Scafacos library +# used to automate the steps described in the README file in this dir + +from __future__ import print_function +import sys,os,re,subprocess + +# help message + +help = """ +Syntax from src dir: make lib-scafacos args="-b" + or: make lib-scafacos args="-p /usr/local/scafacos" +Syntax from lib dir: python Install.py -b + or: python Install.py -p /usr/local/scafacos + +specify zero or more options, order does not matter + + -b = download and build the Scafacos library + -p = specify folder of existing Scafacos installation + + always creates includelink, liblink to Scafacos dirs + +Example: + +make lib-scafacos args="-b" # download/build in lib/scafacos/scafacos +make lib-scafacos args="-p $HOME/scafacos" # use existing Scafacos installation in $HOME +""" + +# settings + +#version = "voro++-0.4.6" +#url = "http://math.lbl.gov/voro++/download/dir/%s.tar.gz" % version + +# print error message or help + +def error(str=None): + if not str: print(help) + else: print("ERROR",str) + sys.exit() + +# expand to full path name +# process leading '~' or relative path + +def fullpath(path): + return os.path.abspath(os.path.expanduser(path)) + +def which(program): + def is_exe(fpath): + return os.path.isfile(fpath) and os.access(fpath, os.X_OK) + + fpath, fname = os.path.split(program) + if fpath: + if is_exe(program): + return program + else: + for path in os.environ["PATH"].split(os.pathsep): + path = path.strip('"') + exe_file = os.path.join(path, program) + if is_exe(exe_file): + return exe_file + + return None + +def geturl(url,fname): + success = False + + if which('curl') != None: + cmd = 'curl -L -o "%s" %s' % (fname,url) + try: + subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) + success = True + except subprocess.CalledProcessError as e: + print("Calling curl failed with: %s" % e.output.decode('UTF-8')) + + if not success and which('wget') != None: + cmd = 'wget -O "%s" %s' % (fname,url) + try: + subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) + success = True + except subprocess.CalledProcessError as e: + print("Calling wget failed with: %s" % e.output.decode('UTF-8')) + + if not success: + error("Failed to download source code with 'curl' or 'wget'") + return + +# parse args + +args = sys.argv[1:] +nargs = len(args) +#if nargs == 0: error() + +homepath = "." + +buildflag = False +pathflag = False +linkflag = True + +iarg = 0 +while iarg < nargs: + if args[iarg] == "-v": + if iarg+2 > nargs: error() + version = args[iarg+1] + iarg += 2 + elif args[iarg] == "-p": + if iarg+2 > nargs: error() + scafacospath = fullpath(args[iarg+1]) + pathflag = True + iarg += 2 + elif args[iarg] == "-b": + buildflag = True + iarg += 1 + else: error() + +homepath = fullpath(homepath) +#homedir = "%s/%s" % (homepath,version) +homedir = homepath + +if (pathflag): + if not os.path.isdir(scafacospath): error("Scafacos path does not exist") + homedir =scafacospath + +if (buildflag and pathflag): + error("Cannot use -b and -p flag at the same time") + +#if (not buildflag and not pathflag): +# error("Have to use either -b or -p flag") + +# download and unpack Scafacos tarball + +if buildflag: + print("Downloading Scafacos ...") + geturl(url,"%s/%s.tar.gz" % (homepath,version)) + + print("Unpacking Voro++ tarball ...") + if os.path.exists("%s/%s" % (homepath,version)): + cmd = 'rm -rf "%s/%s"' % (homepath,version) + subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) + cmd = 'cd "%s"; tar -xzvf %s.tar.gz' % (homepath,version) + subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) + os.remove("%s/%s.tar.gz" % (homepath,version)) + if os.path.basename(homedir) != version: + if os.path.exists(homedir): + cmd = 'rm -rf "%s"' % homedir + subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) + os.rename("%s/%s" % (homepath,version),homedir) + +# build Scafacos + +if buildflag: + print("Building Scafacos ...") + cmd = 'cd "%s"; make CXX=g++ CFLAGS="-fPIC -O3"' % homedir + txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) + print(txt.decode('UTF-8')) + +# create 2 links in lib/scafacos to Scafacos include/lib dirs + +if linkflag: + print("Creating links to Scafacos include and lib files") + if os.path.isfile("includelink") or os.path.islink("includelink"): + os.remove("includelink") + if os.path.isfile("liblink") or os.path.islink("liblink"): + os.remove("liblink") + cmd = 'ln -s "scafacos/include" includelink' + subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) + cmd = 'ln -s "scafacos/lib" liblink' + subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) diff --git a/src/Makefile b/src/Makefile index 948d203cfe..5ca5e7ddc6 100644 --- a/src/Makefile +++ b/src/Makefile @@ -62,8 +62,8 @@ PACKUSER = user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \ user-intel user-lb user-manifold user-meamc user-meso \ user-mgpt user-misc user-mofff user-molfile \ user-netcdf user-omp user-phonon user-qmmm user-qtb \ - user-quip user-reaxc user-smd user-smtbq user-sph user-tally \ - user-uef user-vtk + user-quip user-reaxc user-scafacos user-smd user-smtbq \ + user-sph user-tally user-uef user-vtk PACKLIB = compress gpu kim kokkos latte meam mpiio mscg poems \ python reax voronoi \ diff --git a/src/USER-SCAFACOS/Install.sh b/src/USER-SCAFACOS/Install.sh index ace610050b..964212fc51 100755 --- a/src/USER-SCAFACOS/Install.sh +++ b/src/USER-SCAFACOS/Install.sh @@ -37,31 +37,18 @@ done if (test $1 = 1) then if (test -e ../Makefile.package) then + sed -i -e 's/`.*scafacos.*` //' ../Makefile.package sed -i -e 's/[^ \t]*scafacos[^ \t]* //' ../Makefile.package sed -i -e 's|^PKG_INC =[ \t]*|&-I../../lib/scafacos/includelink |' ../Makefile.package sed -i -e 's|^PKG_PATH =[ \t]*|&-L../../lib/scafacos/liblink |' ../Makefile.package - #sed -i -e 's|^PKG_LIB =[ \t]*|&-lscafacos |' ../Makefile.package - sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(scafacos_SYSINC) |' ../Makefile.package - sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(scafacos_SYSLIB) |' ../Makefile.package - sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(scafacos_SYSPATH) |' ../Makefile.package - fi - - if (test -e ../Makefile.package.settings) then - sed -i -e '/^include.*scafacos.*$/d' ../Makefile.package.settings - # multiline form needed for BSD sed on Macs - sed -i -e '4 i \ -include ..\/..\/lib\/scafacos\/Makefile.lammps -' ../Makefile.package.settings + sed -i -e 's%^PKG_LIB =[ \t]*%&`grep Libs: ../../lib/scafacos/liblink/pkgconfig/scafacos.pc | cut -d " " -f 2-` %' ../Makefile.package fi elif (test $1 = 0) then - if (test -e ../Makefile.package) then + if (test -e ../Makefile.package) then + sed -i -e 's/`.*scafacos.*` //' ../Makefile.package sed -i -e 's/[^ \t]*scafacos[^ \t]* //' ../Makefile.package fi - if (test -e ../Makefile.package.settings) then - sed -i -e '/^include.*scafacos.*$/d' ../Makefile.package.settings - fi - fi diff --git a/src/USER-SCAFACOS/fix_scafacos.cpp b/src/USER-SCAFACOS/fix_scafacos.cpp index f82b80dd5f..08aebb9f22 100644 --- a/src/USER-SCAFACOS/fix_scafacos.cpp +++ b/src/USER-SCAFACOS/fix_scafacos.cpp @@ -17,6 +17,7 @@ #include #include +#include #include "fix_scafacos.h" #include "atom.h" #include "comm.h" @@ -81,7 +82,7 @@ FixScafacos::FixScafacos(LAMMPS *lmp, int narg, char **arg) : else error->all(FLERR,"Illegal fix scafacos command"); ++arg_index; - tolerance_value = atof(arg[arg_index]); + tolerance_value = atof(arg[arg_index]); ++arg_index; } else @@ -439,6 +440,7 @@ bool FixScafacos::check_result(FCSResult result, int comm_rank) { if (result) { + printf("ScaFaCoS Error: Caught error on task %d.\n", comm_rank); std::string err_msg; std::stringstream ss; @@ -446,8 +448,9 @@ bool FixScafacos::check_result(FCSResult result, int comm_rank) << fcs_result_get_message(result) << "\n"; err_msg = ss.str(); - error->one(FLERR, err_msg.c_str()); + error -> all(FLERR, err_msg.c_str()); fcs_result_destroy(result); } return true; } + diff --git a/src/USER-SCAFACOS/fix_scafacos.h b/src/USER-SCAFACOS/fix_scafacos.h index c48f4d8388..ffd4a94d32 100644 --- a/src/USER-SCAFACOS/fix_scafacos.h +++ b/src/USER-SCAFACOS/fix_scafacos.h @@ -111,4 +111,54 @@ class FixScafacos : public Fix { /* ERROR/WARNING messages: +E: Must use units metal with fix latte command + +UNDOCUMENTED + +E: Fix latte currently runs only in serial + +UNDOCUMENTED + +E: LAMMPS is linked against incompatible LATTE library + +UNDOCUMENTED + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Fix latte does not yet support a LAMMPS calculation of a Coulomb potential + +UNDOCUMENTED + +E: Could not find fix latte compute ID + +UNDOCUMENTED + +E: Fix latte compute ID does not compute pe/atom + +UNDOCUMENTED + +E: Fix latte requires 3d problem + +UNDOCUMENTED + +E: Fix latte cannot compute Coulomb potential + +UNDOCUMENTED + +E: Fix latte requires 3d simulation + +UNDOCUMENTED + +W: Fix latte should come after all other integration fixes + +UNDOCUMENTED + +E: Internal LATTE problem + +UNDOCUMENTED + */ diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp new file mode 100644 index 0000000000..89c67b828b --- /dev/null +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -0,0 +1,308 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Rene Halver (JSC) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include "scafacos.h" +#include "atom.h" +#include "comm.h" +#include "domain.h" +#include "force.h" +#include "memory.h" +#include "error.h" + +// ScaFaCoS library + +#include +#include +#include "fcs.h" + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +Scafacos::Scafacos(LAMMPS *lmp, int narg, char **arg) : KSpace(lmp, narg, arg) +{ + if (narg < 2) error->all(FLERR,"Illegal scafacos command"); + + int n = strlen(arg[0]) + 1; + method = new char[n]; + strcpy(method,arg[0]); + + // additional args + + int tflag = 0; + + int iarg = 1; + while (iarg < narg) { + if (strcmp(arg[iarg],"tolerance") == 0) { + if (iarg+3 > narg) error->all(FLERR,"Illegal scafacos command"); + tflag = 1; + if (strcmp(arg[iarg+1],"energy") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; + else if (strcmp(arg[iarg+1],"energy_rel") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_ENERGY_REL; + else if (strcmp(arg[iarg+1],"field") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_FIELD; + else if (strcmp(arg[iarg+1],"field_rel") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_FIELD_REL; + else if (strcmp(arg[iarg+1],"potential") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL; + else if (strcmp(arg[iarg+1],"potential_rel") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL_REL; + else error->all(FLERR,"Illegal scafacos command"); + tolerance = force->numeric(FLERR,arg[iarg+2]); + iarg += 3; + } else error->all(FLERR,"Illegal scafacos command"); + } + + if (!tflag) error->all(FLERR,"Must set tolerance in scafacos command"); + + // initializations + + me = comm->me; + initialized = 0; + + maxatom = 0; + epot = NULL; + efield = NULL; +} + +/* ---------------------------------------------------------------------- */ + +Scafacos::~Scafacos() +{ + delete [] method; + + memory->destroy(epot); + memory->destroy(efield); + + // NOTE: any clean-up call to ScaFaCoS needed? +} + +/* ---------------------------------------------------------------------- */ + +void Scafacos::init() +{ + // error checks + // NOTE: allow triclinic at some point + + if (domain->dimension == 2) + error->all(FLERR,"Cannot use ScaFaCoS with 2d simulation"); + + if (domain->triclinic) + error->all(FLERR,"Cannot use ScaFaCoS with triclinic domain yet"); + + // one-time initialization of ScaFaCoS + + if (!initialized) { + result = fcs_init(&fcs,method,world); + check_result(result); + + setup_handle(); + + result = fcs_set_tolerance(fcs,tolerance_type,tolerance); + check_result(result); + + if (me == 0) fcs_print_parameters(fcs); + + double **x = atom->x; + double *q = atom->q; + int nlocal = atom->nlocal; + + result = fcs_tune(fcs,nlocal,&x[0][0],q); + } + + initialized = 1; +} + +/* ---------------------------------------------------------------------- */ + +void Scafacos::setup() {} + +/* ---------------------------------------------------------------------- */ + +void Scafacos::compute(int eflag, int vflag) +{ + double **x = atom->x; + double *q = atom->q; + int nlocal = atom->nlocal; + + // if simluation box has changed, call fcs_tune() + + if (box_has_changed()) { + printf("AAA\n"); + setup_handle(); + result = fcs_tune(fcs,nlocal,&x[0][0],q); + check_result(result); + } + + // grow epot & efield if necessary + + if (nlocal > maxatom) { + memory->destroy(epot); + memory->destroy(efield); + maxatom = atom->nmax; + memory->create(epot,maxatom,"scafacos:epot"); + memory->create(efield,maxatom,3,"scafacos:efield"); + + } + + // initialize epot & efield + // NOTE: is this necessary? + + for (int i = 0; i < nlocal; i++) { + epot[i] = 0.0; + efield[i][0] = efield[i][1] = efield[i][2] = 0.0; + } + + // ScaFaCoS calculation of full Coulombics + + result = fcs_run(fcs,nlocal,&x[0][0],q,&efield[0][0],epot); + check_result(result); + + // apply Efield to each particle + // accumulate total energy + + double **f = atom->f; + + double qone; + double myeng = 0.0; + + for (int i = 0; i < nlocal; i++) { + qone = q[i]; + f[i][0] += qone * efield[i][0]; + f[i][1] += qone * efield[i][1]; + f[i][2] += qone * efield[i][2]; + myeng += 0.5 * qone * epot[i]; + } + + MPI_Allreduce(&myeng,&energy,1,MPI_DOUBLE,MPI_SUM,world); +} + +/* ---------------------------------------------------------------------- + memory usage of local arrays +------------------------------------------------------------------------- */ + +double Scafacos::memory_usage() +{ + double bytes = 0.0; + bytes += maxatom * sizeof(double); + bytes += 3*maxatom * sizeof(double); + return bytes; +} + +/* ---------------------------------------------------------------------- + setup of ScaFaCoS handle with common parameters +------------------------------------------------------------------------- */ + +void Scafacos::setup_handle() +{ + // store simulation box params + // NOTE: this assumes orthogonal box + // NOTE: total particles may not be a 4-byte int + // NOTE: what does SCFCS mean by offset? + // it's an integer flag in LAMMPS + + old_periodicity[0] = domain->xperiodic; + old_periodicity[1] = domain->yperiodic; + old_periodicity[2] = domain->zperiodic; + + old_offset[0] = domain->boundary[0][0]; + old_offset[1] = domain->boundary[1][0]; + old_offset[2] = domain->boundary[2][0]; + + old_box_x[0] = domain->prd[0]; + old_box_x[1] = old_box_x[2] = 0.0; + old_box_y[1] = domain->prd[1]; + old_box_y[0] = old_box_y[2] = 0.0; + old_box_z[2] = domain->prd[2]; + old_box_z[1] = old_box_z[0] = 0.0; + + old_natoms = atom->natoms; + + // set all required ScaFaCoS params + + result = fcs_set_box_a(fcs,old_box_x); + check_result(result); + + result = fcs_set_box_b(fcs,old_box_y); + check_result(result); + + result = fcs_set_box_c(fcs,old_box_z); + check_result(result); + + result = fcs_set_box_origin(fcs,old_offset); + check_result(result); + + result = fcs_set_periodicity(fcs,old_periodicity); + check_result(result); + + result = fcs_set_total_particles(fcs,old_natoms); + check_result(result); + + // NOTE: for now disable short-range calculations within LAMMPS + + int near_field_flag = 0; + result = fcs_set_near_field_flag(fcs,near_field_flag); + check_result(result); +} + +/* ---------------------------------------------------------------------- + check if box parameters changed, requiring a new call to fcs_tune +------------------------------------------------------------------------- */ + +bool Scafacos::box_has_changed() +{ + int *periodicity = domain->periodicity; + double *prd = domain->prd; + + bool changed = + (periodicity[0] != old_periodicity[0]) || + (periodicity[1] != old_periodicity[1]) || + (periodicity[2] != old_periodicity[2]) || + (domain->boundary[0][0] != old_offset[0]) || + (domain->boundary[1][0] != old_offset[1]) || + (domain->boundary[2][0] != old_offset[2]) || + (prd[0] != old_box_x[0]) || + (prd[1] != old_box_y[1]) || + (prd[2] != old_box_z[2]) || + (atom->natoms != old_natoms); + + return changed; +} + +/* ---------------------------------------------------------------------- + check ScaFaCoS result for error condition + NOTE: will all procs have same error? +------------------------------------------------------------------------- */ + +void Scafacos::check_result(FCSResult result) +{ + if (!result) return; + + std::stringstream ss; + ss << "ScaFaCoS: " << fcs_result_get_function(result) << "\n" + << fcs_result_get_message(result) << "\n"; + fcs_result_destroy(result); + std::string err_msg = ss.str(); + const char *str = err_msg.c_str(); + + error->one(FLERR,str); +} + diff --git a/src/USER-SCAFACOS/scafacos.h b/src/USER-SCAFACOS/scafacos.h new file mode 100644 index 0000000000..33911ee9fd --- /dev/null +++ b/src/USER-SCAFACOS/scafacos.h @@ -0,0 +1,69 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef KSPACE_CLASS + +KSpaceStyle(scafacos,Scafacos) + +#else + +#ifndef LMP_SCAFACOS_H +#define LMP_SCAFACOS_H + +#include "kspace.h" +#include "fcs.h" + +namespace LAMMPS_NS { + +class Scafacos : public KSpace { + public: + Scafacos(class LAMMPS *, int, char **); + ~Scafacos(); + void init(); + void setup(); + void compute(int, int); + double memory_usage(); + + private: + int me; + + char *method; + double tolerance; + double *epot,**efield; + int tolerance_type; + int initialized,maxatom; + + FCS fcs; // ScaFaCoS handle + FCSResult result; // result for each ScaFaCoS call + + // simulation state: box, natoms + // so ScaFaCoS can detect if changes, e.g. for NPT + + fcs_float old_box_x[3],old_box_y[3],old_box_z[3]; + fcs_float old_offset[3]; + fcs_int old_periodicity[3]; + fcs_int old_natoms; + + void check_result(FCSResult); + void setup_handle(); + bool box_has_changed(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ -- GitLab From d00eaef070f6d8500831f5893ec2de6dfa5041b9 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 13 Jul 2018 23:05:44 -0400 Subject: [PATCH 279/675] Allow 'set' command to change atom velocities --- python/lammps.py | 11 +++++++++++ src/set.cpp | 26 +++++++++++++++++++++++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/python/lammps.py b/python/lammps.py index e7d703e12a..2f4ffb642e 100644 --- a/python/lammps.py +++ b/python/lammps.py @@ -708,6 +708,12 @@ class Atom(object): self.lmp.eval("vy[%d]" % self.index), self.lmp.eval("vz[%d]" % self.index)) + @velocity.setter + def velocity(self, value): + self.lmp.set("atom", self.index, "vx", value[0]) + self.lmp.set("atom", self.index, "vy", value[1]) + self.lmp.set("atom", self.index, "vz", value[2]) + @property def force(self): return (self.lmp.eval("fx[%d]" % self.index), @@ -738,6 +744,11 @@ class Atom2D(Atom): return (self.lmp.eval("vx[%d]" % self.index), self.lmp.eval("vy[%d]" % self.index)) + @velocity.setter + def velocity(self, value): + self.lmp.set("atom", self.index, "vx", value[0]) + self.lmp.set("atom", self.index, "vy", value[1]) + @property def force(self): return (self.lmp.eval("fx[%d]" % self.index), diff --git a/src/set.cpp b/src/set.cpp index 0294f93e5d..7eca4e9a9c 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -48,7 +48,7 @@ enum{TYPE,TYPE_FRACTION,MOLECULE,X,Y,Z,CHARGE,MASS,SHAPE,LENGTH,TRI, THETA,THETA_RANDOM,ANGMOM,OMEGA, DIAMETER,DENSITY,VOLUME,IMAGE,BOND,ANGLE,DIHEDRAL,IMPROPER, MESO_E,MESO_CV,MESO_RHO,EDPD_TEMP,EDPD_CV,CC,SMD_MASS_DENSITY, - SMD_CONTACT_RADIUS,DPDTHETA,INAME,DNAME}; + SMD_CONTACT_RADIUS,DPDTHETA,INAME,DNAME,VX,VY,VZ}; #define BIG INT_MAX @@ -141,6 +141,27 @@ void Set::command(int narg, char **arg) set(Z); iarg += 2; + } else if (strcmp(arg[iarg],"vx") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); + if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); + else dvalue = force->numeric(FLERR,arg[iarg+1]); + set(VX); + iarg += 2; + + } else if (strcmp(arg[iarg],"vy") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); + if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); + else dvalue = force->numeric(FLERR,arg[iarg+1]); + set(VY); + iarg += 2; + + } else if (strcmp(arg[iarg],"vz") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); + if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); + else dvalue = force->numeric(FLERR,arg[iarg+1]); + set(VZ); + iarg += 2; + } else if (strcmp(arg[iarg],"charge") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal set command"); if (strstr(arg[iarg+1],"v_") == arg[iarg+1]) varparse(arg[iarg+1],1); @@ -732,6 +753,9 @@ void Set::set(int keyword) else if (keyword == X) atom->x[i][0] = dvalue; else if (keyword == Y) atom->x[i][1] = dvalue; else if (keyword == Z) atom->x[i][2] = dvalue; + else if (keyword == VX) atom->v[i][0] = dvalue; + else if (keyword == VY) atom->v[i][1] = dvalue; + else if (keyword == VZ) atom->v[i][2] = dvalue; else if (keyword == CHARGE) atom->q[i] = dvalue; else if (keyword == MASS) { if (dvalue <= 0.0) error->one(FLERR,"Invalid mass in set command"); -- GitLab From aa3d3213c914144d0873c572363522f108ce1cb6 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 13 Jul 2018 23:06:42 -0400 Subject: [PATCH 280/675] Update set command documentation --- doc/src/set.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/src/set.txt b/doc/src/set.txt index d05660dc42..d2235d5c32 100644 --- a/doc/src/set.txt +++ b/doc/src/set.txt @@ -36,6 +36,8 @@ keyword = {type} or {type/fraction} or {mol} or {x} or {y} or {z} or \ value can be an atom-style variable (see below) {x},{y},{z} value = atom coordinate (distance units) value can be an atom-style variable (see below) + {vx},{vy},{vz} value = atom velocity (velocity units) + value can be an atom-style variable (see below) {charge} value = atomic charge (charge units) value can be an atom-style variable (see below) {dipole} values = x y z @@ -127,6 +129,7 @@ set type 3 charge 0.5 set type 1*3 charge 0.5 set atom * charge v_atomfile set atom 100*200 x 0.5 y 1.0 +set atom 100 vx 0.0 vy 0.0 vz -1.0 set atom 1492 type 3 :pre [Description:] @@ -225,7 +228,8 @@ IDs. Keywords {x}, {y}, {z}, and {charge} set the coordinates or charge of all selected atoms. For {charge}, the "atom style"_atom_style.html -being used must support the use of atomic charge. +being used must support the use of atomic charge. Keywords {vx}, {vy}, +and {vz} set the velocities of all selected atoms. Keyword {dipole} uses the specified x,y,z values as components of a vector to set as the orientation of the dipole moment vectors of the -- GitLab From f7d551eb5400580899cde3d2dfa9c325729bbcbc Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sun, 15 Jul 2018 08:27:55 -0500 Subject: [PATCH 281/675] Added a figure illustrating pair body rounded/polygon and rounded/polyhedron --- doc/src/JPG/pair_body_rounded.png | Bin 0 -> 650896 bytes doc/src/pair_body_rounded_polygon.txt | 2 ++ doc/src/pair_body_rounded_polyhedron.txt | 2 ++ 3 files changed, 4 insertions(+) create mode 100644 doc/src/JPG/pair_body_rounded.png diff --git a/doc/src/JPG/pair_body_rounded.png b/doc/src/JPG/pair_body_rounded.png new file mode 100644 index 0000000000000000000000000000000000000000..709105ca325764adb567f123a8797ca4f76c581e GIT binary patch literal 650896 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 doWJ9faq;bKxzS6F1^V=2 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%0An-dSWxps@$8b?P(&1!CT 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


      X^VZ*cWvRFLwMi<)FT&p#ZnQ}kcIp% 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

      ?!}u8S5$3%($>9FnikOIcLtC;oJDh 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%0AGr z)A5)s!EsdSXUyd@r(Bk6FJA2abaUCKVt>Y+odtR?Zrk3HGv2X4>3s$hN7b>{`l`!+ z6y2D2yJ9D=M3_dJ%$f9HsiL|2669a&?kw9Br6ah(;GlEWC*$WedzLI*dbs$!>^@14 z;%o0>LiY$dGZ;VIe3IWZ#N~JC!qOrIpEaiwIBb93EKXDD&Io%eHLv>IhqDbnQ#`#V z&F;+D9Q)17FK|ZP-xk)^X{C?m9S-EVGxu4+AC^BBQgb^ZCM{sF;&M=1=y*xIapzi= zipcNl>{nG7T`2oDT}47*mXf~s^rS7VNp~uIe(daYFi$=FYnQ=l1D@cOQ`T``wmK^i zn!o4jyCcC~eRh8R)qYuKGxL4Ud0gJt{q;sq)xC<78w}rcO=J^$yYuw!@HnfNUG{pf zZo5x*W4QmlRey$PWss*3lM{#L$?vtob@SHuOEb>x=xNA%e7QKN=a-?QfJ*Pht=F!d zQ?<|7JN2o5xBldv(@i;gQv3gZ3o`!tWV*a{-fE%W#hu$E%g)uEyt;RHes!Lue)Y3S zdCTvmE}QdvzyH3yAJ5pm{oAu`$D6m0ck}%_oL%{>e{%ZzQ`>k7ETU8bFPesC*w``0 zY&y=#&-Z4={tBt&ez}UjF=+5hpgA*T4U!U)L zwDzf>-75YY8-2IfD(&`lH%@qX~Opt zdi4IaPpS96B{DUw_%~IWyF7*I!-fA3yW714T-Nz+PEKxfn7{vT)WOI`naY6aTEWWe zzCOP7E!>cCMfJ~T-kYDNXI=LZJbOfS>x!mTlF@Jfv~P=43ksfJwSC!zoyBM6+ZS_G z_|`J;xpOyn_&jsqZ1Lb$Y-v;D>@>M*EF3(m!$o2G+a11-XA3p3c|ET?eC7RpxKw`2AnBesm&ly$C~_%8H!r))PAn z-4{O;R+<+b9=EIF!hyHfBbdP`S;`A?PsoM+y8jTUwg~-^CIJr@8?_(%SVQ4Y)L?o#EcTzbwA?V4cYR$=fGM9lbc|f@iE6kEx*H zJ`OEH`R=XA*68rt-+{?!s?spZxl{jrD z^WX1a*yasA3=TXI4}GmoCy^`}>2=Vgs~ zbzVR1|4hicKTn}YMr>Pr#7>VZU4Hb@3*P%-?p>(b=sfL3qxDW_tmy*e^4{ zxdm&x`F1?HkXnCpt!|I}>fPKju5H2bes#}#%kNeGy!!ES{0s}#(0sLg;|Dv0-Fsvz zzdX1nd-_p2OY_k~{M;+O+rQiuVzAC%mv;P=WWHbT`jroV#BSHxk#ccKa@5bCm-W}{ z+2lWn%f0^7qfZtbApPTNu(|Z2C{gUhySBdG-tkVi-NgQ|MUOVUW6>naVi;lJC z%oTInZl}n7Iir2tEXw7-?U5=O)!S^k%T^vZ<05L!|EhiY{4K)4ug-m(e}7N?`b`yz z58qj|FV3)#y!-G+rocosp~y$#%n8Z4=Y#?pCN!#tWL^Ch9qRMbX6KyB120`37&P!1 zKdak&|J}-xz3VAyRgz{ z#|D8zmz@Ho7&b=StKHqVu_sSvwPl`$igV9t`XrV zjk;SR+zJmwowjt8OkB{pq`vE)euh|x`Ro1L=Tsa@oxIt)LZwQ!_?Y8ft5Cf;f4}Aa zuRQEi^K6ge?E7_3-R0xKm` z^z0-N_fx+Tq9#tvKYV@iJ-r=W{R^ARdUm~)-kytuslyY;7EhhFnb z7{5JPyzSq`yB20)`)b!ORI~8$pH*Y?eH3*;3D57nlUk>3LW1C&fr{`37fKWaH#`fu{uN8PRs2KNk>1-?%CqNeVy&}aMlvgI*Z zu2YwtntL18h0O9;b~#flWK)9UNoM{I_2VxM9+%t?@QC$WGn*kKsmo)}O|8JtXf6A8+Pc(J! zzkX!cENAun<&#fxY6@vc=Zj zpTF&Y$%D>huDs8yFT3|z|GKJtJO9ho0I?=Xms{TsZq-@Mx@qHsnUD3_)FuT=JZ=%& z8T4-wf4<%01s9Vy|2_M=zv@HVMd$A~wi(sc{eOJ!=lVaNS2gSJ;ATjR-E_N9R;>4L z>Ty=qo{NW>`ERbS_1z{Z5u7-B^yi51s88_le!|i?{V0sibsVqHxj$|rp1{) zJSxtuH|JgbiFt(!Y*e`l;z~MBTsb(gY-O%S!_NTor}v-M)&&;m&vmo?@y=I0hj(s( zoopY=o=pLQQyaX#+gGeVb!N$$eT#OeJe|5cW$XOPyAhT@_nFoD>F)UNw^**``!V5d z+hiB6ZP494H}vYaZ&Obj2gl9*t6FTXWMFaX)RjYWANkz5kDh$Ncii92Yvoq6G}%kj z=OnF-3;m$R~;wB8=Yoo>4xT>KKkjZ(ZVh@!`y<2eBRUb+;?tEQ|P_nY2DSv zYjEA|XTf<%GpG zk92cwOT$1$`!|=04+b8dmV4K;gW zU%mWUu3wvk{g?IYKZZ8niB1t>O1kTquC_&B(FvF2dFi{_yMuNfbygLb*pj9uFmdA^ zhLXG0{BMd6=og>a)c@!BZ2tdM^{e>|8JI%L>|XGfuamm4J?XtML&BX%cN@DOKQBqL zmQ{YJYdyP7_NcpnN$`>-%%7J%vs=Udc9*B%Y%5FVa*3u_&wJ`k%N?ALT>PCg&(h2{ zQZka^MMXoqS)pQQWuWXC9fy~e{IUBUcZNUDk6U#7=>O_(pPY9q8r{3VS$qFs$IAa- zzB0LnFj~59akS{OVxK73`FPp}&0SgN>h*4ZY+CA3%X-+hZ<7sf4pYKF`j_scHa zTe^M!q=^^*_N)8Ecjo18+I{@)3xW3J!;e!+)=x4BgslZ=f4qDlLz0=-_G?iqG)kAW zUAv$l;XLqXI z{H@nE>)czP@l8T?)`^U`BWp}LrzOSt%v5~E;xLOn^W!B8uLC_(!WkTeIe-1yKRu^5 zXWbr)SM{IsY?f>e{L|?(D}dKmZN<(d?=w%&n|b}+iPa2y>}!5EUDHkf_Ig=I^r_O! zzc(^UF8o>f{`nc3qVBFF@6eM+w0k~WF5lb~B;0c=U0Q|d#!O4iWyc*~SbZyBbVE<= zat_D-{}1}^%axpCJ}neIHE?dtuip3Z=2_pr1+G4SZw8;cSkH&cp4&|$T&xd1S$OrE zTlcL!4Yhu*b!{iVbKU+s`Cs0r*v0IBpB-#+{W9(Qdh7J>-_mp@M(%!U-sv08q_zFc zUdy=16!qnX-7x4jK(J<=dl?rtUHy5MQJHlKUp#EtxIfx9dxNkvBd6#C%7rD!8y z9QO6inTe5+*ZztfZ8>6gQ*{2B&j%TD=Ik~u%@kVnp?K}oAU9`r2bIZ*)@SDUY0u?5 zY;dJi)AvyHkKC)J<{@vb8~zvRPOI^Ea9GmFaOFhknU(cx8|L-cnyr>a(kyDhHpP>7KKWyPQ!*xBG>tRMUsMm(_Fk ze&5NjVp<|o|69GZTxNUiYz_4m&2O@7_kS+`%bn+&`0SN?I$UFGu&PILflG|2c^UeQ!bTQ9=^n-(2-A7}`hW6kh_p<%rNQXwF!a2(^wTW65l21w292{mABeZbnkfozn@1IIM2`F zm2Kd9a^kmI-NEv?yQ{4~=kXdhWFG!^<&nVMwQB#&j!wj+w0jQJWJUR?qPgR4{o}`*14TmMziG^BU3=ZeLfG%=U3O`sb+Ht4PgM zrk3u%lg+Buxa6Ifx0Kp#dvJ9GN}`)+h@cX(tEHf$mG0z`??oO(^$WDEq(U7lf5j-NYJ#! z!YHK9`tiP-+C|rGR^?Z7q^b5!&Q#lE_-c#6&*=jG{%$jGPI5M5U3>Uq&&eq_G(vv8 zuIIn~_W!ZE>02+bCWrT}TzBS#?JUm*QNg!`x89fSf3;R~C*wGK@7s#NwOt_B;vhcmKckEx$W)bHw}l zx{Bu$&K=Ws7EXE6qxk4ZrPaCvtNHeR`*v5}dR@Xo-fG^L*A4Y|E?xX0<<-(NtsM0~ zk^+k)`I&#^1#>O1SQPrqBS*{aO3jx;r&-1Q!sT;nS~s1Z)YnqfB^&$b;zS>XD{E(% zzi;N$w=KBt`h9<#LVS0>vc7cn&r0`qfivfRy6(2fnxE61&tNF{EcJd~Z}@la^!NLBFI0-E{kY@wIs2M^BSx3AIh!MOA1}JK zsq_8DQ+~IfosqQ9k1RT}dAGD|-=ha9CGE+%8`8MFvNcmB+6q?({n)p@)K;mPb)p_; z*mm93G5ey@?XMSE9sj#!Rm`50qhZm)6N66ebr+SKeA)E4_wlZmZdT$))&!i-JSea- z2WX>--B6ext_rHvP_em5*#LhNz;_&BS z*!N}azFeVtAy0)bHurzbX6|4*?>Nhd?ZvhIM_;|XrXqWDr}O8_Em4ejy{n-z%v5Y0l60 z+n@E`Tj)K(KKt>L$=dvP9$)I8^-JSgXSUtyoe96Wq8Y{7J!W?-`t#*by57qguXSyG z6Z!X*UXx?!32!?SZ@+R&Ug-ta_N|tAZzeHWOYb{>?Zny-vPadIFZ5#wtN(iLN60s$ z+*{L4U9T*+-Er&u{Q9-)J{T2WDZj7xBe7IN@aV%?{5*=0vmeAv^jfH~jzCLsLR(j|nTEY+Qc--|}L2o;y2Zb*=~ss5X6vOTpRE@84k4-5H8(^9p~`DcwV+mX4ZzU zEA&JItD3`_@~)@;zLRNexBj867H44ElWU)oW&6^4K|@(v58jwA-FlJPDQFF=;KTrz zBTEh_v^}phTAQ`)eaO#;GUv9rpBGf-ypeOOCp9`pv~A)0-+2*Xg$Zew)*MI??qJmE z*pj4nglSi&E&o=wkPR7yKbiSIEdGCW<(9jCM%lCf&hFvd_VJm~?X|3hD>pn{n0NVG zJg?=K*LA-&UP?0FZR=HU&1abRoROo+NVslZk9N9)fTa6$1rCAgZ7Q}AYx43;OPqta z%&l`X)+x_lvpIO{+q!0>MCFqVf=Z^3*QOU=`x?0S|GBqZxhEcGocvRf6LNO-e%p*A zlW*R7bfS9y$*UK1m$_-Zt^X#v<8%1W&7x`l-u`7>ek^~sbY+Wv^35mL_h-IZ91$+2 zyP93AYp46Ux@E7w|KFKfx^B9+g1cSu?-OO&0XrT!MQr@Oq1o`;!auBTayOD?`76%e zJn_E6R6)*x;j+c*$d#MVM0?}~My(NlapY)MUl-%7--*uaF3+g+`|kIA&DC{6QosDJ ziqEV46xh!9=JwLsYf6Fo|DtmDB~I$+FrKmg={}afFV1eQd%rKOME|+Xi|2JWCY0N! z&Apxcy7+o&xpioK#kZ68@<1~Bo^sjTTn7k?y;HtdK zIbT2Uq6 zbedjX_Ikf7daq^U=PE}o8J>ogs=VZ@ll|;u^fUiOUn_3^dAP0a`r6g*YTsg_IIS}` zCfy0|vB>)y{e~$_hQH~+kL?QAt`#3T-@Cqh>WN~%i8rTcx4#zjGTZm_HRtx)*_$1z z4kXsDzQb9*#j1#_G)0-=u^Vf`IobVkHNjzPN)+7tcEA0<%|udjlC**IzQ@13-qoCm zwT>@4_JxV@Ww3nB*Y@P?=3D|tJx^Zy{60%jKx_9Ku07YT9N(C?Ldd>qiuu8g(q7ek z`HTM#{gG6T-|_8%{OT>ar))lN^`7tOu&(D_;(>{_Rw8Ss+$sw+zVx83=aF32vRjEv zy1(;+YQti3UwyDG)6>3m(B+}5*+DNBFqXGP+)MtzlMVxOOFbucFUw&$5@*PN`R&O|^}S#n%1k+nIYUFlWhH z+4jXVKm(c)(nU&Ty-F*md}ron` z@llzctEY-LHFGJRIhLEaIjh=;>F&n32NCC##Ud=eHqNq1{*qX0ZFaQLQbt;Ybz7&f z@1;9CygiwAJ-aGhX7RdlPN>_Ss?&<0N|{Y5XM;FdGR(fM+;j7yxNPaM6E^dC8Rn=S z(4HYuJ4#wN5ap==`x@9UtL`^-Qr!NG<$yUnIztPt(zR0+6G6I-jv>mlg+(fWmq6p^*G?u zVe`+$vNvXQ-!T@C)feD6qrH63pQNO;Lp`YnRvce%v8pzT^V%$jS-tz^H*b;*+j6by z>!-^28k@&kKi12CZ@b%d$fq-IZ}ZN@{4YLDzgWJ%^k=5+?F{XEuBRUSQnP%fy!XxT z_gOb@mu%)!O-p;kBffpky5ong1?6r0%D_FFy(!T6=TdPleX|F5-2c~{S+;Tt({Gu* z^*3K>Xl=Z(@~ZZ}KS|HNgvX!OTeMlF>YY%{zuW)ru9GZ%|2llmrOmto+qJvAp3D>K zjg0(u_t4eM^>3fep6bo3rnZRp;|ing3#ZS%c4NNf!^xp9q7I7OU!l7quiPR^&(E#g z;+l|ROHknH&|gMAtqdy8j2~=TN_7;bq=aSOU!NNuwQ-H!{&cIKx1KCNyp3D@TFEPx z?;J7yPv*ESo)>-c#tVzgwVe_d6q&s?Uvt`gO+oQ#dG{&#Iu`!F?pLpNw{-5zlvH&- z{dr-8wt2m;ABq{& zuBIE=-Tk~rf#Z$H>Z#HTWf}wy{WuV@_730j1v%G#w-yvQO-Ve|#eeU__ez<&>$xY0 zo_k!dg(*deGxpH+4u*u6vz1q^KM|Yw#QDEXg7LX{i3O5z1tRF^|U}(%G0GaNoBTv}aWEL&%$ zSJU>(T(?`bQTpnIv(p~AJDhz!Upyk?NZj29rT|AQt?5#Rn)=Hxt?!pSo>3lWS$|)5rb+IGG|rh(wMW>F4hzRnT9*>~CgnwD(a!#4X5VSTlX z#`9<1jF_Xowb{bSJ$vopfcCE|ORQwu5@+3*{V(w8iefJ|*;Vg$&VT(X_0GA;BCUT5 z7E4ua`FrH+R5zdW3KqtwZOPYH?w7ayxXX~6jrUV(=2DH%wUJJjlsVca9%Ym$+_Pto z4M)?eRjV#t3Q}Gi?c-48>FF668JU^6Qt-~%676N|jtQH3W(jydx6)K{<;QxNk2Se@6W;rV%LdQfnOgEp z|Eb0#g-LsUo=bmsL#;kP>TL9sQ>VVm%*@DbnJRtoo808iN!}4HTNxM>wto;|SL-df z_Eb6VwD;Z>1y5|%bDuLNo#oSBeB@ls>&`znm%rP6*h=<=zv6Du6nm51?EQOxTuEvC z9N7J0wrBqHb1UzyO}?ltuzI{>$xG6aLrn#2t3p7bc)Fr!w{V-?eRg57s3fx7(z_Vz@EG z@o^eYWWPk-gA><-BbV(k++Sz5z06?IrX$~W`q=#cYb~XWldQh>Z`n+RIP8(c=>0vfb{{#>g`dlKS`*XZ%Tz`1DF}Z<{2qtV73j z{TIa#+gC5@Ds9eq!JxJ4U2(#-3Cl$O8D~1``gCU~=RCBK@pbX8GP0C8%XRrkzts1j zDwi`0Q#1}<`aE-ryWPYP7RLO{eh;_&J#V+%Tr)H6#m?YM*99-{xDq8@UtDc>R@HdD znAge@tF=?SmWNu+4NK67{rZPHw_Pr_=+eqBw{A}|diKoV{YRd!!LNL)cb;9{IjQJj z-EW^g?^d0B{{P?axn(X79JwSXeDmb+_e?tY#PfXjp2$aJ~4(YWlzS>QC;q);pK$|M|1^_r7y8 zr>(Qw6z{rO*hr@DYx{|n)|H=Znctt-Y-<1hXJBm8n-!i<)=0cw_3ZSt+P1vNg8G~H zBya6|`2PuW{>K*)J#5ai-`v#YU}HF_QKqlY%wqU|;p+AA|D6Bb2|jPTY43##d(xO? zT&A$N>R0@pzw>3Bt;~)5>3$7*=lHWbw>t>SZe~-OYEa(yVP@C0^}G) zS>DrY=g(PWQ0(X{n|UzACAY+OVsO~!?!1uZwV&VSNk8|kaSuMne)deawBDk>uvpwrpGCjCK5x?TIT&U+Bi(dUvgU z%gy%;e?AKR{aMrJTI?6GDd5rjSqV?&8JFA+sWVJ^al3wh;WJP5tGT;6KkRj2+c%-{ zOUs82jtg>}nziSJT{f**vu4YpJ1d^Mv6u_(>@+b?d^vUMR5K>oLb*WYzS(~k?Ry_Q zNAt=S-`v@^^=4iUIotp9RQ@@uI<1|BTjTw9+x%WC$iVmZ@;%!LvTLQ!Wi04f>i^H~ z`Z?D{*WW(p_wzB>?y^Z+m|;@>X_ox=&VG73w!g{BPTseB(*C_qRr}2Ls)<~m?`mDg zwBgrY!{;`W?X?dS{=c4YoVH2NvA65D)W*~Hx^q4z#D(>2aR1LJJNs1O3eKcI*P9-F ze>%G&H;t9))03TEy^BIM3&W;Xi1004zUNcOLDkDwoy&5)d0iZi?+x($X}X!4cft3Y z-|ft{IMhw6{`J4;4ZrleKi7R{e@OZl61rH?tVi8#@tXcgV)n}gdRb1*^mR#CllVVc z+2s1MoeHbw|M_&I>GLI!k;;>nUYsO*bbgK&Ljx0Y()8kY^(7JQf6m^!{=a9V_tujU zaXgEhgYWB|S!*Au8zslIh4I~Vmy+Orv5ED&gZX6o7Cqc^QMPYuqfl9IT9?2fk1Y%$ zC%)Gn-O5vNf?-S;-V`L0KtFG&7a7(HFTJyieIJzGfzx%L)g zOv14Z$su!M}u_x)BRo)WM&#LKpzJkein!)cG8Lrk@ z{hP_Ack{qrs|W606Mu%XmOEyA|Lpz0XJh))Gro^sCf3V^*MGjiw6pNKAlr%87ZSY{ zvLk|K{yA;9J52Ov9Ya8H@Z`_$Ce)mcb~bV4OVa5GJhl4L$({Gt$83~RifNCZR_~#< zA?@w<9eE-vdc*6@{@rBj&e*hgnS-d5x|sTevxa>dhq)MY`*%L^vY8w2a-8?~XXCHt z;p|7XjCmL`cPed-i@zAmx&L#e($77dRr6%}dc{Cf`q|D0Czd#I ztQB?Lxmz(pOGCN#)Rw5LxwE^LZkE1yfj9chjDMNS*Sa(sM)w`-;QiVm%*&Hz<{7u3 zB+6K@c!fwrw(qRfah0z3ir3GxbvM0p%hTm`ie0vYTGNg-AGwu-%1sV9>D;P5&wAB; z-HQz?-JOn!JvsS9P*KVDF2{>yvN^qx6E?a~VuRNy+`XQI*@`9|U7iyx2w&71SG zZ&7mVo?V&xwo{DtCn&SK{X2K`^6y2{=dVaPzS38c=W|fV3y(*6OQ)?oVmWKlo9U-Q z_3xHM{xb@nUz>0+EOXzh$wyY}2sqB{t)7>bv9LVv(}wHs{ZG8iI2n@n@OgP()t(1h z%lmJrhX>`jm>3=t;R&cZ7JdHNdHb~g^Bg{!9=^4G{olL)#P3Bu*}KlvuI*p(tJ>x7 zFYVJTn-|>}VwO1Nbkoc0qD7KS23hwHdCs^dv+?&r^PEc$%e|*R@%f&&^JAxdsQmt$ zzuws@FvOjo|DP*7y(N&JIqz@E6}}E87l%FnraJcBKk{h);mh+aGVce=t%{V?SNwcQ zaSi(=iSj$w-d_8i##mzidE4`Ubz$bKmllV-6O7`p7Z`;`< zZ)_6dl3(}8|LXDluqj<8yZCQ?wa%4@+kMziZ{l;i>f436k5Uq_VX^+Z2=&@OhXJbv|Q|11P`{iA7*FHK?vQ$v@?u0l0 zC){LSSehisdnG(n$L7ZZeKx*^_*E*?C-Jb>C>CGI%|4dIQgZ&YkIT;3GZ{~hT|Bx( zXzQh&yngO$&fSg-^YQPSyg|7B(af?n@;%I&vm56s+Kl>5m7t-e-^V-s0Gn z#dqMNMIqPz`TtL@@qF(;%P9BV9@YC-t{D`kJ{6l?a<8iW-tI5&HfP_L-5qi({H#Y} zdFsiJ!5vO3-k4wb6V6|4U@jtSyWS%0I@3v~`Z;IIf24-q-m@anEbqm-C05rM60P}i zpH8d#ywLme-R%tyeKPxk!yNx^+~ItXL2%2zZ*y<&J3CYTV)l!5f%XA`yVb+}Z z!*};t7fXm#^7$QKuTFk%mG<|z%kxC`*+LT~PtDlu;A<1Lg~OR+((Z(Wi%-nC^qwuQ zDmd?Zt9Go;e{{#*ymQh z+PHW1qM0r&7Fw0HPBZuO2xQIM`Nf=*S614|`Tl}4`#y(<&o%mUZ@w#QgQi?!z?5G{ z;uJnFh`0E;w&|~c-75C45wr6Q{KS}UEo)Tz^-FpEdE0+C)*UU0zLoUk{{CBA-rx22 ziE8+?_LqFwvySF%C%;XN>|btgxy_<}b6jWXfnu*+hXYl>>BiRbVPI3F*UBkfi_ex` z5%})%pmXZ&-0V+h&Hshu?tYN%JK@&T(jJW$*K+;*w$*oUJG_^1VJU}0_S_)F%&-K- zmhUg$bXC6#)!&mgY0XW=|JgU(wtv*Ns`hBi+}z>-+Vv)9^yGGIIirHAVCMnhGa^S$ z?YMgU`i1?f98B4lCf#W&Y;cs>B`4b^FmZX^oFtKrSKehraTp})if)`^ywgGBW@2?- z(pf#T2icWNp1B;~QuVOi-?rlI)#>*CKCW`R_R;XmqmAJ)5qq-*#O=!-yUE&jMmYB$ zUin46|L@uZNzY~W9ln(tzl7_q(Uh|Ofa6jE;&KyLR!chE&Hny(@qw ztGqMD%{@7{Dp=m_65b!*QSz?#<|mJsnLAp;bmp(9P@fgi@CtM$!NIzYFOBVQLU)?6 zyLkK)xVX-j+4alP{;a;6b!)$Un4B2q669EB_2kNFK1)-p%Qpp?Usw0f)DWBd{8i9P zPBxG3mev`EAKusi8tD3w`Q*kWRn^$1+^hI!-ncx4jotC(tE;O|2nTs8?zyU(byQ6> zce>fK2u6-AS^E(Mz|^px(?U>E+{jD86j8#FQ=8CV}g0}zD{mHb;GVtV%uQlHl z(~nF#~&d(Uxgx$T}!3>c@ephh!4H1>$?5r{90|_oy=yPHha6j{N&;F*S0Ml=(^rL6MPo%n1D8?)o2S;KP@j(PE7R>Zr(3+g^7-7GyEBXV zUd-fFb72%taG2C2$SN3cvao#F?tAb1U%h+zZYHnJ?$brrK3`5z*g(6u_;ZtLytuj87@$3t1feY&3h`g&A<&jEkCx9dKa>1!;x|H!TSfS0Z~ z^Y;zw&L7?F+Um_GyqlSs(viz{vXrke7`MW&HtK9r#CuCtAD$_Rd7Mf zgf$l}3p{+>Ud*&**?E6|_0x{ze}7xU4oqn1J|}MT`^r-FlKZMNei>hQ-?8}o&S&<; z@9c}`7awOhFxOrFQt`p`#kYh#Hw!0kXchR-U)}7$ZNIasG)7xlQ(yL;UFg|2*Vq3( zS^B6kwmi$Ju{2`ugS$MhG&O!VO1f|fyla|y-pxhM#-qe;dv&%Fr^eZN;du=wX00n0 z^QpBpFG{(;S7kAuZCDnE(Ax8JzI^`BdVg)y)=cKqDU;Wx$ds8Ky^M zsKqh}RBhlm+mW><=i9P_r<7$o8BFA>E+30O_pj_H*YT4nr-WRV95`~d(9p}S@vO(~ z&P8ATJm>#&nAh>m(e?EeQJbH*wX;lK^lC+U+o~f*69dU$vq$@8`SVA3Umz4=(B3X|3VbBawkq@1OMe84;UO966bkCkkBJmg~Af$6NU6Ea&rA z^BdQDD&OuePp-JuR{A*eY{Kt0wcWM3 z)8y?d>2a$XqMG&SET_>i*EH=$npc{l6!jHiup?f6MY~@Q&GBy&|-sK=WeF_j6~< z*WXTB%{X7OC~*4zpt6S5^0Dm-E2hq`nPGnJ*ath=?bpgxjh%C1c5abL3O95)+xNRJ zkA=bLeq7Ls`|CCq{dIcuOs)0ot&-epYC#*tC6v@%n#Xn)i4L?dr_?dADs{Ktn<1->%fBZ*4u6MeV=8K{EJ>X4i-9 zQLEa{8J~Z<`ybOHyOK~gw*A7OLS?}*g+?O>jwH2{m%jF&5(;sO*fuqC^Y3$0`POy? zZpz?XS(PppGM!^~VD{(F5lm+nzTUs?wboJ_rnvz&sa+Ls3Qf!R3IAQm%w$`^GRx#T zf2Y>t3k%crTBh3W(v>nRdF!XUbP0=t%eF0FP6n&0FgOM=_~@h$o4(XFH-7cY4;vY(?rn`(@Nv@Y0|xG2Id}x_dw-J)Q+hS)`tS@MFjI%31#|EKm|~vi;Ci9(Q*0P38q(_S}2>nfK__?dy&f z>&1SJ*3nUHm%nr>Dea|Ue9ZLN)n97;nqyb}%)K+KeNE`who25kF}C%&^7YfqnVpx4 z?^m1V=j_VA|E_oYtMZRITdwQZJ)V5_XRyhMe74=9ANEMHrawqBKd|*?etWOqqM9lf z_VrbpjndT4bFM8gjy%nI>{tn#218bdv-`eMM&XoirYk4^JEGsaBInzcKfWfHx4++a zwNRfcrCx*4Vcq|iXZufQE>f*p7kxHpRmTZ_zj+&Nez#8*T$SakoY7VJZoZ!WAZZXoOCiHsRL8rK!1h7Vb!S+Sb**VQSWv zC(EPuv{&)_tE;y=@bA-F8gpG$>Fh#b!Q7bmPoGwQxgoqKEjA%m?xgW^=O5ak8n2uj zA`@RtKm1Eq>Vo}TEdi$pyMw+iK9e3;xQJCcJwG&QTdum0r{?B8l`~|nf6|%dz`uGv z`{kJhSw!-Y@hu0_w>()MHIAh zw`4!xH(ffS>Yn1x5v9FHJ zT*%h=;LnF^^``^p+WlFO79B46{?*dYpRyzw4_Jlz-Mrdb{!cmks`TsGwQ1YFS(J#L zS@ySyi7V)}Y3SwIR)VbSi&&*YwqB|Evt4S1aUQyQ!nO-;-TFK6bltq@ zI^m~#?j6e(-qot{$xOw$bnVZXZR-tNeP3UHsu$sUj-8pg`Bv+~i@ZGBcy_YwZ#>Y! z!XnJQaEiA}!h`?@mF5oN&LwB2Dff%^A7|TJXhm! zRe1X9WaD8jy%=+52jiFD`niMq?N18dOEJ$rJij{5=*LRcgHLVJ^bG^2EByTxraO&K z@=tMpEu)8~YC@#gmqpwW`F?`h4a5J#4@3Hm85%!*AU1Vodt^y*Nozr}Bs5 z+GMZS|5R_j2~FVR?0bwife?JPTCz3sW@|2bSa_U-n4 zv#a}z4`;MCxNgqZbuazZb8q)m55?2=zjxf(AsD;*rMyvB&U>k)XI_6YWOp*$`T4cS zrnLzwn{%}Cy~X#He)`415~S7re9Co~|2LM`_KIx#^I7ugvECQAO0qYdE8D#DaMis= zyG<{J&h%zq->=Y#o$TDT`A}NF{SS_4j*{%oeNYsUt!RAb-F?9i)-7GHJVC-8@IR5 zRxUc#BpAlltM{=Un6{WND>h`V(j58acK?cXd=_0c zjE#1iUF+iB^zf(f4L`N2|G^1w!&rP=RvGj=7A`us`pfG#D=QD{ev!Ph@#MAlTMe%5 z`G3j#shj$$`r|jtr#U}+{$bnt8J!LbY@U16AOG!sTYS&*Z@1_CIrKv87th;(SWj_= zI^m=>KOZdpv&fJk;db=pD5tK#iHvhU=dO6dRL0eY%mUEW^Ufq z0LtcBLRELB2JKjAZnt!KJEzuDT(H=355e3Tkyc`P6?M_=r9 zqUNN6iijnxGn?a8H@K-QwToJ(x?C!?WtwZApZDWZ_n#k^_Y`dnvnelLbMElu_X)*H z-)3w7XJ&YLoNIwj>i=u&-yc%uE9UNwn4sFCq|(BoplX<2S-=qFb$eUxZNBKa>|NSH zr#^j&-m{By;mYE)Yi{p8L(;c zSyq&8;D%%y&z)hbw=$)vY5gt=`WJrVrS+op$FF8DcojEY@x}J@a`PqLdo#!ExgRF6 zhyCn~1KDExem+U=@2^e$w_e53cUIZUqAwEykMr3taGl4ib@|tJ?J0F1zn!jBo>O=H z%N;GTyYa5;e!Tg(z35Ko?;U%NuZxa!xp!Vld*82wH#?@^tIB@Y6kjjev+S&O$(!OQ z3l_KWy}ab~zTC~kEPLt8U$fUt=}Falvd)+L>qNffyGaQF<)C(hBX2`ZWl3(poRcXG z92~A*x3=xBH1>8~r@Q0I)S}qQi`rHzeP-yZQ&U)a<=r~ra`&xwl?om-UwGqEe^p7> zsbYWPf~QG_GHtJyd2VESkj5}EYR`?jUy^%1ttyIjj8vVL5Z&ao&P9-y^Uzn-C}p)h zjSri=qfP!-emJ0N`z=^ZNaO-CyhXh1K)b$*=vkuA5`_d};B@+r~#W`G5Yg#(H0RalhM1+h==P6_nmK^X}Uy z&S>Ai^W&ST``ae(T>k&@m1{;G6Uuk_yLh}cd)26^{QmZtOzWASW^Ku=VY}+EruV7h zrP)t|+8la8p0 zJO6D$74y~4tZ#ci%}(F{W3`^J(>a+w$+Nn@+#YKfhx^eB+7}FIPC$wlc98JvG1hFE*;;Zra!5j!L(FeEnj6 zI)9OG*XpY-lD{r^{_{wS`g77(T(0oyju$_duzp_dBU}Cd{`o@}_V4+3Vr%m()lJOK zZ+Gnw*z;ud@5Sv)PqCF}Ezdo;DxoetAt4|blI$D=S%vc!PDzc-RCjjq(K)HA^oS*R z=9afh7Mqpj+|9Uk{prk!?83eOi~{#D&1v6YT2-qSp{ey*cE$W`-%6#uX&;wlZmm0= z_ViGx(JAXku^(O@?`)SlxO_A7OVPE>>ztPKJUf+o#Ul3jE=Bg|w>WHT+`<{NcfZ-2 zab&~Q-CL$9Xr6Fu(g{BlbmW%d++~}CRTS4U-BwaMz3I>|-7{-=&oinBb*30`#=lqn zAt-Pu|02t-x~8bO_~mCzz1>e3?M<84e$ec|vP$`VvfN%LwfWx!1We988W4Bnz_Xp@ z|25xfe)$yq`}MP_&;Mllh2{h@+_qO{V!f2pXINo)gQ-PliHOF0y->9hp+$eLH_mi^ zJZGE4(eV6ZcfTz=FJ0>4xKr!$g(BV~^Z!4NIJ+?VMe*0g>1K1je{e1L`50tVeveUK zr?&nsuWc~T!G;5yB)8A8d7=NFZPofsr&nBVdwaijyHNGl?U(iTzMQD=nYDjT^?}F5 zanYsk8`zAh>~FuBswiT1GxxW}jxffEC*@*6!XH#G{yn4myguUp_07IpwI<9o|9bb% zg~rY)QD)aZ9?%(2^(9mphw(fUBTE66um3P#t($@1m$y}Cm)#AtL zHIYwURiAqP4q4yXcI8O%AD)#{h4Zql{;Y4c1Y+*Y7{^+G;`D_a+hN3(Mxn&(sl}xWF*D1YY4Xhy|8$$9YXX$sr)jpps&w8}rgA zcvH_Mu87Nt-=|&P$2Up%Q^a$@0tcnY%$*aRQ@%z&a19Ub-p&%r%aO4oL1}5s_0m$K zpf^q`mzEw~zo*B2UdaBn96G05JC1cre(ILV{-SV4+c2e0ukq~3Bl+#$ekER*n0nMz zj8l_kfllV;0#=>r3K1FJl?*|rmQ39+Xkyzi-=U?9~>(ETv9b~(zgE`yny|qKc|BpYS7rmPo^y!iC z_iPS@{jJJRS2ujIa zyCXJr``hhEx;HUmitoOCzqh_;a9Fue(woH*@!ue{ZKR?F#){SMMA*~AB+^@3)eIpFD&u5x3i2ahgY3W{^#%;{b zaLb@RYiD}cjk^Z@>ATKW`!#DhoEPBKKApR$o$uwH8tt}22?w{=y_@pKl_B6=mAc*L8%Y6Q4wv`O zzx;1Y`wo$uF{yQrppWn*JA6Oj=W99$$!6h2XQD0x!hu#bK=sRol2<_eVdm0Flb%KXH1xwFfr6= zdQjA~sXl7VayHq=MK0xY-f36bQ!nsKYQ;f`Km19bSFNA(<4*aNi+2?r9?q3t_pICJ ziTsueGUkjLf4}T6KR#({oNa~t`L9WHGI>_4z9Gr6pW*Gk6WB|$*_+;-eljeO+0R-!2^)?TeM$WrMF)_Sv65BkJaVs{7ZLK6z_qhbMK0H!q9t zd$GW5CnwJ{{D>qNex7r!nY;*k@*PQkD`s8$^XuF0BJ*OSTK;!YF?*Ly3f5-huOcFrGL%xpcNeMI zu5hs3;>O>-{m7dOhXeZ_rx>k!Y~kgo8ER0R*1Y+gmW;)j+IOlicRX3om(pQ%|I*H& z3zv5uShd&c+`reN^7jk=`nSvYOiPUnQ+jC0G&LxzD28LA0Ox5TR#w(+xuT+?OM^7E zGpn_p2W7m9@tWziv?OQUneJ`=*XxtjUVYduT+)`CC~u>#oH2*Ztc3^}prHV8sX8bpaLUR~}{jFL6bq=I2{~|C0;~9)Dlu zchc}?aBEH3wkOZt@_QXiEn9kLdF|$=ESux5!N;Gn zO`Cgb`R1v6SLUn^x34exZ^XdKW4$PLvaa5l1#SX%*I5}_tG`-lOndUXb^oGs4|L{z zIyC7|;Bna<+}rk53wr3!|Lfd0HM^m$_mc&~TBU3L_B-!~{(3xr*`D&m=}8I|H`h*j z@sGvsUls4po;97GTf0qH1Y2~g+y4*#x8gBh4)5P1+w*2l{<(IMTGXWtyL>~Aq|3I1 z3jg1EI-}p&zW&l8_5Qoo_XN77-|8qYTQS{l*817Gy86fF#!o-KceBh^|LDI9<@#Q+ zvHd@6aHO}F>Re@IayRR%F&Op97Z-pWj)tJ!PH1 z8=ob@*FGKo?fd)u+0A+u^=I>TzhYN>+magTlp-2sGC40Y%+b*?FfdSQqQ}ypSuE2P z&Q@jLF222uo11&`$t7wBzqTH{eErJKG9{_a{?|F)Ts~{{uwI_0bK3JWvcKm~{>5}) z-d_Km#eWWYrazw=bSLYFzSqlJNAr&CI5TZ=Rk_~EH%0y1yHZ$Nn9goFxWMXzm6g`b z&C$~%t}t&laaP$ff8wfC)eZkXSO5DOX>n&-x}DLI*biIhBo-b$^7|OWgcpCVoOtIj zt#MP=tYeeT)&CHDyZ_69<>~uNg35o)W)!Trb~i6A)}-d#Cex|+Jm)H}p1JuikF}t3 zYt*W;HA@TBzVDFUEuFIS+OD6Q85wkHe@^P$xzLvX{^@VEhkiV7XJF_~d&Mj^)9&vs z^JSlmOjjuXIG=j_-0$N_$Mj>5U!7C=yI1@DQ5oOG8^3(M!^|tS_*dDLaMxFdZpy5R zI_es4zgyAoeCozNkiWjq%K&(URs!erbs-JS_s#?8~?mMYeo2bv!UhCDo}dZhL5TifmnL`(B6N(Tjtm zY?n<5^5)yIEoG?!)9vEpg)?l~7tU+g@%&xz(#tP>)R@C}zU&D)_3P<%w(Wmc|CnI+ zYQFjE)KH@joF@v;&HNDPcVd~WRQ>n%$;-hvwX4NYH4buqadR-e|?tdgs*K5|79KRpHE|t`*S8G?V0|) z>OV~jcVFAFOsaX|rfH`3XKIx#3b+_NzQ4P>G)wOyQ{tloyEU4ovYiRJo3Q%A&m+N) z9OHHVDR<3=tp&LAp!BJzpV!ulddyu1BkUe7WWTna_xSsN_fJ=eq_FF}zvG|d5@GiC zzWh4Y2YkB|JXW9Z-tlO5<3exi=%#Gbnux!PzSl-B6x>^OW#^24 zWzvd&GJ>t&-?J^VDfu)<^lFVooxXU7cZ#Z-o|jib!cC3l^VF+^ zPCa-0>=ge1ri?(LS7#6HWS#X-Z(n`xi?@?yefIvl?0WOYrStFiCyFt2p5y=j)#IVO z%BAv^cJmAF?Rjzg;_~R=_%f|s>6t&eb~TrmXl~P=yjkE$z~xx;e7AdRbiT-5TB(^N z-L$0FyNO}qwwRLIT-K26mwOzBw!Q7JR!{61;`Saf-occOnw~wp#S6}@C zj&ttje}A4mE6td2#dv-HJCB>8OD|WbbgUlZ|?1=->&R!Q)`&6FKD#!eqd@6b6DYdRdLmU1@8oE%~vlMj8x=c5uCE< zjZE@Pv7@S?;Q>!4l)L0VRbW^e@gqxeYXLXg|J5Akd&+9x-`t%!!`9R8-@!w_``%4j zvBq-ZyHBhg4|I0?y(6x)ac+KHb;|BN$_hV46ONsFx&ExzbVd!UZx@a^avc@;bNfus1Huj5xQxO;wI z{9~RBftxZXe+Ni4b2lfsyv$sGe}A1WL;01f z$G30X)TYPMX8ibRb@J0MZ|-z``nH9wl&`BU&7k#|8;zhrsc zY@Fomy)|I+>KC5H25n(G@~l$cuUXEt-n@LFtxUyh*N<0cEZ@Uo&0f7|qOGpDium5b z6SBn%W0&8tT4l)8?l5m6*TjSe(`Q;*N0`oBuTf!j1~_j^|hEZ|U@ zu_e5AS$;x7K<*67nT?LUibl_c85AU4o^biyDtvXGcrPYwi(MK=h%#kybQdp zH>{^~cPp7~T%lUG?NJcZU$J)4n4>-nG1p6P6yD`Ao^C0bR(5%2$*n*yj&|w(+O-!i z2(AqFJKlboRe^D5>+$KKeKQyG6*l&y>b@;Mas2(nOD_X|gjK z*^g{bjf}b<^Ll#*bMcQw+P7BN2smuF(f#UjqbK(AYbzU_hIQw;UToUJP<3G8?579c z3*2l!m#}W_LG#^PC!Z6X_~z=;hC5vGhW{ljzHHJ=;Xc+h)AIDf!)N4qwlO3=n;9)v z{Pf~4n@w&rtFO=SzaF;qv$|MA)1gQ1|5koIYpP;(@9(XnYn87((hAy??!E8j=kQ~% z8}`4wZ#8?p!n5AbYX04#>8AtN_wLW(H}J?T-czBv`TN$qkL6loQ?JE+YS8MsDse^L zXB?}K-U*-eZ`-;D7i&b!wx!k@nFL>!y-1y$+Z%o1ZAg(a-*d~Cl4)13`|f{ut)J1O zWZ&NFdIwYI+tttiS8|G#*~=s4WH8&>`M(dub|3nwYVc-O<8D?a)1B?Uysy~i`Dq$9 zwTZ^fHCixZ&*x4q9*ge#)r;n+RpsRI7iu^Nphu1@8@@nI1ND6P$xyOw`(%MLMz>zq2L zPnp_Z&pedp`Y?LOYyMeN`gii5Rpw6kVC@j*KJ|;`>!@Sr=CX;pRrg;CdYK#kl-+n^ z{jaOlXC)hw(x%5Ksm=E>F<7A{;gYpn@cF#hAQ`@WU*~Zy<(itY#K}O@A>ru}L2);+ zjqJ9j@Akyz_VM`dZ09_Xdiz0$>F4uoMv1vyyV|ewYH>2Lykv7zSfuk> z_r&e@jSQMP74KhNeQI*i`C9@XAHR0JeRS4T|47!^FBMv2H)eC4bNelwFt28Uo#?)l zGqwNk?vQJ^{e4Yh?%O+|63jO&p5MD|$C|M4`we4$jdV|~2X+6?wRFtw>J?@y$#^g| z!rJLenIA=12 z1Vwgn26Sbl{=WP5!1AQeL38`xZ`cyPsYriuY0h0Am#DvYN@H~!_~xglr!76em)@~c zC-~VE%hb%YATQA~bFY6mWPkH--;u}XcP>peTCz{*%>Uxv*iT9qW?tC#{MV$dvSqVt zf4a)wExTM^TUB^Sh||MbacPUl1Sf&Rmvy)2WG)R_dBAZ++Iidl#rt;bOgqoa_(dTs z_`@x!SndUfx7+gXDEe!Wbf@Z_T}$Gn`uq-yQ>&W~Za=A4t+psV^2DkceTqt4I!CwY z$}tMKyuP<9g<;~K=j__eoVzmju|@N||1tH!A-(PU|6TXEQoQ`{*UzD%`^8xVxQ}%` z@B8iCvcTr=QFFKQhV4~n)Hgj0G-N7k_S>z-FeSGBi`}#b0p4ZeH6q3F(D0z`vmIj( zDR0^AKfNLL`&(JxCw?=(dz&6}w7-0SFScBB-xlu8_f|Jwc+LF0`FP&>+5Jc6F1CJSdg@|R-#5lYTu9GW3bU`<9P|HU{C^w2dYQ6!57ItVUkzD& z_f{0crR)9ot|vJZe4B8g%RIkcty-I*q1*pes{3+{kgw7PD>PrsJuo58@@Lvzx!1nG zmMF1CY0KNxx!;?k^6ky_m7*L8f}d-h=DoNuEo6=J^uVJ}%>z&6WeC>TKe;gbKGW-E zv6VCLyPTK2qLX!Aq@v1g(~_lI7%aZuHQdALYF2kB_3w|$9|kfFUoITpC03>S>}KkE z%@v#EpP%Dozwzlz-R_h~rqAmnB(A8QIdkT~0ycqZYS-meHm63;a-W*Qs5ddCNnzTg zNt_$EM zqHCWkU!1r!X^olqnaFLKm(})d3ZD@1|L?cG<;mBl{;U3CC#GE8=A!)GZOV-Q4}Wi5 z&|S6V>ZCQxR^PWfa8N#%LGfbRlcwG7Et8krZFjQ|?~{+R?>}oi|K{?y32$r9Or#zsH5&Np332auJbic%)@4xEptEs&;r>A@&$64c=RaMt$%aTVvmGT^w--wOUjcz@s{y8us%Eg@@lvJuHSd&sJ&X-5L09Ma5=72d%1fTjhtH=4{mELG|Wl}F#a&7 z`MwJ3ew(fawvmj#K=s(-$V%{4=8>8b-um=zXmNj$l!(f!Yj<YM|@uQ+$|^ZM^+Qk}oy zmG{w@or+;~;T+Nnt4re7zFo|ceui_)`IFNh91Ct<@#Oxzzi%%6tx{PPvd(?S`v0%q zE#}+#Aol%^cd^XhK0H1vx98xsMUPX@@B4RmU9fi;Qj2?yFWnPO5EY5Ae5jqaPxQM)+3yc~876+7 z^(_16o)>ei)7zPaB(CjGo@}GZ`$|*9BSSwoj)A$Q@44;QS3P(8r6!lQ|9<>3Hs8A7 zaO&L8E8kk~udVohbg#a|;{7*2o!NL=-eQv>q^lu)zbM$4*Cl_!3~?XXSXI}Qh(?>##&((~@`liSPrZWnvY z^JLGm+hF&6zWvM(*N$_WEfhHL?Ck8hrrF`^|72d=zBz8zuhgTKw&gY3#rxkEpOK7> zet#!vdK>Gu+~t=un_{nQdv17mm-(8aS_z*iuZpkPf4Fe-=jECoPun){7EjN=QXSlp zarH*Sfl z*pfWTl&v!0_UAVrPWJVw@2UUzwsB#=%q)>-7thW;C2yF>TLAuGRGwk0+maB{FxN^c}Onsk;*z z>VCZ06smowab{vOpI)ND(GvSJT-*0K9r<5%er3uL9*gC?^XW1 z^iNj!U*n!Luai_p%%Aa%e@Vkl?uceQl{it5VcTc+T)ZP2N z*7fB|2G{Dp6dY!pUM(JH@$J^Ui@8fWdfFWCDt+24{@w0dMo+E5k9mdhKR-OLe{(a7 z`{_mHVg}dK_wN2|5EP9I5R~z${r7O?MhEV8vuN{F56=@b7B{UsF8}-JzWP5;R{j3I zyU;Ih(vi*UeQF;(QB+N=mSBkZ@#%hFmjpeA_j5TEvX&q#922W0jA+Yz*msz01ooYO^W_J41M?k>rk3 zg)-)I1HCpr7Ta&R@yUzix59p5lkczYT3qn$fAjgN!G28*&gCsXo=#v+yHj-djkezZ z-1Fz6+Em|&n*^9$-}ao9mDSbNwbNzMf&~g|?hAFy78el_5ffV$q&e5_1bdb7fo)sQ zcrUmwWNgO&C7LHTFCc#6tJ2%`|1V~=KluInIPdSqWFyB#lV-?si%)szO+{NuTo z4K|f0=RWoPc%)&yeA1od9QlmOYrBi%?26w%*xmgzocBeDOYQl+|DM&ymtTDO_nY6l z3%ibchO@~0dhq*xwEeeJ9*=X3bDrHv-*xk3&N^YeobA_dmfL(d@O3e}$(zz?eBLKl zr~S>&h`lq}aqEWQ`;HIWUp!h}y}VxDJNRX_tgpg`KdYry$BP+m?fNrG%5p;KYX8)in%h}5e*B$YA1r-ybC`Gf_Df3?BYxlg;AiPu^5??jcmEEZ zKhqk$?aOBML%v`7_1EnBaNvV#kJqfQI_>SQn;#!~(aioPHe&K=hf|+9&)EFGJKcHZ zlG`tTIIrGz6Ey53ZE)=c8{1YU->lm~%NVb-Zayr)RVB1)$&}V}q+vL#SozYp;L5 zWo%8|a_@xnzFfy(@kRWfq}}y!C;i-jJzqK)?Z3TUE3~p@LX(3_if3oX(;aD-7;kJ_ zTUpF-YmSY=!KG7f>95GW-B{hv{x7jKFCm~_(JJ=uTkZIt|K7!% z*}o_KGXJ}pxBraUwrhRZqd4(eqwei3U)tC2|M6$>^|+b`^9s3}cz)gca%i!5-<_=r zMYnDpSnw?1!e{^FYx0%n{%(({{&_gK>B33=SmU1yZB|;(FFYMvZ@v7#p6V|5b$=cnU%NKfmZLM(9;Wpl`>v<9W-}3kCCi>NV-)pz)*1uWZe0qv0y^*e={D%TA3(t!T zxbx=6!tKX*yZBh_uYNRlzinB}>`SWi{c2v#D^xV?=br!bY2QRaUddB_qBaZHzTrta zJZ1O0&ZoA2nv~0Uu3p&e7QW{1hOjjgGXkPH+LnLYyZ+|tjqi3?mA+zG@Y3%r>te@d zwwaHnA}tW?^Nda=&m#REBv3q zRb^(>-;>oFOR9PAY!6)eeM4%%8*PWQ^JP2YeRt%0YV>y7%UnDsQ($axqf8;0Z}Z|OqI+uG;vd7~b>)E9IZr%I-2ER89Y|g1o?m8E{iyR6KYwQVYonAC6K3b{vkXwv)X?DY zS*3gW(y=QYUX6=oZoWIP#MZ#ZeOgxe%#*C%6JGCHclyk_gdGpAT)%&--)`BxI`%V( zO>1phrxn$kFbGby=Fcw6{(E_XqxQFVObs4fj1xDoayzKDlsx20WPPQ5GG)?CQ+v6z zUAo@VI|CNnU*vm2Q!6_!GHhL4_rKLsxFUY&?$l*&&gDs)uCVdhX=}fir5}HEu%2zW z{NHFntn=2ixBS}T^?&ca`M$ixR8RFm-=3#CSNq$p^1i%e;v$0;wHg~d)<@br|9dij zk6q@S$@<5aoGE)(e8}^7zfIbY19H})j`PjeFHAeR=ik%Cw`Hx(yn7>GeEy*Se$FMG z_kkNzn6`pZ__qYNzo0U0H3%U+()G-ov|Y1T=Jn9G)C= ze&vDlkH6o2yQAQH-f81yYwAB7U|NmvXJ1&>8+~@8;XzDnCpw_#(PF{O+BtGVOY%ENK^>^9S{Jyl#?CU;o$p`Ye&j zh6V;Vlq95Tt=kq}e64=S#HyhuXl74Rne5XgmtSrQdTNom)I}|LTUqh0v$x;B{dBN~ zf#*ccK66Hn2cNEL=XJ{|U6wFPInir=Z-r#>?QPv%T}(|olB8rWN|q@+6yiItR1o~FdI_tN*r2?n=cQh@;~JWaJl&Y%>MZWZyq?Zf6tiNB@@9Jm+8zZb%m!% zY-+#nt(aYPpVN-c+~RS=^(0%_LUS#~3o6{k%`;Y&+bG3Eyi|W~X8q^ihF4X`>ub#a zzq-5n(tYE)J-=VX>era=;lA^4BJ2G>8%sQ>{EV7!b8fPp z?5ghzu$Q^H>SAv7_7UimzRepi_h)K(E|(G1eayVrd=p1e%LS%_F4o8(rVTo? zZ|ZKy-J96(BCk;_=i;3zqnTGkD&L&QU9d>*-_b+S9HOtc&v0JGcAImH$>gkSwGTx3 z`Tl&Kt6l%=+3nW*HQ@%qhte5iGMY z0*pDLrY!UR;~RR`O>~JDS5Qag*$-<){?41jxwGc!G!b5fzh}?v|?&Rn#gxWHlF%(be)oO>-pawE#XRevCHGD z=Aw)#Tea1N1ng~Ue^zfSdM~v#--LboozTx|`rcczu5N7o_9kiD^lhSF^w+Q5rdi#> z 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 _x^veAo=$Ewh}vlAmS% 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 literal 0 HcmV?d00001 diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 55bd8e51d4..e015dc76df 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -63,6 +63,8 @@ explains how contact is defined? Do we need an equation(s) that explain what the params in pair style and coeff mean, for damping and spring constants? Or do we just want to reference the paper for that? +:c,image(JPG/pair_body_rounded.jpg) + In "Fraige"_#Fraige, the tangential friction force between two particles that are in contact is modeled differently prior to gross sliding (i.e. static friction) and during gross-sliding (kinetic friction). diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 5f43ebee63..4c48b5c1bf 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -64,6 +64,8 @@ explains how contact is defined? Do we need an equation(s) that explain what the params in pair style and coeff mean, for damping and spring constants? Or do we just want to reference the paper for that? +:c,image(JPG/pair_body_rounded.jpg) + In "Wang"_#Wang, the tangential friction force between two particles that are in contact is modeled differently prior to gross sliding (i.e. static friction) and during gross-sliding (kinetic friction). -- GitLab From 27dc7f3205f5da2c7379ef3141df66546c054557 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Mon, 16 Jul 2018 11:44:45 -0500 Subject: [PATCH 282/675] Added a tex file for the equations of pair rounded/polygon and rounded/polyhedron --- doc/src/Eqs/pair_body_rounded.tex | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 doc/src/Eqs/pair_body_rounded.tex diff --git a/doc/src/Eqs/pair_body_rounded.tex b/doc/src/Eqs/pair_body_rounded.tex new file mode 100644 index 0000000000..54e095340f --- /dev/null +++ b/doc/src/Eqs/pair_body_rounded.tex @@ -0,0 +1,13 @@ +\documentstyle[12pt]{article} + +\begin{document} + +\begin{eqnarray*} + F_n &=& k_n \delta_n - c_n v_n, \qquad \delta_n \le 0 \\ + &=& -k_{na} \delta_n - c_n v_n, \qquad 0 < \delta_n \le r_c \\ + &=& 0 \qquad \qquad \qquad \qquad \delta_n > r_c \\ + F_t &=& \mu k_n \delta_n - c_t v_t, \qquad \delta_n \le 0 \\ + &=& 0 \qquad \qquad \qquad \qquad \delta_n > 0 +\end{eqnarray*} + +\end{document} -- GitLab From d4385ade159f0a2d163ace5fb38328e2d7d8da8e Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 16 Jul 2018 11:22:22 -0600 Subject: [PATCH 283/675] more changes to ATM source and doc file --- doc/src/Section_commands.txt | 3 +- doc/src/pair_atm.txt | 132 +++++++++++++----------------- doc/src/pair_style.txt | 1 + examples/atm/log.9Jul18.atm.g++.1 | 30 +++---- examples/atm/log.9Jul18.atm.g++.4 | 30 +++---- src/MANYBODY/pair_atm.cpp | 101 +++++++++++++---------- 6 files changed, 151 insertions(+), 146 deletions(-) diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index e44595455f..49ade2ca1b 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -582,7 +582,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. "dt/reset"_fix_dt_reset.html, "efield"_fix_efield.html, "ehex"_fix_ehex.html, -"enforce2d"_fix_enforce2d.html, +"enforce2d (k)"_fix_enforce2d.html, "evaporate"_fix_evaporate.html, "external"_fix_external.html, "freeze"_fix_freeze.html, @@ -929,6 +929,7 @@ KOKKOS, o = USER-OMP, t = OPT. "adp (o)"_pair_adp.html, "airebo (oi)"_pair_airebo.html, "airebo/morse (oi)"_pair_airebo.html, +"atm"_pair_atm.html, "beck (go)"_pair_beck.html, "body"_pair_body.html, "bop"_pair_bop.html, diff --git a/doc/src/pair_atm.txt b/doc/src/pair_atm.txt index 96e002f2f8..e442c32814 100644 --- a/doc/src/pair_atm.txt +++ b/doc/src/pair_atm.txt @@ -16,7 +16,7 @@ cutoff = global cutoff for 3-body interactions (distance units) :ul [Examples:] -pair_style 2.5 +pair_style atm 2.5 pair_coeff * * * 0.072 :pre pair_style hybrid/overlay lj/cut 6.5 atm 2.5 @@ -33,106 +33,92 @@ potential for the energy E of a system of atoms as :c,image(Eqs/pair_atm.jpg) -where nu is the three-body interaction strength, -and the distances between pairs of atoms r12, r23 and r31 -and the angles gamma1, gamma2 and gamma3 -are shown at the diagram: +where nu is the three-body interaction strength. The distances +between pairs of atoms r12, r23, r31 and the angles gamma1, gamma2, +gamma3 are as shown in this diagram: :c,image(JPG/pair_atm_dia.jpg) -There is no \"central\" atom, the interaction is symmetric with respect -to permutation of atom types. +Note that for the interaction between a triplet of atoms I,J,K, there +is no "central" atom. The interaction is symmetric with respect to +permutation of the three atoms. In fact, it is computed 3 times by +the code with each of I,J,K being atom 1. Thus the nu value must be +the same for all those permutations of the atom types of I,J,K as +discussed below. The {atm} potential is typically used in combination with a two-body potential using the "pair_style hybrid/overlay"_pair_hybrid.html command as in the example above. -The potential is calculated if all three atoms are in the -"neighbor list"_neighbor.html -and the distances between atoms satisfy r12 r23 r31 > cutoff^3. +The potential for a triplet of atom is calculated only if all 3 +distances r12, r23, r31 between the 3 atoms satisfy rIJ < cutoff. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the restart files read by the "read_restart"_read_restart.html commands: -K - the type of the third atom -nu (energy/distance^9 units) :ul +K = atom type of the third atom (1 to Ntypes) +nu = prefactor (energy/distance^9 units) :ul -For a single-atom type simulation, only a single entry is required, eg +K can be specified in one of two ways. An explicit numeric value can +be used, as in the 2nd example above. J <= K is required. LAMMPS +sets the coefficients for the other 5 symmetric interactions to the +same values. E.g. if I = 1, J = 2, K = 3, then these 6 values are set +to the specified nu: nu123, nu132, nu213, nu231, nu312, nu321. This +enforces the symmetry discussed above. -pair_coeff 1 1 1 nu :pre +A wildcard asterisk can be used for K to set the coefficients for +multiple triplets of atom types. This takes the form "*" or "*n" or +"n*" or "m*n". If N = the number of atom types, then an asterisk with +no numeric values means all types from 1 to N. A leading asterisk +means all types from 1 to n (inclusive). A trailing asterisk means +all types from n to N (inclusive). A middle asterisk means all types +from m to n (inclusive). Note that only type triplets with J <= K are +considered; if asterisks imply type triplets where K < J, they are +ignored. -where all three atoms are of type 1. -For a two-atom type simulation, more pair_coeff commands can be used. -ATM interaction is symmetric with respect to permutation of atoms, -it is necessary to provide pair_coeff command for one permutation. -For example, the command +Note that a pair_coeff command can override a previous setting for the +same I,J,K triplet. For example, these commands set nu for all I,J.K +triplets, then overwrite nu for just the I,J,K = 2,3,4 triplet: -pair_coeff 1 1 2 nu :pre +pair_coeff * * * 0.25 +pair_coeff 2 3 4 0.1 :pre -also implies +Note that for a simulation with a single atom type, only a single +entry is required, e.g. -pair_coeff 1 2 1 nu -pair_coeff 2 1 1 nu :pre +pair_coeff 1 1 1 0.25 :per -Thus, to specify all ATM interactions between two atom types (eg 1 and 2) -it is sufficient to provide four pair_coeff commands, eg: +For a simulation with two atom types, four pair_coeff commands will +specify all possible nu values: pair_coeff 1 1 1 nu1 pair_coeff 1 1 2 nu2 pair_coeff 1 2 2 nu3 pair_coeff 2 2 2 nu4 :pre -For 3 atom types, 10 pair_coeff commands -(eg 111, 112, 113, 122, 123, 133, 222, 223, 233, 333) -will describe all possible ATM interactions, etc. -It is not necessary to provide the pair_coeff commands for interactions -of all combinations of atom types: if some combination is not defined then -there is no ATM interaction for this combination and all its permutations. +For a simulation with three atom types, ten pair_coeff commands will +specify all possible nu values: --------------------- - -[Steve:] - -I think a better syntax for the pair coeff command might be this: - -pair_coeff I J v1 v2 ... vN - -when 1,2,...N are the number of atom types defined. -Then there be one pair_coeff command for each type pair, -the same syntax as all other potentials in LAMMPS use. - -[Sergey:] - -The reason for my original pair_coeff command syntax is that -I would like to reserve further arguments for possible extension of -ATM potential in LAMMPS to further terms in the multipole expansion of -many-body dispersion interaction. -For example, the next term would be dipole-dipole-quadrupole, it may be -activated if the next argument of pair_coeff is present -without breaking backward compatibility. - -Also, the command you propose -(i) will not account that the value of nu for different permutations -of atom types is the same, and -(ii) will make the numbering of atom types messy since there is -no requirement to supply the values of nu for all triplets. - --------------------- - -I think a better syntax for the pair coeff command might be this: - -pair_coeff I J v1 v2 ... vN - -when 1,2,...N are the number of atom types defined. -Then there be one pair_coeff command for each type pair, -the same syntax as all other potentials in LAMMPS use. - -Note that you refer to "elements", but the pair coeff command -knows nothing about elements. Only atom types. There -could be 10 atom types that all map to the same chemical -element. +pair_coeff 1 1 1 nu1 +pair_coeff 1 1 2 nu2 +pair_coeff 1 1 3 nu3 +pair_coeff 1 2 2 nu4 +pair_coeff 1 2 3 nu5 +pair_coeff 1 3 3 nu6 +pair_coeff 2 2 2 nu7 +pair_coeff 2 2 3 nu8 +pair_coeff 2 3 3 nu9 +pair_coeff 3 3 3 nu10 :pre + +By default the nu value for all triplets is set to 0.0. Thus it is +not required to provide pair_coeff commands that enumerate triplet +interactions for all K types. If some I,J,K combination is not +speficied, then there will be no 3-body ATM interactions for that +combination and all its permutations. However, as with all pair +styles, it is required to specify a pair_coeff command for all I,J +combinations, else an error will result. :line diff --git a/doc/src/pair_style.txt b/doc/src/pair_style.txt index 475761add7..7e29544a70 100644 --- a/doc/src/pair_style.txt +++ b/doc/src/pair_style.txt @@ -103,6 +103,7 @@ in the pair section of "this page"_Section_commands.html#cmd_5. "pair_style adp"_pair_adp.html - angular dependent potential (ADP) of Mishin "pair_style airebo"_pair_airebo.html - AIREBO potential of Stuart "pair_style airebo/morse"_pair_airebo.html - AIREBO with Morse instead of LJ +"pair_style atm"_pair_atm.html - Axilrod-Teller-Muto potential "pair_style beck"_pair_beck.html - Beck potential "pair_style body"_pair_body.html - interactions between body particles "pair_style bop"_pair_bop.html - BOP potential of Pettifor diff --git a/examples/atm/log.9Jul18.atm.g++.1 b/examples/atm/log.9Jul18.atm.g++.1 index 27ba23e3a9..0613533f33 100644 --- a/examples/atm/log.9Jul18.atm.g++.1 +++ b/examples/atm/log.9Jul18.atm.g++.1 @@ -26,7 +26,7 @@ Created orthogonal box = (0 0 0) to (18.3252 18.3252 18.3252) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 4000 atoms - Time spent = 0.00120211 secs + Time spent = 0.00125098 secs pair_style hybrid/overlay lj/cut 4.5 atm 2.5 pair_coeff * * lj/cut 1.0 1.0 @@ -60,26 +60,26 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 11.47 | 11.47 | 11.47 Mbytes Step Temp E_pair E_mol TotEng Press - 0 1.033 -4.5929584 0 -3.0438458 -3.6506231 - 5 1.0335109 -4.5924034 0 -3.0425247 -3.6376817 - 10 1.0347484 -4.5941952 0 -3.0424606 -3.6032204 - 15 1.0357954 -4.5962409 0 -3.0429363 -3.5421887 - 20 1.0350606 -4.595891 0 -3.0436883 -3.4478779 - 25 1.0301813 -4.5896962 0 -3.0448107 -3.3111695 -Loop time of 34.5602 on 1 procs for 25 steps with 4000 atoms + 0 1.033 -4.733482 0 -3.1843694 -3.924644 + 5 1.0335743 -4.7330528 0 -3.1830789 -3.9119065 + 10 1.0349987 -4.7346788 0 -3.1825689 -3.8769962 + 15 1.0362024 -4.7401425 0 -3.1862275 -3.8225106 + 20 1.0352365 -4.7459627 0 -3.1934962 -3.7403572 + 25 1.0295963 -4.7444397 0 -3.2004313 -3.6132651 +Loop time of 27.841 on 1 procs for 25 steps with 4000 atoms -Performance: 124.999 tau/day, 0.723 timesteps/s +Performance: 155.167 tau/day, 0.898 timesteps/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 34.556 | 34.556 | 34.556 | 0.0 | 99.99 +Pair | 27.837 | 27.837 | 27.837 | 0.0 | 99.99 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.001323 | 0.001323 | 0.001323 | 0.0 | 0.00 -Output | 0.00018287 | 0.00018287 | 0.00018287 | 0.0 | 0.00 -Modify | 0.0016184 | 0.0016184 | 0.0016184 | 0.0 | 0.00 -Other | | 0.0006311 | | | 0.00 +Comm | 0.0015321 | 0.0015321 | 0.0015321 | 0.0 | 0.01 +Output | 0.00016594 | 0.00016594 | 0.00016594 | 0.0 | 0.00 +Modify | 0.001785 | 0.001785 | 0.001785 | 0.0 | 0.01 +Other | | 0.0006731 | | | 0.00 Nlocal: 4000 ave 4000 max 4000 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -97,4 +97,4 @@ Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:36 +Total wall time: 0:00:29 diff --git a/examples/atm/log.9Jul18.atm.g++.4 b/examples/atm/log.9Jul18.atm.g++.4 index 300f82d581..5627348fab 100644 --- a/examples/atm/log.9Jul18.atm.g++.4 +++ b/examples/atm/log.9Jul18.atm.g++.4 @@ -26,7 +26,7 @@ Created orthogonal box = (0 0 0) to (18.3252 18.3252 18.3252) 1 by 2 by 2 MPI processor grid create_atoms 1 box Created 4000 atoms - Time spent = 0.000735998 secs + Time spent = 0.000769138 secs pair_style hybrid/overlay lj/cut 4.5 atm 2.5 pair_coeff * * lj/cut 1.0 1.0 @@ -60,26 +60,26 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 5.532 | 5.532 | 5.532 Mbytes Step Temp E_pair E_mol TotEng Press - 0 1.033 -4.5929584 0 -3.0438458 -3.6506231 - 5 1.0335109 -4.5924034 0 -3.0425247 -3.6376817 - 10 1.0347484 -4.5941952 0 -3.0424606 -3.6032204 - 15 1.0357954 -4.5962409 0 -3.0429363 -3.5421887 - 20 1.0350606 -4.595891 0 -3.0436883 -3.4478779 - 25 1.0301813 -4.5896962 0 -3.0448107 -3.3111695 -Loop time of 10.061 on 4 procs for 25 steps with 4000 atoms + 0 1.033 -4.733482 0 -3.1843694 -3.924644 + 5 1.0335743 -4.7330528 0 -3.1830789 -3.9119065 + 10 1.0349987 -4.7346788 0 -3.1825689 -3.8769962 + 15 1.0362024 -4.7401425 0 -3.1862275 -3.8225106 + 20 1.0352365 -4.7459627 0 -3.1934962 -3.7403572 + 25 1.0295963 -4.7444397 0 -3.2004313 -3.6132651 +Loop time of 7.22029 on 4 procs for 25 steps with 4000 atoms -Performance: 429.382 tau/day, 2.485 timesteps/s +Performance: 598.314 tau/day, 3.462 timesteps/s 100.0% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 9.8393 | 9.9439 | 10.008 | 2.0 | 98.84 +Pair | 7.1346 | 7.1684 | 7.1863 | 0.8 | 99.28 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.052154 | 0.11613 | 0.22077 | 18.7 | 1.15 -Output | 7.2241e-05 | 8.2552e-05 | 0.00011158 | 0.0 | 0.00 -Modify | 0.00053763 | 0.00055265 | 0.00056624 | 0.0 | 0.01 -Other | | 0.0002971 | | | 0.00 +Comm | 0.032945 | 0.0509 | 0.084664 | 9.1 | 0.70 +Output | 0.00010133 | 0.00011051 | 0.00013804 | 0.0 | 0.00 +Modify | 0.00059557 | 0.00060683 | 0.00061274 | 0.0 | 0.01 +Other | | 0.000318 | | | 0.00 Nlocal: 1000 ave 1000 max 1000 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -97,4 +97,4 @@ Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:10 +Total wall time: 0:00:07 diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp index 0db076acd0..2ba8912899 100644 --- a/src/MANYBODY/pair_atm.cpp +++ b/src/MANYBODY/pair_atm.cpp @@ -61,10 +61,12 @@ PairATM::PairATM(LAMMPS *lmp) : Pair(lmp) PairATM::~PairATM() { if (copymode) return; + if (allocated) { - memory->destroy(nu); memory->destroy(setflag); memory->destroy(cutsq); + + memory->destroy(nu); } } @@ -89,6 +91,8 @@ void PairATM::compute(int eflag, int vflag) double **f = atom->f; int *type = atom->type; + double cutoffsq = cut_global*cut_global; + inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; @@ -127,10 +131,11 @@ void PairATM::compute(int eflag, int vflag) rjk2 = rjk[0]*rjk[0] + rjk[1]*rjk[1] + rjk[2]*rjk[2]; r6 = rij2*rik2*rjk2; - if (r6 > cut_sixth) continue; + if (r6 > cutoffsq) continue; nu_local = nu[type[i]][type[j]][type[k]]; if (nu_local == 0.0) continue; + interaction_ddd(nu_local, r6,rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl); @@ -152,32 +157,50 @@ void PairATM::compute(int eflag, int vflag) if (vflag_fdotr) virial_fdotr_compute(); } +/* ---------------------------------------------------------------------- */ + +void PairATM::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + + memory->create(nu,n+1,n+1,n+1,"pair:nu"); + + // initialize all nu values to 0.0 + + for (int i = 1; i <= n; i++) + for (int j = 1; j <= n; j++) + for (int k = 1; k <= n; k++) + nu[i][j][k] = 0.0; +} + /* ---------------------------------------------------------------------- - reads the input script line with arguments you define + global settings ------------------------------------------------------------------------- */ void PairATM::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); + cut_global = force->numeric(FLERR,arg[0]); } /* ---------------------------------------------------------------------- - set coefficients for one i,j,k type triplet + set coefficients for one I,J,K type triplet ------------------------------------------------------------------------- */ void PairATM::coeff(int narg, char **arg) { - if (narg != 4) - error->all(FLERR,"Incorrect args for pair coefficients"); + if (narg != 4) error->all(FLERR,"Incorrect args for pair coefficients"); if (!allocated) allocate(); - int n = atom->ntypes; - for (int i = 0; i <= n; i++) - for (int j = 0; j <= n; j++) - for (int k = 0; k <= n; k++) - nu[i][j][k] = 0.0; - int ilo,ihi,jlo,jhi,klo,khi; force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); @@ -185,16 +208,11 @@ void PairATM::coeff(int narg, char **arg) double nu_one = force->numeric(FLERR,arg[3]); - cut_sixth = cut_global*cut_global; - cut_sixth = cut_sixth*cut_sixth*cut_sixth; - int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j<=jhi; j++) { for (int k = MAX(klo,j); k<=khi; k++) { - nu[i][j][k] = nu[i][k][j] = - nu[j][i][k] = nu[j][k][i] = - nu[k][i][j] = nu[k][j][i] = nu_one; + nu[i][j][k] = nu_one; count++; } setflag[i][j] = 1; @@ -211,18 +229,28 @@ void PairATM::coeff(int narg, char **arg) void PairATM::init_style() { // need a full neighbor list + int irequest = neighbor->request(this,instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; } /* ---------------------------------------------------------------------- - perform initialization for one i,j type pair + init for one i,j type pair and corresponding j,i + also for all k type permutations ------------------------------------------------------------------------- */ double PairATM::init_one(int i, int j) { if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + // set all 6 symmetric permutations of I,J,K types to same nu value + + int ntypes = atom->ntypes; + for (int k = j; k <= ntypes; k++) + nu[i][k][j] = nu[j][i][k] = nu[j][k][i] = nu[k][i][j] = nu[k][j][i] = + nu[i][j][k]; + return cut_global; } @@ -239,7 +267,7 @@ void PairATM::write_restart(FILE *fp) for (j = i; j <= atom->ntypes; j++) { fwrite(&setflag[i][j],sizeof(int),1,fp); if (setflag[i][j]) - for (k = i; k <= atom->ntypes; k++) + for (k = j; k <= atom->ntypes; k++) fwrite(&nu[i][j][k],sizeof(double),1,fp); } } @@ -260,7 +288,7 @@ void PairATM::read_restart(FILE *fp) for (j = i; j <= atom->ntypes; j++) { if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); - if (setflag[i][j]) for (k = i; k <= atom->ntypes; k++) { + if (setflag[i][j]) for (k = j; k <= atom->ntypes; k++) { if (me == 0) fread(&nu[i][j][k],sizeof(double),1,fp); MPI_Bcast(&nu[i][j][k],1,MPI_DOUBLE,0,world); } @@ -288,25 +316,14 @@ void PairATM::read_restart_settings(FILE *fp) MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); } -/* ---------------------------------------------------------------------- */ - -void PairATM::allocate() -{ - allocated = 1; - int n = atom->ntypes; - memory->create(nu,n+1,n+1,n+1,"pair:a"); - memory->create(setflag,n+1,n+1,"pair:setflag"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); -} - /* ---------------------------------------------------------------------- Axilrod-Teller-Muto (dipole-dipole-dipole) potential ------------------------------------------------------------------------- */ void PairATM::interaction_ddd(double nu, - double r6, double rij2, double rik2, double rjk2, - double *rij, double *rik, double *rjk, - double *fj, double *fk, int eflag, double &eng) + double r6, double rij2, double rik2, double rjk2, + double *rij, double *rik, double *rjk, + double *fj, double *fk, int eflag, double &eng) { double r5inv,rri,rrj,rrk,rrr; r5inv = nu / (r6*r6*sqrt(r6)); @@ -314,14 +331,14 @@ void PairATM::interaction_ddd(double nu, rrj = rij[0]*rjk[0] + rij[1]*rjk[1] + rij[2]*rjk[2]; rrk = rjk[0]*rik[0] + rjk[1]*rik[1] + rjk[2]*rik[2]; rrr = 5.0*rri*rrj*rrk; - for (int i=0; i<3; i++) { - fj[i] = rrj*(rrk - rri)*rik[i] - - (rrk*rri - rjk2*rik2 + rrr/rij2)*rij[i] - + (rrk*rri - rik2*rij2 + rrr/rjk2)*rjk[i]; + for (int i = 0; i < 3; i++) { + fj[i] = rrj*(rrk - rri)*rik[i] - + (rrk*rri - rjk2*rik2 + rrr/rij2) * rij[i] + + (rrk*rri - rik2*rij2 + rrr/rjk2) * rjk[i]; fj[i] *= 3.0*r5inv; - fk[i] = rrk*(rri + rrj)*rij[i] - + (rri*rrj + rik2*rij2 - rrr/rjk2)*rjk[i] - + (rri*rrj + rij2*rjk2 - rrr/rik2)*rik[i]; + fk[i] = rrk*(rri + rrj)*rij[i] + + (rri*rrj + rik2*rij2 - rrr/rjk2) * rjk[i] + + (rri*rrj + rij2*rjk2 - rrr/rik2) * rik[i]; fk[i] *= 3.0*r5inv; } if (eflag) eng = (r6 - 0.6*rrr)*r5inv; -- GitLab From cfa6e8717d2dfd9c5ec2c93dfafdd88de2d8dfb1 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Mon, 16 Jul 2018 12:45:23 -0500 Subject: [PATCH 284/675] Updated doc pages for pair body rounded/polygon and rounded/polyhedron with equations --- doc/src/Eqs/pair_body_rounded.jpg | Bin 0 -> 146978 bytes doc/src/pair_body_rounded_polygon.txt | 8 ++++---- doc/src/pair_body_rounded_polyhedron.txt | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 doc/src/Eqs/pair_body_rounded.jpg diff --git a/doc/src/Eqs/pair_body_rounded.jpg b/doc/src/Eqs/pair_body_rounded.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e7136ddd20c2acea0e89fa8412497333f15cb541 GIT binary patch literal 146978 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
      rq3;&3JzOkH7u<$g^McPvD2&;XgQk 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 F0stOiW6S^m literal 0 HcmV?d00001 diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index e015dc76df..d611e8ec98 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -58,10 +58,10 @@ surface from its center is not sqrt(2)/2, but (sqrt(2)+0.1)/2. Thus the cutoff distance should be sqrt(2) + 0.1, since the surfaces of two particles that far apart could be touching. -NOTE: Do we need a diagram of 2 overlapping polygon particles that -explains how contact is defined? Do we need an equation(s) that -explain what the params in pair style and coeff mean, for damping and -spring constants? Or do we just want to reference the paper for that? +The forces between vertex-vertex, vertex-edge, vertex-face and edge-edge +are given by: + +:c,image(Eqs/pair_body_rounded.jpg) :c,image(JPG/pair_body_rounded.jpg) diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 4c48b5c1bf..52f6294d85 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -59,10 +59,10 @@ surface from its center is not sqrt(3)/2, but (sqrt(3)+0.1)/2. Thus the cutoff distance should be sqrt(3) + 0.1, since the surfaces of two particles that far apart could be touching. -NOTE: Do we need a diagram of 2 overlapping polyhedron particles that -explains how contact is defined? Do we need an equation(s) that -explain what the params in pair style and coeff mean, for damping and -spring constants? Or do we just want to reference the paper for that? +The forces between vertex-vertex, vertex-edge, vertex-face, edge-edge +and edge-face are given by: + +:c,image(Eqs/pair_body_rounded.jpg) :c,image(JPG/pair_body_rounded.jpg) -- GitLab From 783839e98593bdcb568bf651529b0d1b6f5226db Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 16 Jul 2018 15:21:52 -0400 Subject: [PATCH 285/675] add support for restarting extra/XXX/per/atom settings in binary restarts --- src/read_restart.cpp | 15 ++++++++++++++- src/write_restart.cpp | 10 +++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/read_restart.cpp b/src/read_restart.cpp index 1164de6faa..7d8e6ca395 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -62,7 +62,9 @@ enum{VERSION,SMALLINT,TAGINT,BIGINT, MULTIPROC,MPIIO,PROCSPERFILE,PERPROC, IMAGEINT,BOUNDMIN,TIMESTEP, ATOM_ID,ATOM_MAP_STYLE,ATOM_MAP_USER,ATOM_SORTFREQ,ATOM_SORTBIN, - COMM_MODE,COMM_CUTOFF,COMM_VEL,NO_PAIR}; + COMM_MODE,COMM_CUTOFF,COMM_VEL,NO_PAIR, + EXTRA_BOND_PER_ATOM,EXTRA_ANGLE_PER_ATOM,EXTRA_DIHEDRAL_PER_ATOM, + EXTRA_IMPROPER_PER_ATOM,EXTRA_SPECIAL_PER_ATOM}; #define LB_FACTOR 1.1 @@ -914,6 +916,17 @@ void ReadRestart::header(int incompatible) } else if (flag == COMM_VEL) { comm->ghost_velocity = read_int(); + } else if (flag == EXTRA_BOND_PER_ATOM) { + atom->extra_bond_per_atom = read_int(); + } else if (flag == EXTRA_ANGLE_PER_ATOM) { + atom->extra_angle_per_atom = read_int(); + } else if (flag == EXTRA_DIHEDRAL_PER_ATOM) { + atom->extra_dihedral_per_atom = read_int(); + } else if (flag == EXTRA_IMPROPER_PER_ATOM) { + atom->extra_improper_per_atom = read_int(); + } else if (flag == EXTRA_SPECIAL_PER_ATOM) { + force->special_extra = read_int(); + } else error->all(FLERR,"Invalid flag in header section of restart file"); flag = read_int(); diff --git a/src/write_restart.cpp b/src/write_restart.cpp index 69b731870d..1bfbb382a8 100644 --- a/src/write_restart.cpp +++ b/src/write_restart.cpp @@ -61,7 +61,9 @@ enum{VERSION,SMALLINT,TAGINT,BIGINT, MULTIPROC,MPIIO,PROCSPERFILE,PERPROC, IMAGEINT,BOUNDMIN,TIMESTEP, ATOM_ID,ATOM_MAP_STYLE,ATOM_MAP_USER,ATOM_SORTFREQ,ATOM_SORTBIN, - COMM_MODE,COMM_CUTOFF,COMM_VEL,NO_PAIR}; + COMM_MODE,COMM_CUTOFF,COMM_VEL,NO_PAIR, + EXTRA_BOND_PER_ATOM,EXTRA_ANGLE_PER_ATOM,EXTRA_DIHEDRAL_PER_ATOM, + EXTRA_IMPROPER_PER_ATOM,EXTRA_SPECIAL_PER_ATOM}; /* ---------------------------------------------------------------------- */ @@ -527,6 +529,12 @@ void WriteRestart::header() write_double(COMM_CUTOFF,comm->cutghostuser); write_int(COMM_VEL,comm->ghost_velocity); + write_int(EXTRA_BOND_PER_ATOM,atom->extra_bond_per_atom); + write_int(EXTRA_ANGLE_PER_ATOM,atom->extra_angle_per_atom); + write_int(EXTRA_DIHEDRAL_PER_ATOM,atom->extra_dihedral_per_atom); + write_int(EXTRA_IMPROPER_PER_ATOM,atom->extra_improper_per_atom); + write_int(EXTRA_SPECIAL_PER_ATOM,force->special_extra); + // -1 flag signals end of header int flag = -1; -- GitLab From 5abbea360626d02a439daf40309f1b4e13861fff Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 16 Jul 2018 14:52:18 -0600 Subject: [PATCH 286/675] doc file changes/Qs added for body DEM particles --- doc/src/JPG/pair_body_rounded.jpg | Bin 0 -> 35619 bytes doc/src/JPG/pair_body_rounded.png | Bin 650896 -> 0 bytes doc/src/body.txt | 61 +++++++++++--------- doc/src/pair_body_rounded_polygon.txt | 69 +++++++++++++++-------- doc/src/pair_body_rounded_polyhedron.txt | 34 ++++++++--- 5 files changed, 106 insertions(+), 58 deletions(-) create mode 100644 doc/src/JPG/pair_body_rounded.jpg delete mode 100644 doc/src/JPG/pair_body_rounded.png diff --git a/doc/src/JPG/pair_body_rounded.jpg b/doc/src/JPG/pair_body_rounded.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cd745c44e27e96585be021b3dcca342f686e15e9 GIT binary patch literal 35619 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 doWJ9faq;bKxzS6F1^V=2 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%0An-dSWxps@$8b?P(&1!CT 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


      X^VZ*cWvRFLwMi<)FT&p#ZnQ}kcIp% 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

      ?!}u8S5$3%($>9FnikOIcLtC;oJDh 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%0AGr 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 z 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 _x^veAo=$Ewh}vlAmS% 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 diff --git a/doc/src/body.txt b/doc/src/body.txt index 0e64e6ad5b..be5b3d4edf 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -27,9 +27,9 @@ styles supported by LAMMPS are as follows. The name in the first column is used as the {bstyle} argument for the "atom_style body"_atom_style.html command. -{nparticle} | rigid body with N sub-particles | -{rounded/polygon} | 2d polygons with N vertices :tb(c=2,s=|) -{rounded/polyhedron} | 3d polyhedra with N vertices, E edges and F faces :tb(c=2,s=|) +{nparticle} : rigid body with N sub-particles +{rounded/polygon} : 2d polygons with N vertices +{rounded/polyhedron} : 3d polyhedra with N vertices, E edges and F faces :tb(s=:) The body style determines what attributes are stored for each body and thus how they can be used to compute pairwise body/body or @@ -180,11 +180,11 @@ The {bflag2} argument is ignored. The {rounded/polygon} body style represents body particles as a 2d polygon with a variable number of N vertices. This style can only be -used for 2d models; see the "boundary"_boundary.html command. +used for 2d models; see the "boundary"_boundary.html command. See the +"pair_style body/rounded/polygon" doc page for a diagram of two +squares with rounded circles at the vertices. Special cases for N = 1 +(circle) and N = 2 (rod with rounded ends) can also be specified. -NOTE: include a diagram of a rounded polygon body particle - -Special cases for N = 1 (spheres) and N = 2 (rods) are also included. One use of this body style is for 2d discrete element models, as described in "Fraige"_#Fraige. @@ -220,9 +220,9 @@ vertices (x1 to zN) as 3N values (with z = 0.0 for each), followed by 2N vertex indices corresponding to the end points of the N edges, followed by a single diameter value = the rounded diameter of the circle that surrounds each vertex. The diameter value can be different -for each body particle. These floating-point values can be -listed on as many lines as you wish; see the -"read_data"_read_data.html command for more details. +for each body particle. These floating-point values can be listed on +as many lines as you wish; see the "read_data"_read_data.html command +for more details. The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body @@ -235,9 +235,10 @@ position of the particle is specified by the x,y,z values in the {Atoms} section of the data file. For example, the following information would specify a square particle -whose edge length is sqrt(2) and rounded diameter is 1.0 in length unit -and initial orientation is determined from the 6 moments of inertia -(ixx iyy izz ixy ixz iyz): +whose edge length is sqrt(2) and rounded diameter is 1.0. The +orientation of the square is aligned with the xy coordinate axes which +is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz = +1 1 4 0 0 0. 3 1 27 4 @@ -265,14 +266,14 @@ body particles with a wall. The {rounded/polyhedron} body style represents body particles as a 3d polyhedron with a variable number of N vertices, E edges and F faces. This style can only be used for 3d models; see the -"boundary"_boundary.html command. +"boundary"_boundary.html command. See the "pair_style +body/rounded/polygon" doc page for a diagram of a two 2d squares with +rounded circles at the vertices. A 3d cube with rounded spheres +at the 8 vertices and 12 rounded edges would be similar. -NOTE: include a diagram of a rounded polyhedron body particle - -NOTE: 2d objects can also be specified as a special case, e.g. -for a triangle, N = 3, E = 3 and F = 1. - -Special cases for N = 1 (spheres) and N = 2 (rods) are also valid. +TRUNG: What are the special cases allowed for 3d, if any? Similar to +the N=1 (sphere) and N=2 (rod) special cases for 2d, descibed in +previous section. This body style is for 3d discrete element models, as described in "Wang"_#Wang. @@ -316,9 +317,9 @@ moments of inertia followed by the coordinates of the N vertices (x1 to zN) as 3N values, followed by 2N vertex indices corresponding to the end points of the E edges, then 4*F vertex indices defining F faces. The last value is the diameter value = the rounded diameter of -the sphere that surrounds each vertex. The diameter value can be different -for each body particle. These floating-point values -can be listed on as many lines as you wish; see the +the sphere that surrounds each vertex. The diameter value can be +different for each body particle. These floating-point values can be +listed on as many lines as you wish; see the "read_data"_read_data.html command for more details. Because the maxmimum vertices per face is hard-coded to be 4 (i.e. quadrilaterals), faces with more than 4 vertices need to be @@ -340,9 +341,10 @@ position of the particle is specified by the x,y,z values in the {Atoms} section of the data file. For example, the following information would specify a cubic particle -whose edge length is 2.0 and rounded diameter is 0.5 in length unit -and initial orientation is determined from the 6 moments of inertia -(ixx iyy izz ixy ixz iyz): +whose edge length is 2.0 and rounded diameter is 0.5. +The orientation of the cube is aligned with the xyz coordinate axes +which is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz +iyz = 0.667 0.667 0.667 0 0 0. 1 3 79 8 12 6 @@ -375,6 +377,13 @@ and initial orientation is determined from the 6 moments of inertia 3 0 4 7 0.5 :pre +The "pair_style +body/rounded/polhedron"_pair_body_rounded_polyhedron.html command can +be used with this body style to compute body/body interactions. The +"fix wall/body/polyhedron"_fix_wall_body_polygon.html command can be +used with this body style to compute the interaction of body particles +with a wall. + :line For output purposes via the "compute diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index d611e8ec98..588a7d6ff9 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -28,9 +28,9 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 2d models of body particles of style {rounded/polygon}. It calculates pairwise -body/body interactions as well as interactions between body and -point-particles. See "Section 6.14"_Section_howto.html#howto_14 of -the manual and the "body"_body.html doc page for more details on using +body/body interactions as well as interactions between body and point +particles. See "Section 6.14"_Section_howto.html#howto_14 of the +manual and the "body"_body.html doc page for more details on using body particles. This pairwise interaction between rounded polygons is described in @@ -44,36 +44,50 @@ multiple contact points. Note that when two particles interact, the effective surface of each polygon particle is displaced outward from each of its vertices and -edges by half its circle diameter. The interaction forces and -energies between two particles are defined with respect to the -separation of their respective rounded surfaces, not by the separation -of the vertices and edges themselves. +edges by half its circle diameter (as in the diagram below of a gray +and yellow square particle). The interaction forces and energies +between two particles are defined with respect to the separation of +their respective rounded surfaces, not by the separation of the +vertices and edges themselves. This means that the specified cutoff in the pair_style command should be large enough to encompass the center-to-center distance between two -particles (at any orientation) which would produce a surface-surface -overlap. For example, consider two square particles with edge length -= 1.0 and circle diameter 0.2. The maximum distance of one polygon's -surface from its center is not sqrt(2)/2, but (sqrt(2)+0.1)/2. Thus -the cutoff distance should be sqrt(2) + 0.1, since the surfaces of two -particles that far apart could be touching. - -The forces between vertex-vertex, vertex-edge, vertex-face and edge-edge +particles (at any orientation) which would produce an overlap of the +two surfaces. For example, consider two square particles with edge +length = 1.0 and circle diameter 0.2. The maximum distance of one +polygon's surface from its center is not sqrt(2)/2, but +(sqrt(2)+0.1)/2. Thus the cutoff distance should be sqrt(2) + 0.1, +since the surfaces of two particles that far apart could be touching. + +The forces between vertex-vertex, vertex-edge, and edge-edge overlaps are given by: :c,image(Eqs/pair_body_rounded.jpg) :c,image(JPG/pair_body_rounded.jpg) -In "Fraige"_#Fraige, the tangential friction force between two particles -that are in contact is modeled differently prior to gross sliding -(i.e. static friction) and during gross-sliding (kinetic friction). -The latter takes place when the tangential deformation exceeds -the Coulomb frictional limit. In the current implementation, however, -we do not take into account frictional history, i.e. we do not keep track -of how many time steps the two particles have been in contact -nor calculate the tangential deformation. We assume that gross sliding -takes place right when two particles are in contact. +In "Fraige"_#Fraige, the tangential friction force between two +particles that are in contact is modeled differently prior to gross +sliding (i.e. static friction) and during gross-sliding (kinetic +friction). The latter takes place when the tangential deformation +exceeds the Coulomb frictional limit. In the current implementation, +however, we do not take into account frictional history, i.e. we do +not keep track of how many time steps the two particles have been in +contact nor calculate the tangential deformation. Instead, we assume +that gross sliding takes place as soon as two particles are in +contact. + +TRUNG: The diagram label "cohesive regions" confuses me. Are you +saying there is some distance d for which the force is attractive, +i.e. the particles are cohesive? I think when d > Ri + Rj, since Ri + +Rj is the surface/surface overlap discussed above? If so, then the +discussion above about the specified cutoff is wrong? I.e. you can +specify a large cutoff than the surface/surface overlap to get +cohesive interactions? If so, this should be explained up above. +But an additional confusion is that the specied cutoff (Rc in diagram?) +is a single number, but depedning on the orientiation of the 2 +particles they might have a suface/surface overlap at a much +smaller value of Ri + Rj. So what is Rc then? The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, @@ -82,6 +96,13 @@ or in the data file read by the "read_data"_read_data.html command: k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul +Effectively, k_n and k_na are the slopes of the red lines in the plot +above for force versus distance, for r < 0 and 0 < r < rc +respectively. TRUNG: is this sentence correct? + +TRUNG: reminder to copy any change in this file +to the pair polyhedron file as well (and vice versa) + [Mixing, shift, table, tail correction, restart, rRESPA info]: This pair style does not support the "pair_modify"_pair_modify.html diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 52f6294d85..621254bd72 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -33,6 +33,20 @@ point-particles. See "Section 6.14"_Section_howto.html#howto_14 of the manual and the "body"_body.html doc page for more details on using body particles. +TRUNG: I think we need a paragraph here about how body/sphere +interactions are handled. Does this pair style only do body/body but +allow for a body = sphere or rod or some other degenerate case? Or +does this pair style allow you to model a simulation of mixed body and +point particles, where point particles are spheroids. If so, does +this pair style do body/body and body/point, and you use one of the +other granular pair styles to do point/point? I.e. a pair hybrid +model? Or does everything have to be defined as bodies. Actually +this paragraph would make more sense in the body.txt file about how to +create a model that includes non-body particles (spheres). And in +this pair style file just a couple lines about which part of the +interactions this pair style computes. Ditto in the pair body polygon +file. + This pairwise interaction between rounded polyhedra is described in "Wang"_#Wang, where a polyhedron does not have sharp corners and edges, but is rounded at its vertices and edges by spheres centered on @@ -59,8 +73,8 @@ surface from its center is not sqrt(3)/2, but (sqrt(3)+0.1)/2. Thus the cutoff distance should be sqrt(3) + 0.1, since the surfaces of two particles that far apart could be touching. -The forces between vertex-vertex, vertex-edge, vertex-face, edge-edge -and edge-face are given by: +The forces between vertex-vertex, vertex-edge, vertex-face, edge-edge, +and edge-face overlaps are given by: :c,image(Eqs/pair_body_rounded.jpg) @@ -69,12 +83,12 @@ and edge-face are given by: In "Wang"_#Wang, the tangential friction force between two particles that are in contact is modeled differently prior to gross sliding (i.e. static friction) and during gross-sliding (kinetic friction). -The latter takes place when the tangential deformation exceeds -the Coulomb frictional limit. In the current implementation, however, -we do not take into account frictional history, i.e. we do not keep track -of how many time steps the two particles have been in contact -nor calculate the tangential deformation. We assume that gross sliding -takes place right when two particles are in contact. +The latter takes place when the tangential deformation exceeds the +Coulomb frictional limit. In the current implementation, however, we +do not take into account frictional history, i.e. we do not keep track +of how many time steps the two particles have been in contact nor +calculate the tangential deformation. Instead, we assume that gross +sliding takes place as soon as two particles are in contact. The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, @@ -83,6 +97,10 @@ or in the data file read by the "read_data"_read_data.html command: k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul +Effectively, k_n and k_na are the slopes of the red lines in the plot +above for force versus distance, for r < 0 and 0 < r < rc +respectively. TRUNG: is this sentence correct? + [Mixing, shift, table, tail correction, restart, rRESPA info]: This pair style does not support the "pair_modify"_pair_modify.html -- GitLab From fa73fab5df878b29a3e121cc1655e73e718e3c05 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 16 Jul 2018 18:12:15 -0600 Subject: [PATCH 287/675] patch 16Jul18 --- doc/src/Manual.txt | 4 ++-- src/version.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index e34ec8d5ba..e69797d9ec 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,7 +1,7 @@ LAMMPS Users Manual - + @@ -19,7 +19,7 @@ :line LAMMPS Documentation :c,h1 -29 Jun 2018 version :c,h2 +16 Jul 2018 version :c,h2 Version info: :h3 diff --git a/src/version.h b/src/version.h index 2833430def..90a21631d9 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "29 Jun 2018" +#define LAMMPS_VERSION "16 Jul 2018" -- GitLab From d23788831c8833ed78b1bb603ad417e021af98d2 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 17 Jul 2018 10:54:05 -0500 Subject: [PATCH 288/675] Updated to the doc pages of body rounded/polygon and rounded/polyhedra and the pair style: + added examples for special cases with disks and rods for 2d, and spheres and rods for 3d, + corrected the definition of the cutoff distance in pair style command --- doc/src/body.txt | 38 +++++++++++++++++++- doc/src/pair_body_rounded_polygon.txt | 45 +++++++++++++----------- doc/src/pair_body_rounded_polyhedron.txt | 18 ++++------ 3 files changed, 68 insertions(+), 33 deletions(-) diff --git a/doc/src/body.txt b/doc/src/body.txt index be5b3d4edf..85095f7fb6 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -238,7 +238,7 @@ For example, the following information would specify a square particle whose edge length is sqrt(2) and rounded diameter is 1.0. The orientation of the square is aligned with the xy coordinate axes which is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz = -1 1 4 0 0 0. +1 1 4 0 0 0. Note that only Izz matters in 2D simulations. 3 1 27 4 @@ -253,6 +253,24 @@ is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz = 3 0 1.0 :pre +A rod in 2D, whose length is 4.0, mass 1.0, rounded at two ends +by circles of diameter 0.5, is specified as follows: + +1 1 13 +2 +1 1 1.33333 0 0 0 +-2 0 0 +2 0 0 +0.5 :pre + +A disk, whose diameter is 3.0, mass 1.0, is specified as follows: + +1 1 10 +1 +1 1 4.5 0 0 0 +0 0 0 +3.0 :pre + The "pair_style body/rounded/polygon"_pair_body_rounded_polygon.html command can be used with this body style to compute body/body interactions. The "fix wall/body/polygon"_fix_wall_body_polygon.html @@ -377,6 +395,24 @@ iyz = 0.667 0.667 0.667 0 0 0. 3 0 4 7 0.5 :pre +A rod in 3D, whose length is 4.0, mass 1.0 and rounded at two ends +by circles of diameter 0.5, is specified as follows: + +1 1 13 +2 +0 1.33333 1.33333 0 0 0 +-2 0 0 +2 0 0 +0.5 :pre + +A sphere whose diameter is 3.0 and mass 1.0, is specified as follows: + +1 1 10 +1 +0.9 0.9 0.9 0 0 0 +0 0 0 +3.0 :pre + The "pair_style body/rounded/polhedron"_pair_body_rounded_polyhedron.html command can be used with this body style to compute body/body interactions. The diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 588a7d6ff9..b4135a4065 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -29,9 +29,10 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 2d models of body particles of style {rounded/polygon}. It calculates pairwise body/body interactions as well as interactions between body and point -particles. See "Section 6.14"_Section_howto.html#howto_14 of the +particles (modeled as disks with a specified diameter). +See "Section 6.14"_Section_howto.html#howto_14 of the manual and the "body"_body.html doc page for more details on using -body particles. +body rounded/polygon particles. This pairwise interaction between rounded polygons is described in "Fraige"_#Fraige, where a polygon does not have sharp corners, but is @@ -50,14 +51,8 @@ between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices and edges themselves. -This means that the specified cutoff in the pair_style command should -be large enough to encompass the center-to-center distance between two -particles (at any orientation) which would produce an overlap of the -two surfaces. For example, consider two square particles with edge -length = 1.0 and circle diameter 0.2. The maximum distance of one -polygon's surface from its center is not sqrt(2)/2, but -(sqrt(2)+0.1)/2. Thus the cutoff distance should be sqrt(2) + 0.1, -since the surfaces of two particles that far apart could be touching. +This means that the specified cutoff in the pair_style command is +the cutoff distance, r_c, for the surface separation, \delta_n (see figure below). The forces between vertex-vertex, vertex-edge, and edge-edge overlaps are given by: @@ -66,17 +61,6 @@ are given by: :c,image(JPG/pair_body_rounded.jpg) -In "Fraige"_#Fraige, the tangential friction force between two -particles that are in contact is modeled differently prior to gross -sliding (i.e. static friction) and during gross-sliding (kinetic -friction). The latter takes place when the tangential deformation -exceeds the Coulomb frictional limit. In the current implementation, -however, we do not take into account frictional history, i.e. we do -not keep track of how many time steps the two particles have been in -contact nor calculate the tangential deformation. Instead, we assume -that gross sliding takes place as soon as two particles are in -contact. - TRUNG: The diagram label "cohesive regions" confuses me. Are you saying there is some distance d for which the force is attractive, i.e. the particles are cohesive? I think when d > Ri + Rj, since Ri + @@ -89,6 +73,25 @@ is a single number, but depedning on the orientiation of the 2 particles they might have a suface/surface overlap at a much smaller value of Ri + Rj. So what is Rc then? +Note that F_n and F_t are functions of the surface separation +\delta_n = d - (R_i + R_j). +In this model, when (R_i + R_j) < d < (R_i + R_j) + r_c, that is, +0 < \delta_n < r_c, the cohesive region of the two surfaces overlap +and the two surfaces are attractive to each other. + + +In "Fraige"_#Fraige, the tangential friction force between two +particles that are in contact is modeled differently prior to gross +sliding (i.e. static friction) and during gross-sliding (kinetic +friction). The latter takes place when the tangential deformation +exceeds the Coulomb frictional limit. In the current implementation, +however, we do not take into account frictional history, i.e. we do +not keep track of how many time steps the two particles have been in +contact nor calculate the tangential deformation. Instead, we assume +that gross sliding takes place as soon as two particles are in +contact. + + The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file read by the "read_data"_read_data.html command: diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 621254bd72..3f0a2403d0 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -29,9 +29,10 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 3d models of body particles of style {rounded/polyhedron}. It calculates pairwise body/body interactions as well as interactions between body and -point-particles. See "Section 6.14"_Section_howto.html#howto_14 of +point-particles (modeled as spheres with a specified diameter). +See "Section 6.14"_Section_howto.html#howto_14 of the manual and the "body"_body.html doc page for more details on using -body particles. +body rounded/polyhedron particles. TRUNG: I think we need a paragraph here about how body/sphere interactions are handled. Does this pair style only do body/body but @@ -47,7 +48,7 @@ this pair style file just a couple lines about which part of the interactions this pair style computes. Ditto in the pair body polygon file. -This pairwise interaction between rounded polyhedra is described in +This pairwise interaction between the rounded polyhedra is described in "Wang"_#Wang, where a polyhedron does not have sharp corners and edges, but is rounded at its vertices and edges by spheres centered on each vertex with a specified diameter. The edges if the polyhedron @@ -57,6 +58,7 @@ in the data file read by the "read data"_read_data.html command. This is a discrete element model (DEM) which allows for multiple contact points. + Note that when two particles interact, the effective surface of each polyhedron particle is displaced outward from each of its vertices, edges, and faces by half its sphere diameter. The interaction forces @@ -64,14 +66,8 @@ and energies between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices, edges, and faces themselves. -This means that the specified cutoff in the pair_style command should -be large enough to encompass the center-to-center distance between two -particles (at any orientation) which would produce a surface-surface -overlap. For example, consider two cubic particles with edge length = -1.0 and sphere diameter 0.2. The maximum distance of one polygon's -surface from its center is not sqrt(3)/2, but (sqrt(3)+0.1)/2. Thus -the cutoff distance should be sqrt(3) + 0.1, since the surfaces of two -particles that far apart could be touching. +This means that the specified cutoff in the pair_style command is +the cutoff distance, r_c, for the surface separation, \delta_n (see figure below). The forces between vertex-vertex, vertex-edge, vertex-face, edge-edge, and edge-face overlaps are given by: -- GitLab From de69e2455102bbeffbadfa7a3a4192036aa72d6d Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 17 Jul 2018 11:05:32 -0500 Subject: [PATCH 289/675] Added replies to Steve's questions --- doc/src/pair_body_rounded_polygon.txt | 8 +++++--- doc/src/pair_body_rounded_polyhedron.txt | 10 +++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index b4135a4065..ea77fa9247 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -71,7 +71,8 @@ cohesive interactions? If so, this should be explained up above. But an additional confusion is that the specied cutoff (Rc in diagram?) is a single number, but depedning on the orientiation of the 2 particles they might have a suface/surface overlap at a much -smaller value of Ri + Rj. So what is Rc then? +smaller value of Ri + Rj. So what is Rc then? - I added +the following paragraph to address this. Note that F_n and F_t are functions of the surface separation \delta_n = d - (R_i + R_j). @@ -100,8 +101,9 @@ k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul Effectively, k_n and k_na are the slopes of the red lines in the plot -above for force versus distance, for r < 0 and 0 < r < rc -respectively. TRUNG: is this sentence correct? +above for force versus surface separation, for \delta_n < 0 and 0 < \delta_n < r_c +respectively. (TRUNG: is this sentence correct? - it should read delta_n, +instead of r) TRUNG: reminder to copy any change in this file to the pair polyhedron file as well (and vice versa) diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 3f0a2403d0..cb4ec00917 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -46,7 +46,10 @@ this paragraph would make more sense in the body.txt file about how to create a model that includes non-body particles (spheres). And in this pair style file just a couple lines about which part of the interactions this pair style computes. Ditto in the pair body polygon -file. +file. - The pair style supports body/sphere and sphere/sphere +given that all the atoms should be of body rounded/polyhedron. +I updated the above paragraph and added examples in body.txt for +specifying the special objects (i.e. spheres and rods). This pairwise interaction between the rounded polyhedra is described in "Wang"_#Wang, where a polyhedron does not have sharp corners and @@ -94,8 +97,9 @@ k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul Effectively, k_n and k_na are the slopes of the red lines in the plot -above for force versus distance, for r < 0 and 0 < r < rc -respectively. TRUNG: is this sentence correct? +above for force versus surface separation, for \delta_n < 0 and 0 < \delta_n < r_c +respectively. (TRUNG: is this sentence correct? - it should read delta_n, +instead of r) [Mixing, shift, table, tail correction, restart, rRESPA info]: -- GitLab From 843b96e8dd579f7c02cac30948b258186664b0a0 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 18 Jul 2018 08:49:42 -0600 Subject: [PATCH 290/675] more changes to new polygon/hedron docs and command names --- doc/src/Section_commands.txt | 6 +- doc/src/body.txt | 10 ++-- ...{pair_body.txt => pair_body_nparticle.txt} | 10 ++-- doc/src/pair_body_rounded_polygon.txt | 59 ++++++++----------- doc/src/pair_body_rounded_polyhedron.txt | 50 +++++++--------- examples/body/in.body | 2 +- ...{pair_body.cpp => pair_body_nparticle.cpp} | 24 ++++---- .../{pair_body.h => pair_body_nparticle.h} | 12 ++-- 8 files changed, 81 insertions(+), 92 deletions(-) rename doc/src/{pair_body.txt => pair_body_nparticle.txt} (93%) rename src/BODY/{pair_body.cpp => pair_body_nparticle.cpp} (95%) rename src/BODY/{pair_body.h => pair_body_nparticle.h} (90%) diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index 3dabdbeaa1..3b73dee150 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -664,6 +664,8 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. "vector"_fix_vector.html, "viscosity"_fix_viscosity.html, "viscous"_fix_viscous.html, +"wall/body/polygon"_fix_wall_body_polygon.html, +"wall/body/polyhedron"_fix_wall_body_polyhedron.html, "wall/colloid"_fix_wall.html, "wall/gran"_fix_wall_gran.html, "wall/gran/region"_fix_wall_gran_region.html, @@ -914,7 +916,9 @@ KOKKOS, o = USER-OMP, t = OPT. "airebo (oi)"_pair_airebo.html, "airebo/morse (oi)"_pair_airebo.html, "beck (go)"_pair_beck.html, -"body"_pair_body.html, +"body/nparticle"_pair_body_nparticle.html, +"body/rounded/polygon"_pair_body_rounded/polygon.html, +"body/rounded/polyhedron"_pair_body_rounded/polyhedron.html, "bop"_pair_bop.html, "born (go)"_pair_born.html, "born/coul/dsf"_pair_born.html, diff --git a/doc/src/body.txt b/doc/src/body.txt index 85095f7fb6..cef40cc643 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -286,12 +286,10 @@ polyhedron with a variable number of N vertices, E edges and F faces. This style can only be used for 3d models; see the "boundary"_boundary.html command. See the "pair_style body/rounded/polygon" doc page for a diagram of a two 2d squares with -rounded circles at the vertices. A 3d cube with rounded spheres -at the 8 vertices and 12 rounded edges would be similar. - -TRUNG: What are the special cases allowed for 3d, if any? Similar to -the N=1 (sphere) and N=2 (rod) special cases for 2d, descibed in -previous section. +rounded circles at the vertices. A 3d cube with rounded spheres at +the 8 vertices and 12 rounded edges would be similar. Special cases +for N = 1 (sphere) and N = 2 (rod with rounded ends) can also be +specified. This body style is for 3d discrete element models, as described in "Wang"_#Wang. diff --git a/doc/src/pair_body.txt b/doc/src/pair_body_nparticle.txt similarity index 93% rename from doc/src/pair_body.txt rename to doc/src/pair_body_nparticle.txt index 7899da832b..8c5b6e155d 100644 --- a/doc/src/pair_body.txt +++ b/doc/src/pair_body_nparticle.txt @@ -10,21 +10,21 @@ pair_style body command :h3 [Syntax:] -pair_style body cutoff :pre +pair_style body/nparticle cutoff :pre cutoff = global cutoff for interactions (distance units) [Examples:] -pair_style body 3.0 +pair_style body/nparticle 3.0 pair_coeff * * 1.0 1.0 pair_coeff 1 1 1.0 1.5 2.5 :pre [Description:] -Style {body} is for use with body particles and calculates pairwise -body/body interactions as well as interactions between body and -point-particles. See "Section 6.14"_Section_howto.html#howto_14 +Style {body/nparticle} is for use with body particles and calculates +pairwise body/body interactions as well as interactions between body +and point-particles. See "Section 6.14"_Section_howto.html#howto_14 of the manual and the "body"_body.html doc page for more details on using body particles. diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index ea77fa9247..caaa0746a1 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -28,11 +28,11 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 2d models of body particles of style {rounded/polygon}. It calculates pairwise -body/body interactions as well as interactions between body and point -particles (modeled as disks with a specified diameter). -See "Section 6.14"_Section_howto.html#howto_14 of the -manual and the "body"_body.html doc page for more details on using -body rounded/polygon particles. +body/body interactions which can include body particles modeled as +1-vertex circular disks with a specified diameter. See "Section +6.14"_Section_howto.html#howto_14 of the manual and the +"body"_body.html doc page for more details on using body +rounded/polygon particles. This pairwise interaction between rounded polygons is described in "Fraige"_#Fraige, where a polygon does not have sharp corners, but is @@ -51,8 +51,21 @@ between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices and edges themselves. -This means that the specified cutoff in the pair_style command is -the cutoff distance, r_c, for the surface separation, \delta_n (see figure below). +This means that the specified cutoff in the pair_style command is the +cutoff distance, r_c, for the surface separation, \delta_n (see figure +below). This is the distance at which two particles no longer +interact. If r_c is specified as 0.0, then it is a contact-only +interaction. I.e. the two particles must overlap in order to exert a +repulsive force on each other. If r_c > 0.0, then the force between +two particles will be attractive for surface separations from 0 to +r_c, and repulsive once the particles overlap. + +Note that unlike for other pair styles, the specified cutoff is not +the distance between the centers of two particles at which they stop +interacting. This center-to-center distance depends on the shape and +size of the two particles and their relative orientation. LAMMPS +takes that into account when computing the surface separation distance +and applying the r_c cutoff. The forces between vertex-vertex, vertex-edge, and edge-edge overlaps are given by: @@ -61,25 +74,10 @@ are given by: :c,image(JPG/pair_body_rounded.jpg) -TRUNG: The diagram label "cohesive regions" confuses me. Are you -saying there is some distance d for which the force is attractive, -i.e. the particles are cohesive? I think when d > Ri + Rj, since Ri + -Rj is the surface/surface overlap discussed above? If so, then the -discussion above about the specified cutoff is wrong? I.e. you can -specify a large cutoff than the surface/surface overlap to get -cohesive interactions? If so, this should be explained up above. -But an additional confusion is that the specied cutoff (Rc in diagram?) -is a single number, but depedning on the orientiation of the 2 -particles they might have a suface/surface overlap at a much -smaller value of Ri + Rj. So what is Rc then? - I added -the following paragraph to address this. - -Note that F_n and F_t are functions of the surface separation -\delta_n = d - (R_i + R_j). -In this model, when (R_i + R_j) < d < (R_i + R_j) + r_c, that is, -0 < \delta_n < r_c, the cohesive region of the two surfaces overlap -and the two surfaces are attractive to each other. - +Note that F_n and F_t are functions of the surface separation \delta_n += d - (R_i + R_j). In this model, when (R_i + R_j) < d < (R_i + R_j) ++ r_c, that is, 0 < \delta_n < r_c, the cohesive region of the two +surfaces overlap and the two surfaces are attractive to each other. In "Fraige"_#Fraige, the tangential friction force between two particles that are in contact is modeled differently prior to gross @@ -92,7 +90,6 @@ contact nor calculate the tangential deformation. Instead, we assume that gross sliding takes place as soon as two particles are in contact. - The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file read by the "read_data"_read_data.html command: @@ -101,12 +98,8 @@ k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul Effectively, k_n and k_na are the slopes of the red lines in the plot -above for force versus surface separation, for \delta_n < 0 and 0 < \delta_n < r_c -respectively. (TRUNG: is this sentence correct? - it should read delta_n, -instead of r) - -TRUNG: reminder to copy any change in this file -to the pair polyhedron file as well (and vice versa) +above for force versus surface separation, for \delta_n < 0 and 0 < +\delta_n < r_c respectively. [Mixing, shift, table, tail correction, restart, rRESPA info]: diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index cb4ec00917..4a58e0119b 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -28,28 +28,11 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 3d models of body particles of style {rounded/polyhedron}. It calculates pairwise -body/body interactions as well as interactions between body and -point-particles (modeled as spheres with a specified diameter). -See "Section 6.14"_Section_howto.html#howto_14 of -the manual and the "body"_body.html doc page for more details on using -body rounded/polyhedron particles. - -TRUNG: I think we need a paragraph here about how body/sphere -interactions are handled. Does this pair style only do body/body but -allow for a body = sphere or rod or some other degenerate case? Or -does this pair style allow you to model a simulation of mixed body and -point particles, where point particles are spheroids. If so, does -this pair style do body/body and body/point, and you use one of the -other granular pair styles to do point/point? I.e. a pair hybrid -model? Or does everything have to be defined as bodies. Actually -this paragraph would make more sense in the body.txt file about how to -create a model that includes non-body particles (spheres). And in -this pair style file just a couple lines about which part of the -interactions this pair style computes. Ditto in the pair body polygon -file. - The pair style supports body/sphere and sphere/sphere -given that all the atoms should be of body rounded/polyhedron. -I updated the above paragraph and added examples in body.txt for -specifying the special objects (i.e. spheres and rods). +body/body interactions which can include body particles modeled as +1-vertex spheres with a specified diameter. See "Section +6.14"_Section_howto.html#howto_14 of the manual and the +"body"_body.html doc page for more details on using body +rounded/polyhedron particles. This pairwise interaction between the rounded polyhedra is described in "Wang"_#Wang, where a polyhedron does not have sharp corners and @@ -61,7 +44,6 @@ in the data file read by the "read data"_read_data.html command. This is a discrete element model (DEM) which allows for multiple contact points. - Note that when two particles interact, the effective surface of each polyhedron particle is displaced outward from each of its vertices, edges, and faces by half its sphere diameter. The interaction forces @@ -69,8 +51,21 @@ and energies between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices, edges, and faces themselves. -This means that the specified cutoff in the pair_style command is -the cutoff distance, r_c, for the surface separation, \delta_n (see figure below). +This means that the specified cutoff in the pair_style command is the +cutoff distance, r_c, for the surface separation, \delta_n (see figure +below). This is the distance at which two particles no longer +interact. If r_c is specified as 0.0, then it is a contact-only +interaction. I.e. the two particles must overlap in order to exert a +repulsive force on each other. If r_c > 0.0, then the force between +two particles will be attractive for surface separations from 0 to +r_c, and repulsive once the particles overlap. + +Note that unlike for other pair styles, the specified cutoff is not +the distance between the centers of two particles at which they stop +interacting. This center-to-center distance depends on the shape and +size of the two particles and their relative orientation. LAMMPS +takes that into account when computing the surface separation distance +and applying the r_c cutoff. The forces between vertex-vertex, vertex-edge, vertex-face, edge-edge, and edge-face overlaps are given by: @@ -97,9 +92,8 @@ k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul Effectively, k_n and k_na are the slopes of the red lines in the plot -above for force versus surface separation, for \delta_n < 0 and 0 < \delta_n < r_c -respectively. (TRUNG: is this sentence correct? - it should read delta_n, -instead of r) +above for force versus surface separation, for \delta_n < 0 and 0 < +\delta_n < r_c respectively. [Mixing, shift, table, tail correction, restart, rRESPA info]: diff --git a/examples/body/in.body b/examples/body/in.body index 5879ed5e45..815b853154 100644 --- a/examples/body/in.body +++ b/examples/body/in.body @@ -8,7 +8,7 @@ read_data data.body velocity all create 1.44 87287 loop geom -pair_style body 5.0 +pair_style body/nparticle 5.0 pair_coeff * * 1.0 1.0 neighbor 0.5 bin diff --git a/src/BODY/pair_body.cpp b/src/BODY/pair_body_nparticle.cpp similarity index 95% rename from src/BODY/pair_body.cpp rename to src/BODY/pair_body_nparticle.cpp index 8c12c0cf36..80b45beb4e 100644 --- a/src/BODY/pair_body.cpp +++ b/src/BODY/pair_body_nparticle.cpp @@ -15,7 +15,7 @@ #include #include #include -#include "pair_body.h" +#include "pair_body_nparticle.h" #include "math_extra.h" #include "atom.h" #include "atom_vec_body.h" @@ -32,7 +32,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairBody::PairBody(LAMMPS *lmp) : Pair(lmp) +PairBodyNparticle::PairBodyNparticle(LAMMPS *lmp) : Pair(lmp) { dmax = nmax = 0; discrete = NULL; @@ -44,7 +44,7 @@ PairBody::PairBody(LAMMPS *lmp) : Pair(lmp) /* ---------------------------------------------------------------------- */ -PairBody::~PairBody() +PairBodyNparticle::~PairBodyNparticle() { memory->destroy(discrete); memory->destroy(dnum); @@ -66,7 +66,7 @@ PairBody::~PairBody() /* ---------------------------------------------------------------------- */ -void PairBody::compute(int eflag, int vflag) +void PairBodyNparticle::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; int ni,nj,npi,npj,ifirst,jfirst; @@ -336,7 +336,7 @@ void PairBody::compute(int eflag, int vflag) allocate all arrays ------------------------------------------------------------------------- */ -void PairBody::allocate() +void PairBodyNparticle::allocate() { allocated = 1; int n = atom->ntypes; @@ -361,7 +361,7 @@ void PairBody::allocate() global settings ------------------------------------------------------------------------- */ -void PairBody::settings(int narg, char **arg) +void PairBodyNparticle::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); @@ -381,7 +381,7 @@ void PairBody::settings(int narg, char **arg) set coeffs for one or more type pairs ------------------------------------------------------------------------- */ -void PairBody::coeff(int narg, char **arg) +void PairBodyNparticle::coeff(int narg, char **arg) { if (narg < 4 || narg > 5) error->all(FLERR,"Incorrect args for pair coefficients"); @@ -415,12 +415,12 @@ void PairBody::coeff(int narg, char **arg) init specific to this pair style ------------------------------------------------------------------------- */ -void PairBody::init_style() +void PairBodyNparticle::init_style() { avec = (AtomVecBody *) atom->style_match("body"); - if (!avec) error->all(FLERR,"Pair body requires atom style body"); + if (!avec) error->all(FLERR,"Pair body/nparticle requires atom style body"); if (strcmp(avec->bptr->style,"nparticle") != 0) - error->all(FLERR,"Pair body requires body style nparticle"); + error->all(FLERR,"Pair body/nparticle requires body style nparticle"); bptr = (BodyNparticle *) avec->bptr; neighbor->request(this,instance_me); @@ -430,7 +430,7 @@ void PairBody::init_style() init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairBody::init_one(int i, int j) +double PairBodyNparticle::init_one(int i, int j) { if (setflag[i][j] == 0) { epsilon[i][j] = mix_energy(epsilon[i][i],epsilon[j][j], @@ -459,7 +459,7 @@ double PairBody::init_one(int i, int j) store sub-particle space-frame displacements from COM in discrete list ------------------------------------------------------------------------- */ -void PairBody::body2space(int i) +void PairBodyNparticle::body2space(int i) { int ibonus = atom->body[i]; AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; diff --git a/src/BODY/pair_body.h b/src/BODY/pair_body_nparticle.h similarity index 90% rename from src/BODY/pair_body.h rename to src/BODY/pair_body_nparticle.h index 94fbdf34df..9c7d832b64 100644 --- a/src/BODY/pair_body.h +++ b/src/BODY/pair_body_nparticle.h @@ -13,21 +13,21 @@ #ifdef PAIR_CLASS -PairStyle(body,PairBody) +PairStyle(body/nparticle,PairBodyNparticle) #else -#ifndef LMP_PAIR_BODY_H -#define LMP_PAIR_BODY_H +#ifndef LMP_PAIR_BODY_NPARTICLE_H +#define LMP_PAIR_BODY_NPARTICLE_H #include "pair.h" namespace LAMMPS_NS { -class PairBody : public Pair { +class PairBodyNparticle : public Pair { public: - PairBody(class LAMMPS *); - ~PairBody(); + PairBodyNparticle(class LAMMPS *); + ~PairBodyNparticle(); void compute(int, int); void settings(int, char **); void coeff(int, char **); -- GitLab From f9c7fa973b29f17bacc2d5dfd7686f08fd529f8d Mon Sep 17 00:00:00 2001 From: Tim Mattox Date: Wed, 18 Jul 2018 10:41:57 -0500 Subject: [PATCH 291/675] USER-DPD: propagate a minor performance bugfix throughout the DPDE code The fix_shardlow_kokkos.cpp code had already factored out a redundant sqrt() calculation in the innermost loop of ssa_update_dpde(). This changeset propagates an equivilent optimization to: fix_shardlow.cpp pair_dpd_fdt_energy.cpp pair_dpd_fdt_energy_kokkos.cpp The alpha_ij variable was really just an [itype][jtype] lookup parameter, replacing a sqrt() and two multiplies per interacting particle pair by a cached memory read. Even if there isn't much time savings, the code is now consistent across the various versions. --- src/KOKKOS/fix_shardlow_kokkos.cpp | 3 +-- src/KOKKOS/pair_dpd_fdt_energy_kokkos.cpp | 3 ++- src/KOKKOS/pair_dpd_fdt_energy_kokkos.h | 6 +++--- src/USER-DPD/fix_shardlow.cpp | 6 +++--- src/USER-DPD/pair_dpd_fdt_energy.cpp | 10 ++++++++-- src/USER-DPD/pair_dpd_fdt_energy.h | 2 +- 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/KOKKOS/fix_shardlow_kokkos.cpp b/src/KOKKOS/fix_shardlow_kokkos.cpp index 70055bf8c9..99e51ebe38 100644 --- a/src/KOKKOS/fix_shardlow_kokkos.cpp +++ b/src/KOKKOS/fix_shardlow_kokkos.cpp @@ -157,7 +157,6 @@ void FixShardlowKokkos::init() k_pairDPDE->k_cutsq.template sync(); d_cutsq = k_pairDPDE->k_cutsq.template view(); - const double boltz2 = 2.0*force->boltz; for (int i = 1; i <= ntypes; i++) { for (int j = i; j <= ntypes; j++) { F_FLOAT cutone = k_pairDPDE->cut[i][j]; @@ -165,7 +164,7 @@ void FixShardlowKokkos::init() else k_params.h_view(i,j).cutinv = FLT_MAX; k_params.h_view(i,j).halfsigma = 0.5*k_pairDPDE->sigma[i][j]; k_params.h_view(i,j).kappa = k_pairDPDE->kappa[i][j]; - k_params.h_view(i,j).alpha = sqrt(boltz2*k_pairDPDE->kappa[i][j]); + k_params.h_view(i,j).alpha = k_pairDPDE->alpha[i][j]; k_params.h_view(j,i) = k_params.h_view(i,j); diff --git a/src/KOKKOS/pair_dpd_fdt_energy_kokkos.cpp b/src/KOKKOS/pair_dpd_fdt_energy_kokkos.cpp index 7ff536f8dd..038d95394a 100644 --- a/src/KOKKOS/pair_dpd_fdt_energy_kokkos.cpp +++ b/src/KOKKOS/pair_dpd_fdt_energy_kokkos.cpp @@ -591,7 +591,7 @@ void PairDPDfdtEnergyKokkos::operator()(TagPairDPDfdtEnergyComputeNo // Compute uCond randnum = rand_gen.normal(); kappa_ij = STACKPARAMS?m_params[itype][jtype].kappa:params(itype,jtype).kappa; - alpha_ij = sqrt(2.0*boltz*kappa_ij); + alpha_ij = STACKPARAMS?m_params[itype][jtype].alpha:params(itype,jtype).alpha; randPair = alpha_ij*wr*randnum*dtinvsqrt; uTmp = kappa_ij*(1.0/dpdTheta[i] - 1.0/dpdTheta[j])*wd; @@ -676,6 +676,7 @@ double PairDPDfdtEnergyKokkos::init_one(int i, int j) k_params.h_view(i,j).a0 = a0[i][j]; k_params.h_view(i,j).sigma = sigma[i][j]; k_params.h_view(i,j).kappa = kappa[i][j]; + k_params.h_view(i,j).alpha = alpha[i][j]; k_params.h_view(j,i) = k_params.h_view(i,j); if(iuMech; double *dpdTheta = atom->dpdTheta; - double *cut_i, *cut2_i, *sigma_i, *kappa_i; + double *cut_i, *cut2_i, *sigma_i, *kappa_i, *alpha_i; double theta_ij_inv, theta_i_inv; - const double boltz2 = 2.0*force->boltz; const double boltz_inv = 1.0/force->boltz; const double ftm2v = force->ftm2v; @@ -389,6 +388,7 @@ while (ct-- > 0) { cut_i = pairDPDE->cut[itype]; sigma_i = pairDPDE->sigma[itype]; kappa_i = pairDPDE->kappa[itype]; + alpha_i = pairDPDE->alpha[itype]; theta_i_inv = 1.0/dpdTheta[i]; const double mass_i = (rmass) ? rmass[i] : mass[itype]; const double massinv_i = 1.0 / mass_i; @@ -448,7 +448,7 @@ while (ct-- > 0) { // Compute uCond double kappa_ij = kappa_i[jtype]; - double alpha_ij = sqrt(boltz2*kappa_ij); + double alpha_ij = alpha_i[jtype]; double del_uCond = alpha_ij*wr*dtsqrt * es_normal(RNGstate); del_uCond += kappa_ij*(theta_i_inv - theta_j_inv)*wdt; diff --git a/src/USER-DPD/pair_dpd_fdt_energy.cpp b/src/USER-DPD/pair_dpd_fdt_energy.cpp index d1f3cceed4..05dc52eac7 100644 --- a/src/USER-DPD/pair_dpd_fdt_energy.cpp +++ b/src/USER-DPD/pair_dpd_fdt_energy.cpp @@ -65,6 +65,7 @@ PairDPDfdtEnergy::~PairDPDfdtEnergy() memory->destroy(a0); memory->destroy(sigma); memory->destroy(kappa); + memory->destroy(alpha); memory->destroy(duCond); memory->destroy(duMech); } @@ -269,7 +270,7 @@ void PairDPDfdtEnergy::compute(int eflag, int vflag) // Compute uCond randnum = random->gaussian(); kappa_ij = kappa[itype][jtype]; - alpha_ij = sqrt(2.0*force->boltz*kappa_ij); + alpha_ij = alpha[itype][jtype]; randPair = alpha_ij*wr*randnum*dtinvsqrt; uTmp = kappa_ij*(1.0/dpdTheta[i] - 1.0/dpdTheta[j])*wd; @@ -322,6 +323,7 @@ void PairDPDfdtEnergy::allocate() memory->create(a0,n+1,n+1,"pair:a0"); memory->create(sigma,n+1,n+1,"pair:sigma"); memory->create(kappa,n+1,n+1,"pair:kappa"); + memory->create(alpha,n+1,n+1,"pair:alpha"); if (!splitFDT_flag) { memory->create(duCond,nlocal+nghost+1,"pair:duCond"); memory->create(duMech,nlocal+nghost+1,"pair:duMech"); @@ -374,11 +376,12 @@ void PairDPDfdtEnergy::coeff(int narg, char **arg) double a0_one = force->numeric(FLERR,arg[2]); double sigma_one = force->numeric(FLERR,arg[3]); double cut_one = cut_global; - double kappa_one; + double kappa_one, alpha_one; a0_is_zero = (a0_one == 0.0); // Typical use with SSA is to set a0 to zero kappa_one = force->numeric(FLERR,arg[4]); + alpha_one = sqrt(2.0*force->boltz*kappa_one); if (narg == 6) cut_one = force->numeric(FLERR,arg[5]); int count = 0; @@ -387,6 +390,7 @@ void PairDPDfdtEnergy::coeff(int narg, char **arg) a0[i][j] = a0_one; sigma[i][j] = sigma_one; kappa[i][j] = kappa_one; + alpha[i][j] = alpha_one; cut[i][j] = cut_one; setflag[i][j] = 1; count++; @@ -435,6 +439,7 @@ double PairDPDfdtEnergy::init_one(int i, int j) a0[j][i] = a0[i][j]; sigma[j][i] = sigma[i][j]; kappa[j][i] = kappa[i][j]; + alpha[j][i] = alpha[i][j]; return cut[i][j]; } @@ -488,6 +493,7 @@ void PairDPDfdtEnergy::read_restart(FILE *fp) MPI_Bcast(&sigma[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&kappa[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); + alpha[i][j] = sqrt(2.0*force->boltz*kappa[i][j]); a0_is_zero = a0_is_zero && (a0[i][j] == 0.0); // verify the zero assumption } } diff --git a/src/USER-DPD/pair_dpd_fdt_energy.h b/src/USER-DPD/pair_dpd_fdt_energy.h index dce39f83f0..e21b48f7bd 100644 --- a/src/USER-DPD/pair_dpd_fdt_energy.h +++ b/src/USER-DPD/pair_dpd_fdt_energy.h @@ -43,7 +43,7 @@ class PairDPDfdtEnergy : public Pair { double **cut; double **a0; - double **sigma,**kappa; + double **sigma,**kappa,**alpha; double *duCond,*duMech; int seed; -- GitLab From dfd40c1b70c04ac3d3a8c24c4a2e0e399aa5168b Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 18 Jul 2018 10:48:29 -0600 Subject: [PATCH 292/675] more doc tweaks --- doc/src/body.txt | 8 ++--- doc/src/lammps.book | 6 ++-- doc/src/pair_body_rounded_polygon.txt | 10 +++--- doc/src/pair_body_rounded_polyhedron.txt | 39 ++++++++++++------------ 4 files changed, 33 insertions(+), 30 deletions(-) diff --git a/doc/src/body.txt b/doc/src/body.txt index cef40cc643..e7baf626f5 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -186,7 +186,7 @@ squares with rounded circles at the vertices. Special cases for N = 1 (circle) and N = 2 (rod with rounded ends) can also be specified. One use of this body style is for 2d discrete element models, as -described in "Fraige"_#Fraige. +described in "Fraige"_#body-Fraige. Similar to body style {nparticle}, the atom_style body command for this body style takes two additional arguments: @@ -292,7 +292,7 @@ for N = 1 (sphere) and N = 2 (rod with rounded ends) can also be specified. This body style is for 3d discrete element models, as described in -"Wang"_#Wang. +"Wang"_#body-Wang. Similar to body style {rounded/polygon}, the atom_style body command for this body style takes two additional arguments: @@ -447,10 +447,10 @@ determined by the {bflag1} parameter for the {body} keyword. The :line -:link(Fraige) +:link(body-Fraige) [(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, Particuology, 6, 455 (2008). -:link(Wang) +:link(body-Wang) [(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 0764c593f7..9c0216412b 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -280,7 +280,8 @@ fix_vector.html fix_viscosity.html fix_viscous.html fix_wall.html -fix_wall_ees.html +fix_wall_body_polygon.html +fix_wall_body_polyhedron.html fix_wall_gran.html fix_wall_gran_region.html fix_wall_piston.html @@ -419,8 +420,9 @@ pair_agni.html pair_airebo.html pair_awpmd.html pair_beck.html -pair_body.html +pair_body_nparticle.html pair_body_rounded_polygon.html +pair_body_rounded_polyhedron.html pair_bop.html pair_born.html pair_brownian.html diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index caaa0746a1..9daeb08e9a 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -35,9 +35,9 @@ body/body interactions which can include body particles modeled as rounded/polygon particles. This pairwise interaction between rounded polygons is described in -"Fraige"_#Fraige, where a polygon does not have sharp corners, but is -rounded at its vertices by circles centered on each vertex with a -specified diameter. The edges of the polygon are defined between +"Fraige"_#pair-Fraige, where a polygon does not have sharp corners, +but is rounded at its vertices by circles centered on each vertex with +a specified diameter. The edges of the polygon are defined between pairs of adjacent vertices. The circle diameter for each polygon is specified in the data file read by the "read data"_read_data.html command. This is a 2d discrete element model (DEM) which allows for @@ -79,7 +79,7 @@ Note that F_n and F_t are functions of the surface separation \delta_n + r_c, that is, 0 < \delta_n < r_c, the cohesive region of the two surfaces overlap and the two surfaces are attractive to each other. -In "Fraige"_#Fraige, the tangential friction force between two +In "Fraige"_#pair-Fraige, the tangential friction force between two particles that are in contact is modeled differently prior to gross sliding (i.e. static friction) and during gross-sliding (kinetic friction). The latter takes place when the tangential deformation @@ -129,6 +129,6 @@ for pair interactions. [Default:] none -:link(Fraige) +:link(pair-Fraige) [(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, Particuology, 6, 455 (2008). diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 4a58e0119b..dc559feaaf 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -34,15 +34,15 @@ body/body interactions which can include body particles modeled as "body"_body.html doc page for more details on using body rounded/polyhedron particles. -This pairwise interaction between the rounded polyhedra is described in -"Wang"_#Wang, where a polyhedron does not have sharp corners and -edges, but is rounded at its vertices and edges by spheres centered on -each vertex with a specified diameter. The edges if the polyhedron -are defined between pairs of adjacent vertices. Its faces are defined -by a loop of edges. The sphere diameter for each polygon is specified -in the data file read by the "read data"_read_data.html command. This -is a discrete element model (DEM) which allows for multiple contact -points. +This pairwise interaction between the rounded polyhedra is described +in "Wang"_#pair-Wang, where a polyhedron does not have sharp corners +and edges, but is rounded at its vertices and edges by spheres +centered on each vertex with a specified diameter. The edges if the +polyhedron are defined between pairs of adjacent vertices. Its faces +are defined by a loop of edges. The sphere diameter for each polygon +is specified in the data file read by the "read data"_read_data.html +command. This is a discrete element model (DEM) which allows for +multiple contact points. Note that when two particles interact, the effective surface of each polyhedron particle is displaced outward from each of its vertices, @@ -74,15 +74,16 @@ and edge-face overlaps are given by: :c,image(JPG/pair_body_rounded.jpg) -In "Wang"_#Wang, the tangential friction force between two particles -that are in contact is modeled differently prior to gross sliding -(i.e. static friction) and during gross-sliding (kinetic friction). -The latter takes place when the tangential deformation exceeds the -Coulomb frictional limit. In the current implementation, however, we -do not take into account frictional history, i.e. we do not keep track -of how many time steps the two particles have been in contact nor -calculate the tangential deformation. Instead, we assume that gross -sliding takes place as soon as two particles are in contact. +In "Wang"_#pair-Wang, the tangential friction force between two +particles that are in contact is modeled differently prior to gross +sliding (i.e. static friction) and during gross-sliding (kinetic +friction). The latter takes place when the tangential deformation +exceeds the Coulomb frictional limit. In the current implementation, +however, we do not take into account frictional history, i.e. we do +not keep track of how many time steps the two particles have been in +contact nor calculate the tangential deformation. Instead, we assume +that gross sliding takes place as soon as two particles are in +contact. The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, @@ -123,7 +124,7 @@ for pair interactions. [Default:] none -:link(Wang) +:link(pair-Wang) [(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). -- GitLab From eebd075a1523a6f5d49855d3f73f65651a69c558 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Wed, 18 Jul 2018 11:05:54 -0600 Subject: [PATCH 293/675] added scaling for different units (lj, metal, ...) and storage of atom-wise potentials (eatom / eatom_flag) --- src/USER-SCAFACOS/scafacos.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index 89c67b828b..c5efd6a191 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -110,6 +110,10 @@ void Scafacos::init() // one-time initialization of ScaFaCoS + scale = 1.0; + qqrd2e = force->qqrd2e; + //qsum_qsq(); + if (!initialized) { result = fcs_init(&fcs,method,world); check_result(result); @@ -143,10 +147,15 @@ void Scafacos::compute(int eflag, int vflag) double *q = atom->q; int nlocal = atom->nlocal; + const double qscale = qqrd2e * scale; + // if simluation box has changed, call fcs_tune() + if (eflag || vflag) ev_setup(eflag,vflag); + else + eflag_atom = 0; + if (box_has_changed()) { - printf("AAA\n"); setup_handle(); result = fcs_tune(fcs,nlocal,&x[0][0],q); check_result(result); @@ -185,13 +194,21 @@ void Scafacos::compute(int eflag, int vflag) double myeng = 0.0; for (int i = 0; i < nlocal; i++) { - qone = q[i]; + qone = q[i] * qscale; f[i][0] += qone * efield[i][0]; f[i][1] += qone * efield[i][1]; f[i][2] += qone * efield[i][2]; myeng += 0.5 * qone * epot[i]; } + if (eflag_atom) + { + for (int i = 0; i < nlocal; i++) + { + eatom[i] = qscale * epot[i]; + } + } + MPI_Allreduce(&myeng,&energy,1,MPI_DOUBLE,MPI_SUM,world); } -- GitLab From 7d4de932b6945045779ae4e2a867b4e99f898d19 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Jul 2018 13:13:57 -0400 Subject: [PATCH 294/675] reinstate reference to fix wall/ees in lammps.book --- doc/src/lammps.book | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 9c0216412b..56284812f8 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -282,6 +282,7 @@ fix_viscous.html fix_wall.html fix_wall_body_polygon.html fix_wall_body_polyhedron.html +fix_wall_ees.html fix_wall_gran.html fix_wall_gran_region.html fix_wall_piston.html -- GitLab From 1a959a5683accbf9ad8c36198de73b9557d2c5f0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Jul 2018 13:26:45 -0400 Subject: [PATCH 295/675] must add USER-SCAFACOS to PACKLIB variable in Makefile We need "make no-lib" to be correct for automated testing to work, since only known packages with libraries can be successfully compiled through jenkins and other tools. Those scripts usually do "make yes-all no-lib" and then "make yes-XXX" for selected packages where it is known how to build the required libs. --- src/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 5ca5e7ddc6..4e19f43afb 100644 --- a/src/Makefile +++ b/src/Makefile @@ -68,7 +68,7 @@ PACKUSER = user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \ PACKLIB = compress gpu kim kokkos latte meam mpiio mscg poems \ python reax voronoi \ user-atc user-awpmd user-colvars user-h5md user-lb user-molfile \ - user-netcdf user-qmmm user-quip user-smd user-vtk + user-netcdf user-qmmm user-quip user-scafacos user-smd user-vtk PACKSYS = compress mpiio python user-lb -- GitLab From b0c9fde1dd455194f4ef7767d5790ba022eaa7a9 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 18 Jul 2018 15:32:03 -0600 Subject: [PATCH 296/675] more changes from Steve --- doc/src/Section_packages.txt | 55 +++ doc/src/fix_scafacos.txt | 44 --- doc/src/kspace_modify.txt | 415 ++++++++++++--------- doc/src/kspace_style.txt | 91 ++++- examples/USER/scafacos/README | 10 + examples/{ => USER}/scafacos/data.NaCl | 0 examples/{ => USER}/scafacos/in.scafacos | 0 lib/scafacos/Install.py | 15 +- src/USER-SCAFACOS/README | 5 + src/USER-SCAFACOS/fix_scafacos.cpp | 456 ----------------------- src/USER-SCAFACOS/fix_scafacos.h | 164 -------- src/USER-SCAFACOS/scafacos.cpp | 103 ++--- src/USER-SCAFACOS/scafacos.h | 1 + src/kspace.cpp | 6 +- src/kspace.h | 2 + 15 files changed, 470 insertions(+), 897 deletions(-) delete mode 100644 doc/src/fix_scafacos.txt create mode 100644 examples/USER/scafacos/README rename examples/{ => USER}/scafacos/data.NaCl (100%) rename examples/{ => USER}/scafacos/in.scafacos (100%) create mode 100644 src/USER-SCAFACOS/README delete mode 100644 src/USER-SCAFACOS/fix_scafacos.cpp delete mode 100644 src/USER-SCAFACOS/fix_scafacos.h diff --git a/doc/src/Section_packages.txt b/doc/src/Section_packages.txt index 218866e271..ea03bdb74e 100644 --- a/doc/src/Section_packages.txt +++ b/doc/src/Section_packages.txt @@ -149,6 +149,7 @@ Package, Description, Doc page, Example, Library "USER-QTB"_#USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, - "USER-QUIP"_#USER-QUIP, QUIP/libatoms interface,"pair_style quip"_pair_quip.html, USER/quip, ext "USER-REAXC"_#USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, - +"USER-SCAFACOS"_#USER-SCAFACOS, ScaFaCoS long-range Coulombics,"kspace_style scafacos"_kspace_style.html, USER/scafacos, ext "USER-SMD"_#USER-SMD, smoothed Mach dynamics,"SMD User Guide"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, ext "USER-SMTBQ"_#USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, - "USER-SPH"_#USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, - @@ -2730,6 +2731,60 @@ examples/reax :ul :line +RENE: check this section + +USER-SCAFACOS package :link(USER-SCAFACOS),h4 + +[Contents:] + +A KSpace style which wraps the "ScaFaCoS Coulomb solver +library"_http://www.scafacos.de. + +To use this package you must have the ScaFaCoS library available on +your system. It is available for download at "http://scafacos.de" or +can be cloned from the git-repository +"git://github.com/scafacos/scafacos.git". + +[Author:] Rene Halver (JSC) wrote the scafacos LAMMPS command. + +ScaFaCoS was developed by a consortium of German research facilities +with a BMBF (German Ministry of Science and Education) funded project +in 2009-2012. Participants of the consortium were the Universities of +Bonn, Chemnitz, Stuttgart, and Wuppertal as well as the +Forschungszentrum Juelich. + +[Install or un-install:] + +Before building LAMMPS with this package, you must first download and +build the ScaFaCoS library. You can do this manually if you prefer; +follow the instructions in lib/scafacos/README. You can also do it in +one step from the lammps/src dir, using a command like these, which +simply invoke the lib/scafacos/Install.py script with the specified +args: + +make lib-scafacos # print help message +make lib-scafacos args="-b" # download and build in lib/scafacos/scafacos- +make lib-voronoi args="-p $HOME/scafacos # use existing ScaFaCoS installation in $HOME/scafacos + +You can then install/un-install the package and build LAMMPS in the +usual manner: + +make yes-user-scafacos +make machine :pre + +make no-user-scafacos +make machine :pre + +[Supporting info:] + +src/USER-SCAFACOS: filenames -> commands +src/USER-SCAFACOS/README +"kspace_style scafacos"_kspace_style.html +"kspace_modify"_kspace_modify.html +examples/USER/scafacos :ul + +:line + USER-SMD package :link(USER-SMD),h4 [Contents:] diff --git a/doc/src/fix_scafacos.txt b/doc/src/fix_scafacos.txt deleted file mode 100644 index 1a65ed0c5e..0000000000 --- a/doc/src/fix_scafacos.txt +++ /dev/null @@ -1,44 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -fix scafacos command :h3 - -[Syntax:] - -fix ID group-ID scafacos solver tol_type tolerance :pre - -ID, group-ID are documented in "fix"_fix.html command -scafacos = style name of this fix command -solver = NULL or name of solver for electro-statics computation :ul -tol_type = NULL or one of (energy, energy_rel, field, field_rel, potential, potential_rel) -tolerance = only of tol_type is given, value of tolerance - -[Examples:] - -fix 1 all scafacos fmm -fix 1 all scafacos p3m field 0.001 - -[Description:] - -This fix style is a wrapper for the Coulomb solver library ScaFaCoS, -which provides a selection of different solvers for the compuation -of electro-static interaction. If you download and build ScaFaCoS, -it can be called as libray by LAMMPS via this fix, which allows the -selection of a solver as well as setting the tolerance of a chosen -parameter (if compatible with the chosen solver). - -ScaFaCoS was developed by a consortium of German research facilities -with a BMBF (German Ministry of Science and Education) funded project -in 2009-2012. Participants of the consortium were the Universities of -Bonn, Chemnitz, Stuttgart, and Wuppertal as well as the -Forschungszentrum Juelich. - -The library is available at "http://scafacos.de" or can be cloned -from the git-repository "git://github.com/scafacos/scafacos.git". - -:line diff --git a/doc/src/kspace_modify.txt b/doc/src/kspace_modify.txt index 6d27bb7076..fbc569306c 100644 --- a/doc/src/kspace_modify.txt +++ b/doc/src/kspace_modify.txt @@ -13,47 +13,51 @@ kspace_modify command :h3 kspace_modify keyword value ... :pre one or more keyword/value pairs may be listed :ulb,l -keyword = {mesh} or {order} or {order/disp} or {mix/disp} or {overlap} or {minorder} or {force} or {gewald} or {gewald/disp} or {slab} or (nozforce} or {compute} or {cutoff/adjust} or {fftbench} or {collective} or {diff} or {kmax/ewald} or {force/disp/real} or {force/disp/kspace} or {splittol} or {disp/auto}:l +keyword = {collective} or {compute} or {cutoff/adjust} or {diff} or {disp/auto} or {fftbench} or {force/disp/kspace} or {force/disp/real} or {force} or {gewald/disp} or {gewald} or {kmax/ewald} or {mesh} or {minorder} or {mix/disp} or {order/disp} or {order} or {overlap} or {scafacos} or {slab} or {splittol} :l + {collective} value = {yes} or {no} + {compute} value = {yes} or {no} + {cutoff/adjust} value = {yes} or {no} + {diff} value = {ad} or {ik} = 2 or 4 FFTs for PPPM in smoothed or non-smoothed mode + {disp/auto} value = yes or no + {fftbench} value = {yes} or {no} + {force/disp/real} value = accuracy (force units) + {force/disp/kspace} value = accuracy (force units) + {force} value = accuracy (force units) + {gewald} value = rinv (1/distance units) + rinv = G-ewald parameter for Coulombics + {gewald/disp} value = rinv (1/distance units) + rinv = G-ewald parameter for dispersion + {kmax/ewald} value = kx ky kz + kx,ky,kz = number of Ewald sum kspace vectors in each dimension {mesh} value = x y z x,y,z = grid size in each dimension for long-range Coulombics {mesh/disp} value = x y z x,y,z = grid size in each dimension for 1/r^6 dispersion + {minorder} value = M + M = min allowed extent of Gaussian when auto-adjusting to minimize grid communication + {mix/disp} value = {pair} or {geom} or {none} {order} value = N N = extent of Gaussian for PPPM or MSM mapping of charge to grid {order/disp} value = N N = extent of Gaussian for PPPM mapping of dispersion term to grid - {mix/disp} value = {pair} or {geom} or {none} {overlap} = {yes} or {no} = whether the grid stencil for PPPM is allowed to overlap into more than the nearest-neighbor processor - {minorder} value = M - M = min allowed extent of Gaussian when auto-adjusting to minimize grid communication - {force} value = accuracy (force units) - {gewald} value = rinv (1/distance units) - rinv = G-ewald parameter for Coulombics - {gewald/disp} value = rinv (1/distance units) - rinv = G-ewald parameter for dispersion + {pressure/scalar} value = {yes} or {no} + {scafacos} values = option value1 value2 ... + option = {tolerance} + value = {energy} or {energy_rel} or {field} or {field_rel} or {potential} or {potential_rel} {slab} value = volfactor or {nozforce} volfactor = ratio of the total extended volume used in the 2d approximation compared with the volume of the simulation domain {nozforce} turns off kspace forces in the z direction - {compute} value = {yes} or {no} - {cutoff/adjust} value = {yes} or {no} - {pressure/scalar} value = {yes} or {no} - {fftbench} value = {yes} or {no} - {collective} value = {yes} or {no} - {diff} value = {ad} or {ik} = 2 or 4 FFTs for PPPM in smoothed or non-smoothed mode - {kmax/ewald} value = kx ky kz - kx,ky,kz = number of Ewald sum kspace vectors in each dimension - {force/disp/real} value = accuracy (force units) - {force/disp/kspace} value = accuracy (force units) {splittol} value = tol - tol = relative size of two eigenvalues (see discussion below) - {disp/auto} value = yes or no :pre + tol = relative size of two eigenvalues (see discussion below) :pre :ule [Examples:] kspace_modify mesh 24 24 30 order 6 -kspace_modify slab 3.0 :pre +kspace_modify slab 3.0 +kspace_modify scafacos tolerance energy :pre [Description:] @@ -61,6 +65,132 @@ Set parameters used by the kspace solvers defined by the "kspace_style"_kspace_style.html command. Not all parameters are relevant to all kspace styles. +:line + +The {collective} keyword applies only to PPPM. It is set to {no} by +default, except on IBM BlueGene machines. If this option is set to +{yes}, LAMMPS will use MPI collective operations to remap data for +3d-FFT operations instead of the default point-to-point communication. +This is faster on IBM BlueGene machines, and may also be faster on +other machines if they have an efficient implementation of MPI +collective operations and adequate hardware. + +:line + +The {compute} keyword allows Kspace computations to be turned off, +even though a "kspace_style"_kspace_style.html is defined. This is +not useful for running a real simulation, but can be useful for +debugging purposes or for computing only partial forces that do not +include the Kspace contribution. You can also do this by simply not +defining a "kspace_style"_kspace_style.html, but a Kspace-compatible +"pair_style"_pair_style.html requires a kspace style to be defined. +This keyword gives you that option. + +:line + +The {cutoff/adjust} keyword applies only to MSM. If this option is +turned on, the Coulombic cutoff will be automatically adjusted at the +beginning of the run to give the desired estimated error. Other +cutoffs such as LJ will not be affected. If the grid is not set using +the {mesh} command, this command will also attempt to use the optimal +grid that minimizes cost using an estimate given by +"(Hardy)"_#Hardy1. Note that this cost estimate is not exact, somewhat +experimental, and still may not yield the optimal parameters. + +:line + +The {diff} keyword specifies the differentiation scheme used by the +PPPM method to compute forces on particles given electrostatic +potentials on the PPPM mesh. The {ik} approach is the default for +PPPM and is the original formulation used in "(Hockney)"_#Hockney1. It +performs differentiation in Kspace, and uses 3 FFTs to transfer each +component of the computed fields back to real space for total of 4 +FFTs per timestep. + +The analytic differentiation {ad} approach uses only 1 FFT to transfer +information back to real space for a total of 2 FFTs per timestep. It +then performs analytic differentiation on the single quantity to +generate the 3 components of the electric field at each grid point. +This is sometimes referred to as "smoothed" PPPM. This approach +requires a somewhat larger PPPM mesh to achieve the same accuracy as +the {ik} method. Currently, only the {ik} method (default) can be +used for a triclinic simulation cell with PPPM. The {ad} method is +always used for MSM. + +NOTE: Currently, not all PPPM styles support the {ad} option. Support +for those PPPM variants will be added later. + +:line + +The {disp/auto} option controls whether the pppm/disp is allowed to +generate PPPM parameters automatically. If set to {no}, parameters have +to be specified using the {gewald/disp}, {mesh/disp}, +{force/disp/real} or {force/disp/kspace} keywords, or +the code will stop with an error message. When this option is set to +{yes}, the error message will not appear and the simulation will start. +For a typical application, using the automatic parameter generation +will provide simulations that are either inaccurate or slow. Using this +option is thus not recommended. For guidelines on how to obtain good +parameters, see the "How-To"_Section_howto.html#howto_24 discussion. + +:line + +The {fftbench} keyword applies only to PPPM. It is off by default. If +this option is turned on, LAMMPS will perform a short FFT benchmark +computation and report its timings, and will thus finish a some seconds +later than it would if this option were off. + +:line + +The {force/disp/real} and {force/disp/kspace} keywords set the force +accuracy for the real and space computations for the dispersion part +of pppm/disp. As shown in "(Isele-Holder)"_#Isele-Holder1, optimal +performance and accuracy in the results is obtained when these values +are different. + +:line + +The {force} keyword overrides the relative accuracy parameter set by +the "kspace_style"_kspace_style.html command with an absolute +accuracy. The accuracy determines the RMS error in per-atom forces +calculated by the long-range solver and is thus specified in force +units. A negative value for the accuracy setting means to use the +relative accuracy parameter. The accuracy setting is used in +conjunction with the pairwise cutoff to determine the number of +K-space vectors for style {ewald}, the FFT grid size for style +{pppm}, or the real space grid size for style {msm}. + +:line + +The {gewald} keyword sets the value of the Ewald or PPPM G-ewald +parameter for charge as {rinv} in reciprocal distance units. Without +this setting, LAMMPS chooses the parameter automatically as a function +of cutoff, precision, grid spacing, etc. This means it can vary from +one simulation to the next which may not be desirable for matching a +KSpace solver to a pre-tabulated pairwise potential. This setting can +also be useful if Ewald or PPPM fails to choose a good grid spacing +and G-ewald parameter automatically. If the value is set to 0.0, +LAMMPS will choose the G-ewald parameter automatically. MSM does not +use the {gewald} parameter. + +:line + +The {gewald/disp} keyword sets the value of the Ewald or PPPM G-ewald +parameter for dispersion as {rinv} in reciprocal distance units. It +has the same meaning as the {gewald} setting for Coulombics. + +:line + +The {kmax/ewald} keyword sets the number of kspace vectors in each +dimension for kspace style {ewald}. The three values must be positive +integers, or else (0,0,0), which unsets the option. When this option +is not set, the Ewald sum scheme chooses its own kspace vectors, +consistent with the user-specified accuracy and pairwise cutoff. In +any case, if kspace style {ewald} is invoked, the values used are +printed to the screen and the log file at the start of the run. + +:line + The {mesh} keyword sets the grid size for kspace style {pppm} or {msm}. In the case of PPPM, this is the FFT mesh, and each dimension must be factorizable into powers of 2, 3, and 5. In the case of MSM, @@ -70,6 +200,8 @@ or MSM solver chooses its own grid size, consistent with the user-specified accuracy and pairwise cutoff. Values for x,y,z of 0,0,0 unset the option. +:line + The {mesh/disp} keyword sets the grid size for kspace style {pppm/disp}. This is the FFT mesh for long-range dispersion and ach dimension must be factorizable into powers of 2, 3, and 5. When this @@ -77,6 +209,45 @@ option is not set, the PPPM solver chooses its own grid size, consistent with the user-specified accuracy and pairwise cutoff. Values for x,y,z of 0,0,0 unset the option. +:line + +The {minorder} keyword allows LAMMPS to reduce the {order} setting if +necessary to keep the communication of ghost grid point limited to +exchanges between nearest-neighbor processors. See the discussion of +the {overlap} keyword for details. If the {overlap} keyword is set to +{yes}, which is the default, this is never needed. If it set to {no} +and overlap occurs, then LAMMPS will reduce the order setting, one +step at a time, until the ghost grid overlap only extends to nearest +neighbor processors. The {minorder} keyword limits how small the +{order} setting can become. The minimum allowed value for PPPM is 2, +which is the default. If {minorder} is set to the same value as +{order} then no reduction is allowed, and LAMMPS will generate an +error if the grid communication is non-nearest-neighbor and {overlap} +is set to {no}. The {minorder} keyword is not currently supported in +MSM. + +:line + +The {mix/disp} keyword selects the mixing rule for the dispersion +coefficients. With {pair}, the dispersion coefficients of unlike +types are computed as indicated with "pair_modify"_pair_modify.html. +With {geom}, geometric mixing is enforced on the dispersion +coefficients in the kspace coefficients. When using the arithmetic +mixing rule, this will speed-up the simulations but introduces some +error in the force computations, as shown in "(Wennberg)"_#Wennberg. +With {none}, it is assumed that no mixing rule is +applicable. Splitting of the dispersion coefficients will be performed +as described in "(Isele-Holder)"_#Isele-Holder1. + +This splitting can be influenced with the {splittol} keywords. Only +the eigenvalues that are larger than tol compared to the largest +eigenvalues are included. Using this keywords the original matrix of +dispersion coefficients is approximated. This leads to faster +computations, but the accuracy in the reciprocal space computations of +the dispersion part is decreased. + +:line + The {order} keyword determines how many grid spacings an atom's charge extends when it is mapped to the grid in kspace style {pppm} or {msm}. The default for this parameter is 5 for PPPM and 8 for MSM, which @@ -91,11 +262,23 @@ inherent trade-off involved: a small grid will lower the cost of FFTs or MSM direct sum, but a larger order parameter will increase the cost of interpolating charge/fields to/from the grid. +The PPPM order parameter may be reset by LAMMPS when it sets up the +FFT grid if the implied grid stencil extends beyond the grid cells +owned by neighboring processors. Typically this will only occur when +small problems are run on large numbers of processors. A warning will +be generated indicating the order parameter is being reduced to allow +LAMMPS to run the problem. Automatic adjustment of the order parameter +is not supported in MSM. + +:line + The {order/disp} keyword determines how many grid spacings an atom's dispersion term extends when it is mapped to the grid in kspace style {pppm/disp}. It has the same meaning as the {order} setting for Coulombics. +:line + The {overlap} keyword can be used in conjunction with the {minorder} keyword with the PPPM styles to adjust the amount of communication that occurs when values on the FFT grid are exchanged between @@ -111,53 +294,42 @@ communication will be limited to nearest-neighbor processors and the {minorder} keyword discussion. The {overlap} keyword is always set to {yes} in MSM. -The {minorder} keyword allows LAMMPS to reduce the {order} setting if -necessary to keep the communication of ghost grid point limited to -exchanges between nearest-neighbor processors. See the discussion of -the {overlap} keyword for details. If the {overlap} keyword is set to -{yes}, which is the default, this is never needed. If it set to {no} -and overlap occurs, then LAMMPS will reduce the order setting, one -step at a time, until the ghost grid overlap only extends to nearest -neighbor processors. The {minorder} keyword limits how small the -{order} setting can become. The minimum allowed value for PPPM is 2, -which is the default. If {minorder} is set to the same value as -{order} then no reduction is allowed, and LAMMPS will generate an -error if the grid communication is non-nearest-neighbor and {overlap} -is set to {no}. The {minorder} keyword is not currently supported in -MSM. +:line -The PPPM order parameter may be reset by LAMMPS when it sets up the -FFT grid if the implied grid stencil extends beyond the grid cells -owned by neighboring processors. Typically this will only occur when -small problems are run on large numbers of processors. A warning will -be generated indicating the order parameter is being reduced to allow -LAMMPS to run the problem. Automatic adjustment of the order parameter -is not supported in MSM. +The {pressure/scalar} keyword applies only to MSM. If this option is +turned on, only the scalar pressure (i.e. (Pxx + Pyy + Pzz)/3.0) will +be computed, which can be used, for example, to run an isotropic barostat. +Computing the full pressure tensor with MSM is expensive, and this option +provides a faster alternative. The scalar pressure is computed using a +relationship between the Coulombic energy and pressure "(Hummer)"_#Hummer +instead of using the virial equation. This option cannot be used to access +individual components of the pressure tensor, to compute per-atom virial, +or with suffix kspace/pair styles of MSM, like OMP or GPU. -The {force} keyword overrides the relative accuracy parameter set by -the "kspace_style"_kspace_style.html command with an absolute -accuracy. The accuracy determines the RMS error in per-atom forces -calculated by the long-range solver and is thus specified in force -units. A negative value for the accuracy setting means to use the -relative accuracy parameter. The accuracy setting is used in -conjunction with the pairwise cutoff to determine the number of -K-space vectors for style {ewald}, the FFT grid size for style -{pppm}, or the real space grid size for style {msm}. +:line -The {gewald} keyword sets the value of the Ewald or PPPM G-ewald -parameter for charge as {rinv} in reciprocal distance units. Without -this setting, LAMMPS chooses the parameter automatically as a function -of cutoff, precision, grid spacing, etc. This means it can vary from -one simulation to the next which may not be desirable for matching a -KSpace solver to a pre-tabulated pairwise potential. This setting can -also be useful if Ewald or PPPM fails to choose a good grid spacing -and G-ewald parameter automatically. If the value is set to 0.0, -LAMMPS will choose the G-ewald parameter automatically. MSM does not -use the {gewald} parameter. +RENE: check this section -The {gewald/disp} keyword sets the value of the Ewald or PPPM G-ewald -parameter for dispersion as {rinv} in reciprocal distance units. It -has the same meaning as the {gewald} setting for Coulombics. +The {scafacos} keyword is used for settings that are passed to the +ScaFaCoS library when using "kspace_style scafacos"_kspace_style.html. + +The {tolerance} option affects how the {accuracy} specified with +the "kspace_style"_kspace_style.html command is interpreted by ScaFaCoS. +The following values may be used: + +energy = absolute accuracy in total Coulomic energy +energy_rel = relative accuracy in total Coulomic energy +field = absolute accuracy in electric field +field_rel = relative accuracy in electric field +potential = absolute accuracy in total Coulomic potential +potential_rel = relative accuracy in total Coulomic potential + +RENE: which one is closest to what LAMMPS used (see kspace_style +command) - is it "field"? That's why I set it as the default. + +RENE: How is potential different than energy for this ?? + +:line The {slab} keyword allows an Ewald or PPPM solver to be used for a systems that are periodic in x,y but non-periodic in z - a @@ -191,109 +363,11 @@ the "fix efield"_fix_efield.html command, it will not give the correct dielectric constant due to the Yeh/Berkowitz "(Yeh)"_#Yeh correction not being compatible with how "fix efield"_fix_efield.html works. -The {compute} keyword allows Kspace computations to be turned off, -even though a "kspace_style"_kspace_style.html is defined. This is -not useful for running a real simulation, but can be useful for -debugging purposes or for computing only partial forces that do not -include the Kspace contribution. You can also do this by simply not -defining a "kspace_style"_kspace_style.html, but a Kspace-compatible -"pair_style"_pair_style.html requires a kspace style to be defined. -This keyword gives you that option. - -The {cutoff/adjust} keyword applies only to MSM. If this option is -turned on, the Coulombic cutoff will be automatically adjusted at the -beginning of the run to give the desired estimated error. Other -cutoffs such as LJ will not be affected. If the grid is not set using -the {mesh} command, this command will also attempt to use the optimal -grid that minimizes cost using an estimate given by -"(Hardy)"_#Hardy1. Note that this cost estimate is not exact, somewhat -experimental, and still may not yield the optimal parameters. - -The {pressure/scalar} keyword applies only to MSM. If this option is -turned on, only the scalar pressure (i.e. (Pxx + Pyy + Pzz)/3.0) will -be computed, which can be used, for example, to run an isotropic barostat. -Computing the full pressure tensor with MSM is expensive, and this option -provides a faster alternative. The scalar pressure is computed using a -relationship between the Coulombic energy and pressure "(Hummer)"_#Hummer -instead of using the virial equation. This option cannot be used to access -individual components of the pressure tensor, to compute per-atom virial, -or with suffix kspace/pair styles of MSM, like OMP or GPU. - -The {fftbench} keyword applies only to PPPM. It is off by default. If -this option is turned on, LAMMPS will perform a short FFT benchmark -computation and report its timings, and will thus finish a some seconds -later than it would if this option were off. - -The {collective} keyword applies only to PPPM. It is set to {no} by -default, except on IBM BlueGene machines. If this option is set to -{yes}, LAMMPS will use MPI collective operations to remap data for -3d-FFT operations instead of the default point-to-point communication. -This is faster on IBM BlueGene machines, and may also be faster on -other machines if they have an efficient implementation of MPI -collective operations and adequate hardware. - -The {diff} keyword specifies the differentiation scheme used by the -PPPM method to compute forces on particles given electrostatic -potentials on the PPPM mesh. The {ik} approach is the default for -PPPM and is the original formulation used in "(Hockney)"_#Hockney1. It -performs differentiation in Kspace, and uses 3 FFTs to transfer each -component of the computed fields back to real space for total of 4 -FFTs per timestep. - -The analytic differentiation {ad} approach uses only 1 FFT to transfer -information back to real space for a total of 2 FFTs per timestep. It -then performs analytic differentiation on the single quantity to -generate the 3 components of the electric field at each grid point. -This is sometimes referred to as "smoothed" PPPM. This approach -requires a somewhat larger PPPM mesh to achieve the same accuracy as -the {ik} method. Currently, only the {ik} method (default) can be -used for a triclinic simulation cell with PPPM. The {ad} method is -always used for MSM. - -NOTE: Currently, not all PPPM styles support the {ad} option. Support -for those PPPM variants will be added later. - -The {kmax/ewald} keyword sets the number of kspace vectors in each -dimension for kspace style {ewald}. The three values must be positive -integers, or else (0,0,0), which unsets the option. When this option -is not set, the Ewald sum scheme chooses its own kspace vectors, -consistent with the user-specified accuracy and pairwise cutoff. In -any case, if kspace style {ewald} is invoked, the values used are -printed to the screen and the log file at the start of the run. +:line -With the {mix/disp} keyword one can select the mixing rule for the -dispersion coefficients. With {pair}, the dispersion coefficients of -unlike types are computed as indicated with -"pair_modify"_pair_modify.html. With {geom}, geometric mixing is -enforced on the dispersion coefficients in the kspace -coefficients. When using the arithmetic mixing rule, this will -speed-up the simulations but introduces some error in the force -computations, as shown in "(Wennberg)"_#Wennberg. With {none}, it is -assumed that no mixing rule is applicable. Splitting of the dispersion -coefficients will be performed as described in -"(Isele-Holder)"_#Isele-Holder1. This splitting can be influenced with -the {splittol} keywords. Only the eigenvalues that are larger than tol -compared to the largest eigenvalues are included. Using this keywords -the original matrix of dispersion coefficients is approximated. This -leads to faster computations, but the accuracy in the reciprocal space -computations of the dispersion part is decreased. +The {splittol} keyword is disussed above with the {mix/disp} keyword. -The {force/disp/real} and {force/disp/kspace} keywords set the force -accuracy for the real and space computations for the dispersion part -of pppm/disp. As shown in "(Isele-Holder)"_#Isele-Holder1, optimal -performance and accuracy in the results is obtained when these values -are different. - -The {disp/auto} option controls whether the pppm/disp is allowed to -generate PPPM parameters automatically. If set to {no}, parameters have -to be specified using the {gewald/disp}, {mesh/disp}, -{force/disp/real} or {force/disp/kspace} keywords, or -the code will stop with an error message. When this option is set to -{yes}, the error message will not appear and the simulation will start. -For a typical application, using the automatic parameter generation -will provide simulations that are either inaccurate or slow. Using this -option is thus not recommended. For guidelines on how to obtain good -parameters, see the "How-To"_Section_howto.html#howto_24 discussion. +:line [Restrictions:] none @@ -306,10 +380,11 @@ parameters, see the "How-To"_Section_howto.html#howto_24 discussion. The option defaults are mesh = mesh/disp = 0 0 0, order = order/disp = 5 (PPPM), order = 10 (MSM), minorder = 2, overlap = yes, force = -1.0, gewald = gewald/disp = 0.0, slab = 1.0, compute = yes, cutoff/adjust = -yes (MSM), pressure/scalar = yes (MSM), fftbench = no (PPPM), diff = ik -(PPPM), mix/disp = pair, force/disp/real = -1.0, force/disp/kspace = -1.0, -split = 0, tol = 1.0e-6, and disp/auto = no. For pppm/intel, order = -order/disp = 7. +yes (MSM), pressure/scalar = yes (MSM), fftbench = no (PPPM), diff = +ik (PPPM), mix/disp = pair, force/disp/real = -1.0, force/disp/kspace += -1.0, split = 0, tol = 1.0e-6, and disp/auto = no. For pppm/intel, +order = order/disp = 7. For scafacos settings, scafacos tolerance +field. :line diff --git a/doc/src/kspace_style.txt b/doc/src/kspace_style.txt index 4f27c9aa78..e5333489cc 100644 --- a/doc/src/kspace_style.txt +++ b/doc/src/kspace_style.txt @@ -12,7 +12,7 @@ kspace_style command :h3 kspace_style style value :pre -style = {none} or {ewald} or {ewald/disp} or {ewald/omp} or {pppm} or {pppm/cg} or {pppm/disp} or {pppm/tip4p} or {pppm/stagger} or {pppm/disp/tip4p} or {pppm/gpu} or {pppm/kk} or {pppm/omp} or {pppm/cg/omp} or {pppm/tip4p/omp} or {msm} or {msm/cg} or {msm/omp} or {msm/cg/omp} :ulb,l +style = {none} or {ewald} or {ewald/disp} or {ewald/omp} or {pppm} or {pppm/cg} or {pppm/disp} or {pppm/tip4p} or {pppm/stagger} or {pppm/disp/tip4p} or {pppm/gpu} or {pppm/kk} or {pppm/omp} or {pppm/cg/omp} or {pppm/tip4p/omp} or {msm} or {msm/cg} or {msm/omp} or {msm/cg/omp} or {scafacos} :ulb,l {none} value = none {ewald} value = accuracy accuracy = desired relative error in forces @@ -22,7 +22,7 @@ style = {none} or {ewald} or {ewald/disp} or {ewald/omp} or {pppm} or {pppm/cg} accuracy = desired relative error in forces {pppm} value = accuracy accuracy = desired relative error in forces - {pppm/cg} value = accuracy (smallq) + {pppm/cg} values = accuracy (smallq) accuracy = desired relative error in forces smallq = cutoff for charges to be considered (optional) (charge units) {pppm/disp} value = accuracy @@ -56,7 +56,10 @@ style = {none} or {ewald} or {ewald/disp} or {ewald/omp} or {pppm} or {pppm/cg} accuracy = desired relative error in forces {msm/cg/omp} value = accuracy (smallq) accuracy = desired relative error in forces - smallq = cutoff for charges to be considered (optional) (charge units) :pre + smallq = cutoff for charges to be considered (optional) (charge units) + {scafacos} values = method accuracy + method = fmm or p3m or ... RENE + accuracy = desired relative error in forces :pre :ule [Examples:] @@ -64,6 +67,7 @@ style = {none} or {ewald} or {ewald/disp} or {ewald/omp} or {pppm} or {pppm/cg} kspace_style pppm 1.0e-4 kspace_style pppm/cg 1.0e-5 1.0e-6 kspace style msm 1.0e-4 +kspace style scafacos fmm 1.0e-4 kspace_style none :pre [Description:] @@ -210,6 +214,63 @@ pressure simulation with MSM will cause the code to run slower. :line +RENE: edit this section + +The {scafacos} style is a wrapper on the "ScaFaCoS Coulomb solver +library"_http://www.scafacos.de which provides a variety of solver +methods which can be used with LAMMPS. The paper by "(Who)"_#Who2012 +gives an overview of ScaFaCoS. + +ScaFaCoS was developed by a consortium of German research facilities +with a BMBF (German Ministry of Science and Education) funded project +in 2009-2012. Participants of the consortium were the Universities of +Bonn, Chemnitz, Stuttgart, and Wuppertal as well as the +Forschungszentrum Juelich. + +The library is available for download at "http://scafacos.de" or can +be cloned from the git-repository +"git://github.com/scafacos/scafacos.git". + +In order to use this KSpace style, you must download and build the +ScaFaCoS library, then build LAMMPS with the USER-SCAFACOS package +installed package which links LAMMPS to the ScaFaCoS library. +See details on "this page"_Section_packages.html#USER-SCAFACOS. + +NOTE: Unlike other KSpace solvers in LAMMPS, ScaFaCoS computes all +Coulombic interactions, both short- and long-range. Thus you should +NOT use a Coulmbic pair style when using kspace_style scafacos. Thus +the total Coulombic energy (short- and long-range) will be tallied for +"thermodynamic output"_thermo_style.html command as part of the +{elong} keyword; the {ecoul} keyword will be zero. + +NOTE: See the restriction below about use of ScaFaCoS in LAMMPS with +molecular charged systems or the TIP4P water model. + +Unlike other KSpace solvers in LAMMPS, ScaFaCoS computes all +Coulombic interactions, both short- and long-range. Thus you should +NOT use a Coulmbic pair style when using kspace_style scafacos. Thus +the total Coulombic energy (short- and long-range) will be tallied for +"thermodynamic output"_thermo_style.html command as part of the +{elong} keyword; the {ecoul} keyword will be zero. + +The specified {method} determines which ScaFaCoS algorithm is used. +The list of methods shown above are the ScaFaCoS methods currently +available from LAMMPS. + +RENE: explain this accuracy better compared to what +it means for other LAMMPS methods? + +The specified {accuracy} is similar to the accuracy setting for other +LAMMPS KSpace styles, but is passed to ScaFaCoS, which can interpret +it in different ways for different methods it supports. See the +"kspace_modify scafacos accuracy"_kspace_modify.html command for +details. + +The "kspace_modify scafacos"_kspace_modify.html command also explains +all the ScaFaCoS options currently exposed to LAMMPS. + +:line + The specified {accuracy} determines the relative RMS error in per-atom forces calculated by the long-range solver. It is set as a dimensionless number, relative to the force that two unit point @@ -321,12 +382,24 @@ dimensions. The only exception is if the slab option is set with "kspace_modify"_kspace_modify.html, in which case the xy dimensions must be periodic and the z dimension must be non-periodic. +The scafacos KSpace style will only be enabled if LAMMPS is built with +the USER-SCAFACOS package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +The use of ScaFaCos in LAMMPS does not yet support molecular charged +systems where the short-range Coulombic interactions between atoms in +the same bond/angle/dihedral are weighted by the +"special_bonds"_special_bonds.html command. Likewise it does not +support the "TIP4P water style" where a fictitious charge site is +introduced in each water molecule. + [Related commands:] "kspace_modify"_kspace_modify.html, "pair_style lj/cut/coul/long"_pair_lj.html, "pair_style lj/charmm/coul/long"_pair_charmm.html, "pair_style -lj/long/coul/long"_pair_lj_long.html, "pair_style buck/coul/long"_pair_buck.html +lj/long/coul/long"_pair_lj_long.html, "pair_style +buck/coul/long"_pair_buck.html [Default:] @@ -384,5 +457,11 @@ Evaluation of Forces for the Simulation of Biomolecules, University of Illinois at Urbana-Champaign, (2006). :link(Hardy2009) -[(Hardy2)] Hardy, Stone, Schulten, Parallel Computing 35 (2009) -164-177. +[(Hardy2)] Hardy, Stone, Schulten, Parallel Computing, 35, 164-177 +(2009). + +RENE: + +:link(Who2012) +[(Who)] Who, Author2, Author3, J of Long Range Solvers, 35, 164-177 +(2012). diff --git a/examples/USER/scafacos/README b/examples/USER/scafacos/README new file mode 100644 index 0000000000..0ddd19d3ee --- /dev/null +++ b/examples/USER/scafacos/README @@ -0,0 +1,10 @@ +RENE: this dir needs a few short-running examples, +for both 1 and 4 procs, of using different Scafacos methods. +with sample log file outputs - so users can verify +they are running it correctly + +For each input script, there should be files like + +in.scafacos.fmm +log.20Jul18.scafacos.fmm.g++.1 +log.20Jul18.scafacos.fmm.g++.4 diff --git a/examples/scafacos/data.NaCl b/examples/USER/scafacos/data.NaCl similarity index 100% rename from examples/scafacos/data.NaCl rename to examples/USER/scafacos/data.NaCl diff --git a/examples/scafacos/in.scafacos b/examples/USER/scafacos/in.scafacos similarity index 100% rename from examples/scafacos/in.scafacos rename to examples/USER/scafacos/in.scafacos diff --git a/lib/scafacos/Install.py b/lib/scafacos/Install.py index 5d4ca7e96a..1b39335511 100644 --- a/lib/scafacos/Install.py +++ b/lib/scafacos/Install.py @@ -29,7 +29,7 @@ make lib-scafacos args="-p $HOME/scafacos" # use existing Scafacos installation # settings -#version = "voro++-0.4.6" +version = "scafacos-1.0" #url = "http://math.lbl.gov/voro++/download/dir/%s.tar.gz" % version # print error message or help @@ -89,7 +89,6 @@ def geturl(url,fname): args = sys.argv[1:] nargs = len(args) -#if nargs == 0: error() homepath = "." @@ -114,8 +113,7 @@ while iarg < nargs: else: error() homepath = fullpath(homepath) -#homedir = "%s/%s" % (homepath,version) -homedir = homepath +homedir = "%s/%s" % (homepath,version) if (pathflag): if not os.path.isdir(scafacospath): error("Scafacos path does not exist") @@ -124,16 +122,13 @@ if (pathflag): if (buildflag and pathflag): error("Cannot use -b and -p flag at the same time") -#if (not buildflag and not pathflag): -# error("Have to use either -b or -p flag") - # download and unpack Scafacos tarball if buildflag: print("Downloading Scafacos ...") geturl(url,"%s/%s.tar.gz" % (homepath,version)) - print("Unpacking Voro++ tarball ...") + print("Unpacking Scafacos tarball ...") if os.path.exists("%s/%s" % (homepath,version)): cmd = 'rm -rf "%s/%s"' % (homepath,version) subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) @@ -162,7 +157,7 @@ if linkflag: os.remove("includelink") if os.path.isfile("liblink") or os.path.islink("liblink"): os.remove("liblink") - cmd = 'ln -s "scafacos/include" includelink' + cmd = 'ln -s "%s/include" includelink' % homedir subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) - cmd = 'ln -s "scafacos/lib" liblink' + cmd = 'ln -s "%s/lib" liblink' % homedir subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) diff --git a/src/USER-SCAFACOS/README b/src/USER-SCAFACOS/README new file mode 100644 index 0000000000..30534499e4 --- /dev/null +++ b/src/USER-SCAFACOS/README @@ -0,0 +1,5 @@ +RENE: need a short README file - see other examples in the +USER package dirs within src + +give short background on ScaFaCos, authors, contact info +for LAMMPS users to have if needed, citation diff --git a/src/USER-SCAFACOS/fix_scafacos.cpp b/src/USER-SCAFACOS/fix_scafacos.cpp deleted file mode 100644 index 08aebb9f22..0000000000 --- a/src/USER-SCAFACOS/fix_scafacos.cpp +++ /dev/null @@ -1,456 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - Contributing author: Rene Halver (JSC) -------------------------------------------------------------------------- */ - -#include -#include -#include -#include "fix_scafacos.h" -#include "atom.h" -#include "comm.h" -#include "update.h" -#include "neighbor.h" -#include "domain.h" -#include "force.h" -#include "pair.h" -#include "modify.h" -#include "compute.h" -#include "memory.h" -#include "error.h" - -// ScaFaCoS library -#include -#include -#include "fcs.h" -#include "universe.h" - -using namespace LAMMPS_NS; -using namespace FixConst; - -#define INVOKED_PERATOM 8 - -/* ---------------------------------------------------------------------- */ - -FixScafacos::FixScafacos(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg) -{ - // form of fix string: - // fix <#> scafacos [ tolerance ] - - - if (narg < 4) error->all(FLERR,"Illegal fix scafacos command"); - - // read method from fix input - method = arg[3]; - - int arg_index = 4; - - tolerance_set = false; - - while(arg_index < narg) - { - // check if tolerance option is set - if (strcmp(arg[arg_index],"tolerance") == 0) - { - tolerance_set = true; - ++arg_index; - if (strcmp(arg[arg_index],"energy") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; - else if (strcmp(arg[arg_index],"energy_rel") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_ENERGY_REL; - else if (strcmp(arg[arg_index],"field") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_FIELD; - else if (strcmp(arg[arg_index],"field_rel") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_FIELD_REL; - else if (strcmp(arg[arg_index],"potential") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL; - else if (strcmp(arg[arg_index],"potential_rel") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL_REL; - else - error->all(FLERR,"Illegal fix scafacos command"); - ++arg_index; - tolerance_value = atof(arg[arg_index]); - ++arg_index; - } - else - error->all(FLERR,"Illegal fix scafacos command"); - } -} - -/* ---------------------------------------------------------------------- */ - -FixScafacos::~FixScafacos() -{ - memory->destroy(pot); - memory->destroy(field); -} - -/* ---------------------------------------------------------------------- */ - -int FixScafacos::setmask() -{ - int mask = 0; - //mask |= INITIAL_INTEGRATE; - //mask |= FINAL_INTEGRATE; - mask |= PRE_REVERSE; - mask |= POST_FORCE; - mask |= MIN_POST_FORCE; - mask |= THERMO_ENERGY; - return mask; -} - -/* ---------------------------------------------------------------------- */ - -void FixScafacos::init() -{ - // error checks - - if (domain->dimension == 2) - error->all(FLERR,"Fix scafacos requires 3d problem"); - - rank = comm->me; - - int nlocal = 0; - int proc_grid[3] = {comm->procgrid[0], comm->procgrid[1], comm->procgrid[2]}; - int myloc[3] = {comm->myloc[0], comm->myloc[1], comm->myloc[2]}; - - // call ScaFaCoS init - // TODO: check if universe->uworld is a good idea for computations - result = fcs_init(&fcs,method.c_str(),universe->uworld); - if (!check_result(result, rank)) return; - - setup_handle(); - - nlocal = atom -> nlocal; - // get particle data - x = &atom->x[0][0]; - q = atom->q; - - if (tolerance_set) - { - result = fcs_set_tolerance(fcs,tolerance_type,tolerance_value); - if (!check_result(result, rank)) return; - } - - // print out parameters within handle - if (rank == 0) fcs_print_parameters(fcs); - - // call the tuning routine (needs to be redone, if critical system - // parameters should change) - result = fcs_tune(fcs,nlocal,x,q); - if (!check_result(result, rank)) return; - - // allocate arrays larger in order to avoid fast - // reallocation due to fluctuations - local_array_size = (int)(1.25 * (double)nlocal); - - // allocate new result arrays - memory->create(pot,local_array_size,"scafacos:potential"); - memory->create(field,local_array_size*3,"scafacos:field"); -} - -/* ---------------------------------------------------------------------- */ - -void FixScafacos::init_list(int id, NeighList *ptr) -{ -} - -/* ---------------------------------------------------------------------- */ - -void FixScafacos::setup(int vflag) -{ - post_force(vflag); -} - -/* ---------------------------------------------------------------------- */ - -void FixScafacos::min_setup(int vflag) -{ - post_force(vflag); -} - -/* ---------------------------------------------------------------------- */ - -void FixScafacos::setup_pre_reverse(int eflag, int vflag) -{ - pre_reverse(eflag,vflag); -} - -/* ---------------------------------------------------------------------- - integrate electronic degrees of freedom -------------------------------------------------------------------------- */ - -void FixScafacos::initial_integrate(int vflag) {} - -/* ---------------------------------------------------------------------- - store eflag, so can use it in post_force to tally per-atom energies -------------------------------------------------------------------------- */ - -void FixScafacos::pre_reverse(int eflag, int vflag) -{ - int eflag_caller = eflag; -} - -/* ---------------------------------------------------------------------- */ - -void FixScafacos::post_force(int vflag) -{ - - int nlocal; - - nlocal = atom->nlocal; - x = &atom->x[0][0]; - q = atom->q; - - // check if box has changed since the last call of fcs_tune, - // if it has, call fcs_tune - if (box_has_changed()) - { - setup_handle(); - - // print out parameters within handle TODO: should be done in C style - /* - if (rank == 0) - { - std::cout << " updated ScaFaCoS handle: " << std::endl; - fcs_print_parameters(fcs); - } - */ - - // call the tuning routine (needs to be redone, if critical - // system parameters should change) - result = fcs_tune(fcs,nlocal,x,q); - if (!check_result(result, rank)) return; - } - - // check if arrays for potentials and field are still large enough - // for the number of particles on process - if (nlocal > local_array_size) - { - // allocate arrays larger in order to avoid fast - // reallocation due to fluctuations - local_array_size = (int)(1.25 * (double)nlocal); - - // destroy old result arrays - memory->destroy(pot); - memory->destroy(field); - - // allocate result arrays - memory->create(pot,local_array_size,"scafacos:potential"); - memory->create(field,3*local_array_size,"scafacos:field"); - - } - - // set result vectors to zero - for ( int i = 0; i < nlocal; ++i) - { - pot[i] = 0.0; - field[3*i] = field[3*i+1] = field[3*i+2] = 0.0; - } - - // compute Coulomb - fcs_run(fcs, nlocal, x, q, field, pot); - if(!check_result(result,rank)) return; - - double E_coul_loc = 0.0; - - for (int i = 0; i < atom->nlocal; ++i) - { - //std::cout << atom->f[i][0] << " " << field[3*i] << " " << q[i] << std::endl; - atom->f[i][0] += field[3*i] * q[i]; - atom->f[i][1] += field[3*i+1] * q[i]; - atom->f[i][2] += field[3*i+2] * q[i]; - E_coul_loc += 0.5 * q[i] * pot[i]; - } - - force->pair->eng_coul += E_coul_loc; - -} - -/* ---------------------------------------------------------------------- */ - -void FixScafacos::min_post_force(int vflag) -{ - post_force(vflag); -} - -/* ---------------------------------------------------------------------- - integrate electronic degrees of freedom -------------------------------------------------------------------------- */ - -void FixScafacos::final_integrate() {} - -/* ---------------------------------------------------------------------- */ - -void FixScafacos::reset_dt() -{ - //dtv = update->dt; - //dtf = 0.5 * update->dt * force->ftm2v; -} - -/* ---------------------------------------------------------------------- - DFTB energy from LATTE -------------------------------------------------------------------------- */ - -double FixScafacos::compute_scalar() -{ -} - -/* ---------------------------------------------------------------------- - memory usage of local arrays -------------------------------------------------------------------------- */ - -double FixScafacos::memory_usage() -{ - double bytes = 0.0; - bytes += local_array_size * sizeof(double); - bytes += local_array_size * 3 * sizeof(double); - return bytes; -} - -/* ---------------------------------------------------------------------- - setup of ScaFaCoS handle with common parameters -------------------------------------------------------------------------- */ -void FixScafacos::setup_handle() -{ - // store periodicity - periodicity[0] = domain->xperiodic; - periodicity[1] = domain->yperiodic; - periodicity[2] = domain->zperiodic; - - // store offset of the system - offset[0] = domain->boundary[0][0]; - offset[1] = domain->boundary[1][0]; - offset[2] = domain->boundary[2][0]; - - // calculate box vectors - box_x[0] = domain->prd[0]; - box_x[1] = box_x[2] = 0.0; - - box_y[1] = domain->prd[1]; - box_y[0] = box_y[2] = 0.0; - - box_z[2] = domain->prd[2]; - box_z[1] = box_z[0] = 0.0; - - total_particles = atom->natoms; - - // TODO: for now disable short-range calculations within LAMMPS - near_field_flag = 0; - - // enter all parameters required to ScaFaCoS handle - result = fcs_set_box_a(fcs, box_x); - if (!check_result(result, rank)) return; - - result = fcs_set_box_b(fcs, box_y); - if (!check_result(result, rank)) return; - - result = fcs_set_box_c(fcs, box_z); - if (!check_result(result, rank)) return; - - result = fcs_set_box_origin(fcs, offset); - if (!check_result(result, rank)) return; - - result = fcs_set_periodicity(fcs, periodicity); - if (!check_result(result, rank)) return; - - result = fcs_set_near_field_flag(fcs, near_field_flag); - if (!check_result(result, rank)) return; - - result = fcs_set_total_particles(fcs, atom->natoms); - if (!check_result(result, rank)) return; -} - -/* ---------------------------------------------------------------------- - check if box parameters changed, requiring a new call to fcs_tune -------------------------------------------------------------------------- */ -bool FixScafacos::box_has_changed() -{ - bool changed = false; - - double n_periodicity[3]; - double n_offset[3]; - double n_box_x[3]; - double n_box_y[3]; - double n_box_z[3]; - - int n_total_particles; - - // store periodicity - n_periodicity[0] = domain->xperiodic; - n_periodicity[1] = domain->yperiodic; - n_periodicity[2] = domain->zperiodic; - - // store offset of the system - n_offset[0] = domain->boundary[0][0]; - n_offset[1] = domain->boundary[1][0]; - n_offset[2] = domain->boundary[2][0]; - - // calculate box vectors - n_box_x[0] = domain->prd[0]; - n_box_x[1] = n_box_x[2] = 0.0; - - n_box_y[1] = domain->prd[1]; - n_box_y[0] = n_box_y[2] = 0.0; - - n_box_z[2] = domain->prd[2]; - n_box_z[1] = n_box_z[0] = 0.0; - - n_total_particles = atom->natoms; - - changed = changed || - ( n_periodicity[0] != periodicity[0] ) || - ( n_periodicity[1] != periodicity[1] ) || - ( n_periodicity[2] != periodicity[2] ) || - ( n_offset[0] != offset[0] ) || - ( n_offset[1] != offset[1] ) || - ( n_offset[2] != offset[2] ) || - ( n_box_x[0] != box_x[0] ) || - ( n_box_x[1] != box_x[1] ) || - ( n_box_x[2] != box_x[2] ) || - ( n_box_y[0] != box_y[0] ) || - ( n_box_y[1] != box_y[1] ) || - ( n_box_y[2] != box_y[2] ) || - ( n_box_z[0] != box_z[0] ) || - ( n_box_z[1] != box_z[1] ) || - ( n_box_z[2] != box_z[2] ) || - ( n_total_particles != total_particles ); - return changed; -} - - - -/* ---------------------------------------------------------------------- - check of ScaFaCoS result -------------------------------------------------------------------------- */ -bool FixScafacos::check_result(FCSResult result, int comm_rank) -{ - if (result) - { - printf("ScaFaCoS Error: Caught error on task %d.\n", comm_rank); - std::string err_msg; - std::stringstream ss; - - ss << fcs_result_get_function(result) << "\n" - << fcs_result_get_message(result) << "\n"; - err_msg = ss.str(); - - error -> all(FLERR, err_msg.c_str()); - fcs_result_destroy(result); - } - return true; -} - diff --git a/src/USER-SCAFACOS/fix_scafacos.h b/src/USER-SCAFACOS/fix_scafacos.h deleted file mode 100644 index ffd4a94d32..0000000000 --- a/src/USER-SCAFACOS/fix_scafacos.h +++ /dev/null @@ -1,164 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -#ifdef FIX_CLASS - -FixStyle(scafacos,FixScafacos) - -#else - -#ifndef LMP_FIX_SCAFACOS_H -#define LMP_FIX_SCAFACOS_H - -#include "fix.h" -#include "fcs.h" -#include - -namespace LAMMPS_NS { - -class FixScafacos : public Fix { - public: - FixScafacos(class LAMMPS *, int, char **); - virtual ~FixScafacos(); - int setmask(); - void init(); - void init_list(int, NeighList*); - void setup(int); - void min_setup(int); - void setup_pre_reverse(int, int); - void initial_integrate(int); - void pre_reverse(int, int); - void post_force(int); - void min_post_force(int); - void final_integrate(); - void reset_dt(); - double compute_scalar(); - double memory_usage(); - - protected: - std::string method; - - // MPI rank - int rank; - - // source arrays for positions and charges - double *x, *q; - // result arrays for potentials and field - double *pot, *field; - - // box vectors for each dimension - fcs_float box_x[3], box_y[3], box_z[3]; - // offset of the box from the origin - fcs_float offset[3]; - - // periodicity of the system - fcs_int periodicity[3]; - - // ScaFaCoS handle - FCS fcs; - - // ScaFaCoS result variable - FCSResult result; - - // function to check results - bool check_result(FCSResult, int); - - // function to set up handle with common parameters - void setup_handle(); - - // function to check if the box parameters changed, so that a new tuning step is required - bool box_has_changed(); - - // store total number of particles (to check if tune needs to be called again) - fcs_int total_particles; - - // store number of local particles (to be able to readjust the size of result arrays, when needed) - int local_array_size; - - // should the near field calculations be computed by LAMMPS? - fcs_int near_field_flag; - - // type of accuracy chosen (if customized) - fcs_int tolerance_type; - - // value of tolerance - fcs_float tolerance_value; - - // is tolerance set? - bool tolerance_set; - - // check if fmm is chosen (ghost particles, since the implementation needs at least 1 particle on each process!) - bool fmm_chosen; - - // FMM: fmm particle array size - int fmm_array_size; -}; - -} - -#endif -#endif - -/* ERROR/WARNING messages: - -E: Must use units metal with fix latte command - -UNDOCUMENTED - -E: Fix latte currently runs only in serial - -UNDOCUMENTED - -E: LAMMPS is linked against incompatible LATTE library - -UNDOCUMENTED - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Fix latte does not yet support a LAMMPS calculation of a Coulomb potential - -UNDOCUMENTED - -E: Could not find fix latte compute ID - -UNDOCUMENTED - -E: Fix latte compute ID does not compute pe/atom - -UNDOCUMENTED - -E: Fix latte requires 3d problem - -UNDOCUMENTED - -E: Fix latte cannot compute Coulomb potential - -UNDOCUMENTED - -E: Fix latte requires 3d simulation - -UNDOCUMENTED - -W: Fix latte should come after all other integration fixes - -UNDOCUMENTED - -E: Internal LATTE problem - -UNDOCUMENTED - -*/ diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index c5efd6a191..10721b33c8 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -38,40 +38,16 @@ using namespace LAMMPS_NS; Scafacos::Scafacos(LAMMPS *lmp, int narg, char **arg) : KSpace(lmp, narg, arg) { - if (narg < 2) error->all(FLERR,"Illegal scafacos command"); + if (narg != 2) error->all(FLERR,"Illegal scafacos command"); int n = strlen(arg[0]) + 1; method = new char[n]; strcpy(method,arg[0]); + tolerance = force->numeric(FLERR,arg[1]); - // additional args - - int tflag = 0; - - int iarg = 1; - while (iarg < narg) { - if (strcmp(arg[iarg],"tolerance") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal scafacos command"); - tflag = 1; - if (strcmp(arg[iarg+1],"energy") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; - else if (strcmp(arg[iarg+1],"energy_rel") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_ENERGY_REL; - else if (strcmp(arg[iarg+1],"field") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_FIELD; - else if (strcmp(arg[iarg+1],"field_rel") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_FIELD_REL; - else if (strcmp(arg[iarg+1],"potential") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL; - else if (strcmp(arg[iarg+1],"potential_rel") == 0) - tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL_REL; - else error->all(FLERR,"Illegal scafacos command"); - tolerance = force->numeric(FLERR,arg[iarg+2]); - iarg += 3; - } else error->all(FLERR,"Illegal scafacos command"); - } + // optional ScaFaCoS library setting defaults - if (!tflag) error->all(FLERR,"Must set tolerance in scafacos command"); + tolerance_type = FCS_TOLERANCE_TYPE_FIELD; // initializations @@ -92,7 +68,7 @@ Scafacos::~Scafacos() memory->destroy(epot); memory->destroy(efield); - // NOTE: any clean-up call to ScaFaCoS needed? + // RENE: any clean-up/shut-down call to ScaFaCoS needed? } /* ---------------------------------------------------------------------- */ @@ -100,7 +76,6 @@ Scafacos::~Scafacos() void Scafacos::init() { // error checks - // NOTE: allow triclinic at some point if (domain->dimension == 2) error->all(FLERR,"Cannot use ScaFaCoS with 2d simulation"); @@ -108,11 +83,13 @@ void Scafacos::init() if (domain->triclinic) error->all(FLERR,"Cannot use ScaFaCoS with triclinic domain yet"); + if (atom->natoms > INT_MAX && sizeof(fcs_int) != 8) + error->all(FLERR,"Scafacos atom count exceeds 2B"); + // one-time initialization of ScaFaCoS scale = 1.0; qqrd2e = force->qqrd2e; - //qsum_qsq(); if (!initialized) { result = fcs_init(&fcs,method,world); @@ -147,13 +124,14 @@ void Scafacos::compute(int eflag, int vflag) double *q = atom->q; int nlocal = atom->nlocal; + // RENE: why is scale needed? + const double qscale = qqrd2e * scale; - // if simluation box has changed, call fcs_tune() - if (eflag || vflag) ev_setup(eflag,vflag); - else - eflag_atom = 0; + else eflag_atom = 0; + + // if simulation box has changed, call fcs_tune() if (box_has_changed()) { setup_handle(); @@ -173,7 +151,7 @@ void Scafacos::compute(int eflag, int vflag) } // initialize epot & efield - // NOTE: is this necessary? + // RENE: is this necessary? or does Scafacos just set them for (int i = 0; i < nlocal; i++) { epot[i] = 0.0; @@ -201,17 +179,47 @@ void Scafacos::compute(int eflag, int vflag) myeng += 0.5 * qone * epot[i]; } - if (eflag_atom) - { + if (eflag_atom) { for (int i = 0; i < nlocal; i++) - { eatom[i] = qscale * epot[i]; - } } MPI_Allreduce(&myeng,&energy,1,MPI_DOUBLE,MPI_SUM,world); } +/* ---------------------------------------------------------------------- */ + +int Scafacos::modify_param(int narg, char **arg) +{ + // RENE: add any Scafacos options here you want to expose to LAMMPS + // syntax: kspace_modify scafacos keyword value1 value2 ... + // keyword = tolerance + // value1 = energy, energy_rel, etc + // everyone of these should have a default, so user doesn't need to set + + if (strcmp(arg[0],"scafacos") != 0) return 0; + + if (strcmp(arg[1],"tolerance") == 0) { + if (narg < 2) error->all(FLERR,"Illegal kspace_modify command"); + if (strcmp(arg[2],"energy") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; + else if (strcmp(arg[2],"energy_rel") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_ENERGY_REL; + else if (strcmp(arg[2],"field") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_FIELD; + else if (strcmp(arg[2],"field_rel") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_FIELD_REL; + else if (strcmp(arg[2],"potential") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL; + else if (strcmp(arg[2],"potential_rel") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL_REL; + else error->all(FLERR,"Illegal kspace_modify command"); + return 3; + } + + return 0; +} + /* ---------------------------------------------------------------------- memory usage of local arrays ------------------------------------------------------------------------- */ @@ -231,15 +239,14 @@ double Scafacos::memory_usage() void Scafacos::setup_handle() { // store simulation box params - // NOTE: this assumes orthogonal box - // NOTE: total particles may not be a 4-byte int - // NOTE: what does SCFCS mean by offset? - // it's an integer flag in LAMMPS old_periodicity[0] = domain->xperiodic; old_periodicity[1] = domain->yperiodic; old_periodicity[2] = domain->zperiodic; + // RENE: what does SCFCS mean by offset? + // it's an integer flag in LAMMPS, but being stored in a float? + old_offset[0] = domain->boundary[0][0]; old_offset[1] = domain->boundary[1][0]; old_offset[2] = domain->boundary[2][0]; @@ -273,7 +280,9 @@ void Scafacos::setup_handle() result = fcs_set_total_particles(fcs,old_natoms); check_result(result); - // NOTE: for now disable short-range calculations within LAMMPS + // RENE: disable short-range calculations within LAMMPS + // not sure what this is doing + // is this the correct thing to do for now? int near_field_flag = 0; result = fcs_set_near_field_flag(fcs,near_field_flag); @@ -306,7 +315,6 @@ bool Scafacos::box_has_changed() /* ---------------------------------------------------------------------- check ScaFaCoS result for error condition - NOTE: will all procs have same error? ------------------------------------------------------------------------- */ void Scafacos::check_result(FCSResult result) @@ -320,6 +328,9 @@ void Scafacos::check_result(FCSResult result) std::string err_msg = ss.str(); const char *str = err_msg.c_str(); + // RENE: will all procs have same error? + // if so, then should call error->all(FLERR,str) + error->one(FLERR,str); } diff --git a/src/USER-SCAFACOS/scafacos.h b/src/USER-SCAFACOS/scafacos.h index 33911ee9fd..f3708129f1 100644 --- a/src/USER-SCAFACOS/scafacos.h +++ b/src/USER-SCAFACOS/scafacos.h @@ -32,6 +32,7 @@ class Scafacos : public KSpace { void init(); void setup(); void compute(int, int); + int modify_param(int, char **); double memory_usage(); private: diff --git a/src/kspace.cpp b/src/kspace.cpp index fc8b12288b..de96bee8b8 100644 --- a/src/kspace.cpp +++ b/src/kspace.cpp @@ -580,7 +580,11 @@ void KSpace::modify_params(int narg, char **arg) else if (strcmp(arg[iarg+1],"no") == 0) auto_disp_flag = 0; else error->all(FLERR,"Illegal kspace_modify command"); iarg += 2; - } else error->all(FLERR,"Illegal kspace_modify command"); + } else { + int n = modify_param(narg-iarg,&arg[iarg]); + if (n == 0) error->all(FLERR,"Illegal kspace_modify command"); + iarg += n; + } } } diff --git a/src/kspace.h b/src/kspace.h index 28c7bcef2a..c25dc93f45 100644 --- a/src/kspace.h +++ b/src/kspace.h @@ -126,6 +126,8 @@ class KSpace : protected Pointers { virtual int timing(int, double &, double &) {return 0;} virtual int timing_1d(int, double &) {return 0;} virtual int timing_3d(int, double &) {return 0;} + + virtual int modify_param(int, char **) {return 0;} virtual double memory_usage() {return 0.0;} /* ---------------------------------------------------------------------- -- GitLab From a62b65096bbdd10925feb9b08eea10d626b231fe Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 18 Jul 2018 15:48:17 -0600 Subject: [PATCH 297/675] more error checks for Scafacos usage --- lib/scafacos/README | 7 +++++++ src/USER-SCAFACOS/scafacos.cpp | 5 +++++ 2 files changed, 12 insertions(+) create mode 100644 lib/scafacos/README diff --git a/lib/scafacos/README b/lib/scafacos/README new file mode 100644 index 0000000000..bdf167aef1 --- /dev/null +++ b/lib/scafacos/README @@ -0,0 +1,7 @@ +RENE - there needs to be a README like the one +for lib/voronoi/README, explaining how +to grab the correct version of Scafacos. + +And how to build, either via traditional make +and the Install.py script, or via CMake + diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index 10721b33c8..fef4b4948f 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -77,6 +77,8 @@ void Scafacos::init() { // error checks + if (!atom->q_flag) error->all(FLERR,"Kspace style requires atom attribute q"); + if (domain->dimension == 2) error->all(FLERR,"Cannot use ScaFaCoS with 2d simulation"); @@ -86,6 +88,9 @@ void Scafacos::init() if (atom->natoms > INT_MAX && sizeof(fcs_int) != 8) error->all(FLERR,"Scafacos atom count exceeds 2B"); + if (atom->molecular > 0) + error->all(FLERR,"Cannot use Scafacos with molecular charged systems yet"); + // one-time initialization of ScaFaCoS scale = 1.0; -- GitLab From 2eb8d779e8bc657a8767c4cad7ab72f20f65955f Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 18 Jul 2018 18:45:40 -0400 Subject: [PATCH 298/675] Fixes a memory leak when using OpenCL The GPU package uses OpenCL events for measuring time. These have to be released to free up memory. I removed the clReleaseEvent() calls in the clear() method because in some cases they don't exist yet and I couldn't find a way to check for a valid event (clRetainEvent didn't work). This at least fixes the massive leak during simulations. See issue #1006 --- lib/gpu/geryon/ocl_timer.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/gpu/geryon/ocl_timer.h b/lib/gpu/geryon/ocl_timer.h index 66b79dcab1..1f56aeb364 100644 --- a/lib/gpu/geryon/ocl_timer.h +++ b/lib/gpu/geryon/ocl_timer.h @@ -49,8 +49,6 @@ class UCL_Timer { inline void clear() { if (_initialized) { CL_DESTRUCT_CALL(clReleaseCommandQueue(_cq)); - clReleaseEvent(start_event); - clReleaseEvent(stop_event); _initialized=false; _total_time=0.0; } @@ -107,6 +105,8 @@ class UCL_Timer { CL_SAFE_CALL(clGetEventProfilingInfo(start_event, CL_PROFILING_COMMAND_END, sizeof(cl_ulong), &tstart, NULL)); + clReleaseEvent(start_event); + clReleaseEvent(stop_event); return (tend-tstart)*t_factor; } -- GitLab From fba165d6b28451d9eca389d77fa3aa0a4ef30dff Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Thu, 19 Jul 2018 11:46:56 -0600 Subject: [PATCH 299/675] changed the files according to remarks by Steve (compare to previous commit) --- src/USER-SCAFACOS/scafacos.cpp | 74 ++++++++++++++++------------------ src/USER-SCAFACOS/scafacos.h | 2 +- 2 files changed, 35 insertions(+), 41 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index fef4b4948f..8779796a54 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -38,16 +38,24 @@ using namespace LAMMPS_NS; Scafacos::Scafacos(LAMMPS *lmp, int narg, char **arg) : KSpace(lmp, narg, arg) { - if (narg != 2) error->all(FLERR,"Illegal scafacos command"); + if (narg > 2) error->all(FLERR,"Illegal scafacos command"); int n = strlen(arg[0]) + 1; method = new char[n]; strcpy(method,arg[0]); - tolerance = force->numeric(FLERR,arg[1]); + // to allow 'kspace scafacos ' with default values + if (narg == 2) + tolerance = force->numeric(FLERR,arg[1]); + else + tolerance = 0.001; // optional ScaFaCoS library setting defaults - - tolerance_type = FCS_TOLERANCE_TYPE_FIELD; + // choose the correct default tolerance type for chosen method + // TODO: needs to be expanded for all solvers, currently mainly used ones + if (strcmp(method,"fmm") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; + else if (strcmp(method,"p3m") == 0 || strcmp(method,"p2nfft") == 0) + tolerance_type = FCS_TOLERANCE_TYPE_FIELD; // initializations @@ -68,7 +76,8 @@ Scafacos::~Scafacos() memory->destroy(epot); memory->destroy(efield); - // RENE: any clean-up/shut-down call to ScaFaCoS needed? + // clean up of the ScaFaCoS handle and internal arrays + fcs_destroy(fcs); } /* ---------------------------------------------------------------------- */ @@ -93,7 +102,6 @@ void Scafacos::init() // one-time initialization of ScaFaCoS - scale = 1.0; qqrd2e = force->qqrd2e; if (!initialized) { @@ -129,9 +137,7 @@ void Scafacos::compute(int eflag, int vflag) double *q = atom->q; int nlocal = atom->nlocal; - // RENE: why is scale needed? - - const double qscale = qqrd2e * scale; + const double qscale = qqrd2e; if (eflag || vflag) ev_setup(eflag,vflag); else eflag_atom = 0; @@ -155,16 +161,6 @@ void Scafacos::compute(int eflag, int vflag) } - // initialize epot & efield - // RENE: is this necessary? or does Scafacos just set them - - for (int i = 0; i < nlocal; i++) { - epot[i] = 0.0; - efield[i][0] = efield[i][1] = efield[i][2] = 0.0; - } - - // ScaFaCoS calculation of full Coulombics - result = fcs_run(fcs,nlocal,&x[0][0],q,&efield[0][0],epot); check_result(result); @@ -196,7 +192,7 @@ void Scafacos::compute(int eflag, int vflag) int Scafacos::modify_param(int narg, char **arg) { - // RENE: add any Scafacos options here you want to expose to LAMMPS + // add any Scafacos options here you want to expose to LAMMPS // syntax: kspace_modify scafacos keyword value1 value2 ... // keyword = tolerance // value1 = energy, energy_rel, etc @@ -245,17 +241,17 @@ void Scafacos::setup_handle() { // store simulation box params + // setup periodicity old_periodicity[0] = domain->xperiodic; old_periodicity[1] = domain->yperiodic; old_periodicity[2] = domain->zperiodic; - // RENE: what does SCFCS mean by offset? - // it's an integer flag in LAMMPS, but being stored in a float? - - old_offset[0] = domain->boundary[0][0]; - old_offset[1] = domain->boundary[1][0]; - old_offset[2] = domain->boundary[2][0]; + // setup box origin (lower left front corner of the system) + old_origin[0] = domain->boundary[0][0]; + old_origin[1] = domain->boundary[1][0]; + old_origin[2] = domain->boundary[2][0]; + // setup box vectors (base vectors of the system box) old_box_x[0] = domain->prd[0]; old_box_x[1] = old_box_x[2] = 0.0; old_box_y[1] = domain->prd[1]; @@ -263,10 +259,10 @@ void Scafacos::setup_handle() old_box_z[2] = domain->prd[2]; old_box_z[1] = old_box_z[0] = 0.0; + // setup number of atoms in the system old_natoms = atom->natoms; - // set all required ScaFaCoS params - + // store parameters to ScaFaCoS handle result = fcs_set_box_a(fcs,old_box_x); check_result(result); @@ -276,7 +272,7 @@ void Scafacos::setup_handle() result = fcs_set_box_c(fcs,old_box_z); check_result(result); - result = fcs_set_box_origin(fcs,old_offset); + result = fcs_set_box_origin(fcs,old_origin); check_result(result); result = fcs_set_periodicity(fcs,old_periodicity); @@ -285,11 +281,12 @@ void Scafacos::setup_handle() result = fcs_set_total_particles(fcs,old_natoms); check_result(result); - // RENE: disable short-range calculations within LAMMPS - // not sure what this is doing - // is this the correct thing to do for now? - - int near_field_flag = 0; + // allow ScaFaCoS to calculate the near field computations for now + // TODO: allow the delegation of the near field computations + // within LAMMPS + // (near_field_flag = 1 -> enables the internal near field calcs + // 0 -> disables the internal near field calcs + int near_field_flag = 1; result = fcs_set_near_field_flag(fcs,near_field_flag); check_result(result); } @@ -307,9 +304,9 @@ bool Scafacos::box_has_changed() (periodicity[0] != old_periodicity[0]) || (periodicity[1] != old_periodicity[1]) || (periodicity[2] != old_periodicity[2]) || - (domain->boundary[0][0] != old_offset[0]) || - (domain->boundary[1][0] != old_offset[1]) || - (domain->boundary[2][0] != old_offset[2]) || + (domain->boundary[0][0] != old_origin[0]) || + (domain->boundary[1][0] != old_origin[1]) || + (domain->boundary[2][0] != old_origin[2]) || (prd[0] != old_box_x[0]) || (prd[1] != old_box_y[1]) || (prd[2] != old_box_z[2]) || @@ -333,9 +330,6 @@ void Scafacos::check_result(FCSResult result) std::string err_msg = ss.str(); const char *str = err_msg.c_str(); - // RENE: will all procs have same error? - // if so, then should call error->all(FLERR,str) - error->one(FLERR,str); } diff --git a/src/USER-SCAFACOS/scafacos.h b/src/USER-SCAFACOS/scafacos.h index f3708129f1..3e549cf64e 100644 --- a/src/USER-SCAFACOS/scafacos.h +++ b/src/USER-SCAFACOS/scafacos.h @@ -51,7 +51,7 @@ class Scafacos : public KSpace { // so ScaFaCoS can detect if changes, e.g. for NPT fcs_float old_box_x[3],old_box_y[3],old_box_z[3]; - fcs_float old_offset[3]; + fcs_float old_origin[3]; fcs_int old_periodicity[3]; fcs_int old_natoms; -- GitLab From 407708dcd294e86cfa676489253691f496a650de Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Fri, 20 Jul 2018 10:38:18 -0600 Subject: [PATCH 300/675] reverted change to kspace call and using domain->boxlo for origin for now --- src/USER-SCAFACOS/scafacos.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index 8779796a54..b9390aea47 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -38,16 +38,12 @@ using namespace LAMMPS_NS; Scafacos::Scafacos(LAMMPS *lmp, int narg, char **arg) : KSpace(lmp, narg, arg) { - if (narg > 2) error->all(FLERR,"Illegal scafacos command"); + if (narg != 2) error->all(FLERR,"Illegal scafacos command"); int n = strlen(arg[0]) + 1; method = new char[n]; strcpy(method,arg[0]); - // to allow 'kspace scafacos ' with default values - if (narg == 2) - tolerance = force->numeric(FLERR,arg[1]); - else - tolerance = 0.001; + tolerance = force->numeric(FLERR,arg[1]); // optional ScaFaCoS library setting defaults // choose the correct default tolerance type for chosen method @@ -247,9 +243,9 @@ void Scafacos::setup_handle() old_periodicity[2] = domain->zperiodic; // setup box origin (lower left front corner of the system) - old_origin[0] = domain->boundary[0][0]; - old_origin[1] = domain->boundary[1][0]; - old_origin[2] = domain->boundary[2][0]; + old_origin[0] = domain->boxlo[0]; + old_origin[1] = domain->boxlo[1]; + old_origin[2] = domain->boxlo[2]; // setup box vectors (base vectors of the system box) old_box_x[0] = domain->prd[0]; -- GitLab From 5c934cdb6f111b6dc6b4a115776482e90cb341d1 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Fri, 20 Jul 2018 10:40:29 -0600 Subject: [PATCH 301/675] fixed examples to work with charged molecular restriction and new kspace call format --- examples/USER/scafacos/data.NaCl | 16 ++++++++-------- examples/USER/scafacos/in.scafacos | 3 ++- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/examples/USER/scafacos/data.NaCl b/examples/USER/scafacos/data.NaCl index 1a599b957d..2d804dec95 100644 --- a/examples/USER/scafacos/data.NaCl +++ b/examples/USER/scafacos/data.NaCl @@ -15,11 +15,11 @@ Atoms - 1 1 1 1.0 0.0 0.0 0.0 - 2 1 2 -1.0 1.0 0.0 0.0 - 3 1 2 -1.0 0.0 1.0 0.0 - 4 1 1 1.0 1.0 1.0 0.0 - 5 1 2 -1.0 0.0 0.0 1.0 - 6 1 1 1.0 1.0 0.0 1.0 - 7 1 1 1.0 0.0 1.0 1.0 - 8 1 2 -1.0 1.0 1.0 1.0 + 1 1 1.0 0.0 0.0 0.0 + 2 2 -1.0 1.0 0.0 0.0 + 3 2 -1.0 0.0 1.0 0.0 + 4 1 1.0 1.0 1.0 0.0 + 5 2 -1.0 0.0 0.0 1.0 + 6 1 1.0 1.0 0.0 1.0 + 7 1 1.0 0.0 1.0 1.0 + 8 2 -1.0 1.0 1.0 1.0 diff --git a/examples/USER/scafacos/in.scafacos b/examples/USER/scafacos/in.scafacos index f9b6733eef..9a1f0f321e 100644 --- a/examples/USER/scafacos/in.scafacos +++ b/examples/USER/scafacos/in.scafacos @@ -28,7 +28,8 @@ pair_coeff * * #fix 2 all scafacos p3m tolerance field 0.001 -kspace_style scafacos p3m tolerance field 0.001 +kspace_style scafacos p3m 0.001 +kspace_style scafacos tolerance field timestep 0.005 thermo 10 -- GitLab From 0e0afdeb51b7eefaff3da277d7c4db437dc3e870 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Fri, 20 Jul 2018 10:41:19 -0600 Subject: [PATCH 302/675] fixed typo and removed comment --- doc/src/Section_packages.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/doc/src/Section_packages.txt b/doc/src/Section_packages.txt index ea03bdb74e..18ae1a75e6 100644 --- a/doc/src/Section_packages.txt +++ b/doc/src/Section_packages.txt @@ -2731,8 +2731,6 @@ examples/reax :ul :line -RENE: check this section - USER-SCAFACOS package :link(USER-SCAFACOS),h4 [Contents:] @@ -2764,7 +2762,7 @@ args: make lib-scafacos # print help message make lib-scafacos args="-b" # download and build in lib/scafacos/scafacos- -make lib-voronoi args="-p $HOME/scafacos # use existing ScaFaCoS installation in $HOME/scafacos +make lib-scafacos args="-p $HOME/scafacos # use existing ScaFaCoS installation in $HOME/scafacos You can then install/un-install the package and build LAMMPS in the usual manner: -- GitLab From de8176b4fc0556d758d7c49bea43f92c5006f234 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 20 Jul 2018 14:41:54 -0400 Subject: [PATCH 303/675] various minor OpenCL related fixes and improvements to the GPU package - document previously undocumented OpenCL tune settings - implement OpenCL platform selection through prefixing the device type with the platform id separated by a colon - allow passing custom tune parameters though postfixing the device type with the 13 tuneable parameters separated by commas - remove an extra clear() that would delete device properties structs an cause LAMMPS to output garbage strings --- doc/src/package.txt | 49 +++++++++++++++++++++++++++++++------ lib/gpu/geryon/ocl_device.h | 16 ++++++------ lib/gpu/lal_device.cpp | 26 ++++++++++++++++---- lib/gpu/lal_device.h | 2 +- src/GPU/gpu_extra.h | 3 +++ 5 files changed, 74 insertions(+), 22 deletions(-) diff --git a/doc/src/package.txt b/doc/src/package.txt index 5c698934e8..5fd42f67d3 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -33,8 +33,10 @@ args = arguments specific to the style :l last = ID of last GPU to be used on each node {tpa} value = Nthreads Nthreads = # of GPU threads used per atom - {device} value = device_type - device_type = {kepler} or {fermi} or {cypress} or {generic} + {device} value = device_type or platform_id:device_type or platform_id:custom,val1,val2,val3,..,val13 + platform_id = numerical OpenCL platform id (default: -1) + device_type = {kepler} or {fermi} or {cypress} or {intel} or {phi} or {generic} or {custom} + val1,val2,... = custom OpenCL tune parameters (see below for details) {blocksize} value = size size = thread block size for pair force computation {intel} args = NPhi keyword value ... @@ -96,6 +98,9 @@ args = arguments specific to the style :l package gpu 1 package gpu 1 split 0.75 package gpu 2 split -1.0 +package gpu 1 device kepler +package gpu 1 device 2:generic +package gpu 1 device custom,32,4,8,256,11,128,256,128,32,64,8,128,128 package kokkos neigh half comm device package omp 0 neigh no package omp 4 @@ -244,12 +249,40 @@ the value can improve performance. The number of threads per atom must be a power of 2 and currently cannot be greater than 32. The {device} keyword can be used to tune parameters optimized for a -specific accelerator, when using OpenCL. For CUDA, the {device} -keyword is ignored. Currently, the device type is limited to NVIDIA -Kepler, NVIDIA Fermi, AMD Cypress, or a generic device. More devices -may be added later. The default device type can be specified when -building LAMMPS with the GPU library, via settings in the -lib/gpu/Makefile that is used. +specific accelerator and platform when using OpenCL. OpenCL supports +the concept of a [platform], which represents one or more devices that +share the same driver (e.g. there would be a different platform for +GPUs from different vendors or for CPU based accelerator support). +In LAMMPS only one platform can be active at a time and by default +the first platform with an accelerator is selected. This is equivalent +to using a platform ID of -1. The platform ID is a number corresponding +to the output of the ocl_get_devices tool. The platform ID is passed +to the GPU library, by prefixing the {device} keyword with that number +separated by a colon. For CUDA, the {device} keyword is ignored. +Currently, the device tuning support is limited to NVIDIA Kepler, NVIDIA +Fermi, AMD Cypress, Intel x86_64 CPU, Intel Xeon Phi, or a generic device. +More devices may be added later. The default device type can be +specified when building LAMMPS with the GPU library, via setting a +variable in the lib/gpu/Makefile that is used. + +In addition, a device type {custom} is available, which is followed by +13 comma separated numbers, which allows to set those tweakable parameters +from the package command. It can be combined with the (colon separated) +platform id. The individual settings are: + +MEM_THREADS +THREADS_PER_ATOM +THREADS_PER_CHARGE +BLOCK_PAIR +MAX_SHARED_TYPES +BLOCK_NBOR_BUILD +BLOCK_BIO_PAIR +BLOCK_ELLIPSE +WARP_SIZE +PPPM_BLOCK_1D +BLOCK_CELL_2D +BLOCK_CELL_ID +MAX_BIO_SHARED_TYPES :ul The {blocksize} keyword allows you to tweak the number of threads used per thread block. This number should be a multiple of 32 (for GPUs) diff --git a/lib/gpu/geryon/ocl_device.h b/lib/gpu/geryon/ocl_device.h index 2b2367545e..14455e38a5 100644 --- a/lib/gpu/geryon/ocl_device.h +++ b/lib/gpu/geryon/ocl_device.h @@ -165,8 +165,8 @@ class UCL_Device { /// Get the current OpenCL device name inline std::string name() { return name(_device); } /// Get the OpenCL device name - inline std::string name(const int i) - { return std::string(_properties[i].name); } + inline std::string name(const int i) { + return std::string(_properties[i].name); } /// Get a string telling the type of the current device inline std::string device_type_name() { return device_type_name(_device); } @@ -281,7 +281,7 @@ class UCL_Device { inline cl_device_id & cl_device() { return _cl_device; } /// Select the platform that has accelerators - inline void set_platform_accelerator(int pid=-1); + inline int set_platform_accelerator(int pid=-1); private: int _num_platforms; // Number of platforms @@ -324,6 +324,7 @@ UCL_Device::~UCL_Device() { void UCL_Device::clear() { _properties.clear(); + _cl_devices.clear(); if (_device>-1) { for (size_t i=0; i<_cq.size(); i++) { CL_DESTRUCT_CALL(clReleaseCommandQueue(_cq.back())); @@ -520,8 +521,6 @@ int UCL_Device::device_type(const int i) { // Set the CUDA device to the specified device number int UCL_Device::set(int num) { - clear(); - cl_device_id *device_list = new cl_device_id[_num_devices]; cl_uint n; CL_SAFE_CALL(clGetDeviceIDs(_cl_platform,CL_DEVICE_TYPE_ALL,_num_devices, @@ -612,7 +611,7 @@ void UCL_Device::print_all(std::ostream &out) { // Select the platform that is associated with accelerators // if pid < 0, select the first platform -void UCL_Device::set_platform_accelerator(int pid) { +int UCL_Device::set_platform_accelerator(int pid) { if (pid < 0) { int found = 0; for (int n=0; n<_num_platforms; n++) { @@ -625,10 +624,11 @@ void UCL_Device::set_platform_accelerator(int pid) { break; } } - if (found) break; + if (found) return UCL_SUCCESS; } + return UCL_ERROR; } else { - set_platform(pid); + return set_platform(pid); } } diff --git a/lib/gpu/lal_device.cpp b/lib/gpu/lal_device.cpp index 0ea128a5b3..7f54432a74 100644 --- a/lib/gpu/lal_device.cpp +++ b/lib/gpu/lal_device.cpp @@ -34,8 +34,8 @@ using namespace LAMMPS_AL; template DeviceT::Device() : _init_count(0), _device_init(false), - _gpu_mode(GPU_FORCE), _first_device(0), - _last_device(0), _compiled(false) { + _gpu_mode(GPU_FORCE), _first_device(0), + _last_device(0), _platform_id(-1), _compiled(false) { } template @@ -67,6 +67,17 @@ int DeviceT::init_device(MPI_Comm world, MPI_Comm replica, const int first_gpu, _particle_split=p_split; _cell_size=cell_size; _block_pair=block_pair; + // support selecting platform though "package device" keyword. + // "0:generic" will select platform 0 and tune for generic device + // "1:fermi" will select platform 1 and tune for Nvidia Fermi gpu + if (ocl_vendor) { + char *sep = NULL; + if ((sep = strstr(ocl_vendor,":"))) { + *sep = '\0'; + _platform_id = atoi(ocl_vendor); + ocl_vendor = sep+1; + } + } // Get the rank/size within the world MPI_Comm_rank(_comm_world,&_world_me); @@ -135,6 +146,9 @@ int DeviceT::init_device(MPI_Comm world, MPI_Comm replica, const int first_gpu, return -7; #endif + if (gpu->set_platform_accelerator(_platform_id)!=UCL_SUCCESS) + return -12; + if (gpu->set(my_gpu)!=UCL_SUCCESS) return -6; @@ -191,13 +205,15 @@ int DeviceT::set_ocl_params(char *ocl_vendor) { _ocl_vendor_string="-DUSE_OPENCL"; int token_count=0; std::string params[13]; - char *pch = strtok(ocl_vendor,"\" "); + char *pch = strtok(ocl_vendor,","); + pch = strtok(NULL,","); + if (pch == NULL) return -11; while (pch != NULL) { if (token_count==13) return -11; params[token_count]=pch; token_count++; - pch = strtok(NULL,"\" "); + pch = strtok(NULL,","); } _ocl_vendor_string+=" -DMEM_THREADS="+params[0]+ " -DTHREADS_PER_ATOM="+params[1]+ @@ -656,7 +672,7 @@ int DeviceT::compile_kernels() { dev_program=new UCL_Program(*gpu); int success=dev_program->load_string(device,compile_string().c_str()); if (success!=UCL_SUCCESS) - return -4; + return -6; k_zero.set_function(*dev_program,"kernel_zero"); k_info.set_function(*dev_program,"kernel_info"); _compiled=true; diff --git a/lib/gpu/lal_device.h b/lib/gpu/lal_device.h index 95e9f2a430..695b0a62f9 100644 --- a/lib/gpu/lal_device.h +++ b/lib/gpu/lal_device.h @@ -292,7 +292,7 @@ class Device { MPI_Comm _comm_world, _comm_replica, _comm_gpu; int _procs_per_gpu, _gpu_rank, _world_me, _world_size, _replica_me, _replica_size; - int _gpu_mode, _first_device, _last_device, _nthreads; + int _gpu_mode, _first_device, _last_device, _platform_id, _nthreads; double _particle_split; double _cpu_full; double _ptx_arch; diff --git a/src/GPU/gpu_extra.h b/src/GPU/gpu_extra.h index 56a4f15f1b..111d13c563 100644 --- a/src/GPU/gpu_extra.h +++ b/src/GPU/gpu_extra.h @@ -58,6 +58,9 @@ namespace GPU_EXTRA { else if (all_success == -11) error->all(FLERR, "Invalid custom OpenCL parameter string."); + else if (all_success == -12) + error->all(FLERR, + "Invalid OpenCL platform ID."); else error->all(FLERR,"Unknown error in GPU library"); } -- GitLab From 223de57401ff2547715e24b44226eba5599946ed Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 21 Jul 2018 00:14:31 -0500 Subject: [PATCH 304/675] Added set_platform_accelerator() for nvd_device.h for OpenCL compatibility --- lib/gpu/geryon/nvd_device.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/gpu/geryon/nvd_device.h b/lib/gpu/geryon/nvd_device.h index 2d2a751f85..129bdbbdef 100644 --- a/lib/gpu/geryon/nvd_device.h +++ b/lib/gpu/geryon/nvd_device.h @@ -260,6 +260,9 @@ class UCL_Device { /// List all devices along with all properties inline void print_all(std::ostream &out); + /// Select the platform that has accelerators (for compatibility with OpenCL) + inline int set_platform_accelerator(int pid=-1) { return UCL_SUCCESS; } + private: int _device, _num_devices; std::vector _properties; -- GitLab From 01c27194d4de20ab3002091fe20d396495019e66 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 21 Jul 2018 00:18:30 -0500 Subject: [PATCH 305/675] Fixes for lal_neighbor.cpp for get_host() and for time_kernel --- lib/gpu/lal_neighbor.cpp | 4 ++-- lib/gpu/lal_neighbor.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/gpu/lal_neighbor.cpp b/lib/gpu/lal_neighbor.cpp index 04e08c3e9c..d264a933a1 100644 --- a/lib/gpu/lal_neighbor.cpp +++ b/lib/gpu/lal_neighbor.cpp @@ -281,7 +281,7 @@ void Neighbor::get_host(const int inum, int *ilist, int *numj, } UCL_D_Vec acc_view; acc_view.view_offset(inum,dev_nbor,inum*2); - ucl_copy(acc_view,host_acc,true); + ucl_copy(acc_view,host_acc,inum*2,true); UCL_H_Vec host_view; host_view.alloc(_max_atoms,*dev,UCL_READ_WRITE); @@ -364,7 +364,7 @@ void Neighbor::get_host3(const int inum, const int nlist, int *ilist, int *numj, } UCL_D_Vec acc_view; acc_view.view_offset(inum,dev_nbor,inum*2); - ucl_copy(acc_view,host_acc,true); + ucl_copy(acc_view,host_acc,inum*2,true); time_nbor.stop(); if (_use_packing==false) { diff --git a/lib/gpu/lal_neighbor.h b/lib/gpu/lal_neighbor.h index 05168834c6..01f7b02798 100644 --- a/lib/gpu/lal_neighbor.h +++ b/lib/gpu/lal_neighbor.h @@ -110,7 +110,7 @@ class Neighbor { } if (_time_device) { time_nbor.add_to_total(); - time_kernel.add_to_total(); + if (_use_packing==false) time_kernel.add_to_total(); if (_gpu_nbor==2) { time_hybrid1.add_to_total(); time_hybrid2.add_to_total(); -- GitLab From 94da4be922532f15aa159b3fa60e95e81ac89874 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 21 Jul 2018 13:50:10 -0500 Subject: [PATCH 306/675] Fixed bugs for tersoff gpu styles for OpenCL builds --- lib/gpu/lal_tersoff.cpp | 2 +- lib/gpu/lal_tersoff_mod.cpp | 2 +- lib/gpu/lal_tersoff_zbl.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/gpu/lal_tersoff.cpp b/lib/gpu/lal_tersoff.cpp index a63d286d9c..af1e286520 100644 --- a/lib/gpu/lal_tersoff.cpp +++ b/lib/gpu/lal_tersoff.cpp @@ -272,7 +272,7 @@ void TersoffT::loop(const bool _eflag, const bool _vflag, const int evatom) { &map, &elem2param, &_nelements, &_nparams, &_zetaij, &this->nbor->dev_nbor, &this->_nbor_data->begin(), &this->dev_short_nbor, - &_eflag, &this->_ainum, &nbor_pitch, &this->_threads_per_atom); + &eflag, &this->_ainum, &nbor_pitch, &this->_threads_per_atom); ainum=this->ans->inum(); nbor_pitch=this->nbor->nbor_pitch(); diff --git a/lib/gpu/lal_tersoff_mod.cpp b/lib/gpu/lal_tersoff_mod.cpp index c37c07f1a1..dc25fdadff 100644 --- a/lib/gpu/lal_tersoff_mod.cpp +++ b/lib/gpu/lal_tersoff_mod.cpp @@ -272,7 +272,7 @@ void TersoffMT::loop(const bool _eflag, const bool _vflag, const int evatom) { &map, &elem2param, &_nelements, &_nparams, &_zetaij, &this->nbor->dev_nbor, &this->_nbor_data->begin(), &this->dev_short_nbor, - &_eflag, &this->_ainum, &nbor_pitch, &this->_threads_per_atom); + &eflag, &this->_ainum, &nbor_pitch, &this->_threads_per_atom); ainum=this->ans->inum(); nbor_pitch=this->nbor->nbor_pitch(); diff --git a/lib/gpu/lal_tersoff_zbl.cpp b/lib/gpu/lal_tersoff_zbl.cpp index 341f663030..7cd0d9e6b2 100644 --- a/lib/gpu/lal_tersoff_zbl.cpp +++ b/lib/gpu/lal_tersoff_zbl.cpp @@ -297,7 +297,7 @@ void TersoffZT::loop(const bool _eflag, const bool _vflag, const int evatom) { &map, &elem2param, &_nelements, &_nparams, &_zetaij, &this->nbor->dev_nbor, &this->_nbor_data->begin(), &this->dev_short_nbor, - &_eflag, &this->_ainum, &nbor_pitch, &this->_threads_per_atom); + &eflag, &this->_ainum, &nbor_pitch, &this->_threads_per_atom); ainum=this->ans->inum(); nbor_pitch=this->nbor->nbor_pitch(); -- GitLab From d71e037c233fcd5e49bab5d71d472e9db1249e52 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sun, 22 Jul 2018 11:27:14 -0500 Subject: [PATCH 307/675] Renamed dev_acc to dev_ilist for better description and updated the 3-body styles accordingly; also fixed bugs with accessing dev_packed from the three_end kernel of tersoff/mod and tersoff/zbl gpu styles for OpenCL builds --- lib/gpu/lal_neighbor.cpp | 11 ++++++----- lib/gpu/lal_neighbor.h | 2 +- lib/gpu/lal_sw.cpp | 4 ++-- lib/gpu/lal_sw.cu | 12 ++++++------ lib/gpu/lal_tersoff.cpp | 4 ++-- lib/gpu/lal_tersoff.cu | 12 ++++++------ lib/gpu/lal_tersoff_mod.cpp | 4 ++-- lib/gpu/lal_tersoff_mod.cu | 22 +++++++++++----------- lib/gpu/lal_tersoff_zbl.cpp | 4 ++-- lib/gpu/lal_tersoff_zbl.cu | 22 +++++++++++----------- lib/gpu/lal_vashishta.cpp | 4 ++-- lib/gpu/lal_vashishta.cu | 12 ++++++------ 12 files changed, 57 insertions(+), 56 deletions(-) diff --git a/lib/gpu/lal_neighbor.cpp b/lib/gpu/lal_neighbor.cpp index d264a933a1..c6fa1aa560 100644 --- a/lib/gpu/lal_neighbor.cpp +++ b/lib/gpu/lal_neighbor.cpp @@ -127,10 +127,11 @@ void Neighbor::alloc(bool &success) { dev_packed.clear(); success=success && (dev_packed.alloc((_max_nbors+2)*_max_atoms,*dev, _packed_permissions)==UCL_SUCCESS); - dev_acc.clear(); - success=success && (dev_acc.alloc(_max_atoms,*dev, + dev_ilist.clear(); + success=success && (dev_ilist.alloc(_max_atoms,*dev, UCL_READ_WRITE)==UCL_SUCCESS); - _c_bytes+=dev_packed.row_bytes()+dev_acc.row_bytes(); + dev_ilist.clear(); + _c_bytes+=dev_packed.row_bytes()+dev_ilist.row_bytes(); } if (_max_host>0) { nbor_host.clear(); @@ -197,7 +198,7 @@ void Neighbor::clear() { host_packed.clear(); host_acc.clear(); - dev_acc.clear(); + dev_ilist.clear(); dev_nbor.clear(); nbor_host.clear(); dev_packed.clear(); @@ -289,7 +290,7 @@ void Neighbor::get_host(const int inum, int *ilist, int *numj, int i=ilist[ii]; host_view[i] = ii; } - ucl_copy(dev_acc,host_view,true); + ucl_copy(dev_ilist,host_view,true); time_nbor.stop(); diff --git a/lib/gpu/lal_neighbor.h b/lib/gpu/lal_neighbor.h index 01f7b02798..996deaff6d 100644 --- a/lib/gpu/lal_neighbor.h +++ b/lib/gpu/lal_neighbor.h @@ -200,7 +200,7 @@ class Neighbor { /// Host storage for nbor counts (row 1) & accumulated neighbor counts (row2) UCL_H_Vec host_acc; /// Device storage for accessing atom indices from the neighbor list (3-body) - UCL_D_Vec dev_acc; + UCL_D_Vec dev_ilist; // ----------------- Data for GPU Neighbor Calculation --------------- diff --git a/lib/gpu/lal_sw.cpp b/lib/gpu/lal_sw.cpp index 24984e4878..46b6382a60 100644 --- a/lib/gpu/lal_sw.cpp +++ b/lib/gpu/lal_sw.cpp @@ -243,7 +243,7 @@ void SWT::loop(const bool _eflag, const bool _vflag, const int evatom) { this->k_three_end_vatom.run(&this->atom->x, &sw1, &sw2, &sw3, &map, &elem2param, &_nelements, &this->nbor->dev_nbor, &this->_nbor_data->begin(), - &this->nbor->dev_acc, &this->dev_short_nbor, + &this->nbor->dev_ilist, &this->dev_short_nbor, &end_ans->force, &end_ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &this->_threads_per_atom, &this->_gpu_nbor); @@ -252,7 +252,7 @@ void SWT::loop(const bool _eflag, const bool _vflag, const int evatom) { this->k_three_end.run(&this->atom->x, &sw1, &sw2, &sw3, &map, &elem2param, &_nelements, &this->nbor->dev_nbor, &this->_nbor_data->begin(), - &this->nbor->dev_acc, &this->dev_short_nbor, + &this->nbor->dev_ilist, &this->dev_short_nbor, &end_ans->force, &end_ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &this->_threads_per_atom, &this->_gpu_nbor); diff --git a/lib/gpu/lal_sw.cu b/lib/gpu/lal_sw.cu index 517de70691..3b6de5a683 100644 --- a/lib/gpu/lal_sw.cu +++ b/lib/gpu/lal_sw.cu @@ -544,7 +544,7 @@ __kernel void k_sw_three_end(const __global numtyp4 *restrict x_, const int nelements, const __global int * dev_nbor, const __global int * dev_packed, - const __global int * dev_acc, + const __global int * dev_ilist, const __global int * dev_short_nbor, __global acctyp4 *restrict ans, __global acctyp *restrict engv, @@ -614,13 +614,13 @@ __kernel void k_sw_three_end(const __global numtyp4 *restrict x_, int nbor_k,numk; if (dev_nbor==dev_packed) { if (gpu_nbor) nbor_k=j+nbor_pitch; - else nbor_k=dev_acc[j]+nbor_pitch; + else nbor_k=dev_ilist[j]+nbor_pitch; numk=dev_nbor[nbor_k]; nbor_k+=nbor_pitch+fast_mul(j,t_per_atom-1); k_end=nbor_k+fast_mul(numk/t_per_atom,n_stride)+(numk & (t_per_atom-1)); nbor_k+=offset_k; } else { - nbor_k=dev_acc[j]+nbor_pitch; + nbor_k=dev_ilist[j]+nbor_pitch; numk=dev_nbor[nbor_k]; nbor_k+=nbor_pitch; nbor_k=dev_nbor[nbor_k]; @@ -698,7 +698,7 @@ __kernel void k_sw_three_end_vatom(const __global numtyp4 *restrict x_, const int nelements, const __global int * dev_nbor, const __global int * dev_packed, - const __global int * dev_acc, + const __global int * dev_ilist, const __global int * dev_short_nbor, __global acctyp4 *restrict ans, __global acctyp *restrict engv, @@ -768,13 +768,13 @@ __kernel void k_sw_three_end_vatom(const __global numtyp4 *restrict x_, int nbor_k,numk; if (dev_nbor==dev_packed) { if (gpu_nbor) nbor_k=j+nbor_pitch; - else nbor_k=dev_acc[j]+nbor_pitch; + else nbor_k=dev_ilist[j]+nbor_pitch; numk=dev_nbor[nbor_k]; nbor_k+=nbor_pitch+fast_mul(j,t_per_atom-1); k_end=nbor_k+fast_mul(numk/t_per_atom,n_stride)+(numk & (t_per_atom-1)); nbor_k+=offset_k; } else { - nbor_k=dev_acc[j]+nbor_pitch; + nbor_k=dev_ilist[j]+nbor_pitch; numk=dev_nbor[nbor_k]; nbor_k+=nbor_pitch; nbor_k=dev_nbor[nbor_k]; diff --git a/lib/gpu/lal_tersoff.cpp b/lib/gpu/lal_tersoff.cpp index af1e286520..ef55b98a2d 100644 --- a/lib/gpu/lal_tersoff.cpp +++ b/lib/gpu/lal_tersoff.cpp @@ -311,7 +311,7 @@ void TersoffT::loop(const bool _eflag, const bool _vflag, const int evatom) { this->k_three_end_vatom.run(&this->atom->x, &ts1, &ts2, &ts4, &cutsq, &map, &elem2param, &_nelements, &_nparams, &_zetaij, &this->nbor->dev_nbor, &this->_nbor_data->begin(), - &this->nbor->dev_acc, &this->dev_short_nbor, + &this->nbor->dev_ilist, &this->dev_short_nbor, &end_ans->force, &end_ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &this->_threads_per_atom, &this->_gpu_nbor); @@ -320,7 +320,7 @@ void TersoffT::loop(const bool _eflag, const bool _vflag, const int evatom) { this->k_three_end.run(&this->atom->x, &ts1, &ts2, &ts4, &cutsq, &map, &elem2param, &_nelements, &_nparams, &_zetaij, &this->nbor->dev_nbor, &this->_nbor_data->begin(), - &this->nbor->dev_acc, &this->dev_short_nbor, + &this->nbor->dev_ilist, &this->dev_short_nbor, &end_ans->force, &end_ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &this->_threads_per_atom, &this->_gpu_nbor); } diff --git a/lib/gpu/lal_tersoff.cu b/lib/gpu/lal_tersoff.cu index cec0ccc443..836f05660d 100644 --- a/lib/gpu/lal_tersoff.cu +++ b/lib/gpu/lal_tersoff.cu @@ -696,7 +696,7 @@ __kernel void k_tersoff_three_end(const __global numtyp4 *restrict x_, const __global acctyp4 *restrict zetaij, const __global int * dev_nbor, const __global int * dev_packed, - const __global int * dev_acc, + const __global int * dev_ilist, const __global int * dev_short_nbor, __global acctyp4 *restrict ans, __global acctyp *restrict engv, @@ -777,13 +777,13 @@ __kernel void k_tersoff_three_end(const __global numtyp4 *restrict x_, int nbor_k,numk; if (dev_nbor==dev_packed) { if (gpu_nbor) nbor_k=j+nbor_pitch; - else nbor_k=dev_acc[j]+nbor_pitch; + else nbor_k=dev_ilist[j]+nbor_pitch; numk=dev_nbor[nbor_k]; nbor_k+=nbor_pitch+fast_mul(j,t_per_atom-1); k_end=nbor_k+fast_mul(numk/t_per_atom,n_stride)+(numk & (t_per_atom-1)); nbor_k+=offset_k; } else { - nbor_k=dev_acc[j]+nbor_pitch; + nbor_k=dev_ilist[j]+nbor_pitch; numk=dev_nbor[nbor_k]; nbor_k+=nbor_pitch; nbor_k=dev_nbor[nbor_k]; @@ -941,7 +941,7 @@ __kernel void k_tersoff_three_end_vatom(const __global numtyp4 *restrict x_, const __global acctyp4 *restrict zetaij, const __global int * dev_nbor, const __global int * dev_packed, - const __global int * dev_acc, + const __global int * dev_ilist, const __global int * dev_short_nbor, __global acctyp4 *restrict ans, __global acctyp *restrict engv, @@ -1022,13 +1022,13 @@ __kernel void k_tersoff_three_end_vatom(const __global numtyp4 *restrict x_, int nbor_k,numk; if (dev_nbor==dev_packed) { if (gpu_nbor) nbor_k=j+nbor_pitch; - else nbor_k=dev_acc[j]+nbor_pitch; + else nbor_k=dev_ilist[j]+nbor_pitch; numk=dev_nbor[nbor_k]; nbor_k+=nbor_pitch+fast_mul(j,t_per_atom-1); k_end=nbor_k+fast_mul(numk/t_per_atom,n_stride)+(numk & (t_per_atom-1)); nbor_k+=offset_k; } else { - nbor_k=dev_acc[j]+nbor_pitch; + nbor_k=dev_ilist[j]+nbor_pitch; numk=dev_nbor[nbor_k]; nbor_k+=nbor_pitch; nbor_k=dev_nbor[nbor_k]; diff --git a/lib/gpu/lal_tersoff_mod.cpp b/lib/gpu/lal_tersoff_mod.cpp index dc25fdadff..3cbb488cab 100644 --- a/lib/gpu/lal_tersoff_mod.cpp +++ b/lib/gpu/lal_tersoff_mod.cpp @@ -311,7 +311,7 @@ void TersoffMT::loop(const bool _eflag, const bool _vflag, const int evatom) { this->k_three_end_vatom.run(&this->atom->x, &ts1, &ts2, &ts4, &ts5, &cutsq, &map, &elem2param, &_nelements, &_nparams, &_zetaij, &this->nbor->dev_nbor, &this->_nbor_data->begin(), - &this->nbor->dev_acc, &this->dev_short_nbor, + &this->nbor->dev_ilist, &this->dev_short_nbor, &end_ans->force, &end_ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &this->_threads_per_atom, &this->_gpu_nbor); @@ -320,7 +320,7 @@ void TersoffMT::loop(const bool _eflag, const bool _vflag, const int evatom) { this->k_three_end.run(&this->atom->x, &ts1, &ts2, &ts4, &ts5, &cutsq, &map, &elem2param, &_nelements, &_nparams, &_zetaij, &this->nbor->dev_nbor, &this->_nbor_data->begin(), - &this->nbor->dev_acc, &this->dev_short_nbor, + &this->nbor->dev_ilist, &this->dev_short_nbor, &end_ans->force, &end_ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &this->_threads_per_atom, &this->_gpu_nbor); } diff --git a/lib/gpu/lal_tersoff_mod.cu b/lib/gpu/lal_tersoff_mod.cu index 576359b514..dfb94c4145 100644 --- a/lib/gpu/lal_tersoff_mod.cu +++ b/lib/gpu/lal_tersoff_mod.cu @@ -272,7 +272,7 @@ __kernel void k_tersoff_mod_zeta(const __global numtyp4 *restrict x_, if (iik_three_end_vatom.run(&this->atom->x, &ts1, &ts2, &ts4, &cutsq, &map, &elem2param, &_nelements, &_nparams, &_zetaij, &this->nbor->dev_nbor, &this->_nbor_data->begin(), - &this->nbor->dev_acc, &this->dev_short_nbor, + &this->nbor->dev_ilist, &this->dev_short_nbor, &end_ans->force, &end_ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &this->_threads_per_atom, &this->_gpu_nbor); @@ -346,7 +346,7 @@ void TersoffZT::loop(const bool _eflag, const bool _vflag, const int evatom) { this->k_three_end.run(&this->atom->x, &ts1, &ts2, &ts4, &cutsq, &map, &elem2param, &_nelements, &_nparams, &_zetaij, &this->nbor->dev_nbor, &this->_nbor_data->begin(), - &this->nbor->dev_acc, &this->dev_short_nbor, + &this->nbor->dev_ilist, &this->dev_short_nbor, &end_ans->force, &end_ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &this->_threads_per_atom, &this->_gpu_nbor); } diff --git a/lib/gpu/lal_tersoff_zbl.cu b/lib/gpu/lal_tersoff_zbl.cu index e8bb017f59..73ff51c704 100644 --- a/lib/gpu/lal_tersoff_zbl.cu +++ b/lib/gpu/lal_tersoff_zbl.cu @@ -278,7 +278,7 @@ __kernel void k_tersoff_zbl_zeta(const __global numtyp4 *restrict x_, if (iik_three_end_vatom.run(&this->atom->x, ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, &map, &elem2param, &_nelements, &this->nbor->dev_nbor, &this->_nbor_data->begin(), - &this->nbor->dev_acc, &this->dev_short_nbor, + &this->nbor->dev_ilist, &this->dev_short_nbor, &end_ans->force, &end_ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &this->_threads_per_atom, &this->_gpu_nbor); } else { @@ -286,7 +286,7 @@ void VashishtaT::loop(const bool _eflag, const bool _vflag, const int evatom) { this->k_three_end.run(&this->atom->x, ¶m1, ¶m2, ¶m3, ¶m4, ¶m5, &map, &elem2param, &_nelements, &this->nbor->dev_nbor, &this->_nbor_data->begin(), - &this->nbor->dev_acc, &this->dev_short_nbor, + &this->nbor->dev_ilist, &this->dev_short_nbor, &end_ans->force, &end_ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &this->_threads_per_atom, &this->_gpu_nbor); } diff --git a/lib/gpu/lal_vashishta.cu b/lib/gpu/lal_vashishta.cu index d2e8bb1496..0da46c3b53 100644 --- a/lib/gpu/lal_vashishta.cu +++ b/lib/gpu/lal_vashishta.cu @@ -554,7 +554,7 @@ __kernel void k_vashishta_three_end(const __global numtyp4 *restrict x_, const int nelements, const __global int * dev_nbor, const __global int * dev_packed, - const __global int * dev_acc, + const __global int * dev_ilist, const __global int * dev_short_nbor, __global acctyp4 *restrict ans, __global acctyp *restrict engv, @@ -623,13 +623,13 @@ __kernel void k_vashishta_three_end(const __global numtyp4 *restrict x_, int nbor_k,numk; if (dev_nbor==dev_packed) { if (gpu_nbor) nbor_k=j+nbor_pitch; - else nbor_k=dev_acc[j]+nbor_pitch; + else nbor_k=dev_ilist[j]+nbor_pitch; numk=dev_nbor[nbor_k]; nbor_k+=nbor_pitch+fast_mul(j,t_per_atom-1); k_end=nbor_k+fast_mul(numk/t_per_atom,n_stride)+(numk & (t_per_atom-1)); nbor_k+=offset_k; } else { - nbor_k=dev_acc[j]+nbor_pitch; + nbor_k=dev_ilist[j]+nbor_pitch; numk=dev_nbor[nbor_k]; nbor_k+=nbor_pitch; nbor_k=dev_nbor[nbor_k]; @@ -709,7 +709,7 @@ __kernel void k_vashishta_three_end_vatom(const __global numtyp4 *restrict x_, const int nelements, const __global int * dev_nbor, const __global int * dev_packed, - const __global int * dev_acc, + const __global int * dev_ilist, const __global int * dev_short_nbor, __global acctyp4 *restrict ans, __global acctyp *restrict engv, @@ -778,13 +778,13 @@ __kernel void k_vashishta_three_end_vatom(const __global numtyp4 *restrict x_, int nbor_k,numk; if (dev_nbor==dev_packed) { if (gpu_nbor) nbor_k=j+nbor_pitch; - else nbor_k=dev_acc[j]+nbor_pitch; + else nbor_k=dev_ilist[j]+nbor_pitch; numk=dev_nbor[nbor_k]; nbor_k+=nbor_pitch+fast_mul(j,t_per_atom-1); k_end=nbor_k+fast_mul(numk/t_per_atom,n_stride)+(numk & (t_per_atom-1)); nbor_k+=offset_k; } else { - nbor_k=dev_acc[j]+nbor_pitch; + nbor_k=dev_ilist[j]+nbor_pitch; numk=dev_nbor[nbor_k]; nbor_k+=nbor_pitch; nbor_k=dev_nbor[nbor_k]; -- GitLab From b612c7ee75662dc3530e0a112063486b0f3d080c Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sun, 22 Jul 2018 13:15:01 -0500 Subject: [PATCH 308/675] Fixed a copy-paste bug in lal_neighbor.cpp for neigh no --- lib/gpu/lal_neighbor.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/gpu/lal_neighbor.cpp b/lib/gpu/lal_neighbor.cpp index c6fa1aa560..3e128bcf57 100644 --- a/lib/gpu/lal_neighbor.cpp +++ b/lib/gpu/lal_neighbor.cpp @@ -130,7 +130,6 @@ void Neighbor::alloc(bool &success) { dev_ilist.clear(); success=success && (dev_ilist.alloc(_max_atoms,*dev, UCL_READ_WRITE)==UCL_SUCCESS); - dev_ilist.clear(); _c_bytes+=dev_packed.row_bytes()+dev_ilist.row_bytes(); } if (_max_host>0) { -- GitLab From 644888d03c495258655518d9cf40f51e79acb033 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sun, 22 Jul 2018 15:12:45 -0500 Subject: [PATCH 309/675] Fixed bugs with time_q and time_quat not calling start() and stop() when _charge and/or _rot in Atom are true for OpenCL builds --- lib/gpu/lal_atom.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/gpu/lal_atom.h b/lib/gpu/lal_atom.h index f6a0b109f2..57880d7ca9 100644 --- a/lib/gpu/lal_atom.h +++ b/lib/gpu/lal_atom.h @@ -322,10 +322,12 @@ class Atom { // Copy charges to device asynchronously inline void add_q_data() { + time_q.start(); if (_q_avail==false) { q.update_device(_nall,true); _q_avail=true; } + time_q.stop(); } // Cast quaternions to write buffer @@ -347,10 +349,12 @@ class Atom { // Copy quaternions to device /** Copies nall()*4 elements **/ inline void add_quat_data() { + time_quat.start(); if (_quat_avail==false) { quat.update_device(_nall*4,true); _quat_avail=true; } + time_quat.stop(); } /// Cast velocities and tags to write buffer -- GitLab From 40dcfa44c9a0f545e9e33432bb06e471a5023de7 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 23 Jul 2018 08:35:40 -0600 Subject: [PATCH 310/675] new checksum for LATTE download --- lib/latte/Install.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/latte/Install.py b/lib/latte/Install.py index e1ed9d4eaa..3b211858dd 100644 --- a/lib/latte/Install.py +++ b/lib/latte/Install.py @@ -40,7 +40,7 @@ version = '1.2.1' checksums = { \ '1.1.0' : '533635721ee222d0ed2925a18fb5b294', \ '1.2.0' : '68bf0db879da5e068a71281020239ae7', \ - '1.2.1' : 'bed76e7e76c545c36dd848a8f1fd35eb' \ + '1.2.1' : '85ac414fdada2d04619c8f936344df14', \ } # print error message or help -- GitLab From 35ffa0a214d25b5a6f6d6bc60563b7e7507b33fe Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 23 Jul 2018 12:36:29 -0400 Subject: [PATCH 311/675] update MD5SUM entry in CMake build system --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index bf57398c71..60a0f5d48f 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -332,7 +332,7 @@ if(PKG_LATTE) include(ExternalProject) ExternalProject_Add(latte_build URL https://github.com/lanl/LATTE/archive/v1.2.1.tar.gz - URL_MD5 bed76e7e76c545c36dd848a8f1fd35eb + URL_MD5 85ac414fdada2d04619c8f936344df14 SOURCE_SUBDIR cmake CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= -DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE} ) -- GitLab From 2ac3953e17b94bb16f402185eaa8904809aeeb01 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 23 Jul 2018 12:37:05 -0400 Subject: [PATCH 312/675] update src/Purge.list to cleanly remove obsolete files --- src/Purge.list | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Purge.list b/src/Purge.list index 402fc409e6..cd4eb17dab 100644 --- a/src/Purge.list +++ b/src/Purge.list @@ -24,6 +24,9 @@ style_nstencil.h style_ntopo.h # other auto-generated files lmpinstalledpkgs.h +# renamed on 20 July 2018 +pair_body.h +pair_body.cpp # deleted on 4 April 2018 pair_kim_version.h # deleted on 15 December 2017 -- GitLab From 923ae041dcfe0fdebbb146ec9a9b71fa8eba5a55 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 23 Jul 2018 15:52:42 -0400 Subject: [PATCH 313/675] (temporary) workaround for memory leaks with OpenCL and MPI for upcoming stable release --- lib/gpu/lal_device.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/gpu/lal_device.cpp b/lib/gpu/lal_device.cpp index 7f54432a74..6b4d0ab2a5 100644 --- a/lib/gpu/lal_device.cpp +++ b/lib/gpu/lal_device.cpp @@ -130,8 +130,16 @@ int DeviceT::init_device(MPI_Comm world, MPI_Comm replica, const int first_gpu, // Time on the device only if 1 proc per gpu _time_device=true; + +#if 0 + // XXX: the following setting triggers a memory leak with OpenCL and MPI + // setting _time_device=true for all processes doesn't seem to be a + // problem with either (no segfault, no (large) memory leak. + // thus keeping this disabled for now. may need to review later. + // 2018-07-23 if (_procs_per_gpu>1) _time_device=false; +#endif // Set up a per device communicator MPI_Comm_split(node_comm,my_gpu,0,&_comm_gpu); -- GitLab From 2f5598122429ae113b84623c338b5098293aeb07 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 23 Jul 2018 15:58:33 -0600 Subject: [PATCH 314/675] new MESSAGE package for client/server/coupling --- doc/src/Section_commands.txt | 9 +- doc/src/Section_howto.txt | 132 ++- doc/src/Section_packages.txt | 47 ++ doc/src/Section_start.txt | 19 + doc/src/fix_client_md.txt | 105 +++ doc/src/lammps.book | 12 +- doc/src/message.txt | 159 ++++ doc/src/server.txt | 71 ++ doc/src/server_mc.txt | 112 +++ doc/src/server_md.txt | 122 +++ examples/COUPLE/README | 3 + examples/COUPLE/lammps_mc/Makefile | 34 + examples/COUPLE/lammps_mc/README | 106 +++ examples/COUPLE/lammps_mc/in.mc | 7 + examples/COUPLE/lammps_mc/in.mc.server | 36 + .../COUPLE/lammps_mc/log.23Jul18.file.g++.1 | 254 ++++++ .../COUPLE/lammps_mc/log.23Jul18.file.g++.4 | 254 ++++++ .../COUPLE/lammps_mc/log.23Jul18.zmq.g++.1 | 254 ++++++ .../COUPLE/lammps_mc/log.23Jul18.zmq.g++.4 | 254 ++++++ examples/COUPLE/lammps_mc/mc.cpp | 261 ++++++ examples/COUPLE/lammps_mc/mc.h | 40 + examples/COUPLE/lammps_mc/random_park.cpp | 72 ++ examples/COUPLE/lammps_mc/random_park.h | 28 + examples/COUPLE/lammps_vasp/INCAR | 53 ++ examples/COUPLE/lammps_vasp/KPOINTS | 6 + examples/COUPLE/lammps_vasp/POSCAR_W | 11 + examples/COUPLE/lammps_vasp/README | 90 ++ examples/COUPLE/lammps_vasp/data.W | 15 + examples/COUPLE/lammps_vasp/in.client.W | 34 + examples/COUPLE/lammps_vasp/log.client.output | 63 ++ examples/COUPLE/lammps_vasp/vasp_wrap.py | 234 ++++++ examples/README | 1 + examples/message/README | 102 +++ examples/message/in.message | 27 + examples/message/in.message.client | 38 + examples/message/in.message.server | 29 + .../log.23Jul18.message.client.file.g++.1 | 76 ++ .../log.23Jul18.message.client.file.g++.2 | 76 ++ .../log.23Jul18.message.client.mpione.g++.1 | 76 ++ .../log.23Jul18.message.client.mpione.g++.2 | 76 ++ .../log.23Jul18.message.client.mpitwo.g++.1 | 76 ++ .../log.23Jul18.message.client.mpitwo.g++.2 | 76 ++ .../log.23Jul18.message.client.zmq.g++.1 | 76 ++ .../log.23Jul18.message.client.zmq.g++.2 | 76 ++ examples/message/log.23Jul18.message.g++.1 | 83 ++ examples/message/log.23Jul18.message.g++.4 | 83 ++ .../log.23Jul18.message.server.file.g++.1 | 44 + .../log.23Jul18.message.server.file.g++.4 | 44 + .../log.23Jul18.message.server.mpione.g++.1 | 44 + .../log.23Jul18.message.server.mpione.g++.4 | 44 + .../log.23Jul18.message.server.mpitwo.g++.1 | 44 + .../log.23Jul18.message.server.mpitwo.g++.4 | 44 + .../log.23Jul18.message.server.zmq.g++.1 | 44 + .../log.23Jul18.message.server.zmq.g++.4 | 44 + lib/README | 2 + lib/message/Install.py | 118 +++ lib/message/Makefile.lammps.nozmq | 5 + lib/message/Makefile.lammps.zmq | 5 + lib/message/README | 51 ++ lib/message/cslib/LICENSE | 501 ++++++++++++ lib/message/cslib/README | 21 + lib/message/cslib/src/Makefile | 107 +++ lib/message/cslib/src/STUBS_MPI/mpi.h | 95 +++ lib/message/cslib/src/STUBS_ZMQ/zmq.h | 35 + lib/message/cslib/src/cslib.cpp | 768 ++++++++++++++++++ lib/message/cslib/src/cslib.h | 87 ++ lib/message/cslib/src/cslib.py | 362 +++++++++ lib/message/cslib/src/cslib_wrap.cpp | 239 ++++++ lib/message/cslib/src/cslib_wrap.f90 | 147 ++++ lib/message/cslib/src/cslib_wrap.h | 54 ++ lib/message/cslib/src/msg.cpp | 110 +++ lib/message/cslib/src/msg.h | 52 ++ lib/message/cslib/src/msg_file.cpp | 143 ++++ lib/message/cslib/src/msg_file.h | 40 + lib/message/cslib/src/msg_mpi_one.cpp | 82 ++ lib/message/cslib/src/msg_mpi_one.h | 38 + lib/message/cslib/src/msg_mpi_two.cpp | 81 ++ lib/message/cslib/src/msg_mpi_two.h | 35 + lib/message/cslib/src/msg_zmq.cpp | 140 ++++ lib/message/cslib/src/msg_zmq.h | 38 + src/MESSAGE/Install.sh | 67 ++ src/MESSAGE/fix_client_md.cpp | 270 ++++++ src/MESSAGE/fix_client_md.h | 62 ++ src/MESSAGE/message.cpp | 90 ++ src/MESSAGE/message.h | 40 + src/MESSAGE/server.cpp | 50 ++ src/MESSAGE/server.h | 40 + src/MESSAGE/server_mc.cpp | 148 ++++ src/MESSAGE/server_mc.h | 29 + src/MESSAGE/server_md.cpp | 333 ++++++++ src/MESSAGE/server_md.h | 33 + src/Makefile | 6 +- src/atom.cpp | 3 +- src/domain.cpp | 6 +- src/domain.h | 3 +- src/lammps.cpp | 223 +++-- src/lammps.h | 4 + 97 files changed, 8882 insertions(+), 101 deletions(-) create mode 100644 doc/src/fix_client_md.txt create mode 100644 doc/src/message.txt create mode 100644 doc/src/server.txt create mode 100644 doc/src/server_mc.txt create mode 100644 doc/src/server_md.txt create mode 100644 examples/COUPLE/lammps_mc/Makefile create mode 100644 examples/COUPLE/lammps_mc/README create mode 100644 examples/COUPLE/lammps_mc/in.mc create mode 100644 examples/COUPLE/lammps_mc/in.mc.server create mode 100644 examples/COUPLE/lammps_mc/log.23Jul18.file.g++.1 create mode 100644 examples/COUPLE/lammps_mc/log.23Jul18.file.g++.4 create mode 100644 examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.1 create mode 100644 examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.4 create mode 100644 examples/COUPLE/lammps_mc/mc.cpp create mode 100644 examples/COUPLE/lammps_mc/mc.h create mode 100644 examples/COUPLE/lammps_mc/random_park.cpp create mode 100644 examples/COUPLE/lammps_mc/random_park.h create mode 100644 examples/COUPLE/lammps_vasp/INCAR create mode 100644 examples/COUPLE/lammps_vasp/KPOINTS create mode 100644 examples/COUPLE/lammps_vasp/POSCAR_W create mode 100644 examples/COUPLE/lammps_vasp/README create mode 100644 examples/COUPLE/lammps_vasp/data.W create mode 100644 examples/COUPLE/lammps_vasp/in.client.W create mode 100644 examples/COUPLE/lammps_vasp/log.client.output create mode 100644 examples/COUPLE/lammps_vasp/vasp_wrap.py create mode 100644 examples/message/README create mode 100644 examples/message/in.message create mode 100644 examples/message/in.message.client create mode 100644 examples/message/in.message.server create mode 100644 examples/message/log.23Jul18.message.client.file.g++.1 create mode 100644 examples/message/log.23Jul18.message.client.file.g++.2 create mode 100644 examples/message/log.23Jul18.message.client.mpione.g++.1 create mode 100644 examples/message/log.23Jul18.message.client.mpione.g++.2 create mode 100644 examples/message/log.23Jul18.message.client.mpitwo.g++.1 create mode 100644 examples/message/log.23Jul18.message.client.mpitwo.g++.2 create mode 100644 examples/message/log.23Jul18.message.client.zmq.g++.1 create mode 100644 examples/message/log.23Jul18.message.client.zmq.g++.2 create mode 100644 examples/message/log.23Jul18.message.g++.1 create mode 100644 examples/message/log.23Jul18.message.g++.4 create mode 100644 examples/message/log.23Jul18.message.server.file.g++.1 create mode 100644 examples/message/log.23Jul18.message.server.file.g++.4 create mode 100644 examples/message/log.23Jul18.message.server.mpione.g++.1 create mode 100644 examples/message/log.23Jul18.message.server.mpione.g++.4 create mode 100644 examples/message/log.23Jul18.message.server.mpitwo.g++.1 create mode 100644 examples/message/log.23Jul18.message.server.mpitwo.g++.4 create mode 100644 examples/message/log.23Jul18.message.server.zmq.g++.1 create mode 100644 examples/message/log.23Jul18.message.server.zmq.g++.4 create mode 100644 lib/message/Install.py create mode 100644 lib/message/Makefile.lammps.nozmq create mode 100644 lib/message/Makefile.lammps.zmq create mode 100644 lib/message/README create mode 100644 lib/message/cslib/LICENSE create mode 100644 lib/message/cslib/README create mode 100644 lib/message/cslib/src/Makefile create mode 100644 lib/message/cslib/src/STUBS_MPI/mpi.h create mode 100644 lib/message/cslib/src/STUBS_ZMQ/zmq.h create mode 100644 lib/message/cslib/src/cslib.cpp create mode 100644 lib/message/cslib/src/cslib.h create mode 100644 lib/message/cslib/src/cslib.py create mode 100644 lib/message/cslib/src/cslib_wrap.cpp create mode 100644 lib/message/cslib/src/cslib_wrap.f90 create mode 100644 lib/message/cslib/src/cslib_wrap.h create mode 100644 lib/message/cslib/src/msg.cpp create mode 100644 lib/message/cslib/src/msg.h create mode 100644 lib/message/cslib/src/msg_file.cpp create mode 100644 lib/message/cslib/src/msg_file.h create mode 100644 lib/message/cslib/src/msg_mpi_one.cpp create mode 100644 lib/message/cslib/src/msg_mpi_one.h create mode 100644 lib/message/cslib/src/msg_mpi_two.cpp create mode 100644 lib/message/cslib/src/msg_mpi_two.h create mode 100644 lib/message/cslib/src/msg_zmq.cpp create mode 100644 lib/message/cslib/src/msg_zmq.h create mode 100644 src/MESSAGE/Install.sh create mode 100644 src/MESSAGE/fix_client_md.cpp create mode 100644 src/MESSAGE/fix_client_md.h create mode 100644 src/MESSAGE/message.cpp create mode 100644 src/MESSAGE/message.h create mode 100644 src/MESSAGE/server.cpp create mode 100644 src/MESSAGE/server.h create mode 100644 src/MESSAGE/server_mc.cpp create mode 100644 src/MESSAGE/server_mc.h create mode 100644 src/MESSAGE/server_md.cpp create mode 100644 src/MESSAGE/server_md.h diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index 32308b36cb..ec0c0dc454 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -482,6 +482,7 @@ in the command's documentation. "lattice"_lattice.html, "log"_log.html, "mass"_mass.html, +"message"_message.html, "minimize"_minimize.html, "min_modify"_min_modify.html, "min_style"_min_style.html, @@ -513,6 +514,7 @@ in the command's documentation. "restart"_restart.html, "run"_run.html, "run_style"_run_style.html, +"server"_server.html, "set"_set.html, "shell"_shell.html, "special_bonds"_special_bonds.html, @@ -574,6 +576,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. "bond/create"_fix_bond_create.html, "bond/swap"_fix_bond_swap.html, "box/relax"_fix_box_relax.html, +"client/md"_fix_client_md.html, "cmap"_fix_cmap.html, "controller"_fix_controller.html, "deform (k)"_fix_deform.html, @@ -678,8 +681,6 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. "vector"_fix_vector.html, "viscosity"_fix_viscosity.html, "viscous"_fix_viscous.html, -"wall/body/polygon"_fix_wall_body_polygon.html, -"wall/body/polyhedron"_fix_wall_body_polyhedron.html, "wall/colloid"_fix_wall.html, "wall/gran"_fix_wall_gran.html, "wall/gran/region"_fix_wall_gran_region.html, @@ -932,9 +933,7 @@ KOKKOS, o = USER-OMP, t = OPT. "airebo (oi)"_pair_airebo.html, "airebo/morse (oi)"_pair_airebo.html, "beck (go)"_pair_beck.html, -"body/nparticle"_pair_body_nparticle.html, -"body/rounded/polygon"_pair_body_rounded/polygon.html, -"body/rounded/polyhedron"_pair_body_rounded/polyhedron.html, +"body"_pair_body.html, "bop"_pair_bop.html, "born (go)"_pair_born.html, "born/coul/dsf"_pair_born.html, diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt index 2784858f02..3a38ccedcb 100644 --- a/doc/src/Section_howto.txt +++ b/doc/src/Section_howto.txt @@ -37,7 +37,8 @@ This section describes how to perform common tasks using LAMMPS. 6.25 "Polarizable models"_#howto_25 6.26 "Adiabatic core/shell model"_#howto_26 6.27 "Drude induced dipoles"_#howto_27 -6.28 "Magnetic spins"_#howto_28 :all(b) +6.28 "Magnetic spins"_#howto_28 +6.29 "Using LAMMPS in client/server mode"_#howto_29 :all(b) The example input scripts included in the LAMMPS distribution and highlighted in "Section 7"_Section_example.html also show how to @@ -663,7 +664,7 @@ atoms and pass those forces to LAMMPS. Or a continuum finite element nodal points, compute a FE solution, and return interpolated forces on MD atoms. -LAMMPS can be coupled to other codes in at least 3 ways. Each has +LAMMPS can be coupled to other codes in at least 4 ways. Each has advantages and disadvantages, which you'll have to think about in the context of your application. @@ -752,7 +753,8 @@ LAMMPS and half to the other code and run both codes simultaneously before syncing them up periodically. Or it might instantiate multiple instances of LAMMPS to perform different calculations. -:line +(4) Couple LAMMPS with another code in a client/server mode. This is +described in a separate "howto section"_#howto_29. 6.11 Visualizing LAMMPS snapshots :link(howto_11),h4 @@ -2955,6 +2957,130 @@ property/atom"_compute_property_atom.html. It enables to output all the per atom magnetic quantities. Typically, the orientation of a given magnetic spin, or the magnetic force acting on this spin. +:line + +6.29 Using LAMMPS in client/server mode :link(howto_29),h4 + +Client/server coupling of two codes is where one code is the "client" +and sends request messages to a "server" code. The server responds to +each request with a reply message. This enables the two codes to work +in tandem to perform a simulation. LAMMPS can act as either a client +or server code. + +Some advantages of client/server coupling are that the two codes run +as stand-alone executables; they are not linked together. Thus +neither code needs to have a library interface. This often makes it +easier to run the two codes on different numbers of processors. If a +message protocol (format and content) is defined for a particular kind +of simulation, then in principle any code that implements the +client-side protocol can be used in tandem with any code that +implements the server-side protocol, without the two codes needing to +know anything more specific about each other. + +A simple example of client/server coupling is where LAMMPS is the +client code performing MD timestepping. Each timestep it sends a +message to a server quantum code containing current coords of all the +atoms. The quantum code computes energy and forces based on the +coords. It returns them as a message to LAMMPS, which completes the +timestep. + +Alternate methods for code coupling with LAMMPS are described in "this +section"_#howto10. + +LAMMPS support for client/server coupling is in its "MESSAGE +package"_Section_package.html#MESSAGE which implements several +commands that enable LAMMPS to act as a client or server, as discussed +below. The MESSAGE package also wraps a client/server library called +CSlib which enables two codes to exchange messages in different ways, +either via files, a socket, or MPI. The CSlib is provided with LAMMPS +in the lib/message dir. It has its own +"website"_http://cslib.sandia.gov (as of Aug 2018) with documentation +and test programs. + +NOTE: For client/server coupling to work between LAMMPS and another +code, the other code also has to use the CSlib. This can sometimes be +done without any modifications to the other code by simply wrapping it +with a Python script that exchanges CSlib messages with LAMMPS and +prepares input for or processes output from the other code. The other +code also has to implement a matching protocol for the format and +content of messages that LAMMPS exchanges with it. + +These are the commands currently in the MESSAGE package for two +protocols, MD and MC (Monte Carlo). New protocols can easily be +defined and added to this directory, where LAMMPS acts as either the +client or server. + +"message"_message.html +"fix client md"_fix_client_md.html = LAMMPS is a client for running MD +"server md"_server_md.html = LAMMPS is a server for computing MD forces +"server mc"_server_mc.html = LAMMPS is a server for computing a Monte Carlo energy + +The server doc files give details of the message protocols +for data that is exchanged bewteen the client and server. + +These example directories illustrate how to use LAMMPS as either a +client or server code: + +examples/message +examples/COUPLE/README +examples/COUPLE/lammps_mc +examples/COUPLE/lammps_vasp :ul + +The examples/message dir couples a client instance of LAMMPS to a +server instance of LAMMPS. + +The lammps_mc dir shows how to couple LAMMPS as a server to a simple +Monte Carlo client code as the driver. + +The lammps_vasp dir shows how to couple LAMMPS as a client code +running MD timestepping to VASP acting as a server providing quantum +DFT forces, thru a Python wrapper script on VASP. + +Here is how to launch a client and server code together for any of the +4 modes of message exchange that the "message"_message.html command +and the CSlib support. Here LAMMPS is used as both the client and +server code. Another code could be subsitituted for either. + +The examples below show launching both codes from the same window (or +batch script), using the "&" character to launch the first code in the +background. For all modes except {mpi/one}, you could also launch the +codes in separate windows on your desktop machine. It does not +matter whether you launch the client or server first. + +In these examples either code can be run on one or more processors. +If running in a non-MPI mode (file or zmq) you can launch a code on a +single processor without using mpirun. + +IMPORTANT: If you run in mpi/two mode, you must launch both codes via +mpirun, even if one or both of them runs on a single processor. This +is so that MPI can figure out how to connect both MPI processes +together to exchange MPI messages between them. + +For message exchange in {file}, {zmq}, or {mpi/two} modes: + +% mpirun -np 1 lmp_mpi -log log.client < in.client & +% mpirun -np 2 lmp_mpi -log log.server < in.server :pre + +% mpirun -np 4 lmp_mpi -log log.client < in.client & +% mpirun -np 1 lmp_mpi -log log.server < in.server :pre + +% mpirun -np 2 lmp_mpi -log log.client < in.client & +% mpirun -np 4 lmp_mpi -log log.server < in.server :pre + +For message exchange in {mpi/one} mode: + +Launch both codes in a single mpirun command: + +mpirun -np 2 lmp_mpi -mpi 2 -in in.message.client -log log.client : -np 4 lmp_mpi -mpi 2 -in in.message.server -log log.server + +The two -np values determine how many procs the client and the server +run on. + +A LAMMPS executable run in this manner must use the -mpi P +command-line option as their first option, where P is the number of +processors the first code in the mpirun command (client or server) is +running on. + :line :line diff --git a/doc/src/Section_packages.txt b/doc/src/Section_packages.txt index 218866e271..a572574fa2 100644 --- a/doc/src/Section_packages.txt +++ b/doc/src/Section_packages.txt @@ -100,6 +100,7 @@ Package, Description, Doc page, Example, Library "MANYBODY"_#MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, - "MC"_#MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, -, - "MEAM"_#MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int +"MESSAGE"_#MESSAGE, client/server messaging, "message"_message.html, message, int "MISC"_#MISC, miscellanous single-file commands, -, -, - "MOLECULE"_#MOLECULE, molecular system force fields, "Section 6.6.3"_Section_howto.html#howto_3, peptide, - "MPIIO"_#MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, -, - @@ -879,6 +880,52 @@ examples/meam :ul :line +MESSAGE package :link(MESSAGE),h4 + +[Contents:] + +Commands to use LAMMPS as either a client or server +and couple it to another application. + +[Install or un-install:] + +Before building LAMMPS with this package, you must first build the +CSlib library in lib/message. You can do this manually if you prefer; +follow the instructions in lib/message/README. You can also do it in +one step from the lammps/src dir, using a command like these, which +simply invoke the lib/message/Install.py script with the specified +args: + +make lib-message # print help message +make lib-message args="-m -z" # build with MPI and socket (ZMQ) support +make lib-message args="-s" # build as serial lib with no ZMQ support + +The build should produce two files: lib/message/cslib/src/libmessage.a +and lib/message/Makefile.lammps. The latter is copied from an +existing Makefile.lammps.* and has settings to link with the +open-source ZMQ library if requested in the build. + +You can then install/un-install the package and build LAMMPS in the +usual manner: + +make yes-message +make machine :pre + +make no-message +make machine :pre + +[Supporting info:] + +src/MESSAGE: filenames -> commands +lib/message/README +"message"_message.html +"fix client/md"_fix_client_md.html +"server md"_server_md.html +"server mc"_server_mc.html +examples/message :ul + +:line + MISC package :link(MISC),h4 [Contents:] diff --git a/doc/src/Section_start.txt b/doc/src/Section_start.txt index 7d456171dc..f38339661b 100644 --- a/doc/src/Section_start.txt +++ b/doc/src/Section_start.txt @@ -1204,6 +1204,7 @@ letter abbreviation can be used: -i or -in -k or -kokkos -l or -log +-m or -mpi -nc or -nocite -pk or -package -p or -partition @@ -1351,6 +1352,24 @@ specified file is "none", then no log files are created. Using a "log"_log.html command in the input script will override this setting. Option -plog will override the name of the partition log files file.N. +-mpi P :pre + +If used, this must be the first command-line argument after the LAMMPS +executable name. It is only used when running LAMMPS in client/server +mode with the "mpi/one" mode of messaging provided by the +"message"_message.html command and the CSlib library LAMMPS links with +from the lib/message directory. See the "message"_message.html +command for more details + +In the mpi/one mode of messaging, both executables (the client and the +server) are launched by one mpirun command. P should be specified as +the number of processors (MPI tasks) the first executable is running +on (could be the client or the server code). + +This information is required so that both codes can shrink the +MPI_COMM_WORLD communicator they are part of to the subset of +processors they are actually running on. + -nocite :pre Disable writing the log.cite file which is normally written to list diff --git a/doc/src/fix_client_md.txt b/doc/src/fix_client_md.txt new file mode 100644 index 0000000000..53cd7c36c2 --- /dev/null +++ b/doc/src/fix_client_md.txt @@ -0,0 +1,105 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix client/md command :h3 + +[Syntax:] + +fix ID group-ID client/md :pre + +ID, group-ID are documented in "fix"_fix.html command +client/md = style name of this fix command :ul + +[Examples:] + +fix 1 all client/md :pre + +[Description:] + +This fix style enables LAMMPS to run as a "client" code and +communicate each timestep with a separate "server" code to perform an +MD simulation together. + +"This section"_Section_howto.html#howto_29 gives an overview of +client/server coupling of LAMMPS with another code where one code is +the "client" and sends request messages to a "server" code. The +server responds to each request with a reply message. This enables +the two codes to work in tandem to perform a simulation. + +When using this fix, LAMMPS (as the client code) passes the current +coordinates of all particles to the server code each timestep, which +computes their interaction, and returns the energy, forces, and virial +for the interacting particles to LAMMPS, so it can complete the +timestep. + +The server code could be a quantum code, or another classical MD code +which encodes a force field (pair_style in LAMMPS lingo) which LAMMPS +does not have. In the quantum case, this fix is a mechanism for +running {ab initio} MD with quantum forces. + +The group associated with this fix is ignored. + +The protocol for message format and content that LAMMPS exchanges with +the server code is defined on the "server md"_server_md.html doc page. + +Note that when using LAMMPS in this mode, your LAMMPS input script +should not normally contain force field commands, like a +"pair_style"_doc/pair_style.html, "bond_style"_doc/bond_style.html, or +"kspace_style"_kspace_style.html commmand. However it is possible for +a server code to only compute a portion of the full force-field, while +LAMMPS computes the remaining part. Your LAMMPS script can also +specify boundary conditions or force constraints in the usual way, +which will be added to the per-atom forces returned by the server +code. + +See the examples/message dir for example scripts where LAMMPS is both +the "client" and/or "server" code for this kind of client/server MD +simulation. The examples/message/README file explains how to launch +LAMMPS and another code in tandem to perform a coupled simulation. + +:line + +[Restart, fix_modify, output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the potential energy computed by the server application to +the system's potential energy as part of "thermodynamic +output"_thermo_style.html. + +The "fix_modify"_fix_modify.html {virial} option is supported by this +fix to add the server application's contribution to the system's +virial as part of "thermodynamic output"_thermo_style.html. The +default is {virial yes} + +This fix computes a global scalar which can be accessed by various +"output commands"_Section_howto.html#howto_15. The scalar is the +potential energy discussed above. The scalar value calculated by this +fix is "extensive". + +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + +[Restrictions:] + +This fix is part of the MESSAGE package. It is only enabled if LAMMPS +was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +A script that uses this command must also use the +"message"_message.html command to setup the messaging protocol with +the other server code. + +[Related commands:] + +"message"_message.html, "server"_server.html + +[Default:] none diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 06f4bf3718..a75f2469ca 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -67,6 +67,7 @@ label.html lattice.html log.html mass.html +message.html min_modify.html min_style.html minimize.html @@ -94,6 +95,9 @@ reset_timestep.html restart.html run.html run_style.html +server.html +server_mc.html +server_md.html set.html shell.html special_bonds.html @@ -140,7 +144,8 @@ fix_bond_break.html fix_bond_create.html fix_bond_react.html fix_bond_swap.html -fix_box_relax.html +fix_box_relax.htmlf +fix_client_md.html fix_cmap.html fix_colvars.html fix_controller.html @@ -283,8 +288,6 @@ fix_vector.html fix_viscosity.html fix_viscous.html fix_wall.html -fix_wall_body_polygon.html -fix_wall_body_polyhedron.html fix_wall_ees.html fix_wall_gran.html fix_wall_gran_region.html @@ -426,9 +429,8 @@ pair_agni.html pair_airebo.html pair_awpmd.html pair_beck.html -pair_body_nparticle.html +pair_body.html pair_body_rounded_polygon.html -pair_body_rounded_polyhedron.html pair_bop.html pair_born.html pair_brownian.html diff --git a/doc/src/message.txt b/doc/src/message.txt new file mode 100644 index 0000000000..bbea48f0f1 --- /dev/null +++ b/doc/src/message.txt @@ -0,0 +1,159 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +message command :h3 + +[Syntax:] + +message which protocol mode arg :pre + +which = {client} or {server} :ulb,l +protocol = {md} or {mc} :l +mode = {file} or {zmq} or {mpi/one} or {mpi/two} :l + {file} arg = filename + filename = file used for message exchanges + {zmq} arg = socket-ID + socket-ID for client = localhost:5555, see description below + socket-ID for server = *:5555, see description below + {mpi/one} arg = none + {mpi/two} arg = filename + filename = file used to establish communication bewteen 2 MPI jobs :pre +:ule + +[Examples:] + +message client md file tmp.couple +message server md file tmp.couple :pre + +message client md zmq localhost:5555 +message server md zmq *:5555 :pre + +message client md mpi/one +message server md mpi/one :pre + +message client md mpi/two tmp.couple +message server md mpi/two tmp.couple :pre + +[Description:] + +Establish a messaging protocol between LAMMPS and another code for the +purpose of client/server coupling. + +"This section"_Section_howto.html#howto_29 gives an overview of +client/server coupling of LAMMPS with another code where one code is +the "client" and sends request messages to a "server" code. The +server responds to each request with a reply message. This enables +the two codes to work in tandem to perform a simulation. + +:line + +The {which} argument defines LAMMPS to be the client or the server. + +:line + +The {protocol} argument defines the format and content of messages +that will be exchanged between the two codes. The current options +are: + +md = run dynamics with another code +mc = perform Monte Carlo moves with another code :ul + +For protocol {md}, LAMMPS can be either a client or server. See the +"server md"_server_md.html doc page for details on the protocol. + +For protocol {mc}, LAMMPS can be the server. See the "server +mc"_server_mc.html doc page for details on the protocol. + +:line + +The {mode} argument specifies how messages are exchanged between the +client and server codes. Both codes must use the same mode and use +consistent parameters. + +For mode {file}, the 2 codes communicate via binary files. They must +use the same filename, which is actually a file prefix. Several files +with that prefix will be created and deleted as a simulation runs. +The filename can include a path. Both codes must be able to access +the path/file in a common filesystem. + +For mode {zmq}, the 2 codes communicate via a socket on the server +code's machine. The client specifies an IP address (IPv4 format) or +the DNS name of the machine the server code is running on, followed by +a 4-digit port ID for the socket, separated by a colon. E.g. + +localhost:5555 # client and server running on same machine +192.168.1.1:5555 # server is 192.168.1.1 +deptbox.uni.edu:5555 # server is deptbox.uni.edu :pre + +The server specifes "*:5555" where "*" represents all available +interfaces on the server's machine, and the port ID must match +what the client specifies. + +NOTE: What are allowed port IDs? + +NOTE: Additional explanation is needed here about how to use the {zmq} +mode on a parallel machine, e.g. a cluster with many nodes. + +For mode {mpi/one}, the 2 codes communicate via MPI and are launched +by the same mpirun command, e.g. with this syntax for OpenMPI: + +mpirun -np 2 lmp_mpi -mpi 2 -in in.client -log log.client : -np 4 othercode args # LAMMPS is client +mpirun -np 2 othercode args : -np 4 lmp_mpi -mpi 2 -in in.server # LAMMPS is server :pre + +Note the use of the "-mpi P" command-line argument with LAMMPS. See +the "command-line args"_Section_start.html#start_6 doc page for +further explanation. + +For mode {mpi/two}, the 2 codes communicate via MPI, but are launched +be 2 separate mpirun commands. The specified {filename} argument is a +file the 2 MPI processes will use to exchange info so that an MPI +inter-communicator can be established to enable the 2 codes to send +MPI messages to each other. Both codes must be able to access the +path/file in a common filesystem. + +:line + +Normally, the message command should be used at the top of a LAMMPS +input script. It performs an initial handshake with the other code to +setup messaging and to verify that both codes are using the same +message protocol and mode. Assuming both codes are launched at +(nearly) the same time, the other code should perform the same kind of +initialization. + +If LAMMPS is the client code, it will begin sending messages when a +LAMMPS client command begins its operation. E.g. for the "fix +client/md"_fix_client_md.html command, it is when a "run"_run.html +command is executed. + +If LAMMPS is the server code, it will begin receiving messages when +the "server"_server.html command is invoked. + +A fix client command will terminate its messaging with the server when +LAMMPS ends, or the fix is deleted via the "unfix"_unfix command. The +server command will terminate its messaging with the client when the +client signals it. Then the remainder of the LAMMPS input script will +be processed. + +If both codes do something similar, this means a new round of +client/server messaging can be initiated after termination by re-using +a 2nd message command in your LAMMPS input script, followed by a new +fix client or server command. + +:line + +[Restrictions:] + +This command is part of the MESSAGE package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +[Related commands:] + +"server"_server.html, "fix client/md"_fix_client_md.html + +[Default:] none diff --git a/doc/src/server.txt b/doc/src/server.txt new file mode 100644 index 0000000000..ba6daa7fcf --- /dev/null +++ b/doc/src/server.txt @@ -0,0 +1,71 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +server command :h3 + +[Syntax:] + +server protocol :pre + +protocol = {md} or {mc} :ul + +[Examples:] + +server md :pre + +[Description:] + +This command starts LAMMPS running in "server" mode, where it receives +messages from a separate "client" code and responds by sending a reply +message back to the client. The specified {protocol} determines the +format and content of messages LAMMPS expects to receive and how it +responds. + +"This section"_Section_howto.html#howto_29 gives an overview of +client/server coupling of LAMMPS with another code where one code is +the "client" and sends request messages to a "server" code. The +server responds to each request with a reply message. This enables +the two codes to work in tandem to perform a simulation. + +When this command is invoked, LAMMPS will run in server mode in an +endless loop, waiting for messages from the client code. The client +signals when it is done sending messages to LAMMPS, at which point the +loop will exit, and the remainder of the LAMMPS script will be +processed. + +The {protocol} argument defines the format and content of messages +that will be exchanged between the two codes. The current options +are: + +"md"_server_md.html = run dynamics with another code +"mc"_server_mc.html = perform Monte Carlo moves with another code :ul + +For protocol {md}, LAMMPS can be either a client (via the "fix +client/md"_fix_client_md.html command) or server. See the "server +md"_server_md.html doc page for details on the protocol. + +For protocol {mc}, LAMMPS can be the server. See the "server +mc"_server_mc.html doc page for details on the protocol. + +:line + +[Restrictions:] + +This command is part of the MESSAGE package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +A script that uses this command must also use the +"message"_message.html command to setup the messaging protocol with +the other client code. + +[Related commands:] + +"message"_message.html, "fix client/md"_fix_client_md.html + +[Default:] none diff --git a/doc/src/server_mc.txt b/doc/src/server_mc.txt new file mode 100644 index 0000000000..44335efc95 --- /dev/null +++ b/doc/src/server_mc.txt @@ -0,0 +1,112 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +server mc command :h3 + +[Syntax:] + +server mc :pre + +mc = the protocol argument to the "server"_server.html command + +[Examples:] + +server mc :pre + +[Description:] + +This command starts LAMMPS running in "server" mode, where it will +expect messages from a separate "client" code that match the {mc} +protocol for format and content explained below. For each message +LAMMPS receives it will send a message back to the client. + +"This section"_Section_howto.html#howto_29 gives an overview of +client/server coupling of LAMMPS with another code where one code is +the "client" and sends request messages to a "server" code. The +server responds to each request with a reply message. This enables +the two codes to work in tandem to perform a simulation. + +When this command is invoked, LAMMPS will run in server mode in an +endless loop, waiting for messages from the client code. The client +signals when it is done sending messages to LAMMPS, at which point the +loop will exit, and the remainder of the LAMMPS script will be +processed. + +See an example of how this command is used in +examples/COUPLE/lammps_mc/in.server. + +:line + +When using this command, LAMMPS (as the server code) receives +instructions from a Monte Carlo (MC) driver to displace random atoms, +compute the energy before and after displacement, and run dynamics to +equilibrate the system. + +The MC driver performs the random displacements on random atoms, +accepts or rejects the move in an MC sense, and orchestrates the MD +runs. + +The format and content of the exchanged messages are explained here in +a conceptual sense. Python-style pseudo code for the library calls to +the CSlib is shown, which performs the actual message exchange between +the two codes. See the "CSlib website"_http://cslib.sandia.gov doc +pages for more details on the actual library syntax (as of Aug 2018). +The "cs" object in this pseudo code is an instance of the CSlib that +both the client and server codes store. + +See the src/MESSAGE/server_mc.cpp file for details on how LAMMPS uses +these messages. See the examples/COUPLE/lammmps_mc/mc.cpp file for an +example of how an MC driver code can use these messages. + +Let NATOMS=1, EINIT=2, DISPLACE=3, ACCEPT=4, RUN=5. + +[Client sends one of these kinds of message]: + +cs.send(NATOMS,0) # msgID = 1 with no fields :pre + +cs.send(EINIT,0) # msgID = 2 with no fields :pre + +cs.send(DISPLACE,2) # msgID = 3 with 2 fields +cs.pack(1,1,ID) # 1st field = ID of atom to displace +cs.pack(2,3,xnew) # 2nd field = new xyz coords of displaced atom :pre + +cs.send(ACCEPT,1) # msgID = 4 with 1 field +cs.pack(1,1,flag) # 1st field = accept/reject flag :pre + +cs.send(RUN,1) # msgID = 5 with 1 field +cs.pack(1,1,nsteps) # 1st field = # of timesteps to run MD :pre + +[Server replies]: + +cs.send(NATOMS,1) # msgID = 1 with 1 field +cs.pack(1,1,Natoms) # 1st field = number of atoms :pre + +cs.send(EINIT,2) # msgID = 2 with 2 fields +cs.pack(1,1,poteng) # 1st field = potential energy of system +cs.pack(2,3*Natoms,x) # 2nd field = 3N coords of Natoms :pre + +cs.send(DISPLACE,1) # msgID = 3 with 1 field +cs.pack(1,1,poteng) # 1st field = new potential energy of system :pre + +cs.send(ACCEPT,0) # msgID = 4 with no fields + +cs.send(RUN,0) # msgID = 5 with no fields + +:line + +[Restrictions:] + +This command is part of the MESSAGE package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +[Related commands:] + +"message"_message.html + +[Default:] none diff --git a/doc/src/server_md.txt b/doc/src/server_md.txt new file mode 100644 index 0000000000..422b207bed --- /dev/null +++ b/doc/src/server_md.txt @@ -0,0 +1,122 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +server md command :h3 + +[Syntax:] + +server md :pre + +md = the protocol argument to the "server"_server.html command + +[Examples:] + +server md :pre + +[Description:] + +This command starts LAMMPS running in "server" mode, where it will +expect messages from a separate "client" code that match the {md} +protocol for format and content explained below. For each message +LAMMPS receives it will send a message back to the client. + +"This section"_Section_howto.html#howto_29 gives an overview of +client/server coupling of LAMMPS with another code where one code is +the "client" and sends request messages to a "server" code. The +server responds to each request with a reply message. This enables +the two codes to work in tandem to perform a simulation. + +When this command is invoked, LAMMPS will run in server mode in an +endless loop, waiting for messages from the client code. The client +signals when it is done sending messages to LAMMPS, at which point the +loop will exit, and the remainder of the LAMMPS script will be +processed. + +See an example of how this command is used in +examples/message/in.message.server. + +:line + +When using this command, LAMMPS (as the server code) receives the +current coordinates of all particles from the client code each +timestep, computes their interaction, and returns the energy, forces, +and virial for the interacting particles to the client code, so it can +complete the timestep. This command could also be used with a client +code that performs energy minimization, using the server to compute +forces and energy each iteration of its minimizer. + +When using the "fix client/md" command, LAMMPS (as the client code) +does the timestepping and receives needed energy, forces, and virial +values from the server code. + +The format and content of the exchanged messages are explained here in +a conceptual sense. Python-style pseudo code for the library calls to +the CSlib is shown, which performs the actual message exchange between +the two codes. See the "CSlib website"_http://cslib.sandia.gov doc +pages for more details on the actual library syntax (as of Aug 2018). +The "cs" object in this pseudo code is an instance of the CSlib that +both the client and server codes store. + +See the src/MESSAGE/server_md.cpp and src/MESSAGE/fix_client_md.cpp +files for details on how LAMMPS uses these messages. See the +examples/COUPLE/lammps_vasp/vasp_wrapper.py file for an example of how +a quantum code (VASP) can use use these messages. + +The following code uses these values, defined as enums in LAMMPS: + +enum{SETUP=1,STEP}; +enum{UNITS=1,DIM,NATOMS,NTYPES,BOXLO,BOXHI,BOXTILT,TYPES,COORDS,CHARGE}; +enum{FORCES=1,ENERGY,VIRIAL}; :pre + +[Client sends 2 kinds of messages]: + +# required fields: NATOMS, NTYPES, BOXLO, BOXHI, TYPES, COORDS +# optional fields: others in 2nd enum above :pre + +cs.send(SETUP,nfields) # msgID with nfields :pre + +cs.pack_string(UNITS,units) # units = "lj", "real", "metal", etc +cs.pack_int(NATOMS,natoms) # total numer of atoms +cs.pack_int(NTYPES,ntypes) # number of atom types +cs.pack(BOXLO,3,boxlo) # 3-vector of lower box bounds +cs.pack(BOXHI,3,boxhi) # 3-vector of upper box bounds +cs.pack(BOXTILT,3,boxtilt) # 3-vector of tilt factors for triclinic boxes +cs.pack(TYPES,natoms,type) # vector of per-atom types +cs.pack(COORDS,3*natoms,x) # vector of 3N atom coords +cs.pack(CHARGE,natoms,q) # vector of per-atom charge :pre + +# required fields: COORDS +# optional fields: BOXLO, BOXHI, BOXTILT :pre + +cs.send(STEP,nfields) # msgID with nfields :pre + +cs.pack_int(NATOMS,natoms) # total numer of atoms +cs.pack_int(NTYPES,ntypes) # number of atom types +cs.pack(BOXLO,3,boxlo) # 3-vector of lower box bounds +cs.pack(BOXTILT,3,boxtilt) # 3-vector of tilt factors for triclinic boxes :pre + +[Server replies to either kind of message]: + +cs.send(msgID,3) # msgID = 1 with 3 fields +cs.pack(FORCES,3*Natoms,f) # vector of 3N forces on atoms +cs.pack(ENERGY,1,poteng) # total potential energy of system +cs.pack(VIRIAL,6,virial) # global virial tensor (6-vector) :pre + +:line + +[Restrictions:] + +This command is part of the MESSAGE package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +[Related commands:] + +"message"_message.html, "fix client/md"_fix_client_md.html + +[Default:] none diff --git a/examples/COUPLE/README b/examples/COUPLE/README index 83e7463531..2d09ed7d4b 100644 --- a/examples/COUPLE/README +++ b/examples/COUPLE/README @@ -10,6 +10,7 @@ See these sections of the LAMMPS manaul for details: 2.5 Building LAMMPS as a library (doc/Section_start.html#start_5) 6.10 Coupling LAMMPS to other codes (doc/Section_howto.html#howto_10) +6.29 Using LAMMPS in client/server mode (doc/Section_howto.html#howto_29) In all of the examples included here, LAMMPS must first be built as a library. Basically, in the src dir you type one of @@ -33,9 +34,11 @@ These are the sub-directories included in this directory: simple simple example of driver code calling LAMMPS as a lib multiple example of driver code calling multiple instances of LAMMPS +lammps_mc client/server coupling Monte Carlo with LAMMPS MD lammps_quest MD with quantum forces, coupling to Quest DFT code lammps_spparks grain-growth Monte Carlo with strain via MD, coupling to SPPARKS kinetic MC code +lammps_vasp client/server coupling LAMMPS MD with VASP quantum DFT library collection of useful inter-code communication routines fortran a simple wrapper on the LAMMPS library API that can be called from Fortran diff --git a/examples/COUPLE/lammps_mc/Makefile b/examples/COUPLE/lammps_mc/Makefile new file mode 100644 index 0000000000..821eb58134 --- /dev/null +++ b/examples/COUPLE/lammps_mc/Makefile @@ -0,0 +1,34 @@ +# Makefile for MC + +SHELL = /bin/sh + +SRC = mc.cpp random_park.cpp +OBJ = $(SRC:.cpp=.o) + +# change this line for your machine to path for CSlib src dir + +CSLIB = /home/sjplimp/lammps/lib/message/cslib/src + +# compiler/linker settings + +CC = g++ +CCFLAGS = -g -O3 -I$(CSLIB) +LINK = g++ +LINKFLAGS = -g -O -L$(CSLIB) + +# targets + +mc: $(OBJ) +# this line if built the CSlib within lib/message with ZMQ support +# note this is using the serial (no-mpi) version of the CSlib + $(LINK) $(LINKFLAGS) $(OBJ) -lcsnompi -lzmq -o mc +# this line if built the CSlib without ZMQ support +# $(LINK) $(LINKFLAGS) $(OBJ) -lcsnompi -o mc + +clean: + @rm -f *.o mc + +# rules + +%.o:%.cpp + $(CC) $(CCFLAGS) -c $< diff --git a/examples/COUPLE/lammps_mc/README b/examples/COUPLE/lammps_mc/README new file mode 100644 index 0000000000..512f7304de --- /dev/null +++ b/examples/COUPLE/lammps_mc/README @@ -0,0 +1,106 @@ +Sample Monte Carlo (MC) wrapper on LAMMPS via client/server coupling + +See the MESSAGE package (doc/Section_messages.html#MESSAGE) +and Section_howto.html#howto10 for more details on how +client/server coupling works in LAMMPS. + +In this dir, the mc.cpp/h files are a standalone "client" MC code. It +should be run on a single processor, though it could become a parallel +program at some point. LAMMPS is also run as a standalone executable +as a "server" on as many processors as desired using its "server mc" +command; see it's doc page for details. + +Messages are exchanged between MC and LAMMPS via a client/server +library (CSlib), which is included in the LAMMPS distribution in +lib/message. As explained below you can choose to exchange data +between the two programs either via files or sockets (ZMQ). If the MC +program became parallel, data could also be exchanged via MPI. + +The MC code makes simple MC moves, by displacing a single random atom +by a small random amount. It uses LAMMPS to calculate the energy +change, and to run dynamics between MC moves. + +---------------- + +Build LAMMPS and the MC client code + +First, build LAMMPS with its MESSAGE package installed: + +cd lammps/lib/message +python Install.py -m -z # build CSlib with MPI and ZMQ support +cd lammps/src +make yes-message +make mpi + +You can leave off the -z if you do not have ZMQ on your system. + +Next build the MC client code: + +First edit the Makefile in this dir. The CSLIB variable should be the +path to where the LAMMPS lib/message dir is on your system. If you +built the CSlib without ZMQ support you will also need to +comment/uncomment two lines. Then you can just type "make" and you +should get an "mc" executable. + +---------------- + +To run in client/server mode: + +Both the client (MC) and server (LAMMPS) must use the same messaging +mode, namely file or zmq. This is an argument to the MC code; it can +be selected by setting the "mode" variable when you run LAMMPS. The +default mode = file. + +Here we assume LAMMPS was built to run in parallel, and the MESSAGE +package was installed with socket (ZMQ) support. This means either of +the messaging modes can be used and LAMMPS can be run in serial or +parallel. The MC code is always run in serial. + +When you run, the server should print out thermodynamic info +for every MD run it performs (between MC moves). The client +will print nothing until the simulation ends, then it will +print stats about the accepted MC moves. + +The examples below are commands you should use in two different +terminal windows. The order of the two commands (client or server +launch) does not matter. You can run them both in the same window if +you append a "&" character to the first one to run it in the +background. + +-------------- + +File mode of messaging: + +% mpirun -np 1 mc in.mc file tmp.couple +% mpirun -np 1 lmp_mpi -v mode file < in.mc.server + +% mpirun -np 1 mc in.mc file tmp.couple +% mpirun -np 4 lmp_mpi -v mode file < in.mc.server + +ZMQ mode of messaging: + +% mpirun -np 1 mc in.mc zmq localhost:5555 +% mpirun -np 1 lmp_mpi -v mode zmq < in.mc.server + +% mpirun -np 1 mc in.mc zmq localhost:5555 +% mpirun -np 4 lmp_mpi -v mode zmq < in.mc.server + +-------------- + +The input script for the MC program is in.mc. You can edit it to run +longer simulations. + +500 nsteps = total # of steps of MD +100 ndynamics = # of MD steps between MC moves +0.1 delta = displacement size of MC move +1.0 temperature = used in MC Boltzman factor +12345 seed = random number seed + +-------------- + +The problem size that LAMMPS is computing the MC energy for and +running dynamics on is set by the x,y,z variables in the LAMMPS +in.mc.server script. The default size is 500 particles. You can +adjust the size as follows: + +lmp_mpi -v x 10 -v y 10 -v z 20 # 8000 particles diff --git a/examples/COUPLE/lammps_mc/in.mc b/examples/COUPLE/lammps_mc/in.mc new file mode 100644 index 0000000000..85052d09f1 --- /dev/null +++ b/examples/COUPLE/lammps_mc/in.mc @@ -0,0 +1,7 @@ +# MC params + +500 nsteps +100 ndynamics +0.1 delta +1.0 temperature +12345 seed diff --git a/examples/COUPLE/lammps_mc/in.mc.server b/examples/COUPLE/lammps_mc/in.mc.server new file mode 100644 index 0000000000..8b10bb0f7b --- /dev/null +++ b/examples/COUPLE/lammps_mc/in.mc.server @@ -0,0 +1,36 @@ +# 3d Lennard-Jones Monte Carlo server script + +variable mode index file + +if "${mode} == file" then & + "message server mc file tmp.couple" & +elif "${mode} == zmq" & + "message server mc zmq *:5555" & + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +velocity all create 1.44 87287 loop geom + +fix 1 all nve + +thermo 50 + +server mc diff --git a/examples/COUPLE/lammps_mc/log.23Jul18.file.g++.1 b/examples/COUPLE/lammps_mc/log.23Jul18.file.g++.1 new file mode 100644 index 0000000000..34e016e0c1 --- /dev/null +++ b/examples/COUPLE/lammps_mc/log.23Jul18.file.g++.1 @@ -0,0 +1,254 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones Monte Carlo server script + +variable mode index file + +if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555" +message server mc file tmp.couple +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000633001 secs +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +velocity all create 1.44 87287 loop geom + +fix 1 all nve + +thermo 50 + +server mc +run 0 +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 +Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms + +52.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.907e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19500 ave 19500 max 19500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19500 +Ave neighs/atom = 39 +Neighbor list builds = 0 +Dangerous builds not checked +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 +Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms + +46.6% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.146e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19501 ave 19501 max 19501 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19501 +Ave neighs/atom = 39.002 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 + 50 0.70239211 -5.6763152 0 -4.6248342 0.59544428 + 100 0.7565013 -5.757431 0 -4.6249485 0.21982657 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.7565013 -5.7565768 0 -4.6240944 0.22436405 +Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms + +157.3% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.907e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1939 ave 1939 max 1939 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18757 ave 18757 max 18757 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18757 +Ave neighs/atom = 37.514 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.7565013 -5.757431 0 -4.6249485 0.21982657 + 150 0.76110797 -5.7664315 0 -4.6270529 0.16005254 + 200 0.73505651 -5.7266069 0 -4.6262273 0.34189744 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73505651 -5.7181381 0 -4.6177585 0.37629943 +Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms + +209.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.537e-07 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1899 ave 1899 max 1899 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18699 ave 18699 max 18699 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18699 +Ave neighs/atom = 37.398 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73505651 -5.7266069 0 -4.6262273 0.34189744 + 250 0.73052476 -5.7206316 0 -4.627036 0.39287516 + 300 0.76300831 -5.7675007 0 -4.6252773 0.16312925 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76300831 -5.768304 0 -4.6260806 0.15954325 +Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms + +314.6% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.537e-07 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1903 ave 1903 max 1903 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18715 ave 18715 max 18715 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18715 +Ave neighs/atom = 37.43 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76300831 -5.768304 0 -4.6260806 0.15954325 + 350 0.72993309 -5.7193261 0 -4.6266162 0.3358374 + 400 0.72469448 -5.713463 0 -4.6285954 0.44859547 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.72469448 -5.7077332 0 -4.6228655 0.47669832 +Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms + +314.6% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.537e-07 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1899 ave 1899 max 1899 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18683 ave 18683 max 18683 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18683 +Ave neighs/atom = 37.366 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.72469448 -5.713463 0 -4.6285954 0.44859547 + 450 0.75305735 -5.7518283 0 -4.6245015 0.34658587 + 500 0.73092571 -5.7206337 0 -4.6264379 0.43715809 +Total wall time: 0:00:02 diff --git a/examples/COUPLE/lammps_mc/log.23Jul18.file.g++.4 b/examples/COUPLE/lammps_mc/log.23Jul18.file.g++.4 new file mode 100644 index 0000000000..3b73e52595 --- /dev/null +++ b/examples/COUPLE/lammps_mc/log.23Jul18.file.g++.4 @@ -0,0 +1,254 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones Monte Carlo server script + +variable mode index file + +if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555" +message server mc file tmp.couple +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000604868 secs +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +velocity all create 1.44 87287 loop geom + +fix 1 all nve + +thermo 50 + +server mc +run 0 +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 +Loop time of 3.09944e-06 on 4 procs for 0 steps with 500 atoms + +72.6% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.099e-06 | | |100.00 + +Nlocal: 125 ave 125 max 125 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1099 ave 1099 max 1099 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 4875 ave 4875 max 4875 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19500 +Ave neighs/atom = 39 +Neighbor list builds = 0 +Dangerous builds not checked +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 +Loop time of 3.33786e-06 on 4 procs for 0 steps with 500 atoms + +119.8% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.338e-06 | | |100.00 + +Nlocal: 125 ave 125 max 125 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1099 ave 1099 max 1099 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 4875.25 ave 4885 max 4866 min +Histogram: 1 0 0 0 2 0 0 0 0 1 + +Total # of neighbors = 19501 +Ave neighs/atom = 39.002 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 + 50 0.70210225 -5.6759068 0 -4.6248598 0.59609192 + 100 0.75891559 -5.7611234 0 -4.6250267 0.20841608 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291 +Loop time of 3.51667e-06 on 4 procs for 0 steps with 500 atoms + +113.7% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.517e-06 | | |100.00 + +Nlocal: 125 ave 126 max 124 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 1085.25 ave 1089 max 1079 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Neighs: 4690.25 ave 4996 max 4401 min +Histogram: 1 0 0 1 0 1 0 0 0 1 + +Total # of neighbors = 18761 +Ave neighs/atom = 37.522 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291 + 150 0.75437991 -5.7558622 0 -4.6265555 0.20681722 + 200 0.73111257 -5.7193748 0 -4.6248993 0.35230715 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73111257 -5.7143906 0 -4.6199151 0.37126023 +Loop time of 2.92063e-06 on 4 procs for 0 steps with 500 atoms + +119.8% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.921e-06 | | |100.00 + +Nlocal: 125 ave 126 max 123 min +Histogram: 1 0 0 0 0 0 1 0 0 2 +Nghost: 1068.5 ave 1076 max 1063 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Neighs: 4674.75 ave 4938 max 4419 min +Histogram: 1 0 0 0 1 1 0 0 0 1 + +Total # of neighbors = 18699 +Ave neighs/atom = 37.398 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73111257 -5.7193748 0 -4.6248993 0.35230715 + 250 0.73873144 -5.7312505 0 -4.6253696 0.33061033 + 300 0.76392796 -5.7719207 0 -4.6283206 0.18197874 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628 +Loop time of 3.39746e-06 on 4 procs for 0 steps with 500 atoms + +117.7% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.397e-06 | | |100.00 + +Nlocal: 125 ave 128 max 121 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 1069 ave 1080 max 1055 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Neighs: 4672 ave 4803 max 4600 min +Histogram: 2 0 0 1 0 0 0 0 0 1 + +Total # of neighbors = 18688 +Ave neighs/atom = 37.376 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628 + 350 0.71953041 -5.7041632 0 -4.6270261 0.44866153 + 400 0.7319047 -5.7216051 0 -4.6259438 0.46321355 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.7319047 -5.7158168 0 -4.6201554 0.49192039 +Loop time of 3.39746e-06 on 4 procs for 0 steps with 500 atoms + +117.7% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.397e-06 | | |100.00 + +Nlocal: 125 ave 132 max 118 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 1057.5 ave 1068 max 1049 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 4685.75 ave 5045 max 4229 min +Histogram: 1 0 0 1 0 0 0 0 0 2 + +Total # of neighbors = 18743 +Ave neighs/atom = 37.486 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.7319047 -5.7216051 0 -4.6259438 0.46321355 + 450 0.74503154 -5.7405318 0 -4.6252196 0.33211879 + 500 0.70570501 -5.6824439 0 -4.6260035 0.62020788 +Total wall time: 0:00:02 diff --git a/examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.1 b/examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.1 new file mode 100644 index 0000000000..18af66d587 --- /dev/null +++ b/examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.1 @@ -0,0 +1,254 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones Monte Carlo server script + +variable mode index file + +if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555" +message server mc zmq *:5555 +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000612974 secs +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +velocity all create 1.44 87287 loop geom + +fix 1 all nve + +thermo 50 + +server mc +run 0 +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 +Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms + +46.6% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.146e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19500 ave 19500 max 19500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19500 +Ave neighs/atom = 39 +Neighbor list builds = 0 +Dangerous builds not checked +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 +Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms + +157.3% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.907e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19501 ave 19501 max 19501 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19501 +Ave neighs/atom = 39.002 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 + 50 0.70239211 -5.6763152 0 -4.6248342 0.59544428 + 100 0.7565013 -5.757431 0 -4.6249485 0.21982657 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.7565013 -5.7565768 0 -4.6240944 0.22436405 +Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms + +209.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.537e-07 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1939 ave 1939 max 1939 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18757 ave 18757 max 18757 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18757 +Ave neighs/atom = 37.514 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.7565013 -5.757431 0 -4.6249485 0.21982657 + 150 0.76110797 -5.7664315 0 -4.6270529 0.16005254 + 200 0.73505651 -5.7266069 0 -4.6262273 0.34189744 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73505651 -5.7181381 0 -4.6177585 0.37629943 +Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms + +209.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.537e-07 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1899 ave 1899 max 1899 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18699 ave 18699 max 18699 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18699 +Ave neighs/atom = 37.398 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73505651 -5.7266069 0 -4.6262273 0.34189744 + 250 0.73052476 -5.7206316 0 -4.627036 0.39287516 + 300 0.76300831 -5.7675007 0 -4.6252773 0.16312925 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76300831 -5.768304 0 -4.6260806 0.15954325 +Loop time of 0 on 1 procs for 0 steps with 500 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0 | | | 0.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1903 ave 1903 max 1903 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18715 ave 18715 max 18715 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18715 +Ave neighs/atom = 37.43 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76300831 -5.768304 0 -4.6260806 0.15954325 + 350 0.72993309 -5.7193261 0 -4.6266162 0.3358374 + 400 0.72469448 -5.713463 0 -4.6285954 0.44859547 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.72469448 -5.7077332 0 -4.6228655 0.47669832 +Loop time of 0 on 1 procs for 0 steps with 500 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0 | | | 0.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1899 ave 1899 max 1899 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18683 ave 18683 max 18683 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18683 +Ave neighs/atom = 37.366 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.72469448 -5.713463 0 -4.6285954 0.44859547 + 450 0.75305735 -5.7518283 0 -4.6245015 0.34658587 + 500 0.73092571 -5.7206337 0 -4.6264379 0.43715809 +Total wall time: 0:00:00 diff --git a/examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.4 b/examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.4 new file mode 100644 index 0000000000..480566635f --- /dev/null +++ b/examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.4 @@ -0,0 +1,254 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones Monte Carlo server script + +variable mode index file + +if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555" +message server mc zmq *:5555 +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000566006 secs +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +velocity all create 1.44 87287 loop geom + +fix 1 all nve + +thermo 50 + +server mc +run 0 +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 +Loop time of 4.29153e-06 on 4 procs for 0 steps with 500 atoms + +99.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 4.292e-06 | | |100.00 + +Nlocal: 125 ave 125 max 125 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1099 ave 1099 max 1099 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 4875 ave 4875 max 4875 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19500 +Ave neighs/atom = 39 +Neighbor list builds = 0 +Dangerous builds not checked +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 +Loop time of 3.57628e-06 on 4 procs for 0 steps with 500 atoms + +97.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.576e-06 | | |100.00 + +Nlocal: 125 ave 125 max 125 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1099 ave 1099 max 1099 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 4875.25 ave 4885 max 4866 min +Histogram: 1 0 0 0 2 0 0 0 0 1 + +Total # of neighbors = 19501 +Ave neighs/atom = 39.002 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 + 50 0.70210225 -5.6759068 0 -4.6248598 0.59609192 + 100 0.75891559 -5.7611234 0 -4.6250267 0.20841608 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291 +Loop time of 3.09944e-06 on 4 procs for 0 steps with 500 atoms + +121.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.099e-06 | | |100.00 + +Nlocal: 125 ave 126 max 124 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 1085.25 ave 1089 max 1079 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Neighs: 4690.25 ave 4996 max 4401 min +Histogram: 1 0 0 1 0 1 0 0 0 1 + +Total # of neighbors = 18761 +Ave neighs/atom = 37.522 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291 + 150 0.75437991 -5.7558622 0 -4.6265555 0.20681722 + 200 0.73111257 -5.7193748 0 -4.6248993 0.35230715 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73111257 -5.7143906 0 -4.6199151 0.37126023 +Loop time of 2.14577e-06 on 4 procs for 0 steps with 500 atoms + +139.8% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.146e-06 | | |100.00 + +Nlocal: 125 ave 126 max 123 min +Histogram: 1 0 0 0 0 0 1 0 0 2 +Nghost: 1068.5 ave 1076 max 1063 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Neighs: 4674.75 ave 4938 max 4419 min +Histogram: 1 0 0 0 1 1 0 0 0 1 + +Total # of neighbors = 18699 +Ave neighs/atom = 37.398 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73111257 -5.7193748 0 -4.6248993 0.35230715 + 250 0.73873144 -5.7312505 0 -4.6253696 0.33061033 + 300 0.76392796 -5.7719207 0 -4.6283206 0.18197874 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628 +Loop time of 1.90735e-06 on 4 procs for 0 steps with 500 atoms + +157.3% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.907e-06 | | |100.00 + +Nlocal: 125 ave 128 max 121 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 1069 ave 1080 max 1055 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Neighs: 4672 ave 4803 max 4600 min +Histogram: 2 0 0 1 0 0 0 0 0 1 + +Total # of neighbors = 18688 +Ave neighs/atom = 37.376 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628 + 350 0.71953041 -5.7041632 0 -4.6270261 0.44866153 + 400 0.7319047 -5.7216051 0 -4.6259438 0.46321355 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.7319047 -5.7158168 0 -4.6201554 0.49192039 +Loop time of 2.14577e-06 on 4 procs for 0 steps with 500 atoms + +151.5% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.146e-06 | | |100.00 + +Nlocal: 125 ave 132 max 118 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 1057.5 ave 1068 max 1049 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 4685.75 ave 5045 max 4229 min +Histogram: 1 0 0 1 0 0 0 0 0 2 + +Total # of neighbors = 18743 +Ave neighs/atom = 37.486 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.7319047 -5.7216051 0 -4.6259438 0.46321355 + 450 0.74503154 -5.7405318 0 -4.6252196 0.33211879 + 500 0.70570501 -5.6824439 0 -4.6260035 0.62020788 +Total wall time: 0:00:00 diff --git a/examples/COUPLE/lammps_mc/mc.cpp b/examples/COUPLE/lammps_mc/mc.cpp new file mode 100644 index 0000000000..24bb96641d --- /dev/null +++ b/examples/COUPLE/lammps_mc/mc.cpp @@ -0,0 +1,261 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov +------------------------------------------------------------------------- */ + +// MC code used with LAMMPS in client/server mode +// MC is the client, LAMMPS is the server + +// Syntax: mc infile mode modearg +// mode = file, zmq +// modearg = filename for file, localhost:5555 for zmq + +#include +#include +#include +#include + +#include "cslib.h" +using namespace CSLIB_NS; + +#include "mc.h" +#include "random_park.h" + +void error(const char *); +CSlib *cs_create(char *, char *); + +#define MAXLINE 256 + +/* ---------------------------------------------------------------------- */ + +// main program + +int main(int narg, char **arg) +{ + if (narg != 4) { + error("Syntax: mc infile mode modearg"); + exit(1); + } + + // initialize CSlib + + CSlib *cs = cs_create(arg[2],arg[3]); + + // create MC class and perform run + + MC *mc = new MC(arg[1],cs); + mc->run(); + + // final MC stats + + int naccept = mc->naccept; + int nattempt = mc->nattempt; + + printf("------ MC stats ------\n"); + printf("MC attempts = %d\n",nattempt); + printf("MC accepts = %d\n",naccept); + printf("Acceptance ratio = %g\n",1.0*naccept/nattempt); + + // clean up + + delete cs; + delete mc; +} + +/* ---------------------------------------------------------------------- */ + +void error(const char *str) +{ + printf("ERROR: %s\n",str); + exit(1); +} + +/* ---------------------------------------------------------------------- */ + +CSlib *cs_create(char *mode, char *arg) +{ + CSlib *cs = new CSlib(0,mode,arg,NULL); + + // initial handshake to agree on protocol + + cs->send(0,1); + cs->pack_string(1,(char *) "mc"); + + int msgID,nfield; + int *fieldID,*fieldtype,*fieldlen; + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + + return cs; +} + +// ---------------------------------------------------------------------- +// MC class +// ---------------------------------------------------------------------- + +MC::MC(char *mcfile, CSlib *cs_caller) +{ + cs = cs_caller; + + // setup MC params + + options(mcfile); + + // random # generator + + random = new RanPark(seed); +} + +/* ---------------------------------------------------------------------- */ + +MC::~MC() +{ + free(x); + delete random; +} + +/* ---------------------------------------------------------------------- */ + +void MC::run() +{ + int iatom,accept,msgID,nfield; + double pe_initial,pe_final,edelta; + double dx,dy,dz; + double xold[3],xnew[3]; + int *fieldID,*fieldtype,*fieldlen; + + enum{NATOMS=1,EINIT,DISPLACE,ACCEPT,RUN}; + + // one-time request for atom count from MD + // allocate 1d coord buffer + + cs->send(NATOMS,0); + + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + natoms = cs->unpack_int(1); + + x = (double *) malloc(3*natoms*sizeof(double)); + + // loop over MC moves + + naccept = nattempt = 0; + + for (int iloop = 0; iloop < nloop; iloop++) { + + // request current energy from MD + // recv energy, coords from MD + + cs->send(EINIT,0); + + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + pe_initial = cs->unpack_double(1); + double *x = (double *) cs->unpack(2); + + // perform simple MC event + // displace a single atom by random amount + + iatom = (int) natoms*random->uniform(); + xold[0] = x[3*iatom+0]; + xold[1] = x[3*iatom+1]; + xold[2] = x[3*iatom+2]; + + dx = 2.0*delta*random->uniform() - delta; + dy = 2.0*delta*random->uniform() - delta; + dz = 2.0*delta*random->uniform() - delta; + + xnew[0] = xold[0] + dx; + xnew[1] = xold[1] + dx; + xnew[2] = xold[2] + dx; + + // send atom ID and its new coords to MD + // recv new energy + + cs->send(DISPLACE,2); + cs->pack_int(1,iatom+1); + cs->pack(2,4,3,xnew); + + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + pe_final = cs->unpack_double(1); + + // decide whether to accept/reject MC event + + if (pe_final <= pe_initial) accept = 1; + else if (temperature == 0.0) accept = 0; + else if (random->uniform() > + exp(natoms*(pe_initial-pe_final)/temperature)) accept = 0; + else accept = 1; + + nattempt++; + if (accept) naccept++; + + // send accept (1) or reject (0) flag to MD + + cs->send(ACCEPT,1); + cs->pack_int(1,accept); + + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + + // send dynamics timesteps + + cs->send(RUN,1); + cs->pack_int(1,ndynamics); + + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + } + + // send exit message to MD + + cs->send(-1,0); + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); +} + +/* ---------------------------------------------------------------------- */ + +void MC::options(char *filename) +{ + // default params + + nsteps = 0; + ndynamics = 100; + delta = 0.1; + temperature = 1.0; + seed = 12345; + + // read and parse file + + FILE *fp = fopen(filename,"r"); + if (fp == NULL) error("Could not open MC file"); + + char line[MAXLINE]; + char *keyword,*value; + char *eof = fgets(line,MAXLINE,fp); + + while (eof) { + if (line[0] == '#') { // comment line + eof = fgets(line,MAXLINE,fp); + continue; + } + + value = strtok(line," \t\n\r\f"); + if (value == NULL) { // blank line + eof = fgets(line,MAXLINE,fp); + continue; + } + + keyword = strtok(NULL," \t\n\r\f"); + if (keyword == NULL) error("Missing keyword in MC file"); + + if (strcmp(keyword,"nsteps") == 0) nsteps = atoi(value); + else if (strcmp(keyword,"ndynamics") == 0) ndynamics = atoi(value); + else if (strcmp(keyword,"delta") == 0) delta = atof(value); + else if (strcmp(keyword,"temperature") == 0) temperature = atof(value); + else if (strcmp(keyword,"seed") == 0) seed = atoi(value); + else error("Unknown param in MC file"); + + eof = fgets(line,MAXLINE,fp); + } + + // derived params + + nloop = nsteps/ndynamics; +} diff --git a/examples/COUPLE/lammps_mc/mc.h b/examples/COUPLE/lammps_mc/mc.h new file mode 100644 index 0000000000..afeb3d06ab --- /dev/null +++ b/examples/COUPLE/lammps_mc/mc.h @@ -0,0 +1,40 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov +------------------------------------------------------------------------- */ + +#ifndef MC_H +#define MC_H + +/* ---------------------------------------------------------------------- */ + +class MC { + public: + int naccept; // # of accepted MC events + int nattempt; // # of attempted MC events + + MC(char *, class CSlib *); + ~MC(); + void run(); + + private: + int nsteps; // total # of MD steps + int ndynamics; // steps in one short dynamics run + int nloop; // nsteps/ndynamics + int natoms; // # of MD atoms + + double delta; // MC displacement distance + double temperature; // MC temperature for Boltzmann criterion + double *x; // atom coords as 3N 1d vector + double energy; // global potential energy + + int seed; // RNG seed + class RanPark *random; + + class CSlib *cs; // messaging library + + void options(char *); +}; + +#endif diff --git a/examples/COUPLE/lammps_mc/random_park.cpp b/examples/COUPLE/lammps_mc/random_park.cpp new file mode 100644 index 0000000000..61ac18c6c0 --- /dev/null +++ b/examples/COUPLE/lammps_mc/random_park.cpp @@ -0,0 +1,72 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +// Park/Miller RNG + +#include +#include "random_park.h" +//#include "error.h" + +#define IA 16807 +#define IM 2147483647 +#define AM (1.0/IM) +#define IQ 127773 +#define IR 2836 + +/* ---------------------------------------------------------------------- */ + +RanPark::RanPark(int seed_init) +{ + //if (seed_init <= 0) + // error->one(FLERR,"Invalid seed for Park random # generator"); + seed = seed_init; + save = 0; +} + +/* ---------------------------------------------------------------------- + uniform RN +------------------------------------------------------------------------- */ + +double RanPark::uniform() +{ + int k = seed/IQ; + seed = IA*(seed-k*IQ) - IR*k; + if (seed < 0) seed += IM; + double ans = AM*seed; + return ans; +} + +/* ---------------------------------------------------------------------- + gaussian RN +------------------------------------------------------------------------- */ + +double RanPark::gaussian() +{ + double first,v1,v2,rsq,fac; + + if (!save) { + do { + v1 = 2.0*uniform()-1.0; + v2 = 2.0*uniform()-1.0; + rsq = v1*v1 + v2*v2; + } while ((rsq >= 1.0) || (rsq == 0.0)); + fac = sqrt(-2.0*log(rsq)/rsq); + second = v1*fac; + first = v2*fac; + save = 1; + } else { + first = second; + save = 0; + } + return first; +} diff --git a/examples/COUPLE/lammps_mc/random_park.h b/examples/COUPLE/lammps_mc/random_park.h new file mode 100644 index 0000000000..0dc2081768 --- /dev/null +++ b/examples/COUPLE/lammps_mc/random_park.h @@ -0,0 +1,28 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef RANPARK_H +#define RANPARK_H + +class RanPark { + public: + RanPark(int); + double uniform(); + double gaussian(); + + private: + int seed,save; + double second; +}; + +#endif diff --git a/examples/COUPLE/lammps_vasp/INCAR b/examples/COUPLE/lammps_vasp/INCAR new file mode 100644 index 0000000000..ac2358e5fb --- /dev/null +++ b/examples/COUPLE/lammps_vasp/INCAR @@ -0,0 +1,53 @@ +# Startparameter for this run: + NWRITE = 2 write-flag & timer + PREC = normal normal or accurate (medium, high low for compatibility) + ISTART = 0 job : 0-new 1-cont 2-samecut + ICHARG = 2 charge: 1-file 2-atom 10-const + ISPIN = 1 spin polarized calculation? + LSORBIT = F spin-orbit coupling + INIWAV = 1 electr: 0-lowe 1-rand 2-diag + +# Electronic Relaxation 1 + ENCUT = 600.0 eV #Plane wave energy cutoff + ENINI = 600.0 initial cutoff + NELM = 100; NELMIN= 2; NELMDL= -5 # of ELM steps + EDIFF = 0.1E-05 stopping-criterion for ELM +# Ionic relaxation + EDIFFG = 0.1E-02 stopping-criterion for IOM + NSW = 0 number of steps for IOM + NBLOCK = 1; KBLOCK = 1 inner block; outer block + IBRION = -1 ionic relax: 0-MD 1-quasi-New 2-CG #No ion relaxation with -1 + NFREE = 0 steps in history (QN), initial steepest desc. (CG) + ISIF = 2 stress and relaxation # 2: F-yes Sts-yes RlxIon-yes cellshape-no cellvol-no + IWAVPR = 10 prediction: 0-non 1-charg 2-wave 3-comb # 10: TMPCAR stored in memory rather than file + + POTIM = 0.5000 time-step for ionic-motion + TEBEG = 3500.0; TEEND = 3500.0 temperature during run # Finite Temperature variables if AI-MD is on + SMASS = -3.00 Nose mass-parameter (am) + estimated Nose-frequenzy (Omega) = 0.10E-29 period in steps =****** mass= -0.366E-27a.u. + PSTRESS= 0.0 pullay stress + +# DOS related values: + EMIN = 10.00; EMAX =-10.00 energy-range for DOS + EFERMI = 0.00 + ISMEAR = 0; SIGMA = 0.10 broadening in eV -4-tet -1-fermi 0-gaus + +# Electronic relaxation 2 (details) + IALGO = 48 algorithm + +# Write flags + LWAVE = T write WAVECAR + LCHARG = T write CHGCAR + LVTOT = F write LOCPOT, total local potential + LVHAR = F write LOCPOT, Hartree potential only + LELF = F write electronic localiz. function (ELF) + +# Dipole corrections + LMONO = F monopole corrections only (constant potential shift) + LDIPOL = F correct potential (dipole corrections) + IDIPOL = 0 1-x, 2-y, 3-z, 4-all directions + EPSILON= 1.0000000 bulk dielectric constant + +# Exchange correlation treatment: + GGA = -- GGA type + diff --git a/examples/COUPLE/lammps_vasp/KPOINTS b/examples/COUPLE/lammps_vasp/KPOINTS new file mode 100644 index 0000000000..322509da30 --- /dev/null +++ b/examples/COUPLE/lammps_vasp/KPOINTS @@ -0,0 +1,6 @@ +K-Points + 0 +Monkhorst Pack + 15 15 15 + 0 0 0 + diff --git a/examples/COUPLE/lammps_vasp/POSCAR_W b/examples/COUPLE/lammps_vasp/POSCAR_W new file mode 100644 index 0000000000..aba5df54a0 --- /dev/null +++ b/examples/COUPLE/lammps_vasp/POSCAR_W @@ -0,0 +1,11 @@ +W unit cell +1.0 +3.16 0.00000000 0.00000000 +0.00000000 3.16 0.00000000 +0.00000000 0.00000000 3.16 +W +2 +Direct + 0.00000000 0.00000000 0.00000000 + 0.50000000 0.50000000 0.50000000 + diff --git a/examples/COUPLE/lammps_vasp/README b/examples/COUPLE/lammps_vasp/README new file mode 100644 index 0000000000..3d83ff7dc1 --- /dev/null +++ b/examples/COUPLE/lammps_vasp/README @@ -0,0 +1,90 @@ +Sample LAMMPS MD wrapper on VASP quantum DFT via client/server +coupling + +See the MESSAGE package (doc/Section_messages.html#MESSAGE) and +Section_howto.html#howto10 for more details on how client/server +coupling works in LAMMPS. + +In this dir, the vasp_warp.py is a wrapper on the VASP quantum DFT +code so it can work as a "server" code which LAMMPS drives as a +"client" code to perform ab initio MD. LAMMPS performs the MD +timestepping, sends VASP a current set of coordinates each timestep, +VASP computes forces and energy and virial and returns that info to +LAMMPS. + +Messages are exchanged between MC and LAMMPS via a client/server +library (CSlib), which is included in the LAMMPS distribution in +lib/message. As explained below you can choose to exchange data +between the two programs either via files or sockets (ZMQ). If the +vasp_wrap.py program became parallel, or the CSlib library calls were +integrated into VASP directly, then data could also be exchanged via +MPI. + +---------------- + +Build LAMMPS with its MESSAGE package installed: + +cd lammps/lib/message +python Install.py -m -z # build CSlib with MPI and ZMQ support +cd lammps/src +make yes-message +make mpi + +You can leave off the -z if you do not have ZMQ on your system. + +---------------- + +To run in client/server mode: + +Both the client (LAMMPS) and server (vasp_wrap.py) must use the same +messaging mode, namely file or zmq. This is an argument to the +vasp_wrap.py code; it can be selected by setting the "mode" variable +when you run LAMMPS. The default mode = file. + +Here we assume LAMMPS was built to run in parallel, and the MESSAGE +package was installed with socket (ZMQ) support. This means either of +the messaging modes can be used and LAMMPS can be run in serial or +parallel. The vasp_wrap.py code is always run in serial, but it +launches VASP from Python via an mpirun command which can run VASP +itself in parallel. + +When you run, the server should print out thermodynamic info every +timestep which corresponds to the forces and virial computed by VASP. +VASP will also generate output files each timestep. The vasp_wrapper.py +script could be generalized to archive these. + +The examples below are commands you should use in two different +terminal windows. The order of the two commands (client or server +launch) does not matter. You can run them both in the same window if +you append a "&" character to the first one to run it in the +background. + +-------------- + +File mode of messaging: + +% mpirun -np 1 lmp_mpi -v mode file < in.client.W +% python vasp_wrap.py file POSCAR_W + +% mpirun -np 2 lmp_mpi -v mode file < in.client.W +% python vasp_wrap.py file POSCAR_W + +ZMQ mode of messaging: + +% mpirun -np 1 lmp_mpi -v mode zmq < in.client.W +% python vasp_wrap.py zmq POSCAR_W + +% mpirun -np 2 lmp_mpi -v mode zmq < in.client.W +% python vasp_wrap.py zmq POSCAR_W + +-------------- + +The provided data.W file (for LAMMPS) and POSCAR_W file (for VASP) are +for a simple 2-atom unit cell of bcc tungsten (W). You could +replicate this with LAMMPS to create a larger system. The +vasp_wrap.py script needs to be generalized to create an appropriate +POSCAR_W file for a larger box. + +VASP input file include the sample INCAR and KPOINTS files provided. +A POTCAR file is also needed, which should come from your VASP package +installation. diff --git a/examples/COUPLE/lammps_vasp/data.W b/examples/COUPLE/lammps_vasp/data.W new file mode 100644 index 0000000000..8accd9ca79 --- /dev/null +++ b/examples/COUPLE/lammps_vasp/data.W @@ -0,0 +1,15 @@ +LAMMPS W data file + +2 atoms + +1 atom types + +0.0 3.16 xlo xhi +0.0 3.16 ylo yhi +0.0 3.16 zlo zhi + +Atoms + +1 1 0.000 0.000 0.000 +2 1 1.58 1.58 1.58 + diff --git a/examples/COUPLE/lammps_vasp/in.client.W b/examples/COUPLE/lammps_vasp/in.client.W new file mode 100644 index 0000000000..3eaf99dcbb --- /dev/null +++ b/examples/COUPLE/lammps_vasp/in.client.W @@ -0,0 +1,34 @@ +# small W unit cell for use with VASP + +variable mode index file + +if "${mode} == file" then & + "message client md file tmp.couple" & +elif "${mode} == zmq" & + "message client md zmq localhost:5555" & + +variable x index 1 +variable y index 1 +variable z index 1 + +units metal +atom_style atomic +atom_modify sort 0 0.0 map yes + +read_data data.W +mass 1 183.85 + +replicate $x $y $z + +velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 1 +run 3 + diff --git a/examples/COUPLE/lammps_vasp/log.client.output b/examples/COUPLE/lammps_vasp/log.client.output new file mode 100644 index 0000000000..de37c7cbaf --- /dev/null +++ b/examples/COUPLE/lammps_vasp/log.client.output @@ -0,0 +1,63 @@ +LAMMPS (20 Apr 2018) +# small W unit cell for use with VASP + +#message client aimd file tmp.couple +message client aimd zmq localhost:5555 +#message client aimd mpi/two tmp.couple +#message client aimd mpi/one tmp.couple + +units real +atom_style atomic +atom_modify sort 0 0.0 map yes + +read_data data.W + orthogonal box = (0 0 0) to (3.16 3.16 3.16) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms +mass 1 1.0 + +#velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all message/aimd +fix_modify 2 energy yes + +thermo 1 +run 2 +Per MPI rank memory allocation (min/avg/max) = 1.8 | 1.8 | 1.8 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0 0 0 -48.069571 -172694.2 + 1 0.063865861 0 0 -48.069381 -172693.93 + 2 0.25546344 0 0 -48.06881 -172693.1 +Loop time of 0.281842 on 1 procs for 2 steps with 2 atoms + +Performance: 0.613 ns/day, 39.145 hours/ns, 7.096 timesteps/s +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 3.0994e-06 | 3.0994e-06 | 3.0994e-06 | 0.0 | 0.00 +Output | 8.9169e-05 | 8.9169e-05 | 8.9169e-05 | 0.0 | 0.03 +Modify | 0.28174 | 0.28174 | 0.28174 | 0.0 | 99.97 +Other | | 5.96e-06 | | | 0.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 7 ave 7 max 7 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds not checked + +Total wall time: 0:00:06 diff --git a/examples/COUPLE/lammps_vasp/vasp_wrap.py b/examples/COUPLE/lammps_vasp/vasp_wrap.py new file mode 100644 index 0000000000..35955b6adb --- /dev/null +++ b/examples/COUPLE/lammps_vasp/vasp_wrap.py @@ -0,0 +1,234 @@ +#!/usr/bin/env python + +# ---------------------------------------------------------------------- +# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +# http://lammps.sandia.gov, Sandia National Laboratories +# Steve Plimpton, sjplimp@sandia.gov +# ---------------------------------------------------------------------- + +# Syntax: vasp_wrap.py file/zmq POSCARfile + +# wrapper on VASP to act as server program using CSlib +# receives message with list of coords from client +# creates VASP inputs +# invokes VASP to calculate self-consistent energy of that config +# reads VASP outputs +# sends message with energy, forces, virial to client + +# NOTES: +# check to insure basic VASP input files are in place? +# worry about archiving VASP input/output in special filenames or dirs? +# how to get ordering (by type) of VASP atoms vs LAMMPS atoms +# create one initial permutation vector? +# could make syntax for launching VASP more flexible +# e.g. command-line arg for # of procs + +import sys +import commands +import xml.etree.ElementTree as ET +from cslib import CSlib + +vaspcmd = "srun -N 1 --ntasks-per-node=4 " + \ + "-n 4 /projects/vasp/2017-build/cts1/vasp5.4.4/vasp_tfermi/bin/vasp_std" + +# enums matching FixClientMD class in LAMMPS + +SETUP,STEP = range(1,2+1) +UNITS,DIM,NATOMS,NTYPES,BOXLO,BOXHI,BOXTILT,TYPES,COORDS,CHARGE = range(1,10+1) +FORCES,ENERGY,VIRIAL = range(1,3+1) + +# ------------------------------------- +# functions + +# error message and exit + +def error(txt): + print "ERROR:",txt + sys.exit(1) + +# ------------------------------------- +# read initial VASP POSCAR file to setup problem +# return natoms,ntypes,box + +def vasp_setup(poscar): + + ps = open(poscar,'r').readlines() + + # box size + + words = ps[2].split() + xbox = float(words[0]) + words = ps[3].split() + ybox = float(words[1]) + words = ps[4].split() + zbox = float(words[2]) + box = [xbox,ybox,zbox] + + ntypes = 0 + natoms = 0 + words = ps[6].split() + for word in words: + if word == '#': break + ntypes += 1 + natoms += int(word) + + return natoms,ntypes,box + +# ------------------------------------- +# write a new POSCAR file for VASP + +def poscar_write(poscar,natoms,ntypes,types,coords,box): + + psold = open(poscar,'r').readlines() + psnew = open("POSCAR",'w') + + # header, including box size + + print >>psnew,psold[0], + print >>psnew,psold[1], + print >>psnew,"%g 0.0 0.0" % box[0] + print >>psnew,"0.0 %g 0.0" % box[1] + print >>psnew,"0.0 0.0 %g" % box[2] + print >>psnew,psold[5], + print >>psnew,psold[6], + + # per-atom coords + # grouped by types + + print >>psnew,"Cartesian" + + for itype in range(1,ntypes+1): + for i in range(natoms): + if types[i] != itype: continue + x = coords[3*i+0] + y = coords[3*i+1] + z = coords[3*i+2] + aline = " %g %g %g" % (x,y,z) + print >>psnew,aline + + psnew.close() + +# ------------------------------------- +# read a VASP output vasprun.xml file +# uses ElementTree module +# see https://docs.python.org/2/library/xml.etree.elementtree.html + +def vasprun_read(): + tree = ET.parse('vasprun.xml') + root = tree.getroot() + + #fp = open("vasprun.xml","r") + #root = ET.parse(fp) + + scsteps = root.findall('calculation/scstep') + energy = scsteps[-1].find('energy') + for child in energy: + if child.attrib["name"] == "e_0_energy": + eout = float(child.text) + + fout = [] + sout = [] + + varrays = root.findall('calculation/varray') + for varray in varrays: + if varray.attrib["name"] == "forces": + forces = varray.findall("v") + for line in forces: + fxyz = line.text.split() + fxyz = [float(value) for value in fxyz] + fout += fxyz + if varray.attrib["name"] == "stress": + tensor = varray.findall("v") + stensor = [] + for line in tensor: + sxyz = line.text.split() + sxyz = [float(value) for value in sxyz] + stensor.append(sxyz) + sxx = stensor[0][0] + syy = stensor[1][1] + szz = stensor[2][2] + sxy = 0.5 * (stensor[0][1] + stensor[1][0]) + sxz = 0.5 * (stensor[0][2] + stensor[2][0]) + syz = 0.5 * (stensor[1][2] + stensor[2][1]) + sout = [sxx,syy,szz,sxy,sxz,syz] + + #fp.close() + + return eout,fout,sout + +# ------------------------------------- +# main program + +# command-line args + +if len(sys.argv) != 3: + print "Syntax: python vasp_wrap.py file/zmq POSCARfile" + sys.exit(1) + +mode = sys.argv[1] +poscar_template = sys.argv[2] + +if mode == "file": cs = CSlib(1,mode,"tmp.couple",None) +elif mode == "zmq": cs = CSlib(1,mode,"*:5555",None) +else: + print "Syntax: python vasp_wrap.py file/zmq POSCARfile" + sys.exit(1) + +natoms,ntypes,box = vasp_setup(poscar_template) + +# initial message for MD protocol + +msgID,nfield,fieldID,fieldtype,fieldlen = cs.recv() +if msgID != 0: error("Bad initial client/server handshake") +protocol = cs.unpack_string(1) +if protocol != "md": error("Mismatch in client/server protocol") +cs.send(0,0) + +# endless server loop + +while 1: + + # recv message from client + # msgID = 0 = all-done message + + msgID,nfield,fieldID,fieldtype,fieldlen = cs.recv() + if msgID < 0: break + + # could generalize this to be more like ServerMD class + # allow for box size, atom types, natoms, etc + + # unpack coords from client + # create VASP input + # NOTE: generalize this for general list of atom types + + coords = cs.unpack(COORDS,1) + #types = cs.unpack(2); + types = 2*[1] + + poscar_write(poscar_template,natoms,ntypes,types,coords,box) + + # invoke VASP + + print "Launching VASP ..." + print vaspcmd + out = commands.getoutput(vaspcmd) + print out + + # process VASP output + + energy,forces,virial = vasprun_read() + + # return forces, energy, virial to client + + cs.send(msgID,3); + cs.pack(FORCES,4,3*natoms,forces) + cs.pack_double(ENERGY,energy) + cs.pack(VIRIAL,4,6,virial) + +# final reply to client + +cs.send(0,0) + +# clean-up + +del cs diff --git a/examples/README b/examples/README index a8dfe63d92..599392e6b2 100644 --- a/examples/README +++ b/examples/README @@ -82,6 +82,7 @@ kim: use of potentials in Knowledge Base for Interatomic Models (KIM) latte: use of LATTE density-functional tight-binding quantum code meam: MEAM test for SiC and shear (same as shear examples) melt: rapid melt of 3d LJ system +message: client/server coupling of 2 codes micelle: self-assembly of small lipid-like molecules into 2d bilayers min: energy minimization of 2d LJ melt mscg: parameterize a multi-scale coarse-graining (MSCG) model diff --git a/examples/message/README b/examples/message/README new file mode 100644 index 0000000000..213dbbde51 --- /dev/null +++ b/examples/message/README @@ -0,0 +1,102 @@ +This dir contains scripts that demonstrate how to use LAMMPS as both a +client and server code to run a simple MD simulation. LAMMPS as a +client performs the MD timestepping. LAMMPS as a server provides the +energy and forces between interacting particles. Every timestep the +LAMMPS client sends a message to the LAMMPS server and receives a +response message in return. + +Another code could replace LAMMPS as the client, e.g. another MD code +which wants to use a LAMMPS potential. Another code could replace +LAMMPS as the server, e.g. a quantum code computing quantum forces, so +that ab initio MD could be performed. See an example of the latter in +examples/COUPLE/lammps_vasp. + +See the MESSAGE package (doc/Section_messages.html#MESSAGE) +and Section_howto.html#howto10 for more details on how +client/server coupling works in LAMMPS. + +-------------- + +Note that you can adjust the problem size run by these scripts by +setting "x,y,z" variables when you run LAMMPS. The default problem size +is x = y = z = 5, which is 500 particles. + +lmp_mpi -v x 10 -v y 10 -v z 20 # 8000 particles + +This applies to either in.message or in.message.client + +The client and server script define a "mode" variable +which can be set to file, zmq, mpi/one, or mpi/two, +as illustrated below. + +-------------- + +To run this problem in the traditional way (no client/server coupling) +do one of these: + +% lmp_serial < in.message +% mpirun -np 4 lmp_mpi < in.message + +-------------- + +To run in client/server mode: + +Both the client and server script must use the same messaging mode. +This can be selected by setting the "mode" variable when you run +LAMMPS. The default mode = file. The other options for the mode +variable are zmq, mpione, mpitwo. + +Here we assume LAMMPS was built to run in parallel, and the MESSAGE +package was installed with socket (ZMQ) support. This means any of +the 4 messaging modes can be used. + +The next sections illustrate how to launch LAMMPS twice, once as a +client, once as a server, for each of the messaging modes. + +In all cases, the client should print out thermodynamic info for 50 +steps. The server should print out setup info, print nothing until +the client exits, at which point the server should also exit. + +The examples below show launching LAMMPS twice from the same window +(or batch script), using the "&" character to launch the first time in +the background. For all modes except {mpi/one}, you could also launch +twice in separate windows on your desktop machine. It does not matter +whether you launch the client or server first. + +In these examples either the client or server can be run on one or +more processors. If running in a non-MPI mode (file or zmq) you can +launch LAMMPS on a single processor without using mpirun. + +IMPORTANT: If you run in mpi/two mode, you must launch LAMMPS both +times via mpirun, even if one or both of them runs on a single +processor. This is so that MPI can figure out how to connect both MPI +processes together to exchange MPI messages between them. + +-------------- + +File or ZMQ or mpi/two modes of messaging: + +% mpirun -np 1 lmp_mpi -v mode file -log log.client < in.message.client & +% mpirun -np 2 lmp_mpi -v mode file -log log.server < in.message.server + +% mpirun -np 4 lmp_mpi -v mode zmq -log log.client < in.message.client & +% mpirun -np 1 lmp_mpi -v mode zmq -log log.server < in.message.server + +% mpirun -np 2 lmp_mpi -v mode mpitwo -log log.client < in.message.client & +% mpirun -np 4 lmp_mpi -v mode mpitwo -log log.server < in.message.server + +-------------- + +Mpi/one mode of messaging: + +Launch LAMMPS twice in a single mpirun command: + +mpirun -np 2 lmp_mpi -mpi 2 -in in.message.client -v mode mpione -log log.client : -np 4 lmp_mpi -mpi 2 -in in.message.server -v mode mpione -log log.server + +The two -np values determine how many procs the client and the server +run on. + +A LAMMPS executable run in this manner must use the -mpi P +command-line option as their first option, where P is the number of +processors the first code in the mpirun command (client or server) is +running on. diff --git a/examples/message/in.message b/examples/message/in.message new file mode 100644 index 0000000000..951ff95e3b --- /dev/null +++ b/examples/message/in.message @@ -0,0 +1,27 @@ +# 3d Lennard-Jones melt - no client/server mode + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +thermo 10 +run 50 diff --git a/examples/message/in.message.client b/examples/message/in.message.client new file mode 100644 index 0000000000..0c548ef2e5 --- /dev/null +++ b/examples/message/in.message.client @@ -0,0 +1,38 @@ +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then & + "message client md file tmp.couple" & +elif "${mode} == zmq" & + "message client md zmq localhost:5555" & +elif "${mode} == mpione" & + "message client md mpi/one" & +elif "${mode} == mpitwo" & + "message client md mpi/two tmp.couple" + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 diff --git a/examples/message/in.message.server b/examples/message/in.message.server new file mode 100644 index 0000000000..2fedd2ae00 --- /dev/null +++ b/examples/message/in.message.server @@ -0,0 +1,29 @@ +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then & + "message server md file tmp.couple" & +elif "${mode} == zmq" & + "message server md zmq *:5555" & +elif "${mode} == mpione" & + "message server md mpi/one" & +elif "${mode} == mpitwo" & + "message server md mpi/two tmp.couple" + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +region box block 0 1 0 1 0 1 +create_box 1 box +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md diff --git a/examples/message/log.23Jul18.message.client.file.g++.1 b/examples/message/log.23Jul18.message.client.file.g++.1 new file mode 100644 index 0000000000..0e05f6dfd5 --- /dev/null +++ b/examples/message/log.23Jul18.message.client.file.g++.1 @@ -0,0 +1,76 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md file tmp.couple + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.00067687 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.303 | 2.303 | 2.303 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 5.12413 on 1 procs for 50 steps with 500 atoms + +Performance: 4215.352 tau/day, 9.758 timesteps/s +0.1% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 9.7752e-06 | 9.7752e-06 | 9.7752e-06 | 0.0 | 0.00 +Comm | 0.0001719 | 0.0001719 | 0.0001719 | 0.0 | 0.00 +Output | 0.00022697 | 0.00022697 | 0.00022697 | 0.0 | 0.00 +Modify | 5.1232 | 5.1232 | 5.1232 | 0.0 | 99.98 +Other | | 0.0004876 | | | 0.01 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:19 diff --git a/examples/message/log.23Jul18.message.client.file.g++.2 b/examples/message/log.23Jul18.message.client.file.g++.2 new file mode 100644 index 0000000000..959c85439e --- /dev/null +++ b/examples/message/log.23Jul18.message.client.file.g++.2 @@ -0,0 +1,76 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md file tmp.couple + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000554085 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 5.07392 on 2 procs for 50 steps with 500 atoms + +Performance: 4257.065 tau/day, 9.854 timesteps/s +50.1% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 2.1458e-06 | 4.0531e-06 | 5.9605e-06 | 0.0 | 0.00 +Comm | 0.00022864 | 0.00023806 | 0.00024748 | 0.0 | 0.00 +Output | 0.00020814 | 0.00051165 | 0.00081515 | 0.0 | 0.01 +Modify | 5.0659 | 5.0695 | 5.073 | 0.2 | 99.91 +Other | | 0.003713 | | | 0.07 + +Nlocal: 250 ave 255 max 245 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:07 diff --git a/examples/message/log.23Jul18.message.client.mpione.g++.1 b/examples/message/log.23Jul18.message.client.mpione.g++.1 new file mode 100644 index 0000000000..95a3f99ef5 --- /dev/null +++ b/examples/message/log.23Jul18.message.client.mpione.g++.1 @@ -0,0 +1,76 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/one + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000674009 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.303 | 2.303 | 2.303 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 0.0424271 on 1 procs for 50 steps with 500 atoms + +Performance: 509109.009 tau/day, 1178.493 timesteps/s +99.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 8.1062e-06 | 8.1062e-06 | 8.1062e-06 | 0.0 | 0.02 +Comm | 8.2016e-05 | 8.2016e-05 | 8.2016e-05 | 0.0 | 0.19 +Output | 0.00010991 | 0.00010991 | 0.00010991 | 0.0 | 0.26 +Modify | 0.042014 | 0.042014 | 0.042014 | 0.0 | 99.03 +Other | | 0.0002129 | | | 0.50 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/message/log.23Jul18.message.client.mpione.g++.2 b/examples/message/log.23Jul18.message.client.mpione.g++.2 new file mode 100644 index 0000000000..6ba653a2be --- /dev/null +++ b/examples/message/log.23Jul18.message.client.mpione.g++.2 @@ -0,0 +1,76 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/one + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000527859 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 0.027467 on 2 procs for 50 steps with 500 atoms + +Performance: 786397.868 tau/day, 1820.365 timesteps/s +99.9% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 4.0531e-06 | 4.1723e-06 | 4.2915e-06 | 0.0 | 0.02 +Comm | 0.00017691 | 0.00018024 | 0.00018358 | 0.0 | 0.66 +Output | 9.3222e-05 | 0.00012612 | 0.00015903 | 0.0 | 0.46 +Modify | 0.026678 | 0.02676 | 0.026841 | 0.0 | 97.42 +Other | | 0.0003968 | | | 1.44 + +Nlocal: 250 ave 255 max 245 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/message/log.23Jul18.message.client.mpitwo.g++.1 b/examples/message/log.23Jul18.message.client.mpitwo.g++.1 new file mode 100644 index 0000000000..3822a0eb35 --- /dev/null +++ b/examples/message/log.23Jul18.message.client.mpitwo.g++.1 @@ -0,0 +1,76 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/two tmp.couple + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000490904 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.303 | 2.303 | 2.303 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 0.0624809 on 1 procs for 50 steps with 500 atoms + +Performance: 345705.501 tau/day, 800.244 timesteps/s +40.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 7.391e-06 | 7.391e-06 | 7.391e-06 | 0.0 | 0.01 +Comm | 8.5831e-05 | 8.5831e-05 | 8.5831e-05 | 0.0 | 0.14 +Output | 0.00011873 | 0.00011873 | 0.00011873 | 0.0 | 0.19 +Modify | 0.062024 | 0.062024 | 0.062024 | 0.0 | 99.27 +Other | | 0.0002449 | | | 0.39 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:07 diff --git a/examples/message/log.23Jul18.message.client.mpitwo.g++.2 b/examples/message/log.23Jul18.message.client.mpitwo.g++.2 new file mode 100644 index 0000000000..058fc9dbf7 --- /dev/null +++ b/examples/message/log.23Jul18.message.client.mpitwo.g++.2 @@ -0,0 +1,76 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/two tmp.couple + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000692129 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 0.0186305 on 2 procs for 50 steps with 500 atoms + +Performance: 1159388.887 tau/day, 2683.771 timesteps/s +50.7% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 2.861e-06 | 3.8147e-06 | 4.7684e-06 | 0.0 | 0.02 +Comm | 0.00017023 | 0.00017631 | 0.00018239 | 0.0 | 0.95 +Output | 0.00010896 | 0.00013852 | 0.00016809 | 0.0 | 0.74 +Modify | 0.017709 | 0.017821 | 0.017933 | 0.1 | 95.66 +Other | | 0.0004908 | | | 2.63 + +Nlocal: 250 ave 255 max 245 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:05 diff --git a/examples/message/log.23Jul18.message.client.zmq.g++.1 b/examples/message/log.23Jul18.message.client.zmq.g++.1 new file mode 100644 index 0000000000..d895ee7556 --- /dev/null +++ b/examples/message/log.23Jul18.message.client.zmq.g++.1 @@ -0,0 +1,76 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md zmq localhost:5555 + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000747919 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.303 | 2.303 | 2.303 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 0.0769799 on 1 procs for 50 steps with 500 atoms + +Performance: 280592.815 tau/day, 649.520 timesteps/s +12.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 6.1989e-06 | 6.1989e-06 | 6.1989e-06 | 0.0 | 0.01 +Comm | 9.5129e-05 | 9.5129e-05 | 9.5129e-05 | 0.0 | 0.12 +Output | 0.00011516 | 0.00011516 | 0.00011516 | 0.0 | 0.15 +Modify | 0.076471 | 0.076471 | 0.076471 | 0.0 | 99.34 +Other | | 0.0002928 | | | 0.38 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:08 diff --git a/examples/message/log.23Jul18.message.client.zmq.g++.2 b/examples/message/log.23Jul18.message.client.zmq.g++.2 new file mode 100644 index 0000000000..4bdb8abecc --- /dev/null +++ b/examples/message/log.23Jul18.message.client.zmq.g++.2 @@ -0,0 +1,76 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md zmq localhost:5555 + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000608921 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 0.0453095 on 2 procs for 50 steps with 500 atoms + +Performance: 476720.759 tau/day, 1103.520 timesteps/s +55.6% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 2.1458e-06 | 4.0531e-06 | 5.9605e-06 | 0.0 | 0.01 +Comm | 0.0001595 | 0.00015998 | 0.00016046 | 0.0 | 0.35 +Output | 8.893e-05 | 0.00011587 | 0.00014281 | 0.0 | 0.26 +Modify | 0.044439 | 0.044582 | 0.044724 | 0.1 | 98.39 +Other | | 0.0004481 | | | 0.99 + +Nlocal: 250 ave 255 max 245 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:04 diff --git a/examples/message/log.23Jul18.message.g++.1 b/examples/message/log.23Jul18.message.g++.1 new file mode 100644 index 0000000000..53457c0129 --- /dev/null +++ b/examples/message/log.23Jul18.message.g++.1 @@ -0,0 +1,83 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - no client/server mode + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000540972 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +thermo 10 +run 50 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.143 | 3.143 | 3.143 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 + 10 1.1347688 -6.3153532 0 -4.6166043 -2.6072847 + 20 0.628166 -5.5624945 0 -4.62213 1.0186262 + 30 0.73767593 -5.7297655 0 -4.6254647 0.49629637 + 40 0.69517962 -5.6660345 0 -4.6253506 0.69303877 + 50 0.70150496 -5.6761362 0 -4.6259832 0.59551518 +Loop time of 0.037292 on 1 procs for 50 steps with 500 atoms + +Performance: 579212.643 tau/day, 1340.770 timesteps/s +99.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.028156 | 0.028156 | 0.028156 | 0.0 | 75.50 +Neigh | 0.0069656 | 0.0069656 | 0.0069656 | 0.0 | 18.68 +Comm | 0.0011504 | 0.0011504 | 0.0011504 | 0.0 | 3.08 +Output | 0.00013399 | 0.00013399 | 0.00013399 | 0.0 | 0.36 +Modify | 0.00049257 | 0.00049257 | 0.00049257 | 0.0 | 1.32 +Other | | 0.0003934 | | | 1.05 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1946 ave 1946 max 1946 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18820 ave 18820 max 18820 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18820 +Ave neighs/atom = 37.64 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/message/log.23Jul18.message.g++.4 b/examples/message/log.23Jul18.message.g++.4 new file mode 100644 index 0000000000..09bd755380 --- /dev/null +++ b/examples/message/log.23Jul18.message.g++.4 @@ -0,0 +1,83 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - no client/server mode + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000635862 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +thermo 10 +run 50 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.109 | 3.109 | 3.109 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 + 10 1.1347688 -6.3153532 0 -4.6166043 -2.6072847 + 20 0.628166 -5.5624945 0 -4.62213 1.0186262 + 30 0.73767593 -5.7297655 0 -4.6254647 0.49629637 + 40 0.69517962 -5.6660345 0 -4.6253506 0.69303877 + 50 0.70150496 -5.6761362 0 -4.6259832 0.59551518 +Loop time of 0.0152688 on 4 procs for 50 steps with 500 atoms + +Performance: 1414649.236 tau/day, 3274.651 timesteps/s +99.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.006639 | 0.007916 | 0.0083909 | 0.8 | 51.84 +Neigh | 0.0015991 | 0.0018443 | 0.0019469 | 0.3 | 12.08 +Comm | 0.0041771 | 0.0047471 | 0.0063298 | 1.3 | 31.09 +Output | 9.6798e-05 | 0.00012475 | 0.00019407 | 0.0 | 0.82 +Modify | 0.00015974 | 0.0001967 | 0.00023103 | 0.0 | 1.29 +Other | | 0.0004399 | | | 2.88 + +Nlocal: 125 ave 128 max 121 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Nghost: 1091 ave 1094 max 1089 min +Histogram: 1 0 1 0 1 0 0 0 0 1 +Neighs: 4705 ave 4849 max 4648 min +Histogram: 2 1 0 0 0 0 0 0 0 1 + +Total # of neighbors = 18820 +Ave neighs/atom = 37.64 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/message/log.23Jul18.message.server.file.g++.1 b/examples/message/log.23Jul18.message.server.file.g++.1 new file mode 100644 index 0000000000..159332c2b4 --- /dev/null +++ b/examples/message/log.23Jul18.message.server.file.g++.1 @@ -0,0 +1,44 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md file tmp.couple + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 1 by 1 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:05 diff --git a/examples/message/log.23Jul18.message.server.file.g++.4 b/examples/message/log.23Jul18.message.server.file.g++.4 new file mode 100644 index 0000000000..f5ea67196f --- /dev/null +++ b/examples/message/log.23Jul18.message.server.file.g++.4 @@ -0,0 +1,44 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md file tmp.couple + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 2 by 2 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 2 by 2 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:05 diff --git a/examples/message/log.23Jul18.message.server.mpione.g++.1 b/examples/message/log.23Jul18.message.server.mpione.g++.1 new file mode 100644 index 0000000000..245461d4b2 --- /dev/null +++ b/examples/message/log.23Jul18.message.server.mpione.g++.1 @@ -0,0 +1,44 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/one + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 1 by 1 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:00 diff --git a/examples/message/log.23Jul18.message.server.mpione.g++.4 b/examples/message/log.23Jul18.message.server.mpione.g++.4 new file mode 100644 index 0000000000..d4d9a98189 --- /dev/null +++ b/examples/message/log.23Jul18.message.server.mpione.g++.4 @@ -0,0 +1,44 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/one + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 2 by 2 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 2 by 2 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:00 diff --git a/examples/message/log.23Jul18.message.server.mpitwo.g++.1 b/examples/message/log.23Jul18.message.server.mpitwo.g++.1 new file mode 100644 index 0000000000..440a03bad7 --- /dev/null +++ b/examples/message/log.23Jul18.message.server.mpitwo.g++.1 @@ -0,0 +1,44 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/two tmp.couple + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 1 by 1 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:00 diff --git a/examples/message/log.23Jul18.message.server.mpitwo.g++.4 b/examples/message/log.23Jul18.message.server.mpitwo.g++.4 new file mode 100644 index 0000000000..0265bda54c --- /dev/null +++ b/examples/message/log.23Jul18.message.server.mpitwo.g++.4 @@ -0,0 +1,44 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/two tmp.couple + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 2 by 2 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 2 by 2 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:00 diff --git a/examples/message/log.23Jul18.message.server.zmq.g++.1 b/examples/message/log.23Jul18.message.server.zmq.g++.1 new file mode 100644 index 0000000000..4fa9244bfe --- /dev/null +++ b/examples/message/log.23Jul18.message.server.zmq.g++.1 @@ -0,0 +1,44 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md zmq *:5555 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 1 by 1 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:00 diff --git a/examples/message/log.23Jul18.message.server.zmq.g++.4 b/examples/message/log.23Jul18.message.server.zmq.g++.4 new file mode 100644 index 0000000000..f094153e83 --- /dev/null +++ b/examples/message/log.23Jul18.message.server.zmq.g++.4 @@ -0,0 +1,44 @@ +LAMMPS (16 Jul 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md zmq *:5555 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 2 by 2 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 2 by 2 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:00 diff --git a/lib/README b/lib/README index 3c8f46dd0a..12c27b2a39 100644 --- a/lib/README +++ b/lib/README @@ -35,6 +35,8 @@ linalg set of BLAS and LAPACK routines needed by USER-ATC package from Axel Kohlmeyer (Temple U) meam modified embedded atom method (MEAM) potential, MEAM package from Greg Wagner (Sandia) +message client/server communication library via MPI, sockets, files + from Steve Plimpton (Sandia) molfile hooks to VMD molfile plugins, used by the USER-MOLFILE package from Axel Kohlmeyer (Temple U) and the VMD development team mscg hooks to the MSCG library, used by fix_mscg command diff --git a/lib/message/Install.py b/lib/message/Install.py new file mode 100644 index 0000000000..d3f31c986f --- /dev/null +++ b/lib/message/Install.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python + +# Install.py tool to build the CSlib library +# used to automate the steps described in the README file in this dir + +from __future__ import print_function +import sys,os,re,subprocess + +# help message + +help = """ +Syntax from src dir: make lib-message args="-m" + or: make lib-message args="-s -z" +Syntax from lib dir: python Install.py -m + or: python Install.py -s -z + +specify zero or more options, order does not matter + + -m = parallel build of CSlib library + -s = serial build of CSlib library + -z = build CSlib library with ZMQ socket support, default = no ZMQ support + +Example: + +make lib-message args="-m -z" # build parallel CSlib with ZMQ support +make lib-message args="-s" # build serial CSlib with no ZMQ support +""" + +# print error message or help + +def error(str=None): + if not str: print(help) + else: print("ERROR",str) + sys.exit() + +# expand to full path name +# process leading '~' or relative path + +def fullpath(path): + return os.path.abspath(os.path.expanduser(path)) + +def which(program): + def is_exe(fpath): + return os.path.isfile(fpath) and os.access(fpath, os.X_OK) + + fpath, fname = os.path.split(program) + if fpath: + if is_exe(program): + return program + else: + for path in os.environ["PATH"].split(os.pathsep): + path = path.strip('"') + exe_file = os.path.join(path, program) + if is_exe(exe_file): + return exe_file + + return None + +# parse args + +args = sys.argv[1:] +nargs = len(args) +if nargs == 0: error() + +mpiflag = False +serialflag = False +zmqflag = False + +iarg = 0 +while iarg < nargs: + if args[iarg] == "-m": + mpiflag = True + iarg += 1 + elif args[iarg] == "-s": + serialflag = True + iarg += 1 + elif args[iarg] == "-z": + zmqflag = True + iarg += 1 + else: error() + +if (not mpiflag and not serialflag): + error("Must use either -m or -s flag") + +if (mpiflag and serialflag): + error("Cannot use -m and -s flag at the same time") + +# build CSlib +# copy resulting lib to cslib/src/libmessage.a +# copy appropriate Makefile.lammps.* to Makefile.lammps + +print("Building CSlib ...") +srcdir = fullpath("./cslib/src") + +if mpiflag and zmqflag: + cmd = "cd %s; make lib_parallel" % srcdir +elif mpiflag and not zmqflag: + cmd = "cd %s; make lib_parallel zmq=no" % srcdir +elif not mpiflag and zmqflag: + cmd = "cd %s; make lib_serial" % srcdir +elif not mpiflag and not zmqflag: + cmd = "cd %s; make lib_serial zmq=no" % srcdir + +print(cmd) +txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) +print(txt.decode('UTF-8')) + +if mpiflag: cmd = "cd %s; cp libcsmpi.a libmessage.a" % srcdir +else: cmd = "cd %s; cp libcsnompi.a libmessage.a" % srcdir +print(cmd) +txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) +print(txt.decode('UTF-8')) + +if zmqflag: cmd = "cp Makefile.lammps.zmq Makefile.lammps" +else: cmd = "cp Makefile.lammps.nozmq Makefile.lammps" +print(cmd) +txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) +print(txt.decode('UTF-8')) diff --git a/lib/message/Makefile.lammps.nozmq b/lib/message/Makefile.lammps.nozmq new file mode 100644 index 0000000000..1bb10cc988 --- /dev/null +++ b/lib/message/Makefile.lammps.nozmq @@ -0,0 +1,5 @@ +# Settings that the LAMMPS build will import when this package library is used + +message_SYSINC = +message_SYSLIB = +message_SYSPATH = diff --git a/lib/message/Makefile.lammps.zmq b/lib/message/Makefile.lammps.zmq new file mode 100644 index 0000000000..759f2ce04b --- /dev/null +++ b/lib/message/Makefile.lammps.zmq @@ -0,0 +1,5 @@ +# Settings that the LAMMPS build will import when this package library is used + +message_SYSINC = +message_SYSLIB = -lzmq +message_SYSPATH = diff --git a/lib/message/README b/lib/message/README new file mode 100644 index 0000000000..71e46a8286 --- /dev/null +++ b/lib/message/README @@ -0,0 +1,51 @@ +This directory contains the CSlib library which is required +to use the MESSAGE package and its client/server commands +in a LAMMPS input script. + +The CSlib libary is included in the LAMMPS distribution. A fuller +version including documentation and test programs is available at +http:cslib.sandia.gov (by Aug 2018) and was developed by Steve +Plimpton at Sandia National Laboratories. + +You can type "make lib-message" from the src directory to see help on +how to build this library via make commands, or you can do the same +thing by typing "python Install.py" from within this directory, or you +can do it manually by following the instructions below. + +The CSlib can be optionally built with support for sockets using +the open-source ZeroMQ (ZMQ) library. If it is not installed +on your system, it is easy to download and install. + +Go to this website: http://zeromq.org + +----------------- + +Instructions: + +1. Compile CSlib from within cslib/src with one of the following: + % make lib_parallel # build parallel library with ZMQ socket support + % make lib_serial # build serial library with ZMQ support + % make lib_parallel zmq=no # build parallel lib with no ZMQ support + % make lib_serial zmq=no # build serial lib with no ZMQ support + +2. Copy the produced cslib/src/libcsmpi.a or libscnompi.a file to + cslib/src/libmessage.a + +3. Copy either lib/message/Makefile.lammps.zmq or Makefile.lammps.nozmq + to lib/message/Makefile.lammps, depending on whether you + build the library with ZMQ support or not. + If your ZMQ library is not in a place your shell path finds, + you can set the INCLUDE and PATH variables in Makefile.lammps + to point to the dirs where the ZMQ include and library files are. + +----------------- + +When these steps are complete you can build LAMMPS +with the MESSAGAE package installed: + +% cd lammps/src +% make yes-message +% make mpi (or whatever target you wish) + +Note that if you download and unpack a new LAMMPS tarball, you will +need to re-build the CSlib in this dir. diff --git a/lib/message/cslib/LICENSE b/lib/message/cslib/LICENSE new file mode 100644 index 0000000000..41ba9bbcd0 --- /dev/null +++ b/lib/message/cslib/LICENSE @@ -0,0 +1,501 @@ +GNU LESSER GENERAL PUBLIC LICENSE + +Version 2.1, February 1999 + +Copyright (C) 1991, 1999 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom +to share and change it. By contrast, the GNU General Public Licenses +are intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. + +This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations +below. + +When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + +To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + +For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + +We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + +To protect each distributor, we want to make it very clear that there +is no warranty for the free library. Also, if the library is modified +by someone else and passed on, the recipients should know that what +they have is not the original version, so that the original author's +reputation will not be affected by problems that might be introduced +by others. + +Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + +Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + +When a program is linked with a library, whether statically or using a +shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + +We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + +For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it +becomes a de-facto standard. To achieve this, non-free programs must +be allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + +In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + +Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + +The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). Each +licensee is addressed as "you". + +A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + +The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + +"Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control +compilation and installation of the library. + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does and +what the program that uses the Library does. + +1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a +fee. + +2. You may modify your copy or copies of the Library or any portion of +it, thus forming a work based on the Library, and copy and distribute +such modifications or work under the terms of Section 1 above, +provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + +Once this change is made in a given copy, it is irreversible for that +copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + +This option is useful when you wish to copy part of the code of the +Library into a program that is not a library. + +4. You may copy and distribute the Library (or a portion or derivative +of it, under Section 2) in object code or executable form under the +terms of Sections 1 and 2 above provided that you accompany it with +the complete corresponding machine-readable source code, which must be +distributed under the terms of Sections 1 and 2 above on a medium +customarily used for software interchange. + +If distribution of object code is made by offering access to copy from +a designated place, then offering equivalent access to copy the source +code from the same place satisfies the requirement to distribute the +source code, even though third parties are not compelled to copy the +source along with the object code. + +5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a work, +in isolation, is not a derivative work of the Library, and therefore +falls outside the scope of this License. + +However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. Section +6 states terms for distribution of such executables. + +When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is +not. Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + +If such an object file uses only numerical parameters, data structure +layouts and accessors, and small macros and small inline functions +(ten lines or less in length), then the use of the object file is +unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + +Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section +6. Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + +6. As an exception to the Sections above, you may also combine or link +a "work that uses the Library" with the Library to produce a work +containing portions of the Library, and distribute that work under +terms of your choice, provided that the terms permit modification of +the work for the customer's own use and reverse engineering for +debugging such modifications. + +You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood that + the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at least + three years, to give the same user the materials specified in + Subsection 6a, above, for a charge no more than the cost of + performing this distribution. d) If distribution of the work is + made by offering access to copy from a designated place, offer + equivalent access to copy the above specified materials from the + same place. e) Verify that the user has already received a copy + of these materials or that you have already sent this user a copy. + +For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + +It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + +7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + +8. You may not copy, modify, sublicense, link with, or distribute the +Library except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, link with, or distribute the +Library is void, and will automatically terminate your rights under +this License. However, parties who have received copies, or rights, +from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + +10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted +herein. You are not responsible for enforcing compliance by third +parties with this License. + +11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply, and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + +13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. Such +new versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + +14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + +NO WARRANTY + +15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE +LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS +AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Libraries + +If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms +of the ordinary General Public License). + +To apply these terms, attach the following notices to the library. It +is safest to attach them to the start of each source file to most +effectively convey the exclusion of warranty; and each file should +have at least the "copyright" line and a pointer to where the full +notice is found. + +one line to give the library's name and an idea of what it does. +Copyright (C) year name of author + +This library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the library, +if necessary. Here is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in +the library `Frob' (a library for tweaking knobs) written +by James Random Hacker. + +signature of Ty Coon, 1 April 1990 +Ty Coon, President of Vice + +That's all there is to it! diff --git a/lib/message/cslib/README b/lib/message/cslib/README new file mode 100644 index 0000000000..1cc75861c6 --- /dev/null +++ b/lib/message/cslib/README @@ -0,0 +1,21 @@ +This is the July 2018 version of the Client/Server messaging library +(CSlib). Only the source directory and license file are included here +as part of the LAMMPS distribution. The full CSlib distribution, +including documentation and test codes, can be found at the website: +http://cslib.sandia.gov (as of Aug 2018). + +The contact author is + +Steve Plimpton +Sandia National Laboratories +sjplimp@sandia.gov +http://www.sandia.gov/~sjplimp + +The CSlib is distributed as open-source code under the GNU LGPL +license. See the accompanying LICENSE file. + +This directory contains the following: + +README this file +LICENSE GNU LGPL license +src source files for library diff --git a/lib/message/cslib/src/Makefile b/lib/message/cslib/src/Makefile new file mode 100644 index 0000000000..83cf902220 --- /dev/null +++ b/lib/message/cslib/src/Makefile @@ -0,0 +1,107 @@ +# Makefile for CSlib = client/server messaging library +# type "make help" for options + +SHELL = /bin/sh + +# ---------------------------------------- +# should only need to change this section +# compiler/linker settings +# ---------------------------------------- + +CC = g++ +CCFLAGS = -g -O3 -DZMQ_$(ZMQ) -DMPI_$(MPI) +SHFLAGS = -fPIC +ARCHIVE = ar +ARCHFLAGS = -rc +SHLIBFLAGS = -shared + +# files + +LIB = libcsmpi.a +SHLIB = libcsmpi.so +SRC = $(wildcard *.cpp) +INC = $(wildcard *.h) +OBJ = $(SRC:.cpp=.o) + +# build with ZMQ support or not + +zmq = yes +ZMQ = $(shell echo $(zmq) | tr a-z A-Z) + +ifeq ($(ZMQ),YES) + ZMQLIB = -lzmq +else + CCFLAGS += -I./STUBS_ZMQ +endif + +# build with MPI support or not + +mpi = yes +MPI = $(shell echo $(mpi) | tr a-z A-Z) + +ifeq ($(MPI),YES) + CC = mpicxx +else + CCFLAGS += -I./STUBS_MPI + LIB = libcsnompi.a + SHLIB = libcsnompi.so +endif + +# targets + +shlib: shlib_parallel shlib_serial + +lib: lib_parallel lib_serial + +all: shlib lib + +help: + @echo 'make default = shlib' + @echo 'make shlib build 2 shared CSlibs: parallel & serial' + @echo 'make lib build 2 static CSlibs: parallel & serial' + @echo 'make all build 4 CSlibs: shlib and lib' + @echo 'make shlib_parallel build shared parallel CSlib' + @echo 'make shlib_serial build shared serial CSlib' + @echo 'make lib_parallel build static parallel CSlib' + @echo 'make lib_serial build static serial CSlib' + @echo 'make ... zmq=no build w/out ZMQ support' + @echo 'make clean remove all *.o files' + @echo 'make clean-all remove *.o and lib files' + @echo 'make tar create a tarball, 2 levels up' + +shlib_parallel: + $(MAKE) clean + $(MAKE) shared zmq=$(zmq) mpi=yes + +shlib_serial: + $(MAKE) clean + $(MAKE) shared zmq=$(zmq) mpi=no + +lib_parallel: + $(MAKE) clean + $(MAKE) static zmq=$(zmq) mpi=yes + +lib_serial: + $(MAKE) clean + $(MAKE) static zmq=$(zmq) mpi=no + +static: $(OBJ) + $(ARCHIVE) $(ARCHFLAGS) $(LIB) $(OBJ) + +shared: $(OBJ) + $(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) -o $(SHLIB) $(OBJ) $(ZMQLIB) + +clean: + @rm -f *.o *.pyc + +clean-all: + @rm -f *.o *.pyc lib*.a lib*.so + +tar: + cd ../..; tar cvf cslib.tar cslib/README cslib/LICENSE \ + cslib/doc cslib/src cslib/test + +# rules + +%.o:%.cpp + $(CC) $(CCFLAGS) $(SHFLAGS) -c $< diff --git a/lib/message/cslib/src/STUBS_MPI/mpi.h b/lib/message/cslib/src/STUBS_MPI/mpi.h new file mode 100644 index 0000000000..fd2dbf8113 --- /dev/null +++ b/lib/message/cslib/src/STUBS_MPI/mpi.h @@ -0,0 +1,95 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +// MPI constants and dummy functions + +#ifndef MPI_DUMMY_H +#define MPI_DUMMY_H + +#include +#include +#include + +namespace CSLIB_NS { + +typedef int MPI_Comm; +typedef int MPI_Fint; +typedef int MPI_Datatype; +typedef int MPI_Status; +typedef int MPI_Op; +typedef int MPI_Info; + +#define MPI_COMM_WORLD 0 +#define MPI_MAX_PORT_NAME 0 +#define MPI_INFO_NULL 0 +#define MPI_INT 1 +#define MPI_LONG_LONG 2 +#define MPI_FLOAT 3 +#define MPI_DOUBLE 4 +#define MPI_CHAR 5 +#define MPI_SUM 0 + +static void MPI_Init(int *, char ***) {} +static MPI_Comm MPI_Comm_f2c(MPI_Comm world) {return world;} +static void MPI_Comm_rank(MPI_Comm, int *) {} +static void MPI_Comm_size(MPI_Comm, int *) {} + +static void MPI_Open_port(MPI_Info, char *) {} +static void MPI_Close_port(const char *) {} +static void MPI_Comm_accept(const char *, MPI_Info, int, + MPI_Comm, MPI_Comm *) {} +static void MPI_Comm_connect(const char *, MPI_Info, int, + MPI_Comm, MPI_Comm *) {} + +static void MPI_Comm_split(MPI_Comm, int, int, MPI_Comm *) {} +static void MPI_Comm_free(MPI_Comm *) {} + +static void MPI_Send(const void *, int, MPI_Datatype, int, int, MPI_Comm) {} +static void MPI_Recv(void *, int, MPI_Datatype, int, int, + MPI_Comm, MPI_Status *) {} + +static void MPI_Allreduce(const void *in, void *out, int, MPI_Datatype type, + MPI_Op op, MPI_Comm) +{ + if (type == MPI_INT) *((int *) out) = *((int *) in); +} +static void MPI_Scan(const void *in, void *out, int, MPI_Datatype intype, + MPI_Op op,MPI_Comm) +{ + if (intype == MPI_INT) *((int *) out) = *((int *) in); +} + +static void MPI_Bcast(void *, int, MPI_Datatype, int, MPI_Comm) {} +static void MPI_Allgather(const void *in, int incount, MPI_Datatype intype, + void *out, int, MPI_Datatype, MPI_Comm) +{ + // assuming incount = 1 + if (intype == MPI_INT) *((int *) out) = *((int *) in); +} +static void MPI_Allgatherv(const void *in, int incount, MPI_Datatype intype, + void *out, const int *, const int *, + MPI_Datatype, MPI_Comm) +{ + if (intype == MPI_INT) memcpy(out,in,incount*sizeof(int)); + else if (intype == MPI_LONG_LONG) memcpy(out,in,incount*sizeof(int64_t)); + else if (intype == MPI_FLOAT) memcpy(out,in,incount*sizeof(float)); + else if (intype == MPI_DOUBLE) memcpy(out,in,incount*sizeof(double)); + else if (intype == MPI_CHAR) memcpy(out,in,incount*sizeof(char)); +} + +static void MPI_Abort(MPI_Comm, int) {exit(1);} +static void MPI_Finalize() {} + +} + +#endif diff --git a/lib/message/cslib/src/STUBS_ZMQ/zmq.h b/lib/message/cslib/src/STUBS_ZMQ/zmq.h new file mode 100644 index 0000000000..af920974cd --- /dev/null +++ b/lib/message/cslib/src/STUBS_ZMQ/zmq.h @@ -0,0 +1,35 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +// ZMQ constants and dummy functions + +#ifndef ZMQ_DUMMY_H +#define ZMQ_DUMMY_H + +namespace CSLIB_NS { + +#define ZMQ_REQ 0 +#define ZMQ_REP 0 + +static void *zmq_ctx_new() {return NULL;} +static void *zmq_connect(void *, char *) {return NULL;} +static int zmq_bind(void *, char *) {return 0;} +static void *zmq_socket(void *,int) {return NULL;} +static void zmq_close(void *) {} +static void zmq_ctx_destroy(void *) {} +static void zmq_send(void *, void *, int, int) {} +static void zmq_recv(void *, void *, int, int) {} + +}; + +#endif diff --git a/lib/message/cslib/src/cslib.cpp b/lib/message/cslib/src/cslib.cpp new file mode 100644 index 0000000000..8b4d27f134 --- /dev/null +++ b/lib/message/cslib/src/cslib.cpp @@ -0,0 +1,768 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include + +#include "cslib.h" +#include "msg_file.h" +#include "msg_zmq.h" +#include "msg_mpi_one.h" +#include "msg_mpi_two.h" + +using namespace CSLIB_NS; + +#define MAXTYPE 5 // # of defined field data types + +/* ---------------------------------------------------------------------- */ + +CSlib::CSlib(int csflag, const char *mode, const void *ptr, const void *pcomm) +{ + if (pcomm) myworld = (uint64_t) *((MPI_Comm *) pcomm); + else myworld = 0; + +#ifdef MPI_NO + if (pcomm) + error_all("constructor(): CSlib invoked with MPI_Comm " + "but built w/out MPI support"); +#endif +#ifdef MPI_YES // NOTE: this could be OK to allow ?? + // would allow a parallel app to invoke CSlib + // in parallel and/or in serial + if (!pcomm) + error_all("constructor(): CSlib invoked w/out MPI_Comm " + "but built with MPI support"); +#endif + + client = server = 0; + if (csflag == 0) client = 1; + else if (csflag == 1) server = 1; + else error_all("constructor(): Invalid client/server arg"); + + if (pcomm == NULL) { + me = 0; + nprocs = 1; + + if (strcmp(mode,"file") == 0) msg = new MsgFile(csflag,ptr); + else if (strcmp(mode,"zmq") == 0) msg = new MsgZMQ(csflag,ptr); + else if (strcmp(mode,"mpi/one") == 0) + error_all("constructor(): No mpi/one mode for serial lib usage"); + else if (strcmp(mode,"mpi/two") == 0) + error_all("constructor(): No mpi/two mode for serial lib usage"); + else error_all("constructor(): Unknown mode"); + + } else if (pcomm) { + MPI_Comm world = (MPI_Comm) myworld; + MPI_Comm_rank(world,&me); + MPI_Comm_size(world,&nprocs); + + if (strcmp(mode,"file") == 0) msg = new MsgFile(csflag,ptr,world); + else if (strcmp(mode,"zmq") == 0) msg = new MsgZMQ(csflag,ptr,world); + else if (strcmp(mode,"mpi/one") == 0) msg = new MsgMPIOne(csflag,ptr,world); + else if (strcmp(mode,"mpi/two") == 0) msg = new MsgMPITwo(csflag,ptr,world); + else error_all("constructor(): Unknown mode"); + } + + maxfield = 0; + fieldID = fieldtype = fieldlen = fieldoffset = NULL; + maxheader = 0; + header = NULL; + maxbuf = 0; + buf = NULL; + + recvcounts = displs = NULL; + maxglobal = 0; + allids = NULL; + maxfieldbytes = 0; + fielddata = NULL; + + pad = "\0\0\0\0\0\0\0"; // just length 7 since will have trailing NULL + + nsend = nrecv = 0; +} + +/* ---------------------------------------------------------------------- */ + +CSlib::~CSlib() +{ + deallocate_fields(); + sfree(header); + sfree(buf); + + sfree(recvcounts); + sfree(displs); + sfree(allids); + sfree(fielddata); + + delete msg; +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::send(int msgID_caller, int nfield_caller) +{ + if (nfield_caller < 0) error_all("send(): Invalid nfield"); + + msgID = msgID_caller; + nfield = nfield_caller; + allocate_fields(); + + fieldcount = 0; + nbuf = 0; + + if (fieldcount == nfield) send_message(); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack_int(int id, int value) +{ + pack(id,1,1,&value); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack_int64(int id, int64_t value) +{ + pack(id,2,1,&value); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack_float(int id, float value) +{ + pack(id,3,1,&value); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack_double(int id, double value) +{ + pack(id,4,1,&value); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack_string(int id, char *value) +{ + pack(id,5,strlen(value)+1,value); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack(int id, int ftype, int flen, void *data) +{ + if (find_field(id,fieldcount) >= 0) + error_all("pack(): Reuse of field ID"); + if (ftype < 1 || ftype > MAXTYPE) error_all("pack(): Invalid ftype"); + if (flen < 0) error_all("pack(): Invalid flen"); + + fieldID[fieldcount] = id; + fieldtype[fieldcount] = ftype; + fieldlen[fieldcount] = flen; + + int nbytes,nbytesround; + onefield(ftype,flen,nbytes,nbytesround); + + memcpy(&buf[nbuf],data,nbytes); + memcpy(&buf[nbuf+nbytes],pad,nbytesround-nbytes); + nbuf += nbytesround; + + fieldcount++; + if (fieldcount == nfield) send_message(); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack_parallel(int id, int ftype, + int nlocal, int *ids, int nper, void *data) +{ + int i,j,k,m; + + if (find_field(id,fieldcount) >= 0) + error_all("pack_parallel(): Reuse of field ID"); + if (ftype < 1 || ftype > MAXTYPE) error_all("pack_parallel(): Invalid ftype"); + if (nlocal < 0) error_all("pack_parallel(): Invalid nlocal"); + if (nper < 1) error_all("pack_parallel(): Invalid nper"); + + MPI_Comm world = (MPI_Comm) myworld; + + // NOTE: check for overflow of maxglobal and flen + + int nglobal; + MPI_Allreduce(&nlocal,&nglobal,1,MPI_INT,MPI_SUM,world); + int flen = nper*nglobal; + + fieldID[fieldcount] = id; + fieldtype[fieldcount] = ftype; + fieldlen[fieldcount] = flen; + + // nlocal datums, each of nper length, from all procs + // final data in buf = datums for all natoms, ordered by ids + + if (recvcounts == NULL) { + recvcounts = (int *) smalloc(nprocs*sizeof(int)); + displs = (int *) smalloc(nprocs*sizeof(int)); + } + + MPI_Allgather(&nlocal,1,MPI_INT,recvcounts,1,MPI_INT,world); + + displs[0] = 0; + for (int iproc = 1; iproc < nprocs; iproc++) + displs[iproc] = displs[iproc-1] + recvcounts[iproc-1]; + + if (ids && nglobal > maxglobal) { + sfree(allids); + maxglobal = nglobal; + // NOTE: maxglobal*sizeof(int) could overflow int + allids = (int *) smalloc(maxglobal*sizeof(int)); + } + + MPI_Allgatherv(ids,nlocal,MPI_INT,allids, + recvcounts,displs,MPI_INT,world); + + int nlocalsize = nper*nlocal; + MPI_Allgather(&nlocalsize,1,MPI_INT,recvcounts,1,MPI_INT,world); + + displs[0] = 0; + for (int iproc = 1; iproc < nprocs; iproc++) + displs[iproc] = displs[iproc-1] + recvcounts[iproc-1]; + + int nbytes,nbytesround; + onefield(ftype,flen,nbytes,nbytesround); + + if (ftype == 1) { + int *alldata; + if (ids) { + if (nbytes > maxfieldbytes) { + sfree(fielddata); + maxfieldbytes = nbytes; + fielddata = (char *) smalloc(maxfieldbytes); + } + alldata = (int *) fielddata; + } else alldata = (int *) &buf[nbuf]; + MPI_Allgatherv(data,nlocalsize,MPI_INT,alldata, + recvcounts,displs,MPI_INT,world); + if (ids) { + int *bufptr = (int *) &buf[nbuf]; + m = 0; + for (i = 0; i < nglobal; i++) { + j = (allids[i]-1) * nper; + if (nper == 1) bufptr[j] = alldata[m++]; + else + for (k = 0; k < nper; k++) + bufptr[j++] = alldata[m++]; + } + } + + } else if (ftype == 2) { + int64_t *alldata; + if (ids) { + if (nbytes > maxfieldbytes) { + sfree(fielddata); + maxfieldbytes = nbytes; + fielddata = (char *) smalloc(maxfieldbytes); + } + alldata = (int64_t *) fielddata; + } else alldata = (int64_t *) &buf[nbuf]; + // NOTE: may be just MPI_LONG on some machines + MPI_Allgatherv(data,nlocalsize,MPI_LONG_LONG,alldata, + recvcounts,displs,MPI_LONG_LONG,world); + if (ids) { + int64_t *bufptr = (int64_t *) &buf[nbuf]; + m = 0; + for (i = 0; i < nglobal; i++) { + j = (allids[i]-1) * nper; + if (nper == 1) bufptr[j] = alldata[m++]; + else + for (k = 0; k < nper; k++) + bufptr[j++] = alldata[m++]; + } + } + + } else if (ftype == 3) { + float *alldata; + if (ids) { + if (nbytes > maxfieldbytes) { + sfree(fielddata); + maxfieldbytes = nbytes; + fielddata = (char *) smalloc(maxfieldbytes); + } + alldata = (float *) fielddata; + } else alldata = (float *) &buf[nbuf]; + MPI_Allgatherv(data,nlocalsize,MPI_FLOAT,alldata, + recvcounts,displs,MPI_FLOAT,world); + if (ids) { + float *bufptr = (float *) &buf[nbuf]; + m = 0; + for (i = 0; i < nglobal; i++) { + j = (allids[i]-1) * nper; + if (nper == 1) bufptr[j] = alldata[m++]; + else + for (k = 0; k < nper; k++) + bufptr[j++] = alldata[m++]; + } + } + + } else if (ftype == 4) { + double *alldata; + if (ids) { + if (nbytes > maxfieldbytes) { + sfree(fielddata); + maxfieldbytes = nbytes; + fielddata = (char *) smalloc(maxfieldbytes); + } + alldata = (double *) fielddata; + } else alldata = (double *) &buf[nbuf]; + MPI_Allgatherv(data,nlocalsize,MPI_DOUBLE,alldata, + recvcounts,displs,MPI_DOUBLE,world); + if (ids) { + double *bufptr = (double *) &buf[nbuf]; + m = 0; + for (i = 0; i < nglobal; i++) { + j = (allids[i]-1) * nper; + if (nper == 1) bufptr[j] = alldata[m++]; + else + for (k = 0; k < nper; k++) + bufptr[j++] = alldata[m++]; + } + } + + /* eventually ftype = BYTE, but not yet + } else if (ftype == 5) { + char *alldata; + if (ids) { + if (nbytes > maxfieldbytes) { + sfree(fielddata); + maxfieldbytes = nbytes; + fielddata = (char *) smalloc(maxfieldbytes); + } + alldata = (char *) fielddata; + } else alldata = (char *) &buf[nbuf]; + MPI_Allgatherv(data,nlocalsize,MPI_CHAR,alldata, + recvcounts,displs,MPI_CHAR,world); + if (ids) { + char *bufptr = (char *) &buf[nbuf]; + m = 0; + for (i = 0; i < nglobal; i++) { + j = (allids[i]-1) * nper; + memcpy(&bufptr[j],&alldata[m],nper); + m += nper; + } + } + */ + } + + memcpy(&buf[nbuf+nbytes],pad,nbytesround-nbytes); + nbuf += nbytesround; + + fieldcount++; + if (fieldcount == nfield) send_message(); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::send_message() +{ + // setup header message + + int m = 0; + header[m++] = msgID; + header[m++] = nfield; + for (int ifield = 0; ifield < nfield; ifield++) { + header[m++] = fieldID[ifield]; + header[m++] = fieldtype[ifield]; + header[m++] = fieldlen[ifield]; + } + + msg->send(nheader,header,nbuf,buf); + nsend++; +} + +/* ---------------------------------------------------------------------- */ + +int CSlib::recv(int &nfield_caller, int *&fieldID_caller, + int *&fieldtype_caller, int *&fieldlen_caller) +{ + msg->recv(maxheader,header,maxbuf,buf); + nrecv++; + + // unpack header message + + int m = 0; + msgID = header[m++]; + nfield = header[m++]; + allocate_fields(); + + int nbytes,nbytesround; + + nbuf = 0; + for (int ifield = 0; ifield < nfield; ifield++) { + fieldID[ifield] = header[m++]; + fieldtype[ifield] = header[m++]; + fieldlen[ifield] = header[m++]; + fieldoffset[ifield] = nbuf; + onefield(fieldtype[ifield],fieldlen[ifield],nbytes,nbytesround); + nbuf += nbytesround; + } + + // return message parameters + + nfield_caller = nfield; + fieldID_caller = fieldID; + fieldtype_caller = fieldtype; + fieldlen_caller = fieldlen; + + return msgID; +} + +/* ---------------------------------------------------------------------- */ + +int CSlib::unpack_int(int id) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack_int(): Unknown field ID"); + if (fieldtype[ifield] != 1) error_all("unpack_int(): Mis-match of ftype"); + if (fieldlen[ifield] != 1) error_all("unpack_int(): Flen is not 1"); + + int *ptr = (int *) unpack(id); + return *ptr; +} + +/* ---------------------------------------------------------------------- */ + +int64_t CSlib::unpack_int64(int id) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack_int64(): Unknown field ID"); + if (fieldtype[ifield] != 2) error_all("unpack_int64(): Mis-match of ftype"); + if (fieldlen[ifield] != 1) error_all("unpack_int64(): Flen is not 1"); + + int64_t *ptr = (int64_t *) unpack(id); + return *ptr; +} + +/* ---------------------------------------------------------------------- */ + +float CSlib::unpack_float(int id) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack_float(): Unknown field ID"); + if (fieldtype[ifield] != 3) error_all("unpack_float(): Mis-match of ftype"); + if (fieldlen[ifield] != 1) error_all("unpack_float(): Flen is not 1"); + + float *ptr = (float *) unpack(id); + return *ptr; +} + +/* ---------------------------------------------------------------------- */ + +double CSlib::unpack_double(int id) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack_double(): Unknown field ID"); + if (fieldtype[ifield] != 4) error_all("unpack_double(): Mis-match of ftype"); + if (fieldlen[ifield] != 1) error_all("unpack_double(): Flen is not 1"); + + double *ptr = (double *) unpack(id); + return *ptr; +} + +/* ---------------------------------------------------------------------- */ + +char *CSlib::unpack_string(int id) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack_string(): Unknown field ID"); + if (fieldtype[ifield] != 5) error_all("unpack_string(): Mis-match of ftype"); + + char *ptr = (char *) unpack(id); + return ptr; +} + +/* ---------------------------------------------------------------------- */ + +void *CSlib::unpack(int id) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack(): Unknown field ID"); + return &buf[fieldoffset[ifield]]; +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::unpack(int id, void *data) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack(): Unknown field ID"); + + int ftype = fieldtype[ifield]; + int nbytes = fieldlen[ifield]; + if (ftype == 1) nbytes *= sizeof(int); + else if (ftype == 2) nbytes *= sizeof(int64_t); + else if (ftype == 3) nbytes *= sizeof(float); + else if (ftype == 4) nbytes *= sizeof(double); + memcpy(data,&buf[fieldoffset[ifield]],nbytes); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::unpack_parallel(int id, int nlocal, int *ids, int nper, void *data) +{ + int i,j,k,m; + + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack_parallel(): Unknown field ID"); + if (nlocal < 0) error_all("unpack_parallel(): Invalid nlocal"); + if (nper < 1) error_all("pack_parallel(): Invalid nper"); + + MPI_Comm world = (MPI_Comm) myworld; + + int upto; + if (!ids) { + MPI_Scan(&nlocal,&upto,1,MPI_INT,MPI_SUM,world); + upto -= nlocal; + } + + if (fieldtype[ifield] == 1) { + int *local = (int *) data; + int *global = (int *) &buf[fieldoffset[ifield]]; + if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(int)); + else { + m = 0; + for (i = 0; i < nlocal; i++) { + j = (ids[i]-1) * nper; + if (nper == 1) local[m++] = global[j]; + else + for (k = 0; k < nper; k++) + local[m++] = global[j++]; + } + } + + } else if (fieldtype[ifield] == 2) { + int64_t *local = (int64_t *) data; + int64_t *global = (int64_t *) &buf[fieldoffset[ifield]]; + if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(int64_t)); + else { + m = 0; + for (i = 0; i < nlocal; i++) { + j = (ids[i]-1) * nper; + if (nper == 1) local[m++] = global[j]; + else + for (k = 0; k < nper; k++) + local[m++] = global[j++]; + } + } + + } else if (fieldtype[ifield] == 3) { + float *local = (float *) data; + float *global = (float *) &buf[fieldoffset[ifield]]; + if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(float)); + else { + m = 0; + for (i = 0; i < nlocal; i++) { + j = (ids[i]-1) * nper; + if (nper == 1) local[m++] = global[j]; + else + for (k = 0; k < nper; k++) + local[m++] = global[j++]; + } + } + + } else if (fieldtype[ifield] == 4) { + double *local = (double *) data; + double *global = (double *) &buf[fieldoffset[ifield]]; + if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(double)); + else { + m = 0; + for (i = 0; i < nlocal; i++) { + j = (ids[i]-1) * nper; + if (nper == 1) local[m++] = global[j]; + else + for (k = 0; k < nper; k++) + local[m++] = global[j++]; + } + } + + /* eventually ftype = BYTE, but not yet + } else if (fieldtype[ifield] == 5) { + char *local = (char *) data; + char *global = (char *) &buf[fieldoffset[ifield]]; + if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(char)); + else { + m = 0; + for (i = 0; i < nlocal; i++) { + j = (ids[i]-1) * nper; + memcpy(&local[m],&global[j],nper); + m += nper; + } + } + */ + } +} + +/* ---------------------------------------------------------------------- */ + +int CSlib::extract(int flag) +{ + if (flag == 1) return nsend; + if (flag == 2) return nrecv; + error_all("extract(): Invalid flag"); + return 0; +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::onefield(int ftype, int flen, int &nbytes, int &nbytesround) +{ + int64_t bigbytes,bigbytesround; + int64_t biglen = flen; + + if (ftype == 1) bigbytes = biglen * sizeof(int); + else if (ftype == 2) bigbytes = biglen * sizeof(int64_t); + else if (ftype == 3) bigbytes = biglen * sizeof(float); + else if (ftype == 4) bigbytes = biglen * sizeof(double); + else if (ftype == 5) bigbytes = biglen * sizeof(char); + bigbytesround = roundup(bigbytes,8); + + if (nbuf + bigbytesround > INT_MAX) + error_all("pack(): Message size exceeds 32-bit integer limit"); + + nbytes = (int) bigbytes; + nbytesround = (int) bigbytesround; + if (nbuf + nbytesround > maxbuf) { + maxbuf = nbuf + nbytesround; + buf = (char *) srealloc(buf,maxbuf); + } +} + +/* ---------------------------------------------------------------------- */ + +int CSlib::find_field(int id, int n) +{ + int ifield; + for (ifield = 0; ifield < n; ifield++) + if (id == fieldID[ifield]) return ifield; + return -1; +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::allocate_fields() +{ + int64_t bigbytes = (2 + 3*((int64_t) nfield)) * sizeof(int); + if (bigbytes > INT_MAX) + error_all("send(): Message header size exceeds 32-bit integer limit"); + + nheader = 2; + nheader += 3 * nfield; + + if (nfield > maxfield) { + deallocate_fields(); + maxfield = nfield; + fieldID = new int[maxfield]; + fieldtype = new int[maxfield]; + fieldlen = new int[maxfield]; + fieldoffset = new int[maxfield]; + } + + if (nheader > maxheader) { + sfree(header); + maxheader = nheader; + header = (int *) smalloc(maxheader*sizeof(int)); + } +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::deallocate_fields() +{ + delete [] fieldID; + delete [] fieldtype; + delete [] fieldlen; + delete [] fieldoffset; +} + +/* ---------------------------------------------------------------------- */ + +void *CSlib::smalloc(int nbytes) +{ + if (nbytes == 0) return NULL; + void *ptr = malloc(nbytes); + if (ptr == NULL) { + char str[128]; + sprintf(str,"malloc(): Failed to allocate %d bytes",nbytes); + error_one(str); + } + return ptr; +} + +/* ---------------------------------------------------------------------- */ + +void *CSlib::srealloc(void *ptr, int nbytes) +{ + if (nbytes == 0) { + sfree(ptr); + return NULL; + } + + ptr = realloc(ptr,nbytes); + if (ptr == NULL) { + char str[128]; + sprintf(str,"realloc(): Failed to reallocate %d bytes",nbytes); + error_one(str); + } + return ptr; +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::sfree(void *ptr) +{ + if (ptr == NULL) return; + free(ptr); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::error_all(const char *str) +{ + if (me == 0) printf("CSlib ERROR: %s\n",str); + MPI_Comm world = (MPI_Comm) myworld; + MPI_Abort(world,1); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::error_one(const char *str) +{ + printf("CSlib ERROR: %s\n",str); + MPI_Comm world = (MPI_Comm) myworld; + MPI_Abort(world,1); +} + +/* ---------------------------------------------------------------------- + round N up to multiple of nalign and return it + NOTE: see mapreduce/src/keyvalue.cpp for doing this as uint64_t +------------------------------------------------------------------------- */ + +int64_t CSlib::roundup(int64_t n, int nalign) +{ + if (n % nalign == 0) return n; + n = (n/nalign + 1) * nalign; + return n; +} diff --git a/lib/message/cslib/src/cslib.h b/lib/message/cslib/src/cslib.h new file mode 100644 index 0000000000..20d82a2469 --- /dev/null +++ b/lib/message/cslib/src/cslib.h @@ -0,0 +1,87 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#ifndef CSLIB_H +#define CSLIB_H + +#include + +namespace CSLIB_NS { + +class CSlib { + public: + int nsend,nrecv; + + CSlib(int, const char *, const void *, const void *); + ~CSlib(); + + void send(int, int); + + void pack_int(int, int); + void pack_int64(int, int64_t); + void pack_float(int, float); + void pack_double(int, double); + void pack_string(int, char *); + void pack(int, int, int, void *); + void pack_parallel(int, int, int, int *, int, void *); + + int recv(int &, int *&, int *&, int *&); + + int unpack_int(int); + int64_t unpack_int64(int); + float unpack_float(int); + double unpack_double(int); + char *unpack_string(int); + void *unpack(int); + void unpack(int, void *); + void unpack_parallel(int, int, int *, int, void *); + + int extract(int); + + private: + uint64_t myworld; // really MPI_Comm, but avoids use of mpi.h in this file + // so apps can include this file w/ no MPI on system + int me,nprocs; + int client,server; + int nfield,maxfield; + int msgID,fieldcount; + int nheader,maxheader; + int nbuf,maxbuf; + int maxglobal,maxfieldbytes; + int *fieldID,*fieldtype,*fieldlen,*fieldoffset; + int *header; + int *recvcounts,*displs; // nprocs size for Allgathers + int *allids; // nglobal size for pack_parallel() + char *buf; // maxbuf size for msg with all fields + char *fielddata; // maxfieldbytes size for one global field + const char *pad; + + class Msg *msg; + + void send_message(); + void onefield(int, int, int &, int &); + int find_field(int, int); + void allocate_fields(); + void deallocate_fields(); + int64_t roundup(int64_t, int); + void *smalloc(int); + void *srealloc(void *, int); + void sfree(void *); + void error_all(const char *); + void error_one(const char *); +}; + +} + +#endif diff --git a/lib/message/cslib/src/cslib.py b/lib/message/cslib/src/cslib.py new file mode 100644 index 0000000000..e2ed78b61b --- /dev/null +++ b/lib/message/cslib/src/cslib.py @@ -0,0 +1,362 @@ +# ------------------------------------------------------------------------ +# CSlib - Client/server library for code coupling +# http://cslib.sandia.gov, Sandia National Laboratories +# Steve Plimpton, sjplimp@sandia.gov +# +# Copyright 2018 National Technology & Engineering Solutions of +# Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with +# NTESS, the U.S. Government retains certain rights in this software. +# This software is distributed under the GNU Lesser General Public +# License (LGPL). +# +# See the README file in the top-level CSlib directory. +# ------------------------------------------------------------------------- + +# Python wrapper on CSlib library via ctypes + +# ctypes and Numpy data types: +# 32-bit int = c_int = np.intc = np.int32 +# 64-bit int = c_longlong = np.int64 +# 32-bit floating point = c_float = np.float32 +# 64-bit floating point = c_double = np.float = np.float64 + +import sys,traceback +from ctypes import * + +# Numpy and mpi4py packages may not exist + +try: + import numpy as np + numpyflag = 1 +except: + numpyflag = 0 + +try: + from mpi4py import MPI + mpi4pyflag = 1 +except: + mpi4pyflag = 0 + +# wrapper class + +class CSlib: + + # instantiate CSlib thru its C-interface + + def __init__(self,csflag,mode,ptr,comm): + + # load libcslib.so + + try: + if comm: self.lib = CDLL("libcsmpi.so",RTLD_GLOBAL) + else: self.lib = CDLL("libcsnompi.so",RTLD_GLOBAL) + except: + etype,value,tb = sys.exc_info() + traceback.print_exception(etype,value,tb) + raise OSError,"Could not load CSlib dynamic library" + + # define ctypes API for each library method + + self.lib.cslib_open.argtypes = [c_int,c_char_p,c_void_p,c_void_p, + POINTER(c_void_p)] + self.lib.cslib_open.restype = None + + self.lib.cslib_close.argtypes = [c_void_p] + self.lib.cslib_close.restype = None + + self.lib.cslib_send.argtypes = [c_void_p,c_int,c_int] + self.lib.cslib_send.restype = None + + self.lib.cslib_pack_int.argtypes = [c_void_p,c_int,c_int] + self.lib.cslib_pack_int.restype = None + + self.lib.cslib_pack_int64.argtypes = [c_void_p,c_int,c_longlong] + self.lib.cslib_pack_int64.restype = None + + self.lib.cslib_pack_float.argtypes = [c_void_p,c_int,c_float] + self.lib.cslib_pack_float.restype = None + + self.lib.cslib_pack_double.argtypes = [c_void_p,c_int,c_double] + self.lib.cslib_pack_double.restype = None + + self.lib.cslib_pack_string.argtypes = [c_void_p,c_int,c_char_p] + self.lib.cslib_pack_string.restype = None + + self.lib.cslib_pack.argtypes = [c_void_p,c_int,c_int,c_int,c_void_p] + self.lib.cslib_pack.restype = None + + self.lib.cslib_pack_parallel.argtypes = [c_void_p,c_int,c_int,c_int, + POINTER(c_int),c_int,c_void_p] + self.lib.cslib_pack_parallel.restype = None + + self.lib.cslib_recv.argtypes = [c_void_p,POINTER(c_int), + POINTER(POINTER(c_int)), + POINTER(POINTER(c_int)), + POINTER(POINTER(c_int))] + self.lib.cslib_recv.restype = c_int + + self.lib.cslib_unpack_int.argtypes = [c_void_p,c_int] + self.lib.cslib_unpack_int.restype = c_int + + self.lib.cslib_unpack_int64.argtypes = [c_void_p,c_int] + self.lib.cslib_unpack_int64.restype = c_longlong + + self.lib.cslib_unpack_float.argtypes = [c_void_p,c_int] + self.lib.cslib_unpack_float.restype = c_float + + self.lib.cslib_unpack_double.argtypes = [c_void_p,c_int] + self.lib.cslib_unpack_double.restype = c_double + + self.lib.cslib_unpack_string.argtypes = [c_void_p,c_int] + self.lib.cslib_unpack_string.restype = c_char_p + + # override return in unpack() + self.lib.cslib_unpack.argtypes = [c_void_p,c_int] + self.lib.cslib_unpack.restype = c_void_p + + self.lib.cslib_unpack_data.argtypes = [c_void_p,c_int,c_void_p] + self.lib.cslib_unpack_data.restype = None + + # override last arg in unpack_parallel() + self.lib.cslib_unpack_parallel.argtypes = [c_void_p,c_int,c_int, + POINTER(c_int),c_int,c_void_p] + self.lib.cslib_unpack_parallel.restype = None + + self.lib.cslib_extract.argtypes = [c_void_p,c_int] + self.lib.cslib_extract.restype = c_int + + # create an instance of CSlib with or w/out MPI communicator + + self.cs = c_void_p() + + if not comm: + self.lib.cslib_open(csflag,mode,ptr,None,byref(self.cs)) + elif not mpi4pyflag: + print "Cannot pass MPI communicator to CSlib w/out mpi4py package" + sys.exit() + else: + address = MPI._addressof(comm) + comm_ptr = c_void_p(address) + if mode == "mpi/one": + address = MPI._addressof(ptr) + ptrcopy = c_void_p(address) + else: ptrcopy = ptr + self.lib.cslib_open(csflag,mode,ptrcopy,comm_ptr,byref(self.cs)) + + # destroy instance of CSlib + + def __del__(self): + if self.cs: self.lib.cslib_close(self.cs) + + def close(self): + self.lib.cslib_close(self.cs) + self.lib = None + + # send a message + + def send(self,msgID,nfield): + self.nfield = nfield + self.lib.cslib_send(self.cs,msgID,nfield) + + # pack one field of message + + def pack_int(self,id,value): + self.lib.cslib_pack_int(self.cs,id,value) + + def pack_int64(self,id,value): + self.lib.cslib_pack_int64(self.cs,id,value) + + def pack_float(self,id,value): + self.lib.cslib_pack_float(self.cs,id,value) + + def pack_double(self,id,value): + self.lib.cslib_pack_double(self.cs,id,value) + + def pack_string(self,id,value): + self.lib.cslib_pack_string(self.cs,id,value) + + def pack(self,id,ftype,flen,data): + cdata = self.data_convert(ftype,flen,data) + self.lib.cslib_pack(self.cs,id,ftype,flen,cdata) + + def pack_parallel(self,id,ftype,nlocal,ids,nper,data): + cids = self.data_convert(1,nlocal,ids) + cdata = self.data_convert(ftype,nper*nlocal,data) + self.lib.cslib_pack_parallel(self.cs,id,ftype,nlocal,cids,nper,cdata) + + # convert input data to a ctypes vector to pass to CSlib + + def data_convert(self,ftype,flen,data): + + # tflag = type of data + # tflag = 1 if data is list or tuple + # tflag = 2 if data is Numpy array + # tflag = 3 if data is ctypes vector + # same usage of tflag as in unpack function + + txttype = str(type(data)) + if "numpy" in txttype: tflag = 2 + elif "c_" in txttype: tflag = 3 + else: tflag = 1 + + # create ctypes vector out of data to pass to lib + # cdata = ctypes vector to return + # NOTE: error check on ftype and tflag everywhere, also flen + + if ftype == 1: + if tflag == 1: cdata = (flen * c_int)(*data) + elif tflag == 2: cdata = data.ctypes.data_as(POINTER(c_int)) + elif tflag == 3: cdata = data + elif ftype == 2: + if tflag == 1: cdata = (flen * c_longlong)(*data) + elif tflag == 2: cdata = data.ctypes.data_as(POINTER(c_longlong)) + elif tflag == 3: cdata = data + elif ftype == 3: + if tflag == 1: cdata = (flen * c_float)(*data) + elif tflag == 2: cdata = data.ctypes.data_as(POINTER(c_float)) + elif tflag == 3: cdata = data + elif ftype == 4: + if tflag == 1: cdata = (flen * c_double)(*data) + elif tflag == 2: cdata = data.ctypes.data_as(POINTER(c_double)) + elif tflag == 3: cdata = data + + return cdata + + # receive a message + + def recv(self): + self.lib.cslib_recv.restype = c_int + nfield = c_int() + fieldID = POINTER(c_int)() + fieldtype = POINTER(c_int)() + fieldlen = POINTER(c_int)() + msgID = self.lib.cslib_recv(self.cs,byref(nfield), + byref(fieldID),byref(fieldtype),byref(fieldlen)) + + # copy returned C args to native Python int and lists + # store them in class so unpack() methods can access the info + + self.nfield = nfield = nfield.value + self.fieldID = fieldID[:nfield] + self.fieldtype = fieldtype[:nfield] + self.fieldlen = fieldlen[:nfield] + + return msgID,self.nfield,self.fieldID,self.fieldtype,self.fieldlen + + # unpack one field of message + # tflag = type of data to return + # 3 = ctypes vector is default, since no conversion required + + def unpack_int(self,id): + return self.lib.cslib_unpack_int(self.cs,id) + + def unpack_int64(self,id): + return self.lib.cslib_unpack_int64(self.cs,id) + + def unpack_float(self,id): + return self.lib.cslib_unpack_float(self.cs,id) + + def unpack_double(self,id): + return self.lib.cslib_unpack_double(self.cs,id) + + def unpack_string(self,id): + return self.lib.cslib_unpack_string(self.cs,id) + + def unpack(self,id,tflag=3): + index = self.fieldID.index(id) + + # reset data type of return so can morph by tflag + # cannot do this for the generic c_void_p returned by CSlib + + if self.fieldtype[index] == 1: + self.lib.cslib_unpack.restype = POINTER(c_int) + elif self.fieldtype[index] == 2: + self.lib.cslib_unpack.restype = POINTER(c_longlong) + elif self.fieldtype[index] == 3: + self.lib.cslib_unpack.restype = POINTER(c_float) + elif self.fieldtype[index] == 4: + self.lib.cslib_unpack.restype = POINTER(c_double) + #elif self.fieldtype[index] == 5: + # self.lib.cslib_unpack.restype = POINTER(c_char) + + cdata = self.lib.cslib_unpack(self.cs,id) + + # tflag = user-requested type of data to return + # tflag = 1 to return data as list + # tflag = 2 to return data as Numpy array + # tflag = 3 to return data as ctypes vector + # same usage of tflag as in pack functions + # tflag = 2,3 should NOT perform a data copy + + if tflag == 1: + data = cdata[:self.fieldlen[index]] + elif tflag == 2: + if numpyflag == 0: + print "Cannot return Numpy array w/out numpy package" + sys.exit() + data = np.ctypeslib.as_array(cdata,shape=(self.fieldlen[index],)) + elif tflag == 3: + data = cdata + + return data + + # handle data array like pack() or unpack_parallel() ?? + + def unpack_data(self,id,tflag=3): + index = self.fieldID.index(id) + + # unpack one field of message in parallel + # tflag = type of data to return + # 3 = ctypes vector is default, since no conversion required + # NOTE: allow direct use of user array (e.g. Numpy), if user provides data arg? + # as opposed to creating this cdata + # does that make any performance difference ? + # e.g. should we allow CSlib to populate an existing Numpy array's memory + + def unpack_parallel(self,id,nlocal,ids,nper,tflag=3): + cids = self.data_convert(1,nlocal,ids) + + # allocate memory for the returned data + # pass cdata ptr to the memory to CSlib unpack_parallel() + # this resets data type of last unpack_parallel() arg + + index = self.fieldID.index(id) + if self.fieldtype[index] == 1: cdata = (nper*nlocal * c_int)() + elif self.fieldtype[index] == 2: cdata = (nlocal*nper * c_longlong)() + elif self.fieldtype[index] == 3: cdata = (nlocal*nper * c_float)() + elif self.fieldtype[index] == 4: cdata = (nlocal*nper * c_double)() + #elif self.fieldtype[index] == 5: cdata = (nlocal*nper * c_char)() + + self.lib.cslib_unpack_parallel(self.cs,id,nlocal,cids,nper,cdata) + + # tflag = user-requested type of data to return + # tflag = 1 to return data as list + # tflag = 2 to return data as Numpy array + # tflag = 3 to return data as ctypes vector + # same usage of tflag as in pack functions + + if tflag == 1: + data = cdata[:nper*nlocal] + elif tflag == 2: + if numpyflag == 0: + print "Cannot return Numpy array w/out numpy package" + sys.exit() + # NOTE: next line gives ctypes warning for fieldtype = 2 = 64-bit int + # not sure why, reported as bug between ctypes and Numpy here: + # https://stackoverflow.com/questions/4964101/pep-3118- + # warning-when-using-ctypes-array-as-numpy-array + # but why not same warning when just using unpack() ?? + # in Python these lines give same warning: + # >>> import ctypes,numpy + # >>> a = (10 * ctypes.c_longlong)() + # >>> b = numpy.ctypeslib.as_array(a) + data = np.ctypeslib.as_array(cdata,shape=(nlocal*nper,)) + elif tflag == 3: + data = cdata + + return data + + # extract a library value + + def extract(self,flag): + return self.lib.cslib_extract(self.cs,flag) diff --git a/lib/message/cslib/src/cslib_wrap.cpp b/lib/message/cslib/src/cslib_wrap.cpp new file mode 100644 index 0000000000..453948f783 --- /dev/null +++ b/lib/message/cslib/src/cslib_wrap.cpp @@ -0,0 +1,239 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +// C style library interface to CSlib class + +#include +#include +#include +#include +#include + +#include "cslib_wrap.h" +#include "cslib.h" + +using namespace CSLIB_NS; + +// ---------------------------------------------------------------------- + +void cslib_open(int csflag, const char *mode, const void *ptr, + const void *pcomm, void **csptr) +{ + CSlib *cs = new CSlib(csflag,mode,ptr,pcomm); + *csptr = (void *) cs; +} + +// ---------------------------------------------------------------------- + +void cslib_open_fortran(int csflag, const char *mode, const char *str, + const void *pcomm, void **csptr) +{ + MPI_Comm ccomm; + void *pccomm = NULL; + + if (pcomm) { + MPI_Fint *fcomm = (MPI_Fint *) pcomm; + ccomm = MPI_Comm_f2c(*fcomm); + pccomm = &ccomm; + } + + CSlib *cs = new CSlib(csflag,mode,str,pccomm); + *csptr = (void *) cs; +} + +// ---------------------------------------------------------------------- + +void cslib_open_fortran_mpi_one(int csflag, const char *mode, + const void *pboth, const void *pcomm, + void **csptr) +{ + MPI_Comm ccomm,cboth; + void *pccomm,*pcboth; + + MPI_Fint *fcomm = (MPI_Fint *) pcomm; + ccomm = MPI_Comm_f2c(*fcomm); + pccomm = &ccomm; + + MPI_Fint *fboth = (MPI_Fint *) pboth; + cboth = MPI_Comm_f2c(*fboth); + pcboth = &cboth; + + CSlib *cs = new CSlib(csflag,mode,pcboth,pccomm); + *csptr = (void *) cs; +} + +// ---------------------------------------------------------------------- + +void cslib_close(void *ptr) +{ + CSlib *cs = (CSlib *) ptr; + delete cs; +} + +// ---------------------------------------------------------------------- + +void cslib_send(void *ptr, int msgID, int nfield) +{ + CSlib *cs = (CSlib *) ptr; + cs->send(msgID,nfield); +} + +// ---------------------------------------------------------------------- + +void cslib_pack_int(void *ptr, int id, int value) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack_int(id,value); +} + +// ---------------------------------------------------------------------- + +void cslib_pack_int64(void *ptr, int id, int64_t value) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack_int64(id,value); +} + +// ---------------------------------------------------------------------- + +void cslib_pack_float(void *ptr, int id, float value) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack_float(id,value); +} + +// ---------------------------------------------------------------------- + +void cslib_pack_double(void *ptr, int id, double value) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack_double(id,value); +} + +// ---------------------------------------------------------------------- + +void cslib_pack_string(void *ptr, int id, char *value) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack_string(id,value); +} + +// ---------------------------------------------------------------------- + +void cslib_pack(void *ptr, int id, int ftype, int flen, void *data) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack(id,ftype,flen,data); +} + +// ---------------------------------------------------------------------- + +void cslib_pack_parallel(void *ptr, int id, int ftype, + int nlocal, int *ids, int nper, void *data) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack_parallel(id,ftype,nlocal,ids,nper,data); +} + +// ---------------------------------------------------------------------- + +int cslib_recv(void *ptr, int *nfield_caller, + int **fieldID_caller, int **fieldtype_caller, + int **fieldlen_caller) +{ + CSlib *cs = (CSlib *) ptr; + + int nfield; + int *fieldID,*fieldtype,*fieldlen; + int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + + *nfield_caller = nfield; + *fieldID_caller = fieldID; + *fieldtype_caller = fieldtype; + *fieldlen_caller = fieldlen; + + return msgID; +} + +// ---------------------------------------------------------------------- + +int cslib_unpack_int(void *ptr, int id) +{ + CSlib *cs = (CSlib *) ptr; + return cs->unpack_int(id); +} +// ---------------------------------------------------------------------- + +int64_t cslib_unpack_int64(void *ptr, int id) +{ + CSlib *cs = (CSlib *) ptr; + return cs->unpack_int64(id); +} + +// ---------------------------------------------------------------------- + +float cslib_unpack_float(void *ptr, int id) +{ + CSlib *cs = (CSlib *) ptr; + return cs->unpack_float(id); +} + +// ---------------------------------------------------------------------- + +double cslib_unpack_double(void *ptr, int id) +{ + CSlib *cs = (CSlib *) ptr; + return cs->unpack_double(id); +} + +// ---------------------------------------------------------------------- + +char *cslib_unpack_string(void *ptr, int id) +{ + CSlib *cs = (CSlib *) ptr; + return cs->unpack_string(id); +} + +// ---------------------------------------------------------------------- + +void *cslib_unpack(void *ptr, int id) +{ + CSlib *cs = (CSlib *) ptr; + return cs->unpack(id); +} + +// ---------------------------------------------------------------------- + +void cslib_unpack_data(void *ptr, int id, void *data) +{ + CSlib *cs = (CSlib *) ptr; + cs->unpack(id,data); +} + +// ---------------------------------------------------------------------- + +void cslib_unpack_parallel(void *ptr, int id, int nlocal, int *ids, + int nper, void *data) +{ + CSlib *cs = (CSlib *) ptr; + cs->unpack_parallel(id,nlocal,ids,nper,data); +} + +// ---------------------------------------------------------------------- + +int cslib_extract(void *ptr, int flag) +{ + CSlib *cs = (CSlib *) ptr; + return cs->extract(flag); +} diff --git a/lib/message/cslib/src/cslib_wrap.f90 b/lib/message/cslib/src/cslib_wrap.f90 new file mode 100644 index 0000000000..cd2e058b78 --- /dev/null +++ b/lib/message/cslib/src/cslib_wrap.f90 @@ -0,0 +1,147 @@ +! ISO_C_binding wrapper on CSlib C interface + +module cslib_wrap + +interface + subroutine cslib_open_fortran(csflag,mode,str,pcomm,ptr) bind(c) + use iso_c_binding + integer(c_int), value :: csflag + character(c_char) :: mode(*),str(*) + type(c_ptr), value :: pcomm + type(c_ptr) :: ptr + end subroutine cslib_open_fortran + + subroutine cslib_open_fortran_mpi_one(csflag,mode,pboth,pcomm,ptr) bind(c) + use iso_c_binding + integer(c_int), value :: csflag + character(c_char) :: mode(*) + type(c_ptr), value :: pboth,pcomm + type(c_ptr) :: ptr + end subroutine cslib_open_fortran_mpi_one + + subroutine cslib_close(ptr) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + end subroutine cslib_close + + subroutine cslib_send(ptr,msgID,nfield) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: msgID,nfield + end subroutine cslib_send + + subroutine cslib_pack_int(ptr,id,value) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id + integer(c_int), value :: value + end subroutine cslib_pack_int + + subroutine cslib_pack_int64(ptr,id,value) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id + integer(c_int64_t), value :: value + end subroutine cslib_pack_int64 + + subroutine cslib_pack_float(ptr,id,value) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id + real(c_float), value :: value + end subroutine cslib_pack_float + + subroutine cslib_pack_double(ptr,id,value) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id + real(c_double), value :: value + end subroutine cslib_pack_double + + subroutine cslib_pack_string(ptr,id,value) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id + character(c_char) :: value(*) + end subroutine cslib_pack_string + + subroutine cslib_pack(ptr,id,ftype,flen,data) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id,ftype,flen + type(c_ptr), value :: data + end subroutine cslib_pack + + subroutine cslib_pack_parallel(ptr,id,ftype,nlocal,ids,nper,data) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id,ftype,nlocal,nper + type(c_ptr), value :: ids,data + end subroutine cslib_pack_parallel + + function cslib_recv(ptr,nfield,fieldID,fieldtype,fieldlen) bind(c) + use iso_c_binding + integer(c_int) :: cslib_recv + type(c_ptr), value :: ptr + integer(c_int) :: nfield + type(c_ptr) :: fieldID,fieldtype,fieldlen + end function cslib_recv + + function cslib_unpack_int(ptr,id) bind(c) + use iso_c_binding + integer(c_int) :: cslib_unpack_int + type(c_ptr), value :: ptr + integer(c_int), value :: id + end function cslib_unpack_int + + function cslib_unpack_int64(ptr,id) bind(c) + use iso_c_binding + integer(c_int64_t) :: cslib_unpack_int64 + type(c_ptr), value :: ptr + integer(c_int), value :: id + end function cslib_unpack_int64 + + function cslib_unpack_float(ptr,id) bind(c) + use iso_c_binding + real(c_float) :: cslib_unpack_float + type(c_ptr), value :: ptr + integer(c_int), value :: id + end function cslib_unpack_float + + function cslib_unpack_double(ptr,id) bind(c) + use iso_c_binding + real(c_double) :: cslib_unpack_double + type(c_ptr), value :: ptr + integer(c_int), value :: id + end function cslib_unpack_double + + function cslib_unpack_string(ptr,id) bind(c) + use iso_c_binding + type(c_ptr) :: cslib_unpack_string + type(c_ptr), value :: ptr + integer(c_int), value :: id + end function cslib_unpack_string + + function cslib_unpack(ptr,id) bind(c) + use iso_c_binding + type(c_ptr) :: cslib_unpack + type(c_ptr), value :: ptr + integer(c_int), value :: id + end function cslib_unpack + + subroutine cslib_unpack_parallel(ptr,id,nlocal,ids,nper,data) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id,nlocal,nper + type(c_ptr), value :: ids,data + end subroutine cslib_unpack_parallel + + function cslib_extract(ptr,flag) bind(c) + use iso_c_binding + integer(c_int) :: cslib_extract + type(c_ptr), value :: ptr + integer(c_int), value :: flag + end function cslib_extract +end interface + +end module cslib_wrap diff --git a/lib/message/cslib/src/cslib_wrap.h b/lib/message/cslib/src/cslib_wrap.h new file mode 100644 index 0000000000..42d095f452 --- /dev/null +++ b/lib/message/cslib/src/cslib_wrap.h @@ -0,0 +1,54 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +/* C style library interface to CSlib class + ifdefs allow this file to be included in a C program +*/ + +#ifdef __cplusplus +extern "C" { +#endif + +void cslib_open(int, const char *, const void *, const void *, void **); +void cslib_open_fortran(int, const char *, const char *, const void *, void **); +void cslib_open_fortran_mpi_one(int, const char *, const void *, + const void *, void **); +void cslib_close(void *); + +void cslib_send(void *, int, int); + +void cslib_pack_int(void *, int, int); +void cslib_pack_int64(void *, int, int64_t); +void cslib_pack_float(void *, int, float); +void cslib_pack_double(void *, int, double); +void cslib_pack_string(void *, int, char *); +void cslib_pack(void *, int, int, int, void *); +void cslib_pack_parallel(void *, int, int, int, int *, int, void *); + +int cslib_recv(void *, int *, int **, int **, int **); + +int cslib_unpack_int(void *, int); +int64_t cslib_unpack_int64(void *, int); +float cslib_unpack_float(void *, int); +double cslib_unpack_double(void *, int); +char *cslib_unpack_string(void *, int); +void *cslib_unpack(void *, int); +void cslib_unpack_data(void *, int, void *); +void cslib_unpack_parallel(void *, int, int, int *, int, void *); + +int cslib_extract(void *, int); + +#ifdef __cplusplus +} +#endif diff --git a/lib/message/cslib/src/msg.cpp b/lib/message/cslib/src/msg.cpp new file mode 100644 index 0000000000..1ba24d2b48 --- /dev/null +++ b/lib/message/cslib/src/msg.cpp @@ -0,0 +1,110 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include + +#include "msg.h" + +using namespace CSLIB_NS; + +/* ---------------------------------------------------------------------- */ + +Msg::Msg(int csflag, const void *ptr, MPI_Comm cworld) +{ + world = cworld; + MPI_Comm_rank(world,&me); + MPI_Comm_size(world,&nprocs); + + init(csflag); +} + +/* ---------------------------------------------------------------------- */ + +Msg::Msg(int csflag, const void *ptr) +{ + world = 0; + me = 0; + nprocs = 1; + + init(csflag); +} + +/* ---------------------------------------------------------------------- */ + +void Msg::init(int csflag) +{ + client = server = 0; + if (csflag == 0) client = 1; + else if (csflag == 1) server = 1; + + nsend = nrecv = 0; +} + +/* ---------------------------------------------------------------------- */ + +void Msg::allocate(int nheader, int &maxheader, int *&header, + int nbuf, int &maxbuf, char *&buf) +{ + if (nheader > maxheader) { + sfree(header); + maxheader = nheader; + header = (int *) smalloc(maxheader*sizeof(int)); + } + + if (nbuf > maxbuf) { + sfree(buf); + maxbuf = nbuf; + buf = (char *) smalloc(maxbuf*sizeof(char)); + } +} + +/* ---------------------------------------------------------------------- */ + +void *Msg::smalloc(int nbytes) +{ + if (nbytes == 0) return NULL; + void *ptr = (void *) malloc(nbytes); + if (ptr == NULL) { + char str[128]; + sprintf(str,"Failed to allocate %d bytes",nbytes); + } + return ptr; +} + +/* ---------------------------------------------------------------------- */ + +void Msg::sfree(void *ptr) +{ + if (ptr == NULL) return; + free(ptr); +} + +/* ---------------------------------------------------------------------- */ + +void Msg::error_all(const char *str) +{ + if (me == 0) printf("CSlib ERROR: %s\n",str); + MPI_Abort(world,1); +} + +/* ---------------------------------------------------------------------- */ + +void Msg::error_one(const char *str) +{ + printf("CSlib ERROR: %s\n",str); + MPI_Abort(world,1); +} diff --git a/lib/message/cslib/src/msg.h b/lib/message/cslib/src/msg.h new file mode 100644 index 0000000000..48805a0f4f --- /dev/null +++ b/lib/message/cslib/src/msg.h @@ -0,0 +1,52 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#ifndef MSG_H +#define MSG_H + +#include + +namespace CSLIB_NS { + +class Msg { + public: + int nsend,nrecv; + MPI_Comm world; + + Msg(int, const void *, MPI_Comm); + Msg(int, const void *); + virtual ~Msg() {} + virtual void send(int, int *, int, char *) = 0; + virtual void recv(int &, int *&, int &, char *&) = 0; + + protected: + int me,nprocs; + int client,server; + + int nfield; + int *fieldID,*fieldtype,*fieldlen; + int lengths[2]; + + void init(int); + void allocate(int, int &, int *&, int, int &, char *&); + void *smalloc(int); + void sfree(void *); + void error_all(const char *); + void error_one(const char *); +}; + + +} + +#endif diff --git a/lib/message/cslib/src/msg_file.cpp b/lib/message/cslib/src/msg_file.cpp new file mode 100644 index 0000000000..31126b8444 --- /dev/null +++ b/lib/message/cslib/src/msg_file.cpp @@ -0,0 +1,143 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include +#include + +#include "msg_file.h" + +using namespace CSLIB_NS; + +#define MAXLINE 256 +#define SLEEP 0.1 // delay in CPU secs to check for message file + +/* ---------------------------------------------------------------------- */ + +MsgFile::MsgFile(int csflag, const void *ptr, MPI_Comm cworld) : + Msg(csflag, ptr, cworld) +{ + char *filename = (char *) ptr; + init(filename); +} + +/* ---------------------------------------------------------------------- */ + +MsgFile::MsgFile(int csflag, const void *ptr) : Msg(csflag, ptr) +{ + char *filename = (char *) ptr; + init(filename); +} + +/* ---------------------------------------------------------------------- */ + +MsgFile::~MsgFile() +{ + delete [] fileroot; +} + +/* ---------------------------------------------------------------------- */ + +void MsgFile::init(char *filename) +{ + int n = strlen(filename) + 1; + fileroot = new char[n]; + strcpy(fileroot,filename); +} + +/* ---------------------------------------------------------------------- */ + +void MsgFile::send(int nheader, int *header, int nbuf, char *buf) +{ + char filename[MAXLINE]; + + lengths[0] = nheader; + lengths[1] = nbuf; + + if (me == 0) { + if (client) sprintf(filename,"%s.%s",fileroot,"client"); + else if (server) sprintf(filename,"%s.%s",fileroot,"server"); + + fp = fopen(filename,"wb"); + if (!fp) error_one("send(): Could not open send message file"); + fwrite(lengths,sizeof(int),2,fp); + fwrite(header,sizeof(int),nheader,fp); + fwrite(buf,1,nbuf,fp); + fclose(fp); + } + + // create empty signal file + + if (me == 0) { + if (client) sprintf(filename,"%s.%s",fileroot,"client.signal"); + else if (server) sprintf(filename,"%s.%s",fileroot,"server.signal"); + fp = fopen(filename,"w"); + fclose(fp); + } +} + +/* ---------------------------------------------------------------------- */ + +void MsgFile::recv(int &maxheader, int *&header, int &maxbuf, char *&buf) +{ + char filename[MAXLINE]; + + // wait until signal file exists to open message file + + if (me == 0) { + if (client) sprintf(filename,"%s.%s",fileroot,"server.signal"); + else if (server) sprintf(filename,"%s.%s",fileroot,"client.signal"); + + int delay = (int) (1000000 * SLEEP); + while (1) { + fp = fopen(filename,"r"); + if (fp) break; + usleep(delay); + } + fclose(fp); + + if (client) sprintf(filename,"%s.%s",fileroot,"server"); + else if (server) sprintf(filename,"%s.%s",fileroot,"client"); + fp = fopen(filename,"rb"); + if (!fp) error_one("recv(): Could not open recv message file"); + } + + // read and broadcast data + + if (me == 0) fread(lengths,sizeof(int),2,fp); + if (nprocs > 1) MPI_Bcast(lengths,2,MPI_INT,0,world); + + int nheader = lengths[0]; + int nbuf = lengths[1]; + allocate(nheader,maxheader,header,nbuf,maxbuf,buf); + + if (me == 0) fread(header,sizeof(int),nheader,fp); + if (nprocs > 1) MPI_Bcast(header,nheader,MPI_INT,0,world); + + if (me == 0) fread(buf,1,nbuf,fp); + if (nprocs > 1) MPI_Bcast(buf,nbuf,MPI_CHAR,0,world); + + // delete both message and signal file + + if (me == 0) { + fclose(fp); + unlink(filename); + if (client) sprintf(filename,"%s.%s",fileroot,"server.signal"); + else if (server) sprintf(filename,"%s.%s",fileroot,"client.signal"); + unlink(filename); + } +} diff --git a/lib/message/cslib/src/msg_file.h b/lib/message/cslib/src/msg_file.h new file mode 100644 index 0000000000..6d7c7017f6 --- /dev/null +++ b/lib/message/cslib/src/msg_file.h @@ -0,0 +1,40 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#ifndef MSG_FILE_H +#define MSG_FILE_H + +#include +#include "msg.h" + +namespace CSLIB_NS { + +class MsgFile : public Msg { + public: + MsgFile(int, const void *, MPI_Comm); + MsgFile(int, const void *); + ~MsgFile(); + void send(int, int *, int, char *); + void recv(int &, int *&, int &, char *&); + + private: + char *fileroot; + FILE *fp; + + void init(char *); +}; + +} + +#endif diff --git a/lib/message/cslib/src/msg_mpi_one.cpp b/lib/message/cslib/src/msg_mpi_one.cpp new file mode 100644 index 0000000000..c028961abc --- /dev/null +++ b/lib/message/cslib/src/msg_mpi_one.cpp @@ -0,0 +1,82 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include +#include + +#include "msg_mpi_one.h" + +using namespace CSLIB_NS; + +/* ---------------------------------------------------------------------- */ + +MsgMPIOne::MsgMPIOne(int csflag, const void *ptr, MPI_Comm cworld) : + Msg(csflag, ptr, cworld) +{ + // NOTE: ideally would skip this call if mpi/two + init(ptr); +} + +/* ---------------------------------------------------------------------- */ + +void MsgMPIOne::init(const void *ptr) +{ + MPI_Comm *pbothcomm = (MPI_Comm *) ptr; + bothcomm = *pbothcomm; + + if (client) { + MPI_Comm_size(world,&nprocs); + otherroot = nprocs; + } else if (server) { + otherroot = 0; + } +} + +/* ---------------------------------------------------------------------- */ + +void MsgMPIOne::send(int nheader, int *header, int nbuf, char *buf) +{ + lengths[0] = nheader; + lengths[1] = nbuf; + + if (me == 0) { + MPI_Send(lengths,2,MPI_INT,otherroot,0,bothcomm); + MPI_Send(header,nheader,MPI_INT,otherroot,0,bothcomm); + MPI_Send(buf,nbuf,MPI_CHAR,otherroot,0,bothcomm); + } +} + +/* ---------------------------------------------------------------------- */ + +void MsgMPIOne::recv(int &maxheader, int *&header, int &maxbuf, char *&buf) +{ + MPI_Status status; + + if (me == 0) MPI_Recv(lengths,2,MPI_INT,otherroot,0,bothcomm,&status); + if (nprocs > 1) MPI_Bcast(lengths,2,MPI_INT,0,world); + + int nheader = lengths[0]; + int nbuf = lengths[1]; + allocate(nheader,maxheader,header,nbuf,maxbuf,buf); + + if (me == 0) MPI_Recv(header,nheader,MPI_INT,otherroot,0,bothcomm,&status); + if (nprocs > 1) MPI_Bcast(header,nheader,MPI_INT,0,world); + + if (me == 0) MPI_Recv(buf,nbuf,MPI_CHAR,otherroot,0,bothcomm,&status); + if (nprocs > 1) MPI_Bcast(buf,nbuf,MPI_CHAR,0,world); +} diff --git a/lib/message/cslib/src/msg_mpi_one.h b/lib/message/cslib/src/msg_mpi_one.h new file mode 100644 index 0000000000..8f1b781bc6 --- /dev/null +++ b/lib/message/cslib/src/msg_mpi_one.h @@ -0,0 +1,38 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#ifndef MSG_MPI_ONE_H +#define MSG_MPI_ONE_H + +#include "msg.h" + +namespace CSLIB_NS { + +class MsgMPIOne : public Msg { + public: + MsgMPIOne(int, const void *, MPI_Comm); + virtual ~MsgMPIOne() {} + void send(int, int *, int, char *); + void recv(int &, int *&, int &, char *&); + + protected: + MPI_Comm bothcomm; + int otherroot; + + void init(const void *); +}; + +} + +#endif diff --git a/lib/message/cslib/src/msg_mpi_two.cpp b/lib/message/cslib/src/msg_mpi_two.cpp new file mode 100644 index 0000000000..4c8f593939 --- /dev/null +++ b/lib/message/cslib/src/msg_mpi_two.cpp @@ -0,0 +1,81 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include +#include + +#include "msg_mpi_two.h" + +using namespace CSLIB_NS; + +/* ---------------------------------------------------------------------- */ + +MsgMPITwo::MsgMPITwo(int csflag, const void *ptr, MPI_Comm cworld) : + MsgMPIOne(csflag, ptr, cworld) +{ + char *filename = (char *) ptr; + init(filename); +} + +/* ---------------------------------------------------------------------- */ + +MsgMPITwo::~MsgMPITwo() +{ + // free the inter comm that spans both client and server + + MPI_Comm_free(&bothcomm); + MPI_Close_port(port); +} + +/* ---------------------------------------------------------------------- */ + +void MsgMPITwo::init(char *filename) +{ + if (client) { + if (me == 0) { + FILE *fp = NULL; + while (!fp) { + fp = fopen(filename,"r"); + if (!fp) sleep(1); + } + fgets(port,MPI_MAX_PORT_NAME,fp); + //printf("Client port: %s\n",port); + fclose(fp); + } + + MPI_Bcast(port,MPI_MAX_PORT_NAME,MPI_CHAR,0,world); + MPI_Comm_connect(port,MPI_INFO_NULL,0,world,&bothcomm); + //if (me == 0) printf("CLIENT comm connect\n"); + if (me == 0) unlink(filename); + + } else if (server) { + MPI_Open_port(MPI_INFO_NULL,port); + + if (me == 0) { + //printf("Server name: %s\n",port); + FILE *fp = fopen(filename,"w"); + fprintf(fp,"%s",port); + fclose(fp); + } + + MPI_Comm_accept(port,MPI_INFO_NULL,0,world,&bothcomm); + //if (me == 0) printf("SERVER comm accept\n"); + } + + otherroot = 0; +} diff --git a/lib/message/cslib/src/msg_mpi_two.h b/lib/message/cslib/src/msg_mpi_two.h new file mode 100644 index 0000000000..40dd95e7ea --- /dev/null +++ b/lib/message/cslib/src/msg_mpi_two.h @@ -0,0 +1,35 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#ifndef MSG_MPI_TWO_H +#define MSG_MPI_TWO_H + +#include "msg_mpi_one.h" + +namespace CSLIB_NS { + +class MsgMPITwo : public MsgMPIOne { + public: + MsgMPITwo(int, const void *, MPI_Comm); + ~MsgMPITwo(); + + private: + char port[MPI_MAX_PORT_NAME]; + + void init(char *); +}; + +} + +#endif diff --git a/lib/message/cslib/src/msg_zmq.cpp b/lib/message/cslib/src/msg_zmq.cpp new file mode 100644 index 0000000000..dcbeedaaa0 --- /dev/null +++ b/lib/message/cslib/src/msg_zmq.cpp @@ -0,0 +1,140 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include +#include + +#include "msg_zmq.h" + +using namespace CSLIB_NS; + +/* ---------------------------------------------------------------------- */ + +MsgZMQ::MsgZMQ(int csflag, const void *ptr, MPI_Comm cworld) : + Msg(csflag, ptr, cworld) +{ + char *port = (char *) ptr; + init(port); +} + +MsgZMQ::MsgZMQ(int csflag, const void *ptr) : Msg(csflag, ptr) +{ + char *port = (char *) ptr; + init(port); +} + +/* ---------------------------------------------------------------------- */ + +MsgZMQ::~MsgZMQ() +{ + if (me == 0) { + zmq_close(socket); + zmq_ctx_destroy(context); + } +} + +/* ---------------------------------------------------------------------- */ + +void MsgZMQ::init(char *port) +{ +#ifdef ZMQ_NO + error_all("constructor(): Library not built with ZMQ support"); +#endif + + if (me == 0) { + int n = strlen(port) + 8; + char *socket_name = new char[n]; + strcpy(socket_name,"tcp://"); + strcat(socket_name,port); + + if (client) { + context = zmq_ctx_new(); + socket = zmq_socket(context,ZMQ_REQ); + zmq_connect(socket,socket_name); + } else if (server) { + context = zmq_ctx_new(); + socket = zmq_socket(context,ZMQ_REP); + int rc = zmq_bind(socket,socket_name); + if (rc) error_one("constructor(): Server could not make socket connection"); + } + + delete [] socket_name; + } +} + +/* ---------------------------------------------------------------------- + client/server sockets (REQ/REP) must follow this protocol: + client sends request (REQ) which server receives + server sends response (REP) which client receives + every exchange is of this form, server cannot initiate a send + thus each ZMQ send below has a following ZMQ recv, except last one + if client calls send(), it will next call recv() + if server calls send(), it will next call recv() from its wait loop + in either case, recv() issues a ZMQ recv to match last ZMQ send here +------------------------------------------------------------------------- */ + +void MsgZMQ::send(int nheader, int *header, int nbuf, char *buf) +{ + lengths[0] = nheader; + lengths[1] = nbuf; + + if (me == 0) { + zmq_send(socket,lengths,2*sizeof(int),0); + zmq_recv(socket,NULL,0,0); + } + + if (me == 0) { + zmq_send(socket,header,nheader*sizeof(int),0); + zmq_recv(socket,NULL,0,0); + } + + if (me == 0) zmq_send(socket,buf,nbuf,0); +} + +/* ---------------------------------------------------------------------- + client/server sockets (REQ/REP) must follow this protocol: + client sends request (REQ) which server receives + server sends response (REP) which client receives + every exchange is of this form, server cannot initiate a send + thus each ZMQ recv below has a following ZMQ send, except last one + if client calls recv(), it will next call send() to ping server again, + if server calls recv(), it will next call send() to respond to client + in either case, send() issues a ZMQ send to match last ZMQ recv here +------------------------------------------------------------------------- */ + +void MsgZMQ::recv(int &maxheader, int *&header, int &maxbuf, char *&buf) +{ + if (me == 0) { + zmq_recv(socket,lengths,2*sizeof(int),0); + zmq_send(socket,NULL,0,0); + } + if (nprocs > 1) MPI_Bcast(lengths,2,MPI_INT,0,world); + + int nheader = lengths[0]; + int nbuf = lengths[1]; + allocate(nheader,maxheader,header,nbuf,maxbuf,buf); + + if (me == 0) { + zmq_recv(socket,header,nheader*sizeof(int),0); + zmq_send(socket,NULL,0,0); + } + if (nprocs > 1) MPI_Bcast(header,nheader,MPI_INT,0,world); + + if (me == 0) zmq_recv(socket,buf,nbuf,0); + if (nprocs > 1) MPI_Bcast(buf,nbuf,MPI_CHAR,0,world); +} diff --git a/lib/message/cslib/src/msg_zmq.h b/lib/message/cslib/src/msg_zmq.h new file mode 100644 index 0000000000..5f6dd7f26b --- /dev/null +++ b/lib/message/cslib/src/msg_zmq.h @@ -0,0 +1,38 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the GNU Lesser General Public + License (LGPL). + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#ifndef MSG_ZMQ_H +#define MSG_ZMQ_H + +#include "msg.h" + +namespace CSLIB_NS { + +class MsgZMQ : public Msg { + public: + MsgZMQ(int, const void *, MPI_Comm); + MsgZMQ(int, const void *); + ~MsgZMQ(); + void send(int, int *, int, char *); + void recv(int &, int *&, int &, char *&); + + private: + void *context,*socket; + + void init(char *); +}; + +} + +#endif diff --git a/src/MESSAGE/Install.sh b/src/MESSAGE/Install.sh new file mode 100644 index 0000000000..853dbddcdd --- /dev/null +++ b/src/MESSAGE/Install.sh @@ -0,0 +1,67 @@ +# Install/unInstall package files in LAMMPS +# mode = 0/1/2 for uninstall/install/update + +mode=$1 + +# arg1 = file, arg2 = file it depends on + +# enforce using portable C locale +LC_ALL=C +export LC_ALL + +action () { + if (test $mode = 0) then + rm -f ../$1 + elif (! cmp -s $1 ../$1) then + if (test -z "$2" || test -e ../$2) then + cp $1 .. + if (test $mode = 2) then + echo " updating src/$1" + fi + fi + elif (test -n "$2") then + if (test ! -e ../$2) then + rm -f ../$1 + fi + fi +} + +# all package files with no dependencies + +for file in *.cpp *.h; do + test -f ${file} && action $file +done + +# edit 2 Makefile.package files to include/exclude package info + +if (test $1 = 1) then + + if (test -e ../Makefile.package) then + sed -i -e 's/[^ \t]*message[^ \t]* //' ../Makefile.package + sed -i -e 's|^PKG_INC =[ \t]*|&-I../../lib/message/cslib/src |' ../Makefile.package + sed -i -e 's|^PKG_PATH =[ \t]*|&-L../../lib/message/cslib/src |' ../Makefile.package + sed -i -e 's|^PKG_LIB =[ \t]*|&-lmessage |' ../Makefile.package + sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(message_SYSINC) |' ../Makefile.package + sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(message_SYSLIB) |' ../Makefile.package + sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(message_SYSPATH) |' ../Makefile.package + fi + + if (test -e ../Makefile.package.settings) then + sed -i -e '/^include.*message.*$/d' ../Makefile.package.settings + # multiline form needed for BSD sed on Macs + sed -i -e '4 i \ +include ..\/..\/lib\/message\/Makefile.lammps +' ../Makefile.package.settings + fi + +elif (test $1 = 0) then + + if (test -e ../Makefile.package) then + sed -i -e 's/[^ \t]*message[^ \t]* //' ../Makefile.package + fi + + if (test -e ../Makefile.package.settings) then + sed -i -e '/^include.*message.*$/d' ../Makefile.package.settings + fi + +fi diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp new file mode 100644 index 0000000000..20b56e031d --- /dev/null +++ b/src/MESSAGE/fix_client_md.cpp @@ -0,0 +1,270 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include "fix_client_md.h" +#include "cslib.h" +#include "atom.h" +#include "domain.h" +#include "memory.h" +#include "error.h" + +#include "comm.h" +#include "update.h" + +using namespace LAMMPS_NS; +using namespace CSLIB_NS; +using namespace FixConst; + +enum{SETUP=1,STEP}; +enum{UNITS=1,DIM,NATOMS,NTYPES,BOXLO,BOXHI,BOXTILT,TYPES,COORDS,CHARGE}; +enum{FORCES=1,ENERGY,VIRIAL}; + +/* ---------------------------------------------------------------------- */ + +FixClientMD::FixClientMD(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + if (lmp->clientserver != 1) + error->all(FLERR,"Fix client/md requires LAMMPS be running as a client"); + if (!atom->map_style) error->all(FLERR,"Fix client/md requires atom map"); + + if (sizeof(tagint) != 4) + error->all(FLERR,"Fix client/md requires 4-byte atom IDs"); + + scalar_flag = 1; + global_freq = 1; + extscalar = 1; + virial_flag = 1; + thermo_virial = 1; + + maxatom = 0; + xpbc = NULL; +} + +/* ---------------------------------------------------------------------- */ + +FixClientMD::~FixClientMD() +{ + memory->destroy(xpbc); + + CSlib *cs = (CSlib *) lmp->cslib; + + // all-done message to server + + cs->send(-1,0); + + int nfield; + int *fieldID,*fieldtype,*fieldlen; + int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + + // clean-up + + delete cs; + lmp->cslib = NULL; +} + +/* ---------------------------------------------------------------------- */ + +int FixClientMD::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + mask |= MIN_POST_FORCE; + mask |= THERMO_ENERGY; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixClientMD::init() +{ + if (3*atom->natoms > INT_MAX) + error->all(FLERR,"Fix client/md max atoms is 1/3 of 2^31"); +} + +/* ---------------------------------------------------------------------- */ + +void FixClientMD::setup(int vflag) +{ + CSlib *cs = (CSlib *) lmp->cslib; + + // required fields: NATOMS, NTYPES, BOXLO, BOXHI, TYPES, COORDS + // optional fields: others in enum above + + int nfields = 6; + if (domain->dimension == 2) nfields++; + if (domain->triclinic) nfields++; + if (atom->q_flag) nfields++; + + cs->send(SETUP,nfields); + + cs->pack_int(NATOMS,atom->natoms); + cs->pack_int(NTYPES,atom->ntypes); + cs->pack(BOXLO,4,3,domain->boxlo); + cs->pack(BOXHI,4,3,domain->boxhi); + cs->pack_parallel(TYPES,1,atom->nlocal,atom->tag,1,atom->type); + pack_coords(); + cs->pack_parallel(COORDS,4,atom->nlocal,atom->tag,3,xpbc); + + if (domain->dimension == 2) cs->pack_int(DIM,domain->dimension); + if (domain->triclinic) { + double boxtilt[3]; + boxtilt[0] = domain->xy; + if (domain->dimension == 3) { + boxtilt[1] = domain->xz; + boxtilt[2] = domain->yz; + } else boxtilt[1] = boxtilt[2] = 0.0; + cs->pack(BOXTILT,4,3,boxtilt); + } + if (atom->q_flag) + cs->pack_parallel(CHARGE,4,atom->nlocal,atom->tag,1,atom->q); + + // receive initial forces, energy, virial + + receive_fev(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixClientMD::min_setup(int vflag) +{ + setup(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixClientMD::post_force(int vflag) +{ + int i,j,m; + + // energy and virial setup + + if (vflag) v_setup(vflag); + else evflag = 0; + + // required fields: COORDS + // optional fields: BOXLO, BOXHI, BOXTILT + + // send coords + + CSlib *cs = (CSlib *) lmp->cslib; + + int nfields = 1; + if (domain->box_change) nfields += 2; + if (domain->box_change && domain->triclinic) nfields++;; + + cs->send(STEP,nfields); + + pack_coords(); + cs->pack_parallel(COORDS,4,atom->nlocal,atom->tag,3,xpbc); + + if (domain->box_change) { + cs->pack(BOXLO,4,3,domain->boxlo); + cs->pack(BOXHI,4,3,domain->boxhi); + if (domain->triclinic) { + double boxtilt[3]; + boxtilt[0] = domain->xy; + if (domain->dimension == 3) { + boxtilt[1] = domain->xz; + boxtilt[2] = domain->yz; + } else boxtilt[1] = boxtilt[2] = 0.0; + cs->pack(BOXTILT,4,3,boxtilt); + } + } + + // recv forces, energy, virial + + receive_fev(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixClientMD::min_post_force(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- + potential energy from QM code +------------------------------------------------------------------------- */ + +double FixClientMD::compute_scalar() +{ + return eng; +} + +/* ---------------------------------------------------------------------- + pack local coords into xpbc, enforcing PBC +------------------------------------------------------------------------- */ + +void FixClientMD::pack_coords() +{ + double **x = atom->x; + int nlocal = atom->nlocal; + + if (nlocal > maxatom) { + memory->destroy(xpbc); + maxatom = atom->nmax; + memory->create(xpbc,3*maxatom,"message:xpbc"); + } + + memcpy(xpbc,&x[0][0],3*nlocal*sizeof(double)); + + int j = 0; + for (int i = 0; i < nlocal; i++) { + domain->remap(&xpbc[j]); + j += 3; + } +} + +/* ---------------------------------------------------------------------- + receive message from server with forces, energy, virial +------------------------------------------------------------------------- */ + +void FixClientMD::receive_fev(int vflag) +{ + CSlib *cs = (CSlib *) lmp->cslib; + + int nfield; + int *fieldID,*fieldtype,*fieldlen; + + int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + + double *forces = (double *) cs->unpack(FORCES); + double **f = atom->f; + int nlocal = atom->nlocal; + bigint natoms = atom->natoms; + int m; + + int j = 0; + for (tagint id = 1; id <= natoms; id++) { + m = atom->map(id); + if (m < 0 || m >= nlocal) j += 3; + else { + f[m][0] += forces[j++]; + f[m][1] += forces[j++]; + f[m][2] += forces[j++]; + } + } + + eng = cs->unpack_double(ENERGY); + + if (vflag) { + double *v = (double *) cs->unpack(VIRIAL); + double invnprocs = 1.0 / comm->nprocs; + for (int i = 0; i < 6; i++) + virial[i] = invnprocs*v[i]; + } +} diff --git a/src/MESSAGE/fix_client_md.h b/src/MESSAGE/fix_client_md.h new file mode 100644 index 0000000000..8e4ec0c6de --- /dev/null +++ b/src/MESSAGE/fix_client_md.h @@ -0,0 +1,62 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(client/md,FixClientMD) + +#else + +#ifndef LMP_FIX_CLIENT_MD_H +#define LMP_FIX_CLIENT_MD_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixClientMD : public Fix { + public: + FixClientMD(class LAMMPS *, int, char **); + ~FixClientMD(); + int setmask(); + void init(); + void setup(int); + void min_setup(int); + void post_force(int); + void min_post_force(int); + double compute_scalar(); + + private: + void *cslib; + int maxatom; + double eng; + double *xpbc; + + void pack_coords(); + void receive_fev(int ); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ diff --git a/src/MESSAGE/message.cpp b/src/MESSAGE/message.cpp new file mode 100644 index 0000000000..67e0a49046 --- /dev/null +++ b/src/MESSAGE/message.cpp @@ -0,0 +1,90 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include "message.h" +#include "error.h" + +// CSlib interface + +#include "cslib.h" + +using namespace LAMMPS_NS; +using namespace CSLIB_NS; + +// customize by adding a new server protocol enum + +enum{MD,MC}; + +/* ---------------------------------------------------------------------- */ + +void Message::command(int narg, char **arg) +{ + if (narg < 3) error->all(FLERR,"Illegal message command"); + + int clientserver; + if (strcmp(arg[0],"client") == 0) clientserver = 1; + else if (strcmp(arg[0],"server") == 0) clientserver = 2; + else error->all(FLERR,"Illegal message command"); + lmp->clientserver = clientserver; + + // customize by adding a new server protocol + + int protocol; + if (strcmp(arg[1],"md") == 0) protocol = MD; + else if (strcmp(arg[1],"mc") == 0) protocol = MC; + else error->all(FLERR,"Unknown message protocol"); + + // instantiate CSlib with chosen communication mode + + if (strcmp(arg[2],"file") == 0 || strcmp(arg[2],"zmq") == 0 || + strcmp(arg[2],"mpi/two") == 0) { + if (narg != 4) error->all(FLERR,"Illegal message command"); + lmp->cslib = new CSlib(clientserver-1,arg[2],arg[3],&world); + + } else if (strcmp(arg[2],"mpi/one") == 0) { + if (narg != 3) error->all(FLERR,"Illegal message command"); + if (!lmp->cscomm) + error->all(FLERR,"Message mpi/one mode, but -mpi cmdline arg not used"); + lmp->cslib = new CSlib(clientserver-1,arg[2],&lmp->cscomm,&world); + + } else error->all(FLERR,"Illegal message command"); + + // perform initial handshake between client and server + // other code being coupled to must perform similar operation + // client sends protocol with msgID = 0 + // server matches it and replies + + CSlib *cs = (CSlib *) lmp->cslib; + + if (clientserver == 1) { + cs->send(0,1); + cs->pack_string(1,arg[1]); + + int nfield; + int *fieldID,*fieldtype,*fieldlen; + int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + if (msgID != 0) error->one(FLERR,"Bad initial client/server handshake"); + + } else { + int nfield; + int *fieldID,*fieldtype,*fieldlen; + int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + if (msgID != 0) error->one(FLERR,"Bad initial client/server handshake"); + char *pstr = cs->unpack_string(1); + if (strcmp(pstr,arg[1]) != 0) + error->one(FLERR,"Mismatch in client/server protocol"); + + cs->send(0,0); + } +} diff --git a/src/MESSAGE/message.h b/src/MESSAGE/message.h new file mode 100644 index 0000000000..c384a5a7b7 --- /dev/null +++ b/src/MESSAGE/message.h @@ -0,0 +1,40 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMMAND_CLASS + +CommandStyle(message,Message) + +#else + +#ifndef LMP_MESSAGE_H +#define LMP_MESSAGE_H + +#include "pointers.h" + +namespace LAMMPS_NS { + +class Message : protected Pointers { + public: + Message(class LAMMPS *lmp) : Pointers(lmp) {}; + void command(int, char **); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/MESSAGE/server.cpp b/src/MESSAGE/server.cpp new file mode 100644 index 0000000000..cbf769be74 --- /dev/null +++ b/src/MESSAGE/server.cpp @@ -0,0 +1,50 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include "server.h" +#include "error.h" + +// customize by adding a new server protocol include and enum + +#include "server_md.h" +#include "server_mc.h" + +using namespace LAMMPS_NS; + +enum{MD,MC}; + +/* ---------------------------------------------------------------------- */ + +void Server::command(int narg, char **arg) +{ + if (narg != 1) error->all(FLERR,"Illegal server command"); + + if (lmp->clientserver != 2) + error->all(FLERR,"Message command not used to setup LAMMPS as a server"); + + // customize by adding a new server protocol + + int protocol; + if (strcmp(arg[0],"md") == 0) protocol = MD; + else if (strcmp(arg[0],"mc") == 0) protocol = MC; + else error->all(FLERR,"Unknown message protocol"); + + if (protocol == MD) { + ServerMD *server = new ServerMD(lmp); + server->loop(); + } else if (protocol == MC) { + ServerMC *server = new ServerMC(lmp); + server->loop(); + } +} diff --git a/src/MESSAGE/server.h b/src/MESSAGE/server.h new file mode 100644 index 0000000000..579f6ab6f1 --- /dev/null +++ b/src/MESSAGE/server.h @@ -0,0 +1,40 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMMAND_CLASS + +CommandStyle(server,Server) + +#else + +#ifndef LMP_SERVER_H +#define LMP_SERVER_H + +#include "pointers.h" + +namespace LAMMPS_NS { + +class Server : protected Pointers { + public: + Server(class LAMMPS *lmp) : Pointers(lmp) {}; + void command(int, char **); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/MESSAGE/server_mc.cpp b/src/MESSAGE/server_mc.cpp new file mode 100644 index 0000000000..8a7344e86b --- /dev/null +++ b/src/MESSAGE/server_mc.cpp @@ -0,0 +1,148 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "server_mc.h" +#include "atom.h" +#include "update.h" +#include "integrate.h" +#include "input.h" +#include "output.h" +#include "thermo.h" +#include "error.h" + +// CSlib interface + +#include "cslib.h" + +using namespace LAMMPS_NS; +using namespace CSLIB_NS; + +enum{NATOMS=1,EINIT,DISPLACE,ACCEPT,RUN}; + +/* ---------------------------------------------------------------------- */ + +ServerMC::ServerMC(LAMMPS *lmp) : Pointers(lmp) {} + +/* ---------------------------------------------------------------------- */ + +void ServerMC::loop() +{ + int i,j,m; + double xold[3],xnew[3]; + tagint atomid; + + CSlib *cs = (CSlib *) lmp->cslib; + + // require atom map + + if (!atom->map_style) error->all(FLERR,"Server mode requires atom map"); + + // initialize LAMMPS for dynamics + + input->one("run 0"); + + //update->whichflag = 1; + //lmp->init(); + + // loop on messages + // receive a message, process it, send return message if necessary + + int msgID,nfield; + int *fieldID,*fieldtype,*fieldlen; + + while (1) { + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + if (msgID < 0) break; + + if (msgID == NATOMS) { + + cs->send(msgID,1); + cs->pack_int(1,atom->natoms); + + } else if (msgID == EINIT) { + + double dval; + output->thermo->evaluate_keyword((char *) "pe",&dval); + + cs->send(msgID,2); + cs->pack_double(1,dval); + double *coords = NULL; + if (atom->nlocal) coords = &atom->x[0][0]; + cs->pack_parallel(2,4,atom->nlocal,atom->tag,3,coords); + + } else if (msgID == DISPLACE) { + + atomid = cs->unpack_int(1); + double *xnew = (double *) cs->unpack(2); + double **x = atom->x; + + m = atom->map(atomid); + if (m >= 0 && m < atom->nlocal) { + xold[0] = x[m][0]; + xold[1] = x[m][1]; + xold[2] = x[m][2]; + x[m][0] = xnew[0]; + x[m][1] = xnew[1]; + x[m][2] = xnew[2]; + } + + input->one("run 0"); + double dval; + output->thermo->evaluate_keyword((char *) "pe",&dval); + + cs->send(msgID,1); + cs->pack_double(1,dval); + + } else if (msgID == ACCEPT) { + + int accept = cs->unpack_int(1); + double **x = atom->x; + + if (!accept) { + m = atom->map(atomid); + if (m >= 0 && m < atom->nlocal) { + x[m][0] = xold[0]; + x[m][1] = xold[1]; + x[m][2] = xold[2]; + } + } + + cs->send(msgID,0); + + } else if (msgID == RUN) { + + int nsteps = cs->unpack_int(1); + + //input->one("run 100"); + + update->nsteps = nsteps; + update->firststep = update->ntimestep; + update->laststep = update->ntimestep + nsteps; + + update->integrate->setup(1); + update->integrate->run(nsteps); + + cs->send(msgID,0); + + } else error->all(FLERR,"Server received unrecognized message"); + } + + // final reply to client + + cs->send(0,0); + + // clean up + + delete cs; + lmp->cslib = NULL; +} diff --git a/src/MESSAGE/server_mc.h b/src/MESSAGE/server_mc.h new file mode 100644 index 0000000000..d0fb489429 --- /dev/null +++ b/src/MESSAGE/server_mc.h @@ -0,0 +1,29 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_SERVER_MC_H +#define LMP_SERVER_MC_H + +#include "pointers.h" + +namespace LAMMPS_NS { + +class ServerMC : protected Pointers { + public: + ServerMC(class LAMMPS *); + void loop(); +}; + +} + +#endif diff --git a/src/MESSAGE/server_md.cpp b/src/MESSAGE/server_md.cpp new file mode 100644 index 0000000000..88fe1abe5f --- /dev/null +++ b/src/MESSAGE/server_md.cpp @@ -0,0 +1,333 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "mpi.h" +#include +#include "server_md.h" +#include "atom.h" +#include "atom_vec.h" +#include "update.h" +#include "integrate.h" +#include "kspace.h" +#include "force.h" +#include "pair.h" +#include "neighbor.h" +#include "comm.h" +#include "domain.h" +#include "error.h" + +// CSlib interface + +#include "cslib.h" + +using namespace LAMMPS_NS; +using namespace CSLIB_NS; + +enum{SETUP=1,STEP}; +enum{UNITS=1,DIM,NATOMS,NTYPES,BOXLO,BOXHI,BOXTILT,TYPES,COORDS,CHARGE}; +enum{FORCES=1,ENERGY,VIRIAL}; + +// NOTE: features that could be added to this interface +// allow client to set periodicity vs shrink-wrap +// currently just assume server is same as client +// test that triclinic boxes actually work +// send new box size/shape every step, for NPT client +// unit check between client/server with unit conversion if needed +// option for client to send other per-atom quantities, e.g. rmass +// more precise request of energy/virial (global or peratom) by client +// maybe Verlet should have a single(eflag,vflag) method to more easily comply + +/* ---------------------------------------------------------------------- */ + +ServerMD::ServerMD(LAMMPS *lmp) : Pointers(lmp) +{ + if (domain->box_exist == 0) + error->all(FLERR,"Server command before simulation box is defined"); + + if (!atom->map_style) error->all(FLERR,"Server md mode requires atom map"); + if (atom->tag_enable == 0) error->all(FLERR,"Server md mode requires atom IDs"); + if (sizeof(tagint) != 4) error->all(FLERR,"Server md requires 4-byte atom IDs"); +} + +/* ---------------------------------------------------------------------- */ + +void ServerMD::loop() +{ + int i,j,m; + + // cs = instance of CSlib + + CSlib *cs = (CSlib *) lmp->cslib; + + // counters + + int forcecalls = 0; + int neighcalls = 0; + + // loop on messages + // receive a message, process it, send return message + + int msgID,nfield; + int *fieldID,*fieldtype,*fieldlen; + + while (1) { + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + if (msgID < 0) break; + + // SETUP call at beginning of each run + // required fields: NATOMS, NTYPES, BOXLO, BOXHI, TYPES, COORDS + // optional fields: others in enum above + + if (msgID == SETUP) { + + int natoms = -1; + int ntypes = -1; + double *boxlo = NULL; + double *boxhi = NULL; + double *boxtilt = NULL; + int *types = NULL; + double *coords = NULL; + double *charge = NULL; + + for (int ifield = 0; ifield < nfield; ifield++) { + if (fieldID[ifield] == UNITS) { + char *units = cs->unpack_string(UNITS); + if (strcmp(units,update->unit_style) != 0) + error->all(FLERR,"Server md units mis-match with client"); + } else if (fieldID[ifield] == DIM) { + int dim = cs->unpack_int(DIM); + if (dim != domain->dimension) + error->all(FLERR,"Server md dimension mis-match with client"); + } else if (fieldID[ifield] == NATOMS) { + natoms = cs->unpack_int(NATOMS); + if (3*natoms > INT_MAX) + error->all(FLERR,"Server md max atoms is 1/3 of 2^31"); + } else if (fieldID[ifield] == NTYPES) { + ntypes = cs->unpack_int(NTYPES); + if (ntypes != atom->ntypes) + error->all(FLERR,"Server md ntypes mis-match with client"); + } else if (fieldID[ifield] == BOXLO) { + boxlo = (double *) cs->unpack(BOXLO); + } else if (fieldID[ifield] == BOXHI) { + boxhi = (double *) cs->unpack(BOXHI); + } else if (fieldID[ifield] == BOXTILT) { + boxtilt = (double *) cs->unpack(BOXTILT); + } else if (fieldID[ifield] == TYPES) { + types = (int *) cs->unpack(TYPES); + } else if (fieldID[ifield] == COORDS) { + coords = (double *) cs->unpack(COORDS); + } else if (fieldID[ifield] == CHARGE) { + charge = (double *) cs->unpack(CHARGE); + } else error->all(FLERR,"Server md setup field unknown"); + } + + if (natoms < 0 || ntypes < 0 || !boxlo || !boxhi || !types || !coords) + error->all(FLERR,"Required server md setup field not received"); + + if (charge && atom->q_flag == 0) + error->all(FLERR,"Server md does not define atom attribute q"); + + // reset box, global and local + // reset proc decomposition + + box_change(boxlo,boxhi,boxtilt); + + domain->set_initial_box(); + domain->set_global_box(); + comm->set_proc_grid(); + domain->set_local_box(); + + // clear all atoms + + atom->nlocal = 0; + atom->nghost = 0; + + // add atoms that are in my sub-box + + int nlocal = 0; + for (int i = 0; i < natoms; i++) { + if (!domain->ownatom(i+1,&coords[3*i],NULL,0)) continue; + atom->avec->create_atom(types[i],&coords[3*i]); + atom->tag[nlocal] = i+1; + if (charge) atom->q[nlocal] = charge[i]; + nlocal++; + } + + int ntotal; + MPI_Allreduce(&atom->nlocal,&ntotal,1,MPI_INT,MPI_SUM,world); + if (ntotal != natoms) + error->all(FLERR,"Server md atom cound does not match client"); + + atom->map_init(); + atom->map_set(); + atom->natoms = natoms; + + // perform system setup() for dynamics + // also OK for minimization, since client runs minimizer + // return forces, energy, virial to client + + update->whichflag = 1; + lmp->init(); + update->integrate->setup_minimal(1); + neighcalls++; + forcecalls++; + + send_fev(msgID); + + // STEP call at each timestep of run or minimization + // required fields: COORDS + // optional fields: BOXLO, BOXHI, BOXTILT + + } else if (msgID == STEP) { + + double *boxlo = NULL; + double *boxhi = NULL; + double *boxtilt = NULL; + double *coords = NULL; + + for (int ifield = 0; ifield < nfield; ifield++) { + if (fieldID[ifield] == BOXLO) { + boxlo = (double *) cs->unpack(BOXLO); + } else if (fieldID[ifield] == BOXHI) { + boxhi = (double *) cs->unpack(BOXHI); + } else if (fieldID[ifield] == BOXTILT) { + boxtilt = (double *) cs->unpack(BOXTILT); + } else if (fieldID[ifield] == COORDS) { + coords = (double *) cs->unpack(COORDS); + } else error->all(FLERR,"Server md step field unknown"); + } + + if (!coords) + error->all(FLERR,"Required server md step field not received"); + + // change box size/shape, only if both box lo/hi received + + if (boxlo && boxhi) box_change(boxlo,boxhi,boxtilt); + + // assign received coords to owned atoms + // closest_image() insures xyz matches current server PBC + + double **x = atom->x; + int nlocal = atom->nlocal; + int nall = atom->natoms; + + j = 0; + for (tagint id = 1; id <= nall; id++) { + m = atom->map(id); + if (m < 0 || m >= nlocal) j += 3; + else { + domain->closest_image(x[m],&coords[j],x[m]); + j += 3; + } + } + + // if no need to reneighbor, just ghost comm + // else setup_minimal(1) which includes reneigh + // setup_minimal computes forces for 0 or 1 + + int nflag = neighbor->decide(); + if (nflag == 0) { + comm->forward_comm(); + update->integrate->setup_minimal(0); + } else { + update->integrate->setup_minimal(1); + neighcalls++; + } + + forcecalls++; + + send_fev(msgID); + + } else error->all(FLERR,"Server MD received unrecognized message"); + } + + // final reply to client + + cs->send(0,0); + + // stats + + if (comm->me == 0) { + if (screen) { + fprintf(screen,"Server MD calls = %d\n",forcecalls); + fprintf(screen,"Server MD reneighborings = %d\n",neighcalls); + } + if (logfile) { + fprintf(logfile,"Server MD calls = %d\n",forcecalls); + fprintf(logfile,"Server MD reneighborings %d\n",neighcalls); + } + } + + // clean up + + delete cs; + lmp->cslib = NULL; +} + +/* ---------------------------------------------------------------------- + box change due to received message +------------------------------------------------------------------------- */ + +void ServerMD::box_change(double *boxlo, double *boxhi, double *boxtilt) +{ + domain->boxlo[0] = boxlo[0]; + domain->boxhi[0] = boxhi[0]; + domain->boxlo[1] = boxlo[1]; + domain->boxhi[1] = boxhi[1]; + if (domain->dimension == 3) { + domain->boxlo[2] = boxlo[2]; + domain->boxhi[2] = boxhi[2]; + } + + if (boxtilt) { + if (!domain->triclinic) + error->all(FLERR,"Server md not setup for triclinic box"); + domain->xy = boxtilt[0]; + if (domain->dimension == 3) { + domain->xz = boxtilt[1]; + domain->yz = boxtilt[2]; + } + } +} + +/* ---------------------------------------------------------------------- + send return message with forces, energy, pressure tensor + pressure tensor should be just pair style virial +------------------------------------------------------------------------- */ + +void ServerMD::send_fev(int msgID) +{ + CSlib *cs = (CSlib *) lmp->cslib; + + cs->send(msgID,3); + + double *forces = NULL; + if (atom->nlocal) forces = &atom->f[0][0]; + cs->pack_parallel(FORCES,4,atom->nlocal,atom->tag,3,forces); + + double eng = force->pair->eng_vdwl + force->pair->eng_coul; + double engall; + MPI_Allreduce(&eng,&engall,1,MPI_DOUBLE,MPI_SUM,world); + cs->pack_double(ENERGY,engall); + + double v[6],vall[6]; + for (int i = 0; i < 6; i++) + v[i] = force->pair->virial[i]; + if (force->kspace) + for (int i = 0; i < 6; i++) + v[i] += force->kspace->virial[i]; + + MPI_Allreduce(&v,&vall,6,MPI_DOUBLE,MPI_SUM,world); + cs->pack(VIRIAL,4,6,vall); +} + diff --git a/src/MESSAGE/server_md.h b/src/MESSAGE/server_md.h new file mode 100644 index 0000000000..70134cbff9 --- /dev/null +++ b/src/MESSAGE/server_md.h @@ -0,0 +1,33 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_SERVER_MD_H +#define LMP_SERVER_MD_H + +#include "pointers.h" + +namespace LAMMPS_NS { + +class ServerMD : protected Pointers { + public: + ServerMD(class LAMMPS *); + void loop(); + + private: + void box_change(double *, double *, double *); + void send_fev(int); +}; + +} + +#endif diff --git a/src/Makefile b/src/Makefile index 948d203cfe..b9cabfd67b 100644 --- a/src/Makefile +++ b/src/Makefile @@ -53,7 +53,7 @@ endif # PACKEXT = subset that require an external (downloaded) library PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ - granular kim kokkos kspace latte manybody mc meam misc \ + granular kim kokkos kspace latte manybody mc meam message misc \ molecule mpiio mscg opt peri poems \ python qeq reax replica rigid shock snap spin srd voronoi @@ -65,14 +65,14 @@ PACKUSER = user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \ user-quip user-reaxc user-smd user-smtbq user-sph user-tally \ user-uef user-vtk -PACKLIB = compress gpu kim kokkos latte meam mpiio mscg poems \ +PACKLIB = compress gpu kim kokkos latte meam message mpiio mscg poems \ python reax voronoi \ user-atc user-awpmd user-colvars user-h5md user-lb user-molfile \ user-netcdf user-qmmm user-quip user-smd user-vtk PACKSYS = compress mpiio python user-lb -PACKINT = gpu kokkos meam poems reax user-atc user-awpmd user-colvars +PACKINT = gpu kokkos meam message poems reax user-atc user-awpmd user-colvars PACKEXT = kim mscg voronoi \ user-h5md user-molfile user-netcdf user-qmmm user-quip \ diff --git a/src/atom.cpp b/src/atom.cpp index cf4d20a71e..798861364c 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1533,7 +1533,8 @@ void Atom::set_mass(const char *file, int line, int narg, char **arg) } /* ---------------------------------------------------------------------- - set all masses as read in from restart file + set all masses + called from reading of restart file, also from ServerMD ------------------------------------------------------------------------- */ void Atom::set_mass(double *values) diff --git a/src/domain.cpp b/src/domain.cpp index 4c1d12018b..c00a716613 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -1208,13 +1208,9 @@ int Domain::closest_image(double *pos, int j) /* ---------------------------------------------------------------------- find and return Xj image = periodic image of Xj that is closest to Xi for triclinic, add/subtract tilt factors in other dims as needed - not currently used (Jan 2017): - used to be called by pair TIP4P styles but no longer, - due to use of other closest_image() method ------------------------------------------------------------------------- */ -void Domain::closest_image(const double * const xi, const double * const xj, - double * const xjimage) +void Domain::closest_image(double *xi, double *xj, double *xjimage) { double dx = xj[0] - xi[0]; double dy = xj[1] - xi[1]; diff --git a/src/domain.h b/src/domain.h index 5581f9a45f..ed24116cf4 100644 --- a/src/domain.h +++ b/src/domain.h @@ -116,8 +116,7 @@ class Domain : protected Pointers { void minimum_image_once(double *); int closest_image(int, int); int closest_image(double *, int); - void closest_image(const double * const, const double * const, - double * const); + void closest_image(double *, double *, double *); void remap(double *, imageint &); void remap(double *); void remap_near(double *, double *); diff --git a/src/lammps.cpp b/src/lammps.cpp index df6519f9f4..282250c642 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -47,8 +47,8 @@ #include "accelerator_omp.h" #include "timer.h" #include "python.h" -#include "memory.h" #include "version.h" +#include "memory.h" #include "error.h" #include "lmpinstalledpkgs.h" @@ -73,12 +73,50 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) output = NULL; python = NULL; + clientserver = 0; + cslib = NULL; + cscomm = 0; + screen = NULL; logfile = NULL; infile = NULL; initclock = MPI_Wtime(); + // check if -mpi is first arg + // if so, then 2 apps were launched with one mpirun command + // this means passed communicator (e.g. MPI_COMM_WORLD) is bigger than LAMMPS + // e.g. for client/server coupling with another code + // communicator needs to shrink to be just LAMMPS + // syntax: -mpi P1 means P1 procs for one app, P-P1 procs for second app + // LAMMPS could be either app, based on proc IDs + // do the following: + // perform an MPI_Comm_split() to create a new LAMMPS-only subcomm + // NOTE: assuming other app is doing the same thing, else will hang! + // re-create universe with subcomm + // store full two-app comm in cscomm + // cscomm is used by CSLIB package to exchange messages w/ other app + // eventually should extend to N > 2 apps launched with one mpirun command + + int iarg = 1; + if (narg-iarg >= 2 && (strcmp(arg[iarg],"-mpi") == 0 || + strcmp(arg[iarg],"-m") == 0)) { + int me,nprocs; + MPI_Comm_rank(communicator,&me); + MPI_Comm_size(communicator,&nprocs); + int p1 = atoi(arg[iarg+1]); + if (p1 <= 0 || p1 >= nprocs) + error->universe_all(FLERR,"Invalid command-line argument"); + int which = 0; + if (me >= p1) which = 1; + MPI_Comm subcomm; + MPI_Comm_split(communicator,which,me,&subcomm); + cscomm = communicator; + communicator = subcomm; + delete universe; + universe = new Universe(this,communicator); + } + // parse input switches int inflag = 0; @@ -107,59 +145,30 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) int *pfirst = NULL; int *plast = NULL; - int iarg = 1; + iarg = 1; while (iarg < narg) { - if (strcmp(arg[iarg],"-partition") == 0 || - strcmp(arg[iarg],"-p") == 0) { - universe->existflag = 1; + + if (strcmp(arg[iarg],"-echo") == 0 || + strcmp(arg[iarg],"-e") == 0) { if (iarg+2 > narg) error->universe_all(FLERR,"Invalid command-line argument"); - iarg++; - while (iarg < narg && arg[iarg][0] != '-') { - universe->add_world(arg[iarg]); - iarg++; - } + iarg += 2; + + } else if (strcmp(arg[iarg],"-help") == 0 || + strcmp(arg[iarg],"-h") == 0) { + if (iarg+1 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + helpflag = 1; + citeflag = 0; + iarg += 1; + } else if (strcmp(arg[iarg],"-in") == 0 || strcmp(arg[iarg],"-i") == 0) { if (iarg+2 > narg) error->universe_all(FLERR,"Invalid command-line argument"); inflag = iarg + 1; iarg += 2; - } else if (strcmp(arg[iarg],"-screen") == 0 || - strcmp(arg[iarg],"-sc") == 0) { - if (iarg+2 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - screenflag = iarg + 1; - iarg += 2; - } else if (strcmp(arg[iarg],"-log") == 0 || - strcmp(arg[iarg],"-l") == 0) { - if (iarg+2 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - logflag = iarg + 1; - iarg += 2; - } else if (strcmp(arg[iarg],"-var") == 0 || - strcmp(arg[iarg],"-v") == 0) { - if (iarg+3 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - iarg += 3; - while (iarg < narg && arg[iarg][0] != '-') iarg++; - } else if (strcmp(arg[iarg],"-echo") == 0 || - strcmp(arg[iarg],"-e") == 0) { - if (iarg+2 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - iarg += 2; - } else if (strcmp(arg[iarg],"-pscreen") == 0 || - strcmp(arg[iarg],"-ps") == 0) { - if (iarg+2 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - partscreenflag = iarg + 1; - iarg += 2; - } else if (strcmp(arg[iarg],"-plog") == 0 || - strcmp(arg[iarg],"-pl") == 0) { - if (iarg+2 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - partlogflag = iarg + 1; - iarg += 2; + } else if (strcmp(arg[iarg],"-kokkos") == 0 || strcmp(arg[iarg],"-k") == 0) { if (iarg+2 > narg) @@ -172,6 +181,26 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) kkfirst = iarg; while (iarg < narg && arg[iarg][0] != '-') iarg++; kklast = iarg; + + } else if (strcmp(arg[iarg],"-log") == 0 || + strcmp(arg[iarg],"-l") == 0) { + if (iarg+2 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + logflag = iarg + 1; + iarg += 2; + + } else if (strcmp(arg[iarg],"-mpi") == 0 || + strcmp(arg[iarg],"-m") == 0) { + if (iarg+2 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + if (iarg != 1) error->universe_all(FLERR,"Invalid command-line argument"); + iarg += 2; + + } else if (strcmp(arg[iarg],"-nocite") == 0 || + strcmp(arg[iarg],"-nc") == 0) { + citeflag = 0; + iarg++; + } else if (strcmp(arg[iarg],"-package") == 0 || strcmp(arg[iarg],"-pk") == 0) { if (iarg+2 > narg) @@ -188,31 +217,32 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) else break; } plast[npack++] = iarg; - } else if (strcmp(arg[iarg],"-suffix") == 0 || - strcmp(arg[iarg],"-sf") == 0) { + + } else if (strcmp(arg[iarg],"-partition") == 0 || + strcmp(arg[iarg],"-p") == 0) { + universe->existflag = 1; if (iarg+2 > narg) error->universe_all(FLERR,"Invalid command-line argument"); - delete [] suffix; - delete [] suffix2; - suffix2 = NULL; - suffix_enable = 1; - // hybrid option to set fall-back for suffix2 - if (strcmp(arg[iarg+1],"hybrid") == 0) { - if (iarg+4 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - int n = strlen(arg[iarg+2]) + 1; - suffix = new char[n]; - strcpy(suffix,arg[iarg+2]); - n = strlen(arg[iarg+3]) + 1; - suffix2 = new char[n]; - strcpy(suffix2,arg[iarg+3]); - iarg += 4; - } else { - int n = strlen(arg[iarg+1]) + 1; - suffix = new char[n]; - strcpy(suffix,arg[iarg+1]); - iarg += 2; + iarg++; + while (iarg < narg && arg[iarg][0] != '-') { + universe->add_world(arg[iarg]); + iarg++; } + + } else if (strcmp(arg[iarg],"-plog") == 0 || + strcmp(arg[iarg],"-pl") == 0) { + if (iarg+2 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + partlogflag = iarg + 1; + iarg += 2; + + } else if (strcmp(arg[iarg],"-pscreen") == 0 || + strcmp(arg[iarg],"-ps") == 0) { + if (iarg+2 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + partscreenflag = iarg + 1; + iarg += 2; + } else if (strcmp(arg[iarg],"-reorder") == 0 || strcmp(arg[iarg],"-ro") == 0) { if (iarg+3 > narg) @@ -221,6 +251,7 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) error->universe_all(FLERR,"Cannot use -reorder after -partition"); universe->reorder(arg[iarg+1],arg[iarg+2]); iarg += 3; + } else if (strcmp(arg[iarg],"-restart") == 0 || strcmp(arg[iarg],"-r") == 0) { if (iarg+3 > narg) @@ -241,17 +272,47 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) wdfirst = iarg; while (iarg < narg && arg[iarg][0] != '-') iarg++; wdlast = iarg; - } else if (strcmp(arg[iarg],"-nocite") == 0 || - strcmp(arg[iarg],"-nc") == 0) { - citeflag = 0; - iarg++; - } else if (strcmp(arg[iarg],"-help") == 0 || - strcmp(arg[iarg],"-h") == 0) { - if (iarg+1 > narg) + + } else if (strcmp(arg[iarg],"-screen") == 0 || + strcmp(arg[iarg],"-sc") == 0) { + if (iarg+2 > narg) error->universe_all(FLERR,"Invalid command-line argument"); - helpflag = 1; - citeflag = 0; - iarg += 1; + screenflag = iarg + 1; + iarg += 2; + + } else if (strcmp(arg[iarg],"-suffix") == 0 || + strcmp(arg[iarg],"-sf") == 0) { + if (iarg+2 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + delete [] suffix; + delete [] suffix2; + suffix2 = NULL; + suffix_enable = 1; + // hybrid option to set fall-back for suffix2 + if (strcmp(arg[iarg+1],"hybrid") == 0) { + if (iarg+4 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + int n = strlen(arg[iarg+2]) + 1; + suffix = new char[n]; + strcpy(suffix,arg[iarg+2]); + n = strlen(arg[iarg+3]) + 1; + suffix2 = new char[n]; + strcpy(suffix2,arg[iarg+3]); + iarg += 4; + } else { + int n = strlen(arg[iarg+1]) + 1; + suffix = new char[n]; + strcpy(suffix,arg[iarg+1]); + iarg += 2; + } + + } else if (strcmp(arg[iarg],"-var") == 0 || + strcmp(arg[iarg],"-v") == 0) { + if (iarg+3 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + iarg += 3; + while (iarg < narg && arg[iarg][0] != '-') iarg++; + } else error->universe_all(FLERR,"Invalid command-line argument"); } @@ -595,6 +656,14 @@ LAMMPS::~LAMMPS() delete [] suffix; delete [] suffix2; + // free the MPI comm created by -mpi command-line arg + // it was passed to universe as if origianl universe world + // may have been split later by partitions, universe will free the splits + // free a copy of uorig here, so check in universe destructor will still work + + MPI_Comm copy = universe->uorig; + if (cscomm) MPI_Comm_free(©); + delete input; delete universe; delete error; diff --git a/src/lammps.h b/src/lammps.h index b2c8673471..5ccef3026e 100644 --- a/src/lammps.h +++ b/src/lammps.h @@ -51,6 +51,10 @@ class LAMMPS { int num_package; // number of cmdline package commands int cite_enable; // 1 if generating log.cite, 0 if disabled + int clientserver; // 0 = neither, 1 = client, 2 = server + void *cslib; // client/server messaging via CSlib + MPI_Comm cscomm; // MPI comm for client+server in mpi/one mode + class KokkosLMP *kokkos; // KOKKOS accelerator class class AtomKokkos *atomKK; // KOKKOS version of Atom class class MemoryKokkos *memoryKK; // KOKKOS version of Memory class -- GitLab From ef3fd1374a1ddc557c78abd8631415234d874db4 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 23 Jul 2018 16:11:18 -0600 Subject: [PATCH 315/675] added kspace_style for internal fmm tuning (for inhomogenous systems) and fixed the call to fcs_set_tolerance --- src/USER-SCAFACOS/scafacos.cpp | 43 +++++++++++++++++++++++++++++----- src/USER-SCAFACOS/scafacos.h | 2 ++ 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index b9390aea47..352a298b86 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -49,7 +49,10 @@ Scafacos::Scafacos(LAMMPS *lmp, int narg, char **arg) : KSpace(lmp, narg, arg) // choose the correct default tolerance type for chosen method // TODO: needs to be expanded for all solvers, currently mainly used ones if (strcmp(method,"fmm") == 0) + { tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; + fmm_tuning_flag = 0; + } else if (strcmp(method,"p3m") == 0 || strcmp(method,"p2nfft") == 0) tolerance_type = FCS_TOLERANCE_TYPE_FIELD; @@ -81,6 +84,8 @@ Scafacos::~Scafacos() void Scafacos::init() { // error checks + if (screen && me == 0) fprintf(screen,"Setting up ScaFaCoS with solver %s ...\n",method); + if (logfile && me == 0) fprintf(logfile,"Setting up ScaFaCoS with solver %s ...\n",method); if (!atom->q_flag) error->all(FLERR,"Kspace style requires atom attribute q"); @@ -106,18 +111,31 @@ void Scafacos::init() setup_handle(); - result = fcs_set_tolerance(fcs,tolerance_type,tolerance); - check_result(result); - + // using other methods lead to termination of the program, + // since they have no tolerance tuning methods + if ( strcmp(method,"fmm") == 0 || + strcmp(method,"p3m") == 0 || + strcmp(method,"p2nfft") == 0 || + strcmp(method,"ewald") == 0) + { + result = fcs_set_tolerance(fcs,tolerance_type,tolerance); + check_result(result); + } if (me == 0) fcs_print_parameters(fcs); double **x = atom->x; double *q = atom->q; int nlocal = atom->nlocal; + if (strcmp(method,"fmm") == 0) + { + if (fmm_tuning_flag == 1) + fcs_fmm_set_internal_tuning(fcs,fmm_tuning_flag); + } + result = fcs_tune(fcs,nlocal,&x[0][0],q); + check_result(result); } - initialized = 1; } @@ -197,7 +215,7 @@ int Scafacos::modify_param(int narg, char **arg) if (strcmp(arg[0],"scafacos") != 0) return 0; if (strcmp(arg[1],"tolerance") == 0) { - if (narg < 2) error->all(FLERR,"Illegal kspace_modify command"); + if (narg < 3) error->all(FLERR,"Illegal kspace_modify command (tolerance)"); if (strcmp(arg[2],"energy") == 0) tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; else if (strcmp(arg[2],"energy_rel") == 0) @@ -210,7 +228,20 @@ int Scafacos::modify_param(int narg, char **arg) tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL; else if (strcmp(arg[2],"potential_rel") == 0) tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL_REL; - else error->all(FLERR,"Illegal kspace_modify command"); + else error->all(FLERR,"Illegal kspace_modify command (tolerance argument)"); + return 3; + } + + // keyword = fmm_inhomogen_tuning + // value1 = 0, 1 + // 0 -> homogenous system (default) + // 1 -> inhomogenous system (more internal tuning is provided (sequential!)) + if (strcmp(arg[1],"fmm_tuning") == 0) + { + if (screen && me == 0) fprintf(screen,"ScaFaCoS setting fmm inhomogen tuning ...%d\n", narg); + if (logfile && me == 0) fprintf(logfile,"ScaFaCoS setting fmm inhomogen tuning ...%d\n", narg); + if (narg < 3) error->all(FLERR,"Illegal kspace_modify command (fmm_tuning)"); + fmm_tuning_flag = atoi(arg[2]); return 3; } diff --git a/src/USER-SCAFACOS/scafacos.h b/src/USER-SCAFACOS/scafacos.h index 3e549cf64e..857036bb7a 100644 --- a/src/USER-SCAFACOS/scafacos.h +++ b/src/USER-SCAFACOS/scafacos.h @@ -44,6 +44,8 @@ class Scafacos : public KSpace { int tolerance_type; int initialized,maxatom; + int fmm_tuning_flag; + FCS fcs; // ScaFaCoS handle FCSResult result; // result for each ScaFaCoS call -- GitLab From a90e019ec7d9315fc359cb5eff01ac941e007921 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 23 Jul 2018 16:13:15 -0600 Subject: [PATCH 316/675] updated ScaFaCoS examples, added open-boundary Hammersley distributed sphere and charged cloud near a charged wall examples --- examples/USER/scafacos/data.NaCl | 50 +- examples/USER/scafacos/data.cloud_wall | 316 +++++ .../USER/scafacos/data.hammersley_shphere | 1016 +++++++++++++++++ examples/USER/scafacos/in.scafacos.cw.ewald | 31 + examples/USER/scafacos/in.scafacos.cw.fmm | 37 + examples/USER/scafacos/in.scafacos.cw.p2nfft | 31 + examples/USER/scafacos/in.scafacos.ewald | 37 + examples/USER/scafacos/in.scafacos.fmm | 37 + .../USER/scafacos/in.scafacos.hsph.direct | 34 + examples/USER/scafacos/in.scafacos.hsph.fmm | 37 + .../USER/scafacos/in.scafacos.hsph.p2nfft | 36 + examples/USER/scafacos/in.scafacos.p2nfft | 37 + .../log.23Jul18.scafacos.cw.g++.ewald.16 | 92 ++ .../log.23Jul18.scafacos.cw.g++.ewald.8 | 92 ++ .../log.23Jul18.scafacos.cw.g++.fmm.1 | 99 ++ .../log.23Jul18.scafacos.cw.g++.fmm.16 | 99 ++ .../log.23Jul18.scafacos.cw.g++.fmm.2 | 99 ++ .../log.23Jul18.scafacos.cw.g++.fmm.4 | 99 ++ .../log.23Jul18.scafacos.cw.g++.fmm.8 | 99 ++ .../log.23Jul18.scafacos.cw.g++.p2nfft.1 | 92 ++ .../log.23Jul18.scafacos.cw.g++.p2nfft.16 | 92 ++ .../log.23Jul18.scafacos.cw.g++.p2nfft.2 | 92 ++ .../log.23Jul18.scafacos.cw.g++.p2nfft.4 | 92 ++ .../log.23Jul18.scafacos.cw.g++.p2nfft.8 | 92 ++ .../log.23Jul18.scafacos.g++.ewald.16 | 102 ++ .../scafacos/log.23Jul18.scafacos.g++.ewald.8 | 102 ++ .../scafacos/log.23Jul18.scafacos.g++.fmm.1 | 102 ++ .../scafacos/log.23Jul18.scafacos.g++.fmm.16 | 102 ++ .../scafacos/log.23Jul18.scafacos.g++.fmm.2 | 102 ++ .../scafacos/log.23Jul18.scafacos.g++.fmm.4 | 102 ++ .../scafacos/log.23Jul18.scafacos.g++.fmm.8 | 102 ++ .../log.23Jul18.scafacos.g++.p2nfft.1 | 102 ++ .../log.23Jul18.scafacos.g++.p2nfft.16 | 102 ++ .../log.23Jul18.scafacos.g++.p2nfft.2 | 102 ++ .../log.23Jul18.scafacos.g++.p2nfft.4 | 102 ++ .../log.23Jul18.scafacos.g++.p2nfft.8 | 102 ++ .../log.23Jul18.scafacos.hsph.g++.direct.1 | 105 ++ .../log.23Jul18.scafacos.hsph.g++.direct.2 | 105 ++ .../log.23Jul18.scafacos.hsph.g++.direct.4 | 105 ++ .../log.23Jul18.scafacos.hsph.g++.direct.8 | 105 ++ .../log.23Jul18.scafacos.hsph.g++.fmm.1 | 109 ++ .../log.23Jul18.scafacos.hsph.g++.fmm.2 | 109 ++ .../log.23Jul18.scafacos.hsph.g++.fmm.4 | 109 ++ .../log.23Jul18.scafacos.hsph.g++.fmm.8 | 109 ++ .../log.23Jul18.scafacos.hsph.g++.p2nfft.1 | 107 ++ .../log.23Jul18.scafacos.hsph.g++.p2nfft.2 | 107 ++ .../log.23Jul18.scafacos.hsph.g++.p2nfft.4 | 107 ++ .../log.23Jul18.scafacos.hsph.g++.p2nfft.8 | 107 ++ 48 files changed, 5321 insertions(+), 25 deletions(-) create mode 100644 examples/USER/scafacos/data.cloud_wall create mode 100644 examples/USER/scafacos/data.hammersley_shphere create mode 100644 examples/USER/scafacos/in.scafacos.cw.ewald create mode 100644 examples/USER/scafacos/in.scafacos.cw.fmm create mode 100644 examples/USER/scafacos/in.scafacos.cw.p2nfft create mode 100644 examples/USER/scafacos/in.scafacos.ewald create mode 100644 examples/USER/scafacos/in.scafacos.fmm create mode 100644 examples/USER/scafacos/in.scafacos.hsph.direct create mode 100644 examples/USER/scafacos/in.scafacos.hsph.fmm create mode 100644 examples/USER/scafacos/in.scafacos.hsph.p2nfft create mode 100644 examples/USER/scafacos/in.scafacos.p2nfft create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.16 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.8 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.1 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.16 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.2 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.4 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.8 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.1 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.16 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.2 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.4 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.8 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.16 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.8 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.1 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.16 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.2 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.4 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.8 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.1 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.16 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.2 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.4 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.8 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.1 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.2 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.4 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.8 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.1 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.2 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.4 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.8 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.1 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.2 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.4 create mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.8 diff --git a/examples/USER/scafacos/data.NaCl b/examples/USER/scafacos/data.NaCl index 2d804dec95..23807e23d5 100644 --- a/examples/USER/scafacos/data.NaCl +++ b/examples/USER/scafacos/data.NaCl @@ -1,25 +1,25 @@ - LAMMPS Description - - 8 atoms - - 2 atom types - - 0.0000000000000000 2.000000000000000 xlo xhi - 0.0000000000000000 2.000000000000000 ylo yhi - 0.0000000000000000 2.000000000000000 zlo zhi - - Masses - - 1 22.98976928 - 2 35.45 - - Atoms - - 1 1 1.0 0.0 0.0 0.0 - 2 2 -1.0 1.0 0.0 0.0 - 3 2 -1.0 0.0 1.0 0.0 - 4 1 1.0 1.0 1.0 0.0 - 5 2 -1.0 0.0 0.0 1.0 - 6 1 1.0 1.0 0.0 1.0 - 7 1 1.0 0.0 1.0 1.0 - 8 2 -1.0 1.0 1.0 1.0 +LAMMPS Description + +8 atoms + +2 atom types + +0 2 xlo xhi +0 2 ylo yhi +0 2 zlo zhi + +Masses + +1 22.98976928 +2 35.45 + +Atoms + +1 2 1 0 0 0 +2 1 -1 1 0 0 +3 1 -1 0 1 0 +4 2 1 1 1 0 +5 1 -1 0 0 1 +6 2 1 1 0 1 +7 2 1 0 1 1 +8 1 -1 1 1 1 diff --git a/examples/USER/scafacos/data.cloud_wall b/examples/USER/scafacos/data.cloud_wall new file mode 100644 index 0000000000..1592ec666a --- /dev/null +++ b/examples/USER/scafacos/data.cloud_wall @@ -0,0 +1,316 @@ +LAMMPS Description + +300 atoms + +1 atom types + +0 10 xlo xhi +0 10 ylo yhi +0 10 zlo zhi + +Masses + +1 1.0 + +Atoms + +1 1 1 0 0 4.5 +2 1 -1 0 0 5.5 +3 1 1 0 1 4.5 +4 1 -1 0 1 5.5 +5 1 1 0 2 4.5 +6 1 -1 0 2 5.5 +7 1 1 0 3 4.5 +8 1 -1 0 3 5.5 +9 1 1 0 4 4.5 +10 1 -1 0 4 5.5 +11 1 1 0 5 4.5 +12 1 -1 0 5 5.5 +13 1 1 0 6 4.5 +14 1 -1 0 6 5.5 +15 1 1 0 7 4.5 +16 1 -1 0 7 5.5 +17 1 1 0 8 4.5 +18 1 -1 0 8 5.5 +19 1 1 0 9 4.5 +20 1 -1 0 9 5.5 +21 1 1 1 0 4.5 +22 1 -1 1 0 5.5 +23 1 1 1 1 4.5 +24 1 -1 1 1 5.5 +25 1 1 1 2 4.5 +26 1 -1 1 2 5.5 +27 1 1 1 3 4.5 +28 1 -1 1 3 5.5 +29 1 1 1 4 4.5 +30 1 -1 1 4 5.5 +31 1 1 1 5 4.5 +32 1 -1 1 5 5.5 +33 1 1 1 6 4.5 +34 1 -1 1 6 5.5 +35 1 1 1 7 4.5 +36 1 -1 1 7 5.5 +37 1 1 1 8 4.5 +38 1 -1 1 8 5.5 +39 1 1 1 9 4.5 +40 1 -1 1 9 5.5 +41 1 1 2 0 4.5 +42 1 -1 2 0 5.5 +43 1 1 2 1 4.5 +44 1 -1 2 1 5.5 +45 1 1 2 2 4.5 +46 1 -1 2 2 5.5 +47 1 1 2 3 4.5 +48 1 -1 2 3 5.5 +49 1 1 2 4 4.5 +50 1 -1 2 4 5.5 +51 1 1 2 5 4.5 +52 1 -1 2 5 5.5 +53 1 1 2 6 4.5 +54 1 -1 2 6 5.5 +55 1 1 2 7 4.5 +56 1 -1 2 7 5.5 +57 1 1 2 8 4.5 +58 1 -1 2 8 5.5 +59 1 1 2 9 4.5 +60 1 -1 2 9 5.5 +61 1 1 3 0 4.5 +62 1 -1 3 0 5.5 +63 1 1 3 1 4.5 +64 1 -1 3 1 5.5 +65 1 1 3 2 4.5 +66 1 -1 3 2 5.5 +67 1 1 3 3 4.5 +68 1 -1 3 3 5.5 +69 1 1 3 4 4.5 +70 1 -1 3 4 5.5 +71 1 1 3 5 4.5 +72 1 -1 3 5 5.5 +73 1 1 3 6 4.5 +74 1 -1 3 6 5.5 +75 1 1 3 7 4.5 +76 1 -1 3 7 5.5 +77 1 1 3 8 4.5 +78 1 -1 3 8 5.5 +79 1 1 3 9 4.5 +80 1 -1 3 9 5.5 +81 1 1 4 0 4.5 +82 1 -1 4 0 5.5 +83 1 1 4 1 4.5 +84 1 -1 4 1 5.5 +85 1 1 4 2 4.5 +86 1 -1 4 2 5.5 +87 1 1 4 3 4.5 +88 1 -1 4 3 5.5 +89 1 1 4 4 4.5 +90 1 -1 4 4 5.5 +91 1 1 4 5 4.5 +92 1 -1 4 5 5.5 +93 1 1 4 6 4.5 +94 1 -1 4 6 5.5 +95 1 1 4 7 4.5 +96 1 -1 4 7 5.5 +97 1 1 4 8 4.5 +98 1 -1 4 8 5.5 +99 1 1 4 9 4.5 +100 1 -1 4 9 5.5 +101 1 1 5 0 4.5 +102 1 -1 5 0 5.5 +103 1 1 5 1 4.5 +104 1 -1 5 1 5.5 +105 1 1 5 2 4.5 +106 1 -1 5 2 5.5 +107 1 1 5 3 4.5 +108 1 -1 5 3 5.5 +109 1 1 5 4 4.5 +110 1 -1 5 4 5.5 +111 1 1 5 5 4.5 +112 1 -1 5 5 5.5 +113 1 1 5 6 4.5 +114 1 -1 5 6 5.5 +115 1 1 5 7 4.5 +116 1 -1 5 7 5.5 +117 1 1 5 8 4.5 +118 1 -1 5 8 5.5 +119 1 1 5 9 4.5 +120 1 -1 5 9 5.5 +121 1 1 6 0 4.5 +122 1 -1 6 0 5.5 +123 1 1 6 1 4.5 +124 1 -1 6 1 5.5 +125 1 1 6 2 4.5 +126 1 -1 6 2 5.5 +127 1 1 6 3 4.5 +128 1 -1 6 3 5.5 +129 1 1 6 4 4.5 +130 1 -1 6 4 5.5 +131 1 1 6 5 4.5 +132 1 -1 6 5 5.5 +133 1 1 6 6 4.5 +134 1 -1 6 6 5.5 +135 1 1 6 7 4.5 +136 1 -1 6 7 5.5 +137 1 1 6 8 4.5 +138 1 -1 6 8 5.5 +139 1 1 6 9 4.5 +140 1 -1 6 9 5.5 +141 1 1 7 0 4.5 +142 1 -1 7 0 5.5 +143 1 1 7 1 4.5 +144 1 -1 7 1 5.5 +145 1 1 7 2 4.5 +146 1 -1 7 2 5.5 +147 1 1 7 3 4.5 +148 1 -1 7 3 5.5 +149 1 1 7 4 4.5 +150 1 -1 7 4 5.5 +151 1 1 7 5 4.5 +152 1 -1 7 5 5.5 +153 1 1 7 6 4.5 +154 1 -1 7 6 5.5 +155 1 1 7 7 4.5 +156 1 -1 7 7 5.5 +157 1 1 7 8 4.5 +158 1 -1 7 8 5.5 +159 1 1 7 9 4.5 +160 1 -1 7 9 5.5 +161 1 1 8 0 4.5 +162 1 -1 8 0 5.5 +163 1 1 8 1 4.5 +164 1 -1 8 1 5.5 +165 1 1 8 2 4.5 +166 1 -1 8 2 5.5 +167 1 1 8 3 4.5 +168 1 -1 8 3 5.5 +169 1 1 8 4 4.5 +170 1 -1 8 4 5.5 +171 1 1 8 5 4.5 +172 1 -1 8 5 5.5 +173 1 1 8 6 4.5 +174 1 -1 8 6 5.5 +175 1 1 8 7 4.5 +176 1 -1 8 7 5.5 +177 1 1 8 8 4.5 +178 1 -1 8 8 5.5 +179 1 1 8 9 4.5 +180 1 -1 8 9 5.5 +181 1 1 9 0 4.5 +182 1 -1 9 0 5.5 +183 1 1 9 1 4.5 +184 1 -1 9 1 5.5 +185 1 1 9 2 4.5 +186 1 -1 9 2 5.5 +187 1 1 9 3 4.5 +188 1 -1 9 3 5.5 +189 1 1 9 4 4.5 +190 1 -1 9 4 5.5 +191 1 1 9 5 4.5 +192 1 -1 9 5 5.5 +193 1 1 9 6 4.5 +194 1 -1 9 6 5.5 +195 1 1 9 7 4.5 +196 1 -1 9 7 5.5 +197 1 1 9 8 4.5 +198 1 -1 9 8 5.5 +199 1 1 9 9 4.5 +200 1 -1 9 9 5.5 +201 1 -1 9.28495 2.13839 8.88019 +202 1 1 4.99281 4.17459 9.83905 +203 1 -1 4.91265 6.89408 2.39989 +204 1 1 4.43647 3.68895 8.86086 +205 1 -1 0.659075 7.07271 0.179131 +206 1 1 7.791 3.40021 0.969703 +207 1 -1 1.18008 3.63874 7.28751 +208 1 1 8.51522 5.24681 6.37702 +209 1 -1 4.24226 9.60726 3.16084 +210 1 1 8.43745 8.23344 9.2883 +211 1 -1 8.48509 8.84988 9.43407 +212 1 1 2.81127 8.9903 0.00909212 +213 1 -1 6.38283 6.20858 9.92482 +214 1 1 4.59962 5.7925 7.52571 +215 1 -1 7.03797 7.09336 8.15957 +216 1 1 6.68103 8.04734 7.95661 +217 1 -1 2.531 8.47145 1.6209 +218 1 1 6.71915 8.79876 9.59581 +219 1 -1 4.96758 0.0381298 0.827927 +220 1 1 9.22955 1.04572 0.84722 +221 1 -1 2.3224 2.57084 8.07306 +222 1 1 1.94283 3.17375 3.92051 +223 1 -1 2.34735 1.91295 1.29127 +224 1 1 3.33928 3.30688 0.892089 +225 1 -1 1.19738 4.40402 8.70835 +226 1 1 7.44541 4.94803 8.28211 +227 1 -1 5.93272 1.18886 1.56518 +228 1 1 8.50709 8.70343 1.24939 +229 1 -1 5.54016 3.38865 8.61698 +230 1 1 9.47644 0.573085 3.05941 +231 1 -1 9.39695 4.46542 1.84205 +232 1 1 3.52268 5.60212 0.333999 +233 1 -1 3.69009 9.40954 6.10446 +234 1 1 3.96836 6.15307 7.57803 +235 1 -1 2.02535 0.0418407 3.21642 +236 1 1 2.97488 8.79711 8.33242 +237 1 -1 2.4122 1.79458 3.04173 +238 1 1 9.72355 3.67773 1.52435 +239 1 -1 8.55216 6.1623 1.53201 +240 1 1 4.98973 2.41459 9.84381 +241 1 -1 8.8901 5.9006 1.97649 +242 1 1 9.09932 2.23783 1.42554 +243 1 -1 6.70722 8.21769 1.21953 +244 1 1 6.83768 0.84508 3.25165 +245 1 -1 0.222115 3.07945 0.51825 +246 1 1 0.503918 9.34932 6.25278 +247 1 -1 0.803159 8.7017 9.46211 +248 1 1 4.88636 5.00147 9.65639 +249 1 -1 1.62258 0.767285 9.63596 +250 1 1 2.70143 3.01111 7.74859 +251 1 -1 4.41574 5.31824 0.538729 +252 1 1 1.64724 5.18097 3.59205 +253 1 -1 2.33672 3.21408 6.6081 +254 1 1 7.46603 1.53668 9.09844 +255 1 -1 3.61269 8.44556 6.99789 +256 1 1 6.95465 6.83045 9.31002 +257 1 -1 5.91831 9.01549 3.4626 +258 1 1 6.56503 8.42229 3.27105 +259 1 -1 4.50822 9.59753 3.47025 +260 1 1 4.17357 5.27384 7.34774 +261 1 -1 7.70968 6.5292 3.54779 +262 1 1 4.7977 4.94239 6.24947 +263 1 -1 9.24016 9.36994 6.71263 +264 1 1 7.36888 8.75922 0.52403 +265 1 -1 9.92895 5.87551 6.21586 +266 1 1 3.86308 6.71601 9.69083 +267 1 -1 8.90048 0.298719 0.573852 +268 1 1 6.58753 6.67768 1.83984 +269 1 -1 8.672 0.367497 2.21864 +270 1 1 3.44519 3.30359 6.52249 +271 1 -1 7.24717 3.25113 3.41567 +272 1 1 9.53447 5.81336 1.79208 +273 1 -1 1.01722 6.42534 0.715 +274 1 1 3.58808 4.92392 7.00979 +275 1 -1 1.21399 3.56951 6.34505 +276 1 1 3.50336 0.942722 2.76989 +277 1 -1 9.45475 6.06299 0.659023 +278 1 1 3.44464 4.03075 6.20179 +279 1 -1 0.949331 5.40183 8.51385 +280 1 1 6.41118 2.62135 2.31132 +281 1 -1 3.58837 9.78355 7.04966 +282 1 1 9.2267 3.19593 2.10384 +283 1 -1 1.83092 2.35627 3.93061 +284 1 1 4.97203 4.92287 1.8049 +285 1 -1 7.4097 4.757 8.604 +286 1 1 0.746575 7.69038 0.89134 +287 1 -1 8.54862 6.59135 2.18888 +288 1 1 2.18747 4.82994 0.761718 +289 1 -1 5.71622 2.51116 6.85522 +290 1 1 6.95554 1.83187 8.31157 +291 1 -1 7.31818 6.60081 2.63208 +292 1 1 0.744495 2.73429 9.86022 +293 1 -1 5.1573 8.70962 2.53418 +294 1 1 2.40385 1.54057 1.9297 +295 1 -1 3.42609 2.25856 2.28437 +296 1 1 6.66173 3.70851 9.70052 +297 1 -1 7.88966 1.4343 8.91223 +298 1 1 3.91118 5.22253 6.29642 +299 1 -1 9.17618 3.98313 9.82158 +300 1 1 4.95424 5.93521 1.3652 diff --git a/examples/USER/scafacos/data.hammersley_shphere b/examples/USER/scafacos/data.hammersley_shphere new file mode 100644 index 0000000000..e0d067adfb --- /dev/null +++ b/examples/USER/scafacos/data.hammersley_shphere @@ -0,0 +1,1016 @@ +LAMMPS Description + +1000 atoms + +1 atom types + +-50.5 51.5 xlo xhi +-50.5 51.5 ylo yhi +-50.5 51.5 zlo zhi + +Masses + +1 1.0 + +Atoms + +1 1 1 0.5 0.5 0 +2 1 1 0.468393 0.5 0.001 +3 1 1 0.5 0.544677 0.002 +4 1 -1 0.5 0.44531 0.003 +5 1 -1 0.544632 0.544632 0.004 +6 1 1 0.450125 0.450125 0.005 +7 1 1 0.445392 0.554608 0.006 +8 1 -1 0.558953 0.441047 0.007 +9 1 -1 0.582303 0.534091 0.008 +10 1 -1 0.412748 0.463859 0.009 +11 1 -1 0.461923 0.591925 0.01 +12 1 -1 0.539915 0.403637 0.011 +13 1 -1 0.541669 0.600597 0.012 +14 1 -1 0.456652 0.395348 0.013 +15 1 -1 0.391453 0.544962 0.014 +16 1 1 0.6123 0.453484 0.015 +17 1 1 0.623064 0.524479 0.016 +18 1 1 0.373213 0.47478 0.017 +19 1 1 0.474063 0.630397 0.018 +20 1 1 0.526635 0.366099 0.019 +21 1 1 0.57778 0.616406 0.02 +22 1 -1 0.42034 0.38078 0.021 +23 1 1 0.378037 0.581493 0.022 +24 1 -1 0.62464 0.416718 0.023 +25 1 1 0.627256 0.585029 0.024 +26 1 1 0.370187 0.413262 0.025 +27 1 1 0.411589 0.632316 0.026 +28 1 -1 0.590049 0.365233 0.027 +29 1 -1 0.532185 0.661803 0.028 +30 1 -1 0.467263 0.335418 0.029 +31 1 1 0.332691 0.53328 0.03 +32 1 -1 0.669987 0.466187 0.031 +33 1 -1 0.675153 0.517251 0.032 +34 1 1 0.322224 0.482491 0.033 +35 1 -1 0.482236 0.680356 0.034 +36 1 1 0.518014 0.317105 0.035 +37 1 -1 0.618181 0.644004 0.036 +38 1 1 0.380251 0.354085 0.037 +39 1 -1 0.352203 0.621294 0.038 +40 1 -1 0.649651 0.377185 0.039 +41 1 -1 0.672821 0.592375 0.04 +42 1 -1 0.325124 0.406527 0.041 +43 1 -1 0.405443 0.676904 0.042 +44 1 1 0.595626 0.321096 0.043 +45 1 -1 0.559536 0.696264 0.044 +46 1 1 0.439823 0.301622 0.045 +47 1 1 0.299535 0.56081 0.046 +48 1 -1 0.702526 0.438564 0.047 +49 1 1 0.704562 0.562053 0.048 +50 1 -1 0.293427 0.437337 0.049 +51 1 1 0.436734 0.70856 0.05 +52 1 -1 0.563862 0.289475 0.051 +53 1 -1 0.604663 0.69581 0.052 +54 1 1 0.394391 0.30242 0.053 +55 1 -1 0.30067 0.606544 0.054 +56 1 -1 0.701061 0.392531 0.055 +57 1 -1 0.677732 0.645861 0.056 +58 1 1 0.320783 0.352921 0.057 +59 1 1 0.351715 0.680686 0.058 +60 1 1 0.649479 0.31786 0.059 +61 1 -1 0.523278 0.736343 0.06 +62 1 1 0.476542 0.261822 0.061 +63 1 -1 0.260006 0.523637 0.062 +64 1 -1 0.741793 0.476185 0.063 +65 1 1 0.744458 0.512009 0.064 +66 1 1 0.253771 0.487904 0.065 +67 1 -1 0.487817 0.747983 0.066 +68 1 1 0.512268 0.250279 0.067 +69 1 -1 0.669062 0.686531 0.068 +70 1 1 0.329791 0.312203 0.069 +71 1 -1 0.310949 0.671346 0.07 +72 1 1 0.690295 0.327527 0.071 +73 1 1 0.73367 0.610518 0.072 +74 1 -1 0.264839 0.388777 0.073 +75 1 1 0.388079 0.736638 0.074 +76 1 -1 0.612614 0.261897 0.075 +77 1 -1 0.589275 0.749507 0.076 +78 1 1 0.410188 0.248992 0.077 +79 1 1 0.247505 0.590344 0.078 +80 1 -1 0.753971 0.409128 0.079 +81 1 1 0.763163 0.565919 0.08 +82 1 -1 0.235341 0.433706 0.081 +83 1 -1 0.433335 0.766142 0.082 +84 1 -1 0.567034 0.232386 0.083 +85 1 1 0.642606 0.737923 0.084 +86 1 -1 0.356626 0.260795 0.085 +87 1 -1 0.259524 0.644136 0.086 +88 1 -1 0.741738 0.355108 0.087 +89 1 -1 0.727545 0.668759 0.088 +90 1 -1 0.271292 0.330378 0.089 +91 1 1 0.329522 0.729863 0.09 +92 1 1 0.671329 0.26899 0.091 +93 1 -1 0.542409 0.785898 0.092 +94 1 -1 0.457385 0.212711 0.093 +95 1 -1 0.21133 0.54282 0.094 +96 1 -1 0.790041 0.456976 0.095 +97 1 -1 0.791403 0.543226 0.096 +98 1 1 0.207246 0.456574 0.097 +99 1 -1 0.456375 0.794097 0.098 +100 1 1 0.543823 0.204571 0.099 +101 1 -1 0.67871 0.740962 0.1 +102 1 -1 0.320499 0.25797 0.101 +103 1 -1 0.256911 0.680287 0.102 +104 1 1 0.744142 0.318932 0.103 +105 1 1 0.761831 0.656935 0.104 +106 1 -1 0.23706 0.3424 0.105 +107 1 -1 0.34174 0.764041 0.106 +108 1 1 0.658916 0.234865 0.107 +109 1 1 0.575416 0.801079 0.108 +110 1 1 0.424278 0.1977 0.109 +111 1 1 0.196487 0.576026 0.11 +112 1 -1 0.804718 0.423672 0.111 +113 1 1 0.796931 0.606244 0.112 +114 1 -1 0.201914 0.393343 0.113 +115 1 1 0.392933 0.799233 0.114 +116 1 -1 0.607475 0.199627 0.115 +117 1 -1 0.636914 0.78948 0.116 +118 1 1 0.362575 0.20944 0.117 +119 1 1 0.208366 0.637933 0.118 +120 1 1 0.792701 0.361563 0.119 +121 1 1 0.740781 0.718231 0.12 +122 1 -1 0.258356 0.280986 0.121 +123 1 1 0.280208 0.742503 0.122 +124 1 -1 0.720565 0.256644 0.123 +125 1 1 0.516172 0.829185 0.124 +126 1 1 0.483772 0.169679 0.125 +127 1 1 0.16855 0.516283 0.126 +128 1 -1 0.832572 0.483662 0.127 +129 1 1 0.833989 0.508199 0.128 +130 1 1 0.164901 0.491774 0.129 +131 1 1 0.491747 0.836202 0.13 +132 1 -1 0.50828 0.162701 0.131 +133 1 1 0.733403 0.745151 0.132 +134 1 -1 0.265849 0.254064 0.133 +135 1 1 0.253284 0.734894 0.134 +136 1 1 0.747492 0.264368 0.135 +137 1 -1 0.813381 0.638912 0.136 +138 1 -1 0.185651 0.360659 0.137 +139 1 1 0.360232 0.815311 0.138 +140 1 1 0.640192 0.183732 0.139 +141 1 1 0.624879 0.823736 0.14 +142 1 -1 0.374749 0.175298 0.141 +143 1 -1 0.174339 0.625621 0.142 +144 1 1 0.826615 0.374011 0.143 +145 1 1 0.842559 0.576924 0.144 +146 1 -1 0.156454 0.422854 0.145 +147 1 1 0.422634 0.844526 0.146 +148 1 1 0.577585 0.154498 0.147 +149 1 1 0.689978 0.800007 0.148 +150 1 1 0.309494 0.199157 0.149 +151 1 -1 0.198327 0.691032 0.15 +152 1 -1 0.802499 0.308445 0.151 +153 1 1 0.79353 0.706727 0.152 +154 1 1 0.20568 0.292716 0.153 +155 1 -1 0.292163 0.795106 0.154 +156 1 1 0.708388 0.204112 0.155 +157 1 1 0.562034 0.857513 0.156 +158 1 -1 0.437804 0.141555 0.157 +159 1 1 0.140629 0.562357 0.158 +160 1 1 0.860292 0.437483 0.159 +161 1 1 0.863849 0.544876 0.16 +162 1 1 0.135233 0.45501 0.161 +163 1 -1 0.454898 0.86568 0.162 +164 1 -1 0.545214 0.133412 0.163 +165 1 1 0.727805 0.791905 0.164 +166 1 -1 0.271638 0.207381 0.165 +167 1 -1 0.206672 0.728916 0.166 +168 1 1 0.794034 0.270533 0.167 +169 1 -1 0.825296 0.684278 0.168 +170 1 1 0.173933 0.315285 0.169 +171 1 1 0.314851 0.826833 0.17 +172 1 1 0.685581 0.172404 0.171 +173 1 1 0.600652 0.86371 0.172 +174 1 1 0.399117 0.135454 0.173 +175 1 -1 0.134623 0.601113 0.174 +176 1 1 0.866203 0.398658 0.175 +177 1 -1 0.861599 0.619456 0.176 +178 1 1 0.137595 0.380277 0.177 +179 1 -1 0.380013 0.863207 0.178 +180 1 1 0.620251 0.135996 0.179 +181 1 1 0.672735 0.843166 0.18 +182 1 1 0.326891 0.156092 0.181 +183 1 -1 0.155354 0.67348 0.182 +184 1 -1 0.84538 0.32615 0.183 +185 1 -1 0.793406 0.753094 0.184 +186 1 -1 0.205978 0.246375 0.185 +187 1 -1 0.245846 0.794635 0.186 +188 1 1 0.75468 0.204756 0.187 +189 1 1 0.528743 0.889654 0.188 +190 1 1 0.471199 0.109552 0.189 +191 1 1 0.108762 0.528859 0.19 +192 1 -1 0.892024 0.471083 0.191 +193 1 -1 0.892806 0.528975 0.192 +194 1 1 0.106416 0.470968 0.193 +195 1 1 0.47091 0.894357 0.194 +196 1 1 0.529146 0.104873 0.195 +197 1 1 0.759289 0.800588 0.196 +198 1 1 0.240212 0.198834 0.197 +199 1 -1 0.198258 0.760284 0.198 +200 1 -1 0.802314 0.239222 0.199 +201 1 -1 0.85729 0.679845 0.2 +202 1 -1 0.142042 0.319819 0.201 +203 1 1 0.319485 0.858623 0.202 +204 1 -1 0.680848 0.140716 0.203 +205 1 -1 0.626404 0.88263 0.204 +206 1 -1 0.373366 0.116674 0.205 +207 1 1 0.115982 0.626862 0.206 +208 1 -1 0.884707 0.37291 0.207 +209 1 -1 0.891174 0.608253 0.208 +210 1 -1 0.108134 0.391556 0.209 +211 1 -1 0.391366 0.892554 0.21 +212 1 -1 0.608824 0.106762 0.211 +213 1 1 0.70146 0.855626 0.212 +214 1 1 0.298194 0.143762 0.213 +215 1 -1 0.143154 0.702151 0.214 +216 1 1 0.857451 0.297506 0.215 +217 1 -1 0.824416 0.753177 0.216 +218 1 1 0.175042 0.2464 0.217 +219 1 -1 0.245979 0.825498 0.218 +220 1 -1 0.75444 0.173965 0.219 +221 1 -1 0.550708 0.911131 0.22 +222 1 1 0.449209 0.0881999 0.221 +223 1 1 0.0875343 0.550873 0.222 +224 1 -1 0.913128 0.449046 0.223 +225 1 1 0.910784 0.571278 0.224 +226 1 1 0.0885655 0.428609 0.225 +227 1 1 0.428497 0.912082 0.226 +228 1 1 0.571615 0.0872745 0.227 +229 1 -1 0.741576 0.843012 0.228 +230 1 1 0.258052 0.15646 0.229 +231 1 -1 0.155934 0.742319 0.23 +232 1 1 0.844589 0.257313 0.231 +233 1 1 0.85662 0.725827 0.232 +234 1 -1 0.142845 0.273834 0.233 +235 1 -1 0.273497 0.857687 0.234 +236 1 -1 0.726838 0.141783 0.235 +237 1 -1 0.593035 0.914305 0.236 +238 1 1 0.406829 0.0850902 0.237 +239 1 1 0.0844883 0.593306 0.238 +240 1 -1 0.91611 0.406559 0.239 +241 1 1 0.898465 0.653705 0.24 +242 1 1 0.100968 0.346076 0.241 +243 1 1 0.345859 0.899595 0.242 +244 1 1 0.654357 0.099844 0.243 +245 1 -1 0.674048 0.892646 0.244 +246 1 1 0.325711 0.10681 0.245 +247 1 -1 0.106269 0.674529 0.246 +248 1 -1 0.894268 0.325233 0.247 +249 1 -1 0.812767 0.797779 0.248 +250 1 1 0.186811 0.201819 0.249 +251 1 1 0.20142 0.813608 0.25 +252 1 1 0.798977 0.185975 0.251 +253 1 1 0.510655 0.93403 0.252 +254 1 -1 0.489331 0.0654 0.253 +255 1 -1 0.0648335 0.510683 0.254 +256 1 -1 0.93573 0.489303 0.255 +257 1 -1 0.936389 0.505356 0.256 +258 1 1 0.0630535 0.494638 0.257 +259 1 -1 0.494631 0.937501 0.258 +260 1 -1 0.505376 0.0619474 0.259 +261 1 1 0.806332 0.813944 0.26 +262 1 1 0.193287 0.185665 0.261 +263 1 -1 0.185277 0.807092 0.262 +264 1 1 0.815109 0.192531 0.263 +265 1 -1 0.905145 0.673671 0.264 +266 1 -1 0.0943645 0.326118 0.265 +267 1 -1 0.325909 0.906124 0.266 +268 1 1 0.674299 0.0933911 0.267 +269 1 -1 0.664463 0.911252 0.268 +270 1 1 0.335343 0.0882633 0.269 +271 1 -1 0.0877809 0.66485 0.27 +272 1 -1 0.912699 0.334958 0.271 +273 1 -1 0.935341 0.592162 0.272 +274 1 -1 0.0641588 0.407732 0.273 +275 1 -1 0.407626 0.936338 0.274 +276 1 -1 0.592478 0.0631673 0.275 +277 1 -1 0.743769 0.874701 0.276 +278 1 -1 0.255958 0.124881 0.277 +279 1 1 0.124464 0.744313 0.278 +280 1 -1 0.87595 0.255418 0.279 +281 1 1 0.87024 0.754013 0.28 +282 1 1 0.129357 0.245711 0.281 +283 1 -1 0.245436 0.871043 0.282 +284 1 1 0.754838 0.128558 0.283 +285 1 1 0.582539 0.943318 0.284 +286 1 -1 0.417373 0.056212 0.285 +287 1 -1 0.0557451 0.582714 0.286 +288 1 -1 0.944719 0.4172 0.287 +289 1 1 0.950072 0.549912 0.288 +290 1 1 0.049464 0.450037 0.289 +291 1 -1 0.449985 0.950997 0.29 +292 1 1 0.550066 0.0485441 0.291 +293 1 -1 0.784113 0.854987 0.292 +294 1 1 0.215602 0.144656 0.293 +295 1 1 0.144302 0.784681 0.294 +296 1 -1 0.85605 0.215037 0.295 +297 1 -1 0.899918 0.720113 0.296 +298 1 1 0.0996916 0.279673 0.297 +299 1 -1 0.279459 0.900696 0.298 +300 1 1 0.720753 0.0989177 0.299 +301 1 -1 0.627634 0.940125 0.3 +302 1 -1 0.372245 0.0594575 0.301 +303 1 -1 0.0590421 0.627875 0.302 +304 1 1 0.941371 0.372005 0.303 +305 1 -1 0.938504 0.638917 0.304 +306 1 -1 0.0610908 0.360954 0.305 +307 1 -1 0.360827 0.939312 0.306 +308 1 1 0.6393 0.0602882 0.307 +309 1 -1 0.712615 0.909794 0.308 +310 1 1 0.287194 0.0898385 0.309 +311 1 -1 0.0894727 0.712996 0.31 +312 1 -1 0.910891 0.286815 0.311 +313 1 1 0.85451 0.798293 0.312 +314 1 -1 0.145181 0.201446 0.313 +315 1 -1 0.201187 0.855127 0.314 +316 1 1 0.79907 0.144568 0.315 +317 1 -1 0.539888 0.963199 0.316 +318 1 1 0.460078 0.0364083 0.317 +319 1 -1 0.0360177 0.539956 0.318 +320 1 1 0.96437 0.460011 0.319 +321 1 -1 0.965598 0.528605 0.32 +322 1 -1 0.0340178 0.471372 0.321 +323 1 1 0.471348 0.966364 0.322 +324 1 -1 0.528675 0.0332573 0.323 +325 1 -1 0.810011 0.850596 0.324 +326 1 -1 0.189741 0.149123 0.325 +327 1 1 0.148844 0.810506 0.326 +328 1 1 0.851433 0.189249 0.327 +329 1 1 0.921914 0.705924 0.328 +330 1 -1 0.0777578 0.293916 0.329 +331 1 -1 0.293757 0.922568 0.33 +332 1 1 0.706401 0.077108 0.331 +333 1 -1 0.653199 0.945316 0.332 +334 1 -1 0.346686 0.054348 0.333 +335 1 -1 0.0540141 0.653429 0.334 +336 1 -1 0.946318 0.346457 0.335 +337 1 1 0.956741 0.620383 0.336 +338 1 1 0.0429248 0.379529 0.337 +339 1 1 0.379441 0.957407 0.338 +340 1 -1 0.620646 0.0422625 0.339 +341 1 1 0.738531 0.909272 0.34 +342 1 -1 0.2613 0.0904377 0.341 +343 1 -1 0.0901489 0.738868 0.342 +344 1 1 0.910138 0.260965 0.343 +345 1 -1 0.878055 0.787643 0.344 +346 1 -1 0.121684 0.212159 0.345 +347 1 -1 0.211963 0.878574 0.346 +348 1 1 0.788233 0.121169 0.347 +349 1 1 0.564106 0.972003 0.348 +350 1 -1 0.435852 0.0276823 0.349 +351 1 -1 0.0273696 0.564191 0.35 +352 1 -1 0.972941 0.435767 0.351 +353 1 -1 0.971529 0.57587 0.352 +354 1 -1 0.028166 0.424081 0.353 +355 1 1 0.424033 0.972137 0.354 +356 1 -1 0.576016 0.0275631 0.355 +357 1 -1 0.780489 0.888059 0.356 +358 1 1 0.219336 0.111698 0.357 +359 1 -1 0.111457 0.780839 0.358 +360 1 1 0.888782 0.218989 0.359 +361 1 1 0.90865 0.751803 0.36 +362 1 1 0.0911022 0.248045 0.361 +363 1 1 0.247893 0.909143 0.362 +364 1 -1 0.752257 0.0906132 0.363 +365 1 -1 0.611173 0.968129 0.364 +366 1 -1 0.388762 0.0315974 0.365 +367 1 -1 0.0313256 0.611303 0.366 +368 1 1 0.968944 0.388633 0.367 +369 1 1 0.952042 0.668029 0.368 +370 1 -1 0.0477021 0.331876 0.369 +371 1 1 0.331782 0.952551 0.37 +372 1 -1 0.668311 0.0471973 0.371 +373 1 -1 0.701276 0.939436 0.372 +374 1 1 0.298614 0.0603244 0.373 +375 1 1 0.0600867 0.701495 0.374 +376 1 -1 0.940149 0.298397 0.375 +377 1 -1 0.854883 0.82967 0.376 +378 1 -1 0.14493 0.170157 0.377 +379 1 -1 0.169985 0.855255 0.378 +380 1 -1 0.830185 0.144561 0.379 +381 1 -1 0.517866 0.985058 0.38 +382 1 1 0.482125 0.0146965 0.381 +383 1 1 0.0144527 0.517884 0.382 +384 1 -1 0.985789 0.482107 0.383 +385 1 1 0.986028 0.517901 0.384 +386 1 1 0.0137344 0.48209 0.385 +387 1 -1 0.482081 0.986501 0.386 +388 1 -1 0.517927 0.0132664 0.387 +389 1 1 0.831653 0.857018 0.388 +390 1 -1 0.168191 0.142814 0.389 +391 1 1 0.142648 0.831963 0.39 +392 1 -1 0.857517 0.167884 0.391 +393 1 1 0.943853 0.7033 0.392 +394 1 1 0.0559471 0.296609 0.393 +395 1 -1 0.296518 0.944251 0.394 +396 1 -1 0.703572 0.0555526 0.395 +397 1 1 0.670399 0.958419 0.396 +398 1 -1 0.329527 0.0413825 0.397 +399 1 -1 0.0411862 0.670546 0.398 +400 1 1 0.959008 0.329382 0.399 +401 1 -1 0.976641 0.613195 0.4 +402 1 -1 0.0231611 0.386758 0.401 +403 1 1 0.386712 0.977034 0.402 +404 1 1 0.613334 0.0227722 0.403 +405 1 1 0.757415 0.917758 0.404 +406 1 1 0.242483 0.0820765 0.405 +407 1 -1 0.0819126 0.757618 0.406 +408 1 -1 0.918249 0.242282 0.407 +409 1 1 0.89831 0.787898 0.408 +410 1 -1 0.101539 0.211993 0.409 +411 1 1 0.211885 0.89861 0.41 +412 1 1 0.788221 0.101243 0.411 +413 1 -1 0.578189 0.985945 0.412 +414 1 -1 0.421783 0.0138796 0.413 +415 1 -1 0.0137062 0.578245 0.414 +416 1 -1 0.986465 0.421727 0.415 +417 1 1 0.988409 0.566334 0.416 +418 1 -1 0.0114227 0.433643 0.417 +419 1 -1 0.433621 0.988743 0.418 +420 1 -1 0.566401 0.0110932 0.419 +421 1 -1 0.798855 0.892792 0.42 +422 1 -1 0.201047 0.10708 0.421 +423 1 1 0.106953 0.799049 0.422 +424 1 1 0.893172 0.200856 0.423 +425 1 1 0.926967 0.748844 0.424 +426 1 -1 0.0729011 0.251079 0.425 +427 1 -1 0.251003 0.927229 0.426 +428 1 -1 0.749071 0.0726425 0.427 +429 1 1 0.626105 0.978449 0.428 +430 1 -1 0.373858 0.0214111 0.429 +431 1 1 0.0212734 0.626178 0.43 +432 1 -1 0.978862 0.373786 0.431 +433 1 -1 0.968411 0.661144 0.432 +434 1 1 0.0314604 0.338812 0.433 +435 1 1 0.338768 0.968666 0.434 +436 1 -1 0.661275 0.0312086 0.435 +437 1 -1 0.717504 0.945641 0.436 +438 1 -1 0.28244 0.0542439 0.437 +439 1 -1 0.0541307 0.717616 0.438 +440 1 1 0.945981 0.28233 0.439 +441 1 1 0.871862 0.828815 0.44 +442 1 -1 0.128049 0.171106 0.441 +443 1 1 0.171028 0.87204 0.442 +444 1 1 0.829049 0.127874 0.443 +445 1 -1 0.530467 0.995919 0.444 +446 1 -1 0.469526 0.00396944 0.445 +447 1 -1 0.00385999 0.530481 0.446 +448 1 1 0.996247 0.469512 0.447 +449 1 -1 0.995455 0.542666 0.448 +450 1 1 0.00444188 0.457325 0.449 +451 1 1 0.457316 0.995659 0.45 +452 1 -1 0.542692 0.00424161 0.451 +453 1 1 0.820429 0.880817 0.452 +454 1 -1 0.17951 0.11911 0.453 +455 1 1 0.119039 0.820551 0.454 +456 1 1 0.881031 0.179391 0.455 +457 1 1 0.942098 0.729376 0.456 +458 1 1 0.0578245 0.270584 0.457 +459 1 -1 0.270544 0.942251 0.458 +460 1 -1 0.729494 0.0576748 0.459 +461 1 1 0.650519 0.975125 0.46 +462 1 1 0.349457 0.0247992 0.461 +463 1 -1 0.0247255 0.650566 0.462 +464 1 -1 0.975346 0.349411 0.463 +465 1 1 0.978969 0.638898 0.464 +466 1 1 0.0209627 0.361082 0.465 +467 1 1 0.361062 0.979104 0.466 +468 1 -1 0.638956 0.0208318 0.467 +469 1 -1 0.740598 0.937137 0.468 +470 1 1 0.259372 0.0628077 0.469 +471 1 -1 0.0627541 0.740658 0.47 +472 1 1 0.937298 0.259314 0.471 +473 1 -1 0.889756 0.811939 0.472 +474 1 1 0.110201 0.188026 0.473 +475 1 1 0.187993 0.88984 0.474 +476 1 1 0.812039 0.11012 0.475 +477 1 1 0.555048 0.996381 0.476 +478 1 1 0.444947 0.00357257 0.477 +479 1 1 0.0035278 0.555058 0.478 +480 1 -1 0.996515 0.444938 0.479 +481 1 1 0.991159 0.591447 0.48 +482 1 1 0.00880229 0.408546 0.481 +483 1 1 0.408539 0.991234 0.482 +484 1 -1 0.591467 0.00873146 0.483 +485 1 1 0.782721 0.912084 0.484 +486 1 1 0.217261 0.0878909 0.485 +487 1 -1 0.087867 0.782755 0.486 +488 1 1 0.912155 0.21723 0.487 +489 1 -1 0.918992 0.772584 0.488 +490 1 1 0.0809891 0.227403 0.489 +491 1 -1 0.227392 0.919029 0.49 +492 1 1 0.772618 0.0809555 0.491 +493 1 -1 0.603542 0.989096 0.492 +494 1 -1 0.396454 0.0108893 0.493 +495 1 -1 0.0108765 0.603548 0.494 +496 1 1 0.989134 0.396449 0.495 +497 1 -1 0.964238 0.685653 0.496 +498 1 1 0.0357553 0.314345 0.497 +499 1 1 0.314343 0.964249 0.498 +500 1 -1 0.685658 0.0357479 0.499 +501 1 1 0.696996 0.959557 0.5 +502 1 -1 0.303004 0.040444 0.501 +503 1 -1 0.0404468 0.696994 0.502 +504 1 -1 0.959549 0.303008 0.503 +505 1 -1 0.857854 0.849177 0.504 +506 1 1 0.142152 0.150829 0.505 +507 1 -1 0.150837 0.85784 0.506 +508 1 -1 0.849154 0.14217 0.507 +509 1 1 0.506135 0.999898 0.508 +510 1 1 0.493865 0.00011865 0.509 +511 1 1 0.000137652 0.506135 0.51 +512 1 -1 0.999841 0.493866 0.511 +513 1 -1 0.999847 0.503067 0.512 +514 1 1 0.000178438 0.496933 0.513 +515 1 1 0.496933 0.999795 0.514 +516 1 -1 0.503067 0.000234459 0.515 +517 1 -1 0.851197 0.855534 0.516 +518 1 1 0.148826 0.14449 0.517 +519 1 1 0.144514 0.85115 0.518 +520 1 1 0.855459 0.148876 0.519 +521 1 -1 0.960388 0.694017 0.52 +522 1 1 0.0396495 0.305999 0.521 +523 1 -1 0.306016 0.960311 0.522 +524 1 -1 0.693967 0.0397307 0.523 +525 1 -1 0.688286 0.962571 0.524 +526 1 1 0.311732 0.0374741 0.525 +527 1 -1 0.0375214 0.688249 0.526 +528 1 1 0.962429 0.311771 0.527 +529 1 -1 0.989016 0.600395 0.528 +530 1 -1 0.0110396 0.399617 0.529 +531 1 1 0.399629 0.988902 0.53 +532 1 -1 0.600359 0.0111574 0.531 +533 1 1 0.774665 0.916576 0.532 +534 1 1 0.225371 0.0834787 0.533 +535 1 -1 0.0835348 0.774592 0.534 +536 1 -1 0.916407 0.225446 0.535 +537 1 -1 0.912948 0.779603 0.536 +538 1 -1 0.0871126 0.220438 0.537 +539 1 1 0.22048 0.912825 0.538 +540 1 1 0.779477 0.0872389 0.539 +541 1 -1 0.594231 0.989408 0.54 +542 1 1 0.405784 0.0106715 0.541 +543 1 -1 0.0107533 0.5942 0.542 +544 1 -1 0.989163 0.405816 0.543 +545 1 1 0.995353 0.551859 0.544 +546 1 1 0.0047358 0.44815 0.545 +547 1 -1 0.44816 0.995173 0.546 +548 1 -1 0.55183 0.00491958 0.547 +549 1 -1 0.813365 0.88665 0.548 +550 1 1 0.186696 0.113426 0.549 +551 1 1 0.113503 0.813241 0.55 +552 1 -1 0.886418 0.186823 0.551 +553 1 1 0.937123 0.737107 0.552 +554 1 -1 0.06297 0.262943 0.553 +555 1 1 0.262995 0.936935 0.554 +556 1 1 0.736953 0.063161 0.555 +557 1 -1 0.641309 0.976336 0.556 +558 1 1 0.358723 0.0237733 0.557 +559 1 1 0.0238843 0.641244 0.558 +560 1 1 0.976003 0.35879 0.559 +561 1 -1 0.97412 0.647005 0.56 +562 1 1 0.0259968 0.353031 0.561 +563 1 -1 0.353067 0.973885 0.562 +564 1 -1 0.646895 0.0262355 0.563 +565 1 1 0.731072 0.938759 0.564 +566 1 -1 0.268989 0.0613556 0.565 +567 1 1 0.0614726 0.73095 0.566 +568 1 1 0.938409 0.269113 0.567 +569 1 -1 0.880979 0.816593 0.568 +570 1 1 0.119128 0.183495 0.569 +571 1 1 0.183585 0.880764 0.57 +572 1 1 0.816324 0.119345 0.571 +573 1 -1 0.545476 0.992695 0.572 +574 1 1 0.454538 0.00745132 0.573 +575 1 1 0.00759931 0.545448 0.574 +576 1 -1 0.992251 0.454565 0.575 +577 1 -1 0.993437 0.527277 0.576 +578 1 1 0.00671769 0.472732 0.577 +579 1 1 0.47274 0.993126 0.578 +580 1 1 0.527251 0.00703308 0.579 +581 1 -1 0.829203 0.86773 0.58 +582 1 1 0.170905 0.132392 0.581 +583 1 -1 0.132515 0.828984 0.582 +584 1 1 0.86736 0.171127 0.583 +585 1 1 0.944269 0.713469 0.584 +586 1 -1 0.0558856 0.286605 0.585 +587 1 -1 0.28668 0.943958 0.586 +588 1 1 0.713244 0.0562003 0.587 +589 1 1 0.662969 0.964432 0.588 +590 1 -1 0.337091 0.0357376 0.589 +591 1 1 0.0359093 0.662849 0.59 +592 1 -1 0.963917 0.337212 0.591 +593 1 1 0.975993 0.622339 0.592 +594 1 -1 0.0241894 0.377708 0.593 +595 1 -1 0.377756 0.975626 0.594 +596 1 -1 0.622197 0.0245602 0.595 +597 1 -1 0.749682 0.922425 0.596 +598 1 1 0.250418 0.0777441 0.597 +599 1 -1 0.0779153 0.74948 0.598 +600 1 1 0.921912 0.250622 0.599 +601 1 1 0.891692 0.794241 0.6 +602 1 1 0.108472 0.205882 0.601 +603 1 -1 0.206007 0.891362 0.602 +604 1 1 0.793867 0.108806 0.603 +605 1 1 0.568791 0.984202 0.604 +606 1 1 0.431239 0.0160094 0.605 +607 1 1 0.0162231 0.568731 0.606 +608 1 1 0.983561 0.4313 0.607 +609 1 1 0.982464 0.574595 0.608 +610 1 1 0.0177556 0.425439 0.609 +611 1 -1 0.425473 0.982023 0.61 +612 1 1 0.574492 0.0182014 0.611 +613 1 -1 0.787874 0.893172 0.612 +614 1 1 0.212262 0.107014 0.613 +615 1 -1 0.107202 0.7876 0.614 +616 1 1 0.892608 0.212539 0.615 +617 1 -1 0.915621 0.752593 0.616 +618 1 -1 0.0845837 0.247532 0.617 +619 1 1 0.247657 0.91521 0.618 +620 1 -1 0.752216 0.0849988 0.619 +621 1 1 0.615048 0.971555 0.62 +622 1 -1 0.385011 0.0286864 0.621 +623 1 -1 0.0289298 0.61493 0.622 +624 1 1 0.970825 0.38513 0.623 +625 1 -1 0.955055 0.665978 0.624 +626 1 1 0.0451863 0.33411 0.625 +627 1 -1 0.334199 0.95457 0.626 +628 1 1 0.665711 0.0456755 0.627 +629 1 1 0.703969 0.938193 0.628 +630 1 -1 0.296143 0.0620486 0.629 +631 1 1 0.0622917 0.703744 0.63 +632 1 1 0.937463 0.296371 0.631 +633 1 -1 0.855338 0.826053 0.632 +634 1 -1 0.144864 0.174132 0.633 +635 1 -1 0.17432 0.854932 0.634 +636 1 -1 0.825491 0.145274 0.635 +637 1 -1 0.52066 0.980705 0.636 +638 1 -1 0.479353 0.0195786 0.637 +639 1 -1 0.0198644 0.520635 0.638 +640 1 -1 0.979848 0.479377 0.639 +641 1 1 0.979774 0.514724 0.64 +642 1 1 0.0205185 0.485285 0.641 +643 1 -1 0.485294 0.979187 0.642 +644 1 -1 0.514697 0.0211107 0.643 +645 1 1 0.828028 0.8488 0.644 +646 1 -1 0.172178 0.15142 0.645 +647 1 1 0.151642 0.827613 0.646 +648 1 -1 0.848135 0.172597 0.647 +649 1 1 0.935425 0.696216 0.648 +650 1 1 0.0648583 0.303912 0.649 +651 1 -1 0.30404 0.934856 0.65 +652 1 -1 0.69583 0.0654317 0.651 +653 1 1 0.668701 0.945462 0.652 +654 1 -1 0.331413 0.0548379 0.653 +655 1 1 0.0551396 0.668473 0.654 +656 1 -1 0.944557 0.331642 0.655 +657 1 1 0.962851 0.606924 0.656 +658 1 1 0.0374699 0.39315 0.657 +659 1 1 0.393225 0.962207 0.658 +660 1 1 0.6067 0.0381189 0.659 +661 1 1 0.750973 0.901762 0.66 +662 1 -1 0.249207 0.0985254 0.661 +663 1 -1 0.0988149 0.750612 0.662 +664 1 -1 0.900894 0.24957 0.663 +665 1 1 0.884501 0.774341 0.664 +666 1 1 0.115783 0.225861 0.665 +667 1 -1 0.226065 0.883932 0.666 +668 1 1 0.77373 0.116356 0.667 +669 1 -1 0.577663 0.964483 0.668 +670 1 -1 0.422396 0.03587 0.669 +671 1 1 0.0362254 0.577544 0.67 +672 1 1 0.963417 0.422516 0.671 +673 1 -1 0.965593 0.560328 0.672 +674 1 -1 0.0347718 0.439719 0.673 +675 1 1 0.439767 0.964861 0.674 +676 1 -1 0.560185 0.0355081 0.675 +677 1 -1 0.785659 0.870706 0.676 +678 1 1 0.214571 0.129593 0.677 +679 1 1 0.129894 0.785197 0.678 +680 1 -1 0.869804 0.215036 0.679 +681 1 -1 0.904456 0.732411 0.68 +682 1 1 0.0958792 0.267782 0.681 +683 1 -1 0.267976 0.903783 0.682 +684 1 -1 0.731829 0.0965569 0.683 +685 1 -1 0.621247 0.948824 0.684 +686 1 1 0.378857 0.051559 0.685 +687 1 -1 0.0519446 0.621039 0.686 +688 1 -1 0.947667 0.379066 0.687 +689 1 -1 0.939026 0.648028 0.688 +690 1 -1 0.06136 0.352102 0.689 +691 1 -1 0.352232 0.938252 0.69 +692 1 1 0.647636 0.0621385 0.691 +693 1 1 0.705036 0.913638 0.692 +694 1 1 0.295149 0.0867361 0.693 +695 1 -1 0.0871122 0.704665 0.694 +696 1 -1 0.91251 0.295523 0.695 +697 1 1 0.846453 0.80258 0.696 +698 1 -1 0.153869 0.197702 0.697 +699 1 1 0.197984 0.845807 0.698 +700 1 1 0.801731 0.154519 0.699 +701 1 1 0.530907 0.957214 0.7 +702 1 -1 0.469123 0.0432226 0.701 +703 1 1 0.0436619 0.530847 0.702 +704 1 1 0.955896 0.469182 0.703 +705 1 -1 0.955039 0.536374 0.704 +706 1 -1 0.0454073 0.463661 0.705 +707 1 1 0.463697 0.954143 0.706 +708 1 1 0.536267 0.0463088 0.707 +709 1 -1 0.794868 0.846105 0.708 +710 1 1 0.20543 0.154244 0.709 +711 1 -1 0.154595 0.794271 0.71 +712 1 1 0.845051 0.20603 0.711 +713 1 1 0.903223 0.706076 0.712 +714 1 1 0.0971952 0.294138 0.713 +715 1 1 0.294353 0.902384 0.714 +716 1 1 0.705431 0.0980386 0.715 +717 1 -1 0.638821 0.929037 0.716 +718 1 -1 0.361327 0.07142 0.717 +719 1 -1 0.0718796 0.638524 0.718 +720 1 1 0.927658 0.361625 0.719 +721 1 1 0.931991 0.622407 0.72 +722 1 1 0.0684813 0.377727 0.721 +723 1 -1 0.377862 0.931043 0.722 +724 1 -1 0.622003 0.0694348 0.723 +725 1 -1 0.717943 0.890288 0.724 +726 1 1 0.282302 0.110151 0.725 +727 1 1 0.110592 0.717452 0.726 +728 1 -1 0.888965 0.282796 0.727 +729 1 -1 0.84912 0.775919 0.728 +730 1 -1 0.151283 0.224399 0.729 +731 1 1 0.22472 0.848311 0.73 +732 1 1 0.774958 0.152096 0.731 +733 1 -1 0.55152 0.939911 0.732 +734 1 -1 0.448542 0.0606106 0.733 +735 1 1 0.0611352 0.551397 0.734 +736 1 1 0.938337 0.448665 0.735 +737 1 1 0.933839 0.578023 0.736 +738 1 1 0.0666893 0.422072 0.737 +739 1 1 0.422167 0.932779 0.738 +740 1 -1 0.577737 0.0677547 0.739 +741 1 1 0.750364 0.860164 0.74 +742 1 -1 0.249949 0.140287 0.741 +743 1 -1 0.14074 0.749736 0.742 +744 1 1 0.858805 0.250581 0.743 +745 1 1 0.867273 0.735743 0.744 +746 1 -1 0.133199 0.26456 0.745 +747 1 -1 0.264865 0.866327 0.746 +748 1 -1 0.734829 0.13415 0.747 +749 1 -1 0.592524 0.924188 0.748 +750 1 1 0.407598 0.0763718 0.749 +751 1 1 0.0769344 0.592279 0.75 +752 1 1 0.9225 0.407844 0.751 +753 1 -1 0.901953 0.657891 0.752 +754 1 1 0.0985912 0.342323 0.753 +755 1 -1 0.342538 0.900861 0.754 +756 1 -1 0.657245 0.099689 0.755 +757 1 -1 0.671636 0.893707 0.756 +758 1 1 0.328603 0.106841 0.757 +759 1 1 0.107392 0.671157 0.758 +760 1 -1 0.892055 0.329085 0.759 +761 1 1 0.807501 0.796384 0.76 +762 1 1 0.192939 0.20404 0.761 +763 1 1 0.204466 0.80662 0.762 +764 1 -1 0.795106 0.193824 0.763 +765 1 -1 0.507816 0.92455 0.764 +766 1 -1 0.492196 0.076073 0.765 +767 1 -1 0.0766996 0.507793 0.766 +768 1 -1 0.922671 0.492219 0.767 +769 1 1 0.922037 0.50777 0.768 +770 1 -1 0.078599 0.492242 0.769 +771 1 1 0.492254 0.920761 0.77 +772 1 1 0.507734 0.0798819 0.771 +773 1 -1 0.791151 0.802072 0.772 +774 1 1 0.2093 0.198396 0.773 +775 1 1 0.198867 0.790246 0.774 +776 1 1 0.80066 0.21021 0.775 +777 1 -1 0.882184 0.666612 0.776 +778 1 1 0.118425 0.333653 0.777 +779 1 1 0.33392 0.880964 0.778 +780 1 -1 0.665812 0.119651 0.779 +781 1 -1 0.651454 0.885567 0.78 +782 1 1 0.348794 0.115064 0.781 +783 1 -1 0.115698 0.650957 0.782 +784 1 -1 0.883665 0.349293 0.783 +785 1 1 0.902061 0.587698 0.784 +786 1 -1 0.098615 0.41245 0.785 +787 1 -1 0.412598 0.900705 0.786 +788 1 -1 0.587253 0.0999777 0.787 +789 1 1 0.720782 0.843964 0.788 +790 1 -1 0.2796 0.15663 0.789 +791 1 1 0.157228 0.720016 0.79 +792 1 -1 0.842172 0.280369 0.791 +793 1 1 0.833266 0.731667 0.792 +794 1 1 0.167326 0.268745 0.793 +795 1 1 0.269159 0.832079 0.794 +796 1 1 0.730425 0.16852 0.795 +797 1 1 0.571327 0.896606 0.796 +798 1 1 0.428803 0.104119 0.797 +799 1 1 0.104847 0.571066 0.798 +800 1 1 0.89442 0.429066 0.799 +801 1 1 0.897285 0.546527 0.8 +802 1 -1 0.103462 0.45356 0.801 +803 1 -1 0.453648 0.895787 0.802 +804 1 1 0.546264 0.104968 0.803 +805 1 1 0.746143 0.811444 0.804 +806 1 -1 0.254333 0.189158 0.805 +807 1 1 0.189764 0.745189 0.806 +808 1 1 0.809628 0.255293 0.807 +809 1 1 0.843889 0.692033 0.808 +810 1 1 0.156796 0.308349 0.809 +811 1 1 0.308734 0.842516 0.81 +812 1 1 0.69088 0.158176 0.811 +813 1 -1 0.606516 0.875913 0.812 +814 1 -1 0.393702 0.124858 0.813 +815 1 1 0.125632 0.606079 0.814 +816 1 1 0.873589 0.394142 0.815 +817 1 1 0.868666 0.619287 0.816 +818 1 -1 0.132112 0.380965 0.817 +819 1 1 0.381218 0.867106 0.818 +820 1 -1 0.618528 0.13368 0.819 +821 1 1 0.674837 0.842099 0.82 +822 1 1 0.325543 0.158644 0.821 +823 1 1 0.159392 0.674075 0.822 +824 1 -1 0.839856 0.326309 0.823 +825 1 -1 0.789881 0.746967 0.824 +826 1 1 0.210768 0.253586 0.825 +827 1 -1 0.254142 0.788579 0.826 +828 1 -1 0.745299 0.212077 0.827 +829 1 1 0.530071 0.87618 0.828 +830 1 1 0.469999 0.124688 0.829 +831 1 1 0.125562 0.529931 0.83 +832 1 1 0.87356 0.470139 0.831 +833 1 1 0.873015 0.525215 0.832 +834 1 -1 0.127873 0.474845 0.833 +835 1 -1 0.474905 0.871233 0.834 +836 1 1 0.525034 0.129665 0.835 +837 1 1 0.74357 0.778887 0.836 +838 1 1 0.257029 0.221799 0.837 +839 1 1 0.222488 0.742369 0.838 +840 1 -1 0.776819 0.258236 0.839 +841 1 -1 0.828467 0.662818 0.84 +842 1 1 0.172367 0.337595 0.841 +843 1 1 0.33801 0.826796 0.842 +844 1 -1 0.661572 0.174047 0.843 +845 1 -1 0.615933 0.843836 0.844 +846 1 -1 0.384371 0.157064 0.845 +847 1 -1 0.15797 0.615324 0.846 +848 1 -1 0.841119 0.384983 0.847 +849 1 -1 0.846597 0.593631 0.848 +850 1 1 0.154342 0.406623 0.849 +851 1 1 0.406878 0.844715 0.85 +852 1 -1 0.592866 0.156234 0.851 +853 1 1 0.676921 0.807888 0.852 +854 1 -1 0.323575 0.192974 0.853 +855 1 -1 0.193841 0.675927 0.854 +856 1 1 0.805288 0.324574 0.855 +857 1 1 0.7781 0.714299 0.856 +858 1 1 0.222705 0.286322 0.857 +859 1 -1 0.286946 0.776485 0.858 +860 1 1 0.712426 0.22433 0.859 +861 1 1 0.544587 0.84411 0.86 +862 1 -1 0.455547 0.156921 0.861 +863 1 1 0.157959 0.544319 0.862 +864 1 1 0.840997 0.455816 0.863 +865 1 1 0.838095 0.55653 0.864 +866 1 1 0.162955 0.443645 0.865 +867 1 1 0.443822 0.835988 0.866 +868 1 -1 0.556 0.165075 0.867 +869 1 -1 0.6966 0.775544 0.868 +870 1 -1 0.304033 0.225344 0.869 +871 1 -1 0.226237 0.69533 0.87 +872 1 -1 0.772865 0.305311 0.871 +873 1 1 0.783348 0.677002 0.872 +874 1 1 0.217599 0.32359 0.873 +875 1 -1 0.324185 0.781448 0.874 +876 1 -1 0.675216 0.219511 0.875 +877 1 -1 0.574184 0.821124 0.876 +878 1 -1 0.426074 0.179991 0.877 +879 1 -1 0.181113 0.573667 0.878 +880 1 -1 0.817759 0.426594 0.879 +881 1 1 0.803899 0.61509 0.88 +882 1 1 0.197198 0.385326 0.881 +883 1 1 0.385744 0.801698 0.882 +884 1 -1 0.613835 0.199413 0.883 +885 1 -1 0.631562 0.791951 0.884 +886 1 1 0.368932 0.209146 0.885 +887 1 1 0.21025 0.630571 0.886 +888 1 -1 0.78864 0.36993 0.887 +889 1 -1 0.729733 0.716052 0.888 +890 1 1 0.271166 0.284793 0.889 +891 1 -1 0.285644 0.727929 0.89 +892 1 1 0.713499 0.272982 0.891 +893 1 1 0.509521 0.810234 0.892 +894 1 -1 0.490518 0.191032 0.893 +895 1 -1 0.192307 0.509443 0.894 +896 1 -1 0.806409 0.490597 0.895 +897 1 1 0.804979 0.513107 0.896 +898 1 1 0.196321 0.486949 0.897 +899 1 -1 0.487005 0.802369 0.898 +900 1 -1 0.512939 0.198949 0.899 +901 1 -1 0.702828 0.721045 0.9 +902 1 -1 0.298077 0.279941 0.901 +903 1 1 0.280934 0.701012 0.902 +904 1 -1 0.718067 0.299905 0.903 +905 1 1 0.767075 0.624318 0.904 +906 1 1 0.234173 0.376263 0.905 +907 1 -1 0.376848 0.764571 0.906 +908 1 -1 0.622563 0.236695 0.907 +909 1 1 0.599038 0.771528 0.908 +910 1 1 0.401448 0.229803 0.909 +911 1 -1 0.231144 0.598063 0.91 +912 1 -1 0.767505 0.40243 0.911 +913 1 -1 0.775222 0.567148 0.912 +914 1 -1 0.226196 0.433198 0.913 +915 1 -1 0.433547 0.772375 0.914 +916 1 -1 0.566102 0.229065 0.915 +917 1 1 0.644063 0.737044 0.916 +918 1 1 0.356719 0.264243 0.917 +919 1 -1 0.265539 0.642493 0.918 +920 1 1 0.733153 0.358301 0.919 +921 1 1 0.718892 0.660269 0.92 +922 1 1 0.282362 0.340649 0.921 +923 1 1 0.341575 0.716374 0.922 +924 1 1 0.657491 0.284901 0.923 +925 1 1 0.540491 0.761886 0.924 +926 1 1 0.459755 0.239702 0.925 +927 1 1 0.241303 0.539998 0.926 +928 1 -1 0.757082 0.460252 0.927 +929 1 1 0.755918 0.536358 0.928 +930 1 1 0.245728 0.463875 0.929 +931 1 -1 0.464111 0.75261 0.93 +932 1 -1 0.53565 0.249066 0.931 +933 1 -1 0.651203 0.70128 0.932 +934 1 -1 0.349833 0.300098 0.933 +935 1 -1 0.301489 0.649122 0.934 +936 1 1 0.697107 0.351933 0.935 +937 1 1 0.7107 0.624538 0.936 +938 1 1 0.290841 0.376373 0.937 +939 1 1 0.377293 0.707603 0.938 +940 1 -1 0.621778 0.293968 0.939 +941 1 1 0.559117 0.730011 0.94 +942 1 1 0.441347 0.271792 0.941 +943 1 1 0.273614 0.558185 0.942 +944 1 -1 0.724545 0.442288 0.943 +945 1 1 0.716953 0.576129 0.944 +946 1 1 0.284879 0.424514 0.945 +947 1 1 0.425164 0.713269 0.946 +948 1 1 0.574179 0.288603 0.947 +949 1 1 0.596159 0.700124 0.948 +950 1 1 0.40472 0.301705 0.949 +951 1 -1 0.303556 0.594391 0.95 +952 1 1 0.694572 0.406509 0.951 +953 1 1 0.659268 0.642582 0.952 +954 1 1 0.342317 0.358837 0.953 +955 1 -1 0.360273 0.656078 0.954 +956 1 -1 0.638272 0.345546 0.955 +957 1 1 0.51132 0.704782 0.956 +958 1 -1 0.488803 0.297452 0.957 +959 1 -1 0.299717 0.511072 0.958 +960 1 1 0.697988 0.489055 0.959 +961 1 1 0.69513 0.51801 0.96 +962 1 -1 0.307224 0.482207 0.961 +963 1 1 0.482427 0.690387 0.962 +964 1 -1 0.517349 0.312037 0.963 +965 1 1 0.619063 0.643276 0.964 +966 1 -1 0.382542 0.358654 0.965 +967 1 -1 0.360616 0.615828 0.966 +968 1 1 0.63739 0.385829 0.967 +969 1 1 0.655724 0.582012 0.968 +970 1 1 0.346649 0.419238 0.969 +971 1 -1 0.42051 0.650935 0.97 +972 1 1 0.578194 0.351525 0.971 +973 1 1 0.548857 0.657572 0.972 +974 1 1 0.451999 0.345188 0.973 +975 1 -1 0.348003 0.547128 0.974 +976 1 1 0.649121 0.453763 0.975 +977 1 -1 0.646729 0.543528 0.976 +978 1 -1 0.356287 0.457366 0.977 +979 1 -1 0.458282 0.640626 0.978 +980 1 1 0.54078 0.362537 0.979 +981 1 -1 0.566752 0.623062 0.98 +982 1 -1 0.434905 0.379993 0.981 +983 1 -1 0.383134 0.563391 0.982 +984 1 -1 0.613631 0.438364 0.983 +985 1 -1 0.59748 0.579004 0.984 +986 1 1 0.405567 0.423466 0.985 +987 1 -1 0.426024 0.591277 0.986 +988 1 -1 0.571322 0.411999 0.987 +989 1 1 0.511337 0.608293 0.988 +990 1 1 0.48914 0.396264 0.989 +991 1 -1 0.401042 0.51036 0.99 +992 1 1 0.593927 0.490167 0.991 +993 1 1 0.587477 0.516843 0.992 +994 1 1 0.418131 0.484237 0.993 +995 1 1 0.485399 0.575834 0.994 +996 1 -1 0.513336 0.430738 0.995 +997 1 -1 0.535388 0.552265 0.996 +998 1 -1 0.469337 0.454714 0.997 +999 1 1 0.463006 0.525048 0.998 +1000 1 -1 0.526172 0.482279 0.999 diff --git a/examples/USER/scafacos/in.scafacos.cw.ewald b/examples/USER/scafacos/in.scafacos.cw.ewald new file mode 100644 index 0000000000..f8444dd01f --- /dev/null +++ b/examples/USER/scafacos/in.scafacos.cw.ewald @@ -0,0 +1,31 @@ + +units lj +atom_style charge + +read_data data.cloud_wall + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos ewald 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 diff --git a/examples/USER/scafacos/in.scafacos.cw.fmm b/examples/USER/scafacos/in.scafacos.cw.fmm new file mode 100644 index 0000000000..24a2739581 --- /dev/null +++ b/examples/USER/scafacos/in.scafacos.cw.fmm @@ -0,0 +1,37 @@ +units lj +atom_style charge + +read_data data.cloud_wall + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +kspace_style scafacos fmm 1.0e-3 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 diff --git a/examples/USER/scafacos/in.scafacos.cw.p2nfft b/examples/USER/scafacos/in.scafacos.cw.p2nfft new file mode 100644 index 0000000000..7a2391bc77 --- /dev/null +++ b/examples/USER/scafacos/in.scafacos.cw.p2nfft @@ -0,0 +1,31 @@ + +units lj +atom_style charge + +read_data data.cloud_wall + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 diff --git a/examples/USER/scafacos/in.scafacos.ewald b/examples/USER/scafacos/in.scafacos.ewald new file mode 100644 index 0000000000..6c26c71884 --- /dev/null +++ b/examples/USER/scafacos/in.scafacos.ewald @@ -0,0 +1,37 @@ +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + +replicate 8 8 8 + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos ewald 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 diff --git a/examples/USER/scafacos/in.scafacos.fmm b/examples/USER/scafacos/in.scafacos.fmm new file mode 100644 index 0000000000..18d7464fb8 --- /dev/null +++ b/examples/USER/scafacos/in.scafacos.fmm @@ -0,0 +1,37 @@ +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + +replicate 8 8 8 + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel + +timestep 0.005 +thermo 10 + +run 100 diff --git a/examples/USER/scafacos/in.scafacos.hsph.direct b/examples/USER/scafacos/in.scafacos.hsph.direct new file mode 100644 index 0000000000..60448880ec --- /dev/null +++ b/examples/USER/scafacos/in.scafacos.hsph.direct @@ -0,0 +1,34 @@ +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos direct 0.001 + +timestep 0.005 +thermo 1 +run 20 diff --git a/examples/USER/scafacos/in.scafacos.hsph.fmm b/examples/USER/scafacos/in.scafacos.hsph.fmm new file mode 100644 index 0000000000..515809dbde --- /dev/null +++ b/examples/USER/scafacos/in.scafacos.hsph.fmm @@ -0,0 +1,37 @@ +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 + +timestep 0.005 +thermo 1 + +run 20 diff --git a/examples/USER/scafacos/in.scafacos.hsph.p2nfft b/examples/USER/scafacos/in.scafacos.hsph.p2nfft new file mode 100644 index 0000000000..d690a29e49 --- /dev/null +++ b/examples/USER/scafacos/in.scafacos.hsph.p2nfft @@ -0,0 +1,36 @@ +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance potential + +timestep 0.005 +thermo 1 + +run 20 diff --git a/examples/USER/scafacos/in.scafacos.p2nfft b/examples/USER/scafacos/in.scafacos.p2nfft new file mode 100644 index 0000000000..7fa2ccdd9e --- /dev/null +++ b/examples/USER/scafacos/in.scafacos.p2nfft @@ -0,0 +1,37 @@ +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + +replicate 8 8 8 + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.16 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.16 new file mode 100644 index 0000000000..ffdc7e3a3c --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.16 @@ -0,0 +1,92 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 2 by 2 by 4 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos ewald 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver ewald ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.313 | 3.501 | 3.689 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul + 0 300 0 0 0.49647271 0 0.49647271 0 + 10 300 0.061254978 0.014582562 0.44286522 0.02180093 0.46466616 0 + 20 300 0.12240911 0.058693359 0.37869251 0.087746571 0.46643909 0 + 30 300 0.18348265 0.13468789 0.26730177 0.2013584 0.46866017 0 + 40 300 0.24441123 0.50949535 0.083356437 0.76169555 0.84505198 0 + 50 300 0.30493236 1.1731116 -0.055261984 1.7538018 1.6985399 0 + 60 300 0.36615515 1.3589639 -0.33351524 2.031651 1.6981358 0 + 70 300 0.42717433 1.6482648 -0.76570045 2.4641559 1.6984554 0 + 80 300 0.48137259 2.8640899 -2.4038488 4.2818144 1.8779656 0 + 90 300 0.5323379 93.168442 -2.5911448 139.28682 136.69568 0 + 100 300 0.5756321 94.146897 -1.3480439 140.74961 139.40157 0 +Loop time of 0.575655 on 16 procs for 100 steps with 300 atoms + +Performance: 75045.007 tau/day, 173.715 timesteps/s +98.7% CPU use with 16 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.2159e-05 | 1.739e-05 | 2.3127e-05 | 0.0 | 0.00 +Kspace | 0.57008 | 0.57086 | 0.57137 | 0.1 | 99.17 +Neigh | 0.00025606 | 0.00061357 | 0.001369 | 0.0 | 0.11 +Comm | 0.0023558 | 0.0027267 | 0.003104 | 0.4 | 0.47 +Output | 0.00029898 | 0.00032344 | 0.00037599 | 0.0 | 0.06 +Modify | 8.2493e-05 | 0.00014143 | 0.00021815 | 0.0 | 0.02 +Other | | 0.0009701 | | | 0.17 + +Nlocal: 18.75 ave 39 max 6 min +Histogram: 6 1 1 0 1 2 2 1 1 1 +Nghost: 122.812 ave 195 max 63 min +Histogram: 8 0 0 0 0 0 0 1 3 4 +Neighs: 160.625 ave 598 max 13 min +Histogram: 8 2 1 1 1 0 0 2 0 1 + +Total # of neighbors = 2570 +Ave neighs/atom = 8.56667 +Neighbor list builds = 23 +Dangerous builds = 16 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.8 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.8 new file mode 100644 index 0000000000..52d887f475 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.8 @@ -0,0 +1,92 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos ewald 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver ewald ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.317 | 3.317 | 3.317 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul + 0 300 0 0 0.49647271 0 0.49647271 0 + 10 300 0.067519665 0.014718629 0.45088339 0.02200435 0.47288774 0 + 20 300 0.13502312 0.05922597 0.38470912 0.088542825 0.47325194 0 + 30 300 0.20248008 0.13587829 0.27058048 0.20313804 0.47371852 0 + 40 300 0.26985955 0.51353118 0.088432648 0.76772911 0.85616176 0 + 50 300 0.33801103 1.1760001 -0.058088247 1.7581201 1.7000319 0 + 60 300 0.40665984 1.3627885 -0.33736672 2.0373688 1.7000021 0 + 70 300 0.47533679 1.6529365 -0.77082139 2.4711401 1.7003187 0 + 80 300 0.54396391 2.9569837 -2.4624654 4.4206907 1.9582253 0 + 90 300 0.61429667 81.642726 -2.5370215 122.05588 119.51885 0 + 100 300 0.68513632 85.047974 -1.128107 127.14672 126.01861 0 +Loop time of 0.685155 on 8 procs for 100 steps with 300 atoms + +Performance: 63051.442 tau/day, 145.952 timesteps/s +99.7% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.0967e-05 | 1.4216e-05 | 1.8358e-05 | 0.0 | 0.00 +Kspace | 0.67942 | 0.67981 | 0.6803 | 0.0 | 99.22 +Neigh | 0.00073242 | 0.0010653 | 0.0015635 | 0.8 | 0.16 +Comm | 0.0029492 | 0.0031102 | 0.0033047 | 0.2 | 0.45 +Output | 0.00021768 | 0.00023454 | 0.00028443 | 0.0 | 0.03 +Modify | 0.00016046 | 0.00018132 | 0.00019431 | 0.0 | 0.03 +Other | | 0.0007433 | | | 0.11 + +Nlocal: 37.5 ave 46 max 31 min +Histogram: 2 0 0 2 1 0 2 0 0 1 +Nghost: 203.875 ave 212 max 192 min +Histogram: 1 0 1 0 0 2 1 0 0 3 +Neighs: 321.625 ave 599 max 112 min +Histogram: 1 2 0 1 1 0 1 1 0 1 + +Total # of neighbors = 2573 +Ave neighs/atom = 8.57667 +Neighbor list builds = 23 +Dangerous builds = 16 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.1 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.1 new file mode 100644 index 0000000000..47e0be01ce --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.1 @@ -0,0 +1,99 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +kspace_style scafacos fmm 1.0e-3 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ...3 + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.34 | 3.34 | 3.34 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul + 0 300 0 0 0.49646402 0 0.49646402 0 + 10 300 0.036603451 0.015455559 0.47335833 0.02310606 0.49646439 0 + 20 300 0.073534727 0.06229069 0.40334177 0.093124582 0.49646635 0 + 30 300 0.10984373 0.14310163 0.28254277 0.21393694 0.49647971 0 + 40 300 0.14610171 0.52929788 0.089669015 0.79130033 0.88096934 0 + 50 300 0.18255496 1.1963022 -0.082792461 1.7884718 1.7056794 0 + 60 300 0.2194376 1.3928167 -0.37659239 2.082261 1.7056686 0 + 70 300 0.25588369 1.7069009 -0.84571914 2.5518169 1.7060978 0 + 80 300 0.29101205 15.358343 -3.368063 22.960722 19.592659 0 + 90 300 0.32697225 42.280432 -2.1623864 63.209247 61.04686 0 + 100 300 0.36395645 41.48079 -0.89904529 62.013782 61.114736 0 +Loop time of 0.363968 on 1 procs for 100 steps with 300 atoms + +Performance: 118691.709 tau/day, 274.749 timesteps/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.2875e-05 | 1.2875e-05 | 1.2875e-05 | 0.0 | 0.00 +Kspace | 0.35715 | 0.35715 | 0.35715 | 0.0 | 98.13 +Neigh | 0.0039768 | 0.0039768 | 0.0039768 | 0.0 | 1.09 +Comm | 0.0012023 | 0.0012023 | 0.0012023 | 0.0 | 0.33 +Output | 0.0001502 | 0.0001502 | 0.0001502 | 0.0 | 0.04 +Modify | 0.0009768 | 0.0009768 | 0.0009768 | 0.0 | 0.27 +Other | | 0.0005031 | | | 0.14 + +Nlocal: 300 ave 300 max 300 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 374 ave 374 max 374 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 2459 ave 2459 max 2459 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2459 +Ave neighs/atom = 8.19667 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.16 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.16 new file mode 100644 index 0000000000..f104355d87 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.16 @@ -0,0 +1,99 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 2 by 2 by 4 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +kspace_style scafacos fmm 1.0e-3 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ...3 + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.313 | 3.501 | 3.689 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul + 0 300 0 0 0.49646402 0 0.49646402 0 + 10 300 0.018873215 0.015455559 0.47335833 0.02310606 0.49646439 0 + 20 300 0.035197735 0.06229069 0.40334177 0.093124582 0.49646635 0 + 30 300 0.051513195 0.14310163 0.28254277 0.21393694 0.49647971 0 + 40 300 0.067400217 0.52929788 0.089669015 0.79130033 0.88096934 0 + 50 300 0.083569527 1.1963022 -0.082792461 1.7884718 1.7056794 0 + 60 300 0.099931955 1.3928167 -0.37659239 2.082261 1.7056686 0 + 70 300 0.11602688 1.7069009 -0.84571914 2.5518169 1.7060978 0 + 80 300 0.13271379 15.358343 -3.368063 22.960722 19.592659 0 + 90 300 0.15055513 42.280432 -2.1623864 63.209247 61.04686 0 + 100 300 0.16817498 41.48079 -0.89904529 62.013782 61.114736 0 +Loop time of 0.168194 on 16 procs for 100 steps with 300 atoms + +Performance: 256846.586 tau/day, 594.552 timesteps/s +97.7% CPU use with 16 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.4544e-05 | 2.0206e-05 | 2.6941e-05 | 0.0 | 0.01 +Kspace | 0.16313 | 0.16373 | 0.16423 | 0.1 | 97.34 +Neigh | 0.00016737 | 0.00039591 | 0.00084519 | 0.0 | 0.24 +Comm | 0.0021157 | 0.0026083 | 0.0032525 | 0.7 | 1.55 +Output | 0.00026298 | 0.00030228 | 0.00035977 | 0.0 | 0.18 +Modify | 0.00010705 | 0.00015062 | 0.00020647 | 0.0 | 0.09 +Other | | 0.0009913 | | | 0.59 + +Nlocal: 18.75 ave 36 max 6 min +Histogram: 4 3 1 0 0 1 2 1 2 2 +Nghost: 127 ave 196 max 71 min +Histogram: 8 0 0 0 0 0 0 1 6 1 +Neighs: 153.688 ave 491 max 10 min +Histogram: 8 1 1 1 1 1 0 0 0 3 + +Total # of neighbors = 2459 +Ave neighs/atom = 8.19667 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.2 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.2 new file mode 100644 index 0000000000..43ded2d4da --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.2 @@ -0,0 +1,99 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +kspace_style scafacos fmm 1.0e-3 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ...3 + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.354 | 3.354 | 3.355 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul + 0 300 0 0 0.49646402 0 0.49646402 0 + 10 300 0.021326542 0.015455559 0.47335833 0.02310606 0.49646439 0 + 20 300 0.043129683 0.06229069 0.40334177 0.093124582 0.49646635 0 + 30 300 0.064425707 0.14310163 0.28254277 0.21393694 0.49647971 0 + 40 300 0.085822344 0.52929788 0.089669015 0.79130033 0.88096934 0 + 50 300 0.10737753 1.1963022 -0.082792461 1.7884718 1.7056794 0 + 60 300 0.12947297 1.3928167 -0.37659239 2.082261 1.7056686 0 + 70 300 0.15108895 1.7069009 -0.84571914 2.5518169 1.7060978 0 + 80 300 0.17378163 15.358343 -3.368063 22.960722 19.592659 0 + 90 300 0.19809985 42.280432 -2.1623864 63.209247 61.04686 0 + 100 300 0.22268319 41.48079 -0.89904529 62.013782 61.114736 0 +Loop time of 0.222696 on 2 procs for 100 steps with 300 atoms + +Performance: 193986.156 tau/day, 449.042 timesteps/s +98.4% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.1683e-05 | 1.5378e-05 | 1.9073e-05 | 0.0 | 0.01 +Kspace | 0.21627 | 0.2168 | 0.21734 | 0.1 | 97.35 +Neigh | 0.0016344 | 0.0021609 | 0.0026875 | 1.1 | 0.97 +Comm | 0.0022857 | 0.0023286 | 0.0023715 | 0.1 | 1.05 +Output | 0.00015521 | 0.00019228 | 0.00022936 | 0.0 | 0.09 +Modify | 0.00052834 | 0.00054049 | 0.00055265 | 0.0 | 0.24 +Other | | 0.0006541 | | | 0.29 + +Nlocal: 150 ave 159 max 141 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 392 ave 395 max 389 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 1229.5 ave 1773 max 686 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 2459 +Ave neighs/atom = 8.19667 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.4 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.4 new file mode 100644 index 0000000000..12c74993e9 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.4 @@ -0,0 +1,99 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +kspace_style scafacos fmm 1.0e-3 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ...3 + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.333 | 3.333 | 3.333 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul + 0 300 0 0 0.49646402 0 0.49646402 0 + 10 300 0.017563343 0.015455559 0.47335833 0.02310606 0.49646439 0 + 20 300 0.034884214 0.06229069 0.40334177 0.093124582 0.49646635 0 + 30 300 0.052014828 0.14310163 0.28254277 0.21393694 0.49647971 0 + 40 300 0.069101095 0.52929788 0.089669015 0.79130033 0.88096934 0 + 50 300 0.085633039 1.1963022 -0.082792461 1.7884718 1.7056794 0 + 60 300 0.10165119 1.3928167 -0.37659239 2.082261 1.7056686 0 + 70 300 0.11729789 1.7069009 -0.84571914 2.5518169 1.7060978 0 + 80 300 0.1342802 15.358343 -3.368063 22.960722 19.592659 0 + 90 300 0.15266848 42.280432 -2.1623864 63.209247 61.04686 0 + 100 300 0.17004442 41.48079 -0.89904529 62.013782 61.114736 0 +Loop time of 0.170072 on 4 procs for 100 steps with 300 atoms + +Performance: 254010.216 tau/day, 587.987 timesteps/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.5497e-05 | 1.6868e-05 | 1.9789e-05 | 0.0 | 0.01 +Kspace | 0.16417 | 0.16472 | 0.16507 | 0.1 | 96.86 +Neigh | 0.00082564 | 0.0012031 | 0.0015855 | 0.9 | 0.71 +Comm | 0.0026572 | 0.0029335 | 0.003197 | 0.4 | 1.72 +Output | 0.00019169 | 0.00021791 | 0.00026536 | 0.0 | 0.13 +Modify | 0.00031304 | 0.00032955 | 0.00035334 | 0.0 | 0.19 +Other | | 0.0006474 | | | 0.38 + +Nlocal: 75 ave 81 max 70 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 282.5 ave 290 max 274 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +Neighs: 614.75 ave 981 max 285 min +Histogram: 1 1 0 0 0 0 0 1 0 1 + +Total # of neighbors = 2459 +Ave neighs/atom = 8.19667 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.8 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.8 new file mode 100644 index 0000000000..1fea13cd13 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.8 @@ -0,0 +1,99 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +kspace_style scafacos fmm 1.0e-3 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ...3 + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.317 | 3.317 | 3.317 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul + 0 300 0 0 0.49646402 0 0.49646402 0 + 10 300 0.016258478 0.015455559 0.47335833 0.02310606 0.49646439 0 + 20 300 0.031442165 0.06229069 0.40334177 0.093124582 0.49646635 0 + 30 300 0.046462774 0.14310163 0.28254277 0.21393694 0.49647971 0 + 40 300 0.061176538 0.52929788 0.089669015 0.79130033 0.88096934 0 + 50 300 0.076244354 1.1963022 -0.082792461 1.7884718 1.7056794 0 + 60 300 0.091396809 1.3928167 -0.37659239 2.082261 1.7056686 0 + 70 300 0.10625911 1.7069009 -0.84571914 2.5518169 1.7060978 0 + 80 300 0.1204896 15.358343 -3.368063 22.960722 19.592659 0 + 90 300 0.13657618 42.280432 -2.1623864 63.209247 61.04686 0 + 100 300 0.15163732 41.48079 -0.89904529 62.013782 61.114736 0 +Loop time of 0.151654 on 8 procs for 100 steps with 300 atoms + +Performance: 284858.554 tau/day, 659.395 timesteps/s +97.7% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.3828e-05 | 1.6987e-05 | 1.955e-05 | 0.0 | 0.01 +Kspace | 0.14633 | 0.14689 | 0.14725 | 0.1 | 96.86 +Neigh | 0.00047135 | 0.00067887 | 0.00094771 | 0.0 | 0.45 +Comm | 0.0027649 | 0.0029218 | 0.0032592 | 0.3 | 1.93 +Output | 0.00022578 | 0.00024724 | 0.00030136 | 0.0 | 0.16 +Modify | 0.00018954 | 0.00021681 | 0.0002358 | 0.0 | 0.14 +Other | | 0.0006794 | | | 0.45 + +Nlocal: 37.5 ave 45 max 31 min +Histogram: 1 1 1 1 1 0 1 0 1 1 +Nghost: 200 ave 209 max 189 min +Histogram: 1 0 0 0 1 4 0 0 0 2 +Neighs: 307.375 ave 514 max 115 min +Histogram: 2 1 0 1 1 0 0 0 1 2 + +Total # of neighbors = 2459 +Ave neighs/atom = 8.19667 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.1 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.1 new file mode 100644 index 0000000000..bd9325dc4b --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.1 @@ -0,0 +1,92 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.34 | 3.34 | 3.34 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul + 0 300 0 0 0.49683273 0 0.49683273 0 + 10 300 0.082981586 0.015479312 0.47369009 0.023141571 0.49683166 0 + 20 300 0.16677213 0.062386358 0.40356181 0.093267605 0.49682941 0 + 30 300 0.2506392 0.14331637 0.2825636 0.21425798 0.49682157 0 + 40 300 0.33466673 0.53041843 0.089505208 0.79297556 0.88248077 0 + 50 300 0.41812825 1.1948397 -0.083317439 1.7862853 1.7029679 0 + 60 300 0.50167894 1.3915614 -0.37745551 2.0803842 1.7029287 0 + 70 300 0.58574796 1.7061978 -0.84746071 2.5507657 1.703305 0 + 80 300 0.6700325 20.692093 -3.32971 30.93468 27.60497 0 + 90 300 0.75608635 48.999403 -2.1632167 73.254107 71.090891 0 + 100 300 0.84190726 51.199785 -0.81127924 76.543678 75.732399 0 +Loop time of 0.841921 on 1 procs for 100 steps with 300 atoms + +Performance: 51311.251 tau/day, 118.776 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.1206e-05 | 1.1206e-05 | 1.1206e-05 | 0.0 | 0.00 +Kspace | 0.835 | 0.835 | 0.835 | 0.0 | 99.18 +Neigh | 0.0040102 | 0.0040102 | 0.0040102 | 0.0 | 0.48 +Comm | 0.0012431 | 0.0012431 | 0.0012431 | 0.0 | 0.15 +Output | 0.0001545 | 0.0001545 | 0.0001545 | 0.0 | 0.02 +Modify | 0.0010202 | 0.0010202 | 0.0010202 | 0.0 | 0.12 +Other | | 0.000484 | | | 0.06 + +Nlocal: 300 ave 300 max 300 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 381 ave 381 max 381 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 2461 ave 2461 max 2461 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2461 +Ave neighs/atom = 8.20333 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.16 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.16 new file mode 100644 index 0000000000..1e385c5fda --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.16 @@ -0,0 +1,92 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 2 by 2 by 4 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.313 | 3.501 | 3.689 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul + 0 300 0 0 0.49683273 0 0.49683273 0 + 10 300 0.029647827 0.015479312 0.47369009 0.023141571 0.49683166 0 + 20 300 0.059298515 0.062386358 0.40356181 0.093267605 0.49682941 0 + 30 300 0.088926077 0.14331637 0.2825636 0.21425798 0.49682157 0 + 40 300 0.11850166 0.53041843 0.089505208 0.79297556 0.88248077 0 + 50 300 0.14820433 1.1948397 -0.083317439 1.7862853 1.7029679 0 + 60 300 0.17807317 1.3915614 -0.37745551 2.0803842 1.7029287 0 + 70 300 0.20803642 1.7061978 -0.84746071 2.5507657 1.703305 0 + 80 300 0.23797083 20.692093 -3.32971 30.93468 27.60497 0 + 90 300 0.26835561 48.999403 -2.1632167 73.254107 71.090891 0 + 100 300 0.29766583 51.199785 -0.81127924 76.543678 75.732399 0 +Loop time of 0.297693 on 16 procs for 100 steps with 300 atoms + +Performance: 145116.000 tau/day, 335.917 timesteps/s +98.8% CPU use with 16 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.1683e-05 | 1.6928e-05 | 2.4557e-05 | 0.0 | 0.01 +Kspace | 0.29245 | 0.29325 | 0.29366 | 0.1 | 98.51 +Neigh | 0.00017214 | 0.00042973 | 0.0010228 | 0.0 | 0.14 +Comm | 0.0021176 | 0.0024613 | 0.0028479 | 0.5 | 0.83 +Output | 0.00028467 | 0.00033538 | 0.00041103 | 0.0 | 0.11 +Modify | 8.893e-05 | 0.00015014 | 0.00027537 | 0.0 | 0.05 +Other | | 0.001048 | | | 0.35 + +Nlocal: 18.75 ave 33 max 6 min +Histogram: 2 6 0 0 0 0 2 1 2 3 +Nghost: 128.875 ave 198 max 71 min +Histogram: 7 1 0 0 0 0 0 1 5 2 +Neighs: 153.812 ave 490 max 14 min +Histogram: 8 0 3 0 1 1 0 0 1 2 + +Total # of neighbors = 2461 +Ave neighs/atom = 8.20333 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.2 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.2 new file mode 100644 index 0000000000..3f54069ffd --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.2 @@ -0,0 +1,92 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.354 | 3.354 | 3.355 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul + 0 300 0 0 0.49683273 0 0.49683273 0 + 10 300 0.049199581 0.015479312 0.47369009 0.023141571 0.49683166 0 + 20 300 0.09860301 0.062386358 0.40356181 0.093267605 0.49682941 0 + 30 300 0.14826894 0.14331637 0.2825636 0.21425798 0.49682157 0 + 40 300 0.19769144 0.53041843 0.089505208 0.79297556 0.88248077 0 + 50 300 0.24735355 1.1948397 -0.083317439 1.7862853 1.7029679 0 + 60 300 0.29692888 1.3915614 -0.37745551 2.0803842 1.7029287 0 + 70 300 0.34639764 1.7061978 -0.84746071 2.5507657 1.703305 0 + 80 300 0.39633083 20.692093 -3.32971 30.93468 27.60497 0 + 90 300 0.44779778 48.999403 -2.1632167 73.254107 71.090891 0 + 100 300 0.49988627 51.199785 -0.81127924 76.543678 75.732399 0 +Loop time of 0.499909 on 2 procs for 100 steps with 300 atoms + +Performance: 86415.782 tau/day, 200.037 timesteps/s +99.5% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 9.0599e-06 | 1.3709e-05 | 1.8358e-05 | 0.0 | 0.00 +Kspace | 0.49314 | 0.49365 | 0.49416 | 0.1 | 98.75 +Neigh | 0.0016146 | 0.0021083 | 0.0026021 | 1.1 | 0.42 +Comm | 0.002754 | 0.0028276 | 0.0029013 | 0.1 | 0.57 +Output | 0.00015783 | 0.00019348 | 0.00022912 | 0.0 | 0.04 +Modify | 0.00049257 | 0.00049472 | 0.00049686 | 0.0 | 0.10 +Other | | 0.0006217 | | | 0.12 + +Nlocal: 150 ave 157 max 143 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 399 ave 402 max 396 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 1230.5 ave 1756 max 705 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 2461 +Ave neighs/atom = 8.20333 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.4 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.4 new file mode 100644 index 0000000000..8b94402658 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.4 @@ -0,0 +1,92 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.333 | 3.333 | 3.333 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul + 0 300 0 0 0.49683273 0 0.49683273 0 + 10 300 0.031973124 0.015479312 0.47369009 0.023141571 0.49683166 0 + 20 300 0.064628601 0.062386358 0.40356181 0.093267605 0.49682941 0 + 30 300 0.096747875 0.14331637 0.2825636 0.21425798 0.49682157 0 + 40 300 0.12864041 0.53041843 0.089505208 0.79297556 0.88248077 0 + 50 300 0.161134 1.1948397 -0.083317439 1.7862853 1.7029679 0 + 60 300 0.19359422 1.3915614 -0.37745551 2.0803842 1.7029287 0 + 70 300 0.22573543 1.7061978 -0.84746071 2.5507657 1.703305 0 + 80 300 0.25922132 20.692093 -3.32971 30.93468 27.60497 0 + 90 300 0.29452014 48.999403 -2.1632167 73.254107 71.090891 0 + 100 300 0.33031607 51.199785 -0.81127924 76.543678 75.732399 0 +Loop time of 0.330333 on 4 procs for 100 steps with 300 atoms + +Performance: 130777.056 tau/day, 302.725 timesteps/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.0014e-05 | 1.3471e-05 | 1.5497e-05 | 0.0 | 0.00 +Kspace | 0.32504 | 0.3255 | 0.3258 | 0.1 | 98.54 +Neigh | 0.00083303 | 0.0011883 | 0.0015609 | 0.8 | 0.36 +Comm | 0.0024087 | 0.0025436 | 0.0026674 | 0.2 | 0.77 +Output | 0.00017405 | 0.00020278 | 0.00024986 | 0.0 | 0.06 +Modify | 0.00028658 | 0.00031012 | 0.00033331 | 0.0 | 0.09 +Other | | 0.0005748 | | | 0.17 + +Nlocal: 75 ave 81 max 69 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Nghost: 287 ave 296 max 278 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Neighs: 615.25 ave 964 max 286 min +Histogram: 1 1 0 0 0 0 0 1 0 1 + +Total # of neighbors = 2461 +Ave neighs/atom = 8.20333 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.8 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.8 new file mode 100644 index 0000000000..3de3c25017 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.8 @@ -0,0 +1,92 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.317 | 3.317 | 3.317 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul + 0 300 0 0 0.49683273 0 0.49683273 0 + 10 300 0.023941755 0.015479312 0.47369009 0.023141571 0.49683166 0 + 20 300 0.047938108 0.062386358 0.40356181 0.093267605 0.49682941 0 + 30 300 0.071953773 0.14331637 0.2825636 0.21425798 0.49682157 0 + 40 300 0.095941782 0.53041843 0.089505208 0.79297556 0.88248077 0 + 50 300 0.12011361 1.1948397 -0.083317439 1.7862853 1.7029679 0 + 60 300 0.14433384 1.3915614 -0.37745551 2.0803842 1.7029287 0 + 70 300 0.16875505 1.7061978 -0.84746071 2.5507657 1.703305 0 + 80 300 0.193331 20.692093 -3.32971 30.93468 27.60497 0 + 90 300 0.21844888 48.999403 -2.1632167 73.254107 71.090891 0 + 100 300 0.24417853 51.199785 -0.81127924 76.543678 75.732399 0 +Loop time of 0.244198 on 8 procs for 100 steps with 300 atoms + +Performance: 176905.349 tau/day, 409.503 timesteps/s +99.7% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 9.7752e-06 | 1.4246e-05 | 1.955e-05 | 0.0 | 0.01 +Kspace | 0.23946 | 0.23972 | 0.24009 | 0.0 | 98.17 +Neigh | 0.00049043 | 0.00071204 | 0.00095773 | 0.0 | 0.29 +Comm | 0.0025063 | 0.0026675 | 0.0027597 | 0.2 | 1.09 +Output | 0.00019646 | 0.00021604 | 0.00026321 | 0.0 | 0.09 +Modify | 0.00017905 | 0.0001913 | 0.00020766 | 0.0 | 0.08 +Other | | 0.0006773 | | | 0.28 + +Nlocal: 37.5 ave 42 max 33 min +Histogram: 2 1 0 1 0 0 1 0 1 2 +Nghost: 202.25 ave 212 max 194 min +Histogram: 1 0 2 1 0 2 0 1 0 1 +Neighs: 307.625 ave 505 max 129 min +Histogram: 3 0 0 1 1 0 0 0 1 2 + +Total # of neighbors = 2461 +Ave neighs/atom = 8.20333 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.16 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.16 new file mode 100644 index 0000000000..f2223064e0 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.16 @@ -0,0 +1,102 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (2 2 2) + 2 by 2 by 4 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (16 16 16) + 2 by 2 by 4 MPI processor grid + 4096 atoms + Time spent = 0.000503302 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos ewald 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver ewald ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 16 16 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.401 | 3.401 | 3.401 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.87413076 0 1.3753199 1.4996338 + 10 1.5001167 -0.84976141 0 1.3998642 1.4997504 + 20 1.5002402 -0.84977464 0 1.4000363 1.499874 + 30 1.5003611 -0.84978325 0 1.4002089 1.4999948 + 40 1.5004736 -0.84977869 0 1.4003823 1.5001073 + 50 1.5005703 -0.8497468 0 1.4005591 1.5002039 + 60 1.5006418 -0.84967646 0 1.4007366 1.5002754 + 70 1.5006785 -0.84955497 0 1.4009132 1.5003121 + 80 1.5006711 -0.849369 0 1.4010881 1.5003047 + 90 1.500611 -0.84910811 0 1.4012589 1.5002446 + 100 1.5004911 -0.84870167 0 1.4014854 1.5001247 +Loop time of 46.4857 on 16 procs for 100 steps with 4096 atoms + +Performance: 929.317 tau/day, 2.151 timesteps/s +99.8% CPU use with 16 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00023437 | 0.00024788 | 0.00026894 | 0.0 | 0.00 +Kspace | 46.476 | 46.476 | 46.476 | 0.0 | 99.98 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0062859 | 0.0067717 | 0.0072649 | 0.3 | 0.01 +Output | 0.0004127 | 0.00044075 | 0.00050807 | 0.0 | 0.00 +Modify | 0.00099325 | 0.0010343 | 0.0010939 | 0.1 | 0.00 +Other | | 0.001459 | | | 0.00 + +Nlocal: 256 ave 256 max 256 min +Histogram: 16 0 0 0 0 0 0 0 0 0 +Nghost: 1265 ave 1265 max 1265 min +Histogram: 16 0 0 0 0 0 0 0 0 0 +Neighs: 4096 ave 4096 max 4096 min +Histogram: 16 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 65536 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:47 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.8 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.8 new file mode 100644 index 0000000000..8d3702a8b3 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.8 @@ -0,0 +1,102 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (2 2 2) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (16 16 16) + 2 by 2 by 2 MPI processor grid + 4096 atoms + Time spent = 0.000281811 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos ewald 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver ewald ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 16 16 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.416 | 3.416 | 3.416 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.87413076 0 1.3753199 1.4996338 + 10 1.5001095 -0.85040058 0 1.3992143 1.4997433 + 20 1.5002258 -0.85039456 0 1.3993947 1.4998595 + 30 1.5003395 -0.85038368 0 1.3995761 1.4999732 + 40 1.5004452 -0.85035944 0 1.3997589 1.5000789 + 50 1.5005354 -0.85030783 0 1.3999457 1.500169 + 60 1.5006008 -0.85021779 0 1.4001339 1.5002344 + 70 1.500632 -0.8500769 0 1.4003215 1.5002656 + 80 1.5006197 -0.84987187 0 1.4005081 1.5002533 + 90 1.5005554 -0.84959251 0 1.400691 1.500189 + 100 1.500432 -0.84916846 0 1.4009301 1.5000657 +Loop time of 86.1477 on 8 procs for 100 steps with 4096 atoms + +Performance: 501.464 tau/day, 1.161 timesteps/s +99.9% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.000314 | 0.00033289 | 0.00035048 | 0.0 | 0.00 +Kspace | 86.136 | 86.136 | 86.136 | 0.0 | 99.99 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0069821 | 0.0073864 | 0.0077834 | 0.3 | 0.01 +Output | 0.00038719 | 0.00041264 | 0.00047517 | 0.0 | 0.00 +Modify | 0.0018711 | 0.0019454 | 0.0020905 | 0.1 | 0.00 +Other | | 0.001762 | | | 0.00 + +Nlocal: 512 ave 512 max 512 min +Histogram: 8 0 0 0 0 0 0 0 0 0 +Nghost: 1685 ave 1685 max 1685 min +Histogram: 8 0 0 0 0 0 0 0 0 0 +Neighs: 8192 ave 8192 max 8192 min +Histogram: 8 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 65536 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:01:28 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.1 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.1 new file mode 100644 index 0000000000..0749de3832 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.1 @@ -0,0 +1,102 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (2 2 2) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (16 16 16) + 1 by 1 by 1 MPI processor grid + 4096 atoms + Time spent = 0.000584364 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 16 16 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.723 | 3.723 | 3.723 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.87378819 0 1.3756625 1.4996338 + 10 1.5000004 -0.87378882 0 1.3756625 1.4996342 + 20 1.4999998 -0.87378782 0 1.3756625 1.4996336 + 30 1.4999934 -0.87377823 0 1.3756625 1.4996272 + 40 1.4999745 -0.87374997 0 1.3756625 1.4996083 + 50 1.4999347 -0.87369019 0 1.3756625 1.4995685 + 60 1.4998637 -0.87358381 0 1.3756625 1.4994975 + 70 1.4997506 -0.87341428 0 1.3756624 1.4993845 + 80 1.4995842 -0.87316464 0 1.3756624 1.499218 + 90 1.4993536 -0.87281897 0 1.3756624 1.4989876 + 100 1.4990503 -0.87236411 0 1.3756624 1.4986843 +Loop time of 5.26537 on 1 procs for 100 steps with 4096 atoms + +Performance: 8204.550 tau/day, 18.992 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0011349 | 0.0011349 | 0.0011349 | 0.0 | 0.02 +Kspace | 5.2375 | 5.2375 | 5.2375 | 0.0 | 99.47 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0090225 | 0.0090225 | 0.0090225 | 0.0 | 0.17 +Output | 0.0004127 | 0.0004127 | 0.0004127 | 0.0 | 0.01 +Modify | 0.012851 | 0.012851 | 0.012851 | 0.0 | 0.24 +Other | | 0.004441 | | | 0.08 + +Nlocal: 4096 ave 4096 max 4096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 5165 ave 5165 max 5165 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 65536 ave 65536 max 65536 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 65536 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:06 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.16 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.16 new file mode 100644 index 0000000000..6af26f7b81 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.16 @@ -0,0 +1,102 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (2 2 2) + 2 by 2 by 4 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (16 16 16) + 2 by 2 by 4 MPI processor grid + 4096 atoms + Time spent = 0.000507593 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 16 16 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.401 | 3.401 | 3.401 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.87378819 0 1.3756625 1.4996338 + 10 1.5000004 -0.87378882 0 1.3756625 1.4996342 + 20 1.4999998 -0.87378782 0 1.3756625 1.4996336 + 30 1.4999934 -0.87377823 0 1.3756625 1.4996272 + 40 1.4999745 -0.87374997 0 1.3756625 1.4996083 + 50 1.4999347 -0.87369019 0 1.3756625 1.4995685 + 60 1.4998637 -0.87358381 0 1.3756625 1.4994975 + 70 1.4997506 -0.87341428 0 1.3756624 1.4993845 + 80 1.4995842 -0.87316464 0 1.3756624 1.499218 + 90 1.4993536 -0.87281897 0 1.3756624 1.4989876 + 100 1.4990503 -0.87236411 0 1.3756624 1.4986843 +Loop time of 0.570389 on 16 procs for 100 steps with 4096 atoms + +Performance: 75737.813 tau/day, 175.319 timesteps/s +99.3% CPU use with 16 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00024104 | 0.00025283 | 0.00029206 | 0.0 | 0.04 +Kspace | 0.56153 | 0.56176 | 0.56189 | 0.0 | 98.49 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0055203 | 0.0057825 | 0.0061858 | 0.2 | 1.01 +Output | 0.00038505 | 0.00040831 | 0.00048184 | 0.0 | 0.07 +Modify | 0.00096965 | 0.00099662 | 0.0010159 | 0.0 | 0.17 +Other | | 0.001192 | | | 0.21 + +Nlocal: 256 ave 256 max 256 min +Histogram: 16 0 0 0 0 0 0 0 0 0 +Nghost: 1265 ave 1265 max 1265 min +Histogram: 16 0 0 0 0 0 0 0 0 0 +Neighs: 4096 ave 4096 max 4096 min +Histogram: 16 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 65536 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.2 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.2 new file mode 100644 index 0000000000..bcc61485ca --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.2 @@ -0,0 +1,102 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (2 2 2) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (16 16 16) + 1 by 1 by 2 MPI processor grid + 4096 atoms + Time spent = 0.000455141 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 16 16 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.634 | 3.634 | 3.634 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.87378819 0 1.3756625 1.4996338 + 10 1.5000004 -0.87378882 0 1.3756625 1.4996342 + 20 1.4999998 -0.87378782 0 1.3756625 1.4996336 + 30 1.4999934 -0.87377823 0 1.3756625 1.4996272 + 40 1.4999745 -0.87374997 0 1.3756625 1.4996083 + 50 1.4999347 -0.87369019 0 1.3756625 1.4995685 + 60 1.4998637 -0.87358381 0 1.3756625 1.4994975 + 70 1.4997506 -0.87341428 0 1.3756624 1.4993845 + 80 1.4995842 -0.87316464 0 1.3756624 1.499218 + 90 1.4993536 -0.87281897 0 1.3756624 1.4989876 + 100 1.4990503 -0.87236411 0 1.3756624 1.4986843 +Loop time of 2.73149 on 2 procs for 100 steps with 4096 atoms + +Performance: 15815.560 tau/day, 36.610 timesteps/s +99.7% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00070763 | 0.00071537 | 0.00072312 | 0.0 | 0.03 +Kspace | 2.7111 | 2.7112 | 2.7112 | 0.0 | 99.26 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0096555 | 0.0097489 | 0.0098424 | 0.1 | 0.36 +Output | 0.00036025 | 0.0003823 | 0.00040436 | 0.0 | 0.01 +Modify | 0.0063472 | 0.0064594 | 0.0065715 | 0.1 | 0.24 +Other | | 0.00299 | | | 0.11 + +Nlocal: 2048 ave 2048 max 2048 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 3685 ave 3685 max 3685 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 32768 ave 32768 max 32768 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 65536 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:04 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.4 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.4 new file mode 100644 index 0000000000..54e010c8fd --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.4 @@ -0,0 +1,102 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (2 2 2) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (16 16 16) + 1 by 2 by 2 MPI processor grid + 4096 atoms + Time spent = 0.000329494 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 16 16 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.497 | 3.497 | 3.497 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.87378819 0 1.3756625 1.4996338 + 10 1.5000004 -0.87378882 0 1.3756625 1.4996342 + 20 1.4999998 -0.87378782 0 1.3756625 1.4996336 + 30 1.4999934 -0.87377823 0 1.3756625 1.4996272 + 40 1.4999745 -0.87374997 0 1.3756625 1.4996083 + 50 1.4999347 -0.87369019 0 1.3756625 1.4995685 + 60 1.4998637 -0.87358381 0 1.3756625 1.4994975 + 70 1.4997506 -0.87341428 0 1.3756624 1.4993845 + 80 1.4995842 -0.87316464 0 1.3756624 1.499218 + 90 1.4993536 -0.87281897 0 1.3756624 1.4989876 + 100 1.4990503 -0.87236411 0 1.3756624 1.4986843 +Loop time of 1.53742 on 4 procs for 100 steps with 4096 atoms + +Performance: 28099.005 tau/day, 65.044 timesteps/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00044894 | 0.00045562 | 0.0004611 | 0.0 | 0.03 +Kspace | 1.5223 | 1.5225 | 1.5225 | 0.0 | 99.03 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0085156 | 0.0086777 | 0.0088782 | 0.1 | 0.56 +Output | 0.00034738 | 0.0003686 | 0.0004015 | 0.0 | 0.02 +Modify | 0.0032606 | 0.0033693 | 0.0034289 | 0.1 | 0.22 +Other | | 0.002084 | | | 0.14 + +Nlocal: 1024 ave 1024 max 1024 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 2525 ave 2525 max 2525 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 16384 ave 16384 max 16384 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 65536 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.8 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.8 new file mode 100644 index 0000000000..d5d38d6804 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.8 @@ -0,0 +1,102 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (2 2 2) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (16 16 16) + 2 by 2 by 2 MPI processor grid + 4096 atoms + Time spent = 0.000284672 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 16 16 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.416 | 3.416 | 3.416 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.87378819 0 1.3756625 1.4996338 + 10 1.5000004 -0.87378882 0 1.3756625 1.4996342 + 20 1.4999998 -0.87378782 0 1.3756625 1.4996336 + 30 1.4999934 -0.87377823 0 1.3756625 1.4996272 + 40 1.4999745 -0.87374997 0 1.3756625 1.4996083 + 50 1.4999347 -0.87369019 0 1.3756625 1.4995685 + 60 1.4998637 -0.87358381 0 1.3756625 1.4994975 + 70 1.4997506 -0.87341428 0 1.3756624 1.4993845 + 80 1.4995842 -0.87316464 0 1.3756624 1.499218 + 90 1.4993536 -0.87281897 0 1.3756624 1.4989876 + 100 1.4990503 -0.87236411 0 1.3756624 1.4986843 +Loop time of 0.902102 on 8 procs for 100 steps with 4096 atoms + +Performance: 47888.152 tau/day, 110.852 timesteps/s +99.7% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00030732 | 0.00031349 | 0.00032663 | 0.0 | 0.03 +Kspace | 0.89112 | 0.89138 | 0.8916 | 0.0 | 98.81 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0064399 | 0.0066807 | 0.0070164 | 0.2 | 0.74 +Output | 0.00034571 | 0.00036666 | 0.00041723 | 0.0 | 0.04 +Modify | 0.0018673 | 0.0019273 | 0.0020192 | 0.1 | 0.21 +Other | | 0.001431 | | | 0.16 + +Nlocal: 512 ave 512 max 512 min +Histogram: 8 0 0 0 0 0 0 0 0 0 +Nghost: 1685 ave 1685 max 1685 min +Histogram: 8 0 0 0 0 0 0 0 0 0 +Neighs: 8192 ave 8192 max 8192 min +Histogram: 8 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 65536 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.1 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.1 new file mode 100644 index 0000000000..d8b782e41d --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.1 @@ -0,0 +1,102 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (2 2 2) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (16 16 16) + 1 by 1 by 1 MPI processor grid + 4096 atoms + Time spent = 0.000631332 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 16 16 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.723 | 3.723 | 3.723 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.87394226 0 1.3755084 1.4996338 + 10 1.5000144 -0.87365638 0 1.375816 1.4996482 + 20 1.5000284 -0.87366526 0 1.3758281 1.4996622 + 30 1.5000364 -0.87366516 0 1.3758401 1.4996702 + 40 1.5000313 -0.8736496 0 1.375848 1.4996651 + 50 1.5000039 -0.87360069 0 1.3758558 1.4996377 + 60 1.4999432 -0.87350118 0 1.3758644 1.499577 + 70 1.499838 -0.87333517 0 1.3758726 1.4994719 + 80 1.4996772 -0.87308644 0 1.3758801 1.4993111 + 90 1.4994505 -0.87274307 0 1.3758836 1.4990844 + 100 1.4991498 -0.8722911 0 1.3758846 1.4987838 +Loop time of 9.59682 on 1 procs for 100 steps with 4096 atoms + +Performance: 4501.489 tau/day, 10.420 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0011375 | 0.0011375 | 0.0011375 | 0.0 | 0.01 +Kspace | 9.5688 | 9.5688 | 9.5688 | 0.0 | 99.71 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.009017 | 0.009017 | 0.009017 | 0.0 | 0.09 +Output | 0.0004344 | 0.0004344 | 0.0004344 | 0.0 | 0.00 +Modify | 0.012987 | 0.012987 | 0.012987 | 0.0 | 0.14 +Other | | 0.004481 | | | 0.05 + +Nlocal: 4096 ave 4096 max 4096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 5165 ave 5165 max 5165 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 65536 ave 65536 max 65536 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 65536 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:10 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.16 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.16 new file mode 100644 index 0000000000..43bcfb6770 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.16 @@ -0,0 +1,102 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (2 2 2) + 2 by 2 by 4 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (16 16 16) + 2 by 2 by 4 MPI processor grid + 4096 atoms + Time spent = 0.000500917 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 16 16 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.401 | 3.401 | 3.401 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.87394226 0 1.3755084 1.4996338 + 10 1.5000144 -0.87365638 0 1.375816 1.4996482 + 20 1.5000284 -0.87366526 0 1.3758281 1.4996622 + 30 1.5000364 -0.87366516 0 1.3758401 1.4996702 + 40 1.5000313 -0.8736496 0 1.375848 1.4996651 + 50 1.5000039 -0.87360069 0 1.3758558 1.4996377 + 60 1.4999432 -0.87350118 0 1.3758644 1.499577 + 70 1.499838 -0.87333517 0 1.3758726 1.4994719 + 80 1.4996772 -0.87308644 0 1.3758801 1.4993111 + 90 1.4994505 -0.87274307 0 1.3758836 1.4990844 + 100 1.4991498 -0.8722911 0 1.3758846 1.4987838 +Loop time of 1.20528 on 16 procs for 100 steps with 4096 atoms + +Performance: 35842.175 tau/day, 82.968 timesteps/s +99.3% CPU use with 16 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00021839 | 0.00025332 | 0.00029278 | 0.0 | 0.02 +Kspace | 1.1945 | 1.1948 | 1.195 | 0.0 | 99.13 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0066545 | 0.0069329 | 0.0072389 | 0.2 | 0.58 +Output | 0.0003922 | 0.00042732 | 0.00054955 | 0.0 | 0.04 +Modify | 0.0010166 | 0.0011965 | 0.0014412 | 0.3 | 0.10 +Other | | 0.001724 | | | 0.14 + +Nlocal: 256 ave 256 max 256 min +Histogram: 16 0 0 0 0 0 0 0 0 0 +Nghost: 1265 ave 1265 max 1265 min +Histogram: 16 0 0 0 0 0 0 0 0 0 +Neighs: 4096 ave 4096 max 4096 min +Histogram: 16 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 65536 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.2 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.2 new file mode 100644 index 0000000000..9f4f44153b --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.2 @@ -0,0 +1,102 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (2 2 2) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (16 16 16) + 1 by 1 by 2 MPI processor grid + 4096 atoms + Time spent = 0.00044775 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 16 16 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.634 | 3.634 | 3.634 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.87394226 0 1.3755084 1.4996338 + 10 1.5000144 -0.87365638 0 1.375816 1.4996482 + 20 1.5000284 -0.87366526 0 1.3758281 1.4996622 + 30 1.5000364 -0.87366516 0 1.3758401 1.4996702 + 40 1.5000313 -0.8736496 0 1.375848 1.4996651 + 50 1.5000039 -0.87360069 0 1.3758558 1.4996377 + 60 1.4999432 -0.87350118 0 1.3758644 1.499577 + 70 1.499838 -0.87333517 0 1.3758726 1.4994719 + 80 1.4996772 -0.87308644 0 1.3758801 1.4993111 + 90 1.4994505 -0.87274307 0 1.3758836 1.4990844 + 100 1.4991498 -0.8722911 0 1.3758846 1.4987838 +Loop time of 5.14681 on 2 procs for 100 steps with 4096 atoms + +Performance: 8393.542 tau/day, 19.429 timesteps/s +99.9% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00070882 | 0.00072873 | 0.00074863 | 0.0 | 0.01 +Kspace | 5.1257 | 5.1258 | 5.1258 | 0.0 | 99.59 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.010188 | 0.010291 | 0.010394 | 0.1 | 0.20 +Output | 0.00042391 | 0.00044322 | 0.00046253 | 0.0 | 0.01 +Modify | 0.0063772 | 0.006551 | 0.0067248 | 0.2 | 0.13 +Other | | 0.003026 | | | 0.06 + +Nlocal: 2048 ave 2048 max 2048 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 3685 ave 3685 max 3685 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 32768 ave 32768 max 32768 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 65536 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:05 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.4 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.4 new file mode 100644 index 0000000000..d6a78bb193 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.4 @@ -0,0 +1,102 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (2 2 2) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (16 16 16) + 1 by 2 by 2 MPI processor grid + 4096 atoms + Time spent = 0.000317335 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 16 16 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.497 | 3.497 | 3.497 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.87394226 0 1.3755084 1.4996338 + 10 1.5000144 -0.87365638 0 1.375816 1.4996482 + 20 1.5000284 -0.87366526 0 1.3758281 1.4996622 + 30 1.5000364 -0.87366516 0 1.3758401 1.4996702 + 40 1.5000313 -0.8736496 0 1.375848 1.4996651 + 50 1.5000039 -0.87360069 0 1.3758558 1.4996377 + 60 1.4999432 -0.87350118 0 1.3758644 1.499577 + 70 1.499838 -0.87333517 0 1.3758726 1.4994719 + 80 1.4996772 -0.87308644 0 1.3758801 1.4993111 + 90 1.4994505 -0.87274307 0 1.3758836 1.4990844 + 100 1.4991498 -0.8722911 0 1.3758846 1.4987838 +Loop time of 2.94274 on 4 procs for 100 steps with 4096 atoms + +Performance: 14680.187 tau/day, 33.982 timesteps/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00048852 | 0.00049287 | 0.00050163 | 0.0 | 0.02 +Kspace | 2.9277 | 2.9279 | 2.928 | 0.0 | 99.49 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0081494 | 0.0083126 | 0.0084655 | 0.1 | 0.28 +Output | 0.00034475 | 0.00040233 | 0.00043464 | 0.0 | 0.01 +Modify | 0.0034239 | 0.0035145 | 0.0036252 | 0.1 | 0.12 +Other | | 0.00216 | | | 0.07 + +Nlocal: 1024 ave 1024 max 1024 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 2525 ave 2525 max 2525 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 16384 ave 16384 max 16384 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 65536 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.8 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.8 new file mode 100644 index 0000000000..70716bbcbd --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.8 @@ -0,0 +1,102 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (2 2 2) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (16 16 16) + 2 by 2 by 2 MPI processor grid + 4096 atoms + Time spent = 0.000422239 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 16 16 16 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.416 | 3.416 | 3.416 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.87394226 0 1.3755084 1.4996338 + 10 1.5000144 -0.87365638 0 1.375816 1.4996482 + 20 1.5000284 -0.87366526 0 1.3758281 1.4996622 + 30 1.5000364 -0.87366516 0 1.3758401 1.4996702 + 40 1.5000313 -0.8736496 0 1.375848 1.4996651 + 50 1.5000039 -0.87360069 0 1.3758558 1.4996377 + 60 1.4999432 -0.87350118 0 1.3758644 1.499577 + 70 1.499838 -0.87333517 0 1.3758726 1.4994719 + 80 1.4996772 -0.87308644 0 1.3758801 1.4993111 + 90 1.4994505 -0.87274307 0 1.3758836 1.4990844 + 100 1.4991498 -0.8722911 0 1.3758846 1.4987838 +Loop time of 1.75933 on 8 procs for 100 steps with 4096 atoms + +Performance: 24554.819 tau/day, 56.840 timesteps/s +99.4% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00030684 | 0.00031838 | 0.00032926 | 0.0 | 0.02 +Kspace | 1.7474 | 1.7477 | 1.748 | 0.0 | 99.34 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0068667 | 0.0072413 | 0.0075011 | 0.2 | 0.41 +Output | 0.00036955 | 0.00038695 | 0.00044942 | 0.0 | 0.02 +Modify | 0.0018206 | 0.0019438 | 0.0020213 | 0.1 | 0.11 +Other | | 0.001739 | | | 0.10 + +Nlocal: 512 ave 512 max 512 min +Histogram: 8 0 0 0 0 0 0 0 0 0 +Nghost: 1685 ave 1685 max 1685 min +Histogram: 8 0 0 0 0 0 0 0 0 0 +Neighs: 8192 ave 8192 max 8192 min +Histogram: 8 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 65536 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.1 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.1 new file mode 100644 index 0000000000..37d12bb37d --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.1 @@ -0,0 +1,105 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos direct 0.001 + +timestep 0.005 +thermo 1 +run 20 +Setting up ScaFaCoS with solver direct ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 10.3 | 10.3 | 10.3 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.00141207 + 1 18.780041 -10.770002 0 17.371889 0.017679155 + 2 65.289192 -11.084705 0 86.751149 0.06146194 + 3 121.92987 -7.0625759 0 175.64933 0.11478234 + 4 185.78164 -5.8777512 0 272.51604 0.17489112 + 5 286.36222 -4.382053 0 424.73173 0.26957567 + 6 481.42206 -4.3095567 0 717.1014 0.4532011 + 7 488.59167 -3.8685194 0 728.2861 0.45995044 + 8 497.85287 -3.0417966 0 742.99073 0.46866874 + 9 499.61615 -3.419003 0 745.2558 0.47032866 + 10 502.63684 -2.8360961 0 750.36521 0.47317227 + 11 504.4846 -2.7628105 0 753.20736 0.47491172 + 12 506.54485 -2.8460356 0 756.21142 0.47685119 + 13 508.27211 -2.730935 0 758.91482 0.4784772 + 14 510.57045 -2.6094877 0 762.48033 0.48064081 + 15 513.14798 -2.7150827 0 766.23717 0.48306726 + 16 515.78124 -2.3961811 0 770.50201 0.48554615 + 17 515.70265 -2.2982683 0 770.48215 0.48547216 + 18 515.7081 -2.1515983 0 770.63699 0.4854773 + 19 515.74906 -2.0581436 0 770.79182 0.48551586 + 20 515.70883 -1.8922577 0 770.89742 0.48547798 +Loop time of 0.52055 on 1 procs for 20 steps with 1000 atoms + +Performance: 16597.836 tau/day, 38.421 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00027752 | 0.00027752 | 0.00027752 | 0.0 | 0.05 +Kspace | 0.35879 | 0.35879 | 0.35879 | 0.0 | 68.93 +Neigh | 0.15946 | 0.15946 | 0.15946 | 0.0 | 30.63 +Comm | 0.00024056 | 0.00024056 | 0.00024056 | 0.0 | 0.05 +Output | 0.00034761 | 0.00034761 | 0.00034761 | 0.0 | 0.07 +Modify | 0.00071192 | 0.00071192 | 0.00071192 | 0.0 | 0.14 +Other | | 0.0007269 | | | 0.14 + +Nlocal: 1000 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 247817 ave 247817 max 247817 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.2 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.2 new file mode 100644 index 0000000000..7a22e62bce --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.2 @@ -0,0 +1,105 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos direct 0.001 + +timestep 0.005 +thermo 1 +run 20 +Setting up ScaFaCoS with solver direct ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.48 | 6.861 | 7.243 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.00141207 + 1 18.780041 -10.770002 0 17.371889 0.017679155 + 2 65.289192 -11.084705 0 86.751149 0.06146194 + 3 121.92987 -7.0625759 0 175.64933 0.11478234 + 4 185.78164 -5.8777512 0 272.51604 0.17489112 + 5 286.36222 -4.382053 0 424.73173 0.26957567 + 6 481.42206 -4.3095567 0 717.1014 0.4532011 + 7 488.59167 -3.8685194 0 728.2861 0.45995044 + 8 497.85287 -3.0417966 0 742.99073 0.46866874 + 9 499.61615 -3.419003 0 745.2558 0.47032866 + 10 502.63684 -2.8360961 0 750.36521 0.47317227 + 11 504.4846 -2.7628105 0 753.20736 0.47491172 + 12 506.54485 -2.8460356 0 756.21142 0.47685119 + 13 508.27211 -2.730935 0 758.91482 0.4784772 + 14 510.57045 -2.6094877 0 762.48033 0.48064081 + 15 513.14798 -2.7150827 0 766.23717 0.48306726 + 16 515.78124 -2.3961811 0 770.50201 0.48554615 + 17 515.70265 -2.2982683 0 770.48215 0.48547216 + 18 515.7081 -2.1515983 0 770.63699 0.4854773 + 19 515.74906 -2.0581436 0 770.79182 0.48551586 + 20 515.70883 -1.8922577 0 770.89742 0.48547798 +Loop time of 0.330519 on 2 procs for 20 steps with 1000 atoms + +Performance: 26140.700 tau/day, 60.511 timesteps/s +99.6% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0002749 | 0.00027692 | 0.00027895 | 0.0 | 0.08 +Kspace | 0.21565 | 0.24173 | 0.26782 | 5.3 | 73.14 +Neigh | 0.058644 | 0.084906 | 0.11117 | 9.0 | 25.69 +Comm | 0.002033 | 0.0022832 | 0.0025334 | 0.5 | 0.69 +Output | 0.00035667 | 0.0004549 | 0.00055313 | 0.0 | 0.14 +Modify | 0.0004704 | 0.00050521 | 0.00054002 | 0.0 | 0.15 +Other | | 0.0003613 | | | 0.11 + +Nlocal: 500 ave 516 max 484 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 456.5 ave 475 max 438 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 123908 ave 172139 max 75678 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.4 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.4 new file mode 100644 index 0000000000..51d0f8c47e --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.4 @@ -0,0 +1,105 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos direct 0.001 + +timestep 0.005 +thermo 1 +run 20 +Setting up ScaFaCoS with solver direct ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.837 | 5.123 | 5.6 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.00141207 + 1 18.780041 -10.770002 0 17.371889 0.017679155 + 2 65.289192 -11.084705 0 86.751149 0.06146194 + 3 121.92987 -7.0625759 0 175.64933 0.11478234 + 4 185.78164 -5.8777512 0 272.51604 0.17489112 + 5 286.36222 -4.382053 0 424.73173 0.26957567 + 6 481.42206 -4.3095567 0 717.1014 0.4532011 + 7 488.59167 -3.8685194 0 728.2861 0.45995044 + 8 497.85287 -3.0417966 0 742.99073 0.46866874 + 9 499.61615 -3.419003 0 745.2558 0.47032866 + 10 502.63684 -2.8360961 0 750.36521 0.47317227 + 11 504.4846 -2.7628105 0 753.20736 0.47491172 + 12 506.54485 -2.8460356 0 756.21142 0.47685119 + 13 508.27211 -2.730935 0 758.91482 0.4784772 + 14 510.57045 -2.6094877 0 762.48033 0.48064081 + 15 513.14798 -2.7150827 0 766.23717 0.48306726 + 16 515.78124 -2.3961811 0 770.50201 0.48554615 + 17 515.70265 -2.2982683 0 770.48215 0.48547216 + 18 515.7081 -2.1515983 0 770.63699 0.4854773 + 19 515.74906 -2.0581436 0 770.79182 0.48551586 + 20 515.70883 -1.8922577 0 770.89742 0.48547798 +Loop time of 0.197141 on 4 procs for 20 steps with 1000 atoms + +Performance: 43826.435 tau/day, 101.450 timesteps/s +99.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0002718 | 0.00027621 | 0.00028539 | 0.0 | 0.14 +Kspace | 0.12861 | 0.14654 | 0.16542 | 3.7 | 74.33 +Neigh | 0.027906 | 0.046895 | 0.064943 | 6.6 | 23.79 +Comm | 0.0022087 | 0.0024236 | 0.0026295 | 0.4 | 1.23 +Output | 0.0003252 | 0.00044608 | 0.0006001 | 0.0 | 0.23 +Modify | 0.00016618 | 0.0001756 | 0.00018811 | 0.0 | 0.09 +Other | | 0.0003839 | | | 0.19 + +Nlocal: 250 ave 259 max 238 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Nghost: 672.25 ave 683 max 663 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Neighs: 61954.2 ave 97157 max 25016 min +Histogram: 1 0 0 1 0 0 1 0 0 1 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.8 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.8 new file mode 100644 index 0000000000..90119a101b --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.8 @@ -0,0 +1,105 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos direct 0.001 + +timestep 0.005 +thermo 1 +run 20 +Setting up ScaFaCoS with solver direct ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.164 | 4.26 | 4.546 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.00141207 + 1 18.780041 -10.770002 0 17.371889 0.017679155 + 2 65.289192 -11.084705 0 86.751149 0.06146194 + 3 121.92987 -7.0625759 0 175.64933 0.11478234 + 4 185.78164 -5.8777512 0 272.51604 0.17489112 + 5 286.36222 -4.382053 0 424.73173 0.26957567 + 6 481.42206 -4.3095567 0 717.1014 0.4532011 + 7 488.59167 -3.8685194 0 728.2861 0.45995044 + 8 497.85287 -3.0417966 0 742.99073 0.46866874 + 9 499.61615 -3.419003 0 745.2558 0.47032866 + 10 502.63684 -2.8360961 0 750.36521 0.47317227 + 11 504.4846 -2.7628105 0 753.20736 0.47491172 + 12 506.54485 -2.8460356 0 756.21142 0.47685119 + 13 508.27211 -2.730935 0 758.91482 0.4784772 + 14 510.57045 -2.6094877 0 762.48033 0.48064081 + 15 513.14798 -2.7150827 0 766.23717 0.48306726 + 16 515.78124 -2.3961811 0 770.50201 0.48554615 + 17 515.70265 -2.2982683 0 770.48215 0.48547216 + 18 515.7081 -2.1515983 0 770.63699 0.4854773 + 19 515.74906 -2.0581436 0 770.79182 0.48551586 + 20 515.70883 -1.8922577 0 770.89742 0.48547798 +Loop time of 0.107014 on 8 procs for 20 steps with 1000 atoms + +Performance: 80736.875 tau/day, 186.891 timesteps/s +98.8% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00027704 | 0.00029281 | 0.00035691 | 0.0 | 0.27 +Kspace | 0.069458 | 0.07877 | 0.089146 | 2.5 | 73.61 +Neigh | 0.013525 | 0.024156 | 0.033524 | 4.7 | 22.57 +Comm | 0.002552 | 0.0029828 | 0.0033691 | 0.5 | 2.79 +Output | 0.00037909 | 0.00051123 | 0.00070429 | 0.0 | 0.48 +Modify | 8.9645e-05 | 9.5487e-05 | 0.000103 | 0.0 | 0.09 +Other | | 0.0002059 | | | 0.19 + +Nlocal: 125 ave 133 max 113 min +Histogram: 2 0 0 0 0 1 1 0 2 2 +Nghost: 773.625 ave 788 max 764 min +Histogram: 1 1 2 1 1 0 0 0 1 1 +Neighs: 30977.1 ave 50690 max 10447 min +Histogram: 1 1 1 0 1 1 0 0 2 1 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.1 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.1 new file mode 100644 index 0000000000..432ea72b67 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.1 @@ -0,0 +1,109 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ...3 + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 10.3 | 10.3 | 10.3 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417141 0 1.6235786 0.00141207 + 1 18.780412 -10.770009 0 17.372438 0.017679504 + 2 65.294131 -11.084501 0 86.758754 0.06146659 + 3 121.92555 -7.0612033 0 175.64423 0.11477827 + 4 185.71165 -5.8781334 0 272.41077 0.17482523 + 5 286.28339 -4.3800108 0 424.61565 0.26950146 + 6 481.28097 -4.3052012 0 716.89433 0.45306828 + 7 487.26022 -3.8672741 0 726.29216 0.45869703 + 8 493.65478 -3.0242687 0 736.71742 0.46471675 + 9 495.66203 -3.4336343 0 739.31592 0.46660633 + 10 498.41831 -2.8837072 0 743.99613 0.46920104 + 11 499.20944 -2.7724783 0 745.29287 0.46994579 + 12 500.97345 -2.8281484 0 747.88057 0.4716064 + 13 507.46412 -2.7752775 0 757.65971 0.47771658 + 14 525.35729 -2.5749814 0 784.67292 0.49456085 + 15 563.9578 -2.9982381 0 842.09253 0.5308986 + 16 645.47602 -2.5519203 0 964.69389 0.60763822 + 17 647.09276 -2.2568468 0 967.41166 0.60916019 + 18 647.12596 -2.2791003 0 967.43915 0.60919144 + 19 647.24862 -2.2495226 0 967.65253 0.60930691 + 20 647.51175 -2.0239179 0 968.27244 0.60955462 +Loop time of 0.644143 on 1 procs for 20 steps with 1000 atoms + +Performance: 13413.173 tau/day, 31.049 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00027657 | 0.00027657 | 0.00027657 | 0.0 | 0.04 +Kspace | 0.4788 | 0.4788 | 0.4788 | 0.0 | 74.33 +Neigh | 0.16279 | 0.16279 | 0.16279 | 0.0 | 25.27 +Comm | 0.00021696 | 0.00021696 | 0.00021696 | 0.0 | 0.03 +Output | 0.00054836 | 0.00054836 | 0.00054836 | 0.0 | 0.09 +Modify | 0.00075102 | 0.00075102 | 0.00075102 | 0.0 | 0.12 +Other | | 0.000757 | | | 0.12 + +Nlocal: 1000 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 244342 ave 244342 max 244342 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 244342 +Ave neighs/atom = 244.342 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.2 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.2 new file mode 100644 index 0000000000..4d4b1100e3 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.2 @@ -0,0 +1,109 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ...3 + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.48 | 6.861 | 7.243 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417141 0 1.6235786 0.00141207 + 1 18.780412 -10.770009 0 17.372438 0.017679504 + 2 65.294131 -11.084501 0 86.758754 0.06146659 + 3 121.92555 -7.0612033 0 175.64423 0.11477827 + 4 185.71165 -5.8781334 0 272.41077 0.17482523 + 5 286.28339 -4.3800108 0 424.61565 0.26950146 + 6 481.28097 -4.3052012 0 716.89433 0.45306828 + 7 487.26022 -3.8672741 0 726.29216 0.45869703 + 8 493.65478 -3.0242687 0 736.71742 0.46471675 + 9 495.66203 -3.4336343 0 739.31592 0.46660633 + 10 498.41831 -2.8837072 0 743.99613 0.46920104 + 11 499.20944 -2.7724783 0 745.29287 0.46994579 + 12 500.97345 -2.8281484 0 747.88057 0.4716064 + 13 507.46412 -2.7752775 0 757.65971 0.47771658 + 14 525.35729 -2.5749814 0 784.67292 0.49456085 + 15 563.9578 -2.9982381 0 842.09253 0.5308986 + 16 645.47602 -2.5519203 0 964.69389 0.60763822 + 17 647.09276 -2.2568468 0 967.41166 0.60916019 + 18 647.12596 -2.2791003 0 967.43915 0.60919144 + 19 647.24862 -2.2495226 0 967.65253 0.60930691 + 20 647.51175 -2.0239179 0 968.27244 0.60955462 +Loop time of 0.563049 on 2 procs for 20 steps with 1000 atoms + +Performance: 15345.024 tau/day, 35.521 timesteps/s +99.4% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00024986 | 0.00026596 | 0.00028205 | 0.0 | 0.05 +Kspace | 0.45103 | 0.47692 | 0.50281 | 3.7 | 84.70 +Neigh | 0.055771 | 0.081813 | 0.10785 | 9.1 | 14.53 +Comm | 0.0022206 | 0.0024507 | 0.0026808 | 0.5 | 0.44 +Output | 0.00050044 | 0.00061882 | 0.00073719 | 0.0 | 0.11 +Modify | 0.00029945 | 0.00044227 | 0.00058508 | 0.0 | 0.08 +Other | | 0.0005381 | | | 0.10 + +Nlocal: 500 ave 509 max 491 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 455.5 ave 467 max 444 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 122171 ave 171834 max 72508 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 244342 +Ave neighs/atom = 244.342 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.4 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.4 new file mode 100644 index 0000000000..9634a0174b --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.4 @@ -0,0 +1,109 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ...3 + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.837 | 5.123 | 5.6 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417141 0 1.6235786 0.00141207 + 1 18.780412 -10.770009 0 17.372438 0.017679504 + 2 65.294131 -11.084501 0 86.758754 0.06146659 + 3 121.92555 -7.0612033 0 175.64423 0.11477827 + 4 185.71165 -5.8781334 0 272.41077 0.17482523 + 5 286.28339 -4.3800108 0 424.61565 0.26950146 + 6 481.28097 -4.3052012 0 716.89433 0.45306828 + 7 487.26022 -3.8672741 0 726.29216 0.45869703 + 8 493.65478 -3.0242687 0 736.71742 0.46471675 + 9 495.66203 -3.4336343 0 739.31592 0.46660633 + 10 498.41831 -2.8837072 0 743.99613 0.46920104 + 11 499.20944 -2.7724783 0 745.29287 0.46994579 + 12 500.97345 -2.8281484 0 747.88057 0.4716064 + 13 507.46412 -2.7752775 0 757.65971 0.47771658 + 14 525.35729 -2.5749814 0 784.67292 0.49456085 + 15 563.9578 -2.9982381 0 842.09253 0.5308986 + 16 645.47602 -2.5519203 0 964.69389 0.60763822 + 17 647.09276 -2.2568468 0 967.41166 0.60916019 + 18 647.12596 -2.2791003 0 967.43915 0.60919144 + 19 647.24862 -2.2495226 0 967.65253 0.60930691 + 20 647.51175 -2.0239179 0 968.27244 0.60955462 +Loop time of 0.508149 on 4 procs for 20 steps with 1000 atoms + +Performance: 17002.884 tau/day, 39.359 timesteps/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00024509 | 0.00026453 | 0.00028753 | 0.0 | 0.05 +Kspace | 0.43933 | 0.45836 | 0.47734 | 2.2 | 90.20 +Neigh | 0.025956 | 0.045068 | 0.064242 | 7.2 | 8.87 +Comm | 0.002799 | 0.0030612 | 0.0033174 | 0.4 | 0.60 +Output | 0.00047231 | 0.00058293 | 0.00076509 | 0.0 | 0.11 +Modify | 0.00016856 | 0.0002442 | 0.00042009 | 0.0 | 0.05 +Other | | 0.0005655 | | | 0.11 + +Nlocal: 250 ave 259 max 240 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 668.75 ave 679 max 657 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Neighs: 61085.5 ave 95363 max 24964 min +Histogram: 1 0 0 1 0 0 0 1 0 1 + +Total # of neighbors = 244342 +Ave neighs/atom = 244.342 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.8 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.8 new file mode 100644 index 0000000000..a6a020b031 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.8 @@ -0,0 +1,109 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ...3 + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.164 | 4.26 | 4.546 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417141 0 1.6235786 0.00141207 + 1 18.780412 -10.770009 0 17.372438 0.017679504 + 2 65.294131 -11.084501 0 86.758754 0.06146659 + 3 121.92555 -7.0612033 0 175.64423 0.11477827 + 4 185.71165 -5.8781334 0 272.41077 0.17482523 + 5 286.28339 -4.3800108 0 424.61565 0.26950146 + 6 481.28097 -4.3052012 0 716.89433 0.45306828 + 7 487.26022 -3.8672741 0 726.29216 0.45869703 + 8 493.65478 -3.0242687 0 736.71742 0.46471675 + 9 495.66203 -3.4336343 0 739.31592 0.46660633 + 10 498.41831 -2.8837072 0 743.99613 0.46920104 + 11 499.20944 -2.7724783 0 745.29287 0.46994579 + 12 500.97345 -2.8281484 0 747.88057 0.4716064 + 13 507.46412 -2.7752775 0 757.65971 0.47771658 + 14 525.35729 -2.5749814 0 784.67292 0.49456085 + 15 563.9578 -2.9982381 0 842.09253 0.5308986 + 16 645.47602 -2.5519203 0 964.69389 0.60763822 + 17 647.09276 -2.2568468 0 967.41166 0.60916019 + 18 647.12596 -2.2791003 0 967.43915 0.60919144 + 19 647.24862 -2.2495226 0 967.65253 0.60930691 + 20 647.51175 -2.0239179 0 968.27244 0.60955462 +Loop time of 0.494261 on 8 procs for 20 steps with 1000 atoms + +Performance: 17480.630 tau/day, 40.464 timesteps/s +99.3% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00027752 | 0.00030088 | 0.0003736 | 0.0 | 0.06 +Kspace | 0.45443 | 0.46295 | 0.47316 | 1.0 | 93.67 +Neigh | 0.014408 | 0.02515 | 0.034048 | 4.6 | 5.09 +Comm | 0.0036254 | 0.0041741 | 0.0048032 | 0.6 | 0.84 +Output | 0.00072742 | 0.0009357 | 0.0012984 | 0.0 | 0.19 +Modify | 0.00011778 | 0.00015756 | 0.00019836 | 0.0 | 0.03 +Other | | 0.000589 | | | 0.12 + +Nlocal: 125 ave 137 max 111 min +Histogram: 1 1 0 0 0 2 2 1 0 1 +Nghost: 768.875 ave 788 max 761 min +Histogram: 4 0 2 0 0 0 1 0 0 1 +Neighs: 30542.8 ave 48077 max 10011 min +Histogram: 1 1 1 0 1 1 0 0 0 3 + +Total # of neighbors = 244342 +Ave neighs/atom = 244.342 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.1 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.1 new file mode 100644 index 0000000000..f9192cdfaf --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.1 @@ -0,0 +1,107 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance potential + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 10.3 | 10.3 | 10.3 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.00141207 + 1 18.780041 -10.770002 0 17.371889 0.017679155 + 2 65.289192 -11.084705 0 86.751149 0.06146194 + 3 121.92987 -7.0625759 0 175.64933 0.11478234 + 4 185.78164 -5.8777511 0 272.51603 0.17489112 + 5 286.36221 -4.3820531 0 424.73172 0.26957566 + 6 481.42203 -4.3095567 0 717.10136 0.45320108 + 7 488.59165 -3.8685193 0 728.28607 0.45995042 + 8 497.85288 -3.0417938 0 742.99075 0.46866875 + 9 499.61619 -3.4190063 0 745.25585 0.47032869 + 10 502.63691 -2.8360951 0 750.36531 0.47317234 + 11 504.4847 -2.7628089 0 753.20751 0.47491181 + 12 506.54494 -2.8460319 0 756.21157 0.47685128 + 13 508.2722 -2.7309328 0 758.91497 0.47847729 + 14 510.57053 -2.6094792 0 762.48045 0.48064089 + 15 513.14804 -2.7150819 0 766.23726 0.48306731 + 16 515.78127 -2.3961749 0 770.50206 0.48554618 + 17 515.70267 -2.2982581 0 770.48219 0.48547219 + 18 515.70813 -2.1516075 0 770.63702 0.48547732 + 19 515.74908 -2.0581483 0 770.79185 0.48551588 + 20 515.70881 -1.892235 0 770.89742 0.48547797 +Loop time of 1.34132 on 1 procs for 20 steps with 1000 atoms + +Performance: 6441.409 tau/day, 14.911 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00028849 | 0.00028849 | 0.00028849 | 0.0 | 0.02 +Kspace | 1.1744 | 1.1744 | 1.1744 | 0.0 | 87.56 +Neigh | 0.16435 | 0.16435 | 0.16435 | 0.0 | 12.25 +Comm | 0.00021219 | 0.00021219 | 0.00021219 | 0.0 | 0.02 +Output | 0.00051928 | 0.00051928 | 0.00051928 | 0.0 | 0.04 +Modify | 0.00079513 | 0.00079513 | 0.00079513 | 0.0 | 0.06 +Other | | 0.0007439 | | | 0.06 + +Nlocal: 1000 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 247817 ave 247817 max 247817 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.2 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.2 new file mode 100644 index 0000000000..4db3e28dbf --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.2 @@ -0,0 +1,107 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance potential + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.48 | 6.861 | 7.243 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.00141207 + 1 18.780041 -10.770002 0 17.371889 0.017679155 + 2 65.289192 -11.084705 0 86.751149 0.06146194 + 3 121.92987 -7.0625759 0 175.64933 0.11478234 + 4 185.78164 -5.8777511 0 272.51603 0.17489112 + 5 286.36221 -4.3820531 0 424.73172 0.26957566 + 6 481.42203 -4.3095567 0 717.10136 0.45320108 + 7 488.59165 -3.8685193 0 728.28607 0.45995042 + 8 497.85288 -3.0417938 0 742.99075 0.46866875 + 9 499.61619 -3.4190063 0 745.25585 0.47032869 + 10 502.63691 -2.8360951 0 750.36531 0.47317234 + 11 504.4847 -2.7628089 0 753.20751 0.47491181 + 12 506.54494 -2.8460319 0 756.21157 0.47685128 + 13 508.2722 -2.7309328 0 758.91497 0.47847729 + 14 510.57053 -2.6094792 0 762.48045 0.48064089 + 15 513.14804 -2.7150819 0 766.23726 0.48306731 + 16 515.78127 -2.3961749 0 770.50206 0.48554618 + 17 515.70267 -2.2982581 0 770.48219 0.48547219 + 18 515.70813 -2.1516075 0 770.63702 0.48547732 + 19 515.74908 -2.0581483 0 770.79185 0.48551588 + 20 515.70881 -1.892235 0 770.89742 0.48547797 +Loop time of 0.858675 on 2 procs for 20 steps with 1000 atoms + +Performance: 10062.016 tau/day, 23.292 timesteps/s +100.0% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00026321 | 0.00026667 | 0.00027013 | 0.0 | 0.03 +Kspace | 0.74531 | 0.77182 | 0.79833 | 3.0 | 89.89 +Neigh | 0.055915 | 0.082578 | 0.10924 | 9.3 | 9.62 +Comm | 0.0021703 | 0.002401 | 0.0026317 | 0.5 | 0.28 +Output | 0.00048423 | 0.00061262 | 0.000741 | 0.0 | 0.07 +Modify | 0.00034285 | 0.0004636 | 0.00058436 | 0.0 | 0.05 +Other | | 0.0005329 | | | 0.06 + +Nlocal: 500 ave 516 max 484 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 456.5 ave 475 max 438 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 123908 ave 172139 max 75678 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.4 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.4 new file mode 100644 index 0000000000..3a2d653106 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.4 @@ -0,0 +1,107 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance potential + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.837 | 5.123 | 5.6 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.00141207 + 1 18.780041 -10.770002 0 17.371889 0.017679155 + 2 65.289192 -11.084705 0 86.751149 0.06146194 + 3 121.92987 -7.0625759 0 175.64933 0.11478234 + 4 185.78164 -5.8777511 0 272.51603 0.17489112 + 5 286.36221 -4.3820531 0 424.73172 0.26957566 + 6 481.42203 -4.3095567 0 717.10136 0.45320108 + 7 488.59165 -3.8685193 0 728.28607 0.45995042 + 8 497.85288 -3.0417938 0 742.99075 0.46866875 + 9 499.61619 -3.4190063 0 745.25585 0.47032869 + 10 502.63691 -2.8360951 0 750.36531 0.47317234 + 11 504.4847 -2.7628089 0 753.20751 0.47491181 + 12 506.54494 -2.8460319 0 756.21157 0.47685128 + 13 508.2722 -2.7309328 0 758.91497 0.47847729 + 14 510.57053 -2.6094792 0 762.48045 0.48064089 + 15 513.14804 -2.7150819 0 766.23726 0.48306731 + 16 515.78127 -2.3961749 0 770.50206 0.48554618 + 17 515.70267 -2.2982581 0 770.48219 0.48547219 + 18 515.70813 -2.1516075 0 770.63702 0.48547732 + 19 515.74908 -2.0581483 0 770.79185 0.48551588 + 20 515.70881 -1.892235 0 770.89742 0.48547797 +Loop time of 0.540235 on 4 procs for 20 steps with 1000 atoms + +Performance: 15993.051 tau/day, 37.021 timesteps/s +99.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00025725 | 0.00028253 | 0.00031233 | 0.0 | 0.05 +Kspace | 0.47152 | 0.48989 | 0.50709 | 1.9 | 90.68 +Neigh | 0.028196 | 0.045694 | 0.064338 | 6.3 | 8.46 +Comm | 0.0026579 | 0.003028 | 0.0033965 | 0.5 | 0.56 +Output | 0.00049663 | 0.00064254 | 0.00084853 | 0.0 | 0.12 +Modify | 0.00019264 | 0.0002293 | 0.00030923 | 0.0 | 0.04 +Other | | 0.0004709 | | | 0.09 + +Nlocal: 250 ave 259 max 238 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Nghost: 672.25 ave 683 max 663 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Neighs: 61954.2 ave 97157 max 25016 min +Histogram: 1 0 0 1 0 0 1 0 0 1 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.8 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.8 new file mode 100644 index 0000000000..08e68531a9 --- /dev/null +++ b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.8 @@ -0,0 +1,107 @@ +LAMMPS (29 Jun 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance potential + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.164 | 4.26 | 4.546 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.00141207 + 1 18.780041 -10.770002 0 17.371889 0.017679155 + 2 65.289192 -11.084705 0 86.751149 0.06146194 + 3 121.92987 -7.0625759 0 175.64933 0.11478234 + 4 185.78164 -5.8777511 0 272.51603 0.17489112 + 5 286.36221 -4.3820531 0 424.73172 0.26957566 + 6 481.42203 -4.3095567 0 717.10136 0.45320108 + 7 488.59165 -3.8685193 0 728.28607 0.45995042 + 8 497.85288 -3.0417938 0 742.99075 0.46866875 + 9 499.61619 -3.4190063 0 745.25585 0.47032869 + 10 502.63691 -2.8360951 0 750.36531 0.47317234 + 11 504.4847 -2.7628089 0 753.20751 0.47491181 + 12 506.54494 -2.8460319 0 756.21157 0.47685128 + 13 508.2722 -2.7309328 0 758.91497 0.47847729 + 14 510.57053 -2.6094792 0 762.48045 0.48064089 + 15 513.14804 -2.7150819 0 766.23726 0.48306731 + 16 515.78127 -2.3961749 0 770.50206 0.48554618 + 17 515.70267 -2.2982581 0 770.48219 0.48547219 + 18 515.70813 -2.1516075 0 770.63702 0.48547732 + 19 515.74908 -2.0581483 0 770.79185 0.48551588 + 20 515.70881 -1.892235 0 770.89742 0.48547797 +Loop time of 0.317433 on 8 procs for 20 steps with 1000 atoms + +Performance: 27218.342 tau/day, 63.005 timesteps/s +99.6% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00027013 | 0.00028479 | 0.00029206 | 0.0 | 0.09 +Kspace | 0.27742 | 0.28666 | 0.29702 | 1.4 | 90.31 +Neigh | 0.014795 | 0.025382 | 0.03481 | 4.8 | 8.00 +Comm | 0.0034907 | 0.0038758 | 0.0042439 | 0.5 | 1.22 +Output | 0.00055361 | 0.00073573 | 0.0010755 | 0.0 | 0.23 +Modify | 0.00012279 | 0.00014156 | 0.00016165 | 0.0 | 0.04 +Other | | 0.0003535 | | | 0.11 + +Nlocal: 125 ave 133 max 113 min +Histogram: 2 0 0 0 0 1 1 0 2 2 +Nghost: 773.625 ave 788 max 764 min +Histogram: 1 1 2 1 1 0 0 0 1 1 +Neighs: 30977.1 ave 50690 max 10447 min +Histogram: 1 1 1 0 1 1 0 0 2 1 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 -- GitLab From 1b7af5d93bd77d791a1ae6b3fef6cbb373ea2fcb Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 23 Jul 2018 16:24:16 -0600 Subject: [PATCH 317/675] added the computation of the global virial by ScaFaCoS --- src/USER-SCAFACOS/scafacos.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index 352a298b86..e7dbcb4523 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -154,7 +154,11 @@ void Scafacos::compute(int eflag, int vflag) const double qscale = qqrd2e; if (eflag || vflag) ev_setup(eflag,vflag); - else eflag_atom = 0; + else + { + eflag_atom = 0; + vflag_global = 0; + } // if simulation box has changed, call fcs_tune() @@ -175,9 +179,19 @@ void Scafacos::compute(int eflag, int vflag) } + if (vflag_global) + { + fcs_set_compute_virial(fcs,1); + } + result = fcs_run(fcs,nlocal,&x[0][0],q,&efield[0][0],epot); check_result(result); + if (vflag_global) + { + fcs_get_virial(fcs,virial); + } + // apply Efield to each particle // accumulate total energy -- GitLab From ae2d43031bfd2c7b345478091fe3a2b8879b68f0 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 23 Jul 2018 16:25:02 -0600 Subject: [PATCH 318/675] added pressure output, to compare results with global virial (with internal PPPM) --- examples/USER/scafacos/in.scafacos.cw.ewald | 2 +- examples/USER/scafacos/in.scafacos.cw.fmm | 2 +- examples/USER/scafacos/in.scafacos.cw.p2nfft | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/USER/scafacos/in.scafacos.cw.ewald b/examples/USER/scafacos/in.scafacos.cw.ewald index f8444dd01f..55ebd0e7b3 100644 --- a/examples/USER/scafacos/in.scafacos.cw.ewald +++ b/examples/USER/scafacos/in.scafacos.cw.ewald @@ -18,7 +18,7 @@ kspace_modify scafacos tolerance field timestep 0.005 -thermo_style custom step atoms cpu temp pe ke etotal ecoul +thermo_style custom step atoms cpu temp pe ke etotal ecoul press run_style verlet diff --git a/examples/USER/scafacos/in.scafacos.cw.fmm b/examples/USER/scafacos/in.scafacos.cw.fmm index 24a2739581..c63e241d63 100644 --- a/examples/USER/scafacos/in.scafacos.cw.fmm +++ b/examples/USER/scafacos/in.scafacos.cw.fmm @@ -24,7 +24,7 @@ kspace_modify scafacos fmm_tuning 1 timestep 0.005 -thermo_style custom step atoms cpu temp pe ke etotal ecoul +thermo_style custom step atoms cpu temp pe ke etotal ecoul press run_style verlet diff --git a/examples/USER/scafacos/in.scafacos.cw.p2nfft b/examples/USER/scafacos/in.scafacos.cw.p2nfft index 7a2391bc77..96be1b7d3c 100644 --- a/examples/USER/scafacos/in.scafacos.cw.p2nfft +++ b/examples/USER/scafacos/in.scafacos.cw.p2nfft @@ -18,7 +18,7 @@ kspace_modify scafacos tolerance field timestep 0.005 -thermo_style custom step atoms cpu temp pe ke etotal ecoul +thermo_style custom step atoms cpu temp pe ke etotal ecoul press run_style verlet -- GitLab From eee0df45dd1307223ddde73ec74b42feb4729e7f Mon Sep 17 00:00:00 2001 From: Marshall McDonnell Date: Tue, 24 Jul 2018 09:26:06 -0400 Subject: [PATCH 319/675] Updated fix gcmc docs for tail correction note --- doc/src/fix_gcmc.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_gcmc.txt b/doc/src/fix_gcmc.txt index 38f0fb95ce..191bc32b14 100644 --- a/doc/src/fix_gcmc.txt +++ b/doc/src/fix_gcmc.txt @@ -349,7 +349,7 @@ in the context of NVT dynamics. NOTE: If the density of the cell is initially very small or zero, and increases to a much larger density after a period of equilibration, then certain quantities that are only calculated once at the start -(kspace parameters, tail corrections) may no longer be accurate. The +(kspace parameters) may no longer be accurate. The solution is to start a new simulation after the equilibrium density has been reached. -- GitLab From 8495fb62f400762a881e3d256cdb3dc995df5657 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 24 Jul 2018 10:33:12 -0400 Subject: [PATCH 320/675] Add preliminary cmake support --- cmake/CMakeLists.txt | 28 +++++++++++++++++++++++++++- cmake/Modules/FindZMQ.cmake | 8 ++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 cmake/Modules/FindZMQ.cmake diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index bf57398c71..288b8b2476 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -154,7 +154,7 @@ if(ENABLE_TESTING) endif(ENABLE_TESTING) set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR - KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ REAX REPLICA RIGID SHOCK SPIN SNAP + KSPACE MANYBODY MC MEAM MISC MOLECULE MESSAGE PERI QEQ REAX REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC @@ -426,6 +426,32 @@ if(PKG_KIM) include_directories(${KIM_INCLUDE_DIRS}) endif() +if(PKG_MESSAGE) + option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF) + file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.F + ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.c ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.cpp) + add_library(cslib STATIC ${cslib_SOURCES}) + + if(BUILD_MPI) + target_compile_definitions(cslib PRIVATE -DMPI_YES) + else() + target_compile_definitions(cslib PRIVATE -DMPI_NO) + endif() + + if(MESSAGE_ZMQ) + target_compile_definitions(cslib PRIVATE -DZMQ_YES) + find_package(ZMQ REQUIRED) + target_include_directories(cslib PRIVATE ${ZMQ_INCLUDE_DIRS}) + target_link_libraries(cslib PUBLIC ${ZMQ_LIBRARIES}) + else() + target_compile_definitions(cslib PRIVATE -DZMQ_NO) + target_include_directories(cslib PRIVATE ${LAMMPS_SOURCE_DIR}/message/cslib/src/STUBS_ZMQ) + endif() + + list(APPEND LAMMPS_LINK_LIBS cslib) + include_directories(${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src) +endif() + if(PKG_MSCG) find_package(GSL REQUIRED) option(DOWNLOAD_MSCG "Download latte (instead of using the system's one)" OFF) diff --git a/cmake/Modules/FindZMQ.cmake b/cmake/Modules/FindZMQ.cmake new file mode 100644 index 0000000000..608ccda777 --- /dev/null +++ b/cmake/Modules/FindZMQ.cmake @@ -0,0 +1,8 @@ +find_path(ZMQ_INCLUDE_DIR zmq.h) +find_library(ZMQ_LIBRARY NAMES zmq) + +set(ZMQ_LIBRARIES ${ZMQ_LIBRARY}) +set(ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(ZMQ DEFAULT_MSG ZMQ_LIBRARY ZMQ_INCLUDE_DIR) -- GitLab From 57ad197b7d2a3e0adeab565f9dc74d84650d9412 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 24 Jul 2018 10:48:06 -0400 Subject: [PATCH 321/675] port nh fixes to KOKKOS --- src/KOKKOS/fix_nh_kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/fix_nh_kokkos.cpp b/src/KOKKOS/fix_nh_kokkos.cpp index 679690ea82..347177b7f4 100644 --- a/src/KOKKOS/fix_nh_kokkos.cpp +++ b/src/KOKKOS/fix_nh_kokkos.cpp @@ -148,7 +148,7 @@ void FixNHKokkos::setup(int vflag) if (pstat_flag) { double kt = boltz * t_target; - double nkt = atom->natoms * kt; + double nkt = (atom->natoms + 1) * kt; for (int i = 0; i < 3; i++) if (p_flag[i]) -- GitLab From e37ee02eedbfc5ee117caa2e8217f11737270dbf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 24 Jul 2018 11:19:00 -0400 Subject: [PATCH 322/675] port nh fixes to USER-BOCS package --- src/USER-BOCS/fix_bocs.cpp | 41 ++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/src/USER-BOCS/fix_bocs.cpp b/src/USER-BOCS/fix_bocs.cpp index 37e128f556..7fb8a27110 100644 --- a/src/USER-BOCS/fix_bocs.cpp +++ b/src/USER-BOCS/fix_bocs.cpp @@ -846,7 +846,7 @@ void FixBocs::setup(int vflag) if (pstat_flag) { double kt = boltz * t_target; - double nkt = atom->natoms * kt; + double nkt = (atom->natoms + 1) * kt; for (int i = 0; i < 3; i++) if (p_flag[i]) @@ -1508,7 +1508,7 @@ double FixBocs::compute_scalar() double volume; double energy; double kt = boltz * t_target; - double lkt_press = kt; + double lkt_press = 0.0; int ich; if (dimension == 3) volume = domain->xprd * domain->yprd * domain->zprd; else volume = domain->xprd * domain->yprd; @@ -1539,15 +1539,21 @@ double FixBocs::compute_scalar() // sum is over barostatted dimensions if (pstat_flag) { - for (i = 0; i < 3; i++) - if (p_flag[i]) + for (i = 0; i < 3; i++) { + if (p_flag[i]) { energy += 0.5*omega_dot[i]*omega_dot[i]*omega_mass[i] + p_hydro*(volume-vol0) / (pdim*nktv2p); + lkt_press += kt; + } + } if (pstyle == TRICLINIC) { - for (i = 3; i < 6; i++) - if (p_flag[i]) + for (i = 3; i < 6; i++) { + if (p_flag[i]) { energy += 0.5*omega_dot[i]*omega_dot[i]*omega_mass[i]; + lkt_press += kt; + } + } } // extra contributions from thermostat chain for barostat @@ -1880,15 +1886,14 @@ void FixBocs::nhc_temp_integrate() void FixBocs::nhc_press_integrate() { - int ich,i; + int ich,i,pdof; double expfac,factor_etap,kecurrent; double kt = boltz * t_target; - double lkt_press = kt; // Update masses, to preserve initial freq, if flag set if (omega_mass_flag) { - double nkt = atom->natoms * kt; + double nkt = (atom->natoms + 1) * kt; for (int i = 0; i < 3; i++) if (p_flag[i]) omega_mass[i] = nkt/(p_freq[i]*p_freq[i]); @@ -1912,14 +1917,24 @@ void FixBocs::nhc_press_integrate() } kecurrent = 0.0; - for (i = 0; i < 3; i++) - if (p_flag[i]) kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + pdof = 0; + for (i = 0; i < 3; i++) { + if (p_flag[i]) { + kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + pdof++; + } + } if (pstyle == TRICLINIC) { - for (i = 3; i < 6; i++) - if (p_flag[i]) kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + for (i = 3; i < 6; i++) { + if (p_flag[i]) { + kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + pdof++; + } + } } + double lkt_press = pdof * kt; etap_dotdot[0] = (kecurrent - lkt_press)/etap_mass[0]; double ncfac = 1.0/nc_pchain; -- GitLab From 7702114e252d2ab1ab9691668ea400a68b141b38 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 24 Jul 2018 13:11:58 -0400 Subject: [PATCH 323/675] fix typo in pair_atm.txt --- doc/src/pair_atm.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/pair_atm.txt b/doc/src/pair_atm.txt index e442c32814..afe08c2a9b 100644 --- a/doc/src/pair_atm.txt +++ b/doc/src/pair_atm.txt @@ -88,7 +88,7 @@ pair_coeff 2 3 4 0.1 :pre Note that for a simulation with a single atom type, only a single entry is required, e.g. -pair_coeff 1 1 1 0.25 :per +pair_coeff 1 1 1 0.25 :pre For a simulation with two atom types, four pair_coeff commands will specify all possible nu values: -- GitLab From b08a2fcd3b997cb3930dfd7fb98d23aa78157a6c Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 24 Jul 2018 11:36:12 -0600 Subject: [PATCH 324/675] mended un-done changes from Git master --- doc/src/Section_commands.txt | 6 +++++- doc/src/lammps.book | 7 +++++-- src/domain.cpp | 1 + 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index ec0c0dc454..433d761a90 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -681,6 +681,8 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. "vector"_fix_vector.html, "viscosity"_fix_viscosity.html, "viscous"_fix_viscous.html, +"wall/body/polygon"_fix_wall_body_polygon.html, +"wall/body/polyhedron"_fix_wall_body_polyhedron.html, "wall/colloid"_fix_wall.html, "wall/gran"_fix_wall_gran.html, "wall/gran/region"_fix_wall_gran_region.html, @@ -933,7 +935,9 @@ KOKKOS, o = USER-OMP, t = OPT. "airebo (oi)"_pair_airebo.html, "airebo/morse (oi)"_pair_airebo.html, "beck (go)"_pair_beck.html, -"body"_pair_body.html, +"body/nparticle"_pair_body_nparticle.html, +"body/rounded/polygon"_pair_body_rounded/polygon.html, +"body/rounded/polyhedron"_pair_body_rounded/polyhedron.html, "bop"_pair_bop.html, "born (go)"_pair_born.html, "born/coul/dsf"_pair_born.html, diff --git a/doc/src/lammps.book b/doc/src/lammps.book index a75f2469ca..2d586f195f 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -144,7 +144,7 @@ fix_bond_break.html fix_bond_create.html fix_bond_react.html fix_bond_swap.html -fix_box_relax.htmlf +fix_box_relax.html fix_client_md.html fix_cmap.html fix_colvars.html @@ -288,6 +288,8 @@ fix_vector.html fix_viscosity.html fix_viscous.html fix_wall.html +fix_wall_body_polygon.html +fix_wall_body_polyhedron.html fix_wall_ees.html fix_wall_gran.html fix_wall_gran_region.html @@ -429,8 +431,9 @@ pair_agni.html pair_airebo.html pair_awpmd.html pair_beck.html -pair_body.html +pair_body_nparticle.html pair_body_rounded_polygon.html +pair_body_rounded_polyhedron.html pair_bop.html pair_born.html pair_brownian.html diff --git a/src/domain.cpp b/src/domain.cpp index c00a716613..053959f937 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -1208,6 +1208,7 @@ int Domain::closest_image(double *pos, int j) /* ---------------------------------------------------------------------- find and return Xj image = periodic image of Xj that is closest to Xi for triclinic, add/subtract tilt factors in other dims as needed + called by ServerMD class ------------------------------------------------------------------------- */ void Domain::closest_image(double *xi, double *xj, double *xjimage) -- GitLab From c2c654c87b7979dea6af1ee4cdbb2bce70576ef7 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 24 Jul 2018 11:44:15 -0600 Subject: [PATCH 325/675] CMake additions to new MESSAGE package --- cmake/CMakeLists.txt | 28 +++++++++++++++++++++++++++- cmake/Modules/FindZMQ.cmake | 8 ++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 cmake/Modules/FindZMQ.cmake diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index bf57398c71..288b8b2476 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -154,7 +154,7 @@ if(ENABLE_TESTING) endif(ENABLE_TESTING) set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR - KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ REAX REPLICA RIGID SHOCK SPIN SNAP + KSPACE MANYBODY MC MEAM MISC MOLECULE MESSAGE PERI QEQ REAX REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC @@ -426,6 +426,32 @@ if(PKG_KIM) include_directories(${KIM_INCLUDE_DIRS}) endif() +if(PKG_MESSAGE) + option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF) + file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.F + ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.c ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.cpp) + add_library(cslib STATIC ${cslib_SOURCES}) + + if(BUILD_MPI) + target_compile_definitions(cslib PRIVATE -DMPI_YES) + else() + target_compile_definitions(cslib PRIVATE -DMPI_NO) + endif() + + if(MESSAGE_ZMQ) + target_compile_definitions(cslib PRIVATE -DZMQ_YES) + find_package(ZMQ REQUIRED) + target_include_directories(cslib PRIVATE ${ZMQ_INCLUDE_DIRS}) + target_link_libraries(cslib PUBLIC ${ZMQ_LIBRARIES}) + else() + target_compile_definitions(cslib PRIVATE -DZMQ_NO) + target_include_directories(cslib PRIVATE ${LAMMPS_SOURCE_DIR}/message/cslib/src/STUBS_ZMQ) + endif() + + list(APPEND LAMMPS_LINK_LIBS cslib) + include_directories(${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src) +endif() + if(PKG_MSCG) find_package(GSL REQUIRED) option(DOWNLOAD_MSCG "Download latte (instead of using the system's one)" OFF) diff --git a/cmake/Modules/FindZMQ.cmake b/cmake/Modules/FindZMQ.cmake new file mode 100644 index 0000000000..608ccda777 --- /dev/null +++ b/cmake/Modules/FindZMQ.cmake @@ -0,0 +1,8 @@ +find_path(ZMQ_INCLUDE_DIR zmq.h) +find_library(ZMQ_LIBRARY NAMES zmq) + +set(ZMQ_LIBRARIES ${ZMQ_LIBRARY}) +set(ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(ZMQ DEFAULT_MSG ZMQ_LIBRARY ZMQ_INCLUDE_DIR) -- GitLab From ab1cc706cc305ab1bdb54f12efa793a7ba94ae1f Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 24 Jul 2018 11:55:56 -0600 Subject: [PATCH 326/675] change syntax of standard C include files --- examples/COUPLE/lammps_mc/mc.cpp | 13 ++++++------- src/MESSAGE/fix_client_md.cpp | 7 ++++--- src/MESSAGE/message.cpp | 2 +- src/MESSAGE/server.cpp | 2 +- src/MESSAGE/server_md.cpp | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/examples/COUPLE/lammps_mc/mc.cpp b/examples/COUPLE/lammps_mc/mc.cpp index 24bb96641d..e62a786ac8 100644 --- a/examples/COUPLE/lammps_mc/mc.cpp +++ b/examples/COUPLE/lammps_mc/mc.cpp @@ -11,17 +11,16 @@ // mode = file, zmq // modearg = filename for file, localhost:5555 for zmq -#include -#include -#include -#include +#include +#include +#include +#include +#include "mc.h" +#include "random_park.h" #include "cslib.h" using namespace CSLIB_NS; -#include "mc.h" -#include "random_park.h" - void error(const char *); CSlib *cs_create(char *, char *); diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp index 20b56e031d..9ca6df4edc 100644 --- a/src/MESSAGE/fix_client_md.cpp +++ b/src/MESSAGE/fix_client_md.cpp @@ -14,14 +14,15 @@ #include #include #include "fix_client_md.h" -#include "cslib.h" #include "atom.h" +#include "comm.h" #include "domain.h" #include "memory.h" #include "error.h" -#include "comm.h" -#include "update.h" +// CSlib interface + +#include "cslib.h" using namespace LAMMPS_NS; using namespace CSLIB_NS; diff --git a/src/MESSAGE/message.cpp b/src/MESSAGE/message.cpp index 67e0a49046..a6ecf5cd60 100644 --- a/src/MESSAGE/message.cpp +++ b/src/MESSAGE/message.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include +#include #include "message.h" #include "error.h" diff --git a/src/MESSAGE/server.cpp b/src/MESSAGE/server.cpp index cbf769be74..c8de6de466 100644 --- a/src/MESSAGE/server.cpp +++ b/src/MESSAGE/server.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include +#include #include "server.h" #include "error.h" diff --git a/src/MESSAGE/server_md.cpp b/src/MESSAGE/server_md.cpp index 88fe1abe5f..9783383553 100644 --- a/src/MESSAGE/server_md.cpp +++ b/src/MESSAGE/server_md.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "mpi.h" +#include #include #include "server_md.h" #include "atom.h" -- GitLab From 81abd8bc0a3bc7eec25ce4a1a634e148ea69a05a Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Tue, 24 Jul 2018 11:59:44 -0600 Subject: [PATCH 327/675] extended scafacos documentation --- doc/src/kspace_modify.txt | 34 ++++++++++++++++++++++++++++------ doc/src/kspace_style.txt | 29 ++++++++++++++++++----------- 2 files changed, 46 insertions(+), 17 deletions(-) diff --git a/doc/src/kspace_modify.txt b/doc/src/kspace_modify.txt index fbc569306c..d21bb379e7 100644 --- a/doc/src/kspace_modify.txt +++ b/doc/src/kspace_modify.txt @@ -45,6 +45,8 @@ keyword = {collective} or {compute} or {cutoff/adjust} or {diff} or {disp/auto} {scafacos} values = option value1 value2 ... option = {tolerance} value = {energy} or {energy_rel} or {field} or {field_rel} or {potential} or {potential_rel} + option = {fmm_tuning} + value = {0} or {1} {slab} value = volfactor or {nozforce} volfactor = ratio of the total extended volume used in the 2d approximation compared with the volume of the simulation domain @@ -308,8 +310,6 @@ or with suffix kspace/pair styles of MSM, like OMP or GPU. :line -RENE: check this section - The {scafacos} keyword is used for settings that are passed to the ScaFaCoS library when using "kspace_style scafacos"_kspace_style.html. @@ -324,10 +324,32 @@ field_rel = relative accuracy in electric field potential = absolute accuracy in total Coulomic potential potential_rel = relative accuracy in total Coulomic potential -RENE: which one is closest to what LAMMPS used (see kspace_style -command) - is it "field"? That's why I set it as the default. - -RENE: How is potential different than energy for this ?? +Potential and potential_rel impose a tolerance on a per-atom basis, +in comparison to the energy and energy_rel tolerance types, where +the tolerance is computed with regard to the total Coulomic energy +in the system. In comparison to that, the field and field_rel +tolerance types set a tolerance for the field values calculated +within ScaFaCoS. Since the forces are derived from the field +values, it indirectly sets a tolerance for the forces, comparable +to other LAMMPS KSpace styles, see "kspace_style"_kspace_modify.html. +The suffix '_rel' indicates that the tolerance is a relative tolerance, +whereas the other case imposes an absolute tolerance on the given +quantity. + +What needs to be taken into account is that not all solvers within +the ScaFaCoS library support all kinds of tolerance types. + +fmm = energy and energy_rel +p2nfft = field (1d-,2d-,3d-periodic systems) or potential (0d-periodic) +ewald = field +direct = has no tolerance tuning + +The {fmm_tuning} option (de-)activates the internal tuning mechanism +for the fmm solver. Since the internal tuning mechanism is sequential, +it can be very time-consuming and usually it is not required for +systems with a homogenous charge distribution. The default of the +setting there for is {0}, disabling the internal tuning. {1} +activates the internal tuning. :line diff --git a/doc/src/kspace_style.txt b/doc/src/kspace_style.txt index e5333489cc..49fb13ac37 100644 --- a/doc/src/kspace_style.txt +++ b/doc/src/kspace_style.txt @@ -58,7 +58,7 @@ style = {none} or {ewald} or {ewald/disp} or {ewald/omp} or {pppm} or {pppm/cg} accuracy = desired relative error in forces smallq = cutoff for charges to be considered (optional) (charge units) {scafacos} values = method accuracy - method = fmm or p3m or ... RENE + method = fmm or p2nfft or ewald or direct accuracy = desired relative error in forces :pre :ule @@ -214,8 +214,6 @@ pressure simulation with MSM will cause the code to run slower. :line -RENE: edit this section - The {scafacos} style is a wrapper on the "ScaFaCoS Coulomb solver library"_http://www.scafacos.de which provides a variety of solver methods which can be used with LAMMPS. The paper by "(Who)"_#Who2012 @@ -255,16 +253,24 @@ the total Coulombic energy (short- and long-range) will be tallied for The specified {method} determines which ScaFaCoS algorithm is used. The list of methods shown above are the ScaFaCoS methods currently -available from LAMMPS. - -RENE: explain this accuracy better compared to what -it means for other LAMMPS methods? +available from LAMMPS. Currently the following solvers are +supported for use with LAMMPS: {fmm} (Fast Multi-Pole method), +{p2nfft} (FFT-based Coulomb solver), {ewald} (Ewald-Summation) +and {direct} (direct summation). The other ScaFaCoS solvers +will be supported later on, but for the time being are +experimental in connection with LAMMPS, e.g. {p3m} (PPPM-method). +Use unsupported methods at your own discretion. To get an overview +about the included solvers, refer to "(Sutmann)"_#Sutmann2013 The specified {accuracy} is similar to the accuracy setting for other LAMMPS KSpace styles, but is passed to ScaFaCoS, which can interpret -it in different ways for different methods it supports. See the -"kspace_modify scafacos accuracy"_kspace_modify.html command for -details. +it in different ways for different methods it supports. +Within the ScaFaCoS library the {accuracy} is treated as a tolerance +level (either absolute or relative) for the chosen quantity, where +the quantity can be either the Columic field values, the per-atom +Columic energy or the total Columic energy. Different solver support +different tolerance types, for more information on that, please +refer to "kspace_modify scafacos accuracy"_kspace_modify.html. The "kspace_modify scafacos"_kspace_modify.html command also explains all the ScaFaCoS options currently exposed to LAMMPS. @@ -460,7 +466,8 @@ Illinois at Urbana-Champaign, (2006). [(Hardy2)] Hardy, Stone, Schulten, Parallel Computing, 35, 164-177 (2009). -RENE: +:link(Sutmann2013) +[(Sutmann)] Sutmann, Arnold, Fahrenberger, et. al., Physical review / E 88(6), 063308 (2013) :link(Who2012) [(Who)] Who, Author2, Author3, J of Long Range Solvers, 35, 164-177 -- GitLab From 1aa8307fa11c3efd5c6683c400f70d9b2ae3c158 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 24 Jul 2018 12:04:23 -0600 Subject: [PATCH 328/675] change CSlib files to BSD license --- lib/message/cslib/LICENSE | 533 ++------------------------ lib/message/cslib/README | 14 +- lib/message/cslib/src/STUBS_MPI/mpi.h | 17 +- lib/message/cslib/src/STUBS_ZMQ/zmq.h | 17 +- lib/message/cslib/src/cslib.cpp | 4 +- lib/message/cslib/src/cslib.h | 4 +- lib/message/cslib/src/cslib_wrap.cpp | 4 +- lib/message/cslib/src/cslib_wrap.h | 4 +- lib/message/cslib/src/msg.cpp | 4 +- lib/message/cslib/src/msg.h | 4 +- lib/message/cslib/src/msg_file.cpp | 4 +- lib/message/cslib/src/msg_file.h | 4 +- lib/message/cslib/src/msg_mpi_one.cpp | 4 +- lib/message/cslib/src/msg_mpi_one.h | 4 +- lib/message/cslib/src/msg_mpi_two.cpp | 4 +- lib/message/cslib/src/msg_mpi_two.h | 4 +- lib/message/cslib/src/msg_zmq.cpp | 4 +- lib/message/cslib/src/msg_zmq.h | 4 +- 18 files changed, 86 insertions(+), 551 deletions(-) diff --git a/lib/message/cslib/LICENSE b/lib/message/cslib/LICENSE index 41ba9bbcd0..7a36e21daf 100644 --- a/lib/message/cslib/LICENSE +++ b/lib/message/cslib/LICENSE @@ -1,501 +1,32 @@ -GNU LESSER GENERAL PUBLIC LICENSE - -Version 2.1, February 1999 - -Copyright (C) 1991, 1999 Free Software Foundation, Inc. -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom -to share and change it. By contrast, the GNU General Public Licenses -are intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. - -This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations -below. - -When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - -To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - -For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - -We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - -To protect each distributor, we want to make it very clear that there -is no warranty for the free library. Also, if the library is modified -by someone else and passed on, the recipients should know that what -they have is not the original version, so that the original author's -reputation will not be affected by problems that might be introduced -by others. - -Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - -Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - -When a program is linked with a library, whether statically or using a -shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - -We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - -For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it -becomes a de-facto standard. To achieve this, non-free programs must -be allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - -In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - -Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - -The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). Each -licensee is addressed as "you". - -A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - -The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - -"Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control -compilation and installation of the library. - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does and -what the program that uses the Library does. - -1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a -fee. - -2. You may modify your copy or copies of the Library or any portion of -it, thus forming a work based on the Library, and copy and distribute -such modifications or work under the terms of Section 1 above, -provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - -3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - -Once this change is made in a given copy, it is irreversible for that -copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - -This option is useful when you wish to copy part of the code of the -Library into a program that is not a library. - -4. You may copy and distribute the Library (or a portion or derivative -of it, under Section 2) in object code or executable form under the -terms of Sections 1 and 2 above provided that you accompany it with -the complete corresponding machine-readable source code, which must be -distributed under the terms of Sections 1 and 2 above on a medium -customarily used for software interchange. - -If distribution of object code is made by offering access to copy from -a designated place, then offering equivalent access to copy the source -code from the same place satisfies the requirement to distribute the -source code, even though third parties are not compelled to copy the -source along with the object code. - -5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a work, -in isolation, is not a derivative work of the Library, and therefore -falls outside the scope of this License. - -However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. Section -6 states terms for distribution of such executables. - -When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is -not. Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - -If such an object file uses only numerical parameters, data structure -layouts and accessors, and small macros and small inline functions -(ten lines or less in length), then the use of the object file is -unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - -Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section -6. Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - -6. As an exception to the Sections above, you may also combine or link -a "work that uses the Library" with the Library to produce a work -containing portions of the Library, and distribute that work under -terms of your choice, provided that the terms permit modification of -the work for the customer's own use and reverse engineering for -debugging such modifications. - -You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood that - the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at least - three years, to give the same user the materials specified in - Subsection 6a, above, for a charge no more than the cost of - performing this distribution. d) If distribution of the work is - made by offering access to copy from a designated place, offer - equivalent access to copy the above specified materials from the - same place. e) Verify that the user has already received a copy - of these materials or that you have already sent this user a copy. - -For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - -It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - -7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - -8. You may not copy, modify, sublicense, link with, or distribute the -Library except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, link with, or distribute the -Library is void, and will automatically terminate your rights under -this License. However, parties who have received copies, or rights, -from you under this License will not have their licenses terminated so -long as such parties remain in full compliance. - -9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - -10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted -herein. You are not responsible for enforcing compliance by third -parties with this License. - -11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply, and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - -12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - -13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. Such -new versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - -14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - -NO WARRANTY - -15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE -LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS -AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF -ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - -END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Libraries - -If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms -of the ordinary General Public License). - -To apply these terms, attach the following notices to the library. It -is safest to attach them to the start of each source file to most -effectively convey the exclusion of warranty; and each file should -have at least the "copyright" line and a pointer to where the full -notice is found. - -one line to give the library's name and an idea of what it does. -Copyright (C) year name of author - -This library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as -published by the Free Software Foundation; either version 2.1 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or -your school, if any, to sign a "copyright disclaimer" for the library, -if necessary. Here is a sample; alter the names: - -Yoyodyne, Inc., hereby disclaims all copyright interest in -the library `Frob' (a library for tweaking knobs) written -by James Random Hacker. - -signature of Ty Coon, 1 April 1990 -Ty Coon, President of Vice - -That's all there is to it! +Program: CSlib client/server coupling library + +Copyright 2018 National Technology & Engineering Solutions of Sandia, +LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the +U.S. Government retains certain rights in this software. This +software is distributed under the modified Berkeley Software +Distribution (BSD) License. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of Sandia Corporation nor the names of contributors + to this software may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/lib/message/cslib/README b/lib/message/cslib/README index 1cc75861c6..37f4a97d54 100644 --- a/lib/message/cslib/README +++ b/lib/message/cslib/README @@ -1,7 +1,8 @@ -This is the July 2018 version of the Client/Server messaging library -(CSlib). Only the source directory and license file are included here -as part of the LAMMPS distribution. The full CSlib distribution, -including documentation and test codes, can be found at the website: +This is the the Client/Server messaging library (CSlib). + +Only the source directory and license file are included here as part +of the LAMMPS distribution. The full CSlib distribution, including +documentation and test codes, can be found at the website: http://cslib.sandia.gov (as of Aug 2018). The contact author is @@ -11,8 +12,9 @@ Sandia National Laboratories sjplimp@sandia.gov http://www.sandia.gov/~sjplimp -The CSlib is distributed as open-source code under the GNU LGPL -license. See the accompanying LICENSE file. +The CSlib is distributed as open-source code under the modified +Berkeley Software Distribution (BSD) License. See the accompanying +LICENSE file. This directory contains the following: diff --git a/lib/message/cslib/src/STUBS_MPI/mpi.h b/lib/message/cslib/src/STUBS_MPI/mpi.h index fd2dbf8113..2919e4c3a2 100644 --- a/lib/message/cslib/src/STUBS_MPI/mpi.h +++ b/lib/message/cslib/src/STUBS_MPI/mpi.h @@ -1,14 +1,15 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. - See the README file in the top-level LAMMPS directory. + See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ // MPI constants and dummy functions diff --git a/lib/message/cslib/src/STUBS_ZMQ/zmq.h b/lib/message/cslib/src/STUBS_ZMQ/zmq.h index af920974cd..2f02eb4035 100644 --- a/lib/message/cslib/src/STUBS_ZMQ/zmq.h +++ b/lib/message/cslib/src/STUBS_ZMQ/zmq.h @@ -1,14 +1,15 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. - See the README file in the top-level LAMMPS directory. + See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ // ZMQ constants and dummy functions diff --git a/lib/message/cslib/src/cslib.cpp b/lib/message/cslib/src/cslib.cpp index 8b4d27f134..874333607e 100644 --- a/lib/message/cslib/src/cslib.cpp +++ b/lib/message/cslib/src/cslib.cpp @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ diff --git a/lib/message/cslib/src/cslib.h b/lib/message/cslib/src/cslib.h index 20d82a2469..b4da968026 100644 --- a/lib/message/cslib/src/cslib.h +++ b/lib/message/cslib/src/cslib.h @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ diff --git a/lib/message/cslib/src/cslib_wrap.cpp b/lib/message/cslib/src/cslib_wrap.cpp index 453948f783..c2d69eaf0d 100644 --- a/lib/message/cslib/src/cslib_wrap.cpp +++ b/lib/message/cslib/src/cslib_wrap.cpp @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ diff --git a/lib/message/cslib/src/cslib_wrap.h b/lib/message/cslib/src/cslib_wrap.h index 42d095f452..bf7df029c3 100644 --- a/lib/message/cslib/src/cslib_wrap.h +++ b/lib/message/cslib/src/cslib_wrap.h @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ diff --git a/lib/message/cslib/src/msg.cpp b/lib/message/cslib/src/msg.cpp index 1ba24d2b48..c67e4a5c8c 100644 --- a/lib/message/cslib/src/msg.cpp +++ b/lib/message/cslib/src/msg.cpp @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ diff --git a/lib/message/cslib/src/msg.h b/lib/message/cslib/src/msg.h index 48805a0f4f..f75942b027 100644 --- a/lib/message/cslib/src/msg.h +++ b/lib/message/cslib/src/msg.h @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ diff --git a/lib/message/cslib/src/msg_file.cpp b/lib/message/cslib/src/msg_file.cpp index 31126b8444..d97e249fad 100644 --- a/lib/message/cslib/src/msg_file.cpp +++ b/lib/message/cslib/src/msg_file.cpp @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ diff --git a/lib/message/cslib/src/msg_file.h b/lib/message/cslib/src/msg_file.h index 6d7c7017f6..d6bd802607 100644 --- a/lib/message/cslib/src/msg_file.h +++ b/lib/message/cslib/src/msg_file.h @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ diff --git a/lib/message/cslib/src/msg_mpi_one.cpp b/lib/message/cslib/src/msg_mpi_one.cpp index c028961abc..db11735b27 100644 --- a/lib/message/cslib/src/msg_mpi_one.cpp +++ b/lib/message/cslib/src/msg_mpi_one.cpp @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ diff --git a/lib/message/cslib/src/msg_mpi_one.h b/lib/message/cslib/src/msg_mpi_one.h index 8f1b781bc6..4b4140a3f7 100644 --- a/lib/message/cslib/src/msg_mpi_one.h +++ b/lib/message/cslib/src/msg_mpi_one.h @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ diff --git a/lib/message/cslib/src/msg_mpi_two.cpp b/lib/message/cslib/src/msg_mpi_two.cpp index 4c8f593939..e9a9e87eeb 100644 --- a/lib/message/cslib/src/msg_mpi_two.cpp +++ b/lib/message/cslib/src/msg_mpi_two.cpp @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ diff --git a/lib/message/cslib/src/msg_mpi_two.h b/lib/message/cslib/src/msg_mpi_two.h index 40dd95e7ea..7b31db5a63 100644 --- a/lib/message/cslib/src/msg_mpi_two.h +++ b/lib/message/cslib/src/msg_mpi_two.h @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ diff --git a/lib/message/cslib/src/msg_zmq.cpp b/lib/message/cslib/src/msg_zmq.cpp index dcbeedaaa0..c2d408f3a5 100644 --- a/lib/message/cslib/src/msg_zmq.cpp +++ b/lib/message/cslib/src/msg_zmq.cpp @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ diff --git a/lib/message/cslib/src/msg_zmq.h b/lib/message/cslib/src/msg_zmq.h index 5f6dd7f26b..c0621a26ff 100644 --- a/lib/message/cslib/src/msg_zmq.h +++ b/lib/message/cslib/src/msg_zmq.h @@ -6,8 +6,8 @@ Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. - This software is distributed under the GNU Lesser General Public - License (LGPL). + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. See the README file in the top-level CSlib directory. ------------------------------------------------------------------------- */ -- GitLab From da1be29278a7a9e623fdd76478cd572a789f77f5 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 24 Jul 2018 14:31:55 -0600 Subject: [PATCH 329/675] 2nd try at incremental doc page reorg, Section_tools --- doc/src/Manual.txt | 4 +- doc/src/Tools.txt | 527 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 529 insertions(+), 2 deletions(-) create mode 100644 doc/src/Tools.txt diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index e69797d9ec..d6d46570c1 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -116,7 +116,7 @@ it gives quick access to documentation for all LAMMPS commands. Section_howto Section_example Section_perf - Section_tools + Tools Section_modify Section_python Section_errors @@ -210,7 +210,7 @@ END_RST --> 6.27 "Drude induced dipoles"_howto_27 :ule,b "Example problems"_Section_example.html :l "Performance & scalability"_Section_perf.html :l -"Additional tools"_Section_tools.html :l +"Auxiliary tools"_Tools.html :l "Modifying & extending LAMMPS"_Section_modify.html :l 10.1 "Atom styles"_mod_1 :ulb,b 10.2 "Bond, angle, dihedral, improper potentials"_mod_2 :b diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt new file mode 100644 index 0000000000..8fc371c4ef --- /dev/null +++ b/doc/src/Tools.txt @@ -0,0 +1,527 @@ +"Previous Section"_Section_perf.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Section_modify.html :c + + + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands.html#comm) + +:line + +Auxiliary tools :h3 + +LAMMPS is designed to be a computational kernel for performing +molecular dynamics computations. Additional pre- and post-processing +steps are often necessary to setup and analyze a simulation. A list +of such tools can be found on the "LAMMPS webpage"_lws at these links: + +"Pre/Post processing"_http://lammps.sandia.gov/prepost.html +"Offsite LAMMPS packages & tools"_http://lammps.sandia.gov/offsite.html +"Pizza.py toolkit"_pizza :ul + +The last link for "Pizza.py"_pizza is a Python-based tool developed at +Sandia which provides tools for doing setup, analysis, plotting, and +visualization for LAMMPS simulations. + +"link(pizza,http://pizza.sandia.gov) +:link(python,http://www.python.org) + +Additional tools included in the LAMMPS distribution are described on +this page. + +Note that many users write their own setup or analysis tools or use +other existing codes and convert their output to a LAMMPS input format +or vice versa. The tools listed here are included in the LAMMPS +distribution as examples of auxiliary tools. Some of them are not +actively supported by the LAMMPS developers, as they were contributed +by LAMMPS users. If you have problems using them, we can direct you +to the authors. + +The source code for each of these codes is in the tools sub-directory +of the LAMMPS distribution. There is a Makefile (which you may need +to edit for your platform) which will build several of the tools which +reside in that directory. Most of them are larger packages in their +own sub-directories with their own Makefiles and/or README files. + +"amber2lmp"_#amber +"binary2txt"_#binary +"ch2lmp"_#charmm +"chain"_#chain +"colvars"_#colvars +"createatoms"_#createatoms +"doxygen"_#doxygen +"drude"_#drude +"eam database"_#eamdb +"eam generate"_#eamgn +"eff"_#eff +"emacs"_#emacs +"fep"_#fep +"i-pi"_#ipi +"ipp"_#ipp +"kate"_#kate +"lmp2arc"_#arc +"lmp2cfg"_#cfg +"matlab"_#matlab +"micelle2d"_#micelle +"moltemplate"_#moltemplate +"msi2lmp"_#msi +"phonon"_#phonon +"polybond"_#polybond +"pymol_asphere"_#pymol +"python"_#pythontools +"reax"_#reax_tool +"smd"_#smd +"vim"_#vim +"xmgrace"_#xmgrace :ul + +:line +:line + +amber2lmp tool :h4,link(amber) + +The amber2lmp sub-directory contains two Python scripts for converting +files back-and-forth between the AMBER MD code and LAMMPS. See the +README file in amber2lmp for more information. + +These tools were written by Keir Novik while he was at Queen Mary +University of London. Keir is no longer there and cannot support +these tools which are out-of-date with respect to the current LAMMPS +version (and maybe with respect to AMBER as well). Since we don't use +these tools at Sandia, you'll need to experiment with them and make +necessary modifications yourself. + +:line + +binary2txt tool :h4,link(binary) + +The file binary2txt.cpp converts one or more binary LAMMPS dump file +into ASCII text files. The syntax for running the tool is + +binary2txt file1 file2 ... :pre + +which creates file1.txt, file2.txt, etc. This tool must be compiled +on a platform that can read the binary file created by a LAMMPS run, +since binary files are not compatible across all platforms. + +:line + +ch2lmp tool :h4,link(charmm) + +The ch2lmp sub-directory contains tools for converting files +back-and-forth between the CHARMM MD code and LAMMPS. + +They are intended to make it easy to use CHARMM as a builder and as a +post-processor for LAMMPS. Using charmm2lammps.pl, you can convert a +PDB file with associated CHARMM info, including CHARMM force field +data, into its LAMMPS equivalent. Support for the CMAP correction of +CHARMM22 and later is available as an option. This tool can also add +solvent water molecules and Na+ or Cl- ions to the system. +Using lammps2pdb.pl you can convert LAMMPS atom dumps into PDB files. + +See the README file in the ch2lmp sub-directory for more information. + +These tools were created by Pieter in't Veld (pjintve at sandia.gov) +and Paul Crozier (pscrozi at sandia.gov) at Sandia. + +CMAP support added and tested by Xiaohu Hu (hux2 at ornl.gov) and +Robert A. Latour (latourr at clemson.edu), David Hyde-Volpe, and +Tigran Abramyan, (Clemson University) and +Chris Lorenz (chris.lorenz at kcl.ac.uk), King's College London. + +:line + +chain tool :h4,link(chain) + +The file chain.f creates a LAMMPS data file containing bead-spring +polymer chains and/or monomer solvent atoms. It uses a text file +containing chain definition parameters as an input. The created +chains and solvent atoms can strongly overlap, so LAMMPS needs to run +the system initially with a "soft" pair potential to un-overlap it. +The syntax for running the tool is + +chain < def.chain > data.file :pre + +See the def.chain or def.chain.ab files in the tools directory for +examples of definition files. This tool was used to create the +system for the "chain benchmark"_Section_perf.html. + +:line + +colvars tools :h4,link(colvars) + +The colvars directory contains a collection of tools for postprocessing +data produced by the colvars collective variable library. +To compile the tools, edit the makefile for your system and run "make". + +Please report problems and issues the colvars library and its tools +at: https://github.com/colvars/colvars/issues + +abf_integrate: + +MC-based integration of multidimensional free energy gradient +Version 20110511 + +Syntax: ./abf_integrate < filename > \[-n < nsteps >\] \[-t < temp >\] \[-m \[0|1\] (metadynamics)\] \[-h < hill_height >\] \[-f < variable_hill_factor >\] :pre + +The LAMMPS interface to the colvars collective variable library, as +well as these tools, were created by Axel Kohlmeyer (akohlmey at +gmail.com) at ICTP, Italy. + +:line + +createatoms tool :h4,link(createatoms) + +The tools/createatoms directory contains a Fortran program called +createAtoms.f which can generate a variety of interesting crystal +structures and geometries and output the resulting list of atom +coordinates in LAMMPS or other formats. + +See the included Manual.pdf for details. + +The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov. + +:line + +doxygen tool :h4,link(doxygen) + +The tools/doxygen directory contains a shell script called +doxygen.sh which can generate a call graph and API lists using +the "Doxygen software"_http://doxygen.org. + +See the included README file for details. + +The tool is authored by Nandor Tamaskovics, numericalfreedom at googlemail.com. + +:line + +drude tool :h4,link(drude) + +The tools/drude directory contains a Python script called +polarizer.py which can add Drude oscillators to a LAMMPS +data file in the required format. + +See the header of the polarizer.py file for details. + +The tool is authored by Agilio Padua and Alain Dequidt: agilio.padua +at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr + +:line + +eam database tool :h4,link(eamdb) + +The tools/eam_database directory contains a Fortran program that will +generate EAM alloy setfl potential files for any combination of 16 +elements: Cu, Ag, Au, Ni, Pd, Pt, Al, Pb, Fe, Mo, Ta, W, Mg, Co, Ti, +Zr. The files can then be used with the "pair_style +eam/alloy"_pair_eam.html command. + +The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov, +and is based on his paper: + +X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, +144113 (2004). + +:line + +eam generate tool :h4,link(eamgn) + +The tools/eam_generate directory contains several one-file C programs +that convert an analytic formula into a tabulated "embedded atom +method (EAM)"_pair_eam.html setfl potential file. The potentials they +produce are in the potentials directory, and can be used with the +"pair_style eam/alloy"_pair_eam.html command. + +The source files and potentials were provided by Gerolf Ziegenhain +(gerolf at ziegenhain.com). + +:line + +eff tool :h4,link(eff) + +The tools/eff directory contains various scripts for generating +structures and post-processing output for simulations using the +electron force field (eFF). + +These tools were provided by Andres Jaramillo-Botero at CalTech +(ajaramil at wag.caltech.edu). + +:line + +emacs tool :h4,link(emacs) + +The tools/emacs directory contains a Lips add-on file for Emacs that +enables a lammps-mode for editing of input scripts when using Emacs, +with various highlighting options setup. + +These tools were provided by Aidan Thompson at Sandia +(athomps at sandia.gov). + +:line + +fep tool :h4,link(fep) + +The tools/fep directory contains Python scripts useful for +post-processing results from performing free-energy perturbation +simulations using the USER-FEP package. + +The scripts were contributed by Agilio Padua (Universite Blaise +Pascal Clermont-Ferrand), agilio.padua at univ-bpclermont.fr. + +See README file in the tools/fep directory. + +:line + +i-pi tool :h4,link(ipi) + +The tools/i-pi directory contains a version of the i-PI package, with +all the LAMMPS-unrelated files removed. It is provided so that it can +be used with the "fix ipi"_fix_ipi.html command to perform +path-integral molecular dynamics (PIMD). + +The i-PI package was created and is maintained by Michele Ceriotti, +michele.ceriotti at gmail.com, to interface to a variety of molecular +dynamics codes. + +See the tools/i-pi/manual.pdf file for an overview of i-PI, and the +"fix ipi"_fix_ipi.html doc page for further details on running PIMD +calculations with LAMMPS. + +:line + +ipp tool :h4,link(ipp) + +The tools/ipp directory contains a Perl script ipp which can be used +to facilitate the creation of a complicated file (say, a lammps input +script or tools/createatoms input file) using a template file. + +ipp was created and is maintained by Reese Jones (Sandia), rjones at +sandia.gov. + +See two examples in the tools/ipp directory. One of them is for the +tools/createatoms tool's input file. + +:line + +kate tool :h4,link(kate) + +The file in the tools/kate directory is an add-on to the Kate editor +in the KDE suite that allow syntax highlighting of LAMMPS input +scripts. See the README.txt file for details. + +The file was provided by Alessandro Luigi Sellerio +(alessandro.sellerio at ieni.cnr.it). + +:line + +lmp2arc tool :h4,link(arc) + +The lmp2arc sub-directory contains a tool for converting LAMMPS output +files to the format for Accelrys' Insight MD code (formerly +MSI/Biosym and its Discover MD code). See the README file for more +information. + +This tool was written by John Carpenter (Cray), Michael Peachey +(Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic +(jec at mayo.edu), but still fields questions about the tool. + +This tool was updated for the current LAMMPS C++ version by Jeff +Greathouse at Sandia (jagreat at sandia.gov). + +:line + +lmp2cfg tool :h4,link(cfg) + +The lmp2cfg sub-directory contains a tool for converting LAMMPS output +files into a series of *.cfg files which can be read into the +"AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A visualizer. See +the README file for more information. + +This tool was written by Ara Kooser at Sandia (askoose at sandia.gov). + +:line + +matlab tool :h4,link(matlab) + +The matlab sub-directory contains several "MATLAB"_matlabhome scripts for +post-processing LAMMPS output. The scripts include readers for log +and dump files, a reader for EAM potential files, and a converter that +reads LAMMPS dump files and produces CFG files that can be visualized +with the "AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A +visualizer. + +See the README.pdf file for more information. + +These scripts were written by Arun Subramaniyan at Purdue Univ +(asubrama at purdue.edu). + +:link(matlabhome,http://www.mathworks.com) + +:line + +micelle2d tool :h4,link(micelle) + +The file micelle2d.f creates a LAMMPS data file containing short lipid +chains in a monomer solution. It uses a text file containing lipid +definition parameters as an input. The created molecules and solvent +atoms can strongly overlap, so LAMMPS needs to run the system +initially with a "soft" pair potential to un-overlap it. The syntax +for running the tool is + +micelle2d < def.micelle2d > data.file :pre + +See the def.micelle2d file in the tools directory for an example of a +definition file. This tool was used to create the system for the +"micelle example"_Section_example.html. + +:line + +moltemplate tool :h4,link(moltemplate) + +The moltemplate sub-directory contains a Python-based tool for +building molecular systems based on a text-file description, and +creating LAMMPS data files that encode their molecular topology as +lists of bonds, angles, dihedrals, etc. See the README.TXT file for +more information. + +This tool was written by Andrew Jewett (jewett.aij at gmail.com), who +supports it. It has its own WWW page at +"http://moltemplate.org"_http://moltemplate.org. + +:line + +msi2lmp tool :h4,link(msi) + +The msi2lmp sub-directory contains a tool for creating LAMMPS template +input and data files from BIOVIA's Materias Studio files (formerly Accelrys' +Insight MD code, formerly MSI/Biosym and its Discover MD code). + +This tool was written by John Carpenter (Cray), Michael Peachey +(Cray), and Steve Lustig (Dupont). Several people contributed changes +to remove bugs and adapt its output to changes in LAMMPS. + +This tool has several known limitations and is no longer under active +development, so there are no changes except for the occasional bugfix. + +See the README file in the tools/msi2lmp folder for more information. + +:line + +phonon tool :h4,link(phonon) + +The phonon sub-directory contains a post-processing tool useful for +analyzing the output of the "fix phonon"_fix_phonon.html command in +the USER-PHONON package. + +See the README file for instruction on building the tool and what +library it needs. And see the examples/USER/phonon directory +for example problems that can be post-processed with this tool. + +This tool was written by Ling-Ti Kong at Shanghai Jiao Tong +University. + +:line + +polybond tool :h4,link(polybond) + +The polybond sub-directory contains a Python-based tool useful for +performing "programmable polymer bonding". The Python file +lmpsdata.py provides a "Lmpsdata" class with various methods which can +be invoked by a user-written Python script to create data files with +complex bonding topologies. + +See the Manual.pdf for details and example scripts. + +This tool was written by Zachary Kraus at Georgia Tech. + +:line + +pymol_asphere tool :h4,link(pymol) + +The pymol_asphere sub-directory contains a tool for converting a +LAMMPS dump file that contains orientation info for ellipsoidal +particles into an input file for the "PyMol visualization +package"_pymolhome or its "open source variant"_pymolopen. + +:link(pymolhome,http://www.pymol.org) +:link(pymolopen,http://sourceforge.net/scm/?type=svn&group_id=4546) + +Specifically, the tool triangulates the ellipsoids so they can be +viewed as true ellipsoidal particles within PyMol. See the README and +examples directory within pymol_asphere for more information. + +This tool was written by Mike Brown at Sandia. + +:line + +python tool :h4,link(pythontools) + +The python sub-directory contains several Python scripts +that perform common LAMMPS post-processing tasks, such as: + +extract thermodynamic info from a log file as columns of numbers +plot two columns of thermodynamic info from a log file using GnuPlot +sort the snapshots in a dump file by atom ID +convert multiple "NEB"_neb.html dump files into one dump file for viz +convert dump files into XYZ, CFG, or PDB format for viz by other packages :ul + +These are simple scripts built on "Pizza.py"_pizza modules. See the +README for more info on Pizza.py and how to use these scripts. + +:line + +reax tool :h4,link(reax_tool) + +The reax sub-directory contains stand-alond codes that can +post-process the output of the "fix reax/bonds"_fix_reax_bonds.html +command from a LAMMPS simulation using "ReaxFF"_pair_reax.html. See +the README.txt file for more info. + +These tools were written by Aidan Thompson at Sandia. + +:line + +smd tool :h4,link(smd) + +The smd sub-directory contains a C++ file dump2vtk_tris.cpp and +Makefile which can be compiled and used to convert triangle output +files created by the Smooth-Mach Dynamics (USER-SMD) package into a +VTK-compatible unstructured grid file. It could then be read in and +visualized by VTK. + +See the header of dump2vtk.cpp for more details. + +This tool was written by the USER-SMD package author, Georg +Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics, +Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de). + +:line + +vim tool :h4,link(vim) + +The files in the tools/vim directory are add-ons to the VIM editor +that allow easier editing of LAMMPS input scripts. See the README.txt +file for details. + +These files were provided by Gerolf Ziegenhain (gerolf at +ziegenhain.com) + +:line + +xmgrace tool :h4,link(xmgrace) + +The files in the tools/xmgrace directory can be used to plot the +thermodynamic data in LAMMPS log files via the xmgrace plotting +package. There are several tools in the directory that can be used in +post-processing mode. The lammpsplot.cpp file can be compiled and +used to create plots from the current state of a running LAMMPS +simulation. + +See the README file for details. + +These files were provided by Vikas Varshney (vv0210 at gmail.com) -- GitLab From d83d05088fa284a0608d8cace4f7ac0be6d1482b Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 24 Jul 2018 14:33:27 -0600 Subject: [PATCH 330/675] remove replaced file --- doc/src/Section_tools.txt | 520 -------------------------------------- 1 file changed, 520 deletions(-) delete mode 100644 doc/src/Section_tools.txt diff --git a/doc/src/Section_tools.txt b/doc/src/Section_tools.txt deleted file mode 100644 index 7cc07cbec5..0000000000 --- a/doc/src/Section_tools.txt +++ /dev/null @@ -1,520 +0,0 @@ -"Previous Section"_Section_perf.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_modify.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -9. Additional tools :h2 - -LAMMPS is designed to be a computational kernel for performing -molecular dynamics computations. Additional pre- and post-processing -steps are often necessary to setup and analyze a simulation. A -list of such tools can be found on the LAMMPS home page -at "http://lammps.sandia.gov/prepost.html"_http://lammps.sandia.gov/prepost.html - -A few additional tools are provided with the LAMMPS distribution -and are described in this section. - -Our group has also written and released a separate toolkit called -"Pizza.py"_pizza which provides tools for doing setup, analysis, -plotting, and visualization for LAMMPS simulations. Pizza.py is -written in "Python"_python and is available for download from "the -Pizza.py WWW site"_pizza. - -:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) -:link(python,http://www.python.org) - -Note that many users write their own setup or analysis tools or use -other existing codes and convert their output to a LAMMPS input format -or vice versa. The tools listed here are included in the LAMMPS -distribution as examples of auxiliary tools. Some of them are not -actively supported by Sandia, as they were contributed by LAMMPS -users. If you have problems using them, we can direct you to the -authors. - -The source code for each of these codes is in the tools sub-directory -of the LAMMPS distribution. There is a Makefile (which you may need -to edit for your platform) which will build several of the tools which -reside in that directory. Most of them are larger packages in their -own sub-directories with their own Makefiles and/or README files. - -"amber2lmp"_#amber -"binary2txt"_#binary -"ch2lmp"_#charmm -"chain"_#chain -"colvars"_#colvars -"createatoms"_#createatoms -"doxygen"_#doxygen -"drude"_#drude -"eam database"_#eamdb -"eam generate"_#eamgn -"eff"_#eff -"emacs"_#emacs -"fep"_#fep -"i-pi"_#ipi -"ipp"_#ipp -"kate"_#kate -"lmp2arc"_#arc -"lmp2cfg"_#cfg -"matlab"_#matlab -"micelle2d"_#micelle -"moltemplate"_#moltemplate -"msi2lmp"_#msi -"phonon"_#phonon -"polybond"_#polybond -"pymol_asphere"_#pymol -"python"_#pythontools -"reax"_#reax_tool -"smd"_#smd -"vim"_#vim -"xmgrace"_#xmgrace - -:line - -amber2lmp tool :h3,link(amber) - -The amber2lmp sub-directory contains two Python scripts for converting -files back-and-forth between the AMBER MD code and LAMMPS. See the -README file in amber2lmp for more information. - -These tools were written by Keir Novik while he was at Queen Mary -University of London. Keir is no longer there and cannot support -these tools which are out-of-date with respect to the current LAMMPS -version (and maybe with respect to AMBER as well). Since we don't use -these tools at Sandia, you'll need to experiment with them and make -necessary modifications yourself. - -:line - -binary2txt tool :h3,link(binary) - -The file binary2txt.cpp converts one or more binary LAMMPS dump file -into ASCII text files. The syntax for running the tool is - -binary2txt file1 file2 ... :pre - -which creates file1.txt, file2.txt, etc. This tool must be compiled -on a platform that can read the binary file created by a LAMMPS run, -since binary files are not compatible across all platforms. - -:line - -ch2lmp tool :h3,link(charmm) - -The ch2lmp sub-directory contains tools for converting files -back-and-forth between the CHARMM MD code and LAMMPS. - -They are intended to make it easy to use CHARMM as a builder and as a -post-processor for LAMMPS. Using charmm2lammps.pl, you can convert a -PDB file with associated CHARMM info, including CHARMM force field -data, into its LAMMPS equivalent. Support for the CMAP correction of -CHARMM22 and later is available as an option. This tool can also add -solvent water molecules and Na+ or Cl- ions to the system. -Using lammps2pdb.pl you can convert LAMMPS atom dumps into PDB files. - -See the README file in the ch2lmp sub-directory for more information. - -These tools were created by Pieter in't Veld (pjintve at sandia.gov) -and Paul Crozier (pscrozi at sandia.gov) at Sandia. - -CMAP support added and tested by Xiaohu Hu (hux2 at ornl.gov) and -Robert A. Latour (latourr at clemson.edu), David Hyde-Volpe, and -Tigran Abramyan, (Clemson University) and -Chris Lorenz (chris.lorenz at kcl.ac.uk), King's College London. - -:line - -chain tool :h3,link(chain) - -The file chain.f creates a LAMMPS data file containing bead-spring -polymer chains and/or monomer solvent atoms. It uses a text file -containing chain definition parameters as an input. The created -chains and solvent atoms can strongly overlap, so LAMMPS needs to run -the system initially with a "soft" pair potential to un-overlap it. -The syntax for running the tool is - -chain < def.chain > data.file :pre - -See the def.chain or def.chain.ab files in the tools directory for -examples of definition files. This tool was used to create the -system for the "chain benchmark"_Section_perf.html. - -:line - -colvars tools :h3,link(colvars) - -The colvars directory contains a collection of tools for postprocessing -data produced by the colvars collective variable library. -To compile the tools, edit the makefile for your system and run "make". - -Please report problems and issues the colvars library and its tools -at: https://github.com/colvars/colvars/issues - -abf_integrate: - -MC-based integration of multidimensional free energy gradient -Version 20110511 - -Syntax: ./abf_integrate < filename > \[-n < nsteps >\] \[-t < temp >\] \[-m \[0|1\] (metadynamics)\] \[-h < hill_height >\] \[-f < variable_hill_factor >\] :pre - -The LAMMPS interface to the colvars collective variable library, as -well as these tools, were created by Axel Kohlmeyer (akohlmey at -gmail.com) at ICTP, Italy. - -:line - -createatoms tool :h3,link(createatoms) - -The tools/createatoms directory contains a Fortran program called -createAtoms.f which can generate a variety of interesting crystal -structures and geometries and output the resulting list of atom -coordinates in LAMMPS or other formats. - -See the included Manual.pdf for details. - -The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov. - -:line - -doxygen tool :h3,link(doxygen) - -The tools/doxygen directory contains a shell script called -doxygen.sh which can generate a call graph and API lists using -the "Doxygen software"_http://doxygen.org. - -See the included README file for details. - -The tool is authored by Nandor Tamaskovics, numericalfreedom at googlemail.com. - -:line - -drude tool :h3,link(drude) - -The tools/drude directory contains a Python script called -polarizer.py which can add Drude oscillators to a LAMMPS -data file in the required format. - -See the header of the polarizer.py file for details. - -The tool is authored by Agilio Padua and Alain Dequidt: agilio.padua -at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr - -:line - -eam database tool :h3,link(eamdb) - -The tools/eam_database directory contains a Fortran program that will -generate EAM alloy setfl potential files for any combination of 16 -elements: Cu, Ag, Au, Ni, Pd, Pt, Al, Pb, Fe, Mo, Ta, W, Mg, Co, Ti, -Zr. The files can then be used with the "pair_style -eam/alloy"_pair_eam.html command. - -The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov, -and is based on his paper: - -X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, -144113 (2004). - -:line - -eam generate tool :h3,link(eamgn) - -The tools/eam_generate directory contains several one-file C programs -that convert an analytic formula into a tabulated "embedded atom -method (EAM)"_pair_eam.html setfl potential file. The potentials they -produce are in the potentials directory, and can be used with the -"pair_style eam/alloy"_pair_eam.html command. - -The source files and potentials were provided by Gerolf Ziegenhain -(gerolf at ziegenhain.com). - -:line - -eff tool :h3,link(eff) - -The tools/eff directory contains various scripts for generating -structures and post-processing output for simulations using the -electron force field (eFF). - -These tools were provided by Andres Jaramillo-Botero at CalTech -(ajaramil at wag.caltech.edu). - -:line - -emacs tool :h3,link(emacs) - -The tools/emacs directory contains a Lips add-on file for Emacs that -enables a lammps-mode for editing of input scripts when using Emacs, -with various highlighting options setup. - -These tools were provided by Aidan Thompson at Sandia -(athomps at sandia.gov). - -:line - -fep tool :h3,link(fep) - -The tools/fep directory contains Python scripts useful for -post-processing results from performing free-energy perturbation -simulations using the USER-FEP package. - -The scripts were contributed by Agilio Padua (Universite Blaise -Pascal Clermont-Ferrand), agilio.padua at univ-bpclermont.fr. - -See README file in the tools/fep directory. - -:line - -i-pi tool :h3,link(ipi) - -The tools/i-pi directory contains a version of the i-PI package, with -all the LAMMPS-unrelated files removed. It is provided so that it can -be used with the "fix ipi"_fix_ipi.html command to perform -path-integral molecular dynamics (PIMD). - -The i-PI package was created and is maintained by Michele Ceriotti, -michele.ceriotti at gmail.com, to interface to a variety of molecular -dynamics codes. - -See the tools/i-pi/manual.pdf file for an overview of i-PI, and the -"fix ipi"_fix_ipi.html doc page for further details on running PIMD -calculations with LAMMPS. - -:line - -ipp tool :h3,link(ipp) - -The tools/ipp directory contains a Perl script ipp which can be used -to facilitate the creation of a complicated file (say, a lammps input -script or tools/createatoms input file) using a template file. - -ipp was created and is maintained by Reese Jones (Sandia), rjones at -sandia.gov. - -See two examples in the tools/ipp directory. One of them is for the -tools/createatoms tool's input file. - -:line - -kate tool :h3,link(kate) - -The file in the tools/kate directory is an add-on to the Kate editor -in the KDE suite that allow syntax highlighting of LAMMPS input -scripts. See the README.txt file for details. - -The file was provided by Alessandro Luigi Sellerio -(alessandro.sellerio at ieni.cnr.it). - -:line - -lmp2arc tool :h3,link(arc) - -The lmp2arc sub-directory contains a tool for converting LAMMPS output -files to the format for Accelrys' Insight MD code (formerly -MSI/Biosym and its Discover MD code). See the README file for more -information. - -This tool was written by John Carpenter (Cray), Michael Peachey -(Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic -(jec at mayo.edu), but still fields questions about the tool. - -This tool was updated for the current LAMMPS C++ version by Jeff -Greathouse at Sandia (jagreat at sandia.gov). - -:line - -lmp2cfg tool :h3,link(cfg) - -The lmp2cfg sub-directory contains a tool for converting LAMMPS output -files into a series of *.cfg files which can be read into the -"AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A visualizer. See -the README file for more information. - -This tool was written by Ara Kooser at Sandia (askoose at sandia.gov). - -:line - -matlab tool :h3,link(matlab) - -The matlab sub-directory contains several "MATLAB"_matlabhome scripts for -post-processing LAMMPS output. The scripts include readers for log -and dump files, a reader for EAM potential files, and a converter that -reads LAMMPS dump files and produces CFG files that can be visualized -with the "AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A -visualizer. - -See the README.pdf file for more information. - -These scripts were written by Arun Subramaniyan at Purdue Univ -(asubrama at purdue.edu). - -:link(matlabhome,http://www.mathworks.com) - -:line - -micelle2d tool :h3,link(micelle) - -The file micelle2d.f creates a LAMMPS data file containing short lipid -chains in a monomer solution. It uses a text file containing lipid -definition parameters as an input. The created molecules and solvent -atoms can strongly overlap, so LAMMPS needs to run the system -initially with a "soft" pair potential to un-overlap it. The syntax -for running the tool is - -micelle2d < def.micelle2d > data.file :pre - -See the def.micelle2d file in the tools directory for an example of a -definition file. This tool was used to create the system for the -"micelle example"_Section_example.html. - -:line - -moltemplate tool :h3,link(moltemplate) - -The moltemplate sub-directory contains a Python-based tool for -building molecular systems based on a text-file description, and -creating LAMMPS data files that encode their molecular topology as -lists of bonds, angles, dihedrals, etc. See the README.TXT file for -more information. - -This tool was written by Andrew Jewett (jewett.aij at gmail.com), who -supports it. It has its own WWW page at -"http://moltemplate.org"_http://moltemplate.org. - -:line - -msi2lmp tool :h3,link(msi) - -The msi2lmp sub-directory contains a tool for creating LAMMPS template -input and data files from BIOVIA's Materias Studio files (formerly Accelrys' -Insight MD code, formerly MSI/Biosym and its Discover MD code). - -This tool was written by John Carpenter (Cray), Michael Peachey -(Cray), and Steve Lustig (Dupont). Several people contributed changes -to remove bugs and adapt its output to changes in LAMMPS. - -This tool has several known limitations and is no longer under active -development, so there are no changes except for the occasional bugfix. - -See the README file in the tools/msi2lmp folder for more information. - -:line - -phonon tool :h3,link(phonon) - -The phonon sub-directory contains a post-processing tool useful for -analyzing the output of the "fix phonon"_fix_phonon.html command in -the USER-PHONON package. - -See the README file for instruction on building the tool and what -library it needs. And see the examples/USER/phonon directory -for example problems that can be post-processed with this tool. - -This tool was written by Ling-Ti Kong at Shanghai Jiao Tong -University. - -:line - -polybond tool :h3,link(polybond) - -The polybond sub-directory contains a Python-based tool useful for -performing "programmable polymer bonding". The Python file -lmpsdata.py provides a "Lmpsdata" class with various methods which can -be invoked by a user-written Python script to create data files with -complex bonding topologies. - -See the Manual.pdf for details and example scripts. - -This tool was written by Zachary Kraus at Georgia Tech. - -:line - -pymol_asphere tool :h3,link(pymol) - -The pymol_asphere sub-directory contains a tool for converting a -LAMMPS dump file that contains orientation info for ellipsoidal -particles into an input file for the "PyMol visualization -package"_pymolhome or its "open source variant"_pymolopen. - -:link(pymolhome,http://www.pymol.org) -:link(pymolopen,http://sourceforge.net/scm/?type=svn&group_id=4546) - -Specifically, the tool triangulates the ellipsoids so they can be -viewed as true ellipsoidal particles within PyMol. See the README and -examples directory within pymol_asphere for more information. - -This tool was written by Mike Brown at Sandia. - -:line - -python tool :h3,link(pythontools) - -The python sub-directory contains several Python scripts -that perform common LAMMPS post-processing tasks, such as: - -extract thermodynamic info from a log file as columns of numbers -plot two columns of thermodynamic info from a log file using GnuPlot -sort the snapshots in a dump file by atom ID -convert multiple "NEB"_neb.html dump files into one dump file for viz -convert dump files into XYZ, CFG, or PDB format for viz by other packages :ul - -These are simple scripts built on "Pizza.py"_pizza modules. See the -README for more info on Pizza.py and how to use these scripts. - -:line - -reax tool :h3,link(reax_tool) - -The reax sub-directory contains stand-alond codes that can -post-process the output of the "fix reax/bonds"_fix_reax_bonds.html -command from a LAMMPS simulation using "ReaxFF"_pair_reax.html. See -the README.txt file for more info. - -These tools were written by Aidan Thompson at Sandia. - -:line - -smd tool :h3,link(smd) - -The smd sub-directory contains a C++ file dump2vtk_tris.cpp and -Makefile which can be compiled and used to convert triangle output -files created by the Smooth-Mach Dynamics (USER-SMD) package into a -VTK-compatible unstructured grid file. It could then be read in and -visualized by VTK. - -See the header of dump2vtk.cpp for more details. - -This tool was written by the USER-SMD package author, Georg -Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics, -Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de). - -:line - -vim tool :h3,link(vim) - -The files in the tools/vim directory are add-ons to the VIM editor -that allow easier editing of LAMMPS input scripts. See the README.txt -file for details. - -These files were provided by Gerolf Ziegenhain (gerolf at -ziegenhain.com) - -:line - -xmgrace tool :h3,link(xmgrace) - -The files in the tools/xmgrace directory can be used to plot the -thermodynamic data in LAMMPS log files via the xmgrace plotting -package. There are several tools in the directory that can be used in -post-processing mode. The lammpsplot.cpp file can be compiled and -used to create plots from the current state of a running LAMMPS -simulation. - -See the README file for details. - -These files were provided by Vikas Varshney (vv0210 at gmail.com) - -- GitLab From 8385f5666bef66882a3d5d7aebd41593db0e6900 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 24 Jul 2018 14:43:48 -0600 Subject: [PATCH 331/675] link changes for new Tools.html --- doc/src/Section_howto.txt | 18 +++++++++--------- doc/src/Section_intro.txt | 18 +++++++++--------- doc/src/Section_modify.txt | 4 ++-- doc/src/Section_perf.txt | 4 +++- doc/src/dump.txt | 18 +++++++++--------- 5 files changed, 32 insertions(+), 30 deletions(-) diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt index 2784858f02..a46b29c73b 100644 --- a/doc/src/Section_howto.txt +++ b/doc/src/Section_howto.txt @@ -188,9 +188,9 @@ used in the CHARMM, AMBER, and DREIDING force fields. Setting coefficients is done in the input data file via the "read_data"_read_data.html command or in the input script with commands like "pair_coeff"_pair_coeff.html or -"bond_coeff"_bond_coeff.html. See "Section 9"_Section_tools.html -for additional tools that can use CHARMM or AMBER to assign force -field coefficients and convert their output into LAMMPS input. +"bond_coeff"_bond_coeff.html. See the "Tools"_Tools.html doc page for +additional tools that can use CHARMM or AMBER to assign force field +coefficients and convert their output into LAMMPS input. See "(MacKerell)"_#howto-MacKerell for a description of the CHARMM force field. See "(Cornell)"_#howto-Cornell for a description of the AMBER force @@ -762,12 +762,12 @@ simulations can be visualized (and analyzed) in a variety of ways. LAMMPS snapshots are created by the "dump"_dump.html command which can create files in several formats. The native LAMMPS dump format is a text file (see "dump atom" or "dump custom") which can be visualized -by several popular visualization tools. The "dump image"_dump_image.html -and "dump movie"_dump_image.html styles can output internally rendered -images and convert a sequence of them to a movie during the MD run. -Several programs included with LAMMPS as auxiliary tools can convert -between LAMMPS format files and other formats. -See the "Section 9"_Section_tools.html doc page for details. +by several popular visualization tools. The "dump +image"_dump_image.html and "dump movie"_dump_image.html styles can +output internally rendered images and convert a sequence of them to a +movie during the MD run. Several programs included with LAMMPS as +auxiliary tools can convert between LAMMPS format files and other +formats. See the "Tools"_Tools.html doc page for details. A Python-based toolkit distributed by our group can read native LAMMPS dump files, including custom dump files with additional columns of diff --git a/doc/src/Section_intro.txt b/doc/src/Section_intro.txt index 67293b2ee3..fd1d702d0b 100644 --- a/doc/src/Section_intro.txt +++ b/doc/src/Section_intro.txt @@ -234,8 +234,8 @@ Multi-replica models :h4 Pre- and post-processing :h4 -Various pre- and post-processing serial tools are packaged -with LAMMPS; see these "doc pages"_Section_tools.html. :ulb,l +Various pre- and post-processing serial tools are packaged with +LAMMPS; see the "Tools"_Tools.html doc page for details. :ulb,l Our group has also written and released a separate toolkit called "Pizza.py"_pizza which provides tools for doing setup, analysis, @@ -296,9 +296,9 @@ visualize your MD simulation plot your output data :ul A few tools for pre- and post-processing tasks are provided as part of -the LAMMPS package; they are described in "this -section"_Section_tools.html. However, many people use other codes or -write their own tools for these tasks. +the LAMMPS package; they are described on the "Tools"_Tools.html doc +page. However, many people use other codes or write their own tools +for these tasks. As noted above, our group has also written and released a separate toolkit called "Pizza.py"_pizza which addresses some of the listed @@ -327,8 +327,8 @@ topology information and hundreds of force-field coefficients must typically be specified. We suggest you use a program like "CHARMM"_charmm or "AMBER"_amber or other molecular builders to setup such problems and dump its information to a file. You can then -reformat the file as LAMMPS input. Some of the tools in "this -section"_Section_tools.html can assist in this process. +reformat the file as LAMMPS input. Some of the tools described on the +"Tools"_Tools.html doc page can assist in this process. Similarly, LAMMPS creates output files in a simple format. Most users post-process these files with their own analysis tools or re-format @@ -442,8 +442,8 @@ directory. :l The tools sub-directory of the LAMMPS distribution has various stand-alone codes for pre- and post-processing of LAMMPS data. More -details are given in "Section 9"_Section_tools.html. If you write -a new tool that users will find useful, it can be added to the LAMMPS +details are given on the "Tools"_Tools.html doc page. If you write a +new tool that users will find useful, it can be added to the LAMMPS distribution. :l LAMMPS is designed to be easy to extend with new code for features diff --git a/doc/src/Section_modify.txt b/doc/src/Section_modify.txt index f1d55758c8..6948ac062a 100644 --- a/doc/src/Section_modify.txt +++ b/doc/src/Section_modify.txt @@ -1,5 +1,5 @@ - "Previous Section"_Section_tools.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next + "Previous Section"_Tools.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_python.html :c :link(lws,http://lammps.sandia.gov) diff --git a/doc/src/Section_perf.txt b/doc/src/Section_perf.txt index 9998cb0d9a..56b1d7dd04 100644 --- a/doc/src/Section_perf.txt +++ b/doc/src/Section_perf.txt @@ -1,4 +1,6 @@ -"Previous Section"_Section_example.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_tools.html :c +"Previous Section"_Section_example.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Tools.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/dump.txt b/doc/src/dump.txt index 438ff1d4e0..d130846519 100644 --- a/doc/src/dump.txt +++ b/doc/src/dump.txt @@ -1,4 +1,4 @@ - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -184,10 +184,10 @@ file and in what format. Settings made via the individual values and the file itself. The {atom}, {local}, and {custom} styles create files in a simple text -format that is self-explanatory when viewing a dump file. Many of the -LAMMPS "post-processing tools"_Section_tools.html, including -"Pizza.py"_http://www.sandia.gov/~sjplimp/pizza.html, work with this -format, as does the "rerun"_rerun.html command. +format that is self-explanatory when viewing a dump file. Some of the +LAMMPS post-processing tools described on the "Tools"_Tools.html doc +page, including "Pizza.py"_http://www.sandia.gov/~sjplimp/pizza.html, +work with this format, as does the "rerun"_rerun.html command. For post-processing purposes the {atom}, {local}, and {custom} text files are self-describing in the following sense. @@ -413,10 +413,10 @@ If the filename ends with ".bin", the dump file (or files, if "*" or will be about the same size as a text version, but will typically write out much faster. Of course, when post-processing, you will need to convert it back to text format (see the "binary2txt -tool"_Section_tools.html#binary) or write your own code to read the -binary file. The format of the binary file can be understood by -looking at the tools/binary2txt.cpp file. This option is only -available for the {atom} and {custom} styles. +tool"_Tools.html#binary) or write your own code to read the binary +file. The format of the binary file can be understood by looking at +the tools/binary2txt.cpp file. This option is only available for the +{atom} and {custom} styles. If the filename ends with ".gz", the dump file (or files, if "*" or "%" is also used) is written in gzipped format. A gzipped dump file will -- GitLab From 655bd10db6279c947fba9a32120ca32077eabef5 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 24 Jul 2018 15:20:37 -0600 Subject: [PATCH 332/675] doc changes to 2 files --- doc/src/kspace_modify.txt | 75 ++++++++++++++++++++++++++------------- doc/src/kspace_style.txt | 51 ++++++++++++-------------- 2 files changed, 72 insertions(+), 54 deletions(-) diff --git a/doc/src/kspace_modify.txt b/doc/src/kspace_modify.txt index d21bb379e7..c41e9a9336 100644 --- a/doc/src/kspace_modify.txt +++ b/doc/src/kspace_modify.txt @@ -313,43 +313,67 @@ or with suffix kspace/pair styles of MSM, like OMP or GPU. The {scafacos} keyword is used for settings that are passed to the ScaFaCoS library when using "kspace_style scafacos"_kspace_style.html. -The {tolerance} option affects how the {accuracy} specified with -the "kspace_style"_kspace_style.html command is interpreted by ScaFaCoS. +The {tolerance} option affects how the {accuracy} specified with the +"kspace_style"_kspace_style.html command is interpreted by ScaFaCoS. The following values may be used: energy = absolute accuracy in total Coulomic energy energy_rel = relative accuracy in total Coulomic energy -field = absolute accuracy in electric field -field_rel = relative accuracy in electric field potential = absolute accuracy in total Coulomic potential potential_rel = relative accuracy in total Coulomic potential +field = absolute accuracy in electric field +field_rel = relative accuracy in electric field :ul -Potential and potential_rel impose a tolerance on a per-atom basis, -in comparison to the energy and energy_rel tolerance types, where -the tolerance is computed with regard to the total Coulomic energy -in the system. In comparison to that, the field and field_rel -tolerance types set a tolerance for the field values calculated -within ScaFaCoS. Since the forces are derived from the field -values, it indirectly sets a tolerance for the forces, comparable -to other LAMMPS KSpace styles, see "kspace_style"_kspace_modify.html. -The suffix '_rel' indicates that the tolerance is a relative tolerance, -whereas the other case imposes an absolute tolerance on the given +The values with suffix "_rel" indicate the tolerance is a relative +tolerance; the other values impose an absolute tolerance on the given quantity. -What needs to be taken into account is that not all solvers within -the ScaFaCoS library support all kinds of tolerance types. +The energy and energy_rel values, set a tolerance based on the total +Coulomic energy of the system. The potential and potential_rel set a +tolerance based on the per-atom Coulomic energy. The field and +field_rel tolerance types set a tolerance based on the electric field +values computed by ScaFaCoS. Since per-atom forces are derived from +the per-atom electric field, this effectively sets a tolerance on the +forces, simimlar to other LAMMPS KSpace styles, as explained on the +"kspace_style"_kspace_style.html doc page. + +RENE: Can you add some explanation of the difference between relative +and absolute? Something like this (if it's correct). If the total +Coul energy is computed to be -1000.0, then an absolute tolerance of +1.0e-3 means the actual energy is between -999.999 and -1000.001. +Whereas a relative tolerance means it is between -999 and -1001. Thus +an absolute tolerance is generally much more stringent? + +RENE: Also, can you explain more what is the difference between energy +(total) and potential (per-atom)? Which one is more vs less accurate? +Does potential mean that the maximum of any atom's energy error is < +tolerance? I.e. it is a max across all per-atom values? Ditto for +field, since it is computed on a per-atom basis? + +Note that not all ScaFaCoS solvers support all tolerance types. +These are the allowed values for each method: fmm = energy and energy_rel p2nfft = field (1d-,2d-,3d-periodic systems) or potential (0d-periodic) ewald = field -direct = has no tolerance tuning +direct = has no tolerance tuning :ul + +RENE: I think this means that the default tolerance setting +is differnet for different methods. If so, it should +be documented in the above list, i.e. by listing the default +value first. + +RENE: Does the code (LAMMPS or Scafacos) generate an error +if an unsupported tolerance is specified for a method? + +The {fmm_tuning} option is only relevant when using the FMM method. +It activates (value=1) or deactivates (value=0) an internal tuning +mechanism for the FMM solver. The tuning operation runs sequentially +and can be very time-consuming. Usually it is not needed for systems +with a homogenous charge distribution. The default for this option is +therefore {0}. -The {fmm_tuning} option (de-)activates the internal tuning mechanism -for the fmm solver. Since the internal tuning mechanism is sequential, -it can be very time-consuming and usually it is not required for -systems with a homogenous charge distribution. The default of the -setting there for is {0}, disabling the internal tuning. {1} -activates the internal tuning. +RENE: is the tuning a one-time (start-up) operation if enabled? :line @@ -405,8 +429,9 @@ gewald = gewald/disp = 0.0, slab = 1.0, compute = yes, cutoff/adjust = yes (MSM), pressure/scalar = yes (MSM), fftbench = no (PPPM), diff = ik (PPPM), mix/disp = pair, force/disp/real = -1.0, force/disp/kspace = -1.0, split = 0, tol = 1.0e-6, and disp/auto = no. For pppm/intel, -order = order/disp = 7. For scafacos settings, scafacos tolerance -field. +order = order/disp = 7. For scafacos settings, the scafacos tolerance +option depends on the method chosen, as documented above. The +scafacos fmm_tuning default = 0. :line diff --git a/doc/src/kspace_style.txt b/doc/src/kspace_style.txt index 49fb13ac37..742d71ffb8 100644 --- a/doc/src/kspace_style.txt +++ b/doc/src/kspace_style.txt @@ -236,41 +236,34 @@ See details on "this page"_Section_packages.html#USER-SCAFACOS. NOTE: Unlike other KSpace solvers in LAMMPS, ScaFaCoS computes all Coulombic interactions, both short- and long-range. Thus you should -NOT use a Coulmbic pair style when using kspace_style scafacos. Thus -the total Coulombic energy (short- and long-range) will be tallied for -"thermodynamic output"_thermo_style.html command as part of the -{elong} keyword; the {ecoul} keyword will be zero. +NOT use a Coulmbic pair style when using kspace_style scafacos. This +also means the total Coulombic energy (short- and long-range) will be +tallied for "thermodynamic output"_thermo_style.html command as part +of the {elong} keyword; the {ecoul} keyword will be zero. -NOTE: See the restriction below about use of ScaFaCoS in LAMMPS with -molecular charged systems or the TIP4P water model. - -Unlike other KSpace solvers in LAMMPS, ScaFaCoS computes all -Coulombic interactions, both short- and long-range. Thus you should -NOT use a Coulmbic pair style when using kspace_style scafacos. Thus -the total Coulombic energy (short- and long-range) will be tallied for -"thermodynamic output"_thermo_style.html command as part of the -{elong} keyword; the {ecoul} keyword will be zero. +NOTE: See the current restriction below about use of ScaFaCoS in +LAMMPS with molecular charged systems or the TIP4P water model. The specified {method} determines which ScaFaCoS algorithm is used. -The list of methods shown above are the ScaFaCoS methods currently -available from LAMMPS. Currently the following solvers are -supported for use with LAMMPS: {fmm} (Fast Multi-Pole method), -{p2nfft} (FFT-based Coulomb solver), {ewald} (Ewald-Summation) -and {direct} (direct summation). The other ScaFaCoS solvers -will be supported later on, but for the time being are -experimental in connection with LAMMPS, e.g. {p3m} (PPPM-method). -Use unsupported methods at your own discretion. To get an overview -about the included solvers, refer to "(Sutmann)"_#Sutmann2013 +These are the ScaFaCoS methods currently available from LAMMPS: + +{fmm} = Fast Multi-Pole method +{p2nfft} = FFT-based Coulomb solver +{ewald} = Ewald summation +{direct} = direct O(N^2) summation + +We plan to support additional ScaFaCoS solvers from LAMMPS in the +future. For an overview of the included solvers, refer to +"(Sutmann)"_#Sutmann2013 The specified {accuracy} is similar to the accuracy setting for other LAMMPS KSpace styles, but is passed to ScaFaCoS, which can interpret -it in different ways for different methods it supports. -Within the ScaFaCoS library the {accuracy} is treated as a tolerance -level (either absolute or relative) for the chosen quantity, where -the quantity can be either the Columic field values, the per-atom -Columic energy or the total Columic energy. Different solver support -different tolerance types, for more information on that, please -refer to "kspace_modify scafacos accuracy"_kspace_modify.html. +it in different ways for different methods it supports. Within the +ScaFaCoS library the {accuracy} is treated as a tolerance level +(either absolute or relative) for the chosen quantity, where the +quantity can be either the Columic field values, the per-atom Columic +energy or the total Columic energy. To select from these options, see +the "kspace_modify scafacos accuracy"_kspace_modify.html doc page. The "kspace_modify scafacos"_kspace_modify.html command also explains all the ScaFaCoS options currently exposed to LAMMPS. -- GitLab From 8846f97868f24ef75cecf9dd4547640cf8cb06e7 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Tue, 24 Jul 2018 15:46:28 -0600 Subject: [PATCH 333/675] explained differences between absolute and relative tolerance more --- doc/src/kspace_modify.txt | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/doc/src/kspace_modify.txt b/doc/src/kspace_modify.txt index c41e9a9336..f552f9b9b6 100644 --- a/doc/src/kspace_modify.txt +++ b/doc/src/kspace_modify.txt @@ -326,7 +326,16 @@ field_rel = relative accuracy in electric field :ul The values with suffix "_rel" indicate the tolerance is a relative tolerance; the other values impose an absolute tolerance on the given -quantity. +quantity. Absoulte tolerance in this case means, that for a given +quantity q and a given absolute tolerance of t_a the result should +be between q-t_a and q+t_a. For a relative tolerance t_r the relative +error should not be greater than t_r, i.e. abs(1 - (result/q)) < t_r. +As a consequence of this, the tolerance type should be checked, when +performing computations with a high absolute field / energy. E.g. +if the total energy in the system is 1000000.0 an absolute tolerance +of 1e-3 would mean that the result has to be between 999999.999 and +1000000.001, which would be equivalent to a relative tolerance of +1e-9. The energy and energy_rel values, set a tolerance based on the total Coulomic energy of the system. The potential and potential_rel set a @@ -337,13 +346,6 @@ the per-atom electric field, this effectively sets a tolerance on the forces, simimlar to other LAMMPS KSpace styles, as explained on the "kspace_style"_kspace_style.html doc page. -RENE: Can you add some explanation of the difference between relative -and absolute? Something like this (if it's correct). If the total -Coul energy is computed to be -1000.0, then an absolute tolerance of -1.0e-3 means the actual energy is between -999.999 and -1000.001. -Whereas a relative tolerance means it is between -999 and -1001. Thus -an absolute tolerance is generally much more stringent? - RENE: Also, can you explain more what is the difference between energy (total) and potential (per-atom)? Which one is more vs less accurate? Does potential mean that the maximum of any atom's energy error is < @@ -358,10 +360,9 @@ p2nfft = field (1d-,2d-,3d-periodic systems) or potential (0d-periodic) ewald = field direct = has no tolerance tuning :ul -RENE: I think this means that the default tolerance setting -is differnet for different methods. If so, it should -be documented in the above list, i.e. by listing the default -value first. +If the tolerance type is not changed, the default values for the +tolerance type are the first values in the above list, e.g. energy +is the default tolerance type for the fmm solver. RENE: Does the code (LAMMPS or Scafacos) generate an error if an unsupported tolerance is specified for a method? -- GitLab From 37a0a7b49bb54cedeb475772c7f64b3e83b8153c Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Tue, 24 Jul 2018 15:55:48 -0600 Subject: [PATCH 334/675] fixed compilation error --- doc/src/kspace_modify.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/kspace_modify.txt b/doc/src/kspace_modify.txt index f552f9b9b6..57cff18d7e 100644 --- a/doc/src/kspace_modify.txt +++ b/doc/src/kspace_modify.txt @@ -324,7 +324,7 @@ potential_rel = relative accuracy in total Coulomic potential field = absolute accuracy in electric field field_rel = relative accuracy in electric field :ul -The values with suffix "_rel" indicate the tolerance is a relative +The values with suffix _rel indicate the tolerance is a relative tolerance; the other values impose an absolute tolerance on the given quantity. Absoulte tolerance in this case means, that for a given quantity q and a given absolute tolerance of t_a the result should -- GitLab From a4dbac63d32af5683bf73d49817561c390f6036e Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 24 Jul 2018 17:22:15 -0600 Subject: [PATCH 335/675] more updates to the new MESSAGE package --- examples/COUPLE/lammps_vasp/OUTCAR | 14953 +++++++++++++++++++++ examples/COUPLE/lammps_vasp/README | 48 +- examples/COUPLE/lammps_vasp/vasp_wrap.py | 33 +- lib/message/cslib/src/cslib.py | 4 +- src/MESSAGE/message.cpp | 2 +- src/MESSAGE/server.cpp | 2 +- 6 files changed, 15009 insertions(+), 33 deletions(-) create mode 100644 examples/COUPLE/lammps_vasp/OUTCAR diff --git a/examples/COUPLE/lammps_vasp/OUTCAR b/examples/COUPLE/lammps_vasp/OUTCAR new file mode 100644 index 0000000000..6e8ef736cc --- /dev/null +++ b/examples/COUPLE/lammps_vasp/OUTCAR @@ -0,0 +1,14953 @@ + vasp.5.4.4.18Apr17-6-g9f103f2a35 (build Aug 01 2017 10:32:50) complex + + executed on LinuxIFC date 2017.12.19 15:22:45 + running on 9 total cores + distrk: each k-point on 9 cores, 1 groups + distr: one band on NCORES_PER_BAND= 1 cores, 9 groups + + +-------------------------------------------------------------------------------------------------------- + + + INCAR: + POTCAR: PAW_PBE W_sv_GW 23Mar2010 + POTCAR: PAW_PBE Be_sv_GW 31Mar2010 + + ----------------------------------------------------------------------------- +| | +| W W AA RRRRR N N II N N GGGG !!! | +| W W A A R R NN N II NN N G G !!! | +| W W A A R R N N N II N N N G !!! | +| W WW W AAAAAA RRRRR N N N II N N N G GGG ! | +| WW WW A A R R N NN II N NN G G | +| W W A A R R N N II N N GGGG !!! | +| | +| For optimal performance we recommend to set | +| NCORE= 4 - approx SQRT( number of cores) | +| NCORE specifies how many cores store one orbital (NPAR=cpu/NCORE). | +| This setting can greatly improve the performance of VASP for DFT. | +| The default, NCORE=1 might be grossly inefficient | +| on modern multi-core architectures or massively parallel machines. | +| Do your own testing !!!! | +| Unfortunately you need to use the default for GW and RPA calculations. | +| (for HF NCORE is supported but not extensively tested yet) | +| | + ----------------------------------------------------------------------------- + + POTCAR: PAW_PBE W_sv_GW 23Mar2010 + VRHFIN =W: 5p6s5d + LEXCH = PE + EATOM = 1863.8917 eV, 136.9922 Ry + + TITEL = PAW_PBE W_sv_GW 23Mar2010 + LULTRA = F use ultrasoft PP ? + IUNSCR = 1 unscreen: 0-lin 1-nonlin 2-no + RPACOR = 1.500 partial core radius + POMASS = 183.850; ZVAL = 14.000 mass and valenz + RCORE = 2.300 outmost cutoff radius + RWIGS = 2.600; RWIGS = 1.376 wigner-seitz radius (au A) + ENMAX = 317.132; ENMIN = 237.849 eV + RCLOC = 1.609 cutoff for local pot + LCOR = T correct aug charges + LPAW = T paw PP + EAUG = 807.757 + DEXC = 0.000 + RMAX = 2.349 core radius for proj-oper + RAUG = 1.300 factor for augmentation sphere + RDEP = 2.382 radius for radial grids + RDEPT = 1.832 core radius for aug-charge + + Atomic configuration + 14 entries + n l j E occ. + 1 0 0.50 -69464.1497 2.0000 + 2 0 0.50 -11984.7400 2.0000 + 2 1 1.50 -10478.3405 6.0000 + 3 0 0.50 -2757.5605 2.0000 + 3 1 1.50 -2311.6706 6.0000 + 3 2 2.50 -1799.5973 10.0000 + 4 0 0.50 -566.1609 2.0000 + 4 1 1.50 -419.9482 6.0000 + 4 2 2.50 -234.8191 10.0000 + 4 3 3.50 -29.7363 14.0000 + 5 0 0.50 -75.5905 2.0000 + 5 1 1.50 -39.9756 6.0000 + 5 2 2.50 -2.4479 6.0000 + 5 3 2.50 -1.3606 0.0000 + Description + l E TYP RCUT TYP RCUT + 0 -75.5905419 23 1.500 + 0 -76.9511245 23 1.500 + 0 108.8466080 23 1.500 + 1 -39.9756040 23 1.800 + 1 68.0291300 23 1.800 + 2 -2.4478587 23 2.150 + 2 -0.0030619 23 2.150 + 3 4.0817478 23 2.300 + local pseudopotential read in + partial core-charges read in + partial kinetic energy density read in + kinetic energy density of atom read in + atomic valenz-charges read in + non local Contribution for L= 0 read in + real space projection operators read in + non local Contribution for L= 0 read in + real space projection operators read in + non local Contribution for L= 0 read in + real space projection operators read in + non local Contribution for L= 1 read in + real space projection operators read in + non local Contribution for L= 1 read in + real space projection operators read in + non local Contribution for L= 2 read in + real space projection operators read in + non local Contribution for L= 2 read in + real space projection operators read in + non local Contribution for L= 3 read in + real space projection operators read in + PAW grid and wavefunctions read in + + number of l-projection operators is LMAX = 8 + number of lm-projection operators is LMMAX = 26 + + POTCAR: PAW_PBE Be_sv_GW 31Mar2010 + VRHFIN =Be: s2p0 + LEXCH = PE + EATOM = 390.9322 eV, 28.7327 Ry + + TITEL = PAW_PBE Be_sv_GW 31Mar2010 + LULTRA = F use ultrasoft PP ? + IUNSCR = 0 unscreen: 0-lin 1-nonlin 2-no + RPACOR = 0.000 partial core radius + POMASS = 9.013; ZVAL = 4.000 mass and valenz + RCORE = 1.300 outmost cutoff radius + RWIGS = 1.600; RWIGS = 0.847 wigner-seitz radius (au A) + ENMAX = 537.454; ENMIN = 403.090 eV + RCLOC = 1.007 cutoff for local pot + LCOR = T correct aug charges + LPAW = T paw PP + EAUG = 1293.449 + RMAX = 1.324 core radius for proj-oper + RAUG = 1.300 factor for augmentation sphere + RDEP = 1.364 radius for radial grids + RDEPT = 1.200 core radius for aug-charge + + Atomic configuration + 5 entries + n l j E occ. + 1 0 0.50 -108.8489 2.0000 + 1 0 0.50 -107.4860 0.0000 + 2 1 0.50 -2.9389 2.0000 + 3 2 1.50 -1.3606 0.0000 + 4 3 2.50 -1.3606 0.0000 + Description + l E TYP RCUT TYP RCUT + 0 -108.8489274 23 1.100 + 0 -107.4860254 23 1.100 + 0 95.2407820 23 1.100 + 1 -2.9389331 23 1.300 + 1 15.5352276 23 1.300 + 2 54.4233040 23 1.300 + local pseudopotential read in + kinetic energy density of atom read in + atomic valenz-charges read in + non local Contribution for L= 0 read in + real space projection operators read in + non local Contribution for L= 0 read in + real space projection operators read in + non local Contribution for L= 0 read in + real space projection operators read in + non local Contribution for L= 1 read in + real space projection operators read in + non local Contribution for L= 1 read in + real space projection operators read in + non local Contribution for L= 2 read in + real space projection operators read in + PAW grid and wavefunctions read in + + number of l-projection operators is LMAX = 6 + number of lm-projection operators is LMMAX = 14 + + PAW_PBE W_sv_GW 23Mar2010 : + energy of atom 1 EATOM=-1863.8917 + kinetic energy error for atom= 0.0147 (will be added to EATOM!!) + PAW_PBE Be_sv_GW 31Mar2010 : + energy of atom 2 EATOM= -390.9322 + kinetic energy error for atom= 0.0274 (will be added to EATOM!!) + + + POSCAR: WBe3 L1_2 + positions in direct lattice + No initial velocities read in + exchange correlation table for LEXCH = 8 + RHO(1)= 0.500 N(1) = 2000 + RHO(2)= 100.500 N(2) = 4000 + + + +-------------------------------------------------------------------------------------------------------- + + + ion position nearest neighbor table + 1 0.000 0.000 0.000- 2 2.38 2 2.38 2 2.38 2 2.38 3 2.43 3 2.43 3 2.43 3 2.43 + 4 2.56 4 2.56 4 2.56 4 2.56 + 2 0.000 0.500 0.500- 1 2.38 1 2.38 1 2.38 1 2.38 + 3 0.500 0.000 0.500- 1 2.43 1 2.43 1 2.43 1 2.43 + 4 0.500 0.500 0.000- 1 2.56 1 2.56 1 2.56 1 2.56 + + LATTYP: Found a simple orthorhombic cell. + ALAT = 3.1767810000 + B/A-ratio = 1.1198253830 + C/A-ratio = 1.1551350250 + + Lattice vectors: + + A1 = ( 0.0000000000, 0.0000000000, -3.1767810000) + A2 = ( 0.0000000000, -3.5574400000, 0.0000000000) + A3 = ( -3.6696110000, 0.0000000000, 0.0000000000) + + +Analysis of symmetry for initial positions (statically): +===================================================================== + Subroutine PRICEL returns: + Original cell was already a primitive cell. + + + Routine SETGRP: Setting up the symmetry group for a + simple orthorhombic supercell. + + + Subroutine GETGRP returns: Found 8 space group operations + (whereof 8 operations were pure point group operations) + out of a pool of 8 trial point group operations. + + +The static configuration has the point symmetry D_2h. + + +Analysis of symmetry for dynamics (positions and initial velocities): +===================================================================== + Subroutine PRICEL returns: + Original cell was already a primitive cell. + + + Routine SETGRP: Setting up the symmetry group for a + simple orthorhombic supercell. + + + Subroutine GETGRP returns: Found 8 space group operations + (whereof 8 operations were pure point group operations) + out of a pool of 8 trial point group operations. + + +The dynamic configuration has the point symmetry D_2h. + + + Subroutine INISYM returns: Found 8 space group operations + (whereof 8 operations are pure point group operations), + and found 1 'primitive' translations + + + + KPOINTS: K-Points + +Automatic generation of k-mesh. +Space group operators: + irot det(A) alpha n_x n_y n_z tau_x tau_y tau_z + 1 1.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 + 2 -1.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 + 3 1.000000 179.999999 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 + 4 -1.000000 179.999999 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 + 5 1.000000 180.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 + 6 -1.000000 180.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 + 7 1.000000 180.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 + 8 -1.000000 180.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 + + Subroutine IBZKPT returns following result: + =========================================== + + Found 512 irreducible k-points: + + Following reciprocal coordinates: + Coordinates Weight + 0.000000 0.000000 0.000000 1.000000 + 0.066667 0.000000 0.000000 2.000000 + 0.133333 0.000000 0.000000 2.000000 + 0.200000 0.000000 0.000000 2.000000 + 0.266667 0.000000 0.000000 2.000000 + 0.333333 0.000000 0.000000 2.000000 + 0.400000 0.000000 0.000000 2.000000 + 0.466667 0.000000 0.000000 2.000000 + 0.000000 0.066667 0.000000 2.000000 + 0.066667 0.066667 0.000000 4.000000 + 0.133333 0.066667 0.000000 4.000000 + 0.200000 0.066667 0.000000 4.000000 + 0.266667 0.066667 0.000000 4.000000 + 0.333333 0.066667 0.000000 4.000000 + 0.400000 0.066667 0.000000 4.000000 + 0.466667 0.066667 0.000000 4.000000 + 0.000000 0.133333 0.000000 2.000000 + 0.066667 0.133333 0.000000 4.000000 + 0.133333 0.133333 0.000000 4.000000 + 0.200000 0.133333 0.000000 4.000000 + 0.266667 0.133333 0.000000 4.000000 + 0.333333 0.133333 0.000000 4.000000 + 0.400000 0.133333 0.000000 4.000000 + 0.466667 0.133333 0.000000 4.000000 + 0.000000 0.200000 0.000000 2.000000 + 0.066667 0.200000 0.000000 4.000000 + 0.133333 0.200000 0.000000 4.000000 + 0.200000 0.200000 0.000000 4.000000 + 0.266667 0.200000 0.000000 4.000000 + 0.333333 0.200000 0.000000 4.000000 + 0.400000 0.200000 0.000000 4.000000 + 0.466667 0.200000 0.000000 4.000000 + 0.000000 0.266667 0.000000 2.000000 + 0.066667 0.266667 0.000000 4.000000 + 0.133333 0.266667 0.000000 4.000000 + 0.200000 0.266667 0.000000 4.000000 + 0.266667 0.266667 0.000000 4.000000 + 0.333333 0.266667 0.000000 4.000000 + 0.400000 0.266667 0.000000 4.000000 + 0.466667 0.266667 0.000000 4.000000 + 0.000000 0.333333 0.000000 2.000000 + 0.066667 0.333333 0.000000 4.000000 + 0.133333 0.333333 0.000000 4.000000 + 0.200000 0.333333 0.000000 4.000000 + 0.266667 0.333333 0.000000 4.000000 + 0.333333 0.333333 0.000000 4.000000 + 0.400000 0.333333 0.000000 4.000000 + 0.466667 0.333333 0.000000 4.000000 + 0.000000 0.400000 0.000000 2.000000 + 0.066667 0.400000 0.000000 4.000000 + 0.133333 0.400000 0.000000 4.000000 + 0.200000 0.400000 0.000000 4.000000 + 0.266667 0.400000 0.000000 4.000000 + 0.333333 0.400000 0.000000 4.000000 + 0.400000 0.400000 0.000000 4.000000 + 0.466667 0.400000 0.000000 4.000000 + 0.000000 0.466667 0.000000 2.000000 + 0.066667 0.466667 0.000000 4.000000 + 0.133333 0.466667 0.000000 4.000000 + 0.200000 0.466667 0.000000 4.000000 + 0.266667 0.466667 0.000000 4.000000 + 0.333333 0.466667 0.000000 4.000000 + 0.400000 0.466667 0.000000 4.000000 + 0.466667 0.466667 0.000000 4.000000 + 0.000000 0.000000 0.066667 2.000000 + 0.066667 0.000000 0.066667 4.000000 + 0.133333 0.000000 0.066667 4.000000 + 0.200000 0.000000 0.066667 4.000000 + 0.266667 0.000000 0.066667 4.000000 + 0.333333 0.000000 0.066667 4.000000 + 0.400000 0.000000 0.066667 4.000000 + 0.466667 0.000000 0.066667 4.000000 + 0.000000 0.066667 0.066667 4.000000 + 0.066667 0.066667 0.066667 8.000000 + 0.133333 0.066667 0.066667 8.000000 + 0.200000 0.066667 0.066667 8.000000 + 0.266667 0.066667 0.066667 8.000000 + 0.333333 0.066667 0.066667 8.000000 + 0.400000 0.066667 0.066667 8.000000 + 0.466667 0.066667 0.066667 8.000000 + 0.000000 0.133333 0.066667 4.000000 + 0.066667 0.133333 0.066667 8.000000 + 0.133333 0.133333 0.066667 8.000000 + 0.200000 0.133333 0.066667 8.000000 + 0.266667 0.133333 0.066667 8.000000 + 0.333333 0.133333 0.066667 8.000000 + 0.400000 0.133333 0.066667 8.000000 + 0.466667 0.133333 0.066667 8.000000 + 0.000000 0.200000 0.066667 4.000000 + 0.066667 0.200000 0.066667 8.000000 + 0.133333 0.200000 0.066667 8.000000 + 0.200000 0.200000 0.066667 8.000000 + 0.266667 0.200000 0.066667 8.000000 + 0.333333 0.200000 0.066667 8.000000 + 0.400000 0.200000 0.066667 8.000000 + 0.466667 0.200000 0.066667 8.000000 + 0.000000 0.266667 0.066667 4.000000 + 0.066667 0.266667 0.066667 8.000000 + 0.133333 0.266667 0.066667 8.000000 + 0.200000 0.266667 0.066667 8.000000 + 0.266667 0.266667 0.066667 8.000000 + 0.333333 0.266667 0.066667 8.000000 + 0.400000 0.266667 0.066667 8.000000 + 0.466667 0.266667 0.066667 8.000000 + 0.000000 0.333333 0.066667 4.000000 + 0.066667 0.333333 0.066667 8.000000 + 0.133333 0.333333 0.066667 8.000000 + 0.200000 0.333333 0.066667 8.000000 + 0.266667 0.333333 0.066667 8.000000 + 0.333333 0.333333 0.066667 8.000000 + 0.400000 0.333333 0.066667 8.000000 + 0.466667 0.333333 0.066667 8.000000 + 0.000000 0.400000 0.066667 4.000000 + 0.066667 0.400000 0.066667 8.000000 + 0.133333 0.400000 0.066667 8.000000 + 0.200000 0.400000 0.066667 8.000000 + 0.266667 0.400000 0.066667 8.000000 + 0.333333 0.400000 0.066667 8.000000 + 0.400000 0.400000 0.066667 8.000000 + 0.466667 0.400000 0.066667 8.000000 + 0.000000 0.466667 0.066667 4.000000 + 0.066667 0.466667 0.066667 8.000000 + 0.133333 0.466667 0.066667 8.000000 + 0.200000 0.466667 0.066667 8.000000 + 0.266667 0.466667 0.066667 8.000000 + 0.333333 0.466667 0.066667 8.000000 + 0.400000 0.466667 0.066667 8.000000 + 0.466667 0.466667 0.066667 8.000000 + 0.000000 0.000000 0.133333 2.000000 + 0.066667 0.000000 0.133333 4.000000 + 0.133333 0.000000 0.133333 4.000000 + 0.200000 0.000000 0.133333 4.000000 + 0.266667 0.000000 0.133333 4.000000 + 0.333333 0.000000 0.133333 4.000000 + 0.400000 0.000000 0.133333 4.000000 + 0.466667 0.000000 0.133333 4.000000 + 0.000000 0.066667 0.133333 4.000000 + 0.066667 0.066667 0.133333 8.000000 + 0.133333 0.066667 0.133333 8.000000 + 0.200000 0.066667 0.133333 8.000000 + 0.266667 0.066667 0.133333 8.000000 + 0.333333 0.066667 0.133333 8.000000 + 0.400000 0.066667 0.133333 8.000000 + 0.466667 0.066667 0.133333 8.000000 + 0.000000 0.133333 0.133333 4.000000 + 0.066667 0.133333 0.133333 8.000000 + 0.133333 0.133333 0.133333 8.000000 + 0.200000 0.133333 0.133333 8.000000 + 0.266667 0.133333 0.133333 8.000000 + 0.333333 0.133333 0.133333 8.000000 + 0.400000 0.133333 0.133333 8.000000 + 0.466667 0.133333 0.133333 8.000000 + 0.000000 0.200000 0.133333 4.000000 + 0.066667 0.200000 0.133333 8.000000 + 0.133333 0.200000 0.133333 8.000000 + 0.200000 0.200000 0.133333 8.000000 + 0.266667 0.200000 0.133333 8.000000 + 0.333333 0.200000 0.133333 8.000000 + 0.400000 0.200000 0.133333 8.000000 + 0.466667 0.200000 0.133333 8.000000 + 0.000000 0.266667 0.133333 4.000000 + 0.066667 0.266667 0.133333 8.000000 + 0.133333 0.266667 0.133333 8.000000 + 0.200000 0.266667 0.133333 8.000000 + 0.266667 0.266667 0.133333 8.000000 + 0.333333 0.266667 0.133333 8.000000 + 0.400000 0.266667 0.133333 8.000000 + 0.466667 0.266667 0.133333 8.000000 + 0.000000 0.333333 0.133333 4.000000 + 0.066667 0.333333 0.133333 8.000000 + 0.133333 0.333333 0.133333 8.000000 + 0.200000 0.333333 0.133333 8.000000 + 0.266667 0.333333 0.133333 8.000000 + 0.333333 0.333333 0.133333 8.000000 + 0.400000 0.333333 0.133333 8.000000 + 0.466667 0.333333 0.133333 8.000000 + 0.000000 0.400000 0.133333 4.000000 + 0.066667 0.400000 0.133333 8.000000 + 0.133333 0.400000 0.133333 8.000000 + 0.200000 0.400000 0.133333 8.000000 + 0.266667 0.400000 0.133333 8.000000 + 0.333333 0.400000 0.133333 8.000000 + 0.400000 0.400000 0.133333 8.000000 + 0.466667 0.400000 0.133333 8.000000 + 0.000000 0.466667 0.133333 4.000000 + 0.066667 0.466667 0.133333 8.000000 + 0.133333 0.466667 0.133333 8.000000 + 0.200000 0.466667 0.133333 8.000000 + 0.266667 0.466667 0.133333 8.000000 + 0.333333 0.466667 0.133333 8.000000 + 0.400000 0.466667 0.133333 8.000000 + 0.466667 0.466667 0.133333 8.000000 + 0.000000 0.000000 0.200000 2.000000 + 0.066667 0.000000 0.200000 4.000000 + 0.133333 0.000000 0.200000 4.000000 + 0.200000 0.000000 0.200000 4.000000 + 0.266667 0.000000 0.200000 4.000000 + 0.333333 0.000000 0.200000 4.000000 + 0.400000 0.000000 0.200000 4.000000 + 0.466667 0.000000 0.200000 4.000000 + 0.000000 0.066667 0.200000 4.000000 + 0.066667 0.066667 0.200000 8.000000 + 0.133333 0.066667 0.200000 8.000000 + 0.200000 0.066667 0.200000 8.000000 + 0.266667 0.066667 0.200000 8.000000 + 0.333333 0.066667 0.200000 8.000000 + 0.400000 0.066667 0.200000 8.000000 + 0.466667 0.066667 0.200000 8.000000 + 0.000000 0.133333 0.200000 4.000000 + 0.066667 0.133333 0.200000 8.000000 + 0.133333 0.133333 0.200000 8.000000 + 0.200000 0.133333 0.200000 8.000000 + 0.266667 0.133333 0.200000 8.000000 + 0.333333 0.133333 0.200000 8.000000 + 0.400000 0.133333 0.200000 8.000000 + 0.466667 0.133333 0.200000 8.000000 + 0.000000 0.200000 0.200000 4.000000 + 0.066667 0.200000 0.200000 8.000000 + 0.133333 0.200000 0.200000 8.000000 + 0.200000 0.200000 0.200000 8.000000 + 0.266667 0.200000 0.200000 8.000000 + 0.333333 0.200000 0.200000 8.000000 + 0.400000 0.200000 0.200000 8.000000 + 0.466667 0.200000 0.200000 8.000000 + 0.000000 0.266667 0.200000 4.000000 + 0.066667 0.266667 0.200000 8.000000 + 0.133333 0.266667 0.200000 8.000000 + 0.200000 0.266667 0.200000 8.000000 + 0.266667 0.266667 0.200000 8.000000 + 0.333333 0.266667 0.200000 8.000000 + 0.400000 0.266667 0.200000 8.000000 + 0.466667 0.266667 0.200000 8.000000 + 0.000000 0.333333 0.200000 4.000000 + 0.066667 0.333333 0.200000 8.000000 + 0.133333 0.333333 0.200000 8.000000 + 0.200000 0.333333 0.200000 8.000000 + 0.266667 0.333333 0.200000 8.000000 + 0.333333 0.333333 0.200000 8.000000 + 0.400000 0.333333 0.200000 8.000000 + 0.466667 0.333333 0.200000 8.000000 + 0.000000 0.400000 0.200000 4.000000 + 0.066667 0.400000 0.200000 8.000000 + 0.133333 0.400000 0.200000 8.000000 + 0.200000 0.400000 0.200000 8.000000 + 0.266667 0.400000 0.200000 8.000000 + 0.333333 0.400000 0.200000 8.000000 + 0.400000 0.400000 0.200000 8.000000 + 0.466667 0.400000 0.200000 8.000000 + 0.000000 0.466667 0.200000 4.000000 + 0.066667 0.466667 0.200000 8.000000 + 0.133333 0.466667 0.200000 8.000000 + 0.200000 0.466667 0.200000 8.000000 + 0.266667 0.466667 0.200000 8.000000 + 0.333333 0.466667 0.200000 8.000000 + 0.400000 0.466667 0.200000 8.000000 + 0.466667 0.466667 0.200000 8.000000 + 0.000000 0.000000 0.266667 2.000000 + 0.066667 0.000000 0.266667 4.000000 + 0.133333 0.000000 0.266667 4.000000 + 0.200000 0.000000 0.266667 4.000000 + 0.266667 0.000000 0.266667 4.000000 + 0.333333 0.000000 0.266667 4.000000 + 0.400000 0.000000 0.266667 4.000000 + 0.466667 0.000000 0.266667 4.000000 + 0.000000 0.066667 0.266667 4.000000 + 0.066667 0.066667 0.266667 8.000000 + 0.133333 0.066667 0.266667 8.000000 + 0.200000 0.066667 0.266667 8.000000 + 0.266667 0.066667 0.266667 8.000000 + 0.333333 0.066667 0.266667 8.000000 + 0.400000 0.066667 0.266667 8.000000 + 0.466667 0.066667 0.266667 8.000000 + 0.000000 0.133333 0.266667 4.000000 + 0.066667 0.133333 0.266667 8.000000 + 0.133333 0.133333 0.266667 8.000000 + 0.200000 0.133333 0.266667 8.000000 + 0.266667 0.133333 0.266667 8.000000 + 0.333333 0.133333 0.266667 8.000000 + 0.400000 0.133333 0.266667 8.000000 + 0.466667 0.133333 0.266667 8.000000 + 0.000000 0.200000 0.266667 4.000000 + 0.066667 0.200000 0.266667 8.000000 + 0.133333 0.200000 0.266667 8.000000 + 0.200000 0.200000 0.266667 8.000000 + 0.266667 0.200000 0.266667 8.000000 + 0.333333 0.200000 0.266667 8.000000 + 0.400000 0.200000 0.266667 8.000000 + 0.466667 0.200000 0.266667 8.000000 + 0.000000 0.266667 0.266667 4.000000 + 0.066667 0.266667 0.266667 8.000000 + 0.133333 0.266667 0.266667 8.000000 + 0.200000 0.266667 0.266667 8.000000 + 0.266667 0.266667 0.266667 8.000000 + 0.333333 0.266667 0.266667 8.000000 + 0.400000 0.266667 0.266667 8.000000 + 0.466667 0.266667 0.266667 8.000000 + 0.000000 0.333333 0.266667 4.000000 + 0.066667 0.333333 0.266667 8.000000 + 0.133333 0.333333 0.266667 8.000000 + 0.200000 0.333333 0.266667 8.000000 + 0.266667 0.333333 0.266667 8.000000 + 0.333333 0.333333 0.266667 8.000000 + 0.400000 0.333333 0.266667 8.000000 + 0.466667 0.333333 0.266667 8.000000 + 0.000000 0.400000 0.266667 4.000000 + 0.066667 0.400000 0.266667 8.000000 + 0.133333 0.400000 0.266667 8.000000 + 0.200000 0.400000 0.266667 8.000000 + 0.266667 0.400000 0.266667 8.000000 + 0.333333 0.400000 0.266667 8.000000 + 0.400000 0.400000 0.266667 8.000000 + 0.466667 0.400000 0.266667 8.000000 + 0.000000 0.466667 0.266667 4.000000 + 0.066667 0.466667 0.266667 8.000000 + 0.133333 0.466667 0.266667 8.000000 + 0.200000 0.466667 0.266667 8.000000 + 0.266667 0.466667 0.266667 8.000000 + 0.333333 0.466667 0.266667 8.000000 + 0.400000 0.466667 0.266667 8.000000 + 0.466667 0.466667 0.266667 8.000000 + 0.000000 0.000000 0.333333 2.000000 + 0.066667 0.000000 0.333333 4.000000 + 0.133333 0.000000 0.333333 4.000000 + 0.200000 0.000000 0.333333 4.000000 + 0.266667 0.000000 0.333333 4.000000 + 0.333333 0.000000 0.333333 4.000000 + 0.400000 0.000000 0.333333 4.000000 + 0.466667 0.000000 0.333333 4.000000 + 0.000000 0.066667 0.333333 4.000000 + 0.066667 0.066667 0.333333 8.000000 + 0.133333 0.066667 0.333333 8.000000 + 0.200000 0.066667 0.333333 8.000000 + 0.266667 0.066667 0.333333 8.000000 + 0.333333 0.066667 0.333333 8.000000 + 0.400000 0.066667 0.333333 8.000000 + 0.466667 0.066667 0.333333 8.000000 + 0.000000 0.133333 0.333333 4.000000 + 0.066667 0.133333 0.333333 8.000000 + 0.133333 0.133333 0.333333 8.000000 + 0.200000 0.133333 0.333333 8.000000 + 0.266667 0.133333 0.333333 8.000000 + 0.333333 0.133333 0.333333 8.000000 + 0.400000 0.133333 0.333333 8.000000 + 0.466667 0.133333 0.333333 8.000000 + 0.000000 0.200000 0.333333 4.000000 + 0.066667 0.200000 0.333333 8.000000 + 0.133333 0.200000 0.333333 8.000000 + 0.200000 0.200000 0.333333 8.000000 + 0.266667 0.200000 0.333333 8.000000 + 0.333333 0.200000 0.333333 8.000000 + 0.400000 0.200000 0.333333 8.000000 + 0.466667 0.200000 0.333333 8.000000 + 0.000000 0.266667 0.333333 4.000000 + 0.066667 0.266667 0.333333 8.000000 + 0.133333 0.266667 0.333333 8.000000 + 0.200000 0.266667 0.333333 8.000000 + 0.266667 0.266667 0.333333 8.000000 + 0.333333 0.266667 0.333333 8.000000 + 0.400000 0.266667 0.333333 8.000000 + 0.466667 0.266667 0.333333 8.000000 + 0.000000 0.333333 0.333333 4.000000 + 0.066667 0.333333 0.333333 8.000000 + 0.133333 0.333333 0.333333 8.000000 + 0.200000 0.333333 0.333333 8.000000 + 0.266667 0.333333 0.333333 8.000000 + 0.333333 0.333333 0.333333 8.000000 + 0.400000 0.333333 0.333333 8.000000 + 0.466667 0.333333 0.333333 8.000000 + 0.000000 0.400000 0.333333 4.000000 + 0.066667 0.400000 0.333333 8.000000 + 0.133333 0.400000 0.333333 8.000000 + 0.200000 0.400000 0.333333 8.000000 + 0.266667 0.400000 0.333333 8.000000 + 0.333333 0.400000 0.333333 8.000000 + 0.400000 0.400000 0.333333 8.000000 + 0.466667 0.400000 0.333333 8.000000 + 0.000000 0.466667 0.333333 4.000000 + 0.066667 0.466667 0.333333 8.000000 + 0.133333 0.466667 0.333333 8.000000 + 0.200000 0.466667 0.333333 8.000000 + 0.266667 0.466667 0.333333 8.000000 + 0.333333 0.466667 0.333333 8.000000 + 0.400000 0.466667 0.333333 8.000000 + 0.466667 0.466667 0.333333 8.000000 + 0.000000 0.000000 0.400000 2.000000 + 0.066667 0.000000 0.400000 4.000000 + 0.133333 0.000000 0.400000 4.000000 + 0.200000 0.000000 0.400000 4.000000 + 0.266667 0.000000 0.400000 4.000000 + 0.333333 0.000000 0.400000 4.000000 + 0.400000 0.000000 0.400000 4.000000 + 0.466667 0.000000 0.400000 4.000000 + 0.000000 0.066667 0.400000 4.000000 + 0.066667 0.066667 0.400000 8.000000 + 0.133333 0.066667 0.400000 8.000000 + 0.200000 0.066667 0.400000 8.000000 + 0.266667 0.066667 0.400000 8.000000 + 0.333333 0.066667 0.400000 8.000000 + 0.400000 0.066667 0.400000 8.000000 + 0.466667 0.066667 0.400000 8.000000 + 0.000000 0.133333 0.400000 4.000000 + 0.066667 0.133333 0.400000 8.000000 + 0.133333 0.133333 0.400000 8.000000 + 0.200000 0.133333 0.400000 8.000000 + 0.266667 0.133333 0.400000 8.000000 + 0.333333 0.133333 0.400000 8.000000 + 0.400000 0.133333 0.400000 8.000000 + 0.466667 0.133333 0.400000 8.000000 + 0.000000 0.200000 0.400000 4.000000 + 0.066667 0.200000 0.400000 8.000000 + 0.133333 0.200000 0.400000 8.000000 + 0.200000 0.200000 0.400000 8.000000 + 0.266667 0.200000 0.400000 8.000000 + 0.333333 0.200000 0.400000 8.000000 + 0.400000 0.200000 0.400000 8.000000 + 0.466667 0.200000 0.400000 8.000000 + 0.000000 0.266667 0.400000 4.000000 + 0.066667 0.266667 0.400000 8.000000 + 0.133333 0.266667 0.400000 8.000000 + 0.200000 0.266667 0.400000 8.000000 + 0.266667 0.266667 0.400000 8.000000 + 0.333333 0.266667 0.400000 8.000000 + 0.400000 0.266667 0.400000 8.000000 + 0.466667 0.266667 0.400000 8.000000 + 0.000000 0.333333 0.400000 4.000000 + 0.066667 0.333333 0.400000 8.000000 + 0.133333 0.333333 0.400000 8.000000 + 0.200000 0.333333 0.400000 8.000000 + 0.266667 0.333333 0.400000 8.000000 + 0.333333 0.333333 0.400000 8.000000 + 0.400000 0.333333 0.400000 8.000000 + 0.466667 0.333333 0.400000 8.000000 + 0.000000 0.400000 0.400000 4.000000 + 0.066667 0.400000 0.400000 8.000000 + 0.133333 0.400000 0.400000 8.000000 + 0.200000 0.400000 0.400000 8.000000 + 0.266667 0.400000 0.400000 8.000000 + 0.333333 0.400000 0.400000 8.000000 + 0.400000 0.400000 0.400000 8.000000 + 0.466667 0.400000 0.400000 8.000000 + 0.000000 0.466667 0.400000 4.000000 + 0.066667 0.466667 0.400000 8.000000 + 0.133333 0.466667 0.400000 8.000000 + 0.200000 0.466667 0.400000 8.000000 + 0.266667 0.466667 0.400000 8.000000 + 0.333333 0.466667 0.400000 8.000000 + 0.400000 0.466667 0.400000 8.000000 + 0.466667 0.466667 0.400000 8.000000 + 0.000000 0.000000 0.466667 2.000000 + 0.066667 0.000000 0.466667 4.000000 + 0.133333 0.000000 0.466667 4.000000 + 0.200000 0.000000 0.466667 4.000000 + 0.266667 0.000000 0.466667 4.000000 + 0.333333 0.000000 0.466667 4.000000 + 0.400000 0.000000 0.466667 4.000000 + 0.466667 0.000000 0.466667 4.000000 + 0.000000 0.066667 0.466667 4.000000 + 0.066667 0.066667 0.466667 8.000000 + 0.133333 0.066667 0.466667 8.000000 + 0.200000 0.066667 0.466667 8.000000 + 0.266667 0.066667 0.466667 8.000000 + 0.333333 0.066667 0.466667 8.000000 + 0.400000 0.066667 0.466667 8.000000 + 0.466667 0.066667 0.466667 8.000000 + 0.000000 0.133333 0.466667 4.000000 + 0.066667 0.133333 0.466667 8.000000 + 0.133333 0.133333 0.466667 8.000000 + 0.200000 0.133333 0.466667 8.000000 + 0.266667 0.133333 0.466667 8.000000 + 0.333333 0.133333 0.466667 8.000000 + 0.400000 0.133333 0.466667 8.000000 + 0.466667 0.133333 0.466667 8.000000 + 0.000000 0.200000 0.466667 4.000000 + 0.066667 0.200000 0.466667 8.000000 + 0.133333 0.200000 0.466667 8.000000 + 0.200000 0.200000 0.466667 8.000000 + 0.266667 0.200000 0.466667 8.000000 + 0.333333 0.200000 0.466667 8.000000 + 0.400000 0.200000 0.466667 8.000000 + 0.466667 0.200000 0.466667 8.000000 + 0.000000 0.266667 0.466667 4.000000 + 0.066667 0.266667 0.466667 8.000000 + 0.133333 0.266667 0.466667 8.000000 + 0.200000 0.266667 0.466667 8.000000 + 0.266667 0.266667 0.466667 8.000000 + 0.333333 0.266667 0.466667 8.000000 + 0.400000 0.266667 0.466667 8.000000 + 0.466667 0.266667 0.466667 8.000000 + 0.000000 0.333333 0.466667 4.000000 + 0.066667 0.333333 0.466667 8.000000 + 0.133333 0.333333 0.466667 8.000000 + 0.200000 0.333333 0.466667 8.000000 + 0.266667 0.333333 0.466667 8.000000 + 0.333333 0.333333 0.466667 8.000000 + 0.400000 0.333333 0.466667 8.000000 + 0.466667 0.333333 0.466667 8.000000 + 0.000000 0.400000 0.466667 4.000000 + 0.066667 0.400000 0.466667 8.000000 + 0.133333 0.400000 0.466667 8.000000 + 0.200000 0.400000 0.466667 8.000000 + 0.266667 0.400000 0.466667 8.000000 + 0.333333 0.400000 0.466667 8.000000 + 0.400000 0.400000 0.466667 8.000000 + 0.466667 0.400000 0.466667 8.000000 + 0.000000 0.466667 0.466667 4.000000 + 0.066667 0.466667 0.466667 8.000000 + 0.133333 0.466667 0.466667 8.000000 + 0.200000 0.466667 0.466667 8.000000 + 0.266667 0.466667 0.466667 8.000000 + 0.333333 0.466667 0.466667 8.000000 + 0.400000 0.466667 0.466667 8.000000 + 0.466667 0.466667 0.466667 8.000000 + + Following cartesian coordinates: + Coordinates Weight + 0.000000 0.000000 0.000000 1.000000 + 0.018167 0.000000 0.000000 2.000000 + 0.036334 0.000000 0.000000 2.000000 + 0.054502 0.000000 0.000000 2.000000 + 0.072669 0.000000 0.000000 2.000000 + 0.090836 0.000000 0.000000 2.000000 + 0.109003 0.000000 0.000000 2.000000 + 0.127171 0.000000 0.000000 2.000000 + 0.000000 0.018740 0.000000 2.000000 + 0.018167 0.018740 0.000000 4.000000 + 0.036334 0.018740 0.000000 4.000000 + 0.054502 0.018740 0.000000 4.000000 + 0.072669 0.018740 0.000000 4.000000 + 0.090836 0.018740 0.000000 4.000000 + 0.109003 0.018740 0.000000 4.000000 + 0.127171 0.018740 0.000000 4.000000 + 0.000000 0.037480 0.000000 2.000000 + 0.018167 0.037480 0.000000 4.000000 + 0.036334 0.037480 0.000000 4.000000 + 0.054502 0.037480 0.000000 4.000000 + 0.072669 0.037480 0.000000 4.000000 + 0.090836 0.037480 0.000000 4.000000 + 0.109003 0.037480 0.000000 4.000000 + 0.127171 0.037480 0.000000 4.000000 + 0.000000 0.056220 0.000000 2.000000 + 0.018167 0.056220 0.000000 4.000000 + 0.036334 0.056220 0.000000 4.000000 + 0.054502 0.056220 0.000000 4.000000 + 0.072669 0.056220 0.000000 4.000000 + 0.090836 0.056220 0.000000 4.000000 + 0.109003 0.056220 0.000000 4.000000 + 0.127171 0.056220 0.000000 4.000000 + 0.000000 0.074960 0.000000 2.000000 + 0.018167 0.074960 0.000000 4.000000 + 0.036334 0.074960 0.000000 4.000000 + 0.054502 0.074960 0.000000 4.000000 + 0.072669 0.074960 0.000000 4.000000 + 0.090836 0.074960 0.000000 4.000000 + 0.109003 0.074960 0.000000 4.000000 + 0.127171 0.074960 0.000000 4.000000 + 0.000000 0.093700 0.000000 2.000000 + 0.018167 0.093700 0.000000 4.000000 + 0.036334 0.093700 0.000000 4.000000 + 0.054502 0.093700 0.000000 4.000000 + 0.072669 0.093700 0.000000 4.000000 + 0.090836 0.093700 0.000000 4.000000 + 0.109003 0.093700 0.000000 4.000000 + 0.127171 0.093700 0.000000 4.000000 + 0.000000 0.112440 0.000000 2.000000 + 0.018167 0.112440 0.000000 4.000000 + 0.036334 0.112440 0.000000 4.000000 + 0.054502 0.112440 0.000000 4.000000 + 0.072669 0.112440 0.000000 4.000000 + 0.090836 0.112440 0.000000 4.000000 + 0.109003 0.112440 0.000000 4.000000 + 0.127171 0.112440 0.000000 4.000000 + 0.000000 0.131180 0.000000 2.000000 + 0.018167 0.131180 0.000000 4.000000 + 0.036334 0.131180 0.000000 4.000000 + 0.054502 0.131180 0.000000 4.000000 + 0.072669 0.131180 0.000000 4.000000 + 0.090836 0.131180 0.000000 4.000000 + 0.109003 0.131180 0.000000 4.000000 + 0.127171 0.131180 0.000000 4.000000 + 0.000000 0.000000 0.020986 2.000000 + 0.018167 0.000000 0.020986 4.000000 + 0.036334 0.000000 0.020986 4.000000 + 0.054502 0.000000 0.020986 4.000000 + 0.072669 0.000000 0.020986 4.000000 + 0.090836 0.000000 0.020986 4.000000 + 0.109003 0.000000 0.020986 4.000000 + 0.127171 0.000000 0.020986 4.000000 + 0.000000 0.018740 0.020986 4.000000 + 0.018167 0.018740 0.020986 8.000000 + 0.036334 0.018740 0.020986 8.000000 + 0.054502 0.018740 0.020986 8.000000 + 0.072669 0.018740 0.020986 8.000000 + 0.090836 0.018740 0.020986 8.000000 + 0.109003 0.018740 0.020986 8.000000 + 0.127171 0.018740 0.020986 8.000000 + 0.000000 0.037480 0.020986 4.000000 + 0.018167 0.037480 0.020986 8.000000 + 0.036334 0.037480 0.020986 8.000000 + 0.054502 0.037480 0.020986 8.000000 + 0.072669 0.037480 0.020986 8.000000 + 0.090836 0.037480 0.020986 8.000000 + 0.109003 0.037480 0.020986 8.000000 + 0.127171 0.037480 0.020986 8.000000 + 0.000000 0.056220 0.020986 4.000000 + 0.018167 0.056220 0.020986 8.000000 + 0.036334 0.056220 0.020986 8.000000 + 0.054502 0.056220 0.020986 8.000000 + 0.072669 0.056220 0.020986 8.000000 + 0.090836 0.056220 0.020986 8.000000 + 0.109003 0.056220 0.020986 8.000000 + 0.127171 0.056220 0.020986 8.000000 + 0.000000 0.074960 0.020986 4.000000 + 0.018167 0.074960 0.020986 8.000000 + 0.036334 0.074960 0.020986 8.000000 + 0.054502 0.074960 0.020986 8.000000 + 0.072669 0.074960 0.020986 8.000000 + 0.090836 0.074960 0.020986 8.000000 + 0.109003 0.074960 0.020986 8.000000 + 0.127171 0.074960 0.020986 8.000000 + 0.000000 0.093700 0.020986 4.000000 + 0.018167 0.093700 0.020986 8.000000 + 0.036334 0.093700 0.020986 8.000000 + 0.054502 0.093700 0.020986 8.000000 + 0.072669 0.093700 0.020986 8.000000 + 0.090836 0.093700 0.020986 8.000000 + 0.109003 0.093700 0.020986 8.000000 + 0.127171 0.093700 0.020986 8.000000 + 0.000000 0.112440 0.020986 4.000000 + 0.018167 0.112440 0.020986 8.000000 + 0.036334 0.112440 0.020986 8.000000 + 0.054502 0.112440 0.020986 8.000000 + 0.072669 0.112440 0.020986 8.000000 + 0.090836 0.112440 0.020986 8.000000 + 0.109003 0.112440 0.020986 8.000000 + 0.127171 0.112440 0.020986 8.000000 + 0.000000 0.131180 0.020986 4.000000 + 0.018167 0.131180 0.020986 8.000000 + 0.036334 0.131180 0.020986 8.000000 + 0.054502 0.131180 0.020986 8.000000 + 0.072669 0.131180 0.020986 8.000000 + 0.090836 0.131180 0.020986 8.000000 + 0.109003 0.131180 0.020986 8.000000 + 0.127171 0.131180 0.020986 8.000000 + 0.000000 0.000000 0.041971 2.000000 + 0.018167 0.000000 0.041971 4.000000 + 0.036334 0.000000 0.041971 4.000000 + 0.054502 0.000000 0.041971 4.000000 + 0.072669 0.000000 0.041971 4.000000 + 0.090836 0.000000 0.041971 4.000000 + 0.109003 0.000000 0.041971 4.000000 + 0.127171 0.000000 0.041971 4.000000 + 0.000000 0.018740 0.041971 4.000000 + 0.018167 0.018740 0.041971 8.000000 + 0.036334 0.018740 0.041971 8.000000 + 0.054502 0.018740 0.041971 8.000000 + 0.072669 0.018740 0.041971 8.000000 + 0.090836 0.018740 0.041971 8.000000 + 0.109003 0.018740 0.041971 8.000000 + 0.127171 0.018740 0.041971 8.000000 + 0.000000 0.037480 0.041971 4.000000 + 0.018167 0.037480 0.041971 8.000000 + 0.036334 0.037480 0.041971 8.000000 + 0.054502 0.037480 0.041971 8.000000 + 0.072669 0.037480 0.041971 8.000000 + 0.090836 0.037480 0.041971 8.000000 + 0.109003 0.037480 0.041971 8.000000 + 0.127171 0.037480 0.041971 8.000000 + 0.000000 0.056220 0.041971 4.000000 + 0.018167 0.056220 0.041971 8.000000 + 0.036334 0.056220 0.041971 8.000000 + 0.054502 0.056220 0.041971 8.000000 + 0.072669 0.056220 0.041971 8.000000 + 0.090836 0.056220 0.041971 8.000000 + 0.109003 0.056220 0.041971 8.000000 + 0.127171 0.056220 0.041971 8.000000 + 0.000000 0.074960 0.041971 4.000000 + 0.018167 0.074960 0.041971 8.000000 + 0.036334 0.074960 0.041971 8.000000 + 0.054502 0.074960 0.041971 8.000000 + 0.072669 0.074960 0.041971 8.000000 + 0.090836 0.074960 0.041971 8.000000 + 0.109003 0.074960 0.041971 8.000000 + 0.127171 0.074960 0.041971 8.000000 + 0.000000 0.093700 0.041971 4.000000 + 0.018167 0.093700 0.041971 8.000000 + 0.036334 0.093700 0.041971 8.000000 + 0.054502 0.093700 0.041971 8.000000 + 0.072669 0.093700 0.041971 8.000000 + 0.090836 0.093700 0.041971 8.000000 + 0.109003 0.093700 0.041971 8.000000 + 0.127171 0.093700 0.041971 8.000000 + 0.000000 0.112440 0.041971 4.000000 + 0.018167 0.112440 0.041971 8.000000 + 0.036334 0.112440 0.041971 8.000000 + 0.054502 0.112440 0.041971 8.000000 + 0.072669 0.112440 0.041971 8.000000 + 0.090836 0.112440 0.041971 8.000000 + 0.109003 0.112440 0.041971 8.000000 + 0.127171 0.112440 0.041971 8.000000 + 0.000000 0.131180 0.041971 4.000000 + 0.018167 0.131180 0.041971 8.000000 + 0.036334 0.131180 0.041971 8.000000 + 0.054502 0.131180 0.041971 8.000000 + 0.072669 0.131180 0.041971 8.000000 + 0.090836 0.131180 0.041971 8.000000 + 0.109003 0.131180 0.041971 8.000000 + 0.127171 0.131180 0.041971 8.000000 + 0.000000 0.000000 0.062957 2.000000 + 0.018167 0.000000 0.062957 4.000000 + 0.036334 0.000000 0.062957 4.000000 + 0.054502 0.000000 0.062957 4.000000 + 0.072669 0.000000 0.062957 4.000000 + 0.090836 0.000000 0.062957 4.000000 + 0.109003 0.000000 0.062957 4.000000 + 0.127171 0.000000 0.062957 4.000000 + 0.000000 0.018740 0.062957 4.000000 + 0.018167 0.018740 0.062957 8.000000 + 0.036334 0.018740 0.062957 8.000000 + 0.054502 0.018740 0.062957 8.000000 + 0.072669 0.018740 0.062957 8.000000 + 0.090836 0.018740 0.062957 8.000000 + 0.109003 0.018740 0.062957 8.000000 + 0.127171 0.018740 0.062957 8.000000 + 0.000000 0.037480 0.062957 4.000000 + 0.018167 0.037480 0.062957 8.000000 + 0.036334 0.037480 0.062957 8.000000 + 0.054502 0.037480 0.062957 8.000000 + 0.072669 0.037480 0.062957 8.000000 + 0.090836 0.037480 0.062957 8.000000 + 0.109003 0.037480 0.062957 8.000000 + 0.127171 0.037480 0.062957 8.000000 + 0.000000 0.056220 0.062957 4.000000 + 0.018167 0.056220 0.062957 8.000000 + 0.036334 0.056220 0.062957 8.000000 + 0.054502 0.056220 0.062957 8.000000 + 0.072669 0.056220 0.062957 8.000000 + 0.090836 0.056220 0.062957 8.000000 + 0.109003 0.056220 0.062957 8.000000 + 0.127171 0.056220 0.062957 8.000000 + 0.000000 0.074960 0.062957 4.000000 + 0.018167 0.074960 0.062957 8.000000 + 0.036334 0.074960 0.062957 8.000000 + 0.054502 0.074960 0.062957 8.000000 + 0.072669 0.074960 0.062957 8.000000 + 0.090836 0.074960 0.062957 8.000000 + 0.109003 0.074960 0.062957 8.000000 + 0.127171 0.074960 0.062957 8.000000 + 0.000000 0.093700 0.062957 4.000000 + 0.018167 0.093700 0.062957 8.000000 + 0.036334 0.093700 0.062957 8.000000 + 0.054502 0.093700 0.062957 8.000000 + 0.072669 0.093700 0.062957 8.000000 + 0.090836 0.093700 0.062957 8.000000 + 0.109003 0.093700 0.062957 8.000000 + 0.127171 0.093700 0.062957 8.000000 + 0.000000 0.112440 0.062957 4.000000 + 0.018167 0.112440 0.062957 8.000000 + 0.036334 0.112440 0.062957 8.000000 + 0.054502 0.112440 0.062957 8.000000 + 0.072669 0.112440 0.062957 8.000000 + 0.090836 0.112440 0.062957 8.000000 + 0.109003 0.112440 0.062957 8.000000 + 0.127171 0.112440 0.062957 8.000000 + 0.000000 0.131180 0.062957 4.000000 + 0.018167 0.131180 0.062957 8.000000 + 0.036334 0.131180 0.062957 8.000000 + 0.054502 0.131180 0.062957 8.000000 + 0.072669 0.131180 0.062957 8.000000 + 0.090836 0.131180 0.062957 8.000000 + 0.109003 0.131180 0.062957 8.000000 + 0.127171 0.131180 0.062957 8.000000 + 0.000000 0.000000 0.083942 2.000000 + 0.018167 0.000000 0.083942 4.000000 + 0.036334 0.000000 0.083942 4.000000 + 0.054502 0.000000 0.083942 4.000000 + 0.072669 0.000000 0.083942 4.000000 + 0.090836 0.000000 0.083942 4.000000 + 0.109003 0.000000 0.083942 4.000000 + 0.127171 0.000000 0.083942 4.000000 + 0.000000 0.018740 0.083942 4.000000 + 0.018167 0.018740 0.083942 8.000000 + 0.036334 0.018740 0.083942 8.000000 + 0.054502 0.018740 0.083942 8.000000 + 0.072669 0.018740 0.083942 8.000000 + 0.090836 0.018740 0.083942 8.000000 + 0.109003 0.018740 0.083942 8.000000 + 0.127171 0.018740 0.083942 8.000000 + 0.000000 0.037480 0.083942 4.000000 + 0.018167 0.037480 0.083942 8.000000 + 0.036334 0.037480 0.083942 8.000000 + 0.054502 0.037480 0.083942 8.000000 + 0.072669 0.037480 0.083942 8.000000 + 0.090836 0.037480 0.083942 8.000000 + 0.109003 0.037480 0.083942 8.000000 + 0.127171 0.037480 0.083942 8.000000 + 0.000000 0.056220 0.083942 4.000000 + 0.018167 0.056220 0.083942 8.000000 + 0.036334 0.056220 0.083942 8.000000 + 0.054502 0.056220 0.083942 8.000000 + 0.072669 0.056220 0.083942 8.000000 + 0.090836 0.056220 0.083942 8.000000 + 0.109003 0.056220 0.083942 8.000000 + 0.127171 0.056220 0.083942 8.000000 + 0.000000 0.074960 0.083942 4.000000 + 0.018167 0.074960 0.083942 8.000000 + 0.036334 0.074960 0.083942 8.000000 + 0.054502 0.074960 0.083942 8.000000 + 0.072669 0.074960 0.083942 8.000000 + 0.090836 0.074960 0.083942 8.000000 + 0.109003 0.074960 0.083942 8.000000 + 0.127171 0.074960 0.083942 8.000000 + 0.000000 0.093700 0.083942 4.000000 + 0.018167 0.093700 0.083942 8.000000 + 0.036334 0.093700 0.083942 8.000000 + 0.054502 0.093700 0.083942 8.000000 + 0.072669 0.093700 0.083942 8.000000 + 0.090836 0.093700 0.083942 8.000000 + 0.109003 0.093700 0.083942 8.000000 + 0.127171 0.093700 0.083942 8.000000 + 0.000000 0.112440 0.083942 4.000000 + 0.018167 0.112440 0.083942 8.000000 + 0.036334 0.112440 0.083942 8.000000 + 0.054502 0.112440 0.083942 8.000000 + 0.072669 0.112440 0.083942 8.000000 + 0.090836 0.112440 0.083942 8.000000 + 0.109003 0.112440 0.083942 8.000000 + 0.127171 0.112440 0.083942 8.000000 + 0.000000 0.131180 0.083942 4.000000 + 0.018167 0.131180 0.083942 8.000000 + 0.036334 0.131180 0.083942 8.000000 + 0.054502 0.131180 0.083942 8.000000 + 0.072669 0.131180 0.083942 8.000000 + 0.090836 0.131180 0.083942 8.000000 + 0.109003 0.131180 0.083942 8.000000 + 0.127171 0.131180 0.083942 8.000000 + 0.000000 0.000000 0.104928 2.000000 + 0.018167 0.000000 0.104928 4.000000 + 0.036334 0.000000 0.104928 4.000000 + 0.054502 0.000000 0.104928 4.000000 + 0.072669 0.000000 0.104928 4.000000 + 0.090836 0.000000 0.104928 4.000000 + 0.109003 0.000000 0.104928 4.000000 + 0.127171 0.000000 0.104928 4.000000 + 0.000000 0.018740 0.104928 4.000000 + 0.018167 0.018740 0.104928 8.000000 + 0.036334 0.018740 0.104928 8.000000 + 0.054502 0.018740 0.104928 8.000000 + 0.072669 0.018740 0.104928 8.000000 + 0.090836 0.018740 0.104928 8.000000 + 0.109003 0.018740 0.104928 8.000000 + 0.127171 0.018740 0.104928 8.000000 + 0.000000 0.037480 0.104928 4.000000 + 0.018167 0.037480 0.104928 8.000000 + 0.036334 0.037480 0.104928 8.000000 + 0.054502 0.037480 0.104928 8.000000 + 0.072669 0.037480 0.104928 8.000000 + 0.090836 0.037480 0.104928 8.000000 + 0.109003 0.037480 0.104928 8.000000 + 0.127171 0.037480 0.104928 8.000000 + 0.000000 0.056220 0.104928 4.000000 + 0.018167 0.056220 0.104928 8.000000 + 0.036334 0.056220 0.104928 8.000000 + 0.054502 0.056220 0.104928 8.000000 + 0.072669 0.056220 0.104928 8.000000 + 0.090836 0.056220 0.104928 8.000000 + 0.109003 0.056220 0.104928 8.000000 + 0.127171 0.056220 0.104928 8.000000 + 0.000000 0.074960 0.104928 4.000000 + 0.018167 0.074960 0.104928 8.000000 + 0.036334 0.074960 0.104928 8.000000 + 0.054502 0.074960 0.104928 8.000000 + 0.072669 0.074960 0.104928 8.000000 + 0.090836 0.074960 0.104928 8.000000 + 0.109003 0.074960 0.104928 8.000000 + 0.127171 0.074960 0.104928 8.000000 + 0.000000 0.093700 0.104928 4.000000 + 0.018167 0.093700 0.104928 8.000000 + 0.036334 0.093700 0.104928 8.000000 + 0.054502 0.093700 0.104928 8.000000 + 0.072669 0.093700 0.104928 8.000000 + 0.090836 0.093700 0.104928 8.000000 + 0.109003 0.093700 0.104928 8.000000 + 0.127171 0.093700 0.104928 8.000000 + 0.000000 0.112440 0.104928 4.000000 + 0.018167 0.112440 0.104928 8.000000 + 0.036334 0.112440 0.104928 8.000000 + 0.054502 0.112440 0.104928 8.000000 + 0.072669 0.112440 0.104928 8.000000 + 0.090836 0.112440 0.104928 8.000000 + 0.109003 0.112440 0.104928 8.000000 + 0.127171 0.112440 0.104928 8.000000 + 0.000000 0.131180 0.104928 4.000000 + 0.018167 0.131180 0.104928 8.000000 + 0.036334 0.131180 0.104928 8.000000 + 0.054502 0.131180 0.104928 8.000000 + 0.072669 0.131180 0.104928 8.000000 + 0.090836 0.131180 0.104928 8.000000 + 0.109003 0.131180 0.104928 8.000000 + 0.127171 0.131180 0.104928 8.000000 + 0.000000 0.000000 0.125914 2.000000 + 0.018167 0.000000 0.125914 4.000000 + 0.036334 0.000000 0.125914 4.000000 + 0.054502 0.000000 0.125914 4.000000 + 0.072669 0.000000 0.125914 4.000000 + 0.090836 0.000000 0.125914 4.000000 + 0.109003 0.000000 0.125914 4.000000 + 0.127171 0.000000 0.125914 4.000000 + 0.000000 0.018740 0.125914 4.000000 + 0.018167 0.018740 0.125914 8.000000 + 0.036334 0.018740 0.125914 8.000000 + 0.054502 0.018740 0.125914 8.000000 + 0.072669 0.018740 0.125914 8.000000 + 0.090836 0.018740 0.125914 8.000000 + 0.109003 0.018740 0.125914 8.000000 + 0.127171 0.018740 0.125914 8.000000 + 0.000000 0.037480 0.125914 4.000000 + 0.018167 0.037480 0.125914 8.000000 + 0.036334 0.037480 0.125914 8.000000 + 0.054502 0.037480 0.125914 8.000000 + 0.072669 0.037480 0.125914 8.000000 + 0.090836 0.037480 0.125914 8.000000 + 0.109003 0.037480 0.125914 8.000000 + 0.127171 0.037480 0.125914 8.000000 + 0.000000 0.056220 0.125914 4.000000 + 0.018167 0.056220 0.125914 8.000000 + 0.036334 0.056220 0.125914 8.000000 + 0.054502 0.056220 0.125914 8.000000 + 0.072669 0.056220 0.125914 8.000000 + 0.090836 0.056220 0.125914 8.000000 + 0.109003 0.056220 0.125914 8.000000 + 0.127171 0.056220 0.125914 8.000000 + 0.000000 0.074960 0.125914 4.000000 + 0.018167 0.074960 0.125914 8.000000 + 0.036334 0.074960 0.125914 8.000000 + 0.054502 0.074960 0.125914 8.000000 + 0.072669 0.074960 0.125914 8.000000 + 0.090836 0.074960 0.125914 8.000000 + 0.109003 0.074960 0.125914 8.000000 + 0.127171 0.074960 0.125914 8.000000 + 0.000000 0.093700 0.125914 4.000000 + 0.018167 0.093700 0.125914 8.000000 + 0.036334 0.093700 0.125914 8.000000 + 0.054502 0.093700 0.125914 8.000000 + 0.072669 0.093700 0.125914 8.000000 + 0.090836 0.093700 0.125914 8.000000 + 0.109003 0.093700 0.125914 8.000000 + 0.127171 0.093700 0.125914 8.000000 + 0.000000 0.112440 0.125914 4.000000 + 0.018167 0.112440 0.125914 8.000000 + 0.036334 0.112440 0.125914 8.000000 + 0.054502 0.112440 0.125914 8.000000 + 0.072669 0.112440 0.125914 8.000000 + 0.090836 0.112440 0.125914 8.000000 + 0.109003 0.112440 0.125914 8.000000 + 0.127171 0.112440 0.125914 8.000000 + 0.000000 0.131180 0.125914 4.000000 + 0.018167 0.131180 0.125914 8.000000 + 0.036334 0.131180 0.125914 8.000000 + 0.054502 0.131180 0.125914 8.000000 + 0.072669 0.131180 0.125914 8.000000 + 0.090836 0.131180 0.125914 8.000000 + 0.109003 0.131180 0.125914 8.000000 + 0.127171 0.131180 0.125914 8.000000 + 0.000000 0.000000 0.146899 2.000000 + 0.018167 0.000000 0.146899 4.000000 + 0.036334 0.000000 0.146899 4.000000 + 0.054502 0.000000 0.146899 4.000000 + 0.072669 0.000000 0.146899 4.000000 + 0.090836 0.000000 0.146899 4.000000 + 0.109003 0.000000 0.146899 4.000000 + 0.127171 0.000000 0.146899 4.000000 + 0.000000 0.018740 0.146899 4.000000 + 0.018167 0.018740 0.146899 8.000000 + 0.036334 0.018740 0.146899 8.000000 + 0.054502 0.018740 0.146899 8.000000 + 0.072669 0.018740 0.146899 8.000000 + 0.090836 0.018740 0.146899 8.000000 + 0.109003 0.018740 0.146899 8.000000 + 0.127171 0.018740 0.146899 8.000000 + 0.000000 0.037480 0.146899 4.000000 + 0.018167 0.037480 0.146899 8.000000 + 0.036334 0.037480 0.146899 8.000000 + 0.054502 0.037480 0.146899 8.000000 + 0.072669 0.037480 0.146899 8.000000 + 0.090836 0.037480 0.146899 8.000000 + 0.109003 0.037480 0.146899 8.000000 + 0.127171 0.037480 0.146899 8.000000 + 0.000000 0.056220 0.146899 4.000000 + 0.018167 0.056220 0.146899 8.000000 + 0.036334 0.056220 0.146899 8.000000 + 0.054502 0.056220 0.146899 8.000000 + 0.072669 0.056220 0.146899 8.000000 + 0.090836 0.056220 0.146899 8.000000 + 0.109003 0.056220 0.146899 8.000000 + 0.127171 0.056220 0.146899 8.000000 + 0.000000 0.074960 0.146899 4.000000 + 0.018167 0.074960 0.146899 8.000000 + 0.036334 0.074960 0.146899 8.000000 + 0.054502 0.074960 0.146899 8.000000 + 0.072669 0.074960 0.146899 8.000000 + 0.090836 0.074960 0.146899 8.000000 + 0.109003 0.074960 0.146899 8.000000 + 0.127171 0.074960 0.146899 8.000000 + 0.000000 0.093700 0.146899 4.000000 + 0.018167 0.093700 0.146899 8.000000 + 0.036334 0.093700 0.146899 8.000000 + 0.054502 0.093700 0.146899 8.000000 + 0.072669 0.093700 0.146899 8.000000 + 0.090836 0.093700 0.146899 8.000000 + 0.109003 0.093700 0.146899 8.000000 + 0.127171 0.093700 0.146899 8.000000 + 0.000000 0.112440 0.146899 4.000000 + 0.018167 0.112440 0.146899 8.000000 + 0.036334 0.112440 0.146899 8.000000 + 0.054502 0.112440 0.146899 8.000000 + 0.072669 0.112440 0.146899 8.000000 + 0.090836 0.112440 0.146899 8.000000 + 0.109003 0.112440 0.146899 8.000000 + 0.127171 0.112440 0.146899 8.000000 + 0.000000 0.131180 0.146899 4.000000 + 0.018167 0.131180 0.146899 8.000000 + 0.036334 0.131180 0.146899 8.000000 + 0.054502 0.131180 0.146899 8.000000 + 0.072669 0.131180 0.146899 8.000000 + 0.090836 0.131180 0.146899 8.000000 + 0.109003 0.131180 0.146899 8.000000 + 0.127171 0.131180 0.146899 8.000000 + + + +-------------------------------------------------------------------------------------------------------- + + + + + Dimension of arrays: + k-points NKPTS = 512 k-points in BZ NKDIM = 512 number of bands NBANDS= 18 + number of dos NEDOS = 301 number of ions NIONS = 4 + non local maximal LDIM = 8 non local SUM 2l+1 LMDIM = 26 + total plane-waves NPLWV = 11520 + max r-space proj IRMAX = 1 max aug-charges IRDMAX= 9112 + dimension x,y,z NGX = 24 NGY = 24 NGZ = 20 + dimension x,y,z NGXF= 48 NGYF= 48 NGZF= 40 + support grid NGXF= 48 NGYF= 48 NGZF= 40 + ions per type = 1 3 + NGX,Y,Z is equivalent to a cutoff of 10.87, 11.22, 10.47 a.u. + NGXF,Y,Z is equivalent to a cutoff of 21.75, 22.43, 20.93 a.u. + + SYSTEM = unknown system + POSCAR = WBe3 L1_2 + + Startparameter for this run: + NWRITE = 2 write-flag & timer + PREC = normal normal or accurate (medium, high low for compatibility) + ISTART = 0 job : 0-new 1-cont 2-samecut + ICHARG = 2 charge: 1-file 2-atom 10-const + ISPIN = 1 spin polarized calculation? + LNONCOLLINEAR = F non collinear calculations + LSORBIT = F spin-orbit coupling + INIWAV = 1 electr: 0-lowe 1-rand 2-diag + LASPH = F aspherical Exc in radial PAW + METAGGA= F non-selfconsistent MetaGGA calc. + + Electronic Relaxation 1 + ENCUT = 600.0 eV 44.10 Ry 6.64 a.u. 7.33 7.11 6.34*2*pi/ulx,y,z + ENINI = 600.0 initial cutoff + ENAUG = 1293.4 eV augmentation charge cutoff + NELM = 100; NELMIN= 2; NELMDL= -5 # of ELM steps + EDIFF = 0.1E-05 stopping-criterion for ELM + LREAL = F real-space projection + NLSPLINE = F spline interpolate recip. space projectors + LCOMPAT= F compatible to vasp.4.4 + GGA_COMPAT = T GGA compatible to vasp.4.4-vasp.4.6 + LMAXPAW = -100 max onsite density + LMAXMIX = 2 max onsite mixed and CHGCAR + VOSKOWN= 0 Vosko Wilk Nusair interpolation + ROPT = 0.00000 0.00000 + Ionic relaxation + EDIFFG = 0.1E-02 stopping-criterion for IOM + NSW = 0 number of steps for IOM + NBLOCK = 1; KBLOCK = 1 inner block; outer block + IBRION = -1 ionic relax: 0-MD 1-quasi-New 2-CG + NFREE = 0 steps in history (QN), initial steepest desc. (CG) + ISIF = 2 stress and relaxation + IWAVPR = 10 prediction: 0-non 1-charg 2-wave 3-comb + ISYM = 2 0-nonsym 1-usesym 2-fastsym + LCORR = T Harris-Foulkes like correction to forces + + POTIM = 0.5000 time-step for ionic-motion + TEIN = 0.0 initial temperature + TEBEG = 3500.0; TEEND =3500.0 temperature during run + SMASS = -3.00 Nose mass-parameter (am) + estimated Nose-frequenzy (Omega) = 0.10E-29 period in steps =****** mass= -0.308E-27a.u. + SCALEE = 1.0000 scale energy and forces + NPACO = 256; APACO = 16.0 distance and # of slots for P.C. + PSTRESS= 0.0 pullay stress + + Mass of Ions in am + POMASS = 183.85 9.01 + Ionic Valenz + ZVAL = 14.00 4.00 + Atomic Wigner-Seitz radii + RWIGS = -1.00 -1.00 + virtual crystal weights + VCA = 1.00 1.00 + NELECT = 26.0000 total number of electrons + NUPDOWN= -1.0000 fix difference up-down + + DOS related values: + EMIN = 10.00; EMAX =-10.00 energy-range for DOS + EFERMI = 0.00 + ISMEAR = 0; SIGMA = 0.10 broadening in eV -4-tet -1-fermi 0-gaus + + Electronic relaxation 2 (details) + IALGO = 48 algorithm + LDIAG = T sub-space diagonalisation (order eigenvalues) + LSUBROT= F optimize rotation matrix (better conditioning) + TURBO = 0 0=normal 1=particle mesh + IRESTART = 0 0=no restart 2=restart with 2 vectors + NREBOOT = 0 no. of reboots + NMIN = 0 reboot dimension + EREF = 0.00 reference energy to select bands + IMIX = 4 mixing-type and parameters + AMIX = 0.40; BMIX = 1.00 + AMIX_MAG = 1.60; BMIX_MAG = 1.00 + AMIN = 0.10 + WC = 100.; INIMIX= 1; MIXPRE= 1; MAXMIX= -45 + + Intra band minimization: + WEIMIN = 0.0000 energy-eigenvalue tresh-hold + EBREAK = 0.14E-07 absolut break condition + DEPER = 0.30 relativ break condition + + TIME = 0.40 timestep for ELM + + volume/ion in A,a.u. = 10.37 69.97 + Fermi-wavevector in a.u.,A,eV,Ry = 1.401149 2.647788 26.711209 1.963218 + Thomas-Fermi vector in A = 2.524039 + + Write flags + LWAVE = T write WAVECAR + LDOWNSAMPLE = F k-point downsampling of WAVECAR + LCHARG = T write CHGCAR + LVTOT = F write LOCPOT, total local potential + LVHAR = F write LOCPOT, Hartree potential only + LELF = F write electronic localiz. function (ELF) + LORBIT = 0 0 simple, 1 ext, 2 COOP (PROOUT), +10 PAW based schemes + + + Dipole corrections + LMONO = F monopole corrections only (constant potential shift) + LDIPOL = F correct potential (dipole corrections) + IDIPOL = 0 1-x, 2-y, 3-z, 4-all directions + EPSILON= 1.0000000 bulk dielectric constant + + Exchange correlation treatment: + GGA = -- GGA type + LEXCH = 8 internal setting for exchange type + VOSKOWN= 0 Vosko Wilk Nusair interpolation + LHFCALC = F Hartree Fock is set to + LHFONE = F Hartree Fock one center treatment + AEXX = 0.0000 exact exchange contribution + + Linear response parameters + LEPSILON= F determine dielectric tensor + LRPA = F only Hartree local field effects (RPA) + LNABLA = F use nabla operator in PAW spheres + LVEL = F velocity operator in full k-point grid + LINTERFAST= F fast interpolation + KINTER = 0 interpolate to denser k-point grid + CSHIFT =0.1000 complex shift for real part using Kramers Kronig + OMEGAMAX= -1.0 maximum frequency + DEG_THRESHOLD= 0.2000000E-02 threshold for treating states as degnerate + RTIME = -0.100 relaxation time in fs + (WPLASMAI= 0.000 imaginary part of plasma frequency in eV, 0.658/RTIME) + DFIELD = 0.0000000 0.0000000 0.0000000 field for delta impulse in time + + Orbital magnetization related: + ORBITALMAG= F switch on orbital magnetization + LCHIMAG = F perturbation theory with respect to B field + DQ = 0.001000 dq finite difference perturbation B field + LLRAUG = F two centre corrections for induced B field + + + +-------------------------------------------------------------------------------------------------------- + + + Static calculation + charge density and potential will be updated during run + non-spin polarized calculation + RMM-DIIS sequential band-by-band + perform sub-space diagonalisation + before iterative eigenvector-optimisation + modified Broyden-mixing scheme, WC = 100.0 + initial mixing is a Kerker type mixing with AMIX = 0.4000 and BMIX = 1.0000 + Hartree-type preconditioning will be used + using additional bands 5 + reciprocal scheme for non local part + use partial core corrections + calculate Harris-corrections to forces + (improved forces if not selfconsistent) + use gradient corrections + use of overlap-Matrix (Vanderbilt PP) + Gauss-broadening in eV SIGMA = 0.10 + + +-------------------------------------------------------------------------------------------------------- + + + energy-cutoff : 600.00 + volume of cell : 41.47 + direct lattice vectors reciprocal lattice vectors + 3.669611000 0.000000000 0.000000000 0.272508448 0.000000000 0.000000000 + 0.000000000 3.557440000 0.000000000 0.000000000 0.281101016 0.000000000 + 0.000000000 0.000000000 3.176781000 0.000000000 0.000000000 0.314784053 + + length of vectors + 3.669611000 3.557440000 3.176781000 0.272508448 0.281101016 0.314784053 + + + + k-points in units of 2pi/SCALE and weight: K-Points + 0.00000000 0.00000000 0.00000000 0.000 + 0.01816723 0.00000000 0.00000000 0.001 + 0.03633446 0.00000000 0.00000000 0.001 + 0.05450169 0.00000000 0.00000000 0.001 + 0.07266892 0.00000000 0.00000000 0.001 + 0.09083615 0.00000000 0.00000000 0.001 + 0.10900338 0.00000000 0.00000000 0.001 + 0.12717061 0.00000000 0.00000000 0.001 + 0.00000000 0.01874007 0.00000000 0.001 + 0.01816723 0.01874007 0.00000000 0.001 + 0.03633446 0.01874007 0.00000000 0.001 + 0.05450169 0.01874007 0.00000000 0.001 + 0.07266892 0.01874007 0.00000000 0.001 + 0.09083615 0.01874007 0.00000000 0.001 + 0.10900338 0.01874007 0.00000000 0.001 + 0.12717061 0.01874007 0.00000000 0.001 + 0.00000000 0.03748014 0.00000000 0.001 + 0.01816723 0.03748014 0.00000000 0.001 + 0.03633446 0.03748014 0.00000000 0.001 + 0.05450169 0.03748014 0.00000000 0.001 + 0.07266892 0.03748014 0.00000000 0.001 + 0.09083615 0.03748014 0.00000000 0.001 + 0.10900338 0.03748014 0.00000000 0.001 + 0.12717061 0.03748014 0.00000000 0.001 + 0.00000000 0.05622020 0.00000000 0.001 + 0.01816723 0.05622020 0.00000000 0.001 + 0.03633446 0.05622020 0.00000000 0.001 + 0.05450169 0.05622020 0.00000000 0.001 + 0.07266892 0.05622020 0.00000000 0.001 + 0.09083615 0.05622020 0.00000000 0.001 + 0.10900338 0.05622020 0.00000000 0.001 + 0.12717061 0.05622020 0.00000000 0.001 + 0.00000000 0.07496027 0.00000000 0.001 + 0.01816723 0.07496027 0.00000000 0.001 + 0.03633446 0.07496027 0.00000000 0.001 + 0.05450169 0.07496027 0.00000000 0.001 + 0.07266892 0.07496027 0.00000000 0.001 + 0.09083615 0.07496027 0.00000000 0.001 + 0.10900338 0.07496027 0.00000000 0.001 + 0.12717061 0.07496027 0.00000000 0.001 + 0.00000000 0.09370034 0.00000000 0.001 + 0.01816723 0.09370034 0.00000000 0.001 + 0.03633446 0.09370034 0.00000000 0.001 + 0.05450169 0.09370034 0.00000000 0.001 + 0.07266892 0.09370034 0.00000000 0.001 + 0.09083615 0.09370034 0.00000000 0.001 + 0.10900338 0.09370034 0.00000000 0.001 + 0.12717061 0.09370034 0.00000000 0.001 + 0.00000000 0.11244041 0.00000000 0.001 + 0.01816723 0.11244041 0.00000000 0.001 + 0.03633446 0.11244041 0.00000000 0.001 + 0.05450169 0.11244041 0.00000000 0.001 + 0.07266892 0.11244041 0.00000000 0.001 + 0.09083615 0.11244041 0.00000000 0.001 + 0.10900338 0.11244041 0.00000000 0.001 + 0.12717061 0.11244041 0.00000000 0.001 + 0.00000000 0.13118047 0.00000000 0.001 + 0.01816723 0.13118047 0.00000000 0.001 + 0.03633446 0.13118047 0.00000000 0.001 + 0.05450169 0.13118047 0.00000000 0.001 + 0.07266892 0.13118047 0.00000000 0.001 + 0.09083615 0.13118047 0.00000000 0.001 + 0.10900338 0.13118047 0.00000000 0.001 + 0.12717061 0.13118047 0.00000000 0.001 + 0.00000000 0.00000000 0.02098560 0.001 + 0.01816723 0.00000000 0.02098560 0.001 + 0.03633446 0.00000000 0.02098560 0.001 + 0.05450169 0.00000000 0.02098560 0.001 + 0.07266892 0.00000000 0.02098560 0.001 + 0.09083615 0.00000000 0.02098560 0.001 + 0.10900338 0.00000000 0.02098560 0.001 + 0.12717061 0.00000000 0.02098560 0.001 + 0.00000000 0.01874007 0.02098560 0.001 + 0.01816723 0.01874007 0.02098560 0.002 + 0.03633446 0.01874007 0.02098560 0.002 + 0.05450169 0.01874007 0.02098560 0.002 + 0.07266892 0.01874007 0.02098560 0.002 + 0.09083615 0.01874007 0.02098560 0.002 + 0.10900338 0.01874007 0.02098560 0.002 + 0.12717061 0.01874007 0.02098560 0.002 + 0.00000000 0.03748014 0.02098560 0.001 + 0.01816723 0.03748014 0.02098560 0.002 + 0.03633446 0.03748014 0.02098560 0.002 + 0.05450169 0.03748014 0.02098560 0.002 + 0.07266892 0.03748014 0.02098560 0.002 + 0.09083615 0.03748014 0.02098560 0.002 + 0.10900338 0.03748014 0.02098560 0.002 + 0.12717061 0.03748014 0.02098560 0.002 + 0.00000000 0.05622020 0.02098560 0.001 + 0.01816723 0.05622020 0.02098560 0.002 + 0.03633446 0.05622020 0.02098560 0.002 + 0.05450169 0.05622020 0.02098560 0.002 + 0.07266892 0.05622020 0.02098560 0.002 + 0.09083615 0.05622020 0.02098560 0.002 + 0.10900338 0.05622020 0.02098560 0.002 + 0.12717061 0.05622020 0.02098560 0.002 + 0.00000000 0.07496027 0.02098560 0.001 + 0.01816723 0.07496027 0.02098560 0.002 + 0.03633446 0.07496027 0.02098560 0.002 + 0.05450169 0.07496027 0.02098560 0.002 + 0.07266892 0.07496027 0.02098560 0.002 + 0.09083615 0.07496027 0.02098560 0.002 + 0.10900338 0.07496027 0.02098560 0.002 + 0.12717061 0.07496027 0.02098560 0.002 + 0.00000000 0.09370034 0.02098560 0.001 + 0.01816723 0.09370034 0.02098560 0.002 + 0.03633446 0.09370034 0.02098560 0.002 + 0.05450169 0.09370034 0.02098560 0.002 + 0.07266892 0.09370034 0.02098560 0.002 + 0.09083615 0.09370034 0.02098560 0.002 + 0.10900338 0.09370034 0.02098560 0.002 + 0.12717061 0.09370034 0.02098560 0.002 + 0.00000000 0.11244041 0.02098560 0.001 + 0.01816723 0.11244041 0.02098560 0.002 + 0.03633446 0.11244041 0.02098560 0.002 + 0.05450169 0.11244041 0.02098560 0.002 + 0.07266892 0.11244041 0.02098560 0.002 + 0.09083615 0.11244041 0.02098560 0.002 + 0.10900338 0.11244041 0.02098560 0.002 + 0.12717061 0.11244041 0.02098560 0.002 + 0.00000000 0.13118047 0.02098560 0.001 + 0.01816723 0.13118047 0.02098560 0.002 + 0.03633446 0.13118047 0.02098560 0.002 + 0.05450169 0.13118047 0.02098560 0.002 + 0.07266892 0.13118047 0.02098560 0.002 + 0.09083615 0.13118047 0.02098560 0.002 + 0.10900338 0.13118047 0.02098560 0.002 + 0.12717061 0.13118047 0.02098560 0.002 + 0.00000000 0.00000000 0.04197121 0.001 + 0.01816723 0.00000000 0.04197121 0.001 + 0.03633446 0.00000000 0.04197121 0.001 + 0.05450169 0.00000000 0.04197121 0.001 + 0.07266892 0.00000000 0.04197121 0.001 + 0.09083615 0.00000000 0.04197121 0.001 + 0.10900338 0.00000000 0.04197121 0.001 + 0.12717061 0.00000000 0.04197121 0.001 + 0.00000000 0.01874007 0.04197121 0.001 + 0.01816723 0.01874007 0.04197121 0.002 + 0.03633446 0.01874007 0.04197121 0.002 + 0.05450169 0.01874007 0.04197121 0.002 + 0.07266892 0.01874007 0.04197121 0.002 + 0.09083615 0.01874007 0.04197121 0.002 + 0.10900338 0.01874007 0.04197121 0.002 + 0.12717061 0.01874007 0.04197121 0.002 + 0.00000000 0.03748014 0.04197121 0.001 + 0.01816723 0.03748014 0.04197121 0.002 + 0.03633446 0.03748014 0.04197121 0.002 + 0.05450169 0.03748014 0.04197121 0.002 + 0.07266892 0.03748014 0.04197121 0.002 + 0.09083615 0.03748014 0.04197121 0.002 + 0.10900338 0.03748014 0.04197121 0.002 + 0.12717061 0.03748014 0.04197121 0.002 + 0.00000000 0.05622020 0.04197121 0.001 + 0.01816723 0.05622020 0.04197121 0.002 + 0.03633446 0.05622020 0.04197121 0.002 + 0.05450169 0.05622020 0.04197121 0.002 + 0.07266892 0.05622020 0.04197121 0.002 + 0.09083615 0.05622020 0.04197121 0.002 + 0.10900338 0.05622020 0.04197121 0.002 + 0.12717061 0.05622020 0.04197121 0.002 + 0.00000000 0.07496027 0.04197121 0.001 + 0.01816723 0.07496027 0.04197121 0.002 + 0.03633446 0.07496027 0.04197121 0.002 + 0.05450169 0.07496027 0.04197121 0.002 + 0.07266892 0.07496027 0.04197121 0.002 + 0.09083615 0.07496027 0.04197121 0.002 + 0.10900338 0.07496027 0.04197121 0.002 + 0.12717061 0.07496027 0.04197121 0.002 + 0.00000000 0.09370034 0.04197121 0.001 + 0.01816723 0.09370034 0.04197121 0.002 + 0.03633446 0.09370034 0.04197121 0.002 + 0.05450169 0.09370034 0.04197121 0.002 + 0.07266892 0.09370034 0.04197121 0.002 + 0.09083615 0.09370034 0.04197121 0.002 + 0.10900338 0.09370034 0.04197121 0.002 + 0.12717061 0.09370034 0.04197121 0.002 + 0.00000000 0.11244041 0.04197121 0.001 + 0.01816723 0.11244041 0.04197121 0.002 + 0.03633446 0.11244041 0.04197121 0.002 + 0.05450169 0.11244041 0.04197121 0.002 + 0.07266892 0.11244041 0.04197121 0.002 + 0.09083615 0.11244041 0.04197121 0.002 + 0.10900338 0.11244041 0.04197121 0.002 + 0.12717061 0.11244041 0.04197121 0.002 + 0.00000000 0.13118047 0.04197121 0.001 + 0.01816723 0.13118047 0.04197121 0.002 + 0.03633446 0.13118047 0.04197121 0.002 + 0.05450169 0.13118047 0.04197121 0.002 + 0.07266892 0.13118047 0.04197121 0.002 + 0.09083615 0.13118047 0.04197121 0.002 + 0.10900338 0.13118047 0.04197121 0.002 + 0.12717061 0.13118047 0.04197121 0.002 + 0.00000000 0.00000000 0.06295681 0.001 + 0.01816723 0.00000000 0.06295681 0.001 + 0.03633446 0.00000000 0.06295681 0.001 + 0.05450169 0.00000000 0.06295681 0.001 + 0.07266892 0.00000000 0.06295681 0.001 + 0.09083615 0.00000000 0.06295681 0.001 + 0.10900338 0.00000000 0.06295681 0.001 + 0.12717061 0.00000000 0.06295681 0.001 + 0.00000000 0.01874007 0.06295681 0.001 + 0.01816723 0.01874007 0.06295681 0.002 + 0.03633446 0.01874007 0.06295681 0.002 + 0.05450169 0.01874007 0.06295681 0.002 + 0.07266892 0.01874007 0.06295681 0.002 + 0.09083615 0.01874007 0.06295681 0.002 + 0.10900338 0.01874007 0.06295681 0.002 + 0.12717061 0.01874007 0.06295681 0.002 + 0.00000000 0.03748014 0.06295681 0.001 + 0.01816723 0.03748014 0.06295681 0.002 + 0.03633446 0.03748014 0.06295681 0.002 + 0.05450169 0.03748014 0.06295681 0.002 + 0.07266892 0.03748014 0.06295681 0.002 + 0.09083615 0.03748014 0.06295681 0.002 + 0.10900338 0.03748014 0.06295681 0.002 + 0.12717061 0.03748014 0.06295681 0.002 + 0.00000000 0.05622020 0.06295681 0.001 + 0.01816723 0.05622020 0.06295681 0.002 + 0.03633446 0.05622020 0.06295681 0.002 + 0.05450169 0.05622020 0.06295681 0.002 + 0.07266892 0.05622020 0.06295681 0.002 + 0.09083615 0.05622020 0.06295681 0.002 + 0.10900338 0.05622020 0.06295681 0.002 + 0.12717061 0.05622020 0.06295681 0.002 + 0.00000000 0.07496027 0.06295681 0.001 + 0.01816723 0.07496027 0.06295681 0.002 + 0.03633446 0.07496027 0.06295681 0.002 + 0.05450169 0.07496027 0.06295681 0.002 + 0.07266892 0.07496027 0.06295681 0.002 + 0.09083615 0.07496027 0.06295681 0.002 + 0.10900338 0.07496027 0.06295681 0.002 + 0.12717061 0.07496027 0.06295681 0.002 + 0.00000000 0.09370034 0.06295681 0.001 + 0.01816723 0.09370034 0.06295681 0.002 + 0.03633446 0.09370034 0.06295681 0.002 + 0.05450169 0.09370034 0.06295681 0.002 + 0.07266892 0.09370034 0.06295681 0.002 + 0.09083615 0.09370034 0.06295681 0.002 + 0.10900338 0.09370034 0.06295681 0.002 + 0.12717061 0.09370034 0.06295681 0.002 + 0.00000000 0.11244041 0.06295681 0.001 + 0.01816723 0.11244041 0.06295681 0.002 + 0.03633446 0.11244041 0.06295681 0.002 + 0.05450169 0.11244041 0.06295681 0.002 + 0.07266892 0.11244041 0.06295681 0.002 + 0.09083615 0.11244041 0.06295681 0.002 + 0.10900338 0.11244041 0.06295681 0.002 + 0.12717061 0.11244041 0.06295681 0.002 + 0.00000000 0.13118047 0.06295681 0.001 + 0.01816723 0.13118047 0.06295681 0.002 + 0.03633446 0.13118047 0.06295681 0.002 + 0.05450169 0.13118047 0.06295681 0.002 + 0.07266892 0.13118047 0.06295681 0.002 + 0.09083615 0.13118047 0.06295681 0.002 + 0.10900338 0.13118047 0.06295681 0.002 + 0.12717061 0.13118047 0.06295681 0.002 + 0.00000000 0.00000000 0.08394241 0.001 + 0.01816723 0.00000000 0.08394241 0.001 + 0.03633446 0.00000000 0.08394241 0.001 + 0.05450169 0.00000000 0.08394241 0.001 + 0.07266892 0.00000000 0.08394241 0.001 + 0.09083615 0.00000000 0.08394241 0.001 + 0.10900338 0.00000000 0.08394241 0.001 + 0.12717061 0.00000000 0.08394241 0.001 + 0.00000000 0.01874007 0.08394241 0.001 + 0.01816723 0.01874007 0.08394241 0.002 + 0.03633446 0.01874007 0.08394241 0.002 + 0.05450169 0.01874007 0.08394241 0.002 + 0.07266892 0.01874007 0.08394241 0.002 + 0.09083615 0.01874007 0.08394241 0.002 + 0.10900338 0.01874007 0.08394241 0.002 + 0.12717061 0.01874007 0.08394241 0.002 + 0.00000000 0.03748014 0.08394241 0.001 + 0.01816723 0.03748014 0.08394241 0.002 + 0.03633446 0.03748014 0.08394241 0.002 + 0.05450169 0.03748014 0.08394241 0.002 + 0.07266892 0.03748014 0.08394241 0.002 + 0.09083615 0.03748014 0.08394241 0.002 + 0.10900338 0.03748014 0.08394241 0.002 + 0.12717061 0.03748014 0.08394241 0.002 + 0.00000000 0.05622020 0.08394241 0.001 + 0.01816723 0.05622020 0.08394241 0.002 + 0.03633446 0.05622020 0.08394241 0.002 + 0.05450169 0.05622020 0.08394241 0.002 + 0.07266892 0.05622020 0.08394241 0.002 + 0.09083615 0.05622020 0.08394241 0.002 + 0.10900338 0.05622020 0.08394241 0.002 + 0.12717061 0.05622020 0.08394241 0.002 + 0.00000000 0.07496027 0.08394241 0.001 + 0.01816723 0.07496027 0.08394241 0.002 + 0.03633446 0.07496027 0.08394241 0.002 + 0.05450169 0.07496027 0.08394241 0.002 + 0.07266892 0.07496027 0.08394241 0.002 + 0.09083615 0.07496027 0.08394241 0.002 + 0.10900338 0.07496027 0.08394241 0.002 + 0.12717061 0.07496027 0.08394241 0.002 + 0.00000000 0.09370034 0.08394241 0.001 + 0.01816723 0.09370034 0.08394241 0.002 + 0.03633446 0.09370034 0.08394241 0.002 + 0.05450169 0.09370034 0.08394241 0.002 + 0.07266892 0.09370034 0.08394241 0.002 + 0.09083615 0.09370034 0.08394241 0.002 + 0.10900338 0.09370034 0.08394241 0.002 + 0.12717061 0.09370034 0.08394241 0.002 + 0.00000000 0.11244041 0.08394241 0.001 + 0.01816723 0.11244041 0.08394241 0.002 + 0.03633446 0.11244041 0.08394241 0.002 + 0.05450169 0.11244041 0.08394241 0.002 + 0.07266892 0.11244041 0.08394241 0.002 + 0.09083615 0.11244041 0.08394241 0.002 + 0.10900338 0.11244041 0.08394241 0.002 + 0.12717061 0.11244041 0.08394241 0.002 + 0.00000000 0.13118047 0.08394241 0.001 + 0.01816723 0.13118047 0.08394241 0.002 + 0.03633446 0.13118047 0.08394241 0.002 + 0.05450169 0.13118047 0.08394241 0.002 + 0.07266892 0.13118047 0.08394241 0.002 + 0.09083615 0.13118047 0.08394241 0.002 + 0.10900338 0.13118047 0.08394241 0.002 + 0.12717061 0.13118047 0.08394241 0.002 + 0.00000000 0.00000000 0.10492802 0.001 + 0.01816723 0.00000000 0.10492802 0.001 + 0.03633446 0.00000000 0.10492802 0.001 + 0.05450169 0.00000000 0.10492802 0.001 + 0.07266892 0.00000000 0.10492802 0.001 + 0.09083615 0.00000000 0.10492802 0.001 + 0.10900338 0.00000000 0.10492802 0.001 + 0.12717061 0.00000000 0.10492802 0.001 + 0.00000000 0.01874007 0.10492802 0.001 + 0.01816723 0.01874007 0.10492802 0.002 + 0.03633446 0.01874007 0.10492802 0.002 + 0.05450169 0.01874007 0.10492802 0.002 + 0.07266892 0.01874007 0.10492802 0.002 + 0.09083615 0.01874007 0.10492802 0.002 + 0.10900338 0.01874007 0.10492802 0.002 + 0.12717061 0.01874007 0.10492802 0.002 + 0.00000000 0.03748014 0.10492802 0.001 + 0.01816723 0.03748014 0.10492802 0.002 + 0.03633446 0.03748014 0.10492802 0.002 + 0.05450169 0.03748014 0.10492802 0.002 + 0.07266892 0.03748014 0.10492802 0.002 + 0.09083615 0.03748014 0.10492802 0.002 + 0.10900338 0.03748014 0.10492802 0.002 + 0.12717061 0.03748014 0.10492802 0.002 + 0.00000000 0.05622020 0.10492802 0.001 + 0.01816723 0.05622020 0.10492802 0.002 + 0.03633446 0.05622020 0.10492802 0.002 + 0.05450169 0.05622020 0.10492802 0.002 + 0.07266892 0.05622020 0.10492802 0.002 + 0.09083615 0.05622020 0.10492802 0.002 + 0.10900338 0.05622020 0.10492802 0.002 + 0.12717061 0.05622020 0.10492802 0.002 + 0.00000000 0.07496027 0.10492802 0.001 + 0.01816723 0.07496027 0.10492802 0.002 + 0.03633446 0.07496027 0.10492802 0.002 + 0.05450169 0.07496027 0.10492802 0.002 + 0.07266892 0.07496027 0.10492802 0.002 + 0.09083615 0.07496027 0.10492802 0.002 + 0.10900338 0.07496027 0.10492802 0.002 + 0.12717061 0.07496027 0.10492802 0.002 + 0.00000000 0.09370034 0.10492802 0.001 + 0.01816723 0.09370034 0.10492802 0.002 + 0.03633446 0.09370034 0.10492802 0.002 + 0.05450169 0.09370034 0.10492802 0.002 + 0.07266892 0.09370034 0.10492802 0.002 + 0.09083615 0.09370034 0.10492802 0.002 + 0.10900338 0.09370034 0.10492802 0.002 + 0.12717061 0.09370034 0.10492802 0.002 + 0.00000000 0.11244041 0.10492802 0.001 + 0.01816723 0.11244041 0.10492802 0.002 + 0.03633446 0.11244041 0.10492802 0.002 + 0.05450169 0.11244041 0.10492802 0.002 + 0.07266892 0.11244041 0.10492802 0.002 + 0.09083615 0.11244041 0.10492802 0.002 + 0.10900338 0.11244041 0.10492802 0.002 + 0.12717061 0.11244041 0.10492802 0.002 + 0.00000000 0.13118047 0.10492802 0.001 + 0.01816723 0.13118047 0.10492802 0.002 + 0.03633446 0.13118047 0.10492802 0.002 + 0.05450169 0.13118047 0.10492802 0.002 + 0.07266892 0.13118047 0.10492802 0.002 + 0.09083615 0.13118047 0.10492802 0.002 + 0.10900338 0.13118047 0.10492802 0.002 + 0.12717061 0.13118047 0.10492802 0.002 + 0.00000000 0.00000000 0.12591362 0.001 + 0.01816723 0.00000000 0.12591362 0.001 + 0.03633446 0.00000000 0.12591362 0.001 + 0.05450169 0.00000000 0.12591362 0.001 + 0.07266892 0.00000000 0.12591362 0.001 + 0.09083615 0.00000000 0.12591362 0.001 + 0.10900338 0.00000000 0.12591362 0.001 + 0.12717061 0.00000000 0.12591362 0.001 + 0.00000000 0.01874007 0.12591362 0.001 + 0.01816723 0.01874007 0.12591362 0.002 + 0.03633446 0.01874007 0.12591362 0.002 + 0.05450169 0.01874007 0.12591362 0.002 + 0.07266892 0.01874007 0.12591362 0.002 + 0.09083615 0.01874007 0.12591362 0.002 + 0.10900338 0.01874007 0.12591362 0.002 + 0.12717061 0.01874007 0.12591362 0.002 + 0.00000000 0.03748014 0.12591362 0.001 + 0.01816723 0.03748014 0.12591362 0.002 + 0.03633446 0.03748014 0.12591362 0.002 + 0.05450169 0.03748014 0.12591362 0.002 + 0.07266892 0.03748014 0.12591362 0.002 + 0.09083615 0.03748014 0.12591362 0.002 + 0.10900338 0.03748014 0.12591362 0.002 + 0.12717061 0.03748014 0.12591362 0.002 + 0.00000000 0.05622020 0.12591362 0.001 + 0.01816723 0.05622020 0.12591362 0.002 + 0.03633446 0.05622020 0.12591362 0.002 + 0.05450169 0.05622020 0.12591362 0.002 + 0.07266892 0.05622020 0.12591362 0.002 + 0.09083615 0.05622020 0.12591362 0.002 + 0.10900338 0.05622020 0.12591362 0.002 + 0.12717061 0.05622020 0.12591362 0.002 + 0.00000000 0.07496027 0.12591362 0.001 + 0.01816723 0.07496027 0.12591362 0.002 + 0.03633446 0.07496027 0.12591362 0.002 + 0.05450169 0.07496027 0.12591362 0.002 + 0.07266892 0.07496027 0.12591362 0.002 + 0.09083615 0.07496027 0.12591362 0.002 + 0.10900338 0.07496027 0.12591362 0.002 + 0.12717061 0.07496027 0.12591362 0.002 + 0.00000000 0.09370034 0.12591362 0.001 + 0.01816723 0.09370034 0.12591362 0.002 + 0.03633446 0.09370034 0.12591362 0.002 + 0.05450169 0.09370034 0.12591362 0.002 + 0.07266892 0.09370034 0.12591362 0.002 + 0.09083615 0.09370034 0.12591362 0.002 + 0.10900338 0.09370034 0.12591362 0.002 + 0.12717061 0.09370034 0.12591362 0.002 + 0.00000000 0.11244041 0.12591362 0.001 + 0.01816723 0.11244041 0.12591362 0.002 + 0.03633446 0.11244041 0.12591362 0.002 + 0.05450169 0.11244041 0.12591362 0.002 + 0.07266892 0.11244041 0.12591362 0.002 + 0.09083615 0.11244041 0.12591362 0.002 + 0.10900338 0.11244041 0.12591362 0.002 + 0.12717061 0.11244041 0.12591362 0.002 + 0.00000000 0.13118047 0.12591362 0.001 + 0.01816723 0.13118047 0.12591362 0.002 + 0.03633446 0.13118047 0.12591362 0.002 + 0.05450169 0.13118047 0.12591362 0.002 + 0.07266892 0.13118047 0.12591362 0.002 + 0.09083615 0.13118047 0.12591362 0.002 + 0.10900338 0.13118047 0.12591362 0.002 + 0.12717061 0.13118047 0.12591362 0.002 + 0.00000000 0.00000000 0.14689922 0.001 + 0.01816723 0.00000000 0.14689922 0.001 + 0.03633446 0.00000000 0.14689922 0.001 + 0.05450169 0.00000000 0.14689922 0.001 + 0.07266892 0.00000000 0.14689922 0.001 + 0.09083615 0.00000000 0.14689922 0.001 + 0.10900338 0.00000000 0.14689922 0.001 + 0.12717061 0.00000000 0.14689922 0.001 + 0.00000000 0.01874007 0.14689922 0.001 + 0.01816723 0.01874007 0.14689922 0.002 + 0.03633446 0.01874007 0.14689922 0.002 + 0.05450169 0.01874007 0.14689922 0.002 + 0.07266892 0.01874007 0.14689922 0.002 + 0.09083615 0.01874007 0.14689922 0.002 + 0.10900338 0.01874007 0.14689922 0.002 + 0.12717061 0.01874007 0.14689922 0.002 + 0.00000000 0.03748014 0.14689922 0.001 + 0.01816723 0.03748014 0.14689922 0.002 + 0.03633446 0.03748014 0.14689922 0.002 + 0.05450169 0.03748014 0.14689922 0.002 + 0.07266892 0.03748014 0.14689922 0.002 + 0.09083615 0.03748014 0.14689922 0.002 + 0.10900338 0.03748014 0.14689922 0.002 + 0.12717061 0.03748014 0.14689922 0.002 + 0.00000000 0.05622020 0.14689922 0.001 + 0.01816723 0.05622020 0.14689922 0.002 + 0.03633446 0.05622020 0.14689922 0.002 + 0.05450169 0.05622020 0.14689922 0.002 + 0.07266892 0.05622020 0.14689922 0.002 + 0.09083615 0.05622020 0.14689922 0.002 + 0.10900338 0.05622020 0.14689922 0.002 + 0.12717061 0.05622020 0.14689922 0.002 + 0.00000000 0.07496027 0.14689922 0.001 + 0.01816723 0.07496027 0.14689922 0.002 + 0.03633446 0.07496027 0.14689922 0.002 + 0.05450169 0.07496027 0.14689922 0.002 + 0.07266892 0.07496027 0.14689922 0.002 + 0.09083615 0.07496027 0.14689922 0.002 + 0.10900338 0.07496027 0.14689922 0.002 + 0.12717061 0.07496027 0.14689922 0.002 + 0.00000000 0.09370034 0.14689922 0.001 + 0.01816723 0.09370034 0.14689922 0.002 + 0.03633446 0.09370034 0.14689922 0.002 + 0.05450169 0.09370034 0.14689922 0.002 + 0.07266892 0.09370034 0.14689922 0.002 + 0.09083615 0.09370034 0.14689922 0.002 + 0.10900338 0.09370034 0.14689922 0.002 + 0.12717061 0.09370034 0.14689922 0.002 + 0.00000000 0.11244041 0.14689922 0.001 + 0.01816723 0.11244041 0.14689922 0.002 + 0.03633446 0.11244041 0.14689922 0.002 + 0.05450169 0.11244041 0.14689922 0.002 + 0.07266892 0.11244041 0.14689922 0.002 + 0.09083615 0.11244041 0.14689922 0.002 + 0.10900338 0.11244041 0.14689922 0.002 + 0.12717061 0.11244041 0.14689922 0.002 + 0.00000000 0.13118047 0.14689922 0.001 + 0.01816723 0.13118047 0.14689922 0.002 + 0.03633446 0.13118047 0.14689922 0.002 + 0.05450169 0.13118047 0.14689922 0.002 + 0.07266892 0.13118047 0.14689922 0.002 + 0.09083615 0.13118047 0.14689922 0.002 + 0.10900338 0.13118047 0.14689922 0.002 + 0.12717061 0.13118047 0.14689922 0.002 + + k-points in reciprocal lattice and weights: K-Points + 0.00000000 0.00000000 0.00000000 0.000 + 0.06666667 0.00000000 0.00000000 0.001 + 0.13333333 0.00000000 0.00000000 0.001 + 0.20000000 0.00000000 0.00000000 0.001 + 0.26666667 0.00000000 0.00000000 0.001 + 0.33333333 0.00000000 0.00000000 0.001 + 0.40000000 0.00000000 0.00000000 0.001 + 0.46666667 0.00000000 0.00000000 0.001 + 0.00000000 0.06666667 0.00000000 0.001 + 0.06666667 0.06666667 0.00000000 0.001 + 0.13333333 0.06666667 0.00000000 0.001 + 0.20000000 0.06666667 0.00000000 0.001 + 0.26666667 0.06666667 0.00000000 0.001 + 0.33333333 0.06666667 0.00000000 0.001 + 0.40000000 0.06666667 0.00000000 0.001 + 0.46666667 0.06666667 0.00000000 0.001 + 0.00000000 0.13333333 0.00000000 0.001 + 0.06666667 0.13333333 0.00000000 0.001 + 0.13333333 0.13333333 0.00000000 0.001 + 0.20000000 0.13333333 0.00000000 0.001 + 0.26666667 0.13333333 0.00000000 0.001 + 0.33333333 0.13333333 0.00000000 0.001 + 0.40000000 0.13333333 0.00000000 0.001 + 0.46666667 0.13333333 0.00000000 0.001 + 0.00000000 0.20000000 0.00000000 0.001 + 0.06666667 0.20000000 0.00000000 0.001 + 0.13333333 0.20000000 0.00000000 0.001 + 0.20000000 0.20000000 0.00000000 0.001 + 0.26666667 0.20000000 0.00000000 0.001 + 0.33333333 0.20000000 0.00000000 0.001 + 0.40000000 0.20000000 0.00000000 0.001 + 0.46666667 0.20000000 0.00000000 0.001 + 0.00000000 0.26666667 0.00000000 0.001 + 0.06666667 0.26666667 0.00000000 0.001 + 0.13333333 0.26666667 0.00000000 0.001 + 0.20000000 0.26666667 0.00000000 0.001 + 0.26666667 0.26666667 0.00000000 0.001 + 0.33333333 0.26666667 0.00000000 0.001 + 0.40000000 0.26666667 0.00000000 0.001 + 0.46666667 0.26666667 0.00000000 0.001 + 0.00000000 0.33333333 0.00000000 0.001 + 0.06666667 0.33333333 0.00000000 0.001 + 0.13333333 0.33333333 0.00000000 0.001 + 0.20000000 0.33333333 0.00000000 0.001 + 0.26666667 0.33333333 0.00000000 0.001 + 0.33333333 0.33333333 0.00000000 0.001 + 0.40000000 0.33333333 0.00000000 0.001 + 0.46666667 0.33333333 0.00000000 0.001 + 0.00000000 0.40000000 0.00000000 0.001 + 0.06666667 0.40000000 0.00000000 0.001 + 0.13333333 0.40000000 0.00000000 0.001 + 0.20000000 0.40000000 0.00000000 0.001 + 0.26666667 0.40000000 0.00000000 0.001 + 0.33333333 0.40000000 0.00000000 0.001 + 0.40000000 0.40000000 0.00000000 0.001 + 0.46666667 0.40000000 0.00000000 0.001 + 0.00000000 0.46666667 0.00000000 0.001 + 0.06666667 0.46666667 0.00000000 0.001 + 0.13333333 0.46666667 0.00000000 0.001 + 0.20000000 0.46666667 0.00000000 0.001 + 0.26666667 0.46666667 0.00000000 0.001 + 0.33333333 0.46666667 0.00000000 0.001 + 0.40000000 0.46666667 0.00000000 0.001 + 0.46666667 0.46666667 0.00000000 0.001 + 0.00000000 0.00000000 0.06666667 0.001 + 0.06666667 0.00000000 0.06666667 0.001 + 0.13333333 0.00000000 0.06666667 0.001 + 0.20000000 0.00000000 0.06666667 0.001 + 0.26666667 0.00000000 0.06666667 0.001 + 0.33333333 0.00000000 0.06666667 0.001 + 0.40000000 0.00000000 0.06666667 0.001 + 0.46666667 0.00000000 0.06666667 0.001 + 0.00000000 0.06666667 0.06666667 0.001 + 0.06666667 0.06666667 0.06666667 0.002 + 0.13333333 0.06666667 0.06666667 0.002 + 0.20000000 0.06666667 0.06666667 0.002 + 0.26666667 0.06666667 0.06666667 0.002 + 0.33333333 0.06666667 0.06666667 0.002 + 0.40000000 0.06666667 0.06666667 0.002 + 0.46666667 0.06666667 0.06666667 0.002 + 0.00000000 0.13333333 0.06666667 0.001 + 0.06666667 0.13333333 0.06666667 0.002 + 0.13333333 0.13333333 0.06666667 0.002 + 0.20000000 0.13333333 0.06666667 0.002 + 0.26666667 0.13333333 0.06666667 0.002 + 0.33333333 0.13333333 0.06666667 0.002 + 0.40000000 0.13333333 0.06666667 0.002 + 0.46666667 0.13333333 0.06666667 0.002 + 0.00000000 0.20000000 0.06666667 0.001 + 0.06666667 0.20000000 0.06666667 0.002 + 0.13333333 0.20000000 0.06666667 0.002 + 0.20000000 0.20000000 0.06666667 0.002 + 0.26666667 0.20000000 0.06666667 0.002 + 0.33333333 0.20000000 0.06666667 0.002 + 0.40000000 0.20000000 0.06666667 0.002 + 0.46666667 0.20000000 0.06666667 0.002 + 0.00000000 0.26666667 0.06666667 0.001 + 0.06666667 0.26666667 0.06666667 0.002 + 0.13333333 0.26666667 0.06666667 0.002 + 0.20000000 0.26666667 0.06666667 0.002 + 0.26666667 0.26666667 0.06666667 0.002 + 0.33333333 0.26666667 0.06666667 0.002 + 0.40000000 0.26666667 0.06666667 0.002 + 0.46666667 0.26666667 0.06666667 0.002 + 0.00000000 0.33333333 0.06666667 0.001 + 0.06666667 0.33333333 0.06666667 0.002 + 0.13333333 0.33333333 0.06666667 0.002 + 0.20000000 0.33333333 0.06666667 0.002 + 0.26666667 0.33333333 0.06666667 0.002 + 0.33333333 0.33333333 0.06666667 0.002 + 0.40000000 0.33333333 0.06666667 0.002 + 0.46666667 0.33333333 0.06666667 0.002 + 0.00000000 0.40000000 0.06666667 0.001 + 0.06666667 0.40000000 0.06666667 0.002 + 0.13333333 0.40000000 0.06666667 0.002 + 0.20000000 0.40000000 0.06666667 0.002 + 0.26666667 0.40000000 0.06666667 0.002 + 0.33333333 0.40000000 0.06666667 0.002 + 0.40000000 0.40000000 0.06666667 0.002 + 0.46666667 0.40000000 0.06666667 0.002 + 0.00000000 0.46666667 0.06666667 0.001 + 0.06666667 0.46666667 0.06666667 0.002 + 0.13333333 0.46666667 0.06666667 0.002 + 0.20000000 0.46666667 0.06666667 0.002 + 0.26666667 0.46666667 0.06666667 0.002 + 0.33333333 0.46666667 0.06666667 0.002 + 0.40000000 0.46666667 0.06666667 0.002 + 0.46666667 0.46666667 0.06666667 0.002 + 0.00000000 0.00000000 0.13333333 0.001 + 0.06666667 0.00000000 0.13333333 0.001 + 0.13333333 0.00000000 0.13333333 0.001 + 0.20000000 0.00000000 0.13333333 0.001 + 0.26666667 0.00000000 0.13333333 0.001 + 0.33333333 0.00000000 0.13333333 0.001 + 0.40000000 0.00000000 0.13333333 0.001 + 0.46666667 0.00000000 0.13333333 0.001 + 0.00000000 0.06666667 0.13333333 0.001 + 0.06666667 0.06666667 0.13333333 0.002 + 0.13333333 0.06666667 0.13333333 0.002 + 0.20000000 0.06666667 0.13333333 0.002 + 0.26666667 0.06666667 0.13333333 0.002 + 0.33333333 0.06666667 0.13333333 0.002 + 0.40000000 0.06666667 0.13333333 0.002 + 0.46666667 0.06666667 0.13333333 0.002 + 0.00000000 0.13333333 0.13333333 0.001 + 0.06666667 0.13333333 0.13333333 0.002 + 0.13333333 0.13333333 0.13333333 0.002 + 0.20000000 0.13333333 0.13333333 0.002 + 0.26666667 0.13333333 0.13333333 0.002 + 0.33333333 0.13333333 0.13333333 0.002 + 0.40000000 0.13333333 0.13333333 0.002 + 0.46666667 0.13333333 0.13333333 0.002 + 0.00000000 0.20000000 0.13333333 0.001 + 0.06666667 0.20000000 0.13333333 0.002 + 0.13333333 0.20000000 0.13333333 0.002 + 0.20000000 0.20000000 0.13333333 0.002 + 0.26666667 0.20000000 0.13333333 0.002 + 0.33333333 0.20000000 0.13333333 0.002 + 0.40000000 0.20000000 0.13333333 0.002 + 0.46666667 0.20000000 0.13333333 0.002 + 0.00000000 0.26666667 0.13333333 0.001 + 0.06666667 0.26666667 0.13333333 0.002 + 0.13333333 0.26666667 0.13333333 0.002 + 0.20000000 0.26666667 0.13333333 0.002 + 0.26666667 0.26666667 0.13333333 0.002 + 0.33333333 0.26666667 0.13333333 0.002 + 0.40000000 0.26666667 0.13333333 0.002 + 0.46666667 0.26666667 0.13333333 0.002 + 0.00000000 0.33333333 0.13333333 0.001 + 0.06666667 0.33333333 0.13333333 0.002 + 0.13333333 0.33333333 0.13333333 0.002 + 0.20000000 0.33333333 0.13333333 0.002 + 0.26666667 0.33333333 0.13333333 0.002 + 0.33333333 0.33333333 0.13333333 0.002 + 0.40000000 0.33333333 0.13333333 0.002 + 0.46666667 0.33333333 0.13333333 0.002 + 0.00000000 0.40000000 0.13333333 0.001 + 0.06666667 0.40000000 0.13333333 0.002 + 0.13333333 0.40000000 0.13333333 0.002 + 0.20000000 0.40000000 0.13333333 0.002 + 0.26666667 0.40000000 0.13333333 0.002 + 0.33333333 0.40000000 0.13333333 0.002 + 0.40000000 0.40000000 0.13333333 0.002 + 0.46666667 0.40000000 0.13333333 0.002 + 0.00000000 0.46666667 0.13333333 0.001 + 0.06666667 0.46666667 0.13333333 0.002 + 0.13333333 0.46666667 0.13333333 0.002 + 0.20000000 0.46666667 0.13333333 0.002 + 0.26666667 0.46666667 0.13333333 0.002 + 0.33333333 0.46666667 0.13333333 0.002 + 0.40000000 0.46666667 0.13333333 0.002 + 0.46666667 0.46666667 0.13333333 0.002 + 0.00000000 0.00000000 0.20000000 0.001 + 0.06666667 0.00000000 0.20000000 0.001 + 0.13333333 0.00000000 0.20000000 0.001 + 0.20000000 0.00000000 0.20000000 0.001 + 0.26666667 0.00000000 0.20000000 0.001 + 0.33333333 0.00000000 0.20000000 0.001 + 0.40000000 0.00000000 0.20000000 0.001 + 0.46666667 0.00000000 0.20000000 0.001 + 0.00000000 0.06666667 0.20000000 0.001 + 0.06666667 0.06666667 0.20000000 0.002 + 0.13333333 0.06666667 0.20000000 0.002 + 0.20000000 0.06666667 0.20000000 0.002 + 0.26666667 0.06666667 0.20000000 0.002 + 0.33333333 0.06666667 0.20000000 0.002 + 0.40000000 0.06666667 0.20000000 0.002 + 0.46666667 0.06666667 0.20000000 0.002 + 0.00000000 0.13333333 0.20000000 0.001 + 0.06666667 0.13333333 0.20000000 0.002 + 0.13333333 0.13333333 0.20000000 0.002 + 0.20000000 0.13333333 0.20000000 0.002 + 0.26666667 0.13333333 0.20000000 0.002 + 0.33333333 0.13333333 0.20000000 0.002 + 0.40000000 0.13333333 0.20000000 0.002 + 0.46666667 0.13333333 0.20000000 0.002 + 0.00000000 0.20000000 0.20000000 0.001 + 0.06666667 0.20000000 0.20000000 0.002 + 0.13333333 0.20000000 0.20000000 0.002 + 0.20000000 0.20000000 0.20000000 0.002 + 0.26666667 0.20000000 0.20000000 0.002 + 0.33333333 0.20000000 0.20000000 0.002 + 0.40000000 0.20000000 0.20000000 0.002 + 0.46666667 0.20000000 0.20000000 0.002 + 0.00000000 0.26666667 0.20000000 0.001 + 0.06666667 0.26666667 0.20000000 0.002 + 0.13333333 0.26666667 0.20000000 0.002 + 0.20000000 0.26666667 0.20000000 0.002 + 0.26666667 0.26666667 0.20000000 0.002 + 0.33333333 0.26666667 0.20000000 0.002 + 0.40000000 0.26666667 0.20000000 0.002 + 0.46666667 0.26666667 0.20000000 0.002 + 0.00000000 0.33333333 0.20000000 0.001 + 0.06666667 0.33333333 0.20000000 0.002 + 0.13333333 0.33333333 0.20000000 0.002 + 0.20000000 0.33333333 0.20000000 0.002 + 0.26666667 0.33333333 0.20000000 0.002 + 0.33333333 0.33333333 0.20000000 0.002 + 0.40000000 0.33333333 0.20000000 0.002 + 0.46666667 0.33333333 0.20000000 0.002 + 0.00000000 0.40000000 0.20000000 0.001 + 0.06666667 0.40000000 0.20000000 0.002 + 0.13333333 0.40000000 0.20000000 0.002 + 0.20000000 0.40000000 0.20000000 0.002 + 0.26666667 0.40000000 0.20000000 0.002 + 0.33333333 0.40000000 0.20000000 0.002 + 0.40000000 0.40000000 0.20000000 0.002 + 0.46666667 0.40000000 0.20000000 0.002 + 0.00000000 0.46666667 0.20000000 0.001 + 0.06666667 0.46666667 0.20000000 0.002 + 0.13333333 0.46666667 0.20000000 0.002 + 0.20000000 0.46666667 0.20000000 0.002 + 0.26666667 0.46666667 0.20000000 0.002 + 0.33333333 0.46666667 0.20000000 0.002 + 0.40000000 0.46666667 0.20000000 0.002 + 0.46666667 0.46666667 0.20000000 0.002 + 0.00000000 0.00000000 0.26666667 0.001 + 0.06666667 0.00000000 0.26666667 0.001 + 0.13333333 0.00000000 0.26666667 0.001 + 0.20000000 0.00000000 0.26666667 0.001 + 0.26666667 0.00000000 0.26666667 0.001 + 0.33333333 0.00000000 0.26666667 0.001 + 0.40000000 0.00000000 0.26666667 0.001 + 0.46666667 0.00000000 0.26666667 0.001 + 0.00000000 0.06666667 0.26666667 0.001 + 0.06666667 0.06666667 0.26666667 0.002 + 0.13333333 0.06666667 0.26666667 0.002 + 0.20000000 0.06666667 0.26666667 0.002 + 0.26666667 0.06666667 0.26666667 0.002 + 0.33333333 0.06666667 0.26666667 0.002 + 0.40000000 0.06666667 0.26666667 0.002 + 0.46666667 0.06666667 0.26666667 0.002 + 0.00000000 0.13333333 0.26666667 0.001 + 0.06666667 0.13333333 0.26666667 0.002 + 0.13333333 0.13333333 0.26666667 0.002 + 0.20000000 0.13333333 0.26666667 0.002 + 0.26666667 0.13333333 0.26666667 0.002 + 0.33333333 0.13333333 0.26666667 0.002 + 0.40000000 0.13333333 0.26666667 0.002 + 0.46666667 0.13333333 0.26666667 0.002 + 0.00000000 0.20000000 0.26666667 0.001 + 0.06666667 0.20000000 0.26666667 0.002 + 0.13333333 0.20000000 0.26666667 0.002 + 0.20000000 0.20000000 0.26666667 0.002 + 0.26666667 0.20000000 0.26666667 0.002 + 0.33333333 0.20000000 0.26666667 0.002 + 0.40000000 0.20000000 0.26666667 0.002 + 0.46666667 0.20000000 0.26666667 0.002 + 0.00000000 0.26666667 0.26666667 0.001 + 0.06666667 0.26666667 0.26666667 0.002 + 0.13333333 0.26666667 0.26666667 0.002 + 0.20000000 0.26666667 0.26666667 0.002 + 0.26666667 0.26666667 0.26666667 0.002 + 0.33333333 0.26666667 0.26666667 0.002 + 0.40000000 0.26666667 0.26666667 0.002 + 0.46666667 0.26666667 0.26666667 0.002 + 0.00000000 0.33333333 0.26666667 0.001 + 0.06666667 0.33333333 0.26666667 0.002 + 0.13333333 0.33333333 0.26666667 0.002 + 0.20000000 0.33333333 0.26666667 0.002 + 0.26666667 0.33333333 0.26666667 0.002 + 0.33333333 0.33333333 0.26666667 0.002 + 0.40000000 0.33333333 0.26666667 0.002 + 0.46666667 0.33333333 0.26666667 0.002 + 0.00000000 0.40000000 0.26666667 0.001 + 0.06666667 0.40000000 0.26666667 0.002 + 0.13333333 0.40000000 0.26666667 0.002 + 0.20000000 0.40000000 0.26666667 0.002 + 0.26666667 0.40000000 0.26666667 0.002 + 0.33333333 0.40000000 0.26666667 0.002 + 0.40000000 0.40000000 0.26666667 0.002 + 0.46666667 0.40000000 0.26666667 0.002 + 0.00000000 0.46666667 0.26666667 0.001 + 0.06666667 0.46666667 0.26666667 0.002 + 0.13333333 0.46666667 0.26666667 0.002 + 0.20000000 0.46666667 0.26666667 0.002 + 0.26666667 0.46666667 0.26666667 0.002 + 0.33333333 0.46666667 0.26666667 0.002 + 0.40000000 0.46666667 0.26666667 0.002 + 0.46666667 0.46666667 0.26666667 0.002 + 0.00000000 0.00000000 0.33333333 0.001 + 0.06666667 0.00000000 0.33333333 0.001 + 0.13333333 0.00000000 0.33333333 0.001 + 0.20000000 0.00000000 0.33333333 0.001 + 0.26666667 0.00000000 0.33333333 0.001 + 0.33333333 0.00000000 0.33333333 0.001 + 0.40000000 0.00000000 0.33333333 0.001 + 0.46666667 0.00000000 0.33333333 0.001 + 0.00000000 0.06666667 0.33333333 0.001 + 0.06666667 0.06666667 0.33333333 0.002 + 0.13333333 0.06666667 0.33333333 0.002 + 0.20000000 0.06666667 0.33333333 0.002 + 0.26666667 0.06666667 0.33333333 0.002 + 0.33333333 0.06666667 0.33333333 0.002 + 0.40000000 0.06666667 0.33333333 0.002 + 0.46666667 0.06666667 0.33333333 0.002 + 0.00000000 0.13333333 0.33333333 0.001 + 0.06666667 0.13333333 0.33333333 0.002 + 0.13333333 0.13333333 0.33333333 0.002 + 0.20000000 0.13333333 0.33333333 0.002 + 0.26666667 0.13333333 0.33333333 0.002 + 0.33333333 0.13333333 0.33333333 0.002 + 0.40000000 0.13333333 0.33333333 0.002 + 0.46666667 0.13333333 0.33333333 0.002 + 0.00000000 0.20000000 0.33333333 0.001 + 0.06666667 0.20000000 0.33333333 0.002 + 0.13333333 0.20000000 0.33333333 0.002 + 0.20000000 0.20000000 0.33333333 0.002 + 0.26666667 0.20000000 0.33333333 0.002 + 0.33333333 0.20000000 0.33333333 0.002 + 0.40000000 0.20000000 0.33333333 0.002 + 0.46666667 0.20000000 0.33333333 0.002 + 0.00000000 0.26666667 0.33333333 0.001 + 0.06666667 0.26666667 0.33333333 0.002 + 0.13333333 0.26666667 0.33333333 0.002 + 0.20000000 0.26666667 0.33333333 0.002 + 0.26666667 0.26666667 0.33333333 0.002 + 0.33333333 0.26666667 0.33333333 0.002 + 0.40000000 0.26666667 0.33333333 0.002 + 0.46666667 0.26666667 0.33333333 0.002 + 0.00000000 0.33333333 0.33333333 0.001 + 0.06666667 0.33333333 0.33333333 0.002 + 0.13333333 0.33333333 0.33333333 0.002 + 0.20000000 0.33333333 0.33333333 0.002 + 0.26666667 0.33333333 0.33333333 0.002 + 0.33333333 0.33333333 0.33333333 0.002 + 0.40000000 0.33333333 0.33333333 0.002 + 0.46666667 0.33333333 0.33333333 0.002 + 0.00000000 0.40000000 0.33333333 0.001 + 0.06666667 0.40000000 0.33333333 0.002 + 0.13333333 0.40000000 0.33333333 0.002 + 0.20000000 0.40000000 0.33333333 0.002 + 0.26666667 0.40000000 0.33333333 0.002 + 0.33333333 0.40000000 0.33333333 0.002 + 0.40000000 0.40000000 0.33333333 0.002 + 0.46666667 0.40000000 0.33333333 0.002 + 0.00000000 0.46666667 0.33333333 0.001 + 0.06666667 0.46666667 0.33333333 0.002 + 0.13333333 0.46666667 0.33333333 0.002 + 0.20000000 0.46666667 0.33333333 0.002 + 0.26666667 0.46666667 0.33333333 0.002 + 0.33333333 0.46666667 0.33333333 0.002 + 0.40000000 0.46666667 0.33333333 0.002 + 0.46666667 0.46666667 0.33333333 0.002 + 0.00000000 0.00000000 0.40000000 0.001 + 0.06666667 0.00000000 0.40000000 0.001 + 0.13333333 0.00000000 0.40000000 0.001 + 0.20000000 0.00000000 0.40000000 0.001 + 0.26666667 0.00000000 0.40000000 0.001 + 0.33333333 0.00000000 0.40000000 0.001 + 0.40000000 0.00000000 0.40000000 0.001 + 0.46666667 0.00000000 0.40000000 0.001 + 0.00000000 0.06666667 0.40000000 0.001 + 0.06666667 0.06666667 0.40000000 0.002 + 0.13333333 0.06666667 0.40000000 0.002 + 0.20000000 0.06666667 0.40000000 0.002 + 0.26666667 0.06666667 0.40000000 0.002 + 0.33333333 0.06666667 0.40000000 0.002 + 0.40000000 0.06666667 0.40000000 0.002 + 0.46666667 0.06666667 0.40000000 0.002 + 0.00000000 0.13333333 0.40000000 0.001 + 0.06666667 0.13333333 0.40000000 0.002 + 0.13333333 0.13333333 0.40000000 0.002 + 0.20000000 0.13333333 0.40000000 0.002 + 0.26666667 0.13333333 0.40000000 0.002 + 0.33333333 0.13333333 0.40000000 0.002 + 0.40000000 0.13333333 0.40000000 0.002 + 0.46666667 0.13333333 0.40000000 0.002 + 0.00000000 0.20000000 0.40000000 0.001 + 0.06666667 0.20000000 0.40000000 0.002 + 0.13333333 0.20000000 0.40000000 0.002 + 0.20000000 0.20000000 0.40000000 0.002 + 0.26666667 0.20000000 0.40000000 0.002 + 0.33333333 0.20000000 0.40000000 0.002 + 0.40000000 0.20000000 0.40000000 0.002 + 0.46666667 0.20000000 0.40000000 0.002 + 0.00000000 0.26666667 0.40000000 0.001 + 0.06666667 0.26666667 0.40000000 0.002 + 0.13333333 0.26666667 0.40000000 0.002 + 0.20000000 0.26666667 0.40000000 0.002 + 0.26666667 0.26666667 0.40000000 0.002 + 0.33333333 0.26666667 0.40000000 0.002 + 0.40000000 0.26666667 0.40000000 0.002 + 0.46666667 0.26666667 0.40000000 0.002 + 0.00000000 0.33333333 0.40000000 0.001 + 0.06666667 0.33333333 0.40000000 0.002 + 0.13333333 0.33333333 0.40000000 0.002 + 0.20000000 0.33333333 0.40000000 0.002 + 0.26666667 0.33333333 0.40000000 0.002 + 0.33333333 0.33333333 0.40000000 0.002 + 0.40000000 0.33333333 0.40000000 0.002 + 0.46666667 0.33333333 0.40000000 0.002 + 0.00000000 0.40000000 0.40000000 0.001 + 0.06666667 0.40000000 0.40000000 0.002 + 0.13333333 0.40000000 0.40000000 0.002 + 0.20000000 0.40000000 0.40000000 0.002 + 0.26666667 0.40000000 0.40000000 0.002 + 0.33333333 0.40000000 0.40000000 0.002 + 0.40000000 0.40000000 0.40000000 0.002 + 0.46666667 0.40000000 0.40000000 0.002 + 0.00000000 0.46666667 0.40000000 0.001 + 0.06666667 0.46666667 0.40000000 0.002 + 0.13333333 0.46666667 0.40000000 0.002 + 0.20000000 0.46666667 0.40000000 0.002 + 0.26666667 0.46666667 0.40000000 0.002 + 0.33333333 0.46666667 0.40000000 0.002 + 0.40000000 0.46666667 0.40000000 0.002 + 0.46666667 0.46666667 0.40000000 0.002 + 0.00000000 0.00000000 0.46666667 0.001 + 0.06666667 0.00000000 0.46666667 0.001 + 0.13333333 0.00000000 0.46666667 0.001 + 0.20000000 0.00000000 0.46666667 0.001 + 0.26666667 0.00000000 0.46666667 0.001 + 0.33333333 0.00000000 0.46666667 0.001 + 0.40000000 0.00000000 0.46666667 0.001 + 0.46666667 0.00000000 0.46666667 0.001 + 0.00000000 0.06666667 0.46666667 0.001 + 0.06666667 0.06666667 0.46666667 0.002 + 0.13333333 0.06666667 0.46666667 0.002 + 0.20000000 0.06666667 0.46666667 0.002 + 0.26666667 0.06666667 0.46666667 0.002 + 0.33333333 0.06666667 0.46666667 0.002 + 0.40000000 0.06666667 0.46666667 0.002 + 0.46666667 0.06666667 0.46666667 0.002 + 0.00000000 0.13333333 0.46666667 0.001 + 0.06666667 0.13333333 0.46666667 0.002 + 0.13333333 0.13333333 0.46666667 0.002 + 0.20000000 0.13333333 0.46666667 0.002 + 0.26666667 0.13333333 0.46666667 0.002 + 0.33333333 0.13333333 0.46666667 0.002 + 0.40000000 0.13333333 0.46666667 0.002 + 0.46666667 0.13333333 0.46666667 0.002 + 0.00000000 0.20000000 0.46666667 0.001 + 0.06666667 0.20000000 0.46666667 0.002 + 0.13333333 0.20000000 0.46666667 0.002 + 0.20000000 0.20000000 0.46666667 0.002 + 0.26666667 0.20000000 0.46666667 0.002 + 0.33333333 0.20000000 0.46666667 0.002 + 0.40000000 0.20000000 0.46666667 0.002 + 0.46666667 0.20000000 0.46666667 0.002 + 0.00000000 0.26666667 0.46666667 0.001 + 0.06666667 0.26666667 0.46666667 0.002 + 0.13333333 0.26666667 0.46666667 0.002 + 0.20000000 0.26666667 0.46666667 0.002 + 0.26666667 0.26666667 0.46666667 0.002 + 0.33333333 0.26666667 0.46666667 0.002 + 0.40000000 0.26666667 0.46666667 0.002 + 0.46666667 0.26666667 0.46666667 0.002 + 0.00000000 0.33333333 0.46666667 0.001 + 0.06666667 0.33333333 0.46666667 0.002 + 0.13333333 0.33333333 0.46666667 0.002 + 0.20000000 0.33333333 0.46666667 0.002 + 0.26666667 0.33333333 0.46666667 0.002 + 0.33333333 0.33333333 0.46666667 0.002 + 0.40000000 0.33333333 0.46666667 0.002 + 0.46666667 0.33333333 0.46666667 0.002 + 0.00000000 0.40000000 0.46666667 0.001 + 0.06666667 0.40000000 0.46666667 0.002 + 0.13333333 0.40000000 0.46666667 0.002 + 0.20000000 0.40000000 0.46666667 0.002 + 0.26666667 0.40000000 0.46666667 0.002 + 0.33333333 0.40000000 0.46666667 0.002 + 0.40000000 0.40000000 0.46666667 0.002 + 0.46666667 0.40000000 0.46666667 0.002 + 0.00000000 0.46666667 0.46666667 0.001 + 0.06666667 0.46666667 0.46666667 0.002 + 0.13333333 0.46666667 0.46666667 0.002 + 0.20000000 0.46666667 0.46666667 0.002 + 0.26666667 0.46666667 0.46666667 0.002 + 0.33333333 0.46666667 0.46666667 0.002 + 0.40000000 0.46666667 0.46666667 0.002 + 0.46666667 0.46666667 0.46666667 0.002 + + position of ions in fractional coordinates (direct lattice) + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.50000000 0.50000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.50000000 0.00000000 + + position of ions in cartesian coordinates (Angst): + 0.00000000 0.00000000 0.00000000 + 0.00000000 1.77872000 1.58839050 + 1.83480550 0.00000000 1.58839050 + 1.83480550 1.77872000 0.00000000 + + + +-------------------------------------------------------------------------------------------------------- + + + k-point 1 : 0.0000 0.0000 0.0000 plane waves: 1389 + k-point 2 : 0.0667 0.0000 0.0000 plane waves: 1395 + k-point 3 : 0.1333 0.0000 0.0000 plane waves: 1401 + k-point 4 : 0.2000 0.0000 0.0000 plane waves: 1393 + k-point 5 : 0.2667 0.0000 0.0000 plane waves: 1389 + k-point 6 : 0.3333 0.0000 0.0000 plane waves: 1386 + k-point 7 : 0.4000 0.0000 0.0000 plane waves: 1386 + k-point 8 : 0.4667 0.0000 0.0000 plane waves: 1392 + k-point 9 : 0.0000 0.0667 0.0000 plane waves: 1395 + k-point 10 : 0.0667 0.0667 0.0000 plane waves: 1393 + k-point 11 : 0.1333 0.0667 0.0000 plane waves: 1396 + k-point 12 : 0.2000 0.0667 0.0000 plane waves: 1390 + k-point 13 : 0.2667 0.0667 0.0000 plane waves: 1385 + k-point 14 : 0.3333 0.0667 0.0000 plane waves: 1382 + k-point 15 : 0.4000 0.0667 0.0000 plane waves: 1388 + k-point 16 : 0.4667 0.0667 0.0000 plane waves: 1396 + k-point 17 : 0.0000 0.1333 0.0000 plane waves: 1394 + k-point 18 : 0.0667 0.1333 0.0000 plane waves: 1400 + k-point 19 : 0.1333 0.1333 0.0000 plane waves: 1395 + k-point 20 : 0.2000 0.1333 0.0000 plane waves: 1393 + k-point 21 : 0.2667 0.1333 0.0000 plane waves: 1386 + k-point 22 : 0.3333 0.1333 0.0000 plane waves: 1394 + k-point 23 : 0.4000 0.1333 0.0000 plane waves: 1387 + k-point 24 : 0.4667 0.1333 0.0000 plane waves: 1384 + k-point 25 : 0.0000 0.2000 0.0000 plane waves: 1390 + k-point 26 : 0.0667 0.2000 0.0000 plane waves: 1392 + k-point 27 : 0.1333 0.2000 0.0000 plane waves: 1389 + k-point 28 : 0.2000 0.2000 0.0000 plane waves: 1388 + k-point 29 : 0.2667 0.2000 0.0000 plane waves: 1389 + k-point 30 : 0.3333 0.2000 0.0000 plane waves: 1391 + k-point 31 : 0.4000 0.2000 0.0000 plane waves: 1387 + k-point 32 : 0.4667 0.2000 0.0000 plane waves: 1382 + k-point 33 : 0.0000 0.2667 0.0000 plane waves: 1390 + k-point 34 : 0.0667 0.2667 0.0000 plane waves: 1393 + k-point 35 : 0.1333 0.2667 0.0000 plane waves: 1391 + k-point 36 : 0.2000 0.2667 0.0000 plane waves: 1388 + k-point 37 : 0.2667 0.2667 0.0000 plane waves: 1383 + k-point 38 : 0.3333 0.2667 0.0000 plane waves: 1384 + k-point 39 : 0.4000 0.2667 0.0000 plane waves: 1377 + k-point 40 : 0.4667 0.2667 0.0000 plane waves: 1375 + k-point 41 : 0.0000 0.3333 0.0000 plane waves: 1392 + k-point 42 : 0.0667 0.3333 0.0000 plane waves: 1390 + k-point 43 : 0.1333 0.3333 0.0000 plane waves: 1390 + k-point 44 : 0.2000 0.3333 0.0000 plane waves: 1395 + k-point 45 : 0.2667 0.3333 0.0000 plane waves: 1388 + k-point 46 : 0.3333 0.3333 0.0000 plane waves: 1380 + k-point 47 : 0.4000 0.3333 0.0000 plane waves: 1378 + k-point 48 : 0.4667 0.3333 0.0000 plane waves: 1364 + k-point 49 : 0.0000 0.4000 0.0000 plane waves: 1390 + k-point 50 : 0.0667 0.4000 0.0000 plane waves: 1390 + k-point 51 : 0.1333 0.4000 0.0000 plane waves: 1397 + k-point 52 : 0.2000 0.4000 0.0000 plane waves: 1391 + k-point 53 : 0.2667 0.4000 0.0000 plane waves: 1389 + k-point 54 : 0.3333 0.4000 0.0000 plane waves: 1377 + k-point 55 : 0.4000 0.4000 0.0000 plane waves: 1379 + k-point 56 : 0.4667 0.4000 0.0000 plane waves: 1365 + k-point 57 : 0.0000 0.4667 0.0000 plane waves: 1382 + k-point 58 : 0.0667 0.4667 0.0000 plane waves: 1387 + k-point 59 : 0.1333 0.4667 0.0000 plane waves: 1387 + k-point 60 : 0.2000 0.4667 0.0000 plane waves: 1386 + k-point 61 : 0.2667 0.4667 0.0000 plane waves: 1384 + k-point 62 : 0.3333 0.4667 0.0000 plane waves: 1384 + k-point 63 : 0.4000 0.4667 0.0000 plane waves: 1381 + k-point 64 : 0.4667 0.4667 0.0000 plane waves: 1372 + k-point 65 : 0.0000 0.0000 0.0667 plane waves: 1389 + k-point 66 : 0.0667 0.0000 0.0667 plane waves: 1386 + k-point 67 : 0.1333 0.0000 0.0667 plane waves: 1393 + k-point 68 : 0.2000 0.0000 0.0667 plane waves: 1392 + k-point 69 : 0.2667 0.0000 0.0667 plane waves: 1375 + k-point 70 : 0.3333 0.0000 0.0667 plane waves: 1382 + k-point 71 : 0.4000 0.0000 0.0667 plane waves: 1394 + k-point 72 : 0.4667 0.0000 0.0667 plane waves: 1401 + k-point 73 : 0.0000 0.0667 0.0667 plane waves: 1387 + k-point 74 : 0.0667 0.0667 0.0667 plane waves: 1388 + k-point 75 : 0.1333 0.0667 0.0667 plane waves: 1393 + k-point 76 : 0.2000 0.0667 0.0667 plane waves: 1388 + k-point 77 : 0.2667 0.0667 0.0667 plane waves: 1385 + k-point 78 : 0.3333 0.0667 0.0667 plane waves: 1388 + k-point 79 : 0.4000 0.0667 0.0667 plane waves: 1392 + k-point 80 : 0.4667 0.0667 0.0667 plane waves: 1395 + k-point 81 : 0.0000 0.1333 0.0667 plane waves: 1381 + k-point 82 : 0.0667 0.1333 0.0667 plane waves: 1388 + k-point 83 : 0.1333 0.1333 0.0667 plane waves: 1390 + k-point 84 : 0.2000 0.1333 0.0667 plane waves: 1387 + k-point 85 : 0.2667 0.1333 0.0667 plane waves: 1390 + k-point 86 : 0.3333 0.1333 0.0667 plane waves: 1385 + k-point 87 : 0.4000 0.1333 0.0667 plane waves: 1389 + k-point 88 : 0.4667 0.1333 0.0667 plane waves: 1391 + k-point 89 : 0.0000 0.2000 0.0667 plane waves: 1391 + k-point 90 : 0.0667 0.2000 0.0667 plane waves: 1390 + k-point 91 : 0.1333 0.2000 0.0667 plane waves: 1388 + k-point 92 : 0.2000 0.2000 0.0667 plane waves: 1390 + k-point 93 : 0.2667 0.2000 0.0667 plane waves: 1385 + k-point 94 : 0.3333 0.2000 0.0667 plane waves: 1388 + k-point 95 : 0.4000 0.2000 0.0667 plane waves: 1387 + k-point 96 : 0.4667 0.2000 0.0667 plane waves: 1388 + k-point 97 : 0.0000 0.2667 0.0667 plane waves: 1393 + k-point 98 : 0.0667 0.2667 0.0667 plane waves: 1392 + k-point 99 : 0.1333 0.2667 0.0667 plane waves: 1388 + k-point ** : 0.2000 0.2667 0.0667 plane waves: 1387 + k-point ** : 0.2667 0.2667 0.0667 plane waves: 1386 + k-point ** : 0.3333 0.2667 0.0667 plane waves: 1386 + k-point ** : 0.4000 0.2667 0.0667 plane waves: 1382 + k-point ** : 0.4667 0.2667 0.0667 plane waves: 1376 + k-point ** : 0.0000 0.3333 0.0667 plane waves: 1396 + k-point ** : 0.0667 0.3333 0.0667 plane waves: 1394 + k-point ** : 0.1333 0.3333 0.0667 plane waves: 1393 + k-point ** : 0.2000 0.3333 0.0667 plane waves: 1390 + k-point ** : 0.2667 0.3333 0.0667 plane waves: 1387 + k-point ** : 0.3333 0.3333 0.0667 plane waves: 1383 + k-point ** : 0.4000 0.3333 0.0667 plane waves: 1378 + k-point ** : 0.4667 0.3333 0.0667 plane waves: 1373 + k-point ** : 0.0000 0.4000 0.0667 plane waves: 1392 + k-point ** : 0.0667 0.4000 0.0667 plane waves: 1391 + k-point ** : 0.1333 0.4000 0.0667 plane waves: 1391 + k-point ** : 0.2000 0.4000 0.0667 plane waves: 1389 + k-point ** : 0.2667 0.4000 0.0667 plane waves: 1389 + k-point ** : 0.3333 0.4000 0.0667 plane waves: 1384 + k-point ** : 0.4000 0.4000 0.0667 plane waves: 1374 + k-point ** : 0.4667 0.4000 0.0667 plane waves: 1376 + k-point ** : 0.0000 0.4667 0.0667 plane waves: 1390 + k-point ** : 0.0667 0.4667 0.0667 plane waves: 1389 + k-point ** : 0.1333 0.4667 0.0667 plane waves: 1386 + k-point ** : 0.2000 0.4667 0.0667 plane waves: 1387 + k-point ** : 0.2667 0.4667 0.0667 plane waves: 1385 + k-point ** : 0.3333 0.4667 0.0667 plane waves: 1381 + k-point ** : 0.4000 0.4667 0.0667 plane waves: 1374 + k-point ** : 0.4667 0.4667 0.0667 plane waves: 1379 + k-point ** : 0.0000 0.0000 0.1333 plane waves: 1389 + k-point ** : 0.0667 0.0000 0.1333 plane waves: 1382 + k-point ** : 0.1333 0.0000 0.1333 plane waves: 1386 + k-point ** : 0.2000 0.0000 0.1333 plane waves: 1381 + k-point ** : 0.2667 0.0000 0.1333 plane waves: 1378 + k-point ** : 0.3333 0.0000 0.1333 plane waves: 1381 + k-point ** : 0.4000 0.0000 0.1333 plane waves: 1386 + k-point ** : 0.4667 0.0000 0.1333 plane waves: 1400 + k-point ** : 0.0000 0.0667 0.1333 plane waves: 1383 + k-point ** : 0.0667 0.0667 0.1333 plane waves: 1379 + k-point ** : 0.1333 0.0667 0.1333 plane waves: 1388 + k-point ** : 0.2000 0.0667 0.1333 plane waves: 1385 + k-point ** : 0.2667 0.0667 0.1333 plane waves: 1380 + k-point ** : 0.3333 0.0667 0.1333 plane waves: 1382 + k-point ** : 0.4000 0.0667 0.1333 plane waves: 1392 + k-point ** : 0.4667 0.0667 0.1333 plane waves: 1400 + k-point ** : 0.0000 0.1333 0.1333 plane waves: 1378 + k-point ** : 0.0667 0.1333 0.1333 plane waves: 1381 + k-point ** : 0.1333 0.1333 0.1333 plane waves: 1386 + k-point ** : 0.2000 0.1333 0.1333 plane waves: 1386 + k-point ** : 0.2667 0.1333 0.1333 plane waves: 1382 + k-point ** : 0.3333 0.1333 0.1333 plane waves: 1385 + k-point ** : 0.4000 0.1333 0.1333 plane waves: 1390 + k-point ** : 0.4667 0.1333 0.1333 plane waves: 1396 + k-point ** : 0.0000 0.2000 0.1333 plane waves: 1385 + k-point ** : 0.0667 0.2000 0.1333 plane waves: 1383 + k-point ** : 0.1333 0.2000 0.1333 plane waves: 1381 + k-point ** : 0.2000 0.2000 0.1333 plane waves: 1386 + k-point ** : 0.2667 0.2000 0.1333 plane waves: 1386 + k-point ** : 0.3333 0.2000 0.1333 plane waves: 1382 + k-point ** : 0.4000 0.2000 0.1333 plane waves: 1386 + k-point ** : 0.4667 0.2000 0.1333 plane waves: 1383 + k-point ** : 0.0000 0.2667 0.1333 plane waves: 1388 + k-point ** : 0.0667 0.2667 0.1333 plane waves: 1388 + k-point ** : 0.1333 0.2667 0.1333 plane waves: 1386 + k-point ** : 0.2000 0.2667 0.1333 plane waves: 1386 + k-point ** : 0.2667 0.2667 0.1333 plane waves: 1388 + k-point ** : 0.3333 0.2667 0.1333 plane waves: 1385 + k-point ** : 0.4000 0.2667 0.1333 plane waves: 1385 + k-point ** : 0.4667 0.2667 0.1333 plane waves: 1376 + k-point ** : 0.0000 0.3333 0.1333 plane waves: 1392 + k-point ** : 0.0667 0.3333 0.1333 plane waves: 1391 + k-point ** : 0.1333 0.3333 0.1333 plane waves: 1390 + k-point ** : 0.2000 0.3333 0.1333 plane waves: 1389 + k-point ** : 0.2667 0.3333 0.1333 plane waves: 1391 + k-point ** : 0.3333 0.3333 0.1333 plane waves: 1384 + k-point ** : 0.4000 0.3333 0.1333 plane waves: 1376 + k-point ** : 0.4667 0.3333 0.1333 plane waves: 1377 + k-point ** : 0.0000 0.4000 0.1333 plane waves: 1391 + k-point ** : 0.0667 0.4000 0.1333 plane waves: 1391 + k-point ** : 0.1333 0.4000 0.1333 plane waves: 1395 + k-point ** : 0.2000 0.4000 0.1333 plane waves: 1388 + k-point ** : 0.2667 0.4000 0.1333 plane waves: 1388 + k-point ** : 0.3333 0.4000 0.1333 plane waves: 1385 + k-point ** : 0.4000 0.4000 0.1333 plane waves: 1380 + k-point ** : 0.4667 0.4000 0.1333 plane waves: 1380 + k-point ** : 0.0000 0.4667 0.1333 plane waves: 1392 + k-point ** : 0.0667 0.4667 0.1333 plane waves: 1392 + k-point ** : 0.1333 0.4667 0.1333 plane waves: 1395 + k-point ** : 0.2000 0.4667 0.1333 plane waves: 1391 + k-point ** : 0.2667 0.4667 0.1333 plane waves: 1394 + k-point ** : 0.3333 0.4667 0.1333 plane waves: 1388 + k-point ** : 0.4000 0.4667 0.1333 plane waves: 1383 + k-point ** : 0.4667 0.4667 0.1333 plane waves: 1383 + k-point ** : 0.0000 0.0000 0.2000 plane waves: 1377 + k-point ** : 0.0667 0.0000 0.2000 plane waves: 1383 + k-point ** : 0.1333 0.0000 0.2000 plane waves: 1381 + k-point ** : 0.2000 0.0000 0.2000 plane waves: 1379 + k-point ** : 0.2667 0.0000 0.2000 plane waves: 1380 + k-point ** : 0.3333 0.0000 0.2000 plane waves: 1379 + k-point ** : 0.4000 0.0000 0.2000 plane waves: 1385 + k-point ** : 0.4667 0.0000 0.2000 plane waves: 1393 + k-point ** : 0.0000 0.0667 0.2000 plane waves: 1385 + k-point ** : 0.0667 0.0667 0.2000 plane waves: 1384 + k-point ** : 0.1333 0.0667 0.2000 plane waves: 1377 + k-point ** : 0.2000 0.0667 0.2000 plane waves: 1377 + k-point ** : 0.2667 0.0667 0.2000 plane waves: 1380 + k-point ** : 0.3333 0.0667 0.2000 plane waves: 1382 + k-point ** : 0.4000 0.0667 0.2000 plane waves: 1387 + k-point ** : 0.4667 0.0667 0.2000 plane waves: 1394 + k-point ** : 0.0000 0.1333 0.2000 plane waves: 1382 + k-point ** : 0.0667 0.1333 0.2000 plane waves: 1380 + k-point ** : 0.1333 0.1333 0.2000 plane waves: 1386 + k-point ** : 0.2000 0.1333 0.2000 plane waves: 1382 + k-point ** : 0.2667 0.1333 0.2000 plane waves: 1378 + k-point ** : 0.3333 0.1333 0.2000 plane waves: 1379 + k-point ** : 0.4000 0.1333 0.2000 plane waves: 1379 + k-point ** : 0.4667 0.1333 0.2000 plane waves: 1384 + k-point ** : 0.0000 0.2000 0.2000 plane waves: 1380 + k-point ** : 0.0667 0.2000 0.2000 plane waves: 1382 + k-point ** : 0.1333 0.2000 0.2000 plane waves: 1385 + k-point ** : 0.2000 0.2000 0.2000 plane waves: 1387 + k-point ** : 0.2667 0.2000 0.2000 plane waves: 1388 + k-point ** : 0.3333 0.2000 0.2000 plane waves: 1384 + k-point ** : 0.4000 0.2000 0.2000 plane waves: 1379 + k-point ** : 0.4667 0.2000 0.2000 plane waves: 1383 + k-point ** : 0.0000 0.2667 0.2000 plane waves: 1382 + k-point ** : 0.0667 0.2667 0.2000 plane waves: 1386 + k-point ** : 0.1333 0.2667 0.2000 plane waves: 1392 + k-point ** : 0.2000 0.2667 0.2000 plane waves: 1391 + k-point ** : 0.2667 0.2667 0.2000 plane waves: 1388 + k-point ** : 0.3333 0.2667 0.2000 plane waves: 1385 + k-point ** : 0.4000 0.2667 0.2000 plane waves: 1382 + k-point ** : 0.4667 0.2667 0.2000 plane waves: 1373 + k-point ** : 0.0000 0.3333 0.2000 plane waves: 1386 + k-point ** : 0.0667 0.3333 0.2000 plane waves: 1389 + k-point ** : 0.1333 0.3333 0.2000 plane waves: 1384 + k-point ** : 0.2000 0.3333 0.2000 plane waves: 1383 + k-point ** : 0.2667 0.3333 0.2000 plane waves: 1390 + k-point ** : 0.3333 0.3333 0.2000 plane waves: 1383 + k-point ** : 0.4000 0.3333 0.2000 plane waves: 1385 + k-point ** : 0.4667 0.3333 0.2000 plane waves: 1377 + k-point ** : 0.0000 0.4000 0.2000 plane waves: 1395 + k-point ** : 0.0667 0.4000 0.2000 plane waves: 1390 + k-point ** : 0.1333 0.4000 0.2000 plane waves: 1388 + k-point ** : 0.2000 0.4000 0.2000 plane waves: 1386 + k-point ** : 0.2667 0.4000 0.2000 plane waves: 1390 + k-point ** : 0.3333 0.4000 0.2000 plane waves: 1386 + k-point ** : 0.4000 0.4000 0.2000 plane waves: 1384 + k-point ** : 0.4667 0.4000 0.2000 plane waves: 1388 + k-point ** : 0.0000 0.4667 0.2000 plane waves: 1399 + k-point ** : 0.0667 0.4667 0.2000 plane waves: 1388 + k-point ** : 0.1333 0.4667 0.2000 plane waves: 1392 + k-point ** : 0.2000 0.4667 0.2000 plane waves: 1392 + k-point ** : 0.2667 0.4667 0.2000 plane waves: 1387 + k-point ** : 0.3333 0.4667 0.2000 plane waves: 1385 + k-point ** : 0.4000 0.4667 0.2000 plane waves: 1382 + k-point ** : 0.4667 0.4667 0.2000 plane waves: 1388 + k-point ** : 0.0000 0.0000 0.2667 plane waves: 1371 + k-point ** : 0.0667 0.0000 0.2667 plane waves: 1376 + k-point ** : 0.1333 0.0000 0.2667 plane waves: 1383 + k-point ** : 0.2000 0.0000 0.2667 plane waves: 1379 + k-point ** : 0.2667 0.0000 0.2667 plane waves: 1381 + k-point ** : 0.3333 0.0000 0.2667 plane waves: 1378 + k-point ** : 0.4000 0.0000 0.2667 plane waves: 1379 + k-point ** : 0.4667 0.0000 0.2667 plane waves: 1378 + k-point ** : 0.0000 0.0667 0.2667 plane waves: 1379 + k-point ** : 0.0667 0.0667 0.2667 plane waves: 1378 + k-point ** : 0.1333 0.0667 0.2667 plane waves: 1377 + k-point ** : 0.2000 0.0667 0.2667 plane waves: 1378 + k-point ** : 0.2667 0.0667 0.2667 plane waves: 1379 + k-point ** : 0.3333 0.0667 0.2667 plane waves: 1379 + k-point ** : 0.4000 0.0667 0.2667 plane waves: 1382 + k-point ** : 0.4667 0.0667 0.2667 plane waves: 1380 + k-point ** : 0.0000 0.1333 0.2667 plane waves: 1374 + k-point ** : 0.0667 0.1333 0.2667 plane waves: 1377 + k-point ** : 0.1333 0.1333 0.2667 plane waves: 1381 + k-point ** : 0.2000 0.1333 0.2667 plane waves: 1378 + k-point ** : 0.2667 0.1333 0.2667 plane waves: 1380 + k-point ** : 0.3333 0.1333 0.2667 plane waves: 1378 + k-point ** : 0.4000 0.1333 0.2667 plane waves: 1380 + k-point ** : 0.4667 0.1333 0.2667 plane waves: 1383 + k-point ** : 0.0000 0.2000 0.2667 plane waves: 1379 + k-point ** : 0.0667 0.2000 0.2667 plane waves: 1381 + k-point ** : 0.1333 0.2000 0.2667 plane waves: 1390 + k-point ** : 0.2000 0.2000 0.2667 plane waves: 1389 + k-point ** : 0.2667 0.2000 0.2667 plane waves: 1380 + k-point ** : 0.3333 0.2000 0.2667 plane waves: 1379 + k-point ** : 0.4000 0.2000 0.2667 plane waves: 1375 + k-point ** : 0.4667 0.2000 0.2667 plane waves: 1381 + k-point ** : 0.0000 0.2667 0.2667 plane waves: 1385 + k-point ** : 0.0667 0.2667 0.2667 plane waves: 1389 + k-point ** : 0.1333 0.2667 0.2667 plane waves: 1388 + k-point ** : 0.2000 0.2667 0.2667 plane waves: 1390 + k-point ** : 0.2667 0.2667 0.2667 plane waves: 1383 + k-point ** : 0.3333 0.2667 0.2667 plane waves: 1381 + k-point ** : 0.4000 0.2667 0.2667 plane waves: 1376 + k-point ** : 0.4667 0.2667 0.2667 plane waves: 1369 + k-point ** : 0.0000 0.3333 0.2667 plane waves: 1398 + k-point ** : 0.0667 0.3333 0.2667 plane waves: 1389 + k-point ** : 0.1333 0.3333 0.2667 plane waves: 1389 + k-point ** : 0.2000 0.3333 0.2667 plane waves: 1390 + k-point ** : 0.2667 0.3333 0.2667 plane waves: 1386 + k-point ** : 0.3333 0.3333 0.2667 plane waves: 1382 + k-point ** : 0.4000 0.3333 0.2667 plane waves: 1388 + k-point ** : 0.4667 0.3333 0.2667 plane waves: 1382 + k-point ** : 0.0000 0.4000 0.2667 plane waves: 1393 + k-point ** : 0.0667 0.4000 0.2667 plane waves: 1391 + k-point ** : 0.1333 0.4000 0.2667 plane waves: 1385 + k-point ** : 0.2000 0.4000 0.2667 plane waves: 1387 + k-point ** : 0.2667 0.4000 0.2667 plane waves: 1389 + k-point ** : 0.3333 0.4000 0.2667 plane waves: 1388 + k-point ** : 0.4000 0.4000 0.2667 plane waves: 1390 + k-point ** : 0.4667 0.4000 0.2667 plane waves: 1391 + k-point ** : 0.0000 0.4667 0.2667 plane waves: 1398 + k-point ** : 0.0667 0.4667 0.2667 plane waves: 1388 + k-point ** : 0.1333 0.4667 0.2667 plane waves: 1381 + k-point ** : 0.2000 0.4667 0.2667 plane waves: 1382 + k-point ** : 0.2667 0.4667 0.2667 plane waves: 1387 + k-point ** : 0.3333 0.4667 0.2667 plane waves: 1391 + k-point ** : 0.4000 0.4667 0.2667 plane waves: 1391 + k-point ** : 0.4667 0.4667 0.2667 plane waves: 1394 + k-point ** : 0.0000 0.0000 0.3333 plane waves: 1373 + k-point ** : 0.0667 0.0000 0.3333 plane waves: 1378 + k-point ** : 0.1333 0.0000 0.3333 plane waves: 1379 + k-point ** : 0.2000 0.0000 0.3333 plane waves: 1381 + k-point ** : 0.2667 0.0000 0.3333 plane waves: 1382 + k-point ** : 0.3333 0.0000 0.3333 plane waves: 1377 + k-point ** : 0.4000 0.0000 0.3333 plane waves: 1377 + k-point ** : 0.4667 0.0000 0.3333 plane waves: 1366 + k-point ** : 0.0000 0.0667 0.3333 plane waves: 1374 + k-point ** : 0.0667 0.0667 0.3333 plane waves: 1377 + k-point ** : 0.1333 0.0667 0.3333 plane waves: 1379 + k-point ** : 0.2000 0.0667 0.3333 plane waves: 1380 + k-point ** : 0.2667 0.0667 0.3333 plane waves: 1377 + k-point ** : 0.3333 0.0667 0.3333 plane waves: 1370 + k-point ** : 0.4000 0.0667 0.3333 plane waves: 1373 + k-point ** : 0.4667 0.0667 0.3333 plane waves: 1374 + k-point ** : 0.0000 0.1333 0.3333 plane waves: 1375 + k-point ** : 0.0667 0.1333 0.3333 plane waves: 1378 + k-point ** : 0.1333 0.1333 0.3333 plane waves: 1375 + k-point ** : 0.2000 0.1333 0.3333 plane waves: 1377 + k-point ** : 0.2667 0.1333 0.3333 plane waves: 1378 + k-point ** : 0.3333 0.1333 0.3333 plane waves: 1370 + k-point ** : 0.4000 0.1333 0.3333 plane waves: 1374 + k-point ** : 0.4667 0.1333 0.3333 plane waves: 1376 + k-point ** : 0.0000 0.2000 0.3333 plane waves: 1376 + k-point ** : 0.0667 0.2000 0.3333 plane waves: 1379 + k-point ** : 0.1333 0.2000 0.3333 plane waves: 1383 + k-point ** : 0.2000 0.2000 0.3333 plane waves: 1381 + k-point ** : 0.2667 0.2000 0.3333 plane waves: 1374 + k-point ** : 0.3333 0.2000 0.3333 plane waves: 1378 + k-point ** : 0.4000 0.2000 0.3333 plane waves: 1373 + k-point ** : 0.4667 0.2000 0.3333 plane waves: 1376 + k-point ** : 0.0000 0.2667 0.3333 plane waves: 1385 + k-point ** : 0.0667 0.2667 0.3333 plane waves: 1383 + k-point ** : 0.1333 0.2667 0.3333 plane waves: 1388 + k-point ** : 0.2000 0.2667 0.3333 plane waves: 1387 + k-point ** : 0.2667 0.2667 0.3333 plane waves: 1384 + k-point ** : 0.3333 0.2667 0.3333 plane waves: 1379 + k-point ** : 0.4000 0.2667 0.3333 plane waves: 1380 + k-point ** : 0.4667 0.2667 0.3333 plane waves: 1379 + k-point ** : 0.0000 0.3333 0.3333 plane waves: 1381 + k-point ** : 0.0667 0.3333 0.3333 plane waves: 1393 + k-point ** : 0.1333 0.3333 0.3333 plane waves: 1393 + k-point ** : 0.2000 0.3333 0.3333 plane waves: 1386 + k-point ** : 0.2667 0.3333 0.3333 plane waves: 1385 + k-point ** : 0.3333 0.3333 0.3333 plane waves: 1380 + k-point ** : 0.4000 0.3333 0.3333 plane waves: 1381 + k-point ** : 0.4667 0.3333 0.3333 plane waves: 1383 + k-point ** : 0.0000 0.4000 0.3333 plane waves: 1388 + k-point ** : 0.0667 0.4000 0.3333 plane waves: 1385 + k-point ** : 0.1333 0.4000 0.3333 plane waves: 1386 + k-point ** : 0.2000 0.4000 0.3333 plane waves: 1386 + k-point ** : 0.2667 0.4000 0.3333 plane waves: 1385 + k-point ** : 0.3333 0.4000 0.3333 plane waves: 1383 + k-point ** : 0.4000 0.4000 0.3333 plane waves: 1391 + k-point ** : 0.4667 0.4000 0.3333 plane waves: 1389 + k-point ** : 0.0000 0.4667 0.3333 plane waves: 1384 + k-point ** : 0.0667 0.4667 0.3333 plane waves: 1383 + k-point ** : 0.1333 0.4667 0.3333 plane waves: 1381 + k-point ** : 0.2000 0.4667 0.3333 plane waves: 1381 + k-point ** : 0.2667 0.4667 0.3333 plane waves: 1383 + k-point ** : 0.3333 0.4667 0.3333 plane waves: 1386 + k-point ** : 0.4000 0.4667 0.3333 plane waves: 1392 + k-point ** : 0.4667 0.4667 0.3333 plane waves: 1391 + k-point ** : 0.0000 0.0000 0.4000 plane waves: 1382 + k-point ** : 0.0667 0.0000 0.4000 plane waves: 1378 + k-point ** : 0.1333 0.0000 0.4000 plane waves: 1379 + k-point ** : 0.2000 0.0000 0.4000 plane waves: 1376 + k-point ** : 0.2667 0.0000 0.4000 plane waves: 1375 + k-point ** : 0.3333 0.0000 0.4000 plane waves: 1371 + k-point ** : 0.4000 0.0000 0.4000 plane waves: 1373 + k-point ** : 0.4667 0.0000 0.4000 plane waves: 1362 + k-point ** : 0.0000 0.0667 0.4000 plane waves: 1381 + k-point ** : 0.0667 0.0667 0.4000 plane waves: 1378 + k-point ** : 0.1333 0.0667 0.4000 plane waves: 1377 + k-point ** : 0.2000 0.0667 0.4000 plane waves: 1380 + k-point ** : 0.2667 0.0667 0.4000 plane waves: 1374 + k-point ** : 0.3333 0.0667 0.4000 plane waves: 1373 + k-point ** : 0.4000 0.0667 0.4000 plane waves: 1370 + k-point ** : 0.4667 0.0667 0.4000 plane waves: 1369 + k-point ** : 0.0000 0.1333 0.4000 plane waves: 1383 + k-point ** : 0.0667 0.1333 0.4000 plane waves: 1383 + k-point ** : 0.1333 0.1333 0.4000 plane waves: 1375 + k-point ** : 0.2000 0.1333 0.4000 plane waves: 1378 + k-point ** : 0.2667 0.1333 0.4000 plane waves: 1375 + k-point ** : 0.3333 0.1333 0.4000 plane waves: 1373 + k-point ** : 0.4000 0.1333 0.4000 plane waves: 1376 + k-point ** : 0.4667 0.1333 0.4000 plane waves: 1372 + k-point ** : 0.0000 0.2000 0.4000 plane waves: 1382 + k-point ** : 0.0667 0.2000 0.4000 plane waves: 1385 + k-point ** : 0.1333 0.2000 0.4000 plane waves: 1385 + k-point ** : 0.2000 0.2000 0.4000 plane waves: 1378 + k-point ** : 0.2667 0.2000 0.4000 plane waves: 1379 + k-point ** : 0.3333 0.2000 0.4000 plane waves: 1381 + k-point ** : 0.4000 0.2000 0.4000 plane waves: 1379 + k-point ** : 0.4667 0.2000 0.4000 plane waves: 1384 + k-point ** : 0.0000 0.2667 0.4000 plane waves: 1388 + k-point ** : 0.0667 0.2667 0.4000 plane waves: 1380 + k-point ** : 0.1333 0.2667 0.4000 plane waves: 1386 + k-point ** : 0.2000 0.2667 0.4000 plane waves: 1382 + k-point ** : 0.2667 0.2667 0.4000 plane waves: 1382 + k-point ** : 0.3333 0.2667 0.4000 plane waves: 1381 + k-point ** : 0.4000 0.2667 0.4000 plane waves: 1385 + k-point ** : 0.4667 0.2667 0.4000 plane waves: 1385 + k-point ** : 0.0000 0.3333 0.4000 plane waves: 1387 + k-point ** : 0.0667 0.3333 0.4000 plane waves: 1386 + k-point ** : 0.1333 0.3333 0.4000 plane waves: 1384 + k-point ** : 0.2000 0.3333 0.4000 plane waves: 1383 + k-point ** : 0.2667 0.3333 0.4000 plane waves: 1386 + k-point ** : 0.3333 0.3333 0.4000 plane waves: 1389 + k-point ** : 0.4000 0.3333 0.4000 plane waves: 1387 + k-point ** : 0.4667 0.3333 0.4000 plane waves: 1386 + k-point ** : 0.0000 0.4000 0.4000 plane waves: 1392 + k-point ** : 0.0667 0.4000 0.4000 plane waves: 1388 + k-point ** : 0.1333 0.4000 0.4000 plane waves: 1382 + k-point ** : 0.2000 0.4000 0.4000 plane waves: 1381 + k-point ** : 0.2667 0.4000 0.4000 plane waves: 1384 + k-point ** : 0.3333 0.4000 0.4000 plane waves: 1387 + k-point ** : 0.4000 0.4000 0.4000 plane waves: 1387 + k-point ** : 0.4667 0.4000 0.4000 plane waves: 1393 + k-point ** : 0.0000 0.4667 0.4000 plane waves: 1391 + k-point ** : 0.0667 0.4667 0.4000 plane waves: 1384 + k-point ** : 0.1333 0.4667 0.4000 plane waves: 1382 + k-point ** : 0.2000 0.4667 0.4000 plane waves: 1388 + k-point ** : 0.2667 0.4667 0.4000 plane waves: 1388 + k-point ** : 0.3333 0.4667 0.4000 plane waves: 1382 + k-point ** : 0.4000 0.4667 0.4000 plane waves: 1388 + k-point ** : 0.4667 0.4667 0.4000 plane waves: 1390 + k-point ** : 0.0000 0.0000 0.4667 plane waves: 1394 + k-point ** : 0.0667 0.0000 0.4667 plane waves: 1378 + k-point ** : 0.1333 0.0000 0.4667 plane waves: 1374 + k-point ** : 0.2000 0.0000 0.4667 plane waves: 1371 + k-point ** : 0.2667 0.0000 0.4667 plane waves: 1369 + k-point ** : 0.3333 0.0000 0.4667 plane waves: 1371 + k-point ** : 0.4000 0.0000 0.4667 plane waves: 1373 + k-point ** : 0.4667 0.0000 0.4667 plane waves: 1372 + k-point ** : 0.0000 0.0667 0.4667 plane waves: 1381 + k-point ** : 0.0667 0.0667 0.4667 plane waves: 1381 + k-point ** : 0.1333 0.0667 0.4667 plane waves: 1371 + k-point ** : 0.2000 0.0667 0.4667 plane waves: 1375 + k-point ** : 0.2667 0.0667 0.4667 plane waves: 1371 + k-point ** : 0.3333 0.0667 0.4667 plane waves: 1372 + k-point ** : 0.4000 0.0667 0.4667 plane waves: 1373 + k-point ** : 0.4667 0.0667 0.4667 plane waves: 1368 + k-point ** : 0.0000 0.1333 0.4667 plane waves: 1392 + k-point ** : 0.0667 0.1333 0.4667 plane waves: 1383 + k-point ** : 0.1333 0.1333 0.4667 plane waves: 1374 + k-point ** : 0.2000 0.1333 0.4667 plane waves: 1376 + k-point ** : 0.2667 0.1333 0.4667 plane waves: 1375 + k-point ** : 0.3333 0.1333 0.4667 plane waves: 1378 + k-point ** : 0.4000 0.1333 0.4667 plane waves: 1378 + k-point ** : 0.4667 0.1333 0.4667 plane waves: 1377 + k-point ** : 0.0000 0.2000 0.4667 plane waves: 1398 + k-point ** : 0.0667 0.2000 0.4667 plane waves: 1394 + k-point ** : 0.1333 0.2000 0.4667 plane waves: 1384 + k-point ** : 0.2000 0.2000 0.4667 plane waves: 1376 + k-point ** : 0.2667 0.2000 0.4667 plane waves: 1377 + k-point ** : 0.3333 0.2000 0.4667 plane waves: 1380 + k-point ** : 0.4000 0.2000 0.4667 plane waves: 1380 + k-point ** : 0.4667 0.2000 0.4667 plane waves: 1381 + k-point ** : 0.0000 0.2667 0.4667 plane waves: 1386 + k-point ** : 0.0667 0.2667 0.4667 plane waves: 1391 + k-point ** : 0.1333 0.2667 0.4667 plane waves: 1383 + k-point ** : 0.2000 0.2667 0.4667 plane waves: 1385 + k-point ** : 0.2667 0.2667 0.4667 plane waves: 1382 + k-point ** : 0.3333 0.2667 0.4667 plane waves: 1381 + k-point ** : 0.4000 0.2667 0.4667 plane waves: 1387 + k-point ** : 0.4667 0.2667 0.4667 plane waves: 1390 + k-point ** : 0.0000 0.3333 0.4667 plane waves: 1386 + k-point ** : 0.0667 0.3333 0.4667 plane waves: 1382 + k-point ** : 0.1333 0.3333 0.4667 plane waves: 1378 + k-point ** : 0.2000 0.3333 0.4667 plane waves: 1385 + k-point ** : 0.2667 0.3333 0.4667 plane waves: 1386 + k-point ** : 0.3333 0.3333 0.4667 plane waves: 1386 + k-point ** : 0.4000 0.3333 0.4667 plane waves: 1389 + k-point ** : 0.4667 0.3333 0.4667 plane waves: 1392 + k-point ** : 0.0000 0.4000 0.4667 plane waves: 1387 + k-point ** : 0.0667 0.4000 0.4667 plane waves: 1390 + k-point ** : 0.1333 0.4000 0.4667 plane waves: 1383 + k-point ** : 0.2000 0.4000 0.4667 plane waves: 1378 + k-point ** : 0.2667 0.4000 0.4667 plane waves: 1382 + k-point ** : 0.3333 0.4000 0.4667 plane waves: 1385 + k-point ** : 0.4000 0.4000 0.4667 plane waves: 1389 + k-point ** : 0.4667 0.4000 0.4667 plane waves: 1393 + k-point ** : 0.0000 0.4667 0.4667 plane waves: 1380 + k-point ** : 0.0667 0.4667 0.4667 plane waves: 1390 + k-point ** : 0.1333 0.4667 0.4667 plane waves: 1386 + k-point ** : 0.2000 0.4667 0.4667 plane waves: 1386 + k-point ** : 0.2667 0.4667 0.4667 plane waves: 1381 + k-point ** : 0.3333 0.4667 0.4667 plane waves: 1383 + k-point ** : 0.4000 0.4667 0.4667 plane waves: 1388 + k-point ** : 0.4667 0.4667 0.4667 plane waves: 1390 + + maximum and minimum number of plane-waves per node : 1401 1362 + + maximum number of plane-waves: 1401 + maximum index in each direction: + IXMAX= 7 IYMAX= 7 IZMAX= 6 + IXMIN= -7 IYMIN= -7 IZMIN= -6 + + + serial 3D FFT for wavefunctions + parallel 3D FFT for charge: + minimum data exchange during FFTs selected (reduces bandwidth) + + + total amount of memory used by VASP MPI-rank0 355020. kBytes +======================================================================= + + base : 30000. kBytes + nonl-proj : 299130. kBytes + fftplans : 441. kBytes + grid : 1138. kBytes + one-center: 129. kBytes + wavefun : 24182. kBytes + + INWAV: cpu time 0.0001: real time 0.0007 + Broyden mixing: mesh for mixing (old mesh) + NGX = 15 NGY = 15 NGZ = 13 + (NGX = 48 NGY = 48 NGZ = 40) + gives a total of 2925 points + + initial charge density was supplied: + charge density of overlapping atoms calculated + number of electron 26.0000000 magnetization + keeping initial charge density in first step + + +-------------------------------------------------------------------------------------------------------- + + + Maximum index for augmentation-charges 1294 (set IRDMAX) + + +-------------------------------------------------------------------------------------------------------- + + + First call to EWALD: gamma= 0.512 + Maximum number of real-space cells 3x 3x 3 + Maximum number of reciprocal cells 3x 3x 3 + + FEWALD: cpu time 0.0014: real time 0.0014 + + +--------------------------------------- Iteration 1( 1) --------------------------------------- + + + POTLOK: cpu time 0.0000: real time 0.0186 + SETDIJ: cpu time 0.0023: real time 0.0038 + EDDIAG: cpu time 0.8664: real time 0.8695 + RMM-DIIS: cpu time 0.9891: real time 0.9915 + ORTHCH: cpu time 0.0915: real time 0.0917 + DOS: cpu time 0.0040: real time 0.0040 + -------------------------------------------- + LOOP: cpu time 1.9534: real time 1.9792 + + eigenvalue-minimisations : 9216 + total energy-change (2. order) :-0.5752413E+03 (-0.2415436E+04) + number of electron 26.0000000 magnetization + augmentation part 26.0000000 magnetization + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -527.41646070 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 35.33916255 + PAW double counting = 1941.62980019 -1939.43826086 + entropy T*S EENTRO = -0.00530052 + eigenvalues EBANDS = -1293.52360327 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -575.24128006 eV + + energy without entropy = -575.23597954 energy(sigma->0) = -575.23862980 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 2) --------------------------------------- + + + EDDIAG: cpu time 0.8612: real time 0.9058 + RMM-DIIS: cpu time 1.0247: real time 1.0272 + ORTHCH: cpu time 0.0935: real time 0.0937 + DOS: cpu time 0.0037: real time 0.0037 + -------------------------------------------- + LOOP: cpu time 1.9831: real time 2.0305 + + eigenvalue-minimisations : 9216 + total energy-change (2. order) : 0.6776269E+03 (-0.4029736E+03) + number of electron 26.0000000 magnetization + augmentation part 26.0000000 magnetization + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -527.41646070 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 35.33916255 + PAW double counting = 1941.62980019 -1939.43826086 + entropy T*S EENTRO = -0.00481541 + eigenvalues EBANDS = -615.89714414 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = 102.38566418 eV + + energy without entropy = 102.39047960 energy(sigma->0) = 102.38807189 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 3) --------------------------------------- + + + EDDIAG: cpu time 0.8578: real time 0.8850 + RMM-DIIS: cpu time 0.9854: real time 0.9876 + ORTHCH: cpu time 0.0927: real time 0.0950 + DOS: cpu time 0.0039: real time 0.0038 + -------------------------------------------- + LOOP: cpu time 1.9398: real time 1.9715 + + eigenvalue-minimisations : 9216 + total energy-change (2. order) :-0.1313635E+03 (-0.1511722E+03) + number of electron 26.0000000 magnetization + augmentation part 26.0000000 magnetization + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -527.41646070 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 35.33916255 + PAW double counting = 1941.62980019 -1939.43826086 + entropy T*S EENTRO = -0.00684255 + eigenvalues EBANDS = -747.25860832 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -28.97782713 eV + + energy without entropy = -28.97098459 energy(sigma->0) = -28.97440586 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 4) --------------------------------------- + + + EDDIAG: cpu time 0.8663: real time 0.8792 + RMM-DIIS: cpu time 2.9235: real time 2.9296 + ORTHCH: cpu time 0.0974: real time 0.0994 + DOS: cpu time 0.0037: real time 0.0037 + -------------------------------------------- + LOOP: cpu time 3.8909: real time 3.9119 + + eigenvalue-minimisations : 29178 + total energy-change (2. order) :-0.2071636E+02 (-0.8645846E+02) + number of electron 26.0000000 magnetization + augmentation part 26.0000000 magnetization + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -527.41646070 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 35.33916255 + PAW double counting = 1941.62980019 -1939.43826086 + entropy T*S EENTRO = -0.00577549 + eigenvalues EBANDS = -767.97603184 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -49.69418359 eV + + energy without entropy = -49.68840810 energy(sigma->0) = -49.69129585 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 5) --------------------------------------- + + + EDDIAG: cpu time 0.8588: real time 0.8713 + RMM-DIIS: cpu time 3.2869: real time 3.2931 + ORTHCH: cpu time 0.0916: real time 0.0917 + DOS: cpu time 0.0037: real time 0.0037 + CHARGE: cpu time 0.2189: real time 0.2195 + MIXING: cpu time 0.0004: real time 0.0004 + -------------------------------------------- + LOOP: cpu time 4.4603: real time 4.4798 + + eigenvalue-minimisations : 32343 + total energy-change (2. order) :-0.2221706E+01 (-0.1791219E+02) + number of electron 26.0000010 magnetization + augmentation part 1.7185645 magnetization + + Broyden mixing: + rms(total) = 0.99154E+01 rms(broyden)= 0.99154E+01 + rms(prec ) = 0.10501E+02 + weight for this iteration 100.00 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -527.41646070 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 35.33916255 + PAW double counting = 1941.62980019 -1939.43826086 + entropy T*S EENTRO = -0.00286525 + eigenvalues EBANDS = -770.20064788 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -51.91588940 eV + + energy without entropy = -51.91302415 energy(sigma->0) = -51.91445678 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 6) --------------------------------------- + + + POTLOK: cpu time 0.0063: real time 0.0063 + SETDIJ: cpu time 0.0030: real time 0.0030 + EDDIAG: cpu time 0.8572: real time 0.8594 + RMM-DIIS: cpu time 3.1432: real time 3.1501 + ORTHCH: cpu time 0.0945: real time 0.0962 + DOS: cpu time 0.0037: real time 0.0037 + CHARGE: cpu time 0.2174: real time 0.2178 + MIXING: cpu time 0.0010: real time 0.0005 + -------------------------------------------- + LOOP: cpu time 4.3263: real time 4.3370 + + eigenvalue-minimisations : 32157 + total energy-change (2. order) : 0.3557072E+01 (-0.5126209E+01) + number of electron 26.0000010 magnetization + augmentation part 1.7344693 magnetization + + Broyden mixing: + rms(total) = 0.63965E+01 rms(broyden)= 0.63965E+01 + rms(prec ) = 0.64289E+01 + weight for this iteration 100.00 + + eigenvalues of (default mixing * dielectric matrix) + average eigenvalue GAMMA= 2.3193 + 2.3193 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -478.34595767 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.69314398 + PAW double counting = 2583.11263522 -2584.59837190 + entropy T*S EENTRO = -0.00315334 + eigenvalues EBANDS = -810.39049628 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.35881744 eV + + energy without entropy = -48.35566410 energy(sigma->0) = -48.35724077 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 7) --------------------------------------- + + + POTLOK: cpu time 0.0086: real time 0.0151 + SETDIJ: cpu time 0.0028: real time 0.0028 + EDDIAG: cpu time 0.8614: real time 0.8634 + RMM-DIIS: cpu time 3.0067: real time 3.0125 + ORTHCH: cpu time 0.0904: real time 0.0906 + DOS: cpu time 0.0038: real time 0.0038 + CHARGE: cpu time 0.2174: real time 0.2189 + MIXING: cpu time 0.0004: real time 0.0004 + -------------------------------------------- + LOOP: cpu time 4.1915: real time 4.2075 + + eigenvalue-minimisations : 31891 + total energy-change (2. order) :-0.1869340E+00 (-0.1169757E+01) + number of electron 26.0000010 magnetization + augmentation part 1.7769450 magnetization + + Broyden mixing: + rms(total) = 0.10740E+01 rms(broyden)= 0.10740E+01 + rms(prec ) = 0.13069E+01 + weight for this iteration 100.00 + + eigenvalues of (default mixing * dielectric matrix) + average eigenvalue GAMMA= 1.5887 + 1.0277 2.1498 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -468.77317788 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.19468253 + PAW double counting = 3317.64592811 -3318.50891194 + entropy T*S EENTRO = -0.00279364 + eigenvalues EBANDS = -820.27486120 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.54575148 eV + + energy without entropy = -48.54295784 energy(sigma->0) = -48.54435466 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 8) --------------------------------------- + + + POTLOK: cpu time 0.0061: real time 0.0062 + SETDIJ: cpu time 0.0027: real time 0.0027 + EDDIAG: cpu time 0.8569: real time 0.8592 + RMM-DIIS: cpu time 3.1012: real time 3.1079 + ORTHCH: cpu time 0.0908: real time 0.0928 + DOS: cpu time 0.0038: real time 0.0038 + CHARGE: cpu time 0.2182: real time 0.2185 + MIXING: cpu time 0.0005: real time 0.0005 + -------------------------------------------- + LOOP: cpu time 4.2803: real time 4.2918 + + eigenvalue-minimisations : 29478 + total energy-change (2. order) : 0.4696527E+00 (-0.1641795E+00) + number of electron 26.0000010 magnetization + augmentation part 1.7495559 magnetization + + Broyden mixing: + rms(total) = 0.94387E+00 rms(broyden)= 0.94387E+00 + rms(prec ) = 0.94566E+00 + weight for this iteration 100.00 + + eigenvalues of (default mixing * dielectric matrix) + average eigenvalue GAMMA= 1.7834 + 1.5400 1.9052 1.9052 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -481.10425992 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.50004761 + PAW double counting = 3311.78596750 -3311.19575724 + entropy T*S EENTRO = -0.00267424 + eigenvalues EBANDS = -809.23280508 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.07609882 eV + + energy without entropy = -48.07342458 energy(sigma->0) = -48.07476170 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 9) --------------------------------------- + + + POTLOK: cpu time 0.0065: real time 0.0165 + SETDIJ: cpu time 0.0029: real time 0.0029 + EDDIAG: cpu time 0.8609: real time 0.8633 + RMM-DIIS: cpu time 2.9123: real time 2.9192 + ORTHCH: cpu time 0.0968: real time 0.0971 + DOS: cpu time 0.0038: real time 0.0038 + CHARGE: cpu time 0.2174: real time 0.2179 + MIXING: cpu time 0.0005: real time 0.0005 + -------------------------------------------- + LOOP: cpu time 4.1010: real time 4.1212 + + eigenvalue-minimisations : 31189 + total energy-change (2. order) :-0.4703762E-01 (-0.5300665E-01) + number of electron 26.0000010 magnetization + augmentation part 1.7619850 magnetization + + Broyden mixing: + rms(total) = 0.37364E+00 rms(broyden)= 0.37364E+00 + rms(prec ) = 0.50262E+00 + weight for this iteration 100.00 + + eigenvalues of (default mixing * dielectric matrix) + average eigenvalue GAMMA= 1.8041 + 2.5350 2.5350 1.0732 1.0732 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -476.54735144 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.37995814 + PAW double counting = 3192.69887022 -3192.42542193 + entropy T*S EENTRO = -0.00286656 + eigenvalues EBANDS = -813.39970742 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.12313644 eV + + energy without entropy = -48.12026988 energy(sigma->0) = -48.12170316 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 10) --------------------------------------- + + + POTLOK: cpu time 0.0062: real time 0.0062 + SETDIJ: cpu time 0.0027: real time 0.0027 + EDDIAG: cpu time 0.8582: real time 0.8613 + RMM-DIIS: cpu time 3.1267: real time 3.1349 + ORTHCH: cpu time 0.0904: real time 0.0905 + DOS: cpu time 0.0037: real time 0.0037 + CHARGE: cpu time 0.2194: real time 0.2197 + MIXING: cpu time 0.0020: real time 0.0015 + -------------------------------------------- + LOOP: cpu time 4.3092: real time 4.3205 + + eigenvalue-minimisations : 29390 + total energy-change (2. order) : 0.2966125E-01 (-0.4742700E-01) + number of electron 26.0000010 magnetization + augmentation part 1.7423041 magnetization + + Broyden mixing: + rms(total) = 0.31849E+00 rms(broyden)= 0.31849E+00 + rms(prec ) = 0.35866E+00 + weight for this iteration 100.00 + + eigenvalues of (default mixing * dielectric matrix) + average eigenvalue GAMMA= 1.5899 + 2.6842 1.6840 1.6840 1.0048 0.8926 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -482.81360439 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.53890578 + PAW double counting = 3121.35646553 -3120.29858400 + entropy T*S EENTRO = -0.00297373 + eigenvalues EBANDS = -808.04706694 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.09347519 eV + + energy without entropy = -48.09050147 energy(sigma->0) = -48.09198833 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 11) --------------------------------------- + + + POTLOK: cpu time 0.0050: real time 0.0156 + SETDIJ: cpu time 0.0028: real time 0.0028 + EDDIAG: cpu time 0.8582: real time 0.8607 +WARNING in EDDRMM: call to ZHEGV failed, returncode = 8 4 2 + RMM-DIIS: cpu time 3.6274: real time 3.6355 + ORTHCH: cpu time 0.0911: real time 0.0912 + DOS: cpu time 0.0038: real time 0.0038 + CHARGE: cpu time 0.2177: real time 0.2182 + MIXING: cpu time 0.0005: real time 0.0005 + -------------------------------------------- + LOOP: cpu time 4.8065: real time 4.8283 + + eigenvalue-minimisations : 29737 + total energy-change (2. order) : 0.2156037E-01 (-0.5977483E-02) + number of electron 26.0000010 magnetization + augmentation part 1.7466636 magnetization + + Broyden mixing: + rms(total) = 0.53781E-01 rms(broyden)= 0.53781E-01 + rms(prec ) = 0.62072E-01 + weight for this iteration 100.00 + + eigenvalues of (default mixing * dielectric matrix) + average eigenvalue GAMMA= 1.3891 + 2.6733 1.7034 1.7034 1.0132 0.8845 0.3572 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -480.78216452 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.47821903 + PAW double counting = 3189.30069522 -3188.42317580 + entropy T*S EENTRO = -0.00299710 + eigenvalues EBANDS = -809.81587419 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.07191482 eV + + energy without entropy = -48.06891772 energy(sigma->0) = -48.07041627 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 12) --------------------------------------- + + + POTLOK: cpu time 0.0062: real time 0.0062 + SETDIJ: cpu time 0.0028: real time 0.0028 + EDDIAG: cpu time 0.8529: real time 0.8567 +WARNING in EDDRMM: call to ZHEGV failed, returncode = 8 4 2 + RMM-DIIS: cpu time 3.4862: real time 3.4923 + ORTHCH: cpu time 0.0915: real time 0.0917 + DOS: cpu time 0.0037: real time 0.0037 + CHARGE: cpu time 0.2184: real time 0.2187 + MIXING: cpu time 0.0006: real time 0.0006 + -------------------------------------------- + LOOP: cpu time 4.6622: real time 4.6726 + + eigenvalue-minimisations : 30551 + total energy-change (2. order) : 0.8869093E-03 (-0.8814040E-03) + number of electron 26.0000010 magnetization + augmentation part 1.7475456 magnetization + + Broyden mixing: + rms(total) = 0.17327E-01 rms(broyden)= 0.17326E-01 + rms(prec ) = 0.19640E-01 + weight for this iteration 100.00 + + eigenvalues of (default mixing * dielectric matrix) + average eigenvalue GAMMA= 1.3147 + 2.6706 1.6701 1.6701 1.0021 0.9039 0.6430 0.6430 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -480.57803071 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.47228286 + PAW double counting = 3197.70507194 -3196.84324057 + entropy T*S EENTRO = -0.00301416 + eigenvalues EBANDS = -809.99747983 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.07102791 eV + + energy without entropy = -48.06801376 energy(sigma->0) = -48.06952083 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 13) --------------------------------------- + + + POTLOK: cpu time 0.0063: real time 0.0063 + SETDIJ: cpu time 0.0028: real time 0.0028 + EDDIAG: cpu time 0.8539: real time 0.8558 + RMM-DIIS: cpu time 3.3017: real time 3.3099 + ORTHCH: cpu time 0.0903: real time 0.0905 + DOS: cpu time 0.0037: real time 0.0037 + CHARGE: cpu time 0.2175: real time 0.2177 + MIXING: cpu time 0.0006: real time 0.0005 + -------------------------------------------- + LOOP: cpu time 4.4767: real time 4.4872 + + eigenvalue-minimisations : 27907 + total energy-change (2. order) :-0.1094469E-03 (-0.1819417E-03) + number of electron 26.0000010 magnetization + augmentation part 1.7473309 magnetization + + Broyden mixing: + rms(total) = 0.41060E-01 rms(broyden)= 0.41060E-01 + rms(prec ) = 0.43597E-01 + weight for this iteration 100.00 + + eigenvalues of (default mixing * dielectric matrix) + average eigenvalue GAMMA= 1.5889 + 2.6762 2.6235 1.8063 1.8063 1.0829 1.0829 0.8167 0.8167 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -480.71544123 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.47703876 + PAW double counting = 3194.30045733 -3193.42429176 + entropy T*S EENTRO = -0.00304443 + eigenvalues EBANDS = -809.87923859 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.07113736 eV + + energy without entropy = -48.06809293 energy(sigma->0) = -48.06961515 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 14) --------------------------------------- + + + POTLOK: cpu time 0.0064: real time 0.0152 + SETDIJ: cpu time 0.0027: real time 0.0027 + EDDIAG: cpu time 0.8625: real time 0.8642 + RMM-DIIS: cpu time 3.4730: real time 3.4807 + ORTHCH: cpu time 0.0958: real time 0.0960 + DOS: cpu time 0.0033: real time 0.0033 + CHARGE: cpu time 0.2181: real time 0.2185 + MIXING: cpu time 0.0006: real time 0.0006 + -------------------------------------------- + LOOP: cpu time 4.6625: real time 4.6814 + + eigenvalue-minimisations : 28867 + total energy-change (2. order) :-0.4802788E-04 (-0.5334102E-04) + number of electron 26.0000010 magnetization + augmentation part 1.7471770 magnetization + + Broyden mixing: + rms(total) = 0.11318E-01 rms(broyden)= 0.11318E-01 + rms(prec ) = 0.20045E-01 + weight for this iteration 100.00 + + eigenvalues of (default mixing * dielectric matrix) + average eigenvalue GAMMA= 1.4879 + 2.6297 2.6297 1.6936 1.3132 1.1879 1.1879 0.9918 0.8785 0.8785 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -480.78948024 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.47969724 + PAW double counting = 3200.45165620 -3199.56117304 + entropy T*S EENTRO = -0.00304439 + eigenvalues EBANDS = -809.82222371 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.07118539 eV + + energy without entropy = -48.06814100 energy(sigma->0) = -48.06966319 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 15) --------------------------------------- + + + POTLOK: cpu time 0.0062: real time 0.0062 + SETDIJ: cpu time 0.0028: real time 0.0028 + EDDIAG: cpu time 0.8568: real time 0.8614 + RMM-DIIS: cpu time 3.2087: real time 3.2162 + ORTHCH: cpu time 0.0943: real time 0.0959 + DOS: cpu time 0.0037: real time 0.0037 + CHARGE: cpu time 0.2176: real time 0.2180 + MIXING: cpu time 0.0006: real time 0.0006 + -------------------------------------------- + LOOP: cpu time 4.3907: real time 4.4048 + + eigenvalue-minimisations : 27375 + total energy-change (2. order) : 0.7992486E-04 (-0.8025044E-04) + number of electron 26.0000010 magnetization + augmentation part 1.7478758 magnetization + + Broyden mixing: + rms(total) = 0.46851E-02 rms(broyden)= 0.46851E-02 + rms(prec ) = 0.51870E-02 + weight for this iteration 100.00 + + eigenvalues of (default mixing * dielectric matrix) + average eigenvalue GAMMA= 1.3579 + 2.7839 2.5249 1.4729 1.4729 1.1537 1.1537 0.9594 0.9133 0.9133 0.2310 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -480.57031732 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.47337481 + PAW double counting = 3205.37333857 -3204.50053139 + entropy T*S EENTRO = -0.00305052 + eigenvalues EBANDS = -810.01730217 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.07110546 eV + + energy without entropy = -48.06805494 energy(sigma->0) = -48.06958020 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 16) --------------------------------------- + + + POTLOK: cpu time 0.0062: real time 0.0169 + SETDIJ: cpu time 0.0029: real time 0.0029 + EDDIAG: cpu time 0.8529: real time 0.8553 + RMM-DIIS: cpu time 2.8952: real time 2.9013 + ORTHCH: cpu time 0.0905: real time 0.0907 + DOS: cpu time 0.0037: real time 0.0037 + CHARGE: cpu time 0.2153: real time 0.2156 + MIXING: cpu time 0.0008: real time 0.0008 + -------------------------------------------- + LOOP: cpu time 4.0684: real time 4.0872 + + eigenvalue-minimisations : 26944 + total energy-change (2. order) : 0.6773008E-05 (-0.9673818E-05) + number of electron 26.0000010 magnetization + augmentation part 1.7479216 magnetization + + Broyden mixing: + rms(total) = 0.39083E-02 rms(broyden)= 0.39083E-02 + rms(prec ) = 0.48812E-02 + weight for this iteration 100.00 + + eigenvalues of (default mixing * dielectric matrix) + average eigenvalue GAMMA= 1.3253 + 2.8948 2.4553 1.5944 1.2157 1.2157 1.0656 1.0656 0.9218 0.9218 0.6138 + 0.6138 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -480.57208370 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.47337122 + PAW double counting = 3205.24324251 -3204.37022275 + entropy T*S EENTRO = -0.00304889 + eigenvalues EBANDS = -810.01573963 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.07109869 eV + + energy without entropy = -48.06804980 energy(sigma->0) = -48.06957425 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 17) --------------------------------------- + + + POTLOK: cpu time 0.0061: real time 0.0061 + SETDIJ: cpu time 0.0027: real time 0.0027 + EDDIAG: cpu time 0.8539: real time 0.8561 + RMM-DIIS: cpu time 2.4896: real time 2.4948 + ORTHCH: cpu time 0.0919: real time 0.0936 + DOS: cpu time 0.0037: real time 0.0037 + CHARGE: cpu time 0.2152: real time 0.2157 + MIXING: cpu time 0.0007: real time 0.0007 + -------------------------------------------- + LOOP: cpu time 3.6630: real time 3.6735 + + eigenvalue-minimisations : 21111 + total energy-change (2. order) :-0.1378648E-06 (-0.3109433E-05) + number of electron 26.0000010 magnetization + augmentation part 1.7479123 magnetization + + Broyden mixing: + rms(total) = 0.28181E-02 rms(broyden)= 0.28181E-02 + rms(prec ) = 0.39149E-02 + weight for this iteration 100.00 + + eigenvalues of (default mixing * dielectric matrix) + average eigenvalue GAMMA= 1.4710 + 2.9079 2.2924 2.2924 1.6621 1.6621 1.2410 1.2410 0.9431 0.9431 0.9557 + 0.9062 0.6049 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -480.57833821 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.47347056 + PAW double counting = 3205.16062297 -3204.28612410 + entropy T*S EENTRO = -0.00305011 + eigenvalues EBANDS = -810.01106249 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.07109883 eV + + energy without entropy = -48.06804872 energy(sigma->0) = -48.06957377 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 18) --------------------------------------- + + + POTLOK: cpu time 0.0113: real time 0.0161 + SETDIJ: cpu time 0.0028: real time 0.0028 + EDDIAG: cpu time 0.8562: real time 0.8582 + RMM-DIIS: cpu time 3.0636: real time 3.0697 + ORTHCH: cpu time 0.0905: real time 0.0907 + DOS: cpu time 0.0036: real time 0.0037 + CHARGE: cpu time 0.2153: real time 0.2157 + MIXING: cpu time 0.0008: real time 0.0008 + -------------------------------------------- + LOOP: cpu time 4.2441: real time 4.2575 + + eigenvalue-minimisations : 25981 + total energy-change (2. order) : 0.2551284E-05 (-0.2256845E-05) + number of electron 26.0000010 magnetization + augmentation part 1.7478071 magnetization + + Broyden mixing: + rms(total) = 0.71135E-03 rms(broyden)= 0.71134E-03 + rms(prec ) = 0.91622E-03 + weight for this iteration 100.00 + + eigenvalues of (default mixing * dielectric matrix) + average eigenvalue GAMMA= 1.4171 + 2.6811 2.5386 1.7609 1.7609 1.7689 1.4591 1.4591 0.8833 0.8833 1.0096 + 0.8463 0.6854 0.6854 + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -480.61644072 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.47429532 + PAW double counting = 3204.55531159 -3203.67482965 + entropy T*S EENTRO = -0.00304973 + eigenvalues EBANDS = -809.97976563 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.07109628 eV + + energy without entropy = -48.06804655 energy(sigma->0) = -48.06957141 + + +-------------------------------------------------------------------------------------------------------- + + + + +--------------------------------------- Iteration 1( 19) --------------------------------------- + + + POTLOK: cpu time 0.0061: real time 0.0061 + SETDIJ: cpu time 0.0028: real time 0.0028 + EDDIAG: cpu time 0.8529: real time 0.8552 + RMM-DIIS: cpu time 2.5286: real time 2.5345 + ORTHCH: cpu time 0.0907: real time 0.0909 + DOS: cpu time 0.0037: real time 0.0037 + -------------------------------------------- + LOOP: cpu time 3.4848: real time 3.4932 + + eigenvalue-minimisations : 18928 + total energy-change (2. order) : 0.3110167E-06 (-0.2199411E-06) + number of electron 26.0000010 magnetization + augmentation part 1.7478071 magnetization + + Free energy of the ion-electron system (eV) + --------------------------------------------------- + alpha Z PSCENC = 131.43308500 + Ewald energy TEWEN = -1959.85115532 + -Hartree energ DENC = -480.61520692 + -exchange EXHF = 0.00000000 + -V(xc)+E(xc) XCENC = 33.47431066 + PAW double counting = 3204.45646866 -3203.57677692 + entropy T*S EENTRO = -0.00304986 + eigenvalues EBANDS = -809.98022412 + atomic energy EATOM = 3036.59145287 + Solvation Ediel_sol = 0.00000000 + --------------------------------------------------- + free energy TOTEN = -48.07109596 eV + + energy without entropy = -48.06804610 energy(sigma->0) = -48.06957103 + + +-------------------------------------------------------------------------------------------------------- + + + + + average (electrostatic) potential at core + the test charge radii are 0.9757 0.6353 + (the norm of the test charge is 1.0000) + 1 -88.4748 2 -52.0480 3 -52.1785 4 -52.6183 + + + + E-fermi : 7.8828 XC(G=0): -12.0496 alpha+bet :-19.6080 + + + k-point 1 : 0.0000 0.0000 0.0000 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7478 2.00000 + 5 -30.0216 2.00000 + 6 -29.9884 2.00000 + 7 -29.8113 2.00000 + 8 -2.0041 2.00000 + 9 4.4237 2.00000 + 10 4.8277 2.00000 + 11 6.4981 2.00000 + 12 6.9617 2.00000 + 13 8.1586 0.00010 + 14 8.8821 0.00000 + 15 8.9648 0.00000 + 16 9.0855 0.00000 + 17 13.1593 0.00000 + 18 14.6689 0.00000 + + k-point 2 : 0.0667 0.0000 0.0000 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7478 2.00000 + 5 -30.0237 2.00000 + 6 -29.9882 2.00000 + 7 -29.8111 2.00000 + 8 -1.9535 2.00000 + 9 4.3336 2.00000 + 10 4.8001 2.00000 + 11 6.5232 2.00000 + 12 6.7555 2.00000 + 13 8.3862 0.00000 + 14 8.4025 0.00000 + 15 8.9705 0.00000 + 16 9.5855 0.00000 + 17 13.3605 0.00000 + 18 14.6572 0.00000 + + k-point 3 : 0.1333 0.0000 0.0000 + band No. band energies occupation + 1 -91.8814 2.00000 + 2 -91.4262 2.00000 + 3 -91.2911 2.00000 + 4 -65.7477 2.00000 + 5 -30.0297 2.00000 + 6 -29.9877 2.00000 + 7 -29.8105 2.00000 + 8 -1.8058 2.00000 + 9 4.0326 2.00000 + 10 4.7589 2.00000 + 11 6.3613 2.00000 + 12 6.6323 2.00000 + 13 7.8755 1.08202 + 14 8.8446 0.00000 + 15 8.9868 0.00000 + 16 10.1754 0.00000 + 17 14.0117 0.00000 + 18 14.7252 0.00000 + + k-point 4 : 0.2000 0.0000 0.0000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4258 2.00000 + 3 -91.2907 2.00000 + 4 -65.7475 2.00000 + 5 -30.0383 2.00000 + 6 -29.9868 2.00000 + 7 -29.8096 2.00000 + 8 -1.5620 2.00000 + 9 3.5407 2.00000 + 10 4.7314 2.00000 + 11 5.9618 2.00000 + 12 6.8672 2.00000 + 13 7.4063 2.00000 + 14 9.0110 0.00000 + 15 9.3490 0.00000 + 16 10.7563 0.00000 + 17 14.0913 0.00000 + 18 15.1642 0.00000 + + k-point 5 : 0.2667 0.0000 0.0000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7473 2.00000 + 5 -30.0481 2.00000 + 6 -29.9858 2.00000 + 7 -29.8086 2.00000 + 8 -1.2340 2.00000 + 9 2.9354 2.00000 + 10 4.7102 2.00000 + 11 5.6128 2.00000 + 12 7.0130 2.00000 + 13 7.2261 2.00000 + 14 9.0390 0.00000 + 15 9.8394 0.00000 + 16 11.3191 0.00000 + 17 14.0352 0.00000 + 18 15.4144 0.00000 + + k-point 6 : 0.3333 0.0000 0.0000 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7471 2.00000 + 5 -30.0576 2.00000 + 6 -29.9848 2.00000 + 7 -29.8076 2.00000 + 8 -0.8326 2.00000 + 9 2.2914 2.00000 + 10 4.6917 2.00000 + 11 5.3376 2.00000 + 12 6.7081 2.00000 + 13 7.6717 1.99716 + 14 9.0662 0.00000 + 15 10.2804 0.00000 + 16 11.8535 0.00000 + 17 13.4527 0.00000 + 18 14.9300 0.00000 + + k-point 7 : 0.4000 0.0000 0.0000 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7470 2.00000 + 5 -30.0651 2.00000 + 6 -29.9841 2.00000 + 7 -29.8068 2.00000 + 8 -0.3829 2.00000 + 9 1.6674 2.00000 + 10 4.6772 2.00000 + 11 5.1483 2.00000 + 12 6.5003 2.00000 + 13 8.1260 0.00058 + 14 9.0876 0.00000 + 15 10.6305 0.00000 + 16 12.3305 0.00000 + 17 12.9072 0.00000 + 18 15.1709 0.00000 + + k-point 8 : 0.4667 0.0000 0.0000 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4260 2.00000 + 3 -91.2910 2.00000 + 4 -65.7470 2.00000 + 5 -30.0692 2.00000 + 6 -29.9837 2.00000 + 7 -29.8064 2.00000 + 8 0.0259 2.00000 + 9 1.1640 2.00000 + 10 4.6691 2.00000 + 11 5.0521 2.00000 + 12 6.3951 2.00000 + 13 8.4419 0.00000 + 14 9.0994 0.00000 + 15 10.8329 0.00000 + 16 12.5866 0.00000 + 17 12.7497 0.00000 + 18 15.0542 0.00000 + + k-point 9 : 0.0000 0.0667 0.0000 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7478 2.00000 + 5 -30.0213 2.00000 + 6 -29.9915 2.00000 + 7 -29.8110 2.00000 + 8 -1.9529 2.00000 + 9 4.3901 2.00000 + 10 4.7755 2.00000 + 11 6.3415 2.00000 + 12 6.9388 2.00000 + 13 8.3265 0.00000 + 14 8.4311 0.00000 + 15 8.8898 0.00000 + 16 9.6264 0.00000 + 17 13.5937 0.00000 + 18 14.7192 0.00000 + + k-point 10 : 0.0667 0.0667 0.0000 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4256 2.00000 + 3 -91.2905 2.00000 + 4 -65.7477 2.00000 + 5 -30.0234 2.00000 + 6 -29.9912 2.00000 + 7 -29.8108 2.00000 + 8 -1.9023 2.00000 + 9 4.3246 2.00000 + 10 4.7293 2.00000 + 11 6.2087 2.00000 + 12 6.9819 2.00000 + 13 8.2546 0.00000 + 14 8.4565 0.00000 + 15 8.8007 0.00000 + 16 9.9214 0.00000 + 17 13.6485 0.00000 + 18 14.6504 0.00000 + + k-point 11 : 0.1333 0.0667 0.0000 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7476 2.00000 + 5 -30.0294 2.00000 + 6 -29.9906 2.00000 + 7 -29.8102 2.00000 + 8 -1.7528 2.00000 + 9 4.0516 2.00000 + 10 4.6663 2.00000 + 11 5.9785 2.00000 + 12 7.0276 2.00000 + 13 7.8427 1.42889 + 14 8.7719 0.00000 + 15 8.8056 0.00000 + 16 10.4508 0.00000 + 17 14.3989 0.00000 + 18 15.1127 0.00000 + + k-point 12 : 0.2000 0.0667 0.0000 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7474 2.00000 + 5 -30.0379 2.00000 + 6 -29.9898 2.00000 + 7 -29.8093 2.00000 + 8 -1.5097 2.00000 + 9 3.5587 2.00000 + 10 4.6450 2.00000 + 11 5.7408 2.00000 + 12 7.1387 2.00000 + 13 7.4085 2.00000 + 14 8.7921 0.00000 + 15 9.2640 0.00000 + 16 11.0130 0.00000 + 17 14.0760 0.00000 + 18 15.2142 0.00000 + + k-point 13 : 0.2667 0.0667 0.0000 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4252 2.00000 + 3 -91.2903 2.00000 + 4 -65.7472 2.00000 + 5 -30.0478 2.00000 + 6 -29.9888 2.00000 + 7 -29.8083 2.00000 + 8 -1.1815 2.00000 + 9 2.9494 2.00000 + 10 4.6412 2.00000 + 11 5.4944 2.00000 + 12 7.0285 2.00000 + 13 7.3926 2.00000 + 14 8.8271 0.00000 + 15 9.7408 0.00000 + 16 11.5692 0.00000 + 17 13.8620 0.00000 + 18 14.8771 0.00000 + + k-point 14 : 0.3333 0.0667 0.0000 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7471 2.00000 + 5 -30.0573 2.00000 + 6 -29.9878 2.00000 + 7 -29.8073 2.00000 + 8 -0.7815 2.00000 + 9 2.3062 2.00000 + 10 4.6436 2.00000 + 11 5.2669 2.00000 + 12 6.7293 2.00000 + 13 7.7653 1.90327 + 14 8.8638 0.00000 + 15 10.1806 0.00000 + 16 12.1051 0.00000 + 17 13.3952 0.00000 + 18 14.8765 0.00000 + + k-point 15 : 0.4000 0.0667 0.0000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7470 2.00000 + 5 -30.0648 2.00000 + 6 -29.9871 2.00000 + 7 -29.8065 2.00000 + 8 -0.3310 2.00000 + 9 1.6815 2.00000 + 10 4.6514 2.00000 + 11 5.0908 2.00000 + 12 6.5240 2.00000 + 13 8.1695 0.00005 + 14 8.8934 0.00000 + 15 10.5364 0.00000 + 16 12.5997 0.00000 + 17 12.8998 0.00000 + 18 15.5154 0.00000 + + k-point 16 : 0.4667 0.0667 0.0000 + band No. band energies occupation + 1 -91.8813 2.00000 + 2 -91.4263 2.00000 + 3 -91.2913 2.00000 + 4 -65.7469 2.00000 + 5 -30.0689 2.00000 + 6 -29.9867 2.00000 + 7 -29.8062 2.00000 + 8 0.0847 2.00000 + 9 1.1741 2.00000 + 10 4.6613 2.00000 + 11 4.9916 2.00000 + 12 6.4197 2.00000 + 13 8.4555 0.00000 + 14 8.9099 0.00000 + 15 10.7473 0.00000 + 16 12.4480 0.00000 + 17 12.9600 0.00000 + 18 14.8774 0.00000 + + k-point 17 : 0.0000 0.1333 0.0000 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7476 2.00000 + 5 -30.0204 2.00000 + 6 -29.9998 2.00000 + 7 -29.8102 2.00000 + 8 -1.7946 2.00000 + 9 4.2094 2.00000 + 10 4.6772 2.00000 + 11 5.9995 2.00000 + 12 6.9517 2.00000 + 13 7.8739 1.09960 + 14 8.7041 0.00000 + 15 8.9110 0.00000 + 16 10.2112 0.00000 + 17 14.2659 0.00000 + 18 14.8795 0.00000 + + k-point 18 : 0.0667 0.1333 0.0000 + band No. band energies occupation + 1 -91.8814 2.00000 + 2 -91.4263 2.00000 + 3 -91.2912 2.00000 + 4 -65.7476 2.00000 + 5 -30.0226 2.00000 + 6 -29.9996 2.00000 + 7 -29.8099 2.00000 + 8 -1.7450 2.00000 + 9 4.2129 2.00000 + 10 4.5661 2.00000 + 11 5.8355 2.00000 + 12 7.1501 2.00000 + 13 7.8382 1.47145 + 14 8.7026 0.00000 + 15 8.7336 0.00000 + 16 10.4623 0.00000 + 17 13.8631 0.00000 + 18 14.8598 0.00000 + + k-point 19 : 0.1333 0.1333 0.0000 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7475 2.00000 + 5 -30.0285 2.00000 + 6 -29.9991 2.00000 + 7 -29.8093 2.00000 + 8 -1.5968 2.00000 + 9 4.0989 2.00000 + 10 4.3522 2.00000 + 11 5.6129 2.00000 + 12 7.4328 2.00000 + 13 7.6870 1.99438 + 14 8.4839 0.00000 + 15 8.7940 0.00000 + 16 10.9754 0.00000 + 17 14.1029 0.00000 + 18 15.2039 0.00000 + + k-point 20 : 0.2000 0.1333 0.0000 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7473 2.00000 + 5 -30.0371 2.00000 + 6 -29.9982 2.00000 + 7 -29.8084 2.00000 + 8 -1.3533 2.00000 + 9 3.5980 2.00000 + 10 4.3620 2.00000 + 11 5.4512 2.00000 + 12 7.3952 2.00000 + 13 7.5979 1.99994 + 14 8.3845 0.00000 + 15 9.0910 0.00000 + 16 11.5502 0.00000 + 17 14.7238 0.00000 + 18 15.9954 0.00000 + + k-point 21 : 0.2667 0.1333 0.0000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7471 2.00000 + 5 -30.0470 2.00000 + 6 -29.9972 2.00000 + 7 -29.8074 2.00000 + 8 -1.0273 2.00000 + 9 2.9802 2.00000 + 10 4.4181 2.00000 + 11 5.2968 2.00000 + 12 7.0683 2.00000 + 13 7.7534 1.93270 + 14 8.3858 0.00000 + 15 9.5100 0.00000 + 16 12.1157 0.00000 + 17 13.7017 0.00000 + 18 16.0755 0.00000 + + k-point 22 : 0.3333 0.1333 0.0000 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4260 2.00000 + 3 -91.2911 2.00000 + 4 -65.7470 2.00000 + 5 -30.0566 2.00000 + 6 -29.9963 2.00000 + 7 -29.8065 2.00000 + 8 -0.6301 2.00000 + 9 2.3392 2.00000 + 10 4.4826 2.00000 + 11 5.1281 2.00000 + 12 6.7895 2.00000 + 13 7.9927 0.12001 + 14 8.4203 0.00000 + 15 9.9342 0.00000 + 16 12.6686 0.00000 + 17 14.6904 0.00000 + 18 16.3415 0.00000 + + k-point 23 : 0.4000 0.1333 0.0000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7468 2.00000 + 5 -30.0640 2.00000 + 6 -29.9955 2.00000 + 7 -29.8057 2.00000 + 8 -0.1783 2.00000 + 9 1.7219 2.00000 + 10 4.5543 2.00000 + 11 4.9634 2.00000 + 12 6.5924 2.00000 + 13 8.2811 0.00000 + 14 8.4564 0.00000 + 15 10.2930 0.00000 + 16 12.6655 0.00000 + 17 13.2024 0.00000 + 18 15.4432 0.00000 + + k-point 24 : 0.4667 0.1333 0.0000 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7467 2.00000 + 5 -30.0681 2.00000 + 6 -29.9951 2.00000 + 7 -29.8053 2.00000 + 8 0.2566 2.00000 + 9 1.2033 2.00000 + 10 4.6272 2.00000 + 11 4.8360 2.00000 + 12 6.4912 2.00000 + 13 8.4783 0.00000 + 14 8.4935 0.00000 + 15 10.5194 0.00000 + 16 12.2814 0.00000 + 17 13.6544 0.00000 + 18 14.8524 0.00000 + + k-point 25 : 0.0000 0.2000 0.0000 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7473 2.00000 + 5 -30.0191 2.00000 + 6 -30.0121 2.00000 + 7 -29.8089 2.00000 + 8 -1.5376 2.00000 + 9 3.7788 2.00000 + 10 4.6305 2.00000 + 11 5.6232 2.00000 + 12 7.1210 2.00000 + 13 7.3732 2.00000 + 14 8.9428 0.00000 + 15 9.1443 0.00000 + 16 10.7771 0.00000 + 17 14.0933 0.00000 + 18 15.6423 0.00000 + + k-point 26 : 0.0667 0.2000 0.0000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7473 2.00000 + 5 -30.0213 2.00000 + 6 -30.0119 2.00000 + 7 -29.8086 2.00000 + 8 -1.4880 2.00000 + 9 3.7961 2.00000 + 10 4.5072 2.00000 + 11 5.5227 2.00000 + 12 7.3126 2.00000 + 13 7.3745 2.00000 + 14 8.7532 0.00000 + 15 9.0824 0.00000 + 16 11.0146 0.00000 + 17 13.9004 0.00000 + 18 15.4021 0.00000 + + k-point 27 : 0.1333 0.2000 0.0000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7472 2.00000 + 5 -30.0271 2.00000 + 6 -30.0113 2.00000 + 7 -29.8080 2.00000 + 8 -1.3394 2.00000 + 9 3.8230 2.00000 + 10 4.1696 2.00000 + 11 5.3756 2.00000 + 12 7.3639 2.00000 + 13 7.6935 1.99258 + 14 8.3844 0.00000 + 15 8.9738 0.00000 + 16 11.5333 0.00000 + 17 14.0395 0.00000 + 18 15.4431 0.00000 + + k-point 28 : 0.2000 0.2000 0.0000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7470 2.00000 + 5 -30.0358 2.00000 + 6 -30.0105 2.00000 + 7 -29.8072 2.00000 + 8 -1.1004 2.00000 + 9 3.5412 2.00000 + 10 4.0159 2.00000 + 11 5.2627 2.00000 + 12 7.2896 2.00000 + 13 7.9988 0.10080 + 14 8.0788 0.00557 + 15 9.0073 0.00000 + 16 12.1244 0.00000 + 17 13.7520 0.00000 + 18 16.7152 0.00000 + + k-point 29 : 0.2667 0.2000 0.0000 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7468 2.00000 + 5 -30.0459 2.00000 + 6 -30.0096 2.00000 + 7 -29.8061 2.00000 + 8 -0.7790 2.00000 + 9 2.9721 2.00000 + 10 4.1076 2.00000 + 11 5.1462 2.00000 + 12 7.1030 2.00000 + 13 7.9500 0.34166 + 14 8.1422 0.00024 + 15 9.2822 0.00000 + 16 12.7110 0.00000 + 17 13.3886 0.00000 + 18 15.6710 0.00000 + + k-point 30 : 0.3333 0.2000 0.0000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7467 2.00000 + 5 -30.0554 2.00000 + 6 -30.0087 2.00000 + 7 -29.8053 2.00000 + 8 -0.3863 2.00000 + 9 2.3710 2.00000 + 10 4.2299 2.00000 + 11 5.0035 2.00000 + 12 6.8764 2.00000 + 13 7.9435 0.39079 + 14 8.2650 0.00000 + 15 9.6513 0.00000 + 16 12.8907 0.00000 + 17 13.2663 0.00000 + 18 15.5200 0.00000 + + k-point 31 : 0.4000 0.2000 0.0000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7465 2.00000 + 5 -30.0629 2.00000 + 6 -30.0079 2.00000 + 7 -29.8045 2.00000 + 8 0.0623 2.00000 + 9 1.7821 2.00000 + 10 4.3653 2.00000 + 11 4.8399 2.00000 + 12 6.6971 2.00000 + 13 7.9722 0.20622 + 14 8.4241 0.00000 + 15 9.9878 0.00000 + 16 12.3795 0.00000 + 17 13.7744 0.00000 + 18 15.4918 0.00000 + + k-point 32 : 0.4667 0.2000 0.0000 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7464 2.00000 + 5 -30.0669 2.00000 + 6 -30.0075 2.00000 + 7 -29.8040 2.00000 + 8 0.5200 2.00000 + 9 1.2543 2.00000 + 10 4.5122 2.00000 + 11 4.6723 2.00000 + 12 6.6015 2.00000 + 13 7.9946 0.11393 + 14 8.5494 0.00000 + 15 10.2089 0.00000 + 16 12.0275 0.00000 + 17 14.4133 0.00000 + 18 15.6167 0.00000 + + k-point 33 : 0.0000 0.2667 0.0000 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4257 2.00000 + 3 -91.2908 2.00000 + 4 -65.7470 2.00000 + 5 -30.0263 2.00000 + 6 -30.0177 2.00000 + 7 -29.8073 2.00000 + 8 -1.1910 2.00000 + 9 3.1811 2.00000 + 10 4.6122 2.00000 + 11 5.2814 2.00000 + 12 6.9503 2.00000 + 13 7.4746 2.00000 + 14 8.9798 0.00000 + 15 9.5814 0.00000 + 16 11.3283 0.00000 + 17 13.6460 0.00000 + 18 15.5948 0.00000 + + k-point 34 : 0.0667 0.2667 0.0000 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4260 2.00000 + 3 -91.2910 2.00000 + 4 -65.7470 2.00000 + 5 -30.0261 2.00000 + 6 -30.0198 2.00000 + 7 -29.8072 2.00000 + 8 -1.1414 2.00000 + 9 3.1889 2.00000 + 10 4.5083 2.00000 + 11 5.2434 2.00000 + 12 6.9639 2.00000 + 13 7.6097 1.99989 + 14 8.7962 0.00000 + 15 9.4992 0.00000 + 16 11.5568 0.00000 + 17 13.6608 0.00000 + 18 15.2250 0.00000 + + k-point 35 : 0.1333 0.2667 0.0000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7469 2.00000 + 5 -30.0257 2.00000 + 6 -30.0255 2.00000 + 7 -29.8066 2.00000 + 8 -0.9957 2.00000 + 9 3.1942 2.00000 + 10 4.2418 2.00000 + 11 5.1757 2.00000 + 12 7.0004 2.00000 + 13 7.9287 0.51588 + 14 8.4011 0.00000 + 15 9.3080 0.00000 + 16 12.0788 0.00000 + 17 13.5578 0.00000 + 18 15.2519 0.00000 + + k-point 36 : 0.2000 0.2667 0.0000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7467 2.00000 + 5 -30.0345 2.00000 + 6 -30.0247 2.00000 + 7 -29.8057 2.00000 + 8 -0.7602 2.00000 + 9 3.1062 2.00000 + 10 3.9790 2.00000 + 11 5.1030 2.00000 + 12 7.0431 2.00000 + 13 7.9901 0.12911 + 14 8.2728 0.00000 + 15 9.1426 0.00000 + 16 12.6730 0.00000 + 17 13.3289 0.00000 + 18 15.7896 0.00000 + + k-point 37 : 0.2667 0.2667 0.0000 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7465 2.00000 + 5 -30.0445 2.00000 + 6 -30.0237 2.00000 + 7 -29.8047 2.00000 + 8 -0.4475 2.00000 + 9 2.8028 2.00000 + 10 3.9098 2.00000 + 11 5.0079 2.00000 + 12 7.0489 2.00000 + 13 7.6784 1.99615 + 14 8.4720 0.00000 + 15 9.1821 0.00000 + 16 12.9563 0.00000 + 17 13.5965 0.00000 + 18 17.2388 0.00000 + + k-point 38 : 0.3333 0.2667 0.0000 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7463 2.00000 + 5 -30.0541 2.00000 + 6 -30.0228 2.00000 + 7 -29.8038 2.00000 + 8 -0.0679 2.00000 + 9 2.3493 2.00000 + 10 3.9944 2.00000 + 11 4.8777 2.00000 + 12 6.9573 2.00000 + 13 7.5462 2.00000 + 14 8.5230 0.00000 + 15 9.4304 0.00000 + 16 12.4873 0.00000 + 17 13.6262 0.00000 + 18 16.0306 0.00000 + + k-point 39 : 0.4000 0.2667 0.0000 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4246 2.00000 + 3 -91.2897 2.00000 + 4 -65.7461 2.00000 + 5 -30.0615 2.00000 + 6 -30.0221 2.00000 + 7 -29.8030 2.00000 + 8 0.3633 2.00000 + 9 1.8487 2.00000 + 10 4.1415 2.00000 + 11 4.7166 2.00000 + 12 6.8214 2.00000 + 13 7.5399 2.00000 + 14 8.5695 0.00000 + 15 9.7014 0.00000 + 16 12.0422 0.00000 + 17 13.9068 0.00000 + 18 16.1837 0.00000 + + k-point 40 : 0.4667 0.2667 0.0000 + band No. band energies occupation + 1 -91.8795 2.00000 + 2 -91.4245 2.00000 + 3 -91.2895 2.00000 + 4 -65.7461 2.00000 + 5 -30.0656 2.00000 + 6 -30.0217 2.00000 + 7 -29.8026 2.00000 + 8 0.8283 2.00000 + 9 1.3477 2.00000 + 10 4.3004 2.00000 + 11 4.5506 2.00000 + 12 6.7365 2.00000 + 13 7.5567 2.00000 + 14 8.6157 0.00000 + 15 9.8832 0.00000 + 16 11.7458 0.00000 + 17 14.0429 0.00000 + 18 16.0539 0.00000 + + k-point 41 : 0.0000 0.3333 0.0000 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2910 2.00000 + 4 -65.7468 2.00000 + 5 -30.0398 2.00000 + 6 -30.0163 2.00000 + 7 -29.8059 2.00000 + 8 -0.7675 2.00000 + 9 2.5196 2.00000 + 10 4.5999 2.00000 + 11 5.0061 2.00000 + 12 6.6208 2.00000 + 13 7.9708 0.21318 + 14 9.0157 0.00000 + 15 9.9775 0.00000 + 16 11.8614 0.00000 + 17 13.1993 0.00000 + 18 15.3650 0.00000 + + k-point 42 : 0.0667 0.3333 0.0000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7467 2.00000 + 5 -30.0395 2.00000 + 6 -30.0184 2.00000 + 7 -29.8057 2.00000 + 8 -0.7188 2.00000 + 9 2.5262 2.00000 + 10 4.5193 2.00000 + 11 4.9986 2.00000 + 12 6.6392 2.00000 + 13 8.0523 0.01653 + 14 8.8426 0.00000 + 15 9.8894 0.00000 + 16 12.0868 0.00000 + 17 13.1663 0.00000 + 18 16.1220 0.00000 + + k-point 43 : 0.1333 0.3333 0.0000 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7466 2.00000 + 5 -30.0390 2.00000 + 6 -30.0243 2.00000 + 7 -29.8052 2.00000 + 8 -0.5758 2.00000 + 9 2.5363 2.00000 + 10 4.3168 2.00000 + 11 4.9744 2.00000 + 12 6.6919 2.00000 + 13 8.2598 0.00000 + 14 8.4520 0.00000 + 15 9.6694 0.00000 + 16 12.6304 0.00000 + 17 13.0732 0.00000 + 18 15.6443 0.00000 + + k-point 44 : 0.2000 0.3333 0.0000 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2911 2.00000 + 4 -65.7465 2.00000 + 5 -30.0382 2.00000 + 6 -30.0332 2.00000 + 7 -29.8043 2.00000 + 8 -0.3483 2.00000 + 9 2.5183 2.00000 + 10 4.0832 2.00000 + 11 4.9265 2.00000 + 12 6.7709 2.00000 + 13 8.0186 0.05476 + 14 8.5126 0.00000 + 15 9.4183 0.00000 + 16 12.8043 0.00000 + 17 13.1910 0.00000 + 18 15.7181 0.00000 + + k-point 45 : 0.2667 0.3333 0.0000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7462 2.00000 + 5 -30.0432 2.00000 + 6 -30.0373 2.00000 + 7 -29.8034 2.00000 + 8 -0.0478 2.00000 + 9 2.4216 2.00000 + 10 3.9190 2.00000 + 11 4.8440 2.00000 + 12 6.8610 2.00000 + 13 7.6333 1.99958 + 14 8.7054 0.00000 + 15 9.2656 0.00000 + 16 12.4562 0.00000 + 17 13.6001 0.00000 + 18 16.2032 0.00000 + + k-point 46 : 0.3333 0.3333 0.0000 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7460 2.00000 + 5 -30.0528 2.00000 + 6 -30.0364 2.00000 + 7 -29.8024 2.00000 + 8 0.3045 2.00000 + 9 2.2066 2.00000 + 10 3.8869 2.00000 + 11 4.7195 2.00000 + 12 6.9324 2.00000 + 13 7.3479 2.00000 + 14 8.7335 0.00000 + 15 9.3281 0.00000 + 16 12.0629 0.00000 + 17 13.7569 0.00000 + 18 16.5710 0.00000 + + k-point 47 : 0.4000 0.3333 0.0000 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7459 2.00000 + 5 -30.0602 2.00000 + 6 -30.0357 2.00000 + 7 -29.8017 2.00000 + 8 0.6908 2.00000 + 9 1.8937 2.00000 + 10 3.9664 2.00000 + 11 4.5594 2.00000 + 12 6.9277 2.00000 + 13 7.2186 2.00000 + 14 8.6985 0.00000 + 15 9.4867 0.00000 + 16 11.7099 0.00000 + 17 13.7542 0.00000 + 18 16.7032 0.00000 + + k-point 48 : 0.4667 0.3333 0.0000 + band No. band energies occupation + 1 -91.8786 2.00000 + 2 -91.4236 2.00000 + 3 -91.2886 2.00000 + 4 -65.7457 2.00000 + 5 -30.0642 2.00000 + 6 -30.0352 2.00000 + 7 -29.8012 2.00000 + 8 1.0768 2.00000 + 9 1.5402 2.00000 + 10 4.0958 2.00000 + 11 4.3989 2.00000 + 12 6.8746 2.00000 + 13 7.2086 2.00000 + 14 8.6828 0.00000 + 15 9.6000 0.00000 + 16 11.4903 0.00000 + 17 13.7171 0.00000 + 18 16.6030 0.00000 + + k-point 49 : 0.0000 0.4000 0.0000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7465 2.00000 + 5 -30.0502 2.00000 + 6 -30.0152 2.00000 + 7 -29.8048 2.00000 + 8 -0.2969 2.00000 + 9 1.8722 2.00000 + 10 4.5904 2.00000 + 11 4.8147 2.00000 + 12 6.3956 2.00000 + 13 8.5207 0.00000 + 14 9.0442 0.00000 + 15 10.2923 0.00000 + 16 12.3631 0.00000 + 17 12.6799 0.00000 + 18 15.4633 0.00000 + + k-point 50 : 0.0667 0.4000 0.0000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7465 2.00000 + 5 -30.0501 2.00000 + 6 -30.0173 2.00000 + 7 -29.8046 2.00000 + 8 -0.2476 2.00000 + 9 1.8793 2.00000 + 10 4.5376 2.00000 + 11 4.8080 2.00000 + 12 6.4159 2.00000 + 13 8.5593 0.00000 + 14 8.8804 0.00000 + 15 10.2052 0.00000 + 16 12.5854 0.00000 + 17 12.5895 0.00000 + 18 14.7751 0.00000 + + k-point 51 : 0.1333 0.4000 0.0000 + band No. band energies occupation + 1 -91.8814 2.00000 + 2 -91.4264 2.00000 + 3 -91.2914 2.00000 + 4 -65.7464 2.00000 + 5 -30.0496 2.00000 + 6 -30.0233 2.00000 + 7 -29.8041 2.00000 + 8 -0.1045 2.00000 + 9 1.8964 2.00000 + 10 4.3983 2.00000 + 11 4.7846 2.00000 + 12 6.4746 2.00000 + 13 8.5014 0.00000 + 14 8.6596 0.00000 + 15 9.9796 0.00000 + 16 12.4726 0.00000 + 17 13.1496 0.00000 + 18 15.1815 0.00000 + + k-point 52 : 0.2000 0.4000 0.0000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2908 2.00000 + 4 -65.7462 2.00000 + 5 -30.0487 2.00000 + 6 -30.0321 2.00000 + 7 -29.8032 2.00000 + 8 0.1204 2.00000 + 9 1.9197 2.00000 + 10 4.2177 2.00000 + 11 4.7361 2.00000 + 12 6.5646 2.00000 + 13 8.0702 0.00802 + 14 8.7844 0.00000 + 15 9.6958 0.00000 + 16 12.2586 0.00000 + 17 13.7021 0.00000 + 18 15.4427 0.00000 + + k-point 53 : 0.2667 0.4000 0.0000 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7460 2.00000 + 5 -30.0478 2.00000 + 6 -30.0422 2.00000 + 7 -29.8023 2.00000 + 8 0.4035 2.00000 + 9 1.9363 2.00000 + 10 4.0468 2.00000 + 11 4.6515 2.00000 + 12 6.6739 2.00000 + 13 7.6760 1.99654 + 14 8.8822 0.00000 + 15 9.4477 0.00000 + 16 11.9748 0.00000 + 17 13.8742 0.00000 + 18 16.0112 0.00000 + + k-point 54 : 0.3333 0.4000 0.0000 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4248 2.00000 + 3 -91.2897 2.00000 + 4 -65.7458 2.00000 + 5 -30.0517 2.00000 + 6 -30.0469 2.00000 + 7 -29.8013 2.00000 + 8 0.7108 2.00000 + 9 1.9297 2.00000 + 10 3.9336 2.00000 + 11 4.5238 2.00000 + 12 6.7857 2.00000 + 13 7.3592 2.00000 + 14 8.8793 0.00000 + 15 9.3398 0.00000 + 16 11.6821 0.00000 + 17 13.7440 0.00000 + 18 16.5307 0.00000 + + k-point 55 : 0.4000 0.4000 0.0000 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7456 2.00000 + 5 -30.0593 2.00000 + 6 -30.0463 2.00000 + 7 -29.8006 2.00000 + 8 0.9965 2.00000 + 9 1.8877 2.00000 + 10 3.9039 2.00000 + 11 4.3616 2.00000 + 12 6.8809 2.00000 + 13 7.1374 2.00000 + 14 8.7963 0.00000 + 15 9.3615 0.00000 + 16 11.4387 0.00000 + 17 13.5583 0.00000 + 18 16.9470 0.00000 + + k-point 56 : 0.4667 0.4000 0.0000 + band No. band energies occupation + 1 -91.8787 2.00000 + 2 -91.4238 2.00000 + 3 -91.2887 2.00000 + 4 -65.7455 2.00000 + 5 -30.0632 2.00000 + 6 -30.0459 2.00000 + 7 -29.8002 2.00000 + 8 1.1916 2.00000 + 9 1.8308 2.00000 + 10 3.9520 2.00000 + 11 4.2094 2.00000 + 12 6.9473 2.00000 + 13 7.0123 2.00000 + 14 8.7381 0.00000 + 15 9.3978 0.00000 + 16 11.2989 0.00000 + 17 13.4437 0.00000 + 18 16.5925 0.00000 + + k-point 57 : 0.0000 0.4667 0.0000 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7463 2.00000 + 5 -30.0559 2.00000 + 6 -30.0145 2.00000 + 7 -29.8042 2.00000 + 8 0.1293 2.00000 + 9 1.3542 2.00000 + 10 4.5849 2.00000 + 11 4.7168 2.00000 + 12 6.2814 2.00000 + 13 8.9385 0.00000 + 14 9.0598 0.00000 + 15 10.4726 0.00000 + 16 12.1850 0.00000 + 17 12.8255 0.00000 + 18 15.1774 0.00000 + + k-point 58 : 0.0667 0.4667 0.0000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7463 2.00000 + 5 -30.0557 2.00000 + 6 -30.0167 2.00000 + 7 -29.8040 2.00000 + 8 0.1836 2.00000 + 9 1.3565 2.00000 + 10 4.5671 2.00000 + 11 4.6874 2.00000 + 12 6.3024 2.00000 + 13 8.9015 0.00000 + 14 8.9469 0.00000 + 15 10.3933 0.00000 + 16 12.1353 0.00000 + 17 13.0125 0.00000 + 18 15.3429 0.00000 + + k-point 59 : 0.1333 0.4667 0.0000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4257 2.00000 + 3 -91.2906 2.00000 + 4 -65.7462 2.00000 + 5 -30.0552 2.00000 + 6 -30.0227 2.00000 + 7 -29.8035 2.00000 + 8 0.3435 2.00000 + 9 1.3655 2.00000 + 10 4.4967 2.00000 + 11 4.6242 2.00000 + 12 6.3631 2.00000 + 13 8.5307 0.00000 + 14 8.9685 0.00000 + 15 10.1791 0.00000 + 16 12.0342 0.00000 + 17 13.5893 0.00000 + 18 16.0045 0.00000 + + k-point 60 : 0.2000 0.4667 0.0000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7460 2.00000 + 5 -30.0544 2.00000 + 6 -30.0315 2.00000 + 7 -29.8026 2.00000 + 8 0.5914 2.00000 + 9 1.3832 2.00000 + 10 4.3674 2.00000 + 11 4.5524 2.00000 + 12 6.4562 2.00000 + 13 8.1044 0.00172 + 14 8.9932 0.00000 + 15 9.8884 0.00000 + 16 11.8622 0.00000 + 17 14.2861 0.00000 + 18 15.0487 0.00000 + + k-point 61 : 0.2667 0.4667 0.0000 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7459 2.00000 + 5 -30.0535 2.00000 + 6 -30.0416 2.00000 + 7 -29.8017 2.00000 + 8 0.8833 2.00000 + 9 1.4308 2.00000 + 10 4.2192 2.00000 + 11 4.4522 2.00000 + 12 6.5696 2.00000 + 13 7.7127 1.98385 + 14 9.0016 0.00000 + 15 9.5963 0.00000 + 16 11.6488 0.00000 + 17 14.0297 0.00000 + 18 15.9577 0.00000 + + k-point 62 : 0.3333 0.4667 0.0000 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7457 2.00000 + 5 -30.0528 2.00000 + 6 -30.0512 2.00000 + 7 -29.8008 2.00000 + 8 1.1157 2.00000 + 9 1.5761 2.00000 + 10 4.0844 2.00000 + 11 4.3103 2.00000 + 12 6.6854 2.00000 + 13 7.3974 2.00000 + 14 8.9559 0.00000 + 15 9.3894 0.00000 + 16 11.4424 0.00000 + 17 13.7001 0.00000 + 18 16.5151 0.00000 + + k-point 63 : 0.4000 0.4667 0.0000 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7455 2.00000 + 5 -30.0587 2.00000 + 6 -30.0521 2.00000 + 7 -29.8000 2.00000 + 8 1.2081 2.00000 + 9 1.8399 2.00000 + 10 3.9754 2.00000 + 11 4.1492 2.00000 + 12 6.7823 2.00000 + 13 7.1786 2.00000 + 14 8.8498 0.00000 + 15 9.3109 0.00000 + 16 11.2830 0.00000 + 17 13.4354 0.00000 + 18 16.6304 0.00000 + + k-point 64 : 0.4667 0.4667 0.0000 + band No. band energies occupation + 1 -91.8793 2.00000 + 2 -91.4243 2.00000 + 3 -91.2893 2.00000 + 4 -65.7454 2.00000 + 5 -30.0627 2.00000 + 6 -30.0518 2.00000 + 7 -29.7996 2.00000 + 8 1.2328 2.00000 + 9 2.0507 2.00000 + 10 3.8985 2.00000 + 11 4.0417 2.00000 + 12 6.8389 2.00000 + 13 7.0660 2.00000 + 14 8.7690 0.00000 + 15 9.2970 0.00000 + 16 11.2437 0.00000 + 17 14.1131 0.00000 + 18 18.0681 0.00000 + + k-point 65 : 0.0000 0.0000 0.0667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7474 2.00000 + 5 -30.0205 2.00000 + 6 -29.9874 2.00000 + 7 -29.8211 2.00000 + 8 -1.9380 2.00000 + 9 4.4295 2.00000 + 10 4.8508 2.00000 + 11 6.3792 2.00000 + 12 6.8138 2.00000 + 13 8.1771 0.00003 + 14 8.8386 0.00000 + 15 8.9434 0.00000 + 16 9.0466 0.00000 + 17 13.4689 0.00000 + 18 14.8465 0.00000 + + k-point 66 : 0.0667 0.0000 0.0667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7474 2.00000 + 5 -30.0226 2.00000 + 6 -29.9872 2.00000 + 7 -29.8209 2.00000 + 8 -1.8859 2.00000 + 9 4.3438 2.00000 + 10 4.8274 2.00000 + 11 6.3656 2.00000 + 12 6.6651 2.00000 + 13 8.2366 0.00000 + 14 8.4561 0.00000 + 15 9.1702 0.00000 + 16 9.3749 0.00000 + 17 14.6979 0.00000 + 18 15.1035 0.00000 + + k-point 67 : 0.1333 0.0000 0.0667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4257 2.00000 + 3 -91.2906 2.00000 + 4 -65.7473 2.00000 + 5 -30.0286 2.00000 + 6 -29.9866 2.00000 + 7 -29.8203 2.00000 + 8 -1.7375 2.00000 + 9 4.0528 2.00000 + 10 4.7878 2.00000 + 11 6.3364 2.00000 + 12 6.3830 2.00000 + 13 8.0619 0.01132 + 14 8.3336 0.00000 + 15 9.5014 0.00000 + 16 9.9115 0.00000 + 17 14.1815 0.00000 + 18 14.9183 0.00000 + + k-point 68 : 0.2000 0.0000 0.0667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4257 2.00000 + 3 -91.2906 2.00000 + 4 -65.7471 2.00000 + 5 -30.0372 2.00000 + 6 -29.9857 2.00000 + 7 -29.8195 2.00000 + 8 -1.4939 2.00000 + 9 3.5647 2.00000 + 10 4.7595 2.00000 + 11 5.9723 2.00000 + 12 6.4743 2.00000 + 13 7.7497 1.94010 + 14 8.4147 0.00000 + 15 9.9423 0.00000 + 16 10.4794 0.00000 + 17 14.3282 0.00000 + 18 15.0758 0.00000 + + k-point 69 : 0.2667 0.0000 0.0667 + band No. band energies occupation + 1 -91.8796 2.00000 + 2 -91.4244 2.00000 + 3 -91.2894 2.00000 + 4 -65.7469 2.00000 + 5 -30.0470 2.00000 + 6 -29.9846 2.00000 + 7 -29.8185 2.00000 + 8 -1.1660 2.00000 + 9 2.9634 2.00000 + 10 4.7389 2.00000 + 11 5.6413 2.00000 + 12 6.5416 2.00000 + 13 7.6483 1.99909 + 14 8.4831 0.00000 + 15 10.4090 0.00000 + 16 11.0447 0.00000 + 17 15.0305 0.00000 + 18 15.6832 0.00000 + + k-point 70 : 0.3333 0.0000 0.0667 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7468 2.00000 + 5 -30.0566 2.00000 + 6 -29.9837 2.00000 + 7 -29.8176 2.00000 + 8 -0.7654 2.00000 + 9 2.3210 2.00000 + 10 4.7218 2.00000 + 11 5.3752 2.00000 + 12 6.4754 2.00000 + 13 7.8474 1.38302 + 14 8.5405 0.00000 + 15 10.8486 0.00000 + 16 11.5771 0.00000 + 17 13.5613 0.00000 + 18 15.1290 0.00000 + + k-point 71 : 0.4000 0.0000 0.0667 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2911 2.00000 + 4 -65.7467 2.00000 + 5 -30.0642 2.00000 + 6 -29.9830 2.00000 + 7 -29.8168 2.00000 + 8 -0.3160 2.00000 + 9 1.6951 2.00000 + 10 4.7092 2.00000 + 11 5.1905 2.00000 + 12 6.3590 2.00000 + 13 8.1987 0.00001 + 14 8.5831 0.00000 + 15 11.2134 0.00000 + 16 12.0304 0.00000 + 17 12.9684 0.00000 + 18 14.5851 0.00000 + + k-point 72 : 0.4667 0.0000 0.0667 + band No. band energies occupation + 1 -91.8817 2.00000 + 2 -91.4266 2.00000 + 3 -91.2917 2.00000 + 4 -65.7467 2.00000 + 5 -30.0683 2.00000 + 6 -29.9826 2.00000 + 7 -29.8165 2.00000 + 8 0.1015 2.00000 + 9 1.1853 2.00000 + 10 4.7026 2.00000 + 11 5.0962 2.00000 + 12 6.2848 2.00000 + 13 8.4738 0.00000 + 14 8.6059 0.00000 + 15 11.4369 0.00000 + 16 12.3087 0.00000 + 17 12.6173 0.00000 + 18 14.4394 0.00000 + + k-point 73 : 0.0000 0.0667 0.0667 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7474 2.00000 + 5 -30.0202 2.00000 + 6 -29.9904 2.00000 + 7 -29.8208 2.00000 + 8 -1.8853 2.00000 + 9 4.3956 2.00000 + 10 4.8088 2.00000 + 11 6.2602 2.00000 + 12 6.7341 2.00000 + 13 8.1965 0.00001 + 14 8.5252 0.00000 + 15 9.0697 0.00000 + 16 9.4119 0.00000 + 17 13.8616 0.00000 + 18 15.2576 0.00000 + + k-point 74 : 0.0667 0.0667 0.0667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7473 2.00000 + 5 -30.0223 2.00000 + 6 -29.9901 2.00000 + 7 -29.8206 2.00000 + 8 -1.8347 2.00000 + 9 4.3325 2.00000 + 10 4.7685 2.00000 + 11 6.1044 2.00000 + 12 6.8162 2.00000 + 13 7.9710 0.21228 + 14 8.7574 0.00000 + 15 8.9151 0.00000 + 16 9.6966 0.00000 + 17 13.8495 0.00000 + 18 14.8611 0.00000 + + k-point 75 : 0.1333 0.0667 0.0667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7473 2.00000 + 5 -30.0283 2.00000 + 6 -29.9896 2.00000 + 7 -29.8200 2.00000 + 8 -1.6854 2.00000 + 9 4.0715 2.00000 + 10 4.7055 2.00000 + 11 5.8924 2.00000 + 12 6.8149 2.00000 + 13 7.7859 1.82917 + 14 8.5439 0.00000 + 15 9.2979 0.00000 + 16 10.1790 0.00000 + 17 14.4429 0.00000 + 18 14.9450 0.00000 + + k-point 76 : 0.2000 0.0667 0.0667 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7471 2.00000 + 5 -30.0369 2.00000 + 6 -29.9887 2.00000 + 7 -29.8192 2.00000 + 8 -1.4415 2.00000 + 9 3.5859 2.00000 + 10 4.6793 2.00000 + 11 5.7131 2.00000 + 12 6.7163 2.00000 + 13 7.7038 1.98863 + 14 8.3889 0.00000 + 15 9.7722 0.00000 + 16 10.7211 0.00000 + 17 14.3964 0.00000 + 18 15.0087 0.00000 + + k-point 77 : 0.2667 0.0667 0.0667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7469 2.00000 + 5 -30.0468 2.00000 + 6 -29.9877 2.00000 + 7 -29.8182 2.00000 + 8 -1.1142 2.00000 + 9 2.9798 2.00000 + 10 4.6736 2.00000 + 11 5.5108 2.00000 + 12 6.6199 2.00000 + 13 7.7221 1.97696 + 14 8.3636 0.00000 + 15 10.2499 0.00000 + 16 11.2691 0.00000 + 17 14.1095 0.00000 + 18 16.1309 0.00000 + + k-point 78 : 0.3333 0.0667 0.0667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7467 2.00000 + 5 -30.0564 2.00000 + 6 -29.9867 2.00000 + 7 -29.8173 2.00000 + 8 -0.7140 2.00000 + 9 2.3366 2.00000 + 10 4.6761 2.00000 + 11 5.3013 2.00000 + 12 6.5008 2.00000 + 13 7.9230 0.56991 + 14 8.3953 0.00000 + 15 10.6940 0.00000 + 16 11.7823 0.00000 + 17 13.5487 0.00000 + 18 15.0697 0.00000 + + k-point 79 : 0.4000 0.0667 0.0667 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7466 2.00000 + 5 -30.0639 2.00000 + 6 -29.9860 2.00000 + 7 -29.8166 2.00000 + 8 -0.2628 2.00000 + 9 1.7117 2.00000 + 10 4.6852 2.00000 + 11 5.1307 2.00000 + 12 6.3817 2.00000 + 13 8.2332 0.00000 + 14 8.4366 0.00000 + 15 11.0609 0.00000 + 16 12.1858 0.00000 + 17 13.0336 0.00000 + 18 14.9369 0.00000 + + k-point 80 : 0.4667 0.0667 0.0667 + band No. band energies occupation + 1 -91.8812 2.00000 + 2 -91.4262 2.00000 + 3 -91.2912 2.00000 + 4 -65.7466 2.00000 + 5 -30.0680 2.00000 + 6 -29.9856 2.00000 + 7 -29.8162 2.00000 + 8 0.1614 2.00000 + 9 1.1971 2.00000 + 10 4.6963 2.00000 + 11 5.0329 2.00000 + 12 6.3108 2.00000 + 13 8.4305 0.00000 + 14 8.5088 0.00000 + 15 11.2905 0.00000 + 16 12.2531 0.00000 + 17 13.6523 0.00000 + 18 15.0165 0.00000 + + k-point 81 : 0.0000 0.1333 0.0667 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7472 2.00000 + 5 -30.0193 2.00000 + 6 -29.9987 2.00000 + 7 -29.8199 2.00000 + 8 -1.7259 2.00000 + 9 4.2208 2.00000 + 10 4.7206 2.00000 + 11 5.9736 2.00000 + 12 6.6199 2.00000 + 13 8.1432 0.00023 + 14 8.2436 0.00000 + 15 9.3875 0.00000 + 16 9.9330 0.00000 + 17 14.2783 0.00000 + 18 14.9326 0.00000 + + k-point 82 : 0.0667 0.1333 0.0667 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4253 2.00000 + 3 -91.2904 2.00000 + 4 -65.7472 2.00000 + 5 -30.0214 2.00000 + 6 -29.9985 2.00000 + 7 -29.8197 2.00000 + 8 -1.6767 2.00000 + 9 4.2223 2.00000 + 10 4.6204 2.00000 + 11 5.7734 2.00000 + 12 6.8479 2.00000 + 13 7.7918 1.80201 + 14 8.5549 0.00000 + 15 9.2077 0.00000 + 16 10.1836 0.00000 + 17 14.6923 0.00000 + 18 15.0199 0.00000 + + k-point 83 : 0.1333 0.1333 0.0667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4255 2.00000 + 3 -91.2906 2.00000 + 4 -65.7471 2.00000 + 5 -30.0274 2.00000 + 6 -29.9980 2.00000 + 7 -29.8192 2.00000 + 8 -1.5287 2.00000 + 9 4.1177 2.00000 + 10 4.4062 2.00000 + 11 5.5506 2.00000 + 12 7.1483 2.00000 + 13 7.4218 2.00000 + 14 8.7268 0.00000 + 15 9.0973 0.00000 + 16 10.6622 0.00000 + 17 14.4498 0.00000 + 18 15.1810 0.00000 + + k-point 84 : 0.2000 0.1333 0.0667 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7469 2.00000 + 5 -30.0361 2.00000 + 6 -29.9971 2.00000 + 7 -29.8183 2.00000 + 8 -1.2856 2.00000 + 9 3.6350 2.00000 + 10 4.3984 2.00000 + 11 5.4250 2.00000 + 12 6.9924 2.00000 + 13 7.5022 2.00000 + 14 8.4908 0.00000 + 15 9.4686 0.00000 + 16 11.2024 0.00000 + 17 14.4000 0.00000 + 18 15.1855 0.00000 + + k-point 85 : 0.2667 0.1333 0.0667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7467 2.00000 + 5 -30.0460 2.00000 + 6 -29.9962 2.00000 + 7 -29.8174 2.00000 + 8 -0.9603 2.00000 + 9 3.0182 2.00000 + 10 4.4522 2.00000 + 11 5.3087 2.00000 + 12 6.7413 2.00000 + 13 7.7217 1.97728 + 14 8.3005 0.00000 + 15 9.9206 0.00000 + 16 11.7328 0.00000 + 17 13.9753 0.00000 + 18 15.3830 0.00000 + + k-point 86 : 0.3333 0.1333 0.0667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7465 2.00000 + 5 -30.0556 2.00000 + 6 -29.9952 2.00000 + 7 -29.8164 2.00000 + 8 -0.5617 2.00000 + 9 2.3790 2.00000 + 10 4.5170 2.00000 + 11 5.1603 2.00000 + 12 6.5656 2.00000 + 13 7.9200 0.59883 + 14 8.2560 0.00000 + 15 10.3547 0.00000 + 16 12.1577 0.00000 + 17 13.5549 0.00000 + 18 17.9977 0.00000 + + k-point 87 : 0.4000 0.1333 0.0667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7464 2.00000 + 5 -30.0631 2.00000 + 6 -29.9945 2.00000 + 7 -29.8157 2.00000 + 8 -0.1093 2.00000 + 9 1.7590 2.00000 + 10 4.5897 2.00000 + 11 5.0004 2.00000 + 12 6.4473 2.00000 + 13 8.0381 0.02804 + 14 8.3802 0.00000 + 15 10.7217 0.00000 + 16 12.2601 0.00000 + 17 13.3666 0.00000 + 18 15.0205 0.00000 + + k-point 88 : 0.4667 0.1333 0.0667 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7464 2.00000 + 5 -30.0672 2.00000 + 6 -29.9941 2.00000 + 7 -29.8153 2.00000 + 8 0.3334 2.00000 + 9 1.2318 2.00000 + 10 4.6652 2.00000 + 11 4.8709 2.00000 + 12 6.3846 2.00000 + 13 8.0775 0.00590 + 14 8.5356 0.00000 + 15 10.9631 0.00000 + 16 12.0560 0.00000 + 17 14.6802 0.00000 + 18 15.7986 0.00000 + + k-point 89 : 0.0000 0.2000 0.0667 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7470 2.00000 + 5 -30.0181 2.00000 + 6 -30.0111 2.00000 + 7 -29.8187 2.00000 + 8 -1.4695 2.00000 + 9 3.7994 2.00000 + 10 4.6693 2.00000 + 11 5.6325 2.00000 + 12 6.5974 2.00000 + 13 7.8461 1.39567 + 14 8.3061 0.00000 + 15 9.7917 0.00000 + 16 10.4886 0.00000 + 17 14.2428 0.00000 + 18 15.3871 0.00000 + + k-point 90 : 0.0667 0.2000 0.0667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7469 2.00000 + 5 -30.0202 2.00000 + 6 -30.0109 2.00000 + 7 -29.8185 2.00000 + 8 -1.4195 2.00000 + 9 3.8193 2.00000 + 10 4.5504 2.00000 + 11 5.5098 2.00000 + 12 6.7466 2.00000 + 13 7.7637 1.90788 + 14 8.3458 0.00000 + 15 9.6384 0.00000 + 16 10.7162 0.00000 + 17 14.2161 0.00000 + 18 15.3807 0.00000 + + k-point 91 : 0.1333 0.2000 0.0667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7468 2.00000 + 5 -30.0261 2.00000 + 6 -30.0103 2.00000 + 7 -29.8179 2.00000 + 8 -1.2729 2.00000 + 9 3.8625 2.00000 + 10 4.2037 2.00000 + 11 5.3571 2.00000 + 12 6.9709 2.00000 + 13 7.5306 2.00000 + 14 8.5275 0.00000 + 15 9.3693 0.00000 + 16 11.1903 0.00000 + 17 14.9903 0.00000 + 18 31.3493 0.00000 + + k-point 92 : 0.2000 0.2000 0.0667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7467 2.00000 + 5 -30.0349 2.00000 + 6 -30.0095 2.00000 + 7 -29.8171 2.00000 + 8 -1.0337 2.00000 + 9 3.6024 2.00000 + 10 4.0290 2.00000 + 11 5.2643 2.00000 + 12 7.0029 2.00000 + 13 7.3935 2.00000 + 14 8.6571 0.00000 + 15 9.2934 0.00000 + 16 11.7135 0.00000 + 17 14.0675 0.00000 + 18 15.4038 0.00000 + + k-point 93 : 0.2667 0.2000 0.0667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7464 2.00000 + 5 -30.0448 2.00000 + 6 -30.0085 2.00000 + 7 -29.8161 2.00000 + 8 -0.7114 2.00000 + 9 3.0260 2.00000 + 10 4.1301 2.00000 + 11 5.1712 2.00000 + 12 6.8136 2.00000 + 13 7.4784 2.00000 + 14 8.5466 0.00000 + 15 9.5926 0.00000 + 16 12.1469 0.00000 + 17 13.8100 0.00000 + 18 15.8147 0.00000 + + k-point 94 : 0.3333 0.2000 0.0667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7463 2.00000 + 5 -30.0544 2.00000 + 6 -30.0076 2.00000 + 7 -29.8152 2.00000 + 8 -0.3183 2.00000 + 9 2.4223 2.00000 + 10 4.2569 2.00000 + 11 5.0412 2.00000 + 12 6.6493 2.00000 + 13 7.5743 1.99999 + 14 8.4765 0.00000 + 15 9.9779 0.00000 + 16 12.2811 0.00000 + 17 13.6749 0.00000 + 18 15.6480 0.00000 + + k-point 95 : 0.4000 0.2000 0.0667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7461 2.00000 + 5 -30.0619 2.00000 + 6 -30.0069 2.00000 + 7 -29.8145 2.00000 + 8 0.1309 2.00000 + 9 1.8302 2.00000 + 10 4.3950 2.00000 + 11 4.8792 2.00000 + 12 6.5467 2.00000 + 13 7.6338 1.99957 + 14 8.5191 0.00000 + 15 10.3234 0.00000 + 16 12.0332 0.00000 + 17 13.9324 0.00000 + 18 15.8350 0.00000 + + k-point 96 : 0.4667 0.2000 0.0667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7461 2.00000 + 5 -30.0660 2.00000 + 6 -30.0065 2.00000 + 7 -29.8141 2.00000 + 8 0.5962 2.00000 + 9 1.2931 2.00000 + 10 4.5437 2.00000 + 11 4.7091 2.00000 + 12 6.4966 2.00000 + 13 7.6617 1.99823 + 14 8.5908 0.00000 + 15 10.5605 0.00000 + 16 11.7454 0.00000 + 17 14.3195 0.00000 + 18 15.4240 0.00000 + + k-point 97 : 0.0000 0.2667 0.0667 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4260 2.00000 + 3 -91.2910 2.00000 + 4 -65.7467 2.00000 + 5 -30.0253 2.00000 + 6 -30.0166 2.00000 + 7 -29.8173 2.00000 + 8 -1.1232 2.00000 + 9 3.2045 2.00000 + 10 4.6486 2.00000 + 11 5.3096 2.00000 + 12 6.5657 2.00000 + 13 7.8108 1.69159 + 14 8.3758 0.00000 + 15 10.2111 0.00000 + 16 11.0400 0.00000 + 17 13.9258 0.00000 + 18 15.5259 0.00000 + + k-point 98 : 0.0667 0.2667 0.0667 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7466 2.00000 + 5 -30.0251 2.00000 + 6 -30.0187 2.00000 + 7 -29.8171 2.00000 + 8 -1.0740 2.00000 + 9 3.2169 2.00000 + 10 4.5463 2.00000 + 11 5.2645 2.00000 + 12 6.6130 2.00000 + 13 7.8637 1.21244 + 14 8.2993 0.00000 + 15 10.0666 0.00000 + 16 11.2485 0.00000 + 17 13.8793 0.00000 + 18 15.1310 0.00000 + + k-point 99 : 0.1333 0.2667 0.0667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7465 2.00000 + 5 -30.0247 2.00000 + 6 -30.0245 2.00000 + 7 -29.8165 2.00000 + 8 -0.9278 2.00000 + 9 3.2332 2.00000 + 10 4.2746 2.00000 + 11 5.1943 2.00000 + 12 6.7018 2.00000 + 13 7.7714 1.88473 + 14 8.3727 0.00000 + 15 9.7624 0.00000 + 16 11.6929 0.00000 + 17 13.8341 0.00000 + 18 15.2470 0.00000 + + k-point 100 : 0.2000 0.2667 0.0667 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7463 2.00000 + 5 -30.0335 2.00000 + 6 -30.0237 2.00000 + 7 -29.8157 2.00000 + 8 -0.6936 2.00000 + 9 3.1651 2.00000 + 10 3.9951 2.00000 + 11 5.1310 2.00000 + 12 6.7693 2.00000 + 13 7.5109 2.00000 + 14 8.6573 0.00000 + 15 9.4680 0.00000 + 16 12.1191 0.00000 + 17 13.7501 0.00000 + 18 16.2199 0.00000 + + k-point 101 : 0.2667 0.2667 0.0667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7461 2.00000 + 5 -30.0435 2.00000 + 6 -30.0228 2.00000 + 7 -29.8147 2.00000 + 8 -0.3808 2.00000 + 9 2.8709 2.00000 + 10 3.9188 2.00000 + 11 5.0470 2.00000 + 12 6.7750 2.00000 + 13 7.3303 2.00000 + 14 8.7957 0.00000 + 15 9.4194 0.00000 + 16 12.2854 0.00000 + 17 15.1004 0.00000 + 18 16.6631 0.00000 + + k-point 102 : 0.3333 0.2667 0.0667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7460 2.00000 + 5 -30.0531 2.00000 + 6 -30.0219 2.00000 + 7 -29.8138 2.00000 + 8 -0.0012 2.00000 + 9 2.4149 2.00000 + 10 4.0086 2.00000 + 11 4.9212 2.00000 + 12 6.7199 2.00000 + 13 7.2772 2.00000 + 14 8.7185 0.00000 + 15 9.6676 0.00000 + 16 12.0399 0.00000 + 17 13.9078 0.00000 + 18 16.1396 0.00000 + + k-point 103 : 0.4000 0.2667 0.0667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7458 2.00000 + 5 -30.0605 2.00000 + 6 -30.0212 2.00000 + 7 -29.8131 2.00000 + 8 0.4304 2.00000 + 9 1.9114 2.00000 + 10 4.1602 2.00000 + 11 4.7577 2.00000 + 12 6.6629 2.00000 + 13 7.2826 2.00000 + 14 8.6633 0.00000 + 15 9.9472 0.00000 + 16 11.6785 0.00000 + 17 15.2726 0.00000 + 18 16.0488 0.00000 + + k-point 104 : 0.4667 0.2667 0.0667 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4247 2.00000 + 3 -91.2897 2.00000 + 4 -65.7457 2.00000 + 5 -30.0646 2.00000 + 6 -30.0207 2.00000 + 7 -29.8127 2.00000 + 8 0.8992 2.00000 + 9 1.4048 2.00000 + 10 4.3197 2.00000 + 11 4.5902 2.00000 + 12 6.6327 2.00000 + 13 7.2942 2.00000 + 14 8.6558 0.00000 + 15 10.1424 0.00000 + 16 11.4034 0.00000 + 17 14.2472 0.00000 + 18 41.7288 0.00000 + + k-point 105 : 0.0000 0.3333 0.0667 + band No. band energies occupation + 1 -91.8814 2.00000 + 2 -91.4263 2.00000 + 3 -91.2913 2.00000 + 4 -65.7464 2.00000 + 5 -30.0388 2.00000 + 6 -30.0152 2.00000 + 7 -29.8160 2.00000 + 8 -0.7011 2.00000 + 9 2.5446 2.00000 + 10 4.6365 2.00000 + 11 5.0441 2.00000 + 12 6.4285 2.00000 + 13 8.1110 0.00125 + 14 8.4422 0.00000 + 15 10.6018 0.00000 + 16 11.5597 0.00000 + 17 13.3506 0.00000 + 18 15.1051 0.00000 + + k-point 106 : 0.0667 0.3333 0.0667 + band No. band energies occupation + 1 -91.8812 2.00000 + 2 -91.4261 2.00000 + 3 -91.2911 2.00000 + 4 -65.7464 2.00000 + 5 -30.0386 2.00000 + 6 -30.0173 2.00000 + 7 -29.8158 2.00000 + 8 -0.6526 2.00000 + 9 2.5545 2.00000 + 10 4.5567 2.00000 + 11 5.0344 2.00000 + 12 6.4474 2.00000 + 13 8.1580 0.00010 + 14 8.3450 0.00000 + 15 10.4604 0.00000 + 16 11.7435 0.00000 + 17 13.3794 0.00000 + 18 15.8365 0.00000 + + k-point 107 : 0.1333 0.3333 0.0667 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4260 2.00000 + 3 -91.2910 2.00000 + 4 -65.7462 2.00000 + 5 -30.0381 2.00000 + 6 -30.0233 2.00000 + 7 -29.8152 2.00000 + 8 -0.5089 2.00000 + 9 2.5736 2.00000 + 10 4.3507 2.00000 + 11 5.0102 2.00000 + 12 6.4989 2.00000 + 13 7.9569 0.29451 + 14 8.4473 0.00000 + 15 10.1404 0.00000 + 16 12.0883 0.00000 + 17 13.4032 0.00000 + 18 15.1473 0.00000 + + k-point 108 : 0.2000 0.3333 0.0667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7461 2.00000 + 5 -30.0373 2.00000 + 6 -30.0321 2.00000 + 7 -29.8143 2.00000 + 8 -0.2806 2.00000 + 9 2.5705 2.00000 + 10 4.1067 2.00000 + 11 4.9666 2.00000 + 12 6.5721 2.00000 + 13 7.6198 1.99980 + 14 8.7017 0.00000 + 15 9.7782 0.00000 + 16 12.2391 0.00000 + 17 13.5917 0.00000 + 18 15.4441 0.00000 + + k-point 109 : 0.2667 0.3333 0.0667 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7459 2.00000 + 5 -30.0422 2.00000 + 6 -30.0363 2.00000 + 7 -29.8134 2.00000 + 8 0.0188 2.00000 + 9 2.4896 2.00000 + 10 3.9304 2.00000 + 11 4.8876 2.00000 + 12 6.6514 2.00000 + 13 7.3330 2.00000 + 14 8.9105 0.00000 + 15 9.5027 0.00000 + 16 12.0077 0.00000 + 17 14.3536 0.00000 + 18 16.5093 0.00000 + + k-point 110 : 0.3333 0.3333 0.0667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7457 2.00000 + 5 -30.0518 2.00000 + 6 -30.0354 2.00000 + 7 -29.8125 2.00000 + 8 0.3709 2.00000 + 9 2.2835 2.00000 + 10 3.8916 2.00000 + 11 4.7617 2.00000 + 12 6.7183 2.00000 + 13 7.1436 2.00000 + 14 8.9049 0.00000 + 15 9.4941 0.00000 + 16 11.7396 0.00000 + 17 15.6793 0.00000 + 18 16.9345 0.00000 + + k-point 111 : 0.4000 0.3333 0.0667 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7455 2.00000 + 5 -30.0593 2.00000 + 6 -30.0348 2.00000 + 7 -29.8117 2.00000 + 8 0.7545 2.00000 + 9 1.9742 2.00000 + 10 3.9744 2.00000 + 11 4.5954 2.00000 + 12 6.7577 2.00000 + 13 7.0518 2.00000 + 14 8.7886 0.00000 + 15 9.6473 0.00000 + 16 11.3101 0.00000 + 17 14.0340 0.00000 + 18 16.7643 0.00000 + + k-point 112 : 0.4667 0.3333 0.0667 + band No. band energies occupation + 1 -91.8795 2.00000 + 2 -91.4245 2.00000 + 3 -91.2895 2.00000 + 4 -65.7454 2.00000 + 5 -30.0633 2.00000 + 6 -30.0343 2.00000 + 7 -29.8114 2.00000 + 8 1.1319 2.00000 + 9 1.6271 2.00000 + 10 4.1052 2.00000 + 11 4.4298 2.00000 + 12 6.7711 2.00000 + 13 7.0239 2.00000 + 14 8.7206 0.00000 + 15 9.7665 0.00000 + 16 11.0890 0.00000 + 17 13.9788 0.00000 + 18 16.9520 0.00000 + + k-point 113 : 0.0000 0.4000 0.0667 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4260 2.00000 + 3 -91.2910 2.00000 + 4 -65.7462 2.00000 + 5 -30.0493 2.00000 + 6 -30.0141 2.00000 + 7 -29.8149 2.00000 + 8 -0.2288 2.00000 + 9 1.8983 2.00000 + 10 4.6283 2.00000 + 11 4.8575 2.00000 + 12 6.2772 2.00000 + 13 8.4945 0.00000 + 14 8.5804 0.00000 + 15 10.9224 0.00000 + 16 11.9786 0.00000 + 17 12.7899 0.00000 + 18 14.9087 0.00000 + + k-point 114 : 0.0667 0.4000 0.0667 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7461 2.00000 + 5 -30.0491 2.00000 + 6 -30.0162 2.00000 + 7 -29.8147 2.00000 + 8 -0.1792 2.00000 + 9 1.9074 2.00000 + 10 4.5762 2.00000 + 11 4.8487 2.00000 + 12 6.2969 2.00000 + 13 8.3585 0.00000 + 14 8.6284 0.00000 + 15 10.7823 0.00000 + 16 12.0806 0.00000 + 17 12.8868 0.00000 + 18 15.2348 0.00000 + + k-point 115 : 0.1333 0.4000 0.0667 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7460 2.00000 + 5 -30.0486 2.00000 + 6 -30.0222 2.00000 + 7 -29.8141 2.00000 + 8 -0.0352 2.00000 + 9 1.9332 2.00000 + 10 4.4339 2.00000 + 11 4.8242 2.00000 + 12 6.3536 2.00000 + 13 8.0475 0.01985 + 14 8.7378 0.00000 + 15 10.4554 0.00000 + 16 12.1158 0.00000 + 17 13.2657 0.00000 + 18 14.9000 0.00000 + + k-point 116 : 0.2000 0.4000 0.0667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7458 2.00000 + 5 -30.0478 2.00000 + 6 -30.0311 2.00000 + 7 -29.8133 2.00000 + 8 0.1893 2.00000 + 9 1.9679 2.00000 + 10 4.2451 2.00000 + 11 4.7769 2.00000 + 12 6.4400 2.00000 + 13 7.6916 1.99315 + 14 8.8745 0.00000 + 15 10.0643 0.00000 + 16 11.9241 0.00000 + 17 13.8014 0.00000 + 18 15.2989 0.00000 + + k-point 117 : 0.2667 0.4000 0.0667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7456 2.00000 + 5 -30.0469 2.00000 + 6 -30.0412 2.00000 + 7 -29.8123 2.00000 + 8 0.4706 2.00000 + 9 1.9998 2.00000 + 10 4.0636 2.00000 + 11 4.6916 2.00000 + 12 6.5446 2.00000 + 13 7.3787 2.00000 + 14 8.9926 0.00000 + 15 9.6981 0.00000 + 16 11.6104 0.00000 + 17 14.1038 0.00000 + 18 15.9363 0.00000 + + k-point 118 : 0.3333 0.4000 0.0667 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7454 2.00000 + 5 -30.0508 2.00000 + 6 -30.0460 2.00000 + 7 -29.8114 2.00000 + 8 0.7753 2.00000 + 9 2.0098 2.00000 + 10 3.9391 2.00000 + 11 4.5583 2.00000 + 12 6.6530 2.00000 + 13 7.1493 2.00000 + 14 9.0079 0.00000 + 15 9.4727 0.00000 + 16 11.2802 0.00000 + 17 14.0000 0.00000 + 18 16.5368 0.00000 + + k-point 119 : 0.4000 0.4000 0.0667 + band No. band energies occupation + 1 -91.8795 2.00000 + 2 -91.4245 2.00000 + 3 -91.2895 2.00000 + 4 -65.7452 2.00000 + 5 -30.0583 2.00000 + 6 -30.0454 2.00000 + 7 -29.8107 2.00000 + 8 1.0560 2.00000 + 9 1.9838 2.00000 + 10 3.9064 2.00000 + 11 4.3863 2.00000 + 12 6.7511 2.00000 + 13 7.0039 2.00000 + 14 8.8800 0.00000 + 15 9.4519 0.00000 + 16 11.0055 0.00000 + 17 13.8522 0.00000 + 18 16.8940 0.00000 + + k-point 120 : 0.4667 0.4000 0.0667 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4247 2.00000 + 3 -91.2896 2.00000 + 4 -65.7452 2.00000 + 5 -30.0624 2.00000 + 6 -30.0450 2.00000 + 7 -29.8103 2.00000 + 8 1.2424 2.00000 + 9 1.9383 2.00000 + 10 3.9540 2.00000 + 11 4.2239 2.00000 + 12 6.8299 2.00000 + 13 6.9158 2.00000 + 14 8.7739 0.00000 + 15 9.4832 0.00000 + 16 10.8480 0.00000 + 17 13.7576 0.00000 + 18 16.7488 0.00000 + + k-point 121 : 0.0000 0.4667 0.0667 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2908 2.00000 + 4 -65.7460 2.00000 + 5 -30.0550 2.00000 + 6 -30.0134 2.00000 + 7 -29.8143 2.00000 + 8 0.2043 2.00000 + 9 1.3732 2.00000 + 10 4.6240 2.00000 + 11 4.7616 2.00000 + 12 6.1883 2.00000 + 13 8.5233 0.00000 + 14 8.9674 0.00000 + 15 11.1121 0.00000 + 16 12.0071 0.00000 + 17 12.6025 0.00000 + 18 14.7790 0.00000 + + k-point 122 : 0.0667 0.4667 0.0667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4258 2.00000 + 3 -91.2907 2.00000 + 4 -65.7460 2.00000 + 5 -30.0547 2.00000 + 6 -30.0156 2.00000 + 7 -29.8141 2.00000 + 8 0.2601 2.00000 + 9 1.3783 2.00000 + 10 4.6072 2.00000 + 11 4.7289 2.00000 + 12 6.2110 2.00000 + 13 8.3945 0.00000 + 14 8.9806 0.00000 + 15 10.9757 0.00000 + 16 11.9688 0.00000 + 17 12.8374 0.00000 + 18 14.6721 0.00000 + + k-point 123 : 0.1333 0.4667 0.0667 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7458 2.00000 + 5 -30.0543 2.00000 + 6 -30.0216 2.00000 + 7 -29.8135 2.00000 + 8 0.4205 2.00000 + 9 1.3934 2.00000 + 10 4.5342 2.00000 + 11 4.6626 2.00000 + 12 6.2753 2.00000 + 13 8.0869 0.00390 + 14 9.0106 0.00000 + 15 10.6601 0.00000 + 16 11.8277 0.00000 + 17 13.4681 0.00000 + 18 14.6325 0.00000 + + k-point 124 : 0.2000 0.4667 0.0667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7457 2.00000 + 5 -30.0535 2.00000 + 6 -30.0305 2.00000 + 7 -29.8127 2.00000 + 8 0.6680 2.00000 + 9 1.4216 2.00000 + 10 4.3948 2.00000 + 11 4.5926 2.00000 + 12 6.3719 2.00000 + 13 7.7299 1.96936 + 14 9.0457 0.00000 + 15 10.2612 0.00000 + 16 11.5905 0.00000 + 17 14.2426 0.00000 + 18 14.7492 0.00000 + + k-point 125 : 0.2667 0.4667 0.0667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7455 2.00000 + 5 -30.0527 2.00000 + 6 -30.0406 2.00000 + 7 -29.8117 2.00000 + 8 0.9557 2.00000 + 9 1.4873 2.00000 + 10 4.2358 2.00000 + 11 4.4908 2.00000 + 12 6.4878 2.00000 + 13 7.4124 2.00000 + 14 9.0712 0.00000 + 15 9.8506 0.00000 + 16 11.3089 0.00000 + 17 14.3846 0.00000 + 18 15.5524 0.00000 + + k-point 126 : 0.3333 0.4667 0.0667 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7453 2.00000 + 5 -30.0518 2.00000 + 6 -30.0502 2.00000 + 7 -29.8108 2.00000 + 8 1.1737 2.00000 + 9 1.6621 2.00000 + 10 4.0925 2.00000 + 11 4.3402 2.00000 + 12 6.6061 2.00000 + 13 7.1785 2.00000 + 14 9.0505 0.00000 + 15 9.5155 0.00000 + 16 11.0400 0.00000 + 17 13.9482 0.00000 + 18 16.5775 0.00000 + + k-point 127 : 0.4000 0.4667 0.0667 + band No. band energies occupation + 1 -91.8795 2.00000 + 2 -91.4245 2.00000 + 3 -91.2895 2.00000 + 4 -65.7451 2.00000 + 5 -30.0577 2.00000 + 6 -30.0512 2.00000 + 7 -29.8101 2.00000 + 8 1.2606 2.00000 + 9 1.9475 2.00000 + 10 3.9805 2.00000 + 11 4.1622 2.00000 + 12 6.7058 2.00000 + 13 7.0369 2.00000 + 14 8.9273 0.00000 + 15 9.3617 0.00000 + 16 10.8310 0.00000 + 17 13.7460 0.00000 + 18 17.0707 0.00000 + + k-point 128 : 0.4667 0.4667 0.0667 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4249 2.00000 + 3 -91.2898 2.00000 + 4 -65.7451 2.00000 + 5 -30.0619 2.00000 + 6 -30.0509 2.00000 + 7 -29.8097 2.00000 + 8 1.2859 2.00000 + 9 2.1702 2.00000 + 10 3.8990 2.00000 + 11 4.0390 2.00000 + 12 6.7652 2.00000 + 13 6.9729 2.00000 + 14 8.8041 0.00000 + 15 9.3315 0.00000 + 16 10.7166 0.00000 + 17 13.6320 0.00000 + 18 16.7501 0.00000 + + k-point 129 : 0.0000 0.0000 0.1333 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7464 2.00000 + 5 -30.0175 2.00000 + 6 -29.9844 2.00000 + 7 -29.8488 2.00000 + 8 -1.7370 2.00000 + 9 4.4422 2.00000 + 10 4.8585 2.00000 + 11 6.0714 2.00000 + 12 6.4466 2.00000 + 13 8.2302 0.00000 + 14 8.3749 0.00000 + 15 9.1175 0.00000 + 16 9.2619 0.00000 + 17 14.1349 0.00000 + 18 15.4013 0.00000 + + k-point 130 : 0.0667 0.0000 0.1333 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7463 2.00000 + 5 -30.0195 2.00000 + 6 -29.9841 2.00000 + 7 -29.8486 2.00000 + 8 -1.6861 2.00000 + 9 4.3659 2.00000 + 10 4.8534 2.00000 + 11 5.9862 2.00000 + 12 6.3903 2.00000 + 13 8.0854 0.00417 + 14 8.4524 0.00000 + 15 9.1354 0.00000 + 16 9.5120 0.00000 + 17 14.3643 0.00000 + 18 15.3071 0.00000 + + k-point 131 : 0.1333 0.0000 0.1333 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7463 2.00000 + 5 -30.0256 2.00000 + 6 -29.9835 2.00000 + 7 -29.8481 2.00000 + 8 -1.5384 2.00000 + 9 4.0964 2.00000 + 10 4.8387 2.00000 + 11 5.8780 2.00000 + 12 6.2244 2.00000 + 13 7.8814 1.01531 + 14 8.4118 0.00000 + 15 9.4051 0.00000 + 16 10.0237 0.00000 + 17 14.7831 0.00000 + 18 15.5390 0.00000 + + k-point 132 : 0.2000 0.0000 0.1333 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7461 2.00000 + 5 -30.0342 2.00000 + 6 -29.9826 2.00000 + 7 -29.8473 2.00000 + 8 -1.2961 2.00000 + 9 3.6243 2.00000 + 10 4.8224 2.00000 + 11 5.8880 2.00000 + 12 5.9794 2.00000 + 13 7.7697 1.89014 + 14 8.2240 0.00000 + 15 9.9152 0.00000 + 16 10.6017 0.00000 + 17 14.8981 0.00000 + 18 15.7528 0.00000 + + k-point 133 : 0.2667 0.0000 0.1333 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4247 2.00000 + 3 -91.2897 2.00000 + 4 -65.7459 2.00000 + 5 -30.0442 2.00000 + 6 -29.9816 2.00000 + 7 -29.8464 2.00000 + 8 -0.9701 2.00000 + 9 3.0306 2.00000 + 10 4.8098 2.00000 + 11 5.7145 2.00000 + 12 5.9645 2.00000 + 13 7.7405 1.95587 + 14 8.1068 0.00153 + 15 10.4758 0.00000 + 16 11.1795 0.00000 + 17 14.4320 0.00000 + 18 15.4052 0.00000 + + k-point 134 : 0.3333 0.0000 0.1333 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7457 2.00000 + 5 -30.0538 2.00000 + 6 -29.9807 2.00000 + 7 -29.8456 2.00000 + 8 -0.5710 2.00000 + 9 2.3983 2.00000 + 10 4.8012 2.00000 + 11 5.4818 2.00000 + 12 6.0144 2.00000 + 13 7.7545 1.93036 + 14 8.1644 0.00007 + 15 11.0095 0.00000 + 16 11.7243 0.00000 + 17 13.7286 0.00000 + 18 15.7410 0.00000 + + k-point 135 : 0.4000 0.0000 0.1333 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7456 2.00000 + 5 -30.0614 2.00000 + 6 -29.9799 2.00000 + 7 -29.8449 2.00000 + 8 -0.1177 2.00000 + 9 1.7781 2.00000 + 10 4.7964 2.00000 + 11 5.3133 2.00000 + 12 6.0112 2.00000 + 13 7.7807 1.85123 + 14 8.3693 0.00000 + 15 11.4739 0.00000 + 16 12.2127 0.00000 + 17 12.9109 0.00000 + 18 14.6649 0.00000 + + k-point 136 : 0.4667 0.0000 0.1333 + band No. band energies occupation + 1 -91.8817 2.00000 + 2 -91.4266 2.00000 + 3 -91.2916 2.00000 + 4 -65.7457 2.00000 + 5 -30.0656 2.00000 + 6 -29.9796 2.00000 + 7 -29.8446 2.00000 + 8 0.3197 2.00000 + 9 1.2526 2.00000 + 10 4.7946 2.00000 + 11 5.2255 2.00000 + 12 5.9923 2.00000 + 13 7.7988 1.76488 + 14 8.5626 0.00000 + 15 11.8394 0.00000 + 16 12.3313 0.00000 + 17 12.5446 0.00000 + 18 14.3190 0.00000 + + k-point 137 : 0.0000 0.0667 0.1333 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7463 2.00000 + 5 -30.0172 2.00000 + 6 -29.9873 2.00000 + 7 -29.8485 2.00000 + 8 -1.6849 2.00000 + 9 4.4076 2.00000 + 10 4.8483 2.00000 + 11 6.0207 2.00000 + 12 6.2826 2.00000 + 13 8.0528 0.01618 + 14 8.5353 0.00000 + 15 9.2108 0.00000 + 16 9.3896 0.00000 + 17 14.3918 0.00000 + 18 15.3197 0.00000 + + k-point 138 : 0.0667 0.0667 0.1333 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4246 2.00000 + 3 -91.2896 2.00000 + 4 -65.7463 2.00000 + 5 -30.0193 2.00000 + 6 -29.9870 2.00000 + 7 -29.8483 2.00000 + 8 -1.6339 2.00000 + 9 4.3516 2.00000 + 10 4.8346 2.00000 + 11 5.7996 2.00000 + 12 6.4178 2.00000 + 13 7.7836 1.83923 + 14 8.8250 0.00000 + 15 9.1722 0.00000 + 16 9.5353 0.00000 + 17 14.5019 0.00000 + 18 15.3716 0.00000 + + k-point 139 : 0.1333 0.0667 0.1333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7462 2.00000 + 5 -30.0253 2.00000 + 6 -29.9865 2.00000 + 7 -29.8478 2.00000 + 8 -1.4861 2.00000 + 9 4.1162 2.00000 + 10 4.7981 2.00000 + 11 5.5891 2.00000 + 12 6.4356 2.00000 + 13 7.5244 2.00000 + 14 8.7710 0.00000 + 15 9.5148 0.00000 + 16 9.9362 0.00000 + 17 15.1352 0.00000 + 18 15.4072 0.00000 + + k-point 140 : 0.2000 0.0667 0.1333 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7460 2.00000 + 5 -30.0340 2.00000 + 6 -29.9857 2.00000 + 7 -29.8470 2.00000 + 8 -1.2446 2.00000 + 9 3.6518 2.00000 + 10 4.7706 2.00000 + 11 5.5402 2.00000 + 12 6.2682 2.00000 + 13 7.4667 2.00000 + 14 8.5007 0.00000 + 15 10.0751 0.00000 + 16 10.4593 0.00000 + 17 14.9293 0.00000 + 18 15.7909 0.00000 + + k-point 141 : 0.2667 0.0667 0.1333 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7458 2.00000 + 5 -30.0439 2.00000 + 6 -29.9846 2.00000 + 7 -29.8461 2.00000 + 8 -0.9180 2.00000 + 9 3.0555 2.00000 + 10 4.7621 2.00000 + 11 5.5144 2.00000 + 12 6.0975 2.00000 + 13 7.5228 2.00000 + 14 8.3066 0.00000 + 15 10.6374 0.00000 + 16 11.0036 0.00000 + 17 14.3882 0.00000 + 18 15.7788 0.00000 + + k-point 142 : 0.3333 0.0667 0.1333 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7457 2.00000 + 5 -30.0536 2.00000 + 6 -29.9837 2.00000 + 7 -29.8453 2.00000 + 8 -0.5188 2.00000 + 9 2.4214 2.00000 + 10 4.7659 2.00000 + 11 5.3939 2.00000 + 12 6.0417 2.00000 + 13 7.5977 1.99994 + 14 8.2829 0.00000 + 15 11.1508 0.00000 + 16 11.5105 0.00000 + 17 13.7183 0.00000 + 18 14.9755 0.00000 + + k-point 143 : 0.4000 0.0667 0.1333 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4260 2.00000 + 3 -91.2910 2.00000 + 4 -65.7456 2.00000 + 5 -30.0611 2.00000 + 6 -29.9830 2.00000 + 7 -29.8447 2.00000 + 8 -0.0651 2.00000 + 9 1.8001 2.00000 + 10 4.7789 2.00000 + 11 5.2458 2.00000 + 12 6.0321 2.00000 + 13 7.6461 1.99918 + 14 8.4238 0.00000 + 15 11.5584 0.00000 + 16 11.9266 0.00000 + 17 13.0831 0.00000 + 18 15.6069 0.00000 + + k-point 144 : 0.4667 0.0667 0.1333 + band No. band energies occupation + 1 -91.8817 2.00000 + 2 -91.4266 2.00000 + 3 -91.2916 2.00000 + 4 -65.7456 2.00000 + 5 -30.0653 2.00000 + 6 -29.9826 2.00000 + 7 -29.8443 2.00000 + 8 0.3795 2.00000 + 9 1.2691 2.00000 + 10 4.7936 2.00000 + 11 5.1515 2.00000 + 12 6.0240 2.00000 + 13 7.6686 1.99754 + 14 8.5805 0.00000 + 15 11.7779 0.00000 + 16 12.1352 0.00000 + 17 12.7618 0.00000 + 18 14.3597 0.00000 + + k-point 145 : 0.0000 0.1333 0.1333 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4246 2.00000 + 3 -91.2897 2.00000 + 4 -65.7461 2.00000 + 5 -30.0163 2.00000 + 6 -29.9957 2.00000 + 7 -29.8477 2.00000 + 8 -1.5268 2.00000 + 9 4.2431 2.00000 + 10 4.8102 2.00000 + 11 5.8696 2.00000 + 12 6.0346 2.00000 + 13 7.8110 1.68997 + 14 8.5785 0.00000 + 15 9.3930 0.00000 + 16 9.9093 0.00000 + 17 14.8181 0.00000 + 18 15.3992 0.00000 + + k-point 146 : 0.0667 0.1333 0.1333 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7461 2.00000 + 5 -30.0184 2.00000 + 6 -29.9955 2.00000 + 7 -29.8475 2.00000 + 8 -1.4775 2.00000 + 9 4.2438 2.00000 + 10 4.7542 2.00000 + 11 5.5293 2.00000 + 12 6.3522 2.00000 + 13 7.5150 2.00000 + 14 8.8801 0.00000 + 15 9.4592 0.00000 + 16 9.8752 0.00000 + 17 15.2792 0.00000 + 18 15.6628 0.00000 + + k-point 147 : 0.1333 0.1333 0.1333 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7460 2.00000 + 5 -30.0244 2.00000 + 6 -29.9950 2.00000 + 7 -29.8470 2.00000 + 8 -1.3299 2.00000 + 9 4.1576 2.00000 + 10 4.5679 2.00000 + 11 5.2979 2.00000 + 12 6.6150 2.00000 + 13 7.0904 2.00000 + 14 9.1579 0.00000 + 15 9.5750 0.00000 + 16 10.0825 0.00000 + 17 15.1794 0.00000 + 18 15.4777 0.00000 + + k-point 148 : 0.2000 0.1333 0.1333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7459 2.00000 + 5 -30.0332 2.00000 + 6 -29.9941 2.00000 + 7 -29.8463 2.00000 + 8 -1.0889 2.00000 + 9 3.7247 2.00000 + 10 4.5126 2.00000 + 11 5.2739 2.00000 + 12 6.5053 2.00000 + 13 7.0116 2.00000 + 14 8.9177 0.00000 + 15 10.0553 0.00000 + 16 10.5390 0.00000 + 17 14.9488 0.00000 + 18 15.7735 0.00000 + + k-point 149 : 0.2667 0.1333 0.1333 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7457 2.00000 + 5 -30.0432 2.00000 + 6 -29.9932 2.00000 + 7 -29.8454 2.00000 + 8 -0.7637 2.00000 + 9 3.1184 2.00000 + 10 4.5570 2.00000 + 11 5.2947 2.00000 + 12 6.2309 2.00000 + 13 7.1569 2.00000 + 14 8.6614 0.00000 + 15 10.5778 0.00000 + 16 11.0215 0.00000 + 17 14.3672 0.00000 + 18 16.4135 0.00000 + + k-point 150 : 0.3333 0.1333 0.1333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7455 2.00000 + 5 -30.0528 2.00000 + 6 -29.9922 2.00000 + 7 -29.8445 2.00000 + 8 -0.3665 2.00000 + 9 2.4849 2.00000 + 10 4.6192 2.00000 + 11 5.2403 2.00000 + 12 6.0991 2.00000 + 13 7.2727 2.00000 + 14 8.5350 0.00000 + 15 11.0432 0.00000 + 16 11.4229 0.00000 + 17 13.8722 0.00000 + 18 15.2253 0.00000 + + k-point 151 : 0.4000 0.1333 0.1333 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7454 2.00000 + 5 -30.0603 2.00000 + 6 -29.9915 2.00000 + 7 -29.8439 2.00000 + 8 0.0883 2.00000 + 9 1.8666 2.00000 + 10 4.6927 2.00000 + 11 5.1041 2.00000 + 12 6.0902 2.00000 + 13 7.3348 2.00000 + 14 8.5545 0.00000 + 15 11.3690 0.00000 + 16 11.6761 0.00000 + 17 13.4279 0.00000 + 18 14.9423 0.00000 + + k-point 152 : 0.4667 0.1333 0.1333 + band No. band energies occupation + 1 -91.8813 2.00000 + 2 -91.4263 2.00000 + 3 -91.2913 2.00000 + 4 -65.7454 2.00000 + 5 -30.0645 2.00000 + 6 -29.9911 2.00000 + 7 -29.8436 2.00000 + 8 0.5523 2.00000 + 9 1.3197 2.00000 + 10 4.7737 2.00000 + 11 4.9700 2.00000 + 12 6.1067 2.00000 + 13 7.3584 2.00000 + 14 8.6259 0.00000 + 15 11.4672 0.00000 + 16 11.8083 0.00000 + 17 13.3060 0.00000 + 18 14.7773 0.00000 + + k-point 153 : 0.0000 0.2000 0.1333 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7459 2.00000 + 5 -30.0150 2.00000 + 6 -30.0082 2.00000 + 7 -29.8466 2.00000 + 8 -1.2712 2.00000 + 9 3.8438 2.00000 + 10 4.7684 2.00000 + 11 5.6401 2.00000 + 12 5.9574 2.00000 + 13 7.6738 1.99688 + 14 8.3685 0.00000 + 15 9.9037 0.00000 + 16 10.4726 0.00000 + 17 15.0041 0.00000 + 18 15.6011 0.00000 + + k-point 154 : 0.0667 0.2000 0.1333 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7459 2.00000 + 5 -30.0172 2.00000 + 6 -30.0079 2.00000 + 7 -29.8464 2.00000 + 8 -1.2218 2.00000 + 9 3.8708 2.00000 + 10 4.6756 2.00000 + 11 5.4045 2.00000 + 12 6.1889 2.00000 + 13 7.4347 2.00000 + 14 8.5911 0.00000 + 15 10.0325 0.00000 + 16 10.3726 0.00000 + 17 14.9251 0.00000 + 18 15.8940 0.00000 + + k-point 155 : 0.1333 0.2000 0.1333 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7457 2.00000 + 5 -30.0231 2.00000 + 6 -30.0074 2.00000 + 7 -29.8459 2.00000 + 8 -1.0751 2.00000 + 9 3.9445 2.00000 + 10 4.3254 2.00000 + 11 5.2342 2.00000 + 12 6.4457 2.00000 + 13 7.0265 2.00000 + 14 8.9822 0.00000 + 15 9.9608 0.00000 + 16 10.5366 0.00000 + 17 15.3724 0.00000 + 18 16.2209 0.00000 + + k-point 156 : 0.2000 0.2000 0.1333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7456 2.00000 + 5 -30.0320 2.00000 + 6 -30.0066 2.00000 + 7 -29.8451 2.00000 + 8 -0.8371 2.00000 + 9 3.7696 2.00000 + 10 4.0713 2.00000 + 11 5.2102 2.00000 + 12 6.5202 2.00000 + 13 6.7576 2.00000 + 14 9.2256 0.00000 + 15 9.8208 0.00000 + 16 10.9794 0.00000 + 17 14.6872 0.00000 + 18 16.0115 0.00000 + + k-point 157 : 0.2667 0.2000 0.1333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7454 2.00000 + 5 -30.0420 2.00000 + 6 -30.0056 2.00000 + 7 -29.8442 2.00000 + 8 -0.5159 2.00000 + 9 3.1732 2.00000 + 10 4.2009 2.00000 + 11 5.2095 2.00000 + 12 6.2786 2.00000 + 13 6.8561 2.00000 + 14 9.0363 0.00000 + 15 10.1403 0.00000 + 16 11.3532 0.00000 + 17 14.1947 0.00000 + 18 15.7790 0.00000 + + k-point 158 : 0.3333 0.2000 0.1333 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2902 2.00000 + 4 -65.7452 2.00000 + 5 -30.0516 2.00000 + 6 -30.0047 2.00000 + 7 -29.8434 2.00000 + 8 -0.1232 2.00000 + 9 2.5651 2.00000 + 10 4.3406 2.00000 + 11 5.1419 2.00000 + 12 6.1556 2.00000 + 13 6.9535 2.00000 + 14 8.8219 0.00000 + 15 10.5329 0.00000 + 16 11.5193 0.00000 + 17 13.9904 0.00000 + 18 15.7124 0.00000 + + k-point 159 : 0.4000 0.2000 0.1333 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7451 2.00000 + 5 -30.0592 2.00000 + 6 -30.0040 2.00000 + 7 -29.8427 2.00000 + 8 0.3259 2.00000 + 9 1.9702 2.00000 + 10 4.4841 2.00000 + 11 4.9917 2.00000 + 12 6.1733 2.00000 + 13 7.0010 2.00000 + 14 8.7133 0.00000 + 15 10.8431 0.00000 + 16 11.4585 0.00000 + 17 13.9770 0.00000 + 18 15.7545 0.00000 + + k-point 160 : 0.4667 0.2000 0.1333 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7450 2.00000 + 5 -30.0633 2.00000 + 6 -30.0036 2.00000 + 7 -29.8424 2.00000 + 8 0.8108 2.00000 + 9 1.4140 2.00000 + 10 4.6313 2.00000 + 11 4.8202 2.00000 + 12 6.2227 2.00000 + 13 7.0116 2.00000 + 14 8.6872 0.00000 + 15 11.0198 0.00000 + 16 11.3364 0.00000 + 17 14.1763 0.00000 + 18 15.9685 0.00000 + + k-point 161 : 0.0000 0.2667 0.1333 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2906 2.00000 + 4 -65.7456 2.00000 + 5 -30.0224 2.00000 + 6 -30.0136 2.00000 + 7 -29.8453 2.00000 + 8 -0.9268 2.00000 + 9 3.2623 2.00000 + 10 4.7464 2.00000 + 11 5.3834 2.00000 + 12 5.9960 2.00000 + 13 7.6341 1.99956 + 14 8.2611 0.00000 + 15 10.4569 0.00000 + 16 11.0184 0.00000 + 17 14.2330 0.00000 + 18 15.5535 0.00000 + + k-point 162 : 0.0667 0.2667 0.1333 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7456 2.00000 + 5 -30.0222 2.00000 + 6 -30.0157 2.00000 + 7 -29.8451 2.00000 + 8 -0.8773 2.00000 + 9 3.2832 2.00000 + 10 4.6571 2.00000 + 11 5.2991 2.00000 + 12 6.0714 2.00000 + 13 7.4689 2.00000 + 14 8.4217 0.00000 + 15 10.5908 0.00000 + 16 10.8787 0.00000 + 17 14.2953 0.00000 + 18 16.5961 0.00000 + + k-point 163 : 0.1333 0.2667 0.1333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7455 2.00000 + 5 -30.0218 2.00000 + 6 -30.0216 2.00000 + 7 -29.8446 2.00000 + 8 -0.7317 2.00000 + 9 3.3310 2.00000 + 10 4.3786 2.00000 + 11 5.2110 2.00000 + 12 6.1851 2.00000 + 13 7.1526 2.00000 + 14 8.7615 0.00000 + 15 10.4513 0.00000 + 16 10.9940 0.00000 + 17 14.2699 0.00000 + 18 15.4567 0.00000 + + k-point 164 : 0.2000 0.2667 0.1333 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7453 2.00000 + 5 -30.0306 2.00000 + 6 -30.0209 2.00000 + 7 -29.8438 2.00000 + 8 -0.4981 2.00000 + 9 3.3273 2.00000 + 10 4.0470 2.00000 + 11 5.1832 2.00000 + 12 6.2401 2.00000 + 13 6.8777 2.00000 + 14 9.1353 0.00000 + 15 10.0431 0.00000 + 16 11.3235 0.00000 + 17 14.1794 0.00000 + 18 15.5671 0.00000 + + k-point 165 : 0.2667 0.2667 0.1333 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7451 2.00000 + 5 -30.0407 2.00000 + 6 -30.0200 2.00000 + 7 -29.8429 2.00000 + 8 -0.1859 2.00000 + 9 3.0693 2.00000 + 10 3.9456 2.00000 + 11 5.1491 2.00000 + 12 6.2051 2.00000 + 13 6.7650 2.00000 + 14 9.2971 0.00000 + 15 9.8622 0.00000 + 16 11.4431 0.00000 + 17 14.0899 0.00000 + 18 16.4426 0.00000 + + k-point 166 : 0.3333 0.2667 0.1333 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7449 2.00000 + 5 -30.0503 2.00000 + 6 -30.0191 2.00000 + 7 -29.8421 2.00000 + 8 0.1920 2.00000 + 9 2.6071 2.00000 + 10 4.0528 2.00000 + 11 5.0472 2.00000 + 12 6.1874 2.00000 + 13 6.7639 2.00000 + 14 9.0797 0.00000 + 15 10.0903 0.00000 + 16 11.2974 0.00000 + 17 14.2166 0.00000 + 18 15.6033 0.00000 + + k-point 167 : 0.4000 0.2667 0.1333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7448 2.00000 + 5 -30.0579 2.00000 + 6 -30.0184 2.00000 + 7 -29.8414 2.00000 + 8 0.6211 2.00000 + 9 2.0968 2.00000 + 10 4.2164 2.00000 + 11 4.8791 2.00000 + 12 6.2614 2.00000 + 13 6.7657 2.00000 + 14 8.8662 0.00000 + 15 10.3491 0.00000 + 16 11.0306 0.00000 + 17 14.4108 0.00000 + 18 15.3788 0.00000 + + k-point 168 : 0.4667 0.2667 0.1333 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7447 2.00000 + 5 -30.0620 2.00000 + 6 -30.0180 2.00000 + 7 -29.8411 2.00000 + 8 1.0880 2.00000 + 9 1.5873 2.00000 + 10 4.3747 2.00000 + 11 4.7100 2.00000 + 12 6.3575 2.00000 + 13 6.7421 2.00000 + 14 8.7550 0.00000 + 15 10.5500 0.00000 + 16 10.7906 0.00000 + 17 14.5624 0.00000 + 18 15.1655 0.00000 + + k-point 169 : 0.0000 0.3333 0.1333 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4260 2.00000 + 3 -91.2910 2.00000 + 4 -65.7454 2.00000 + 5 -30.0360 2.00000 + 6 -30.0122 2.00000 + 7 -29.8440 2.00000 + 8 -0.5057 2.00000 + 9 2.6136 2.00000 + 10 4.7370 2.00000 + 11 5.1523 2.00000 + 12 6.0130 2.00000 + 13 7.6494 1.99903 + 14 8.3935 0.00000 + 15 10.9701 0.00000 + 16 11.5187 0.00000 + 17 13.5916 0.00000 + 18 15.0632 0.00000 + + k-point 170 : 0.0667 0.3333 0.1333 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7453 2.00000 + 5 -30.0358 2.00000 + 6 -30.0143 2.00000 + 7 -29.8438 2.00000 + 8 -0.4569 2.00000 + 9 2.6313 2.00000 + 10 4.6641 2.00000 + 11 5.1321 2.00000 + 12 6.0295 2.00000 + 13 7.5280 2.00000 + 14 8.4922 0.00000 + 15 11.0888 0.00000 + 16 11.3355 0.00000 + 17 13.6775 0.00000 + 18 15.0131 0.00000 + + k-point 171 : 0.1333 0.3333 0.1333 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2907 2.00000 + 4 -65.7452 2.00000 + 5 -30.0353 2.00000 + 6 -30.0204 2.00000 + 7 -29.8433 2.00000 + 8 -0.3133 2.00000 + 9 2.6752 2.00000 + 10 4.4540 2.00000 + 11 5.1041 2.00000 + 12 6.0697 2.00000 + 13 7.2554 2.00000 + 14 8.7315 0.00000 + 15 10.8888 0.00000 + 16 11.3448 0.00000 + 17 13.6890 0.00000 + 18 15.8847 0.00000 + + k-point 172 : 0.2000 0.3333 0.1333 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7450 2.00000 + 5 -30.0345 2.00000 + 6 -30.0292 2.00000 + 7 -29.8426 2.00000 + 8 -0.0859 2.00000 + 9 2.7166 2.00000 + 10 4.1804 2.00000 + 11 5.0770 2.00000 + 12 6.1163 2.00000 + 13 6.9765 2.00000 + 14 9.0212 0.00000 + 15 10.3917 0.00000 + 16 11.4336 0.00000 + 17 13.9055 0.00000 + 18 15.2813 0.00000 + + k-point 173 : 0.2667 0.3333 0.1333 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7448 2.00000 + 5 -30.0394 2.00000 + 6 -30.0336 2.00000 + 7 -29.8417 2.00000 + 8 0.2123 2.00000 + 9 2.6878 2.00000 + 10 3.9634 2.00000 + 11 5.0147 2.00000 + 12 6.1592 2.00000 + 13 6.7920 2.00000 + 14 9.2662 0.00000 + 15 9.9512 0.00000 + 16 11.2415 0.00000 + 17 14.1593 0.00000 + 18 15.4866 0.00000 + + k-point 174 : 0.3333 0.3333 0.1333 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7446 2.00000 + 5 -30.0491 2.00000 + 6 -30.0327 2.00000 + 7 -29.8408 2.00000 + 8 0.5609 2.00000 + 9 2.5137 2.00000 + 10 3.9070 2.00000 + 11 4.8851 2.00000 + 12 6.2238 2.00000 + 13 6.7173 2.00000 + 14 9.2451 0.00000 + 15 9.8021 0.00000 + 16 10.8954 0.00000 + 17 14.4228 0.00000 + 18 16.8868 0.00000 + + k-point 175 : 0.4000 0.3333 0.1333 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4247 2.00000 + 3 -91.2897 2.00000 + 4 -65.7444 2.00000 + 5 -30.0566 2.00000 + 6 -30.0320 2.00000 + 7 -29.8402 2.00000 + 8 0.9361 2.00000 + 9 2.2131 2.00000 + 10 3.9968 2.00000 + 11 4.7012 2.00000 + 12 6.3401 2.00000 + 13 6.6831 2.00000 + 14 8.9915 0.00000 + 15 9.9352 0.00000 + 16 10.5511 0.00000 + 17 14.6648 0.00000 + 18 16.6490 0.00000 + + k-point 176 : 0.4667 0.3333 0.1333 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7444 2.00000 + 5 -30.0607 2.00000 + 6 -30.0317 2.00000 + 7 -29.8398 2.00000 + 8 1.2854 2.00000 + 9 1.8883 2.00000 + 10 4.1342 2.00000 + 11 4.5244 2.00000 + 12 6.4820 2.00000 + 13 6.6213 2.00000 + 14 8.8197 0.00000 + 15 10.0947 0.00000 + 16 10.2879 0.00000 + 17 14.4258 0.00000 + 18 16.1813 0.00000 + + k-point 177 : 0.0000 0.4000 0.1333 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7451 2.00000 + 5 -30.0466 2.00000 + 6 -30.0111 2.00000 + 7 -29.8430 2.00000 + 8 -0.0307 2.00000 + 9 1.9718 2.00000 + 10 4.7340 2.00000 + 11 4.9824 2.00000 + 12 5.9781 2.00000 + 13 7.6817 1.99554 + 14 8.7276 0.00000 + 15 11.3873 0.00000 + 16 11.9478 0.00000 + 17 12.7854 0.00000 + 18 23.9436 0.00000 + + k-point 178 : 0.0667 0.4000 0.1333 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7451 2.00000 + 5 -30.0464 2.00000 + 6 -30.0132 2.00000 + 7 -29.8428 2.00000 + 8 0.0185 2.00000 + 9 1.9888 2.00000 + 10 4.6859 2.00000 + 11 4.9653 2.00000 + 12 5.9970 2.00000 + 13 7.5729 1.99999 + 14 8.7751 0.00000 + 15 11.4491 0.00000 + 16 11.7029 0.00000 + 17 13.0190 0.00000 + 18 14.7782 0.00000 + + k-point 179 : 0.1333 0.4000 0.1333 + band No. band energies occupation + 1 -91.8812 2.00000 + 2 -91.4262 2.00000 + 3 -91.2911 2.00000 + 4 -65.7450 2.00000 + 5 -30.0459 2.00000 + 6 -30.0193 2.00000 + 7 -29.8423 2.00000 + 8 0.1624 2.00000 + 9 2.0359 2.00000 + 10 4.5378 2.00000 + 11 4.9360 2.00000 + 12 6.0484 2.00000 + 13 7.3135 2.00000 + 14 8.8969 0.00000 + 15 11.2099 0.00000 + 16 11.4930 0.00000 + 17 13.3525 0.00000 + 18 14.7482 0.00000 + + k-point 180 : 0.2000 0.4000 0.1333 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7448 2.00000 + 5 -30.0451 2.00000 + 6 -30.0282 2.00000 + 7 -29.8416 2.00000 + 8 0.3853 2.00000 + 9 2.1069 2.00000 + 10 4.3253 2.00000 + 11 4.8953 2.00000 + 12 6.1228 2.00000 + 13 7.0290 2.00000 + 14 9.0504 0.00000 + 15 10.6735 0.00000 + 16 11.2840 0.00000 + 17 13.8208 0.00000 + 18 15.4677 0.00000 + + k-point 181 : 0.2667 0.4000 0.1333 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7446 2.00000 + 5 -30.0442 2.00000 + 6 -30.0384 2.00000 + 7 -29.8407 2.00000 + 8 0.6619 2.00000 + 9 2.1867 2.00000 + 10 4.1117 2.00000 + 11 4.8111 2.00000 + 12 6.2095 2.00000 + 13 6.8181 2.00000 + 14 9.1919 0.00000 + 15 10.1602 0.00000 + 16 10.8993 0.00000 + 17 15.1026 0.00000 + 18 15.8962 0.00000 + + k-point 182 : 0.3333 0.4000 0.1333 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7444 2.00000 + 5 -30.0481 2.00000 + 6 -30.0434 2.00000 + 7 -29.8399 2.00000 + 8 0.9577 2.00000 + 9 2.2499 2.00000 + 10 3.9565 2.00000 + 11 4.6608 2.00000 + 12 6.3079 2.00000 + 13 6.7191 2.00000 + 14 9.2475 0.00000 + 15 9.7542 0.00000 + 16 10.4853 0.00000 + 17 14.4236 0.00000 + 18 15.9769 0.00000 + + k-point 183 : 0.4000 0.4000 0.1333 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2900 2.00000 + 4 -65.7442 2.00000 + 5 -30.0556 2.00000 + 6 -30.0428 2.00000 + 7 -29.8392 2.00000 + 8 1.2239 2.00000 + 9 2.2689 2.00000 + 10 3.9080 2.00000 + 11 4.4598 2.00000 + 12 6.4254 2.00000 + 13 6.6915 2.00000 + 14 9.0705 0.00000 + 15 9.6405 0.00000 + 16 10.1444 0.00000 + 17 14.3430 0.00000 + 18 17.2812 0.00000 + + k-point 184 : 0.4667 0.4000 0.1333 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7442 2.00000 + 5 -30.0598 2.00000 + 6 -30.0424 2.00000 + 7 -29.8388 2.00000 + 8 1.3946 2.00000 + 9 2.2508 2.00000 + 10 3.9615 2.00000 + 11 4.2707 2.00000 + 12 6.5390 2.00000 + 13 6.6669 2.00000 + 14 8.8711 0.00000 + 15 9.6833 0.00000 + 16 9.9342 0.00000 + 17 14.2821 0.00000 + 18 16.8667 0.00000 + + k-point 185 : 0.0000 0.4667 0.1333 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4260 2.00000 + 3 -91.2909 2.00000 + 4 -65.7450 2.00000 + 5 -30.0524 2.00000 + 6 -30.0105 2.00000 + 7 -29.8425 2.00000 + 8 0.4229 2.00000 + 9 1.4332 2.00000 + 10 4.7335 2.00000 + 11 4.8932 2.00000 + 12 5.9406 2.00000 + 13 7.7046 1.98825 + 14 9.0485 0.00000 + 15 11.6113 0.00000 + 16 12.2365 0.00000 + 17 12.4166 0.00000 + 18 14.4069 0.00000 + + k-point 186 : 0.0667 0.4667 0.1333 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4260 2.00000 + 3 -91.2909 2.00000 + 4 -65.7450 2.00000 + 5 -30.0522 2.00000 + 6 -30.0126 2.00000 + 7 -29.8423 2.00000 + 8 0.4791 2.00000 + 9 1.4433 2.00000 + 10 4.7207 2.00000 + 11 4.8490 2.00000 + 12 5.9697 2.00000 + 13 7.5985 1.99994 + 14 9.0623 0.00000 + 15 11.5449 0.00000 + 16 11.9351 0.00000 + 17 12.6346 0.00000 + 18 14.4028 0.00000 + + k-point 187 : 0.1333 0.4667 0.1333 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4262 2.00000 + 3 -91.2911 2.00000 + 4 -65.7449 2.00000 + 5 -30.0517 2.00000 + 6 -30.0187 2.00000 + 7 -29.8418 2.00000 + 8 0.6406 2.00000 + 9 1.4754 2.00000 + 10 4.6393 2.00000 + 11 4.7744 2.00000 + 12 6.0463 2.00000 + 13 7.3409 2.00000 + 14 9.0974 0.00000 + 15 11.2685 0.00000 + 16 11.5426 0.00000 + 17 13.2087 0.00000 + 18 14.4572 0.00000 + + k-point 188 : 0.2000 0.4667 0.1333 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4259 2.00000 + 3 -91.2908 2.00000 + 4 -65.7447 2.00000 + 5 -30.0509 2.00000 + 6 -30.0276 2.00000 + 7 -29.8411 2.00000 + 8 0.8849 2.00000 + 9 1.5379 2.00000 + 10 4.4679 2.00000 + 11 4.7154 2.00000 + 12 6.1524 2.00000 + 13 7.0495 2.00000 + 14 9.1423 0.00000 + 15 10.8507 0.00000 + 16 11.0603 0.00000 + 17 14.0298 0.00000 + 18 14.7766 0.00000 + + k-point 189 : 0.2667 0.4667 0.1333 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2911 2.00000 + 4 -65.7445 2.00000 + 5 -30.0501 2.00000 + 6 -30.0378 2.00000 + 7 -29.8402 2.00000 + 8 1.1502 2.00000 + 9 1.6634 2.00000 + 10 4.2778 2.00000 + 11 4.6118 2.00000 + 12 6.2733 2.00000 + 13 6.8222 2.00000 + 14 9.1840 0.00000 + 15 10.3474 0.00000 + 16 10.5871 0.00000 + 17 14.4557 0.00000 + 18 15.2545 0.00000 + + k-point 190 : 0.3333 0.4667 0.1333 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2906 2.00000 + 4 -65.7443 2.00000 + 5 -30.0493 2.00000 + 6 -30.0475 2.00000 + 7 -29.8393 2.00000 + 8 1.3315 2.00000 + 9 1.9197 2.00000 + 10 4.1103 2.00000 + 11 4.4350 2.00000 + 12 6.3954 2.00000 + 13 6.7111 2.00000 + 14 9.1975 0.00000 + 15 9.8332 0.00000 + 16 10.1952 0.00000 + 17 14.3744 0.00000 + 18 15.8908 0.00000 + + k-point 191 : 0.4000 0.4667 0.1333 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7441 2.00000 + 5 -30.0551 2.00000 + 6 -30.0487 2.00000 + 7 -29.8387 2.00000 + 8 1.4141 2.00000 + 9 2.2587 2.00000 + 10 3.9834 2.00000 + 11 4.2083 2.00000 + 12 6.5037 2.00000 + 13 6.7025 2.00000 + 14 9.0928 0.00000 + 15 9.5006 0.00000 + 16 9.9082 0.00000 + 17 14.2642 0.00000 + 18 16.9205 0.00000 + + k-point 192 : 0.4667 0.4667 0.1333 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7441 2.00000 + 5 -30.0593 2.00000 + 6 -30.0483 2.00000 + 7 -29.8383 2.00000 + 8 1.4457 2.00000 + 9 2.5199 2.00000 + 10 3.9004 2.00000 + 11 4.0331 2.00000 + 12 6.5737 2.00000 + 13 6.7304 2.00000 + 14 8.8995 0.00000 + 15 9.4301 0.00000 + 16 9.7525 0.00000 + 17 14.2685 0.00000 + 18 34.2814 0.00000 + + k-point 193 : 0.0000 0.0000 0.2000 + band No. band energies occupation + 1 -91.8795 2.00000 + 2 -91.4244 2.00000 + 3 -91.2894 2.00000 + 4 -65.7449 2.00000 + 5 -30.0129 2.00000 + 6 -29.9797 2.00000 + 7 -29.8895 2.00000 + 8 -1.4187 2.00000 + 9 4.4601 2.00000 + 10 4.6731 2.00000 + 11 5.6743 2.00000 + 12 5.9932 2.00000 + 13 8.1576 0.00010 + 14 8.3102 0.00000 + 15 9.3878 0.00000 + 16 9.5739 0.00000 + 17 14.6169 0.00000 + 18 15.2950 0.00000 + + k-point 194 : 0.0667 0.0000 0.2000 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4249 2.00000 + 3 -91.2900 2.00000 + 4 -65.7449 2.00000 + 5 -30.0151 2.00000 + 6 -29.9795 2.00000 + 7 -29.8894 2.00000 + 8 -1.3679 2.00000 + 9 4.3898 2.00000 + 10 4.6848 2.00000 + 11 5.5775 2.00000 + 12 5.9882 2.00000 + 13 8.0710 0.00779 + 14 8.3358 0.00000 + 15 9.2963 0.00000 + 16 9.8808 0.00000 + 17 14.7640 0.00000 + 18 15.2851 0.00000 + + k-point 195 : 0.1333 0.0000 0.2000 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7447 2.00000 + 5 -30.0211 2.00000 + 6 -29.9789 2.00000 + 7 -29.8889 2.00000 + 8 -1.2205 2.00000 + 9 4.1260 2.00000 + 10 4.7341 2.00000 + 11 5.4333 2.00000 + 12 5.9646 2.00000 + 13 7.6673 1.99769 + 14 8.7032 0.00000 + 15 9.1336 0.00000 + 16 10.4886 0.00000 + 17 14.8840 0.00000 + 18 16.1247 0.00000 + + k-point 196 : 0.2000 0.0000 0.2000 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2897 2.00000 + 4 -65.7446 2.00000 + 5 -30.0299 2.00000 + 6 -29.9782 2.00000 + 7 -29.8882 2.00000 + 8 -0.9808 2.00000 + 9 3.6652 2.00000 + 10 4.7987 2.00000 + 11 5.3993 2.00000 + 12 5.9001 2.00000 + 13 7.3364 2.00000 + 14 8.6839 0.00000 + 15 9.4310 0.00000 + 16 11.1616 0.00000 + 17 14.7250 0.00000 + 18 16.1963 0.00000 + + k-point 197 : 0.2667 0.0000 0.2000 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4250 2.00000 + 3 -91.2899 2.00000 + 4 -65.7444 2.00000 + 5 -30.0400 2.00000 + 6 -29.9771 2.00000 + 7 -29.8874 2.00000 + 8 -0.6587 2.00000 + 9 3.0989 2.00000 + 10 4.8498 2.00000 + 11 5.4590 2.00000 + 12 5.7806 2.00000 + 13 7.1397 2.00000 + 14 8.5209 0.00000 + 15 9.9588 0.00000 + 16 11.8236 0.00000 + 17 14.2014 0.00000 + 18 16.2147 0.00000 + + k-point 198 : 0.3333 0.0000 0.2000 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7442 2.00000 + 5 -30.0497 2.00000 + 6 -29.9762 2.00000 + 7 -29.8866 2.00000 + 8 -0.2656 2.00000 + 9 2.4987 2.00000 + 10 4.8835 2.00000 + 11 5.5379 2.00000 + 12 5.6319 2.00000 + 13 7.0597 2.00000 + 14 8.4828 0.00000 + 15 10.4687 0.00000 + 16 12.4416 0.00000 + 17 13.3290 0.00000 + 18 15.1337 0.00000 + + k-point 199 : 0.4000 0.0000 0.2000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7441 2.00000 + 5 -30.0573 2.00000 + 6 -29.9754 2.00000 + 7 -29.8860 2.00000 + 8 0.1849 2.00000 + 9 1.9035 2.00000 + 10 4.9056 2.00000 + 11 5.5030 2.00000 + 12 5.5861 2.00000 + 13 7.0432 2.00000 + 14 8.5758 0.00000 + 15 10.9253 0.00000 + 16 12.5527 0.00000 + 17 13.0088 0.00000 + 18 14.8073 0.00000 + + k-point 200 : 0.4667 0.0000 0.2000 + band No. band energies occupation + 1 -91.8812 2.00000 + 2 -91.4261 2.00000 + 3 -91.2912 2.00000 + 4 -65.7441 2.00000 + 5 -30.0615 2.00000 + 6 -29.9750 2.00000 + 7 -29.8857 2.00000 + 8 0.6491 2.00000 + 9 1.3651 2.00000 + 10 4.9176 2.00000 + 11 5.4303 2.00000 + 12 5.6017 2.00000 + 13 7.0458 2.00000 + 14 8.6931 0.00000 + 15 11.3271 0.00000 + 16 11.9366 0.00000 + 17 13.5779 0.00000 + 18 14.3517 0.00000 + + k-point 201 : 0.0000 0.0667 0.2000 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7449 2.00000 + 5 -30.0127 2.00000 + 6 -29.9828 2.00000 + 7 -29.8893 2.00000 + 8 -1.3666 2.00000 + 9 4.4223 2.00000 + 10 4.6934 2.00000 + 11 5.6697 2.00000 + 12 5.8285 2.00000 + 13 8.0271 0.04123 + 14 8.3692 0.00000 + 15 9.4509 0.00000 + 16 9.7370 0.00000 + 17 14.9651 0.00000 + 18 15.3421 0.00000 + + k-point 202 : 0.0667 0.0667 0.2000 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4250 2.00000 + 3 -91.2901 2.00000 + 4 -65.7448 2.00000 + 5 -30.0148 2.00000 + 6 -29.9826 2.00000 + 7 -29.8892 2.00000 + 8 -1.3163 2.00000 + 9 4.3772 2.00000 + 10 4.7020 2.00000 + 11 5.4537 2.00000 + 12 5.9491 2.00000 + 13 7.7861 1.82833 + 14 8.5756 0.00000 + 15 9.5058 0.00000 + 16 9.8346 0.00000 + 17 15.0595 0.00000 + 18 16.2568 0.00000 + + k-point 203 : 0.1333 0.0667 0.2000 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4246 2.00000 + 3 -91.2896 2.00000 + 4 -65.7447 2.00000 + 5 -30.0208 2.00000 + 6 -29.9819 2.00000 + 7 -29.8886 2.00000 + 8 -1.1678 2.00000 + 9 4.1541 2.00000 + 10 4.7483 2.00000 + 11 5.2311 2.00000 + 12 6.0125 2.00000 + 13 7.4085 2.00000 + 14 8.9608 0.00000 + 15 9.3188 0.00000 + 16 10.3531 0.00000 + 17 15.1264 0.00000 + 18 15.6355 0.00000 + + k-point 204 : 0.2000 0.0667 0.2000 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4247 2.00000 + 3 -91.2897 2.00000 + 4 -65.7445 2.00000 + 5 -30.0296 2.00000 + 6 -29.9811 2.00000 + 7 -29.8879 2.00000 + 8 -0.9290 2.00000 + 9 3.7034 2.00000 + 10 4.8102 2.00000 + 11 5.1970 2.00000 + 12 5.9664 2.00000 + 13 7.1173 2.00000 + 14 8.9157 0.00000 + 15 9.5830 0.00000 + 16 14.0696 0.00000 + 17 15.5381 0.00000 + 18 16.0450 0.00000 + + k-point 205 : 0.2667 0.0667 0.2000 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7443 2.00000 + 5 -30.0398 2.00000 + 6 -29.9802 2.00000 + 7 -29.8871 2.00000 + 8 -0.6068 2.00000 + 9 3.1346 2.00000 + 10 4.8473 2.00000 + 11 5.3098 2.00000 + 12 5.8138 2.00000 + 13 6.9753 2.00000 + 14 8.6937 0.00000 + 15 10.0930 0.00000 + 16 11.5987 0.00000 + 17 14.2851 0.00000 + 18 15.4916 0.00000 + + k-point 206 : 0.3333 0.0667 0.2000 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7442 2.00000 + 5 -30.0495 2.00000 + 6 -29.9792 2.00000 + 7 -29.8864 2.00000 + 8 -0.2132 2.00000 + 9 2.5322 2.00000 + 10 4.8734 2.00000 + 11 5.4530 2.00000 + 12 5.6251 2.00000 + 13 6.9349 2.00000 + 14 8.5950 0.00000 + 15 10.5671 0.00000 + 16 12.1071 0.00000 + 17 13.6101 0.00000 + 18 15.2056 0.00000 + + k-point 207 : 0.4000 0.0667 0.2000 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7441 2.00000 + 5 -30.0571 2.00000 + 6 -29.9785 2.00000 + 7 -29.8858 2.00000 + 8 0.2373 2.00000 + 9 1.9361 2.00000 + 10 4.9016 2.00000 + 11 5.4135 2.00000 + 12 5.6118 2.00000 + 13 6.9300 2.00000 + 14 8.6308 0.00000 + 15 10.9545 0.00000 + 16 12.2321 0.00000 + 17 13.3411 0.00000 + 18 14.6028 0.00000 + + k-point 208 : 0.4667 0.0667 0.2000 + band No. band energies occupation + 1 -91.8813 2.00000 + 2 -91.4262 2.00000 + 3 -91.2912 2.00000 + 4 -65.7440 2.00000 + 5 -30.0612 2.00000 + 6 -29.9781 2.00000 + 7 -29.8855 2.00000 + 8 0.7080 2.00000 + 9 1.3914 2.00000 + 10 4.9262 2.00000 + 11 5.3148 2.00000 + 12 5.6677 2.00000 + 13 6.9317 2.00000 + 14 8.7105 0.00000 + 15 11.2069 0.00000 + 16 11.9941 0.00000 + 17 13.6247 0.00000 + 18 14.2566 0.00000 + + k-point 209 : 0.0000 0.1333 0.2000 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7447 2.00000 + 5 -30.0118 2.00000 + 6 -29.9913 2.00000 + 7 -29.8886 2.00000 + 8 -1.2087 2.00000 + 9 4.2480 2.00000 + 10 4.7537 2.00000 + 11 5.5479 2.00000 + 12 5.6464 2.00000 + 13 7.5854 1.99997 + 14 8.8369 0.00000 + 15 9.1686 0.00000 + 16 10.3783 0.00000 + 17 15.1703 0.00000 + 18 16.5372 0.00000 + + k-point 210 : 0.0667 0.1333 0.2000 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7446 2.00000 + 5 -30.0140 2.00000 + 6 -29.9911 2.00000 + 7 -29.8884 2.00000 + 8 -1.1599 2.00000 + 9 4.2600 2.00000 + 10 4.7624 2.00000 + 11 5.1876 2.00000 + 12 5.8950 2.00000 + 13 7.3708 2.00000 + 14 9.0334 0.00000 + 15 9.3519 0.00000 + 16 10.2679 0.00000 + 17 15.3111 0.00000 + 18 15.6587 0.00000 + + k-point 211 : 0.1333 0.1333 0.2000 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7445 2.00000 + 5 -30.0200 2.00000 + 6 -29.9906 2.00000 + 7 -29.8880 2.00000 + 8 -1.0132 2.00000 + 9 4.2030 2.00000 + 10 4.7943 2.00000 + 11 4.8011 2.00000 + 12 6.0641 2.00000 + 13 6.9806 2.00000 + 14 9.4178 0.00000 + 15 9.6455 0.00000 + 16 10.1655 0.00000 + 17 15.5541 0.00000 + 18 16.0175 0.00000 + + k-point 212 : 0.2000 0.1333 0.2000 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7444 2.00000 + 5 -30.0289 2.00000 + 6 -29.9897 2.00000 + 7 -29.8872 2.00000 + 8 -0.7738 2.00000 + 9 3.8102 2.00000 + 10 4.7014 2.00000 + 11 4.8920 2.00000 + 12 6.0747 2.00000 + 13 6.6867 2.00000 + 14 9.3773 0.00000 + 15 9.9364 0.00000 + 16 10.5923 0.00000 + 17 15.0458 0.00000 + 18 15.9243 0.00000 + + k-point 213 : 0.2667 0.1333 0.2000 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7441 2.00000 + 5 -30.0390 2.00000 + 6 -29.9887 2.00000 + 7 -29.8864 2.00000 + 8 -0.4528 2.00000 + 9 3.2344 2.00000 + 10 4.7338 2.00000 + 11 5.0752 2.00000 + 12 5.8733 2.00000 + 13 6.6224 2.00000 + 14 9.0753 0.00000 + 15 10.3673 0.00000 + 16 11.1413 0.00000 + 17 14.3495 0.00000 + 18 16.6028 0.00000 + + k-point 214 : 0.3333 0.1333 0.2000 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7440 2.00000 + 5 -30.0487 2.00000 + 6 -29.9878 2.00000 + 7 -29.8857 2.00000 + 8 -0.0611 2.00000 + 9 2.6291 2.00000 + 10 4.7819 2.00000 + 11 5.2693 2.00000 + 12 5.6458 2.00000 + 13 6.6483 2.00000 + 14 8.8604 0.00000 + 15 10.6806 0.00000 + 16 11.6275 0.00000 + 17 13.8130 0.00000 + 18 15.2714 0.00000 + + k-point 215 : 0.4000 0.1333 0.2000 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7438 2.00000 + 5 -30.0563 2.00000 + 6 -29.9871 2.00000 + 7 -29.8850 2.00000 + 8 0.3892 2.00000 + 9 2.0335 2.00000 + 10 4.8463 2.00000 + 11 5.2455 2.00000 + 12 5.6563 2.00000 + 13 6.6606 2.00000 + 14 8.7680 0.00000 + 15 10.8072 0.00000 + 16 11.9897 0.00000 + 17 13.5317 0.00000 + 18 14.8625 0.00000 + + k-point 216 : 0.4667 0.1333 0.2000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7438 2.00000 + 5 -30.0604 2.00000 + 6 -29.9867 2.00000 + 7 -29.8847 2.00000 + 8 0.8747 2.00000 + 9 1.4744 2.00000 + 10 4.9295 2.00000 + 11 5.1004 2.00000 + 12 5.7671 2.00000 + 13 6.6527 2.00000 + 14 8.7570 0.00000 + 15 10.8011 0.00000 + 16 12.1859 0.00000 + 17 13.5593 0.00000 + 18 14.6572 0.00000 + + k-point 217 : 0.0000 0.2000 0.2000 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7444 2.00000 + 5 -30.0105 2.00000 + 6 -30.0038 2.00000 + 7 -29.8876 2.00000 + 8 -0.9548 2.00000 + 9 3.8567 2.00000 + 10 4.8138 2.00000 + 11 5.4323 2.00000 + 12 5.5813 2.00000 + 13 7.2363 2.00000 + 14 8.8397 0.00000 + 15 9.4096 0.00000 + 16 11.0606 0.00000 + 17 14.9041 0.00000 + 18 15.9154 0.00000 + + k-point 218 : 0.0667 0.2000 0.2000 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7444 2.00000 + 5 -30.0127 2.00000 + 6 -30.0037 2.00000 + 7 -29.8874 2.00000 + 8 -0.9054 2.00000 + 9 3.8932 2.00000 + 10 4.8113 2.00000 + 11 5.0970 2.00000 + 12 5.8095 2.00000 + 13 7.0569 2.00000 + 14 9.0275 0.00000 + 15 9.5614 0.00000 + 16 10.9012 0.00000 + 17 15.3640 0.00000 + 18 16.2477 0.00000 + + k-point 219 : 0.1333 0.2000 0.2000 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7443 2.00000 + 5 -30.0188 2.00000 + 6 -30.0031 2.00000 + 7 -29.8869 2.00000 + 8 -0.7600 2.00000 + 9 3.9970 2.00000 + 10 4.5299 2.00000 + 11 4.9001 2.00000 + 12 6.0104 2.00000 + 13 6.6764 2.00000 + 14 9.4299 0.00000 + 15 9.9366 0.00000 + 16 10.5322 0.00000 + 17 15.0414 0.00000 + 18 15.7405 0.00000 + + k-point 220 : 0.2000 0.2000 0.2000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7441 2.00000 + 5 -30.0277 2.00000 + 6 -30.0023 2.00000 + 7 -29.8862 2.00000 + 8 -0.5239 2.00000 + 9 3.9586 2.00000 + 10 4.1573 2.00000 + 11 4.9630 2.00000 + 12 6.1585 2.00000 + 13 6.2704 2.00000 + 14 9.7369 0.00000 + 15 10.1887 0.00000 + 16 10.4392 0.00000 + 17 14.6116 0.00000 + 18 15.8892 0.00000 + + k-point 221 : 0.2667 0.2000 0.2000 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7439 2.00000 + 5 -30.0379 2.00000 + 6 -30.0014 2.00000 + 7 -29.8854 2.00000 + 8 -0.2066 2.00000 + 9 3.3648 2.00000 + 10 4.3281 2.00000 + 11 5.0858 2.00000 + 12 5.8933 2.00000 + 13 6.2876 2.00000 + 14 9.4924 0.00000 + 15 10.3513 0.00000 + 16 10.9098 0.00000 + 17 14.1968 0.00000 + 18 15.6095 0.00000 + + k-point 222 : 0.3333 0.2000 0.2000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7437 2.00000 + 5 -30.0476 2.00000 + 6 -30.0005 2.00000 + 7 -29.8847 2.00000 + 8 0.1788 2.00000 + 9 2.7700 2.00000 + 10 4.4886 2.00000 + 11 5.2214 2.00000 + 12 5.6433 2.00000 + 13 6.3659 2.00000 + 14 9.1667 0.00000 + 15 10.4414 0.00000 + 16 11.3646 0.00000 + 17 13.8896 0.00000 + 18 16.6031 0.00000 + + k-point 223 : 0.4000 0.2000 0.2000 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7436 2.00000 + 5 -30.0552 2.00000 + 6 -29.9998 2.00000 + 7 -29.8840 2.00000 + 8 0.6216 2.00000 + 9 2.1905 2.00000 + 10 4.6276 2.00000 + 11 5.1554 2.00000 + 12 5.7004 2.00000 + 13 6.3833 2.00000 + 14 8.9358 0.00000 + 15 10.3679 0.00000 + 16 11.7330 0.00000 + 17 13.7871 0.00000 + 18 15.4993 0.00000 + + k-point 224 : 0.4667 0.2000 0.2000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4254 2.00000 + 3 -91.2905 2.00000 + 4 -65.7435 2.00000 + 5 -30.0593 2.00000 + 6 -29.9994 2.00000 + 7 -29.8837 2.00000 + 8 1.1087 2.00000 + 9 1.6347 2.00000 + 10 4.7486 2.00000 + 11 4.9984 2.00000 + 12 5.8749 2.00000 + 13 6.3442 2.00000 + 14 8.8213 0.00000 + 15 10.2716 0.00000 + 16 11.9440 0.00000 + 17 13.8193 0.00000 + 18 14.8856 0.00000 + + k-point 225 : 0.0000 0.2667 0.2000 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2901 2.00000 + 4 -65.7441 2.00000 + 5 -30.0183 2.00000 + 6 -30.0091 2.00000 + 7 -29.8863 2.00000 + 8 -0.6139 2.00000 + 9 3.3047 2.00000 + 10 4.8442 2.00000 + 11 5.4603 2.00000 + 12 5.4868 2.00000 + 13 7.0343 2.00000 + 14 8.6590 0.00000 + 15 9.9415 0.00000 + 16 11.7134 0.00000 + 17 14.2240 0.00000 + 18 15.8795 0.00000 + + k-point 226 : 0.0667 0.2667 0.2000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7441 2.00000 + 5 -30.0181 2.00000 + 6 -30.0113 2.00000 + 7 -29.8862 2.00000 + 8 -0.5649 2.00000 + 9 3.3377 2.00000 + 10 4.8084 2.00000 + 11 5.2074 2.00000 + 12 5.6705 2.00000 + 13 6.9017 2.00000 + 14 8.8064 0.00000 + 15 10.0721 0.00000 + 16 11.5068 0.00000 + 17 14.3145 0.00000 + 18 15.6369 0.00000 + + k-point 227 : 0.1333 0.2667 0.2000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2908 2.00000 + 4 -65.7440 2.00000 + 5 -30.0176 2.00000 + 6 -30.0174 2.00000 + 7 -29.8857 2.00000 + 8 -0.4208 2.00000 + 9 3.4287 2.00000 + 10 4.5635 2.00000 + 11 5.0640 2.00000 + 12 5.7943 2.00000 + 13 6.6030 2.00000 + 14 9.1559 0.00000 + 15 10.3672 0.00000 + 16 11.0498 0.00000 + 17 14.3100 0.00000 + 18 15.6899 0.00000 + + k-point 228 : 0.2000 0.2667 0.2000 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7438 2.00000 + 5 -30.0263 2.00000 + 6 -30.0168 2.00000 + 7 -29.8850 2.00000 + 8 -0.1891 2.00000 + 9 3.5310 2.00000 + 10 4.1526 2.00000 + 11 5.0962 2.00000 + 12 5.8378 2.00000 + 13 6.3101 2.00000 + 14 9.5515 0.00000 + 15 10.4117 0.00000 + 16 10.7785 0.00000 + 17 14.0757 0.00000 + 18 16.4690 0.00000 + + k-point 229 : 0.2667 0.2667 0.2000 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7436 2.00000 + 5 -30.0365 2.00000 + 6 -30.0159 2.00000 + 7 -29.8842 2.00000 + 8 0.1197 2.00000 + 9 3.3712 2.00000 + 10 3.9854 2.00000 + 11 5.1910 2.00000 + 12 5.7030 2.00000 + 13 6.2124 2.00000 + 14 9.7686 0.00000 + 15 10.0355 0.00000 + 16 10.9145 0.00000 + 17 13.9867 0.00000 + 18 15.9162 0.00000 + + k-point 230 : 0.3333 0.2667 0.2000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7434 2.00000 + 5 -30.0463 2.00000 + 6 -30.0150 2.00000 + 7 -29.8835 2.00000 + 8 0.4894 2.00000 + 9 2.9018 2.00000 + 10 4.1317 2.00000 + 11 5.2339 2.00000 + 12 5.5776 2.00000 + 13 6.2422 2.00000 + 14 9.4373 0.00000 + 15 9.9987 0.00000 + 16 11.0336 0.00000 + 17 14.2044 0.00000 + 18 15.5874 0.00000 + + k-point 231 : 0.4000 0.2667 0.2000 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7433 2.00000 + 5 -30.0539 2.00000 + 6 -30.0143 2.00000 + 7 -29.8829 2.00000 + 8 0.9061 2.00000 + 9 2.3921 2.00000 + 10 4.3127 2.00000 + 11 5.0699 2.00000 + 12 5.7376 2.00000 + 13 6.2494 2.00000 + 14 9.0950 0.00000 + 15 9.8623 0.00000 + 16 11.1873 0.00000 + 17 15.0131 0.00000 + 18 17.2295 0.00000 + + k-point 232 : 0.4667 0.2667 0.2000 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4247 2.00000 + 3 -91.2897 2.00000 + 4 -65.7431 2.00000 + 5 -30.0580 2.00000 + 6 -30.0139 2.00000 + 7 -29.8825 2.00000 + 8 1.3392 2.00000 + 9 1.9119 2.00000 + 10 4.4535 2.00000 + 11 4.9101 2.00000 + 12 5.9724 2.00000 + 13 6.1724 2.00000 + 14 8.8920 0.00000 + 15 9.7378 0.00000 + 16 11.2934 0.00000 + 17 14.5094 0.00000 + 18 14.9006 0.00000 + + k-point 233 : 0.0000 0.3333 0.2000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7438 2.00000 + 5 -30.0320 2.00000 + 6 -30.0077 2.00000 + 7 -29.8852 2.00000 + 8 -0.1990 2.00000 + 9 2.6933 2.00000 + 10 4.8622 2.00000 + 11 5.3088 2.00000 + 12 5.5698 2.00000 + 13 6.9576 2.00000 + 14 8.6840 0.00000 + 15 10.4231 0.00000 + 16 12.3103 0.00000 + 17 13.3388 0.00000 + 18 15.0063 0.00000 + + k-point 234 : 0.0667 0.3333 0.2000 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7438 2.00000 + 5 -30.0318 2.00000 + 6 -30.0099 2.00000 + 7 -29.8850 2.00000 + 8 -0.1505 2.00000 + 9 2.7229 2.00000 + 10 4.8168 2.00000 + 11 5.2487 2.00000 + 12 5.5888 2.00000 + 13 6.8570 2.00000 + 14 8.7830 0.00000 + 15 10.5162 0.00000 + 16 12.0017 0.00000 + 17 13.5605 0.00000 + 18 14.9311 0.00000 + + k-point 235 : 0.1333 0.3333 0.2000 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2902 2.00000 + 4 -65.7436 2.00000 + 5 -30.0312 2.00000 + 6 -30.0160 2.00000 + 7 -29.8846 2.00000 + 8 -0.0083 2.00000 + 9 2.8063 2.00000 + 10 4.6280 2.00000 + 11 5.1868 2.00000 + 12 5.6156 2.00000 + 13 6.6210 2.00000 + 14 9.0297 0.00000 + 15 10.6548 0.00000 + 16 11.4979 0.00000 + 17 13.6805 0.00000 + 18 16.1680 0.00000 + + k-point 236 : 0.2000 0.3333 0.2000 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7435 2.00000 + 5 -30.0305 2.00000 + 6 -30.0249 2.00000 + 7 -29.8838 2.00000 + 8 0.2176 2.00000 + 9 2.9196 2.00000 + 10 4.3150 2.00000 + 11 5.2001 2.00000 + 12 5.6107 2.00000 + 13 6.3844 2.00000 + 14 9.3223 0.00000 + 15 10.4868 0.00000 + 16 11.1488 0.00000 + 17 13.7394 0.00000 + 18 15.2525 0.00000 + + k-point 237 : 0.2667 0.3333 0.2000 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7433 2.00000 + 5 -30.0353 2.00000 + 6 -30.0296 2.00000 + 7 -29.8831 2.00000 + 8 0.5095 2.00000 + 9 2.9934 2.00000 + 10 4.0235 2.00000 + 11 5.2081 2.00000 + 12 5.5733 2.00000 + 13 6.2653 2.00000 + 14 9.5540 0.00000 + 15 10.0537 0.00000 + 16 10.8460 0.00000 + 17 14.0317 0.00000 + 18 16.9865 0.00000 + + k-point 238 : 0.3333 0.3333 0.2000 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7431 2.00000 + 5 -30.0450 2.00000 + 6 -30.0288 2.00000 + 7 -29.8823 2.00000 + 8 0.8493 2.00000 + 9 2.8878 2.00000 + 10 3.9281 2.00000 + 11 5.0740 2.00000 + 12 5.6506 2.00000 + 13 6.2584 2.00000 + 14 9.5863 0.00000 + 15 9.6119 0.00000 + 16 10.5896 0.00000 + 17 14.5477 0.00000 + 18 16.1231 0.00000 + + k-point 239 : 0.4000 0.3333 0.2000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7430 2.00000 + 5 -30.0527 2.00000 + 6 -30.0281 2.00000 + 7 -29.8818 2.00000 + 8 1.2065 2.00000 + 9 2.5979 2.00000 + 10 4.0342 2.00000 + 11 4.8601 2.00000 + 12 5.8427 2.00000 + 13 6.2709 2.00000 + 14 9.2185 0.00000 + 15 9.4083 0.00000 + 16 10.5443 0.00000 + 17 14.9799 0.00000 + 18 16.9946 0.00000 + + k-point 240 : 0.4667 0.3333 0.2000 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7429 2.00000 + 5 -30.0568 2.00000 + 6 -30.0277 2.00000 + 7 -29.8814 2.00000 + 8 1.5149 2.00000 + 9 2.3015 2.00000 + 10 4.1783 2.00000 + 11 4.6820 2.00000 + 12 6.0499 2.00000 + 13 6.2287 2.00000 + 14 8.9581 0.00000 + 15 9.2598 0.00000 + 16 10.5742 0.00000 + 17 14.8199 0.00000 + 18 15.4551 0.00000 + + k-point 241 : 0.0000 0.4000 0.2000 + band No. band energies occupation + 1 -91.8812 2.00000 + 2 -91.4262 2.00000 + 3 -91.2912 2.00000 + 4 -65.7436 2.00000 + 5 -30.0427 2.00000 + 6 -30.0068 2.00000 + 7 -29.8843 2.00000 + 8 0.2722 2.00000 + 9 2.0800 2.00000 + 10 4.8773 2.00000 + 11 5.1767 2.00000 + 12 5.6077 2.00000 + 13 6.9482 2.00000 + 14 8.9102 0.00000 + 15 10.8202 0.00000 + 16 12.5032 0.00000 + 17 12.8741 0.00000 + 18 14.6540 0.00000 + + k-point 242 : 0.0667 0.4000 0.2000 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7436 2.00000 + 5 -30.0425 2.00000 + 6 -30.0088 2.00000 + 7 -29.8842 2.00000 + 8 0.3219 2.00000 + 9 2.1086 2.00000 + 10 4.8435 2.00000 + 11 5.1373 2.00000 + 12 5.6282 2.00000 + 13 6.8548 2.00000 + 14 8.9591 0.00000 + 15 10.8385 0.00000 + 16 12.1616 0.00000 + 17 13.3887 0.00000 + 18 14.7173 0.00000 + + k-point 243 : 0.1333 0.4000 0.2000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7434 2.00000 + 5 -30.0420 2.00000 + 6 -30.0149 2.00000 + 7 -29.8837 2.00000 + 8 0.4637 2.00000 + 9 2.1902 2.00000 + 10 4.6998 2.00000 + 11 5.0929 2.00000 + 12 5.6713 2.00000 + 13 6.6315 2.00000 + 14 9.0845 0.00000 + 15 10.7099 0.00000 + 16 11.8347 0.00000 + 17 13.3260 0.00000 + 18 14.8037 0.00000 + + k-point 244 : 0.2000 0.4000 0.2000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2904 2.00000 + 4 -65.7433 2.00000 + 5 -30.0412 2.00000 + 6 -30.0239 2.00000 + 7 -29.8830 2.00000 + 8 0.6817 2.00000 + 9 2.3190 2.00000 + 10 4.4554 2.00000 + 11 5.0740 2.00000 + 12 5.7125 2.00000 + 13 6.4023 2.00000 + 14 9.2380 0.00000 + 15 10.3235 0.00000 + 16 11.4656 0.00000 + 17 13.6342 0.00000 + 18 15.3546 0.00000 + + k-point 245 : 0.2667 0.4000 0.2000 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7431 2.00000 + 5 -30.0404 2.00000 + 6 -30.0342 2.00000 + 7 -29.8822 2.00000 + 8 0.9487 2.00000 + 9 2.4808 2.00000 + 10 4.1899 2.00000 + 11 5.0008 2.00000 + 12 5.7567 2.00000 + 13 6.2838 2.00000 + 14 9.3589 0.00000 + 15 9.8771 0.00000 + 16 10.8863 0.00000 + 17 14.2986 0.00000 + 18 15.7162 0.00000 + + k-point 246 : 0.3333 0.4000 0.2000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2905 2.00000 + 4 -65.7429 2.00000 + 5 -30.0441 2.00000 + 6 -30.0396 2.00000 + 7 -29.8814 2.00000 + 8 1.2299 2.00000 + 9 2.6376 2.00000 + 10 3.9806 2.00000 + 11 4.8199 2.00000 + 12 5.8594 2.00000 + 13 6.2868 2.00000 + 14 9.3046 0.00000 + 15 9.5580 0.00000 + 16 10.2980 0.00000 + 17 14.7255 0.00000 + 18 15.1041 0.00000 + + k-point 247 : 0.4000 0.4000 0.2000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7427 2.00000 + 5 -30.0517 2.00000 + 6 -30.0390 2.00000 + 7 -29.8808 2.00000 + 8 1.4810 2.00000 + 9 2.7241 2.00000 + 10 3.9050 2.00000 + 11 4.5774 2.00000 + 12 6.0293 2.00000 + 13 6.3312 2.00000 + 14 9.0511 0.00000 + 15 9.2924 0.00000 + 16 9.9968 0.00000 + 17 14.8542 0.00000 + 18 17.0014 0.00000 + + k-point 248 : 0.4667 0.4000 0.2000 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7427 2.00000 + 5 -30.0559 2.00000 + 6 -30.0387 2.00000 + 7 -29.8806 2.00000 + 8 1.6404 2.00000 + 9 2.7265 2.00000 + 10 3.9706 2.00000 + 11 4.3593 2.00000 + 12 6.1919 2.00000 + 13 6.3459 2.00000 + 14 8.8868 0.00000 + 15 9.0124 0.00000 + 16 9.9580 0.00000 + 17 16.6992 0.00000 + 18 18.2794 0.00000 + + k-point 249 : 0.0000 0.4667 0.2000 + band No. band energies occupation + 1 -91.8816 2.00000 + 2 -91.4266 2.00000 + 3 -91.2915 2.00000 + 4 -65.7435 2.00000 + 5 -30.0485 2.00000 + 6 -30.0062 2.00000 + 7 -29.8839 2.00000 + 8 0.7508 2.00000 + 9 1.5290 2.00000 + 10 4.8872 2.00000 + 11 5.1019 2.00000 + 12 5.6111 2.00000 + 13 6.9563 2.00000 + 14 9.1684 0.00000 + 15 11.0963 0.00000 + 16 11.8845 0.00000 + 17 13.4542 0.00000 + 18 13.9816 0.00000 + + k-point 250 : 0.0667 0.4667 0.2000 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7434 2.00000 + 5 -30.0483 2.00000 + 6 -30.0082 2.00000 + 7 -29.8836 2.00000 + 8 0.8074 2.00000 + 9 1.5503 2.00000 + 10 4.8837 2.00000 + 11 5.0282 2.00000 + 12 5.6611 2.00000 + 13 6.8614 2.00000 + 14 9.1821 0.00000 + 15 10.9712 0.00000 + 16 11.9443 0.00000 + 17 13.3175 0.00000 + 18 14.0111 0.00000 + + k-point 251 : 0.1333 0.4667 0.2000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4260 2.00000 + 3 -91.2909 2.00000 + 4 -65.7433 2.00000 + 5 -30.0478 2.00000 + 6 -30.0143 2.00000 + 7 -29.8832 2.00000 + 8 0.9654 2.00000 + 9 1.6153 2.00000 + 10 4.7866 2.00000 + 11 4.9431 2.00000 + 12 5.7637 2.00000 + 13 6.6281 2.00000 + 14 9.2181 0.00000 + 15 10.6031 0.00000 + 16 12.0239 0.00000 + 17 13.2393 0.00000 + 18 14.3926 0.00000 + + k-point 252 : 0.2000 0.4667 0.2000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4260 2.00000 + 3 -91.2909 2.00000 + 4 -65.7432 2.00000 + 5 -30.0471 2.00000 + 6 -30.0234 2.00000 + 7 -29.8825 2.00000 + 8 1.1904 2.00000 + 9 1.7430 2.00000 + 10 4.5650 2.00000 + 11 4.9174 2.00000 + 12 5.8769 2.00000 + 13 6.3717 2.00000 + 14 9.2652 0.00000 + 15 10.1220 0.00000 + 16 11.6464 0.00000 + 17 13.6165 0.00000 + 18 14.7417 0.00000 + + k-point 253 : 0.2667 0.4667 0.2000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2905 2.00000 + 4 -65.7430 2.00000 + 5 -30.0463 2.00000 + 6 -30.0337 2.00000 + 7 -29.8817 2.00000 + 8 1.4108 2.00000 + 9 1.9753 2.00000 + 10 4.3324 2.00000 + 11 4.8220 2.00000 + 12 5.9828 2.00000 + 13 6.2221 2.00000 + 14 9.3061 0.00000 + 15 9.6403 0.00000 + 16 10.9581 0.00000 + 17 14.3215 0.00000 + 18 14.8365 0.00000 + + k-point 254 : 0.3333 0.4667 0.2000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7428 2.00000 + 5 -30.0455 2.00000 + 6 -30.0435 2.00000 + 7 -29.8809 2.00000 + 8 1.5658 2.00000 + 9 2.3279 2.00000 + 10 4.1275 2.00000 + 11 4.6077 2.00000 + 12 6.0847 2.00000 + 13 6.2409 2.00000 + 14 9.1753 0.00000 + 15 9.3638 0.00000 + 16 10.2421 0.00000 + 17 14.7264 0.00000 + 18 15.1864 0.00000 + + k-point 255 : 0.4000 0.4667 0.2000 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7426 2.00000 + 5 -30.0512 2.00000 + 6 -30.0449 2.00000 + 7 -29.8803 2.00000 + 8 1.6627 2.00000 + 9 2.7320 2.00000 + 10 3.9747 2.00000 + 11 4.3124 2.00000 + 12 6.2217 2.00000 + 13 6.3335 2.00000 + 14 8.8577 0.00000 + 15 9.2736 0.00000 + 16 9.7144 0.00000 + 17 14.6891 0.00000 + 18 16.0466 0.00000 + + k-point 256 : 0.4667 0.4667 0.2000 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7426 2.00000 + 5 -30.0554 2.00000 + 6 -30.0446 2.00000 + 7 -29.8800 2.00000 + 8 1.7108 2.00000 + 9 3.0627 2.00000 + 10 3.8918 2.00000 + 11 4.0425 2.00000 + 12 6.3299 2.00000 + 13 6.4187 2.00000 + 14 8.6764 0.00000 + 15 9.0361 0.00000 + 16 9.5744 0.00000 + 17 15.1073 0.00000 + 18 16.7779 0.00000 + + k-point 257 : 0.0000 0.0000 0.2667 + band No. band energies occupation + 1 -91.8791 2.00000 + 2 -91.4239 2.00000 + 3 -91.2890 2.00000 + 4 -65.7431 2.00000 + 5 -30.0077 2.00000 + 6 -29.9745 2.00000 + 7 -29.9360 2.00000 + 8 -0.9922 2.00000 + 9 4.1697 2.00000 + 10 4.4791 2.00000 + 11 5.2762 2.00000 + 12 5.5520 2.00000 + 13 8.4050 0.00000 + 14 8.4412 0.00000 + 15 9.7376 0.00000 + 16 9.9653 0.00000 + 17 14.6114 0.00000 + 18 15.5437 0.00000 + + k-point 258 : 0.0667 0.0000 0.2667 + band No. band energies occupation + 1 -91.8795 2.00000 + 2 -91.4244 2.00000 + 3 -91.2894 2.00000 + 4 -65.7431 2.00000 + 5 -30.0099 2.00000 + 6 -29.9743 2.00000 + 7 -29.9359 2.00000 + 8 -0.9433 2.00000 + 9 4.1493 2.00000 + 10 4.4316 2.00000 + 11 5.2543 2.00000 + 12 5.5665 2.00000 + 13 8.1472 0.00018 + 14 8.5627 0.00000 + 15 9.6381 0.00000 + 16 10.2814 0.00000 + 17 14.5670 0.00000 + 18 16.3874 0.00000 + + k-point 259 : 0.1333 0.0000 0.2667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7431 2.00000 + 5 -30.0160 2.00000 + 6 -29.9738 2.00000 + 7 -29.9355 2.00000 + 8 -0.7997 2.00000 + 9 3.9591 2.00000 + 10 4.4276 2.00000 + 11 5.2220 2.00000 + 12 5.6067 2.00000 + 13 7.6690 1.99751 + 14 8.8770 0.00000 + 15 9.3920 0.00000 + 16 10.9261 0.00000 + 17 14.5052 0.00000 + 18 15.8789 0.00000 + + k-point 260 : 0.2000 0.0000 0.2667 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7429 2.00000 + 5 -30.0250 2.00000 + 6 -29.9729 2.00000 + 7 -29.9348 2.00000 + 8 -0.5652 2.00000 + 9 3.5680 2.00000 + 10 4.5355 2.00000 + 11 5.2114 2.00000 + 12 5.6623 2.00000 + 13 7.2067 2.00000 + 14 9.1059 0.00000 + 15 9.2908 0.00000 + 16 11.6363 0.00000 + 17 14.1697 0.00000 + 18 15.7589 0.00000 + + k-point 261 : 0.2667 0.0000 0.2667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7427 2.00000 + 5 -30.0353 2.00000 + 6 -29.9719 2.00000 + 7 -29.9341 2.00000 + 8 -0.2521 2.00000 + 9 3.0868 2.00000 + 10 4.6814 2.00000 + 11 5.2185 2.00000 + 12 5.7142 2.00000 + 13 6.8332 2.00000 + 14 8.8793 0.00000 + 15 9.7265 0.00000 + 16 12.2929 0.00000 + 17 13.5685 0.00000 + 18 16.1058 0.00000 + + k-point 262 : 0.3333 0.0000 0.2667 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7425 2.00000 + 5 -30.0450 2.00000 + 6 -29.9710 2.00000 + 7 -29.9334 2.00000 + 8 0.1257 2.00000 + 9 2.5716 2.00000 + 10 4.8261 2.00000 + 11 5.2273 2.00000 + 12 5.7364 2.00000 + 13 6.5820 2.00000 + 14 8.7708 0.00000 + 15 10.1434 0.00000 + 16 12.7927 0.00000 + 17 12.8308 0.00000 + 18 15.4481 0.00000 + + k-point 263 : 0.4000 0.0000 0.2667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7424 2.00000 + 5 -30.0526 2.00000 + 6 -29.9703 2.00000 + 7 -29.9329 2.00000 + 8 0.5574 2.00000 + 9 2.0489 2.00000 + 10 4.9438 2.00000 + 11 5.2220 2.00000 + 12 5.7179 2.00000 + 13 6.4574 2.00000 + 14 8.7837 0.00000 + 15 10.5245 0.00000 + 16 12.1279 0.00000 + 17 13.0743 0.00000 + 18 15.2254 0.00000 + + k-point 264 : 0.4667 0.0000 0.2667 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7423 2.00000 + 5 -30.0568 2.00000 + 6 -29.9699 2.00000 + 7 -29.9325 2.00000 + 8 1.0239 2.00000 + 9 1.5364 2.00000 + 10 5.0194 2.00000 + 11 5.2031 2.00000 + 12 5.6900 2.00000 + 13 6.4177 2.00000 + 14 8.8427 0.00000 + 15 10.8611 0.00000 + 16 11.5754 0.00000 + 17 13.1725 0.00000 + 18 14.7884 0.00000 + + k-point 265 : 0.0000 0.0667 0.2667 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4246 2.00000 + 3 -91.2897 2.00000 + 4 -65.7431 2.00000 + 5 -30.0075 2.00000 + 6 -29.9776 2.00000 + 7 -29.9357 2.00000 + 8 -0.9418 2.00000 + 9 4.1601 2.00000 + 10 4.4633 2.00000 + 11 5.2925 2.00000 + 12 5.4803 2.00000 + 13 8.1369 0.00033 + 14 8.5843 0.00000 + 15 9.8748 0.00000 + 16 14.2706 0.00000 + 17 16.6056 0.00000 + 18 16.6825 0.00000 + + k-point 266 : 0.0667 0.0667 0.2667 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4246 2.00000 + 3 -91.2896 2.00000 + 4 -65.7431 2.00000 + 5 -30.0097 2.00000 + 6 -29.9774 2.00000 + 7 -29.9356 2.00000 + 8 -0.8921 2.00000 + 9 4.1617 2.00000 + 10 4.4064 2.00000 + 11 5.2343 2.00000 + 12 5.5218 2.00000 + 13 7.8744 1.09434 + 14 8.6852 0.00000 + 15 9.8973 0.00000 + 16 10.2230 0.00000 + 17 14.6840 0.00000 + 18 15.1549 0.00000 + + k-point 267 : 0.1333 0.0667 0.2667 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4246 2.00000 + 3 -91.2897 2.00000 + 4 -65.7430 2.00000 + 5 -30.0157 2.00000 + 6 -29.9768 2.00000 + 7 -29.9352 2.00000 + 8 -0.7465 2.00000 + 9 4.0060 2.00000 + 10 4.3910 2.00000 + 11 5.1646 2.00000 + 12 5.5823 2.00000 + 13 7.4453 2.00000 + 14 8.9926 0.00000 + 15 9.6515 0.00000 + 16 10.7842 0.00000 + 17 14.7401 0.00000 + 18 15.9068 0.00000 + + k-point 268 : 0.2000 0.0667 0.2667 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7428 2.00000 + 5 -30.0247 2.00000 + 6 -29.9759 2.00000 + 7 -29.9346 2.00000 + 8 -0.5124 2.00000 + 9 3.6173 2.00000 + 10 4.5175 2.00000 + 11 5.1467 2.00000 + 12 5.6283 2.00000 + 13 7.0241 2.00000 + 14 9.3214 0.00000 + 15 9.4009 0.00000 + 16 11.4365 0.00000 + 17 14.2651 0.00000 + 18 15.7142 0.00000 + + k-point 269 : 0.2667 0.0667 0.2667 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7426 2.00000 + 5 -30.0350 2.00000 + 6 -29.9750 2.00000 + 7 -29.9339 2.00000 + 8 -0.2008 2.00000 + 9 3.1352 2.00000 + 10 4.6826 2.00000 + 11 5.1753 2.00000 + 12 5.6422 2.00000 + 13 6.6940 2.00000 + 14 9.0514 0.00000 + 15 9.8080 0.00000 + 16 13.0238 0.00000 + 17 15.4136 0.00000 + 18 16.0797 0.00000 + + k-point 270 : 0.3333 0.0667 0.2667 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7424 2.00000 + 5 -30.0447 2.00000 + 6 -29.9741 2.00000 + 7 -29.9332 2.00000 + 8 0.1782 2.00000 + 9 2.6185 2.00000 + 10 4.8334 2.00000 + 11 5.2268 2.00000 + 12 5.6216 2.00000 + 13 6.4836 2.00000 + 14 8.8850 0.00000 + 15 10.1806 0.00000 + 16 12.1773 0.00000 + 17 13.4647 0.00000 + 18 15.3704 0.00000 + + k-point 271 : 0.4000 0.0667 0.2667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7423 2.00000 + 5 -30.0524 2.00000 + 6 -29.9734 2.00000 + 7 -29.9327 2.00000 + 8 0.6080 2.00000 + 9 2.0944 2.00000 + 10 4.9487 2.00000 + 11 5.2360 2.00000 + 12 5.6214 2.00000 + 13 6.3720 2.00000 + 14 8.8398 0.00000 + 15 10.4741 0.00000 + 16 11.9232 0.00000 + 17 13.5675 0.00000 + 18 15.0575 0.00000 + + k-point 272 : 0.4667 0.0667 0.2667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7422 2.00000 + 5 -30.0566 2.00000 + 6 -29.9730 2.00000 + 7 -29.9323 2.00000 + 8 1.0767 2.00000 + 9 1.5797 2.00000 + 10 5.0331 2.00000 + 11 5.1824 2.00000 + 12 5.6559 2.00000 + 13 6.3220 2.00000 + 14 8.8601 0.00000 + 15 10.6497 0.00000 + 16 11.6448 0.00000 + 17 13.4921 0.00000 + 18 14.9068 0.00000 + + k-point 273 : 0.0000 0.1333 0.2667 + band No. band energies occupation + 1 -91.8794 2.00000 + 2 -91.4243 2.00000 + 3 -91.2893 2.00000 + 4 -65.7429 2.00000 + 5 -30.0066 2.00000 + 6 -29.9862 2.00000 + 7 -29.9351 2.00000 + 8 -0.7866 2.00000 + 9 4.0335 2.00000 + 10 4.4889 2.00000 + 11 5.3371 2.00000 + 12 5.3463 2.00000 + 13 7.5604 1.99999 + 14 8.8667 0.00000 + 15 9.5757 0.00000 + 16 10.8119 0.00000 + 17 15.0193 0.00000 + 18 16.5679 0.00000 + + k-point 274 : 0.0667 0.1333 0.2667 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4246 2.00000 + 3 -91.2896 2.00000 + 4 -65.7429 2.00000 + 5 -30.0088 2.00000 + 6 -29.9860 2.00000 + 7 -29.9350 2.00000 + 8 -0.7381 2.00000 + 9 4.0728 2.00000 + 10 4.4246 2.00000 + 11 5.1607 2.00000 + 12 5.4807 2.00000 + 13 7.3825 2.00000 + 14 8.9797 0.00000 + 15 9.7876 0.00000 + 16 10.6899 0.00000 + 17 14.8927 0.00000 + 18 16.0636 0.00000 + + k-point 275 : 0.1333 0.1333 0.2667 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7428 2.00000 + 5 -30.0149 2.00000 + 6 -29.9854 2.00000 + 7 -29.9346 2.00000 + 8 -0.5926 2.00000 + 9 4.1214 2.00000 + 10 4.2640 2.00000 + 11 5.0156 2.00000 + 12 5.5704 2.00000 + 13 7.0120 2.00000 + 14 9.2675 0.00000 + 15 10.0834 0.00000 + 16 10.5691 0.00000 + 17 14.8072 0.00000 + 18 15.6699 0.00000 + + k-point 276 : 0.2000 0.1333 0.2667 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4248 2.00000 + 3 -91.2899 2.00000 + 4 -65.7426 2.00000 + 5 -30.0239 2.00000 + 6 -29.9846 2.00000 + 7 -29.9340 2.00000 + 8 -0.3590 2.00000 + 9 3.7621 2.00000 + 10 4.4212 2.00000 + 11 4.9587 2.00000 + 12 5.6136 2.00000 + 13 6.6438 2.00000 + 14 9.6171 0.00000 + 15 9.8168 0.00000 + 16 11.0150 0.00000 + 17 14.3910 0.00000 + 18 16.1444 0.00000 + + k-point 277 : 0.2667 0.1333 0.2667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7424 2.00000 + 5 -30.0342 2.00000 + 6 -29.9837 2.00000 + 7 -29.9333 2.00000 + 8 -0.0480 2.00000 + 9 3.2758 2.00000 + 10 4.6646 2.00000 + 11 4.9722 2.00000 + 12 5.5802 2.00000 + 13 6.3794 2.00000 + 14 9.4388 0.00000 + 15 9.9520 0.00000 + 16 11.4875 0.00000 + 17 13.9130 0.00000 + 18 15.6021 0.00000 + + k-point 278 : 0.3333 0.1333 0.2667 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7422 2.00000 + 5 -30.0440 2.00000 + 6 -29.9828 2.00000 + 7 -29.9326 2.00000 + 8 0.3278 2.00000 + 9 2.7560 2.00000 + 10 4.8584 2.00000 + 11 5.1054 2.00000 + 12 5.4544 2.00000 + 13 6.2435 2.00000 + 14 9.1535 0.00000 + 15 10.1417 0.00000 + 16 11.7635 0.00000 + 17 13.9583 0.00000 + 18 15.3074 0.00000 + + k-point 279 : 0.4000 0.1333 0.2667 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7421 2.00000 + 5 -30.0516 2.00000 + 6 -29.9821 2.00000 + 7 -29.9320 2.00000 + 8 0.7545 2.00000 + 9 2.2317 2.00000 + 10 4.9434 2.00000 + 11 5.2715 2.00000 + 12 5.3901 2.00000 + 13 6.1613 2.00000 + 14 8.9788 0.00000 + 15 10.1660 0.00000 + 16 11.8759 0.00000 + 17 14.0401 0.00000 + 18 14.7589 0.00000 + + k-point 280 : 0.4667 0.1333 0.2667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7421 2.00000 + 5 -30.0559 2.00000 + 6 -29.9817 2.00000 + 7 -29.9317 2.00000 + 8 1.2187 2.00000 + 9 1.7187 2.00000 + 10 5.0186 2.00000 + 11 5.1440 2.00000 + 12 5.6004 2.00000 + 13 6.0785 2.00000 + 14 8.9071 0.00000 + 15 10.1124 0.00000 + 16 11.9295 0.00000 + 17 14.1658 0.00000 + 18 14.5853 0.00000 + + k-point 281 : 0.0000 0.2000 0.2667 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7427 2.00000 + 5 -30.0054 2.00000 + 6 -29.9989 2.00000 + 7 -29.9343 2.00000 + 8 -0.5379 2.00000 + 9 3.7030 2.00000 + 10 4.6090 2.00000 + 11 5.2630 2.00000 + 12 5.3959 2.00000 + 13 7.0695 2.00000 + 14 9.0908 0.00000 + 15 9.4357 0.00000 + 16 11.5575 0.00000 + 17 14.3516 0.00000 + 18 16.3601 0.00000 + + k-point 282 : 0.0667 0.2000 0.2667 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7426 2.00000 + 5 -30.0076 2.00000 + 6 -29.9987 2.00000 + 7 -29.9341 2.00000 + 8 -0.4887 2.00000 + 9 3.7492 2.00000 + 10 4.5743 2.00000 + 11 5.0985 2.00000 + 12 5.4857 2.00000 + 13 6.9239 2.00000 + 14 9.2263 0.00000 + 15 9.5939 0.00000 + 16 11.3727 0.00000 + 17 14.7170 0.00000 + 18 16.1538 0.00000 + + k-point 283 : 0.1333 0.2000 0.2667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7426 2.00000 + 5 -30.0138 2.00000 + 6 -29.9982 2.00000 + 7 -29.9337 2.00000 + 8 -0.3455 2.00000 + 9 3.8851 2.00000 + 10 4.3963 2.00000 + 11 4.8981 2.00000 + 12 5.5780 2.00000 + 13 6.6012 2.00000 + 14 9.5131 0.00000 + 15 9.9903 0.00000 + 16 10.9583 0.00000 + 17 15.0569 0.00000 + 18 16.3985 0.00000 + + k-point 284 : 0.2000 0.2000 0.2667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7424 2.00000 + 5 -30.0228 2.00000 + 6 -29.9974 2.00000 + 7 -29.9331 2.00000 + 8 -0.1133 2.00000 + 9 3.9680 2.00000 + 10 4.1423 2.00000 + 11 4.8263 2.00000 + 12 5.6458 2.00000 + 13 6.2595 2.00000 + 14 9.7738 0.00000 + 15 10.2498 0.00000 + 16 10.7319 0.00000 + 17 13.9527 0.00000 + 18 15.3880 0.00000 + + k-point 285 : 0.2667 0.2000 0.2667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7422 2.00000 + 5 -30.0330 2.00000 + 6 -29.9965 2.00000 + 7 -29.9323 2.00000 + 8 0.1946 2.00000 + 9 3.4921 2.00000 + 10 4.4185 2.00000 + 11 4.8251 2.00000 + 12 5.6324 2.00000 + 13 6.0245 2.00000 + 14 9.7715 0.00000 + 15 9.9943 0.00000 + 16 11.1510 0.00000 + 17 13.7014 0.00000 + 18 16.5495 0.00000 + + k-point 286 : 0.3333 0.2000 0.2667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7420 2.00000 + 5 -30.0429 2.00000 + 6 -29.9956 2.00000 + 7 -29.9316 2.00000 + 8 0.5628 2.00000 + 9 2.9731 2.00000 + 10 4.7045 2.00000 + 11 4.9098 2.00000 + 12 5.4759 2.00000 + 13 5.9673 2.00000 + 14 9.4317 0.00000 + 15 9.8472 0.00000 + 16 11.5921 0.00000 + 17 13.6688 0.00000 + 18 15.3116 0.00000 + + k-point 287 : 0.4000 0.2000 0.2667 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7418 2.00000 + 5 -30.0505 2.00000 + 6 -29.9949 2.00000 + 7 -29.9311 2.00000 + 8 0.9775 2.00000 + 9 2.4579 2.00000 + 10 4.7922 2.00000 + 11 5.2187 2.00000 + 12 5.3117 2.00000 + 13 5.9343 2.00000 + 14 9.1395 0.00000 + 15 9.6338 0.00000 + 16 11.9354 0.00000 + 17 13.8117 0.00000 + 18 15.0790 0.00000 + + k-point 288 : 0.4667 0.2000 0.2667 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7418 2.00000 + 5 -30.0548 2.00000 + 6 -29.9946 2.00000 + 7 -29.9308 2.00000 + 8 1.4086 2.00000 + 9 1.9761 2.00000 + 10 4.8168 2.00000 + 11 5.2061 2.00000 + 12 5.5597 2.00000 + 13 5.8151 2.00000 + 14 8.9724 0.00000 + 15 9.4790 0.00000 + 16 12.1291 0.00000 + 17 14.1071 0.00000 + 18 15.6601 0.00000 + + k-point 289 : 0.0000 0.2667 0.2667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2903 2.00000 + 4 -65.7424 2.00000 + 5 -30.0135 2.00000 + 6 -30.0040 2.00000 + 7 -29.9332 2.00000 + 8 -0.2065 2.00000 + 9 3.2450 2.00000 + 10 4.7589 2.00000 + 11 5.2488 2.00000 + 12 5.4433 2.00000 + 13 6.6906 2.00000 + 14 8.9578 0.00000 + 15 9.7562 0.00000 + 16 12.2284 0.00000 + 17 13.6467 0.00000 + 18 15.6738 0.00000 + + k-point 290 : 0.0667 0.2667 0.2667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2906 2.00000 + 4 -65.7424 2.00000 + 5 -30.0133 2.00000 + 6 -30.0062 2.00000 + 7 -29.9330 2.00000 + 8 -0.1582 2.00000 + 9 3.2898 2.00000 + 10 4.7575 2.00000 + 11 5.1144 2.00000 + 12 5.4721 2.00000 + 13 6.5804 2.00000 + 14 9.0982 0.00000 + 15 9.8501 0.00000 + 16 11.9458 0.00000 + 17 13.9323 0.00000 + 18 15.6257 0.00000 + + k-point 291 : 0.1333 0.2667 0.2667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7422 2.00000 + 5 -30.0128 2.00000 + 6 -30.0124 2.00000 + 7 -29.9326 2.00000 + 8 -0.0156 2.00000 + 9 3.4223 2.00000 + 10 4.6865 2.00000 + 11 4.8536 2.00000 + 12 5.5334 2.00000 + 13 6.3183 2.00000 + 14 9.4083 0.00000 + 15 10.0693 0.00000 + 16 11.4327 0.00000 + 17 13.8385 0.00000 + 18 15.3753 0.00000 + + k-point 292 : 0.2000 0.2667 0.2667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7421 2.00000 + 5 -30.0214 2.00000 + 6 -30.0120 2.00000 + 7 -29.9320 2.00000 + 8 0.2115 2.00000 + 9 3.6251 2.00000 + 10 4.2944 2.00000 + 11 4.8274 2.00000 + 12 5.6180 2.00000 + 13 6.0093 2.00000 + 14 9.6312 0.00000 + 15 10.2757 0.00000 + 16 11.0215 0.00000 + 17 13.6105 0.00000 + 18 15.5689 0.00000 + + k-point 293 : 0.2667 0.2667 0.2667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7418 2.00000 + 5 -30.0317 2.00000 + 6 -30.0111 2.00000 + 7 -29.9313 2.00000 + 8 0.5117 2.00000 + 9 3.6756 2.00000 + 10 4.0282 2.00000 + 11 4.8696 2.00000 + 12 5.6990 2.00000 + 13 5.7349 2.00000 + 14 9.5362 0.00000 + 15 10.2061 0.00000 + 16 11.0080 0.00000 + 17 13.5324 0.00000 + 18 15.5343 0.00000 + + k-point 294 : 0.3333 0.2667 0.2667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7417 2.00000 + 5 -30.0416 2.00000 + 6 -30.0103 2.00000 + 7 -29.9306 2.00000 + 8 0.8642 2.00000 + 9 3.2318 2.00000 + 10 4.2558 2.00000 + 11 4.9684 2.00000 + 12 5.4836 2.00000 + 13 5.8019 2.00000 + 14 9.2565 0.00000 + 15 9.8056 0.00000 + 16 11.2920 0.00000 + 17 13.6768 0.00000 + 18 15.4872 0.00000 + + k-point 295 : 0.4000 0.2667 0.2667 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7415 2.00000 + 5 -30.0493 2.00000 + 6 -30.0096 2.00000 + 7 -29.9300 2.00000 + 8 1.2490 2.00000 + 9 2.7560 2.00000 + 10 4.4489 2.00000 + 11 5.1394 2.00000 + 12 5.3565 2.00000 + 13 5.8359 2.00000 + 14 8.9975 0.00000 + 15 9.3530 0.00000 + 16 11.5665 0.00000 + 17 14.0109 0.00000 + 18 15.4805 0.00000 + + k-point 296 : 0.4667 0.2667 0.2667 + band No. band energies occupation + 1 -91.8796 2.00000 + 2 -91.4245 2.00000 + 3 -91.2895 2.00000 + 4 -65.7414 2.00000 + 5 -30.0535 2.00000 + 6 -30.0091 2.00000 + 7 -29.9298 2.00000 + 8 1.6087 2.00000 + 9 2.3515 2.00000 + 10 4.5288 2.00000 + 11 5.1724 2.00000 + 12 5.4938 2.00000 + 13 5.7819 2.00000 + 14 8.8529 0.00000 + 15 9.0524 0.00000 + 16 11.7104 0.00000 + 17 14.0573 0.00000 + 18 15.0900 0.00000 + + k-point 297 : 0.0000 0.3333 0.2667 + band No. band energies occupation + 1 -91.8814 2.00000 + 2 -91.4264 2.00000 + 3 -91.2914 2.00000 + 4 -65.7422 2.00000 + 5 -30.0274 2.00000 + 6 -30.0027 2.00000 + 7 -29.9322 2.00000 + 8 0.1919 2.00000 + 9 2.7296 2.00000 + 10 4.8887 2.00000 + 11 5.2689 2.00000 + 12 5.4479 2.00000 + 13 6.4571 2.00000 + 14 8.9309 0.00000 + 15 10.1141 0.00000 + 16 12.7287 0.00000 + 17 12.8456 0.00000 + 18 15.3170 0.00000 + + k-point 298 : 0.0667 0.3333 0.2667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2906 2.00000 + 4 -65.7421 2.00000 + 5 -30.0272 2.00000 + 6 -30.0048 2.00000 + 7 -29.9320 2.00000 + 8 0.2409 2.00000 + 9 2.7729 2.00000 + 10 4.8898 2.00000 + 11 5.2223 2.00000 + 12 5.3965 2.00000 + 13 6.3796 2.00000 + 14 9.0274 0.00000 + 15 10.1593 0.00000 + 16 12.1501 0.00000 + 17 13.4325 0.00000 + 18 15.0368 0.00000 + + k-point 299 : 0.1333 0.3333 0.2667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7419 2.00000 + 5 -30.0267 2.00000 + 6 -30.0110 2.00000 + 7 -29.9316 2.00000 + 8 0.3806 2.00000 + 9 2.8996 2.00000 + 10 4.8497 2.00000 + 11 5.0127 2.00000 + 12 5.3985 2.00000 + 13 6.1868 2.00000 + 14 9.2455 0.00000 + 15 10.1860 0.00000 + 16 11.6938 0.00000 + 17 13.6620 0.00000 + 18 14.8455 0.00000 + + k-point 300 : 0.2000 0.3333 0.2667 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7418 2.00000 + 5 -30.0259 2.00000 + 6 -30.0201 2.00000 + 7 -29.9310 2.00000 + 8 0.6011 2.00000 + 9 3.0992 2.00000 + 10 4.5252 2.00000 + 11 4.9705 2.00000 + 12 5.4410 2.00000 + 13 5.9674 2.00000 + 14 9.3795 0.00000 + 15 10.0938 0.00000 + 16 11.4215 0.00000 + 17 13.4946 0.00000 + 18 15.3249 0.00000 + + k-point 301 : 0.2667 0.3333 0.2667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7416 2.00000 + 5 -30.0305 2.00000 + 6 -30.0251 2.00000 + 7 -29.9303 2.00000 + 8 0.8844 2.00000 + 9 3.3282 2.00000 + 10 4.1307 2.00000 + 11 4.9976 2.00000 + 12 5.4432 2.00000 + 13 5.8368 2.00000 + 14 9.1709 0.00000 + 15 10.0960 0.00000 + 16 11.0760 0.00000 + 17 13.6019 0.00000 + 18 15.5760 0.00000 + + k-point 302 : 0.3333 0.3333 0.2667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7414 2.00000 + 5 -30.0404 2.00000 + 6 -30.0242 2.00000 + 7 -29.9296 2.00000 + 8 1.2071 2.00000 + 9 3.3733 2.00000 + 10 3.9450 2.00000 + 11 5.0033 2.00000 + 12 5.4115 2.00000 + 13 5.8500 2.00000 + 14 8.8027 0.00000 + 15 9.9189 0.00000 + 16 10.8392 0.00000 + 17 13.9632 0.00000 + 18 15.2363 0.00000 + + k-point 303 : 0.4000 0.3333 0.2667 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7413 2.00000 + 5 -30.0482 2.00000 + 6 -30.0236 2.00000 + 7 -29.9291 2.00000 + 8 1.5374 2.00000 + 9 3.0788 2.00000 + 10 4.0952 2.00000 + 11 4.9405 2.00000 + 12 5.4963 2.00000 + 13 5.8970 2.00000 + 14 8.4845 0.00000 + 15 9.4593 0.00000 + 16 10.8758 0.00000 + 17 14.4053 0.00000 + 18 17.6986 0.00000 + + k-point 304 : 0.4667 0.3333 0.2667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7411 2.00000 + 5 -30.0524 2.00000 + 6 -30.0233 2.00000 + 7 -29.9289 2.00000 + 8 1.8017 2.00000 + 9 2.7984 2.00000 + 10 4.2319 2.00000 + 11 4.8727 2.00000 + 12 5.6545 2.00000 + 13 5.8902 2.00000 + 14 8.3046 0.00000 + 15 9.1174 0.00000 + 16 10.9361 0.00000 + 17 14.6714 0.00000 + 18 15.1061 0.00000 + + k-point 305 : 0.0000 0.4000 0.2667 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2910 2.00000 + 4 -65.7419 2.00000 + 5 -30.0381 2.00000 + 6 -30.0016 2.00000 + 7 -29.9314 2.00000 + 8 0.6438 2.00000 + 9 2.1972 2.00000 + 10 4.9816 2.00000 + 11 5.2821 2.00000 + 12 5.4079 2.00000 + 13 6.3587 2.00000 + 14 9.0891 0.00000 + 15 10.4109 0.00000 + 16 12.0762 0.00000 + 17 12.9720 0.00000 + 18 14.7931 0.00000 + + k-point 306 : 0.0667 0.4000 0.2667 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7418 2.00000 + 5 -30.0379 2.00000 + 6 -30.0038 2.00000 + 7 -29.9312 2.00000 + 8 0.6917 2.00000 + 9 2.2385 2.00000 + 10 4.9684 2.00000 + 11 5.2605 2.00000 + 12 5.3795 2.00000 + 13 6.2871 2.00000 + 14 9.1342 0.00000 + 15 10.3626 0.00000 + 16 11.8755 0.00000 + 17 13.5638 0.00000 + 18 14.7415 0.00000 + + k-point 307 : 0.1333 0.4000 0.2667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7417 2.00000 + 5 -30.0374 2.00000 + 6 -30.0100 2.00000 + 7 -29.9308 2.00000 + 8 0.8289 2.00000 + 9 2.3628 2.00000 + 10 4.8680 2.00000 + 11 5.2167 2.00000 + 12 5.3487 2.00000 + 13 6.1151 2.00000 + 14 9.2333 0.00000 + 15 10.1098 0.00000 + 16 11.7864 0.00000 + 17 13.8645 0.00000 + 18 14.5821 0.00000 + + k-point 308 : 0.2000 0.4000 0.2667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7415 2.00000 + 5 -30.0368 2.00000 + 6 -30.0191 2.00000 + 7 -29.9302 2.00000 + 8 1.0385 2.00000 + 9 2.5659 2.00000 + 10 4.6184 2.00000 + 11 5.2494 2.00000 + 12 5.2935 2.00000 + 13 5.9474 2.00000 + 14 9.2299 0.00000 + 15 9.7805 0.00000 + 16 11.7623 0.00000 + 17 14.6669 0.00000 + 18 33.9627 0.00000 + + k-point 309 : 0.2667 0.4000 0.2667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7413 2.00000 + 5 -30.0360 2.00000 + 6 -30.0295 2.00000 + 7 -29.9295 2.00000 + 8 1.2933 2.00000 + 9 2.8351 2.00000 + 10 4.3053 2.00000 + 11 5.1462 2.00000 + 12 5.3500 2.00000 + 13 5.8888 2.00000 + 14 8.8751 0.00000 + 15 9.7440 0.00000 + 16 11.2586 0.00000 + 17 13.7436 0.00000 + 18 15.3267 0.00000 + + k-point 310 : 0.3333 0.4000 0.2667 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2908 2.00000 + 4 -65.7412 2.00000 + 5 -30.0394 2.00000 + 6 -30.0352 2.00000 + 7 -29.9289 2.00000 + 8 1.5626 2.00000 + 9 3.1227 2.00000 + 10 4.0176 2.00000 + 11 4.9307 2.00000 + 12 5.5039 2.00000 + 13 5.9329 2.00000 + 14 8.4289 0.00000 + 15 9.7601 0.00000 + 16 10.6018 0.00000 + 17 14.2919 0.00000 + 18 15.0899 0.00000 + + k-point 311 : 0.4000 0.4000 0.2667 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2911 2.00000 + 4 -65.7410 2.00000 + 5 -30.0472 2.00000 + 6 -30.0346 2.00000 + 7 -29.9284 2.00000 + 8 1.8088 2.00000 + 9 3.2901 2.00000 + 10 3.8891 2.00000 + 11 4.7082 2.00000 + 12 5.7010 2.00000 + 13 6.0056 2.00000 + 14 8.0678 0.00887 + 15 9.5108 0.00000 + 16 10.2464 0.00000 + 17 14.9130 0.00000 + 18 15.6767 0.00000 + + k-point 312 : 0.4667 0.4000 0.2667 + band No. band energies occupation + 1 -91.8813 2.00000 + 2 -91.4263 2.00000 + 3 -91.2912 2.00000 + 4 -65.7409 2.00000 + 5 -30.0515 2.00000 + 6 -30.0343 2.00000 + 7 -29.9281 2.00000 + 8 1.9715 2.00000 + 9 3.2549 2.00000 + 10 3.9834 2.00000 + 11 4.5315 2.00000 + 12 5.8883 2.00000 + 13 6.0297 2.00000 + 14 7.8661 1.18669 + 15 9.1689 0.00000 + 16 10.2004 0.00000 + 17 15.0616 0.00000 + 18 32.0644 0.00000 + + k-point 313 : 0.0000 0.4667 0.2667 + band No. band energies occupation + 1 -91.8815 2.00000 + 2 -91.4266 2.00000 + 3 -91.2915 2.00000 + 4 -65.7418 2.00000 + 5 -30.0440 2.00000 + 6 -30.0011 2.00000 + 7 -29.9310 2.00000 + 8 1.1269 2.00000 + 9 1.6721 2.00000 + 10 5.0342 2.00000 + 11 5.2771 2.00000 + 12 5.3683 2.00000 + 13 6.3348 2.00000 + 14 9.3061 0.00000 + 15 10.6059 0.00000 + 16 11.5175 0.00000 + 17 13.0325 0.00000 + 18 14.6615 0.00000 + + k-point 314 : 0.0667 0.4667 0.2667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2907 2.00000 + 4 -65.7417 2.00000 + 5 -30.0438 2.00000 + 6 -30.0032 2.00000 + 7 -29.9308 2.00000 + 8 1.1784 2.00000 + 9 1.7101 2.00000 + 10 5.0365 2.00000 + 11 5.1518 2.00000 + 12 5.4647 2.00000 + 13 6.2520 2.00000 + 14 9.3181 0.00000 + 15 10.4031 0.00000 + 16 11.5903 0.00000 + 17 13.3633 0.00000 + 18 14.5583 0.00000 + + k-point 315 : 0.1333 0.4667 0.2667 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4252 2.00000 + 3 -91.2901 2.00000 + 4 -65.7415 2.00000 + 5 -30.0433 2.00000 + 6 -30.0093 2.00000 + 7 -29.9303 2.00000 + 8 1.3163 2.00000 + 9 1.8312 2.00000 + 10 4.8941 2.00000 + 11 5.1190 2.00000 + 12 5.5631 2.00000 + 13 6.0425 2.00000 + 14 9.3454 0.00000 + 15 9.9129 0.00000 + 16 12.0493 0.00000 + 17 13.9108 0.00000 + 18 14.3729 0.00000 + + k-point 316 : 0.2000 0.4667 0.2667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7414 2.00000 + 5 -30.0427 2.00000 + 6 -30.0185 2.00000 + 7 -29.9297 2.00000 + 8 1.5003 2.00000 + 9 2.0569 2.00000 + 10 4.6455 2.00000 + 11 5.1693 2.00000 + 12 5.5995 2.00000 + 13 5.8371 2.00000 + 14 9.2378 0.00000 + 15 9.4800 0.00000 + 16 11.9139 0.00000 + 17 13.5604 0.00000 + 18 14.7551 0.00000 + + k-point 317 : 0.2667 0.4667 0.2667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2906 2.00000 + 4 -65.7412 2.00000 + 5 -30.0419 2.00000 + 6 -30.0289 2.00000 + 7 -29.9291 2.00000 + 8 1.6855 2.00000 + 9 2.3977 2.00000 + 10 4.3844 2.00000 + 11 5.1110 2.00000 + 12 5.5521 2.00000 + 13 5.8491 2.00000 + 14 8.7124 0.00000 + 15 9.4831 0.00000 + 16 11.3760 0.00000 + 17 13.8572 0.00000 + 18 14.9892 0.00000 + + k-point 318 : 0.3333 0.4667 0.2667 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4261 2.00000 + 3 -91.2910 2.00000 + 4 -65.7410 2.00000 + 5 -30.0411 2.00000 + 6 -30.0389 2.00000 + 7 -29.9285 2.00000 + 8 1.8550 2.00000 + 9 2.8180 2.00000 + 10 4.1421 2.00000 + 11 4.8462 2.00000 + 12 5.6803 2.00000 + 13 5.9491 2.00000 + 14 8.2154 0.00000 + 15 9.5095 0.00000 + 16 10.5843 0.00000 + 17 14.5072 0.00000 + 18 15.0778 0.00000 + + k-point 319 : 0.4000 0.4667 0.2667 + band No. band energies occupation + 1 -91.8812 2.00000 + 2 -91.4262 2.00000 + 3 -91.2911 2.00000 + 4 -65.7409 2.00000 + 5 -30.0467 2.00000 + 6 -30.0406 2.00000 + 7 -29.9280 2.00000 + 8 1.9950 2.00000 + 9 3.2581 2.00000 + 10 3.9509 2.00000 + 11 4.5226 2.00000 + 12 5.8957 2.00000 + 13 6.0587 2.00000 + 14 7.8278 1.56302 + 15 9.4491 0.00000 + 16 9.9344 0.00000 + 17 15.0260 0.00000 + 18 18.3727 0.00000 + + k-point 320 : 0.4667 0.4667 0.2667 + band No. band energies occupation + 1 -91.8815 2.00000 + 2 -91.4265 2.00000 + 3 -91.2915 2.00000 + 4 -65.7408 2.00000 + 5 -30.0510 2.00000 + 6 -30.0402 2.00000 + 7 -29.9277 2.00000 + 8 2.0780 2.00000 + 9 3.6286 2.00000 + 10 3.8595 2.00000 + 11 4.2059 2.00000 + 12 6.0817 2.00000 + 13 6.1302 2.00000 + 14 7.6065 1.99991 + 15 9.1931 0.00000 + 16 9.7385 0.00000 + 17 15.0476 0.00000 + 18 16.6319 0.00000 + + k-point 321 : 0.0000 0.0000 0.3333 + band No. band energies occupation + 1 -91.8793 2.00000 + 2 -91.4243 2.00000 + 3 -91.2893 2.00000 + 4 -65.7415 2.00000 + 5 -30.0028 2.00000 + 6 -29.9802 2.00000 + 7 -29.9695 2.00000 + 8 -0.4815 2.00000 + 9 3.4597 2.00000 + 10 4.4964 2.00000 + 11 4.9371 2.00000 + 12 5.1831 2.00000 + 13 8.4989 0.00000 + 14 9.1550 0.00000 + 15 10.1399 0.00000 + 16 10.4152 0.00000 + 17 14.2974 0.00000 + 18 14.8308 0.00000 + + k-point 322 : 0.0667 0.0000 0.3333 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2897 2.00000 + 4 -65.7415 2.00000 + 5 -30.0050 2.00000 + 6 -29.9801 2.00000 + 7 -29.9693 2.00000 + 8 -0.4342 2.00000 + 9 3.4391 2.00000 + 10 4.4529 2.00000 + 11 4.9676 2.00000 + 12 5.2040 2.00000 + 13 8.2556 0.00000 + 14 9.2125 0.00000 + 15 10.0413 0.00000 + 16 10.7194 0.00000 + 17 14.2965 0.00000 + 18 15.1176 0.00000 + + k-point 323 : 0.1333 0.0000 0.3333 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7414 2.00000 + 5 -30.0112 2.00000 + 6 -29.9796 2.00000 + 7 -29.9688 2.00000 + 8 -0.2928 2.00000 + 9 3.3540 2.00000 + 10 4.3881 2.00000 + 11 5.0261 2.00000 + 12 5.2648 2.00000 + 13 7.7736 1.87743 + 14 9.3605 0.00000 + 15 9.8023 0.00000 + 16 11.3678 0.00000 + 17 13.9531 0.00000 + 18 14.9554 0.00000 + + k-point 324 : 0.2000 0.0000 0.3333 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7412 2.00000 + 5 -30.0203 2.00000 + 6 -29.9791 2.00000 + 7 -29.9679 2.00000 + 8 -0.0672 2.00000 + 9 3.1662 2.00000 + 10 4.3914 2.00000 + 11 5.0790 2.00000 + 12 5.3596 2.00000 + 13 7.2805 2.00000 + 14 9.4059 0.00000 + 15 9.6783 0.00000 + 16 12.0688 0.00000 + 17 13.4792 0.00000 + 18 15.2550 0.00000 + + k-point 325 : 0.2667 0.0000 0.3333 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7411 2.00000 + 5 -30.0306 2.00000 + 6 -29.9785 2.00000 + 7 -29.9670 2.00000 + 8 0.2282 2.00000 + 9 2.8837 2.00000 + 10 4.4758 2.00000 + 11 5.1145 2.00000 + 12 5.4784 2.00000 + 13 6.8477 2.00000 + 14 9.1811 0.00000 + 15 9.8874 0.00000 + 16 12.5970 0.00000 + 17 12.9048 0.00000 + 18 15.2176 0.00000 + + k-point 326 : 0.3333 0.0000 0.3333 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7408 2.00000 + 5 -30.0404 2.00000 + 6 -29.9778 2.00000 + 7 -29.9661 2.00000 + 8 0.5762 2.00000 + 9 2.5428 2.00000 + 10 4.6037 2.00000 + 11 5.1264 2.00000 + 12 5.6095 2.00000 + 13 6.4965 2.00000 + 14 9.0211 0.00000 + 15 10.1220 0.00000 + 16 12.3062 0.00000 + 17 12.7724 0.00000 + 18 15.5499 0.00000 + + k-point 327 : 0.4000 0.0000 0.3333 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7407 2.00000 + 5 -30.0482 2.00000 + 6 -29.9773 2.00000 + 7 -29.9654 2.00000 + 8 0.9542 2.00000 + 9 2.1721 2.00000 + 10 4.7324 2.00000 + 11 5.1121 2.00000 + 12 5.7425 2.00000 + 13 6.2291 2.00000 + 14 8.9691 0.00000 + 15 10.3317 0.00000 + 16 11.7644 0.00000 + 17 12.7021 0.00000 + 18 15.1622 0.00000 + + k-point 328 : 0.4667 0.0000 0.3333 + band No. band energies occupation + 1 -91.8793 2.00000 + 2 -91.4243 2.00000 + 3 -91.2893 2.00000 + 4 -65.7406 2.00000 + 5 -30.0524 2.00000 + 6 -29.9770 2.00000 + 7 -29.9649 2.00000 + 8 1.3325 2.00000 + 9 1.8005 2.00000 + 10 4.8244 2.00000 + 11 5.0841 2.00000 + 12 5.8749 2.00000 + 13 6.0344 2.00000 + 14 8.9800 0.00000 + 15 10.4848 0.00000 + 16 11.3991 0.00000 + 17 12.6194 0.00000 + 18 17.5491 0.00000 + + k-point 329 : 0.0000 0.0667 0.3333 + band No. band energies occupation + 1 -91.8794 2.00000 + 2 -91.4244 2.00000 + 3 -91.2894 2.00000 + 4 -65.7415 2.00000 + 5 -30.0025 2.00000 + 6 -29.9799 2.00000 + 7 -29.9726 2.00000 + 8 -0.4309 2.00000 + 9 3.4495 2.00000 + 10 4.4823 2.00000 + 11 4.9614 2.00000 + 12 5.1769 2.00000 + 13 8.1972 0.00001 + 14 9.2037 0.00000 + 15 10.3016 0.00000 + 16 10.5059 0.00000 + 17 14.3943 0.00000 + 18 15.2824 0.00000 + + k-point 330 : 0.0667 0.0667 0.3333 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4247 2.00000 + 3 -91.2897 2.00000 + 4 -65.7414 2.00000 + 5 -30.0047 2.00000 + 6 -29.9798 2.00000 + 7 -29.9724 2.00000 + 8 -0.3827 2.00000 + 9 3.4372 2.00000 + 10 4.4369 2.00000 + 11 4.9880 2.00000 + 12 5.1943 2.00000 + 13 7.9855 0.14652 + 14 9.2633 0.00000 + 15 10.3201 0.00000 + 16 10.6409 0.00000 + 17 14.3071 0.00000 + 18 15.7382 0.00000 + + k-point 331 : 0.1333 0.0667 0.3333 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7413 2.00000 + 5 -30.0109 2.00000 + 6 -29.9795 2.00000 + 7 -29.9718 2.00000 + 8 -0.2406 2.00000 + 9 3.3744 2.00000 + 10 4.3644 2.00000 + 11 5.0412 2.00000 + 12 5.2443 2.00000 + 13 7.5476 2.00000 + 14 9.4153 0.00000 + 15 10.0599 0.00000 + 16 11.2380 0.00000 + 17 14.8208 0.00000 + 18 16.0819 0.00000 + + k-point 332 : 0.2000 0.0667 0.3333 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7412 2.00000 + 5 -30.0200 2.00000 + 6 -29.9789 2.00000 + 7 -29.9710 2.00000 + 8 -0.0152 2.00000 + 9 3.2090 2.00000 + 10 4.3636 2.00000 + 11 5.0929 2.00000 + 12 5.3207 2.00000 + 13 7.0926 2.00000 + 14 9.5502 0.00000 + 15 9.7938 0.00000 + 16 11.8036 0.00000 + 17 13.5951 0.00000 + 18 14.9192 0.00000 + + k-point 333 : 0.2667 0.0667 0.3333 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7410 2.00000 + 5 -30.0303 2.00000 + 6 -29.9783 2.00000 + 7 -29.9700 2.00000 + 8 0.2806 2.00000 + 9 2.9377 2.00000 + 10 4.4563 2.00000 + 11 5.1302 2.00000 + 12 5.4164 2.00000 + 13 6.6996 2.00000 + 14 9.3444 0.00000 + 15 9.9025 0.00000 + 16 12.0852 0.00000 + 17 13.4362 0.00000 + 18 15.8291 0.00000 + + k-point 334 : 0.3333 0.0667 0.3333 + band No. band energies occupation + 1 -91.8795 2.00000 + 2 -91.4245 2.00000 + 3 -91.2895 2.00000 + 4 -65.7407 2.00000 + 5 -30.0402 2.00000 + 6 -29.9776 2.00000 + 7 -29.9691 2.00000 + 8 0.6271 2.00000 + 9 2.6012 2.00000 + 10 4.5958 2.00000 + 11 5.1415 2.00000 + 12 5.5298 2.00000 + 13 6.3932 2.00000 + 14 9.1313 0.00000 + 15 10.0660 0.00000 + 16 11.8833 0.00000 + 17 13.3141 0.00000 + 18 15.1866 0.00000 + + k-point 335 : 0.4000 0.0667 0.3333 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7406 2.00000 + 5 -30.0479 2.00000 + 6 -29.9771 2.00000 + 7 -29.9684 2.00000 + 8 1.0037 2.00000 + 9 2.2324 2.00000 + 10 4.7288 2.00000 + 11 5.1208 2.00000 + 12 5.6641 2.00000 + 13 6.1656 2.00000 + 14 9.0233 0.00000 + 15 10.1524 0.00000 + 16 11.6108 0.00000 + 17 13.1453 0.00000 + 18 15.2752 0.00000 + + k-point 336 : 0.4667 0.0667 0.3333 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4249 2.00000 + 3 -91.2900 2.00000 + 4 -65.7405 2.00000 + 5 -30.0521 2.00000 + 6 -29.9768 2.00000 + 7 -29.9680 2.00000 + 8 1.3741 2.00000 + 9 1.8670 2.00000 + 10 4.8158 2.00000 + 11 5.0875 2.00000 + 12 5.8147 2.00000 + 13 5.9871 2.00000 + 14 8.9976 0.00000 + 15 10.1607 0.00000 + 16 11.4588 0.00000 + 17 13.0058 0.00000 + 18 15.0515 0.00000 + + k-point 337 : 0.0000 0.1333 0.3333 + band No. band energies occupation + 1 -91.8795 2.00000 + 2 -91.4245 2.00000 + 3 -91.2895 2.00000 + 4 -65.7413 2.00000 + 5 -30.0017 2.00000 + 6 -29.9814 2.00000 + 7 -29.9793 2.00000 + 8 -0.2798 2.00000 + 9 3.3917 2.00000 + 10 4.4650 2.00000 + 11 5.0319 2.00000 + 12 5.1692 2.00000 + 13 7.6464 1.99917 + 14 9.3147 0.00000 + 15 10.0458 0.00000 + 16 11.2372 0.00000 + 17 14.4922 0.00000 + 18 15.3633 0.00000 + + k-point 338 : 0.0667 0.1333 0.3333 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7412 2.00000 + 5 -30.0039 2.00000 + 6 -29.9812 2.00000 + 7 -29.9792 2.00000 + 8 -0.2318 2.00000 + 9 3.4031 2.00000 + 10 4.4148 2.00000 + 11 5.0453 2.00000 + 12 5.1799 2.00000 + 13 7.4709 2.00000 + 14 9.3790 0.00000 + 15 10.2465 0.00000 + 16 11.0981 0.00000 + 17 14.1220 0.00000 + 18 16.8656 0.00000 + + k-point 339 : 0.1333 0.1333 0.3333 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4246 2.00000 + 3 -91.2896 2.00000 + 4 -65.7411 2.00000 + 5 -30.0101 2.00000 + 6 -29.9806 2.00000 + 7 -29.9788 2.00000 + 8 -0.0888 2.00000 + 9 3.4098 2.00000 + 10 4.3128 2.00000 + 11 5.0782 2.00000 + 12 5.2075 2.00000 + 13 7.0931 2.00000 + 14 9.5240 0.00000 + 15 10.5314 0.00000 + 16 10.9313 0.00000 + 17 13.8315 0.00000 + 18 14.9563 0.00000 + + k-point 340 : 0.2000 0.1333 0.3333 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7410 2.00000 + 5 -30.0192 2.00000 + 6 -29.9798 2.00000 + 7 -29.9782 2.00000 + 8 0.1365 2.00000 + 9 3.3258 2.00000 + 10 4.2788 2.00000 + 11 5.1226 2.00000 + 12 5.2385 2.00000 + 13 6.6994 2.00000 + 14 9.6594 0.00000 + 15 10.2232 0.00000 + 16 11.3212 0.00000 + 17 13.9202 0.00000 + 18 16.2795 0.00000 + + k-point 341 : 0.2667 0.1333 0.3333 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7408 2.00000 + 5 -30.0296 2.00000 + 6 -29.9790 2.00000 + 7 -29.9776 2.00000 + 8 0.4308 2.00000 + 9 3.0973 2.00000 + 10 4.3838 2.00000 + 11 5.1738 2.00000 + 12 5.2576 2.00000 + 13 6.3799 2.00000 + 14 9.6051 0.00000 + 15 9.9623 0.00000 + 16 11.5706 0.00000 + 17 13.6078 0.00000 + 18 14.8495 0.00000 + + k-point 342 : 0.3333 0.1333 0.3333 + band No. band energies occupation + 1 -91.8796 2.00000 + 2 -91.4245 2.00000 + 3 -91.2895 2.00000 + 4 -65.7405 2.00000 + 5 -30.0394 2.00000 + 6 -29.9782 2.00000 + 7 -29.9768 2.00000 + 8 0.7749 2.00000 + 9 2.7747 2.00000 + 10 4.5617 2.00000 + 11 5.1803 2.00000 + 12 5.3158 2.00000 + 13 6.1636 2.00000 + 14 9.3464 0.00000 + 15 9.8339 0.00000 + 16 11.6131 0.00000 + 17 13.9966 0.00000 + 18 14.7722 0.00000 + + k-point 343 : 0.4000 0.1333 0.3333 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7404 2.00000 + 5 -30.0472 2.00000 + 6 -29.9775 2.00000 + 7 -29.9763 2.00000 + 8 1.1431 2.00000 + 9 2.4134 2.00000 + 10 4.7126 2.00000 + 11 5.1290 2.00000 + 12 5.4671 2.00000 + 13 6.0157 2.00000 + 14 9.1396 0.00000 + 15 9.6449 0.00000 + 16 11.6446 0.00000 + 17 14.7531 0.00000 + 18 45.4682 0.00000 + + k-point 344 : 0.4667 0.1333 0.3333 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4251 2.00000 + 3 -91.2902 2.00000 + 4 -65.7404 2.00000 + 5 -30.0514 2.00000 + 6 -29.9772 2.00000 + 7 -29.9760 2.00000 + 8 1.4899 2.00000 + 9 2.0701 2.00000 + 10 4.7840 2.00000 + 11 5.0904 2.00000 + 12 5.6669 2.00000 + 13 5.8686 2.00000 + 14 9.0434 0.00000 + 15 9.4853 0.00000 + 16 11.6814 0.00000 + 17 13.7976 0.00000 + 18 15.2308 0.00000 + + k-point 345 : 0.0000 0.2000 0.3333 + band No. band energies occupation + 1 -91.8796 2.00000 + 2 -91.4246 2.00000 + 3 -91.2896 2.00000 + 4 -65.7410 2.00000 + 5 -30.0005 2.00000 + 6 -29.9942 2.00000 + 7 -29.9785 2.00000 + 8 -0.0384 2.00000 + 9 3.2400 2.00000 + 10 4.4989 2.00000 + 11 5.1411 2.00000 + 12 5.1734 2.00000 + 13 7.1079 2.00000 + 14 9.3512 0.00000 + 15 9.8771 0.00000 + 16 11.9958 0.00000 + 17 13.6113 0.00000 + 18 21.7136 0.00000 + + k-point 346 : 0.0667 0.2000 0.3333 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7410 2.00000 + 5 -30.0027 2.00000 + 6 -29.9940 2.00000 + 7 -29.9784 2.00000 + 8 0.0097 2.00000 + 9 3.2752 2.00000 + 10 4.4507 2.00000 + 11 5.1290 2.00000 + 12 5.1813 2.00000 + 13 6.9619 2.00000 + 14 9.4416 0.00000 + 15 10.0172 0.00000 + 16 11.7522 0.00000 + 17 13.6423 0.00000 + 18 14.9614 0.00000 + + k-point 347 : 0.1333 0.2000 0.3333 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7409 2.00000 + 5 -30.0089 2.00000 + 6 -29.9935 2.00000 + 7 -29.9780 2.00000 + 8 0.1509 2.00000 + 9 3.3699 2.00000 + 10 4.3172 2.00000 + 11 5.1057 2.00000 + 12 5.2032 2.00000 + 13 6.6401 2.00000 + 14 9.5752 0.00000 + 15 10.3957 0.00000 + 16 11.2701 0.00000 + 17 13.5268 0.00000 + 18 14.8940 0.00000 + + k-point 348 : 0.2000 0.2000 0.3333 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7407 2.00000 + 5 -30.0180 2.00000 + 6 -29.9927 2.00000 + 7 -29.9775 2.00000 + 8 0.3757 2.00000 + 9 3.4547 2.00000 + 10 4.1789 2.00000 + 11 5.0808 2.00000 + 12 5.2321 2.00000 + 13 6.3094 2.00000 + 14 9.5872 0.00000 + 15 10.6701 0.00000 + 16 10.9785 0.00000 + 17 13.3361 0.00000 + 18 16.3021 0.00000 + + k-point 349 : 0.2667 0.2000 0.3333 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4247 2.00000 + 3 -91.2897 2.00000 + 4 -65.7405 2.00000 + 5 -30.0284 2.00000 + 6 -29.9918 2.00000 + 7 -29.9768 2.00000 + 8 0.6661 2.00000 + 9 3.3528 2.00000 + 10 4.2329 2.00000 + 11 5.0410 2.00000 + 12 5.2587 2.00000 + 13 6.0667 2.00000 + 14 9.4049 0.00000 + 15 10.2926 0.00000 + 16 11.3119 0.00000 + 17 13.8752 0.00000 + 18 38.4800 0.00000 + + k-point 350 : 0.3333 0.2000 0.3333 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7403 2.00000 + 5 -30.0384 2.00000 + 6 -29.9910 2.00000 + 7 -29.9762 2.00000 + 8 1.0012 2.00000 + 9 3.0611 2.00000 + 10 4.4746 2.00000 + 11 4.9804 2.00000 + 12 5.2893 2.00000 + 13 5.9349 2.00000 + 14 9.1205 0.00000 + 15 9.8404 0.00000 + 16 11.5936 0.00000 + 17 13.6823 0.00000 + 18 15.1706 0.00000 + + k-point 351 : 0.4000 0.2000 0.3333 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7401 2.00000 + 5 -30.0461 2.00000 + 6 -29.9903 2.00000 + 7 -29.9758 2.00000 + 8 1.3562 2.00000 + 9 2.7118 2.00000 + 10 4.6771 2.00000 + 11 4.9797 2.00000 + 12 5.3623 2.00000 + 13 5.8533 2.00000 + 14 8.8711 0.00000 + 15 9.4054 0.00000 + 16 11.8042 0.00000 + 17 14.1600 0.00000 + 18 14.8362 0.00000 + + k-point 352 : 0.4667 0.2000 0.3333 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7401 2.00000 + 5 -30.0504 2.00000 + 6 -29.9899 2.00000 + 7 -29.9755 2.00000 + 8 1.6624 2.00000 + 9 2.4033 2.00000 + 10 4.7026 2.00000 + 11 5.0589 2.00000 + 12 5.5288 2.00000 + 13 5.7361 2.00000 + 14 8.7332 0.00000 + 15 9.1257 0.00000 + 16 11.9246 0.00000 + 17 14.4000 0.00000 + 18 14.8474 0.00000 + + k-point 353 : 0.0000 0.2667 0.3333 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7407 2.00000 + 5 -30.0089 2.00000 + 6 -29.9991 2.00000 + 7 -29.9776 2.00000 + 8 0.2750 2.00000 + 9 2.9834 2.00000 + 10 4.6018 2.00000 + 11 5.1861 2.00000 + 12 5.2760 2.00000 + 13 6.6473 2.00000 + 14 9.2218 0.00000 + 15 9.9612 0.00000 + 16 12.7917 0.00000 + 17 14.6660 0.00000 + 18 37.0432 0.00000 + + k-point 354 : 0.0667 0.2667 0.3333 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7407 2.00000 + 5 -30.0087 2.00000 + 6 -30.0013 2.00000 + 7 -29.9775 2.00000 + 8 0.3237 2.00000 + 9 3.0324 2.00000 + 10 4.5699 2.00000 + 11 5.1962 2.00000 + 12 5.2285 2.00000 + 13 6.5349 2.00000 + 14 9.3249 0.00000 + 15 10.0206 0.00000 + 16 12.0589 0.00000 + 17 13.6356 0.00000 + 18 16.3395 0.00000 + + k-point 355 : 0.1333 0.2667 0.3333 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7406 2.00000 + 5 -30.0082 2.00000 + 6 -30.0075 2.00000 + 7 -29.9771 2.00000 + 8 0.4629 2.00000 + 9 3.1773 2.00000 + 10 4.4588 2.00000 + 11 5.1107 2.00000 + 12 5.2302 2.00000 + 13 6.2832 2.00000 + 14 9.4510 0.00000 + 15 10.2180 0.00000 + 16 11.5408 0.00000 + 17 13.5178 0.00000 + 18 14.9785 0.00000 + + k-point 356 : 0.2000 0.2667 0.3333 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2906 2.00000 + 4 -65.7404 2.00000 + 5 -30.0167 2.00000 + 6 -30.0075 2.00000 + 7 -29.9766 2.00000 + 8 0.6833 2.00000 + 9 3.4070 2.00000 + 10 4.2516 2.00000 + 11 4.9747 2.00000 + 12 5.2836 2.00000 + 13 6.0299 2.00000 + 14 9.3115 0.00000 + 15 10.5371 0.00000 + 16 11.2041 0.00000 + 17 13.5198 0.00000 + 18 16.1069 0.00000 + + k-point 357 : 0.2667 0.2667 0.3333 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2905 2.00000 + 4 -65.7402 2.00000 + 5 -30.0271 2.00000 + 6 -30.0066 2.00000 + 7 -29.9760 2.00000 + 8 0.9662 2.00000 + 9 3.6247 2.00000 + 10 4.0527 2.00000 + 11 4.8364 2.00000 + 12 5.3481 2.00000 + 13 5.8553 2.00000 + 14 8.9510 0.00000 + 15 10.5646 0.00000 + 16 11.1623 0.00000 + 17 13.2954 0.00000 + 18 15.4682 0.00000 + + k-point 358 : 0.3333 0.2667 0.3333 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7400 2.00000 + 5 -30.0371 2.00000 + 6 -30.0058 2.00000 + 7 -29.9754 2.00000 + 8 1.2872 2.00000 + 9 3.4438 2.00000 + 10 4.2743 2.00000 + 11 4.7030 2.00000 + 12 5.4051 2.00000 + 13 5.7716 2.00000 + 14 8.5488 0.00000 + 15 10.0763 0.00000 + 16 11.4481 0.00000 + 17 13.4035 0.00000 + 18 15.3922 0.00000 + + k-point 359 : 0.4000 0.2667 0.3333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7398 2.00000 + 5 -30.0450 2.00000 + 6 -30.0051 2.00000 + 7 -29.9749 2.00000 + 8 1.6159 2.00000 + 9 3.1051 2.00000 + 10 4.5944 2.00000 + 11 4.6676 2.00000 + 12 5.4494 2.00000 + 13 5.7286 2.00000 + 14 8.2204 0.00000 + 15 9.5427 0.00000 + 16 11.6960 0.00000 + 17 13.7216 0.00000 + 18 15.3053 0.00000 + + k-point 360 : 0.4667 0.2667 0.3333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7398 2.00000 + 5 -30.0492 2.00000 + 6 -30.0047 2.00000 + 7 -29.9747 2.00000 + 8 1.8783 2.00000 + 9 2.8300 2.00000 + 10 4.5354 2.00000 + 11 4.9641 2.00000 + 12 5.5125 2.00000 + 13 5.6496 2.00000 + 14 8.0373 0.02884 + 15 9.1984 0.00000 + 16 11.8323 0.00000 + 17 13.9270 0.00000 + 18 15.3527 0.00000 + + k-point 361 : 0.0000 0.3333 0.3333 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4252 2.00000 + 3 -91.2901 2.00000 + 4 -65.7404 2.00000 + 5 -30.0228 2.00000 + 6 -29.9977 2.00000 + 7 -29.9766 2.00000 + 8 0.6424 2.00000 + 9 2.6545 2.00000 + 10 4.7408 2.00000 + 11 5.1925 2.00000 + 12 5.4185 2.00000 + 13 6.2853 2.00000 + 14 9.1528 0.00000 + 15 10.1154 0.00000 + 16 12.2959 0.00000 + 17 12.6644 0.00000 + 18 15.1835 0.00000 + + k-point 362 : 0.0667 0.3333 0.3333 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2910 2.00000 + 4 -65.7404 2.00000 + 5 -30.0228 2.00000 + 6 -30.0000 2.00000 + 7 -29.9766 2.00000 + 8 0.6883 2.00000 + 9 2.7077 2.00000 + 10 4.7264 2.00000 + 11 5.2034 2.00000 + 12 5.3412 2.00000 + 13 6.2150 2.00000 + 14 9.2183 0.00000 + 15 10.0975 0.00000 + 16 11.8514 0.00000 + 17 13.2505 0.00000 + 18 15.4538 0.00000 + + k-point 363 : 0.1333 0.3333 0.3333 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2911 2.00000 + 4 -65.7403 2.00000 + 5 -30.0223 2.00000 + 6 -30.0062 2.00000 + 7 -29.9762 2.00000 + 8 0.8257 2.00000 + 9 2.8686 2.00000 + 10 4.6756 2.00000 + 11 5.1155 2.00000 + 12 5.2552 2.00000 + 13 6.0553 2.00000 + 14 9.2590 0.00000 + 15 10.0607 0.00000 + 16 11.5620 0.00000 + 17 14.3861 0.00000 + 18 15.3778 0.00000 + + k-point 364 : 0.2000 0.3333 0.3333 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7401 2.00000 + 5 -30.0215 2.00000 + 6 -30.0154 2.00000 + 7 -29.9757 2.00000 + 8 1.0393 2.00000 + 9 3.1357 2.00000 + 10 4.5429 2.00000 + 11 4.8526 2.00000 + 12 5.3235 2.00000 + 13 5.8912 2.00000 + 14 8.9678 0.00000 + 15 10.1859 0.00000 + 16 11.4775 0.00000 + 17 13.5169 0.00000 + 18 15.2678 0.00000 + + k-point 365 : 0.2667 0.3333 0.3333 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7399 2.00000 + 5 -30.0259 2.00000 + 6 -30.0207 2.00000 + 7 -29.9751 2.00000 + 8 1.3079 2.00000 + 9 3.4975 2.00000 + 10 4.2537 2.00000 + 11 4.6695 2.00000 + 12 5.4215 2.00000 + 13 5.7678 2.00000 + 14 8.4790 0.00000 + 15 10.3583 0.00000 + 16 11.2562 0.00000 + 17 13.7957 0.00000 + 18 15.4576 0.00000 + + k-point 366 : 0.3333 0.3333 0.3333 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2903 2.00000 + 4 -65.7397 2.00000 + 5 -30.0359 2.00000 + 6 -30.0199 2.00000 + 7 -29.9745 2.00000 + 8 1.6071 2.00000 + 9 3.8504 2.00000 + 10 3.9497 2.00000 + 11 4.5723 2.00000 + 12 5.5290 2.00000 + 13 5.6928 2.00000 + 14 7.9970 0.10628 + 15 10.1882 0.00000 + 16 11.0596 0.00000 + 17 13.6172 0.00000 + 18 15.4580 0.00000 + + k-point 367 : 0.4000 0.3333 0.3333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7395 2.00000 + 5 -30.0438 2.00000 + 6 -30.0193 2.00000 + 7 -29.9740 2.00000 + 8 1.9028 2.00000 + 9 3.5236 2.00000 + 10 4.2368 2.00000 + 11 4.6294 2.00000 + 12 5.6020 2.00000 + 13 5.6607 2.00000 + 14 7.6208 1.99979 + 15 9.6622 0.00000 + 16 11.1234 0.00000 + 17 13.9670 0.00000 + 18 15.5268 0.00000 + + k-point 368 : 0.4667 0.3333 0.3333 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7395 2.00000 + 5 -30.0481 2.00000 + 6 -30.0189 2.00000 + 7 -29.9738 2.00000 + 8 2.1226 2.00000 + 9 3.2739 2.00000 + 10 4.2868 2.00000 + 11 4.8744 2.00000 + 12 5.6116 2.00000 + 13 5.6455 2.00000 + 14 7.4201 2.00000 + 15 9.2695 0.00000 + 16 11.1923 0.00000 + 17 14.0391 0.00000 + 18 15.3789 0.00000 + + k-point 369 : 0.0000 0.4000 0.3333 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7402 2.00000 + 5 -30.0338 2.00000 + 6 -29.9968 2.00000 + 7 -29.9759 2.00000 + 8 1.0386 2.00000 + 9 2.2838 2.00000 + 10 4.8741 2.00000 + 11 5.1768 2.00000 + 12 5.5479 2.00000 + 13 6.0278 2.00000 + 14 9.2474 0.00000 + 15 10.2163 0.00000 + 16 11.7129 0.00000 + 17 12.5232 0.00000 + 18 15.0058 0.00000 + + k-point 370 : 0.0667 0.4000 0.3333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7401 2.00000 + 5 -30.0336 2.00000 + 6 -29.9990 2.00000 + 7 -29.9758 2.00000 + 8 1.0849 2.00000 + 9 2.3392 2.00000 + 10 4.8595 2.00000 + 11 5.1791 2.00000 + 12 5.4792 2.00000 + 13 5.9945 2.00000 + 14 9.2635 0.00000 + 15 10.0727 0.00000 + 16 11.5584 0.00000 + 17 12.9761 0.00000 + 18 14.9006 0.00000 + + k-point 371 : 0.1333 0.4000 0.3333 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7400 2.00000 + 5 -30.0331 2.00000 + 6 -30.0052 2.00000 + 7 -29.9755 2.00000 + 8 1.2159 2.00000 + 9 2.5063 2.00000 + 10 4.8118 2.00000 + 11 5.1287 2.00000 + 12 5.3567 2.00000 + 13 5.9132 2.00000 + 14 9.1604 0.00000 + 15 9.8071 0.00000 + 16 11.5723 0.00000 + 17 13.7995 0.00000 + 18 14.5522 0.00000 + + k-point 372 : 0.2000 0.4000 0.3333 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2906 2.00000 + 4 -65.7399 2.00000 + 5 -30.0325 2.00000 + 6 -30.0144 2.00000 + 7 -29.9750 2.00000 + 8 1.4162 2.00000 + 9 2.7831 2.00000 + 10 4.7111 2.00000 + 11 4.9082 2.00000 + 12 5.3719 2.00000 + 13 5.8226 2.00000 + 14 8.6841 0.00000 + 15 9.8145 0.00000 + 16 11.6802 0.00000 + 17 13.7580 0.00000 + 18 15.0949 0.00000 + + k-point 373 : 0.2667 0.4000 0.3333 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7397 2.00000 + 5 -30.0317 2.00000 + 6 -30.0249 2.00000 + 7 -29.9744 2.00000 + 8 1.6606 2.00000 + 9 3.1538 2.00000 + 10 4.4685 2.00000 + 11 4.7356 2.00000 + 12 5.4606 2.00000 + 13 5.7551 2.00000 + 14 8.0965 0.00251 + 15 9.9238 0.00000 + 16 11.4526 0.00000 + 17 13.4892 0.00000 + 18 15.4328 0.00000 + + k-point 374 : 0.3333 0.4000 0.3333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7394 2.00000 + 5 -30.0350 2.00000 + 6 -30.0309 2.00000 + 7 -29.9738 2.00000 + 8 1.9273 2.00000 + 9 3.5628 2.00000 + 10 4.1380 2.00000 + 11 4.6730 2.00000 + 12 5.5708 2.00000 + 13 5.7308 2.00000 + 14 7.5590 2.00000 + 15 9.9659 0.00000 + 16 10.8523 0.00000 + 17 14.1412 0.00000 + 18 15.3603 0.00000 + + k-point 375 : 0.4000 0.4000 0.3333 + band No. band energies occupation + 1 -91.8813 2.00000 + 2 -91.4263 2.00000 + 3 -91.2912 2.00000 + 4 -65.7394 2.00000 + 5 -30.0429 2.00000 + 6 -30.0304 2.00000 + 7 -29.9734 2.00000 + 8 2.1834 2.00000 + 9 3.8283 2.00000 + 10 3.8862 2.00000 + 11 4.7204 2.00000 + 12 5.6527 2.00000 + 13 5.7690 2.00000 + 14 7.1423 2.00000 + 15 9.7054 0.00000 + 16 10.4694 0.00000 + 17 14.5817 0.00000 + 18 17.9482 0.00000 + + k-point 376 : 0.4667 0.4000 0.3333 + band No. band energies occupation + 1 -91.8812 2.00000 + 2 -91.4262 2.00000 + 3 -91.2912 2.00000 + 4 -65.7393 2.00000 + 5 -30.0472 2.00000 + 6 -30.0300 2.00000 + 7 -29.9732 2.00000 + 8 2.3655 2.00000 + 9 3.6194 2.00000 + 10 4.0214 2.00000 + 11 4.8461 2.00000 + 12 5.7172 2.00000 + 13 5.7917 2.00000 + 14 6.9188 2.00000 + 15 9.3231 0.00000 + 16 10.4174 0.00000 + 17 14.4421 0.00000 + 18 15.8976 0.00000 + + k-point 377 : 0.0000 0.4667 0.3333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7400 2.00000 + 5 -30.0397 2.00000 + 6 -29.9962 2.00000 + 7 -29.9755 2.00000 + 8 1.4380 2.00000 + 9 1.9003 2.00000 + 10 4.9695 2.00000 + 11 5.1428 2.00000 + 12 5.6423 2.00000 + 13 5.8766 2.00000 + 14 9.4326 0.00000 + 15 10.2038 0.00000 + 16 11.3534 0.00000 + 17 12.4003 0.00000 + 18 15.1798 0.00000 + + k-point 378 : 0.0667 0.4667 0.3333 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7400 2.00000 + 5 -30.0396 2.00000 + 6 -29.9984 2.00000 + 7 -29.9754 2.00000 + 8 1.4775 2.00000 + 9 1.9610 2.00000 + 10 4.9344 2.00000 + 11 5.1436 2.00000 + 12 5.6222 2.00000 + 13 5.8407 2.00000 + 14 9.4328 0.00000 + 15 9.9118 0.00000 + 16 11.4086 0.00000 + 17 12.7786 0.00000 + 18 14.7529 0.00000 + + k-point 379 : 0.1333 0.4667 0.3333 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4253 2.00000 + 3 -91.2902 2.00000 + 4 -65.7399 2.00000 + 5 -30.0391 2.00000 + 6 -30.0046 2.00000 + 7 -29.9751 2.00000 + 8 1.5884 2.00000 + 9 2.1473 2.00000 + 10 4.8263 2.00000 + 11 5.1395 2.00000 + 12 5.5663 2.00000 + 13 5.7671 2.00000 + 14 9.1881 0.00000 + 15 9.5548 0.00000 + 16 11.6103 0.00000 + 17 13.5641 0.00000 + 18 14.7151 0.00000 + + k-point 380 : 0.2000 0.4667 0.3333 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2902 2.00000 + 4 -65.7397 2.00000 + 5 -30.0384 2.00000 + 6 -30.0138 2.00000 + 7 -29.9746 2.00000 + 8 1.7510 2.00000 + 9 2.4554 2.00000 + 10 4.6493 2.00000 + 11 5.1054 2.00000 + 12 5.5016 2.00000 + 13 5.7219 2.00000 + 14 8.5259 0.00000 + 15 9.5738 0.00000 + 16 11.7986 0.00000 + 17 14.0607 0.00000 + 18 14.5081 0.00000 + + k-point 381 : 0.2667 0.4667 0.3333 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2904 2.00000 + 4 -65.7395 2.00000 + 5 -30.0377 2.00000 + 6 -30.0244 2.00000 + 7 -29.9740 2.00000 + 8 1.9503 2.00000 + 9 2.8575 2.00000 + 10 4.4232 2.00000 + 11 5.0190 2.00000 + 12 5.4953 2.00000 + 13 5.7259 2.00000 + 14 7.8787 1.04556 + 15 9.6218 0.00000 + 16 11.5688 0.00000 + 17 13.6440 0.00000 + 18 15.2299 0.00000 + + k-point 382 : 0.3333 0.4667 0.3333 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7393 2.00000 + 5 -30.0369 2.00000 + 6 -30.0345 2.00000 + 7 -29.9735 2.00000 + 8 2.1724 2.00000 + 9 3.2887 2.00000 + 10 4.1759 2.00000 + 11 4.9222 2.00000 + 12 5.5665 2.00000 + 13 5.7737 2.00000 + 14 7.3144 2.00000 + 15 9.6562 0.00000 + 16 10.8484 0.00000 + 17 13.8758 0.00000 + 18 15.6076 0.00000 + + k-point 383 : 0.4000 0.4667 0.3333 + band No. band energies occupation + 1 -91.8813 2.00000 + 2 -91.4263 2.00000 + 3 -91.2913 2.00000 + 4 -65.7392 2.00000 + 5 -30.0424 2.00000 + 6 -30.0364 2.00000 + 7 -29.9731 2.00000 + 8 2.3889 2.00000 + 9 3.6451 2.00000 + 10 3.9430 2.00000 + 11 4.8684 2.00000 + 12 5.6997 2.00000 + 13 5.8611 2.00000 + 14 6.8688 2.00000 + 15 9.6086 0.00000 + 16 10.1393 0.00000 + 17 15.1730 0.00000 + 18 16.3079 0.00000 + + k-point 384 : 0.4667 0.4667 0.3333 + band No. band energies occupation + 1 -91.8813 2.00000 + 2 -91.4263 2.00000 + 3 -91.2913 2.00000 + 4 -65.7391 2.00000 + 5 -30.0467 2.00000 + 6 -30.0360 2.00000 + 7 -29.9728 2.00000 + 8 2.5397 2.00000 + 9 3.7856 2.00000 + 10 3.8326 2.00000 + 11 4.8610 2.00000 + 12 5.8430 2.00000 + 13 5.9453 2.00000 + 14 6.5965 2.00000 + 15 9.3465 0.00000 + 16 9.8978 0.00000 + 17 15.1892 0.00000 + 18 16.2199 0.00000 + + k-point 385 : 0.0000 0.0000 0.4000 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2900 2.00000 + 4 -65.7403 2.00000 + 5 -30.0144 2.00000 + 6 -29.9990 2.00000 + 7 -29.9656 2.00000 + 8 0.0785 2.00000 + 9 2.7125 2.00000 + 10 4.5094 2.00000 + 11 4.6940 2.00000 + 12 4.9214 2.00000 + 13 8.5745 0.00000 + 14 10.1269 0.00000 + 15 10.5365 0.00000 + 16 10.8704 0.00000 + 17 13.9768 0.00000 + 18 14.6979 0.00000 + + k-point 386 : 0.0667 0.0000 0.4000 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7402 2.00000 + 5 -30.0143 2.00000 + 6 -30.0012 2.00000 + 7 -29.9654 2.00000 + 8 0.1273 2.00000 + 9 2.6983 2.00000 + 10 4.4779 2.00000 + 11 4.7369 2.00000 + 12 4.9443 2.00000 + 13 8.3529 0.00000 + 14 10.1419 0.00000 + 15 10.4344 0.00000 + 16 11.1645 0.00000 + 17 13.6110 0.00000 + 18 14.5556 0.00000 + + k-point 387 : 0.1333 0.0000 0.4000 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7401 2.00000 + 5 -30.0140 2.00000 + 6 -30.0074 2.00000 + 7 -29.9649 2.00000 + 8 0.2683 2.00000 + 9 2.6518 2.00000 + 10 4.4352 2.00000 + 11 4.8169 2.00000 + 12 5.0107 2.00000 + 13 7.8922 0.89370 + 14 10.1231 0.00000 + 15 10.2307 0.00000 + 16 11.8214 0.00000 + 17 13.2548 0.00000 + 18 14.5906 0.00000 + + k-point 388 : 0.2000 0.0000 0.4000 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7399 2.00000 + 5 -30.0165 2.00000 + 6 -30.0135 2.00000 + 7 -29.9640 2.00000 + 8 0.4880 2.00000 + 9 2.5740 2.00000 + 10 4.4223 2.00000 + 11 4.8957 2.00000 + 12 5.1141 2.00000 + 13 7.4082 2.00000 + 14 9.8145 0.00000 + 15 10.2589 0.00000 + 16 12.5295 0.00000 + 17 12.7207 0.00000 + 18 14.5641 0.00000 + + k-point 389 : 0.2667 0.0000 0.4000 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7397 2.00000 + 5 -30.0269 2.00000 + 6 -30.0129 2.00000 + 7 -29.9631 2.00000 + 8 0.7614 2.00000 + 9 2.4691 2.00000 + 10 4.4450 2.00000 + 11 4.9606 2.00000 + 12 5.2429 2.00000 + 13 6.9802 2.00000 + 14 9.4992 0.00000 + 15 10.2989 0.00000 + 16 12.2571 0.00000 + 17 12.7704 0.00000 + 18 14.6183 0.00000 + + k-point 390 : 0.3333 0.0000 0.4000 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4247 2.00000 + 3 -91.2897 2.00000 + 4 -65.7395 2.00000 + 5 -30.0369 2.00000 + 6 -30.0123 2.00000 + 7 -29.9621 2.00000 + 8 1.0553 2.00000 + 9 2.3467 2.00000 + 10 4.4910 2.00000 + 11 5.0061 2.00000 + 12 5.3805 2.00000 + 13 6.6366 2.00000 + 14 9.2609 0.00000 + 15 10.3038 0.00000 + 16 11.8735 0.00000 + 17 12.5601 0.00000 + 18 15.5151 0.00000 + + k-point 391 : 0.4000 0.0000 0.4000 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7394 2.00000 + 5 -30.0447 2.00000 + 6 -30.0119 2.00000 + 7 -29.9614 2.00000 + 8 1.3266 2.00000 + 9 2.2198 2.00000 + 10 4.5371 2.00000 + 11 5.0314 2.00000 + 12 5.5048 2.00000 + 13 6.3900 2.00000 + 14 9.1261 0.00000 + 15 10.2612 0.00000 + 16 11.5989 0.00000 + 17 12.2895 0.00000 + 18 15.2894 0.00000 + + k-point 392 : 0.4667 0.0000 0.4000 + band No. band energies occupation + 1 -91.8792 2.00000 + 2 -91.4242 2.00000 + 3 -91.2892 2.00000 + 4 -65.7392 2.00000 + 5 -30.0489 2.00000 + 6 -30.0116 2.00000 + 7 -29.9610 2.00000 + 8 1.5141 2.00000 + 9 2.1185 2.00000 + 10 4.5650 2.00000 + 11 5.0425 2.00000 + 12 5.5850 2.00000 + 13 6.2547 2.00000 + 14 9.0783 0.00000 + 15 10.2059 0.00000 + 16 11.4660 0.00000 + 17 12.1310 0.00000 + 18 14.9984 0.00000 + + k-point 393 : 0.0000 0.0667 0.4000 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7402 2.00000 + 5 -30.0143 2.00000 + 6 -29.9987 2.00000 + 7 -29.9687 2.00000 + 8 0.1308 2.00000 + 9 2.7052 2.00000 + 10 4.5062 2.00000 + 11 4.7211 2.00000 + 12 4.9341 2.00000 + 13 8.2944 0.00000 + 14 10.1322 0.00000 + 15 10.7510 0.00000 + 16 10.8939 0.00000 + 17 14.0685 0.00000 + 18 19.2975 0.00000 + + k-point 394 : 0.0667 0.0667 0.4000 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7402 2.00000 + 5 -30.0141 2.00000 + 6 -30.0009 2.00000 + 7 -29.9685 2.00000 + 8 0.1799 2.00000 + 9 2.6961 2.00000 + 10 4.4700 2.00000 + 11 4.7546 2.00000 + 12 4.9662 2.00000 + 13 8.0964 0.00253 + 14 10.1465 0.00000 + 15 10.7223 0.00000 + 16 11.0608 0.00000 + 17 13.4843 0.00000 + 18 14.7098 0.00000 + + k-point 395 : 0.1333 0.0667 0.4000 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7400 2.00000 + 5 -30.0138 2.00000 + 6 -30.0071 2.00000 + 7 -29.9680 2.00000 + 8 0.3214 2.00000 + 9 2.6647 2.00000 + 10 4.4164 2.00000 + 11 4.8132 2.00000 + 12 5.0527 2.00000 + 13 7.6707 1.99729 + 14 10.1672 0.00000 + 15 10.4384 0.00000 + 16 11.6127 0.00000 + 17 13.1255 0.00000 + 18 15.0675 0.00000 + + k-point 396 : 0.2000 0.0667 0.4000 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7399 2.00000 + 5 -30.0163 2.00000 + 6 -30.0133 2.00000 + 7 -29.9671 2.00000 + 8 0.5403 2.00000 + 9 2.6055 2.00000 + 10 4.3962 2.00000 + 11 4.8703 2.00000 + 12 5.1699 2.00000 + 13 7.2169 2.00000 + 14 9.9996 0.00000 + 15 10.2485 0.00000 + 16 11.9915 0.00000 + 17 13.4963 0.00000 + 18 14.9307 0.00000 + + k-point 397 : 0.2667 0.0667 0.4000 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7397 2.00000 + 5 -30.0266 2.00000 + 6 -30.0127 2.00000 + 7 -29.9662 2.00000 + 8 0.8138 2.00000 + 9 2.5179 2.00000 + 10 4.4217 2.00000 + 11 4.9184 2.00000 + 12 5.2999 2.00000 + 13 6.8210 2.00000 + 14 9.6472 0.00000 + 15 10.2064 0.00000 + 16 11.8412 0.00000 + 17 13.2636 0.00000 + 18 14.4602 0.00000 + + k-point 398 : 0.3333 0.0667 0.4000 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7395 2.00000 + 5 -30.0366 2.00000 + 6 -30.0121 2.00000 + 7 -29.9653 2.00000 + 8 1.1061 2.00000 + 9 2.4089 2.00000 + 10 4.4770 2.00000 + 11 4.9499 2.00000 + 12 5.4309 2.00000 + 13 6.5164 2.00000 + 14 9.3564 0.00000 + 15 10.0920 0.00000 + 16 11.6293 0.00000 + 17 13.0657 0.00000 + 18 15.1621 0.00000 + + k-point 399 : 0.4000 0.0667 0.4000 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4247 2.00000 + 3 -91.2897 2.00000 + 4 -65.7393 2.00000 + 5 -30.0444 2.00000 + 6 -30.0117 2.00000 + 7 -29.9646 2.00000 + 8 1.3737 2.00000 + 9 2.2928 2.00000 + 10 4.5311 2.00000 + 11 4.9651 2.00000 + 12 5.5497 2.00000 + 13 6.3103 2.00000 + 14 9.1728 0.00000 + 15 9.9154 0.00000 + 16 11.5234 0.00000 + 17 12.7770 0.00000 + 18 15.3120 0.00000 + + k-point 400 : 0.4667 0.0667 0.4000 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7392 2.00000 + 5 -30.0487 2.00000 + 6 -30.0114 2.00000 + 7 -29.9642 2.00000 + 8 1.5535 2.00000 + 9 2.2004 2.00000 + 10 4.5595 2.00000 + 11 4.9718 2.00000 + 12 5.6296 2.00000 + 13 6.2011 2.00000 + 14 9.0958 0.00000 + 15 9.7761 0.00000 + 16 11.4975 0.00000 + 17 12.5932 0.00000 + 18 15.0907 0.00000 + + k-point 401 : 0.0000 0.1333 0.4000 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7400 2.00000 + 5 -30.0138 2.00000 + 6 -29.9979 2.00000 + 7 -29.9775 2.00000 + 8 0.2825 2.00000 + 9 2.6761 2.00000 + 10 4.5064 2.00000 + 11 4.8000 2.00000 + 12 4.9688 2.00000 + 13 7.7564 1.92606 + 14 10.1137 0.00000 + 15 10.4867 0.00000 + 16 11.6479 0.00000 + 17 13.3919 0.00000 + 18 14.4508 0.00000 + + k-point 402 : 0.0667 0.1333 0.4000 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7400 2.00000 + 5 -30.0137 2.00000 + 6 -30.0001 2.00000 + 7 -29.9773 2.00000 + 8 0.3313 2.00000 + 9 2.6826 2.00000 + 10 4.4604 2.00000 + 11 4.8061 2.00000 + 12 5.0256 2.00000 + 13 7.5867 1.99997 + 14 10.1283 0.00000 + 15 10.6729 0.00000 + 16 11.4680 0.00000 + 17 13.1394 0.00000 + 18 14.3328 0.00000 + + k-point 403 : 0.1333 0.1333 0.4000 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4247 2.00000 + 3 -91.2897 2.00000 + 4 -65.7398 2.00000 + 5 -30.0133 2.00000 + 6 -30.0063 2.00000 + 7 -29.9768 2.00000 + 8 0.4736 2.00000 + 9 2.6942 2.00000 + 10 4.3753 2.00000 + 11 4.8323 2.00000 + 12 5.1415 2.00000 + 13 7.2084 2.00000 + 14 10.1072 0.00000 + 15 10.9314 0.00000 + 16 11.2329 0.00000 + 17 12.9608 0.00000 + 18 14.6853 0.00000 + + k-point 404 : 0.2000 0.1333 0.4000 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2900 2.00000 + 4 -65.7397 2.00000 + 5 -30.0155 2.00000 + 6 -30.0128 2.00000 + 7 -29.9760 2.00000 + 8 0.6917 2.00000 + 9 2.6939 2.00000 + 10 4.3211 2.00000 + 11 4.8693 2.00000 + 12 5.2665 2.00000 + 13 6.8005 2.00000 + 14 9.9630 0.00000 + 15 10.5675 0.00000 + 16 11.4806 0.00000 + 17 13.0652 0.00000 + 18 14.4338 0.00000 + + k-point 405 : 0.2667 0.1333 0.4000 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7395 2.00000 + 5 -30.0259 2.00000 + 6 -30.0122 2.00000 + 7 -29.9751 2.00000 + 8 0.9628 2.00000 + 9 2.6633 2.00000 + 10 4.3343 2.00000 + 11 4.8939 2.00000 + 12 5.3859 2.00000 + 13 6.4620 2.00000 + 14 9.6578 0.00000 + 15 10.1908 0.00000 + 16 11.5257 0.00000 + 17 13.6164 0.00000 + 18 15.5505 0.00000 + + k-point 406 : 0.3333 0.1333 0.4000 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7393 2.00000 + 5 -30.0359 2.00000 + 6 -30.0116 2.00000 + 7 -29.9742 2.00000 + 8 1.2487 2.00000 + 9 2.5974 2.00000 + 10 4.4087 2.00000 + 11 4.8823 2.00000 + 12 5.5018 2.00000 + 13 6.2380 2.00000 + 14 9.3183 0.00000 + 15 9.7979 0.00000 + 16 11.5299 0.00000 + 17 13.8800 0.00000 + 18 14.6587 0.00000 + + k-point 407 : 0.4000 0.1333 0.4000 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7391 2.00000 + 5 -30.0437 2.00000 + 6 -30.0112 2.00000 + 7 -29.9735 2.00000 + 8 1.5051 2.00000 + 9 2.5119 2.00000 + 10 4.4950 2.00000 + 11 4.8424 2.00000 + 12 5.6205 2.00000 + 13 6.1187 2.00000 + 14 9.0647 0.00000 + 15 9.4200 0.00000 + 16 11.5701 0.00000 + 17 13.6103 0.00000 + 18 15.8073 0.00000 + + k-point 408 : 0.4667 0.1333 0.4000 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7390 2.00000 + 5 -30.0480 2.00000 + 6 -30.0110 2.00000 + 7 -29.9731 2.00000 + 8 1.6705 2.00000 + 9 2.4419 2.00000 + 10 4.5400 2.00000 + 11 4.8182 2.00000 + 12 5.7164 2.00000 + 13 6.0601 2.00000 + 14 8.9498 0.00000 + 15 9.1654 0.00000 + 16 11.6090 0.00000 + 17 13.4604 0.00000 + 18 15.4612 0.00000 + + k-point 409 : 0.0000 0.2000 0.4000 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7397 2.00000 + 5 -30.0130 2.00000 + 6 -29.9967 2.00000 + 7 -29.9905 2.00000 + 8 0.5171 2.00000 + 9 2.6203 2.00000 + 10 4.5293 2.00000 + 11 4.9234 2.00000 + 12 5.0169 2.00000 + 13 7.2171 2.00000 + 14 9.9208 0.00000 + 15 10.3388 0.00000 + 16 12.4204 0.00000 + 17 12.7407 0.00000 + 18 14.2892 0.00000 + + k-point 410 : 0.0667 0.2000 0.4000 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7397 2.00000 + 5 -30.0129 2.00000 + 6 -29.9989 2.00000 + 7 -29.9903 2.00000 + 8 0.5656 2.00000 + 9 2.6459 2.00000 + 10 4.4784 2.00000 + 11 4.8801 2.00000 + 12 5.1125 2.00000 + 13 7.0689 2.00000 + 14 9.9752 0.00000 + 15 10.4280 0.00000 + 16 12.5187 0.00000 + 17 32.9739 0.00000 + 18 35.7387 0.00000 + + k-point 411 : 0.1333 0.2000 0.4000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7396 2.00000 + 5 -30.0125 2.00000 + 6 -30.0051 2.00000 + 7 -29.9898 2.00000 + 8 0.7061 2.00000 + 9 2.7176 2.00000 + 10 4.3568 2.00000 + 11 4.8822 2.00000 + 12 5.2415 2.00000 + 13 6.7298 2.00000 + 14 9.8871 0.00000 + 15 10.7646 0.00000 + 16 11.4466 0.00000 + 17 14.5915 0.00000 + 18 38.5493 0.00000 + + k-point 412 : 0.2000 0.2000 0.4000 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2900 2.00000 + 4 -65.7394 2.00000 + 5 -30.0143 2.00000 + 6 -30.0120 2.00000 + 7 -29.9890 2.00000 + 8 0.9230 2.00000 + 9 2.8144 2.00000 + 10 4.2395 2.00000 + 11 4.9255 2.00000 + 12 5.3419 2.00000 + 13 6.3667 2.00000 + 14 9.5538 0.00000 + 15 11.0084 0.00000 + 16 11.1693 0.00000 + 17 13.0107 0.00000 + 18 14.8133 0.00000 + + k-point 413 : 0.2667 0.2000 0.4000 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7392 2.00000 + 5 -30.0248 2.00000 + 6 -30.0115 2.00000 + 7 -29.9881 2.00000 + 8 1.1884 2.00000 + 9 2.8932 2.00000 + 10 4.1953 2.00000 + 11 4.9555 2.00000 + 12 5.3985 2.00000 + 13 6.1037 2.00000 + 14 9.0980 0.00000 + 15 10.5664 0.00000 + 16 11.4010 0.00000 + 17 13.2814 0.00000 + 18 14.7039 0.00000 + + k-point 414 : 0.3333 0.2000 0.4000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7390 2.00000 + 5 -30.0349 2.00000 + 6 -30.0110 2.00000 + 7 -29.9873 2.00000 + 8 1.4648 2.00000 + 9 2.9108 2.00000 + 10 4.2604 2.00000 + 11 4.8930 2.00000 + 12 5.4670 2.00000 + 13 5.9927 2.00000 + 14 8.6547 0.00000 + 15 10.0335 0.00000 + 16 11.5522 0.00000 + 17 13.8640 0.00000 + 18 14.7888 0.00000 + + k-point 415 : 0.4000 0.2000 0.4000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7389 2.00000 + 5 -30.0427 2.00000 + 6 -30.0105 2.00000 + 7 -29.9866 2.00000 + 8 1.7087 2.00000 + 9 2.8704 2.00000 + 10 4.3914 2.00000 + 11 4.7599 2.00000 + 12 5.6061 2.00000 + 13 5.9584 2.00000 + 14 8.3087 0.00000 + 15 9.5375 0.00000 + 16 11.6648 0.00000 + 17 14.4457 0.00000 + 18 14.7936 0.00000 + + k-point 416 : 0.4667 0.2000 0.4000 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7388 2.00000 + 5 -30.0470 2.00000 + 6 -30.0104 2.00000 + 7 -29.9863 2.00000 + 8 1.8594 2.00000 + 9 2.8218 2.00000 + 10 4.4916 2.00000 + 11 4.6640 2.00000 + 12 5.7708 2.00000 + 13 5.9044 2.00000 + 14 8.1176 0.00090 + 15 9.2281 0.00000 + 16 11.7299 0.00000 + 17 14.3458 0.00000 + 18 15.1540 0.00000 + + k-point 417 : 0.0000 0.2667 0.4000 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7395 2.00000 + 5 -30.0121 2.00000 + 6 -30.0053 2.00000 + 7 -29.9953 2.00000 + 8 0.8079 2.00000 + 9 2.5334 2.00000 + 10 4.5838 2.00000 + 11 5.0666 2.00000 + 12 5.0783 2.00000 + 13 6.7500 2.00000 + 14 9.6333 0.00000 + 15 10.3108 0.00000 + 16 12.2505 0.00000 + 17 12.6826 0.00000 + 18 14.7554 0.00000 + + k-point 418 : 0.0667 0.2667 0.4000 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7394 2.00000 + 5 -30.0120 2.00000 + 6 -30.0051 2.00000 + 7 -29.9975 2.00000 + 8 0.8563 2.00000 + 9 2.5778 2.00000 + 10 4.5415 2.00000 + 11 4.9542 2.00000 + 12 5.2219 2.00000 + 13 6.6261 2.00000 + 14 9.6800 0.00000 + 15 10.3030 0.00000 + 16 11.8282 0.00000 + 17 13.2292 0.00000 + 18 14.7293 0.00000 + + k-point 419 : 0.1333 0.2667 0.4000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4257 2.00000 + 3 -91.2906 2.00000 + 4 -65.7393 2.00000 + 5 -30.0117 2.00000 + 6 -30.0046 2.00000 + 7 -30.0037 2.00000 + 8 0.9944 2.00000 + 9 2.7079 2.00000 + 10 4.4058 2.00000 + 11 4.9318 2.00000 + 12 5.3400 2.00000 + 13 6.3377 2.00000 + 14 9.5130 0.00000 + 15 10.4672 0.00000 + 16 11.4998 0.00000 + 17 13.8778 0.00000 + 18 18.0925 0.00000 + + k-point 420 : 0.2000 0.2667 0.4000 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7391 2.00000 + 5 -30.0130 2.00000 + 6 -30.0112 2.00000 + 7 -30.0039 2.00000 + 8 1.2055 2.00000 + 9 2.9156 2.00000 + 10 4.2276 2.00000 + 11 4.9929 2.00000 + 12 5.3616 2.00000 + 13 6.0549 2.00000 + 14 9.0232 0.00000 + 15 10.8076 0.00000 + 16 11.3166 0.00000 + 17 13.1705 0.00000 + 18 14.8540 0.00000 + + k-point 421 : 0.2667 0.2667 0.4000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7389 2.00000 + 5 -30.0235 2.00000 + 6 -30.0107 2.00000 + 7 -30.0030 2.00000 + 8 1.4620 2.00000 + 9 3.1623 2.00000 + 10 4.0828 2.00000 + 11 5.0864 2.00000 + 12 5.2214 2.00000 + 13 5.9363 2.00000 + 14 8.4563 0.00000 + 15 10.8355 0.00000 + 16 11.2520 0.00000 + 17 13.1419 0.00000 + 18 15.5800 0.00000 + + k-point 422 : 0.3333 0.2667 0.4000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7387 2.00000 + 5 -30.0336 2.00000 + 6 -30.0102 2.00000 + 7 -30.0022 2.00000 + 8 1.7297 2.00000 + 9 3.3337 2.00000 + 10 4.0790 2.00000 + 11 4.9123 2.00000 + 12 5.2921 2.00000 + 13 5.9385 2.00000 + 14 7.9391 0.42621 + 15 10.2850 0.00000 + 16 11.4643 0.00000 + 17 13.4225 0.00000 + 18 15.4710 0.00000 + + k-point 423 : 0.4000 0.2667 0.4000 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4260 2.00000 + 3 -91.2909 2.00000 + 4 -65.7386 2.00000 + 5 -30.0415 2.00000 + 6 -30.0098 2.00000 + 7 -30.0016 2.00000 + 8 1.9664 2.00000 + 9 3.3331 2.00000 + 10 4.2564 2.00000 + 11 4.6894 2.00000 + 12 5.4784 2.00000 + 13 5.9482 2.00000 + 14 7.5447 2.00000 + 15 9.6945 0.00000 + 16 11.6252 0.00000 + 17 13.7684 0.00000 + 18 15.1176 0.00000 + + k-point 424 : 0.4667 0.2667 0.4000 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4260 2.00000 + 3 -91.2910 2.00000 + 4 -65.7385 2.00000 + 5 -30.0458 2.00000 + 6 -30.0096 2.00000 + 7 -30.0012 2.00000 + 8 2.1159 2.00000 + 9 3.2777 2.00000 + 10 4.4136 2.00000 + 11 4.5730 2.00000 + 12 5.6529 2.00000 + 13 5.9143 2.00000 + 14 7.3340 2.00000 + 15 9.3087 0.00000 + 16 11.7152 0.00000 + 17 14.2992 0.00000 + 18 15.1018 0.00000 + + k-point 425 : 0.0000 0.3333 0.4000 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7391 2.00000 + 5 -30.0194 2.00000 + 6 -30.0113 2.00000 + 7 -29.9940 2.00000 + 8 1.1188 2.00000 + 9 2.4225 2.00000 + 10 4.6599 2.00000 + 11 5.1059 2.00000 + 12 5.2458 2.00000 + 13 6.3781 2.00000 + 14 9.4462 0.00000 + 15 10.2515 0.00000 + 16 11.8462 0.00000 + 17 12.3849 0.00000 + 18 15.2872 0.00000 + + k-point 426 : 0.0667 0.3333 0.4000 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2906 2.00000 + 4 -65.7391 2.00000 + 5 -30.0192 2.00000 + 6 -30.0112 2.00000 + 7 -29.9962 2.00000 + 8 1.1663 2.00000 + 9 2.4798 2.00000 + 10 4.6338 2.00000 + 11 5.0065 2.00000 + 12 5.3465 2.00000 + 13 6.2884 2.00000 + 14 9.4413 0.00000 + 15 10.1362 0.00000 + 16 11.5983 0.00000 + 17 12.9221 0.00000 + 18 14.9830 0.00000 + + k-point 427 : 0.1333 0.3333 0.4000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2905 2.00000 + 4 -65.7390 2.00000 + 5 -30.0187 2.00000 + 6 -30.0108 2.00000 + 7 -30.0025 2.00000 + 8 1.2998 2.00000 + 9 2.6535 2.00000 + 10 4.5224 2.00000 + 11 4.9355 2.00000 + 12 5.4403 2.00000 + 13 6.0847 2.00000 + 14 9.1320 0.00000 + 15 10.1355 0.00000 + 16 11.4935 0.00000 + 17 14.1593 0.00000 + 18 15.0031 0.00000 + + k-point 428 : 0.2000 0.3333 0.4000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7388 2.00000 + 5 -30.0181 2.00000 + 6 -30.0118 2.00000 + 7 -30.0103 2.00000 + 8 1.5018 2.00000 + 9 2.9434 2.00000 + 10 4.3332 2.00000 + 11 4.9416 2.00000 + 12 5.4009 2.00000 + 13 5.9358 2.00000 + 14 8.5164 0.00000 + 15 10.3690 0.00000 + 16 11.4796 0.00000 + 17 13.6233 0.00000 + 18 15.4168 0.00000 + + k-point 429 : 0.2667 0.3333 0.4000 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7386 2.00000 + 5 -30.0224 2.00000 + 6 -30.0173 2.00000 + 7 -30.0098 2.00000 + 8 1.7486 2.00000 + 9 3.3382 2.00000 + 10 4.1257 2.00000 + 11 4.9091 2.00000 + 12 5.2805 2.00000 + 13 5.9294 2.00000 + 14 7.8705 1.13750 + 15 10.5822 0.00000 + 16 11.3190 0.00000 + 17 14.4746 0.00000 + 18 15.4084 0.00000 + + k-point 430 : 0.3333 0.3333 0.4000 + band No. band energies occupation + 1 -91.8812 2.00000 + 2 -91.4262 2.00000 + 3 -91.2911 2.00000 + 4 -65.7384 2.00000 + 5 -30.0325 2.00000 + 6 -30.0165 2.00000 + 7 -30.0094 2.00000 + 8 2.0137 2.00000 + 9 3.7924 2.00000 + 10 3.9366 2.00000 + 11 4.7182 2.00000 + 12 5.3253 2.00000 + 13 5.9653 2.00000 + 14 7.2969 2.00000 + 15 10.3874 0.00000 + 16 11.1648 0.00000 + 17 13.7918 0.00000 + 18 15.7649 0.00000 + + k-point 431 : 0.4000 0.3333 0.4000 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2910 2.00000 + 4 -65.7383 2.00000 + 5 -30.0404 2.00000 + 6 -30.0159 2.00000 + 7 -30.0090 2.00000 + 8 2.2614 2.00000 + 9 3.7478 2.00000 + 10 4.2324 2.00000 + 11 4.5462 2.00000 + 12 5.4530 2.00000 + 13 5.9817 2.00000 + 14 6.8661 2.00000 + 15 9.8164 0.00000 + 16 11.2354 0.00000 + 17 13.3824 0.00000 + 18 15.4946 0.00000 + + k-point 432 : 0.4667 0.3333 0.4000 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4260 2.00000 + 3 -91.2909 2.00000 + 4 -65.7382 2.00000 + 5 -30.0447 2.00000 + 6 -30.0156 2.00000 + 7 -30.0087 2.00000 + 8 2.4276 2.00000 + 9 3.6308 2.00000 + 10 4.3095 2.00000 + 11 4.6704 2.00000 + 12 5.5414 2.00000 + 13 5.9604 2.00000 + 14 6.6554 2.00000 + 15 9.3847 0.00000 + 16 11.2998 0.00000 + 17 13.4998 0.00000 + 18 15.5406 0.00000 + + k-point 433 : 0.0000 0.4000 0.4000 + band No. band energies occupation + 1 -91.8812 2.00000 + 2 -91.4262 2.00000 + 3 -91.2911 2.00000 + 4 -65.7389 2.00000 + 5 -30.0304 2.00000 + 6 -30.0107 2.00000 + 7 -29.9930 2.00000 + 8 1.4059 2.00000 + 9 2.2991 2.00000 + 10 4.7303 2.00000 + 11 5.1280 2.00000 + 12 5.4014 2.00000 + 13 6.1085 2.00000 + 14 9.4200 0.00000 + 15 10.1068 0.00000 + 16 11.5735 0.00000 + 17 12.0510 0.00000 + 18 15.2640 0.00000 + + k-point 434 : 0.0667 0.4000 0.4000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2908 2.00000 + 4 -65.7389 2.00000 + 5 -30.0302 2.00000 + 6 -30.0105 2.00000 + 7 -29.9952 2.00000 + 8 1.4496 2.00000 + 9 2.3666 2.00000 + 10 4.7143 2.00000 + 11 5.0343 2.00000 + 12 5.4738 2.00000 + 13 6.0596 2.00000 + 14 9.3470 0.00000 + 15 9.8894 0.00000 + 16 11.4911 0.00000 + 17 12.5501 0.00000 + 18 15.0042 0.00000 + + k-point 435 : 0.1333 0.4000 0.4000 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7387 2.00000 + 5 -30.0298 2.00000 + 6 -30.0102 2.00000 + 7 -30.0014 2.00000 + 8 1.5741 2.00000 + 9 2.5692 2.00000 + 10 4.6449 2.00000 + 11 4.8922 2.00000 + 12 5.5587 2.00000 + 13 5.9560 2.00000 + 14 8.8420 0.00000 + 15 9.8198 0.00000 + 16 11.5326 0.00000 + 17 13.4548 0.00000 + 18 15.3070 0.00000 + + k-point 436 : 0.2000 0.4000 0.4000 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2903 2.00000 + 4 -65.7385 2.00000 + 5 -30.0291 2.00000 + 6 -30.0108 2.00000 + 7 -30.0097 2.00000 + 8 1.7645 2.00000 + 9 2.9023 2.00000 + 10 4.5006 2.00000 + 11 4.7818 2.00000 + 12 5.5503 2.00000 + 13 5.9099 2.00000 + 14 8.1185 0.00086 + 15 9.9431 0.00000 + 16 11.5982 0.00000 + 17 14.1559 0.00000 + 18 15.5155 0.00000 + + k-point 437 : 0.2667 0.4000 0.4000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7383 2.00000 + 5 -30.0283 2.00000 + 6 -30.0214 2.00000 + 7 -30.0092 2.00000 + 8 2.0055 2.00000 + 9 3.3368 2.00000 + 10 4.3451 2.00000 + 11 4.6481 2.00000 + 12 5.4981 2.00000 + 13 5.9423 2.00000 + 14 7.4143 2.00000 + 15 10.0772 0.00000 + 16 11.5013 0.00000 + 17 14.0698 0.00000 + 18 15.1813 0.00000 + + k-point 438 : 0.3333 0.4000 0.4000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7382 2.00000 + 5 -30.0316 2.00000 + 6 -30.0276 2.00000 + 7 -30.0088 2.00000 + 8 2.2811 2.00000 + 9 3.7459 2.00000 + 10 4.2885 2.00000 + 11 4.4782 2.00000 + 12 5.5123 2.00000 + 13 5.9815 2.00000 + 14 6.7976 2.00000 + 15 10.1223 0.00000 + 16 10.9975 0.00000 + 17 13.3162 0.00000 + 18 35.4508 0.00000 + + k-point 439 : 0.4000 0.4000 0.4000 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4260 2.00000 + 3 -91.2910 2.00000 + 4 -65.7380 2.00000 + 5 -30.0395 2.00000 + 6 -30.0270 2.00000 + 7 -30.0084 2.00000 + 8 2.5605 2.00000 + 9 3.8201 2.00000 + 10 4.2232 2.00000 + 11 4.6720 2.00000 + 12 5.5887 2.00000 + 13 5.9853 2.00000 + 14 6.3304 2.00000 + 15 9.8542 0.00000 + 16 10.6312 0.00000 + 17 13.3008 0.00000 + 18 15.9780 0.00000 + + k-point 440 : 0.4667 0.4000 0.4000 + band No. band energies occupation + 1 -91.8815 2.00000 + 2 -91.4265 2.00000 + 3 -91.2915 2.00000 + 4 -65.7380 2.00000 + 5 -30.0439 2.00000 + 6 -30.0268 2.00000 + 7 -30.0082 2.00000 + 8 2.7690 2.00000 + 9 3.7318 2.00000 + 10 4.1082 2.00000 + 11 5.0768 2.00000 + 12 5.5474 2.00000 + 13 5.9652 2.00000 + 14 6.1318 2.00000 + 15 9.4421 0.00000 + 16 10.5773 0.00000 + 17 13.3598 0.00000 + 18 15.6239 0.00000 + + k-point 441 : 0.0000 0.4667 0.4000 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2911 2.00000 + 4 -65.7388 2.00000 + 5 -30.0364 2.00000 + 6 -30.0103 2.00000 + 7 -29.9924 2.00000 + 8 1.6041 2.00000 + 9 2.1949 2.00000 + 10 4.7707 2.00000 + 11 5.1368 2.00000 + 12 5.5104 2.00000 + 13 5.9515 2.00000 + 14 9.5274 0.00000 + 15 9.9063 0.00000 + 16 11.4475 0.00000 + 17 11.8572 0.00000 + 18 14.7311 0.00000 + + k-point 442 : 0.0667 0.4667 0.4000 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2905 2.00000 + 4 -65.7387 2.00000 + 5 -30.0362 2.00000 + 6 -30.0101 2.00000 + 7 -29.9946 2.00000 + 8 1.6419 2.00000 + 9 2.2709 2.00000 + 10 4.7507 2.00000 + 11 5.0499 2.00000 + 12 5.5743 2.00000 + 13 5.9294 2.00000 + 14 9.4032 0.00000 + 15 9.6388 0.00000 + 16 11.4753 0.00000 + 17 12.3145 0.00000 + 18 15.0586 0.00000 + + k-point 443 : 0.1333 0.4667 0.4000 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7386 2.00000 + 5 -30.0358 2.00000 + 6 -30.0099 2.00000 + 7 -30.0009 2.00000 + 8 1.7525 2.00000 + 9 2.4947 2.00000 + 10 4.6872 2.00000 + 11 4.8807 2.00000 + 12 5.6780 2.00000 + 13 5.8786 2.00000 + 14 8.6877 0.00000 + 15 9.6263 0.00000 + 16 11.5761 0.00000 + 17 13.1883 0.00000 + 18 15.0368 0.00000 + + k-point 444 : 0.2000 0.4667 0.4000 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2909 2.00000 + 4 -65.7384 2.00000 + 5 -30.0351 2.00000 + 6 -30.0103 2.00000 + 7 -30.0094 2.00000 + 8 1.9301 2.00000 + 9 2.8492 2.00000 + 10 4.5787 2.00000 + 11 4.7121 2.00000 + 12 5.7281 2.00000 + 13 5.8578 2.00000 + 14 7.8952 0.86080 + 15 9.6755 0.00000 + 16 11.6667 0.00000 + 17 14.3103 0.00000 + 18 38.9176 0.00000 + + k-point 445 : 0.2667 0.4667 0.4000 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4260 2.00000 + 3 -91.2909 2.00000 + 4 -65.7382 2.00000 + 5 -30.0344 2.00000 + 6 -30.0209 2.00000 + 7 -30.0089 2.00000 + 8 2.1704 2.00000 + 9 3.2839 2.00000 + 10 4.4368 2.00000 + 11 4.5966 2.00000 + 12 5.6971 2.00000 + 13 5.9055 2.00000 + 14 7.1618 2.00000 + 15 9.7305 0.00000 + 16 11.5519 0.00000 + 17 13.7092 0.00000 + 18 15.1518 0.00000 + + k-point 446 : 0.3333 0.4667 0.4000 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7380 2.00000 + 5 -30.0336 2.00000 + 6 -30.0310 2.00000 + 7 -30.0084 2.00000 + 8 2.4625 2.00000 + 9 3.6552 2.00000 + 10 4.2572 2.00000 + 11 4.6667 2.00000 + 12 5.6659 2.00000 + 13 5.9462 2.00000 + 14 6.5416 2.00000 + 15 9.7701 0.00000 + 16 11.0159 0.00000 + 17 13.7528 0.00000 + 18 15.5596 0.00000 + + k-point 447 : 0.4000 0.4667 0.4000 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4260 2.00000 + 3 -91.2910 2.00000 + 4 -65.7379 2.00000 + 5 -30.0390 2.00000 + 6 -30.0331 2.00000 + 7 -30.0080 2.00000 + 8 2.7831 2.00000 + 9 3.7889 2.00000 + 10 4.0361 2.00000 + 11 5.0350 2.00000 + 12 5.6638 2.00000 + 13 5.9246 2.00000 + 14 6.1048 2.00000 + 15 9.7327 0.00000 + 16 10.2984 0.00000 + 17 13.3147 0.00000 + 18 15.4211 0.00000 + + k-point 448 : 0.4667 0.4667 0.4000 + band No. band energies occupation + 1 -91.8812 2.00000 + 2 -91.4262 2.00000 + 3 -91.2912 2.00000 + 4 -65.7378 2.00000 + 5 -30.0434 2.00000 + 6 -30.0328 2.00000 + 7 -30.0078 2.00000 + 8 3.0626 2.00000 + 9 3.7463 2.00000 + 10 3.8683 2.00000 + 11 5.4341 2.00000 + 12 5.6823 2.00000 + 13 5.7756 2.00000 + 14 5.9556 2.00000 + 15 9.4675 0.00000 + 16 10.0217 0.00000 + 17 13.3491 0.00000 + 18 16.1206 0.00000 + + k-point 449 : 0.0000 0.0000 0.4667 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4260 2.00000 + 3 -91.2910 2.00000 + 4 -65.7397 2.00000 + 5 -30.0332 2.00000 + 6 -29.9970 2.00000 + 7 -29.9635 2.00000 + 8 0.5736 2.00000 + 9 2.1119 2.00000 + 10 4.5165 2.00000 + 11 4.5676 2.00000 + 12 4.7863 2.00000 + 13 8.6168 0.00000 + 14 10.8092 0.00000 + 15 11.1222 0.00000 + 16 11.2007 0.00000 + 17 14.0197 0.00000 + 18 39.2698 0.00000 + + k-point 450 : 0.0667 0.0000 0.4667 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7395 2.00000 + 5 -30.0330 2.00000 + 6 -29.9991 2.00000 + 7 -29.9633 2.00000 + 8 0.6291 2.00000 + 9 2.0977 2.00000 + 10 4.5093 2.00000 + 11 4.5944 2.00000 + 12 4.8096 2.00000 + 13 8.4094 0.00000 + 14 10.7035 0.00000 + 15 11.1656 0.00000 + 16 11.6529 0.00000 + 17 14.1405 0.00000 + 18 41.5789 0.00000 + + k-point 451 : 0.1333 0.0000 0.4667 + band No. band energies occupation + 1 -91.8796 2.00000 + 2 -91.4247 2.00000 + 3 -91.2896 2.00000 + 4 -65.7394 2.00000 + 5 -30.0326 2.00000 + 6 -30.0053 2.00000 + 7 -29.9627 2.00000 + 8 0.7865 2.00000 + 9 2.0532 2.00000 + 10 4.5078 2.00000 + 11 4.6507 2.00000 + 12 4.8773 2.00000 + 13 7.9670 0.23363 + 14 10.4342 0.00000 + 15 11.1229 0.00000 + 16 12.2041 0.00000 + 17 12.2648 0.00000 + 18 14.3078 0.00000 + + k-point 452 : 0.2000 0.0000 0.4667 + band No. band energies occupation + 1 -91.8795 2.00000 + 2 -91.4245 2.00000 + 3 -91.2895 2.00000 + 4 -65.7392 2.00000 + 5 -30.0322 2.00000 + 6 -30.0144 2.00000 + 7 -29.9619 2.00000 + 8 1.0275 2.00000 + 9 1.9962 2.00000 + 10 4.5159 2.00000 + 11 4.7211 2.00000 + 12 4.9818 2.00000 + 13 7.4959 2.00000 + 14 10.0943 0.00000 + 15 11.0206 0.00000 + 16 11.8767 0.00000 + 17 13.0219 0.00000 + 18 14.6524 0.00000 + + k-point 453 : 0.2667 0.0000 0.4667 + band No. band energies occupation + 1 -91.8795 2.00000 + 2 -91.4245 2.00000 + 3 -91.2895 2.00000 + 4 -65.7390 2.00000 + 5 -30.0316 2.00000 + 6 -30.0249 2.00000 + 7 -29.9609 2.00000 + 8 1.3090 2.00000 + 9 1.9542 2.00000 + 10 4.5205 2.00000 + 11 4.7985 2.00000 + 12 5.1102 2.00000 + 13 7.0804 2.00000 + 14 9.7491 0.00000 + 15 10.7814 0.00000 + 16 12.7825 0.00000 + 17 14.2666 0.00000 + 18 40.5060 0.00000 + + k-point 454 : 0.3333 0.0000 0.4667 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7388 2.00000 + 5 -30.0349 2.00000 + 6 -30.0311 2.00000 + 7 -29.9600 2.00000 + 8 1.5312 2.00000 + 9 1.9991 2.00000 + 10 4.5052 2.00000 + 11 4.8754 2.00000 + 12 5.2431 2.00000 + 13 6.7527 2.00000 + 14 9.4493 0.00000 + 15 10.4582 0.00000 + 16 11.6293 0.00000 + 17 12.3813 0.00000 + 18 15.5445 0.00000 + + k-point 455 : 0.4000 0.0000 0.4667 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7387 2.00000 + 5 -30.0428 2.00000 + 6 -30.0307 2.00000 + 7 -29.9593 2.00000 + 8 1.5968 2.00000 + 9 2.1802 2.00000 + 10 4.4669 2.00000 + 11 4.9394 2.00000 + 12 5.3556 2.00000 + 13 6.5274 2.00000 + 14 9.2375 0.00000 + 15 10.2067 0.00000 + 16 12.0084 0.00000 + 17 14.2385 0.00000 + 18 36.2448 0.00000 + + k-point 456 : 0.4667 0.0000 0.4667 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2901 2.00000 + 4 -65.7386 2.00000 + 5 -30.0470 2.00000 + 6 -30.0305 2.00000 + 7 -29.9589 2.00000 + 8 1.5982 2.00000 + 9 2.3352 2.00000 + 10 4.4290 2.00000 + 11 4.9767 2.00000 + 12 5.4211 2.00000 + 13 6.4124 2.00000 + 14 9.1302 0.00000 + 15 10.0506 0.00000 + 16 11.6269 0.00000 + 17 11.8418 0.00000 + 18 15.0676 0.00000 + + k-point 457 : 0.0000 0.0667 0.4667 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7395 2.00000 + 5 -30.0330 2.00000 + 6 -29.9966 2.00000 + 7 -29.9665 2.00000 + 8 0.6330 2.00000 + 9 2.1018 2.00000 + 10 4.5271 2.00000 + 11 4.5956 2.00000 + 12 4.7951 2.00000 + 13 8.3518 0.00000 + 14 11.1089 0.00000 + 15 11.1684 0.00000 + 16 13.7806 0.00000 + 17 14.1363 0.00000 + 18 19.9386 0.00000 + + k-point 458 : 0.0667 0.0667 0.4667 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4251 2.00000 + 3 -91.2900 2.00000 + 4 -65.7395 2.00000 + 5 -30.0328 2.00000 + 6 -29.9988 2.00000 + 7 -29.9664 2.00000 + 8 0.6878 2.00000 + 9 2.0898 2.00000 + 10 4.5140 2.00000 + 11 4.6007 2.00000 + 12 4.8434 2.00000 + 13 8.1649 0.00007 + 14 10.9818 0.00000 + 15 11.1274 0.00000 + 16 11.4259 0.00000 + 17 13.4427 0.00000 + 18 14.6883 0.00000 + + k-point 459 : 0.1333 0.0667 0.4667 + band No. band energies occupation + 1 -91.8794 2.00000 + 2 -91.4244 2.00000 + 3 -91.2894 2.00000 + 4 -65.7393 2.00000 + 5 -30.0325 2.00000 + 6 -30.0049 2.00000 + 7 -29.9658 2.00000 + 8 0.8465 2.00000 + 9 2.0591 2.00000 + 10 4.4969 2.00000 + 11 4.6223 2.00000 + 12 4.9548 2.00000 + 13 7.7541 1.93112 + 14 10.6858 0.00000 + 15 11.0717 0.00000 + 16 11.8125 0.00000 + 17 12.3245 0.00000 + 18 14.7406 0.00000 + + k-point 460 : 0.2000 0.0667 0.4667 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2898 2.00000 + 4 -65.7392 2.00000 + 5 -30.0320 2.00000 + 6 -30.0142 2.00000 + 7 -29.9650 2.00000 + 8 1.0875 2.00000 + 9 2.0159 2.00000 + 10 4.4997 2.00000 + 11 4.6561 2.00000 + 12 5.0929 2.00000 + 13 7.3100 2.00000 + 14 10.3059 0.00000 + 15 10.8388 0.00000 + 16 11.7195 0.00000 + 17 13.5031 0.00000 + 18 14.7149 0.00000 + + k-point 461 : 0.2667 0.0667 0.4667 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4247 2.00000 + 3 -91.2896 2.00000 + 4 -65.7389 2.00000 + 5 -30.0315 2.00000 + 6 -30.0246 2.00000 + 7 -29.9641 2.00000 + 8 1.3668 2.00000 + 9 1.9926 2.00000 + 10 4.5154 2.00000 + 11 4.6963 2.00000 + 12 5.2390 2.00000 + 13 6.9228 2.00000 + 14 9.9077 0.00000 + 15 10.4464 0.00000 + 16 11.5965 0.00000 + 17 13.3203 0.00000 + 18 14.3775 0.00000 + + k-point 462 : 0.3333 0.0667 0.4667 + band No. band energies occupation + 1 -91.8799 2.00000 + 2 -91.4249 2.00000 + 3 -91.2899 2.00000 + 4 -65.7388 2.00000 + 5 -30.0347 2.00000 + 6 -30.0310 2.00000 + 7 -29.9632 2.00000 + 8 1.5777 2.00000 + 9 2.0640 2.00000 + 10 4.5124 2.00000 + 11 4.7455 2.00000 + 12 5.3763 2.00000 + 13 6.6315 2.00000 + 14 9.5524 0.00000 + 15 10.0473 0.00000 + 16 12.1279 0.00000 + 17 14.4175 0.00000 + 18 15.1742 0.00000 + + k-point 463 : 0.4000 0.0667 0.4667 + band No. band energies occupation + 1 -91.8801 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7386 2.00000 + 5 -30.0425 2.00000 + 6 -30.0306 2.00000 + 7 -29.9625 2.00000 + 8 1.6379 2.00000 + 9 2.2630 2.00000 + 10 4.4722 2.00000 + 11 4.7995 2.00000 + 12 5.4863 2.00000 + 13 6.4480 2.00000 + 14 9.2884 0.00000 + 15 9.7273 0.00000 + 16 11.6147 0.00000 + 17 12.5272 0.00000 + 18 15.4126 0.00000 + + k-point 464 : 0.4667 0.0667 0.4667 + band No. band energies occupation + 1 -91.8798 2.00000 + 2 -91.4248 2.00000 + 3 -91.2898 2.00000 + 4 -65.7385 2.00000 + 5 -30.0468 2.00000 + 6 -30.0303 2.00000 + 7 -29.9621 2.00000 + 8 1.6405 2.00000 + 9 2.4253 2.00000 + 10 4.4262 2.00000 + 11 4.8365 2.00000 + 12 5.5489 2.00000 + 13 6.3631 2.00000 + 14 9.1487 0.00000 + 15 9.5497 0.00000 + 16 11.6341 0.00000 + 17 12.3538 0.00000 + 18 15.2479 0.00000 + + k-point 465 : 0.0000 0.1333 0.4667 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2908 2.00000 + 4 -65.7394 2.00000 + 5 -30.0325 2.00000 + 6 -29.9959 2.00000 + 7 -29.9755 2.00000 + 8 0.8009 2.00000 + 9 2.0701 2.00000 + 10 4.5572 2.00000 + 11 4.6768 2.00000 + 12 4.8227 2.00000 + 13 7.8284 1.55787 + 14 10.7722 0.00000 + 15 11.2548 0.00000 + 16 12.1273 0.00000 + 17 13.8872 0.00000 + 18 19.3208 0.00000 + + k-point 466 : 0.0667 0.1333 0.4667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7393 2.00000 + 5 -30.0324 2.00000 + 6 -29.9980 2.00000 + 7 -29.9752 2.00000 + 8 0.8570 2.00000 + 9 2.0712 2.00000 + 10 4.5273 2.00000 + 11 4.6328 2.00000 + 12 4.9304 2.00000 + 13 7.6670 1.99772 + 14 10.9814 0.00000 + 15 11.0519 0.00000 + 16 11.6948 0.00000 + 17 14.0784 0.00000 + 18 42.2456 0.00000 + + k-point 467 : 0.1333 0.1333 0.4667 + band No. band energies occupation + 1 -91.8797 2.00000 + 2 -91.4247 2.00000 + 3 -91.2896 2.00000 + 4 -65.7391 2.00000 + 5 -30.0320 2.00000 + 6 -30.0042 2.00000 + 7 -29.9747 2.00000 + 8 1.0176 2.00000 + 9 2.0713 2.00000 + 10 4.4474 2.00000 + 11 4.6405 2.00000 + 12 5.1016 2.00000 + 13 7.2990 2.00000 + 14 10.7764 0.00000 + 15 11.1820 0.00000 + 16 11.3580 0.00000 + 17 12.3963 0.00000 + 18 14.3579 0.00000 + + k-point 468 : 0.2000 0.1333 0.4667 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4250 2.00000 + 3 -91.2899 2.00000 + 4 -65.7390 2.00000 + 5 -30.0316 2.00000 + 6 -30.0134 2.00000 + 7 -29.9739 2.00000 + 8 1.2586 2.00000 + 9 2.0756 2.00000 + 10 4.3961 2.00000 + 11 4.6691 2.00000 + 12 5.2775 2.00000 + 13 6.8932 2.00000 + 14 10.2551 0.00000 + 15 10.7808 0.00000 + 16 11.4976 0.00000 + 17 12.8877 0.00000 + 18 15.8667 0.00000 + + k-point 469 : 0.2667 0.1333 0.4667 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7388 2.00000 + 5 -30.0310 2.00000 + 6 -30.0239 2.00000 + 7 -29.9730 2.00000 + 8 1.5255 2.00000 + 9 2.1140 2.00000 + 10 4.3949 2.00000 + 11 4.6822 2.00000 + 12 5.4431 2.00000 + 13 6.5515 2.00000 + 14 9.6939 0.00000 + 15 10.3186 0.00000 + 16 11.5514 0.00000 + 17 13.6887 0.00000 + 18 13.9888 0.00000 + + k-point 470 : 0.3333 0.1333 0.4667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2903 2.00000 + 4 -65.7386 2.00000 + 5 -30.0340 2.00000 + 6 -30.0305 2.00000 + 7 -29.9721 2.00000 + 8 1.7053 2.00000 + 9 2.2618 2.00000 + 10 4.4314 2.00000 + 11 4.6508 2.00000 + 12 5.5873 2.00000 + 13 6.3317 2.00000 + 14 9.2060 0.00000 + 15 9.8463 0.00000 + 16 11.5922 0.00000 + 17 13.7036 0.00000 + 18 15.4834 0.00000 + + k-point 471 : 0.4000 0.1333 0.4667 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7384 2.00000 + 5 -30.0418 2.00000 + 6 -30.0301 2.00000 + 7 -29.9715 2.00000 + 8 1.7590 2.00000 + 9 2.5073 2.00000 + 10 4.4571 2.00000 + 11 4.5923 2.00000 + 12 5.6986 2.00000 + 13 6.2426 2.00000 + 14 8.8451 0.00000 + 15 9.4436 0.00000 + 16 11.9279 0.00000 + 17 13.5539 0.00000 + 18 15.7128 0.00000 + + k-point 472 : 0.4667 0.1333 0.4667 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7384 2.00000 + 5 -30.0461 2.00000 + 6 -30.0299 2.00000 + 7 -29.9711 2.00000 + 8 1.7660 2.00000 + 9 2.6912 2.00000 + 10 4.4142 2.00000 + 11 4.5895 2.00000 + 12 5.7615 2.00000 + 13 6.2306 2.00000 + 14 8.6509 0.00000 + 15 9.2035 0.00000 + 16 11.6476 0.00000 + 17 14.2805 0.00000 + 18 19.5232 0.00000 + + k-point 473 : 0.0000 0.2000 0.4667 + band No. band energies occupation + 1 -91.8815 2.00000 + 2 -91.4265 2.00000 + 3 -91.2914 2.00000 + 4 -65.7392 2.00000 + 5 -30.0318 2.00000 + 6 -29.9947 2.00000 + 7 -29.9885 2.00000 + 8 1.0577 2.00000 + 9 2.0304 2.00000 + 10 4.6009 2.00000 + 11 4.8033 2.00000 + 12 4.8693 2.00000 + 13 7.2978 2.00000 + 14 10.4120 0.00000 + 15 10.9345 0.00000 + 16 11.8493 0.00000 + 17 12.9361 0.00000 + 18 14.3082 0.00000 + + k-point 474 : 0.0667 0.2000 0.4667 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4262 2.00000 + 3 -91.2911 2.00000 + 4 -65.7391 2.00000 + 5 -30.0317 2.00000 + 6 -29.9968 2.00000 + 7 -29.9883 2.00000 + 8 1.1137 2.00000 + 9 2.0461 2.00000 + 10 4.5591 2.00000 + 11 4.6899 2.00000 + 12 5.0505 2.00000 + 13 7.1547 2.00000 + 14 10.5597 0.00000 + 15 10.7725 0.00000 + 16 11.6641 0.00000 + 17 12.9304 0.00000 + 18 41.7172 0.00000 + + k-point 475 : 0.1333 0.2000 0.4667 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2904 2.00000 + 4 -65.7389 2.00000 + 5 -30.0313 2.00000 + 6 -30.0030 2.00000 + 7 -29.9878 2.00000 + 8 1.2740 2.00000 + 9 2.0929 2.00000 + 10 4.4116 2.00000 + 11 4.7042 2.00000 + 12 5.2624 2.00000 + 13 6.8170 2.00000 + 14 10.1893 0.00000 + 15 11.0104 0.00000 + 16 11.7700 0.00000 + 17 13.5929 0.00000 + 18 14.2934 0.00000 + + k-point 476 : 0.2000 0.2000 0.4667 + band No. band energies occupation + 1 -91.8800 2.00000 + 2 -91.4250 2.00000 + 3 -91.2900 2.00000 + 4 -65.7387 2.00000 + 5 -30.0309 2.00000 + 6 -30.0122 2.00000 + 7 -29.9870 2.00000 + 8 1.5073 2.00000 + 9 2.1781 2.00000 + 10 4.2861 2.00000 + 11 4.7582 2.00000 + 12 5.4598 2.00000 + 13 6.4336 2.00000 + 14 9.5343 0.00000 + 15 11.2013 0.00000 + 16 11.3387 0.00000 + 17 13.1060 0.00000 + 18 38.3097 0.00000 + + k-point 477 : 0.2667 0.2000 0.4667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7385 2.00000 + 5 -30.0304 2.00000 + 6 -30.0228 2.00000 + 7 -29.9861 2.00000 + 8 1.7426 2.00000 + 9 2.3312 2.00000 + 10 4.2213 2.00000 + 11 4.7949 2.00000 + 12 5.6281 2.00000 + 13 6.1217 2.00000 + 14 8.8998 0.00000 + 15 10.7235 0.00000 + 16 11.4983 0.00000 + 17 13.3139 0.00000 + 18 14.5418 0.00000 + + k-point 478 : 0.3333 0.2000 0.4667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2905 2.00000 + 4 -65.7383 2.00000 + 5 -30.0329 2.00000 + 6 -30.0299 2.00000 + 7 -29.9853 2.00000 + 8 1.8915 2.00000 + 9 2.5903 2.00000 + 10 4.2222 2.00000 + 11 4.7435 2.00000 + 12 5.7550 2.00000 + 13 5.9846 2.00000 + 14 8.3534 0.00000 + 15 10.1446 0.00000 + 16 11.5765 0.00000 + 17 14.0941 0.00000 + 18 31.5297 0.00000 + + k-point 479 : 0.4000 0.2000 0.4667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7382 2.00000 + 5 -30.0408 2.00000 + 6 -30.0295 2.00000 + 7 -29.9846 2.00000 + 8 1.9545 2.00000 + 9 2.8962 2.00000 + 10 4.2674 2.00000 + 11 4.5842 2.00000 + 12 5.8671 2.00000 + 13 6.0058 2.00000 + 14 7.9444 0.38375 + 15 9.6138 0.00000 + 16 12.3662 0.00000 + 17 14.4968 0.00000 + 18 35.5494 0.00000 + + k-point 480 : 0.4667 0.2000 0.4667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7381 2.00000 + 5 -30.0451 2.00000 + 6 -30.0292 2.00000 + 7 -29.9843 2.00000 + 8 1.9749 2.00000 + 9 3.1170 2.00000 + 10 4.3238 2.00000 + 11 4.4181 2.00000 + 12 5.9578 2.00000 + 13 6.0552 2.00000 + 14 7.7216 1.97739 + 15 9.2780 0.00000 + 16 11.6484 0.00000 + 17 14.1912 0.00000 + 18 15.2729 0.00000 + + k-point 481 : 0.0000 0.2667 0.4667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2906 2.00000 + 4 -65.7387 2.00000 + 5 -30.0309 2.00000 + 6 -30.0033 2.00000 + 7 -29.9932 2.00000 + 8 1.3568 2.00000 + 9 2.0050 2.00000 + 10 4.6470 2.00000 + 11 4.9310 2.00000 + 12 4.9604 2.00000 + 13 6.8399 2.00000 + 14 10.0603 0.00000 + 15 10.6095 0.00000 + 16 11.6789 0.00000 + 17 12.7079 0.00000 + 18 14.2313 0.00000 + + k-point 482 : 0.0667 0.2667 0.4667 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2910 2.00000 + 4 -65.7387 2.00000 + 5 -30.0309 2.00000 + 6 -30.0032 2.00000 + 7 -29.9955 2.00000 + 8 1.4097 2.00000 + 9 2.0396 2.00000 + 10 4.6145 2.00000 + 11 4.7530 2.00000 + 12 5.1891 2.00000 + 13 6.7162 2.00000 + 14 10.1096 0.00000 + 15 10.3876 0.00000 + 16 11.6000 0.00000 + 17 13.1316 0.00000 + 18 37.6273 0.00000 + + k-point 483 : 0.1333 0.2667 0.4667 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7386 2.00000 + 5 -30.0305 2.00000 + 6 -30.0027 2.00000 + 7 -30.0017 2.00000 + 8 1.5583 2.00000 + 9 2.1490 2.00000 + 10 4.4268 2.00000 + 11 4.7673 2.00000 + 12 5.4207 2.00000 + 13 6.4119 2.00000 + 14 9.5620 0.00000 + 15 10.6052 0.00000 + 16 11.5431 0.00000 + 17 13.8192 0.00000 + 18 14.7273 0.00000 + + k-point 484 : 0.2000 0.2667 0.4667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4258 2.00000 + 3 -91.2907 2.00000 + 4 -65.7384 2.00000 + 5 -30.0301 2.00000 + 6 -30.0110 2.00000 + 7 -30.0020 2.00000 + 8 1.7596 2.00000 + 9 2.3479 2.00000 + 10 4.2353 2.00000 + 11 4.8561 2.00000 + 12 5.6156 2.00000 + 13 6.0522 2.00000 + 14 8.8319 0.00000 + 15 10.9690 0.00000 + 16 11.4301 0.00000 + 17 13.3676 0.00000 + 18 14.5676 0.00000 + + k-point 485 : 0.2667 0.2667 0.4667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2905 2.00000 + 4 -65.7382 2.00000 + 5 -30.0296 2.00000 + 6 -30.0216 2.00000 + 7 -30.0011 2.00000 + 8 1.9573 2.00000 + 9 2.6478 2.00000 + 10 4.0985 2.00000 + 11 4.9571 2.00000 + 12 5.6139 2.00000 + 13 5.8909 2.00000 + 14 8.1389 0.00029 + 15 10.9883 0.00000 + 16 11.3423 0.00000 + 17 13.7094 0.00000 + 18 15.7553 0.00000 + + k-point 486 : 0.3333 0.2667 0.4667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2906 2.00000 + 4 -65.7380 2.00000 + 5 -30.0317 2.00000 + 6 -30.0291 2.00000 + 7 -30.0003 2.00000 + 8 2.1129 2.00000 + 9 3.0175 2.00000 + 10 4.0379 2.00000 + 11 4.9190 2.00000 + 12 5.5211 2.00000 + 13 5.9990 2.00000 + 14 7.5405 2.00000 + 15 10.3988 0.00000 + 16 11.4577 0.00000 + 17 13.7122 0.00000 + 18 15.9308 0.00000 + + k-point 487 : 0.4000 0.2667 0.4667 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2911 2.00000 + 4 -65.7379 2.00000 + 5 -30.0397 2.00000 + 6 -30.0287 2.00000 + 7 -29.9997 2.00000 + 8 2.2149 2.00000 + 9 3.3832 2.00000 + 10 4.0564 2.00000 + 11 4.6690 2.00000 + 12 5.6796 2.00000 + 13 6.0916 2.00000 + 14 7.0870 2.00000 + 15 9.7752 0.00000 + 16 11.5424 0.00000 + 17 14.3066 0.00000 + 18 15.5761 0.00000 + + k-point 488 : 0.4667 0.2667 0.4667 + band No. band energies occupation + 1 -91.8814 2.00000 + 2 -91.4264 2.00000 + 3 -91.2914 2.00000 + 4 -65.7378 2.00000 + 5 -30.0440 2.00000 + 6 -30.0285 2.00000 + 7 -29.9994 2.00000 + 8 2.2640 2.00000 + 9 3.6435 2.00000 + 10 4.1382 2.00000 + 11 4.4048 2.00000 + 12 5.8558 2.00000 + 13 6.1352 2.00000 + 14 6.8387 2.00000 + 15 9.3618 0.00000 + 16 11.5772 0.00000 + 17 14.3099 0.00000 + 18 14.9653 0.00000 + + k-point 489 : 0.0000 0.3333 0.4667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2907 2.00000 + 4 -65.7384 2.00000 + 5 -30.0302 2.00000 + 6 -30.0174 2.00000 + 7 -29.9919 2.00000 + 8 1.5922 2.00000 + 9 2.0622 2.00000 + 10 4.6783 2.00000 + 11 4.9977 2.00000 + 12 5.1255 2.00000 + 13 6.4823 2.00000 + 14 9.7866 0.00000 + 15 10.2382 0.00000 + 16 11.6423 0.00000 + 17 12.1724 0.00000 + 18 15.1696 0.00000 + + k-point 490 : 0.0667 0.3333 0.4667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7384 2.00000 + 5 -30.0300 2.00000 + 6 -30.0172 2.00000 + 7 -29.9941 2.00000 + 8 1.6356 2.00000 + 9 2.1225 2.00000 + 10 4.6697 2.00000 + 11 4.8109 2.00000 + 12 5.3294 2.00000 + 13 6.3879 2.00000 + 14 9.7035 0.00000 + 15 10.0257 0.00000 + 16 11.6040 0.00000 + 17 12.6587 0.00000 + 18 14.9940 0.00000 + + k-point 491 : 0.1333 0.3333 0.4667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2901 2.00000 + 4 -65.7382 2.00000 + 5 -30.0297 2.00000 + 6 -30.0168 2.00000 + 7 -30.0004 2.00000 + 8 1.7553 2.00000 + 9 2.3064 2.00000 + 10 4.4915 2.00000 + 11 4.7800 2.00000 + 12 5.5639 2.00000 + 13 6.1473 2.00000 + 14 9.0130 0.00000 + 15 10.2004 0.00000 + 16 11.5878 0.00000 + 17 13.4966 0.00000 + 18 14.8358 0.00000 + + k-point 492 : 0.2000 0.3333 0.4667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4258 2.00000 + 3 -91.2907 2.00000 + 4 -65.7381 2.00000 + 5 -30.0293 2.00000 + 6 -30.0162 2.00000 + 7 -30.0097 2.00000 + 8 1.9268 2.00000 + 9 2.6143 2.00000 + 10 4.2587 2.00000 + 11 4.8639 2.00000 + 12 5.7056 2.00000 + 13 5.8972 2.00000 + 14 8.2193 0.00000 + 15 10.4809 0.00000 + 16 11.5381 0.00000 + 17 13.9612 0.00000 + 18 14.5546 0.00000 + + k-point 493 : 0.2667 0.3333 0.4667 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2908 2.00000 + 4 -65.7379 2.00000 + 5 -30.0288 2.00000 + 6 -30.0204 2.00000 + 7 -30.0154 2.00000 + 8 2.1305 2.00000 + 9 3.0221 2.00000 + 10 4.0628 2.00000 + 11 5.0039 2.00000 + 12 5.4474 2.00000 + 13 5.9945 2.00000 + 14 7.4712 2.00000 + 15 10.6874 0.00000 + 16 11.3421 0.00000 + 17 13.4783 0.00000 + 18 15.3783 0.00000 + + k-point 494 : 0.3333 0.3333 0.4667 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4260 2.00000 + 3 -91.2909 2.00000 + 4 -65.7377 2.00000 + 5 -30.0306 2.00000 + 6 -30.0283 2.00000 + 7 -30.0147 2.00000 + 8 2.3416 2.00000 + 9 3.4734 2.00000 + 10 3.9279 2.00000 + 11 5.1088 2.00000 + 12 5.2297 2.00000 + 13 6.1260 2.00000 + 14 6.8189 2.00000 + 15 10.4946 0.00000 + 16 11.1842 0.00000 + 17 13.1952 0.00000 + 18 15.7397 0.00000 + + k-point 495 : 0.4000 0.3333 0.4667 + band No. band energies occupation + 1 -91.8812 2.00000 + 2 -91.4262 2.00000 + 3 -91.2912 2.00000 + 4 -65.7376 2.00000 + 5 -30.0385 2.00000 + 6 -30.0280 2.00000 + 7 -30.0141 2.00000 + 8 2.5238 2.00000 + 9 3.8199 2.00000 + 10 3.9375 2.00000 + 11 4.8268 2.00000 + 12 5.4778 2.00000 + 13 6.2123 2.00000 + 14 6.3224 2.00000 + 15 9.8991 0.00000 + 16 11.2407 0.00000 + 17 13.1926 0.00000 + 18 15.5369 0.00000 + + k-point 496 : 0.4667 0.3333 0.4667 + band No. band energies occupation + 1 -91.8814 2.00000 + 2 -91.4264 2.00000 + 3 -91.2914 2.00000 + 4 -65.7375 2.00000 + 5 -30.0429 2.00000 + 6 -30.0278 2.00000 + 7 -30.0137 2.00000 + 8 2.6290 2.00000 + 9 3.8380 2.00000 + 10 4.2279 2.00000 + 11 4.5865 2.00000 + 12 5.6574 2.00000 + 13 6.0663 2.00000 + 14 6.2635 2.00000 + 15 9.4409 0.00000 + 16 11.2887 0.00000 + 17 13.2397 0.00000 + 18 15.7505 0.00000 + + k-point 497 : 0.0000 0.4000 0.4667 + band No. band energies occupation + 1 -91.8809 2.00000 + 2 -91.4259 2.00000 + 3 -91.2908 2.00000 + 4 -65.7382 2.00000 + 5 -30.0295 2.00000 + 6 -30.0285 2.00000 + 7 -29.9909 2.00000 + 8 1.6678 2.00000 + 9 2.2476 2.00000 + 10 4.6819 2.00000 + 11 5.0573 2.00000 + 12 5.2677 2.00000 + 13 6.2372 2.00000 + 14 9.6320 0.00000 + 15 9.9258 0.00000 + 16 11.6498 0.00000 + 17 11.7641 0.00000 + 18 15.1177 0.00000 + + k-point 498 : 0.0667 0.4000 0.4667 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2910 2.00000 + 4 -65.7382 2.00000 + 5 -30.0294 2.00000 + 6 -30.0284 2.00000 + 7 -29.9931 2.00000 + 8 1.7064 2.00000 + 9 2.3241 2.00000 + 10 4.6780 2.00000 + 11 4.8714 2.00000 + 12 5.4482 2.00000 + 13 6.1821 2.00000 + 14 9.3944 0.00000 + 15 9.7662 0.00000 + 16 11.6283 0.00000 + 17 12.2592 0.00000 + 18 15.0447 0.00000 + + k-point 499 : 0.1333 0.4000 0.4667 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7380 2.00000 + 5 -30.0291 2.00000 + 6 -30.0279 2.00000 + 7 -29.9994 2.00000 + 8 1.8197 2.00000 + 9 2.5512 2.00000 + 10 4.5747 2.00000 + 11 4.7174 2.00000 + 12 5.6795 2.00000 + 13 6.0408 2.00000 + 14 8.5996 0.00000 + 15 9.8664 0.00000 + 16 11.6305 0.00000 + 17 13.1616 0.00000 + 18 14.9422 0.00000 + + k-point 500 : 0.2000 0.4000 0.4667 + band No. band energies occupation + 1 -91.8802 2.00000 + 2 -91.4252 2.00000 + 3 -91.2902 2.00000 + 4 -65.7378 2.00000 + 5 -30.0287 2.00000 + 6 -30.0272 2.00000 + 7 -30.0087 2.00000 + 8 2.0020 2.00000 + 9 2.9149 2.00000 + 10 4.3358 2.00000 + 11 4.7172 2.00000 + 12 5.7999 2.00000 + 13 5.9420 2.00000 + 14 7.7512 1.93725 + 15 10.0198 0.00000 + 16 11.6232 0.00000 + 17 14.2345 0.00000 + 18 15.3681 0.00000 + + k-point 501 : 0.2667 0.4000 0.4667 + band No. band energies occupation + 1 -91.8805 2.00000 + 2 -91.4255 2.00000 + 3 -91.2905 2.00000 + 4 -65.7376 2.00000 + 5 -30.0283 2.00000 + 6 -30.0265 2.00000 + 7 -30.0194 2.00000 + 8 2.2449 2.00000 + 9 3.3771 2.00000 + 10 4.1205 2.00000 + 11 4.7396 2.00000 + 12 5.6457 2.00000 + 13 6.0882 2.00000 + 14 6.9514 2.00000 + 15 10.1586 0.00000 + 16 11.4369 0.00000 + 17 13.6407 0.00000 + 18 15.4695 0.00000 + + k-point 502 : 0.3333 0.4000 0.4667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7374 2.00000 + 5 -30.0297 2.00000 + 6 -30.0278 2.00000 + 7 -30.0258 2.00000 + 8 2.5344 2.00000 + 9 3.8121 2.00000 + 10 3.9855 2.00000 + 11 4.8087 2.00000 + 12 5.5213 2.00000 + 13 6.1981 2.00000 + 14 6.2633 2.00000 + 15 10.2073 0.00000 + 16 11.0454 0.00000 + 17 13.0519 0.00000 + 18 15.5984 0.00000 + + k-point 503 : 0.4000 0.4000 0.4667 + band No. band energies occupation + 1 -91.8811 2.00000 + 2 -91.4261 2.00000 + 3 -91.2911 2.00000 + 4 -65.7373 2.00000 + 5 -30.0377 2.00000 + 6 -30.0274 2.00000 + 7 -30.0252 2.00000 + 8 2.8336 2.00000 + 9 3.8000 2.00000 + 10 4.1712 2.00000 + 11 4.9751 2.00000 + 12 5.5168 2.00000 + 13 5.6776 2.00000 + 14 6.3079 2.00000 + 15 9.9354 0.00000 + 16 10.7127 0.00000 + 17 12.8003 0.00000 + 18 15.8356 0.00000 + + k-point 504 : 0.4667 0.4000 0.4667 + band No. band energies occupation + 1 -91.8814 2.00000 + 2 -91.4264 2.00000 + 3 -91.2914 2.00000 + 4 -65.7372 2.00000 + 5 -30.0421 2.00000 + 6 -30.0272 2.00000 + 7 -30.0249 2.00000 + 8 3.0541 2.00000 + 9 3.7465 2.00000 + 10 4.2239 2.00000 + 11 5.1222 2.00000 + 12 5.2997 2.00000 + 13 5.6922 2.00000 + 14 6.3453 2.00000 + 15 9.5016 0.00000 + 16 10.6605 0.00000 + 17 12.7227 0.00000 + 18 15.5675 0.00000 + + k-point 505 : 0.0000 0.4667 0.4667 + band No. band energies occupation + 1 -91.8803 2.00000 + 2 -91.4253 2.00000 + 3 -91.2903 2.00000 + 4 -65.7380 2.00000 + 5 -30.0345 2.00000 + 6 -30.0292 2.00000 + 7 -29.9902 2.00000 + 8 1.6740 2.00000 + 9 2.4018 2.00000 + 10 4.6707 2.00000 + 11 5.0946 2.00000 + 12 5.3522 2.00000 + 13 6.1117 2.00000 + 14 9.6010 0.00000 + 15 9.7207 0.00000 + 16 11.5419 0.00000 + 17 11.6546 0.00000 + 18 14.9372 0.00000 + + k-point 506 : 0.0667 0.4667 0.4667 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4260 2.00000 + 3 -91.2910 2.00000 + 4 -65.7380 2.00000 + 5 -30.0344 2.00000 + 6 -30.0291 2.00000 + 7 -29.9926 2.00000 + 8 1.7129 2.00000 + 9 2.4847 2.00000 + 10 4.6554 2.00000 + 11 4.9171 2.00000 + 12 5.5191 2.00000 + 13 6.0879 2.00000 + 14 9.2253 0.00000 + 15 9.6369 0.00000 + 16 11.6608 0.00000 + 17 12.0478 0.00000 + 18 14.9557 0.00000 + + k-point 507 : 0.1333 0.4667 0.4667 + band No. band energies occupation + 1 -91.8807 2.00000 + 2 -91.4257 2.00000 + 3 -91.2907 2.00000 + 4 -65.7379 2.00000 + 5 -30.0339 2.00000 + 6 -30.0288 2.00000 + 7 -29.9989 2.00000 + 8 1.8315 2.00000 + 9 2.7302 2.00000 + 10 4.6082 2.00000 + 11 4.6655 2.00000 + 12 5.7492 2.00000 + 13 6.0255 2.00000 + 14 8.3737 0.00000 + 15 9.6738 0.00000 + 16 11.6583 0.00000 + 17 12.9796 0.00000 + 18 15.0184 0.00000 + + k-point 508 : 0.2000 0.4667 0.4667 + band No. band energies occupation + 1 -91.8808 2.00000 + 2 -91.4258 2.00000 + 3 -91.2908 2.00000 + 4 -65.7377 2.00000 + 5 -30.0333 2.00000 + 6 -30.0284 2.00000 + 7 -30.0082 2.00000 + 8 2.0272 2.00000 + 9 3.1247 2.00000 + 10 4.4101 2.00000 + 11 4.5557 2.00000 + 12 5.9249 2.00000 + 13 5.9750 2.00000 + 14 7.4900 2.00000 + 15 9.7287 0.00000 + 16 11.6418 0.00000 + 17 13.9974 0.00000 + 18 15.0437 0.00000 + + k-point 509 : 0.2667 0.4667 0.4667 + band No. band energies occupation + 1 -91.8804 2.00000 + 2 -91.4254 2.00000 + 3 -91.2904 2.00000 + 4 -65.7375 2.00000 + 5 -30.0326 2.00000 + 6 -30.0279 2.00000 + 7 -30.0189 2.00000 + 8 2.2989 2.00000 + 9 3.6250 2.00000 + 10 4.2181 2.00000 + 11 4.4835 2.00000 + 12 5.8518 2.00000 + 13 6.1331 2.00000 + 14 6.6571 2.00000 + 15 9.7868 0.00000 + 16 11.4865 0.00000 + 17 14.5147 0.00000 + 18 15.4164 0.00000 + + k-point 510 : 0.3333 0.4667 0.4667 + band No. band energies occupation + 1 -91.8806 2.00000 + 2 -91.4256 2.00000 + 3 -91.2905 2.00000 + 4 -65.7373 2.00000 + 5 -30.0318 2.00000 + 6 -30.0291 2.00000 + 7 -30.0275 2.00000 + 8 2.6408 2.00000 + 9 3.9091 2.00000 + 10 4.2522 2.00000 + 11 4.5325 2.00000 + 12 5.7034 2.00000 + 13 5.9787 2.00000 + 14 6.2621 2.00000 + 15 9.8299 0.00000 + 16 11.0556 0.00000 + 17 13.0395 0.00000 + 18 15.4657 0.00000 + + k-point 511 : 0.4000 0.4667 0.4667 + band No. band energies occupation + 1 -91.8810 2.00000 + 2 -91.4260 2.00000 + 3 -91.2910 2.00000 + 4 -65.7372 2.00000 + 5 -30.0372 2.00000 + 6 -30.0313 2.00000 + 7 -30.0271 2.00000 + 8 3.0409 2.00000 + 9 3.8298 2.00000 + 10 4.2195 2.00000 + 11 5.0235 2.00000 + 12 5.2301 2.00000 + 13 5.8071 2.00000 + 14 6.3436 2.00000 + 15 9.8006 0.00000 + 16 10.3862 0.00000 + 17 12.6747 0.00000 + 18 15.4656 0.00000 + + k-point 512 : 0.4667 0.4667 0.4667 + band No. band energies occupation + 1 -91.8812 2.00000 + 2 -91.4262 2.00000 + 3 -91.2911 2.00000 + 4 -65.7371 2.00000 + 5 -30.0416 2.00000 + 6 -30.0310 2.00000 + 7 -30.0269 2.00000 + 8 3.4531 2.00000 + 9 3.7372 2.00000 + 10 4.0740 2.00000 + 11 4.7709 2.00000 + 12 5.5707 2.00000 + 13 5.7646 2.00000 + 14 6.3738 2.00000 + 15 9.5306 0.00000 + 16 10.0845 0.00000 + 17 12.5702 0.00000 + 18 15.4251 0.00000 + + +-------------------------------------------------------------------------------------------------------- + + + soft charge-density along one line, spin component 1 + 0 1 2 3 4 5 6 7 8 9 + total charge-density along one line + + pseudopotential strength for first ion, spin component: 1 + 29.271 27.905 24.284 -0.000 -0.000 0.000 0.000 0.000 + 27.905 26.602 23.219 -0.000 -0.000 0.000 0.000 0.000 + 24.284 23.219 11.179 -0.000 -0.000 0.000 -0.000 -0.000 + -0.000 -0.000 -0.000 -15.093 -0.000 0.000 -10.182 0.000 + -0.000 -0.000 -0.000 -0.000 -15.095 0.000 0.000 -10.170 + 0.000 0.000 0.000 0.000 0.000 -15.092 -0.000 -0.000 + 0.000 0.000 -0.000 -10.182 0.000 -0.000 14.343 0.000 + 0.000 0.000 -0.000 0.000 -10.170 -0.000 0.000 14.352 + -0.000 -0.000 0.000 -0.000 -0.000 -10.185 -0.000 -0.000 + -0.000 -0.000 0.000 -0.000 0.000 0.000 -0.000 0.000 + 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 + 0.001 0.001 -0.002 -0.000 0.000 0.000 -0.000 0.000 + -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 -0.000 + -0.000 -0.000 0.001 -0.000 0.000 0.000 -0.000 0.000 + -0.000 -0.000 0.000 -0.000 0.000 0.000 -0.000 0.000 + 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 + 0.002 0.002 -0.003 -0.000 0.000 0.000 -0.000 0.000 + -0.000 -0.000 0.000 0.000 -0.000 0.000 0.000 -0.000 + -0.000 -0.000 0.001 -0.000 0.000 0.000 -0.000 0.000 + -0.000 -0.000 0.000 -0.000 0.000 0.000 -0.001 -0.000 + -0.000 -0.000 0.000 -0.000 0.000 -0.000 0.000 -0.000 + 0.000 0.000 -0.000 -0.004 -0.000 0.000 -0.001 0.000 + 0.000 0.000 -0.000 0.000 -0.003 -0.000 -0.000 0.002 + 0.000 -0.000 0.000 0.000 -0.000 -0.004 -0.000 0.000 + -0.000 -0.000 0.000 0.000 0.001 0.000 -0.000 0.000 + -0.000 -0.000 0.000 -0.000 0.000 0.002 0.000 -0.000 + total augmentation occupancy for first ion, spin component: 1 + 99.947 ******* 0.588 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -1.192 0.000 0.250 0.000 0.000 +******* 102.736 -0.592 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.235 0.000 -0.260 0.000 -0.000 + 0.588 -0.592 0.003 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.008 0.000 0.002 0.000 0.000 + 0.000 0.000 0.000 2.031 0.000 0.000 0.029 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 + 0.000 0.000 0.000 0.000 2.036 0.000 0.000 0.034 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 + 0.000 0.000 0.000 0.000 0.000 2.031 0.000 0.000 0.028 0.000 0.000 0.000 0.000 0.000 0.000 0.000 + 0.000 0.000 0.000 0.029 -0.000 0.000 0.015 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 + 0.000 0.000 0.000 0.000 0.034 0.000 0.000 0.018 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 + 0.000 0.000 0.000 0.000 0.000 0.028 0.000 0.000 0.014 0.000 0.000 0.000 0.000 0.000 0.000 0.000 + 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 3.829 0.000 0.000 -0.000 0.000 -1.514 0.000 + 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 4.273 0.000 0.000 0.000 0.000 -1.695 + -1.192 1.235 -0.008 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 3.492 0.000 0.024 0.000 -0.000 + 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 0.000 0.000 4.118 0.000 -0.000 0.000 + 0.250 -0.260 0.002 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.024 0.000 3.339 0.000 -0.000 + 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -1.514 0.000 0.000 -0.000 0.000 0.657 0.000 + 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -1.695 -0.000 0.000 0.000 0.000 0.735 + 0.498 -0.524 0.003 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -1.540 0.000 -0.012 0.000 0.000 + 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -1.636 0.000 0.000 0.000 + -0.105 0.112 -0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.012 0.000 -1.462 0.000 0.000 + 0.000 0.000 0.000 0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 + 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 + 0.000 0.000 0.000 0.002 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 + 0.000 0.000 0.000 0.000 -0.005 0.000 0.000 -0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 + 0.000 0.000 0.000 0.000 0.000 0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 + 0.000 0.000 0.000 0.000 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 + 0.000 0.000 0.000 0.000 0.000 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 + + +------------------------ aborting loop because EDIFF is reached ---------------------------------------- + + + CHARGE: cpu time 0.2175: real time 0.2179 + FORLOC: cpu time 0.0005: real time 0.0005 + FORNL : cpu time 0.5624: real time 0.5636 + STRESS: cpu time 4.6134: real time 4.6282 + FORCOR: cpu time 0.0057: real time 0.0064 + FORHAR: cpu time 0.0014: real time 0.0014 + MIXING: cpu time 0.0007: real time 0.0007 + OFIELD: cpu time 0.0000: real time 0.0000 + + FORCE on cell =-STRESS in cart. coord. units (eV): + Direction XX YY ZZ XY YZ ZX + -------------------------------------------------------------------------------------- + Alpha Z 131.43309 131.43309 131.43309 + Ewald -692.66714 -666.25642 -600.92887 0.00000 -0.00000 0.00000 + Hartree 135.39867 151.55448 193.64184 -0.00000 -0.00000 -0.00000 + E(xc) -140.07087 -140.06544 -140.05539 -0.00000 0.00000 0.00000 + Local 156.14173 113.44933 3.98511 0.00000 0.00000 0.00000 + n-local -184.49986 -184.69575 -185.00090 -0.90955 -1.02411 -0.99577 + augment 2.00968 1.96706 1.78410 0.00000 -0.00000 -0.00000 + Kinetic 586.69353 589.41039 597.73423 1.78901 -0.65923 -0.20796 + Fock 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 + ------------------------------------------------------------------------------------- + Total -5.56117 -3.20326 2.59322 0.00000 -0.00000 0.00000 + in kB -214.84834 -123.75353 100.18546 0.00000 -0.00000 0.00000 + external pressure = -79.47 kB Pullay stress = 0.00 kB + + + VOLUME and BASIS-vectors are now : + ----------------------------------------------------------------------------- + energy-cutoff : 600.00 + volume of cell : 41.47 + direct lattice vectors reciprocal lattice vectors + 3.669611000 0.000000000 0.000000000 0.272508448 0.000000000 0.000000000 + 0.000000000 3.557440000 0.000000000 0.000000000 0.281101016 0.000000000 + 0.000000000 0.000000000 3.176781000 0.000000000 0.000000000 0.314784053 + + length of vectors + 3.669611000 3.557440000 3.176781000 0.272508448 0.281101016 0.314784053 + + + FORCES acting on ions + electron-ion (+dipol) ewald-force non-local-force convergence-correction + ----------------------------------------------------------------------------------------------- + -.118E-13 -.390E-14 0.138E-13 -.976E-14 -.123E-13 0.429E-14 -.148E-21 -.385E-22 0.214E-22 0.190E-13 0.402E-13 -.748E-13 + -.203E-14 0.118E-12 -.610E-14 -.126E-14 0.943E-14 -.634E-15 0.135E-24 -.989E-23 -.124E-22 0.125E-13 -.691E-14 0.178E-13 + 0.122E-12 -.521E-14 -.592E-12 0.654E-14 0.177E-15 -.121E-15 0.864E-23 0.363E-22 -.325E-24 -.105E-13 0.354E-14 0.142E-13 + 0.123E-12 -.343E-12 -.754E-12 0.496E-14 0.107E-14 0.499E-15 0.583E-22 -.440E-22 0.929E-22 -.164E-13 -.623E-14 -.585E-14 + ----------------------------------------------------------------------------------------------- + 0.231E-12 -.235E-12 -.134E-11 0.483E-15 -.166E-14 0.404E-14 -.808E-22 -.560E-22 0.102E-21 0.463E-14 0.306E-13 -.486E-13 + + + POSITION TOTAL-FORCE (eV/Angst) + ----------------------------------------------------------------------------------- + 0.00000 0.00000 0.00000 0.000000 -0.000000 -0.000000 + 0.00000 1.77872 1.58839 0.000000 -0.000000 -0.000000 + 1.83481 0.00000 1.58839 -0.000000 -0.000000 0.000000 + 1.83481 1.77872 0.00000 0.000000 0.000000 0.000000 + ----------------------------------------------------------------------------------- + total drift: 0.000000 -0.000000 -0.000000 + + +-------------------------------------------------------------------------------------------------------- + + + + FREE ENERGIE OF THE ION-ELECTRON SYSTEM (eV) + --------------------------------------------------- + free energy TOTEN = -48.07109596 eV + + energy without entropy= -48.06804610 energy(sigma->0) = -48.06957103 + + SIGMA = 0.10000000 + + + +-------------------------------------------------------------------------------------------------------- + + + POTLOK: cpu time 0.0095: real time 0.0103 + + +-------------------------------------------------------------------------------------------------------- + + + writing wavefunctions + LOOP+: cpu time 80.5972: real time 81.1155 + 4ORBIT: cpu time 0.0000: real time 0.0000 + + total amount of memory used by VASP MPI-rank0 355020. kBytes +======================================================================= + + base : 30000. kBytes + nonl-proj : 299130. kBytes + fftplans : 441. kBytes + grid : 1138. kBytes + one-center: 129. kBytes + wavefun : 24182. kBytes + + + + General timing and accounting informations for this job: + ======================================================== + + Total CPU time used (sec): 84.193 + User time (sec): 82.086 + System time (sec): 2.107 + Elapsed time (sec): 85.614 + + Maximum memory used (kb): 339860. + Average memory used (kb): 0. + + Minor page faults: 520341 + Major page faults: 0 + Voluntary context switches: 1787 diff --git a/examples/COUPLE/lammps_vasp/README b/examples/COUPLE/lammps_vasp/README index 3d83ff7dc1..ab347be568 100644 --- a/examples/COUPLE/lammps_vasp/README +++ b/examples/COUPLE/lammps_vasp/README @@ -5,7 +5,7 @@ See the MESSAGE package (doc/Section_messages.html#MESSAGE) and Section_howto.html#howto10 for more details on how client/server coupling works in LAMMPS. -In this dir, the vasp_warp.py is a wrapper on the VASP quantum DFT +In this dir, the vasp_wrap.py is a wrapper on the VASP quantum DFT code so it can work as a "server" code which LAMMPS drives as a "client" code to perform ab initio MD. LAMMPS performs the MD timestepping, sends VASP a current set of coordinates each timestep, @@ -34,6 +34,40 @@ You can leave off the -z if you do not have ZMQ on your system. ---------------- +Prepare to use VASP and the vasp_wrapper.py script + +You can run the vasp_wrap.py script as-is to test that the +coupling between it and LAMMPS is functional. But the as-is +version will not attempt to run VASP. + +To do this, you must edit the 1st vaspcmd line at the top of +vasp_wrapper.py to be the launch command needed to run VASP on your +system. It can be a command to run VASP in serial or in parallel, +e.g. an mpirun command. Then comment out the 2nd vaspcmd line +immediately following it. + +Insure you have the necessary VASP input files in this +directory, suitable for the VASP calculation you want to perform: + +INCAR +KPOINTS +POSCAR_template +POTCAR + +Examples of all but the POTCAR file are provided. As explained below, +POSCAR_W is an input file for a 2-atom unit cell of tungsten and can +be used to test the LAMMPS/VASP coupling. The POTCAR file is a +proprietary VASP file, so use one from your VASP installation. + +Note that the POSCAR_template file should be matched to the LAMMPS +input script (# of atoms and atom types, box size, etc). The provided +POSCAR_W matches in.client.W. + +NOTE: explain how vasp_wrapper.py finds the cslib.py wrapper on the +CSlib to import. + +---------------- + To run in client/server mode: Both the client (LAMMPS) and server (vasp_wrap.py) must use the same @@ -76,15 +110,3 @@ ZMQ mode of messaging: % mpirun -np 2 lmp_mpi -v mode zmq < in.client.W % python vasp_wrap.py zmq POSCAR_W - --------------- - -The provided data.W file (for LAMMPS) and POSCAR_W file (for VASP) are -for a simple 2-atom unit cell of bcc tungsten (W). You could -replicate this with LAMMPS to create a larger system. The -vasp_wrap.py script needs to be generalized to create an appropriate -POSCAR_W file for a larger box. - -VASP input file include the sample INCAR and KPOINTS files provided. -A POTCAR file is also needed, which should come from your VASP package -installation. diff --git a/examples/COUPLE/lammps_vasp/vasp_wrap.py b/examples/COUPLE/lammps_vasp/vasp_wrap.py index 35955b6adb..30d449e31c 100644 --- a/examples/COUPLE/lammps_vasp/vasp_wrap.py +++ b/examples/COUPLE/lammps_vasp/vasp_wrap.py @@ -23,13 +23,15 @@ # could make syntax for launching VASP more flexible # e.g. command-line arg for # of procs -import sys -import commands +import sys,subprocess import xml.etree.ElementTree as ET from cslib import CSlib +# comment out 2nd line once 1st line is correct for your system + vaspcmd = "srun -N 1 --ntasks-per-node=4 " + \ "-n 4 /projects/vasp/2017-build/cts1/vasp5.4.4/vasp_tfermi/bin/vasp_std" +vaspcmd = "touch tmp" # enums matching FixClientMD class in LAMMPS @@ -84,18 +86,18 @@ def poscar_write(poscar,natoms,ntypes,types,coords,box): # header, including box size - print >>psnew,psold[0], - print >>psnew,psold[1], - print >>psnew,"%g 0.0 0.0" % box[0] - print >>psnew,"0.0 %g 0.0" % box[1] - print >>psnew,"0.0 0.0 %g" % box[2] - print >>psnew,psold[5], - print >>psnew,psold[6], + psnew.write(psold[0]) + psnew.write(psold[1]) + psnew.write("%g 0.0 0.0\n" % box[0]) + psnew.write("0.0 %g 0.0\n" % box[1]) + psnew.write("0.0 0.0 %g\n" % box[2]) + psnew.write(psold[5]) + psnew.write(psold[6]) # per-atom coords # grouped by types - - print >>psnew,"Cartesian" + + psnew.write("Cartesian\n") for itype in range(1,ntypes+1): for i in range(natoms): @@ -103,8 +105,8 @@ def poscar_write(poscar,natoms,ntypes,types,coords,box): x = coords[3*i+0] y = coords[3*i+1] z = coords[3*i+2] - aline = " %g %g %g" % (x,y,z) - print >>psnew,aline + aline = " %g %g %g\n" % (x,y,z) + psnew.write(aline) psnew.close() @@ -209,10 +211,9 @@ while 1: # invoke VASP - print "Launching VASP ..." + print "\nLaunching VASP ..." print vaspcmd - out = commands.getoutput(vaspcmd) - print out + subprocess.check_output(vaspcmd,stderr=subprocess.STDOUT,shell=True) # process VASP output diff --git a/lib/message/cslib/src/cslib.py b/lib/message/cslib/src/cslib.py index e2ed78b61b..0ba3516255 100644 --- a/lib/message/cslib/src/cslib.py +++ b/lib/message/cslib/src/cslib.py @@ -6,8 +6,8 @@ # Copyright 2018 National Technology & Engineering Solutions of # Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with # NTESS, the U.S. Government retains certain rights in this software. -# This software is distributed under the GNU Lesser General Public -# License (LGPL). +# This software is distributed under the modified Berkeley Software +# Distribution (BSD) License. # # See the README file in the top-level CSlib directory. # ------------------------------------------------------------------------- diff --git a/src/MESSAGE/message.cpp b/src/MESSAGE/message.cpp index a6ecf5cd60..329ce1fbd9 100644 --- a/src/MESSAGE/message.cpp +++ b/src/MESSAGE/message.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include +#include #include "message.h" #include "error.h" diff --git a/src/MESSAGE/server.cpp b/src/MESSAGE/server.cpp index c8de6de466..f587fb76df 100644 --- a/src/MESSAGE/server.cpp +++ b/src/MESSAGE/server.cpp @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include +#include #include "server.h" #include "error.h" -- GitLab From b2c75cc0b90a8b60565f25fabc91e4a96bbc22a8 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 24 Jul 2018 17:29:52 -0600 Subject: [PATCH 336/675] enable LAMMPS/VASP coupling to work w/out using VASP --- examples/COUPLE/lammps_vasp/OUTCAR | 14953 ---------------------- examples/COUPLE/lammps_vasp/README | 10 +- examples/COUPLE/lammps_vasp/vasprun.xml | 12329 ++++++++++++++++++ 3 files changed, 12336 insertions(+), 14956 deletions(-) delete mode 100644 examples/COUPLE/lammps_vasp/OUTCAR create mode 100644 examples/COUPLE/lammps_vasp/vasprun.xml diff --git a/examples/COUPLE/lammps_vasp/OUTCAR b/examples/COUPLE/lammps_vasp/OUTCAR deleted file mode 100644 index 6e8ef736cc..0000000000 --- a/examples/COUPLE/lammps_vasp/OUTCAR +++ /dev/null @@ -1,14953 +0,0 @@ - vasp.5.4.4.18Apr17-6-g9f103f2a35 (build Aug 01 2017 10:32:50) complex - - executed on LinuxIFC date 2017.12.19 15:22:45 - running on 9 total cores - distrk: each k-point on 9 cores, 1 groups - distr: one band on NCORES_PER_BAND= 1 cores, 9 groups - - --------------------------------------------------------------------------------------------------------- - - - INCAR: - POTCAR: PAW_PBE W_sv_GW 23Mar2010 - POTCAR: PAW_PBE Be_sv_GW 31Mar2010 - - ----------------------------------------------------------------------------- -| | -| W W AA RRRRR N N II N N GGGG !!! | -| W W A A R R NN N II NN N G G !!! | -| W W A A R R N N N II N N N G !!! | -| W WW W AAAAAA RRRRR N N N II N N N G GGG ! | -| WW WW A A R R N NN II N NN G G | -| W W A A R R N N II N N GGGG !!! | -| | -| For optimal performance we recommend to set | -| NCORE= 4 - approx SQRT( number of cores) | -| NCORE specifies how many cores store one orbital (NPAR=cpu/NCORE). | -| This setting can greatly improve the performance of VASP for DFT. | -| The default, NCORE=1 might be grossly inefficient | -| on modern multi-core architectures or massively parallel machines. | -| Do your own testing !!!! | -| Unfortunately you need to use the default for GW and RPA calculations. | -| (for HF NCORE is supported but not extensively tested yet) | -| | - ----------------------------------------------------------------------------- - - POTCAR: PAW_PBE W_sv_GW 23Mar2010 - VRHFIN =W: 5p6s5d - LEXCH = PE - EATOM = 1863.8917 eV, 136.9922 Ry - - TITEL = PAW_PBE W_sv_GW 23Mar2010 - LULTRA = F use ultrasoft PP ? - IUNSCR = 1 unscreen: 0-lin 1-nonlin 2-no - RPACOR = 1.500 partial core radius - POMASS = 183.850; ZVAL = 14.000 mass and valenz - RCORE = 2.300 outmost cutoff radius - RWIGS = 2.600; RWIGS = 1.376 wigner-seitz radius (au A) - ENMAX = 317.132; ENMIN = 237.849 eV - RCLOC = 1.609 cutoff for local pot - LCOR = T correct aug charges - LPAW = T paw PP - EAUG = 807.757 - DEXC = 0.000 - RMAX = 2.349 core radius for proj-oper - RAUG = 1.300 factor for augmentation sphere - RDEP = 2.382 radius for radial grids - RDEPT = 1.832 core radius for aug-charge - - Atomic configuration - 14 entries - n l j E occ. - 1 0 0.50 -69464.1497 2.0000 - 2 0 0.50 -11984.7400 2.0000 - 2 1 1.50 -10478.3405 6.0000 - 3 0 0.50 -2757.5605 2.0000 - 3 1 1.50 -2311.6706 6.0000 - 3 2 2.50 -1799.5973 10.0000 - 4 0 0.50 -566.1609 2.0000 - 4 1 1.50 -419.9482 6.0000 - 4 2 2.50 -234.8191 10.0000 - 4 3 3.50 -29.7363 14.0000 - 5 0 0.50 -75.5905 2.0000 - 5 1 1.50 -39.9756 6.0000 - 5 2 2.50 -2.4479 6.0000 - 5 3 2.50 -1.3606 0.0000 - Description - l E TYP RCUT TYP RCUT - 0 -75.5905419 23 1.500 - 0 -76.9511245 23 1.500 - 0 108.8466080 23 1.500 - 1 -39.9756040 23 1.800 - 1 68.0291300 23 1.800 - 2 -2.4478587 23 2.150 - 2 -0.0030619 23 2.150 - 3 4.0817478 23 2.300 - local pseudopotential read in - partial core-charges read in - partial kinetic energy density read in - kinetic energy density of atom read in - atomic valenz-charges read in - non local Contribution for L= 0 read in - real space projection operators read in - non local Contribution for L= 0 read in - real space projection operators read in - non local Contribution for L= 0 read in - real space projection operators read in - non local Contribution for L= 1 read in - real space projection operators read in - non local Contribution for L= 1 read in - real space projection operators read in - non local Contribution for L= 2 read in - real space projection operators read in - non local Contribution for L= 2 read in - real space projection operators read in - non local Contribution for L= 3 read in - real space projection operators read in - PAW grid and wavefunctions read in - - number of l-projection operators is LMAX = 8 - number of lm-projection operators is LMMAX = 26 - - POTCAR: PAW_PBE Be_sv_GW 31Mar2010 - VRHFIN =Be: s2p0 - LEXCH = PE - EATOM = 390.9322 eV, 28.7327 Ry - - TITEL = PAW_PBE Be_sv_GW 31Mar2010 - LULTRA = F use ultrasoft PP ? - IUNSCR = 0 unscreen: 0-lin 1-nonlin 2-no - RPACOR = 0.000 partial core radius - POMASS = 9.013; ZVAL = 4.000 mass and valenz - RCORE = 1.300 outmost cutoff radius - RWIGS = 1.600; RWIGS = 0.847 wigner-seitz radius (au A) - ENMAX = 537.454; ENMIN = 403.090 eV - RCLOC = 1.007 cutoff for local pot - LCOR = T correct aug charges - LPAW = T paw PP - EAUG = 1293.449 - RMAX = 1.324 core radius for proj-oper - RAUG = 1.300 factor for augmentation sphere - RDEP = 1.364 radius for radial grids - RDEPT = 1.200 core radius for aug-charge - - Atomic configuration - 5 entries - n l j E occ. - 1 0 0.50 -108.8489 2.0000 - 1 0 0.50 -107.4860 0.0000 - 2 1 0.50 -2.9389 2.0000 - 3 2 1.50 -1.3606 0.0000 - 4 3 2.50 -1.3606 0.0000 - Description - l E TYP RCUT TYP RCUT - 0 -108.8489274 23 1.100 - 0 -107.4860254 23 1.100 - 0 95.2407820 23 1.100 - 1 -2.9389331 23 1.300 - 1 15.5352276 23 1.300 - 2 54.4233040 23 1.300 - local pseudopotential read in - kinetic energy density of atom read in - atomic valenz-charges read in - non local Contribution for L= 0 read in - real space projection operators read in - non local Contribution for L= 0 read in - real space projection operators read in - non local Contribution for L= 0 read in - real space projection operators read in - non local Contribution for L= 1 read in - real space projection operators read in - non local Contribution for L= 1 read in - real space projection operators read in - non local Contribution for L= 2 read in - real space projection operators read in - PAW grid and wavefunctions read in - - number of l-projection operators is LMAX = 6 - number of lm-projection operators is LMMAX = 14 - - PAW_PBE W_sv_GW 23Mar2010 : - energy of atom 1 EATOM=-1863.8917 - kinetic energy error for atom= 0.0147 (will be added to EATOM!!) - PAW_PBE Be_sv_GW 31Mar2010 : - energy of atom 2 EATOM= -390.9322 - kinetic energy error for atom= 0.0274 (will be added to EATOM!!) - - - POSCAR: WBe3 L1_2 - positions in direct lattice - No initial velocities read in - exchange correlation table for LEXCH = 8 - RHO(1)= 0.500 N(1) = 2000 - RHO(2)= 100.500 N(2) = 4000 - - - --------------------------------------------------------------------------------------------------------- - - - ion position nearest neighbor table - 1 0.000 0.000 0.000- 2 2.38 2 2.38 2 2.38 2 2.38 3 2.43 3 2.43 3 2.43 3 2.43 - 4 2.56 4 2.56 4 2.56 4 2.56 - 2 0.000 0.500 0.500- 1 2.38 1 2.38 1 2.38 1 2.38 - 3 0.500 0.000 0.500- 1 2.43 1 2.43 1 2.43 1 2.43 - 4 0.500 0.500 0.000- 1 2.56 1 2.56 1 2.56 1 2.56 - - LATTYP: Found a simple orthorhombic cell. - ALAT = 3.1767810000 - B/A-ratio = 1.1198253830 - C/A-ratio = 1.1551350250 - - Lattice vectors: - - A1 = ( 0.0000000000, 0.0000000000, -3.1767810000) - A2 = ( 0.0000000000, -3.5574400000, 0.0000000000) - A3 = ( -3.6696110000, 0.0000000000, 0.0000000000) - - -Analysis of symmetry for initial positions (statically): -===================================================================== - Subroutine PRICEL returns: - Original cell was already a primitive cell. - - - Routine SETGRP: Setting up the symmetry group for a - simple orthorhombic supercell. - - - Subroutine GETGRP returns: Found 8 space group operations - (whereof 8 operations were pure point group operations) - out of a pool of 8 trial point group operations. - - -The static configuration has the point symmetry D_2h. - - -Analysis of symmetry for dynamics (positions and initial velocities): -===================================================================== - Subroutine PRICEL returns: - Original cell was already a primitive cell. - - - Routine SETGRP: Setting up the symmetry group for a - simple orthorhombic supercell. - - - Subroutine GETGRP returns: Found 8 space group operations - (whereof 8 operations were pure point group operations) - out of a pool of 8 trial point group operations. - - -The dynamic configuration has the point symmetry D_2h. - - - Subroutine INISYM returns: Found 8 space group operations - (whereof 8 operations are pure point group operations), - and found 1 'primitive' translations - - - - KPOINTS: K-Points - -Automatic generation of k-mesh. -Space group operators: - irot det(A) alpha n_x n_y n_z tau_x tau_y tau_z - 1 1.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - 2 -1.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - 3 1.000000 179.999999 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - 4 -1.000000 179.999999 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - 5 1.000000 180.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 - 6 -1.000000 180.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 - 7 1.000000 180.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 - 8 -1.000000 180.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 - - Subroutine IBZKPT returns following result: - =========================================== - - Found 512 irreducible k-points: - - Following reciprocal coordinates: - Coordinates Weight - 0.000000 0.000000 0.000000 1.000000 - 0.066667 0.000000 0.000000 2.000000 - 0.133333 0.000000 0.000000 2.000000 - 0.200000 0.000000 0.000000 2.000000 - 0.266667 0.000000 0.000000 2.000000 - 0.333333 0.000000 0.000000 2.000000 - 0.400000 0.000000 0.000000 2.000000 - 0.466667 0.000000 0.000000 2.000000 - 0.000000 0.066667 0.000000 2.000000 - 0.066667 0.066667 0.000000 4.000000 - 0.133333 0.066667 0.000000 4.000000 - 0.200000 0.066667 0.000000 4.000000 - 0.266667 0.066667 0.000000 4.000000 - 0.333333 0.066667 0.000000 4.000000 - 0.400000 0.066667 0.000000 4.000000 - 0.466667 0.066667 0.000000 4.000000 - 0.000000 0.133333 0.000000 2.000000 - 0.066667 0.133333 0.000000 4.000000 - 0.133333 0.133333 0.000000 4.000000 - 0.200000 0.133333 0.000000 4.000000 - 0.266667 0.133333 0.000000 4.000000 - 0.333333 0.133333 0.000000 4.000000 - 0.400000 0.133333 0.000000 4.000000 - 0.466667 0.133333 0.000000 4.000000 - 0.000000 0.200000 0.000000 2.000000 - 0.066667 0.200000 0.000000 4.000000 - 0.133333 0.200000 0.000000 4.000000 - 0.200000 0.200000 0.000000 4.000000 - 0.266667 0.200000 0.000000 4.000000 - 0.333333 0.200000 0.000000 4.000000 - 0.400000 0.200000 0.000000 4.000000 - 0.466667 0.200000 0.000000 4.000000 - 0.000000 0.266667 0.000000 2.000000 - 0.066667 0.266667 0.000000 4.000000 - 0.133333 0.266667 0.000000 4.000000 - 0.200000 0.266667 0.000000 4.000000 - 0.266667 0.266667 0.000000 4.000000 - 0.333333 0.266667 0.000000 4.000000 - 0.400000 0.266667 0.000000 4.000000 - 0.466667 0.266667 0.000000 4.000000 - 0.000000 0.333333 0.000000 2.000000 - 0.066667 0.333333 0.000000 4.000000 - 0.133333 0.333333 0.000000 4.000000 - 0.200000 0.333333 0.000000 4.000000 - 0.266667 0.333333 0.000000 4.000000 - 0.333333 0.333333 0.000000 4.000000 - 0.400000 0.333333 0.000000 4.000000 - 0.466667 0.333333 0.000000 4.000000 - 0.000000 0.400000 0.000000 2.000000 - 0.066667 0.400000 0.000000 4.000000 - 0.133333 0.400000 0.000000 4.000000 - 0.200000 0.400000 0.000000 4.000000 - 0.266667 0.400000 0.000000 4.000000 - 0.333333 0.400000 0.000000 4.000000 - 0.400000 0.400000 0.000000 4.000000 - 0.466667 0.400000 0.000000 4.000000 - 0.000000 0.466667 0.000000 2.000000 - 0.066667 0.466667 0.000000 4.000000 - 0.133333 0.466667 0.000000 4.000000 - 0.200000 0.466667 0.000000 4.000000 - 0.266667 0.466667 0.000000 4.000000 - 0.333333 0.466667 0.000000 4.000000 - 0.400000 0.466667 0.000000 4.000000 - 0.466667 0.466667 0.000000 4.000000 - 0.000000 0.000000 0.066667 2.000000 - 0.066667 0.000000 0.066667 4.000000 - 0.133333 0.000000 0.066667 4.000000 - 0.200000 0.000000 0.066667 4.000000 - 0.266667 0.000000 0.066667 4.000000 - 0.333333 0.000000 0.066667 4.000000 - 0.400000 0.000000 0.066667 4.000000 - 0.466667 0.000000 0.066667 4.000000 - 0.000000 0.066667 0.066667 4.000000 - 0.066667 0.066667 0.066667 8.000000 - 0.133333 0.066667 0.066667 8.000000 - 0.200000 0.066667 0.066667 8.000000 - 0.266667 0.066667 0.066667 8.000000 - 0.333333 0.066667 0.066667 8.000000 - 0.400000 0.066667 0.066667 8.000000 - 0.466667 0.066667 0.066667 8.000000 - 0.000000 0.133333 0.066667 4.000000 - 0.066667 0.133333 0.066667 8.000000 - 0.133333 0.133333 0.066667 8.000000 - 0.200000 0.133333 0.066667 8.000000 - 0.266667 0.133333 0.066667 8.000000 - 0.333333 0.133333 0.066667 8.000000 - 0.400000 0.133333 0.066667 8.000000 - 0.466667 0.133333 0.066667 8.000000 - 0.000000 0.200000 0.066667 4.000000 - 0.066667 0.200000 0.066667 8.000000 - 0.133333 0.200000 0.066667 8.000000 - 0.200000 0.200000 0.066667 8.000000 - 0.266667 0.200000 0.066667 8.000000 - 0.333333 0.200000 0.066667 8.000000 - 0.400000 0.200000 0.066667 8.000000 - 0.466667 0.200000 0.066667 8.000000 - 0.000000 0.266667 0.066667 4.000000 - 0.066667 0.266667 0.066667 8.000000 - 0.133333 0.266667 0.066667 8.000000 - 0.200000 0.266667 0.066667 8.000000 - 0.266667 0.266667 0.066667 8.000000 - 0.333333 0.266667 0.066667 8.000000 - 0.400000 0.266667 0.066667 8.000000 - 0.466667 0.266667 0.066667 8.000000 - 0.000000 0.333333 0.066667 4.000000 - 0.066667 0.333333 0.066667 8.000000 - 0.133333 0.333333 0.066667 8.000000 - 0.200000 0.333333 0.066667 8.000000 - 0.266667 0.333333 0.066667 8.000000 - 0.333333 0.333333 0.066667 8.000000 - 0.400000 0.333333 0.066667 8.000000 - 0.466667 0.333333 0.066667 8.000000 - 0.000000 0.400000 0.066667 4.000000 - 0.066667 0.400000 0.066667 8.000000 - 0.133333 0.400000 0.066667 8.000000 - 0.200000 0.400000 0.066667 8.000000 - 0.266667 0.400000 0.066667 8.000000 - 0.333333 0.400000 0.066667 8.000000 - 0.400000 0.400000 0.066667 8.000000 - 0.466667 0.400000 0.066667 8.000000 - 0.000000 0.466667 0.066667 4.000000 - 0.066667 0.466667 0.066667 8.000000 - 0.133333 0.466667 0.066667 8.000000 - 0.200000 0.466667 0.066667 8.000000 - 0.266667 0.466667 0.066667 8.000000 - 0.333333 0.466667 0.066667 8.000000 - 0.400000 0.466667 0.066667 8.000000 - 0.466667 0.466667 0.066667 8.000000 - 0.000000 0.000000 0.133333 2.000000 - 0.066667 0.000000 0.133333 4.000000 - 0.133333 0.000000 0.133333 4.000000 - 0.200000 0.000000 0.133333 4.000000 - 0.266667 0.000000 0.133333 4.000000 - 0.333333 0.000000 0.133333 4.000000 - 0.400000 0.000000 0.133333 4.000000 - 0.466667 0.000000 0.133333 4.000000 - 0.000000 0.066667 0.133333 4.000000 - 0.066667 0.066667 0.133333 8.000000 - 0.133333 0.066667 0.133333 8.000000 - 0.200000 0.066667 0.133333 8.000000 - 0.266667 0.066667 0.133333 8.000000 - 0.333333 0.066667 0.133333 8.000000 - 0.400000 0.066667 0.133333 8.000000 - 0.466667 0.066667 0.133333 8.000000 - 0.000000 0.133333 0.133333 4.000000 - 0.066667 0.133333 0.133333 8.000000 - 0.133333 0.133333 0.133333 8.000000 - 0.200000 0.133333 0.133333 8.000000 - 0.266667 0.133333 0.133333 8.000000 - 0.333333 0.133333 0.133333 8.000000 - 0.400000 0.133333 0.133333 8.000000 - 0.466667 0.133333 0.133333 8.000000 - 0.000000 0.200000 0.133333 4.000000 - 0.066667 0.200000 0.133333 8.000000 - 0.133333 0.200000 0.133333 8.000000 - 0.200000 0.200000 0.133333 8.000000 - 0.266667 0.200000 0.133333 8.000000 - 0.333333 0.200000 0.133333 8.000000 - 0.400000 0.200000 0.133333 8.000000 - 0.466667 0.200000 0.133333 8.000000 - 0.000000 0.266667 0.133333 4.000000 - 0.066667 0.266667 0.133333 8.000000 - 0.133333 0.266667 0.133333 8.000000 - 0.200000 0.266667 0.133333 8.000000 - 0.266667 0.266667 0.133333 8.000000 - 0.333333 0.266667 0.133333 8.000000 - 0.400000 0.266667 0.133333 8.000000 - 0.466667 0.266667 0.133333 8.000000 - 0.000000 0.333333 0.133333 4.000000 - 0.066667 0.333333 0.133333 8.000000 - 0.133333 0.333333 0.133333 8.000000 - 0.200000 0.333333 0.133333 8.000000 - 0.266667 0.333333 0.133333 8.000000 - 0.333333 0.333333 0.133333 8.000000 - 0.400000 0.333333 0.133333 8.000000 - 0.466667 0.333333 0.133333 8.000000 - 0.000000 0.400000 0.133333 4.000000 - 0.066667 0.400000 0.133333 8.000000 - 0.133333 0.400000 0.133333 8.000000 - 0.200000 0.400000 0.133333 8.000000 - 0.266667 0.400000 0.133333 8.000000 - 0.333333 0.400000 0.133333 8.000000 - 0.400000 0.400000 0.133333 8.000000 - 0.466667 0.400000 0.133333 8.000000 - 0.000000 0.466667 0.133333 4.000000 - 0.066667 0.466667 0.133333 8.000000 - 0.133333 0.466667 0.133333 8.000000 - 0.200000 0.466667 0.133333 8.000000 - 0.266667 0.466667 0.133333 8.000000 - 0.333333 0.466667 0.133333 8.000000 - 0.400000 0.466667 0.133333 8.000000 - 0.466667 0.466667 0.133333 8.000000 - 0.000000 0.000000 0.200000 2.000000 - 0.066667 0.000000 0.200000 4.000000 - 0.133333 0.000000 0.200000 4.000000 - 0.200000 0.000000 0.200000 4.000000 - 0.266667 0.000000 0.200000 4.000000 - 0.333333 0.000000 0.200000 4.000000 - 0.400000 0.000000 0.200000 4.000000 - 0.466667 0.000000 0.200000 4.000000 - 0.000000 0.066667 0.200000 4.000000 - 0.066667 0.066667 0.200000 8.000000 - 0.133333 0.066667 0.200000 8.000000 - 0.200000 0.066667 0.200000 8.000000 - 0.266667 0.066667 0.200000 8.000000 - 0.333333 0.066667 0.200000 8.000000 - 0.400000 0.066667 0.200000 8.000000 - 0.466667 0.066667 0.200000 8.000000 - 0.000000 0.133333 0.200000 4.000000 - 0.066667 0.133333 0.200000 8.000000 - 0.133333 0.133333 0.200000 8.000000 - 0.200000 0.133333 0.200000 8.000000 - 0.266667 0.133333 0.200000 8.000000 - 0.333333 0.133333 0.200000 8.000000 - 0.400000 0.133333 0.200000 8.000000 - 0.466667 0.133333 0.200000 8.000000 - 0.000000 0.200000 0.200000 4.000000 - 0.066667 0.200000 0.200000 8.000000 - 0.133333 0.200000 0.200000 8.000000 - 0.200000 0.200000 0.200000 8.000000 - 0.266667 0.200000 0.200000 8.000000 - 0.333333 0.200000 0.200000 8.000000 - 0.400000 0.200000 0.200000 8.000000 - 0.466667 0.200000 0.200000 8.000000 - 0.000000 0.266667 0.200000 4.000000 - 0.066667 0.266667 0.200000 8.000000 - 0.133333 0.266667 0.200000 8.000000 - 0.200000 0.266667 0.200000 8.000000 - 0.266667 0.266667 0.200000 8.000000 - 0.333333 0.266667 0.200000 8.000000 - 0.400000 0.266667 0.200000 8.000000 - 0.466667 0.266667 0.200000 8.000000 - 0.000000 0.333333 0.200000 4.000000 - 0.066667 0.333333 0.200000 8.000000 - 0.133333 0.333333 0.200000 8.000000 - 0.200000 0.333333 0.200000 8.000000 - 0.266667 0.333333 0.200000 8.000000 - 0.333333 0.333333 0.200000 8.000000 - 0.400000 0.333333 0.200000 8.000000 - 0.466667 0.333333 0.200000 8.000000 - 0.000000 0.400000 0.200000 4.000000 - 0.066667 0.400000 0.200000 8.000000 - 0.133333 0.400000 0.200000 8.000000 - 0.200000 0.400000 0.200000 8.000000 - 0.266667 0.400000 0.200000 8.000000 - 0.333333 0.400000 0.200000 8.000000 - 0.400000 0.400000 0.200000 8.000000 - 0.466667 0.400000 0.200000 8.000000 - 0.000000 0.466667 0.200000 4.000000 - 0.066667 0.466667 0.200000 8.000000 - 0.133333 0.466667 0.200000 8.000000 - 0.200000 0.466667 0.200000 8.000000 - 0.266667 0.466667 0.200000 8.000000 - 0.333333 0.466667 0.200000 8.000000 - 0.400000 0.466667 0.200000 8.000000 - 0.466667 0.466667 0.200000 8.000000 - 0.000000 0.000000 0.266667 2.000000 - 0.066667 0.000000 0.266667 4.000000 - 0.133333 0.000000 0.266667 4.000000 - 0.200000 0.000000 0.266667 4.000000 - 0.266667 0.000000 0.266667 4.000000 - 0.333333 0.000000 0.266667 4.000000 - 0.400000 0.000000 0.266667 4.000000 - 0.466667 0.000000 0.266667 4.000000 - 0.000000 0.066667 0.266667 4.000000 - 0.066667 0.066667 0.266667 8.000000 - 0.133333 0.066667 0.266667 8.000000 - 0.200000 0.066667 0.266667 8.000000 - 0.266667 0.066667 0.266667 8.000000 - 0.333333 0.066667 0.266667 8.000000 - 0.400000 0.066667 0.266667 8.000000 - 0.466667 0.066667 0.266667 8.000000 - 0.000000 0.133333 0.266667 4.000000 - 0.066667 0.133333 0.266667 8.000000 - 0.133333 0.133333 0.266667 8.000000 - 0.200000 0.133333 0.266667 8.000000 - 0.266667 0.133333 0.266667 8.000000 - 0.333333 0.133333 0.266667 8.000000 - 0.400000 0.133333 0.266667 8.000000 - 0.466667 0.133333 0.266667 8.000000 - 0.000000 0.200000 0.266667 4.000000 - 0.066667 0.200000 0.266667 8.000000 - 0.133333 0.200000 0.266667 8.000000 - 0.200000 0.200000 0.266667 8.000000 - 0.266667 0.200000 0.266667 8.000000 - 0.333333 0.200000 0.266667 8.000000 - 0.400000 0.200000 0.266667 8.000000 - 0.466667 0.200000 0.266667 8.000000 - 0.000000 0.266667 0.266667 4.000000 - 0.066667 0.266667 0.266667 8.000000 - 0.133333 0.266667 0.266667 8.000000 - 0.200000 0.266667 0.266667 8.000000 - 0.266667 0.266667 0.266667 8.000000 - 0.333333 0.266667 0.266667 8.000000 - 0.400000 0.266667 0.266667 8.000000 - 0.466667 0.266667 0.266667 8.000000 - 0.000000 0.333333 0.266667 4.000000 - 0.066667 0.333333 0.266667 8.000000 - 0.133333 0.333333 0.266667 8.000000 - 0.200000 0.333333 0.266667 8.000000 - 0.266667 0.333333 0.266667 8.000000 - 0.333333 0.333333 0.266667 8.000000 - 0.400000 0.333333 0.266667 8.000000 - 0.466667 0.333333 0.266667 8.000000 - 0.000000 0.400000 0.266667 4.000000 - 0.066667 0.400000 0.266667 8.000000 - 0.133333 0.400000 0.266667 8.000000 - 0.200000 0.400000 0.266667 8.000000 - 0.266667 0.400000 0.266667 8.000000 - 0.333333 0.400000 0.266667 8.000000 - 0.400000 0.400000 0.266667 8.000000 - 0.466667 0.400000 0.266667 8.000000 - 0.000000 0.466667 0.266667 4.000000 - 0.066667 0.466667 0.266667 8.000000 - 0.133333 0.466667 0.266667 8.000000 - 0.200000 0.466667 0.266667 8.000000 - 0.266667 0.466667 0.266667 8.000000 - 0.333333 0.466667 0.266667 8.000000 - 0.400000 0.466667 0.266667 8.000000 - 0.466667 0.466667 0.266667 8.000000 - 0.000000 0.000000 0.333333 2.000000 - 0.066667 0.000000 0.333333 4.000000 - 0.133333 0.000000 0.333333 4.000000 - 0.200000 0.000000 0.333333 4.000000 - 0.266667 0.000000 0.333333 4.000000 - 0.333333 0.000000 0.333333 4.000000 - 0.400000 0.000000 0.333333 4.000000 - 0.466667 0.000000 0.333333 4.000000 - 0.000000 0.066667 0.333333 4.000000 - 0.066667 0.066667 0.333333 8.000000 - 0.133333 0.066667 0.333333 8.000000 - 0.200000 0.066667 0.333333 8.000000 - 0.266667 0.066667 0.333333 8.000000 - 0.333333 0.066667 0.333333 8.000000 - 0.400000 0.066667 0.333333 8.000000 - 0.466667 0.066667 0.333333 8.000000 - 0.000000 0.133333 0.333333 4.000000 - 0.066667 0.133333 0.333333 8.000000 - 0.133333 0.133333 0.333333 8.000000 - 0.200000 0.133333 0.333333 8.000000 - 0.266667 0.133333 0.333333 8.000000 - 0.333333 0.133333 0.333333 8.000000 - 0.400000 0.133333 0.333333 8.000000 - 0.466667 0.133333 0.333333 8.000000 - 0.000000 0.200000 0.333333 4.000000 - 0.066667 0.200000 0.333333 8.000000 - 0.133333 0.200000 0.333333 8.000000 - 0.200000 0.200000 0.333333 8.000000 - 0.266667 0.200000 0.333333 8.000000 - 0.333333 0.200000 0.333333 8.000000 - 0.400000 0.200000 0.333333 8.000000 - 0.466667 0.200000 0.333333 8.000000 - 0.000000 0.266667 0.333333 4.000000 - 0.066667 0.266667 0.333333 8.000000 - 0.133333 0.266667 0.333333 8.000000 - 0.200000 0.266667 0.333333 8.000000 - 0.266667 0.266667 0.333333 8.000000 - 0.333333 0.266667 0.333333 8.000000 - 0.400000 0.266667 0.333333 8.000000 - 0.466667 0.266667 0.333333 8.000000 - 0.000000 0.333333 0.333333 4.000000 - 0.066667 0.333333 0.333333 8.000000 - 0.133333 0.333333 0.333333 8.000000 - 0.200000 0.333333 0.333333 8.000000 - 0.266667 0.333333 0.333333 8.000000 - 0.333333 0.333333 0.333333 8.000000 - 0.400000 0.333333 0.333333 8.000000 - 0.466667 0.333333 0.333333 8.000000 - 0.000000 0.400000 0.333333 4.000000 - 0.066667 0.400000 0.333333 8.000000 - 0.133333 0.400000 0.333333 8.000000 - 0.200000 0.400000 0.333333 8.000000 - 0.266667 0.400000 0.333333 8.000000 - 0.333333 0.400000 0.333333 8.000000 - 0.400000 0.400000 0.333333 8.000000 - 0.466667 0.400000 0.333333 8.000000 - 0.000000 0.466667 0.333333 4.000000 - 0.066667 0.466667 0.333333 8.000000 - 0.133333 0.466667 0.333333 8.000000 - 0.200000 0.466667 0.333333 8.000000 - 0.266667 0.466667 0.333333 8.000000 - 0.333333 0.466667 0.333333 8.000000 - 0.400000 0.466667 0.333333 8.000000 - 0.466667 0.466667 0.333333 8.000000 - 0.000000 0.000000 0.400000 2.000000 - 0.066667 0.000000 0.400000 4.000000 - 0.133333 0.000000 0.400000 4.000000 - 0.200000 0.000000 0.400000 4.000000 - 0.266667 0.000000 0.400000 4.000000 - 0.333333 0.000000 0.400000 4.000000 - 0.400000 0.000000 0.400000 4.000000 - 0.466667 0.000000 0.400000 4.000000 - 0.000000 0.066667 0.400000 4.000000 - 0.066667 0.066667 0.400000 8.000000 - 0.133333 0.066667 0.400000 8.000000 - 0.200000 0.066667 0.400000 8.000000 - 0.266667 0.066667 0.400000 8.000000 - 0.333333 0.066667 0.400000 8.000000 - 0.400000 0.066667 0.400000 8.000000 - 0.466667 0.066667 0.400000 8.000000 - 0.000000 0.133333 0.400000 4.000000 - 0.066667 0.133333 0.400000 8.000000 - 0.133333 0.133333 0.400000 8.000000 - 0.200000 0.133333 0.400000 8.000000 - 0.266667 0.133333 0.400000 8.000000 - 0.333333 0.133333 0.400000 8.000000 - 0.400000 0.133333 0.400000 8.000000 - 0.466667 0.133333 0.400000 8.000000 - 0.000000 0.200000 0.400000 4.000000 - 0.066667 0.200000 0.400000 8.000000 - 0.133333 0.200000 0.400000 8.000000 - 0.200000 0.200000 0.400000 8.000000 - 0.266667 0.200000 0.400000 8.000000 - 0.333333 0.200000 0.400000 8.000000 - 0.400000 0.200000 0.400000 8.000000 - 0.466667 0.200000 0.400000 8.000000 - 0.000000 0.266667 0.400000 4.000000 - 0.066667 0.266667 0.400000 8.000000 - 0.133333 0.266667 0.400000 8.000000 - 0.200000 0.266667 0.400000 8.000000 - 0.266667 0.266667 0.400000 8.000000 - 0.333333 0.266667 0.400000 8.000000 - 0.400000 0.266667 0.400000 8.000000 - 0.466667 0.266667 0.400000 8.000000 - 0.000000 0.333333 0.400000 4.000000 - 0.066667 0.333333 0.400000 8.000000 - 0.133333 0.333333 0.400000 8.000000 - 0.200000 0.333333 0.400000 8.000000 - 0.266667 0.333333 0.400000 8.000000 - 0.333333 0.333333 0.400000 8.000000 - 0.400000 0.333333 0.400000 8.000000 - 0.466667 0.333333 0.400000 8.000000 - 0.000000 0.400000 0.400000 4.000000 - 0.066667 0.400000 0.400000 8.000000 - 0.133333 0.400000 0.400000 8.000000 - 0.200000 0.400000 0.400000 8.000000 - 0.266667 0.400000 0.400000 8.000000 - 0.333333 0.400000 0.400000 8.000000 - 0.400000 0.400000 0.400000 8.000000 - 0.466667 0.400000 0.400000 8.000000 - 0.000000 0.466667 0.400000 4.000000 - 0.066667 0.466667 0.400000 8.000000 - 0.133333 0.466667 0.400000 8.000000 - 0.200000 0.466667 0.400000 8.000000 - 0.266667 0.466667 0.400000 8.000000 - 0.333333 0.466667 0.400000 8.000000 - 0.400000 0.466667 0.400000 8.000000 - 0.466667 0.466667 0.400000 8.000000 - 0.000000 0.000000 0.466667 2.000000 - 0.066667 0.000000 0.466667 4.000000 - 0.133333 0.000000 0.466667 4.000000 - 0.200000 0.000000 0.466667 4.000000 - 0.266667 0.000000 0.466667 4.000000 - 0.333333 0.000000 0.466667 4.000000 - 0.400000 0.000000 0.466667 4.000000 - 0.466667 0.000000 0.466667 4.000000 - 0.000000 0.066667 0.466667 4.000000 - 0.066667 0.066667 0.466667 8.000000 - 0.133333 0.066667 0.466667 8.000000 - 0.200000 0.066667 0.466667 8.000000 - 0.266667 0.066667 0.466667 8.000000 - 0.333333 0.066667 0.466667 8.000000 - 0.400000 0.066667 0.466667 8.000000 - 0.466667 0.066667 0.466667 8.000000 - 0.000000 0.133333 0.466667 4.000000 - 0.066667 0.133333 0.466667 8.000000 - 0.133333 0.133333 0.466667 8.000000 - 0.200000 0.133333 0.466667 8.000000 - 0.266667 0.133333 0.466667 8.000000 - 0.333333 0.133333 0.466667 8.000000 - 0.400000 0.133333 0.466667 8.000000 - 0.466667 0.133333 0.466667 8.000000 - 0.000000 0.200000 0.466667 4.000000 - 0.066667 0.200000 0.466667 8.000000 - 0.133333 0.200000 0.466667 8.000000 - 0.200000 0.200000 0.466667 8.000000 - 0.266667 0.200000 0.466667 8.000000 - 0.333333 0.200000 0.466667 8.000000 - 0.400000 0.200000 0.466667 8.000000 - 0.466667 0.200000 0.466667 8.000000 - 0.000000 0.266667 0.466667 4.000000 - 0.066667 0.266667 0.466667 8.000000 - 0.133333 0.266667 0.466667 8.000000 - 0.200000 0.266667 0.466667 8.000000 - 0.266667 0.266667 0.466667 8.000000 - 0.333333 0.266667 0.466667 8.000000 - 0.400000 0.266667 0.466667 8.000000 - 0.466667 0.266667 0.466667 8.000000 - 0.000000 0.333333 0.466667 4.000000 - 0.066667 0.333333 0.466667 8.000000 - 0.133333 0.333333 0.466667 8.000000 - 0.200000 0.333333 0.466667 8.000000 - 0.266667 0.333333 0.466667 8.000000 - 0.333333 0.333333 0.466667 8.000000 - 0.400000 0.333333 0.466667 8.000000 - 0.466667 0.333333 0.466667 8.000000 - 0.000000 0.400000 0.466667 4.000000 - 0.066667 0.400000 0.466667 8.000000 - 0.133333 0.400000 0.466667 8.000000 - 0.200000 0.400000 0.466667 8.000000 - 0.266667 0.400000 0.466667 8.000000 - 0.333333 0.400000 0.466667 8.000000 - 0.400000 0.400000 0.466667 8.000000 - 0.466667 0.400000 0.466667 8.000000 - 0.000000 0.466667 0.466667 4.000000 - 0.066667 0.466667 0.466667 8.000000 - 0.133333 0.466667 0.466667 8.000000 - 0.200000 0.466667 0.466667 8.000000 - 0.266667 0.466667 0.466667 8.000000 - 0.333333 0.466667 0.466667 8.000000 - 0.400000 0.466667 0.466667 8.000000 - 0.466667 0.466667 0.466667 8.000000 - - Following cartesian coordinates: - Coordinates Weight - 0.000000 0.000000 0.000000 1.000000 - 0.018167 0.000000 0.000000 2.000000 - 0.036334 0.000000 0.000000 2.000000 - 0.054502 0.000000 0.000000 2.000000 - 0.072669 0.000000 0.000000 2.000000 - 0.090836 0.000000 0.000000 2.000000 - 0.109003 0.000000 0.000000 2.000000 - 0.127171 0.000000 0.000000 2.000000 - 0.000000 0.018740 0.000000 2.000000 - 0.018167 0.018740 0.000000 4.000000 - 0.036334 0.018740 0.000000 4.000000 - 0.054502 0.018740 0.000000 4.000000 - 0.072669 0.018740 0.000000 4.000000 - 0.090836 0.018740 0.000000 4.000000 - 0.109003 0.018740 0.000000 4.000000 - 0.127171 0.018740 0.000000 4.000000 - 0.000000 0.037480 0.000000 2.000000 - 0.018167 0.037480 0.000000 4.000000 - 0.036334 0.037480 0.000000 4.000000 - 0.054502 0.037480 0.000000 4.000000 - 0.072669 0.037480 0.000000 4.000000 - 0.090836 0.037480 0.000000 4.000000 - 0.109003 0.037480 0.000000 4.000000 - 0.127171 0.037480 0.000000 4.000000 - 0.000000 0.056220 0.000000 2.000000 - 0.018167 0.056220 0.000000 4.000000 - 0.036334 0.056220 0.000000 4.000000 - 0.054502 0.056220 0.000000 4.000000 - 0.072669 0.056220 0.000000 4.000000 - 0.090836 0.056220 0.000000 4.000000 - 0.109003 0.056220 0.000000 4.000000 - 0.127171 0.056220 0.000000 4.000000 - 0.000000 0.074960 0.000000 2.000000 - 0.018167 0.074960 0.000000 4.000000 - 0.036334 0.074960 0.000000 4.000000 - 0.054502 0.074960 0.000000 4.000000 - 0.072669 0.074960 0.000000 4.000000 - 0.090836 0.074960 0.000000 4.000000 - 0.109003 0.074960 0.000000 4.000000 - 0.127171 0.074960 0.000000 4.000000 - 0.000000 0.093700 0.000000 2.000000 - 0.018167 0.093700 0.000000 4.000000 - 0.036334 0.093700 0.000000 4.000000 - 0.054502 0.093700 0.000000 4.000000 - 0.072669 0.093700 0.000000 4.000000 - 0.090836 0.093700 0.000000 4.000000 - 0.109003 0.093700 0.000000 4.000000 - 0.127171 0.093700 0.000000 4.000000 - 0.000000 0.112440 0.000000 2.000000 - 0.018167 0.112440 0.000000 4.000000 - 0.036334 0.112440 0.000000 4.000000 - 0.054502 0.112440 0.000000 4.000000 - 0.072669 0.112440 0.000000 4.000000 - 0.090836 0.112440 0.000000 4.000000 - 0.109003 0.112440 0.000000 4.000000 - 0.127171 0.112440 0.000000 4.000000 - 0.000000 0.131180 0.000000 2.000000 - 0.018167 0.131180 0.000000 4.000000 - 0.036334 0.131180 0.000000 4.000000 - 0.054502 0.131180 0.000000 4.000000 - 0.072669 0.131180 0.000000 4.000000 - 0.090836 0.131180 0.000000 4.000000 - 0.109003 0.131180 0.000000 4.000000 - 0.127171 0.131180 0.000000 4.000000 - 0.000000 0.000000 0.020986 2.000000 - 0.018167 0.000000 0.020986 4.000000 - 0.036334 0.000000 0.020986 4.000000 - 0.054502 0.000000 0.020986 4.000000 - 0.072669 0.000000 0.020986 4.000000 - 0.090836 0.000000 0.020986 4.000000 - 0.109003 0.000000 0.020986 4.000000 - 0.127171 0.000000 0.020986 4.000000 - 0.000000 0.018740 0.020986 4.000000 - 0.018167 0.018740 0.020986 8.000000 - 0.036334 0.018740 0.020986 8.000000 - 0.054502 0.018740 0.020986 8.000000 - 0.072669 0.018740 0.020986 8.000000 - 0.090836 0.018740 0.020986 8.000000 - 0.109003 0.018740 0.020986 8.000000 - 0.127171 0.018740 0.020986 8.000000 - 0.000000 0.037480 0.020986 4.000000 - 0.018167 0.037480 0.020986 8.000000 - 0.036334 0.037480 0.020986 8.000000 - 0.054502 0.037480 0.020986 8.000000 - 0.072669 0.037480 0.020986 8.000000 - 0.090836 0.037480 0.020986 8.000000 - 0.109003 0.037480 0.020986 8.000000 - 0.127171 0.037480 0.020986 8.000000 - 0.000000 0.056220 0.020986 4.000000 - 0.018167 0.056220 0.020986 8.000000 - 0.036334 0.056220 0.020986 8.000000 - 0.054502 0.056220 0.020986 8.000000 - 0.072669 0.056220 0.020986 8.000000 - 0.090836 0.056220 0.020986 8.000000 - 0.109003 0.056220 0.020986 8.000000 - 0.127171 0.056220 0.020986 8.000000 - 0.000000 0.074960 0.020986 4.000000 - 0.018167 0.074960 0.020986 8.000000 - 0.036334 0.074960 0.020986 8.000000 - 0.054502 0.074960 0.020986 8.000000 - 0.072669 0.074960 0.020986 8.000000 - 0.090836 0.074960 0.020986 8.000000 - 0.109003 0.074960 0.020986 8.000000 - 0.127171 0.074960 0.020986 8.000000 - 0.000000 0.093700 0.020986 4.000000 - 0.018167 0.093700 0.020986 8.000000 - 0.036334 0.093700 0.020986 8.000000 - 0.054502 0.093700 0.020986 8.000000 - 0.072669 0.093700 0.020986 8.000000 - 0.090836 0.093700 0.020986 8.000000 - 0.109003 0.093700 0.020986 8.000000 - 0.127171 0.093700 0.020986 8.000000 - 0.000000 0.112440 0.020986 4.000000 - 0.018167 0.112440 0.020986 8.000000 - 0.036334 0.112440 0.020986 8.000000 - 0.054502 0.112440 0.020986 8.000000 - 0.072669 0.112440 0.020986 8.000000 - 0.090836 0.112440 0.020986 8.000000 - 0.109003 0.112440 0.020986 8.000000 - 0.127171 0.112440 0.020986 8.000000 - 0.000000 0.131180 0.020986 4.000000 - 0.018167 0.131180 0.020986 8.000000 - 0.036334 0.131180 0.020986 8.000000 - 0.054502 0.131180 0.020986 8.000000 - 0.072669 0.131180 0.020986 8.000000 - 0.090836 0.131180 0.020986 8.000000 - 0.109003 0.131180 0.020986 8.000000 - 0.127171 0.131180 0.020986 8.000000 - 0.000000 0.000000 0.041971 2.000000 - 0.018167 0.000000 0.041971 4.000000 - 0.036334 0.000000 0.041971 4.000000 - 0.054502 0.000000 0.041971 4.000000 - 0.072669 0.000000 0.041971 4.000000 - 0.090836 0.000000 0.041971 4.000000 - 0.109003 0.000000 0.041971 4.000000 - 0.127171 0.000000 0.041971 4.000000 - 0.000000 0.018740 0.041971 4.000000 - 0.018167 0.018740 0.041971 8.000000 - 0.036334 0.018740 0.041971 8.000000 - 0.054502 0.018740 0.041971 8.000000 - 0.072669 0.018740 0.041971 8.000000 - 0.090836 0.018740 0.041971 8.000000 - 0.109003 0.018740 0.041971 8.000000 - 0.127171 0.018740 0.041971 8.000000 - 0.000000 0.037480 0.041971 4.000000 - 0.018167 0.037480 0.041971 8.000000 - 0.036334 0.037480 0.041971 8.000000 - 0.054502 0.037480 0.041971 8.000000 - 0.072669 0.037480 0.041971 8.000000 - 0.090836 0.037480 0.041971 8.000000 - 0.109003 0.037480 0.041971 8.000000 - 0.127171 0.037480 0.041971 8.000000 - 0.000000 0.056220 0.041971 4.000000 - 0.018167 0.056220 0.041971 8.000000 - 0.036334 0.056220 0.041971 8.000000 - 0.054502 0.056220 0.041971 8.000000 - 0.072669 0.056220 0.041971 8.000000 - 0.090836 0.056220 0.041971 8.000000 - 0.109003 0.056220 0.041971 8.000000 - 0.127171 0.056220 0.041971 8.000000 - 0.000000 0.074960 0.041971 4.000000 - 0.018167 0.074960 0.041971 8.000000 - 0.036334 0.074960 0.041971 8.000000 - 0.054502 0.074960 0.041971 8.000000 - 0.072669 0.074960 0.041971 8.000000 - 0.090836 0.074960 0.041971 8.000000 - 0.109003 0.074960 0.041971 8.000000 - 0.127171 0.074960 0.041971 8.000000 - 0.000000 0.093700 0.041971 4.000000 - 0.018167 0.093700 0.041971 8.000000 - 0.036334 0.093700 0.041971 8.000000 - 0.054502 0.093700 0.041971 8.000000 - 0.072669 0.093700 0.041971 8.000000 - 0.090836 0.093700 0.041971 8.000000 - 0.109003 0.093700 0.041971 8.000000 - 0.127171 0.093700 0.041971 8.000000 - 0.000000 0.112440 0.041971 4.000000 - 0.018167 0.112440 0.041971 8.000000 - 0.036334 0.112440 0.041971 8.000000 - 0.054502 0.112440 0.041971 8.000000 - 0.072669 0.112440 0.041971 8.000000 - 0.090836 0.112440 0.041971 8.000000 - 0.109003 0.112440 0.041971 8.000000 - 0.127171 0.112440 0.041971 8.000000 - 0.000000 0.131180 0.041971 4.000000 - 0.018167 0.131180 0.041971 8.000000 - 0.036334 0.131180 0.041971 8.000000 - 0.054502 0.131180 0.041971 8.000000 - 0.072669 0.131180 0.041971 8.000000 - 0.090836 0.131180 0.041971 8.000000 - 0.109003 0.131180 0.041971 8.000000 - 0.127171 0.131180 0.041971 8.000000 - 0.000000 0.000000 0.062957 2.000000 - 0.018167 0.000000 0.062957 4.000000 - 0.036334 0.000000 0.062957 4.000000 - 0.054502 0.000000 0.062957 4.000000 - 0.072669 0.000000 0.062957 4.000000 - 0.090836 0.000000 0.062957 4.000000 - 0.109003 0.000000 0.062957 4.000000 - 0.127171 0.000000 0.062957 4.000000 - 0.000000 0.018740 0.062957 4.000000 - 0.018167 0.018740 0.062957 8.000000 - 0.036334 0.018740 0.062957 8.000000 - 0.054502 0.018740 0.062957 8.000000 - 0.072669 0.018740 0.062957 8.000000 - 0.090836 0.018740 0.062957 8.000000 - 0.109003 0.018740 0.062957 8.000000 - 0.127171 0.018740 0.062957 8.000000 - 0.000000 0.037480 0.062957 4.000000 - 0.018167 0.037480 0.062957 8.000000 - 0.036334 0.037480 0.062957 8.000000 - 0.054502 0.037480 0.062957 8.000000 - 0.072669 0.037480 0.062957 8.000000 - 0.090836 0.037480 0.062957 8.000000 - 0.109003 0.037480 0.062957 8.000000 - 0.127171 0.037480 0.062957 8.000000 - 0.000000 0.056220 0.062957 4.000000 - 0.018167 0.056220 0.062957 8.000000 - 0.036334 0.056220 0.062957 8.000000 - 0.054502 0.056220 0.062957 8.000000 - 0.072669 0.056220 0.062957 8.000000 - 0.090836 0.056220 0.062957 8.000000 - 0.109003 0.056220 0.062957 8.000000 - 0.127171 0.056220 0.062957 8.000000 - 0.000000 0.074960 0.062957 4.000000 - 0.018167 0.074960 0.062957 8.000000 - 0.036334 0.074960 0.062957 8.000000 - 0.054502 0.074960 0.062957 8.000000 - 0.072669 0.074960 0.062957 8.000000 - 0.090836 0.074960 0.062957 8.000000 - 0.109003 0.074960 0.062957 8.000000 - 0.127171 0.074960 0.062957 8.000000 - 0.000000 0.093700 0.062957 4.000000 - 0.018167 0.093700 0.062957 8.000000 - 0.036334 0.093700 0.062957 8.000000 - 0.054502 0.093700 0.062957 8.000000 - 0.072669 0.093700 0.062957 8.000000 - 0.090836 0.093700 0.062957 8.000000 - 0.109003 0.093700 0.062957 8.000000 - 0.127171 0.093700 0.062957 8.000000 - 0.000000 0.112440 0.062957 4.000000 - 0.018167 0.112440 0.062957 8.000000 - 0.036334 0.112440 0.062957 8.000000 - 0.054502 0.112440 0.062957 8.000000 - 0.072669 0.112440 0.062957 8.000000 - 0.090836 0.112440 0.062957 8.000000 - 0.109003 0.112440 0.062957 8.000000 - 0.127171 0.112440 0.062957 8.000000 - 0.000000 0.131180 0.062957 4.000000 - 0.018167 0.131180 0.062957 8.000000 - 0.036334 0.131180 0.062957 8.000000 - 0.054502 0.131180 0.062957 8.000000 - 0.072669 0.131180 0.062957 8.000000 - 0.090836 0.131180 0.062957 8.000000 - 0.109003 0.131180 0.062957 8.000000 - 0.127171 0.131180 0.062957 8.000000 - 0.000000 0.000000 0.083942 2.000000 - 0.018167 0.000000 0.083942 4.000000 - 0.036334 0.000000 0.083942 4.000000 - 0.054502 0.000000 0.083942 4.000000 - 0.072669 0.000000 0.083942 4.000000 - 0.090836 0.000000 0.083942 4.000000 - 0.109003 0.000000 0.083942 4.000000 - 0.127171 0.000000 0.083942 4.000000 - 0.000000 0.018740 0.083942 4.000000 - 0.018167 0.018740 0.083942 8.000000 - 0.036334 0.018740 0.083942 8.000000 - 0.054502 0.018740 0.083942 8.000000 - 0.072669 0.018740 0.083942 8.000000 - 0.090836 0.018740 0.083942 8.000000 - 0.109003 0.018740 0.083942 8.000000 - 0.127171 0.018740 0.083942 8.000000 - 0.000000 0.037480 0.083942 4.000000 - 0.018167 0.037480 0.083942 8.000000 - 0.036334 0.037480 0.083942 8.000000 - 0.054502 0.037480 0.083942 8.000000 - 0.072669 0.037480 0.083942 8.000000 - 0.090836 0.037480 0.083942 8.000000 - 0.109003 0.037480 0.083942 8.000000 - 0.127171 0.037480 0.083942 8.000000 - 0.000000 0.056220 0.083942 4.000000 - 0.018167 0.056220 0.083942 8.000000 - 0.036334 0.056220 0.083942 8.000000 - 0.054502 0.056220 0.083942 8.000000 - 0.072669 0.056220 0.083942 8.000000 - 0.090836 0.056220 0.083942 8.000000 - 0.109003 0.056220 0.083942 8.000000 - 0.127171 0.056220 0.083942 8.000000 - 0.000000 0.074960 0.083942 4.000000 - 0.018167 0.074960 0.083942 8.000000 - 0.036334 0.074960 0.083942 8.000000 - 0.054502 0.074960 0.083942 8.000000 - 0.072669 0.074960 0.083942 8.000000 - 0.090836 0.074960 0.083942 8.000000 - 0.109003 0.074960 0.083942 8.000000 - 0.127171 0.074960 0.083942 8.000000 - 0.000000 0.093700 0.083942 4.000000 - 0.018167 0.093700 0.083942 8.000000 - 0.036334 0.093700 0.083942 8.000000 - 0.054502 0.093700 0.083942 8.000000 - 0.072669 0.093700 0.083942 8.000000 - 0.090836 0.093700 0.083942 8.000000 - 0.109003 0.093700 0.083942 8.000000 - 0.127171 0.093700 0.083942 8.000000 - 0.000000 0.112440 0.083942 4.000000 - 0.018167 0.112440 0.083942 8.000000 - 0.036334 0.112440 0.083942 8.000000 - 0.054502 0.112440 0.083942 8.000000 - 0.072669 0.112440 0.083942 8.000000 - 0.090836 0.112440 0.083942 8.000000 - 0.109003 0.112440 0.083942 8.000000 - 0.127171 0.112440 0.083942 8.000000 - 0.000000 0.131180 0.083942 4.000000 - 0.018167 0.131180 0.083942 8.000000 - 0.036334 0.131180 0.083942 8.000000 - 0.054502 0.131180 0.083942 8.000000 - 0.072669 0.131180 0.083942 8.000000 - 0.090836 0.131180 0.083942 8.000000 - 0.109003 0.131180 0.083942 8.000000 - 0.127171 0.131180 0.083942 8.000000 - 0.000000 0.000000 0.104928 2.000000 - 0.018167 0.000000 0.104928 4.000000 - 0.036334 0.000000 0.104928 4.000000 - 0.054502 0.000000 0.104928 4.000000 - 0.072669 0.000000 0.104928 4.000000 - 0.090836 0.000000 0.104928 4.000000 - 0.109003 0.000000 0.104928 4.000000 - 0.127171 0.000000 0.104928 4.000000 - 0.000000 0.018740 0.104928 4.000000 - 0.018167 0.018740 0.104928 8.000000 - 0.036334 0.018740 0.104928 8.000000 - 0.054502 0.018740 0.104928 8.000000 - 0.072669 0.018740 0.104928 8.000000 - 0.090836 0.018740 0.104928 8.000000 - 0.109003 0.018740 0.104928 8.000000 - 0.127171 0.018740 0.104928 8.000000 - 0.000000 0.037480 0.104928 4.000000 - 0.018167 0.037480 0.104928 8.000000 - 0.036334 0.037480 0.104928 8.000000 - 0.054502 0.037480 0.104928 8.000000 - 0.072669 0.037480 0.104928 8.000000 - 0.090836 0.037480 0.104928 8.000000 - 0.109003 0.037480 0.104928 8.000000 - 0.127171 0.037480 0.104928 8.000000 - 0.000000 0.056220 0.104928 4.000000 - 0.018167 0.056220 0.104928 8.000000 - 0.036334 0.056220 0.104928 8.000000 - 0.054502 0.056220 0.104928 8.000000 - 0.072669 0.056220 0.104928 8.000000 - 0.090836 0.056220 0.104928 8.000000 - 0.109003 0.056220 0.104928 8.000000 - 0.127171 0.056220 0.104928 8.000000 - 0.000000 0.074960 0.104928 4.000000 - 0.018167 0.074960 0.104928 8.000000 - 0.036334 0.074960 0.104928 8.000000 - 0.054502 0.074960 0.104928 8.000000 - 0.072669 0.074960 0.104928 8.000000 - 0.090836 0.074960 0.104928 8.000000 - 0.109003 0.074960 0.104928 8.000000 - 0.127171 0.074960 0.104928 8.000000 - 0.000000 0.093700 0.104928 4.000000 - 0.018167 0.093700 0.104928 8.000000 - 0.036334 0.093700 0.104928 8.000000 - 0.054502 0.093700 0.104928 8.000000 - 0.072669 0.093700 0.104928 8.000000 - 0.090836 0.093700 0.104928 8.000000 - 0.109003 0.093700 0.104928 8.000000 - 0.127171 0.093700 0.104928 8.000000 - 0.000000 0.112440 0.104928 4.000000 - 0.018167 0.112440 0.104928 8.000000 - 0.036334 0.112440 0.104928 8.000000 - 0.054502 0.112440 0.104928 8.000000 - 0.072669 0.112440 0.104928 8.000000 - 0.090836 0.112440 0.104928 8.000000 - 0.109003 0.112440 0.104928 8.000000 - 0.127171 0.112440 0.104928 8.000000 - 0.000000 0.131180 0.104928 4.000000 - 0.018167 0.131180 0.104928 8.000000 - 0.036334 0.131180 0.104928 8.000000 - 0.054502 0.131180 0.104928 8.000000 - 0.072669 0.131180 0.104928 8.000000 - 0.090836 0.131180 0.104928 8.000000 - 0.109003 0.131180 0.104928 8.000000 - 0.127171 0.131180 0.104928 8.000000 - 0.000000 0.000000 0.125914 2.000000 - 0.018167 0.000000 0.125914 4.000000 - 0.036334 0.000000 0.125914 4.000000 - 0.054502 0.000000 0.125914 4.000000 - 0.072669 0.000000 0.125914 4.000000 - 0.090836 0.000000 0.125914 4.000000 - 0.109003 0.000000 0.125914 4.000000 - 0.127171 0.000000 0.125914 4.000000 - 0.000000 0.018740 0.125914 4.000000 - 0.018167 0.018740 0.125914 8.000000 - 0.036334 0.018740 0.125914 8.000000 - 0.054502 0.018740 0.125914 8.000000 - 0.072669 0.018740 0.125914 8.000000 - 0.090836 0.018740 0.125914 8.000000 - 0.109003 0.018740 0.125914 8.000000 - 0.127171 0.018740 0.125914 8.000000 - 0.000000 0.037480 0.125914 4.000000 - 0.018167 0.037480 0.125914 8.000000 - 0.036334 0.037480 0.125914 8.000000 - 0.054502 0.037480 0.125914 8.000000 - 0.072669 0.037480 0.125914 8.000000 - 0.090836 0.037480 0.125914 8.000000 - 0.109003 0.037480 0.125914 8.000000 - 0.127171 0.037480 0.125914 8.000000 - 0.000000 0.056220 0.125914 4.000000 - 0.018167 0.056220 0.125914 8.000000 - 0.036334 0.056220 0.125914 8.000000 - 0.054502 0.056220 0.125914 8.000000 - 0.072669 0.056220 0.125914 8.000000 - 0.090836 0.056220 0.125914 8.000000 - 0.109003 0.056220 0.125914 8.000000 - 0.127171 0.056220 0.125914 8.000000 - 0.000000 0.074960 0.125914 4.000000 - 0.018167 0.074960 0.125914 8.000000 - 0.036334 0.074960 0.125914 8.000000 - 0.054502 0.074960 0.125914 8.000000 - 0.072669 0.074960 0.125914 8.000000 - 0.090836 0.074960 0.125914 8.000000 - 0.109003 0.074960 0.125914 8.000000 - 0.127171 0.074960 0.125914 8.000000 - 0.000000 0.093700 0.125914 4.000000 - 0.018167 0.093700 0.125914 8.000000 - 0.036334 0.093700 0.125914 8.000000 - 0.054502 0.093700 0.125914 8.000000 - 0.072669 0.093700 0.125914 8.000000 - 0.090836 0.093700 0.125914 8.000000 - 0.109003 0.093700 0.125914 8.000000 - 0.127171 0.093700 0.125914 8.000000 - 0.000000 0.112440 0.125914 4.000000 - 0.018167 0.112440 0.125914 8.000000 - 0.036334 0.112440 0.125914 8.000000 - 0.054502 0.112440 0.125914 8.000000 - 0.072669 0.112440 0.125914 8.000000 - 0.090836 0.112440 0.125914 8.000000 - 0.109003 0.112440 0.125914 8.000000 - 0.127171 0.112440 0.125914 8.000000 - 0.000000 0.131180 0.125914 4.000000 - 0.018167 0.131180 0.125914 8.000000 - 0.036334 0.131180 0.125914 8.000000 - 0.054502 0.131180 0.125914 8.000000 - 0.072669 0.131180 0.125914 8.000000 - 0.090836 0.131180 0.125914 8.000000 - 0.109003 0.131180 0.125914 8.000000 - 0.127171 0.131180 0.125914 8.000000 - 0.000000 0.000000 0.146899 2.000000 - 0.018167 0.000000 0.146899 4.000000 - 0.036334 0.000000 0.146899 4.000000 - 0.054502 0.000000 0.146899 4.000000 - 0.072669 0.000000 0.146899 4.000000 - 0.090836 0.000000 0.146899 4.000000 - 0.109003 0.000000 0.146899 4.000000 - 0.127171 0.000000 0.146899 4.000000 - 0.000000 0.018740 0.146899 4.000000 - 0.018167 0.018740 0.146899 8.000000 - 0.036334 0.018740 0.146899 8.000000 - 0.054502 0.018740 0.146899 8.000000 - 0.072669 0.018740 0.146899 8.000000 - 0.090836 0.018740 0.146899 8.000000 - 0.109003 0.018740 0.146899 8.000000 - 0.127171 0.018740 0.146899 8.000000 - 0.000000 0.037480 0.146899 4.000000 - 0.018167 0.037480 0.146899 8.000000 - 0.036334 0.037480 0.146899 8.000000 - 0.054502 0.037480 0.146899 8.000000 - 0.072669 0.037480 0.146899 8.000000 - 0.090836 0.037480 0.146899 8.000000 - 0.109003 0.037480 0.146899 8.000000 - 0.127171 0.037480 0.146899 8.000000 - 0.000000 0.056220 0.146899 4.000000 - 0.018167 0.056220 0.146899 8.000000 - 0.036334 0.056220 0.146899 8.000000 - 0.054502 0.056220 0.146899 8.000000 - 0.072669 0.056220 0.146899 8.000000 - 0.090836 0.056220 0.146899 8.000000 - 0.109003 0.056220 0.146899 8.000000 - 0.127171 0.056220 0.146899 8.000000 - 0.000000 0.074960 0.146899 4.000000 - 0.018167 0.074960 0.146899 8.000000 - 0.036334 0.074960 0.146899 8.000000 - 0.054502 0.074960 0.146899 8.000000 - 0.072669 0.074960 0.146899 8.000000 - 0.090836 0.074960 0.146899 8.000000 - 0.109003 0.074960 0.146899 8.000000 - 0.127171 0.074960 0.146899 8.000000 - 0.000000 0.093700 0.146899 4.000000 - 0.018167 0.093700 0.146899 8.000000 - 0.036334 0.093700 0.146899 8.000000 - 0.054502 0.093700 0.146899 8.000000 - 0.072669 0.093700 0.146899 8.000000 - 0.090836 0.093700 0.146899 8.000000 - 0.109003 0.093700 0.146899 8.000000 - 0.127171 0.093700 0.146899 8.000000 - 0.000000 0.112440 0.146899 4.000000 - 0.018167 0.112440 0.146899 8.000000 - 0.036334 0.112440 0.146899 8.000000 - 0.054502 0.112440 0.146899 8.000000 - 0.072669 0.112440 0.146899 8.000000 - 0.090836 0.112440 0.146899 8.000000 - 0.109003 0.112440 0.146899 8.000000 - 0.127171 0.112440 0.146899 8.000000 - 0.000000 0.131180 0.146899 4.000000 - 0.018167 0.131180 0.146899 8.000000 - 0.036334 0.131180 0.146899 8.000000 - 0.054502 0.131180 0.146899 8.000000 - 0.072669 0.131180 0.146899 8.000000 - 0.090836 0.131180 0.146899 8.000000 - 0.109003 0.131180 0.146899 8.000000 - 0.127171 0.131180 0.146899 8.000000 - - - --------------------------------------------------------------------------------------------------------- - - - - - Dimension of arrays: - k-points NKPTS = 512 k-points in BZ NKDIM = 512 number of bands NBANDS= 18 - number of dos NEDOS = 301 number of ions NIONS = 4 - non local maximal LDIM = 8 non local SUM 2l+1 LMDIM = 26 - total plane-waves NPLWV = 11520 - max r-space proj IRMAX = 1 max aug-charges IRDMAX= 9112 - dimension x,y,z NGX = 24 NGY = 24 NGZ = 20 - dimension x,y,z NGXF= 48 NGYF= 48 NGZF= 40 - support grid NGXF= 48 NGYF= 48 NGZF= 40 - ions per type = 1 3 - NGX,Y,Z is equivalent to a cutoff of 10.87, 11.22, 10.47 a.u. - NGXF,Y,Z is equivalent to a cutoff of 21.75, 22.43, 20.93 a.u. - - SYSTEM = unknown system - POSCAR = WBe3 L1_2 - - Startparameter for this run: - NWRITE = 2 write-flag & timer - PREC = normal normal or accurate (medium, high low for compatibility) - ISTART = 0 job : 0-new 1-cont 2-samecut - ICHARG = 2 charge: 1-file 2-atom 10-const - ISPIN = 1 spin polarized calculation? - LNONCOLLINEAR = F non collinear calculations - LSORBIT = F spin-orbit coupling - INIWAV = 1 electr: 0-lowe 1-rand 2-diag - LASPH = F aspherical Exc in radial PAW - METAGGA= F non-selfconsistent MetaGGA calc. - - Electronic Relaxation 1 - ENCUT = 600.0 eV 44.10 Ry 6.64 a.u. 7.33 7.11 6.34*2*pi/ulx,y,z - ENINI = 600.0 initial cutoff - ENAUG = 1293.4 eV augmentation charge cutoff - NELM = 100; NELMIN= 2; NELMDL= -5 # of ELM steps - EDIFF = 0.1E-05 stopping-criterion for ELM - LREAL = F real-space projection - NLSPLINE = F spline interpolate recip. space projectors - LCOMPAT= F compatible to vasp.4.4 - GGA_COMPAT = T GGA compatible to vasp.4.4-vasp.4.6 - LMAXPAW = -100 max onsite density - LMAXMIX = 2 max onsite mixed and CHGCAR - VOSKOWN= 0 Vosko Wilk Nusair interpolation - ROPT = 0.00000 0.00000 - Ionic relaxation - EDIFFG = 0.1E-02 stopping-criterion for IOM - NSW = 0 number of steps for IOM - NBLOCK = 1; KBLOCK = 1 inner block; outer block - IBRION = -1 ionic relax: 0-MD 1-quasi-New 2-CG - NFREE = 0 steps in history (QN), initial steepest desc. (CG) - ISIF = 2 stress and relaxation - IWAVPR = 10 prediction: 0-non 1-charg 2-wave 3-comb - ISYM = 2 0-nonsym 1-usesym 2-fastsym - LCORR = T Harris-Foulkes like correction to forces - - POTIM = 0.5000 time-step for ionic-motion - TEIN = 0.0 initial temperature - TEBEG = 3500.0; TEEND =3500.0 temperature during run - SMASS = -3.00 Nose mass-parameter (am) - estimated Nose-frequenzy (Omega) = 0.10E-29 period in steps =****** mass= -0.308E-27a.u. - SCALEE = 1.0000 scale energy and forces - NPACO = 256; APACO = 16.0 distance and # of slots for P.C. - PSTRESS= 0.0 pullay stress - - Mass of Ions in am - POMASS = 183.85 9.01 - Ionic Valenz - ZVAL = 14.00 4.00 - Atomic Wigner-Seitz radii - RWIGS = -1.00 -1.00 - virtual crystal weights - VCA = 1.00 1.00 - NELECT = 26.0000 total number of electrons - NUPDOWN= -1.0000 fix difference up-down - - DOS related values: - EMIN = 10.00; EMAX =-10.00 energy-range for DOS - EFERMI = 0.00 - ISMEAR = 0; SIGMA = 0.10 broadening in eV -4-tet -1-fermi 0-gaus - - Electronic relaxation 2 (details) - IALGO = 48 algorithm - LDIAG = T sub-space diagonalisation (order eigenvalues) - LSUBROT= F optimize rotation matrix (better conditioning) - TURBO = 0 0=normal 1=particle mesh - IRESTART = 0 0=no restart 2=restart with 2 vectors - NREBOOT = 0 no. of reboots - NMIN = 0 reboot dimension - EREF = 0.00 reference energy to select bands - IMIX = 4 mixing-type and parameters - AMIX = 0.40; BMIX = 1.00 - AMIX_MAG = 1.60; BMIX_MAG = 1.00 - AMIN = 0.10 - WC = 100.; INIMIX= 1; MIXPRE= 1; MAXMIX= -45 - - Intra band minimization: - WEIMIN = 0.0000 energy-eigenvalue tresh-hold - EBREAK = 0.14E-07 absolut break condition - DEPER = 0.30 relativ break condition - - TIME = 0.40 timestep for ELM - - volume/ion in A,a.u. = 10.37 69.97 - Fermi-wavevector in a.u.,A,eV,Ry = 1.401149 2.647788 26.711209 1.963218 - Thomas-Fermi vector in A = 2.524039 - - Write flags - LWAVE = T write WAVECAR - LDOWNSAMPLE = F k-point downsampling of WAVECAR - LCHARG = T write CHGCAR - LVTOT = F write LOCPOT, total local potential - LVHAR = F write LOCPOT, Hartree potential only - LELF = F write electronic localiz. function (ELF) - LORBIT = 0 0 simple, 1 ext, 2 COOP (PROOUT), +10 PAW based schemes - - - Dipole corrections - LMONO = F monopole corrections only (constant potential shift) - LDIPOL = F correct potential (dipole corrections) - IDIPOL = 0 1-x, 2-y, 3-z, 4-all directions - EPSILON= 1.0000000 bulk dielectric constant - - Exchange correlation treatment: - GGA = -- GGA type - LEXCH = 8 internal setting for exchange type - VOSKOWN= 0 Vosko Wilk Nusair interpolation - LHFCALC = F Hartree Fock is set to - LHFONE = F Hartree Fock one center treatment - AEXX = 0.0000 exact exchange contribution - - Linear response parameters - LEPSILON= F determine dielectric tensor - LRPA = F only Hartree local field effects (RPA) - LNABLA = F use nabla operator in PAW spheres - LVEL = F velocity operator in full k-point grid - LINTERFAST= F fast interpolation - KINTER = 0 interpolate to denser k-point grid - CSHIFT =0.1000 complex shift for real part using Kramers Kronig - OMEGAMAX= -1.0 maximum frequency - DEG_THRESHOLD= 0.2000000E-02 threshold for treating states as degnerate - RTIME = -0.100 relaxation time in fs - (WPLASMAI= 0.000 imaginary part of plasma frequency in eV, 0.658/RTIME) - DFIELD = 0.0000000 0.0000000 0.0000000 field for delta impulse in time - - Orbital magnetization related: - ORBITALMAG= F switch on orbital magnetization - LCHIMAG = F perturbation theory with respect to B field - DQ = 0.001000 dq finite difference perturbation B field - LLRAUG = F two centre corrections for induced B field - - - --------------------------------------------------------------------------------------------------------- - - - Static calculation - charge density and potential will be updated during run - non-spin polarized calculation - RMM-DIIS sequential band-by-band - perform sub-space diagonalisation - before iterative eigenvector-optimisation - modified Broyden-mixing scheme, WC = 100.0 - initial mixing is a Kerker type mixing with AMIX = 0.4000 and BMIX = 1.0000 - Hartree-type preconditioning will be used - using additional bands 5 - reciprocal scheme for non local part - use partial core corrections - calculate Harris-corrections to forces - (improved forces if not selfconsistent) - use gradient corrections - use of overlap-Matrix (Vanderbilt PP) - Gauss-broadening in eV SIGMA = 0.10 - - --------------------------------------------------------------------------------------------------------- - - - energy-cutoff : 600.00 - volume of cell : 41.47 - direct lattice vectors reciprocal lattice vectors - 3.669611000 0.000000000 0.000000000 0.272508448 0.000000000 0.000000000 - 0.000000000 3.557440000 0.000000000 0.000000000 0.281101016 0.000000000 - 0.000000000 0.000000000 3.176781000 0.000000000 0.000000000 0.314784053 - - length of vectors - 3.669611000 3.557440000 3.176781000 0.272508448 0.281101016 0.314784053 - - - - k-points in units of 2pi/SCALE and weight: K-Points - 0.00000000 0.00000000 0.00000000 0.000 - 0.01816723 0.00000000 0.00000000 0.001 - 0.03633446 0.00000000 0.00000000 0.001 - 0.05450169 0.00000000 0.00000000 0.001 - 0.07266892 0.00000000 0.00000000 0.001 - 0.09083615 0.00000000 0.00000000 0.001 - 0.10900338 0.00000000 0.00000000 0.001 - 0.12717061 0.00000000 0.00000000 0.001 - 0.00000000 0.01874007 0.00000000 0.001 - 0.01816723 0.01874007 0.00000000 0.001 - 0.03633446 0.01874007 0.00000000 0.001 - 0.05450169 0.01874007 0.00000000 0.001 - 0.07266892 0.01874007 0.00000000 0.001 - 0.09083615 0.01874007 0.00000000 0.001 - 0.10900338 0.01874007 0.00000000 0.001 - 0.12717061 0.01874007 0.00000000 0.001 - 0.00000000 0.03748014 0.00000000 0.001 - 0.01816723 0.03748014 0.00000000 0.001 - 0.03633446 0.03748014 0.00000000 0.001 - 0.05450169 0.03748014 0.00000000 0.001 - 0.07266892 0.03748014 0.00000000 0.001 - 0.09083615 0.03748014 0.00000000 0.001 - 0.10900338 0.03748014 0.00000000 0.001 - 0.12717061 0.03748014 0.00000000 0.001 - 0.00000000 0.05622020 0.00000000 0.001 - 0.01816723 0.05622020 0.00000000 0.001 - 0.03633446 0.05622020 0.00000000 0.001 - 0.05450169 0.05622020 0.00000000 0.001 - 0.07266892 0.05622020 0.00000000 0.001 - 0.09083615 0.05622020 0.00000000 0.001 - 0.10900338 0.05622020 0.00000000 0.001 - 0.12717061 0.05622020 0.00000000 0.001 - 0.00000000 0.07496027 0.00000000 0.001 - 0.01816723 0.07496027 0.00000000 0.001 - 0.03633446 0.07496027 0.00000000 0.001 - 0.05450169 0.07496027 0.00000000 0.001 - 0.07266892 0.07496027 0.00000000 0.001 - 0.09083615 0.07496027 0.00000000 0.001 - 0.10900338 0.07496027 0.00000000 0.001 - 0.12717061 0.07496027 0.00000000 0.001 - 0.00000000 0.09370034 0.00000000 0.001 - 0.01816723 0.09370034 0.00000000 0.001 - 0.03633446 0.09370034 0.00000000 0.001 - 0.05450169 0.09370034 0.00000000 0.001 - 0.07266892 0.09370034 0.00000000 0.001 - 0.09083615 0.09370034 0.00000000 0.001 - 0.10900338 0.09370034 0.00000000 0.001 - 0.12717061 0.09370034 0.00000000 0.001 - 0.00000000 0.11244041 0.00000000 0.001 - 0.01816723 0.11244041 0.00000000 0.001 - 0.03633446 0.11244041 0.00000000 0.001 - 0.05450169 0.11244041 0.00000000 0.001 - 0.07266892 0.11244041 0.00000000 0.001 - 0.09083615 0.11244041 0.00000000 0.001 - 0.10900338 0.11244041 0.00000000 0.001 - 0.12717061 0.11244041 0.00000000 0.001 - 0.00000000 0.13118047 0.00000000 0.001 - 0.01816723 0.13118047 0.00000000 0.001 - 0.03633446 0.13118047 0.00000000 0.001 - 0.05450169 0.13118047 0.00000000 0.001 - 0.07266892 0.13118047 0.00000000 0.001 - 0.09083615 0.13118047 0.00000000 0.001 - 0.10900338 0.13118047 0.00000000 0.001 - 0.12717061 0.13118047 0.00000000 0.001 - 0.00000000 0.00000000 0.02098560 0.001 - 0.01816723 0.00000000 0.02098560 0.001 - 0.03633446 0.00000000 0.02098560 0.001 - 0.05450169 0.00000000 0.02098560 0.001 - 0.07266892 0.00000000 0.02098560 0.001 - 0.09083615 0.00000000 0.02098560 0.001 - 0.10900338 0.00000000 0.02098560 0.001 - 0.12717061 0.00000000 0.02098560 0.001 - 0.00000000 0.01874007 0.02098560 0.001 - 0.01816723 0.01874007 0.02098560 0.002 - 0.03633446 0.01874007 0.02098560 0.002 - 0.05450169 0.01874007 0.02098560 0.002 - 0.07266892 0.01874007 0.02098560 0.002 - 0.09083615 0.01874007 0.02098560 0.002 - 0.10900338 0.01874007 0.02098560 0.002 - 0.12717061 0.01874007 0.02098560 0.002 - 0.00000000 0.03748014 0.02098560 0.001 - 0.01816723 0.03748014 0.02098560 0.002 - 0.03633446 0.03748014 0.02098560 0.002 - 0.05450169 0.03748014 0.02098560 0.002 - 0.07266892 0.03748014 0.02098560 0.002 - 0.09083615 0.03748014 0.02098560 0.002 - 0.10900338 0.03748014 0.02098560 0.002 - 0.12717061 0.03748014 0.02098560 0.002 - 0.00000000 0.05622020 0.02098560 0.001 - 0.01816723 0.05622020 0.02098560 0.002 - 0.03633446 0.05622020 0.02098560 0.002 - 0.05450169 0.05622020 0.02098560 0.002 - 0.07266892 0.05622020 0.02098560 0.002 - 0.09083615 0.05622020 0.02098560 0.002 - 0.10900338 0.05622020 0.02098560 0.002 - 0.12717061 0.05622020 0.02098560 0.002 - 0.00000000 0.07496027 0.02098560 0.001 - 0.01816723 0.07496027 0.02098560 0.002 - 0.03633446 0.07496027 0.02098560 0.002 - 0.05450169 0.07496027 0.02098560 0.002 - 0.07266892 0.07496027 0.02098560 0.002 - 0.09083615 0.07496027 0.02098560 0.002 - 0.10900338 0.07496027 0.02098560 0.002 - 0.12717061 0.07496027 0.02098560 0.002 - 0.00000000 0.09370034 0.02098560 0.001 - 0.01816723 0.09370034 0.02098560 0.002 - 0.03633446 0.09370034 0.02098560 0.002 - 0.05450169 0.09370034 0.02098560 0.002 - 0.07266892 0.09370034 0.02098560 0.002 - 0.09083615 0.09370034 0.02098560 0.002 - 0.10900338 0.09370034 0.02098560 0.002 - 0.12717061 0.09370034 0.02098560 0.002 - 0.00000000 0.11244041 0.02098560 0.001 - 0.01816723 0.11244041 0.02098560 0.002 - 0.03633446 0.11244041 0.02098560 0.002 - 0.05450169 0.11244041 0.02098560 0.002 - 0.07266892 0.11244041 0.02098560 0.002 - 0.09083615 0.11244041 0.02098560 0.002 - 0.10900338 0.11244041 0.02098560 0.002 - 0.12717061 0.11244041 0.02098560 0.002 - 0.00000000 0.13118047 0.02098560 0.001 - 0.01816723 0.13118047 0.02098560 0.002 - 0.03633446 0.13118047 0.02098560 0.002 - 0.05450169 0.13118047 0.02098560 0.002 - 0.07266892 0.13118047 0.02098560 0.002 - 0.09083615 0.13118047 0.02098560 0.002 - 0.10900338 0.13118047 0.02098560 0.002 - 0.12717061 0.13118047 0.02098560 0.002 - 0.00000000 0.00000000 0.04197121 0.001 - 0.01816723 0.00000000 0.04197121 0.001 - 0.03633446 0.00000000 0.04197121 0.001 - 0.05450169 0.00000000 0.04197121 0.001 - 0.07266892 0.00000000 0.04197121 0.001 - 0.09083615 0.00000000 0.04197121 0.001 - 0.10900338 0.00000000 0.04197121 0.001 - 0.12717061 0.00000000 0.04197121 0.001 - 0.00000000 0.01874007 0.04197121 0.001 - 0.01816723 0.01874007 0.04197121 0.002 - 0.03633446 0.01874007 0.04197121 0.002 - 0.05450169 0.01874007 0.04197121 0.002 - 0.07266892 0.01874007 0.04197121 0.002 - 0.09083615 0.01874007 0.04197121 0.002 - 0.10900338 0.01874007 0.04197121 0.002 - 0.12717061 0.01874007 0.04197121 0.002 - 0.00000000 0.03748014 0.04197121 0.001 - 0.01816723 0.03748014 0.04197121 0.002 - 0.03633446 0.03748014 0.04197121 0.002 - 0.05450169 0.03748014 0.04197121 0.002 - 0.07266892 0.03748014 0.04197121 0.002 - 0.09083615 0.03748014 0.04197121 0.002 - 0.10900338 0.03748014 0.04197121 0.002 - 0.12717061 0.03748014 0.04197121 0.002 - 0.00000000 0.05622020 0.04197121 0.001 - 0.01816723 0.05622020 0.04197121 0.002 - 0.03633446 0.05622020 0.04197121 0.002 - 0.05450169 0.05622020 0.04197121 0.002 - 0.07266892 0.05622020 0.04197121 0.002 - 0.09083615 0.05622020 0.04197121 0.002 - 0.10900338 0.05622020 0.04197121 0.002 - 0.12717061 0.05622020 0.04197121 0.002 - 0.00000000 0.07496027 0.04197121 0.001 - 0.01816723 0.07496027 0.04197121 0.002 - 0.03633446 0.07496027 0.04197121 0.002 - 0.05450169 0.07496027 0.04197121 0.002 - 0.07266892 0.07496027 0.04197121 0.002 - 0.09083615 0.07496027 0.04197121 0.002 - 0.10900338 0.07496027 0.04197121 0.002 - 0.12717061 0.07496027 0.04197121 0.002 - 0.00000000 0.09370034 0.04197121 0.001 - 0.01816723 0.09370034 0.04197121 0.002 - 0.03633446 0.09370034 0.04197121 0.002 - 0.05450169 0.09370034 0.04197121 0.002 - 0.07266892 0.09370034 0.04197121 0.002 - 0.09083615 0.09370034 0.04197121 0.002 - 0.10900338 0.09370034 0.04197121 0.002 - 0.12717061 0.09370034 0.04197121 0.002 - 0.00000000 0.11244041 0.04197121 0.001 - 0.01816723 0.11244041 0.04197121 0.002 - 0.03633446 0.11244041 0.04197121 0.002 - 0.05450169 0.11244041 0.04197121 0.002 - 0.07266892 0.11244041 0.04197121 0.002 - 0.09083615 0.11244041 0.04197121 0.002 - 0.10900338 0.11244041 0.04197121 0.002 - 0.12717061 0.11244041 0.04197121 0.002 - 0.00000000 0.13118047 0.04197121 0.001 - 0.01816723 0.13118047 0.04197121 0.002 - 0.03633446 0.13118047 0.04197121 0.002 - 0.05450169 0.13118047 0.04197121 0.002 - 0.07266892 0.13118047 0.04197121 0.002 - 0.09083615 0.13118047 0.04197121 0.002 - 0.10900338 0.13118047 0.04197121 0.002 - 0.12717061 0.13118047 0.04197121 0.002 - 0.00000000 0.00000000 0.06295681 0.001 - 0.01816723 0.00000000 0.06295681 0.001 - 0.03633446 0.00000000 0.06295681 0.001 - 0.05450169 0.00000000 0.06295681 0.001 - 0.07266892 0.00000000 0.06295681 0.001 - 0.09083615 0.00000000 0.06295681 0.001 - 0.10900338 0.00000000 0.06295681 0.001 - 0.12717061 0.00000000 0.06295681 0.001 - 0.00000000 0.01874007 0.06295681 0.001 - 0.01816723 0.01874007 0.06295681 0.002 - 0.03633446 0.01874007 0.06295681 0.002 - 0.05450169 0.01874007 0.06295681 0.002 - 0.07266892 0.01874007 0.06295681 0.002 - 0.09083615 0.01874007 0.06295681 0.002 - 0.10900338 0.01874007 0.06295681 0.002 - 0.12717061 0.01874007 0.06295681 0.002 - 0.00000000 0.03748014 0.06295681 0.001 - 0.01816723 0.03748014 0.06295681 0.002 - 0.03633446 0.03748014 0.06295681 0.002 - 0.05450169 0.03748014 0.06295681 0.002 - 0.07266892 0.03748014 0.06295681 0.002 - 0.09083615 0.03748014 0.06295681 0.002 - 0.10900338 0.03748014 0.06295681 0.002 - 0.12717061 0.03748014 0.06295681 0.002 - 0.00000000 0.05622020 0.06295681 0.001 - 0.01816723 0.05622020 0.06295681 0.002 - 0.03633446 0.05622020 0.06295681 0.002 - 0.05450169 0.05622020 0.06295681 0.002 - 0.07266892 0.05622020 0.06295681 0.002 - 0.09083615 0.05622020 0.06295681 0.002 - 0.10900338 0.05622020 0.06295681 0.002 - 0.12717061 0.05622020 0.06295681 0.002 - 0.00000000 0.07496027 0.06295681 0.001 - 0.01816723 0.07496027 0.06295681 0.002 - 0.03633446 0.07496027 0.06295681 0.002 - 0.05450169 0.07496027 0.06295681 0.002 - 0.07266892 0.07496027 0.06295681 0.002 - 0.09083615 0.07496027 0.06295681 0.002 - 0.10900338 0.07496027 0.06295681 0.002 - 0.12717061 0.07496027 0.06295681 0.002 - 0.00000000 0.09370034 0.06295681 0.001 - 0.01816723 0.09370034 0.06295681 0.002 - 0.03633446 0.09370034 0.06295681 0.002 - 0.05450169 0.09370034 0.06295681 0.002 - 0.07266892 0.09370034 0.06295681 0.002 - 0.09083615 0.09370034 0.06295681 0.002 - 0.10900338 0.09370034 0.06295681 0.002 - 0.12717061 0.09370034 0.06295681 0.002 - 0.00000000 0.11244041 0.06295681 0.001 - 0.01816723 0.11244041 0.06295681 0.002 - 0.03633446 0.11244041 0.06295681 0.002 - 0.05450169 0.11244041 0.06295681 0.002 - 0.07266892 0.11244041 0.06295681 0.002 - 0.09083615 0.11244041 0.06295681 0.002 - 0.10900338 0.11244041 0.06295681 0.002 - 0.12717061 0.11244041 0.06295681 0.002 - 0.00000000 0.13118047 0.06295681 0.001 - 0.01816723 0.13118047 0.06295681 0.002 - 0.03633446 0.13118047 0.06295681 0.002 - 0.05450169 0.13118047 0.06295681 0.002 - 0.07266892 0.13118047 0.06295681 0.002 - 0.09083615 0.13118047 0.06295681 0.002 - 0.10900338 0.13118047 0.06295681 0.002 - 0.12717061 0.13118047 0.06295681 0.002 - 0.00000000 0.00000000 0.08394241 0.001 - 0.01816723 0.00000000 0.08394241 0.001 - 0.03633446 0.00000000 0.08394241 0.001 - 0.05450169 0.00000000 0.08394241 0.001 - 0.07266892 0.00000000 0.08394241 0.001 - 0.09083615 0.00000000 0.08394241 0.001 - 0.10900338 0.00000000 0.08394241 0.001 - 0.12717061 0.00000000 0.08394241 0.001 - 0.00000000 0.01874007 0.08394241 0.001 - 0.01816723 0.01874007 0.08394241 0.002 - 0.03633446 0.01874007 0.08394241 0.002 - 0.05450169 0.01874007 0.08394241 0.002 - 0.07266892 0.01874007 0.08394241 0.002 - 0.09083615 0.01874007 0.08394241 0.002 - 0.10900338 0.01874007 0.08394241 0.002 - 0.12717061 0.01874007 0.08394241 0.002 - 0.00000000 0.03748014 0.08394241 0.001 - 0.01816723 0.03748014 0.08394241 0.002 - 0.03633446 0.03748014 0.08394241 0.002 - 0.05450169 0.03748014 0.08394241 0.002 - 0.07266892 0.03748014 0.08394241 0.002 - 0.09083615 0.03748014 0.08394241 0.002 - 0.10900338 0.03748014 0.08394241 0.002 - 0.12717061 0.03748014 0.08394241 0.002 - 0.00000000 0.05622020 0.08394241 0.001 - 0.01816723 0.05622020 0.08394241 0.002 - 0.03633446 0.05622020 0.08394241 0.002 - 0.05450169 0.05622020 0.08394241 0.002 - 0.07266892 0.05622020 0.08394241 0.002 - 0.09083615 0.05622020 0.08394241 0.002 - 0.10900338 0.05622020 0.08394241 0.002 - 0.12717061 0.05622020 0.08394241 0.002 - 0.00000000 0.07496027 0.08394241 0.001 - 0.01816723 0.07496027 0.08394241 0.002 - 0.03633446 0.07496027 0.08394241 0.002 - 0.05450169 0.07496027 0.08394241 0.002 - 0.07266892 0.07496027 0.08394241 0.002 - 0.09083615 0.07496027 0.08394241 0.002 - 0.10900338 0.07496027 0.08394241 0.002 - 0.12717061 0.07496027 0.08394241 0.002 - 0.00000000 0.09370034 0.08394241 0.001 - 0.01816723 0.09370034 0.08394241 0.002 - 0.03633446 0.09370034 0.08394241 0.002 - 0.05450169 0.09370034 0.08394241 0.002 - 0.07266892 0.09370034 0.08394241 0.002 - 0.09083615 0.09370034 0.08394241 0.002 - 0.10900338 0.09370034 0.08394241 0.002 - 0.12717061 0.09370034 0.08394241 0.002 - 0.00000000 0.11244041 0.08394241 0.001 - 0.01816723 0.11244041 0.08394241 0.002 - 0.03633446 0.11244041 0.08394241 0.002 - 0.05450169 0.11244041 0.08394241 0.002 - 0.07266892 0.11244041 0.08394241 0.002 - 0.09083615 0.11244041 0.08394241 0.002 - 0.10900338 0.11244041 0.08394241 0.002 - 0.12717061 0.11244041 0.08394241 0.002 - 0.00000000 0.13118047 0.08394241 0.001 - 0.01816723 0.13118047 0.08394241 0.002 - 0.03633446 0.13118047 0.08394241 0.002 - 0.05450169 0.13118047 0.08394241 0.002 - 0.07266892 0.13118047 0.08394241 0.002 - 0.09083615 0.13118047 0.08394241 0.002 - 0.10900338 0.13118047 0.08394241 0.002 - 0.12717061 0.13118047 0.08394241 0.002 - 0.00000000 0.00000000 0.10492802 0.001 - 0.01816723 0.00000000 0.10492802 0.001 - 0.03633446 0.00000000 0.10492802 0.001 - 0.05450169 0.00000000 0.10492802 0.001 - 0.07266892 0.00000000 0.10492802 0.001 - 0.09083615 0.00000000 0.10492802 0.001 - 0.10900338 0.00000000 0.10492802 0.001 - 0.12717061 0.00000000 0.10492802 0.001 - 0.00000000 0.01874007 0.10492802 0.001 - 0.01816723 0.01874007 0.10492802 0.002 - 0.03633446 0.01874007 0.10492802 0.002 - 0.05450169 0.01874007 0.10492802 0.002 - 0.07266892 0.01874007 0.10492802 0.002 - 0.09083615 0.01874007 0.10492802 0.002 - 0.10900338 0.01874007 0.10492802 0.002 - 0.12717061 0.01874007 0.10492802 0.002 - 0.00000000 0.03748014 0.10492802 0.001 - 0.01816723 0.03748014 0.10492802 0.002 - 0.03633446 0.03748014 0.10492802 0.002 - 0.05450169 0.03748014 0.10492802 0.002 - 0.07266892 0.03748014 0.10492802 0.002 - 0.09083615 0.03748014 0.10492802 0.002 - 0.10900338 0.03748014 0.10492802 0.002 - 0.12717061 0.03748014 0.10492802 0.002 - 0.00000000 0.05622020 0.10492802 0.001 - 0.01816723 0.05622020 0.10492802 0.002 - 0.03633446 0.05622020 0.10492802 0.002 - 0.05450169 0.05622020 0.10492802 0.002 - 0.07266892 0.05622020 0.10492802 0.002 - 0.09083615 0.05622020 0.10492802 0.002 - 0.10900338 0.05622020 0.10492802 0.002 - 0.12717061 0.05622020 0.10492802 0.002 - 0.00000000 0.07496027 0.10492802 0.001 - 0.01816723 0.07496027 0.10492802 0.002 - 0.03633446 0.07496027 0.10492802 0.002 - 0.05450169 0.07496027 0.10492802 0.002 - 0.07266892 0.07496027 0.10492802 0.002 - 0.09083615 0.07496027 0.10492802 0.002 - 0.10900338 0.07496027 0.10492802 0.002 - 0.12717061 0.07496027 0.10492802 0.002 - 0.00000000 0.09370034 0.10492802 0.001 - 0.01816723 0.09370034 0.10492802 0.002 - 0.03633446 0.09370034 0.10492802 0.002 - 0.05450169 0.09370034 0.10492802 0.002 - 0.07266892 0.09370034 0.10492802 0.002 - 0.09083615 0.09370034 0.10492802 0.002 - 0.10900338 0.09370034 0.10492802 0.002 - 0.12717061 0.09370034 0.10492802 0.002 - 0.00000000 0.11244041 0.10492802 0.001 - 0.01816723 0.11244041 0.10492802 0.002 - 0.03633446 0.11244041 0.10492802 0.002 - 0.05450169 0.11244041 0.10492802 0.002 - 0.07266892 0.11244041 0.10492802 0.002 - 0.09083615 0.11244041 0.10492802 0.002 - 0.10900338 0.11244041 0.10492802 0.002 - 0.12717061 0.11244041 0.10492802 0.002 - 0.00000000 0.13118047 0.10492802 0.001 - 0.01816723 0.13118047 0.10492802 0.002 - 0.03633446 0.13118047 0.10492802 0.002 - 0.05450169 0.13118047 0.10492802 0.002 - 0.07266892 0.13118047 0.10492802 0.002 - 0.09083615 0.13118047 0.10492802 0.002 - 0.10900338 0.13118047 0.10492802 0.002 - 0.12717061 0.13118047 0.10492802 0.002 - 0.00000000 0.00000000 0.12591362 0.001 - 0.01816723 0.00000000 0.12591362 0.001 - 0.03633446 0.00000000 0.12591362 0.001 - 0.05450169 0.00000000 0.12591362 0.001 - 0.07266892 0.00000000 0.12591362 0.001 - 0.09083615 0.00000000 0.12591362 0.001 - 0.10900338 0.00000000 0.12591362 0.001 - 0.12717061 0.00000000 0.12591362 0.001 - 0.00000000 0.01874007 0.12591362 0.001 - 0.01816723 0.01874007 0.12591362 0.002 - 0.03633446 0.01874007 0.12591362 0.002 - 0.05450169 0.01874007 0.12591362 0.002 - 0.07266892 0.01874007 0.12591362 0.002 - 0.09083615 0.01874007 0.12591362 0.002 - 0.10900338 0.01874007 0.12591362 0.002 - 0.12717061 0.01874007 0.12591362 0.002 - 0.00000000 0.03748014 0.12591362 0.001 - 0.01816723 0.03748014 0.12591362 0.002 - 0.03633446 0.03748014 0.12591362 0.002 - 0.05450169 0.03748014 0.12591362 0.002 - 0.07266892 0.03748014 0.12591362 0.002 - 0.09083615 0.03748014 0.12591362 0.002 - 0.10900338 0.03748014 0.12591362 0.002 - 0.12717061 0.03748014 0.12591362 0.002 - 0.00000000 0.05622020 0.12591362 0.001 - 0.01816723 0.05622020 0.12591362 0.002 - 0.03633446 0.05622020 0.12591362 0.002 - 0.05450169 0.05622020 0.12591362 0.002 - 0.07266892 0.05622020 0.12591362 0.002 - 0.09083615 0.05622020 0.12591362 0.002 - 0.10900338 0.05622020 0.12591362 0.002 - 0.12717061 0.05622020 0.12591362 0.002 - 0.00000000 0.07496027 0.12591362 0.001 - 0.01816723 0.07496027 0.12591362 0.002 - 0.03633446 0.07496027 0.12591362 0.002 - 0.05450169 0.07496027 0.12591362 0.002 - 0.07266892 0.07496027 0.12591362 0.002 - 0.09083615 0.07496027 0.12591362 0.002 - 0.10900338 0.07496027 0.12591362 0.002 - 0.12717061 0.07496027 0.12591362 0.002 - 0.00000000 0.09370034 0.12591362 0.001 - 0.01816723 0.09370034 0.12591362 0.002 - 0.03633446 0.09370034 0.12591362 0.002 - 0.05450169 0.09370034 0.12591362 0.002 - 0.07266892 0.09370034 0.12591362 0.002 - 0.09083615 0.09370034 0.12591362 0.002 - 0.10900338 0.09370034 0.12591362 0.002 - 0.12717061 0.09370034 0.12591362 0.002 - 0.00000000 0.11244041 0.12591362 0.001 - 0.01816723 0.11244041 0.12591362 0.002 - 0.03633446 0.11244041 0.12591362 0.002 - 0.05450169 0.11244041 0.12591362 0.002 - 0.07266892 0.11244041 0.12591362 0.002 - 0.09083615 0.11244041 0.12591362 0.002 - 0.10900338 0.11244041 0.12591362 0.002 - 0.12717061 0.11244041 0.12591362 0.002 - 0.00000000 0.13118047 0.12591362 0.001 - 0.01816723 0.13118047 0.12591362 0.002 - 0.03633446 0.13118047 0.12591362 0.002 - 0.05450169 0.13118047 0.12591362 0.002 - 0.07266892 0.13118047 0.12591362 0.002 - 0.09083615 0.13118047 0.12591362 0.002 - 0.10900338 0.13118047 0.12591362 0.002 - 0.12717061 0.13118047 0.12591362 0.002 - 0.00000000 0.00000000 0.14689922 0.001 - 0.01816723 0.00000000 0.14689922 0.001 - 0.03633446 0.00000000 0.14689922 0.001 - 0.05450169 0.00000000 0.14689922 0.001 - 0.07266892 0.00000000 0.14689922 0.001 - 0.09083615 0.00000000 0.14689922 0.001 - 0.10900338 0.00000000 0.14689922 0.001 - 0.12717061 0.00000000 0.14689922 0.001 - 0.00000000 0.01874007 0.14689922 0.001 - 0.01816723 0.01874007 0.14689922 0.002 - 0.03633446 0.01874007 0.14689922 0.002 - 0.05450169 0.01874007 0.14689922 0.002 - 0.07266892 0.01874007 0.14689922 0.002 - 0.09083615 0.01874007 0.14689922 0.002 - 0.10900338 0.01874007 0.14689922 0.002 - 0.12717061 0.01874007 0.14689922 0.002 - 0.00000000 0.03748014 0.14689922 0.001 - 0.01816723 0.03748014 0.14689922 0.002 - 0.03633446 0.03748014 0.14689922 0.002 - 0.05450169 0.03748014 0.14689922 0.002 - 0.07266892 0.03748014 0.14689922 0.002 - 0.09083615 0.03748014 0.14689922 0.002 - 0.10900338 0.03748014 0.14689922 0.002 - 0.12717061 0.03748014 0.14689922 0.002 - 0.00000000 0.05622020 0.14689922 0.001 - 0.01816723 0.05622020 0.14689922 0.002 - 0.03633446 0.05622020 0.14689922 0.002 - 0.05450169 0.05622020 0.14689922 0.002 - 0.07266892 0.05622020 0.14689922 0.002 - 0.09083615 0.05622020 0.14689922 0.002 - 0.10900338 0.05622020 0.14689922 0.002 - 0.12717061 0.05622020 0.14689922 0.002 - 0.00000000 0.07496027 0.14689922 0.001 - 0.01816723 0.07496027 0.14689922 0.002 - 0.03633446 0.07496027 0.14689922 0.002 - 0.05450169 0.07496027 0.14689922 0.002 - 0.07266892 0.07496027 0.14689922 0.002 - 0.09083615 0.07496027 0.14689922 0.002 - 0.10900338 0.07496027 0.14689922 0.002 - 0.12717061 0.07496027 0.14689922 0.002 - 0.00000000 0.09370034 0.14689922 0.001 - 0.01816723 0.09370034 0.14689922 0.002 - 0.03633446 0.09370034 0.14689922 0.002 - 0.05450169 0.09370034 0.14689922 0.002 - 0.07266892 0.09370034 0.14689922 0.002 - 0.09083615 0.09370034 0.14689922 0.002 - 0.10900338 0.09370034 0.14689922 0.002 - 0.12717061 0.09370034 0.14689922 0.002 - 0.00000000 0.11244041 0.14689922 0.001 - 0.01816723 0.11244041 0.14689922 0.002 - 0.03633446 0.11244041 0.14689922 0.002 - 0.05450169 0.11244041 0.14689922 0.002 - 0.07266892 0.11244041 0.14689922 0.002 - 0.09083615 0.11244041 0.14689922 0.002 - 0.10900338 0.11244041 0.14689922 0.002 - 0.12717061 0.11244041 0.14689922 0.002 - 0.00000000 0.13118047 0.14689922 0.001 - 0.01816723 0.13118047 0.14689922 0.002 - 0.03633446 0.13118047 0.14689922 0.002 - 0.05450169 0.13118047 0.14689922 0.002 - 0.07266892 0.13118047 0.14689922 0.002 - 0.09083615 0.13118047 0.14689922 0.002 - 0.10900338 0.13118047 0.14689922 0.002 - 0.12717061 0.13118047 0.14689922 0.002 - - k-points in reciprocal lattice and weights: K-Points - 0.00000000 0.00000000 0.00000000 0.000 - 0.06666667 0.00000000 0.00000000 0.001 - 0.13333333 0.00000000 0.00000000 0.001 - 0.20000000 0.00000000 0.00000000 0.001 - 0.26666667 0.00000000 0.00000000 0.001 - 0.33333333 0.00000000 0.00000000 0.001 - 0.40000000 0.00000000 0.00000000 0.001 - 0.46666667 0.00000000 0.00000000 0.001 - 0.00000000 0.06666667 0.00000000 0.001 - 0.06666667 0.06666667 0.00000000 0.001 - 0.13333333 0.06666667 0.00000000 0.001 - 0.20000000 0.06666667 0.00000000 0.001 - 0.26666667 0.06666667 0.00000000 0.001 - 0.33333333 0.06666667 0.00000000 0.001 - 0.40000000 0.06666667 0.00000000 0.001 - 0.46666667 0.06666667 0.00000000 0.001 - 0.00000000 0.13333333 0.00000000 0.001 - 0.06666667 0.13333333 0.00000000 0.001 - 0.13333333 0.13333333 0.00000000 0.001 - 0.20000000 0.13333333 0.00000000 0.001 - 0.26666667 0.13333333 0.00000000 0.001 - 0.33333333 0.13333333 0.00000000 0.001 - 0.40000000 0.13333333 0.00000000 0.001 - 0.46666667 0.13333333 0.00000000 0.001 - 0.00000000 0.20000000 0.00000000 0.001 - 0.06666667 0.20000000 0.00000000 0.001 - 0.13333333 0.20000000 0.00000000 0.001 - 0.20000000 0.20000000 0.00000000 0.001 - 0.26666667 0.20000000 0.00000000 0.001 - 0.33333333 0.20000000 0.00000000 0.001 - 0.40000000 0.20000000 0.00000000 0.001 - 0.46666667 0.20000000 0.00000000 0.001 - 0.00000000 0.26666667 0.00000000 0.001 - 0.06666667 0.26666667 0.00000000 0.001 - 0.13333333 0.26666667 0.00000000 0.001 - 0.20000000 0.26666667 0.00000000 0.001 - 0.26666667 0.26666667 0.00000000 0.001 - 0.33333333 0.26666667 0.00000000 0.001 - 0.40000000 0.26666667 0.00000000 0.001 - 0.46666667 0.26666667 0.00000000 0.001 - 0.00000000 0.33333333 0.00000000 0.001 - 0.06666667 0.33333333 0.00000000 0.001 - 0.13333333 0.33333333 0.00000000 0.001 - 0.20000000 0.33333333 0.00000000 0.001 - 0.26666667 0.33333333 0.00000000 0.001 - 0.33333333 0.33333333 0.00000000 0.001 - 0.40000000 0.33333333 0.00000000 0.001 - 0.46666667 0.33333333 0.00000000 0.001 - 0.00000000 0.40000000 0.00000000 0.001 - 0.06666667 0.40000000 0.00000000 0.001 - 0.13333333 0.40000000 0.00000000 0.001 - 0.20000000 0.40000000 0.00000000 0.001 - 0.26666667 0.40000000 0.00000000 0.001 - 0.33333333 0.40000000 0.00000000 0.001 - 0.40000000 0.40000000 0.00000000 0.001 - 0.46666667 0.40000000 0.00000000 0.001 - 0.00000000 0.46666667 0.00000000 0.001 - 0.06666667 0.46666667 0.00000000 0.001 - 0.13333333 0.46666667 0.00000000 0.001 - 0.20000000 0.46666667 0.00000000 0.001 - 0.26666667 0.46666667 0.00000000 0.001 - 0.33333333 0.46666667 0.00000000 0.001 - 0.40000000 0.46666667 0.00000000 0.001 - 0.46666667 0.46666667 0.00000000 0.001 - 0.00000000 0.00000000 0.06666667 0.001 - 0.06666667 0.00000000 0.06666667 0.001 - 0.13333333 0.00000000 0.06666667 0.001 - 0.20000000 0.00000000 0.06666667 0.001 - 0.26666667 0.00000000 0.06666667 0.001 - 0.33333333 0.00000000 0.06666667 0.001 - 0.40000000 0.00000000 0.06666667 0.001 - 0.46666667 0.00000000 0.06666667 0.001 - 0.00000000 0.06666667 0.06666667 0.001 - 0.06666667 0.06666667 0.06666667 0.002 - 0.13333333 0.06666667 0.06666667 0.002 - 0.20000000 0.06666667 0.06666667 0.002 - 0.26666667 0.06666667 0.06666667 0.002 - 0.33333333 0.06666667 0.06666667 0.002 - 0.40000000 0.06666667 0.06666667 0.002 - 0.46666667 0.06666667 0.06666667 0.002 - 0.00000000 0.13333333 0.06666667 0.001 - 0.06666667 0.13333333 0.06666667 0.002 - 0.13333333 0.13333333 0.06666667 0.002 - 0.20000000 0.13333333 0.06666667 0.002 - 0.26666667 0.13333333 0.06666667 0.002 - 0.33333333 0.13333333 0.06666667 0.002 - 0.40000000 0.13333333 0.06666667 0.002 - 0.46666667 0.13333333 0.06666667 0.002 - 0.00000000 0.20000000 0.06666667 0.001 - 0.06666667 0.20000000 0.06666667 0.002 - 0.13333333 0.20000000 0.06666667 0.002 - 0.20000000 0.20000000 0.06666667 0.002 - 0.26666667 0.20000000 0.06666667 0.002 - 0.33333333 0.20000000 0.06666667 0.002 - 0.40000000 0.20000000 0.06666667 0.002 - 0.46666667 0.20000000 0.06666667 0.002 - 0.00000000 0.26666667 0.06666667 0.001 - 0.06666667 0.26666667 0.06666667 0.002 - 0.13333333 0.26666667 0.06666667 0.002 - 0.20000000 0.26666667 0.06666667 0.002 - 0.26666667 0.26666667 0.06666667 0.002 - 0.33333333 0.26666667 0.06666667 0.002 - 0.40000000 0.26666667 0.06666667 0.002 - 0.46666667 0.26666667 0.06666667 0.002 - 0.00000000 0.33333333 0.06666667 0.001 - 0.06666667 0.33333333 0.06666667 0.002 - 0.13333333 0.33333333 0.06666667 0.002 - 0.20000000 0.33333333 0.06666667 0.002 - 0.26666667 0.33333333 0.06666667 0.002 - 0.33333333 0.33333333 0.06666667 0.002 - 0.40000000 0.33333333 0.06666667 0.002 - 0.46666667 0.33333333 0.06666667 0.002 - 0.00000000 0.40000000 0.06666667 0.001 - 0.06666667 0.40000000 0.06666667 0.002 - 0.13333333 0.40000000 0.06666667 0.002 - 0.20000000 0.40000000 0.06666667 0.002 - 0.26666667 0.40000000 0.06666667 0.002 - 0.33333333 0.40000000 0.06666667 0.002 - 0.40000000 0.40000000 0.06666667 0.002 - 0.46666667 0.40000000 0.06666667 0.002 - 0.00000000 0.46666667 0.06666667 0.001 - 0.06666667 0.46666667 0.06666667 0.002 - 0.13333333 0.46666667 0.06666667 0.002 - 0.20000000 0.46666667 0.06666667 0.002 - 0.26666667 0.46666667 0.06666667 0.002 - 0.33333333 0.46666667 0.06666667 0.002 - 0.40000000 0.46666667 0.06666667 0.002 - 0.46666667 0.46666667 0.06666667 0.002 - 0.00000000 0.00000000 0.13333333 0.001 - 0.06666667 0.00000000 0.13333333 0.001 - 0.13333333 0.00000000 0.13333333 0.001 - 0.20000000 0.00000000 0.13333333 0.001 - 0.26666667 0.00000000 0.13333333 0.001 - 0.33333333 0.00000000 0.13333333 0.001 - 0.40000000 0.00000000 0.13333333 0.001 - 0.46666667 0.00000000 0.13333333 0.001 - 0.00000000 0.06666667 0.13333333 0.001 - 0.06666667 0.06666667 0.13333333 0.002 - 0.13333333 0.06666667 0.13333333 0.002 - 0.20000000 0.06666667 0.13333333 0.002 - 0.26666667 0.06666667 0.13333333 0.002 - 0.33333333 0.06666667 0.13333333 0.002 - 0.40000000 0.06666667 0.13333333 0.002 - 0.46666667 0.06666667 0.13333333 0.002 - 0.00000000 0.13333333 0.13333333 0.001 - 0.06666667 0.13333333 0.13333333 0.002 - 0.13333333 0.13333333 0.13333333 0.002 - 0.20000000 0.13333333 0.13333333 0.002 - 0.26666667 0.13333333 0.13333333 0.002 - 0.33333333 0.13333333 0.13333333 0.002 - 0.40000000 0.13333333 0.13333333 0.002 - 0.46666667 0.13333333 0.13333333 0.002 - 0.00000000 0.20000000 0.13333333 0.001 - 0.06666667 0.20000000 0.13333333 0.002 - 0.13333333 0.20000000 0.13333333 0.002 - 0.20000000 0.20000000 0.13333333 0.002 - 0.26666667 0.20000000 0.13333333 0.002 - 0.33333333 0.20000000 0.13333333 0.002 - 0.40000000 0.20000000 0.13333333 0.002 - 0.46666667 0.20000000 0.13333333 0.002 - 0.00000000 0.26666667 0.13333333 0.001 - 0.06666667 0.26666667 0.13333333 0.002 - 0.13333333 0.26666667 0.13333333 0.002 - 0.20000000 0.26666667 0.13333333 0.002 - 0.26666667 0.26666667 0.13333333 0.002 - 0.33333333 0.26666667 0.13333333 0.002 - 0.40000000 0.26666667 0.13333333 0.002 - 0.46666667 0.26666667 0.13333333 0.002 - 0.00000000 0.33333333 0.13333333 0.001 - 0.06666667 0.33333333 0.13333333 0.002 - 0.13333333 0.33333333 0.13333333 0.002 - 0.20000000 0.33333333 0.13333333 0.002 - 0.26666667 0.33333333 0.13333333 0.002 - 0.33333333 0.33333333 0.13333333 0.002 - 0.40000000 0.33333333 0.13333333 0.002 - 0.46666667 0.33333333 0.13333333 0.002 - 0.00000000 0.40000000 0.13333333 0.001 - 0.06666667 0.40000000 0.13333333 0.002 - 0.13333333 0.40000000 0.13333333 0.002 - 0.20000000 0.40000000 0.13333333 0.002 - 0.26666667 0.40000000 0.13333333 0.002 - 0.33333333 0.40000000 0.13333333 0.002 - 0.40000000 0.40000000 0.13333333 0.002 - 0.46666667 0.40000000 0.13333333 0.002 - 0.00000000 0.46666667 0.13333333 0.001 - 0.06666667 0.46666667 0.13333333 0.002 - 0.13333333 0.46666667 0.13333333 0.002 - 0.20000000 0.46666667 0.13333333 0.002 - 0.26666667 0.46666667 0.13333333 0.002 - 0.33333333 0.46666667 0.13333333 0.002 - 0.40000000 0.46666667 0.13333333 0.002 - 0.46666667 0.46666667 0.13333333 0.002 - 0.00000000 0.00000000 0.20000000 0.001 - 0.06666667 0.00000000 0.20000000 0.001 - 0.13333333 0.00000000 0.20000000 0.001 - 0.20000000 0.00000000 0.20000000 0.001 - 0.26666667 0.00000000 0.20000000 0.001 - 0.33333333 0.00000000 0.20000000 0.001 - 0.40000000 0.00000000 0.20000000 0.001 - 0.46666667 0.00000000 0.20000000 0.001 - 0.00000000 0.06666667 0.20000000 0.001 - 0.06666667 0.06666667 0.20000000 0.002 - 0.13333333 0.06666667 0.20000000 0.002 - 0.20000000 0.06666667 0.20000000 0.002 - 0.26666667 0.06666667 0.20000000 0.002 - 0.33333333 0.06666667 0.20000000 0.002 - 0.40000000 0.06666667 0.20000000 0.002 - 0.46666667 0.06666667 0.20000000 0.002 - 0.00000000 0.13333333 0.20000000 0.001 - 0.06666667 0.13333333 0.20000000 0.002 - 0.13333333 0.13333333 0.20000000 0.002 - 0.20000000 0.13333333 0.20000000 0.002 - 0.26666667 0.13333333 0.20000000 0.002 - 0.33333333 0.13333333 0.20000000 0.002 - 0.40000000 0.13333333 0.20000000 0.002 - 0.46666667 0.13333333 0.20000000 0.002 - 0.00000000 0.20000000 0.20000000 0.001 - 0.06666667 0.20000000 0.20000000 0.002 - 0.13333333 0.20000000 0.20000000 0.002 - 0.20000000 0.20000000 0.20000000 0.002 - 0.26666667 0.20000000 0.20000000 0.002 - 0.33333333 0.20000000 0.20000000 0.002 - 0.40000000 0.20000000 0.20000000 0.002 - 0.46666667 0.20000000 0.20000000 0.002 - 0.00000000 0.26666667 0.20000000 0.001 - 0.06666667 0.26666667 0.20000000 0.002 - 0.13333333 0.26666667 0.20000000 0.002 - 0.20000000 0.26666667 0.20000000 0.002 - 0.26666667 0.26666667 0.20000000 0.002 - 0.33333333 0.26666667 0.20000000 0.002 - 0.40000000 0.26666667 0.20000000 0.002 - 0.46666667 0.26666667 0.20000000 0.002 - 0.00000000 0.33333333 0.20000000 0.001 - 0.06666667 0.33333333 0.20000000 0.002 - 0.13333333 0.33333333 0.20000000 0.002 - 0.20000000 0.33333333 0.20000000 0.002 - 0.26666667 0.33333333 0.20000000 0.002 - 0.33333333 0.33333333 0.20000000 0.002 - 0.40000000 0.33333333 0.20000000 0.002 - 0.46666667 0.33333333 0.20000000 0.002 - 0.00000000 0.40000000 0.20000000 0.001 - 0.06666667 0.40000000 0.20000000 0.002 - 0.13333333 0.40000000 0.20000000 0.002 - 0.20000000 0.40000000 0.20000000 0.002 - 0.26666667 0.40000000 0.20000000 0.002 - 0.33333333 0.40000000 0.20000000 0.002 - 0.40000000 0.40000000 0.20000000 0.002 - 0.46666667 0.40000000 0.20000000 0.002 - 0.00000000 0.46666667 0.20000000 0.001 - 0.06666667 0.46666667 0.20000000 0.002 - 0.13333333 0.46666667 0.20000000 0.002 - 0.20000000 0.46666667 0.20000000 0.002 - 0.26666667 0.46666667 0.20000000 0.002 - 0.33333333 0.46666667 0.20000000 0.002 - 0.40000000 0.46666667 0.20000000 0.002 - 0.46666667 0.46666667 0.20000000 0.002 - 0.00000000 0.00000000 0.26666667 0.001 - 0.06666667 0.00000000 0.26666667 0.001 - 0.13333333 0.00000000 0.26666667 0.001 - 0.20000000 0.00000000 0.26666667 0.001 - 0.26666667 0.00000000 0.26666667 0.001 - 0.33333333 0.00000000 0.26666667 0.001 - 0.40000000 0.00000000 0.26666667 0.001 - 0.46666667 0.00000000 0.26666667 0.001 - 0.00000000 0.06666667 0.26666667 0.001 - 0.06666667 0.06666667 0.26666667 0.002 - 0.13333333 0.06666667 0.26666667 0.002 - 0.20000000 0.06666667 0.26666667 0.002 - 0.26666667 0.06666667 0.26666667 0.002 - 0.33333333 0.06666667 0.26666667 0.002 - 0.40000000 0.06666667 0.26666667 0.002 - 0.46666667 0.06666667 0.26666667 0.002 - 0.00000000 0.13333333 0.26666667 0.001 - 0.06666667 0.13333333 0.26666667 0.002 - 0.13333333 0.13333333 0.26666667 0.002 - 0.20000000 0.13333333 0.26666667 0.002 - 0.26666667 0.13333333 0.26666667 0.002 - 0.33333333 0.13333333 0.26666667 0.002 - 0.40000000 0.13333333 0.26666667 0.002 - 0.46666667 0.13333333 0.26666667 0.002 - 0.00000000 0.20000000 0.26666667 0.001 - 0.06666667 0.20000000 0.26666667 0.002 - 0.13333333 0.20000000 0.26666667 0.002 - 0.20000000 0.20000000 0.26666667 0.002 - 0.26666667 0.20000000 0.26666667 0.002 - 0.33333333 0.20000000 0.26666667 0.002 - 0.40000000 0.20000000 0.26666667 0.002 - 0.46666667 0.20000000 0.26666667 0.002 - 0.00000000 0.26666667 0.26666667 0.001 - 0.06666667 0.26666667 0.26666667 0.002 - 0.13333333 0.26666667 0.26666667 0.002 - 0.20000000 0.26666667 0.26666667 0.002 - 0.26666667 0.26666667 0.26666667 0.002 - 0.33333333 0.26666667 0.26666667 0.002 - 0.40000000 0.26666667 0.26666667 0.002 - 0.46666667 0.26666667 0.26666667 0.002 - 0.00000000 0.33333333 0.26666667 0.001 - 0.06666667 0.33333333 0.26666667 0.002 - 0.13333333 0.33333333 0.26666667 0.002 - 0.20000000 0.33333333 0.26666667 0.002 - 0.26666667 0.33333333 0.26666667 0.002 - 0.33333333 0.33333333 0.26666667 0.002 - 0.40000000 0.33333333 0.26666667 0.002 - 0.46666667 0.33333333 0.26666667 0.002 - 0.00000000 0.40000000 0.26666667 0.001 - 0.06666667 0.40000000 0.26666667 0.002 - 0.13333333 0.40000000 0.26666667 0.002 - 0.20000000 0.40000000 0.26666667 0.002 - 0.26666667 0.40000000 0.26666667 0.002 - 0.33333333 0.40000000 0.26666667 0.002 - 0.40000000 0.40000000 0.26666667 0.002 - 0.46666667 0.40000000 0.26666667 0.002 - 0.00000000 0.46666667 0.26666667 0.001 - 0.06666667 0.46666667 0.26666667 0.002 - 0.13333333 0.46666667 0.26666667 0.002 - 0.20000000 0.46666667 0.26666667 0.002 - 0.26666667 0.46666667 0.26666667 0.002 - 0.33333333 0.46666667 0.26666667 0.002 - 0.40000000 0.46666667 0.26666667 0.002 - 0.46666667 0.46666667 0.26666667 0.002 - 0.00000000 0.00000000 0.33333333 0.001 - 0.06666667 0.00000000 0.33333333 0.001 - 0.13333333 0.00000000 0.33333333 0.001 - 0.20000000 0.00000000 0.33333333 0.001 - 0.26666667 0.00000000 0.33333333 0.001 - 0.33333333 0.00000000 0.33333333 0.001 - 0.40000000 0.00000000 0.33333333 0.001 - 0.46666667 0.00000000 0.33333333 0.001 - 0.00000000 0.06666667 0.33333333 0.001 - 0.06666667 0.06666667 0.33333333 0.002 - 0.13333333 0.06666667 0.33333333 0.002 - 0.20000000 0.06666667 0.33333333 0.002 - 0.26666667 0.06666667 0.33333333 0.002 - 0.33333333 0.06666667 0.33333333 0.002 - 0.40000000 0.06666667 0.33333333 0.002 - 0.46666667 0.06666667 0.33333333 0.002 - 0.00000000 0.13333333 0.33333333 0.001 - 0.06666667 0.13333333 0.33333333 0.002 - 0.13333333 0.13333333 0.33333333 0.002 - 0.20000000 0.13333333 0.33333333 0.002 - 0.26666667 0.13333333 0.33333333 0.002 - 0.33333333 0.13333333 0.33333333 0.002 - 0.40000000 0.13333333 0.33333333 0.002 - 0.46666667 0.13333333 0.33333333 0.002 - 0.00000000 0.20000000 0.33333333 0.001 - 0.06666667 0.20000000 0.33333333 0.002 - 0.13333333 0.20000000 0.33333333 0.002 - 0.20000000 0.20000000 0.33333333 0.002 - 0.26666667 0.20000000 0.33333333 0.002 - 0.33333333 0.20000000 0.33333333 0.002 - 0.40000000 0.20000000 0.33333333 0.002 - 0.46666667 0.20000000 0.33333333 0.002 - 0.00000000 0.26666667 0.33333333 0.001 - 0.06666667 0.26666667 0.33333333 0.002 - 0.13333333 0.26666667 0.33333333 0.002 - 0.20000000 0.26666667 0.33333333 0.002 - 0.26666667 0.26666667 0.33333333 0.002 - 0.33333333 0.26666667 0.33333333 0.002 - 0.40000000 0.26666667 0.33333333 0.002 - 0.46666667 0.26666667 0.33333333 0.002 - 0.00000000 0.33333333 0.33333333 0.001 - 0.06666667 0.33333333 0.33333333 0.002 - 0.13333333 0.33333333 0.33333333 0.002 - 0.20000000 0.33333333 0.33333333 0.002 - 0.26666667 0.33333333 0.33333333 0.002 - 0.33333333 0.33333333 0.33333333 0.002 - 0.40000000 0.33333333 0.33333333 0.002 - 0.46666667 0.33333333 0.33333333 0.002 - 0.00000000 0.40000000 0.33333333 0.001 - 0.06666667 0.40000000 0.33333333 0.002 - 0.13333333 0.40000000 0.33333333 0.002 - 0.20000000 0.40000000 0.33333333 0.002 - 0.26666667 0.40000000 0.33333333 0.002 - 0.33333333 0.40000000 0.33333333 0.002 - 0.40000000 0.40000000 0.33333333 0.002 - 0.46666667 0.40000000 0.33333333 0.002 - 0.00000000 0.46666667 0.33333333 0.001 - 0.06666667 0.46666667 0.33333333 0.002 - 0.13333333 0.46666667 0.33333333 0.002 - 0.20000000 0.46666667 0.33333333 0.002 - 0.26666667 0.46666667 0.33333333 0.002 - 0.33333333 0.46666667 0.33333333 0.002 - 0.40000000 0.46666667 0.33333333 0.002 - 0.46666667 0.46666667 0.33333333 0.002 - 0.00000000 0.00000000 0.40000000 0.001 - 0.06666667 0.00000000 0.40000000 0.001 - 0.13333333 0.00000000 0.40000000 0.001 - 0.20000000 0.00000000 0.40000000 0.001 - 0.26666667 0.00000000 0.40000000 0.001 - 0.33333333 0.00000000 0.40000000 0.001 - 0.40000000 0.00000000 0.40000000 0.001 - 0.46666667 0.00000000 0.40000000 0.001 - 0.00000000 0.06666667 0.40000000 0.001 - 0.06666667 0.06666667 0.40000000 0.002 - 0.13333333 0.06666667 0.40000000 0.002 - 0.20000000 0.06666667 0.40000000 0.002 - 0.26666667 0.06666667 0.40000000 0.002 - 0.33333333 0.06666667 0.40000000 0.002 - 0.40000000 0.06666667 0.40000000 0.002 - 0.46666667 0.06666667 0.40000000 0.002 - 0.00000000 0.13333333 0.40000000 0.001 - 0.06666667 0.13333333 0.40000000 0.002 - 0.13333333 0.13333333 0.40000000 0.002 - 0.20000000 0.13333333 0.40000000 0.002 - 0.26666667 0.13333333 0.40000000 0.002 - 0.33333333 0.13333333 0.40000000 0.002 - 0.40000000 0.13333333 0.40000000 0.002 - 0.46666667 0.13333333 0.40000000 0.002 - 0.00000000 0.20000000 0.40000000 0.001 - 0.06666667 0.20000000 0.40000000 0.002 - 0.13333333 0.20000000 0.40000000 0.002 - 0.20000000 0.20000000 0.40000000 0.002 - 0.26666667 0.20000000 0.40000000 0.002 - 0.33333333 0.20000000 0.40000000 0.002 - 0.40000000 0.20000000 0.40000000 0.002 - 0.46666667 0.20000000 0.40000000 0.002 - 0.00000000 0.26666667 0.40000000 0.001 - 0.06666667 0.26666667 0.40000000 0.002 - 0.13333333 0.26666667 0.40000000 0.002 - 0.20000000 0.26666667 0.40000000 0.002 - 0.26666667 0.26666667 0.40000000 0.002 - 0.33333333 0.26666667 0.40000000 0.002 - 0.40000000 0.26666667 0.40000000 0.002 - 0.46666667 0.26666667 0.40000000 0.002 - 0.00000000 0.33333333 0.40000000 0.001 - 0.06666667 0.33333333 0.40000000 0.002 - 0.13333333 0.33333333 0.40000000 0.002 - 0.20000000 0.33333333 0.40000000 0.002 - 0.26666667 0.33333333 0.40000000 0.002 - 0.33333333 0.33333333 0.40000000 0.002 - 0.40000000 0.33333333 0.40000000 0.002 - 0.46666667 0.33333333 0.40000000 0.002 - 0.00000000 0.40000000 0.40000000 0.001 - 0.06666667 0.40000000 0.40000000 0.002 - 0.13333333 0.40000000 0.40000000 0.002 - 0.20000000 0.40000000 0.40000000 0.002 - 0.26666667 0.40000000 0.40000000 0.002 - 0.33333333 0.40000000 0.40000000 0.002 - 0.40000000 0.40000000 0.40000000 0.002 - 0.46666667 0.40000000 0.40000000 0.002 - 0.00000000 0.46666667 0.40000000 0.001 - 0.06666667 0.46666667 0.40000000 0.002 - 0.13333333 0.46666667 0.40000000 0.002 - 0.20000000 0.46666667 0.40000000 0.002 - 0.26666667 0.46666667 0.40000000 0.002 - 0.33333333 0.46666667 0.40000000 0.002 - 0.40000000 0.46666667 0.40000000 0.002 - 0.46666667 0.46666667 0.40000000 0.002 - 0.00000000 0.00000000 0.46666667 0.001 - 0.06666667 0.00000000 0.46666667 0.001 - 0.13333333 0.00000000 0.46666667 0.001 - 0.20000000 0.00000000 0.46666667 0.001 - 0.26666667 0.00000000 0.46666667 0.001 - 0.33333333 0.00000000 0.46666667 0.001 - 0.40000000 0.00000000 0.46666667 0.001 - 0.46666667 0.00000000 0.46666667 0.001 - 0.00000000 0.06666667 0.46666667 0.001 - 0.06666667 0.06666667 0.46666667 0.002 - 0.13333333 0.06666667 0.46666667 0.002 - 0.20000000 0.06666667 0.46666667 0.002 - 0.26666667 0.06666667 0.46666667 0.002 - 0.33333333 0.06666667 0.46666667 0.002 - 0.40000000 0.06666667 0.46666667 0.002 - 0.46666667 0.06666667 0.46666667 0.002 - 0.00000000 0.13333333 0.46666667 0.001 - 0.06666667 0.13333333 0.46666667 0.002 - 0.13333333 0.13333333 0.46666667 0.002 - 0.20000000 0.13333333 0.46666667 0.002 - 0.26666667 0.13333333 0.46666667 0.002 - 0.33333333 0.13333333 0.46666667 0.002 - 0.40000000 0.13333333 0.46666667 0.002 - 0.46666667 0.13333333 0.46666667 0.002 - 0.00000000 0.20000000 0.46666667 0.001 - 0.06666667 0.20000000 0.46666667 0.002 - 0.13333333 0.20000000 0.46666667 0.002 - 0.20000000 0.20000000 0.46666667 0.002 - 0.26666667 0.20000000 0.46666667 0.002 - 0.33333333 0.20000000 0.46666667 0.002 - 0.40000000 0.20000000 0.46666667 0.002 - 0.46666667 0.20000000 0.46666667 0.002 - 0.00000000 0.26666667 0.46666667 0.001 - 0.06666667 0.26666667 0.46666667 0.002 - 0.13333333 0.26666667 0.46666667 0.002 - 0.20000000 0.26666667 0.46666667 0.002 - 0.26666667 0.26666667 0.46666667 0.002 - 0.33333333 0.26666667 0.46666667 0.002 - 0.40000000 0.26666667 0.46666667 0.002 - 0.46666667 0.26666667 0.46666667 0.002 - 0.00000000 0.33333333 0.46666667 0.001 - 0.06666667 0.33333333 0.46666667 0.002 - 0.13333333 0.33333333 0.46666667 0.002 - 0.20000000 0.33333333 0.46666667 0.002 - 0.26666667 0.33333333 0.46666667 0.002 - 0.33333333 0.33333333 0.46666667 0.002 - 0.40000000 0.33333333 0.46666667 0.002 - 0.46666667 0.33333333 0.46666667 0.002 - 0.00000000 0.40000000 0.46666667 0.001 - 0.06666667 0.40000000 0.46666667 0.002 - 0.13333333 0.40000000 0.46666667 0.002 - 0.20000000 0.40000000 0.46666667 0.002 - 0.26666667 0.40000000 0.46666667 0.002 - 0.33333333 0.40000000 0.46666667 0.002 - 0.40000000 0.40000000 0.46666667 0.002 - 0.46666667 0.40000000 0.46666667 0.002 - 0.00000000 0.46666667 0.46666667 0.001 - 0.06666667 0.46666667 0.46666667 0.002 - 0.13333333 0.46666667 0.46666667 0.002 - 0.20000000 0.46666667 0.46666667 0.002 - 0.26666667 0.46666667 0.46666667 0.002 - 0.33333333 0.46666667 0.46666667 0.002 - 0.40000000 0.46666667 0.46666667 0.002 - 0.46666667 0.46666667 0.46666667 0.002 - - position of ions in fractional coordinates (direct lattice) - 0.00000000 0.00000000 0.00000000 - 0.00000000 0.50000000 0.50000000 - 0.50000000 0.00000000 0.50000000 - 0.50000000 0.50000000 0.00000000 - - position of ions in cartesian coordinates (Angst): - 0.00000000 0.00000000 0.00000000 - 0.00000000 1.77872000 1.58839050 - 1.83480550 0.00000000 1.58839050 - 1.83480550 1.77872000 0.00000000 - - - --------------------------------------------------------------------------------------------------------- - - - k-point 1 : 0.0000 0.0000 0.0000 plane waves: 1389 - k-point 2 : 0.0667 0.0000 0.0000 plane waves: 1395 - k-point 3 : 0.1333 0.0000 0.0000 plane waves: 1401 - k-point 4 : 0.2000 0.0000 0.0000 plane waves: 1393 - k-point 5 : 0.2667 0.0000 0.0000 plane waves: 1389 - k-point 6 : 0.3333 0.0000 0.0000 plane waves: 1386 - k-point 7 : 0.4000 0.0000 0.0000 plane waves: 1386 - k-point 8 : 0.4667 0.0000 0.0000 plane waves: 1392 - k-point 9 : 0.0000 0.0667 0.0000 plane waves: 1395 - k-point 10 : 0.0667 0.0667 0.0000 plane waves: 1393 - k-point 11 : 0.1333 0.0667 0.0000 plane waves: 1396 - k-point 12 : 0.2000 0.0667 0.0000 plane waves: 1390 - k-point 13 : 0.2667 0.0667 0.0000 plane waves: 1385 - k-point 14 : 0.3333 0.0667 0.0000 plane waves: 1382 - k-point 15 : 0.4000 0.0667 0.0000 plane waves: 1388 - k-point 16 : 0.4667 0.0667 0.0000 plane waves: 1396 - k-point 17 : 0.0000 0.1333 0.0000 plane waves: 1394 - k-point 18 : 0.0667 0.1333 0.0000 plane waves: 1400 - k-point 19 : 0.1333 0.1333 0.0000 plane waves: 1395 - k-point 20 : 0.2000 0.1333 0.0000 plane waves: 1393 - k-point 21 : 0.2667 0.1333 0.0000 plane waves: 1386 - k-point 22 : 0.3333 0.1333 0.0000 plane waves: 1394 - k-point 23 : 0.4000 0.1333 0.0000 plane waves: 1387 - k-point 24 : 0.4667 0.1333 0.0000 plane waves: 1384 - k-point 25 : 0.0000 0.2000 0.0000 plane waves: 1390 - k-point 26 : 0.0667 0.2000 0.0000 plane waves: 1392 - k-point 27 : 0.1333 0.2000 0.0000 plane waves: 1389 - k-point 28 : 0.2000 0.2000 0.0000 plane waves: 1388 - k-point 29 : 0.2667 0.2000 0.0000 plane waves: 1389 - k-point 30 : 0.3333 0.2000 0.0000 plane waves: 1391 - k-point 31 : 0.4000 0.2000 0.0000 plane waves: 1387 - k-point 32 : 0.4667 0.2000 0.0000 plane waves: 1382 - k-point 33 : 0.0000 0.2667 0.0000 plane waves: 1390 - k-point 34 : 0.0667 0.2667 0.0000 plane waves: 1393 - k-point 35 : 0.1333 0.2667 0.0000 plane waves: 1391 - k-point 36 : 0.2000 0.2667 0.0000 plane waves: 1388 - k-point 37 : 0.2667 0.2667 0.0000 plane waves: 1383 - k-point 38 : 0.3333 0.2667 0.0000 plane waves: 1384 - k-point 39 : 0.4000 0.2667 0.0000 plane waves: 1377 - k-point 40 : 0.4667 0.2667 0.0000 plane waves: 1375 - k-point 41 : 0.0000 0.3333 0.0000 plane waves: 1392 - k-point 42 : 0.0667 0.3333 0.0000 plane waves: 1390 - k-point 43 : 0.1333 0.3333 0.0000 plane waves: 1390 - k-point 44 : 0.2000 0.3333 0.0000 plane waves: 1395 - k-point 45 : 0.2667 0.3333 0.0000 plane waves: 1388 - k-point 46 : 0.3333 0.3333 0.0000 plane waves: 1380 - k-point 47 : 0.4000 0.3333 0.0000 plane waves: 1378 - k-point 48 : 0.4667 0.3333 0.0000 plane waves: 1364 - k-point 49 : 0.0000 0.4000 0.0000 plane waves: 1390 - k-point 50 : 0.0667 0.4000 0.0000 plane waves: 1390 - k-point 51 : 0.1333 0.4000 0.0000 plane waves: 1397 - k-point 52 : 0.2000 0.4000 0.0000 plane waves: 1391 - k-point 53 : 0.2667 0.4000 0.0000 plane waves: 1389 - k-point 54 : 0.3333 0.4000 0.0000 plane waves: 1377 - k-point 55 : 0.4000 0.4000 0.0000 plane waves: 1379 - k-point 56 : 0.4667 0.4000 0.0000 plane waves: 1365 - k-point 57 : 0.0000 0.4667 0.0000 plane waves: 1382 - k-point 58 : 0.0667 0.4667 0.0000 plane waves: 1387 - k-point 59 : 0.1333 0.4667 0.0000 plane waves: 1387 - k-point 60 : 0.2000 0.4667 0.0000 plane waves: 1386 - k-point 61 : 0.2667 0.4667 0.0000 plane waves: 1384 - k-point 62 : 0.3333 0.4667 0.0000 plane waves: 1384 - k-point 63 : 0.4000 0.4667 0.0000 plane waves: 1381 - k-point 64 : 0.4667 0.4667 0.0000 plane waves: 1372 - k-point 65 : 0.0000 0.0000 0.0667 plane waves: 1389 - k-point 66 : 0.0667 0.0000 0.0667 plane waves: 1386 - k-point 67 : 0.1333 0.0000 0.0667 plane waves: 1393 - k-point 68 : 0.2000 0.0000 0.0667 plane waves: 1392 - k-point 69 : 0.2667 0.0000 0.0667 plane waves: 1375 - k-point 70 : 0.3333 0.0000 0.0667 plane waves: 1382 - k-point 71 : 0.4000 0.0000 0.0667 plane waves: 1394 - k-point 72 : 0.4667 0.0000 0.0667 plane waves: 1401 - k-point 73 : 0.0000 0.0667 0.0667 plane waves: 1387 - k-point 74 : 0.0667 0.0667 0.0667 plane waves: 1388 - k-point 75 : 0.1333 0.0667 0.0667 plane waves: 1393 - k-point 76 : 0.2000 0.0667 0.0667 plane waves: 1388 - k-point 77 : 0.2667 0.0667 0.0667 plane waves: 1385 - k-point 78 : 0.3333 0.0667 0.0667 plane waves: 1388 - k-point 79 : 0.4000 0.0667 0.0667 plane waves: 1392 - k-point 80 : 0.4667 0.0667 0.0667 plane waves: 1395 - k-point 81 : 0.0000 0.1333 0.0667 plane waves: 1381 - k-point 82 : 0.0667 0.1333 0.0667 plane waves: 1388 - k-point 83 : 0.1333 0.1333 0.0667 plane waves: 1390 - k-point 84 : 0.2000 0.1333 0.0667 plane waves: 1387 - k-point 85 : 0.2667 0.1333 0.0667 plane waves: 1390 - k-point 86 : 0.3333 0.1333 0.0667 plane waves: 1385 - k-point 87 : 0.4000 0.1333 0.0667 plane waves: 1389 - k-point 88 : 0.4667 0.1333 0.0667 plane waves: 1391 - k-point 89 : 0.0000 0.2000 0.0667 plane waves: 1391 - k-point 90 : 0.0667 0.2000 0.0667 plane waves: 1390 - k-point 91 : 0.1333 0.2000 0.0667 plane waves: 1388 - k-point 92 : 0.2000 0.2000 0.0667 plane waves: 1390 - k-point 93 : 0.2667 0.2000 0.0667 plane waves: 1385 - k-point 94 : 0.3333 0.2000 0.0667 plane waves: 1388 - k-point 95 : 0.4000 0.2000 0.0667 plane waves: 1387 - k-point 96 : 0.4667 0.2000 0.0667 plane waves: 1388 - k-point 97 : 0.0000 0.2667 0.0667 plane waves: 1393 - k-point 98 : 0.0667 0.2667 0.0667 plane waves: 1392 - k-point 99 : 0.1333 0.2667 0.0667 plane waves: 1388 - k-point ** : 0.2000 0.2667 0.0667 plane waves: 1387 - k-point ** : 0.2667 0.2667 0.0667 plane waves: 1386 - k-point ** : 0.3333 0.2667 0.0667 plane waves: 1386 - k-point ** : 0.4000 0.2667 0.0667 plane waves: 1382 - k-point ** : 0.4667 0.2667 0.0667 plane waves: 1376 - k-point ** : 0.0000 0.3333 0.0667 plane waves: 1396 - k-point ** : 0.0667 0.3333 0.0667 plane waves: 1394 - k-point ** : 0.1333 0.3333 0.0667 plane waves: 1393 - k-point ** : 0.2000 0.3333 0.0667 plane waves: 1390 - k-point ** : 0.2667 0.3333 0.0667 plane waves: 1387 - k-point ** : 0.3333 0.3333 0.0667 plane waves: 1383 - k-point ** : 0.4000 0.3333 0.0667 plane waves: 1378 - k-point ** : 0.4667 0.3333 0.0667 plane waves: 1373 - k-point ** : 0.0000 0.4000 0.0667 plane waves: 1392 - k-point ** : 0.0667 0.4000 0.0667 plane waves: 1391 - k-point ** : 0.1333 0.4000 0.0667 plane waves: 1391 - k-point ** : 0.2000 0.4000 0.0667 plane waves: 1389 - k-point ** : 0.2667 0.4000 0.0667 plane waves: 1389 - k-point ** : 0.3333 0.4000 0.0667 plane waves: 1384 - k-point ** : 0.4000 0.4000 0.0667 plane waves: 1374 - k-point ** : 0.4667 0.4000 0.0667 plane waves: 1376 - k-point ** : 0.0000 0.4667 0.0667 plane waves: 1390 - k-point ** : 0.0667 0.4667 0.0667 plane waves: 1389 - k-point ** : 0.1333 0.4667 0.0667 plane waves: 1386 - k-point ** : 0.2000 0.4667 0.0667 plane waves: 1387 - k-point ** : 0.2667 0.4667 0.0667 plane waves: 1385 - k-point ** : 0.3333 0.4667 0.0667 plane waves: 1381 - k-point ** : 0.4000 0.4667 0.0667 plane waves: 1374 - k-point ** : 0.4667 0.4667 0.0667 plane waves: 1379 - k-point ** : 0.0000 0.0000 0.1333 plane waves: 1389 - k-point ** : 0.0667 0.0000 0.1333 plane waves: 1382 - k-point ** : 0.1333 0.0000 0.1333 plane waves: 1386 - k-point ** : 0.2000 0.0000 0.1333 plane waves: 1381 - k-point ** : 0.2667 0.0000 0.1333 plane waves: 1378 - k-point ** : 0.3333 0.0000 0.1333 plane waves: 1381 - k-point ** : 0.4000 0.0000 0.1333 plane waves: 1386 - k-point ** : 0.4667 0.0000 0.1333 plane waves: 1400 - k-point ** : 0.0000 0.0667 0.1333 plane waves: 1383 - k-point ** : 0.0667 0.0667 0.1333 plane waves: 1379 - k-point ** : 0.1333 0.0667 0.1333 plane waves: 1388 - k-point ** : 0.2000 0.0667 0.1333 plane waves: 1385 - k-point ** : 0.2667 0.0667 0.1333 plane waves: 1380 - k-point ** : 0.3333 0.0667 0.1333 plane waves: 1382 - k-point ** : 0.4000 0.0667 0.1333 plane waves: 1392 - k-point ** : 0.4667 0.0667 0.1333 plane waves: 1400 - k-point ** : 0.0000 0.1333 0.1333 plane waves: 1378 - k-point ** : 0.0667 0.1333 0.1333 plane waves: 1381 - k-point ** : 0.1333 0.1333 0.1333 plane waves: 1386 - k-point ** : 0.2000 0.1333 0.1333 plane waves: 1386 - k-point ** : 0.2667 0.1333 0.1333 plane waves: 1382 - k-point ** : 0.3333 0.1333 0.1333 plane waves: 1385 - k-point ** : 0.4000 0.1333 0.1333 plane waves: 1390 - k-point ** : 0.4667 0.1333 0.1333 plane waves: 1396 - k-point ** : 0.0000 0.2000 0.1333 plane waves: 1385 - k-point ** : 0.0667 0.2000 0.1333 plane waves: 1383 - k-point ** : 0.1333 0.2000 0.1333 plane waves: 1381 - k-point ** : 0.2000 0.2000 0.1333 plane waves: 1386 - k-point ** : 0.2667 0.2000 0.1333 plane waves: 1386 - k-point ** : 0.3333 0.2000 0.1333 plane waves: 1382 - k-point ** : 0.4000 0.2000 0.1333 plane waves: 1386 - k-point ** : 0.4667 0.2000 0.1333 plane waves: 1383 - k-point ** : 0.0000 0.2667 0.1333 plane waves: 1388 - k-point ** : 0.0667 0.2667 0.1333 plane waves: 1388 - k-point ** : 0.1333 0.2667 0.1333 plane waves: 1386 - k-point ** : 0.2000 0.2667 0.1333 plane waves: 1386 - k-point ** : 0.2667 0.2667 0.1333 plane waves: 1388 - k-point ** : 0.3333 0.2667 0.1333 plane waves: 1385 - k-point ** : 0.4000 0.2667 0.1333 plane waves: 1385 - k-point ** : 0.4667 0.2667 0.1333 plane waves: 1376 - k-point ** : 0.0000 0.3333 0.1333 plane waves: 1392 - k-point ** : 0.0667 0.3333 0.1333 plane waves: 1391 - k-point ** : 0.1333 0.3333 0.1333 plane waves: 1390 - k-point ** : 0.2000 0.3333 0.1333 plane waves: 1389 - k-point ** : 0.2667 0.3333 0.1333 plane waves: 1391 - k-point ** : 0.3333 0.3333 0.1333 plane waves: 1384 - k-point ** : 0.4000 0.3333 0.1333 plane waves: 1376 - k-point ** : 0.4667 0.3333 0.1333 plane waves: 1377 - k-point ** : 0.0000 0.4000 0.1333 plane waves: 1391 - k-point ** : 0.0667 0.4000 0.1333 plane waves: 1391 - k-point ** : 0.1333 0.4000 0.1333 plane waves: 1395 - k-point ** : 0.2000 0.4000 0.1333 plane waves: 1388 - k-point ** : 0.2667 0.4000 0.1333 plane waves: 1388 - k-point ** : 0.3333 0.4000 0.1333 plane waves: 1385 - k-point ** : 0.4000 0.4000 0.1333 plane waves: 1380 - k-point ** : 0.4667 0.4000 0.1333 plane waves: 1380 - k-point ** : 0.0000 0.4667 0.1333 plane waves: 1392 - k-point ** : 0.0667 0.4667 0.1333 plane waves: 1392 - k-point ** : 0.1333 0.4667 0.1333 plane waves: 1395 - k-point ** : 0.2000 0.4667 0.1333 plane waves: 1391 - k-point ** : 0.2667 0.4667 0.1333 plane waves: 1394 - k-point ** : 0.3333 0.4667 0.1333 plane waves: 1388 - k-point ** : 0.4000 0.4667 0.1333 plane waves: 1383 - k-point ** : 0.4667 0.4667 0.1333 plane waves: 1383 - k-point ** : 0.0000 0.0000 0.2000 plane waves: 1377 - k-point ** : 0.0667 0.0000 0.2000 plane waves: 1383 - k-point ** : 0.1333 0.0000 0.2000 plane waves: 1381 - k-point ** : 0.2000 0.0000 0.2000 plane waves: 1379 - k-point ** : 0.2667 0.0000 0.2000 plane waves: 1380 - k-point ** : 0.3333 0.0000 0.2000 plane waves: 1379 - k-point ** : 0.4000 0.0000 0.2000 plane waves: 1385 - k-point ** : 0.4667 0.0000 0.2000 plane waves: 1393 - k-point ** : 0.0000 0.0667 0.2000 plane waves: 1385 - k-point ** : 0.0667 0.0667 0.2000 plane waves: 1384 - k-point ** : 0.1333 0.0667 0.2000 plane waves: 1377 - k-point ** : 0.2000 0.0667 0.2000 plane waves: 1377 - k-point ** : 0.2667 0.0667 0.2000 plane waves: 1380 - k-point ** : 0.3333 0.0667 0.2000 plane waves: 1382 - k-point ** : 0.4000 0.0667 0.2000 plane waves: 1387 - k-point ** : 0.4667 0.0667 0.2000 plane waves: 1394 - k-point ** : 0.0000 0.1333 0.2000 plane waves: 1382 - k-point ** : 0.0667 0.1333 0.2000 plane waves: 1380 - k-point ** : 0.1333 0.1333 0.2000 plane waves: 1386 - k-point ** : 0.2000 0.1333 0.2000 plane waves: 1382 - k-point ** : 0.2667 0.1333 0.2000 plane waves: 1378 - k-point ** : 0.3333 0.1333 0.2000 plane waves: 1379 - k-point ** : 0.4000 0.1333 0.2000 plane waves: 1379 - k-point ** : 0.4667 0.1333 0.2000 plane waves: 1384 - k-point ** : 0.0000 0.2000 0.2000 plane waves: 1380 - k-point ** : 0.0667 0.2000 0.2000 plane waves: 1382 - k-point ** : 0.1333 0.2000 0.2000 plane waves: 1385 - k-point ** : 0.2000 0.2000 0.2000 plane waves: 1387 - k-point ** : 0.2667 0.2000 0.2000 plane waves: 1388 - k-point ** : 0.3333 0.2000 0.2000 plane waves: 1384 - k-point ** : 0.4000 0.2000 0.2000 plane waves: 1379 - k-point ** : 0.4667 0.2000 0.2000 plane waves: 1383 - k-point ** : 0.0000 0.2667 0.2000 plane waves: 1382 - k-point ** : 0.0667 0.2667 0.2000 plane waves: 1386 - k-point ** : 0.1333 0.2667 0.2000 plane waves: 1392 - k-point ** : 0.2000 0.2667 0.2000 plane waves: 1391 - k-point ** : 0.2667 0.2667 0.2000 plane waves: 1388 - k-point ** : 0.3333 0.2667 0.2000 plane waves: 1385 - k-point ** : 0.4000 0.2667 0.2000 plane waves: 1382 - k-point ** : 0.4667 0.2667 0.2000 plane waves: 1373 - k-point ** : 0.0000 0.3333 0.2000 plane waves: 1386 - k-point ** : 0.0667 0.3333 0.2000 plane waves: 1389 - k-point ** : 0.1333 0.3333 0.2000 plane waves: 1384 - k-point ** : 0.2000 0.3333 0.2000 plane waves: 1383 - k-point ** : 0.2667 0.3333 0.2000 plane waves: 1390 - k-point ** : 0.3333 0.3333 0.2000 plane waves: 1383 - k-point ** : 0.4000 0.3333 0.2000 plane waves: 1385 - k-point ** : 0.4667 0.3333 0.2000 plane waves: 1377 - k-point ** : 0.0000 0.4000 0.2000 plane waves: 1395 - k-point ** : 0.0667 0.4000 0.2000 plane waves: 1390 - k-point ** : 0.1333 0.4000 0.2000 plane waves: 1388 - k-point ** : 0.2000 0.4000 0.2000 plane waves: 1386 - k-point ** : 0.2667 0.4000 0.2000 plane waves: 1390 - k-point ** : 0.3333 0.4000 0.2000 plane waves: 1386 - k-point ** : 0.4000 0.4000 0.2000 plane waves: 1384 - k-point ** : 0.4667 0.4000 0.2000 plane waves: 1388 - k-point ** : 0.0000 0.4667 0.2000 plane waves: 1399 - k-point ** : 0.0667 0.4667 0.2000 plane waves: 1388 - k-point ** : 0.1333 0.4667 0.2000 plane waves: 1392 - k-point ** : 0.2000 0.4667 0.2000 plane waves: 1392 - k-point ** : 0.2667 0.4667 0.2000 plane waves: 1387 - k-point ** : 0.3333 0.4667 0.2000 plane waves: 1385 - k-point ** : 0.4000 0.4667 0.2000 plane waves: 1382 - k-point ** : 0.4667 0.4667 0.2000 plane waves: 1388 - k-point ** : 0.0000 0.0000 0.2667 plane waves: 1371 - k-point ** : 0.0667 0.0000 0.2667 plane waves: 1376 - k-point ** : 0.1333 0.0000 0.2667 plane waves: 1383 - k-point ** : 0.2000 0.0000 0.2667 plane waves: 1379 - k-point ** : 0.2667 0.0000 0.2667 plane waves: 1381 - k-point ** : 0.3333 0.0000 0.2667 plane waves: 1378 - k-point ** : 0.4000 0.0000 0.2667 plane waves: 1379 - k-point ** : 0.4667 0.0000 0.2667 plane waves: 1378 - k-point ** : 0.0000 0.0667 0.2667 plane waves: 1379 - k-point ** : 0.0667 0.0667 0.2667 plane waves: 1378 - k-point ** : 0.1333 0.0667 0.2667 plane waves: 1377 - k-point ** : 0.2000 0.0667 0.2667 plane waves: 1378 - k-point ** : 0.2667 0.0667 0.2667 plane waves: 1379 - k-point ** : 0.3333 0.0667 0.2667 plane waves: 1379 - k-point ** : 0.4000 0.0667 0.2667 plane waves: 1382 - k-point ** : 0.4667 0.0667 0.2667 plane waves: 1380 - k-point ** : 0.0000 0.1333 0.2667 plane waves: 1374 - k-point ** : 0.0667 0.1333 0.2667 plane waves: 1377 - k-point ** : 0.1333 0.1333 0.2667 plane waves: 1381 - k-point ** : 0.2000 0.1333 0.2667 plane waves: 1378 - k-point ** : 0.2667 0.1333 0.2667 plane waves: 1380 - k-point ** : 0.3333 0.1333 0.2667 plane waves: 1378 - k-point ** : 0.4000 0.1333 0.2667 plane waves: 1380 - k-point ** : 0.4667 0.1333 0.2667 plane waves: 1383 - k-point ** : 0.0000 0.2000 0.2667 plane waves: 1379 - k-point ** : 0.0667 0.2000 0.2667 plane waves: 1381 - k-point ** : 0.1333 0.2000 0.2667 plane waves: 1390 - k-point ** : 0.2000 0.2000 0.2667 plane waves: 1389 - k-point ** : 0.2667 0.2000 0.2667 plane waves: 1380 - k-point ** : 0.3333 0.2000 0.2667 plane waves: 1379 - k-point ** : 0.4000 0.2000 0.2667 plane waves: 1375 - k-point ** : 0.4667 0.2000 0.2667 plane waves: 1381 - k-point ** : 0.0000 0.2667 0.2667 plane waves: 1385 - k-point ** : 0.0667 0.2667 0.2667 plane waves: 1389 - k-point ** : 0.1333 0.2667 0.2667 plane waves: 1388 - k-point ** : 0.2000 0.2667 0.2667 plane waves: 1390 - k-point ** : 0.2667 0.2667 0.2667 plane waves: 1383 - k-point ** : 0.3333 0.2667 0.2667 plane waves: 1381 - k-point ** : 0.4000 0.2667 0.2667 plane waves: 1376 - k-point ** : 0.4667 0.2667 0.2667 plane waves: 1369 - k-point ** : 0.0000 0.3333 0.2667 plane waves: 1398 - k-point ** : 0.0667 0.3333 0.2667 plane waves: 1389 - k-point ** : 0.1333 0.3333 0.2667 plane waves: 1389 - k-point ** : 0.2000 0.3333 0.2667 plane waves: 1390 - k-point ** : 0.2667 0.3333 0.2667 plane waves: 1386 - k-point ** : 0.3333 0.3333 0.2667 plane waves: 1382 - k-point ** : 0.4000 0.3333 0.2667 plane waves: 1388 - k-point ** : 0.4667 0.3333 0.2667 plane waves: 1382 - k-point ** : 0.0000 0.4000 0.2667 plane waves: 1393 - k-point ** : 0.0667 0.4000 0.2667 plane waves: 1391 - k-point ** : 0.1333 0.4000 0.2667 plane waves: 1385 - k-point ** : 0.2000 0.4000 0.2667 plane waves: 1387 - k-point ** : 0.2667 0.4000 0.2667 plane waves: 1389 - k-point ** : 0.3333 0.4000 0.2667 plane waves: 1388 - k-point ** : 0.4000 0.4000 0.2667 plane waves: 1390 - k-point ** : 0.4667 0.4000 0.2667 plane waves: 1391 - k-point ** : 0.0000 0.4667 0.2667 plane waves: 1398 - k-point ** : 0.0667 0.4667 0.2667 plane waves: 1388 - k-point ** : 0.1333 0.4667 0.2667 plane waves: 1381 - k-point ** : 0.2000 0.4667 0.2667 plane waves: 1382 - k-point ** : 0.2667 0.4667 0.2667 plane waves: 1387 - k-point ** : 0.3333 0.4667 0.2667 plane waves: 1391 - k-point ** : 0.4000 0.4667 0.2667 plane waves: 1391 - k-point ** : 0.4667 0.4667 0.2667 plane waves: 1394 - k-point ** : 0.0000 0.0000 0.3333 plane waves: 1373 - k-point ** : 0.0667 0.0000 0.3333 plane waves: 1378 - k-point ** : 0.1333 0.0000 0.3333 plane waves: 1379 - k-point ** : 0.2000 0.0000 0.3333 plane waves: 1381 - k-point ** : 0.2667 0.0000 0.3333 plane waves: 1382 - k-point ** : 0.3333 0.0000 0.3333 plane waves: 1377 - k-point ** : 0.4000 0.0000 0.3333 plane waves: 1377 - k-point ** : 0.4667 0.0000 0.3333 plane waves: 1366 - k-point ** : 0.0000 0.0667 0.3333 plane waves: 1374 - k-point ** : 0.0667 0.0667 0.3333 plane waves: 1377 - k-point ** : 0.1333 0.0667 0.3333 plane waves: 1379 - k-point ** : 0.2000 0.0667 0.3333 plane waves: 1380 - k-point ** : 0.2667 0.0667 0.3333 plane waves: 1377 - k-point ** : 0.3333 0.0667 0.3333 plane waves: 1370 - k-point ** : 0.4000 0.0667 0.3333 plane waves: 1373 - k-point ** : 0.4667 0.0667 0.3333 plane waves: 1374 - k-point ** : 0.0000 0.1333 0.3333 plane waves: 1375 - k-point ** : 0.0667 0.1333 0.3333 plane waves: 1378 - k-point ** : 0.1333 0.1333 0.3333 plane waves: 1375 - k-point ** : 0.2000 0.1333 0.3333 plane waves: 1377 - k-point ** : 0.2667 0.1333 0.3333 plane waves: 1378 - k-point ** : 0.3333 0.1333 0.3333 plane waves: 1370 - k-point ** : 0.4000 0.1333 0.3333 plane waves: 1374 - k-point ** : 0.4667 0.1333 0.3333 plane waves: 1376 - k-point ** : 0.0000 0.2000 0.3333 plane waves: 1376 - k-point ** : 0.0667 0.2000 0.3333 plane waves: 1379 - k-point ** : 0.1333 0.2000 0.3333 plane waves: 1383 - k-point ** : 0.2000 0.2000 0.3333 plane waves: 1381 - k-point ** : 0.2667 0.2000 0.3333 plane waves: 1374 - k-point ** : 0.3333 0.2000 0.3333 plane waves: 1378 - k-point ** : 0.4000 0.2000 0.3333 plane waves: 1373 - k-point ** : 0.4667 0.2000 0.3333 plane waves: 1376 - k-point ** : 0.0000 0.2667 0.3333 plane waves: 1385 - k-point ** : 0.0667 0.2667 0.3333 plane waves: 1383 - k-point ** : 0.1333 0.2667 0.3333 plane waves: 1388 - k-point ** : 0.2000 0.2667 0.3333 plane waves: 1387 - k-point ** : 0.2667 0.2667 0.3333 plane waves: 1384 - k-point ** : 0.3333 0.2667 0.3333 plane waves: 1379 - k-point ** : 0.4000 0.2667 0.3333 plane waves: 1380 - k-point ** : 0.4667 0.2667 0.3333 plane waves: 1379 - k-point ** : 0.0000 0.3333 0.3333 plane waves: 1381 - k-point ** : 0.0667 0.3333 0.3333 plane waves: 1393 - k-point ** : 0.1333 0.3333 0.3333 plane waves: 1393 - k-point ** : 0.2000 0.3333 0.3333 plane waves: 1386 - k-point ** : 0.2667 0.3333 0.3333 plane waves: 1385 - k-point ** : 0.3333 0.3333 0.3333 plane waves: 1380 - k-point ** : 0.4000 0.3333 0.3333 plane waves: 1381 - k-point ** : 0.4667 0.3333 0.3333 plane waves: 1383 - k-point ** : 0.0000 0.4000 0.3333 plane waves: 1388 - k-point ** : 0.0667 0.4000 0.3333 plane waves: 1385 - k-point ** : 0.1333 0.4000 0.3333 plane waves: 1386 - k-point ** : 0.2000 0.4000 0.3333 plane waves: 1386 - k-point ** : 0.2667 0.4000 0.3333 plane waves: 1385 - k-point ** : 0.3333 0.4000 0.3333 plane waves: 1383 - k-point ** : 0.4000 0.4000 0.3333 plane waves: 1391 - k-point ** : 0.4667 0.4000 0.3333 plane waves: 1389 - k-point ** : 0.0000 0.4667 0.3333 plane waves: 1384 - k-point ** : 0.0667 0.4667 0.3333 plane waves: 1383 - k-point ** : 0.1333 0.4667 0.3333 plane waves: 1381 - k-point ** : 0.2000 0.4667 0.3333 plane waves: 1381 - k-point ** : 0.2667 0.4667 0.3333 plane waves: 1383 - k-point ** : 0.3333 0.4667 0.3333 plane waves: 1386 - k-point ** : 0.4000 0.4667 0.3333 plane waves: 1392 - k-point ** : 0.4667 0.4667 0.3333 plane waves: 1391 - k-point ** : 0.0000 0.0000 0.4000 plane waves: 1382 - k-point ** : 0.0667 0.0000 0.4000 plane waves: 1378 - k-point ** : 0.1333 0.0000 0.4000 plane waves: 1379 - k-point ** : 0.2000 0.0000 0.4000 plane waves: 1376 - k-point ** : 0.2667 0.0000 0.4000 plane waves: 1375 - k-point ** : 0.3333 0.0000 0.4000 plane waves: 1371 - k-point ** : 0.4000 0.0000 0.4000 plane waves: 1373 - k-point ** : 0.4667 0.0000 0.4000 plane waves: 1362 - k-point ** : 0.0000 0.0667 0.4000 plane waves: 1381 - k-point ** : 0.0667 0.0667 0.4000 plane waves: 1378 - k-point ** : 0.1333 0.0667 0.4000 plane waves: 1377 - k-point ** : 0.2000 0.0667 0.4000 plane waves: 1380 - k-point ** : 0.2667 0.0667 0.4000 plane waves: 1374 - k-point ** : 0.3333 0.0667 0.4000 plane waves: 1373 - k-point ** : 0.4000 0.0667 0.4000 plane waves: 1370 - k-point ** : 0.4667 0.0667 0.4000 plane waves: 1369 - k-point ** : 0.0000 0.1333 0.4000 plane waves: 1383 - k-point ** : 0.0667 0.1333 0.4000 plane waves: 1383 - k-point ** : 0.1333 0.1333 0.4000 plane waves: 1375 - k-point ** : 0.2000 0.1333 0.4000 plane waves: 1378 - k-point ** : 0.2667 0.1333 0.4000 plane waves: 1375 - k-point ** : 0.3333 0.1333 0.4000 plane waves: 1373 - k-point ** : 0.4000 0.1333 0.4000 plane waves: 1376 - k-point ** : 0.4667 0.1333 0.4000 plane waves: 1372 - k-point ** : 0.0000 0.2000 0.4000 plane waves: 1382 - k-point ** : 0.0667 0.2000 0.4000 plane waves: 1385 - k-point ** : 0.1333 0.2000 0.4000 plane waves: 1385 - k-point ** : 0.2000 0.2000 0.4000 plane waves: 1378 - k-point ** : 0.2667 0.2000 0.4000 plane waves: 1379 - k-point ** : 0.3333 0.2000 0.4000 plane waves: 1381 - k-point ** : 0.4000 0.2000 0.4000 plane waves: 1379 - k-point ** : 0.4667 0.2000 0.4000 plane waves: 1384 - k-point ** : 0.0000 0.2667 0.4000 plane waves: 1388 - k-point ** : 0.0667 0.2667 0.4000 plane waves: 1380 - k-point ** : 0.1333 0.2667 0.4000 plane waves: 1386 - k-point ** : 0.2000 0.2667 0.4000 plane waves: 1382 - k-point ** : 0.2667 0.2667 0.4000 plane waves: 1382 - k-point ** : 0.3333 0.2667 0.4000 plane waves: 1381 - k-point ** : 0.4000 0.2667 0.4000 plane waves: 1385 - k-point ** : 0.4667 0.2667 0.4000 plane waves: 1385 - k-point ** : 0.0000 0.3333 0.4000 plane waves: 1387 - k-point ** : 0.0667 0.3333 0.4000 plane waves: 1386 - k-point ** : 0.1333 0.3333 0.4000 plane waves: 1384 - k-point ** : 0.2000 0.3333 0.4000 plane waves: 1383 - k-point ** : 0.2667 0.3333 0.4000 plane waves: 1386 - k-point ** : 0.3333 0.3333 0.4000 plane waves: 1389 - k-point ** : 0.4000 0.3333 0.4000 plane waves: 1387 - k-point ** : 0.4667 0.3333 0.4000 plane waves: 1386 - k-point ** : 0.0000 0.4000 0.4000 plane waves: 1392 - k-point ** : 0.0667 0.4000 0.4000 plane waves: 1388 - k-point ** : 0.1333 0.4000 0.4000 plane waves: 1382 - k-point ** : 0.2000 0.4000 0.4000 plane waves: 1381 - k-point ** : 0.2667 0.4000 0.4000 plane waves: 1384 - k-point ** : 0.3333 0.4000 0.4000 plane waves: 1387 - k-point ** : 0.4000 0.4000 0.4000 plane waves: 1387 - k-point ** : 0.4667 0.4000 0.4000 plane waves: 1393 - k-point ** : 0.0000 0.4667 0.4000 plane waves: 1391 - k-point ** : 0.0667 0.4667 0.4000 plane waves: 1384 - k-point ** : 0.1333 0.4667 0.4000 plane waves: 1382 - k-point ** : 0.2000 0.4667 0.4000 plane waves: 1388 - k-point ** : 0.2667 0.4667 0.4000 plane waves: 1388 - k-point ** : 0.3333 0.4667 0.4000 plane waves: 1382 - k-point ** : 0.4000 0.4667 0.4000 plane waves: 1388 - k-point ** : 0.4667 0.4667 0.4000 plane waves: 1390 - k-point ** : 0.0000 0.0000 0.4667 plane waves: 1394 - k-point ** : 0.0667 0.0000 0.4667 plane waves: 1378 - k-point ** : 0.1333 0.0000 0.4667 plane waves: 1374 - k-point ** : 0.2000 0.0000 0.4667 plane waves: 1371 - k-point ** : 0.2667 0.0000 0.4667 plane waves: 1369 - k-point ** : 0.3333 0.0000 0.4667 plane waves: 1371 - k-point ** : 0.4000 0.0000 0.4667 plane waves: 1373 - k-point ** : 0.4667 0.0000 0.4667 plane waves: 1372 - k-point ** : 0.0000 0.0667 0.4667 plane waves: 1381 - k-point ** : 0.0667 0.0667 0.4667 plane waves: 1381 - k-point ** : 0.1333 0.0667 0.4667 plane waves: 1371 - k-point ** : 0.2000 0.0667 0.4667 plane waves: 1375 - k-point ** : 0.2667 0.0667 0.4667 plane waves: 1371 - k-point ** : 0.3333 0.0667 0.4667 plane waves: 1372 - k-point ** : 0.4000 0.0667 0.4667 plane waves: 1373 - k-point ** : 0.4667 0.0667 0.4667 plane waves: 1368 - k-point ** : 0.0000 0.1333 0.4667 plane waves: 1392 - k-point ** : 0.0667 0.1333 0.4667 plane waves: 1383 - k-point ** : 0.1333 0.1333 0.4667 plane waves: 1374 - k-point ** : 0.2000 0.1333 0.4667 plane waves: 1376 - k-point ** : 0.2667 0.1333 0.4667 plane waves: 1375 - k-point ** : 0.3333 0.1333 0.4667 plane waves: 1378 - k-point ** : 0.4000 0.1333 0.4667 plane waves: 1378 - k-point ** : 0.4667 0.1333 0.4667 plane waves: 1377 - k-point ** : 0.0000 0.2000 0.4667 plane waves: 1398 - k-point ** : 0.0667 0.2000 0.4667 plane waves: 1394 - k-point ** : 0.1333 0.2000 0.4667 plane waves: 1384 - k-point ** : 0.2000 0.2000 0.4667 plane waves: 1376 - k-point ** : 0.2667 0.2000 0.4667 plane waves: 1377 - k-point ** : 0.3333 0.2000 0.4667 plane waves: 1380 - k-point ** : 0.4000 0.2000 0.4667 plane waves: 1380 - k-point ** : 0.4667 0.2000 0.4667 plane waves: 1381 - k-point ** : 0.0000 0.2667 0.4667 plane waves: 1386 - k-point ** : 0.0667 0.2667 0.4667 plane waves: 1391 - k-point ** : 0.1333 0.2667 0.4667 plane waves: 1383 - k-point ** : 0.2000 0.2667 0.4667 plane waves: 1385 - k-point ** : 0.2667 0.2667 0.4667 plane waves: 1382 - k-point ** : 0.3333 0.2667 0.4667 plane waves: 1381 - k-point ** : 0.4000 0.2667 0.4667 plane waves: 1387 - k-point ** : 0.4667 0.2667 0.4667 plane waves: 1390 - k-point ** : 0.0000 0.3333 0.4667 plane waves: 1386 - k-point ** : 0.0667 0.3333 0.4667 plane waves: 1382 - k-point ** : 0.1333 0.3333 0.4667 plane waves: 1378 - k-point ** : 0.2000 0.3333 0.4667 plane waves: 1385 - k-point ** : 0.2667 0.3333 0.4667 plane waves: 1386 - k-point ** : 0.3333 0.3333 0.4667 plane waves: 1386 - k-point ** : 0.4000 0.3333 0.4667 plane waves: 1389 - k-point ** : 0.4667 0.3333 0.4667 plane waves: 1392 - k-point ** : 0.0000 0.4000 0.4667 plane waves: 1387 - k-point ** : 0.0667 0.4000 0.4667 plane waves: 1390 - k-point ** : 0.1333 0.4000 0.4667 plane waves: 1383 - k-point ** : 0.2000 0.4000 0.4667 plane waves: 1378 - k-point ** : 0.2667 0.4000 0.4667 plane waves: 1382 - k-point ** : 0.3333 0.4000 0.4667 plane waves: 1385 - k-point ** : 0.4000 0.4000 0.4667 plane waves: 1389 - k-point ** : 0.4667 0.4000 0.4667 plane waves: 1393 - k-point ** : 0.0000 0.4667 0.4667 plane waves: 1380 - k-point ** : 0.0667 0.4667 0.4667 plane waves: 1390 - k-point ** : 0.1333 0.4667 0.4667 plane waves: 1386 - k-point ** : 0.2000 0.4667 0.4667 plane waves: 1386 - k-point ** : 0.2667 0.4667 0.4667 plane waves: 1381 - k-point ** : 0.3333 0.4667 0.4667 plane waves: 1383 - k-point ** : 0.4000 0.4667 0.4667 plane waves: 1388 - k-point ** : 0.4667 0.4667 0.4667 plane waves: 1390 - - maximum and minimum number of plane-waves per node : 1401 1362 - - maximum number of plane-waves: 1401 - maximum index in each direction: - IXMAX= 7 IYMAX= 7 IZMAX= 6 - IXMIN= -7 IYMIN= -7 IZMIN= -6 - - - serial 3D FFT for wavefunctions - parallel 3D FFT for charge: - minimum data exchange during FFTs selected (reduces bandwidth) - - - total amount of memory used by VASP MPI-rank0 355020. kBytes -======================================================================= - - base : 30000. kBytes - nonl-proj : 299130. kBytes - fftplans : 441. kBytes - grid : 1138. kBytes - one-center: 129. kBytes - wavefun : 24182. kBytes - - INWAV: cpu time 0.0001: real time 0.0007 - Broyden mixing: mesh for mixing (old mesh) - NGX = 15 NGY = 15 NGZ = 13 - (NGX = 48 NGY = 48 NGZ = 40) - gives a total of 2925 points - - initial charge density was supplied: - charge density of overlapping atoms calculated - number of electron 26.0000000 magnetization - keeping initial charge density in first step - - --------------------------------------------------------------------------------------------------------- - - - Maximum index for augmentation-charges 1294 (set IRDMAX) - - --------------------------------------------------------------------------------------------------------- - - - First call to EWALD: gamma= 0.512 - Maximum number of real-space cells 3x 3x 3 - Maximum number of reciprocal cells 3x 3x 3 - - FEWALD: cpu time 0.0014: real time 0.0014 - - ---------------------------------------- Iteration 1( 1) --------------------------------------- - - - POTLOK: cpu time 0.0000: real time 0.0186 - SETDIJ: cpu time 0.0023: real time 0.0038 - EDDIAG: cpu time 0.8664: real time 0.8695 - RMM-DIIS: cpu time 0.9891: real time 0.9915 - ORTHCH: cpu time 0.0915: real time 0.0917 - DOS: cpu time 0.0040: real time 0.0040 - -------------------------------------------- - LOOP: cpu time 1.9534: real time 1.9792 - - eigenvalue-minimisations : 9216 - total energy-change (2. order) :-0.5752413E+03 (-0.2415436E+04) - number of electron 26.0000000 magnetization - augmentation part 26.0000000 magnetization - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -527.41646070 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 35.33916255 - PAW double counting = 1941.62980019 -1939.43826086 - entropy T*S EENTRO = -0.00530052 - eigenvalues EBANDS = -1293.52360327 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -575.24128006 eV - - energy without entropy = -575.23597954 energy(sigma->0) = -575.23862980 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 2) --------------------------------------- - - - EDDIAG: cpu time 0.8612: real time 0.9058 - RMM-DIIS: cpu time 1.0247: real time 1.0272 - ORTHCH: cpu time 0.0935: real time 0.0937 - DOS: cpu time 0.0037: real time 0.0037 - -------------------------------------------- - LOOP: cpu time 1.9831: real time 2.0305 - - eigenvalue-minimisations : 9216 - total energy-change (2. order) : 0.6776269E+03 (-0.4029736E+03) - number of electron 26.0000000 magnetization - augmentation part 26.0000000 magnetization - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -527.41646070 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 35.33916255 - PAW double counting = 1941.62980019 -1939.43826086 - entropy T*S EENTRO = -0.00481541 - eigenvalues EBANDS = -615.89714414 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = 102.38566418 eV - - energy without entropy = 102.39047960 energy(sigma->0) = 102.38807189 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 3) --------------------------------------- - - - EDDIAG: cpu time 0.8578: real time 0.8850 - RMM-DIIS: cpu time 0.9854: real time 0.9876 - ORTHCH: cpu time 0.0927: real time 0.0950 - DOS: cpu time 0.0039: real time 0.0038 - -------------------------------------------- - LOOP: cpu time 1.9398: real time 1.9715 - - eigenvalue-minimisations : 9216 - total energy-change (2. order) :-0.1313635E+03 (-0.1511722E+03) - number of electron 26.0000000 magnetization - augmentation part 26.0000000 magnetization - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -527.41646070 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 35.33916255 - PAW double counting = 1941.62980019 -1939.43826086 - entropy T*S EENTRO = -0.00684255 - eigenvalues EBANDS = -747.25860832 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -28.97782713 eV - - energy without entropy = -28.97098459 energy(sigma->0) = -28.97440586 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 4) --------------------------------------- - - - EDDIAG: cpu time 0.8663: real time 0.8792 - RMM-DIIS: cpu time 2.9235: real time 2.9296 - ORTHCH: cpu time 0.0974: real time 0.0994 - DOS: cpu time 0.0037: real time 0.0037 - -------------------------------------------- - LOOP: cpu time 3.8909: real time 3.9119 - - eigenvalue-minimisations : 29178 - total energy-change (2. order) :-0.2071636E+02 (-0.8645846E+02) - number of electron 26.0000000 magnetization - augmentation part 26.0000000 magnetization - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -527.41646070 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 35.33916255 - PAW double counting = 1941.62980019 -1939.43826086 - entropy T*S EENTRO = -0.00577549 - eigenvalues EBANDS = -767.97603184 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -49.69418359 eV - - energy without entropy = -49.68840810 energy(sigma->0) = -49.69129585 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 5) --------------------------------------- - - - EDDIAG: cpu time 0.8588: real time 0.8713 - RMM-DIIS: cpu time 3.2869: real time 3.2931 - ORTHCH: cpu time 0.0916: real time 0.0917 - DOS: cpu time 0.0037: real time 0.0037 - CHARGE: cpu time 0.2189: real time 0.2195 - MIXING: cpu time 0.0004: real time 0.0004 - -------------------------------------------- - LOOP: cpu time 4.4603: real time 4.4798 - - eigenvalue-minimisations : 32343 - total energy-change (2. order) :-0.2221706E+01 (-0.1791219E+02) - number of electron 26.0000010 magnetization - augmentation part 1.7185645 magnetization - - Broyden mixing: - rms(total) = 0.99154E+01 rms(broyden)= 0.99154E+01 - rms(prec ) = 0.10501E+02 - weight for this iteration 100.00 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -527.41646070 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 35.33916255 - PAW double counting = 1941.62980019 -1939.43826086 - entropy T*S EENTRO = -0.00286525 - eigenvalues EBANDS = -770.20064788 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -51.91588940 eV - - energy without entropy = -51.91302415 energy(sigma->0) = -51.91445678 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 6) --------------------------------------- - - - POTLOK: cpu time 0.0063: real time 0.0063 - SETDIJ: cpu time 0.0030: real time 0.0030 - EDDIAG: cpu time 0.8572: real time 0.8594 - RMM-DIIS: cpu time 3.1432: real time 3.1501 - ORTHCH: cpu time 0.0945: real time 0.0962 - DOS: cpu time 0.0037: real time 0.0037 - CHARGE: cpu time 0.2174: real time 0.2178 - MIXING: cpu time 0.0010: real time 0.0005 - -------------------------------------------- - LOOP: cpu time 4.3263: real time 4.3370 - - eigenvalue-minimisations : 32157 - total energy-change (2. order) : 0.3557072E+01 (-0.5126209E+01) - number of electron 26.0000010 magnetization - augmentation part 1.7344693 magnetization - - Broyden mixing: - rms(total) = 0.63965E+01 rms(broyden)= 0.63965E+01 - rms(prec ) = 0.64289E+01 - weight for this iteration 100.00 - - eigenvalues of (default mixing * dielectric matrix) - average eigenvalue GAMMA= 2.3193 - 2.3193 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -478.34595767 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.69314398 - PAW double counting = 2583.11263522 -2584.59837190 - entropy T*S EENTRO = -0.00315334 - eigenvalues EBANDS = -810.39049628 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.35881744 eV - - energy without entropy = -48.35566410 energy(sigma->0) = -48.35724077 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 7) --------------------------------------- - - - POTLOK: cpu time 0.0086: real time 0.0151 - SETDIJ: cpu time 0.0028: real time 0.0028 - EDDIAG: cpu time 0.8614: real time 0.8634 - RMM-DIIS: cpu time 3.0067: real time 3.0125 - ORTHCH: cpu time 0.0904: real time 0.0906 - DOS: cpu time 0.0038: real time 0.0038 - CHARGE: cpu time 0.2174: real time 0.2189 - MIXING: cpu time 0.0004: real time 0.0004 - -------------------------------------------- - LOOP: cpu time 4.1915: real time 4.2075 - - eigenvalue-minimisations : 31891 - total energy-change (2. order) :-0.1869340E+00 (-0.1169757E+01) - number of electron 26.0000010 magnetization - augmentation part 1.7769450 magnetization - - Broyden mixing: - rms(total) = 0.10740E+01 rms(broyden)= 0.10740E+01 - rms(prec ) = 0.13069E+01 - weight for this iteration 100.00 - - eigenvalues of (default mixing * dielectric matrix) - average eigenvalue GAMMA= 1.5887 - 1.0277 2.1498 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -468.77317788 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.19468253 - PAW double counting = 3317.64592811 -3318.50891194 - entropy T*S EENTRO = -0.00279364 - eigenvalues EBANDS = -820.27486120 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.54575148 eV - - energy without entropy = -48.54295784 energy(sigma->0) = -48.54435466 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 8) --------------------------------------- - - - POTLOK: cpu time 0.0061: real time 0.0062 - SETDIJ: cpu time 0.0027: real time 0.0027 - EDDIAG: cpu time 0.8569: real time 0.8592 - RMM-DIIS: cpu time 3.1012: real time 3.1079 - ORTHCH: cpu time 0.0908: real time 0.0928 - DOS: cpu time 0.0038: real time 0.0038 - CHARGE: cpu time 0.2182: real time 0.2185 - MIXING: cpu time 0.0005: real time 0.0005 - -------------------------------------------- - LOOP: cpu time 4.2803: real time 4.2918 - - eigenvalue-minimisations : 29478 - total energy-change (2. order) : 0.4696527E+00 (-0.1641795E+00) - number of electron 26.0000010 magnetization - augmentation part 1.7495559 magnetization - - Broyden mixing: - rms(total) = 0.94387E+00 rms(broyden)= 0.94387E+00 - rms(prec ) = 0.94566E+00 - weight for this iteration 100.00 - - eigenvalues of (default mixing * dielectric matrix) - average eigenvalue GAMMA= 1.7834 - 1.5400 1.9052 1.9052 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -481.10425992 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.50004761 - PAW double counting = 3311.78596750 -3311.19575724 - entropy T*S EENTRO = -0.00267424 - eigenvalues EBANDS = -809.23280508 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.07609882 eV - - energy without entropy = -48.07342458 energy(sigma->0) = -48.07476170 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 9) --------------------------------------- - - - POTLOK: cpu time 0.0065: real time 0.0165 - SETDIJ: cpu time 0.0029: real time 0.0029 - EDDIAG: cpu time 0.8609: real time 0.8633 - RMM-DIIS: cpu time 2.9123: real time 2.9192 - ORTHCH: cpu time 0.0968: real time 0.0971 - DOS: cpu time 0.0038: real time 0.0038 - CHARGE: cpu time 0.2174: real time 0.2179 - MIXING: cpu time 0.0005: real time 0.0005 - -------------------------------------------- - LOOP: cpu time 4.1010: real time 4.1212 - - eigenvalue-minimisations : 31189 - total energy-change (2. order) :-0.4703762E-01 (-0.5300665E-01) - number of electron 26.0000010 magnetization - augmentation part 1.7619850 magnetization - - Broyden mixing: - rms(total) = 0.37364E+00 rms(broyden)= 0.37364E+00 - rms(prec ) = 0.50262E+00 - weight for this iteration 100.00 - - eigenvalues of (default mixing * dielectric matrix) - average eigenvalue GAMMA= 1.8041 - 2.5350 2.5350 1.0732 1.0732 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -476.54735144 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.37995814 - PAW double counting = 3192.69887022 -3192.42542193 - entropy T*S EENTRO = -0.00286656 - eigenvalues EBANDS = -813.39970742 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.12313644 eV - - energy without entropy = -48.12026988 energy(sigma->0) = -48.12170316 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 10) --------------------------------------- - - - POTLOK: cpu time 0.0062: real time 0.0062 - SETDIJ: cpu time 0.0027: real time 0.0027 - EDDIAG: cpu time 0.8582: real time 0.8613 - RMM-DIIS: cpu time 3.1267: real time 3.1349 - ORTHCH: cpu time 0.0904: real time 0.0905 - DOS: cpu time 0.0037: real time 0.0037 - CHARGE: cpu time 0.2194: real time 0.2197 - MIXING: cpu time 0.0020: real time 0.0015 - -------------------------------------------- - LOOP: cpu time 4.3092: real time 4.3205 - - eigenvalue-minimisations : 29390 - total energy-change (2. order) : 0.2966125E-01 (-0.4742700E-01) - number of electron 26.0000010 magnetization - augmentation part 1.7423041 magnetization - - Broyden mixing: - rms(total) = 0.31849E+00 rms(broyden)= 0.31849E+00 - rms(prec ) = 0.35866E+00 - weight for this iteration 100.00 - - eigenvalues of (default mixing * dielectric matrix) - average eigenvalue GAMMA= 1.5899 - 2.6842 1.6840 1.6840 1.0048 0.8926 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -482.81360439 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.53890578 - PAW double counting = 3121.35646553 -3120.29858400 - entropy T*S EENTRO = -0.00297373 - eigenvalues EBANDS = -808.04706694 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.09347519 eV - - energy without entropy = -48.09050147 energy(sigma->0) = -48.09198833 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 11) --------------------------------------- - - - POTLOK: cpu time 0.0050: real time 0.0156 - SETDIJ: cpu time 0.0028: real time 0.0028 - EDDIAG: cpu time 0.8582: real time 0.8607 -WARNING in EDDRMM: call to ZHEGV failed, returncode = 8 4 2 - RMM-DIIS: cpu time 3.6274: real time 3.6355 - ORTHCH: cpu time 0.0911: real time 0.0912 - DOS: cpu time 0.0038: real time 0.0038 - CHARGE: cpu time 0.2177: real time 0.2182 - MIXING: cpu time 0.0005: real time 0.0005 - -------------------------------------------- - LOOP: cpu time 4.8065: real time 4.8283 - - eigenvalue-minimisations : 29737 - total energy-change (2. order) : 0.2156037E-01 (-0.5977483E-02) - number of electron 26.0000010 magnetization - augmentation part 1.7466636 magnetization - - Broyden mixing: - rms(total) = 0.53781E-01 rms(broyden)= 0.53781E-01 - rms(prec ) = 0.62072E-01 - weight for this iteration 100.00 - - eigenvalues of (default mixing * dielectric matrix) - average eigenvalue GAMMA= 1.3891 - 2.6733 1.7034 1.7034 1.0132 0.8845 0.3572 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -480.78216452 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.47821903 - PAW double counting = 3189.30069522 -3188.42317580 - entropy T*S EENTRO = -0.00299710 - eigenvalues EBANDS = -809.81587419 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.07191482 eV - - energy without entropy = -48.06891772 energy(sigma->0) = -48.07041627 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 12) --------------------------------------- - - - POTLOK: cpu time 0.0062: real time 0.0062 - SETDIJ: cpu time 0.0028: real time 0.0028 - EDDIAG: cpu time 0.8529: real time 0.8567 -WARNING in EDDRMM: call to ZHEGV failed, returncode = 8 4 2 - RMM-DIIS: cpu time 3.4862: real time 3.4923 - ORTHCH: cpu time 0.0915: real time 0.0917 - DOS: cpu time 0.0037: real time 0.0037 - CHARGE: cpu time 0.2184: real time 0.2187 - MIXING: cpu time 0.0006: real time 0.0006 - -------------------------------------------- - LOOP: cpu time 4.6622: real time 4.6726 - - eigenvalue-minimisations : 30551 - total energy-change (2. order) : 0.8869093E-03 (-0.8814040E-03) - number of electron 26.0000010 magnetization - augmentation part 1.7475456 magnetization - - Broyden mixing: - rms(total) = 0.17327E-01 rms(broyden)= 0.17326E-01 - rms(prec ) = 0.19640E-01 - weight for this iteration 100.00 - - eigenvalues of (default mixing * dielectric matrix) - average eigenvalue GAMMA= 1.3147 - 2.6706 1.6701 1.6701 1.0021 0.9039 0.6430 0.6430 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -480.57803071 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.47228286 - PAW double counting = 3197.70507194 -3196.84324057 - entropy T*S EENTRO = -0.00301416 - eigenvalues EBANDS = -809.99747983 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.07102791 eV - - energy without entropy = -48.06801376 energy(sigma->0) = -48.06952083 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 13) --------------------------------------- - - - POTLOK: cpu time 0.0063: real time 0.0063 - SETDIJ: cpu time 0.0028: real time 0.0028 - EDDIAG: cpu time 0.8539: real time 0.8558 - RMM-DIIS: cpu time 3.3017: real time 3.3099 - ORTHCH: cpu time 0.0903: real time 0.0905 - DOS: cpu time 0.0037: real time 0.0037 - CHARGE: cpu time 0.2175: real time 0.2177 - MIXING: cpu time 0.0006: real time 0.0005 - -------------------------------------------- - LOOP: cpu time 4.4767: real time 4.4872 - - eigenvalue-minimisations : 27907 - total energy-change (2. order) :-0.1094469E-03 (-0.1819417E-03) - number of electron 26.0000010 magnetization - augmentation part 1.7473309 magnetization - - Broyden mixing: - rms(total) = 0.41060E-01 rms(broyden)= 0.41060E-01 - rms(prec ) = 0.43597E-01 - weight for this iteration 100.00 - - eigenvalues of (default mixing * dielectric matrix) - average eigenvalue GAMMA= 1.5889 - 2.6762 2.6235 1.8063 1.8063 1.0829 1.0829 0.8167 0.8167 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -480.71544123 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.47703876 - PAW double counting = 3194.30045733 -3193.42429176 - entropy T*S EENTRO = -0.00304443 - eigenvalues EBANDS = -809.87923859 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.07113736 eV - - energy without entropy = -48.06809293 energy(sigma->0) = -48.06961515 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 14) --------------------------------------- - - - POTLOK: cpu time 0.0064: real time 0.0152 - SETDIJ: cpu time 0.0027: real time 0.0027 - EDDIAG: cpu time 0.8625: real time 0.8642 - RMM-DIIS: cpu time 3.4730: real time 3.4807 - ORTHCH: cpu time 0.0958: real time 0.0960 - DOS: cpu time 0.0033: real time 0.0033 - CHARGE: cpu time 0.2181: real time 0.2185 - MIXING: cpu time 0.0006: real time 0.0006 - -------------------------------------------- - LOOP: cpu time 4.6625: real time 4.6814 - - eigenvalue-minimisations : 28867 - total energy-change (2. order) :-0.4802788E-04 (-0.5334102E-04) - number of electron 26.0000010 magnetization - augmentation part 1.7471770 magnetization - - Broyden mixing: - rms(total) = 0.11318E-01 rms(broyden)= 0.11318E-01 - rms(prec ) = 0.20045E-01 - weight for this iteration 100.00 - - eigenvalues of (default mixing * dielectric matrix) - average eigenvalue GAMMA= 1.4879 - 2.6297 2.6297 1.6936 1.3132 1.1879 1.1879 0.9918 0.8785 0.8785 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -480.78948024 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.47969724 - PAW double counting = 3200.45165620 -3199.56117304 - entropy T*S EENTRO = -0.00304439 - eigenvalues EBANDS = -809.82222371 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.07118539 eV - - energy without entropy = -48.06814100 energy(sigma->0) = -48.06966319 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 15) --------------------------------------- - - - POTLOK: cpu time 0.0062: real time 0.0062 - SETDIJ: cpu time 0.0028: real time 0.0028 - EDDIAG: cpu time 0.8568: real time 0.8614 - RMM-DIIS: cpu time 3.2087: real time 3.2162 - ORTHCH: cpu time 0.0943: real time 0.0959 - DOS: cpu time 0.0037: real time 0.0037 - CHARGE: cpu time 0.2176: real time 0.2180 - MIXING: cpu time 0.0006: real time 0.0006 - -------------------------------------------- - LOOP: cpu time 4.3907: real time 4.4048 - - eigenvalue-minimisations : 27375 - total energy-change (2. order) : 0.7992486E-04 (-0.8025044E-04) - number of electron 26.0000010 magnetization - augmentation part 1.7478758 magnetization - - Broyden mixing: - rms(total) = 0.46851E-02 rms(broyden)= 0.46851E-02 - rms(prec ) = 0.51870E-02 - weight for this iteration 100.00 - - eigenvalues of (default mixing * dielectric matrix) - average eigenvalue GAMMA= 1.3579 - 2.7839 2.5249 1.4729 1.4729 1.1537 1.1537 0.9594 0.9133 0.9133 0.2310 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -480.57031732 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.47337481 - PAW double counting = 3205.37333857 -3204.50053139 - entropy T*S EENTRO = -0.00305052 - eigenvalues EBANDS = -810.01730217 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.07110546 eV - - energy without entropy = -48.06805494 energy(sigma->0) = -48.06958020 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 16) --------------------------------------- - - - POTLOK: cpu time 0.0062: real time 0.0169 - SETDIJ: cpu time 0.0029: real time 0.0029 - EDDIAG: cpu time 0.8529: real time 0.8553 - RMM-DIIS: cpu time 2.8952: real time 2.9013 - ORTHCH: cpu time 0.0905: real time 0.0907 - DOS: cpu time 0.0037: real time 0.0037 - CHARGE: cpu time 0.2153: real time 0.2156 - MIXING: cpu time 0.0008: real time 0.0008 - -------------------------------------------- - LOOP: cpu time 4.0684: real time 4.0872 - - eigenvalue-minimisations : 26944 - total energy-change (2. order) : 0.6773008E-05 (-0.9673818E-05) - number of electron 26.0000010 magnetization - augmentation part 1.7479216 magnetization - - Broyden mixing: - rms(total) = 0.39083E-02 rms(broyden)= 0.39083E-02 - rms(prec ) = 0.48812E-02 - weight for this iteration 100.00 - - eigenvalues of (default mixing * dielectric matrix) - average eigenvalue GAMMA= 1.3253 - 2.8948 2.4553 1.5944 1.2157 1.2157 1.0656 1.0656 0.9218 0.9218 0.6138 - 0.6138 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -480.57208370 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.47337122 - PAW double counting = 3205.24324251 -3204.37022275 - entropy T*S EENTRO = -0.00304889 - eigenvalues EBANDS = -810.01573963 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.07109869 eV - - energy without entropy = -48.06804980 energy(sigma->0) = -48.06957425 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 17) --------------------------------------- - - - POTLOK: cpu time 0.0061: real time 0.0061 - SETDIJ: cpu time 0.0027: real time 0.0027 - EDDIAG: cpu time 0.8539: real time 0.8561 - RMM-DIIS: cpu time 2.4896: real time 2.4948 - ORTHCH: cpu time 0.0919: real time 0.0936 - DOS: cpu time 0.0037: real time 0.0037 - CHARGE: cpu time 0.2152: real time 0.2157 - MIXING: cpu time 0.0007: real time 0.0007 - -------------------------------------------- - LOOP: cpu time 3.6630: real time 3.6735 - - eigenvalue-minimisations : 21111 - total energy-change (2. order) :-0.1378648E-06 (-0.3109433E-05) - number of electron 26.0000010 magnetization - augmentation part 1.7479123 magnetization - - Broyden mixing: - rms(total) = 0.28181E-02 rms(broyden)= 0.28181E-02 - rms(prec ) = 0.39149E-02 - weight for this iteration 100.00 - - eigenvalues of (default mixing * dielectric matrix) - average eigenvalue GAMMA= 1.4710 - 2.9079 2.2924 2.2924 1.6621 1.6621 1.2410 1.2410 0.9431 0.9431 0.9557 - 0.9062 0.6049 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -480.57833821 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.47347056 - PAW double counting = 3205.16062297 -3204.28612410 - entropy T*S EENTRO = -0.00305011 - eigenvalues EBANDS = -810.01106249 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.07109883 eV - - energy without entropy = -48.06804872 energy(sigma->0) = -48.06957377 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 18) --------------------------------------- - - - POTLOK: cpu time 0.0113: real time 0.0161 - SETDIJ: cpu time 0.0028: real time 0.0028 - EDDIAG: cpu time 0.8562: real time 0.8582 - RMM-DIIS: cpu time 3.0636: real time 3.0697 - ORTHCH: cpu time 0.0905: real time 0.0907 - DOS: cpu time 0.0036: real time 0.0037 - CHARGE: cpu time 0.2153: real time 0.2157 - MIXING: cpu time 0.0008: real time 0.0008 - -------------------------------------------- - LOOP: cpu time 4.2441: real time 4.2575 - - eigenvalue-minimisations : 25981 - total energy-change (2. order) : 0.2551284E-05 (-0.2256845E-05) - number of electron 26.0000010 magnetization - augmentation part 1.7478071 magnetization - - Broyden mixing: - rms(total) = 0.71135E-03 rms(broyden)= 0.71134E-03 - rms(prec ) = 0.91622E-03 - weight for this iteration 100.00 - - eigenvalues of (default mixing * dielectric matrix) - average eigenvalue GAMMA= 1.4171 - 2.6811 2.5386 1.7609 1.7609 1.7689 1.4591 1.4591 0.8833 0.8833 1.0096 - 0.8463 0.6854 0.6854 - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -480.61644072 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.47429532 - PAW double counting = 3204.55531159 -3203.67482965 - entropy T*S EENTRO = -0.00304973 - eigenvalues EBANDS = -809.97976563 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.07109628 eV - - energy without entropy = -48.06804655 energy(sigma->0) = -48.06957141 - - --------------------------------------------------------------------------------------------------------- - - - - ---------------------------------------- Iteration 1( 19) --------------------------------------- - - - POTLOK: cpu time 0.0061: real time 0.0061 - SETDIJ: cpu time 0.0028: real time 0.0028 - EDDIAG: cpu time 0.8529: real time 0.8552 - RMM-DIIS: cpu time 2.5286: real time 2.5345 - ORTHCH: cpu time 0.0907: real time 0.0909 - DOS: cpu time 0.0037: real time 0.0037 - -------------------------------------------- - LOOP: cpu time 3.4848: real time 3.4932 - - eigenvalue-minimisations : 18928 - total energy-change (2. order) : 0.3110167E-06 (-0.2199411E-06) - number of electron 26.0000010 magnetization - augmentation part 1.7478071 magnetization - - Free energy of the ion-electron system (eV) - --------------------------------------------------- - alpha Z PSCENC = 131.43308500 - Ewald energy TEWEN = -1959.85115532 - -Hartree energ DENC = -480.61520692 - -exchange EXHF = 0.00000000 - -V(xc)+E(xc) XCENC = 33.47431066 - PAW double counting = 3204.45646866 -3203.57677692 - entropy T*S EENTRO = -0.00304986 - eigenvalues EBANDS = -809.98022412 - atomic energy EATOM = 3036.59145287 - Solvation Ediel_sol = 0.00000000 - --------------------------------------------------- - free energy TOTEN = -48.07109596 eV - - energy without entropy = -48.06804610 energy(sigma->0) = -48.06957103 - - --------------------------------------------------------------------------------------------------------- - - - - - average (electrostatic) potential at core - the test charge radii are 0.9757 0.6353 - (the norm of the test charge is 1.0000) - 1 -88.4748 2 -52.0480 3 -52.1785 4 -52.6183 - - - - E-fermi : 7.8828 XC(G=0): -12.0496 alpha+bet :-19.6080 - - - k-point 1 : 0.0000 0.0000 0.0000 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7478 2.00000 - 5 -30.0216 2.00000 - 6 -29.9884 2.00000 - 7 -29.8113 2.00000 - 8 -2.0041 2.00000 - 9 4.4237 2.00000 - 10 4.8277 2.00000 - 11 6.4981 2.00000 - 12 6.9617 2.00000 - 13 8.1586 0.00010 - 14 8.8821 0.00000 - 15 8.9648 0.00000 - 16 9.0855 0.00000 - 17 13.1593 0.00000 - 18 14.6689 0.00000 - - k-point 2 : 0.0667 0.0000 0.0000 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7478 2.00000 - 5 -30.0237 2.00000 - 6 -29.9882 2.00000 - 7 -29.8111 2.00000 - 8 -1.9535 2.00000 - 9 4.3336 2.00000 - 10 4.8001 2.00000 - 11 6.5232 2.00000 - 12 6.7555 2.00000 - 13 8.3862 0.00000 - 14 8.4025 0.00000 - 15 8.9705 0.00000 - 16 9.5855 0.00000 - 17 13.3605 0.00000 - 18 14.6572 0.00000 - - k-point 3 : 0.1333 0.0000 0.0000 - band No. band energies occupation - 1 -91.8814 2.00000 - 2 -91.4262 2.00000 - 3 -91.2911 2.00000 - 4 -65.7477 2.00000 - 5 -30.0297 2.00000 - 6 -29.9877 2.00000 - 7 -29.8105 2.00000 - 8 -1.8058 2.00000 - 9 4.0326 2.00000 - 10 4.7589 2.00000 - 11 6.3613 2.00000 - 12 6.6323 2.00000 - 13 7.8755 1.08202 - 14 8.8446 0.00000 - 15 8.9868 0.00000 - 16 10.1754 0.00000 - 17 14.0117 0.00000 - 18 14.7252 0.00000 - - k-point 4 : 0.2000 0.0000 0.0000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4258 2.00000 - 3 -91.2907 2.00000 - 4 -65.7475 2.00000 - 5 -30.0383 2.00000 - 6 -29.9868 2.00000 - 7 -29.8096 2.00000 - 8 -1.5620 2.00000 - 9 3.5407 2.00000 - 10 4.7314 2.00000 - 11 5.9618 2.00000 - 12 6.8672 2.00000 - 13 7.4063 2.00000 - 14 9.0110 0.00000 - 15 9.3490 0.00000 - 16 10.7563 0.00000 - 17 14.0913 0.00000 - 18 15.1642 0.00000 - - k-point 5 : 0.2667 0.0000 0.0000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7473 2.00000 - 5 -30.0481 2.00000 - 6 -29.9858 2.00000 - 7 -29.8086 2.00000 - 8 -1.2340 2.00000 - 9 2.9354 2.00000 - 10 4.7102 2.00000 - 11 5.6128 2.00000 - 12 7.0130 2.00000 - 13 7.2261 2.00000 - 14 9.0390 0.00000 - 15 9.8394 0.00000 - 16 11.3191 0.00000 - 17 14.0352 0.00000 - 18 15.4144 0.00000 - - k-point 6 : 0.3333 0.0000 0.0000 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7471 2.00000 - 5 -30.0576 2.00000 - 6 -29.9848 2.00000 - 7 -29.8076 2.00000 - 8 -0.8326 2.00000 - 9 2.2914 2.00000 - 10 4.6917 2.00000 - 11 5.3376 2.00000 - 12 6.7081 2.00000 - 13 7.6717 1.99716 - 14 9.0662 0.00000 - 15 10.2804 0.00000 - 16 11.8535 0.00000 - 17 13.4527 0.00000 - 18 14.9300 0.00000 - - k-point 7 : 0.4000 0.0000 0.0000 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7470 2.00000 - 5 -30.0651 2.00000 - 6 -29.9841 2.00000 - 7 -29.8068 2.00000 - 8 -0.3829 2.00000 - 9 1.6674 2.00000 - 10 4.6772 2.00000 - 11 5.1483 2.00000 - 12 6.5003 2.00000 - 13 8.1260 0.00058 - 14 9.0876 0.00000 - 15 10.6305 0.00000 - 16 12.3305 0.00000 - 17 12.9072 0.00000 - 18 15.1709 0.00000 - - k-point 8 : 0.4667 0.0000 0.0000 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4260 2.00000 - 3 -91.2910 2.00000 - 4 -65.7470 2.00000 - 5 -30.0692 2.00000 - 6 -29.9837 2.00000 - 7 -29.8064 2.00000 - 8 0.0259 2.00000 - 9 1.1640 2.00000 - 10 4.6691 2.00000 - 11 5.0521 2.00000 - 12 6.3951 2.00000 - 13 8.4419 0.00000 - 14 9.0994 0.00000 - 15 10.8329 0.00000 - 16 12.5866 0.00000 - 17 12.7497 0.00000 - 18 15.0542 0.00000 - - k-point 9 : 0.0000 0.0667 0.0000 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7478 2.00000 - 5 -30.0213 2.00000 - 6 -29.9915 2.00000 - 7 -29.8110 2.00000 - 8 -1.9529 2.00000 - 9 4.3901 2.00000 - 10 4.7755 2.00000 - 11 6.3415 2.00000 - 12 6.9388 2.00000 - 13 8.3265 0.00000 - 14 8.4311 0.00000 - 15 8.8898 0.00000 - 16 9.6264 0.00000 - 17 13.5937 0.00000 - 18 14.7192 0.00000 - - k-point 10 : 0.0667 0.0667 0.0000 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4256 2.00000 - 3 -91.2905 2.00000 - 4 -65.7477 2.00000 - 5 -30.0234 2.00000 - 6 -29.9912 2.00000 - 7 -29.8108 2.00000 - 8 -1.9023 2.00000 - 9 4.3246 2.00000 - 10 4.7293 2.00000 - 11 6.2087 2.00000 - 12 6.9819 2.00000 - 13 8.2546 0.00000 - 14 8.4565 0.00000 - 15 8.8007 0.00000 - 16 9.9214 0.00000 - 17 13.6485 0.00000 - 18 14.6504 0.00000 - - k-point 11 : 0.1333 0.0667 0.0000 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7476 2.00000 - 5 -30.0294 2.00000 - 6 -29.9906 2.00000 - 7 -29.8102 2.00000 - 8 -1.7528 2.00000 - 9 4.0516 2.00000 - 10 4.6663 2.00000 - 11 5.9785 2.00000 - 12 7.0276 2.00000 - 13 7.8427 1.42889 - 14 8.7719 0.00000 - 15 8.8056 0.00000 - 16 10.4508 0.00000 - 17 14.3989 0.00000 - 18 15.1127 0.00000 - - k-point 12 : 0.2000 0.0667 0.0000 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7474 2.00000 - 5 -30.0379 2.00000 - 6 -29.9898 2.00000 - 7 -29.8093 2.00000 - 8 -1.5097 2.00000 - 9 3.5587 2.00000 - 10 4.6450 2.00000 - 11 5.7408 2.00000 - 12 7.1387 2.00000 - 13 7.4085 2.00000 - 14 8.7921 0.00000 - 15 9.2640 0.00000 - 16 11.0130 0.00000 - 17 14.0760 0.00000 - 18 15.2142 0.00000 - - k-point 13 : 0.2667 0.0667 0.0000 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4252 2.00000 - 3 -91.2903 2.00000 - 4 -65.7472 2.00000 - 5 -30.0478 2.00000 - 6 -29.9888 2.00000 - 7 -29.8083 2.00000 - 8 -1.1815 2.00000 - 9 2.9494 2.00000 - 10 4.6412 2.00000 - 11 5.4944 2.00000 - 12 7.0285 2.00000 - 13 7.3926 2.00000 - 14 8.8271 0.00000 - 15 9.7408 0.00000 - 16 11.5692 0.00000 - 17 13.8620 0.00000 - 18 14.8771 0.00000 - - k-point 14 : 0.3333 0.0667 0.0000 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7471 2.00000 - 5 -30.0573 2.00000 - 6 -29.9878 2.00000 - 7 -29.8073 2.00000 - 8 -0.7815 2.00000 - 9 2.3062 2.00000 - 10 4.6436 2.00000 - 11 5.2669 2.00000 - 12 6.7293 2.00000 - 13 7.7653 1.90327 - 14 8.8638 0.00000 - 15 10.1806 0.00000 - 16 12.1051 0.00000 - 17 13.3952 0.00000 - 18 14.8765 0.00000 - - k-point 15 : 0.4000 0.0667 0.0000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7470 2.00000 - 5 -30.0648 2.00000 - 6 -29.9871 2.00000 - 7 -29.8065 2.00000 - 8 -0.3310 2.00000 - 9 1.6815 2.00000 - 10 4.6514 2.00000 - 11 5.0908 2.00000 - 12 6.5240 2.00000 - 13 8.1695 0.00005 - 14 8.8934 0.00000 - 15 10.5364 0.00000 - 16 12.5997 0.00000 - 17 12.8998 0.00000 - 18 15.5154 0.00000 - - k-point 16 : 0.4667 0.0667 0.0000 - band No. band energies occupation - 1 -91.8813 2.00000 - 2 -91.4263 2.00000 - 3 -91.2913 2.00000 - 4 -65.7469 2.00000 - 5 -30.0689 2.00000 - 6 -29.9867 2.00000 - 7 -29.8062 2.00000 - 8 0.0847 2.00000 - 9 1.1741 2.00000 - 10 4.6613 2.00000 - 11 4.9916 2.00000 - 12 6.4197 2.00000 - 13 8.4555 0.00000 - 14 8.9099 0.00000 - 15 10.7473 0.00000 - 16 12.4480 0.00000 - 17 12.9600 0.00000 - 18 14.8774 0.00000 - - k-point 17 : 0.0000 0.1333 0.0000 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7476 2.00000 - 5 -30.0204 2.00000 - 6 -29.9998 2.00000 - 7 -29.8102 2.00000 - 8 -1.7946 2.00000 - 9 4.2094 2.00000 - 10 4.6772 2.00000 - 11 5.9995 2.00000 - 12 6.9517 2.00000 - 13 7.8739 1.09960 - 14 8.7041 0.00000 - 15 8.9110 0.00000 - 16 10.2112 0.00000 - 17 14.2659 0.00000 - 18 14.8795 0.00000 - - k-point 18 : 0.0667 0.1333 0.0000 - band No. band energies occupation - 1 -91.8814 2.00000 - 2 -91.4263 2.00000 - 3 -91.2912 2.00000 - 4 -65.7476 2.00000 - 5 -30.0226 2.00000 - 6 -29.9996 2.00000 - 7 -29.8099 2.00000 - 8 -1.7450 2.00000 - 9 4.2129 2.00000 - 10 4.5661 2.00000 - 11 5.8355 2.00000 - 12 7.1501 2.00000 - 13 7.8382 1.47145 - 14 8.7026 0.00000 - 15 8.7336 0.00000 - 16 10.4623 0.00000 - 17 13.8631 0.00000 - 18 14.8598 0.00000 - - k-point 19 : 0.1333 0.1333 0.0000 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7475 2.00000 - 5 -30.0285 2.00000 - 6 -29.9991 2.00000 - 7 -29.8093 2.00000 - 8 -1.5968 2.00000 - 9 4.0989 2.00000 - 10 4.3522 2.00000 - 11 5.6129 2.00000 - 12 7.4328 2.00000 - 13 7.6870 1.99438 - 14 8.4839 0.00000 - 15 8.7940 0.00000 - 16 10.9754 0.00000 - 17 14.1029 0.00000 - 18 15.2039 0.00000 - - k-point 20 : 0.2000 0.1333 0.0000 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7473 2.00000 - 5 -30.0371 2.00000 - 6 -29.9982 2.00000 - 7 -29.8084 2.00000 - 8 -1.3533 2.00000 - 9 3.5980 2.00000 - 10 4.3620 2.00000 - 11 5.4512 2.00000 - 12 7.3952 2.00000 - 13 7.5979 1.99994 - 14 8.3845 0.00000 - 15 9.0910 0.00000 - 16 11.5502 0.00000 - 17 14.7238 0.00000 - 18 15.9954 0.00000 - - k-point 21 : 0.2667 0.1333 0.0000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7471 2.00000 - 5 -30.0470 2.00000 - 6 -29.9972 2.00000 - 7 -29.8074 2.00000 - 8 -1.0273 2.00000 - 9 2.9802 2.00000 - 10 4.4181 2.00000 - 11 5.2968 2.00000 - 12 7.0683 2.00000 - 13 7.7534 1.93270 - 14 8.3858 0.00000 - 15 9.5100 0.00000 - 16 12.1157 0.00000 - 17 13.7017 0.00000 - 18 16.0755 0.00000 - - k-point 22 : 0.3333 0.1333 0.0000 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4260 2.00000 - 3 -91.2911 2.00000 - 4 -65.7470 2.00000 - 5 -30.0566 2.00000 - 6 -29.9963 2.00000 - 7 -29.8065 2.00000 - 8 -0.6301 2.00000 - 9 2.3392 2.00000 - 10 4.4826 2.00000 - 11 5.1281 2.00000 - 12 6.7895 2.00000 - 13 7.9927 0.12001 - 14 8.4203 0.00000 - 15 9.9342 0.00000 - 16 12.6686 0.00000 - 17 14.6904 0.00000 - 18 16.3415 0.00000 - - k-point 23 : 0.4000 0.1333 0.0000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7468 2.00000 - 5 -30.0640 2.00000 - 6 -29.9955 2.00000 - 7 -29.8057 2.00000 - 8 -0.1783 2.00000 - 9 1.7219 2.00000 - 10 4.5543 2.00000 - 11 4.9634 2.00000 - 12 6.5924 2.00000 - 13 8.2811 0.00000 - 14 8.4564 0.00000 - 15 10.2930 0.00000 - 16 12.6655 0.00000 - 17 13.2024 0.00000 - 18 15.4432 0.00000 - - k-point 24 : 0.4667 0.1333 0.0000 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7467 2.00000 - 5 -30.0681 2.00000 - 6 -29.9951 2.00000 - 7 -29.8053 2.00000 - 8 0.2566 2.00000 - 9 1.2033 2.00000 - 10 4.6272 2.00000 - 11 4.8360 2.00000 - 12 6.4912 2.00000 - 13 8.4783 0.00000 - 14 8.4935 0.00000 - 15 10.5194 0.00000 - 16 12.2814 0.00000 - 17 13.6544 0.00000 - 18 14.8524 0.00000 - - k-point 25 : 0.0000 0.2000 0.0000 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7473 2.00000 - 5 -30.0191 2.00000 - 6 -30.0121 2.00000 - 7 -29.8089 2.00000 - 8 -1.5376 2.00000 - 9 3.7788 2.00000 - 10 4.6305 2.00000 - 11 5.6232 2.00000 - 12 7.1210 2.00000 - 13 7.3732 2.00000 - 14 8.9428 0.00000 - 15 9.1443 0.00000 - 16 10.7771 0.00000 - 17 14.0933 0.00000 - 18 15.6423 0.00000 - - k-point 26 : 0.0667 0.2000 0.0000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7473 2.00000 - 5 -30.0213 2.00000 - 6 -30.0119 2.00000 - 7 -29.8086 2.00000 - 8 -1.4880 2.00000 - 9 3.7961 2.00000 - 10 4.5072 2.00000 - 11 5.5227 2.00000 - 12 7.3126 2.00000 - 13 7.3745 2.00000 - 14 8.7532 0.00000 - 15 9.0824 0.00000 - 16 11.0146 0.00000 - 17 13.9004 0.00000 - 18 15.4021 0.00000 - - k-point 27 : 0.1333 0.2000 0.0000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7472 2.00000 - 5 -30.0271 2.00000 - 6 -30.0113 2.00000 - 7 -29.8080 2.00000 - 8 -1.3394 2.00000 - 9 3.8230 2.00000 - 10 4.1696 2.00000 - 11 5.3756 2.00000 - 12 7.3639 2.00000 - 13 7.6935 1.99258 - 14 8.3844 0.00000 - 15 8.9738 0.00000 - 16 11.5333 0.00000 - 17 14.0395 0.00000 - 18 15.4431 0.00000 - - k-point 28 : 0.2000 0.2000 0.0000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7470 2.00000 - 5 -30.0358 2.00000 - 6 -30.0105 2.00000 - 7 -29.8072 2.00000 - 8 -1.1004 2.00000 - 9 3.5412 2.00000 - 10 4.0159 2.00000 - 11 5.2627 2.00000 - 12 7.2896 2.00000 - 13 7.9988 0.10080 - 14 8.0788 0.00557 - 15 9.0073 0.00000 - 16 12.1244 0.00000 - 17 13.7520 0.00000 - 18 16.7152 0.00000 - - k-point 29 : 0.2667 0.2000 0.0000 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7468 2.00000 - 5 -30.0459 2.00000 - 6 -30.0096 2.00000 - 7 -29.8061 2.00000 - 8 -0.7790 2.00000 - 9 2.9721 2.00000 - 10 4.1076 2.00000 - 11 5.1462 2.00000 - 12 7.1030 2.00000 - 13 7.9500 0.34166 - 14 8.1422 0.00024 - 15 9.2822 0.00000 - 16 12.7110 0.00000 - 17 13.3886 0.00000 - 18 15.6710 0.00000 - - k-point 30 : 0.3333 0.2000 0.0000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7467 2.00000 - 5 -30.0554 2.00000 - 6 -30.0087 2.00000 - 7 -29.8053 2.00000 - 8 -0.3863 2.00000 - 9 2.3710 2.00000 - 10 4.2299 2.00000 - 11 5.0035 2.00000 - 12 6.8764 2.00000 - 13 7.9435 0.39079 - 14 8.2650 0.00000 - 15 9.6513 0.00000 - 16 12.8907 0.00000 - 17 13.2663 0.00000 - 18 15.5200 0.00000 - - k-point 31 : 0.4000 0.2000 0.0000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7465 2.00000 - 5 -30.0629 2.00000 - 6 -30.0079 2.00000 - 7 -29.8045 2.00000 - 8 0.0623 2.00000 - 9 1.7821 2.00000 - 10 4.3653 2.00000 - 11 4.8399 2.00000 - 12 6.6971 2.00000 - 13 7.9722 0.20622 - 14 8.4241 0.00000 - 15 9.9878 0.00000 - 16 12.3795 0.00000 - 17 13.7744 0.00000 - 18 15.4918 0.00000 - - k-point 32 : 0.4667 0.2000 0.0000 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7464 2.00000 - 5 -30.0669 2.00000 - 6 -30.0075 2.00000 - 7 -29.8040 2.00000 - 8 0.5200 2.00000 - 9 1.2543 2.00000 - 10 4.5122 2.00000 - 11 4.6723 2.00000 - 12 6.6015 2.00000 - 13 7.9946 0.11393 - 14 8.5494 0.00000 - 15 10.2089 0.00000 - 16 12.0275 0.00000 - 17 14.4133 0.00000 - 18 15.6167 0.00000 - - k-point 33 : 0.0000 0.2667 0.0000 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4257 2.00000 - 3 -91.2908 2.00000 - 4 -65.7470 2.00000 - 5 -30.0263 2.00000 - 6 -30.0177 2.00000 - 7 -29.8073 2.00000 - 8 -1.1910 2.00000 - 9 3.1811 2.00000 - 10 4.6122 2.00000 - 11 5.2814 2.00000 - 12 6.9503 2.00000 - 13 7.4746 2.00000 - 14 8.9798 0.00000 - 15 9.5814 0.00000 - 16 11.3283 0.00000 - 17 13.6460 0.00000 - 18 15.5948 0.00000 - - k-point 34 : 0.0667 0.2667 0.0000 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4260 2.00000 - 3 -91.2910 2.00000 - 4 -65.7470 2.00000 - 5 -30.0261 2.00000 - 6 -30.0198 2.00000 - 7 -29.8072 2.00000 - 8 -1.1414 2.00000 - 9 3.1889 2.00000 - 10 4.5083 2.00000 - 11 5.2434 2.00000 - 12 6.9639 2.00000 - 13 7.6097 1.99989 - 14 8.7962 0.00000 - 15 9.4992 0.00000 - 16 11.5568 0.00000 - 17 13.6608 0.00000 - 18 15.2250 0.00000 - - k-point 35 : 0.1333 0.2667 0.0000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7469 2.00000 - 5 -30.0257 2.00000 - 6 -30.0255 2.00000 - 7 -29.8066 2.00000 - 8 -0.9957 2.00000 - 9 3.1942 2.00000 - 10 4.2418 2.00000 - 11 5.1757 2.00000 - 12 7.0004 2.00000 - 13 7.9287 0.51588 - 14 8.4011 0.00000 - 15 9.3080 0.00000 - 16 12.0788 0.00000 - 17 13.5578 0.00000 - 18 15.2519 0.00000 - - k-point 36 : 0.2000 0.2667 0.0000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7467 2.00000 - 5 -30.0345 2.00000 - 6 -30.0247 2.00000 - 7 -29.8057 2.00000 - 8 -0.7602 2.00000 - 9 3.1062 2.00000 - 10 3.9790 2.00000 - 11 5.1030 2.00000 - 12 7.0431 2.00000 - 13 7.9901 0.12911 - 14 8.2728 0.00000 - 15 9.1426 0.00000 - 16 12.6730 0.00000 - 17 13.3289 0.00000 - 18 15.7896 0.00000 - - k-point 37 : 0.2667 0.2667 0.0000 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7465 2.00000 - 5 -30.0445 2.00000 - 6 -30.0237 2.00000 - 7 -29.8047 2.00000 - 8 -0.4475 2.00000 - 9 2.8028 2.00000 - 10 3.9098 2.00000 - 11 5.0079 2.00000 - 12 7.0489 2.00000 - 13 7.6784 1.99615 - 14 8.4720 0.00000 - 15 9.1821 0.00000 - 16 12.9563 0.00000 - 17 13.5965 0.00000 - 18 17.2388 0.00000 - - k-point 38 : 0.3333 0.2667 0.0000 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7463 2.00000 - 5 -30.0541 2.00000 - 6 -30.0228 2.00000 - 7 -29.8038 2.00000 - 8 -0.0679 2.00000 - 9 2.3493 2.00000 - 10 3.9944 2.00000 - 11 4.8777 2.00000 - 12 6.9573 2.00000 - 13 7.5462 2.00000 - 14 8.5230 0.00000 - 15 9.4304 0.00000 - 16 12.4873 0.00000 - 17 13.6262 0.00000 - 18 16.0306 0.00000 - - k-point 39 : 0.4000 0.2667 0.0000 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4246 2.00000 - 3 -91.2897 2.00000 - 4 -65.7461 2.00000 - 5 -30.0615 2.00000 - 6 -30.0221 2.00000 - 7 -29.8030 2.00000 - 8 0.3633 2.00000 - 9 1.8487 2.00000 - 10 4.1415 2.00000 - 11 4.7166 2.00000 - 12 6.8214 2.00000 - 13 7.5399 2.00000 - 14 8.5695 0.00000 - 15 9.7014 0.00000 - 16 12.0422 0.00000 - 17 13.9068 0.00000 - 18 16.1837 0.00000 - - k-point 40 : 0.4667 0.2667 0.0000 - band No. band energies occupation - 1 -91.8795 2.00000 - 2 -91.4245 2.00000 - 3 -91.2895 2.00000 - 4 -65.7461 2.00000 - 5 -30.0656 2.00000 - 6 -30.0217 2.00000 - 7 -29.8026 2.00000 - 8 0.8283 2.00000 - 9 1.3477 2.00000 - 10 4.3004 2.00000 - 11 4.5506 2.00000 - 12 6.7365 2.00000 - 13 7.5567 2.00000 - 14 8.6157 0.00000 - 15 9.8832 0.00000 - 16 11.7458 0.00000 - 17 14.0429 0.00000 - 18 16.0539 0.00000 - - k-point 41 : 0.0000 0.3333 0.0000 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2910 2.00000 - 4 -65.7468 2.00000 - 5 -30.0398 2.00000 - 6 -30.0163 2.00000 - 7 -29.8059 2.00000 - 8 -0.7675 2.00000 - 9 2.5196 2.00000 - 10 4.5999 2.00000 - 11 5.0061 2.00000 - 12 6.6208 2.00000 - 13 7.9708 0.21318 - 14 9.0157 0.00000 - 15 9.9775 0.00000 - 16 11.8614 0.00000 - 17 13.1993 0.00000 - 18 15.3650 0.00000 - - k-point 42 : 0.0667 0.3333 0.0000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7467 2.00000 - 5 -30.0395 2.00000 - 6 -30.0184 2.00000 - 7 -29.8057 2.00000 - 8 -0.7188 2.00000 - 9 2.5262 2.00000 - 10 4.5193 2.00000 - 11 4.9986 2.00000 - 12 6.6392 2.00000 - 13 8.0523 0.01653 - 14 8.8426 0.00000 - 15 9.8894 0.00000 - 16 12.0868 0.00000 - 17 13.1663 0.00000 - 18 16.1220 0.00000 - - k-point 43 : 0.1333 0.3333 0.0000 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7466 2.00000 - 5 -30.0390 2.00000 - 6 -30.0243 2.00000 - 7 -29.8052 2.00000 - 8 -0.5758 2.00000 - 9 2.5363 2.00000 - 10 4.3168 2.00000 - 11 4.9744 2.00000 - 12 6.6919 2.00000 - 13 8.2598 0.00000 - 14 8.4520 0.00000 - 15 9.6694 0.00000 - 16 12.6304 0.00000 - 17 13.0732 0.00000 - 18 15.6443 0.00000 - - k-point 44 : 0.2000 0.3333 0.0000 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2911 2.00000 - 4 -65.7465 2.00000 - 5 -30.0382 2.00000 - 6 -30.0332 2.00000 - 7 -29.8043 2.00000 - 8 -0.3483 2.00000 - 9 2.5183 2.00000 - 10 4.0832 2.00000 - 11 4.9265 2.00000 - 12 6.7709 2.00000 - 13 8.0186 0.05476 - 14 8.5126 0.00000 - 15 9.4183 0.00000 - 16 12.8043 0.00000 - 17 13.1910 0.00000 - 18 15.7181 0.00000 - - k-point 45 : 0.2667 0.3333 0.0000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7462 2.00000 - 5 -30.0432 2.00000 - 6 -30.0373 2.00000 - 7 -29.8034 2.00000 - 8 -0.0478 2.00000 - 9 2.4216 2.00000 - 10 3.9190 2.00000 - 11 4.8440 2.00000 - 12 6.8610 2.00000 - 13 7.6333 1.99958 - 14 8.7054 0.00000 - 15 9.2656 0.00000 - 16 12.4562 0.00000 - 17 13.6001 0.00000 - 18 16.2032 0.00000 - - k-point 46 : 0.3333 0.3333 0.0000 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7460 2.00000 - 5 -30.0528 2.00000 - 6 -30.0364 2.00000 - 7 -29.8024 2.00000 - 8 0.3045 2.00000 - 9 2.2066 2.00000 - 10 3.8869 2.00000 - 11 4.7195 2.00000 - 12 6.9324 2.00000 - 13 7.3479 2.00000 - 14 8.7335 0.00000 - 15 9.3281 0.00000 - 16 12.0629 0.00000 - 17 13.7569 0.00000 - 18 16.5710 0.00000 - - k-point 47 : 0.4000 0.3333 0.0000 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7459 2.00000 - 5 -30.0602 2.00000 - 6 -30.0357 2.00000 - 7 -29.8017 2.00000 - 8 0.6908 2.00000 - 9 1.8937 2.00000 - 10 3.9664 2.00000 - 11 4.5594 2.00000 - 12 6.9277 2.00000 - 13 7.2186 2.00000 - 14 8.6985 0.00000 - 15 9.4867 0.00000 - 16 11.7099 0.00000 - 17 13.7542 0.00000 - 18 16.7032 0.00000 - - k-point 48 : 0.4667 0.3333 0.0000 - band No. band energies occupation - 1 -91.8786 2.00000 - 2 -91.4236 2.00000 - 3 -91.2886 2.00000 - 4 -65.7457 2.00000 - 5 -30.0642 2.00000 - 6 -30.0352 2.00000 - 7 -29.8012 2.00000 - 8 1.0768 2.00000 - 9 1.5402 2.00000 - 10 4.0958 2.00000 - 11 4.3989 2.00000 - 12 6.8746 2.00000 - 13 7.2086 2.00000 - 14 8.6828 0.00000 - 15 9.6000 0.00000 - 16 11.4903 0.00000 - 17 13.7171 0.00000 - 18 16.6030 0.00000 - - k-point 49 : 0.0000 0.4000 0.0000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7465 2.00000 - 5 -30.0502 2.00000 - 6 -30.0152 2.00000 - 7 -29.8048 2.00000 - 8 -0.2969 2.00000 - 9 1.8722 2.00000 - 10 4.5904 2.00000 - 11 4.8147 2.00000 - 12 6.3956 2.00000 - 13 8.5207 0.00000 - 14 9.0442 0.00000 - 15 10.2923 0.00000 - 16 12.3631 0.00000 - 17 12.6799 0.00000 - 18 15.4633 0.00000 - - k-point 50 : 0.0667 0.4000 0.0000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7465 2.00000 - 5 -30.0501 2.00000 - 6 -30.0173 2.00000 - 7 -29.8046 2.00000 - 8 -0.2476 2.00000 - 9 1.8793 2.00000 - 10 4.5376 2.00000 - 11 4.8080 2.00000 - 12 6.4159 2.00000 - 13 8.5593 0.00000 - 14 8.8804 0.00000 - 15 10.2052 0.00000 - 16 12.5854 0.00000 - 17 12.5895 0.00000 - 18 14.7751 0.00000 - - k-point 51 : 0.1333 0.4000 0.0000 - band No. band energies occupation - 1 -91.8814 2.00000 - 2 -91.4264 2.00000 - 3 -91.2914 2.00000 - 4 -65.7464 2.00000 - 5 -30.0496 2.00000 - 6 -30.0233 2.00000 - 7 -29.8041 2.00000 - 8 -0.1045 2.00000 - 9 1.8964 2.00000 - 10 4.3983 2.00000 - 11 4.7846 2.00000 - 12 6.4746 2.00000 - 13 8.5014 0.00000 - 14 8.6596 0.00000 - 15 9.9796 0.00000 - 16 12.4726 0.00000 - 17 13.1496 0.00000 - 18 15.1815 0.00000 - - k-point 52 : 0.2000 0.4000 0.0000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2908 2.00000 - 4 -65.7462 2.00000 - 5 -30.0487 2.00000 - 6 -30.0321 2.00000 - 7 -29.8032 2.00000 - 8 0.1204 2.00000 - 9 1.9197 2.00000 - 10 4.2177 2.00000 - 11 4.7361 2.00000 - 12 6.5646 2.00000 - 13 8.0702 0.00802 - 14 8.7844 0.00000 - 15 9.6958 0.00000 - 16 12.2586 0.00000 - 17 13.7021 0.00000 - 18 15.4427 0.00000 - - k-point 53 : 0.2667 0.4000 0.0000 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7460 2.00000 - 5 -30.0478 2.00000 - 6 -30.0422 2.00000 - 7 -29.8023 2.00000 - 8 0.4035 2.00000 - 9 1.9363 2.00000 - 10 4.0468 2.00000 - 11 4.6515 2.00000 - 12 6.6739 2.00000 - 13 7.6760 1.99654 - 14 8.8822 0.00000 - 15 9.4477 0.00000 - 16 11.9748 0.00000 - 17 13.8742 0.00000 - 18 16.0112 0.00000 - - k-point 54 : 0.3333 0.4000 0.0000 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4248 2.00000 - 3 -91.2897 2.00000 - 4 -65.7458 2.00000 - 5 -30.0517 2.00000 - 6 -30.0469 2.00000 - 7 -29.8013 2.00000 - 8 0.7108 2.00000 - 9 1.9297 2.00000 - 10 3.9336 2.00000 - 11 4.5238 2.00000 - 12 6.7857 2.00000 - 13 7.3592 2.00000 - 14 8.8793 0.00000 - 15 9.3398 0.00000 - 16 11.6821 0.00000 - 17 13.7440 0.00000 - 18 16.5307 0.00000 - - k-point 55 : 0.4000 0.4000 0.0000 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7456 2.00000 - 5 -30.0593 2.00000 - 6 -30.0463 2.00000 - 7 -29.8006 2.00000 - 8 0.9965 2.00000 - 9 1.8877 2.00000 - 10 3.9039 2.00000 - 11 4.3616 2.00000 - 12 6.8809 2.00000 - 13 7.1374 2.00000 - 14 8.7963 0.00000 - 15 9.3615 0.00000 - 16 11.4387 0.00000 - 17 13.5583 0.00000 - 18 16.9470 0.00000 - - k-point 56 : 0.4667 0.4000 0.0000 - band No. band energies occupation - 1 -91.8787 2.00000 - 2 -91.4238 2.00000 - 3 -91.2887 2.00000 - 4 -65.7455 2.00000 - 5 -30.0632 2.00000 - 6 -30.0459 2.00000 - 7 -29.8002 2.00000 - 8 1.1916 2.00000 - 9 1.8308 2.00000 - 10 3.9520 2.00000 - 11 4.2094 2.00000 - 12 6.9473 2.00000 - 13 7.0123 2.00000 - 14 8.7381 0.00000 - 15 9.3978 0.00000 - 16 11.2989 0.00000 - 17 13.4437 0.00000 - 18 16.5925 0.00000 - - k-point 57 : 0.0000 0.4667 0.0000 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7463 2.00000 - 5 -30.0559 2.00000 - 6 -30.0145 2.00000 - 7 -29.8042 2.00000 - 8 0.1293 2.00000 - 9 1.3542 2.00000 - 10 4.5849 2.00000 - 11 4.7168 2.00000 - 12 6.2814 2.00000 - 13 8.9385 0.00000 - 14 9.0598 0.00000 - 15 10.4726 0.00000 - 16 12.1850 0.00000 - 17 12.8255 0.00000 - 18 15.1774 0.00000 - - k-point 58 : 0.0667 0.4667 0.0000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7463 2.00000 - 5 -30.0557 2.00000 - 6 -30.0167 2.00000 - 7 -29.8040 2.00000 - 8 0.1836 2.00000 - 9 1.3565 2.00000 - 10 4.5671 2.00000 - 11 4.6874 2.00000 - 12 6.3024 2.00000 - 13 8.9015 0.00000 - 14 8.9469 0.00000 - 15 10.3933 0.00000 - 16 12.1353 0.00000 - 17 13.0125 0.00000 - 18 15.3429 0.00000 - - k-point 59 : 0.1333 0.4667 0.0000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4257 2.00000 - 3 -91.2906 2.00000 - 4 -65.7462 2.00000 - 5 -30.0552 2.00000 - 6 -30.0227 2.00000 - 7 -29.8035 2.00000 - 8 0.3435 2.00000 - 9 1.3655 2.00000 - 10 4.4967 2.00000 - 11 4.6242 2.00000 - 12 6.3631 2.00000 - 13 8.5307 0.00000 - 14 8.9685 0.00000 - 15 10.1791 0.00000 - 16 12.0342 0.00000 - 17 13.5893 0.00000 - 18 16.0045 0.00000 - - k-point 60 : 0.2000 0.4667 0.0000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7460 2.00000 - 5 -30.0544 2.00000 - 6 -30.0315 2.00000 - 7 -29.8026 2.00000 - 8 0.5914 2.00000 - 9 1.3832 2.00000 - 10 4.3674 2.00000 - 11 4.5524 2.00000 - 12 6.4562 2.00000 - 13 8.1044 0.00172 - 14 8.9932 0.00000 - 15 9.8884 0.00000 - 16 11.8622 0.00000 - 17 14.2861 0.00000 - 18 15.0487 0.00000 - - k-point 61 : 0.2667 0.4667 0.0000 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7459 2.00000 - 5 -30.0535 2.00000 - 6 -30.0416 2.00000 - 7 -29.8017 2.00000 - 8 0.8833 2.00000 - 9 1.4308 2.00000 - 10 4.2192 2.00000 - 11 4.4522 2.00000 - 12 6.5696 2.00000 - 13 7.7127 1.98385 - 14 9.0016 0.00000 - 15 9.5963 0.00000 - 16 11.6488 0.00000 - 17 14.0297 0.00000 - 18 15.9577 0.00000 - - k-point 62 : 0.3333 0.4667 0.0000 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7457 2.00000 - 5 -30.0528 2.00000 - 6 -30.0512 2.00000 - 7 -29.8008 2.00000 - 8 1.1157 2.00000 - 9 1.5761 2.00000 - 10 4.0844 2.00000 - 11 4.3103 2.00000 - 12 6.6854 2.00000 - 13 7.3974 2.00000 - 14 8.9559 0.00000 - 15 9.3894 0.00000 - 16 11.4424 0.00000 - 17 13.7001 0.00000 - 18 16.5151 0.00000 - - k-point 63 : 0.4000 0.4667 0.0000 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7455 2.00000 - 5 -30.0587 2.00000 - 6 -30.0521 2.00000 - 7 -29.8000 2.00000 - 8 1.2081 2.00000 - 9 1.8399 2.00000 - 10 3.9754 2.00000 - 11 4.1492 2.00000 - 12 6.7823 2.00000 - 13 7.1786 2.00000 - 14 8.8498 0.00000 - 15 9.3109 0.00000 - 16 11.2830 0.00000 - 17 13.4354 0.00000 - 18 16.6304 0.00000 - - k-point 64 : 0.4667 0.4667 0.0000 - band No. band energies occupation - 1 -91.8793 2.00000 - 2 -91.4243 2.00000 - 3 -91.2893 2.00000 - 4 -65.7454 2.00000 - 5 -30.0627 2.00000 - 6 -30.0518 2.00000 - 7 -29.7996 2.00000 - 8 1.2328 2.00000 - 9 2.0507 2.00000 - 10 3.8985 2.00000 - 11 4.0417 2.00000 - 12 6.8389 2.00000 - 13 7.0660 2.00000 - 14 8.7690 0.00000 - 15 9.2970 0.00000 - 16 11.2437 0.00000 - 17 14.1131 0.00000 - 18 18.0681 0.00000 - - k-point 65 : 0.0000 0.0000 0.0667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7474 2.00000 - 5 -30.0205 2.00000 - 6 -29.9874 2.00000 - 7 -29.8211 2.00000 - 8 -1.9380 2.00000 - 9 4.4295 2.00000 - 10 4.8508 2.00000 - 11 6.3792 2.00000 - 12 6.8138 2.00000 - 13 8.1771 0.00003 - 14 8.8386 0.00000 - 15 8.9434 0.00000 - 16 9.0466 0.00000 - 17 13.4689 0.00000 - 18 14.8465 0.00000 - - k-point 66 : 0.0667 0.0000 0.0667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7474 2.00000 - 5 -30.0226 2.00000 - 6 -29.9872 2.00000 - 7 -29.8209 2.00000 - 8 -1.8859 2.00000 - 9 4.3438 2.00000 - 10 4.8274 2.00000 - 11 6.3656 2.00000 - 12 6.6651 2.00000 - 13 8.2366 0.00000 - 14 8.4561 0.00000 - 15 9.1702 0.00000 - 16 9.3749 0.00000 - 17 14.6979 0.00000 - 18 15.1035 0.00000 - - k-point 67 : 0.1333 0.0000 0.0667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4257 2.00000 - 3 -91.2906 2.00000 - 4 -65.7473 2.00000 - 5 -30.0286 2.00000 - 6 -29.9866 2.00000 - 7 -29.8203 2.00000 - 8 -1.7375 2.00000 - 9 4.0528 2.00000 - 10 4.7878 2.00000 - 11 6.3364 2.00000 - 12 6.3830 2.00000 - 13 8.0619 0.01132 - 14 8.3336 0.00000 - 15 9.5014 0.00000 - 16 9.9115 0.00000 - 17 14.1815 0.00000 - 18 14.9183 0.00000 - - k-point 68 : 0.2000 0.0000 0.0667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4257 2.00000 - 3 -91.2906 2.00000 - 4 -65.7471 2.00000 - 5 -30.0372 2.00000 - 6 -29.9857 2.00000 - 7 -29.8195 2.00000 - 8 -1.4939 2.00000 - 9 3.5647 2.00000 - 10 4.7595 2.00000 - 11 5.9723 2.00000 - 12 6.4743 2.00000 - 13 7.7497 1.94010 - 14 8.4147 0.00000 - 15 9.9423 0.00000 - 16 10.4794 0.00000 - 17 14.3282 0.00000 - 18 15.0758 0.00000 - - k-point 69 : 0.2667 0.0000 0.0667 - band No. band energies occupation - 1 -91.8796 2.00000 - 2 -91.4244 2.00000 - 3 -91.2894 2.00000 - 4 -65.7469 2.00000 - 5 -30.0470 2.00000 - 6 -29.9846 2.00000 - 7 -29.8185 2.00000 - 8 -1.1660 2.00000 - 9 2.9634 2.00000 - 10 4.7389 2.00000 - 11 5.6413 2.00000 - 12 6.5416 2.00000 - 13 7.6483 1.99909 - 14 8.4831 0.00000 - 15 10.4090 0.00000 - 16 11.0447 0.00000 - 17 15.0305 0.00000 - 18 15.6832 0.00000 - - k-point 70 : 0.3333 0.0000 0.0667 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7468 2.00000 - 5 -30.0566 2.00000 - 6 -29.9837 2.00000 - 7 -29.8176 2.00000 - 8 -0.7654 2.00000 - 9 2.3210 2.00000 - 10 4.7218 2.00000 - 11 5.3752 2.00000 - 12 6.4754 2.00000 - 13 7.8474 1.38302 - 14 8.5405 0.00000 - 15 10.8486 0.00000 - 16 11.5771 0.00000 - 17 13.5613 0.00000 - 18 15.1290 0.00000 - - k-point 71 : 0.4000 0.0000 0.0667 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2911 2.00000 - 4 -65.7467 2.00000 - 5 -30.0642 2.00000 - 6 -29.9830 2.00000 - 7 -29.8168 2.00000 - 8 -0.3160 2.00000 - 9 1.6951 2.00000 - 10 4.7092 2.00000 - 11 5.1905 2.00000 - 12 6.3590 2.00000 - 13 8.1987 0.00001 - 14 8.5831 0.00000 - 15 11.2134 0.00000 - 16 12.0304 0.00000 - 17 12.9684 0.00000 - 18 14.5851 0.00000 - - k-point 72 : 0.4667 0.0000 0.0667 - band No. band energies occupation - 1 -91.8817 2.00000 - 2 -91.4266 2.00000 - 3 -91.2917 2.00000 - 4 -65.7467 2.00000 - 5 -30.0683 2.00000 - 6 -29.9826 2.00000 - 7 -29.8165 2.00000 - 8 0.1015 2.00000 - 9 1.1853 2.00000 - 10 4.7026 2.00000 - 11 5.0962 2.00000 - 12 6.2848 2.00000 - 13 8.4738 0.00000 - 14 8.6059 0.00000 - 15 11.4369 0.00000 - 16 12.3087 0.00000 - 17 12.6173 0.00000 - 18 14.4394 0.00000 - - k-point 73 : 0.0000 0.0667 0.0667 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7474 2.00000 - 5 -30.0202 2.00000 - 6 -29.9904 2.00000 - 7 -29.8208 2.00000 - 8 -1.8853 2.00000 - 9 4.3956 2.00000 - 10 4.8088 2.00000 - 11 6.2602 2.00000 - 12 6.7341 2.00000 - 13 8.1965 0.00001 - 14 8.5252 0.00000 - 15 9.0697 0.00000 - 16 9.4119 0.00000 - 17 13.8616 0.00000 - 18 15.2576 0.00000 - - k-point 74 : 0.0667 0.0667 0.0667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7473 2.00000 - 5 -30.0223 2.00000 - 6 -29.9901 2.00000 - 7 -29.8206 2.00000 - 8 -1.8347 2.00000 - 9 4.3325 2.00000 - 10 4.7685 2.00000 - 11 6.1044 2.00000 - 12 6.8162 2.00000 - 13 7.9710 0.21228 - 14 8.7574 0.00000 - 15 8.9151 0.00000 - 16 9.6966 0.00000 - 17 13.8495 0.00000 - 18 14.8611 0.00000 - - k-point 75 : 0.1333 0.0667 0.0667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7473 2.00000 - 5 -30.0283 2.00000 - 6 -29.9896 2.00000 - 7 -29.8200 2.00000 - 8 -1.6854 2.00000 - 9 4.0715 2.00000 - 10 4.7055 2.00000 - 11 5.8924 2.00000 - 12 6.8149 2.00000 - 13 7.7859 1.82917 - 14 8.5439 0.00000 - 15 9.2979 0.00000 - 16 10.1790 0.00000 - 17 14.4429 0.00000 - 18 14.9450 0.00000 - - k-point 76 : 0.2000 0.0667 0.0667 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7471 2.00000 - 5 -30.0369 2.00000 - 6 -29.9887 2.00000 - 7 -29.8192 2.00000 - 8 -1.4415 2.00000 - 9 3.5859 2.00000 - 10 4.6793 2.00000 - 11 5.7131 2.00000 - 12 6.7163 2.00000 - 13 7.7038 1.98863 - 14 8.3889 0.00000 - 15 9.7722 0.00000 - 16 10.7211 0.00000 - 17 14.3964 0.00000 - 18 15.0087 0.00000 - - k-point 77 : 0.2667 0.0667 0.0667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7469 2.00000 - 5 -30.0468 2.00000 - 6 -29.9877 2.00000 - 7 -29.8182 2.00000 - 8 -1.1142 2.00000 - 9 2.9798 2.00000 - 10 4.6736 2.00000 - 11 5.5108 2.00000 - 12 6.6199 2.00000 - 13 7.7221 1.97696 - 14 8.3636 0.00000 - 15 10.2499 0.00000 - 16 11.2691 0.00000 - 17 14.1095 0.00000 - 18 16.1309 0.00000 - - k-point 78 : 0.3333 0.0667 0.0667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7467 2.00000 - 5 -30.0564 2.00000 - 6 -29.9867 2.00000 - 7 -29.8173 2.00000 - 8 -0.7140 2.00000 - 9 2.3366 2.00000 - 10 4.6761 2.00000 - 11 5.3013 2.00000 - 12 6.5008 2.00000 - 13 7.9230 0.56991 - 14 8.3953 0.00000 - 15 10.6940 0.00000 - 16 11.7823 0.00000 - 17 13.5487 0.00000 - 18 15.0697 0.00000 - - k-point 79 : 0.4000 0.0667 0.0667 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7466 2.00000 - 5 -30.0639 2.00000 - 6 -29.9860 2.00000 - 7 -29.8166 2.00000 - 8 -0.2628 2.00000 - 9 1.7117 2.00000 - 10 4.6852 2.00000 - 11 5.1307 2.00000 - 12 6.3817 2.00000 - 13 8.2332 0.00000 - 14 8.4366 0.00000 - 15 11.0609 0.00000 - 16 12.1858 0.00000 - 17 13.0336 0.00000 - 18 14.9369 0.00000 - - k-point 80 : 0.4667 0.0667 0.0667 - band No. band energies occupation - 1 -91.8812 2.00000 - 2 -91.4262 2.00000 - 3 -91.2912 2.00000 - 4 -65.7466 2.00000 - 5 -30.0680 2.00000 - 6 -29.9856 2.00000 - 7 -29.8162 2.00000 - 8 0.1614 2.00000 - 9 1.1971 2.00000 - 10 4.6963 2.00000 - 11 5.0329 2.00000 - 12 6.3108 2.00000 - 13 8.4305 0.00000 - 14 8.5088 0.00000 - 15 11.2905 0.00000 - 16 12.2531 0.00000 - 17 13.6523 0.00000 - 18 15.0165 0.00000 - - k-point 81 : 0.0000 0.1333 0.0667 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7472 2.00000 - 5 -30.0193 2.00000 - 6 -29.9987 2.00000 - 7 -29.8199 2.00000 - 8 -1.7259 2.00000 - 9 4.2208 2.00000 - 10 4.7206 2.00000 - 11 5.9736 2.00000 - 12 6.6199 2.00000 - 13 8.1432 0.00023 - 14 8.2436 0.00000 - 15 9.3875 0.00000 - 16 9.9330 0.00000 - 17 14.2783 0.00000 - 18 14.9326 0.00000 - - k-point 82 : 0.0667 0.1333 0.0667 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4253 2.00000 - 3 -91.2904 2.00000 - 4 -65.7472 2.00000 - 5 -30.0214 2.00000 - 6 -29.9985 2.00000 - 7 -29.8197 2.00000 - 8 -1.6767 2.00000 - 9 4.2223 2.00000 - 10 4.6204 2.00000 - 11 5.7734 2.00000 - 12 6.8479 2.00000 - 13 7.7918 1.80201 - 14 8.5549 0.00000 - 15 9.2077 0.00000 - 16 10.1836 0.00000 - 17 14.6923 0.00000 - 18 15.0199 0.00000 - - k-point 83 : 0.1333 0.1333 0.0667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4255 2.00000 - 3 -91.2906 2.00000 - 4 -65.7471 2.00000 - 5 -30.0274 2.00000 - 6 -29.9980 2.00000 - 7 -29.8192 2.00000 - 8 -1.5287 2.00000 - 9 4.1177 2.00000 - 10 4.4062 2.00000 - 11 5.5506 2.00000 - 12 7.1483 2.00000 - 13 7.4218 2.00000 - 14 8.7268 0.00000 - 15 9.0973 0.00000 - 16 10.6622 0.00000 - 17 14.4498 0.00000 - 18 15.1810 0.00000 - - k-point 84 : 0.2000 0.1333 0.0667 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7469 2.00000 - 5 -30.0361 2.00000 - 6 -29.9971 2.00000 - 7 -29.8183 2.00000 - 8 -1.2856 2.00000 - 9 3.6350 2.00000 - 10 4.3984 2.00000 - 11 5.4250 2.00000 - 12 6.9924 2.00000 - 13 7.5022 2.00000 - 14 8.4908 0.00000 - 15 9.4686 0.00000 - 16 11.2024 0.00000 - 17 14.4000 0.00000 - 18 15.1855 0.00000 - - k-point 85 : 0.2667 0.1333 0.0667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7467 2.00000 - 5 -30.0460 2.00000 - 6 -29.9962 2.00000 - 7 -29.8174 2.00000 - 8 -0.9603 2.00000 - 9 3.0182 2.00000 - 10 4.4522 2.00000 - 11 5.3087 2.00000 - 12 6.7413 2.00000 - 13 7.7217 1.97728 - 14 8.3005 0.00000 - 15 9.9206 0.00000 - 16 11.7328 0.00000 - 17 13.9753 0.00000 - 18 15.3830 0.00000 - - k-point 86 : 0.3333 0.1333 0.0667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7465 2.00000 - 5 -30.0556 2.00000 - 6 -29.9952 2.00000 - 7 -29.8164 2.00000 - 8 -0.5617 2.00000 - 9 2.3790 2.00000 - 10 4.5170 2.00000 - 11 5.1603 2.00000 - 12 6.5656 2.00000 - 13 7.9200 0.59883 - 14 8.2560 0.00000 - 15 10.3547 0.00000 - 16 12.1577 0.00000 - 17 13.5549 0.00000 - 18 17.9977 0.00000 - - k-point 87 : 0.4000 0.1333 0.0667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7464 2.00000 - 5 -30.0631 2.00000 - 6 -29.9945 2.00000 - 7 -29.8157 2.00000 - 8 -0.1093 2.00000 - 9 1.7590 2.00000 - 10 4.5897 2.00000 - 11 5.0004 2.00000 - 12 6.4473 2.00000 - 13 8.0381 0.02804 - 14 8.3802 0.00000 - 15 10.7217 0.00000 - 16 12.2601 0.00000 - 17 13.3666 0.00000 - 18 15.0205 0.00000 - - k-point 88 : 0.4667 0.1333 0.0667 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7464 2.00000 - 5 -30.0672 2.00000 - 6 -29.9941 2.00000 - 7 -29.8153 2.00000 - 8 0.3334 2.00000 - 9 1.2318 2.00000 - 10 4.6652 2.00000 - 11 4.8709 2.00000 - 12 6.3846 2.00000 - 13 8.0775 0.00590 - 14 8.5356 0.00000 - 15 10.9631 0.00000 - 16 12.0560 0.00000 - 17 14.6802 0.00000 - 18 15.7986 0.00000 - - k-point 89 : 0.0000 0.2000 0.0667 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7470 2.00000 - 5 -30.0181 2.00000 - 6 -30.0111 2.00000 - 7 -29.8187 2.00000 - 8 -1.4695 2.00000 - 9 3.7994 2.00000 - 10 4.6693 2.00000 - 11 5.6325 2.00000 - 12 6.5974 2.00000 - 13 7.8461 1.39567 - 14 8.3061 0.00000 - 15 9.7917 0.00000 - 16 10.4886 0.00000 - 17 14.2428 0.00000 - 18 15.3871 0.00000 - - k-point 90 : 0.0667 0.2000 0.0667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7469 2.00000 - 5 -30.0202 2.00000 - 6 -30.0109 2.00000 - 7 -29.8185 2.00000 - 8 -1.4195 2.00000 - 9 3.8193 2.00000 - 10 4.5504 2.00000 - 11 5.5098 2.00000 - 12 6.7466 2.00000 - 13 7.7637 1.90788 - 14 8.3458 0.00000 - 15 9.6384 0.00000 - 16 10.7162 0.00000 - 17 14.2161 0.00000 - 18 15.3807 0.00000 - - k-point 91 : 0.1333 0.2000 0.0667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7468 2.00000 - 5 -30.0261 2.00000 - 6 -30.0103 2.00000 - 7 -29.8179 2.00000 - 8 -1.2729 2.00000 - 9 3.8625 2.00000 - 10 4.2037 2.00000 - 11 5.3571 2.00000 - 12 6.9709 2.00000 - 13 7.5306 2.00000 - 14 8.5275 0.00000 - 15 9.3693 0.00000 - 16 11.1903 0.00000 - 17 14.9903 0.00000 - 18 31.3493 0.00000 - - k-point 92 : 0.2000 0.2000 0.0667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7467 2.00000 - 5 -30.0349 2.00000 - 6 -30.0095 2.00000 - 7 -29.8171 2.00000 - 8 -1.0337 2.00000 - 9 3.6024 2.00000 - 10 4.0290 2.00000 - 11 5.2643 2.00000 - 12 7.0029 2.00000 - 13 7.3935 2.00000 - 14 8.6571 0.00000 - 15 9.2934 0.00000 - 16 11.7135 0.00000 - 17 14.0675 0.00000 - 18 15.4038 0.00000 - - k-point 93 : 0.2667 0.2000 0.0667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7464 2.00000 - 5 -30.0448 2.00000 - 6 -30.0085 2.00000 - 7 -29.8161 2.00000 - 8 -0.7114 2.00000 - 9 3.0260 2.00000 - 10 4.1301 2.00000 - 11 5.1712 2.00000 - 12 6.8136 2.00000 - 13 7.4784 2.00000 - 14 8.5466 0.00000 - 15 9.5926 0.00000 - 16 12.1469 0.00000 - 17 13.8100 0.00000 - 18 15.8147 0.00000 - - k-point 94 : 0.3333 0.2000 0.0667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7463 2.00000 - 5 -30.0544 2.00000 - 6 -30.0076 2.00000 - 7 -29.8152 2.00000 - 8 -0.3183 2.00000 - 9 2.4223 2.00000 - 10 4.2569 2.00000 - 11 5.0412 2.00000 - 12 6.6493 2.00000 - 13 7.5743 1.99999 - 14 8.4765 0.00000 - 15 9.9779 0.00000 - 16 12.2811 0.00000 - 17 13.6749 0.00000 - 18 15.6480 0.00000 - - k-point 95 : 0.4000 0.2000 0.0667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7461 2.00000 - 5 -30.0619 2.00000 - 6 -30.0069 2.00000 - 7 -29.8145 2.00000 - 8 0.1309 2.00000 - 9 1.8302 2.00000 - 10 4.3950 2.00000 - 11 4.8792 2.00000 - 12 6.5467 2.00000 - 13 7.6338 1.99957 - 14 8.5191 0.00000 - 15 10.3234 0.00000 - 16 12.0332 0.00000 - 17 13.9324 0.00000 - 18 15.8350 0.00000 - - k-point 96 : 0.4667 0.2000 0.0667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7461 2.00000 - 5 -30.0660 2.00000 - 6 -30.0065 2.00000 - 7 -29.8141 2.00000 - 8 0.5962 2.00000 - 9 1.2931 2.00000 - 10 4.5437 2.00000 - 11 4.7091 2.00000 - 12 6.4966 2.00000 - 13 7.6617 1.99823 - 14 8.5908 0.00000 - 15 10.5605 0.00000 - 16 11.7454 0.00000 - 17 14.3195 0.00000 - 18 15.4240 0.00000 - - k-point 97 : 0.0000 0.2667 0.0667 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4260 2.00000 - 3 -91.2910 2.00000 - 4 -65.7467 2.00000 - 5 -30.0253 2.00000 - 6 -30.0166 2.00000 - 7 -29.8173 2.00000 - 8 -1.1232 2.00000 - 9 3.2045 2.00000 - 10 4.6486 2.00000 - 11 5.3096 2.00000 - 12 6.5657 2.00000 - 13 7.8108 1.69159 - 14 8.3758 0.00000 - 15 10.2111 0.00000 - 16 11.0400 0.00000 - 17 13.9258 0.00000 - 18 15.5259 0.00000 - - k-point 98 : 0.0667 0.2667 0.0667 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7466 2.00000 - 5 -30.0251 2.00000 - 6 -30.0187 2.00000 - 7 -29.8171 2.00000 - 8 -1.0740 2.00000 - 9 3.2169 2.00000 - 10 4.5463 2.00000 - 11 5.2645 2.00000 - 12 6.6130 2.00000 - 13 7.8637 1.21244 - 14 8.2993 0.00000 - 15 10.0666 0.00000 - 16 11.2485 0.00000 - 17 13.8793 0.00000 - 18 15.1310 0.00000 - - k-point 99 : 0.1333 0.2667 0.0667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7465 2.00000 - 5 -30.0247 2.00000 - 6 -30.0245 2.00000 - 7 -29.8165 2.00000 - 8 -0.9278 2.00000 - 9 3.2332 2.00000 - 10 4.2746 2.00000 - 11 5.1943 2.00000 - 12 6.7018 2.00000 - 13 7.7714 1.88473 - 14 8.3727 0.00000 - 15 9.7624 0.00000 - 16 11.6929 0.00000 - 17 13.8341 0.00000 - 18 15.2470 0.00000 - - k-point 100 : 0.2000 0.2667 0.0667 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7463 2.00000 - 5 -30.0335 2.00000 - 6 -30.0237 2.00000 - 7 -29.8157 2.00000 - 8 -0.6936 2.00000 - 9 3.1651 2.00000 - 10 3.9951 2.00000 - 11 5.1310 2.00000 - 12 6.7693 2.00000 - 13 7.5109 2.00000 - 14 8.6573 0.00000 - 15 9.4680 0.00000 - 16 12.1191 0.00000 - 17 13.7501 0.00000 - 18 16.2199 0.00000 - - k-point 101 : 0.2667 0.2667 0.0667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7461 2.00000 - 5 -30.0435 2.00000 - 6 -30.0228 2.00000 - 7 -29.8147 2.00000 - 8 -0.3808 2.00000 - 9 2.8709 2.00000 - 10 3.9188 2.00000 - 11 5.0470 2.00000 - 12 6.7750 2.00000 - 13 7.3303 2.00000 - 14 8.7957 0.00000 - 15 9.4194 0.00000 - 16 12.2854 0.00000 - 17 15.1004 0.00000 - 18 16.6631 0.00000 - - k-point 102 : 0.3333 0.2667 0.0667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7460 2.00000 - 5 -30.0531 2.00000 - 6 -30.0219 2.00000 - 7 -29.8138 2.00000 - 8 -0.0012 2.00000 - 9 2.4149 2.00000 - 10 4.0086 2.00000 - 11 4.9212 2.00000 - 12 6.7199 2.00000 - 13 7.2772 2.00000 - 14 8.7185 0.00000 - 15 9.6676 0.00000 - 16 12.0399 0.00000 - 17 13.9078 0.00000 - 18 16.1396 0.00000 - - k-point 103 : 0.4000 0.2667 0.0667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7458 2.00000 - 5 -30.0605 2.00000 - 6 -30.0212 2.00000 - 7 -29.8131 2.00000 - 8 0.4304 2.00000 - 9 1.9114 2.00000 - 10 4.1602 2.00000 - 11 4.7577 2.00000 - 12 6.6629 2.00000 - 13 7.2826 2.00000 - 14 8.6633 0.00000 - 15 9.9472 0.00000 - 16 11.6785 0.00000 - 17 15.2726 0.00000 - 18 16.0488 0.00000 - - k-point 104 : 0.4667 0.2667 0.0667 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4247 2.00000 - 3 -91.2897 2.00000 - 4 -65.7457 2.00000 - 5 -30.0646 2.00000 - 6 -30.0207 2.00000 - 7 -29.8127 2.00000 - 8 0.8992 2.00000 - 9 1.4048 2.00000 - 10 4.3197 2.00000 - 11 4.5902 2.00000 - 12 6.6327 2.00000 - 13 7.2942 2.00000 - 14 8.6558 0.00000 - 15 10.1424 0.00000 - 16 11.4034 0.00000 - 17 14.2472 0.00000 - 18 41.7288 0.00000 - - k-point 105 : 0.0000 0.3333 0.0667 - band No. band energies occupation - 1 -91.8814 2.00000 - 2 -91.4263 2.00000 - 3 -91.2913 2.00000 - 4 -65.7464 2.00000 - 5 -30.0388 2.00000 - 6 -30.0152 2.00000 - 7 -29.8160 2.00000 - 8 -0.7011 2.00000 - 9 2.5446 2.00000 - 10 4.6365 2.00000 - 11 5.0441 2.00000 - 12 6.4285 2.00000 - 13 8.1110 0.00125 - 14 8.4422 0.00000 - 15 10.6018 0.00000 - 16 11.5597 0.00000 - 17 13.3506 0.00000 - 18 15.1051 0.00000 - - k-point 106 : 0.0667 0.3333 0.0667 - band No. band energies occupation - 1 -91.8812 2.00000 - 2 -91.4261 2.00000 - 3 -91.2911 2.00000 - 4 -65.7464 2.00000 - 5 -30.0386 2.00000 - 6 -30.0173 2.00000 - 7 -29.8158 2.00000 - 8 -0.6526 2.00000 - 9 2.5545 2.00000 - 10 4.5567 2.00000 - 11 5.0344 2.00000 - 12 6.4474 2.00000 - 13 8.1580 0.00010 - 14 8.3450 0.00000 - 15 10.4604 0.00000 - 16 11.7435 0.00000 - 17 13.3794 0.00000 - 18 15.8365 0.00000 - - k-point 107 : 0.1333 0.3333 0.0667 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4260 2.00000 - 3 -91.2910 2.00000 - 4 -65.7462 2.00000 - 5 -30.0381 2.00000 - 6 -30.0233 2.00000 - 7 -29.8152 2.00000 - 8 -0.5089 2.00000 - 9 2.5736 2.00000 - 10 4.3507 2.00000 - 11 5.0102 2.00000 - 12 6.4989 2.00000 - 13 7.9569 0.29451 - 14 8.4473 0.00000 - 15 10.1404 0.00000 - 16 12.0883 0.00000 - 17 13.4032 0.00000 - 18 15.1473 0.00000 - - k-point 108 : 0.2000 0.3333 0.0667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7461 2.00000 - 5 -30.0373 2.00000 - 6 -30.0321 2.00000 - 7 -29.8143 2.00000 - 8 -0.2806 2.00000 - 9 2.5705 2.00000 - 10 4.1067 2.00000 - 11 4.9666 2.00000 - 12 6.5721 2.00000 - 13 7.6198 1.99980 - 14 8.7017 0.00000 - 15 9.7782 0.00000 - 16 12.2391 0.00000 - 17 13.5917 0.00000 - 18 15.4441 0.00000 - - k-point 109 : 0.2667 0.3333 0.0667 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7459 2.00000 - 5 -30.0422 2.00000 - 6 -30.0363 2.00000 - 7 -29.8134 2.00000 - 8 0.0188 2.00000 - 9 2.4896 2.00000 - 10 3.9304 2.00000 - 11 4.8876 2.00000 - 12 6.6514 2.00000 - 13 7.3330 2.00000 - 14 8.9105 0.00000 - 15 9.5027 0.00000 - 16 12.0077 0.00000 - 17 14.3536 0.00000 - 18 16.5093 0.00000 - - k-point 110 : 0.3333 0.3333 0.0667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7457 2.00000 - 5 -30.0518 2.00000 - 6 -30.0354 2.00000 - 7 -29.8125 2.00000 - 8 0.3709 2.00000 - 9 2.2835 2.00000 - 10 3.8916 2.00000 - 11 4.7617 2.00000 - 12 6.7183 2.00000 - 13 7.1436 2.00000 - 14 8.9049 0.00000 - 15 9.4941 0.00000 - 16 11.7396 0.00000 - 17 15.6793 0.00000 - 18 16.9345 0.00000 - - k-point 111 : 0.4000 0.3333 0.0667 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7455 2.00000 - 5 -30.0593 2.00000 - 6 -30.0348 2.00000 - 7 -29.8117 2.00000 - 8 0.7545 2.00000 - 9 1.9742 2.00000 - 10 3.9744 2.00000 - 11 4.5954 2.00000 - 12 6.7577 2.00000 - 13 7.0518 2.00000 - 14 8.7886 0.00000 - 15 9.6473 0.00000 - 16 11.3101 0.00000 - 17 14.0340 0.00000 - 18 16.7643 0.00000 - - k-point 112 : 0.4667 0.3333 0.0667 - band No. band energies occupation - 1 -91.8795 2.00000 - 2 -91.4245 2.00000 - 3 -91.2895 2.00000 - 4 -65.7454 2.00000 - 5 -30.0633 2.00000 - 6 -30.0343 2.00000 - 7 -29.8114 2.00000 - 8 1.1319 2.00000 - 9 1.6271 2.00000 - 10 4.1052 2.00000 - 11 4.4298 2.00000 - 12 6.7711 2.00000 - 13 7.0239 2.00000 - 14 8.7206 0.00000 - 15 9.7665 0.00000 - 16 11.0890 0.00000 - 17 13.9788 0.00000 - 18 16.9520 0.00000 - - k-point 113 : 0.0000 0.4000 0.0667 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4260 2.00000 - 3 -91.2910 2.00000 - 4 -65.7462 2.00000 - 5 -30.0493 2.00000 - 6 -30.0141 2.00000 - 7 -29.8149 2.00000 - 8 -0.2288 2.00000 - 9 1.8983 2.00000 - 10 4.6283 2.00000 - 11 4.8575 2.00000 - 12 6.2772 2.00000 - 13 8.4945 0.00000 - 14 8.5804 0.00000 - 15 10.9224 0.00000 - 16 11.9786 0.00000 - 17 12.7899 0.00000 - 18 14.9087 0.00000 - - k-point 114 : 0.0667 0.4000 0.0667 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7461 2.00000 - 5 -30.0491 2.00000 - 6 -30.0162 2.00000 - 7 -29.8147 2.00000 - 8 -0.1792 2.00000 - 9 1.9074 2.00000 - 10 4.5762 2.00000 - 11 4.8487 2.00000 - 12 6.2969 2.00000 - 13 8.3585 0.00000 - 14 8.6284 0.00000 - 15 10.7823 0.00000 - 16 12.0806 0.00000 - 17 12.8868 0.00000 - 18 15.2348 0.00000 - - k-point 115 : 0.1333 0.4000 0.0667 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7460 2.00000 - 5 -30.0486 2.00000 - 6 -30.0222 2.00000 - 7 -29.8141 2.00000 - 8 -0.0352 2.00000 - 9 1.9332 2.00000 - 10 4.4339 2.00000 - 11 4.8242 2.00000 - 12 6.3536 2.00000 - 13 8.0475 0.01985 - 14 8.7378 0.00000 - 15 10.4554 0.00000 - 16 12.1158 0.00000 - 17 13.2657 0.00000 - 18 14.9000 0.00000 - - k-point 116 : 0.2000 0.4000 0.0667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7458 2.00000 - 5 -30.0478 2.00000 - 6 -30.0311 2.00000 - 7 -29.8133 2.00000 - 8 0.1893 2.00000 - 9 1.9679 2.00000 - 10 4.2451 2.00000 - 11 4.7769 2.00000 - 12 6.4400 2.00000 - 13 7.6916 1.99315 - 14 8.8745 0.00000 - 15 10.0643 0.00000 - 16 11.9241 0.00000 - 17 13.8014 0.00000 - 18 15.2989 0.00000 - - k-point 117 : 0.2667 0.4000 0.0667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7456 2.00000 - 5 -30.0469 2.00000 - 6 -30.0412 2.00000 - 7 -29.8123 2.00000 - 8 0.4706 2.00000 - 9 1.9998 2.00000 - 10 4.0636 2.00000 - 11 4.6916 2.00000 - 12 6.5446 2.00000 - 13 7.3787 2.00000 - 14 8.9926 0.00000 - 15 9.6981 0.00000 - 16 11.6104 0.00000 - 17 14.1038 0.00000 - 18 15.9363 0.00000 - - k-point 118 : 0.3333 0.4000 0.0667 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7454 2.00000 - 5 -30.0508 2.00000 - 6 -30.0460 2.00000 - 7 -29.8114 2.00000 - 8 0.7753 2.00000 - 9 2.0098 2.00000 - 10 3.9391 2.00000 - 11 4.5583 2.00000 - 12 6.6530 2.00000 - 13 7.1493 2.00000 - 14 9.0079 0.00000 - 15 9.4727 0.00000 - 16 11.2802 0.00000 - 17 14.0000 0.00000 - 18 16.5368 0.00000 - - k-point 119 : 0.4000 0.4000 0.0667 - band No. band energies occupation - 1 -91.8795 2.00000 - 2 -91.4245 2.00000 - 3 -91.2895 2.00000 - 4 -65.7452 2.00000 - 5 -30.0583 2.00000 - 6 -30.0454 2.00000 - 7 -29.8107 2.00000 - 8 1.0560 2.00000 - 9 1.9838 2.00000 - 10 3.9064 2.00000 - 11 4.3863 2.00000 - 12 6.7511 2.00000 - 13 7.0039 2.00000 - 14 8.8800 0.00000 - 15 9.4519 0.00000 - 16 11.0055 0.00000 - 17 13.8522 0.00000 - 18 16.8940 0.00000 - - k-point 120 : 0.4667 0.4000 0.0667 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4247 2.00000 - 3 -91.2896 2.00000 - 4 -65.7452 2.00000 - 5 -30.0624 2.00000 - 6 -30.0450 2.00000 - 7 -29.8103 2.00000 - 8 1.2424 2.00000 - 9 1.9383 2.00000 - 10 3.9540 2.00000 - 11 4.2239 2.00000 - 12 6.8299 2.00000 - 13 6.9158 2.00000 - 14 8.7739 0.00000 - 15 9.4832 0.00000 - 16 10.8480 0.00000 - 17 13.7576 0.00000 - 18 16.7488 0.00000 - - k-point 121 : 0.0000 0.4667 0.0667 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2908 2.00000 - 4 -65.7460 2.00000 - 5 -30.0550 2.00000 - 6 -30.0134 2.00000 - 7 -29.8143 2.00000 - 8 0.2043 2.00000 - 9 1.3732 2.00000 - 10 4.6240 2.00000 - 11 4.7616 2.00000 - 12 6.1883 2.00000 - 13 8.5233 0.00000 - 14 8.9674 0.00000 - 15 11.1121 0.00000 - 16 12.0071 0.00000 - 17 12.6025 0.00000 - 18 14.7790 0.00000 - - k-point 122 : 0.0667 0.4667 0.0667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4258 2.00000 - 3 -91.2907 2.00000 - 4 -65.7460 2.00000 - 5 -30.0547 2.00000 - 6 -30.0156 2.00000 - 7 -29.8141 2.00000 - 8 0.2601 2.00000 - 9 1.3783 2.00000 - 10 4.6072 2.00000 - 11 4.7289 2.00000 - 12 6.2110 2.00000 - 13 8.3945 0.00000 - 14 8.9806 0.00000 - 15 10.9757 0.00000 - 16 11.9688 0.00000 - 17 12.8374 0.00000 - 18 14.6721 0.00000 - - k-point 123 : 0.1333 0.4667 0.0667 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7458 2.00000 - 5 -30.0543 2.00000 - 6 -30.0216 2.00000 - 7 -29.8135 2.00000 - 8 0.4205 2.00000 - 9 1.3934 2.00000 - 10 4.5342 2.00000 - 11 4.6626 2.00000 - 12 6.2753 2.00000 - 13 8.0869 0.00390 - 14 9.0106 0.00000 - 15 10.6601 0.00000 - 16 11.8277 0.00000 - 17 13.4681 0.00000 - 18 14.6325 0.00000 - - k-point 124 : 0.2000 0.4667 0.0667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7457 2.00000 - 5 -30.0535 2.00000 - 6 -30.0305 2.00000 - 7 -29.8127 2.00000 - 8 0.6680 2.00000 - 9 1.4216 2.00000 - 10 4.3948 2.00000 - 11 4.5926 2.00000 - 12 6.3719 2.00000 - 13 7.7299 1.96936 - 14 9.0457 0.00000 - 15 10.2612 0.00000 - 16 11.5905 0.00000 - 17 14.2426 0.00000 - 18 14.7492 0.00000 - - k-point 125 : 0.2667 0.4667 0.0667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7455 2.00000 - 5 -30.0527 2.00000 - 6 -30.0406 2.00000 - 7 -29.8117 2.00000 - 8 0.9557 2.00000 - 9 1.4873 2.00000 - 10 4.2358 2.00000 - 11 4.4908 2.00000 - 12 6.4878 2.00000 - 13 7.4124 2.00000 - 14 9.0712 0.00000 - 15 9.8506 0.00000 - 16 11.3089 0.00000 - 17 14.3846 0.00000 - 18 15.5524 0.00000 - - k-point 126 : 0.3333 0.4667 0.0667 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7453 2.00000 - 5 -30.0518 2.00000 - 6 -30.0502 2.00000 - 7 -29.8108 2.00000 - 8 1.1737 2.00000 - 9 1.6621 2.00000 - 10 4.0925 2.00000 - 11 4.3402 2.00000 - 12 6.6061 2.00000 - 13 7.1785 2.00000 - 14 9.0505 0.00000 - 15 9.5155 0.00000 - 16 11.0400 0.00000 - 17 13.9482 0.00000 - 18 16.5775 0.00000 - - k-point 127 : 0.4000 0.4667 0.0667 - band No. band energies occupation - 1 -91.8795 2.00000 - 2 -91.4245 2.00000 - 3 -91.2895 2.00000 - 4 -65.7451 2.00000 - 5 -30.0577 2.00000 - 6 -30.0512 2.00000 - 7 -29.8101 2.00000 - 8 1.2606 2.00000 - 9 1.9475 2.00000 - 10 3.9805 2.00000 - 11 4.1622 2.00000 - 12 6.7058 2.00000 - 13 7.0369 2.00000 - 14 8.9273 0.00000 - 15 9.3617 0.00000 - 16 10.8310 0.00000 - 17 13.7460 0.00000 - 18 17.0707 0.00000 - - k-point 128 : 0.4667 0.4667 0.0667 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4249 2.00000 - 3 -91.2898 2.00000 - 4 -65.7451 2.00000 - 5 -30.0619 2.00000 - 6 -30.0509 2.00000 - 7 -29.8097 2.00000 - 8 1.2859 2.00000 - 9 2.1702 2.00000 - 10 3.8990 2.00000 - 11 4.0390 2.00000 - 12 6.7652 2.00000 - 13 6.9729 2.00000 - 14 8.8041 0.00000 - 15 9.3315 0.00000 - 16 10.7166 0.00000 - 17 13.6320 0.00000 - 18 16.7501 0.00000 - - k-point 129 : 0.0000 0.0000 0.1333 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7464 2.00000 - 5 -30.0175 2.00000 - 6 -29.9844 2.00000 - 7 -29.8488 2.00000 - 8 -1.7370 2.00000 - 9 4.4422 2.00000 - 10 4.8585 2.00000 - 11 6.0714 2.00000 - 12 6.4466 2.00000 - 13 8.2302 0.00000 - 14 8.3749 0.00000 - 15 9.1175 0.00000 - 16 9.2619 0.00000 - 17 14.1349 0.00000 - 18 15.4013 0.00000 - - k-point 130 : 0.0667 0.0000 0.1333 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7463 2.00000 - 5 -30.0195 2.00000 - 6 -29.9841 2.00000 - 7 -29.8486 2.00000 - 8 -1.6861 2.00000 - 9 4.3659 2.00000 - 10 4.8534 2.00000 - 11 5.9862 2.00000 - 12 6.3903 2.00000 - 13 8.0854 0.00417 - 14 8.4524 0.00000 - 15 9.1354 0.00000 - 16 9.5120 0.00000 - 17 14.3643 0.00000 - 18 15.3071 0.00000 - - k-point 131 : 0.1333 0.0000 0.1333 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7463 2.00000 - 5 -30.0256 2.00000 - 6 -29.9835 2.00000 - 7 -29.8481 2.00000 - 8 -1.5384 2.00000 - 9 4.0964 2.00000 - 10 4.8387 2.00000 - 11 5.8780 2.00000 - 12 6.2244 2.00000 - 13 7.8814 1.01531 - 14 8.4118 0.00000 - 15 9.4051 0.00000 - 16 10.0237 0.00000 - 17 14.7831 0.00000 - 18 15.5390 0.00000 - - k-point 132 : 0.2000 0.0000 0.1333 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7461 2.00000 - 5 -30.0342 2.00000 - 6 -29.9826 2.00000 - 7 -29.8473 2.00000 - 8 -1.2961 2.00000 - 9 3.6243 2.00000 - 10 4.8224 2.00000 - 11 5.8880 2.00000 - 12 5.9794 2.00000 - 13 7.7697 1.89014 - 14 8.2240 0.00000 - 15 9.9152 0.00000 - 16 10.6017 0.00000 - 17 14.8981 0.00000 - 18 15.7528 0.00000 - - k-point 133 : 0.2667 0.0000 0.1333 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4247 2.00000 - 3 -91.2897 2.00000 - 4 -65.7459 2.00000 - 5 -30.0442 2.00000 - 6 -29.9816 2.00000 - 7 -29.8464 2.00000 - 8 -0.9701 2.00000 - 9 3.0306 2.00000 - 10 4.8098 2.00000 - 11 5.7145 2.00000 - 12 5.9645 2.00000 - 13 7.7405 1.95587 - 14 8.1068 0.00153 - 15 10.4758 0.00000 - 16 11.1795 0.00000 - 17 14.4320 0.00000 - 18 15.4052 0.00000 - - k-point 134 : 0.3333 0.0000 0.1333 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7457 2.00000 - 5 -30.0538 2.00000 - 6 -29.9807 2.00000 - 7 -29.8456 2.00000 - 8 -0.5710 2.00000 - 9 2.3983 2.00000 - 10 4.8012 2.00000 - 11 5.4818 2.00000 - 12 6.0144 2.00000 - 13 7.7545 1.93036 - 14 8.1644 0.00007 - 15 11.0095 0.00000 - 16 11.7243 0.00000 - 17 13.7286 0.00000 - 18 15.7410 0.00000 - - k-point 135 : 0.4000 0.0000 0.1333 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7456 2.00000 - 5 -30.0614 2.00000 - 6 -29.9799 2.00000 - 7 -29.8449 2.00000 - 8 -0.1177 2.00000 - 9 1.7781 2.00000 - 10 4.7964 2.00000 - 11 5.3133 2.00000 - 12 6.0112 2.00000 - 13 7.7807 1.85123 - 14 8.3693 0.00000 - 15 11.4739 0.00000 - 16 12.2127 0.00000 - 17 12.9109 0.00000 - 18 14.6649 0.00000 - - k-point 136 : 0.4667 0.0000 0.1333 - band No. band energies occupation - 1 -91.8817 2.00000 - 2 -91.4266 2.00000 - 3 -91.2916 2.00000 - 4 -65.7457 2.00000 - 5 -30.0656 2.00000 - 6 -29.9796 2.00000 - 7 -29.8446 2.00000 - 8 0.3197 2.00000 - 9 1.2526 2.00000 - 10 4.7946 2.00000 - 11 5.2255 2.00000 - 12 5.9923 2.00000 - 13 7.7988 1.76488 - 14 8.5626 0.00000 - 15 11.8394 0.00000 - 16 12.3313 0.00000 - 17 12.5446 0.00000 - 18 14.3190 0.00000 - - k-point 137 : 0.0000 0.0667 0.1333 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7463 2.00000 - 5 -30.0172 2.00000 - 6 -29.9873 2.00000 - 7 -29.8485 2.00000 - 8 -1.6849 2.00000 - 9 4.4076 2.00000 - 10 4.8483 2.00000 - 11 6.0207 2.00000 - 12 6.2826 2.00000 - 13 8.0528 0.01618 - 14 8.5353 0.00000 - 15 9.2108 0.00000 - 16 9.3896 0.00000 - 17 14.3918 0.00000 - 18 15.3197 0.00000 - - k-point 138 : 0.0667 0.0667 0.1333 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4246 2.00000 - 3 -91.2896 2.00000 - 4 -65.7463 2.00000 - 5 -30.0193 2.00000 - 6 -29.9870 2.00000 - 7 -29.8483 2.00000 - 8 -1.6339 2.00000 - 9 4.3516 2.00000 - 10 4.8346 2.00000 - 11 5.7996 2.00000 - 12 6.4178 2.00000 - 13 7.7836 1.83923 - 14 8.8250 0.00000 - 15 9.1722 0.00000 - 16 9.5353 0.00000 - 17 14.5019 0.00000 - 18 15.3716 0.00000 - - k-point 139 : 0.1333 0.0667 0.1333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7462 2.00000 - 5 -30.0253 2.00000 - 6 -29.9865 2.00000 - 7 -29.8478 2.00000 - 8 -1.4861 2.00000 - 9 4.1162 2.00000 - 10 4.7981 2.00000 - 11 5.5891 2.00000 - 12 6.4356 2.00000 - 13 7.5244 2.00000 - 14 8.7710 0.00000 - 15 9.5148 0.00000 - 16 9.9362 0.00000 - 17 15.1352 0.00000 - 18 15.4072 0.00000 - - k-point 140 : 0.2000 0.0667 0.1333 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7460 2.00000 - 5 -30.0340 2.00000 - 6 -29.9857 2.00000 - 7 -29.8470 2.00000 - 8 -1.2446 2.00000 - 9 3.6518 2.00000 - 10 4.7706 2.00000 - 11 5.5402 2.00000 - 12 6.2682 2.00000 - 13 7.4667 2.00000 - 14 8.5007 0.00000 - 15 10.0751 0.00000 - 16 10.4593 0.00000 - 17 14.9293 0.00000 - 18 15.7909 0.00000 - - k-point 141 : 0.2667 0.0667 0.1333 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7458 2.00000 - 5 -30.0439 2.00000 - 6 -29.9846 2.00000 - 7 -29.8461 2.00000 - 8 -0.9180 2.00000 - 9 3.0555 2.00000 - 10 4.7621 2.00000 - 11 5.5144 2.00000 - 12 6.0975 2.00000 - 13 7.5228 2.00000 - 14 8.3066 0.00000 - 15 10.6374 0.00000 - 16 11.0036 0.00000 - 17 14.3882 0.00000 - 18 15.7788 0.00000 - - k-point 142 : 0.3333 0.0667 0.1333 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7457 2.00000 - 5 -30.0536 2.00000 - 6 -29.9837 2.00000 - 7 -29.8453 2.00000 - 8 -0.5188 2.00000 - 9 2.4214 2.00000 - 10 4.7659 2.00000 - 11 5.3939 2.00000 - 12 6.0417 2.00000 - 13 7.5977 1.99994 - 14 8.2829 0.00000 - 15 11.1508 0.00000 - 16 11.5105 0.00000 - 17 13.7183 0.00000 - 18 14.9755 0.00000 - - k-point 143 : 0.4000 0.0667 0.1333 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4260 2.00000 - 3 -91.2910 2.00000 - 4 -65.7456 2.00000 - 5 -30.0611 2.00000 - 6 -29.9830 2.00000 - 7 -29.8447 2.00000 - 8 -0.0651 2.00000 - 9 1.8001 2.00000 - 10 4.7789 2.00000 - 11 5.2458 2.00000 - 12 6.0321 2.00000 - 13 7.6461 1.99918 - 14 8.4238 0.00000 - 15 11.5584 0.00000 - 16 11.9266 0.00000 - 17 13.0831 0.00000 - 18 15.6069 0.00000 - - k-point 144 : 0.4667 0.0667 0.1333 - band No. band energies occupation - 1 -91.8817 2.00000 - 2 -91.4266 2.00000 - 3 -91.2916 2.00000 - 4 -65.7456 2.00000 - 5 -30.0653 2.00000 - 6 -29.9826 2.00000 - 7 -29.8443 2.00000 - 8 0.3795 2.00000 - 9 1.2691 2.00000 - 10 4.7936 2.00000 - 11 5.1515 2.00000 - 12 6.0240 2.00000 - 13 7.6686 1.99754 - 14 8.5805 0.00000 - 15 11.7779 0.00000 - 16 12.1352 0.00000 - 17 12.7618 0.00000 - 18 14.3597 0.00000 - - k-point 145 : 0.0000 0.1333 0.1333 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4246 2.00000 - 3 -91.2897 2.00000 - 4 -65.7461 2.00000 - 5 -30.0163 2.00000 - 6 -29.9957 2.00000 - 7 -29.8477 2.00000 - 8 -1.5268 2.00000 - 9 4.2431 2.00000 - 10 4.8102 2.00000 - 11 5.8696 2.00000 - 12 6.0346 2.00000 - 13 7.8110 1.68997 - 14 8.5785 0.00000 - 15 9.3930 0.00000 - 16 9.9093 0.00000 - 17 14.8181 0.00000 - 18 15.3992 0.00000 - - k-point 146 : 0.0667 0.1333 0.1333 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7461 2.00000 - 5 -30.0184 2.00000 - 6 -29.9955 2.00000 - 7 -29.8475 2.00000 - 8 -1.4775 2.00000 - 9 4.2438 2.00000 - 10 4.7542 2.00000 - 11 5.5293 2.00000 - 12 6.3522 2.00000 - 13 7.5150 2.00000 - 14 8.8801 0.00000 - 15 9.4592 0.00000 - 16 9.8752 0.00000 - 17 15.2792 0.00000 - 18 15.6628 0.00000 - - k-point 147 : 0.1333 0.1333 0.1333 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7460 2.00000 - 5 -30.0244 2.00000 - 6 -29.9950 2.00000 - 7 -29.8470 2.00000 - 8 -1.3299 2.00000 - 9 4.1576 2.00000 - 10 4.5679 2.00000 - 11 5.2979 2.00000 - 12 6.6150 2.00000 - 13 7.0904 2.00000 - 14 9.1579 0.00000 - 15 9.5750 0.00000 - 16 10.0825 0.00000 - 17 15.1794 0.00000 - 18 15.4777 0.00000 - - k-point 148 : 0.2000 0.1333 0.1333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7459 2.00000 - 5 -30.0332 2.00000 - 6 -29.9941 2.00000 - 7 -29.8463 2.00000 - 8 -1.0889 2.00000 - 9 3.7247 2.00000 - 10 4.5126 2.00000 - 11 5.2739 2.00000 - 12 6.5053 2.00000 - 13 7.0116 2.00000 - 14 8.9177 0.00000 - 15 10.0553 0.00000 - 16 10.5390 0.00000 - 17 14.9488 0.00000 - 18 15.7735 0.00000 - - k-point 149 : 0.2667 0.1333 0.1333 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7457 2.00000 - 5 -30.0432 2.00000 - 6 -29.9932 2.00000 - 7 -29.8454 2.00000 - 8 -0.7637 2.00000 - 9 3.1184 2.00000 - 10 4.5570 2.00000 - 11 5.2947 2.00000 - 12 6.2309 2.00000 - 13 7.1569 2.00000 - 14 8.6614 0.00000 - 15 10.5778 0.00000 - 16 11.0215 0.00000 - 17 14.3672 0.00000 - 18 16.4135 0.00000 - - k-point 150 : 0.3333 0.1333 0.1333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7455 2.00000 - 5 -30.0528 2.00000 - 6 -29.9922 2.00000 - 7 -29.8445 2.00000 - 8 -0.3665 2.00000 - 9 2.4849 2.00000 - 10 4.6192 2.00000 - 11 5.2403 2.00000 - 12 6.0991 2.00000 - 13 7.2727 2.00000 - 14 8.5350 0.00000 - 15 11.0432 0.00000 - 16 11.4229 0.00000 - 17 13.8722 0.00000 - 18 15.2253 0.00000 - - k-point 151 : 0.4000 0.1333 0.1333 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7454 2.00000 - 5 -30.0603 2.00000 - 6 -29.9915 2.00000 - 7 -29.8439 2.00000 - 8 0.0883 2.00000 - 9 1.8666 2.00000 - 10 4.6927 2.00000 - 11 5.1041 2.00000 - 12 6.0902 2.00000 - 13 7.3348 2.00000 - 14 8.5545 0.00000 - 15 11.3690 0.00000 - 16 11.6761 0.00000 - 17 13.4279 0.00000 - 18 14.9423 0.00000 - - k-point 152 : 0.4667 0.1333 0.1333 - band No. band energies occupation - 1 -91.8813 2.00000 - 2 -91.4263 2.00000 - 3 -91.2913 2.00000 - 4 -65.7454 2.00000 - 5 -30.0645 2.00000 - 6 -29.9911 2.00000 - 7 -29.8436 2.00000 - 8 0.5523 2.00000 - 9 1.3197 2.00000 - 10 4.7737 2.00000 - 11 4.9700 2.00000 - 12 6.1067 2.00000 - 13 7.3584 2.00000 - 14 8.6259 0.00000 - 15 11.4672 0.00000 - 16 11.8083 0.00000 - 17 13.3060 0.00000 - 18 14.7773 0.00000 - - k-point 153 : 0.0000 0.2000 0.1333 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7459 2.00000 - 5 -30.0150 2.00000 - 6 -30.0082 2.00000 - 7 -29.8466 2.00000 - 8 -1.2712 2.00000 - 9 3.8438 2.00000 - 10 4.7684 2.00000 - 11 5.6401 2.00000 - 12 5.9574 2.00000 - 13 7.6738 1.99688 - 14 8.3685 0.00000 - 15 9.9037 0.00000 - 16 10.4726 0.00000 - 17 15.0041 0.00000 - 18 15.6011 0.00000 - - k-point 154 : 0.0667 0.2000 0.1333 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7459 2.00000 - 5 -30.0172 2.00000 - 6 -30.0079 2.00000 - 7 -29.8464 2.00000 - 8 -1.2218 2.00000 - 9 3.8708 2.00000 - 10 4.6756 2.00000 - 11 5.4045 2.00000 - 12 6.1889 2.00000 - 13 7.4347 2.00000 - 14 8.5911 0.00000 - 15 10.0325 0.00000 - 16 10.3726 0.00000 - 17 14.9251 0.00000 - 18 15.8940 0.00000 - - k-point 155 : 0.1333 0.2000 0.1333 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7457 2.00000 - 5 -30.0231 2.00000 - 6 -30.0074 2.00000 - 7 -29.8459 2.00000 - 8 -1.0751 2.00000 - 9 3.9445 2.00000 - 10 4.3254 2.00000 - 11 5.2342 2.00000 - 12 6.4457 2.00000 - 13 7.0265 2.00000 - 14 8.9822 0.00000 - 15 9.9608 0.00000 - 16 10.5366 0.00000 - 17 15.3724 0.00000 - 18 16.2209 0.00000 - - k-point 156 : 0.2000 0.2000 0.1333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7456 2.00000 - 5 -30.0320 2.00000 - 6 -30.0066 2.00000 - 7 -29.8451 2.00000 - 8 -0.8371 2.00000 - 9 3.7696 2.00000 - 10 4.0713 2.00000 - 11 5.2102 2.00000 - 12 6.5202 2.00000 - 13 6.7576 2.00000 - 14 9.2256 0.00000 - 15 9.8208 0.00000 - 16 10.9794 0.00000 - 17 14.6872 0.00000 - 18 16.0115 0.00000 - - k-point 157 : 0.2667 0.2000 0.1333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7454 2.00000 - 5 -30.0420 2.00000 - 6 -30.0056 2.00000 - 7 -29.8442 2.00000 - 8 -0.5159 2.00000 - 9 3.1732 2.00000 - 10 4.2009 2.00000 - 11 5.2095 2.00000 - 12 6.2786 2.00000 - 13 6.8561 2.00000 - 14 9.0363 0.00000 - 15 10.1403 0.00000 - 16 11.3532 0.00000 - 17 14.1947 0.00000 - 18 15.7790 0.00000 - - k-point 158 : 0.3333 0.2000 0.1333 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2902 2.00000 - 4 -65.7452 2.00000 - 5 -30.0516 2.00000 - 6 -30.0047 2.00000 - 7 -29.8434 2.00000 - 8 -0.1232 2.00000 - 9 2.5651 2.00000 - 10 4.3406 2.00000 - 11 5.1419 2.00000 - 12 6.1556 2.00000 - 13 6.9535 2.00000 - 14 8.8219 0.00000 - 15 10.5329 0.00000 - 16 11.5193 0.00000 - 17 13.9904 0.00000 - 18 15.7124 0.00000 - - k-point 159 : 0.4000 0.2000 0.1333 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7451 2.00000 - 5 -30.0592 2.00000 - 6 -30.0040 2.00000 - 7 -29.8427 2.00000 - 8 0.3259 2.00000 - 9 1.9702 2.00000 - 10 4.4841 2.00000 - 11 4.9917 2.00000 - 12 6.1733 2.00000 - 13 7.0010 2.00000 - 14 8.7133 0.00000 - 15 10.8431 0.00000 - 16 11.4585 0.00000 - 17 13.9770 0.00000 - 18 15.7545 0.00000 - - k-point 160 : 0.4667 0.2000 0.1333 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7450 2.00000 - 5 -30.0633 2.00000 - 6 -30.0036 2.00000 - 7 -29.8424 2.00000 - 8 0.8108 2.00000 - 9 1.4140 2.00000 - 10 4.6313 2.00000 - 11 4.8202 2.00000 - 12 6.2227 2.00000 - 13 7.0116 2.00000 - 14 8.6872 0.00000 - 15 11.0198 0.00000 - 16 11.3364 0.00000 - 17 14.1763 0.00000 - 18 15.9685 0.00000 - - k-point 161 : 0.0000 0.2667 0.1333 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2906 2.00000 - 4 -65.7456 2.00000 - 5 -30.0224 2.00000 - 6 -30.0136 2.00000 - 7 -29.8453 2.00000 - 8 -0.9268 2.00000 - 9 3.2623 2.00000 - 10 4.7464 2.00000 - 11 5.3834 2.00000 - 12 5.9960 2.00000 - 13 7.6341 1.99956 - 14 8.2611 0.00000 - 15 10.4569 0.00000 - 16 11.0184 0.00000 - 17 14.2330 0.00000 - 18 15.5535 0.00000 - - k-point 162 : 0.0667 0.2667 0.1333 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7456 2.00000 - 5 -30.0222 2.00000 - 6 -30.0157 2.00000 - 7 -29.8451 2.00000 - 8 -0.8773 2.00000 - 9 3.2832 2.00000 - 10 4.6571 2.00000 - 11 5.2991 2.00000 - 12 6.0714 2.00000 - 13 7.4689 2.00000 - 14 8.4217 0.00000 - 15 10.5908 0.00000 - 16 10.8787 0.00000 - 17 14.2953 0.00000 - 18 16.5961 0.00000 - - k-point 163 : 0.1333 0.2667 0.1333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7455 2.00000 - 5 -30.0218 2.00000 - 6 -30.0216 2.00000 - 7 -29.8446 2.00000 - 8 -0.7317 2.00000 - 9 3.3310 2.00000 - 10 4.3786 2.00000 - 11 5.2110 2.00000 - 12 6.1851 2.00000 - 13 7.1526 2.00000 - 14 8.7615 0.00000 - 15 10.4513 0.00000 - 16 10.9940 0.00000 - 17 14.2699 0.00000 - 18 15.4567 0.00000 - - k-point 164 : 0.2000 0.2667 0.1333 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7453 2.00000 - 5 -30.0306 2.00000 - 6 -30.0209 2.00000 - 7 -29.8438 2.00000 - 8 -0.4981 2.00000 - 9 3.3273 2.00000 - 10 4.0470 2.00000 - 11 5.1832 2.00000 - 12 6.2401 2.00000 - 13 6.8777 2.00000 - 14 9.1353 0.00000 - 15 10.0431 0.00000 - 16 11.3235 0.00000 - 17 14.1794 0.00000 - 18 15.5671 0.00000 - - k-point 165 : 0.2667 0.2667 0.1333 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7451 2.00000 - 5 -30.0407 2.00000 - 6 -30.0200 2.00000 - 7 -29.8429 2.00000 - 8 -0.1859 2.00000 - 9 3.0693 2.00000 - 10 3.9456 2.00000 - 11 5.1491 2.00000 - 12 6.2051 2.00000 - 13 6.7650 2.00000 - 14 9.2971 0.00000 - 15 9.8622 0.00000 - 16 11.4431 0.00000 - 17 14.0899 0.00000 - 18 16.4426 0.00000 - - k-point 166 : 0.3333 0.2667 0.1333 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7449 2.00000 - 5 -30.0503 2.00000 - 6 -30.0191 2.00000 - 7 -29.8421 2.00000 - 8 0.1920 2.00000 - 9 2.6071 2.00000 - 10 4.0528 2.00000 - 11 5.0472 2.00000 - 12 6.1874 2.00000 - 13 6.7639 2.00000 - 14 9.0797 0.00000 - 15 10.0903 0.00000 - 16 11.2974 0.00000 - 17 14.2166 0.00000 - 18 15.6033 0.00000 - - k-point 167 : 0.4000 0.2667 0.1333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7448 2.00000 - 5 -30.0579 2.00000 - 6 -30.0184 2.00000 - 7 -29.8414 2.00000 - 8 0.6211 2.00000 - 9 2.0968 2.00000 - 10 4.2164 2.00000 - 11 4.8791 2.00000 - 12 6.2614 2.00000 - 13 6.7657 2.00000 - 14 8.8662 0.00000 - 15 10.3491 0.00000 - 16 11.0306 0.00000 - 17 14.4108 0.00000 - 18 15.3788 0.00000 - - k-point 168 : 0.4667 0.2667 0.1333 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7447 2.00000 - 5 -30.0620 2.00000 - 6 -30.0180 2.00000 - 7 -29.8411 2.00000 - 8 1.0880 2.00000 - 9 1.5873 2.00000 - 10 4.3747 2.00000 - 11 4.7100 2.00000 - 12 6.3575 2.00000 - 13 6.7421 2.00000 - 14 8.7550 0.00000 - 15 10.5500 0.00000 - 16 10.7906 0.00000 - 17 14.5624 0.00000 - 18 15.1655 0.00000 - - k-point 169 : 0.0000 0.3333 0.1333 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4260 2.00000 - 3 -91.2910 2.00000 - 4 -65.7454 2.00000 - 5 -30.0360 2.00000 - 6 -30.0122 2.00000 - 7 -29.8440 2.00000 - 8 -0.5057 2.00000 - 9 2.6136 2.00000 - 10 4.7370 2.00000 - 11 5.1523 2.00000 - 12 6.0130 2.00000 - 13 7.6494 1.99903 - 14 8.3935 0.00000 - 15 10.9701 0.00000 - 16 11.5187 0.00000 - 17 13.5916 0.00000 - 18 15.0632 0.00000 - - k-point 170 : 0.0667 0.3333 0.1333 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7453 2.00000 - 5 -30.0358 2.00000 - 6 -30.0143 2.00000 - 7 -29.8438 2.00000 - 8 -0.4569 2.00000 - 9 2.6313 2.00000 - 10 4.6641 2.00000 - 11 5.1321 2.00000 - 12 6.0295 2.00000 - 13 7.5280 2.00000 - 14 8.4922 0.00000 - 15 11.0888 0.00000 - 16 11.3355 0.00000 - 17 13.6775 0.00000 - 18 15.0131 0.00000 - - k-point 171 : 0.1333 0.3333 0.1333 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2907 2.00000 - 4 -65.7452 2.00000 - 5 -30.0353 2.00000 - 6 -30.0204 2.00000 - 7 -29.8433 2.00000 - 8 -0.3133 2.00000 - 9 2.6752 2.00000 - 10 4.4540 2.00000 - 11 5.1041 2.00000 - 12 6.0697 2.00000 - 13 7.2554 2.00000 - 14 8.7315 0.00000 - 15 10.8888 0.00000 - 16 11.3448 0.00000 - 17 13.6890 0.00000 - 18 15.8847 0.00000 - - k-point 172 : 0.2000 0.3333 0.1333 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7450 2.00000 - 5 -30.0345 2.00000 - 6 -30.0292 2.00000 - 7 -29.8426 2.00000 - 8 -0.0859 2.00000 - 9 2.7166 2.00000 - 10 4.1804 2.00000 - 11 5.0770 2.00000 - 12 6.1163 2.00000 - 13 6.9765 2.00000 - 14 9.0212 0.00000 - 15 10.3917 0.00000 - 16 11.4336 0.00000 - 17 13.9055 0.00000 - 18 15.2813 0.00000 - - k-point 173 : 0.2667 0.3333 0.1333 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7448 2.00000 - 5 -30.0394 2.00000 - 6 -30.0336 2.00000 - 7 -29.8417 2.00000 - 8 0.2123 2.00000 - 9 2.6878 2.00000 - 10 3.9634 2.00000 - 11 5.0147 2.00000 - 12 6.1592 2.00000 - 13 6.7920 2.00000 - 14 9.2662 0.00000 - 15 9.9512 0.00000 - 16 11.2415 0.00000 - 17 14.1593 0.00000 - 18 15.4866 0.00000 - - k-point 174 : 0.3333 0.3333 0.1333 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7446 2.00000 - 5 -30.0491 2.00000 - 6 -30.0327 2.00000 - 7 -29.8408 2.00000 - 8 0.5609 2.00000 - 9 2.5137 2.00000 - 10 3.9070 2.00000 - 11 4.8851 2.00000 - 12 6.2238 2.00000 - 13 6.7173 2.00000 - 14 9.2451 0.00000 - 15 9.8021 0.00000 - 16 10.8954 0.00000 - 17 14.4228 0.00000 - 18 16.8868 0.00000 - - k-point 175 : 0.4000 0.3333 0.1333 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4247 2.00000 - 3 -91.2897 2.00000 - 4 -65.7444 2.00000 - 5 -30.0566 2.00000 - 6 -30.0320 2.00000 - 7 -29.8402 2.00000 - 8 0.9361 2.00000 - 9 2.2131 2.00000 - 10 3.9968 2.00000 - 11 4.7012 2.00000 - 12 6.3401 2.00000 - 13 6.6831 2.00000 - 14 8.9915 0.00000 - 15 9.9352 0.00000 - 16 10.5511 0.00000 - 17 14.6648 0.00000 - 18 16.6490 0.00000 - - k-point 176 : 0.4667 0.3333 0.1333 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7444 2.00000 - 5 -30.0607 2.00000 - 6 -30.0317 2.00000 - 7 -29.8398 2.00000 - 8 1.2854 2.00000 - 9 1.8883 2.00000 - 10 4.1342 2.00000 - 11 4.5244 2.00000 - 12 6.4820 2.00000 - 13 6.6213 2.00000 - 14 8.8197 0.00000 - 15 10.0947 0.00000 - 16 10.2879 0.00000 - 17 14.4258 0.00000 - 18 16.1813 0.00000 - - k-point 177 : 0.0000 0.4000 0.1333 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7451 2.00000 - 5 -30.0466 2.00000 - 6 -30.0111 2.00000 - 7 -29.8430 2.00000 - 8 -0.0307 2.00000 - 9 1.9718 2.00000 - 10 4.7340 2.00000 - 11 4.9824 2.00000 - 12 5.9781 2.00000 - 13 7.6817 1.99554 - 14 8.7276 0.00000 - 15 11.3873 0.00000 - 16 11.9478 0.00000 - 17 12.7854 0.00000 - 18 23.9436 0.00000 - - k-point 178 : 0.0667 0.4000 0.1333 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7451 2.00000 - 5 -30.0464 2.00000 - 6 -30.0132 2.00000 - 7 -29.8428 2.00000 - 8 0.0185 2.00000 - 9 1.9888 2.00000 - 10 4.6859 2.00000 - 11 4.9653 2.00000 - 12 5.9970 2.00000 - 13 7.5729 1.99999 - 14 8.7751 0.00000 - 15 11.4491 0.00000 - 16 11.7029 0.00000 - 17 13.0190 0.00000 - 18 14.7782 0.00000 - - k-point 179 : 0.1333 0.4000 0.1333 - band No. band energies occupation - 1 -91.8812 2.00000 - 2 -91.4262 2.00000 - 3 -91.2911 2.00000 - 4 -65.7450 2.00000 - 5 -30.0459 2.00000 - 6 -30.0193 2.00000 - 7 -29.8423 2.00000 - 8 0.1624 2.00000 - 9 2.0359 2.00000 - 10 4.5378 2.00000 - 11 4.9360 2.00000 - 12 6.0484 2.00000 - 13 7.3135 2.00000 - 14 8.8969 0.00000 - 15 11.2099 0.00000 - 16 11.4930 0.00000 - 17 13.3525 0.00000 - 18 14.7482 0.00000 - - k-point 180 : 0.2000 0.4000 0.1333 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7448 2.00000 - 5 -30.0451 2.00000 - 6 -30.0282 2.00000 - 7 -29.8416 2.00000 - 8 0.3853 2.00000 - 9 2.1069 2.00000 - 10 4.3253 2.00000 - 11 4.8953 2.00000 - 12 6.1228 2.00000 - 13 7.0290 2.00000 - 14 9.0504 0.00000 - 15 10.6735 0.00000 - 16 11.2840 0.00000 - 17 13.8208 0.00000 - 18 15.4677 0.00000 - - k-point 181 : 0.2667 0.4000 0.1333 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7446 2.00000 - 5 -30.0442 2.00000 - 6 -30.0384 2.00000 - 7 -29.8407 2.00000 - 8 0.6619 2.00000 - 9 2.1867 2.00000 - 10 4.1117 2.00000 - 11 4.8111 2.00000 - 12 6.2095 2.00000 - 13 6.8181 2.00000 - 14 9.1919 0.00000 - 15 10.1602 0.00000 - 16 10.8993 0.00000 - 17 15.1026 0.00000 - 18 15.8962 0.00000 - - k-point 182 : 0.3333 0.4000 0.1333 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7444 2.00000 - 5 -30.0481 2.00000 - 6 -30.0434 2.00000 - 7 -29.8399 2.00000 - 8 0.9577 2.00000 - 9 2.2499 2.00000 - 10 3.9565 2.00000 - 11 4.6608 2.00000 - 12 6.3079 2.00000 - 13 6.7191 2.00000 - 14 9.2475 0.00000 - 15 9.7542 0.00000 - 16 10.4853 0.00000 - 17 14.4236 0.00000 - 18 15.9769 0.00000 - - k-point 183 : 0.4000 0.4000 0.1333 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2900 2.00000 - 4 -65.7442 2.00000 - 5 -30.0556 2.00000 - 6 -30.0428 2.00000 - 7 -29.8392 2.00000 - 8 1.2239 2.00000 - 9 2.2689 2.00000 - 10 3.9080 2.00000 - 11 4.4598 2.00000 - 12 6.4254 2.00000 - 13 6.6915 2.00000 - 14 9.0705 0.00000 - 15 9.6405 0.00000 - 16 10.1444 0.00000 - 17 14.3430 0.00000 - 18 17.2812 0.00000 - - k-point 184 : 0.4667 0.4000 0.1333 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7442 2.00000 - 5 -30.0598 2.00000 - 6 -30.0424 2.00000 - 7 -29.8388 2.00000 - 8 1.3946 2.00000 - 9 2.2508 2.00000 - 10 3.9615 2.00000 - 11 4.2707 2.00000 - 12 6.5390 2.00000 - 13 6.6669 2.00000 - 14 8.8711 0.00000 - 15 9.6833 0.00000 - 16 9.9342 0.00000 - 17 14.2821 0.00000 - 18 16.8667 0.00000 - - k-point 185 : 0.0000 0.4667 0.1333 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4260 2.00000 - 3 -91.2909 2.00000 - 4 -65.7450 2.00000 - 5 -30.0524 2.00000 - 6 -30.0105 2.00000 - 7 -29.8425 2.00000 - 8 0.4229 2.00000 - 9 1.4332 2.00000 - 10 4.7335 2.00000 - 11 4.8932 2.00000 - 12 5.9406 2.00000 - 13 7.7046 1.98825 - 14 9.0485 0.00000 - 15 11.6113 0.00000 - 16 12.2365 0.00000 - 17 12.4166 0.00000 - 18 14.4069 0.00000 - - k-point 186 : 0.0667 0.4667 0.1333 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4260 2.00000 - 3 -91.2909 2.00000 - 4 -65.7450 2.00000 - 5 -30.0522 2.00000 - 6 -30.0126 2.00000 - 7 -29.8423 2.00000 - 8 0.4791 2.00000 - 9 1.4433 2.00000 - 10 4.7207 2.00000 - 11 4.8490 2.00000 - 12 5.9697 2.00000 - 13 7.5985 1.99994 - 14 9.0623 0.00000 - 15 11.5449 0.00000 - 16 11.9351 0.00000 - 17 12.6346 0.00000 - 18 14.4028 0.00000 - - k-point 187 : 0.1333 0.4667 0.1333 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4262 2.00000 - 3 -91.2911 2.00000 - 4 -65.7449 2.00000 - 5 -30.0517 2.00000 - 6 -30.0187 2.00000 - 7 -29.8418 2.00000 - 8 0.6406 2.00000 - 9 1.4754 2.00000 - 10 4.6393 2.00000 - 11 4.7744 2.00000 - 12 6.0463 2.00000 - 13 7.3409 2.00000 - 14 9.0974 0.00000 - 15 11.2685 0.00000 - 16 11.5426 0.00000 - 17 13.2087 0.00000 - 18 14.4572 0.00000 - - k-point 188 : 0.2000 0.4667 0.1333 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4259 2.00000 - 3 -91.2908 2.00000 - 4 -65.7447 2.00000 - 5 -30.0509 2.00000 - 6 -30.0276 2.00000 - 7 -29.8411 2.00000 - 8 0.8849 2.00000 - 9 1.5379 2.00000 - 10 4.4679 2.00000 - 11 4.7154 2.00000 - 12 6.1524 2.00000 - 13 7.0495 2.00000 - 14 9.1423 0.00000 - 15 10.8507 0.00000 - 16 11.0603 0.00000 - 17 14.0298 0.00000 - 18 14.7766 0.00000 - - k-point 189 : 0.2667 0.4667 0.1333 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2911 2.00000 - 4 -65.7445 2.00000 - 5 -30.0501 2.00000 - 6 -30.0378 2.00000 - 7 -29.8402 2.00000 - 8 1.1502 2.00000 - 9 1.6634 2.00000 - 10 4.2778 2.00000 - 11 4.6118 2.00000 - 12 6.2733 2.00000 - 13 6.8222 2.00000 - 14 9.1840 0.00000 - 15 10.3474 0.00000 - 16 10.5871 0.00000 - 17 14.4557 0.00000 - 18 15.2545 0.00000 - - k-point 190 : 0.3333 0.4667 0.1333 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2906 2.00000 - 4 -65.7443 2.00000 - 5 -30.0493 2.00000 - 6 -30.0475 2.00000 - 7 -29.8393 2.00000 - 8 1.3315 2.00000 - 9 1.9197 2.00000 - 10 4.1103 2.00000 - 11 4.4350 2.00000 - 12 6.3954 2.00000 - 13 6.7111 2.00000 - 14 9.1975 0.00000 - 15 9.8332 0.00000 - 16 10.1952 0.00000 - 17 14.3744 0.00000 - 18 15.8908 0.00000 - - k-point 191 : 0.4000 0.4667 0.1333 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7441 2.00000 - 5 -30.0551 2.00000 - 6 -30.0487 2.00000 - 7 -29.8387 2.00000 - 8 1.4141 2.00000 - 9 2.2587 2.00000 - 10 3.9834 2.00000 - 11 4.2083 2.00000 - 12 6.5037 2.00000 - 13 6.7025 2.00000 - 14 9.0928 0.00000 - 15 9.5006 0.00000 - 16 9.9082 0.00000 - 17 14.2642 0.00000 - 18 16.9205 0.00000 - - k-point 192 : 0.4667 0.4667 0.1333 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7441 2.00000 - 5 -30.0593 2.00000 - 6 -30.0483 2.00000 - 7 -29.8383 2.00000 - 8 1.4457 2.00000 - 9 2.5199 2.00000 - 10 3.9004 2.00000 - 11 4.0331 2.00000 - 12 6.5737 2.00000 - 13 6.7304 2.00000 - 14 8.8995 0.00000 - 15 9.4301 0.00000 - 16 9.7525 0.00000 - 17 14.2685 0.00000 - 18 34.2814 0.00000 - - k-point 193 : 0.0000 0.0000 0.2000 - band No. band energies occupation - 1 -91.8795 2.00000 - 2 -91.4244 2.00000 - 3 -91.2894 2.00000 - 4 -65.7449 2.00000 - 5 -30.0129 2.00000 - 6 -29.9797 2.00000 - 7 -29.8895 2.00000 - 8 -1.4187 2.00000 - 9 4.4601 2.00000 - 10 4.6731 2.00000 - 11 5.6743 2.00000 - 12 5.9932 2.00000 - 13 8.1576 0.00010 - 14 8.3102 0.00000 - 15 9.3878 0.00000 - 16 9.5739 0.00000 - 17 14.6169 0.00000 - 18 15.2950 0.00000 - - k-point 194 : 0.0667 0.0000 0.2000 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4249 2.00000 - 3 -91.2900 2.00000 - 4 -65.7449 2.00000 - 5 -30.0151 2.00000 - 6 -29.9795 2.00000 - 7 -29.8894 2.00000 - 8 -1.3679 2.00000 - 9 4.3898 2.00000 - 10 4.6848 2.00000 - 11 5.5775 2.00000 - 12 5.9882 2.00000 - 13 8.0710 0.00779 - 14 8.3358 0.00000 - 15 9.2963 0.00000 - 16 9.8808 0.00000 - 17 14.7640 0.00000 - 18 15.2851 0.00000 - - k-point 195 : 0.1333 0.0000 0.2000 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7447 2.00000 - 5 -30.0211 2.00000 - 6 -29.9789 2.00000 - 7 -29.8889 2.00000 - 8 -1.2205 2.00000 - 9 4.1260 2.00000 - 10 4.7341 2.00000 - 11 5.4333 2.00000 - 12 5.9646 2.00000 - 13 7.6673 1.99769 - 14 8.7032 0.00000 - 15 9.1336 0.00000 - 16 10.4886 0.00000 - 17 14.8840 0.00000 - 18 16.1247 0.00000 - - k-point 196 : 0.2000 0.0000 0.2000 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2897 2.00000 - 4 -65.7446 2.00000 - 5 -30.0299 2.00000 - 6 -29.9782 2.00000 - 7 -29.8882 2.00000 - 8 -0.9808 2.00000 - 9 3.6652 2.00000 - 10 4.7987 2.00000 - 11 5.3993 2.00000 - 12 5.9001 2.00000 - 13 7.3364 2.00000 - 14 8.6839 0.00000 - 15 9.4310 0.00000 - 16 11.1616 0.00000 - 17 14.7250 0.00000 - 18 16.1963 0.00000 - - k-point 197 : 0.2667 0.0000 0.2000 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4250 2.00000 - 3 -91.2899 2.00000 - 4 -65.7444 2.00000 - 5 -30.0400 2.00000 - 6 -29.9771 2.00000 - 7 -29.8874 2.00000 - 8 -0.6587 2.00000 - 9 3.0989 2.00000 - 10 4.8498 2.00000 - 11 5.4590 2.00000 - 12 5.7806 2.00000 - 13 7.1397 2.00000 - 14 8.5209 0.00000 - 15 9.9588 0.00000 - 16 11.8236 0.00000 - 17 14.2014 0.00000 - 18 16.2147 0.00000 - - k-point 198 : 0.3333 0.0000 0.2000 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7442 2.00000 - 5 -30.0497 2.00000 - 6 -29.9762 2.00000 - 7 -29.8866 2.00000 - 8 -0.2656 2.00000 - 9 2.4987 2.00000 - 10 4.8835 2.00000 - 11 5.5379 2.00000 - 12 5.6319 2.00000 - 13 7.0597 2.00000 - 14 8.4828 0.00000 - 15 10.4687 0.00000 - 16 12.4416 0.00000 - 17 13.3290 0.00000 - 18 15.1337 0.00000 - - k-point 199 : 0.4000 0.0000 0.2000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7441 2.00000 - 5 -30.0573 2.00000 - 6 -29.9754 2.00000 - 7 -29.8860 2.00000 - 8 0.1849 2.00000 - 9 1.9035 2.00000 - 10 4.9056 2.00000 - 11 5.5030 2.00000 - 12 5.5861 2.00000 - 13 7.0432 2.00000 - 14 8.5758 0.00000 - 15 10.9253 0.00000 - 16 12.5527 0.00000 - 17 13.0088 0.00000 - 18 14.8073 0.00000 - - k-point 200 : 0.4667 0.0000 0.2000 - band No. band energies occupation - 1 -91.8812 2.00000 - 2 -91.4261 2.00000 - 3 -91.2912 2.00000 - 4 -65.7441 2.00000 - 5 -30.0615 2.00000 - 6 -29.9750 2.00000 - 7 -29.8857 2.00000 - 8 0.6491 2.00000 - 9 1.3651 2.00000 - 10 4.9176 2.00000 - 11 5.4303 2.00000 - 12 5.6017 2.00000 - 13 7.0458 2.00000 - 14 8.6931 0.00000 - 15 11.3271 0.00000 - 16 11.9366 0.00000 - 17 13.5779 0.00000 - 18 14.3517 0.00000 - - k-point 201 : 0.0000 0.0667 0.2000 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7449 2.00000 - 5 -30.0127 2.00000 - 6 -29.9828 2.00000 - 7 -29.8893 2.00000 - 8 -1.3666 2.00000 - 9 4.4223 2.00000 - 10 4.6934 2.00000 - 11 5.6697 2.00000 - 12 5.8285 2.00000 - 13 8.0271 0.04123 - 14 8.3692 0.00000 - 15 9.4509 0.00000 - 16 9.7370 0.00000 - 17 14.9651 0.00000 - 18 15.3421 0.00000 - - k-point 202 : 0.0667 0.0667 0.2000 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4250 2.00000 - 3 -91.2901 2.00000 - 4 -65.7448 2.00000 - 5 -30.0148 2.00000 - 6 -29.9826 2.00000 - 7 -29.8892 2.00000 - 8 -1.3163 2.00000 - 9 4.3772 2.00000 - 10 4.7020 2.00000 - 11 5.4537 2.00000 - 12 5.9491 2.00000 - 13 7.7861 1.82833 - 14 8.5756 0.00000 - 15 9.5058 0.00000 - 16 9.8346 0.00000 - 17 15.0595 0.00000 - 18 16.2568 0.00000 - - k-point 203 : 0.1333 0.0667 0.2000 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4246 2.00000 - 3 -91.2896 2.00000 - 4 -65.7447 2.00000 - 5 -30.0208 2.00000 - 6 -29.9819 2.00000 - 7 -29.8886 2.00000 - 8 -1.1678 2.00000 - 9 4.1541 2.00000 - 10 4.7483 2.00000 - 11 5.2311 2.00000 - 12 6.0125 2.00000 - 13 7.4085 2.00000 - 14 8.9608 0.00000 - 15 9.3188 0.00000 - 16 10.3531 0.00000 - 17 15.1264 0.00000 - 18 15.6355 0.00000 - - k-point 204 : 0.2000 0.0667 0.2000 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4247 2.00000 - 3 -91.2897 2.00000 - 4 -65.7445 2.00000 - 5 -30.0296 2.00000 - 6 -29.9811 2.00000 - 7 -29.8879 2.00000 - 8 -0.9290 2.00000 - 9 3.7034 2.00000 - 10 4.8102 2.00000 - 11 5.1970 2.00000 - 12 5.9664 2.00000 - 13 7.1173 2.00000 - 14 8.9157 0.00000 - 15 9.5830 0.00000 - 16 14.0696 0.00000 - 17 15.5381 0.00000 - 18 16.0450 0.00000 - - k-point 205 : 0.2667 0.0667 0.2000 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7443 2.00000 - 5 -30.0398 2.00000 - 6 -29.9802 2.00000 - 7 -29.8871 2.00000 - 8 -0.6068 2.00000 - 9 3.1346 2.00000 - 10 4.8473 2.00000 - 11 5.3098 2.00000 - 12 5.8138 2.00000 - 13 6.9753 2.00000 - 14 8.6937 0.00000 - 15 10.0930 0.00000 - 16 11.5987 0.00000 - 17 14.2851 0.00000 - 18 15.4916 0.00000 - - k-point 206 : 0.3333 0.0667 0.2000 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7442 2.00000 - 5 -30.0495 2.00000 - 6 -29.9792 2.00000 - 7 -29.8864 2.00000 - 8 -0.2132 2.00000 - 9 2.5322 2.00000 - 10 4.8734 2.00000 - 11 5.4530 2.00000 - 12 5.6251 2.00000 - 13 6.9349 2.00000 - 14 8.5950 0.00000 - 15 10.5671 0.00000 - 16 12.1071 0.00000 - 17 13.6101 0.00000 - 18 15.2056 0.00000 - - k-point 207 : 0.4000 0.0667 0.2000 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7441 2.00000 - 5 -30.0571 2.00000 - 6 -29.9785 2.00000 - 7 -29.8858 2.00000 - 8 0.2373 2.00000 - 9 1.9361 2.00000 - 10 4.9016 2.00000 - 11 5.4135 2.00000 - 12 5.6118 2.00000 - 13 6.9300 2.00000 - 14 8.6308 0.00000 - 15 10.9545 0.00000 - 16 12.2321 0.00000 - 17 13.3411 0.00000 - 18 14.6028 0.00000 - - k-point 208 : 0.4667 0.0667 0.2000 - band No. band energies occupation - 1 -91.8813 2.00000 - 2 -91.4262 2.00000 - 3 -91.2912 2.00000 - 4 -65.7440 2.00000 - 5 -30.0612 2.00000 - 6 -29.9781 2.00000 - 7 -29.8855 2.00000 - 8 0.7080 2.00000 - 9 1.3914 2.00000 - 10 4.9262 2.00000 - 11 5.3148 2.00000 - 12 5.6677 2.00000 - 13 6.9317 2.00000 - 14 8.7105 0.00000 - 15 11.2069 0.00000 - 16 11.9941 0.00000 - 17 13.6247 0.00000 - 18 14.2566 0.00000 - - k-point 209 : 0.0000 0.1333 0.2000 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7447 2.00000 - 5 -30.0118 2.00000 - 6 -29.9913 2.00000 - 7 -29.8886 2.00000 - 8 -1.2087 2.00000 - 9 4.2480 2.00000 - 10 4.7537 2.00000 - 11 5.5479 2.00000 - 12 5.6464 2.00000 - 13 7.5854 1.99997 - 14 8.8369 0.00000 - 15 9.1686 0.00000 - 16 10.3783 0.00000 - 17 15.1703 0.00000 - 18 16.5372 0.00000 - - k-point 210 : 0.0667 0.1333 0.2000 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7446 2.00000 - 5 -30.0140 2.00000 - 6 -29.9911 2.00000 - 7 -29.8884 2.00000 - 8 -1.1599 2.00000 - 9 4.2600 2.00000 - 10 4.7624 2.00000 - 11 5.1876 2.00000 - 12 5.8950 2.00000 - 13 7.3708 2.00000 - 14 9.0334 0.00000 - 15 9.3519 0.00000 - 16 10.2679 0.00000 - 17 15.3111 0.00000 - 18 15.6587 0.00000 - - k-point 211 : 0.1333 0.1333 0.2000 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7445 2.00000 - 5 -30.0200 2.00000 - 6 -29.9906 2.00000 - 7 -29.8880 2.00000 - 8 -1.0132 2.00000 - 9 4.2030 2.00000 - 10 4.7943 2.00000 - 11 4.8011 2.00000 - 12 6.0641 2.00000 - 13 6.9806 2.00000 - 14 9.4178 0.00000 - 15 9.6455 0.00000 - 16 10.1655 0.00000 - 17 15.5541 0.00000 - 18 16.0175 0.00000 - - k-point 212 : 0.2000 0.1333 0.2000 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7444 2.00000 - 5 -30.0289 2.00000 - 6 -29.9897 2.00000 - 7 -29.8872 2.00000 - 8 -0.7738 2.00000 - 9 3.8102 2.00000 - 10 4.7014 2.00000 - 11 4.8920 2.00000 - 12 6.0747 2.00000 - 13 6.6867 2.00000 - 14 9.3773 0.00000 - 15 9.9364 0.00000 - 16 10.5923 0.00000 - 17 15.0458 0.00000 - 18 15.9243 0.00000 - - k-point 213 : 0.2667 0.1333 0.2000 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7441 2.00000 - 5 -30.0390 2.00000 - 6 -29.9887 2.00000 - 7 -29.8864 2.00000 - 8 -0.4528 2.00000 - 9 3.2344 2.00000 - 10 4.7338 2.00000 - 11 5.0752 2.00000 - 12 5.8733 2.00000 - 13 6.6224 2.00000 - 14 9.0753 0.00000 - 15 10.3673 0.00000 - 16 11.1413 0.00000 - 17 14.3495 0.00000 - 18 16.6028 0.00000 - - k-point 214 : 0.3333 0.1333 0.2000 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7440 2.00000 - 5 -30.0487 2.00000 - 6 -29.9878 2.00000 - 7 -29.8857 2.00000 - 8 -0.0611 2.00000 - 9 2.6291 2.00000 - 10 4.7819 2.00000 - 11 5.2693 2.00000 - 12 5.6458 2.00000 - 13 6.6483 2.00000 - 14 8.8604 0.00000 - 15 10.6806 0.00000 - 16 11.6275 0.00000 - 17 13.8130 0.00000 - 18 15.2714 0.00000 - - k-point 215 : 0.4000 0.1333 0.2000 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7438 2.00000 - 5 -30.0563 2.00000 - 6 -29.9871 2.00000 - 7 -29.8850 2.00000 - 8 0.3892 2.00000 - 9 2.0335 2.00000 - 10 4.8463 2.00000 - 11 5.2455 2.00000 - 12 5.6563 2.00000 - 13 6.6606 2.00000 - 14 8.7680 0.00000 - 15 10.8072 0.00000 - 16 11.9897 0.00000 - 17 13.5317 0.00000 - 18 14.8625 0.00000 - - k-point 216 : 0.4667 0.1333 0.2000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7438 2.00000 - 5 -30.0604 2.00000 - 6 -29.9867 2.00000 - 7 -29.8847 2.00000 - 8 0.8747 2.00000 - 9 1.4744 2.00000 - 10 4.9295 2.00000 - 11 5.1004 2.00000 - 12 5.7671 2.00000 - 13 6.6527 2.00000 - 14 8.7570 0.00000 - 15 10.8011 0.00000 - 16 12.1859 0.00000 - 17 13.5593 0.00000 - 18 14.6572 0.00000 - - k-point 217 : 0.0000 0.2000 0.2000 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7444 2.00000 - 5 -30.0105 2.00000 - 6 -30.0038 2.00000 - 7 -29.8876 2.00000 - 8 -0.9548 2.00000 - 9 3.8567 2.00000 - 10 4.8138 2.00000 - 11 5.4323 2.00000 - 12 5.5813 2.00000 - 13 7.2363 2.00000 - 14 8.8397 0.00000 - 15 9.4096 0.00000 - 16 11.0606 0.00000 - 17 14.9041 0.00000 - 18 15.9154 0.00000 - - k-point 218 : 0.0667 0.2000 0.2000 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7444 2.00000 - 5 -30.0127 2.00000 - 6 -30.0037 2.00000 - 7 -29.8874 2.00000 - 8 -0.9054 2.00000 - 9 3.8932 2.00000 - 10 4.8113 2.00000 - 11 5.0970 2.00000 - 12 5.8095 2.00000 - 13 7.0569 2.00000 - 14 9.0275 0.00000 - 15 9.5614 0.00000 - 16 10.9012 0.00000 - 17 15.3640 0.00000 - 18 16.2477 0.00000 - - k-point 219 : 0.1333 0.2000 0.2000 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7443 2.00000 - 5 -30.0188 2.00000 - 6 -30.0031 2.00000 - 7 -29.8869 2.00000 - 8 -0.7600 2.00000 - 9 3.9970 2.00000 - 10 4.5299 2.00000 - 11 4.9001 2.00000 - 12 6.0104 2.00000 - 13 6.6764 2.00000 - 14 9.4299 0.00000 - 15 9.9366 0.00000 - 16 10.5322 0.00000 - 17 15.0414 0.00000 - 18 15.7405 0.00000 - - k-point 220 : 0.2000 0.2000 0.2000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7441 2.00000 - 5 -30.0277 2.00000 - 6 -30.0023 2.00000 - 7 -29.8862 2.00000 - 8 -0.5239 2.00000 - 9 3.9586 2.00000 - 10 4.1573 2.00000 - 11 4.9630 2.00000 - 12 6.1585 2.00000 - 13 6.2704 2.00000 - 14 9.7369 0.00000 - 15 10.1887 0.00000 - 16 10.4392 0.00000 - 17 14.6116 0.00000 - 18 15.8892 0.00000 - - k-point 221 : 0.2667 0.2000 0.2000 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7439 2.00000 - 5 -30.0379 2.00000 - 6 -30.0014 2.00000 - 7 -29.8854 2.00000 - 8 -0.2066 2.00000 - 9 3.3648 2.00000 - 10 4.3281 2.00000 - 11 5.0858 2.00000 - 12 5.8933 2.00000 - 13 6.2876 2.00000 - 14 9.4924 0.00000 - 15 10.3513 0.00000 - 16 10.9098 0.00000 - 17 14.1968 0.00000 - 18 15.6095 0.00000 - - k-point 222 : 0.3333 0.2000 0.2000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7437 2.00000 - 5 -30.0476 2.00000 - 6 -30.0005 2.00000 - 7 -29.8847 2.00000 - 8 0.1788 2.00000 - 9 2.7700 2.00000 - 10 4.4886 2.00000 - 11 5.2214 2.00000 - 12 5.6433 2.00000 - 13 6.3659 2.00000 - 14 9.1667 0.00000 - 15 10.4414 0.00000 - 16 11.3646 0.00000 - 17 13.8896 0.00000 - 18 16.6031 0.00000 - - k-point 223 : 0.4000 0.2000 0.2000 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7436 2.00000 - 5 -30.0552 2.00000 - 6 -29.9998 2.00000 - 7 -29.8840 2.00000 - 8 0.6216 2.00000 - 9 2.1905 2.00000 - 10 4.6276 2.00000 - 11 5.1554 2.00000 - 12 5.7004 2.00000 - 13 6.3833 2.00000 - 14 8.9358 0.00000 - 15 10.3679 0.00000 - 16 11.7330 0.00000 - 17 13.7871 0.00000 - 18 15.4993 0.00000 - - k-point 224 : 0.4667 0.2000 0.2000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4254 2.00000 - 3 -91.2905 2.00000 - 4 -65.7435 2.00000 - 5 -30.0593 2.00000 - 6 -29.9994 2.00000 - 7 -29.8837 2.00000 - 8 1.1087 2.00000 - 9 1.6347 2.00000 - 10 4.7486 2.00000 - 11 4.9984 2.00000 - 12 5.8749 2.00000 - 13 6.3442 2.00000 - 14 8.8213 0.00000 - 15 10.2716 0.00000 - 16 11.9440 0.00000 - 17 13.8193 0.00000 - 18 14.8856 0.00000 - - k-point 225 : 0.0000 0.2667 0.2000 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2901 2.00000 - 4 -65.7441 2.00000 - 5 -30.0183 2.00000 - 6 -30.0091 2.00000 - 7 -29.8863 2.00000 - 8 -0.6139 2.00000 - 9 3.3047 2.00000 - 10 4.8442 2.00000 - 11 5.4603 2.00000 - 12 5.4868 2.00000 - 13 7.0343 2.00000 - 14 8.6590 0.00000 - 15 9.9415 0.00000 - 16 11.7134 0.00000 - 17 14.2240 0.00000 - 18 15.8795 0.00000 - - k-point 226 : 0.0667 0.2667 0.2000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7441 2.00000 - 5 -30.0181 2.00000 - 6 -30.0113 2.00000 - 7 -29.8862 2.00000 - 8 -0.5649 2.00000 - 9 3.3377 2.00000 - 10 4.8084 2.00000 - 11 5.2074 2.00000 - 12 5.6705 2.00000 - 13 6.9017 2.00000 - 14 8.8064 0.00000 - 15 10.0721 0.00000 - 16 11.5068 0.00000 - 17 14.3145 0.00000 - 18 15.6369 0.00000 - - k-point 227 : 0.1333 0.2667 0.2000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2908 2.00000 - 4 -65.7440 2.00000 - 5 -30.0176 2.00000 - 6 -30.0174 2.00000 - 7 -29.8857 2.00000 - 8 -0.4208 2.00000 - 9 3.4287 2.00000 - 10 4.5635 2.00000 - 11 5.0640 2.00000 - 12 5.7943 2.00000 - 13 6.6030 2.00000 - 14 9.1559 0.00000 - 15 10.3672 0.00000 - 16 11.0498 0.00000 - 17 14.3100 0.00000 - 18 15.6899 0.00000 - - k-point 228 : 0.2000 0.2667 0.2000 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7438 2.00000 - 5 -30.0263 2.00000 - 6 -30.0168 2.00000 - 7 -29.8850 2.00000 - 8 -0.1891 2.00000 - 9 3.5310 2.00000 - 10 4.1526 2.00000 - 11 5.0962 2.00000 - 12 5.8378 2.00000 - 13 6.3101 2.00000 - 14 9.5515 0.00000 - 15 10.4117 0.00000 - 16 10.7785 0.00000 - 17 14.0757 0.00000 - 18 16.4690 0.00000 - - k-point 229 : 0.2667 0.2667 0.2000 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7436 2.00000 - 5 -30.0365 2.00000 - 6 -30.0159 2.00000 - 7 -29.8842 2.00000 - 8 0.1197 2.00000 - 9 3.3712 2.00000 - 10 3.9854 2.00000 - 11 5.1910 2.00000 - 12 5.7030 2.00000 - 13 6.2124 2.00000 - 14 9.7686 0.00000 - 15 10.0355 0.00000 - 16 10.9145 0.00000 - 17 13.9867 0.00000 - 18 15.9162 0.00000 - - k-point 230 : 0.3333 0.2667 0.2000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7434 2.00000 - 5 -30.0463 2.00000 - 6 -30.0150 2.00000 - 7 -29.8835 2.00000 - 8 0.4894 2.00000 - 9 2.9018 2.00000 - 10 4.1317 2.00000 - 11 5.2339 2.00000 - 12 5.5776 2.00000 - 13 6.2422 2.00000 - 14 9.4373 0.00000 - 15 9.9987 0.00000 - 16 11.0336 0.00000 - 17 14.2044 0.00000 - 18 15.5874 0.00000 - - k-point 231 : 0.4000 0.2667 0.2000 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7433 2.00000 - 5 -30.0539 2.00000 - 6 -30.0143 2.00000 - 7 -29.8829 2.00000 - 8 0.9061 2.00000 - 9 2.3921 2.00000 - 10 4.3127 2.00000 - 11 5.0699 2.00000 - 12 5.7376 2.00000 - 13 6.2494 2.00000 - 14 9.0950 0.00000 - 15 9.8623 0.00000 - 16 11.1873 0.00000 - 17 15.0131 0.00000 - 18 17.2295 0.00000 - - k-point 232 : 0.4667 0.2667 0.2000 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4247 2.00000 - 3 -91.2897 2.00000 - 4 -65.7431 2.00000 - 5 -30.0580 2.00000 - 6 -30.0139 2.00000 - 7 -29.8825 2.00000 - 8 1.3392 2.00000 - 9 1.9119 2.00000 - 10 4.4535 2.00000 - 11 4.9101 2.00000 - 12 5.9724 2.00000 - 13 6.1724 2.00000 - 14 8.8920 0.00000 - 15 9.7378 0.00000 - 16 11.2934 0.00000 - 17 14.5094 0.00000 - 18 14.9006 0.00000 - - k-point 233 : 0.0000 0.3333 0.2000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7438 2.00000 - 5 -30.0320 2.00000 - 6 -30.0077 2.00000 - 7 -29.8852 2.00000 - 8 -0.1990 2.00000 - 9 2.6933 2.00000 - 10 4.8622 2.00000 - 11 5.3088 2.00000 - 12 5.5698 2.00000 - 13 6.9576 2.00000 - 14 8.6840 0.00000 - 15 10.4231 0.00000 - 16 12.3103 0.00000 - 17 13.3388 0.00000 - 18 15.0063 0.00000 - - k-point 234 : 0.0667 0.3333 0.2000 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7438 2.00000 - 5 -30.0318 2.00000 - 6 -30.0099 2.00000 - 7 -29.8850 2.00000 - 8 -0.1505 2.00000 - 9 2.7229 2.00000 - 10 4.8168 2.00000 - 11 5.2487 2.00000 - 12 5.5888 2.00000 - 13 6.8570 2.00000 - 14 8.7830 0.00000 - 15 10.5162 0.00000 - 16 12.0017 0.00000 - 17 13.5605 0.00000 - 18 14.9311 0.00000 - - k-point 235 : 0.1333 0.3333 0.2000 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2902 2.00000 - 4 -65.7436 2.00000 - 5 -30.0312 2.00000 - 6 -30.0160 2.00000 - 7 -29.8846 2.00000 - 8 -0.0083 2.00000 - 9 2.8063 2.00000 - 10 4.6280 2.00000 - 11 5.1868 2.00000 - 12 5.6156 2.00000 - 13 6.6210 2.00000 - 14 9.0297 0.00000 - 15 10.6548 0.00000 - 16 11.4979 0.00000 - 17 13.6805 0.00000 - 18 16.1680 0.00000 - - k-point 236 : 0.2000 0.3333 0.2000 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7435 2.00000 - 5 -30.0305 2.00000 - 6 -30.0249 2.00000 - 7 -29.8838 2.00000 - 8 0.2176 2.00000 - 9 2.9196 2.00000 - 10 4.3150 2.00000 - 11 5.2001 2.00000 - 12 5.6107 2.00000 - 13 6.3844 2.00000 - 14 9.3223 0.00000 - 15 10.4868 0.00000 - 16 11.1488 0.00000 - 17 13.7394 0.00000 - 18 15.2525 0.00000 - - k-point 237 : 0.2667 0.3333 0.2000 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7433 2.00000 - 5 -30.0353 2.00000 - 6 -30.0296 2.00000 - 7 -29.8831 2.00000 - 8 0.5095 2.00000 - 9 2.9934 2.00000 - 10 4.0235 2.00000 - 11 5.2081 2.00000 - 12 5.5733 2.00000 - 13 6.2653 2.00000 - 14 9.5540 0.00000 - 15 10.0537 0.00000 - 16 10.8460 0.00000 - 17 14.0317 0.00000 - 18 16.9865 0.00000 - - k-point 238 : 0.3333 0.3333 0.2000 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7431 2.00000 - 5 -30.0450 2.00000 - 6 -30.0288 2.00000 - 7 -29.8823 2.00000 - 8 0.8493 2.00000 - 9 2.8878 2.00000 - 10 3.9281 2.00000 - 11 5.0740 2.00000 - 12 5.6506 2.00000 - 13 6.2584 2.00000 - 14 9.5863 0.00000 - 15 9.6119 0.00000 - 16 10.5896 0.00000 - 17 14.5477 0.00000 - 18 16.1231 0.00000 - - k-point 239 : 0.4000 0.3333 0.2000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7430 2.00000 - 5 -30.0527 2.00000 - 6 -30.0281 2.00000 - 7 -29.8818 2.00000 - 8 1.2065 2.00000 - 9 2.5979 2.00000 - 10 4.0342 2.00000 - 11 4.8601 2.00000 - 12 5.8427 2.00000 - 13 6.2709 2.00000 - 14 9.2185 0.00000 - 15 9.4083 0.00000 - 16 10.5443 0.00000 - 17 14.9799 0.00000 - 18 16.9946 0.00000 - - k-point 240 : 0.4667 0.3333 0.2000 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7429 2.00000 - 5 -30.0568 2.00000 - 6 -30.0277 2.00000 - 7 -29.8814 2.00000 - 8 1.5149 2.00000 - 9 2.3015 2.00000 - 10 4.1783 2.00000 - 11 4.6820 2.00000 - 12 6.0499 2.00000 - 13 6.2287 2.00000 - 14 8.9581 0.00000 - 15 9.2598 0.00000 - 16 10.5742 0.00000 - 17 14.8199 0.00000 - 18 15.4551 0.00000 - - k-point 241 : 0.0000 0.4000 0.2000 - band No. band energies occupation - 1 -91.8812 2.00000 - 2 -91.4262 2.00000 - 3 -91.2912 2.00000 - 4 -65.7436 2.00000 - 5 -30.0427 2.00000 - 6 -30.0068 2.00000 - 7 -29.8843 2.00000 - 8 0.2722 2.00000 - 9 2.0800 2.00000 - 10 4.8773 2.00000 - 11 5.1767 2.00000 - 12 5.6077 2.00000 - 13 6.9482 2.00000 - 14 8.9102 0.00000 - 15 10.8202 0.00000 - 16 12.5032 0.00000 - 17 12.8741 0.00000 - 18 14.6540 0.00000 - - k-point 242 : 0.0667 0.4000 0.2000 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7436 2.00000 - 5 -30.0425 2.00000 - 6 -30.0088 2.00000 - 7 -29.8842 2.00000 - 8 0.3219 2.00000 - 9 2.1086 2.00000 - 10 4.8435 2.00000 - 11 5.1373 2.00000 - 12 5.6282 2.00000 - 13 6.8548 2.00000 - 14 8.9591 0.00000 - 15 10.8385 0.00000 - 16 12.1616 0.00000 - 17 13.3887 0.00000 - 18 14.7173 0.00000 - - k-point 243 : 0.1333 0.4000 0.2000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7434 2.00000 - 5 -30.0420 2.00000 - 6 -30.0149 2.00000 - 7 -29.8837 2.00000 - 8 0.4637 2.00000 - 9 2.1902 2.00000 - 10 4.6998 2.00000 - 11 5.0929 2.00000 - 12 5.6713 2.00000 - 13 6.6315 2.00000 - 14 9.0845 0.00000 - 15 10.7099 0.00000 - 16 11.8347 0.00000 - 17 13.3260 0.00000 - 18 14.8037 0.00000 - - k-point 244 : 0.2000 0.4000 0.2000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2904 2.00000 - 4 -65.7433 2.00000 - 5 -30.0412 2.00000 - 6 -30.0239 2.00000 - 7 -29.8830 2.00000 - 8 0.6817 2.00000 - 9 2.3190 2.00000 - 10 4.4554 2.00000 - 11 5.0740 2.00000 - 12 5.7125 2.00000 - 13 6.4023 2.00000 - 14 9.2380 0.00000 - 15 10.3235 0.00000 - 16 11.4656 0.00000 - 17 13.6342 0.00000 - 18 15.3546 0.00000 - - k-point 245 : 0.2667 0.4000 0.2000 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7431 2.00000 - 5 -30.0404 2.00000 - 6 -30.0342 2.00000 - 7 -29.8822 2.00000 - 8 0.9487 2.00000 - 9 2.4808 2.00000 - 10 4.1899 2.00000 - 11 5.0008 2.00000 - 12 5.7567 2.00000 - 13 6.2838 2.00000 - 14 9.3589 0.00000 - 15 9.8771 0.00000 - 16 10.8863 0.00000 - 17 14.2986 0.00000 - 18 15.7162 0.00000 - - k-point 246 : 0.3333 0.4000 0.2000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2905 2.00000 - 4 -65.7429 2.00000 - 5 -30.0441 2.00000 - 6 -30.0396 2.00000 - 7 -29.8814 2.00000 - 8 1.2299 2.00000 - 9 2.6376 2.00000 - 10 3.9806 2.00000 - 11 4.8199 2.00000 - 12 5.8594 2.00000 - 13 6.2868 2.00000 - 14 9.3046 0.00000 - 15 9.5580 0.00000 - 16 10.2980 0.00000 - 17 14.7255 0.00000 - 18 15.1041 0.00000 - - k-point 247 : 0.4000 0.4000 0.2000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7427 2.00000 - 5 -30.0517 2.00000 - 6 -30.0390 2.00000 - 7 -29.8808 2.00000 - 8 1.4810 2.00000 - 9 2.7241 2.00000 - 10 3.9050 2.00000 - 11 4.5774 2.00000 - 12 6.0293 2.00000 - 13 6.3312 2.00000 - 14 9.0511 0.00000 - 15 9.2924 0.00000 - 16 9.9968 0.00000 - 17 14.8542 0.00000 - 18 17.0014 0.00000 - - k-point 248 : 0.4667 0.4000 0.2000 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7427 2.00000 - 5 -30.0559 2.00000 - 6 -30.0387 2.00000 - 7 -29.8806 2.00000 - 8 1.6404 2.00000 - 9 2.7265 2.00000 - 10 3.9706 2.00000 - 11 4.3593 2.00000 - 12 6.1919 2.00000 - 13 6.3459 2.00000 - 14 8.8868 0.00000 - 15 9.0124 0.00000 - 16 9.9580 0.00000 - 17 16.6992 0.00000 - 18 18.2794 0.00000 - - k-point 249 : 0.0000 0.4667 0.2000 - band No. band energies occupation - 1 -91.8816 2.00000 - 2 -91.4266 2.00000 - 3 -91.2915 2.00000 - 4 -65.7435 2.00000 - 5 -30.0485 2.00000 - 6 -30.0062 2.00000 - 7 -29.8839 2.00000 - 8 0.7508 2.00000 - 9 1.5290 2.00000 - 10 4.8872 2.00000 - 11 5.1019 2.00000 - 12 5.6111 2.00000 - 13 6.9563 2.00000 - 14 9.1684 0.00000 - 15 11.0963 0.00000 - 16 11.8845 0.00000 - 17 13.4542 0.00000 - 18 13.9816 0.00000 - - k-point 250 : 0.0667 0.4667 0.2000 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7434 2.00000 - 5 -30.0483 2.00000 - 6 -30.0082 2.00000 - 7 -29.8836 2.00000 - 8 0.8074 2.00000 - 9 1.5503 2.00000 - 10 4.8837 2.00000 - 11 5.0282 2.00000 - 12 5.6611 2.00000 - 13 6.8614 2.00000 - 14 9.1821 0.00000 - 15 10.9712 0.00000 - 16 11.9443 0.00000 - 17 13.3175 0.00000 - 18 14.0111 0.00000 - - k-point 251 : 0.1333 0.4667 0.2000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4260 2.00000 - 3 -91.2909 2.00000 - 4 -65.7433 2.00000 - 5 -30.0478 2.00000 - 6 -30.0143 2.00000 - 7 -29.8832 2.00000 - 8 0.9654 2.00000 - 9 1.6153 2.00000 - 10 4.7866 2.00000 - 11 4.9431 2.00000 - 12 5.7637 2.00000 - 13 6.6281 2.00000 - 14 9.2181 0.00000 - 15 10.6031 0.00000 - 16 12.0239 0.00000 - 17 13.2393 0.00000 - 18 14.3926 0.00000 - - k-point 252 : 0.2000 0.4667 0.2000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4260 2.00000 - 3 -91.2909 2.00000 - 4 -65.7432 2.00000 - 5 -30.0471 2.00000 - 6 -30.0234 2.00000 - 7 -29.8825 2.00000 - 8 1.1904 2.00000 - 9 1.7430 2.00000 - 10 4.5650 2.00000 - 11 4.9174 2.00000 - 12 5.8769 2.00000 - 13 6.3717 2.00000 - 14 9.2652 0.00000 - 15 10.1220 0.00000 - 16 11.6464 0.00000 - 17 13.6165 0.00000 - 18 14.7417 0.00000 - - k-point 253 : 0.2667 0.4667 0.2000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2905 2.00000 - 4 -65.7430 2.00000 - 5 -30.0463 2.00000 - 6 -30.0337 2.00000 - 7 -29.8817 2.00000 - 8 1.4108 2.00000 - 9 1.9753 2.00000 - 10 4.3324 2.00000 - 11 4.8220 2.00000 - 12 5.9828 2.00000 - 13 6.2221 2.00000 - 14 9.3061 0.00000 - 15 9.6403 0.00000 - 16 10.9581 0.00000 - 17 14.3215 0.00000 - 18 14.8365 0.00000 - - k-point 254 : 0.3333 0.4667 0.2000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7428 2.00000 - 5 -30.0455 2.00000 - 6 -30.0435 2.00000 - 7 -29.8809 2.00000 - 8 1.5658 2.00000 - 9 2.3279 2.00000 - 10 4.1275 2.00000 - 11 4.6077 2.00000 - 12 6.0847 2.00000 - 13 6.2409 2.00000 - 14 9.1753 0.00000 - 15 9.3638 0.00000 - 16 10.2421 0.00000 - 17 14.7264 0.00000 - 18 15.1864 0.00000 - - k-point 255 : 0.4000 0.4667 0.2000 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7426 2.00000 - 5 -30.0512 2.00000 - 6 -30.0449 2.00000 - 7 -29.8803 2.00000 - 8 1.6627 2.00000 - 9 2.7320 2.00000 - 10 3.9747 2.00000 - 11 4.3124 2.00000 - 12 6.2217 2.00000 - 13 6.3335 2.00000 - 14 8.8577 0.00000 - 15 9.2736 0.00000 - 16 9.7144 0.00000 - 17 14.6891 0.00000 - 18 16.0466 0.00000 - - k-point 256 : 0.4667 0.4667 0.2000 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7426 2.00000 - 5 -30.0554 2.00000 - 6 -30.0446 2.00000 - 7 -29.8800 2.00000 - 8 1.7108 2.00000 - 9 3.0627 2.00000 - 10 3.8918 2.00000 - 11 4.0425 2.00000 - 12 6.3299 2.00000 - 13 6.4187 2.00000 - 14 8.6764 0.00000 - 15 9.0361 0.00000 - 16 9.5744 0.00000 - 17 15.1073 0.00000 - 18 16.7779 0.00000 - - k-point 257 : 0.0000 0.0000 0.2667 - band No. band energies occupation - 1 -91.8791 2.00000 - 2 -91.4239 2.00000 - 3 -91.2890 2.00000 - 4 -65.7431 2.00000 - 5 -30.0077 2.00000 - 6 -29.9745 2.00000 - 7 -29.9360 2.00000 - 8 -0.9922 2.00000 - 9 4.1697 2.00000 - 10 4.4791 2.00000 - 11 5.2762 2.00000 - 12 5.5520 2.00000 - 13 8.4050 0.00000 - 14 8.4412 0.00000 - 15 9.7376 0.00000 - 16 9.9653 0.00000 - 17 14.6114 0.00000 - 18 15.5437 0.00000 - - k-point 258 : 0.0667 0.0000 0.2667 - band No. band energies occupation - 1 -91.8795 2.00000 - 2 -91.4244 2.00000 - 3 -91.2894 2.00000 - 4 -65.7431 2.00000 - 5 -30.0099 2.00000 - 6 -29.9743 2.00000 - 7 -29.9359 2.00000 - 8 -0.9433 2.00000 - 9 4.1493 2.00000 - 10 4.4316 2.00000 - 11 5.2543 2.00000 - 12 5.5665 2.00000 - 13 8.1472 0.00018 - 14 8.5627 0.00000 - 15 9.6381 0.00000 - 16 10.2814 0.00000 - 17 14.5670 0.00000 - 18 16.3874 0.00000 - - k-point 259 : 0.1333 0.0000 0.2667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7431 2.00000 - 5 -30.0160 2.00000 - 6 -29.9738 2.00000 - 7 -29.9355 2.00000 - 8 -0.7997 2.00000 - 9 3.9591 2.00000 - 10 4.4276 2.00000 - 11 5.2220 2.00000 - 12 5.6067 2.00000 - 13 7.6690 1.99751 - 14 8.8770 0.00000 - 15 9.3920 0.00000 - 16 10.9261 0.00000 - 17 14.5052 0.00000 - 18 15.8789 0.00000 - - k-point 260 : 0.2000 0.0000 0.2667 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7429 2.00000 - 5 -30.0250 2.00000 - 6 -29.9729 2.00000 - 7 -29.9348 2.00000 - 8 -0.5652 2.00000 - 9 3.5680 2.00000 - 10 4.5355 2.00000 - 11 5.2114 2.00000 - 12 5.6623 2.00000 - 13 7.2067 2.00000 - 14 9.1059 0.00000 - 15 9.2908 0.00000 - 16 11.6363 0.00000 - 17 14.1697 0.00000 - 18 15.7589 0.00000 - - k-point 261 : 0.2667 0.0000 0.2667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7427 2.00000 - 5 -30.0353 2.00000 - 6 -29.9719 2.00000 - 7 -29.9341 2.00000 - 8 -0.2521 2.00000 - 9 3.0868 2.00000 - 10 4.6814 2.00000 - 11 5.2185 2.00000 - 12 5.7142 2.00000 - 13 6.8332 2.00000 - 14 8.8793 0.00000 - 15 9.7265 0.00000 - 16 12.2929 0.00000 - 17 13.5685 0.00000 - 18 16.1058 0.00000 - - k-point 262 : 0.3333 0.0000 0.2667 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7425 2.00000 - 5 -30.0450 2.00000 - 6 -29.9710 2.00000 - 7 -29.9334 2.00000 - 8 0.1257 2.00000 - 9 2.5716 2.00000 - 10 4.8261 2.00000 - 11 5.2273 2.00000 - 12 5.7364 2.00000 - 13 6.5820 2.00000 - 14 8.7708 0.00000 - 15 10.1434 0.00000 - 16 12.7927 0.00000 - 17 12.8308 0.00000 - 18 15.4481 0.00000 - - k-point 263 : 0.4000 0.0000 0.2667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7424 2.00000 - 5 -30.0526 2.00000 - 6 -29.9703 2.00000 - 7 -29.9329 2.00000 - 8 0.5574 2.00000 - 9 2.0489 2.00000 - 10 4.9438 2.00000 - 11 5.2220 2.00000 - 12 5.7179 2.00000 - 13 6.4574 2.00000 - 14 8.7837 0.00000 - 15 10.5245 0.00000 - 16 12.1279 0.00000 - 17 13.0743 0.00000 - 18 15.2254 0.00000 - - k-point 264 : 0.4667 0.0000 0.2667 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7423 2.00000 - 5 -30.0568 2.00000 - 6 -29.9699 2.00000 - 7 -29.9325 2.00000 - 8 1.0239 2.00000 - 9 1.5364 2.00000 - 10 5.0194 2.00000 - 11 5.2031 2.00000 - 12 5.6900 2.00000 - 13 6.4177 2.00000 - 14 8.8427 0.00000 - 15 10.8611 0.00000 - 16 11.5754 0.00000 - 17 13.1725 0.00000 - 18 14.7884 0.00000 - - k-point 265 : 0.0000 0.0667 0.2667 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4246 2.00000 - 3 -91.2897 2.00000 - 4 -65.7431 2.00000 - 5 -30.0075 2.00000 - 6 -29.9776 2.00000 - 7 -29.9357 2.00000 - 8 -0.9418 2.00000 - 9 4.1601 2.00000 - 10 4.4633 2.00000 - 11 5.2925 2.00000 - 12 5.4803 2.00000 - 13 8.1369 0.00033 - 14 8.5843 0.00000 - 15 9.8748 0.00000 - 16 14.2706 0.00000 - 17 16.6056 0.00000 - 18 16.6825 0.00000 - - k-point 266 : 0.0667 0.0667 0.2667 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4246 2.00000 - 3 -91.2896 2.00000 - 4 -65.7431 2.00000 - 5 -30.0097 2.00000 - 6 -29.9774 2.00000 - 7 -29.9356 2.00000 - 8 -0.8921 2.00000 - 9 4.1617 2.00000 - 10 4.4064 2.00000 - 11 5.2343 2.00000 - 12 5.5218 2.00000 - 13 7.8744 1.09434 - 14 8.6852 0.00000 - 15 9.8973 0.00000 - 16 10.2230 0.00000 - 17 14.6840 0.00000 - 18 15.1549 0.00000 - - k-point 267 : 0.1333 0.0667 0.2667 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4246 2.00000 - 3 -91.2897 2.00000 - 4 -65.7430 2.00000 - 5 -30.0157 2.00000 - 6 -29.9768 2.00000 - 7 -29.9352 2.00000 - 8 -0.7465 2.00000 - 9 4.0060 2.00000 - 10 4.3910 2.00000 - 11 5.1646 2.00000 - 12 5.5823 2.00000 - 13 7.4453 2.00000 - 14 8.9926 0.00000 - 15 9.6515 0.00000 - 16 10.7842 0.00000 - 17 14.7401 0.00000 - 18 15.9068 0.00000 - - k-point 268 : 0.2000 0.0667 0.2667 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7428 2.00000 - 5 -30.0247 2.00000 - 6 -29.9759 2.00000 - 7 -29.9346 2.00000 - 8 -0.5124 2.00000 - 9 3.6173 2.00000 - 10 4.5175 2.00000 - 11 5.1467 2.00000 - 12 5.6283 2.00000 - 13 7.0241 2.00000 - 14 9.3214 0.00000 - 15 9.4009 0.00000 - 16 11.4365 0.00000 - 17 14.2651 0.00000 - 18 15.7142 0.00000 - - k-point 269 : 0.2667 0.0667 0.2667 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7426 2.00000 - 5 -30.0350 2.00000 - 6 -29.9750 2.00000 - 7 -29.9339 2.00000 - 8 -0.2008 2.00000 - 9 3.1352 2.00000 - 10 4.6826 2.00000 - 11 5.1753 2.00000 - 12 5.6422 2.00000 - 13 6.6940 2.00000 - 14 9.0514 0.00000 - 15 9.8080 0.00000 - 16 13.0238 0.00000 - 17 15.4136 0.00000 - 18 16.0797 0.00000 - - k-point 270 : 0.3333 0.0667 0.2667 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7424 2.00000 - 5 -30.0447 2.00000 - 6 -29.9741 2.00000 - 7 -29.9332 2.00000 - 8 0.1782 2.00000 - 9 2.6185 2.00000 - 10 4.8334 2.00000 - 11 5.2268 2.00000 - 12 5.6216 2.00000 - 13 6.4836 2.00000 - 14 8.8850 0.00000 - 15 10.1806 0.00000 - 16 12.1773 0.00000 - 17 13.4647 0.00000 - 18 15.3704 0.00000 - - k-point 271 : 0.4000 0.0667 0.2667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7423 2.00000 - 5 -30.0524 2.00000 - 6 -29.9734 2.00000 - 7 -29.9327 2.00000 - 8 0.6080 2.00000 - 9 2.0944 2.00000 - 10 4.9487 2.00000 - 11 5.2360 2.00000 - 12 5.6214 2.00000 - 13 6.3720 2.00000 - 14 8.8398 0.00000 - 15 10.4741 0.00000 - 16 11.9232 0.00000 - 17 13.5675 0.00000 - 18 15.0575 0.00000 - - k-point 272 : 0.4667 0.0667 0.2667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7422 2.00000 - 5 -30.0566 2.00000 - 6 -29.9730 2.00000 - 7 -29.9323 2.00000 - 8 1.0767 2.00000 - 9 1.5797 2.00000 - 10 5.0331 2.00000 - 11 5.1824 2.00000 - 12 5.6559 2.00000 - 13 6.3220 2.00000 - 14 8.8601 0.00000 - 15 10.6497 0.00000 - 16 11.6448 0.00000 - 17 13.4921 0.00000 - 18 14.9068 0.00000 - - k-point 273 : 0.0000 0.1333 0.2667 - band No. band energies occupation - 1 -91.8794 2.00000 - 2 -91.4243 2.00000 - 3 -91.2893 2.00000 - 4 -65.7429 2.00000 - 5 -30.0066 2.00000 - 6 -29.9862 2.00000 - 7 -29.9351 2.00000 - 8 -0.7866 2.00000 - 9 4.0335 2.00000 - 10 4.4889 2.00000 - 11 5.3371 2.00000 - 12 5.3463 2.00000 - 13 7.5604 1.99999 - 14 8.8667 0.00000 - 15 9.5757 0.00000 - 16 10.8119 0.00000 - 17 15.0193 0.00000 - 18 16.5679 0.00000 - - k-point 274 : 0.0667 0.1333 0.2667 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4246 2.00000 - 3 -91.2896 2.00000 - 4 -65.7429 2.00000 - 5 -30.0088 2.00000 - 6 -29.9860 2.00000 - 7 -29.9350 2.00000 - 8 -0.7381 2.00000 - 9 4.0728 2.00000 - 10 4.4246 2.00000 - 11 5.1607 2.00000 - 12 5.4807 2.00000 - 13 7.3825 2.00000 - 14 8.9797 0.00000 - 15 9.7876 0.00000 - 16 10.6899 0.00000 - 17 14.8927 0.00000 - 18 16.0636 0.00000 - - k-point 275 : 0.1333 0.1333 0.2667 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7428 2.00000 - 5 -30.0149 2.00000 - 6 -29.9854 2.00000 - 7 -29.9346 2.00000 - 8 -0.5926 2.00000 - 9 4.1214 2.00000 - 10 4.2640 2.00000 - 11 5.0156 2.00000 - 12 5.5704 2.00000 - 13 7.0120 2.00000 - 14 9.2675 0.00000 - 15 10.0834 0.00000 - 16 10.5691 0.00000 - 17 14.8072 0.00000 - 18 15.6699 0.00000 - - k-point 276 : 0.2000 0.1333 0.2667 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4248 2.00000 - 3 -91.2899 2.00000 - 4 -65.7426 2.00000 - 5 -30.0239 2.00000 - 6 -29.9846 2.00000 - 7 -29.9340 2.00000 - 8 -0.3590 2.00000 - 9 3.7621 2.00000 - 10 4.4212 2.00000 - 11 4.9587 2.00000 - 12 5.6136 2.00000 - 13 6.6438 2.00000 - 14 9.6171 0.00000 - 15 9.8168 0.00000 - 16 11.0150 0.00000 - 17 14.3910 0.00000 - 18 16.1444 0.00000 - - k-point 277 : 0.2667 0.1333 0.2667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7424 2.00000 - 5 -30.0342 2.00000 - 6 -29.9837 2.00000 - 7 -29.9333 2.00000 - 8 -0.0480 2.00000 - 9 3.2758 2.00000 - 10 4.6646 2.00000 - 11 4.9722 2.00000 - 12 5.5802 2.00000 - 13 6.3794 2.00000 - 14 9.4388 0.00000 - 15 9.9520 0.00000 - 16 11.4875 0.00000 - 17 13.9130 0.00000 - 18 15.6021 0.00000 - - k-point 278 : 0.3333 0.1333 0.2667 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7422 2.00000 - 5 -30.0440 2.00000 - 6 -29.9828 2.00000 - 7 -29.9326 2.00000 - 8 0.3278 2.00000 - 9 2.7560 2.00000 - 10 4.8584 2.00000 - 11 5.1054 2.00000 - 12 5.4544 2.00000 - 13 6.2435 2.00000 - 14 9.1535 0.00000 - 15 10.1417 0.00000 - 16 11.7635 0.00000 - 17 13.9583 0.00000 - 18 15.3074 0.00000 - - k-point 279 : 0.4000 0.1333 0.2667 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7421 2.00000 - 5 -30.0516 2.00000 - 6 -29.9821 2.00000 - 7 -29.9320 2.00000 - 8 0.7545 2.00000 - 9 2.2317 2.00000 - 10 4.9434 2.00000 - 11 5.2715 2.00000 - 12 5.3901 2.00000 - 13 6.1613 2.00000 - 14 8.9788 0.00000 - 15 10.1660 0.00000 - 16 11.8759 0.00000 - 17 14.0401 0.00000 - 18 14.7589 0.00000 - - k-point 280 : 0.4667 0.1333 0.2667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7421 2.00000 - 5 -30.0559 2.00000 - 6 -29.9817 2.00000 - 7 -29.9317 2.00000 - 8 1.2187 2.00000 - 9 1.7187 2.00000 - 10 5.0186 2.00000 - 11 5.1440 2.00000 - 12 5.6004 2.00000 - 13 6.0785 2.00000 - 14 8.9071 0.00000 - 15 10.1124 0.00000 - 16 11.9295 0.00000 - 17 14.1658 0.00000 - 18 14.5853 0.00000 - - k-point 281 : 0.0000 0.2000 0.2667 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7427 2.00000 - 5 -30.0054 2.00000 - 6 -29.9989 2.00000 - 7 -29.9343 2.00000 - 8 -0.5379 2.00000 - 9 3.7030 2.00000 - 10 4.6090 2.00000 - 11 5.2630 2.00000 - 12 5.3959 2.00000 - 13 7.0695 2.00000 - 14 9.0908 0.00000 - 15 9.4357 0.00000 - 16 11.5575 0.00000 - 17 14.3516 0.00000 - 18 16.3601 0.00000 - - k-point 282 : 0.0667 0.2000 0.2667 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7426 2.00000 - 5 -30.0076 2.00000 - 6 -29.9987 2.00000 - 7 -29.9341 2.00000 - 8 -0.4887 2.00000 - 9 3.7492 2.00000 - 10 4.5743 2.00000 - 11 5.0985 2.00000 - 12 5.4857 2.00000 - 13 6.9239 2.00000 - 14 9.2263 0.00000 - 15 9.5939 0.00000 - 16 11.3727 0.00000 - 17 14.7170 0.00000 - 18 16.1538 0.00000 - - k-point 283 : 0.1333 0.2000 0.2667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7426 2.00000 - 5 -30.0138 2.00000 - 6 -29.9982 2.00000 - 7 -29.9337 2.00000 - 8 -0.3455 2.00000 - 9 3.8851 2.00000 - 10 4.3963 2.00000 - 11 4.8981 2.00000 - 12 5.5780 2.00000 - 13 6.6012 2.00000 - 14 9.5131 0.00000 - 15 9.9903 0.00000 - 16 10.9583 0.00000 - 17 15.0569 0.00000 - 18 16.3985 0.00000 - - k-point 284 : 0.2000 0.2000 0.2667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7424 2.00000 - 5 -30.0228 2.00000 - 6 -29.9974 2.00000 - 7 -29.9331 2.00000 - 8 -0.1133 2.00000 - 9 3.9680 2.00000 - 10 4.1423 2.00000 - 11 4.8263 2.00000 - 12 5.6458 2.00000 - 13 6.2595 2.00000 - 14 9.7738 0.00000 - 15 10.2498 0.00000 - 16 10.7319 0.00000 - 17 13.9527 0.00000 - 18 15.3880 0.00000 - - k-point 285 : 0.2667 0.2000 0.2667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7422 2.00000 - 5 -30.0330 2.00000 - 6 -29.9965 2.00000 - 7 -29.9323 2.00000 - 8 0.1946 2.00000 - 9 3.4921 2.00000 - 10 4.4185 2.00000 - 11 4.8251 2.00000 - 12 5.6324 2.00000 - 13 6.0245 2.00000 - 14 9.7715 0.00000 - 15 9.9943 0.00000 - 16 11.1510 0.00000 - 17 13.7014 0.00000 - 18 16.5495 0.00000 - - k-point 286 : 0.3333 0.2000 0.2667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7420 2.00000 - 5 -30.0429 2.00000 - 6 -29.9956 2.00000 - 7 -29.9316 2.00000 - 8 0.5628 2.00000 - 9 2.9731 2.00000 - 10 4.7045 2.00000 - 11 4.9098 2.00000 - 12 5.4759 2.00000 - 13 5.9673 2.00000 - 14 9.4317 0.00000 - 15 9.8472 0.00000 - 16 11.5921 0.00000 - 17 13.6688 0.00000 - 18 15.3116 0.00000 - - k-point 287 : 0.4000 0.2000 0.2667 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7418 2.00000 - 5 -30.0505 2.00000 - 6 -29.9949 2.00000 - 7 -29.9311 2.00000 - 8 0.9775 2.00000 - 9 2.4579 2.00000 - 10 4.7922 2.00000 - 11 5.2187 2.00000 - 12 5.3117 2.00000 - 13 5.9343 2.00000 - 14 9.1395 0.00000 - 15 9.6338 0.00000 - 16 11.9354 0.00000 - 17 13.8117 0.00000 - 18 15.0790 0.00000 - - k-point 288 : 0.4667 0.2000 0.2667 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7418 2.00000 - 5 -30.0548 2.00000 - 6 -29.9946 2.00000 - 7 -29.9308 2.00000 - 8 1.4086 2.00000 - 9 1.9761 2.00000 - 10 4.8168 2.00000 - 11 5.2061 2.00000 - 12 5.5597 2.00000 - 13 5.8151 2.00000 - 14 8.9724 0.00000 - 15 9.4790 0.00000 - 16 12.1291 0.00000 - 17 14.1071 0.00000 - 18 15.6601 0.00000 - - k-point 289 : 0.0000 0.2667 0.2667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2903 2.00000 - 4 -65.7424 2.00000 - 5 -30.0135 2.00000 - 6 -30.0040 2.00000 - 7 -29.9332 2.00000 - 8 -0.2065 2.00000 - 9 3.2450 2.00000 - 10 4.7589 2.00000 - 11 5.2488 2.00000 - 12 5.4433 2.00000 - 13 6.6906 2.00000 - 14 8.9578 0.00000 - 15 9.7562 0.00000 - 16 12.2284 0.00000 - 17 13.6467 0.00000 - 18 15.6738 0.00000 - - k-point 290 : 0.0667 0.2667 0.2667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2906 2.00000 - 4 -65.7424 2.00000 - 5 -30.0133 2.00000 - 6 -30.0062 2.00000 - 7 -29.9330 2.00000 - 8 -0.1582 2.00000 - 9 3.2898 2.00000 - 10 4.7575 2.00000 - 11 5.1144 2.00000 - 12 5.4721 2.00000 - 13 6.5804 2.00000 - 14 9.0982 0.00000 - 15 9.8501 0.00000 - 16 11.9458 0.00000 - 17 13.9323 0.00000 - 18 15.6257 0.00000 - - k-point 291 : 0.1333 0.2667 0.2667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7422 2.00000 - 5 -30.0128 2.00000 - 6 -30.0124 2.00000 - 7 -29.9326 2.00000 - 8 -0.0156 2.00000 - 9 3.4223 2.00000 - 10 4.6865 2.00000 - 11 4.8536 2.00000 - 12 5.5334 2.00000 - 13 6.3183 2.00000 - 14 9.4083 0.00000 - 15 10.0693 0.00000 - 16 11.4327 0.00000 - 17 13.8385 0.00000 - 18 15.3753 0.00000 - - k-point 292 : 0.2000 0.2667 0.2667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7421 2.00000 - 5 -30.0214 2.00000 - 6 -30.0120 2.00000 - 7 -29.9320 2.00000 - 8 0.2115 2.00000 - 9 3.6251 2.00000 - 10 4.2944 2.00000 - 11 4.8274 2.00000 - 12 5.6180 2.00000 - 13 6.0093 2.00000 - 14 9.6312 0.00000 - 15 10.2757 0.00000 - 16 11.0215 0.00000 - 17 13.6105 0.00000 - 18 15.5689 0.00000 - - k-point 293 : 0.2667 0.2667 0.2667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7418 2.00000 - 5 -30.0317 2.00000 - 6 -30.0111 2.00000 - 7 -29.9313 2.00000 - 8 0.5117 2.00000 - 9 3.6756 2.00000 - 10 4.0282 2.00000 - 11 4.8696 2.00000 - 12 5.6990 2.00000 - 13 5.7349 2.00000 - 14 9.5362 0.00000 - 15 10.2061 0.00000 - 16 11.0080 0.00000 - 17 13.5324 0.00000 - 18 15.5343 0.00000 - - k-point 294 : 0.3333 0.2667 0.2667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7417 2.00000 - 5 -30.0416 2.00000 - 6 -30.0103 2.00000 - 7 -29.9306 2.00000 - 8 0.8642 2.00000 - 9 3.2318 2.00000 - 10 4.2558 2.00000 - 11 4.9684 2.00000 - 12 5.4836 2.00000 - 13 5.8019 2.00000 - 14 9.2565 0.00000 - 15 9.8056 0.00000 - 16 11.2920 0.00000 - 17 13.6768 0.00000 - 18 15.4872 0.00000 - - k-point 295 : 0.4000 0.2667 0.2667 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7415 2.00000 - 5 -30.0493 2.00000 - 6 -30.0096 2.00000 - 7 -29.9300 2.00000 - 8 1.2490 2.00000 - 9 2.7560 2.00000 - 10 4.4489 2.00000 - 11 5.1394 2.00000 - 12 5.3565 2.00000 - 13 5.8359 2.00000 - 14 8.9975 0.00000 - 15 9.3530 0.00000 - 16 11.5665 0.00000 - 17 14.0109 0.00000 - 18 15.4805 0.00000 - - k-point 296 : 0.4667 0.2667 0.2667 - band No. band energies occupation - 1 -91.8796 2.00000 - 2 -91.4245 2.00000 - 3 -91.2895 2.00000 - 4 -65.7414 2.00000 - 5 -30.0535 2.00000 - 6 -30.0091 2.00000 - 7 -29.9298 2.00000 - 8 1.6087 2.00000 - 9 2.3515 2.00000 - 10 4.5288 2.00000 - 11 5.1724 2.00000 - 12 5.4938 2.00000 - 13 5.7819 2.00000 - 14 8.8529 0.00000 - 15 9.0524 0.00000 - 16 11.7104 0.00000 - 17 14.0573 0.00000 - 18 15.0900 0.00000 - - k-point 297 : 0.0000 0.3333 0.2667 - band No. band energies occupation - 1 -91.8814 2.00000 - 2 -91.4264 2.00000 - 3 -91.2914 2.00000 - 4 -65.7422 2.00000 - 5 -30.0274 2.00000 - 6 -30.0027 2.00000 - 7 -29.9322 2.00000 - 8 0.1919 2.00000 - 9 2.7296 2.00000 - 10 4.8887 2.00000 - 11 5.2689 2.00000 - 12 5.4479 2.00000 - 13 6.4571 2.00000 - 14 8.9309 0.00000 - 15 10.1141 0.00000 - 16 12.7287 0.00000 - 17 12.8456 0.00000 - 18 15.3170 0.00000 - - k-point 298 : 0.0667 0.3333 0.2667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2906 2.00000 - 4 -65.7421 2.00000 - 5 -30.0272 2.00000 - 6 -30.0048 2.00000 - 7 -29.9320 2.00000 - 8 0.2409 2.00000 - 9 2.7729 2.00000 - 10 4.8898 2.00000 - 11 5.2223 2.00000 - 12 5.3965 2.00000 - 13 6.3796 2.00000 - 14 9.0274 0.00000 - 15 10.1593 0.00000 - 16 12.1501 0.00000 - 17 13.4325 0.00000 - 18 15.0368 0.00000 - - k-point 299 : 0.1333 0.3333 0.2667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7419 2.00000 - 5 -30.0267 2.00000 - 6 -30.0110 2.00000 - 7 -29.9316 2.00000 - 8 0.3806 2.00000 - 9 2.8996 2.00000 - 10 4.8497 2.00000 - 11 5.0127 2.00000 - 12 5.3985 2.00000 - 13 6.1868 2.00000 - 14 9.2455 0.00000 - 15 10.1860 0.00000 - 16 11.6938 0.00000 - 17 13.6620 0.00000 - 18 14.8455 0.00000 - - k-point 300 : 0.2000 0.3333 0.2667 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7418 2.00000 - 5 -30.0259 2.00000 - 6 -30.0201 2.00000 - 7 -29.9310 2.00000 - 8 0.6011 2.00000 - 9 3.0992 2.00000 - 10 4.5252 2.00000 - 11 4.9705 2.00000 - 12 5.4410 2.00000 - 13 5.9674 2.00000 - 14 9.3795 0.00000 - 15 10.0938 0.00000 - 16 11.4215 0.00000 - 17 13.4946 0.00000 - 18 15.3249 0.00000 - - k-point 301 : 0.2667 0.3333 0.2667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7416 2.00000 - 5 -30.0305 2.00000 - 6 -30.0251 2.00000 - 7 -29.9303 2.00000 - 8 0.8844 2.00000 - 9 3.3282 2.00000 - 10 4.1307 2.00000 - 11 4.9976 2.00000 - 12 5.4432 2.00000 - 13 5.8368 2.00000 - 14 9.1709 0.00000 - 15 10.0960 0.00000 - 16 11.0760 0.00000 - 17 13.6019 0.00000 - 18 15.5760 0.00000 - - k-point 302 : 0.3333 0.3333 0.2667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7414 2.00000 - 5 -30.0404 2.00000 - 6 -30.0242 2.00000 - 7 -29.9296 2.00000 - 8 1.2071 2.00000 - 9 3.3733 2.00000 - 10 3.9450 2.00000 - 11 5.0033 2.00000 - 12 5.4115 2.00000 - 13 5.8500 2.00000 - 14 8.8027 0.00000 - 15 9.9189 0.00000 - 16 10.8392 0.00000 - 17 13.9632 0.00000 - 18 15.2363 0.00000 - - k-point 303 : 0.4000 0.3333 0.2667 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7413 2.00000 - 5 -30.0482 2.00000 - 6 -30.0236 2.00000 - 7 -29.9291 2.00000 - 8 1.5374 2.00000 - 9 3.0788 2.00000 - 10 4.0952 2.00000 - 11 4.9405 2.00000 - 12 5.4963 2.00000 - 13 5.8970 2.00000 - 14 8.4845 0.00000 - 15 9.4593 0.00000 - 16 10.8758 0.00000 - 17 14.4053 0.00000 - 18 17.6986 0.00000 - - k-point 304 : 0.4667 0.3333 0.2667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7411 2.00000 - 5 -30.0524 2.00000 - 6 -30.0233 2.00000 - 7 -29.9289 2.00000 - 8 1.8017 2.00000 - 9 2.7984 2.00000 - 10 4.2319 2.00000 - 11 4.8727 2.00000 - 12 5.6545 2.00000 - 13 5.8902 2.00000 - 14 8.3046 0.00000 - 15 9.1174 0.00000 - 16 10.9361 0.00000 - 17 14.6714 0.00000 - 18 15.1061 0.00000 - - k-point 305 : 0.0000 0.4000 0.2667 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2910 2.00000 - 4 -65.7419 2.00000 - 5 -30.0381 2.00000 - 6 -30.0016 2.00000 - 7 -29.9314 2.00000 - 8 0.6438 2.00000 - 9 2.1972 2.00000 - 10 4.9816 2.00000 - 11 5.2821 2.00000 - 12 5.4079 2.00000 - 13 6.3587 2.00000 - 14 9.0891 0.00000 - 15 10.4109 0.00000 - 16 12.0762 0.00000 - 17 12.9720 0.00000 - 18 14.7931 0.00000 - - k-point 306 : 0.0667 0.4000 0.2667 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7418 2.00000 - 5 -30.0379 2.00000 - 6 -30.0038 2.00000 - 7 -29.9312 2.00000 - 8 0.6917 2.00000 - 9 2.2385 2.00000 - 10 4.9684 2.00000 - 11 5.2605 2.00000 - 12 5.3795 2.00000 - 13 6.2871 2.00000 - 14 9.1342 0.00000 - 15 10.3626 0.00000 - 16 11.8755 0.00000 - 17 13.5638 0.00000 - 18 14.7415 0.00000 - - k-point 307 : 0.1333 0.4000 0.2667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7417 2.00000 - 5 -30.0374 2.00000 - 6 -30.0100 2.00000 - 7 -29.9308 2.00000 - 8 0.8289 2.00000 - 9 2.3628 2.00000 - 10 4.8680 2.00000 - 11 5.2167 2.00000 - 12 5.3487 2.00000 - 13 6.1151 2.00000 - 14 9.2333 0.00000 - 15 10.1098 0.00000 - 16 11.7864 0.00000 - 17 13.8645 0.00000 - 18 14.5821 0.00000 - - k-point 308 : 0.2000 0.4000 0.2667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7415 2.00000 - 5 -30.0368 2.00000 - 6 -30.0191 2.00000 - 7 -29.9302 2.00000 - 8 1.0385 2.00000 - 9 2.5659 2.00000 - 10 4.6184 2.00000 - 11 5.2494 2.00000 - 12 5.2935 2.00000 - 13 5.9474 2.00000 - 14 9.2299 0.00000 - 15 9.7805 0.00000 - 16 11.7623 0.00000 - 17 14.6669 0.00000 - 18 33.9627 0.00000 - - k-point 309 : 0.2667 0.4000 0.2667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7413 2.00000 - 5 -30.0360 2.00000 - 6 -30.0295 2.00000 - 7 -29.9295 2.00000 - 8 1.2933 2.00000 - 9 2.8351 2.00000 - 10 4.3053 2.00000 - 11 5.1462 2.00000 - 12 5.3500 2.00000 - 13 5.8888 2.00000 - 14 8.8751 0.00000 - 15 9.7440 0.00000 - 16 11.2586 0.00000 - 17 13.7436 0.00000 - 18 15.3267 0.00000 - - k-point 310 : 0.3333 0.4000 0.2667 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2908 2.00000 - 4 -65.7412 2.00000 - 5 -30.0394 2.00000 - 6 -30.0352 2.00000 - 7 -29.9289 2.00000 - 8 1.5626 2.00000 - 9 3.1227 2.00000 - 10 4.0176 2.00000 - 11 4.9307 2.00000 - 12 5.5039 2.00000 - 13 5.9329 2.00000 - 14 8.4289 0.00000 - 15 9.7601 0.00000 - 16 10.6018 0.00000 - 17 14.2919 0.00000 - 18 15.0899 0.00000 - - k-point 311 : 0.4000 0.4000 0.2667 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2911 2.00000 - 4 -65.7410 2.00000 - 5 -30.0472 2.00000 - 6 -30.0346 2.00000 - 7 -29.9284 2.00000 - 8 1.8088 2.00000 - 9 3.2901 2.00000 - 10 3.8891 2.00000 - 11 4.7082 2.00000 - 12 5.7010 2.00000 - 13 6.0056 2.00000 - 14 8.0678 0.00887 - 15 9.5108 0.00000 - 16 10.2464 0.00000 - 17 14.9130 0.00000 - 18 15.6767 0.00000 - - k-point 312 : 0.4667 0.4000 0.2667 - band No. band energies occupation - 1 -91.8813 2.00000 - 2 -91.4263 2.00000 - 3 -91.2912 2.00000 - 4 -65.7409 2.00000 - 5 -30.0515 2.00000 - 6 -30.0343 2.00000 - 7 -29.9281 2.00000 - 8 1.9715 2.00000 - 9 3.2549 2.00000 - 10 3.9834 2.00000 - 11 4.5315 2.00000 - 12 5.8883 2.00000 - 13 6.0297 2.00000 - 14 7.8661 1.18669 - 15 9.1689 0.00000 - 16 10.2004 0.00000 - 17 15.0616 0.00000 - 18 32.0644 0.00000 - - k-point 313 : 0.0000 0.4667 0.2667 - band No. band energies occupation - 1 -91.8815 2.00000 - 2 -91.4266 2.00000 - 3 -91.2915 2.00000 - 4 -65.7418 2.00000 - 5 -30.0440 2.00000 - 6 -30.0011 2.00000 - 7 -29.9310 2.00000 - 8 1.1269 2.00000 - 9 1.6721 2.00000 - 10 5.0342 2.00000 - 11 5.2771 2.00000 - 12 5.3683 2.00000 - 13 6.3348 2.00000 - 14 9.3061 0.00000 - 15 10.6059 0.00000 - 16 11.5175 0.00000 - 17 13.0325 0.00000 - 18 14.6615 0.00000 - - k-point 314 : 0.0667 0.4667 0.2667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2907 2.00000 - 4 -65.7417 2.00000 - 5 -30.0438 2.00000 - 6 -30.0032 2.00000 - 7 -29.9308 2.00000 - 8 1.1784 2.00000 - 9 1.7101 2.00000 - 10 5.0365 2.00000 - 11 5.1518 2.00000 - 12 5.4647 2.00000 - 13 6.2520 2.00000 - 14 9.3181 0.00000 - 15 10.4031 0.00000 - 16 11.5903 0.00000 - 17 13.3633 0.00000 - 18 14.5583 0.00000 - - k-point 315 : 0.1333 0.4667 0.2667 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4252 2.00000 - 3 -91.2901 2.00000 - 4 -65.7415 2.00000 - 5 -30.0433 2.00000 - 6 -30.0093 2.00000 - 7 -29.9303 2.00000 - 8 1.3163 2.00000 - 9 1.8312 2.00000 - 10 4.8941 2.00000 - 11 5.1190 2.00000 - 12 5.5631 2.00000 - 13 6.0425 2.00000 - 14 9.3454 0.00000 - 15 9.9129 0.00000 - 16 12.0493 0.00000 - 17 13.9108 0.00000 - 18 14.3729 0.00000 - - k-point 316 : 0.2000 0.4667 0.2667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7414 2.00000 - 5 -30.0427 2.00000 - 6 -30.0185 2.00000 - 7 -29.9297 2.00000 - 8 1.5003 2.00000 - 9 2.0569 2.00000 - 10 4.6455 2.00000 - 11 5.1693 2.00000 - 12 5.5995 2.00000 - 13 5.8371 2.00000 - 14 9.2378 0.00000 - 15 9.4800 0.00000 - 16 11.9139 0.00000 - 17 13.5604 0.00000 - 18 14.7551 0.00000 - - k-point 317 : 0.2667 0.4667 0.2667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2906 2.00000 - 4 -65.7412 2.00000 - 5 -30.0419 2.00000 - 6 -30.0289 2.00000 - 7 -29.9291 2.00000 - 8 1.6855 2.00000 - 9 2.3977 2.00000 - 10 4.3844 2.00000 - 11 5.1110 2.00000 - 12 5.5521 2.00000 - 13 5.8491 2.00000 - 14 8.7124 0.00000 - 15 9.4831 0.00000 - 16 11.3760 0.00000 - 17 13.8572 0.00000 - 18 14.9892 0.00000 - - k-point 318 : 0.3333 0.4667 0.2667 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4261 2.00000 - 3 -91.2910 2.00000 - 4 -65.7410 2.00000 - 5 -30.0411 2.00000 - 6 -30.0389 2.00000 - 7 -29.9285 2.00000 - 8 1.8550 2.00000 - 9 2.8180 2.00000 - 10 4.1421 2.00000 - 11 4.8462 2.00000 - 12 5.6803 2.00000 - 13 5.9491 2.00000 - 14 8.2154 0.00000 - 15 9.5095 0.00000 - 16 10.5843 0.00000 - 17 14.5072 0.00000 - 18 15.0778 0.00000 - - k-point 319 : 0.4000 0.4667 0.2667 - band No. band energies occupation - 1 -91.8812 2.00000 - 2 -91.4262 2.00000 - 3 -91.2911 2.00000 - 4 -65.7409 2.00000 - 5 -30.0467 2.00000 - 6 -30.0406 2.00000 - 7 -29.9280 2.00000 - 8 1.9950 2.00000 - 9 3.2581 2.00000 - 10 3.9509 2.00000 - 11 4.5226 2.00000 - 12 5.8957 2.00000 - 13 6.0587 2.00000 - 14 7.8278 1.56302 - 15 9.4491 0.00000 - 16 9.9344 0.00000 - 17 15.0260 0.00000 - 18 18.3727 0.00000 - - k-point 320 : 0.4667 0.4667 0.2667 - band No. band energies occupation - 1 -91.8815 2.00000 - 2 -91.4265 2.00000 - 3 -91.2915 2.00000 - 4 -65.7408 2.00000 - 5 -30.0510 2.00000 - 6 -30.0402 2.00000 - 7 -29.9277 2.00000 - 8 2.0780 2.00000 - 9 3.6286 2.00000 - 10 3.8595 2.00000 - 11 4.2059 2.00000 - 12 6.0817 2.00000 - 13 6.1302 2.00000 - 14 7.6065 1.99991 - 15 9.1931 0.00000 - 16 9.7385 0.00000 - 17 15.0476 0.00000 - 18 16.6319 0.00000 - - k-point 321 : 0.0000 0.0000 0.3333 - band No. band energies occupation - 1 -91.8793 2.00000 - 2 -91.4243 2.00000 - 3 -91.2893 2.00000 - 4 -65.7415 2.00000 - 5 -30.0028 2.00000 - 6 -29.9802 2.00000 - 7 -29.9695 2.00000 - 8 -0.4815 2.00000 - 9 3.4597 2.00000 - 10 4.4964 2.00000 - 11 4.9371 2.00000 - 12 5.1831 2.00000 - 13 8.4989 0.00000 - 14 9.1550 0.00000 - 15 10.1399 0.00000 - 16 10.4152 0.00000 - 17 14.2974 0.00000 - 18 14.8308 0.00000 - - k-point 322 : 0.0667 0.0000 0.3333 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2897 2.00000 - 4 -65.7415 2.00000 - 5 -30.0050 2.00000 - 6 -29.9801 2.00000 - 7 -29.9693 2.00000 - 8 -0.4342 2.00000 - 9 3.4391 2.00000 - 10 4.4529 2.00000 - 11 4.9676 2.00000 - 12 5.2040 2.00000 - 13 8.2556 0.00000 - 14 9.2125 0.00000 - 15 10.0413 0.00000 - 16 10.7194 0.00000 - 17 14.2965 0.00000 - 18 15.1176 0.00000 - - k-point 323 : 0.1333 0.0000 0.3333 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7414 2.00000 - 5 -30.0112 2.00000 - 6 -29.9796 2.00000 - 7 -29.9688 2.00000 - 8 -0.2928 2.00000 - 9 3.3540 2.00000 - 10 4.3881 2.00000 - 11 5.0261 2.00000 - 12 5.2648 2.00000 - 13 7.7736 1.87743 - 14 9.3605 0.00000 - 15 9.8023 0.00000 - 16 11.3678 0.00000 - 17 13.9531 0.00000 - 18 14.9554 0.00000 - - k-point 324 : 0.2000 0.0000 0.3333 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7412 2.00000 - 5 -30.0203 2.00000 - 6 -29.9791 2.00000 - 7 -29.9679 2.00000 - 8 -0.0672 2.00000 - 9 3.1662 2.00000 - 10 4.3914 2.00000 - 11 5.0790 2.00000 - 12 5.3596 2.00000 - 13 7.2805 2.00000 - 14 9.4059 0.00000 - 15 9.6783 0.00000 - 16 12.0688 0.00000 - 17 13.4792 0.00000 - 18 15.2550 0.00000 - - k-point 325 : 0.2667 0.0000 0.3333 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7411 2.00000 - 5 -30.0306 2.00000 - 6 -29.9785 2.00000 - 7 -29.9670 2.00000 - 8 0.2282 2.00000 - 9 2.8837 2.00000 - 10 4.4758 2.00000 - 11 5.1145 2.00000 - 12 5.4784 2.00000 - 13 6.8477 2.00000 - 14 9.1811 0.00000 - 15 9.8874 0.00000 - 16 12.5970 0.00000 - 17 12.9048 0.00000 - 18 15.2176 0.00000 - - k-point 326 : 0.3333 0.0000 0.3333 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7408 2.00000 - 5 -30.0404 2.00000 - 6 -29.9778 2.00000 - 7 -29.9661 2.00000 - 8 0.5762 2.00000 - 9 2.5428 2.00000 - 10 4.6037 2.00000 - 11 5.1264 2.00000 - 12 5.6095 2.00000 - 13 6.4965 2.00000 - 14 9.0211 0.00000 - 15 10.1220 0.00000 - 16 12.3062 0.00000 - 17 12.7724 0.00000 - 18 15.5499 0.00000 - - k-point 327 : 0.4000 0.0000 0.3333 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7407 2.00000 - 5 -30.0482 2.00000 - 6 -29.9773 2.00000 - 7 -29.9654 2.00000 - 8 0.9542 2.00000 - 9 2.1721 2.00000 - 10 4.7324 2.00000 - 11 5.1121 2.00000 - 12 5.7425 2.00000 - 13 6.2291 2.00000 - 14 8.9691 0.00000 - 15 10.3317 0.00000 - 16 11.7644 0.00000 - 17 12.7021 0.00000 - 18 15.1622 0.00000 - - k-point 328 : 0.4667 0.0000 0.3333 - band No. band energies occupation - 1 -91.8793 2.00000 - 2 -91.4243 2.00000 - 3 -91.2893 2.00000 - 4 -65.7406 2.00000 - 5 -30.0524 2.00000 - 6 -29.9770 2.00000 - 7 -29.9649 2.00000 - 8 1.3325 2.00000 - 9 1.8005 2.00000 - 10 4.8244 2.00000 - 11 5.0841 2.00000 - 12 5.8749 2.00000 - 13 6.0344 2.00000 - 14 8.9800 0.00000 - 15 10.4848 0.00000 - 16 11.3991 0.00000 - 17 12.6194 0.00000 - 18 17.5491 0.00000 - - k-point 329 : 0.0000 0.0667 0.3333 - band No. band energies occupation - 1 -91.8794 2.00000 - 2 -91.4244 2.00000 - 3 -91.2894 2.00000 - 4 -65.7415 2.00000 - 5 -30.0025 2.00000 - 6 -29.9799 2.00000 - 7 -29.9726 2.00000 - 8 -0.4309 2.00000 - 9 3.4495 2.00000 - 10 4.4823 2.00000 - 11 4.9614 2.00000 - 12 5.1769 2.00000 - 13 8.1972 0.00001 - 14 9.2037 0.00000 - 15 10.3016 0.00000 - 16 10.5059 0.00000 - 17 14.3943 0.00000 - 18 15.2824 0.00000 - - k-point 330 : 0.0667 0.0667 0.3333 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4247 2.00000 - 3 -91.2897 2.00000 - 4 -65.7414 2.00000 - 5 -30.0047 2.00000 - 6 -29.9798 2.00000 - 7 -29.9724 2.00000 - 8 -0.3827 2.00000 - 9 3.4372 2.00000 - 10 4.4369 2.00000 - 11 4.9880 2.00000 - 12 5.1943 2.00000 - 13 7.9855 0.14652 - 14 9.2633 0.00000 - 15 10.3201 0.00000 - 16 10.6409 0.00000 - 17 14.3071 0.00000 - 18 15.7382 0.00000 - - k-point 331 : 0.1333 0.0667 0.3333 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7413 2.00000 - 5 -30.0109 2.00000 - 6 -29.9795 2.00000 - 7 -29.9718 2.00000 - 8 -0.2406 2.00000 - 9 3.3744 2.00000 - 10 4.3644 2.00000 - 11 5.0412 2.00000 - 12 5.2443 2.00000 - 13 7.5476 2.00000 - 14 9.4153 0.00000 - 15 10.0599 0.00000 - 16 11.2380 0.00000 - 17 14.8208 0.00000 - 18 16.0819 0.00000 - - k-point 332 : 0.2000 0.0667 0.3333 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7412 2.00000 - 5 -30.0200 2.00000 - 6 -29.9789 2.00000 - 7 -29.9710 2.00000 - 8 -0.0152 2.00000 - 9 3.2090 2.00000 - 10 4.3636 2.00000 - 11 5.0929 2.00000 - 12 5.3207 2.00000 - 13 7.0926 2.00000 - 14 9.5502 0.00000 - 15 9.7938 0.00000 - 16 11.8036 0.00000 - 17 13.5951 0.00000 - 18 14.9192 0.00000 - - k-point 333 : 0.2667 0.0667 0.3333 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7410 2.00000 - 5 -30.0303 2.00000 - 6 -29.9783 2.00000 - 7 -29.9700 2.00000 - 8 0.2806 2.00000 - 9 2.9377 2.00000 - 10 4.4563 2.00000 - 11 5.1302 2.00000 - 12 5.4164 2.00000 - 13 6.6996 2.00000 - 14 9.3444 0.00000 - 15 9.9025 0.00000 - 16 12.0852 0.00000 - 17 13.4362 0.00000 - 18 15.8291 0.00000 - - k-point 334 : 0.3333 0.0667 0.3333 - band No. band energies occupation - 1 -91.8795 2.00000 - 2 -91.4245 2.00000 - 3 -91.2895 2.00000 - 4 -65.7407 2.00000 - 5 -30.0402 2.00000 - 6 -29.9776 2.00000 - 7 -29.9691 2.00000 - 8 0.6271 2.00000 - 9 2.6012 2.00000 - 10 4.5958 2.00000 - 11 5.1415 2.00000 - 12 5.5298 2.00000 - 13 6.3932 2.00000 - 14 9.1313 0.00000 - 15 10.0660 0.00000 - 16 11.8833 0.00000 - 17 13.3141 0.00000 - 18 15.1866 0.00000 - - k-point 335 : 0.4000 0.0667 0.3333 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7406 2.00000 - 5 -30.0479 2.00000 - 6 -29.9771 2.00000 - 7 -29.9684 2.00000 - 8 1.0037 2.00000 - 9 2.2324 2.00000 - 10 4.7288 2.00000 - 11 5.1208 2.00000 - 12 5.6641 2.00000 - 13 6.1656 2.00000 - 14 9.0233 0.00000 - 15 10.1524 0.00000 - 16 11.6108 0.00000 - 17 13.1453 0.00000 - 18 15.2752 0.00000 - - k-point 336 : 0.4667 0.0667 0.3333 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4249 2.00000 - 3 -91.2900 2.00000 - 4 -65.7405 2.00000 - 5 -30.0521 2.00000 - 6 -29.9768 2.00000 - 7 -29.9680 2.00000 - 8 1.3741 2.00000 - 9 1.8670 2.00000 - 10 4.8158 2.00000 - 11 5.0875 2.00000 - 12 5.8147 2.00000 - 13 5.9871 2.00000 - 14 8.9976 0.00000 - 15 10.1607 0.00000 - 16 11.4588 0.00000 - 17 13.0058 0.00000 - 18 15.0515 0.00000 - - k-point 337 : 0.0000 0.1333 0.3333 - band No. band energies occupation - 1 -91.8795 2.00000 - 2 -91.4245 2.00000 - 3 -91.2895 2.00000 - 4 -65.7413 2.00000 - 5 -30.0017 2.00000 - 6 -29.9814 2.00000 - 7 -29.9793 2.00000 - 8 -0.2798 2.00000 - 9 3.3917 2.00000 - 10 4.4650 2.00000 - 11 5.0319 2.00000 - 12 5.1692 2.00000 - 13 7.6464 1.99917 - 14 9.3147 0.00000 - 15 10.0458 0.00000 - 16 11.2372 0.00000 - 17 14.4922 0.00000 - 18 15.3633 0.00000 - - k-point 338 : 0.0667 0.1333 0.3333 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7412 2.00000 - 5 -30.0039 2.00000 - 6 -29.9812 2.00000 - 7 -29.9792 2.00000 - 8 -0.2318 2.00000 - 9 3.4031 2.00000 - 10 4.4148 2.00000 - 11 5.0453 2.00000 - 12 5.1799 2.00000 - 13 7.4709 2.00000 - 14 9.3790 0.00000 - 15 10.2465 0.00000 - 16 11.0981 0.00000 - 17 14.1220 0.00000 - 18 16.8656 0.00000 - - k-point 339 : 0.1333 0.1333 0.3333 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4246 2.00000 - 3 -91.2896 2.00000 - 4 -65.7411 2.00000 - 5 -30.0101 2.00000 - 6 -29.9806 2.00000 - 7 -29.9788 2.00000 - 8 -0.0888 2.00000 - 9 3.4098 2.00000 - 10 4.3128 2.00000 - 11 5.0782 2.00000 - 12 5.2075 2.00000 - 13 7.0931 2.00000 - 14 9.5240 0.00000 - 15 10.5314 0.00000 - 16 10.9313 0.00000 - 17 13.8315 0.00000 - 18 14.9563 0.00000 - - k-point 340 : 0.2000 0.1333 0.3333 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7410 2.00000 - 5 -30.0192 2.00000 - 6 -29.9798 2.00000 - 7 -29.9782 2.00000 - 8 0.1365 2.00000 - 9 3.3258 2.00000 - 10 4.2788 2.00000 - 11 5.1226 2.00000 - 12 5.2385 2.00000 - 13 6.6994 2.00000 - 14 9.6594 0.00000 - 15 10.2232 0.00000 - 16 11.3212 0.00000 - 17 13.9202 0.00000 - 18 16.2795 0.00000 - - k-point 341 : 0.2667 0.1333 0.3333 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7408 2.00000 - 5 -30.0296 2.00000 - 6 -29.9790 2.00000 - 7 -29.9776 2.00000 - 8 0.4308 2.00000 - 9 3.0973 2.00000 - 10 4.3838 2.00000 - 11 5.1738 2.00000 - 12 5.2576 2.00000 - 13 6.3799 2.00000 - 14 9.6051 0.00000 - 15 9.9623 0.00000 - 16 11.5706 0.00000 - 17 13.6078 0.00000 - 18 14.8495 0.00000 - - k-point 342 : 0.3333 0.1333 0.3333 - band No. band energies occupation - 1 -91.8796 2.00000 - 2 -91.4245 2.00000 - 3 -91.2895 2.00000 - 4 -65.7405 2.00000 - 5 -30.0394 2.00000 - 6 -29.9782 2.00000 - 7 -29.9768 2.00000 - 8 0.7749 2.00000 - 9 2.7747 2.00000 - 10 4.5617 2.00000 - 11 5.1803 2.00000 - 12 5.3158 2.00000 - 13 6.1636 2.00000 - 14 9.3464 0.00000 - 15 9.8339 0.00000 - 16 11.6131 0.00000 - 17 13.9966 0.00000 - 18 14.7722 0.00000 - - k-point 343 : 0.4000 0.1333 0.3333 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7404 2.00000 - 5 -30.0472 2.00000 - 6 -29.9775 2.00000 - 7 -29.9763 2.00000 - 8 1.1431 2.00000 - 9 2.4134 2.00000 - 10 4.7126 2.00000 - 11 5.1290 2.00000 - 12 5.4671 2.00000 - 13 6.0157 2.00000 - 14 9.1396 0.00000 - 15 9.6449 0.00000 - 16 11.6446 0.00000 - 17 14.7531 0.00000 - 18 45.4682 0.00000 - - k-point 344 : 0.4667 0.1333 0.3333 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4251 2.00000 - 3 -91.2902 2.00000 - 4 -65.7404 2.00000 - 5 -30.0514 2.00000 - 6 -29.9772 2.00000 - 7 -29.9760 2.00000 - 8 1.4899 2.00000 - 9 2.0701 2.00000 - 10 4.7840 2.00000 - 11 5.0904 2.00000 - 12 5.6669 2.00000 - 13 5.8686 2.00000 - 14 9.0434 0.00000 - 15 9.4853 0.00000 - 16 11.6814 0.00000 - 17 13.7976 0.00000 - 18 15.2308 0.00000 - - k-point 345 : 0.0000 0.2000 0.3333 - band No. band energies occupation - 1 -91.8796 2.00000 - 2 -91.4246 2.00000 - 3 -91.2896 2.00000 - 4 -65.7410 2.00000 - 5 -30.0005 2.00000 - 6 -29.9942 2.00000 - 7 -29.9785 2.00000 - 8 -0.0384 2.00000 - 9 3.2400 2.00000 - 10 4.4989 2.00000 - 11 5.1411 2.00000 - 12 5.1734 2.00000 - 13 7.1079 2.00000 - 14 9.3512 0.00000 - 15 9.8771 0.00000 - 16 11.9958 0.00000 - 17 13.6113 0.00000 - 18 21.7136 0.00000 - - k-point 346 : 0.0667 0.2000 0.3333 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7410 2.00000 - 5 -30.0027 2.00000 - 6 -29.9940 2.00000 - 7 -29.9784 2.00000 - 8 0.0097 2.00000 - 9 3.2752 2.00000 - 10 4.4507 2.00000 - 11 5.1290 2.00000 - 12 5.1813 2.00000 - 13 6.9619 2.00000 - 14 9.4416 0.00000 - 15 10.0172 0.00000 - 16 11.7522 0.00000 - 17 13.6423 0.00000 - 18 14.9614 0.00000 - - k-point 347 : 0.1333 0.2000 0.3333 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7409 2.00000 - 5 -30.0089 2.00000 - 6 -29.9935 2.00000 - 7 -29.9780 2.00000 - 8 0.1509 2.00000 - 9 3.3699 2.00000 - 10 4.3172 2.00000 - 11 5.1057 2.00000 - 12 5.2032 2.00000 - 13 6.6401 2.00000 - 14 9.5752 0.00000 - 15 10.3957 0.00000 - 16 11.2701 0.00000 - 17 13.5268 0.00000 - 18 14.8940 0.00000 - - k-point 348 : 0.2000 0.2000 0.3333 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7407 2.00000 - 5 -30.0180 2.00000 - 6 -29.9927 2.00000 - 7 -29.9775 2.00000 - 8 0.3757 2.00000 - 9 3.4547 2.00000 - 10 4.1789 2.00000 - 11 5.0808 2.00000 - 12 5.2321 2.00000 - 13 6.3094 2.00000 - 14 9.5872 0.00000 - 15 10.6701 0.00000 - 16 10.9785 0.00000 - 17 13.3361 0.00000 - 18 16.3021 0.00000 - - k-point 349 : 0.2667 0.2000 0.3333 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4247 2.00000 - 3 -91.2897 2.00000 - 4 -65.7405 2.00000 - 5 -30.0284 2.00000 - 6 -29.9918 2.00000 - 7 -29.9768 2.00000 - 8 0.6661 2.00000 - 9 3.3528 2.00000 - 10 4.2329 2.00000 - 11 5.0410 2.00000 - 12 5.2587 2.00000 - 13 6.0667 2.00000 - 14 9.4049 0.00000 - 15 10.2926 0.00000 - 16 11.3119 0.00000 - 17 13.8752 0.00000 - 18 38.4800 0.00000 - - k-point 350 : 0.3333 0.2000 0.3333 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7403 2.00000 - 5 -30.0384 2.00000 - 6 -29.9910 2.00000 - 7 -29.9762 2.00000 - 8 1.0012 2.00000 - 9 3.0611 2.00000 - 10 4.4746 2.00000 - 11 4.9804 2.00000 - 12 5.2893 2.00000 - 13 5.9349 2.00000 - 14 9.1205 0.00000 - 15 9.8404 0.00000 - 16 11.5936 0.00000 - 17 13.6823 0.00000 - 18 15.1706 0.00000 - - k-point 351 : 0.4000 0.2000 0.3333 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7401 2.00000 - 5 -30.0461 2.00000 - 6 -29.9903 2.00000 - 7 -29.9758 2.00000 - 8 1.3562 2.00000 - 9 2.7118 2.00000 - 10 4.6771 2.00000 - 11 4.9797 2.00000 - 12 5.3623 2.00000 - 13 5.8533 2.00000 - 14 8.8711 0.00000 - 15 9.4054 0.00000 - 16 11.8042 0.00000 - 17 14.1600 0.00000 - 18 14.8362 0.00000 - - k-point 352 : 0.4667 0.2000 0.3333 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7401 2.00000 - 5 -30.0504 2.00000 - 6 -29.9899 2.00000 - 7 -29.9755 2.00000 - 8 1.6624 2.00000 - 9 2.4033 2.00000 - 10 4.7026 2.00000 - 11 5.0589 2.00000 - 12 5.5288 2.00000 - 13 5.7361 2.00000 - 14 8.7332 0.00000 - 15 9.1257 0.00000 - 16 11.9246 0.00000 - 17 14.4000 0.00000 - 18 14.8474 0.00000 - - k-point 353 : 0.0000 0.2667 0.3333 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7407 2.00000 - 5 -30.0089 2.00000 - 6 -29.9991 2.00000 - 7 -29.9776 2.00000 - 8 0.2750 2.00000 - 9 2.9834 2.00000 - 10 4.6018 2.00000 - 11 5.1861 2.00000 - 12 5.2760 2.00000 - 13 6.6473 2.00000 - 14 9.2218 0.00000 - 15 9.9612 0.00000 - 16 12.7917 0.00000 - 17 14.6660 0.00000 - 18 37.0432 0.00000 - - k-point 354 : 0.0667 0.2667 0.3333 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7407 2.00000 - 5 -30.0087 2.00000 - 6 -30.0013 2.00000 - 7 -29.9775 2.00000 - 8 0.3237 2.00000 - 9 3.0324 2.00000 - 10 4.5699 2.00000 - 11 5.1962 2.00000 - 12 5.2285 2.00000 - 13 6.5349 2.00000 - 14 9.3249 0.00000 - 15 10.0206 0.00000 - 16 12.0589 0.00000 - 17 13.6356 0.00000 - 18 16.3395 0.00000 - - k-point 355 : 0.1333 0.2667 0.3333 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7406 2.00000 - 5 -30.0082 2.00000 - 6 -30.0075 2.00000 - 7 -29.9771 2.00000 - 8 0.4629 2.00000 - 9 3.1773 2.00000 - 10 4.4588 2.00000 - 11 5.1107 2.00000 - 12 5.2302 2.00000 - 13 6.2832 2.00000 - 14 9.4510 0.00000 - 15 10.2180 0.00000 - 16 11.5408 0.00000 - 17 13.5178 0.00000 - 18 14.9785 0.00000 - - k-point 356 : 0.2000 0.2667 0.3333 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2906 2.00000 - 4 -65.7404 2.00000 - 5 -30.0167 2.00000 - 6 -30.0075 2.00000 - 7 -29.9766 2.00000 - 8 0.6833 2.00000 - 9 3.4070 2.00000 - 10 4.2516 2.00000 - 11 4.9747 2.00000 - 12 5.2836 2.00000 - 13 6.0299 2.00000 - 14 9.3115 0.00000 - 15 10.5371 0.00000 - 16 11.2041 0.00000 - 17 13.5198 0.00000 - 18 16.1069 0.00000 - - k-point 357 : 0.2667 0.2667 0.3333 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2905 2.00000 - 4 -65.7402 2.00000 - 5 -30.0271 2.00000 - 6 -30.0066 2.00000 - 7 -29.9760 2.00000 - 8 0.9662 2.00000 - 9 3.6247 2.00000 - 10 4.0527 2.00000 - 11 4.8364 2.00000 - 12 5.3481 2.00000 - 13 5.8553 2.00000 - 14 8.9510 0.00000 - 15 10.5646 0.00000 - 16 11.1623 0.00000 - 17 13.2954 0.00000 - 18 15.4682 0.00000 - - k-point 358 : 0.3333 0.2667 0.3333 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7400 2.00000 - 5 -30.0371 2.00000 - 6 -30.0058 2.00000 - 7 -29.9754 2.00000 - 8 1.2872 2.00000 - 9 3.4438 2.00000 - 10 4.2743 2.00000 - 11 4.7030 2.00000 - 12 5.4051 2.00000 - 13 5.7716 2.00000 - 14 8.5488 0.00000 - 15 10.0763 0.00000 - 16 11.4481 0.00000 - 17 13.4035 0.00000 - 18 15.3922 0.00000 - - k-point 359 : 0.4000 0.2667 0.3333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7398 2.00000 - 5 -30.0450 2.00000 - 6 -30.0051 2.00000 - 7 -29.9749 2.00000 - 8 1.6159 2.00000 - 9 3.1051 2.00000 - 10 4.5944 2.00000 - 11 4.6676 2.00000 - 12 5.4494 2.00000 - 13 5.7286 2.00000 - 14 8.2204 0.00000 - 15 9.5427 0.00000 - 16 11.6960 0.00000 - 17 13.7216 0.00000 - 18 15.3053 0.00000 - - k-point 360 : 0.4667 0.2667 0.3333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7398 2.00000 - 5 -30.0492 2.00000 - 6 -30.0047 2.00000 - 7 -29.9747 2.00000 - 8 1.8783 2.00000 - 9 2.8300 2.00000 - 10 4.5354 2.00000 - 11 4.9641 2.00000 - 12 5.5125 2.00000 - 13 5.6496 2.00000 - 14 8.0373 0.02884 - 15 9.1984 0.00000 - 16 11.8323 0.00000 - 17 13.9270 0.00000 - 18 15.3527 0.00000 - - k-point 361 : 0.0000 0.3333 0.3333 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4252 2.00000 - 3 -91.2901 2.00000 - 4 -65.7404 2.00000 - 5 -30.0228 2.00000 - 6 -29.9977 2.00000 - 7 -29.9766 2.00000 - 8 0.6424 2.00000 - 9 2.6545 2.00000 - 10 4.7408 2.00000 - 11 5.1925 2.00000 - 12 5.4185 2.00000 - 13 6.2853 2.00000 - 14 9.1528 0.00000 - 15 10.1154 0.00000 - 16 12.2959 0.00000 - 17 12.6644 0.00000 - 18 15.1835 0.00000 - - k-point 362 : 0.0667 0.3333 0.3333 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2910 2.00000 - 4 -65.7404 2.00000 - 5 -30.0228 2.00000 - 6 -30.0000 2.00000 - 7 -29.9766 2.00000 - 8 0.6883 2.00000 - 9 2.7077 2.00000 - 10 4.7264 2.00000 - 11 5.2034 2.00000 - 12 5.3412 2.00000 - 13 6.2150 2.00000 - 14 9.2183 0.00000 - 15 10.0975 0.00000 - 16 11.8514 0.00000 - 17 13.2505 0.00000 - 18 15.4538 0.00000 - - k-point 363 : 0.1333 0.3333 0.3333 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2911 2.00000 - 4 -65.7403 2.00000 - 5 -30.0223 2.00000 - 6 -30.0062 2.00000 - 7 -29.9762 2.00000 - 8 0.8257 2.00000 - 9 2.8686 2.00000 - 10 4.6756 2.00000 - 11 5.1155 2.00000 - 12 5.2552 2.00000 - 13 6.0553 2.00000 - 14 9.2590 0.00000 - 15 10.0607 0.00000 - 16 11.5620 0.00000 - 17 14.3861 0.00000 - 18 15.3778 0.00000 - - k-point 364 : 0.2000 0.3333 0.3333 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7401 2.00000 - 5 -30.0215 2.00000 - 6 -30.0154 2.00000 - 7 -29.9757 2.00000 - 8 1.0393 2.00000 - 9 3.1357 2.00000 - 10 4.5429 2.00000 - 11 4.8526 2.00000 - 12 5.3235 2.00000 - 13 5.8912 2.00000 - 14 8.9678 0.00000 - 15 10.1859 0.00000 - 16 11.4775 0.00000 - 17 13.5169 0.00000 - 18 15.2678 0.00000 - - k-point 365 : 0.2667 0.3333 0.3333 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7399 2.00000 - 5 -30.0259 2.00000 - 6 -30.0207 2.00000 - 7 -29.9751 2.00000 - 8 1.3079 2.00000 - 9 3.4975 2.00000 - 10 4.2537 2.00000 - 11 4.6695 2.00000 - 12 5.4215 2.00000 - 13 5.7678 2.00000 - 14 8.4790 0.00000 - 15 10.3583 0.00000 - 16 11.2562 0.00000 - 17 13.7957 0.00000 - 18 15.4576 0.00000 - - k-point 366 : 0.3333 0.3333 0.3333 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2903 2.00000 - 4 -65.7397 2.00000 - 5 -30.0359 2.00000 - 6 -30.0199 2.00000 - 7 -29.9745 2.00000 - 8 1.6071 2.00000 - 9 3.8504 2.00000 - 10 3.9497 2.00000 - 11 4.5723 2.00000 - 12 5.5290 2.00000 - 13 5.6928 2.00000 - 14 7.9970 0.10628 - 15 10.1882 0.00000 - 16 11.0596 0.00000 - 17 13.6172 0.00000 - 18 15.4580 0.00000 - - k-point 367 : 0.4000 0.3333 0.3333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7395 2.00000 - 5 -30.0438 2.00000 - 6 -30.0193 2.00000 - 7 -29.9740 2.00000 - 8 1.9028 2.00000 - 9 3.5236 2.00000 - 10 4.2368 2.00000 - 11 4.6294 2.00000 - 12 5.6020 2.00000 - 13 5.6607 2.00000 - 14 7.6208 1.99979 - 15 9.6622 0.00000 - 16 11.1234 0.00000 - 17 13.9670 0.00000 - 18 15.5268 0.00000 - - k-point 368 : 0.4667 0.3333 0.3333 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7395 2.00000 - 5 -30.0481 2.00000 - 6 -30.0189 2.00000 - 7 -29.9738 2.00000 - 8 2.1226 2.00000 - 9 3.2739 2.00000 - 10 4.2868 2.00000 - 11 4.8744 2.00000 - 12 5.6116 2.00000 - 13 5.6455 2.00000 - 14 7.4201 2.00000 - 15 9.2695 0.00000 - 16 11.1923 0.00000 - 17 14.0391 0.00000 - 18 15.3789 0.00000 - - k-point 369 : 0.0000 0.4000 0.3333 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7402 2.00000 - 5 -30.0338 2.00000 - 6 -29.9968 2.00000 - 7 -29.9759 2.00000 - 8 1.0386 2.00000 - 9 2.2838 2.00000 - 10 4.8741 2.00000 - 11 5.1768 2.00000 - 12 5.5479 2.00000 - 13 6.0278 2.00000 - 14 9.2474 0.00000 - 15 10.2163 0.00000 - 16 11.7129 0.00000 - 17 12.5232 0.00000 - 18 15.0058 0.00000 - - k-point 370 : 0.0667 0.4000 0.3333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7401 2.00000 - 5 -30.0336 2.00000 - 6 -29.9990 2.00000 - 7 -29.9758 2.00000 - 8 1.0849 2.00000 - 9 2.3392 2.00000 - 10 4.8595 2.00000 - 11 5.1791 2.00000 - 12 5.4792 2.00000 - 13 5.9945 2.00000 - 14 9.2635 0.00000 - 15 10.0727 0.00000 - 16 11.5584 0.00000 - 17 12.9761 0.00000 - 18 14.9006 0.00000 - - k-point 371 : 0.1333 0.4000 0.3333 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7400 2.00000 - 5 -30.0331 2.00000 - 6 -30.0052 2.00000 - 7 -29.9755 2.00000 - 8 1.2159 2.00000 - 9 2.5063 2.00000 - 10 4.8118 2.00000 - 11 5.1287 2.00000 - 12 5.3567 2.00000 - 13 5.9132 2.00000 - 14 9.1604 0.00000 - 15 9.8071 0.00000 - 16 11.5723 0.00000 - 17 13.7995 0.00000 - 18 14.5522 0.00000 - - k-point 372 : 0.2000 0.4000 0.3333 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2906 2.00000 - 4 -65.7399 2.00000 - 5 -30.0325 2.00000 - 6 -30.0144 2.00000 - 7 -29.9750 2.00000 - 8 1.4162 2.00000 - 9 2.7831 2.00000 - 10 4.7111 2.00000 - 11 4.9082 2.00000 - 12 5.3719 2.00000 - 13 5.8226 2.00000 - 14 8.6841 0.00000 - 15 9.8145 0.00000 - 16 11.6802 0.00000 - 17 13.7580 0.00000 - 18 15.0949 0.00000 - - k-point 373 : 0.2667 0.4000 0.3333 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7397 2.00000 - 5 -30.0317 2.00000 - 6 -30.0249 2.00000 - 7 -29.9744 2.00000 - 8 1.6606 2.00000 - 9 3.1538 2.00000 - 10 4.4685 2.00000 - 11 4.7356 2.00000 - 12 5.4606 2.00000 - 13 5.7551 2.00000 - 14 8.0965 0.00251 - 15 9.9238 0.00000 - 16 11.4526 0.00000 - 17 13.4892 0.00000 - 18 15.4328 0.00000 - - k-point 374 : 0.3333 0.4000 0.3333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7394 2.00000 - 5 -30.0350 2.00000 - 6 -30.0309 2.00000 - 7 -29.9738 2.00000 - 8 1.9273 2.00000 - 9 3.5628 2.00000 - 10 4.1380 2.00000 - 11 4.6730 2.00000 - 12 5.5708 2.00000 - 13 5.7308 2.00000 - 14 7.5590 2.00000 - 15 9.9659 0.00000 - 16 10.8523 0.00000 - 17 14.1412 0.00000 - 18 15.3603 0.00000 - - k-point 375 : 0.4000 0.4000 0.3333 - band No. band energies occupation - 1 -91.8813 2.00000 - 2 -91.4263 2.00000 - 3 -91.2912 2.00000 - 4 -65.7394 2.00000 - 5 -30.0429 2.00000 - 6 -30.0304 2.00000 - 7 -29.9734 2.00000 - 8 2.1834 2.00000 - 9 3.8283 2.00000 - 10 3.8862 2.00000 - 11 4.7204 2.00000 - 12 5.6527 2.00000 - 13 5.7690 2.00000 - 14 7.1423 2.00000 - 15 9.7054 0.00000 - 16 10.4694 0.00000 - 17 14.5817 0.00000 - 18 17.9482 0.00000 - - k-point 376 : 0.4667 0.4000 0.3333 - band No. band energies occupation - 1 -91.8812 2.00000 - 2 -91.4262 2.00000 - 3 -91.2912 2.00000 - 4 -65.7393 2.00000 - 5 -30.0472 2.00000 - 6 -30.0300 2.00000 - 7 -29.9732 2.00000 - 8 2.3655 2.00000 - 9 3.6194 2.00000 - 10 4.0214 2.00000 - 11 4.8461 2.00000 - 12 5.7172 2.00000 - 13 5.7917 2.00000 - 14 6.9188 2.00000 - 15 9.3231 0.00000 - 16 10.4174 0.00000 - 17 14.4421 0.00000 - 18 15.8976 0.00000 - - k-point 377 : 0.0000 0.4667 0.3333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7400 2.00000 - 5 -30.0397 2.00000 - 6 -29.9962 2.00000 - 7 -29.9755 2.00000 - 8 1.4380 2.00000 - 9 1.9003 2.00000 - 10 4.9695 2.00000 - 11 5.1428 2.00000 - 12 5.6423 2.00000 - 13 5.8766 2.00000 - 14 9.4326 0.00000 - 15 10.2038 0.00000 - 16 11.3534 0.00000 - 17 12.4003 0.00000 - 18 15.1798 0.00000 - - k-point 378 : 0.0667 0.4667 0.3333 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7400 2.00000 - 5 -30.0396 2.00000 - 6 -29.9984 2.00000 - 7 -29.9754 2.00000 - 8 1.4775 2.00000 - 9 1.9610 2.00000 - 10 4.9344 2.00000 - 11 5.1436 2.00000 - 12 5.6222 2.00000 - 13 5.8407 2.00000 - 14 9.4328 0.00000 - 15 9.9118 0.00000 - 16 11.4086 0.00000 - 17 12.7786 0.00000 - 18 14.7529 0.00000 - - k-point 379 : 0.1333 0.4667 0.3333 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4253 2.00000 - 3 -91.2902 2.00000 - 4 -65.7399 2.00000 - 5 -30.0391 2.00000 - 6 -30.0046 2.00000 - 7 -29.9751 2.00000 - 8 1.5884 2.00000 - 9 2.1473 2.00000 - 10 4.8263 2.00000 - 11 5.1395 2.00000 - 12 5.5663 2.00000 - 13 5.7671 2.00000 - 14 9.1881 0.00000 - 15 9.5548 0.00000 - 16 11.6103 0.00000 - 17 13.5641 0.00000 - 18 14.7151 0.00000 - - k-point 380 : 0.2000 0.4667 0.3333 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2902 2.00000 - 4 -65.7397 2.00000 - 5 -30.0384 2.00000 - 6 -30.0138 2.00000 - 7 -29.9746 2.00000 - 8 1.7510 2.00000 - 9 2.4554 2.00000 - 10 4.6493 2.00000 - 11 5.1054 2.00000 - 12 5.5016 2.00000 - 13 5.7219 2.00000 - 14 8.5259 0.00000 - 15 9.5738 0.00000 - 16 11.7986 0.00000 - 17 14.0607 0.00000 - 18 14.5081 0.00000 - - k-point 381 : 0.2667 0.4667 0.3333 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2904 2.00000 - 4 -65.7395 2.00000 - 5 -30.0377 2.00000 - 6 -30.0244 2.00000 - 7 -29.9740 2.00000 - 8 1.9503 2.00000 - 9 2.8575 2.00000 - 10 4.4232 2.00000 - 11 5.0190 2.00000 - 12 5.4953 2.00000 - 13 5.7259 2.00000 - 14 7.8787 1.04556 - 15 9.6218 0.00000 - 16 11.5688 0.00000 - 17 13.6440 0.00000 - 18 15.2299 0.00000 - - k-point 382 : 0.3333 0.4667 0.3333 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7393 2.00000 - 5 -30.0369 2.00000 - 6 -30.0345 2.00000 - 7 -29.9735 2.00000 - 8 2.1724 2.00000 - 9 3.2887 2.00000 - 10 4.1759 2.00000 - 11 4.9222 2.00000 - 12 5.5665 2.00000 - 13 5.7737 2.00000 - 14 7.3144 2.00000 - 15 9.6562 0.00000 - 16 10.8484 0.00000 - 17 13.8758 0.00000 - 18 15.6076 0.00000 - - k-point 383 : 0.4000 0.4667 0.3333 - band No. band energies occupation - 1 -91.8813 2.00000 - 2 -91.4263 2.00000 - 3 -91.2913 2.00000 - 4 -65.7392 2.00000 - 5 -30.0424 2.00000 - 6 -30.0364 2.00000 - 7 -29.9731 2.00000 - 8 2.3889 2.00000 - 9 3.6451 2.00000 - 10 3.9430 2.00000 - 11 4.8684 2.00000 - 12 5.6997 2.00000 - 13 5.8611 2.00000 - 14 6.8688 2.00000 - 15 9.6086 0.00000 - 16 10.1393 0.00000 - 17 15.1730 0.00000 - 18 16.3079 0.00000 - - k-point 384 : 0.4667 0.4667 0.3333 - band No. band energies occupation - 1 -91.8813 2.00000 - 2 -91.4263 2.00000 - 3 -91.2913 2.00000 - 4 -65.7391 2.00000 - 5 -30.0467 2.00000 - 6 -30.0360 2.00000 - 7 -29.9728 2.00000 - 8 2.5397 2.00000 - 9 3.7856 2.00000 - 10 3.8326 2.00000 - 11 4.8610 2.00000 - 12 5.8430 2.00000 - 13 5.9453 2.00000 - 14 6.5965 2.00000 - 15 9.3465 0.00000 - 16 9.8978 0.00000 - 17 15.1892 0.00000 - 18 16.2199 0.00000 - - k-point 385 : 0.0000 0.0000 0.4000 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2900 2.00000 - 4 -65.7403 2.00000 - 5 -30.0144 2.00000 - 6 -29.9990 2.00000 - 7 -29.9656 2.00000 - 8 0.0785 2.00000 - 9 2.7125 2.00000 - 10 4.5094 2.00000 - 11 4.6940 2.00000 - 12 4.9214 2.00000 - 13 8.5745 0.00000 - 14 10.1269 0.00000 - 15 10.5365 0.00000 - 16 10.8704 0.00000 - 17 13.9768 0.00000 - 18 14.6979 0.00000 - - k-point 386 : 0.0667 0.0000 0.4000 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7402 2.00000 - 5 -30.0143 2.00000 - 6 -30.0012 2.00000 - 7 -29.9654 2.00000 - 8 0.1273 2.00000 - 9 2.6983 2.00000 - 10 4.4779 2.00000 - 11 4.7369 2.00000 - 12 4.9443 2.00000 - 13 8.3529 0.00000 - 14 10.1419 0.00000 - 15 10.4344 0.00000 - 16 11.1645 0.00000 - 17 13.6110 0.00000 - 18 14.5556 0.00000 - - k-point 387 : 0.1333 0.0000 0.4000 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7401 2.00000 - 5 -30.0140 2.00000 - 6 -30.0074 2.00000 - 7 -29.9649 2.00000 - 8 0.2683 2.00000 - 9 2.6518 2.00000 - 10 4.4352 2.00000 - 11 4.8169 2.00000 - 12 5.0107 2.00000 - 13 7.8922 0.89370 - 14 10.1231 0.00000 - 15 10.2307 0.00000 - 16 11.8214 0.00000 - 17 13.2548 0.00000 - 18 14.5906 0.00000 - - k-point 388 : 0.2000 0.0000 0.4000 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7399 2.00000 - 5 -30.0165 2.00000 - 6 -30.0135 2.00000 - 7 -29.9640 2.00000 - 8 0.4880 2.00000 - 9 2.5740 2.00000 - 10 4.4223 2.00000 - 11 4.8957 2.00000 - 12 5.1141 2.00000 - 13 7.4082 2.00000 - 14 9.8145 0.00000 - 15 10.2589 0.00000 - 16 12.5295 0.00000 - 17 12.7207 0.00000 - 18 14.5641 0.00000 - - k-point 389 : 0.2667 0.0000 0.4000 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7397 2.00000 - 5 -30.0269 2.00000 - 6 -30.0129 2.00000 - 7 -29.9631 2.00000 - 8 0.7614 2.00000 - 9 2.4691 2.00000 - 10 4.4450 2.00000 - 11 4.9606 2.00000 - 12 5.2429 2.00000 - 13 6.9802 2.00000 - 14 9.4992 0.00000 - 15 10.2989 0.00000 - 16 12.2571 0.00000 - 17 12.7704 0.00000 - 18 14.6183 0.00000 - - k-point 390 : 0.3333 0.0000 0.4000 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4247 2.00000 - 3 -91.2897 2.00000 - 4 -65.7395 2.00000 - 5 -30.0369 2.00000 - 6 -30.0123 2.00000 - 7 -29.9621 2.00000 - 8 1.0553 2.00000 - 9 2.3467 2.00000 - 10 4.4910 2.00000 - 11 5.0061 2.00000 - 12 5.3805 2.00000 - 13 6.6366 2.00000 - 14 9.2609 0.00000 - 15 10.3038 0.00000 - 16 11.8735 0.00000 - 17 12.5601 0.00000 - 18 15.5151 0.00000 - - k-point 391 : 0.4000 0.0000 0.4000 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7394 2.00000 - 5 -30.0447 2.00000 - 6 -30.0119 2.00000 - 7 -29.9614 2.00000 - 8 1.3266 2.00000 - 9 2.2198 2.00000 - 10 4.5371 2.00000 - 11 5.0314 2.00000 - 12 5.5048 2.00000 - 13 6.3900 2.00000 - 14 9.1261 0.00000 - 15 10.2612 0.00000 - 16 11.5989 0.00000 - 17 12.2895 0.00000 - 18 15.2894 0.00000 - - k-point 392 : 0.4667 0.0000 0.4000 - band No. band energies occupation - 1 -91.8792 2.00000 - 2 -91.4242 2.00000 - 3 -91.2892 2.00000 - 4 -65.7392 2.00000 - 5 -30.0489 2.00000 - 6 -30.0116 2.00000 - 7 -29.9610 2.00000 - 8 1.5141 2.00000 - 9 2.1185 2.00000 - 10 4.5650 2.00000 - 11 5.0425 2.00000 - 12 5.5850 2.00000 - 13 6.2547 2.00000 - 14 9.0783 0.00000 - 15 10.2059 0.00000 - 16 11.4660 0.00000 - 17 12.1310 0.00000 - 18 14.9984 0.00000 - - k-point 393 : 0.0000 0.0667 0.4000 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7402 2.00000 - 5 -30.0143 2.00000 - 6 -29.9987 2.00000 - 7 -29.9687 2.00000 - 8 0.1308 2.00000 - 9 2.7052 2.00000 - 10 4.5062 2.00000 - 11 4.7211 2.00000 - 12 4.9341 2.00000 - 13 8.2944 0.00000 - 14 10.1322 0.00000 - 15 10.7510 0.00000 - 16 10.8939 0.00000 - 17 14.0685 0.00000 - 18 19.2975 0.00000 - - k-point 394 : 0.0667 0.0667 0.4000 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7402 2.00000 - 5 -30.0141 2.00000 - 6 -30.0009 2.00000 - 7 -29.9685 2.00000 - 8 0.1799 2.00000 - 9 2.6961 2.00000 - 10 4.4700 2.00000 - 11 4.7546 2.00000 - 12 4.9662 2.00000 - 13 8.0964 0.00253 - 14 10.1465 0.00000 - 15 10.7223 0.00000 - 16 11.0608 0.00000 - 17 13.4843 0.00000 - 18 14.7098 0.00000 - - k-point 395 : 0.1333 0.0667 0.4000 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7400 2.00000 - 5 -30.0138 2.00000 - 6 -30.0071 2.00000 - 7 -29.9680 2.00000 - 8 0.3214 2.00000 - 9 2.6647 2.00000 - 10 4.4164 2.00000 - 11 4.8132 2.00000 - 12 5.0527 2.00000 - 13 7.6707 1.99729 - 14 10.1672 0.00000 - 15 10.4384 0.00000 - 16 11.6127 0.00000 - 17 13.1255 0.00000 - 18 15.0675 0.00000 - - k-point 396 : 0.2000 0.0667 0.4000 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7399 2.00000 - 5 -30.0163 2.00000 - 6 -30.0133 2.00000 - 7 -29.9671 2.00000 - 8 0.5403 2.00000 - 9 2.6055 2.00000 - 10 4.3962 2.00000 - 11 4.8703 2.00000 - 12 5.1699 2.00000 - 13 7.2169 2.00000 - 14 9.9996 0.00000 - 15 10.2485 0.00000 - 16 11.9915 0.00000 - 17 13.4963 0.00000 - 18 14.9307 0.00000 - - k-point 397 : 0.2667 0.0667 0.4000 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7397 2.00000 - 5 -30.0266 2.00000 - 6 -30.0127 2.00000 - 7 -29.9662 2.00000 - 8 0.8138 2.00000 - 9 2.5179 2.00000 - 10 4.4217 2.00000 - 11 4.9184 2.00000 - 12 5.2999 2.00000 - 13 6.8210 2.00000 - 14 9.6472 0.00000 - 15 10.2064 0.00000 - 16 11.8412 0.00000 - 17 13.2636 0.00000 - 18 14.4602 0.00000 - - k-point 398 : 0.3333 0.0667 0.4000 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7395 2.00000 - 5 -30.0366 2.00000 - 6 -30.0121 2.00000 - 7 -29.9653 2.00000 - 8 1.1061 2.00000 - 9 2.4089 2.00000 - 10 4.4770 2.00000 - 11 4.9499 2.00000 - 12 5.4309 2.00000 - 13 6.5164 2.00000 - 14 9.3564 0.00000 - 15 10.0920 0.00000 - 16 11.6293 0.00000 - 17 13.0657 0.00000 - 18 15.1621 0.00000 - - k-point 399 : 0.4000 0.0667 0.4000 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4247 2.00000 - 3 -91.2897 2.00000 - 4 -65.7393 2.00000 - 5 -30.0444 2.00000 - 6 -30.0117 2.00000 - 7 -29.9646 2.00000 - 8 1.3737 2.00000 - 9 2.2928 2.00000 - 10 4.5311 2.00000 - 11 4.9651 2.00000 - 12 5.5497 2.00000 - 13 6.3103 2.00000 - 14 9.1728 0.00000 - 15 9.9154 0.00000 - 16 11.5234 0.00000 - 17 12.7770 0.00000 - 18 15.3120 0.00000 - - k-point 400 : 0.4667 0.0667 0.4000 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7392 2.00000 - 5 -30.0487 2.00000 - 6 -30.0114 2.00000 - 7 -29.9642 2.00000 - 8 1.5535 2.00000 - 9 2.2004 2.00000 - 10 4.5595 2.00000 - 11 4.9718 2.00000 - 12 5.6296 2.00000 - 13 6.2011 2.00000 - 14 9.0958 0.00000 - 15 9.7761 0.00000 - 16 11.4975 0.00000 - 17 12.5932 0.00000 - 18 15.0907 0.00000 - - k-point 401 : 0.0000 0.1333 0.4000 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7400 2.00000 - 5 -30.0138 2.00000 - 6 -29.9979 2.00000 - 7 -29.9775 2.00000 - 8 0.2825 2.00000 - 9 2.6761 2.00000 - 10 4.5064 2.00000 - 11 4.8000 2.00000 - 12 4.9688 2.00000 - 13 7.7564 1.92606 - 14 10.1137 0.00000 - 15 10.4867 0.00000 - 16 11.6479 0.00000 - 17 13.3919 0.00000 - 18 14.4508 0.00000 - - k-point 402 : 0.0667 0.1333 0.4000 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7400 2.00000 - 5 -30.0137 2.00000 - 6 -30.0001 2.00000 - 7 -29.9773 2.00000 - 8 0.3313 2.00000 - 9 2.6826 2.00000 - 10 4.4604 2.00000 - 11 4.8061 2.00000 - 12 5.0256 2.00000 - 13 7.5867 1.99997 - 14 10.1283 0.00000 - 15 10.6729 0.00000 - 16 11.4680 0.00000 - 17 13.1394 0.00000 - 18 14.3328 0.00000 - - k-point 403 : 0.1333 0.1333 0.4000 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4247 2.00000 - 3 -91.2897 2.00000 - 4 -65.7398 2.00000 - 5 -30.0133 2.00000 - 6 -30.0063 2.00000 - 7 -29.9768 2.00000 - 8 0.4736 2.00000 - 9 2.6942 2.00000 - 10 4.3753 2.00000 - 11 4.8323 2.00000 - 12 5.1415 2.00000 - 13 7.2084 2.00000 - 14 10.1072 0.00000 - 15 10.9314 0.00000 - 16 11.2329 0.00000 - 17 12.9608 0.00000 - 18 14.6853 0.00000 - - k-point 404 : 0.2000 0.1333 0.4000 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2900 2.00000 - 4 -65.7397 2.00000 - 5 -30.0155 2.00000 - 6 -30.0128 2.00000 - 7 -29.9760 2.00000 - 8 0.6917 2.00000 - 9 2.6939 2.00000 - 10 4.3211 2.00000 - 11 4.8693 2.00000 - 12 5.2665 2.00000 - 13 6.8005 2.00000 - 14 9.9630 0.00000 - 15 10.5675 0.00000 - 16 11.4806 0.00000 - 17 13.0652 0.00000 - 18 14.4338 0.00000 - - k-point 405 : 0.2667 0.1333 0.4000 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7395 2.00000 - 5 -30.0259 2.00000 - 6 -30.0122 2.00000 - 7 -29.9751 2.00000 - 8 0.9628 2.00000 - 9 2.6633 2.00000 - 10 4.3343 2.00000 - 11 4.8939 2.00000 - 12 5.3859 2.00000 - 13 6.4620 2.00000 - 14 9.6578 0.00000 - 15 10.1908 0.00000 - 16 11.5257 0.00000 - 17 13.6164 0.00000 - 18 15.5505 0.00000 - - k-point 406 : 0.3333 0.1333 0.4000 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7393 2.00000 - 5 -30.0359 2.00000 - 6 -30.0116 2.00000 - 7 -29.9742 2.00000 - 8 1.2487 2.00000 - 9 2.5974 2.00000 - 10 4.4087 2.00000 - 11 4.8823 2.00000 - 12 5.5018 2.00000 - 13 6.2380 2.00000 - 14 9.3183 0.00000 - 15 9.7979 0.00000 - 16 11.5299 0.00000 - 17 13.8800 0.00000 - 18 14.6587 0.00000 - - k-point 407 : 0.4000 0.1333 0.4000 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7391 2.00000 - 5 -30.0437 2.00000 - 6 -30.0112 2.00000 - 7 -29.9735 2.00000 - 8 1.5051 2.00000 - 9 2.5119 2.00000 - 10 4.4950 2.00000 - 11 4.8424 2.00000 - 12 5.6205 2.00000 - 13 6.1187 2.00000 - 14 9.0647 0.00000 - 15 9.4200 0.00000 - 16 11.5701 0.00000 - 17 13.6103 0.00000 - 18 15.8073 0.00000 - - k-point 408 : 0.4667 0.1333 0.4000 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7390 2.00000 - 5 -30.0480 2.00000 - 6 -30.0110 2.00000 - 7 -29.9731 2.00000 - 8 1.6705 2.00000 - 9 2.4419 2.00000 - 10 4.5400 2.00000 - 11 4.8182 2.00000 - 12 5.7164 2.00000 - 13 6.0601 2.00000 - 14 8.9498 0.00000 - 15 9.1654 0.00000 - 16 11.6090 0.00000 - 17 13.4604 0.00000 - 18 15.4612 0.00000 - - k-point 409 : 0.0000 0.2000 0.4000 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7397 2.00000 - 5 -30.0130 2.00000 - 6 -29.9967 2.00000 - 7 -29.9905 2.00000 - 8 0.5171 2.00000 - 9 2.6203 2.00000 - 10 4.5293 2.00000 - 11 4.9234 2.00000 - 12 5.0169 2.00000 - 13 7.2171 2.00000 - 14 9.9208 0.00000 - 15 10.3388 0.00000 - 16 12.4204 0.00000 - 17 12.7407 0.00000 - 18 14.2892 0.00000 - - k-point 410 : 0.0667 0.2000 0.4000 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7397 2.00000 - 5 -30.0129 2.00000 - 6 -29.9989 2.00000 - 7 -29.9903 2.00000 - 8 0.5656 2.00000 - 9 2.6459 2.00000 - 10 4.4784 2.00000 - 11 4.8801 2.00000 - 12 5.1125 2.00000 - 13 7.0689 2.00000 - 14 9.9752 0.00000 - 15 10.4280 0.00000 - 16 12.5187 0.00000 - 17 32.9739 0.00000 - 18 35.7387 0.00000 - - k-point 411 : 0.1333 0.2000 0.4000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7396 2.00000 - 5 -30.0125 2.00000 - 6 -30.0051 2.00000 - 7 -29.9898 2.00000 - 8 0.7061 2.00000 - 9 2.7176 2.00000 - 10 4.3568 2.00000 - 11 4.8822 2.00000 - 12 5.2415 2.00000 - 13 6.7298 2.00000 - 14 9.8871 0.00000 - 15 10.7646 0.00000 - 16 11.4466 0.00000 - 17 14.5915 0.00000 - 18 38.5493 0.00000 - - k-point 412 : 0.2000 0.2000 0.4000 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2900 2.00000 - 4 -65.7394 2.00000 - 5 -30.0143 2.00000 - 6 -30.0120 2.00000 - 7 -29.9890 2.00000 - 8 0.9230 2.00000 - 9 2.8144 2.00000 - 10 4.2395 2.00000 - 11 4.9255 2.00000 - 12 5.3419 2.00000 - 13 6.3667 2.00000 - 14 9.5538 0.00000 - 15 11.0084 0.00000 - 16 11.1693 0.00000 - 17 13.0107 0.00000 - 18 14.8133 0.00000 - - k-point 413 : 0.2667 0.2000 0.4000 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7392 2.00000 - 5 -30.0248 2.00000 - 6 -30.0115 2.00000 - 7 -29.9881 2.00000 - 8 1.1884 2.00000 - 9 2.8932 2.00000 - 10 4.1953 2.00000 - 11 4.9555 2.00000 - 12 5.3985 2.00000 - 13 6.1037 2.00000 - 14 9.0980 0.00000 - 15 10.5664 0.00000 - 16 11.4010 0.00000 - 17 13.2814 0.00000 - 18 14.7039 0.00000 - - k-point 414 : 0.3333 0.2000 0.4000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7390 2.00000 - 5 -30.0349 2.00000 - 6 -30.0110 2.00000 - 7 -29.9873 2.00000 - 8 1.4648 2.00000 - 9 2.9108 2.00000 - 10 4.2604 2.00000 - 11 4.8930 2.00000 - 12 5.4670 2.00000 - 13 5.9927 2.00000 - 14 8.6547 0.00000 - 15 10.0335 0.00000 - 16 11.5522 0.00000 - 17 13.8640 0.00000 - 18 14.7888 0.00000 - - k-point 415 : 0.4000 0.2000 0.4000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7389 2.00000 - 5 -30.0427 2.00000 - 6 -30.0105 2.00000 - 7 -29.9866 2.00000 - 8 1.7087 2.00000 - 9 2.8704 2.00000 - 10 4.3914 2.00000 - 11 4.7599 2.00000 - 12 5.6061 2.00000 - 13 5.9584 2.00000 - 14 8.3087 0.00000 - 15 9.5375 0.00000 - 16 11.6648 0.00000 - 17 14.4457 0.00000 - 18 14.7936 0.00000 - - k-point 416 : 0.4667 0.2000 0.4000 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7388 2.00000 - 5 -30.0470 2.00000 - 6 -30.0104 2.00000 - 7 -29.9863 2.00000 - 8 1.8594 2.00000 - 9 2.8218 2.00000 - 10 4.4916 2.00000 - 11 4.6640 2.00000 - 12 5.7708 2.00000 - 13 5.9044 2.00000 - 14 8.1176 0.00090 - 15 9.2281 0.00000 - 16 11.7299 0.00000 - 17 14.3458 0.00000 - 18 15.1540 0.00000 - - k-point 417 : 0.0000 0.2667 0.4000 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7395 2.00000 - 5 -30.0121 2.00000 - 6 -30.0053 2.00000 - 7 -29.9953 2.00000 - 8 0.8079 2.00000 - 9 2.5334 2.00000 - 10 4.5838 2.00000 - 11 5.0666 2.00000 - 12 5.0783 2.00000 - 13 6.7500 2.00000 - 14 9.6333 0.00000 - 15 10.3108 0.00000 - 16 12.2505 0.00000 - 17 12.6826 0.00000 - 18 14.7554 0.00000 - - k-point 418 : 0.0667 0.2667 0.4000 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7394 2.00000 - 5 -30.0120 2.00000 - 6 -30.0051 2.00000 - 7 -29.9975 2.00000 - 8 0.8563 2.00000 - 9 2.5778 2.00000 - 10 4.5415 2.00000 - 11 4.9542 2.00000 - 12 5.2219 2.00000 - 13 6.6261 2.00000 - 14 9.6800 0.00000 - 15 10.3030 0.00000 - 16 11.8282 0.00000 - 17 13.2292 0.00000 - 18 14.7293 0.00000 - - k-point 419 : 0.1333 0.2667 0.4000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4257 2.00000 - 3 -91.2906 2.00000 - 4 -65.7393 2.00000 - 5 -30.0117 2.00000 - 6 -30.0046 2.00000 - 7 -30.0037 2.00000 - 8 0.9944 2.00000 - 9 2.7079 2.00000 - 10 4.4058 2.00000 - 11 4.9318 2.00000 - 12 5.3400 2.00000 - 13 6.3377 2.00000 - 14 9.5130 0.00000 - 15 10.4672 0.00000 - 16 11.4998 0.00000 - 17 13.8778 0.00000 - 18 18.0925 0.00000 - - k-point 420 : 0.2000 0.2667 0.4000 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7391 2.00000 - 5 -30.0130 2.00000 - 6 -30.0112 2.00000 - 7 -30.0039 2.00000 - 8 1.2055 2.00000 - 9 2.9156 2.00000 - 10 4.2276 2.00000 - 11 4.9929 2.00000 - 12 5.3616 2.00000 - 13 6.0549 2.00000 - 14 9.0232 0.00000 - 15 10.8076 0.00000 - 16 11.3166 0.00000 - 17 13.1705 0.00000 - 18 14.8540 0.00000 - - k-point 421 : 0.2667 0.2667 0.4000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7389 2.00000 - 5 -30.0235 2.00000 - 6 -30.0107 2.00000 - 7 -30.0030 2.00000 - 8 1.4620 2.00000 - 9 3.1623 2.00000 - 10 4.0828 2.00000 - 11 5.0864 2.00000 - 12 5.2214 2.00000 - 13 5.9363 2.00000 - 14 8.4563 0.00000 - 15 10.8355 0.00000 - 16 11.2520 0.00000 - 17 13.1419 0.00000 - 18 15.5800 0.00000 - - k-point 422 : 0.3333 0.2667 0.4000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7387 2.00000 - 5 -30.0336 2.00000 - 6 -30.0102 2.00000 - 7 -30.0022 2.00000 - 8 1.7297 2.00000 - 9 3.3337 2.00000 - 10 4.0790 2.00000 - 11 4.9123 2.00000 - 12 5.2921 2.00000 - 13 5.9385 2.00000 - 14 7.9391 0.42621 - 15 10.2850 0.00000 - 16 11.4643 0.00000 - 17 13.4225 0.00000 - 18 15.4710 0.00000 - - k-point 423 : 0.4000 0.2667 0.4000 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4260 2.00000 - 3 -91.2909 2.00000 - 4 -65.7386 2.00000 - 5 -30.0415 2.00000 - 6 -30.0098 2.00000 - 7 -30.0016 2.00000 - 8 1.9664 2.00000 - 9 3.3331 2.00000 - 10 4.2564 2.00000 - 11 4.6894 2.00000 - 12 5.4784 2.00000 - 13 5.9482 2.00000 - 14 7.5447 2.00000 - 15 9.6945 0.00000 - 16 11.6252 0.00000 - 17 13.7684 0.00000 - 18 15.1176 0.00000 - - k-point 424 : 0.4667 0.2667 0.4000 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4260 2.00000 - 3 -91.2910 2.00000 - 4 -65.7385 2.00000 - 5 -30.0458 2.00000 - 6 -30.0096 2.00000 - 7 -30.0012 2.00000 - 8 2.1159 2.00000 - 9 3.2777 2.00000 - 10 4.4136 2.00000 - 11 4.5730 2.00000 - 12 5.6529 2.00000 - 13 5.9143 2.00000 - 14 7.3340 2.00000 - 15 9.3087 0.00000 - 16 11.7152 0.00000 - 17 14.2992 0.00000 - 18 15.1018 0.00000 - - k-point 425 : 0.0000 0.3333 0.4000 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7391 2.00000 - 5 -30.0194 2.00000 - 6 -30.0113 2.00000 - 7 -29.9940 2.00000 - 8 1.1188 2.00000 - 9 2.4225 2.00000 - 10 4.6599 2.00000 - 11 5.1059 2.00000 - 12 5.2458 2.00000 - 13 6.3781 2.00000 - 14 9.4462 0.00000 - 15 10.2515 0.00000 - 16 11.8462 0.00000 - 17 12.3849 0.00000 - 18 15.2872 0.00000 - - k-point 426 : 0.0667 0.3333 0.4000 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2906 2.00000 - 4 -65.7391 2.00000 - 5 -30.0192 2.00000 - 6 -30.0112 2.00000 - 7 -29.9962 2.00000 - 8 1.1663 2.00000 - 9 2.4798 2.00000 - 10 4.6338 2.00000 - 11 5.0065 2.00000 - 12 5.3465 2.00000 - 13 6.2884 2.00000 - 14 9.4413 0.00000 - 15 10.1362 0.00000 - 16 11.5983 0.00000 - 17 12.9221 0.00000 - 18 14.9830 0.00000 - - k-point 427 : 0.1333 0.3333 0.4000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2905 2.00000 - 4 -65.7390 2.00000 - 5 -30.0187 2.00000 - 6 -30.0108 2.00000 - 7 -30.0025 2.00000 - 8 1.2998 2.00000 - 9 2.6535 2.00000 - 10 4.5224 2.00000 - 11 4.9355 2.00000 - 12 5.4403 2.00000 - 13 6.0847 2.00000 - 14 9.1320 0.00000 - 15 10.1355 0.00000 - 16 11.4935 0.00000 - 17 14.1593 0.00000 - 18 15.0031 0.00000 - - k-point 428 : 0.2000 0.3333 0.4000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7388 2.00000 - 5 -30.0181 2.00000 - 6 -30.0118 2.00000 - 7 -30.0103 2.00000 - 8 1.5018 2.00000 - 9 2.9434 2.00000 - 10 4.3332 2.00000 - 11 4.9416 2.00000 - 12 5.4009 2.00000 - 13 5.9358 2.00000 - 14 8.5164 0.00000 - 15 10.3690 0.00000 - 16 11.4796 0.00000 - 17 13.6233 0.00000 - 18 15.4168 0.00000 - - k-point 429 : 0.2667 0.3333 0.4000 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7386 2.00000 - 5 -30.0224 2.00000 - 6 -30.0173 2.00000 - 7 -30.0098 2.00000 - 8 1.7486 2.00000 - 9 3.3382 2.00000 - 10 4.1257 2.00000 - 11 4.9091 2.00000 - 12 5.2805 2.00000 - 13 5.9294 2.00000 - 14 7.8705 1.13750 - 15 10.5822 0.00000 - 16 11.3190 0.00000 - 17 14.4746 0.00000 - 18 15.4084 0.00000 - - k-point 430 : 0.3333 0.3333 0.4000 - band No. band energies occupation - 1 -91.8812 2.00000 - 2 -91.4262 2.00000 - 3 -91.2911 2.00000 - 4 -65.7384 2.00000 - 5 -30.0325 2.00000 - 6 -30.0165 2.00000 - 7 -30.0094 2.00000 - 8 2.0137 2.00000 - 9 3.7924 2.00000 - 10 3.9366 2.00000 - 11 4.7182 2.00000 - 12 5.3253 2.00000 - 13 5.9653 2.00000 - 14 7.2969 2.00000 - 15 10.3874 0.00000 - 16 11.1648 0.00000 - 17 13.7918 0.00000 - 18 15.7649 0.00000 - - k-point 431 : 0.4000 0.3333 0.4000 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2910 2.00000 - 4 -65.7383 2.00000 - 5 -30.0404 2.00000 - 6 -30.0159 2.00000 - 7 -30.0090 2.00000 - 8 2.2614 2.00000 - 9 3.7478 2.00000 - 10 4.2324 2.00000 - 11 4.5462 2.00000 - 12 5.4530 2.00000 - 13 5.9817 2.00000 - 14 6.8661 2.00000 - 15 9.8164 0.00000 - 16 11.2354 0.00000 - 17 13.3824 0.00000 - 18 15.4946 0.00000 - - k-point 432 : 0.4667 0.3333 0.4000 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4260 2.00000 - 3 -91.2909 2.00000 - 4 -65.7382 2.00000 - 5 -30.0447 2.00000 - 6 -30.0156 2.00000 - 7 -30.0087 2.00000 - 8 2.4276 2.00000 - 9 3.6308 2.00000 - 10 4.3095 2.00000 - 11 4.6704 2.00000 - 12 5.5414 2.00000 - 13 5.9604 2.00000 - 14 6.6554 2.00000 - 15 9.3847 0.00000 - 16 11.2998 0.00000 - 17 13.4998 0.00000 - 18 15.5406 0.00000 - - k-point 433 : 0.0000 0.4000 0.4000 - band No. band energies occupation - 1 -91.8812 2.00000 - 2 -91.4262 2.00000 - 3 -91.2911 2.00000 - 4 -65.7389 2.00000 - 5 -30.0304 2.00000 - 6 -30.0107 2.00000 - 7 -29.9930 2.00000 - 8 1.4059 2.00000 - 9 2.2991 2.00000 - 10 4.7303 2.00000 - 11 5.1280 2.00000 - 12 5.4014 2.00000 - 13 6.1085 2.00000 - 14 9.4200 0.00000 - 15 10.1068 0.00000 - 16 11.5735 0.00000 - 17 12.0510 0.00000 - 18 15.2640 0.00000 - - k-point 434 : 0.0667 0.4000 0.4000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2908 2.00000 - 4 -65.7389 2.00000 - 5 -30.0302 2.00000 - 6 -30.0105 2.00000 - 7 -29.9952 2.00000 - 8 1.4496 2.00000 - 9 2.3666 2.00000 - 10 4.7143 2.00000 - 11 5.0343 2.00000 - 12 5.4738 2.00000 - 13 6.0596 2.00000 - 14 9.3470 0.00000 - 15 9.8894 0.00000 - 16 11.4911 0.00000 - 17 12.5501 0.00000 - 18 15.0042 0.00000 - - k-point 435 : 0.1333 0.4000 0.4000 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7387 2.00000 - 5 -30.0298 2.00000 - 6 -30.0102 2.00000 - 7 -30.0014 2.00000 - 8 1.5741 2.00000 - 9 2.5692 2.00000 - 10 4.6449 2.00000 - 11 4.8922 2.00000 - 12 5.5587 2.00000 - 13 5.9560 2.00000 - 14 8.8420 0.00000 - 15 9.8198 0.00000 - 16 11.5326 0.00000 - 17 13.4548 0.00000 - 18 15.3070 0.00000 - - k-point 436 : 0.2000 0.4000 0.4000 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2903 2.00000 - 4 -65.7385 2.00000 - 5 -30.0291 2.00000 - 6 -30.0108 2.00000 - 7 -30.0097 2.00000 - 8 1.7645 2.00000 - 9 2.9023 2.00000 - 10 4.5006 2.00000 - 11 4.7818 2.00000 - 12 5.5503 2.00000 - 13 5.9099 2.00000 - 14 8.1185 0.00086 - 15 9.9431 0.00000 - 16 11.5982 0.00000 - 17 14.1559 0.00000 - 18 15.5155 0.00000 - - k-point 437 : 0.2667 0.4000 0.4000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7383 2.00000 - 5 -30.0283 2.00000 - 6 -30.0214 2.00000 - 7 -30.0092 2.00000 - 8 2.0055 2.00000 - 9 3.3368 2.00000 - 10 4.3451 2.00000 - 11 4.6481 2.00000 - 12 5.4981 2.00000 - 13 5.9423 2.00000 - 14 7.4143 2.00000 - 15 10.0772 0.00000 - 16 11.5013 0.00000 - 17 14.0698 0.00000 - 18 15.1813 0.00000 - - k-point 438 : 0.3333 0.4000 0.4000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7382 2.00000 - 5 -30.0316 2.00000 - 6 -30.0276 2.00000 - 7 -30.0088 2.00000 - 8 2.2811 2.00000 - 9 3.7459 2.00000 - 10 4.2885 2.00000 - 11 4.4782 2.00000 - 12 5.5123 2.00000 - 13 5.9815 2.00000 - 14 6.7976 2.00000 - 15 10.1223 0.00000 - 16 10.9975 0.00000 - 17 13.3162 0.00000 - 18 35.4508 0.00000 - - k-point 439 : 0.4000 0.4000 0.4000 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4260 2.00000 - 3 -91.2910 2.00000 - 4 -65.7380 2.00000 - 5 -30.0395 2.00000 - 6 -30.0270 2.00000 - 7 -30.0084 2.00000 - 8 2.5605 2.00000 - 9 3.8201 2.00000 - 10 4.2232 2.00000 - 11 4.6720 2.00000 - 12 5.5887 2.00000 - 13 5.9853 2.00000 - 14 6.3304 2.00000 - 15 9.8542 0.00000 - 16 10.6312 0.00000 - 17 13.3008 0.00000 - 18 15.9780 0.00000 - - k-point 440 : 0.4667 0.4000 0.4000 - band No. band energies occupation - 1 -91.8815 2.00000 - 2 -91.4265 2.00000 - 3 -91.2915 2.00000 - 4 -65.7380 2.00000 - 5 -30.0439 2.00000 - 6 -30.0268 2.00000 - 7 -30.0082 2.00000 - 8 2.7690 2.00000 - 9 3.7318 2.00000 - 10 4.1082 2.00000 - 11 5.0768 2.00000 - 12 5.5474 2.00000 - 13 5.9652 2.00000 - 14 6.1318 2.00000 - 15 9.4421 0.00000 - 16 10.5773 0.00000 - 17 13.3598 0.00000 - 18 15.6239 0.00000 - - k-point 441 : 0.0000 0.4667 0.4000 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2911 2.00000 - 4 -65.7388 2.00000 - 5 -30.0364 2.00000 - 6 -30.0103 2.00000 - 7 -29.9924 2.00000 - 8 1.6041 2.00000 - 9 2.1949 2.00000 - 10 4.7707 2.00000 - 11 5.1368 2.00000 - 12 5.5104 2.00000 - 13 5.9515 2.00000 - 14 9.5274 0.00000 - 15 9.9063 0.00000 - 16 11.4475 0.00000 - 17 11.8572 0.00000 - 18 14.7311 0.00000 - - k-point 442 : 0.0667 0.4667 0.4000 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2905 2.00000 - 4 -65.7387 2.00000 - 5 -30.0362 2.00000 - 6 -30.0101 2.00000 - 7 -29.9946 2.00000 - 8 1.6419 2.00000 - 9 2.2709 2.00000 - 10 4.7507 2.00000 - 11 5.0499 2.00000 - 12 5.5743 2.00000 - 13 5.9294 2.00000 - 14 9.4032 0.00000 - 15 9.6388 0.00000 - 16 11.4753 0.00000 - 17 12.3145 0.00000 - 18 15.0586 0.00000 - - k-point 443 : 0.1333 0.4667 0.4000 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7386 2.00000 - 5 -30.0358 2.00000 - 6 -30.0099 2.00000 - 7 -30.0009 2.00000 - 8 1.7525 2.00000 - 9 2.4947 2.00000 - 10 4.6872 2.00000 - 11 4.8807 2.00000 - 12 5.6780 2.00000 - 13 5.8786 2.00000 - 14 8.6877 0.00000 - 15 9.6263 0.00000 - 16 11.5761 0.00000 - 17 13.1883 0.00000 - 18 15.0368 0.00000 - - k-point 444 : 0.2000 0.4667 0.4000 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2909 2.00000 - 4 -65.7384 2.00000 - 5 -30.0351 2.00000 - 6 -30.0103 2.00000 - 7 -30.0094 2.00000 - 8 1.9301 2.00000 - 9 2.8492 2.00000 - 10 4.5787 2.00000 - 11 4.7121 2.00000 - 12 5.7281 2.00000 - 13 5.8578 2.00000 - 14 7.8952 0.86080 - 15 9.6755 0.00000 - 16 11.6667 0.00000 - 17 14.3103 0.00000 - 18 38.9176 0.00000 - - k-point 445 : 0.2667 0.4667 0.4000 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4260 2.00000 - 3 -91.2909 2.00000 - 4 -65.7382 2.00000 - 5 -30.0344 2.00000 - 6 -30.0209 2.00000 - 7 -30.0089 2.00000 - 8 2.1704 2.00000 - 9 3.2839 2.00000 - 10 4.4368 2.00000 - 11 4.5966 2.00000 - 12 5.6971 2.00000 - 13 5.9055 2.00000 - 14 7.1618 2.00000 - 15 9.7305 0.00000 - 16 11.5519 0.00000 - 17 13.7092 0.00000 - 18 15.1518 0.00000 - - k-point 446 : 0.3333 0.4667 0.4000 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7380 2.00000 - 5 -30.0336 2.00000 - 6 -30.0310 2.00000 - 7 -30.0084 2.00000 - 8 2.4625 2.00000 - 9 3.6552 2.00000 - 10 4.2572 2.00000 - 11 4.6667 2.00000 - 12 5.6659 2.00000 - 13 5.9462 2.00000 - 14 6.5416 2.00000 - 15 9.7701 0.00000 - 16 11.0159 0.00000 - 17 13.7528 0.00000 - 18 15.5596 0.00000 - - k-point 447 : 0.4000 0.4667 0.4000 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4260 2.00000 - 3 -91.2910 2.00000 - 4 -65.7379 2.00000 - 5 -30.0390 2.00000 - 6 -30.0331 2.00000 - 7 -30.0080 2.00000 - 8 2.7831 2.00000 - 9 3.7889 2.00000 - 10 4.0361 2.00000 - 11 5.0350 2.00000 - 12 5.6638 2.00000 - 13 5.9246 2.00000 - 14 6.1048 2.00000 - 15 9.7327 0.00000 - 16 10.2984 0.00000 - 17 13.3147 0.00000 - 18 15.4211 0.00000 - - k-point 448 : 0.4667 0.4667 0.4000 - band No. band energies occupation - 1 -91.8812 2.00000 - 2 -91.4262 2.00000 - 3 -91.2912 2.00000 - 4 -65.7378 2.00000 - 5 -30.0434 2.00000 - 6 -30.0328 2.00000 - 7 -30.0078 2.00000 - 8 3.0626 2.00000 - 9 3.7463 2.00000 - 10 3.8683 2.00000 - 11 5.4341 2.00000 - 12 5.6823 2.00000 - 13 5.7756 2.00000 - 14 5.9556 2.00000 - 15 9.4675 0.00000 - 16 10.0217 0.00000 - 17 13.3491 0.00000 - 18 16.1206 0.00000 - - k-point 449 : 0.0000 0.0000 0.4667 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4260 2.00000 - 3 -91.2910 2.00000 - 4 -65.7397 2.00000 - 5 -30.0332 2.00000 - 6 -29.9970 2.00000 - 7 -29.9635 2.00000 - 8 0.5736 2.00000 - 9 2.1119 2.00000 - 10 4.5165 2.00000 - 11 4.5676 2.00000 - 12 4.7863 2.00000 - 13 8.6168 0.00000 - 14 10.8092 0.00000 - 15 11.1222 0.00000 - 16 11.2007 0.00000 - 17 14.0197 0.00000 - 18 39.2698 0.00000 - - k-point 450 : 0.0667 0.0000 0.4667 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7395 2.00000 - 5 -30.0330 2.00000 - 6 -29.9991 2.00000 - 7 -29.9633 2.00000 - 8 0.6291 2.00000 - 9 2.0977 2.00000 - 10 4.5093 2.00000 - 11 4.5944 2.00000 - 12 4.8096 2.00000 - 13 8.4094 0.00000 - 14 10.7035 0.00000 - 15 11.1656 0.00000 - 16 11.6529 0.00000 - 17 14.1405 0.00000 - 18 41.5789 0.00000 - - k-point 451 : 0.1333 0.0000 0.4667 - band No. band energies occupation - 1 -91.8796 2.00000 - 2 -91.4247 2.00000 - 3 -91.2896 2.00000 - 4 -65.7394 2.00000 - 5 -30.0326 2.00000 - 6 -30.0053 2.00000 - 7 -29.9627 2.00000 - 8 0.7865 2.00000 - 9 2.0532 2.00000 - 10 4.5078 2.00000 - 11 4.6507 2.00000 - 12 4.8773 2.00000 - 13 7.9670 0.23363 - 14 10.4342 0.00000 - 15 11.1229 0.00000 - 16 12.2041 0.00000 - 17 12.2648 0.00000 - 18 14.3078 0.00000 - - k-point 452 : 0.2000 0.0000 0.4667 - band No. band energies occupation - 1 -91.8795 2.00000 - 2 -91.4245 2.00000 - 3 -91.2895 2.00000 - 4 -65.7392 2.00000 - 5 -30.0322 2.00000 - 6 -30.0144 2.00000 - 7 -29.9619 2.00000 - 8 1.0275 2.00000 - 9 1.9962 2.00000 - 10 4.5159 2.00000 - 11 4.7211 2.00000 - 12 4.9818 2.00000 - 13 7.4959 2.00000 - 14 10.0943 0.00000 - 15 11.0206 0.00000 - 16 11.8767 0.00000 - 17 13.0219 0.00000 - 18 14.6524 0.00000 - - k-point 453 : 0.2667 0.0000 0.4667 - band No. band energies occupation - 1 -91.8795 2.00000 - 2 -91.4245 2.00000 - 3 -91.2895 2.00000 - 4 -65.7390 2.00000 - 5 -30.0316 2.00000 - 6 -30.0249 2.00000 - 7 -29.9609 2.00000 - 8 1.3090 2.00000 - 9 1.9542 2.00000 - 10 4.5205 2.00000 - 11 4.7985 2.00000 - 12 5.1102 2.00000 - 13 7.0804 2.00000 - 14 9.7491 0.00000 - 15 10.7814 0.00000 - 16 12.7825 0.00000 - 17 14.2666 0.00000 - 18 40.5060 0.00000 - - k-point 454 : 0.3333 0.0000 0.4667 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7388 2.00000 - 5 -30.0349 2.00000 - 6 -30.0311 2.00000 - 7 -29.9600 2.00000 - 8 1.5312 2.00000 - 9 1.9991 2.00000 - 10 4.5052 2.00000 - 11 4.8754 2.00000 - 12 5.2431 2.00000 - 13 6.7527 2.00000 - 14 9.4493 0.00000 - 15 10.4582 0.00000 - 16 11.6293 0.00000 - 17 12.3813 0.00000 - 18 15.5445 0.00000 - - k-point 455 : 0.4000 0.0000 0.4667 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7387 2.00000 - 5 -30.0428 2.00000 - 6 -30.0307 2.00000 - 7 -29.9593 2.00000 - 8 1.5968 2.00000 - 9 2.1802 2.00000 - 10 4.4669 2.00000 - 11 4.9394 2.00000 - 12 5.3556 2.00000 - 13 6.5274 2.00000 - 14 9.2375 0.00000 - 15 10.2067 0.00000 - 16 12.0084 0.00000 - 17 14.2385 0.00000 - 18 36.2448 0.00000 - - k-point 456 : 0.4667 0.0000 0.4667 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2901 2.00000 - 4 -65.7386 2.00000 - 5 -30.0470 2.00000 - 6 -30.0305 2.00000 - 7 -29.9589 2.00000 - 8 1.5982 2.00000 - 9 2.3352 2.00000 - 10 4.4290 2.00000 - 11 4.9767 2.00000 - 12 5.4211 2.00000 - 13 6.4124 2.00000 - 14 9.1302 0.00000 - 15 10.0506 0.00000 - 16 11.6269 0.00000 - 17 11.8418 0.00000 - 18 15.0676 0.00000 - - k-point 457 : 0.0000 0.0667 0.4667 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7395 2.00000 - 5 -30.0330 2.00000 - 6 -29.9966 2.00000 - 7 -29.9665 2.00000 - 8 0.6330 2.00000 - 9 2.1018 2.00000 - 10 4.5271 2.00000 - 11 4.5956 2.00000 - 12 4.7951 2.00000 - 13 8.3518 0.00000 - 14 11.1089 0.00000 - 15 11.1684 0.00000 - 16 13.7806 0.00000 - 17 14.1363 0.00000 - 18 19.9386 0.00000 - - k-point 458 : 0.0667 0.0667 0.4667 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4251 2.00000 - 3 -91.2900 2.00000 - 4 -65.7395 2.00000 - 5 -30.0328 2.00000 - 6 -29.9988 2.00000 - 7 -29.9664 2.00000 - 8 0.6878 2.00000 - 9 2.0898 2.00000 - 10 4.5140 2.00000 - 11 4.6007 2.00000 - 12 4.8434 2.00000 - 13 8.1649 0.00007 - 14 10.9818 0.00000 - 15 11.1274 0.00000 - 16 11.4259 0.00000 - 17 13.4427 0.00000 - 18 14.6883 0.00000 - - k-point 459 : 0.1333 0.0667 0.4667 - band No. band energies occupation - 1 -91.8794 2.00000 - 2 -91.4244 2.00000 - 3 -91.2894 2.00000 - 4 -65.7393 2.00000 - 5 -30.0325 2.00000 - 6 -30.0049 2.00000 - 7 -29.9658 2.00000 - 8 0.8465 2.00000 - 9 2.0591 2.00000 - 10 4.4969 2.00000 - 11 4.6223 2.00000 - 12 4.9548 2.00000 - 13 7.7541 1.93112 - 14 10.6858 0.00000 - 15 11.0717 0.00000 - 16 11.8125 0.00000 - 17 12.3245 0.00000 - 18 14.7406 0.00000 - - k-point 460 : 0.2000 0.0667 0.4667 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2898 2.00000 - 4 -65.7392 2.00000 - 5 -30.0320 2.00000 - 6 -30.0142 2.00000 - 7 -29.9650 2.00000 - 8 1.0875 2.00000 - 9 2.0159 2.00000 - 10 4.4997 2.00000 - 11 4.6561 2.00000 - 12 5.0929 2.00000 - 13 7.3100 2.00000 - 14 10.3059 0.00000 - 15 10.8388 0.00000 - 16 11.7195 0.00000 - 17 13.5031 0.00000 - 18 14.7149 0.00000 - - k-point 461 : 0.2667 0.0667 0.4667 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4247 2.00000 - 3 -91.2896 2.00000 - 4 -65.7389 2.00000 - 5 -30.0315 2.00000 - 6 -30.0246 2.00000 - 7 -29.9641 2.00000 - 8 1.3668 2.00000 - 9 1.9926 2.00000 - 10 4.5154 2.00000 - 11 4.6963 2.00000 - 12 5.2390 2.00000 - 13 6.9228 2.00000 - 14 9.9077 0.00000 - 15 10.4464 0.00000 - 16 11.5965 0.00000 - 17 13.3203 0.00000 - 18 14.3775 0.00000 - - k-point 462 : 0.3333 0.0667 0.4667 - band No. band energies occupation - 1 -91.8799 2.00000 - 2 -91.4249 2.00000 - 3 -91.2899 2.00000 - 4 -65.7388 2.00000 - 5 -30.0347 2.00000 - 6 -30.0310 2.00000 - 7 -29.9632 2.00000 - 8 1.5777 2.00000 - 9 2.0640 2.00000 - 10 4.5124 2.00000 - 11 4.7455 2.00000 - 12 5.3763 2.00000 - 13 6.6315 2.00000 - 14 9.5524 0.00000 - 15 10.0473 0.00000 - 16 12.1279 0.00000 - 17 14.4175 0.00000 - 18 15.1742 0.00000 - - k-point 463 : 0.4000 0.0667 0.4667 - band No. band energies occupation - 1 -91.8801 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7386 2.00000 - 5 -30.0425 2.00000 - 6 -30.0306 2.00000 - 7 -29.9625 2.00000 - 8 1.6379 2.00000 - 9 2.2630 2.00000 - 10 4.4722 2.00000 - 11 4.7995 2.00000 - 12 5.4863 2.00000 - 13 6.4480 2.00000 - 14 9.2884 0.00000 - 15 9.7273 0.00000 - 16 11.6147 0.00000 - 17 12.5272 0.00000 - 18 15.4126 0.00000 - - k-point 464 : 0.4667 0.0667 0.4667 - band No. band energies occupation - 1 -91.8798 2.00000 - 2 -91.4248 2.00000 - 3 -91.2898 2.00000 - 4 -65.7385 2.00000 - 5 -30.0468 2.00000 - 6 -30.0303 2.00000 - 7 -29.9621 2.00000 - 8 1.6405 2.00000 - 9 2.4253 2.00000 - 10 4.4262 2.00000 - 11 4.8365 2.00000 - 12 5.5489 2.00000 - 13 6.3631 2.00000 - 14 9.1487 0.00000 - 15 9.5497 0.00000 - 16 11.6341 0.00000 - 17 12.3538 0.00000 - 18 15.2479 0.00000 - - k-point 465 : 0.0000 0.1333 0.4667 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2908 2.00000 - 4 -65.7394 2.00000 - 5 -30.0325 2.00000 - 6 -29.9959 2.00000 - 7 -29.9755 2.00000 - 8 0.8009 2.00000 - 9 2.0701 2.00000 - 10 4.5572 2.00000 - 11 4.6768 2.00000 - 12 4.8227 2.00000 - 13 7.8284 1.55787 - 14 10.7722 0.00000 - 15 11.2548 0.00000 - 16 12.1273 0.00000 - 17 13.8872 0.00000 - 18 19.3208 0.00000 - - k-point 466 : 0.0667 0.1333 0.4667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7393 2.00000 - 5 -30.0324 2.00000 - 6 -29.9980 2.00000 - 7 -29.9752 2.00000 - 8 0.8570 2.00000 - 9 2.0712 2.00000 - 10 4.5273 2.00000 - 11 4.6328 2.00000 - 12 4.9304 2.00000 - 13 7.6670 1.99772 - 14 10.9814 0.00000 - 15 11.0519 0.00000 - 16 11.6948 0.00000 - 17 14.0784 0.00000 - 18 42.2456 0.00000 - - k-point 467 : 0.1333 0.1333 0.4667 - band No. band energies occupation - 1 -91.8797 2.00000 - 2 -91.4247 2.00000 - 3 -91.2896 2.00000 - 4 -65.7391 2.00000 - 5 -30.0320 2.00000 - 6 -30.0042 2.00000 - 7 -29.9747 2.00000 - 8 1.0176 2.00000 - 9 2.0713 2.00000 - 10 4.4474 2.00000 - 11 4.6405 2.00000 - 12 5.1016 2.00000 - 13 7.2990 2.00000 - 14 10.7764 0.00000 - 15 11.1820 0.00000 - 16 11.3580 0.00000 - 17 12.3963 0.00000 - 18 14.3579 0.00000 - - k-point 468 : 0.2000 0.1333 0.4667 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4250 2.00000 - 3 -91.2899 2.00000 - 4 -65.7390 2.00000 - 5 -30.0316 2.00000 - 6 -30.0134 2.00000 - 7 -29.9739 2.00000 - 8 1.2586 2.00000 - 9 2.0756 2.00000 - 10 4.3961 2.00000 - 11 4.6691 2.00000 - 12 5.2775 2.00000 - 13 6.8932 2.00000 - 14 10.2551 0.00000 - 15 10.7808 0.00000 - 16 11.4976 0.00000 - 17 12.8877 0.00000 - 18 15.8667 0.00000 - - k-point 469 : 0.2667 0.1333 0.4667 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7388 2.00000 - 5 -30.0310 2.00000 - 6 -30.0239 2.00000 - 7 -29.9730 2.00000 - 8 1.5255 2.00000 - 9 2.1140 2.00000 - 10 4.3949 2.00000 - 11 4.6822 2.00000 - 12 5.4431 2.00000 - 13 6.5515 2.00000 - 14 9.6939 0.00000 - 15 10.3186 0.00000 - 16 11.5514 0.00000 - 17 13.6887 0.00000 - 18 13.9888 0.00000 - - k-point 470 : 0.3333 0.1333 0.4667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2903 2.00000 - 4 -65.7386 2.00000 - 5 -30.0340 2.00000 - 6 -30.0305 2.00000 - 7 -29.9721 2.00000 - 8 1.7053 2.00000 - 9 2.2618 2.00000 - 10 4.4314 2.00000 - 11 4.6508 2.00000 - 12 5.5873 2.00000 - 13 6.3317 2.00000 - 14 9.2060 0.00000 - 15 9.8463 0.00000 - 16 11.5922 0.00000 - 17 13.7036 0.00000 - 18 15.4834 0.00000 - - k-point 471 : 0.4000 0.1333 0.4667 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7384 2.00000 - 5 -30.0418 2.00000 - 6 -30.0301 2.00000 - 7 -29.9715 2.00000 - 8 1.7590 2.00000 - 9 2.5073 2.00000 - 10 4.4571 2.00000 - 11 4.5923 2.00000 - 12 5.6986 2.00000 - 13 6.2426 2.00000 - 14 8.8451 0.00000 - 15 9.4436 0.00000 - 16 11.9279 0.00000 - 17 13.5539 0.00000 - 18 15.7128 0.00000 - - k-point 472 : 0.4667 0.1333 0.4667 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7384 2.00000 - 5 -30.0461 2.00000 - 6 -30.0299 2.00000 - 7 -29.9711 2.00000 - 8 1.7660 2.00000 - 9 2.6912 2.00000 - 10 4.4142 2.00000 - 11 4.5895 2.00000 - 12 5.7615 2.00000 - 13 6.2306 2.00000 - 14 8.6509 0.00000 - 15 9.2035 0.00000 - 16 11.6476 0.00000 - 17 14.2805 0.00000 - 18 19.5232 0.00000 - - k-point 473 : 0.0000 0.2000 0.4667 - band No. band energies occupation - 1 -91.8815 2.00000 - 2 -91.4265 2.00000 - 3 -91.2914 2.00000 - 4 -65.7392 2.00000 - 5 -30.0318 2.00000 - 6 -29.9947 2.00000 - 7 -29.9885 2.00000 - 8 1.0577 2.00000 - 9 2.0304 2.00000 - 10 4.6009 2.00000 - 11 4.8033 2.00000 - 12 4.8693 2.00000 - 13 7.2978 2.00000 - 14 10.4120 0.00000 - 15 10.9345 0.00000 - 16 11.8493 0.00000 - 17 12.9361 0.00000 - 18 14.3082 0.00000 - - k-point 474 : 0.0667 0.2000 0.4667 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4262 2.00000 - 3 -91.2911 2.00000 - 4 -65.7391 2.00000 - 5 -30.0317 2.00000 - 6 -29.9968 2.00000 - 7 -29.9883 2.00000 - 8 1.1137 2.00000 - 9 2.0461 2.00000 - 10 4.5591 2.00000 - 11 4.6899 2.00000 - 12 5.0505 2.00000 - 13 7.1547 2.00000 - 14 10.5597 0.00000 - 15 10.7725 0.00000 - 16 11.6641 0.00000 - 17 12.9304 0.00000 - 18 41.7172 0.00000 - - k-point 475 : 0.1333 0.2000 0.4667 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2904 2.00000 - 4 -65.7389 2.00000 - 5 -30.0313 2.00000 - 6 -30.0030 2.00000 - 7 -29.9878 2.00000 - 8 1.2740 2.00000 - 9 2.0929 2.00000 - 10 4.4116 2.00000 - 11 4.7042 2.00000 - 12 5.2624 2.00000 - 13 6.8170 2.00000 - 14 10.1893 0.00000 - 15 11.0104 0.00000 - 16 11.7700 0.00000 - 17 13.5929 0.00000 - 18 14.2934 0.00000 - - k-point 476 : 0.2000 0.2000 0.4667 - band No. band energies occupation - 1 -91.8800 2.00000 - 2 -91.4250 2.00000 - 3 -91.2900 2.00000 - 4 -65.7387 2.00000 - 5 -30.0309 2.00000 - 6 -30.0122 2.00000 - 7 -29.9870 2.00000 - 8 1.5073 2.00000 - 9 2.1781 2.00000 - 10 4.2861 2.00000 - 11 4.7582 2.00000 - 12 5.4598 2.00000 - 13 6.4336 2.00000 - 14 9.5343 0.00000 - 15 11.2013 0.00000 - 16 11.3387 0.00000 - 17 13.1060 0.00000 - 18 38.3097 0.00000 - - k-point 477 : 0.2667 0.2000 0.4667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7385 2.00000 - 5 -30.0304 2.00000 - 6 -30.0228 2.00000 - 7 -29.9861 2.00000 - 8 1.7426 2.00000 - 9 2.3312 2.00000 - 10 4.2213 2.00000 - 11 4.7949 2.00000 - 12 5.6281 2.00000 - 13 6.1217 2.00000 - 14 8.8998 0.00000 - 15 10.7235 0.00000 - 16 11.4983 0.00000 - 17 13.3139 0.00000 - 18 14.5418 0.00000 - - k-point 478 : 0.3333 0.2000 0.4667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2905 2.00000 - 4 -65.7383 2.00000 - 5 -30.0329 2.00000 - 6 -30.0299 2.00000 - 7 -29.9853 2.00000 - 8 1.8915 2.00000 - 9 2.5903 2.00000 - 10 4.2222 2.00000 - 11 4.7435 2.00000 - 12 5.7550 2.00000 - 13 5.9846 2.00000 - 14 8.3534 0.00000 - 15 10.1446 0.00000 - 16 11.5765 0.00000 - 17 14.0941 0.00000 - 18 31.5297 0.00000 - - k-point 479 : 0.4000 0.2000 0.4667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7382 2.00000 - 5 -30.0408 2.00000 - 6 -30.0295 2.00000 - 7 -29.9846 2.00000 - 8 1.9545 2.00000 - 9 2.8962 2.00000 - 10 4.2674 2.00000 - 11 4.5842 2.00000 - 12 5.8671 2.00000 - 13 6.0058 2.00000 - 14 7.9444 0.38375 - 15 9.6138 0.00000 - 16 12.3662 0.00000 - 17 14.4968 0.00000 - 18 35.5494 0.00000 - - k-point 480 : 0.4667 0.2000 0.4667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7381 2.00000 - 5 -30.0451 2.00000 - 6 -30.0292 2.00000 - 7 -29.9843 2.00000 - 8 1.9749 2.00000 - 9 3.1170 2.00000 - 10 4.3238 2.00000 - 11 4.4181 2.00000 - 12 5.9578 2.00000 - 13 6.0552 2.00000 - 14 7.7216 1.97739 - 15 9.2780 0.00000 - 16 11.6484 0.00000 - 17 14.1912 0.00000 - 18 15.2729 0.00000 - - k-point 481 : 0.0000 0.2667 0.4667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2906 2.00000 - 4 -65.7387 2.00000 - 5 -30.0309 2.00000 - 6 -30.0033 2.00000 - 7 -29.9932 2.00000 - 8 1.3568 2.00000 - 9 2.0050 2.00000 - 10 4.6470 2.00000 - 11 4.9310 2.00000 - 12 4.9604 2.00000 - 13 6.8399 2.00000 - 14 10.0603 0.00000 - 15 10.6095 0.00000 - 16 11.6789 0.00000 - 17 12.7079 0.00000 - 18 14.2313 0.00000 - - k-point 482 : 0.0667 0.2667 0.4667 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2910 2.00000 - 4 -65.7387 2.00000 - 5 -30.0309 2.00000 - 6 -30.0032 2.00000 - 7 -29.9955 2.00000 - 8 1.4097 2.00000 - 9 2.0396 2.00000 - 10 4.6145 2.00000 - 11 4.7530 2.00000 - 12 5.1891 2.00000 - 13 6.7162 2.00000 - 14 10.1096 0.00000 - 15 10.3876 0.00000 - 16 11.6000 0.00000 - 17 13.1316 0.00000 - 18 37.6273 0.00000 - - k-point 483 : 0.1333 0.2667 0.4667 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7386 2.00000 - 5 -30.0305 2.00000 - 6 -30.0027 2.00000 - 7 -30.0017 2.00000 - 8 1.5583 2.00000 - 9 2.1490 2.00000 - 10 4.4268 2.00000 - 11 4.7673 2.00000 - 12 5.4207 2.00000 - 13 6.4119 2.00000 - 14 9.5620 0.00000 - 15 10.6052 0.00000 - 16 11.5431 0.00000 - 17 13.8192 0.00000 - 18 14.7273 0.00000 - - k-point 484 : 0.2000 0.2667 0.4667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4258 2.00000 - 3 -91.2907 2.00000 - 4 -65.7384 2.00000 - 5 -30.0301 2.00000 - 6 -30.0110 2.00000 - 7 -30.0020 2.00000 - 8 1.7596 2.00000 - 9 2.3479 2.00000 - 10 4.2353 2.00000 - 11 4.8561 2.00000 - 12 5.6156 2.00000 - 13 6.0522 2.00000 - 14 8.8319 0.00000 - 15 10.9690 0.00000 - 16 11.4301 0.00000 - 17 13.3676 0.00000 - 18 14.5676 0.00000 - - k-point 485 : 0.2667 0.2667 0.4667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2905 2.00000 - 4 -65.7382 2.00000 - 5 -30.0296 2.00000 - 6 -30.0216 2.00000 - 7 -30.0011 2.00000 - 8 1.9573 2.00000 - 9 2.6478 2.00000 - 10 4.0985 2.00000 - 11 4.9571 2.00000 - 12 5.6139 2.00000 - 13 5.8909 2.00000 - 14 8.1389 0.00029 - 15 10.9883 0.00000 - 16 11.3423 0.00000 - 17 13.7094 0.00000 - 18 15.7553 0.00000 - - k-point 486 : 0.3333 0.2667 0.4667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2906 2.00000 - 4 -65.7380 2.00000 - 5 -30.0317 2.00000 - 6 -30.0291 2.00000 - 7 -30.0003 2.00000 - 8 2.1129 2.00000 - 9 3.0175 2.00000 - 10 4.0379 2.00000 - 11 4.9190 2.00000 - 12 5.5211 2.00000 - 13 5.9990 2.00000 - 14 7.5405 2.00000 - 15 10.3988 0.00000 - 16 11.4577 0.00000 - 17 13.7122 0.00000 - 18 15.9308 0.00000 - - k-point 487 : 0.4000 0.2667 0.4667 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2911 2.00000 - 4 -65.7379 2.00000 - 5 -30.0397 2.00000 - 6 -30.0287 2.00000 - 7 -29.9997 2.00000 - 8 2.2149 2.00000 - 9 3.3832 2.00000 - 10 4.0564 2.00000 - 11 4.6690 2.00000 - 12 5.6796 2.00000 - 13 6.0916 2.00000 - 14 7.0870 2.00000 - 15 9.7752 0.00000 - 16 11.5424 0.00000 - 17 14.3066 0.00000 - 18 15.5761 0.00000 - - k-point 488 : 0.4667 0.2667 0.4667 - band No. band energies occupation - 1 -91.8814 2.00000 - 2 -91.4264 2.00000 - 3 -91.2914 2.00000 - 4 -65.7378 2.00000 - 5 -30.0440 2.00000 - 6 -30.0285 2.00000 - 7 -29.9994 2.00000 - 8 2.2640 2.00000 - 9 3.6435 2.00000 - 10 4.1382 2.00000 - 11 4.4048 2.00000 - 12 5.8558 2.00000 - 13 6.1352 2.00000 - 14 6.8387 2.00000 - 15 9.3618 0.00000 - 16 11.5772 0.00000 - 17 14.3099 0.00000 - 18 14.9653 0.00000 - - k-point 489 : 0.0000 0.3333 0.4667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2907 2.00000 - 4 -65.7384 2.00000 - 5 -30.0302 2.00000 - 6 -30.0174 2.00000 - 7 -29.9919 2.00000 - 8 1.5922 2.00000 - 9 2.0622 2.00000 - 10 4.6783 2.00000 - 11 4.9977 2.00000 - 12 5.1255 2.00000 - 13 6.4823 2.00000 - 14 9.7866 0.00000 - 15 10.2382 0.00000 - 16 11.6423 0.00000 - 17 12.1724 0.00000 - 18 15.1696 0.00000 - - k-point 490 : 0.0667 0.3333 0.4667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7384 2.00000 - 5 -30.0300 2.00000 - 6 -30.0172 2.00000 - 7 -29.9941 2.00000 - 8 1.6356 2.00000 - 9 2.1225 2.00000 - 10 4.6697 2.00000 - 11 4.8109 2.00000 - 12 5.3294 2.00000 - 13 6.3879 2.00000 - 14 9.7035 0.00000 - 15 10.0257 0.00000 - 16 11.6040 0.00000 - 17 12.6587 0.00000 - 18 14.9940 0.00000 - - k-point 491 : 0.1333 0.3333 0.4667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2901 2.00000 - 4 -65.7382 2.00000 - 5 -30.0297 2.00000 - 6 -30.0168 2.00000 - 7 -30.0004 2.00000 - 8 1.7553 2.00000 - 9 2.3064 2.00000 - 10 4.4915 2.00000 - 11 4.7800 2.00000 - 12 5.5639 2.00000 - 13 6.1473 2.00000 - 14 9.0130 0.00000 - 15 10.2004 0.00000 - 16 11.5878 0.00000 - 17 13.4966 0.00000 - 18 14.8358 0.00000 - - k-point 492 : 0.2000 0.3333 0.4667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4258 2.00000 - 3 -91.2907 2.00000 - 4 -65.7381 2.00000 - 5 -30.0293 2.00000 - 6 -30.0162 2.00000 - 7 -30.0097 2.00000 - 8 1.9268 2.00000 - 9 2.6143 2.00000 - 10 4.2587 2.00000 - 11 4.8639 2.00000 - 12 5.7056 2.00000 - 13 5.8972 2.00000 - 14 8.2193 0.00000 - 15 10.4809 0.00000 - 16 11.5381 0.00000 - 17 13.9612 0.00000 - 18 14.5546 0.00000 - - k-point 493 : 0.2667 0.3333 0.4667 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2908 2.00000 - 4 -65.7379 2.00000 - 5 -30.0288 2.00000 - 6 -30.0204 2.00000 - 7 -30.0154 2.00000 - 8 2.1305 2.00000 - 9 3.0221 2.00000 - 10 4.0628 2.00000 - 11 5.0039 2.00000 - 12 5.4474 2.00000 - 13 5.9945 2.00000 - 14 7.4712 2.00000 - 15 10.6874 0.00000 - 16 11.3421 0.00000 - 17 13.4783 0.00000 - 18 15.3783 0.00000 - - k-point 494 : 0.3333 0.3333 0.4667 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4260 2.00000 - 3 -91.2909 2.00000 - 4 -65.7377 2.00000 - 5 -30.0306 2.00000 - 6 -30.0283 2.00000 - 7 -30.0147 2.00000 - 8 2.3416 2.00000 - 9 3.4734 2.00000 - 10 3.9279 2.00000 - 11 5.1088 2.00000 - 12 5.2297 2.00000 - 13 6.1260 2.00000 - 14 6.8189 2.00000 - 15 10.4946 0.00000 - 16 11.1842 0.00000 - 17 13.1952 0.00000 - 18 15.7397 0.00000 - - k-point 495 : 0.4000 0.3333 0.4667 - band No. band energies occupation - 1 -91.8812 2.00000 - 2 -91.4262 2.00000 - 3 -91.2912 2.00000 - 4 -65.7376 2.00000 - 5 -30.0385 2.00000 - 6 -30.0280 2.00000 - 7 -30.0141 2.00000 - 8 2.5238 2.00000 - 9 3.8199 2.00000 - 10 3.9375 2.00000 - 11 4.8268 2.00000 - 12 5.4778 2.00000 - 13 6.2123 2.00000 - 14 6.3224 2.00000 - 15 9.8991 0.00000 - 16 11.2407 0.00000 - 17 13.1926 0.00000 - 18 15.5369 0.00000 - - k-point 496 : 0.4667 0.3333 0.4667 - band No. band energies occupation - 1 -91.8814 2.00000 - 2 -91.4264 2.00000 - 3 -91.2914 2.00000 - 4 -65.7375 2.00000 - 5 -30.0429 2.00000 - 6 -30.0278 2.00000 - 7 -30.0137 2.00000 - 8 2.6290 2.00000 - 9 3.8380 2.00000 - 10 4.2279 2.00000 - 11 4.5865 2.00000 - 12 5.6574 2.00000 - 13 6.0663 2.00000 - 14 6.2635 2.00000 - 15 9.4409 0.00000 - 16 11.2887 0.00000 - 17 13.2397 0.00000 - 18 15.7505 0.00000 - - k-point 497 : 0.0000 0.4000 0.4667 - band No. band energies occupation - 1 -91.8809 2.00000 - 2 -91.4259 2.00000 - 3 -91.2908 2.00000 - 4 -65.7382 2.00000 - 5 -30.0295 2.00000 - 6 -30.0285 2.00000 - 7 -29.9909 2.00000 - 8 1.6678 2.00000 - 9 2.2476 2.00000 - 10 4.6819 2.00000 - 11 5.0573 2.00000 - 12 5.2677 2.00000 - 13 6.2372 2.00000 - 14 9.6320 0.00000 - 15 9.9258 0.00000 - 16 11.6498 0.00000 - 17 11.7641 0.00000 - 18 15.1177 0.00000 - - k-point 498 : 0.0667 0.4000 0.4667 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2910 2.00000 - 4 -65.7382 2.00000 - 5 -30.0294 2.00000 - 6 -30.0284 2.00000 - 7 -29.9931 2.00000 - 8 1.7064 2.00000 - 9 2.3241 2.00000 - 10 4.6780 2.00000 - 11 4.8714 2.00000 - 12 5.4482 2.00000 - 13 6.1821 2.00000 - 14 9.3944 0.00000 - 15 9.7662 0.00000 - 16 11.6283 0.00000 - 17 12.2592 0.00000 - 18 15.0447 0.00000 - - k-point 499 : 0.1333 0.4000 0.4667 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7380 2.00000 - 5 -30.0291 2.00000 - 6 -30.0279 2.00000 - 7 -29.9994 2.00000 - 8 1.8197 2.00000 - 9 2.5512 2.00000 - 10 4.5747 2.00000 - 11 4.7174 2.00000 - 12 5.6795 2.00000 - 13 6.0408 2.00000 - 14 8.5996 0.00000 - 15 9.8664 0.00000 - 16 11.6305 0.00000 - 17 13.1616 0.00000 - 18 14.9422 0.00000 - - k-point 500 : 0.2000 0.4000 0.4667 - band No. band energies occupation - 1 -91.8802 2.00000 - 2 -91.4252 2.00000 - 3 -91.2902 2.00000 - 4 -65.7378 2.00000 - 5 -30.0287 2.00000 - 6 -30.0272 2.00000 - 7 -30.0087 2.00000 - 8 2.0020 2.00000 - 9 2.9149 2.00000 - 10 4.3358 2.00000 - 11 4.7172 2.00000 - 12 5.7999 2.00000 - 13 5.9420 2.00000 - 14 7.7512 1.93725 - 15 10.0198 0.00000 - 16 11.6232 0.00000 - 17 14.2345 0.00000 - 18 15.3681 0.00000 - - k-point 501 : 0.2667 0.4000 0.4667 - band No. band energies occupation - 1 -91.8805 2.00000 - 2 -91.4255 2.00000 - 3 -91.2905 2.00000 - 4 -65.7376 2.00000 - 5 -30.0283 2.00000 - 6 -30.0265 2.00000 - 7 -30.0194 2.00000 - 8 2.2449 2.00000 - 9 3.3771 2.00000 - 10 4.1205 2.00000 - 11 4.7396 2.00000 - 12 5.6457 2.00000 - 13 6.0882 2.00000 - 14 6.9514 2.00000 - 15 10.1586 0.00000 - 16 11.4369 0.00000 - 17 13.6407 0.00000 - 18 15.4695 0.00000 - - k-point 502 : 0.3333 0.4000 0.4667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7374 2.00000 - 5 -30.0297 2.00000 - 6 -30.0278 2.00000 - 7 -30.0258 2.00000 - 8 2.5344 2.00000 - 9 3.8121 2.00000 - 10 3.9855 2.00000 - 11 4.8087 2.00000 - 12 5.5213 2.00000 - 13 6.1981 2.00000 - 14 6.2633 2.00000 - 15 10.2073 0.00000 - 16 11.0454 0.00000 - 17 13.0519 0.00000 - 18 15.5984 0.00000 - - k-point 503 : 0.4000 0.4000 0.4667 - band No. band energies occupation - 1 -91.8811 2.00000 - 2 -91.4261 2.00000 - 3 -91.2911 2.00000 - 4 -65.7373 2.00000 - 5 -30.0377 2.00000 - 6 -30.0274 2.00000 - 7 -30.0252 2.00000 - 8 2.8336 2.00000 - 9 3.8000 2.00000 - 10 4.1712 2.00000 - 11 4.9751 2.00000 - 12 5.5168 2.00000 - 13 5.6776 2.00000 - 14 6.3079 2.00000 - 15 9.9354 0.00000 - 16 10.7127 0.00000 - 17 12.8003 0.00000 - 18 15.8356 0.00000 - - k-point 504 : 0.4667 0.4000 0.4667 - band No. band energies occupation - 1 -91.8814 2.00000 - 2 -91.4264 2.00000 - 3 -91.2914 2.00000 - 4 -65.7372 2.00000 - 5 -30.0421 2.00000 - 6 -30.0272 2.00000 - 7 -30.0249 2.00000 - 8 3.0541 2.00000 - 9 3.7465 2.00000 - 10 4.2239 2.00000 - 11 5.1222 2.00000 - 12 5.2997 2.00000 - 13 5.6922 2.00000 - 14 6.3453 2.00000 - 15 9.5016 0.00000 - 16 10.6605 0.00000 - 17 12.7227 0.00000 - 18 15.5675 0.00000 - - k-point 505 : 0.0000 0.4667 0.4667 - band No. band energies occupation - 1 -91.8803 2.00000 - 2 -91.4253 2.00000 - 3 -91.2903 2.00000 - 4 -65.7380 2.00000 - 5 -30.0345 2.00000 - 6 -30.0292 2.00000 - 7 -29.9902 2.00000 - 8 1.6740 2.00000 - 9 2.4018 2.00000 - 10 4.6707 2.00000 - 11 5.0946 2.00000 - 12 5.3522 2.00000 - 13 6.1117 2.00000 - 14 9.6010 0.00000 - 15 9.7207 0.00000 - 16 11.5419 0.00000 - 17 11.6546 0.00000 - 18 14.9372 0.00000 - - k-point 506 : 0.0667 0.4667 0.4667 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4260 2.00000 - 3 -91.2910 2.00000 - 4 -65.7380 2.00000 - 5 -30.0344 2.00000 - 6 -30.0291 2.00000 - 7 -29.9926 2.00000 - 8 1.7129 2.00000 - 9 2.4847 2.00000 - 10 4.6554 2.00000 - 11 4.9171 2.00000 - 12 5.5191 2.00000 - 13 6.0879 2.00000 - 14 9.2253 0.00000 - 15 9.6369 0.00000 - 16 11.6608 0.00000 - 17 12.0478 0.00000 - 18 14.9557 0.00000 - - k-point 507 : 0.1333 0.4667 0.4667 - band No. band energies occupation - 1 -91.8807 2.00000 - 2 -91.4257 2.00000 - 3 -91.2907 2.00000 - 4 -65.7379 2.00000 - 5 -30.0339 2.00000 - 6 -30.0288 2.00000 - 7 -29.9989 2.00000 - 8 1.8315 2.00000 - 9 2.7302 2.00000 - 10 4.6082 2.00000 - 11 4.6655 2.00000 - 12 5.7492 2.00000 - 13 6.0255 2.00000 - 14 8.3737 0.00000 - 15 9.6738 0.00000 - 16 11.6583 0.00000 - 17 12.9796 0.00000 - 18 15.0184 0.00000 - - k-point 508 : 0.2000 0.4667 0.4667 - band No. band energies occupation - 1 -91.8808 2.00000 - 2 -91.4258 2.00000 - 3 -91.2908 2.00000 - 4 -65.7377 2.00000 - 5 -30.0333 2.00000 - 6 -30.0284 2.00000 - 7 -30.0082 2.00000 - 8 2.0272 2.00000 - 9 3.1247 2.00000 - 10 4.4101 2.00000 - 11 4.5557 2.00000 - 12 5.9249 2.00000 - 13 5.9750 2.00000 - 14 7.4900 2.00000 - 15 9.7287 0.00000 - 16 11.6418 0.00000 - 17 13.9974 0.00000 - 18 15.0437 0.00000 - - k-point 509 : 0.2667 0.4667 0.4667 - band No. band energies occupation - 1 -91.8804 2.00000 - 2 -91.4254 2.00000 - 3 -91.2904 2.00000 - 4 -65.7375 2.00000 - 5 -30.0326 2.00000 - 6 -30.0279 2.00000 - 7 -30.0189 2.00000 - 8 2.2989 2.00000 - 9 3.6250 2.00000 - 10 4.2181 2.00000 - 11 4.4835 2.00000 - 12 5.8518 2.00000 - 13 6.1331 2.00000 - 14 6.6571 2.00000 - 15 9.7868 0.00000 - 16 11.4865 0.00000 - 17 14.5147 0.00000 - 18 15.4164 0.00000 - - k-point 510 : 0.3333 0.4667 0.4667 - band No. band energies occupation - 1 -91.8806 2.00000 - 2 -91.4256 2.00000 - 3 -91.2905 2.00000 - 4 -65.7373 2.00000 - 5 -30.0318 2.00000 - 6 -30.0291 2.00000 - 7 -30.0275 2.00000 - 8 2.6408 2.00000 - 9 3.9091 2.00000 - 10 4.2522 2.00000 - 11 4.5325 2.00000 - 12 5.7034 2.00000 - 13 5.9787 2.00000 - 14 6.2621 2.00000 - 15 9.8299 0.00000 - 16 11.0556 0.00000 - 17 13.0395 0.00000 - 18 15.4657 0.00000 - - k-point 511 : 0.4000 0.4667 0.4667 - band No. band energies occupation - 1 -91.8810 2.00000 - 2 -91.4260 2.00000 - 3 -91.2910 2.00000 - 4 -65.7372 2.00000 - 5 -30.0372 2.00000 - 6 -30.0313 2.00000 - 7 -30.0271 2.00000 - 8 3.0409 2.00000 - 9 3.8298 2.00000 - 10 4.2195 2.00000 - 11 5.0235 2.00000 - 12 5.2301 2.00000 - 13 5.8071 2.00000 - 14 6.3436 2.00000 - 15 9.8006 0.00000 - 16 10.3862 0.00000 - 17 12.6747 0.00000 - 18 15.4656 0.00000 - - k-point 512 : 0.4667 0.4667 0.4667 - band No. band energies occupation - 1 -91.8812 2.00000 - 2 -91.4262 2.00000 - 3 -91.2911 2.00000 - 4 -65.7371 2.00000 - 5 -30.0416 2.00000 - 6 -30.0310 2.00000 - 7 -30.0269 2.00000 - 8 3.4531 2.00000 - 9 3.7372 2.00000 - 10 4.0740 2.00000 - 11 4.7709 2.00000 - 12 5.5707 2.00000 - 13 5.7646 2.00000 - 14 6.3738 2.00000 - 15 9.5306 0.00000 - 16 10.0845 0.00000 - 17 12.5702 0.00000 - 18 15.4251 0.00000 - - --------------------------------------------------------------------------------------------------------- - - - soft charge-density along one line, spin component 1 - 0 1 2 3 4 5 6 7 8 9 - total charge-density along one line - - pseudopotential strength for first ion, spin component: 1 - 29.271 27.905 24.284 -0.000 -0.000 0.000 0.000 0.000 - 27.905 26.602 23.219 -0.000 -0.000 0.000 0.000 0.000 - 24.284 23.219 11.179 -0.000 -0.000 0.000 -0.000 -0.000 - -0.000 -0.000 -0.000 -15.093 -0.000 0.000 -10.182 0.000 - -0.000 -0.000 -0.000 -0.000 -15.095 0.000 0.000 -10.170 - 0.000 0.000 0.000 0.000 0.000 -15.092 -0.000 -0.000 - 0.000 0.000 -0.000 -10.182 0.000 -0.000 14.343 0.000 - 0.000 0.000 -0.000 0.000 -10.170 -0.000 0.000 14.352 - -0.000 -0.000 0.000 -0.000 -0.000 -10.185 -0.000 -0.000 - -0.000 -0.000 0.000 -0.000 0.000 0.000 -0.000 0.000 - 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 - 0.001 0.001 -0.002 -0.000 0.000 0.000 -0.000 0.000 - -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 -0.000 - -0.000 -0.000 0.001 -0.000 0.000 0.000 -0.000 0.000 - -0.000 -0.000 0.000 -0.000 0.000 0.000 -0.000 0.000 - 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 - 0.002 0.002 -0.003 -0.000 0.000 0.000 -0.000 0.000 - -0.000 -0.000 0.000 0.000 -0.000 0.000 0.000 -0.000 - -0.000 -0.000 0.001 -0.000 0.000 0.000 -0.000 0.000 - -0.000 -0.000 0.000 -0.000 0.000 0.000 -0.001 -0.000 - -0.000 -0.000 0.000 -0.000 0.000 -0.000 0.000 -0.000 - 0.000 0.000 -0.000 -0.004 -0.000 0.000 -0.001 0.000 - 0.000 0.000 -0.000 0.000 -0.003 -0.000 -0.000 0.002 - 0.000 -0.000 0.000 0.000 -0.000 -0.004 -0.000 0.000 - -0.000 -0.000 0.000 0.000 0.001 0.000 -0.000 0.000 - -0.000 -0.000 0.000 -0.000 0.000 0.002 0.000 -0.000 - total augmentation occupancy for first ion, spin component: 1 - 99.947 ******* 0.588 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -1.192 0.000 0.250 0.000 0.000 -******* 102.736 -0.592 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.235 0.000 -0.260 0.000 -0.000 - 0.588 -0.592 0.003 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.008 0.000 0.002 0.000 0.000 - 0.000 0.000 0.000 2.031 0.000 0.000 0.029 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 - 0.000 0.000 0.000 0.000 2.036 0.000 0.000 0.034 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 - 0.000 0.000 0.000 0.000 0.000 2.031 0.000 0.000 0.028 0.000 0.000 0.000 0.000 0.000 0.000 0.000 - 0.000 0.000 0.000 0.029 -0.000 0.000 0.015 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 - 0.000 0.000 0.000 0.000 0.034 0.000 0.000 0.018 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 - 0.000 0.000 0.000 0.000 0.000 0.028 0.000 0.000 0.014 0.000 0.000 0.000 0.000 0.000 0.000 0.000 - 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 3.829 0.000 0.000 -0.000 0.000 -1.514 0.000 - 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 4.273 0.000 0.000 0.000 0.000 -1.695 - -1.192 1.235 -0.008 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 3.492 0.000 0.024 0.000 -0.000 - 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 0.000 0.000 4.118 0.000 -0.000 0.000 - 0.250 -0.260 0.002 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.024 0.000 3.339 0.000 -0.000 - 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -1.514 0.000 0.000 -0.000 0.000 0.657 0.000 - 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -1.695 -0.000 0.000 0.000 0.000 0.735 - 0.498 -0.524 0.003 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -1.540 0.000 -0.012 0.000 0.000 - 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -1.636 0.000 0.000 0.000 - -0.105 0.112 -0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.012 0.000 -1.462 0.000 0.000 - 0.000 0.000 0.000 0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 - 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 - 0.000 0.000 0.000 0.002 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 - 0.000 0.000 0.000 0.000 -0.005 0.000 0.000 -0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 - 0.000 0.000 0.000 0.000 0.000 0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 - 0.000 0.000 0.000 0.000 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 - 0.000 0.000 0.000 0.000 0.000 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 - - ------------------------- aborting loop because EDIFF is reached ---------------------------------------- - - - CHARGE: cpu time 0.2175: real time 0.2179 - FORLOC: cpu time 0.0005: real time 0.0005 - FORNL : cpu time 0.5624: real time 0.5636 - STRESS: cpu time 4.6134: real time 4.6282 - FORCOR: cpu time 0.0057: real time 0.0064 - FORHAR: cpu time 0.0014: real time 0.0014 - MIXING: cpu time 0.0007: real time 0.0007 - OFIELD: cpu time 0.0000: real time 0.0000 - - FORCE on cell =-STRESS in cart. coord. units (eV): - Direction XX YY ZZ XY YZ ZX - -------------------------------------------------------------------------------------- - Alpha Z 131.43309 131.43309 131.43309 - Ewald -692.66714 -666.25642 -600.92887 0.00000 -0.00000 0.00000 - Hartree 135.39867 151.55448 193.64184 -0.00000 -0.00000 -0.00000 - E(xc) -140.07087 -140.06544 -140.05539 -0.00000 0.00000 0.00000 - Local 156.14173 113.44933 3.98511 0.00000 0.00000 0.00000 - n-local -184.49986 -184.69575 -185.00090 -0.90955 -1.02411 -0.99577 - augment 2.00968 1.96706 1.78410 0.00000 -0.00000 -0.00000 - Kinetic 586.69353 589.41039 597.73423 1.78901 -0.65923 -0.20796 - Fock 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 - ------------------------------------------------------------------------------------- - Total -5.56117 -3.20326 2.59322 0.00000 -0.00000 0.00000 - in kB -214.84834 -123.75353 100.18546 0.00000 -0.00000 0.00000 - external pressure = -79.47 kB Pullay stress = 0.00 kB - - - VOLUME and BASIS-vectors are now : - ----------------------------------------------------------------------------- - energy-cutoff : 600.00 - volume of cell : 41.47 - direct lattice vectors reciprocal lattice vectors - 3.669611000 0.000000000 0.000000000 0.272508448 0.000000000 0.000000000 - 0.000000000 3.557440000 0.000000000 0.000000000 0.281101016 0.000000000 - 0.000000000 0.000000000 3.176781000 0.000000000 0.000000000 0.314784053 - - length of vectors - 3.669611000 3.557440000 3.176781000 0.272508448 0.281101016 0.314784053 - - - FORCES acting on ions - electron-ion (+dipol) ewald-force non-local-force convergence-correction - ----------------------------------------------------------------------------------------------- - -.118E-13 -.390E-14 0.138E-13 -.976E-14 -.123E-13 0.429E-14 -.148E-21 -.385E-22 0.214E-22 0.190E-13 0.402E-13 -.748E-13 - -.203E-14 0.118E-12 -.610E-14 -.126E-14 0.943E-14 -.634E-15 0.135E-24 -.989E-23 -.124E-22 0.125E-13 -.691E-14 0.178E-13 - 0.122E-12 -.521E-14 -.592E-12 0.654E-14 0.177E-15 -.121E-15 0.864E-23 0.363E-22 -.325E-24 -.105E-13 0.354E-14 0.142E-13 - 0.123E-12 -.343E-12 -.754E-12 0.496E-14 0.107E-14 0.499E-15 0.583E-22 -.440E-22 0.929E-22 -.164E-13 -.623E-14 -.585E-14 - ----------------------------------------------------------------------------------------------- - 0.231E-12 -.235E-12 -.134E-11 0.483E-15 -.166E-14 0.404E-14 -.808E-22 -.560E-22 0.102E-21 0.463E-14 0.306E-13 -.486E-13 - - - POSITION TOTAL-FORCE (eV/Angst) - ----------------------------------------------------------------------------------- - 0.00000 0.00000 0.00000 0.000000 -0.000000 -0.000000 - 0.00000 1.77872 1.58839 0.000000 -0.000000 -0.000000 - 1.83481 0.00000 1.58839 -0.000000 -0.000000 0.000000 - 1.83481 1.77872 0.00000 0.000000 0.000000 0.000000 - ----------------------------------------------------------------------------------- - total drift: 0.000000 -0.000000 -0.000000 - - --------------------------------------------------------------------------------------------------------- - - - - FREE ENERGIE OF THE ION-ELECTRON SYSTEM (eV) - --------------------------------------------------- - free energy TOTEN = -48.07109596 eV - - energy without entropy= -48.06804610 energy(sigma->0) = -48.06957103 - - SIGMA = 0.10000000 - - - --------------------------------------------------------------------------------------------------------- - - - POTLOK: cpu time 0.0095: real time 0.0103 - - --------------------------------------------------------------------------------------------------------- - - - writing wavefunctions - LOOP+: cpu time 80.5972: real time 81.1155 - 4ORBIT: cpu time 0.0000: real time 0.0000 - - total amount of memory used by VASP MPI-rank0 355020. kBytes -======================================================================= - - base : 30000. kBytes - nonl-proj : 299130. kBytes - fftplans : 441. kBytes - grid : 1138. kBytes - one-center: 129. kBytes - wavefun : 24182. kBytes - - - - General timing and accounting informations for this job: - ======================================================== - - Total CPU time used (sec): 84.193 - User time (sec): 82.086 - System time (sec): 2.107 - Elapsed time (sec): 85.614 - - Maximum memory used (kb): 339860. - Average memory used (kb): 0. - - Minor page faults: 520341 - Major page faults: 0 - Voluntary context switches: 1787 diff --git a/examples/COUPLE/lammps_vasp/README b/examples/COUPLE/lammps_vasp/README index ab347be568..91a85975e6 100644 --- a/examples/COUPLE/lammps_vasp/README +++ b/examples/COUPLE/lammps_vasp/README @@ -36,9 +36,11 @@ You can leave off the -z if you do not have ZMQ on your system. Prepare to use VASP and the vasp_wrapper.py script -You can run the vasp_wrap.py script as-is to test that the -coupling between it and LAMMPS is functional. But the as-is -version will not attempt to run VASP. +You can run the vasp_wrap.py script as-is to test that the coupling +between it and LAMMPS is functional. This will use the included +vasprun.xml file output by a previous VASP run. + +But the as-is version of vasp_wrap.py will not attempt to run VASP. To do this, you must edit the 1st vaspcmd line at the top of vasp_wrapper.py to be the launch command needed to run VASP on your @@ -63,6 +65,8 @@ Note that the POSCAR_template file should be matched to the LAMMPS input script (# of atoms and atom types, box size, etc). The provided POSCAR_W matches in.client.W. +Once you run VASP yourself, the vasprun.xml file will be overwritten. + NOTE: explain how vasp_wrapper.py finds the cslib.py wrapper on the CSlib to import. diff --git a/examples/COUPLE/lammps_vasp/vasprun.xml b/examples/COUPLE/lammps_vasp/vasprun.xml new file mode 100644 index 0000000000..0f15c871b4 --- /dev/null +++ b/examples/COUPLE/lammps_vasp/vasprun.xml @@ -0,0 +1,12329 @@ + + + + vasp + 5.4.4.18Apr17-6-g9f103f2a35 + (build Aug 01 2017 10:32:50) complex parallel + LinuxIFC + 2017 12 19 + 15:22:45 + + + 0 + normal normal or accurate (medium, h + 48 + F + 1 + 2 + 1 + 100 + -5 + 2 + -1 + 0 + 0.00000100 + 0.00100000 + 0 + 2 + 10 + 1 + 1 + 600.00000000 + 600.00000000 + 0.50000000 + 3500.00000000 + 3500.00000000 + -3.00000000 + 10.00000000 + -10.00000000 + 0.00000000 + 0 + 0.10000000 + 2 + 0.00000000 + T + T + F + F + F + -1 0 0 0 + 100 + -- GGA type + F + F + 0 + 1.00000000 + + + + + 3.66961100 0.00000000 0.00000000 + 0.00000000 3.55744000 0.00000000 + 0.00000000 0.00000000 3.17678100 + + 41.47103646 + + 0.27250845 0.00000000 0.00000000 + 0.00000000 0.28110102 0.00000000 + 0.00000000 0.00000000 0.31478405 + + + + 0.00000000 0.00000000 0.00000000 + 0.00000000 -0.50000000 -0.50000000 + -0.50000000 0.00000000 -0.50000000 + -0.50000000 -0.50000000 0.00000000 + + + + 1 + 2 + 3 + 4 + + + + 15 15 15 + 0.00000000 0.00000000 0.00000000 + 0.06666667 0.00000000 0.00000000 + 0.00000000 0.06666667 0.00000000 + 0.00000000 0.00000000 0.06666667 + 0.00000000 0.00000000 0.00000000 + + + 0.00000000 0.00000000 0.00000000 + 0.06666667 0.00000000 0.00000000 + 0.13333333 0.00000000 0.00000000 + 0.20000000 0.00000000 0.00000000 + 0.26666667 0.00000000 0.00000000 + 0.33333333 0.00000000 0.00000000 + 0.40000000 0.00000000 0.00000000 + 0.46666667 0.00000000 0.00000000 + 0.00000000 0.06666667 0.00000000 + 0.06666667 0.06666667 0.00000000 + 0.13333333 0.06666667 0.00000000 + 0.20000000 0.06666667 0.00000000 + 0.26666667 0.06666667 0.00000000 + 0.33333333 0.06666667 0.00000000 + 0.40000000 0.06666667 0.00000000 + 0.46666667 0.06666667 0.00000000 + 0.00000000 0.13333333 0.00000000 + 0.06666667 0.13333333 0.00000000 + 0.13333333 0.13333333 0.00000000 + 0.20000000 0.13333333 0.00000000 + 0.26666667 0.13333333 0.00000000 + 0.33333333 0.13333333 0.00000000 + 0.40000000 0.13333333 0.00000000 + 0.46666667 0.13333333 0.00000000 + 0.00000000 0.20000000 0.00000000 + 0.06666667 0.20000000 0.00000000 + 0.13333333 0.20000000 0.00000000 + 0.20000000 0.20000000 0.00000000 + 0.26666667 0.20000000 0.00000000 + 0.33333333 0.20000000 0.00000000 + 0.40000000 0.20000000 0.00000000 + 0.46666667 0.20000000 0.00000000 + 0.00000000 0.26666667 0.00000000 + 0.06666667 0.26666667 0.00000000 + 0.13333333 0.26666667 0.00000000 + 0.20000000 0.26666667 0.00000000 + 0.26666667 0.26666667 0.00000000 + 0.33333333 0.26666667 0.00000000 + 0.40000000 0.26666667 0.00000000 + 0.46666667 0.26666667 0.00000000 + 0.00000000 0.33333333 0.00000000 + 0.06666667 0.33333333 0.00000000 + 0.13333333 0.33333333 0.00000000 + 0.20000000 0.33333333 0.00000000 + 0.26666667 0.33333333 0.00000000 + 0.33333333 0.33333333 0.00000000 + 0.40000000 0.33333333 0.00000000 + 0.46666667 0.33333333 0.00000000 + 0.00000000 0.40000000 0.00000000 + 0.06666667 0.40000000 0.00000000 + 0.13333333 0.40000000 0.00000000 + 0.20000000 0.40000000 0.00000000 + 0.26666667 0.40000000 0.00000000 + 0.33333333 0.40000000 0.00000000 + 0.40000000 0.40000000 0.00000000 + 0.46666667 0.40000000 0.00000000 + 0.00000000 0.46666667 0.00000000 + 0.06666667 0.46666667 0.00000000 + 0.13333333 0.46666667 0.00000000 + 0.20000000 0.46666667 0.00000000 + 0.26666667 0.46666667 0.00000000 + 0.33333333 0.46666667 0.00000000 + 0.40000000 0.46666667 0.00000000 + 0.46666667 0.46666667 0.00000000 + 0.00000000 0.00000000 0.06666667 + 0.06666667 0.00000000 0.06666667 + 0.13333333 0.00000000 0.06666667 + 0.20000000 0.00000000 0.06666667 + 0.26666667 0.00000000 0.06666667 + 0.33333333 0.00000000 0.06666667 + 0.40000000 0.00000000 0.06666667 + 0.46666667 0.00000000 0.06666667 + 0.00000000 0.06666667 0.06666667 + 0.06666667 0.06666667 0.06666667 + 0.13333333 0.06666667 0.06666667 + 0.20000000 0.06666667 0.06666667 + 0.26666667 0.06666667 0.06666667 + 0.33333333 0.06666667 0.06666667 + 0.40000000 0.06666667 0.06666667 + 0.46666667 0.06666667 0.06666667 + 0.00000000 0.13333333 0.06666667 + 0.06666667 0.13333333 0.06666667 + 0.13333333 0.13333333 0.06666667 + 0.20000000 0.13333333 0.06666667 + 0.26666667 0.13333333 0.06666667 + 0.33333333 0.13333333 0.06666667 + 0.40000000 0.13333333 0.06666667 + 0.46666667 0.13333333 0.06666667 + 0.00000000 0.20000000 0.06666667 + 0.06666667 0.20000000 0.06666667 + 0.13333333 0.20000000 0.06666667 + 0.20000000 0.20000000 0.06666667 + 0.26666667 0.20000000 0.06666667 + 0.33333333 0.20000000 0.06666667 + 0.40000000 0.20000000 0.06666667 + 0.46666667 0.20000000 0.06666667 + 0.00000000 0.26666667 0.06666667 + 0.06666667 0.26666667 0.06666667 + 0.13333333 0.26666667 0.06666667 + 0.20000000 0.26666667 0.06666667 + 0.26666667 0.26666667 0.06666667 + 0.33333333 0.26666667 0.06666667 + 0.40000000 0.26666667 0.06666667 + 0.46666667 0.26666667 0.06666667 + 0.00000000 0.33333333 0.06666667 + 0.06666667 0.33333333 0.06666667 + 0.13333333 0.33333333 0.06666667 + 0.20000000 0.33333333 0.06666667 + 0.26666667 0.33333333 0.06666667 + 0.33333333 0.33333333 0.06666667 + 0.40000000 0.33333333 0.06666667 + 0.46666667 0.33333333 0.06666667 + 0.00000000 0.40000000 0.06666667 + 0.06666667 0.40000000 0.06666667 + 0.13333333 0.40000000 0.06666667 + 0.20000000 0.40000000 0.06666667 + 0.26666667 0.40000000 0.06666667 + 0.33333333 0.40000000 0.06666667 + 0.40000000 0.40000000 0.06666667 + 0.46666667 0.40000000 0.06666667 + 0.00000000 0.46666667 0.06666667 + 0.06666667 0.46666667 0.06666667 + 0.13333333 0.46666667 0.06666667 + 0.20000000 0.46666667 0.06666667 + 0.26666667 0.46666667 0.06666667 + 0.33333333 0.46666667 0.06666667 + 0.40000000 0.46666667 0.06666667 + 0.46666667 0.46666667 0.06666667 + 0.00000000 0.00000000 0.13333333 + 0.06666667 0.00000000 0.13333333 + 0.13333333 0.00000000 0.13333333 + 0.20000000 0.00000000 0.13333333 + 0.26666667 0.00000000 0.13333333 + 0.33333333 0.00000000 0.13333333 + 0.40000000 0.00000000 0.13333333 + 0.46666667 0.00000000 0.13333333 + 0.00000000 0.06666667 0.13333333 + 0.06666667 0.06666667 0.13333333 + 0.13333333 0.06666667 0.13333333 + 0.20000000 0.06666667 0.13333333 + 0.26666667 0.06666667 0.13333333 + 0.33333333 0.06666667 0.13333333 + 0.40000000 0.06666667 0.13333333 + 0.46666667 0.06666667 0.13333333 + 0.00000000 0.13333333 0.13333333 + 0.06666667 0.13333333 0.13333333 + 0.13333333 0.13333333 0.13333333 + 0.20000000 0.13333333 0.13333333 + 0.26666667 0.13333333 0.13333333 + 0.33333333 0.13333333 0.13333333 + 0.40000000 0.13333333 0.13333333 + 0.46666667 0.13333333 0.13333333 + 0.00000000 0.20000000 0.13333333 + 0.06666667 0.20000000 0.13333333 + 0.13333333 0.20000000 0.13333333 + 0.20000000 0.20000000 0.13333333 + 0.26666667 0.20000000 0.13333333 + 0.33333333 0.20000000 0.13333333 + 0.40000000 0.20000000 0.13333333 + 0.46666667 0.20000000 0.13333333 + 0.00000000 0.26666667 0.13333333 + 0.06666667 0.26666667 0.13333333 + 0.13333333 0.26666667 0.13333333 + 0.20000000 0.26666667 0.13333333 + 0.26666667 0.26666667 0.13333333 + 0.33333333 0.26666667 0.13333333 + 0.40000000 0.26666667 0.13333333 + 0.46666667 0.26666667 0.13333333 + 0.00000000 0.33333333 0.13333333 + 0.06666667 0.33333333 0.13333333 + 0.13333333 0.33333333 0.13333333 + 0.20000000 0.33333333 0.13333333 + 0.26666667 0.33333333 0.13333333 + 0.33333333 0.33333333 0.13333333 + 0.40000000 0.33333333 0.13333333 + 0.46666667 0.33333333 0.13333333 + 0.00000000 0.40000000 0.13333333 + 0.06666667 0.40000000 0.13333333 + 0.13333333 0.40000000 0.13333333 + 0.20000000 0.40000000 0.13333333 + 0.26666667 0.40000000 0.13333333 + 0.33333333 0.40000000 0.13333333 + 0.40000000 0.40000000 0.13333333 + 0.46666667 0.40000000 0.13333333 + 0.00000000 0.46666667 0.13333333 + 0.06666667 0.46666667 0.13333333 + 0.13333333 0.46666667 0.13333333 + 0.20000000 0.46666667 0.13333333 + 0.26666667 0.46666667 0.13333333 + 0.33333333 0.46666667 0.13333333 + 0.40000000 0.46666667 0.13333333 + 0.46666667 0.46666667 0.13333333 + 0.00000000 0.00000000 0.20000000 + 0.06666667 0.00000000 0.20000000 + 0.13333333 0.00000000 0.20000000 + 0.20000000 0.00000000 0.20000000 + 0.26666667 0.00000000 0.20000000 + 0.33333333 0.00000000 0.20000000 + 0.40000000 0.00000000 0.20000000 + 0.46666667 0.00000000 0.20000000 + 0.00000000 0.06666667 0.20000000 + 0.06666667 0.06666667 0.20000000 + 0.13333333 0.06666667 0.20000000 + 0.20000000 0.06666667 0.20000000 + 0.26666667 0.06666667 0.20000000 + 0.33333333 0.06666667 0.20000000 + 0.40000000 0.06666667 0.20000000 + 0.46666667 0.06666667 0.20000000 + 0.00000000 0.13333333 0.20000000 + 0.06666667 0.13333333 0.20000000 + 0.13333333 0.13333333 0.20000000 + 0.20000000 0.13333333 0.20000000 + 0.26666667 0.13333333 0.20000000 + 0.33333333 0.13333333 0.20000000 + 0.40000000 0.13333333 0.20000000 + 0.46666667 0.13333333 0.20000000 + 0.00000000 0.20000000 0.20000000 + 0.06666667 0.20000000 0.20000000 + 0.13333333 0.20000000 0.20000000 + 0.20000000 0.20000000 0.20000000 + 0.26666667 0.20000000 0.20000000 + 0.33333333 0.20000000 0.20000000 + 0.40000000 0.20000000 0.20000000 + 0.46666667 0.20000000 0.20000000 + 0.00000000 0.26666667 0.20000000 + 0.06666667 0.26666667 0.20000000 + 0.13333333 0.26666667 0.20000000 + 0.20000000 0.26666667 0.20000000 + 0.26666667 0.26666667 0.20000000 + 0.33333333 0.26666667 0.20000000 + 0.40000000 0.26666667 0.20000000 + 0.46666667 0.26666667 0.20000000 + 0.00000000 0.33333333 0.20000000 + 0.06666667 0.33333333 0.20000000 + 0.13333333 0.33333333 0.20000000 + 0.20000000 0.33333333 0.20000000 + 0.26666667 0.33333333 0.20000000 + 0.33333333 0.33333333 0.20000000 + 0.40000000 0.33333333 0.20000000 + 0.46666667 0.33333333 0.20000000 + 0.00000000 0.40000000 0.20000000 + 0.06666667 0.40000000 0.20000000 + 0.13333333 0.40000000 0.20000000 + 0.20000000 0.40000000 0.20000000 + 0.26666667 0.40000000 0.20000000 + 0.33333333 0.40000000 0.20000000 + 0.40000000 0.40000000 0.20000000 + 0.46666667 0.40000000 0.20000000 + 0.00000000 0.46666667 0.20000000 + 0.06666667 0.46666667 0.20000000 + 0.13333333 0.46666667 0.20000000 + 0.20000000 0.46666667 0.20000000 + 0.26666667 0.46666667 0.20000000 + 0.33333333 0.46666667 0.20000000 + 0.40000000 0.46666667 0.20000000 + 0.46666667 0.46666667 0.20000000 + 0.00000000 0.00000000 0.26666667 + 0.06666667 0.00000000 0.26666667 + 0.13333333 0.00000000 0.26666667 + 0.20000000 0.00000000 0.26666667 + 0.26666667 0.00000000 0.26666667 + 0.33333333 0.00000000 0.26666667 + 0.40000000 0.00000000 0.26666667 + 0.46666667 0.00000000 0.26666667 + 0.00000000 0.06666667 0.26666667 + 0.06666667 0.06666667 0.26666667 + 0.13333333 0.06666667 0.26666667 + 0.20000000 0.06666667 0.26666667 + 0.26666667 0.06666667 0.26666667 + 0.33333333 0.06666667 0.26666667 + 0.40000000 0.06666667 0.26666667 + 0.46666667 0.06666667 0.26666667 + 0.00000000 0.13333333 0.26666667 + 0.06666667 0.13333333 0.26666667 + 0.13333333 0.13333333 0.26666667 + 0.20000000 0.13333333 0.26666667 + 0.26666667 0.13333333 0.26666667 + 0.33333333 0.13333333 0.26666667 + 0.40000000 0.13333333 0.26666667 + 0.46666667 0.13333333 0.26666667 + 0.00000000 0.20000000 0.26666667 + 0.06666667 0.20000000 0.26666667 + 0.13333333 0.20000000 0.26666667 + 0.20000000 0.20000000 0.26666667 + 0.26666667 0.20000000 0.26666667 + 0.33333333 0.20000000 0.26666667 + 0.40000000 0.20000000 0.26666667 + 0.46666667 0.20000000 0.26666667 + 0.00000000 0.26666667 0.26666667 + 0.06666667 0.26666667 0.26666667 + 0.13333333 0.26666667 0.26666667 + 0.20000000 0.26666667 0.26666667 + 0.26666667 0.26666667 0.26666667 + 0.33333333 0.26666667 0.26666667 + 0.40000000 0.26666667 0.26666667 + 0.46666667 0.26666667 0.26666667 + 0.00000000 0.33333333 0.26666667 + 0.06666667 0.33333333 0.26666667 + 0.13333333 0.33333333 0.26666667 + 0.20000000 0.33333333 0.26666667 + 0.26666667 0.33333333 0.26666667 + 0.33333333 0.33333333 0.26666667 + 0.40000000 0.33333333 0.26666667 + 0.46666667 0.33333333 0.26666667 + 0.00000000 0.40000000 0.26666667 + 0.06666667 0.40000000 0.26666667 + 0.13333333 0.40000000 0.26666667 + 0.20000000 0.40000000 0.26666667 + 0.26666667 0.40000000 0.26666667 + 0.33333333 0.40000000 0.26666667 + 0.40000000 0.40000000 0.26666667 + 0.46666667 0.40000000 0.26666667 + 0.00000000 0.46666667 0.26666667 + 0.06666667 0.46666667 0.26666667 + 0.13333333 0.46666667 0.26666667 + 0.20000000 0.46666667 0.26666667 + 0.26666667 0.46666667 0.26666667 + 0.33333333 0.46666667 0.26666667 + 0.40000000 0.46666667 0.26666667 + 0.46666667 0.46666667 0.26666667 + 0.00000000 0.00000000 0.33333333 + 0.06666667 0.00000000 0.33333333 + 0.13333333 0.00000000 0.33333333 + 0.20000000 0.00000000 0.33333333 + 0.26666667 0.00000000 0.33333333 + 0.33333333 0.00000000 0.33333333 + 0.40000000 0.00000000 0.33333333 + 0.46666667 0.00000000 0.33333333 + 0.00000000 0.06666667 0.33333333 + 0.06666667 0.06666667 0.33333333 + 0.13333333 0.06666667 0.33333333 + 0.20000000 0.06666667 0.33333333 + 0.26666667 0.06666667 0.33333333 + 0.33333333 0.06666667 0.33333333 + 0.40000000 0.06666667 0.33333333 + 0.46666667 0.06666667 0.33333333 + 0.00000000 0.13333333 0.33333333 + 0.06666667 0.13333333 0.33333333 + 0.13333333 0.13333333 0.33333333 + 0.20000000 0.13333333 0.33333333 + 0.26666667 0.13333333 0.33333333 + 0.33333333 0.13333333 0.33333333 + 0.40000000 0.13333333 0.33333333 + 0.46666667 0.13333333 0.33333333 + 0.00000000 0.20000000 0.33333333 + 0.06666667 0.20000000 0.33333333 + 0.13333333 0.20000000 0.33333333 + 0.20000000 0.20000000 0.33333333 + 0.26666667 0.20000000 0.33333333 + 0.33333333 0.20000000 0.33333333 + 0.40000000 0.20000000 0.33333333 + 0.46666667 0.20000000 0.33333333 + 0.00000000 0.26666667 0.33333333 + 0.06666667 0.26666667 0.33333333 + 0.13333333 0.26666667 0.33333333 + 0.20000000 0.26666667 0.33333333 + 0.26666667 0.26666667 0.33333333 + 0.33333333 0.26666667 0.33333333 + 0.40000000 0.26666667 0.33333333 + 0.46666667 0.26666667 0.33333333 + 0.00000000 0.33333333 0.33333333 + 0.06666667 0.33333333 0.33333333 + 0.13333333 0.33333333 0.33333333 + 0.20000000 0.33333333 0.33333333 + 0.26666667 0.33333333 0.33333333 + 0.33333333 0.33333333 0.33333333 + 0.40000000 0.33333333 0.33333333 + 0.46666667 0.33333333 0.33333333 + 0.00000000 0.40000000 0.33333333 + 0.06666667 0.40000000 0.33333333 + 0.13333333 0.40000000 0.33333333 + 0.20000000 0.40000000 0.33333333 + 0.26666667 0.40000000 0.33333333 + 0.33333333 0.40000000 0.33333333 + 0.40000000 0.40000000 0.33333333 + 0.46666667 0.40000000 0.33333333 + 0.00000000 0.46666667 0.33333333 + 0.06666667 0.46666667 0.33333333 + 0.13333333 0.46666667 0.33333333 + 0.20000000 0.46666667 0.33333333 + 0.26666667 0.46666667 0.33333333 + 0.33333333 0.46666667 0.33333333 + 0.40000000 0.46666667 0.33333333 + 0.46666667 0.46666667 0.33333333 + 0.00000000 0.00000000 0.40000000 + 0.06666667 0.00000000 0.40000000 + 0.13333333 0.00000000 0.40000000 + 0.20000000 0.00000000 0.40000000 + 0.26666667 0.00000000 0.40000000 + 0.33333333 0.00000000 0.40000000 + 0.40000000 0.00000000 0.40000000 + 0.46666667 0.00000000 0.40000000 + 0.00000000 0.06666667 0.40000000 + 0.06666667 0.06666667 0.40000000 + 0.13333333 0.06666667 0.40000000 + 0.20000000 0.06666667 0.40000000 + 0.26666667 0.06666667 0.40000000 + 0.33333333 0.06666667 0.40000000 + 0.40000000 0.06666667 0.40000000 + 0.46666667 0.06666667 0.40000000 + 0.00000000 0.13333333 0.40000000 + 0.06666667 0.13333333 0.40000000 + 0.13333333 0.13333333 0.40000000 + 0.20000000 0.13333333 0.40000000 + 0.26666667 0.13333333 0.40000000 + 0.33333333 0.13333333 0.40000000 + 0.40000000 0.13333333 0.40000000 + 0.46666667 0.13333333 0.40000000 + 0.00000000 0.20000000 0.40000000 + 0.06666667 0.20000000 0.40000000 + 0.13333333 0.20000000 0.40000000 + 0.20000000 0.20000000 0.40000000 + 0.26666667 0.20000000 0.40000000 + 0.33333333 0.20000000 0.40000000 + 0.40000000 0.20000000 0.40000000 + 0.46666667 0.20000000 0.40000000 + 0.00000000 0.26666667 0.40000000 + 0.06666667 0.26666667 0.40000000 + 0.13333333 0.26666667 0.40000000 + 0.20000000 0.26666667 0.40000000 + 0.26666667 0.26666667 0.40000000 + 0.33333333 0.26666667 0.40000000 + 0.40000000 0.26666667 0.40000000 + 0.46666667 0.26666667 0.40000000 + 0.00000000 0.33333333 0.40000000 + 0.06666667 0.33333333 0.40000000 + 0.13333333 0.33333333 0.40000000 + 0.20000000 0.33333333 0.40000000 + 0.26666667 0.33333333 0.40000000 + 0.33333333 0.33333333 0.40000000 + 0.40000000 0.33333333 0.40000000 + 0.46666667 0.33333333 0.40000000 + 0.00000000 0.40000000 0.40000000 + 0.06666667 0.40000000 0.40000000 + 0.13333333 0.40000000 0.40000000 + 0.20000000 0.40000000 0.40000000 + 0.26666667 0.40000000 0.40000000 + 0.33333333 0.40000000 0.40000000 + 0.40000000 0.40000000 0.40000000 + 0.46666667 0.40000000 0.40000000 + 0.00000000 0.46666667 0.40000000 + 0.06666667 0.46666667 0.40000000 + 0.13333333 0.46666667 0.40000000 + 0.20000000 0.46666667 0.40000000 + 0.26666667 0.46666667 0.40000000 + 0.33333333 0.46666667 0.40000000 + 0.40000000 0.46666667 0.40000000 + 0.46666667 0.46666667 0.40000000 + 0.00000000 0.00000000 0.46666667 + 0.06666667 0.00000000 0.46666667 + 0.13333333 0.00000000 0.46666667 + 0.20000000 0.00000000 0.46666667 + 0.26666667 0.00000000 0.46666667 + 0.33333333 0.00000000 0.46666667 + 0.40000000 0.00000000 0.46666667 + 0.46666667 0.00000000 0.46666667 + 0.00000000 0.06666667 0.46666667 + 0.06666667 0.06666667 0.46666667 + 0.13333333 0.06666667 0.46666667 + 0.20000000 0.06666667 0.46666667 + 0.26666667 0.06666667 0.46666667 + 0.33333333 0.06666667 0.46666667 + 0.40000000 0.06666667 0.46666667 + 0.46666667 0.06666667 0.46666667 + 0.00000000 0.13333333 0.46666667 + 0.06666667 0.13333333 0.46666667 + 0.13333333 0.13333333 0.46666667 + 0.20000000 0.13333333 0.46666667 + 0.26666667 0.13333333 0.46666667 + 0.33333333 0.13333333 0.46666667 + 0.40000000 0.13333333 0.46666667 + 0.46666667 0.13333333 0.46666667 + 0.00000000 0.20000000 0.46666667 + 0.06666667 0.20000000 0.46666667 + 0.13333333 0.20000000 0.46666667 + 0.20000000 0.20000000 0.46666667 + 0.26666667 0.20000000 0.46666667 + 0.33333333 0.20000000 0.46666667 + 0.40000000 0.20000000 0.46666667 + 0.46666667 0.20000000 0.46666667 + 0.00000000 0.26666667 0.46666667 + 0.06666667 0.26666667 0.46666667 + 0.13333333 0.26666667 0.46666667 + 0.20000000 0.26666667 0.46666667 + 0.26666667 0.26666667 0.46666667 + 0.33333333 0.26666667 0.46666667 + 0.40000000 0.26666667 0.46666667 + 0.46666667 0.26666667 0.46666667 + 0.00000000 0.33333333 0.46666667 + 0.06666667 0.33333333 0.46666667 + 0.13333333 0.33333333 0.46666667 + 0.20000000 0.33333333 0.46666667 + 0.26666667 0.33333333 0.46666667 + 0.33333333 0.33333333 0.46666667 + 0.40000000 0.33333333 0.46666667 + 0.46666667 0.33333333 0.46666667 + 0.00000000 0.40000000 0.46666667 + 0.06666667 0.40000000 0.46666667 + 0.13333333 0.40000000 0.46666667 + 0.20000000 0.40000000 0.46666667 + 0.26666667 0.40000000 0.46666667 + 0.33333333 0.40000000 0.46666667 + 0.40000000 0.40000000 0.46666667 + 0.46666667 0.40000000 0.46666667 + 0.00000000 0.46666667 0.46666667 + 0.06666667 0.46666667 0.46666667 + 0.13333333 0.46666667 0.46666667 + 0.20000000 0.46666667 0.46666667 + 0.26666667 0.46666667 0.46666667 + 0.33333333 0.46666667 0.46666667 + 0.40000000 0.46666667 0.46666667 + 0.46666667 0.46666667 0.46666667 + + + 0.00029630 + 0.00059259 + 0.00059259 + 0.00059259 + 0.00059259 + 0.00059259 + 0.00059259 + 0.00059259 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + + + + + unknown system + F + + + normal + 600.00000000 + 1293.44900000 + 0.00000100 + 48 + 10 + 18 + 26.00000000 + 0 + 0 + 0 + 0 + 0.00000000 + + 0 + 0.10000000 + 0.50000000 + T + + + F + 0.00000000 0.00000000 + -100 + 2 + F + + + 0 + 2 + 1 + + + 1 + F + 1.00000000 1.00000000 1.00000000 1.00000000 + -1.00000000 + F + 0.00000000 0.00000000 1.00000000 + F + 0.00000000 0.00000000 0.00000000 + F + + + F + F + + + 100 + -5 + 2 + 600.00000000 + + T + F + 0.00000000 + 0.00000001 + 0.30000000 + 4 + 0.40000000 + + + + 0.40000000 + 1.00000000 + 0.10000000 + 1.60000000 + 1.00000000 + + 4 + F + -45 + 100.00000000 + 1 + 1 + 5 + + + + F + F + 0 + 1.00000000 + -100.00000000 -100.00000000 -100.00000000 + 0.00000000 + + + + 24 + 24 + 20 + 48 + 48 + 40 + F + + + 0 + -1 + 0 + 2 + 0.00000000 + 0.00100000 + 0 + 0.50000000 + -3.00000000 + 1.00000000 + + + 3500.00000000 + 3500.00000000 + 1 + 1 + 256 + 16.00000000 + + + 2 + 0.00001000 + + + 0 + -1.00000000 -1.00000000 + 301 + 10.00000000 + -10.00000000 + 0.00000000 + + + 2 + T + F + T + F + F + F + F + F + 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 + + + 9 + 4 + -1 + T + T + F + F + F + F + + + 3 + 0 + F + 183.85000000 9.01300000 + 0.00000000 0.00000000 + 1.00000000 1.00000000 + T + + T + F + 0 + F + 0 + + -- + 0 + F + + F + F + F + F + F + -1.00000000 + 0 + 0 + 0.00000000 + 0.00000000 + 0.00000000 + 1.00000000 + 1.00000000 + 1.00000000 + 1.00000000 + 1 + 1 + 1 + F + F + F + 0 + 0 + F + 0.00000000 + 0.00000000 + 0 + + + F + -0.84910000 + 0.12340000 + 1.00000000 + 0.00000000 + + + 0 + 6.22065547 + 1.00000000 + + + F + F + F + F + 0 + 0.10000000 + -1.00000000 + 0.00200000 + -0.10000000 + 0.00000000 + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 + + + F + 0.00000000 0.00000000 0.00000000 + T + F + F + F + T + 0 + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.00000000 + + + F + F + F + T + 0 + -1 0 0 0 + F + F + F + F + F + 2 + F + F + F + -2.00000000 + -2.00000000 + -1.00000000 + -1 + 0.00000000 + 0 + 0 + -1 + -1 + -1 + 100 + 1 + 3 + 0 + -30.00000000 + -30.00000000 + -200.00000000 + 140 + -0.10000000 + F + F + F + F + F + F + F + 1 + 1 + 1 + 2800 + 0 + 1 + -1 + 1.00000000 + + + 0.00000000 + 0.00000000 0.00000000 0.00000000 + 0.00000000 + 0.00000000 + 0.00000000 + + + + 4 + 2 + + ion + element + atomtype + + W 1 + Be 2 + Be 2 + Be 2 + + + + type + atomspertype + element + mass + valence + pseudopotential + + 1W 183.85000000 14.00000000 PAW_PBE W_sv_GW 23Mar2010 + 3Be 9.01300000 4.00000000 PAW_PBE Be_sv_GW 31Mar2010 + + + + + + + 3.66961100 0.00000000 0.00000000 + 0.00000000 3.55744000 0.00000000 + 0.00000000 0.00000000 3.17678100 + + 41.47103646 + + 0.27250845 0.00000000 0.00000000 + 0.00000000 0.28110102 0.00000000 + 0.00000000 0.00000000 0.31478405 + + + + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.50000000 0.50000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.50000000 0.00000000 + + + + + + + + + + 131.43308500 + -1959.85115532 + -527.41646070 + 35.33916255 + 1941.62980019 + -1939.43826086 + -0.00530052 + -1293.52360327 + 3036.59145287 + -575.24128006 + -575.23597954 + -575.23862980 + + + + + + + + + 102.38566418 + 102.39047960 + 102.38807189 + + + + + + + + + -28.97782713 + -28.97098459 + -28.97440586 + + + + + + + + + -49.69418359 + -49.68840810 + -49.69129585 + + + + + + + + + -51.91588940 + -51.91302415 + -51.91445678 + + + + + + + + + -48.35881744 + -48.35566410 + -48.35724077 + + + + + + + + + -48.54575148 + -48.54295784 + -48.54435466 + + + + + + + + + -48.07609882 + -48.07342458 + -48.07476170 + + + + + + + + + -48.12313644 + -48.12026988 + -48.12170316 + + + + + + + + + -48.09347519 + -48.09050147 + -48.09198833 + + + + + + + + + -48.07191482 + -48.06891772 + -48.07041627 + + + + + + + + + -48.07102791 + -48.06801376 + -48.06952083 + + + + + + + + + -48.07113736 + -48.06809293 + -48.06961515 + + + + + + + + + -48.07118539 + -48.06814100 + -48.06966319 + + + + + + + + + -48.07110546 + -48.06805494 + -48.06958020 + + + + + + + + + -48.07109869 + -48.06804980 + -48.06957425 + + + + + + + + + -48.07109883 + -48.06804872 + -48.06957377 + + + + + + + + + -48.07109628 + -48.06804655 + -48.06957141 + + + + + + + + + 131.43308500 + -1959.85115532 + -480.61520692 + 33.47431066 + 3204.45646866 + -3203.57677692 + -0.00304986 + -809.98022412 + 3036.59145287 + -48.07109596 + -48.06804610 + -48.06957103 + + + + + + 3.66961100 0.00000000 0.00000000 + 0.00000000 3.55744000 0.00000000 + 0.00000000 0.00000000 3.17678100 + + 41.47103646 + + 0.27250845 0.00000000 0.00000000 + 0.00000000 0.28110102 0.00000000 + 0.00000000 0.00000000 0.31478405 + + + + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.50000000 0.50000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.50000000 0.00000000 + + + + 0.1 -0.2 -0.3 + 0.4 -0.5 -0.6 + + + -214.84833704 0.00000000 0.00000000 + 0.00000000 -123.75352996 0.00000000 + 0.00000000 -0.00000000 100.18545515 + + + -48.07109596 + -48.06957103 + -0.00304986 + + + + + band + kpoint + spin + eigene + occ + + + + -91.8804 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7478 1.0000 + -30.0216 1.0000 + -29.9884 1.0000 + -29.8113 1.0000 + -2.0041 1.0000 + 4.4237 1.0000 + 4.8277 1.0000 + 6.4981 1.0000 + 6.9617 1.0000 + 8.1586 0.0000 + 8.8821 0.0000 + 8.9648 0.0000 + 9.0855 0.0000 + 13.1593 0.0000 + 14.6689 0.0000 + + + -91.8808 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7478 1.0000 + -30.0237 1.0000 + -29.9882 1.0000 + -29.8111 1.0000 + -1.9535 1.0000 + 4.3336 1.0000 + 4.8001 1.0000 + 6.5232 1.0000 + 6.7555 1.0000 + 8.3862 0.0000 + 8.4025 0.0000 + 8.9705 0.0000 + 9.5855 0.0000 + 13.3605 0.0000 + 14.6572 0.0000 + + + -91.8814 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7477 1.0000 + -30.0297 1.0000 + -29.9877 1.0000 + -29.8105 1.0000 + -1.8058 1.0000 + 4.0326 1.0000 + 4.7589 1.0000 + 6.3613 1.0000 + 6.6323 1.0000 + 7.8755 0.5410 + 8.8446 0.0000 + 8.9868 0.0000 + 10.1754 0.0000 + 14.0117 0.0000 + 14.7252 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7475 1.0000 + -30.0383 1.0000 + -29.9868 1.0000 + -29.8096 1.0000 + -1.5620 1.0000 + 3.5407 1.0000 + 4.7314 1.0000 + 5.9618 1.0000 + 6.8672 1.0000 + 7.4063 1.0000 + 9.0110 0.0000 + 9.3490 0.0000 + 10.7563 0.0000 + 14.0913 0.0000 + 15.1642 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7473 1.0000 + -30.0481 1.0000 + -29.9858 1.0000 + -29.8086 1.0000 + -1.2340 1.0000 + 2.9354 1.0000 + 4.7102 1.0000 + 5.6128 1.0000 + 7.0130 1.0000 + 7.2261 1.0000 + 9.0390 0.0000 + 9.8394 0.0000 + 11.3191 0.0000 + 14.0352 0.0000 + 15.4144 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7471 1.0000 + -30.0576 1.0000 + -29.9848 1.0000 + -29.8076 1.0000 + -0.8326 1.0000 + 2.2914 1.0000 + 4.6917 1.0000 + 5.3376 1.0000 + 6.7081 1.0000 + 7.6717 0.9986 + 9.0662 0.0000 + 10.2804 0.0000 + 11.8535 0.0000 + 13.4527 0.0000 + 14.9300 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7470 1.0000 + -30.0651 1.0000 + -29.9841 1.0000 + -29.8068 1.0000 + -0.3829 1.0000 + 1.6674 1.0000 + 4.6772 1.0000 + 5.1483 1.0000 + 6.5003 1.0000 + 8.1260 0.0003 + 9.0876 0.0000 + 10.6305 0.0000 + 12.3305 0.0000 + 12.9072 0.0000 + 15.1709 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7470 1.0000 + -30.0692 1.0000 + -29.9837 1.0000 + -29.8064 1.0000 + 0.0259 1.0000 + 1.1640 1.0000 + 4.6691 1.0000 + 5.0521 1.0000 + 6.3951 1.0000 + 8.4419 0.0000 + 9.0994 0.0000 + 10.8329 0.0000 + 12.5866 0.0000 + 12.7497 0.0000 + 15.0542 0.0000 + + + -91.8808 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7478 1.0000 + -30.0213 1.0000 + -29.9915 1.0000 + -29.8110 1.0000 + -1.9529 1.0000 + 4.3901 1.0000 + 4.7755 1.0000 + 6.3415 1.0000 + 6.9388 1.0000 + 8.3265 0.0000 + 8.4311 0.0000 + 8.8898 0.0000 + 9.6264 0.0000 + 13.5937 0.0000 + 14.7192 0.0000 + + + -91.8807 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7477 1.0000 + -30.0234 1.0000 + -29.9912 1.0000 + -29.8108 1.0000 + -1.9023 1.0000 + 4.3246 1.0000 + 4.7293 1.0000 + 6.2087 1.0000 + 6.9819 1.0000 + 8.2546 0.0000 + 8.4565 0.0000 + 8.8007 0.0000 + 9.9214 0.0000 + 13.6485 0.0000 + 14.6504 0.0000 + + + -91.8811 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7476 1.0000 + -30.0294 1.0000 + -29.9906 1.0000 + -29.8102 1.0000 + -1.7528 1.0000 + 4.0516 1.0000 + 4.6663 1.0000 + 5.9785 1.0000 + 7.0276 1.0000 + 7.8427 0.7144 + 8.7719 0.0000 + 8.8056 0.0000 + 10.4508 0.0000 + 14.3989 0.0000 + 15.1127 0.0000 + + + -91.8807 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7474 1.0000 + -30.0379 1.0000 + -29.9898 1.0000 + -29.8093 1.0000 + -1.5097 1.0000 + 3.5587 1.0000 + 4.6450 1.0000 + 5.7408 1.0000 + 7.1387 1.0000 + 7.4085 1.0000 + 8.7921 0.0000 + 9.2640 0.0000 + 11.0130 0.0000 + 14.0760 0.0000 + 15.2142 0.0000 + + + -91.8804 1.0000 + -91.4252 1.0000 + -91.2903 1.0000 + -65.7472 1.0000 + -30.0478 1.0000 + -29.9888 1.0000 + -29.8083 1.0000 + -1.1815 1.0000 + 2.9494 1.0000 + 4.6412 1.0000 + 5.4944 1.0000 + 7.0285 1.0000 + 7.3926 1.0000 + 8.8271 0.0000 + 9.7408 0.0000 + 11.5692 0.0000 + 13.8620 0.0000 + 14.8771 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7471 1.0000 + -30.0573 1.0000 + -29.9878 1.0000 + -29.8073 1.0000 + -0.7815 1.0000 + 2.3062 1.0000 + 4.6436 1.0000 + 5.2669 1.0000 + 6.7293 1.0000 + 7.7653 0.9516 + 8.8638 0.0000 + 10.1806 0.0000 + 12.1051 0.0000 + 13.3952 0.0000 + 14.8765 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7470 1.0000 + -30.0648 1.0000 + -29.9871 1.0000 + -29.8065 1.0000 + -0.3310 1.0000 + 1.6815 1.0000 + 4.6514 1.0000 + 5.0908 1.0000 + 6.5240 1.0000 + 8.1695 0.0000 + 8.8934 0.0000 + 10.5364 0.0000 + 12.5997 0.0000 + 12.8998 0.0000 + 15.5154 0.0000 + + + -91.8813 1.0000 + -91.4263 1.0000 + -91.2913 1.0000 + -65.7469 1.0000 + -30.0689 1.0000 + -29.9867 1.0000 + -29.8062 1.0000 + 0.0847 1.0000 + 1.1741 1.0000 + 4.6613 1.0000 + 4.9916 1.0000 + 6.4197 1.0000 + 8.4555 0.0000 + 8.9099 0.0000 + 10.7473 0.0000 + 12.4480 0.0000 + 12.9600 0.0000 + 14.8774 0.0000 + + + -91.8810 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7476 1.0000 + -30.0204 1.0000 + -29.9998 1.0000 + -29.8102 1.0000 + -1.7946 1.0000 + 4.2094 1.0000 + 4.6772 1.0000 + 5.9995 1.0000 + 6.9517 1.0000 + 7.8739 0.5498 + 8.7041 0.0000 + 8.9110 0.0000 + 10.2112 0.0000 + 14.2659 0.0000 + 14.8795 0.0000 + + + -91.8814 1.0000 + -91.4263 1.0000 + -91.2912 1.0000 + -65.7476 1.0000 + -30.0226 1.0000 + -29.9996 1.0000 + -29.8099 1.0000 + -1.7450 1.0000 + 4.2129 1.0000 + 4.5661 1.0000 + 5.8355 1.0000 + 7.1501 1.0000 + 7.8382 0.7357 + 8.7026 0.0000 + 8.7336 0.0000 + 10.4623 0.0000 + 13.8631 0.0000 + 14.8598 0.0000 + + + -91.8810 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7475 1.0000 + -30.0285 1.0000 + -29.9991 1.0000 + -29.8093 1.0000 + -1.5968 1.0000 + 4.0989 1.0000 + 4.3522 1.0000 + 5.6129 1.0000 + 7.4328 1.0000 + 7.6870 0.9972 + 8.4839 0.0000 + 8.7940 0.0000 + 10.9754 0.0000 + 14.1029 0.0000 + 15.2039 0.0000 + + + -91.8810 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7473 1.0000 + -30.0371 1.0000 + -29.9982 1.0000 + -29.8084 1.0000 + -1.3533 1.0000 + 3.5980 1.0000 + 4.3620 1.0000 + 5.4512 1.0000 + 7.3952 1.0000 + 7.5979 1.0000 + 8.3845 0.0000 + 9.0910 0.0000 + 11.5502 0.0000 + 14.7238 0.0000 + 15.9954 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7471 1.0000 + -30.0470 1.0000 + -29.9972 1.0000 + -29.8074 1.0000 + -1.0273 1.0000 + 2.9802 1.0000 + 4.4181 1.0000 + 5.2968 1.0000 + 7.0683 1.0000 + 7.7534 0.9663 + 8.3858 0.0000 + 9.5100 0.0000 + 12.1157 0.0000 + 13.7017 0.0000 + 16.0755 0.0000 + + + -91.8811 1.0000 + -91.4260 1.0000 + -91.2911 1.0000 + -65.7470 1.0000 + -30.0566 1.0000 + -29.9963 1.0000 + -29.8065 1.0000 + -0.6301 1.0000 + 2.3392 1.0000 + 4.4826 1.0000 + 5.1281 1.0000 + 6.7895 1.0000 + 7.9927 0.0600 + 8.4203 0.0000 + 9.9342 0.0000 + 12.6686 0.0000 + 14.6904 0.0000 + 16.3415 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7468 1.0000 + -30.0640 1.0000 + -29.9955 1.0000 + -29.8057 1.0000 + -0.1783 1.0000 + 1.7219 1.0000 + 4.5543 1.0000 + 4.9634 1.0000 + 6.5924 1.0000 + 8.2811 0.0000 + 8.4564 0.0000 + 10.2930 0.0000 + 12.6655 0.0000 + 13.2024 0.0000 + 15.4432 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7467 1.0000 + -30.0681 1.0000 + -29.9951 1.0000 + -29.8053 1.0000 + 0.2566 1.0000 + 1.2033 1.0000 + 4.6272 1.0000 + 4.8360 1.0000 + 6.4912 1.0000 + 8.4783 0.0000 + 8.4935 0.0000 + 10.5194 0.0000 + 12.2814 0.0000 + 13.6544 0.0000 + 14.8524 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7473 1.0000 + -30.0191 1.0000 + -30.0121 1.0000 + -29.8089 1.0000 + -1.5376 1.0000 + 3.7788 1.0000 + 4.6305 1.0000 + 5.6232 1.0000 + 7.1210 1.0000 + 7.3732 1.0000 + 8.9428 0.0000 + 9.1443 0.0000 + 10.7771 0.0000 + 14.0933 0.0000 + 15.6423 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7473 1.0000 + -30.0213 1.0000 + -30.0119 1.0000 + -29.8086 1.0000 + -1.4880 1.0000 + 3.7961 1.0000 + 4.5072 1.0000 + 5.5227 1.0000 + 7.3126 1.0000 + 7.3745 1.0000 + 8.7532 0.0000 + 9.0824 0.0000 + 11.0146 0.0000 + 13.9004 0.0000 + 15.4021 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7472 1.0000 + -30.0271 1.0000 + -30.0113 1.0000 + -29.8080 1.0000 + -1.3394 1.0000 + 3.8230 1.0000 + 4.1696 1.0000 + 5.3756 1.0000 + 7.3639 1.0000 + 7.6935 0.9963 + 8.3844 0.0000 + 8.9738 0.0000 + 11.5333 0.0000 + 14.0395 0.0000 + 15.4431 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7470 1.0000 + -30.0358 1.0000 + -30.0105 1.0000 + -29.8072 1.0000 + -1.1004 1.0000 + 3.5412 1.0000 + 4.0159 1.0000 + 5.2627 1.0000 + 7.2896 1.0000 + 7.9988 0.0504 + 8.0788 0.0028 + 9.0073 0.0000 + 12.1244 0.0000 + 13.7520 0.0000 + 16.7152 0.0000 + + + -91.8807 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7468 1.0000 + -30.0459 1.0000 + -30.0096 1.0000 + -29.8061 1.0000 + -0.7790 1.0000 + 2.9721 1.0000 + 4.1076 1.0000 + 5.1462 1.0000 + 7.1030 1.0000 + 7.9500 0.1708 + 8.1422 0.0001 + 9.2822 0.0000 + 12.7110 0.0000 + 13.3886 0.0000 + 15.6710 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7467 1.0000 + -30.0554 1.0000 + -30.0087 1.0000 + -29.8053 1.0000 + -0.3863 1.0000 + 2.3710 1.0000 + 4.2299 1.0000 + 5.0035 1.0000 + 6.8764 1.0000 + 7.9435 0.1954 + 8.2650 0.0000 + 9.6513 0.0000 + 12.8907 0.0000 + 13.2663 0.0000 + 15.5200 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7465 1.0000 + -30.0629 1.0000 + -30.0079 1.0000 + -29.8045 1.0000 + 0.0623 1.0000 + 1.7821 1.0000 + 4.3653 1.0000 + 4.8399 1.0000 + 6.6971 1.0000 + 7.9722 0.1031 + 8.4241 0.0000 + 9.9878 0.0000 + 12.3795 0.0000 + 13.7744 0.0000 + 15.4918 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7464 1.0000 + -30.0669 1.0000 + -30.0075 1.0000 + -29.8040 1.0000 + 0.5200 1.0000 + 1.2543 1.0000 + 4.5122 1.0000 + 4.6723 1.0000 + 6.6015 1.0000 + 7.9946 0.0570 + 8.5494 0.0000 + 10.2089 0.0000 + 12.0275 0.0000 + 14.4133 0.0000 + 15.6167 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2908 1.0000 + -65.7470 1.0000 + -30.0263 1.0000 + -30.0177 1.0000 + -29.8073 1.0000 + -1.1910 1.0000 + 3.1811 1.0000 + 4.6122 1.0000 + 5.2814 1.0000 + 6.9503 1.0000 + 7.4746 1.0000 + 8.9798 0.0000 + 9.5814 0.0000 + 11.3283 0.0000 + 13.6460 0.0000 + 15.5948 0.0000 + + + -91.8811 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7470 1.0000 + -30.0261 1.0000 + -30.0198 1.0000 + -29.8072 1.0000 + -1.1414 1.0000 + 3.1889 1.0000 + 4.5083 1.0000 + 5.2434 1.0000 + 6.9639 1.0000 + 7.6097 0.9999 + 8.7962 0.0000 + 9.4992 0.0000 + 11.5568 0.0000 + 13.6608 0.0000 + 15.2250 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7469 1.0000 + -30.0257 1.0000 + -30.0255 1.0000 + -29.8066 1.0000 + -0.9957 1.0000 + 3.1942 1.0000 + 4.2418 1.0000 + 5.1757 1.0000 + 7.0004 1.0000 + 7.9287 0.2579 + 8.4011 0.0000 + 9.3080 0.0000 + 12.0788 0.0000 + 13.5578 0.0000 + 15.2519 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7467 1.0000 + -30.0345 1.0000 + -30.0247 1.0000 + -29.8057 1.0000 + -0.7602 1.0000 + 3.1062 1.0000 + 3.9790 1.0000 + 5.1030 1.0000 + 7.0431 1.0000 + 7.9901 0.0646 + 8.2728 0.0000 + 9.1426 0.0000 + 12.6730 0.0000 + 13.3289 0.0000 + 15.7896 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7465 1.0000 + -30.0445 1.0000 + -30.0237 1.0000 + -29.8047 1.0000 + -0.4475 1.0000 + 2.8028 1.0000 + 3.9098 1.0000 + 5.0079 1.0000 + 7.0489 1.0000 + 7.6784 0.9981 + 8.4720 0.0000 + 9.1821 0.0000 + 12.9563 0.0000 + 13.5965 0.0000 + 17.2388 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7463 1.0000 + -30.0541 1.0000 + -30.0228 1.0000 + -29.8038 1.0000 + -0.0679 1.0000 + 2.3493 1.0000 + 3.9944 1.0000 + 4.8777 1.0000 + 6.9573 1.0000 + 7.5462 1.0000 + 8.5230 0.0000 + 9.4304 0.0000 + 12.4873 0.0000 + 13.6262 0.0000 + 16.0306 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2897 1.0000 + -65.7461 1.0000 + -30.0615 1.0000 + -30.0221 1.0000 + -29.8030 1.0000 + 0.3633 1.0000 + 1.8487 1.0000 + 4.1415 1.0000 + 4.7166 1.0000 + 6.8214 1.0000 + 7.5399 1.0000 + 8.5695 0.0000 + 9.7014 0.0000 + 12.0422 0.0000 + 13.9068 0.0000 + 16.1837 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7461 1.0000 + -30.0656 1.0000 + -30.0217 1.0000 + -29.8026 1.0000 + 0.8283 1.0000 + 1.3477 1.0000 + 4.3004 1.0000 + 4.5506 1.0000 + 6.7365 1.0000 + 7.5567 1.0000 + 8.6157 0.0000 + 9.8832 0.0000 + 11.7458 0.0000 + 14.0429 0.0000 + 16.0539 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7468 1.0000 + -30.0398 1.0000 + -30.0163 1.0000 + -29.8059 1.0000 + -0.7675 1.0000 + 2.5196 1.0000 + 4.5999 1.0000 + 5.0061 1.0000 + 6.6208 1.0000 + 7.9708 0.1066 + 9.0157 0.0000 + 9.9775 0.0000 + 11.8614 0.0000 + 13.1993 0.0000 + 15.3650 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7467 1.0000 + -30.0395 1.0000 + -30.0184 1.0000 + -29.8057 1.0000 + -0.7188 1.0000 + 2.5262 1.0000 + 4.5193 1.0000 + 4.9986 1.0000 + 6.6392 1.0000 + 8.0523 0.0083 + 8.8426 0.0000 + 9.8894 0.0000 + 12.0868 0.0000 + 13.1663 0.0000 + 16.1220 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7466 1.0000 + -30.0390 1.0000 + -30.0243 1.0000 + -29.8052 1.0000 + -0.5758 1.0000 + 2.5363 1.0000 + 4.3168 1.0000 + 4.9744 1.0000 + 6.6919 1.0000 + 8.2598 0.0000 + 8.4520 0.0000 + 9.6694 0.0000 + 12.6304 0.0000 + 13.0732 0.0000 + 15.6443 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7465 1.0000 + -30.0382 1.0000 + -30.0332 1.0000 + -29.8043 1.0000 + -0.3483 1.0000 + 2.5183 1.0000 + 4.0832 1.0000 + 4.9265 1.0000 + 6.7709 1.0000 + 8.0186 0.0274 + 8.5126 0.0000 + 9.4183 0.0000 + 12.8043 0.0000 + 13.1910 0.0000 + 15.7181 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7462 1.0000 + -30.0432 1.0000 + -30.0373 1.0000 + -29.8034 1.0000 + -0.0478 1.0000 + 2.4216 1.0000 + 3.9190 1.0000 + 4.8440 1.0000 + 6.8610 1.0000 + 7.6333 0.9998 + 8.7054 0.0000 + 9.2656 0.0000 + 12.4562 0.0000 + 13.6001 0.0000 + 16.2032 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7460 1.0000 + -30.0528 1.0000 + -30.0364 1.0000 + -29.8024 1.0000 + 0.3045 1.0000 + 2.2066 1.0000 + 3.8869 1.0000 + 4.7195 1.0000 + 6.9324 1.0000 + 7.3479 1.0000 + 8.7335 0.0000 + 9.3281 0.0000 + 12.0629 0.0000 + 13.7569 0.0000 + 16.5710 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7459 1.0000 + -30.0602 1.0000 + -30.0357 1.0000 + -29.8017 1.0000 + 0.6908 1.0000 + 1.8937 1.0000 + 3.9664 1.0000 + 4.5594 1.0000 + 6.9277 1.0000 + 7.2186 1.0000 + 8.6985 0.0000 + 9.4867 0.0000 + 11.7099 0.0000 + 13.7542 0.0000 + 16.7032 0.0000 + + + -91.8786 1.0000 + -91.4236 1.0000 + -91.2886 1.0000 + -65.7457 1.0000 + -30.0642 1.0000 + -30.0352 1.0000 + -29.8012 1.0000 + 1.0768 1.0000 + 1.5402 1.0000 + 4.0958 1.0000 + 4.3989 1.0000 + 6.8746 1.0000 + 7.2086 1.0000 + 8.6828 0.0000 + 9.6000 0.0000 + 11.4903 0.0000 + 13.7171 0.0000 + 16.6030 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7465 1.0000 + -30.0502 1.0000 + -30.0152 1.0000 + -29.8048 1.0000 + -0.2969 1.0000 + 1.8722 1.0000 + 4.5904 1.0000 + 4.8147 1.0000 + 6.3956 1.0000 + 8.5207 0.0000 + 9.0442 0.0000 + 10.2923 0.0000 + 12.3631 0.0000 + 12.6799 0.0000 + 15.4633 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7465 1.0000 + -30.0501 1.0000 + -30.0173 1.0000 + -29.8046 1.0000 + -0.2476 1.0000 + 1.8793 1.0000 + 4.5376 1.0000 + 4.8080 1.0000 + 6.4159 1.0000 + 8.5593 0.0000 + 8.8804 0.0000 + 10.2052 0.0000 + 12.5854 0.0000 + 12.5895 0.0000 + 14.7751 0.0000 + + + -91.8814 1.0000 + -91.4264 1.0000 + -91.2914 1.0000 + -65.7464 1.0000 + -30.0496 1.0000 + -30.0233 1.0000 + -29.8041 1.0000 + -0.1045 1.0000 + 1.8964 1.0000 + 4.3983 1.0000 + 4.7846 1.0000 + 6.4746 1.0000 + 8.5014 0.0000 + 8.6596 0.0000 + 9.9796 0.0000 + 12.4726 0.0000 + 13.1496 0.0000 + 15.1815 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7462 1.0000 + -30.0487 1.0000 + -30.0321 1.0000 + -29.8032 1.0000 + 0.1204 1.0000 + 1.9197 1.0000 + 4.2177 1.0000 + 4.7361 1.0000 + 6.5646 1.0000 + 8.0702 0.0040 + 8.7844 0.0000 + 9.6958 0.0000 + 12.2586 0.0000 + 13.7021 0.0000 + 15.4427 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7460 1.0000 + -30.0478 1.0000 + -30.0422 1.0000 + -29.8023 1.0000 + 0.4035 1.0000 + 1.9363 1.0000 + 4.0468 1.0000 + 4.6515 1.0000 + 6.6739 1.0000 + 7.6760 0.9983 + 8.8822 0.0000 + 9.4477 0.0000 + 11.9748 0.0000 + 13.8742 0.0000 + 16.0112 0.0000 + + + -91.8797 1.0000 + -91.4248 1.0000 + -91.2897 1.0000 + -65.7458 1.0000 + -30.0517 1.0000 + -30.0469 1.0000 + -29.8013 1.0000 + 0.7108 1.0000 + 1.9297 1.0000 + 3.9336 1.0000 + 4.5238 1.0000 + 6.7857 1.0000 + 7.3592 1.0000 + 8.8793 0.0000 + 9.3398 0.0000 + 11.6821 0.0000 + 13.7440 0.0000 + 16.5307 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7456 1.0000 + -30.0593 1.0000 + -30.0463 1.0000 + -29.8006 1.0000 + 0.9965 1.0000 + 1.8877 1.0000 + 3.9039 1.0000 + 4.3616 1.0000 + 6.8809 1.0000 + 7.1374 1.0000 + 8.7963 0.0000 + 9.3615 0.0000 + 11.4387 0.0000 + 13.5583 0.0000 + 16.9470 0.0000 + + + -91.8787 1.0000 + -91.4238 1.0000 + -91.2887 1.0000 + -65.7455 1.0000 + -30.0632 1.0000 + -30.0459 1.0000 + -29.8002 1.0000 + 1.1916 1.0000 + 1.8308 1.0000 + 3.9520 1.0000 + 4.2094 1.0000 + 6.9473 1.0000 + 7.0123 1.0000 + 8.7381 0.0000 + 9.3978 0.0000 + 11.2989 0.0000 + 13.4437 0.0000 + 16.5925 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7463 1.0000 + -30.0559 1.0000 + -30.0145 1.0000 + -29.8042 1.0000 + 0.1293 1.0000 + 1.3542 1.0000 + 4.5849 1.0000 + 4.7168 1.0000 + 6.2814 1.0000 + 8.9385 0.0000 + 9.0598 0.0000 + 10.4726 0.0000 + 12.1850 0.0000 + 12.8255 0.0000 + 15.1774 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7463 1.0000 + -30.0557 1.0000 + -30.0167 1.0000 + -29.8040 1.0000 + 0.1836 1.0000 + 1.3565 1.0000 + 4.5671 1.0000 + 4.6874 1.0000 + 6.3024 1.0000 + 8.9015 0.0000 + 8.9469 0.0000 + 10.3933 0.0000 + 12.1353 0.0000 + 13.0125 0.0000 + 15.3429 0.0000 + + + -91.8806 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7462 1.0000 + -30.0552 1.0000 + -30.0227 1.0000 + -29.8035 1.0000 + 0.3435 1.0000 + 1.3655 1.0000 + 4.4967 1.0000 + 4.6242 1.0000 + 6.3631 1.0000 + 8.5307 0.0000 + 8.9685 0.0000 + 10.1791 0.0000 + 12.0342 0.0000 + 13.5893 0.0000 + 16.0045 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7460 1.0000 + -30.0544 1.0000 + -30.0315 1.0000 + -29.8026 1.0000 + 0.5914 1.0000 + 1.3832 1.0000 + 4.3674 1.0000 + 4.5524 1.0000 + 6.4562 1.0000 + 8.1044 0.0009 + 8.9932 0.0000 + 9.8884 0.0000 + 11.8622 0.0000 + 14.2861 0.0000 + 15.0487 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7459 1.0000 + -30.0535 1.0000 + -30.0416 1.0000 + -29.8017 1.0000 + 0.8833 1.0000 + 1.4308 1.0000 + 4.2192 1.0000 + 4.4522 1.0000 + 6.5696 1.0000 + 7.7127 0.9919 + 9.0016 0.0000 + 9.5963 0.0000 + 11.6488 0.0000 + 14.0297 0.0000 + 15.9577 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7457 1.0000 + -30.0528 1.0000 + -30.0512 1.0000 + -29.8008 1.0000 + 1.1157 1.0000 + 1.5761 1.0000 + 4.0844 1.0000 + 4.3103 1.0000 + 6.6854 1.0000 + 7.3974 1.0000 + 8.9559 0.0000 + 9.3894 0.0000 + 11.4424 0.0000 + 13.7001 0.0000 + 16.5151 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7455 1.0000 + -30.0587 1.0000 + -30.0521 1.0000 + -29.8000 1.0000 + 1.2081 1.0000 + 1.8399 1.0000 + 3.9754 1.0000 + 4.1492 1.0000 + 6.7823 1.0000 + 7.1786 1.0000 + 8.8498 0.0000 + 9.3109 0.0000 + 11.2830 0.0000 + 13.4354 0.0000 + 16.6304 0.0000 + + + -91.8793 1.0000 + -91.4243 1.0000 + -91.2893 1.0000 + -65.7454 1.0000 + -30.0627 1.0000 + -30.0518 1.0000 + -29.7996 1.0000 + 1.2328 1.0000 + 2.0507 1.0000 + 3.8985 1.0000 + 4.0417 1.0000 + 6.8389 1.0000 + 7.0660 1.0000 + 8.7690 0.0000 + 9.2970 0.0000 + 11.2437 0.0000 + 14.1131 0.0000 + 18.0681 0.0000 + + + -91.8804 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7474 1.0000 + -30.0205 1.0000 + -29.9874 1.0000 + -29.8211 1.0000 + -1.9380 1.0000 + 4.4295 1.0000 + 4.8508 1.0000 + 6.3792 1.0000 + 6.8138 1.0000 + 8.1771 0.0000 + 8.8386 0.0000 + 8.9434 0.0000 + 9.0466 0.0000 + 13.4689 0.0000 + 14.8465 0.0000 + + + -91.8802 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7474 1.0000 + -30.0226 1.0000 + -29.9872 1.0000 + -29.8209 1.0000 + -1.8859 1.0000 + 4.3438 1.0000 + 4.8274 1.0000 + 6.3656 1.0000 + 6.6651 1.0000 + 8.2366 0.0000 + 8.4561 0.0000 + 9.1702 0.0000 + 9.3749 0.0000 + 14.6979 0.0000 + 15.1035 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7473 1.0000 + -30.0286 1.0000 + -29.9866 1.0000 + -29.8203 1.0000 + -1.7375 1.0000 + 4.0528 1.0000 + 4.7878 1.0000 + 6.3364 1.0000 + 6.3830 1.0000 + 8.0619 0.0057 + 8.3336 0.0000 + 9.5014 0.0000 + 9.9115 0.0000 + 14.1815 0.0000 + 14.9183 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7471 1.0000 + -30.0372 1.0000 + -29.9857 1.0000 + -29.8195 1.0000 + -1.4939 1.0000 + 3.5647 1.0000 + 4.7595 1.0000 + 5.9723 1.0000 + 6.4743 1.0000 + 7.7497 0.9700 + 8.4147 0.0000 + 9.9423 0.0000 + 10.4794 0.0000 + 14.3282 0.0000 + 15.0758 0.0000 + + + -91.8796 1.0000 + -91.4244 1.0000 + -91.2894 1.0000 + -65.7469 1.0000 + -30.0470 1.0000 + -29.9846 1.0000 + -29.8185 1.0000 + -1.1660 1.0000 + 2.9634 1.0000 + 4.7389 1.0000 + 5.6413 1.0000 + 6.5416 1.0000 + 7.6483 0.9995 + 8.4831 0.0000 + 10.4090 0.0000 + 11.0447 0.0000 + 15.0305 0.0000 + 15.6832 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7468 1.0000 + -30.0566 1.0000 + -29.9837 1.0000 + -29.8176 1.0000 + -0.7654 1.0000 + 2.3210 1.0000 + 4.7218 1.0000 + 5.3752 1.0000 + 6.4754 1.0000 + 7.8474 0.6915 + 8.5405 0.0000 + 10.8486 0.0000 + 11.5771 0.0000 + 13.5613 0.0000 + 15.1290 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7467 1.0000 + -30.0642 1.0000 + -29.9830 1.0000 + -29.8168 1.0000 + -0.3160 1.0000 + 1.6951 1.0000 + 4.7092 1.0000 + 5.1905 1.0000 + 6.3590 1.0000 + 8.1987 0.0000 + 8.5831 0.0000 + 11.2134 0.0000 + 12.0304 0.0000 + 12.9684 0.0000 + 14.5851 0.0000 + + + -91.8817 1.0000 + -91.4266 1.0000 + -91.2917 1.0000 + -65.7467 1.0000 + -30.0683 1.0000 + -29.9826 1.0000 + -29.8165 1.0000 + 0.1015 1.0000 + 1.1853 1.0000 + 4.7026 1.0000 + 5.0962 1.0000 + 6.2848 1.0000 + 8.4738 0.0000 + 8.6059 0.0000 + 11.4369 0.0000 + 12.3087 0.0000 + 12.6173 0.0000 + 14.4394 0.0000 + + + -91.8803 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7474 1.0000 + -30.0202 1.0000 + -29.9904 1.0000 + -29.8208 1.0000 + -1.8853 1.0000 + 4.3956 1.0000 + 4.8088 1.0000 + 6.2602 1.0000 + 6.7341 1.0000 + 8.1965 0.0000 + 8.5252 0.0000 + 9.0697 0.0000 + 9.4119 0.0000 + 13.8616 0.0000 + 15.2576 0.0000 + + + -91.8804 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7473 1.0000 + -30.0223 1.0000 + -29.9901 1.0000 + -29.8206 1.0000 + -1.8347 1.0000 + 4.3325 1.0000 + 4.7685 1.0000 + 6.1044 1.0000 + 6.8162 1.0000 + 7.9710 0.1061 + 8.7574 0.0000 + 8.9151 0.0000 + 9.6966 0.0000 + 13.8495 0.0000 + 14.8611 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7473 1.0000 + -30.0283 1.0000 + -29.9896 1.0000 + -29.8200 1.0000 + -1.6854 1.0000 + 4.0715 1.0000 + 4.7055 1.0000 + 5.8924 1.0000 + 6.8149 1.0000 + 7.7859 0.9146 + 8.5439 0.0000 + 9.2979 0.0000 + 10.1790 0.0000 + 14.4429 0.0000 + 14.9450 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7471 1.0000 + -30.0369 1.0000 + -29.9887 1.0000 + -29.8192 1.0000 + -1.4415 1.0000 + 3.5859 1.0000 + 4.6793 1.0000 + 5.7131 1.0000 + 6.7163 1.0000 + 7.7038 0.9943 + 8.3889 0.0000 + 9.7722 0.0000 + 10.7211 0.0000 + 14.3964 0.0000 + 15.0087 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7469 1.0000 + -30.0468 1.0000 + -29.9877 1.0000 + -29.8182 1.0000 + -1.1142 1.0000 + 2.9798 1.0000 + 4.6736 1.0000 + 5.5108 1.0000 + 6.6199 1.0000 + 7.7221 0.9885 + 8.3636 0.0000 + 10.2499 0.0000 + 11.2691 0.0000 + 14.1095 0.0000 + 16.1309 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7467 1.0000 + -30.0564 1.0000 + -29.9867 1.0000 + -29.8173 1.0000 + -0.7140 1.0000 + 2.3366 1.0000 + 4.6761 1.0000 + 5.3013 1.0000 + 6.5008 1.0000 + 7.9230 0.2850 + 8.3953 0.0000 + 10.6940 0.0000 + 11.7823 0.0000 + 13.5487 0.0000 + 15.0697 0.0000 + + + -91.8810 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7466 1.0000 + -30.0639 1.0000 + -29.9860 1.0000 + -29.8166 1.0000 + -0.2628 1.0000 + 1.7117 1.0000 + 4.6852 1.0000 + 5.1307 1.0000 + 6.3817 1.0000 + 8.2332 0.0000 + 8.4366 0.0000 + 11.0609 0.0000 + 12.1858 0.0000 + 13.0336 0.0000 + 14.9369 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2912 1.0000 + -65.7466 1.0000 + -30.0680 1.0000 + -29.9856 1.0000 + -29.8162 1.0000 + 0.1614 1.0000 + 1.1971 1.0000 + 4.6963 1.0000 + 5.0329 1.0000 + 6.3108 1.0000 + 8.4305 0.0000 + 8.5088 0.0000 + 11.2905 0.0000 + 12.2531 0.0000 + 13.6523 0.0000 + 15.0165 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7472 1.0000 + -30.0193 1.0000 + -29.9987 1.0000 + -29.8199 1.0000 + -1.7259 1.0000 + 4.2208 1.0000 + 4.7206 1.0000 + 5.9736 1.0000 + 6.6199 1.0000 + 8.1432 0.0001 + 8.2436 0.0000 + 9.3875 0.0000 + 9.9330 0.0000 + 14.2783 0.0000 + 14.9326 0.0000 + + + -91.8805 1.0000 + -91.4253 1.0000 + -91.2904 1.0000 + -65.7472 1.0000 + -30.0214 1.0000 + -29.9985 1.0000 + -29.8197 1.0000 + -1.6767 1.0000 + 4.2223 1.0000 + 4.6204 1.0000 + 5.7734 1.0000 + 6.8479 1.0000 + 7.7918 0.9010 + 8.5549 0.0000 + 9.2077 0.0000 + 10.1836 0.0000 + 14.6923 0.0000 + 15.0199 0.0000 + + + -91.8807 1.0000 + -91.4255 1.0000 + -91.2906 1.0000 + -65.7471 1.0000 + -30.0274 1.0000 + -29.9980 1.0000 + -29.8192 1.0000 + -1.5287 1.0000 + 4.1177 1.0000 + 4.4062 1.0000 + 5.5506 1.0000 + 7.1483 1.0000 + 7.4218 1.0000 + 8.7268 0.0000 + 9.0973 0.0000 + 10.6622 0.0000 + 14.4498 0.0000 + 15.1810 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7469 1.0000 + -30.0361 1.0000 + -29.9971 1.0000 + -29.8183 1.0000 + -1.2856 1.0000 + 3.6350 1.0000 + 4.3984 1.0000 + 5.4250 1.0000 + 6.9924 1.0000 + 7.5022 1.0000 + 8.4908 0.0000 + 9.4686 0.0000 + 11.2024 0.0000 + 14.4000 0.0000 + 15.1855 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7467 1.0000 + -30.0460 1.0000 + -29.9962 1.0000 + -29.8174 1.0000 + -0.9603 1.0000 + 3.0182 1.0000 + 4.4522 1.0000 + 5.3087 1.0000 + 6.7413 1.0000 + 7.7217 0.9886 + 8.3005 0.0000 + 9.9206 0.0000 + 11.7328 0.0000 + 13.9753 0.0000 + 15.3830 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7465 1.0000 + -30.0556 1.0000 + -29.9952 1.0000 + -29.8164 1.0000 + -0.5617 1.0000 + 2.3790 1.0000 + 4.5170 1.0000 + 5.1603 1.0000 + 6.5656 1.0000 + 7.9200 0.2994 + 8.2560 0.0000 + 10.3547 0.0000 + 12.1577 0.0000 + 13.5549 0.0000 + 17.9977 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7464 1.0000 + -30.0631 1.0000 + -29.9945 1.0000 + -29.8157 1.0000 + -0.1093 1.0000 + 1.7590 1.0000 + 4.5897 1.0000 + 5.0004 1.0000 + 6.4473 1.0000 + 8.0381 0.0140 + 8.3802 0.0000 + 10.7217 0.0000 + 12.2601 0.0000 + 13.3666 0.0000 + 15.0205 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7464 1.0000 + -30.0672 1.0000 + -29.9941 1.0000 + -29.8153 1.0000 + 0.3334 1.0000 + 1.2318 1.0000 + 4.6652 1.0000 + 4.8709 1.0000 + 6.3846 1.0000 + 8.0775 0.0029 + 8.5356 0.0000 + 10.9631 0.0000 + 12.0560 0.0000 + 14.6802 0.0000 + 15.7986 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7470 1.0000 + -30.0181 1.0000 + -30.0111 1.0000 + -29.8187 1.0000 + -1.4695 1.0000 + 3.7994 1.0000 + 4.6693 1.0000 + 5.6325 1.0000 + 6.5974 1.0000 + 7.8461 0.6978 + 8.3061 0.0000 + 9.7917 0.0000 + 10.4886 0.0000 + 14.2428 0.0000 + 15.3871 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7469 1.0000 + -30.0202 1.0000 + -30.0109 1.0000 + -29.8185 1.0000 + -1.4195 1.0000 + 3.8193 1.0000 + 4.5504 1.0000 + 5.5098 1.0000 + 6.7466 1.0000 + 7.7637 0.9539 + 8.3458 0.0000 + 9.6384 0.0000 + 10.7162 0.0000 + 14.2161 0.0000 + 15.3807 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7468 1.0000 + -30.0261 1.0000 + -30.0103 1.0000 + -29.8179 1.0000 + -1.2729 1.0000 + 3.8625 1.0000 + 4.2037 1.0000 + 5.3571 1.0000 + 6.9709 1.0000 + 7.5306 1.0000 + 8.5275 0.0000 + 9.3693 0.0000 + 11.1903 0.0000 + 14.9903 0.0000 + 31.3493 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7467 1.0000 + -30.0349 1.0000 + -30.0095 1.0000 + -29.8171 1.0000 + -1.0337 1.0000 + 3.6024 1.0000 + 4.0290 1.0000 + 5.2643 1.0000 + 7.0029 1.0000 + 7.3935 1.0000 + 8.6571 0.0000 + 9.2934 0.0000 + 11.7135 0.0000 + 14.0675 0.0000 + 15.4038 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7464 1.0000 + -30.0448 1.0000 + -30.0085 1.0000 + -29.8161 1.0000 + -0.7114 1.0000 + 3.0260 1.0000 + 4.1301 1.0000 + 5.1712 1.0000 + 6.8136 1.0000 + 7.4784 1.0000 + 8.5466 0.0000 + 9.5926 0.0000 + 12.1469 0.0000 + 13.8100 0.0000 + 15.8147 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7463 1.0000 + -30.0544 1.0000 + -30.0076 1.0000 + -29.8152 1.0000 + -0.3183 1.0000 + 2.4223 1.0000 + 4.2569 1.0000 + 5.0412 1.0000 + 6.6493 1.0000 + 7.5743 1.0000 + 8.4765 0.0000 + 9.9779 0.0000 + 12.2811 0.0000 + 13.6749 0.0000 + 15.6480 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7461 1.0000 + -30.0619 1.0000 + -30.0069 1.0000 + -29.8145 1.0000 + 0.1309 1.0000 + 1.8302 1.0000 + 4.3950 1.0000 + 4.8792 1.0000 + 6.5467 1.0000 + 7.6338 0.9998 + 8.5191 0.0000 + 10.3234 0.0000 + 12.0332 0.0000 + 13.9324 0.0000 + 15.8350 0.0000 + + + -91.8807 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7461 1.0000 + -30.0660 1.0000 + -30.0065 1.0000 + -29.8141 1.0000 + 0.5962 1.0000 + 1.2931 1.0000 + 4.5437 1.0000 + 4.7091 1.0000 + 6.4966 1.0000 + 7.6617 0.9991 + 8.5908 0.0000 + 10.5605 0.0000 + 11.7454 0.0000 + 14.3195 0.0000 + 15.4240 0.0000 + + + -91.8811 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7467 1.0000 + -30.0253 1.0000 + -30.0166 1.0000 + -29.8173 1.0000 + -1.1232 1.0000 + 3.2045 1.0000 + 4.6486 1.0000 + 5.3096 1.0000 + 6.5657 1.0000 + 7.8108 0.8458 + 8.3758 0.0000 + 10.2111 0.0000 + 11.0400 0.0000 + 13.9258 0.0000 + 15.5259 0.0000 + + + -91.8810 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7466 1.0000 + -30.0251 1.0000 + -30.0187 1.0000 + -29.8171 1.0000 + -1.0740 1.0000 + 3.2169 1.0000 + 4.5463 1.0000 + 5.2645 1.0000 + 6.6130 1.0000 + 7.8637 0.6062 + 8.2993 0.0000 + 10.0666 0.0000 + 11.2485 0.0000 + 13.8793 0.0000 + 15.1310 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7465 1.0000 + -30.0247 1.0000 + -30.0245 1.0000 + -29.8165 1.0000 + -0.9278 1.0000 + 3.2332 1.0000 + 4.2746 1.0000 + 5.1943 1.0000 + 6.7018 1.0000 + 7.7714 0.9424 + 8.3727 0.0000 + 9.7624 0.0000 + 11.6929 0.0000 + 13.8341 0.0000 + 15.2470 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7463 1.0000 + -30.0335 1.0000 + -30.0237 1.0000 + -29.8157 1.0000 + -0.6936 1.0000 + 3.1651 1.0000 + 3.9951 1.0000 + 5.1310 1.0000 + 6.7693 1.0000 + 7.5109 1.0000 + 8.6573 0.0000 + 9.4680 0.0000 + 12.1191 0.0000 + 13.7501 0.0000 + 16.2199 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7461 1.0000 + -30.0435 1.0000 + -30.0228 1.0000 + -29.8147 1.0000 + -0.3808 1.0000 + 2.8709 1.0000 + 3.9188 1.0000 + 5.0470 1.0000 + 6.7750 1.0000 + 7.3303 1.0000 + 8.7957 0.0000 + 9.4194 0.0000 + 12.2854 0.0000 + 15.1004 0.0000 + 16.6631 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7460 1.0000 + -30.0531 1.0000 + -30.0219 1.0000 + -29.8138 1.0000 + -0.0012 1.0000 + 2.4149 1.0000 + 4.0086 1.0000 + 4.9212 1.0000 + 6.7199 1.0000 + 7.2772 1.0000 + 8.7185 0.0000 + 9.6676 0.0000 + 12.0399 0.0000 + 13.9078 0.0000 + 16.1396 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7458 1.0000 + -30.0605 1.0000 + -30.0212 1.0000 + -29.8131 1.0000 + 0.4304 1.0000 + 1.9114 1.0000 + 4.1602 1.0000 + 4.7577 1.0000 + 6.6629 1.0000 + 7.2826 1.0000 + 8.6633 0.0000 + 9.9472 0.0000 + 11.6785 0.0000 + 15.2726 0.0000 + 16.0488 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7457 1.0000 + -30.0646 1.0000 + -30.0207 1.0000 + -29.8127 1.0000 + 0.8992 1.0000 + 1.4048 1.0000 + 4.3197 1.0000 + 4.5902 1.0000 + 6.6327 1.0000 + 7.2942 1.0000 + 8.6558 0.0000 + 10.1424 0.0000 + 11.4034 0.0000 + 14.2472 0.0000 + 41.7288 0.0000 + + + -91.8814 1.0000 + -91.4263 1.0000 + -91.2913 1.0000 + -65.7464 1.0000 + -30.0388 1.0000 + -30.0152 1.0000 + -29.8160 1.0000 + -0.7011 1.0000 + 2.5446 1.0000 + 4.6365 1.0000 + 5.0441 1.0000 + 6.4285 1.0000 + 8.1110 0.0006 + 8.4422 0.0000 + 10.6018 0.0000 + 11.5597 0.0000 + 13.3506 0.0000 + 15.1051 0.0000 + + + -91.8812 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7464 1.0000 + -30.0386 1.0000 + -30.0173 1.0000 + -29.8158 1.0000 + -0.6526 1.0000 + 2.5545 1.0000 + 4.5567 1.0000 + 5.0344 1.0000 + 6.4474 1.0000 + 8.1580 0.0000 + 8.3450 0.0000 + 10.4604 0.0000 + 11.7435 0.0000 + 13.3794 0.0000 + 15.8365 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7462 1.0000 + -30.0381 1.0000 + -30.0233 1.0000 + -29.8152 1.0000 + -0.5089 1.0000 + 2.5736 1.0000 + 4.3507 1.0000 + 5.0102 1.0000 + 6.4989 1.0000 + 7.9569 0.1473 + 8.4473 0.0000 + 10.1404 0.0000 + 12.0883 0.0000 + 13.4032 0.0000 + 15.1473 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7461 1.0000 + -30.0373 1.0000 + -30.0321 1.0000 + -29.8143 1.0000 + -0.2806 1.0000 + 2.5705 1.0000 + 4.1067 1.0000 + 4.9666 1.0000 + 6.5721 1.0000 + 7.6198 0.9999 + 8.7017 0.0000 + 9.7782 0.0000 + 12.2391 0.0000 + 13.5917 0.0000 + 15.4441 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7459 1.0000 + -30.0422 1.0000 + -30.0363 1.0000 + -29.8134 1.0000 + 0.0188 1.0000 + 2.4896 1.0000 + 3.9304 1.0000 + 4.8876 1.0000 + 6.6514 1.0000 + 7.3330 1.0000 + 8.9105 0.0000 + 9.5027 0.0000 + 12.0077 0.0000 + 14.3536 0.0000 + 16.5093 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7457 1.0000 + -30.0518 1.0000 + -30.0354 1.0000 + -29.8125 1.0000 + 0.3709 1.0000 + 2.2835 1.0000 + 3.8916 1.0000 + 4.7617 1.0000 + 6.7183 1.0000 + 7.1436 1.0000 + 8.9049 0.0000 + 9.4941 0.0000 + 11.7396 0.0000 + 15.6793 0.0000 + 16.9345 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7455 1.0000 + -30.0593 1.0000 + -30.0348 1.0000 + -29.8117 1.0000 + 0.7545 1.0000 + 1.9742 1.0000 + 3.9744 1.0000 + 4.5954 1.0000 + 6.7577 1.0000 + 7.0518 1.0000 + 8.7886 0.0000 + 9.6473 0.0000 + 11.3101 0.0000 + 14.0340 0.0000 + 16.7643 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7454 1.0000 + -30.0633 1.0000 + -30.0343 1.0000 + -29.8114 1.0000 + 1.1319 1.0000 + 1.6271 1.0000 + 4.1052 1.0000 + 4.4298 1.0000 + 6.7711 1.0000 + 7.0239 1.0000 + 8.7206 0.0000 + 9.7665 0.0000 + 11.0890 0.0000 + 13.9788 0.0000 + 16.9520 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7462 1.0000 + -30.0493 1.0000 + -30.0141 1.0000 + -29.8149 1.0000 + -0.2288 1.0000 + 1.8983 1.0000 + 4.6283 1.0000 + 4.8575 1.0000 + 6.2772 1.0000 + 8.4945 0.0000 + 8.5804 0.0000 + 10.9224 0.0000 + 11.9786 0.0000 + 12.7899 0.0000 + 14.9087 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7461 1.0000 + -30.0491 1.0000 + -30.0162 1.0000 + -29.8147 1.0000 + -0.1792 1.0000 + 1.9074 1.0000 + 4.5762 1.0000 + 4.8487 1.0000 + 6.2969 1.0000 + 8.3585 0.0000 + 8.6284 0.0000 + 10.7823 0.0000 + 12.0806 0.0000 + 12.8868 0.0000 + 15.2348 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7460 1.0000 + -30.0486 1.0000 + -30.0222 1.0000 + -29.8141 1.0000 + -0.0352 1.0000 + 1.9332 1.0000 + 4.4339 1.0000 + 4.8242 1.0000 + 6.3536 1.0000 + 8.0475 0.0099 + 8.7378 0.0000 + 10.4554 0.0000 + 12.1158 0.0000 + 13.2657 0.0000 + 14.9000 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7458 1.0000 + -30.0478 1.0000 + -30.0311 1.0000 + -29.8133 1.0000 + 0.1893 1.0000 + 1.9679 1.0000 + 4.2451 1.0000 + 4.7769 1.0000 + 6.4400 1.0000 + 7.6916 0.9966 + 8.8745 0.0000 + 10.0643 0.0000 + 11.9241 0.0000 + 13.8014 0.0000 + 15.2989 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7456 1.0000 + -30.0469 1.0000 + -30.0412 1.0000 + -29.8123 1.0000 + 0.4706 1.0000 + 1.9998 1.0000 + 4.0636 1.0000 + 4.6916 1.0000 + 6.5446 1.0000 + 7.3787 1.0000 + 8.9926 0.0000 + 9.6981 0.0000 + 11.6104 0.0000 + 14.1038 0.0000 + 15.9363 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7454 1.0000 + -30.0508 1.0000 + -30.0460 1.0000 + -29.8114 1.0000 + 0.7753 1.0000 + 2.0098 1.0000 + 3.9391 1.0000 + 4.5583 1.0000 + 6.6530 1.0000 + 7.1493 1.0000 + 9.0079 0.0000 + 9.4727 0.0000 + 11.2802 0.0000 + 14.0000 0.0000 + 16.5368 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7452 1.0000 + -30.0583 1.0000 + -30.0454 1.0000 + -29.8107 1.0000 + 1.0560 1.0000 + 1.9838 1.0000 + 3.9064 1.0000 + 4.3863 1.0000 + 6.7511 1.0000 + 7.0039 1.0000 + 8.8800 0.0000 + 9.4519 0.0000 + 11.0055 0.0000 + 13.8522 0.0000 + 16.8940 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2896 1.0000 + -65.7452 1.0000 + -30.0624 1.0000 + -30.0450 1.0000 + -29.8103 1.0000 + 1.2424 1.0000 + 1.9383 1.0000 + 3.9540 1.0000 + 4.2239 1.0000 + 6.8299 1.0000 + 6.9158 1.0000 + 8.7739 0.0000 + 9.4832 0.0000 + 10.8480 0.0000 + 13.7576 0.0000 + 16.7488 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7460 1.0000 + -30.0550 1.0000 + -30.0134 1.0000 + -29.8143 1.0000 + 0.2043 1.0000 + 1.3732 1.0000 + 4.6240 1.0000 + 4.7616 1.0000 + 6.1883 1.0000 + 8.5233 0.0000 + 8.9674 0.0000 + 11.1121 0.0000 + 12.0071 0.0000 + 12.6025 0.0000 + 14.7790 0.0000 + + + -91.8807 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7460 1.0000 + -30.0547 1.0000 + -30.0156 1.0000 + -29.8141 1.0000 + 0.2601 1.0000 + 1.3783 1.0000 + 4.6072 1.0000 + 4.7289 1.0000 + 6.2110 1.0000 + 8.3945 0.0000 + 8.9806 0.0000 + 10.9757 0.0000 + 11.9688 0.0000 + 12.8374 0.0000 + 14.6721 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7458 1.0000 + -30.0543 1.0000 + -30.0216 1.0000 + -29.8135 1.0000 + 0.4205 1.0000 + 1.3934 1.0000 + 4.5342 1.0000 + 4.6626 1.0000 + 6.2753 1.0000 + 8.0869 0.0019 + 9.0106 0.0000 + 10.6601 0.0000 + 11.8277 0.0000 + 13.4681 0.0000 + 14.6325 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7457 1.0000 + -30.0535 1.0000 + -30.0305 1.0000 + -29.8127 1.0000 + 0.6680 1.0000 + 1.4216 1.0000 + 4.3948 1.0000 + 4.5926 1.0000 + 6.3719 1.0000 + 7.7299 0.9847 + 9.0457 0.0000 + 10.2612 0.0000 + 11.5905 0.0000 + 14.2426 0.0000 + 14.7492 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7455 1.0000 + -30.0527 1.0000 + -30.0406 1.0000 + -29.8117 1.0000 + 0.9557 1.0000 + 1.4873 1.0000 + 4.2358 1.0000 + 4.4908 1.0000 + 6.4878 1.0000 + 7.4124 1.0000 + 9.0712 0.0000 + 9.8506 0.0000 + 11.3089 0.0000 + 14.3846 0.0000 + 15.5524 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7453 1.0000 + -30.0518 1.0000 + -30.0502 1.0000 + -29.8108 1.0000 + 1.1737 1.0000 + 1.6621 1.0000 + 4.0925 1.0000 + 4.3402 1.0000 + 6.6061 1.0000 + 7.1785 1.0000 + 9.0505 0.0000 + 9.5155 0.0000 + 11.0400 0.0000 + 13.9482 0.0000 + 16.5775 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7451 1.0000 + -30.0577 1.0000 + -30.0512 1.0000 + -29.8101 1.0000 + 1.2606 1.0000 + 1.9475 1.0000 + 3.9805 1.0000 + 4.1622 1.0000 + 6.7058 1.0000 + 7.0369 1.0000 + 8.9273 0.0000 + 9.3617 0.0000 + 10.8310 0.0000 + 13.7460 0.0000 + 17.0707 0.0000 + + + -91.8798 1.0000 + -91.4249 1.0000 + -91.2898 1.0000 + -65.7451 1.0000 + -30.0619 1.0000 + -30.0509 1.0000 + -29.8097 1.0000 + 1.2859 1.0000 + 2.1702 1.0000 + 3.8990 1.0000 + 4.0390 1.0000 + 6.7652 1.0000 + 6.9729 1.0000 + 8.8041 0.0000 + 9.3315 0.0000 + 10.7166 0.0000 + 13.6320 0.0000 + 16.7501 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7464 1.0000 + -30.0175 1.0000 + -29.9844 1.0000 + -29.8488 1.0000 + -1.7370 1.0000 + 4.4422 1.0000 + 4.8585 1.0000 + 6.0714 1.0000 + 6.4466 1.0000 + 8.2302 0.0000 + 8.3749 0.0000 + 9.1175 0.0000 + 9.2619 0.0000 + 14.1349 0.0000 + 15.4013 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7463 1.0000 + -30.0195 1.0000 + -29.9841 1.0000 + -29.8486 1.0000 + -1.6861 1.0000 + 4.3659 1.0000 + 4.8534 1.0000 + 5.9862 1.0000 + 6.3903 1.0000 + 8.0854 0.0021 + 8.4524 0.0000 + 9.1354 0.0000 + 9.5120 0.0000 + 14.3643 0.0000 + 15.3071 0.0000 + + + -91.8803 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7463 1.0000 + -30.0256 1.0000 + -29.9835 1.0000 + -29.8481 1.0000 + -1.5384 1.0000 + 4.0964 1.0000 + 4.8387 1.0000 + 5.8780 1.0000 + 6.2244 1.0000 + 7.8814 0.5077 + 8.4118 0.0000 + 9.4051 0.0000 + 10.0237 0.0000 + 14.7831 0.0000 + 15.5390 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7461 1.0000 + -30.0342 1.0000 + -29.9826 1.0000 + -29.8473 1.0000 + -1.2961 1.0000 + 3.6243 1.0000 + 4.8224 1.0000 + 5.8880 1.0000 + 5.9794 1.0000 + 7.7697 0.9451 + 8.2240 0.0000 + 9.9152 0.0000 + 10.6017 0.0000 + 14.8981 0.0000 + 15.7528 0.0000 + + + -91.8798 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7459 1.0000 + -30.0442 1.0000 + -29.9816 1.0000 + -29.8464 1.0000 + -0.9701 1.0000 + 3.0306 1.0000 + 4.8098 1.0000 + 5.7145 1.0000 + 5.9645 1.0000 + 7.7405 0.9779 + 8.1068 0.0008 + 10.4758 0.0000 + 11.1795 0.0000 + 14.4320 0.0000 + 15.4052 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7457 1.0000 + -30.0538 1.0000 + -29.9807 1.0000 + -29.8456 1.0000 + -0.5710 1.0000 + 2.3983 1.0000 + 4.8012 1.0000 + 5.4818 1.0000 + 6.0144 1.0000 + 7.7545 0.9652 + 8.1644 0.0000 + 11.0095 0.0000 + 11.7243 0.0000 + 13.7286 0.0000 + 15.7410 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7456 1.0000 + -30.0614 1.0000 + -29.9799 1.0000 + -29.8449 1.0000 + -0.1177 1.0000 + 1.7781 1.0000 + 4.7964 1.0000 + 5.3133 1.0000 + 6.0112 1.0000 + 7.7807 0.9256 + 8.3693 0.0000 + 11.4739 0.0000 + 12.2127 0.0000 + 12.9109 0.0000 + 14.6649 0.0000 + + + -91.8817 1.0000 + -91.4266 1.0000 + -91.2916 1.0000 + -65.7457 1.0000 + -30.0656 1.0000 + -29.9796 1.0000 + -29.8446 1.0000 + 0.3197 1.0000 + 1.2526 1.0000 + 4.7946 1.0000 + 5.2255 1.0000 + 5.9923 1.0000 + 7.7988 0.8824 + 8.5626 0.0000 + 11.8394 0.0000 + 12.3313 0.0000 + 12.5446 0.0000 + 14.3190 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7463 1.0000 + -30.0172 1.0000 + -29.9873 1.0000 + -29.8485 1.0000 + -1.6849 1.0000 + 4.4076 1.0000 + 4.8483 1.0000 + 6.0207 1.0000 + 6.2826 1.0000 + 8.0528 0.0081 + 8.5353 0.0000 + 9.2108 0.0000 + 9.3896 0.0000 + 14.3918 0.0000 + 15.3197 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2896 1.0000 + -65.7463 1.0000 + -30.0193 1.0000 + -29.9870 1.0000 + -29.8483 1.0000 + -1.6339 1.0000 + 4.3516 1.0000 + 4.8346 1.0000 + 5.7996 1.0000 + 6.4178 1.0000 + 7.7836 0.9196 + 8.8250 0.0000 + 9.1722 0.0000 + 9.5353 0.0000 + 14.5019 0.0000 + 15.3716 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7462 1.0000 + -30.0253 1.0000 + -29.9865 1.0000 + -29.8478 1.0000 + -1.4861 1.0000 + 4.1162 1.0000 + 4.7981 1.0000 + 5.5891 1.0000 + 6.4356 1.0000 + 7.5244 1.0000 + 8.7710 0.0000 + 9.5148 0.0000 + 9.9362 0.0000 + 15.1352 0.0000 + 15.4072 0.0000 + + + -91.8803 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7460 1.0000 + -30.0340 1.0000 + -29.9857 1.0000 + -29.8470 1.0000 + -1.2446 1.0000 + 3.6518 1.0000 + 4.7706 1.0000 + 5.5402 1.0000 + 6.2682 1.0000 + 7.4667 1.0000 + 8.5007 0.0000 + 10.0751 0.0000 + 10.4593 0.0000 + 14.9293 0.0000 + 15.7909 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7458 1.0000 + -30.0439 1.0000 + -29.9846 1.0000 + -29.8461 1.0000 + -0.9180 1.0000 + 3.0555 1.0000 + 4.7621 1.0000 + 5.5144 1.0000 + 6.0975 1.0000 + 7.5228 1.0000 + 8.3066 0.0000 + 10.6374 0.0000 + 11.0036 0.0000 + 14.3882 0.0000 + 15.7788 0.0000 + + + -91.8803 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7457 1.0000 + -30.0536 1.0000 + -29.9837 1.0000 + -29.8453 1.0000 + -0.5188 1.0000 + 2.4214 1.0000 + 4.7659 1.0000 + 5.3939 1.0000 + 6.0417 1.0000 + 7.5977 1.0000 + 8.2829 0.0000 + 11.1508 0.0000 + 11.5105 0.0000 + 13.7183 0.0000 + 14.9755 0.0000 + + + -91.8811 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7456 1.0000 + -30.0611 1.0000 + -29.9830 1.0000 + -29.8447 1.0000 + -0.0651 1.0000 + 1.8001 1.0000 + 4.7789 1.0000 + 5.2458 1.0000 + 6.0321 1.0000 + 7.6461 0.9996 + 8.4238 0.0000 + 11.5584 0.0000 + 11.9266 0.0000 + 13.0831 0.0000 + 15.6069 0.0000 + + + -91.8817 1.0000 + -91.4266 1.0000 + -91.2916 1.0000 + -65.7456 1.0000 + -30.0653 1.0000 + -29.9826 1.0000 + -29.8443 1.0000 + 0.3795 1.0000 + 1.2691 1.0000 + 4.7936 1.0000 + 5.1515 1.0000 + 6.0240 1.0000 + 7.6686 0.9988 + 8.5805 0.0000 + 11.7779 0.0000 + 12.1352 0.0000 + 12.7618 0.0000 + 14.3597 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2897 1.0000 + -65.7461 1.0000 + -30.0163 1.0000 + -29.9957 1.0000 + -29.8477 1.0000 + -1.5268 1.0000 + 4.2431 1.0000 + 4.8102 1.0000 + 5.8696 1.0000 + 6.0346 1.0000 + 7.8110 0.8450 + 8.5785 0.0000 + 9.3930 0.0000 + 9.9093 0.0000 + 14.8181 0.0000 + 15.3992 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7461 1.0000 + -30.0184 1.0000 + -29.9955 1.0000 + -29.8475 1.0000 + -1.4775 1.0000 + 4.2438 1.0000 + 4.7542 1.0000 + 5.5293 1.0000 + 6.3522 1.0000 + 7.5150 1.0000 + 8.8801 0.0000 + 9.4592 0.0000 + 9.8752 0.0000 + 15.2792 0.0000 + 15.6628 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7460 1.0000 + -30.0244 1.0000 + -29.9950 1.0000 + -29.8470 1.0000 + -1.3299 1.0000 + 4.1576 1.0000 + 4.5679 1.0000 + 5.2979 1.0000 + 6.6150 1.0000 + 7.0904 1.0000 + 9.1579 0.0000 + 9.5750 0.0000 + 10.0825 0.0000 + 15.1794 0.0000 + 15.4777 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7459 1.0000 + -30.0332 1.0000 + -29.9941 1.0000 + -29.8463 1.0000 + -1.0889 1.0000 + 3.7247 1.0000 + 4.5126 1.0000 + 5.2739 1.0000 + 6.5053 1.0000 + 7.0116 1.0000 + 8.9177 0.0000 + 10.0553 0.0000 + 10.5390 0.0000 + 14.9488 0.0000 + 15.7735 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7457 1.0000 + -30.0432 1.0000 + -29.9932 1.0000 + -29.8454 1.0000 + -0.7637 1.0000 + 3.1184 1.0000 + 4.5570 1.0000 + 5.2947 1.0000 + 6.2309 1.0000 + 7.1569 1.0000 + 8.6614 0.0000 + 10.5778 0.0000 + 11.0215 0.0000 + 14.3672 0.0000 + 16.4135 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7455 1.0000 + -30.0528 1.0000 + -29.9922 1.0000 + -29.8445 1.0000 + -0.3665 1.0000 + 2.4849 1.0000 + 4.6192 1.0000 + 5.2403 1.0000 + 6.0991 1.0000 + 7.2727 1.0000 + 8.5350 0.0000 + 11.0432 0.0000 + 11.4229 0.0000 + 13.8722 0.0000 + 15.2253 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7454 1.0000 + -30.0603 1.0000 + -29.9915 1.0000 + -29.8439 1.0000 + 0.0883 1.0000 + 1.8666 1.0000 + 4.6927 1.0000 + 5.1041 1.0000 + 6.0902 1.0000 + 7.3348 1.0000 + 8.5545 0.0000 + 11.3690 0.0000 + 11.6761 0.0000 + 13.4279 0.0000 + 14.9423 0.0000 + + + -91.8813 1.0000 + -91.4263 1.0000 + -91.2913 1.0000 + -65.7454 1.0000 + -30.0645 1.0000 + -29.9911 1.0000 + -29.8436 1.0000 + 0.5523 1.0000 + 1.3197 1.0000 + 4.7737 1.0000 + 4.9700 1.0000 + 6.1067 1.0000 + 7.3584 1.0000 + 8.6259 0.0000 + 11.4672 0.0000 + 11.8083 0.0000 + 13.3060 0.0000 + 14.7773 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7459 1.0000 + -30.0150 1.0000 + -30.0082 1.0000 + -29.8466 1.0000 + -1.2712 1.0000 + 3.8438 1.0000 + 4.7684 1.0000 + 5.6401 1.0000 + 5.9574 1.0000 + 7.6738 0.9984 + 8.3685 0.0000 + 9.9037 0.0000 + 10.4726 0.0000 + 15.0041 0.0000 + 15.6011 0.0000 + + + -91.8803 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7459 1.0000 + -30.0172 1.0000 + -30.0079 1.0000 + -29.8464 1.0000 + -1.2218 1.0000 + 3.8708 1.0000 + 4.6756 1.0000 + 5.4045 1.0000 + 6.1889 1.0000 + 7.4347 1.0000 + 8.5911 0.0000 + 10.0325 0.0000 + 10.3726 0.0000 + 14.9251 0.0000 + 15.8940 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7457 1.0000 + -30.0231 1.0000 + -30.0074 1.0000 + -29.8459 1.0000 + -1.0751 1.0000 + 3.9445 1.0000 + 4.3254 1.0000 + 5.2342 1.0000 + 6.4457 1.0000 + 7.0265 1.0000 + 8.9822 0.0000 + 9.9608 0.0000 + 10.5366 0.0000 + 15.3724 0.0000 + 16.2209 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7456 1.0000 + -30.0320 1.0000 + -30.0066 1.0000 + -29.8451 1.0000 + -0.8371 1.0000 + 3.7696 1.0000 + 4.0713 1.0000 + 5.2102 1.0000 + 6.5202 1.0000 + 6.7576 1.0000 + 9.2256 0.0000 + 9.8208 0.0000 + 10.9794 0.0000 + 14.6872 0.0000 + 16.0115 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7454 1.0000 + -30.0420 1.0000 + -30.0056 1.0000 + -29.8442 1.0000 + -0.5159 1.0000 + 3.1732 1.0000 + 4.2009 1.0000 + 5.2095 1.0000 + 6.2786 1.0000 + 6.8561 1.0000 + 9.0363 0.0000 + 10.1403 0.0000 + 11.3532 0.0000 + 14.1947 0.0000 + 15.7790 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2902 1.0000 + -65.7452 1.0000 + -30.0516 1.0000 + -30.0047 1.0000 + -29.8434 1.0000 + -0.1232 1.0000 + 2.5651 1.0000 + 4.3406 1.0000 + 5.1419 1.0000 + 6.1556 1.0000 + 6.9535 1.0000 + 8.8219 0.0000 + 10.5329 0.0000 + 11.5193 0.0000 + 13.9904 0.0000 + 15.7124 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7451 1.0000 + -30.0592 1.0000 + -30.0040 1.0000 + -29.8427 1.0000 + 0.3259 1.0000 + 1.9702 1.0000 + 4.4841 1.0000 + 4.9917 1.0000 + 6.1733 1.0000 + 7.0010 1.0000 + 8.7133 0.0000 + 10.8431 0.0000 + 11.4585 0.0000 + 13.9770 0.0000 + 15.7545 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7450 1.0000 + -30.0633 1.0000 + -30.0036 1.0000 + -29.8424 1.0000 + 0.8108 1.0000 + 1.4140 1.0000 + 4.6313 1.0000 + 4.8202 1.0000 + 6.2227 1.0000 + 7.0116 1.0000 + 8.6872 0.0000 + 11.0198 0.0000 + 11.3364 0.0000 + 14.1763 0.0000 + 15.9685 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7456 1.0000 + -30.0224 1.0000 + -30.0136 1.0000 + -29.8453 1.0000 + -0.9268 1.0000 + 3.2623 1.0000 + 4.7464 1.0000 + 5.3834 1.0000 + 5.9960 1.0000 + 7.6341 0.9998 + 8.2611 0.0000 + 10.4569 0.0000 + 11.0184 0.0000 + 14.2330 0.0000 + 15.5535 0.0000 + + + -91.8807 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7456 1.0000 + -30.0222 1.0000 + -30.0157 1.0000 + -29.8451 1.0000 + -0.8773 1.0000 + 3.2832 1.0000 + 4.6571 1.0000 + 5.2991 1.0000 + 6.0714 1.0000 + 7.4689 1.0000 + 8.4217 0.0000 + 10.5908 0.0000 + 10.8787 0.0000 + 14.2953 0.0000 + 16.5961 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7455 1.0000 + -30.0218 1.0000 + -30.0216 1.0000 + -29.8446 1.0000 + -0.7317 1.0000 + 3.3310 1.0000 + 4.3786 1.0000 + 5.2110 1.0000 + 6.1851 1.0000 + 7.1526 1.0000 + 8.7615 0.0000 + 10.4513 0.0000 + 10.9940 0.0000 + 14.2699 0.0000 + 15.4567 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7453 1.0000 + -30.0306 1.0000 + -30.0209 1.0000 + -29.8438 1.0000 + -0.4981 1.0000 + 3.3273 1.0000 + 4.0470 1.0000 + 5.1832 1.0000 + 6.2401 1.0000 + 6.8777 1.0000 + 9.1353 0.0000 + 10.0431 0.0000 + 11.3235 0.0000 + 14.1794 0.0000 + 15.5671 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7451 1.0000 + -30.0407 1.0000 + -30.0200 1.0000 + -29.8429 1.0000 + -0.1859 1.0000 + 3.0693 1.0000 + 3.9456 1.0000 + 5.1491 1.0000 + 6.2051 1.0000 + 6.7650 1.0000 + 9.2971 0.0000 + 9.8622 0.0000 + 11.4431 0.0000 + 14.0899 0.0000 + 16.4426 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7449 1.0000 + -30.0503 1.0000 + -30.0191 1.0000 + -29.8421 1.0000 + 0.1920 1.0000 + 2.6071 1.0000 + 4.0528 1.0000 + 5.0472 1.0000 + 6.1874 1.0000 + 6.7639 1.0000 + 9.0797 0.0000 + 10.0903 0.0000 + 11.2974 0.0000 + 14.2166 0.0000 + 15.6033 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7448 1.0000 + -30.0579 1.0000 + -30.0184 1.0000 + -29.8414 1.0000 + 0.6211 1.0000 + 2.0968 1.0000 + 4.2164 1.0000 + 4.8791 1.0000 + 6.2614 1.0000 + 6.7657 1.0000 + 8.8662 0.0000 + 10.3491 0.0000 + 11.0306 0.0000 + 14.4108 0.0000 + 15.3788 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7447 1.0000 + -30.0620 1.0000 + -30.0180 1.0000 + -29.8411 1.0000 + 1.0880 1.0000 + 1.5873 1.0000 + 4.3747 1.0000 + 4.7100 1.0000 + 6.3575 1.0000 + 6.7421 1.0000 + 8.7550 0.0000 + 10.5500 0.0000 + 10.7906 0.0000 + 14.5624 0.0000 + 15.1655 0.0000 + + + -91.8811 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7454 1.0000 + -30.0360 1.0000 + -30.0122 1.0000 + -29.8440 1.0000 + -0.5057 1.0000 + 2.6136 1.0000 + 4.7370 1.0000 + 5.1523 1.0000 + 6.0130 1.0000 + 7.6494 0.9995 + 8.3935 0.0000 + 10.9701 0.0000 + 11.5187 0.0000 + 13.5916 0.0000 + 15.0632 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7453 1.0000 + -30.0358 1.0000 + -30.0143 1.0000 + -29.8438 1.0000 + -0.4569 1.0000 + 2.6313 1.0000 + 4.6641 1.0000 + 5.1321 1.0000 + 6.0295 1.0000 + 7.5280 1.0000 + 8.4922 0.0000 + 11.0888 0.0000 + 11.3355 0.0000 + 13.6775 0.0000 + 15.0131 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7452 1.0000 + -30.0353 1.0000 + -30.0204 1.0000 + -29.8433 1.0000 + -0.3133 1.0000 + 2.6752 1.0000 + 4.4540 1.0000 + 5.1041 1.0000 + 6.0697 1.0000 + 7.2554 1.0000 + 8.7315 0.0000 + 10.8888 0.0000 + 11.3448 0.0000 + 13.6890 0.0000 + 15.8847 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7450 1.0000 + -30.0345 1.0000 + -30.0292 1.0000 + -29.8426 1.0000 + -0.0859 1.0000 + 2.7166 1.0000 + 4.1804 1.0000 + 5.0770 1.0000 + 6.1163 1.0000 + 6.9765 1.0000 + 9.0212 0.0000 + 10.3917 0.0000 + 11.4336 0.0000 + 13.9055 0.0000 + 15.2813 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7448 1.0000 + -30.0394 1.0000 + -30.0336 1.0000 + -29.8417 1.0000 + 0.2123 1.0000 + 2.6878 1.0000 + 3.9634 1.0000 + 5.0147 1.0000 + 6.1592 1.0000 + 6.7920 1.0000 + 9.2662 0.0000 + 9.9512 0.0000 + 11.2415 0.0000 + 14.1593 0.0000 + 15.4866 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7446 1.0000 + -30.0491 1.0000 + -30.0327 1.0000 + -29.8408 1.0000 + 0.5609 1.0000 + 2.5137 1.0000 + 3.9070 1.0000 + 4.8851 1.0000 + 6.2238 1.0000 + 6.7173 1.0000 + 9.2451 0.0000 + 9.8021 0.0000 + 10.8954 0.0000 + 14.4228 0.0000 + 16.8868 0.0000 + + + -91.8798 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7444 1.0000 + -30.0566 1.0000 + -30.0320 1.0000 + -29.8402 1.0000 + 0.9361 1.0000 + 2.2131 1.0000 + 3.9968 1.0000 + 4.7012 1.0000 + 6.3401 1.0000 + 6.6831 1.0000 + 8.9915 0.0000 + 9.9352 0.0000 + 10.5511 0.0000 + 14.6648 0.0000 + 16.6490 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7444 1.0000 + -30.0607 1.0000 + -30.0317 1.0000 + -29.8398 1.0000 + 1.2854 1.0000 + 1.8883 1.0000 + 4.1342 1.0000 + 4.5244 1.0000 + 6.4820 1.0000 + 6.6213 1.0000 + 8.8197 0.0000 + 10.0947 0.0000 + 10.2879 0.0000 + 14.4258 0.0000 + 16.1813 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7451 1.0000 + -30.0466 1.0000 + -30.0111 1.0000 + -29.8430 1.0000 + -0.0307 1.0000 + 1.9718 1.0000 + 4.7340 1.0000 + 4.9824 1.0000 + 5.9781 1.0000 + 7.6817 0.9978 + 8.7276 0.0000 + 11.3873 0.0000 + 11.9478 0.0000 + 12.7854 0.0000 + 23.9436 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7451 1.0000 + -30.0464 1.0000 + -30.0132 1.0000 + -29.8428 1.0000 + 0.0185 1.0000 + 1.9888 1.0000 + 4.6859 1.0000 + 4.9653 1.0000 + 5.9970 1.0000 + 7.5729 1.0000 + 8.7751 0.0000 + 11.4491 0.0000 + 11.7029 0.0000 + 13.0190 0.0000 + 14.7782 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7450 1.0000 + -30.0459 1.0000 + -30.0193 1.0000 + -29.8423 1.0000 + 0.1624 1.0000 + 2.0359 1.0000 + 4.5378 1.0000 + 4.9360 1.0000 + 6.0484 1.0000 + 7.3135 1.0000 + 8.8969 0.0000 + 11.2099 0.0000 + 11.4930 0.0000 + 13.3525 0.0000 + 14.7482 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7448 1.0000 + -30.0451 1.0000 + -30.0282 1.0000 + -29.8416 1.0000 + 0.3853 1.0000 + 2.1069 1.0000 + 4.3253 1.0000 + 4.8953 1.0000 + 6.1228 1.0000 + 7.0290 1.0000 + 9.0504 0.0000 + 10.6735 0.0000 + 11.2840 0.0000 + 13.8208 0.0000 + 15.4677 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7446 1.0000 + -30.0442 1.0000 + -30.0384 1.0000 + -29.8407 1.0000 + 0.6619 1.0000 + 2.1867 1.0000 + 4.1117 1.0000 + 4.8111 1.0000 + 6.2095 1.0000 + 6.8181 1.0000 + 9.1919 0.0000 + 10.1602 0.0000 + 10.8993 0.0000 + 15.1026 0.0000 + 15.8962 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7444 1.0000 + -30.0481 1.0000 + -30.0434 1.0000 + -29.8399 1.0000 + 0.9577 1.0000 + 2.2499 1.0000 + 3.9565 1.0000 + 4.6608 1.0000 + 6.3079 1.0000 + 6.7191 1.0000 + 9.2475 0.0000 + 9.7542 0.0000 + 10.4853 0.0000 + 14.4236 0.0000 + 15.9769 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2900 1.0000 + -65.7442 1.0000 + -30.0556 1.0000 + -30.0428 1.0000 + -29.8392 1.0000 + 1.2239 1.0000 + 2.2689 1.0000 + 3.9080 1.0000 + 4.4598 1.0000 + 6.4254 1.0000 + 6.6915 1.0000 + 9.0705 0.0000 + 9.6405 0.0000 + 10.1444 0.0000 + 14.3430 0.0000 + 17.2812 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7442 1.0000 + -30.0598 1.0000 + -30.0424 1.0000 + -29.8388 1.0000 + 1.3946 1.0000 + 2.2508 1.0000 + 3.9615 1.0000 + 4.2707 1.0000 + 6.5390 1.0000 + 6.6669 1.0000 + 8.8711 0.0000 + 9.6833 0.0000 + 9.9342 0.0000 + 14.2821 0.0000 + 16.8667 0.0000 + + + -91.8809 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7450 1.0000 + -30.0524 1.0000 + -30.0105 1.0000 + -29.8425 1.0000 + 0.4229 1.0000 + 1.4332 1.0000 + 4.7335 1.0000 + 4.8932 1.0000 + 5.9406 1.0000 + 7.7046 0.9941 + 9.0485 0.0000 + 11.6113 0.0000 + 12.2365 0.0000 + 12.4166 0.0000 + 14.4069 0.0000 + + + -91.8809 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7450 1.0000 + -30.0522 1.0000 + -30.0126 1.0000 + -29.8423 1.0000 + 0.4791 1.0000 + 1.4433 1.0000 + 4.7207 1.0000 + 4.8490 1.0000 + 5.9697 1.0000 + 7.5985 1.0000 + 9.0623 0.0000 + 11.5449 0.0000 + 11.9351 0.0000 + 12.6346 0.0000 + 14.4028 0.0000 + + + -91.8811 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7449 1.0000 + -30.0517 1.0000 + -30.0187 1.0000 + -29.8418 1.0000 + 0.6406 1.0000 + 1.4754 1.0000 + 4.6393 1.0000 + 4.7744 1.0000 + 6.0463 1.0000 + 7.3409 1.0000 + 9.0974 0.0000 + 11.2685 0.0000 + 11.5426 0.0000 + 13.2087 0.0000 + 14.4572 0.0000 + + + -91.8808 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7447 1.0000 + -30.0509 1.0000 + -30.0276 1.0000 + -29.8411 1.0000 + 0.8849 1.0000 + 1.5379 1.0000 + 4.4679 1.0000 + 4.7154 1.0000 + 6.1524 1.0000 + 7.0495 1.0000 + 9.1423 0.0000 + 10.8507 0.0000 + 11.0603 0.0000 + 14.0298 0.0000 + 14.7766 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7445 1.0000 + -30.0501 1.0000 + -30.0378 1.0000 + -29.8402 1.0000 + 1.1502 1.0000 + 1.6634 1.0000 + 4.2778 1.0000 + 4.6118 1.0000 + 6.2733 1.0000 + 6.8222 1.0000 + 9.1840 0.0000 + 10.3474 0.0000 + 10.5871 0.0000 + 14.4557 0.0000 + 15.2545 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7443 1.0000 + -30.0493 1.0000 + -30.0475 1.0000 + -29.8393 1.0000 + 1.3315 1.0000 + 1.9197 1.0000 + 4.1103 1.0000 + 4.4350 1.0000 + 6.3954 1.0000 + 6.7111 1.0000 + 9.1975 0.0000 + 9.8332 0.0000 + 10.1952 0.0000 + 14.3744 0.0000 + 15.8908 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7441 1.0000 + -30.0551 1.0000 + -30.0487 1.0000 + -29.8387 1.0000 + 1.4141 1.0000 + 2.2587 1.0000 + 3.9834 1.0000 + 4.2083 1.0000 + 6.5037 1.0000 + 6.7025 1.0000 + 9.0928 0.0000 + 9.5006 0.0000 + 9.9082 0.0000 + 14.2642 0.0000 + 16.9205 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7441 1.0000 + -30.0593 1.0000 + -30.0483 1.0000 + -29.8383 1.0000 + 1.4457 1.0000 + 2.5199 1.0000 + 3.9004 1.0000 + 4.0331 1.0000 + 6.5737 1.0000 + 6.7304 1.0000 + 8.8995 0.0000 + 9.4301 0.0000 + 9.7525 0.0000 + 14.2685 0.0000 + 34.2814 0.0000 + + + -91.8795 1.0000 + -91.4244 1.0000 + -91.2894 1.0000 + -65.7449 1.0000 + -30.0129 1.0000 + -29.9797 1.0000 + -29.8895 1.0000 + -1.4187 1.0000 + 4.4601 1.0000 + 4.6731 1.0000 + 5.6743 1.0000 + 5.9932 1.0000 + 8.1576 0.0001 + 8.3102 0.0000 + 9.3878 0.0000 + 9.5739 0.0000 + 14.6169 0.0000 + 15.2950 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2900 1.0000 + -65.7449 1.0000 + -30.0151 1.0000 + -29.9795 1.0000 + -29.8894 1.0000 + -1.3679 1.0000 + 4.3898 1.0000 + 4.6848 1.0000 + 5.5775 1.0000 + 5.9882 1.0000 + 8.0710 0.0039 + 8.3358 0.0000 + 9.2963 0.0000 + 9.8808 0.0000 + 14.7640 0.0000 + 15.2851 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7447 1.0000 + -30.0211 1.0000 + -29.9789 1.0000 + -29.8889 1.0000 + -1.2205 1.0000 + 4.1260 1.0000 + 4.7341 1.0000 + 5.4333 1.0000 + 5.9646 1.0000 + 7.6673 0.9988 + 8.7032 0.0000 + 9.1336 0.0000 + 10.4886 0.0000 + 14.8840 0.0000 + 16.1247 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2897 1.0000 + -65.7446 1.0000 + -30.0299 1.0000 + -29.9782 1.0000 + -29.8882 1.0000 + -0.9808 1.0000 + 3.6652 1.0000 + 4.7987 1.0000 + 5.3993 1.0000 + 5.9001 1.0000 + 7.3364 1.0000 + 8.6839 0.0000 + 9.4310 0.0000 + 11.1616 0.0000 + 14.7250 0.0000 + 16.1963 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2899 1.0000 + -65.7444 1.0000 + -30.0400 1.0000 + -29.9771 1.0000 + -29.8874 1.0000 + -0.6587 1.0000 + 3.0989 1.0000 + 4.8498 1.0000 + 5.4590 1.0000 + 5.7806 1.0000 + 7.1397 1.0000 + 8.5209 0.0000 + 9.9588 0.0000 + 11.8236 0.0000 + 14.2014 0.0000 + 16.2147 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7442 1.0000 + -30.0497 1.0000 + -29.9762 1.0000 + -29.8866 1.0000 + -0.2656 1.0000 + 2.4987 1.0000 + 4.8835 1.0000 + 5.5379 1.0000 + 5.6319 1.0000 + 7.0597 1.0000 + 8.4828 0.0000 + 10.4687 0.0000 + 12.4416 0.0000 + 13.3290 0.0000 + 15.1337 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7441 1.0000 + -30.0573 1.0000 + -29.9754 1.0000 + -29.8860 1.0000 + 0.1849 1.0000 + 1.9035 1.0000 + 4.9056 1.0000 + 5.5030 1.0000 + 5.5861 1.0000 + 7.0432 1.0000 + 8.5758 0.0000 + 10.9253 0.0000 + 12.5527 0.0000 + 13.0088 0.0000 + 14.8073 0.0000 + + + -91.8812 1.0000 + -91.4261 1.0000 + -91.2912 1.0000 + -65.7441 1.0000 + -30.0615 1.0000 + -29.9750 1.0000 + -29.8857 1.0000 + 0.6491 1.0000 + 1.3651 1.0000 + 4.9176 1.0000 + 5.4303 1.0000 + 5.6017 1.0000 + 7.0458 1.0000 + 8.6931 0.0000 + 11.3271 0.0000 + 11.9366 0.0000 + 13.5779 0.0000 + 14.3517 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7449 1.0000 + -30.0127 1.0000 + -29.9828 1.0000 + -29.8893 1.0000 + -1.3666 1.0000 + 4.4223 1.0000 + 4.6934 1.0000 + 5.6697 1.0000 + 5.8285 1.0000 + 8.0271 0.0206 + 8.3692 0.0000 + 9.4509 0.0000 + 9.7370 0.0000 + 14.9651 0.0000 + 15.3421 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2901 1.0000 + -65.7448 1.0000 + -30.0148 1.0000 + -29.9826 1.0000 + -29.8892 1.0000 + -1.3163 1.0000 + 4.3772 1.0000 + 4.7020 1.0000 + 5.4537 1.0000 + 5.9491 1.0000 + 7.7861 0.9142 + 8.5756 0.0000 + 9.5058 0.0000 + 9.8346 0.0000 + 15.0595 0.0000 + 16.2568 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2896 1.0000 + -65.7447 1.0000 + -30.0208 1.0000 + -29.9819 1.0000 + -29.8886 1.0000 + -1.1678 1.0000 + 4.1541 1.0000 + 4.7483 1.0000 + 5.2311 1.0000 + 6.0125 1.0000 + 7.4085 1.0000 + 8.9608 0.0000 + 9.3188 0.0000 + 10.3531 0.0000 + 15.1264 0.0000 + 15.6355 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7445 1.0000 + -30.0296 1.0000 + -29.9811 1.0000 + -29.8879 1.0000 + -0.9290 1.0000 + 3.7034 1.0000 + 4.8102 1.0000 + 5.1970 1.0000 + 5.9664 1.0000 + 7.1173 1.0000 + 8.9157 0.0000 + 9.5830 0.0000 + 14.0696 0.0000 + 15.5381 0.0000 + 16.0450 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7443 1.0000 + -30.0398 1.0000 + -29.9802 1.0000 + -29.8871 1.0000 + -0.6068 1.0000 + 3.1346 1.0000 + 4.8473 1.0000 + 5.3098 1.0000 + 5.8138 1.0000 + 6.9753 1.0000 + 8.6937 0.0000 + 10.0930 0.0000 + 11.5987 0.0000 + 14.2851 0.0000 + 15.4916 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7442 1.0000 + -30.0495 1.0000 + -29.9792 1.0000 + -29.8864 1.0000 + -0.2132 1.0000 + 2.5322 1.0000 + 4.8734 1.0000 + 5.4530 1.0000 + 5.6251 1.0000 + 6.9349 1.0000 + 8.5950 0.0000 + 10.5671 0.0000 + 12.1071 0.0000 + 13.6101 0.0000 + 15.2056 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7441 1.0000 + -30.0571 1.0000 + -29.9785 1.0000 + -29.8858 1.0000 + 0.2373 1.0000 + 1.9361 1.0000 + 4.9016 1.0000 + 5.4135 1.0000 + 5.6118 1.0000 + 6.9300 1.0000 + 8.6308 0.0000 + 10.9545 0.0000 + 12.2321 0.0000 + 13.3411 0.0000 + 14.6028 0.0000 + + + -91.8813 1.0000 + -91.4262 1.0000 + -91.2912 1.0000 + -65.7440 1.0000 + -30.0612 1.0000 + -29.9781 1.0000 + -29.8855 1.0000 + 0.7080 1.0000 + 1.3914 1.0000 + 4.9262 1.0000 + 5.3148 1.0000 + 5.6677 1.0000 + 6.9317 1.0000 + 8.7105 0.0000 + 11.2069 0.0000 + 11.9941 0.0000 + 13.6247 0.0000 + 14.2566 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7447 1.0000 + -30.0118 1.0000 + -29.9913 1.0000 + -29.8886 1.0000 + -1.2087 1.0000 + 4.2480 1.0000 + 4.7537 1.0000 + 5.5479 1.0000 + 5.6464 1.0000 + 7.5854 1.0000 + 8.8369 0.0000 + 9.1686 0.0000 + 10.3783 0.0000 + 15.1703 0.0000 + 16.5372 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7446 1.0000 + -30.0140 1.0000 + -29.9911 1.0000 + -29.8884 1.0000 + -1.1599 1.0000 + 4.2600 1.0000 + 4.7624 1.0000 + 5.1876 1.0000 + 5.8950 1.0000 + 7.3708 1.0000 + 9.0334 0.0000 + 9.3519 0.0000 + 10.2679 0.0000 + 15.3111 0.0000 + 15.6587 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7445 1.0000 + -30.0200 1.0000 + -29.9906 1.0000 + -29.8880 1.0000 + -1.0132 1.0000 + 4.2030 1.0000 + 4.7943 1.0000 + 4.8011 1.0000 + 6.0641 1.0000 + 6.9806 1.0000 + 9.4178 0.0000 + 9.6455 0.0000 + 10.1655 0.0000 + 15.5541 0.0000 + 16.0175 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7444 1.0000 + -30.0289 1.0000 + -29.9897 1.0000 + -29.8872 1.0000 + -0.7738 1.0000 + 3.8102 1.0000 + 4.7014 1.0000 + 4.8920 1.0000 + 6.0747 1.0000 + 6.6867 1.0000 + 9.3773 0.0000 + 9.9364 0.0000 + 10.5923 0.0000 + 15.0458 0.0000 + 15.9243 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7441 1.0000 + -30.0390 1.0000 + -29.9887 1.0000 + -29.8864 1.0000 + -0.4528 1.0000 + 3.2344 1.0000 + 4.7338 1.0000 + 5.0752 1.0000 + 5.8733 1.0000 + 6.6224 1.0000 + 9.0753 0.0000 + 10.3673 0.0000 + 11.1413 0.0000 + 14.3495 0.0000 + 16.6028 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7440 1.0000 + -30.0487 1.0000 + -29.9878 1.0000 + -29.8857 1.0000 + -0.0611 1.0000 + 2.6291 1.0000 + 4.7819 1.0000 + 5.2693 1.0000 + 5.6458 1.0000 + 6.6483 1.0000 + 8.8604 0.0000 + 10.6806 0.0000 + 11.6275 0.0000 + 13.8130 0.0000 + 15.2714 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7438 1.0000 + -30.0563 1.0000 + -29.9871 1.0000 + -29.8850 1.0000 + 0.3892 1.0000 + 2.0335 1.0000 + 4.8463 1.0000 + 5.2455 1.0000 + 5.6563 1.0000 + 6.6606 1.0000 + 8.7680 0.0000 + 10.8072 0.0000 + 11.9897 0.0000 + 13.5317 0.0000 + 14.8625 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7438 1.0000 + -30.0604 1.0000 + -29.9867 1.0000 + -29.8847 1.0000 + 0.8747 1.0000 + 1.4744 1.0000 + 4.9295 1.0000 + 5.1004 1.0000 + 5.7671 1.0000 + 6.6527 1.0000 + 8.7570 0.0000 + 10.8011 0.0000 + 12.1859 0.0000 + 13.5593 0.0000 + 14.6572 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7444 1.0000 + -30.0105 1.0000 + -30.0038 1.0000 + -29.8876 1.0000 + -0.9548 1.0000 + 3.8567 1.0000 + 4.8138 1.0000 + 5.4323 1.0000 + 5.5813 1.0000 + 7.2363 1.0000 + 8.8397 0.0000 + 9.4096 0.0000 + 11.0606 0.0000 + 14.9041 0.0000 + 15.9154 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7444 1.0000 + -30.0127 1.0000 + -30.0037 1.0000 + -29.8874 1.0000 + -0.9054 1.0000 + 3.8932 1.0000 + 4.8113 1.0000 + 5.0970 1.0000 + 5.8095 1.0000 + 7.0569 1.0000 + 9.0275 0.0000 + 9.5614 0.0000 + 10.9012 0.0000 + 15.3640 0.0000 + 16.2477 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7443 1.0000 + -30.0188 1.0000 + -30.0031 1.0000 + -29.8869 1.0000 + -0.7600 1.0000 + 3.9970 1.0000 + 4.5299 1.0000 + 4.9001 1.0000 + 6.0104 1.0000 + 6.6764 1.0000 + 9.4299 0.0000 + 9.9366 0.0000 + 10.5322 0.0000 + 15.0414 0.0000 + 15.7405 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7441 1.0000 + -30.0277 1.0000 + -30.0023 1.0000 + -29.8862 1.0000 + -0.5239 1.0000 + 3.9586 1.0000 + 4.1573 1.0000 + 4.9630 1.0000 + 6.1585 1.0000 + 6.2704 1.0000 + 9.7369 0.0000 + 10.1887 0.0000 + 10.4392 0.0000 + 14.6116 0.0000 + 15.8892 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7439 1.0000 + -30.0379 1.0000 + -30.0014 1.0000 + -29.8854 1.0000 + -0.2066 1.0000 + 3.3648 1.0000 + 4.3281 1.0000 + 5.0858 1.0000 + 5.8933 1.0000 + 6.2876 1.0000 + 9.4924 0.0000 + 10.3513 0.0000 + 10.9098 0.0000 + 14.1968 0.0000 + 15.6095 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7437 1.0000 + -30.0476 1.0000 + -30.0005 1.0000 + -29.8847 1.0000 + 0.1788 1.0000 + 2.7700 1.0000 + 4.4886 1.0000 + 5.2214 1.0000 + 5.6433 1.0000 + 6.3659 1.0000 + 9.1667 0.0000 + 10.4414 0.0000 + 11.3646 0.0000 + 13.8896 0.0000 + 16.6031 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7436 1.0000 + -30.0552 1.0000 + -29.9998 1.0000 + -29.8840 1.0000 + 0.6216 1.0000 + 2.1905 1.0000 + 4.6276 1.0000 + 5.1554 1.0000 + 5.7004 1.0000 + 6.3833 1.0000 + 8.9358 0.0000 + 10.3679 0.0000 + 11.7330 0.0000 + 13.7871 0.0000 + 15.4993 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2905 1.0000 + -65.7435 1.0000 + -30.0593 1.0000 + -29.9994 1.0000 + -29.8837 1.0000 + 1.1087 1.0000 + 1.6347 1.0000 + 4.7486 1.0000 + 4.9984 1.0000 + 5.8749 1.0000 + 6.3442 1.0000 + 8.8213 0.0000 + 10.2716 0.0000 + 11.9440 0.0000 + 13.8193 0.0000 + 14.8856 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2901 1.0000 + -65.7441 1.0000 + -30.0183 1.0000 + -30.0091 1.0000 + -29.8863 1.0000 + -0.6139 1.0000 + 3.3047 1.0000 + 4.8442 1.0000 + 5.4603 1.0000 + 5.4868 1.0000 + 7.0343 1.0000 + 8.6590 0.0000 + 9.9415 0.0000 + 11.7134 0.0000 + 14.2240 0.0000 + 15.8795 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7441 1.0000 + -30.0181 1.0000 + -30.0113 1.0000 + -29.8862 1.0000 + -0.5649 1.0000 + 3.3377 1.0000 + 4.8084 1.0000 + 5.2074 1.0000 + 5.6705 1.0000 + 6.9017 1.0000 + 8.8064 0.0000 + 10.0721 0.0000 + 11.5068 0.0000 + 14.3145 0.0000 + 15.6369 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7440 1.0000 + -30.0176 1.0000 + -30.0174 1.0000 + -29.8857 1.0000 + -0.4208 1.0000 + 3.4287 1.0000 + 4.5635 1.0000 + 5.0640 1.0000 + 5.7943 1.0000 + 6.6030 1.0000 + 9.1559 0.0000 + 10.3672 0.0000 + 11.0498 0.0000 + 14.3100 0.0000 + 15.6899 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7438 1.0000 + -30.0263 1.0000 + -30.0168 1.0000 + -29.8850 1.0000 + -0.1891 1.0000 + 3.5310 1.0000 + 4.1526 1.0000 + 5.0962 1.0000 + 5.8378 1.0000 + 6.3101 1.0000 + 9.5515 0.0000 + 10.4117 0.0000 + 10.7785 0.0000 + 14.0757 0.0000 + 16.4690 0.0000 + + + -91.8807 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7436 1.0000 + -30.0365 1.0000 + -30.0159 1.0000 + -29.8842 1.0000 + 0.1197 1.0000 + 3.3712 1.0000 + 3.9854 1.0000 + 5.1910 1.0000 + 5.7030 1.0000 + 6.2124 1.0000 + 9.7686 0.0000 + 10.0355 0.0000 + 10.9145 0.0000 + 13.9867 0.0000 + 15.9162 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7434 1.0000 + -30.0463 1.0000 + -30.0150 1.0000 + -29.8835 1.0000 + 0.4894 1.0000 + 2.9018 1.0000 + 4.1317 1.0000 + 5.2339 1.0000 + 5.5776 1.0000 + 6.2422 1.0000 + 9.4373 0.0000 + 9.9987 0.0000 + 11.0336 0.0000 + 14.2044 0.0000 + 15.5874 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7433 1.0000 + -30.0539 1.0000 + -30.0143 1.0000 + -29.8829 1.0000 + 0.9061 1.0000 + 2.3921 1.0000 + 4.3127 1.0000 + 5.0699 1.0000 + 5.7376 1.0000 + 6.2494 1.0000 + 9.0950 0.0000 + 9.8623 0.0000 + 11.1873 0.0000 + 15.0131 0.0000 + 17.2295 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7431 1.0000 + -30.0580 1.0000 + -30.0139 1.0000 + -29.8825 1.0000 + 1.3392 1.0000 + 1.9119 1.0000 + 4.4535 1.0000 + 4.9101 1.0000 + 5.9724 1.0000 + 6.1724 1.0000 + 8.8920 0.0000 + 9.7378 0.0000 + 11.2934 0.0000 + 14.5094 0.0000 + 14.9006 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7438 1.0000 + -30.0320 1.0000 + -30.0077 1.0000 + -29.8852 1.0000 + -0.1990 1.0000 + 2.6933 1.0000 + 4.8622 1.0000 + 5.3088 1.0000 + 5.5698 1.0000 + 6.9576 1.0000 + 8.6840 0.0000 + 10.4231 0.0000 + 12.3103 0.0000 + 13.3388 0.0000 + 15.0063 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7438 1.0000 + -30.0318 1.0000 + -30.0099 1.0000 + -29.8850 1.0000 + -0.1505 1.0000 + 2.7229 1.0000 + 4.8168 1.0000 + 5.2487 1.0000 + 5.5888 1.0000 + 6.8570 1.0000 + 8.7830 0.0000 + 10.5162 0.0000 + 12.0017 0.0000 + 13.5605 0.0000 + 14.9311 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2902 1.0000 + -65.7436 1.0000 + -30.0312 1.0000 + -30.0160 1.0000 + -29.8846 1.0000 + -0.0083 1.0000 + 2.8063 1.0000 + 4.6280 1.0000 + 5.1868 1.0000 + 5.6156 1.0000 + 6.6210 1.0000 + 9.0297 0.0000 + 10.6548 0.0000 + 11.4979 0.0000 + 13.6805 0.0000 + 16.1680 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7435 1.0000 + -30.0305 1.0000 + -30.0249 1.0000 + -29.8838 1.0000 + 0.2176 1.0000 + 2.9196 1.0000 + 4.3150 1.0000 + 5.2001 1.0000 + 5.6107 1.0000 + 6.3844 1.0000 + 9.3223 0.0000 + 10.4868 0.0000 + 11.1488 0.0000 + 13.7394 0.0000 + 15.2525 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7433 1.0000 + -30.0353 1.0000 + -30.0296 1.0000 + -29.8831 1.0000 + 0.5095 1.0000 + 2.9934 1.0000 + 4.0235 1.0000 + 5.2081 1.0000 + 5.5733 1.0000 + 6.2653 1.0000 + 9.5540 0.0000 + 10.0537 0.0000 + 10.8460 0.0000 + 14.0317 0.0000 + 16.9865 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7431 1.0000 + -30.0450 1.0000 + -30.0288 1.0000 + -29.8823 1.0000 + 0.8493 1.0000 + 2.8878 1.0000 + 3.9281 1.0000 + 5.0740 1.0000 + 5.6506 1.0000 + 6.2584 1.0000 + 9.5863 0.0000 + 9.6119 0.0000 + 10.5896 0.0000 + 14.5477 0.0000 + 16.1231 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7430 1.0000 + -30.0527 1.0000 + -30.0281 1.0000 + -29.8818 1.0000 + 1.2065 1.0000 + 2.5979 1.0000 + 4.0342 1.0000 + 4.8601 1.0000 + 5.8427 1.0000 + 6.2709 1.0000 + 9.2185 0.0000 + 9.4083 0.0000 + 10.5443 0.0000 + 14.9799 0.0000 + 16.9946 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7429 1.0000 + -30.0568 1.0000 + -30.0277 1.0000 + -29.8814 1.0000 + 1.5149 1.0000 + 2.3015 1.0000 + 4.1783 1.0000 + 4.6820 1.0000 + 6.0499 1.0000 + 6.2287 1.0000 + 8.9581 0.0000 + 9.2598 0.0000 + 10.5742 0.0000 + 14.8199 0.0000 + 15.4551 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2912 1.0000 + -65.7436 1.0000 + -30.0427 1.0000 + -30.0068 1.0000 + -29.8843 1.0000 + 0.2722 1.0000 + 2.0800 1.0000 + 4.8773 1.0000 + 5.1767 1.0000 + 5.6077 1.0000 + 6.9482 1.0000 + 8.9102 0.0000 + 10.8202 0.0000 + 12.5032 0.0000 + 12.8741 0.0000 + 14.6540 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7436 1.0000 + -30.0425 1.0000 + -30.0088 1.0000 + -29.8842 1.0000 + 0.3219 1.0000 + 2.1086 1.0000 + 4.8435 1.0000 + 5.1373 1.0000 + 5.6282 1.0000 + 6.8548 1.0000 + 8.9591 0.0000 + 10.8385 0.0000 + 12.1616 0.0000 + 13.3887 0.0000 + 14.7173 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7434 1.0000 + -30.0420 1.0000 + -30.0149 1.0000 + -29.8837 1.0000 + 0.4637 1.0000 + 2.1902 1.0000 + 4.6998 1.0000 + 5.0929 1.0000 + 5.6713 1.0000 + 6.6315 1.0000 + 9.0845 0.0000 + 10.7099 0.0000 + 11.8347 0.0000 + 13.3260 0.0000 + 14.8037 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2904 1.0000 + -65.7433 1.0000 + -30.0412 1.0000 + -30.0239 1.0000 + -29.8830 1.0000 + 0.6817 1.0000 + 2.3190 1.0000 + 4.4554 1.0000 + 5.0740 1.0000 + 5.7125 1.0000 + 6.4023 1.0000 + 9.2380 0.0000 + 10.3235 0.0000 + 11.4656 0.0000 + 13.6342 0.0000 + 15.3546 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7431 1.0000 + -30.0404 1.0000 + -30.0342 1.0000 + -29.8822 1.0000 + 0.9487 1.0000 + 2.4808 1.0000 + 4.1899 1.0000 + 5.0008 1.0000 + 5.7567 1.0000 + 6.2838 1.0000 + 9.3589 0.0000 + 9.8771 0.0000 + 10.8863 0.0000 + 14.2986 0.0000 + 15.7162 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7429 1.0000 + -30.0441 1.0000 + -30.0396 1.0000 + -29.8814 1.0000 + 1.2299 1.0000 + 2.6376 1.0000 + 3.9806 1.0000 + 4.8199 1.0000 + 5.8594 1.0000 + 6.2868 1.0000 + 9.3046 0.0000 + 9.5580 0.0000 + 10.2980 0.0000 + 14.7255 0.0000 + 15.1041 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7427 1.0000 + -30.0517 1.0000 + -30.0390 1.0000 + -29.8808 1.0000 + 1.4810 1.0000 + 2.7241 1.0000 + 3.9050 1.0000 + 4.5774 1.0000 + 6.0293 1.0000 + 6.3312 1.0000 + 9.0511 0.0000 + 9.2924 0.0000 + 9.9968 0.0000 + 14.8542 0.0000 + 17.0014 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7427 1.0000 + -30.0559 1.0000 + -30.0387 1.0000 + -29.8806 1.0000 + 1.6404 1.0000 + 2.7265 1.0000 + 3.9706 1.0000 + 4.3593 1.0000 + 6.1919 1.0000 + 6.3459 1.0000 + 8.8868 0.0000 + 9.0124 0.0000 + 9.9580 0.0000 + 16.6992 0.0000 + 18.2794 0.0000 + + + -91.8816 1.0000 + -91.4266 1.0000 + -91.2915 1.0000 + -65.7435 1.0000 + -30.0485 1.0000 + -30.0062 1.0000 + -29.8839 1.0000 + 0.7508 1.0000 + 1.5290 1.0000 + 4.8872 1.0000 + 5.1019 1.0000 + 5.6111 1.0000 + 6.9563 1.0000 + 9.1684 0.0000 + 11.0963 0.0000 + 11.8845 0.0000 + 13.4542 0.0000 + 13.9816 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7434 1.0000 + -30.0483 1.0000 + -30.0082 1.0000 + -29.8836 1.0000 + 0.8074 1.0000 + 1.5503 1.0000 + 4.8837 1.0000 + 5.0282 1.0000 + 5.6611 1.0000 + 6.8614 1.0000 + 9.1821 0.0000 + 10.9712 0.0000 + 11.9443 0.0000 + 13.3175 0.0000 + 14.0111 0.0000 + + + -91.8809 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7433 1.0000 + -30.0478 1.0000 + -30.0143 1.0000 + -29.8832 1.0000 + 0.9654 1.0000 + 1.6153 1.0000 + 4.7866 1.0000 + 4.9431 1.0000 + 5.7637 1.0000 + 6.6281 1.0000 + 9.2181 0.0000 + 10.6031 0.0000 + 12.0239 0.0000 + 13.2393 0.0000 + 14.3926 0.0000 + + + -91.8809 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7432 1.0000 + -30.0471 1.0000 + -30.0234 1.0000 + -29.8825 1.0000 + 1.1904 1.0000 + 1.7430 1.0000 + 4.5650 1.0000 + 4.9174 1.0000 + 5.8769 1.0000 + 6.3717 1.0000 + 9.2652 0.0000 + 10.1220 0.0000 + 11.6464 0.0000 + 13.6165 0.0000 + 14.7417 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7430 1.0000 + -30.0463 1.0000 + -30.0337 1.0000 + -29.8817 1.0000 + 1.4108 1.0000 + 1.9753 1.0000 + 4.3324 1.0000 + 4.8220 1.0000 + 5.9828 1.0000 + 6.2221 1.0000 + 9.3061 0.0000 + 9.6403 0.0000 + 10.9581 0.0000 + 14.3215 0.0000 + 14.8365 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7428 1.0000 + -30.0455 1.0000 + -30.0435 1.0000 + -29.8809 1.0000 + 1.5658 1.0000 + 2.3279 1.0000 + 4.1275 1.0000 + 4.6077 1.0000 + 6.0847 1.0000 + 6.2409 1.0000 + 9.1753 0.0000 + 9.3638 0.0000 + 10.2421 0.0000 + 14.7264 0.0000 + 15.1864 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7426 1.0000 + -30.0512 1.0000 + -30.0449 1.0000 + -29.8803 1.0000 + 1.6627 1.0000 + 2.7320 1.0000 + 3.9747 1.0000 + 4.3124 1.0000 + 6.2217 1.0000 + 6.3335 1.0000 + 8.8577 0.0000 + 9.2736 0.0000 + 9.7144 0.0000 + 14.6891 0.0000 + 16.0466 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7426 1.0000 + -30.0554 1.0000 + -30.0446 1.0000 + -29.8800 1.0000 + 1.7108 1.0000 + 3.0627 1.0000 + 3.8918 1.0000 + 4.0425 1.0000 + 6.3299 1.0000 + 6.4187 1.0000 + 8.6764 0.0000 + 9.0361 0.0000 + 9.5744 0.0000 + 15.1073 0.0000 + 16.7779 0.0000 + + + -91.8791 1.0000 + -91.4239 1.0000 + -91.2890 1.0000 + -65.7431 1.0000 + -30.0077 1.0000 + -29.9745 1.0000 + -29.9360 1.0000 + -0.9922 1.0000 + 4.1697 1.0000 + 4.4791 1.0000 + 5.2762 1.0000 + 5.5520 1.0000 + 8.4050 0.0000 + 8.4412 0.0000 + 9.7376 0.0000 + 9.9653 0.0000 + 14.6114 0.0000 + 15.5437 0.0000 + + + -91.8795 1.0000 + -91.4244 1.0000 + -91.2894 1.0000 + -65.7431 1.0000 + -30.0099 1.0000 + -29.9743 1.0000 + -29.9359 1.0000 + -0.9433 1.0000 + 4.1493 1.0000 + 4.4316 1.0000 + 5.2543 1.0000 + 5.5665 1.0000 + 8.1472 0.0001 + 8.5627 0.0000 + 9.6381 0.0000 + 10.2814 0.0000 + 14.5670 0.0000 + 16.3874 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7431 1.0000 + -30.0160 1.0000 + -29.9738 1.0000 + -29.9355 1.0000 + -0.7997 1.0000 + 3.9591 1.0000 + 4.4276 1.0000 + 5.2220 1.0000 + 5.6067 1.0000 + 7.6690 0.9988 + 8.8770 0.0000 + 9.3920 0.0000 + 10.9261 0.0000 + 14.5052 0.0000 + 15.8789 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7429 1.0000 + -30.0250 1.0000 + -29.9729 1.0000 + -29.9348 1.0000 + -0.5652 1.0000 + 3.5680 1.0000 + 4.5355 1.0000 + 5.2114 1.0000 + 5.6623 1.0000 + 7.2067 1.0000 + 9.1059 0.0000 + 9.2908 0.0000 + 11.6363 0.0000 + 14.1697 0.0000 + 15.7589 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7427 1.0000 + -30.0353 1.0000 + -29.9719 1.0000 + -29.9341 1.0000 + -0.2521 1.0000 + 3.0868 1.0000 + 4.6814 1.0000 + 5.2185 1.0000 + 5.7142 1.0000 + 6.8332 1.0000 + 8.8793 0.0000 + 9.7265 0.0000 + 12.2929 0.0000 + 13.5685 0.0000 + 16.1058 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7425 1.0000 + -30.0450 1.0000 + -29.9710 1.0000 + -29.9334 1.0000 + 0.1257 1.0000 + 2.5716 1.0000 + 4.8261 1.0000 + 5.2273 1.0000 + 5.7364 1.0000 + 6.5820 1.0000 + 8.7708 0.0000 + 10.1434 0.0000 + 12.7927 0.0000 + 12.8308 0.0000 + 15.4481 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7424 1.0000 + -30.0526 1.0000 + -29.9703 1.0000 + -29.9329 1.0000 + 0.5574 1.0000 + 2.0489 1.0000 + 4.9438 1.0000 + 5.2220 1.0000 + 5.7179 1.0000 + 6.4574 1.0000 + 8.7837 0.0000 + 10.5245 0.0000 + 12.1279 0.0000 + 13.0743 0.0000 + 15.2254 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7423 1.0000 + -30.0568 1.0000 + -29.9699 1.0000 + -29.9325 1.0000 + 1.0239 1.0000 + 1.5364 1.0000 + 5.0194 1.0000 + 5.2031 1.0000 + 5.6900 1.0000 + 6.4177 1.0000 + 8.8427 0.0000 + 10.8611 0.0000 + 11.5754 0.0000 + 13.1725 0.0000 + 14.7884 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2897 1.0000 + -65.7431 1.0000 + -30.0075 1.0000 + -29.9776 1.0000 + -29.9357 1.0000 + -0.9418 1.0000 + 4.1601 1.0000 + 4.4633 1.0000 + 5.2925 1.0000 + 5.4803 1.0000 + 8.1369 0.0002 + 8.5843 0.0000 + 9.8748 0.0000 + 14.2706 0.0000 + 16.6056 0.0000 + 16.6825 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2896 1.0000 + -65.7431 1.0000 + -30.0097 1.0000 + -29.9774 1.0000 + -29.9356 1.0000 + -0.8921 1.0000 + 4.1617 1.0000 + 4.4064 1.0000 + 5.2343 1.0000 + 5.5218 1.0000 + 7.8744 0.5472 + 8.6852 0.0000 + 9.8973 0.0000 + 10.2230 0.0000 + 14.6840 0.0000 + 15.1549 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2897 1.0000 + -65.7430 1.0000 + -30.0157 1.0000 + -29.9768 1.0000 + -29.9352 1.0000 + -0.7465 1.0000 + 4.0060 1.0000 + 4.3910 1.0000 + 5.1646 1.0000 + 5.5823 1.0000 + 7.4453 1.0000 + 8.9926 0.0000 + 9.6515 0.0000 + 10.7842 0.0000 + 14.7401 0.0000 + 15.9068 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7428 1.0000 + -30.0247 1.0000 + -29.9759 1.0000 + -29.9346 1.0000 + -0.5124 1.0000 + 3.6173 1.0000 + 4.5175 1.0000 + 5.1467 1.0000 + 5.6283 1.0000 + 7.0241 1.0000 + 9.3214 0.0000 + 9.4009 0.0000 + 11.4365 0.0000 + 14.2651 0.0000 + 15.7142 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7426 1.0000 + -30.0350 1.0000 + -29.9750 1.0000 + -29.9339 1.0000 + -0.2008 1.0000 + 3.1352 1.0000 + 4.6826 1.0000 + 5.1753 1.0000 + 5.6422 1.0000 + 6.6940 1.0000 + 9.0514 0.0000 + 9.8080 0.0000 + 13.0238 0.0000 + 15.4136 0.0000 + 16.0797 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7424 1.0000 + -30.0447 1.0000 + -29.9741 1.0000 + -29.9332 1.0000 + 0.1782 1.0000 + 2.6185 1.0000 + 4.8334 1.0000 + 5.2268 1.0000 + 5.6216 1.0000 + 6.4836 1.0000 + 8.8850 0.0000 + 10.1806 0.0000 + 12.1773 0.0000 + 13.4647 0.0000 + 15.3704 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7423 1.0000 + -30.0524 1.0000 + -29.9734 1.0000 + -29.9327 1.0000 + 0.6080 1.0000 + 2.0944 1.0000 + 4.9487 1.0000 + 5.2360 1.0000 + 5.6214 1.0000 + 6.3720 1.0000 + 8.8398 0.0000 + 10.4741 0.0000 + 11.9232 0.0000 + 13.5675 0.0000 + 15.0575 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7422 1.0000 + -30.0566 1.0000 + -29.9730 1.0000 + -29.9323 1.0000 + 1.0767 1.0000 + 1.5797 1.0000 + 5.0331 1.0000 + 5.1824 1.0000 + 5.6559 1.0000 + 6.3220 1.0000 + 8.8601 0.0000 + 10.6497 0.0000 + 11.6448 0.0000 + 13.4921 0.0000 + 14.9068 0.0000 + + + -91.8794 1.0000 + -91.4243 1.0000 + -91.2893 1.0000 + -65.7429 1.0000 + -30.0066 1.0000 + -29.9862 1.0000 + -29.9351 1.0000 + -0.7866 1.0000 + 4.0335 1.0000 + 4.4889 1.0000 + 5.3371 1.0000 + 5.3463 1.0000 + 7.5604 1.0000 + 8.8667 0.0000 + 9.5757 0.0000 + 10.8119 0.0000 + 15.0193 0.0000 + 16.5679 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2896 1.0000 + -65.7429 1.0000 + -30.0088 1.0000 + -29.9860 1.0000 + -29.9350 1.0000 + -0.7381 1.0000 + 4.0728 1.0000 + 4.4246 1.0000 + 5.1607 1.0000 + 5.4807 1.0000 + 7.3825 1.0000 + 8.9797 0.0000 + 9.7876 0.0000 + 10.6899 0.0000 + 14.8927 0.0000 + 16.0636 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7428 1.0000 + -30.0149 1.0000 + -29.9854 1.0000 + -29.9346 1.0000 + -0.5926 1.0000 + 4.1214 1.0000 + 4.2640 1.0000 + 5.0156 1.0000 + 5.5704 1.0000 + 7.0120 1.0000 + 9.2675 0.0000 + 10.0834 0.0000 + 10.5691 0.0000 + 14.8072 0.0000 + 15.6699 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2899 1.0000 + -65.7426 1.0000 + -30.0239 1.0000 + -29.9846 1.0000 + -29.9340 1.0000 + -0.3590 1.0000 + 3.7621 1.0000 + 4.4212 1.0000 + 4.9587 1.0000 + 5.6136 1.0000 + 6.6438 1.0000 + 9.6171 0.0000 + 9.8168 0.0000 + 11.0150 0.0000 + 14.3910 0.0000 + 16.1444 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7424 1.0000 + -30.0342 1.0000 + -29.9837 1.0000 + -29.9333 1.0000 + -0.0480 1.0000 + 3.2758 1.0000 + 4.6646 1.0000 + 4.9722 1.0000 + 5.5802 1.0000 + 6.3794 1.0000 + 9.4388 0.0000 + 9.9520 0.0000 + 11.4875 0.0000 + 13.9130 0.0000 + 15.6021 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7422 1.0000 + -30.0440 1.0000 + -29.9828 1.0000 + -29.9326 1.0000 + 0.3278 1.0000 + 2.7560 1.0000 + 4.8584 1.0000 + 5.1054 1.0000 + 5.4544 1.0000 + 6.2435 1.0000 + 9.1535 0.0000 + 10.1417 0.0000 + 11.7635 0.0000 + 13.9583 0.0000 + 15.3074 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7421 1.0000 + -30.0516 1.0000 + -29.9821 1.0000 + -29.9320 1.0000 + 0.7545 1.0000 + 2.2317 1.0000 + 4.9434 1.0000 + 5.2715 1.0000 + 5.3901 1.0000 + 6.1613 1.0000 + 8.9788 0.0000 + 10.1660 0.0000 + 11.8759 0.0000 + 14.0401 0.0000 + 14.7589 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7421 1.0000 + -30.0559 1.0000 + -29.9817 1.0000 + -29.9317 1.0000 + 1.2187 1.0000 + 1.7187 1.0000 + 5.0186 1.0000 + 5.1440 1.0000 + 5.6004 1.0000 + 6.0785 1.0000 + 8.9071 0.0000 + 10.1124 0.0000 + 11.9295 0.0000 + 14.1658 0.0000 + 14.5853 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7427 1.0000 + -30.0054 1.0000 + -29.9989 1.0000 + -29.9343 1.0000 + -0.5379 1.0000 + 3.7030 1.0000 + 4.6090 1.0000 + 5.2630 1.0000 + 5.3959 1.0000 + 7.0695 1.0000 + 9.0908 0.0000 + 9.4357 0.0000 + 11.5575 0.0000 + 14.3516 0.0000 + 16.3601 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7426 1.0000 + -30.0076 1.0000 + -29.9987 1.0000 + -29.9341 1.0000 + -0.4887 1.0000 + 3.7492 1.0000 + 4.5743 1.0000 + 5.0985 1.0000 + 5.4857 1.0000 + 6.9239 1.0000 + 9.2263 0.0000 + 9.5939 0.0000 + 11.3727 0.0000 + 14.7170 0.0000 + 16.1538 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7426 1.0000 + -30.0138 1.0000 + -29.9982 1.0000 + -29.9337 1.0000 + -0.3455 1.0000 + 3.8851 1.0000 + 4.3963 1.0000 + 4.8981 1.0000 + 5.5780 1.0000 + 6.6012 1.0000 + 9.5131 0.0000 + 9.9903 0.0000 + 10.9583 0.0000 + 15.0569 0.0000 + 16.3985 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7424 1.0000 + -30.0228 1.0000 + -29.9974 1.0000 + -29.9331 1.0000 + -0.1133 1.0000 + 3.9680 1.0000 + 4.1423 1.0000 + 4.8263 1.0000 + 5.6458 1.0000 + 6.2595 1.0000 + 9.7738 0.0000 + 10.2498 0.0000 + 10.7319 0.0000 + 13.9527 0.0000 + 15.3880 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7422 1.0000 + -30.0330 1.0000 + -29.9965 1.0000 + -29.9323 1.0000 + 0.1946 1.0000 + 3.4921 1.0000 + 4.4185 1.0000 + 4.8251 1.0000 + 5.6324 1.0000 + 6.0245 1.0000 + 9.7715 0.0000 + 9.9943 0.0000 + 11.1510 0.0000 + 13.7014 0.0000 + 16.5495 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7420 1.0000 + -30.0429 1.0000 + -29.9956 1.0000 + -29.9316 1.0000 + 0.5628 1.0000 + 2.9731 1.0000 + 4.7045 1.0000 + 4.9098 1.0000 + 5.4759 1.0000 + 5.9673 1.0000 + 9.4317 0.0000 + 9.8472 0.0000 + 11.5921 0.0000 + 13.6688 0.0000 + 15.3116 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7418 1.0000 + -30.0505 1.0000 + -29.9949 1.0000 + -29.9311 1.0000 + 0.9775 1.0000 + 2.4579 1.0000 + 4.7922 1.0000 + 5.2187 1.0000 + 5.3117 1.0000 + 5.9343 1.0000 + 9.1395 0.0000 + 9.6338 0.0000 + 11.9354 0.0000 + 13.8117 0.0000 + 15.0790 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7418 1.0000 + -30.0548 1.0000 + -29.9946 1.0000 + -29.9308 1.0000 + 1.4086 1.0000 + 1.9761 1.0000 + 4.8168 1.0000 + 5.2061 1.0000 + 5.5597 1.0000 + 5.8151 1.0000 + 8.9724 0.0000 + 9.4790 0.0000 + 12.1291 0.0000 + 14.1071 0.0000 + 15.6601 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2903 1.0000 + -65.7424 1.0000 + -30.0135 1.0000 + -30.0040 1.0000 + -29.9332 1.0000 + -0.2065 1.0000 + 3.2450 1.0000 + 4.7589 1.0000 + 5.2488 1.0000 + 5.4433 1.0000 + 6.6906 1.0000 + 8.9578 0.0000 + 9.7562 0.0000 + 12.2284 0.0000 + 13.6467 0.0000 + 15.6738 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7424 1.0000 + -30.0133 1.0000 + -30.0062 1.0000 + -29.9330 1.0000 + -0.1582 1.0000 + 3.2898 1.0000 + 4.7575 1.0000 + 5.1144 1.0000 + 5.4721 1.0000 + 6.5804 1.0000 + 9.0982 0.0000 + 9.8501 0.0000 + 11.9458 0.0000 + 13.9323 0.0000 + 15.6257 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7422 1.0000 + -30.0128 1.0000 + -30.0124 1.0000 + -29.9326 1.0000 + -0.0156 1.0000 + 3.4223 1.0000 + 4.6865 1.0000 + 4.8536 1.0000 + 5.5334 1.0000 + 6.3183 1.0000 + 9.4083 0.0000 + 10.0693 0.0000 + 11.4327 0.0000 + 13.8385 0.0000 + 15.3753 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7421 1.0000 + -30.0214 1.0000 + -30.0120 1.0000 + -29.9320 1.0000 + 0.2115 1.0000 + 3.6251 1.0000 + 4.2944 1.0000 + 4.8274 1.0000 + 5.6180 1.0000 + 6.0093 1.0000 + 9.6312 0.0000 + 10.2757 0.0000 + 11.0215 0.0000 + 13.6105 0.0000 + 15.5689 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7418 1.0000 + -30.0317 1.0000 + -30.0111 1.0000 + -29.9313 1.0000 + 0.5117 1.0000 + 3.6756 1.0000 + 4.0282 1.0000 + 4.8696 1.0000 + 5.6990 1.0000 + 5.7349 1.0000 + 9.5362 0.0000 + 10.2061 0.0000 + 11.0080 0.0000 + 13.5324 0.0000 + 15.5343 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7417 1.0000 + -30.0416 1.0000 + -30.0103 1.0000 + -29.9306 1.0000 + 0.8642 1.0000 + 3.2318 1.0000 + 4.2558 1.0000 + 4.9684 1.0000 + 5.4836 1.0000 + 5.8019 1.0000 + 9.2565 0.0000 + 9.8056 0.0000 + 11.2920 0.0000 + 13.6768 0.0000 + 15.4872 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7415 1.0000 + -30.0493 1.0000 + -30.0096 1.0000 + -29.9300 1.0000 + 1.2490 1.0000 + 2.7560 1.0000 + 4.4489 1.0000 + 5.1394 1.0000 + 5.3565 1.0000 + 5.8359 1.0000 + 8.9975 0.0000 + 9.3530 0.0000 + 11.5665 0.0000 + 14.0109 0.0000 + 15.4805 0.0000 + + + -91.8796 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7414 1.0000 + -30.0535 1.0000 + -30.0091 1.0000 + -29.9298 1.0000 + 1.6087 1.0000 + 2.3515 1.0000 + 4.5288 1.0000 + 5.1724 1.0000 + 5.4938 1.0000 + 5.7819 1.0000 + 8.8529 0.0000 + 9.0524 0.0000 + 11.7104 0.0000 + 14.0573 0.0000 + 15.0900 0.0000 + + + -91.8814 1.0000 + -91.4264 1.0000 + -91.2914 1.0000 + -65.7422 1.0000 + -30.0274 1.0000 + -30.0027 1.0000 + -29.9322 1.0000 + 0.1919 1.0000 + 2.7296 1.0000 + 4.8887 1.0000 + 5.2689 1.0000 + 5.4479 1.0000 + 6.4571 1.0000 + 8.9309 0.0000 + 10.1141 0.0000 + 12.7287 0.0000 + 12.8456 0.0000 + 15.3170 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7421 1.0000 + -30.0272 1.0000 + -30.0048 1.0000 + -29.9320 1.0000 + 0.2409 1.0000 + 2.7729 1.0000 + 4.8898 1.0000 + 5.2223 1.0000 + 5.3965 1.0000 + 6.3796 1.0000 + 9.0274 0.0000 + 10.1593 0.0000 + 12.1501 0.0000 + 13.4325 0.0000 + 15.0368 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7419 1.0000 + -30.0267 1.0000 + -30.0110 1.0000 + -29.9316 1.0000 + 0.3806 1.0000 + 2.8996 1.0000 + 4.8497 1.0000 + 5.0127 1.0000 + 5.3985 1.0000 + 6.1868 1.0000 + 9.2455 0.0000 + 10.1860 0.0000 + 11.6938 0.0000 + 13.6620 0.0000 + 14.8455 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7418 1.0000 + -30.0259 1.0000 + -30.0201 1.0000 + -29.9310 1.0000 + 0.6011 1.0000 + 3.0992 1.0000 + 4.5252 1.0000 + 4.9705 1.0000 + 5.4410 1.0000 + 5.9674 1.0000 + 9.3795 0.0000 + 10.0938 0.0000 + 11.4215 0.0000 + 13.4946 0.0000 + 15.3249 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7416 1.0000 + -30.0305 1.0000 + -30.0251 1.0000 + -29.9303 1.0000 + 0.8844 1.0000 + 3.3282 1.0000 + 4.1307 1.0000 + 4.9976 1.0000 + 5.4432 1.0000 + 5.8368 1.0000 + 9.1709 0.0000 + 10.0960 0.0000 + 11.0760 0.0000 + 13.6019 0.0000 + 15.5760 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7414 1.0000 + -30.0404 1.0000 + -30.0242 1.0000 + -29.9296 1.0000 + 1.2071 1.0000 + 3.3733 1.0000 + 3.9450 1.0000 + 5.0033 1.0000 + 5.4115 1.0000 + 5.8500 1.0000 + 8.8027 0.0000 + 9.9189 0.0000 + 10.8392 0.0000 + 13.9632 0.0000 + 15.2363 0.0000 + + + -91.8810 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7413 1.0000 + -30.0482 1.0000 + -30.0236 1.0000 + -29.9291 1.0000 + 1.5374 1.0000 + 3.0788 1.0000 + 4.0952 1.0000 + 4.9405 1.0000 + 5.4963 1.0000 + 5.8970 1.0000 + 8.4845 0.0000 + 9.4593 0.0000 + 10.8758 0.0000 + 14.4053 0.0000 + 17.6986 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7411 1.0000 + -30.0524 1.0000 + -30.0233 1.0000 + -29.9289 1.0000 + 1.8017 1.0000 + 2.7984 1.0000 + 4.2319 1.0000 + 4.8727 1.0000 + 5.6545 1.0000 + 5.8902 1.0000 + 8.3046 0.0000 + 9.1174 0.0000 + 10.9361 0.0000 + 14.6714 0.0000 + 15.1061 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7419 1.0000 + -30.0381 1.0000 + -30.0016 1.0000 + -29.9314 1.0000 + 0.6438 1.0000 + 2.1972 1.0000 + 4.9816 1.0000 + 5.2821 1.0000 + 5.4079 1.0000 + 6.3587 1.0000 + 9.0891 0.0000 + 10.4109 0.0000 + 12.0762 0.0000 + 12.9720 0.0000 + 14.7931 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7418 1.0000 + -30.0379 1.0000 + -30.0038 1.0000 + -29.9312 1.0000 + 0.6917 1.0000 + 2.2385 1.0000 + 4.9684 1.0000 + 5.2605 1.0000 + 5.3795 1.0000 + 6.2871 1.0000 + 9.1342 0.0000 + 10.3626 0.0000 + 11.8755 0.0000 + 13.5638 0.0000 + 14.7415 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7417 1.0000 + -30.0374 1.0000 + -30.0100 1.0000 + -29.9308 1.0000 + 0.8289 1.0000 + 2.3628 1.0000 + 4.8680 1.0000 + 5.2167 1.0000 + 5.3487 1.0000 + 6.1151 1.0000 + 9.2333 0.0000 + 10.1098 0.0000 + 11.7864 0.0000 + 13.8645 0.0000 + 14.5821 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7415 1.0000 + -30.0368 1.0000 + -30.0191 1.0000 + -29.9302 1.0000 + 1.0385 1.0000 + 2.5659 1.0000 + 4.6184 1.0000 + 5.2494 1.0000 + 5.2935 1.0000 + 5.9474 1.0000 + 9.2299 0.0000 + 9.7805 0.0000 + 11.7623 0.0000 + 14.6669 0.0000 + 33.9627 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7413 1.0000 + -30.0360 1.0000 + -30.0295 1.0000 + -29.9295 1.0000 + 1.2933 1.0000 + 2.8351 1.0000 + 4.3053 1.0000 + 5.1462 1.0000 + 5.3500 1.0000 + 5.8888 1.0000 + 8.8751 0.0000 + 9.7440 0.0000 + 11.2586 0.0000 + 13.7436 0.0000 + 15.3267 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7412 1.0000 + -30.0394 1.0000 + -30.0352 1.0000 + -29.9289 1.0000 + 1.5626 1.0000 + 3.1227 1.0000 + 4.0176 1.0000 + 4.9307 1.0000 + 5.5039 1.0000 + 5.9329 1.0000 + 8.4289 0.0000 + 9.7601 0.0000 + 10.6018 0.0000 + 14.2919 0.0000 + 15.0899 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7410 1.0000 + -30.0472 1.0000 + -30.0346 1.0000 + -29.9284 1.0000 + 1.8088 1.0000 + 3.2901 1.0000 + 3.8891 1.0000 + 4.7082 1.0000 + 5.7010 1.0000 + 6.0056 1.0000 + 8.0678 0.0044 + 9.5108 0.0000 + 10.2464 0.0000 + 14.9130 0.0000 + 15.6767 0.0000 + + + -91.8813 1.0000 + -91.4263 1.0000 + -91.2912 1.0000 + -65.7409 1.0000 + -30.0515 1.0000 + -30.0343 1.0000 + -29.9281 1.0000 + 1.9715 1.0000 + 3.2549 1.0000 + 3.9834 1.0000 + 4.5315 1.0000 + 5.8883 1.0000 + 6.0297 1.0000 + 7.8661 0.5933 + 9.1689 0.0000 + 10.2004 0.0000 + 15.0616 0.0000 + 32.0644 0.0000 + + + -91.8815 1.0000 + -91.4266 1.0000 + -91.2915 1.0000 + -65.7418 1.0000 + -30.0440 1.0000 + -30.0011 1.0000 + -29.9310 1.0000 + 1.1269 1.0000 + 1.6721 1.0000 + 5.0342 1.0000 + 5.2771 1.0000 + 5.3683 1.0000 + 6.3348 1.0000 + 9.3061 0.0000 + 10.6059 0.0000 + 11.5175 0.0000 + 13.0325 0.0000 + 14.6615 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7417 1.0000 + -30.0438 1.0000 + -30.0032 1.0000 + -29.9308 1.0000 + 1.1784 1.0000 + 1.7101 1.0000 + 5.0365 1.0000 + 5.1518 1.0000 + 5.4647 1.0000 + 6.2520 1.0000 + 9.3181 0.0000 + 10.4031 0.0000 + 11.5903 0.0000 + 13.3633 0.0000 + 14.5583 0.0000 + + + -91.8801 1.0000 + -91.4252 1.0000 + -91.2901 1.0000 + -65.7415 1.0000 + -30.0433 1.0000 + -30.0093 1.0000 + -29.9303 1.0000 + 1.3163 1.0000 + 1.8312 1.0000 + 4.8941 1.0000 + 5.1190 1.0000 + 5.5631 1.0000 + 6.0425 1.0000 + 9.3454 0.0000 + 9.9129 0.0000 + 12.0493 0.0000 + 13.9108 0.0000 + 14.3729 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7414 1.0000 + -30.0427 1.0000 + -30.0185 1.0000 + -29.9297 1.0000 + 1.5003 1.0000 + 2.0569 1.0000 + 4.6455 1.0000 + 5.1693 1.0000 + 5.5995 1.0000 + 5.8371 1.0000 + 9.2378 0.0000 + 9.4800 0.0000 + 11.9139 0.0000 + 13.5604 0.0000 + 14.7551 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7412 1.0000 + -30.0419 1.0000 + -30.0289 1.0000 + -29.9291 1.0000 + 1.6855 1.0000 + 2.3977 1.0000 + 4.3844 1.0000 + 5.1110 1.0000 + 5.5521 1.0000 + 5.8491 1.0000 + 8.7124 0.0000 + 9.4831 0.0000 + 11.3760 0.0000 + 13.8572 0.0000 + 14.9892 0.0000 + + + -91.8810 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7410 1.0000 + -30.0411 1.0000 + -30.0389 1.0000 + -29.9285 1.0000 + 1.8550 1.0000 + 2.8180 1.0000 + 4.1421 1.0000 + 4.8462 1.0000 + 5.6803 1.0000 + 5.9491 1.0000 + 8.2154 0.0000 + 9.5095 0.0000 + 10.5843 0.0000 + 14.5072 0.0000 + 15.0778 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7409 1.0000 + -30.0467 1.0000 + -30.0406 1.0000 + -29.9280 1.0000 + 1.9950 1.0000 + 3.2581 1.0000 + 3.9509 1.0000 + 4.5226 1.0000 + 5.8957 1.0000 + 6.0587 1.0000 + 7.8278 0.7815 + 9.4491 0.0000 + 9.9344 0.0000 + 15.0260 0.0000 + 18.3727 0.0000 + + + -91.8815 1.0000 + -91.4265 1.0000 + -91.2915 1.0000 + -65.7408 1.0000 + -30.0510 1.0000 + -30.0402 1.0000 + -29.9277 1.0000 + 2.0780 1.0000 + 3.6286 1.0000 + 3.8595 1.0000 + 4.2059 1.0000 + 6.0817 1.0000 + 6.1302 1.0000 + 7.6065 1.0000 + 9.1931 0.0000 + 9.7385 0.0000 + 15.0476 0.0000 + 16.6319 0.0000 + + + -91.8793 1.0000 + -91.4243 1.0000 + -91.2893 1.0000 + -65.7415 1.0000 + -30.0028 1.0000 + -29.9802 1.0000 + -29.9695 1.0000 + -0.4815 1.0000 + 3.4597 1.0000 + 4.4964 1.0000 + 4.9371 1.0000 + 5.1831 1.0000 + 8.4989 0.0000 + 9.1550 0.0000 + 10.1399 0.0000 + 10.4152 0.0000 + 14.2974 0.0000 + 14.8308 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2897 1.0000 + -65.7415 1.0000 + -30.0050 1.0000 + -29.9801 1.0000 + -29.9693 1.0000 + -0.4342 1.0000 + 3.4391 1.0000 + 4.4529 1.0000 + 4.9676 1.0000 + 5.2040 1.0000 + 8.2556 0.0000 + 9.2125 0.0000 + 10.0413 0.0000 + 10.7194 0.0000 + 14.2965 0.0000 + 15.1176 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7414 1.0000 + -30.0112 1.0000 + -29.9796 1.0000 + -29.9688 1.0000 + -0.2928 1.0000 + 3.3540 1.0000 + 4.3881 1.0000 + 5.0261 1.0000 + 5.2648 1.0000 + 7.7736 0.9387 + 9.3605 0.0000 + 9.8023 0.0000 + 11.3678 0.0000 + 13.9531 0.0000 + 14.9554 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7412 1.0000 + -30.0203 1.0000 + -29.9791 1.0000 + -29.9679 1.0000 + -0.0672 1.0000 + 3.1662 1.0000 + 4.3914 1.0000 + 5.0790 1.0000 + 5.3596 1.0000 + 7.2805 1.0000 + 9.4059 0.0000 + 9.6783 0.0000 + 12.0688 0.0000 + 13.4792 0.0000 + 15.2550 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7411 1.0000 + -30.0306 1.0000 + -29.9785 1.0000 + -29.9670 1.0000 + 0.2282 1.0000 + 2.8837 1.0000 + 4.4758 1.0000 + 5.1145 1.0000 + 5.4784 1.0000 + 6.8477 1.0000 + 9.1811 0.0000 + 9.8874 0.0000 + 12.5970 0.0000 + 12.9048 0.0000 + 15.2176 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7408 1.0000 + -30.0404 1.0000 + -29.9778 1.0000 + -29.9661 1.0000 + 0.5762 1.0000 + 2.5428 1.0000 + 4.6037 1.0000 + 5.1264 1.0000 + 5.6095 1.0000 + 6.4965 1.0000 + 9.0211 0.0000 + 10.1220 0.0000 + 12.3062 0.0000 + 12.7724 0.0000 + 15.5499 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7407 1.0000 + -30.0482 1.0000 + -29.9773 1.0000 + -29.9654 1.0000 + 0.9542 1.0000 + 2.1721 1.0000 + 4.7324 1.0000 + 5.1121 1.0000 + 5.7425 1.0000 + 6.2291 1.0000 + 8.9691 0.0000 + 10.3317 0.0000 + 11.7644 0.0000 + 12.7021 0.0000 + 15.1622 0.0000 + + + -91.8793 1.0000 + -91.4243 1.0000 + -91.2893 1.0000 + -65.7406 1.0000 + -30.0524 1.0000 + -29.9770 1.0000 + -29.9649 1.0000 + 1.3325 1.0000 + 1.8005 1.0000 + 4.8244 1.0000 + 5.0841 1.0000 + 5.8749 1.0000 + 6.0344 1.0000 + 8.9800 0.0000 + 10.4848 0.0000 + 11.3991 0.0000 + 12.6194 0.0000 + 17.5491 0.0000 + + + -91.8794 1.0000 + -91.4244 1.0000 + -91.2894 1.0000 + -65.7415 1.0000 + -30.0025 1.0000 + -29.9799 1.0000 + -29.9726 1.0000 + -0.4309 1.0000 + 3.4495 1.0000 + 4.4823 1.0000 + 4.9614 1.0000 + 5.1769 1.0000 + 8.1972 0.0000 + 9.2037 0.0000 + 10.3016 0.0000 + 10.5059 0.0000 + 14.3943 0.0000 + 15.2824 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7414 1.0000 + -30.0047 1.0000 + -29.9798 1.0000 + -29.9724 1.0000 + -0.3827 1.0000 + 3.4372 1.0000 + 4.4369 1.0000 + 4.9880 1.0000 + 5.1943 1.0000 + 7.9855 0.0733 + 9.2633 0.0000 + 10.3201 0.0000 + 10.6409 0.0000 + 14.3071 0.0000 + 15.7382 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7413 1.0000 + -30.0109 1.0000 + -29.9795 1.0000 + -29.9718 1.0000 + -0.2406 1.0000 + 3.3744 1.0000 + 4.3644 1.0000 + 5.0412 1.0000 + 5.2443 1.0000 + 7.5476 1.0000 + 9.4153 0.0000 + 10.0599 0.0000 + 11.2380 0.0000 + 14.8208 0.0000 + 16.0819 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7412 1.0000 + -30.0200 1.0000 + -29.9789 1.0000 + -29.9710 1.0000 + -0.0152 1.0000 + 3.2090 1.0000 + 4.3636 1.0000 + 5.0929 1.0000 + 5.3207 1.0000 + 7.0926 1.0000 + 9.5502 0.0000 + 9.7938 0.0000 + 11.8036 0.0000 + 13.5951 0.0000 + 14.9192 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7410 1.0000 + -30.0303 1.0000 + -29.9783 1.0000 + -29.9700 1.0000 + 0.2806 1.0000 + 2.9377 1.0000 + 4.4563 1.0000 + 5.1302 1.0000 + 5.4164 1.0000 + 6.6996 1.0000 + 9.3444 0.0000 + 9.9025 0.0000 + 12.0852 0.0000 + 13.4362 0.0000 + 15.8291 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7407 1.0000 + -30.0402 1.0000 + -29.9776 1.0000 + -29.9691 1.0000 + 0.6271 1.0000 + 2.6012 1.0000 + 4.5958 1.0000 + 5.1415 1.0000 + 5.5298 1.0000 + 6.3932 1.0000 + 9.1313 0.0000 + 10.0660 0.0000 + 11.8833 0.0000 + 13.3141 0.0000 + 15.1866 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7406 1.0000 + -30.0479 1.0000 + -29.9771 1.0000 + -29.9684 1.0000 + 1.0037 1.0000 + 2.2324 1.0000 + 4.7288 1.0000 + 5.1208 1.0000 + 5.6641 1.0000 + 6.1656 1.0000 + 9.0233 0.0000 + 10.1524 0.0000 + 11.6108 0.0000 + 13.1453 0.0000 + 15.2752 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2900 1.0000 + -65.7405 1.0000 + -30.0521 1.0000 + -29.9768 1.0000 + -29.9680 1.0000 + 1.3741 1.0000 + 1.8670 1.0000 + 4.8158 1.0000 + 5.0875 1.0000 + 5.8147 1.0000 + 5.9871 1.0000 + 8.9976 0.0000 + 10.1607 0.0000 + 11.4588 0.0000 + 13.0058 0.0000 + 15.0515 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7413 1.0000 + -30.0017 1.0000 + -29.9814 1.0000 + -29.9793 1.0000 + -0.2798 1.0000 + 3.3917 1.0000 + 4.4650 1.0000 + 5.0319 1.0000 + 5.1692 1.0000 + 7.6464 0.9996 + 9.3147 0.0000 + 10.0458 0.0000 + 11.2372 0.0000 + 14.4922 0.0000 + 15.3633 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7412 1.0000 + -30.0039 1.0000 + -29.9812 1.0000 + -29.9792 1.0000 + -0.2318 1.0000 + 3.4031 1.0000 + 4.4148 1.0000 + 5.0453 1.0000 + 5.1799 1.0000 + 7.4709 1.0000 + 9.3790 0.0000 + 10.2465 0.0000 + 11.0981 0.0000 + 14.1220 0.0000 + 16.8656 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2896 1.0000 + -65.7411 1.0000 + -30.0101 1.0000 + -29.9806 1.0000 + -29.9788 1.0000 + -0.0888 1.0000 + 3.4098 1.0000 + 4.3128 1.0000 + 5.0782 1.0000 + 5.2075 1.0000 + 7.0931 1.0000 + 9.5240 0.0000 + 10.5314 0.0000 + 10.9313 0.0000 + 13.8315 0.0000 + 14.9563 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7410 1.0000 + -30.0192 1.0000 + -29.9798 1.0000 + -29.9782 1.0000 + 0.1365 1.0000 + 3.3258 1.0000 + 4.2788 1.0000 + 5.1226 1.0000 + 5.2385 1.0000 + 6.6994 1.0000 + 9.6594 0.0000 + 10.2232 0.0000 + 11.3212 0.0000 + 13.9202 0.0000 + 16.2795 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7408 1.0000 + -30.0296 1.0000 + -29.9790 1.0000 + -29.9776 1.0000 + 0.4308 1.0000 + 3.0973 1.0000 + 4.3838 1.0000 + 5.1738 1.0000 + 5.2576 1.0000 + 6.3799 1.0000 + 9.6051 0.0000 + 9.9623 0.0000 + 11.5706 0.0000 + 13.6078 0.0000 + 14.8495 0.0000 + + + -91.8796 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7405 1.0000 + -30.0394 1.0000 + -29.9782 1.0000 + -29.9768 1.0000 + 0.7749 1.0000 + 2.7747 1.0000 + 4.5617 1.0000 + 5.1803 1.0000 + 5.3158 1.0000 + 6.1636 1.0000 + 9.3464 0.0000 + 9.8339 0.0000 + 11.6131 0.0000 + 13.9966 0.0000 + 14.7722 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7404 1.0000 + -30.0472 1.0000 + -29.9775 1.0000 + -29.9763 1.0000 + 1.1431 1.0000 + 2.4134 1.0000 + 4.7126 1.0000 + 5.1290 1.0000 + 5.4671 1.0000 + 6.0157 1.0000 + 9.1396 0.0000 + 9.6449 0.0000 + 11.6446 0.0000 + 14.7531 0.0000 + 45.4682 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2902 1.0000 + -65.7404 1.0000 + -30.0514 1.0000 + -29.9772 1.0000 + -29.9760 1.0000 + 1.4899 1.0000 + 2.0701 1.0000 + 4.7840 1.0000 + 5.0904 1.0000 + 5.6669 1.0000 + 5.8686 1.0000 + 9.0434 0.0000 + 9.4853 0.0000 + 11.6814 0.0000 + 13.7976 0.0000 + 15.2308 0.0000 + + + -91.8796 1.0000 + -91.4246 1.0000 + -91.2896 1.0000 + -65.7410 1.0000 + -30.0005 1.0000 + -29.9942 1.0000 + -29.9785 1.0000 + -0.0384 1.0000 + 3.2400 1.0000 + 4.4989 1.0000 + 5.1411 1.0000 + 5.1734 1.0000 + 7.1079 1.0000 + 9.3512 0.0000 + 9.8771 0.0000 + 11.9958 0.0000 + 13.6113 0.0000 + 21.7136 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7410 1.0000 + -30.0027 1.0000 + -29.9940 1.0000 + -29.9784 1.0000 + 0.0097 1.0000 + 3.2752 1.0000 + 4.4507 1.0000 + 5.1290 1.0000 + 5.1813 1.0000 + 6.9619 1.0000 + 9.4416 0.0000 + 10.0172 0.0000 + 11.7522 0.0000 + 13.6423 0.0000 + 14.9614 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7409 1.0000 + -30.0089 1.0000 + -29.9935 1.0000 + -29.9780 1.0000 + 0.1509 1.0000 + 3.3699 1.0000 + 4.3172 1.0000 + 5.1057 1.0000 + 5.2032 1.0000 + 6.6401 1.0000 + 9.5752 0.0000 + 10.3957 0.0000 + 11.2701 0.0000 + 13.5268 0.0000 + 14.8940 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7407 1.0000 + -30.0180 1.0000 + -29.9927 1.0000 + -29.9775 1.0000 + 0.3757 1.0000 + 3.4547 1.0000 + 4.1789 1.0000 + 5.0808 1.0000 + 5.2321 1.0000 + 6.3094 1.0000 + 9.5872 0.0000 + 10.6701 0.0000 + 10.9785 0.0000 + 13.3361 0.0000 + 16.3021 0.0000 + + + -91.8798 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7405 1.0000 + -30.0284 1.0000 + -29.9918 1.0000 + -29.9768 1.0000 + 0.6661 1.0000 + 3.3528 1.0000 + 4.2329 1.0000 + 5.0410 1.0000 + 5.2587 1.0000 + 6.0667 1.0000 + 9.4049 0.0000 + 10.2926 0.0000 + 11.3119 0.0000 + 13.8752 0.0000 + 38.4800 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7403 1.0000 + -30.0384 1.0000 + -29.9910 1.0000 + -29.9762 1.0000 + 1.0012 1.0000 + 3.0611 1.0000 + 4.4746 1.0000 + 4.9804 1.0000 + 5.2893 1.0000 + 5.9349 1.0000 + 9.1205 0.0000 + 9.8404 0.0000 + 11.5936 0.0000 + 13.6823 0.0000 + 15.1706 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7401 1.0000 + -30.0461 1.0000 + -29.9903 1.0000 + -29.9758 1.0000 + 1.3562 1.0000 + 2.7118 1.0000 + 4.6771 1.0000 + 4.9797 1.0000 + 5.3623 1.0000 + 5.8533 1.0000 + 8.8711 0.0000 + 9.4054 0.0000 + 11.8042 0.0000 + 14.1600 0.0000 + 14.8362 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7401 1.0000 + -30.0504 1.0000 + -29.9899 1.0000 + -29.9755 1.0000 + 1.6624 1.0000 + 2.4033 1.0000 + 4.7026 1.0000 + 5.0589 1.0000 + 5.5288 1.0000 + 5.7361 1.0000 + 8.7332 0.0000 + 9.1257 0.0000 + 11.9246 0.0000 + 14.4000 0.0000 + 14.8474 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7407 1.0000 + -30.0089 1.0000 + -29.9991 1.0000 + -29.9776 1.0000 + 0.2750 1.0000 + 2.9834 1.0000 + 4.6018 1.0000 + 5.1861 1.0000 + 5.2760 1.0000 + 6.6473 1.0000 + 9.2218 0.0000 + 9.9612 0.0000 + 12.7917 0.0000 + 14.6660 0.0000 + 37.0432 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7407 1.0000 + -30.0087 1.0000 + -30.0013 1.0000 + -29.9775 1.0000 + 0.3237 1.0000 + 3.0324 1.0000 + 4.5699 1.0000 + 5.1962 1.0000 + 5.2285 1.0000 + 6.5349 1.0000 + 9.3249 0.0000 + 10.0206 0.0000 + 12.0589 0.0000 + 13.6356 0.0000 + 16.3395 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7406 1.0000 + -30.0082 1.0000 + -30.0075 1.0000 + -29.9771 1.0000 + 0.4629 1.0000 + 3.1773 1.0000 + 4.4588 1.0000 + 5.1107 1.0000 + 5.2302 1.0000 + 6.2832 1.0000 + 9.4510 0.0000 + 10.2180 0.0000 + 11.5408 0.0000 + 13.5178 0.0000 + 14.9785 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7404 1.0000 + -30.0167 1.0000 + -30.0075 1.0000 + -29.9766 1.0000 + 0.6833 1.0000 + 3.4070 1.0000 + 4.2516 1.0000 + 4.9747 1.0000 + 5.2836 1.0000 + 6.0299 1.0000 + 9.3115 0.0000 + 10.5371 0.0000 + 11.2041 0.0000 + 13.5198 0.0000 + 16.1069 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7402 1.0000 + -30.0271 1.0000 + -30.0066 1.0000 + -29.9760 1.0000 + 0.9662 1.0000 + 3.6247 1.0000 + 4.0527 1.0000 + 4.8364 1.0000 + 5.3481 1.0000 + 5.8553 1.0000 + 8.9510 0.0000 + 10.5646 0.0000 + 11.1623 0.0000 + 13.2954 0.0000 + 15.4682 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7400 1.0000 + -30.0371 1.0000 + -30.0058 1.0000 + -29.9754 1.0000 + 1.2872 1.0000 + 3.4438 1.0000 + 4.2743 1.0000 + 4.7030 1.0000 + 5.4051 1.0000 + 5.7716 1.0000 + 8.5488 0.0000 + 10.0763 0.0000 + 11.4481 0.0000 + 13.4035 0.0000 + 15.3922 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7398 1.0000 + -30.0450 1.0000 + -30.0051 1.0000 + -29.9749 1.0000 + 1.6159 1.0000 + 3.1051 1.0000 + 4.5944 1.0000 + 4.6676 1.0000 + 5.4494 1.0000 + 5.7286 1.0000 + 8.2204 0.0000 + 9.5427 0.0000 + 11.6960 0.0000 + 13.7216 0.0000 + 15.3053 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7398 1.0000 + -30.0492 1.0000 + -30.0047 1.0000 + -29.9747 1.0000 + 1.8783 1.0000 + 2.8300 1.0000 + 4.5354 1.0000 + 4.9641 1.0000 + 5.5125 1.0000 + 5.6496 1.0000 + 8.0373 0.0144 + 9.1984 0.0000 + 11.8323 0.0000 + 13.9270 0.0000 + 15.3527 0.0000 + + + -91.8801 1.0000 + -91.4252 1.0000 + -91.2901 1.0000 + -65.7404 1.0000 + -30.0228 1.0000 + -29.9977 1.0000 + -29.9766 1.0000 + 0.6424 1.0000 + 2.6545 1.0000 + 4.7408 1.0000 + 5.1925 1.0000 + 5.4185 1.0000 + 6.2853 1.0000 + 9.1528 0.0000 + 10.1154 0.0000 + 12.2959 0.0000 + 12.6644 0.0000 + 15.1835 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7404 1.0000 + -30.0228 1.0000 + -30.0000 1.0000 + -29.9766 1.0000 + 0.6883 1.0000 + 2.7077 1.0000 + 4.7264 1.0000 + 5.2034 1.0000 + 5.3412 1.0000 + 6.2150 1.0000 + 9.2183 0.0000 + 10.0975 0.0000 + 11.8514 0.0000 + 13.2505 0.0000 + 15.4538 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7403 1.0000 + -30.0223 1.0000 + -30.0062 1.0000 + -29.9762 1.0000 + 0.8257 1.0000 + 2.8686 1.0000 + 4.6756 1.0000 + 5.1155 1.0000 + 5.2552 1.0000 + 6.0553 1.0000 + 9.2590 0.0000 + 10.0607 0.0000 + 11.5620 0.0000 + 14.3861 0.0000 + 15.3778 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7401 1.0000 + -30.0215 1.0000 + -30.0154 1.0000 + -29.9757 1.0000 + 1.0393 1.0000 + 3.1357 1.0000 + 4.5429 1.0000 + 4.8526 1.0000 + 5.3235 1.0000 + 5.8912 1.0000 + 8.9678 0.0000 + 10.1859 0.0000 + 11.4775 0.0000 + 13.5169 0.0000 + 15.2678 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7399 1.0000 + -30.0259 1.0000 + -30.0207 1.0000 + -29.9751 1.0000 + 1.3079 1.0000 + 3.4975 1.0000 + 4.2537 1.0000 + 4.6695 1.0000 + 5.4215 1.0000 + 5.7678 1.0000 + 8.4790 0.0000 + 10.3583 0.0000 + 11.2562 0.0000 + 13.7957 0.0000 + 15.4576 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2903 1.0000 + -65.7397 1.0000 + -30.0359 1.0000 + -30.0199 1.0000 + -29.9745 1.0000 + 1.6071 1.0000 + 3.8504 1.0000 + 3.9497 1.0000 + 4.5723 1.0000 + 5.5290 1.0000 + 5.6928 1.0000 + 7.9970 0.0531 + 10.1882 0.0000 + 11.0596 0.0000 + 13.6172 0.0000 + 15.4580 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7395 1.0000 + -30.0438 1.0000 + -30.0193 1.0000 + -29.9740 1.0000 + 1.9028 1.0000 + 3.5236 1.0000 + 4.2368 1.0000 + 4.6294 1.0000 + 5.6020 1.0000 + 5.6607 1.0000 + 7.6208 0.9999 + 9.6622 0.0000 + 11.1234 0.0000 + 13.9670 0.0000 + 15.5268 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7395 1.0000 + -30.0481 1.0000 + -30.0189 1.0000 + -29.9738 1.0000 + 2.1226 1.0000 + 3.2739 1.0000 + 4.2868 1.0000 + 4.8744 1.0000 + 5.6116 1.0000 + 5.6455 1.0000 + 7.4201 1.0000 + 9.2695 0.0000 + 11.1923 0.0000 + 14.0391 0.0000 + 15.3789 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7402 1.0000 + -30.0338 1.0000 + -29.9968 1.0000 + -29.9759 1.0000 + 1.0386 1.0000 + 2.2838 1.0000 + 4.8741 1.0000 + 5.1768 1.0000 + 5.5479 1.0000 + 6.0278 1.0000 + 9.2474 0.0000 + 10.2163 0.0000 + 11.7129 0.0000 + 12.5232 0.0000 + 15.0058 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7401 1.0000 + -30.0336 1.0000 + -29.9990 1.0000 + -29.9758 1.0000 + 1.0849 1.0000 + 2.3392 1.0000 + 4.8595 1.0000 + 5.1791 1.0000 + 5.4792 1.0000 + 5.9945 1.0000 + 9.2635 0.0000 + 10.0727 0.0000 + 11.5584 0.0000 + 12.9761 0.0000 + 14.9006 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7400 1.0000 + -30.0331 1.0000 + -30.0052 1.0000 + -29.9755 1.0000 + 1.2159 1.0000 + 2.5063 1.0000 + 4.8118 1.0000 + 5.1287 1.0000 + 5.3567 1.0000 + 5.9132 1.0000 + 9.1604 0.0000 + 9.8071 0.0000 + 11.5723 0.0000 + 13.7995 0.0000 + 14.5522 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7399 1.0000 + -30.0325 1.0000 + -30.0144 1.0000 + -29.9750 1.0000 + 1.4162 1.0000 + 2.7831 1.0000 + 4.7111 1.0000 + 4.9082 1.0000 + 5.3719 1.0000 + 5.8226 1.0000 + 8.6841 0.0000 + 9.8145 0.0000 + 11.6802 0.0000 + 13.7580 0.0000 + 15.0949 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7397 1.0000 + -30.0317 1.0000 + -30.0249 1.0000 + -29.9744 1.0000 + 1.6606 1.0000 + 3.1538 1.0000 + 4.4685 1.0000 + 4.7356 1.0000 + 5.4606 1.0000 + 5.7551 1.0000 + 8.0965 0.0013 + 9.9238 0.0000 + 11.4526 0.0000 + 13.4892 0.0000 + 15.4328 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7394 1.0000 + -30.0350 1.0000 + -30.0309 1.0000 + -29.9738 1.0000 + 1.9273 1.0000 + 3.5628 1.0000 + 4.1380 1.0000 + 4.6730 1.0000 + 5.5708 1.0000 + 5.7308 1.0000 + 7.5590 1.0000 + 9.9659 0.0000 + 10.8523 0.0000 + 14.1412 0.0000 + 15.3603 0.0000 + + + -91.8813 1.0000 + -91.4263 1.0000 + -91.2912 1.0000 + -65.7394 1.0000 + -30.0429 1.0000 + -30.0304 1.0000 + -29.9734 1.0000 + 2.1834 1.0000 + 3.8283 1.0000 + 3.8862 1.0000 + 4.7204 1.0000 + 5.6527 1.0000 + 5.7690 1.0000 + 7.1423 1.0000 + 9.7054 0.0000 + 10.4694 0.0000 + 14.5817 0.0000 + 17.9482 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2912 1.0000 + -65.7393 1.0000 + -30.0472 1.0000 + -30.0300 1.0000 + -29.9732 1.0000 + 2.3655 1.0000 + 3.6194 1.0000 + 4.0214 1.0000 + 4.8461 1.0000 + 5.7172 1.0000 + 5.7917 1.0000 + 6.9188 1.0000 + 9.3231 0.0000 + 10.4174 0.0000 + 14.4421 0.0000 + 15.8976 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7400 1.0000 + -30.0397 1.0000 + -29.9962 1.0000 + -29.9755 1.0000 + 1.4380 1.0000 + 1.9003 1.0000 + 4.9695 1.0000 + 5.1428 1.0000 + 5.6423 1.0000 + 5.8766 1.0000 + 9.4326 0.0000 + 10.2038 0.0000 + 11.3534 0.0000 + 12.4003 0.0000 + 15.1798 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7400 1.0000 + -30.0396 1.0000 + -29.9984 1.0000 + -29.9754 1.0000 + 1.4775 1.0000 + 1.9610 1.0000 + 4.9344 1.0000 + 5.1436 1.0000 + 5.6222 1.0000 + 5.8407 1.0000 + 9.4328 0.0000 + 9.9118 0.0000 + 11.4086 0.0000 + 12.7786 0.0000 + 14.7529 0.0000 + + + -91.8802 1.0000 + -91.4253 1.0000 + -91.2902 1.0000 + -65.7399 1.0000 + -30.0391 1.0000 + -30.0046 1.0000 + -29.9751 1.0000 + 1.5884 1.0000 + 2.1473 1.0000 + 4.8263 1.0000 + 5.1395 1.0000 + 5.5663 1.0000 + 5.7671 1.0000 + 9.1881 0.0000 + 9.5548 0.0000 + 11.6103 0.0000 + 13.5641 0.0000 + 14.7151 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2902 1.0000 + -65.7397 1.0000 + -30.0384 1.0000 + -30.0138 1.0000 + -29.9746 1.0000 + 1.7510 1.0000 + 2.4554 1.0000 + 4.6493 1.0000 + 5.1054 1.0000 + 5.5016 1.0000 + 5.7219 1.0000 + 8.5259 0.0000 + 9.5738 0.0000 + 11.7986 0.0000 + 14.0607 0.0000 + 14.5081 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2904 1.0000 + -65.7395 1.0000 + -30.0377 1.0000 + -30.0244 1.0000 + -29.9740 1.0000 + 1.9503 1.0000 + 2.8575 1.0000 + 4.4232 1.0000 + 5.0190 1.0000 + 5.4953 1.0000 + 5.7259 1.0000 + 7.8787 0.5228 + 9.6218 0.0000 + 11.5688 0.0000 + 13.6440 0.0000 + 15.2299 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7393 1.0000 + -30.0369 1.0000 + -30.0345 1.0000 + -29.9735 1.0000 + 2.1724 1.0000 + 3.2887 1.0000 + 4.1759 1.0000 + 4.9222 1.0000 + 5.5665 1.0000 + 5.7737 1.0000 + 7.3144 1.0000 + 9.6562 0.0000 + 10.8484 0.0000 + 13.8758 0.0000 + 15.6076 0.0000 + + + -91.8813 1.0000 + -91.4263 1.0000 + -91.2913 1.0000 + -65.7392 1.0000 + -30.0424 1.0000 + -30.0364 1.0000 + -29.9731 1.0000 + 2.3889 1.0000 + 3.6451 1.0000 + 3.9430 1.0000 + 4.8684 1.0000 + 5.6997 1.0000 + 5.8611 1.0000 + 6.8688 1.0000 + 9.6086 0.0000 + 10.1393 0.0000 + 15.1730 0.0000 + 16.3079 0.0000 + + + -91.8813 1.0000 + -91.4263 1.0000 + -91.2913 1.0000 + -65.7391 1.0000 + -30.0467 1.0000 + -30.0360 1.0000 + -29.9728 1.0000 + 2.5397 1.0000 + 3.7856 1.0000 + 3.8326 1.0000 + 4.8610 1.0000 + 5.8430 1.0000 + 5.9453 1.0000 + 6.5965 1.0000 + 9.3465 0.0000 + 9.8978 0.0000 + 15.1892 0.0000 + 16.2199 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2900 1.0000 + -65.7403 1.0000 + -30.0144 1.0000 + -29.9990 1.0000 + -29.9656 1.0000 + 0.0785 1.0000 + 2.7125 1.0000 + 4.5094 1.0000 + 4.6940 1.0000 + 4.9214 1.0000 + 8.5745 0.0000 + 10.1269 0.0000 + 10.5365 0.0000 + 10.8704 0.0000 + 13.9768 0.0000 + 14.6979 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7402 1.0000 + -30.0143 1.0000 + -30.0012 1.0000 + -29.9654 1.0000 + 0.1273 1.0000 + 2.6983 1.0000 + 4.4779 1.0000 + 4.7369 1.0000 + 4.9443 1.0000 + 8.3529 0.0000 + 10.1419 0.0000 + 10.4344 0.0000 + 11.1645 0.0000 + 13.6110 0.0000 + 14.5556 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7401 1.0000 + -30.0140 1.0000 + -30.0074 1.0000 + -29.9649 1.0000 + 0.2683 1.0000 + 2.6518 1.0000 + 4.4352 1.0000 + 4.8169 1.0000 + 5.0107 1.0000 + 7.8922 0.4469 + 10.1231 0.0000 + 10.2307 0.0000 + 11.8214 0.0000 + 13.2548 0.0000 + 14.5906 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7399 1.0000 + -30.0165 1.0000 + -30.0135 1.0000 + -29.9640 1.0000 + 0.4880 1.0000 + 2.5740 1.0000 + 4.4223 1.0000 + 4.8957 1.0000 + 5.1141 1.0000 + 7.4082 1.0000 + 9.8145 0.0000 + 10.2589 0.0000 + 12.5295 0.0000 + 12.7207 0.0000 + 14.5641 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7397 1.0000 + -30.0269 1.0000 + -30.0129 1.0000 + -29.9631 1.0000 + 0.7614 1.0000 + 2.4691 1.0000 + 4.4450 1.0000 + 4.9606 1.0000 + 5.2429 1.0000 + 6.9802 1.0000 + 9.4992 0.0000 + 10.2989 0.0000 + 12.2571 0.0000 + 12.7704 0.0000 + 14.6183 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7395 1.0000 + -30.0369 1.0000 + -30.0123 1.0000 + -29.9621 1.0000 + 1.0553 1.0000 + 2.3467 1.0000 + 4.4910 1.0000 + 5.0061 1.0000 + 5.3805 1.0000 + 6.6366 1.0000 + 9.2609 0.0000 + 10.3038 0.0000 + 11.8735 0.0000 + 12.5601 0.0000 + 15.5151 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7394 1.0000 + -30.0447 1.0000 + -30.0119 1.0000 + -29.9614 1.0000 + 1.3266 1.0000 + 2.2198 1.0000 + 4.5371 1.0000 + 5.0314 1.0000 + 5.5048 1.0000 + 6.3900 1.0000 + 9.1261 0.0000 + 10.2612 0.0000 + 11.5989 0.0000 + 12.2895 0.0000 + 15.2894 0.0000 + + + -91.8792 1.0000 + -91.4242 1.0000 + -91.2892 1.0000 + -65.7392 1.0000 + -30.0489 1.0000 + -30.0116 1.0000 + -29.9610 1.0000 + 1.5141 1.0000 + 2.1185 1.0000 + 4.5650 1.0000 + 5.0425 1.0000 + 5.5850 1.0000 + 6.2547 1.0000 + 9.0783 0.0000 + 10.2059 0.0000 + 11.4660 0.0000 + 12.1310 0.0000 + 14.9984 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7402 1.0000 + -30.0143 1.0000 + -29.9987 1.0000 + -29.9687 1.0000 + 0.1308 1.0000 + 2.7052 1.0000 + 4.5062 1.0000 + 4.7211 1.0000 + 4.9341 1.0000 + 8.2944 0.0000 + 10.1322 0.0000 + 10.7510 0.0000 + 10.8939 0.0000 + 14.0685 0.0000 + 19.2975 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7402 1.0000 + -30.0141 1.0000 + -30.0009 1.0000 + -29.9685 1.0000 + 0.1799 1.0000 + 2.6961 1.0000 + 4.4700 1.0000 + 4.7546 1.0000 + 4.9662 1.0000 + 8.0964 0.0013 + 10.1465 0.0000 + 10.7223 0.0000 + 11.0608 0.0000 + 13.4843 0.0000 + 14.7098 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7400 1.0000 + -30.0138 1.0000 + -30.0071 1.0000 + -29.9680 1.0000 + 0.3214 1.0000 + 2.6647 1.0000 + 4.4164 1.0000 + 4.8132 1.0000 + 5.0527 1.0000 + 7.6707 0.9986 + 10.1672 0.0000 + 10.4384 0.0000 + 11.6127 0.0000 + 13.1255 0.0000 + 15.0675 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7399 1.0000 + -30.0163 1.0000 + -30.0133 1.0000 + -29.9671 1.0000 + 0.5403 1.0000 + 2.6055 1.0000 + 4.3962 1.0000 + 4.8703 1.0000 + 5.1699 1.0000 + 7.2169 1.0000 + 9.9996 0.0000 + 10.2485 0.0000 + 11.9915 0.0000 + 13.4963 0.0000 + 14.9307 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7397 1.0000 + -30.0266 1.0000 + -30.0127 1.0000 + -29.9662 1.0000 + 0.8138 1.0000 + 2.5179 1.0000 + 4.4217 1.0000 + 4.9184 1.0000 + 5.2999 1.0000 + 6.8210 1.0000 + 9.6472 0.0000 + 10.2064 0.0000 + 11.8412 0.0000 + 13.2636 0.0000 + 14.4602 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7395 1.0000 + -30.0366 1.0000 + -30.0121 1.0000 + -29.9653 1.0000 + 1.1061 1.0000 + 2.4089 1.0000 + 4.4770 1.0000 + 4.9499 1.0000 + 5.4309 1.0000 + 6.5164 1.0000 + 9.3564 0.0000 + 10.0920 0.0000 + 11.6293 0.0000 + 13.0657 0.0000 + 15.1621 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7393 1.0000 + -30.0444 1.0000 + -30.0117 1.0000 + -29.9646 1.0000 + 1.3737 1.0000 + 2.2928 1.0000 + 4.5311 1.0000 + 4.9651 1.0000 + 5.5497 1.0000 + 6.3103 1.0000 + 9.1728 0.0000 + 9.9154 0.0000 + 11.5234 0.0000 + 12.7770 0.0000 + 15.3120 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7392 1.0000 + -30.0487 1.0000 + -30.0114 1.0000 + -29.9642 1.0000 + 1.5535 1.0000 + 2.2004 1.0000 + 4.5595 1.0000 + 4.9718 1.0000 + 5.6296 1.0000 + 6.2011 1.0000 + 9.0958 0.0000 + 9.7761 0.0000 + 11.4975 0.0000 + 12.5932 0.0000 + 15.0907 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7400 1.0000 + -30.0138 1.0000 + -29.9979 1.0000 + -29.9775 1.0000 + 0.2825 1.0000 + 2.6761 1.0000 + 4.5064 1.0000 + 4.8000 1.0000 + 4.9688 1.0000 + 7.7564 0.9630 + 10.1137 0.0000 + 10.4867 0.0000 + 11.6479 0.0000 + 13.3919 0.0000 + 14.4508 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7400 1.0000 + -30.0137 1.0000 + -30.0001 1.0000 + -29.9773 1.0000 + 0.3313 1.0000 + 2.6826 1.0000 + 4.4604 1.0000 + 4.8061 1.0000 + 5.0256 1.0000 + 7.5867 1.0000 + 10.1283 0.0000 + 10.6729 0.0000 + 11.4680 0.0000 + 13.1394 0.0000 + 14.3328 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7398 1.0000 + -30.0133 1.0000 + -30.0063 1.0000 + -29.9768 1.0000 + 0.4736 1.0000 + 2.6942 1.0000 + 4.3753 1.0000 + 4.8323 1.0000 + 5.1415 1.0000 + 7.2084 1.0000 + 10.1072 0.0000 + 10.9314 0.0000 + 11.2329 0.0000 + 12.9608 0.0000 + 14.6853 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2900 1.0000 + -65.7397 1.0000 + -30.0155 1.0000 + -30.0128 1.0000 + -29.9760 1.0000 + 0.6917 1.0000 + 2.6939 1.0000 + 4.3211 1.0000 + 4.8693 1.0000 + 5.2665 1.0000 + 6.8005 1.0000 + 9.9630 0.0000 + 10.5675 0.0000 + 11.4806 0.0000 + 13.0652 0.0000 + 14.4338 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7395 1.0000 + -30.0259 1.0000 + -30.0122 1.0000 + -29.9751 1.0000 + 0.9628 1.0000 + 2.6633 1.0000 + 4.3343 1.0000 + 4.8939 1.0000 + 5.3859 1.0000 + 6.4620 1.0000 + 9.6578 0.0000 + 10.1908 0.0000 + 11.5257 0.0000 + 13.6164 0.0000 + 15.5505 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7393 1.0000 + -30.0359 1.0000 + -30.0116 1.0000 + -29.9742 1.0000 + 1.2487 1.0000 + 2.5974 1.0000 + 4.4087 1.0000 + 4.8823 1.0000 + 5.5018 1.0000 + 6.2380 1.0000 + 9.3183 0.0000 + 9.7979 0.0000 + 11.5299 0.0000 + 13.8800 0.0000 + 14.6587 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7391 1.0000 + -30.0437 1.0000 + -30.0112 1.0000 + -29.9735 1.0000 + 1.5051 1.0000 + 2.5119 1.0000 + 4.4950 1.0000 + 4.8424 1.0000 + 5.6205 1.0000 + 6.1187 1.0000 + 9.0647 0.0000 + 9.4200 0.0000 + 11.5701 0.0000 + 13.6103 0.0000 + 15.8073 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7390 1.0000 + -30.0480 1.0000 + -30.0110 1.0000 + -29.9731 1.0000 + 1.6705 1.0000 + 2.4419 1.0000 + 4.5400 1.0000 + 4.8182 1.0000 + 5.7164 1.0000 + 6.0601 1.0000 + 8.9498 0.0000 + 9.1654 0.0000 + 11.6090 0.0000 + 13.4604 0.0000 + 15.4612 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7397 1.0000 + -30.0130 1.0000 + -29.9967 1.0000 + -29.9905 1.0000 + 0.5171 1.0000 + 2.6203 1.0000 + 4.5293 1.0000 + 4.9234 1.0000 + 5.0169 1.0000 + 7.2171 1.0000 + 9.9208 0.0000 + 10.3388 0.0000 + 12.4204 0.0000 + 12.7407 0.0000 + 14.2892 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7397 1.0000 + -30.0129 1.0000 + -29.9989 1.0000 + -29.9903 1.0000 + 0.5656 1.0000 + 2.6459 1.0000 + 4.4784 1.0000 + 4.8801 1.0000 + 5.1125 1.0000 + 7.0689 1.0000 + 9.9752 0.0000 + 10.4280 0.0000 + 12.5187 0.0000 + 32.9739 0.0000 + 35.7387 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7396 1.0000 + -30.0125 1.0000 + -30.0051 1.0000 + -29.9898 1.0000 + 0.7061 1.0000 + 2.7176 1.0000 + 4.3568 1.0000 + 4.8822 1.0000 + 5.2415 1.0000 + 6.7298 1.0000 + 9.8871 0.0000 + 10.7646 0.0000 + 11.4466 0.0000 + 14.5915 0.0000 + 38.5493 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2900 1.0000 + -65.7394 1.0000 + -30.0143 1.0000 + -30.0120 1.0000 + -29.9890 1.0000 + 0.9230 1.0000 + 2.8144 1.0000 + 4.2395 1.0000 + 4.9255 1.0000 + 5.3419 1.0000 + 6.3667 1.0000 + 9.5538 0.0000 + 11.0084 0.0000 + 11.1693 0.0000 + 13.0107 0.0000 + 14.8133 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7392 1.0000 + -30.0248 1.0000 + -30.0115 1.0000 + -29.9881 1.0000 + 1.1884 1.0000 + 2.8932 1.0000 + 4.1953 1.0000 + 4.9555 1.0000 + 5.3985 1.0000 + 6.1037 1.0000 + 9.0980 0.0000 + 10.5664 0.0000 + 11.4010 0.0000 + 13.2814 0.0000 + 14.7039 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7390 1.0000 + -30.0349 1.0000 + -30.0110 1.0000 + -29.9873 1.0000 + 1.4648 1.0000 + 2.9108 1.0000 + 4.2604 1.0000 + 4.8930 1.0000 + 5.4670 1.0000 + 5.9927 1.0000 + 8.6547 0.0000 + 10.0335 0.0000 + 11.5522 0.0000 + 13.8640 0.0000 + 14.7888 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7389 1.0000 + -30.0427 1.0000 + -30.0105 1.0000 + -29.9866 1.0000 + 1.7087 1.0000 + 2.8704 1.0000 + 4.3914 1.0000 + 4.7599 1.0000 + 5.6061 1.0000 + 5.9584 1.0000 + 8.3087 0.0000 + 9.5375 0.0000 + 11.6648 0.0000 + 14.4457 0.0000 + 14.7936 0.0000 + + + -91.8810 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7388 1.0000 + -30.0470 1.0000 + -30.0104 1.0000 + -29.9863 1.0000 + 1.8594 1.0000 + 2.8218 1.0000 + 4.4916 1.0000 + 4.6640 1.0000 + 5.7708 1.0000 + 5.9044 1.0000 + 8.1176 0.0004 + 9.2281 0.0000 + 11.7299 0.0000 + 14.3458 0.0000 + 15.1540 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7395 1.0000 + -30.0121 1.0000 + -30.0053 1.0000 + -29.9953 1.0000 + 0.8079 1.0000 + 2.5334 1.0000 + 4.5838 1.0000 + 5.0666 1.0000 + 5.0783 1.0000 + 6.7500 1.0000 + 9.6333 0.0000 + 10.3108 0.0000 + 12.2505 0.0000 + 12.6826 0.0000 + 14.7554 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7394 1.0000 + -30.0120 1.0000 + -30.0051 1.0000 + -29.9975 1.0000 + 0.8563 1.0000 + 2.5778 1.0000 + 4.5415 1.0000 + 4.9542 1.0000 + 5.2219 1.0000 + 6.6261 1.0000 + 9.6800 0.0000 + 10.3030 0.0000 + 11.8282 0.0000 + 13.2292 0.0000 + 14.7293 0.0000 + + + -91.8806 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7393 1.0000 + -30.0117 1.0000 + -30.0046 1.0000 + -30.0037 1.0000 + 0.9944 1.0000 + 2.7079 1.0000 + 4.4058 1.0000 + 4.9318 1.0000 + 5.3400 1.0000 + 6.3377 1.0000 + 9.5130 0.0000 + 10.4672 0.0000 + 11.4998 0.0000 + 13.8778 0.0000 + 18.0925 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7391 1.0000 + -30.0130 1.0000 + -30.0112 1.0000 + -30.0039 1.0000 + 1.2055 1.0000 + 2.9156 1.0000 + 4.2276 1.0000 + 4.9929 1.0000 + 5.3616 1.0000 + 6.0549 1.0000 + 9.0232 0.0000 + 10.8076 0.0000 + 11.3166 0.0000 + 13.1705 0.0000 + 14.8540 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7389 1.0000 + -30.0235 1.0000 + -30.0107 1.0000 + -30.0030 1.0000 + 1.4620 1.0000 + 3.1623 1.0000 + 4.0828 1.0000 + 5.0864 1.0000 + 5.2214 1.0000 + 5.9363 1.0000 + 8.4563 0.0000 + 10.8355 0.0000 + 11.2520 0.0000 + 13.1419 0.0000 + 15.5800 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7387 1.0000 + -30.0336 1.0000 + -30.0102 1.0000 + -30.0022 1.0000 + 1.7297 1.0000 + 3.3337 1.0000 + 4.0790 1.0000 + 4.9123 1.0000 + 5.2921 1.0000 + 5.9385 1.0000 + 7.9391 0.2131 + 10.2850 0.0000 + 11.4643 0.0000 + 13.4225 0.0000 + 15.4710 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7386 1.0000 + -30.0415 1.0000 + -30.0098 1.0000 + -30.0016 1.0000 + 1.9664 1.0000 + 3.3331 1.0000 + 4.2564 1.0000 + 4.6894 1.0000 + 5.4784 1.0000 + 5.9482 1.0000 + 7.5447 1.0000 + 9.6945 0.0000 + 11.6252 0.0000 + 13.7684 0.0000 + 15.1176 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7385 1.0000 + -30.0458 1.0000 + -30.0096 1.0000 + -30.0012 1.0000 + 2.1159 1.0000 + 3.2777 1.0000 + 4.4136 1.0000 + 4.5730 1.0000 + 5.6529 1.0000 + 5.9143 1.0000 + 7.3340 1.0000 + 9.3087 0.0000 + 11.7152 0.0000 + 14.2992 0.0000 + 15.1018 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7391 1.0000 + -30.0194 1.0000 + -30.0113 1.0000 + -29.9940 1.0000 + 1.1188 1.0000 + 2.4225 1.0000 + 4.6599 1.0000 + 5.1059 1.0000 + 5.2458 1.0000 + 6.3781 1.0000 + 9.4462 0.0000 + 10.2515 0.0000 + 11.8462 0.0000 + 12.3849 0.0000 + 15.2872 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7391 1.0000 + -30.0192 1.0000 + -30.0112 1.0000 + -29.9962 1.0000 + 1.1663 1.0000 + 2.4798 1.0000 + 4.6338 1.0000 + 5.0065 1.0000 + 5.3465 1.0000 + 6.2884 1.0000 + 9.4413 0.0000 + 10.1362 0.0000 + 11.5983 0.0000 + 12.9221 0.0000 + 14.9830 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7390 1.0000 + -30.0187 1.0000 + -30.0108 1.0000 + -30.0025 1.0000 + 1.2998 1.0000 + 2.6535 1.0000 + 4.5224 1.0000 + 4.9355 1.0000 + 5.4403 1.0000 + 6.0847 1.0000 + 9.1320 0.0000 + 10.1355 0.0000 + 11.4935 0.0000 + 14.1593 0.0000 + 15.0031 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7388 1.0000 + -30.0181 1.0000 + -30.0118 1.0000 + -30.0103 1.0000 + 1.5018 1.0000 + 2.9434 1.0000 + 4.3332 1.0000 + 4.9416 1.0000 + 5.4009 1.0000 + 5.9358 1.0000 + 8.5164 0.0000 + 10.3690 0.0000 + 11.4796 0.0000 + 13.6233 0.0000 + 15.4168 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7386 1.0000 + -30.0224 1.0000 + -30.0173 1.0000 + -30.0098 1.0000 + 1.7486 1.0000 + 3.3382 1.0000 + 4.1257 1.0000 + 4.9091 1.0000 + 5.2805 1.0000 + 5.9294 1.0000 + 7.8705 0.5687 + 10.5822 0.0000 + 11.3190 0.0000 + 14.4746 0.0000 + 15.4084 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7384 1.0000 + -30.0325 1.0000 + -30.0165 1.0000 + -30.0094 1.0000 + 2.0137 1.0000 + 3.7924 1.0000 + 3.9366 1.0000 + 4.7182 1.0000 + 5.3253 1.0000 + 5.9653 1.0000 + 7.2969 1.0000 + 10.3874 0.0000 + 11.1648 0.0000 + 13.7918 0.0000 + 15.7649 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7383 1.0000 + -30.0404 1.0000 + -30.0159 1.0000 + -30.0090 1.0000 + 2.2614 1.0000 + 3.7478 1.0000 + 4.2324 1.0000 + 4.5462 1.0000 + 5.4530 1.0000 + 5.9817 1.0000 + 6.8661 1.0000 + 9.8164 0.0000 + 11.2354 0.0000 + 13.3824 0.0000 + 15.4946 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7382 1.0000 + -30.0447 1.0000 + -30.0156 1.0000 + -30.0087 1.0000 + 2.4276 1.0000 + 3.6308 1.0000 + 4.3095 1.0000 + 4.6704 1.0000 + 5.5414 1.0000 + 5.9604 1.0000 + 6.6554 1.0000 + 9.3847 0.0000 + 11.2998 0.0000 + 13.4998 0.0000 + 15.5406 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7389 1.0000 + -30.0304 1.0000 + -30.0107 1.0000 + -29.9930 1.0000 + 1.4059 1.0000 + 2.2991 1.0000 + 4.7303 1.0000 + 5.1280 1.0000 + 5.4014 1.0000 + 6.1085 1.0000 + 9.4200 0.0000 + 10.1068 0.0000 + 11.5735 0.0000 + 12.0510 0.0000 + 15.2640 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7389 1.0000 + -30.0302 1.0000 + -30.0105 1.0000 + -29.9952 1.0000 + 1.4496 1.0000 + 2.3666 1.0000 + 4.7143 1.0000 + 5.0343 1.0000 + 5.4738 1.0000 + 6.0596 1.0000 + 9.3470 0.0000 + 9.8894 0.0000 + 11.4911 0.0000 + 12.5501 0.0000 + 15.0042 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7387 1.0000 + -30.0298 1.0000 + -30.0102 1.0000 + -30.0014 1.0000 + 1.5741 1.0000 + 2.5692 1.0000 + 4.6449 1.0000 + 4.8922 1.0000 + 5.5587 1.0000 + 5.9560 1.0000 + 8.8420 0.0000 + 9.8198 0.0000 + 11.5326 0.0000 + 13.4548 0.0000 + 15.3070 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2903 1.0000 + -65.7385 1.0000 + -30.0291 1.0000 + -30.0108 1.0000 + -30.0097 1.0000 + 1.7645 1.0000 + 2.9023 1.0000 + 4.5006 1.0000 + 4.7818 1.0000 + 5.5503 1.0000 + 5.9099 1.0000 + 8.1185 0.0004 + 9.9431 0.0000 + 11.5982 0.0000 + 14.1559 0.0000 + 15.5155 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7383 1.0000 + -30.0283 1.0000 + -30.0214 1.0000 + -30.0092 1.0000 + 2.0055 1.0000 + 3.3368 1.0000 + 4.3451 1.0000 + 4.6481 1.0000 + 5.4981 1.0000 + 5.9423 1.0000 + 7.4143 1.0000 + 10.0772 0.0000 + 11.5013 0.0000 + 14.0698 0.0000 + 15.1813 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7382 1.0000 + -30.0316 1.0000 + -30.0276 1.0000 + -30.0088 1.0000 + 2.2811 1.0000 + 3.7459 1.0000 + 4.2885 1.0000 + 4.4782 1.0000 + 5.5123 1.0000 + 5.9815 1.0000 + 6.7976 1.0000 + 10.1223 0.0000 + 10.9975 0.0000 + 13.3162 0.0000 + 35.4508 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7380 1.0000 + -30.0395 1.0000 + -30.0270 1.0000 + -30.0084 1.0000 + 2.5605 1.0000 + 3.8201 1.0000 + 4.2232 1.0000 + 4.6720 1.0000 + 5.5887 1.0000 + 5.9853 1.0000 + 6.3304 1.0000 + 9.8542 0.0000 + 10.6312 0.0000 + 13.3008 0.0000 + 15.9780 0.0000 + + + -91.8815 1.0000 + -91.4265 1.0000 + -91.2915 1.0000 + -65.7380 1.0000 + -30.0439 1.0000 + -30.0268 1.0000 + -30.0082 1.0000 + 2.7690 1.0000 + 3.7318 1.0000 + 4.1082 1.0000 + 5.0768 1.0000 + 5.5474 1.0000 + 5.9652 1.0000 + 6.1318 1.0000 + 9.4421 0.0000 + 10.5773 0.0000 + 13.3598 0.0000 + 15.6239 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7388 1.0000 + -30.0364 1.0000 + -30.0103 1.0000 + -29.9924 1.0000 + 1.6041 1.0000 + 2.1949 1.0000 + 4.7707 1.0000 + 5.1368 1.0000 + 5.5104 1.0000 + 5.9515 1.0000 + 9.5274 0.0000 + 9.9063 0.0000 + 11.4475 0.0000 + 11.8572 0.0000 + 14.7311 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7387 1.0000 + -30.0362 1.0000 + -30.0101 1.0000 + -29.9946 1.0000 + 1.6419 1.0000 + 2.2709 1.0000 + 4.7507 1.0000 + 5.0499 1.0000 + 5.5743 1.0000 + 5.9294 1.0000 + 9.4032 0.0000 + 9.6388 0.0000 + 11.4753 0.0000 + 12.3145 0.0000 + 15.0586 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7386 1.0000 + -30.0358 1.0000 + -30.0099 1.0000 + -30.0009 1.0000 + 1.7525 1.0000 + 2.4947 1.0000 + 4.6872 1.0000 + 4.8807 1.0000 + 5.6780 1.0000 + 5.8786 1.0000 + 8.6877 0.0000 + 9.6263 0.0000 + 11.5761 0.0000 + 13.1883 0.0000 + 15.0368 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7384 1.0000 + -30.0351 1.0000 + -30.0103 1.0000 + -30.0094 1.0000 + 1.9301 1.0000 + 2.8492 1.0000 + 4.5787 1.0000 + 4.7121 1.0000 + 5.7281 1.0000 + 5.8578 1.0000 + 7.8952 0.4304 + 9.6755 0.0000 + 11.6667 0.0000 + 14.3103 0.0000 + 38.9176 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7382 1.0000 + -30.0344 1.0000 + -30.0209 1.0000 + -30.0089 1.0000 + 2.1704 1.0000 + 3.2839 1.0000 + 4.4368 1.0000 + 4.5966 1.0000 + 5.6971 1.0000 + 5.9055 1.0000 + 7.1618 1.0000 + 9.7305 0.0000 + 11.5519 0.0000 + 13.7092 0.0000 + 15.1518 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7380 1.0000 + -30.0336 1.0000 + -30.0310 1.0000 + -30.0084 1.0000 + 2.4625 1.0000 + 3.6552 1.0000 + 4.2572 1.0000 + 4.6667 1.0000 + 5.6659 1.0000 + 5.9462 1.0000 + 6.5416 1.0000 + 9.7701 0.0000 + 11.0159 0.0000 + 13.7528 0.0000 + 15.5596 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7379 1.0000 + -30.0390 1.0000 + -30.0331 1.0000 + -30.0080 1.0000 + 2.7831 1.0000 + 3.7889 1.0000 + 4.0361 1.0000 + 5.0350 1.0000 + 5.6638 1.0000 + 5.9246 1.0000 + 6.1048 1.0000 + 9.7327 0.0000 + 10.2984 0.0000 + 13.3147 0.0000 + 15.4211 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2912 1.0000 + -65.7378 1.0000 + -30.0434 1.0000 + -30.0328 1.0000 + -30.0078 1.0000 + 3.0626 1.0000 + 3.7463 1.0000 + 3.8683 1.0000 + 5.4341 1.0000 + 5.6823 1.0000 + 5.7756 1.0000 + 5.9556 1.0000 + 9.4675 0.0000 + 10.0217 0.0000 + 13.3491 0.0000 + 16.1206 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7397 1.0000 + -30.0332 1.0000 + -29.9970 1.0000 + -29.9635 1.0000 + 0.5736 1.0000 + 2.1119 1.0000 + 4.5165 1.0000 + 4.5676 1.0000 + 4.7863 1.0000 + 8.6168 0.0000 + 10.8092 0.0000 + 11.1222 0.0000 + 11.2007 0.0000 + 14.0197 0.0000 + 39.2698 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7395 1.0000 + -30.0330 1.0000 + -29.9991 1.0000 + -29.9633 1.0000 + 0.6291 1.0000 + 2.0977 1.0000 + 4.5093 1.0000 + 4.5944 1.0000 + 4.8096 1.0000 + 8.4094 0.0000 + 10.7035 0.0000 + 11.1656 0.0000 + 11.6529 0.0000 + 14.1405 0.0000 + 41.5789 0.0000 + + + -91.8796 1.0000 + -91.4247 1.0000 + -91.2896 1.0000 + -65.7394 1.0000 + -30.0326 1.0000 + -30.0053 1.0000 + -29.9627 1.0000 + 0.7865 1.0000 + 2.0532 1.0000 + 4.5078 1.0000 + 4.6507 1.0000 + 4.8773 1.0000 + 7.9670 0.1168 + 10.4342 0.0000 + 11.1229 0.0000 + 12.2041 0.0000 + 12.2648 0.0000 + 14.3078 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7392 1.0000 + -30.0322 1.0000 + -30.0144 1.0000 + -29.9619 1.0000 + 1.0275 1.0000 + 1.9962 1.0000 + 4.5159 1.0000 + 4.7211 1.0000 + 4.9818 1.0000 + 7.4959 1.0000 + 10.0943 0.0000 + 11.0206 0.0000 + 11.8767 0.0000 + 13.0219 0.0000 + 14.6524 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7390 1.0000 + -30.0316 1.0000 + -30.0249 1.0000 + -29.9609 1.0000 + 1.3090 1.0000 + 1.9542 1.0000 + 4.5205 1.0000 + 4.7985 1.0000 + 5.1102 1.0000 + 7.0804 1.0000 + 9.7491 0.0000 + 10.7814 0.0000 + 12.7825 0.0000 + 14.2666 0.0000 + 40.5060 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7388 1.0000 + -30.0349 1.0000 + -30.0311 1.0000 + -29.9600 1.0000 + 1.5312 1.0000 + 1.9991 1.0000 + 4.5052 1.0000 + 4.8754 1.0000 + 5.2431 1.0000 + 6.7527 1.0000 + 9.4493 0.0000 + 10.4582 0.0000 + 11.6293 0.0000 + 12.3813 0.0000 + 15.5445 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7387 1.0000 + -30.0428 1.0000 + -30.0307 1.0000 + -29.9593 1.0000 + 1.5968 1.0000 + 2.1802 1.0000 + 4.4669 1.0000 + 4.9394 1.0000 + 5.3556 1.0000 + 6.5274 1.0000 + 9.2375 0.0000 + 10.2067 0.0000 + 12.0084 0.0000 + 14.2385 0.0000 + 36.2448 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7386 1.0000 + -30.0470 1.0000 + -30.0305 1.0000 + -29.9589 1.0000 + 1.5982 1.0000 + 2.3352 1.0000 + 4.4290 1.0000 + 4.9767 1.0000 + 5.4211 1.0000 + 6.4124 1.0000 + 9.1302 0.0000 + 10.0506 0.0000 + 11.6269 0.0000 + 11.8418 0.0000 + 15.0676 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7395 1.0000 + -30.0330 1.0000 + -29.9966 1.0000 + -29.9665 1.0000 + 0.6330 1.0000 + 2.1018 1.0000 + 4.5271 1.0000 + 4.5956 1.0000 + 4.7951 1.0000 + 8.3518 0.0000 + 11.1089 0.0000 + 11.1684 0.0000 + 13.7806 0.0000 + 14.1363 0.0000 + 19.9386 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2900 1.0000 + -65.7395 1.0000 + -30.0328 1.0000 + -29.9988 1.0000 + -29.9664 1.0000 + 0.6878 1.0000 + 2.0898 1.0000 + 4.5140 1.0000 + 4.6007 1.0000 + 4.8434 1.0000 + 8.1649 0.0000 + 10.9818 0.0000 + 11.1274 0.0000 + 11.4259 0.0000 + 13.4427 0.0000 + 14.6883 0.0000 + + + -91.8794 1.0000 + -91.4244 1.0000 + -91.2894 1.0000 + -65.7393 1.0000 + -30.0325 1.0000 + -30.0049 1.0000 + -29.9658 1.0000 + 0.8465 1.0000 + 2.0591 1.0000 + 4.4969 1.0000 + 4.6223 1.0000 + 4.9548 1.0000 + 7.7541 0.9656 + 10.6858 0.0000 + 11.0717 0.0000 + 11.8125 0.0000 + 12.3245 0.0000 + 14.7406 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2898 1.0000 + -65.7392 1.0000 + -30.0320 1.0000 + -30.0142 1.0000 + -29.9650 1.0000 + 1.0875 1.0000 + 2.0159 1.0000 + 4.4997 1.0000 + 4.6561 1.0000 + 5.0929 1.0000 + 7.3100 1.0000 + 10.3059 0.0000 + 10.8388 0.0000 + 11.7195 0.0000 + 13.5031 0.0000 + 14.7149 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2896 1.0000 + -65.7389 1.0000 + -30.0315 1.0000 + -30.0246 1.0000 + -29.9641 1.0000 + 1.3668 1.0000 + 1.9926 1.0000 + 4.5154 1.0000 + 4.6963 1.0000 + 5.2390 1.0000 + 6.9228 1.0000 + 9.9077 0.0000 + 10.4464 0.0000 + 11.5965 0.0000 + 13.3203 0.0000 + 14.3775 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7388 1.0000 + -30.0347 1.0000 + -30.0310 1.0000 + -29.9632 1.0000 + 1.5777 1.0000 + 2.0640 1.0000 + 4.5124 1.0000 + 4.7455 1.0000 + 5.3763 1.0000 + 6.6315 1.0000 + 9.5524 0.0000 + 10.0473 0.0000 + 12.1279 0.0000 + 14.4175 0.0000 + 15.1742 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7386 1.0000 + -30.0425 1.0000 + -30.0306 1.0000 + -29.9625 1.0000 + 1.6379 1.0000 + 2.2630 1.0000 + 4.4722 1.0000 + 4.7995 1.0000 + 5.4863 1.0000 + 6.4480 1.0000 + 9.2884 0.0000 + 9.7273 0.0000 + 11.6147 0.0000 + 12.5272 0.0000 + 15.4126 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7385 1.0000 + -30.0468 1.0000 + -30.0303 1.0000 + -29.9621 1.0000 + 1.6405 1.0000 + 2.4253 1.0000 + 4.4262 1.0000 + 4.8365 1.0000 + 5.5489 1.0000 + 6.3631 1.0000 + 9.1487 0.0000 + 9.5497 0.0000 + 11.6341 0.0000 + 12.3538 0.0000 + 15.2479 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7394 1.0000 + -30.0325 1.0000 + -29.9959 1.0000 + -29.9755 1.0000 + 0.8009 1.0000 + 2.0701 1.0000 + 4.5572 1.0000 + 4.6768 1.0000 + 4.8227 1.0000 + 7.8284 0.7789 + 10.7722 0.0000 + 11.2548 0.0000 + 12.1273 0.0000 + 13.8872 0.0000 + 19.3208 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7393 1.0000 + -30.0324 1.0000 + -29.9980 1.0000 + -29.9752 1.0000 + 0.8570 1.0000 + 2.0712 1.0000 + 4.5273 1.0000 + 4.6328 1.0000 + 4.9304 1.0000 + 7.6670 0.9989 + 10.9814 0.0000 + 11.0519 0.0000 + 11.6948 0.0000 + 14.0784 0.0000 + 42.2456 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2896 1.0000 + -65.7391 1.0000 + -30.0320 1.0000 + -30.0042 1.0000 + -29.9747 1.0000 + 1.0176 1.0000 + 2.0713 1.0000 + 4.4474 1.0000 + 4.6405 1.0000 + 5.1016 1.0000 + 7.2990 1.0000 + 10.7764 0.0000 + 11.1820 0.0000 + 11.3580 0.0000 + 12.3963 0.0000 + 14.3579 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2899 1.0000 + -65.7390 1.0000 + -30.0316 1.0000 + -30.0134 1.0000 + -29.9739 1.0000 + 1.2586 1.0000 + 2.0756 1.0000 + 4.3961 1.0000 + 4.6691 1.0000 + 5.2775 1.0000 + 6.8932 1.0000 + 10.2551 0.0000 + 10.7808 0.0000 + 11.4976 0.0000 + 12.8877 0.0000 + 15.8667 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7388 1.0000 + -30.0310 1.0000 + -30.0239 1.0000 + -29.9730 1.0000 + 1.5255 1.0000 + 2.1140 1.0000 + 4.3949 1.0000 + 4.6822 1.0000 + 5.4431 1.0000 + 6.5515 1.0000 + 9.6939 0.0000 + 10.3186 0.0000 + 11.5514 0.0000 + 13.6887 0.0000 + 13.9888 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2903 1.0000 + -65.7386 1.0000 + -30.0340 1.0000 + -30.0305 1.0000 + -29.9721 1.0000 + 1.7053 1.0000 + 2.2618 1.0000 + 4.4314 1.0000 + 4.6508 1.0000 + 5.5873 1.0000 + 6.3317 1.0000 + 9.2060 0.0000 + 9.8463 0.0000 + 11.5922 0.0000 + 13.7036 0.0000 + 15.4834 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7384 1.0000 + -30.0418 1.0000 + -30.0301 1.0000 + -29.9715 1.0000 + 1.7590 1.0000 + 2.5073 1.0000 + 4.4571 1.0000 + 4.5923 1.0000 + 5.6986 1.0000 + 6.2426 1.0000 + 8.8451 0.0000 + 9.4436 0.0000 + 11.9279 0.0000 + 13.5539 0.0000 + 15.7128 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7384 1.0000 + -30.0461 1.0000 + -30.0299 1.0000 + -29.9711 1.0000 + 1.7660 1.0000 + 2.6912 1.0000 + 4.4142 1.0000 + 4.5895 1.0000 + 5.7615 1.0000 + 6.2306 1.0000 + 8.6509 0.0000 + 9.2035 0.0000 + 11.6476 0.0000 + 14.2805 0.0000 + 19.5232 0.0000 + + + -91.8815 1.0000 + -91.4265 1.0000 + -91.2914 1.0000 + -65.7392 1.0000 + -30.0318 1.0000 + -29.9947 1.0000 + -29.9885 1.0000 + 1.0577 1.0000 + 2.0304 1.0000 + 4.6009 1.0000 + 4.8033 1.0000 + 4.8693 1.0000 + 7.2978 1.0000 + 10.4120 0.0000 + 10.9345 0.0000 + 11.8493 0.0000 + 12.9361 0.0000 + 14.3082 0.0000 + + + -91.8811 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7391 1.0000 + -30.0317 1.0000 + -29.9968 1.0000 + -29.9883 1.0000 + 1.1137 1.0000 + 2.0461 1.0000 + 4.5591 1.0000 + 4.6899 1.0000 + 5.0505 1.0000 + 7.1547 1.0000 + 10.5597 0.0000 + 10.7725 0.0000 + 11.6641 0.0000 + 12.9304 0.0000 + 41.7172 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2904 1.0000 + -65.7389 1.0000 + -30.0313 1.0000 + -30.0030 1.0000 + -29.9878 1.0000 + 1.2740 1.0000 + 2.0929 1.0000 + 4.4116 1.0000 + 4.7042 1.0000 + 5.2624 1.0000 + 6.8170 1.0000 + 10.1893 0.0000 + 11.0104 0.0000 + 11.7700 0.0000 + 13.5929 0.0000 + 14.2934 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7387 1.0000 + -30.0309 1.0000 + -30.0122 1.0000 + -29.9870 1.0000 + 1.5073 1.0000 + 2.1781 1.0000 + 4.2861 1.0000 + 4.7582 1.0000 + 5.4598 1.0000 + 6.4336 1.0000 + 9.5343 0.0000 + 11.2013 0.0000 + 11.3387 0.0000 + 13.1060 0.0000 + 38.3097 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7385 1.0000 + -30.0304 1.0000 + -30.0228 1.0000 + -29.9861 1.0000 + 1.7426 1.0000 + 2.3312 1.0000 + 4.2213 1.0000 + 4.7949 1.0000 + 5.6281 1.0000 + 6.1217 1.0000 + 8.8998 0.0000 + 10.7235 0.0000 + 11.4983 0.0000 + 13.3139 0.0000 + 14.5418 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7383 1.0000 + -30.0329 1.0000 + -30.0299 1.0000 + -29.9853 1.0000 + 1.8915 1.0000 + 2.5903 1.0000 + 4.2222 1.0000 + 4.7435 1.0000 + 5.7550 1.0000 + 5.9846 1.0000 + 8.3534 0.0000 + 10.1446 0.0000 + 11.5765 0.0000 + 14.0941 0.0000 + 31.5297 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7382 1.0000 + -30.0408 1.0000 + -30.0295 1.0000 + -29.9846 1.0000 + 1.9545 1.0000 + 2.8962 1.0000 + 4.2674 1.0000 + 4.5842 1.0000 + 5.8671 1.0000 + 6.0058 1.0000 + 7.9444 0.1919 + 9.6138 0.0000 + 12.3662 0.0000 + 14.4968 0.0000 + 35.5494 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7381 1.0000 + -30.0451 1.0000 + -30.0292 1.0000 + -29.9843 1.0000 + 1.9749 1.0000 + 3.1170 1.0000 + 4.3238 1.0000 + 4.4181 1.0000 + 5.9578 1.0000 + 6.0552 1.0000 + 7.7216 0.9887 + 9.2780 0.0000 + 11.6484 0.0000 + 14.1912 0.0000 + 15.2729 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7387 1.0000 + -30.0309 1.0000 + -30.0033 1.0000 + -29.9932 1.0000 + 1.3568 1.0000 + 2.0050 1.0000 + 4.6470 1.0000 + 4.9310 1.0000 + 4.9604 1.0000 + 6.8399 1.0000 + 10.0603 0.0000 + 10.6095 0.0000 + 11.6789 0.0000 + 12.7079 0.0000 + 14.2313 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7387 1.0000 + -30.0309 1.0000 + -30.0032 1.0000 + -29.9955 1.0000 + 1.4097 1.0000 + 2.0396 1.0000 + 4.6145 1.0000 + 4.7530 1.0000 + 5.1891 1.0000 + 6.7162 1.0000 + 10.1096 0.0000 + 10.3876 0.0000 + 11.6000 0.0000 + 13.1316 0.0000 + 37.6273 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7386 1.0000 + -30.0305 1.0000 + -30.0027 1.0000 + -30.0017 1.0000 + 1.5583 1.0000 + 2.1490 1.0000 + 4.4268 1.0000 + 4.7673 1.0000 + 5.4207 1.0000 + 6.4119 1.0000 + 9.5620 0.0000 + 10.6052 0.0000 + 11.5431 0.0000 + 13.8192 0.0000 + 14.7273 0.0000 + + + -91.8807 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7384 1.0000 + -30.0301 1.0000 + -30.0110 1.0000 + -30.0020 1.0000 + 1.7596 1.0000 + 2.3479 1.0000 + 4.2353 1.0000 + 4.8561 1.0000 + 5.6156 1.0000 + 6.0522 1.0000 + 8.8319 0.0000 + 10.9690 0.0000 + 11.4301 0.0000 + 13.3676 0.0000 + 14.5676 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7382 1.0000 + -30.0296 1.0000 + -30.0216 1.0000 + -30.0011 1.0000 + 1.9573 1.0000 + 2.6478 1.0000 + 4.0985 1.0000 + 4.9571 1.0000 + 5.6139 1.0000 + 5.8909 1.0000 + 8.1389 0.0001 + 10.9883 0.0000 + 11.3423 0.0000 + 13.7094 0.0000 + 15.7553 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7380 1.0000 + -30.0317 1.0000 + -30.0291 1.0000 + -30.0003 1.0000 + 2.1129 1.0000 + 3.0175 1.0000 + 4.0379 1.0000 + 4.9190 1.0000 + 5.5211 1.0000 + 5.9990 1.0000 + 7.5405 1.0000 + 10.3988 0.0000 + 11.4577 0.0000 + 13.7122 0.0000 + 15.9308 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7379 1.0000 + -30.0397 1.0000 + -30.0287 1.0000 + -29.9997 1.0000 + 2.2149 1.0000 + 3.3832 1.0000 + 4.0564 1.0000 + 4.6690 1.0000 + 5.6796 1.0000 + 6.0916 1.0000 + 7.0870 1.0000 + 9.7752 0.0000 + 11.5424 0.0000 + 14.3066 0.0000 + 15.5761 0.0000 + + + -91.8814 1.0000 + -91.4264 1.0000 + -91.2914 1.0000 + -65.7378 1.0000 + -30.0440 1.0000 + -30.0285 1.0000 + -29.9994 1.0000 + 2.2640 1.0000 + 3.6435 1.0000 + 4.1382 1.0000 + 4.4048 1.0000 + 5.8558 1.0000 + 6.1352 1.0000 + 6.8387 1.0000 + 9.3618 0.0000 + 11.5772 0.0000 + 14.3099 0.0000 + 14.9653 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7384 1.0000 + -30.0302 1.0000 + -30.0174 1.0000 + -29.9919 1.0000 + 1.5922 1.0000 + 2.0622 1.0000 + 4.6783 1.0000 + 4.9977 1.0000 + 5.1255 1.0000 + 6.4823 1.0000 + 9.7866 0.0000 + 10.2382 0.0000 + 11.6423 0.0000 + 12.1724 0.0000 + 15.1696 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7384 1.0000 + -30.0300 1.0000 + -30.0172 1.0000 + -29.9941 1.0000 + 1.6356 1.0000 + 2.1225 1.0000 + 4.6697 1.0000 + 4.8109 1.0000 + 5.3294 1.0000 + 6.3879 1.0000 + 9.7035 0.0000 + 10.0257 0.0000 + 11.6040 0.0000 + 12.6587 0.0000 + 14.9940 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2901 1.0000 + -65.7382 1.0000 + -30.0297 1.0000 + -30.0168 1.0000 + -30.0004 1.0000 + 1.7553 1.0000 + 2.3064 1.0000 + 4.4915 1.0000 + 4.7800 1.0000 + 5.5639 1.0000 + 6.1473 1.0000 + 9.0130 0.0000 + 10.2004 0.0000 + 11.5878 0.0000 + 13.4966 0.0000 + 14.8358 0.0000 + + + -91.8807 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7381 1.0000 + -30.0293 1.0000 + -30.0162 1.0000 + -30.0097 1.0000 + 1.9268 1.0000 + 2.6143 1.0000 + 4.2587 1.0000 + 4.8639 1.0000 + 5.7056 1.0000 + 5.8972 1.0000 + 8.2193 0.0000 + 10.4809 0.0000 + 11.5381 0.0000 + 13.9612 0.0000 + 14.5546 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7379 1.0000 + -30.0288 1.0000 + -30.0204 1.0000 + -30.0154 1.0000 + 2.1305 1.0000 + 3.0221 1.0000 + 4.0628 1.0000 + 5.0039 1.0000 + 5.4474 1.0000 + 5.9945 1.0000 + 7.4712 1.0000 + 10.6874 0.0000 + 11.3421 0.0000 + 13.4783 0.0000 + 15.3783 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7377 1.0000 + -30.0306 1.0000 + -30.0283 1.0000 + -30.0147 1.0000 + 2.3416 1.0000 + 3.4734 1.0000 + 3.9279 1.0000 + 5.1088 1.0000 + 5.2297 1.0000 + 6.1260 1.0000 + 6.8189 1.0000 + 10.4946 0.0000 + 11.1842 0.0000 + 13.1952 0.0000 + 15.7397 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2912 1.0000 + -65.7376 1.0000 + -30.0385 1.0000 + -30.0280 1.0000 + -30.0141 1.0000 + 2.5238 1.0000 + 3.8199 1.0000 + 3.9375 1.0000 + 4.8268 1.0000 + 5.4778 1.0000 + 6.2123 1.0000 + 6.3224 1.0000 + 9.8991 0.0000 + 11.2407 0.0000 + 13.1926 0.0000 + 15.5369 0.0000 + + + -91.8814 1.0000 + -91.4264 1.0000 + -91.2914 1.0000 + -65.7375 1.0000 + -30.0429 1.0000 + -30.0278 1.0000 + -30.0137 1.0000 + 2.6290 1.0000 + 3.8380 1.0000 + 4.2279 1.0000 + 4.5865 1.0000 + 5.6574 1.0000 + 6.0663 1.0000 + 6.2635 1.0000 + 9.4409 0.0000 + 11.2887 0.0000 + 13.2397 0.0000 + 15.7505 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7382 1.0000 + -30.0295 1.0000 + -30.0285 1.0000 + -29.9909 1.0000 + 1.6678 1.0000 + 2.2476 1.0000 + 4.6819 1.0000 + 5.0573 1.0000 + 5.2677 1.0000 + 6.2372 1.0000 + 9.6320 0.0000 + 9.9258 0.0000 + 11.6498 0.0000 + 11.7641 0.0000 + 15.1177 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7382 1.0000 + -30.0294 1.0000 + -30.0284 1.0000 + -29.9931 1.0000 + 1.7064 1.0000 + 2.3241 1.0000 + 4.6780 1.0000 + 4.8714 1.0000 + 5.4482 1.0000 + 6.1821 1.0000 + 9.3944 0.0000 + 9.7662 0.0000 + 11.6283 0.0000 + 12.2592 0.0000 + 15.0447 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7380 1.0000 + -30.0291 1.0000 + -30.0279 1.0000 + -29.9994 1.0000 + 1.8197 1.0000 + 2.5512 1.0000 + 4.5747 1.0000 + 4.7174 1.0000 + 5.6795 1.0000 + 6.0408 1.0000 + 8.5996 0.0000 + 9.8664 0.0000 + 11.6305 0.0000 + 13.1616 0.0000 + 14.9422 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7378 1.0000 + -30.0287 1.0000 + -30.0272 1.0000 + -30.0087 1.0000 + 2.0020 1.0000 + 2.9149 1.0000 + 4.3358 1.0000 + 4.7172 1.0000 + 5.7999 1.0000 + 5.9420 1.0000 + 7.7512 0.9686 + 10.0198 0.0000 + 11.6232 0.0000 + 14.2345 0.0000 + 15.3681 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7376 1.0000 + -30.0283 1.0000 + -30.0265 1.0000 + -30.0194 1.0000 + 2.2449 1.0000 + 3.3771 1.0000 + 4.1205 1.0000 + 4.7396 1.0000 + 5.6457 1.0000 + 6.0882 1.0000 + 6.9514 1.0000 + 10.1586 0.0000 + 11.4369 0.0000 + 13.6407 0.0000 + 15.4695 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7374 1.0000 + -30.0297 1.0000 + -30.0278 1.0000 + -30.0258 1.0000 + 2.5344 1.0000 + 3.8121 1.0000 + 3.9855 1.0000 + 4.8087 1.0000 + 5.5213 1.0000 + 6.1981 1.0000 + 6.2633 1.0000 + 10.2073 0.0000 + 11.0454 0.0000 + 13.0519 0.0000 + 15.5984 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7373 1.0000 + -30.0377 1.0000 + -30.0274 1.0000 + -30.0252 1.0000 + 2.8336 1.0000 + 3.8000 1.0000 + 4.1712 1.0000 + 4.9751 1.0000 + 5.5168 1.0000 + 5.6776 1.0000 + 6.3079 1.0000 + 9.9354 0.0000 + 10.7127 0.0000 + 12.8003 0.0000 + 15.8356 0.0000 + + + -91.8814 1.0000 + -91.4264 1.0000 + -91.2914 1.0000 + -65.7372 1.0000 + -30.0421 1.0000 + -30.0272 1.0000 + -30.0249 1.0000 + 3.0541 1.0000 + 3.7465 1.0000 + 4.2239 1.0000 + 5.1222 1.0000 + 5.2997 1.0000 + 5.6922 1.0000 + 6.3453 1.0000 + 9.5016 0.0000 + 10.6605 0.0000 + 12.7227 0.0000 + 15.5675 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7380 1.0000 + -30.0345 1.0000 + -30.0292 1.0000 + -29.9902 1.0000 + 1.6740 1.0000 + 2.4018 1.0000 + 4.6707 1.0000 + 5.0946 1.0000 + 5.3522 1.0000 + 6.1117 1.0000 + 9.6010 0.0000 + 9.7207 0.0000 + 11.5419 0.0000 + 11.6546 0.0000 + 14.9372 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7380 1.0000 + -30.0344 1.0000 + -30.0291 1.0000 + -29.9926 1.0000 + 1.7129 1.0000 + 2.4847 1.0000 + 4.6554 1.0000 + 4.9171 1.0000 + 5.5191 1.0000 + 6.0879 1.0000 + 9.2253 0.0000 + 9.6369 0.0000 + 11.6608 0.0000 + 12.0478 0.0000 + 14.9557 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7379 1.0000 + -30.0339 1.0000 + -30.0288 1.0000 + -29.9989 1.0000 + 1.8315 1.0000 + 2.7302 1.0000 + 4.6082 1.0000 + 4.6655 1.0000 + 5.7492 1.0000 + 6.0255 1.0000 + 8.3737 0.0000 + 9.6738 0.0000 + 11.6583 0.0000 + 12.9796 0.0000 + 15.0184 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7377 1.0000 + -30.0333 1.0000 + -30.0284 1.0000 + -30.0082 1.0000 + 2.0272 1.0000 + 3.1247 1.0000 + 4.4101 1.0000 + 4.5557 1.0000 + 5.9249 1.0000 + 5.9750 1.0000 + 7.4900 1.0000 + 9.7287 0.0000 + 11.6418 0.0000 + 13.9974 0.0000 + 15.0437 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7375 1.0000 + -30.0326 1.0000 + -30.0279 1.0000 + -30.0189 1.0000 + 2.2989 1.0000 + 3.6250 1.0000 + 4.2181 1.0000 + 4.4835 1.0000 + 5.8518 1.0000 + 6.1331 1.0000 + 6.6571 1.0000 + 9.7868 0.0000 + 11.4865 0.0000 + 14.5147 0.0000 + 15.4164 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7373 1.0000 + -30.0318 1.0000 + -30.0291 1.0000 + -30.0275 1.0000 + 2.6408 1.0000 + 3.9091 1.0000 + 4.2522 1.0000 + 4.5325 1.0000 + 5.7034 1.0000 + 5.9787 1.0000 + 6.2621 1.0000 + 9.8299 0.0000 + 11.0556 0.0000 + 13.0395 0.0000 + 15.4657 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7372 1.0000 + -30.0372 1.0000 + -30.0313 1.0000 + -30.0271 1.0000 + 3.0409 1.0000 + 3.8298 1.0000 + 4.2195 1.0000 + 5.0235 1.0000 + 5.2301 1.0000 + 5.8071 1.0000 + 6.3436 1.0000 + 9.8006 0.0000 + 10.3862 0.0000 + 12.6747 0.0000 + 15.4656 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7371 1.0000 + -30.0416 1.0000 + -30.0310 1.0000 + -30.0269 1.0000 + 3.4531 1.0000 + 3.7372 1.0000 + 4.0740 1.0000 + 4.7709 1.0000 + 5.5707 1.0000 + 5.7646 1.0000 + 6.3738 1.0000 + 9.5306 0.0000 + 10.0845 0.0000 + 12.5702 0.0000 + 15.4251 0.0000 + + + + + + + 0.00000000 0.00000000 0.00000000 + + + 7.88278638 + + + gridpoints + spin + energy + total + integrated + + + -98.7492 0.0000 0.0000 + -98.2456 0.0000 0.0000 + -97.7420 0.0000 0.0000 + -97.2383 0.0000 0.0000 + -96.7347 0.0000 0.0000 + -96.2311 0.0000 0.0000 + -95.7275 0.0000 0.0000 + -95.2239 0.0000 0.0000 + -94.7203 0.0000 0.0000 + -94.2166 0.0000 0.0000 + -93.7130 0.0000 0.0000 + -93.2094 0.0000 0.0000 + -92.7058 0.0000 0.0000 + -92.2022 0.0000 0.0000 + -91.6986 3.9514 1.9900 + -91.1949 7.6087 5.8219 + -90.6913 0.3536 6.0000 + -90.1877 0.0000 6.0000 + -89.6841 0.0000 6.0000 + -89.1805 0.0000 6.0000 + -88.6769 0.0000 6.0000 + -88.1732 0.0000 6.0000 + -87.6696 0.0000 6.0000 + -87.1660 0.0000 6.0000 + -86.6624 0.0000 6.0000 + -86.1588 0.0000 6.0000 + -85.6552 0.0000 6.0000 + -85.1515 0.0000 6.0000 + -84.6479 0.0000 6.0000 + -84.1443 0.0000 6.0000 + -83.6407 0.0000 6.0000 + -83.1371 0.0000 6.0000 + -82.6335 0.0000 6.0000 + -82.1299 0.0000 6.0000 + -81.6262 0.0000 6.0000 + -81.1226 0.0000 6.0000 + -80.6190 0.0000 6.0000 + -80.1154 0.0000 6.0000 + -79.6118 0.0000 6.0000 + -79.1082 0.0000 6.0000 + -78.6045 0.0000 6.0000 + -78.1009 0.0000 6.0000 + -77.5973 0.0000 6.0000 + -77.0937 0.0000 6.0000 + -76.5901 0.0000 6.0000 + -76.0865 0.0000 6.0000 + -75.5828 0.0000 6.0000 + -75.0792 0.0000 6.0000 + -74.5756 0.0000 6.0000 + -74.0720 0.0000 6.0000 + -73.5684 0.0000 6.0000 + -73.0648 0.0000 6.0000 + -72.5611 0.0000 6.0000 + -72.0575 0.0000 6.0000 + -71.5539 0.0000 6.0000 + -71.0503 0.0000 6.0000 + -70.5467 0.0000 6.0000 + -70.0431 0.0000 6.0000 + -69.5394 0.0000 6.0000 + -69.0358 0.0000 6.0000 + -68.5322 0.0000 6.0000 + -68.0286 0.0000 6.0000 + -67.5250 0.0000 6.0000 + -67.0214 0.0000 6.0000 + -66.5178 0.0000 6.0000 + -66.0141 0.0002 6.0001 + -65.5105 3.9689 7.9989 + -65.0069 0.0021 8.0000 + -64.5033 0.0000 8.0000 + -63.9997 0.0000 8.0000 + -63.4961 0.0000 8.0000 + -62.9924 0.0000 8.0000 + -62.4888 0.0000 8.0000 + -61.9852 0.0000 8.0000 + -61.4816 0.0000 8.0000 + -60.9780 0.0000 8.0000 + -60.4744 0.0000 8.0000 + -59.9707 0.0000 8.0000 + -59.4671 0.0000 8.0000 + -58.9635 0.0000 8.0000 + -58.4599 0.0000 8.0000 + -57.9563 0.0000 8.0000 + -57.4527 0.0000 8.0000 + -56.9490 0.0000 8.0000 + -56.4454 0.0000 8.0000 + -55.9418 0.0000 8.0000 + -55.4382 0.0000 8.0000 + -54.9346 0.0000 8.0000 + -54.4310 0.0000 8.0000 + -53.9273 0.0000 8.0000 + -53.4237 0.0000 8.0000 + -52.9201 0.0000 8.0000 + -52.4165 0.0000 8.0000 + -51.9129 0.0000 8.0000 + -51.4093 0.0000 8.0000 + -50.9057 0.0000 8.0000 + -50.4020 0.0000 8.0000 + -49.8984 0.0000 8.0000 + -49.3948 0.0000 8.0000 + -48.8912 0.0000 8.0000 + -48.3876 0.0000 8.0000 + -47.8840 0.0000 8.0000 + -47.3803 0.0000 8.0000 + -46.8767 0.0000 8.0000 + -46.3731 0.0000 8.0000 + -45.8695 0.0000 8.0000 + -45.3659 0.0000 8.0000 + -44.8623 0.0000 8.0000 + -44.3586 0.0000 8.0000 + -43.8550 0.0000 8.0000 + -43.3514 0.0000 8.0000 + -42.8478 0.0000 8.0000 + -42.3442 0.0000 8.0000 + -41.8406 0.0000 8.0000 + -41.3369 0.0000 8.0000 + -40.8333 0.0000 8.0000 + -40.3297 0.0000 8.0000 + -39.8261 0.0000 8.0000 + -39.3225 0.0000 8.0000 + -38.8189 0.0000 8.0000 + -38.3152 0.0000 8.0000 + -37.8116 0.0000 8.0000 + -37.3080 0.0000 8.0000 + -36.8044 0.0000 8.0000 + -36.3008 0.0000 8.0000 + -35.7972 0.0000 8.0000 + -35.2936 0.0000 8.0000 + -34.7899 0.0000 8.0000 + -34.2863 0.0000 8.0000 + -33.7827 0.0000 8.0000 + -33.2791 0.0000 8.0000 + -32.7755 0.0000 8.0000 + -32.2719 0.0000 8.0000 + -31.7682 0.0000 8.0000 + -31.2646 0.0000 8.0000 + -30.7610 0.0000 8.0000 + -30.2574 0.0062 8.0031 + -29.7538 11.6675 13.8791 + -29.2502 0.2401 14.0000 + -28.7465 0.0000 14.0000 + -28.2429 0.0000 14.0000 + -27.7393 0.0000 14.0000 + -27.2357 0.0000 14.0000 + -26.7321 0.0000 14.0000 + -26.2285 0.0000 14.0000 + -25.7248 0.0000 14.0000 + -25.2212 0.0000 14.0000 + -24.7176 0.0000 14.0000 + -24.2140 0.0000 14.0000 + -23.7104 0.0000 14.0000 + -23.2068 0.0000 14.0000 + -22.7031 0.0000 14.0000 + -22.1995 0.0000 14.0000 + -21.6959 0.0000 14.0000 + -21.1923 0.0000 14.0000 + -20.6887 0.0000 14.0000 + -20.1851 0.0000 14.0000 + -19.6815 0.0000 14.0000 + -19.1778 0.0000 14.0000 + -18.6742 0.0000 14.0000 + -18.1706 0.0000 14.0000 + -17.6670 0.0000 14.0000 + -17.1634 0.0000 14.0000 + -16.6598 0.0000 14.0000 + -16.1561 0.0000 14.0000 + -15.6525 0.0000 14.0000 + -15.1489 0.0000 14.0000 + -14.6453 0.0000 14.0000 + -14.1417 0.0000 14.0000 + -13.6381 0.0000 14.0000 + -13.1344 0.0000 14.0000 + -12.6308 0.0000 14.0000 + -12.1272 0.0000 14.0000 + -11.6236 0.0000 14.0000 + -11.1200 0.0000 14.0000 + -10.6164 0.0000 14.0000 + -10.1127 0.0000 14.0000 + -9.6091 0.0000 14.0000 + -9.1055 0.0000 14.0000 + -8.6019 0.0000 14.0000 + -8.0983 0.0000 14.0000 + -7.5947 0.0000 14.0000 + -7.0910 0.0000 14.0000 + -6.5874 0.0000 14.0000 + -6.0838 0.0000 14.0000 + -5.5802 0.0000 14.0000 + -5.0766 0.0000 14.0000 + -4.5730 0.0000 14.0000 + -4.0694 0.0000 14.0000 + -3.5657 0.0000 14.0000 + -3.0621 0.0000 14.0000 + -2.5585 0.0000 14.0000 + -2.0549 0.0009 14.0005 + -1.5513 0.1132 14.0574 + -1.0477 0.2483 14.1825 + -0.5440 0.3448 14.3561 + -0.0404 0.4543 14.5849 + 0.4632 0.5588 14.8664 + 0.9668 0.6103 15.1737 + 1.4704 0.8493 15.6014 + 1.9740 1.0615 16.1360 + 2.4777 1.1259 16.7031 + 2.9813 0.9778 17.1955 + 3.4849 0.7572 17.5768 + 3.9885 0.9446 18.0526 + 4.4921 2.2831 19.2023 + 4.9957 3.6694 21.0503 + 5.4994 2.8044 22.4627 + 6.0030 2.3933 23.6680 + 6.5066 1.9045 24.6271 + 7.0102 1.3513 25.3077 + 7.5138 0.8062 25.7137 + 8.0174 0.7272 26.0799 + 8.5211 0.8382 26.5020 + 9.0247 1.4316 27.2230 + 9.5283 1.9155 28.1877 + 10.0319 1.7300 29.0590 + 10.5355 1.5459 29.8375 + 11.0391 1.1419 30.4126 + 11.5427 1.3555 31.0952 + 12.0464 1.2953 31.7476 + 12.5500 0.5429 32.0210 + 13.0536 0.4473 32.2462 + 13.5572 0.8282 32.6634 + 14.0608 1.1877 33.2615 + 14.5644 1.1003 33.8156 + 15.0681 1.3090 34.4749 + 15.5717 1.4011 35.1805 + 16.0753 0.7368 35.5516 + 16.5789 0.3354 35.7205 + 17.0825 0.2344 35.8385 + 17.5861 0.0350 35.8561 + 18.0898 0.0355 35.8740 + 18.5934 0.0265 35.8874 + 19.0970 0.0000 35.8874 + 19.6006 0.0175 35.8962 + 20.1042 0.0059 35.8992 + 20.6078 0.0000 35.8993 + 21.1115 0.0000 35.8993 + 21.6151 0.0004 35.8995 + 22.1187 0.0043 35.9016 + 22.6223 0.0000 35.9016 + 23.1259 0.0000 35.9016 + 23.6295 0.0000 35.9016 + 24.1332 0.0047 35.9040 + 24.6368 0.0000 35.9040 + 25.1404 0.0000 35.9040 + 25.6440 0.0000 35.9040 + 26.1476 0.0000 35.9040 + 26.6512 0.0000 35.9040 + 27.1548 0.0000 35.9040 + 27.6585 0.0000 35.9040 + 28.1621 0.0000 35.9040 + 28.6657 0.0000 35.9040 + 29.1693 0.0000 35.9040 + 29.6729 0.0000 35.9040 + 30.1765 0.0000 35.9040 + 30.6802 0.0000 35.9040 + 31.1838 0.0001 35.9040 + 31.6874 0.0186 35.9134 + 32.1910 0.0092 35.9180 + 32.6946 0.0003 35.9182 + 33.1982 0.0094 35.9230 + 33.7019 0.0000 35.9230 + 34.2055 0.0107 35.9284 + 34.7091 0.0081 35.9324 + 35.2127 0.0000 35.9324 + 35.7163 0.0223 35.9437 + 36.2199 0.0077 35.9475 + 36.7236 0.0030 35.9490 + 37.2272 0.0047 35.9514 + 37.7308 0.0088 35.9558 + 38.2344 0.0020 35.9568 + 38.7380 0.0269 35.9704 + 39.2416 0.0102 35.9755 + 39.7453 0.0015 35.9763 + 40.2489 0.0000 35.9763 + 40.7525 0.0047 35.9787 + 41.2561 0.0000 35.9787 + 41.7597 0.0178 35.9876 + 42.2633 0.0114 35.9934 + 42.7670 0.0038 35.9953 + 43.2706 0.0000 35.9953 + 43.7742 0.0000 35.9953 + 44.2778 0.0000 35.9953 + 44.7814 0.0000 35.9953 + 45.2850 0.0000 35.9953 + 45.7886 0.0094 36.0000 + 46.2923 0.0000 36.0000 + 46.7959 0.0000 36.0000 + 47.2995 0.0000 36.0000 + 47.8031 0.0000 36.0000 + 48.3067 0.0000 36.0000 + 48.8103 0.0000 36.0000 + 49.3140 0.0000 36.0000 + 49.8176 0.0000 36.0000 + 50.3212 0.0000 36.0000 + 50.8248 0.0000 36.0000 + 51.3284 0.0000 36.0000 + 51.8320 0.0000 36.0000 + 52.3357 0.0000 36.0000 + + + + + + + + + + 3.66961100 0.00000000 0.00000000 + 0.00000000 3.55744000 0.00000000 + 0.00000000 0.00000000 3.17678100 + + 41.47103646 + + 0.27250845 0.00000000 0.00000000 + 0.00000000 0.28110102 0.00000000 + 0.00000000 0.00000000 0.31478405 + + + + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.50000000 0.50000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.50000000 0.00000000 + + + -- GitLab From c3661272f17cbb0b0aed0cfb6bcbe8cb5f365d5c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 24 Jul 2018 19:55:39 -0400 Subject: [PATCH 337/675] re-allow commands after an exception was caught inside a run. after an exception "all bets are off", i.e. the user should be allowed to do anything to recover. through setting Update::whichflag to 0, the guard against running commands during a run is removed. --- src/error.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/error.cpp b/src/error.cpp index d516050385..3feaf1d1ac 100644 --- a/src/error.cpp +++ b/src/error.cpp @@ -16,6 +16,7 @@ #include #include "error.h" #include "universe.h" +#include "update.h" #include "output.h" #include "input.h" @@ -69,6 +70,10 @@ void Error::universe_all(const char *file, int line, const char *str) if (universe->ulogfile) fclose(universe->ulogfile); #ifdef LAMMPS_EXCEPTIONS + + // allow commands if an exception was caught in a run + update->whichflag = 0; + char msg[100]; sprintf(msg, "ERROR: %s (%s:%d)\n", str, file, line); throw LAMMPSException(msg); @@ -90,6 +95,10 @@ void Error::universe_one(const char *file, int line, const char *str) universe->me,str,truncpath(file),line); #ifdef LAMMPS_EXCEPTIONS + + // allow commands if an exception was caught in a run + update->whichflag = 0; + char msg[100]; sprintf(msg, "ERROR: %s (%s:%d)\n", str, file, line); throw LAMMPSAbortException(msg, universe->uworld); @@ -137,6 +146,10 @@ void Error::all(const char *file, int line, const char *str) } #ifdef LAMMPS_EXCEPTIONS + + // allow commands if an exception was caught in a run + update->whichflag = 0; + char msg[100]; sprintf(msg, "ERROR: %s (%s:%d)\n", str, file, line); @@ -183,6 +196,10 @@ void Error::one(const char *file, int line, const char *str) universe->me,str,truncpath(file),line); #ifdef LAMMPS_EXCEPTIONS + + // allow commands if an exception was caught in a run + update->whichflag = 0; + char msg[100]; sprintf(msg, "ERROR on proc %d: %s (%s:%d)\n", me, str, file, line); throw LAMMPSAbortException(msg, world); -- GitLab From 678df2498acbf439d1eee9a02070f9a2956f49c9 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 25 Jul 2018 09:32:02 -0400 Subject: [PATCH 338/675] Updated lammps.book --- doc/src/lammps.book | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 06f4bf3718..fe8eb13161 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -14,7 +14,7 @@ accelerate_opt.html Section_howto.html Section_example.html Section_perf.html -Section_tools.html +Tools.html Section_modify.html Section_python.html Section_errors.html -- GitLab From 7ac3f08eec6c17c5666bbaa0083a0c8f7569e6ab Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 25 Jul 2018 09:39:18 -0400 Subject: [PATCH 339/675] Fix typo --- doc/src/Tools.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt index 8fc371c4ef..859bb9d50c 100644 --- a/doc/src/Tools.txt +++ b/doc/src/Tools.txt @@ -29,7 +29,7 @@ The last link for "Pizza.py"_pizza is a Python-based tool developed at Sandia which provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. -"link(pizza,http://pizza.sandia.gov) +:link(pizza,http://pizza.sandia.gov) :link(python,http://www.python.org) Additional tools included in the LAMMPS distribution are described on -- GitLab From 80d85841af82b105ea2b6bd5afe35b765dee7df3 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 25 Jul 2018 08:15:25 -0600 Subject: [PATCH 340/675] one more tweak on a link --- doc/src/Tools.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt index 859bb9d50c..0674e3cfcc 100644 --- a/doc/src/Tools.txt +++ b/doc/src/Tools.txt @@ -10,7 +10,7 @@ Section"_Modify.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Commands.html#comm) +:link(lc,Section_commands.html#comm) :line -- GitLab From 22c9258b8e78f74c50ced55c88307d3ed5d55d0b Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 25 Jul 2018 09:27:13 -0600 Subject: [PATCH 341/675] doc changes for Examples and Modify sections --- doc/src/{Section_example.txt => Examples.txt} | 16 +- doc/src/Manual.txt | 39 +- doc/src/Modify.txt | 76 ++ doc/src/Modify_atom.txt | 90 ++ doc/src/Modify_body.txt | 35 + doc/src/Modify_bond.txt | 33 + doc/src/Modify_command.txt | 27 + doc/src/Modify_compute.txt | 49 ++ doc/src/Modify_contribute.txt | 210 +++++ doc/src/Modify_dump.txt | 35 + doc/src/Modify_fix.txt | 107 +++ doc/src/Modify_kspace.txt | 25 + doc/src/Modify_min.txt | 23 + doc/src/Modify_overview.txt | 101 +++ doc/src/Modify_pair.txt | 33 + doc/src/Modify_region.txt | 25 + doc/src/Modify_thermo.txt | 35 + doc/src/Modify_variable.txt | 46 + doc/src/Section_commands.txt | 8 +- doc/src/Section_howto.txt | 35 +- doc/src/Section_intro.txt | 17 +- doc/src/Section_modify.txt | 827 ------------------ doc/src/Section_packages.txt | 3 +- doc/src/Section_perf.txt | 6 +- doc/src/Section_python.txt | 4 +- doc/src/Tools.txt | 4 +- doc/src/atom_style.txt | 2 +- doc/src/body.txt | 4 +- doc/src/compute.txt | 4 +- doc/src/compute_chunk_atom.txt | 4 +- doc/src/compute_global_atom.txt | 8 +- doc/src/compute_reduce.txt | 8 +- doc/src/compute_slice.txt | 4 +- doc/src/dump.txt | 6 +- doc/src/dump_image.txt | 6 +- doc/src/fix.txt | 6 +- doc/src/fix_ave_atom.txt | 6 +- doc/src/fix_ave_chunk.txt | 4 +- doc/src/fix_ave_correlate.txt | 4 +- doc/src/fix_ave_histo.txt | 12 +- doc/src/fix_ave_time.txt | 4 +- doc/src/fix_controller.txt | 4 +- doc/src/fix_property_atom.txt | 6 +- doc/src/fix_vector.txt | 4 +- doc/src/lammps.book | 4 +- doc/src/run.txt | 5 +- doc/src/thermo_style.txt | 11 +- doc/src/tutorial_github.txt | 4 +- 48 files changed, 1063 insertions(+), 966 deletions(-) rename doc/src/{Section_example.txt => Examples.txt} (94%) create mode 100644 doc/src/Modify.txt create mode 100644 doc/src/Modify_atom.txt create mode 100644 doc/src/Modify_body.txt create mode 100644 doc/src/Modify_bond.txt create mode 100644 doc/src/Modify_command.txt create mode 100644 doc/src/Modify_compute.txt create mode 100644 doc/src/Modify_contribute.txt create mode 100644 doc/src/Modify_dump.txt create mode 100644 doc/src/Modify_fix.txt create mode 100644 doc/src/Modify_kspace.txt create mode 100644 doc/src/Modify_min.txt create mode 100644 doc/src/Modify_overview.txt create mode 100644 doc/src/Modify_pair.txt create mode 100644 doc/src/Modify_region.txt create mode 100644 doc/src/Modify_thermo.txt create mode 100644 doc/src/Modify_variable.txt delete mode 100644 doc/src/Section_modify.txt diff --git a/doc/src/Section_example.txt b/doc/src/Examples.txt similarity index 94% rename from doc/src/Section_example.txt rename to doc/src/Examples.txt index a2a9940f48..4935c96257 100644 --- a/doc/src/Section_example.txt +++ b/doc/src/Examples.txt @@ -1,4 +1,12 @@ -"Previous Section"_Section_howto.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_perf.html :c +"Previous Section"_Section_howto.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Section_perf.html :c + + :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -6,7 +14,7 @@ :line -7. Example problems :h2 +Example scripts :h3 The LAMMPS distribution includes an examples sub-directory with many sample problems. Many are 2d models that run quickly are are @@ -46,7 +54,7 @@ Lists of both kinds of directories are given below. :line -Lowercase directories :h3 +Lowercase directories :h4 accelerate: run with various acceleration options (OpenMP, GPU, Phi) airebo: polyethylene with AIREBO potential @@ -122,7 +130,7 @@ browser. :line -Uppercase directories :h3 +Uppercase directories :h4 ASPHERE: various aspherical particle models, using ellipsoids, rigid bodies, line/triangle particles, etc COUPLE: examples of how to use LAMMPS as a library diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index d6d46570c1..18ae1c4b61 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -114,10 +114,10 @@ it gives quick access to documentation for all LAMMPS commands. Section_packages Section_accelerate Section_howto - Section_example + Examples Section_perf Tools - Section_modify + Modify Section_python Section_errors Section_history @@ -208,25 +208,10 @@ END_RST --> 6.25 "Polarizable models"_howto_25 :b 6.26 "Adiabatic core/shell model"_howto_26 :b 6.27 "Drude induced dipoles"_howto_27 :ule,b -"Example problems"_Section_example.html :l +"Example scripts"_Examples.html :l "Performance & scalability"_Section_perf.html :l "Auxiliary tools"_Tools.html :l -"Modifying & extending LAMMPS"_Section_modify.html :l - 10.1 "Atom styles"_mod_1 :ulb,b - 10.2 "Bond, angle, dihedral, improper potentials"_mod_2 :b - 10.3 "Compute styles"_mod_3 :b - 10.4 "Dump styles"_mod_4 :b - 10.5 "Dump custom output options"_mod_5 :b - 10.6 "Fix styles"_mod_6 :b - 10.7 "Input script commands"_mod_7 :b - 10.8 "Kspace computations"_mod_8 :b - 10.9 "Minimization styles"_mod_9 :b - 10.10 "Pairwise potentials"_mod_10 :b - 10.11 "Region styles"_mod_11 :b - 10.12 "Body styles"_mod_12 :b - 10.13 "Thermodynamic output options"_mod_13 :b - 10.14 "Variable options"_mod_14 :b - 10.15 "Submitting new features for inclusion in LAMMPS"_mod_15 :ule,b +"Modify & extend LAMMPS"_Modify.html :l "Python interface"_Section_python.html :l 11.1 "Overview of running LAMMPS from Python"_py_1 :ulb,b 11.2 "Overview of using Python from a LAMMPS script"_py_2 :b @@ -302,22 +287,6 @@ END_RST --> :link(howto_26,Section_howto.html#howto_26) :link(howto_27,Section_howto.html#howto_27) -:link(mod_1,Section_modify.html#mod_1) -:link(mod_2,Section_modify.html#mod_2) -:link(mod_3,Section_modify.html#mod_3) -:link(mod_4,Section_modify.html#mod_4) -:link(mod_5,Section_modify.html#mod_5) -:link(mod_6,Section_modify.html#mod_6) -:link(mod_7,Section_modify.html#mod_7) -:link(mod_8,Section_modify.html#mod_8) -:link(mod_9,Section_modify.html#mod_9) -:link(mod_10,Section_modify.html#mod_10) -:link(mod_11,Section_modify.html#mod_11) -:link(mod_12,Section_modify.html#mod_12) -:link(mod_13,Section_modify.html#mod_13) -:link(mod_14,Section_modify.html#mod_14) -:link(mod_15,Section_modify.html#mod_15) - :link(py_1,Section_python.html#py_1) :link(py_2,Section_python.html#py_2) :link(py_3,Section_python.html#py_3) diff --git a/doc/src/Modify.txt b/doc/src/Modify.txt new file mode 100644 index 0000000000..f7d94c89e9 --- /dev/null +++ b/doc/src/Modify.txt @@ -0,0 +1,76 @@ +"Previous Section"_Tools.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Section_python.html :c + + + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Modify & extend LAMMPS :h3 + +LAMMPS is designed in a modular fashion so as to be easy to modify and +extend with new functionality. In fact, about 95% of its source code +is add-on files. These doc pages give basic instructions on how to do +this. + +If you add a new feature to LAMMPS and think it will be of interest to +general users, we encourage you to submit it for inclusion in LAMMPS +as a pull request on our "GitHub +site"_https://github.com/lammps/lammps, after reading the "Modify +contribute"_Modify_contribute.html doc page. + + + + + +"Overview"_Modify_overview.html +"Submitting new features for inclusion in LAMMPS"_Modify_contribute.html :all(b) + +"Atom styles"_Modify_atom.html +"Pair styles"_Modify_pair.html +"Bond, angle, dihedral, improper styles"_Modify_bond.html +"Compute styles"_Modify_compute.html +"Fix styles"_Modify_fix.html +"Input script command styles"_Modify_command.html :all(b) + +"Dump styles"_Modify_dump.html +"Kspace styles"_Modify_kspace.html +"Minimization styles"_Modify_min.html +"Region styles"_Modify_region.html +"Body styles"_Modify_body.html :all(b) + +"Thermodynamic output options"_Modify_thermo.html +"Variable options"_Modify_variable.html :all(b) + + diff --git a/doc/src/Modify_atom.txt b/doc/src/Modify_atom.txt new file mode 100644 index 0000000000..afa1c319d2 --- /dev/null +++ b/doc/src/Modify_atom.txt @@ -0,0 +1,90 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Atom styles :h3 + +Classes that define an "atom style"_atom_style.html are derived from +the AtomVec class and managed by the Atom class. The atom style +determines what attributes are associated with an atom. A new atom +style can be created if one of the existing atom styles does not +define all the attributes you need to store and communicate with +atoms. + +Atom_vec_atomic.cpp is a simple example of an atom style. + +Here is a brief description of methods you define in your new derived +class. See atom_vec.h for details. + +init: one time setup (optional) +grow: re-allocate atom arrays to longer lengths (required) +grow_reset: make array pointers in Atom and AtomVec classes consistent (required) +copy: copy info for one atom to another atom's array locations (required) +pack_comm: store an atom's info in a buffer communicated every timestep (required) +pack_comm_vel: add velocity info to communication buffer (required) +pack_comm_hybrid: store extra info unique to this atom style (optional) +unpack_comm: retrieve an atom's info from the buffer (required) +unpack_comm_vel: also retrieve velocity info (required) +unpack_comm_hybrid: retrieve extra info unique to this atom style (optional) +pack_reverse: store an atom's info in a buffer communicating partial forces (required) +pack_reverse_hybrid: store extra info unique to this atom style (optional) +unpack_reverse: retrieve an atom's info from the buffer (required) +unpack_reverse_hybrid: retrieve extra info unique to this atom style (optional) +pack_border: store an atom's info in a buffer communicated on neighbor re-builds (required) +pack_border_vel: add velocity info to buffer (required) +pack_border_hybrid: store extra info unique to this atom style (optional) +unpack_border: retrieve an atom's info from the buffer (required) +unpack_border_vel: also retrieve velocity info (required) +unpack_border_hybrid: retrieve extra info unique to this atom style (optional) +pack_exchange: store all an atom's info to migrate to another processor (required) +unpack_exchange: retrieve an atom's info from the buffer (required) +size_restart: number of restart quantities associated with proc's atoms (required) +pack_restart: pack atom quantities into a buffer (required) +unpack_restart: unpack atom quantities from a buffer (required) +create_atom: create an individual atom of this style (required) +data_atom: parse an atom line from the data file (required) +data_atom_hybrid: parse additional atom info unique to this atom style (optional) +data_vel: parse one line of velocity information from data file (optional) +data_vel_hybrid: parse additional velocity data unique to this atom style (optional) +memory_usage: tally memory allocated by atom arrays (required) :tb(s=:) + +The constructor of the derived class sets values for several variables +that you must set when defining a new atom style, which are documented +in atom_vec.h. New atom arrays are defined in atom.cpp. Search for +the word "customize" and you will find locations you will need to +modify. + +NOTE: It is possible to add some attributes, such as a molecule ID, to +atom styles that do not have them via the "fix +property/atom"_fix_property_atom.html command. This command also +allows new custom attributes consisting of extra integer or +floating-point values to be added to atoms. See the "fix +property/atom"_fix_property_atom.html doc page for examples of cases +where this is useful and details on how to initialize, access, and +output the custom values. + +New "pair styles"_pair_style.html, "fixes"_fix.html, or +"computes"_compute.html can be added to LAMMPS, as discussed below. +The code for these classes can use the per-atom properties defined by +fix property/atom. The Atom class has a find_custom() method that is +useful in this context: + +int index = atom->find_custom(char *name, int &flag); :pre + +The "name" of a custom attribute, as specified in the "fix +property/atom"_fix_property_atom.html command, is checked to verify +that it exists and its index is returned. The method also sets flag = +0/1 depending on whether it is an integer or floating-point attribute. +The vector of values associated with the attribute can then be +accessed using the returned index as + +int *ivector = atom->ivector\[index\]; +double *dvector = atom->dvector\[index\]; :pre + +Ivector or dvector are vectors of length Nlocal = # of owned atoms, +which store the attributes of individual atoms. diff --git a/doc/src/Modify_body.txt b/doc/src/Modify_body.txt new file mode 100644 index 0000000000..b1dc8130cd --- /dev/null +++ b/doc/src/Modify_body.txt @@ -0,0 +1,35 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Body styles :h3 + +Classes that define body particles are derived from the Body class. +Body particles can represent complex entities, such as surface meshes +of discrete points, collections of sub-particles, deformable objects, +etc. + +See "Section 6.14"_Section_howto.html#howto_14 of the manual for +an overview of using body particles and the "body"_body.html doc page +for details on the various body styles LAMMPS supports. New styles +can be created to add new kinds of body particles to LAMMPS. + +Body_nparticle.cpp is an example of a body particle that is treated as +a rigid body containing N sub-particles. + +Here is a brief description of methods you define in your new derived +class. See body.h for details. + +data_body: process a line from the Bodies section of a data file +noutrow: number of sub-particles output is generated for +noutcol: number of values per-sub-particle output is generated for +output: output values for the Mth sub-particle +pack_comm_body: body attributes to communicate every timestep +unpack_comm_body: unpacking of those attributes +pack_border_body: body attributes to communicate when reneighboring is done +unpack_border_body: unpacking of those attributes :tb(s=:) diff --git a/doc/src/Modify_bond.txt b/doc/src/Modify_bond.txt new file mode 100644 index 0000000000..f0828a0c3b --- /dev/null +++ b/doc/src/Modify_bond.txt @@ -0,0 +1,33 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Bond, angle, dihedral, improper styles :h3 + +Classes that compute molecular interactions are derived from the Bond, +Angle, Dihedral, and Improper classes. New styles can be created to +add new potentials to LAMMPS. + +Bond_harmonic.cpp is the simplest example of a bond style. Ditto for +the harmonic forms of the angle, dihedral, and improper style +commands. + +Here is a brief description of common methods you define in your +new derived class. See bond.h, angle.h, dihedral.h, and improper.h +for details and specific additional methods. + +init: check if all coefficients are set, calls {init_style} (optional) +init_style: check if style specific conditions are met (optional) +compute: compute the molecular interactions (required) +settings: apply global settings for all types (optional) +coeff: set coefficients for one type (required) +equilibrium_distance: length of bond, used by SHAKE (required, bond only) +equilibrium_angle: opening of angle, used by SHAKE (required, angle only) +write & read_restart: writes/reads coeffs to restart files (required) +single: force and energy of a single bond or angle (required, bond or angle only) +memory_usage: tally memory allocated by the style (optional) :tb(s=:) diff --git a/doc/src/Modify_command.txt b/doc/src/Modify_command.txt new file mode 100644 index 0000000000..6fc9aad1fc --- /dev/null +++ b/doc/src/Modify_command.txt @@ -0,0 +1,27 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Input script command style :h3 + +New commands can be added to LAMMPS input scripts by adding new +classes that have a "command" method. For example, the create_atoms, +read_data, velocity, and run commands are all implemented in this +fashion. When such a command is encountered in the LAMMPS input +script, LAMMPS simply creates a class with the corresponding name, +invokes the "command" method of the class, and passes it the arguments +from the input script. The command method can perform whatever +operations it wishes on LAMMPS data structures. + +The single method your new class must define is as follows: + +command: operations performed by the new command :tb(s=:) + +Of course, the new class can define other methods and variables as +needed. + diff --git a/doc/src/Modify_compute.txt b/doc/src/Modify_compute.txt new file mode 100644 index 0000000000..b02b8a983e --- /dev/null +++ b/doc/src/Modify_compute.txt @@ -0,0 +1,49 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Compute styles :h3 + +Classes that compute scalar and vector quantities like temperature +and the pressure tensor, as well as classes that compute per-atom +quantities like kinetic energy and the centro-symmetry parameter +are derived from the Compute class. New styles can be created +to add new calculations to LAMMPS. + +Compute_temp.cpp is a simple example of computing a scalar +temperature. Compute_ke_atom.cpp is a simple example of computing +per-atom kinetic energy. + +Here is a brief description of methods you define in your new derived +class. See compute.h for details. + +init: perform one time setup (required) +init_list: neighbor list setup, if needed (optional) +compute_scalar: compute a scalar quantity (optional) +compute_vector: compute a vector of quantities (optional) +compute_peratom: compute one or more quantities per atom (optional) +compute_local: compute one or more quantities per processor (optional) +pack_comm: pack a buffer with items to communicate (optional) +unpack_comm: unpack the buffer (optional) +pack_reverse: pack a buffer with items to reverse communicate (optional) +unpack_reverse: unpack the buffer (optional) +remove_bias: remove velocity bias from one atom (optional) +remove_bias_all: remove velocity bias from all atoms in group (optional) +restore_bias: restore velocity bias for one atom after remove_bias (optional) +restore_bias_all: same as before, but for all atoms in group (optional) +pair_tally_callback: callback function for {tally}-style computes (optional). +memory_usage: tally memory usage (optional) :tb(s=:) + +Tally-style computes are a special case, as their computation is done +in two stages: the callback function is registered with the pair style +and then called from the Pair::ev_tally() function, which is called for +each pair after force and energy has been computed for this pair. Then +the tallied values are retrieved with the standard compute_scalar or +compute_vector or compute_peratom methods. The USER-TALLY package +provides {examples}_compute_tally.html for utilizing this mechanism. + diff --git a/doc/src/Modify_contribute.txt b/doc/src/Modify_contribute.txt new file mode 100644 index 0000000000..80795b5e20 --- /dev/null +++ b/doc/src/Modify_contribute.txt @@ -0,0 +1,210 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Submitting new features for inclusion in LAMMPS :h3 + +We encourage users to submit new features or modifications for LAMMPS +to "the core developers"_http://lammps.sandia.gov/authors.html so they +can be added to the LAMMPS distribution. The preferred way to manage +and coordinate this is as of Fall 2016 via the LAMMPS project on +"GitHub"_https://github.com/lammps/lammps. An alternative is to +contact the LAMMPS developers or the indicated developer of a package +or feature directly and send in your contribution via e-mail. + +For any larger modifications or programming project, you are +encouraged to contact the LAMMPS developers ahead of time, in order to +discuss implementation strategies and coding guidelines, that will +make it easier to integrate your contribution and result in less work +for everybody involved. You are also encouraged to search through the +list of "open issues on +GitHub"_https://github.com/lammps/lammps/issues and submit a new issue +for a planned feature, so you would not duplicate the work of others +(and possibly get scooped by them) or have your work duplicated by +others. + +How quickly your contribution will be integrated depends largely on +how much effort it will cause to integrate and test it, how much it +requires changes to the core codebase, and of how much interest it is +to the larger LAMMPS community. Please see below for a checklist of +typical requirements. Once you have prepared everything, see "this +tutorial"_tutorial_github.html for instructions on how to submit your +changes or new files through a GitHub pull request. If you prefer to +submit patches or full files, you should first make certain, that your +code works correctly with the latest patch-level version of LAMMPS and +contains all bugfixes from it. Then create a gzipped tar file of all +changed or added files or a corresponding patch file using 'diff -u' +or 'diff -c' and compress it with gzip. Please only use gzip +compression, as this works well on all platforms. + +If the new features/files are broadly useful we may add them as core +files to LAMMPS or as part of a "standard +package"_Section_start.html#start_3. Else we will add them as a +user-contributed file or package. Examples of user packages are in +src sub-directories that start with USER. The USER-MISC package is +simply a collection of (mostly) unrelated single files, which is the +simplest way to have your contribution quickly added to the LAMMPS +distribution. You can see a list of the both standard and user +packages by typing "make package" in the LAMMPS src directory. + +Note that by providing us files to release, you are agreeing to make +them open-source, i.e. we can release them under the terms of the GPL, +used as a license for the rest of LAMMPS. See "Section +1.4"_Section_intro.html#intro_4 for details. + +With user packages and files, all we are really providing (aside from +the fame and fortune that accompanies having your name in the source +code and on the "Authors page"_http://lammps.sandia.gov/authors.html +of the "LAMMPS WWW site"_lws), is a means for you to distribute your +work to the LAMMPS user community, and a mechanism for others to +easily try out your new feature. This may help you find bugs or make +contact with new collaborators. Note that you're also implicitly +agreeing to support your code which means answer questions, fix bugs, +and maintain it if LAMMPS changes in some way that breaks it (an +unusual event). + +NOTE: If you prefer to actively develop and support your add-on +feature yourself, then you may wish to make it available for download +from your own website, as a user package that LAMMPS users can add to +their copy of LAMMPS. See the "Offsite LAMMPS packages and +tools"_http://lammps.sandia.gov/offsite.html page of the LAMMPS web +site for examples of groups that do this. We are happy to advertise +your package and web site from that page. Simply email the +"developers"_http://lammps.sandia.gov/authors.html with info about +your package and we will post it there. + +The previous sections of this doc page describe how to add new "style" +files of various kinds to LAMMPS. Packages are simply collections of +one or more new class files which are invoked as a new style within a +LAMMPS input script. If designed correctly, these additions typically +do not require changes to the main core of LAMMPS; they are simply +add-on files. If you think your new feature requires non-trivial +changes in core LAMMPS files, you'll need to "communicate with the +developers"_http://lammps.sandia.gov/authors.html, since we may or may +not want to make those changes. An example of a trivial change is +making a parent-class method "virtual" when you derive a new child +class from it. + +Here is a checklist of steps you need to follow to submit a single file +or user package for our consideration. Following these steps will save +both you and us time. See existing files in packages in the src dir for +examples. If you are uncertain, please ask. + +All source files you provide must compile with the most current +version of LAMMPS with multiple configurations. In particular you +need to test compiling LAMMPS from scratch with -DLAMMPS_BIGBIG +set in addition to the default -DLAMMPS_SMALLBIG setting. Your code +will need to work correctly in serial and in parallel using MPI. :ulb,l + +For consistency with the rest of LAMMPS and especially, if you want +your contribution(s) to be added to main LAMMPS code or one of its +standard packages, it needs to be written in a style compatible with +other LAMMPS source files. This means: 2-character indentation per +level, [no tabs], no lines over 80 characters. I/O is done via +the C-style stdio library, class header files should not import any +system headers outside , STL containers should be avoided +in headers, and forward declarations used where possible or needed. +All added code should be placed into the LAMMPS_NS namespace or a +sub-namespace; global or static variables should be avoided, as they +conflict with the modular nature of LAMMPS and the C++ class structure. +Header files must [not] import namespaces with {using}. +This all is so the developers can more easily understand, integrate, +and maintain your contribution and reduce conflicts with other parts +of LAMMPS. This basically means that the code accesses data +structures, performs its operations, and is formatted similar to other +LAMMPS source files, including the use of the error class for error +and warning messages. :l + +If you want your contribution to be added as a user-contributed +feature, and it's a single file (actually a *.cpp and *.h file) it can +rapidly be added to the USER-MISC directory. Send us the one-line +entry to add to the USER-MISC/README file in that dir, along with the +2 source files. You can do this multiple times if you wish to +contribute several individual features. :l + +If you want your contribution to be added as a user-contribution and +it is several related features, it is probably best to make it a user +package directory with a name like USER-FOO. In addition to your new +files, the directory should contain a README text file. The README +should contain your name and contact information and a brief +description of what your new package does. If your files depend on +other LAMMPS style files also being installed (e.g. because your file +is a derived class from the other LAMMPS class), then an Install.sh +file is also needed to check for those dependencies. See other README +and Install.sh files in other USER directories as examples. Send us a +tarball of this USER-FOO directory. :l + +Your new source files need to have the LAMMPS copyright, GPL notice, +and your name and email address at the top, like other +user-contributed LAMMPS source files. They need to create a class +that is inside the LAMMPS namespace. If the file is for one of the + +USER packages, including USER-MISC, then we are not as picky about the +coding style (see above). I.e. the files do not need to be in the +same stylistic format and syntax as other LAMMPS files, though that +would be nice for developers as well as users who try to read your +code. :l + +You [must] also create a [documentation] file for each new command or +style you are adding to LAMMPS. For simplicity and convenience, the +documentation of groups of closely related commands or styles may be +combined into a single file. This will be one file for a single-file +feature. For a package, it might be several files. These are simple +text files with a specific markup language, that are then auto-converted +to HTML and PDF. The tools for this conversion are included in the +source distribution, and the translation can be as simple as doing +"make html pdf" in the doc folder. +Thus the documentation source files must be in the same format and +style as other *.txt files in the lammps/doc/src directory for similar +commands and styles; use one or more of them as a starting point. +A description of the markup can also be found in +lammps/doc/utils/txt2html/README.html +As appropriate, the text files can include links to equations +(see doc/Eqs/*.tex for examples, we auto-create the associated JPG +files), or figures (see doc/JPG for examples), or even additional PDF +files with further details (see doc/PDF for examples). The doc page +should also include literature citations as appropriate; see the +bottom of doc/fix_nh.txt for examples and the earlier part of the same +file for how to format the cite itself. The "Restrictions" section of +the doc page should indicate that your command is only available if +LAMMPS is built with the appropriate USER-MISC or USER-FOO package. +See other user package doc files for examples of how to do this. The +prerequisite for building the HTML format files are Python 3.x and +virtualenv, the requirement for generating the PDF format manual +is the "htmldoc"_http://www.htmldoc.org/ software. Please run at least +"make html" and carefully inspect and proofread the resulting HTML format +doc page before submitting your code. :l + +For a new package (or even a single command) you should include one or +more example scripts demonstrating its use. These should run in no +more than a couple minutes, even on a single processor, and not require +large data files as input. See directories under examples/USER for +examples of input scripts other users provided for their packages. +These example inputs are also required for validating memory accesses +and testing for memory leaks with valgrind :l + +If there is a paper of yours describing your feature (either the +algorithm/science behind the feature itself, or its initial usage, or +its implementation in LAMMPS), you can add the citation to the *.cpp +source file. See src/USER-EFF/atom_vec_electron.cpp for an example. +A LaTeX citation is stored in a variable at the top of the file and a +single line of code that references the variable is added to the +constructor of the class. Whenever a user invokes your feature from +their input script, this will cause LAMMPS to output the citation to a +log.cite file and prompt the user to examine the file. Note that you +should only use this for a paper you or your group authored. +E.g. adding a cite in the code for a paper by Nose and Hoover if you +write a fix that implements their integrator is not the intended +usage. That kind of citation should just be in the doc page you +provide. :l +:ule + +Finally, as a general rule-of-thumb, the more clear and +self-explanatory you make your documentation and README files, and the +easier you make it for people to get started, e.g. by providing example +scripts, the more likely it is that users will try out your new feature. diff --git a/doc/src/Modify_dump.txt b/doc/src/Modify_dump.txt new file mode 100644 index 0000000000..9667a1b1fc --- /dev/null +++ b/doc/src/Modify_dump.txt @@ -0,0 +1,35 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Dump styles :h2 + +Classes that dump per-atom info to files are derived from the Dump +class. To dump new quantities or in a new format, a new derived dump +class can be added, but it is typically simpler to modify the +DumpCustom class contained in the dump_custom.cpp file. + +Dump_atom.cpp is a simple example of a derived dump class. + +Here is a brief description of methods you define in your new derived +class. See dump.h for details. + +write_header: write the header section of a snapshot of atoms +count: count the number of lines a processor will output +pack: pack a proc's output data into a buffer +write_data: write a proc's data to a file :tb(s=:) + +See the "dump"_dump.html command and its {custom} style for a list of +keywords for atom information that can already be dumped by +DumpCustom. It includes options to dump per-atom info from Compute +classes, so adding a new derived Compute class is one way to calculate +new quantities to dump. + +Note that new keywords for atom properties are not typically +added to the "dump custom"_dump.html command. Instead they are added +to the "compute property/atom"_compute_property_atom.html command. diff --git a/doc/src/Modify_fix.txt b/doc/src/Modify_fix.txt new file mode 100644 index 0000000000..ba985475cc --- /dev/null +++ b/doc/src/Modify_fix.txt @@ -0,0 +1,107 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Fix styles :h3 + +In LAMMPS, a "fix" is any operation that is computed during +timestepping that alters some property of the system. Essentially +everything that happens during a simulation besides force computation, +neighbor list construction, and output, is a "fix". This includes +time integration (update of coordinates and velocities), force +constraints or boundary conditions (SHAKE or walls), and diagnostics +(compute a diffusion coefficient). New styles can be created to add +new options to LAMMPS. + +Fix_setforce.cpp is a simple example of setting forces on atoms to +prescribed values. There are dozens of fix options already in LAMMPS; +choose one as a template that is similar to what you want to +implement. + +Here is a brief description of methods you can define in your new +derived class. See fix.h for details. + +setmask: determines when the fix is called during the timestep (required) +init: initialization before a run (optional) +setup_pre_exchange: called before atom exchange in setup (optional) +setup_pre_force: called before force computation in setup (optional) +setup: called immediately before the 1st timestep and after forces are computed (optional) +min_setup_pre_force: like setup_pre_force, but for minimizations instead of MD runs (optional) +min_setup: like setup, but for minimizations instead of MD runs (optional) +initial_integrate: called at very beginning of each timestep (optional) +pre_exchange: called before atom exchange on re-neighboring steps (optional) +pre_neighbor: called before neighbor list build (optional) +pre_force: called before pair & molecular forces are computed (optional) +post_force: called after pair & molecular forces are computed and communicated (optional) +final_integrate: called at end of each timestep (optional) +end_of_step: called at very end of timestep (optional) +write_restart: dumps fix info to restart file (optional) +restart: uses info from restart file to re-initialize the fix (optional) +grow_arrays: allocate memory for atom-based arrays used by fix (optional) +copy_arrays: copy atom info when an atom migrates to a new processor (optional) +pack_exchange: store atom's data in a buffer (optional) +unpack_exchange: retrieve atom's data from a buffer (optional) +pack_restart: store atom's data for writing to restart file (optional) +unpack_restart: retrieve atom's data from a restart file buffer (optional) +size_restart: size of atom's data (optional) +maxsize_restart: max size of atom's data (optional) +setup_pre_force_respa: same as setup_pre_force, but for rRESPA (optional) +initial_integrate_respa: same as initial_integrate, but for rRESPA (optional) +post_integrate_respa: called after the first half integration step is done in rRESPA (optional) +pre_force_respa: same as pre_force, but for rRESPA (optional) +post_force_respa: same as post_force, but for rRESPA (optional) +final_integrate_respa: same as final_integrate, but for rRESPA (optional) +min_pre_force: called after pair & molecular forces are computed in minimizer (optional) +min_post_force: called after pair & molecular forces are computed and communicated in minimizer (optional) +min_store: store extra data for linesearch based minimization on a LIFO stack (optional) +min_pushstore: push the minimization LIFO stack one element down (optional) +min_popstore: pop the minimization LIFO stack one element up (optional) +min_clearstore: clear minimization LIFO stack (optional) +min_step: reset or move forward on line search minimization (optional) +min_dof: report number of degrees of freedom {added} by this fix in minimization (optional) +max_alpha: report maximum allowed step size during linesearch minimization (optional) +pack_comm: pack a buffer to communicate a per-atom quantity (optional) +unpack_comm: unpack a buffer to communicate a per-atom quantity (optional) +pack_reverse_comm: pack a buffer to reverse communicate a per-atom quantity (optional) +unpack_reverse_comm: unpack a buffer to reverse communicate a per-atom quantity (optional) +dof: report number of degrees of freedom {removed} by this fix during MD (optional) +compute_scalar: return a global scalar property that the fix computes (optional) +compute_vector: return a component of a vector property that the fix computes (optional) +compute_array: return a component of an array property that the fix computes (optional) +deform: called when the box size is changed (optional) +reset_target: called when a change of the target temperature is requested during a run (optional) +reset_dt: is called when a change of the time step is requested during a run (optional) +modify_param: called when a fix_modify request is executed (optional) +memory_usage: report memory used by fix (optional) +thermo: compute quantities for thermodynamic output (optional) :tb(s=:) + +Typically, only a small fraction of these methods are defined for a +particular fix. Setmask is mandatory, as it determines when the fix +will be invoked during the timestep. Fixes that perform time +integration ({nve}, {nvt}, {npt}) implement initial_integrate() and +final_integrate() to perform velocity Verlet updates. Fixes that +constrain forces implement post_force(). + +Fixes that perform diagnostics typically implement end_of_step(). For +an end_of_step fix, one of your fix arguments must be the variable +"nevery" which is used to determine when to call the fix and you must +set this variable in the constructor of your fix. By convention, this +is the first argument the fix defines (after the ID, group-ID, style). + +If the fix needs to store information for each atom that persists from +timestep to timestep, it can manage that memory and migrate the info +with the atoms as they move from processors to processor by +implementing the grow_arrays, copy_arrays, pack_exchange, and +unpack_exchange methods. Similarly, the pack_restart and +unpack_restart methods can be implemented to store information about +the fix in restart files. If you wish an integrator or force +constraint fix to work with rRESPA (see the "run_style"_run_style.html +command), the initial_integrate, post_force_integrate, and +final_integrate_respa methods can be implemented. The thermo method +enables a fix to contribute values to thermodynamic output, as printed +quantities and/or to be summed to the potential energy of the system. diff --git a/doc/src/Modify_kspace.txt b/doc/src/Modify_kspace.txt new file mode 100644 index 0000000000..21407bf2e9 --- /dev/null +++ b/doc/src/Modify_kspace.txt @@ -0,0 +1,25 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Kspace styles :h3 + +Classes that compute long-range Coulombic interactions via K-space +representations (Ewald, PPPM) are derived from the KSpace class. New +styles can be created to add new K-space options to LAMMPS. + +Ewald.cpp is an example of computing K-space interactions. + +Here is a brief description of methods you define in your new derived +class. See kspace.h for details. + +init: initialize the calculation before a run +setup: computation before the 1st timestep of a run +compute: every-timestep computation +memory_usage: tally of memory usage :tb(s=:) + diff --git a/doc/src/Modify_min.txt b/doc/src/Modify_min.txt new file mode 100644 index 0000000000..5dcf0f1e67 --- /dev/null +++ b/doc/src/Modify_min.txt @@ -0,0 +1,23 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Minimization styles :h3 + +Classes that perform energy minimization derived from the Min class. +New styles can be created to add new minimization algorithms to +LAMMPS. + +Min_cg.cpp is an example of conjugate gradient minimization. + +Here is a brief description of methods you define in your new derived +class. See min.h for details. + +init: initialize the minimization before a run +run: perform the minimization +memory_usage: tally of memory usage :tb(s=:) diff --git a/doc/src/Modify_overview.txt b/doc/src/Modify_overview.txt new file mode 100644 index 0000000000..f9964d964b --- /dev/null +++ b/doc/src/Modify_overview.txt @@ -0,0 +1,101 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Overview :h3 + +The best way to add a new feature to LAMMPS is to find a similar +featureand look at the corresponding source and header files to figure +out what it does. You will need some knowledge of C++ to be able to +understand the hi-level structure of LAMMPS and its class +organization, but functions (class methods) that do actual +computations are written in vanilla C-style code and operate on simple +C-style data structures (vectors and arrays). + +Most of the new features described on the "Modify"_Modify.html doc +page require you to write a new C++ derived class (except for +exceptions described below, where you can make small edits to existing +files). Creating a new class requires 2 files, a source code file +(*.cpp) and a header file (*.h). The derived class must provide +certain methods to work as a new option. Depending on how different +your new feature is compared to existing features, you can either +derive from the base class itself, or from a derived class that +already exists. Enabling LAMMPS to invoke the new class is as simple +as putting the two source files in the src dir and re-building LAMMPS. + +The advantage of C++ and its object-orientation is that all the code +and variables needed to define the new feature are in the 2 files you +write, and thus shouldn't make the rest of LAMMPS more complex or +cause side-effect bugs. + +Here is a concrete example. Suppose you write 2 files pair_foo.cpp +and pair_foo.h that define a new class PairFoo that computes pairwise +potentials described in the classic 1997 "paper"_#Foo by Foo, et al. +If you wish to invoke those potentials in a LAMMPS input script with a +command like + +pair_style foo 0.1 3.5 :pre + +then your pair_foo.h file should be structured as follows: + +#ifdef PAIR_CLASS +PairStyle(foo,PairFoo) +#else +... +(class definition for PairFoo) +... +#endif :pre + +where "foo" is the style keyword in the pair_style command, and +PairFoo is the class name defined in your pair_foo.cpp and pair_foo.h +files. + +When you re-build LAMMPS, your new pairwise potential becomes part of +the executable and can be invoked with a pair_style command like the +example above. Arguments like 0.1 and 3.5 can be defined and +processed by your new class. + +As illustrated by this pairwise example, many kinds of options are +referred to in the LAMMPS documentation as the "style" of a particular +command. + +The "Modify page"_Modify.html lists all the common styles in LAMMPS, +and discusses the header file for the base class that these styles are +derived from. Public variables in that file are ones used and set by +the derived classes which are also used by the base class. Sometimes +they are also used by the rest of LAMMPS. Virtual functions in the +base class header file which are set = 0 are ones you must define in +your new derived class to give it the functionality LAMMPS expects. +Virtual functions that are not set to 0 are functions you can +optionally define. + +Additionally, new output options can be added directly to the +thermo.cpp, dump_custom.cpp, and variable.cpp files. These are also +listed on the "Modify page"_Modify.html. + +Here are additional guidelines for modifying LAMMPS and adding new +functionality: + +Think about whether what you want to do would be better as a pre- or +post-processing step. Many computations are more easily and more +quickly done that way. :ulb,l + +Don't do anything within the timestepping of a run that isn't +parallel. E.g. don't accumulate a bunch of data on a single processor +and analyze it. You run the risk of seriously degrading the parallel +efficiency. :l + +If your new feature reads arguments or writes output, make sure you +follow the unit conventions discussed by the "units"_units.html +command. :l +:ule + +:line + +:link(Foo) +[(Foo)] Foo, Morefoo, and Maxfoo, J of Classic Potentials, 75, 345 (1997). diff --git a/doc/src/Modify_pair.txt b/doc/src/Modify_pair.txt new file mode 100644 index 0000000000..8c234dc621 --- /dev/null +++ b/doc/src/Modify_pair.txt @@ -0,0 +1,33 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Pair styles :h3 + +Classes that compute pairwise interactions are derived from the Pair +class. In LAMMPS, pairwise calculation include manybody potentials +such as EAM or Tersoff where particles interact without a static bond +topology. New styles can be created to add new pair potentials to +LAMMPS. + +Pair_lj_cut.cpp is a simple example of a Pair class, though it +includes some optional methods to enable its use with rRESPA. + +Here is a brief description of the class methods in pair.h: + +compute: workhorse routine that computes pairwise interactions +settings: reads the input script line with arguments you define +coeff: set coefficients for one i,j type pair +init_one: perform initialization for one i,j type pair +init_style: initialization specific to this pair style +write & read_restart: write/read i,j pair coeffs to restart files +write & read_restart_settings: write/read global settings to restart files +single: force and energy of a single pairwise interaction between 2 atoms +compute_inner/middle/outer: versions of compute used by rRESPA :tb(s=:) + +The inner/middle/outer routines are optional. diff --git a/doc/src/Modify_region.txt b/doc/src/Modify_region.txt new file mode 100644 index 0000000000..9fbf359292 --- /dev/null +++ b/doc/src/Modify_region.txt @@ -0,0 +1,25 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Region styles :h3 + +Classes that define geometric regions are derived from the Region +class. Regions are used elsewhere in LAMMPS to group atoms, delete +atoms to create a void, insert atoms in a specified region, etc. New +styles can be created to add new region shapes to LAMMPS. + +Region_sphere.cpp is an example of a spherical region. + +Here is a brief description of methods you define in your new derived +class. See region.h for details. + +inside: determine whether a point is in the region +surface_interior: determine if a point is within a cutoff distance inside of surc +surface_exterior: determine if a point is within a cutoff distance outside of surf +shape_update : change region shape if set by time-dependent variable :tb(s=:) diff --git a/doc/src/Modify_thermo.txt b/doc/src/Modify_thermo.txt new file mode 100644 index 0000000000..001a9f99e1 --- /dev/null +++ b/doc/src/Modify_thermo.txt @@ -0,0 +1,35 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Thermodynamic output options :h3 + +There is one class that computes and prints thermodynamic information +to the screen and log file; see the file thermo.cpp. + +There are two styles defined in thermo.cpp: "one" and "multi". There +is also a flexible "custom" style which allows the user to explicitly +list keywords for quantities to print when thermodynamic info is +output. See the "thermo_style"_thermo_style.html command for a list +of defined quantities. + +The thermo styles (one, multi, etc) are simply lists of keywords. +Adding a new style thus only requires defining a new list of keywords. +Search for the word "customize" with references to "thermo style" in +thermo.cpp to see the two locations where code will need to be added. + +New keywords can also be added to thermo.cpp to compute new quantities +for output. Search for the word "customize" with references to +"keyword" in thermo.cpp to see the several locations where code will +need to be added. + +Note that the "thermo_style custom"_thermo.html command already allows +for thermo output of quantities calculated by "fixes"_fix.html, +"computes"_compute.html, and "variables"_variable.html. Thus, it may +be simpler to compute what you wish via one of those constructs, than +by adding a new keyword to the thermo command. diff --git a/doc/src/Modify_variable.txt b/doc/src/Modify_variable.txt new file mode 100644 index 0000000000..3c5b29cd1a --- /dev/null +++ b/doc/src/Modify_variable.txt @@ -0,0 +1,46 @@ +"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Variable options :h3 + +There is one class that computes and stores "variable"_variable.html +information in LAMMPS; see the file variable.cpp. The value +associated with a variable can be periodically printed to the screen +via the "print"_print.html, "fix print"_fix_print.html, or +"thermo_style custom"_thermo_style.html commands. Variables of style +"equal" can compute complex equations that involve the following types +of arguments: + +thermo keywords = ke, vol, atoms, ... +other variables = v_a, v_myvar, ... +math functions = div(x,y), mult(x,y), add(x,y), ... +group functions = mass(group), xcm(group,x), ... +atom values = x\[123\], y\[3\], vx\[34\], ... +compute values = c_mytemp\[0\], c_thermo_press\[3\], ... :pre + +Adding keywords for the "thermo_style custom"_thermo_style.html +command (which can then be accessed by variables) is discussed on the +"Modify thermo"_Modify_thermo.html doc page. + +Adding a new math function of one or two arguments can be done by +editing one section of the Variable::evaluate() method. Search for +the word "customize" to find the appropriate location. + +Adding a new group function can be done by editing one section of the +Variable::evaluate() method. Search for the word "customize" to find +the appropriate location. You may need to add a new method to the +Group class as well (see the group.cpp file). + +Accessing a new atom-based vector can be done by editing one section +of the Variable::evaluate() method. Search for the word "customize" +to find the appropriate location. + +Adding new "compute styles"_compute.html (whose calculated values can +then be accessed by variables) is discussed on the "Modify +compute"_Modify_compute.html doc page. diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index 32308b36cb..a44013f5f1 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -204,10 +204,10 @@ allowed, but that should be sufficient for most use cases. 3.3 Input script structure :h3,link(cmd_3) This section describes the structure of a typical LAMMPS input script. -The "examples" directory in the LAMMPS distribution contains many -sample input scripts; the corresponding problems are discussed in -"Section 7"_Section_example.html, and animated on the "LAMMPS -WWW Site"_lws. +The examples directory in the LAMMPS distribution contains many sample +input scripts; the corresponding problems are discussed on the +"Examples"_Examples.html doc page, and animated on the "LAMMPS WWW +Site"_lws. A LAMMPS input script typically has 4 parts: diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt index a46b29c73b..0a31fc2b48 100644 --- a/doc/src/Section_howto.txt +++ b/doc/src/Section_howto.txt @@ -1,4 +1,4 @@ -"Previous Section"_Section_accelerate.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_example.html :c +"Previous Section"_Section_accelerate.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Examples.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -40,7 +40,7 @@ This section describes how to perform common tasks using LAMMPS. 6.28 "Magnetic spins"_#howto_28 :all(b) The example input scripts included in the LAMMPS distribution and -highlighted in "Section 7"_Section_example.html also show how to +highlighted on the "Examples"_Examples.html doc page also show how to setup and run various kinds of simulations. :line @@ -672,10 +672,10 @@ this scenario, LAMMPS is the driver code. During its timestepping, the fix is invoked, and can make library calls to the other code, which has been linked to LAMMPS as a library. This is the way the "POEMS"_poems package that performs constrained rigid-body motion on -groups of atoms is hooked to LAMMPS. See the -"fix poems"_fix_poems.html command for more details. See "this -section"_Section_modify.html of the documentation for info on how to add -a new fix to LAMMPS. +groups of atoms is hooked to LAMMPS. See the "fix +poems"_fix_poems.html command for more details. See the +"Modify"_Modify.html doc page for info on how to add a new fix to +LAMMPS. :link(poems,http://www.rpi.edu/~anderk5/lab) @@ -696,8 +696,8 @@ processors to start up another program). In the latter case the stand-alone code could communicate with LAMMPS thru files that the command writes and reads. -See "Section 10"_Section_modify.html of the documentation for how -to add a new command to LAMMPS. +See the "Modify"_Modify.html doc page for how to add a new command to +LAMMPS. (3) Use LAMMPS as a library called by another code. In this case the other code is the driver and calls LAMMPS as needed. Or a wrapper @@ -1057,7 +1057,7 @@ rigid bodies composed of finite-size particles :ul Example input scripts for these kinds of models are in the body, colloid, dipole, ellipse, line, peri, pour, and tri directories of the -"examples directory"_Section_example.html in the LAMMPS distribution. +"examples directory"_Examples.html in the LAMMPS distribution. Atom styles :h4 @@ -1302,8 +1302,8 @@ As discussed below, LAMMPS gives you a variety of ways to determine what quantities are computed and printed when the thermodynamics, dump, or fix commands listed above perform output. Throughout this discussion, note that users can also "add their own computes and fixes -to LAMMPS"_Section_modify.html which can then generate values that can -then be output with these commands. +to LAMMPS"_Modify.html which can then generate values that can then be +output with these commands. The following sub-sections discuss different LAMMPS command related to output and the kind of data they operate on and produce: @@ -1824,8 +1824,8 @@ At zero temperature, it is easy to estimate these derivatives by deforming the simulation box in one of the six directions using the "change_box"_change_box.html command and measuring the change in the stress tensor. A general-purpose script that does this is given in the -examples/elastic directory described in "this -section"_Section_example.html. +examples/elastic directory described on the "Examples"_Examples.html +doc page. Calculating elastic constants at finite temperature is more challenging, because it is necessary to run a simulation that perfoms @@ -2322,11 +2322,10 @@ Note that this compute allows the per-atom output of other "computes"_compute.html, "fixes"_fix.html, and "variables"_variable.html to be used to define chunk IDs for each atom. This means you can write your own compute or fix to output a -per-atom quantity to use as chunk ID. See -"Section 10"_Section_modify.html of the documentation for how to -do this. You can also define a "per-atom variable"_variable.html in -the input script that uses a formula to generate a chunk ID for each -atom. +per-atom quantity to use as chunk ID. See the "Modify"_Modify.html +doc page for how to do this. You can also define a "per-atom +variable"_variable.html in the input script that uses a formula to +generate a chunk ID for each atom. Fix ave/chunk command: :h4 diff --git a/doc/src/Section_intro.txt b/doc/src/Section_intro.txt index fd1d702d0b..fa2ab0e768 100644 --- a/doc/src/Section_intro.txt +++ b/doc/src/Section_intro.txt @@ -54,8 +54,8 @@ brief discussion of the open-source philosophy. LAMMPS is designed to be easy to modify or extend with new capabilities, such as new force fields, atom types, boundary -conditions, or diagnostics. See "Section 10"_Section_modify.html -for more details. +conditions, or diagnostics. See the "Modify"_Modify.html doc page for +more details. The current version of LAMMPS is written in C++. Earlier versions were written in F77 and F90. See @@ -94,8 +94,8 @@ LAMMPS are listed in "this section"_#intro_5. This section highlights LAMMPS features, with pointers to specific commands which give more details. If LAMMPS doesn't have your favorite interatomic potential, boundary condition, or atom type, see -"Section 10"_Section_modify.html, which describes how you can add -it to LAMMPS. +the "Modify"_Modify.html doc page, which describes how you can add it +to LAMMPS. General features :h4 @@ -334,8 +334,8 @@ Similarly, LAMMPS creates output files in a simple format. Most users post-process these files with their own analysis tools or re-format them for input into other programs, including visualization packages. If you are convinced you need to compute something on-the-fly as -LAMMPS runs, see "Section 10"_Section_modify.html for a discussion -of how you can use the "dump"_dump.html and "compute"_compute.html and +LAMMPS runs, see the "Modify"_Modify.html doc page for a discussion of +how you can use the "dump"_dump.html and "compute"_compute.html and "fix"_fix.html commands to print out data of your choosing. Keep in mind that complicated computations can slow down the molecular dynamics timestepping, particularly if the computations are not @@ -448,9 +448,8 @@ distribution. :l LAMMPS is designed to be easy to extend with new code for features like potentials, boundary conditions, diagnostic computations, etc. -"This section"_Section_modify.html gives details. If you add a -feature of general interest, it can be added to the LAMMPS -distribution. :l +The "Modify"_Modify.html doc page gives details. If you add a feature +of general interest, it can be added to the LAMMPS distribution. :l The Benchmark page of the "LAMMPS WWW Site"_lws lists LAMMPS performance on various platforms. The files needed to run the diff --git a/doc/src/Section_modify.txt b/doc/src/Section_modify.txt deleted file mode 100644 index 6948ac062a..0000000000 --- a/doc/src/Section_modify.txt +++ /dev/null @@ -1,827 +0,0 @@ - "Previous Section"_Tools.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_python.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -10. Modifying & extending LAMMPS :h2 - -This section describes how to customize LAMMPS by modifying -and extending its source code. - -10.1 "Atom styles"_#mod_1 -10.2 "Bond, angle, dihedral, improper potentials"_#mod_2 -10.3 "Compute styles"_#mod_3 -10.4 "Dump styles"_#mod_4 -10.5 "Dump custom output options"_#mod_5 -10.6 "Fix styles"_#mod_6 which include integrators, \ - temperature and pressure control, force constraints, \ - boundary conditions, diagnostic output, etc -10.7 "Input script commands"_#mod_7 -10.8 "Kspace computations"_#mod_8 -10.9 "Minimization styles"_#mod_9 -10.10 "Pairwise potentials"_#mod_10 -10.11 "Region styles"_#mod_11 -10.12 "Body styles"_#mod_12 -10.13 "Thermodynamic output options"_#mod_13 -10.14 "Variable options"_#mod_14 -10.15 "Submitting new features for inclusion in LAMMPS"_#mod_15 :all(b) - -LAMMPS is designed in a modular fashion so as to be easy to modify and -extend with new functionality. In fact, about 75% of its source code -is files added in this fashion. - -In this section, changes and additions users can make are listed along -with minimal instructions. If you add a new feature to LAMMPS and -think it will be of interest to general users, we encourage you to -submit it to the developers for inclusion in the released version of -LAMMPS. Information about how to do this is provided -"below"_#mod_14. - -The best way to add a new feature is to find a similar feature in -LAMMPS and look at the corresponding source and header files to figure -out what it does. You will need some knowledge of C++ to be able to -understand the hi-level structure of LAMMPS and its class -organization, but functions (class methods) that do actual -computations are written in vanilla C-style code and operate on simple -C-style data structures (vectors and arrays). - -Most of the new features described in this section require you to -write a new C++ derived class (except for exceptions described below, -where you can make small edits to existing files). Creating a new -class requires 2 files, a source code file (*.cpp) and a header file -(*.h). The derived class must provide certain methods to work as a -new option. Depending on how different your new feature is compared -to existing features, you can either derive from the base class -itself, or from a derived class that already exists. Enabling LAMMPS -to invoke the new class is as simple as putting the two source -files in the src dir and re-building LAMMPS. - -The advantage of C++ and its object-orientation is that all the code -and variables needed to define the new feature are in the 2 files you -write, and thus shouldn't make the rest of LAMMPS more complex or -cause side-effect bugs. - -Here is a concrete example. Suppose you write 2 files pair_foo.cpp -and pair_foo.h that define a new class PairFoo that computes pairwise -potentials described in the classic 1997 "paper"_#Foo by Foo, et al. -If you wish to invoke those potentials in a LAMMPS input script with a -command like - -pair_style foo 0.1 3.5 :pre - -then your pair_foo.h file should be structured as follows: - -#ifdef PAIR_CLASS -PairStyle(foo,PairFoo) -#else -... -(class definition for PairFoo) -... -#endif :pre - -where "foo" is the style keyword in the pair_style command, and -PairFoo is the class name defined in your pair_foo.cpp and pair_foo.h -files. - -When you re-build LAMMPS, your new pairwise potential becomes part of -the executable and can be invoked with a pair_style command like the -example above. Arguments like 0.1 and 3.5 can be defined and -processed by your new class. - -As illustrated by this pairwise example, many kinds of options are -referred to in the LAMMPS documentation as the "style" of a particular -command. - -The instructions below give the header file for the base class that -these styles are derived from. Public variables in that file are ones -used and set by the derived classes which are also used by the base -class. Sometimes they are also used by the rest of LAMMPS. Virtual -functions in the base class header file which are set = 0 are ones you -must define in your new derived class to give it the functionality -LAMMPS expects. Virtual functions that are not set to 0 are functions -you can optionally define. - -Additionally, new output options can be added directly to the -thermo.cpp, dump_custom.cpp, and variable.cpp files as explained -below. - -Here are additional guidelines for modifying LAMMPS and adding new -functionality: - -Think about whether what you want to do would be better as a pre- or -post-processing step. Many computations are more easily and more -quickly done that way. :ulb,l - -Don't do anything within the timestepping of a run that isn't -parallel. E.g. don't accumulate a bunch of data on a single processor -and analyze it. You run the risk of seriously degrading the parallel -efficiency. :l - -If your new feature reads arguments or writes output, make sure you -follow the unit conventions discussed by the "units"_units.html -command. :l - -If you add something you think is truly useful and doesn't impact -LAMMPS performance when it isn't used, send an email to the -"developers"_http://lammps.sandia.gov/authors.html. We might be -interested in adding it to the LAMMPS distribution. See further -details on this at the bottom of this page. :l -:ule - -:line -:line - -10.1 Atom styles :link(mod_1),h4 - -Classes that define an "atom style"_atom_style.html are derived from -the AtomVec class and managed by the Atom class. The atom style -determines what attributes are associated with an atom. A new atom -style can be created if one of the existing atom styles does not -define all the attributes you need to store and communicate with -atoms. - -Atom_vec_atomic.cpp is a simple example of an atom style. - -Here is a brief description of methods you define in your new derived -class. See atom_vec.h for details. - -init: one time setup (optional) -grow: re-allocate atom arrays to longer lengths (required) -grow_reset: make array pointers in Atom and AtomVec classes consistent (required) -copy: copy info for one atom to another atom's array locations (required) -pack_comm: store an atom's info in a buffer communicated every timestep (required) -pack_comm_vel: add velocity info to communication buffer (required) -pack_comm_hybrid: store extra info unique to this atom style (optional) -unpack_comm: retrieve an atom's info from the buffer (required) -unpack_comm_vel: also retrieve velocity info (required) -unpack_comm_hybrid: retrieve extra info unique to this atom style (optional) -pack_reverse: store an atom's info in a buffer communicating partial forces (required) -pack_reverse_hybrid: store extra info unique to this atom style (optional) -unpack_reverse: retrieve an atom's info from the buffer (required) -unpack_reverse_hybrid: retrieve extra info unique to this atom style (optional) -pack_border: store an atom's info in a buffer communicated on neighbor re-builds (required) -pack_border_vel: add velocity info to buffer (required) -pack_border_hybrid: store extra info unique to this atom style (optional) -unpack_border: retrieve an atom's info from the buffer (required) -unpack_border_vel: also retrieve velocity info (required) -unpack_border_hybrid: retrieve extra info unique to this atom style (optional) -pack_exchange: store all an atom's info to migrate to another processor (required) -unpack_exchange: retrieve an atom's info from the buffer (required) -size_restart: number of restart quantities associated with proc's atoms (required) -pack_restart: pack atom quantities into a buffer (required) -unpack_restart: unpack atom quantities from a buffer (required) -create_atom: create an individual atom of this style (required) -data_atom: parse an atom line from the data file (required) -data_atom_hybrid: parse additional atom info unique to this atom style (optional) -data_vel: parse one line of velocity information from data file (optional) -data_vel_hybrid: parse additional velocity data unique to this atom style (optional) -memory_usage: tally memory allocated by atom arrays (required) :tb(s=:) - -The constructor of the derived class sets values for several variables -that you must set when defining a new atom style, which are documented -in atom_vec.h. New atom arrays are defined in atom.cpp. Search for -the word "customize" and you will find locations you will need to -modify. - -NOTE: It is possible to add some attributes, such as a molecule ID, to -atom styles that do not have them via the "fix -property/atom"_fix_property_atom.html command. This command also -allows new custom attributes consisting of extra integer or -floating-point values to be added to atoms. See the "fix -property/atom"_fix_property_atom.html doc page for examples of cases -where this is useful and details on how to initialize, access, and -output the custom values. - -New "pair styles"_pair_style.html, "fixes"_fix.html, or -"computes"_compute.html can be added to LAMMPS, as discussed below. -The code for these classes can use the per-atom properties defined by -fix property/atom. The Atom class has a find_custom() method that is -useful in this context: - -int index = atom->find_custom(char *name, int &flag); :pre - -The "name" of a custom attribute, as specified in the "fix -property/atom"_fix_property_atom.html command, is checked to verify -that it exists and its index is returned. The method also sets flag = -0/1 depending on whether it is an integer or floating-point attribute. -The vector of values associated with the attribute can then be -accessed using the returned index as - -int *ivector = atom->ivector\[index\]; -double *dvector = atom->dvector\[index\]; :pre - -Ivector or dvector are vectors of length Nlocal = # of owned atoms, -which store the attributes of individual atoms. - -:line - -10.2 Bond, angle, dihedral, improper potentials :link(mod_2),h4 - -Classes that compute molecular interactions are derived from the Bond, -Angle, Dihedral, and Improper classes. New styles can be created to -add new potentials to LAMMPS. - -Bond_harmonic.cpp is the simplest example of a bond style. Ditto for -the harmonic forms of the angle, dihedral, and improper style -commands. - -Here is a brief description of common methods you define in your -new derived class. See bond.h, angle.h, dihedral.h, and improper.h -for details and specific additional methods. - -init: check if all coefficients are set, calls {init_style} (optional) -init_style: check if style specific conditions are met (optional) -compute: compute the molecular interactions (required) -settings: apply global settings for all types (optional) -coeff: set coefficients for one type (required) -equilibrium_distance: length of bond, used by SHAKE (required, bond only) -equilibrium_angle: opening of angle, used by SHAKE (required, angle only) -write & read_restart: writes/reads coeffs to restart files (required) -single: force and energy of a single bond or angle (required, bond or angle only) -memory_usage: tally memory allocated by the style (optional) :tb(s=:) - -:line - -10.3 Compute styles :link(mod_3),h4 - -Classes that compute scalar and vector quantities like temperature -and the pressure tensor, as well as classes that compute per-atom -quantities like kinetic energy and the centro-symmetry parameter -are derived from the Compute class. New styles can be created -to add new calculations to LAMMPS. - -Compute_temp.cpp is a simple example of computing a scalar -temperature. Compute_ke_atom.cpp is a simple example of computing -per-atom kinetic energy. - -Here is a brief description of methods you define in your new derived -class. See compute.h for details. - -init: perform one time setup (required) -init_list: neighbor list setup, if needed (optional) -compute_scalar: compute a scalar quantity (optional) -compute_vector: compute a vector of quantities (optional) -compute_peratom: compute one or more quantities per atom (optional) -compute_local: compute one or more quantities per processor (optional) -pack_comm: pack a buffer with items to communicate (optional) -unpack_comm: unpack the buffer (optional) -pack_reverse: pack a buffer with items to reverse communicate (optional) -unpack_reverse: unpack the buffer (optional) -remove_bias: remove velocity bias from one atom (optional) -remove_bias_all: remove velocity bias from all atoms in group (optional) -restore_bias: restore velocity bias for one atom after remove_bias (optional) -restore_bias_all: same as before, but for all atoms in group (optional) -pair_tally_callback: callback function for {tally}-style computes (optional). -memory_usage: tally memory usage (optional) :tb(s=:) - -Tally-style computes are a special case, as their computation is done -in two stages: the callback function is registered with the pair style -and then called from the Pair::ev_tally() function, which is called for -each pair after force and energy has been computed for this pair. Then -the tallied values are retrieved with the standard compute_scalar or -compute_vector or compute_peratom methods. The USER-TALLY package -provides {examples}_compute_tally.html for utilizing this mechanism. - -:line - -10.4 Dump styles :link(mod_4),h4 -10.5 Dump custom output options :link(mod_5),h4 - -Classes that dump per-atom info to files are derived from the Dump -class. To dump new quantities or in a new format, a new derived dump -class can be added, but it is typically simpler to modify the -DumpCustom class contained in the dump_custom.cpp file. - -Dump_atom.cpp is a simple example of a derived dump class. - -Here is a brief description of methods you define in your new derived -class. See dump.h for details. - -write_header: write the header section of a snapshot of atoms -count: count the number of lines a processor will output -pack: pack a proc's output data into a buffer -write_data: write a proc's data to a file :tb(s=:) - -See the "dump"_dump.html command and its {custom} style for a list of -keywords for atom information that can already be dumped by -DumpCustom. It includes options to dump per-atom info from Compute -classes, so adding a new derived Compute class is one way to calculate -new quantities to dump. - -Alternatively, you can add new keywords to the dump custom command. -Search for the word "customize" in dump_custom.cpp to see the -half-dozen or so locations where code will need to be added. - -:line - -10.6 Fix styles :link(mod_6),h4 - -In LAMMPS, a "fix" is any operation that is computed during -timestepping that alters some property of the system. Essentially -everything that happens during a simulation besides force computation, -neighbor list construction, and output, is a "fix". This includes -time integration (update of coordinates and velocities), force -constraints or boundary conditions (SHAKE or walls), and diagnostics -(compute a diffusion coefficient). New styles can be created to add -new options to LAMMPS. - -Fix_setforce.cpp is a simple example of setting forces on atoms to -prescribed values. There are dozens of fix options already in LAMMPS; -choose one as a template that is similar to what you want to -implement. - -Here is a brief description of methods you can define in your new -derived class. See fix.h for details. - -setmask: determines when the fix is called during the timestep (required) -init: initialization before a run (optional) -setup_pre_exchange: called before atom exchange in setup (optional) -setup_pre_force: called before force computation in setup (optional) -setup: called immediately before the 1st timestep and after forces are computed (optional) -min_setup_pre_force: like setup_pre_force, but for minimizations instead of MD runs (optional) -min_setup: like setup, but for minimizations instead of MD runs (optional) -initial_integrate: called at very beginning of each timestep (optional) -pre_exchange: called before atom exchange on re-neighboring steps (optional) -pre_neighbor: called before neighbor list build (optional) -pre_force: called before pair & molecular forces are computed (optional) -post_force: called after pair & molecular forces are computed and communicated (optional) -final_integrate: called at end of each timestep (optional) -end_of_step: called at very end of timestep (optional) -write_restart: dumps fix info to restart file (optional) -restart: uses info from restart file to re-initialize the fix (optional) -grow_arrays: allocate memory for atom-based arrays used by fix (optional) -copy_arrays: copy atom info when an atom migrates to a new processor (optional) -pack_exchange: store atom's data in a buffer (optional) -unpack_exchange: retrieve atom's data from a buffer (optional) -pack_restart: store atom's data for writing to restart file (optional) -unpack_restart: retrieve atom's data from a restart file buffer (optional) -size_restart: size of atom's data (optional) -maxsize_restart: max size of atom's data (optional) -setup_pre_force_respa: same as setup_pre_force, but for rRESPA (optional) -initial_integrate_respa: same as initial_integrate, but for rRESPA (optional) -post_integrate_respa: called after the first half integration step is done in rRESPA (optional) -pre_force_respa: same as pre_force, but for rRESPA (optional) -post_force_respa: same as post_force, but for rRESPA (optional) -final_integrate_respa: same as final_integrate, but for rRESPA (optional) -min_pre_force: called after pair & molecular forces are computed in minimizer (optional) -min_post_force: called after pair & molecular forces are computed and communicated in minimizer (optional) -min_store: store extra data for linesearch based minimization on a LIFO stack (optional) -min_pushstore: push the minimization LIFO stack one element down (optional) -min_popstore: pop the minimization LIFO stack one element up (optional) -min_clearstore: clear minimization LIFO stack (optional) -min_step: reset or move forward on line search minimization (optional) -min_dof: report number of degrees of freedom {added} by this fix in minimization (optional) -max_alpha: report maximum allowed step size during linesearch minimization (optional) -pack_comm: pack a buffer to communicate a per-atom quantity (optional) -unpack_comm: unpack a buffer to communicate a per-atom quantity (optional) -pack_reverse_comm: pack a buffer to reverse communicate a per-atom quantity (optional) -unpack_reverse_comm: unpack a buffer to reverse communicate a per-atom quantity (optional) -dof: report number of degrees of freedom {removed} by this fix during MD (optional) -compute_scalar: return a global scalar property that the fix computes (optional) -compute_vector: return a component of a vector property that the fix computes (optional) -compute_array: return a component of an array property that the fix computes (optional) -deform: called when the box size is changed (optional) -reset_target: called when a change of the target temperature is requested during a run (optional) -reset_dt: is called when a change of the time step is requested during a run (optional) -modify_param: called when a fix_modify request is executed (optional) -memory_usage: report memory used by fix (optional) -thermo: compute quantities for thermodynamic output (optional) :tb(s=:) - -Typically, only a small fraction of these methods are defined for a -particular fix. Setmask is mandatory, as it determines when the fix -will be invoked during the timestep. Fixes that perform time -integration ({nve}, {nvt}, {npt}) implement initial_integrate() and -final_integrate() to perform velocity Verlet updates. Fixes that -constrain forces implement post_force(). - -Fixes that perform diagnostics typically implement end_of_step(). For -an end_of_step fix, one of your fix arguments must be the variable -"nevery" which is used to determine when to call the fix and you must -set this variable in the constructor of your fix. By convention, this -is the first argument the fix defines (after the ID, group-ID, style). - -If the fix needs to store information for each atom that persists from -timestep to timestep, it can manage that memory and migrate the info -with the atoms as they move from processors to processor by -implementing the grow_arrays, copy_arrays, pack_exchange, and -unpack_exchange methods. Similarly, the pack_restart and -unpack_restart methods can be implemented to store information about -the fix in restart files. If you wish an integrator or force -constraint fix to work with rRESPA (see the "run_style"_run_style.html -command), the initial_integrate, post_force_integrate, and -final_integrate_respa methods can be implemented. The thermo method -enables a fix to contribute values to thermodynamic output, as printed -quantities and/or to be summed to the potential energy of the system. - -:line - -10.7 Input script commands :link(mod_7),h4 - -New commands can be added to LAMMPS input scripts by adding new -classes that have a "command" method. For example, the create_atoms, -read_data, velocity, and run commands are all implemented in this -fashion. When such a command is encountered in the LAMMPS input -script, LAMMPS simply creates a class with the corresponding name, -invokes the "command" method of the class, and passes it the arguments -from the input script. The command method can perform whatever -operations it wishes on LAMMPS data structures. - -The single method your new class must define is as follows: - -command: operations performed by the new command :tb(s=:) - -Of course, the new class can define other methods and variables as -needed. - -:line - -10.8 Kspace computations :link(mod_8),h4 - -Classes that compute long-range Coulombic interactions via K-space -representations (Ewald, PPPM) are derived from the KSpace class. New -styles can be created to add new K-space options to LAMMPS. - -Ewald.cpp is an example of computing K-space interactions. - -Here is a brief description of methods you define in your new derived -class. See kspace.h for details. - -init: initialize the calculation before a run -setup: computation before the 1st timestep of a run -compute: every-timestep computation -memory_usage: tally of memory usage :tb(s=:) - -:line - -10.9 Minimization styles :link(mod_9),h4 - -Classes that perform energy minimization derived from the Min class. -New styles can be created to add new minimization algorithms to -LAMMPS. - -Min_cg.cpp is an example of conjugate gradient minimization. - -Here is a brief description of methods you define in your new derived -class. See min.h for details. - -init: initialize the minimization before a run -run: perform the minimization -memory_usage: tally of memory usage :tb(s=:) - -:line - -10.10 Pairwise potentials :link(mod_10),h4 - -Classes that compute pairwise interactions are derived from the Pair -class. In LAMMPS, pairwise calculation include manybody potentials -such as EAM or Tersoff where particles interact without a static bond -topology. New styles can be created to add new pair potentials to -LAMMPS. - -Pair_lj_cut.cpp is a simple example of a Pair class, though it -includes some optional methods to enable its use with rRESPA. - -Here is a brief description of the class methods in pair.h: - -compute: workhorse routine that computes pairwise interactions -settings: reads the input script line with arguments you define -coeff: set coefficients for one i,j type pair -init_one: perform initialization for one i,j type pair -init_style: initialization specific to this pair style -write & read_restart: write/read i,j pair coeffs to restart files -write & read_restart_settings: write/read global settings to restart files -single: force and energy of a single pairwise interaction between 2 atoms -compute_inner/middle/outer: versions of compute used by rRESPA :tb(s=:) - -The inner/middle/outer routines are optional. - -:line - -10.11 Region styles :link(mod_11),h4 - -Classes that define geometric regions are derived from the Region -class. Regions are used elsewhere in LAMMPS to group atoms, delete -atoms to create a void, insert atoms in a specified region, etc. New -styles can be created to add new region shapes to LAMMPS. - -Region_sphere.cpp is an example of a spherical region. - -Here is a brief description of methods you define in your new derived -class. See region.h for details. - -inside: determine whether a point is in the region -surface_interior: determine if a point is within a cutoff distance inside of surc -surface_exterior: determine if a point is within a cutoff distance outside of surf -shape_update : change region shape if set by time-dependent variable :tb(s=:) - -:line - -10.12 Body styles :link(mod_12),h4 - -Classes that define body particles are derived from the Body class. -Body particles can represent complex entities, such as surface meshes -of discrete points, collections of sub-particles, deformable objects, -etc. - -See "Section 6.14"_Section_howto.html#howto_14 of the manual for -an overview of using body particles and the "body"_body.html doc page -for details on the various body styles LAMMPS supports. New styles -can be created to add new kinds of body particles to LAMMPS. - -Body_nparticle.cpp is an example of a body particle that is treated as -a rigid body containing N sub-particles. - -Here is a brief description of methods you define in your new derived -class. See body.h for details. - -data_body: process a line from the Bodies section of a data file -noutrow: number of sub-particles output is generated for -noutcol: number of values per-sub-particle output is generated for -output: output values for the Mth sub-particle -pack_comm_body: body attributes to communicate every timestep -unpack_comm_body: unpacking of those attributes -pack_border_body: body attributes to communicate when reneighboring is done -unpack_border_body: unpacking of those attributes :tb(s=:) - -:line - -10.13 Thermodynamic output options :link(mod_13),h4 - -There is one class that computes and prints thermodynamic information -to the screen and log file; see the file thermo.cpp. - -There are two styles defined in thermo.cpp: "one" and "multi". There -is also a flexible "custom" style which allows the user to explicitly -list keywords for quantities to print when thermodynamic info is -output. See the "thermo_style"_thermo_style.html command for a list -of defined quantities. - -The thermo styles (one, multi, etc) are simply lists of keywords. -Adding a new style thus only requires defining a new list of keywords. -Search for the word "customize" with references to "thermo style" in -thermo.cpp to see the two locations where code will need to be added. - -New keywords can also be added to thermo.cpp to compute new quantities -for output. Search for the word "customize" with references to -"keyword" in thermo.cpp to see the several locations where code will -need to be added. - -Note that the "thermo_style custom"_thermo.html command already allows -for thermo output of quantities calculated by "fixes"_fix.html, -"computes"_compute.html, and "variables"_variable.html. Thus, it may -be simpler to compute what you wish via one of those constructs, than -by adding a new keyword to the thermo command. - -:line - -10.14 Variable options :link(mod_14),h4 - -There is one class that computes and stores "variable"_variable.html -information in LAMMPS; see the file variable.cpp. The value -associated with a variable can be periodically printed to the screen -via the "print"_print.html, "fix print"_fix_print.html, or -"thermo_style custom"_thermo_style.html commands. Variables of style -"equal" can compute complex equations that involve the following types -of arguments: - -thermo keywords = ke, vol, atoms, ... -other variables = v_a, v_myvar, ... -math functions = div(x,y), mult(x,y), add(x,y), ... -group functions = mass(group), xcm(group,x), ... -atom values = x\[123\], y\[3\], vx\[34\], ... -compute values = c_mytemp\[0\], c_thermo_press\[3\], ... :pre - -Adding keywords for the "thermo_style custom"_thermo_style.html command -(which can then be accessed by variables) was discussed -"here"_Section_modify.html#mod_13 on this page. - -Adding a new math function of one or two arguments can be done by -editing one section of the Variable::evaluate() method. Search for -the word "customize" to find the appropriate location. - -Adding a new group function can be done by editing one section of the -Variable::evaluate() method. Search for the word "customize" to find -the appropriate location. You may need to add a new method to the -Group class as well (see the group.cpp file). - -Accessing a new atom-based vector can be done by editing one section -of the Variable::evaluate() method. Search for the word "customize" -to find the appropriate location. - -Adding new "compute styles"_compute.html (whose calculated values can -then be accessed by variables) was discussed -"here"_Section_modify.html#mod_3 on this page. - -:line -:line - -10.15 Submitting new features for inclusion in LAMMPS :link(mod_15),h4 - -We encourage users to submit new features or modifications for -LAMMPS to "the core developers"_http://lammps.sandia.gov/authors.html -so they can be added to the LAMMPS distribution. The preferred way to -manage and coordinate this is as of Fall 2016 via the LAMMPS project on -"GitHub"_https://github.com/lammps/lammps. An alternative is to contact -the LAMMPS developers or the indicated developer of a package or feature -directly and send in your contribution via e-mail. - -For any larger modifications or programming project, you are encouraged -to contact the LAMMPS developers ahead of time, in order to discuss -implementation strategies and coding guidelines, that will make it -easier to integrate your contribution and result in less work for -everybody involved. You are also encouraged to search through the list -of "open issues on GitHub"_https://github.com/lammps/lammps/issues and -submit a new issue for a planned feature, so you would not duplicate -the work of others (and possibly get scooped by them) or have your work -duplicated by others. - -How quickly your contribution will be integrated -depends largely on how much effort it will cause to integrate and test -it, how much it requires changes to the core codebase, and of how much -interest it is to the larger LAMMPS community. Please see below for a -checklist of typical requirements. Once you have prepared everything, -see "this tutorial"_tutorial_github.html for instructions on how to -submit your changes or new files through a GitHub pull request. If you -prefer to submit patches or full files, you should first make certain, -that your code works correctly with the latest patch-level version of -LAMMPS and contains all bugfixes from it. Then create a gzipped tar -file of all changed or added files or a corresponding patch file using -'diff -u' or 'diff -c' and compress it with gzip. Please only use -gzip compression, as this works well on all platforms. - -If the new features/files are broadly useful we may add them as core -files to LAMMPS or as part of a "standard -package"_Section_start.html#start_3. Else we will add them as a -user-contributed file or package. Examples of user packages are in -src sub-directories that start with USER. The USER-MISC package is -simply a collection of (mostly) unrelated single files, which is the -simplest way to have your contribution quickly added to the LAMMPS -distribution. You can see a list of the both standard and user -packages by typing "make package" in the LAMMPS src directory. - -Note that by providing us files to release, you are agreeing to make -them open-source, i.e. we can release them under the terms of the GPL, -used as a license for the rest of LAMMPS. See "Section -1.4"_Section_intro.html#intro_4 for details. - -With user packages and files, all we are really providing (aside from -the fame and fortune that accompanies having your name in the source -code and on the "Authors page"_http://lammps.sandia.gov/authors.html -of the "LAMMPS WWW site"_lws), is a means for you to distribute your -work to the LAMMPS user community, and a mechanism for others to -easily try out your new feature. This may help you find bugs or make -contact with new collaborators. Note that you're also implicitly -agreeing to support your code which means answer questions, fix bugs, -and maintain it if LAMMPS changes in some way that breaks it (an -unusual event). - -NOTE: If you prefer to actively develop and support your add-on -feature yourself, then you may wish to make it available for download -from your own website, as a user package that LAMMPS users can add to -their copy of LAMMPS. See the "Offsite LAMMPS packages and -tools"_http://lammps.sandia.gov/offsite.html page of the LAMMPS web -site for examples of groups that do this. We are happy to advertise -your package and web site from that page. Simply email the -"developers"_http://lammps.sandia.gov/authors.html with info about -your package and we will post it there. - -The previous sections of this doc page describe how to add new "style" -files of various kinds to LAMMPS. Packages are simply collections of -one or more new class files which are invoked as a new style within a -LAMMPS input script. If designed correctly, these additions typically -do not require changes to the main core of LAMMPS; they are simply -add-on files. If you think your new feature requires non-trivial -changes in core LAMMPS files, you'll need to "communicate with the -developers"_http://lammps.sandia.gov/authors.html, since we may or may -not want to make those changes. An example of a trivial change is -making a parent-class method "virtual" when you derive a new child -class from it. - -Here is a checklist of steps you need to follow to submit a single file -or user package for our consideration. Following these steps will save -both you and us time. See existing files in packages in the src dir for -examples. If you are uncertain, please ask. - -All source files you provide must compile with the most current -version of LAMMPS with multiple configurations. In particular you -need to test compiling LAMMPS from scratch with -DLAMMPS_BIGBIG -set in addition to the default -DLAMMPS_SMALLBIG setting. Your code -will need to work correctly in serial and in parallel using MPI. :ulb,l - -For consistency with the rest of LAMMPS and especially, if you want -your contribution(s) to be added to main LAMMPS code or one of its -standard packages, it needs to be written in a style compatible with -other LAMMPS source files. This means: 2-character indentation per -level, [no tabs], no lines over 80 characters. I/O is done via -the C-style stdio library, class header files should not import any -system headers outside , STL containers should be avoided -in headers, and forward declarations used where possible or needed. -All added code should be placed into the LAMMPS_NS namespace or a -sub-namespace; global or static variables should be avoided, as they -conflict with the modular nature of LAMMPS and the C++ class structure. -Header files must [not] import namespaces with {using}. -This all is so the developers can more easily understand, integrate, -and maintain your contribution and reduce conflicts with other parts -of LAMMPS. This basically means that the code accesses data -structures, performs its operations, and is formatted similar to other -LAMMPS source files, including the use of the error class for error -and warning messages. :l - -If you want your contribution to be added as a user-contributed -feature, and it's a single file (actually a *.cpp and *.h file) it can -rapidly be added to the USER-MISC directory. Send us the one-line -entry to add to the USER-MISC/README file in that dir, along with the -2 source files. You can do this multiple times if you wish to -contribute several individual features. :l - -If you want your contribution to be added as a user-contribution and -it is several related features, it is probably best to make it a user -package directory with a name like USER-FOO. In addition to your new -files, the directory should contain a README text file. The README -should contain your name and contact information and a brief -description of what your new package does. If your files depend on -other LAMMPS style files also being installed (e.g. because your file -is a derived class from the other LAMMPS class), then an Install.sh -file is also needed to check for those dependencies. See other README -and Install.sh files in other USER directories as examples. Send us a -tarball of this USER-FOO directory. :l - -Your new source files need to have the LAMMPS copyright, GPL notice, -and your name and email address at the top, like other -user-contributed LAMMPS source files. They need to create a class -that is inside the LAMMPS namespace. If the file is for one of the -USER packages, including USER-MISC, then we are not as picky about the -coding style (see above). I.e. the files do not need to be in the -same stylistic format and syntax as other LAMMPS files, though that -would be nice for developers as well as users who try to read your -code. :l - -You [must] also create a [documentation] file for each new command or -style you are adding to LAMMPS. For simplicity and convenience, the -documentation of groups of closely related commands or styles may be -combined into a single file. This will be one file for a single-file -feature. For a package, it might be several files. These are simple -text files with a specific markup language, that are then auto-converted -to HTML and PDF. The tools for this conversion are included in the -source distribution, and the translation can be as simple as doing -"make html pdf" in the doc folder. -Thus the documentation source files must be in the same format and -style as other *.txt files in the lammps/doc/src directory for similar -commands and styles; use one or more of them as a starting point. -A description of the markup can also be found in -lammps/doc/utils/txt2html/README.html -As appropriate, the text files can include links to equations -(see doc/Eqs/*.tex for examples, we auto-create the associated JPG -files), or figures (see doc/JPG for examples), or even additional PDF -files with further details (see doc/PDF for examples). The doc page -should also include literature citations as appropriate; see the -bottom of doc/fix_nh.txt for examples and the earlier part of the same -file for how to format the cite itself. The "Restrictions" section of -the doc page should indicate that your command is only available if -LAMMPS is built with the appropriate USER-MISC or USER-FOO package. -See other user package doc files for examples of how to do this. The -prerequisite for building the HTML format files are Python 3.x and -virtualenv, the requirement for generating the PDF format manual -is the "htmldoc"_http://www.htmldoc.org/ software. Please run at least -"make html" and carefully inspect and proofread the resulting HTML format -doc page before submitting your code. :l - -For a new package (or even a single command) you should include one or -more example scripts demonstrating its use. These should run in no -more than a couple minutes, even on a single processor, and not require -large data files as input. See directories under examples/USER for -examples of input scripts other users provided for their packages. -These example inputs are also required for validating memory accesses -and testing for memory leaks with valgrind :l - -If there is a paper of yours describing your feature (either the -algorithm/science behind the feature itself, or its initial usage, or -its implementation in LAMMPS), you can add the citation to the *.cpp -source file. See src/USER-EFF/atom_vec_electron.cpp for an example. -A LaTeX citation is stored in a variable at the top of the file and a -single line of code that references the variable is added to the -constructor of the class. Whenever a user invokes your feature from -their input script, this will cause LAMMPS to output the citation to a -log.cite file and prompt the user to examine the file. Note that you -should only use this for a paper you or your group authored. -E.g. adding a cite in the code for a paper by Nose and Hoover if you -write a fix that implements their integrator is not the intended -usage. That kind of citation should just be in the doc page you -provide. :l -:ule - -Finally, as a general rule-of-thumb, the more clear and -self-explanatory you make your documentation and README files, and the -easier you make it for people to get started, e.g. by providing example -scripts, the more likely it is that users will try out your new feature. - -:line -:line - -:link(Foo) -[(Foo)] Foo, Morefoo, and Maxfoo, J of Classic Potentials, 75, 345 (1997). diff --git a/doc/src/Section_packages.txt b/doc/src/Section_packages.txt index 218866e271..77f56d273c 100644 --- a/doc/src/Section_packages.txt +++ b/doc/src/Section_packages.txt @@ -51,8 +51,7 @@ technical questions about compiling the package. If you have problems using a feature provided in a user package, you may need to contact the contributor directly to get help. Information on how to submit additions you make to LAMMPS as single files or as a standard or user -package are given in "this section"_Section_modify.html#mod_15 of the -manual. +package are given in the "Modify contribute"_Modify.html doc page. Following the next two tables is a sub-section for each package. It lists authors (if applicable) and summarizes the package contents. It diff --git a/doc/src/Section_perf.txt b/doc/src/Section_perf.txt index 56b1d7dd04..f320780129 100644 --- a/doc/src/Section_perf.txt +++ b/doc/src/Section_perf.txt @@ -1,6 +1,6 @@ -"Previous Section"_Section_example.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Tools.html :c +"Previous Section"_Examples.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Tools.html +:c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Section_python.txt b/doc/src/Section_python.txt index 5427cd67f2..c9b0bd8b2e 100644 --- a/doc/src/Section_python.txt +++ b/doc/src/Section_python.txt @@ -1,4 +1,6 @@ -"Previous Section"_Section_modify.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_errors.html :c +"Previous Section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Section_errors.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt index 0674e3cfcc..e8badfa6b9 100644 --- a/doc/src/Tools.txt +++ b/doc/src/Tools.txt @@ -1,6 +1,6 @@ "Previous Section"_Section_perf.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_modify.html :c +Section"_Modify.html :c + + + +"Common problems"_Errors_common.html +"Reporting bugs"_Errors_bugs.html +"Error messages"_Errors_messages.html +"Warning messages"_Errors_warnings.html :all(b) + + diff --git a/doc/src/Errors_bugs.txt b/doc/src/Errors_bugs.txt new file mode 100644 index 0000000000..c0a94c7a44 --- /dev/null +++ b/doc/src/Errors_bugs.txt @@ -0,0 +1,35 @@ +"Higher level section"_Errors.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Reporting bugs :h3 + +If you are confident that you have found a bug in LAMMPS, follow these +steps. + +Check the "New features and bug +fixes"_http://lammps.sandia.gov/bug.html section of the "LAMMPS WWW +site"_lws to see if the bug has already been reported or fixed or the +"Unfixed bug"_http://lammps.sandia.gov/unbug.html to see if a fix is +pending. + +Check the "mailing list"_http://lammps.sandia.gov/mail.html to see if +it has been discussed before. + +If not, send an email to the mailing list describing the problem with +any ideas you have as to what is causing it or where in the code the +problem might be. The developers will ask for more info if needed, +such as an input script or data files. + +The most useful thing you can do to help us fix the bug is to isolate +the problem. Run it on the smallest number of atoms and fewest number +of processors and with the simplest input script that reproduces the +bug and try to identify what command or combination of commands is +causing the problem. + +NOTE: this page needs to have GitHub issues info added diff --git a/doc/src/Errors_common.txt b/doc/src/Errors_common.txt new file mode 100644 index 0000000000..86a25f7e7d --- /dev/null +++ b/doc/src/Errors_common.txt @@ -0,0 +1,123 @@ +"Higher level section"_Errors.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Common problems :h3 + +If two LAMMPS runs do not produce the exact same answer on different +machines or different numbers of processors, this is typically not a +bug. In theory you should get identical answers on any number of +processors and on any machine. In practice, numerical round-off can +cause slight differences and eventual divergence of molecular dynamics +phase space trajectories within a few 100s or few 1000s of timesteps. +However, the statistical properties of the two runs (e.g. average +energy or temperature) should still be the same. + +If the "velocity"_velocity.html command is used to set initial atom +velocities, a particular atom can be assigned a different velocity +when the problem is run on a different number of processors or on +different machines. If this happens, the phase space trajectories of +the two simulations will rapidly diverge. See the discussion of the +{loop} option in the "velocity"_velocity.html command for details and +options that avoid this issue. + +Similarly, the "create_atoms"_create_atoms.html command generates a +lattice of atoms. For the same physical system, the ordering and +numbering of atoms by atom ID may be different depending on the number +of processors. + +Some commands use random number generators which may be setup to +produce different random number streams on each processor and hence +will produce different effects when run on different numbers of +processors. A commonly-used example is the "fix +langevin"_fix_langevin.html command for thermostatting. + +A LAMMPS simulation typically has two stages, setup and run. Most +LAMMPS errors are detected at setup time; others like a bond +stretching too far may not occur until the middle of a run. + +LAMMPS tries to flag errors and print informative error messages so +you can fix the problem. For most errors it will also print the last +input script command that it was processing. Of course, LAMMPS cannot +figure out your physics or numerical mistakes, like choosing too big a +timestep, specifying erroneous force field coefficients, or putting 2 +atoms on top of each other! If you run into errors that LAMMPS +doesn't catch that you think it should flag, please send an email to +the "developers"_http://lammps.sandia.gov/authors.html. + +If you get an error message about an invalid command in your input +script, you can determine what command is causing the problem by +looking in the log.lammps file or using the "echo command"_echo.html +to see it on the screen. If you get an error like "Invalid ... +style", with ... being fix, compute, pair, etc, it means that you +mistyped the style name or that the command is part of an optional +package which was not compiled into your executable. The list of +available styles in your executable can be listed by using "the -h +command-line argument"_Section_start.html#start_6. The installation +and compilation of optional packages is explained in the "installation +instructions"_Section_start.html#start_3. + +For a given command, LAMMPS expects certain arguments in a specified +order. If you mess this up, LAMMPS will often flag the error, but it +may also simply read a bogus argument and assign a value that is +valid, but not what you wanted. E.g. trying to read the string "abc" +as an integer value of 0. Careful reading of the associated doc page +for the command should allow you to fix these problems. In most cases, +where LAMMPS expects to read a number, either integer or floating point, +it performs a stringent test on whether the provided input actually +is an integer or floating-point number, respectively, and reject the +input with an error message (for instance, when an integer is required, +but a floating-point number 1.0 is provided): + +ERROR: Expected integer parameter in input script or data file :pre + +Some commands allow for using variable references in place of numeric +constants so that the value can be evaluated and may change over the +course of a run. This is typically done with the syntax {v_name} for a +parameter, where name is the name of the variable. On the other hand, +immediate variable expansion with the syntax ${name} is performed while +reading the input and before parsing commands, + +NOTE: Using a variable reference (i.e. {v_name}) is only allowed if +the documentation of the corresponding command explicitly says it is. + +Generally, LAMMPS will print a message to the screen and logfile and +exit gracefully when it encounters a fatal error. Sometimes it will +print a WARNING to the screen and logfile and continue on; you can +decide if the WARNING is important or not. A WARNING message that is +generated in the middle of a run is only printed to the screen, not to +the logfile, to avoid cluttering up thermodynamic output. If LAMMPS +crashes or hangs without spitting out an error message first then it +could be a bug (see "this section"_#err_2) or one of the following +cases: + +LAMMPS runs in the available memory a processor allows to be +allocated. Most reasonable MD runs are compute limited, not memory +limited, so this shouldn't be a bottleneck on most platforms. Almost +all large memory allocations in the code are done via C-style malloc's +which will generate an error message if you run out of memory. +Smaller chunks of memory are allocated via C++ "new" statements. If +you are unlucky you could run out of memory just when one of these +small requests is made, in which case the code will crash or hang (in +parallel), since LAMMPS doesn't trap on those errors. + +Illegal arithmetic can cause LAMMPS to run slow or crash. This is +typically due to invalid physics and numerics that your simulation is +computing. If you see wild thermodynamic values or NaN values in your +LAMMPS output, something is wrong with your simulation. If you +suspect this is happening, it is a good idea to print out +thermodynamic info frequently (e.g. every timestep) via the +"thermo"_thermo.html so you can monitor what is happening. +Visualizing the atom movement is also a good idea to insure your model +is behaving as you expect. + +In parallel, one way LAMMPS can hang is due to how different MPI +implementations handle buffering of messages. If the code hangs +without an error message, it may be that you need to specify an MPI +setting or two (usually via an environment variable) to enable +buffering or boost the sizes of messages that can be buffered. diff --git a/doc/src/Section_errors.txt b/doc/src/Errors_messages.txt similarity index 87% rename from doc/src/Section_errors.txt rename to doc/src/Errors_messages.txt index 95482b06dc..1563e02901 100644 --- a/doc/src/Section_errors.txt +++ b/doc/src/Errors_messages.txt @@ -1,6 +1,5 @@ -"Previous Section"_Section_python.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_history.html :c +"Higher level section"_Errors.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -8,185 +7,27 @@ Section"_Section_history.html :c :line -12. Errors :h2 +Error messages :h3 -This section describes the errors you can encounter when using LAMMPS, -either conceptually, or as printed out by the program. +This is an alphabetic list of the ERROR messages LAMMPS prints out and +the reason why. If the explanation here is not sufficient, the +documentation for the offending command may help. Error messages also +list the source file and line number where the error was generated. +For example, a message like this: -12.1 "Common problems"_#err_1 -12.2 "Reporting bugs"_#err_2 -12.3 "Error & warning messages"_#err_3 :all(b) - -:line -:line - -12.1 Common problems :link(err_1),h4 - -If two LAMMPS runs do not produce the exact same answer on different -machines or different numbers of processors, this is typically not a -bug. In theory you should get identical answers on any number of -processors and on any machine. In practice, numerical round-off can -cause slight differences and eventual divergence of molecular dynamics -phase space trajectories within a few 100s or few 1000s of timesteps. -However, the statistical properties of the two runs (e.g. average -energy or temperature) should still be the same. - -If the "velocity"_velocity.html command is used to set initial atom -velocities, a particular atom can be assigned a different velocity -when the problem is run on a different number of processors or on -different machines. If this happens, the phase space trajectories of -the two simulations will rapidly diverge. See the discussion of the -{loop} option in the "velocity"_velocity.html command for details and -options that avoid this issue. - -Similarly, the "create_atoms"_create_atoms.html command generates a -lattice of atoms. For the same physical system, the ordering and -numbering of atoms by atom ID may be different depending on the number -of processors. - -Some commands use random number generators which may be setup to -produce different random number streams on each processor and hence -will produce different effects when run on different numbers of -processors. A commonly-used example is the "fix -langevin"_fix_langevin.html command for thermostatting. - -A LAMMPS simulation typically has two stages, setup and run. Most -LAMMPS errors are detected at setup time; others like a bond -stretching too far may not occur until the middle of a run. - -LAMMPS tries to flag errors and print informative error messages so -you can fix the problem. For most errors it will also print the last -input script command that it was processing. Of course, LAMMPS cannot -figure out your physics or numerical mistakes, like choosing too big a -timestep, specifying erroneous force field coefficients, or putting 2 -atoms on top of each other! If you run into errors that LAMMPS -doesn't catch that you think it should flag, please send an email to -the "developers"_http://lammps.sandia.gov/authors.html. - -If you get an error message about an invalid command in your input -script, you can determine what command is causing the problem by -looking in the log.lammps file or using the "echo command"_echo.html -to see it on the screen. If you get an error like "Invalid ... -style", with ... being fix, compute, pair, etc, it means that you -mistyped the style name or that the command is part of an optional -package which was not compiled into your executable. The list of -available styles in your executable can be listed by using "the -h -command-line argument"_Section_start.html#start_6. The installation -and compilation of optional packages is explained in the "installation -instructions"_Section_start.html#start_3. - -For a given command, LAMMPS expects certain arguments in a specified -order. If you mess this up, LAMMPS will often flag the error, but it -may also simply read a bogus argument and assign a value that is -valid, but not what you wanted. E.g. trying to read the string "abc" -as an integer value of 0. Careful reading of the associated doc page -for the command should allow you to fix these problems. In most cases, -where LAMMPS expects to read a number, either integer or floating point, -it performs a stringent test on whether the provided input actually -is an integer or floating-point number, respectively, and reject the -input with an error message (for instance, when an integer is required, -but a floating-point number 1.0 is provided): - -ERROR: Expected integer parameter in input script or data file :pre - -Some commands allow for using variable references in place of numeric -constants so that the value can be evaluated and may change over the -course of a run. This is typically done with the syntax {v_name} for a -parameter, where name is the name of the variable. On the other hand, -immediate variable expansion with the syntax ${name} is performed while -reading the input and before parsing commands, - -NOTE: Using a variable reference (i.e. {v_name}) is only allowed if -the documentation of the corresponding command explicitly says it is. - -Generally, LAMMPS will print a message to the screen and logfile and -exit gracefully when it encounters a fatal error. Sometimes it will -print a WARNING to the screen and logfile and continue on; you can -decide if the WARNING is important or not. A WARNING message that is -generated in the middle of a run is only printed to the screen, not to -the logfile, to avoid cluttering up thermodynamic output. If LAMMPS -crashes or hangs without spitting out an error message first then it -could be a bug (see "this section"_#err_2) or one of the following -cases: - -LAMMPS runs in the available memory a processor allows to be -allocated. Most reasonable MD runs are compute limited, not memory -limited, so this shouldn't be a bottleneck on most platforms. Almost -all large memory allocations in the code are done via C-style malloc's -which will generate an error message if you run out of memory. -Smaller chunks of memory are allocated via C++ "new" statements. If -you are unlucky you could run out of memory just when one of these -small requests is made, in which case the code will crash or hang (in -parallel), since LAMMPS doesn't trap on those errors. - -Illegal arithmetic can cause LAMMPS to run slow or crash. This is -typically due to invalid physics and numerics that your simulation is -computing. If you see wild thermodynamic values or NaN values in your -LAMMPS output, something is wrong with your simulation. If you -suspect this is happening, it is a good idea to print out -thermodynamic info frequently (e.g. every timestep) via the -"thermo"_thermo.html so you can monitor what is happening. -Visualizing the atom movement is also a good idea to insure your model -is behaving as you expect. - -In parallel, one way LAMMPS can hang is due to how different MPI -implementations handle buffering of messages. If the code hangs -without an error message, it may be that you need to specify an MPI -setting or two (usually via an environment variable) to enable -buffering or boost the sizes of messages that can be buffered. - -:line - -12.2 Reporting bugs :link(err_2),h4 - -If you are confident that you have found a bug in LAMMPS, follow these -steps. - -Check the "New features and bug -fixes"_http://lammps.sandia.gov/bug.html section of the "LAMMPS WWW -site"_lws to see if the bug has already been reported or fixed or the -"Unfixed bug"_http://lammps.sandia.gov/unbug.html to see if a fix is -pending. - -Check the "mailing list"_http://lammps.sandia.gov/mail.html -to see if it has been discussed before. - -If not, send an email to the mailing list describing the problem with -any ideas you have as to what is causing it or where in the code the -problem might be. The developers will ask for more info if needed, -such as an input script or data files. - -The most useful thing you can do to help us fix the bug is to isolate -the problem. Run it on the smallest number of atoms and fewest number -of processors and with the simplest input script that reproduces the -bug and try to identify what command or combination of commands is -causing the problem. - -As a last resort, you can send an email directly to the -"developers"_http://lammps.sandia.gov/authors.html. - -:line - -12.3 Error & warning messages :h3,link(err_3) - -These are two alphabetic lists of the "ERROR"_#error and -"WARNING"_#warn messages LAMMPS prints out and the reason why. If the -explanation here is not sufficient, the documentation for the -offending command may help. -Error and warning messages also list the source file and line number -where the error was generated. For example, this message - -ERROR: Illegal velocity command (velocity.cpp:78) +ERROR: Illegal velocity command (velocity.cpp:78) :pre means that line #78 in the file src/velocity.cpp generated the error. Looking in the source code may help you figure out what went wrong. Note that error messages from "user-contributed -packages"_Section_start.html#start_3 are not listed here. If such an -error occurs and is not self-explanatory, you'll need to look in the -source code or contact the author of the package. +packages"_Section_package.html#table_user are not listed here. If +such an error occurs and is not self-explanatory, you'll need to look +in the source code or contact the author of the package. + +Doc page with "WARNING messages"_Errors_warnings.html -Errors: :h3,link(error) +:line :dlb @@ -803,13 +644,6 @@ lo value must be less than the hi value for all 3 dimensions. :dd The box command cannot be used after a read_data, read_restart, or create_box command. :dd -{BUG: restartinfo=1 but no restart support in pair style} :dt - -The pair style has a bug, where it does not support reading -and writing information to a restart file, but does not set -the member variable restartinfo to 0 as required in that case. :dd - - {CPU neighbor lists must be used for ellipsoid/sphere mix.} :dt When using Gay-Berne or RE-squared pair styles with both ellipsoidal and @@ -11003,904 +10837,3 @@ Self-explanatory. :dd Self-explanatory. :dd :dle - -Warnings: :h3,link(warn) - -:dlb - -{Adjusting Coulombic cutoff for MSM, new cutoff = %g} :dt - -The adjust/cutoff command is turned on and the Coulombic cutoff has been -adjusted to match the user-specified accuracy. :dd - -{Angle atoms missing at step %ld} :dt - -One or more of 3 atoms needed to compute a particular angle are -missing on this processor. Typically this is because the pairwise -cutoff is set too short or the angle has blown apart and an atom is -too far away. :dd - -{Angle style in data file differs from currently defined angle style} :dt - -Self-explanatory. :dd - -{Atom style in data file differs from currently defined atom style} :dt - -Self-explanatory. :dd - -{Bond atom missing in box size check} :dt - -The 2nd atoms needed to compute a particular bond is missing on this -processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away. :dd - -{Bond atom missing in image check} :dt - -The 2nd atom in a particular bond is missing on this processor. -Typically this is because the pairwise cutoff is set too short or the -bond has blown apart and an atom is too far away. :dd - -{Bond atoms missing at step %ld} :dt - -The 2nd atom needed to compute a particular bond is missing on this -processor. Typically this is because the pairwise cutoff is set too -short or the bond has blown apart and an atom is too far away. :dd - -{Bond style in data file differs from currently defined bond style} :dt - -Self-explanatory. :dd - -{Bond/angle/dihedral extent > half of periodic box length} :dt - -This is a restriction because LAMMPS can be confused about which image -of an atom in the bonded interaction is the correct one to use. -"Extent" in this context means the maximum end-to-end length of the -bond/angle/dihedral. LAMMPS computes this by taking the maximum bond -length, multiplying by the number of bonds in the interaction (e.g. 3 -for a dihedral) and adding a small amount of stretch. :dd - -{Both groups in compute group/group have a net charge; the Kspace boundary correction to energy will be non-zero} :dt - -Self-explanatory. :dd - -{Calling write_dump before a full system init.} :dt - -The write_dump command is used before the system has been fully -initialized as part of a 'run' or 'minimize' command. Not all dump -styles and features are fully supported at this point and thus the -command may fail or produce incomplete or incorrect output. Insert -a "run 0" command, if a full system init is required. :dd - -{Cannot count rigid body degrees-of-freedom before bodies are fully initialized} :dt - -This means the temperature associated with the rigid bodies may be -incorrect on this timestep. :dd - -{Cannot count rigid body degrees-of-freedom before bodies are initialized} :dt - -This means the temperature associated with the rigid bodies may be -incorrect on this timestep. :dd - -{Cannot include log terms without 1/r terms; setting flagHI to 1} :dt - -Self-explanatory. :dd - -{Cannot include log terms without 1/r terms; setting flagHI to 1.} :dt - -Self-explanatory. :dd - -{Charges are set, but coulombic solver is not used} :dt - -Self-explanatory. :dd - -{Charges did not converge at step %ld: %lg} :dt - -Self-explanatory. :dd - -{Communication cutoff is too small for SNAP micro load balancing, increased to %lf} :dt - -Self-explanatory. :dd - -{Compute cna/atom cutoff may be too large to find ghost atom neighbors} :dt - -The neighbor cutoff used may not encompass enough ghost atoms -to perform this operation correctly. :dd - -{Computing temperature of portions of rigid bodies} :dt - -The group defined by the temperature compute does not encompass all -the atoms in one or more rigid bodies, so the change in -degrees-of-freedom for the atoms in those partial rigid bodies will -not be accounted for. :dd - -{Create_bonds max distance > minimum neighbor cutoff} :dt - -This means atom pairs for some atom types may not be in the neighbor -list and thus no bond can be created between them. :dd - -{Delete_atoms cutoff > minimum neighbor cutoff} :dt - -This means atom pairs for some atom types may not be in the neighbor -list and thus an atom in that pair cannot be deleted. :dd - -{Dihedral atoms missing at step %ld} :dt - -One or more of 4 atoms needed to compute a particular dihedral are -missing on this processor. Typically this is because the pairwise -cutoff is set too short or the dihedral has blown apart and an atom is -too far away. :dd - -{Dihedral problem} :dt - -Conformation of the 4 listed dihedral atoms is extreme; you may want -to check your simulation geometry. :dd - -{Dihedral problem: %d %ld %d %d %d %d} :dt - -Conformation of the 4 listed dihedral atoms is extreme; you may want -to check your simulation geometry. :dd - -{Dihedral style in data file differs from currently defined dihedral style} :dt - -Self-explanatory. :dd - -{Dump dcd/xtc timestamp may be wrong with fix dt/reset} :dt - -If the fix changes the timestep, the dump dcd file will not -reflect the change. :dd - -{Energy due to X extra global DOFs will be included in minimizer energies} :dt - -When using fixes like box/relax, the potential energy used by the minimizer -is augmented by an additional energy provided by the fix. Thus the printed -converged energy may be different from the total potential energy. :dd - -{Energy tally does not account for 'zero yes'} :dt - -The energy removed by using the 'zero yes' flag is not accounted -for in the energy tally and thus energy conservation cannot be -monitored in this case. :dd - -{Estimated error in splitting of dispersion coeffs is %g} :dt - -Error is greater than 0.0001 percent. :dd - -{Ewald/disp Newton solver failed, using old method to estimate g_ewald} :dt - -Self-explanatory. Choosing a different cutoff value may help. :dd - -{FENE bond too long} :dt - -A FENE bond has stretched dangerously far. It's interaction strength -will be truncated to attempt to prevent the bond from blowing up. :dd - -{FENE bond too long: %ld %d %d %g} :dt - -A FENE bond has stretched dangerously far. It's interaction strength -will be truncated to attempt to prevent the bond from blowing up. :dd - -{FENE bond too long: %ld %g} :dt - -A FENE bond has stretched dangerously far. It's interaction strength -will be truncated to attempt to prevent the bond from blowing up. :dd - -{Fix SRD walls overlap but fix srd overlap not set} :dt - -You likely want to set this in your input script. :dd - -{Fix bond/swap will ignore defined angles} :dt - -See the doc page for fix bond/swap for more info on this -restriction. :dd - -{Fix deposit near setting < possible overlap separation %g} :dt - -This test is performed for finite size particles with a diameter, not -for point particles. The near setting is smaller than the particle -diameter which can lead to overlaps. :dd - -{Fix evaporate may delete atom with non-zero molecule ID} :dt - -This is probably an error, since you should not delete only one atom -of a molecule. :dd - -{Fix gcmc using full_energy option} :dt - -Fix gcmc has automatically turned on the full_energy option since it -is required for systems like the one specified by the user. User input -included one or more of the following: kspace, triclinic, a hybrid -pair style, an eam pair style, or no "single" function for the pair -style. :dd - -{Fix property/atom mol or charge w/out ghost communication} :dt - -A model typically needs these properties defined for ghost atoms. :dd - -{Fix qeq CG convergence failed (%g) after %d iterations at %ld step} :dt - -Self-explanatory. :dd - -{Fix qeq has non-zero lower Taper radius cutoff} :dt - -Absolute value must be <= 0.01. :dd - -{Fix qeq has very low Taper radius cutoff} :dt - -Value should typically be >= 5.0. :dd - -{Fix qeq/dynamic tolerance may be too small for damped dynamics} :dt - -Self-explanatory. :dd - -{Fix qeq/fire tolerance may be too small for damped fires} :dt - -Self-explanatory. :dd - -{Fix rattle should come after all other integration fixes} :dt - -This fix is designed to work after all other integration fixes change -atom positions. Thus it should be the last integration fix specified. -If not, it will not satisfy the desired constraints as well as it -otherwise would. :dd - -{Fix recenter should come after all other integration fixes} :dt - -Other fixes may change the position of the center-of-mass, so -fix recenter should come last. :dd - -{Fix srd SRD moves may trigger frequent reneighboring} :dt - -This is because the SRD particles may move long distances. :dd - -{Fix srd grid size > 1/4 of big particle diameter} :dt - -This may cause accuracy problems. :dd - -{Fix srd particle moved outside valid domain} :dt - -This may indicate a problem with your simulation parameters. :dd - -{Fix srd particles may move > big particle diameter} :dt - -This may cause accuracy problems. :dd - -{Fix srd viscosity < 0.0 due to low SRD density} :dt - -This may cause accuracy problems. :dd - -{Fix thermal/conductivity comes before fix ave/spatial} :dt - -The order of these 2 fixes in your input script is such that fix -thermal/conductivity comes first. If you are using fix ave/spatial to -measure the temperature profile induced by fix viscosity, then this -may cause a glitch in the profile since you are averaging immediately -after swaps have occurred. Flipping the order of the 2 fixes -typically helps. :dd - -{Fix viscosity comes before fix ave/spatial} :dt - -The order of these 2 fixes in your input script is such that -fix viscosity comes first. If you are using fix ave/spatial -to measure the velocity profile induced by fix viscosity, then -this may cause a glitch in the profile since you are averaging -immediately after swaps have occurred. Flipping the order -of the 2 fixes typically helps. :dd - -{Fixes cannot send data in Kokkos communication, switching to classic communication} :dt - -This is current restriction with Kokkos. :dd - -{For better accuracy use 'pair_modify table 0'} :dt - -The user-specified force accuracy cannot be achieved unless the table -feature is disabled by using 'pair_modify table 0'. :dd - -{Geometric mixing assumed for 1/r^6 coefficients} :dt - -Self-explanatory. :dd - -{Group for fix_modify temp != fix group} :dt - -The fix_modify command is specifying a temperature computation that -computes a temperature on a different group of atoms than the fix -itself operates on. This is probably not what you want to do. :dd - -{H matrix size has been exceeded: m_fill=%d H.m=%d\n} :dt - -This is the size of the matrix. :dd - -{Ignoring unknown or incorrect info command flag} :dt - -Self-explanatory. An unknown argument was given to the info command. -Compare your input with the documentation. :dd - -{Improper atoms missing at step %ld} :dt - -One or more of 4 atoms needed to compute a particular improper are -missing on this processor. Typically this is because the pairwise -cutoff is set too short or the improper has blown apart and an atom is -too far away. :dd - -{Improper problem: %d %ld %d %d %d %d} :dt - -Conformation of the 4 listed improper atoms is extreme; you may want -to check your simulation geometry. :dd - -{Improper style in data file differs from currently defined improper style} :dt - -Self-explanatory. :dd - -{Inconsistent image flags} :dt - -The image flags for a pair on bonded atoms appear to be inconsistent. -Inconsistent means that when the coordinates of the two atoms are -unwrapped using the image flags, the two atoms are far apart. -Specifically they are further apart than half a periodic box length. -Or they are more than a box length apart in a non-periodic dimension. -This is usually due to the initial data file not having correct image -flags for the 2 atoms in a bond that straddles a periodic boundary. -They should be different by 1 in that case. This is a warning because -inconsistent image flags will not cause problems for dynamics or most -LAMMPS simulations. However they can cause problems when such atoms -are used with the fix rigid or replicate commands. Note that if you -have an infinite periodic crystal with bonds then it is impossible to -have fully consistent image flags, since some bonds will cross -periodic boundaries and connect two atoms with the same image -flag. :dd - -{KIM Model does not provide 'energy'; Potential energy will be zero} :dt - -Self-explanatory. :dd - -{KIM Model does not provide 'forces'; Forces will be zero} :dt - -Self-explanatory. :dd - -{KIM Model does not provide 'particleEnergy'; energy per atom will be zero} :dt - -Self-explanatory. :dd - -{KIM Model does not provide 'particleVirial'; virial per atom will be zero} :dt - -Self-explanatory. :dd - -{Kspace_modify slab param < 2.0 may cause unphysical behavior} :dt - -The kspace_modify slab parameter should be larger to insure periodic -grids padded with empty space do not overlap. :dd - -{Less insertions than requested} :dt - -The fix pour command was unsuccessful at finding open space -for as many particles as it tried to insert. :dd - -{Library error in lammps_gather_atoms} :dt - -This library function cannot be used if atom IDs are not defined -or are not consecutively numbered. :dd - -{Library error in lammps_scatter_atoms} :dt - -This library function cannot be used if atom IDs are not defined or -are not consecutively numbered, or if no atom map is defined. See the -atom_modify command for details about atom maps. :dd - -{Lost atoms via change_box: original %ld current %ld} :dt - -The command options you have used caused atoms to be lost. :dd - -{Lost atoms via displace_atoms: original %ld current %ld} :dt - -The command options you have used caused atoms to be lost. :dd - -{Lost atoms: original %ld current %ld} :dt - -Lost atoms are checked for each time thermo output is done. See the -thermo_modify lost command for options. Lost atoms usually indicate -bad dynamics, e.g. atoms have been blown far out of the simulation -box, or moved further than one processor's sub-domain away before -reneighboring. :dd - -{MSM mesh too small, increasing to 2 points in each direction} :dt - -Self-explanatory. :dd - -{Mismatch between velocity and compute groups} :dt - -The temperature computation used by the velocity command will not be -on the same group of atoms that velocities are being set for. :dd - -{Mixing forced for lj coefficients} :dt - -Self-explanatory. :dd - -{Molecule attributes do not match system attributes} :dt - -An attribute is specified (e.g. diameter, charge) that is -not defined for the specified atom style. :dd - -{Molecule has bond topology but no special bond settings} :dt - -This means the bonded atoms will not be excluded in pair-wise -interactions. :dd - -{Molecule template for create_atoms has multiple molecules} :dt - -The create_atoms command will only create molecules of a single type, -i.e. the first molecule in the template. :dd - -{Molecule template for fix gcmc has multiple molecules} :dt - -The fix gcmc command will only create molecules of a single type, -i.e. the first molecule in the template. :dd - -{Molecule template for fix shake has multiple molecules} :dt - -The fix shake command will only recognize molecules of a single -type, i.e. the first molecule in the template. :dd - -{More than one compute centro/atom} :dt - -It is not efficient to use compute centro/atom more than once. :dd - -{More than one compute cluster/atom} :dt - -It is not efficient to use compute cluster/atom more than once. :dd - -{More than one compute cna/atom defined} :dt - -It is not efficient to use compute cna/atom more than once. :dd - -{More than one compute contact/atom} :dt - -It is not efficient to use compute contact/atom more than once. :dd - -{More than one compute coord/atom} :dt - -It is not efficient to use compute coord/atom more than once. :dd - -{More than one compute damage/atom} :dt - -It is not efficient to use compute ke/atom more than once. :dd - -{More than one compute dilatation/atom} :dt - -Self-explanatory. :dd - -{More than one compute erotate/sphere/atom} :dt - -It is not efficient to use compute erorate/sphere/atom more than once. :dd - -{More than one compute hexorder/atom} :dt - -It is not efficient to use compute hexorder/atom more than once. :dd - -{More than one compute ke/atom} :dt - -It is not efficient to use compute ke/atom more than once. :dd - -{More than one compute orientorder/atom} :dt - -It is not efficient to use compute orientorder/atom more than once. :dd - -{More than one compute plasticity/atom} :dt - -Self-explanatory. :dd - -{More than one compute sna/atom} :dt - -Self-explanatory. :dd - -{More than one compute snad/atom} :dt - -Self-explanatory. :dd - -{More than one compute snav/atom} :dt - -Self-explanatory. :dd - -{More than one fix poems} :dt - -It is not efficient to use fix poems more than once. :dd - -{More than one fix rigid} :dt - -It is not efficient to use fix rigid more than once. :dd - -{Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies} :dt - -This is because excluding specific pair interactions also excludes -them from long-range interactions which may not be the desired effect. -The special_bonds command handles this consistently by insuring -excluded (or weighted) 1-2, 1-3, 1-4 interactions are treated -consistently by both the short-range pair style and the long-range -solver. This is not done for exclusions of charged atom pairs via the -neigh_modify exclude command. :dd - -{New thermo_style command, previous thermo_modify settings will be lost} :dt - -If a thermo_style command is used after a thermo_modify command, the -settings changed by the thermo_modify command will be reset to their -default values. This is because the thermo_modify command acts on -the currently defined thermo style, and a thermo_style command creates -a new style. :dd - -{No Kspace calculation with verlet/split} :dt - -The 2nd partition performs a kspace calculation so the kspace_style -command must be used. :dd - -{No automatic unit conversion to XTC file format conventions possible for units lj} :dt - -This means no scaling will be performed. :dd - -{No fixes defined, atoms won't move} :dt - -If you are not using a fix like nve, nvt, npt then atom velocities and -coordinates will not be updated during timestepping. :dd - -{No joints between rigid bodies, use fix rigid instead} :dt - -The bodies defined by fix poems are not connected by joints. POEMS -will integrate the body motion, but it would be more efficient to use -fix rigid. :dd - -{Not using real units with pair reax} :dt - -This is most likely an error, unless you have created your own ReaxFF -parameter file in a different set of units. :dd - -{Number of MSM mesh points changed to be a multiple of 2} :dt - -MSM requires that the number of grid points in each direction be a multiple -of two and the number of grid points in one or more directions have been -adjusted to meet this requirement. :dd - -{OMP_NUM_THREADS environment is not set.} :dt - -This environment variable must be set appropriately to use the -USER-OMP package. :dd - -{One or more atoms are time integrated more than once} :dt - -This is probably an error since you typically do not want to -advance the positions or velocities of an atom more than once -per timestep. :dd - -{One or more chunks do not contain all atoms in molecule} :dt - -This may not be what you intended. :dd - -{One or more dynamic groups may not be updated at correct point in timestep} :dt - -If there are other fixes that act immediately after the initial stage -of time integration within a timestep (i.e. after atoms move), then -the command that sets up the dynamic group should appear after those -fixes. This will insure that dynamic group assignments are made -after all atoms have moved. :dd - -{One or more respa levels compute no forces} :dt - -This is computationally inefficient. :dd - -{Pair COMB charge %.10f with force %.10f hit max barrier} :dt - -Something is possibly wrong with your model. :dd - -{Pair COMB charge %.10f with force %.10f hit min barrier} :dt - -Something is possibly wrong with your model. :dd - -{Pair brownian needs newton pair on for momentum conservation} :dt - -Self-explanatory. :dd - -{Pair dpd needs newton pair on for momentum conservation} :dt - -Self-explanatory. :dd - -{Pair dsmc: num_of_collisions > number_of_A} :dt - -Collision model in DSMC is breaking down. :dd - -{Pair dsmc: num_of_collisions > number_of_B} :dt - -Collision model in DSMC is breaking down. :dd - -{Pair style in data file differs from currently defined pair style} :dt - -Self-explanatory. :dd - -{Particle deposition was unsuccessful} :dt - -The fix deposit command was not able to insert as many atoms as -needed. The requested volume fraction may be too high, or other atoms -may be in the insertion region. :dd - -{Proc sub-domain size < neighbor skin, could lead to lost atoms} :dt - -The decomposition of the physical domain (likely due to load -balancing) has led to a processor's sub-domain being smaller than the -neighbor skin in one or more dimensions. Since reneighboring is -triggered by atoms moving the skin distance, this may lead to lost -atoms, if an atom moves all the way across a neighboring processor's -sub-domain before reneighboring is triggered. :dd - -{Reducing PPPM order b/c stencil extends beyond nearest neighbor processor} :dt - -This may lead to a larger grid than desired. See the kspace_modify overlap -command to prevent changing of the PPPM order. :dd - -{Reducing PPPMDisp Coulomb order b/c stencil extends beyond neighbor processor} :dt - -This may lead to a larger grid than desired. See the kspace_modify overlap -command to prevent changing of the PPPM order. :dd - -{Reducing PPPMDisp dispersion order b/c stencil extends beyond neighbor processor} :dt - -This may lead to a larger grid than desired. See the kspace_modify overlap -command to prevent changing of the PPPM order. :dd - -{Replacing a fix, but new group != old group} :dt - -The ID and style of a fix match for a fix you are changing with a fix -command, but the new group you are specifying does not match the old -group. :dd - -{Replicating in a non-periodic dimension} :dt - -The parameters for a replicate command will cause a non-periodic -dimension to be replicated; this may cause unwanted behavior. :dd - -{Resetting reneighboring criteria during PRD} :dt - -A PRD simulation requires that neigh_modify settings be delay = 0, -every = 1, check = yes. Since these settings were not in place, -LAMMPS changed them and will restore them to their original values -after the PRD simulation. :dd - -{Resetting reneighboring criteria during TAD} :dt - -A TAD simulation requires that neigh_modify settings be delay = 0, -every = 1, check = yes. Since these settings were not in place, -LAMMPS changed them and will restore them to their original values -after the PRD simulation. :dd - -{Resetting reneighboring criteria during minimization} :dt - -Minimization requires that neigh_modify settings be delay = 0, every = -1, check = yes. Since these settings were not in place, LAMMPS -changed them and will restore them to their original values after the -minimization. :dd - -{Restart file used different # of processors} :dt - -The restart file was written out by a LAMMPS simulation running on a -different number of processors. Due to round-off, the trajectories of -your restarted simulation may diverge a little more quickly than if -you ran on the same # of processors. :dd - -{Restart file used different 3d processor grid} :dt - -The restart file was written out by a LAMMPS simulation running on a -different 3d grid of processors. Due to round-off, the trajectories -of your restarted simulation may diverge a little more quickly than if -you ran on the same # of processors. :dd - -{Restart file used different boundary settings, using restart file values} :dt - -Your input script cannot change these restart file settings. :dd - -{Restart file used different newton bond setting, using restart file value} :dt - -The restart file value will override the setting in the input script. :dd - -{Restart file used different newton pair setting, using input script value} :dt - -The input script value will override the setting in the restart file. :dd - -{Restrain problem: %d %ld %d %d %d %d} :dt - -Conformation of the 4 listed dihedral atoms is extreme; you may want -to check your simulation geometry. :dd - -{Running PRD with only one replica} :dt - -This is allowed, but you will get no parallel speed-up. :dd - -{SRD bin shifting turned on due to small lamda} :dt - -This is done to try to preserve accuracy. :dd - -{SRD bin size for fix srd differs from user request} :dt - -Fix SRD had to adjust the bin size to fit the simulation box. See the -cubic keyword if you want this message to be an error vs warning. :dd - -{SRD bins for fix srd are not cubic enough} :dt - -The bin shape is not within tolerance of cubic. See the cubic -keyword if you want this message to be an error vs warning. :dd - -{SRD particle %d started inside big particle %d on step %ld bounce %d} :dt - -See the inside keyword if you want this message to be an error vs -warning. :dd - -{SRD particle %d started inside wall %d on step %ld bounce %d} :dt - -See the inside keyword if you want this message to be an error vs -warning. :dd - -{Shake determinant < 0.0} :dt - -The determinant of the quadratic equation being solved for a single -cluster specified by the fix shake command is numerically suspect. LAMMPS -will set it to 0.0 and continue. :dd - -{Shell command '%s' failed with error '%s'} :dt - -Self-explanatory. :dd - -{Shell command returned with non-zero status} :dt - -This may indicate the shell command did not operate as expected. :dd - -{Should not allow rigid bodies to bounce off relecting walls} :dt - -LAMMPS allows this, but their dynamics are not computed correctly. :dd - -{Should not use fix nve/limit with fix shake or fix rattle} :dt - -This will lead to invalid constraint forces in the SHAKE/RATTLE -computation. :dd - -{Simulations might be very slow because of large number of structure factors} :dt - -Self-explanatory. :dd - -{Slab correction not needed for MSM} :dt - -Slab correction is intended to be used with Ewald or PPPM and is not needed by MSM. :dd - -{System is not charge neutral, net charge = %g} :dt - -The total charge on all atoms on the system is not 0.0. -For some KSpace solvers this is only a warning. :dd - -{Table inner cutoff >= outer cutoff} :dt - -You specified an inner cutoff for a Coulombic table that is longer -than the global cutoff. Probably not what you wanted. :dd - -{Temperature for MSST is not for group all} :dt - -User-assigned temperature to MSST fix does not compute temperature for -all atoms. Since MSST computes a global pressure, the kinetic energy -contribution from the temperature is assumed to also be for all atoms. -Thus the pressure used by MSST could be inaccurate. :dd - -{Temperature for NPT is not for group all} :dt - -User-assigned temperature to NPT fix does not compute temperature for -all atoms. Since NPT computes a global pressure, the kinetic energy -contribution from the temperature is assumed to also be for all atoms. -Thus the pressure used by NPT could be inaccurate. :dd - -{Temperature for fix modify is not for group all} :dt - -The temperature compute is being used with a pressure calculation -which does operate on group all, so this may be inconsistent. :dd - -{Temperature for thermo pressure is not for group all} :dt - -User-assigned temperature to thermo via the thermo_modify command does -not compute temperature for all atoms. Since thermo computes a global -pressure, the kinetic energy contribution from the temperature is -assumed to also be for all atoms. Thus the pressure printed by thermo -could be inaccurate. :dd - -{The fix ave/spatial command has been replaced by the more flexible fix ave/chunk and compute chunk/atom commands -- fix ave/spatial will be removed in the summer of 2015} :dt - -Self-explanatory. :dd - -{The minimizer does not re-orient dipoles when using fix efield} :dt - -This means that only the atom coordinates will be minimized, -not the orientation of the dipoles. :dd - -{Too many common neighbors in CNA %d times} :dt - -More than the maximum # of neighbors was found multiple times. This -was unexpected. :dd - -{Too many inner timesteps in fix ttm} :dt - -Self-explanatory. :dd - -{Too many neighbors in CNA for %d atoms} :dt - -More than the maximum # of neighbors was found multiple times. This -was unexpected. :dd - -{Triclinic box skew is large} :dt - -The displacement in a skewed direction is normally required to be less -than half the box length in that dimension. E.g. the xy tilt must be -between -half and +half of the x box length. You have relaxed the -constraint using the box tilt command, but the warning means that a -LAMMPS simulation may be inefficient as a result. :dd - -{Use special bonds = 0,1,1 with bond style fene} :dt - -Most FENE models need this setting for the special_bonds command. :dd - -{Use special bonds = 0,1,1 with bond style fene/expand} :dt - -Most FENE models need this setting for the special_bonds command. :dd - -{Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions} :dt - -This is likely not what you want to do. The exclusion settings will -eliminate neighbors in the neighbor list, which the manybody potential -needs to calculated its terms correctly. :dd - -{Using compute temp/deform with inconsistent fix deform remap option} :dt - -Fix nvt/sllod assumes deforming atoms have a velocity profile provided -by "remap v" or "remap none" as a fix deform option. :dd - -{Using compute temp/deform with no fix deform defined} :dt - -This is probably an error, since it makes little sense to use -compute temp/deform in this case. :dd - -{Using fix srd with box deformation but no SRD thermostat} :dt - -The deformation will heat the SRD particles so this can -be dangerous. :dd - -{Using kspace solver on system with no charge} :dt - -Self-explanatory. :dd - -{Using largest cut-off for lj/long/dipole/long long long} :dt - -Self-explanatory. :dd - -{Using largest cutoff for buck/long/coul/long} :dt - -Self-explanatory. :dd - -{Using largest cutoff for lj/long/coul/long} :dt - -Self-explanatory. :dd - -{Using largest cutoff for pair_style lj/long/tip4p/long} :dt - -Self-explanatory. :dd - -{Using package gpu without any pair style defined} :dt - -Self-explanatory. :dd - -{Using pair potential shift with pair_modify compute no} :dt - -The shift effects will thus not be computed. :dd - -{Using pair tail corrections with nonperiodic system} :dt - -This is probably a bogus thing to do, since tail corrections are -computed by integrating the density of a periodic system out to -infinity. :dd - -{Using pair tail corrections with pair_modify compute no} :dt - -The tail corrections will thus not be computed. :dd - -{pair style reax is now deprecated and will soon be retired. Users should switch to pair_style reax/c} :dt - -Self-explanatory. :dd - -:dle - diff --git a/doc/src/Errors_warnings.txt b/doc/src/Errors_warnings.txt new file mode 100644 index 0000000000..0324f563b6 --- /dev/null +++ b/doc/src/Errors_warnings.txt @@ -0,0 +1,934 @@ +"Higher level section"_Errors.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Warning messages :h3 + +This is an alphabetic list of the WARNING messages LAMMPS prints out +and the reason why. If the explanation here is not sufficient, the +documentation for the offending command may help. Warning messages +also list the source file and line number where the warning was +generated. For example, a message lile this: + +WARNING: Bond atom missing in box size check (domain.cpp:187) :pre + +means that line #187 in the file src/domain.cpp generated the error. +Looking in the source code may help you figure out what went wrong. + +Note that warning messages from "user-contributed +packages"_Section_start.html#table_user are not listed here. If such +a warning occurs and is not self-explanatory, you'll need to look in +the source code or contact the author of the package. + +Doc page with "ERROR messages"_Errors_messages.html + +:line + +:dlb + +{Adjusting Coulombic cutoff for MSM, new cutoff = %g} :dt + +The adjust/cutoff command is turned on and the Coulombic cutoff has been +adjusted to match the user-specified accuracy. :dd + +{Angle atoms missing at step %ld} :dt + +One or more of 3 atoms needed to compute a particular angle are +missing on this processor. Typically this is because the pairwise +cutoff is set too short or the angle has blown apart and an atom is +too far away. :dd + +{Angle style in data file differs from currently defined angle style} :dt + +Self-explanatory. :dd + +{Atom style in data file differs from currently defined atom style} :dt + +Self-explanatory. :dd + +{Bond atom missing in box size check} :dt + +The 2nd atoms needed to compute a particular bond is missing on this +processor. Typically this is because the pairwise cutoff is set too +short or the bond has blown apart and an atom is too far away. :dd + +{Bond atom missing in image check} :dt + +The 2nd atom in a particular bond is missing on this processor. +Typically this is because the pairwise cutoff is set too short or the +bond has blown apart and an atom is too far away. :dd + +{Bond atoms missing at step %ld} :dt + +The 2nd atom needed to compute a particular bond is missing on this +processor. Typically this is because the pairwise cutoff is set too +short or the bond has blown apart and an atom is too far away. :dd + +{Bond style in data file differs from currently defined bond style} :dt + +Self-explanatory. :dd + +{Bond/angle/dihedral extent > half of periodic box length} :dt + +This is a restriction because LAMMPS can be confused about which image +of an atom in the bonded interaction is the correct one to use. +"Extent" in this context means the maximum end-to-end length of the +bond/angle/dihedral. LAMMPS computes this by taking the maximum bond +length, multiplying by the number of bonds in the interaction (e.g. 3 +for a dihedral) and adding a small amount of stretch. :dd + +{Both groups in compute group/group have a net charge; the Kspace boundary correction to energy will be non-zero} :dt + +Self-explanatory. :dd + +{Calling write_dump before a full system init.} :dt + +The write_dump command is used before the system has been fully +initialized as part of a 'run' or 'minimize' command. Not all dump +styles and features are fully supported at this point and thus the +command may fail or produce incomplete or incorrect output. Insert +a "run 0" command, if a full system init is required. :dd + +{Cannot count rigid body degrees-of-freedom before bodies are fully initialized} :dt + +This means the temperature associated with the rigid bodies may be +incorrect on this timestep. :dd + +{Cannot count rigid body degrees-of-freedom before bodies are initialized} :dt + +This means the temperature associated with the rigid bodies may be +incorrect on this timestep. :dd + +{Cannot include log terms without 1/r terms; setting flagHI to 1} :dt + +Self-explanatory. :dd + +{Cannot include log terms without 1/r terms; setting flagHI to 1.} :dt + +Self-explanatory. :dd + +{Charges are set, but coulombic solver is not used} :dt + +Self-explanatory. :dd + +{Charges did not converge at step %ld: %lg} :dt + +Self-explanatory. :dd + +{Communication cutoff is too small for SNAP micro load balancing, increased to %lf} :dt + +Self-explanatory. :dd + +{Compute cna/atom cutoff may be too large to find ghost atom neighbors} :dt + +The neighbor cutoff used may not encompass enough ghost atoms +to perform this operation correctly. :dd + +{Computing temperature of portions of rigid bodies} :dt + +The group defined by the temperature compute does not encompass all +the atoms in one or more rigid bodies, so the change in +degrees-of-freedom for the atoms in those partial rigid bodies will +not be accounted for. :dd + +{Create_bonds max distance > minimum neighbor cutoff} :dt + +This means atom pairs for some atom types may not be in the neighbor +list and thus no bond can be created between them. :dd + +{Delete_atoms cutoff > minimum neighbor cutoff} :dt + +This means atom pairs for some atom types may not be in the neighbor +list and thus an atom in that pair cannot be deleted. :dd + +{Dihedral atoms missing at step %ld} :dt + +One or more of 4 atoms needed to compute a particular dihedral are +missing on this processor. Typically this is because the pairwise +cutoff is set too short or the dihedral has blown apart and an atom is +too far away. :dd + +{Dihedral problem} :dt + +Conformation of the 4 listed dihedral atoms is extreme; you may want +to check your simulation geometry. :dd + +{Dihedral problem: %d %ld %d %d %d %d} :dt + +Conformation of the 4 listed dihedral atoms is extreme; you may want +to check your simulation geometry. :dd + +{Dihedral style in data file differs from currently defined dihedral style} :dt + +Self-explanatory. :dd + +{Dump dcd/xtc timestamp may be wrong with fix dt/reset} :dt + +If the fix changes the timestep, the dump dcd file will not +reflect the change. :dd + +{Energy due to X extra global DOFs will be included in minimizer energies} :dt + +When using fixes like box/relax, the potential energy used by the minimizer +is augmented by an additional energy provided by the fix. Thus the printed +converged energy may be different from the total potential energy. :dd + +{Energy tally does not account for 'zero yes'} :dt + +The energy removed by using the 'zero yes' flag is not accounted +for in the energy tally and thus energy conservation cannot be +monitored in this case. :dd + +{Estimated error in splitting of dispersion coeffs is %g} :dt + +Error is greater than 0.0001 percent. :dd + +{Ewald/disp Newton solver failed, using old method to estimate g_ewald} :dt + +Self-explanatory. Choosing a different cutoff value may help. :dd + +{FENE bond too long} :dt + +A FENE bond has stretched dangerously far. It's interaction strength +will be truncated to attempt to prevent the bond from blowing up. :dd + +{FENE bond too long: %ld %d %d %g} :dt + +A FENE bond has stretched dangerously far. It's interaction strength +will be truncated to attempt to prevent the bond from blowing up. :dd + +{FENE bond too long: %ld %g} :dt + +A FENE bond has stretched dangerously far. It's interaction strength +will be truncated to attempt to prevent the bond from blowing up. :dd + +{Fix SRD walls overlap but fix srd overlap not set} :dt + +You likely want to set this in your input script. :dd + +{Fix bond/swap will ignore defined angles} :dt + +See the doc page for fix bond/swap for more info on this +restriction. :dd + +{Fix deposit near setting < possible overlap separation %g} :dt + +This test is performed for finite size particles with a diameter, not +for point particles. The near setting is smaller than the particle +diameter which can lead to overlaps. :dd + +{Fix evaporate may delete atom with non-zero molecule ID} :dt + +This is probably an error, since you should not delete only one atom +of a molecule. :dd + +{Fix gcmc using full_energy option} :dt + +Fix gcmc has automatically turned on the full_energy option since it +is required for systems like the one specified by the user. User input +included one or more of the following: kspace, triclinic, a hybrid +pair style, an eam pair style, or no "single" function for the pair +style. :dd + +{Fix property/atom mol or charge w/out ghost communication} :dt + +A model typically needs these properties defined for ghost atoms. :dd + +{Fix qeq CG convergence failed (%g) after %d iterations at %ld step} :dt + +Self-explanatory. :dd + +{Fix qeq has non-zero lower Taper radius cutoff} :dt + +Absolute value must be <= 0.01. :dd + +{Fix qeq has very low Taper radius cutoff} :dt + +Value should typically be >= 5.0. :dd + +{Fix qeq/dynamic tolerance may be too small for damped dynamics} :dt + +Self-explanatory. :dd + +{Fix qeq/fire tolerance may be too small for damped fires} :dt + +Self-explanatory. :dd + +{Fix rattle should come after all other integration fixes} :dt + +This fix is designed to work after all other integration fixes change +atom positions. Thus it should be the last integration fix specified. +If not, it will not satisfy the desired constraints as well as it +otherwise would. :dd + +{Fix recenter should come after all other integration fixes} :dt + +Other fixes may change the position of the center-of-mass, so +fix recenter should come last. :dd + +{Fix srd SRD moves may trigger frequent reneighboring} :dt + +This is because the SRD particles may move long distances. :dd + +{Fix srd grid size > 1/4 of big particle diameter} :dt + +This may cause accuracy problems. :dd + +{Fix srd particle moved outside valid domain} :dt + +This may indicate a problem with your simulation parameters. :dd + +{Fix srd particles may move > big particle diameter} :dt + +This may cause accuracy problems. :dd + +{Fix srd viscosity < 0.0 due to low SRD density} :dt + +This may cause accuracy problems. :dd + +{Fix thermal/conductivity comes before fix ave/spatial} :dt + +The order of these 2 fixes in your input script is such that fix +thermal/conductivity comes first. If you are using fix ave/spatial to +measure the temperature profile induced by fix viscosity, then this +may cause a glitch in the profile since you are averaging immediately +after swaps have occurred. Flipping the order of the 2 fixes +typically helps. :dd + +{Fix viscosity comes before fix ave/spatial} :dt + +The order of these 2 fixes in your input script is such that +fix viscosity comes first. If you are using fix ave/spatial +to measure the velocity profile induced by fix viscosity, then +this may cause a glitch in the profile since you are averaging +immediately after swaps have occurred. Flipping the order +of the 2 fixes typically helps. :dd + +{Fixes cannot send data in Kokkos communication, switching to classic communication} :dt + +This is current restriction with Kokkos. :dd + +{For better accuracy use 'pair_modify table 0'} :dt + +The user-specified force accuracy cannot be achieved unless the table +feature is disabled by using 'pair_modify table 0'. :dd + +{Geometric mixing assumed for 1/r^6 coefficients} :dt + +Self-explanatory. :dd + +{Group for fix_modify temp != fix group} :dt + +The fix_modify command is specifying a temperature computation that +computes a temperature on a different group of atoms than the fix +itself operates on. This is probably not what you want to do. :dd + +{H matrix size has been exceeded: m_fill=%d H.m=%d\n} :dt + +This is the size of the matrix. :dd + +{Ignoring unknown or incorrect info command flag} :dt + +Self-explanatory. An unknown argument was given to the info command. +Compare your input with the documentation. :dd + +{Improper atoms missing at step %ld} :dt + +One or more of 4 atoms needed to compute a particular improper are +missing on this processor. Typically this is because the pairwise +cutoff is set too short or the improper has blown apart and an atom is +too far away. :dd + +{Improper problem: %d %ld %d %d %d %d} :dt + +Conformation of the 4 listed improper atoms is extreme; you may want +to check your simulation geometry. :dd + +{Improper style in data file differs from currently defined improper style} :dt + +Self-explanatory. :dd + +{Inconsistent image flags} :dt + +The image flags for a pair on bonded atoms appear to be inconsistent. +Inconsistent means that when the coordinates of the two atoms are +unwrapped using the image flags, the two atoms are far apart. +Specifically they are further apart than half a periodic box length. +Or they are more than a box length apart in a non-periodic dimension. +This is usually due to the initial data file not having correct image +flags for the 2 atoms in a bond that straddles a periodic boundary. +They should be different by 1 in that case. This is a warning because +inconsistent image flags will not cause problems for dynamics or most +LAMMPS simulations. However they can cause problems when such atoms +are used with the fix rigid or replicate commands. Note that if you +have an infinite periodic crystal with bonds then it is impossible to +have fully consistent image flags, since some bonds will cross +periodic boundaries and connect two atoms with the same image +flag. :dd + +{KIM Model does not provide 'energy'; Potential energy will be zero} :dt + +Self-explanatory. :dd + +{KIM Model does not provide 'forces'; Forces will be zero} :dt + +Self-explanatory. :dd + +{KIM Model does not provide 'particleEnergy'; energy per atom will be zero} :dt + +Self-explanatory. :dd + +{KIM Model does not provide 'particleVirial'; virial per atom will be zero} :dt + +Self-explanatory. :dd + +{Kspace_modify slab param < 2.0 may cause unphysical behavior} :dt + +The kspace_modify slab parameter should be larger to insure periodic +grids padded with empty space do not overlap. :dd + +{Less insertions than requested} :dt + +The fix pour command was unsuccessful at finding open space +for as many particles as it tried to insert. :dd + +{Library error in lammps_gather_atoms} :dt + +This library function cannot be used if atom IDs are not defined +or are not consecutively numbered. :dd + +{Library error in lammps_scatter_atoms} :dt + +This library function cannot be used if atom IDs are not defined or +are not consecutively numbered, or if no atom map is defined. See the +atom_modify command for details about atom maps. :dd + +{Lost atoms via change_box: original %ld current %ld} :dt + +The command options you have used caused atoms to be lost. :dd + +{Lost atoms via displace_atoms: original %ld current %ld} :dt + +The command options you have used caused atoms to be lost. :dd + +{Lost atoms: original %ld current %ld} :dt + +Lost atoms are checked for each time thermo output is done. See the +thermo_modify lost command for options. Lost atoms usually indicate +bad dynamics, e.g. atoms have been blown far out of the simulation +box, or moved further than one processor's sub-domain away before +reneighboring. :dd + +{MSM mesh too small, increasing to 2 points in each direction} :dt + +Self-explanatory. :dd + +{Mismatch between velocity and compute groups} :dt + +The temperature computation used by the velocity command will not be +on the same group of atoms that velocities are being set for. :dd + +{Mixing forced for lj coefficients} :dt + +Self-explanatory. :dd + +{Molecule attributes do not match system attributes} :dt + +An attribute is specified (e.g. diameter, charge) that is +not defined for the specified atom style. :dd + +{Molecule has bond topology but no special bond settings} :dt + +This means the bonded atoms will not be excluded in pair-wise +interactions. :dd + +{Molecule template for create_atoms has multiple molecules} :dt + +The create_atoms command will only create molecules of a single type, +i.e. the first molecule in the template. :dd + +{Molecule template for fix gcmc has multiple molecules} :dt + +The fix gcmc command will only create molecules of a single type, +i.e. the first molecule in the template. :dd + +{Molecule template for fix shake has multiple molecules} :dt + +The fix shake command will only recognize molecules of a single +type, i.e. the first molecule in the template. :dd + +{More than one compute centro/atom} :dt + +It is not efficient to use compute centro/atom more than once. :dd + +{More than one compute cluster/atom} :dt + +It is not efficient to use compute cluster/atom more than once. :dd + +{More than one compute cna/atom defined} :dt + +It is not efficient to use compute cna/atom more than once. :dd + +{More than one compute contact/atom} :dt + +It is not efficient to use compute contact/atom more than once. :dd + +{More than one compute coord/atom} :dt + +It is not efficient to use compute coord/atom more than once. :dd + +{More than one compute damage/atom} :dt + +It is not efficient to use compute ke/atom more than once. :dd + +{More than one compute dilatation/atom} :dt + +Self-explanatory. :dd + +{More than one compute erotate/sphere/atom} :dt + +It is not efficient to use compute erorate/sphere/atom more than once. :dd + +{More than one compute hexorder/atom} :dt + +It is not efficient to use compute hexorder/atom more than once. :dd + +{More than one compute ke/atom} :dt + +It is not efficient to use compute ke/atom more than once. :dd + +{More than one compute orientorder/atom} :dt + +It is not efficient to use compute orientorder/atom more than once. :dd + +{More than one compute plasticity/atom} :dt + +Self-explanatory. :dd + +{More than one compute sna/atom} :dt + +Self-explanatory. :dd + +{More than one compute snad/atom} :dt + +Self-explanatory. :dd + +{More than one compute snav/atom} :dt + +Self-explanatory. :dd + +{More than one fix poems} :dt + +It is not efficient to use fix poems more than once. :dd + +{More than one fix rigid} :dt + +It is not efficient to use fix rigid more than once. :dd + +{Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies} :dt + +This is because excluding specific pair interactions also excludes +them from long-range interactions which may not be the desired effect. +The special_bonds command handles this consistently by insuring +excluded (or weighted) 1-2, 1-3, 1-4 interactions are treated +consistently by both the short-range pair style and the long-range +solver. This is not done for exclusions of charged atom pairs via the +neigh_modify exclude command. :dd + +{New thermo_style command, previous thermo_modify settings will be lost} :dt + +If a thermo_style command is used after a thermo_modify command, the +settings changed by the thermo_modify command will be reset to their +default values. This is because the thermo_modify command acts on +the currently defined thermo style, and a thermo_style command creates +a new style. :dd + +{No Kspace calculation with verlet/split} :dt + +The 2nd partition performs a kspace calculation so the kspace_style +command must be used. :dd + +{No automatic unit conversion to XTC file format conventions possible for units lj} :dt + +This means no scaling will be performed. :dd + +{No fixes defined, atoms won't move} :dt + +If you are not using a fix like nve, nvt, npt then atom velocities and +coordinates will not be updated during timestepping. :dd + +{No joints between rigid bodies, use fix rigid instead} :dt + +The bodies defined by fix poems are not connected by joints. POEMS +will integrate the body motion, but it would be more efficient to use +fix rigid. :dd + +{Not using real units with pair reax} :dt + +This is most likely an error, unless you have created your own ReaxFF +parameter file in a different set of units. :dd + +{Number of MSM mesh points changed to be a multiple of 2} :dt + +MSM requires that the number of grid points in each direction be a multiple +of two and the number of grid points in one or more directions have been +adjusted to meet this requirement. :dd + +{OMP_NUM_THREADS environment is not set.} :dt + +This environment variable must be set appropriately to use the +USER-OMP package. :dd + +{One or more atoms are time integrated more than once} :dt + +This is probably an error since you typically do not want to +advance the positions or velocities of an atom more than once +per timestep. :dd + +{One or more chunks do not contain all atoms in molecule} :dt + +This may not be what you intended. :dd + +{One or more dynamic groups may not be updated at correct point in timestep} :dt + +If there are other fixes that act immediately after the initial stage +of time integration within a timestep (i.e. after atoms move), then +the command that sets up the dynamic group should appear after those +fixes. This will insure that dynamic group assignments are made +after all atoms have moved. :dd + +{One or more respa levels compute no forces} :dt + +This is computationally inefficient. :dd + +{Pair COMB charge %.10f with force %.10f hit max barrier} :dt + +Something is possibly wrong with your model. :dd + +{Pair COMB charge %.10f with force %.10f hit min barrier} :dt + +Something is possibly wrong with your model. :dd + +{Pair brownian needs newton pair on for momentum conservation} :dt + +Self-explanatory. :dd + +{Pair dpd needs newton pair on for momentum conservation} :dt + +Self-explanatory. :dd + +{Pair dsmc: num_of_collisions > number_of_A} :dt + +Collision model in DSMC is breaking down. :dd + +{Pair dsmc: num_of_collisions > number_of_B} :dt + +Collision model in DSMC is breaking down. :dd + +{Pair style in data file differs from currently defined pair style} :dt + +Self-explanatory. :dd + +{Pair style restartinfo set but has no restart support} :dt + +This pair style has a bug, where it does not support reading and +writing information to a restart file, but does not set the member +variable "restartinfo" to 0 as required in that case. :dd + +{Particle deposition was unsuccessful} :dt + +The fix deposit command was not able to insert as many atoms as +needed. The requested volume fraction may be too high, or other atoms +may be in the insertion region. :dd + +{Proc sub-domain size < neighbor skin, could lead to lost atoms} :dt + +The decomposition of the physical domain (likely due to load +balancing) has led to a processor's sub-domain being smaller than the +neighbor skin in one or more dimensions. Since reneighboring is +triggered by atoms moving the skin distance, this may lead to lost +atoms, if an atom moves all the way across a neighboring processor's +sub-domain before reneighboring is triggered. :dd + +{Reducing PPPM order b/c stencil extends beyond nearest neighbor processor} :dt + +This may lead to a larger grid than desired. See the kspace_modify overlap +command to prevent changing of the PPPM order. :dd + +{Reducing PPPMDisp Coulomb order b/c stencil extends beyond neighbor processor} :dt + +This may lead to a larger grid than desired. See the kspace_modify overlap +command to prevent changing of the PPPM order. :dd + +{Reducing PPPMDisp dispersion order b/c stencil extends beyond neighbor processor} :dt + +This may lead to a larger grid than desired. See the kspace_modify overlap +command to prevent changing of the PPPM order. :dd + +{Replacing a fix, but new group != old group} :dt + +The ID and style of a fix match for a fix you are changing with a fix +command, but the new group you are specifying does not match the old +group. :dd + +{Replicating in a non-periodic dimension} :dt + +The parameters for a replicate command will cause a non-periodic +dimension to be replicated; this may cause unwanted behavior. :dd + +{Resetting reneighboring criteria during PRD} :dt + +A PRD simulation requires that neigh_modify settings be delay = 0, +every = 1, check = yes. Since these settings were not in place, +LAMMPS changed them and will restore them to their original values +after the PRD simulation. :dd + +{Resetting reneighboring criteria during TAD} :dt + +A TAD simulation requires that neigh_modify settings be delay = 0, +every = 1, check = yes. Since these settings were not in place, +LAMMPS changed them and will restore them to their original values +after the PRD simulation. :dd + +{Resetting reneighboring criteria during minimization} :dt + +Minimization requires that neigh_modify settings be delay = 0, every = +1, check = yes. Since these settings were not in place, LAMMPS +changed them and will restore them to their original values after the +minimization. :dd + +{Restart file used different # of processors} :dt + +The restart file was written out by a LAMMPS simulation running on a +different number of processors. Due to round-off, the trajectories of +your restarted simulation may diverge a little more quickly than if +you ran on the same # of processors. :dd + +{Restart file used different 3d processor grid} :dt + +The restart file was written out by a LAMMPS simulation running on a +different 3d grid of processors. Due to round-off, the trajectories +of your restarted simulation may diverge a little more quickly than if +you ran on the same # of processors. :dd + +{Restart file used different boundary settings, using restart file values} :dt + +Your input script cannot change these restart file settings. :dd + +{Restart file used different newton bond setting, using restart file value} :dt + +The restart file value will override the setting in the input script. :dd + +{Restart file used different newton pair setting, using input script value} :dt + +The input script value will override the setting in the restart file. :dd + +{Restrain problem: %d %ld %d %d %d %d} :dt + +Conformation of the 4 listed dihedral atoms is extreme; you may want +to check your simulation geometry. :dd + +{Running PRD with only one replica} :dt + +This is allowed, but you will get no parallel speed-up. :dd + +{SRD bin shifting turned on due to small lamda} :dt + +This is done to try to preserve accuracy. :dd + +{SRD bin size for fix srd differs from user request} :dt + +Fix SRD had to adjust the bin size to fit the simulation box. See the +cubic keyword if you want this message to be an error vs warning. :dd + +{SRD bins for fix srd are not cubic enough} :dt + +The bin shape is not within tolerance of cubic. See the cubic +keyword if you want this message to be an error vs warning. :dd + +{SRD particle %d started inside big particle %d on step %ld bounce %d} :dt + +See the inside keyword if you want this message to be an error vs +warning. :dd + +{SRD particle %d started inside wall %d on step %ld bounce %d} :dt + +See the inside keyword if you want this message to be an error vs +warning. :dd + +{Shake determinant < 0.0} :dt + +The determinant of the quadratic equation being solved for a single +cluster specified by the fix shake command is numerically suspect. LAMMPS +will set it to 0.0 and continue. :dd + +{Shell command '%s' failed with error '%s'} :dt + +Self-explanatory. :dd + +{Shell command returned with non-zero status} :dt + +This may indicate the shell command did not operate as expected. :dd + +{Should not allow rigid bodies to bounce off relecting walls} :dt + +LAMMPS allows this, but their dynamics are not computed correctly. :dd + +{Should not use fix nve/limit with fix shake or fix rattle} :dt + +This will lead to invalid constraint forces in the SHAKE/RATTLE +computation. :dd + +{Simulations might be very slow because of large number of structure factors} :dt + +Self-explanatory. :dd + +{Slab correction not needed for MSM} :dt + +Slab correction is intended to be used with Ewald or PPPM and is not needed by MSM. :dd + +{System is not charge neutral, net charge = %g} :dt + +The total charge on all atoms on the system is not 0.0. +For some KSpace solvers this is only a warning. :dd + +{Table inner cutoff >= outer cutoff} :dt + +You specified an inner cutoff for a Coulombic table that is longer +than the global cutoff. Probably not what you wanted. :dd + +{Temperature for MSST is not for group all} :dt + +User-assigned temperature to MSST fix does not compute temperature for +all atoms. Since MSST computes a global pressure, the kinetic energy +contribution from the temperature is assumed to also be for all atoms. +Thus the pressure used by MSST could be inaccurate. :dd + +{Temperature for NPT is not for group all} :dt + +User-assigned temperature to NPT fix does not compute temperature for +all atoms. Since NPT computes a global pressure, the kinetic energy +contribution from the temperature is assumed to also be for all atoms. +Thus the pressure used by NPT could be inaccurate. :dd + +{Temperature for fix modify is not for group all} :dt + +The temperature compute is being used with a pressure calculation +which does operate on group all, so this may be inconsistent. :dd + +{Temperature for thermo pressure is not for group all} :dt + +User-assigned temperature to thermo via the thermo_modify command does +not compute temperature for all atoms. Since thermo computes a global +pressure, the kinetic energy contribution from the temperature is +assumed to also be for all atoms. Thus the pressure printed by thermo +could be inaccurate. :dd + +{The fix ave/spatial command has been replaced by the more flexible fix ave/chunk and compute chunk/atom commands -- fix ave/spatial will be removed in the summer of 2015} :dt + +Self-explanatory. :dd + +{The minimizer does not re-orient dipoles when using fix efield} :dt + +This means that only the atom coordinates will be minimized, +not the orientation of the dipoles. :dd + +{Too many common neighbors in CNA %d times} :dt + +More than the maximum # of neighbors was found multiple times. This +was unexpected. :dd + +{Too many inner timesteps in fix ttm} :dt + +Self-explanatory. :dd + +{Too many neighbors in CNA for %d atoms} :dt + +More than the maximum # of neighbors was found multiple times. This +was unexpected. :dd + +{Triclinic box skew is large} :dt + +The displacement in a skewed direction is normally required to be less +than half the box length in that dimension. E.g. the xy tilt must be +between -half and +half of the x box length. You have relaxed the +constraint using the box tilt command, but the warning means that a +LAMMPS simulation may be inefficient as a result. :dd + +{Use special bonds = 0,1,1 with bond style fene} :dt + +Most FENE models need this setting for the special_bonds command. :dd + +{Use special bonds = 0,1,1 with bond style fene/expand} :dt + +Most FENE models need this setting for the special_bonds command. :dd + +{Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions} :dt + +This is likely not what you want to do. The exclusion settings will +eliminate neighbors in the neighbor list, which the manybody potential +needs to calculated its terms correctly. :dd + +{Using compute temp/deform with inconsistent fix deform remap option} :dt + +Fix nvt/sllod assumes deforming atoms have a velocity profile provided +by "remap v" or "remap none" as a fix deform option. :dd + +{Using compute temp/deform with no fix deform defined} :dt + +This is probably an error, since it makes little sense to use +compute temp/deform in this case. :dd + +{Using fix srd with box deformation but no SRD thermostat} :dt + +The deformation will heat the SRD particles so this can +be dangerous. :dd + +{Using kspace solver on system with no charge} :dt + +Self-explanatory. :dd + +{Using largest cut-off for lj/long/dipole/long long long} :dt + +Self-explanatory. :dd + +{Using largest cutoff for buck/long/coul/long} :dt + +Self-explanatory. :dd + +{Using largest cutoff for lj/long/coul/long} :dt + +Self-explanatory. :dd + +{Using largest cutoff for pair_style lj/long/tip4p/long} :dt + +Self-explanatory. :dd + +{Using package gpu without any pair style defined} :dt + +Self-explanatory. :dd + +{Using pair potential shift with pair_modify compute no} :dt + +The shift effects will thus not be computed. :dd + +{Using pair tail corrections with nonperiodic system} :dt + +This is probably a bogus thing to do, since tail corrections are +computed by integrating the density of a periodic system out to +infinity. :dd + +{Using pair tail corrections with pair_modify compute no} :dt + +The tail corrections will thus not be computed. :dd + +{pair style reax is now deprecated and will soon be retired. Users should switch to pair_style reax/c} :dt + +Self-explanatory. :dd + +:dle diff --git a/doc/src/Examples.txt b/doc/src/Examples.txt index 4935c96257..08afca8b20 100644 --- a/doc/src/Examples.txt +++ b/doc/src/Examples.txt @@ -2,12 +2,6 @@ "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_perf.html :c - - :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index 18ae1c4b61..4481c911a0 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,5 +1,5 @@ - +< LAMMPS Users Manual @@ -118,8 +118,8 @@ it gives quick access to documentation for all LAMMPS commands. Section_perf Tools Modify - Section_python - Section_errors + Python + Errors Section_history .. toctree:: @@ -212,19 +212,8 @@ END_RST --> "Performance & scalability"_Section_perf.html :l "Auxiliary tools"_Tools.html :l "Modify & extend LAMMPS"_Modify.html :l -"Python interface"_Section_python.html :l - 11.1 "Overview of running LAMMPS from Python"_py_1 :ulb,b - 11.2 "Overview of using Python from a LAMMPS script"_py_2 :b - 11.3 "Building LAMMPS as a shared library"_py_3 :b - 11.4 "Installing the Python wrapper into Python"_py_4 :b - 11.5 "Extending Python with MPI to run in parallel"_py_5 :b - 11.6 "Testing the Python-LAMMPS interface"_py_6 :b - 11.7 "Using LAMMPS from Python"_py_7 :b - 11.8 "Example Python scripts that use LAMMPS"_py_8 :ule,b -"Errors"_Section_errors.html :l - 12.1 "Common problems"_err_1 :ulb,b - 12.2 "Reporting bugs"_err_2 :b - 12.3 "Error & warning messages"_err_3 :ule,b +"Use Python with LAMMPS"_Python.html :l +"Errors"_Errors.html :l "Future and history"_Section_history.html :l 13.1 "Coming attractions"_hist_1 :ulb,b 13.2 "Past versions"_hist_2 :ule,b @@ -287,17 +276,6 @@ END_RST --> :link(howto_26,Section_howto.html#howto_26) :link(howto_27,Section_howto.html#howto_27) -:link(py_1,Section_python.html#py_1) -:link(py_2,Section_python.html#py_2) -:link(py_3,Section_python.html#py_3) -:link(py_4,Section_python.html#py_4) -:link(py_5,Section_python.html#py_5) -:link(py_6,Section_python.html#py_6) - -:link(err_1,Section_errors.html#err_1) -:link(err_2,Section_errors.html#err_2) -:link(err_3,Section_errors.html#err_3) - :link(hist_1,Section_history.html#hist_1) :link(hist_2,Section_history.html#hist_2) diff --git a/doc/src/Modify.txt b/doc/src/Modify.txt index 4b16ad781b..ae0b0dc6bd 100644 --- a/doc/src/Modify.txt +++ b/doc/src/Modify.txt @@ -1,12 +1,6 @@ "Previous Section"_Tools.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_python.html :c - - +Section"_Python.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -34,6 +28,8 @@ contribute"_Modify_contribute.html doc page. Modify_overview Modify_contribute +.. toctree:: + Modify_atom Modify_pair Modify_bond @@ -41,12 +37,16 @@ contribute"_Modify_contribute.html doc page. Modify_fix Modify_command +.. toctree:: + Modify_dump Modify_kspace Modify_min Modify_region Modify_body +.. toctree:: + Modify_thermo Modify_variable diff --git a/doc/src/Python.txt b/doc/src/Python.txt new file mode 100644 index 0000000000..94a2e88f5e --- /dev/null +++ b/doc/src/Python.txt @@ -0,0 +1,79 @@ +"Previous Section"_Modify.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Errors.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Use Python with LAMMPS :h3 + +These doc pages describe various ways that LAMMPS and Python can be +used together. + + + + + +"Overview of Python and LAMMPS"_Python_overview.html :all(b) + +"Run LAMMPS from Python"_Python_run.html +"Build LAMMPS as a shared library"_Python_shlib.html +"Install LAMMPS in Python"_Python_install.html +"Extend Python to run in parallel"_Python_mpi.html +"Test the Python/LAMMPS interface"_Python_test.html +"Python library interface"_Python_library.html +"PyLammps interface"_Python_pylammps.html +"Example Python scripts that use LAMMPS"_Python_examples.html :all(b) + +"Call Python from a LAMMPS input script"_Python_call.html :all(b) + + + +If you're not familiar with "Python"_http://www.python.org, it's a +powerful scripting and programming language which can do most +everything that lower-level languages like C or C++ can do in fewer +lines of code. The only drawback is slower execution speed. Python +is also easy to use as a "glue" language to drive a program through +its library interface, or to hook multiple pieces of software +together, such as a simulation code plus a visualization tool, or to +run a coupled multiscale or multiphysics model. + +See the "Howto_couple"_Howto_couple.html doc page for more ideas about +coupling LAMMPS to other codes. See the "Howto +library"_Howto_library.html doc page for a description of the LAMMPS +library interface provided in src/library.h and src/library.h. That +interface is exposed to Python either when calling LAMMPS from Python +or when calling Python from a LAMMPS input script and then calling +back to LAMMPS from Python code. The library interface is designed to +be easy to add funcionality to. Thus the Python interface to LAMMPS +is also easy to extend as well. + +If you create interesting Python scripts that run LAMMPS or +interesting Python functions that can be called from a LAMMPS input +script, that you think would be genearlly useful, please post them as +a pull request to our "GitHub site"_https://github.com/lammps/lammps, +and they can be added to the LAMMPS distribution or webpage. diff --git a/doc/src/Python_call.txt b/doc/src/Python_call.txt new file mode 100644 index 0000000000..3e30a5a7c7 --- /dev/null +++ b/doc/src/Python_call.txt @@ -0,0 +1,85 @@ +"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Call Python from a LAMMPS input script :h3 + +LAMMPS has several commands which can be used to invoke Python +code directly from an input script: + +"python"_python.html +"variable python"_variable.html +"fix python/invoke"_fix_python_invoke.html +"pair_style python"_pair_python.html :ul + +The "python"_python.html command which can be used to define and +execute a Python function that you write the code for. The Python +function can also be assigned to a LAMMPS python-style variable via +the "variable"_variable.html command. Each time the variable is +evaluated, either in the LAMMPS input script itself, or by another +LAMMPS command that uses the variable, this will trigger the Python +function to be invoked. + +The Python code for the function can be included directly in the input +script or in an auxiliary file. The function can have arguments which +are mapped to LAMMPS variables (also defined in the input script) and +it can return a value to a LAMMPS variable. This is thus a mechanism +for your input script to pass information to a piece of Python code, +ask Python to execute the code, and return information to your input +script. + +Note that a Python function can be arbitrarily complex. It can import +other Python modules, instantiate Python classes, call other Python +functions, etc. The Python code that you provide can contain more +code than the single function. It can contain other functions or +Python classes, as well as global variables or other mechanisms for +storing state between calls from LAMMPS to the function. + +The Python function you provide can consist of "pure" Python code that +only performs operations provided by standard Python. However, the +Python function can also "call back" to LAMMPS through its +Python-wrapped library interface, in the manner described in the +"Python run"_Python_run.html doc page. This means it can issue LAMMPS +input script commands or query and set internal LAMMPS state. As an +example, this can be useful in an input script to create a more +complex loop with branching logic, than can be created using the +simple looping and branching logic enabled by the "next"_next.html and +"if"_if.html commands. + +See the "python"_python.html doc page and the "variable"_variable.html +doc page for its python-style variables for more info, including +examples of Python code you can write for both pure Python operations +and callbacks to LAMMPS. + +The "fix python/invoke"_fix_python_invoke.html command can execute +Python code at selected timesteps during a simulation run. + +The "pair_style python"_pair_python command allows you to define +pairwise potentials as python code which encodes a single pairwise +interaction. This is useful for rapid-developement and debugging of a +new potential. + +To use any of these commands, you only need to build LAMMPS with the +PYTHON package installed: + +make yes-python +make machine :pre + +Note that this will link LAMMPS with the Python library on your +system, which typically requires several auxiliary system libraries to +also be linked. The list of these libraries and the paths to find +them are specified in the lib/python/Makefile.lammps file. You need +to insure that file contains the correct information for your version +of Python and your machine to successfully build LAMMPS. See the +lib/python/README file for more info. + +If you want to write Python code with callbacks to LAMMPS, then you +must also follow the steps overviewed in the "Python +run"_Python_run.html doc page. I.e. you must build LAMMPS as a shared +library and insure that Python can find the python/lammps.py file and +the shared library. diff --git a/doc/src/Python_examples.txt b/doc/src/Python_examples.txt new file mode 100644 index 0000000000..fbca381e8b --- /dev/null +++ b/doc/src/Python_examples.txt @@ -0,0 +1,81 @@ +"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Example Python scripts that use LAMMPS :h3 + +These are the Python scripts included as demos in the python/examples +directory of the LAMMPS distribution, to illustrate the kinds of +things that are possible when Python wraps LAMMPS. If you create your +own scripts, send them to us and we can include them in the LAMMPS +distribution. + +trivial.py, read/run a LAMMPS input script thru Python, +demo.py, invoke various LAMMPS library interface routines, +simple.py, run in parallel, similar to examples/COUPLE/simple/simple.cpp, +split.py, same as simple.py but running in parallel on a subset of procs, +gui.py, GUI go/stop/temperature-slider to control LAMMPS, +plot.py, real-time temperature plot with GnuPlot via Pizza.py, +viz_tool.py, real-time viz via some viz package, +vizplotgui_tool.py, combination of viz_tool.py and plot.py and gui.py :tb(c=2) + +:line + +For the viz_tool.py and vizplotgui_tool.py commands, replace "tool" +with "gl" or "atomeye" or "pymol" or "vmd", depending on what +visualization package you have installed. + +Note that for GL, you need to be able to run the Pizza.py GL tool, +which is included in the pizza sub-directory. See the "Pizza.py doc +pages"_pizza for more info: + +:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) + +Note that for AtomEye, you need version 3, and there is a line in the +scripts that specifies the path and name of the executable. See the +AtomEye WWW pages "here"_atomeye or "here"_atomeye3 for more details: + +http://mt.seas.upenn.edu/Archive/Graphics/A +http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html :pre + +:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A) +:link(atomeye3,http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html) + +The latter link is to AtomEye 3 which has the scriping +capability needed by these Python scripts. + +Note that for PyMol, you need to have built and installed the +open-source version of PyMol in your Python, so that you can import it +from a Python script. See the PyMol WWW pages "here"_pymolhome or +"here"_pymolopen for more details: + +http://www.pymol.org +http://sourceforge.net/scm/?type=svn&group_id=4546 :pre + +:link(pymolhome,http://www.pymol.org) +:link(pymolopen,http://sourceforge.net/scm/?type=svn&group_id=4546) + +The latter link is to the open-source version. + +Note that for VMD, you need a fairly current version (1.8.7 works for +me) and there are some lines in the pizza/vmd.py script for 4 PIZZA +variables that have to match the VMD installation on your system. + +:line + +See the python/README file for instructions on how to run them and the +source code for individual scripts for comments about what they do. + +Here are screenshots of the vizplotgui_tool.py script in action for +different visualization package options. Click to see larger images: + +:image(JPG/screenshot_gl_small.jpg,JPG/screenshot_gl.jpg) +:image(JPG/screenshot_atomeye_small.jpg,JPG/screenshot_atomeye.jpg) +:image(JPG/screenshot_pymol_small.jpg,JPG/screenshot_pymol.jpg) +:image(JPG/screenshot_vmd_small.jpg,JPG/screenshot_vmd.jpg) + diff --git a/doc/src/Python_install.txt b/doc/src/Python_install.txt new file mode 100644 index 0000000000..631f6c4a7f --- /dev/null +++ b/doc/src/Python_install.txt @@ -0,0 +1,74 @@ +"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Installing LAMMPS in Python :h3 + +For Python to invoke LAMMPS, there are 2 files it needs to know about: + +python/lammps.py +src/liblammps.so :ul + +Lammps.py is the Python wrapper on the LAMMPS library interface. +Liblammps.so is the shared LAMMPS library that Python loads, as +described above. + +You can insure Python can find these files in one of two ways: + +set two environment variables +run the python/install.py script :ul + +If you set the paths to these files as environment variables, you only +have to do it once. For the csh or tcsh shells, add something like +this to your ~/.cshrc file, one line for each of the two files: + +setenv PYTHONPATH $\{PYTHONPATH\}:/home/sjplimp/lammps/python +setenv LD_LIBRARY_PATH $\{LD_LIBRARY_PATH\}:/home/sjplimp/lammps/src :pre + +If you use the python/install.py script, you need to invoke it every +time you rebuild LAMMPS (as a shared library) or make changes to the +python/lammps.py file. + +You can invoke install.py from the python directory as + +% python install.py \[libdir\] \[pydir\] :pre + +The optional libdir is where to copy the LAMMPS shared library to; the +default is /usr/local/lib. The optional pydir is where to copy the +lammps.py file to; the default is the site-packages directory of the +version of Python that is running the install script. + +Note that libdir must be a location that is in your default +LD_LIBRARY_PATH, like /usr/local/lib or /usr/lib. And pydir must be a +location that Python looks in by default for imported modules, like +its site-packages dir. If you want to copy these files to +non-standard locations, such as within your own user space, you will +need to set your PYTHONPATH and LD_LIBRARY_PATH environment variables +accordingly, as above. + +If the install.py script does not allow you to copy files into system +directories, prefix the python command with "sudo". If you do this, +make sure that the Python that root runs is the same as the Python you +run. E.g. you may need to do something like + +% sudo /usr/local/bin/python install.py \[libdir\] \[pydir\] :pre + +You can also invoke install.py from the make command in the src +directory as + +% make install-python :pre + +In this mode you cannot append optional arguments. Again, you may +need to prefix this with "sudo". In this mode you cannot control +which Python is invoked by root. + +Note that if you want Python to be able to load different versions of +the LAMMPS shared library (see "this section"_#py_5 below), you will +need to manually copy files like liblammps_g++.so into the appropriate +system directory. This is not needed if you set the LD_LIBRARY_PATH +environment variable as described above. diff --git a/doc/src/Python_library.txt b/doc/src/Python_library.txt new file mode 100644 index 0000000000..4babbb746c --- /dev/null +++ b/doc/src/Python_library.txt @@ -0,0 +1,256 @@ +"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Python library interface :h3 + +As described previously, the Python interface to LAMMPS consists of a +Python "lammps" module, the source code for which is in +python/lammps.py, which creates a "lammps" object, with a set of +methods that can be invoked on that object. The sample Python code +below assumes you have first imported the "lammps" module in your +Python script, as follows: + +from lammps import lammps :pre + +These are the methods defined by the lammps module. If you look at +the files src/library.cpp and src/library.h you will see they +correspond one-to-one with calls you can make to the LAMMPS library +from a C++ or C or Fortran program, and which are described in +"Section 6.19"_Section_howto.html#howto_19 of the manual. + +The python/examples directory has Python scripts which show how Python +can run LAMMPS, grab data, change it, and put it back into LAMMPS. + +lmp = lammps() # create a LAMMPS object using the default liblammps.so library + # 4 optional args are allowed: name, cmdargs, ptr, comm +lmp = lammps(ptr=lmpptr) # use lmpptr as previously created LAMMPS object +lmp = lammps(comm=split) # create a LAMMPS object with a custom communicator, requires mpi4py 2.0.0 or later +lmp = lammps(name="g++") # create a LAMMPS object using the liblammps_g++.so library +lmp = lammps(name="g++",cmdargs=list) # add LAMMPS command-line args, e.g. list = \["-echo","screen"\] :pre + +lmp.close() # destroy a LAMMPS object :pre + +version = lmp.version() # return the numerical version id, e.g. LAMMPS 2 Sep 2015 -> 20150902 :pre + +lmp.file(file) # run an entire input script, file = "in.lj" +lmp.command(cmd) # invoke a single LAMMPS command, cmd = "run 100" +lmp.commands_list(cmdlist) # invoke commands in cmdlist = ["run 10", "run 20"] +lmp.commands_string(multicmd) # invoke commands in multicmd = "run 10\nrun 20" :pre + +size = lmp.extract_setting(name) # return data type info :pre + +xlo = lmp.extract_global(name,type) # extract a global quantity + # name = "boxxlo", "nlocal", etc + # type = 0 = int + # 1 = double :pre + +boxlo,boxhi,xy,yz,xz,periodicity,box_change = lmp.extract_box() # extract box info :pre + +coords = lmp.extract_atom(name,type) # extract a per-atom quantity + # name = "x", "type", etc + # type = 0 = vector of ints + # 1 = array of ints + # 2 = vector of doubles + # 3 = array of doubles :pre + +eng = lmp.extract_compute(id,style,type) # extract value(s) from a compute +v3 = lmp.extract_fix(id,style,type,i,j) # extract value(s) from a fix + # id = ID of compute or fix + # style = 0 = global data + # 1 = per-atom data + # 2 = local data + # type = 0 = scalar + # 1 = vector + # 2 = array + # i,j = indices of value in global vector or array :pre + +var = lmp.extract_variable(name,group,flag) # extract value(s) from a variable + # name = name of variable + # group = group ID (ignored for equal-style variables) + # flag = 0 = equal-style variable + # 1 = atom-style variable :pre + +value = lmp.get_thermo(name) # return current value of a thermo keyword +natoms = lmp.get_natoms() # total # of atoms as int :pre + +flag = lmp.set_variable(name,value) # set existing named string-style variable to value, flag = 0 if successful +lmp.reset_box(boxlo,boxhi,xy,yz,xz) # reset the simulation box size :pre + +data = lmp.gather_atoms(name,type,count) # return per-atom property of all atoms gathered into data, ordered by atom ID + # name = "x", "charge", "type", etc +data = lmp.gather_atoms_concat(name,type,count) # ditto, but concatenated atom values from each proc (unordered) +data = lmp.gather_atoms_subset(name,type,count,ndata,ids) # ditto, but for subset of Ndata atoms with IDs :pre + +lmp.scatter_atoms(name,type,count,data) # scatter per-atom property to all atoms from data, ordered by atom ID + # name = "x", "charge", "type", etc + # count = # of per-atom values, 1 or 3, etc :pre +lmp.scatter_atoms_subset(name,type,count,ndata,ids,data) # ditto, but for subset of Ndata atoms with IDs :pre + +lmp.create_atoms(n,ids,types,x,v,image,shrinkexceed) # create N atoms with IDs, types, x, v, and image flags :pre + +:line + +The lines + +from lammps import lammps +lmp = lammps() :pre + +create an instance of LAMMPS, wrapped in a Python class by the lammps +Python module, and return an instance of the Python class as lmp. It +is used to make all subsequent calls to the LAMMPS library. + +Additional arguments to lammps() can be used to tell Python the name +of the shared library to load or to pass arguments to the LAMMPS +instance, the same as if LAMMPS were launched from a command-line +prompt. + +If the ptr argument is set like this: + +lmp = lammps(ptr=lmpptr) :pre + +then lmpptr must be an argument passed to Python via the LAMMPS +"python"_python.html command, when it is used to define a Python +function that is invoked by the LAMMPS input script. This mode of +calling Python from LAMMPS is described in the "Python +call"_Python_call.html doc page. The variable lmpptr refers to the +instance of LAMMPS that called the embedded Python interpreter. Using +it as an argument to lammps() allows the returned Python class +instance "lmp" to make calls to that instance of LAMMPS. See the +"python"_python.html command doc page for examples using this syntax. + +Note that you can create multiple LAMMPS objects in your Python +script, and coordinate and run multiple simulations, e.g. + +from lammps import lammps +lmp1 = lammps() +lmp2 = lammps() +lmp1.file("in.file1") +lmp2.file("in.file2") :pre + +The file(), command(), commands_list(), commands_string() methods +allow an input script, a single command, or multiple commands to be +invoked. + +The extract_setting(), extract_global(), extract_box(), +extract_atom(), extract_compute(), extract_fix(), and +extract_variable() methods return values or pointers to data +structures internal to LAMMPS. + +For extract_global() see the src/library.cpp file for the list of +valid names. New names could easily be added. A double or integer is +returned. You need to specify the appropriate data type via the type +argument. + +For extract_atom(), a pointer to internal LAMMPS atom-based data is +returned, which you can use via normal Python subscripting. See the +extract() method in the src/atom.cpp file for a list of valid names. +Again, new names could easily be added if the property you want is not +listed. A pointer to a vector of doubles or integers, or a pointer to +an array of doubles (double **) or integers (int **) is returned. You +need to specify the appropriate data type via the type argument. + +For extract_compute() and extract_fix(), the global, per-atom, or +local data calculated by the compute or fix can be accessed. What is +returned depends on whether the compute or fix calculates a scalar or +vector or array. For a scalar, a single double value is returned. If +the compute or fix calculates a vector or array, a pointer to the +internal LAMMPS data is returned, which you can use via normal Python +subscripting. The one exception is that for a fix that calculates a +global vector or array, a single double value from the vector or array +is returned, indexed by I (vector) or I and J (array). I,J are +zero-based indices. The I,J arguments can be left out if not needed. +See "Section 6.15"_Section_howto.html#howto_15 of the manual for a +discussion of global, per-atom, and local data, and of scalar, vector, +and array data types. See the doc pages for individual +"computes"_compute.html and "fixes"_fix.html for a description of what +they calculate and store. + +For extract_variable(), an "equal-style or atom-style +variable"_variable.html is evaluated and its result returned. + +For equal-style variables a single double value is returned and the +group argument is ignored. For atom-style variables, a vector of +doubles is returned, one value per atom, which you can use via normal +Python subscripting. The values will be zero for atoms not in the +specified group. + +The get_thermo() method returns returns the current value of a thermo +keyword as a float. + +The get_natoms() method returns the total number of atoms in the +simulation, as an int. + +The set_variable() methosd sets an existing string-style variable to a +new string value, so that subsequent LAMMPS commands can access the +variable. + +The reset_box() emthods resets the size and shape of the simulation +box, e.g. as part of restoring a previously extracted and saved state +of a simulation. + +The gather methods collect peratom info of the requested type (atom +coords, atom types, forces, etc) from all processors, and returns the +same vector of values to each callling processor. The scatter +functions do the inverse. They distribute a vector of peratom values, +passed by all calling processors, to invididual atoms, which may be +owned by different processos. + +Note that the data returned by the gather methods, +e.g. gather_atoms("x"), is different from the data structure returned +by extract_atom("x") in four ways. (1) Gather_atoms() returns a +vector which you index as x\[i\]; extract_atom() returns an array +which you index as x\[i\]\[j\]. (2) Gather_atoms() orders the atoms +by atom ID while extract_atom() does not. (3) Gather_atoms() returns +a list of all atoms in the simulation; extract_atoms() returns just +the atoms local to each processor. (4) Finally, the gather_atoms() +data structure is a copy of the atom coords stored internally in +LAMMPS, whereas extract_atom() returns an array that effectively +points directly to the internal data. This means you can change +values inside LAMMPS from Python by assigning a new values to the +extract_atom() array. To do this with the gather_atoms() vector, you +need to change values in the vector, then invoke the scatter_atoms() +method. + +For the scatter methods, the array of coordinates passed to must be a +ctypes vector of ints or doubles, allocated and initialized something +like this: + +from ctypes import * +natoms = lmp.get_natoms() +n3 = 3*natoms +x = (n3*c_double)() +x\[0\] = x coord of atom with ID 1 +x\[1\] = y coord of atom with ID 1 +x\[2\] = z coord of atom with ID 1 +x\[3\] = x coord of atom with ID 2 +... +x\[n3-1\] = z coord of atom with ID natoms +lmp.scatter_atoms("x",1,3,x) :pre + +Alternatively, you can just change values in the vector returned by +the gather methods, since they are also ctypes vectors. + +:line + +As noted above, these Python class methods correspond one-to-one with +the functions in the LAMMPS library interface in src/library.cpp and +library.h. This means you can extend the Python wrapper via the +following steps: + +Add a new interface function to src/library.cpp and +src/library.h. :ulb,l + +Rebuild LAMMPS as a shared library. :l + +Add a wrapper method to python/lammps.py for this interface +function. :l + +You should now be able to invoke the new interface function from a +Python script. :l +:ule diff --git a/doc/src/Python_mpi.txt b/doc/src/Python_mpi.txt new file mode 100644 index 0000000000..8377bbb3d0 --- /dev/null +++ b/doc/src/Python_mpi.txt @@ -0,0 +1,67 @@ +"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Extending Python to run in parallel :h3 + +If you wish to run LAMMPS in parallel from Python, you need to extend +your Python with an interface to MPI. This also allows you to +make MPI calls directly from Python in your script, if you desire. + +We recommend use of mpi4py: + +"PyPar"_https://github.com/daleroberts/pypar :ul + +As of version 2.0.0 it allows passing a custom MPI communicator to +the LAMMPS constructor, which means one can easily run one or more +LAMMPS instances on subsets of the total MPI ranks. + +To install mpi4py (version mpi4py-2.0.0 as of Oct 2015), unpack it +and from its main directory, type + +python setup.py build +sudo python setup.py install :pre + +Again, the "sudo" is only needed if required to copy mpi4py files into +your Python distribution's site-packages directory. To install with +user privilege into the user local directory type + +python setup.py install --user :pre + +If you have successfully installed mpi4py, you should be able to run +Python and type + +from mpi4py import MPI :pre + +without error. You should also be able to run python in parallel +on a simple test script + +% mpirun -np 4 python test.py :pre + +where test.py contains the lines + +from mpi4py import MPI +comm = MPI.COMM_WORLD +print "Proc %d out of %d procs" % (comm.Get_rank(),comm.Get_size()) :pre + +and see one line of output for each processor you run on. + +NOTE: To use mpi4py and LAMMPS in parallel from Python, you must +insure both are using the same version of MPI. If you only have one +MPI installed on your system, this is not an issue, but it can be if +you have multiple MPIs. Your LAMMPS build is explicit about which MPI +it is using, since you specify the details in your lo-level +src/MAKE/Makefile.foo file. Mpi4py uses the "mpicc" command to find +information about the MPI it uses to build against. And it tries to +load "libmpi.so" from the LD_LIBRARY_PATH. This may or may not find +the MPI library that LAMMPS is using. If you have problems running +both mpi4py and LAMMPS together, this is an issue you may need to +address, e.g. by moving other MPI installations so that mpi4py finds +the right one. + + diff --git a/doc/src/Python_overview.txt b/doc/src/Python_overview.txt new file mode 100644 index 0000000000..a5d6a469ff --- /dev/null +++ b/doc/src/Python_overview.txt @@ -0,0 +1,35 @@ +"Previous Section"_Examples.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Tools.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands.html#comm) + +:line + +Overview of Python and LAMMPS :h3 + +LAMMPS can work together with Python in three ways. First, Python can +wrap LAMMPS through the its "library interface"_Howto_library.html, so +that a Python script can create one or more instances of LAMMPS and +launch one or more simulations. In Python lingo, this is "extending" +Python with LAMMPS. + +Second, a lower-level Python interface can be used indirectly through +provided PyLammps and IPyLammps wrapper classes, written in Python. +These wrappers try to simplify the usage of LAMMPS in Python by +providing an object-based interface to common LAMMPS functionality. +They also reduces the amount of code necessary to parameterize LAMMPS +scripts through Python and make variables and computes directly +accessible. + +Third, LAMMPS can use the Python interpreter, so that a LAMMPS +input script can invoke Python code directly, and pass information +back-and-forth between the input script and Python functions you +write. This Python code can also callback to LAMMPS to query or change +its attributes. In Python lingo, this is "embedding" Python in +LAMMPS. When used in this mode, Python can perform operations that +the simple LAMMPS input script syntax cannot. + + diff --git a/doc/src/Python_pylammps.txt b/doc/src/Python_pylammps.txt new file mode 100644 index 0000000000..ad5ed192ee --- /dev/null +++ b/doc/src/Python_pylammps.txt @@ -0,0 +1,14 @@ +"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +PyLammps interface :h3 + +PyLammps is a Python wrapper class which can be created on its own or +use an existing lammps Python object. It has its own "PyLammps +Tutorial"_tutorial_pylammps.html doc page. diff --git a/doc/src/Python_run.txt b/doc/src/Python_run.txt new file mode 100644 index 0000000000..03ab2ed3d7 --- /dev/null +++ b/doc/src/Python_run.txt @@ -0,0 +1,40 @@ +"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Run LAMMPS from Python :h3 + +The LAMMPS distribution includes a python directory with all you need +to run LAMMPS from Python. The python/lammps.py file wraps the LAMMPS +library interface, with one wrapper function per LAMMPS library +function. This file makes it is possible to do the following either +from a Python script, or interactively from a Python prompt: create +one or more instances of LAMMPS, invoke LAMMPS commands or give it an +input script, run LAMMPS incrementally, extract LAMMPS results, an +modify internal LAMMPS variables. From a Python script you can do +this in serial or parallel. Running Python interactively in parallel +does not generally work, unless you have a version of Python that +extends Python to enable multiple instances of Python to read what you +type. + +To do all of this, you must first build LAMMPS as a shared library, +then insure that your Python can find the python/lammps.py file and +the shared library. + +Two advantages of using Python to run LAMMPS are how concise the +language is, and that it can be run interactively, enabling rapid +development and debugging. If you use it to mostly invoke costly +operations within LAMMPS, such as running a simulation for a +reasonable number of timesteps, then the overhead cost of invoking +LAMMPS thru Python will be negligible. + +The Python wrapper for LAMMPS uses the "ctypes" package in Python, +which auto-generates the interface code needed between Python and a +set of C-style library functions. Ctypes is part of standard Python +for versions 2.5 and later. You can check which version of Python you +have by simply typing "python" at a shell prompt. diff --git a/doc/src/Python_shlib.txt b/doc/src/Python_shlib.txt new file mode 100644 index 0000000000..1aafbe2e84 --- /dev/null +++ b/doc/src/Python_shlib.txt @@ -0,0 +1,34 @@ +"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Build LAMMPS as a shared library :h3 + +Instructions on how to build LAMMPS as a shared library are given in +"Section 2.4"_Section_start.html#start_4. A shared library is one +that is dynamically loadable, which is what Python requires to wrap +LAMMPS. On Linux this is a library file that ends in ".so", not ".a". + +From the src directory, type + +make foo mode=shlib :pre + +where foo is the machine target name, such as mpi or serial. +This should create the file liblammps_foo.so in the src directory, as +well as a soft link liblammps.so, which is what the Python wrapper will +load by default. Note that if you are building multiple machine +versions of the shared library, the soft link is always set to the +most recently built version. + +NOTE: If you are building LAMMPS with an MPI or FFT library or other +auxiliary libraries (used by various packages), then all of these +extra libraries must also be shared libraries. If the LAMMPS +shared-library build fails with an error complaining about this, see +"Section 2.4"_Section_start.html#start_4 for more details. + +Also include CMake info on this diff --git a/doc/src/Python_test.txt b/doc/src/Python_test.txt new file mode 100644 index 0000000000..5f361a500b --- /dev/null +++ b/doc/src/Python_test.txt @@ -0,0 +1,131 @@ +"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Test the Python/LAMMPS interface :h3 + +To test if LAMMPS is callable from Python, launch Python interactively +and type: + +>>> from lammps import lammps +>>> lmp = lammps() :pre + +If you get no errors, you're ready to use LAMMPS from Python. If the +2nd command fails, the most common error to see is + +OSError: Could not load LAMMPS dynamic library :pre + +which means Python was unable to load the LAMMPS shared library. This +typically occurs if the system can't find the LAMMPS shared library or +one of the auxiliary shared libraries it depends on, or if something +about the library is incompatible with your Python. The error message +should give you an indication of what went wrong. + +You can also test the load directly in Python as follows, without +first importing from the lammps.py file: + +>>> from ctypes import CDLL +>>> CDLL("liblammps.so") :pre + +If an error occurs, carefully go thru the steps in "Section +2.4"_Section_start.html#start_4 and above about building a shared +library and about insuring Python can find the necessary two files +it needs. + +[Test LAMMPS and Python in serial:] :h4 + +To run a LAMMPS test in serial, type these lines into Python +interactively from the bench directory: + +>>> from lammps import lammps +>>> lmp = lammps() +>>> lmp.file("in.lj") :pre + +Or put the same lines in the file test.py and run it as + +% python test.py :pre + +Either way, you should see the results of running the in.lj benchmark +on a single processor appear on the screen, the same as if you had +typed something like: + +lmp_g++ -in in.lj :pre + +[Test LAMMPS and Python in parallel:] :h4 + +To run LAMMPS in parallel, assuming you have installed the +"PyPar"_https://github.com/daleroberts/pypar package as discussed +above, create a test.py file containing these lines: + +import pypar +from lammps import lammps +lmp = lammps() +lmp.file("in.lj") +print "Proc %d out of %d procs has" % (pypar.rank(),pypar.size()),lmp +pypar.finalize() :pre + +To run LAMMPS in parallel, assuming you have installed the +"mpi4py"_https://bitbucket.org/mpi4py/mpi4py package as discussed +above, create a test.py file containing these lines: + +from mpi4py import MPI +from lammps import lammps +lmp = lammps() +lmp.file("in.lj") +me = MPI.COMM_WORLD.Get_rank() +nprocs = MPI.COMM_WORLD.Get_size() +print "Proc %d out of %d procs has" % (me,nprocs),lmp +MPI.Finalize() :pre + +You can either script in parallel as: + +% mpirun -np 4 python test.py :pre + +and you should see the same output as if you had typed + +% mpirun -np 4 lmp_g++ -in in.lj :pre + +Note that if you leave out the 3 lines from test.py that specify PyPar +commands you will instantiate and run LAMMPS independently on each of +the P processors specified in the mpirun command. In this case you +should get 4 sets of output, each showing that a LAMMPS run was made +on a single processor, instead of one set of output showing that +LAMMPS ran on 4 processors. If the 1-processor outputs occur, it +means that PyPar is not working correctly. + +Also note that once you import the PyPar module, PyPar initializes MPI +for you, and you can use MPI calls directly in your Python script, as +described in the PyPar documentation. The last line of your Python +script should be pypar.finalize(), to insure MPI is shut down +correctly. + +[Running Python scripts:] :h4 + +Note that any Python script (not just for LAMMPS) can be invoked in +one of several ways: + +% python foo.script +% python -i foo.script +% foo.script :pre + +The last command requires that the first line of the script be +something like this: + +#!/usr/local/bin/python +#!/usr/local/bin/python -i :pre + +where the path points to where you have Python installed, and that you +have made the script file executable: + +% chmod +x foo.script :pre + +Without the "-i" flag, Python will exit when the script finishes. +With the "-i" flag, you will be left in the Python interpreter when +the script finishes, so you can type subsequent commands. As +mentioned above, you can only run Python interactively when running +Python on a single processor, not in parallel. diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index a44013f5f1..7b9349a233 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -67,7 +67,7 @@ values are not desired, the "processors"_processors.html and tell LAMMPS how to map processors to the simulation box. Many input script errors are detected by LAMMPS and an ERROR or -WARNING message is printed. "This section"_Section_errors.html gives +WARNING message is printed. The "Errors"_Errors.html doc page gives more information on what errors mean. The documentation for each command lists restrictions on how the command can be used. diff --git a/doc/src/Section_history.txt b/doc/src/Section_history.txt index 7b90410628..6bbd1e4d99 100644 --- a/doc/src/Section_history.txt +++ b/doc/src/Section_history.txt @@ -1,4 +1,4 @@ -"Previous Section"_Section_errors.html - "LAMMPS WWW Site"_lws - +"Previous Section"_Errors.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Manual.html :c diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt index 0a31fc2b48..3c5fe47057 100644 --- a/doc/src/Section_howto.txt +++ b/doc/src/Section_howto.txt @@ -731,10 +731,10 @@ any other language that supports a vanilla C-like interface). For example, from C++ you could create one (or more) "instances" of LAMMPS, pass it an input script to process, or execute individual commands, all by invoking the correct class methods in LAMMPS. From C -or Fortran you can make function calls to do the same things. See -"Section 11"_Section_python.html of the manual for a description -of the Python wrapper provided with LAMMPS that operates through the -LAMMPS library interface. +or Fortran you can make function calls to do the same things. See the +"Python"_Python.html doc page for a description of the Python wrapper +provided with LAMMPS that operates through the LAMMPS library +interface. The files src/library.cpp and library.h contain the C-style interface to LAMMPS. See "Section 6.19"_Section_howto.html#howto_19 of the @@ -1843,10 +1843,10 @@ converge and requires careful post-processing "(Shinoda)"_#Shinoda1 6.19 Library interface to LAMMPS :link(howto_19),h4 -As described in "Section 2.5"_Section_start.html#start_5, LAMMPS -can be built as a library, so that it can be called by another code, -used in a "coupled manner"_Section_howto.html#howto_10 with other -codes, or driven through a "Python interface"_Section_python.html. +As described in "Section 2.5"_Section_start.html#start_5, LAMMPS can +be built as a library, so that it can be called by another code, used +in a "coupled manner"_Section_howto.html#howto_10 with other codes, or +driven through a "Python interface"_Python.html. All of these methodologies use a C-style interface to LAMMPS that is provided in the files src/library.cpp and src/library.h. The @@ -1869,9 +1869,9 @@ details. NOTE: You can write code for additional functions as needed to define how your code talks to LAMMPS and add them to src/library.cpp and -src/library.h, as well as to the "Python -interface"_Section_python.html. The added functions can access or -change any internal LAMMPS data you wish. +src/library.h, as well as to the "Python interface"_Python.html. The +added functions can access or change any internal LAMMPS data you +wish. void lammps_open(int, char **, MPI_Comm, void **) void lammps_open_no_mpi(int, char **, void **) diff --git a/doc/src/Section_intro.txt b/doc/src/Section_intro.txt index fa2ab0e768..c7cf5bf8d2 100644 --- a/doc/src/Section_intro.txt +++ b/doc/src/Section_intro.txt @@ -1,4 +1,6 @@ -"Previous Section"_Manual.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_start.html :c +"Previous Section"_Manual.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Section_start.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -429,7 +431,7 @@ Site"_lws, or have a suggestion for something to clarify or include, send an email to the "developers"_http://lammps.sandia.gov/authors.html. :l -If you find a bug, "Section 12.2"_Section_errors.html#err_2 +If you find a bug, the "Errors bugs"_Errors_bugs.html doc page describes how to report it. :l If you publish a paper using LAMMPS results, send the citation (and diff --git a/doc/src/Section_packages.txt b/doc/src/Section_packages.txt index 77f56d273c..340a77310d 100644 --- a/doc/src/Section_packages.txt +++ b/doc/src/Section_packages.txt @@ -1178,10 +1178,10 @@ PYTHON package :link(PYTHON),h4 A "python"_python.html command which allow you to execute Python code from a LAMMPS input script. The code can be in a separate file or -embedded in the input script itself. See "Section -11.2"_Section_python.html#py_2 for an overview of using Python from -LAMMPS in this manner and the entire section for other ways to use -LAMMPS and Python together. +embedded in the input script itself. See the "Python +call"_Python_call.html doc page for an overview of using Python from +LAMMPS in this manner and the "Python"_Python.html doc page for other +ways to use LAMMPS and Python together. [Install or un-install:] @@ -1202,7 +1202,7 @@ to Makefile.lammps) if the LAMMPS build fails. [Supporting info:] src/PYTHON: filenames -> commands -"Section 11"_Section_python.html +"Python call"_Python_call.html lib/python/README examples/python :ul diff --git a/doc/src/Section_python.txt b/doc/src/Section_python.txt deleted file mode 100644 index c9b0bd8b2e..0000000000 --- a/doc/src/Section_python.txt +++ /dev/null @@ -1,869 +0,0 @@ -"Previous Section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_errors.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -11. Python interface to LAMMPS :h2 - -LAMMPS can work together with Python in three ways. First, Python can -wrap LAMMPS through the "LAMMPS library -interface"_Section_howto.html#howto_19, so that a Python script can -create one or more instances of LAMMPS and launch one or more -simulations. In Python lingo, this is "extending" Python with LAMMPS. - -Second, the low-level Python interface can be used indirectly through the -PyLammps and IPyLammps wrapper classes in Python. These wrappers try to -simplify the usage of LAMMPS in Python by providing an object-based interface -to common LAMMPS functionality. It also reduces the amount of code necessary to -parameterize LAMMPS scripts through Python and makes variables and computes -directly accessible. See "PyLammps interface"_#py_9 for more details. - -Third, LAMMPS can use the Python interpreter, so that a LAMMPS input -script can invoke Python code, and pass information back-and-forth -between the input script and Python functions you write. The Python -code can also callback to LAMMPS to query or change its attributes. -In Python lingo, this is "embedding" Python in LAMMPS. - -This section describes how to use these three approaches. - -11.1 "Overview of running LAMMPS from Python"_#py_1 -11.2 "Overview of using Python from a LAMMPS script"_#py_2 -11.3 "Building LAMMPS as a shared library"_#py_3 -11.4 "Installing the Python wrapper into Python"_#py_4 -11.5 "Extending Python with MPI to run in parallel"_#py_5 -11.6 "Testing the Python-LAMMPS interface"_#py_6 -11.7 "Using LAMMPS from Python"_#py_7 -11.8 "Example Python scripts that use LAMMPS"_#py_8 -11.9 "PyLammps interface"_#py_9 :ul - -If you are not familiar with it, "Python"_http://www.python.org is a -powerful scripting and programming language which can essentially do -anything that faster, lower-level languages like C or C++ can do, but -typically with much fewer lines of code. When used in embedded mode, -Python can perform operations that the simplistic LAMMPS input script -syntax cannot. Python can be also be used as a "glue" language to -drive a program through its library interface, or to hook multiple -pieces of software together, such as a simulation package plus a -visualization package, or to run a coupled multiscale or multiphysics -model. - -See "Section 6.10"_Section_howto.html#howto_10 of the manual and -the couple directory of the distribution for more ideas about coupling -LAMMPS to other codes. See "Section -6.19"_Section_howto.html#howto_19 for a description of the LAMMPS -library interface provided in src/library.cpp and src/library.h, and -how to extend it for your needs. As described below, that interface -is what is exposed to Python either when calling LAMMPS from Python or -when calling Python from a LAMMPS input script and then calling back -to LAMMPS from Python code. The library interface is designed to be -easy to add functions to. Thus the Python interface to LAMMPS is also -easy to extend as well. - -If you create interesting Python scripts that run LAMMPS or -interesting Python functions that can be called from a LAMMPS input -script, that you think would be useful to other users, please "email -them to the developers"_http://lammps.sandia.gov/authors.html. We can -include them in the LAMMPS distribution. - -:line -:line - -11.1 Overview of running LAMMPS from Python :link(py_1),h4 - -The LAMMPS distribution includes a python directory with all you need -to run LAMMPS from Python. The python/lammps.py file wraps the LAMMPS -library interface, with one wrapper function per LAMMPS library -function. This file makes it is possible to do the following either -from a Python script, or interactively from a Python prompt: create -one or more instances of LAMMPS, invoke LAMMPS commands or give it an -input script, run LAMMPS incrementally, extract LAMMPS results, an -modify internal LAMMPS variables. From a Python script you can do -this in serial or parallel. Running Python interactively in parallel -does not generally work, unless you have a version of Python that -extends standard Python to enable multiple instances of Python to read -what you type. - -To do all of this, you must first build LAMMPS as a shared library, -then insure that your Python can find the python/lammps.py file and -the shared library. These steps are explained in subsequent sections -11.3 and 11.4. Sections 11.5 and 11.6 discuss using MPI from a -parallel Python program and how to test that you are ready to use -LAMMPS from Python. Section 11.7 lists all the functions in the -current LAMMPS library interface and how to call them from Python. - -Section 11.8 gives some examples of coupling LAMMPS to other tools via -Python. For example, LAMMPS can easily be coupled to a GUI or other -visualization tools that display graphs or animations in real time as -LAMMPS runs. Examples of such scripts are included in the python -directory. - -Two advantages of using Python to run LAMMPS are how concise the -language is, and that it can be run interactively, enabling rapid -development and debugging of programs. If you use it to mostly invoke -costly operations within LAMMPS, such as running a simulation for a -reasonable number of timesteps, then the overhead cost of invoking -LAMMPS thru Python will be negligible. - -The Python wrapper for LAMMPS uses the amazing and magical (to me) -"ctypes" package in Python, which auto-generates the interface code -needed between Python and a set of C interface routines for a library. -Ctypes is part of standard Python for versions 2.5 and later. You can -check which version of Python you have installed, by simply typing -"python" at a shell prompt. - -:line - -11.2 Overview of using Python from a LAMMPS script :link(py_2),h4 - -LAMMPS has several commands which can be used to invoke Python -code directly from an input script: - -"python"_python.html -"variable python"_variable.html -"fix python/invoke"_fix_python_invoke.html -"pair_style python"_pair_python.html :ul - -The "python"_python.html command which can be used to define and -execute a Python function that you write the code for. The Python -function can also be assigned to a LAMMPS python-style variable via -the "variable"_variable.html command. Each time the variable is -evaluated, either in the LAMMPS input script itself, or by another -LAMMPS command that uses the variable, this will trigger the Python -function to be invoked. - -The Python code for the function can be included directly in the input -script or in an auxiliary file. The function can have arguments which -are mapped to LAMMPS variables (also defined in the input script) and -it can return a value to a LAMMPS variable. This is thus a mechanism -for your input script to pass information to a piece of Python code, -ask Python to execute the code, and return information to your input -script. - -Note that a Python function can be arbitrarily complex. It can import -other Python modules, instantiate Python classes, call other Python -functions, etc. The Python code that you provide can contain more -code than the single function. It can contain other functions or -Python classes, as well as global variables or other mechanisms for -storing state between calls from LAMMPS to the function. - -The Python function you provide can consist of "pure" Python code that -only performs operations provided by standard Python. However, the -Python function can also "call back" to LAMMPS through its -Python-wrapped library interface, in the manner described in the -previous section 11.1. This means it can issue LAMMPS input script -commands or query and set internal LAMMPS state. As an example, this -can be useful in an input script to create a more complex loop with -branching logic, than can be created using the simple looping and -branching logic enabled by the "next"_next.html and "if"_if.html -commands. - -See the "python"_python.html doc page and the "variable"_variable.html -doc page for its python-style variables for more info, including -examples of Python code you can write for both pure Python operations -and callbacks to LAMMPS. - -The "fix python/invoke"_fix_python_invoke.html command can execute -Python code at selected timesteps during a simulation run. - -The "pair_style python"_pair_python command allows you to define -pairwise potentials as python code which encodes a single pairwise -interaction. This is useful for rapid-developement and debugging of a -new potential. - -To use any of these commands, you only need to build LAMMPS with the -PYTHON package installed: - -make yes-python -make machine :pre - -Note that this will link LAMMPS with the Python library on your -system, which typically requires several auxiliary system libraries to -also be linked. The list of these libraries and the paths to find -them are specified in the lib/python/Makefile.lammps file. You need -to insure that file contains the correct information for your version -of Python and your machine to successfully build LAMMPS. See the -lib/python/README file for more info. - -If you want to write Python code with callbacks to LAMMPS, then you -must also follow the steps overviewed in the preceding section (11.1) -for running LAMMPS from Python. I.e. you must build LAMMPS as a -shared library and insure that Python can find the python/lammps.py -file and the shared library. - -:line - -11.3 Building LAMMPS as a shared library :link(py_3),h4 - -Instructions on how to build LAMMPS as a shared library are given in -"Section 2.4"_Section_start.html#start_4. A shared library is one -that is dynamically loadable, which is what Python requires to wrap -LAMMPS. On Linux this is a library file that ends in ".so", not ".a". - -From the src directory, type - -make foo mode=shlib :pre - -where foo is the machine target name, such as linux or g++ or serial. -This should create the file liblammps_foo.so in the src directory, as -well as a soft link liblammps.so, which is what the Python wrapper will -load by default. Note that if you are building multiple machine -versions of the shared library, the soft link is always set to the -most recently built version. - -NOTE: If you are building LAMMPS with an MPI or FFT library or other -auxiliary libraries (used by various packages), then all of these -extra libraries must also be shared libraries. If the LAMMPS -shared-library build fails with an error complaining about this, see -"Section 2.4"_Section_start.html#start_4 for more details. - -:line - -11.4 Installing the Python wrapper into Python :link(py_4),h4 - -For Python to invoke LAMMPS, there are 2 files it needs to know about: - -python/lammps.py -src/liblammps.so :ul - -Lammps.py is the Python wrapper on the LAMMPS library interface. -Liblammps.so is the shared LAMMPS library that Python loads, as -described above. - -You can insure Python can find these files in one of two ways: - -set two environment variables -run the python/install.py script :ul - -If you set the paths to these files as environment variables, you only -have to do it once. For the csh or tcsh shells, add something like -this to your ~/.cshrc file, one line for each of the two files: - -setenv PYTHONPATH $\{PYTHONPATH\}:/home/sjplimp/lammps/python -setenv LD_LIBRARY_PATH $\{LD_LIBRARY_PATH\}:/home/sjplimp/lammps/src :pre - -If you use the python/install.py script, you need to invoke it every -time you rebuild LAMMPS (as a shared library) or make changes to the -python/lammps.py file. - -You can invoke install.py from the python directory as - -% python install.py \[libdir\] \[pydir\] :pre - -The optional libdir is where to copy the LAMMPS shared library to; the -default is /usr/local/lib. The optional pydir is where to copy the -lammps.py file to; the default is the site-packages directory of the -version of Python that is running the install script. - -Note that libdir must be a location that is in your default -LD_LIBRARY_PATH, like /usr/local/lib or /usr/lib. And pydir must be a -location that Python looks in by default for imported modules, like -its site-packages dir. If you want to copy these files to -non-standard locations, such as within your own user space, you will -need to set your PYTHONPATH and LD_LIBRARY_PATH environment variables -accordingly, as above. - -If the install.py script does not allow you to copy files into system -directories, prefix the python command with "sudo". If you do this, -make sure that the Python that root runs is the same as the Python you -run. E.g. you may need to do something like - -% sudo /usr/local/bin/python install.py \[libdir\] \[pydir\] :pre - -You can also invoke install.py from the make command in the src -directory as - -% make install-python :pre - -In this mode you cannot append optional arguments. Again, you may -need to prefix this with "sudo". In this mode you cannot control -which Python is invoked by root. - -Note that if you want Python to be able to load different versions of -the LAMMPS shared library (see "this section"_#py_5 below), you will -need to manually copy files like liblammps_g++.so into the appropriate -system directory. This is not needed if you set the LD_LIBRARY_PATH -environment variable as described above. - -:line - -11.5 Extending Python with MPI to run in parallel :link(py_5),h4 - -If you wish to run LAMMPS in parallel from Python, you need to extend -your Python with an interface to MPI. This also allows you to -make MPI calls directly from Python in your script, if you desire. - -There are several Python packages available that purport to wrap MPI -as a library and allow MPI functions to be called from Python. However, -development on most of them seems to be halted except on: - -"mpi4py"_https://bitbucket.org/mpi4py/mpi4py -"PyPar"_https://github.com/daleroberts/pypar :ul - -Both packages, PyPar and mpi4py have been successfully tested with -LAMMPS. PyPar is simpler and easy to set up and use, but supports -only a subset of MPI. Mpi4py is more MPI-feature complete, but also a -bit more complex to use. As of version 2.0.0, mpi4py is the only -python MPI wrapper that allows passing a custom MPI communicator to -the LAMMPS constructor, which means one can easily run one or more -LAMMPS instances on subsets of the total MPI ranks. - -:line - -PyPar requires the ubiquitous "Numpy package"_http://numpy.scipy.org -be installed in your Python. After launching Python, type - -import numpy :pre - -to see if it is installed. If not, here is how to install it (version -1.3.0b1 as of April 2009). Unpack the numpy tarball and from its -top-level directory, type - -python setup.py build -sudo python setup.py install :pre - -The "sudo" is only needed if required to copy Numpy files into your -Python distribution's site-packages directory. - -To install PyPar (version pypar-2.1.4_94 as of Aug 2012), unpack it -and from its "source" directory, type - -python setup.py build -sudo python setup.py install :pre - -Again, the "sudo" is only needed if required to copy PyPar files into -your Python distribution's site-packages directory. - -If you have successfully installed PyPar, you should be able to run -Python and type - -import pypar :pre - -without error. You should also be able to run python in parallel -on a simple test script - -% mpirun -np 4 python test.py :pre - -where test.py contains the lines - -import pypar -print "Proc %d out of %d procs" % (pypar.rank(),pypar.size()) :pre - -and see one line of output for each processor you run on. - -NOTE: To use PyPar and LAMMPS in parallel from Python, you must insure -both are using the same version of MPI. If you only have one MPI -installed on your system, this is not an issue, but it can be if you -have multiple MPIs. Your LAMMPS build is explicit about which MPI it -is using, since you specify the details in your lo-level -src/MAKE/Makefile.foo file. PyPar uses the "mpicc" command to find -information about the MPI it uses to build against. And it tries to -load "libmpi.so" from the LD_LIBRARY_PATH. This may or may not find -the MPI library that LAMMPS is using. If you have problems running -both PyPar and LAMMPS together, this is an issue you may need to -address, e.g. by moving other MPI installations so that PyPar finds -the right one. - -:line - -To install mpi4py (version mpi4py-2.0.0 as of Oct 2015), unpack it -and from its main directory, type - -python setup.py build -sudo python setup.py install :pre - -Again, the "sudo" is only needed if required to copy mpi4py files into -your Python distribution's site-packages directory. To install with -user privilege into the user local directory type - -python setup.py install --user :pre - -If you have successfully installed mpi4py, you should be able to run -Python and type - -from mpi4py import MPI :pre - -without error. You should also be able to run python in parallel -on a simple test script - -% mpirun -np 4 python test.py :pre - -where test.py contains the lines - -from mpi4py import MPI -comm = MPI.COMM_WORLD -print "Proc %d out of %d procs" % (comm.Get_rank(),comm.Get_size()) :pre - -and see one line of output for each processor you run on. - -NOTE: To use mpi4py and LAMMPS in parallel from Python, you must -insure both are using the same version of MPI. If you only have one -MPI installed on your system, this is not an issue, but it can be if -you have multiple MPIs. Your LAMMPS build is explicit about which MPI -it is using, since you specify the details in your lo-level -src/MAKE/Makefile.foo file. Mpi4py uses the "mpicc" command to find -information about the MPI it uses to build against. And it tries to -load "libmpi.so" from the LD_LIBRARY_PATH. This may or may not find -the MPI library that LAMMPS is using. If you have problems running -both mpi4py and LAMMPS together, this is an issue you may need to -address, e.g. by moving other MPI installations so that mpi4py finds -the right one. - -:line - -11.6 Testing the Python-LAMMPS interface :link(py_6),h4 - -To test if LAMMPS is callable from Python, launch Python interactively -and type: - ->>> from lammps import lammps ->>> lmp = lammps() :pre - -If you get no errors, you're ready to use LAMMPS from Python. If the -2nd command fails, the most common error to see is - -OSError: Could not load LAMMPS dynamic library :pre - -which means Python was unable to load the LAMMPS shared library. This -typically occurs if the system can't find the LAMMPS shared library or -one of the auxiliary shared libraries it depends on, or if something -about the library is incompatible with your Python. The error message -should give you an indication of what went wrong. - -You can also test the load directly in Python as follows, without -first importing from the lammps.py file: - ->>> from ctypes import CDLL ->>> CDLL("liblammps.so") :pre - -If an error occurs, carefully go thru the steps in "Section -2.4"_Section_start.html#start_4 and above about building a shared -library and about insuring Python can find the necessary two files -it needs. - -[Test LAMMPS and Python in serial:] :h4 - -To run a LAMMPS test in serial, type these lines into Python -interactively from the bench directory: - ->>> from lammps import lammps ->>> lmp = lammps() ->>> lmp.file("in.lj") :pre - -Or put the same lines in the file test.py and run it as - -% python test.py :pre - -Either way, you should see the results of running the in.lj benchmark -on a single processor appear on the screen, the same as if you had -typed something like: - -lmp_g++ -in in.lj :pre - -[Test LAMMPS and Python in parallel:] :h4 - -To run LAMMPS in parallel, assuming you have installed the -"PyPar"_https://github.com/daleroberts/pypar package as discussed -above, create a test.py file containing these lines: - -import pypar -from lammps import lammps -lmp = lammps() -lmp.file("in.lj") -print "Proc %d out of %d procs has" % (pypar.rank(),pypar.size()),lmp -pypar.finalize() :pre - -To run LAMMPS in parallel, assuming you have installed the -"mpi4py"_https://bitbucket.org/mpi4py/mpi4py package as discussed -above, create a test.py file containing these lines: - -from mpi4py import MPI -from lammps import lammps -lmp = lammps() -lmp.file("in.lj") -me = MPI.COMM_WORLD.Get_rank() -nprocs = MPI.COMM_WORLD.Get_size() -print "Proc %d out of %d procs has" % (me,nprocs),lmp -MPI.Finalize() :pre - -You can either script in parallel as: - -% mpirun -np 4 python test.py :pre - -and you should see the same output as if you had typed - -% mpirun -np 4 lmp_g++ -in in.lj :pre - -Note that if you leave out the 3 lines from test.py that specify PyPar -commands you will instantiate and run LAMMPS independently on each of -the P processors specified in the mpirun command. In this case you -should get 4 sets of output, each showing that a LAMMPS run was made -on a single processor, instead of one set of output showing that -LAMMPS ran on 4 processors. If the 1-processor outputs occur, it -means that PyPar is not working correctly. - -Also note that once you import the PyPar module, PyPar initializes MPI -for you, and you can use MPI calls directly in your Python script, as -described in the PyPar documentation. The last line of your Python -script should be pypar.finalize(), to insure MPI is shut down -correctly. - -[Running Python scripts:] :h4 - -Note that any Python script (not just for LAMMPS) can be invoked in -one of several ways: - -% python foo.script -% python -i foo.script -% foo.script :pre - -The last command requires that the first line of the script be -something like this: - -#!/usr/local/bin/python -#!/usr/local/bin/python -i :pre - -where the path points to where you have Python installed, and that you -have made the script file executable: - -% chmod +x foo.script :pre - -Without the "-i" flag, Python will exit when the script finishes. -With the "-i" flag, you will be left in the Python interpreter when -the script finishes, so you can type subsequent commands. As -mentioned above, you can only run Python interactively when running -Python on a single processor, not in parallel. - -:line -:line - -11.7 Using LAMMPS from Python :link(py_7),h4 - -As described above, the Python interface to LAMMPS consists of a -Python "lammps" module, the source code for which is in -python/lammps.py, which creates a "lammps" object, with a set of -methods that can be invoked on that object. The sample Python code -below assumes you have first imported the "lammps" module in your -Python script, as follows: - -from lammps import lammps :pre - -These are the methods defined by the lammps module. If you look at -the files src/library.cpp and src/library.h you will see they -correspond one-to-one with calls you can make to the LAMMPS library -from a C++ or C or Fortran program, and which are described in -"Section 6.19"_Section_howto.html#howto_19 of the manual. - -The python/examples directory has Python scripts which show how Python -can run LAMMPS, grab data, change it, and put it back into LAMMPS. - -lmp = lammps() # create a LAMMPS object using the default liblammps.so library - # 4 optional args are allowed: name, cmdargs, ptr, comm -lmp = lammps(ptr=lmpptr) # use lmpptr as previously created LAMMPS object -lmp = lammps(comm=split) # create a LAMMPS object with a custom communicator, requires mpi4py 2.0.0 or later -lmp = lammps(name="g++") # create a LAMMPS object using the liblammps_g++.so library -lmp = lammps(name="g++",cmdargs=list) # add LAMMPS command-line args, e.g. list = \["-echo","screen"\] :pre - -lmp.close() # destroy a LAMMPS object :pre - -version = lmp.version() # return the numerical version id, e.g. LAMMPS 2 Sep 2015 -> 20150902 :pre - -lmp.file(file) # run an entire input script, file = "in.lj" -lmp.command(cmd) # invoke a single LAMMPS command, cmd = "run 100" -lmp.commands_list(cmdlist) # invoke commands in cmdlist = ["run 10", "run 20"] -lmp.commands_string(multicmd) # invoke commands in multicmd = "run 10\nrun 20" :pre - -size = lmp.extract_setting(name) # return data type info :pre - -xlo = lmp.extract_global(name,type) # extract a global quantity - # name = "boxxlo", "nlocal", etc - # type = 0 = int - # 1 = double :pre - -boxlo,boxhi,xy,yz,xz,periodicity,box_change = lmp.extract_box() # extract box info :pre - -coords = lmp.extract_atom(name,type) # extract a per-atom quantity - # name = "x", "type", etc - # type = 0 = vector of ints - # 1 = array of ints - # 2 = vector of doubles - # 3 = array of doubles :pre - -eng = lmp.extract_compute(id,style,type) # extract value(s) from a compute -v3 = lmp.extract_fix(id,style,type,i,j) # extract value(s) from a fix - # id = ID of compute or fix - # style = 0 = global data - # 1 = per-atom data - # 2 = local data - # type = 0 = scalar - # 1 = vector - # 2 = array - # i,j = indices of value in global vector or array :pre - -var = lmp.extract_variable(name,group,flag) # extract value(s) from a variable - # name = name of variable - # group = group ID (ignored for equal-style variables) - # flag = 0 = equal-style variable - # 1 = atom-style variable :pre - -value = lmp.get_thermo(name) # return current value of a thermo keyword -natoms = lmp.get_natoms() # total # of atoms as int :pre - -flag = lmp.set_variable(name,value) # set existing named string-style variable to value, flag = 0 if successful -lmp.reset_box(boxlo,boxhi,xy,yz,xz) # reset the simulation box size :pre - -data = lmp.gather_atoms(name,type,count) # return per-atom property of all atoms gathered into data, ordered by atom ID - # name = "x", "charge", "type", etc -data = lmp.gather_atoms_concat(name,type,count) # ditto, but concatenated atom values from each proc (unordered) -data = lmp.gather_atoms_subset(name,type,count,ndata,ids) # ditto, but for subset of Ndata atoms with IDs :pre - -lmp.scatter_atoms(name,type,count,data) # scatter per-atom property to all atoms from data, ordered by atom ID - # name = "x", "charge", "type", etc - # count = # of per-atom values, 1 or 3, etc :pre -lmp.scatter_atoms_subset(name,type,count,ndata,ids,data) # ditto, but for subset of Ndata atoms with IDs :pre - -lmp.create_atoms(n,ids,types,x,v,image,shrinkexceed) # create N atoms with IDs, types, x, v, and image flags :pre - -:line - -The lines - -from lammps import lammps -lmp = lammps() :pre - -create an instance of LAMMPS, wrapped in a Python class by the lammps -Python module, and return an instance of the Python class as lmp. It -is used to make all subsequent calls to the LAMMPS library. - -Additional arguments to lammps() can be used to tell Python the name -of the shared library to load or to pass arguments to the LAMMPS -instance, the same as if LAMMPS were launched from a command-line -prompt. - -If the ptr argument is set like this: - -lmp = lammps(ptr=lmpptr) :pre - -then lmpptr must be an argument passed to Python via the LAMMPS -"python"_python.html command, when it is used to define a Python -function that is invoked by the LAMMPS input script. This mode of -using Python with LAMMPS is described above in 11.2. The variable -lmpptr refers to the instance of LAMMPS that called the embedded -Python interpreter. Using it as an argument to lammps() allows the -returned Python class instance "lmp" to make calls to that instance of -LAMMPS. See the "python"_python.html command doc page for examples -using this syntax. - -Note that you can create multiple LAMMPS objects in your Python -script, and coordinate and run multiple simulations, e.g. - -from lammps import lammps -lmp1 = lammps() -lmp2 = lammps() -lmp1.file("in.file1") -lmp2.file("in.file2") :pre - -The file(), command(), commands_list(), commands_string() methods -allow an input script, a single command, or multiple commands to be -invoked. - -The extract_setting(), extract_global(), extract_box(), -extract_atom(), extract_compute(), extract_fix(), and -extract_variable() methods return values or pointers to data -structures internal to LAMMPS. - -For extract_global() see the src/library.cpp file for the list of -valid names. New names could easily be added. A double or integer is -returned. You need to specify the appropriate data type via the type -argument. - -For extract_atom(), a pointer to internal LAMMPS atom-based data is -returned, which you can use via normal Python subscripting. See the -extract() method in the src/atom.cpp file for a list of valid names. -Again, new names could easily be added if the property you want is not -listed. A pointer to a vector of doubles or integers, or a pointer to -an array of doubles (double **) or integers (int **) is returned. You -need to specify the appropriate data type via the type argument. - -For extract_compute() and extract_fix(), the global, per-atom, or -local data calculated by the compute or fix can be accessed. What is -returned depends on whether the compute or fix calculates a scalar or -vector or array. For a scalar, a single double value is returned. If -the compute or fix calculates a vector or array, a pointer to the -internal LAMMPS data is returned, which you can use via normal Python -subscripting. The one exception is that for a fix that calculates a -global vector or array, a single double value from the vector or array -is returned, indexed by I (vector) or I and J (array). I,J are -zero-based indices. The I,J arguments can be left out if not needed. -See "Section 6.15"_Section_howto.html#howto_15 of the manual for a -discussion of global, per-atom, and local data, and of scalar, vector, -and array data types. See the doc pages for individual -"computes"_compute.html and "fixes"_fix.html for a description of what -they calculate and store. - -For extract_variable(), an "equal-style or atom-style -variable"_variable.html is evaluated and its result returned. - -For equal-style variables a single double value is returned and the -group argument is ignored. For atom-style variables, a vector of -doubles is returned, one value per atom, which you can use via normal -Python subscripting. The values will be zero for atoms not in the -specified group. - -The get_thermo() method returns returns the current value of a thermo -keyword as a float. - -The get_natoms() method returns the total number of atoms in the -simulation, as an int. - -The set_variable() methosd sets an existing string-style variable to a -new string value, so that subsequent LAMMPS commands can access the -variable. - -The reset_box() emthods resets the size and shape of the simulation -box, e.g. as part of restoring a previously extracted and saved state -of a simulation. - -The gather methods collect peratom info of the requested type (atom -coords, atom types, forces, etc) from all processors, and returns the -same vector of values to each callling processor. The scatter -functions do the inverse. They distribute a vector of peratom values, -passed by all calling processors, to invididual atoms, which may be -owned by different processos. - -Note that the data returned by the gather methods, -e.g. gather_atoms("x"), is different from the data structure returned -by extract_atom("x") in four ways. (1) Gather_atoms() returns a -vector which you index as x\[i\]; extract_atom() returns an array -which you index as x\[i\]\[j\]. (2) Gather_atoms() orders the atoms -by atom ID while extract_atom() does not. (3) Gather_atoms() returns -a list of all atoms in the simulation; extract_atoms() returns just -the atoms local to each processor. (4) Finally, the gather_atoms() -data structure is a copy of the atom coords stored internally in -LAMMPS, whereas extract_atom() returns an array that effectively -points directly to the internal data. This means you can change -values inside LAMMPS from Python by assigning a new values to the -extract_atom() array. To do this with the gather_atoms() vector, you -need to change values in the vector, then invoke the scatter_atoms() -method. - -For the scatter methods, the array of coordinates passed to must be a -ctypes vector of ints or doubles, allocated and initialized something -like this: - -from ctypes import * -natoms = lmp.get_natoms() -n3 = 3*natoms -x = (n3*c_double)() -x\[0\] = x coord of atom with ID 1 -x\[1\] = y coord of atom with ID 1 -x\[2\] = z coord of atom with ID 1 -x\[3\] = x coord of atom with ID 2 -... -x\[n3-1\] = z coord of atom with ID natoms -lmp.scatter_atoms("x",1,3,x) :pre - -Alternatively, you can just change values in the vector returned by -the gather methods, since they are also ctypes vectors. - -:line - -As noted above, these Python class methods correspond one-to-one with -the functions in the LAMMPS library interface in src/library.cpp and -library.h. This means you can extend the Python wrapper via the -following steps: - -Add a new interface function to src/library.cpp and -src/library.h. :ulb,l - -Rebuild LAMMPS as a shared library. :l - -Add a wrapper method to python/lammps.py for this interface -function. :l - -You should now be able to invoke the new interface function from a -Python script. Isn't ctypes amazing? :l -:ule - -:line -:line - -11.8 Example Python scripts that use LAMMPS :link(py_8),h4 - -These are the Python scripts included as demos in the python/examples -directory of the LAMMPS distribution, to illustrate the kinds of -things that are possible when Python wraps LAMMPS. If you create your -own scripts, send them to us and we can include them in the LAMMPS -distribution. - -trivial.py, read/run a LAMMPS input script thru Python, -demo.py, invoke various LAMMPS library interface routines, -simple.py, run in parallel, similar to examples/COUPLE/simple/simple.cpp, -split.py, same as simple.py but running in parallel on a subset of procs, -gui.py, GUI go/stop/temperature-slider to control LAMMPS, -plot.py, real-time temperature plot with GnuPlot via Pizza.py, -viz_tool.py, real-time viz via some viz package, -vizplotgui_tool.py, combination of viz_tool.py and plot.py and gui.py :tb(c=2) - -:line - -For the viz_tool.py and vizplotgui_tool.py commands, replace "tool" -with "gl" or "atomeye" or "pymol" or "vmd", depending on what -visualization package you have installed. - -Note that for GL, you need to be able to run the Pizza.py GL tool, -which is included in the pizza sub-directory. See the "Pizza.py doc -pages"_pizza for more info: - -:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) - -Note that for AtomEye, you need version 3, and there is a line in the -scripts that specifies the path and name of the executable. See the -AtomEye WWW pages "here"_atomeye or "here"_atomeye3 for more details: - -http://mt.seas.upenn.edu/Archive/Graphics/A -http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html :pre - -:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A) -:link(atomeye3,http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html) - -The latter link is to AtomEye 3 which has the scriping -capability needed by these Python scripts. - -Note that for PyMol, you need to have built and installed the -open-source version of PyMol in your Python, so that you can import it -from a Python script. See the PyMol WWW pages "here"_pymolhome or -"here"_pymolopen for more details: - -http://www.pymol.org -http://sourceforge.net/scm/?type=svn&group_id=4546 :pre - -:link(pymolhome,http://www.pymol.org) -:link(pymolopen,http://sourceforge.net/scm/?type=svn&group_id=4546) - -The latter link is to the open-source version. - -Note that for VMD, you need a fairly current version (1.8.7 works for -me) and there are some lines in the pizza/vmd.py script for 4 PIZZA -variables that have to match the VMD installation on your system. - -:line - -See the python/README file for instructions on how to run them and the -source code for individual scripts for comments about what they do. - -Here are screenshots of the vizplotgui_tool.py script in action for -different visualization package options. Click to see larger images: - -:image(JPG/screenshot_gl_small.jpg,JPG/screenshot_gl.jpg) -:image(JPG/screenshot_atomeye_small.jpg,JPG/screenshot_atomeye.jpg) -:image(JPG/screenshot_pymol_small.jpg,JPG/screenshot_pymol.jpg) -:image(JPG/screenshot_vmd_small.jpg,JPG/screenshot_vmd.jpg) - -11.9 PyLammps interface :link(py_9),h4 - -Please see the "PyLammps Tutorial"_tutorial_pylammps.html. diff --git a/doc/src/Section_start.txt b/doc/src/Section_start.txt index 7d456171dc..d8f340b179 100644 --- a/doc/src/Section_start.txt +++ b/doc/src/Section_start.txt @@ -1,4 +1,6 @@ -"Previous Section"_Section_intro.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_commands.html :c +"Previous Section"_Section_intro.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Section_commands.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -930,8 +932,8 @@ Makefile.opt :ul LAMMPS can be built as either a static or shared library, which can then be called from another application or a scripting language. See "this section"_Section_howto.html#howto_10 for more info on coupling -LAMMPS to other codes. See "this section"_Section_python.html for -more info on wrapping and running LAMMPS from Python. +LAMMPS to other codes. See the "Python"_Python.html doc page for more +info on wrapping and running LAMMPS from Python. Static library :h4 @@ -955,15 +957,15 @@ dynamically loaded, e.g. from Python, type make foo mode=shlib :pre where foo is the machine name. This kind of library is required when -wrapping LAMMPS with Python; see "Section 11"_Section_python.html -for details. This will use the SHFLAGS and SHLIBFLAGS settings in +wrapping LAMMPS with Python; see the "Python"_Python.html doc page for +details. This will use the SHFLAGS and SHLIBFLAGS settings in src/MAKE/Makefile.foo and perform the build in the directory Obj_shared_foo. This is so that each file can be compiled with the -fPIC flag which is required for inclusion in a shared library. The build will create the file liblammps_foo.so which another application -can link to dynamically. It will also create a soft link liblammps.so, -which will point to the most recently built shared library. This is -the file the Python wrapper loads by default. +can link to dynamically. It will also create a soft link +liblammps.so, which will point to the most recently built shared +library. This is the file the Python wrapper loads by default. Note that for a shared library to be usable by a calling program, all the auxiliary libraries it depends on must also exist as shared @@ -1035,10 +1037,10 @@ src/library.cpp and src/library.h. See the sample codes in examples/COUPLE/simple for examples of C++ and C and Fortran codes that invoke LAMMPS thru its library interface. There are other examples as well in the COUPLE directory which are -discussed in "Section 6.10"_Section_howto.html#howto_10 of the -manual. See "Section 11"_Section_python.html of the manual for a -description of the Python wrapper provided with LAMMPS that operates -through the LAMMPS library interface. +discussed in "Section 6.10"_Section_howto.html#howto_10 of the manual. +See the "Python"_Python.html doc page for a description of the Python +wrapper provided with LAMMPS that operates through the LAMMPS library +interface. The files src/library.cpp and library.h define the C-style API for using LAMMPS as a library. See "Section @@ -1177,7 +1179,7 @@ than your working directory, which is probably not what you want. If LAMMPS encounters errors in the input script or while running a simulation it will print an ERROR message and stop or a WARNING -message and continue. See "Section 12"_Section_errors.html for a +message and continue. See the "Errors"_Errors.html doc page for a discussion of the various kinds of errors LAMMPS can or can't detect, a list of all ERROR and WARNING messages, and what to do about them. diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt index 60b92f0f2e..4c5fbbd453 100644 --- a/doc/src/Tools.txt +++ b/doc/src/Tools.txt @@ -2,12 +2,6 @@ Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Modify.html :c - - :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) diff --git a/doc/src/fix_external.txt b/doc/src/fix_external.txt index b28d33446f..30e34b4858 100644 --- a/doc/src/fix_external.txt +++ b/doc/src/fix_external.txt @@ -34,8 +34,7 @@ This fix allows external programs that are running LAMMPS through its "library interface"_Section_howto.html#howto_19 to modify certain LAMMPS properties on specific timesteps, similar to the way other fixes do. The external driver can be a "C/C++ or Fortran -program"_Section_howto.html#howto_19 or a "Python -script"_Section_python.html. +program"_Section_howto.html#howto_19 or a "Python script"_Python.html. :line diff --git a/doc/src/lammps.book b/doc/src/lammps.book index ff8fe68ff1..4924ec8027 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -31,9 +31,22 @@ Modify_region.html Modify_body.html Modify_thermo.html Modify_variable.html - -Section_python.html -Section_errors.html +Python.html +Python_overview.txt +Python_run.txt +Python_shlib.txt +Python_install.txt +Python_mpi.txt +Python_test.txt +Python_library.txt +Python_pylammps.txt +Python_examples.txt +Python_call.txt +Errors.html +Errors_common.txt +Errors_bugs.txt +Errors_messages.txt +Errors_warnings.txt Section_history.html lammps_tutorials.html diff --git a/doc/src/python.txt b/doc/src/python.txt index 1ac2b48528..d670fcc77f 100644 --- a/doc/src/python.txt +++ b/doc/src/python.txt @@ -99,10 +99,9 @@ They can be substituted for directly in an input script. Or they can be passed to various commands as arguments, so that the variable is evaluated during a simulation run. -A broader overview of how Python can be used with LAMMPS is -given in "Section 11"_Section_python.html. There is an -examples/python directory which illustrates use of the python -command. +A broader overview of how Python can be used with LAMMPS is given on +the "Python"_Python.html doc page. There is an examples/python +directory which illustrates use of the python command. :line @@ -331,9 +330,9 @@ to the screen and log file. Note that since the LAMMPS print command itself takes a string in quotes as its argument, the Python string must be delimited with a different style of quotes. -"Section 11.7"_Section_python.html#py_7 describes the syntax for how -Python wraps the various functions included in the LAMMPS library -interface. +The "Pytnon library"_Python_library.html doc page describes the syntax +for how Python wraps the various functions included in the LAMMPS +library interface. A more interesting example is in the examples/python/in.python script which loads and runs the following function from examples/python/funcs.py: @@ -484,15 +483,16 @@ building LAMMPS. LAMMPS must also be built as a shared library and your Python function must be able to to load the Python module in python/lammps.py that wraps the LAMMPS library interface. These are the same steps required to use Python by itself to wrap LAMMPS. -Details on these steps are explained in "Section -python"_Section_python.html. Note that it is important that the -stand-alone LAMMPS executable and the LAMMPS shared library be -consistent (built from the same source code files) in order for this -to work. If the two have been built at different times using -different source files, problems may occur. +Details on these steps are explained on the "Python"_Python.html doc +page. Note that it is important that the stand-alone LAMMPS +executable and the LAMMPS shared library be consistent (built from the +same source code files) in order for this to work. If the two have +been built at different times using different source files, problems +may occur. [Related commands:] -"shell"_shell.html, "variable"_variable.html, "fix python/invoke"_fix_python_invoke.html +"shell"_shell.html, "variable"_variable.html, "fix +python/invoke"_fix_python_invoke.html [Default:] none diff --git a/doc/src/read_dump.txt b/doc/src/read_dump.txt index 23f6274582..21c6df5017 100644 --- a/doc/src/read_dump.txt +++ b/doc/src/read_dump.txt @@ -282,11 +282,11 @@ conditions are applied to remap an atom back into the simulation box. NOTE: If you get a warning about inconsistent image flags after reading in a dump snapshot, it means one or more pairs of bonded atoms -now have inconsistent image flags. As discussed in "Section -errors"_Section_errors.html this may or may not cause problems for -subsequent simulations, One way this can happen is if you read image -flag fields from the dump file but do not also use the dump file box -parameters. +now have inconsistent image flags. As discussed on the "Errors +common"_Errors_common.html doc page this may or may not cause problems +for subsequent simulations. One way this can happen is if you read +image flag fields from the dump file but do not also use the dump file +box parameters. LAMMPS knows how to compute unscaled and remapped coordinates for the snapshot column labels discussed above, e.g. {x}, {xs}, {xu}, {xsu}. diff --git a/doc/src/read_restart.txt b/doc/src/read_restart.txt index a5a2bfcc97..6f6a828229 100644 --- a/doc/src/read_restart.txt +++ b/doc/src/read_restart.txt @@ -76,8 +76,7 @@ different than if the run had continued. These pair styles include If a restarted run is immediately different than the run which produced the restart file, it could be a LAMMPS bug, so consider -"reporting it"_Section_errors.html#err_2 if you think the behavior is -wrong. +"reporting it"_Errors_bugs.html if you think the behavior is a bug. Because restart files are binary, they may not be portable to other machines. In this case, you can use the "-restart command-line diff --git a/src/pair.cpp b/src/pair.cpp index 9bb1ad212f..5c308cc7ce 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -693,17 +693,19 @@ void Pair::compute_dummy(int eflag, int vflag) } /* ---------------------------------------------------------------------- */ + void Pair::read_restart(FILE *) { if (comm->me == 0) - error->warning(FLERR,"BUG: restartinfo=1 but no restart support in pair style"); + error->warning(FLERR,"Pair style restartinfo set but has no restart support"); } /* ---------------------------------------------------------------------- */ + void Pair::write_restart(FILE *) { if (comm->me == 0) - error->warning(FLERR,"BUG: restartinfo=1 but no restart support in pair style"); + error->warning(FLERR,"Pair style restartinfo set but has no restart support"); } /* ------------------------------------------------------------------- -- GitLab From e6e026433c09be429fe2066d7016c0569564519a Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 25 Jul 2018 16:49:51 -0400 Subject: [PATCH 346/675] Fix clean-all in docs Makefile --- doc/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/Makefile b/doc/Makefile index c8cc8bc1bd..c4bc80e7bd 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -49,11 +49,11 @@ help: # ------------------------------------------ -clean-all: +clean-all: clean rm -rf $(BUILDDIR)/* utils/txt2html/txt2html.exe clean: - rm -rf $(RSTDIR) html + rm -rf $(RSTDIR) html old epub rm -rf spelling clean-spelling: -- GitLab From 353ecd2c7ac09f81528fa36a782ef271176c69b0 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 25 Jul 2018 16:56:28 -0400 Subject: [PATCH 347/675] Correct header levels --- doc/src/Errors.txt | 2 +- doc/src/Python.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Errors.txt b/doc/src/Errors.txt index 8e10cb6ae4..7bc520c19d 100644 --- a/doc/src/Errors.txt +++ b/doc/src/Errors.txt @@ -8,7 +8,7 @@ Section"_Section_history.html :c :line -Errors :h3 +Errors :h2 These doc pages describe the errors you can encounter when using LAMMPS. The common problems include conceptual issues. The messages diff --git a/doc/src/Python.txt b/doc/src/Python.txt index 94a2e88f5e..169670d669 100644 --- a/doc/src/Python.txt +++ b/doc/src/Python.txt @@ -8,7 +8,7 @@ Section"_Errors.html :c :line -Use Python with LAMMPS :h3 +Use Python with LAMMPS :h2 These doc pages describe various ways that LAMMPS and Python can be used together. -- GitLab From 532d09bd567dbabdfe86ef459ad16e14d98922ed Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 25 Jul 2018 16:56:49 -0400 Subject: [PATCH 348/675] Correct lammps.book --- doc/src/lammps.book | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 4924ec8027..4274ef48b3 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -32,21 +32,21 @@ Modify_body.html Modify_thermo.html Modify_variable.html Python.html -Python_overview.txt -Python_run.txt -Python_shlib.txt -Python_install.txt -Python_mpi.txt -Python_test.txt -Python_library.txt -Python_pylammps.txt -Python_examples.txt -Python_call.txt +Python_overview.html +Python_run.html +Python_shlib.html +Python_install.html +Python_mpi.html +Python_test.html +Python_library.html +Python_pylammps.html +Python_examples.html +Python_call.html Errors.html -Errors_common.txt -Errors_bugs.txt -Errors_messages.txt -Errors_warnings.txt +Errors_common.html +Errors_bugs.html +Errors_messages.html +Errors_warnings.html Section_history.html lammps_tutorials.html -- GitLab From a2303e5a15b27a40bf82b03bb1d5bf9f0c3c2b69 Mon Sep 17 00:00:00 2001 From: sergeylishchuk Date: Thu, 26 Jul 2018 11:54:04 +0100 Subject: [PATCH 349/675] more changes to ATM source and doc file --- doc/src/pair_atm.txt | 14 +++++++------- src/MANYBODY/pair_atm.cpp | 40 +++++++++++++++++++++++++++++++-------- src/MANYBODY/pair_atm.h | 5 +++++ 3 files changed, 44 insertions(+), 15 deletions(-) diff --git a/doc/src/pair_atm.txt b/doc/src/pair_atm.txt index e442c32814..6453b02bf8 100644 --- a/doc/src/pair_atm.txt +++ b/doc/src/pair_atm.txt @@ -41,17 +41,17 @@ gamma3 are as shown in this diagram: Note that for the interaction between a triplet of atoms I,J,K, there is no "central" atom. The interaction is symmetric with respect to -permutation of the three atoms. In fact, it is computed 3 times by -the code with each of I,J,K being atom 1. Thus the nu value must be -the same for all those permutations of the atom types of I,J,K as -discussed below. +permutation of the three atoms. Thus the nu value is +the same for all those permutations of the atom types of I,J,K +and needs to be specified only once, as discussed below. The {atm} potential is typically used in combination with a two-body potential using the "pair_style hybrid/overlay"_pair_hybrid.html command as in the example above. -The potential for a triplet of atom is calculated only if all 3 -distances r12, r23, r31 between the 3 atoms satisfy rIJ < cutoff. +The potential is calculated if atoms J and K are in the +"neighbor list"_neighbor.html of atom I +and the distances between atoms satisfy rIJ rJK rKI > cutoff^3. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples @@ -88,7 +88,7 @@ pair_coeff 2 3 4 0.1 :pre Note that for a simulation with a single atom type, only a single entry is required, e.g. -pair_coeff 1 1 1 0.25 :per +pair_coeff 1 1 1 0.25 :pre For a simulation with two atom types, four pair_coeff commands will specify all possible nu values: diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp index 2ba8912899..090a8352d5 100644 --- a/src/MANYBODY/pair_atm.cpp +++ b/src/MANYBODY/pair_atm.cpp @@ -91,8 +91,8 @@ void PairATM::compute(int eflag, int vflag) double **f = atom->f; int *type = atom->type; - double cutoffsq = cut_global*cut_global; - + double cutoff_sixth = cut_global*cut_global; + cutoff_sixth = cutoff_sixth*cutoff_sixth*cutoff_sixth; inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; @@ -112,26 +112,32 @@ void PairATM::compute(int eflag, int vflag) j = jlist[jj]; j &= NEIGHMASK; rij[0] = x[j][0] - xi; + if (rij[0] < 0.0) continue; rij[1] = x[j][1] - yi; + if (rij[0] == 0.0 and rij[1] < 0.0) continue; rij[2] = x[j][2] - zi; + if (rij[0] == 0.0 and rij[1] == 0.0 and rij[2] < 0.0) continue; rij2 = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; for (kk = jj+1; kk < jnum; kk++) { k = jlist[kk]; k &= NEIGHMASK; - rik[0] = x[k][0] - xi; - rik[1] = x[k][1] - yi; - rik[2] = x[k][2] - zi; - rik2 = rik[0]*rik[0] + rik[1]*rik[1] + rik[2]*rik[2]; - rjk[0] = x[k][0] - x[j][0]; + if (rjk[0] < 0.0) continue; rjk[1] = x[k][1] - x[j][1]; + if (rjk[0] == 0.0 and rjk[1] < 0.0) continue; rjk[2] = x[k][2] - x[j][2]; + if (rjk[0] == 0.0 and rjk[1] == 0.0 and rjk[2] < 0.0) continue; rjk2 = rjk[0]*rjk[0] + rjk[1]*rjk[1] + rjk[2]*rjk[2]; + rik[0] = x[k][0] - xi; + rik[1] = x[k][1] - yi; + rik[2] = x[k][2] - zi; + rik2 = rik[0]*rik[0] + rik[1]*rik[1] + rik[2]*rik[2]; + r6 = rij2*rik2*rjk2; - if (r6 > cutoffsq) continue; + if (r6 > cutoff_sixth) continue; nu_local = nu[type[i]][type[j]][type[k]]; if (nu_local == 0.0) continue; @@ -228,6 +234,9 @@ void PairATM::coeff(int narg, char **arg) void PairATM::init_style() { + if (force->newton_pair == 0) + error->all(FLERR,"Pair style ATM requires newton pair on"); + // need a full neighbor list int irequest = neighbor->request(this,instance_me); @@ -258,6 +267,21 @@ double PairATM::init_one(int i, int j) proc 0 writes to restart file ------------------------------------------------------------------------- */ +// +// PLEASE HELP! +// +// From the pair_hybrid documentation: +// +// "For the hybrid pair styles, the list of sub-styles and their respective +// settings are written to binary restart files, so a pair_style command +// does not need to specified in an input script that reads a restart file. +// However, the coefficient information is not stored in the restart file. +// Thus, pair_coeff commands need to be re-specified in the restart input +// script." +// +// As a result, the function "PairATM::write_restart" is not called from +// "pair_hybrid.cpp". What is the best way to deal with this problem? +// void PairATM::write_restart(FILE *fp) { write_restart_settings(fp); diff --git a/src/MANYBODY/pair_atm.h b/src/MANYBODY/pair_atm.h index 45a6cda344..210351cfad 100644 --- a/src/MANYBODY/pair_atm.h +++ b/src/MANYBODY/pair_atm.h @@ -64,6 +64,11 @@ E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. +E: Pair style ATM requires newton pair on + +See the newton command. This is a restriction to use the ATM +potential. + E: All pair coeffs are not set All pair coefficients must be set in the data file or by the -- GitLab From c8b9a727e42460124cac2aeb5717c236367db16d Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 27 Jul 2018 00:35:08 -0400 Subject: [PATCH 350/675] Add potential files to CMake install target --- cmake/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 60a0f5d48f..44f871bfe3 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -900,6 +900,11 @@ if(BUILD_EXE) endif() endif() +############################################################################### +# Install potential files in data directory +############################################################################### +install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../potentials DESTINATION ${CMAKE_INSTALL_DATADIR}/lammps) + ############################################################################### # Testing # -- GitLab From 819e47b69e7bf46edd99db1ee0b67e1d4134c9b0 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 27 Jul 2018 02:29:10 -0400 Subject: [PATCH 351/675] Add output dir and verbose option to txt2rst --- doc/Makefile | 2 +- doc/utils/converters/lammpsdoc/txt2html.py | 12 +++++++++--- doc/utils/converters/lammpsdoc/txt2rst.py | 2 ++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/doc/Makefile b/doc/Makefile index c4bc80e7bd..81f3623499 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -157,7 +157,7 @@ $(RSTDIR)/%.rst : src/%.txt $(TXT2RST) @(\ mkdir -p $(RSTDIR) ; \ . $(VENV)/bin/activate ;\ - txt2rst $< > $@ ;\ + txt2rst -v $< > $@ ;\ deactivate ;\ ) diff --git a/doc/utils/converters/lammpsdoc/txt2html.py b/doc/utils/converters/lammpsdoc/txt2html.py index 79a75d72f6..ed9f47a4e4 100755 --- a/doc/utils/converters/lammpsdoc/txt2html.py +++ b/doc/utils/converters/lammpsdoc/txt2html.py @@ -662,14 +662,15 @@ class TxtConverter: parser = self.get_argument_parser() parsed_args = parser.parse_args(args) - write_to_files = len(parsed_args.files) > 1 + write_to_files = parsed_args.output_dir or (len(parsed_args.files) > 1) for filename in parsed_args.files: if parsed_args.skip_files and filename in parsed_args.skip_files: continue with open(filename, 'r') as f: - print("Converting", filename, "...", file=err) + if parsed_args.verbose: + print("Converting", filename, "...", file=err) content = f.read() converter = self.create_converter(parsed_args) @@ -683,7 +684,10 @@ class TxtConverter: result = msg if write_to_files: - output_filename = self.get_output_filename(filename) + if parsed_args.output_dir: + output_filename = os.path.join(parsed_args.output_dir, os.path.basename(self.get_output_filename(filename))) + else: + output_filename = self.get_output_filename(filename) with open(output_filename, "w+t") as outfile: outfile.write(result) else: @@ -698,6 +702,8 @@ class Txt2HtmlConverter(TxtConverter): 'HTML file. useful when set of HTML files' ' will be converted to PDF') parser.add_argument('-x', metavar='file-to-skip', dest='skip_files', action='append') + parser.add_argument('--verbose', '-v', dest='verbose', action='store_true') + parser.add_argument('--output-directory', '-o', dest='output_dir') parser.add_argument('--generate-title', dest='create_title', action='store_true', help='add HTML head page' 'title based on first ' 'h1,h2,h3,h4... element') diff --git a/doc/utils/converters/lammpsdoc/txt2rst.py b/doc/utils/converters/lammpsdoc/txt2rst.py index 17d0916157..8119ad3a78 100755 --- a/doc/utils/converters/lammpsdoc/txt2rst.py +++ b/doc/utils/converters/lammpsdoc/txt2rst.py @@ -395,6 +395,8 @@ class Txt2RstConverter(TxtConverter): parser = argparse.ArgumentParser(description='converts a text file with simple formatting & markup into ' 'Restructured Text for Sphinx.') parser.add_argument('-x', metavar='file-to-skip', dest='skip_files', action='append') + parser.add_argument('--verbose', '-v', dest='verbose', action='store_true') + parser.add_argument('--output-directory', '-o', dest='output_dir') parser.add_argument('files', metavar='file', nargs='+', help='one or more files to convert') return parser -- GitLab From 9ffd262039924bb6c154de80d26dd6c47f4cb693 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 27 Jul 2018 02:46:36 -0400 Subject: [PATCH 352/675] Add CMake target for html documentation --- cmake/CMakeLists.txt | 58 ++++++++++++++++++++++++++++++++++++++ doc/utils/requirements.txt | 1 + 2 files changed, 59 insertions(+) create mode 100644 doc/utils/requirements.txt diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 44f871bfe3..33462df5ef 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -9,6 +9,7 @@ set(SOVERSION 0) get_filename_component(LAMMPS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../src ABSOLUTE) get_filename_component(LAMMPS_LIB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../lib ABSOLUTE) get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE) +get_filename_component(LAMMPS_DOC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../doc ABSOLUTE) # To avoid conflicts with the conventional Makefile build system, we build everything here @@ -900,6 +901,63 @@ if(BUILD_EXE) endif() endif() +############################################################################### +# Build documentation +############################################################################### +option(BUILD_DOC "Build LAMMPS documentation" OFF) +if(BUILD_DOC) + include(ProcessorCount) + ProcessorCount(NPROCS) + find_package(PythonInterp 3 REQUIRED) + + set(VIRTUALENV ${PYTHON_EXECUTABLE} -m virtualenv) + + file(GLOB DOC_SOURCES ${LAMMPS_DOC_DIR}/src/*.txt) + file(GLOB PDF_EXTRA_SOURCES ${LAMMPS_DOC_DIR}/src/lammps_commands*.txt ${LAMMPS_DOC_DIR}/src/lammps_support.txt ${LAMMPS_DOC_DIR}/src/lammps_tutorials.txt) + list(REMOVE_ITEM DOC_SOURCES ${PDF_EXTRA_SOURCES}) + + add_custom_command( + OUTPUT docenv + COMMAND ${VIRTUALENV} docenv + ) + add_custom_command( + OUTPUT requirements.txt + DEPENDS docenv + COMMAND ${CMAKE_COMMAND} -E copy ${LAMMPS_DOC_DIR}/utils/requirements.txt requirements.txt + COMMAND ./docenv/bin/pip install -r requirements.txt --upgrade + COMMAND ./docenv/bin/pip install --upgrade ${LAMMPS_DOC_DIR}/utils/converters + ) + + set(RST_FILES "") + set(RST_DIR ${CMAKE_BINARY_DIR}/rst) + file(MAKE_DIRECTORY ${RST_DIR}) + foreach(TXT_FILE ${DOC_SOURCES}) + get_filename_component(FILENAME ${TXT_FILE} NAME_WE) + set(RST_FILE ${RST_DIR}/${FILENAME}.rst) + list(APPEND RST_FILES ${RST_FILE}) + add_custom_command( + OUTPUT ${RST_FILE} + DEPENDS requirements.txt docenv ${TXT_FILE} + COMMAND ./docenv/bin/txt2rst -o ${RST_DIR} ${TXT_FILE} + ) + endforeach() + + add_custom_command( + OUTPUT html + DEPENDS ${RST_FILES} + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LAMMPS_DOC_DIR}/src ${RST_DIR} + COMMAND ./docenv/bin/sphinx-build -j ${NPROCS} -b html -c ${LAMMPS_DOC_DIR}/utils/sphinx-config -d ${CMAKE_BINARY_DIR}/doctrees ${RST_DIR} html + ) + + add_custom_target( + doc + DEPENDS html + SOURCES ${LAMMPS_DOC_DIR}/utils/requirements.txt ${DOC_SOURCES} + ) + + install(DIRECTORY ${CMAKE_BINARY_DIR}/html DESTINATION ${CMAKE_INSTALL_DOCDIR}) +endif() + ############################################################################### # Install potential files in data directory ############################################################################### diff --git a/doc/utils/requirements.txt b/doc/utils/requirements.txt new file mode 100644 index 0000000000..2806c16498 --- /dev/null +++ b/doc/utils/requirements.txt @@ -0,0 +1 @@ +Sphinx -- GitLab From 06335e77cb76aa58627e51f7776f3797a1f21dc3 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 27 Jul 2018 02:56:19 -0400 Subject: [PATCH 353/675] Ensure doc is built by default when enabled --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 33462df5ef..88efd90221 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -950,7 +950,7 @@ if(BUILD_DOC) ) add_custom_target( - doc + doc ALL DEPENDS html SOURCES ${LAMMPS_DOC_DIR}/utils/requirements.txt ${DOC_SOURCES} ) -- GitLab From f63e2b6eaf8d7370eaff5ea7e3bacfa10bd05a4c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 27 Jul 2018 10:24:15 +0200 Subject: [PATCH 354/675] simplify code and guarantee that "mode" is initialized --- src/BODY/fix_wall_body_polygon.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/BODY/fix_wall_body_polygon.cpp b/src/BODY/fix_wall_body_polygon.cpp index 5ec5a7cca8..0e7aaea1e1 100644 --- a/src/BODY/fix_wall_body_polygon.cpp +++ b/src/BODY/fix_wall_body_polygon.cpp @@ -641,18 +641,15 @@ int FixWallBodyPolygon::compute_distance_to_wall(double* x0, double rradi, mode = VERTEX; contact = 1; } else { + mode = NONE; if (side == XLO) { if (x0[0] < wall_pos) mode = VERTEX; - else mode = NONE; } else if (side == XHI) { if (x0[0] > wall_pos) mode = VERTEX; - else mode = NONE; } else if (side == YLO) { if (x0[1] < wall_pos) mode = VERTEX; - else mode = NONE; } else if (side == YHI) { if (x0[1] > wall_pos) mode = VERTEX; - else mode = NONE; } } -- GitLab From 8075b98fc53f1c56ac449c6fa428f34452b158d8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 27 Jul 2018 10:24:38 +0200 Subject: [PATCH 355/675] initialize rsqinv --- src/BODY/pair_body_rounded_polyhedron.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 2ff209d609..fa1d84a663 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -685,7 +685,7 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, { int ni,nei,ifirst,iefirst,npi1,npi2,ibonus; double xi1[3],xi2[3],vti[3],h[3],fn[3],ft[3],d,t; - double delx,dely,delz,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; + double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; double rradi,rradj,contact_dist; double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; double *quat, *inertia; @@ -749,7 +749,9 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, delx = h[0] - x[jbody][0]; dely = h[1] - x[jbody][1]; delz = h[2] - x[jbody][2]; - rij = sqrt(delx*delx + dely*dely + delz*delz); + rsq = delx*delx + dely*dely + delz*delz; + rsqinv = (rsq == 0.0) ? 0.0 : 1.0/rsq; + rij = sqrt(rsq); R = rij - contact_dist; energy = 0; -- GitLab From 2af88dcc26a32215568d168869a0d35f6aa4b9f0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 27 Jul 2018 10:39:01 +0200 Subject: [PATCH 356/675] avoid uninitialized variables --- src/BODY/pair_body_rounded_polyhedron.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index fa1d84a663..051be762e5 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -2079,6 +2079,7 @@ void PairBodyRoundedPolyhedron::distance_bt_edges(const double* x1, double s1,s2,x13[3],x23[3],x13h[3]; double t13,t23,t31,t41,x31[3],x41[3]; + t13=t23=t31=t41=0.0; MathExtra::sub3(x1,x3,x13); // x13 = x1 - x3 MathExtra::sub3(x2,x3,x23); // x23 = x2 - x3 -- GitLab From 649d0167c800fa0c88e9f3d344577471e1a29a40 Mon Sep 17 00:00:00 2001 From: sergeylishchuk Date: Fri, 27 Jul 2018 10:41:01 +0100 Subject: [PATCH 357/675] sorted out restart --- doc/src/pair_atm.txt | 4 ++++ src/MANYBODY/pair_atm.cpp | 15 --------------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/doc/src/pair_atm.txt b/doc/src/pair_atm.txt index 6453b02bf8..b798f7d128 100644 --- a/doc/src/pair_atm.txt +++ b/doc/src/pair_atm.txt @@ -130,6 +130,10 @@ mix, shift, table, and tail options. This pair style writes its information to "binary restart files"_restart.html, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. +However, if the {atm} potential is used in combination with other +potentials using the "pair_style hybrid/overlay"_pair_hybrid.html +command then pair_coeff commands need to be re-specified +in the restart input script. This pair style can only be used via the {pair} keyword of the "run_style respa"_run_style.html command. It does not support the diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp index 090a8352d5..92d9338dc8 100644 --- a/src/MANYBODY/pair_atm.cpp +++ b/src/MANYBODY/pair_atm.cpp @@ -267,21 +267,6 @@ double PairATM::init_one(int i, int j) proc 0 writes to restart file ------------------------------------------------------------------------- */ -// -// PLEASE HELP! -// -// From the pair_hybrid documentation: -// -// "For the hybrid pair styles, the list of sub-styles and their respective -// settings are written to binary restart files, so a pair_style command -// does not need to specified in an input script that reads a restart file. -// However, the coefficient information is not stored in the restart file. -// Thus, pair_coeff commands need to be re-specified in the restart input -// script." -// -// As a result, the function "PairATM::write_restart" is not called from -// "pair_hybrid.cpp". What is the best way to deal with this problem? -// void PairATM::write_restart(FILE *fp) { write_restart_settings(fp); -- GitLab From 28993d98237b2b10b5f894de1557b4a24b2744c8 Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 26 Jul 2018 08:36:30 -0600 Subject: [PATCH 358/675] Commit JT 072618 - improvements documentation (dmi and exchange) - correction error cross product in pair_spin_dmi.cpp - implementation mech. part in pair_spin_dmi.cpp - correction in all pairs: init_one for [j][i] couples - correction in atom_vec_spin.cpp: index error in read_data - some improvements in pair_spin_dmi.cpp and pair_spin_magelec.cpp --- doc/src/Eqs/pair_spin_dmi_forces.jpg | Bin 0 -> 13431 bytes doc/src/Eqs/pair_spin_dmi_forces.tex | 14 +++ doc/src/Eqs/pair_spin_dmi_interaction.jpg | Bin 6316 -> 7891 bytes doc/src/Eqs/pair_spin_dmi_interaction.tex | 2 +- doc/src/Eqs/pair_spin_exchange_forces.jpg | Bin 13720 -> 13255 bytes doc/src/Eqs/pair_spin_exchange_forces.tex | 10 +- .../Eqs/pair_spin_exchange_interaction.jpg | Bin 6661 -> 5940 bytes .../Eqs/pair_spin_exchange_interaction.tex | 2 +- doc/src/pair_spin_dmi.txt | 41 +++++-- doc/src/pair_spin_exchange.txt | 28 ++++- examples/SPIN/bfo/in.spin.bfo | 11 +- examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp | 10 +- src/SPIN/atom_vec_spin.cpp | 6 +- src/SPIN/compute_spin.cpp | 20 +-- src/SPIN/pair_spin_dmi.cpp | 116 ++++++++++++------ src/SPIN/pair_spin_dmi.h | 15 +-- src/SPIN/pair_spin_exchange.cpp | 52 ++++---- src/SPIN/pair_spin_magelec.cpp | 88 +++++++------ src/SPIN/pair_spin_neel.cpp | 12 +- src/SPIN/pair_spin_neel.h | 4 +- 20 files changed, 273 insertions(+), 158 deletions(-) create mode 100644 doc/src/Eqs/pair_spin_dmi_forces.jpg create mode 100644 doc/src/Eqs/pair_spin_dmi_forces.tex diff --git a/doc/src/Eqs/pair_spin_dmi_forces.jpg b/doc/src/Eqs/pair_spin_dmi_forces.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fba6a91cbf6fdb6ee6736073a114d08c907d6d3c GIT binary patch literal 13431 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 literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/pair_spin_dmi_forces.tex b/doc/src/Eqs/pair_spin_dmi_forces.tex new file mode 100644 index 0000000000..1c0c246db4 --- /dev/null +++ b/doc/src/Eqs/pair_spin_dmi_forces.tex @@ -0,0 +1,14 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath,amssymb,amsthm,bm} +\begin{document} +\begin{varwidth}{50in} + \begin{equation} + \vec{\omega}_i = -\frac{1}{\hbar} \sum_{j}^{Neighb} \vec{s}_{j}\times \left(\vec{e}_{ij}\times \vec{D} \right) + ~~{\rm and}~~ + \vec{F}_i = -\sum_{j}^{Neighb} \frac{1}{r_{ij}} \vec{D} \times \left( \vec{s}_{i}\times \vec{s}_{j} \right) + , \nonumber + \end{equation} +\end{varwidth} +\end{document} diff --git a/doc/src/Eqs/pair_spin_dmi_interaction.jpg b/doc/src/Eqs/pair_spin_dmi_interaction.jpg index 1d15b2199add75eefecb424f75ea2dbd363a1afe..3eb24c67e3b26f97c362fd05982ead5fb0f5c150 100644 GIT binary patch delta 7723 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 Os}DFB80y;p-vj_4o0xk5 delta 6098 zcmca?yT(xH|Be3-7zDiBJlz-=85tSBFn*aRG)dc+v6q=qkby~%ky()O{}Bcm21W*E zkUS#;46v}Wu`@9gwi zf`NhKSGJAf=%A6HndazxK z_he4eNwy77j{9n!Ji76OucypmDJH|~r<@ zljEB>SF@S?nBdnF#B|`yL~miY0I39!^B7iJ99*V#HgG?~$$IhBi2@zb3=9TpU;eTr zc`z`fcQ<)H`2teLlKiSpK4{JkW#)@dCWTIGU|?YNM1&Ee$RT0xqzx@OKAsVI9cddt zIuMv8XvW3ngP-i4R96Q-UiGbUW&ZtNpNa;A$cIkw+ch(Q|LgG$k`Wj0 z2%WQ^uKujNMes!0g(G>J=VUcGb7b;2rG&>`otx47ul#Jv)V!S=?rzi%-yL=H`iX*& zP5hB&@0b79=VGZZe(lmH^{47x@cZtbB#W)jv^H}0*s|ZM+`6IGA)Dc*xmEELCShjQ zm(5G7jir8ChuVJ)lRG^(X?CDx_l5IT-fv%iEp2JJ%Czv@zV4SCpZ18o*{fl<-FKeu zJM(8YH5}O<+kU;cclUDW>Ky+skCQbQ)Lq|yx-=m-+cD-~w?JxnPJK7WZ;r=q#aEwg z$$s5$>i_-T+nEz@3riI^{nfhnZOPH4*;ZM`CmF47DXlzO9_t{J=i0HxTRXDk&%7{W zrT3a{r{k+*gF^a3&-VK#Z#1e|Ik`1zlTm5O4lR~r@egwOe*O9MB)en#$Ez{N3}ve4 zZrc#EA~dSe@_X{T*Bg$TzV&geUps@jBafY9zU&r{^Pkr7Z8Dv9>H0G3)4D- zu6%7QzEm^GH=tg7%@^nR3ECQZldgxQn9F>*_gHaSrE&LSmF^cs`=(!*7xCuOx!{W~ zYzxD<8|Pa)r|e-l-_JgO*33iS%VYN%EfbEto)McZs_nmWfsIbRnSpi|Q{CIuN2k;m z_Vbi%sCu*go>9~aedX)3fA%EVo0@;$obo&LYI@nah-+Q_Px61SSDAHKuG_d&B>w(! zws?k|Gz_8QCFFJSqEZ(>Jnd7tLlC$0h zo1c&Sx9H>JT5;7*w=ZXu=XuTX`jag2K+#1iN|XI-jFZGV`R$Vf#YK4=zzL3-k&5iXx`>*kvoSkHPuW+%+SuL@Zi@$wx7rU%ve{K2ak1-CD zBD@6Bx9>gv{MVi)Xf*uDcNdZ|M*Zyu-E1Te*TwC?%9aDz?OvNt=`?97H7i~8r@JQEg{g`Bf`UE5>b@pb=A;f!5X zCxzsS)*8n;-Mjbha93FD=>d@7*+ad4X-muU@NPH2YU=eb{m{uPHAbHGi-D zDHD?MR#AH0gp0?+l@0D$#C&`6b+2R`L&)}bJRzZHzXrIaWS22^Ma|EcD$3J;_N!T! z#mQUTf?J-xzu&P?U?&gfxy1{ny*(0`wInz7@1nl0+uJ8Dov<}j=4scmygB(v$LsI> zljmD~Hq>m}qTHn+zfELB>+S6875hE5One-qDZDdTe&+GTv+QIyt#!AVbic^t?Z>?v zgM~}u)Pg@8>q!33kkkA?w<|ZL=;ZpD39&(G8*Tg(o~&7syWTYC$xq9`Pl279uhnYh z{a3~1oB6ez%P)x6+`27k?(+WF04Gk%Z5L#e~@K#rQYUIlG#kB{H->?5| zQ;~abmtSO+u=>U(^IePNZs+L!$dmCra)mee%$Mnwn!LJBDZP(*H?*B9j>)}eZ8$Tj zGRNsjNACTcOcR^TCI5uGtfsy8>3&$Qcg>|UU)_v#ou}{i%sBMw_bPX5*In?D?NRk?oEU$S@YjY1Y7f2lQDqW4r^dj7Sy z2|K!G(#2!Kind92b*_C6Ne!s>Jn~|*wTj7t)5X`yYv(h}-+R(DlO^$VRm%^QNh; zD9@U8bM2ZHlPhJLHS=K+EKD`vep1M41#_vnM`;X43F$`aP zYjGrN@Xkq@oav`-A7D?ox%p?Z%TZ~Mm0Lfp{JlbVO4&5MecmU}J)ayq`IYk4X}Yuh ztINMt-iu6_tRnPf-n`q!zYo`M-oO2EXbSAC{l|3xwnx)Me zQ+5031@2WWrPgmZKmNwKyl&){20u&Lx;4X0>!13cdy9(`ET3Ahb+!Hb)tvc! z`8>r{4fia=4c@(bGEFvR!fTOro0QYznY%hgwoDE&t5mIhyXo)~+p1b#xod0lbMtpI z&EEO>#{OqV+YX+V>DhP5`f2`xsOht^W(HUtt545;?JINk2;y^%cevbN~Uwd?cjWTpxoIkVdG+{M~EcOokO zin_X`OXEn*b1+f%1=?e5tVq%-6k8h5|Y znVDG`A^ikKK}AD`ddI*-0foXwgNX|r0ybX!aPZ-OXp_`l@h|Ve_#-*(Rv!CGu8N#< zO){Hozk@O0RQ%)ewdGsW42$kmnaCF~E7i~b_B}X7LYuAE;33C9Q~7`QugzgfDbfD4 z#j{Pm(3a1&{{YXrWks^-Lg^(pPujb<-naWKd-V8zzSUQ4JnFabc3YNbe|_=$eUjFs z=<8K+yH-3B&{VG4z+!u&O;>W={8byS?&tq)b@QH=SNE1JxjDuUSLM}RusUh?oGE>U zzO7u#+H(o%pMLo)5MaBN=KXBOoW5t%u4gRxp25H8nd+C5dzu+g;_okvXqXYnS`Yc_l)Jb2Yqna2vbJ&A#o) zci~;ev62U}=_PgPs>>E}@~$XzddR0{W4K8rC(6$Ix%0ElCc6^P>NVQ871$r+HHq5b z!J)qJ^9!S?cY`++e*ds2W1+OjR)f z?f)4Rx&OV)@ICGk@ouZ?!gWlWB>YY%xvkv%^}te-%>g+t`7|;NH_w{6=HZ96zmhib zd5MKbt!0eTY!30=6nasPbxy<&Guw+77uV+q+OV=$ajHZ6fUOB*;uZC>RE2Y=ZpbnK6??XFja9ReBe3z<{YrMaj5<@hM?<+Jf&L*e_4tL~~K z7}U1hyLO+uhx7CYn+5gh?=sU=_B=>C*u3S=FV)U}vztntzpI>AJ!GVI;>X*Jb&|KL zFHGoKbO6*xuM5AH@ieXF+%)zt7X%m`a-W5EbGl3t+GOhMVadOMUq?5)p+GNzX{+|p zsI)WEzWxS<4^A*@yS=O1C^>h+h3Z`46E7|q#RzW5do9v$(xZ01bJxat!;N>Q7W~jW z>SyMA`=;{uHsa*t=uNLB~*5CdfDkht^KZ9qFzkdqQ>l6 zn^yliXw#u7vE_Ya@Km?#Ro2F`IjpUco-V0Vwxy*ls1jLf@b7%CeHo9>haKOpTzxeu zbgpK*$Sv-7UUNN9_18okS!i)nk)-)?t*HN`OOq3zM*_k%9(WtN28_gm5R`SO4Am_zQCHZb+KLtgicGpR%A#kOX zsFTYbj{_%eapXH%EJ)zLR{#GN0}nGJ0}}%?0|SG=Bu|w|o+=Gs62hLGDkfR)pfHJ1 zWs(OASO`pds0ev72ze@iL>N_=I28muRfIfM7&uu37*#;x9AHyCRGJtSggjLQJQNx{ z6_`9#CNVNh@?@FhsW8bAWD`g`gGvJ@*i0l_g&1J6AVCh5NuCNq3@SpC-NogRx@ZCz zT{M9z(C~tq03#y<6B8o~6B9G6C}&VKbPN;^ zozf>ydTy)LaLCx0;QDW0O8==3466(nRy9sN)ljfx!E5#xy23K;=?S)1-k1Gnh?l;; zctQMB9>MzSRVkO8J46lM76o~-3H}u373bvg_|V?sx3^WKiEBj(gVsJH(_2c_&YM-t zS&u)^+jD3NV~o?26$&1Cd21PUm=hSe_aCTSW;wM$F@ab6w2ssp&T1Cl2NIp#Gb4lz za~m1!^iLn_wKYjTF{e3+Q&@a`;N}Akg&Yd(6#+j5;+NJN8BUF4zn!&2dhw0W18*FY zKmGjA(B0D0?!dxu=%Z>H+rN|Un=8v$Cq{UQ=mY+u+s}9pHItc9&IB zLeID94jWD$TcEeV@s&tY-?vBSxPl(9&~@LsTUqe~yT;lHksf6od{+$XlO``PHeJir z^5vZQvP{E+4_=mgZn-%pP@^%bBiKXy;`&(A2MuZkT|2Ex@)xrNSn!3|s$H6Nn06O;3Cc@+Sne>2PXF@U{`%e{_Ip1VdivZ`a-V$E#8h6nY0 zdw;VCr90JLs#*7xkA3c}v$b3dQWF_pSOhE(x*~WcQ2+3o-RalZXFv6R&8hOPakfjs zjkE~|PNmLi3KCqnlAodHs#Ct@0tK$C*N*?a6>cNu>^;lk!aE87?5iPeZ5$4BW4jc$ ztUPDI(_b(paBFkA--lGYx=*|Od3j71c=7GCt6%Xmq*SxfZcmqehWwuR2KkBgTkZD9 zL>$ho$a%Qo%$)_jw{&9}O4-Xev>2H6^uNC`GX}dYX``^2!n$YH6>E44VG^iMY!bJiYFd$4)#S)0Vi-m4l`vrNsEIBwnxPS)A^m8PhDL`I+g&%2^`_;2y%$RGy3gLrkkQ&H z*tvqKYbEQd9Ik?2KNmP@JxX!C5L@_Qa#2R!guGWmd-lZ?mzer2T)ZIT27{=>wO=7u U7I9=TM92IvVSd2;bN>IE029r;Z~y=R diff --git a/doc/src/Eqs/pair_spin_dmi_interaction.tex b/doc/src/Eqs/pair_spin_dmi_interaction.tex index 5a5a776f03..79f63a333a 100644 --- a/doc/src/Eqs/pair_spin_dmi_interaction.tex +++ b/doc/src/Eqs/pair_spin_dmi_interaction.tex @@ -5,7 +5,7 @@ \begin{document} \begin{varwidth}{50in} \begin{equation} - \bm{H}_{dm} = -\sum_{{ i,j}=1,i\neq j}^{N} + \bm{H}_{dm} = \sum_{{ i,j}=1,i\neq j}^{N} \left( \vec{e}_{ij} \times \vec{D} \right) \cdot\left(\vec{s}_{i}\times \vec{s}_{j}\right), \nonumber diff --git a/doc/src/Eqs/pair_spin_exchange_forces.jpg b/doc/src/Eqs/pair_spin_exchange_forces.jpg index 2b0469bf4db84885fd8b81679cdd9571ba9e3574..b312a9ccdaaf44b7647f2c444c7d79a740cea88c 100644 GIT binary patch delta 12961 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 H|GxlT;%4s_bT*{baLG=mA)ifq|F#WWyyR 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 diff --git a/doc/src/Eqs/pair_spin_exchange_forces.tex b/doc/src/Eqs/pair_spin_exchange_forces.tex index 088696d5ef..ac5ef682f3 100644 --- a/doc/src/Eqs/pair_spin_exchange_forces.tex +++ b/doc/src/Eqs/pair_spin_exchange_forces.tex @@ -5,10 +5,12 @@ \begin{document} \begin{varwidth}{50in} \begin{equation} - \vec{F}^{i} = \sum_{j}^{Neighbor} \frac{\partial {J} \left(r_{ij} \right)}{ - \partial r_{ij}} \left( \vec{s}_{i}\cdot \vec{s}_{j} \right) \vec{r}_{ij} - ~~{\rm and}~~ \vec{\omega}^{i} = \frac{1}{\hbar} \sum_{j}^{Neighbor} {J} - \left(r_{ij} \right)\,\vec{s}_{j} \nonumber + \vec{\omega}_{i} = \frac{1}{\hbar} \sum_{j}^{Neighb} {J} + \left(r_{ij} \right)\,\vec{s}_{j} + ~~{\rm and}~~ + \vec{F}_{i} = \sum_{j}^{Neighb} \frac{\partial {J} \left(r_{ij} \right)}{ + \partial r_{ij}} \left( \vec{s}_{i}\cdot \vec{s}_{j} \right) \vec{e}_{ij} + \nonumber \end{equation} \end{varwidth} \end{document} diff --git a/doc/src/Eqs/pair_spin_exchange_interaction.jpg b/doc/src/Eqs/pair_spin_exchange_interaction.jpg index d51524d27ca413ec4ded189107c2219b061f7d7e..c70d8a6554003e37472d648c1944a13ee9d3f859 100644 GIT binary patch delta 5636 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 { - mag[0] += sp[i][0]; - mag[1] += sp[i][1]; - mag[2] += sp[i][2]; - magenergy -= (sp[i][0]*fm[i][0] + sp[i][1]*fm[i][1] + sp[i][2]*fm[i][2]); - tx = sp[i][1]*fm[i][2]-sp[i][2]*fm[i][1]; - ty = sp[i][2]*fm[i][0]-sp[i][0]*fm[i][2]; - tz = sp[i][0]*fm[i][1]-sp[i][1]*fm[i][0]; - tempnum += tx*tx+ty*ty+tz*tz; - tempdenom += sp[i][0]*fm[i][0]+fm[i][1]*sp[i][1]+sp[i][2]*fm[i][2]; - countsp++; + mag[0] += sp[i][0]; + mag[1] += sp[i][1]; + mag[2] += sp[i][2]; + magenergy -= (sp[i][0]*fm[i][0] + sp[i][1]*fm[i][1] + sp[i][2]*fm[i][2]); + tx = sp[i][1]*fm[i][2]-sp[i][2]*fm[i][1]; + ty = sp[i][2]*fm[i][0]-sp[i][0]*fm[i][2]; + tz = sp[i][0]*fm[i][1]-sp[i][1]*fm[i][0]; + tempnum += tx*tx+ty*ty+tz*tz; + tempdenom += sp[i][0]*fm[i][0]+fm[i][1]*sp[i][1]+sp[i][2]*fm[i][2]; + countsp++; } } else error->all(FLERR,"Compute compute/spin requires atom/spin style"); diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index b792969c5d..08e2c63e7f 100644 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -65,6 +65,9 @@ PairSpinDmi::~PairSpinDmi() memory->destroy(v_dmx); memory->destroy(v_dmy); memory->destroy(v_dmz); + memory->destroy(vmech_dmx); + memory->destroy(vmech_dmy); + memory->destroy(vmech_dmz); memory->destroy(cutsq); } } @@ -118,7 +121,7 @@ void PairSpinDmi::coeff(int narg, char **arg) force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); const double rij = force->numeric(FLERR,arg[3]); - const double dm = (force->numeric(FLERR,arg[4]))/hbar; + const double dm = (force->numeric(FLERR,arg[4])); double dmx = force->numeric(FLERR,arg[5]); double dmy = force->numeric(FLERR,arg[6]); double dmz = force->numeric(FLERR,arg[7]); @@ -133,9 +136,12 @@ void PairSpinDmi::coeff(int narg, char **arg) for (int j = MAX(jlo,i); j <= jhi; j++) { cut_spin_dmi[i][j] = rij; DM[i][j] = dm; - v_dmx[i][j] = dmx * dm; - v_dmy[i][j] = dmy * dm; - v_dmz[i][j] = dmz * dm; + v_dmx[i][j] = dmx * dm / hbar; + v_dmy[i][j] = dmy * dm / hbar; + v_dmz[i][j] = dmz * dm / hbar; + vmech_dmx[i][j] = dmx * dm; + vmech_dmy[i][j] = dmy * dm; + vmech_dmz[i][j] = dmz * dm; setflag[i][j] = 1; count++; } @@ -187,9 +193,17 @@ void PairSpinDmi::init_style() double PairSpinDmi::init_one(int i, int j) { - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + DM[j][i] = DM[i][j]; + v_dmx[j][i] = v_dmx[i][j]; + v_dmy[j][i] = v_dmy[i][j]; + v_dmz[j][i] = v_dmz[i][j]; + vmech_dmx[j][i] = vmech_dmx[i][j]; + vmech_dmy[j][i] = vmech_dmy[i][j]; + vmech_dmz[j][i] = vmech_dmz[i][j]; + cut_spin_dmi[j][i] = cut_spin_dmi[i][j]; + return cut_spin_dmi_global; } @@ -210,7 +224,8 @@ void PairSpinDmi::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl, ecoul; - double xi[3], rij[3], eij[3]; + double xi[3], eij[3]; + double delx,dely,delz; double spi[3], spj[3]; double fi[3], fmi[3]; double local_cut2; @@ -264,20 +279,17 @@ void PairSpinDmi::compute(int eflag, int vflag) spj[2] = sp[j][2]; evdwl = 0.0; - fi[0] = fi[1] = fi[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; - rij[0] = rij[1] = rij[2] = 0.0; - eij[0] = eij[1] = eij[2] = 0.0; - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; inorm = 1.0/sqrt(rsq); - eij[0] = rij[0]*inorm; - eij[1] = rij[1]*inorm; - eij[2] = rij[2]*inorm; + eij[0] = -inorm*delx; + eij[1] = -inorm*dely; + eij[2] = -inorm*delz; local_cut2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; @@ -286,7 +298,7 @@ void PairSpinDmi::compute(int eflag, int vflag) if (rsq <= local_cut2) { compute_dmi(i,j,eij,fmi,spj); if (lattice_flag) { - compute_dmi_mech(fi); + compute_dmi_mech(i,j,rsq,eij,fi,spi,spj); } } @@ -309,7 +321,7 @@ void PairSpinDmi::compute(int eflag, int vflag) } else evdwl = 0.0; if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, - evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + evdwl,ecoul,fi[0],fi[1],fi[2],delx,dely,delz); } } @@ -325,8 +337,8 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) double **x = atom->x; double **sp = atom->sp; double local_cut2; - - double xi[3], rij[3], eij[3]; + double xi[3], eij[3]; + double delx,dely,delz; double spj[3]; int i,j,jnum,itype,jtype; @@ -358,14 +370,14 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) spj[1] = sp[j][1]; spj[2] = sp[j][2]; - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; inorm = 1.0/sqrt(rsq); - eij[0] = rij[0]*inorm; - eij[1] = rij[1]*inorm; - eij[2] = rij[2]*inorm; + eij[0] = -inorm*delx; + eij[1] = -inorm*dely; + eij[2] = -inorm*delz; local_cut2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; @@ -390,23 +402,45 @@ void PairSpinDmi::compute_dmi(int i, int j, double eij[3], double fmi[3], double jtype = type[j]; dmix = eij[1]*v_dmz[itype][jtype] - eij[2]*v_dmy[itype][jtype]; - dmiy = eij[2]*v_dmx[itype][jtype] - eij[2]*v_dmz[itype][jtype]; + dmiy = eij[2]*v_dmx[itype][jtype] - eij[0]*v_dmz[itype][jtype]; dmiz = eij[0]*v_dmy[itype][jtype] - eij[1]*v_dmx[itype][jtype]; - fmi[0] += (spj[1]*dmiz - spj[2]*dmiy); - fmi[1] += (spj[2]*dmix - spj[0]*dmiz); - fmi[2] += (spj[0]*dmiy - spj[1]*dmix); + fmi[0] -= (spj[1]*dmiz - spj[2]*dmiy); + fmi[1] -= (spj[2]*dmix - spj[0]*dmiz); + fmi[2] -= (spj[0]*dmiy - spj[1]*dmix); } /* ---------------------------------------------------------------------- compute the mechanical force due to the dmi interaction between atom i and atom j ------------------------------------------------------------------------- */ -void PairSpinDmi::compute_dmi_mech(double fi[3]) +void PairSpinDmi::compute_dmi_mech(int i, int j, double rsq, double eij[3], + double fi[3], double spi[3], double spj[3]) { - fi[0] += 0.0; - fi[1] += 0.0; - fi[2] += 0.0; + int *type = atom->type; + int itype, jtype; + double dmix,dmiy,dmiz; + itype = type[i]; + jtype = type[j]; + double csx,csy,csz,cdmx,cdmy,cdmz,irij; + + irij = 1.0/sqrt(rsq); + + dmix = vmech_dmx[itype][jtype]; + dmiy = vmech_dmy[itype][jtype]; + dmiz = vmech_dmz[itype][jtype]; + + csx = (spi[1]*spj[2] - spi[2]*spj[1]); + csy = (spi[2]*spj[0] - spi[0]*spj[2]); + csz = (spi[0]*spj[1] - spi[1]*spj[0]); + + cdmx = (dmiy*csz - dmiz*csy); + cdmy = (dmiz*csx - dmix*csz); + cdmz = (dmix*csy - dmiy*csz); + + fi[0] += irij*cdmx; + fi[1] += irij*cdmy; + fi[2] += irij*cdmz; } /* ---------------------------------------------------------------------- @@ -428,6 +462,9 @@ void PairSpinDmi::allocate() memory->create(v_dmx,n+1,n+1,"pair:DM_vector_x"); memory->create(v_dmy,n+1,n+1,"pair:DM_vector_y"); memory->create(v_dmz,n+1,n+1,"pair:DM_vector_z"); + memory->create(vmech_dmx,n+1,n+1,"pair:DMmech_vector_x"); + memory->create(vmech_dmy,n+1,n+1,"pair:DMmech_vector_y"); + memory->create(vmech_dmz,n+1,n+1,"pair:DMmech_vector_z"); memory->create(cutsq,n+1,n+1,"pair:cutsq"); @@ -451,6 +488,9 @@ void PairSpinDmi::write_restart(FILE *fp) fwrite(&v_dmx[i][j],sizeof(double),1,fp); fwrite(&v_dmy[i][j],sizeof(double),1,fp); fwrite(&v_dmz[i][j],sizeof(double),1,fp); + fwrite(&vmech_dmx[i][j],sizeof(double),1,fp); + fwrite(&vmech_dmy[i][j],sizeof(double),1,fp); + fwrite(&vmech_dmz[i][j],sizeof(double),1,fp); fwrite(&cut_spin_dmi[i][j],sizeof(double),1,fp); } } @@ -478,12 +518,18 @@ void PairSpinDmi::read_restart(FILE *fp) fread(&v_dmx[i][j],sizeof(double),1,fp); fread(&v_dmy[i][j],sizeof(double),1,fp); fread(&v_dmz[i][j],sizeof(double),1,fp); + fread(&vmech_dmx[i][j],sizeof(double),1,fp); + fread(&vmech_dmy[i][j],sizeof(double),1,fp); + fread(&vmech_dmz[i][j],sizeof(double),1,fp); fread(&cut_spin_dmi[i][j],sizeof(double),1,fp); } MPI_Bcast(&DM[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_dmx[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_dmy[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_dmz[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&vmech_dmx[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&vmech_dmy[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&vmech_dmz[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&cut_spin_dmi[i][j],1,MPI_DOUBLE,0,world); } } diff --git a/src/SPIN/pair_spin_dmi.h b/src/SPIN/pair_spin_dmi.h index a309f0c8d5..68e42e879d 100644 --- a/src/SPIN/pair_spin_dmi.h +++ b/src/SPIN/pair_spin_dmi.h @@ -38,22 +38,23 @@ class PairSpinDmi : public PairSpin { void compute_single_pair(int, double *); void compute_dmi(int, int, double *, double *, double *); - void compute_dmi_mech(double *); + void compute_dmi_mech(int, int, double, double *, double *, double *, double *); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); - double cut_spin_dmi_global; // short range pair cutoff + double cut_spin_dmi_global; // short range pair cutoff protected: - double **DM; // dmi coeff in eV - double **v_dmx, **v_dmy, **v_dmz; // dmi direction - double **cut_spin_dmi; // cutoff distance dmi + double **DM; // dmi coeff in eV + double **v_dmx, **v_dmy, **v_dmz; // dmi direction + double **vmech_dmx, **vmech_dmy, **vmech_dmz; // dmi mech direction + double **cut_spin_dmi; // cutoff distance dmi - int lattice_flag; // flag for mech force computation - class FixNVESpin *lockfixnvespin; // ptr to FixNVESpin for setups + int lattice_flag; // flag for mech force computation + class FixNVESpin *lockfixnvespin; // ptr to FixNVESpin for setups void allocate(); }; diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 1b7b36b6db..cc074bb97d 100644 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -65,7 +65,7 @@ PairSpinExchange::~PairSpinExchange() memory->destroy(J1_mech); memory->destroy(J2); memory->destroy(J3); - memory->destroy(cutsq); // to be deleted + memory->destroy(cutsq); // to be implemented } } @@ -134,8 +134,8 @@ void PairSpinExchange::coeff(int narg, char **arg) count++; } } - if (count == 0) - error->all(FLERR,"Incorrect args in pair_style command"); + + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); } /* ---------------------------------------------------------------------- @@ -183,6 +183,12 @@ double PairSpinExchange::init_one(int i, int j) if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + J1_mag[j][i] = J1_mag[i][j]; + J1_mech[j][i] = J1_mech[i][j]; + J2[j][i] = J2[i][j]; + J3[j][i] = J3[i][j]; + cut_spin_exchange[j][i] = cut_spin_exchange[i][j]; + return cut_spin_exchange_global; } @@ -203,7 +209,8 @@ void PairSpinExchange::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl, ecoul; - double xi[3], rij[3], eij[3]; + double xi[3], eij[3]; + double delx,dely,delz; double spi[3], spj[3]; double fi[3], fmi[3]; double local_cut2; @@ -255,18 +262,17 @@ void PairSpinExchange::compute(int eflag, int vflag) spj[2] = sp[j][2]; evdwl = 0.0; - fi[0] = fi[1] = fi[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; inorm = 1.0/sqrt(rsq); - eij[0] = inorm*rij[0]; - eij[1] = inorm*rij[1]; - eij[2] = inorm*rij[2]; + eij[0] = -inorm*delx; + eij[1] = -inorm*dely; + eij[2] = -inorm*delz; local_cut2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; @@ -298,7 +304,7 @@ void PairSpinExchange::compute(int eflag, int vflag) } else evdwl = 0.0; if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, - evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + evdwl,ecoul,fi[0],fi[1],fi[2],delx,dely,delz); } } @@ -317,8 +323,8 @@ void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) double **x = atom->x; double **sp = atom->sp; double local_cut2; - double xi[3], rij[3]; + double delx,dely,delz; double spj[3]; int i,j,jnum,itype,jtype; @@ -351,15 +357,14 @@ void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) spj[1] = sp[j][1]; spj[2] = sp[j][2]; - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; if (rsq <= local_cut2) { compute_exchange(i,j,rsq,fmi,spj); } - } } @@ -390,7 +395,8 @@ void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], compute the mechanical force due to the exchange interaction between atom i and atom j ------------------------------------------------------------------------- */ -void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double rij[3], double fi[3], double spi[3], double spj[3]) +void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double eij[3], + double fi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -408,9 +414,9 @@ void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double ri Jex_mech *= 8.0*Jex*rr*exp(-ra); Jex_mech *= (spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]); - fi[0] -= Jex_mech*rij[0]; - fi[1] -= Jex_mech*rij[1]; - fi[2] -= Jex_mech*rij[2]; + fi[0] -= Jex_mech*eij[0]; + fi[1] -= Jex_mech*eij[1]; + fi[2] -= Jex_mech*eij[2]; } /* ---------------------------------------------------------------------- diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp index 315b691d17..6bc1f71947 100644 --- a/src/SPIN/pair_spin_magelec.cpp +++ b/src/SPIN/pair_spin_magelec.cpp @@ -187,8 +187,14 @@ void PairSpinMagelec::init_style() double PairSpinMagelec::init_one(int i, int j) { + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + ME[j][i] = ME[i][j]; + ME_mech[j][i] = ME_mech[i][j]; + v_mex[j][i] = v_mex[i][j]; + v_mey[j][i] = v_mey[i][j]; + v_mez[j][i] = v_mez[i][j]; + cut_spin_magelec[j][i] = cut_spin_magelec[i][j]; return cut_spin_magelec_global; } @@ -211,7 +217,8 @@ void PairSpinMagelec::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl, ecoul; - double xi[3], rij[3], eij[3]; + double xi[3], eij[3]; + double delx,dely,delz; double spi[3], spj[3]; double fi[3], fmi[3]; double local_cut2; @@ -263,18 +270,17 @@ void PairSpinMagelec::compute(int eflag, int vflag) spj[2] = sp[j][2]; evdwl = 0.0; - fi[0] = fi[1] = fi[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; inorm = 1.0/sqrt(rsq); - eij[0] = inorm*rij[0]; - eij[1] = inorm*rij[1]; - eij[2] = inorm*rij[2]; + eij[0] = -inorm*delx; + eij[1] = -inorm*dely; + eij[2] = -inorm*delz; local_cut2 = cut_spin_magelec[itype][jtype]*cut_spin_magelec[itype][jtype]; @@ -301,12 +307,12 @@ void PairSpinMagelec::compute(int eflag, int vflag) } if (eflag) { - evdwl = (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); evdwl *= hbar; } else evdwl = 0.0; if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, - evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + evdwl,ecoul,fi[0],fi[1],fi[2],delx,dely,delz); } } @@ -322,8 +328,8 @@ void PairSpinMagelec::compute_single_pair(int ii, double fmi[3]) double **x = atom->x; double **sp = atom->sp; double local_cut2; - - double xi[3], rij[3], eij[3]; + double xi[3], eij[3]; + double delx,dely,delz; double spj[3]; int i,j,jnum,itype,jtype; @@ -342,8 +348,6 @@ void PairSpinMagelec::compute_single_pair(int ii, double fmi[3]) xi[1] = x[i][1]; xi[2] = x[i][2]; - eij[0] = eij[1] = eij[2] = 0.0; - jlist = firstneigh[i]; jnum = numneigh[i]; @@ -358,14 +362,14 @@ void PairSpinMagelec::compute_single_pair(int ii, double fmi[3]) spj[1] = sp[j][1]; spj[2] = sp[j][2]; - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; inorm = 1.0/sqrt(rsq); - eij[0] = inorm*rij[0]; - eij[1] = inorm*rij[1]; - eij[2] = inorm*rij[2]; + eij[0] = -inorm*delx; + eij[1] = -inorm*dely; + eij[2] = -inorm*delz; if (rsq <= local_cut2) { compute_magelec(i,j,rsq,eij,fmi,spj); @@ -380,36 +384,26 @@ void PairSpinMagelec::compute_magelec(int i, int j, double rsq, double eij[3], d { int *type = atom->type; int itype, jtype; + double meix,meiy,meiz; + double vx,vy,vz; itype = type[i]; jtype = type[j]; - double local_cut2 = cut_spin_magelec[itype][jtype]*cut_spin_magelec[itype][jtype]; - - if (rsq <= local_cut2) { - double meix,meiy,meiz; - double rx, ry, rz; - double vx, vy, vz; - - rx = eij[0]; - ry = eij[1]; - rz = eij[2]; - - vx = v_mex[itype][jtype]; - vy = v_mey[itype][jtype]; - vz = v_mez[itype][jtype]; + vx = v_mex[itype][jtype]; + vy = v_mey[itype][jtype]; + vz = v_mez[itype][jtype]; - meix = vy*rz - vz*ry; - meiy = vz*rx - vx*rz; - meiz = vx*ry - vy*rx; + meix = vy*eij[2] - vz*eij[1]; + meiy = vz*eij[0] - vx*eij[2]; + meiz = vx*eij[1] - vy*eij[0]; - meix *= ME[itype][jtype]; - meiy *= ME[itype][jtype]; - meiz *= ME[itype][jtype]; + meix *= ME[itype][jtype]; + meiy *= ME[itype][jtype]; + meiz *= ME[itype][jtype]; - fmi[0] += spj[1]*meiz - spj[2]*meiy; - fmi[1] += spj[2]*meix - spj[0]*meiz; - fmi[2] += spj[0]*meiy - spj[1]*meix; - } + fmi[0] += spj[1]*meiz - spj[2]*meiy; + fmi[1] += spj[2]*meix - spj[0]*meiz; + fmi[2] += spj[0]*meiy - spj[1]*meix; } /* ---------------------------------------------------------------------- */ diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index 0daafad756..55f537cf4f 100644 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -193,8 +193,16 @@ void PairSpinNeel::init_style() double PairSpinNeel::init_one(int i, int j) { - - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + g1[j][i] = g1[i][j]; + g1_mech[j][i] = g1_mech[i][j]; + g2[j][i] = g2[i][j]; + g3[j][i] = g3[i][j]; + q1[j][i] = q1[i][j]; + q1_mech[j][i] = q1_mech[i][j]; + q2[j][i] = q2[i][j]; + q3[j][i] = q3[i][j]; return cut_spin_neel_global; } diff --git a/src/SPIN/pair_spin_neel.h b/src/SPIN/pair_spin_neel.h index 934d4a93ad..f60d7d2dca 100644 --- a/src/SPIN/pair_spin_neel.h +++ b/src/SPIN/pair_spin_neel.h @@ -51,9 +51,9 @@ class PairSpinNeel : public PairSpin { // pseudo-dipolar and pseudo-quadrupolar coeff. - double **g1, **g1_mech; // exchange coeffs gij + double **g1, **g1_mech; // neel coeffs gij double **g2, **g3; // g1 in eV, g2 adim, g3 in Ang - double **q1, **q1_mech; // exchange coeffs qij + double **q1, **q1_mech; // neel coeffs qij double **q2, **q3; // q1 in eV, q2 adim, q3 in Ang double **cut_spin_neel; // cutoff distance exchange -- GitLab From 6cd7299920a56d75c9d7d9cde5946d61c1e03dba Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 27 Jul 2018 12:10:43 +0200 Subject: [PATCH 359/675] update CODEOWNERS file to automatically notify @julient31 on changes to the SPIN package --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 75b79443c3..53b0a7b4f2 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -17,6 +17,7 @@ src/GPU/* @ndtrung81 src/KOKKOS/* @stanmoore1 src/KIM/* @ellio167 src/LATTE/* @cnegre +src/SPIN/* @julient31 src/USER-CGDNA/* @ohenrich src/USER-CGSDK/* @akohlmey src/USER-COLVARS/* @giacomofiorin -- GitLab From 99985a1d5bc4072db6e1858b6b99223f080fdd51 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 27 Jul 2018 20:31:53 -0400 Subject: [PATCH 360/675] Add profile.d files to set LAMMPS_POTENTIALS environment variable --- cmake/CMakeLists.txt | 11 ++++++++++- cmake/etc/profile.d/lammps.csh.in | 2 ++ cmake/etc/profile.d/lammps.sh.in | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 cmake/etc/profile.d/lammps.csh.in create mode 100644 cmake/etc/profile.d/lammps.sh.in diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 88efd90221..8567e4395e 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -961,7 +961,16 @@ endif() ############################################################################### # Install potential files in data directory ############################################################################### -install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../potentials DESTINATION ${CMAKE_INSTALL_DATADIR}/lammps) +set(LAMMPS_POTENTIALS_DIR ${CMAKE_INSTALL_FULL_DATADIR}/lammps/potentials) +install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../potentials DESTINATION ${CMAKE_INSTALL_DATADIR}/lammps/potentials) + +configure_file(etc/profile.d/lammps.sh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.sh @ONLY) +configure_file(etc/profile.d/lammps.csh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.csh @ONLY) +install( + FILES ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.sh + ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.csh + DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/profile.d +) ############################################################################### # Testing diff --git a/cmake/etc/profile.d/lammps.csh.in b/cmake/etc/profile.d/lammps.csh.in new file mode 100644 index 0000000000..def49bf75c --- /dev/null +++ b/cmake/etc/profile.d/lammps.csh.in @@ -0,0 +1,2 @@ +# set environment for LAMMPS executables to find potential files +if ( "$?LAMMPS_POTENTIALS" == 0 ) setenv LAMMPS_POTENTIALS @LAMMPS_POTENTIALS_DIR@ diff --git a/cmake/etc/profile.d/lammps.sh.in b/cmake/etc/profile.d/lammps.sh.in new file mode 100644 index 0000000000..acd75fa0cf --- /dev/null +++ b/cmake/etc/profile.d/lammps.sh.in @@ -0,0 +1,2 @@ +# set environment for LAMMPS executables to find potential files +export LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS-@LAMMPS_POTENTIALS_DIR@} -- GitLab From 8fccf6b9b4535bc2fb2dc801804e9c640fdad469 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Sat, 28 Jul 2018 23:31:50 -0400 Subject: [PATCH 361/675] Use absolute paths for docenv --- cmake/CMakeLists.txt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 8567e4395e..485e2df91c 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -920,12 +920,15 @@ if(BUILD_DOC) OUTPUT docenv COMMAND ${VIRTUALENV} docenv ) + + set(DOCENV_BINARY_DIR ${CMAKE_BINARY_DIR}/docenv/bin) + add_custom_command( OUTPUT requirements.txt DEPENDS docenv COMMAND ${CMAKE_COMMAND} -E copy ${LAMMPS_DOC_DIR}/utils/requirements.txt requirements.txt - COMMAND ./docenv/bin/pip install -r requirements.txt --upgrade - COMMAND ./docenv/bin/pip install --upgrade ${LAMMPS_DOC_DIR}/utils/converters + COMMAND ${DOCENV_BINARY_DIR}/pip install -r requirements.txt --upgrade + COMMAND ${DOCENV_BINARY_DIR}/pip install --upgrade ${LAMMPS_DOC_DIR}/utils/converters ) set(RST_FILES "") @@ -938,7 +941,7 @@ if(BUILD_DOC) add_custom_command( OUTPUT ${RST_FILE} DEPENDS requirements.txt docenv ${TXT_FILE} - COMMAND ./docenv/bin/txt2rst -o ${RST_DIR} ${TXT_FILE} + COMMAND ${DOCENV_BINARY_DIR}/txt2rst -o ${RST_DIR} ${TXT_FILE} ) endforeach() @@ -946,7 +949,7 @@ if(BUILD_DOC) OUTPUT html DEPENDS ${RST_FILES} COMMAND ${CMAKE_COMMAND} -E copy_directory ${LAMMPS_DOC_DIR}/src ${RST_DIR} - COMMAND ./docenv/bin/sphinx-build -j ${NPROCS} -b html -c ${LAMMPS_DOC_DIR}/utils/sphinx-config -d ${CMAKE_BINARY_DIR}/doctrees ${RST_DIR} html + COMMAND ${DOCENV_BINARY_DIR}/sphinx-build -j ${NPROCS} -b html -c ${LAMMPS_DOC_DIR}/utils/sphinx-config -d ${CMAKE_BINARY_DIR}/doctrees ${RST_DIR} html ) add_custom_target( -- GitLab From fa9b46fb40dcaba96802ad88dcebde7816eac36f Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Sun, 29 Jul 2018 00:08:20 -0400 Subject: [PATCH 362/675] Add BUILD_DOC option to CMake README.md --- cmake/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cmake/README.md b/cmake/README.md index bafd440a64..b6644ffda9 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -275,6 +275,16 @@ cmake -C ../cmake/presets/std_nolib.cmake ../cmake -DPKG_GPU=on
      + + BUILD_DOC + control whether to build LAMMPS documentation + +
      +
      off (default)
      +
      on
      +
      + + LAMMPS_LONGLONG_TO_LONG Workaround if your system or MPI version does not recognize long long data types -- GitLab From 82fc3b99d9049bbd98ec2fd55ffebfd58f823c29 Mon Sep 17 00:00:00 2001 From: HaoZeke Date: Mon, 30 Jul 2018 16:59:25 +0530 Subject: [PATCH 363/675] emacs: Update mode file This is a squashed commit including the following changes: 1) Update mode header 2) Clean up white-space 3) Fix free variable warning 4) Add proper file ending stuff 5) Rename to keep conventional naming scheme 6) Updates to the readme 7) Update to conform to `package-lint` criteria 8) Add license header 9) Add in-file instructions --- tools/emacs/README.txt | 36 +++++++++++++- tools/emacs/{lammps.el => lammps-mode.el} | 57 ++++++++++++++++++++--- 2 files changed, 84 insertions(+), 9 deletions(-) rename tools/emacs/{lammps.el => lammps-mode.el} (73%) diff --git a/tools/emacs/README.txt b/tools/emacs/README.txt index 8dfc37cb85..43add16505 100644 --- a/tools/emacs/README.txt +++ b/tools/emacs/README.txt @@ -1,6 +1,7 @@ === Emacs Syntax Highlighting === Created by Aidan Thompson 12/2010 =============================== +Updated by Roit Goswami Mon Jul 30 2018 The lammps.el file provided in this directory will enable syntax highlighting for the lammps script syntax in emacs. The groupings @@ -15,9 +16,40 @@ some basic syntax highlighting of strings, comments, etc. ============================ (0) Create/edit the emacs init file ~/.emacs to contain: -(load "~/.emacs.d/lammps") +(load "~/.emacs.d/lammps-mode.el") This file may also be called ~/.emacs.el, or ~/.emacs.d/init.el -(1) Copy lammps.el to the directory ~/.emacs.d +(1) Copy lammps-mode.el to the directory ~/.emacs.d +=Update: +======== + +The package may now also be installed by a MELPA style recipe, namely: + +```lisp +(lammps-mode :fetcher github :repo "HaoZeke/lammps-mode") +``` + +For a simpler installation with `use-package` simply add: + +```lisp +(use-package lammps-mode) +``` + +The latest version of the package will be kept in sync as a squashed update on +the lammps repository as well. + +It is advisable to use the MELPA installation methods listed here: +https://melpa.org/#/getting-started + +For autoloading and auto-recognizing "in.*" and "*.lmp" files add the following +to `.emacs`: + +```lisp +(autoload 'lammps-mode "lammps-mode.el" "LAMMPS mode." t) +(setq auto-mode-alist (append auto-mode-alist + '(("in\\." . lammps-mode)) + '(("\\.lmp\\'" . lammps-mode)) + )) +``` diff --git a/tools/emacs/lammps.el b/tools/emacs/lammps-mode.el similarity index 73% rename from tools/emacs/lammps.el rename to tools/emacs/lammps-mode.el index d1ebebbbbf..9dfd119d0a 100644 --- a/tools/emacs/lammps.el +++ b/tools/emacs/lammps-mode.el @@ -1,7 +1,49 @@ -;; LAMMPS auto-mode +;;; lammps-mode.el --- basic syntax highlighting for LAMMPS files + +;; Copyright (C) 2010-18 Aidan Thompson +;; Copyright (C) 2018 Rohit Goswami + +;; Author: Aidan Thompson +;; Maintainer: Rohit Goswami +;; Created: December 4, 2010 +;; Modified: July 30, 2018 +;; Version: 1.5.0 +;; Keywords: languages, faces +;; Homepage: https://github.com/lammps/lammps/tree/master/tools/emacs +;; Package-Requires: ((emacs "24.4")) + +;; This file is not part of GNU Emacs. + +;; This file is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 3, or (at your option) +;; any later version. + +;; This file is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: ;; translation of keyword classes from tools/vim ;; see http://xahlee.org/emacs/elisp_syntax_coloring.html +;; Put this in your .emacs file to enable autoloading of lammps-mode +;; and auto-recognition of "in.*" and "*.lmp" files: +;; +;; (autoload 'lammps-mode "lammps-mode.el" "LAMMPS mode." t) +;; (setq auto-mode-alist (append auto-mode-alist +;; '(("in\\." . lammps-mode)) +;; '(("\\.lmp\\'" . lammps-mode)) +;; )) +;; + +;;; Code: ;; define several keyword classes (defvar lammps-output '("log" @@ -136,6 +178,8 @@ (defvar lammps-variable-regexp "\\$\\({[a-zA-Z0-9_]+}\\)\\|\\$[A-Za-z]") +(defvar lammps-font-lock-keywords) + ;; clear memory (setq lammps-output nil) (setq lammps-read nil) @@ -151,8 +195,7 @@ ;; create the list for font-lock. ;; each class of keyword is given a particular face -(setq - lammps-font-lock-keywords +(setq lammps-font-lock-keywords `((,lammps-output-regexp . font-lock-function-name-face) (,lammps-read-regexp . font-lock-preprocessor-face) (,lammps-lattice-regexp . font-lock-type-face) @@ -200,11 +243,11 @@ (setq lammps-variable-regexp nil)) ;; apply it to specified filename patterns -(setq - auto-mode-alist - (append - auto-mode-alist +(setq auto-mode-alist + (append auto-mode-alist '(("in\\." . lammps-mode)) '(("\\.lmp\\'" . lammps-mode)) )) +(provide 'lammps-mode) +;;; lammps-mode.el ends here -- GitLab From 2c9e96be116bafca79671625fa7fb2539343a334 Mon Sep 17 00:00:00 2001 From: HaoZeke Date: Mon, 30 Jul 2018 19:58:18 +0530 Subject: [PATCH 364/675] emacs: Stop forcing filename patterns --- tools/emacs/lammps-mode.el | 7 ------- 1 file changed, 7 deletions(-) diff --git a/tools/emacs/lammps-mode.el b/tools/emacs/lammps-mode.el index 9dfd119d0a..9ba2669982 100644 --- a/tools/emacs/lammps-mode.el +++ b/tools/emacs/lammps-mode.el @@ -242,12 +242,5 @@ (setq lammps-comment-regexp nil) (setq lammps-variable-regexp nil)) -;; apply it to specified filename patterns -(setq auto-mode-alist - (append auto-mode-alist - '(("in\\." . lammps-mode)) - '(("\\.lmp\\'" . lammps-mode)) - )) - (provide 'lammps-mode) ;;; lammps-mode.el ends here -- GitLab From a00d7becc30ae782fe3d991e7cc8693ae5ed5b9b Mon Sep 17 00:00:00 2001 From: HaoZeke Date: Mon, 30 Jul 2018 20:10:29 +0530 Subject: [PATCH 365/675] emacs: Major readme update and refactor Also update the license and switch to GPL v2 like lammps --- tools/emacs/README.md | 76 ++++++++++++++++++++++++++++++++++++++ tools/emacs/README.txt | 55 --------------------------- tools/emacs/lammps-mode.el | 15 ++++---- 3 files changed, 83 insertions(+), 63 deletions(-) create mode 100644 tools/emacs/README.md delete mode 100644 tools/emacs/README.txt diff --git a/tools/emacs/README.md b/tools/emacs/README.md new file mode 100644 index 0000000000..ce502a27e3 --- /dev/null +++ b/tools/emacs/README.md @@ -0,0 +1,76 @@ +# GNU Emacs Syntax Highlighting + +> Copyright (C) 2010-2018 Aidan Thompson +> Copyright (C) 2018 Rohit Goswami + +The `lammps-mode.el` file provided in this directory will enable syntax +highlighting for the lammps script syntax in GNU Emacs. The groupings of +commands were originally copied from `tools/vim`. + +## Installation +**Requirements: GNU Emacs 24.\*** + +### Obtaining the Package + +#### MELPA + +The easiest installation method is via MELPA and it is advisable to use one of +the many [MELPA installation methods](https://melpa.org/#/getting-started). + +For example, with [use-package](https://github.com/jwiegley/use-package) one can +simply use the following: + +``` emacs-lisp +(use-package lammps-mode) +``` + +#### Manually + +Assuming for some reason you have downloaded the file to `~/.emacs.d/lisp` you +would do the following (kanged [from here](http://ergoemacs.org/emacs/emacs_installing_packages.html)): + +``` emacs-lisp +;; Tell emacs where is your personal elisp lib dir +(add-to-list 'load-path "~/.emacs.d/lisp/") + +;; load the package. +(load "lammps-mode") +``` + +### Autoloading \& Auto-recognition + +For autoloading and auto-recognizing `in.*` and `*.lmp` files add the following +to `.emacs`: + +``` emacs-lisp +(autoload 'lammps-mode "lammps-mode.el" "LAMMPS mode." t) +(setq auto-mode-alist (append auto-mode-alist + '(("in\\." . lammps-mode)) + '(("\\.lmp\\'" . lammps-mode)) + )) +``` + +## Status + +By far not all commands are included in the syntax file (lammps-mode.el). You +can easily add new ones to the existing classes. + +## Implementation Details + +`lammps-mode` is derived from `shell-script-mode` which provides some basic +syntax highlighting of strings, comments, etc. + +The MELPA recipe used for this package is simply: + +``` emacs-lisp +(lammps-mode :fetcher github :repo "HaoZeke/lammps-mode") +``` + +## Caveats + +* Does not work with Xemacs [See [this comment](https://github.com/lammps/lammps/pull/1022#issuecomment-408871233)] + +## License + +[GNU GPL v2](https://github.com/HaoZeke/lammps-mode/blob/master/LICENSE). +Check the file for more details. diff --git a/tools/emacs/README.txt b/tools/emacs/README.txt deleted file mode 100644 index 43add16505..0000000000 --- a/tools/emacs/README.txt +++ /dev/null @@ -1,55 +0,0 @@ -=== Emacs Syntax Highlighting === -Created by Aidan Thompson 12/2010 -=============================== -Updated by Roit Goswami Mon Jul 30 2018 - -The lammps.el file provided in this directory will enable syntax -highlighting for the lammps script syntax in emacs. The groupings -of commands were copied from tools/vim. The simulation scripts have to -end on *.lmp or start with in.* (see lammps.el). By far not all -commands are included in the syntax file (lammps.el). -You can easily add new ones to the existing classes. -'lammps-mode' is derived from 'shell-script-mode' which provides -some basic syntax highlighting of strings, comments, etc. - -=To enable the highlighting: -============================ -(0) Create/edit the emacs init file ~/.emacs to contain: - -(load "~/.emacs.d/lammps-mode.el") - -This file may also be called ~/.emacs.el, or ~/.emacs.d/init.el - -(1) Copy lammps-mode.el to the directory ~/.emacs.d - -=Update: -======== - -The package may now also be installed by a MELPA style recipe, namely: - -```lisp -(lammps-mode :fetcher github :repo "HaoZeke/lammps-mode") -``` - -For a simpler installation with `use-package` simply add: - -```lisp -(use-package lammps-mode) -``` - -The latest version of the package will be kept in sync as a squashed update on -the lammps repository as well. - -It is advisable to use the MELPA installation methods listed here: -https://melpa.org/#/getting-started - -For autoloading and auto-recognizing "in.*" and "*.lmp" files add the following -to `.emacs`: - -```lisp -(autoload 'lammps-mode "lammps-mode.el" "LAMMPS mode." t) -(setq auto-mode-alist (append auto-mode-alist - '(("in\\." . lammps-mode)) - '(("\\.lmp\\'" . lammps-mode)) - )) -``` diff --git a/tools/emacs/lammps-mode.el b/tools/emacs/lammps-mode.el index 9ba2669982..37e8a32116 100644 --- a/tools/emacs/lammps-mode.el +++ b/tools/emacs/lammps-mode.el @@ -14,20 +14,19 @@ ;; This file is not part of GNU Emacs. -;; This file is free software; you can redistribute it and/or modify +;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. +;; the Free Software Foundation; either version 2 of the License, or +;; (at your option) any later version. -;; This file is distributed in the hope that it will be useful, +;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; You should have received a copy of the GNU General Public License along +;; with this program; if not, write to the Free Software Foundation, Inc., +;; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ;;; Commentary: ;; translation of keyword classes from tools/vim -- GitLab From b76f86602a4f7fb2cdfa7464f276b45e9dbe9e06 Mon Sep 17 00:00:00 2001 From: Amrita Goswami <32496815+amritagos@users.noreply.github.com> Date: Mon, 30 Jul 2018 21:18:59 +0530 Subject: [PATCH 366/675] docs: Fix spelling mistakes and clarify Tools.txt --- doc/src/Tools.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt index 4c5fbbd453..7165010da3 100644 --- a/doc/src/Tools.txt +++ b/doc/src/Tools.txt @@ -249,9 +249,9 @@ These tools were provided by Andres Jaramillo-Botero at CalTech emacs tool :h4,link(emacs) -The tools/emacs directory contains a Lips add-on file for Emacs that -enables a lammps-mode for editing of input scripts when using Emacs, -with various highlighting options setup. +The tools/emacs directory contains an Emacs Lisp add-on file for GNU Emacs +that enables a lammps-mode for editing input scripts when using GNU Emacs, +with various highlighting options set up. These tools were provided by Aidan Thompson at Sandia (athomps at sandia.gov). -- GitLab From 882e1e5138387bfe6b68333ba4364e8d3b13f13c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 30 Jul 2018 18:32:28 +0200 Subject: [PATCH 367/675] resolve dependency problem between RIGID and USER-OMP package --- cmake/CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 60a0f5d48f..e5db6c8bbb 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -585,8 +585,14 @@ if(PKG_USER-OMP) # detects styles which have USER-OMP version RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES) + get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES) + # manually add classes, that are not styles + if(PKG_RIGID) + list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp) + endif() + list(APPEND LIB_SOURCES ${USER-OMP_SOURCES}) include_directories(${USER-OMP_SOURCES_DIR}) endif() -- GitLab From 82c9e8a52c88f32617adbe1d54a4aff106724071 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 30 Jul 2018 18:56:56 +0200 Subject: [PATCH 368/675] add explicit pattern based dependencies for CORESHELL packages, so KSPACE is no longer enforced --- cmake/CMakeLists.txt | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index e5db6c8bbb..40b0a8f01f 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -153,7 +153,7 @@ if(ENABLE_TESTING) enable_testing() endif(ENABLE_TESTING) -set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR +set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ REAX REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE @@ -161,6 +161,7 @@ set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANU USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM) set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU) +set(OTHER_PACKAGES CORESHELL) foreach(PKG ${DEFAULT_PACKAGES}) option(PKG_${PKG} "Build ${PKG} Package" OFF) endforeach() @@ -180,7 +181,6 @@ pkg_depends(USER-ATC MANYBODY) pkg_depends(USER-LB MPI) pkg_depends(USER-MISC MANYBODY) pkg_depends(USER-PHONON KSPACE) -pkg_depends(CORESHELL KSPACE) ###################################################### # packages with special compiler needs or external libs @@ -574,6 +574,20 @@ endif() # packages which selectively include variants based on enabled styles # e.g. accelerator packages ###################################################################### +if(PKG_CORESHELL) + set(CORESHELL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/CORESHELL) + set(CORESHELL_SOURCES) + set_property(GLOBAL PROPERTY "CORESHELL_SOURCES" "${CORESHELL_SOURCES}") + + # detects styles which have a CORESHELL version + RegisterStylesExt(${CORESHELL_SOURCES_DIR} cs CORESHELL_SOURCES) + + get_property(CORESHELL_SOURCES GLOBAL PROPERTY CORESHELL_SOURCES) + + list(APPEND LIB_SOURCES ${CORESHELL_SOURCES}) + include_directories(${CORESHELL_SOURCES_DIR}) +endif() + if(PKG_USER-OMP) set(USER-OMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-OMP) set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp -- GitLab From b02362b94317eb503c1994a1e0eaab374f4b00e6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 30 Jul 2018 19:09:16 +0200 Subject: [PATCH 369/675] add manual treatment of source dependencies between USER-REAXC and USER-OMP --- cmake/CMakeLists.txt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 40b0a8f01f..1c86ebc695 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -602,11 +602,24 @@ if(PKG_USER-OMP) get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES) - # manually add classes, that are not styles + # manually add package dependent source files from USER-OMP that do not provide styles + if(PKG_RIGID) list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp) endif() + if(PKG_USER-REAXC) + list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_bonds_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_init_md_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_forces_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp) + endif() + list(APPEND LIB_SOURCES ${USER-OMP_SOURCES}) include_directories(${USER-OMP_SOURCES_DIR}) endif() -- GitLab From ee822bec1be9b7bac77c6ca014568da467e80440 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 30 Jul 2018 20:04:31 +0200 Subject: [PATCH 370/675] selectively handle dependency of qeq/fire on MANYBODY --- cmake/CMakeLists.txt | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 1c86ebc695..1e58a670aa 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -154,14 +154,14 @@ if(ENABLE_TESTING) endif(ENABLE_TESTING) set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR - KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ REAX REPLICA RIGID SHOCK SPIN SNAP + KSPACE MANYBODY MC MEAM MISC MOLECULE PERI REAX REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM) set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU) -set(OTHER_PACKAGES CORESHELL) +set(OTHER_PACKAGES CORESHELL QEQ) foreach(PKG ${DEFAULT_PACKAGES}) option(PKG_${PKG} "Build ${PKG} Package" OFF) endforeach() @@ -176,7 +176,7 @@ macro(pkg_depends PKG1 PKG2) endmacro() pkg_depends(MPIIO MPI) -pkg_depends(QEQ MANYBODY) +#pkg_depends(QEQ MANYBODY) pkg_depends(USER-ATC MANYBODY) pkg_depends(USER-LB MPI) pkg_depends(USER-MISC MANYBODY) @@ -588,6 +588,27 @@ if(PKG_CORESHELL) include_directories(${CORESHELL_SOURCES_DIR}) endif() +# Fix qeq/fire requires MANYBODY (i.e. COMB and COMB3) to be installed +if(PKG_QEQ) + set(QEQ_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/QEQ) + file(GLOB QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix*.h) + file(GLOB QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix*.cpp) + + if(NOT PKG_MANYBODY) + list(REMOVE_ITEM QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix_qeq_fire.h) + list(REMOVE_ITEM QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix_qeq_fire.cpp) + endif() + set_property(GLOBAL PROPERTY "QEQ_SOURCES" "${QEQ_SOURCES}") + + foreach(MY_HEADER ${QEQ_HEADERS}) + AddStyleHeader(${MY_HEADER} FIX) + endforeach() + + get_property(QEQ_SOURCES GLOBAL PROPERTY QEQ_SOURCES) + list(APPEND LIB_SOURCES ${QEQ_SOURCES}) + include_directories(${QEQ_SOURCES_DIR}) +endif() + if(PKG_USER-OMP) set(USER-OMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-OMP) set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp -- GitLab From d9c328932fac636d6d0d187bde2fdeb9ea3884e7 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 30 Jul 2018 12:31:12 -0600 Subject: [PATCH 371/675] changes to Packages and Speed doc files --- doc/src/Errors_messages.txt | 6 +- doc/src/Errors_warnings.txt | 6 +- doc/src/Examples.txt | 2 +- doc/src/Manual.txt | 29 +- doc/src/Packages.txt | 39 ++ ...tion_packages.txt => Packages_details.txt} | 336 ++++++--------- doc/src/Packages_standard.txt | 65 +++ doc/src/Packages_user.txt | 74 ++++ doc/src/Section_accelerate.txt | 391 ------------------ doc/src/Section_commands.txt | 44 +- doc/src/Section_intro.txt | 2 +- doc/src/Section_start.txt | 100 ++--- doc/src/Speed.txt | 69 ++++ doc/src/{Section_perf.txt => Speed_bench.txt} | 19 +- doc/src/Speed_compare.txt | 73 ++++ doc/src/{accelerate_gpu.txt => Speed_gpu.txt} | 15 +- .../{accelerate_intel.txt => Speed_intel.txt} | 14 +- ...accelerate_kokkos.txt => Speed_kokkos.txt} | 20 +- doc/src/Speed_measure.txt | 55 +++ doc/src/{accelerate_omp.txt => Speed_omp.txt} | 11 +- doc/src/{accelerate_opt.txt => Speed_opt.txt} | 11 +- doc/src/Speed_packages.txt | 191 +++++++++ doc/src/Speed_tips.txt | 63 +++ doc/src/angle_charmm.txt | 11 +- doc/src/angle_class2.txt | 11 +- doc/src/angle_cosine.txt | 11 +- doc/src/angle_cosine_delta.txt | 11 +- doc/src/angle_cosine_periodic.txt | 11 +- doc/src/angle_cosine_shift.txt | 11 +- doc/src/angle_cosine_shift_exp.txt | 11 +- doc/src/angle_cosine_squared.txt | 11 +- doc/src/angle_dipole.txt | 11 +- doc/src/angle_fourier.txt | 11 +- doc/src/angle_fourier_simple.txt | 11 +- doc/src/angle_harmonic.txt | 11 +- doc/src/angle_quartic.txt | 11 +- doc/src/angle_table.txt | 11 +- doc/src/atom_style.txt | 12 +- doc/src/bond_class2.txt | 11 +- doc/src/bond_fene.txt | 11 +- doc/src/bond_fene_expand.txt | 11 +- doc/src/bond_gromos.txt | 11 +- doc/src/bond_harmonic.txt | 11 +- doc/src/bond_harmonic_shift.txt | 11 +- doc/src/bond_harmonic_shift_cut.txt | 11 +- doc/src/bond_morse.txt | 11 +- doc/src/bond_nonlinear.txt | 11 +- doc/src/bond_quartic.txt | 11 +- doc/src/bond_table.txt | 11 +- doc/src/compute_pressure.txt | 11 +- doc/src/compute_temp.txt | 11 +- doc/src/compute_temp_partial.txt | 11 +- doc/src/dihedral_charmm.txt | 11 +- doc/src/dihedral_class2.txt | 11 +- doc/src/dihedral_cosine_shift_exp.txt | 11 +- doc/src/dihedral_fourier.txt | 11 +- doc/src/dihedral_harmonic.txt | 11 +- doc/src/dihedral_helix.txt | 11 +- doc/src/dihedral_multi_harmonic.txt | 11 +- doc/src/dihedral_nharmonic.txt | 11 +- doc/src/dihedral_opls.txt | 11 +- doc/src/dihedral_quadratic.txt | 11 +- doc/src/dihedral_table.txt | 11 +- doc/src/fix_addforce.txt | 16 +- doc/src/fix_aveforce.txt | 16 +- doc/src/fix_deform.txt | 13 +- doc/src/fix_dpd_energy.txt | 11 +- doc/src/fix_enforce2d.txt | 11 +- doc/src/fix_eos_table_rx.txt | 11 +- doc/src/fix_freeze.txt | 16 +- doc/src/fix_gravity.txt | 11 +- doc/src/fix_langevin.txt | 11 +- doc/src/fix_momentum.txt | 11 +- doc/src/fix_nh.txt | 11 +- doc/src/fix_nph_asphere.txt | 11 +- doc/src/fix_nph_body.txt | 11 +- doc/src/fix_nph_sphere.txt | 11 +- doc/src/fix_nphug.txt | 11 +- doc/src/fix_npt_asphere.txt | 11 +- doc/src/fix_npt_body.txt | 11 +- doc/src/fix_npt_sphere.txt | 11 +- doc/src/fix_nve.txt | 11 +- doc/src/fix_nve_asphere.txt | 11 +- doc/src/fix_nve_sphere.txt | 11 +- doc/src/fix_nvt_asphere.txt | 11 +- doc/src/fix_nvt_body.txt | 11 +- doc/src/fix_nvt_sllod.txt | 11 +- doc/src/fix_nvt_sphere.txt | 11 +- doc/src/fix_qeq_comb.txt | 11 +- doc/src/fix_qeq_reax.txt | 11 +- doc/src/fix_rigid.txt | 11 +- doc/src/fix_rx.txt | 11 +- doc/src/fix_setforce.txt | 16 +- doc/src/fix_shake.txt | 16 +- doc/src/fix_shardlow.txt | 11 +- doc/src/fix_wall.txt | 11 +- doc/src/fix_wall_reflect.txt | 11 +- doc/src/improper_class2.txt | 11 +- doc/src/improper_cossq.txt | 11 +- doc/src/improper_cvff.txt | 11 +- doc/src/improper_fourier.txt | 11 +- doc/src/improper_harmonic.txt | 11 +- doc/src/improper_ring.txt | 11 +- doc/src/improper_umbrella.txt | 11 +- doc/src/kspace_style.txt | 15 +- doc/src/lammps.book | 12 +- doc/src/package.txt | 6 +- doc/src/pair_adp.txt | 11 +- doc/src/pair_agni.txt | 14 +- doc/src/pair_airebo.txt | 11 +- doc/src/pair_beck.txt | 11 +- doc/src/pair_born.txt | 11 +- doc/src/pair_buck.txt | 11 +- doc/src/pair_buck_long.txt | 11 +- doc/src/pair_charmm.txt | 11 +- doc/src/pair_class2.txt | 11 +- doc/src/pair_colloid.txt | 11 +- doc/src/pair_comb.txt | 11 +- doc/src/pair_coul.txt | 11 +- doc/src/pair_dipole.txt | 11 +- doc/src/pair_dpd.txt | 11 +- doc/src/pair_dpd_fdt.txt | 11 +- doc/src/pair_eam.txt | 9 +- doc/src/pair_edip.txt | 11 +- doc/src/pair_eim.txt | 11 +- doc/src/pair_exp6_rx.txt | 11 +- doc/src/pair_gauss.txt | 11 +- doc/src/pair_gayberne.txt | 11 +- doc/src/pair_gran.txt | 11 +- doc/src/pair_gromacs.txt | 11 +- doc/src/pair_hbond_dreiding.txt | 11 +- doc/src/pair_hybrid.txt | 8 +- doc/src/pair_kim.txt | 4 +- doc/src/pair_lj.txt | 11 +- doc/src/pair_lj96.txt | 11 +- doc/src/pair_lj_cubic.txt | 11 +- doc/src/pair_lj_expand.txt | 11 +- doc/src/pair_lj_long.txt | 11 +- doc/src/pair_lj_smooth.txt | 11 +- doc/src/pair_lj_smooth_linear.txt | 11 +- doc/src/pair_lj_soft.txt | 11 +- doc/src/pair_meam_spline.txt | 11 +- doc/src/pair_morse.txt | 11 +- doc/src/pair_multi_lucy_rx.txt | 11 +- doc/src/pair_nb3b_harmonic.txt | 11 +- doc/src/pair_nm.txt | 11 +- doc/src/pair_peri.txt | 11 +- doc/src/pair_reaxc.txt | 21 +- doc/src/pair_resquared.txt | 11 +- doc/src/pair_sdk.txt | 11 +- doc/src/pair_snap.txt | 11 +- doc/src/pair_soft.txt | 11 +- doc/src/pair_sw.txt | 11 +- doc/src/pair_table.txt | 11 +- doc/src/pair_table_rx.txt | 11 +- doc/src/pair_tersoff.txt | 11 +- doc/src/pair_tersoff_mod.txt | 11 +- doc/src/pair_tersoff_zbl.txt | 11 +- doc/src/pair_thole.txt | 11 +- doc/src/pair_ufm.txt | 11 +- doc/src/pair_vashishta.txt | 11 +- doc/src/pair_yukawa.txt | 11 +- doc/src/pair_yukawa_colloid.txt | 11 +- doc/src/pair_zbl.txt | 11 +- doc/src/region.txt | 16 +- doc/src/run_style.txt | 30 +- 166 files changed, 1621 insertions(+), 1640 deletions(-) create mode 100644 doc/src/Packages.txt rename doc/src/{Section_packages.txt => Packages_details.txt} (86%) create mode 100644 doc/src/Packages_standard.txt create mode 100644 doc/src/Packages_user.txt delete mode 100644 doc/src/Section_accelerate.txt create mode 100644 doc/src/Speed.txt rename doc/src/{Section_perf.txt => Speed_bench.txt} (86%) create mode 100644 doc/src/Speed_compare.txt rename doc/src/{accelerate_gpu.txt => Speed_gpu.txt} (96%) rename doc/src/{accelerate_intel.txt => Speed_intel.txt} (98%) rename doc/src/{accelerate_kokkos.txt => Speed_kokkos.txt} (97%) create mode 100644 doc/src/Speed_measure.txt rename doc/src/{accelerate_omp.txt => Speed_omp.txt} (96%) rename doc/src/{accelerate_opt.txt => Speed_opt.txt} (86%) create mode 100644 doc/src/Speed_packages.txt create mode 100644 doc/src/Speed_tips.txt diff --git a/doc/src/Errors_messages.txt b/doc/src/Errors_messages.txt index 1563e02901..39eabbd232 100644 --- a/doc/src/Errors_messages.txt +++ b/doc/src/Errors_messages.txt @@ -21,9 +21,9 @@ means that line #78 in the file src/velocity.cpp generated the error. Looking in the source code may help you figure out what went wrong. Note that error messages from "user-contributed -packages"_Section_package.html#table_user are not listed here. If -such an error occurs and is not self-explanatory, you'll need to look -in the source code or contact the author of the package. +packages"_Packages_user.html are not listed here. If such an error +occurs and is not self-explanatory, you'll need to look in the source +code or contact the author of the package. Doc page with "WARNING messages"_Errors_warnings.html diff --git a/doc/src/Errors_warnings.txt b/doc/src/Errors_warnings.txt index 0324f563b6..1da777043c 100644 --- a/doc/src/Errors_warnings.txt +++ b/doc/src/Errors_warnings.txt @@ -21,9 +21,9 @@ means that line #187 in the file src/domain.cpp generated the error. Looking in the source code may help you figure out what went wrong. Note that warning messages from "user-contributed -packages"_Section_start.html#table_user are not listed here. If such -a warning occurs and is not self-explanatory, you'll need to look in -the source code or contact the author of the package. +packages"_Packages_user.html are not listed here. If such a warning +occurs and is not self-explanatory, you'll need to look in the source +code or contact the author of the package. Doc page with "ERROR messages"_Errors_messages.html diff --git a/doc/src/Examples.txt b/doc/src/Examples.txt index 08afca8b20..467ddcc959 100644 --- a/doc/src/Examples.txt +++ b/doc/src/Examples.txt @@ -143,5 +143,5 @@ The USER directory has a large number of sub-directories which correspond by name to a USER package. They contain scripts that illustrate how to use the command(s) provided in that package. Many of the sub-directories have their own README files which give further -instructions. See the "Section 4"_Section_packages.html doc +instructions. See the "Packages_details"_Packages_details.html doc page for more info on specific USER packages. diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index 4481c911a0..31b8a6a1d4 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -111,11 +111,10 @@ it gives quick access to documentation for all LAMMPS commands. Section_intro Section_start Section_commands - Section_packages - Section_accelerate + Packages + Speed Section_howto Examples - Section_perf Tools Modify Python @@ -167,19 +166,8 @@ END_RST --> 3.3 "Input script structure"_cmd_3 :b 3.4 "Commands listed by category"_cmd_4 :b 3.5 "Commands listed alphabetically"_cmd_5 :ule,b -"Packages"_Section_packages.html :l - 4.1 "Standard packages"_pkg_1 :ulb,b - 4.2 "User packages"_pkg_2 :ule,b -"Accelerating LAMMPS performance"_Section_accelerate.html :l - 5.1 "Measuring performance"_acc_1 :ulb,b - 5.2 "Algorithms and code options to boost performace"_acc_2 :b - 5.3 "Accelerator packages with optimized styles"_acc_3 :b - 5.3.1 "GPU package"_accelerate_gpu.html :b - 5.3.2 "USER-INTEL package"_accelerate_intel.html :b - 5.3.3 "KOKKOS package"_accelerate_kokkos.html :b - 5.3.4 "USER-OMP package"_accelerate_omp.html :b - 5.3.5 "OPT package"_accelerate_opt.html :b - 5.4 "Comparison of various accelerator packages"_acc_4 :ule,b +"Optional packages"_Packages.html :l +"Accelerate performance"_Speed.html :l "How-to discussions"_Section_howto.html :l 6.1 "Restarting a simulation"_howto_1 :ulb,b 6.2 "2d simulations"_howto_2 :b @@ -209,7 +197,6 @@ END_RST --> 6.26 "Adiabatic core/shell model"_howto_26 :b 6.27 "Drude induced dipoles"_howto_27 :ule,b "Example scripts"_Examples.html :l -"Performance & scalability"_Section_perf.html :l "Auxiliary tools"_Tools.html :l "Modify & extend LAMMPS"_Modify.html :l "Use Python with LAMMPS"_Python.html :l @@ -240,14 +227,6 @@ END_RST --> :link(cmd_4,Section_commands.html#cmd_4) :link(cmd_5,Section_commands.html#cmd_5) -:link(pkg_1,Section_packages.html#pkg_1) -:link(pkg_2,Section_packages.html#pkg_2) - -:link(acc_1,Section_accelerate.html#acc_1) -:link(acc_2,Section_accelerate.html#acc_2) -:link(acc_3,Section_accelerate.html#acc_3) -:link(acc_4,Section_accelerate.html#acc_4) - :link(howto_1,Section_howto.html#howto_1) :link(howto_2,Section_howto.html#howto_2) :link(howto_3,Section_howto.html#howto_3) diff --git a/doc/src/Packages.txt b/doc/src/Packages.txt new file mode 100644 index 0000000000..6498d03063 --- /dev/null +++ b/doc/src/Packages.txt @@ -0,0 +1,39 @@ +"Previous Section"_Section_commands.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Speed.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Optional packages :h2 + +This section gives an overview of the optional packages that extend +LAMMPS functionality. Packages are groups of files that enable a +specific set of features. For example, force fields for molecular +systems or rigid-body constraint are in packages. You can see the +list of all packages and "make" commands to manage them by typing +"make package" from within the src directory of the LAMMPS +distribution. "Section 2.3"_Section_start.html#start_3 gives general +info on how to install and un-install packages as part of the LAMMPS +build process. + + + + + +"Standard packages"_Packages_standard.html +"User packages"_Packages_user.html +"Details on each package"_Packages_details.html :ul + + diff --git a/doc/src/Section_packages.txt b/doc/src/Packages_details.txt similarity index 86% rename from doc/src/Section_packages.txt rename to doc/src/Packages_details.txt index 340a77310d..af18d097d9 100644 --- a/doc/src/Section_packages.txt +++ b/doc/src/Packages_details.txt @@ -1,6 +1,5 @@ -"Previous Section"_Section_commands.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_accelerate.html :c +"Higher level section"_Packages.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -8,152 +7,89 @@ Section"_Section_accelerate.html :c :line -4. Packages :h2 - -This section gives an overview of the optional packages that extend -LAMMPS functionality with instructions on how to build LAMMPS with -each of them. Packages are groups of files that enable a specific set -of features. For example, force fields for molecular systems or -granular systems are in packages. You can see the list of all -packages and "make" commands to manage them by typing "make package" -from within the src directory of the LAMMPS distribution. "Section -2.3"_Section_start.html#start_3 gives general info on how to install -and un-install packages as part of the LAMMPS build process. - -There are two kinds of packages in LAMMPS, standard and user packages: - -"Table of standard packages"_#table_standard -"Table of user packages"_#table_user :ul - -Either of these kinds of packages may work as is, may require some -additional code compiled located in the lib folder, or may require -an external library to be downloaded, compiled, installed, and LAMMPS -configured to know about its location and additional compiler flags. -You can often do the build of the internal or external libraries -in one step by typing "make lib-name args='...'" from the src dir, -with appropriate arguments included in args='...'. If you just type -"make lib-name" you should see a help message about supported flags -and some examples. For more details about this, please study the -tables below and the sections about the individual packages. - -Standard packages are supported by the LAMMPS developers and are -written in a syntax and style consistent with the rest of LAMMPS. -This means the developers will answer questions about them, debug and -fix them if necessary, and keep them compatible with future changes to -LAMMPS. - -User packages have been contributed by users, and begin with the -"user" prefix. If they are a single command (single file), they are -typically in the user-misc package. User packages don't necessarily -meet the requirements of the standard packages. This means the -developers will try to keep things working and usually can answer -technical questions about compiling the package. If you have problems -using a feature provided in a user package, you may need to contact -the contributor directly to get help. Information on how to submit -additions you make to LAMMPS as single files or as a standard or user -package are given in the "Modify contribute"_Modify.html doc page. - -Following the next two tables is a sub-section for each package. It -lists authors (if applicable) and summarizes the package contents. It -has specific instructions on how to install the package, including (if -necessary) downloading or building any extra library it requires. It -also gives links to documentation, example scripts, and -pictures/movies (if available) that illustrate use of the package. +Package details :h3 + +Here is a brief description of all the standard and user packages in +LAMMPS. It lists authors (if applicable) and summarizes the package +contents. It has specific instructions on how to install the package, +including, if necessary, info on how to download or build any extra +library it requires. It also gives links to documentation, example +scripts, and pictures/movies (if available) that illustrate use of the +package. NOTE: To see the complete list of commands a package adds to LAMMPS, -just look at the files in its src directory, e.g. "ls src/GRANULAR". -Files with names that start with fix, compute, atom, pair, bond, -angle, etc correspond to commands with the same style names. - -In these two tables, the "Example" column is a sub-directory in the -examples directory of the distribution which has an input script that -uses the package. E.g. "peptide" refers to the examples/peptide -directory; USER/atc refers to the examples/USER/atc directory. The -"Library" column indicates whether an extra library is needed to build -and use the package: - -dash = no library -sys = system library: you likely have it on your machine -int = internal library: provided with LAMMPS, but you may need to build it -ext = external library: you will need to download and install it on your machine :ul - -:line -:line - -[Standard packages] :link(table_standard),p - -Package, Description, Doc page, Example, Library -"ASPHERE"_#ASPHERE, aspherical particle models, "Section 6.6.14"_Section_howto.html#howto_14, ellipse, - -"BODY"_#BODY, body-style particles, "body"_body.html, body, - -"CLASS2"_#CLASS2, class 2 force fields, "pair_style lj/class2"_pair_class2.html, -, - -"COLLOID"_#COLLOID, colloidal particles, "atom_style colloid"_atom_style.html, colloid, - -"COMPRESS"_#COMPRESS, I/O compression, "dump */gz"_dump.html, -, sys -"CORESHELL"_#CORESHELL, adiabatic core/shell model, "Section 6.6.25"_Section_howto.html#howto_25, coreshell, - -"DIPOLE"_#DIPOLE, point dipole particles, "pair_style dipole/cut"_pair_dipole.html, dipole, - -"GPU"_#GPU, GPU-enabled styles, "Section 5.3.1"_accelerate_gpu.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, int -"GRANULAR"_#GRANULAR, granular systems, "Section 6.6.6"_Section_howto.html#howto_6, pour, - -"KIM"_#KIM, OpenKIM wrapper, "pair_style kim"_pair_kim.html, kim, ext -"KOKKOS"_#KOKKOS, Kokkos-enabled styles, "Section 5.3.3"_accelerate_kokkos.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - -"KSPACE"_#KSPACE, long-range Coulombic solvers, "kspace_style"_kspace_style.html, peptide, - -"LATTE"_#LATTE, quantum DFTB forces via LATTE, "fix latte"_fix_latte.html, latte, ext -"MANYBODY"_#MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, - -"MC"_#MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, -, - -"MEAM"_#MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int -"MISC"_#MISC, miscellanous single-file commands, -, -, - -"MOLECULE"_#MOLECULE, molecular system force fields, "Section 6.6.3"_Section_howto.html#howto_3, peptide, - -"MPIIO"_#MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, -, - -"MSCG"_#MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext -"OPT"_#OPT, optimized pair styles, "Section 5.3.5"_accelerate_opt.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - -"PERI"_#PERI, Peridynamics models, "pair_style peri"_pair_peri.html, peri, - -"POEMS"_#POEMS, coupled rigid body motion, "fix poems"_fix_poems.html, rigid, int -"PYTHON"_#PYTHON, embed Python code in an input script, "python"_python.html, python, sys -"QEQ"_#QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, - -"REAX"_#REAX, ReaxFF potential (Fortran), "pair_style reax"_pair_reax.html, reax, int -"REPLICA"_#REPLICA, multi-replica methods, "Section 6.6.5"_Section_howto.html#howto_5, tad, - -"RIGID"_#RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, - -"SHOCK"_#SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, - -"SNAP"_#SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, - -"SPIN"_#SPIN, magnetic atomic spin dynamics, "Section 6.6.28"_Section_howto.html#howto_28, SPIN, - -"SRD"_#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, - -"VORONOI"_#VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext :tb(ea=c,ca1=l) - -[USER packages] :link(table_user),p - -Package, Description, Doc page, Example, Library -"USER-ATC"_#USER-ATC, atom-to-continuum coupling, "fix atc"_fix_atc.html, USER/atc, int -"USER-AWPMD"_#USER-AWPMD, wave-packet MD, "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, int -"USER-BOCS"_#USER-BOCS, BOCS bottom up coarse graining, "fix bocs"_fix_bocs.html, USER/bocs, - -"USER-CGDNA"_#USER-CGDNA, coarse-grained DNA force fields, src/USER-CGDNA/README, USER/cgdna, - -"USER-CGSDK"_#USER-CGSDK, SDK coarse-graining model, "pair_style lj/sdk"_pair_sdk.html, USER/cgsdk, - -"USER-COLVARS"_#USER-COLVARS, collective variables library, "fix colvars"_fix_colvars.html, USER/colvars, int -"USER-DIFFRACTION"_#USER-DIFFRACTION, virtual x-ray and electron diffraction,"compute xrd"_compute_xrd.html, USER/diffraction, - -"USER-DPD"_#USER-DPD, reactive dissipative particle dynamics, src/USER-DPD/README, USER/dpd, - -"USER-DRUDE"_#USER-DRUDE, Drude oscillators, "tutorial"_tutorial_drude.html, USER/drude, - -"USER-EFF"_#USER-EFF, electron force field,"pair_style eff/cut"_pair_eff.html, USER/eff, - -"USER-FEP"_#USER-FEP, free energy perturbation,"compute fep"_compute_fep.html, USER/fep, - -"USER-H5MD"_#USER-H5MD, dump output via HDF5,"dump h5md"_dump_h5md.html, -, ext -"USER-INTEL"_#USER-INTEL, optimized Intel CPU and KNL styles,"Section 5.3.2"_accelerate_intel.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - -"USER-LB"_#USER-LB, Lattice Boltzmann fluid,"fix lb/fluid"_fix_lb_fluid.html, USER/lb, - -"USER-MANIFOLD"_#USER-MANIFOLD, motion on 2d surfaces,"fix manifoldforce"_fix_manifoldforce.html, USER/manifold, - -"USER-MEAMC"_#USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meam.html, meam, - -"USER-MESO"_#USER-MESO, mesoscale DPD models, "pair_style edpd"_pair_meso.html, USER/meso, - -"USER-MGPT"_#USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, - -"USER-MISC"_#USER-MISC, single-file contributions, USER-MISC/README, USER/misc, - -"USER-MOFFF"_#USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, - -"USER-MOLFILE"_#USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, -, ext -"USER-NETCDF"_#USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, -, ext -"USER-OMP"_#USER-OMP, OpenMP-enabled styles,"Section 5.3.4"_accelerate_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - -"USER-PHONON"_#USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, - -"USER-QMMM"_#USER-QMMM, QM/MM coupling,"fix qmmm"_fix_qmmm.html, USER/qmmm, ext -"USER-QTB"_#USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, - -"USER-QUIP"_#USER-QUIP, QUIP/libatoms interface,"pair_style quip"_pair_quip.html, USER/quip, ext -"USER-REAXC"_#USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, - -"USER-SMD"_#USER-SMD, smoothed Mach dynamics,"SMD User Guide"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, ext -"USER-SMTBQ"_#USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, - -"USER-SPH"_#USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, - -"USER-TALLY"_#USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, - -"USER-UEF"_#USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, - -"USER-VTK"_#USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, -, ext :tb(ea=c,ca1=l) +you can examine the files in its src directory, e.g. "ls +src/GRANULAR". Files with names that start with fix, compute, atom, +pair, bond, angle, etc correspond to commands with the same style name +as contained in the file name. + +"ASPHERE"_#ASPHERE, +"BODY"_#BODY, +"CLASS2"_#CLASS2, +"COLLOID"_#COLLOID, +"COMPRESS"_#COMPRESS, +"CORESHELL"_#CORESHELL, +"DIPOLE"_#DIPOLE, +"GPU"_#GPU, +"GRANULAR"_#GRANULAR, +"KIM"_#KIM, +"KOKKOS"_#KOKKOS, +"KSPACE"_#KSPACE, +"LATTE"_#LATTE, +"MANYBODY"_#MANYBODY, +"MC"_#MC, +"MEAM"_#MEAM, +"MISC"_#MISC, +"MOLECULE"_#MOLECULE, +"MPIIO"_#MPIIO, +"MSCG"_#MSCG, +"OPT"_#OPT, +"PERI"_#PERI, +"POEMS"_#POEMS, +"PYTHON"_#PYTHON, +"QEQ"_#QEQ, +"REAX"_#REAX, +"REPLICA"_#REPLICA, +"RIGID"_#RIGID, +"SHOCK"_#SHOCK, +"SNAP"_#SNAP, +"SRD"_#SRD, +"VORONOI"_#VORONOI :tb(c=6,ea=c) + +"USER-ATC"_#USER-ATC, +"USER-AWPMD"_#USER-AWPMD, +"USER-BOCS"_#USER-BOCS, +"USER-CGDNA"_#USER-CGDNA, +"USER-CGSDK"_#USER-CGSDK, +"USER-COLVARS"_#USER-COLVARS, +"USER-DIFFRACTION"_#USER-DIFFRACTION, +"USER-DPD"_#USER-DPD, +"USER-DRUDE"_#USER-DRUDE, +"USER-EFF"_#USER-EFF, +"USER-FEP"_#USER-FEP, +"USER-H5MD"_#USER-H5MD, +"USER-INTEL"_#USER-INTEL, +"USER-LB"_#USER-LB, +"USER-MANIFOLD"_#USER-MANIFOLD, +"USER-MEAMC"_#USER-MEAMC, +"USER-MESO"_#USER-MESO, +"USER-MGPT"_#USER-MGPT, +"USER-MISC"_#USER-MISC, +"USER-MOFFF"_#USER-MOFFF, +"USER-MOLFILE"_#USER-MOLFILE, +"USER-NETCDF"_#USER-NETCDF, +"USER-OMP"_#USER-OMP, +"USER-PHONON"_#USER-PHONON, +"USER-QMMM"_#USER-QMMM, +"USER-QTB"_#USER-QTB, +"USER-QUIP"_#USER-QUIP, +"USER-REAXC"_#USER-REAXC, +"USER-SMD"_#USER-SMD, +"USER-SMTBQ"_#USER-SMTBQ, +"USER-SPH"_#USER-SPH, +"USER-TALLY"_#USER-TALLY, +"USER-UEF"_#USER-UEF, +"USER-VTK"_#USER-VTK :tb(c=6,ea=c) :line :line @@ -380,14 +316,14 @@ GPU package :link(GPU),h4 [Contents:] Dozens of pair styles and a version of the PPPM long-range Coulombic -solver optimized for GPUs. All such styles have a "gpu" as a -suffix in their style name. The GPU code can be compiled with either -CUDA or OpenCL, however the OpenCL variants are no longer actively -maintained and only the CUDA versions are regularly tested. -"Section 5.3.1"_accelerate_gpu.html gives details of what -hardware and GPU software is required on your system, -and details on how to build and use this package. Its styles can be -invoked at run time via the "-sf gpu" or "-suffix gpu" "command-line +solver optimized for GPUs. All such styles have a "gpu" as a suffix +in their style name. The GPU code can be compiled with either CUDA or +OpenCL, however the OpenCL variants are no longer actively maintained +and only the CUDA versions are regularly tested. The "Speed +gpu"_Speed_gpu.html doc page gives details of what hardware and GPU +software is required on your system, and details on how to build and +use this package. Its styles can be invoked at run time via the "-sf +gpu" or "-suffix gpu" "command-line switches"_Section_start.html#start_6. See also the "KOKKOS"_#KOKKOS package, which has GPU-enabled styles. @@ -453,8 +389,8 @@ GPU library. src/GPU: filenames -> commands src/GPU/README lib/gpu/README -"Section 5.3"_Section_accelerate.html#acc_3 -"Section 5.3.1"_accelerate_gpu.html +"Speed packages"_Speed_packages.html +"Speed gpu"_Speed_gpu.html.html "Section 2.6 -sf gpu"_Section_start.html#start_6 "Section 2.6 -pk gpu"_Section_start.html#start_6 "package gpu"_package.html @@ -579,10 +515,10 @@ Dozens of atom, pair, bond, angle, dihedral, improper, fix, compute styles adapted to compile using the Kokkos library which can convert them to OpenMP or CUDA code so that they run efficiently on multicore CPUs, KNLs, or GPUs. All the styles have a "kk" as a suffix in their -style name. "Section 5.3.3"_accelerate_kokkos.html gives details of -what hardware and software is required on your system, and how to -build and use this package. Its styles can be invoked at run time via -the "-sf kk" or "-suffix kk" "command-line +style name. The "Speed kokkos"_Speed_kokkos.html doc page gives +details of what hardware and software is required on your system, and +how to build and use this package. Its styles can be invoked at run +time via the "-sf kk" or "-suffix kk" "command-line switches"_Section_start.html#start_6. Also see the "GPU"_#GPU, "OPT"_#OPT, "USER-INTEL"_#USER-INTEL, and "USER-OMP"_#USER-OMP packages, which have styles optimized for CPUs, KNLs, and GPUs. @@ -649,8 +585,8 @@ make machine :pre src/KOKKOS: filenames -> commands src/KOKKOS/README lib/kokkos/README -"Section 5.3"_Section_accelerate.html#acc_3 -"Section 5.3.3"_accelerate_kokkos.html +"Speed packages"_Speed_packages.html +"Speed kokkos"_Speed_kokkos.html "Section 2.6 -k on ..."_Section_start.html#start_6 "Section 2.6 -sf kk"_Section_start.html#start_6 "Section 2.6 -pk kokkos"_Section_start.html#start_6 @@ -1048,9 +984,9 @@ OPT package :link(OPT),h4 A handful of pair styles which are optimized for improved CPU performance on single or multiple cores. These include EAM, LJ, CHARMM, and Morse potentials. The styles have an "opt" suffix in -their style name. "Section 5.3.5"_accelerate_opt.html gives details -of how to build and use this package. Its styles can be invoked at -run time via the "-sf opt" or "-suffix opt" "command-line +their style name. The "Speed opt"_Speed_opt.html doc page gives +details of how to build and use this package. Its styles can be +invoked at run time via the "-sf opt" or "-suffix opt" "command-line switches"_Section_start.html#start_6. See also the "KOKKOS"_#KOKKOS, "USER-INTEL"_#USER-INTEL, and "USER-OMP"_#USER-OMP packages, which have styles optimized for CPU performance. @@ -1076,8 +1012,8 @@ CCFLAGS: add -restrict for Intel compilers :ul [Supporting info:] src/OPT: filenames -> commands -"Section 5.3"_Section_accelerate.html#acc_3 -"Section 5.3.5"_accelerate_opt.html +"Speed packages"_Speed_packages.html +"Speed opt"_Speed_opt.html "Section 2.6 -sf opt"_Section_start.html#start_6 Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 for pair styles followed by (t) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul @@ -1178,10 +1114,10 @@ PYTHON package :link(PYTHON),h4 A "python"_python.html command which allow you to execute Python code from a LAMMPS input script. The code can be in a separate file or -embedded in the input script itself. See the "Python -call"_Python_call.html doc page for an overview of using Python from -LAMMPS in this manner and the "Python"_Python.html doc page for other -ways to use LAMMPS and Python together. +embedded in the input script itself. See "Section +11.2"_Section_python.html#py_2 for an overview of using Python from +LAMMPS in this manner and the entire section for other ways to use +LAMMPS and Python together. [Install or un-install:] @@ -1202,7 +1138,7 @@ to Makefile.lammps) if the LAMMPS build fails. [Supporting info:] src/PYTHON: filenames -> commands -"Python call"_Python_call.html +"Section 11"_Section_python.html lib/python/README examples/python :ul @@ -1415,38 +1351,6 @@ examples/snap :ul :line -SPIN package :link(SPIN),h4 - -[Contents:] - -Model atomic magnetic spins classically, coupled to atoms moving in -the usual manner via MD. Various pair, fix, and compute styles. - -[Author:] Julian Tranchida (Sandia). - -[Install or un-install:] - -make yes-spin -make machine :pre - -make no-spin -make machine :pre - -[Supporting info:] - -src/SPIN: filenames -> commands -"Section 6.28"_Section_howto.html#howto_28 -"pair_style spin/dmi"_pair_spin_dmi.html -"pair_style spin/exchange"_pair_spin_exchange.html -"pair_style spin/magelec"_pair_spin_magelec.html -"pair_style spin/neel"_pair_spin_neel.html -"fix nve/spin"_fix_nve_spin.html -"fix precession/spin"_fix_precession_spin.html -"compute spin"_compute_spin.html -examples/SPIN :ul - -:line - SRD package :link(SRD),h4 [Contents:] @@ -2065,8 +1969,8 @@ USER-INTEL package :link(USER-INTEL),h4 Dozens of pair, fix, bond, angle, dihedral, improper, and kspace styles which are optimized for Intel CPUs and KNLs (Knights Landing). -All of them have an "intel" in their style name. "Section -5.3.2"_accelerate_intel.html gives details of what hardware and +All of them have an "intel" in their style name. The "Speed +intel"_Speed_intel.html doc page gives details of what hardware and compilers are required on your system, and how to build and use this package. Its styles can be invoked at run time via the "-sf intel" or "-suffix intel" "command-line switches"_Section_start.html#start_6. @@ -2116,7 +2020,7 @@ hardware target, to produce a separate executable. You should also typically install the USER-OMP package, as it can be used in tandem with the USER-INTEL package to good effect, as -explained in "Section 5.3.2"_accelerate_intel.html. +explained on the "Speed intel"_Speed_intel.html doc page. make yes-user-intel yes-user-omp make machine :pre @@ -2128,8 +2032,8 @@ make machine :pre src/USER-INTEL: filenames -> commands src/USER-INTEL/README -"Section 5.3"_Section_accelerate.html#acc_3 -"Section 5.3.2"_accelerate_gpu.html +"Speed packages"_Speed_packages.html +"Speed intel"_Speed_intel.html "Section 2.6 -sf intel"_Section_start.html#start_6 "Section 2.6 -pk intel"_Section_start.html#start_6 "package intel"_package.html @@ -2475,10 +2379,10 @@ USER-OMP package :link(USER-OMP),h4 Hundreds of pair, fix, compute, bond, angle, dihedral, improper, and kspace styles which are altered to enable threading on many-core CPUs via OpenMP directives. All of them have an "omp" in their style name. -"Section 5.3.4"_accelerate_omp.html gives details of what hardware and -compilers are required on your system, and how to build and use this -package. Its styles can be invoked at run time via the "-sf omp" or -"-suffix omp" "command-line switches"_Section_start.html#start_6. +The "Speed omp"_Speed_omp.html doc page gives details of what hardware +and compilers are required on your system, and how to build and use +this package. Its styles can be invoked at run time via the "-sf omp" +or "-suffix omp" "command-line switches"_Section_start.html#start_6. Also see the "KOKKOS"_#KOKKOS, "OPT"_#OPT, and "USER-INTEL"_#USER-INTEL packages, which have styles optimized for CPUs. @@ -2513,8 +2417,8 @@ LINKFLAGS: add -fopenmp :ul src/USER-OMP: filenames -> commands src/USER-OMP/README -"Section 5.3"_Section_accelerate.html#acc_3 -"Section 5.3.4"_accelerate_omp.html +"Speed packages"_Speed_packages.html +"Speed omp"_Speed_omp.html "Section 2.6 -sf omp"_Section_start.html#start_6 "Section 2.6 -pk omp"_Section_start.html#start_6 "package omp"_package.html diff --git a/doc/src/Packages_standard.txt b/doc/src/Packages_standard.txt new file mode 100644 index 0000000000..095bf699a6 --- /dev/null +++ b/doc/src/Packages_standard.txt @@ -0,0 +1,65 @@ +"Higher level section"_Packages.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Standard packages :h3 + +This is the list of standard packages in LAMMPS. The link for each +package name gives more details. + +Standard packages are supported by the LAMMPS developers and are +written in a syntax and style consistent with the rest of LAMMPS. +This means the developers will answer questions about them, debug and +fix them if necessary, and keep them compatible with future changes to +LAMMPS. + +The "Example" column is a sub-directory in the examples directory of +the distribution which has an input script that uses the package. +E.g. "peptide" refers to the examples/peptide directory; USER/atc +refers to the examples/USER/atc directory. The "Library" column +indicates whether an extra library is needed to build and use the +package: + +dash = no library +sys = system library: you likely have it on your machine +int = internal library: provided with LAMMPS, but you may need to build it +ext = external library: you will need to download and install it on your machine :ul + +Package, Description, Doc page, Example, Library +"ASPHERE"_Packages_details.html#ASPHERE, aspherical particle models, "Section 6.6.14"_Section_howto.html#howto_14, ellipse, - +"BODY"_Packages_details.html#BODY, body-style particles, "body"_body.html, body, - +"CLASS2"_Packages_details.html#CLASS2, class 2 force fields, "pair_style lj/class2"_pair_class2.html, -, - +"COLLOID"_Packages_details.html#COLLOID, colloidal particles, "atom_style colloid"_atom_style.html, colloid, - +"COMPRESS"_Packages_details.html#COMPRESS, I/O compression, "dump */gz"_dump.html, -, sys +"CORESHELL"_Packages_details.html#CORESHELL, adiabatic core/shell model, "Section 6.6.25"_Section_howto.html#howto_25, coreshell, - +"DIPOLE"_Packages_details.html#DIPOLE, point dipole particles, "pair_style dipole/cut"_pair_dipole.html, dipole, - +"GPU"_Packages_details.html#GPU, GPU-enabled styles, "Section gpu"_Speed_gpu.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, int +"GRANULAR"_Packages_details.html#GRANULAR, granular systems, "Section 6.6.6"_Section_howto.html#howto_6, pour, - +"KIM"_Packages_details.html#KIM, OpenKIM wrapper, "pair_style kim"_pair_kim.html, kim, ext +"KOKKOS"_Packages_details.html#KOKKOS, Kokkos-enabled styles, "Speed kokkos"_Speed_kokkos.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - +"KSPACE"_Packages_details.html#KSPACE, long-range Coulombic solvers, "kspace_style"_kspace_style.html, peptide, - +"LATTE"_Packages_details.html#LATTE, quantum DFTB forces via LATTE, "fix latte"_fix_latte.html, latte, ext +"MANYBODY"_Packages_details.html#MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, - +"MC"_Packages_details.html#MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, -, - +"MEAM"_Packages_details.html#MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int +"MISC"_Packages_details.html#MISC, miscellanous single-file commands, -, -, - +"MOLECULE"_Packages_details.html#MOLECULE, molecular system force fields, "Section 6.6.3"_Section_howto.html#howto_3, peptide, - +"MPIIO"_Packages_details.html#MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, -, - +"MSCG"_Packages_details.html#MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext +"OPT"_Packages_details.html#OPT, optimized pair styles, "Speed opt"_Speed_opt.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - +"PERI"_Packages_details.html#PERI, Peridynamics models, "pair_style peri"_pair_peri.html, peri, - +"POEMS"_Packages_details.html#POEMS, coupled rigid body motion, "fix poems"_fix_poems.html, rigid, int +"PYTHON"_Packages_details.html#PYTHON, embed Python code in an input script, "python"_python.html, python, sys +"QEQ"_Packages_details.html#QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, - +"REAX"_Packages_details.html#REAX, ReaxFF potential (Fortran), "pair_style reax"_pair_reax.html, reax, int +"REPLICA"_Packages_details.html#REPLICA, multi-replica methods, "Section 6.6.5"_Section_howto.html#howto_5, tad, - +"RIGID"_Packages_details.html#RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, - +"SHOCK"_Packages_details.html#SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, - +"SNAP"_Packages_details.html#SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, - +"SRD"_Packages_details.html#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, - +"VORONOI"_Packages_details.html#VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext :tb(ea=c,ca1=l) diff --git a/doc/src/Packages_user.txt b/doc/src/Packages_user.txt new file mode 100644 index 0000000000..73c7fdb65d --- /dev/null +++ b/doc/src/Packages_user.txt @@ -0,0 +1,74 @@ +"Higher level section"_Packages.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +User packages :h3 + +This is a list of user packages in LAMMPS. The link for each package +name gives more details. + +User packages have been contributed by users, and begin with the +"user" prefix. If a contribution is a single command (single file), +it is typically in the user-misc package. User packages don't +necessarily meet the requirements of the "standard +packages"_Packages_standard.html. This means the developers will try +to keep things working and usually can answer technical questions +about compiling the package. If you have problems using a specific +feature provided in a user package, you may need to contact the +contributor directly to get help. Information on how to submit +additions you make to LAMMPS as single files or as a standard or user +package is explained on the "Modify contribute"_Modify_contribute.html +doc page. + +The "Example" column is a sub-directory in the examples directory of +the distribution which has an input script that uses the package. +E.g. "peptide" refers to the examples/peptide directory; USER/atc +refers to the examples/USER/atc directory. The "Library" column +indicates whether an extra library is needed to build and use the +package: + +dash = no library +sys = system library: you likely have it on your machine +int = internal library: provided with LAMMPS, but you may need to build it +ext = external library: you will need to download and install it on your machine :ul + +Package, Description, Doc page, Example, Library +"USER-ATC"_Packages_details.html#USER-ATC, atom-to-continuum coupling, "fix atc"_fix_atc.html, USER/atc, int +"USER-AWPMD"_Packages_details.html#USER-AWPMD, wave-packet MD, "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, int +"USER-BOCS"_Packages_details.html#USER-BOCS, BOCS bottom up coarse graining, "fix bocs"_fix_bocs.html, USER/bocs, - +"USER-CGDNA"_Packages_details.html#USER-CGDNA, coarse-grained DNA force fields, src/USER-CGDNA/README, USER/cgdna, - +"USER-CGSDK"_Packages_details.html#USER-CGSDK, SDK coarse-graining model, "pair_style lj/sdk"_pair_sdk.html, USER/cgsdk, - +"USER-COLVARS"_Packages_details.html#USER-COLVARS, collective variables library, "fix colvars"_fix_colvars.html, USER/colvars, int +"USER-DIFFRACTION"_Packages_details.html#USER-DIFFRACTION, virtual x-ray and electron diffraction,"compute xrd"_compute_xrd.html, USER/diffraction, - +"USER-DPD"_Packages_details.html#USER-DPD, reactive dissipative particle dynamics, src/USER-DPD/README, USER/dpd, - +"USER-DRUDE"_Packages_details.html#USER-DRUDE, Drude oscillators, "tutorial"_tutorial_drude.html, USER/drude, - +"USER-EFF"_Packages_details.html#USER-EFF, electron force field,"pair_style eff/cut"_pair_eff.html, USER/eff, - +"USER-FEP"_Packages_details.html#USER-FEP, free energy perturbation,"compute fep"_compute_fep.html, USER/fep, - +"USER-H5MD"_Packages_details.html#USER-H5MD, dump output via HDF5,"dump h5md"_dump_h5md.html, -, ext +"USER-INTEL"_Packages_details.html#USER-INTEL, optimized Intel CPU and KNL styles,"Speed intel"_Speed_intel.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - +"USER-LB"_Packages_details.html#USER-LB, Lattice Boltzmann fluid,"fix lb/fluid"_fix_lb_fluid.html, USER/lb, - +"USER-MANIFOLD"_Packages_details.html#USER-MANIFOLD, motion on 2d surfaces,"fix manifoldforce"_fix_manifoldforce.html, USER/manifold, - +"USER-MEAMC"_Packages_details.html#USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meam.html, meam, - +"USER-MESO"_Packages_details.html#USER-MESO, mesoscale DPD models, "pair_style edpd"_pair_meso.html, USER/meso, - +"USER-MGPT"_Packages_details.html#USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, - +"USER-MISC"_Packages_details.html#USER-MISC, single-file contributions, USER-MISC/README, USER/misc, - +"USER-MOFFF"_Packages_details.html#USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, - +"USER-MOLFILE"_Packages_details.html#USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, -, ext +"USER-NETCDF"_Packages_details.html#USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, -, ext +"USER-OMP"_Packages_details.html#USER-OMP, OpenMP-enabled styles,"Speed omp"_Speed_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - +"USER-PHONON"_Packages_details.html#USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, - +"USER-QMMM"_Packages_details.html#USER-QMMM, QM/MM coupling,"fix qmmm"_fix_qmmm.html, USER/qmmm, ext +"USER-QTB"_Packages_details.html#USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, - +"USER-QUIP"_Packages_details.html#USER-QUIP, QUIP/libatoms interface,"pair_style quip"_pair_quip.html, USER/quip, ext +"USER-REAXC"_Packages_details.html#USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, - +"USER-SMD"_Packages_details.html#USER-SMD, smoothed Mach dynamics,"SMD User Guide"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, ext +"USER-SMTBQ"_Packages_details.html#USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, - +"USER-SPH"_Packages_details.html#USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, - +"USER-TALLY"_Packages_details.html#USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, - +"USER-UEF"_Packages_details.html#USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, - +"USER-VTK"_Packages_details.html#USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, -, ext :tb(ea=c,ca1=l) diff --git a/doc/src/Section_accelerate.txt b/doc/src/Section_accelerate.txt deleted file mode 100644 index d5cbf77a84..0000000000 --- a/doc/src/Section_accelerate.txt +++ /dev/null @@ -1,391 +0,0 @@ -"Previous Section"_Section_packages.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_howto.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -5. Accelerating LAMMPS performance :h2 - -This section describes various methods for improving LAMMPS -performance for different classes of problems running on different -kinds of machines. - -There are two thrusts to the discussion that follows. The -first is using code options that implement alternate algorithms -that can speed-up a simulation. The second is to use one -of the several accelerator packages provided with LAMMPS that -contain code optimized for certain kinds of hardware, including -multi-core CPUs, GPUs, and Intel Xeon Phi coprocessors. - -5.1 "Measuring performance"_#acc_1 :ulb,l -5.2 "Algorithms and code options to boost performace"_#acc_2 :l -5.3 "Accelerator packages with optimized styles"_#acc_3 :l - 5.3.1 "GPU package"_accelerate_gpu.html :l - 5.3.2 "USER-INTEL package"_accelerate_intel.html :l - 5.3.3 "KOKKOS package"_accelerate_kokkos.html :l - 5.3.4 "USER-OMP package"_accelerate_omp.html :l - 5.3.5 "OPT package"_accelerate_opt.html :l -5.4 "Comparison of various accelerator packages"_#acc_4 :l -:ule - -The "Benchmark page"_http://lammps.sandia.gov/bench.html of the LAMMPS -web site gives performance results for the various accelerator -packages discussed in Section 5.2, for several of the standard LAMMPS -benchmark problems, as a function of problem size and number of -compute nodes, on different hardware platforms. - -:line -:line - -5.1 Measuring performance :h3,link(acc_1) - -Before trying to make your simulation run faster, you should -understand how it currently performs and where the bottlenecks are. - -The best way to do this is run the your system (actual number of -atoms) for a modest number of timesteps (say 100 steps) on several -different processor counts, including a single processor if possible. -Do this for an equilibrium version of your system, so that the -100-step timings are representative of a much longer run. There is -typically no need to run for 1000s of timesteps to get accurate -timings; you can simply extrapolate from short runs. - -For the set of runs, look at the timing data printed to the screen and -log file at the end of each LAMMPS run. "This -section"_Section_start.html#start_7 of the manual has an overview. - -Running on one (or a few processors) should give a good estimate of -the serial performance and what portions of the timestep are taking -the most time. Running the same problem on a few different processor -counts should give an estimate of parallel scalability. I.e. if the -simulation runs 16x faster on 16 processors, its 100% parallel -efficient; if it runs 8x faster on 16 processors, it's 50% efficient. - -The most important data to look at in the timing info is the timing -breakdown and relative percentages. For example, trying different -options for speeding up the long-range solvers will have little impact -if they only consume 10% of the run time. If the pairwise time is -dominating, you may want to look at GPU or OMP versions of the pair -style, as discussed below. Comparing how the percentages change as -you increase the processor count gives you a sense of how different -operations within the timestep are scaling. Note that if you are -running with a Kspace solver, there is additional output on the -breakdown of the Kspace time. For PPPM, this includes the fraction -spent on FFTs, which can be communication intensive. - -Another important detail in the timing info are the histograms of -atoms counts and neighbor counts. If these vary widely across -processors, you have a load-imbalance issue. This often results in -inaccurate relative timing data, because processors have to wait when -communication occurs for other processors to catch up. Thus the -reported times for "Communication" or "Other" may be higher than they -really are, due to load-imbalance. If this is an issue, you can -uncomment the MPI_Barrier() lines in src/timer.cpp, and recompile -LAMMPS, to obtain synchronized timings. - -:line - -5.2 General strategies :h3,link(acc_2) - -NOTE: this section 5.2 is still a work in progress - -Here is a list of general ideas for improving simulation performance. -Most of them are only applicable to certain models and certain -bottlenecks in the current performance, so let the timing data you -generate be your guide. It is hard, if not impossible, to predict how -much difference these options will make, since it is a function of -problem size, number of processors used, and your machine. There is -no substitute for identifying performance bottlenecks, and trying out -various options. - -rRESPA -2-FFT PPPM -Staggered PPPM -single vs double PPPM -partial charge PPPM -verlet/split run style -processor command for proc layout and numa layout -load-balancing: balance and fix balance :ul - -2-FFT PPPM, also called {analytic differentiation} or {ad} PPPM, uses -2 FFTs instead of the 4 FFTs used by the default {ik differentiation} -PPPM. However, 2-FFT PPPM also requires a slightly larger mesh size to -achieve the same accuracy as 4-FFT PPPM. For problems where the FFT -cost is the performance bottleneck (typically large problems running -on many processors), 2-FFT PPPM may be faster than 4-FFT PPPM. - -Staggered PPPM performs calculations using two different meshes, one -shifted slightly with respect to the other. This can reduce force -aliasing errors and increase the accuracy of the method, but also -doubles the amount of work required. For high relative accuracy, using -staggered PPPM allows one to half the mesh size in each dimension as -compared to regular PPPM, which can give around a 4x speedup in the -kspace time. However, for low relative accuracy, using staggered PPPM -gives little benefit and can be up to 2x slower in the kspace -time. For example, the rhodopsin benchmark was run on a single -processor, and results for kspace time vs. relative accuracy for the -different methods are shown in the figure below. For this system, -staggered PPPM (using ik differentiation) becomes useful when using a -relative accuracy of slightly greater than 1e-5 and above. - -:c,image(JPG/rhodo_staggered.jpg) - -NOTE: Using staggered PPPM may not give the same increase in accuracy -of energy and pressure as it does in forces, so some caution must be -used if energy and/or pressure are quantities of interest, such as -when using a barostat. - -:line - -5.3 Packages with optimized styles :h3,link(acc_3) - -Accelerated versions of various "pair_style"_pair_style.html, -"fixes"_fix.html, "computes"_compute.html, and other commands have -been added to LAMMPS, which will typically run faster than the -standard non-accelerated versions. Some require appropriate hardware -to be present on your system, e.g. GPUs or Intel Xeon Phi -coprocessors. - -All of these commands are in packages provided with LAMMPS. An -overview of packages is give in "Section -packages"_Section_packages.html. - -These are the accelerator packages -currently in LAMMPS, either as standard or user packages: - -"GPU Package"_accelerate_gpu.html : for NVIDIA GPUs as well as OpenCL support -"USER-INTEL Package"_accelerate_intel.html : for Intel CPUs and Intel Xeon Phi -"KOKKOS Package"_accelerate_kokkos.html : for Nvidia GPUs, Intel Xeon Phi, and OpenMP threading -"USER-OMP Package"_accelerate_omp.html : for OpenMP threading and generic CPU optimizations -"OPT Package"_accelerate_opt.html : generic CPU optimizations :tb(s=:) - - - -Inverting this list, LAMMPS currently has acceleration support for -three kinds of hardware, via the listed packages: - -Many-core CPUs : "USER-INTEL"_accelerate_intel.html, "KOKKOS"_accelerate_kokkos.html, "USER-OMP"_accelerate_omp.html, "OPT"_accelerate_opt.html packages -NVIDIA GPUs : "GPU"_accelerate_gpu.html, "KOKKOS"_accelerate_kokkos.html packages -Intel Phi : "USER-INTEL"_accelerate_intel.html, "KOKKOS"_accelerate_kokkos.html packages :tb(s=:) - -Which package is fastest for your hardware may depend on the size -problem you are running and what commands (accelerated and -non-accelerated) are invoked by your input script. While these doc -pages include performance guidelines, there is no substitute for -trying out the different packages appropriate to your hardware. - -Any accelerated style has the same name as the corresponding standard -style, except that a suffix is appended. Otherwise, the syntax for -the command that uses the style is identical, their functionality is -the same, and the numerical results it produces should also be the -same, except for precision and round-off effects. - -For example, all of these styles are accelerated variants of the -Lennard-Jones "pair_style lj/cut"_pair_lj.html: - -"pair_style lj/cut/gpu"_pair_lj.html -"pair_style lj/cut/intel"_pair_lj.html -"pair_style lj/cut/kk"_pair_lj.html -"pair_style lj/cut/omp"_pair_lj.html -"pair_style lj/cut/opt"_pair_lj.html :ul - -To see what accelerate styles are currently available, see -"Section 3.5"_Section_commands.html#cmd_5 of the manual. The -doc pages for individual commands (e.g. "pair lj/cut"_pair_lj.html or -"fix nve"_fix_nve.html) also list any accelerated variants available -for that style. - -To use an accelerator package in LAMMPS, and one or more of the styles -it provides, follow these general steps. Details vary from package to -package and are explained in the individual accelerator doc pages, -listed above: - -build the accelerator library | - only for GPU package | -install the accelerator package | - make yes-opt, make yes-user-intel, etc | -add compile/link flags to Makefile.machine in src/MAKE | - only for USER-INTEL, KOKKOS, USER-OMP, OPT packages | -re-build LAMMPS | - make machine | -prepare and test a regular LAMMPS simulation | - lmp_machine -in in.script; mpirun -np 32 lmp_machine -in in.script | -enable specific accelerator support via '-k on' "command-line switch"_Section_start.html#start_6, | - only needed for KOKKOS package | -set any needed options for the package via "-pk" "command-line switch"_Section_start.html#start_6 or "package"_package.html command, | - only if defaults need to be changed | -use accelerated styles in your input via "-sf" "command-line switch"_Section_start.html#start_6 or "suffix"_suffix.html command | lmp_machine -in in.script -sf gpu -:tb(c=2,s=|) - -Note that the first 4 steps can be done as a single command with -suitable make command invocations. This is discussed in "Section -4"_Section_packages.html of the manual, and its use is -illustrated in the individual accelerator sections. Typically these -steps only need to be done once, to create an executable that uses one -or more accelerator packages. - -The last 4 steps can all be done from the command-line when LAMMPS is -launched, without changing your input script, as illustrated in the -individual accelerator sections. Or you can add -"package"_package.html and "suffix"_suffix.html commands to your input -script. - -NOTE: With a few exceptions, you can build a single LAMMPS executable -with all its accelerator packages installed. Note however that the -USER-INTEL and KOKKOS packages require you to choose one of their -hardware options when building for a specific platform. I.e. CPU or -Phi option for the USER-INTEL package. Or the OpenMP, Cuda, or Phi -option for the KOKKOS package. - -These are the exceptions. You cannot build a single executable with: - -both the USER-INTEL Phi and KOKKOS Phi options -the USER-INTEL Phi or Kokkos Phi option, and the GPU package :ul - -See the examples/accelerate/README and make.list files for sample -Make.py commands that build LAMMPS with any or all of the accelerator -packages. As an example, here is a command that builds with all the -GPU related packages installed (GPU, KOKKOS with Cuda), including -settings to build the needed auxiliary GPU libraries for Kepler GPUs: - -Make.py -j 16 -p omp gpu kokkos -cc nvcc wrap=mpi \ - -gpu mode=double arch=35 -kokkos cuda arch=35 lib-all file mpi :pre - -The examples/accelerate directory also has input scripts that can be -used with all of the accelerator packages. See its README file for -details. - -Likewise, the bench directory has FERMI and KEPLER and PHI -sub-directories with Make.py commands and input scripts for using all -the accelerator packages on various machines. See the README files in -those dirs. - -As mentioned above, the "Benchmark -page"_http://lammps.sandia.gov/bench.html of the LAMMPS web site gives -performance results for the various accelerator packages for several -of the standard LAMMPS benchmark problems, as a function of problem -size and number of compute nodes, on different hardware platforms. - -Here is a brief summary of what the various packages provide. Details -are in the individual accelerator sections. - -Styles with a "gpu" suffix are part of the GPU package, and can be run -on NVIDIA GPUs. The speed-up on a GPU depends on a variety of -factors, discussed in the accelerator sections. :ulb,l - -Styles with an "intel" suffix are part of the USER-INTEL -package. These styles support vectorized single and mixed precision -calculations, in addition to full double precision. In extreme cases, -this can provide speedups over 3.5x on CPUs. The package also -supports acceleration in "offload" mode to Intel(R) Xeon Phi(TM) -coprocessors. This can result in additional speedup over 2x depending -on the hardware configuration. :l - -Styles with a "kk" suffix are part of the KOKKOS package, and can be -run using OpenMP on multicore CPUs, on an NVIDIA GPU, or on an Intel -Xeon Phi in "native" mode. The speed-up depends on a variety of -factors, as discussed on the KOKKOS accelerator page. :l - -Styles with an "omp" suffix are part of the USER-OMP package and allow -a pair-style to be run in multi-threaded mode using OpenMP. This can -be useful on nodes with high-core counts when using less MPI processes -than cores is advantageous, e.g. when running with PPPM so that FFTs -are run on fewer MPI processors or when the many MPI tasks would -overload the available bandwidth for communication. :l - -Styles with an "opt" suffix are part of the OPT package and typically -speed-up the pairwise calculations of your simulation by 5-25% on a -CPU. :l -:ule - -The individual accelerator package doc pages explain: - -what hardware and software the accelerated package requires -how to build LAMMPS with the accelerated package -how to run with the accelerated package either via command-line switches or modifying the input script -speed-ups to expect -guidelines for best performance -restrictions :ul - -:line - -5.4 Comparison of various accelerator packages :h3,link(acc_4) - -NOTE: this section still needs to be re-worked with additional KOKKOS -and USER-INTEL information. - -The next section compares and contrasts the various accelerator -options, since there are multiple ways to perform OpenMP threading, -run on GPUs, and run on Intel Xeon Phi coprocessors. - -All 3 of these packages accelerate a LAMMPS calculation using NVIDIA -hardware, but they do it in different ways. - -As a consequence, for a particular simulation on specific hardware, -one package may be faster than the other. We give guidelines below, -but the best way to determine which package is faster for your input -script is to try both of them on your machine. See the benchmarking -section below for examples where this has been done. - -[Guidelines for using each package optimally:] - -The GPU package allows you to assign multiple CPUs (cores) to a single -GPU (a common configuration for "hybrid" nodes that contain multicore -CPU(s) and GPU(s)) and works effectively in this mode. :ulb,l - -The GPU package moves per-atom data (coordinates, forces) -back-and-forth between the CPU and GPU every timestep. The -KOKKOS/CUDA package only does this on timesteps when a CPU calculation -is required (e.g. to invoke a fix or compute that is non-GPU-ized). -Hence, if you can formulate your input script to only use GPU-ized -fixes and computes, and avoid doing I/O too often (thermo output, dump -file snapshots, restart files), then the data transfer cost of the -KOKKOS/CUDA package can be very low, causing it to run faster than the -GPU package. :l - -The GPU package is often faster than the KOKKOS/CUDA package, if the -number of atoms per GPU is smaller. The crossover point, in terms of -atoms/GPU at which the KOKKOS/CUDA package becomes faster depends -strongly on the pair style. For example, for a simple Lennard Jones -system the crossover (in single precision) is often about 50K-100K -atoms per GPU. When performing double precision calculations the -crossover point can be significantly smaller. :l - -Both packages compute bonded interactions (bonds, angles, etc) on the -CPU. If the GPU package is running with several MPI processes -assigned to one GPU, the cost of computing the bonded interactions is -spread across more CPUs and hence the GPU package can run faster. :l - -When using the GPU package with multiple CPUs assigned to one GPU, its -performance depends to some extent on high bandwidth between the CPUs -and the GPU. Hence its performance is affected if full 16 PCIe lanes -are not available for each GPU. In HPC environments this can be the -case if S2050/70 servers are used, where two devices generally share -one PCIe 2.0 16x slot. Also many multi-GPU mainboards do not provide -full 16 lanes to each of the PCIe 2.0 16x slots. :l -:ule - -[Differences between the two packages:] - -The GPU package accelerates only pair force, neighbor list, and PPPM -calculations. :ulb,l - -The GPU package requires neighbor lists to be built on the CPU when using -exclusion lists, hybrid pair styles, or a triclinic simulation box. :l -:ule diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index 7b9349a233..7948e0de32 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -1,4 +1,4 @@ -"Previous Section"_Section_start.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_packages.html :c +"Previous Section"_Section_start.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Packages.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -554,8 +554,8 @@ Fix styles :h3 See the "fix"_fix.html command for one-line descriptions of each style or click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if LAMMPS is built -with the "appropriate accelerated package"_Section_accelerate.html. -This is indicated by additional letters in parenthesis: g = GPU, i = +with the "appropriate accelerated package"_Speed_packages.html. This +is indicated by additional letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. "adapt"_fix_adapt.html, @@ -775,9 +775,9 @@ See the "compute"_compute.html command for one-line descriptions of each style or click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if LAMMPS is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. +package"_Speed_packages.html. This is indicated by additional letters +in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. "aggregate/atom"_compute_cluster_atom.html, "angle"_compute_angle.html, @@ -920,9 +920,9 @@ See the "pair_style"_pair_style.html command for an overview of pair potentials. Click on the style itself for a full description. Many of the styles have accelerated versions, which can be used if LAMMPS is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. +package"_Speed_packages.html. This is indicated by additional letters +in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. "none"_pair_none.html, "zero"_pair_zero.html, @@ -1142,9 +1142,9 @@ See the "bond_style"_bond_style.html command for an overview of bond potentials. Click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if LAMMPS is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. +package"_Speed_packages.html. This is indicated by additional letters +in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. "none"_bond_none.html, "zero"_bond_zero.html, @@ -1176,9 +1176,9 @@ See the "angle_style"_angle_style.html command for an overview of angle potentials. Click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if LAMMPS is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = -USER-OMP, t = OPT. +package"_Speed_packages.html. This is indicated by additional letters +in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. "none"_angle_none.html, "zero"_angle_zero.html, @@ -1212,7 +1212,7 @@ See the "dihedral_style"_dihedral_style.html command for an overview of dihedral potentials. Click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if LAMMPS is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional +package"_Speed_packages.html. This is indicated by additional letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. @@ -1247,9 +1247,9 @@ See the "improper_style"_improper_style.html command for an overview of improper potentials. Click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if LAMMPS is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = -USER-OMP, t = OPT. +package"_Speed_packages.html. This is indicated by additional letters +in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. "none"_improper_none.html, "zero"_improper_zero.html, @@ -1276,9 +1276,9 @@ See the "kspace_style"_kspace_style.html command for an overview of Kspace solvers. Click on the style itself for a full description. Some of the styles have accelerated versions, which can be used if LAMMPS is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = -USER-OMP, t = OPT. +package"_Speed_packages.html. This is indicated by additional letters +in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. "ewald (o)"_kspace_style.html, "ewald/disp"_kspace_style.html, diff --git a/doc/src/Section_intro.txt b/doc/src/Section_intro.txt index c7cf5bf8d2..36a1181ca7 100644 --- a/doc/src/Section_intro.txt +++ b/doc/src/Section_intro.txt @@ -253,7 +253,7 @@ Specialized features :h4 LAMMPS can be built with optional packages which implement a variety of additional capabilities. An overview of all the packages is "given -here"_Section_packages.html. +here"_Packages.html. These are some LAMMPS capabilities which you may not think of as typical classical molecular dynamics options: diff --git a/doc/src/Section_start.txt b/doc/src/Section_start.txt index d8f340b179..cd445b3e14 100644 --- a/doc/src/Section_start.txt +++ b/doc/src/Section_start.txt @@ -119,10 +119,11 @@ lower-case name of the package, e.g. replica or user-misc. If you want to do one of the following: -use a LAMMPS command that requires an extra library (e.g. "dump image"_dump_image.html) -build with a package that requires an extra library -build with an accelerator package that requires special compiler/linker settings -run on a machine that has its own compilers, settings, or libraries :ul +use a LAMMPS command that requires an extra library (e.g. "dump +image"_dump_image.html) build with a package that requires an extra +library build with an accelerator package that requires special +compiler/linker settings run on a machine that has its own compilers, +settings, or libraries :ul then building LAMMPS is more complicated. You may need to find where extra libraries exist on your machine or install them if they don't. @@ -697,8 +698,8 @@ are always included, plus optional packages. Packages are groups of files that enable a specific set of features. For example, force fields for molecular systems or granular systems are in packages. -"Section 4"_Section_packages.html in the manual has details about all -the packages, which come in two flavors: [standard] and [user] +The "Packages"_Packages.html doc pages has details about all the +packages, which come in two flavors: [standard] and [user] packages. It also has specific instructions for building LAMMPS with any package which requires an extra library. General instructions are below. @@ -828,45 +829,47 @@ options. Packages that require extra libraries :h4,link(start_3_3) A few of the standard and user packages require extra libraries. See -"Section 4"_Section_packages.html for two tables of packages which -indicate which ones require libraries. For each such package, the -Section 4 doc page gives details on how to build the extra library, -including how to download it if necessary. The basic ideas are -summarized here. +the "Packages"_Packages.html doc pages for two tables of packages +which indicate which ones require libraries. For each such package, +the Section 4 doc page gives details on how to build the extra +library, including how to download it if necessary. The basic ideas +are summarized here. [System libraries:] -Packages in the tables "Section 4"_Section_packages.html with a "sys" -in the last column link to system libraries that typically already -exist on your machine. E.g. the python package links to a system -Python library. If your machine does not have the required library, -you will have to download and install it on your machine, in either -the system or user space. +Packages in the standard and user tables of the +"Packages"_Packages.html doc pages with a "sys" in the last column +link to system libraries that typically already exist on your machine. +E.g. the python package links to a system Python library. If your +machine does not have the required library, you will have to download +and install it on your machine, in either the system or user space. [Internal libraries:] -Packages in the tables "Section 4"_Section_packages.html with an "int" -in the last column link to internal libraries whose source code is -included with LAMMPS, in the lib/name directory where name is the -package name. You must first build the library in that directory -before building LAMMPS with that package installed. E.g. the gpu -package links to a library you build in the lib/gpu dir. You can -often do the build in one step by typing "make lib-name args=..." -from the src dir, with appropriate arguments. You can leave off the -args to see a help message. See "Section 4"_Section_packages.html for -details for each package. +Packages in the standard and user tables of the +"Packages"_Packages.html doc pages with an "int" in the last column +link to internal libraries whose source code is included with LAMMPS, +in the lib/name directory where name is the package name. You must +first build the library in that directory before building LAMMPS with +that package installed. E.g. the gpu package links to a library you +build in the lib/gpu dir. You can often do the build in one step by +typing "make lib-name args=..." from the src dir, with appropriate +arguments. You can leave off the args to see a help message. See the +"Packages details"_Packages_details.html doc page for details for each +package. [External libraries:] -Packages in the tables "Section 4"_Section_packages.html with an "ext" -in the last column link to external libraries whose source code is not -included with LAMMPS. You must first download and install the library -before building LAMMPS with that package installed. E.g. the voronoi -package links to the freely available "Voro++ library"_voro_home2. You -can often do the download/build in one step by typing "make lib-name +Packages in the standard and user tables of the +"Packages"_Packages.html doc pages with an "ext" in the last column +link to external libraries whose source code is not included with +LAMMPS. You must first download and install the library before +building LAMMPS with that package installed. E.g. the voronoi package +links to the freely available "Voro++ library"_voro_home2. You can +often do the download/build in one step by typing "make lib-name args=..." from the src dir, with appropriate arguments. You can leave -off the args to see a help message. See "Section -4"_Section_packages.html for details for each package. +off the args to see a help message. See the "Packages +details"_Packages_details.html doc page for details for each package. :link(voro_home2,http://math.lbl.gov/voro++) @@ -888,9 +891,9 @@ copied from a lib/name/Makefile.lammps.* file when the library is built. If those settings are not correct for your machine you will need to edit or create an appropriate Makefile.lammps file. -Package-specific details for these steps are given in "Section -4"_Section_packages.html an in README files in the lib/name -directories. +Package-specific details for these steps are given on the "Packages +details"_Packages_details.html doc page and in README files in the +lib/name directories. [Compiler options needed for accelerator packages:] @@ -901,14 +904,14 @@ these accelerator packages for optimal performance requires specific settings in the Makefile.machine file you use. A summary of the Makefile.machine settings needed for each of these -packages is given in "Section 4"_Section_packages.html. More info is -given on the doc pages that describe each package in detail: +packages is given on the "Packages"_Packages.html doc pages. More +info is given on the doc pages that describe each package in detail: -5.3.1 "USER-INTEL package"_accelerate_intel.html -5.3.2 "GPU package"_accelerate_intel.html -5.3.3 "KOKKOS package"_accelerate_kokkos.html -5.3.4 "USER-OMP package"_accelerate_omp.html -5.3.5 "OPT package"_accelerate_opt.html :all(b) +"USER-INTEL package"_Speed_intel.html +"GPU package"_Speed_gpu.html +"KOKKOS package"_Speed_kokkos.html +"USER-OMP package"_Speed_omp.html +"OPT package"_Speed_opt.html :all(b) You can also use or examine the following machine Makefiles in src/MAKE/OPTIONS, which include the settings. Note that the @@ -1276,8 +1279,8 @@ Either the full word or an abbreviation can be used for the keywords. Note that the keywords do not use a leading minus sign. I.e. the keyword is "t", not "-t". Also note that each of the keywords has a default setting. Example of when to use these options and what -settings to use on different platforms is given in "Section -5.3"_Section_accelerate.html#acc_3. +settings to use on different platforms is given on the "Speed +kokkos"_Speed_kokkos.html doc page. d or device g or gpus @@ -1461,8 +1464,7 @@ cores within each node are ranked in a desired order. Or when using the "run_style verlet/split"_run_style.html command with 2 partitions to insure that a specific Kspace processor (in the 2nd partition) is matched up with a specific set of processors in the 1st partition. -See the "Section 5"_Section_accelerate.html doc pages for -more details. +See the "Speed tips"_Speed_tips.html doc page for more details. If the keyword {nth} is used with a setting {N}, then it means every Nth processor will be moved to the end of the ranking. This is useful diff --git a/doc/src/Speed.txt b/doc/src/Speed.txt new file mode 100644 index 0000000000..2339a11c06 --- /dev/null +++ b/doc/src/Speed.txt @@ -0,0 +1,69 @@ +"Previous Section"_Package.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Section_howto.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Accelerate performance :h2 + +This section describes various methods for improving LAMMPS +performance for different classes of problems running on different +kinds of machines. + +There are two thrusts to the discussion that follows. The first is +using code options that implement alternate algorithms that can +speed-up a simulation. The second is to use one of the several +accelerator packages provided with LAMMPS that contain code optimized +for certain kinds of hardware, including multi-core CPUs, GPUs, and +Intel Xeon Phi coprocessors. + +The "Benchmark page"_http://lammps.sandia.gov/bench.html of the LAMMPS +web site gives performance results for the various accelerator +packages discussed on the "Speed packages"_Speed_packages.html doc +page, for several of the standard LAMMPS benchmark problems, as a +function of problem size and number of compute nodes, on different +hardware platforms. + + + + + +"Benchmarks"_Speed_bench.html +"Measuring performance"_Speed_measure.html :all(b) + +"General tips"_Speed_tips.html :all(b) + +"Accelerator packages"_Speed_packages.html +"GPU package"_Speed_gpu.html +"USER-INTEL package"_Speed_intel.html +"KOKKOS package"_Speed_kokkos.html +"USER-OMP package"_Speed_omp.html +"OPT package"_Speed_opt.html +"Comparison of accelerator packages"_Speed_compare.html :all(b) + + diff --git a/doc/src/Section_perf.txt b/doc/src/Speed_bench.txt similarity index 86% rename from doc/src/Section_perf.txt rename to doc/src/Speed_bench.txt index f320780129..dc76588c11 100644 --- a/doc/src/Section_perf.txt +++ b/doc/src/Speed_bench.txt @@ -1,6 +1,5 @@ -"Previous Section"_Examples.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Tools.html -:c +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -8,12 +7,12 @@ Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Tools.html :line -8. Performance & scalability :h2 +Benchmarks :h3 -Current LAMMPS performance is discussed on the Benchmarks page of the -"LAMMPS WWW Site"_lws where CPU timings and parallel efficiencies are -listed. The page has several sections, which are briefly described -below: +Current LAMMPS performance is discussed on the "Benchmarks +page"_http://lammps.sandia.gov/bench.html of the "LAMMPS website"_lws +where timings and parallel efficiencies are listed. The page has +several sections, which are briefly described below: CPU performance on 5 standard problems, strong and weak scaling GPU and Xeon Phi performance on same and related problems @@ -53,8 +52,8 @@ of these 5 problems on 1 or 4 cores of Linux desktop. The bench/FERMI and bench/KEPLER dirs have input files and scripts and instructions for running the same (or similar) problems using OpenMP or GPU or Xeon Phi acceleration options. See the README files in those dirs and the -"Section 5.3"_Section_accelerate.html#acc_3 doc pages for -instructions on how to build LAMMPS and run on that kind of hardware. +"Speed packages"_Speed_packages.html doc pages for instructions on how +to build LAMMPS and run on that kind of hardware. The bench/POTENTIALS directory has input files which correspond to the table of results on the diff --git a/doc/src/Speed_compare.txt b/doc/src/Speed_compare.txt new file mode 100644 index 0000000000..6c947b9662 --- /dev/null +++ b/doc/src/Speed_compare.txt @@ -0,0 +1,73 @@ +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Comparison of various accelerator packages :h3 + +NOTE: this section still needs to be re-worked with additional KOKKOS +and USER-INTEL information. + +The next section compares and contrasts the various accelerator +options, since there are multiple ways to perform OpenMP threading, +run on GPUs, and run on Intel Xeon Phi coprocessors. + +All 3 of these packages accelerate a LAMMPS calculation using NVIDIA +hardware, but they do it in different ways. + +As a consequence, for a particular simulation on specific hardware, +one package may be faster than the other. We give guidelines below, +but the best way to determine which package is faster for your input +script is to try both of them on your machine. See the benchmarking +section below for examples where this has been done. + +[Guidelines for using each package optimally:] + +The GPU package allows you to assign multiple CPUs (cores) to a single +GPU (a common configuration for "hybrid" nodes that contain multicore +CPU(s) and GPU(s)) and works effectively in this mode. :ulb,l + +The GPU package moves per-atom data (coordinates, forces) +back-and-forth between the CPU and GPU every timestep. The +KOKKOS/CUDA package only does this on timesteps when a CPU calculation +is required (e.g. to invoke a fix or compute that is non-GPU-ized). +Hence, if you can formulate your input script to only use GPU-ized +fixes and computes, and avoid doing I/O too often (thermo output, dump +file snapshots, restart files), then the data transfer cost of the +KOKKOS/CUDA package can be very low, causing it to run faster than the +GPU package. :l + +The GPU package is often faster than the KOKKOS/CUDA package, if the +number of atoms per GPU is smaller. The crossover point, in terms of +atoms/GPU at which the KOKKOS/CUDA package becomes faster depends +strongly on the pair style. For example, for a simple Lennard Jones +system the crossover (in single precision) is often about 50K-100K +atoms per GPU. When performing double precision calculations the +crossover point can be significantly smaller. :l + +Both packages compute bonded interactions (bonds, angles, etc) on the +CPU. If the GPU package is running with several MPI processes +assigned to one GPU, the cost of computing the bonded interactions is +spread across more CPUs and hence the GPU package can run faster. :l + +When using the GPU package with multiple CPUs assigned to one GPU, its +performance depends to some extent on high bandwidth between the CPUs +and the GPU. Hence its performance is affected if full 16 PCIe lanes +are not available for each GPU. In HPC environments this can be the +case if S2050/70 servers are used, where two devices generally share +one PCIe 2.0 16x slot. Also many multi-GPU mainboards do not provide +full 16 lanes to each of the PCIe 2.0 16x slots. :l +:ule + +[Differences between the two packages:] + +The GPU package accelerates only pair force, neighbor list, and PPPM +calculations. :ulb,l + +The GPU package requires neighbor lists to be built on the CPU when using +exclusion lists, hybrid pair styles, or a triclinic simulation box. :l +:ule diff --git a/doc/src/accelerate_gpu.txt b/doc/src/Speed_gpu.txt similarity index 96% rename from doc/src/accelerate_gpu.txt rename to doc/src/Speed_gpu.txt index 816a31c788..d6ebbf8069 100644 --- a/doc/src/accelerate_gpu.txt +++ b/doc/src/Speed_gpu.txt @@ -1,5 +1,5 @@ -"Previous Section"_Section_packages.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -7,9 +7,7 @@ :line -"Return to Section accelerate overview"_Section_accelerate.html - -5.3.1 GPU package :h5 +GPU package :h3 The GPU package was developed by Mike Brown at ORNL and his collaborators, particularly Trung Nguyen (ORNL). It provides GPU @@ -72,10 +70,9 @@ Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) t [Building LAMMPS with the GPU package:] This requires two steps (a,b): build the GPU library, then build -LAMMPS with the GPU package. - -You can do both these steps in one line as described in -"Section 4"_Section_packages.html of the manual. +LAMMPS with the GPU package. You can do both these steps in one line +as described on the "Packages details"_Packages_details.html#GPU doc +page. Or you can follow these two (a,b) steps: diff --git a/doc/src/accelerate_intel.txt b/doc/src/Speed_intel.txt similarity index 98% rename from doc/src/accelerate_intel.txt rename to doc/src/Speed_intel.txt index 71f5185b15..acf5c3f2f9 100644 --- a/doc/src/accelerate_intel.txt +++ b/doc/src/Speed_intel.txt @@ -1,5 +1,5 @@ -"Previous Section"_Section_packages.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -7,9 +7,7 @@ :line -"Return to Section accelerate overview"_Section_accelerate.html - -5.3.2 USER-INTEL package :h5 +USER-INTEL package :h3 The USER-INTEL package is maintained by Mike Brown at Intel Corporation. It provides two methods for accelerating simulations, @@ -233,9 +231,9 @@ source /opt/intel/parallel_studio_xe_2016.3.067/psxevars.sh # or psxevars.csh for C-shell make intel_cpu_intelmpi :pre -Alternatively this can be done as a single command with -suitable make command invocations. This is discussed in "Section -4"_Section_packages.html of the manual. +Alternatively this can be done as a single command with suitable make +command invocations, as described on the "Packages +details"_Packages_details.html#USER-INTEL doc page. Note that if you build with support for a Phi coprocessor, the same binary can be used on nodes with or without coprocessors installed. diff --git a/doc/src/accelerate_kokkos.txt b/doc/src/Speed_kokkos.txt similarity index 97% rename from doc/src/accelerate_kokkos.txt rename to doc/src/Speed_kokkos.txt index 0c9178d6e4..8e01db7bdc 100644 --- a/doc/src/accelerate_kokkos.txt +++ b/doc/src/Speed_kokkos.txt @@ -1,5 +1,5 @@ -"Previous Section"_Section_packages.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -7,9 +7,7 @@ :line -"Return to Section accelerate overview"_Section_accelerate.html - -5.3.3 KOKKOS package :h5 +KOKKOS package :h3 Kokkos is a templated C++ library that provides abstractions to allow a single implementation of an application kernel (e.g. a pair style) to run efficiently on @@ -85,10 +83,10 @@ make kokkos_phi :pre [Compile for CPUs and GPUs (with OpenMPI or MPICH):] -NOTE: To build with Kokkos support for NVIDIA GPUs, NVIDIA CUDA software -version 7.5 or later must be installed on your system. See the -discussion for the "GPU"_accelerate_gpu.html package for details of -how to check and do this. +NOTE: To build with Kokkos support for NVIDIA GPUs, NVIDIA CUDA +software version 7.5 or later must be installed on your system. See +the discussion for the "GPU package"_Speed_gpu.html for details of how +to check and do this. use a C++11 compatible compiler and set KOKKOS_ARCH variable in /src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi for both GPU and CPU as described @@ -434,8 +432,8 @@ migrate during a simulation. KOKKOS_USE_TPLS=hwloc should always be used if running with KOKKOS_DEVICES=Pthreads for pthreads. It is not necessary for KOKKOS_DEVICES=OpenMP for OpenMP, because OpenMP provides alternative methods via environment variables for binding -threads to hardware cores. More info on binding threads to cores is -given in "Section 5.3"_Section_accelerate.html#acc_3. +threads to hardware cores. More info on binding threads to cores is +given on the "Speed omp"_Speed_omp.html doc page. KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism on most Unix platforms. This library is not available on all diff --git a/doc/src/Speed_measure.txt b/doc/src/Speed_measure.txt new file mode 100644 index 0000000000..03c0345c20 --- /dev/null +++ b/doc/src/Speed_measure.txt @@ -0,0 +1,55 @@ +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Measuring performance :h3 + +Before trying to make your simulation run faster, you should +understand how it currently performs and where the bottlenecks are. + +The best way to do this is run the your system (actual number of +atoms) for a modest number of timesteps (say 100 steps) on several +different processor counts, including a single processor if possible. +Do this for an equilibrium version of your system, so that the +100-step timings are representative of a much longer run. There is +typically no need to run for 1000s of timesteps to get accurate +timings; you can simply extrapolate from short runs. + +For the set of runs, look at the timing data printed to the screen and +log file at the end of each LAMMPS run. "This +section"_Section_start.html#start_7 of the manual has an overview. + +Running on one (or a few processors) should give a good estimate of +the serial performance and what portions of the timestep are taking +the most time. Running the same problem on a few different processor +counts should give an estimate of parallel scalability. I.e. if the +simulation runs 16x faster on 16 processors, its 100% parallel +efficient; if it runs 8x faster on 16 processors, it's 50% efficient. + +The most important data to look at in the timing info is the timing +breakdown and relative percentages. For example, trying different +options for speeding up the long-range solvers will have little impact +if they only consume 10% of the run time. If the pairwise time is +dominating, you may want to look at GPU or OMP versions of the pair +style, as discussed below. Comparing how the percentages change as +you increase the processor count gives you a sense of how different +operations within the timestep are scaling. Note that if you are +running with a Kspace solver, there is additional output on the +breakdown of the Kspace time. For PPPM, this includes the fraction +spent on FFTs, which can be communication intensive. + +Another important detail in the timing info are the histograms of +atoms counts and neighbor counts. If these vary widely across +processors, you have a load-imbalance issue. This often results in +inaccurate relative timing data, because processors have to wait when +communication occurs for other processors to catch up. Thus the +reported times for "Communication" or "Other" may be higher than they +really are, due to load-imbalance. If this is an issue, you can +uncomment the MPI_Barrier() lines in src/timer.cpp, and recompile +LAMMPS, to obtain synchronized timings. + diff --git a/doc/src/accelerate_omp.txt b/doc/src/Speed_omp.txt similarity index 96% rename from doc/src/accelerate_omp.txt rename to doc/src/Speed_omp.txt index fa7bef1a52..3700580225 100644 --- a/doc/src/accelerate_omp.txt +++ b/doc/src/Speed_omp.txt @@ -1,5 +1,5 @@ -"Previous Section"_Section_packages.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -7,9 +7,7 @@ :line -"Return to Section 5 overview"_Section_accelerate.html - -5.3.4 USER-OMP package :h5 +USER-OMP package :h3 The USER-OMP package was developed by Axel Kohlmeyer at Temple University. It provides multi-threaded versions of most pair styles, @@ -39,7 +37,8 @@ each MPI task running on a CPU. The lines above illustrate how to include/build with the USER-OMP package in two steps, using the "make" command. Or how to do it with -one command as described in "Section 4"_Section_packages.html of the manual. +one command as described on the "Packages +details"_Packages_details.html#USER-OMP doc page. Note that the CCFLAGS and LINKFLAGS settings in Makefile.machine must include "-fopenmp". Likewise, if you use an Intel compiler, the diff --git a/doc/src/accelerate_opt.txt b/doc/src/Speed_opt.txt similarity index 86% rename from doc/src/accelerate_opt.txt rename to doc/src/Speed_opt.txt index 845264b522..7d0d7169f0 100644 --- a/doc/src/accelerate_opt.txt +++ b/doc/src/Speed_opt.txt @@ -1,5 +1,5 @@ -"Previous Section"_Section_packages.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -7,9 +7,7 @@ :line -"Return to Section accelerate overview"_Section_accelerate.html - -5.3.5 OPT package :h5 +OPT package :h3 The OPT package was developed by James Fischer (High Performance Technologies), David Richie, and Vincent Natoli (Stone Ridge @@ -34,7 +32,8 @@ None. The lines above illustrate how to build LAMMPS with the OPT package in two steps, using the "make" command. Or how to do it with one command -as described in "Section 4"_Section_packages.html of the manual. +as described on the "Packages details"_Packages_details.html#OPT doc +page. Note that if you use an Intel compiler to build with the OPT package, the CCFLAGS setting in your Makefile.machine must include "-restrict". diff --git a/doc/src/Speed_packages.txt b/doc/src/Speed_packages.txt new file mode 100644 index 0000000000..18850d52e0 --- /dev/null +++ b/doc/src/Speed_packages.txt @@ -0,0 +1,191 @@ +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Accelerator packages :h3 + +Accelerated versions of various "pair_style"_pair_style.html, +"fixes"_fix.html, "computes"_compute.html, and other commands have +been added to LAMMPS, which will typically run faster than the +standard non-accelerated versions. Some require appropriate hardware +to be present on your system, e.g. GPUs or Intel Xeon Phi +coprocessors. + +All of these commands are in packages provided with LAMMPS. An +overview of packages is give on the "Packages"_Packages.html doc +pages. + +These are the accelerator packages currently in LAMMPS, either as +standard or user packages: + +"GPU Package"_accelerate_gpu.html : for NVIDIA GPUs as well as OpenCL support +"USER-INTEL Package"_accelerate_intel.html : for Intel CPUs and Intel Xeon Phi +"KOKKOS Package"_accelerate_kokkos.html : for Nvidia GPUs, Intel Xeon Phi, and OpenMP threading +"USER-OMP Package"_accelerate_omp.html : for OpenMP threading and generic CPU optimizations +"OPT Package"_accelerate_opt.html : generic CPU optimizations :tb(s=:) + + + +Inverting this list, LAMMPS currently has acceleration support for +three kinds of hardware, via the listed packages: + +Many-core CPUs : "USER-INTEL"_accelerate_intel.html, "KOKKOS"_accelerate_kokkos.html, "USER-OMP"_accelerate_omp.html, "OPT"_accelerate_opt.html packages +NVIDIA GPUs : "GPU"_accelerate_gpu.html, "KOKKOS"_accelerate_kokkos.html packages +Intel Phi : "USER-INTEL"_accelerate_intel.html, "KOKKOS"_accelerate_kokkos.html packages :tb(s=:) + +Which package is fastest for your hardware may depend on the size +problem you are running and what commands (accelerated and +non-accelerated) are invoked by your input script. While these doc +pages include performance guidelines, there is no substitute for +trying out the different packages appropriate to your hardware. + +Any accelerated style has the same name as the corresponding standard +style, except that a suffix is appended. Otherwise, the syntax for +the command that uses the style is identical, their functionality is +the same, and the numerical results it produces should also be the +same, except for precision and round-off effects. + +For example, all of these styles are accelerated variants of the +Lennard-Jones "pair_style lj/cut"_pair_lj.html: + +"pair_style lj/cut/gpu"_pair_lj.html +"pair_style lj/cut/intel"_pair_lj.html +"pair_style lj/cut/kk"_pair_lj.html +"pair_style lj/cut/omp"_pair_lj.html +"pair_style lj/cut/opt"_pair_lj.html :ul + +To see what accelerate styles are currently available, see +"Section 3.5"_Section_commands.html#cmd_5 of the manual. The +doc pages for individual commands (e.g. "pair lj/cut"_pair_lj.html or +"fix nve"_fix_nve.html) also list any accelerated variants available +for that style. + +To use an accelerator package in LAMMPS, and one or more of the styles +it provides, follow these general steps. Details vary from package to +package and are explained in the individual accelerator doc pages, +listed above: + +build the accelerator library | + only for GPU package | +install the accelerator package | + make yes-opt, make yes-user-intel, etc | +add compile/link flags to Makefile.machine in src/MAKE | + only for USER-INTEL, KOKKOS, USER-OMP, OPT packages | +re-build LAMMPS | + make machine | +prepare and test a regular LAMMPS simulation | + lmp_machine -in in.script; mpirun -np 32 lmp_machine -in in.script | +enable specific accelerator support via '-k on' "command-line switch"_Section_start.html#start_6, | + only needed for KOKKOS package | +set any needed options for the package via "-pk" "command-line switch"_Section_start.html#start_6 or "package"_package.html command, | + only if defaults need to be changed | +use accelerated styles in your input via "-sf" "command-line switch"_Section_start.html#start_6 or "suffix"_suffix.html command | lmp_machine -in in.script -sf gpu +:tb(c=2,s=|) + +Note that the first 4 steps can be done as a single command with +suitable make command invocations. This is discussed on the +"Packages"_Packages.html doc pages, and its use is illustrated in the +individual accelerator sections. Typically these steps only need to +be done once, to create an executable that uses one or more +accelerator packages. + +The last 4 steps can all be done from the command-line when LAMMPS is +launched, without changing your input script, as illustrated in the +individual accelerator sections. Or you can add +"package"_package.html and "suffix"_suffix.html commands to your input +script. + +NOTE: With a few exceptions, you can build a single LAMMPS executable +with all its accelerator packages installed. Note however that the +USER-INTEL and KOKKOS packages require you to choose one of their +hardware options when building for a specific platform. I.e. CPU or +Phi option for the USER-INTEL package. Or the OpenMP, Cuda, or Phi +option for the KOKKOS package. + +These are the exceptions. You cannot build a single executable with: + +both the USER-INTEL Phi and KOKKOS Phi options +the USER-INTEL Phi or Kokkos Phi option, and the GPU package :ul + +See the examples/accelerate/README and make.list files for sample +Make.py commands that build LAMMPS with any or all of the accelerator +packages. As an example, here is a command that builds with all the +GPU related packages installed (GPU, KOKKOS with Cuda), including +settings to build the needed auxiliary GPU libraries for Kepler GPUs: + +Make.py -j 16 -p omp gpu kokkos -cc nvcc wrap=mpi \ + -gpu mode=double arch=35 -kokkos cuda arch=35 lib-all file mpi :pre + +The examples/accelerate directory also has input scripts that can be +used with all of the accelerator packages. See its README file for +details. + +Likewise, the bench directory has FERMI and KEPLER and PHI +sub-directories with Make.py commands and input scripts for using all +the accelerator packages on various machines. See the README files in +those dirs. + +As mentioned above, the "Benchmark +page"_http://lammps.sandia.gov/bench.html of the LAMMPS web site gives +performance results for the various accelerator packages for several +of the standard LAMMPS benchmark problems, as a function of problem +size and number of compute nodes, on different hardware platforms. + +Here is a brief summary of what the various packages provide. Details +are in the individual accelerator sections. + +Styles with a "gpu" suffix are part of the GPU package, and can be run +on NVIDIA GPUs. The speed-up on a GPU depends on a variety of +factors, discussed in the accelerator sections. :ulb,l + +Styles with an "intel" suffix are part of the USER-INTEL +package. These styles support vectorized single and mixed precision +calculations, in addition to full double precision. In extreme cases, +this can provide speedups over 3.5x on CPUs. The package also +supports acceleration in "offload" mode to Intel(R) Xeon Phi(TM) +coprocessors. This can result in additional speedup over 2x depending +on the hardware configuration. :l + +Styles with a "kk" suffix are part of the KOKKOS package, and can be +run using OpenMP on multicore CPUs, on an NVIDIA GPU, or on an Intel +Xeon Phi in "native" mode. The speed-up depends on a variety of +factors, as discussed on the KOKKOS accelerator page. :l + +Styles with an "omp" suffix are part of the USER-OMP package and allow +a pair-style to be run in multi-threaded mode using OpenMP. This can +be useful on nodes with high-core counts when using less MPI processes +than cores is advantageous, e.g. when running with PPPM so that FFTs +are run on fewer MPI processors or when the many MPI tasks would +overload the available bandwidth for communication. :l + +Styles with an "opt" suffix are part of the OPT package and typically +speed-up the pairwise calculations of your simulation by 5-25% on a +CPU. :l +:ule + +The individual accelerator package doc pages explain: + +what hardware and software the accelerated package requires +how to build LAMMPS with the accelerated package +how to run with the accelerated package either via command-line switches or modifying the input script +speed-ups to expect +guidelines for best performance +restrictions :ul + diff --git a/doc/src/Speed_tips.txt b/doc/src/Speed_tips.txt new file mode 100644 index 0000000000..c0d360cd8e --- /dev/null +++ b/doc/src/Speed_tips.txt @@ -0,0 +1,63 @@ +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +General tips :h3 + +NOTE: this section 5.2 is still a work in progress + +Here is a list of general ideas for improving simulation performance. +Most of them are only applicable to certain models and certain +bottlenecks in the current performance, so let the timing data you +generate be your guide. It is hard, if not impossible, to predict how +much difference these options will make, since it is a function of +problem size, number of processors used, and your machine. There is +no substitute for identifying performance bottlenecks, and trying out +various options. + +make individual pages for these, or one for PPPM +one for timestepping, etc +one for balancing +or proc layout + +rRESPA +2-FFT PPPM +Staggered PPPM +single vs double PPPM +partial charge PPPM +verlet/split run style +processor command for proc layout and numa layout +load-balancing: balance and fix balance :ul + +2-FFT PPPM, also called {analytic differentiation} or {ad} PPPM, uses +2 FFTs instead of the 4 FFTs used by the default {ik differentiation} +PPPM. However, 2-FFT PPPM also requires a slightly larger mesh size to +achieve the same accuracy as 4-FFT PPPM. For problems where the FFT +cost is the performance bottleneck (typically large problems running +on many processors), 2-FFT PPPM may be faster than 4-FFT PPPM. + +Staggered PPPM performs calculations using two different meshes, one +shifted slightly with respect to the other. This can reduce force +aliasing errors and increase the accuracy of the method, but also +doubles the amount of work required. For high relative accuracy, using +staggered PPPM allows one to half the mesh size in each dimension as +compared to regular PPPM, which can give around a 4x speedup in the +kspace time. However, for low relative accuracy, using staggered PPPM +gives little benefit and can be up to 2x slower in the kspace +time. For example, the rhodopsin benchmark was run on a single +processor, and results for kspace time vs. relative accuracy for the +different methods are shown in the figure below. For this system, +staggered PPPM (using ik differentiation) becomes useful when using a +relative accuracy of slightly greater than 1e-5 and above. + +:c,image(JPG/rhodo_staggered.jpg) + +NOTE: Using staggered PPPM may not give the same increase in accuracy +of energy and pressure as it does in forces, so some caution must be +used if energy and/or pressure are quantities of interest, such as +when using a barostat. diff --git a/doc/src/angle_charmm.txt b/doc/src/angle_charmm.txt index 7ff7ef8fd4..fe109d24fb 100644 --- a/doc/src/angle_charmm.txt +++ b/doc/src/angle_charmm.txt @@ -51,10 +51,9 @@ internally; hence the units of K are in energy/radian^2. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -66,8 +65,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_class2.txt b/doc/src/angle_class2.txt index d4330139c9..c13a64afb6 100644 --- a/doc/src/angle_class2.txt +++ b/doc/src/angle_class2.txt @@ -83,10 +83,9 @@ same value from the Ea formula. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -98,8 +97,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_cosine.txt b/doc/src/angle_cosine.txt index c0ce3c9301..99264b02a6 100644 --- a/doc/src/angle_cosine.txt +++ b/doc/src/angle_cosine.txt @@ -38,10 +38,9 @@ K (energy) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -53,8 +52,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_cosine_delta.txt b/doc/src/angle_cosine_delta.txt index 830fd6db58..052300412f 100644 --- a/doc/src/angle_cosine_delta.txt +++ b/doc/src/angle_cosine_delta.txt @@ -43,10 +43,9 @@ internally. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -58,8 +57,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_cosine_periodic.txt b/doc/src/angle_cosine_periodic.txt index b5c53b1b0f..4bedae3246 100644 --- a/doc/src/angle_cosine_periodic.txt +++ b/doc/src/angle_cosine_periodic.txt @@ -51,10 +51,9 @@ geometry. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -66,8 +65,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_cosine_shift.txt b/doc/src/angle_cosine_shift.txt index 6ed9fe2150..185b9f5309 100644 --- a/doc/src/angle_cosine_shift.txt +++ b/doc/src/angle_cosine_shift.txt @@ -41,10 +41,9 @@ theta (angle) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -56,8 +55,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_cosine_shift_exp.txt b/doc/src/angle_cosine_shift_exp.txt index 44a68c1087..e5c7fdd709 100644 --- a/doc/src/angle_cosine_shift_exp.txt +++ b/doc/src/angle_cosine_shift_exp.txt @@ -53,10 +53,9 @@ A (real number) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -68,8 +67,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_cosine_squared.txt b/doc/src/angle_cosine_squared.txt index 065cdad542..e85c514d1e 100644 --- a/doc/src/angle_cosine_squared.txt +++ b/doc/src/angle_cosine_squared.txt @@ -43,10 +43,9 @@ internally. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -58,8 +57,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_dipole.txt b/doc/src/angle_dipole.txt index 34cc8c153c..31ae2e9464 100644 --- a/doc/src/angle_dipole.txt +++ b/doc/src/angle_dipole.txt @@ -71,10 +71,9 @@ gamma0 (degrees) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -86,8 +85,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restrictions:] diff --git a/doc/src/angle_fourier.txt b/doc/src/angle_fourier.txt index da39e7cf32..18eb56b478 100644 --- a/doc/src/angle_fourier.txt +++ b/doc/src/angle_fourier.txt @@ -39,10 +39,9 @@ C2 (real) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -54,8 +53,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_fourier_simple.txt b/doc/src/angle_fourier_simple.txt index 5adda6cb32..6faff5f10d 100644 --- a/doc/src/angle_fourier_simple.txt +++ b/doc/src/angle_fourier_simple.txt @@ -38,10 +38,9 @@ n (real) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -53,8 +52,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_harmonic.txt b/doc/src/angle_harmonic.txt index 4c74763964..fe803be623 100644 --- a/doc/src/angle_harmonic.txt +++ b/doc/src/angle_harmonic.txt @@ -45,10 +45,9 @@ internally; hence the units of K are in energy/radian^2. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -60,8 +59,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_quartic.txt b/doc/src/angle_quartic.txt index f7640bdfbc..a31214f435 100644 --- a/doc/src/angle_quartic.txt +++ b/doc/src/angle_quartic.txt @@ -45,10 +45,9 @@ internally; hence the units of K are in energy/radian^2. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -60,8 +59,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_table.txt b/doc/src/angle_table.txt index bd6e167bd8..29b56875e7 100644 --- a/doc/src/angle_table.txt +++ b/doc/src/angle_table.txt @@ -124,10 +124,9 @@ one that matches the specified keyword. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -139,8 +138,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/atom_style.txt b/doc/src/atom_style.txt index 442bb5ac70..0e6aa8a033 100644 --- a/doc/src/atom_style.txt +++ b/doc/src/atom_style.txt @@ -261,10 +261,10 @@ styles; see the "Modify"_Modify.html doc page. Styles with a {kk} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to -run faster, depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +run faster, depending on your available hardware, as discussed in on +the "Speed packages"_Speed_packages.html doc page. The accelerated +styles take the same arguments and should produce the same results, +except for round-off and precision issues. Note that other acceleration packages in LAMMPS, specifically the GPU, USER-INTEL, USER-OMP, and OPT packages do not use accelerated atom @@ -279,8 +279,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restrictions:] diff --git a/doc/src/bond_class2.txt b/doc/src/bond_class2.txt index 9687a63168..049482c973 100644 --- a/doc/src/bond_class2.txt +++ b/doc/src/bond_class2.txt @@ -44,10 +44,9 @@ K4 (energy/distance^4) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -59,8 +58,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_fene.txt b/doc/src/bond_fene.txt index 9050c3bf5c..be154a53b1 100644 --- a/doc/src/bond_fene.txt +++ b/doc/src/bond_fene.txt @@ -47,10 +47,9 @@ sigma (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -62,8 +61,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_fene_expand.txt b/doc/src/bond_fene_expand.txt index ff687444a9..77ebd977c8 100644 --- a/doc/src/bond_fene_expand.txt +++ b/doc/src/bond_fene_expand.txt @@ -50,10 +50,9 @@ delta (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -65,8 +64,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_gromos.txt b/doc/src/bond_gromos.txt index cc3ff75878..7a56cb3afa 100644 --- a/doc/src/bond_gromos.txt +++ b/doc/src/bond_gromos.txt @@ -40,10 +40,9 @@ r0 (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -55,8 +54,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_harmonic.txt b/doc/src/bond_harmonic.txt index c18a7e0fd4..54e89fcc72 100644 --- a/doc/src/bond_harmonic.txt +++ b/doc/src/bond_harmonic.txt @@ -42,10 +42,9 @@ r0 (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -57,8 +56,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_harmonic_shift.txt b/doc/src/bond_harmonic_shift.txt index bf3b3c115a..0213b5cc6f 100644 --- a/doc/src/bond_harmonic_shift.txt +++ b/doc/src/bond_harmonic_shift.txt @@ -43,10 +43,9 @@ rc (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -58,8 +57,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_harmonic_shift_cut.txt b/doc/src/bond_harmonic_shift_cut.txt index 1918ce00b6..d907bf4a62 100644 --- a/doc/src/bond_harmonic_shift_cut.txt +++ b/doc/src/bond_harmonic_shift_cut.txt @@ -43,10 +43,9 @@ rc (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -58,8 +57,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_morse.txt b/doc/src/bond_morse.txt index 4f6a32e341..66f2d08cab 100644 --- a/doc/src/bond_morse.txt +++ b/doc/src/bond_morse.txt @@ -41,10 +41,9 @@ r0 (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -56,8 +55,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_nonlinear.txt b/doc/src/bond_nonlinear.txt index 434af62506..e0aa5629b3 100644 --- a/doc/src/bond_nonlinear.txt +++ b/doc/src/bond_nonlinear.txt @@ -41,10 +41,9 @@ lamda (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -56,8 +55,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_quartic.txt b/doc/src/bond_quartic.txt index 4dc7ad4a36..760a5d7f07 100644 --- a/doc/src/bond_quartic.txt +++ b/doc/src/bond_quartic.txt @@ -76,10 +76,9 @@ delete_bonds all bond 0 remove :pre Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -91,8 +90,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_table.txt b/doc/src/bond_table.txt index 906d3e5d76..fe0b3ce22b 100644 --- a/doc/src/bond_table.txt +++ b/doc/src/bond_table.txt @@ -121,10 +121,9 @@ one that matches the specified keyword. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -136,8 +135,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/compute_pressure.txt b/doc/src/compute_pressure.txt index f0691ad207..8b7491da49 100644 --- a/doc/src/compute_pressure.txt +++ b/doc/src/compute_pressure.txt @@ -105,10 +105,9 @@ where "thermo_temp" is the ID of a similarly defined compute of style Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -120,8 +119,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/compute_temp.txt b/doc/src/compute_temp.txt index b88be79e20..f9fa56c882 100644 --- a/doc/src/compute_temp.txt +++ b/doc/src/compute_temp.txt @@ -67,10 +67,9 @@ thermostatting. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -82,8 +81,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/compute_temp_partial.txt b/doc/src/compute_temp_partial.txt index fe2420b4e4..59ec8cf20b 100644 --- a/doc/src/compute_temp_partial.txt +++ b/doc/src/compute_temp_partial.txt @@ -74,10 +74,9 @@ thermostatting. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -89,8 +88,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_charmm.txt b/doc/src/dihedral_charmm.txt index 06abe054e4..f808649a44 100644 --- a/doc/src/dihedral_charmm.txt +++ b/doc/src/dihedral_charmm.txt @@ -116,10 +116,9 @@ computed. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -131,8 +130,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_class2.txt b/doc/src/dihedral_class2.txt index cb9fc72c22..41282b22a3 100644 --- a/doc/src/dihedral_class2.txt +++ b/doc/src/dihedral_class2.txt @@ -141,10 +141,9 @@ r3 (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -156,8 +155,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_cosine_shift_exp.txt b/doc/src/dihedral_cosine_shift_exp.txt index 715682affc..483745be41 100644 --- a/doc/src/dihedral_cosine_shift_exp.txt +++ b/doc/src/dihedral_cosine_shift_exp.txt @@ -52,10 +52,9 @@ A (real number) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -67,8 +66,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_fourier.txt b/doc/src/dihedral_fourier.txt index 0accbb22bf..0270139f68 100644 --- a/doc/src/dihedral_fourier.txt +++ b/doc/src/dihedral_fourier.txt @@ -44,10 +44,9 @@ dm (degrees) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -59,8 +58,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_harmonic.txt b/doc/src/dihedral_harmonic.txt index d9a48ff384..a25a7969fe 100644 --- a/doc/src/dihedral_harmonic.txt +++ b/doc/src/dihedral_harmonic.txt @@ -53,10 +53,9 @@ Some force fields let {n} be positive or negative which corresponds to Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -68,8 +67,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_helix.txt b/doc/src/dihedral_helix.txt index 1e907557b2..814962a472 100644 --- a/doc/src/dihedral_helix.txt +++ b/doc/src/dihedral_helix.txt @@ -46,10 +46,9 @@ C (energy) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -61,8 +60,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_multi_harmonic.txt b/doc/src/dihedral_multi_harmonic.txt index 7d3c2ea083..62cad4141a 100644 --- a/doc/src/dihedral_multi_harmonic.txt +++ b/doc/src/dihedral_multi_harmonic.txt @@ -40,10 +40,9 @@ A5 (energy) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -55,8 +54,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_nharmonic.txt b/doc/src/dihedral_nharmonic.txt index 8392d83899..a49979fa66 100644 --- a/doc/src/dihedral_nharmonic.txt +++ b/doc/src/dihedral_nharmonic.txt @@ -40,10 +40,9 @@ An (energy) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -55,8 +54,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_opls.txt b/doc/src/dihedral_opls.txt index d1a6ba3ff2..9b33173da4 100644 --- a/doc/src/dihedral_opls.txt +++ b/doc/src/dihedral_opls.txt @@ -48,10 +48,9 @@ K4 (energy) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -63,8 +62,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_quadratic.txt b/doc/src/dihedral_quadratic.txt index ca2f5aed40..f90c4b79f1 100644 --- a/doc/src/dihedral_quadratic.txt +++ b/doc/src/dihedral_quadratic.txt @@ -41,10 +41,9 @@ phi0 (degrees) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -56,8 +55,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_table.txt b/doc/src/dihedral_table.txt index 0b88f26a61..6a480fec93 100644 --- a/doc/src/dihedral_table.txt +++ b/doc/src/dihedral_table.txt @@ -174,10 +174,9 @@ that matches the specified keyword. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -189,8 +188,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restrictions:] diff --git a/doc/src/fix_addforce.txt b/doc/src/fix_addforce.txt index b2ac95eabb..5bba9acb3f 100644 --- a/doc/src/fix_addforce.txt +++ b/doc/src/fix_addforce.txt @@ -103,12 +103,12 @@ converge properly. :line -Styles with a suffix are functionally the same as the corresponding -style without the suffix. They have been optimized to run faster, -depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -120,8 +120,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_aveforce.txt b/doc/src/fix_aveforce.txt index 5d7dec3e6a..4944996695 100644 --- a/doc/src/fix_aveforce.txt +++ b/doc/src/fix_aveforce.txt @@ -63,12 +63,12 @@ to it. :line -Styles with a suffix are functionally the same as the corresponding -style without the suffix. They have been optimized to run faster, -depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -80,8 +80,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_deform.txt b/doc/src/fix_deform.txt index c870c73bdc..681986561a 100644 --- a/doc/src/fix_deform.txt +++ b/doc/src/fix_deform.txt @@ -94,7 +94,7 @@ nvt/sllod"_fix_nvt_sllod.html and "compute temp/deform"_compute_temp_deform.html commands for more details. Note that simulation of a continuously extended system (extensional flow) can be modeled using the "USER-UEF -package"_Section_packages.html#USER-UEF and its "fix +package"_Packages_details.html#USER-UEF and its "fix commands"_fix_nh_uef.html. For the {x}, {y}, {z} parameters, the associated dimension cannot be @@ -550,10 +550,9 @@ command if you want to include lattice spacings in a variable formula. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -565,8 +564,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_dpd_energy.txt b/doc/src/fix_dpd_energy.txt index 1c10d954d6..4f2b5d573f 100644 --- a/doc/src/fix_dpd_energy.txt +++ b/doc/src/fix_dpd_energy.txt @@ -50,10 +50,9 @@ examples/USER/dpd directory. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -65,8 +64,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_enforce2d.txt b/doc/src/fix_enforce2d.txt index 4bbf41d25d..67b351e4b8 100644 --- a/doc/src/fix_enforce2d.txt +++ b/doc/src/fix_enforce2d.txt @@ -31,10 +31,9 @@ not move from their initial z coordinate. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -46,8 +45,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_eos_table_rx.txt b/doc/src/fix_eos_table_rx.txt index 0c87874347..f74a838c47 100644 --- a/doc/src/fix_eos_table_rx.txt +++ b/doc/src/fix_eos_table_rx.txt @@ -156,10 +156,9 @@ no 0.93 0.00 0.000 -1.76 :pre Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -171,8 +170,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_freeze.txt b/doc/src/fix_freeze.txt index a63ee4cb32..9619f4120b 100644 --- a/doc/src/fix_freeze.txt +++ b/doc/src/fix_freeze.txt @@ -31,12 +31,12 @@ using "fix setforce"_fix_setforce.html. :line -Styles with a suffix are functionally the same as the corresponding -style without the suffix. They have been optimized to run faster, -depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -48,8 +48,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_gravity.txt b/doc/src/fix_gravity.txt index dae8ac5ed0..f39955d4f8 100644 --- a/doc/src/fix_gravity.txt +++ b/doc/src/fix_gravity.txt @@ -90,10 +90,9 @@ field. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -105,8 +104,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_langevin.txt b/doc/src/fix_langevin.txt index 93c73f5a5d..6ab236e572 100644 --- a/doc/src/fix_langevin.txt +++ b/doc/src/fix_langevin.txt @@ -264,10 +264,9 @@ generates an average temperature of 220 K, instead of 300 K. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -279,8 +278,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_momentum.txt b/doc/src/fix_momentum.txt index bcf4465fb8..aa5199ac14 100644 --- a/doc/src/fix_momentum.txt +++ b/doc/src/fix_momentum.txt @@ -61,10 +61,9 @@ initial velocities with zero aggregate linear and/or angular momentum. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -76,8 +75,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nh.txt b/doc/src/fix_nh.txt index 41d0e6438f..e3a39c6bc6 100644 --- a/doc/src/fix_nh.txt +++ b/doc/src/fix_nh.txt @@ -484,10 +484,9 @@ the various ways to do this. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -499,8 +498,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_nph_asphere.txt b/doc/src/fix_nph_asphere.txt index 8c35b6a1a7..ff8c300c47 100644 --- a/doc/src/fix_nph_asphere.txt +++ b/doc/src/fix_nph_asphere.txt @@ -81,10 +81,9 @@ It also means that changing attributes of {thermo_temp} or Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -96,8 +95,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nph_body.txt b/doc/src/fix_nph_body.txt index 1e590f1cb3..9263470e9e 100644 --- a/doc/src/fix_nph_body.txt +++ b/doc/src/fix_nph_body.txt @@ -80,10 +80,9 @@ It also means that changing attributes of {thermo_temp} or Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -95,8 +94,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nph_sphere.txt b/doc/src/fix_nph_sphere.txt index 62b45edfd7..ba3b2f6c06 100644 --- a/doc/src/fix_nph_sphere.txt +++ b/doc/src/fix_nph_sphere.txt @@ -90,10 +90,9 @@ It also means that changing attributes of {thermo_temp} or Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -105,8 +104,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nphug.txt b/doc/src/fix_nphug.txt index 292e46f94a..4f696e9590 100644 --- a/doc/src/fix_nphug.txt +++ b/doc/src/fix_nphug.txt @@ -140,10 +140,9 @@ It also means that changing attributes of {thermo_temp} or Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -155,8 +154,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_npt_asphere.txt b/doc/src/fix_npt_asphere.txt index 5f3979e36e..a21caa1042 100644 --- a/doc/src/fix_npt_asphere.txt +++ b/doc/src/fix_npt_asphere.txt @@ -105,10 +105,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -120,8 +119,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_npt_body.txt b/doc/src/fix_npt_body.txt index d89bf19db2..0f678a1b7d 100644 --- a/doc/src/fix_npt_body.txt +++ b/doc/src/fix_npt_body.txt @@ -104,10 +104,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -119,8 +118,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_npt_sphere.txt b/doc/src/fix_npt_sphere.txt index c4cf2cb08d..862f95603f 100644 --- a/doc/src/fix_npt_sphere.txt +++ b/doc/src/fix_npt_sphere.txt @@ -115,10 +115,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -130,8 +129,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nve.txt b/doc/src/fix_nve.txt index c04c17858e..ac9cb53b50 100644 --- a/doc/src/fix_nve.txt +++ b/doc/src/fix_nve.txt @@ -34,10 +34,9 @@ ensemble. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -49,8 +48,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_nve_asphere.txt b/doc/src/fix_nve_asphere.txt index 1f31fb9679..5be7a7aa68 100644 --- a/doc/src/fix_nve_asphere.txt +++ b/doc/src/fix_nve_asphere.txt @@ -45,10 +45,9 @@ This fix is not invoked during "energy minimization"_minimize.html. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -60,8 +59,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_nve_sphere.txt b/doc/src/fix_nve_sphere.txt index 21dc6cba8a..cfe73a854d 100644 --- a/doc/src/fix_nve_sphere.txt +++ b/doc/src/fix_nve_sphere.txt @@ -65,10 +65,9 @@ moment of inertia, as used in the time integration. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -80,8 +79,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_nvt_asphere.txt b/doc/src/fix_nvt_asphere.txt index 21b900f16a..031c60e4be 100644 --- a/doc/src/fix_nvt_asphere.txt +++ b/doc/src/fix_nvt_asphere.txt @@ -86,10 +86,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -101,8 +100,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nvt_body.txt b/doc/src/fix_nvt_body.txt index 6a5e09ba7f..80de7fd7c3 100644 --- a/doc/src/fix_nvt_body.txt +++ b/doc/src/fix_nvt_body.txt @@ -85,10 +85,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -100,8 +99,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nvt_sllod.txt b/doc/src/fix_nvt_sllod.txt index 392dbc281c..bb3c092939 100644 --- a/doc/src/fix_nvt_sllod.txt +++ b/doc/src/fix_nvt_sllod.txt @@ -109,10 +109,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -124,8 +123,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nvt_sphere.txt b/doc/src/fix_nvt_sphere.txt index ecf0922b79..897d5606d7 100644 --- a/doc/src/fix_nvt_sphere.txt +++ b/doc/src/fix_nvt_sphere.txt @@ -96,10 +96,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -111,8 +110,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_qeq_comb.txt b/doc/src/fix_qeq_comb.txt index 7f82404127..783dc3133c 100644 --- a/doc/src/fix_qeq_comb.txt +++ b/doc/src/fix_qeq_comb.txt @@ -62,10 +62,9 @@ equilibration calculation is written to the specified file. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -77,8 +76,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_qeq_reax.txt b/doc/src/fix_qeq_reax.txt index 18450c7cd5..a534a66c09 100644 --- a/doc/src/fix_qeq_reax.txt +++ b/doc/src/fix_qeq_reax.txt @@ -80,10 +80,9 @@ This fix is invoked during "energy minimization"_minimize.html. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -95,8 +94,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_rigid.txt b/doc/src/fix_rigid.txt index 8d803ac6da..f3dd20daa3 100644 --- a/doc/src/fix_rigid.txt +++ b/doc/src/fix_rigid.txt @@ -690,10 +690,9 @@ rigid/nvt. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -705,8 +704,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_rx.txt b/doc/src/fix_rx.txt index 0810a34740..aff3303f43 100644 --- a/doc/src/fix_rx.txt +++ b/doc/src/fix_rx.txt @@ -186,10 +186,9 @@ read_data data.dpd fix foo_SPECIES NULL Species Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -201,8 +200,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_setforce.txt b/doc/src/fix_setforce.txt index f5be0f93a5..0af1c92922 100644 --- a/doc/src/fix_setforce.txt +++ b/doc/src/fix_setforce.txt @@ -65,12 +65,12 @@ to it. :line -Styles with a r {kk} suffix are functionally the same as the -corresponding style without the suffix. They have been optimized to -run faster, depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. The region keyword is also supported by Kokkos, but a Kokkos-enabled region must be used. See the region "region"_region.html command for @@ -85,8 +85,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_shake.txt b/doc/src/fix_shake.txt index 46452a1f7e..7428b30a14 100644 --- a/doc/src/fix_shake.txt +++ b/doc/src/fix_shake.txt @@ -145,12 +145,12 @@ info of atoms in the molecule. :line -Styles with a suffix are functionally the same as the corresponding -style without the suffix. They have been optimized to run faster, -depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -162,8 +162,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_shardlow.txt b/doc/src/fix_shardlow.txt index 24726d8610..6d14346334 100644 --- a/doc/src/fix_shardlow.txt +++ b/doc/src/fix_shardlow.txt @@ -56,10 +56,9 @@ examples/USER/dpd directory. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -71,8 +70,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_wall.txt b/doc/src/fix_wall.txt index e814c89a07..959a103f02 100644 --- a/doc/src/fix_wall.txt +++ b/doc/src/fix_wall.txt @@ -288,10 +288,9 @@ option for this fix. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -303,8 +302,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_wall_reflect.txt b/doc/src/fix_wall_reflect.txt index 954ec65bf6..5380bdf738 100644 --- a/doc/src/fix_wall_reflect.txt +++ b/doc/src/fix_wall_reflect.txt @@ -130,10 +130,9 @@ position = c0 + A (1 - cos(omega*delta)) :pre Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -145,8 +144,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_class2.txt b/doc/src/improper_class2.txt index 14ec6258de..ef2abf5091 100644 --- a/doc/src/improper_class2.txt +++ b/doc/src/improper_class2.txt @@ -87,10 +87,9 @@ radians internally; hence the units of M are in energy/radian^2. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -102,8 +101,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_cossq.txt b/doc/src/improper_cossq.txt index 138a6a1650..22ba990ba4 100644 --- a/doc/src/improper_cossq.txt +++ b/doc/src/improper_cossq.txt @@ -53,10 +53,9 @@ X0 (degrees) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -68,8 +67,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_cvff.txt b/doc/src/improper_cvff.txt index 5f69eccc60..1662d93b14 100644 --- a/doc/src/improper_cvff.txt +++ b/doc/src/improper_cvff.txt @@ -54,10 +54,9 @@ n (0,1,2,3,4,6) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -69,8 +68,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_fourier.txt b/doc/src/improper_fourier.txt index f9062da207..99132b8931 100644 --- a/doc/src/improper_fourier.txt +++ b/doc/src/improper_fourier.txt @@ -48,10 +48,9 @@ all (integer >= 0) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -63,8 +62,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_harmonic.txt b/doc/src/improper_harmonic.txt index bb17e5a641..f37338e468 100644 --- a/doc/src/improper_harmonic.txt +++ b/doc/src/improper_harmonic.txt @@ -58,10 +58,9 @@ internally; hence the units of K are in energy/radian^2. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -73,8 +72,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_ring.txt b/doc/src/improper_ring.txt index c02d392474..84c35f9f5c 100644 --- a/doc/src/improper_ring.txt +++ b/doc/src/improper_ring.txt @@ -57,10 +57,9 @@ theta0 (degrees) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -72,8 +71,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_umbrella.txt b/doc/src/improper_umbrella.txt index d6df9ee6cc..e72cc7f0ad 100644 --- a/doc/src/improper_umbrella.txt +++ b/doc/src/improper_umbrella.txt @@ -51,10 +51,9 @@ omega0 (degrees) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -66,8 +65,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/kspace_style.txt b/doc/src/kspace_style.txt index 4f27c9aa78..8dbb3dde49 100644 --- a/doc/src/kspace_style.txt +++ b/doc/src/kspace_style.txt @@ -145,8 +145,8 @@ speedup in the KSpace time (8x less mesh points, 2x more expensive). However, for low relative accuracy, the staggered PPPM mesh size may be essentially the same as for regular PPPM, which means the method will be up to 2x slower in the KSpace time (simply 2x more expensive). -For more details and timings, see -"Section 5"_Section_accelerate.html. +For more details and timings, see the "Speed tips"_Speed_tips.html doc +page. NOTE: Using {pppm/stagger} may not give the same increase in the accuracy of energy and pressure as it does in forces, so some caution @@ -267,10 +267,9 @@ relative RMS error. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. More specifically, the {pppm/gpu} style performs charge assignment and force interpolation calculations on the GPU. These processes are @@ -291,8 +290,8 @@ KOKKOS, USER-OMP, and OPT packages respectively. They are only enabled if LAMMPS was built with those packages. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 4274ef48b3..f96960ff39 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -4,13 +4,11 @@ Manual.html Section_intro.html Section_start.html Section_commands.html -Section_packages.html -Section_accelerate.html -accelerate_gpu.html -accelerate_intel.html -accelerate_kokkos.html -accelerate_omp.html -accelerate_opt.html +Packages.html +Packages_standard.html +Packages_user.html +Packages_details.html +Speed.html Section_howto.html Examples.html Section_perf.html diff --git a/doc/src/package.txt b/doc/src/package.txt index 5fd42f67d3..81e1db9bd8 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -149,9 +149,9 @@ the style options are set, either to default values or to specified settings. I.e. settings from previous invocations do not persist across multiple invocations. -See the "Section 5.3"_Section_accelerate.html#acc_3 section of the -manual for more details about using the various accelerator packages -for speeding up LAMMPS simulations. +See the "Speed packages"_Speed_packages.html doc page for more details +about using the various accelerator packages for speeding up LAMMPS +simulations. :line diff --git a/doc/src/pair_adp.txt b/doc/src/pair_adp.txt index 9d2a48dcbc..1ba59b7732 100644 --- a/doc/src/pair_adp.txt +++ b/doc/src/pair_adp.txt @@ -125,10 +125,9 @@ array tabulated with a scaling by r. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -140,8 +139,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_agni.txt b/doc/src/pair_agni.txt index 402e537dad..352e00249a 100644 --- a/doc/src/pair_agni.txt +++ b/doc/src/pair_agni.txt @@ -58,11 +58,11 @@ and input files are provided in the examples/USER/misc/agni directory. :line Styles with {omp} suffix is functionally the same as the corresponding -style without the suffix. They have been optimized to run faster, depending -on your available hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated style takes the same arguments and -should produce the same results, except for round-off and precision -issues. +style without the suffix. They have been optimized to run faster, +depending on your available hardware, as discussed on the "Speed +packages"_Speed_packages.html doc page. The accelerated style takes +the same arguments and should produce the same results, except for +round-off and precision issues. The accelerated style is part of the USER-OMP. They are only enabled if LAMMPS was built with those packages. See the "Making @@ -73,8 +73,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_airebo.txt b/doc/src/pair_airebo.txt index 1aa017f278..b5add21f24 100644 --- a/doc/src/pair_airebo.txt +++ b/doc/src/pair_airebo.txt @@ -176,10 +176,9 @@ thermo_style custom step temp epair v_REBO v_LJ v_TORSION :pre Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -191,8 +190,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_beck.txt b/doc/src/pair_beck.txt index e160f09b3d..1aca4b4f9a 100644 --- a/doc/src/pair_beck.txt +++ b/doc/src/pair_beck.txt @@ -51,10 +51,9 @@ Rc is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -66,8 +65,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_born.txt b/doc/src/pair_born.txt index f867107426..2504fb7e25 100644 --- a/doc/src/pair_born.txt +++ b/doc/src/pair_born.txt @@ -145,10 +145,9 @@ pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -160,8 +159,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_buck.txt b/doc/src/pair_buck.txt index d18b39d5d9..de247b9c01 100644 --- a/doc/src/pair_buck.txt +++ b/doc/src/pair_buck.txt @@ -140,10 +140,9 @@ pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -155,8 +154,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_buck_long.txt b/doc/src/pair_buck_long.txt index 05e760e1b2..94bf6a2d7c 100644 --- a/doc/src/pair_buck_long.txt +++ b/doc/src/pair_buck_long.txt @@ -102,10 +102,9 @@ global Coulombic cutoff is allowed. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -117,8 +116,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_charmm.txt b/doc/src/pair_charmm.txt index 75a8e4bff9..af20661bbd 100644 --- a/doc/src/pair_charmm.txt +++ b/doc/src/pair_charmm.txt @@ -184,10 +184,9 @@ the pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -199,8 +198,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_class2.txt b/doc/src/pair_class2.txt index 36fae5068b..e62971a645 100644 --- a/doc/src/pair_class2.txt +++ b/doc/src/pair_class2.txt @@ -102,10 +102,9 @@ cutoff distance. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -117,8 +116,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_colloid.txt b/doc/src/pair_colloid.txt index 83b15b358b..a7bb0db08a 100644 --- a/doc/src/pair_colloid.txt +++ b/doc/src/pair_colloid.txt @@ -127,10 +127,9 @@ commands for efficiency: "neighbor multi"_neighbor.html and Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -142,8 +141,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_comb.txt b/doc/src/pair_comb.txt index f5461b1cbc..6949ca50c2 100644 --- a/doc/src/pair_comb.txt +++ b/doc/src/pair_comb.txt @@ -112,10 +112,9 @@ nor file {ffield.comb3} with style {comb}. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -127,8 +126,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_coul.txt b/doc/src/pair_coul.txt index aa3a008bd3..650575d055 100644 --- a/doc/src/pair_coul.txt +++ b/doc/src/pair_coul.txt @@ -268,10 +268,9 @@ command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -283,8 +282,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_dipole.txt b/doc/src/pair_dipole.txt index 2516e5eae4..e7d196d599 100644 --- a/doc/src/pair_dipole.txt +++ b/doc/src/pair_dipole.txt @@ -186,10 +186,9 @@ type pair. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -201,8 +200,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_dpd.txt b/doc/src/pair_dpd.txt index 9e29e93430..a36029ea63 100644 --- a/doc/src/pair_dpd.txt +++ b/doc/src/pair_dpd.txt @@ -110,10 +110,9 @@ random force. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -125,8 +124,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_dpd_fdt.txt b/doc/src/pair_dpd_fdt.txt index 867f3f2315..129d3c84af 100644 --- a/doc/src/pair_dpd_fdt.txt +++ b/doc/src/pair_dpd_fdt.txt @@ -129,10 +129,9 @@ significantly larger timesteps to be taken. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -144,8 +143,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_eam.txt b/doc/src/pair_eam.txt index 03e77f53ab..8d4d11341c 100644 --- a/doc/src/pair_eam.txt +++ b/doc/src/pair_eam.txt @@ -371,10 +371,9 @@ are listed. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -386,7 +385,7 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for more +See the "Speed packages"_Speed_packages.html doc page for more instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_edip.txt b/doc/src/pair_edip.txt index e5b1420b59..f0d1927812 100644 --- a/doc/src/pair_edip.txt +++ b/doc/src/pair_edip.txt @@ -109,10 +109,9 @@ the EDIP package. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -124,8 +123,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_eim.txt b/doc/src/pair_eim.txt index 75ad2d4683..7f94d919f2 100644 --- a/doc/src/pair_eim.txt +++ b/doc/src/pair_eim.txt @@ -136,10 +136,9 @@ needs. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -151,8 +150,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_exp6_rx.txt b/doc/src/pair_exp6_rx.txt index 7eafa23543..dec660fd1d 100644 --- a/doc/src/pair_exp6_rx.txt +++ b/doc/src/pair_exp6_rx.txt @@ -153,10 +153,9 @@ pair interaction. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -168,8 +167,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_gauss.txt b/doc/src/pair_gauss.txt index f6f46a2de8..7716f89f17 100644 --- a/doc/src/pair_gauss.txt +++ b/doc/src/pair_gauss.txt @@ -84,10 +84,9 @@ is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -99,8 +98,8 @@ by including their suffix, or you can use the "-suffix command-line switch7_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_gayberne.txt b/doc/src/pair_gayberne.txt index c923578586..e9a98a0b84 100644 --- a/doc/src/pair_gayberne.txt +++ b/doc/src/pair_gayberne.txt @@ -133,10 +133,9 @@ pair_coeff sigma to 1.0 as well. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -148,8 +147,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_gran.txt b/doc/src/pair_gran.txt index d7e87af013..86b04f96de 100644 --- a/doc/src/pair_gran.txt +++ b/doc/src/pair_gran.txt @@ -179,10 +179,9 @@ potential. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -194,8 +193,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_gromacs.txt b/doc/src/pair_gromacs.txt index ec84a2d57a..7daf805e2b 100644 --- a/doc/src/pair_gromacs.txt +++ b/doc/src/pair_gromacs.txt @@ -91,10 +91,9 @@ cutoff(s) specified in the pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -106,8 +105,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_hbond_dreiding.txt b/doc/src/pair_hbond_dreiding.txt index d3cf90ec14..45f852c254 100644 --- a/doc/src/pair_hbond_dreiding.txt +++ b/doc/src/pair_hbond_dreiding.txt @@ -166,10 +166,9 @@ optional parameters. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -181,8 +180,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_hybrid.txt b/doc/src/pair_hybrid.txt index d37dedc709..9503256d26 100644 --- a/doc/src/pair_hybrid.txt +++ b/doc/src/pair_hybrid.txt @@ -315,8 +315,8 @@ off C/C interaction, i.e. by setting the appropriate coefficients to Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. Since the {hybrid} and {hybrid/overlay} styles delegate computation to the individual sub-styles, the suffix versions of the {hybrid} and @@ -334,8 +334,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_kim.txt b/doc/src/pair_kim.txt index c5d910e27c..fc2c1405af 100644 --- a/doc/src/pair_kim.txt +++ b/doc/src/pair_kim.txt @@ -46,8 +46,8 @@ are included in the KIM library by default, in the "What is in the KIM API source package?" section. To use this pair style, you must first download and install the KIM -API library from the "OpenKIM website"_https://openkim.org. The "KIM -section of Section packages"_Section_packages.html#KIM has +API library from the "OpenKIM website"_https://openkim.org. The KIM +section of the "Packages details"_Packages_details.html doc page has instructions on how to do this with a simple make command, when building LAMMPS. diff --git a/doc/src/pair_lj.txt b/doc/src/pair_lj.txt index e297d479bc..c2968ffdf3 100644 --- a/doc/src/pair_lj.txt +++ b/doc/src/pair_lj.txt @@ -269,10 +269,9 @@ pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -284,8 +283,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj96.txt b/doc/src/pair_lj96.txt index 83f6ec063d..a0a9971474 100644 --- a/doc/src/pair_lj96.txt +++ b/doc/src/pair_lj96.txt @@ -49,10 +49,9 @@ cutoff specified in the pair_style command is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -64,8 +63,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj_cubic.txt b/doc/src/pair_lj_cubic.txt index 4ca8c3c141..c4e2af5062 100644 --- a/doc/src/pair_lj_cubic.txt +++ b/doc/src/pair_lj_cubic.txt @@ -63,10 +63,9 @@ located at rmin = 2^(1/6)*sigma. In the above example, sigma = Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -78,8 +77,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj_expand.txt b/doc/src/pair_lj_expand.txt index e0838426f6..c156fefef2 100644 --- a/doc/src/pair_lj_expand.txt +++ b/doc/src/pair_lj_expand.txt @@ -53,10 +53,9 @@ optional. If not specified, the global LJ cutoff is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -68,8 +67,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj_long.txt b/doc/src/pair_lj_long.txt index 6be4562d18..bc851adb74 100644 --- a/doc/src/pair_lj_long.txt +++ b/doc/src/pair_lj_long.txt @@ -156,10 +156,9 @@ specified in the pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -171,8 +170,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj_smooth.txt b/doc/src/pair_lj_smooth.txt index b1678cad58..653520966b 100644 --- a/doc/src/pair_lj_smooth.txt +++ b/doc/src/pair_lj_smooth.txt @@ -62,10 +62,9 @@ specified, the global values for Rin and Rc are used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -77,8 +76,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj_smooth_linear.txt b/doc/src/pair_lj_smooth_linear.txt index 5f7c226cee..aebde2e653 100644 --- a/doc/src/pair_lj_smooth_linear.txt +++ b/doc/src/pair_lj_smooth_linear.txt @@ -49,10 +49,9 @@ LJ cutoff specified in the pair_style command is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -64,8 +63,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj_soft.txt b/doc/src/pair_lj_soft.txt index 2ef133da55..7add9f623d 100644 --- a/doc/src/pair_lj_soft.txt +++ b/doc/src/pair_lj_soft.txt @@ -207,10 +207,9 @@ directory tree, under examples/USER/fep. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -222,8 +221,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_meam_spline.txt b/doc/src/pair_meam_spline.txt index 6653b397a0..74242e32b9 100644 --- a/doc/src/pair_meam_spline.txt +++ b/doc/src/pair_meam_spline.txt @@ -106,10 +106,9 @@ MEAM files. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -121,8 +120,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_morse.txt b/doc/src/pair_morse.txt index 3eb5ac5afe..34876011a1 100644 --- a/doc/src/pair_morse.txt +++ b/doc/src/pair_morse.txt @@ -101,10 +101,9 @@ cutoff is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -116,8 +115,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_multi_lucy_rx.txt b/doc/src/pair_multi_lucy_rx.txt index 57abcf4a4c..b043030907 100644 --- a/doc/src/pair_multi_lucy_rx.txt +++ b/doc/src/pair_multi_lucy_rx.txt @@ -204,10 +204,9 @@ This pair style can only be used via the {pair} keyword of the Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -219,8 +218,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_nb3b_harmonic.txt b/doc/src/pair_nb3b_harmonic.txt index 2395707fb4..e6e103f517 100644 --- a/doc/src/pair_nb3b_harmonic.txt +++ b/doc/src/pair_nb3b_harmonic.txt @@ -92,10 +92,9 @@ a particular simulation; LAMMPS ignores those entries. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -107,8 +106,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_nm.txt b/doc/src/pair_nm.txt index 81cea1a38d..08c3393993 100644 --- a/doc/src/pair_nm.txt +++ b/doc/src/pair_nm.txt @@ -133,10 +133,9 @@ the "run_style respa"_run_style.html command. They do not support the Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -148,8 +147,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restrictions:] diff --git a/doc/src/pair_peri.txt b/doc/src/pair_peri.txt index deca093e3b..4327003057 100644 --- a/doc/src/pair_peri.txt +++ b/doc/src/pair_peri.txt @@ -139,10 +139,9 @@ details please see the description in "(Mtchell2011a)". Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -154,8 +153,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_reaxc.txt b/doc/src/pair_reaxc.txt index 39759b3111..8d8c7e84e7 100644 --- a/doc/src/pair_reaxc.txt +++ b/doc/src/pair_reaxc.txt @@ -50,11 +50,11 @@ as a package. The {reax/c/kk} style is a Kokkos version of the ReaxFF potential that is derived from the {reax/c} style. The Kokkos version can run on GPUs and can also use OpenMP multithreading. For more information about the -Kokkos package, see "Section 4"_Section_packages.html#kokkos and -"Section 5.3.3"_accelerate_kokkos.html. One important consideration -when using the {reax/c/kk} style is the choice of either half or full -neighbor lists. This setting can be changed using the Kokkos -"package"_package.html command. +Kokkos package, see "Packages details"_Packages_details.html and +"Speed kokkos"_Speed_kokkos.html doc pages. One important +consideration when using the {reax/c/kk} style is the choice of either +half or full neighbor lists. This setting can be changed using the +Kokkos "package"_package.html command. The {reax/c} style differs from the "pair_style reax"_pair_reax.html command in the lo-level implementation details. The {reax} style is a @@ -303,10 +303,9 @@ This pair style can only be used via the {pair} keyword of the Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -318,8 +317,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_resquared.txt b/doc/src/pair_resquared.txt index 9ad95eb5fc..6ea5c73c0d 100644 --- a/doc/src/pair_resquared.txt +++ b/doc/src/pair_resquared.txt @@ -145,10 +145,9 @@ specified in the pair_style command is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -160,8 +159,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_sdk.txt b/doc/src/pair_sdk.txt index 360136a4ea..4cd56bc43d 100644 --- a/doc/src/pair_sdk.txt +++ b/doc/src/pair_sdk.txt @@ -85,10 +85,9 @@ pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp} or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP, and OPT packages respectively. They are only enabled if @@ -100,8 +99,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_snap.txt b/doc/src/pair_snap.txt index 27dcf6082b..c3d6e67e82 100644 --- a/doc/src/pair_snap.txt +++ b/doc/src/pair_snap.txt @@ -175,10 +175,9 @@ This pair style can only be used via the {pair} keyword of the Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -190,8 +189,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_soft.txt b/doc/src/pair_soft.txt index 08fa88c477..adbfa596c9 100644 --- a/doc/src/pair_soft.txt +++ b/doc/src/pair_soft.txt @@ -82,10 +82,9 @@ variables. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -97,8 +96,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_sw.txt b/doc/src/pair_sw.txt index 4932fe55d3..7c9ce4a4f9 100644 --- a/doc/src/pair_sw.txt +++ b/doc/src/pair_sw.txt @@ -144,10 +144,9 @@ taken from the ij and ik pairs (sigma, a, gamma) Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -164,8 +163,8 @@ additional 5 to 10 percent performance improvement when the Stillinger-Weber parameters p and q are set to 4 and 0 respectively. These parameters are common for modeling silicon and water. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_table.txt b/doc/src/pair_table.txt index b99491b477..f5e69a6d54 100644 --- a/doc/src/pair_table.txt +++ b/doc/src/pair_table.txt @@ -217,10 +217,9 @@ one that matches the specified keyword. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -232,8 +231,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_table_rx.txt b/doc/src/pair_table_rx.txt index cd3a7ef31b..52760c396b 100644 --- a/doc/src/pair_table_rx.txt +++ b/doc/src/pair_table_rx.txt @@ -227,10 +227,9 @@ This pair style can only be used via the {pair} keyword of the Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -242,8 +241,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_tersoff.txt b/doc/src/pair_tersoff.txt index 918e889924..70fe207f0a 100644 --- a/doc/src/pair_tersoff.txt +++ b/doc/src/pair_tersoff.txt @@ -179,10 +179,9 @@ defined in various papers. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -194,8 +193,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_tersoff_mod.txt b/doc/src/pair_tersoff_mod.txt index e0c2b5a5cb..aced6d40d6 100644 --- a/doc/src/pair_tersoff_mod.txt +++ b/doc/src/pair_tersoff_mod.txt @@ -131,10 +131,9 @@ for SiSiSi means Si bonded to a Si with another Si atom influencing the bond. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -146,8 +145,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_tersoff_zbl.txt b/doc/src/pair_tersoff_zbl.txt index 21d57e4e88..838c2f39cf 100644 --- a/doc/src/pair_tersoff_zbl.txt +++ b/doc/src/pair_tersoff_zbl.txt @@ -189,10 +189,9 @@ providing the base ZBL implementation. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -204,8 +203,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_thole.txt b/doc/src/pair_thole.txt index 41a4059cee..11d4b85cff 100644 --- a/doc/src/pair_thole.txt +++ b/doc/src/pair_thole.txt @@ -130,10 +130,9 @@ the {pair_style} command line. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -145,8 +144,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Mixing]: diff --git a/doc/src/pair_ufm.txt b/doc/src/pair_ufm.txt index 88a22864cc..5af8741502 100644 --- a/doc/src/pair_ufm.txt +++ b/doc/src/pair_ufm.txt @@ -69,10 +69,9 @@ NOTE: The thermodynamic integration procedure can be performed with this potenti Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -84,8 +83,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_vashishta.txt b/doc/src/pair_vashishta.txt index d9c66d45c0..e90a9d8f50 100644 --- a/doc/src/pair_vashishta.txt +++ b/doc/src/pair_vashishta.txt @@ -171,10 +171,9 @@ two-body parameters from the CCC and CSiSi entries. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -186,8 +185,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_yukawa.txt b/doc/src/pair_yukawa.txt index e7c063ded9..979165dda0 100644 --- a/doc/src/pair_yukawa.txt +++ b/doc/src/pair_yukawa.txt @@ -49,10 +49,9 @@ cutoff is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -64,8 +63,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_yukawa_colloid.txt b/doc/src/pair_yukawa_colloid.txt index 2037a9451f..a1752c261e 100644 --- a/doc/src/pair_yukawa_colloid.txt +++ b/doc/src/pair_yukawa_colloid.txt @@ -80,10 +80,9 @@ yukawa/colloid cutoff is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -95,8 +94,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_zbl.txt b/doc/src/pair_zbl.txt index 1984cd831f..0507083295 100644 --- a/doc/src/pair_zbl.txt +++ b/doc/src/pair_zbl.txt @@ -71,10 +71,9 @@ copper. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -86,8 +85,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/region.txt b/doc/src/region.txt index 5039e4a516..1ac3861e67 100644 --- a/doc/src/region.txt +++ b/doc/src/region.txt @@ -358,12 +358,12 @@ sub-regions can be defined with the {open} keyword. :line -Styles with a {kk} suffix are functionally the same as the -corresponding style without the suffix. They have been optimized to -run faster, depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. The code using the region (such as a fix or compute) must also be supported by Kokkos or no acceleration will occur. Currently, only {block} style @@ -378,8 +378,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/run_style.txt b/doc/src/run_style.txt index 7717ede86f..a896a648af 100644 --- a/doc/src/run_style.txt +++ b/doc/src/run_style.txt @@ -119,13 +119,13 @@ switches"_Section_start.html#start_6 to change this. The log and screen file for the 2nd partition will not contain thermodynamic output beyond the 1st timestep of the run. -See "Section 5"_Section_accelerate.html of the manual for -performance details of the speed-up offered by the {verlet/split} -style. One important performance consideration is the assignment of -logical processors in the 2 partitions to the physical cores of a -parallel machine. The "processors"_processors.html command has -options to support this, and strategies are discussed in -"Section 5"_Section_accelerate.html of the manual. +See the "Speed packages"_Speed_packages.html doc page for performance +details of the speed-up offered by the {verlet/split} style. One +important performance consideration is the assignment of logical +processors in the 2 partitions to the physical cores of a parallel +machine. The "processors"_processors.html command has options to +support this, and strategies are discussed in "Section +5"_Section_accelerate.html of the manual. :line @@ -274,21 +274,21 @@ run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3 :pre :line -The {respa/omp} styles is a variant of {respa} adapted for use with +The {respa/omp} style is a variant of {respa} adapted for use with pair, bond, angle, dihedral, improper, or kspace styles with an {omp} -suffix. It is functionally equivalent to {respa} but performs additional -operations required for managing {omp} styles. For more on {omp} styles -see the "Section 5"_Section_accelerate.html of the manual. -Accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +suffix. It is functionally equivalent to {respa} but performs +additional operations required for managing {omp} styles. For more on +{omp} styles see the "Speed omp"_Speed_omp.html doc page. Accelerated +styles take the same arguments and should produce the same results, +except for round-off and precision issues. You can specify {respa/omp} explicitly in your input script, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line -- GitLab From 34f619ea1d6514d6e231c5acbd8f8589ee77047a Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 30 Jul 2018 19:04:52 -0400 Subject: [PATCH 372/675] Update lammps.book --- doc/src/lammps.book | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/doc/src/lammps.book b/doc/src/lammps.book index f96960ff39..fe9a64932b 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -9,9 +9,18 @@ Packages_standard.html Packages_user.html Packages_details.html Speed.html +Speed_bench.html +Speed_measure.html +Speed_tips.html +Speed_packages.html +Speed_gpu.html +Speed_intel.html +Speed_kokkos.html +Speed_omp.html +Speed_opt.html +Speed_compare Section_howto.html Examples.html -Section_perf.html Tools.html Modify.html Modify_overview.html -- GitLab From 57cd1ab55ad6b1f319e01230f25075c73788de93 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 30 Jul 2018 19:13:26 -0400 Subject: [PATCH 373/675] Add missing extension --- doc/src/lammps.book | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/lammps.book b/doc/src/lammps.book index fe9a64932b..f9798da227 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -18,7 +18,7 @@ Speed_intel.html Speed_kokkos.html Speed_omp.html Speed_opt.html -Speed_compare +Speed_compare.html Section_howto.html Examples.html Tools.html -- GitLab From 18a7b1ab4f51b289127beca2df91f88354c7eb90 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 30 Jul 2018 21:32:12 -0400 Subject: [PATCH 374/675] Fix broken links and duplicate TOC --- doc/src/Section_howto.txt | 2 +- doc/src/Speed.txt | 5 ----- doc/src/Speed_intel.txt | 8 ++++---- doc/src/Speed_omp.txt | 2 +- doc/src/Speed_packages.txt | 26 +++++++++++++------------- doc/src/fix_reax_bonds.txt | 4 ++-- doc/src/fix_reaxc_species.txt | 4 ++-- doc/src/pair_brownian.txt | 4 ++-- doc/src/pair_lubricate.txt | 4 ++-- doc/src/run_style.txt | 2 +- 10 files changed, 28 insertions(+), 33 deletions(-) diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt index 3c5fe47057..f929d3bdab 100644 --- a/doc/src/Section_howto.txt +++ b/doc/src/Section_howto.txt @@ -1,4 +1,4 @@ -"Previous Section"_Section_accelerate.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Examples.html :c +"Previous Section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Examples.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Speed.txt b/doc/src/Speed.txt index 2339a11c06..1e2097ab1d 100644 --- a/doc/src/Speed.txt +++ b/doc/src/Speed.txt @@ -42,11 +42,6 @@ hardware platforms. .. toctree:: Speed_packages - Speed_gpu - Speed_intel - Speed_kokkos - Speed_omp - Speed_opt Speed_compare END_RST --> diff --git a/doc/src/Speed_intel.txt b/doc/src/Speed_intel.txt index acf5c3f2f9..08e3fbc4cc 100644 --- a/doc/src/Speed_intel.txt +++ b/doc/src/Speed_intel.txt @@ -186,8 +186,8 @@ can start running so that the CPU pipeline is still being used efficiently. Although benefits can be seen by launching a MPI task for every hardware thread, for multinode simulations, we recommend that OpenMP threads are used for SMT instead, either with the -USER-INTEL package, "USER-OMP package"_accelerate_omp.html, or -"KOKKOS package"_accelerate_kokkos.html. In the example above, up +USER-INTEL package, "USER-OMP package"_Speed_omp.html, or +"KOKKOS package"_Speed_kokkos.html. In the example above, up to 36X speedups can be observed by using all 36 physical cores with LAMMPS. By using all 72 hardware threads, an additional 10-30% performance gain can be achieved. @@ -389,8 +389,8 @@ performance and/or scalability for simple 2-body potentials such as lj/cut or when using LRT mode on processors supporting AVX-512. Not all styles are supported in the USER-INTEL package. You can mix -the USER-INTEL package with styles from the "OPT"_accelerate_opt.html -package or the "USER-OMP package"_accelerate_omp.html. Of course, +the USER-INTEL package with styles from the "OPT"_Speed_opt.html +package or the "USER-OMP package"_Speed_omp.html. Of course, this requires that these packages were installed at build time. This can performed automatically by using "-sf hybrid intel opt" or "-sf hybrid intel omp" command-line options. Alternatively, the "opt" diff --git a/doc/src/Speed_omp.txt b/doc/src/Speed_omp.txt index 3700580225..9685b6d349 100644 --- a/doc/src/Speed_omp.txt +++ b/doc/src/Speed_omp.txt @@ -99,7 +99,7 @@ task, versus running standard LAMMPS with its standard un-accelerated styles (in serial or all-MPI parallelization with 1 task/core). This is because many of the USER-OMP styles contain similar optimizations to those used in the OPT package, described in "Section -5.3.5"_accelerate_opt.html. +5.3.5"_Speed_opt.html. With multiple threads/task, the optimal choice of number of MPI tasks/node and OpenMP threads/task can vary a lot and should always be diff --git a/doc/src/Speed_packages.txt b/doc/src/Speed_packages.txt index 18850d52e0..13b5e183db 100644 --- a/doc/src/Speed_packages.txt +++ b/doc/src/Speed_packages.txt @@ -23,11 +23,11 @@ pages. These are the accelerator packages currently in LAMMPS, either as standard or user packages: -"GPU Package"_accelerate_gpu.html : for NVIDIA GPUs as well as OpenCL support -"USER-INTEL Package"_accelerate_intel.html : for Intel CPUs and Intel Xeon Phi -"KOKKOS Package"_accelerate_kokkos.html : for Nvidia GPUs, Intel Xeon Phi, and OpenMP threading -"USER-OMP Package"_accelerate_omp.html : for OpenMP threading and generic CPU optimizations -"OPT Package"_accelerate_opt.html : generic CPU optimizations :tb(s=:) +"GPU Package"_Speed_gpu.html : for NVIDIA GPUs as well as OpenCL support +"USER-INTEL Package"_Speed_intel.html : for Intel CPUs and Intel Xeon Phi +"KOKKOS Package"_Speed_kokkos.html : for Nvidia GPUs, Intel Xeon Phi, and OpenMP threading +"USER-OMP Package"_Speed_omp.html : for OpenMP threading and generic CPU optimizations +"OPT Package"_Speed_opt.html : generic CPU optimizations :tb(s=:) Inverting this list, LAMMPS currently has acceleration support for three kinds of hardware, via the listed packages: -Many-core CPUs : "USER-INTEL"_accelerate_intel.html, "KOKKOS"_accelerate_kokkos.html, "USER-OMP"_accelerate_omp.html, "OPT"_accelerate_opt.html packages -NVIDIA GPUs : "GPU"_accelerate_gpu.html, "KOKKOS"_accelerate_kokkos.html packages -Intel Phi : "USER-INTEL"_accelerate_intel.html, "KOKKOS"_accelerate_kokkos.html packages :tb(s=:) +Many-core CPUs : "USER-INTEL"_Speed_intel.html, "KOKKOS"_Speed_kokkos.html, "USER-OMP"_Speed_omp.html, "OPT"_Speed_opt.html packages +NVIDIA GPUs : "GPU"_Speed_gpu.html, "KOKKOS"_Speed_kokkos.html packages +Intel Phi : "USER-INTEL"_Speed_intel.html, "KOKKOS"_Speed_kokkos.html packages :tb(s=:) Which package is fastest for your hardware may depend on the size problem you are running and what commands (accelerated and diff --git a/doc/src/fix_reax_bonds.txt b/doc/src/fix_reax_bonds.txt index 3f8f237de1..50f0b77d52 100644 --- a/doc/src/fix_reax_bonds.txt +++ b/doc/src/fix_reax_bonds.txt @@ -72,7 +72,7 @@ This fix is not invoked during "energy minimization"_minimize.html. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section_accelerate"_Section_accelerate.html +hardware, as discussed in "Speed"_Speed.html of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. @@ -87,7 +87,7 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section_accelerate"_Section_accelerate.html of the manual for +See "Speed"_Speed.html of the manual for more instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_reaxc_species.txt b/doc/src/fix_reaxc_species.txt index 7c920791f7..75e4598ca5 100644 --- a/doc/src/fix_reaxc_species.txt +++ b/doc/src/fix_reaxc_species.txt @@ -139,7 +139,7 @@ minimization"_minimize.html. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section_accelerate"_Section_accelerate.html +hardware, as discussed in "Speed"_Speed.html of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. @@ -154,7 +154,7 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section_accelerate"_Section_accelerate.html of the manual for +See "Speed"_Speed.html of the manual for more instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_brownian.txt b/doc/src/pair_brownian.txt index 79b71e91c7..8d30f0cec6 100644 --- a/doc/src/pair_brownian.txt +++ b/doc/src/pair_brownian.txt @@ -74,7 +74,7 @@ must be specified. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "this section"_Section_accelerate.html of +hardware, as discussed in "this section"_Speed.html of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. @@ -88,7 +88,7 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "this section"_Section_accelerate.html of the manual for more +See "this section"_Speed.html of the manual for more instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lubricate.txt b/doc/src/pair_lubricate.txt index b39c7545c7..2a16aa2a9d 100644 --- a/doc/src/pair_lubricate.txt +++ b/doc/src/pair_lubricate.txt @@ -143,7 +143,7 @@ must be specified. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "this section"_Section_accelerate.html of +hardware, as discussed in "this section"_Speed.html of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. @@ -157,7 +157,7 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "this section"_Section_accelerate.html of the manual for more +See "this section"_Speed.html of the manual for more instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/run_style.txt b/doc/src/run_style.txt index a896a648af..6f1f719d64 100644 --- a/doc/src/run_style.txt +++ b/doc/src/run_style.txt @@ -125,7 +125,7 @@ important performance consideration is the assignment of logical processors in the 2 partitions to the physical cores of a parallel machine. The "processors"_processors.html command has options to support this, and strategies are discussed in "Section -5"_Section_accelerate.html of the manual. +5"_Speed.html of the manual. :line -- GitLab From f3615e83e8f8e72e3c6ad995f9b6fda1aed64946 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 31 Jul 2018 09:18:37 +0200 Subject: [PATCH 375/675] move pair style eam/cd from USER-MISC to MANYBODY and update docs accordingly --- cmake/CMakeLists.txt | 1 - doc/src/Section_commands.txt | 2 +- doc/src/pair_eam.txt | 9 ++--- src/{USER-MISC => MANYBODY}/pair_cdeam.cpp | 0 src/{USER-MISC => MANYBODY}/pair_cdeam.h | 0 src/USER-MISC/Install.sh | 40 ---------------------- src/USER-MISC/README | 1 - 7 files changed, 3 insertions(+), 50 deletions(-) rename src/{USER-MISC => MANYBODY}/pair_cdeam.cpp (100%) rename src/{USER-MISC => MANYBODY}/pair_cdeam.h (100%) delete mode 100755 src/USER-MISC/Install.sh diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 60a0f5d48f..065d22707a 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -178,7 +178,6 @@ pkg_depends(MPIIO MPI) pkg_depends(QEQ MANYBODY) pkg_depends(USER-ATC MANYBODY) pkg_depends(USER-LB MPI) -pkg_depends(USER-MISC MANYBODY) pkg_depends(USER-PHONON KSPACE) pkg_depends(CORESHELL KSPACE) diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index 7b9349a233..3f1be036f5 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -969,6 +969,7 @@ KOKKOS, o = USER-OMP, t = OPT. "dsmc"_pair_dsmc.html, "eam (gikot)"_pair_eam.html, "eam/alloy (gikot)"_pair_eam.html, +"eam/cd (o)"_pair_eam.html, "eam/fs (gikot)"_pair_eam.html, "eim (o)"_pair_eim.html, "gauss (go)"_pair_gauss.html, @@ -1069,7 +1070,6 @@ package"_Section_start.html#start_3. "coul/shield"_pair_coul_shield.html, "dpd/fdt"_pair_dpd_fdt.html, "dpd/fdt/energy (k)"_pair_dpd_fdt.html, -"eam/cd (o)"_pair_eam.html, "edip (o)"_pair_edip.html, "edip/multi"_pair_edip.html, "edpd"_pair_meso.html, diff --git a/doc/src/pair_eam.txt b/doc/src/pair_eam.txt index 03e77f53ab..4ab4e6d794 100644 --- a/doc/src/pair_eam.txt +++ b/doc/src/pair_eam.txt @@ -414,15 +414,10 @@ The eam pair styles can only be used via the {pair} keyword of the [Restrictions:] -All of these styles except the {eam/cd} style are part of the MANYBODY -package. They are only enabled if LAMMPS was built with that package. +All of these styles are part of the MANYBODY package. They are only +enabled if LAMMPS was built with that package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. -The {eam/cd} style is part of the USER-MISC package and also requires -the MANYBODY package. It is only enabled if LAMMPS was built with -those packages. See the "Making LAMMPS"_Section_start.html#start_3 -section for more info. - [Related commands:] "pair_coeff"_pair_coeff.html diff --git a/src/USER-MISC/pair_cdeam.cpp b/src/MANYBODY/pair_cdeam.cpp similarity index 100% rename from src/USER-MISC/pair_cdeam.cpp rename to src/MANYBODY/pair_cdeam.cpp diff --git a/src/USER-MISC/pair_cdeam.h b/src/MANYBODY/pair_cdeam.h similarity index 100% rename from src/USER-MISC/pair_cdeam.h rename to src/MANYBODY/pair_cdeam.h diff --git a/src/USER-MISC/Install.sh b/src/USER-MISC/Install.sh deleted file mode 100755 index 2d42125ec3..0000000000 --- a/src/USER-MISC/Install.sh +++ /dev/null @@ -1,40 +0,0 @@ -# Install/unInstall package files in LAMMPS -# mode = 0/1/2 for uninstall/install/update - -mode=$1 - -# enforce using portable C locale -LC_ALL=C -export LC_ALL - -# arg1 = file, arg2 = file it depends on - -action () { - if (test $mode = 0) then - rm -f ../$1 - elif (! cmp -s $1 ../$1) then - if (test -z "$2" || test -e ../$2) then - cp $1 .. - if (test $mode = 2) then - echo " updating src/$1" - fi - fi - elif (test ! -n "$2") then - if (test ! -e ../$2) then - rm -f ../$1 - fi - fi -} - -# all package files -# only a few files have dependencies - -for file in *.cpp *.h; do - if (test $file = "pair_cdeam.cpp") then - action pair_cdeam.cpp pair_eam_alloy.cpp - elif (test $file = "pair_cdeam.h") then - action pair_cdeam.h pair_eam_alloy.cpp - else - test -f ${file} && action $file - fi -done diff --git a/src/USER-MISC/README b/src/USER-MISC/README index 68a6252d8d..0f9e7bf383 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -65,7 +65,6 @@ pair_style buck/mdf, Paolo Raiteri, p.raiteri at curtin.edu.au, 2 Dec 15 pair_style coul/diel, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 pair_style dipole/sf, Mario Orsi, orsimario at gmail.com, 8 Aug 11 pair_style edip, Luca Ferraro, luca.ferraro at caspur.it, 15 Sep 11 -pair_style eam/cd, Alexander Stukowski, stukowski at mm.tu-darmstadt.de, 7 Nov 09 pair_style extep, Jaap Kroes (Radboud U), jaapkroes at gmail dot com, 28 Nov 17 pair_style gauss/cut, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 pair_style lennard/mdf, Paolo Raiteri, p.raiteri at curtin.edu.au, 2 Dec 15 -- GitLab From 24e293326dd290bd94a904d21c4db68ff4a3c2de Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 31 Jul 2018 09:36:35 +0200 Subject: [PATCH 376/675] Remove disabled line and add comment on package dependencies --- cmake/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 1e58a670aa..186639fc1e 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -175,8 +175,9 @@ macro(pkg_depends PKG1 PKG2) endif() endmacro() +# "hard" dependencies between packages resulting +# in an error instead of skipping over files pkg_depends(MPIIO MPI) -#pkg_depends(QEQ MANYBODY) pkg_depends(USER-ATC MANYBODY) pkg_depends(USER-LB MPI) pkg_depends(USER-MISC MANYBODY) -- GitLab From 50fe2097822785f596d98e2750a40e2224af0fae Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 31 Jul 2018 10:24:36 +0200 Subject: [PATCH 377/675] mention -*- cookie for switching emacs modes and clarify file pattern text --- tools/emacs/README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/emacs/README.md b/tools/emacs/README.md index ce502a27e3..75504a7000 100644 --- a/tools/emacs/README.md +++ b/tools/emacs/README.md @@ -39,8 +39,14 @@ would do the following (kanged [from here](http://ergoemacs.org/emacs/emacs_inst ### Autoloading \& Auto-recognition -For autoloading and auto-recognizing `in.*` and `*.lmp` files add the following -to `.emacs`: +To automatically turn on the LAMMPS mode for editing your input scripts, +use the following line as the **first** line of your script: +``` +# -*- lammps -*- +``` + +For automatically switching on the LAMMPS mode based on filename patterns, +e.g. for `in.*` and `*.lmp` files, add the following code to your `.emacs`: ``` emacs-lisp (autoload 'lammps-mode "lammps-mode.el" "LAMMPS mode." t) -- GitLab From 6dad2f59d8bc4ecc68604b712d0072c303e3f2e9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 31 Jul 2018 11:06:09 +0200 Subject: [PATCH 378/675] list @HaoZeke as (new) owner of the LAMMPS emacs mode list code --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 75b79443c3..7f32281192 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -44,6 +44,7 @@ src/USER-MISC/*_grem.* @dstelter92 # tools tools/msi2lmp/* @akohlmey +tools/emacs/* @HaoZeke # cmake cmake/* @junghans @rbberger -- GitLab From 67e70316deedfa95f21edbb9674bacca3dd7d3b0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 31 Jul 2018 16:58:44 +0200 Subject: [PATCH 379/675] rename pair_cdeam.* to pair_eam_cd.* --- src/MANYBODY/{pair_cdeam.cpp => pair_eam_cd.cpp} | 0 src/MANYBODY/{pair_cdeam.h => pair_eam_cd.h} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename src/MANYBODY/{pair_cdeam.cpp => pair_eam_cd.cpp} (100%) rename src/MANYBODY/{pair_cdeam.h => pair_eam_cd.h} (100%) diff --git a/src/MANYBODY/pair_cdeam.cpp b/src/MANYBODY/pair_eam_cd.cpp similarity index 100% rename from src/MANYBODY/pair_cdeam.cpp rename to src/MANYBODY/pair_eam_cd.cpp diff --git a/src/MANYBODY/pair_cdeam.h b/src/MANYBODY/pair_eam_cd.h similarity index 100% rename from src/MANYBODY/pair_cdeam.h rename to src/MANYBODY/pair_eam_cd.h -- GitLab From e9d40d3c6dc389c8fe3b144349fae04e12b0fb86 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 31 Jul 2018 17:16:18 +0200 Subject: [PATCH 380/675] rename class from PairCDEAM to PairEAMCD --- src/MANYBODY/pair_eam_cd.cpp | 22 +++++++++++----------- src/MANYBODY/pair_eam_cd.h | 18 +++++++++--------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/MANYBODY/pair_eam_cd.cpp b/src/MANYBODY/pair_eam_cd.cpp index 53d9036a61..c0e480488d 100644 --- a/src/MANYBODY/pair_eam_cd.cpp +++ b/src/MANYBODY/pair_eam_cd.cpp @@ -21,7 +21,7 @@ #include #include #include -#include "pair_cdeam.h" +#include "pair_eam_cd.h" #include "atom.h" #include "force.h" #include "comm.h" @@ -49,7 +49,7 @@ using namespace LAMMPS_NS; #define MAXLINE 1024 // This sets the maximum line length in EAM input files. -PairCDEAM::PairCDEAM(LAMMPS *lmp, int _cdeamVersion) : PairEAM(lmp), PairEAMAlloy(lmp), cdeamVersion(_cdeamVersion) +PairEAMCD::PairEAMCD(LAMMPS *lmp, int _cdeamVersion) : PairEAM(lmp), PairEAMAlloy(lmp), cdeamVersion(_cdeamVersion) { single_enable = 0; restartinfo = 0; @@ -72,14 +72,14 @@ PairCDEAM::PairCDEAM(LAMMPS *lmp, int _cdeamVersion) : PairEAM(lmp), PairEAMAllo } } -PairCDEAM::~PairCDEAM() +PairEAMCD::~PairEAMCD() { memory->destroy(rhoB); memory->destroy(D_values); if(hcoeff) delete[] hcoeff; } -void PairCDEAM::compute(int eflag, int vflag) +void PairEAMCD::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; @@ -415,7 +415,7 @@ void PairCDEAM::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -void PairCDEAM::coeff(int narg, char **arg) +void PairEAMCD::coeff(int narg, char **arg) { PairEAMAlloy::coeff(narg, arg); @@ -452,7 +452,7 @@ void PairCDEAM::coeff(int narg, char **arg) /* ---------------------------------------------------------------------- Reads in the h(x) polynomial coefficients ------------------------------------------------------------------------- */ -void PairCDEAM::read_h_coeff(char *filename) +void PairEAMCD::read_h_coeff(char *filename) { if(comm->me == 0) { // Open potential file @@ -494,7 +494,7 @@ void PairCDEAM::read_h_coeff(char *filename) /* ---------------------------------------------------------------------- */ -int PairCDEAM::pack_forward_comm(int n, int *list, double *buf, +int PairEAMCD::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) { int i,j,m; @@ -534,7 +534,7 @@ int PairCDEAM::pack_forward_comm(int n, int *list, double *buf, /* ---------------------------------------------------------------------- */ -void PairCDEAM::unpack_forward_comm(int n, int first, double *buf) +void PairEAMCD::unpack_forward_comm(int n, int first, double *buf) { int i,m,last; @@ -567,7 +567,7 @@ void PairCDEAM::unpack_forward_comm(int n, int first, double *buf) } /* ---------------------------------------------------------------------- */ -int PairCDEAM::pack_reverse_comm(int n, int first, double *buf) +int PairEAMCD::pack_reverse_comm(int n, int first, double *buf) { int i,m,last; @@ -603,7 +603,7 @@ int PairCDEAM::pack_reverse_comm(int n, int first, double *buf) /* ---------------------------------------------------------------------- */ -void PairCDEAM::unpack_reverse_comm(int n, int *list, double *buf) +void PairEAMCD::unpack_reverse_comm(int n, int *list, double *buf) { int i,j,m; @@ -637,7 +637,7 @@ void PairCDEAM::unpack_reverse_comm(int n, int *list, double *buf) /* ---------------------------------------------------------------------- memory usage of local atom-based arrays ------------------------------------------------------------------------- */ -double PairCDEAM::memory_usage() +double PairEAMCD::memory_usage() { double bytes = 2 * nmax * sizeof(double); return PairEAMAlloy::memory_usage() + bytes; diff --git a/src/MANYBODY/pair_eam_cd.h b/src/MANYBODY/pair_eam_cd.h index 934b7601a4..15486aed6d 100644 --- a/src/MANYBODY/pair_eam_cd.h +++ b/src/MANYBODY/pair_eam_cd.h @@ -13,8 +13,8 @@ #ifdef PAIR_CLASS -PairStyle(eam/cd,PairCDEAM_OneSite) -PairStyle(eam/cd/old,PairCDEAM_TwoSite) +PairStyle(eam/cd,PairEAMCD_OneSite) +PairStyle(eam/cd/old,PairEAMCD_TwoSite) #else @@ -25,14 +25,14 @@ PairStyle(eam/cd/old,PairCDEAM_TwoSite) namespace LAMMPS_NS { -class PairCDEAM : public PairEAMAlloy +class PairEAMCD : public PairEAMAlloy { public: /// Constructor. - PairCDEAM(class LAMMPS*, int cdeamVersion); + PairEAMCD(class LAMMPS*, int cdeamVersion); /// Destructor. - virtual ~PairCDEAM(); + virtual ~PairEAMCD(); /// Calculates the energies and forces for all atoms in the system. virtual void compute(int, int); @@ -211,19 +211,19 @@ public: }; /// The one-site concentration formulation of CD-EAM. - class PairCDEAM_OneSite : public PairCDEAM + class PairEAMCD_OneSite : public PairEAMCD { public: /// Constructor. - PairCDEAM_OneSite(class LAMMPS* lmp) : PairEAM(lmp), PairCDEAM(lmp, 1) {} + PairEAMCD_OneSite(class LAMMPS* lmp) : PairEAM(lmp), PairEAMCD(lmp, 1) {} }; /// The two-site concentration formulation of CD-EAM. - class PairCDEAM_TwoSite : public PairCDEAM + class PairEAMCD_TwoSite : public PairEAMCD { public: /// Constructor. - PairCDEAM_TwoSite(class LAMMPS* lmp) : PairEAM(lmp), PairCDEAM(lmp, 2) {} + PairEAMCD_TwoSite(class LAMMPS* lmp) : PairEAM(lmp), PairEAMCD(lmp, 2) {} }; } -- GitLab From c6186bf00d5adcfd11d07c2393f306a1695d587e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 31 Jul 2018 17:36:49 +0200 Subject: [PATCH 381/675] whitespace and formatting update --- src/MANYBODY/pair_eam_cd.cpp | 1111 +++++++++++++++++----------------- 1 file changed, 572 insertions(+), 539 deletions(-) diff --git a/src/MANYBODY/pair_eam_cd.cpp b/src/MANYBODY/pair_eam_cd.cpp index c0e480488d..66ebad6244 100644 --- a/src/MANYBODY/pair_eam_cd.cpp +++ b/src/MANYBODY/pair_eam_cd.cpp @@ -32,463 +32,507 @@ using namespace LAMMPS_NS; -// This is for debugging purposes. The ASSERT() macro is used in the code to check -// if everything runs as expected. Change this to #if 0 if you don't need the checking. -#if 0 - #define ASSERT(cond) ((!(cond)) ? my_failure(error,__FILE__,__LINE__) : my_noop()) - - inline void my_noop() {} - inline void my_failure(Error* error, const char* file, int line) { - char str[1024]; - sprintf(str,"Assertion failure: File %s, line %i", file, line); - error->one(FLERR,str); - } -#else - #define ASSERT(cond) -#endif - +#define ASSERT(cond) #define MAXLINE 1024 // This sets the maximum line length in EAM input files. -PairEAMCD::PairEAMCD(LAMMPS *lmp, int _cdeamVersion) : PairEAM(lmp), PairEAMAlloy(lmp), cdeamVersion(_cdeamVersion) +PairEAMCD::PairEAMCD(LAMMPS *lmp, int _cdeamVersion) + : PairEAM(lmp), PairEAMAlloy(lmp), cdeamVersion(_cdeamVersion) { - single_enable = 0; - restartinfo = 0; - - rhoB = NULL; - D_values = NULL; - hcoeff = NULL; - - // Set communication buffer sizes needed by this pair style. - if(cdeamVersion == 1) { - comm_forward = 4; - comm_reverse = 3; - } - else if(cdeamVersion == 2) { - comm_forward = 3; - comm_reverse = 2; - } - else { - error->all(FLERR,"Invalid CD-EAM potential version."); - } + single_enable = 0; + restartinfo = 0; + + rhoB = NULL; + D_values = NULL; + hcoeff = NULL; + + // Set communication buffer sizes needed by this pair style. + + if (cdeamVersion == 1) { + comm_forward = 4; + comm_reverse = 3; + } else if (cdeamVersion == 2) { + comm_forward = 3; + comm_reverse = 2; + } else { + error->all(FLERR,"Invalid eam/cd potential version."); + } } PairEAMCD::~PairEAMCD() { - memory->destroy(rhoB); - memory->destroy(D_values); - if(hcoeff) delete[] hcoeff; + memory->destroy(rhoB); + memory->destroy(D_values); + if (hcoeff) delete[] hcoeff; } void PairEAMCD::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; - double rsq,rhoip,rhojp,recip,phi; - int *ilist,*jlist,*numneigh,**firstneigh; - - evdwl = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; - - // Grow per-atom arrays if necessary - if(atom->nmax > nmax) { - memory->destroy(rho); - memory->destroy(fp); - memory->destroy(rhoB); - memory->destroy(D_values); - nmax = atom->nmax; - memory->create(rho,nmax,"pair:rho"); - memory->create(rhoB,nmax,"pair:rhoB"); - memory->create(fp,nmax,"pair:fp"); - memory->create(D_values,nmax,"pair:D_values"); + int i,j,ii,jj,inum,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; + double rsq,rhoip,rhojp,recip,phi; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; + + // Grow per-atom arrays if necessary + + if (atom->nmax > nmax) { + memory->destroy(rho); + memory->destroy(fp); + memory->destroy(rhoB); + memory->destroy(D_values); + nmax = atom->nmax; + memory->create(rho,nmax,"pair:rho"); + memory->create(rhoB,nmax,"pair:rhoB"); + memory->create(fp,nmax,"pair:fp"); + memory->create(D_values,nmax,"pair:D_values"); + } + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // Zero out per-atom arrays. + + int m = nlocal + atom->nghost; + for (i = 0; i < m; i++) { + rho[i] = 0.0; + rhoB[i] = 0.0; + D_values[i] = 0.0; + } + + // Stage I + + // Compute rho and rhoB at each local atom site. + + // Additionally calculate the D_i values here if we are using the + // one-site formulation. For the two-site formulation we have to + // calculate the D values in an extra loop (Stage II). + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq < cutforcesq) { + jtype = type[j]; + double r = sqrt(rsq); + const EAMTableIndex index = radiusToTableIndex(r); + double localrho = RhoOfR(index, jtype, itype); + rho[i] += localrho; + if (jtype == speciesB) rhoB[i] += localrho; + if (newton_pair || j < nlocal) { + localrho = RhoOfR(index, itype, jtype); + rho[j] += localrho; + if (itype == speciesB) rhoB[j] += localrho; } - double **x = atom->x; - double **f = atom->f; - int *type = atom->type; - int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; - - inum = list->inum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - - // Zero out per-atom arrays. - int m = nlocal + atom->nghost; - for(i = 0; i < m; i++) { - rho[i] = 0.0; - rhoB[i] = 0.0; - D_values[i] = 0.0; + if (cdeamVersion == 1 && itype != jtype) { + + // Note: if the i-j interaction is not concentration dependent (because either + // i or j are not species A or B) then its contribution to D_i and D_j should + // be ignored. + // This if-clause is only required for a ternary. + + if ((itype == speciesA && jtype == speciesB) + || (jtype == speciesA && itype == speciesB)) { + double Phi_AB = PhiOfR(index, itype, jtype, 1.0 / r); + D_values[i] += Phi_AB; + if (newton_pair || j < nlocal) + D_values[j] += Phi_AB; + } } + } + } + } + + // Communicate and sum densities. + + if (newton_pair) { + communicationStage = 1; + comm->reverse_comm_pair(this); + } + + // fp = derivative of embedding energy at each atom + // phi = embedding energy at each atom + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + EAMTableIndex index = rhoToTableIndex(rho[i]); + fp[i] = FPrimeOfRho(index, type[i]); + if (eflag) { + phi = FofRho(index, type[i]); + if (eflag_global) eng_vdwl += phi; + if (eflag_atom) eatom[i] += phi; + } + } + + // Communicate derivative of embedding function and densities + // and D_values (this for one-site formulation only). + + communicationStage = 2; + comm->forward_comm_pair(this); + + // The electron densities may not drop to zero because then the + // concentration would no longer be defined. But the concentration + // is not needed anyway if there is no interaction with another atom, + // which is the case if the electron density is exactly zero. + // That's why the following lines have been commented out. + // + //for (i = 0; i < nlocal + atom->nghost; i++) { + // if (rho[i] == 0 && (type[i] == speciesA || type[i] == speciesB)) + // error->one(FLERR,"CD-EAM potential routine: Detected atom with zero electron density."); + //} + + // Stage II + // This is only required for the original two-site formulation of the CD-EAM potential. + + if (cdeamVersion == 2) { + + // Compute intermediate value D_i for each atom. + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + // This code line is required for ternary alloys. + + if (itype != speciesA && itype != speciesB) continue; + + double x_i = rhoB[i] / rho[i]; // Concentration at atom i. - // Stage I - - // Compute rho and rhoB at each local atom site. - // Additionally calculate the D_i values here if we are using the one-site formulation. - // For the two-site formulation we have to calculate the D values in an extra loop (Stage II). - for(ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - itype = type[i]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for(jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if(rsq < cutforcesq) { - jtype = type[j]; - double r = sqrt(rsq); - const EAMTableIndex index = radiusToTableIndex(r); - double localrho = RhoOfR(index, jtype, itype); - rho[i] += localrho; - if(jtype == speciesB) rhoB[i] += localrho; - if(newton_pair || j < nlocal) { - localrho = RhoOfR(index, itype, jtype); - rho[j] += localrho; - if(itype == speciesB) rhoB[j] += localrho; - } - - if(cdeamVersion == 1 && itype != jtype) { - // Note: if the i-j interaction is not concentration dependent (because either - // i or j are not species A or B) then its contribution to D_i and D_j should - // be ignored. - // This if-clause is only required for a ternary. - if((itype == speciesA && jtype == speciesB) || (jtype == speciesA && itype == speciesB)) { - double Phi_AB = PhiOfR(index, itype, jtype, 1.0 / r); - D_values[i] += Phi_AB; - if(newton_pair || j < nlocal) - D_values[j] += Phi_AB; - } - } - } - } + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtype = type[j]; + if (itype == jtype) continue; + + // This code line is required for ternary alloys. + + if (jtype != speciesA && jtype != speciesB) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq < cutforcesq) { + double r = sqrt(rsq); + const EAMTableIndex index = radiusToTableIndex(r); + + // The concentration independent part of the cross pair potential. + + double Phi_AB = PhiOfR(index, itype, jtype, 1.0 / r); + + // Average concentration of two sites + + double x_ij = 0.5 * (x_i + rhoB[j]/rho[j]); + + // Calculate derivative of h(x_ij) polynomial function. + + double h_prime = evalHprime(x_ij); + + D_values[i] += h_prime * Phi_AB / (2.0 * rho[i] * rho[i]); + if (newton_pair || j < nlocal) + D_values[j] += h_prime * Phi_AB / (2.0 * rho[j] * rho[j]); } + } + } + + // Communicate and sum D values. + + if (newton_pair) { + communicationStage = 3; + comm->reverse_comm_pair(this); + } + communicationStage = 4; + comm->forward_comm_pair(this); + } + + // Stage III + + // Compute force acting on each atom. + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + + jlist = firstneigh[i]; + jnum = numneigh[i]; + + // Concentration at site i + // The value -1 indicates: no concentration dependence for all interactions of atom i. + // It will be replaced by the concentration at site i if atom i is either A or B. + + double x_i = -1.0; + double D_i, h_prime_i; + + // This if-clause is only required for ternary alloys. + + if ((itype == speciesA || itype == speciesB) && rho[i] != 0.0) { + + // Compute local concentration at site i. - // Communicate and sum densities. - if(newton_pair) { - communicationStage = 1; - comm->reverse_comm_pair(this); + x_i = rhoB[i]/rho[i]; + ASSERT(x_i >= 0 && x_i<=1.0); + + if (cdeamVersion == 1) { + + // Calculate derivative of h(x_i) polynomial function. + + h_prime_i = evalHprime(x_i); + D_i = D_values[i] * h_prime_i / (2.0 * rho[i] * rho[i]); + } else if (cdeamVersion == 2) { + D_i = D_values[i]; + } else { + ASSERT(false); + } + } + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq < cutforcesq) { + jtype = type[j]; + double r = sqrt(rsq); + const EAMTableIndex index = radiusToTableIndex(r); + + // rhoip = derivative of (density at atom j due to atom i) + // rhojp = derivative of (density at atom i due to atom j) + // psip needs both fp[i] and fp[j] terms since r_ij appears in two + // terms of embed eng: Fi(sum rho_ij) and Fj(sum rho_ji) + // hence embed' = Fi(sum rho_ij) rhojp + Fj(sum rho_ji) rhoip + + rhoip = RhoPrimeOfR(index, itype, jtype); + rhojp = RhoPrimeOfR(index, jtype, itype); + fpair = fp[i]*rhojp + fp[j]*rhoip; + recip = 1.0/r; + + // The value -1 indicates: no concentration dependence for this + // i-j pair because atom j is not of species A nor B. + + double x_j = -1; + + // This code line is required for ternary alloy. + + if (jtype == speciesA || jtype == speciesB) { + ASSERT(rho[i] != 0.0); + ASSERT(rho[j] != 0.0); + + // Compute local concentration at site j. + + x_j = rhoB[j]/rho[j]; + ASSERT(x_j >= 0 && x_j<=1.0); + + double D_j=0.0; + if (cdeamVersion == 1) { + + // Calculate derivative of h(x_j) polynomial function. + + double h_prime_j = evalHprime(x_j); + D_j = D_values[j] * h_prime_j / (2.0 * rho[j] * rho[j]); + } else if (cdeamVersion == 2) { + D_j = D_values[j]; + } else { + ASSERT(false); + } + double t2 = -rhoB[j]; + if (itype == speciesB) t2 += rho[j]; + fpair += D_j * rhoip * t2; } - // fp = derivative of embedding energy at each atom - // phi = embedding energy at each atom - for(ii = 0; ii < inum; ii++) { - i = ilist[ii]; - EAMTableIndex index = rhoToTableIndex(rho[i]); - fp[i] = FPrimeOfRho(index, type[i]); - if(eflag) { - phi = FofRho(index, type[i]); - if (eflag_global) eng_vdwl += phi; - if (eflag_atom) eatom[i] += phi; - } + // This if-clause is only required for a ternary alloy. + // Actually we don't need it at all because D_i should be zero + // anyway if atom i has no concentration dependent interactions + // (because it is not species A or B). + + if (x_i != -1.0) { + double t1 = -rhoB[i]; + if (jtype == speciesB) t1 += rho[i]; + fpair += D_i * rhojp * t1; } - // Communicate derivative of embedding function and densities - // and D_values (this for one-site formulation only). - communicationStage = 2; - comm->forward_comm_pair(this); - - // The electron densities may not drop to zero because then the concentration would no longer be defined. - // But the concentration is not needed anyway if there is no interaction with another atom, which is the case - // if the electron density is exactly zero. That's why the following lines have been commented out. - // - //for(i = 0; i < nlocal + atom->nghost; i++) { - // if(rho[i] == 0 && (type[i] == speciesA || type[i] == speciesB)) - // error->one(FLERR,"CD-EAM potential routine: Detected atom with zero electron density."); - //} - - // Stage II - // This is only required for the original two-site formulation of the CD-EAM potential. - - if(cdeamVersion == 2) { - // Compute intermediate value D_i for each atom. - for(ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - itype = type[i]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - // This code line is required for ternary alloys. - if(itype != speciesA && itype != speciesB) continue; - - double x_i = rhoB[i] / rho[i]; // Concentration at atom i. - - for(jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - jtype = type[j]; - if(itype == jtype) continue; - - // This code line is required for ternary alloys. - if(jtype != speciesA && jtype != speciesB) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if(rsq < cutforcesq) { - double r = sqrt(rsq); - const EAMTableIndex index = radiusToTableIndex(r); - - // The concentration independent part of the cross pair potential. - double Phi_AB = PhiOfR(index, itype, jtype, 1.0 / r); - - // Average concentration of two sites - double x_ij = 0.5 * (x_i + rhoB[j]/rho[j]); - - // Calculate derivative of h(x_ij) polynomial function. - double h_prime = evalHprime(x_ij); - - D_values[i] += h_prime * Phi_AB / (2.0 * rho[i] * rho[i]); - if(newton_pair || j < nlocal) - D_values[j] += h_prime * Phi_AB / (2.0 * rho[j] * rho[j]); - } - } - } - - // Communicate and sum D values. - if(newton_pair) { - communicationStage = 3; - comm->reverse_comm_pair(this); - } - communicationStage = 4; - comm->forward_comm_pair(this); + double phip; + double phi = PhiOfR(index, itype, jtype, recip, phip); + if (itype == jtype || x_i == -1.0 || x_j == -1.0) { + + // Case of no concentration dependence. + + fpair += phip; + } else { + + // We have a concentration dependence for the i-j interaction. + + double h=0.0; + if (cdeamVersion == 1) { + + // Calculate h(x_i) polynomial function. + + double h_i = evalH(x_i); + + // Calculate h(x_j) polynomial function. + + double h_j = evalH(x_j); + h = 0.5 * (h_i + h_j); + } else if (cdeamVersion == 2) { + + // Average concentration. + + double x_ij = 0.5 * (x_i + x_j); + + // Calculate h(x_ij) polynomial function. + + h = evalH(x_ij); + } else { + ASSERT(false); + } + fpair += h * phip; + phi *= h; } - // Stage III - - // Compute force acting on each atom. - for(ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - itype = type[i]; - - jlist = firstneigh[i]; - jnum = numneigh[i]; - - // Concentration at site i - double x_i = -1.0; // The value -1 indicates: no concentration dependence for all interactions of atom i. - // It will be replaced by the concentration at site i if atom i is either A or B. - - double D_i, h_prime_i; - - // This if-clause is only required for ternary alloys. - if((itype == speciesA || itype == speciesB) && rho[i] != 0.0) { - - // Compute local concentration at site i. - x_i = rhoB[i]/rho[i]; - ASSERT(x_i >= 0 && x_i<=1.0); - - if(cdeamVersion == 1) { - // Calculate derivative of h(x_i) polynomial function. - h_prime_i = evalHprime(x_i); - D_i = D_values[i] * h_prime_i / (2.0 * rho[i] * rho[i]); - } else if(cdeamVersion == 2) { - D_i = D_values[i]; - } else { - ASSERT(false); - } - } - - for(jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if(rsq < cutforcesq) { - jtype = type[j]; - double r = sqrt(rsq); - const EAMTableIndex index = radiusToTableIndex(r); - - // rhoip = derivative of (density at atom j due to atom i) - // rhojp = derivative of (density at atom i due to atom j) - // psip needs both fp[i] and fp[j] terms since r_ij appears in two - // terms of embed eng: Fi(sum rho_ij) and Fj(sum rho_ji) - // hence embed' = Fi(sum rho_ij) rhojp + Fj(sum rho_ji) rhoip - rhoip = RhoPrimeOfR(index, itype, jtype); - rhojp = RhoPrimeOfR(index, jtype, itype); - fpair = fp[i]*rhojp + fp[j]*rhoip; - recip = 1.0/r; - - double x_j = -1; // The value -1 indicates: no concentration dependence for this i-j pair - // because atom j is not of species A nor B. - - // This code line is required for ternary alloy. - if(jtype == speciesA || jtype == speciesB) { - ASSERT(rho[i] != 0.0); - ASSERT(rho[j] != 0.0); - - // Compute local concentration at site j. - x_j = rhoB[j]/rho[j]; - ASSERT(x_j >= 0 && x_j<=1.0); - - double D_j=0.0; - if(cdeamVersion == 1) { - // Calculate derivative of h(x_j) polynomial function. - double h_prime_j = evalHprime(x_j); - D_j = D_values[j] * h_prime_j / (2.0 * rho[j] * rho[j]); - } else if(cdeamVersion == 2) { - D_j = D_values[j]; - } else { - ASSERT(false); - } - double t2 = -rhoB[j]; - if(itype == speciesB) t2 += rho[j]; - fpair += D_j * rhoip * t2; - } - - // This if-clause is only required for a ternary alloy. - // Actually we don't need it at all because D_i should be zero anyway if - // atom i has no concentration dependent interactions (because it is not species A or B). - if(x_i != -1.0) { - double t1 = -rhoB[i]; - if(jtype == speciesB) t1 += rho[i]; - fpair += D_i * rhojp * t1; - } - - double phip; - double phi = PhiOfR(index, itype, jtype, recip, phip); - if(itype == jtype || x_i == -1.0 || x_j == -1.0) { - // Case of no concentration dependence. - fpair += phip; - } else { - // We have a concentration dependence for the i-j interaction. - double h=0.0; - if(cdeamVersion == 1) { - // Calculate h(x_i) polynomial function. - double h_i = evalH(x_i); - // Calculate h(x_j) polynomial function. - double h_j = evalH(x_j); - h = 0.5 * (h_i + h_j); - } else if(cdeamVersion == 2) { - // Average concentration. - double x_ij = 0.5 * (x_i + x_j); - // Calculate h(x_ij) polynomial function. - h = evalH(x_ij); - } else { - ASSERT(false); - } - fpair += h * phip; - phi *= h; - } - - // Divide by r_ij and negate to get forces from gradient. - fpair /= -r; - - f[i][0] += delx*fpair; - f[i][1] += dely*fpair; - f[i][2] += delz*fpair; - if(newton_pair || j < nlocal) { - f[j][0] -= delx*fpair; - f[j][1] -= dely*fpair; - f[j][2] -= delz*fpair; - } - - if(eflag) evdwl = phi; - if(evflag) ev_tally(i,j,nlocal,newton_pair,evdwl,0.0,fpair,delx,dely,delz); - } - } + // Divide by r_ij and negate to get forces from gradient. + + fpair /= -r; + + f[i][0] += delx*fpair; + f[i][1] += dely*fpair; + f[i][2] += delz*fpair; + if (newton_pair || j < nlocal) { + f[j][0] -= delx*fpair; + f[j][1] -= dely*fpair; + f[j][2] -= delz*fpair; } - if(vflag_fdotr) virial_fdotr_compute(); + if (eflag) evdwl = phi; + if (evflag) ev_tally(i,j,nlocal,newton_pair,evdwl,0.0,fpair,delx,dely,delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); } /* ---------------------------------------------------------------------- */ void PairEAMCD::coeff(int narg, char **arg) { - PairEAMAlloy::coeff(narg, arg); - - // Make sure the EAM file is a CD-EAM binary alloy. - if(setfl->nelements < 2) - error->all(FLERR,"The EAM file must contain at least 2 elements to be used with the eam/cd pair style."); - - // Read in the coefficients of the h polynomial from the end of the EAM file. - read_h_coeff(arg[2]); - - // Determine which atom type is the A species and which is the B species in the alloy. - // By default take the first element (index 0) in the EAM file as the A species - // and the second element (index 1) in the EAM file as the B species. - speciesA = -1; - speciesB = -1; - for(int i = 1; i <= atom->ntypes; i++) { - if(map[i] == 0) { - if(speciesA >= 0) - error->all(FLERR,"The first element from the EAM file may only be mapped to a single atom type."); - speciesA = i; - } - if(map[i] == 1) { - if(speciesB >= 0) - error->all(FLERR,"The second element from the EAM file may only be mapped to a single atom type."); - speciesB = i; - } - } - if(speciesA < 0) - error->all(FLERR,"The first element from the EAM file must be mapped to exactly one atom type."); - if(speciesB < 0) - error->all(FLERR,"The second element from the EAM file must be mapped to exactly one atom type."); + PairEAMAlloy::coeff(narg, arg); + + // Make sure the EAM file is a CD-EAM binary alloy. + + if (setfl->nelements < 2) + error->all(FLERR,"The EAM file must contain at least 2 elements to be used with the eam/cd pair style."); + + // Read in the coefficients of the h polynomial from the end of the EAM file. + + read_h_coeff(arg[2]); + + // Determine which atom type is the A species and which is the B + // species in the alloy. By default take the first element (index 0) + // in the EAM file as the A species and the second element (index 1) + // in the EAM file as the B species. + + speciesA = -1; + speciesB = -1; + for (int i = 1; i <= atom->ntypes; i++) { + if (map[i] == 0) { + if (speciesA >= 0) + error->all(FLERR,"The first element from the EAM file may only be mapped to a single atom type."); + speciesA = i; + } + if (map[i] == 1) { + if (speciesB >= 0) + error->all(FLERR,"The second element from the EAM file may only be mapped to a single atom type."); + speciesB = i; + } + } + if (speciesA < 0) + error->all(FLERR,"The first element from the EAM file must be mapped to exactly one atom type."); + if (speciesB < 0) + error->all(FLERR,"The second element from the EAM file must be mapped to exactly one atom type."); } /* ---------------------------------------------------------------------- Reads in the h(x) polynomial coefficients ------------------------------------------------------------------------- */ + void PairEAMCD::read_h_coeff(char *filename) { - if(comm->me == 0) { - // Open potential file - FILE *fptr; - char line[MAXLINE]; - char nextline[MAXLINE]; - fptr = force->open_potential(filename); - if (fptr == NULL) { - char str[128]; - sprintf(str,"Cannot open EAM potential file %s", filename); - error->one(FLERR,str); - } - - // h coefficients are stored at the end of the file. - // Skip to last line of file. - while(fgets(nextline, MAXLINE, fptr) != NULL) { - strcpy(line, nextline); - } - char* ptr = strtok(line, " \t\n\r\f"); - int degree = atoi(ptr); - nhcoeff = degree+1; - hcoeff = new double[nhcoeff]; - int i = 0; - while((ptr = strtok(NULL," \t\n\r\f")) != NULL && i < nhcoeff) { - hcoeff[i++] = atof(ptr); - } - if(i != nhcoeff || nhcoeff < 1) - error->one(FLERR,"Failed to read h(x) function coefficients from EAM file."); - - // Close the potential file. - fclose(fptr); - } - - MPI_Bcast(&nhcoeff, 1, MPI_INT, 0, world); - if(comm->me != 0) hcoeff = new double[nhcoeff]; - MPI_Bcast(hcoeff, nhcoeff, MPI_DOUBLE, 0, world); + if (comm->me == 0) { + + // Open potential file + + FILE *fptr; + char line[MAXLINE]; + char nextline[MAXLINE]; + fptr = force->open_potential(filename); + if (fptr == NULL) { + char str[128]; + sprintf(str,"Cannot open EAM potential file %s", filename); + error->one(FLERR,str); + } + + // h coefficients are stored at the end of the file. + // Skip to last line of file. + + while(fgets(nextline, MAXLINE, fptr) != NULL) { + strcpy(line, nextline); + } + char* ptr = strtok(line, " \t\n\r\f"); + int degree = atoi(ptr); + nhcoeff = degree+1; + hcoeff = new double[nhcoeff]; + int i = 0; + while((ptr = strtok(NULL," \t\n\r\f")) != NULL && i < nhcoeff) { + hcoeff[i++] = atof(ptr); + } + if (i != nhcoeff || nhcoeff < 1) + error->one(FLERR,"Failed to read h(x) function coefficients from EAM file."); + + // Close the potential file. + + fclose(fptr); + } + + MPI_Bcast(&nhcoeff, 1, MPI_INT, 0, world); + if (comm->me != 0) hcoeff = new double[nhcoeff]; + MPI_Bcast(hcoeff, nhcoeff, MPI_DOUBLE, 0, world); } @@ -497,141 +541,130 @@ void PairEAMCD::read_h_coeff(char *filename) int PairEAMCD::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) { - int i,j,m; - - m = 0; - if(communicationStage == 2) { - if(cdeamVersion == 1) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = fp[j]; - buf[m++] = rho[j]; - buf[m++] = rhoB[j]; - buf[m++] = D_values[j]; - } - return m; - } - else if(cdeamVersion == 2) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = fp[j]; - buf[m++] = rho[j]; - buf[m++] = rhoB[j]; - } - return m; - } - else { ASSERT(false); return 0; } - } - else if(communicationStage == 4) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = D_values[j]; - } - return m; - } - else return 0; + int i,j,m; + + m = 0; + if (communicationStage == 2) { + if (cdeamVersion == 1) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = fp[j]; + buf[m++] = rho[j]; + buf[m++] = rhoB[j]; + buf[m++] = D_values[j]; + } + return m; + } else if (cdeamVersion == 2) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = fp[j]; + buf[m++] = rho[j]; + buf[m++] = rhoB[j]; + } + return m; + } else { ASSERT(false); return 0; } + } else if (communicationStage == 4) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = D_values[j]; + } + return m; + } else return 0; } /* ---------------------------------------------------------------------- */ void PairEAMCD::unpack_forward_comm(int n, int first, double *buf) { - int i,m,last; - - m = 0; - last = first + n; - if(communicationStage == 2) { - if(cdeamVersion == 1) { - for(i = first; i < last; i++) { - fp[i] = buf[m++]; - rho[i] = buf[m++]; - rhoB[i] = buf[m++]; - D_values[i] = buf[m++]; - } - } - else if(cdeamVersion == 2) { - for(i = first; i < last; i++) { - fp[i] = buf[m++]; - rho[i] = buf[m++]; - rhoB[i] = buf[m++]; - } - } else { - ASSERT(false); - } - } - else if(communicationStage == 4) { - for(i = first; i < last; i++) { - D_values[i] = buf[m++]; - } - } + int i,m,last; + + m = 0; + last = first + n; + if (communicationStage == 2) { + if (cdeamVersion == 1) { + for (i = first; i < last; i++) { + fp[i] = buf[m++]; + rho[i] = buf[m++]; + rhoB[i] = buf[m++]; + D_values[i] = buf[m++]; + } + } else if (cdeamVersion == 2) { + for (i = first; i < last; i++) { + fp[i] = buf[m++]; + rho[i] = buf[m++]; + rhoB[i] = buf[m++]; + } + } else { + ASSERT(false); + } + } else if (communicationStage == 4) { + for (i = first; i < last; i++) { + D_values[i] = buf[m++]; + } + } } /* ---------------------------------------------------------------------- */ int PairEAMCD::pack_reverse_comm(int n, int first, double *buf) { - int i,m,last; - - m = 0; - last = first + n; - - if(communicationStage == 1) { - if(cdeamVersion == 1) { - for(i = first; i < last; i++) { - buf[m++] = rho[i]; - buf[m++] = rhoB[i]; - buf[m++] = D_values[i]; - } - return m; - } - else if(cdeamVersion == 2) { - for(i = first; i < last; i++) { - buf[m++] = rho[i]; - buf[m++] = rhoB[i]; - } - return m; - } - else { ASSERT(false); return 0; } - } - else if(communicationStage == 3) { - for(i = first; i < last; i++) { - buf[m++] = D_values[i]; - } - return m; - } - else return 0; + int i,m,last; + + m = 0; + last = first + n; + + if (communicationStage == 1) { + if (cdeamVersion == 1) { + for (i = first; i < last; i++) { + buf[m++] = rho[i]; + buf[m++] = rhoB[i]; + buf[m++] = D_values[i]; + } + return m; + } else if (cdeamVersion == 2) { + for (i = first; i < last; i++) { + buf[m++] = rho[i]; + buf[m++] = rhoB[i]; + } + return m; + } else { ASSERT(false); return 0; } + } else if (communicationStage == 3) { + for (i = first; i < last; i++) { + buf[m++] = D_values[i]; + } + return m; + } else return 0; } /* ---------------------------------------------------------------------- */ void PairEAMCD::unpack_reverse_comm(int n, int *list, double *buf) { - int i,j,m; - - m = 0; - if(communicationStage == 1) { - if(cdeamVersion == 1) { - for(i = 0; i < n; i++) { - j = list[i]; - rho[j] += buf[m++]; - rhoB[j] += buf[m++]; - D_values[j] += buf[m++]; - } - } else if(cdeamVersion == 2) { - for(i = 0; i < n; i++) { - j = list[i]; - rho[j] += buf[m++]; - rhoB[j] += buf[m++]; - } - } else { - ASSERT(false); - } - } - else if(communicationStage == 3) { - for(i = 0; i < n; i++) { - j = list[i]; - D_values[j] += buf[m++]; - } - } + int i,j,m; + + m = 0; + if (communicationStage == 1) { + if (cdeamVersion == 1) { + for (i = 0; i < n; i++) { + j = list[i]; + rho[j] += buf[m++]; + rhoB[j] += buf[m++]; + D_values[j] += buf[m++]; + } + } else if (cdeamVersion == 2) { + for (i = 0; i < n; i++) { + j = list[i]; + rho[j] += buf[m++]; + rhoB[j] += buf[m++]; + } + } else { + ASSERT(false); + } + } else if (communicationStage == 3) { + for (i = 0; i < n; i++) { + j = list[i]; + D_values[j] += buf[m++]; + } + } } /* ---------------------------------------------------------------------- @@ -639,6 +672,6 @@ void PairEAMCD::unpack_reverse_comm(int n, int *list, double *buf) ------------------------------------------------------------------------- */ double PairEAMCD::memory_usage() { - double bytes = 2 * nmax * sizeof(double); - return PairEAMAlloy::memory_usage() + bytes; + double bytes = 2 * nmax * sizeof(double); + return PairEAMAlloy::memory_usage() + bytes; } -- GitLab From ae04fd0beaba1c3561cd17354d2c1fa05bde79ae Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Tue, 31 Jul 2018 09:48:59 -0600 Subject: [PATCH 382/675] fixed error: if no particles are on a process, the arrays for efield and epot were not allocated, leading to segfaults; shifted the parameter output to after the tuning step, so if the values are changed, the changed values are displayed --- src/USER-SCAFACOS/scafacos.cpp | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index e7dbcb4523..21e46f76ad 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -121,7 +121,6 @@ void Scafacos::init() result = fcs_set_tolerance(fcs,tolerance_type,tolerance); check_result(result); } - if (me == 0) fcs_print_parameters(fcs); double **x = atom->x; double *q = atom->q; @@ -130,11 +129,15 @@ void Scafacos::init() if (strcmp(method,"fmm") == 0) { if (fmm_tuning_flag == 1) - fcs_fmm_set_internal_tuning(fcs,fmm_tuning_flag); + fcs_fmm_set_internal_tuning(fcs,FCS_FMM_INHOMOGENOUS_SYSTEM); + else + fcs_fmm_set_internal_tuning(fcs,FCS_FMM_HOMOGENOUS_SYSTEM); } result = fcs_tune(fcs,nlocal,&x[0][0],q); check_result(result); + // more useful here, since the parameters should be tuned now + if (me == 0) fcs_print_parameters(fcs); } initialized = 1; } @@ -170,13 +173,20 @@ void Scafacos::compute(int eflag, int vflag) // grow epot & efield if necessary + if (nlocal == 0 && maxatom == 0) { + memory->destroy(epot); + memory->destroy(efield); + maxatom = 1; + memory->create(epot,maxatom,"scafacos:epot"); + memory->create(efield,maxatom,3,"scafacos:efield"); + } + if (nlocal > maxatom) { memory->destroy(epot); memory->destroy(efield); maxatom = atom->nmax; memory->create(epot,maxatom,"scafacos:epot"); memory->create(efield,maxatom,3,"scafacos:efield"); - } if (vflag_global) @@ -184,6 +194,12 @@ void Scafacos::compute(int eflag, int vflag) fcs_set_compute_virial(fcs,1); } + if (strcmp(method,"p3m")==0) + { + result = fcs_tune(fcs,nlocal,&x[0][0],q); + check_result(result); + } + result = fcs_run(fcs,nlocal,&x[0][0],q,&efield[0][0],epot); check_result(result); @@ -252,8 +268,8 @@ int Scafacos::modify_param(int narg, char **arg) // 1 -> inhomogenous system (more internal tuning is provided (sequential!)) if (strcmp(arg[1],"fmm_tuning") == 0) { - if (screen && me == 0) fprintf(screen,"ScaFaCoS setting fmm inhomogen tuning ...%d\n", narg); - if (logfile && me == 0) fprintf(logfile,"ScaFaCoS setting fmm inhomogen tuning ...%d\n", narg); + if (screen && me == 0) fprintf(screen,"ScaFaCoS setting fmm inhomogen tuning ...\n"); + if (logfile && me == 0) fprintf(logfile,"ScaFaCoS setting fmm inhomogen tuning ...\n"); if (narg < 3) error->all(FLERR,"Illegal kspace_modify command (fmm_tuning)"); fmm_tuning_flag = atoi(arg[2]); return 3; -- GitLab From 77e5445bfe967dac65406aa62ac0a70ba6a4d35c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 31 Jul 2018 14:16:54 -0400 Subject: [PATCH 383/675] Need to purge old pair_cdeam.* files --- src/Purge.list | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Purge.list b/src/Purge.list index cd4eb17dab..cb98636b1c 100644 --- a/src/Purge.list +++ b/src/Purge.list @@ -24,6 +24,9 @@ style_nstencil.h style_ntopo.h # other auto-generated files lmpinstalledpkgs.h +# renamed on 31 July 2018 +pair_cdeam.h +pair_cdeam.cpp # renamed on 20 July 2018 pair_body.h pair_body.cpp -- GitLab From ac0ab4ba346e951e17cb7ad85bd5cd8a5867e666 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Tue, 31 Jul 2018 13:31:50 -0600 Subject: [PATCH 384/675] changed CMake file to require pkg_config for ScaFaCoS and removed Fortran/C dependencies --- cmake/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index afb93b9d1b..bfaf9243b1 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -185,11 +185,11 @@ pkg_depends(CORESHELL KSPACE) ###################################################### # packages with special compiler needs or external libs ###################################################### -if(PKG_REAX OR PKG_MEAM OR PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE OR PKG_USER-SCAFACOS) +if(PKG_REAX OR PKG_MEAM OR PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE) enable_language(Fortran) endif() -if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM OR PKG_USER-SCAFACOS) +if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM) enable_language(C) endif() @@ -349,7 +349,7 @@ if(PKG_LATTE) endif() if(PKG_USER-SCAFACOS) - FIND_PACKAGE(PkgConfig) + FIND_PACKAGE(PkgConfig REQUIRED) PKG_CHECK_MODULES(SCAFACOS scafacos) include_directories(${SCAFACOS_INCLUDE_DIRS}) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_LDFLAGS}) -- GitLab From a8f0200fe9636afeccf464f08b0bf242bf2992fe Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Tue, 31 Jul 2018 13:33:10 -0600 Subject: [PATCH 385/675] Install.py works on dummy tar-ball --- lib/scafacos/Install.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/scafacos/Install.py b/lib/scafacos/Install.py index 1b39335511..c478589144 100644 --- a/lib/scafacos/Install.py +++ b/lib/scafacos/Install.py @@ -29,8 +29,9 @@ make lib-scafacos args="-p $HOME/scafacos" # use existing Scafacos installation # settings -version = "scafacos-1.0" -#url = "http://math.lbl.gov/voro++/download/dir/%s.tar.gz" % version +version = "scafacos-0.9" +url = "https://gigamove.rz.rwth-aachen.de/d/id/fTmrTm4EUAUSAp/dd/100" +#url = "https://gigamove.rz.rwth-aachen.de/d/id/CTzyApN76MXMJ6/dd/100" % version # print error message or help @@ -75,6 +76,7 @@ def geturl(url,fname): if not success and which('wget') != None: cmd = 'wget -O "%s" %s' % (fname,url) + print("Wget command: %s" % cmd) try: subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) success = True @@ -92,7 +94,7 @@ nargs = len(args) homepath = "." -buildflag = False +buildflag = True pathflag = False linkflag = True @@ -145,7 +147,7 @@ if buildflag: if buildflag: print("Building Scafacos ...") - cmd = 'cd "%s"; make CXX=g++ CFLAGS="-fPIC -O3"' % homedir + cmd = 'cd "%s"; CC=mpicc FC=mpif90 CXX=mpicxx ./configure --prefix="`pwd`/build" --disable-doc --enable-fcs-solvers=fmm,p2nfft,direct,ewald > log.txt; make -j 4; make install' % homedir txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) print(txt.decode('UTF-8')) @@ -157,7 +159,7 @@ if linkflag: os.remove("includelink") if os.path.isfile("liblink") or os.path.islink("liblink"): os.remove("liblink") - cmd = 'ln -s "%s/include" includelink' % homedir + cmd = 'ln -s "%s/build/include" includelink' % homedir subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) - cmd = 'ln -s "%s/lib" liblink' % homedir + cmd = 'ln -s "%s/build/lib" liblink' % homedir subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) -- GitLab From 90897f570ed5777539dd7dda533ae18e68edc31c Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 31 Jul 2018 15:27:09 -0600 Subject: [PATCH 386/675] changes for Intro and Howto doc pages --- doc/src/Errors.txt | 2 +- doc/src/Examples.txt | 6 +- doc/src/Howto.txt | 128 + doc/src/Howto_2d.txt | 48 + doc/src/Howto_barostat.txt | 75 + ...ial_bash_on_windows.txt => Howto_bash.txt} | 1 + doc/src/Howto_bioFF.txt | 101 + doc/src/Howto_body.txt | 456 +++ doc/src/Howto_chunk.txt | 166 + doc/src/Howto_coreshell.txt | 253 ++ doc/src/Howto_couple.txt | 105 + doc/src/Howto_diffusion.txt | 31 + doc/src/Howto_dispersion.txt | 108 + doc/src/Howto_drude.txt | 77 + .../{tutorial_drude.txt => Howto_drude2.txt} | 0 doc/src/Howto_elastic.txt | 47 + .../{tutorial_github.txt => Howto_github.txt} | 10 +- doc/src/Howto_granular.txt | 57 + doc/src/Howto_kappa.txt | 90 + doc/src/Howto_library.txt | 208 ++ doc/src/Howto_manifold.txt | 41 + doc/src/Howto_multiple.txt | 95 + doc/src/Howto_nemd.txt | 48 + doc/src/Howto_output.txt | 307 ++ doc/src/Howto_polarizable.txt | 81 + ...torial_pylammps.txt => Howto_pylammps.txt} | 21 +- doc/src/Howto_replica.txt | 61 + doc/src/Howto_restart.txt | 97 + doc/src/Howto_spc.txt | 54 + doc/src/Howto_spherical.txt | 243 ++ doc/src/Howto_spins.txt | 59 + doc/src/Howto_temperature.txt | 40 + doc/src/Howto_thermostat.txt | 89 + doc/src/Howto_tip3p.txt | 69 + doc/src/Howto_tip4p.txt | 112 + doc/src/Howto_triclinic.txt | 213 ++ doc/src/Howto_viscosity.txt | 133 + doc/src/Howto_viz.txt | 40 + doc/src/Howto_walls.txt | 80 + doc/src/Intro.txt | 43 + doc/src/Manual.txt | 167 +- doc/src/Manual_version.txt | 33 + doc/src/Modify_body.txt | 7 +- doc/src/Modify_contribute.txt | 21 +- doc/src/Packages_details.txt | 58 +- doc/src/Packages_standard.txt | 12 +- doc/src/Packages_user.txt | 2 +- doc/src/Python_library.txt | 14 +- doc/src/Python_pylammps.txt | 4 +- doc/src/Section_history.txt | 135 - doc/src/Section_howto.txt | 3011 ----------------- doc/src/Section_intro.txt | 550 --- doc/src/Section_start.txt | 52 +- doc/src/Speed.txt | 2 +- doc/src/Tools.txt | 6 +- doc/src/angle_cosine_periodic.txt | 8 +- doc/src/atom_style.txt | 21 +- doc/src/body.txt | 4 +- doc/src/boundary.txt | 6 +- doc/src/box.txt | 6 +- doc/src/change_box.txt | 18 +- doc/src/compute.txt | 2 +- doc/src/compute_ackland_atom.txt | 2 +- doc/src/compute_angle.txt | 4 +- doc/src/compute_angle_local.txt | 4 +- doc/src/compute_angmom_chunk.txt | 11 +- doc/src/compute_basal_atom.txt | 5 +- doc/src/compute_body_local.txt | 15 +- doc/src/compute_bond.txt | 4 +- doc/src/compute_bond_local.txt | 4 +- doc/src/compute_centro_atom.txt | 4 +- doc/src/compute_chunk_atom.txt | 25 +- doc/src/compute_cluster_atom.txt | 2 +- doc/src/compute_cna_atom.txt | 2 +- doc/src/compute_cnp_atom.txt | 2 +- doc/src/compute_com.txt | 5 +- doc/src/compute_com_chunk.txt | 12 +- doc/src/compute_contact_atom.txt | 2 +- doc/src/compute_coord_atom.txt | 5 +- doc/src/compute_damage_atom.txt | 2 +- doc/src/compute_dihedral.txt | 4 +- doc/src/compute_dihedral_local.txt | 4 +- doc/src/compute_dilatation_atom.txt | 5 +- doc/src/compute_dipole_chunk.txt | 11 +- doc/src/compute_displace_atom.txt | 5 +- doc/src/compute_dpd.txt | 6 +- doc/src/compute_dpd_atom.txt | 6 +- doc/src/compute_edpd_temp_atom.txt | 6 +- doc/src/compute_entropy_atom.txt | 4 +- doc/src/compute_erotate_asphere.txt | 2 +- doc/src/compute_erotate_rigid.txt | 6 +- doc/src/compute_erotate_sphere.txt | 2 +- doc/src/compute_erotate_sphere_atom.txt | 2 +- doc/src/compute_event_displace.txt | 2 +- doc/src/compute_fep.txt | 4 +- doc/src/compute_global_atom.txt | 4 +- doc/src/compute_group_group.txt | 4 +- doc/src/compute_gyration.txt | 4 +- doc/src/compute_gyration_chunk.txt | 11 +- doc/src/compute_heat_flux.txt | 10 +- doc/src/compute_hexorder_atom.txt | 7 +- doc/src/compute_improper.txt | 4 +- doc/src/compute_improper_local.txt | 4 +- doc/src/compute_inertia_chunk.txt | 11 +- doc/src/compute_ke.txt | 2 +- doc/src/compute_ke_atom.txt | 2 +- doc/src/compute_ke_atom_eff.txt | 6 +- doc/src/compute_ke_eff.txt | 2 +- doc/src/compute_ke_rigid.txt | 4 +- doc/src/compute_meso_e_atom.txt | 2 +- doc/src/compute_meso_rho_atom.txt | 2 +- doc/src/compute_meso_t_atom.txt | 2 +- doc/src/compute_msd.txt | 5 +- doc/src/compute_msd_chunk.txt | 9 +- doc/src/compute_msd_nongauss.txt | 5 +- doc/src/compute_omega_chunk.txt | 11 +- doc/src/compute_orientorder_atom.txt | 7 +- doc/src/compute_pair.txt | 5 +- doc/src/compute_pair_local.txt | 4 +- doc/src/compute_pe.txt | 5 +- doc/src/compute_pe_atom.txt | 2 +- doc/src/compute_plasticity_atom.txt | 5 +- doc/src/compute_pressure.txt | 4 +- doc/src/compute_property_atom.txt | 14 +- doc/src/compute_property_chunk.txt | 15 +- doc/src/compute_property_local.txt | 12 +- doc/src/compute_rdf.txt | 2 +- doc/src/compute_reduce.txt | 2 +- doc/src/compute_rigid_local.txt | 10 +- doc/src/compute_saed.txt | 7 +- doc/src/compute_slice.txt | 4 +- doc/src/compute_smd_contact_radius.txt | 6 +- doc/src/compute_smd_damage.txt | 8 +- doc/src/compute_smd_hourglass_error.txt | 8 +- doc/src/compute_smd_internal_energy.txt | 4 +- doc/src/compute_smd_plastic_strain.txt | 4 +- doc/src/compute_smd_plastic_strain_rate.txt | 4 +- doc/src/compute_smd_rho.txt | 4 +- doc/src/compute_smd_tlsph_defgrad.txt | 5 +- doc/src/compute_smd_tlsph_dt.txt | 4 +- doc/src/compute_smd_tlsph_num_neighs.txt | 4 +- doc/src/compute_smd_tlsph_shape.txt | 5 +- doc/src/compute_smd_tlsph_strain.txt | 5 +- doc/src/compute_smd_tlsph_strain_rate.txt | 5 +- doc/src/compute_smd_tlsph_stress.txt | 9 +- .../compute_smd_triangle_mesh_vertices.txt | 6 +- doc/src/compute_smd_ulsph_num_neighs.txt | 2 +- doc/src/compute_smd_ulsph_strain.txt | 2 +- doc/src/compute_smd_ulsph_strain_rate.txt | 5 +- doc/src/compute_smd_ulsph_stress.txt | 5 +- doc/src/compute_smd_vol.txt | 4 +- doc/src/compute_sna_atom.txt | 5 +- doc/src/compute_stress_atom.txt | 5 +- doc/src/compute_tdpd_cc_atom.txt | 6 +- doc/src/compute_temp.txt | 8 +- doc/src/compute_temp_asphere.txt | 8 +- doc/src/compute_temp_body.txt | 8 +- doc/src/compute_temp_chunk.txt | 16 +- doc/src/compute_temp_com.txt | 8 +- doc/src/compute_temp_cs.txt | 11 +- doc/src/compute_temp_deform.txt | 8 +- doc/src/compute_temp_deform_eff.txt | 4 +- doc/src/compute_temp_drude.txt | 12 +- doc/src/compute_temp_eff.txt | 4 +- doc/src/compute_temp_partial.txt | 8 +- doc/src/compute_temp_profile.txt | 8 +- doc/src/compute_temp_ramp.txt | 8 +- doc/src/compute_temp_region.txt | 8 +- doc/src/compute_temp_region_eff.txt | 4 +- doc/src/compute_temp_rotate.txt | 8 +- doc/src/compute_temp_sphere.txt | 8 +- doc/src/compute_ti.txt | 5 +- doc/src/compute_torque_chunk.txt | 9 +- doc/src/compute_vacf.txt | 5 +- doc/src/compute_vcm_chunk.txt | 11 +- doc/src/compute_voronoi_atom.txt | 26 +- doc/src/compute_xrd.txt | 2 +- doc/src/create_box.txt | 6 +- doc/src/dimension.txt | 2 +- doc/src/dump.txt | 14 +- doc/src/dump_image.txt | 14 +- doc/src/fix.txt | 2 +- doc/src/fix_adapt.txt | 8 +- doc/src/fix_adapt_fep.txt | 8 +- doc/src/fix_addforce.txt | 10 +- doc/src/fix_addtorque.txt | 10 +- doc/src/fix_append_atoms.txt | 8 +- doc/src/fix_atc.txt | 8 +- doc/src/fix_atom_swap.txt | 4 +- doc/src/fix_ave_atom.txt | 14 +- doc/src/fix_ave_chunk.txt | 33 +- doc/src/fix_ave_correlate.txt | 21 +- doc/src/fix_ave_histo.txt | 15 +- doc/src/fix_ave_time.txt | 9 +- doc/src/fix_aveforce.txt | 8 +- doc/src/fix_balance.txt | 4 +- doc/src/fix_bond_break.txt | 4 +- doc/src/fix_bond_create.txt | 4 +- doc/src/fix_bond_react.txt | 5 +- doc/src/fix_bond_swap.txt | 14 +- doc/src/fix_box_relax.txt | 20 +- doc/src/fix_cmap.txt | 6 +- doc/src/fix_colvars.txt | 6 +- doc/src/fix_controller.txt | 6 +- doc/src/fix_deform.txt | 7 +- doc/src/fix_deposit.txt | 10 +- doc/src/fix_dpd_source.txt | 8 +- doc/src/fix_drag.txt | 6 +- doc/src/fix_drude.txt | 8 +- doc/src/fix_drude_transform.txt | 4 +- doc/src/fix_dt_reset.txt | 4 +- doc/src/fix_efield.txt | 9 +- doc/src/fix_enforce2d.txt | 6 +- doc/src/fix_evaporate.txt | 6 +- doc/src/fix_external.txt | 13 +- doc/src/fix_filter_corotate.txt | 7 +- doc/src/fix_flow_gauss.txt | 10 +- doc/src/fix_freeze.txt | 8 +- doc/src/fix_gcmc.txt | 4 +- doc/src/fix_gld.txt | 2 +- doc/src/fix_gle.txt | 6 +- doc/src/fix_gravity.txt | 10 +- doc/src/fix_halt.txt | 8 +- doc/src/fix_heat.txt | 11 +- doc/src/fix_imd.txt | 6 +- doc/src/fix_indent.txt | 4 +- doc/src/fix_langevin.txt | 10 +- doc/src/fix_langevin_drude.txt | 9 +- doc/src/fix_langevin_eff.txt | 8 +- doc/src/fix_latte.txt | 6 +- doc/src/fix_lb_fluid.txt | 6 +- doc/src/fix_lb_momentum.txt | 8 +- doc/src/fix_lb_pc.txt | 8 +- doc/src/fix_lb_rigid_pc_sphere.txt | 34 +- doc/src/fix_lb_viscous.txt | 6 +- doc/src/fix_lineforce.txt | 6 +- doc/src/fix_manifoldforce.txt | 8 +- doc/src/fix_meso.txt | 8 +- doc/src/fix_meso_stationary.txt | 8 +- doc/src/fix_momentum.txt | 8 +- doc/src/fix_move.txt | 7 +- doc/src/fix_msst.txt | 4 +- doc/src/fix_mvv_dpd.txt | 8 +- doc/src/fix_neb.txt | 12 +- doc/src/fix_nh.txt | 13 +- doc/src/fix_nphug.txt | 6 +- doc/src/fix_nve.txt | 8 +- doc/src/fix_nve_asphere.txt | 8 +- doc/src/fix_nve_asphere_noforce.txt | 8 +- doc/src/fix_nve_body.txt | 14 +- doc/src/fix_nve_eff.txt | 8 +- doc/src/fix_nve_limit.txt | 16 +- doc/src/fix_nve_line.txt | 14 +- doc/src/fix_nve_manifold_rattle.txt | 10 +- doc/src/fix_nve_noforce.txt | 8 +- doc/src/fix_nve_sphere.txt | 8 +- doc/src/fix_nve_tri.txt | 16 +- doc/src/fix_nvk.txt | 8 +- doc/src/fix_nvt_manifold_rattle.txt | 18 +- doc/src/fix_oneway.txt | 8 +- doc/src/fix_orient.txt | 12 +- doc/src/fix_phonon.txt | 2 +- doc/src/fix_pimd.txt | 15 +- doc/src/fix_planeforce.txt | 6 +- doc/src/fix_poems.txt | 6 +- doc/src/fix_pour.txt | 6 +- doc/src/fix_precession_spin.txt | 4 +- doc/src/fix_press_berendsen.txt | 7 +- doc/src/fix_print.txt | 8 +- doc/src/fix_property_atom.txt | 27 +- doc/src/fix_python_move.txt | 8 +- doc/src/fix_qbmsst.txt | 8 +- doc/src/fix_qeq.txt | 5 +- doc/src/fix_qeq_comb.txt | 6 +- doc/src/fix_qeq_reax.txt | 4 +- doc/src/fix_qmmm.txt | 6 +- doc/src/fix_reax_bonds.txt | 8 +- doc/src/fix_reaxc_species.txt | 4 +- doc/src/fix_recenter.txt | 10 +- doc/src/fix_restrain.txt | 4 +- doc/src/fix_rigid.txt | 36 +- doc/src/fix_setforce.txt | 8 +- doc/src/fix_shake.txt | 7 +- doc/src/fix_smd.txt | 12 +- doc/src/fix_smd_setvel.txt | 6 +- doc/src/fix_spring.txt | 22 +- doc/src/fix_spring_chunk.txt | 4 +- doc/src/fix_spring_rg.txt | 8 +- doc/src/fix_spring_self.txt | 8 +- doc/src/fix_srd.txt | 10 +- doc/src/fix_store_force.txt | 8 +- doc/src/fix_store_state.txt | 8 +- doc/src/fix_temp_berendsen.txt | 10 +- doc/src/fix_temp_csvr.txt | 10 +- doc/src/fix_temp_rescale.txt | 10 +- doc/src/fix_temp_rescale_eff.txt | 6 +- doc/src/fix_thermal_conductivity.txt | 6 +- doc/src/fix_ti_spring.txt | 13 +- doc/src/fix_tmd.txt | 3 +- doc/src/fix_ttm.txt | 23 +- doc/src/fix_vector.txt | 7 +- doc/src/fix_viscosity.txt | 27 +- doc/src/fix_viscous.txt | 6 +- doc/src/fix_wall.txt | 16 +- doc/src/fix_wall_body_polygon.txt | 10 +- doc/src/fix_wall_body_polyhedron.txt | 10 +- doc/src/fix_wall_gran.txt | 6 +- doc/src/fix_wall_gran_region.txt | 6 +- doc/src/fix_wall_piston.txt | 8 +- doc/src/fix_wall_reflect.txt | 8 +- doc/src/fix_wall_region.txt | 11 +- doc/src/fix_wall_srd.txt | 6 +- doc/src/improper_umbrella.txt | 2 +- doc/src/kspace_modify.txt | 18 +- doc/src/kspace_style.txt | 15 +- doc/src/lammps_tutorials.txt | 6 - doc/src/molecule.txt | 5 +- doc/src/neb.txt | 5 +- doc/src/pair_body_nparticle.txt | 11 +- doc/src/pair_body_rounded_polygon.txt | 5 +- doc/src/pair_body_rounded_polyhedron.txt | 5 +- doc/src/pair_born.txt | 8 +- doc/src/pair_buck.txt | 5 +- doc/src/pair_coul.txt | 26 +- doc/src/pair_cs.txt | 4 +- doc/src/pair_hbond_dreiding.txt | 8 +- doc/src/pair_lj.txt | 26 +- doc/src/pair_lj_long.txt | 2 +- doc/src/pair_thole.txt | 4 +- doc/src/prd.txt | 4 +- doc/src/read_data.txt | 12 +- doc/src/region.txt | 6 +- doc/src/run.txt | 6 +- doc/src/tad.txt | 5 +- doc/src/temper.txt | 15 +- doc/src/thermo_style.txt | 10 +- doc/src/tutorials.txt | 15 - doc/src/velocity.txt | 17 +- 338 files changed, 5119 insertions(+), 5110 deletions(-) create mode 100644 doc/src/Howto.txt create mode 100644 doc/src/Howto_2d.txt create mode 100644 doc/src/Howto_barostat.txt rename doc/src/{tutorial_bash_on_windows.txt => Howto_bash.txt} (99%) mode change 100644 => 100755 create mode 100644 doc/src/Howto_bioFF.txt create mode 100644 doc/src/Howto_body.txt create mode 100644 doc/src/Howto_chunk.txt create mode 100644 doc/src/Howto_coreshell.txt create mode 100644 doc/src/Howto_couple.txt create mode 100644 doc/src/Howto_diffusion.txt create mode 100644 doc/src/Howto_dispersion.txt create mode 100644 doc/src/Howto_drude.txt rename doc/src/{tutorial_drude.txt => Howto_drude2.txt} (100%) create mode 100644 doc/src/Howto_elastic.txt rename doc/src/{tutorial_github.txt => Howto_github.txt} (98%) create mode 100644 doc/src/Howto_granular.txt create mode 100644 doc/src/Howto_kappa.txt create mode 100644 doc/src/Howto_library.txt create mode 100644 doc/src/Howto_manifold.txt create mode 100644 doc/src/Howto_multiple.txt create mode 100644 doc/src/Howto_nemd.txt create mode 100644 doc/src/Howto_output.txt create mode 100644 doc/src/Howto_polarizable.txt rename doc/src/{tutorial_pylammps.txt => Howto_pylammps.txt} (95%) create mode 100644 doc/src/Howto_replica.txt create mode 100644 doc/src/Howto_restart.txt create mode 100644 doc/src/Howto_spc.txt create mode 100644 doc/src/Howto_spherical.txt create mode 100644 doc/src/Howto_spins.txt create mode 100644 doc/src/Howto_temperature.txt create mode 100644 doc/src/Howto_thermostat.txt create mode 100644 doc/src/Howto_tip3p.txt create mode 100644 doc/src/Howto_tip4p.txt create mode 100644 doc/src/Howto_triclinic.txt create mode 100644 doc/src/Howto_viscosity.txt create mode 100644 doc/src/Howto_viz.txt create mode 100644 doc/src/Howto_walls.txt create mode 100644 doc/src/Intro.txt create mode 100644 doc/src/Manual_version.txt delete mode 100644 doc/src/Section_history.txt delete mode 100644 doc/src/Section_howto.txt delete mode 100644 doc/src/Section_intro.txt delete mode 100644 doc/src/lammps_tutorials.txt delete mode 100644 doc/src/tutorials.txt diff --git a/doc/src/Errors.txt b/doc/src/Errors.txt index 7bc520c19d..92a577c5f2 100644 --- a/doc/src/Errors.txt +++ b/doc/src/Errors.txt @@ -1,6 +1,6 @@ "Previous Section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_history.html :c +Section"_Manual.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Examples.txt b/doc/src/Examples.txt index 467ddcc959..b01b289d5e 100644 --- a/doc/src/Examples.txt +++ b/doc/src/Examples.txt @@ -1,6 +1,6 @@ -"Previous Section"_Section_howto.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_perf.html :c +"Previous Section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Tools.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Howto.txt b/doc/src/Howto.txt new file mode 100644 index 0000000000..d9a60d1ef4 --- /dev/null +++ b/doc/src/Howto.txt @@ -0,0 +1,128 @@ +"Previous Section"_Performance.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Examples.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands.html#comm) + +:line + +How to discussions :h2 + +These doc pages describe how to perform various tasks with LAMMPS, +both for users and developers. The +"glossary"_http://lammps.sandia.gov website page also lists MD +terminology with links to corresponding LAMMPS manual pages. + +The example input scripts included in the examples dir of the LAMMPS +distribution and highlighted on the "Examples"_Examples.html doc page +also show how to setup and run various kinds of simulations. + + + + + +"Using GitHub with LAMMPS"_Howto_github.html +"PyLAMMPS interface to LAMMPS"_Howto_pylammps.html +"Using LAMMPS with bash on Windows"_Howto_bash.html + +"Restart a simulation"_Howto_restart.html +"Visualize LAMMPS snapshots"_Howto_viz.html +"Run multiple simulations from one input script"_Howto_multiple.html +"Multi-replica simulations"_Howto_replica.html +"Library interface to LAMMPS"_Howto_library.html +"Couple LAMMPS to other codes"_Howto_couple.html :all(b) + +"Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_Howto_output.html +"Use chunks to calculate system properties"_Howto_chunk.html :all(b) + +"2d simulations"_Howto_2d.html +"Triclinic (non-orthogonal) simulation boxes"_Howto_triclinic.html +"Walls"_Howto_walls.html +"NEMD simulations"_Howto_nemd.html +"Granular models"_Howto_granular.html +"Finite-size spherical and aspherical particles"_Howto_spherical.html +"Long-range dispersion settings"_Howto_dispersion.html :all(b) + +"Calculate temperature"_Howto_temperature.html +"Thermostats"_Howto_thermostat.html +"Barostats"_Howto_barostat.html +"Calculate elastic constants"_Howto_elastic.html +"Calculate thermal conductivity"_Howto_kappa.html +"Calculate viscosity"_Howto_viscosity.html +"Calculate a diffusion coefficient"_Howto_diffusion.html :all(b) + +"CHARMM, AMBER, and DREIDING force fields"_Howto_bioFF.html +"TIP3P water model"_Howto_tip3p.html +"TIP4P water model"_Howto_tip4p.html +"SPC water model"_Howto_spc.html :all(b) + +"Body style particles"_Howto_body.html +"Polarizable models"_Howto_polarizable.html +"Adiabatic core/shell model"_Howto_coreshell.html +"Drude induced dipoles"_Howto_drude.html +"Drude induced dipoles (extended)"_Howto_drude2.html :all(b) +"Manifolds (surfaces)"_Howto_manifold.html +"Magnetic spins"_Howto_spins.html + + diff --git a/doc/src/Howto_2d.txt b/doc/src/Howto_2d.txt new file mode 100644 index 0000000000..ea11a7d546 --- /dev/null +++ b/doc/src/Howto_2d.txt @@ -0,0 +1,48 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +2d simulations :h3 + +Use the "dimension"_dimension.html command to specify a 2d simulation. + +Make the simulation box periodic in z via the "boundary"_boundary.html +command. This is the default. + +If using the "create box"_create_box.html command to define a +simulation box, set the z dimensions narrow, but finite, so that the +create_atoms command will tile the 3d simulation box with a single z +plane of atoms - e.g. + +"create box"_create_box.html 1 -10 10 -10 10 -0.25 0.25 :pre + +If using the "read data"_read_data.html command to read in a file of +atom coordinates, set the "zlo zhi" values to be finite but narrow, +similar to the create_box command settings just described. For each +atom in the file, assign a z coordinate so it falls inside the +z-boundaries of the box - e.g. 0.0. + +Use the "fix enforce2d"_fix_enforce2d.html command as the last +defined fix to insure that the z-components of velocities and forces +are zeroed out every timestep. The reason to make it the last fix is +so that any forces induced by other fixes will be zeroed out. + +Many of the example input scripts included in the LAMMPS distribution +are for 2d models. + +NOTE: Some models in LAMMPS treat particles as finite-size spheres, as +opposed to point particles. See the "atom_style +sphere"_atom_style.html and "fix nve/sphere"_fix_nve_sphere.html +commands for details. By default, for 2d simulations, such particles +will still be modeled as 3d spheres, not 2d discs (circles), meaning +their moment of inertia will be that of a sphere. If you wish to +model them as 2d discs, see the "set density/disc"_set.html command +and the {disc} option for the "fix nve/sphere"_fix_nve_sphere.html, +"fix nvt/sphere"_fix_nvt_sphere.html, "fix +nph/sphere"_fix_nph_sphere.html, "fix npt/sphere"_fix_npt_sphere.html +commands. diff --git a/doc/src/Howto_barostat.txt b/doc/src/Howto_barostat.txt new file mode 100644 index 0000000000..b289ebfc4c --- /dev/null +++ b/doc/src/Howto_barostat.txt @@ -0,0 +1,75 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Barostats :h3 + +Barostatting means controlling the pressure in an MD simulation. +"Thermostatting"_Howto_thermostat.html means controlling the +temperature of the particles. Since the pressure includes a kinetic +component due to particle velocities, both these operations require +calculation of the temperature. Typically a target temperature (T) +and/or pressure (P) is specified by the user, and the thermostat or +barostat attempts to equilibrate the system to the requested T and/or +P. + +Barostatting in LAMMPS is performed by "fixes"_fix.html. Two +barosttating methods are currently available: Nose-Hoover (npt and +nph) and Berendsen: + +"fix npt"_fix_nh.html +"fix npt/sphere"_fix_npt_sphere.html +"fix npt/asphere"_fix_npt_asphere.html +"fix nph"_fix_nh.html +"fix press/berendsen"_fix_press_berendsen.html :ul + +The "fix npt"_fix_nh.html commands include a Nose-Hoover thermostat +and barostat. "Fix nph"_fix_nh.html is just a Nose/Hoover barostat; +it does no thermostatting. Both "fix nph"_fix_nh.html and "fix +press/berendsen"_fix_press_berendsen.html can be used in conjunction +with any of the thermostatting fixes. + +As with the "thermostats"_Howto_thermostat.html, "fix npt"_fix_nh.html +and "fix nph"_fix_nh.html only use translational motion of the +particles in computing T and P and performing thermo/barostatting. +"Fix npt/sphere"_fix_npt_sphere.html and "fix +npt/asphere"_fix_npt_asphere.html thermo/barostat using not only +translation velocities but also rotational velocities for spherical +and aspherical particles. + +All of the barostatting fixes use the "compute +pressure"_compute_pressure.html compute to calculate a current +pressure. By default, this compute is created with a simple "compute +temp"_compute_temp.html (see the last argument of the "compute +pressure"_compute_pressure.html command), which is used to calculated +the kinetic component of the pressure. The barostatting fixes can +also use temperature computes that remove bias for the purpose of +computing the kinetic component which contributes to the current +pressure. See the doc pages for the individual fixes and for the +"fix_modify"_fix_modify.html command for instructions on how to assign +a temperature or pressure compute to a barostatting fix. + +NOTE: As with the thermostats, the Nose/Hoover methods ("fix +npt"_fix_nh.html and "fix nph"_fix_nh.html) perform time integration. +"Fix press/berendsen"_fix_press_berendsen.html does NOT, so it should +be used with one of the constant NVE fixes or with one of the NVT +fixes. + +Thermodynamic output, which can be setup via the +"thermo_style"_thermo_style.html command, often includes pressure +values. As explained on the doc page for the +"thermo_style"_thermo_style.html command, the default pressure is +setup by the thermo command itself. It is NOT the presure associated +with any barostatting fix you have defined or with any compute you +have defined that calculates a presure. The doc pages for the +barostatting fixes explain the ID of the pressure compute they create. +Thus if you want to view these pressurse, you need to specify them +explicitly via the "thermo_style custom"_thermo_style.html command. +Or you can use the "thermo_modify"_thermo_modify.html command to +re-define what pressure compute is used for default thermodynamic +output. diff --git a/doc/src/tutorial_bash_on_windows.txt b/doc/src/Howto_bash.txt old mode 100644 new mode 100755 similarity index 99% rename from doc/src/tutorial_bash_on_windows.txt rename to doc/src/Howto_bash.txt index 66712bdffa..572157ab55 --- a/doc/src/tutorial_bash_on_windows.txt +++ b/doc/src/Howto_bash.txt @@ -10,6 +10,7 @@ Using LAMMPS with Bash on Windows :h3 [written by Richard Berger] :line + Starting with Windows 10 you can install Linux tools directly in Windows. This allows you to compile LAMMPS following the same procedure as on a real Ubuntu Linux installation. Software can be easily installed using the package manager diff --git a/doc/src/Howto_bioFF.txt b/doc/src/Howto_bioFF.txt new file mode 100644 index 0000000000..91d6eb0a8e --- /dev/null +++ b/doc/src/Howto_bioFF.txt @@ -0,0 +1,101 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +CHARMM, AMBER, and DREIDING force fields :h3 + +A force field has 2 parts: the formulas that define it and the +coefficients used for a particular system. Here we only discuss +formulas implemented in LAMMPS that correspond to formulas commonly +used in the CHARMM, AMBER, and DREIDING force fields. Setting +coefficients is done in the input data file via the +"read_data"_read_data.html command or in the input script with +commands like "pair_coeff"_pair_coeff.html or +"bond_coeff"_bond_coeff.html. See the "Tools"_Tools.html doc page for +additional tools that can use CHARMM or AMBER to assign force field +coefficients and convert their output into LAMMPS input. + +See "(MacKerell)"_#howto-MacKerell for a description of the CHARMM force +field. See "(Cornell)"_#howto-Cornell for a description of the AMBER force +field. + +:link(charmm,http://www.scripps.edu/brooks) +:link(amber,http://amber.scripps.edu) + +These style choices compute force field formulas that are consistent +with common options in CHARMM or AMBER. See each command's +documentation for the formula it computes. + +"bond_style"_bond_harmonic.html harmonic +"angle_style"_angle_charmm.html charmm +"dihedral_style"_dihedral_charmm.html charmmfsh +"dihedral_style"_dihedral_charmm.html charmm +"pair_style"_pair_charmm.html lj/charmmfsw/coul/charmmfsh +"pair_style"_pair_charmm.html lj/charmmfsw/coul/long +"pair_style"_pair_charmm.html lj/charmm/coul/charmm +"pair_style"_pair_charmm.html lj/charmm/coul/charmm/implicit +"pair_style"_pair_charmm.html lj/charmm/coul/long :ul + +"special_bonds"_special_bonds.html charmm +"special_bonds"_special_bonds.html amber :ul + +NOTE: For CHARMM, newer {charmmfsw} or {charmmfsh} styles were +released in March 2017. We recommend they be used instead of the +older {charmm} styles. See discussion of the differences on the "pair +charmm"_pair_charmm.html and "dihedral charmm"_dihedral_charmm.html +doc pages. + +DREIDING is a generic force field developed by the "Goddard +group"_http://www.wag.caltech.edu at Caltech and is useful for +predicting structures and dynamics of organic, biological and +main-group inorganic molecules. The philosophy in DREIDING is to use +general force constants and geometry parameters based on simple +hybridization considerations, rather than individual force constants +and geometric parameters that depend on the particular combinations of +atoms involved in the bond, angle, or torsion terms. DREIDING has an +"explicit hydrogen bond term"_pair_hbond_dreiding.html to describe +interactions involving a hydrogen atom on very electronegative atoms +(N, O, F). + +See "(Mayo)"_#howto-Mayo for a description of the DREIDING force field + +These style choices compute force field formulas that are consistent +with the DREIDING force field. See each command's +documentation for the formula it computes. + +"bond_style"_bond_harmonic.html harmonic +"bond_style"_bond_morse.html morse :ul + +"angle_style"_angle_harmonic.html harmonic +"angle_style"_angle_cosine.html cosine +"angle_style"_angle_cosine_periodic.html cosine/periodic :ul + +"dihedral_style"_dihedral_charmm.html charmm +"improper_style"_improper_umbrella.html umbrella :ul + +"pair_style"_pair_buck.html buck +"pair_style"_pair_buck.html buck/coul/cut +"pair_style"_pair_buck.html buck/coul/long +"pair_style"_pair_lj.html lj/cut +"pair_style"_pair_lj.html lj/cut/coul/cut +"pair_style"_pair_lj.html lj/cut/coul/long :ul + +"pair_style"_pair_hbond_dreiding.html hbond/dreiding/lj +"pair_style"_pair_hbond_dreiding.html hbond/dreiding/morse :ul + +"special_bonds"_special_bonds.html dreiding :ul + +:line + +:link(howto-MacKerell) +[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, +Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). + +:link(howto-Mayo) +[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 +(1990). diff --git a/doc/src/Howto_body.txt b/doc/src/Howto_body.txt new file mode 100644 index 0000000000..cf0a36a972 --- /dev/null +++ b/doc/src/Howto_body.txt @@ -0,0 +1,456 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Body particles :h3 + +[Overview:] + +In LAMMPS, body particles are generalized finite-size particles. +Individual body particles can represent complex entities, such as +surface meshes of discrete points, collections of sub-particles, +deformable objects, etc. Note that other kinds of finite-size +spherical and aspherical particles are also supported by LAMMPS, such +as spheres, ellipsoids, line segments, and triangles, but they are +simpler entities that body particles. See "Section +6.14"_Section_howto.html#howto_14 for a general overview of all these +particle types. + +Body particles are used via the "atom_style body"_atom_style.html +command. It takes a body style as an argument. The current body +styles supported by LAMMPS are as follows. The name in the first +column is used as the {bstyle} argument for the "atom_style +body"_atom_style.html command. + +{nparticle} : rigid body with N sub-particles +{rounded/polygon} : 2d polygons with N vertices +{rounded/polyhedron} : 3d polyhedra with N vertices, E edges and F faces :tb(s=:) + +The body style determines what attributes are stored for each body and +thus how they can be used to compute pairwise body/body or +bond/non-body (point particle) interactions. More details of each +style are described below. + +More styles may be added in the future. See the "Modify +body"_Modify_body.html doc page for details on how to add a new body +style to the code. + +:line + +[When to use body particles:] + +You should not use body particles to model a rigid body made of +simpler particles (e.g. point, sphere, ellipsoid, line segment, +triangular particles), if the interaction between pairs of rigid +bodies is just the summation of pairwise interactions between the +simpler particles. LAMMPS already supports this kind of model via the +"fix rigid"_fix_rigid.html command. Any of the numerous pair styles +that compute interactions between simpler particles can be used. The +"fix rigid"_fix_rigid.html command time integrates the motion of the +rigid bodies. All of the standard LAMMPS commands for thermostatting, +adding constraints, performing output, etc will operate as expected on +the simple particles. + +By contrast, when body particles are used, LAMMPS treats an entire +body as a single particle for purposes of computing pairwise +interactions, building neighbor lists, migrating particles between +processors, output of particles to a dump file, etc. This means that +interactions between pairs of bodies or between a body and non-body +(point) particle need to be encoded in an appropriate pair style. If +such a pair style were to mimic the "fix rigid"_fix_rigid.html model, +it would need to loop over the entire collection of interactions +between pairs of simple particles within the two bodies, each time a +single body/body interaction was computed. + +Thus it only makes sense to use body particles and develop such a pair +style, when particle/particle interactions are more complex than what +the "fix rigid"_fix_rigid.html command can already calculate. For +example, consider particles with one or more of the following +attributes: + +represented by a surface mesh +represented by a collection of geometric entities (e.g. planes + spheres) +deformable +internal stress that induces fragmentation :ul + +For these models, the interaction between pairs of particles is likely +to be more complex than the summation of simple pairwise interactions. +An example is contact or frictional forces between particles with +planar surfaces that inter-penetrate. Likewise, the body particle may +store internal state, such as a stress tensor used to compute a +fracture criterion. + +These are additional LAMMPS commands that can be used with body +particles of different styles + +"fix nve/body"_fix_nve_body.html : integrate motion of a body particle in NVE ensemble +"fix nvt/body"_fix_nvt_body.html : ditto for NVT ensemble +"fix npt/body"_fix_npt_body.html : ditto for NPT ensemble +"fix nph/body"_fix_nph_body.html : ditto for NPH ensemble +"compute body/local"_compute_body_local.html : store sub-particle attributes of a body particle +"compute temp/body"_compute_temp_body.html : compute temperature of body particles +"dump local"_dump.html : output sub-particle attributes of a body particle +"dump image"_dump_image.html : output body particle attributes as an image :tb(s=:) + +The pair styles defined for use with specific body styles are listed +in the sections below. + +:line + +[Specifics of body style nparticle:] + +The {nparticle} body style represents body particles as a rigid body +with a variable number N of sub-particles. It is provided as a +vanilla, prototypical example of a body particle, although as +mentioned above, the "fix rigid"_fix_rigid.html command already +duplicates its functionality. + +The atom_style body command for this body style takes two additional +arguments: + +atom_style body nparticle Nmin Nmax +Nmin = minimum # of sub-particles in any body in the system +Nmax = maximum # of sub-particles in any body in the system :pre + +The Nmin and Nmax arguments are used to bound the size of data +structures used internally by each particle. + +When the "read_data"_read_data.html command reads a data file for this +body style, the following information must be provided for each entry +in the {Bodies} section of the data file: + +atom-ID 1 M +N +ixx iyy izz ixy ixz iyz +x1 y1 z1 +... +xN yN zN :pre + +where M = 6 + 3*N, and N is the number of sub-particles in the body +particle. + +The integer line has a single value N. The floating point line(s) +list 6 moments of inertia followed by the coordinates of the N +sub-particles (x1 to zN) as 3N values. These values can be listed on +as many lines as you wish; see the "read_data"_read_data.html command +for more details. + +The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the +values consistent with the current orientation of the rigid body +around its center of mass. The values are with respect to the +simulation box XYZ axes, not with respect to the principal axes of the +rigid body itself. LAMMPS performs the latter calculation internally. +The coordinates of each sub-particle are specified as its x,y,z +displacement from the center-of-mass of the body particle. The +center-of-mass position of the particle is specified by the x,y,z +values in the {Atoms} section of the data file, as is the total mass +of the body particle. + +The "pair_style body"_pair_body.html command can be used with this +body style to compute body/body and body/non-body interactions. + +For output purposes via the "compute +body/local"_compute_body_local.html and "dump local"_dump.html +commands, this body style produces one datum for each of the N +sub-particles in a body particle. The datum has 3 values: + +1 = x position of sub-particle +2 = y position of sub-particle +3 = z position of sub-particle :pre + +These values are the current position of the sub-particle within the +simulation domain, not a displacement from the center-of-mass (COM) of +the body particle itself. These values are calculated using the +current COM and orientation of the body particle. + +For images created by the "dump image"_dump_image.html command, if the +{body} keyword is set, then each body particle is drawn as a +collection of spheres, one for each sub-particle. The size of each +sphere is determined by the {bflag1} parameter for the {body} keyword. +The {bflag2} argument is ignored. + +:line + +[Specifics of body style rounded/polygon:] + +The {rounded/polygon} body style represents body particles as a 2d +polygon with a variable number of N vertices. This style can only be +used for 2d models; see the "boundary"_boundary.html command. See the +"pair_style body/rounded/polygon" doc page for a diagram of two +squares with rounded circles at the vertices. Special cases for N = 1 +(circle) and N = 2 (rod with rounded ends) can also be specified. + +One use of this body style is for 2d discrete element models, as +described in "Fraige"_#body-Fraige. + +Similar to body style {nparticle}, the atom_style body command for +this body style takes two additional arguments: + +atom_style body rounded/polygon Nmin Nmax +Nmin = minimum # of vertices in any body in the system +Nmax = maximum # of vertices in any body in the system :pre + +The Nmin and Nmax arguments are used to bound the size of data +structures used internally by each particle. + +When the "read_data"_read_data.html command reads a data file for this +body style, the following information must be provided for each entry +in the {Bodies} section of the data file: + +atom-ID 1 M +N +ixx iyy izz ixy ixz iyz +x1 y1 z1 +... +xN yN zN +i j j k k ... +diameter :pre + +where M = 6 + 3*N + 2*N + 1, and N is the number of vertices in the +body particle. + +The integer line has a single value N. The floating point line(s) +list 6 moments of inertia followed by the coordinates of the N +vertices (x1 to zN) as 3N values (with z = 0.0 for each), followed by +2N vertex indices corresponding to the end points of the N edges, +followed by a single diameter value = the rounded diameter of the +circle that surrounds each vertex. The diameter value can be different +for each body particle. These floating-point values can be listed on +as many lines as you wish; see the "read_data"_read_data.html command +for more details. + +The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the +values consistent with the current orientation of the rigid body +around its center of mass. The values are with respect to the +simulation box XYZ axes, not with respect to the principal axes of the +rigid body itself. LAMMPS performs the latter calculation internally. +The coordinates of each vertex are specified as its x,y,z displacement +from the center-of-mass of the body particle. The center-of-mass +position of the particle is specified by the x,y,z values in the +{Atoms} section of the data file. + +For example, the following information would specify a square particle +whose edge length is sqrt(2) and rounded diameter is 1.0. The +orientation of the square is aligned with the xy coordinate axes which +is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz = +1 1 4 0 0 0. Note that only Izz matters in 2D simulations. + +3 1 27 +4 +1 1 4 0 0 0 +-0.7071 -0.7071 0 +-0.7071 0.7071 0 +0.7071 0.7071 0 +0.7071 -0.7071 0 +0 1 +1 2 +2 3 +3 0 +1.0 :pre + +A rod in 2D, whose length is 4.0, mass 1.0, rounded at two ends +by circles of diameter 0.5, is specified as follows: + +1 1 13 +2 +1 1 1.33333 0 0 0 +-2 0 0 +2 0 0 +0.5 :pre + +A disk, whose diameter is 3.0, mass 1.0, is specified as follows: + +1 1 10 +1 +1 1 4.5 0 0 0 +0 0 0 +3.0 :pre + +The "pair_style body/rounded/polygon"_pair_body_rounded_polygon.html +command can be used with this body style to compute body/body +interactions. The "fix wall/body/polygon"_fix_wall_body_polygon.html +command can be used with this body style to compute the interaction of +body particles with a wall. + +:line + +[Specifics of body style rounded/polyhedron:] + +The {rounded/polyhedron} body style represents body particles as a 3d +polyhedron with a variable number of N vertices, E edges and F faces. +This style can only be used for 3d models; see the +"boundary"_boundary.html command. See the "pair_style +body/rounded/polygon" doc page for a diagram of a two 2d squares with +rounded circles at the vertices. A 3d cube with rounded spheres at +the 8 vertices and 12 rounded edges would be similar. Special cases +for N = 1 (sphere) and N = 2 (rod with rounded ends) can also be +specified. + +This body style is for 3d discrete element models, as described in +"Wang"_#body-Wang. + +Similar to body style {rounded/polygon}, the atom_style body command +for this body style takes two additional arguments: + +atom_style body rounded/polyhedron Nmin Nmax +Nmin = minimum # of vertices in any body in the system +Nmax = maximum # of vertices in any body in the system :pre + +The Nmin and Nmax arguments are used to bound the size of data +structures used internally by each particle. + +When the "read_data"_read_data.html command reads a data file for this +body style, the following information must be provided for each entry +in the {Bodies} section of the data file: + +atom-ID 3 M +N E F +ixx iyy izz ixy ixz iyz +x1 y1 z1 +... +xN yN zN +0 1 +1 2 +2 3 +... +0 1 2 -1 +0 2 3 -1 +... +1 2 3 4 +diameter :pre + +where M = 6 + 3*N + 2*E + 4*F + 1, and N is the number of vertices in +the body particle, E = number of edges, F = number of faces. + +The integer line has three values: number of vertices (N), number of +edges (E) and number of faces (F). The floating point line(s) list 6 +moments of inertia followed by the coordinates of the N vertices (x1 +to zN) as 3N values, followed by 2N vertex indices corresponding to +the end points of the E edges, then 4*F vertex indices defining F +faces. The last value is the diameter value = the rounded diameter of +the sphere that surrounds each vertex. The diameter value can be +different for each body particle. These floating-point values can be +listed on as many lines as you wish; see the +"read_data"_read_data.html command for more details. Because the +maxmimum vertices per face is hard-coded to be 4 +(i.e. quadrilaterals), faces with more than 4 vertices need to be +split into triangles or quadrilaterals. For triangular faces, the +last vertex index should be set to -1. + +The ordering of the 4 vertices within a face should follow +the right-hand rule so that the normal vector of the face points +outwards from the center of mass. + +The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the +values consistent with the current orientation of the rigid body +around its center of mass. The values are with respect to the +simulation box XYZ axes, not with respect to the principal axes of the +rigid body itself. LAMMPS performs the latter calculation internally. +The coordinates of each vertex are specified as its x,y,z displacement +from the center-of-mass of the body particle. The center-of-mass +position of the particle is specified by the x,y,z values in the +{Atoms} section of the data file. + +For example, the following information would specify a cubic particle +whose edge length is 2.0 and rounded diameter is 0.5. +The orientation of the cube is aligned with the xyz coordinate axes +which is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz +iyz = 0.667 0.667 0.667 0 0 0. + +1 3 79 +8 12 6 +0.667 0.667 0.667 0 0 0 +1 1 1 +1 -1 1 +-1 -1 1 +-1 1 1 +1 1 -1 +1 -1 -1 +-1 -1 -1 +-1 1 -1 +0 1 +1 2 +2 3 +3 0 +4 5 +5 6 +6 7 +7 4 +0 4 +1 5 +2 6 +3 7 +0 1 2 3 +4 5 6 7 +0 1 5 4 +1 2 6 5 +2 3 7 6 +3 0 4 7 +0.5 :pre + +A rod in 3D, whose length is 4.0, mass 1.0 and rounded at two ends +by circles of diameter 0.5, is specified as follows: + +1 1 13 +2 +0 1.33333 1.33333 0 0 0 +-2 0 0 +2 0 0 +0.5 :pre + +A sphere whose diameter is 3.0 and mass 1.0, is specified as follows: + +1 1 10 +1 +0.9 0.9 0.9 0 0 0 +0 0 0 +3.0 :pre + +The "pair_style +body/rounded/polhedron"_pair_body_rounded_polyhedron.html command can +be used with this body style to compute body/body interactions. The +"fix wall/body/polyhedron"_fix_wall_body_polygon.html command can be +used with this body style to compute the interaction of body particles +with a wall. + +:line + +For output purposes via the "compute +body/local"_compute_body_local.html and "dump local"_dump.html +commands, this body style produces one datum for each of the N +sub-particles in a body particle. The datum has 3 values: + +1 = x position of vertex +2 = y position of vertex +3 = z position of vertex :pre + +These values are the current position of the vertex within the +simulation domain, not a displacement from the center-of-mass (COM) of +the body particle itself. These values are calculated using the +current COM and orientation of the body particle. + +For images created by the "dump image"_dump_image.html command, if the +{body} keyword is set, then each body particle is drawn as a polygon +consisting of N line segments. Note that the line segments are drawn +between the N vertices, which does not correspond exactly to the +physical extent of the body (because the "pair_style +rounded/polygon"_pair_body_rounded_polygon.html defines finite-size +spheres at those point and the line segments between the spheres are +tangent to the spheres). The drawn diameter of each line segment is +determined by the {bflag1} parameter for the {body} keyword. The +{bflag2} argument is ignored. + +:line + +:link(body-Fraige) +[(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, +Particuology, 6, 455 (2008). + +:link(body-Wang) +[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular +Matter, 13, 1 (2011). diff --git a/doc/src/Howto_chunk.txt b/doc/src/Howto_chunk.txt new file mode 100644 index 0000000000..9d757b2729 --- /dev/null +++ b/doc/src/Howto_chunk.txt @@ -0,0 +1,166 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Use chunks to calculate system properties :h3 + +In LAMMS, "chunks" are collections of atoms, as defined by the +"compute chunk/atom"_compute_chunk_atom.html command, which assigns +each atom to a chunk ID (or to no chunk at all). The number of chunks +and the assignment of chunk IDs to atoms can be static or change over +time. Examples of "chunks" are molecules or spatial bins or atoms +with similar values (e.g. coordination number or potential energy). + +The per-atom chunk IDs can be used as input to two other kinds of +commands, to calculate various properties of a system: + +"fix ave/chunk"_fix_ave_chunk.html +any of the "compute */chunk"_compute.html commands :ul + +Here, each of the 3 kinds of chunk-related commands is briefly +overviewed. Then some examples are given of how to compute different +properties with chunk commands. + +Compute chunk/atom command: :h4 + +This compute can assign atoms to chunks of various styles. Only atoms +in the specified group and optional specified region are assigned to a +chunk. Here are some possible chunk definitions: + +atoms in same molecule | chunk ID = molecule ID | +atoms of same atom type | chunk ID = atom type | +all atoms with same atom property (charge, radius, etc) | chunk ID = output of compute property/atom | +atoms in same cluster | chunk ID = output of "compute cluster/atom"_compute_cluster_atom.html command | +atoms in same spatial bin | chunk ID = bin ID | +atoms in same rigid body | chunk ID = molecule ID used to define rigid bodies | +atoms with similar potential energy | chunk ID = output of "compute pe/atom"_compute_pe_atom.html | +atoms with same local defect structure | chunk ID = output of "compute centro/atom"_compute_centro_atom.html or "compute coord/atom"_compute_coord_atom.html command :tb(s=|,c=2) + +Note that chunk IDs are integer values, so for atom properties or +computes that produce a floating point value, they will be truncated +to an integer. You could also use the compute in a variable that +scales the floating point value to spread it across multiple integers. + +Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins = +pencils, 3d bins = boxes, spherical bins, cylindrical bins. + +This compute also calculates the number of chunks {Nchunk}, which is +used by other commands to tally per-chunk data. {Nchunk} can be a +static value or change over time (e.g. the number of clusters). The +chunk ID for an individual atom can also be static (e.g. a molecule +ID), or dynamic (e.g. what spatial bin an atom is in as it moves). + +Note that this compute allows the per-atom output of other +"computes"_compute.html, "fixes"_fix.html, and +"variables"_variable.html to be used to define chunk IDs for each +atom. This means you can write your own compute or fix to output a +per-atom quantity to use as chunk ID. See the "Modify"_Modify.html +doc pages for info on how to do this. You can also define a "per-atom +variable"_variable.html in the input script that uses a formula to +generate a chunk ID for each atom. + +Fix ave/chunk command: :h4 + +This fix takes the ID of a "compute +chunk/atom"_compute_chunk_atom.html command as input. For each chunk, +it then sums one or more specified per-atom values over the atoms in +each chunk. The per-atom values can be any atom property, such as +velocity, force, charge, potential energy, kinetic energy, stress, +etc. Additional keywords are defined for per-chunk properties like +density and temperature. More generally any per-atom value generated +by other "computes"_compute.html, "fixes"_fix.html, and "per-atom +variables"_variable.html, can be summed over atoms in each chunk. + +Similar to other averaging fixes, this fix allows the summed per-chunk +values to be time-averaged in various ways, and output to a file. The +fix produces a global array as output with one row of values per +chunk. + +Compute */chunk commands: :h4 + +Currently the following computes operate on chunks of atoms to produce +per-chunk values. + +"compute com/chunk"_compute_com_chunk.html +"compute gyration/chunk"_compute_gyration_chunk.html +"compute inertia/chunk"_compute_inertia_chunk.html +"compute msd/chunk"_compute_msd_chunk.html +"compute property/chunk"_compute_property_chunk.html +"compute temp/chunk"_compute_temp_chunk.html +"compute torque/chunk"_compute_vcm_chunk.html +"compute vcm/chunk"_compute_vcm_chunk.html :ul + +They each take the ID of a "compute +chunk/atom"_compute_chunk_atom.html command as input. As their names +indicate, they calculate the center-of-mass, radius of gyration, +moments of inertia, mean-squared displacement, temperature, torque, +and velocity of center-of-mass for each chunk of atoms. The "compute +property/chunk"_compute_property_chunk.html command can tally the +count of atoms in each chunk and extract other per-chunk properties. + +The reason these various calculations are not part of the "fix +ave/chunk command"_fix_ave_chunk.html, is that each requires a more +complicated operation than simply summing and averaging over per-atom +values in each chunk. For example, many of them require calculation +of a center of mass, which requires summing mass*position over the +atoms and then dividing by summed mass. + +All of these computes produce a global vector or global array as +output, wih one or more values per chunk. They can be used +in various ways: + +As input to the "fix ave/time"_fix_ave_time.html command, which can +write the values to a file and optionally time average them. :ulb,l + +As input to the "fix ave/histo"_fix_ave_histo.html command to +histogram values across chunks. E.g. a histogram of cluster sizes or +molecule diffusion rates. :l + +As input to special functions of "equal-style +variables"_variable.html, like sum() and max(). E.g. to find the +largest cluster or fastest diffusing molecule. :l +:ule + +Example calculations with chunks :h4 + +Here are examples using chunk commands to calculate various +properties: + +(1) Average velocity in each of 1000 2d spatial bins: + +compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced +fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out :pre + +(2) Temperature in each spatial bin, after subtracting a flow +velocity: + +compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced +compute vbias all temp/profile 1 0 0 y 10 +fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out :pre + +(3) Center of mass of each molecule: + +compute cc1 all chunk/atom molecule +compute myChunk all com/chunk cc1 +fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre + +(4) Total force on each molecule and ave/max across all molecules: + +compute cc1 all chunk/atom molecule +fix 1 all ave/chunk 1000 1 1000 cc1 fx fy fz file tmp.out +variable xave equal ave(f_1\[2\]) +variable xmax equal max(f_1\[2\]) +thermo 1000 +thermo_style custom step temp v_xave v_xmax :pre + +(5) Histogram of cluster sizes: + +compute cluster all cluster/atom 1.0 +compute cc1 all chunk/atom c_cluster compress yes +compute size all property/chunk cc1 count +fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo :pre diff --git a/doc/src/Howto_coreshell.txt b/doc/src/Howto_coreshell.txt new file mode 100644 index 0000000000..273568418b --- /dev/null +++ b/doc/src/Howto_coreshell.txt @@ -0,0 +1,253 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Adiabatic core/shell model :h3 + +The adiabatic core-shell model by "Mitchell and +Fincham"_#MitchellFincham is a simple method for adding polarizability +to a system. In order to mimic the electron shell of an ion, a +satellite particle is attached to it. This way the ions are split into +a core and a shell where the latter is meant to react to the +electrostatic environment inducing polarizability. See the "Howto +polarizable"_Howto_polarizable.html doc page for a discussion of all +the polarizable models available in LAMMPS. + +Technically, shells are attached to the cores by a spring force f = +k*r where k is a parametrized spring constant and r is the distance +between the core and the shell. The charges of the core and the shell +add up to the ion charge, thus q(ion) = q(core) + q(shell). This +setup introduces the ion polarizability (alpha) given by +alpha = q(shell)^2 / k. In a +similar fashion the mass of the ion is distributed on the core and the +shell with the core having the larger mass. + +To run this model in LAMMPS, "atom_style"_atom_style.html {full} can +be used since atom charge and bonds are needed. Each kind of +core/shell pair requires two atom types and a bond type. The core and +shell of a core/shell pair should be bonded to each other with a +harmonic bond that provides the spring force. For example, a data file +for NaCl, as found in examples/coreshell, has this format: + +432 atoms # core and shell atoms +216 bonds # number of core/shell springs :pre + +4 atom types # 2 cores and 2 shells for Na and Cl +2 bond types :pre + +0.0 24.09597 xlo xhi +0.0 24.09597 ylo yhi +0.0 24.09597 zlo zhi :pre + +Masses # core/shell mass ratio = 0.1 :pre + +1 20.690784 # Na core +2 31.90500 # Cl core +3 2.298976 # Na shell +4 3.54500 # Cl shell :pre + +Atoms :pre + +1 1 2 1.5005 0.00000000 0.00000000 0.00000000 # core of core/shell pair 1 +2 1 4 -2.5005 0.00000000 0.00000000 0.00000000 # shell of core/shell pair 1 +3 2 1 1.5056 4.01599500 4.01599500 4.01599500 # core of core/shell pair 2 +4 2 3 -0.5056 4.01599500 4.01599500 4.01599500 # shell of core/shell pair 2 +(...) :pre + +Bonds # Bond topology for spring forces :pre + +1 2 1 2 # spring for core/shell pair 1 +2 2 3 4 # spring for core/shell pair 2 +(...) :pre + +Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only +defined between the shells. Coulombic interactions are defined +between all cores and shells. If desired, additional bonds can be +specified between cores. + +The "special_bonds"_special_bonds.html command should be used to +turn-off the Coulombic interaction within core/shell pairs, since that +interaction is set by the bond spring. This is done using the +"special_bonds"_special_bonds.html command with a 1-2 weight = 0.0, +which is the default value. It needs to be considered whether one has +to adjust the "special_bonds"_special_bonds.html weighting according +to the molecular topology since the interactions of the shells are +bypassed over an extra bond. + +Note that this core/shell implementation does not require all ions to +be polarized. One can mix core/shell pairs and ions without a +satellite particle if desired. + +Since the core/shell model permits distances of r = 0.0 between the +core and shell, a pair style with a "cs" suffix needs to be used to +implement a valid long-range Coulombic correction. Several such pair +styles are provided in the CORESHELL package. See "this doc +page"_pair_cs.html for details. All of the core/shell enabled pair +styles require the use of a long-range Coulombic solver, as specified +by the "kspace_style"_kspace_style.html command. Either the PPPM or +Ewald solvers can be used. + +For the NaCL example problem, these pair style and bond style settings +are used: + +pair_style born/coul/long/cs 20.0 20.0 +pair_coeff * * 0.0 1.000 0.00 0.00 0.00 +pair_coeff 3 3 487.0 0.23768 0.00 1.05 0.50 #Na-Na +pair_coeff 3 4 145134.0 0.23768 0.00 6.99 8.70 #Na-Cl +pair_coeff 4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl :pre + +bond_style harmonic +bond_coeff 1 63.014 0.0 +bond_coeff 2 25.724 0.0 :pre + +When running dynamics with the adiabatic core/shell model, the +following issues should be considered. The relative motion of +the core and shell particles corresponds to the polarization, +hereby an instantaneous relaxation of the shells is approximated +and a fast core/shell spring frequency ensures a nearly constant +internal kinetic energy during the simulation. +Thermostats can alter this polarization behaviour, by scaling the +internal kinetic energy, meaning the shell will not react freely to +its electrostatic environment. +Therefore it is typically desirable to decouple the relative motion of +the core/shell pair, which is an imaginary degree of freedom, from the +real physical system. To do that, the "compute +temp/cs"_compute_temp_cs.html command can be used, in conjunction with +any of the thermostat fixes, such as "fix nvt"_fix_nh.html or "fix +langevin"_fix_langevin. This compute uses the center-of-mass velocity +of the core/shell pairs to calculate a temperature, and insures that +velocity is what is rescaled for thermostatting purposes. This +compute also works for a system with both core/shell pairs and +non-polarized ions (ions without an attached satellite particle). The +"compute temp/cs"_compute_temp_cs.html command requires input of two +groups, one for the core atoms, another for the shell atoms. +Non-polarized ions which might also be included in the treated system +should not be included into either of these groups, they are taken +into account by the {group-ID} (2nd argument) of the compute. The +groups can be defined using the "group {type}"_group.html command. +Note that to perform thermostatting using this definition of +temperature, the "fix modify temp"_fix_modify.html command should be +used to assign the compute to the thermostat fix. Likewise the +"thermo_modify temp"_thermo_modify.html command can be used to make +this temperature be output for the overall system. + +For the NaCl example, this can be done as follows: + +group cores type 1 2 +group shells type 3 4 +compute CSequ all temp/cs cores shells +fix thermoberendsen all temp/berendsen 1427 1427 0.4 # thermostat for the true physical system +fix thermostatequ all nve # integrator as needed for the berendsen thermostat +fix_modify thermoberendsen temp CSequ +thermo_modify temp CSequ # output of center-of-mass derived temperature :pre + +The pressure for the core/shell system is computed via the regular +LAMMPS convention by "treating the cores and shells as individual +particles"_#MitchellFincham2. For the thermo output of the pressure +as well as for the application of a barostat, it is necessary to +use an additional "pressure"_compute_pressure compute based on the +default "temperature"_compute_temp and specifying it as a second +argument in "fix modify"_fix_modify.html and +"thermo_modify"_thermo_modify.html resulting in: + +(...) +compute CSequ all temp/cs cores shells +compute thermo_press_lmp all pressure thermo_temp # pressure for individual particles +thermo_modify temp CSequ press thermo_press_lmp # modify thermo to regular pressure +fix press_bar all npt temp 300 300 0.04 iso 0 0 0.4 +fix_modify press_bar temp CSequ press thermo_press_lmp # pressure modification for correct kinetic scalar :pre + +If "compute temp/cs"_compute_temp_cs.html is used, the decoupled +relative motion of the core and the shell should in theory be +stable. However numerical fluctuation can introduce a small +momentum to the system, which is noticable over long trajectories. +Therefore it is recommendable to use the "fix +momentum"_fix_momentum.html command in combination with "compute +temp/cs"_compute_temp_cs.html when equilibrating the system to +prevent any drift. + +When initializing the velocities of a system with core/shell pairs, it +is also desirable to not introduce energy into the relative motion of +the core/shell particles, but only assign a center-of-mass velocity to +the pairs. This can be done by using the {bias} keyword of the +"velocity create"_velocity.html command and assigning the "compute +temp/cs"_compute_temp_cs.html command to the {temp} keyword of the +"velocity"_velocity.html command, e.g. + +velocity all create 1427 134 bias yes temp CSequ +velocity all scale 1427 temp CSequ :pre + +To maintain the correct polarizability of the core/shell pairs, the +kinetic energy of the internal motion shall remain nearly constant. +Therefore the choice of spring force and mass ratio need to ensure +much faster relative motion of the 2 atoms within the core/shell pair +than their center-of-mass velocity. This allows the shells to +effectively react instantaneously to the electrostatic environment and +limits energy transfer to or from the core/shell oscillators. +This fast movement also dictates the timestep that can be used. + +The primary literature of the adiabatic core/shell model suggests that +the fast relative motion of the core/shell pairs only allows negligible +energy transfer to the environment. +The mentioned energy transfer will typically lead to a small drift +in total energy over time. This internal energy can be monitored +using the "compute chunk/atom"_compute_chunk_atom.html and "compute +temp/chunk"_compute_temp_chunk.html commands. The internal kinetic +energies of each core/shell pair can then be summed using the sum() +special function of the "variable"_variable.html command. Or they can +be time/averaged and output using the "fix ave/time"_fix_ave_time.html +command. To use these commands, each core/shell pair must be defined +as a "chunk". If each core/shell pair is defined as its own molecule, +the molecule ID can be used to define the chunks. If cores are bonded +to each other to form larger molecules, the chunks can be identified +by the "fix property/atom"_fix_property_atom.html via assigning a +core/shell ID to each atom using a special field in the data file read +by the "read_data"_read_data.html command. This field can then be +accessed by the "compute property/atom"_compute_property_atom.html +command, to use as input to the "compute +chunk/atom"_compute_chunk_atom.html command to define the core/shell +pairs as chunks. + +For example if core/shell pairs are the only molecules: + +read_data NaCl_CS_x0.1_prop.data +compute prop all property/atom molecule +compute cs_chunk all chunk/atom c_prop +compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0 # note the chosen degrees of freedom for the core/shell pairs +fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector :pre + +For example if core/shell pairs and other molecules are present: + +fix csinfo all property/atom i_CSID # property/atom command +read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info # atom property added in the data-file +compute prop all property/atom i_CSID +(...) :pre + +The additional section in the date file would be formatted like this: + +CS-Info # header of additional section :pre + +1 1 # column 1 = atom ID, column 2 = core/shell ID +2 1 +3 2 +4 2 +5 3 +6 3 +7 4 +8 4 +(...) :pre + +:line + +:link(MitchellFincham) +[(Mitchell and Fincham)] Mitchell, Fincham, J Phys Condensed Matter, +5, 1031-1038 (1993). + +:link(MitchellFincham2) +[(Fincham)] Fincham, Mackrodt and Mitchell, J Phys Condensed Matter, +6, 393-404 (1994). diff --git a/doc/src/Howto_couple.txt b/doc/src/Howto_couple.txt new file mode 100644 index 0000000000..ec45bd1290 --- /dev/null +++ b/doc/src/Howto_couple.txt @@ -0,0 +1,105 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Coupling LAMMPS to other codes :h3 + +LAMMPS is designed to allow it to be coupled to other codes. For +example, a quantum mechanics code might compute forces on a subset of +atoms and pass those forces to LAMMPS. Or a continuum finite element +(FE) simulation might use atom positions as boundary conditions on FE +nodal points, compute a FE solution, and return interpolated forces on +MD atoms. + +LAMMPS can be coupled to other codes in at least 3 ways. Each has +advantages and disadvantages, which you'll have to think about in the +context of your application. + +(1) Define a new "fix"_fix.html command that calls the other code. In +this scenario, LAMMPS is the driver code. During its timestepping, +the fix is invoked, and can make library calls to the other code, +which has been linked to LAMMPS as a library. This is the way the +"POEMS"_poems package that performs constrained rigid-body motion on +groups of atoms is hooked to LAMMPS. See the "fix +poems"_fix_poems.html command for more details. See the +"Modify"_Modify.html doc pages for info on how to add a new fix to +LAMMPS. + +:link(poems,http://www.rpi.edu/~anderk5/lab) + +(2) Define a new LAMMPS command that calls the other code. This is +conceptually similar to method (1), but in this case LAMMPS and the +other code are on a more equal footing. Note that now the other code +is not called during the timestepping of a LAMMPS run, but between +runs. The LAMMPS input script can be used to alternate LAMMPS runs +with calls to the other code, invoked via the new command. The +"run"_run.html command facilitates this with its {every} option, which +makes it easy to run a few steps, invoke the command, run a few steps, +invoke the command, etc. + +In this scenario, the other code can be called as a library, as in +(1), or it could be a stand-alone code, invoked by a system() call +made by the command (assuming your parallel machine allows one or more +processors to start up another program). In the latter case the +stand-alone code could communicate with LAMMPS thru files that the +command writes and reads. + +See the "Modify command"_Modify_command.html doc page for info on how +to add a new command to LAMMPS. + +(3) Use LAMMPS as a library called by another code. In this case the +other code is the driver and calls LAMMPS as needed. Or a wrapper +code could link and call both LAMMPS and another code as libraries. +Again, the "run"_run.html command has options that allow it to be +invoked with minimal overhead (no setup or clean-up) if you wish to do +multiple short runs, driven by another program. + +Examples of driver codes that call LAMMPS as a library are included in +the examples/COUPLE directory of the LAMMPS distribution; see +examples/COUPLE/README for more details: + +simple: simple driver programs in C++ and C which invoke LAMMPS as a +library :ulb,l + +lammps_quest: coupling of LAMMPS and "Quest"_quest, to run classical +MD with quantum forces calculated by a density functional code :l + +lammps_spparks: coupling of LAMMPS and "SPPARKS"_spparks, to couple +a kinetic Monte Carlo model for grain growth using MD to calculate +strain induced across grain boundaries :l +:ule + +:link(quest,http://dft.sandia.gov/Quest) +:link(spparks,http://www.sandia.gov/~sjplimp/spparks.html) + +"This section"_Section_start.html#start_5 of the documentation +describes how to build LAMMPS as a library. Once this is done, you +can interface with LAMMPS either via C++, C, Fortran, or Python (or +any other language that supports a vanilla C-like interface). For +example, from C++ you could create one (or more) "instances" of +LAMMPS, pass it an input script to process, or execute individual +commands, all by invoking the correct class methods in LAMMPS. From C +or Fortran you can make function calls to do the same things. See the +"Python"_Python.html doc pages for a description of the Python wrapper +provided with LAMMPS that operates through the LAMMPS library +interface. + +The files src/library.cpp and library.h contain the C-style interface +to LAMMPS. See the "Howto library"_Howto_library.html doc page for a +description of the interface and how to extend it for your needs. + +Note that the lammps_open() function that creates an instance of +LAMMPS takes an MPI communicator as an argument. This means that +instance of LAMMPS will run on the set of processors in the +communicator. Thus the calling code can run LAMMPS on all or a subset +of processors. For example, a wrapper script might decide to +alternate between LAMMPS and another code, allowing them both to run +on all the processors. Or it might allocate half the processors to +LAMMPS and half to the other code and run both codes simultaneously +before syncing them up periodically. Or it might instantiate multiple +instances of LAMMPS to perform different calculations. diff --git a/doc/src/Howto_diffusion.txt b/doc/src/Howto_diffusion.txt new file mode 100644 index 0000000000..e0e16e1042 --- /dev/null +++ b/doc/src/Howto_diffusion.txt @@ -0,0 +1,31 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Calculate a diffusion coefficient :h3 + +The diffusion coefficient D of a material can be measured in at least +2 ways using various options in LAMMPS. See the examples/DIFFUSE +directory for scripts that implement the 2 methods discussed here for +a simple Lennard-Jones fluid model. + +The first method is to measure the mean-squared displacement (MSD) of +the system, via the "compute msd"_compute_msd.html command. The slope +of the MSD versus time is proportional to the diffusion coefficient. +The instantaneous MSD values can be accumulated in a vector via the +"fix vector"_fix_vector.html command, and a line fit to the vector to +compute its slope via the "variable slope"_variable.html function, and +thus extract D. + +The second method is to measure the velocity auto-correlation function +(VACF) of the system, via the "compute vacf"_compute_vacf.html +command. The time-integral of the VACF is proportional to the +diffusion coefficient. The instantaneous VACF values can be +accumulated in a vector via the "fix vector"_fix_vector.html command, +and time integrated via the "variable trap"_variable.html function, +and thus extract D. diff --git a/doc/src/Howto_dispersion.txt b/doc/src/Howto_dispersion.txt new file mode 100644 index 0000000000..000f45076d --- /dev/null +++ b/doc/src/Howto_dispersion.txt @@ -0,0 +1,108 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Long-raage dispersion settings :h3 + +The PPPM method computes interactions by splitting the pair potential +into two parts, one of which is computed in a normal pairwise fashion, +the so-called real-space part, and one of which is computed using the +Fourier transform, the so called reciprocal-space or kspace part. For +both parts, the potential is not computed exactly but is approximated. +Thus, there is an error in both parts of the computation, the +real-space and the kspace error. The just mentioned facts are true +both for the PPPM for Coulomb as well as dispersion interactions. The +deciding difference - and also the reason why the parameters for +pppm/disp have to be selected with more care - is the impact of the +errors on the results: The kspace error of the PPPM for Coulomb and +dispersion interaction and the real-space error of the PPPM for +Coulomb interaction have the character of noise. In contrast, the +real-space error of the PPPM for dispersion has a clear physical +interpretation: the underprediction of cohesion. As a consequence, the +real-space error has a much stronger effect than the kspace error on +simulation results for pppm/disp. Parameters must thus be chosen in a +way that this error is much smaller than the kspace error. + +When using pppm/disp and not making any specifications on the PPPM +parameters via the kspace modify command, parameters will be tuned +such that the real-space error and the kspace error are equal. This +will result in simulations that are either inaccurate or slow, both of +which is not desirable. For selecting parameters for the pppm/disp +that provide fast and accurate simulations, there are two approaches, +which both have their up- and downsides. + +The first approach is to set desired real-space an kspace accuracies +via the {kspace_modify force/disp/real} and {kspace_modify +force/disp/kspace} commands. Note that the accuracies have to be +specified in force units and are thus dependent on the chosen unit +settings. For real units, 0.0001 and 0.002 seem to provide reasonable +accurate and efficient computations for the real-space and kspace +accuracies. 0.002 and 0.05 work well for most systems using lj +units. PPPM parameters will be generated based on the desired +accuracies. The upside of this approach is that it usually provides a +good set of parameters and will work for both the {kspace_modify diff +ad} and {kspace_modify diff ik} options. The downside of the method +is that setting the PPPM parameters will take some time during the +initialization of the simulation. + +The second approach is to set the parameters for the pppm/disp +explicitly using the {kspace_modify mesh/disp}, {kspace_modify +order/disp}, and {kspace_modify gewald/disp} commands. This approach +requires a more experienced user who understands well the impact of +the choice of parameters on the simulation accuracy and +performance. This approach provides a fast initialization of the +simulation. However, it is sensitive to errors: A combination of +parameters that will perform well for one system might result in +far-from-optimal conditions for other simulations. For example, +parameters that provide accurate and fast computations for +all-atomistic force fields can provide insufficient accuracy or +united-atomistic force fields (which is related to that the latter +typically have larger dispersion coefficients). + +To avoid inaccurate or inefficient simulations, the pppm/disp stops +simulations with an error message if no action is taken to control the +PPPM parameters. If the automatic parameter generation is desired and +real-space and kspace accuracies are desired to be equal, this error +message can be suppressed using the {kspace_modify disp/auto yes} +command. + +A reasonable approach that combines the upsides of both methods is to +make the first run using the {kspace_modify force/disp/real} and +{kspace_modify force/disp/kspace} commands, write down the PPPM +parameters from the outut, and specify these parameters using the +second approach in subsequent runs (which have the same composition, +force field, and approximately the same volume). + +Concerning the performance of the pppm/disp there are two more things +to consider. The first is that when using the pppm/disp, the cutoff +parameter does no longer affect the accuracy of the simulation +(subject to that gewald/disp is adjusted when changing the cutoff). +The performance can thus be increased by examining different values +for the cutoff parameter. A lower bound for the cutoff is only set by +the truncation error of the repulsive term of pair potentials. + +The second is that the mixing rule of the pair style has an impact on +the computation time when using the pppm/disp. Fastest computations +are achieved when using the geometric mixing rule. Using the +arithmetic mixing rule substantially increases the computational cost. +The computational overhead can be reduced using the {kspace_modify +mix/disp geom} and {kspace_modify splittol} commands. The first +command simply enforces geometric mixing of the dispersion +coefficients in kspace computations. This introduces some error in +the computations but will also significantly speed-up the +simulations. The second keyword sets the accuracy with which the +dispersion coefficients are approximated using a matrix factorization +approach. This may result in better accuracy then using the first +command, but will usually also not provide an equally good increase of +efficiency. + +Finally, pppm/disp can also be used when no mixing rules apply. +This can be achieved using the {kspace_modify mix/disp none} command. +Note that the code does not check automatically whether any mixing +rule is fulfilled. If mixing rules do not apply, the user will have +to specify this command explicitly. diff --git a/doc/src/Howto_drude.txt b/doc/src/Howto_drude.txt new file mode 100644 index 0000000000..e9c30db772 --- /dev/null +++ b/doc/src/Howto_drude.txt @@ -0,0 +1,77 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Drude induced dipoles :h3 + +The thermalized Drude model represents induced dipoles by a pair of +charges (the core atom and the Drude particle) connected by a harmonic +spring. See the "Howto polarizable"_Howto_polarizable.html doc page +for a discussion of all the polarizable models available in LAMMPS. + +The Drude model has a number of features aimed at its use in +molecular systems ("Lamoureux and Roux"_#howto-Lamoureux): + +Thermostating of the additional degrees of freedom associated with the +induced dipoles at very low temperature, in terms of the reduced +coordinates of the Drude particles with respect to their cores. This +makes the trajectory close to that of relaxed induced dipoles. :ulb,l + +Consistent definition of 1-2 to 1-4 neighbors. A core-Drude particle +pair represents a single (polarizable) atom, so the special screening +factors in a covalent structure should be the same for the core and +the Drude particle. Drude particles have to inherit the 1-2, 1-3, 1-4 +special neighbor relations from their respective cores. :l + +Stabilization of the interactions between induced dipoles. Drude +dipoles on covalently bonded atoms interact too strongly due to the +short distances, so an atom may capture the Drude particle of a +neighbor, or the induced dipoles within the same molecule may align +too much. To avoid this, damping at short range can be done by Thole +functions (for which there are physical grounds). This Thole damping +is applied to the point charges composing the induced dipole (the +charge of the Drude particle and the opposite charge on the core, not +to the total charge of the core atom). :l,ule + +A detailed tutorial covering the usage of Drude induced dipoles in +LAMMPS is on the "Howto drude2e"_Howto_drude2.html doc page. + +As with the core-shell model, the cores and Drude particles should +appear in the data file as standard atoms. The same holds for the +springs between them, which are described by standard harmonic bonds. +The nature of the atoms (core, Drude particle or non-polarizable) is +specified via the "fix drude"_fix_drude.html command. The special +list of neighbors is automatically refactored to account for the +equivalence of core and Drude particles as regards special 1-2 to 1-4 +screening. It may be necessary to use the {extra/special/per/atom} +keyword of the "read_data"_read_data.html command. If using "fix +shake"_fix_shake.html, make sure no Drude particle is in this fix +group. + +There are two ways to thermostat the Drude particles at a low +temperature: use either "fix langevin/drude"_fix_langevin_drude.html +for a Langevin thermostat, or "fix +drude/transform/*"_fix_drude_transform.html for a Nose-Hoover +thermostat. The former requires use of the command "comm_modify vel +yes"_comm_modify.html. The latter requires two separate integration +fixes like {nvt} or {npt}. The correct temperatures of the reduced +degrees of freedom can be calculated using the "compute +temp/drude"_compute_temp_drude.html. This requires also to use the +command {comm_modify vel yes}. + +Short-range damping of the induced dipole interactions can be achieved +using Thole functions through the "pair style +thole"_pair_thole.html in "pair_style hybrid/overlay"_pair_hybrid.html +with a Coulomb pair style. It may be useful to use {coul/long/cs} or +similar from the CORESHELL package if the core and Drude particle come +too close, which can cause numerical issues. + +:line + +:link(howto-Lamoureux) +[(Lamoureux and Roux)] G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003) diff --git a/doc/src/tutorial_drude.txt b/doc/src/Howto_drude2.txt similarity index 100% rename from doc/src/tutorial_drude.txt rename to doc/src/Howto_drude2.txt diff --git a/doc/src/Howto_elastic.txt b/doc/src/Howto_elastic.txt new file mode 100644 index 0000000000..4dda13fa53 --- /dev/null +++ b/doc/src/Howto_elastic.txt @@ -0,0 +1,47 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Calculate elastic constants :h3 + +Elastic constants characterize the stiffness of a material. The formal +definition is provided by the linear relation that holds between the +stress and strain tensors in the limit of infinitesimal deformation. +In tensor notation, this is expressed as s_ij = C_ijkl * e_kl, where +the repeated indices imply summation. s_ij are the elements of the +symmetric stress tensor. e_kl are the elements of the symmetric strain +tensor. C_ijkl are the elements of the fourth rank tensor of elastic +constants. In three dimensions, this tensor has 3^4=81 elements. Using +Voigt notation, the tensor can be written as a 6x6 matrix, where C_ij +is now the derivative of s_i w.r.t. e_j. Because s_i is itself a +derivative w.r.t. e_i, it follows that C_ij is also symmetric, with at +most 7*6/2 = 21 distinct elements. + +At zero temperature, it is easy to estimate these derivatives by +deforming the simulation box in one of the six directions using the +"change_box"_change_box.html command and measuring the change in the +stress tensor. A general-purpose script that does this is given in the +examples/elastic directory described on the "Examples"_Examples.html +doc page. + +Calculating elastic constants at finite temperature is more +challenging, because it is necessary to run a simulation that perfoms +time averages of differential properties. One way to do this is to +measure the change in average stress tensor in an NVT simulations when +the cell volume undergoes a finite deformation. In order to balance +the systematic and statistical errors in this method, the magnitude of +the deformation must be chosen judiciously, and care must be taken to +fully equilibrate the deformed cell before sampling the stress +tensor. Another approach is to sample the triclinic cell fluctuations +that occur in an NPT simulation. This method can also be slow to +converge and requires careful post-processing "(Shinoda)"_#Shinoda1 + +:line + +:link(Shinoda1) +[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). diff --git a/doc/src/tutorial_github.txt b/doc/src/Howto_github.txt similarity index 98% rename from doc/src/tutorial_github.txt rename to doc/src/Howto_github.txt index fc261bdb95..191242205e 100644 --- a/doc/src/tutorial_github.txt +++ b/doc/src/Howto_github.txt @@ -25,8 +25,8 @@ or improvements to LAMMPS, as it significantly reduces the amount of work required by the LAMMPS developers. Consequently, creating a pull request will increase your chances to have your contribution included and will reduce the time until the integration is complete. For more -information on the requirements to have your code included in LAMMPS, -see the "Modify contribute"_Modify_contribute.html doc page. +information on the requirements to have your code included into LAMMPS +please see the "Modify contribute"_Modify_contribute.html doc page. :line @@ -124,7 +124,7 @@ unrelated feature, you should switch branches! After everything is done, add the files to the branch and commit them: - $ git add doc/src/tutorial_github.txt + $ git add doc/src/Howto_github.txt $ git add doc/src/JPG/tutorial*.png :pre IMPORTANT NOTE: Do not use {git commit -a} (or {git add -A}). The -a @@ -318,7 +318,7 @@ Because the changes are OK with us, we are going to merge by clicking on Now, since in the meantime our local text for the tutorial also changed, we need to pull Axel's change back into our branch, and merge them: - $ git add tutorial_github.txt + $ git add Howto_github.txt $ git add JPG/tutorial_reverse_pull_request*.png $ git commit -m "Updated text and images on reverse pull requests" $ git pull :pre @@ -331,7 +331,7 @@ With Axel's changes merged in and some final text updates, our feature branch is now perfect as far as we are concerned, so we are going to commit and push again: - $ git add tutorial_github.txt + $ git add Howto_github.txt $ git add JPG/tutorial_reverse_pull_request6.png $ git commit -m "Merged Axel's suggestions and updated text" $ git push git@github.com:Pakketeretet2/lammps :pre diff --git a/doc/src/Howto_granular.txt b/doc/src/Howto_granular.txt new file mode 100644 index 0000000000..cfa01bcb63 --- /dev/null +++ b/doc/src/Howto_granular.txt @@ -0,0 +1,57 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Granular models :h3 + +Granular system are composed of spherical particles with a diameter, +as opposed to point particles. This means they have an angular +velocity and torque can be imparted to them to cause them to rotate. + +To run a simulation of a granular model, you will want to use +the following commands: + +"atom_style sphere"_atom_style.html +"fix nve/sphere"_fix_nve_sphere.html +"fix gravity"_fix_gravity.html :ul + +This compute + +"compute erotate/sphere"_compute_erotate_sphere.html :ul + +calculates rotational kinetic energy which can be "output with +thermodynamic info"_Howto_output.html. + +Use one of these 3 pair potentials, which compute forces and torques +between interacting pairs of particles: + +"pair_style"_pair_style.html gran/history +"pair_style"_pair_style.html gran/no_history +"pair_style"_pair_style.html gran/hertzian :ul + +These commands implement fix options specific to granular systems: + +"fix freeze"_fix_freeze.html +"fix pour"_fix_pour.html +"fix viscous"_fix_viscous.html +"fix wall/gran"_fix_wall_gran.html :ul + +The fix style {freeze} zeroes both the force and torque of frozen +atoms, and should be used for granular system instead of the fix style +{setforce}. + +For computational efficiency, you can eliminate needless pairwise +computations between frozen atoms by using this command: + +"neigh_modify"_neigh_modify.html exclude :ul + +NOTE: By default, for 2d systems, granular particles are still modeled +as 3d spheres, not 2d discs (circles), meaning their moment of inertia +will be the same as in 3d. If you wish to model granular particles in +2d as 2d discs, see the note on this topic on the "Howto 2d"_Howto_2d +doc page, where 2d simulations are discussed. diff --git a/doc/src/Howto_kappa.txt b/doc/src/Howto_kappa.txt new file mode 100644 index 0000000000..949901f21a --- /dev/null +++ b/doc/src/Howto_kappa.txt @@ -0,0 +1,90 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Calculate thermal conductivity :h3 + +The thermal conductivity kappa of a material can be measured in at +least 4 ways using various options in LAMMPS. See the examples/KAPPA +directory for scripts that implement the 4 methods discussed here for +a simple Lennard-Jones fluid model. Also, see the "Howto +viscosity"_Howto_viscosity.html doc page for an analogous discussion +for viscosity. + +The thermal conductivity tensor kappa is a measure of the propensity +of a material to transmit heat energy in a diffusive manner as given +by Fourier's law + +J = -kappa grad(T) + +where J is the heat flux in units of energy per area per time and +grad(T) is the spatial gradient of temperature. The thermal +conductivity thus has units of energy per distance per time per degree +K and is often approximated as an isotropic quantity, i.e. as a +scalar. + +The first method is to setup two thermostatted regions at opposite +ends of a simulation box, or one in the middle and one at the end of a +periodic box. By holding the two regions at different temperatures +with a "thermostatting fix"_Howto_thermostat.html, the energy added to +the hot region should equal the energy subtracted from the cold region +and be proportional to the heat flux moving between the regions. See +the papers by "Ikeshoji and Hafskjold"_#howto-Ikeshoji and +"Wirnsberger et al"_#howto-Wirnsberger for details of this idea. Note +that thermostatting fixes such as "fix nvt"_fix_nh.html, "fix +langevin"_fix_langevin.html, and "fix +temp/rescale"_fix_temp_rescale.html store the cumulative energy they +add/subtract. + +Alternatively, as a second method, the "fix heat"_fix_heat.html or +"fix ehex"_fix_ehex.html commands can be used in place of thermostats +on each of two regions to add/subtract specified amounts of energy to +both regions. In both cases, the resulting temperatures of the two +regions can be monitored with the "compute temp/region" command and +the temperature profile of the intermediate region can be monitored +with the "fix ave/chunk"_fix_ave_chunk.html and "compute +ke/atom"_compute_ke_atom.html commands. + +The third method is to perform a reverse non-equilibrium MD simulation +using the "fix thermal/conductivity"_fix_thermal_conductivity.html +command which implements the rNEMD algorithm of Muller-Plathe. +Kinetic energy is swapped between atoms in two different layers of the +simulation box. This induces a temperature gradient between the two +layers which can be monitored with the "fix +ave/chunk"_fix_ave_chunk.html and "compute +ke/atom"_compute_ke_atom.html commands. The fix tallies the +cumulative energy transfer that it performs. See the "fix +thermal/conductivity"_fix_thermal_conductivity.html command for +details. + +The fourth method is based on the Green-Kubo (GK) formula which +relates the ensemble average of the auto-correlation of the heat flux +to kappa. The heat flux can be calculated from the fluctuations of +per-atom potential and kinetic energies and per-atom stress tensor in +a steady-state equilibrated simulation. This is in contrast to the +two preceding non-equilibrium methods, where energy flows continuously +between hot and cold regions of the simulation box. + +The "compute heat/flux"_compute_heat_flux.html command can calculate +the needed heat flux and describes how to implement the Green_Kubo +formalism using additional LAMMPS commands, such as the "fix +ave/correlate"_fix_ave_correlate.html command to calculate the needed +auto-correlation. See the doc page for the "compute +heat/flux"_compute_heat_flux.html command for an example input script +that calculates the thermal conductivity of solid Ar via the GK +formalism. + +:line + +:link(howto-Ikeshoji) +[(Ikeshoji)] Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 +(1994). + +:link(howto-Wirnsberger) +[(Wirnsberger)] Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104 +(2015). diff --git a/doc/src/Howto_library.txt b/doc/src/Howto_library.txt new file mode 100644 index 0000000000..b15aadd214 --- /dev/null +++ b/doc/src/Howto_library.txt @@ -0,0 +1,208 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Library interface to LAMMPS :h3 + +As described in "Section 2.5"_Section_start.html#start_5, LAMMPS can +be built as a library, so that it can be called by another code, used +in a "coupled manner"_Howto_couple.html with other codes, or driven +through a "Python interface"_Python.html. + +All of these methodologies use a C-style interface to LAMMPS that is +provided in the files src/library.cpp and src/library.h. The +functions therein have a C-style argument list, but contain C++ code +you could write yourself in a C++ application that was invoking LAMMPS +directly. The C++ code in the functions illustrates how to invoke +internal LAMMPS operations. Note that LAMMPS classes are defined +within a LAMMPS namespace (LAMMPS_NS) if you use them from another C++ +application. + +The examples/COUPLE and python/examples directories have example C++ +and C and Python codes which show how a driver code can link to LAMMPS +as a library, run LAMMPS on a subset of processors, grab data from +LAMMPS, change it, and put it back into LAMMPS. + +The file src/library.cpp contains the following functions for creating +and destroying an instance of LAMMPS and sending it commands to +execute. See the documentation in the src/library.cpp file for +details. + +NOTE: You can write code for additional functions as needed to define +how your code talks to LAMMPS and add them to src/library.cpp and +src/library.h, as well as to the "Python interface"_Python.html. The +added functions can access or change any internal LAMMPS data you +wish. + +void lammps_open(int, char **, MPI_Comm, void **) +void lammps_open_no_mpi(int, char **, void **) +void lammps_close(void *) +int lammps_version(void *) +void lammps_file(void *, char *) +char *lammps_command(void *, char *) +void lammps_commands_list(void *, int, char **) +void lammps_commands_string(void *, char *) +void lammps_free(void *) :pre + +The lammps_open() function is used to initialize LAMMPS, passing in a +list of strings as if they were "command-line +arguments"_Section_start.html#start_6 when LAMMPS is run in +stand-alone mode from the command line, and a MPI communicator for +LAMMPS to run under. It returns a ptr to the LAMMPS object that is +created, and which is used in subsequent library calls. The +lammps_open() function can be called multiple times, to create +multiple instances of LAMMPS. + +LAMMPS will run on the set of processors in the communicator. This +means the calling code can run LAMMPS on all or a subset of +processors. For example, a wrapper script might decide to alternate +between LAMMPS and another code, allowing them both to run on all the +processors. Or it might allocate half the processors to LAMMPS and +half to the other code and run both codes simultaneously before +syncing them up periodically. Or it might instantiate multiple +instances of LAMMPS to perform different calculations. + +The lammps_open_no_mpi() function is similar except that no MPI +communicator is passed from the caller. Instead, MPI_COMM_WORLD is +used to instantiate LAMMPS, and MPI is initialized if necessary. + +The lammps_close() function is used to shut down an instance of LAMMPS +and free all its memory. + +The lammps_version() function can be used to determined the specific +version of the underlying LAMMPS code. This is particularly useful +when loading LAMMPS as a shared library via dlopen(). The code using +the library interface can than use this information to adapt to +changes to the LAMMPS command syntax between versions. The returned +LAMMPS version code is an integer (e.g. 2 Sep 2015 results in +20150902) that grows with every new LAMMPS version. + +The lammps_file(), lammps_command(), lammps_commands_list(), and +lammps_commands_string() functions are used to pass one or more +commands to LAMMPS to execute, the same as if they were coming from an +input script. + +Via these functions, the calling code can read or generate a series of +LAMMPS commands one or multiple at a time and pass it thru the library +interface to setup a problem and then run it in stages. The caller +can interleave the command function calls with operations it performs, +calls to extract information from or set information within LAMMPS, or +calls to another code's library. + +The lammps_file() function passes the filename of an input script. +The lammps_command() function passes a single command as a string. +The lammps_commands_list() function passes multiple commands in a +char** list. In both lammps_command() and lammps_commands_list(), +individual commands may or may not have a trailing newline. The +lammps_commands_string() function passes multiple commands +concatenated into one long string, separated by newline characters. +In both lammps_commands_list() and lammps_commands_string(), a single +command can be spread across multiple lines, if the last printable +character of all but the last line is "&", the same as if the lines +appeared in an input script. + +The lammps_free() function is a clean-up function to free memory that +the library allocated previously via other function calls. See +comments in src/library.cpp file for which other functions need this +clean-up. + +The file src/library.cpp also contains these functions for extracting +information from LAMMPS and setting value within LAMMPS. Again, see +the documentation in the src/library.cpp file for details, including +which quantities can be queried by name: + +int lammps_extract_setting(void *, char *) +void *lammps_extract_global(void *, char *) +void lammps_extract_box(void *, double *, double *, + double *, double *, double *, int *, int *) +void *lammps_extract_atom(void *, char *) +void *lammps_extract_compute(void *, char *, int, int) +void *lammps_extract_fix(void *, char *, int, int, int, int) +void *lammps_extract_variable(void *, char *, char *) :pre + +The extract_setting() function returns info on the size +of data types (e.g. 32-bit or 64-bit atom IDs) used +by the LAMMPS executable (a compile-time choice). + +The other extract functions return a pointer to various global or +per-atom quantities stored in LAMMPS or to values calculated by a +compute, fix, or variable. The pointer returned by the +extract_global() function can be used as a permanent reference to a +value which may change. For the extract_atom() method, see the +extract() method in the src/atom.cpp file for a list of valid per-atom +properties. New names could easily be added if the property you want +is not listed. For the other extract functions, the underlying +storage may be reallocated as LAMMPS runs, so you need to re-call the +function to assure a current pointer or returned value(s). + +double lammps_get_thermo(void *, char *) +int lammps_get_natoms(void *) :pre + +int lammps_set_variable(void *, char *, char *) +void lammps_reset_box(void *, double *, double *, double, double, double) :pre + +The lammps_get_thermo() function returns the current value of a thermo +keyword as a double precision value. + +The lammps_get_natoms() function returns the total number of atoms in +the system and can be used by the caller to allocate memory for the +lammps_gather_atoms() and lammps_scatter_atoms() functions. + +The lammps_set_variable() function can set an existing string-style +variable to a new string value, so that subsequent LAMMPS commands can +access the variable. + +The lammps_reset_box() function resets the size and shape of the +simulation box, e.g. as part of restoring a previously extracted and +saved state of a simulation. + +void lammps_gather_atoms(void *, char *, int, int, void *) +void lammps_gather_atoms_concat(void *, char *, int, int, void *) +void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *) +void lammps_scatter_atoms(void *, char *, int, int, void *) +void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *) :pre + +void lammps_create_atoms(void *, int, tagint *, int *, double *, double *, + imageint *, int) :pre + +The gather functions collect peratom info of the requested type (atom +coords, atom types, forces, etc) from all processors, and returns the +same vector of values to each callling processor. The scatter +functions do the inverse. They distribute a vector of peratom values, +passed by all calling processors, to invididual atoms, which may be +owned by different processos. + +The lammps_gather_atoms() function does this for all N atoms in the +system, ordered by atom ID, from 1 to N. The +lammps_gather_atoms_concat() function does it for all N atoms, but +simply concatenates the subset of atoms owned by each processor. The +resulting vector is not ordered by atom ID. Atom IDs can be requetsed +by the same function if the caller needs to know the ordering. The +lammps_gather_subset() function allows the caller to request values +for only a subset of atoms (identified by ID). +For all 3 gather function, per-atom image flags can be retrieved in 2 ways. +If the count is specified as 1, they are returned +in a packed format with all three image flags stored in a single integer. +If the count is specified as 3, the values are unpacked into xyz flags +by the library before returning them. + +The lammps_scatter_atoms() function takes a list of values for all N +atoms in the system, ordered by atom ID, from 1 to N, and assigns +those values to each atom in the system. The +lammps_scatter_atoms_subset() function takes a subset of IDs as an +argument and only scatters those values to the owning atoms. + +The lammps_create_atoms() function takes a list of N atoms as input +with atom types and coords (required), an optionally atom IDs and +velocities and image flags. It uses the coords of each atom to assign +it as a new atom to the processor that owns it. This function is +useful to add atoms to a simulation or (in tandem with +lammps_reset_box()) to restore a previously extracted and saved state +of a simulation. Additional properties for the new atoms can then be +assigned via the lammps_scatter_atoms() or lammps_extract_atom() +functions. diff --git a/doc/src/Howto_manifold.txt b/doc/src/Howto_manifold.txt new file mode 100644 index 0000000000..c9bb1ce57f --- /dev/null +++ b/doc/src/Howto_manifold.txt @@ -0,0 +1,41 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Manifolds (surfaces) :h3 + +[Overview:] + +This doc page is not about a LAMMPS input script command, but about +manifolds, which are generalized surfaces, as defined and used by the +USER-MANIFOLD package, to track particle motion on the manifolds. See +the src/USER-MANIFOLD/README file for more details about the package +and its commands. + +Below is a list of currently supported manifolds by the USER-MANIFOLD +package, their parameters and a short description of them. The +parameters listed here are in the same order as they should be passed +to the relevant fixes. + +{manifold} @ {parameters} @ {equation} @ {description} +cylinder @ R @ x^2 + y^2 - R^2 = 0 @ Cylinder along z-axis, axis going through (0,0,0) +cylinder_dent @ R l a @ x^2 + y^2 - r(z)^2 = 0, r(x) = R if | z | > l, r(z) = R - a*(1 + cos(z/l))/2 otherwise @ A cylinder with a dent around z = 0 +dumbbell @ a A B c @ -( x^2 + y^2 ) + (a^2 - z^2/c^2) * ( 1 + (A*sin(B*z^2))^4) = 0 @ A dumbbell +ellipsoid @ a b c @ (x/a)^2 + (y/b)^2 + (z/c)^2 = 0 @ An ellipsoid +gaussian_bump @ A l rc1 rc2 @ if( x < rc1) -z + A * exp( -x^2 / (2 l^2) ); else if( x < rc2 ) -z + a + b*x + c*x^2 + d*x^3; else z @ A Gaussian bump at x = y = 0, smoothly tapered to a flat plane z = 0. +plane @ a b c x0 y0 z0 @ a*(x-x0) + b*(y-y0) + c*(z-z0) = 0 @ A plane with normal (a,b,c) going through point (x0,y0,z0) +plane_wiggle @ a w @ z - a*sin(w*x) = 0 @ A plane with a sinusoidal modulation on z along x. +sphere @ R @ x^2 + y^2 + z^2 - R^2 = 0 @ A sphere of radius R +supersphere @ R q @ | x |^q + | y |^q + | z |^q - R^q = 0 @ A supersphere of hyperradius R +spine @ a, A, B, B2, c @ -(x^2 + y^2) + (a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^4), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise @ An approximation to a dendtritic spine +spine_two @ a, A, B, B2, c @ -(x^2 + y^2) + (a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^2), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise @ Another approximation to a dendtritic spine +thylakoid @ wB LB lB @ Various, see "(Paquay)"_#Paquay1 @ A model grana thylakoid consisting of two block-like compartments connected by a bridge of width wB, length LB and taper length lB +torus @ R r @ (R - sqrt( x^2 + y^2 ) )^2 + z^2 - r^2 @ A torus with large radius R and small radius r, centered on (0,0,0) :tb(s=@) + +:link(Paquay1) +[(Paquay)] Paquay and Kusters, Biophys. J., 110, 6, (2016). +preprint available at "arXiv:1411.3019"_http://arxiv.org/abs/1411.3019/. diff --git a/doc/src/Howto_multiple.txt b/doc/src/Howto_multiple.txt new file mode 100644 index 0000000000..3516debb71 --- /dev/null +++ b/doc/src/Howto_multiple.txt @@ -0,0 +1,95 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Run multiple simulations from one input script :h3 + +This can be done in several ways. See the documentation for +individual commands for more details on how these examples work. + +If "multiple simulations" means continue a previous simulation for +more timesteps, then you simply use the "run"_run.html command +multiple times. For example, this script + +units lj +atom_style atomic +read_data data.lj +run 10000 +run 10000 +run 10000 +run 10000 +run 10000 :pre + +would run 5 successive simulations of the same system for a total of +50,000 timesteps. + +If you wish to run totally different simulations, one after the other, +the "clear"_clear.html command can be used in between them to +re-initialize LAMMPS. For example, this script + +units lj +atom_style atomic +read_data data.lj +run 10000 +clear +units lj +atom_style atomic +read_data data.lj.new +run 10000 :pre + +would run 2 independent simulations, one after the other. + +For large numbers of independent simulations, you can use +"variables"_variable.html and the "next"_next.html and +"jump"_jump.html commands to loop over the same input script +multiple times with different settings. For example, this +script, named in.polymer + +variable d index run1 run2 run3 run4 run5 run6 run7 run8 +shell cd $d +read_data data.polymer +run 10000 +shell cd .. +clear +next d +jump in.polymer :pre + +would run 8 simulations in different directories, using a data.polymer +file in each directory. The same concept could be used to run the +same system at 8 different temperatures, using a temperature variable +and storing the output in different log and dump files, for example + +variable a loop 8 +variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15 +log log.$a +read data.polymer +velocity all create $t 352839 +fix 1 all nvt $t $t 100.0 +dump 1 all atom 1000 dump.$a +run 100000 +clear +next t +next a +jump in.polymer :pre + +All of the above examples work whether you are running on 1 or +multiple processors, but assumed you are running LAMMPS on a single +partition of processors. LAMMPS can be run on multiple partitions via +the "-partition" command-line switch as described in "this +section"_Section_start.html#start_6 of the manual. + +In the last 2 examples, if LAMMPS were run on 3 partitions, the same +scripts could be used if the "index" and "loop" variables were +replaced with {universe}-style variables, as described in the +"variable"_variable.html command. Also, the "next t" and "next a" +commands would need to be replaced with a single "next a t" command. +With these modifications, the 8 simulations of each script would run +on the 3 partitions one after the other until all were finished. +Initially, 3 simulations would be started simultaneously, one on each +partition. When one finished, that partition would then start +the 4th simulation, and so forth, until all 8 were completed. diff --git a/doc/src/Howto_nemd.txt b/doc/src/Howto_nemd.txt new file mode 100644 index 0000000000..efb3a5cd73 --- /dev/null +++ b/doc/src/Howto_nemd.txt @@ -0,0 +1,48 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +NEMD simulations :h3 + +Non-equilibrium molecular dynamics or NEMD simulations are typically +used to measure a fluid's rheological properties such as viscosity. +In LAMMPS, such simulations can be performed by first setting up a +non-orthogonal simulation box (see the preceding Howto section). + +A shear strain can be applied to the simulation box at a desired +strain rate by using the "fix deform"_fix_deform.html command. The +"fix nvt/sllod"_fix_nvt_sllod.html command can be used to thermostat +the sheared fluid and integrate the SLLOD equations of motion for the +system. Fix nvt/sllod uses "compute +temp/deform"_compute_temp_deform.html to compute a thermal temperature +by subtracting out the streaming velocity of the shearing atoms. The +velocity profile or other properties of the fluid can be monitored via +the "fix ave/chunk"_fix_ave_chunk.html command. + +As discussed in the previous section on non-orthogonal simulation +boxes, the amount of tilt or skew that can be applied is limited by +LAMMPS for computational efficiency to be 1/2 of the parallel box +length. However, "fix deform"_fix_deform.html can continuously strain +a box by an arbitrary amount. As discussed in the "fix +deform"_fix_deform.html command, when the tilt value reaches a limit, +the box is flipped to the opposite limit which is an equivalent tiling +of periodic space. The strain rate can then continue to change as +before. In a long NEMD simulation these box re-shaping events may +occur many times. + +In a NEMD simulation, the "remap" option of "fix +deform"_fix_deform.html should be set to "remap v", since that is what +"fix nvt/sllod"_fix_nvt_sllod.html assumes to generate a velocity +profile consistent with the applied shear strain rate. + +An alternative method for calculating viscosities is provided via the +"fix viscosity"_fix_viscosity.html command. + +NEMD simulations can also be used to measure transport properties of a fluid +through a pore or channel. Simulations of steady-state flow can be performed +using the "fix flow/gauss"_fix_flow_gauss.html command. diff --git a/doc/src/Howto_output.txt b/doc/src/Howto_output.txt new file mode 100644 index 0000000000..ed2a78ee19 --- /dev/null +++ b/doc/src/Howto_output.txt @@ -0,0 +1,307 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Output from LAMMPS (thermo, dumps, computes, fixes, variables) :h3 + +There are four basic kinds of LAMMPS output: + +"Thermodynamic output"_thermo_style.html, which is a list +of quantities printed every few timesteps to the screen and logfile. :ulb,l + +"Dump files"_dump.html, which contain snapshots of atoms and various +per-atom values and are written at a specified frequency. :l + +Certain fixes can output user-specified quantities to files: "fix +ave/time"_fix_ave_time.html for time averaging, "fix +ave/chunk"_fix_ave_chunk.html for spatial or other averaging, and "fix +print"_fix_print.html for single-line output of +"variables"_variable.html. Fix print can also output to the +screen. :l + +"Restart files"_restart.html. :l +:ule + +A simulation prints one set of thermodynamic output and (optionally) +restart files. It can generate any number of dump files and fix +output files, depending on what "dump"_dump.html and "fix"_fix.html +commands you specify. + +As discussed below, LAMMPS gives you a variety of ways to determine +what quantities are computed and printed when the thermodynamics, +dump, or fix commands listed above perform output. Throughout this +discussion, note that users can also "add their own computes and fixes +to LAMMPS"_Modify.html which can then generate values that can then be +output with these commands. + +The following sub-sections discuss different LAMMPS command related +to output and the kind of data they operate on and produce: + +"Global/per-atom/local data"_#global +"Scalar/vector/array data"_#scalar +"Thermodynamic output"_#thermo +"Dump file output"_#dump +"Fixes that write output files"_#fixoutput +"Computes that process output quantities"_#computeoutput +"Fixes that process output quantities"_#fixprocoutput +"Computes that generate values to output"_#compute +"Fixes that generate values to output"_#fix +"Variables that generate values to output"_#variable +"Summary table of output options and data flow between commands"_#table :ul + +Global/per-atom/local data :h4,link(global) + +Various output-related commands work with three different styles of +data: global, per-atom, or local. A global datum is one or more +system-wide values, e.g. the temperature of the system. A per-atom +datum is one or more values per atom, e.g. the kinetic energy of each +atom. Local datums are calculated by each processor based on the +atoms it owns, but there may be zero or more per atom, e.g. a list of +bond distances. + +Scalar/vector/array data :h4,link(scalar) + +Global, per-atom, and local datums can each come in three kinds: a +single scalar value, a vector of values, or a 2d array of values. The +doc page for a "compute" or "fix" or "variable" that generates data +will specify both the style and kind of data it produces, e.g. a +per-atom vector. + +When a quantity is accessed, as in many of the output commands +discussed below, it can be referenced via the following bracket +notation, where ID in this case is the ID of a compute. The leading +"c_" would be replaced by "f_" for a fix, or "v_" for a variable: + +c_ID | entire scalar, vector, or array +c_ID\[I\] | one element of vector, one column of array +c_ID\[I\]\[J\] | one element of array :tb(s=|) + +In other words, using one bracket reduces the dimension of the data +once (vector -> scalar, array -> vector). Using two brackets reduces +the dimension twice (array -> scalar). Thus a command that uses +scalar values as input can typically also process elements of a vector +or array. + +Thermodynamic output :h4,link(thermo) + +The frequency and format of thermodynamic output is set by the +"thermo"_thermo.html, "thermo_style"_thermo_style.html, and +"thermo_modify"_thermo_modify.html commands. The +"thermo_style"_thermo_style.html command also specifies what values +are calculated and written out. Pre-defined keywords can be specified +(e.g. press, etotal, etc). Three additional kinds of keywords can +also be specified (c_ID, f_ID, v_name), where a "compute"_compute.html +or "fix"_fix.html or "variable"_variable.html provides the value to be +output. In each case, the compute, fix, or variable must generate +global values for input to the "thermo_style custom"_dump.html +command. + +Note that thermodynamic output values can be "extensive" or +"intensive". The former scale with the number of atoms in the system +(e.g. total energy), the latter do not (e.g. temperature). The +setting for "thermo_modify norm"_thermo_modify.html determines whether +extensive quantities are normalized or not. Computes and fixes +produce either extensive or intensive values; see their individual doc +pages for details. "Equal-style variables"_variable.html produce only +intensive values; you can include a division by "natoms" in the +formula if desired, to make an extensive calculation produce an +intensive result. + +Dump file output :h4,link(dump) + +Dump file output is specified by the "dump"_dump.html and +"dump_modify"_dump_modify.html commands. There are several +pre-defined formats (dump atom, dump xtc, etc). + +There is also a "dump custom"_dump.html format where the user +specifies what values are output with each atom. Pre-defined atom +attributes can be specified (id, x, fx, etc). Three additional kinds +of keywords can also be specified (c_ID, f_ID, v_name), where a +"compute"_compute.html or "fix"_fix.html or "variable"_variable.html +provides the values to be output. In each case, the compute, fix, or +variable must generate per-atom values for input to the "dump +custom"_dump.html command. + +There is also a "dump local"_dump.html format where the user specifies +what local values to output. A pre-defined index keyword can be +specified to enumerate the local values. Two additional kinds of +keywords can also be specified (c_ID, f_ID), where a +"compute"_compute.html or "fix"_fix.html or "variable"_variable.html +provides the values to be output. In each case, the compute or fix +must generate local values for input to the "dump local"_dump.html +command. + +Fixes that write output files :h4,link(fixoutput) + +Several fixes take various quantities as input and can write output +files: "fix ave/time"_fix_ave_time.html, "fix +ave/chunk"_fix_ave_chunk.html, "fix ave/histo"_fix_ave_histo.html, +"fix ave/correlate"_fix_ave_correlate.html, and "fix +print"_fix_print.html. + +The "fix ave/time"_fix_ave_time.html command enables direct output to +a file and/or time-averaging of global scalars or vectors. The user +specifies one or more quantities as input. These can be global +"compute"_compute.html values, global "fix"_fix.html values, or +"variables"_variable.html of any style except the atom style which +produces per-atom values. Since a variable can refer to keywords used +by the "thermo_style custom"_thermo_style.html command (like temp or +press) and individual per-atom values, a wide variety of quantities +can be time averaged and/or output in this way. If the inputs are one +or more scalar values, then the fix generate a global scalar or vector +of output. If the inputs are one or more vector values, then the fix +generates a global vector or array of output. The time-averaged +output of this fix can also be used as input to other output commands. + +The "fix ave/chunk"_fix_ave_chunk.html command enables direct output +to a file of chunk-averaged per-atom quantities like those output in +dump files. Chunks can represent spatial bins or other collections of +atoms, e.g. individual molecules. The per-atom quantities can be atom +density (mass or number) or atom attributes such as position, +velocity, force. They can also be per-atom quantities calculated by a +"compute"_compute.html, by a "fix"_fix.html, or by an atom-style +"variable"_variable.html. The chunk-averaged output of this fix can +also be used as input to other output commands. + +The "fix ave/histo"_fix_ave_histo.html command enables direct output +to a file of histogrammed quantities, which can be global or per-atom +or local quantities. The histogram output of this fix can also be +used as input to other output commands. + +The "fix ave/correlate"_fix_ave_correlate.html command enables direct +output to a file of time-correlated quantities, which can be global +values. The correlation matrix output of this fix can also be used as +input to other output commands. + +The "fix print"_fix_print.html command can generate a line of output +written to the screen and log file or to a separate file, periodically +during a running simulation. The line can contain one or more +"variable"_variable.html values for any style variable except the +vector or atom styles). As explained above, variables themselves can +contain references to global values generated by "thermodynamic +keywords"_thermo_style.html, "computes"_compute.html, +"fixes"_fix.html, or other "variables"_variable.html, or to per-atom +values for a specific atom. Thus the "fix print"_fix_print.html +command is a means to output a wide variety of quantities separate +from normal thermodynamic or dump file output. + +Computes that process output quantities :h4,link(computeoutput) + +The "compute reduce"_compute_reduce.html and "compute +reduce/region"_compute_reduce.html commands take one or more per-atom +or local vector quantities as inputs and "reduce" them (sum, min, max, +ave) to scalar quantities. These are produced as output values which +can be used as input to other output commands. + +The "compute slice"_compute_slice.html command take one or more global +vector or array quantities as inputs and extracts a subset of their +values to create a new vector or array. These are produced as output +values which can be used as input to other output commands. + +The "compute property/atom"_compute_property_atom.html command takes a +list of one or more pre-defined atom attributes (id, x, fx, etc) and +stores the values in a per-atom vector or array. These are produced +as output values which can be used as input to other output commands. +The list of atom attributes is the same as for the "dump +custom"_dump.html command. + +The "compute property/local"_compute_property_local.html command takes +a list of one or more pre-defined local attributes (bond info, angle +info, etc) and stores the values in a local vector or array. These +are produced as output values which can be used as input to other +output commands. + +Fixes that process output quantities :h4,link(fixprocoutput) + +The "fix vector"_fix_vector.html command can create global vectors as +output from global scalars as input, accumulating them one element at +a time. + +The "fix ave/atom"_fix_ave_atom.html command performs time-averaging +of per-atom vectors. The per-atom quantities can be atom attributes +such as position, velocity, force. They can also be per-atom +quantities calculated by a "compute"_compute.html, by a +"fix"_fix.html, or by an atom-style "variable"_variable.html. The +time-averaged per-atom output of this fix can be used as input to +other output commands. + +The "fix store/state"_fix_store_state.html command can archive one or +more per-atom attributes at a particular time, so that the old values +can be used in a future calculation or output. The list of atom +attributes is the same as for the "dump custom"_dump.html command, +including per-atom quantities calculated by a "compute"_compute.html, +by a "fix"_fix.html, or by an atom-style "variable"_variable.html. +The output of this fix can be used as input to other output commands. + +Computes that generate values to output :h4,link(compute) + +Every "compute"_compute.html in LAMMPS produces either global or +per-atom or local values. The values can be scalars or vectors or +arrays of data. These values can be output using the other commands +described in this section. The doc page for each compute command +describes what it produces. Computes that produce per-atom or local +values have the word "atom" or "local" in their style name. Computes +without the word "atom" or "local" produce global values. + +Fixes that generate values to output :h4,link(fix) + +Some "fixes"_fix.html in LAMMPS produces either global or per-atom or +local values which can be accessed by other commands. The values can +be scalars or vectors or arrays of data. These values can be output +using the other commands described in this section. The doc page for +each fix command tells whether it produces any output quantities and +describes them. + +Variables that generate values to output :h4,link(variable) + +"Variables"_variable.html defined in an input script can store one or +more strings. But equal-style, vector-style, and atom-style or +atomfile-style variables generate a global scalar value, global vector +or values, or a per-atom vector, respectively, when accessed. The +formulas used to define these variables can contain references to the +thermodynamic keywords and to global and per-atom data generated by +computes, fixes, and other variables. The values generated by +variables can be used as input to and thus output by the other +commands described in this section. + +Summary table of output options and data flow between commands :h4,link(table) + +This table summarizes the various commands that can be used for +generating output from LAMMPS. Each command produces output data of +some kind and/or writes data to a file. Most of the commands can take +data from other commands as input. Thus you can link many of these +commands together in pipeline form, where data produced by one command +is used as input to another command and eventually written to the +screen or to a file. Note that to hook two commands together the +output and input data types must match, e.g. global/per-atom/local +data and scalar/vector/array data. + +Also note that, as described above, when a command takes a scalar as +input, that could be an element of a vector or array. Likewise a +vector input could be a column of an array. + +Command: Input: Output: +"thermo_style custom"_thermo_style.html: global scalars: screen, log file: +"dump custom"_dump.html: per-atom vectors: dump file: +"dump local"_dump.html: local vectors: dump file: +"fix print"_fix_print.html: global scalar from variable: screen, file: +"print"_print.html: global scalar from variable: screen: +"computes"_compute.html: N/A: global/per-atom/local scalar/vector/array: +"fixes"_fix.html: N/A: global/per-atom/local scalar/vector/array: +"variables"_variable.html: global scalars and vectors, per-atom vectors: global scalar and vector, per-atom vector: +"compute reduce"_compute_reduce.html: per-atom/local vectors: global scalar/vector: +"compute slice"_compute_slice.html: global vectors/arrays: global vector/array: +"compute property/atom"_compute_property_atom.html: per-atom vectors: per-atom vector/array: +"compute property/local"_compute_property_local.html: local vectors: local vector/array: +"fix vector"_fix_vector.html: global scalars: global vector: +"fix ave/atom"_fix_ave_atom.html: per-atom vectors: per-atom vector/array: +"fix ave/time"_fix_ave_time.html: global scalars/vectors: global scalar/vector/array, file: +"fix ave/chunk"_fix_ave_chunk.html: per-atom vectors: global array, file: +"fix ave/histo"_fix_ave_histo.html: global/per-atom/local scalars and vectors: global array, file: +"fix ave/correlate"_fix_ave_correlate.html: global scalars: global array, file: +"fix store/state"_fix_store_state.html: per-atom vectors: per-atom vector/array :tb(c=3,s=:) diff --git a/doc/src/Howto_polarizable.txt b/doc/src/Howto_polarizable.txt new file mode 100644 index 0000000000..ec96ddc9a9 --- /dev/null +++ b/doc/src/Howto_polarizable.txt @@ -0,0 +1,81 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Polarizable models :h3 + +In polarizable force fields the charge distributions in molecules and +materials respond to their electrostatic environments. Polarizable +systems can be simulated in LAMMPS using three methods: + +the fluctuating charge method, implemented in the "QEQ"_fix_qeq.html +package, :ulb,l +the adiabatic core-shell method, implemented in the +"CORESHELL"_Howto_coreshell.html package, :l +the thermalized Drude dipole method, implemented in the +"USER-DRUDE"_Howto_drude.html package. :l,ule + +The fluctuating charge method calculates instantaneous charges on +interacting atoms based on the electronegativity equalization +principle. It is implemented in the "fix qeq"_fix_qeq.html which is +available in several variants. It is a relatively efficient technique +since no additional particles are introduced. This method allows for +charge transfer between molecules or atom groups. However, because the +charges are located at the interaction sites, off-plane components of +polarization cannot be represented in planar molecules or atom groups. + +The two other methods share the same basic idea: polarizable atoms are +split into one core atom and one satellite particle (called shell or +Drude particle) attached to it by a harmonic spring. Both atoms bear +a charge and they represent collectively an induced electric dipole. +These techniques are computationally more expensive than the QEq +method because of additional particles and bonds. These two +charge-on-spring methods differ in certain features, with the +core-shell model being normally used for ionic/crystalline materials, +whereas the so-called Drude model is normally used for molecular +systems and fluid states. + +The core-shell model is applicable to crystalline materials where the +high symmetry around each site leads to stable trajectories of the +core-shell pairs. However, bonded atoms in molecules can be so close +that a core would interact too strongly or even capture the Drude +particle of a neighbor. The Drude dipole model is relatively more +complex in order to remediate this and other issues. Specifically, the +Drude model includes specific thermostating of the core-Drude pairs +and short-range damping of the induced dipoles. + +The three polarization methods can be implemented through a +self-consistent calculation of charges or induced dipoles at each +timestep. In the fluctuating charge scheme this is done by the matrix +inversion method in "fix qeq/point"_fix_qeq.html, but for core-shell +or Drude-dipoles the relaxed-dipoles technique would require an slow +iterative procedure. These self-consistent solutions yield accurate +trajectories since the additional degrees of freedom representing +polarization are massless. An alternative is to attribute a mass to +the additional degrees of freedom and perform time integration using +an extended Lagrangian technique. For the fluctuating charge scheme +this is done by "fix qeq/dynamic"_fix_qeq.html, and for the +charge-on-spring models by the methods outlined in the next two +sections. The assignment of masses to the additional degrees of +freedom can lead to unphysical trajectories if care is not exerted in +choosing the parameters of the polarizable models and the simulation +conditions. + +In the core-shell model the vibration of the shells is kept faster +than the ionic vibrations to mimic the fast response of the +polarizable electrons. But in molecular systems thermalizing the +core-Drude pairs at temperatures comparable to the rest of the +simulation leads to several problems (kinetic energy transfer, too +short a timestep, etc.) In order to avoid these problems the relative +motion of the Drude particles with respect to their cores is kept +"cold" so the vibration of the core-Drude pairs is very slow, +approaching the self-consistent regime. In both models the +temperature is regulated using the velocities of the center of mass of +core+shell (or Drude) pairs, but in the Drude model the actual +relative core-Drude particle motion is thermostated separately as +well. diff --git a/doc/src/tutorial_pylammps.txt b/doc/src/Howto_pylammps.txt similarity index 95% rename from doc/src/tutorial_pylammps.txt rename to doc/src/Howto_pylammps.txt index 11cddb3cbf..abf7c52d05 100644 --- a/doc/src/tutorial_pylammps.txt +++ b/doc/src/Howto_pylammps.txt @@ -15,13 +15,19 @@ END_RST --> Overview :h4 -PyLammps is a Python wrapper class which can be created on its own or use an -existing lammps Python object. It creates a simpler, Python-like interface to -common LAMMPS functionality. Unlike the original flat C-types interface, it -exposes a discoverable API. It no longer requires knowledge of the underlying -C++ code implementation. Finally, the IPyLammps wrapper builds on top of -PyLammps and adds some additional features for IPython integration into IPython -notebooks, e.g. for embedded visualization output from dump/image. +PyLammps is a Python wrapper class which can be created on its own or +use an existing lammps Python object. It creates a simpler, +Python-like interface to common LAMMPS functionality, in contrast to +the lammps.py wrapper on the C-style LAMMPS library interface which is +written using Python ctypes. The lammps.py wrapper is discussed on +the "Python library"_Python_library.html doc page. + +Unlike the flat ctypes interface, PyLammps exposes a discoverable API. +It no longer requires knowledge of the underlying C++ code +implementation. Finally, the IPyLammps wrapper builds on top of +PyLammps and adds some additional features for IPython integration +into IPython notebooks, e.g. for embedded visualization output from +dump/image. Comparison of lammps and PyLammps interfaces :h5 @@ -40,7 +46,6 @@ communication with LAMMPS is hidden from API user shorter, more concise Python better IPython integration, designed for quick prototyping :ul - Quick Start :h4 System-wide Installation :h5 diff --git a/doc/src/Howto_replica.txt b/doc/src/Howto_replica.txt new file mode 100644 index 0000000000..b2f0faa209 --- /dev/null +++ b/doc/src/Howto_replica.txt @@ -0,0 +1,61 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Multi-replica simulations :h3 + +Several commands in LAMMPS run mutli-replica simulations, meaning +that multiple instances (replicas) of your simulation are run +simultaneously, with small amounts of data exchanged between replicas +periodically. + +These are the relevant commands: + +"neb"_neb.html for nudged elastic band calculations +"prd"_prd.html for parallel replica dynamics +"tad"_tad.html for temperature accelerated dynamics +"temper"_temper.html for parallel tempering +"fix pimd"_fix_pimd.html for path-integral molecular dynamics (PIMD) :ul + +NEB is a method for finding transition states and barrier energies. +PRD and TAD are methods for performing accelerated dynamics to find +and perform infrequent events. Parallel tempering or replica exchange +runs different replicas at a series of temperature to facilitate +rare-event sampling. + +These commands can only be used if LAMMPS was built with the REPLICA +package. See the "Making LAMMPS"_Section_start.html#start_3 section +for more info on packages. + +PIMD runs different replicas whose individual particles are coupled +together by springs to model a system or ring-polymers. + +This commands can only be used if LAMMPS was built with the USER-MISC +package. See the "Making LAMMPS"_Section_start.html#start_3 section +for more info on packages. + +In all these cases, you must run with one or more processors per +replica. The processors assigned to each replica are determined at +run-time by using the "-partition command-line +switch"_Section_start.html#start_6 to launch LAMMPS on multiple +partitions, which in this context are the same as replicas. E.g. +these commands: + +mpirun -np 16 lmp_linux -partition 8x2 -in in.temper +mpirun -np 8 lmp_linux -partition 8x1 -in in.neb :pre + +would each run 8 replicas, on either 16 or 8 processors. Note the use +of the "-in command-line switch"_Section_start.html#start_6 to specify +the input script which is required when running in multi-replica mode. + +Also note that with MPI installed on a machine (e.g. your desktop), +you can run on more (virtual) processors than you have physical +processors. Thus the above commands could be run on a +single-processor (or few-processor) desktop so that you can run +a multi-replica simulation on more replicas than you have +physical processors. diff --git a/doc/src/Howto_restart.txt b/doc/src/Howto_restart.txt new file mode 100644 index 0000000000..d2a993fcd3 --- /dev/null +++ b/doc/src/Howto_restart.txt @@ -0,0 +1,97 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Restart a simulation :h3 + +There are 3 ways to continue a long LAMMPS simulation. Multiple +"run"_run.html commands can be used in the same input script. Each +run will continue from where the previous run left off. Or binary +restart files can be saved to disk using the "restart"_restart.html +command. At a later time, these binary files can be read via a +"read_restart"_read_restart.html command in a new script. Or they can +be converted to text data files using the "-r command-line +switch"_Section_start.html#start_6 and read by a +"read_data"_read_data.html command in a new script. + +Here we give examples of 2 scripts that read either a binary restart +file or a converted data file and then issue a new run command to +continue where the previous run left off. They illustrate what +settings must be made in the new script. Details are discussed in the +documentation for the "read_restart"_read_restart.html and +"read_data"_read_data.html commands. + +Look at the {in.chain} input script provided in the {bench} directory +of the LAMMPS distribution to see the original script that these 2 +scripts are based on. If that script had the line + +restart 50 tmp.restart :pre + +added to it, it would produce 2 binary restart files (tmp.restart.50 +and tmp.restart.100) as it ran. + +This script could be used to read the 1st restart file and re-run the +last 50 timesteps: + +read_restart tmp.restart.50 :pre + +neighbor 0.4 bin +neigh_modify every 1 delay 1 :pre + +fix 1 all nve +fix 2 all langevin 1.0 1.0 10.0 904297 :pre + +timestep 0.012 :pre + +run 50 :pre + +Note that the following commands do not need to be repeated because +their settings are included in the restart file: {units, atom_style, +special_bonds, pair_style, bond_style}. However these commands do +need to be used, since their settings are not in the restart file: +{neighbor, fix, timestep}. + +If you actually use this script to perform a restarted run, you will +notice that the thermodynamic data match at step 50 (if you also put a +"thermo 50" command in the original script), but do not match at step +100. This is because the "fix langevin"_fix_langevin.html command +uses random numbers in a way that does not allow for perfect restarts. + +As an alternate approach, the restart file could be converted to a data +file as follows: + +lmp_g++ -r tmp.restart.50 tmp.restart.data :pre + +Then, this script could be used to re-run the last 50 steps: + +units lj +atom_style bond +pair_style lj/cut 1.12 +pair_modify shift yes +bond_style fene +special_bonds 0.0 1.0 1.0 :pre + +read_data tmp.restart.data :pre + +neighbor 0.4 bin +neigh_modify every 1 delay 1 :pre + +fix 1 all nve +fix 2 all langevin 1.0 1.0 10.0 904297 :pre + +timestep 0.012 :pre + +reset_timestep 50 +run 50 :pre + +Note that nearly all the settings specified in the original {in.chain} +script must be repeated, except the {pair_coeff} and {bond_coeff} +commands since the new data file lists the force field coefficients. +Also, the "reset_timestep"_reset_timestep.html command is used to tell +LAMMPS the current timestep. This value is stored in restart files, +but not in data files. diff --git a/doc/src/Howto_spc.txt b/doc/src/Howto_spc.txt new file mode 100644 index 0000000000..6a63c1f6a6 --- /dev/null +++ b/doc/src/Howto_spc.txt @@ -0,0 +1,54 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +SPC water model :h3 + +The SPC water model specifies a 3-site rigid water molecule with +charges and Lennard-Jones parameters assigned to each of the 3 atoms. +In LAMMPS the "fix shake"_fix_shake.html command can be used to hold +the two O-H bonds and the H-O-H angle rigid. A bond style of +{harmonic} and an angle style of {harmonic} or {charmm} should also be +used. + +These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid SPC model. + +O mass = 15.9994 +H mass = 1.008 +O charge = -0.820 +H charge = 0.410 +LJ epsilon of OO = 0.1553 +LJ sigma of OO = 3.166 +LJ epsilon, sigma of OH, HH = 0.0 +r0 of OH bond = 1.0 +theta of HOH angle = 109.47 :all(b),p + +Note that as originally proposed, the SPC model was run with a 9 +Angstrom cutoff for both LJ and Coulommbic terms. It can also be used +with long-range Coulombics (Ewald or PPPM in LAMMPS), without changing +any of the parameters above, though it becomes a different model in +that mode of usage. + +The SPC/E (extended) water model is the same, except +the partial charge assignments change: + +O charge = -0.8476 +H charge = 0.4238 :all(b),p + +See the "(Berendsen)"_#howto-Berendsen reference for more details on both +the SPC and SPC/E models. + +Wikipedia also has a nice article on "water +models"_http://en.wikipedia.org/wiki/Water_model. + +:line + +:link(howto-Berendsen) +[(Berendsen)] Berendsen, Grigera, Straatsma, J Phys Chem, 91, +6269-6271 (1987). diff --git a/doc/src/Howto_spherical.txt b/doc/src/Howto_spherical.txt new file mode 100644 index 0000000000..bc16ece2a3 --- /dev/null +++ b/doc/src/Howto_spherical.txt @@ -0,0 +1,243 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Finite-size spherical and aspherical particles :h3 + +Typical MD models treat atoms or particles as point masses. Sometimes +it is desirable to have a model with finite-size particles such as +spheroids or ellipsoids or generalized aspherical bodies. The +difference is that such particles have a moment of inertia, rotational +energy, and angular momentum. Rotation is induced by torque coming +from interactions with other particles. + +LAMMPS has several options for running simulations with these kinds of +particles. The following aspects are discussed in turn: + +atom styles +pair potentials +time integration +computes, thermodynamics, and dump output +rigid bodies composed of finite-size particles :ul + +Example input scripts for these kinds of models are in the body, +colloid, dipole, ellipse, line, peri, pour, and tri directories of the +"examples directory"_Examples.html in the LAMMPS distribution. + +Atom styles :h4 + +There are several "atom styles"_atom_style.html that allow for +definition of finite-size particles: sphere, dipole, ellipsoid, line, +tri, peri, and body. + +The sphere style defines particles that are spheriods and each +particle can have a unique diameter and mass (or density). These +particles store an angular velocity (omega) and can be acted upon by +torque. The "set" command can be used to modify the diameter and mass +of individual particles, after then are created. + +The dipole style does not actually define finite-size particles, but +is often used in conjunction with spherical particles, via a command +like + +atom_style hybrid sphere dipole :pre + +This is because when dipoles interact with each other, they induce +torques, and a particle must be finite-size (i.e. have a moment of +inertia) in order to respond and rotate. See the "atom_style +dipole"_atom_style.html command for details. The "set" command can be +used to modify the orientation and length of the dipole moment of +individual particles, after then are created. + +The ellipsoid style defines particles that are ellipsoids and thus can +be aspherical. Each particle has a shape, specified by 3 diameters, +and mass (or density). These particles store an angular momentum and +their orientation (quaternion), and can be acted upon by torque. They +do not store an angular velocity (omega), which can be in a different +direction than angular momentum, rather they compute it as needed. +The "set" command can be used to modify the diameter, orientation, and +mass of individual particles, after then are created. It also has a +brief explanation of what quaternions are. + +The line style defines line segment particles with two end points and +a mass (or density). They can be used in 2d simulations, and they can +be joined together to form rigid bodies which represent arbitrary +polygons. + +The tri style defines triangular particles with three corner points +and a mass (or density). They can be used in 3d simulations, and they +can be joined together to form rigid bodies which represent arbitrary +particles with a triangulated surface. + +The peri style is used with "Peridynamic models"_pair_peri.html and +defines particles as having a volume, that is used internally in the +"pair_style peri"_pair_peri.html potentials. + +The body style allows for definition of particles which can represent +complex entities, such as surface meshes of discrete points, +collections of sub-particles, deformable objects, etc. The body style +is discussed in more detail on the "Howto body"_Howto_body.html doc +page. + +Note that if one of these atom styles is used (or multiple styles via +the "atom_style hybrid"_atom_style.html command), not all particles in +the system are required to be finite-size or aspherical. + +For example, in the ellipsoid style, if the 3 shape parameters are set +to the same value, the particle will be a sphere rather than an +ellipsoid. If the 3 shape parameters are all set to 0.0 or if the +diameter is set to 0.0, it will be a point particle. In the line or +tri style, if the lineflag or triflag is specified as 0, then it +will be a point particle. + +Some of the pair styles used to compute pairwise interactions between +finite-size particles also compute the correct interaction with point +particles as well, e.g. the interaction between a point particle and a +finite-size particle or between two point particles. If necessary, +"pair_style hybrid"_pair_hybrid.html can be used to insure the correct +interactions are computed for the appropriate style of interactions. +Likewise, using groups to partition particles (ellipsoids versus +spheres versus point particles) will allow you to use the appropriate +time integrators and temperature computations for each class of +particles. See the doc pages for various commands for details. + +Also note that for "2d simulations"_dimension.html, atom styles sphere +and ellipsoid still use 3d particles, rather than as circular disks or +ellipses. This means they have the same moment of inertia as the 3d +object. When temperature is computed, the correct degrees of freedom +are used for rotation in a 2d versus 3d system. + +Pair potentials :h4 + +When a system with finite-size particles is defined, the particles +will only rotate and experience torque if the force field computes +such interactions. These are the various "pair +styles"_pair_style.html that generate torque: + +"pair_style gran/history"_pair_gran.html +"pair_style gran/hertzian"_pair_gran.html +"pair_style gran/no_history"_pair_gran.html +"pair_style dipole/cut"_pair_dipole.html +"pair_style gayberne"_pair_gayberne.html +"pair_style resquared"_pair_resquared.html +"pair_style brownian"_pair_brownian.html +"pair_style lubricate"_pair_lubricate.html +"pair_style line/lj"_pair_line_lj.html +"pair_style tri/lj"_pair_tri_lj.html +"pair_style body"_pair_body.html :ul + +The granular pair styles are used with spherical particles. The +dipole pair style is used with the dipole atom style, which could be +applied to spherical or ellipsoidal particles. The GayBerne and +REsquared potentials require ellipsoidal particles, though they will +also work if the 3 shape parameters are the same (a sphere). The +Brownian and lubrication potentials are used with spherical particles. +The line, tri, and body potentials are used with line segment, +triangular, and body particles respectively. + +Time integration :h4 + +There are several fixes that perform time integration on finite-size +spherical particles, meaning the integrators update the rotational +orientation and angular velocity or angular momentum of the particles: + +"fix nve/sphere"_fix_nve_sphere.html +"fix nvt/sphere"_fix_nvt_sphere.html +"fix npt/sphere"_fix_npt_sphere.html :ul + +Likewise, there are 3 fixes that perform time integration on +ellipsoidal particles: + +"fix nve/asphere"_fix_nve_asphere.html +"fix nvt/asphere"_fix_nvt_asphere.html +"fix npt/asphere"_fix_npt_asphere.html :ul + +The advantage of these fixes is that those which thermostat the +particles include the rotational degrees of freedom in the temperature +calculation and thermostatting. The "fix langevin"_fix_langevin +command can also be used with its {omgea} or {angmom} options to +thermostat the rotational degrees of freedom for spherical or +ellipsoidal particles. Other thermostatting fixes only operate on the +translational kinetic energy of finite-size particles. + +These fixes perform constant NVE time integration on line segment, +triangular, and body particles: + +"fix nve/line"_fix_nve_line.html +"fix nve/tri"_fix_nve_tri.html +"fix nve/body"_fix_nve_body.html :ul + +Note that for mixtures of point and finite-size particles, these +integration fixes can only be used with "groups"_group.html which +contain finite-size particles. + +Computes, thermodynamics, and dump output :h4 + +There are several computes that calculate the temperature or +rotational energy of spherical or ellipsoidal particles: + +"compute temp/sphere"_compute_temp_sphere.html +"compute temp/asphere"_compute_temp_asphere.html +"compute erotate/sphere"_compute_erotate_sphere.html +"compute erotate/asphere"_compute_erotate_asphere.html :ul + +These include rotational degrees of freedom in their computation. If +you wish the thermodynamic output of temperature or pressure to use +one of these computes (e.g. for a system entirely composed of +finite-size particles), then the compute can be defined and the +"thermo_modify"_thermo_modify.html command used. Note that by default +thermodynamic quantities will be calculated with a temperature that +only includes translational degrees of freedom. See the +"thermo_style"_thermo_style.html command for details. + +These commands can be used to output various attributes of finite-size +particles: + +"dump custom"_dump.html +"compute property/atom"_compute_property_atom.html +"dump local"_dump.html +"compute body/local"_compute_body_local.html :ul + +Attributes include the dipole moment, the angular velocity, the +angular momentum, the quaternion, the torque, the end-point and +corner-point coordinates (for line and tri particles), and +sub-particle attributes of body particles. + +Rigid bodies composed of finite-size particles :h4 + +The "fix rigid"_fix_rigid.html command treats a collection of +particles as a rigid body, computes its inertia tensor, sums the total +force and torque on the rigid body each timestep due to forces on its +constituent particles, and integrates the motion of the rigid body. + +If any of the constituent particles of a rigid body are finite-size +particles (spheres or ellipsoids or line segments or triangles), then +their contribution to the inertia tensor of the body is different than +if they were point particles. This means the rotational dynamics of +the rigid body will be different. Thus a model of a dimer is +different if the dimer consists of two point masses versus two +spheroids, even if the two particles have the same mass. Finite-size +particles that experience torque due to their interaction with other +particles will also impart that torque to a rigid body they are part +of. + +See the "fix rigid" command for example of complex rigid-body models +it is possible to define in LAMMPS. + +Note that the "fix shake"_fix_shake.html command can also be used to +treat 2, 3, or 4 particles as a rigid body, but it always assumes the +particles are point masses. + +Also note that body particles cannot be modeled with the "fix +rigid"_fix_rigid.html command. Body particles are treated by LAMMPS +as single particles, though they can store internal state, such as a +list of sub-particles. Individual body partices are typically treated +as rigid bodies, and their motion integrated with a command like "fix +nve/body"_fix_nve_body.html. Interactions between pairs of body +particles are computed via a command like "pair_style +body"_pair_body.html. diff --git a/doc/src/Howto_spins.txt b/doc/src/Howto_spins.txt new file mode 100644 index 0000000000..3cb9e480b2 --- /dev/null +++ b/doc/src/Howto_spins.txt @@ -0,0 +1,59 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Magnetic spins :h3 + +The magnetic spin simualtions are enabled by the SPIN package, whose +implementation is detailed in "Tranchida"_#Tranchida7. + +The model representents the simulation of atomic magnetic spins coupled +to lattice vibrations. The dynamics of those magnetic spins can be used +to simulate a broad range a phenomena related to magneto-elasticity, or +or to study the influence of defects on the magnetic properties of +materials. + +The magnetic spins are interacting with each others and with the +lattice via pair interactions. Typically, the magnetic exchange +interaction can be defined using the +"pair/spin/exchange"_pair_spin_exchange.html command. This exchange +applies a magnetic torque to a given spin, considering the orientation +of its neighboring spins and their relative distances. +It also applies a force on the atoms as a function of the spin +orientations and their associated inter-atomic distances. + +The command "fix precession/spin"_fix_precession_spin.html allows to +apply a constant magnetic torque on all the spins in the system. This +torque can be an external magnetic field (Zeeman interaction), or an +uniaxial magnetic anisotropy. + +A Langevin thermostat can be applied to those magnetic spins using +"fix langevin/spin"_fix_langevin_spin.html. Typically, this thermostat +can be coupled to another Langevin thermostat applied to the atoms +using "fix langevin"_fix_langevin.html in order to simulate +thermostated spin-lattice system. + +The magnetic Gilbert damping can also be applied using "fix +langevin/spin"_fix_langevin_spin.html. It allows to either dissipate +the thermal energy of the Langevin thermostat, or to perform a +relaxation of the magnetic configuration toward an equilibrium state. + +All the computed magnetic properties can be outputed by two main +commands. The first one is "compute spin"_compute_spin.html, that +enables to evaluate magnetic averaged quantities, such as the total +magnetization of the system along x, y, or z, the spin temperature, or +the magnetic energy. The second command is "compute +property/atom"_compute_property_atom.html. It enables to output all the +per atom magnetic quantities. Typically, the orientation of a given +magnetic spin, or the magnetic force acting on this spin. + +:line + +:link(Tranchida7) +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, +arXiv preprint arXiv:1801.10233, (2018). diff --git a/doc/src/Howto_temperature.txt b/doc/src/Howto_temperature.txt new file mode 100644 index 0000000000..3d1bd8a2d6 --- /dev/null +++ b/doc/src/Howto_temperature.txt @@ -0,0 +1,40 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Calcalate temperature :h3 + +Temperature is computed as kinetic energy divided by some number of +degrees of freedom (and the Boltzmann constant). Since kinetic energy +is a function of particle velocity, there is often a need to +distinguish between a particle's advection velocity (due to some +aggregate motion of particles) and its thermal velocity. The sum of +the two is the particle's total velocity, but the latter is often what +is wanted to compute a temperature. + +LAMMPS has several options for computing temperatures, any of which can be used in "thermostatting"_Howto_thermostat.html and "barostatting"_Howto_barostat.html. These "compute commands"_compute.html calculate temperature: + +"compute temp"_compute_temp.html +"compute temp/sphere"_compute_temp_sphere.html +"compute temp/asphere"_compute_temp_asphere.html +"compute temp/com"_compute_temp_com.html +"compute temp/deform"_compute_temp_deform.html +"compute temp/partial"_compute_temp_partial.html +"compute temp/profile"_compute_temp_profile.html +"compute temp/ramp"_compute_temp_ramp.html +"compute temp/region"_compute_temp_region.html :ul + +All but the first 3 calculate velocity biases directly (e.g. advection +velocities) that are removed when computing the thermal temperature. +"Compute temp/sphere"_compute_temp_sphere.html and "compute +temp/asphere"_compute_temp_asphere.html compute kinetic energy for +finite-size particles that includes rotational degrees of freedom. +They both allow for velocity biases indirectly, via an optional extra +argument which is another temperature compute that subtracts a velocity bias. +This allows the translational velocity of spherical or aspherical +particles to be adjusted in prescribed ways. diff --git a/doc/src/Howto_thermostat.txt b/doc/src/Howto_thermostat.txt new file mode 100644 index 0000000000..c1887d9738 --- /dev/null +++ b/doc/src/Howto_thermostat.txt @@ -0,0 +1,89 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Thermostats :h3 + +Thermostatting means controlling the temperature of particles in an MD +simulation. "Barostatting"_Howto_barostat.html means controlling the +pressure. Since the pressure includes a kinetic component due to +particle velocities, both these operations require calculation of the +temperature. Typically a target temperature (T) and/or pressure (P) +is specified by the user, and the thermostat or barostat attempts to +equilibrate the system to the requested T and/or P. + +Thermostatting in LAMMPS is performed by "fixes"_fix.html, or in one +case by a pair style. Several thermostatting fixes are available: +Nose-Hoover (nvt), Berendsen, CSVR, Langevin, and direct rescaling +(temp/rescale). Dissipative particle dynamics (DPD) thermostatting +can be invoked via the {dpd/tstat} pair style: + +"fix nvt"_fix_nh.html +"fix nvt/sphere"_fix_nvt_sphere.html +"fix nvt/asphere"_fix_nvt_asphere.html +"fix nvt/sllod"_fix_nvt_sllod.html +"fix temp/berendsen"_fix_temp_berendsen.html +"fix temp/csvr"_fix_temp_csvr.html +"fix langevin"_fix_langevin.html +"fix temp/rescale"_fix_temp_rescale.html +"pair_style dpd/tstat"_pair_dpd.html :ul + +"Fix nvt"_fix_nh.html only thermostats the translational velocity of +particles. "Fix nvt/sllod"_fix_nvt_sllod.html also does this, except +that it subtracts out a velocity bias due to a deforming box and +integrates the SLLOD equations of motion. See the "Howto +nemd"_Howto_nemd.html doc page for further details. "Fix +nvt/sphere"_fix_nvt_sphere.html and "fix +nvt/asphere"_fix_nvt_asphere.html thermostat not only translation +velocities but also rotational velocities for spherical and aspherical +particles. + +DPD thermostatting alters pairwise interactions in a manner analogous +to the per-particle thermostatting of "fix +langevin"_fix_langevin.html. + +Any of the thermostatting fixes can use "temperature +computes"_Howto_thermostat.html that remove bias which has two +effects. First, the current calculated temperature, which is compared +to the requested target temperature, is calculated with the velocity +bias removed. Second, the thermostat adjusts only the thermal +temperature component of the particle's velocities, which are the +velocities with the bias removed. The removed bias is then added back +to the adjusted velocities. See the doc pages for the individual +fixes and for the "fix_modify"_fix_modify.html command for +instructions on how to assign a temperature compute to a +thermostatting fix. For example, you can apply a thermostat to only +the x and z components of velocity by using it in conjunction with +"compute temp/partial"_compute_temp_partial.html. Of you could +thermostat only the thermal temperature of a streaming flow of +particles without affecting the streaming velocity, by using "compute +temp/profile"_compute_temp_profile.html. + +NOTE: Only the nvt fixes perform time integration, meaning they update +the velocities and positions of particles due to forces and velocities +respectively. The other thermostat fixes only adjust velocities; they +do NOT perform time integration updates. Thus they should be used in +conjunction with a constant NVE integration fix such as these: + +"fix nve"_fix_nve.html +"fix nve/sphere"_fix_nve_sphere.html +"fix nve/asphere"_fix_nve_asphere.html :ul + +Thermodynamic output, which can be setup via the +"thermo_style"_thermo_style.html command, often includes temperature +values. As explained on the doc page for the +"thermo_style"_thermo_style.html command, the default temperature is +setup by the thermo command itself. It is NOT the temperature +associated with any thermostatting fix you have defined or with any +compute you have defined that calculates a temperature. The doc pages +for the thermostatting fixes explain the ID of the temperature compute +they create. Thus if you want to view these temperatures, you need to +specify them explicitly via the "thermo_style +custom"_thermo_style.html command. Or you can use the +"thermo_modify"_thermo_modify.html command to re-define what +temperature compute is used for default thermodynamic output. diff --git a/doc/src/Howto_tip3p.txt b/doc/src/Howto_tip3p.txt new file mode 100644 index 0000000000..23ab604d1f --- /dev/null +++ b/doc/src/Howto_tip3p.txt @@ -0,0 +1,69 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +TIP3P water model :h3 + +The TIP3P water model as implemented in CHARMM +"(MacKerell)"_#howto-MacKerell specifies a 3-site rigid water molecule with +charges and Lennard-Jones parameters assigned to each of the 3 atoms. +In LAMMPS the "fix shake"_fix_shake.html command can be used to hold +the two O-H bonds and the H-O-H angle rigid. A bond style of +{harmonic} and an angle style of {harmonic} or {charmm} should also be +used. + +These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid TIP3P-CHARMM model with a +cutoff. The K values can be used if a flexible TIP3P model (without +fix shake) is desired. If the LJ epsilon and sigma for HH and OH are +set to 0.0, it corresponds to the original 1983 TIP3P model +"(Jorgensen)"_#Jorgensen1. + +O mass = 15.9994 +H mass = 1.008 +O charge = -0.834 +H charge = 0.417 +LJ epsilon of OO = 0.1521 +LJ sigma of OO = 3.1507 +LJ epsilon of HH = 0.0460 +LJ sigma of HH = 0.4000 +LJ epsilon of OH = 0.0836 +LJ sigma of OH = 1.7753 +K of OH bond = 450 +r0 of OH bond = 0.9572 +K of HOH angle = 55 +theta of HOH angle = 104.52 :all(b),p + +These are the parameters to use for TIP3P with a long-range Coulombic +solver (e.g. Ewald or PPPM in LAMMPS), see "(Price)"_#Price1 for +details: + +O mass = 15.9994 +H mass = 1.008 +O charge = -0.830 +H charge = 0.415 +LJ epsilon of OO = 0.102 +LJ sigma of OO = 3.188 +LJ epsilon, sigma of OH, HH = 0.0 +K of OH bond = 450 +r0 of OH bond = 0.9572 +K of HOH angle = 55 +theta of HOH angle = 104.52 :all(b),p + +Wikipedia also has a nice article on "water +models"_http://en.wikipedia.org/wiki/Water_model. + +:line + +:link(Jorgensen1) +[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem +Phys, 79, 926 (1983). + +:link(Price1) +[(Price)] Price and Brooks, J Chem Phys, 121, 10096 (2004). + diff --git a/doc/src/Howto_tip4p.txt b/doc/src/Howto_tip4p.txt new file mode 100644 index 0000000000..a471bdc918 --- /dev/null +++ b/doc/src/Howto_tip4p.txt @@ -0,0 +1,112 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +TIP4P water model :h3 + +The four-point TIP4P rigid water model extends the traditional +three-point TIP3P model by adding an additional site, usually +massless, where the charge associated with the oxygen atom is placed. +This site M is located at a fixed distance away from the oxygen along +the bisector of the HOH bond angle. A bond style of {harmonic} and an +angle style of {harmonic} or {charmm} should also be used. + +A TIP4P model is run with LAMMPS using either this command +for a cutoff model: + +"pair_style lj/cut/tip4p/cut"_pair_lj.html + +or these two commands for a long-range model: + +"pair_style lj/cut/tip4p/long"_pair_lj.html +"kspace_style pppm/tip4p"_kspace_style.html :ul + +For both models, the bond lengths and bond angles should be held fixed +using the "fix shake"_fix_shake.html command. + +These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid TIP4P model with a cutoff +"(Jorgensen)"_#Jorgensen1. Note that the OM distance is specified in +the "pair_style"_pair_style.html command, not as part of the pair +coefficients. + +O mass = 15.9994 +H mass = 1.008 +O charge = -1.040 +H charge = 0.520 +r0 of OH bond = 0.9572 +theta of HOH angle = 104.52 +OM distance = 0.15 +LJ epsilon of O-O = 0.1550 +LJ sigma of O-O = 3.1536 +LJ epsilon, sigma of OH, HH = 0.0 +Coulombic cutoff = 8.5 :all(b),p + +For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005); +http://dx.doi.org/10.1063/1.1931662) these values can be used: + +O mass = 15.9994 +H mass = 1.008 +O charge = -1.1794 +H charge = 0.5897 +r0 of OH bond = 0.9572 +theta of HOH angle = 104.52 +OM distance = 0.1577 +LJ epsilon of O-O = 0.21084 +LJ sigma of O-O = 3.1668 +LJ epsilon, sigma of OH, HH = 0.0 +Coulombic cutoff = 8.5 :all(b),p + +For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005); +http://dx.doi.org/10.1063/1.2121687), these values can be used: + +O mass = 15.9994 +H mass = 1.008 +O charge = -1.1128 +H charge = 0.5564 +r0 of OH bond = 0.9572 +theta of HOH angle = 104.52 +OM distance = 0.1546 +LJ epsilon of O-O = 0.1852 +LJ sigma of O-O = 3.1589 +LJ epsilon, sigma of OH, HH = 0.0 +Coulombic cutoff = 8.5 :all(b),p + +These are the parameters to use for TIP4P with a long-range Coulombic +solver (e.g. Ewald or PPPM in LAMMPS): + +O mass = 15.9994 +H mass = 1.008 +O charge = -1.0484 +H charge = 0.5242 +r0 of OH bond = 0.9572 +theta of HOH angle = 104.52 +OM distance = 0.1250 +LJ epsilon of O-O = 0.16275 +LJ sigma of O-O = 3.16435 +LJ epsilon, sigma of OH, HH = 0.0 :all(b),p + +Note that the when using the TIP4P pair style, the neighbor list +cutoff for Coulomb interactions is effectively extended by a distance +2 * (OM distance), to account for the offset distance of the +fictitious charges on O atoms in water molecules. Thus it is +typically best in an efficiency sense to use a LJ cutoff >= Coulomb +cutoff + 2*(OM distance), to shrink the size of the neighbor list. +This leads to slightly larger cost for the long-range calculation, so +you can test the trade-off for your model. The OM distance and the LJ +and Coulombic cutoffs are set in the "pair_style +lj/cut/tip4p/long"_pair_lj.html command. + +Wikipedia also has a nice article on "water +models"_http://en.wikipedia.org/wiki/Water_model. + +:line + +:link(Jorgensen1) +[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem +Phys, 79, 926 (1983). diff --git a/doc/src/Howto_triclinic.txt b/doc/src/Howto_triclinic.txt new file mode 100644 index 0000000000..10bcc5e9d1 --- /dev/null +++ b/doc/src/Howto_triclinic.txt @@ -0,0 +1,213 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +Triclinic (non-orthogonal) simulation boxes :h3 + +By default, LAMMPS uses an orthogonal simulation box to encompass the +particles. The "boundary"_boundary.html command sets the boundary +conditions of the box (periodic, non-periodic, etc). The orthogonal +box has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors +starting from the origin given by [a] = (xhi-xlo,0,0); [b] = +(0,yhi-ylo,0); [c] = (0,0,zhi-zlo). The 6 parameters +(xlo,xhi,ylo,yhi,zlo,zhi) are defined at the time the simulation box +is created, e.g. by the "create_box"_create_box.html or +"read_data"_read_data.html or "read_restart"_read_restart.html +commands. Additionally, LAMMPS defines box size parameters lx,ly,lz +where lx = xhi-xlo, and similarly in the y and z dimensions. The 6 +parameters, as well as lx,ly,lz, can be output via the "thermo_style +custom"_thermo_style.html command. + +LAMMPS also allows simulations to be performed in triclinic +(non-orthogonal) simulation boxes shaped as a parallelepiped with +triclinic symmetry. The parallelepiped has its "origin" at +(xlo,ylo,zlo) and is defined by 3 edge vectors starting from the +origin given by [a] = (xhi-xlo,0,0); [b] = (xy,yhi-ylo,0); [c] = +(xz,yz,zhi-zlo). {xy,xz,yz} can be 0.0 or positive or negative values +and are called "tilt factors" because they are the amount of +displacement applied to faces of an originally orthogonal box to +transform it into the parallelepiped. In LAMMPS the triclinic +simulation box edge vectors [a], [b], and [c] cannot be arbitrary +vectors. As indicated, [a] must lie on the positive x axis. [b] must +lie in the xy plane, with strictly positive y component. [c] may have +any orientation with strictly positive z component. The requirement +that [a], [b], and [c] have strictly positive x, y, and z components, +respectively, ensures that [a], [b], and [c] form a complete +right-handed basis. These restrictions impose no loss of generality, +since it is possible to rotate/invert any set of 3 crystal basis +vectors so that they conform to the restrictions. + +For example, assume that the 3 vectors [A],[B],[C] are the edge +vectors of a general parallelepiped, where there is no restriction on +[A],[B],[C] other than they form a complete right-handed basis i.e. +[A] x [B] . [C] > 0. The equivalent LAMMPS [a],[b],[c] are a linear +rotation of [A], [B], and [C] and can be computed as follows: + +:c,image(Eqs/transform.jpg) + +where A = | [A] | indicates the scalar length of [A]. The hat symbol (^) +indicates the corresponding unit vector. {beta} and {gamma} are angles +between the vectors described below. Note that by construction, +[a], [b], and [c] have strictly positive x, y, and z components, respectively. +If it should happen that +[A], [B], and [C] form a left-handed basis, then the above equations +are not valid for [c]. In this case, it is necessary +to first apply an inversion. This can be achieved +by interchanging two basis vectors or by changing the sign of one of them. + +For consistency, the same rotation/inversion applied to the basis vectors +must also be applied to atom positions, velocities, +and any other vector quantities. +This can be conveniently achieved by first converting to +fractional coordinates in the +old basis and then converting to distance coordinates in the new basis. +The transformation is given by the following equation: + +:c,image(Eqs/rotate.jpg) + +where {V} is the volume of the box, [X] is the original vector quantity and +[x] is the vector in the LAMMPS basis. + +There is no requirement that a triclinic box be periodic in any +dimension, though it typically should be in at least the 2nd dimension +of the tilt (y in xy) if you want to enforce a shift in periodic +boundary conditions across that boundary. Some commands that work +with triclinic boxes, e.g. the "fix deform"_fix_deform.html and "fix +npt"_fix_nh.html commands, require periodicity or non-shrink-wrap +boundary conditions in specific dimensions. See the command doc pages +for details. + +The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the +time the simulation box is created. This happens in one of 3 ways. +If the "create_box"_create_box.html command is used with a region of +style {prism}, then a triclinic box is setup. See the +"region"_region.html command for details. If the +"read_data"_read_data.html command is used to define the simulation +box, and the header of the data file contains a line with the "xy xz +yz" keyword, then a triclinic box is setup. See the +"read_data"_read_data.html command for details. Finally, if the +"read_restart"_read_restart.html command reads a restart file which +was written from a simulation using a triclinic box, then a triclinic +box will be setup for the restarted simulation. + +Note that you can define a triclinic box with all 3 tilt factors = +0.0, so that it is initially orthogonal. This is necessary if the box +will become non-orthogonal, e.g. due to the "fix npt"_fix_nh.html or +"fix deform"_fix_deform.html commands. Alternatively, you can use the +"change_box"_change_box.html command to convert a simulation box from +orthogonal to triclinic and vice versa. + +As with orthogonal boxes, LAMMPS defines triclinic box size parameters +lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions. +The 9 parameters, as well as lx,ly,lz, can be output via the +"thermo_style custom"_thermo_style.html command. + +To avoid extremely tilted boxes (which would be computationally +inefficient), LAMMPS normally requires that no tilt factor can skew +the box more than half the distance of the parallel box length, which +is the 1st dimension in the tilt factor (x for xz). This is required +both when the simulation box is created, e.g. via the +"create_box"_create_box.html or "read_data"_read_data.html commands, +as well as when the box shape changes dynamically during a simulation, +e.g. via the "fix deform"_fix_deform.html or "fix npt"_fix_nh.html +commands. + +For example, if xlo = 2 and xhi = 12, then the x box length is 10 and +the xy tilt factor must be between -5 and 5. Similarly, both xz and +yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is +not a limitation, since if the maximum tilt factor is 5 (as in this +example), then configurations with tilt = ..., -15, -5, 5, 15, 25, +... are geometrically all equivalent. If the box tilt exceeds this +limit during a dynamics run (e.g. via the "fix deform"_fix_deform.html +command), then the box is "flipped" to an equivalent shape with a tilt +factor within the bounds, so the run can continue. See the "fix +deform"_fix_deform.html doc page for further details. + +One exception to this rule is if the 1st dimension in the tilt +factor (x for xy) is non-periodic. In that case, the limits on the +tilt factor are not enforced, since flipping the box in that dimension +does not change the atom positions due to non-periodicity. In this +mode, if you tilt the system to extreme angles, the simulation will +simply become inefficient, due to the highly skewed simulation box. + +The limitation on not creating a simulation box with a tilt factor +skewing the box more than half the distance of the parallel box length +can be overridden via the "box"_box.html command. Setting the {tilt} +keyword to {large} allows any tilt factors to be specified. + +Box flips that may occur using the "fix deform"_fix_deform.html or +"fix npt"_fix_nh.html commands can be turned off using the {flip no} +option with either of the commands. + +Note that if a simulation box has a large tilt factor, LAMMPS will run +less efficiently, due to the large volume of communication needed to +acquire ghost atoms around a processor's irregular-shaped sub-domain. +For extreme values of tilt, LAMMPS may also lose atoms and generate an +error. + +Triclinic crystal structures are often defined using three lattice +constants {a}, {b}, and {c}, and three angles {alpha}, {beta} and +{gamma}. Note that in this nomenclature, the a, b, and c lattice +constants are the scalar lengths of the edge vectors [a], [b], and [c] +defined above. The relationship between these 6 quantities +(a,b,c,alpha,beta,gamma) and the LAMMPS box sizes (lx,ly,lz) = +(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows: + +:c,image(Eqs/box.jpg) + +The inverse relationship can be written as follows: + +:c,image(Eqs/box_inverse.jpg) + +The values of {a}, {b}, {c} , {alpha}, {beta} , and {gamma} can be printed +out or accessed by computes using the +"thermo_style custom"_thermo_style.html keywords +{cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta}, {cellgamma}, +respectively. + +As discussed on the "dump"_dump.html command doc page, when the BOX +BOUNDS for a snapshot is written to a dump file for a triclinic box, +an orthogonal bounding box which encloses the triclinic simulation box +is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic +box, formatted as follows: + +ITEM: BOX BOUNDS xy xz yz +xlo_bound xhi_bound xy +ylo_bound yhi_bound xz +zlo_bound zhi_bound yz :pre + +This bounding box is convenient for many visualization programs and is +calculated from the 9 triclinic box parameters +(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows: + +xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz) +xhi_bound = xhi + MAX(0.0,xy,xz,xy+xz) +ylo_bound = ylo + MIN(0.0,yz) +yhi_bound = yhi + MAX(0.0,yz) +zlo_bound = zlo +zhi_bound = zhi :pre + +These formulas can be inverted if you need to convert the bounding box +back into the triclinic box parameters, e.g. xlo = xlo_bound - +MIN(0.0,xy,xz,xy+xz). + +One use of triclinic simulation boxes is to model solid-state crystals +with triclinic symmetry. The "lattice"_lattice.html command can be +used with non-orthogonal basis vectors to define a lattice that will +tile a triclinic simulation box via the +"create_atoms"_create_atoms.html command. + +A second use is to run Parinello-Rahman dynamics via the "fix +npt"_fix_nh.html command, which will adjust the xy, xz, yz tilt +factors to compensate for off-diagonal components of the pressure +tensor. The analog for an "energy minimization"_minimize.html is +the "fix box/relax"_fix_box_relax.html command. + +A third use is to shear a bulk solid to study the response of the +material. The "fix deform"_fix_deform.html command can be used for +this purpose. It allows dynamic control of the xy, xz, yz tilt +factors as a simulation runs. This is discussed in the next section +on non-equilibrium MD (NEMD) simulations. diff --git a/doc/src/Howto_viscosity.txt b/doc/src/Howto_viscosity.txt new file mode 100644 index 0000000000..4760607fd5 --- /dev/null +++ b/doc/src/Howto_viscosity.txt @@ -0,0 +1,133 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Calculate viscosity :h3 + +The shear viscosity eta of a fluid can be measured in at least 5 ways +using various options in LAMMPS. See the examples/VISCOSITY directory +for scripts that implement the 5 methods discussed here for a simple +Lennard-Jones fluid model. Also, see the "Howto +kappa"_Howto_kappa.html doc page for an analogous discussion for +thermal conductivity. + +Eta is a measure of the propensity of a fluid to transmit momentum in +a direction perpendicular to the direction of velocity or momentum +flow. Alternatively it is the resistance the fluid has to being +sheared. It is given by + +J = -eta grad(Vstream) + +where J is the momentum flux in units of momentum per area per time. +and grad(Vstream) is the spatial gradient of the velocity of the fluid +moving in another direction, normal to the area through which the +momentum flows. Viscosity thus has units of pressure-time. + +The first method is to perform a non-equilibrium MD (NEMD) simulation +by shearing the simulation box via the "fix deform"_fix_deform.html +command, and using the "fix nvt/sllod"_fix_nvt_sllod.html command to +thermostat the fluid via the SLLOD equations of motion. +Alternatively, as a second method, one or more moving walls can be +used to shear the fluid in between them, again with some kind of +thermostat that modifies only the thermal (non-shearing) components of +velocity to prevent the fluid from heating up. + +In both cases, the velocity profile setup in the fluid by this +procedure can be monitored by the "fix ave/chunk"_fix_ave_chunk.html +command, which determines grad(Vstream) in the equation above. +E.g. the derivative in the y-direction of the Vx component of fluid +motion or grad(Vstream) = dVx/dy. The Pxy off-diagonal component of +the pressure or stress tensor, as calculated by the "compute +pressure"_compute_pressure.html command, can also be monitored, which +is the J term in the equation above. See the "Howto +nemd"_Howto_nemd.html doc page for details on NEMD simulations. + +The third method is to perform a reverse non-equilibrium MD simulation +using the "fix viscosity"_fix_viscosity.html command which implements +the rNEMD algorithm of Muller-Plathe. Momentum in one dimension is +swapped between atoms in two different layers of the simulation box in +a different dimension. This induces a velocity gradient which can be +monitored with the "fix ave/chunk"_fix_ave_chunk.html command. +The fix tallies the cumulative momentum transfer that it performs. +See the "fix viscosity"_fix_viscosity.html command for details. + +The fourth method is based on the Green-Kubo (GK) formula which +relates the ensemble average of the auto-correlation of the +stress/pressure tensor to eta. This can be done in a fully +equilibrated simulation which is in contrast to the two preceding +non-equilibrium methods, where momentum flows continuously through the +simulation box. + +Here is an example input script that calculates the viscosity of +liquid Ar via the GK formalism: + +# Sample LAMMPS input script for viscosity of liquid Ar :pre + +units real +variable T equal 86.4956 +variable V equal vol +variable dt equal 4.0 +variable p equal 400 # correlation length +variable s equal 5 # sample interval +variable d equal $p*$s # dump interval :pre + +# convert from LAMMPS real units to SI :pre + +variable kB equal 1.3806504e-23 # \[J/K/] Boltzmann +variable atm2Pa equal 101325.0 +variable A2m equal 1.0e-10 +variable fs2s equal 1.0e-15 +variable convert equal $\{atm2Pa\}*$\{atm2Pa\}*$\{fs2s\}*$\{A2m\}*$\{A2m\}*$\{A2m\} :pre + +# setup problem :pre + +dimension 3 +boundary p p p +lattice fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 +region box block 0 4 0 4 0 4 +create_box 1 box +create_atoms 1 box +mass 1 39.948 +pair_style lj/cut 13.0 +pair_coeff * * 0.2381 3.405 +timestep $\{dt\} +thermo $d :pre + +# equilibration and thermalization :pre + +velocity all create $T 102486 mom yes rot yes dist gaussian +fix NVT all nvt temp $T $T 10 drag 0.2 +run 8000 :pre + +# viscosity calculation, switch to NVE if desired :pre + +#unfix NVT +#fix NVE all nve :pre + +reset_timestep 0 +variable pxy equal pxy +variable pxz equal pxz +variable pyz equal pyz +fix SS all ave/correlate $s $p $d & + v_pxy v_pxz v_pyz type auto file S0St.dat ave running +variable scale equal $\{convert\}/($\{kB\}*$T)*$V*$s*$\{dt\} +variable v11 equal trap(f_SS\[3\])*$\{scale\} +variable v22 equal trap(f_SS\[4\])*$\{scale\} +variable v33 equal trap(f_SS\[5\])*$\{scale\} +thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33 +run 100000 +variable v equal (v_v11+v_v22+v_v33)/3.0 +variable ndens equal count(all)/vol +print "average viscosity: $v \[Pa.s\] @ $T K, $\{ndens\} /A^3" :pre + +The fifth method is related to the above Green-Kubo method, +but uses the Einstein formulation, analogous to the Einstein +mean-square-displacement formulation for self-diffusivity. The +time-integrated momentum fluxes play the role of Cartesian +coordinates, whose mean-square displacement increases linearly +with time at sufficiently long times. diff --git a/doc/src/Howto_viz.txt b/doc/src/Howto_viz.txt new file mode 100644 index 0000000000..53635442c8 --- /dev/null +++ b/doc/src/Howto_viz.txt @@ -0,0 +1,40 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Visualize LAMMPS snapshots :h3 + +LAMMPS itself does not do visualization, but snapshots from LAMMPS +simulations can be visualized (and analyzed) in a variety of ways. + +Mention dump image and dump movie. + +LAMMPS snapshots are created by the "dump"_dump.html command which can +create files in several formats. The native LAMMPS dump format is a +text file (see "dump atom" or "dump custom") which can be visualized +by several popular visualization tools. The "dump +image"_dump_image.html and "dump movie"_dump_image.html styles can +output internally rendered images and convert a sequence of them to a +movie during the MD run. Several programs included with LAMMPS as +auxiliary tools can convert between LAMMPS format files and other +formats. See the "Tools"_Tools.html doc page for details. + +A Python-based toolkit distributed by our group can read native LAMMPS +dump files, including custom dump files with additional columns of +user-specified atom information, and convert them to various formats +or pipe them into visualization software directly. See the "Pizza.py +WWW site"_pizza for details. Specifically, Pizza.py can convert +LAMMPS dump files into PDB, XYZ, "Ensight"_ensight, and VTK formats. +Pizza.py can pipe LAMMPS dump files directly into the Raster3d and +RasMol visualization programs. Pizza.py has tools that do interactive +3d OpenGL visualization and one that creates SVG images of dump file +snapshots. + +:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) +:link(ensight,http://www.ensight.com) +:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A) diff --git a/doc/src/Howto_walls.txt b/doc/src/Howto_walls.txt new file mode 100644 index 0000000000..7b0f8c0cfa --- /dev/null +++ b/doc/src/Howto_walls.txt @@ -0,0 +1,80 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Walls :h3 + +Walls in an MD simulation are typically used to bound particle motion, +i.e. to serve as a boundary condition. + +Walls in LAMMPS can be of rough (made of particles) or idealized +surfaces. Ideal walls can be smooth, generating forces only in the +normal direction, or frictional, generating forces also in the +tangential direction. + +Rough walls, built of particles, can be created in various ways. The +particles themselves can be generated like any other particle, via the +"lattice"_lattice.html and "create_atoms"_create_atoms.html commands, +or read in via the "read_data"_read_data.html command. + +Their motion can be constrained by many different commands, so that +they do not move at all, move together as a group at constant velocity +or in response to a net force acting on them, move in a prescribed +fashion (e.g. rotate around a point), etc. Note that if a time +integration fix like "fix nve"_fix_nve.html or "fix nvt"_fix_nh.html +is not used with the group that contains wall particles, their +positions and velocities will not be updated. + +"fix aveforce"_fix_aveforce.html - set force on particles to average value, so they move together +"fix setforce"_fix_setforce.html - set force on particles to a value, e.g. 0.0 +"fix freeze"_fix_freeze.html - freeze particles for use as granular walls +"fix nve/noforce"_fix_nve_noforce.html - advect particles by their velocity, but without force +"fix move"_fix_move.html - prescribe motion of particles by a linear velocity, oscillation, rotation, variable :ul + +The "fix move"_fix_move.html command offers the most generality, since +the motion of individual particles can be specified with +"variable"_variable.html formula which depends on time and/or the +particle position. + +For rough walls, it may be useful to turn off pairwise interactions +between wall particles via the "neigh_modify +exclude"_neigh_modify.html command. + +Rough walls can also be created by specifying frozen particles that do +not move and do not interact with mobile particles, and then tethering +other particles to the fixed particles, via a "bond"_bond_style.html. +The bonded particles do interact with other mobile particles. + +Idealized walls can be specified via several fix commands. "Fix +wall/gran"_fix_wall_gran.html creates frictional walls for use with +granular particles; all the other commands create smooth walls. + +"fix wall/reflect"_fix_wall_reflect.html - reflective flat walls +"fix wall/lj93"_fix_wall.html - flat walls, with Lennard-Jones 9/3 potential +"fix wall/lj126"_fix_wall.html - flat walls, with Lennard-Jones 12/6 potential +"fix wall/colloid"_fix_wall.html - flat walls, with "pair_style colloid"_pair_colloid.html potential +"fix wall/harmonic"_fix_wall.html - flat walls, with repulsive harmonic spring potential +"fix wall/region"_fix_wall_region.html - use region surface as wall +"fix wall/gran"_fix_wall_gran.html - flat or curved walls with "pair_style granular"_pair_gran.html potential :ul + +The {lj93}, {lj126}, {colloid}, and {harmonic} styles all allow the +flat walls to move with a constant velocity, or oscillate in time. +The "fix wall/region"_fix_wall_region.html command offers the most +generality, since the region surface is treated as a wall, and the +geometry of the region can be a simple primitive volume (e.g. a +sphere, or cube, or plane), or a complex volume made from the union +and intersection of primitive volumes. "Regions"_region.html can also +specify a volume "interior" or "exterior" to the specified primitive +shape or {union} or {intersection}. "Regions"_region.html can also be +"dynamic" meaning they move with constant velocity, oscillate, or +rotate. + +The only frictional idealized walls currently in LAMMPS are flat or +curved surfaces specified by the "fix wall/gran"_fix_wall_gran.html +command. At some point we plan to allow regoin surfaces to be used as +frictional walls, as well as triangulated surfaces. diff --git a/doc/src/Intro.txt b/doc/src/Intro.txt new file mode 100644 index 0000000000..a634799721 --- /dev/null +++ b/doc/src/Intro.txt @@ -0,0 +1,43 @@ +"Previous Section"_Manual.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Section_start.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands.html#comm) + +:line + +Introduction :h2 + +The "LAMMPS website"_lws is the best introduction to LAMMPS. + +Here is a list of webpages you can browse: + +"Brief intro and significant recent features"_lws +"List of features"_http://lammps.sandia.gov/features.html +"List of non-features"_http://lammps.sandia.gov/non_features.html +"Recent bug fixes and new features"_http://lammps.sandia.gov/bug.html :ul + +"Download info"_http://lammps.sandia.gov/download.html +"GitHub site"_https://github.com/lammps/lammps +"SourceForge site"_https://sourceforge.net/projects/lammps +"Open source and licensing info"_http://lammps.sandia.gov/open_source.html :ul + +"Glossary of MD terms relevant to LAMMPS"_http://lammps.sandia.gov/glossary.html +"LAMMPS highlights with images"_http://lammps.sandia.gov/pictures.html +"LAMMPS highlights with movies"_http://lammps.sandia.gov/movies.html +"Mail list"_http://lammps.sandia.gov/mail.html +"Workshops"_http://lammps.sandia.gov/workshops.html +"Tutorials"_http://lammps.sandia.gov/tutorials.html +"Developer guide"_http://lammps.sandia.gov/Developer.pdf :ul + +"Pre- and post-processing tools for LAMMPS"_http://lammps.sandia.gov/prepost.html +"Other software usable with LAMMPS"_http://lammps.sandia.gov/offsite.html +"Viz tools usable with LAMMPS"_http://lammps.sandia.gov/viz.html :ul + +"Benchmark performance"_http://lammps.sandia.gov/bench.html +"Publications that have cited LAMMPS"_http://lammps.sandia.gov/papers.html +"Authors of the LAMMPS code"_http://lammps.sandia.gov/authors.html +"History of LAMMPS development"_http://lammps.sandia.gov/history.html +"Funding for LAMMPS"_http://lammps.sandia.gov/funding.html :ul diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index 31b8a6a1d4..3fe5a25fbb 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,5 +1,5 @@ -< + LAMMPS Users Manual @@ -18,86 +18,46 @@ :line -LAMMPS Documentation :c,h1 -16 Jul 2018 version :c,h2 - -Version info: :h3 - -The LAMMPS "version" is the date when it was released, such as 1 May -2010. LAMMPS is updated continuously. Whenever we fix a bug or add a -feature, we release it immediately, and post a notice on "this page of -the WWW site"_bug. Every 2-4 months one of the incremental releases -is subjected to more thorough testing and labeled as a {stable} version. - -Each dated copy of LAMMPS contains all the -features and bug-fixes up to and including that version date. The -version date is printed to the screen and logfile every time you run -LAMMPS. It is also in the file src/version.h and in the LAMMPS -directory name created when you unpack a tarball, and at the top of -the first page of the manual (this page). +

      -If you browse the HTML doc pages on the LAMMPS WWW site, they always -describe the most current [development] version of LAMMPS. :ulb,l - -If you browse the HTML doc pages included in your tarball, they -describe the version you have. :l - -The "PDF file"_Manual.pdf on the WWW site or in the tarball is updated -about once per month. This is because it is large, and we don't want -it to be part of every patch. :l +LAMMPS Documentation :c,h1 +16 Mar 2018 version :c,h2 -There is also a "Developer.pdf"_Developer.pdf file in the doc -directory, which describes the internal structure and algorithms of -LAMMPS. :l -:ule +"What is a LAMMPS version?"_Manual_version.html LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS is a classical molecular dynamics simulation code designed to -run efficiently on parallel computers. It was developed at Sandia -National Laboratories, a US Department of Energy facility, with +run efficiently on parallel computers. It was developed originally at +Sandia National Laboratories, a US Department of Energy facility, with funding from the DOE. It is an open-source code, distributed freely under the terms of the GNU Public License (GPL). -The current core group of LAMMPS developers is at Sandia National -Labs and Temple University: +The "LAMMPS website"_lws has information about the code authors, a +"mail list"_http://lammps.sandia.gov where users can post questions, +and a "GitHub site"https://github.com/lammps/lammps where all LAMMPS +development is coordinated. + +:line -"Steve Plimpton"_sjp, sjplimp at sandia.gov :ulb,l -Aidan Thompson, athomps at sandia.gov :l -Stan Moore, stamoor at sandia.gov :l -"Axel Kohlmeyer"_ako, akohlmey at gmail.com :l -:ule +"PDF file"_Manual.pdf of the entire manual, generated by +"htmldoc"_http://freecode.com/projects/htmldoc -Past core developers include Paul Crozier, Ray Shan and Mark Stevens, -all at Sandia. The [LAMMPS home page] at -"http://lammps.sandia.gov"_http://lammps.sandia.gov has more information -about the code and its uses. Interaction with external LAMMPS developers, -bug reports and feature requests are mainly coordinated through the -"LAMMPS project on GitHub."_https://github.com/lammps/lammps -The lammps.org domain, currently hosting "public continuous integration -testing"_https://ci.lammps.org/job/lammps/ and "precompiled Linux -RPM and Windows installer packages"_http://packages.lammps.org is located -at Temple University and managed by Richard Berger, -richard.berger at temple.edu. +The content for this manual is part of the LAMMPS distribution. +You can build a local copy of the Manual as HTML pages or a PDF file, +by following the steps on the "this page"_Build_manual.html. -:link(bug,http://lammps.sandia.gov/bug.html) -:link(sjp,http://www.sandia.gov/~sjplimp) -:link(ako,http://goo.gl/1wk0) +There is also a "Developer.pdf"_Developer.pdf document which gives +a brief description of the basic code structure of LAMMPS. :line -The LAMMPS documentation is organized into the following sections. If -you find errors or omissions in this manual or have suggestions for -useful information to add, please send an email to the developers so -we can improve the LAMMPS documentation. +This manual is organized into the following sections. Once you are familiar with LAMMPS, you may want to bookmark "this -page"_Section_commands.html#comm at Section_commands.html#comm since -it gives quick access to documentation for all LAMMPS commands. - -"PDF file"_Manual.pdf of the entire manual, generated by -"htmldoc"_http://freecode.com/projects/htmldoc +page"_Commands.html since it gives quick access to a doc page for +every LAMMPS command. -"Introduction"_Section_intro.html :olb,l - 1.1 "What is LAMMPS"_intro_1 :ulb,b - 1.2 "LAMMPS features"_intro_2 :b - 1.3 "LAMMPS non-features"_intro_3 :b - 1.4 "Open source distribution"_intro_4 :b - 1.5 "Acknowledgments and citations"_intro_5 :ule,b +"Introduction"_Intro.html :olb,l "Getting started"_Section_start.html :l 2.1 "What's in the LAMMPS distribution"_start_1 :ulb,b 2.2 "Making LAMMPS"_start_2 :b @@ -168,50 +121,14 @@ END_RST --> 3.5 "Commands listed alphabetically"_cmd_5 :ule,b "Optional packages"_Packages.html :l "Accelerate performance"_Speed.html :l -"How-to discussions"_Section_howto.html :l - 6.1 "Restarting a simulation"_howto_1 :ulb,b - 6.2 "2d simulations"_howto_2 :b - 6.3 "CHARMM and AMBER force fields"_howto_3 :b - 6.4 "Running multiple simulations from one input script"_howto_4 :b - 6.5 "Multi-replica simulations"_howto_5 :b - 6.6 "Granular models"_howto_6 :b - 6.7 "TIP3P water model"_howto_7 :b - 6.8 "TIP4P water model"_howto_8 :b - 6.9 "SPC water model"_howto_9 :b - 6.10 "Coupling LAMMPS to other codes"_howto_10 :b - 6.11 "Visualizing LAMMPS snapshots"_howto_11 :b - 6.12 "Triclinic (non-orthogonal) simulation boxes"_howto_12 :b - 6.13 "NEMD simulations"_howto_13 :b - 6.14 "Finite-size spherical and aspherical particles"_howto_14 :b - 6.15 "Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_howto_15 :b - 6.16 "Thermostatting, barostatting, and compute temperature"_howto_16 :b - 6.17 "Walls"_howto_17 :b - 6.18 "Elastic constants"_howto_18 :b - 6.19 "Library interface to LAMMPS"_howto_19 :b - 6.20 "Calculating thermal conductivity"_howto_20 :b - 6.21 "Calculating viscosity"_howto_21 :b - 6.22 "Calculating a diffusion coefficient"_howto_22 :b - 6.23 "Using chunks to calculate system properties"_howto_23 :b - 6.24 "Setting parameters for pppm/disp"_howto_24 :b - 6.25 "Polarizable models"_howto_25 :b - 6.26 "Adiabatic core/shell model"_howto_26 :b - 6.27 "Drude induced dipoles"_howto_27 :ule,b +"How-to discussions"_Howto.html :l "Example scripts"_Examples.html :l "Auxiliary tools"_Tools.html :l "Modify & extend LAMMPS"_Modify.html :l "Use Python with LAMMPS"_Python.html :l "Errors"_Errors.html :l -"Future and history"_Section_history.html :l - 13.1 "Coming attractions"_hist_1 :ulb,b - 13.2 "Past versions"_hist_2 :ule,b :ole -:link(intro_1,Section_intro.html#intro_1) -:link(intro_2,Section_intro.html#intro_2) -:link(intro_3,Section_intro.html#intro_3) -:link(intro_4,Section_intro.html#intro_4) -:link(intro_5,Section_intro.html#intro_5) - :link(start_1,Section_start.html#start_1) :link(start_2,Section_start.html#start_2) :link(start_3,Section_start.html#start_3) @@ -227,36 +144,6 @@ END_RST --> :link(cmd_4,Section_commands.html#cmd_4) :link(cmd_5,Section_commands.html#cmd_5) -:link(howto_1,Section_howto.html#howto_1) -:link(howto_2,Section_howto.html#howto_2) -:link(howto_3,Section_howto.html#howto_3) -:link(howto_4,Section_howto.html#howto_4) -:link(howto_5,Section_howto.html#howto_5) -:link(howto_6,Section_howto.html#howto_6) -:link(howto_7,Section_howto.html#howto_7) -:link(howto_8,Section_howto.html#howto_8) -:link(howto_9,Section_howto.html#howto_9) -:link(howto_10,Section_howto.html#howto_10) -:link(howto_11,Section_howto.html#howto_11) -:link(howto_12,Section_howto.html#howto_12) -:link(howto_13,Section_howto.html#howto_13) -:link(howto_14,Section_howto.html#howto_14) -:link(howto_15,Section_howto.html#howto_15) -:link(howto_16,Section_howto.html#howto_16) -:link(howto_17,Section_howto.html#howto_17) -:link(howto_18,Section_howto.html#howto_18) -:link(howto_19,Section_howto.html#howto_19) -:link(howto_20,Section_howto.html#howto_20) -:link(howto_21,Section_howto.html#howto_21) -:link(howto_22,Section_howto.html#howto_22) -:link(howto_23,Section_howto.html#howto_23) -:link(howto_24,Section_howto.html#howto_24) -:link(howto_25,Section_howto.html#howto_25) -:link(howto_26,Section_howto.html#howto_26) -:link(howto_27,Section_howto.html#howto_27) - -:link(hist_1,Section_history.html#hist_1) -:link(hist_2,Section_history.html#hist_2) diff --git a/doc/src/Manual_version.txt b/doc/src/Manual_version.txt new file mode 100644 index 0000000000..db4301b6ea --- /dev/null +++ b/doc/src/Manual_version.txt @@ -0,0 +1,33 @@ +"Higher level section"_Manual.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +What does a LAMMPS version mean: :h3 + +The LAMMPS "version" is the date when it was released, such as 1 May +2014. LAMMPS is updated continuously. Whenever we fix a bug or add a +feature, we release it in the next {patch} release, which are +typically made every couple of weeks. Info on patch releases are on +"this website page"_http://lammps.sandia.gov/bug.html. Every few +months, the latest patch release is subjected to more thorough testing +and labeled as a {stable} version. + +Each version of LAMMPS contains all the features and bug-fixes up to +and including its version date. + +The version date is printed to the screen and logfile every time you +run LAMMPS. It is also in the file src/version.h and in the LAMMPS +directory name created when you unpack a tarball. And it is on the +first page of the "manual"_Manual.html. + +If you browse the HTML doc pages on the LAMMPS WWW site, they always +describe the most current patch release of LAMMPS. :ulb,l + +If you browse the HTML doc pages included in your tarball, they +describe the version you have, which may be older. :l,ule + diff --git a/doc/src/Modify_body.txt b/doc/src/Modify_body.txt index b1dc8130cd..a0627ebdda 100644 --- a/doc/src/Modify_body.txt +++ b/doc/src/Modify_body.txt @@ -14,10 +14,9 @@ Body particles can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, etc. -See "Section 6.14"_Section_howto.html#howto_14 of the manual for -an overview of using body particles and the "body"_body.html doc page -for details on the various body styles LAMMPS supports. New styles -can be created to add new kinds of body particles to LAMMPS. +See the "Howto body"_Howto_body.html doc page for an overview of using +body particles and the various body styles LAMMPS supports. New +styles can be created to add new kinds of body particles to LAMMPS. Body_nparticle.cpp is an example of a body particle that is treated as a rigid body containing N sub-particles. diff --git a/doc/src/Modify_contribute.txt b/doc/src/Modify_contribute.txt index 80795b5e20..9d47b08251 100644 --- a/doc/src/Modify_contribute.txt +++ b/doc/src/Modify_contribute.txt @@ -32,14 +32,14 @@ How quickly your contribution will be integrated depends largely on how much effort it will cause to integrate and test it, how much it requires changes to the core codebase, and of how much interest it is to the larger LAMMPS community. Please see below for a checklist of -typical requirements. Once you have prepared everything, see "this -tutorial"_tutorial_github.html for instructions on how to submit your -changes or new files through a GitHub pull request. If you prefer to -submit patches or full files, you should first make certain, that your -code works correctly with the latest patch-level version of LAMMPS and -contains all bugfixes from it. Then create a gzipped tar file of all -changed or added files or a corresponding patch file using 'diff -u' -or 'diff -c' and compress it with gzip. Please only use gzip +typical requirements. Once you have prepared everything, see the +"Howto github"_Howto_github.html doc page for instructions on how to +submit your changes or new files through a GitHub pull request. If you +prefer to submit patches or full files, you should first make certain, +that your code works correctly with the latest patch-level version of +LAMMPS and contains all bugfixes from it. Then create a gzipped tar +file of all changed or added files or a corresponding patch file using +'diff -u' or 'diff -c' and compress it with gzip. Please only use gzip compression, as this works well on all platforms. If the new features/files are broadly useful we may add them as core @@ -54,8 +54,9 @@ packages by typing "make package" in the LAMMPS src directory. Note that by providing us files to release, you are agreeing to make them open-source, i.e. we can release them under the terms of the GPL, -used as a license for the rest of LAMMPS. See "Section -1.4"_Section_intro.html#intro_4 for details. +used as a license for the rest of LAMMPS. See the "Open +source"_http://lammps.sandia.gov/open_source.html page on the LAMMPS +website for details. With user packages and files, all we are really providing (aside from the fame and fortune that accompanies having your name in the source diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index af18d097d9..543578054c 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -112,7 +112,7 @@ make machine :pre [Supporting info:] src/ASPHERE: filenames -> commands -"Section 6.14"_Section_howto.html#howto_14 +"Howto spherical"_Howto_spherical.html "pair_style gayberne"_pair_gayberne.html "pair_style resquared"_pair_resquared.html "doc/PDF/pair_gayberne_extra.pdf"_PDF/pair_gayberne_extra.pdf @@ -130,7 +130,8 @@ BODY package :link(BODY),h4 Body-style particles with internal structure. Computes, time-integration fixes, pair styles, as well as the body styles -themselves. See the "body"_body.html doc page for an overview. +themselves. See the "Howto body"_Howto_body.html doc page for an +overview. [Install or un-install:] @@ -143,7 +144,7 @@ make machine :pre [Supporting info:] src/BODY filenames -> commands -"body"_body.html +"Howto_body"_Howto_body.html "atom_style body"_atom_style.html "fix nve/body"_fix_nve_body.html "pair_style body"_pair_body.html @@ -258,9 +259,9 @@ Compute and pair styles that implement the adiabatic core/shell model for polarizability. The pair styles augment Born, Buckingham, and Lennard-Jones styles with core/shell capabilities. The "compute temp/cs"_compute_temp_cs.html command calculates the temperature of a -system with core/shell particles. See "Section -6.26"_Section_howto.html#howto_26 for an overview of how to use this -package. +system with core/shell particles. See the "Howto +coreshell"_Howto_coreshell.html doc page for an overview of how to use +this package. [Author:] Hendrik Heenen (Technical U of Munich). @@ -275,8 +276,8 @@ make machine :pre [Supporting info:] src/CORESHELL: filenames -> commands -"Section 6.26"_Section_howto.html#howto_26 -"Section 6.25"_Section_howto.html#howto_25 +"Howto coreshell"_Howto_coreshell.html +"Howto polarizable"_Howto_polarizable.html "compute temp/cs"_compute_temp_cs.html "pair_style born/coul/long/cs"_pair_cs.html "pair_style buck/coul/long/cs"_pair_cs.html @@ -418,7 +419,7 @@ make machine :pre [Supporting info:] src/GRANULAR: filenames -> commands -"Section 6.6"_Section_howto.html#howto_6, +"Howto granular"_Howto_granular.html "fix pour"_fix_pour.html "fix wall/gran"_fix_wall_gran.html "pair_style gran/hooke"_pair_gran.html @@ -625,9 +626,9 @@ make machine :pre src/KSPACE: filenames -> commands "kspace_style"_kspace_style.html "doc/PDF/kspace.pdf"_PDF/kspace.pdf -"Section 6.7"_Section_howto.html#howto_7 -"Section 6.8"_Section_howto.html#howto_8 -"Section 6.9"_Section_howto.html#howto_9 +"Howto tip3p"_Howto_tip3p.html +"Howto tip4p"_Howto_tip4p.html +"Howto spc"_Howto_spc.html "pair_style coul"_pair_coul.html Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 with "long" or "msm" in pair style name examples/peptide @@ -876,7 +877,7 @@ src/MOLECULE: filenames -> commands "improper_style"_improper_style.html "pair_style hbond/dreiding/lj"_pair_hbond_dreiding.html "pair_style lj/charmm/coul/charmm"_pair_charmm.html -"Section 6.3"_Section_howto.html#howto_3 +"Howto bioFF"_Howto_bioFF.html examples/cmap examples/dreiding examples/micelle, @@ -1114,10 +1115,10 @@ PYTHON package :link(PYTHON),h4 A "python"_python.html command which allow you to execute Python code from a LAMMPS input script. The code can be in a separate file or -embedded in the input script itself. See "Section -11.2"_Section_python.html#py_2 for an overview of using Python from -LAMMPS in this manner and the entire section for other ways to use -LAMMPS and Python together. +embedded in the input script itself. See the "Python +call"_Python_call.html doc page for an overview of using Python from +LAMMPS in this manner and all the "Python"_Python.html doc pages for +other ways to use LAMMPS and Python together. [Install or un-install:] @@ -1138,7 +1139,7 @@ to Makefile.lammps) if the LAMMPS build fails. [Supporting info:] src/PYTHON: filenames -> commands -"Section 11"_Section_python.html +"Python call"_Python.html lib/python/README examples/python :ul @@ -1228,8 +1229,8 @@ REPLICA package :link(REPLICA),h4 [Contents:] A collection of multi-replica methods which can be used when running -multiple LAMMPS simulations (replicas). See "Section -6.5"_Section_howto.html#howto_5 for an overview of how to run +multiple LAMMPS simulations (replicas). See the "Howto +replica"_Howto_replica.html doc page for an overview of how to run multi-replica simulations in LAMMPS. Methods in the package include nudged elastic band (NEB), parallel replica dynamics (PRD), temperature accelerated dynamics (TAD), parallel tempering, and a @@ -1248,7 +1249,7 @@ make machine :pre [Supporting info:] src/REPLICA: filenames -> commands -"Section 6.5"_Section_howto.html#howto_5 +"Howto replica"_Howto_replica.html "neb"_neb.html "prd"_prd.html "tad"_tad.html @@ -1798,10 +1799,10 @@ USER-DRUDE package :link(USER-DRUDE),h4 [Contents:] Fixes, pair styles, and a compute to simulate thermalized Drude -oscillators as a model of polarization. See "Section -6.27"_Section_howto.html#howto_27 for an overview of how to use the -package. There are auxiliary tools for using this package in -tools/drude. +oscillators as a model of polarization. See the "Howto +drude"_Howto_drude.html and "Howto drude2"_Howto_drude2.html doc pages +for an overview of how to use the package. There are auxiliary tools +for using this package in tools/drude. [Authors:] Alain Dequidt (U Blaise Pascal Clermont-Ferrand), Julien Devemy (CNRS), and Agilio Padua (U Blaise Pascal). @@ -1817,8 +1818,9 @@ make machine :pre [Supporting info:] src/USER-DRUDE: filenames -> commands -"Section 6.27"_Section_howto.html#howto_27 -"Section 6.25"_Section_howto.html#howto_25 +"Howto drude"_Howto_drude.html +"Howto drude2"_Howto_drude2.html +"Howto polarizable"_Howto_polarizable.html src/USER-DRUDE/README "fix drude"_fix_drude.html "fix drude/transform/*"_fix_drude_transform.html @@ -2158,7 +2160,7 @@ make machine :pre src/USER-MANIFOLD: filenames -> commands src/USER-MANIFOLD/README -"doc/manifolds"_manifolds.html +"Howto manifold"_Howto_manifold.html "fix manifoldforce"_fix_manifoldforce.html "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html "fix nvt/manifold/rattle"_fix_nvt_manifold_rattle.html diff --git a/doc/src/Packages_standard.txt b/doc/src/Packages_standard.txt index 095bf699a6..b2c06eebfd 100644 --- a/doc/src/Packages_standard.txt +++ b/doc/src/Packages_standard.txt @@ -31,15 +31,15 @@ int = internal library: provided with LAMMPS, but you may need to build it ext = external library: you will need to download and install it on your machine :ul Package, Description, Doc page, Example, Library -"ASPHERE"_Packages_details.html#ASPHERE, aspherical particle models, "Section 6.6.14"_Section_howto.html#howto_14, ellipse, - -"BODY"_Packages_details.html#BODY, body-style particles, "body"_body.html, body, - +"ASPHERE"_Packages_details.html#ASPHERE, aspherical particle models, "Howto spherical"_Howto_spherical.html, ellipse, - +"BODY"_Packages_details.html#BODY, body-style particles, "Howto body"_Howto_body.html, body, - "CLASS2"_Packages_details.html#CLASS2, class 2 force fields, "pair_style lj/class2"_pair_class2.html, -, - "COLLOID"_Packages_details.html#COLLOID, colloidal particles, "atom_style colloid"_atom_style.html, colloid, - "COMPRESS"_Packages_details.html#COMPRESS, I/O compression, "dump */gz"_dump.html, -, sys -"CORESHELL"_Packages_details.html#CORESHELL, adiabatic core/shell model, "Section 6.6.25"_Section_howto.html#howto_25, coreshell, - +"CORESHELL"_Packages_details.html#CORESHELL, adiabatic core/shell model, "Howto coreshell"_Howto_coreshell.html, coreshell, - "DIPOLE"_Packages_details.html#DIPOLE, point dipole particles, "pair_style dipole/cut"_pair_dipole.html, dipole, - "GPU"_Packages_details.html#GPU, GPU-enabled styles, "Section gpu"_Speed_gpu.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, int -"GRANULAR"_Packages_details.html#GRANULAR, granular systems, "Section 6.6.6"_Section_howto.html#howto_6, pour, - +"GRANULAR"_Packages_details.html#GRANULAR, granular systems, "Howto granular"_Howto_granular.html, pour, - "KIM"_Packages_details.html#KIM, OpenKIM wrapper, "pair_style kim"_pair_kim.html, kim, ext "KOKKOS"_Packages_details.html#KOKKOS, Kokkos-enabled styles, "Speed kokkos"_Speed_kokkos.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - "KSPACE"_Packages_details.html#KSPACE, long-range Coulombic solvers, "kspace_style"_kspace_style.html, peptide, - @@ -48,7 +48,7 @@ Package, Description, Doc page, Example, Library "MC"_Packages_details.html#MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, -, - "MEAM"_Packages_details.html#MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int "MISC"_Packages_details.html#MISC, miscellanous single-file commands, -, -, - -"MOLECULE"_Packages_details.html#MOLECULE, molecular system force fields, "Section 6.6.3"_Section_howto.html#howto_3, peptide, - +"MOLECULE"_Packages_details.html#MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, - "MPIIO"_Packages_details.html#MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, -, - "MSCG"_Packages_details.html#MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext "OPT"_Packages_details.html#OPT, optimized pair styles, "Speed opt"_Speed_opt.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - @@ -57,7 +57,7 @@ Package, Description, Doc page, Example, Library "PYTHON"_Packages_details.html#PYTHON, embed Python code in an input script, "python"_python.html, python, sys "QEQ"_Packages_details.html#QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, - "REAX"_Packages_details.html#REAX, ReaxFF potential (Fortran), "pair_style reax"_pair_reax.html, reax, int -"REPLICA"_Packages_details.html#REPLICA, multi-replica methods, "Section 6.6.5"_Section_howto.html#howto_5, tad, - +"REPLICA"_Packages_details.html#REPLICA, multi-replica methods, "Howto replica"_Howto_replica.html, tad, - "RIGID"_Packages_details.html#RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, - "SHOCK"_Packages_details.html#SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, - "SNAP"_Packages_details.html#SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, - diff --git a/doc/src/Packages_user.txt b/doc/src/Packages_user.txt index 73c7fdb65d..0465296980 100644 --- a/doc/src/Packages_user.txt +++ b/doc/src/Packages_user.txt @@ -46,7 +46,7 @@ Package, Description, Doc page, Example, Library "USER-COLVARS"_Packages_details.html#USER-COLVARS, collective variables library, "fix colvars"_fix_colvars.html, USER/colvars, int "USER-DIFFRACTION"_Packages_details.html#USER-DIFFRACTION, virtual x-ray and electron diffraction,"compute xrd"_compute_xrd.html, USER/diffraction, - "USER-DPD"_Packages_details.html#USER-DPD, reactive dissipative particle dynamics, src/USER-DPD/README, USER/dpd, - -"USER-DRUDE"_Packages_details.html#USER-DRUDE, Drude oscillators, "tutorial"_tutorial_drude.html, USER/drude, - +"USER-DRUDE"_Packages_details.html#USER-DRUDE, Drude oscillators, "Howto drude"_Howto_drude.html, USER/drude, - "USER-EFF"_Packages_details.html#USER-EFF, electron force field,"pair_style eff/cut"_pair_eff.html, USER/eff, - "USER-FEP"_Packages_details.html#USER-FEP, free energy perturbation,"compute fep"_compute_fep.html, USER/fep, - "USER-H5MD"_Packages_details.html#USER-H5MD, dump output via HDF5,"dump h5md"_dump_h5md.html, -, ext diff --git a/doc/src/Python_library.txt b/doc/src/Python_library.txt index 4babbb746c..db16c39a47 100644 --- a/doc/src/Python_library.txt +++ b/doc/src/Python_library.txt @@ -21,8 +21,8 @@ from lammps import lammps :pre These are the methods defined by the lammps module. If you look at the files src/library.cpp and src/library.h you will see they correspond one-to-one with calls you can make to the LAMMPS library -from a C++ or C or Fortran program, and which are described in -"Section 6.19"_Section_howto.html#howto_19 of the manual. +from a C++ or C or Fortran program, and which are described on the +"Howto library"_Howto_library.html doc page. The python/examples directory has Python scripts which show how Python can run LAMMPS, grab data, change it, and put it back into LAMMPS. @@ -165,11 +165,11 @@ subscripting. The one exception is that for a fix that calculates a global vector or array, a single double value from the vector or array is returned, indexed by I (vector) or I and J (array). I,J are zero-based indices. The I,J arguments can be left out if not needed. -See "Section 6.15"_Section_howto.html#howto_15 of the manual for a -discussion of global, per-atom, and local data, and of scalar, vector, -and array data types. See the doc pages for individual -"computes"_compute.html and "fixes"_fix.html for a description of what -they calculate and store. +See the "Howto output"_Howto_output.html doc page for a discussion of +global, per-atom, and local data, and of scalar, vector, and array +data types. See the doc pages for individual "computes"_compute.html +and "fixes"_fix.html for a description of what they calculate and +store. For extract_variable(), an "equal-style or atom-style variable"_variable.html is evaluated and its result returned. diff --git a/doc/src/Python_pylammps.txt b/doc/src/Python_pylammps.txt index ad5ed192ee..cdc8e2c086 100644 --- a/doc/src/Python_pylammps.txt +++ b/doc/src/Python_pylammps.txt @@ -10,5 +10,5 @@ Documentation"_ld - "LAMMPS Commands"_lc :c PyLammps interface :h3 PyLammps is a Python wrapper class which can be created on its own or -use an existing lammps Python object. It has its own "PyLammps -Tutorial"_tutorial_pylammps.html doc page. +use an existing lammps Python object. It has its own "Howto +pylammps"_Howto_pylammps.html doc page. diff --git a/doc/src/Section_history.txt b/doc/src/Section_history.txt deleted file mode 100644 index 6bbd1e4d99..0000000000 --- a/doc/src/Section_history.txt +++ /dev/null @@ -1,135 +0,0 @@ -"Previous Section"_Errors.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Manual.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -13. Future and history :h2 - -This section lists features we plan to add to LAMMPS, features of -previous versions of LAMMPS, and features of other parallel molecular -dynamics codes our group has distributed. - -13.1 "Coming attractions"_#hist_1 -13.2 "Past versions"_#hist_2 :all(b) - -:line -:line - -13.1 Coming attractions :h3,link(hist_1) - -As of summer 2016 we are using the "LAMMPS project issue tracker -on GitHub"_https://github.com/lammps/lammps/issues for keeping -track of suggested, planned or pending new features. This includes -discussions of how to best implement them, or why they would be -useful. Especially if a planned or proposed feature is non-trivial -to add, e.g. because it requires changes to some of the core -classes of LAMMPS, people planning to contribute a new feature to -LAMMS are encouraged to submit an issue about their planned -implementation this way in order to receive feedback from the -LAMMPS core developers. They will provide suggestions about -the validity of the proposed approach and possible improvements, -pitfalls or alternatives. - -Please see some of the closed issues for examples of how to -suggest code enhancements, submit proposed changes, or report -possible bugs and how they are resolved. - -As an alternative to using GitHub, you may e-mail the -"core developers"_http://lammps.sandia.gov/authors.html or send -an e-mail to the "LAMMPS Mail list"_http://lammps.sandia.gov/mail.html -if you want to have your suggestion added to the list. - -:line - -13.2 Past versions :h3,link(hist_2) - -LAMMPS development began in the mid 1990s under a cooperative research -& development agreement (CRADA) between two DOE labs (Sandia and LLNL) -and 3 companies (Cray, Bristol Myers Squibb, and Dupont). The goal was -to develop a large-scale parallel classical MD code; the coding effort -was led by Steve Plimpton at Sandia. - -After the CRADA ended, a final F77 version, LAMMPS 99, was -released. As development of LAMMPS continued at Sandia, its memory -management was converted to F90; a final F90 version was released as -LAMMPS 2001. - -The current LAMMPS is a rewrite in C++ and was first publicly released -as an open source code in 2004. It includes many new features beyond -those in LAMMPS 99 or 2001. It also includes features from older -parallel MD codes written at Sandia, namely ParaDyn, Warp, and -GranFlow (see below). - -In late 2006 we began merging new capabilities into LAMMPS that were -developed by Aidan Thompson at Sandia for his MD code GRASP, which has -a parallel framework similar to LAMMPS. Most notably, these have -included many-body potentials - Stillinger-Weber, Tersoff, ReaxFF - -and the associated charge-equilibration routines needed for ReaxFF. - -The "History link"_http://lammps.sandia.gov/history.html on the -LAMMPS WWW page gives a timeline of features added to the -C++ open-source version of LAMMPS over the last several years. - -These older codes are available for download from the "LAMMPS WWW -site"_lws, except for Warp & GranFlow which were primarily used -internally. A brief listing of their features is given here. - -LAMMPS 2001 - - F90 + MPI - dynamic memory - spatial-decomposition parallelism - NVE, NVT, NPT, NPH, rRESPA integrators - LJ and Coulombic pairwise force fields - all-atom, united-atom, bead-spring polymer force fields - CHARMM-compatible force fields - class 2 force fields - 3d/2d Ewald & PPPM - various force and temperature constraints - SHAKE - Hessian-free truncated-Newton minimizer - user-defined diagnostics :ul - -LAMMPS 99 - - F77 + MPI - static memory allocation - spatial-decomposition parallelism - most of the LAMMPS 2001 features with a few exceptions - no 2d Ewald & PPPM - molecular force fields are missing a few CHARMM terms - no SHAKE :ul - -Warp - - F90 + MPI - spatial-decomposition parallelism - embedded atom method (EAM) metal potentials + LJ - lattice and grain-boundary atom creation - NVE, NVT integrators - boundary conditions for applying shear stresses - temperature controls for actively sheared systems - per-atom energy and centro-symmetry computation and output :ul - -ParaDyn - - F77 + MPI - atom- and force-decomposition parallelism - embedded atom method (EAM) metal potentials - lattice atom creation - NVE, NVT, NPT integrators - all serial DYNAMO features for controls and constraints :ul - -GranFlow - - F90 + MPI - spatial-decomposition parallelism - frictional granular potentials - NVE integrator - boundary conditions for granular flow and packing and walls - particle insertion :ul diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt deleted file mode 100644 index f929d3bdab..0000000000 --- a/doc/src/Section_howto.txt +++ /dev/null @@ -1,3011 +0,0 @@ -"Previous Section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Examples.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -6. How-to discussions :h2 - -This section describes how to perform common tasks using LAMMPS. - -6.1 "Restarting a simulation"_#howto_1 -6.2 "2d simulations"_#howto_2 -6.3 "CHARMM, AMBER, and DREIDING force fields"_#howto_3 -6.4 "Running multiple simulations from one input script"_#howto_4 -6.5 "Multi-replica simulations"_#howto_5 -6.6 "Granular models"_#howto_6 -6.7 "TIP3P water model"_#howto_7 -6.8 "TIP4P water model"_#howto_8 -6.9 "SPC water model"_#howto_9 -6.10 "Coupling LAMMPS to other codes"_#howto_10 -6.11 "Visualizing LAMMPS snapshots"_#howto_11 -6.12 "Triclinic (non-orthogonal) simulation boxes"_#howto_12 -6.13 "NEMD simulations"_#howto_13 -6.14 "Finite-size spherical and aspherical particles"_#howto_14 -6.15 "Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_#howto_15 -6.16 "Thermostatting, barostatting and computing temperature"_#howto_16 -6.17 "Walls"_#howto_17 -6.18 "Elastic constants"_#howto_18 -6.19 "Library interface to LAMMPS"_#howto_19 -6.20 "Calculating thermal conductivity"_#howto_20 -6.21 "Calculating viscosity"_#howto_21 -6.22 "Calculating a diffusion coefficient"_#howto_22 -6.23 "Using chunks to calculate system properties"_#howto_23 -6.24 "Setting parameters for the kspace_style pppm/disp command"_#howto_24 -6.25 "Polarizable models"_#howto_25 -6.26 "Adiabatic core/shell model"_#howto_26 -6.27 "Drude induced dipoles"_#howto_27 -6.28 "Magnetic spins"_#howto_28 :all(b) - -The example input scripts included in the LAMMPS distribution and -highlighted on the "Examples"_Examples.html doc page also show how to -setup and run various kinds of simulations. - -:line -:line - -6.1 Restarting a simulation :link(howto_1),h4 - -There are 3 ways to continue a long LAMMPS simulation. Multiple -"run"_run.html commands can be used in the same input script. Each -run will continue from where the previous run left off. Or binary -restart files can be saved to disk using the "restart"_restart.html -command. At a later time, these binary files can be read via a -"read_restart"_read_restart.html command in a new script. Or they can -be converted to text data files using the "-r command-line -switch"_Section_start.html#start_6 and read by a -"read_data"_read_data.html command in a new script. - -Here we give examples of 2 scripts that read either a binary restart -file or a converted data file and then issue a new run command to -continue where the previous run left off. They illustrate what -settings must be made in the new script. Details are discussed in the -documentation for the "read_restart"_read_restart.html and -"read_data"_read_data.html commands. - -Look at the {in.chain} input script provided in the {bench} directory -of the LAMMPS distribution to see the original script that these 2 -scripts are based on. If that script had the line - -restart 50 tmp.restart :pre - -added to it, it would produce 2 binary restart files (tmp.restart.50 -and tmp.restart.100) as it ran. - -This script could be used to read the 1st restart file and re-run the -last 50 timesteps: - -read_restart tmp.restart.50 :pre - -neighbor 0.4 bin -neigh_modify every 1 delay 1 :pre - -fix 1 all nve -fix 2 all langevin 1.0 1.0 10.0 904297 :pre - -timestep 0.012 :pre - -run 50 :pre - -Note that the following commands do not need to be repeated because -their settings are included in the restart file: {units, atom_style, -special_bonds, pair_style, bond_style}. However these commands do -need to be used, since their settings are not in the restart file: -{neighbor, fix, timestep}. - -If you actually use this script to perform a restarted run, you will -notice that the thermodynamic data match at step 50 (if you also put a -"thermo 50" command in the original script), but do not match at step -100. This is because the "fix langevin"_fix_langevin.html command -uses random numbers in a way that does not allow for perfect restarts. - -As an alternate approach, the restart file could be converted to a data -file as follows: - -lmp_g++ -r tmp.restart.50 tmp.restart.data :pre - -Then, this script could be used to re-run the last 50 steps: - -units lj -atom_style bond -pair_style lj/cut 1.12 -pair_modify shift yes -bond_style fene -special_bonds 0.0 1.0 1.0 :pre - -read_data tmp.restart.data :pre - -neighbor 0.4 bin -neigh_modify every 1 delay 1 :pre - -fix 1 all nve -fix 2 all langevin 1.0 1.0 10.0 904297 :pre - -timestep 0.012 :pre - -reset_timestep 50 -run 50 :pre - -Note that nearly all the settings specified in the original {in.chain} -script must be repeated, except the {pair_coeff} and {bond_coeff} -commands since the new data file lists the force field coefficients. -Also, the "reset_timestep"_reset_timestep.html command is used to tell -LAMMPS the current timestep. This value is stored in restart files, -but not in data files. - -:line - -6.2 2d simulations :link(howto_2),h4 - -Use the "dimension"_dimension.html command to specify a 2d simulation. - -Make the simulation box periodic in z via the "boundary"_boundary.html -command. This is the default. - -If using the "create box"_create_box.html command to define a -simulation box, set the z dimensions narrow, but finite, so that the -create_atoms command will tile the 3d simulation box with a single z -plane of atoms - e.g. - -"create box"_create_box.html 1 -10 10 -10 10 -0.25 0.25 :pre - -If using the "read data"_read_data.html command to read in a file of -atom coordinates, set the "zlo zhi" values to be finite but narrow, -similar to the create_box command settings just described. For each -atom in the file, assign a z coordinate so it falls inside the -z-boundaries of the box - e.g. 0.0. - -Use the "fix enforce2d"_fix_enforce2d.html command as the last -defined fix to insure that the z-components of velocities and forces -are zeroed out every timestep. The reason to make it the last fix is -so that any forces induced by other fixes will be zeroed out. - -Many of the example input scripts included in the LAMMPS distribution -are for 2d models. - -NOTE: Some models in LAMMPS treat particles as finite-size spheres, as -opposed to point particles. See the "atom_style -sphere"_atom_style.html and "fix nve/sphere"_fix_nve_sphere.html -commands for details. By default, for 2d simulations, such particles -will still be modeled as 3d spheres, not 2d discs (circles), meaning -their moment of inertia will be that of a sphere. If you wish to -model them as 2d discs, see the "set density/disc"_set.html command -and the {disc} option for the "fix nve/sphere"_fix_nve_sphere.html, -"fix nvt/sphere"_fix_nvt_sphere.html, "fix -nph/sphere"_fix_nph_sphere.html, "fix npt/sphere"_fix_npt_sphere.html -commands. - -:line - -6.3 CHARMM, AMBER, and DREIDING force fields :link(howto_3),h4 - -A force field has 2 parts: the formulas that define it and the -coefficients used for a particular system. Here we only discuss -formulas implemented in LAMMPS that correspond to formulas commonly -used in the CHARMM, AMBER, and DREIDING force fields. Setting -coefficients is done in the input data file via the -"read_data"_read_data.html command or in the input script with -commands like "pair_coeff"_pair_coeff.html or -"bond_coeff"_bond_coeff.html. See the "Tools"_Tools.html doc page for -additional tools that can use CHARMM or AMBER to assign force field -coefficients and convert their output into LAMMPS input. - -See "(MacKerell)"_#howto-MacKerell for a description of the CHARMM force -field. See "(Cornell)"_#howto-Cornell for a description of the AMBER force -field. - -:link(charmm,http://www.scripps.edu/brooks) -:link(amber,http://amber.scripps.edu) - -These style choices compute force field formulas that are consistent -with common options in CHARMM or AMBER. See each command's -documentation for the formula it computes. - -"bond_style"_bond_harmonic.html harmonic -"angle_style"_angle_charmm.html charmm -"dihedral_style"_dihedral_charmm.html charmmfsh -"dihedral_style"_dihedral_charmm.html charmm -"pair_style"_pair_charmm.html lj/charmmfsw/coul/charmmfsh -"pair_style"_pair_charmm.html lj/charmmfsw/coul/long -"pair_style"_pair_charmm.html lj/charmm/coul/charmm -"pair_style"_pair_charmm.html lj/charmm/coul/charmm/implicit -"pair_style"_pair_charmm.html lj/charmm/coul/long :ul - -"special_bonds"_special_bonds.html charmm -"special_bonds"_special_bonds.html amber :ul - -NOTE: For CHARMM, newer {charmmfsw} or {charmmfsh} styles were -released in March 2017. We recommend they be used instead of the -older {charmm} styles. See discussion of the differences on the "pair -charmm"_pair_charmm.html and "dihedral charmm"_dihedral_charmm.html -doc pages. - -DREIDING is a generic force field developed by the "Goddard -group"_http://www.wag.caltech.edu at Caltech and is useful for -predicting structures and dynamics of organic, biological and -main-group inorganic molecules. The philosophy in DREIDING is to use -general force constants and geometry parameters based on simple -hybridization considerations, rather than individual force constants -and geometric parameters that depend on the particular combinations of -atoms involved in the bond, angle, or torsion terms. DREIDING has an -"explicit hydrogen bond term"_pair_hbond_dreiding.html to describe -interactions involving a hydrogen atom on very electronegative atoms -(N, O, F). - -See "(Mayo)"_#howto-Mayo for a description of the DREIDING force field - -These style choices compute force field formulas that are consistent -with the DREIDING force field. See each command's -documentation for the formula it computes. - -"bond_style"_bond_harmonic.html harmonic -"bond_style"_bond_morse.html morse :ul - -"angle_style"_angle_harmonic.html harmonic -"angle_style"_angle_cosine.html cosine -"angle_style"_angle_cosine_periodic.html cosine/periodic :ul - -"dihedral_style"_dihedral_charmm.html charmm -"improper_style"_improper_umbrella.html umbrella :ul - -"pair_style"_pair_buck.html buck -"pair_style"_pair_buck.html buck/coul/cut -"pair_style"_pair_buck.html buck/coul/long -"pair_style"_pair_lj.html lj/cut -"pair_style"_pair_lj.html lj/cut/coul/cut -"pair_style"_pair_lj.html lj/cut/coul/long :ul - -"pair_style"_pair_hbond_dreiding.html hbond/dreiding/lj -"pair_style"_pair_hbond_dreiding.html hbond/dreiding/morse :ul - -"special_bonds"_special_bonds.html dreiding :ul - -:line - -6.4 Running multiple simulations from one input script :link(howto_4),h4 - -This can be done in several ways. See the documentation for -individual commands for more details on how these examples work. - -If "multiple simulations" means continue a previous simulation for -more timesteps, then you simply use the "run"_run.html command -multiple times. For example, this script - -units lj -atom_style atomic -read_data data.lj -run 10000 -run 10000 -run 10000 -run 10000 -run 10000 :pre - -would run 5 successive simulations of the same system for a total of -50,000 timesteps. - -If you wish to run totally different simulations, one after the other, -the "clear"_clear.html command can be used in between them to -re-initialize LAMMPS. For example, this script - -units lj -atom_style atomic -read_data data.lj -run 10000 -clear -units lj -atom_style atomic -read_data data.lj.new -run 10000 :pre - -would run 2 independent simulations, one after the other. - -For large numbers of independent simulations, you can use -"variables"_variable.html and the "next"_next.html and -"jump"_jump.html commands to loop over the same input script -multiple times with different settings. For example, this -script, named in.polymer - -variable d index run1 run2 run3 run4 run5 run6 run7 run8 -shell cd $d -read_data data.polymer -run 10000 -shell cd .. -clear -next d -jump in.polymer :pre - -would run 8 simulations in different directories, using a data.polymer -file in each directory. The same concept could be used to run the -same system at 8 different temperatures, using a temperature variable -and storing the output in different log and dump files, for example - -variable a loop 8 -variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15 -log log.$a -read data.polymer -velocity all create $t 352839 -fix 1 all nvt $t $t 100.0 -dump 1 all atom 1000 dump.$a -run 100000 -clear -next t -next a -jump in.polymer :pre - -All of the above examples work whether you are running on 1 or -multiple processors, but assumed you are running LAMMPS on a single -partition of processors. LAMMPS can be run on multiple partitions via -the "-partition" command-line switch as described in "this -section"_Section_start.html#start_6 of the manual. - -In the last 2 examples, if LAMMPS were run on 3 partitions, the same -scripts could be used if the "index" and "loop" variables were -replaced with {universe}-style variables, as described in the -"variable"_variable.html command. Also, the "next t" and "next a" -commands would need to be replaced with a single "next a t" command. -With these modifications, the 8 simulations of each script would run -on the 3 partitions one after the other until all were finished. -Initially, 3 simulations would be started simultaneously, one on each -partition. When one finished, that partition would then start -the 4th simulation, and so forth, until all 8 were completed. - -:line - -6.5 Multi-replica simulations :link(howto_5),h4 - -Several commands in LAMMPS run mutli-replica simulations, meaning -that multiple instances (replicas) of your simulation are run -simultaneously, with small amounts of data exchanged between replicas -periodically. - -These are the relevant commands: - -"neb"_neb.html for nudged elastic band calculations -"prd"_prd.html for parallel replica dynamics -"tad"_tad.html for temperature accelerated dynamics -"temper"_temper.html for parallel tempering -"fix pimd"_fix_pimd.html for path-integral molecular dynamics (PIMD) :ul - -NEB is a method for finding transition states and barrier energies. -PRD and TAD are methods for performing accelerated dynamics to find -and perform infrequent events. Parallel tempering or replica exchange -runs different replicas at a series of temperature to facilitate -rare-event sampling. - -These commands can only be used if LAMMPS was built with the REPLICA -package. See the "Making LAMMPS"_Section_start.html#start_3 section -for more info on packages. - -PIMD runs different replicas whose individual particles are coupled -together by springs to model a system or ring-polymers. - -This commands can only be used if LAMMPS was built with the USER-MISC -package. See the "Making LAMMPS"_Section_start.html#start_3 section -for more info on packages. - -In all these cases, you must run with one or more processors per -replica. The processors assigned to each replica are determined at -run-time by using the "-partition command-line -switch"_Section_start.html#start_6 to launch LAMMPS on multiple -partitions, which in this context are the same as replicas. E.g. -these commands: - -mpirun -np 16 lmp_linux -partition 8x2 -in in.temper -mpirun -np 8 lmp_linux -partition 8x1 -in in.neb :pre - -would each run 8 replicas, on either 16 or 8 processors. Note the use -of the "-in command-line switch"_Section_start.html#start_6 to specify -the input script which is required when running in multi-replica mode. - -Also note that with MPI installed on a machine (e.g. your desktop), -you can run on more (virtual) processors than you have physical -processors. Thus the above commands could be run on a -single-processor (or few-processor) desktop so that you can run -a multi-replica simulation on more replicas than you have -physical processors. - -:line - -6.6 Granular models :link(howto_6),h4 - -Granular system are composed of spherical particles with a diameter, -as opposed to point particles. This means they have an angular -velocity and torque can be imparted to them to cause them to rotate. - -To run a simulation of a granular model, you will want to use -the following commands: - -"atom_style sphere"_atom_style.html -"fix nve/sphere"_fix_nve_sphere.html -"fix gravity"_fix_gravity.html :ul - -This compute - -"compute erotate/sphere"_compute_erotate_sphere.html :ul - -calculates rotational kinetic energy which can be "output with -thermodynamic info"_Section_howto.html#howto_15. - -Use one of these 3 pair potentials, which compute forces and torques -between interacting pairs of particles: - -"pair_style"_pair_style.html gran/history -"pair_style"_pair_style.html gran/no_history -"pair_style"_pair_style.html gran/hertzian :ul - -These commands implement fix options specific to granular systems: - -"fix freeze"_fix_freeze.html -"fix pour"_fix_pour.html -"fix viscous"_fix_viscous.html -"fix wall/gran"_fix_wall_gran.html :ul - -The fix style {freeze} zeroes both the force and torque of frozen -atoms, and should be used for granular system instead of the fix style -{setforce}. - -For computational efficiency, you can eliminate needless pairwise -computations between frozen atoms by using this command: - -"neigh_modify"_neigh_modify.html exclude :ul - -NOTE: By default, for 2d systems, granular particles are still modeled -as 3d spheres, not 2d discs (circles), meaning their moment of inertia -will be the same as in 3d. If you wish to model granular particles in -2d as 2d discs, see the note on this topic in "Section -6.2"_Section_howto.html#howto_2, where 2d simulations are discussed. - -:line - -6.7 TIP3P water model :link(howto_7),h4 - -The TIP3P water model as implemented in CHARMM -"(MacKerell)"_#howto-MacKerell specifies a 3-site rigid water molecule with -charges and Lennard-Jones parameters assigned to each of the 3 atoms. -In LAMMPS the "fix shake"_fix_shake.html command can be used to hold -the two O-H bonds and the H-O-H angle rigid. A bond style of -{harmonic} and an angle style of {harmonic} or {charmm} should also be -used. - -These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid TIP3P-CHARMM model with a -cutoff. The K values can be used if a flexible TIP3P model (without -fix shake) is desired. If the LJ epsilon and sigma for HH and OH are -set to 0.0, it corresponds to the original 1983 TIP3P model -"(Jorgensen)"_#Jorgensen1. - -O mass = 15.9994 -H mass = 1.008 -O charge = -0.834 -H charge = 0.417 -LJ epsilon of OO = 0.1521 -LJ sigma of OO = 3.1507 -LJ epsilon of HH = 0.0460 -LJ sigma of HH = 0.4000 -LJ epsilon of OH = 0.0836 -LJ sigma of OH = 1.7753 -K of OH bond = 450 -r0 of OH bond = 0.9572 -K of HOH angle = 55 -theta of HOH angle = 104.52 :all(b),p - -These are the parameters to use for TIP3P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS), see "(Price)"_#Price1 for -details: - -O mass = 15.9994 -H mass = 1.008 -O charge = -0.830 -H charge = 0.415 -LJ epsilon of OO = 0.102 -LJ sigma of OO = 3.188 -LJ epsilon, sigma of OH, HH = 0.0 -K of OH bond = 450 -r0 of OH bond = 0.9572 -K of HOH angle = 55 -theta of HOH angle = 104.52 :all(b),p - -Wikipedia also has a nice article on "water -models"_http://en.wikipedia.org/wiki/Water_model. - -:line - -6.8 TIP4P water model :link(howto_8),h4 - -The four-point TIP4P rigid water model extends the traditional -three-point TIP3P model by adding an additional site, usually -massless, where the charge associated with the oxygen atom is placed. -This site M is located at a fixed distance away from the oxygen along -the bisector of the HOH bond angle. A bond style of {harmonic} and an -angle style of {harmonic} or {charmm} should also be used. - -A TIP4P model is run with LAMMPS using either this command -for a cutoff model: - -"pair_style lj/cut/tip4p/cut"_pair_lj.html - -or these two commands for a long-range model: - -"pair_style lj/cut/tip4p/long"_pair_lj.html -"kspace_style pppm/tip4p"_kspace_style.html :ul - -For both models, the bond lengths and bond angles should be held fixed -using the "fix shake"_fix_shake.html command. - -These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid TIP4P model with a cutoff -"(Jorgensen)"_#Jorgensen1. Note that the OM distance is specified in -the "pair_style"_pair_style.html command, not as part of the pair -coefficients. - -O mass = 15.9994 -H mass = 1.008 -O charge = -1.040 -H charge = 0.520 -r0 of OH bond = 0.9572 -theta of HOH angle = 104.52 -OM distance = 0.15 -LJ epsilon of O-O = 0.1550 -LJ sigma of O-O = 3.1536 -LJ epsilon, sigma of OH, HH = 0.0 -Coulombic cutoff = 8.5 :all(b),p - -For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005); -http://dx.doi.org/10.1063/1.1931662) these values can be used: - -O mass = 15.9994 -H mass = 1.008 -O charge = -1.1794 -H charge = 0.5897 -r0 of OH bond = 0.9572 -theta of HOH angle = 104.52 -OM distance = 0.1577 -LJ epsilon of O-O = 0.21084 -LJ sigma of O-O = 3.1668 -LJ epsilon, sigma of OH, HH = 0.0 -Coulombic cutoff = 8.5 :all(b),p - -For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005); -http://dx.doi.org/10.1063/1.2121687), these values can be used: - -O mass = 15.9994 -H mass = 1.008 -O charge = -1.1128 -H charge = 0.5564 -r0 of OH bond = 0.9572 -theta of HOH angle = 104.52 -OM distance = 0.1546 -LJ epsilon of O-O = 0.1852 -LJ sigma of O-O = 3.1589 -LJ epsilon, sigma of OH, HH = 0.0 -Coulombic cutoff = 8.5 :all(b),p - -These are the parameters to use for TIP4P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS): - -O mass = 15.9994 -H mass = 1.008 -O charge = -1.0484 -H charge = 0.5242 -r0 of OH bond = 0.9572 -theta of HOH angle = 104.52 -OM distance = 0.1250 -LJ epsilon of O-O = 0.16275 -LJ sigma of O-O = 3.16435 -LJ epsilon, sigma of OH, HH = 0.0 :all(b),p - -Note that the when using the TIP4P pair style, the neighbor list -cutoff for Coulomb interactions is effectively extended by a distance -2 * (OM distance), to account for the offset distance of the -fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb -cutoff + 2*(OM distance), to shrink the size of the neighbor list. -This leads to slightly larger cost for the long-range calculation, so -you can test the trade-off for your model. The OM distance and the LJ -and Coulombic cutoffs are set in the "pair_style -lj/cut/tip4p/long"_pair_lj.html command. - -Wikipedia also has a nice article on "water -models"_http://en.wikipedia.org/wiki/Water_model. - -:line - -6.9 SPC water model :link(howto_9),h4 - -The SPC water model specifies a 3-site rigid water molecule with -charges and Lennard-Jones parameters assigned to each of the 3 atoms. -In LAMMPS the "fix shake"_fix_shake.html command can be used to hold -the two O-H bonds and the H-O-H angle rigid. A bond style of -{harmonic} and an angle style of {harmonic} or {charmm} should also be -used. - -These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid SPC model. - -O mass = 15.9994 -H mass = 1.008 -O charge = -0.820 -H charge = 0.410 -LJ epsilon of OO = 0.1553 -LJ sigma of OO = 3.166 -LJ epsilon, sigma of OH, HH = 0.0 -r0 of OH bond = 1.0 -theta of HOH angle = 109.47 :all(b),p - -Note that as originally proposed, the SPC model was run with a 9 -Angstrom cutoff for both LJ and Coulommbic terms. It can also be used -with long-range Coulombics (Ewald or PPPM in LAMMPS), without changing -any of the parameters above, though it becomes a different model in -that mode of usage. - -The SPC/E (extended) water model is the same, except -the partial charge assignments change: - -O charge = -0.8476 -H charge = 0.4238 :all(b),p - -See the "(Berendsen)"_#howto-Berendsen reference for more details on both -the SPC and SPC/E models. - -Wikipedia also has a nice article on "water -models"_http://en.wikipedia.org/wiki/Water_model. - -:line - -6.10 Coupling LAMMPS to other codes :link(howto_10),h4 - -LAMMPS is designed to allow it to be coupled to other codes. For -example, a quantum mechanics code might compute forces on a subset of -atoms and pass those forces to LAMMPS. Or a continuum finite element -(FE) simulation might use atom positions as boundary conditions on FE -nodal points, compute a FE solution, and return interpolated forces on -MD atoms. - -LAMMPS can be coupled to other codes in at least 3 ways. Each has -advantages and disadvantages, which you'll have to think about in the -context of your application. - -(1) Define a new "fix"_fix.html command that calls the other code. In -this scenario, LAMMPS is the driver code. During its timestepping, -the fix is invoked, and can make library calls to the other code, -which has been linked to LAMMPS as a library. This is the way the -"POEMS"_poems package that performs constrained rigid-body motion on -groups of atoms is hooked to LAMMPS. See the "fix -poems"_fix_poems.html command for more details. See the -"Modify"_Modify.html doc page for info on how to add a new fix to -LAMMPS. - -:link(poems,http://www.rpi.edu/~anderk5/lab) - -(2) Define a new LAMMPS command that calls the other code. This is -conceptually similar to method (1), but in this case LAMMPS and the -other code are on a more equal footing. Note that now the other code -is not called during the timestepping of a LAMMPS run, but between -runs. The LAMMPS input script can be used to alternate LAMMPS runs -with calls to the other code, invoked via the new command. The -"run"_run.html command facilitates this with its {every} option, which -makes it easy to run a few steps, invoke the command, run a few steps, -invoke the command, etc. - -In this scenario, the other code can be called as a library, as in -(1), or it could be a stand-alone code, invoked by a system() call -made by the command (assuming your parallel machine allows one or more -processors to start up another program). In the latter case the -stand-alone code could communicate with LAMMPS thru files that the -command writes and reads. - -See the "Modify"_Modify.html doc page for how to add a new command to -LAMMPS. - -(3) Use LAMMPS as a library called by another code. In this case the -other code is the driver and calls LAMMPS as needed. Or a wrapper -code could link and call both LAMMPS and another code as libraries. -Again, the "run"_run.html command has options that allow it to be -invoked with minimal overhead (no setup or clean-up) if you wish to do -multiple short runs, driven by another program. - -Examples of driver codes that call LAMMPS as a library are included in -the examples/COUPLE directory of the LAMMPS distribution; see -examples/COUPLE/README for more details: - -simple: simple driver programs in C++ and C which invoke LAMMPS as a -library :ulb,l - -lammps_quest: coupling of LAMMPS and "Quest"_quest, to run classical -MD with quantum forces calculated by a density functional code :l - -lammps_spparks: coupling of LAMMPS and "SPPARKS"_spparks, to couple -a kinetic Monte Carlo model for grain growth using MD to calculate -strain induced across grain boundaries :l -:ule - -:link(quest,http://dft.sandia.gov/Quest) -:link(spparks,http://www.sandia.gov/~sjplimp/spparks.html) - -"This section"_Section_start.html#start_5 of the documentation -describes how to build LAMMPS as a library. Once this is done, you -can interface with LAMMPS either via C++, C, Fortran, or Python (or -any other language that supports a vanilla C-like interface). For -example, from C++ you could create one (or more) "instances" of -LAMMPS, pass it an input script to process, or execute individual -commands, all by invoking the correct class methods in LAMMPS. From C -or Fortran you can make function calls to do the same things. See the -"Python"_Python.html doc page for a description of the Python wrapper -provided with LAMMPS that operates through the LAMMPS library -interface. - -The files src/library.cpp and library.h contain the C-style interface -to LAMMPS. See "Section 6.19"_Section_howto.html#howto_19 of the -manual for a description of the interface and how to extend it for -your needs. - -Note that the lammps_open() function that creates an instance of -LAMMPS takes an MPI communicator as an argument. This means that -instance of LAMMPS will run on the set of processors in the -communicator. Thus the calling code can run LAMMPS on all or a subset -of processors. For example, a wrapper script might decide to -alternate between LAMMPS and another code, allowing them both to run -on all the processors. Or it might allocate half the processors to -LAMMPS and half to the other code and run both codes simultaneously -before syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations. - -:line - -6.11 Visualizing LAMMPS snapshots :link(howto_11),h4 - -LAMMPS itself does not do visualization, but snapshots from LAMMPS -simulations can be visualized (and analyzed) in a variety of ways. - -LAMMPS snapshots are created by the "dump"_dump.html command which can -create files in several formats. The native LAMMPS dump format is a -text file (see "dump atom" or "dump custom") which can be visualized -by several popular visualization tools. The "dump -image"_dump_image.html and "dump movie"_dump_image.html styles can -output internally rendered images and convert a sequence of them to a -movie during the MD run. Several programs included with LAMMPS as -auxiliary tools can convert between LAMMPS format files and other -formats. See the "Tools"_Tools.html doc page for details. - -A Python-based toolkit distributed by our group can read native LAMMPS -dump files, including custom dump files with additional columns of -user-specified atom information, and convert them to various formats -or pipe them into visualization software directly. See the "Pizza.py -WWW site"_pizza for details. Specifically, Pizza.py can convert -LAMMPS dump files into PDB, XYZ, "Ensight"_ensight, and VTK formats. -Pizza.py can pipe LAMMPS dump files directly into the Raster3d and -RasMol visualization programs. Pizza.py has tools that do interactive -3d OpenGL visualization and one that creates SVG images of dump file -snapshots. - -:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) -:link(ensight,http://www.ensight.com) -:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A) - -:line - -6.12 Triclinic (non-orthogonal) simulation boxes :link(howto_12),h4 - -By default, LAMMPS uses an orthogonal simulation box to encompass the -particles. The "boundary"_boundary.html command sets the boundary -conditions of the box (periodic, non-periodic, etc). The orthogonal -box has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors -starting from the origin given by [a] = (xhi-xlo,0,0); [b] = -(0,yhi-ylo,0); [c] = (0,0,zhi-zlo). The 6 parameters -(xlo,xhi,ylo,yhi,zlo,zhi) are defined at the time the simulation box -is created, e.g. by the "create_box"_create_box.html or -"read_data"_read_data.html or "read_restart"_read_restart.html -commands. Additionally, LAMMPS defines box size parameters lx,ly,lz -where lx = xhi-xlo, and similarly in the y and z dimensions. The 6 -parameters, as well as lx,ly,lz, can be output via the "thermo_style -custom"_thermo_style.html command. - -LAMMPS also allows simulations to be performed in triclinic -(non-orthogonal) simulation boxes shaped as a parallelepiped with -triclinic symmetry. The parallelepiped has its "origin" at -(xlo,ylo,zlo) and is defined by 3 edge vectors starting from the -origin given by [a] = (xhi-xlo,0,0); [b] = (xy,yhi-ylo,0); [c] = -(xz,yz,zhi-zlo). {xy,xz,yz} can be 0.0 or positive or negative values -and are called "tilt factors" because they are the amount of -displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped. In LAMMPS the triclinic -simulation box edge vectors [a], [b], and [c] cannot be arbitrary -vectors. As indicated, [a] must lie on the positive x axis. [b] must -lie in the xy plane, with strictly positive y component. [c] may have -any orientation with strictly positive z component. The requirement -that [a], [b], and [c] have strictly positive x, y, and z components, -respectively, ensures that [a], [b], and [c] form a complete -right-handed basis. These restrictions impose no loss of generality, -since it is possible to rotate/invert any set of 3 crystal basis -vectors so that they conform to the restrictions. - -For example, assume that the 3 vectors [A],[B],[C] are the edge -vectors of a general parallelepiped, where there is no restriction on -[A],[B],[C] other than they form a complete right-handed basis i.e. -[A] x [B] . [C] > 0. The equivalent LAMMPS [a],[b],[c] are a linear -rotation of [A], [B], and [C] and can be computed as follows: - -:c,image(Eqs/transform.jpg) - -where A = | [A] | indicates the scalar length of [A]. The hat symbol (^) -indicates the corresponding unit vector. {beta} and {gamma} are angles -between the vectors described below. Note that by construction, -[a], [b], and [c] have strictly positive x, y, and z components, respectively. -If it should happen that -[A], [B], and [C] form a left-handed basis, then the above equations -are not valid for [c]. In this case, it is necessary -to first apply an inversion. This can be achieved -by interchanging two basis vectors or by changing the sign of one of them. - -For consistency, the same rotation/inversion applied to the basis vectors -must also be applied to atom positions, velocities, -and any other vector quantities. -This can be conveniently achieved by first converting to -fractional coordinates in the -old basis and then converting to distance coordinates in the new basis. -The transformation is given by the following equation: - -:c,image(Eqs/rotate.jpg) - -where {V} is the volume of the box, [X] is the original vector quantity and -[x] is the vector in the LAMMPS basis. - -There is no requirement that a triclinic box be periodic in any -dimension, though it typically should be in at least the 2nd dimension -of the tilt (y in xy) if you want to enforce a shift in periodic -boundary conditions across that boundary. Some commands that work -with triclinic boxes, e.g. the "fix deform"_fix_deform.html and "fix -npt"_fix_nh.html commands, require periodicity or non-shrink-wrap -boundary conditions in specific dimensions. See the command doc pages -for details. - -The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the -time the simulation box is created. This happens in one of 3 ways. -If the "create_box"_create_box.html command is used with a region of -style {prism}, then a triclinic box is setup. See the -"region"_region.html command for details. If the -"read_data"_read_data.html command is used to define the simulation -box, and the header of the data file contains a line with the "xy xz -yz" keyword, then a triclinic box is setup. See the -"read_data"_read_data.html command for details. Finally, if the -"read_restart"_read_restart.html command reads a restart file which -was written from a simulation using a triclinic box, then a triclinic -box will be setup for the restarted simulation. - -Note that you can define a triclinic box with all 3 tilt factors = -0.0, so that it is initially orthogonal. This is necessary if the box -will become non-orthogonal, e.g. due to the "fix npt"_fix_nh.html or -"fix deform"_fix_deform.html commands. Alternatively, you can use the -"change_box"_change_box.html command to convert a simulation box from -orthogonal to triclinic and vice versa. - -As with orthogonal boxes, LAMMPS defines triclinic box size parameters -lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions. -The 9 parameters, as well as lx,ly,lz, can be output via the -"thermo_style custom"_thermo_style.html command. - -To avoid extremely tilted boxes (which would be computationally -inefficient), LAMMPS normally requires that no tilt factor can skew -the box more than half the distance of the parallel box length, which -is the 1st dimension in the tilt factor (x for xz). This is required -both when the simulation box is created, e.g. via the -"create_box"_create_box.html or "read_data"_read_data.html commands, -as well as when the box shape changes dynamically during a simulation, -e.g. via the "fix deform"_fix_deform.html or "fix npt"_fix_nh.html -commands. - -For example, if xlo = 2 and xhi = 12, then the x box length is 10 and -the xy tilt factor must be between -5 and 5. Similarly, both xz and -yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is -not a limitation, since if the maximum tilt factor is 5 (as in this -example), then configurations with tilt = ..., -15, -5, 5, 15, 25, -... are geometrically all equivalent. If the box tilt exceeds this -limit during a dynamics run (e.g. via the "fix deform"_fix_deform.html -command), then the box is "flipped" to an equivalent shape with a tilt -factor within the bounds, so the run can continue. See the "fix -deform"_fix_deform.html doc page for further details. - -One exception to this rule is if the 1st dimension in the tilt -factor (x for xy) is non-periodic. In that case, the limits on the -tilt factor are not enforced, since flipping the box in that dimension -does not change the atom positions due to non-periodicity. In this -mode, if you tilt the system to extreme angles, the simulation will -simply become inefficient, due to the highly skewed simulation box. - -The limitation on not creating a simulation box with a tilt factor -skewing the box more than half the distance of the parallel box length -can be overridden via the "box"_box.html command. Setting the {tilt} -keyword to {large} allows any tilt factors to be specified. - -Box flips that may occur using the "fix deform"_fix_deform.html or -"fix npt"_fix_nh.html commands can be turned off using the {flip no} -option with either of the commands. - -Note that if a simulation box has a large tilt factor, LAMMPS will run -less efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor's irregular-shaped sub-domain. -For extreme values of tilt, LAMMPS may also lose atoms and generate an -error. - -Triclinic crystal structures are often defined using three lattice -constants {a}, {b}, and {c}, and three angles {alpha}, {beta} and -{gamma}. Note that in this nomenclature, the a, b, and c lattice -constants are the scalar lengths of the edge vectors [a], [b], and [c] -defined above. The relationship between these 6 quantities -(a,b,c,alpha,beta,gamma) and the LAMMPS box sizes (lx,ly,lz) = -(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows: - -:c,image(Eqs/box.jpg) - -The inverse relationship can be written as follows: - -:c,image(Eqs/box_inverse.jpg) - -The values of {a}, {b}, {c} , {alpha}, {beta} , and {gamma} can be printed -out or accessed by computes using the -"thermo_style custom"_thermo_style.html keywords -{cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta}, {cellgamma}, -respectively. - -As discussed on the "dump"_dump.html command doc page, when the BOX -BOUNDS for a snapshot is written to a dump file for a triclinic box, -an orthogonal bounding box which encloses the triclinic simulation box -is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic -box, formatted as follows: - -ITEM: BOX BOUNDS xy xz yz -xlo_bound xhi_bound xy -ylo_bound yhi_bound xz -zlo_bound zhi_bound yz :pre - -This bounding box is convenient for many visualization programs and is -calculated from the 9 triclinic box parameters -(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows: - -xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz) -xhi_bound = xhi + MAX(0.0,xy,xz,xy+xz) -ylo_bound = ylo + MIN(0.0,yz) -yhi_bound = yhi + MAX(0.0,yz) -zlo_bound = zlo -zhi_bound = zhi :pre - -These formulas can be inverted if you need to convert the bounding box -back into the triclinic box parameters, e.g. xlo = xlo_bound - -MIN(0.0,xy,xz,xy+xz). - -One use of triclinic simulation boxes is to model solid-state crystals -with triclinic symmetry. The "lattice"_lattice.html command can be -used with non-orthogonal basis vectors to define a lattice that will -tile a triclinic simulation box via the -"create_atoms"_create_atoms.html command. - -A second use is to run Parinello-Rahman dynamics via the "fix -npt"_fix_nh.html command, which will adjust the xy, xz, yz tilt -factors to compensate for off-diagonal components of the pressure -tensor. The analog for an "energy minimization"_minimize.html is -the "fix box/relax"_fix_box_relax.html command. - -A third use is to shear a bulk solid to study the response of the -material. The "fix deform"_fix_deform.html command can be used for -this purpose. It allows dynamic control of the xy, xz, yz tilt -factors as a simulation runs. This is discussed in the next section -on non-equilibrium MD (NEMD) simulations. - -:line - -6.13 NEMD simulations :link(howto_13),h4 - -Non-equilibrium molecular dynamics or NEMD simulations are typically -used to measure a fluid's rheological properties such as viscosity. -In LAMMPS, such simulations can be performed by first setting up a -non-orthogonal simulation box (see the preceding Howto section). - -A shear strain can be applied to the simulation box at a desired -strain rate by using the "fix deform"_fix_deform.html command. The -"fix nvt/sllod"_fix_nvt_sllod.html command can be used to thermostat -the sheared fluid and integrate the SLLOD equations of motion for the -system. Fix nvt/sllod uses "compute -temp/deform"_compute_temp_deform.html to compute a thermal temperature -by subtracting out the streaming velocity of the shearing atoms. The -velocity profile or other properties of the fluid can be monitored via -the "fix ave/chunk"_fix_ave_chunk.html command. - -As discussed in the previous section on non-orthogonal simulation -boxes, the amount of tilt or skew that can be applied is limited by -LAMMPS for computational efficiency to be 1/2 of the parallel box -length. However, "fix deform"_fix_deform.html can continuously strain -a box by an arbitrary amount. As discussed in the "fix -deform"_fix_deform.html command, when the tilt value reaches a limit, -the box is flipped to the opposite limit which is an equivalent tiling -of periodic space. The strain rate can then continue to change as -before. In a long NEMD simulation these box re-shaping events may -occur many times. - -In a NEMD simulation, the "remap" option of "fix -deform"_fix_deform.html should be set to "remap v", since that is what -"fix nvt/sllod"_fix_nvt_sllod.html assumes to generate a velocity -profile consistent with the applied shear strain rate. - -An alternative method for calculating viscosities is provided via the -"fix viscosity"_fix_viscosity.html command. - -NEMD simulations can also be used to measure transport properties of a fluid -through a pore or channel. Simulations of steady-state flow can be performed -using the "fix flow/gauss"_fix_flow_gauss.html command. - -:line - -6.14 Finite-size spherical and aspherical particles :link(howto_14),h4 - -Typical MD models treat atoms or particles as point masses. Sometimes -it is desirable to have a model with finite-size particles such as -spheroids or ellipsoids or generalized aspherical bodies. The -difference is that such particles have a moment of inertia, rotational -energy, and angular momentum. Rotation is induced by torque coming -from interactions with other particles. - -LAMMPS has several options for running simulations with these kinds of -particles. The following aspects are discussed in turn: - -atom styles -pair potentials -time integration -computes, thermodynamics, and dump output -rigid bodies composed of finite-size particles :ul - -Example input scripts for these kinds of models are in the body, -colloid, dipole, ellipse, line, peri, pour, and tri directories of the -"examples directory"_Examples.html in the LAMMPS distribution. - -Atom styles :h4 - -There are several "atom styles"_atom_style.html that allow for -definition of finite-size particles: sphere, dipole, ellipsoid, line, -tri, peri, and body. - -The sphere style defines particles that are spheriods and each -particle can have a unique diameter and mass (or density). These -particles store an angular velocity (omega) and can be acted upon by -torque. The "set" command can be used to modify the diameter and mass -of individual particles, after then are created. - -The dipole style does not actually define finite-size particles, but -is often used in conjunction with spherical particles, via a command -like - -atom_style hybrid sphere dipole :pre - -This is because when dipoles interact with each other, they induce -torques, and a particle must be finite-size (i.e. have a moment of -inertia) in order to respond and rotate. See the "atom_style -dipole"_atom_style.html command for details. The "set" command can be -used to modify the orientation and length of the dipole moment of -individual particles, after then are created. - -The ellipsoid style defines particles that are ellipsoids and thus can -be aspherical. Each particle has a shape, specified by 3 diameters, -and mass (or density). These particles store an angular momentum and -their orientation (quaternion), and can be acted upon by torque. They -do not store an angular velocity (omega), which can be in a different -direction than angular momentum, rather they compute it as needed. -The "set" command can be used to modify the diameter, orientation, and -mass of individual particles, after then are created. It also has a -brief explanation of what quaternions are. - -The line style defines line segment particles with two end points and -a mass (or density). They can be used in 2d simulations, and they can -be joined together to form rigid bodies which represent arbitrary -polygons. - -The tri style defines triangular particles with three corner points -and a mass (or density). They can be used in 3d simulations, and they -can be joined together to form rigid bodies which represent arbitrary -particles with a triangulated surface. - -The peri style is used with "Peridynamic models"_pair_peri.html and -defines particles as having a volume, that is used internally in the -"pair_style peri"_pair_peri.html potentials. - -The body style allows for definition of particles which can represent -complex entities, such as surface meshes of discrete points, -collections of sub-particles, deformable objects, etc. The body style -is discussed in more detail on the "body"_body.html doc page. - -Note that if one of these atom styles is used (or multiple styles via -the "atom_style hybrid"_atom_style.html command), not all particles in -the system are required to be finite-size or aspherical. - -For example, in the ellipsoid style, if the 3 shape parameters are set -to the same value, the particle will be a sphere rather than an -ellipsoid. If the 3 shape parameters are all set to 0.0 or if the -diameter is set to 0.0, it will be a point particle. In the line or -tri style, if the lineflag or triflag is specified as 0, then it -will be a point particle. - -Some of the pair styles used to compute pairwise interactions between -finite-size particles also compute the correct interaction with point -particles as well, e.g. the interaction between a point particle and a -finite-size particle or between two point particles. If necessary, -"pair_style hybrid"_pair_hybrid.html can be used to insure the correct -interactions are computed for the appropriate style of interactions. -Likewise, using groups to partition particles (ellipsoids versus -spheres versus point particles) will allow you to use the appropriate -time integrators and temperature computations for each class of -particles. See the doc pages for various commands for details. - -Also note that for "2d simulations"_dimension.html, atom styles sphere -and ellipsoid still use 3d particles, rather than as circular disks or -ellipses. This means they have the same moment of inertia as the 3d -object. When temperature is computed, the correct degrees of freedom -are used for rotation in a 2d versus 3d system. - -Pair potentials :h4 - -When a system with finite-size particles is defined, the particles -will only rotate and experience torque if the force field computes -such interactions. These are the various "pair -styles"_pair_style.html that generate torque: - -"pair_style gran/history"_pair_gran.html -"pair_style gran/hertzian"_pair_gran.html -"pair_style gran/no_history"_pair_gran.html -"pair_style dipole/cut"_pair_dipole.html -"pair_style gayberne"_pair_gayberne.html -"pair_style resquared"_pair_resquared.html -"pair_style brownian"_pair_brownian.html -"pair_style lubricate"_pair_lubricate.html -"pair_style line/lj"_pair_line_lj.html -"pair_style tri/lj"_pair_tri_lj.html -"pair_style body"_pair_body.html :ul - -The granular pair styles are used with spherical particles. The -dipole pair style is used with the dipole atom style, which could be -applied to spherical or ellipsoidal particles. The GayBerne and -REsquared potentials require ellipsoidal particles, though they will -also work if the 3 shape parameters are the same (a sphere). The -Brownian and lubrication potentials are used with spherical particles. -The line, tri, and body potentials are used with line segment, -triangular, and body particles respectively. - -Time integration :h4 - -There are several fixes that perform time integration on finite-size -spherical particles, meaning the integrators update the rotational -orientation and angular velocity or angular momentum of the particles: - -"fix nve/sphere"_fix_nve_sphere.html -"fix nvt/sphere"_fix_nvt_sphere.html -"fix npt/sphere"_fix_npt_sphere.html :ul - -Likewise, there are 3 fixes that perform time integration on -ellipsoidal particles: - -"fix nve/asphere"_fix_nve_asphere.html -"fix nvt/asphere"_fix_nvt_asphere.html -"fix npt/asphere"_fix_npt_asphere.html :ul - -The advantage of these fixes is that those which thermostat the -particles include the rotational degrees of freedom in the temperature -calculation and thermostatting. The "fix langevin"_fix_langevin -command can also be used with its {omgea} or {angmom} options to -thermostat the rotational degrees of freedom for spherical or -ellipsoidal particles. Other thermostatting fixes only operate on the -translational kinetic energy of finite-size particles. - -These fixes perform constant NVE time integration on line segment, -triangular, and body particles: - -"fix nve/line"_fix_nve_line.html -"fix nve/tri"_fix_nve_tri.html -"fix nve/body"_fix_nve_body.html :ul - -Note that for mixtures of point and finite-size particles, these -integration fixes can only be used with "groups"_group.html which -contain finite-size particles. - -Computes, thermodynamics, and dump output :h4 - -There are several computes that calculate the temperature or -rotational energy of spherical or ellipsoidal particles: - -"compute temp/sphere"_compute_temp_sphere.html -"compute temp/asphere"_compute_temp_asphere.html -"compute erotate/sphere"_compute_erotate_sphere.html -"compute erotate/asphere"_compute_erotate_asphere.html :ul - -These include rotational degrees of freedom in their computation. If -you wish the thermodynamic output of temperature or pressure to use -one of these computes (e.g. for a system entirely composed of -finite-size particles), then the compute can be defined and the -"thermo_modify"_thermo_modify.html command used. Note that by default -thermodynamic quantities will be calculated with a temperature that -only includes translational degrees of freedom. See the -"thermo_style"_thermo_style.html command for details. - -These commands can be used to output various attributes of finite-size -particles: - -"dump custom"_dump.html -"compute property/atom"_compute_property_atom.html -"dump local"_dump.html -"compute body/local"_compute_body_local.html :ul - -Attributes include the dipole moment, the angular velocity, the -angular momentum, the quaternion, the torque, the end-point and -corner-point coordinates (for line and tri particles), and -sub-particle attributes of body particles. - -Rigid bodies composed of finite-size particles :h4 - -The "fix rigid"_fix_rigid.html command treats a collection of -particles as a rigid body, computes its inertia tensor, sums the total -force and torque on the rigid body each timestep due to forces on its -constituent particles, and integrates the motion of the rigid body. - -If any of the constituent particles of a rigid body are finite-size -particles (spheres or ellipsoids or line segments or triangles), then -their contribution to the inertia tensor of the body is different than -if they were point particles. This means the rotational dynamics of -the rigid body will be different. Thus a model of a dimer is -different if the dimer consists of two point masses versus two -spheroids, even if the two particles have the same mass. Finite-size -particles that experience torque due to their interaction with other -particles will also impart that torque to a rigid body they are part -of. - -See the "fix rigid" command for example of complex rigid-body models -it is possible to define in LAMMPS. - -Note that the "fix shake"_fix_shake.html command can also be used to -treat 2, 3, or 4 particles as a rigid body, but it always assumes the -particles are point masses. - -Also note that body particles cannot be modeled with the "fix -rigid"_fix_rigid.html command. Body particles are treated by LAMMPS -as single particles, though they can store internal state, such as a -list of sub-particles. Individual body partices are typically treated -as rigid bodies, and their motion integrated with a command like "fix -nve/body"_fix_nve_body.html. Interactions between pairs of body -particles are computed via a command like "pair_style -body"_pair_body.html. - -:line - -6.15 Output from LAMMPS (thermo, dumps, computes, fixes, variables) :link(howto_15),h4 - -There are four basic kinds of LAMMPS output: - -"Thermodynamic output"_thermo_style.html, which is a list -of quantities printed every few timesteps to the screen and logfile. :ulb,l - -"Dump files"_dump.html, which contain snapshots of atoms and various -per-atom values and are written at a specified frequency. :l - -Certain fixes can output user-specified quantities to files: "fix -ave/time"_fix_ave_time.html for time averaging, "fix -ave/chunk"_fix_ave_chunk.html for spatial or other averaging, and "fix -print"_fix_print.html for single-line output of -"variables"_variable.html. Fix print can also output to the -screen. :l - -"Restart files"_restart.html. :l -:ule - -A simulation prints one set of thermodynamic output and (optionally) -restart files. It can generate any number of dump files and fix -output files, depending on what "dump"_dump.html and "fix"_fix.html -commands you specify. - -As discussed below, LAMMPS gives you a variety of ways to determine -what quantities are computed and printed when the thermodynamics, -dump, or fix commands listed above perform output. Throughout this -discussion, note that users can also "add their own computes and fixes -to LAMMPS"_Modify.html which can then generate values that can then be -output with these commands. - -The following sub-sections discuss different LAMMPS command related -to output and the kind of data they operate on and produce: - -"Global/per-atom/local data"_#global -"Scalar/vector/array data"_#scalar -"Thermodynamic output"_#thermo -"Dump file output"_#dump -"Fixes that write output files"_#fixoutput -"Computes that process output quantities"_#computeoutput -"Fixes that process output quantities"_#fixprocoutput -"Computes that generate values to output"_#compute -"Fixes that generate values to output"_#fix -"Variables that generate values to output"_#variable -"Summary table of output options and data flow between commands"_#table :ul - -Global/per-atom/local data :h4,link(global) - -Various output-related commands work with three different styles of -data: global, per-atom, or local. A global datum is one or more -system-wide values, e.g. the temperature of the system. A per-atom -datum is one or more values per atom, e.g. the kinetic energy of each -atom. Local datums are calculated by each processor based on the -atoms it owns, but there may be zero or more per atom, e.g. a list of -bond distances. - -Scalar/vector/array data :h4,link(scalar) - -Global, per-atom, and local datums can each come in three kinds: a -single scalar value, a vector of values, or a 2d array of values. The -doc page for a "compute" or "fix" or "variable" that generates data -will specify both the style and kind of data it produces, e.g. a -per-atom vector. - -When a quantity is accessed, as in many of the output commands -discussed below, it can be referenced via the following bracket -notation, where ID in this case is the ID of a compute. The leading -"c_" would be replaced by "f_" for a fix, or "v_" for a variable: - -c_ID | entire scalar, vector, or array -c_ID\[I\] | one element of vector, one column of array -c_ID\[I\]\[J\] | one element of array :tb(s=|) - -In other words, using one bracket reduces the dimension of the data -once (vector -> scalar, array -> vector). Using two brackets reduces -the dimension twice (array -> scalar). Thus a command that uses -scalar values as input can typically also process elements of a vector -or array. - -Thermodynamic output :h4,link(thermo) - -The frequency and format of thermodynamic output is set by the -"thermo"_thermo.html, "thermo_style"_thermo_style.html, and -"thermo_modify"_thermo_modify.html commands. The -"thermo_style"_thermo_style.html command also specifies what values -are calculated and written out. Pre-defined keywords can be specified -(e.g. press, etotal, etc). Three additional kinds of keywords can -also be specified (c_ID, f_ID, v_name), where a "compute"_compute.html -or "fix"_fix.html or "variable"_variable.html provides the value to be -output. In each case, the compute, fix, or variable must generate -global values for input to the "thermo_style custom"_dump.html -command. - -Note that thermodynamic output values can be "extensive" or -"intensive". The former scale with the number of atoms in the system -(e.g. total energy), the latter do not (e.g. temperature). The -setting for "thermo_modify norm"_thermo_modify.html determines whether -extensive quantities are normalized or not. Computes and fixes -produce either extensive or intensive values; see their individual doc -pages for details. "Equal-style variables"_variable.html produce only -intensive values; you can include a division by "natoms" in the -formula if desired, to make an extensive calculation produce an -intensive result. - -Dump file output :h4,link(dump) - -Dump file output is specified by the "dump"_dump.html and -"dump_modify"_dump_modify.html commands. There are several -pre-defined formats (dump atom, dump xtc, etc). - -There is also a "dump custom"_dump.html format where the user -specifies what values are output with each atom. Pre-defined atom -attributes can be specified (id, x, fx, etc). Three additional kinds -of keywords can also be specified (c_ID, f_ID, v_name), where a -"compute"_compute.html or "fix"_fix.html or "variable"_variable.html -provides the values to be output. In each case, the compute, fix, or -variable must generate per-atom values for input to the "dump -custom"_dump.html command. - -There is also a "dump local"_dump.html format where the user specifies -what local values to output. A pre-defined index keyword can be -specified to enumerate the local values. Two additional kinds of -keywords can also be specified (c_ID, f_ID), where a -"compute"_compute.html or "fix"_fix.html or "variable"_variable.html -provides the values to be output. In each case, the compute or fix -must generate local values for input to the "dump local"_dump.html -command. - -Fixes that write output files :h4,link(fixoutput) - -Several fixes take various quantities as input and can write output -files: "fix ave/time"_fix_ave_time.html, "fix -ave/chunk"_fix_ave_chunk.html, "fix ave/histo"_fix_ave_histo.html, -"fix ave/correlate"_fix_ave_correlate.html, and "fix -print"_fix_print.html. - -The "fix ave/time"_fix_ave_time.html command enables direct output to -a file and/or time-averaging of global scalars or vectors. The user -specifies one or more quantities as input. These can be global -"compute"_compute.html values, global "fix"_fix.html values, or -"variables"_variable.html of any style except the atom style which -produces per-atom values. Since a variable can refer to keywords used -by the "thermo_style custom"_thermo_style.html command (like temp or -press) and individual per-atom values, a wide variety of quantities -can be time averaged and/or output in this way. If the inputs are one -or more scalar values, then the fix generate a global scalar or vector -of output. If the inputs are one or more vector values, then the fix -generates a global vector or array of output. The time-averaged -output of this fix can also be used as input to other output commands. - -The "fix ave/chunk"_fix_ave_chunk.html command enables direct output -to a file of chunk-averaged per-atom quantities like those output in -dump files. Chunks can represent spatial bins or other collections of -atoms, e.g. individual molecules. The per-atom quantities can be atom -density (mass or number) or atom attributes such as position, -velocity, force. They can also be per-atom quantities calculated by a -"compute"_compute.html, by a "fix"_fix.html, or by an atom-style -"variable"_variable.html. The chunk-averaged output of this fix can -also be used as input to other output commands. - -The "fix ave/histo"_fix_ave_histo.html command enables direct output -to a file of histogrammed quantities, which can be global or per-atom -or local quantities. The histogram output of this fix can also be -used as input to other output commands. - -The "fix ave/correlate"_fix_ave_correlate.html command enables direct -output to a file of time-correlated quantities, which can be global -values. The correlation matrix output of this fix can also be used as -input to other output commands. - -The "fix print"_fix_print.html command can generate a line of output -written to the screen and log file or to a separate file, periodically -during a running simulation. The line can contain one or more -"variable"_variable.html values for any style variable except the -vector or atom styles). As explained above, variables themselves can -contain references to global values generated by "thermodynamic -keywords"_thermo_style.html, "computes"_compute.html, -"fixes"_fix.html, or other "variables"_variable.html, or to per-atom -values for a specific atom. Thus the "fix print"_fix_print.html -command is a means to output a wide variety of quantities separate -from normal thermodynamic or dump file output. - -Computes that process output quantities :h4,link(computeoutput) - -The "compute reduce"_compute_reduce.html and "compute -reduce/region"_compute_reduce.html commands take one or more per-atom -or local vector quantities as inputs and "reduce" them (sum, min, max, -ave) to scalar quantities. These are produced as output values which -can be used as input to other output commands. - -The "compute slice"_compute_slice.html command take one or more global -vector or array quantities as inputs and extracts a subset of their -values to create a new vector or array. These are produced as output -values which can be used as input to other output commands. - -The "compute property/atom"_compute_property_atom.html command takes a -list of one or more pre-defined atom attributes (id, x, fx, etc) and -stores the values in a per-atom vector or array. These are produced -as output values which can be used as input to other output commands. -The list of atom attributes is the same as for the "dump -custom"_dump.html command. - -The "compute property/local"_compute_property_local.html command takes -a list of one or more pre-defined local attributes (bond info, angle -info, etc) and stores the values in a local vector or array. These -are produced as output values which can be used as input to other -output commands. - -Fixes that process output quantities :h4,link(fixprocoutput) - -The "fix vector"_fix_vector.html command can create global vectors as -output from global scalars as input, accumulating them one element at -a time. - -The "fix ave/atom"_fix_ave_atom.html command performs time-averaging -of per-atom vectors. The per-atom quantities can be atom attributes -such as position, velocity, force. They can also be per-atom -quantities calculated by a "compute"_compute.html, by a -"fix"_fix.html, or by an atom-style "variable"_variable.html. The -time-averaged per-atom output of this fix can be used as input to -other output commands. - -The "fix store/state"_fix_store_state.html command can archive one or -more per-atom attributes at a particular time, so that the old values -can be used in a future calculation or output. The list of atom -attributes is the same as for the "dump custom"_dump.html command, -including per-atom quantities calculated by a "compute"_compute.html, -by a "fix"_fix.html, or by an atom-style "variable"_variable.html. -The output of this fix can be used as input to other output commands. - -Computes that generate values to output :h4,link(compute) - -Every "compute"_compute.html in LAMMPS produces either global or -per-atom or local values. The values can be scalars or vectors or -arrays of data. These values can be output using the other commands -described in this section. The doc page for each compute command -describes what it produces. Computes that produce per-atom or local -values have the word "atom" or "local" in their style name. Computes -without the word "atom" or "local" produce global values. - -Fixes that generate values to output :h4,link(fix) - -Some "fixes"_fix.html in LAMMPS produces either global or per-atom or -local values which can be accessed by other commands. The values can -be scalars or vectors or arrays of data. These values can be output -using the other commands described in this section. The doc page for -each fix command tells whether it produces any output quantities and -describes them. - -Variables that generate values to output :h4,link(variable) - -"Variables"_variable.html defined in an input script can store one or -more strings. But equal-style, vector-style, and atom-style or -atomfile-style variables generate a global scalar value, global vector -or values, or a per-atom vector, respectively, when accessed. The -formulas used to define these variables can contain references to the -thermodynamic keywords and to global and per-atom data generated by -computes, fixes, and other variables. The values generated by -variables can be used as input to and thus output by the other -commands described in this section. - -Summary table of output options and data flow between commands :h4,link(table) - -This table summarizes the various commands that can be used for -generating output from LAMMPS. Each command produces output data of -some kind and/or writes data to a file. Most of the commands can take -data from other commands as input. Thus you can link many of these -commands together in pipeline form, where data produced by one command -is used as input to another command and eventually written to the -screen or to a file. Note that to hook two commands together the -output and input data types must match, e.g. global/per-atom/local -data and scalar/vector/array data. - -Also note that, as described above, when a command takes a scalar as -input, that could be an element of a vector or array. Likewise a -vector input could be a column of an array. - -Command: Input: Output: -"thermo_style custom"_thermo_style.html: global scalars: screen, log file: -"dump custom"_dump.html: per-atom vectors: dump file: -"dump local"_dump.html: local vectors: dump file: -"fix print"_fix_print.html: global scalar from variable: screen, file: -"print"_print.html: global scalar from variable: screen: -"computes"_compute.html: N/A: global/per-atom/local scalar/vector/array: -"fixes"_fix.html: N/A: global/per-atom/local scalar/vector/array: -"variables"_variable.html: global scalars and vectors, per-atom vectors: global scalar and vector, per-atom vector: -"compute reduce"_compute_reduce.html: per-atom/local vectors: global scalar/vector: -"compute slice"_compute_slice.html: global vectors/arrays: global vector/array: -"compute property/atom"_compute_property_atom.html: per-atom vectors: per-atom vector/array: -"compute property/local"_compute_property_local.html: local vectors: local vector/array: -"fix vector"_fix_vector.html: global scalars: global vector: -"fix ave/atom"_fix_ave_atom.html: per-atom vectors: per-atom vector/array: -"fix ave/time"_fix_ave_time.html: global scalars/vectors: global scalar/vector/array, file: -"fix ave/chunk"_fix_ave_chunk.html: per-atom vectors: global array, file: -"fix ave/histo"_fix_ave_histo.html: global/per-atom/local scalars and vectors: global array, file: -"fix ave/correlate"_fix_ave_correlate.html: global scalars: global array, file: -"fix store/state"_fix_store_state.html: per-atom vectors: per-atom vector/array :tb(c=3,s=:) - -:line - -6.16 Thermostatting, barostatting, and computing temperature :link(howto_16),h4 - -Thermostatting means controlling the temperature of particles in an MD -simulation. Barostatting means controlling the pressure. Since the -pressure includes a kinetic component due to particle velocities, both -these operations require calculation of the temperature. Typically a -target temperature (T) and/or pressure (P) is specified by the user, -and the thermostat or barostat attempts to equilibrate the system to -the requested T and/or P. - -Temperature is computed as kinetic energy divided by some number of -degrees of freedom (and the Boltzmann constant). Since kinetic energy -is a function of particle velocity, there is often a need to -distinguish between a particle's advection velocity (due to some -aggregate motion of particles) and its thermal velocity. The sum of -the two is the particle's total velocity, but the latter is often what -is wanted to compute a temperature. - -LAMMPS has several options for computing temperatures, any of which -can be used in thermostatting and barostatting. These "compute -commands"_compute.html calculate temperature, and the "compute -pressure"_compute_pressure.html command calculates pressure. - -"compute temp"_compute_temp.html -"compute temp/sphere"_compute_temp_sphere.html -"compute temp/asphere"_compute_temp_asphere.html -"compute temp/com"_compute_temp_com.html -"compute temp/deform"_compute_temp_deform.html -"compute temp/partial"_compute_temp_partial.html -"compute temp/profile"_compute_temp_profile.html -"compute temp/ramp"_compute_temp_ramp.html -"compute temp/region"_compute_temp_region.html :ul - -All but the first 3 calculate velocity biases directly (e.g. advection -velocities) that are removed when computing the thermal temperature. -"Compute temp/sphere"_compute_temp_sphere.html and "compute -temp/asphere"_compute_temp_asphere.html compute kinetic energy for -finite-size particles that includes rotational degrees of freedom. -They both allow for velocity biases indirectly, via an optional extra -argument, another temperature compute that subtracts a velocity bias. -This allows the translational velocity of spherical or aspherical -particles to be adjusted in prescribed ways. - -Thermostatting in LAMMPS is performed by "fixes"_fix.html, or in one -case by a pair style. Several thermostatting fixes are available: -Nose-Hoover (nvt), Berendsen, CSVR, Langevin, and direct rescaling -(temp/rescale). Dissipative particle dynamics (DPD) thermostatting -can be invoked via the {dpd/tstat} pair style: - -"fix nvt"_fix_nh.html -"fix nvt/sphere"_fix_nvt_sphere.html -"fix nvt/asphere"_fix_nvt_asphere.html -"fix nvt/sllod"_fix_nvt_sllod.html -"fix temp/berendsen"_fix_temp_berendsen.html -"fix temp/csvr"_fix_temp_csvr.html -"fix langevin"_fix_langevin.html -"fix temp/rescale"_fix_temp_rescale.html -"pair_style dpd/tstat"_pair_dpd.html :ul - -"Fix nvt"_fix_nh.html only thermostats the translational velocity of -particles. "Fix nvt/sllod"_fix_nvt_sllod.html also does this, except -that it subtracts out a velocity bias due to a deforming box and -integrates the SLLOD equations of motion. See the "NEMD -simulations"_#howto_13 section of this page for further details. "Fix -nvt/sphere"_fix_nvt_sphere.html and "fix -nvt/asphere"_fix_nvt_asphere.html thermostat not only translation -velocities but also rotational velocities for spherical and aspherical -particles. - -DPD thermostatting alters pairwise interactions in a manner analogous -to the per-particle thermostatting of "fix -langevin"_fix_langevin.html. - -Any of the thermostatting fixes can use temperature computes that -remove bias which has two effects. First, the current calculated -temperature, which is compared to the requested target temperature, is -calculated with the velocity bias removed. Second, the thermostat -adjusts only the thermal temperature component of the particle's -velocities, which are the velocities with the bias removed. The -removed bias is then added back to the adjusted velocities. See the -doc pages for the individual fixes and for the -"fix_modify"_fix_modify.html command for instructions on how to assign -a temperature compute to a thermostatting fix. For example, you can -apply a thermostat to only the x and z components of velocity by using -it in conjunction with "compute -temp/partial"_compute_temp_partial.html. Of you could thermostat only -the thermal temperature of a streaming flow of particles without -affecting the streaming velocity, by using "compute -temp/profile"_compute_temp_profile.html. - -NOTE: Only the nvt fixes perform time integration, meaning they update -the velocities and positions of particles due to forces and velocities -respectively. The other thermostat fixes only adjust velocities; they -do NOT perform time integration updates. Thus they should be used in -conjunction with a constant NVE integration fix such as these: - -"fix nve"_fix_nve.html -"fix nve/sphere"_fix_nve_sphere.html -"fix nve/asphere"_fix_nve_asphere.html :ul - -Barostatting in LAMMPS is also performed by "fixes"_fix.html. Two -barosttating methods are currently available: Nose-Hoover (npt and -nph) and Berendsen: - -"fix npt"_fix_nh.html -"fix npt/sphere"_fix_npt_sphere.html -"fix npt/asphere"_fix_npt_asphere.html -"fix nph"_fix_nh.html -"fix press/berendsen"_fix_press_berendsen.html :ul - -The "fix npt"_fix_nh.html commands include a Nose-Hoover thermostat -and barostat. "Fix nph"_fix_nh.html is just a Nose/Hoover barostat; -it does no thermostatting. Both "fix nph"_fix_nh.html and "fix -press/berendsen"_fix_press_berendsen.html can be used in conjunction -with any of the thermostatting fixes. - -As with the thermostats, "fix npt"_fix_nh.html and "fix -nph"_fix_nh.html only use translational motion of the particles in -computing T and P and performing thermo/barostatting. "Fix -npt/sphere"_fix_npt_sphere.html and "fix -npt/asphere"_fix_npt_asphere.html thermo/barostat using not only -translation velocities but also rotational velocities for spherical -and aspherical particles. - -All of the barostatting fixes use the "compute -pressure"_compute_pressure.html compute to calculate a current -pressure. By default, this compute is created with a simple "compute -temp"_compute_temp.html (see the last argument of the "compute -pressure"_compute_pressure.html command), which is used to calculated -the kinetic component of the pressure. The barostatting fixes can -also use temperature computes that remove bias for the purpose of -computing the kinetic component which contributes to the current -pressure. See the doc pages for the individual fixes and for the -"fix_modify"_fix_modify.html command for instructions on how to assign -a temperature or pressure compute to a barostatting fix. - -NOTE: As with the thermostats, the Nose/Hoover methods ("fix -npt"_fix_nh.html and "fix nph"_fix_nh.html) perform time integration. -"Fix press/berendsen"_fix_press_berendsen.html does NOT, so it should -be used with one of the constant NVE fixes or with one of the NVT -fixes. - -Finally, thermodynamic output, which can be setup via the -"thermo_style"_thermo_style.html command, often includes temperature -and pressure values. As explained on the doc page for the -"thermo_style"_thermo_style.html command, the default T and P are -setup by the thermo command itself. They are NOT the ones associated -with any thermostatting or barostatting fix you have defined or with -any compute that calculates a temperature or pressure. Thus if you -want to view these values of T and P, you need to specify them -explicitly via a "thermo_style custom"_thermo_style.html command. Or -you can use the "thermo_modify"_thermo_modify.html command to -re-define what temperature or pressure compute is used for default -thermodynamic output. - -:line - -6.17 Walls :link(howto_17),h4 - -Walls in an MD simulation are typically used to bound particle motion, -i.e. to serve as a boundary condition. - -Walls in LAMMPS can be of rough (made of particles) or idealized -surfaces. Ideal walls can be smooth, generating forces only in the -normal direction, or frictional, generating forces also in the -tangential direction. - -Rough walls, built of particles, can be created in various ways. The -particles themselves can be generated like any other particle, via the -"lattice"_lattice.html and "create_atoms"_create_atoms.html commands, -or read in via the "read_data"_read_data.html command. - -Their motion can be constrained by many different commands, so that -they do not move at all, move together as a group at constant velocity -or in response to a net force acting on them, move in a prescribed -fashion (e.g. rotate around a point), etc. Note that if a time -integration fix like "fix nve"_fix_nve.html or "fix nvt"_fix_nh.html -is not used with the group that contains wall particles, their -positions and velocities will not be updated. - -"fix aveforce"_fix_aveforce.html - set force on particles to average value, so they move together -"fix setforce"_fix_setforce.html - set force on particles to a value, e.g. 0.0 -"fix freeze"_fix_freeze.html - freeze particles for use as granular walls -"fix nve/noforce"_fix_nve_noforce.html - advect particles by their velocity, but without force -"fix move"_fix_move.html - prescribe motion of particles by a linear velocity, oscillation, rotation, variable :ul - -The "fix move"_fix_move.html command offers the most generality, since -the motion of individual particles can be specified with -"variable"_variable.html formula which depends on time and/or the -particle position. - -For rough walls, it may be useful to turn off pairwise interactions -between wall particles via the "neigh_modify -exclude"_neigh_modify.html command. - -Rough walls can also be created by specifying frozen particles that do -not move and do not interact with mobile particles, and then tethering -other particles to the fixed particles, via a "bond"_bond_style.html. -The bonded particles do interact with other mobile particles. - -Idealized walls can be specified via several fix commands. "Fix -wall/gran"_fix_wall_gran.html creates frictional walls for use with -granular particles; all the other commands create smooth walls. - -"fix wall/reflect"_fix_wall_reflect.html - reflective flat walls -"fix wall/lj93"_fix_wall.html - flat walls, with Lennard-Jones 9/3 potential -"fix wall/lj126"_fix_wall.html - flat walls, with Lennard-Jones 12/6 potential -"fix wall/colloid"_fix_wall.html - flat walls, with "pair_style colloid"_pair_colloid.html potential -"fix wall/harmonic"_fix_wall.html - flat walls, with repulsive harmonic spring potential -"fix wall/region"_fix_wall_region.html - use region surface as wall -"fix wall/gran"_fix_wall_gran.html - flat or curved walls with "pair_style granular"_pair_gran.html potential :ul - -The {lj93}, {lj126}, {colloid}, and {harmonic} styles all allow the -flat walls to move with a constant velocity, or oscillate in time. -The "fix wall/region"_fix_wall_region.html command offers the most -generality, since the region surface is treated as a wall, and the -geometry of the region can be a simple primitive volume (e.g. a -sphere, or cube, or plane), or a complex volume made from the union -and intersection of primitive volumes. "Regions"_region.html can also -specify a volume "interior" or "exterior" to the specified primitive -shape or {union} or {intersection}. "Regions"_region.html can also be -"dynamic" meaning they move with constant velocity, oscillate, or -rotate. - -The only frictional idealized walls currently in LAMMPS are flat or -curved surfaces specified by the "fix wall/gran"_fix_wall_gran.html -command. At some point we plan to allow regoin surfaces to be used as -frictional walls, as well as triangulated surfaces. - -:line - -6.18 Elastic constants :link(howto_18),h4 - -Elastic constants characterize the stiffness of a material. The formal -definition is provided by the linear relation that holds between the -stress and strain tensors in the limit of infinitesimal deformation. -In tensor notation, this is expressed as s_ij = C_ijkl * e_kl, where -the repeated indices imply summation. s_ij are the elements of the -symmetric stress tensor. e_kl are the elements of the symmetric strain -tensor. C_ijkl are the elements of the fourth rank tensor of elastic -constants. In three dimensions, this tensor has 3^4=81 elements. Using -Voigt notation, the tensor can be written as a 6x6 matrix, where C_ij -is now the derivative of s_i w.r.t. e_j. Because s_i is itself a -derivative w.r.t. e_i, it follows that C_ij is also symmetric, with at -most 7*6/2 = 21 distinct elements. - -At zero temperature, it is easy to estimate these derivatives by -deforming the simulation box in one of the six directions using the -"change_box"_change_box.html command and measuring the change in the -stress tensor. A general-purpose script that does this is given in the -examples/elastic directory described on the "Examples"_Examples.html -doc page. - -Calculating elastic constants at finite temperature is more -challenging, because it is necessary to run a simulation that perfoms -time averages of differential properties. One way to do this is to -measure the change in average stress tensor in an NVT simulations when -the cell volume undergoes a finite deformation. In order to balance -the systematic and statistical errors in this method, the magnitude of -the deformation must be chosen judiciously, and care must be taken to -fully equilibrate the deformed cell before sampling the stress -tensor. Another approach is to sample the triclinic cell fluctuations -that occur in an NPT simulation. This method can also be slow to -converge and requires careful post-processing "(Shinoda)"_#Shinoda1 - -:line - -6.19 Library interface to LAMMPS :link(howto_19),h4 - -As described in "Section 2.5"_Section_start.html#start_5, LAMMPS can -be built as a library, so that it can be called by another code, used -in a "coupled manner"_Section_howto.html#howto_10 with other codes, or -driven through a "Python interface"_Python.html. - -All of these methodologies use a C-style interface to LAMMPS that is -provided in the files src/library.cpp and src/library.h. The -functions therein have a C-style argument list, but contain C++ code -you could write yourself in a C++ application that was invoking LAMMPS -directly. The C++ code in the functions illustrates how to invoke -internal LAMMPS operations. Note that LAMMPS classes are defined -within a LAMMPS namespace (LAMMPS_NS) if you use them from another C++ -application. - -The examples/COUPLE and python/examples directories have example C++ -and C and Python codes which show how a driver code can link to LAMMPS -as a library, run LAMMPS on a subset of processors, grab data from -LAMMPS, change it, and put it back into LAMMPS. - -The file src/library.cpp contains the following functions for creating -and destroying an instance of LAMMPS and sending it commands to -execute. See the documentation in the src/library.cpp file for -details. - -NOTE: You can write code for additional functions as needed to define -how your code talks to LAMMPS and add them to src/library.cpp and -src/library.h, as well as to the "Python interface"_Python.html. The -added functions can access or change any internal LAMMPS data you -wish. - -void lammps_open(int, char **, MPI_Comm, void **) -void lammps_open_no_mpi(int, char **, void **) -void lammps_close(void *) -int lammps_version(void *) -void lammps_file(void *, char *) -char *lammps_command(void *, char *) -void lammps_commands_list(void *, int, char **) -void lammps_commands_string(void *, char *) -void lammps_free(void *) :pre - -The lammps_open() function is used to initialize LAMMPS, passing in a -list of strings as if they were "command-line -arguments"_Section_start.html#start_6 when LAMMPS is run in -stand-alone mode from the command line, and a MPI communicator for -LAMMPS to run under. It returns a ptr to the LAMMPS object that is -created, and which is used in subsequent library calls. The -lammps_open() function can be called multiple times, to create -multiple instances of LAMMPS. - -LAMMPS will run on the set of processors in the communicator. This -means the calling code can run LAMMPS on all or a subset of -processors. For example, a wrapper script might decide to alternate -between LAMMPS and another code, allowing them both to run on all the -processors. Or it might allocate half the processors to LAMMPS and -half to the other code and run both codes simultaneously before -syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations. - -The lammps_open_no_mpi() function is similar except that no MPI -communicator is passed from the caller. Instead, MPI_COMM_WORLD is -used to instantiate LAMMPS, and MPI is initialized if necessary. - -The lammps_close() function is used to shut down an instance of LAMMPS -and free all its memory. - -The lammps_version() function can be used to determined the specific -version of the underlying LAMMPS code. This is particularly useful -when loading LAMMPS as a shared library via dlopen(). The code using -the library interface can than use this information to adapt to -changes to the LAMMPS command syntax between versions. The returned -LAMMPS version code is an integer (e.g. 2 Sep 2015 results in -20150902) that grows with every new LAMMPS version. - -The lammps_file(), lammps_command(), lammps_commands_list(), and -lammps_commands_string() functions are used to pass one or more -commands to LAMMPS to execute, the same as if they were coming from an -input script. - -Via these functions, the calling code can read or generate a series of -LAMMPS commands one or multiple at a time and pass it thru the library -interface to setup a problem and then run it in stages. The caller -can interleave the command function calls with operations it performs, -calls to extract information from or set information within LAMMPS, or -calls to another code's library. - -The lammps_file() function passes the filename of an input script. -The lammps_command() function passes a single command as a string. -The lammps_commands_list() function passes multiple commands in a -char** list. In both lammps_command() and lammps_commands_list(), -individual commands may or may not have a trailing newline. The -lammps_commands_string() function passes multiple commands -concatenated into one long string, separated by newline characters. -In both lammps_commands_list() and lammps_commands_string(), a single -command can be spread across multiple lines, if the last printable -character of all but the last line is "&", the same as if the lines -appeared in an input script. - -The lammps_free() function is a clean-up function to free memory that -the library allocated previously via other function calls. See -comments in src/library.cpp file for which other functions need this -clean-up. - -The file src/library.cpp also contains these functions for extracting -information from LAMMPS and setting value within LAMMPS. Again, see -the documentation in the src/library.cpp file for details, including -which quantities can be queried by name: - -int lammps_extract_setting(void *, char *) -void *lammps_extract_global(void *, char *) -void lammps_extract_box(void *, double *, double *, - double *, double *, double *, int *, int *) -void *lammps_extract_atom(void *, char *) -void *lammps_extract_compute(void *, char *, int, int) -void *lammps_extract_fix(void *, char *, int, int, int, int) -void *lammps_extract_variable(void *, char *, char *) :pre - -The extract_setting() function returns info on the size -of data types (e.g. 32-bit or 64-bit atom IDs) used -by the LAMMPS executable (a compile-time choice). - -The other extract functions return a pointer to various global or -per-atom quantities stored in LAMMPS or to values calculated by a -compute, fix, or variable. The pointer returned by the -extract_global() function can be used as a permanent reference to a -value which may change. For the extract_atom() method, see the -extract() method in the src/atom.cpp file for a list of valid per-atom -properties. New names could easily be added if the property you want -is not listed. For the other extract functions, the underlying -storage may be reallocated as LAMMPS runs, so you need to re-call the -function to assure a current pointer or returned value(s). - -double lammps_get_thermo(void *, char *) -int lammps_get_natoms(void *) :pre - -int lammps_set_variable(void *, char *, char *) -void lammps_reset_box(void *, double *, double *, double, double, double) :pre - -The lammps_get_thermo() function returns the current value of a thermo -keyword as a double precision value. - -The lammps_get_natoms() function returns the total number of atoms in -the system and can be used by the caller to allocate memory for the -lammps_gather_atoms() and lammps_scatter_atoms() functions. - -The lammps_set_variable() function can set an existing string-style -variable to a new string value, so that subsequent LAMMPS commands can -access the variable. - -The lammps_reset_box() function resets the size and shape of the -simulation box, e.g. as part of restoring a previously extracted and -saved state of a simulation. - -void lammps_gather_atoms(void *, char *, int, int, void *) -void lammps_gather_atoms_concat(void *, char *, int, int, void *) -void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *) -void lammps_scatter_atoms(void *, char *, int, int, void *) -void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *) :pre - -void lammps_create_atoms(void *, int, tagint *, int *, double *, double *, - imageint *, int) :pre - -The gather functions collect peratom info of the requested type (atom -coords, atom types, forces, etc) from all processors, and returns the -same vector of values to each callling processor. The scatter -functions do the inverse. They distribute a vector of peratom values, -passed by all calling processors, to invididual atoms, which may be -owned by different processos. - -The lammps_gather_atoms() function does this for all N atoms in the -system, ordered by atom ID, from 1 to N. The -lammps_gather_atoms_concat() function does it for all N atoms, but -simply concatenates the subset of atoms owned by each processor. The -resulting vector is not ordered by atom ID. Atom IDs can be requetsed -by the same function if the caller needs to know the ordering. The -lammps_gather_subset() function allows the caller to request values -for only a subset of atoms (identified by ID). -For all 3 gather function, per-atom image flags can be retrieved in 2 ways. -If the count is specified as 1, they are returned -in a packed format with all three image flags stored in a single integer. -If the count is specified as 3, the values are unpacked into xyz flags -by the library before returning them. - -The lammps_scatter_atoms() function takes a list of values for all N -atoms in the system, ordered by atom ID, from 1 to N, and assigns -those values to each atom in the system. The -lammps_scatter_atoms_subset() function takes a subset of IDs as an -argument and only scatters those values to the owning atoms. - -The lammps_create_atoms() function takes a list of N atoms as input -with atom types and coords (required), an optionally atom IDs and -velocities and image flags. It uses the coords of each atom to assign -it as a new atom to the processor that owns it. This function is -useful to add atoms to a simulation or (in tandem with -lammps_reset_box()) to restore a previously extracted and saved state -of a simulation. Additional properties for the new atoms can then be -assigned via the lammps_scatter_atoms() or lammps_extract_atom() -functions. - -:line - -6.20 Calculating thermal conductivity :link(howto_20),h4 - -The thermal conductivity kappa of a material can be measured in at -least 4 ways using various options in LAMMPS. See the examples/KAPPA -directory for scripts that implement the 4 methods discussed here for -a simple Lennard-Jones fluid model. Also, see "this -section"_Section_howto.html#howto_21 of the manual for an analogous -discussion for viscosity. - -The thermal conductivity tensor kappa is a measure of the propensity -of a material to transmit heat energy in a diffusive manner as given -by Fourier's law - -J = -kappa grad(T) - -where J is the heat flux in units of energy per area per time and -grad(T) is the spatial gradient of temperature. The thermal -conductivity thus has units of energy per distance per time per degree -K and is often approximated as an isotropic quantity, i.e. as a -scalar. - -The first method is to setup two thermostatted regions at opposite -ends of a simulation box, or one in the middle and one at the end of a -periodic box. By holding the two regions at different temperatures -with a "thermostatting fix"_Section_howto.html#howto_13, the energy -added to the hot region should equal the energy subtracted from the -cold region and be proportional to the heat flux moving between the -regions. See the papers by "Ikeshoji and Hafskjold"_#howto-Ikeshoji -and "Wirnsberger et al"_#howto-Wirnsberger for details of this idea. -Note that thermostatting fixes such as "fix nvt"_fix_nh.html, "fix -langevin"_fix_langevin.html, and "fix -temp/rescale"_fix_temp_rescale.html store the cumulative energy they -add/subtract. - -Alternatively, as a second method, the "fix heat"_fix_heat.html or -"fix ehex"_fix_ehex.html commands can be used in place of thermostats -on each of two regions to add/subtract specified amounts of energy to -both regions. In both cases, the resulting temperatures of the two -regions can be monitored with the "compute temp/region" command and -the temperature profile of the intermediate region can be monitored -with the "fix ave/chunk"_fix_ave_chunk.html and "compute -ke/atom"_compute_ke_atom.html commands. - -The third method is to perform a reverse non-equilibrium MD simulation -using the "fix thermal/conductivity"_fix_thermal_conductivity.html -command which implements the rNEMD algorithm of Muller-Plathe. -Kinetic energy is swapped between atoms in two different layers of the -simulation box. This induces a temperature gradient between the two -layers which can be monitored with the "fix -ave/chunk"_fix_ave_chunk.html and "compute -ke/atom"_compute_ke_atom.html commands. The fix tallies the -cumulative energy transfer that it performs. See the "fix -thermal/conductivity"_fix_thermal_conductivity.html command for -details. - -The fourth method is based on the Green-Kubo (GK) formula which -relates the ensemble average of the auto-correlation of the heat flux -to kappa. The heat flux can be calculated from the fluctuations of -per-atom potential and kinetic energies and per-atom stress tensor in -a steady-state equilibrated simulation. This is in contrast to the -two preceding non-equilibrium methods, where energy flows continuously -between hot and cold regions of the simulation box. - -The "compute heat/flux"_compute_heat_flux.html command can calculate -the needed heat flux and describes how to implement the Green_Kubo -formalism using additional LAMMPS commands, such as the "fix -ave/correlate"_fix_ave_correlate.html command to calculate the needed -auto-correlation. See the doc page for the "compute -heat/flux"_compute_heat_flux.html command for an example input script -that calculates the thermal conductivity of solid Ar via the GK -formalism. - -:line - -6.21 Calculating viscosity :link(howto_21),h4 - -The shear viscosity eta of a fluid can be measured in at least 5 ways -using various options in LAMMPS. See the examples/VISCOSITY directory -for scripts that implement the 5 methods discussed here for a simple -Lennard-Jones fluid model. Also, see "this -section"_Section_howto.html#howto_20 of the manual for an analogous -discussion for thermal conductivity. - -Eta is a measure of the propensity of a fluid to transmit momentum in -a direction perpendicular to the direction of velocity or momentum -flow. Alternatively it is the resistance the fluid has to being -sheared. It is given by - -J = -eta grad(Vstream) - -where J is the momentum flux in units of momentum per area per time. -and grad(Vstream) is the spatial gradient of the velocity of the fluid -moving in another direction, normal to the area through which the -momentum flows. Viscosity thus has units of pressure-time. - -The first method is to perform a non-equilibrium MD (NEMD) simulation -by shearing the simulation box via the "fix deform"_fix_deform.html -command, and using the "fix nvt/sllod"_fix_nvt_sllod.html command to -thermostat the fluid via the SLLOD equations of motion. -Alternatively, as a second method, one or more moving walls can be -used to shear the fluid in between them, again with some kind of -thermostat that modifies only the thermal (non-shearing) components of -velocity to prevent the fluid from heating up. - -In both cases, the velocity profile setup in the fluid by this -procedure can be monitored by the "fix -ave/chunk"_fix_ave_chunk.html command, which determines -grad(Vstream) in the equation above. E.g. the derivative in the -y-direction of the Vx component of fluid motion or grad(Vstream) = -dVx/dy. The Pxy off-diagonal component of the pressure or stress -tensor, as calculated by the "compute pressure"_compute_pressure.html -command, can also be monitored, which is the J term in the equation -above. See "this section"_Section_howto.html#howto_13 of the manual -for details on NEMD simulations. - -The third method is to perform a reverse non-equilibrium MD simulation -using the "fix viscosity"_fix_viscosity.html command which implements -the rNEMD algorithm of Muller-Plathe. Momentum in one dimension is -swapped between atoms in two different layers of the simulation box in -a different dimension. This induces a velocity gradient which can be -monitored with the "fix ave/chunk"_fix_ave_chunk.html command. -The fix tallies the cumulative momentum transfer that it performs. -See the "fix viscosity"_fix_viscosity.html command for details. - -The fourth method is based on the Green-Kubo (GK) formula which -relates the ensemble average of the auto-correlation of the -stress/pressure tensor to eta. This can be done in a fully -equilibrated simulation which is in contrast to the two preceding -non-equilibrium methods, where momentum flows continuously through the -simulation box. - -Here is an example input script that calculates the viscosity of -liquid Ar via the GK formalism: - -# Sample LAMMPS input script for viscosity of liquid Ar :pre - -units real -variable T equal 86.4956 -variable V equal vol -variable dt equal 4.0 -variable p equal 400 # correlation length -variable s equal 5 # sample interval -variable d equal $p*$s # dump interval :pre - -# convert from LAMMPS real units to SI :pre - -variable kB equal 1.3806504e-23 # \[J/K/] Boltzmann -variable atm2Pa equal 101325.0 -variable A2m equal 1.0e-10 -variable fs2s equal 1.0e-15 -variable convert equal $\{atm2Pa\}*$\{atm2Pa\}*$\{fs2s\}*$\{A2m\}*$\{A2m\}*$\{A2m\} :pre - -# setup problem :pre - -dimension 3 -boundary p p p -lattice fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 -region box block 0 4 0 4 0 4 -create_box 1 box -create_atoms 1 box -mass 1 39.948 -pair_style lj/cut 13.0 -pair_coeff * * 0.2381 3.405 -timestep $\{dt\} -thermo $d :pre - -# equilibration and thermalization :pre - -velocity all create $T 102486 mom yes rot yes dist gaussian -fix NVT all nvt temp $T $T 10 drag 0.2 -run 8000 :pre - -# viscosity calculation, switch to NVE if desired :pre - -#unfix NVT -#fix NVE all nve :pre - -reset_timestep 0 -variable pxy equal pxy -variable pxz equal pxz -variable pyz equal pyz -fix SS all ave/correlate $s $p $d & - v_pxy v_pxz v_pyz type auto file S0St.dat ave running -variable scale equal $\{convert\}/($\{kB\}*$T)*$V*$s*$\{dt\} -variable v11 equal trap(f_SS\[3\])*$\{scale\} -variable v22 equal trap(f_SS\[4\])*$\{scale\} -variable v33 equal trap(f_SS\[5\])*$\{scale\} -thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33 -run 100000 -variable v equal (v_v11+v_v22+v_v33)/3.0 -variable ndens equal count(all)/vol -print "average viscosity: $v \[Pa.s\] @ $T K, $\{ndens\} /A^3" :pre - -The fifth method is related to the above Green-Kubo method, -but uses the Einstein formulation, analogous to the Einstein -mean-square-displacement formulation for self-diffusivity. The -time-integrated momentum fluxes play the role of Cartesian -coordinates, whose mean-square displacement increases linearly -with time at sufficiently long times. - -:line - -6.22 Calculating a diffusion coefficient :link(howto_22),h4 - -The diffusion coefficient D of a material can be measured in at least -2 ways using various options in LAMMPS. See the examples/DIFFUSE -directory for scripts that implement the 2 methods discussed here for -a simple Lennard-Jones fluid model. - -The first method is to measure the mean-squared displacement (MSD) of -the system, via the "compute msd"_compute_msd.html command. The slope -of the MSD versus time is proportional to the diffusion coefficient. -The instantaneous MSD values can be accumulated in a vector via the -"fix vector"_fix_vector.html command, and a line fit to the vector to -compute its slope via the "variable slope"_variable.html function, and -thus extract D. - -The second method is to measure the velocity auto-correlation function -(VACF) of the system, via the "compute vacf"_compute_vacf.html -command. The time-integral of the VACF is proportional to the -diffusion coefficient. The instantaneous VACF values can be -accumulated in a vector via the "fix vector"_fix_vector.html command, -and time integrated via the "variable trap"_variable.html function, -and thus extract D. - -:line - -6.23 Using chunks to calculate system properties :link(howto_23),h4 - -In LAMMS, "chunks" are collections of atoms, as defined by the -"compute chunk/atom"_compute_chunk_atom.html command, which assigns -each atom to a chunk ID (or to no chunk at all). The number of chunks -and the assignment of chunk IDs to atoms can be static or change over -time. Examples of "chunks" are molecules or spatial bins or atoms -with similar values (e.g. coordination number or potential energy). - -The per-atom chunk IDs can be used as input to two other kinds of -commands, to calculate various properties of a system: - -"fix ave/chunk"_fix_ave_chunk.html -any of the "compute */chunk"_compute.html commands :ul - -Here, each of the 3 kinds of chunk-related commands is briefly -overviewed. Then some examples are given of how to compute different -properties with chunk commands. - -Compute chunk/atom command: :h4 - -This compute can assign atoms to chunks of various styles. Only atoms -in the specified group and optional specified region are assigned to a -chunk. Here are some possible chunk definitions: - -atoms in same molecule | chunk ID = molecule ID | -atoms of same atom type | chunk ID = atom type | -all atoms with same atom property (charge, radius, etc) | chunk ID = output of compute property/atom | -atoms in same cluster | chunk ID = output of "compute cluster/atom"_compute_cluster_atom.html command | -atoms in same spatial bin | chunk ID = bin ID | -atoms in same rigid body | chunk ID = molecule ID used to define rigid bodies | -atoms with similar potential energy | chunk ID = output of "compute pe/atom"_compute_pe_atom.html | -atoms with same local defect structure | chunk ID = output of "compute centro/atom"_compute_centro_atom.html or "compute coord/atom"_compute_coord_atom.html command :tb(s=|,c=2) - -Note that chunk IDs are integer values, so for atom properties or -computes that produce a floating point value, they will be truncated -to an integer. You could also use the compute in a variable that -scales the floating point value to spread it across multiple integers. - -Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins = -pencils, 3d bins = boxes, spherical bins, cylindrical bins. - -This compute also calculates the number of chunks {Nchunk}, which is -used by other commands to tally per-chunk data. {Nchunk} can be a -static value or change over time (e.g. the number of clusters). The -chunk ID for an individual atom can also be static (e.g. a molecule -ID), or dynamic (e.g. what spatial bin an atom is in as it moves). - -Note that this compute allows the per-atom output of other -"computes"_compute.html, "fixes"_fix.html, and -"variables"_variable.html to be used to define chunk IDs for each -atom. This means you can write your own compute or fix to output a -per-atom quantity to use as chunk ID. See the "Modify"_Modify.html -doc page for how to do this. You can also define a "per-atom -variable"_variable.html in the input script that uses a formula to -generate a chunk ID for each atom. - -Fix ave/chunk command: :h4 - -This fix takes the ID of a "compute -chunk/atom"_compute_chunk_atom.html command as input. For each chunk, -it then sums one or more specified per-atom values over the atoms in -each chunk. The per-atom values can be any atom property, such as -velocity, force, charge, potential energy, kinetic energy, stress, -etc. Additional keywords are defined for per-chunk properties like -density and temperature. More generally any per-atom value generated -by other "computes"_compute.html, "fixes"_fix.html, and "per-atom -variables"_variable.html, can be summed over atoms in each chunk. - -Similar to other averaging fixes, this fix allows the summed per-chunk -values to be time-averaged in various ways, and output to a file. The -fix produces a global array as output with one row of values per -chunk. - -Compute */chunk commands: :h4 - -Currently the following computes operate on chunks of atoms to produce -per-chunk values. - -"compute com/chunk"_compute_com_chunk.html -"compute gyration/chunk"_compute_gyration_chunk.html -"compute inertia/chunk"_compute_inertia_chunk.html -"compute msd/chunk"_compute_msd_chunk.html -"compute property/chunk"_compute_property_chunk.html -"compute temp/chunk"_compute_temp_chunk.html -"compute torque/chunk"_compute_vcm_chunk.html -"compute vcm/chunk"_compute_vcm_chunk.html :ul - -They each take the ID of a "compute -chunk/atom"_compute_chunk_atom.html command as input. As their names -indicate, they calculate the center-of-mass, radius of gyration, -moments of inertia, mean-squared displacement, temperature, torque, -and velocity of center-of-mass for each chunk of atoms. The "compute -property/chunk"_compute_property_chunk.html command can tally the -count of atoms in each chunk and extract other per-chunk properties. - -The reason these various calculations are not part of the "fix -ave/chunk command"_fix_ave_chunk.html, is that each requires a more -complicated operation than simply summing and averaging over per-atom -values in each chunk. For example, many of them require calculation -of a center of mass, which requires summing mass*position over the -atoms and then dividing by summed mass. - -All of these computes produce a global vector or global array as -output, wih one or more values per chunk. They can be used -in various ways: - -As input to the "fix ave/time"_fix_ave_time.html command, which can -write the values to a file and optionally time average them. :ulb,l - -As input to the "fix ave/histo"_fix_ave_histo.html command to -histogram values across chunks. E.g. a histogram of cluster sizes or -molecule diffusion rates. :l - -As input to special functions of "equal-style -variables"_variable.html, like sum() and max(). E.g. to find the -largest cluster or fastest diffusing molecule. :l -:ule - -Example calculations with chunks :h4 - -Here are examples using chunk commands to calculate various -properties: - -(1) Average velocity in each of 1000 2d spatial bins: - -compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced -fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out :pre - -(2) Temperature in each spatial bin, after subtracting a flow -velocity: - -compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced -compute vbias all temp/profile 1 0 0 y 10 -fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out :pre - -(3) Center of mass of each molecule: - -compute cc1 all chunk/atom molecule -compute myChunk all com/chunk cc1 -fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre - -(4) Total force on each molecule and ave/max across all molecules: - -compute cc1 all chunk/atom molecule -fix 1 all ave/chunk 1000 1 1000 cc1 fx fy fz file tmp.out -variable xave equal ave(f_1\[2\]) -variable xmax equal max(f_1\[2\]) -thermo 1000 -thermo_style custom step temp v_xave v_xmax :pre - -(5) Histogram of cluster sizes: - -compute cluster all cluster/atom 1.0 -compute cc1 all chunk/atom c_cluster compress yes -compute size all property/chunk cc1 count -fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo :pre - -:line - -6.24 Setting parameters for the "kspace_style pppm/disp"_kspace_style.html command :link(howto_24),h4 - -The PPPM method computes interactions by splitting the pair potential -into two parts, one of which is computed in a normal pairwise fashion, -the so-called real-space part, and one of which is computed using the -Fourier transform, the so called reciprocal-space or kspace part. For -both parts, the potential is not computed exactly but is approximated. -Thus, there is an error in both parts of the computation, the -real-space and the kspace error. The just mentioned facts are true -both for the PPPM for Coulomb as well as dispersion interactions. The -deciding difference - and also the reason why the parameters for -pppm/disp have to be selected with more care - is the impact of the -errors on the results: The kspace error of the PPPM for Coulomb and -dispersion interaction and the real-space error of the PPPM for -Coulomb interaction have the character of noise. In contrast, the -real-space error of the PPPM for dispersion has a clear physical -interpretation: the underprediction of cohesion. As a consequence, the -real-space error has a much stronger effect than the kspace error on -simulation results for pppm/disp. Parameters must thus be chosen in a -way that this error is much smaller than the kspace error. - -When using pppm/disp and not making any specifications on the PPPM -parameters via the kspace modify command, parameters will be tuned -such that the real-space error and the kspace error are equal. This -will result in simulations that are either inaccurate or slow, both of -which is not desirable. For selecting parameters for the pppm/disp -that provide fast and accurate simulations, there are two approaches, -which both have their up- and downsides. - -The first approach is to set desired real-space an kspace accuracies -via the {kspace_modify force/disp/real} and {kspace_modify -force/disp/kspace} commands. Note that the accuracies have to be -specified in force units and are thus dependent on the chosen unit -settings. For real units, 0.0001 and 0.002 seem to provide reasonable -accurate and efficient computations for the real-space and kspace -accuracies. 0.002 and 0.05 work well for most systems using lj -units. PPPM parameters will be generated based on the desired -accuracies. The upside of this approach is that it usually provides a -good set of parameters and will work for both the {kspace_modify diff -ad} and {kspace_modify diff ik} options. The downside of the method -is that setting the PPPM parameters will take some time during the -initialization of the simulation. - -The second approach is to set the parameters for the pppm/disp -explicitly using the {kspace_modify mesh/disp}, {kspace_modify -order/disp}, and {kspace_modify gewald/disp} commands. This approach -requires a more experienced user who understands well the impact of -the choice of parameters on the simulation accuracy and -performance. This approach provides a fast initialization of the -simulation. However, it is sensitive to errors: A combination of -parameters that will perform well for one system might result in -far-from-optimal conditions for other simulations. For example, -parameters that provide accurate and fast computations for -all-atomistic force fields can provide insufficient accuracy or -united-atomistic force fields (which is related to that the latter -typically have larger dispersion coefficients). - -To avoid inaccurate or inefficient simulations, the pppm/disp stops -simulations with an error message if no action is taken to control the -PPPM parameters. If the automatic parameter generation is desired and -real-space and kspace accuracies are desired to be equal, this error -message can be suppressed using the {kspace_modify disp/auto yes} -command. - -A reasonable approach that combines the upsides of both methods is to -make the first run using the {kspace_modify force/disp/real} and -{kspace_modify force/disp/kspace} commands, write down the PPPM -parameters from the outut, and specify these parameters using the -second approach in subsequent runs (which have the same composition, -force field, and approximately the same volume). - -Concerning the performance of the pppm/disp there are two more things -to consider. The first is that when using the pppm/disp, the cutoff -parameter does no longer affect the accuracy of the simulation -(subject to that gewald/disp is adjusted when changing the cutoff). -The performance can thus be increased by examining different values -for the cutoff parameter. A lower bound for the cutoff is only set by -the truncation error of the repulsive term of pair potentials. - -The second is that the mixing rule of the pair style has an impact on -the computation time when using the pppm/disp. Fastest computations -are achieved when using the geometric mixing rule. Using the -arithmetic mixing rule substantially increases the computational cost. -The computational overhead can be reduced using the {kspace_modify -mix/disp geom} and {kspace_modify splittol} commands. The first -command simply enforces geometric mixing of the dispersion -coefficients in kspace computations. This introduces some error in -the computations but will also significantly speed-up the -simulations. The second keyword sets the accuracy with which the -dispersion coefficients are approximated using a matrix factorization -approach. This may result in better accuracy then using the first -command, but will usually also not provide an equally good increase of -efficiency. - -Finally, pppm/disp can also be used when no mixing rules apply. -This can be achieved using the {kspace_modify mix/disp none} command. -Note that the code does not check automatically whether any mixing -rule is fulfilled. If mixing rules do not apply, the user will have -to specify this command explicitly. - -:line - -6.25 Polarizable models :link(howto_25),h4 - -In polarizable force fields the charge distributions in molecules and -materials respond to their electrostatic environments. Polarizable -systems can be simulated in LAMMPS using three methods: - -the fluctuating charge method, implemented in the "QEQ"_fix_qeq.html -package, :ulb,l -the adiabatic core-shell method, implemented in the -"CORESHELL"_#howto_26 package, :l -the thermalized Drude dipole method, implemented in the -"USER-DRUDE"_#howto_27 package. :l -:ule - -The fluctuating charge method calculates instantaneous charges on -interacting atoms based on the electronegativity equalization -principle. It is implemented in the "fix qeq"_fix_qeq.html which is -available in several variants. It is a relatively efficient technique -since no additional particles are introduced. This method allows for -charge transfer between molecules or atom groups. However, because the -charges are located at the interaction sites, off-plane components of -polarization cannot be represented in planar molecules or atom groups. - -The two other methods share the same basic idea: polarizable atoms are -split into one core atom and one satellite particle (called shell or -Drude particle) attached to it by a harmonic spring. Both atoms bear -a charge and they represent collectively an induced electric dipole. -These techniques are computationally more expensive than the QEq -method because of additional particles and bonds. These two -charge-on-spring methods differ in certain features, with the -core-shell model being normally used for ionic/crystalline materials, -whereas the so-called Drude model is normally used for molecular -systems and fluid states. - -The core-shell model is applicable to crystalline materials where the -high symmetry around each site leads to stable trajectories of the -core-shell pairs. However, bonded atoms in molecules can be so close -that a core would interact too strongly or even capture the Drude -particle of a neighbor. The Drude dipole model is relatively more -complex in order to remediate this and other issues. Specifically, the -Drude model includes specific thermostating of the core-Drude pairs -and short-range damping of the induced dipoles. - -The three polarization methods can be implemented through a -self-consistent calculation of charges or induced dipoles at each -timestep. In the fluctuating charge scheme this is done by the matrix -inversion method in "fix qeq/point"_fix_qeq.html, but for core-shell -or Drude-dipoles the relaxed-dipoles technique would require an slow -iterative procedure. These self-consistent solutions yield accurate -trajectories since the additional degrees of freedom representing -polarization are massless. An alternative is to attribute a mass to -the additional degrees of freedom and perform time integration using -an extended Lagrangian technique. For the fluctuating charge scheme -this is done by "fix qeq/dynamic"_fix_qeq.html, and for the -charge-on-spring models by the methods outlined in the next two -sections. The assignment of masses to the additional degrees of -freedom can lead to unphysical trajectories if care is not exerted in -choosing the parameters of the polarizable models and the simulation -conditions. - -In the core-shell model the vibration of the shells is kept faster -than the ionic vibrations to mimic the fast response of the -polarizable electrons. But in molecular systems thermalizing the -core-Drude pairs at temperatures comparable to the rest of the -simulation leads to several problems (kinetic energy transfer, too -short a timestep, etc.) In order to avoid these problems the relative -motion of the Drude particles with respect to their cores is kept -"cold" so the vibration of the core-Drude pairs is very slow, -approaching the self-consistent regime. In both models the -temperature is regulated using the velocities of the center of mass of -core+shell (or Drude) pairs, but in the Drude model the actual -relative core-Drude particle motion is thermostated separately as -well. - -:line - -6.26 Adiabatic core/shell model :link(howto_26),h4 - -The adiabatic core-shell model by "Mitchell and -Fincham"_#MitchellFincham is a simple method for adding -polarizability to a system. In order to mimic the electron shell of -an ion, a satellite particle is attached to it. This way the ions are -split into a core and a shell where the latter is meant to react to -the electrostatic environment inducing polarizability. - -Technically, shells are attached to the cores by a spring force f = -k*r where k is a parametrized spring constant and r is the distance -between the core and the shell. The charges of the core and the shell -add up to the ion charge, thus q(ion) = q(core) + q(shell). This -setup introduces the ion polarizability (alpha) given by -alpha = q(shell)^2 / k. In a -similar fashion the mass of the ion is distributed on the core and the -shell with the core having the larger mass. - -To run this model in LAMMPS, "atom_style"_atom_style.html {full} can -be used since atom charge and bonds are needed. Each kind of -core/shell pair requires two atom types and a bond type. The core and -shell of a core/shell pair should be bonded to each other with a -harmonic bond that provides the spring force. For example, a data file -for NaCl, as found in examples/coreshell, has this format: - -432 atoms # core and shell atoms -216 bonds # number of core/shell springs :pre - -4 atom types # 2 cores and 2 shells for Na and Cl -2 bond types :pre - -0.0 24.09597 xlo xhi -0.0 24.09597 ylo yhi -0.0 24.09597 zlo zhi :pre - -Masses # core/shell mass ratio = 0.1 :pre - -1 20.690784 # Na core -2 31.90500 # Cl core -3 2.298976 # Na shell -4 3.54500 # Cl shell :pre - -Atoms :pre - -1 1 2 1.5005 0.00000000 0.00000000 0.00000000 # core of core/shell pair 1 -2 1 4 -2.5005 0.00000000 0.00000000 0.00000000 # shell of core/shell pair 1 -3 2 1 1.5056 4.01599500 4.01599500 4.01599500 # core of core/shell pair 2 -4 2 3 -0.5056 4.01599500 4.01599500 4.01599500 # shell of core/shell pair 2 -(...) :pre - -Bonds # Bond topology for spring forces :pre - -1 2 1 2 # spring for core/shell pair 1 -2 2 3 4 # spring for core/shell pair 2 -(...) :pre - -Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only -defined between the shells. Coulombic interactions are defined -between all cores and shells. If desired, additional bonds can be -specified between cores. - -The "special_bonds"_special_bonds.html command should be used to -turn-off the Coulombic interaction within core/shell pairs, since that -interaction is set by the bond spring. This is done using the -"special_bonds"_special_bonds.html command with a 1-2 weight = 0.0, -which is the default value. It needs to be considered whether one has -to adjust the "special_bonds"_special_bonds.html weighting according -to the molecular topology since the interactions of the shells are -bypassed over an extra bond. - -Note that this core/shell implementation does not require all ions to -be polarized. One can mix core/shell pairs and ions without a -satellite particle if desired. - -Since the core/shell model permits distances of r = 0.0 between the -core and shell, a pair style with a "cs" suffix needs to be used to -implement a valid long-range Coulombic correction. Several such pair -styles are provided in the CORESHELL package. See "this doc -page"_pair_cs.html for details. All of the core/shell enabled pair -styles require the use of a long-range Coulombic solver, as specified -by the "kspace_style"_kspace_style.html command. Either the PPPM or -Ewald solvers can be used. - -For the NaCL example problem, these pair style and bond style settings -are used: - -pair_style born/coul/long/cs 20.0 20.0 -pair_coeff * * 0.0 1.000 0.00 0.00 0.00 -pair_coeff 3 3 487.0 0.23768 0.00 1.05 0.50 #Na-Na -pair_coeff 3 4 145134.0 0.23768 0.00 6.99 8.70 #Na-Cl -pair_coeff 4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl :pre - -bond_style harmonic -bond_coeff 1 63.014 0.0 -bond_coeff 2 25.724 0.0 :pre - -When running dynamics with the adiabatic core/shell model, the -following issues should be considered. The relative motion of -the core and shell particles corresponds to the polarization, -hereby an instantaneous relaxation of the shells is approximated -and a fast core/shell spring frequency ensures a nearly constant -internal kinetic energy during the simulation. -Thermostats can alter this polarization behaviour, by scaling the -internal kinetic energy, meaning the shell will not react freely to -its electrostatic environment. -Therefore it is typically desirable to decouple the relative motion of -the core/shell pair, which is an imaginary degree of freedom, from the -real physical system. To do that, the "compute -temp/cs"_compute_temp_cs.html command can be used, in conjunction with -any of the thermostat fixes, such as "fix nvt"_fix_nh.html or "fix -langevin"_fix_langevin. This compute uses the center-of-mass velocity -of the core/shell pairs to calculate a temperature, and insures that -velocity is what is rescaled for thermostatting purposes. This -compute also works for a system with both core/shell pairs and -non-polarized ions (ions without an attached satellite particle). The -"compute temp/cs"_compute_temp_cs.html command requires input of two -groups, one for the core atoms, another for the shell atoms. -Non-polarized ions which might also be included in the treated system -should not be included into either of these groups, they are taken -into account by the {group-ID} (2nd argument) of the compute. The -groups can be defined using the "group {type}"_group.html command. -Note that to perform thermostatting using this definition of -temperature, the "fix modify temp"_fix_modify.html command should be -used to assign the compute to the thermostat fix. Likewise the -"thermo_modify temp"_thermo_modify.html command can be used to make -this temperature be output for the overall system. - -For the NaCl example, this can be done as follows: - -group cores type 1 2 -group shells type 3 4 -compute CSequ all temp/cs cores shells -fix thermoberendsen all temp/berendsen 1427 1427 0.4 # thermostat for the true physical system -fix thermostatequ all nve # integrator as needed for the berendsen thermostat -fix_modify thermoberendsen temp CSequ -thermo_modify temp CSequ # output of center-of-mass derived temperature :pre - -The pressure for the core/shell system is computed via the regular -LAMMPS convention by "treating the cores and shells as individual -particles"_#MitchellFincham2. For the thermo output of the pressure -as well as for the application of a barostat, it is necessary to -use an additional "pressure"_compute_pressure compute based on the -default "temperature"_compute_temp and specifying it as a second -argument in "fix modify"_fix_modify.html and -"thermo_modify"_thermo_modify.html resulting in: - -(...) -compute CSequ all temp/cs cores shells -compute thermo_press_lmp all pressure thermo_temp # pressure for individual particles -thermo_modify temp CSequ press thermo_press_lmp # modify thermo to regular pressure -fix press_bar all npt temp 300 300 0.04 iso 0 0 0.4 -fix_modify press_bar temp CSequ press thermo_press_lmp # pressure modification for correct kinetic scalar :pre - -If "compute temp/cs"_compute_temp_cs.html is used, the decoupled -relative motion of the core and the shell should in theory be -stable. However numerical fluctuation can introduce a small -momentum to the system, which is noticable over long trajectories. -Therefore it is recommendable to use the "fix -momentum"_fix_momentum.html command in combination with "compute -temp/cs"_compute_temp_cs.html when equilibrating the system to -prevent any drift. - -When initializing the velocities of a system with core/shell pairs, it -is also desirable to not introduce energy into the relative motion of -the core/shell particles, but only assign a center-of-mass velocity to -the pairs. This can be done by using the {bias} keyword of the -"velocity create"_velocity.html command and assigning the "compute -temp/cs"_compute_temp_cs.html command to the {temp} keyword of the -"velocity"_velocity.html command, e.g. - -velocity all create 1427 134 bias yes temp CSequ -velocity all scale 1427 temp CSequ :pre - -To maintain the correct polarizability of the core/shell pairs, the -kinetic energy of the internal motion shall remain nearly constant. -Therefore the choice of spring force and mass ratio need to ensure -much faster relative motion of the 2 atoms within the core/shell pair -than their center-of-mass velocity. This allows the shells to -effectively react instantaneously to the electrostatic environment and -limits energy transfer to or from the core/shell oscillators. -This fast movement also dictates the timestep that can be used. - -The primary literature of the adiabatic core/shell model suggests that -the fast relative motion of the core/shell pairs only allows negligible -energy transfer to the environment. -The mentioned energy transfer will typically lead to a small drift -in total energy over time. This internal energy can be monitored -using the "compute chunk/atom"_compute_chunk_atom.html and "compute -temp/chunk"_compute_temp_chunk.html commands. The internal kinetic -energies of each core/shell pair can then be summed using the sum() -special function of the "variable"_variable.html command. Or they can -be time/averaged and output using the "fix ave/time"_fix_ave_time.html -command. To use these commands, each core/shell pair must be defined -as a "chunk". If each core/shell pair is defined as its own molecule, -the molecule ID can be used to define the chunks. If cores are bonded -to each other to form larger molecules, the chunks can be identified -by the "fix property/atom"_fix_property_atom.html via assigning a -core/shell ID to each atom using a special field in the data file read -by the "read_data"_read_data.html command. This field can then be -accessed by the "compute property/atom"_compute_property_atom.html -command, to use as input to the "compute -chunk/atom"_compute_chunk_atom.html command to define the core/shell -pairs as chunks. - -For example if core/shell pairs are the only molecules: - -read_data NaCl_CS_x0.1_prop.data -compute prop all property/atom molecule -compute cs_chunk all chunk/atom c_prop -compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0 # note the chosen degrees of freedom for the core/shell pairs -fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector :pre - -For example if core/shell pairs and other molecules are present: - -fix csinfo all property/atom i_CSID # property/atom command -read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info # atom property added in the data-file -compute prop all property/atom i_CSID -(...) :pre - -The additional section in the date file would be formatted like this: - -CS-Info # header of additional section :pre - -1 1 # column 1 = atom ID, column 2 = core/shell ID -2 1 -3 2 -4 2 -5 3 -6 3 -7 4 -8 4 -(...) :pre - -:line - -6.27 Drude induced dipoles :link(howto_27),h4 - -The thermalized Drude model, similarly to the "core-shell"_#howto_26 -model, represents induced dipoles by a pair of charges (the core atom -and the Drude particle) connected by a harmonic spring. The Drude -model has a number of features aimed at its use in molecular systems -("Lamoureux and Roux"_#howto-Lamoureux): - -Thermostating of the additional degrees of freedom associated with the -induced dipoles at very low temperature, in terms of the reduced -coordinates of the Drude particles with respect to their cores. This -makes the trajectory close to that of relaxed induced dipoles. :ulb,l - -Consistent definition of 1-2 to 1-4 neighbors. A core-Drude particle -pair represents a single (polarizable) atom, so the special screening -factors in a covalent structure should be the same for the core and -the Drude particle. Drude particles have to inherit the 1-2, 1-3, 1-4 -special neighbor relations from their respective cores. :l - -Stabilization of the interactions between induced dipoles. Drude -dipoles on covalently bonded atoms interact too strongly due to the -short distances, so an atom may capture the Drude particle of a -neighbor, or the induced dipoles within the same molecule may align -too much. To avoid this, damping at short range can be done by Thole -functions (for which there are physical grounds). This Thole damping -is applied to the point charges composing the induced dipole (the -charge of the Drude particle and the opposite charge on the core, not -to the total charge of the core atom). :l -:ule - -A detailed tutorial covering the usage of Drude induced dipoles in -LAMMPS is "available here"_tutorial_drude.html. - -As with the core-shell model, the cores and Drude particles should -appear in the data file as standard atoms. The same holds for the -springs between them, which are described by standard harmonic bonds. -The nature of the atoms (core, Drude particle or non-polarizable) is -specified via the "fix drude"_fix_drude.html command. The special -list of neighbors is automatically refactored to account for the -equivalence of core and Drude particles as regards special 1-2 to 1-4 -screening. It may be necessary to use the {extra/special/per/atom} -keyword of the "read_data"_read_data.html command. If using "fix -shake"_fix_shake.html, make sure no Drude particle is in this fix -group. - -There are two ways to thermostat the Drude particles at a low -temperature: use either "fix langevin/drude"_fix_langevin_drude.html -for a Langevin thermostat, or "fix -drude/transform/*"_fix_drude_transform.html for a Nose-Hoover -thermostat. The former requires use of the command "comm_modify vel -yes"_comm_modify.html. The latter requires two separate integration -fixes like {nvt} or {npt}. The correct temperatures of the reduced -degrees of freedom can be calculated using the "compute -temp/drude"_compute_temp_drude.html. This requires also to use the -command {comm_modify vel yes}. - -Short-range damping of the induced dipole interactions can be achieved -using Thole functions through the "pair style -thole"_pair_thole.html in "pair_style hybrid/overlay"_pair_hybrid.html -with a Coulomb pair style. It may be useful to use {coul/long/cs} or -similar from the CORESHELL package if the core and Drude particle come -too close, which can cause numerical issues. - -:line - -6.28 Magnetic spins :link(howto_28),h4 - -Classical magnetic spin simualtions can be performed via the SPIN -package. The algrorithmic and implementation details are described in -"Tranchida"_#Tranchida7. - -The model representents the simulation of atomic magnetic spins -coupled to lattice vibrations. The dynamics of those magnetic spins -can be used to simulate a broad range a phenomena related to -magneto-elasticity, or or to study the influence of defects on the -magnetic properties of materials. - -The magnetic spins are interacting with each others and with the -lattice via pair interactions. Typically, the magnetic exchange -interaction can be defined using the -"pair/spin/exchange"_pair_spin_exchange.html command. This exchange -applies a magnetic torque to a given spin, considering the orientation -of its neighboring spins and their relative distances. -It also applies a force on the atoms as a function of the spin -orientations and their associated inter-atomic distances. - -The command "fix precession/spin"_fix_precession_spin.html allows to -apply a constant magnetic torque on all the spins in the system. This -torque can be an external magnetic field (Zeeman interaction), or an -uniaxial magnetic anisotropy. - -A Langevin thermostat can be applied to those magnetic spins using -"fix langevin/spin"_fix_langevin_spin.html. Typically, this thermostat -can be coupled to another Langevin thermostat applied to the atoms -using "fix langevin"_fix_langevin.html in order to simulate -thermostated spin-lattice system. - -The magnetic Gilbert damping can also be applied using "fix -langevin/spin"_fix_langevin_spin.html. It allows to either dissipate -the thermal energy of the Langevin thermostat, or to perform a -relaxation of the magnetic configuration toward an equilibrium state. - -All the computed magnetic properties can be outputed by two main -commands. The first one is "compute spin"_compute_spin.html, that -enables to evaluate magnetic averaged quantities, such as the total -magnetization of the system along x, y, or z, the spin temperature, or -the magnetic energy. The second command is "compute -property/atom"_compute_property_atom.html. It enables to output all the -per atom magnetic quantities. Typically, the orientation of a given -magnetic spin, or the magnetic force acting on this spin. - -:line -:line - -:link(howto-Berendsen) -[(Berendsen)] Berendsen, Grigera, Straatsma, J Phys Chem, 91, -6269-6271 (1987). - -:link(howto-Cornell) -[(Cornell)] Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, -Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). - -:link(Horn) -[(Horn)] Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon, -J Chem Phys, 120, 9665 (2004). - -:link(howto-Ikeshoji) -[(Ikeshoji)] Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 -(1994). - -:link(howto-Wirnsberger) -[(Wirnsberger)] Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104 -(2015). - -:link(howto-MacKerell) -[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). - -:link(howto-Mayo) -[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990). - -:link(Jorgensen1) -[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem -Phys, 79, 926 (1983). - -:link(Price1) -[(Price)] Price and Brooks, J Chem Phys, 121, 10096 (2004). - -:link(Shinoda1) -[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). - -:link(MitchellFincham) -[(Mitchell and Fincham)] Mitchell, Fincham, J Phys Condensed Matter, -5, 1031-1038 (1993). - -:link(MitchellFincham2) -[(Fincham)] Fincham, Mackrodt and Mitchell, J Phys Condensed Matter, -6, 393-404 (1994). - -:link(howto-Lamoureux) -[(Lamoureux and Roux)] G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003) - -:link(Tranchida7) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -arXiv preprint arXiv:1801.10233, (2018). diff --git a/doc/src/Section_intro.txt b/doc/src/Section_intro.txt deleted file mode 100644 index 36a1181ca7..0000000000 --- a/doc/src/Section_intro.txt +++ /dev/null @@ -1,550 +0,0 @@ -"Previous Section"_Manual.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_start.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -1. Introduction :h2 - -This section provides an overview of what LAMMPS can and can't do, -describes what it means for LAMMPS to be an open-source code, and -acknowledges the funding and people who have contributed to LAMMPS -over the years. - -1.1 "What is LAMMPS"_#intro_1 -1.2 "LAMMPS features"_#intro_2 -1.3 "LAMMPS non-features"_#intro_3 -1.4 "Open source distribution"_#intro_4 -1.5 "Acknowledgments and citations"_#intro_5 :all(b) - -:line -:line - -1.1 What is LAMMPS :link(intro_1),h4 - -LAMMPS is a classical molecular dynamics code that models an ensemble -of particles in a liquid, solid, or gaseous state. It can model -atomic, polymeric, biological, metallic, granular, and coarse-grained -systems using a variety of force fields and boundary conditions. - -For examples of LAMMPS simulations, see the Publications page of the -"LAMMPS WWW Site"_lws. - -LAMMPS runs efficiently on single-processor desktop or laptop -machines, but is designed for parallel computers. It will run on any -parallel machine that compiles C++ and supports the "MPI"_mpi -message-passing library. This includes distributed- or shared-memory -parallel machines and Beowulf-style clusters. - -:link(mpi,http://www-unix.mcs.anl.gov/mpi) - -LAMMPS can model systems with only a few particles up to millions or -billions. See "Section 8"_Section_perf.html for information on -LAMMPS performance and scalability, or the Benchmarks section of the -"LAMMPS WWW Site"_lws. - -LAMMPS is a freely-available open-source code, distributed under the -terms of the "GNU Public License"_gnu, which means you can use or -modify the code however you wish. See "this section"_#intro_4 for a -brief discussion of the open-source philosophy. - -:link(gnu,http://www.gnu.org/copyleft/gpl.html) - -LAMMPS is designed to be easy to modify or extend with new -capabilities, such as new force fields, atom types, boundary -conditions, or diagnostics. See the "Modify"_Modify.html doc page for -more details. - -The current version of LAMMPS is written in C++. Earlier versions -were written in F77 and F90. See -"Section 13"_Section_history.html for more information on -different versions. All versions can be downloaded from the "LAMMPS -WWW Site"_lws. - -LAMMPS was originally developed under a US Department of Energy CRADA -(Cooperative Research and Development Agreement) between two DOE labs -and 3 companies. It is distributed by "Sandia National Labs"_snl. -See "this section"_#intro_5 for more information on LAMMPS funding and -individuals who have contributed to LAMMPS. - -:link(snl,http://www.sandia.gov) - -In the most general sense, LAMMPS integrates Newton's equations of -motion for collections of atoms, molecules, or macroscopic particles -that interact via short- or long-range forces with a variety of -initial and/or boundary conditions. For computational efficiency -LAMMPS uses neighbor lists to keep track of nearby particles. The -lists are optimized for systems with particles that are repulsive at -short distances, so that the local density of particles never becomes -too large. On parallel machines, LAMMPS uses spatial-decomposition -techniques to partition the simulation domain into small 3d -sub-domains, one of which is assigned to each processor. Processors -communicate and store "ghost" atom information for atoms that border -their sub-domain. LAMMPS is most efficient (in a parallel sense) for -systems whose particles fill a 3d rectangular box with roughly uniform -density. Papers with technical details of the algorithms used in -LAMMPS are listed in "this section"_#intro_5. - -:line - -1.2 LAMMPS features :link(intro_2),h4 - -This section highlights LAMMPS features, with pointers to specific -commands which give more details. If LAMMPS doesn't have your -favorite interatomic potential, boundary condition, or atom type, see -the "Modify"_Modify.html doc page, which describes how you can add it -to LAMMPS. - -General features :h4 - - runs on a single processor or in parallel - distributed-memory message-passing parallelism (MPI) - spatial-decomposition of simulation domain for parallelism - open-source distribution - highly portable C++ - optional libraries used: MPI and single-processor FFT - GPU (CUDA and OpenCL), Intel(R) Xeon Phi(TM) coprocessors, and OpenMP support for many code features - easy to extend with new features and functionality - runs from an input script - syntax for defining and using variables and formulas - syntax for looping over runs and breaking out of loops - run one or multiple simulations simultaneously (in parallel) from one script - build as library, invoke LAMMPS thru library interface or provided Python wrapper - couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both :ul - -Particle and model types :h4 -("atom style"_atom_style.html command) - - atoms - coarse-grained particles (e.g. bead-spring polymers) - united-atom polymers or organic molecules - all-atom polymers, organic molecules, proteins, DNA - metals - granular materials - coarse-grained mesoscale models - finite-size spherical and ellipsoidal particles - finite-size line segment (2d) and triangle (3d) particles - point dipole particles - rigid collections of particles - hybrid combinations of these :ul - -Force fields :h4 -("pair style"_pair_style.html, "bond style"_bond_style.html, -"angle style"_angle_style.html, "dihedral style"_dihedral_style.html, -"improper style"_improper_style.html, "kspace style"_kspace_style.html -commands) - - pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, \ - Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated - charged pairwise potentials: Coulombic, point-dipole - manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), \ - embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, \ - REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic - long-range interactions for charge, point-dipoles, and LJ dispersion: \ - Ewald, Wolf, PPPM (similar to particle-mesh Ewald) - polarization models: "QEq"_fix_qeq.html, \ - "core/shell model"_Section_howto.html#howto_26, \ - "Drude dipole model"_Section_howto.html#howto_27 - charge equilibration (QEq via dynamic, point, shielded, Slater methods) - coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO - mesoscopic potentials: granular, Peridynamics, SPH - electron force field (eFF, AWPMD) - bond potentials: harmonic, FENE, Morse, nonlinear, class 2, \ - quartic (breakable) - angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, \ - class 2 (COMPASS) - dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, \ - class 2 (COMPASS), OPLS - improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS) - polymer potentials: all-atom, united-atom, bead-spring, breakable - water potentials: TIP3P, TIP4P, SPC - implicit solvent potentials: hydrodynamic lubrication, Debye - force-field compatibility with common CHARMM, AMBER, DREIDING, \ - OPLS, GROMACS, COMPASS options - access to "KIM archive"_http://openkim.org of potentials via \ - "pair kim"_pair_kim.html - hybrid potentials: multiple pair, bond, angle, dihedral, improper \ - potentials can be used in one simulation - overlaid potentials: superposition of multiple pair potentials :ul - -Atom creation :h4 -("read_data"_read_data.html, "lattice"_lattice.html, -"create_atoms"_create_atoms.html, "delete_atoms"_delete_atoms.html, -"displace_atoms"_displace_atoms.html, "replicate"_replicate.html commands) - - read in atom coords from files - create atoms on one or more lattices (e.g. grain boundaries) - delete geometric or logical groups of atoms (e.g. voids) - replicate existing atoms multiple times - displace atoms :ul - -Ensembles, constraints, and boundary conditions :h4 -("fix"_fix.html command) - - 2d or 3d systems - orthogonal or non-orthogonal (triclinic symmetry) simulation domains - constant NVE, NVT, NPT, NPH, Parinello/Rahman integrators - thermostatting options for groups and geometric regions of atoms - pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions - simulation box deformation (tensile and shear) - harmonic (umbrella) constraint forces - rigid body constraints - SHAKE bond and angle constraints - Monte Carlo bond breaking, formation, swapping - atom/molecule insertion and deletion - walls of various kinds - non-equilibrium molecular dynamics (NEMD) - variety of additional boundary conditions and constraints :ul - -Integrators :h4 -("run"_run.html, "run_style"_run_style.html, "minimize"_minimize.html commands) - - velocity-Verlet integrator - Brownian dynamics - rigid body integration - energy minimization via conjugate gradient or steepest descent relaxation - rRESPA hierarchical timestepping - rerun command for post-processing of dump files :ul - -Diagnostics :h4 - - see the various flavors of the "fix"_fix.html and "compute"_compute.html commands :ul - -Output :h4 -("dump"_dump.html, "restart"_restart.html commands) - - log file of thermodynamic info - text dump files of atom coords, velocities, other per-atom quantities - binary restart files - parallel I/O of dump and restart files - per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc) - user-defined system-wide (log file) or per-atom (dump file) calculations - spatial and time averaging of per-atom quantities - time averaging of system-wide quantities - atom snapshots in native, XYZ, XTC, DCD, CFG formats :ul - -Multi-replica models :h4 - -"nudged elastic band"_neb.html -"parallel replica dynamics"_prd.html -"temperature accelerated dynamics"_tad.html -"parallel tempering"_temper.html - -Pre- and post-processing :h4 - -Various pre- and post-processing serial tools are packaged with -LAMMPS; see the "Tools"_Tools.html doc page for details. :ulb,l - -Our group has also written and released a separate toolkit called -"Pizza.py"_pizza which provides tools for doing setup, analysis, -plotting, and visualization for LAMMPS simulations. Pizza.py is -written in "Python"_python and is available for download from "the -Pizza.py WWW site"_pizza. :l -:ule - -:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) -:link(python,http://www.python.org) - -Specialized features :h4 - -LAMMPS can be built with optional packages which implement a variety -of additional capabilities. An overview of all the packages is "given -here"_Packages.html. - -These are some LAMMPS capabilities which you may not think of as -typical classical molecular dynamics options: - -"static"_balance.html and "dynamic load-balancing"_fix_balance.html -"generalized aspherical particles"_body.html -"stochastic rotation dynamics (SRD)"_fix_srd.html -"real-time visualization and interactive MD"_fix_imd.html -calculate "virtual diffraction patterns"_compute_xrd.html -"atom-to-continuum coupling"_fix_atc.html with finite elements -coupled rigid body integration via the "POEMS"_fix_poems.html library -"QM/MM coupling"_fix_qmmm.html -"path-integral molecular dynamics (PIMD)"_fix_ipi.html and "this as well"_fix_pimd.html -Monte Carlo via "GCMC"_fix_gcmc.html and "tfMC"_fix_tfmc.html "atom swapping"_fix_atom_swap.html and "bond swapping"_fix_bond_swap.html -"Direct Simulation Monte Carlo"_pair_dsmc.html for low-density fluids -"Peridynamics mesoscale modeling"_pair_peri.html -"Lattice Boltzmann fluid"_fix_lb_fluid.html -"targeted"_fix_tmd.html and "steered"_fix_smd.html molecular dynamics -"two-temperature electron model"_fix_ttm.html :ul - -:line - -1.3 LAMMPS non-features :link(intro_3),h4 - -LAMMPS is designed to efficiently compute Newton's equations of motion -for a system of interacting particles. Many of the tools needed to -pre- and post-process the data for such simulations are not included -in the LAMMPS kernel for several reasons: - -the desire to keep LAMMPS simple -they are not parallel operations -other codes already do them -limited development resources :ul - -Specifically, LAMMPS itself does not: - -run thru a GUI -build molecular systems -assign force-field coefficients automagically -perform sophisticated analyses of your MD simulation -visualize your MD simulation -plot your output data :ul - -A few tools for pre- and post-processing tasks are provided as part of -the LAMMPS package; they are described on the "Tools"_Tools.html doc -page. However, many people use other codes or write their own tools -for these tasks. - -As noted above, our group has also written and released a separate -toolkit called "Pizza.py"_pizza which addresses some of the listed -bullets. It provides tools for doing setup, analysis, plotting, and -visualization for LAMMPS simulations. Pizza.py is written in -"Python"_python and is available for download from "the Pizza.py WWW -site"_pizza. - -LAMMPS requires as input a list of initial atom coordinates and types, -molecular topology information, and force-field coefficients assigned -to all atoms and bonds. LAMMPS will not build molecular systems and -assign force-field parameters for you. - -For atomic systems LAMMPS provides a "create_atoms"_create_atoms.html -command which places atoms on solid-state lattices (fcc, bcc, -user-defined, etc). Assigning small numbers of force field -coefficients can be done via the "pair coeff"_pair_coeff.html, "bond -coeff"_bond_coeff.html, "angle coeff"_angle_coeff.html, etc commands. -For molecular systems or more complicated simulation geometries, users -typically use another code as a builder and convert its output to -LAMMPS input format, or write their own code to generate atom -coordinate and molecular topology for LAMMPS to read in. - -For complicated molecular systems (e.g. a protein), a multitude of -topology information and hundreds of force-field coefficients must -typically be specified. We suggest you use a program like -"CHARMM"_charmm or "AMBER"_amber or other molecular builders to setup -such problems and dump its information to a file. You can then -reformat the file as LAMMPS input. Some of the tools described on the -"Tools"_Tools.html doc page can assist in this process. - -Similarly, LAMMPS creates output files in a simple format. Most users -post-process these files with their own analysis tools or re-format -them for input into other programs, including visualization packages. -If you are convinced you need to compute something on-the-fly as -LAMMPS runs, see the "Modify"_Modify.html doc page for a discussion of -how you can use the "dump"_dump.html and "compute"_compute.html and -"fix"_fix.html commands to print out data of your choosing. Keep in -mind that complicated computations can slow down the molecular -dynamics timestepping, particularly if the computations are not -parallel, so it is often better to leave such analysis to -post-processing codes. - -For high-quality visualization we recommend the -following packages: - -"VMD"_http://www.ks.uiuc.edu/Research/vmd -"AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A -"OVITO"_http://www.ovito.org/ -"ParaView"_http://www.paraview.org/ -"PyMol"_http://www.pymol.org -"Raster3d"_http://www.bmsc.washington.edu/raster3d/raster3d.html -"RasMol"_http://www.openrasmol.org :ul - -Other features that LAMMPS does not yet (and may never) support are -discussed in "Section 13"_Section_history.html. - -Finally, these are freely-available molecular dynamics codes, most of -them parallel, which may be well-suited to the problems you want to -model. They can also be used in conjunction with LAMMPS to perform -complementary modeling tasks. - -"CHARMM"_charmm -"AMBER"_amber -"NAMD"_namd -"NWCHEM"_nwchem -"DL_POLY"_dlpoly -"Tinker"_tinker :ul - -:link(charmm,http://www.charmm.org) -:link(amber,http://ambermd.org) -:link(namd,http://www.ks.uiuc.edu/Research/namd/) -:link(nwchem,http://www.emsl.pnl.gov/docs/nwchem/nwchem.html) -:link(dlpoly,http://www.ccp5.ac.uk/DL_POLY_CLASSIC) -:link(tinker,http://dasher.wustl.edu/tinker) - -CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for -modeling biological molecules. CHARMM and AMBER use -atom-decomposition (replicated-data) strategies for parallelism; NAMD -and NWCHEM use spatial-decomposition approaches, similar to LAMMPS. -Tinker is a serial code. DL_POLY includes potentials for a variety of -biological and non-biological materials; both a replicated-data and -spatial-decomposition version exist. - -:line - -1.4 Open source distribution :link(intro_4),h4 - -LAMMPS comes with no warranty of any kind. As each source file states -in its header, it is a copyrighted code that is distributed free-of- -charge, under the terms of the "GNU Public License"_gnu (GPL). This -is often referred to as open-source distribution - see -"www.gnu.org"_gnuorg or "www.opensource.org"_opensource for more -details. The legal text of the GPL is in the LICENSE file that is -included in the LAMMPS distribution. - -:link(gnuorg,http://www.gnu.org) -:link(opensource,http://www.opensource.org) - -Here is a summary of what the GPL means for LAMMPS users: - -(1) Anyone is free to use, modify, or extend LAMMPS in any way they -choose, including for commercial purposes. - -(2) If you distribute a modified version of LAMMPS, it must remain -open-source, meaning you distribute it under the terms of the GPL. -You should clearly annotate such a code as a derivative version of -LAMMPS. - -(3) If you release any code that includes LAMMPS source code, then it -must also be open-sourced, meaning you distribute it under the terms -of the GPL. - -(4) If you give LAMMPS files to someone else, the GPL LICENSE file and -source file headers (including the copyright and GPL notices) should -remain part of the code. - -In the spirit of an open-source code, these are various ways you can -contribute to making LAMMPS better. You can send email to the -"developers"_http://lammps.sandia.gov/authors.html on any of these -items. - -Point prospective users to the "LAMMPS WWW Site"_lws. Mention it in -talks or link to it from your WWW site. :ulb,l - -If you find an error or omission in this manual or on the "LAMMPS WWW -Site"_lws, or have a suggestion for something to clarify or include, -send an email to the -"developers"_http://lammps.sandia.gov/authors.html. :l - -If you find a bug, the "Errors bugs"_Errors_bugs.html doc page -describes how to report it. :l - -If you publish a paper using LAMMPS results, send the citation (and -any cool pictures or movies if you like) to add to the Publications, -Pictures, and Movies pages of the "LAMMPS WWW Site"_lws, with links -and attributions back to you. :l - -Create a new Makefile.machine that can be added to the src/MAKE -directory. :l - -The tools sub-directory of the LAMMPS distribution has various -stand-alone codes for pre- and post-processing of LAMMPS data. More -details are given on the "Tools"_Tools.html doc page. If you write a -new tool that users will find useful, it can be added to the LAMMPS -distribution. :l - -LAMMPS is designed to be easy to extend with new code for features -like potentials, boundary conditions, diagnostic computations, etc. -The "Modify"_Modify.html doc page gives details. If you add a feature -of general interest, it can be added to the LAMMPS distribution. :l - -The Benchmark page of the "LAMMPS WWW Site"_lws lists LAMMPS -performance on various platforms. The files needed to run the -benchmarks are part of the LAMMPS distribution. If your machine is -sufficiently different from those listed, your timing data can be -added to the page. :l - -You can send feedback for the User Comments page of the "LAMMPS WWW -Site"_lws. It might be added to the page. No promises. :l - -Cash. Small denominations, unmarked bills preferred. Paper sack OK. -Leave on desk. VISA also accepted. Chocolate chip cookies -encouraged. :l -:ule - -:line - -1.5 Acknowledgments and citations :h3,link(intro_5) - -LAMMPS development has been funded by the "US Department of -Energy"_doe (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life -programs and its "OASCR"_oascr and "OBER"_ober offices. - -Specifically, work on the latest version was funded in part by the US -Department of Energy's Genomics:GTL program -("www.doegenomestolife.org"_gtl) under the "project"_ourgtl, "Carbon -Sequestration in Synechococcus Sp.: From Molecular Machines to -Hierarchical Modeling". - -:link(doe,http://www.doe.gov) -:link(gtl,http://www.doegenomestolife.org) -:link(ourgtl,http://www.genomes2life.org) -:link(oascr,http://www.sc.doe.gov/ascr/home.html) -:link(ober,http://www.er.doe.gov/production/ober/ober_top.html) - -The following paper describe the basic parallel algorithms used in -LAMMPS. If you use LAMMPS results in your published work, please cite -this paper and include a pointer to the "LAMMPS WWW Site"_lws -(http://lammps.sandia.gov): - -S. Plimpton, [Fast Parallel Algorithms for Short-Range Molecular -Dynamics], J Comp Phys, 117, 1-19 (1995). - -Other papers describing specific algorithms used in LAMMPS are listed -under the "Citing LAMMPS link"_http://lammps.sandia.gov/cite.html of -the LAMMPS WWW page. - -The "Publications link"_http://lammps.sandia.gov/papers.html on the -LAMMPS WWW page lists papers that have cited LAMMPS. If your paper is -not listed there for some reason, feel free to send us the info. If -the simulations in your paper produced cool pictures or animations, -we'll be pleased to add them to the -"Pictures"_http://lammps.sandia.gov/pictures.html or -"Movies"_http://lammps.sandia.gov/movies.html pages of the LAMMPS WWW -site. - -The primary LAMMPS developers are at Sandia National Labs and Temple University: - -Steve Plimpton, sjplimp at sandia.gov -Aidan Thompson, athomps at sandia.gov -Stan Moore, stamoor at sandia.gov -Axel Kohlmeyer, akohlmey at gmail.com :ul - -Past primary developers include Paul Crozier and Mark Stevens, -both at Sandia, and Ray Shan, now at Materials Design. - -The following folks are responsible for significant contributions to -the code, or other aspects of the LAMMPS development effort. Many of -the packages they have written are somewhat unique to LAMMPS and the -code would not be as general-purpose as it is without their expertise -and efforts. - -Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CGSDK, USER-OMP, USER-COLVARS, USER-MOLFILE, USER-QMMM, USER-TALLY, and COMPRESS packages -Roy Pollock (LLNL), Ewald and PPPM solvers -Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL package -Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential (superseded by USER-MEAMC) -Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics -Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion -Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling -Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD -Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA (obsoleted by KOKKOS) and KOKKOS packages -Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field -Christoph Kloss (JKU), Christoph.Kloss at jku.at, LIGGGHTS fork for granular models and granular/fluid coupling -Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF -Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SMD and USER-SPH packages -Colin Denniston (U Western Ontario), cdennist at uwo.ca, USER-LB package :ul - -As discussed in "Section 13"_Section_history.html, LAMMPS -originated as a cooperative project between DOE labs and industrial -partners. Folks involved in the design and testing of the original -version of LAMMPS were the following: - -John Carpenter (Mayo Clinic, formerly at Cray Research) -Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb) -Steve Lustig (Dupont) -Jim Belak (LLNL) :ul diff --git a/doc/src/Section_start.txt b/doc/src/Section_start.txt index cd445b3e14..4176432328 100644 --- a/doc/src/Section_start.txt +++ b/doc/src/Section_start.txt @@ -1,4 +1,4 @@ -"Previous Section"_Section_intro.html - "LAMMPS WWW Site"_lws - +"Previous Section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_commands.html :c @@ -934,9 +934,9 @@ Makefile.opt :ul LAMMPS can be built as either a static or shared library, which can then be called from another application or a scripting language. See -"this section"_Section_howto.html#howto_10 for more info on coupling -LAMMPS to other codes. See the "Python"_Python.html doc page for more -info on wrapping and running LAMMPS from Python. +the "Howto couple"_Howto_couple.html doc page for more info on +coupling LAMMPS to other codes. See the "Python"_Python.html doc page +for more info on wrapping and running LAMMPS from Python. Static library :h4 @@ -1039,16 +1039,16 @@ src/library.cpp and src/library.h. See the sample codes in examples/COUPLE/simple for examples of C++ and C and Fortran codes that invoke LAMMPS thru its library interface. -There are other examples as well in the COUPLE directory which are -discussed in "Section 6.10"_Section_howto.html#howto_10 of the manual. -See the "Python"_Python.html doc page for a description of the Python -wrapper provided with LAMMPS that operates through the LAMMPS library -interface. +There are other examples as well in the COUPLE directory which use +coupling ideas discussed on the "Howto couple"_Howto_couple.html doc +page. See the "Python"_Python.html doc page for a description of the +Python wrapper provided with LAMMPS that operates through the LAMMPS +library interface. The files src/library.cpp and library.h define the C-style API for -using LAMMPS as a library. See "Section -6.19"_Section_howto.html#howto_19 of the manual for a description of the -interface and how to extend it for your needs. +using LAMMPS as a library. See the "Howto library"_Howto_library.html +doc page for a description of the interface and how to extend it for +your needs. :line @@ -1391,16 +1391,16 @@ processors in all partitions must equal P. Thus the command "-partition 8x2 4 5" has 10 partitions and runs on a total of 25 processors. -Running with multiple partitions can e useful for running -"multi-replica simulations"_Section_howto.html#howto_5, where each -replica runs on on one or a few processors. Note that with MPI -installed on a machine (e.g. your desktop), you can run on more -(virtual) processors than you have physical processors. +Running with multiple partitions can be useful for running +"multi-replica simulations"_Howto_replica.html, where each replica +runs on on one or a few processors. Note that with MPI installed on a +machine (e.g. your desktop), you can run on more (virtual) processors +than you have physical processors. To run multiple independent simulations from one input script, using -multiple partitions, see "Section 6.4"_Section_howto.html#howto_4 -of the manual. World- and universe-style "variables"_variable.html -are useful in this context. +multiple partitions, see the "Howto multiple"_Howto_multiple.html doc +page. World- and universe-style "variables"_variable.html are useful +in this context. -plog file :pre @@ -1787,11 +1787,13 @@ communication, roughly 75% in the example above. The current C++ began with a complete rewrite of LAMMPS 2001, which was written in F90. Features of earlier versions of LAMMPS are listed -in "Section 13"_Section_history.html. The F90 and F77 versions -(2001 and 99) are also freely distributed as open-source codes; check -the "LAMMPS WWW Site"_lws for distribution information if you prefer -those versions. The 99 and 2001 versions are no longer under active -development; they do not have all the features of C++ LAMMPS. +on the "History page"_http://lammps.sandia.gov/history.html of the +LAMMPS website. The F90 and F77 versions (2001 and 99) are also +freely distributed as open-source codes; check the "History +page"_http://lammps.sandia.gov/history.html of the LAMMPS website for +info about those versions. The 99 and 2001 versions are no longer +under active development; they do not have all the features of C++ +LAMMPS. If you are a previous user of LAMMPS 2001, these are the most significant changes you will notice in C++ LAMMPS: diff --git a/doc/src/Speed.txt b/doc/src/Speed.txt index 1e2097ab1d..6c53d6bcf0 100644 --- a/doc/src/Speed.txt +++ b/doc/src/Speed.txt @@ -1,6 +1,6 @@ "Previous Section"_Package.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_howto.html :c +Section"_Howto.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt index 4c5fbbd453..10e7f74a3d 100644 --- a/doc/src/Tools.txt +++ b/doc/src/Tools.txt @@ -1,4 +1,4 @@ -"Previous Section"_Section_perf.html - "LAMMPS WWW Site"_lws - "LAMMPS +"Previous Section"_Examples.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Modify.html :c @@ -142,8 +142,8 @@ The syntax for running the tool is chain < def.chain > data.file :pre See the def.chain or def.chain.ab files in the tools directory for -examples of definition files. This tool was used to create the -system for the "chain benchmark"_Section_perf.html. +examples of definition files. This tool was used to create the system +for the "chain benchmark"_Speed_bench.html. :line diff --git a/doc/src/angle_cosine_periodic.txt b/doc/src/angle_cosine_periodic.txt index 4bedae3246..108b081533 100644 --- a/doc/src/angle_cosine_periodic.txt +++ b/doc/src/angle_cosine_periodic.txt @@ -21,10 +21,10 @@ angle_coeff * 75.0 1 6 :pre [Description:] The {cosine/periodic} angle style uses the following potential, which -is commonly used in the "DREIDING"_Section_howto.html#howto_4 force -field, particularly for organometallic systems where {n} = 4 might be -used for an octahedral complex and {n} = 3 might be used for a -trigonal center: +is commonly used in the "DREIDING"_Howto_bioFF.html force field, +particularly for organometallic systems where {n} = 4 might be used +for an octahedral complex and {n} = 3 might be used for a trigonal +center: :c,image(Eqs/angle_cosine_periodic.jpg) diff --git a/doc/src/atom_style.txt b/doc/src/atom_style.txt index 0e6aa8a033..063f9e446c 100644 --- a/doc/src/atom_style.txt +++ b/doc/src/atom_style.txt @@ -20,7 +20,7 @@ style = {angle} or {atomic} or {body} or {bond} or {charge} or {dipole} or \ {body} args = bstyle bstyle-args bstyle = style of body particles bstyle-args = additional arguments specific to the bstyle - see the "body"_body.html doc page for details + see the "Howto body"_Howto_body.html doc page for details {tdpd} arg = Nspecies Nspecies = # of chemical species {template} arg = template-ID @@ -106,9 +106,9 @@ output the custom values. All of the above styles define point particles, except the {sphere}, {ellipsoid}, {electron}, {peri}, {wavepacket}, {line}, {tri}, and -{body} styles, which define finite-size particles. See "Section -6.14"_Section_howto.html#howto_14 for an overview of using finite-size -particle models with LAMMPS. +{body} styles, which define finite-size particles. See the "Howto +spherical"_Howto_spherical.html doc page for an overview of using +finite-size particle models with LAMMPS. All of the point-particle styles assign mass to particles on a per-type basis, using the "mass"_mass.html command, The finite-size @@ -224,15 +224,16 @@ the {bstyle} argument. Body particles can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, etc. -The "body"_body.html doc page describes the body styles LAMMPS -currently supports, and provides more details as to the kind of body -particles they represent. For all styles, each body particle stores -moments of inertia and a quaternion 4-vector, so that its orientation -and position can be time integrated due to forces and torques. +The "Howto body"_Howto_body.html doc page describes the body styles +LAMMPS currently supports, and provides more details as to the kind of +body particles they represent. For all styles, each body particle +stores moments of inertia and a quaternion 4-vector, so that its +orientation and position can be time integrated due to forces and +torques. Note that there may be additional arguments required along with the {bstyle} specification, in the atom_style body command. These -arguments are described in the "body"_body.html doc page. +arguments are described on the "Howto body"_Howto_body.html doc page. :line diff --git a/doc/src/body.txt b/doc/src/body.txt index 4a39ac25d8..83b725d8cc 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -17,8 +17,8 @@ surface meshes of discrete points, collections of sub-particles, deformable objects, etc. Note that other kinds of finite-size spherical and aspherical particles are also supported by LAMMPS, such as spheres, ellipsoids, line segments, and triangles, but they are -simpler entities that body particles. See "Section -6.14"_Section_howto.html#howto_14 for a general overview of all +simpler entities that body particles. See the "Howto +body"_Howto_.html doc page for a general overview of all these particle types. Body particles are used via the "atom_style body"_atom_style.html diff --git a/doc/src/boundary.txt b/doc/src/boundary.txt index ce638f11b3..7ee897ffa4 100644 --- a/doc/src/boundary.txt +++ b/doc/src/boundary.txt @@ -82,9 +82,9 @@ and xhi faces of the box are planes tilting in the +y direction as y increases. These tilted planes are shrink-wrapped around the atoms to determine the x extent of the box. -See "Section 6.12"_Section_howto.html#howto_12 of the doc pages -for a geometric description of triclinic boxes, as defined by LAMMPS, -and how to transform these parameters to and from other commonly used +See the "Howto triclinic"_Howto_triclinic.html doc page for a +geometric description of triclinic boxes, as defined by LAMMPS, and +how to transform these parameters to and from other commonly used triclinic representations. [Restrictions:] diff --git a/doc/src/box.txt b/doc/src/box.txt index a6207ae993..6dc093ad81 100644 --- a/doc/src/box.txt +++ b/doc/src/box.txt @@ -30,9 +30,9 @@ For triclinic (non-orthogonal) simulation boxes, the {tilt} keyword allows simulation domains to be created with arbitrary tilt factors, e.g. via the "create_box"_create_box.html or "read_data"_read_data.html commands. Tilt factors determine how -skewed the triclinic box is; see "this -section"_Section_howto.html#howto_12 of the manual for a discussion of -triclinic boxes in LAMMPS. +skewed the triclinic box is; see the "Howto +triclinic"_Howto_triclinic.html doc page for a discussion of triclinic +boxes in LAMMPS. LAMMPS normally requires that no tilt factor can skew the box more than half the distance of the parallel box length, which is the 1st diff --git a/doc/src/change_box.txt b/doc/src/change_box.txt index 2c7a890d4c..8f3fda263f 100644 --- a/doc/src/change_box.txt +++ b/doc/src/change_box.txt @@ -75,9 +75,9 @@ The "create_box"_create_box.html, "read data"_read_data.html, and simulation box is orthogonal or triclinic and their doc pages explain the meaning of the xy,xz,yz tilt factors. -See "Section 6.12"_Section_howto.html#howto_12 of the doc pages -for a geometric description of triclinic boxes, as defined by LAMMPS, -and how to transform these parameters to and from other commonly used +See the "Howto triclinic"_Howto_triclinic.html doc page for a +geometric description of triclinic boxes, as defined by LAMMPS, and +how to transform these parameters to and from other commonly used triclinic representations. The keywords used in this command are applied sequentially to the @@ -140,8 +140,8 @@ transformation in the sequence. If skew is exceeded before the final transformation this can be avoided by changing the order of the sequence, or breaking the transformation into two or more smaller transformations. For more information on the allowed limits for box -skew see the discussion on triclinic boxes on "this -page"_Section_howto.html#howto_12. +skew see the discussion on triclinic boxes on "Howto +triclinic"_Howto_triclinic.html doc page. :line @@ -258,9 +258,7 @@ command. :line The {ortho} and {triclinic} keywords convert the simulation box to be -orthogonal or triclinic (non-orthogonal). See "this -section"_Section_howto#howto_13 for a discussion of how non-orthogonal -boxes are represented in LAMMPS. +orthogonal or triclinic (non-orthogonal). The simulation box is defined as either orthogonal or triclinic when it is created via the "create_box"_create_box.html, @@ -271,8 +269,8 @@ These keywords allow you to toggle the existing simulation box from orthogonal to triclinic and vice versa. For example, an initial equilibration simulation can be run in an orthogonal box, the box can be toggled to triclinic, and then a "non-equilibrium MD (NEMD) -simulation"_Section_howto.html#howto_13 can be run with deformation -via the "fix deform"_fix_deform.html command. +simulation"_Howto_nemd.html can be run with deformation via the "fix +deform"_fix_deform.html command. If the simulation box is currently triclinic and has non-zero tilt in xy, yz, or xz, then it cannot be converted to an orthogonal box. diff --git a/doc/src/compute.txt b/doc/src/compute.txt index 532a5414e3..105571b82a 100644 --- a/doc/src/compute.txt +++ b/doc/src/compute.txt @@ -33,7 +33,7 @@ information about a previous state of the system. Defining a compute does not perform a computation. Instead computes are invoked by other LAMMPS commands as needed, e.g. to calculate a temperature needed for a thermostat fix or to generate thermodynamic or dump file output. -See this "howto section"_Section_howto.html#howto_15 for a summary of +See the "Howto output"_Howto_output.html doc page for a summary of various LAMMPS output options, many of which involve computes. The ID of a compute can only contain alphanumeric characters and diff --git a/doc/src/compute_ackland_atom.txt b/doc/src/compute_ackland_atom.txt index 3fd838d957..e75ad534eb 100644 --- a/doc/src/compute_ackland_atom.txt +++ b/doc/src/compute_ackland_atom.txt @@ -60,7 +60,7 @@ which computes this quantity.- This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. [Restrictions:] diff --git a/doc/src/compute_angle.txt b/doc/src/compute_angle.txt index 2c363ce8f6..1deb3a4b1b 100644 --- a/doc/src/compute_angle.txt +++ b/doc/src/compute_angle.txt @@ -37,8 +37,8 @@ This compute calculates a global vector of length N where N is the number of sub_styles defined by the "angle_style hybrid"_angle_style.html command, which can be accessed by indices 1-N. These values can be used by any command that uses global scalar -or vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +or vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector values are "extensive" and will be in energy diff --git a/doc/src/compute_angle_local.txt b/doc/src/compute_angle_local.txt index 0ee1d32d7d..487b41eaf3 100644 --- a/doc/src/compute_angle_local.txt +++ b/doc/src/compute_angle_local.txt @@ -70,8 +70,8 @@ array is the number of angles. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses local values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The output for {theta} will be in degrees. The output for {eng} will diff --git a/doc/src/compute_angmom_chunk.txt b/doc/src/compute_angmom_chunk.txt index 813da15eea..c97af96f49 100644 --- a/doc/src/compute_angmom_chunk.txt +++ b/doc/src/compute_angmom_chunk.txt @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the 3 components of the angular momentum vector for each chunk, due to the velocity/momentum of the individual @@ -73,8 +72,8 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 3 for the 3 xyz components of the angular momentum for each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_basal_atom.txt b/doc/src/compute_basal_atom.txt index b59a3fd4c8..e0ac6b0a60 100644 --- a/doc/src/compute_basal_atom.txt +++ b/doc/src/compute_basal_atom.txt @@ -46,9 +46,8 @@ in examples/USER/misc/basal. This compute calculates a per-atom array with 3 columns, which can be accessed by indices 1-3 by any command that uses per-atom values from -a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +a compute as input. See the "Howto output"_Howto_output.html doc page +for an overview of LAMMPS output options. The per-atom vector values are unitless since the 3 columns represent components of a unit vector. diff --git a/doc/src/compute_body_local.txt b/doc/src/compute_body_local.txt index 12ce218853..f387e61c78 100644 --- a/doc/src/compute_body_local.txt +++ b/doc/src/compute_body_local.txt @@ -32,9 +32,8 @@ Define a computation that calculates properties of individual body sub-particles. The number of datums generated, aggregated across all processors, equals the number of body sub-particles plus the number of non-body particles in the system, modified by the group parameter as -explained below. See "Section 6.14"_Section_howto.html#howto_14 -of the manual and the "body"_body.html doc page for more details on -using body particles. +explained below. See the "Howto body"_Howto_body.html doc page for +more details on using body particles. The local data stored by this command is generated by looping over all the atoms. An atom will only be included if it is in the group. If @@ -58,8 +57,8 @@ group. For a body particle, the {integer} keywords refer to fields calculated by the body style for each sub-particle. The body style, as specified by the "atom_style body"_atom_style.html, determines how many fields -exist and what they are. See the "body"_body.html doc page for -details of the different styles. +exist and what they are. See the "Howto_body"_Howto_body.html doc +page for details of the different styles. Here is an example of how to output body information using the "dump local"_dump.html command with this compute. If fields 1,2,3 for the @@ -78,9 +77,9 @@ array is the number of datums as described above. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any -command that uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +command that uses local values from a compute as input. See the +"Howto output"_Howto_output.html doc page for an overview of LAMMPS +output options. The "units"_units.html for output values depend on the body style. diff --git a/doc/src/compute_bond.txt b/doc/src/compute_bond.txt index 6c4384b080..ac0e50872b 100644 --- a/doc/src/compute_bond.txt +++ b/doc/src/compute_bond.txt @@ -37,8 +37,8 @@ This compute calculates a global vector of length N where N is the number of sub_styles defined by the "bond_style hybrid"_bond_style.html command, which can be accessed by indices 1-N. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector values are "extensive" and will be in energy diff --git a/doc/src/compute_bond_local.txt b/doc/src/compute_bond_local.txt index 58d96f9ee4..868b43caa9 100644 --- a/doc/src/compute_bond_local.txt +++ b/doc/src/compute_bond_local.txt @@ -116,8 +116,8 @@ array is the number of bonds. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses local values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The output for {dist} will be in distance "units"_units.html. The diff --git a/doc/src/compute_centro_atom.txt b/doc/src/compute_centro_atom.txt index 4e4b03d167..bace0d8739 100644 --- a/doc/src/compute_centro_atom.txt +++ b/doc/src/compute_centro_atom.txt @@ -97,8 +97,8 @@ too frequently or to have multiple compute/dump commands, each with a By default, this compute calculates the centrosymmetry value for each atom as a per-atom vector, which can be accessed by any command that -uses per-atom values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses per-atom values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. If the {axes} keyword setting is {yes}, then a per-atom array is diff --git a/doc/src/compute_chunk_atom.txt b/doc/src/compute_chunk_atom.txt index 00a75f50c4..fc0de28b6a 100644 --- a/doc/src/compute_chunk_atom.txt +++ b/doc/src/compute_chunk_atom.txt @@ -101,14 +101,13 @@ msd/chunk"_compute_msd_chunk.html. Or they can be used by the "fix ave/chunk"_fix_ave_chunk.html command to sum and time average a variety of per-atom properties over the atoms in each chunk. Or they can simply be accessed by any command that uses per-atom values from a -compute as input, as discussed in "Section -6.15"_Section_howto.html#howto_15. +compute as input, as discussed on the "Howto output"_Howto_output.html +doc page. -See "Section 6.23"_Section_howto.html#howto_23 for an overview of -how this compute can be used with a variety of other commands to -tabulate properties of a simulation. The howto section gives several -examples of input script commands that can be used to calculate -interesting properties. +See the "Howto chunk"_Howto_chunk.html doc page for an overview of how +this compute can be used with a variety of other commands to tabulate +properties of a simulation. The page gives several examples of input +script commands that can be used to calculate interesting properties. Conceptually it is important to realize that this compute does two simple things. First, it sets the value of {Nchunk} = the number of @@ -167,11 +166,11 @@ or the bounds specified by the optional {bounds} keyword. For orthogonal simulation boxes, the bins are layers, pencils, or boxes aligned with the xyz coordinate axes. For triclinic (non-orthogonal) simulation boxes, the bin faces are parallel to the -tilted faces of the simulation box. See "this -section"_Section_howto.html#howto_12 of the manual for a discussion of -the geometry of triclinic boxes in LAMMPS. As described there, a -tilted simulation box has edge vectors a,b,c. In that nomenclature, -bins in the x dimension have faces with normals in the "b" cross "c" +tilted faces of the simulation box. See the "Howto +triclinic"_Howto_triclinic.html doc page for a discussion of the +geometry of triclinic boxes in LAMMPS. As described there, a tilted +simulation box has edge vectors a,b,c. In that nomenclature, bins in +the x dimension have faces with normals in the "b" cross "c" direction. Bins in y have faces normal to the "a" cross "c" direction. And bins in z have faces normal to the "a" cross "b" direction. Note that in order to define the size and position of @@ -626,7 +625,7 @@ cylinder, x for a y-axis cylinder, and x for a z-axis cylinder. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values are unitless chunk IDs, ranging from 1 to diff --git a/doc/src/compute_cluster_atom.txt b/doc/src/compute_cluster_atom.txt index 94113de5f2..12ecb8f173 100644 --- a/doc/src/compute_cluster_atom.txt +++ b/doc/src/compute_cluster_atom.txt @@ -84,7 +84,7 @@ the neighbor list. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be an ID > 0, as explained above. diff --git a/doc/src/compute_cna_atom.txt b/doc/src/compute_cna_atom.txt index 23289b0132..9c4814560d 100644 --- a/doc/src/compute_cna_atom.txt +++ b/doc/src/compute_cna_atom.txt @@ -74,7 +74,7 @@ too frequently or to have multiple compute/dump commands, each with a This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be a number from 0 to 5, as explained diff --git a/doc/src/compute_cnp_atom.txt b/doc/src/compute_cnp_atom.txt index 16a51f5241..aca7e351ec 100644 --- a/doc/src/compute_cnp_atom.txt +++ b/doc/src/compute_cnp_atom.txt @@ -78,7 +78,7 @@ too frequently or to have multiple compute/dump commands, each with a This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be real positive numbers. Some typical CNP diff --git a/doc/src/compute_com.txt b/doc/src/compute_com.txt index b0e0c14e42..08bb08b142 100644 --- a/doc/src/compute_com.txt +++ b/doc/src/compute_com.txt @@ -41,9 +41,8 @@ image"_set.html command. This compute calculates a global vector of length 3, which can be accessed by indices 1-3 by any command that uses global vector values -from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The vector values are "intensive". The vector values will be in distance "units"_units.html. diff --git a/doc/src/compute_com_chunk.txt b/doc/src/compute_com_chunk.txt index d497585cb0..f28355d6c5 100644 --- a/doc/src/compute_com_chunk.txt +++ b/doc/src/compute_com_chunk.txt @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the x,y,z coordinates of the center-of-mass for each chunk, which includes all effects due to atoms passing thru @@ -71,9 +70,8 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 3 for the x,y,z center-of-mass coordinates of each chunk. These values can be accessed by any command that uses global array values -from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in distance "units"_units.html. diff --git a/doc/src/compute_contact_atom.txt b/doc/src/compute_contact_atom.txt index f0bd62f4e8..ea4158e3b1 100644 --- a/doc/src/compute_contact_atom.txt +++ b/doc/src/compute_contact_atom.txt @@ -36,7 +36,7 @@ specified compute group. This compute calculates a per-atom vector, whose values can be accessed by any command that uses per-atom values from a compute as -input. See "Section 6.15"_Section_howto.html#howto_15 for an +input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be a number >= 0.0, as explained diff --git a/doc/src/compute_coord_atom.txt b/doc/src/compute_coord_atom.txt index a88f7ec729..06b565aedc 100644 --- a/doc/src/compute_coord_atom.txt +++ b/doc/src/compute_coord_atom.txt @@ -109,9 +109,8 @@ array, with N columns. For {cstyle} orientorder, this compute calculates a per-atom vector. These values can be accessed by any command that uses per-atom values -from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The per-atom vector or array values will be a number >= 0.0, as explained above. diff --git a/doc/src/compute_damage_atom.txt b/doc/src/compute_damage_atom.txt index 918fbf65ef..e262ee0b1f 100644 --- a/doc/src/compute_damage_atom.txt +++ b/doc/src/compute_damage_atom.txt @@ -44,7 +44,7 @@ group. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values are unitless numbers (damage) >= 0.0. diff --git a/doc/src/compute_dihedral.txt b/doc/src/compute_dihedral.txt index a3c3dff8d6..67c97b60f1 100644 --- a/doc/src/compute_dihedral.txt +++ b/doc/src/compute_dihedral.txt @@ -37,8 +37,8 @@ This compute calculates a global vector of length N where N is the number of sub_styles defined by the "dihedral_style hybrid"_dihedral_style.html command. which can be accessed by indices 1-N. These values can be used by any command that uses global scalar -or vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +or vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector values are "extensive" and will be in energy diff --git a/doc/src/compute_dihedral_local.txt b/doc/src/compute_dihedral_local.txt index 865e86fddb..d2051a51bd 100644 --- a/doc/src/compute_dihedral_local.txt +++ b/doc/src/compute_dihedral_local.txt @@ -62,8 +62,8 @@ array is the number of dihedrals. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses local values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The output for {phi} will be in degrees. diff --git a/doc/src/compute_dilatation_atom.txt b/doc/src/compute_dilatation_atom.txt index ce00f7f12a..161e73c7ff 100644 --- a/doc/src/compute_dilatation_atom.txt +++ b/doc/src/compute_dilatation_atom.txt @@ -47,8 +47,9 @@ compute group. [Output info:] This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of LAMMPS output options. +any command that uses per-atom values from a compute as input. See +the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-atom vector values are unitless numbers (theta) >= 0.0. diff --git a/doc/src/compute_dipole_chunk.txt b/doc/src/compute_dipole_chunk.txt index 75131ffbb1..5f8d6689c4 100644 --- a/doc/src/compute_dipole_chunk.txt +++ b/doc/src/compute_dipole_chunk.txt @@ -32,10 +32,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the x,y,z coordinates of the dipole vector and the total dipole moment for each chunk, which includes all effects @@ -76,8 +75,8 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 4 for the x,y,z dipole vector components and the total dipole of each chunk. These values can be accessed by any command that uses global -array values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +array values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_displace_atom.txt b/doc/src/compute_displace_atom.txt index 00e5f696c1..5636cc02f0 100644 --- a/doc/src/compute_displace_atom.txt +++ b/doc/src/compute_displace_atom.txt @@ -118,9 +118,8 @@ would be empty. This compute calculates a per-atom array with 4 columns, which can be accessed by indices 1-4 by any command that uses per-atom values from -a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +a compute as input. See the "Howto output"_Howto_output.html doc page +for an overview of LAMMPS output options. The per-atom array values will be in distance "units"_units.html. diff --git a/doc/src/compute_dpd.txt b/doc/src/compute_dpd.txt index 0e43feb9d2..a5620d34b3 100644 --- a/doc/src/compute_dpd.txt +++ b/doc/src/compute_dpd.txt @@ -40,9 +40,9 @@ where N is the number of particles in the system [Output info:] This compute calculates a global vector of length 5 (U_cond, U_mech, -U_chem, dpdTheta, N_particles), which can be accessed by indices 1-5. See -"this section"_Section_howto.html#howto_15 for an overview of LAMMPS -output options. +U_chem, dpdTheta, N_particles), which can be accessed by indices 1-5. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The vector values will be in energy and temperature "units"_units.html. diff --git a/doc/src/compute_dpd_atom.txt b/doc/src/compute_dpd_atom.txt index 0532fc60c6..ed0fd2410b 100644 --- a/doc/src/compute_dpd_atom.txt +++ b/doc/src/compute_dpd_atom.txt @@ -34,9 +34,9 @@ particles. [Output info:] This compute calculates a per-particle array with 4 columns (u_cond, -u_mech, u_chem, dpdTheta), which can be accessed by indices 1-4 by any command -that uses per-particle values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +u_mech, u_chem, dpdTheta), which can be accessed by indices 1-4 by any +command that uses per-particle values from a compute as input. See +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-particle array values will be in energy (u_cond, u_mech, u_chem) diff --git a/doc/src/compute_edpd_temp_atom.txt b/doc/src/compute_edpd_temp_atom.txt index 5b8c8ebd67..9011c3c823 100644 --- a/doc/src/compute_edpd_temp_atom.txt +++ b/doc/src/compute_edpd_temp_atom.txt @@ -32,9 +32,9 @@ For more details please see "(Espanol1997)"_#Espanol1997 and [Output info:] This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of -LAMMPS output options. +any command that uses per-atom values from a compute as input. See the +"Howto output"_Howto_output.html doc page for an overview of LAMMPS +output options. The per-atom vector values will be in temperature "units"_units.html. diff --git a/doc/src/compute_entropy_atom.txt b/doc/src/compute_entropy_atom.txt index f7e7b8a667..7fdc1f4af2 100644 --- a/doc/src/compute_entropy_atom.txt +++ b/doc/src/compute_entropy_atom.txt @@ -98,8 +98,8 @@ compute 1 all entropy/atom 0.25 7.3 avg yes 5.1 :pre By default, this compute calculates the pair entropy value for each atom as a per-atom vector, which can be accessed by any command that -uses per-atom values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses per-atom values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The pair entropy values have units of the Boltzmann constant. They are diff --git a/doc/src/compute_erotate_asphere.txt b/doc/src/compute_erotate_asphere.txt index b9a486c32e..24e6e5e6f7 100644 --- a/doc/src/compute_erotate_asphere.txt +++ b/doc/src/compute_erotate_asphere.txt @@ -40,7 +40,7 @@ will be the same as in 3d. This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See "Section 6.15"_Section_howto.html#howto_15 for an +input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The diff --git a/doc/src/compute_erotate_rigid.txt b/doc/src/compute_erotate_rigid.txt index dec0939a43..c8527d7073 100644 --- a/doc/src/compute_erotate_rigid.txt +++ b/doc/src/compute_erotate_rigid.txt @@ -41,9 +41,9 @@ calculation. This compute calculates a global scalar (the summed rotational energy of all the rigid bodies). This value can be used by any command that -uses a global scalar value from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of -LAMMPS output options. +uses a global scalar value from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output +options. The scalar value calculated by this compute is "extensive". The scalar value will be in energy "units"_units.html. diff --git a/doc/src/compute_erotate_sphere.txt b/doc/src/compute_erotate_sphere.txt index 41e80b0154..8abc9a53ad 100644 --- a/doc/src/compute_erotate_sphere.txt +++ b/doc/src/compute_erotate_sphere.txt @@ -35,7 +35,7 @@ as in 3d. This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See "Section 6.15"_Section_howto.html#howto_15 for an +input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The diff --git a/doc/src/compute_erotate_sphere_atom.txt b/doc/src/compute_erotate_sphere_atom.txt index a0081ff6a8..0bea315a89 100644 --- a/doc/src/compute_erotate_sphere_atom.txt +++ b/doc/src/compute_erotate_sphere_atom.txt @@ -39,7 +39,7 @@ in the specified compute group or for point particles with a radius = This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be in energy "units"_units.html. diff --git a/doc/src/compute_event_displace.txt b/doc/src/compute_event_displace.txt index 5e3a0c8599..17c4288911 100644 --- a/doc/src/compute_event_displace.txt +++ b/doc/src/compute_event_displace.txt @@ -43,7 +43,7 @@ local atom displacements and may generate "false positives." This compute calculates a global scalar (the flag). This value can be used by any command that uses a global scalar value from a compute as -input. See "Section 6.15"_Section_howto.html#howto_15 for an +input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_fep.txt b/doc/src/compute_fep.txt index 9bbae7b20f..f0ce3fd704 100644 --- a/doc/src/compute_fep.txt +++ b/doc/src/compute_fep.txt @@ -219,8 +219,8 @@ unperturbed parameters. The energies include kspace terms if these are used in the simulation. These output results can be used by any command that uses a global -scalar or vector from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +scalar or vector from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. For example, the computed values can be averaged using "fix ave/time"_fix_ave_time.html. diff --git a/doc/src/compute_global_atom.txt b/doc/src/compute_global_atom.txt index 28b4aa2461..f40810b70c 100644 --- a/doc/src/compute_global_atom.txt +++ b/doc/src/compute_global_atom.txt @@ -67,7 +67,7 @@ this command. This command will then assign the global chunk value to each atom in the chunk, producing a per-atom vector or per-atom array as output. The per-atom values can then be output to a dump file or used by any command that uses per-atom values from a compute as input, -as discussed in "Section 6.15"_Section_howto.html#howto_15. +as discussed on the "Howto output"_Howto_output.html doc page. As a concrete example, these commands will calculate the displacement of each atom from the center-of-mass of the molecule it is in, and @@ -203,7 +203,7 @@ vector. If multiple inputs are specified, this compute produces a per-atom array values, where the number of columns is equal to the number of inputs specified. These values can be used by any command that uses per-atom vector or array values from a compute as input. -See "Section 6.15"_Section_howto.html#howto_15 for an overview of +See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector or array values will be in whatever units the diff --git a/doc/src/compute_group_group.txt b/doc/src/compute_group_group.txt index f10547339d..8f992791d2 100644 --- a/doc/src/compute_group_group.txt +++ b/doc/src/compute_group_group.txt @@ -123,8 +123,8 @@ group-group calculations are performed. This compute calculates a global scalar (the energy) and a global vector of length 3 (force), which can be accessed by indices 1-3. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. Both the scalar and vector values calculated by this compute are diff --git a/doc/src/compute_gyration.txt b/doc/src/compute_gyration.txt index dd71431527..3d698609ca 100644 --- a/doc/src/compute_gyration.txt +++ b/doc/src/compute_gyration.txt @@ -55,8 +55,8 @@ using the "set image"_set.html command. This compute calculates a global scalar (Rg) and a global vector of length 6 (Rg^2 tensor), which can be accessed by indices 1-6. These values can be used by any command that uses a global scalar value or -vector values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar and vector values calculated by this compute are diff --git a/doc/src/compute_gyration_chunk.txt b/doc/src/compute_gyration_chunk.txt index 3e338213cf..ef14a456f3 100644 --- a/doc/src/compute_gyration_chunk.txt +++ b/doc/src/compute_gyration_chunk.txt @@ -35,10 +35,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the radius of gyration Rg for each chunk, which includes all effects due to atoms passing thru periodic @@ -93,8 +92,8 @@ calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. If the {tensor} keyword is specified, the global array has 6 columns. The vector or array can be accessed by any command that uses global values from a compute as -input. See "this section"_Section_howto.html#howto_15 for an overview -of LAMMPS output options. +input. See the "Howto output"_Howto_output.html doc page for an +overview of LAMMPS output options. All the vector or array values calculated by this compute are "intensive". The vector or array values will be in distance diff --git a/doc/src/compute_heat_flux.txt b/doc/src/compute_heat_flux.txt index 39a1470201..84c4951328 100644 --- a/doc/src/compute_heat_flux.txt +++ b/doc/src/compute_heat_flux.txt @@ -32,9 +32,9 @@ or to calculate a thermal conductivity using the equilibrium Green-Kubo formalism. For other non-equilibrium ways to compute a thermal conductivity, see -"this section"_Section_howto.html#howto_20. These include use of the -"fix thermal/conductivity"_fix_thermal_conductivity.html command for -the Muller-Plathe method. Or the "fix heat"_fix_heat.html command +the "Howto kappa"_Howto_kappa.html doc page.. These include use of +the "fix thermal/conductivity"_fix_thermal_conductivity.html command +for the Muller-Plathe method. Or the "fix heat"_fix_heat.html command which can add or subtract heat from groups of atoms. The compute takes three arguments which are IDs of other @@ -99,8 +99,8 @@ result should be: average conductivity ~0.29 in W/mK. This compute calculates a global vector of length 6 (total heat flux vector, followed by convective heat flux vector), which can be accessed by indices 1-6. These values can be used by any command that -uses global vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses global vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector values calculated by this compute are "extensive", meaning diff --git a/doc/src/compute_hexorder_atom.txt b/doc/src/compute_hexorder_atom.txt index cdf47e0894..1ab40b513c 100644 --- a/doc/src/compute_hexorder_atom.txt +++ b/doc/src/compute_hexorder_atom.txt @@ -95,10 +95,9 @@ This compute calculates a per-atom array with 2 columns, giving the real and imaginary parts {qn}, a complex number restricted to the unit disk of the complex plane i.e. Re({qn})^2 + Im({qn})^2 <= 1 . -These values can be accessed by any command that uses -per-atom values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +These values can be accessed by any command that uses per-atom values +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. [Restrictions:] none diff --git a/doc/src/compute_improper.txt b/doc/src/compute_improper.txt index f0d2fa400e..61c4f6cd29 100644 --- a/doc/src/compute_improper.txt +++ b/doc/src/compute_improper.txt @@ -37,8 +37,8 @@ This compute calculates a global vector of length N where N is the number of sub_styles defined by the "improper_style hybrid"_improper_style.html command. which can be accessed by indices 1-N. These values can be used by any command that uses global scalar -or vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +or vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector values are "extensive" and will be in energy diff --git a/doc/src/compute_improper_local.txt b/doc/src/compute_improper_local.txt index 0c289fbf07..2aec554d2f 100644 --- a/doc/src/compute_improper_local.txt +++ b/doc/src/compute_improper_local.txt @@ -63,8 +63,8 @@ array is the number of impropers. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses local values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The output for {chi} will be in degrees. diff --git a/doc/src/compute_inertia_chunk.txt b/doc/src/compute_inertia_chunk.txt index b0dbb12aea..3edd25d69b 100644 --- a/doc/src/compute_inertia_chunk.txt +++ b/doc/src/compute_inertia_chunk.txt @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the 6 components of the symmetric inertia tensor for each chunk, ordered Ixx,Iyy,Izz,Ixy,Iyz,Ixz. The @@ -72,8 +71,8 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 6 for the 6 components of the inertia tensor for each chunk, ordered as listed above. These values can be accessed by any command that -uses global array values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses global array values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_ke.txt b/doc/src/compute_ke.txt index caee897162..d6f4e1b709 100644 --- a/doc/src/compute_ke.txt +++ b/doc/src/compute_ke.txt @@ -44,7 +44,7 @@ include different degrees of freedom (translational, rotational, etc). This compute calculates a global scalar (the summed KE). This value can be used by any command that uses a global scalar value from a -compute as input. See "Section 6.15"_Section_howto.html#howto_15 +compute as input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The diff --git a/doc/src/compute_ke_atom.txt b/doc/src/compute_ke_atom.txt index f5431f0569..e0e96a80d8 100644 --- a/doc/src/compute_ke_atom.txt +++ b/doc/src/compute_ke_atom.txt @@ -34,7 +34,7 @@ specified compute group. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be in energy "units"_units.html. diff --git a/doc/src/compute_ke_atom_eff.txt b/doc/src/compute_ke_atom_eff.txt index 8228e13f07..aa188a411b 100644 --- a/doc/src/compute_ke_atom_eff.txt +++ b/doc/src/compute_ke_atom_eff.txt @@ -57,9 +57,9 @@ electrons) not in the specified compute group. [Output info:] This compute calculates a scalar quantity for each atom, which can be -accessed by any command that uses per-atom computes as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of -LAMMPS output options. +accessed by any command that uses per-atom computes as input. See the +"Howto output"_Howto_output.html doc page for an overview of LAMMPS +output options. The per-atom vector values will be in energy "units"_units.html. diff --git a/doc/src/compute_ke_eff.txt b/doc/src/compute_ke_eff.txt index ac8d7e6c01..334b4121ed 100644 --- a/doc/src/compute_ke_eff.txt +++ b/doc/src/compute_ke_eff.txt @@ -61,7 +61,7 @@ See "compute temp/eff"_compute_temp_eff.html. This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See "Section 6.15"_Section_howto.html#howto_15 for an +input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The diff --git a/doc/src/compute_ke_rigid.txt b/doc/src/compute_ke_rigid.txt index f79696a77a..69cf4a598e 100644 --- a/doc/src/compute_ke_rigid.txt +++ b/doc/src/compute_ke_rigid.txt @@ -40,8 +40,8 @@ calculation. This compute calculates a global scalar (the summed KE of all the rigid bodies). This value can be used by any command that uses a -global scalar value from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +global scalar value from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The diff --git a/doc/src/compute_meso_e_atom.txt b/doc/src/compute_meso_e_atom.txt index 4e621b4301..70a8969386 100644 --- a/doc/src/compute_meso_e_atom.txt +++ b/doc/src/compute_meso_e_atom.txt @@ -38,7 +38,7 @@ specified compute group. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be in energy "units"_units.html. diff --git a/doc/src/compute_meso_rho_atom.txt b/doc/src/compute_meso_rho_atom.txt index a017424dd0..912587f4a2 100644 --- a/doc/src/compute_meso_rho_atom.txt +++ b/doc/src/compute_meso_rho_atom.txt @@ -38,7 +38,7 @@ specified compute group. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be in mass/volume "units"_units.html. diff --git a/doc/src/compute_meso_t_atom.txt b/doc/src/compute_meso_t_atom.txt index 9e81b038f4..c9db9bf50e 100644 --- a/doc/src/compute_meso_t_atom.txt +++ b/doc/src/compute_meso_t_atom.txt @@ -40,7 +40,7 @@ specified compute group. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be in temperature "units"_units.html. diff --git a/doc/src/compute_msd.txt b/doc/src/compute_msd.txt index f806c5e292..742f7ce113 100644 --- a/doc/src/compute_msd.txt +++ b/doc/src/compute_msd.txt @@ -93,9 +93,8 @@ instead of many, which will change the values of msd somewhat. This compute calculates a global vector of length 4, which can be accessed by indices 1-4 by any command that uses global vector values -from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The vector values are "intensive". The vector values will be in distance^2 "units"_units.html. diff --git a/doc/src/compute_msd_chunk.txt b/doc/src/compute_msd_chunk.txt index 7f31b61ed0..3e1d8542ae 100644 --- a/doc/src/compute_msd_chunk.txt +++ b/doc/src/compute_msd_chunk.txt @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. Four quantities are calculated by this compute for each chunk. The first 3 quantities are the squared dx,dy,dz displacements of the @@ -106,7 +105,7 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 4 for dx,dy,dz and the total displacement. These values can be accessed by any command that uses global array values from a compute -as input. See "this section"_Section_howto.html#howto_15 for an +as input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_msd_nongauss.txt b/doc/src/compute_msd_nongauss.txt index 198da999e0..db8788db0b 100644 --- a/doc/src/compute_msd_nongauss.txt +++ b/doc/src/compute_msd_nongauss.txt @@ -57,9 +57,8 @@ NOTEs, which also apply to this compute. This compute calculates a global vector of length 3, which can be accessed by indices 1-3 by any command that uses global vector values -from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The vector values are "intensive". The first vector value will be in distance^2 "units"_units.html, the second is in distance^4 units, and diff --git a/doc/src/compute_omega_chunk.txt b/doc/src/compute_omega_chunk.txt index 46c72d3dcb..4a7a996d1d 100644 --- a/doc/src/compute_omega_chunk.txt +++ b/doc/src/compute_omega_chunk.txt @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the 3 components of the angular velocity vector for each chunk, via the formula L = Iw where L is the angular @@ -73,8 +72,8 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 3 for the 3 xyz components of the angular velocity for each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_orientorder_atom.txt b/doc/src/compute_orientorder_atom.txt index adf11dcfcf..a8b4008012 100644 --- a/doc/src/compute_orientorder_atom.txt +++ b/doc/src/compute_orientorder_atom.txt @@ -115,10 +115,9 @@ Re({Ybar_-m+1}) Im({Ybar_-m+1}) ... Re({Ybar_m}) Im({Ybar_m}). This way, the per-atom array will have a total of {nlvalues}+2*(2{l}+1) columns. -These values can be accessed by any command that uses -per-atom values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +These values can be accessed by any command that uses per-atom values +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. [Restrictions:] none diff --git a/doc/src/compute_pair.txt b/doc/src/compute_pair.txt index 0602dab81b..be40d7a550 100644 --- a/doc/src/compute_pair.txt +++ b/doc/src/compute_pair.txt @@ -62,9 +62,8 @@ This compute calculates a global scalar which is {epair} or {evdwl} or {ecoul}. If the pair style supports it, it also calculates a global vector of length >= 1, as determined by the pair style. These values can be used by any command that uses global scalar or vector values -from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The scalar and vector values calculated by this compute are "extensive". diff --git a/doc/src/compute_pair_local.txt b/doc/src/compute_pair_local.txt index 16aaba4667..bbbc5823f2 100644 --- a/doc/src/compute_pair_local.txt +++ b/doc/src/compute_pair_local.txt @@ -119,8 +119,8 @@ array is the number of pairs. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses local values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The output for {dist} will be in distance "units"_units.html. The diff --git a/doc/src/compute_pe.txt b/doc/src/compute_pe.txt index 15f27a8eff..f3ce5678b0 100644 --- a/doc/src/compute_pe.txt +++ b/doc/src/compute_pe.txt @@ -64,9 +64,8 @@ See the "thermo_style" command for more details. This compute calculates a global scalar (the potential energy). This value can be used by any command that uses a global scalar value from -a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +a compute as input. See the "Howto output"_Howto_output.html doc page +for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The scalar value will be in energy "units"_units.html. diff --git a/doc/src/compute_pe_atom.txt b/doc/src/compute_pe_atom.txt index c312c886a6..e6bc5f9052 100644 --- a/doc/src/compute_pe_atom.txt +++ b/doc/src/compute_pe_atom.txt @@ -81,7 +81,7 @@ global system energy. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be in energy "units"_units.html. diff --git a/doc/src/compute_plasticity_atom.txt b/doc/src/compute_plasticity_atom.txt index 788213fc65..c992ca8200 100644 --- a/doc/src/compute_plasticity_atom.txt +++ b/doc/src/compute_plasticity_atom.txt @@ -41,8 +41,9 @@ compute group. [Output info:] This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of LAMMPS output options. +any command that uses per-atom values from a compute as input. See +the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-atom vector values are unitless numbers (lambda) >= 0.0. diff --git a/doc/src/compute_pressure.txt b/doc/src/compute_pressure.txt index 8b7491da49..51d3241ace 100644 --- a/doc/src/compute_pressure.txt +++ b/doc/src/compute_pressure.txt @@ -129,8 +129,8 @@ instructions on how to use the accelerated styles effectively. This compute calculates a global scalar (the pressure) and a global vector of length 6 (pressure tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar -or vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +or vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar and vector values calculated by this compute are diff --git a/doc/src/compute_property_atom.txt b/doc/src/compute_property_atom.txt index c0970d5121..88bdf5a453 100644 --- a/doc/src/compute_property_atom.txt +++ b/doc/src/compute_property_atom.txt @@ -93,11 +93,11 @@ compute 3 all property/atom sp spx spy spz :pre Define a computation that simply stores atom attributes for each atom in the group. This is useful so that the values can be used by other -"output commands"_Section_howto.html#howto_15 that take computes as -inputs. See for example, the "compute reduce"_compute_reduce.html, -"fix ave/atom"_fix_ave_atom.html, "fix ave/histo"_fix_ave_histo.html, -"fix ave/chunk"_fix_ave_chunk.html, and "atom-style -variable"_variable.html commands. +"output commands"_Howto_output.html that take computes as inputs. See +for example, the "compute reduce"_compute_reduce.html, "fix +ave/atom"_fix_ave_atom.html, "fix ave/histo"_fix_ave_histo.html, "fix +ave/chunk"_fix_ave_chunk.html, and "atom-style variable"_variable.html +commands. The list of possible attributes is the same as that used by the "dump custom"_dump.html command, which describes their meaning, with some @@ -149,8 +149,8 @@ on the number of input values. If a single input is specified, a per-atom vector is produced. If two or more inputs are specified, a per-atom array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command that uses -per-atom values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +per-atom values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector or array values will be in whatever "units"_units.html the diff --git a/doc/src/compute_property_chunk.txt b/doc/src/compute_property_chunk.txt index b9d4944b30..ad131a8a60 100644 --- a/doc/src/compute_property_chunk.txt +++ b/doc/src/compute_property_chunk.txt @@ -36,15 +36,14 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates and stores the specified attributes of chunks as global data so they can be accessed by other "output -commands"_Section_howto.html#howto_15 and used in conjunction with -other commands that generate per-chunk data, such as "compute +commands"_Howto_output.html and used in conjunction with other +commands that generate per-chunk data, such as "compute com/chunk"_compute_com_chunk.html or "compute msd/chunk"_compute_msd_chunk.html. @@ -103,8 +102,8 @@ single input is specified, a global vector is produced. If two or more inputs are specified, a global array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command that uses global values from a compute as -input. See "this section"_Section_howto.html#howto_15 for an overview -of LAMMPS output options. +input. See the "Howto output"_Howto_output.html doc page for an +overview of LAMMPS output options. The vector or array values are "intensive". The values will be unitless or in the units discussed above. diff --git a/doc/src/compute_property_local.txt b/doc/src/compute_property_local.txt index 39106a39c8..74595f00f6 100644 --- a/doc/src/compute_property_local.txt +++ b/doc/src/compute_property_local.txt @@ -48,10 +48,10 @@ compute 1 all property/local atype aatom2 :pre Define a computation that stores the specified attributes as local data so it can be accessed by other "output -commands"_Section_howto.html#howto_15. If the input attributes refer -to bond information, then the number of datums generated, aggregated -across all processors, equals the number of bonds in the system. -Ditto for pairs, angles, etc. +commands"_Howto_output.html. If the input attributes refer to bond +information, then the number of datums generated, aggregated across +all processors, equals the number of bonds in the system. Ditto for +pairs, angles, etc. If multiple attributes are specified then they must all generate the same amount of information, so that the resulting local array has the @@ -140,8 +140,8 @@ the array is the number of bonds, angles, etc. If a single input is specified, a local vector is produced. If two or more inputs are specified, a local array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command -that uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +that uses local values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector or array values will be integers that correspond to the diff --git a/doc/src/compute_rdf.txt b/doc/src/compute_rdf.txt index e462e85fc0..c2d2c379fe 100644 --- a/doc/src/compute_rdf.txt +++ b/doc/src/compute_rdf.txt @@ -152,7 +152,7 @@ coordinate (center of the bin), Each successive set of 2 columns has the g(r) and coord(r) values for a specific set of {itypeN} versus {jtypeN} interactions, as described above. These values can be used by any command that uses a global values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values calculated by this compute are all "intensive". diff --git a/doc/src/compute_reduce.txt b/doc/src/compute_reduce.txt index 48115a0886..614ef50581 100644 --- a/doc/src/compute_reduce.txt +++ b/doc/src/compute_reduce.txt @@ -192,7 +192,7 @@ This compute calculates a global scalar if a single input value is specified or a global vector of length N where N is the number of inputs, and which can be accessed by indices 1 to N. These values can be used by any command that uses global scalar or vector values from a -compute as input. See "Section 6.15"_Section_howto.html#howto_15 +compute as input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. All the scalar or vector values calculated by this compute are diff --git a/doc/src/compute_rigid_local.txt b/doc/src/compute_rigid_local.txt index 077ad57d81..380713d091 100644 --- a/doc/src/compute_rigid_local.txt +++ b/doc/src/compute_rigid_local.txt @@ -49,8 +49,8 @@ Define a computation that simply stores rigid body attributes for rigid bodies defined by the "fix rigid/small"_fix_rigid.html command or one of its NVE, NVT, NPT, NPH variants. The data is stored as local data so it can be accessed by other "output -commands"_Section_howto.html#howto_15 that process local data, such as -the "compute reduce"_compute_reduce.html or "dump local"_dump.html +commands"_Howto_output.html that process local data, such as the +"compute reduce"_compute_reduce.html or "dump local"_dump.html commands. Note that this command only works with the "fix @@ -154,9 +154,9 @@ array is the number of rigid bodies. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any -command that uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +command that uses local values from a compute as input. See the +"Howto output"_Howto_output.html doc page for an overview of LAMMPS +output options. The vector or array values will be in whatever "units"_units.html the corresponding attribute is in: diff --git a/doc/src/compute_saed.txt b/doc/src/compute_saed.txt index 020f72f565..419ad3c489 100644 --- a/doc/src/compute_saed.txt +++ b/doc/src/compute_saed.txt @@ -143,10 +143,9 @@ the number of reciprocal lattice nodes that are explored by the mesh. The entries of the global vector are the computed diffraction intensities as described above. -The vector can be accessed by any command that uses global values -from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +The vector can be accessed by any command that uses global values from +a compute as input. See the "Howto output"_Howto_output.html doc page +for an overview of LAMMPS output options. All array values calculated by this compute are "intensive". diff --git a/doc/src/compute_slice.txt b/doc/src/compute_slice.txt index 13f40ecf92..69eb7976ad 100644 --- a/doc/src/compute_slice.txt +++ b/doc/src/compute_slice.txt @@ -94,8 +94,8 @@ specified or a global array with N columns where N is the number of inputs. The length of the vector or the number of rows in the array is equal to the number of values extracted from each input vector. These values can be used by any command that uses global vector or -array values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +array values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector or array values calculated by this compute are simply diff --git a/doc/src/compute_smd_contact_radius.txt b/doc/src/compute_smd_contact_radius.txt index 69fe453343..5e043a1390 100644 --- a/doc/src/compute_smd_contact_radius.txt +++ b/doc/src/compute_smd_contact_radius.txt @@ -35,9 +35,9 @@ specified compute group. [Output info:] -This compute calculates a per-particle vector, which can be accessed by -any command that uses per-particle values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +This compute calculates a per-particle vector, which can be accessed +by any command that uses per-particle values from a compute as input. +See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-particle vector values will be in distance "units"_units.html. diff --git a/doc/src/compute_smd_damage.txt b/doc/src/compute_smd_damage.txt index b6c75a3b20..ea814ba064 100644 --- a/doc/src/compute_smd_damage.txt +++ b/doc/src/compute_smd_damage.txt @@ -28,10 +28,10 @@ See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in [Output Info:] -This compute calculates a per-particle vector, which can be accessed by -any command that uses per-particle values from a compute as input. See -"How-to discussions, section 6.15"_Section_howto.html#howto_15 -for an overview of LAMMPS output options. +This compute calculates a per-particle vector, which can be accessed +by any command that uses per-particle values from a compute as input. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle values are dimensionless an in the range of zero to one. diff --git a/doc/src/compute_smd_hourglass_error.txt b/doc/src/compute_smd_hourglass_error.txt index a15b79e64e..046f7e7f27 100644 --- a/doc/src/compute_smd_hourglass_error.txt +++ b/doc/src/compute_smd_hourglass_error.txt @@ -37,10 +37,10 @@ Mach Dynamics in LAMMPS. [Output Info:] -This compute calculates a per-particle vector, which can be accessed by -any command that uses per-particle values from a compute as input. See -"How-to discussions, section 6.15"_Section_howto.html#howto_15 -for an overview of LAMMPS output options. +This compute calculates a per-particle vector, which can be accessed +by any command that uses per-particle values from a compute as input. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle vector values will are dimensionless. See "units"_units.html. diff --git a/doc/src/compute_smd_internal_energy.txt b/doc/src/compute_smd_internal_energy.txt index bc6f9e0f20..b88bd8a1ce 100644 --- a/doc/src/compute_smd_internal_energy.txt +++ b/doc/src/compute_smd_internal_energy.txt @@ -31,8 +31,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle vector values will be given in "units"_units.html of energy. diff --git a/doc/src/compute_smd_plastic_strain.txt b/doc/src/compute_smd_plastic_strain.txt index af5b164453..7fd083726f 100644 --- a/doc/src/compute_smd_plastic_strain.txt +++ b/doc/src/compute_smd_plastic_strain.txt @@ -32,8 +32,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle values will be given dimensionless. See "units"_units.html. diff --git a/doc/src/compute_smd_plastic_strain_rate.txt b/doc/src/compute_smd_plastic_strain_rate.txt index ba7b3176db..b17684e05e 100644 --- a/doc/src/compute_smd_plastic_strain_rate.txt +++ b/doc/src/compute_smd_plastic_strain_rate.txt @@ -32,8 +32,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle values will be given in "units"_units.html of one over time. diff --git a/doc/src/compute_smd_rho.txt b/doc/src/compute_smd_rho.txt index ae50526725..375513b9c7 100644 --- a/doc/src/compute_smd_rho.txt +++ b/doc/src/compute_smd_rho.txt @@ -33,8 +33,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle values will be in "units"_units.html of mass over volume. diff --git a/doc/src/compute_smd_tlsph_defgrad.txt b/doc/src/compute_smd_tlsph_defgrad.txt index 68b5dffa1c..d07ff99f07 100644 --- a/doc/src/compute_smd_tlsph_defgrad.txt +++ b/doc/src/compute_smd_tlsph_defgrad.txt @@ -32,9 +32,8 @@ Mach Dynamics in LAMMPS. This compute outputss a per-particle vector of vectors (tensors), which can be accessed by any command that uses per-particle values -from a compute as input. See "How-to discussions, section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The per-particle vector values will be given dimensionless. See "units"_units.html. The per-particle vector has 10 entries. The first diff --git a/doc/src/compute_smd_tlsph_dt.txt b/doc/src/compute_smd_tlsph_dt.txt index 560a9b6fd8..798278661a 100644 --- a/doc/src/compute_smd_tlsph_dt.txt +++ b/doc/src/compute_smd_tlsph_dt.txt @@ -37,8 +37,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle values will be given in "units"_units.html of time. diff --git a/doc/src/compute_smd_tlsph_num_neighs.txt b/doc/src/compute_smd_tlsph_num_neighs.txt index 0420d1903d..632ab94208 100644 --- a/doc/src/compute_smd_tlsph_num_neighs.txt +++ b/doc/src/compute_smd_tlsph_num_neighs.txt @@ -32,8 +32,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle values are dimensionless. See "units"_units.html. diff --git a/doc/src/compute_smd_tlsph_shape.txt b/doc/src/compute_smd_tlsph_shape.txt index 02bd0c50dd..a3daf70222 100644 --- a/doc/src/compute_smd_tlsph_shape.txt +++ b/doc/src/compute_smd_tlsph_shape.txt @@ -33,9 +33,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector of vectors, which can be accessed by any command that uses per-particle values from a compute -as input. See "How-to discussions, section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +as input. See the "Howto output"_Howto_output.html doc page for an +overview of LAMMPS output options. The per-particle vector has 7 entries. The first three entries correspond to the lengths of the ellipsoid's axes and have units of diff --git a/doc/src/compute_smd_tlsph_strain.txt b/doc/src/compute_smd_tlsph_strain.txt index f25d1b77db..899166359c 100644 --- a/doc/src/compute_smd_tlsph_strain.txt +++ b/doc/src/compute_smd_tlsph_strain.txt @@ -31,9 +31,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector of vectors (tensors), which can be accessed by any command that uses per-particle values -from a compute as input. See "How-to discussions, section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The per-particle tensor values will be given dimensionless. See "units"_units.html. diff --git a/doc/src/compute_smd_tlsph_strain_rate.txt b/doc/src/compute_smd_tlsph_strain_rate.txt index 13ca57ac4d..29246a05d9 100644 --- a/doc/src/compute_smd_tlsph_strain_rate.txt +++ b/doc/src/compute_smd_tlsph_strain_rate.txt @@ -31,9 +31,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector of vectors (tensors), which can be accessed by any command that uses per-particle values -from a compute as input. See "How-to discussions, section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The values will be given in "units"_units.html of one over time. diff --git a/doc/src/compute_smd_tlsph_stress.txt b/doc/src/compute_smd_tlsph_stress.txt index 5d707d4c2f..c2c23b6836 100644 --- a/doc/src/compute_smd_tlsph_stress.txt +++ b/doc/src/compute_smd_tlsph_stress.txt @@ -29,11 +29,10 @@ Mach Dynamics in LAMMPS. [Output info:] -This compute calculates a per-particle vector of vectors (tensors), which can be -accessed by any command that uses per-particle values from a compute -as input. See -"How-to discussions, section 6.15"_Section_howto.html#howto_15 -for an overview of LAMMPS output options. +This compute calculates a per-particle vector of vectors (tensors), +which can be accessed by any command that uses per-particle values +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The values will be given in "units"_units.html of pressure. diff --git a/doc/src/compute_smd_triangle_mesh_vertices.txt b/doc/src/compute_smd_triangle_mesh_vertices.txt index 5b0f0afc4c..3080ef700e 100644 --- a/doc/src/compute_smd_triangle_mesh_vertices.txt +++ b/doc/src/compute_smd_triangle_mesh_vertices.txt @@ -31,9 +31,9 @@ Mach Dynamics in LAMMPS. [Output info:] This compute returns a per-particle vector of vectors, which can be -accessed by any command that uses per-particle values from a compute as -input. See "How-to discussions, section 6.15"_Section_howto.html#howto_15 -for an overview of LAMMPS output options. +accessed by any command that uses per-particle values from a compute +as input. See the "Howto output"_Howto_output.html doc page for an +overview of LAMMPS output options. The per-particle vector has nine entries, (x1/y1/z1), (x2/y2/z2), and (x3/y3/z3) corresponding to the first, second, and third vertex of diff --git a/doc/src/compute_smd_ulsph_num_neighs.txt b/doc/src/compute_smd_ulsph_num_neighs.txt index adece93343..8550838799 100644 --- a/doc/src/compute_smd_ulsph_num_neighs.txt +++ b/doc/src/compute_smd_ulsph_num_neighs.txt @@ -32,7 +32,7 @@ Mach Dynamics in LAMMPS. This compute returns a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "Section 6.15"_Section_howto.html#howto_15 for an overview of +See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-particle values will be given dimensionless, see "units"_units.html. diff --git a/doc/src/compute_smd_ulsph_strain.txt b/doc/src/compute_smd_ulsph_strain.txt index b7d425b12b..3813e61f6c 100644 --- a/doc/src/compute_smd_ulsph_strain.txt +++ b/doc/src/compute_smd_ulsph_strain.txt @@ -31,7 +31,7 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle tensor, which can be accessed by any command that uses per-particle values from a compute as input. -See "Section 6.15"_Section_howto.html#howto_15 for an overview of +See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-particle vector has 6 entries, corresponding to the xx, yy, diff --git a/doc/src/compute_smd_ulsph_strain_rate.txt b/doc/src/compute_smd_ulsph_strain_rate.txt index e2c349c265..251e5ddbf7 100644 --- a/doc/src/compute_smd_ulsph_strain_rate.txt +++ b/doc/src/compute_smd_ulsph_strain_rate.txt @@ -32,9 +32,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector of vectors (tensors), which can be accessed by any command that uses per-particle values -from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The values will be given in "units"_units.html of one over time. diff --git a/doc/src/compute_smd_ulsph_stress.txt b/doc/src/compute_smd_ulsph_stress.txt index 47f903d3b8..719cf006c9 100644 --- a/doc/src/compute_smd_ulsph_stress.txt +++ b/doc/src/compute_smd_ulsph_stress.txt @@ -30,9 +30,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector of vectors (tensors), which can be accessed by any command that uses per-particle values -from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The values will be given in "units"_units.html of pressure. diff --git a/doc/src/compute_smd_vol.txt b/doc/src/compute_smd_vol.txt index fc736a5bf5..495c09a5f5 100644 --- a/doc/src/compute_smd_vol.txt +++ b/doc/src/compute_smd_vol.txt @@ -31,8 +31,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle vector values will be given in "units"_units.html of volume. diff --git a/doc/src/compute_sna_atom.txt b/doc/src/compute_sna_atom.txt index 268e23ac28..6fdd85568b 100644 --- a/doc/src/compute_sna_atom.txt +++ b/doc/src/compute_sna_atom.txt @@ -244,9 +244,8 @@ So the nesting order from inside to outside is bispectrum component, linear then quadratic, vector/tensor component, type. These values can be accessed by any command that uses per-atom values -from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. [Restrictions:] diff --git a/doc/src/compute_stress_atom.txt b/doc/src/compute_stress_atom.txt index 83b1df68e3..423c1dcfda 100644 --- a/doc/src/compute_stress_atom.txt +++ b/doc/src/compute_stress_atom.txt @@ -142,9 +142,8 @@ global system pressure. This compute calculates a per-atom array with 6 columns, which can be accessed by indices 1-6 by any command that uses per-atom values from -a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +a compute as input. See the "Howto output"_Howto_output.html doc page +for an overview of LAMMPS output options. The per-atom array values will be in pressure*volume "units"_units.html as discussed above. diff --git a/doc/src/compute_tdpd_cc_atom.txt b/doc/src/compute_tdpd_cc_atom.txt index a6a12dc52c..ec077a33d1 100644 --- a/doc/src/compute_tdpd_cc_atom.txt +++ b/doc/src/compute_tdpd_cc_atom.txt @@ -33,9 +33,9 @@ details see "(Li2015)"_#Li2015a. [Output info:] This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of -LAMMPS output options. +any command that uses per-atom values from a compute as input. See the +"Howto output"_Howto_output.html doc page for an overview of LAMMPS +output options. The per-atom vector values will be in the units of chemical species per unit mass. diff --git a/doc/src/compute_temp.txt b/doc/src/compute_temp.txt index f9fa56c882..cce40261c6 100644 --- a/doc/src/compute_temp.txt +++ b/doc/src/compute_temp.txt @@ -58,8 +58,8 @@ compute thermo_temp all temp :pre See the "thermo_style" command for more details. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. :line @@ -91,8 +91,8 @@ instructions on how to use the accelerated styles effectively. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_asphere.txt b/doc/src/compute_temp_asphere.txt index 495366b345..a5fc0e8927 100644 --- a/doc/src/compute_temp_asphere.txt +++ b/doc/src/compute_temp_asphere.txt @@ -93,8 +93,8 @@ computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. :line @@ -122,8 +122,8 @@ rotational degrees of freedom. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_body.txt b/doc/src/compute_temp_body.txt index f72b886cc4..580564b059 100644 --- a/doc/src/compute_temp_body.txt +++ b/doc/src/compute_temp_body.txt @@ -75,8 +75,8 @@ computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. :line @@ -104,8 +104,8 @@ rotational degrees of freedom. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_chunk.txt b/doc/src/compute_temp_chunk.txt index f877f6ece8..5d7d64ce68 100644 --- a/doc/src/compute_temp_chunk.txt +++ b/doc/src/compute_temp_chunk.txt @@ -52,10 +52,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. The temperature is calculated by the formula KE = DOF/2 k T, where KE = total kinetic energy of all atoms assigned to chunks (sum of 1/2 m @@ -200,8 +199,8 @@ molecule. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. This compute also optionally calculates a global array, if one or more @@ -210,9 +209,8 @@ of the optional values are specified. The number of rows in the array "compute chunk/atom"_compute_chunk_atom.html command. The number of columns is the number of specified values (1 or more). These values can be accessed by any command that uses global array values from a -compute as input. Again, see "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +compute as input. Again, see the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The vector values are "extensive". The array values are "intensive". diff --git a/doc/src/compute_temp_com.txt b/doc/src/compute_temp_com.txt index c7cc5ec4e2..e8b46aec97 100644 --- a/doc/src/compute_temp_com.txt +++ b/doc/src/compute_temp_com.txt @@ -65,8 +65,8 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. [Output info:] @@ -74,8 +74,8 @@ thermostatting. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_cs.txt b/doc/src/compute_temp_cs.txt index 561b787df6..9d2ceabd46 100644 --- a/doc/src/compute_temp_cs.txt +++ b/doc/src/compute_temp_cs.txt @@ -28,9 +28,9 @@ Define a computation that calculates the temperature of a system based on the center-of-mass velocity of atom pairs that are bonded to each other. This compute is designed to be used with the adiabatic core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham1. See -"Section 6.25"_Section_howto.html#howto_25 of the manual for an -overview of the model as implemented in LAMMPS. Specifically, this -compute enables correct temperature calculation and thermostatting of +the "Howto coreshell"_Howto_coreshell.html doc page for an overview of +the model as implemented in LAMMPS. Specifically, this compute +enables correct temperature calculation and thermostatting of core/shell pairs where it is desirable for the internal degrees of freedom of the core/shell pairs to not be influenced by a thermostat. A compute of this style can be used by any command that computes a @@ -83,8 +83,9 @@ langevin"_fix_langevin.html. The internal energy of core/shell pairs can be calculated by the "compute temp/chunk"_compute_temp_chunk.html command, if chunks are -defined as core/shell pairs. See "Section -6.25"_Section_howto.html#howto_25 for more discussion on how to do this. +defined as core/shell pairs. See the "Howto +coreshell"_Howto_coreshell.html doc page doc page for more discussion +on how to do this. [Output info:] diff --git a/doc/src/compute_temp_deform.txt b/doc/src/compute_temp_deform.txt index 168b0b3880..b81d07babd 100644 --- a/doc/src/compute_temp_deform.txt +++ b/doc/src/compute_temp_deform.txt @@ -104,8 +104,8 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. [Output info:] @@ -113,8 +113,8 @@ thermostatting. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_deform_eff.txt b/doc/src/compute_temp_deform_eff.txt index d09a0ace2f..418180d93c 100644 --- a/doc/src/compute_temp_deform_eff.txt +++ b/doc/src/compute_temp_deform_eff.txt @@ -48,8 +48,8 @@ component of the electrons is not affected. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_drude.txt b/doc/src/compute_temp_drude.txt index 169b8d5880..3e86dc8fda 100644 --- a/doc/src/compute_temp_drude.txt +++ b/doc/src/compute_temp_drude.txt @@ -22,10 +22,10 @@ compute TDRUDE all temp/drude :pre [Description:] Define a computation that calculates the temperatures of core-Drude -pairs. This compute is designed to be used with the -"thermalized Drude oscillator model"_tutorial_drude.html. Polarizable -models in LAMMPS are described in "this -Section"_Section_howto.html#howto_25. +pairs. This compute is designed to be used with the "thermalized Drude +oscillator model"_Howto_drude.html. Polarizable models in LAMMPS +are described on the "Howto polarizable"_Howto_polarizable.html doc +page. Drude oscillators consist of a core particle and a Drude particle connected by a harmonic bond, and the relative motion of these Drude @@ -57,8 +57,8 @@ kinetic energy of the centers of mass (energy units) kinetic energy of the dipoles (energy units) :ol These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. Both the scalar value and the first two values of the vector diff --git a/doc/src/compute_temp_eff.txt b/doc/src/compute_temp_eff.txt index 409319edcb..42d22a33a7 100644 --- a/doc/src/compute_temp_eff.txt +++ b/doc/src/compute_temp_eff.txt @@ -69,8 +69,8 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. [Output info:] diff --git a/doc/src/compute_temp_partial.txt b/doc/src/compute_temp_partial.txt index 59ec8cf20b..0fda274ca0 100644 --- a/doc/src/compute_temp_partial.txt +++ b/doc/src/compute_temp_partial.txt @@ -65,8 +65,8 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. :line @@ -98,8 +98,8 @@ instructions on how to use the accelerated styles effectively. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_profile.txt b/doc/src/compute_temp_profile.txt index 64a6abd283..8f47c8f9f4 100644 --- a/doc/src/compute_temp_profile.txt +++ b/doc/src/compute_temp_profile.txt @@ -122,8 +122,8 @@ degrees-of-freedom adjustment described in the preceding paragraph, for fixes that constrain molecular motion. It does include the adjustment due to the {extra} option, which is applied to each bin. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. Using this compute in conjunction with a thermostatting fix, as explained there, will effectively implement a profile-unbiased thermostat (PUT), as described in "(Evans)"_#Evans1. @@ -145,8 +145,8 @@ indices ix,iy,iz = 2,3,4 would map to row M = (iz-1)*10*10 + (iy-1)*10 indices are numbered from 1 to 10 in each dimension. These values can be used by any command that uses global scalar or -vector or array values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector or array values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_ramp.txt b/doc/src/compute_temp_ramp.txt index bc9283469c..1ae0cdfc3e 100644 --- a/doc/src/compute_temp_ramp.txt +++ b/doc/src/compute_temp_ramp.txt @@ -83,8 +83,8 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. [Output info:] @@ -92,8 +92,8 @@ thermostatting. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_region.txt b/doc/src/compute_temp_region.txt index 3e4a80db8d..f05fa38e2c 100644 --- a/doc/src/compute_temp_region.txt +++ b/doc/src/compute_temp_region.txt @@ -81,8 +81,8 @@ If needed the number of subtracted degrees-of-freedom can be set explicitly using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. [Output info:] @@ -90,8 +90,8 @@ thermostatting. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_region_eff.txt b/doc/src/compute_temp_region_eff.txt index 8baf2dd46c..45c01b047f 100644 --- a/doc/src/compute_temp_region_eff.txt +++ b/doc/src/compute_temp_region_eff.txt @@ -39,8 +39,8 @@ temp/eff"_compute_temp_eff.html command. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_rotate.txt b/doc/src/compute_temp_rotate.txt index 34feca7b6f..8c5679b83f 100644 --- a/doc/src/compute_temp_rotate.txt +++ b/doc/src/compute_temp_rotate.txt @@ -64,8 +64,8 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. [Output info:] @@ -73,8 +73,8 @@ thermostatting. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_sphere.txt b/doc/src/compute_temp_sphere.txt index 9e9dff2cb6..4d4258182e 100644 --- a/doc/src/compute_temp_sphere.txt +++ b/doc/src/compute_temp_sphere.txt @@ -79,8 +79,8 @@ computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. :line @@ -108,8 +108,8 @@ rotational degrees of freedom. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_ti.txt b/doc/src/compute_ti.txt index 733954d146..f5d26e1a03 100644 --- a/doc/src/compute_ti.txt +++ b/doc/src/compute_ti.txt @@ -111,9 +111,8 @@ du/dl can be found in the paper by "Eike"_#Eike. This compute calculates a global scalar, namely dUs/dlambda. This value can be used by any command that uses a global scalar value from -a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +a compute as input. See the "Howto output"_Howto_output.html doc page +for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". diff --git a/doc/src/compute_torque_chunk.txt b/doc/src/compute_torque_chunk.txt index b9f832dd03..254cd0fd85 100644 --- a/doc/src/compute_torque_chunk.txt +++ b/doc/src/compute_torque_chunk.txt @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the 3 components of the torque vector for eqch chunk, due to the forces on the individual atoms in the chunk around @@ -72,7 +71,7 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 3 for the 3 xyz components of the torque for each chunk. These values can be accessed by any command that uses global array values from a -compute as input. See "Section 6.15"_Section_howto.html#howto_15 +compute as input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_vacf.txt b/doc/src/compute_vacf.txt index a0d9a3c5f7..d615f70e22 100644 --- a/doc/src/compute_vacf.txt +++ b/doc/src/compute_vacf.txt @@ -55,9 +55,8 @@ correctly with time=0 atom velocities from the restart file. This compute calculates a global vector of length 4, which can be accessed by indices 1-4 by any command that uses global vector values -from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The vector values are "intensive". The vector values will be in velocity^2 "units"_units.html. diff --git a/doc/src/compute_vcm_chunk.txt b/doc/src/compute_vcm_chunk.txt index de02c586bf..af1a4305d8 100644 --- a/doc/src/compute_vcm_chunk.txt +++ b/doc/src/compute_vcm_chunk.txt @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the x,y,z components of the center-of-mass velocity for each chunk. This is done by summing mass*velocity for @@ -63,8 +62,8 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 3 for the x,y,z center-of-mass velocity coordinates of each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_voronoi_atom.txt b/doc/src/compute_voronoi_atom.txt index a280b2b151..bbd68b16ea 100644 --- a/doc/src/compute_voronoi_atom.txt +++ b/doc/src/compute_voronoi_atom.txt @@ -122,18 +122,16 @@ to locate vacancies (the coordinates are given by the atom coordinates at the time step when the compute was first invoked), while column two data can be used to identify interstitial atoms. -If the {neighbors} value is set to yes, then -this compute creates a local array with 3 columns. There -is one row for each face of each Voronoi cell. The -3 columns are the atom ID of the atom that owns the cell, -the atom ID of the atom in the neighboring cell -(or zero if the face is external), and the area of the face. -The array can be accessed by any command that -uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. More specifically, the array can be accessed by a -"dump local"_dump.html command to write a file containing -all the Voronoi neighbors in a system: +If the {neighbors} value is set to yes, then this compute creates a +local array with 3 columns. There is one row for each face of each +Voronoi cell. The 3 columns are the atom ID of the atom that owns the +cell, the atom ID of the atom in the neighboring cell (or zero if the +face is external), and the area of the face. The array can be +accessed by any command that uses local values from a compute as +input. See the "Howto output"_Howto_output.html doc page for an +overview of LAMMPS output options. More specifically, the array can be +accessed by a "dump local"_dump.html command to write a file +containing all the Voronoi neighbors in a system: compute 6 all voronoi/atom neighbors yes dump d2 all local 1 dump.neighbors index c_6\[1\] c_6\[2\] c_6\[3\] :pre @@ -186,8 +184,8 @@ columns. In regular dynamic tessellation mode the first column is the Voronoi volume, the second is the neighbor count, as described above (read above for the output data in case the {occupation} keyword is specified). These values can be accessed by any command that uses -per-atom values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +per-atom values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. If the {peratom} keyword is set to "no", the per-atom array is still created, but it is not accessible. diff --git a/doc/src/compute_xrd.txt b/doc/src/compute_xrd.txt index 1a151d63f9..03fd0ecdc2 100644 --- a/doc/src/compute_xrd.txt +++ b/doc/src/compute_xrd.txt @@ -162,7 +162,7 @@ or degrees) provided with the {2Theta} values. The second column contains the computed diffraction intensities as described above. The array can be accessed by any command that uses global values from -a compute as input. See "this section"_Section_howto.html#howto_15 +a compute as input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. All array values calculated by this compute are "intensive". diff --git a/doc/src/create_box.txt b/doc/src/create_box.txt index f4ef13654c..ed05775591 100644 --- a/doc/src/create_box.txt +++ b/doc/src/create_box.txt @@ -73,9 +73,9 @@ factors that exceed these limits, you can use the "box tilt"_box.html command, with a setting of {large}; a setting of {small} is the default. -See "Section 6.12"_Section_howto.html#howto_12 of the doc pages -for a geometric description of triclinic boxes, as defined by LAMMPS, -and how to transform these parameters to and from other commonly used +See the "Howto triclinic"_Howto_triclinic.html doc page for a +geometric description of triclinic boxes, as defined by LAMMPS, and +how to transform these parameters to and from other commonly used triclinic representations. When a prism region is used, the simulation domain should normally be diff --git a/doc/src/dimension.txt b/doc/src/dimension.txt index 0531e92acf..f079f17f99 100644 --- a/doc/src/dimension.txt +++ b/doc/src/dimension.txt @@ -26,7 +26,7 @@ prior to setting up a simulation box via the "create_box"_create_box.html or "read_data"_read_data.html commands. Restart files also store this setting. -See the discussion in "Section 6"_Section_howto.html for +See the discussion on the "Howto 2d"_Howto_2d.html doc page for additional instructions on how to run 2d simulations. NOTE: Some models in LAMMPS treat particles as finite-size spheres or diff --git a/doc/src/dump.txt b/doc/src/dump.txt index ff1bf6424d..cd8bab2e65 100644 --- a/doc/src/dump.txt +++ b/doc/src/dump.txt @@ -224,12 +224,12 @@ This bounding box is convenient for many visualization programs. The meaning of the 6 character flags for "xx yy zz" is the same as above. Note that the first two numbers on each line are now xlo_bound instead -of xlo, etc, since they represent a bounding box. See "this -section"_Section_howto.html#howto_12 of the doc pages for a geometric -description of triclinic boxes, as defined by LAMMPS, simple formulas -for how the 6 bounding box extents (xlo_bound,xhi_bound,etc) are -calculated from the triclinic parameters, and how to transform those -parameters to and from other commonly used triclinic representations. +of xlo, etc, since they represent a bounding box. See the "Howto +triclinic"_Howto_triclinic.html doc page for a geometric description +of triclinic boxes, as defined by LAMMPS, simple formulas for how the +6 bounding box extents (xlo_bound,xhi_bound,etc) are calculated from +the triclinic parameters, and how to transform those parameters to and +from other commonly used triclinic representations. The "ITEM: ATOMS" line in each snapshot lists column descriptors for the per-atom lines that follow. For example, the descriptors would be @@ -530,7 +530,7 @@ so that each value is 0.0 to 1.0. If the simulation box is triclinic (tilted), then all atom coords will still be between 0.0 and 1.0. I.e. actual unscaled (x,y,z) = xs*A + ys*B + zs*C, where (A,B,C) are the non-orthogonal vectors of the simulation box edges, as discussed -in "Section 6.12"_Section_howto.html#howto_12. +on the "Howto triclinic"_Howto_triclinic.html doc page. Use {xu}, {yu}, {zu} if you want the coordinates "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has diff --git a/doc/src/dump_image.txt b/doc/src/dump_image.txt index c1732be972..fcc9b25b62 100644 --- a/doc/src/dump_image.txt +++ b/doc/src/dump_image.txt @@ -356,16 +356,16 @@ is used to define body particles with internal state body style. If this keyword is not used, such particles will be drawn as spheres, the same as if they were regular atoms. -The "body"_body.html doc page describes the body styles LAMMPS -currently supports, and provides more details as to the kind of body -particles they represent and how they are drawn by this dump image -command. For all the body styles, individual atoms can be either a -body particle or a usual point (non-body) particle. Non-body +The "Howto body"_Howto_body.html doc page describes the body styles +LAMMPS currently supports, and provides more details as to the kind of +body particles they represent and how they are drawn by this dump +image command. For all the body styles, individual atoms can be +either a body particle or a usual point (non-body) particle. Non-body particles will be drawn the same way they would be as a regular atom. The {bflag1} and {bflag2} settings are numerical values which are passed to the body style to affect how the drawing of a body particle -is done. See the "body"_body.html doc page for a description of what -these parameters mean for each body style. +is done. See the "Howto body"_Howto_body.html doc page for a +description of what these parameters mean for each body style. The only setting currently allowed for the {color} value is {type}, which will color the body particles according to the atom type of the diff --git a/doc/src/fix.txt b/doc/src/fix.txt index ba2088576f..a51dc1637d 100644 --- a/doc/src/fix.txt +++ b/doc/src/fix.txt @@ -133,7 +133,7 @@ reduce"_compute_reduce.html command, or histogrammed by the "fix ave/histo"_fix_ave_histo.html command. :l :ule -See this "howto section"_Section_howto.html#howto_15 for a summary of +See the "Howto output"_Howto_output.html doc page for a summary of various LAMMPS output options, many of which involve fixes. The results of fixes that calculate global quantities can be either diff --git a/doc/src/fix_adapt.txt b/doc/src/fix_adapt.txt index 7a34f2ff44..0764d04e6d 100644 --- a/doc/src/fix_adapt.txt +++ b/doc/src/fix_adapt.txt @@ -270,10 +270,10 @@ fix 1 center adapt 10 atom diameter v_size :pre No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. For "rRESPA time integration"_run_style.html, this fix changes parameters on the outermost rRESPA level. diff --git a/doc/src/fix_adapt_fep.txt b/doc/src/fix_adapt_fep.txt index 5dd58bc39a..43c87a1601 100644 --- a/doc/src/fix_adapt_fep.txt +++ b/doc/src/fix_adapt_fep.txt @@ -243,10 +243,10 @@ parameters on the outermost rRESPA level. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_addforce.txt b/doc/src/fix_addforce.txt index 5bba9acb3f..c77cdb62af 100644 --- a/doc/src/fix_addforce.txt +++ b/doc/src/fix_addforce.txt @@ -150,11 +150,11 @@ integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar and a global 3-vector of forces, -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar is the potential -energy discussed above. The vector is the total force on the group of -atoms before the forces on individual atoms are changed by the fix. -The scalar and vector values calculated by this fix are "extensive". +which can be accessed by various "output commands"_Howto_output.html. +The scalar is the potential energy discussed above. The vector is the +total force on the group of atoms before the forces on individual +atoms are changed by the fix. The scalar and vector values calculated +by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_addtorque.txt b/doc/src/fix_addtorque.txt index 793ec0e015..589cb37cc0 100644 --- a/doc/src/fix_addtorque.txt +++ b/doc/src/fix_addtorque.txt @@ -70,11 +70,11 @@ this fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its torque. Default is the outermost level. This fix computes a global scalar and a global 3-vector, which can be -accessed by various "output commands"_Section_howto.html#howto_15. -The scalar is the potential energy discussed above. The vector is the -total torque on the group of atoms before the forces on individual -atoms are changed by the fix. The scalar and vector values calculated -by this fix are "extensive". +accessed by various "output commands"_Howto_output.html. The scalar +is the potential energy discussed above. The vector is the total +torque on the group of atoms before the forces on individual atoms are +changed by the fix. The scalar and vector values calculated by this +fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_append_atoms.txt b/doc/src/fix_append_atoms.txt index 27070c9be5..ba7b4a3e74 100644 --- a/doc/src/fix_append_atoms.txt +++ b/doc/src/fix_append_atoms.txt @@ -87,10 +87,10 @@ define the lattice spacings. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_atc.txt b/doc/src/fix_atc.txt index 49014f0591..af3270ff52 100644 --- a/doc/src/fix_atc.txt +++ b/doc/src/fix_atc.txt @@ -102,7 +102,13 @@ Note coupling and post-processing can be combined in the same simulations using [Restart, fix_modify, output, run start/stop, minimize info:] -No information about this fix is written to "binary restart files"_restart.html. The "fix_modify"_fix_modify.html options relevant to this fix are listed below. No global scalar or vector or per-atom quantities are stored by this fix for access by various "output commands"_Section_howto.html#howto_15. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. +No information about this fix is written to "binary restart +files"_restart.html. The "fix_modify"_fix_modify.html options +relevant to this fix are listed below. No global scalar or vector or +per-atom quantities are stored by this fix for access by various +"output commands"_Howto_output.html. No parameter of this fix can be +used with the {start/stop} keywords of the "run"_run.html command. +This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_atom_swap.txt b/doc/src/fix_atom_swap.txt index bf56277214..0b3be3ce5e 100644 --- a/doc/src/fix_atom_swap.txt +++ b/doc/src/fix_atom_swap.txt @@ -150,8 +150,8 @@ None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global vector of length 2, which can be accessed -by various "output commands"_Section_howto.html#howto_15. The vector -values are the following global cumulative quantities: +by various "output commands"_Howto_output.html. The vector values are +the following global cumulative quantities: 1 = swap attempts 2 = swap successes :ul diff --git a/doc/src/fix_ave_atom.txt b/doc/src/fix_ave_atom.txt index 23e4ed235b..05bd0f6fa7 100644 --- a/doc/src/fix_ave_atom.txt +++ b/doc/src/fix_ave_atom.txt @@ -38,7 +38,7 @@ fix 1 all ave/atom 10 20 1000 c_my_stress\[*\] :pre Use one or more per-atom vectors as inputs every few timesteps, and average them atom by atom over longer timescales. The resulting per-atom averages can be used by other "output -commands"_Section_howto.html#howto_15 such as the "fix +commands"_Howto_output.html such as the "fix ave/chunk"_fix_ave_chunk.html or "dump custom"_dump.html commands. The group specified with the command means only atoms within the group @@ -155,14 +155,14 @@ No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global scalar or vector quantities are stored by this fix for access by various "output -commands"_Section_howto.html#howto_15. +commands"_Howto_output.html. This fix produces a per-atom vector or array which can be accessed by -various "output commands"_Section_howto.html#howto_15. A vector is -produced if only a single quantity is averaged by this fix. If two or -more quantities are averaged, then an array of values is produced. -The per-atom values can only be accessed on timesteps that are -multiples of {Nfreq} since that is when averaging is performed. +various "output commands"_Howto_output.html. A vector is produced if +only a single quantity is averaged by this fix. If two or more +quantities are averaged, then an array of values is produced. The +per-atom values can only be accessed on timesteps that are multiples +of {Nfreq} since that is when averaging is performed. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_ave_chunk.txt b/doc/src/fix_ave_chunk.txt index 8e2a09e33f..e9d0ef7e72 100644 --- a/doc/src/fix_ave_chunk.txt +++ b/doc/src/fix_ave_chunk.txt @@ -85,17 +85,17 @@ fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile :pre Use one or more per-atom vectors as inputs every few timesteps, sum the values over the atoms in each chunk at each timestep, then average the per-chunk values over longer timescales. The resulting chunk -averages can be used by other "output -commands"_Section_howto.html#howto_15 such as "thermo_style -custom"_thermo_style.html, and can also be written to a file. +averages can be used by other "output commands"_Howto_output.html such +as "thermo_style custom"_thermo_style.html, and can also be written to +a file. In LAMMPS, chunks are collections of atoms defined by a "compute chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be +chunk/atom"_compute_chunk_atom.html doc page and the "Howto +chunk"_Howto_chunk.html doc page for details of how chunks can be defined and examples of how they can be used to measure properties of a system. @@ -456,20 +456,19 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global array of values which can be accessed by -various "output commands"_Section_howto.html#howto_15. The values can -only be accessed on timesteps that are multiples of {Nfreq} since that -is when averaging is performed. The global array has # of rows = -the number of chunks {Nchunk} as calculated by the specified "compute +various "output commands"_Howto_output.html. The values can only be +accessed on timesteps that are multiples of {Nfreq} since that is when +averaging is performed. The global array has # of rows = the number +of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The # of columns = M+1+Nvalues, where M = 1 to 4, depending on whether the optional -columns for OrigID and CoordN are used, as explained above. -Following the optional columns, the next column contains the count of -atoms in the chunk, and the remaining columns are the Nvalue -quantities. When the array is accessed with a row I that exceeds the -current number of chunks, than a 0.0 is returned by the fix instead of -an error, since the number of chunks can vary as a simulation runs -depending on how that value is computed by the compute chunk/atom -command. +columns for OrigID and CoordN are used, as explained above. Following +the optional columns, the next column contains the count of atoms in +the chunk, and the remaining columns are the Nvalue quantities. When +the array is accessed with a row I that exceeds the current number of +chunks, than a 0.0 is returned by the fix instead of an error, since +the number of chunks can vary as a simulation runs depending on how +that value is computed by the compute chunk/atom command. The array values calculated by this fix are treated as "intensive", since they are typically already normalized by the count of atoms in diff --git a/doc/src/fix_ave_correlate.txt b/doc/src/fix_ave_correlate.txt index 98f352cb74..74ce3f340e 100644 --- a/doc/src/fix_ave_correlate.txt +++ b/doc/src/fix_ave_correlate.txt @@ -68,7 +68,7 @@ calculate time correlations between them at varying time intervals, and average the correlation data over longer timescales. The resulting correlation values can be time integrated by "variables"_variable.html or used by other "output -commands"_Section_howto.html#howto_15 such as "thermo_style +commands"_Howto_output.html such as "thermo_style custom"_thermo_style.html, and can also be written to a file. See the "fix ave/correlate/long"_fix_ave_correlate_long.html command for an alternate method for computing correlation functions efficiently over @@ -313,16 +313,15 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global array of values which can be accessed by -various "output commands"_Section_howto.html#howto_15. The values can -only be accessed on timesteps that are multiples of {Nfreq} since that -is when averaging is performed. The global array has # of rows = -{Nrepeat} and # of columns = Npair+2. The first column has the time -delta (in timesteps) between the pairs of input values used to -calculate the correlation, as described above. The 2nd column has the -number of samples contributing to the correlation average, as -described above. The remaining Npair columns are for I,J pairs of the -N input values, as determined by the {type} keyword, as described -above. +various "output commands"_Howto_output.html. The values can only be +accessed on timesteps that are multiples of {Nfreq} since that is when +averaging is performed. The global array has # of rows = {Nrepeat} +and # of columns = Npair+2. The first column has the time delta (in +timesteps) between the pairs of input values used to calculate the +correlation, as described above. The 2nd column has the number of +samples contributing to the correlation average, as described above. +The remaining Npair columns are for I,J pairs of the N input values, +as determined by the {type} keyword, as described above. For {type} = {auto}, the Npair = N columns are ordered: C11, C22, ..., CNN. :ulb,l diff --git a/doc/src/fix_ave_histo.txt b/doc/src/fix_ave_histo.txt index 5155f42e7b..e2fd2e04e8 100644 --- a/doc/src/fix_ave_histo.txt +++ b/doc/src/fix_ave_histo.txt @@ -69,10 +69,9 @@ fix 1 all ave/histo/weight 1 1 1 10 100 2000 c_XRD\[1\] c_XRD\[2\] :pre Use one or more values as inputs every few timesteps to create a single histogram. The histogram can then be averaged over longer timescales. The resulting histogram can be used by other "output -commands"_Section_howto.html#howto_15, and can also be written to a -file. The fix ave/histo/weight command has identical syntax to fix -ave/histo, except that exactly two values must be specified. See -details below. +commands"_Howto_output.html, and can also be written to a file. The +fix ave/histo/weight command has identical syntax to fix ave/histo, +except that exactly two values must be specified. See details below. The group specified with this command is ignored for global and local input values. For per-atom input values, only atoms in the group @@ -320,10 +319,10 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix produces a global vector and global array which can be -accessed by various "output commands"_Section_howto.html#howto_15. -The values can only be accessed on timesteps that are multiples of -{Nfreq} since that is when a histogram is generated. The global -vector has 4 values: +accessed by various "output commands"_Howto_output.html. The values +can only be accessed on timesteps that are multiples of {Nfreq} since +that is when a histogram is generated. The global vector has 4 +values: 1 = total counts in the histogram 2 = values that were not histogrammed (see {beyond} keyword) diff --git a/doc/src/fix_ave_time.txt b/doc/src/fix_ave_time.txt index b61f56cf02..e973a36360 100644 --- a/doc/src/fix_ave_time.txt +++ b/doc/src/fix_ave_time.txt @@ -64,7 +64,7 @@ fix 1 all ave/time 1 100 1000 f_indent f_indent\[1\] file temp.indent off 1 :pre Use one or more global values as inputs every few timesteps, and average them over longer timescales. The resulting averages can be -used by other "output commands"_Section_howto.html#howto_15 such as +used by other "output commands"_Howto_output.html such as "thermo_style custom"_thermo_style.html, and can also be written to a file. Note that if no time averaging is done, this command can be used as a convenient way to simply output one or more global values to @@ -305,10 +305,9 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix produces a global scalar or global vector or global array -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The values can only be -accessed on timesteps that are multiples of {Nfreq} since that is when -averaging is performed. +which can be accessed by various "output commands"_Howto_output.html. +The values can only be accessed on timesteps that are multiples of +{Nfreq} since that is when averaging is performed. A scalar is produced if only a single input value is averaged and {mode} = scalar. A vector is produced if multiple input values are diff --git a/doc/src/fix_aveforce.txt b/doc/src/fix_aveforce.txt index 4944996695..3497b33ef4 100644 --- a/doc/src/fix_aveforce.txt +++ b/doc/src/fix_aveforce.txt @@ -95,10 +95,10 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Section_howto.html#howto_15. This is the -total force on the group of atoms before the forces on individual -atoms are changed by the fix. The vector values calculated by this -fix are "extensive". +by various "output commands"_Howto_output.html. This is the total +force on the group of atoms before the forces on individual atoms are +changed by the fix. The vector values calculated by this fix are +"extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_balance.txt b/doc/src/fix_balance.txt index f148e6f996..b98fd85c3b 100644 --- a/doc/src/fix_balance.txt +++ b/doc/src/fix_balance.txt @@ -357,8 +357,8 @@ number of particles (or total weight) on any processor to the average number of particles (or total weight) per processor. These quantities can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar and vector values -calculated by this fix are "intensive". +commands"_Howto_output.html. The scalar and vector values calculated +by this fix are "intensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_bond_break.txt b/doc/src/fix_bond_break.txt index 83364b9efb..b43053c461 100644 --- a/doc/src/fix_bond_break.txt +++ b/doc/src/fix_bond_break.txt @@ -116,8 +116,8 @@ are relevant to this fix. This fix computes two statistics which it stores in a global vector of length 2, which can be accessed by various "output -commands"_Section_howto.html#howto_15. The vector values calculated -by this fix are "intensive". +commands"_Howto_output.html. The vector values calculated by this fix +are "intensive". These are the 2 quantities: diff --git a/doc/src/fix_bond_create.txt b/doc/src/fix_bond_create.txt index c0045ac0f0..a55ba1ff6e 100644 --- a/doc/src/fix_bond_create.txt +++ b/doc/src/fix_bond_create.txt @@ -211,8 +211,8 @@ are relevant to this fix. This fix computes two statistics which it stores in a global vector of length 2, which can be accessed by various "output -commands"_Section_howto.html#howto_15. The vector values calculated -by this fix are "intensive". +commands"_Howto_output.html. The vector values calculated by this fix +are "intensive". These are the 2 quantities: diff --git a/doc/src/fix_bond_react.txt b/doc/src/fix_bond_react.txt index f85ef9bc1a..006f59100f 100644 --- a/doc/src/fix_bond_react.txt +++ b/doc/src/fix_bond_react.txt @@ -298,9 +298,8 @@ relevant to this fix. This fix computes one statistic for each {react} argument that it stores in a global vector, of length 'number of react arguments', that -can be accessed by various "output -commands"_Section_howto.html#howto_15. The vector values calculated by -this fix are "intensive". +can be accessed by various "output commands"_Howto_output.html. The +vector values calculated by this fix are "intensive". These is 1 quantity for each react argument: diff --git a/doc/src/fix_bond_swap.txt b/doc/src/fix_bond_swap.txt index ca7069e247..8d5df7e4e0 100644 --- a/doc/src/fix_bond_swap.txt +++ b/doc/src/fix_bond_swap.txt @@ -150,13 +150,13 @@ the Boltzmann criterion. This fix computes two statistical quantities as a global 2-vector of output, which can be accessed by various "output -commands"_Section_howto.html#howto_15. The first component of the -vector is the cumulative number of swaps performed by all processors. -The second component of the vector is the cumulative number of swaps -attempted (whether accepted or rejected). Note that a swap "attempt" -only occurs when swap partners meeting the criteria described above -are found on a particular timestep. The vector values calculated by -this fix are "intensive". +commands"_Howto_output.html. The first component of the vector is the +cumulative number of swaps performed by all processors. The second +component of the vector is the cumulative number of swaps attempted +(whether accepted or rejected). Note that a swap "attempt" only +occurs when swap partners meeting the criteria described above are +found on a particular timestep. The vector values calculated by this +fix are "intensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_box_relax.txt b/doc/src/fix_box_relax.txt index e3d75ee858..a625f0c5b8 100644 --- a/doc/src/fix_box_relax.txt +++ b/doc/src/fix_box_relax.txt @@ -315,17 +315,15 @@ specified by the {press} keyword will be unaffected by the {temp} setting. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -pressure-volume energy, plus the strain energy, if it exists, -as described above. -The energy values reported at the -end of a minimization run under "Minimization stats" include this -energy, and so differ from what LAMMPS normally reports as potential -energy. This fix does not support the "fix_modify"_fix_modify.html -{energy} option, because that would result in double-counting of the -fix energy in the minimization energy. Instead, the fix energy can be -explicitly added to the potential energy using one of these two -variants: +"output commands"_Howto_output.html. The scalar is the pressure-volume +energy, plus the strain energy, if it exists, as described above. The +energy values reported at the end of a minimization run under +"Minimization stats" include this energy, and so differ from what +LAMMPS normally reports as potential energy. This fix does not support +the "fix_modify"_fix_modify.html {energy} option, because that would +result in double-counting of the fix energy in the minimization +energy. Instead, the fix energy can be explicitly added to the +potential energy using one of these two variants: variable emin equal pe+f_1 :pre diff --git a/doc/src/fix_cmap.txt b/doc/src/fix_cmap.txt index f8de2b4efe..d352f0e652 100644 --- a/doc/src/fix_cmap.txt +++ b/doc/src/fix_cmap.txt @@ -103,9 +103,9 @@ the system's virial as part of "thermodynamic output"_thermo_style.html. The default is {virial yes} This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -potential energy discussed above. The scalar value calculated by this -fix is "extensive". +"output commands"_Howto_output.html. The scalar is the potential +energy discussed above. The scalar value calculated by this fix is +"extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_colvars.txt b/doc/src/fix_colvars.txt index e48dedacd9..2d3000e6ea 100644 --- a/doc/src/fix_colvars.txt +++ b/doc/src/fix_colvars.txt @@ -99,9 +99,9 @@ to the system's potential energy as part of "thermodynamic output"_thermo_style.html. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". [Restrictions:] diff --git a/doc/src/fix_controller.txt b/doc/src/fix_controller.txt index b8d2cb43be..710642c0ea 100644 --- a/doc/src/fix_controller.txt +++ b/doc/src/fix_controller.txt @@ -180,9 +180,9 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix produces a global vector with 3 values which can be accessed -by various "output commands"_Section_howto.html#howto_15. The values -can be accessed on any timestep, though they are only updated on -timesteps that are a multiple of {Nevery}. +by various "output commands"_Howto_output.html. The values can be +accessed on any timestep, though they are only updated on timesteps +that are a multiple of {Nevery}. The three values are the most recent updates made to the control variable by each of the 3 terms in the PID equation above. The first diff --git a/doc/src/fix_deform.txt b/doc/src/fix_deform.txt index 681986561a..09261e2423 100644 --- a/doc/src/fix_deform.txt +++ b/doc/src/fix_deform.txt @@ -572,10 +572,9 @@ instructions on how to use the accelerated styles effectively. This fix will restore the initial box settings from "binary restart files"_restart.html, which allows the fix to be properly continue deformation, when using the start/stop options of the "run"_run.html -command. None of the "fix_modify"_fix_modify.html options -are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. +command. None of the "fix_modify"_fix_modify.html options are +relevant to this fix. No global or per-atom quantities are stored by +this fix for access by various "output commands"_Howto_output.html. This fix can perform deformation over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_deposit.txt b/doc/src/fix_deposit.txt index 477c14ea89..285e720555 100644 --- a/doc/src/fix_deposit.txt +++ b/doc/src/fix_deposit.txt @@ -116,8 +116,8 @@ side = {in}. NOTE: LAMMPS checks that the specified region is wholly inside the simulation box. It can do this correctly for orthonormal simulation -boxes. However for "triclinic boxes"_Section_howto.html#howto_12, it -only tests against the larger orthonormal box that bounds the tilted +boxes. However for "triclinic boxes"_Howto_triclinic.html, it only +tests against the larger orthonormal box that bounds the tilted simulation box. If the specified region includes volume outside the tilted box, then an insertion will likely fail, leading to a "lost atoms" error. Thus for triclinic boxes you should insure the @@ -263,9 +263,9 @@ operation of the fix continues in an uninterrupted fashion. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_dpd_source.txt b/doc/src/fix_dpd_source.txt index b6decc657c..bbfc99e8c8 100644 --- a/doc/src/fix_dpd_source.txt +++ b/doc/src/fix_dpd_source.txt @@ -63,10 +63,10 @@ cuboid domain to apply the source flux to. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_drag.txt b/doc/src/fix_drag.txt index 235d3d38b5..a67ec6aaf2 100644 --- a/doc/src/fix_drag.txt +++ b/doc/src/fix_drag.txt @@ -47,9 +47,9 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Section_howto.html#howto_15. This is the -total force on the group of atoms by the drag force. The vector -values calculated by this fix are "extensive". +by various "output commands"_Howto_output.html. This is the total +force on the group of atoms by the drag force. The vector values +calculated by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_drude.txt b/doc/src/fix_drude.txt index faa354b314..4a3d30a9ca 100644 --- a/doc/src/fix_drude.txt +++ b/doc/src/fix_drude.txt @@ -25,10 +25,10 @@ fix 1 all drude C C N C N D D D :pre [Description:] Assign each atom type in the system to be one of 3 kinds of atoms -within the Drude polarization model. This fix is designed to be -used with the "thermalized Drude oscillator -model"_tutorial_drude.html. Polarizable models in LAMMPS -are described in "this Section"_Section_howto.html#howto_25. +within the Drude polarization model. This fix is designed to be used +with the "thermalized Drude oscillator model"_Howto_drude.html. +Polarizable models in LAMMPS are described on the "Howto +polarizable"_Howto_polarizable.html doc page. The three possible types can be designated with an integer (0,1,2) or capital letter (N,C,D): diff --git a/doc/src/fix_drude_transform.txt b/doc/src/fix_drude_transform.txt index 2e094d528c..54cdfa956e 100644 --- a/doc/src/fix_drude_transform.txt +++ b/doc/src/fix_drude_transform.txt @@ -34,8 +34,8 @@ Transform the coordinates of Drude oscillators from real to reduced and back for thermalizing the Drude oscillators as described in "(Lamoureux)"_#Lamoureux1 using a Nose-Hoover thermostat. This fix is designed to be used with the "thermalized Drude oscillator -model"_tutorial_drude.html. Polarizable models in LAMMPS are -described in "this Section"_Section_howto.html#howto_25. +model"_Howto_drude.html. Polarizable models in LAMMPS are described +on the "Howto polarizable"_Howto_polarizable.html doc page. Drude oscillators are a pair of atoms representing a single polarizable atom. Ideally, the mass of Drude particles would vanish diff --git a/doc/src/fix_dt_reset.txt b/doc/src/fix_dt_reset.txt index 7605395ca0..428128feda 100644 --- a/doc/src/fix_dt_reset.txt +++ b/doc/src/fix_dt_reset.txt @@ -82,8 +82,8 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar stores -the last timestep on which the timestep was reset to a new value. +"output commands"_Howto_output.html. The scalar stores the last +timestep on which the timestep was reset to a new value. The scalar value calculated by this fix is "intensive". diff --git a/doc/src/fix_efield.txt b/doc/src/fix_efield.txt index 5d2b86fe4b..a248a03b07 100644 --- a/doc/src/fix_efield.txt +++ b/doc/src/fix_efield.txt @@ -134,11 +134,10 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix adding its forces. Default is the outermost level. This fix computes a global scalar and a global 3-vector of forces, -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar is the potential -energy discussed above. The vector is the total force added to the -group of atoms. The scalar and vector values calculated by this fix -are "extensive". +which can be accessed by various "output commands"_Howto_output.html. +The scalar is the potential energy discussed above. The vector is the +total force added to the group of atoms. The scalar and vector values +calculated by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_enforce2d.txt b/doc/src/fix_enforce2d.txt index 67b351e4b8..b0d8c691b5 100644 --- a/doc/src/fix_enforce2d.txt +++ b/doc/src/fix_enforce2d.txt @@ -55,9 +55,9 @@ instructions on how to use the accelerated styles effectively. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. The forces due to this fix are imposed during an energy minimization, invoked by the "minimize"_minimize.html command. diff --git a/doc/src/fix_evaporate.txt b/doc/src/fix_evaporate.txt index ed6c6d0377..be8b351986 100644 --- a/doc/src/fix_evaporate.txt +++ b/doc/src/fix_evaporate.txt @@ -73,9 +73,9 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar, which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative number of deleted atoms. The scalar value calculated by -this fix is "intensive". +"output commands"_Howto_output.html. The scalar is the cumulative +number of deleted atoms. The scalar value calculated by this fix is +"intensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_external.txt b/doc/src/fix_external.txt index 30e34b4858..bf80b1b231 100644 --- a/doc/src/fix_external.txt +++ b/doc/src/fix_external.txt @@ -31,10 +31,10 @@ fix 1 all external pf/array 10 :pre [Description:] This fix allows external programs that are running LAMMPS through its -"library interface"_Section_howto.html#howto_19 to modify certain -LAMMPS properties on specific timesteps, similar to the way other -fixes do. The external driver can be a "C/C++ or Fortran -program"_Section_howto.html#howto_19 or a "Python script"_Python.html. +"library interface"_Howto_library.html to modify certain LAMMPS +properties on specific timesteps, similar to the way other fixes do. +The external driver can be a "C/C++ or Fortran +program"_Howto_library.html or a "Python script"_Python.html. :line @@ -136,9 +136,8 @@ external program to the system's virial as part of "thermodynamic output"_thermo_style.html. The default is {virial yes} This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -potential energy discussed above. The scalar stored by this fix -is "extensive". +"output commands"_Howto_output.html. The scalar is the potential +energy discussed above. The scalar stored by this fix is "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_filter_corotate.txt b/doc/src/fix_filter_corotate.txt index b782d285c7..a75a3b7b44 100644 --- a/doc/src/fix_filter_corotate.txt +++ b/doc/src/fix_filter_corotate.txt @@ -63,10 +63,9 @@ No information about these fixes is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to these fixes. No global or per-atom quantities are stored by these fixes for access by various "output -commands"_Section_howto.html#howto_15. No parameter of these fixes -can be used with the {start/stop} keywords of the "run"_run.html -command. These fixes are not invoked during "energy -minimization"_minimize.html. +commands"_Howto_output.html. No parameter of these fixes can be used +with the {start/stop} keywords of the "run"_run.html command. These +fixes are not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_flow_gauss.txt b/doc/src/fix_flow_gauss.txt index efa58ea65f..0980076062 100644 --- a/doc/src/fix_flow_gauss.txt +++ b/doc/src/fix_flow_gauss.txt @@ -128,11 +128,11 @@ integrator the fix computes and adds the external acceleration. Default is the outermost level. This fix computes a global scalar and a global 3-vector of forces, -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar is the negative of the -work done on the system, see above discussion. The vector is the total force -that this fix applied to the group of atoms on the current timestep. -The scalar and vector values calculated by this fix are "extensive". +which can be accessed by various "output commands"_Howto_output.html. +The scalar is the negative of the work done on the system, see above +discussion. The vector is the total force that this fix applied to +the group of atoms on the current timestep. The scalar and vector +values calculated by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_freeze.txt b/doc/src/fix_freeze.txt index 9619f4120b..43714df802 100644 --- a/doc/src/fix_freeze.txt +++ b/doc/src/fix_freeze.txt @@ -60,10 +60,10 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Section_howto.html#howto_15. This is the -total force on the group of atoms before the forces on individual -atoms are changed by the fix. The vector values calculated by this -fix are "extensive". +by various "output commands"_Howto_output.html. This is the total +force on the group of atoms before the forces on individual atoms are +changed by the fix. The vector values calculated by this fix are +"extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_gcmc.txt b/doc/src/fix_gcmc.txt index 191bc32b14..9630d856be 100644 --- a/doc/src/fix_gcmc.txt +++ b/doc/src/fix_gcmc.txt @@ -382,8 +382,8 @@ None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global vector of length 8, which can be accessed -by various "output commands"_Section_howto.html#howto_15. The vector -values are the following global cumulative quantities: +by various "output commands"_Howto_output.html. The vector values are +the following global cumulative quantities: 1 = translation attempts 2 = translation successes diff --git a/doc/src/fix_gld.txt b/doc/src/fix_gld.txt index 1425f62e13..06ac5d68cb 100644 --- a/doc/src/fix_gld.txt +++ b/doc/src/fix_gld.txt @@ -126,7 +126,7 @@ sense, a restarted simulation should produce the same behavior. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. +access by various "output commands"_Howto_output.html. This fix can ramp its target temperature over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_gle.txt b/doc/src/fix_gle.txt index 6568060f0c..d91dd8dee9 100644 --- a/doc/src/fix_gle.txt +++ b/doc/src/fix_gle.txt @@ -116,9 +116,9 @@ system's potential energy as part of "thermodynamic output"_thermo_style.html. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". [Restrictions:] diff --git a/doc/src/fix_gravity.txt b/doc/src/fix_gravity.txt index f39955d4f8..786f145608 100644 --- a/doc/src/fix_gravity.txt +++ b/doc/src/fix_gravity.txt @@ -124,11 +124,11 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. This scalar is the -gravitational potential energy of the particles in the defined field, -namely mass * (g dot x) for each particles, where x and mass are the -particles position and mass, and g is the gravitational field. The -scalar value calculated by this fix is "extensive". +"output commands"_Howto_output.html. This scalar is the gravitational +potential energy of the particles in the defined field, namely mass * +(g dot x) for each particles, where x and mass are the particles +position and mass, and g is the gravitational field. The scalar value +calculated by this fix is "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_halt.txt b/doc/src/fix_halt.txt index 08043eb5fb..55f313e40f 100644 --- a/doc/src/fix_halt.txt +++ b/doc/src/fix_halt.txt @@ -133,10 +133,10 @@ files. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_heat.txt b/doc/src/fix_heat.txt index 23db87dac2..a0e9b945fc 100644 --- a/doc/src/fix_heat.txt +++ b/doc/src/fix_heat.txt @@ -108,12 +108,11 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. This scalar is the -most recent value by which velocites were scaled. The scalar value -calculated by this fix is "intensive". If {eflux} is specified as -an atom-style variable, this fix computes the average value by which -the velocities were scaled for all of the atoms that had their -velocities scaled. +"output commands"_Howto_output.html. This scalar is the most recent +value by which velocites were scaled. The scalar value calculated by +this fix is "intensive". If {eflux} is specified as an atom-style +variable, this fix computes the average value by which the velocities +were scaled for all of the atoms that had their velocities scaled. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_imd.txt b/doc/src/fix_imd.txt index b275612819..1a1f11c2cf 100644 --- a/doc/src/fix_imd.txt +++ b/doc/src/fix_imd.txt @@ -136,9 +136,9 @@ No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global scalar or vector or per-atom quantities are stored by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +commands"_Howto_output.html. No parameter of this fix can be used +with the {start/stop} keywords of the "run"_run.html command. This +fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_indent.txt b/doc/src/fix_indent.txt index c9a791ae4e..1f67c0b242 100644 --- a/doc/src/fix_indent.txt +++ b/doc/src/fix_indent.txt @@ -180,8 +180,8 @@ integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar energy and a global 3-vector of forces (on the indenter), which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar and vector values -calculated by this fix are "extensive". +commands"_Howto_output.html. The scalar and vector values calculated +by this fix are "extensive". The forces due to this fix are imposed during an energy minimization, invoked by the "minimize"_minimize.html command. Note that if you diff --git a/doc/src/fix_langevin.txt b/doc/src/fix_langevin.txt index 6ab236e572..769b188604 100644 --- a/doc/src/fix_langevin.txt +++ b/doc/src/fix_langevin.txt @@ -101,7 +101,7 @@ should not normally be used on atoms that also have their temperature controlled by another fix - e.g. by "fix nvt"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html commands. -See "this howto section"_Section_howto.html#howto_16 of the manual for +See the "Howto thermostat"_Howto_thermostat.html doc page for a discussion of different ways to compute temperature and perform thermostatting. @@ -305,10 +305,10 @@ output"_thermo_style.html. Note that use of this option requires setting the {tally} keyword to {yes}. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". Note that calculation of this -quantity requires setting the {tally} keyword to {yes}. +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". Note that calculation of this quantity requires +setting the {tally} keyword to {yes}. This fix can ramp its target temperature over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_langevin_drude.txt b/doc/src/fix_langevin_drude.txt index c85ff24c96..bda8ec7881 100644 --- a/doc/src/fix_langevin_drude.txt +++ b/doc/src/fix_langevin_drude.txt @@ -44,8 +44,9 @@ fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes :pre Apply two Langevin thermostats as described in "(Jiang)"_#Jiang1 for thermalizing the reduced degrees of freedom of Drude oscillators. This link describes how to use the "thermalized Drude oscillator -model"_tutorial_drude.html in LAMMPS and polarizable models in LAMMPS -are discussed in "this Section"_Section_howto.html#howto_25. +model"_Howto_drude.html in LAMMPS and polarizable models in LAMMPS +are discussed on the "Howto polarizable"_Howto_polarizable.html doc +page. Drude oscillators are a way to simulate polarizables atoms, by splitting them into a core and a Drude particle bound by a harmonic @@ -99,8 +100,8 @@ Likewise, this fix should not normally be used on atoms that also have their temperature controlled by another fix - e.g. by "fix nvt"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html commands. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostating. :line diff --git a/doc/src/fix_langevin_eff.txt b/doc/src/fix_langevin_eff.txt index 4a50bfae54..ef22e99bcf 100644 --- a/doc/src/fix_langevin_eff.txt +++ b/doc/src/fix_langevin_eff.txt @@ -79,10 +79,10 @@ output"_thermo_style.html. Note that use of this option requires setting the {tally} keyword to {yes}. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". Note that calculation of this -quantity requires setting the {tally} keyword to {yes}. +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". Note that calculation of this quantity requires +setting the {tally} keyword to {yes}. This fix can ramp its target temperature over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_latte.txt b/doc/src/fix_latte.txt index 4edd610546..4f7e99dea8 100644 --- a/doc/src/fix_latte.txt +++ b/doc/src/fix_latte.txt @@ -118,9 +118,9 @@ of "thermodynamic output"_thermo_style.html. The default is {virial yes} This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -potential energy discussed above. The scalar value calculated by this -fix is "extensive". +"output commands"_Howto_output.html. The scalar is the potential +energy discussed above. The scalar value calculated by this fix is +"extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_lb_fluid.txt b/doc/src/fix_lb_fluid.txt index fc6203b0f2..925ca991c4 100644 --- a/doc/src/fix_lb_fluid.txt +++ b/doc/src/fix_lb_fluid.txt @@ -299,9 +299,9 @@ is written to the main LAMMPS "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_lb_momentum.txt b/doc/src/fix_lb_momentum.txt index 97965e870d..78a1f497eb 100644 --- a/doc/src/fix_lb_momentum.txt +++ b/doc/src/fix_lb_momentum.txt @@ -49,10 +49,10 @@ dimension. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can be -used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_lb_pc.txt b/doc/src/fix_lb_pc.txt index d2b6aafaab..f93d02f677 100644 --- a/doc/src/fix_lb_pc.txt +++ b/doc/src/fix_lb_pc.txt @@ -34,10 +34,10 @@ algorithm if the force coupling constant has been set by default. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can be -used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_lb_rigid_pc_sphere.txt b/doc/src/fix_lb_rigid_pc_sphere.txt index 468ebe1ff5..50e91df849 100644 --- a/doc/src/fix_lb_rigid_pc_sphere.txt +++ b/doc/src/fix_lb_rigid_pc_sphere.txt @@ -80,12 +80,12 @@ assumes the constituent atoms are point particles); see No information about the {rigid} and {rigid/nve} fixes are written to "binary restart files"_restart.html. -Similar to the "fix rigid"_fix_rigid.html command: The rigid -fix computes a global scalar which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar value calculated by -these fixes is "intensive". The scalar is the current temperature of -the collection of rigid bodies. This is averaged over all rigid -bodies and their translational and rotational degrees of freedom. The +Similar to the "fix rigid"_fix_rigid.html command: The rigid fix +computes a global scalar which can be accessed by various "output +commands"_Howto_output.html. The scalar value calculated by these +fixes is "intensive". The scalar is the current temperature of the +collection of rigid bodies. This is averaged over all rigid bodies +and their translational and rotational degrees of freedom. The translational energy of a rigid body is 1/2 m v^2, where m = total mass of the body and v = the velocity of its center of mass. The rotational energy of a rigid body is 1/2 I w^2, where I = the moment @@ -94,17 +94,17 @@ of freedom constrained by the {force} and {torque} keywords are removed from this calculation. All of these fixes compute a global array of values which can be -accessed by various "output commands"_Section_howto.html#howto_15. -The number of rows in the array is equal to the number of rigid -bodies. The number of columns is 15. Thus for each rigid body, 15 -values are stored: the xyz coords of the center of mass (COM), the xyz -components of the COM velocity, the xyz components of the force acting -on the COM, the xyz components of the torque acting on the COM, and -the xyz image flags of the COM, which have the same meaning as image -flags for atom positions (see the "dump" command). The force and -torque values in the array are not affected by the {force} and -{torque} keywords in the fix rigid command; they reflect values before -any changes are made by those keywords. +accessed by various "output commands"_Howto_output.html. The number +of rows in the array is equal to the number of rigid bodies. The +number of columns is 15. Thus for each rigid body, 15 values are +stored: the xyz coords of the center of mass (COM), the xyz components +of the COM velocity, the xyz components of the force acting on the +COM, the xyz components of the torque acting on the COM, and the xyz +image flags of the COM, which have the same meaning as image flags for +atom positions (see the "dump" command). The force and torque values +in the array are not affected by the {force} and {torque} keywords in +the fix rigid command; they reflect values before any changes are made +by those keywords. The ordering of the rigid bodies (by row in the array) is as follows. For the {single} keyword there is just one rigid body. For the diff --git a/doc/src/fix_lb_viscous.txt b/doc/src/fix_lb_viscous.txt index fcc69d2b43..27f089496e 100644 --- a/doc/src/fix_lb_viscous.txt +++ b/doc/src/fix_lb_viscous.txt @@ -57,9 +57,9 @@ As described in the "fix viscous"_fix_viscous.html documentation: "No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. The forces due to this fix are imposed during an energy minimization, invoked by the "minimize"_minimize.html command. This fix should only diff --git a/doc/src/fix_lineforce.txt b/doc/src/fix_lineforce.txt index 65672fc5a5..ad651862f6 100644 --- a/doc/src/fix_lineforce.txt +++ b/doc/src/fix_lineforce.txt @@ -35,9 +35,9 @@ it should continue to move along the line thereafter. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. The forces due to this fix are imposed during an energy minimization, invoked by the "minimize"_minimize.html command. diff --git a/doc/src/fix_manifoldforce.txt b/doc/src/fix_manifoldforce.txt index 5fc25167a7..fe8a04051b 100644 --- a/doc/src/fix_manifoldforce.txt +++ b/doc/src/fix_manifoldforce.txt @@ -36,10 +36,10 @@ I have found that only {hftn} and {quickmin} with a very small time step perform No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is invoked during "energy +minimization"_minimize.html. :line diff --git a/doc/src/fix_meso.txt b/doc/src/fix_meso.txt index 85f5838dd2..95f58bedaa 100644 --- a/doc/src/fix_meso.txt +++ b/doc/src/fix_meso.txt @@ -34,10 +34,10 @@ LAMMPS. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_meso_stationary.txt b/doc/src/fix_meso_stationary.txt index 5b83573bc8..3b197c079f 100644 --- a/doc/src/fix_meso_stationary.txt +++ b/doc/src/fix_meso_stationary.txt @@ -35,10 +35,10 @@ LAMMPS. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_momentum.txt b/doc/src/fix_momentum.txt index aa5199ac14..28fd2addf2 100644 --- a/doc/src/fix_momentum.txt +++ b/doc/src/fix_momentum.txt @@ -83,10 +83,10 @@ instructions on how to use the accelerated styles effectively. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_move.txt b/doc/src/fix_move.txt index 7cb40ad132..9a1d25b623 100644 --- a/doc/src/fix_move.txt +++ b/doc/src/fix_move.txt @@ -203,10 +203,9 @@ None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix produces a per-atom array which can be accessed by various -"output commands"_Section_howto.html#howto_15. The number of columns -for each atom is 3, and the columns store the original unwrapped x,y,z -coords of each atom. The per-atom values can be accessed on any -timestep. +"output commands"_Howto_output.html. The number of columns for each +atom is 3, and the columns store the original unwrapped x,y,z coords +of each atom. The per-atom values can be accessed on any timestep. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_msst.txt b/doc/src/fix_msst.txt index 310692669a..d79b549580 100644 --- a/doc/src/fix_msst.txt +++ b/doc/src/fix_msst.txt @@ -156,8 +156,8 @@ thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_ These fixes compute a global scalar and a global vector of 4 quantities, which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar values calculated -by this fix are "extensive"; the vector values are "intensive". +commands"_Howto_output.html. The scalar values calculated by this fix +are "extensive"; the vector values are "intensive". [Restrictions:] diff --git a/doc/src/fix_mvv_dpd.txt b/doc/src/fix_mvv_dpd.txt index fb3c6fe888..7a07642c54 100644 --- a/doc/src/fix_mvv_dpd.txt +++ b/doc/src/fix_mvv_dpd.txt @@ -69,10 +69,10 @@ addition to position and velocity, and must be used with the No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_neb.txt b/doc/src/fix_neb.txt index 5d18c39d99..5cfefbf819 100644 --- a/doc/src/fix_neb.txt +++ b/doc/src/fix_neb.txt @@ -43,9 +43,9 @@ Add nudging forces to atoms in the group for a multi-replica simulation run via the "neb"_neb.html command to perform a nudged elastic band (NEB) calculation for finding the transition state. Hi-level explanations of NEB are given with the "neb"_neb.html command -and in "Section_howto 5"_Section_howto.html#howto_5 of the manual. -The fix neb command must be used with the "neb" command and defines -how inter-replica nudging forces are computed. A NEB calculation is +and on the "Howto replica"_Howto_replica.html doc page. The fix neb +command must be used with the "neb" command and defines how +inter-replica nudging forces are computed. A NEB calculation is divided in two stages. In the first stage n replicas are relaxed toward a MEP until convergence. In the second stage, the climbing image scheme (see "(Henkelman2)"_#Henkelman2) is enabled, so that the @@ -192,9 +192,9 @@ target energy. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. The forces due to this fix are imposed during an energy minimization, as invoked by the "minimize"_minimize.html command via the diff --git a/doc/src/fix_nh.txt b/doc/src/fix_nh.txt index e3a39c6bc6..d18f4a3e16 100644 --- a/doc/src/fix_nh.txt +++ b/doc/src/fix_nh.txt @@ -386,9 +386,10 @@ have their temperature controlled by another fix - e.g. by "fix langevin"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html commands. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform -thermostatting and barostatting. +See the "Howto thermostat"_Howto_thermostat.html and "Howto +barostat"_Howto_barostat.html doc pages for a discussion of different +ways to compute temperature and perform thermostatting and +barostatting. :line @@ -537,9 +538,9 @@ and barostatting to the system's potential energy as part of "thermodynamic output"_thermo_style.html. These fixes compute a global scalar and a global vector of quantities, -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar value calculated by -these fixes is "extensive"; the vector values are "intensive". +which can be accessed by various "output commands"_Howto_output.html. +The scalar value calculated by these fixes is "extensive"; the vector +values are "intensive". The scalar is the cumulative energy change due to the fix. diff --git a/doc/src/fix_nphug.txt b/doc/src/fix_nphug.txt index 4f696e9590..1276a5697d 100644 --- a/doc/src/fix_nphug.txt +++ b/doc/src/fix_nphug.txt @@ -192,9 +192,9 @@ included in the definition of internal energy E when calculating the value of Delta in the above equation. These fixes compute a global scalar and a global vector of quantities, -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar value calculated by -these fixes is "extensive"; the vector values are "intensive". +which can be accessed by various "output commands"_Howto_output.html. +The scalar value calculated by these fixes is "extensive"; the vector +values are "intensive". The scalar is the cumulative energy change due to the fix. diff --git a/doc/src/fix_nve.txt b/doc/src/fix_nve.txt index ac9cb53b50..8aa4197a60 100644 --- a/doc/src/fix_nve.txt +++ b/doc/src/fix_nve.txt @@ -58,10 +58,10 @@ instructions on how to use the accelerated styles effectively. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_nve_asphere.txt b/doc/src/fix_nve_asphere.txt index 5be7a7aa68..b9ee48f9dd 100644 --- a/doc/src/fix_nve_asphere.txt +++ b/doc/src/fix_nve_asphere.txt @@ -35,10 +35,10 @@ assumes point particles and only updates their position and velocity. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. :line diff --git a/doc/src/fix_nve_asphere_noforce.txt b/doc/src/fix_nve_asphere_noforce.txt index 5f1b271546..164e3db104 100644 --- a/doc/src/fix_nve_asphere_noforce.txt +++ b/doc/src/fix_nve_asphere_noforce.txt @@ -38,10 +38,10 @@ Dynamics, since the velocity and angular momentum are updated by the No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nve_body.txt b/doc/src/fix_nve_body.txt index 604b5391cd..3696425374 100644 --- a/doc/src/fix_nve_body.txt +++ b/doc/src/fix_nve_body.txt @@ -24,9 +24,9 @@ fix 1 all nve/body :pre Perform constant NVE integration to update position, velocity, orientation, and angular velocity for body particles in the group each timestep. V is volume; E is energy. This creates a system trajectory -consistent with the microcanonical ensemble. See "Section -6.14"_Section_howto.html#howto_14 of the manual and the "body"_body.html -doc page for more details on using body particles. +consistent with the microcanonical ensemble. See the "Howto +body"_Howto_body.html doc page for more details on using body +particles. This fix differs from the "fix nve"_fix_nve.html command, which assumes point particles and only updates their position and velocity. @@ -36,10 +36,10 @@ assumes point particles and only updates their position and velocity. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nve_eff.txt b/doc/src/fix_nve_eff.txt index 156f184dac..608e5e12ad 100644 --- a/doc/src/fix_nve_eff.txt +++ b/doc/src/fix_nve_eff.txt @@ -35,10 +35,10 @@ of electrons are also updated. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nve_limit.txt b/doc/src/fix_nve_limit.txt index 2ecec83e9c..ffaffd59b7 100644 --- a/doc/src/fix_nve_limit.txt +++ b/doc/src/fix_nve_limit.txt @@ -63,14 +63,14 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -count of how many updates of atom's velocity/position were limited by -the maximum distance criterion. This should be roughly the number of -atoms so affected, except that updates occur at both the beginning and -end of a timestep in a velocity Verlet timestepping algorithm. This -is a cumulative quantity for the current run, but is re-initialized to -zero each time a run is performed. The scalar value calculated by -this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the count of how +many updates of atom's velocity/position were limited by the maximum +distance criterion. This should be roughly the number of atoms so +affected, except that updates occur at both the beginning and end of a +timestep in a velocity Verlet timestepping algorithm. This is a +cumulative quantity for the current run, but is re-initialized to zero +each time a run is performed. The scalar value calculated by this fix +is "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_nve_line.txt b/doc/src/fix_nve_line.txt index ac5206aa5c..a919e648e1 100644 --- a/doc/src/fix_nve_line.txt +++ b/doc/src/fix_nve_line.txt @@ -24,9 +24,9 @@ fix 1 all nve/line :pre Perform constant NVE integration to update position, velocity, orientation, and angular velocity for line segment particles in the group each timestep. V is volume; E is energy. This creates a system -trajectory consistent with the microcanonical ensemble. See -"Section 6.14"_Section_howto.html#howto_14 of the manual for an -overview of using line segment particles. +trajectory consistent with the microcanonical ensemble. See "Howto +spherical"_Howto_spherical.html doc page for an overview of using line +segment particles. This fix differs from the "fix nve"_fix_nve.html command, which assumes point particles and only updates their position and velocity. @@ -36,10 +36,10 @@ assumes point particles and only updates their position and velocity. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nve_manifold_rattle.txt b/doc/src/fix_nve_manifold_rattle.txt index e032a7e1cc..89922ea80d 100644 --- a/doc/src/fix_nve_manifold_rattle.txt +++ b/doc/src/fix_nve_manifold_rattle.txt @@ -40,7 +40,7 @@ the dynamics of particles constrained to curved surfaces can be studied. If combined with "fix langevin"_fix_langevin.html, this generates Brownian motion of particles constrained to a curved surface. For a list of currently supported manifolds and their -parameters, see "manifolds"_manifolds.html. +parameters, see the "Howto manifold"_Howto_manifold.html doc page. Note that the particles must initially be close to the manifold in question. If not, RATTLE will not be able to iterate until the @@ -68,10 +68,10 @@ conserved. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. :line diff --git a/doc/src/fix_nve_noforce.txt b/doc/src/fix_nve_noforce.txt index a0dbcc80f1..c1a4f76eaf 100644 --- a/doc/src/fix_nve_noforce.txt +++ b/doc/src/fix_nve_noforce.txt @@ -40,10 +40,10 @@ fcm() group function to compute the total force on the group of atoms. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_nve_sphere.txt b/doc/src/fix_nve_sphere.txt index cfe73a854d..36c4178de9 100644 --- a/doc/src/fix_nve_sphere.txt +++ b/doc/src/fix_nve_sphere.txt @@ -89,10 +89,10 @@ instructions on how to use the accelerated styles effectively. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nve_tri.txt b/doc/src/fix_nve_tri.txt index cee27e2fa4..9c03eb872a 100644 --- a/doc/src/fix_nve_tri.txt +++ b/doc/src/fix_nve_tri.txt @@ -23,10 +23,10 @@ fix 1 all nve/tri :pre Perform constant NVE integration to update position, velocity, orientation, and angular momentum for triangular particles in the -group each timestep. V is volume; E is energy. This creates a -system trajectory consistent with the microcanonical ensemble. See -"Section 6.14"_Section_howto.html#howto_14 of the manual for an -overview of using triangular particles. +group each timestep. V is volume; E is energy. This creates a system +trajectory consistent with the microcanonical ensemble. See the +"Howto spherical"_Howto_spherical.html doc page for an overview of +using triangular particles. This fix differs from the "fix nve"_fix_nve.html command, which assumes point particles and only updates their position and velocity. @@ -36,10 +36,10 @@ assumes point particles and only updates their position and velocity. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nvk.txt b/doc/src/fix_nvk.txt index 49fd8217ab..2106ee5235 100644 --- a/doc/src/fix_nvk.txt +++ b/doc/src/fix_nvk.txt @@ -42,10 +42,10 @@ energy prior to this fix. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nvt_manifold_rattle.txt b/doc/src/fix_nvt_manifold_rattle.txt index a620648a46..4261f9a4db 100644 --- a/doc/src/fix_nvt_manifold_rattle.txt +++ b/doc/src/fix_nvt_manifold_rattle.txt @@ -37,9 +37,13 @@ fix 1 all nvt/manifold/rattle 1e-4 10 cylinder 3.0 temp 1.0 1.0 10.0 [Description:] -This fix combines the RATTLE-based "(Andersen)"_#Andersen2 time integrator of "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html "(Paquay)"_#Paquay3 with a Nose-Hoover-chain thermostat to sample the -canonical ensemble of particles constrained to a curved surface (manifold). This sampling does suffer from discretization bias of O(dt). -For a list of currently supported manifolds and their parameters, see "manifolds"_manifolds.html +This fix combines the RATTLE-based "(Andersen)"_#Andersen2 time +integrator of "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html +"(Paquay)"_#Paquay3 with a Nose-Hoover-chain thermostat to sample the +canonical ensemble of particles constrained to a curved surface +(manifold). This sampling does suffer from discretization bias of +O(dt). For a list of currently supported manifolds and their +parameters, see the "Howto manifold"_Howto_manifold.html doc page. :line @@ -48,10 +52,10 @@ For a list of currently supported manifolds and their parameters, see "manifolds No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. :line diff --git a/doc/src/fix_oneway.txt b/doc/src/fix_oneway.txt index 2d85c581eb..d9217ab14b 100644 --- a/doc/src/fix_oneway.txt +++ b/doc/src/fix_oneway.txt @@ -43,10 +43,10 @@ membrane, or as an implementation of Maxwell's demon. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_orient.txt b/doc/src/fix_orient.txt index 20ff94866e..c57cccd322 100644 --- a/doc/src/fix_orient.txt +++ b/doc/src/fix_orient.txt @@ -135,14 +135,14 @@ fixes. This allows to set at which level of the "r-RESPA"_run_style.html integrator a fix is adding its forces. Default is the outermost level. This fix calculates a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -potential energy change due to this fix. The scalar value calculated -by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the potential +energy change due to this fix. The scalar value calculated by this +fix is "extensive". This fix also calculates a per-atom array which can be accessed by -various "output commands"_Section_howto.html#howto_15. The array -stores the order parameter Xi and normalized order parameter (0 to 1) -for each atom. The per-atom values can be accessed on any timestep. +various "output commands"_Howto_output.html. The array stores the +order parameter Xi and normalized order parameter (0 to 1) for each +atom. The per-atom values can be accessed on any timestep. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_phonon.txt b/doc/src/fix_phonon.txt index aad6c2bfaa..63df4e6801 100644 --- a/doc/src/fix_phonon.txt +++ b/doc/src/fix_phonon.txt @@ -150,7 +150,7 @@ fix. You can use it to change the temperature compute from thermo_temp to the one that reflects the true temperature of atoms in the group. No global scalar or vector or per-atom quantities are stored by this -fix for access by various "output commands"_Section_howto.html#howto_15. +fix for access by various "output commands"_Howto_output.html. Instead, this fix outputs its initialization information (including mapping information) and the calculated dynamical matrices to the file diff --git a/doc/src/fix_pimd.txt b/doc/src/fix_pimd.txt index 38022e4c7d..8958063d2e 100644 --- a/doc/src/fix_pimd.txt +++ b/doc/src/fix_pimd.txt @@ -103,14 +103,13 @@ is appropriate for most situations. The PIMD algorithm in LAMMPS is implemented as a hyper-parallel scheme as described in "(Calhoun)"_#Calhoun. In LAMMPS this is done by using -"multi-replica feature"_Section_howto.html#howto_5 in LAMMPS, where -each quasi-particle system is stored and simulated on a separate -partition of processors. The following diagram illustrates this -approach. The original system with 2 ring polymers is shown in red. -Since each ring has 4 quasi-beads (imaginary time slices), there are 4 -replicas of the system, each running on one of the 4 partitions of -processors. Each replica (shown in green) owns one quasi-bead in each -ring. +"multi-replica feature"_Howto_replica.html in LAMMPS, where each +quasi-particle system is stored and simulated on a separate partition +of processors. The following diagram illustrates this approach. The +original system with 2 ring polymers is shown in red. Since each ring +has 4 quasi-beads (imaginary time slices), there are 4 replicas of the +system, each running on one of the 4 partitions of processors. Each +replica (shown in green) owns one quasi-bead in each ring. :c,image(JPG/pimd.jpg) diff --git a/doc/src/fix_planeforce.txt b/doc/src/fix_planeforce.txt index 67956c8b6d..4a74301066 100644 --- a/doc/src/fix_planeforce.txt +++ b/doc/src/fix_planeforce.txt @@ -35,9 +35,9 @@ should continue to move in the plane thereafter. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. The forces due to this fix are imposed during an energy minimization, invoked by the "minimize"_minimize.html command. diff --git a/doc/src/fix_poems.txt b/doc/src/fix_poems.txt index 03abc058b8..0690923b45 100644 --- a/doc/src/fix_poems.txt +++ b/doc/src/fix_poems.txt @@ -114,9 +114,9 @@ early or late in a timestep, i.e. at the post-force stage or at the final-integrate stage, respectively. No global or per-atom quantities are stored by this fix for access by -various "output commands"_Section_howto.html#howto_15. No parameter -of this fix can be used with the {start/stop} keywords of the -"run"_run.html command. This fix is not invoked during "energy +various "output commands"_Howto_output.html. No parameter of this fix +can be used with the {start/stop} keywords of the "run"_run.html +command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_pour.txt b/doc/src/fix_pour.txt index 54f78287e0..4b86405522 100644 --- a/doc/src/fix_pour.txt +++ b/doc/src/fix_pour.txt @@ -237,9 +237,9 @@ appropriately. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_precession_spin.txt b/doc/src/fix_precession_spin.txt index 4133d7dd57..bc18fa0e8c 100644 --- a/doc/src/fix_precession_spin.txt +++ b/doc/src/fix_precession_spin.txt @@ -67,8 +67,8 @@ to add this magnetic potential energy to the potential energy of the system, fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 fix_modify 1 energy yes :pre -This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. +This fix computes a global scalar which can be accessed by various +"output commands"_Howto_output.html. No information about this fix is written to "binary restart files"_restart.html. diff --git a/doc/src/fix_press_berendsen.txt b/doc/src/fix_press_berendsen.txt index 9c9da8ec7b..0e41abd1f8 100644 --- a/doc/src/fix_press_berendsen.txt +++ b/doc/src/fix_press_berendsen.txt @@ -58,9 +58,8 @@ to control the temperature, such as "fix nvt"_fix_nh.html or "fix langevin"_fix_langevin.html or "fix temp/berendsen"_fix_temp_berendsen.html. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform -thermostatting and barostatting. +See the "Howto baroostat"_Howto_barostat.html doc page for a +discussion of different ways to perform barostatting. :line @@ -196,7 +195,7 @@ pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. No global or per-atom quantities are stored by this fix for access by -various "output commands"_Section_howto.html#howto_15. +various "output commands"_Howto_output.html. This fix can ramp its target pressure over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_print.txt b/doc/src/fix_print.txt index cf3b542833..f7a7b333c4 100644 --- a/doc/src/fix_print.txt +++ b/doc/src/fix_print.txt @@ -73,10 +73,10 @@ where ID is replaced with the fix-ID. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_property_atom.txt b/doc/src/fix_property_atom.txt index 95fc2c424d..624fc5f7df 100644 --- a/doc/src/fix_property_atom.txt +++ b/doc/src/fix_property_atom.txt @@ -200,18 +200,17 @@ added classes. :line -:link(isotopes) -Example for using per-atom masses with TIP4P water to study isotope -effects. When setting up simulations with the "TIP4P pair -styles"_Section_howto.html#howto_8 for water, you have to provide -exactly one atom type each to identify the water oxygen and hydrogen +:link(isotopes) Example for using per-atom masses with TIP4P water to +study isotope effects. When setting up simulations with the "TIP4P +pair styles"_Howto_tip4p.html for water, you have to provide exactly +one atom type each to identify the water oxygen and hydrogen atoms. Since the atom mass is normally tied to the atom type, this makes it impossible to study multiple isotopes in the same simulation. With {fix property/atom rmass} however, the per-type masses are replaced by per-atom masses. Asumming you have a working input deck -for regular TIP4P water, where water oxygen is atom type 1 and -water hydrogen is atom type 2, the following lines of input script -convert this to using per-atom masses: +for regular TIP4P water, where water oxygen is atom type 1 and water +hydrogen is atom type 2, the following lines of input script convert +this to using per-atom masses: fix Isotopes all property/atom rmass ghost yes set type 1 mass 15.9994 @@ -247,12 +246,12 @@ command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -None of the "fix_modify"_fix_modify.html options -are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +None of the "fix_modify"_fix_modify.html options are relevant to this +fix. No global or per-atom quantities are stored by this fix for +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_python_move.txt b/doc/src/fix_python_move.txt index f10f607a9b..2f49427a9e 100644 --- a/doc/src/fix_python_move.txt +++ b/doc/src/fix_python_move.txt @@ -83,10 +83,10 @@ Examples for how to do this are in the {examples/python} folder. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_qbmsst.txt b/doc/src/fix_qbmsst.txt index 2c116fb0f8..56ace85e57 100644 --- a/doc/src/fix_qbmsst.txt +++ b/doc/src/fix_qbmsst.txt @@ -179,10 +179,10 @@ thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_ The global scalar under the entry f_fix_id is the quantity of thermo energy as an extra part of etot. This global scalar and the vector of 5 quantities can be accessed by various "output -commands"_Section_howto.html#howto_15. It is worth noting that the -temp keyword under the "thermo_style"_thermo_style.html command print -the instantaneous classical temperature Tcl as -described in the command "fix qtb"_fix_qtb.html. +commands"_Howto_output.html. It is worth noting that the temp keyword +under the "thermo_style"_thermo_style.html command print the +instantaneous classical temperature Tcl as described +in the command "fix qtb"_fix_qtb.html. :line diff --git a/doc/src/fix_qeq.txt b/doc/src/fix_qeq.txt index 194361e990..c142d4a06d 100644 --- a/doc/src/fix_qeq.txt +++ b/doc/src/fix_qeq.txt @@ -179,9 +179,8 @@ parameters. See the examples/qeq directory for some examples. No information about these fixes is written to "binary restart files"_restart.html. No global scalar or vector or per-atom quantities are stored by these fixes for access by various "output -commands"_Section_howto.html#howto_15. No parameter of these fixes -can be used with the {start/stop} keywords of the "run"_run.html -command. +commands"_Howto_output.html. No parameter of these fixes can be used +with the {start/stop} keywords of the "run"_run.html command. Thexe fixes are invoked during "energy minimization"_minimize.html. diff --git a/doc/src/fix_qeq_comb.txt b/doc/src/fix_qeq_comb.txt index 783dc3133c..0eb38fcae6 100644 --- a/doc/src/fix_qeq_comb.txt +++ b/doc/src/fix_qeq_comb.txt @@ -92,9 +92,9 @@ integrator the fix is performing charge equilibration. Default is the outermost level. This fix produces a per-atom vector which can be accessed by various -"output commands"_Section_howto.html#howto_15. The vector stores the -gradient of the charge on each atom. The per-atom values be accessed -on any timestep. +"output commands"_Howto_output.html. The vector stores the gradient +of the charge on each atom. The per-atom values be accessed on any +timestep. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_qeq_reax.txt b/doc/src/fix_qeq_reax.txt index a534a66c09..ea25ddbf57 100644 --- a/doc/src/fix_qeq_reax.txt +++ b/doc/src/fix_qeq_reax.txt @@ -70,8 +70,8 @@ the {qeq/reax/omp} style. Otherwise they are processed separately. No information about this fix is written to "binary restart files"_restart.html. No global scalar or vector or per-atom quantities are stored by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +commands"_Howto_output.html. No parameter of this fix can be used +with the {start/stop} keywords of the "run"_run.html command. This fix is invoked during "energy minimization"_minimize.html. diff --git a/doc/src/fix_qmmm.txt b/doc/src/fix_qmmm.txt index 1b4a850a42..5e730ac8af 100644 --- a/doc/src/fix_qmmm.txt +++ b/doc/src/fix_qmmm.txt @@ -46,9 +46,9 @@ No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global scalar or vector or per-atom quantities are stored by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +commands"_Howto_output.html. No parameter of this fix can be used +with the {start/stop} keywords of the "run"_run.html command. This +fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_reax_bonds.txt b/doc/src/fix_reax_bonds.txt index 50f0b77d52..2f7c38f815 100644 --- a/doc/src/fix_reax_bonds.txt +++ b/doc/src/fix_reax_bonds.txt @@ -62,10 +62,10 @@ version, but will also take longer to write. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. :line diff --git a/doc/src/fix_reaxc_species.txt b/doc/src/fix_reaxc_species.txt index 75e4598ca5..4f1249744f 100644 --- a/doc/src/fix_reaxc_species.txt +++ b/doc/src/fix_reaxc_species.txt @@ -116,8 +116,8 @@ are relevant to this fix. This fix computes both a global vector of length 2 and a per-atom vector, either of which can be accessed by various "output -commands"_Section_howto.html#howto_15. The values in the global -vector are "intensive". +commands"_Howto_output.html. The values in the global vector are +"intensive". The 2 values in the global vector are as follows: diff --git a/doc/src/fix_recenter.txt b/doc/src/fix_recenter.txt index 342bed4251..a2477d11c7 100644 --- a/doc/src/fix_recenter.txt +++ b/doc/src/fix_recenter.txt @@ -94,13 +94,13 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -distance the group is moved by fix recenter. +"output commands"_Howto_output.html. The scalar is the distance the +group is moved by fix recenter. This fix also computes global 3-vector which can be accessed by -various "output commands"_Section_howto.html#howto_15. The 3 -quantities in the vector are xyz components of displacement applied to -the group of atoms by the fix. +various "output commands"_Howto_output.html. The 3 quantities in the +vector are xyz components of displacement applied to the group of +atoms by the fix. The scalar and vector values calculated by this fix are "extensive". diff --git a/doc/src/fix_restrain.txt b/doc/src/fix_restrain.txt index 9de63defb7..b8cc7c0d45 100644 --- a/doc/src/fix_restrain.txt +++ b/doc/src/fix_restrain.txt @@ -187,8 +187,8 @@ added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the "fix_modify"_fix_modify.html {energy} option for this fix. -This fix computes a global scalar and a global vector of length 3, which -can be accessed by various "output commands"_Section_howto.html#howto_15. +This fix computes a global scalar and a global vector of length 3, +which can be accessed by various "output commands"_Howto_output.html. The scalar is the total potential energy for {all} the restraints as discussed above. The vector values are the sum of contributions to the following individual categories: diff --git a/doc/src/fix_rigid.txt b/doc/src/fix_rigid.txt index f3dd20daa3..a5f00c16e9 100644 --- a/doc/src/fix_rigid.txt +++ b/doc/src/fix_rigid.txt @@ -745,29 +745,29 @@ computed early or late in a timestep, i.e. at the post-force stage or at the final-integrate stage or the timestep, respectively. The 2 NVE rigid fixes compute a global scalar which can be accessed by -various "output commands"_Section_howto.html#howto_15. The scalar -value calculated by these fixes is "intensive". The scalar is the -current temperature of the collection of rigid bodies. This is -averaged over all rigid bodies and their translational and rotational -degrees of freedom. The translational energy of a rigid body is 1/2 m -v^2, where m = total mass of the body and v = the velocity of its -center of mass. The rotational energy of a rigid body is 1/2 I w^2, -where I = the moment of inertia tensor of the body and w = its angular -velocity. Degrees of freedom constrained by the {force} and {torque} -keywords are removed from this calculation, but only for the {rigid} -and {rigid/nve} fixes. +various "output commands"_Howto_output.html. The scalar value +calculated by these fixes is "intensive". The scalar is the current +temperature of the collection of rigid bodies. This is averaged over +all rigid bodies and their translational and rotational degrees of +freedom. The translational energy of a rigid body is 1/2 m v^2, where +m = total mass of the body and v = the velocity of its center of mass. +The rotational energy of a rigid body is 1/2 I w^2, where I = the +moment of inertia tensor of the body and w = its angular velocity. +Degrees of freedom constrained by the {force} and {torque} keywords +are removed from this calculation, but only for the {rigid} and +{rigid/nve} fixes. The 6 NVT, NPT, NPH rigid fixes compute a global scalar which can be -accessed by various "output commands"_Section_howto.html#howto_15. -The scalar value calculated by these fixes is "extensive". The scalar -is the cumulative energy change due to the thermostatting and -barostatting the fix performs. +accessed by various "output commands"_Howto_output.html. The scalar +value calculated by these fixes is "extensive". The scalar is the +cumulative energy change due to the thermostatting and barostatting +the fix performs. All of the {rigid} styles (not the {rigid/small} styles) compute a global array of values which can be accessed by various "output -commands"_Section_howto.html#howto_15. Similar information about the -bodies defined by the {rigid/small} styles can be accessed via the -"compute rigid/local"_compute_rigid_local.html command. +commands"_Howto_output.html. Similar information about the bodies +defined by the {rigid/small} styles can be accessed via the "compute +rigid/local"_compute_rigid_local.html command. The number of rows in the array is equal to the number of rigid bodies. The number of columns is 15. Thus for each rigid body, 15 diff --git a/doc/src/fix_setforce.txt b/doc/src/fix_setforce.txt index 0af1c92922..c6a01e5492 100644 --- a/doc/src/fix_setforce.txt +++ b/doc/src/fix_setforce.txt @@ -103,10 +103,10 @@ so that setforce values are not counted multiple times. Default is to to override forces at the outermost level. This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Section_howto.html#howto_15. This is the -total force on the group of atoms before the forces on individual -atoms are changed by the fix. The vector values calculated by this -fix are "extensive". +by various "output commands"_Howto_output.html. This is the total +force on the group of atoms before the forces on individual atoms are +changed by the fix. The vector values calculated by this fix are +"extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_shake.txt b/doc/src/fix_shake.txt index 7428b30a14..9297bcc87a 100644 --- a/doc/src/fix_shake.txt +++ b/doc/src/fix_shake.txt @@ -195,10 +195,9 @@ No information about these fixes is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to these fixes. No global or per-atom quantities are stored by these fixes for access by various "output -commands"_Section_howto.html#howto_15. No parameter of these fixes -can be used with the {start/stop} keywords of the "run"_run.html -command. These fixes are not invoked during "energy -minimization"_minimize.html. +commands"_Howto_output.html. No parameter of these fixes can be used +with the {start/stop} keywords of the "run"_run.html command. These +fixes are not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_smd.txt b/doc/src/fix_smd.txt index cb4a40f0fd..e9403b22cc 100644 --- a/doc/src/fix_smd.txt +++ b/doc/src/fix_smd.txt @@ -111,12 +111,12 @@ this fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a vector list of 7 quantities, which can be accessed -by various "output commands"_Section_howto.html#howto_15. The -quantities in the vector are in this order: the x-, y-, and -z-component of the pulling force, the total force in direction of the -pull, the equilibrium distance of the spring, the distance between the -two reference points, and finally the accumulated PMF (the sum of -pulling forces times displacement). +by various "output commands"_Howto_output.html. The quantities in the +vector are in this order: the x-, y-, and z-component of the pulling +force, the total force in direction of the pull, the equilibrium +distance of the spring, the distance between the two reference points, +and finally the accumulated PMF (the sum of pulling forces times +displacement). The force is the total force on the group of atoms by the spring. In the case of the {couple} style, it is the force on the fix group diff --git a/doc/src/fix_smd_setvel.txt b/doc/src/fix_smd_setvel.txt index f93a7d0965..d64726d9b3 100644 --- a/doc/src/fix_smd_setvel.txt +++ b/doc/src/fix_smd_setvel.txt @@ -66,9 +66,9 @@ None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Section_howto.html#howto_15. This is the -total force on the group of atoms. The vector values calculated by this -fix are "extensive". +by various "output commands"_Howto_output.html. This is the total +force on the group of atoms. The vector values calculated by this fix +are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_spring.txt b/doc/src/fix_spring.txt index 014a43aacc..047e5a6797 100644 --- a/doc/src/fix_spring.txt +++ b/doc/src/fix_spring.txt @@ -105,19 +105,19 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -spring energy = 0.5 * K * r^2. +"output commands"_Howto_output.html. The scalar is the spring energy += 0.5 * K * r^2. This fix also computes global 4-vector which can be accessed by -various "output commands"_Section_howto.html#howto_15. The first 3 -quantities in the vector are xyz components of the total force added -to the group of atoms by the spring. In the case of the {couple} -style, it is the force on the fix group (group-ID) or the negative of -the force on the 2nd group (group-ID2). The 4th quantity in the -vector is the magnitude of the force added by the spring, as a -positive value if (r-R0) > 0 and a negative value if (r-R0) < 0. This -sign convention can be useful when using the spring force to compute a -potential of mean force (PMF). +various "output commands"_Howto_output.html. The first 3 quantities +in the vector are xyz components of the total force added to the group +of atoms by the spring. In the case of the {couple} style, it is the +force on the fix group (group-ID) or the negative of the force on the +2nd group (group-ID2). The 4th quantity in the vector is the +magnitude of the force added by the spring, as a positive value if +(r-R0) > 0 and a negative value if (r-R0) < 0. This sign convention +can be useful when using the spring force to compute a potential of +mean force (PMF). The scalar and vector values calculated by this fix are "extensive". diff --git a/doc/src/fix_spring_chunk.txt b/doc/src/fix_spring_chunk.txt index 7630a009dd..e46f299771 100644 --- a/doc/src/fix_spring_chunk.txt +++ b/doc/src/fix_spring_chunk.txt @@ -60,8 +60,8 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -energy of all the springs, i.e. 0.5 * K * r^2 per-spring. +"output commands"_Howto_output.html. The scalar is the energy of all +the springs, i.e. 0.5 * K * r^2 per-spring. The scalar value calculated by this fix is "extensive". diff --git a/doc/src/fix_spring_rg.txt b/doc/src/fix_spring_rg.txt index bff6b38e7e..4afdc02d5a 100644 --- a/doc/src/fix_spring_rg.txt +++ b/doc/src/fix_spring_rg.txt @@ -51,10 +51,10 @@ the time the fix is specified, and that value is used as the target. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. The "fix_modify"_fix_modify.html {respa} option is supported by this fix. This allows to set at which level of the "r-RESPA"_run_style.html diff --git a/doc/src/fix_spring_self.txt b/doc/src/fix_spring_self.txt index 68961a1512..e5b5c3dfd0 100644 --- a/doc/src/fix_spring_self.txt +++ b/doc/src/fix_spring_self.txt @@ -57,10 +57,10 @@ this fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is an -energy which is the sum of the spring energy for each atom, where the -per-atom energy is 0.5 * K * r^2. The scalar value calculated by this -fix is "extensive". +"output commands"_Howto_output.html. The scalar is an energy which is +the sum of the spring energy for each atom, where the per-atom energy +is 0.5 * K * r^2. The scalar value calculated by this fix is +"extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_srd.txt b/doc/src/fix_srd.txt index 4e190234fd..7c5179fb3f 100644 --- a/doc/src/fix_srd.txt +++ b/doc/src/fix_srd.txt @@ -341,11 +341,11 @@ are relevant to this fix. This fix tabulates several SRD statistics which are stored in a vector of length 12, which can be accessed by various "output -commands"_Section_howto.html#howto_15. The vector values calculated -by this fix are "intensive", meaning they do not scale with the size -of the simulation. Technically, the first 8 do scale with the size of -the simulation, but treating them as intensive means they are not -scaled when printed as part of thermodynamic output. +commands"_Howto_output.html. The vector values calculated by this fix +are "intensive", meaning they do not scale with the size of the +simulation. Technically, the first 8 do scale with the size of the +simulation, but treating them as intensive means they are not scaled +when printed as part of thermodynamic output. These are the 12 quantities. All are values for the current timestep, except for quantity 5 and the last three, each of which are diff --git a/doc/src/fix_store_force.txt b/doc/src/fix_store_force.txt index c988431f9d..93437c85b6 100644 --- a/doc/src/fix_store_force.txt +++ b/doc/src/fix_store_force.txt @@ -26,7 +26,7 @@ timestep when the fix is invoked, as described below. This is useful for storing forces before constraints or other boundary conditions are computed which modify the forces, so that unmodified forces can be "written to a dump file"_dump.html or accessed by other "output -commands"_Section_howto.html#howto_15 that use per-atom quantities. +commands"_Howto_output.html that use per-atom quantities. This fix is invoked at the point in the velocity-Verlet timestepping immediately after "pair"_pair_style.html, "bond"_bond_style.html, @@ -54,9 +54,9 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix produces a per-atom array which can be accessed by various -"output commands"_Section_howto.html#howto_15. The number of columns -for each atom is 3, and the columns store the x,y,z forces on each -atom. The per-atom values be accessed on any timestep. +"output commands"_Howto_output.html. The number of columns for each +atom is 3, and the columns store the x,y,z forces on each atom. The +per-atom values be accessed on any timestep. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_store_state.txt b/doc/src/fix_store_state.txt index df694fb97b..dee8070bbd 100644 --- a/doc/src/fix_store_state.txt +++ b/doc/src/fix_store_state.txt @@ -68,8 +68,7 @@ Define a fix that stores attributes for each atom in the group at the time the fix is defined. If {N} is 0, then the values are never updated, so this is a way of archiving an atom attribute at a given time for future use in a calculation or output. See the discussion of -"output commands"_Section_howto.html#howto_15 that take fixes as -inputs. +"output commands"_Howto_output.html that take fixes as inputs. If {N} is not zero, then the attributes will be updated every {N} steps. @@ -108,9 +107,8 @@ fix. If a single input is specified, this fix produces a per-atom vector. If multiple inputs are specified, a per-atom array is produced where the number of columns for each atom is the number of inputs. These -can be accessed by various "output -commands"_Section_howto.html#howto_15. The per-atom values be -accessed on any timestep. +can be accessed by various "output commands"_Howto_output.html. The +per-atom values be accessed on any timestep. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_temp_berendsen.txt b/doc/src/fix_temp_berendsen.txt index 6944860e14..9092bbd30e 100644 --- a/doc/src/fix_temp_berendsen.txt +++ b/doc/src/fix_temp_berendsen.txt @@ -68,8 +68,8 @@ be used on atoms that also have their temperature controlled by another fix - e.g. by "fix nvt"_fix_nh.html or "fix langevin"_fix_langevin.html commands. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. This fix computes a temperature each timestep. To do this, the fix @@ -126,9 +126,9 @@ system's potential energy as part of "thermodynamic output"_thermo_style.html. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". This fix can ramp its target temperature over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_temp_csvr.txt b/doc/src/fix_temp_csvr.txt index 4129ad73c8..6ce6ad7d9d 100644 --- a/doc/src/fix_temp_csvr.txt +++ b/doc/src/fix_temp_csvr.txt @@ -76,8 +76,8 @@ normally be used on atoms that also have their temperature controlled by another fix - e.g. by "fix nvt"_fix_nh.html or "fix langevin"_fix_langevin.html commands. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. These fixes compute a temperature each timestep. To do this, the fix @@ -135,9 +135,9 @@ the {start} and {stop} keywords of the "run"_run.html command. See the These fixes are not invoked during "energy minimization"_minimize.html. These fixes compute a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to the fix. The scalar value -calculated by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to the fix. The scalar value calculated by this fix +is "extensive". [Restrictions:] diff --git a/doc/src/fix_temp_rescale.txt b/doc/src/fix_temp_rescale.txt index eff25297c1..89f1777e36 100644 --- a/doc/src/fix_temp_rescale.txt +++ b/doc/src/fix_temp_rescale.txt @@ -75,8 +75,8 @@ be used on atoms that also have their temperature controlled by another fix - e.g. by "fix nvt"_fix_nh.html or "fix langevin"_fix_langevin.html commands. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. This fix computes a temperature each timestep. To do this, the fix @@ -133,9 +133,9 @@ system's potential energy as part of "thermodynamic output"_thermo_style.html. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". This fix can ramp its target temperature over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_temp_rescale_eff.txt b/doc/src/fix_temp_rescale_eff.txt index f87c1a2192..8a79dc3275 100644 --- a/doc/src/fix_temp_rescale_eff.txt +++ b/doc/src/fix_temp_rescale_eff.txt @@ -51,9 +51,9 @@ system's potential energy as part of "thermodynamic output"_thermo_style.html. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". This fix can ramp its target temperature over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_thermal_conductivity.txt b/doc/src/fix_thermal_conductivity.txt index 0353c095b2..2e10a89738 100644 --- a/doc/src/fix_thermal_conductivity.txt +++ b/doc/src/fix_thermal_conductivity.txt @@ -108,9 +108,9 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative kinetic energy transferred between the bottom and middle -of the simulation box (in the {edim} direction) is stored as a scalar +"output commands"_Howto_output.html. The scalar is the cumulative +kinetic energy transferred between the bottom and middle of the +simulation box (in the {edim} direction) is stored as a scalar quantity by this fix. This quantity is zeroed when the fix is defined and accumulates thereafter, once every N steps. The units of the quantity are energy; see the "units"_units.html command for details. diff --git a/doc/src/fix_ti_spring.txt b/doc/src/fix_ti_spring.txt index 191f9e7c6b..b116d8e8a3 100644 --- a/doc/src/fix_ti_spring.txt +++ b/doc/src/fix_ti_spring.txt @@ -121,13 +121,12 @@ fix to add the energy stored in the per-atom springs to the system's potential energy as part of "thermodynamic output"_thermo_style.html. This fix computes a global scalar and a global vector quantities which -can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar is an energy which -is the sum of the spring energy for each atom, where the per-atom -energy is 0.5 * k * r^2. The vector has 2 positions, the first one is -the coupling parameter lambda and the second one is the time -derivative of lambda. The scalar and vector values calculated by this -fix are "extensive". +can be accessed by various "output commands"_Howto_output.html. The +scalar is an energy which is the sum of the spring energy for each +atom, where the per-atom energy is 0.5 * k * r^2. The vector has 2 +positions, the first one is the coupling parameter lambda and the +second one is the time derivative of lambda. The scalar and vector +values calculated by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_tmd.txt b/doc/src/fix_tmd.txt index 71d8d2c767..e1815e61d3 100644 --- a/doc/src/fix_tmd.txt +++ b/doc/src/fix_tmd.txt @@ -90,8 +90,7 @@ For more information about TMD, see "(Schlitter1)"_#Schlitter1 and No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. +by this fix for access by various "output commands"_Howto_output.html. This fix can ramp its rho parameter over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_ttm.txt b/doc/src/fix_ttm.txt index 48dfd254a0..d83118d427 100644 --- a/doc/src/fix_ttm.txt +++ b/doc/src/fix_ttm.txt @@ -272,18 +272,17 @@ None of the "fix_modify"_fix_modify.html options are relevant to these fixes. Both fixes compute 2 output quantities stored in a vector of length 2, -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The first quantity is the -total energy of the electronic subsystem. The second quantity is the -energy transferred from the electronic to the atomic subsystem on that -timestep. Note that the velocity verlet integrator applies the fix ttm -forces to the atomic subsystem as two half-step velocity updates: one -on the current timestep and one on the subsequent timestep. -Consequently, the change in the atomic subsystem energy is lagged by -half a timestep relative to the change in the electronic subsystem -energy. As a result of this, users may notice slight fluctuations in -the sum of the atomic and electronic subsystem energies reported at -the end of the timestep. +which can be accessed by various "output commands"_Howto_output.html. +The first quantity is the total energy of the electronic +subsystem. The second quantity is the energy transferred from the +electronic to the atomic subsystem on that timestep. Note that the +velocity verlet integrator applies the fix ttm forces to the atomic +subsystem as two half-step velocity updates: one on the current +timestep and one on the subsequent timestep. Consequently, the change +in the atomic subsystem energy is lagged by half a timestep relative +to the change in the electronic subsystem energy. As a result of this, +users may notice slight fluctuations in the sum of the atomic and +electronic subsystem energies reported at the end of the timestep. The vector values calculated are "extensive". diff --git a/doc/src/fix_vector.txt b/doc/src/fix_vector.txt index 385d24cff1..69c999fd1a 100644 --- a/doc/src/fix_vector.txt +++ b/doc/src/fix_vector.txt @@ -37,7 +37,7 @@ simply store them. For a single specified value, the values are stored as a global vector of growing length. For multiple specified values, they are stored as rows in a global array, whose number of rows is growing. The resulting vector or array can be used by other -"output commands"_Section_howto.html#howto_15. +"output commands"_Howto_output.html. One way to to use this command is to accumulate a vector that is time-integrated using the "variable trap()"_variable.html function. @@ -127,9 +127,8 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix produces a global vector or global array which can be -accessed by various "output commands"_Section_howto.html#howto_15. -The values can only be accessed on timesteps that are multiples of -{Nevery}. +accessed by various "output commands"_Howto_output.html. The values +can only be accessed on timesteps that are multiples of {Nevery}. A vector is produced if only a single input value is specified. An array is produced if multiple input values are specified. diff --git a/doc/src/fix_viscosity.txt b/doc/src/fix_viscosity.txt index f6603be624..8d73deb7c5 100644 --- a/doc/src/fix_viscosity.txt +++ b/doc/src/fix_viscosity.txt @@ -100,13 +100,12 @@ accurately infer a viscosity and should try increasing the Nevery parameter. An alternative method for calculating a viscosity is to run a NEMD -simulation, as described in "Section -6.13"_Section_howto.html#howto_13 of the manual. NEMD simulations -deform the simulation box via the "fix deform"_fix_deform.html -command. Thus they cannot be run on a charged system using a "PPPM -solver"_kspace_style.html since PPPM does not currently support -non-orthogonal boxes. Using fix viscosity keeps the box orthogonal; -thus it does not suffer from this limitation. +simulation, as described on the "Howto nemd"_Howto_nemd.html doc page. +NEMD simulations deform the simulation box via the "fix +deform"_fix_deform.html command. Thus they cannot be run on a charged +system using a "PPPM solver"_kspace_style.html since PPPM does not +currently support non-orthogonal boxes. Using fix viscosity keeps the +box orthogonal; thus it does not suffer from this limitation. [Restart, fix_modify, output, run start/stop, minimize info:] @@ -115,13 +114,13 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative momentum transferred between the bottom and middle of the -simulation box (in the {pdim} direction) is stored as a scalar -quantity by this fix. This quantity is zeroed when the fix is defined -and accumulates thereafter, once every N steps. The units of the -quantity are momentum = mass*velocity. The scalar value calculated by -this fix is "intensive". +"output commands"_Howto_output.html. The scalar is the cumulative +momentum transferred between the bottom and middle of the simulation +box (in the {pdim} direction) is stored as a scalar quantity by this +fix. This quantity is zeroed when the fix is defined and accumulates +thereafter, once every N steps. The units of the quantity are +momentum = mass*velocity. The scalar value calculated by this fix is +"intensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_viscous.txt b/doc/src/fix_viscous.txt index 9c30e40249..7ff517aec1 100644 --- a/doc/src/fix_viscous.txt +++ b/doc/src/fix_viscous.txt @@ -82,9 +82,9 @@ easily be used as a thermostat. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. The "fix_modify"_fix_modify.html {respa} option is supported by this fix. This allows to set at which level of the "r-RESPA"_run_style.html diff --git a/doc/src/fix_wall.txt b/doc/src/fix_wall.txt index 959a103f02..fcd920934f 100644 --- a/doc/src/fix_wall.txt +++ b/doc/src/fix_wall.txt @@ -263,14 +263,14 @@ integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar energy and a global vector of forces, which can be accessed by various "output -commands"_Section_howto.html#howto_15. Note that the scalar energy is -the sum of interactions with all defined walls. If you want the -energy on a per-wall basis, you need to use multiple fix wall -commands. The length of the vector is equal to the number of walls -defined by the fix. Each vector value is the normal force on a -specific wall. Note that an outward force on a wall will be a -negative value for {lo} walls and a positive value for {hi} walls. -The scalar and vector values calculated by this fix are "extensive". +commands"_Howto_output.html. Note that the scalar energy is the sum +of interactions with all defined walls. If you want the energy on a +per-wall basis, you need to use multiple fix wall commands. The +length of the vector is equal to the number of walls defined by the +fix. Each vector value is the normal force on a specific wall. Note +that an outward force on a wall will be a negative value for {lo} +walls and a positive value for {hi} walls. The scalar and vector +values calculated by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_wall_body_polygon.txt b/doc/src/fix_wall_body_polygon.txt index 4ba16b56c7..ebd25c2bbc 100644 --- a/doc/src/fix_wall_body_polygon.txt +++ b/doc/src/fix_wall_body_polygon.txt @@ -43,8 +43,8 @@ particles in the group interact with the wall when they are close enough to touch it. The nature of the interaction between the wall and the polygon particles is the same as that between the polygon particles themselves, which is similar to a Hookean potential. See -"Section 6.14"_Section_howto.html#howto_14 of the manual and the -"body"_body.html doc page for more details on using body particles. +the "Howto body"_Howto_body.html doc page for more details on using +body particles. The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the "pair_style @@ -83,9 +83,9 @@ to the derivative of this expression. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_wall_body_polyhedron.txt b/doc/src/fix_wall_body_polyhedron.txt index c937cbdbbc..d3d8bc35a3 100644 --- a/doc/src/fix_wall_body_polyhedron.txt +++ b/doc/src/fix_wall_body_polyhedron.txt @@ -43,8 +43,8 @@ All particles in the group interact with the wall when they are close enough to touch it. The nature of the interaction between the wall and the polygon particles is the same as that between the polygon particles themselves, which is similar to a Hookean potential. See -"Section 6.14"_Section_howto.html#howto_14 of the manual and the -"body"_body.html doc page for more details on using body particles. +the "Howto body"_Howto_body.html doc page for more details on using +body particles. The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the "pair_style @@ -82,9 +82,9 @@ to the derivative of this expression. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_wall_gran.txt b/doc/src/fix_wall_gran.txt index 5f1679604e..9796c39459 100644 --- a/doc/src/fix_wall_gran.txt +++ b/doc/src/fix_wall_gran.txt @@ -148,9 +148,9 @@ uninterrupted fashion. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_wall_gran_region.txt b/doc/src/fix_wall_gran_region.txt index 92fb042194..908bcc3941 100644 --- a/doc/src/fix_wall_gran_region.txt +++ b/doc/src/fix_wall_gran_region.txt @@ -180,9 +180,9 @@ region with a different region ID. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_wall_piston.txt b/doc/src/fix_wall_piston.txt index 4d7756c237..26018329eb 100644 --- a/doc/src/fix_wall_piston.txt +++ b/doc/src/fix_wall_piston.txt @@ -91,10 +91,10 @@ define the lattice spacings. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_wall_reflect.txt b/doc/src/fix_wall_reflect.txt index 5380bdf738..2956046e20 100644 --- a/doc/src/fix_wall_reflect.txt +++ b/doc/src/fix_wall_reflect.txt @@ -154,10 +154,10 @@ instructions on how to use the accelerated styles effectively. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_wall_region.txt b/doc/src/fix_wall_region.txt index 9700545dc9..8b3b3ff173 100644 --- a/doc/src/fix_wall_region.txt +++ b/doc/src/fix_wall_region.txt @@ -156,12 +156,11 @@ integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar energy and a global 3-length vector of forces, which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar energy is the sum -of energy interactions for all particles interacting with the wall -represented by the region surface. The 3 vector quantities are the -x,y,z components of the total force acting on the wall due to the -particles. The scalar and vector values calculated by this fix are -"extensive". +commands"_Howto_output.html. The scalar energy is the sum of energy +interactions for all particles interacting with the wall represented +by the region surface. The 3 vector quantities are the x,y,z +components of the total force acting on the wall due to the particles. +The scalar and vector values calculated by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_wall_srd.txt b/doc/src/fix_wall_srd.txt index c465896d37..3a8c2e41cd 100644 --- a/doc/src/fix_wall_srd.txt +++ b/doc/src/fix_wall_srd.txt @@ -166,9 +166,9 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global array of values which can be accessed by -various "output commands"_Section_howto.html#howto_15. The number of -rows in the array is equal to the number of walls defined by the fix. -The number of columns is 3, for the x,y,z components of force on each +various "output commands"_Howto_output.html. The number of rows in +the array is equal to the number of walls defined by the fix. The +number of columns is 3, for the x,y,z components of force on each wall. Note that an outward normal force on a wall will be a negative value diff --git a/doc/src/improper_umbrella.txt b/doc/src/improper_umbrella.txt index e72cc7f0ad..59fee0a664 100644 --- a/doc/src/improper_umbrella.txt +++ b/doc/src/improper_umbrella.txt @@ -22,7 +22,7 @@ improper_coeff 1 100.0 180.0 :pre The {umbrella} improper style uses the following potential, which is commonly referred to as a classic inversion and used in the -"DREIDING"_Section_howto.html#howto_4 force field: +"DREIDING"_Howto_bioFF.html force field: :c,image(Eqs/improper_umbrella.jpg) diff --git a/doc/src/kspace_modify.txt b/doc/src/kspace_modify.txt index 6d27bb7076..37c8c5b1d7 100644 --- a/doc/src/kspace_modify.txt +++ b/doc/src/kspace_modify.txt @@ -285,15 +285,15 @@ performance and accuracy in the results is obtained when these values are different. The {disp/auto} option controls whether the pppm/disp is allowed to -generate PPPM parameters automatically. If set to {no}, parameters have -to be specified using the {gewald/disp}, {mesh/disp}, -{force/disp/real} or {force/disp/kspace} keywords, or -the code will stop with an error message. When this option is set to -{yes}, the error message will not appear and the simulation will start. -For a typical application, using the automatic parameter generation -will provide simulations that are either inaccurate or slow. Using this -option is thus not recommended. For guidelines on how to obtain good -parameters, see the "How-To"_Section_howto.html#howto_24 discussion. +generate PPPM parameters automatically. If set to {no}, parameters +have to be specified using the {gewald/disp}, {mesh/disp}, +{force/disp/real} or {force/disp/kspace} keywords, or the code will +stop with an error message. When this option is set to {yes}, the +error message will not appear and the simulation will start. For a +typical application, using the automatic parameter generation will +provide simulations that are either inaccurate or slow. Using this +option is thus not recommended. For guidelines on how to obtain good +parameters, see the "Howto dispersion"_Howto_dispersion.html doc page. [Restrictions:] none diff --git a/doc/src/kspace_style.txt b/doc/src/kspace_style.txt index 8dbb3dde49..fa717b70ef 100644 --- a/doc/src/kspace_style.txt +++ b/doc/src/kspace_style.txt @@ -161,15 +161,16 @@ similar to the {ewald/disp} style. The 1/r^6 capability means that Lennard-Jones or Buckingham potentials can be used without a cutoff, i.e. they become full long-range potentials. -For these styles, you will possibly want to adjust the default choice of -parameters by using the "kspace_modify"_kspace_modify.html command. +For these styles, you will possibly want to adjust the default choice +of parameters by using the "kspace_modify"_kspace_modify.html command. This can be done by either choosing the Ewald and grid parameters, or by specifying separate accuracies for the real and kspace -calculations. When not making any settings, the simulation will stop with -an error message. Further information on the influence of the parameters -and how to choose them is described in "(Isele-Holder)"_#Isele-Holder2012, -"(Isele-Holder2)"_#Isele-Holder2013 and the -"How-To"_Section_howto.html#howto_24 discussion. +calculations. When not making any settings, the simulation will stop +with an error message. Further information on the influence of the +parameters and how to choose them is described in +"(Isele-Holder)"_#Isele-Holder2012, +"(Isele-Holder2)"_#Isele-Holder2013 and the "Howto +dispersion"_Howto_dispersion.html doc page. :line diff --git a/doc/src/lammps_tutorials.txt b/doc/src/lammps_tutorials.txt deleted file mode 100644 index 5ceda65b60..0000000000 --- a/doc/src/lammps_tutorials.txt +++ /dev/null @@ -1,6 +0,0 @@ - -Tutorials :h2 - -The following pages contain some in-depth tutorials for -selected topics, that did not fit into any other place -in the manual. diff --git a/doc/src/molecule.txt b/doc/src/molecule.txt index cd9ecce42c..b2ad547cf0 100644 --- a/doc/src/molecule.txt +++ b/doc/src/molecule.txt @@ -176,9 +176,8 @@ LAMMPS uses this info to properly exclude or weight bonded pairwise interactions between bonded atoms. See the "special_bonds"_special_bonds.html command for more details. One reason to list the special bond info explicitly is for the -"thermalized Drude oscillator model"_tutorial_drude.html which treats -the bonds between nuclear cores and Drude electrons in a different -manner. +"thermalized Drude oscillator model"_Howto_drude.html which treats the +bonds between nuclear cores and Drude electrons in a different manner. NOTE: Whether a section is required depends on how the molecule template is used by other LAMMPS commands. For example, to add a diff --git a/doc/src/neb.txt b/doc/src/neb.txt index 56f075c301..5c6053fca0 100644 --- a/doc/src/neb.txt +++ b/doc/src/neb.txt @@ -56,9 +56,8 @@ Note that if you have MPI installed, you can run a multi-replica simulation with more replicas (partitions) than you have physical processors, e.g you can run a 10-replica simulation on just one or two processors. You will simply not get the performance speed-up you -would see with one or more physical processors per replica. See -"Section 6.5"_Section_howto.html#howto_5 of the manual for further -discussion. +would see with one or more physical processors per replica. See the +"Howto replica"_Howto_replica.html doc page for further discussion. NOTE: As explained below, a NEB calculation perfoms a damped dynamics minimization across all the replicas. The minimizer uses whatever diff --git a/doc/src/pair_body_nparticle.txt b/doc/src/pair_body_nparticle.txt index 8c5b6e155d..78a9f2bb38 100644 --- a/doc/src/pair_body_nparticle.txt +++ b/doc/src/pair_body_nparticle.txt @@ -24,15 +24,14 @@ pair_coeff 1 1 1.0 1.5 2.5 :pre Style {body/nparticle} is for use with body particles and calculates pairwise body/body interactions as well as interactions between body -and point-particles. See "Section 6.14"_Section_howto.html#howto_14 -of the manual and the "body"_body.html doc page for more details on -using body particles. +and point-particles. See the "Howto body"_Howto_body.html doc page +for more details on using body particles. This pair style is designed for use with the "nparticle" body style, which is specified as an argument to the "atom-style body" command. -See the "body"_body.html doc page for more details about the body -styles LAMMPS supports. The "nparticle" style treats a body particle -as a rigid body composed of N sub-particles. +See the "Howto body"_Howto_body.html doc page for more details about +the body styles LAMMPS supports. The "nparticle" style treats a body +particle as a rigid body composed of N sub-particles. The coordinates of a body particle are its center-of-mass (COM). If the COMs of a pair of body particles are within the cutoff (global or diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 9daeb08e9a..19807fbe39 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -29,9 +29,8 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 2d models of body particles of style {rounded/polygon}. It calculates pairwise body/body interactions which can include body particles modeled as -1-vertex circular disks with a specified diameter. See "Section -6.14"_Section_howto.html#howto_14 of the manual and the -"body"_body.html doc page for more details on using body +1-vertex circular disks with a specified diameter. See the "Howto +body"_Howto_body.html doc page for more details on using body rounded/polygon particles. This pairwise interaction between rounded polygons is described in diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index dc559feaaf..d70a86f881 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -29,9 +29,8 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 3d models of body particles of style {rounded/polyhedron}. It calculates pairwise body/body interactions which can include body particles modeled as -1-vertex spheres with a specified diameter. See "Section -6.14"_Section_howto.html#howto_14 of the manual and the -"body"_body.html doc page for more details on using body +1-vertex spheres with a specified diameter. See the "Howto +body"_Howto_body.html doc page for more details on using body rounded/polyhedron particles. This pairwise interaction between the rounded polyhedra is described diff --git a/doc/src/pair_born.txt b/doc/src/pair_born.txt index 2504fb7e25..143549cf2d 100644 --- a/doc/src/pair_born.txt +++ b/doc/src/pair_born.txt @@ -108,10 +108,10 @@ The {born/coul/dsf} style computes the Coulomb contribution with the damped shifted force model as in the "coul/dsf"_pair_coul.html style. Style {born/coul/long/cs} is identical to {born/coul/long} except that -a term is added for the "core/shell model"_Section_howto.html#howto_25 -to allow charges on core and shell particles to be separated by r = -0.0. The same correction is introduced for the {born/coul/dsf/cs} -style which is identical to {born/coul/dsf}. And likewise for +a term is added for the "core/shell model"_Howto_coreshell.html to +allow charges on core and shell particles to be separated by r = 0.0. +The same correction is introduced for the {born/coul/dsf/cs} style +which is identical to {born/coul/dsf}. And likewise for {born/coul/wolf/cs} style which is identical to {born/coul/wolf}. Note that these potentials are related to the "Buckingham diff --git a/doc/src/pair_buck.txt b/doc/src/pair_buck.txt index de247b9c01..2483a6c9e2 100644 --- a/doc/src/pair_buck.txt +++ b/doc/src/pair_buck.txt @@ -93,9 +93,8 @@ used as the cutoff for the A,C terms, and the second is the cutoff for the Coulombic term. Style {buck/coul/long/cs} is identical to {buck/coul/long} except that -a term is added for the "core/shell model"_Section_howto.html#howto_25 -to allow charges on core and shell particles to be separated by r = -0.0. +a term is added for the "core/shell model"_Howto_coreshell.html to +allow charges on core and shell particles to be separated by r = 0.0. Note that these potentials are related to the "Born-Mayer-Huggins potential"_pair_born.html. diff --git a/doc/src/pair_coul.txt b/doc/src/pair_coul.txt index 650575d055..e2bc78a2e6 100644 --- a/doc/src/pair_coul.txt +++ b/doc/src/pair_coul.txt @@ -205,9 +205,9 @@ pairwise interactions within this distance are computed directly; interactions outside that distance are computed in reciprocal space. Style {coul/long/cs} is identical to {coul/long} except that a term is -added for the "core/shell model"_Section_howto.html#howto_25 to allow -charges on core and shell particles to be separated by r = 0.0. The -same correction is introduced for the {coul/wolf/cs} style which is +added for the "core/shell model"_Howto_coreshell.html to allow charges +on core and shell particles to be separated by r = 0.0. The same +correction is introduced for the {coul/wolf/cs} style which is identical to {coul/wolf}. Styles {tip4p/cut} and {tip4p/long} implement the coulomb part of @@ -226,16 +226,16 @@ is to enable LAMMPS to "find" the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P water molecule is 500, then its 2 H atoms must have IDs 501 and 502. -See the "howto section"_Section_howto.html#howto_8 for more -information on how to use the TIP4P pair styles and lists of -parameters to set. Note that the neighbor list cutoff for Coulomb -interactions is effectively extended by a distance 2*qdist when using -the TIP4P pair style, to account for the offset distance of the -fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb -cutoff + 2*qdist, to shrink the size of the neighbor list. This leads -to slightly larger cost for the long-range calculation, so you can -test the trade-off for your model. +See the "Howto tip4p"_Howto_tip4p.html doc page for more information +on how to use the TIP4P pair styles and lists of parameters to set. +Note that the neighbor list cutoff for Coulomb interactions is +effectively extended by a distance 2*qdist when using the TIP4P pair +style, to account for the offset distance of the fictitious charges on +O atoms in water molecules. Thus it is typically best in an +efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*qdist, to +shrink the size of the neighbor list. This leads to slightly larger +cost for the long-range calculation, so you can test the trade-off for +your model. :line diff --git a/doc/src/pair_cs.txt b/doc/src/pair_cs.txt index c1084c6087..86eb02b0d7 100644 --- a/doc/src/pair_cs.txt +++ b/doc/src/pair_cs.txt @@ -54,8 +54,8 @@ pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50 :pre These pair styles are designed to be used with the adiabatic core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham2. See -"Section 6.25"_Section_howto.html#howto_25 of the manual for an -overview of the model as implemented in LAMMPS. +the "Howto coreshell"_Howto_coreshell.html doc page for an overview of +the model as implemented in LAMMPS. The styles with a {coul/long} term are identical to the "pair_style born/coul/long"_pair_born.html and "pair_style diff --git a/doc/src/pair_hbond_dreiding.txt b/doc/src/pair_hbond_dreiding.txt index 45f852c254..d641cb73ad 100644 --- a/doc/src/pair_hbond_dreiding.txt +++ b/doc/src/pair_hbond_dreiding.txt @@ -33,8 +33,8 @@ pair_coeff 1 2 hbond/dreiding/morse 3 i 3.88 1.7241379 2.9 2 9 11 90 :pre [Description:] The {hbond/dreiding} styles compute the Acceptor-Hydrogen-Donor (AHD) -3-body hydrogen bond interaction for the -"DREIDING"_Section_howto.html#howto_4 force field, given by: +3-body hydrogen bond interaction for the "DREIDING"_Howto_bioFF.html +force field, given by: :c,image(Eqs/pair_hbond_dreiding.jpg) @@ -65,8 +65,8 @@ potential for the Donor-Acceptor interactions. "(Liu)"_#Liu showed that the Morse form gives improved results for Dendrimer simulations, when n = 2. -See this "howto section"_Section_howto.html#howto_4 of the manual for -more information on the DREIDING forcefield. +See the "Howto bioFF"_Howto_bioFF.html doc page for more information +on the DREIDING forcefield. NOTE: Because the Dreiding hydrogen bond potential is only one portion of an overall force field which typically includes other pairwise diff --git a/doc/src/pair_lj.txt b/doc/src/pair_lj.txt index c2968ffdf3..a0f7effbb1 100644 --- a/doc/src/pair_lj.txt +++ b/doc/src/pair_lj.txt @@ -185,9 +185,9 @@ distance are computed directly; interactions outside that distance are computed in reciprocal space. Style {lj/cut/coul/long/cs} is identical to {lj/cut/coul/long} except -that a term is added for the "core/shell -model"_Section_howto.html#howto_25 to allow charges on core and shell -particles to be separated by r = 0.0. +that a term is added for the "core/shell model"_Howto_coreshell.html +to allow charges on core and shell particles to be separated by r = +0.0. Style {coul/wolf} adds a Coulombic pairwise interaction via the Wolf summation method, described in "Wolf"_#Wolf1, given by: @@ -223,16 +223,16 @@ is to enable LAMMPS to "find" the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P water molecule is 500, then its 2 H atoms must have IDs 501 and 502. -See the "howto section"_Section_howto.html#howto_8 for more -information on how to use the TIP4P pair styles and lists of -parameters to set. Note that the neighbor list cutoff for Coulomb -interactions is effectively extended by a distance 2*qdist when using -the TIP4P pair style, to account for the offset distance of the -fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb -cutoff + 2*qdist, to shrink the size of the neighbor list. This leads -to slightly larger cost for the long-range calculation, so you can -test the trade-off for your model. +See the "Howto tip4p"_Howto_tip4p.html doc page for more information +on how to use the TIP4P pair styles and lists of parameters to set. +Note that the neighbor list cutoff for Coulomb interactions is +effectively extended by a distance 2*qdist when using the TIP4P pair +style, to account for the offset distance of the fictitious charges on +O atoms in water molecules. Thus it is typically best in an +efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*qdist, to +shrink the size of the neighbor list. This leads to slightly larger +cost for the long-range calculation, so you can test the trade-off for +your model. For all of the {lj/cut} pair styles, the following coefficients must be defined for each pair of atoms types via the diff --git a/doc/src/pair_lj_long.txt b/doc/src/pair_lj_long.txt index bc851adb74..0dd55b7e32 100644 --- a/doc/src/pair_lj_long.txt +++ b/doc/src/pair_lj_long.txt @@ -90,7 +90,7 @@ is to enable LAMMPS to "find" the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P water molecule is 500, then its 2 H atoms must have IDs 501 and 502. -See the "howto section"_Section_howto.html#howto_8 for more +See the the "Howto tip4p"_Howto_tip4p.html doc page for more information on how to use the TIP4P pair style. Note that the neighbor list cutoff for Coulomb interactions is effectively extended by a distance 2*qdist when using the TIP4P pair style, to account for diff --git a/doc/src/pair_thole.txt b/doc/src/pair_thole.txt index 11d4b85cff..42c58e9882 100644 --- a/doc/src/pair_thole.txt +++ b/doc/src/pair_thole.txt @@ -45,8 +45,8 @@ pair_style lj/cut/thole/long 2.6 12.0 :pre The {thole} pair styles are meant to be used with force fields that include explicit polarization through Drude dipoles. This link describes how to use the "thermalized Drude oscillator -model"_tutorial_drude.html in LAMMPS and polarizable models in LAMMPS -are discussed in "this Section"_Section_howto.html#howto_25. +model"_Howto_drude.html in LAMMPS and polarizable models in LAMMPS are +discussed on the "Howto polarizable"_Howto_polarizable.html doc page. The {thole} pair style should be used as a sub-style within in the "pair_hybrid/overlay"_pair_hybrid.html command, in conjunction with a diff --git a/doc/src/prd.txt b/doc/src/prd.txt index 3c0305e316..f298d83385 100644 --- a/doc/src/prd.txt +++ b/doc/src/prd.txt @@ -69,8 +69,8 @@ simulation with more replicas (partitions) than you have physical processors, e.g you can run a 10-replica simulation on one or two processors. However for PRD, this makes little sense, since running a replica on virtual instead of physical processors,offers no effective -parallel speed-up in searching for infrequent events. See "Section -6.5"_Section_howto.html#howto_5 of the manual for further discussion. +parallel speed-up in searching for infrequent events. See the "Howto +replica"_Howto_replica.html doc page for further discussion. When a PRD simulation is performed, it is assumed that each replica is running the same model, though LAMMPS does not check for this. diff --git a/doc/src/read_data.txt b/doc/src/read_data.txt index fd297e36c1..4f6a3988b9 100644 --- a/doc/src/read_data.txt +++ b/doc/src/read_data.txt @@ -322,9 +322,9 @@ with tilt factors that exceed these limits, you can use the "box tilt"_box.html command, with a setting of {large}; a setting of {small} is the default. -See "Section 6.12"_Section_howto.html#howto_12 of the doc pages -for a geometric description of triclinic boxes, as defined by LAMMPS, -and how to transform these parameters to and from other commonly used +See the "Howto triclinic"_Howto_triclinic.html doc page for a +geometric description of triclinic boxes, as defined by LAMMPS, and +how to transform these parameters to and from other commonly used triclinic representations. When a triclinic system is used, the simulation domain should normally @@ -772,9 +772,9 @@ the "bodies" keyword. Each body can have a variable number of integer and/or floating-point values. The number and meaning of the values is defined by the body -style, as described in the "body"_body.html doc page. The body style -is given as an argument to the "atom_style body"_atom_style.html -command. +style, as described in the "Howto body"_Howto_body.html doc page. The +body style is given as an argument to the "atom_style +body"_atom_style.html command. The Ninteger and Ndouble values determine how many integer and floating-point values are specified for this particle. Ninteger and diff --git a/doc/src/region.txt b/doc/src/region.txt index 1ac3861e67..b32c09ed6f 100644 --- a/doc/src/region.txt +++ b/doc/src/region.txt @@ -186,9 +186,9 @@ functions, and include "thermo_style"_thermo_style.html command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent radius. -See "Section 6.12"_Section_howto.html#howto_12 of the doc pages -for a geometric description of triclinic boxes, as defined by LAMMPS, -and how to transform these parameters to and from other commonly used +See the "Howto tricilinc"_Howto_triclinic.html doc page for a +geometric description of triclinic boxes, as defined by LAMMPS, and +how to transform these parameters to and from other commonly used triclinic representations. The {union} style creates a region consisting of the volume of all the diff --git a/doc/src/run.txt b/doc/src/run.txt index 913d81bb4d..02860c0b97 100644 --- a/doc/src/run.txt +++ b/doc/src/run.txt @@ -127,9 +127,9 @@ be redefined, e.g. to reset a thermostat temperature. Or this could be useful for invoking a command you have added to LAMMPS that wraps some other code (e.g. as a library) to perform a computation periodically during a long LAMMPS run. See the "Modify"_Modify.html -doc page for info about how to add new commands to LAMMPS. See "this -section"_Section_howto.html#howto_10 of the documentation for ideas -about how to couple LAMMPS to other codes. +doc page for info about how to add new commands to LAMMPS. See the +"Howto couple"_Howto_couple.html doc page for ideas about how to +couple LAMMPS to other codes. With the {every} option, N total steps are simulated, in shorter runs of M steps each. After each M-length run, the specified commands are diff --git a/doc/src/tad.txt b/doc/src/tad.txt index f5e7c6d653..9ffa24d012 100644 --- a/doc/src/tad.txt +++ b/doc/src/tad.txt @@ -92,9 +92,8 @@ restricts you to having exactly one processor per replica. For more information, see the documentation for the "neb"_neb.html command. In the current LAMMPS implementation of TAD, all the non-NEB TAD operations are performed on the first partition, while the other -partitions remain idle. See "Section -6.5"_Section_howto.html#howto_5 of the manual for further discussion of -multi-replica simulations. +partitions remain idle. See the "Howto replica"_Howto_replica.html doc +page for further discussion of multi-replica simulations. A TAD run has several stages, which are repeated each time an event is performed. The logic for a TAD run is as follows: diff --git a/doc/src/temper.txt b/doc/src/temper.txt index b1c47c8076..e65f59ebed 100644 --- a/doc/src/temper.txt +++ b/doc/src/temper.txt @@ -32,14 +32,13 @@ replicas (ensembles) of a system. Two or more replicas must be used. Each replica runs on a partition of one or more processors. Processor partitions are defined at run-time using the -partition command-line -switch; see "Section 2.6"_Section_start.html#start_6 of the -manual. Note that if you have MPI installed, you can run a -multi-replica simulation with more replicas (partitions) than you have -physical processors, e.g you can run a 10-replica simulation on one or -two processors. You will simply not get the performance speed-up you -would see with one or more physical processors per replica. See "this -section"_Section_howto.html#howto_5 of the manual for further -discussion. +switch; see "Section 2.6"_Section_start.html#start_6 of the manual. +Note that if you have MPI installed, you can run a multi-replica +simulation with more replicas (partitions) than you have physical +processors, e.g you can run a 10-replica simulation on one or two +processors. You will simply not get the performance speed-up you +would see with one or more physical processors per replica. See the +"Howto replica"_Howto_replica.html doc page for further discussion. Each replica's temperature is controlled at a different value by a fix with {fix-ID} that controls temperature. Most thermostat fix styles diff --git a/doc/src/thermo_style.txt b/doc/src/thermo_style.txt index 18c5ad5ba1..64e0785586 100644 --- a/doc/src/thermo_style.txt +++ b/doc/src/thermo_style.txt @@ -286,11 +286,11 @@ takes place. The keywords {cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta}, {cellgamma}, correspond to the usual crystallographic quantities that -define the periodic unit cell of a crystal. See "this -section"_Section_howto.html#howto_12 of the doc pages for a geometric -description of triclinic periodic cells, including a precise definition -of these quantities in terms of the internal LAMMPS cell dimensions -{lx}, {ly}, {lz}, {yz}, {xz}, {xy}. +define the periodic unit cell of a crystal. See the "Howto +triclinic"_Howto_triclinic.html doc page for a geometric description +of triclinic periodic cells, including a precise definition of these +quantities in terms of the internal LAMMPS cell dimensions {lx}, {ly}, +{lz}, {yz}, {xz}, {xy}. :line diff --git a/doc/src/tutorials.txt b/doc/src/tutorials.txt deleted file mode 100644 index 338439ac8e..0000000000 --- a/doc/src/tutorials.txt +++ /dev/null @@ -1,15 +0,0 @@ -Tutorials :h1 - - diff --git a/doc/src/velocity.txt b/doc/src/velocity.txt index b8299a5acf..057f0054be 100644 --- a/doc/src/velocity.txt +++ b/doc/src/velocity.txt @@ -139,10 +139,9 @@ if rot = yes, the angular momentum is zeroed. If specified, the {temp} keyword is used by {create} and {scale} to specify a "compute"_compute.html that calculates temperature in a desired way, e.g. by first subtracting out a velocity bias, as -discussed in "Section 6.16"_Section_howto.html#howto_16 of the doc -pages. If this keyword is not specified, {create} and {scale} -calculate temperature using a compute that is defined internally as -follows: +discussed on the "Howto thermostat"_Howto_thermostat.html doc page. +If this keyword is not specified, {create} and {scale} calculate +temperature using a compute that is defined internally as follows: compute velocity_temp group-ID temp :pre @@ -161,11 +160,11 @@ The {bias} keyword with a {yes} setting is used by {create} and If the temperature compute also calculates a velocity bias, the the bias is subtracted from atom velocities before the {create} and {scale} operations are performed. After the operations, the bias is -added back to the atom velocities. See "Section -6.16"_Section_howto.html#howto_16 of the doc pages for more discussion -of temperature computes with biases. Note that the velocity bias is -only applied to atoms in the temperature compute specified with the -{temp} keyword. +added back to the atom velocities. See the "Howto +thermostat"_Howto_thermostat.html doc page for more discussion of +temperature computes with biases. Note that the velocity bias is only +applied to atoms in the temperature compute specified with the {temp} +keyword. As an example, assume atoms are currently streaming in a flow direction (which could be separately initialized with the {ramp} -- GitLab From c8be5a3f2d9258a5390e78b4c68a2a842bbf34a9 Mon Sep 17 00:00:00 2001 From: Michael King Date: Wed, 1 Aug 2018 11:11:18 +0200 Subject: [PATCH 387/675] change ave/histo to ave/histo/weight --- examples/USER/diffraction/BulkNi.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/USER/diffraction/BulkNi.in b/examples/USER/diffraction/BulkNi.in index a18163175c..0fa9c1b74c 100644 --- a/examples/USER/diffraction/BulkNi.in +++ b/examples/USER/diffraction/BulkNi.in @@ -20,7 +20,7 @@ compute XRD all xrd 1.541838 Ni 2Theta 40 80 c 2 2 2 LP 1 echo compute SAED all saed 0.0251 Ni Kmax 0.85 Zone 1 0 0 c 0.025 0.025 0.025 & dR_Ewald 0.05 echo manual -fix 1 all ave/histo 1 1 1 40 80 200 c_XRD[1] c_XRD[2] & +fix 1 all ave/histo/weight 1 1 1 40 80 200 c_XRD[1] c_XRD[2] & mode vector file $A.hist.xrd fix 2 all saed/vtk 1 1 1 c_SAED file $A_001.saed -- GitLab From 42948b60ee7ef0cf8028d938ec594e42071e08db Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 1 Aug 2018 14:37:03 +0200 Subject: [PATCH 388/675] corrections for broken links in the html docs --- doc/src/Section_howto.txt | 4 ++-- doc/src/fixes.txt | 2 ++ doc/src/pairs.txt | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt index f929d3bdab..337880ccee 100644 --- a/doc/src/Section_howto.txt +++ b/doc/src/Section_howto.txt @@ -1158,7 +1158,7 @@ styles"_pair_style.html that generate torque: "pair_style lubricate"_pair_lubricate.html "pair_style line/lj"_pair_line_lj.html "pair_style tri/lj"_pair_tri_lj.html -"pair_style body"_pair_body.html :ul +"pair_style body"_pair_body_nparticle.html :ul The granular pair styles are used with spherical particles. The dipole pair style is used with the dipole atom style, which could be @@ -1269,7 +1269,7 @@ list of sub-particles. Individual body partices are typically treated as rigid bodies, and their motion integrated with a command like "fix nve/body"_fix_nve_body.html. Interactions between pairs of body particles are computed via a command like "pair_style -body"_pair_body.html. +body"_pair_body_nparticle.html. :line diff --git a/doc/src/fixes.txt b/doc/src/fixes.txt index 9510217d02..7a45ed8086 100644 --- a/doc/src/fixes.txt +++ b/doc/src/fixes.txt @@ -168,6 +168,8 @@ Fixes :h1 fix_viscosity fix_viscous fix_wall + fix_wall_body_polygon + fix_wall_body_polyhedron fix_wall_ees fix_wall_gran fix_wall_gran_region diff --git a/doc/src/pairs.txt b/doc/src/pairs.txt index 1a5e98a109..4c3eef2cd1 100644 --- a/doc/src/pairs.txt +++ b/doc/src/pairs.txt @@ -10,8 +10,9 @@ Pair Styles :h1 pair_airebo pair_awpmd pair_beck - pair_body + pair_body_nparticle pair_body_rounded_polygon + pair_body_rounded_polyhedron pair_bop pair_born pair_brownian -- GitLab From d598e7c60efa5f04e98d7ec0523c3db8a356d209 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 1 Aug 2018 15:54:46 +0200 Subject: [PATCH 389/675] rename preprocessor guard to prevent multiple inclusion to be consistent with file name --- src/MANYBODY/pair_eam_cd.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MANYBODY/pair_eam_cd.h b/src/MANYBODY/pair_eam_cd.h index 15486aed6d..ee84fb09c5 100644 --- a/src/MANYBODY/pair_eam_cd.h +++ b/src/MANYBODY/pair_eam_cd.h @@ -18,8 +18,8 @@ PairStyle(eam/cd/old,PairEAMCD_TwoSite) #else -#ifndef LMP_PAIR_CDEAM_H -#define LMP_PAIR_CDEAM_H +#ifndef LMP_PAIR_EAM_CD_H +#define LMP_PAIR_EAM_CD_H #include "pair_eam_alloy.h" -- GitLab From 4faeda28ee23ee5505d54bb881c299e6bb38e651 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 2 Aug 2018 06:38:25 -0400 Subject: [PATCH 390/675] allow cross-compiling from linux to windows with cmake --- cmake/CMakeLists.txt | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index d51108ba7a..f4d3cac5d2 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -138,8 +138,11 @@ set_property(CACHE LAMMPS_SIZE_LIMIT PROPERTY STRINGS LAMMPS_SMALLBIG LAMMPS_BIG add_definitions(-D${LAMMPS_SIZE_LIMIT}) set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -D${LAMMPS_SIZE_LIMIT}") -set(LAMMPS_MEMALIGN "64" CACHE STRING "enables the use of the posix_memalign() call instead of malloc() when large chunks or memory are allocated by LAMMPS") -add_definitions(-DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN}) +# posix_memalign is not available on Windows +if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + set(LAMMPS_MEMALIGN "64" CACHE STRING "enables the use of the posix_memalign() call instead of malloc() when large chunks or memory are allocated by LAMMPS") + add_definitions(-DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN}) +endif() option(LAMMPS_EXCEPTIONS "enable the use of C++ exceptions for error messages (useful for library interface)" OFF) if(LAMMPS_EXCEPTIONS) @@ -467,6 +470,11 @@ if(PKG_COMPRESS) list(APPEND LAMMPS_LINK_LIBS ${ZLIB_LIBRARIES}) endif() +# the windows version of LAMMPS requires a couple extra libraries +if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + list(APPEND LAMMPS_LINK_LIBS -lwsock32 -lpsapi) +endif() + ######################################################################## # Basic system tests (standard libraries, headers, functions, types) # ######################################################################## @@ -626,6 +634,10 @@ if(PKG_USER-OMP) # manually add package dependent source files from USER-OMP that do not provide styles + if(PKG_ASPHERE) + list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_nh_asphere_omp.cpp) + endif() + if(PKG_RIGID) list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp) endif() -- GitLab From fb03924e83ed2b78b7bacf4f350fb6e1d67fcd87 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Thu, 2 Aug 2018 11:12:57 -0600 Subject: [PATCH 391/675] patch 2Aug18 --- doc/src/Manual.txt | 4 ++-- src/version.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index 31b8a6a1d4..fd31c83c01 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,7 +1,7 @@ < LAMMPS Users Manual - + @@ -19,7 +19,7 @@ :line LAMMPS Documentation :c,h1 -16 Jul 2018 version :c,h2 +2 Aug 2018 version :c,h2 Version info: :h3 diff --git a/src/version.h b/src/version.h index 90a21631d9..b95c259dd6 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "16 Jul 2018" +#define LAMMPS_VERSION "2 Aug 2018" -- GitLab From efaebe0eb02d9970c6a03c0e20bca077885ae3d2 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Thu, 2 Aug 2018 13:44:12 -0600 Subject: [PATCH 392/675] READMEs for USER-SCAFACOS completed --- lib/scafacos/README | 79 +++++++++++++++++++++++++++++++++++++--- src/USER-SCAFACOS/README | 28 ++++++++++++-- 2 files changed, 98 insertions(+), 9 deletions(-) diff --git a/lib/scafacos/README b/lib/scafacos/README index bdf167aef1..e5f1ecd92c 100644 --- a/lib/scafacos/README +++ b/lib/scafacos/README @@ -1,7 +1,76 @@ -RENE - there needs to be a README like the one -for lib/voronoi/README, explaining how -to grab the correct version of Scafacos. +This directory contains links to the ScaFaCoS library which +is required to use the KSPACE scafacos and its kspace_style +scafacos command in a LAMMPS input script. -And how to build, either via traditional make -and the Install.py script, or via CMake +The ScaFaCoS library is available at http://scafacos.de or +on github at https://github.com/scafacos, the libary was +developed by a consortium of different universities in +Germany (Bonn, Chemnitz, Stuttgart, Wuppertal) and +the Research Centre Juelich (Juelich Supercomputing Centre). +----------------- + +Instructions: + +1.) Download ScaFaCoS at http://scafacos.de or directly from github + https://github.com/scafacos where you can either clone the + repository or download the latest stable release. + NOTE: For the P2NFFT solver, you require an installation of the + GNU Scientific Library (GSL). Also to ensure the correct + linker-flags are used, ScaFaCoS employs the pkg-config + tool, which is also required. + If you cloned the repository, please refer to 2.), else continue + with 3.) + +2.) If you cloned the git repository, you require autotools to setup + the library. For that the following packages are required: + m4 + autotools + automake + libtools + In the build_aux folder of the scafacos folder, you can find the + get_autotools.sh script, that downloads and installs the tools + to ${HOME}/local. To change the target folder, please change the + value of 'myprefix' in that script. + To start the auto-configuration process, please run the './bootstrap' + command in the scafacos base-folder. + +3.) If you downloaded the library as a tarball, please extract the file + to somewhere in your file system, or if you finished running + './bootstrap', please run './configure' in the base folder. + Important flags for './configure' are: + --prefix=: sets the directory the compiled files will + be installed to [default: /usr/local] + --fcs-enable-solvers=: sets the list of solvers that are going to + be built. By default all solvers will be + built. Currently supported by the kspace in LAMMPS + are: direct, ewald, fmm, p2nfft + The other solvers might work, but support + is purely experimental at the moment. To + give a list of solvers, use a comma seperated + list. + --fcs-disable-doc: disables the compilation of the documentation, + e.g. if no Latex is available on the system. + +4.) To build the library after configuration, run 'make' from the base folder. + +5.) To install the libray in the designated installation folder, run 'make install'. + Installation is required, as ScaFaCoS does not support an in-source build! + +6.) Create two soft links to this directory (lib/scafacos) to where the libary + is installed. E.g. if you built ScaFaCoS in the default install directory: + % ln -s /usr/local/include includelink + % ln -s /usr/local/lib liblink + for any custom directory : + % ln -s /include includelink + % ln -s /lib liblink + +7.) ScaFaCoS uses the pkg-config tool to supply the correct, so you need to setup your + PKG_CONFIG_PATH environment variable to include the lib/pkgconfig folder in the + installation directory. + Depending on the shell you use, this can be done either by: + % export PKG_CONFIG_PATH=/lib/pkgconfig:${PKG_CONFIG_PATH} + or + % setenv PKG_CONFIG_PATH=/lib/pkgconfig:${PKG_CONFIG_PATH} + +----------------- diff --git a/src/USER-SCAFACOS/README b/src/USER-SCAFACOS/README index 30534499e4..42d2e2c0f7 100644 --- a/src/USER-SCAFACOS/README +++ b/src/USER-SCAFACOS/README @@ -1,5 +1,25 @@ -RENE: need a short README file - see other examples in the -USER package dirs within src +This package provides a kspace style which is a wrapper for the +ScaFaCoS long-range Coulomb solver library. The library provides +a selection of different long-range Coulomb solvers, which can be +used to calculate the Coloumic forces between charged particles. +More information about the ScaFaCoS library can be found on this +web site: http://scafacos.de. ScaFaCoS was designed and implemented +by a consortium of German universities (Bonn, Chemnitz, Stuttgart, +Wuppertal and others) and the Juelich Supercomputing Centre +(Forschungszentrum Juelich). -give short background on ScaFaCos, authors, contact info -for LAMMPS users to have if needed, citation +The use of the scafacos kspace requires the download and installation +of the library on the system. This can be done in lib/scafacos or +elsewhere in your system. Details of the download and build process +for ScaFaCoS are given in the lib/scafacos/README file and it can also +be done via the make lib-user-scafacos command from the LAMMPS +source directory. + +Once you have successfully built LAMMPS with this package and the +ScaFaCoS library, you can test it using an input file from the +examples scafacos dir, e.g.: + +lmp_serial -in lammps/examples/USER/scafacos/in.scafacos.fmm + +For questions about ScaFaCoS, please contact: +r.halver@fz-juelich.de or g.sutmann@fz-juelich.de -- GitLab From c105e21a736f7dbccb1056cc0e0448b9e1dc2865 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Thu, 2 Aug 2018 13:58:25 -0600 Subject: [PATCH 393/675] more mods to Intro section --- doc/src/Intro.txt | 58 +++--- doc/src/Intro_authors.txt | 379 ++++++++++++++++++++++++++++++++++ doc/src/Intro_features.txt | 202 ++++++++++++++++++ doc/src/Intro_nonfeatures.txt | 83 ++++++++ doc/src/Intro_opensource.txt | 44 ++++ doc/src/Intro_overview.txt | 59 ++++++ doc/src/Intro_website.txt | 42 ++++ doc/src/Manual.txt | 23 ++- 8 files changed, 848 insertions(+), 42 deletions(-) create mode 100644 doc/src/Intro_authors.txt create mode 100644 doc/src/Intro_features.txt create mode 100644 doc/src/Intro_nonfeatures.txt create mode 100644 doc/src/Intro_opensource.txt create mode 100644 doc/src/Intro_overview.txt create mode 100644 doc/src/Intro_website.txt diff --git a/doc/src/Intro.txt b/doc/src/Intro.txt index a634799721..e3eaa40437 100644 --- a/doc/src/Intro.txt +++ b/doc/src/Intro.txt @@ -1,6 +1,6 @@ "Previous Section"_Manual.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_start.html :c +Section"_Install.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) @@ -10,34 +10,28 @@ Section"_Section_start.html :c Introduction :h2 -The "LAMMPS website"_lws is the best introduction to LAMMPS. - -Here is a list of webpages you can browse: - -"Brief intro and significant recent features"_lws -"List of features"_http://lammps.sandia.gov/features.html -"List of non-features"_http://lammps.sandia.gov/non_features.html -"Recent bug fixes and new features"_http://lammps.sandia.gov/bug.html :ul - -"Download info"_http://lammps.sandia.gov/download.html -"GitHub site"_https://github.com/lammps/lammps -"SourceForge site"_https://sourceforge.net/projects/lammps -"Open source and licensing info"_http://lammps.sandia.gov/open_source.html :ul - -"Glossary of MD terms relevant to LAMMPS"_http://lammps.sandia.gov/glossary.html -"LAMMPS highlights with images"_http://lammps.sandia.gov/pictures.html -"LAMMPS highlights with movies"_http://lammps.sandia.gov/movies.html -"Mail list"_http://lammps.sandia.gov/mail.html -"Workshops"_http://lammps.sandia.gov/workshops.html -"Tutorials"_http://lammps.sandia.gov/tutorials.html -"Developer guide"_http://lammps.sandia.gov/Developer.pdf :ul - -"Pre- and post-processing tools for LAMMPS"_http://lammps.sandia.gov/prepost.html -"Other software usable with LAMMPS"_http://lammps.sandia.gov/offsite.html -"Viz tools usable with LAMMPS"_http://lammps.sandia.gov/viz.html :ul - -"Benchmark performance"_http://lammps.sandia.gov/bench.html -"Publications that have cited LAMMPS"_http://lammps.sandia.gov/papers.html -"Authors of the LAMMPS code"_http://lammps.sandia.gov/authors.html -"History of LAMMPS development"_http://lammps.sandia.gov/history.html -"Funding for LAMMPS"_http://lammps.sandia.gov/funding.html :ul +These pages provide a brief introduction to LAMMPS. + + + + + +"Overview of LAMMPS"_Intro_overview.html +"LAMMPS features"_Intro_features.html +"LAMMPS non-features"_Intro_nonfeatures.html +"LAMMPS open-source license"_Intro_license.html +"LAMMPS authors"_Intro_authors.html +"Additional website links"_Intro_website.html :all(b) + + diff --git a/doc/src/Intro_authors.txt b/doc/src/Intro_authors.txt new file mode 100644 index 0000000000..96b4b861ca --- /dev/null +++ b/doc/src/Intro_authors.txt @@ -0,0 +1,379 @@ +"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +LAMMPS authors :h3 + +The primary LAMMPS developers are at Sandia National Labs and Temple +University: + +"Steve Plimpton"_sjp, sjplimp at sandia.gov +Aidan Thompson, athomps at sandia.gov +Stan Moore, stamoor at sandia.gov +Axel Kohlmeyer, akohlmey at gmail.com :ul + +:link(sjp,http://www.cs.sandia.gov/~sjplimp) + +Past developers include Paul Crozier and Mark Stevens, both at Sandia, +and Ray Shan, now at Materials Design. + +:line + +The following folks are responsible for significant contributions to +the code, or other aspects of the LAMMPS development effort. Many of +the packages they have written are somewhat unique to LAMMPS and the +code would not be as general-purpose as it is without their expertise +and efforts. + +Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM, USER-OMP, USER-COLVARS, USER-MOLFILE, USER-QMMM packages +Roy Pollock (LLNL), Ewald and PPPM solvers +Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL packages +Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential +Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics +Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion +Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling +Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD +Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA and KOKKOS packages +Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field +Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling +Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF +Georg Gunzenmueller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SMD and USER-SPH packages +Colin Denniston (U Western Ontario), cdennist at uwo.ca, USER-LB package :ul + +:line + +As discussed on the "History +page"_http://lammps.sandia.gov/history.html of the website, LAMMPS +originated as a cooperative project between DOE labs and industrial +partners. Folks involved in the design and testing of the original +version of LAMMPS were the following: + +John Carpenter (Mayo Clinic, formerly at Cray Research) +Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb) +Steve Lustig (Dupont) +Jim Belak and Roy Pollock (LLNL) :ul + +:line +:line + +Here is a timeline for when various individuals contributed to a new +feature or command or tool added to LAMMPS: + +Jul18 : DEM polygonal and polyhedron particles : Trung Nguyen (Northwestern U) +Jun18 : SPIN package : Julien Tranchida (Sandia and CEA) +Jun18 : compute entropy/atom : Pablo Piaggi (EPLF, Switzerland) +May18 : fix bond/react : Jake Gissinger (CU Boulder) +Apr18 : USER-BOCS package : Nicholas Dunn and Michael DeLyser (Penn State U) +Mar18: pair coul/shield, kolmogorov/crespi/full, ilp/graphene/hbn : Wengen Ouyang (Tel Aviv U) +Feb18 : pair lj/cut/coul/wolf : Vishal Boddu (U of Erlangen-Nuremberg) +Feb18 : USER-MOFFF package : Hendrik Heenen (Technical U of Munich) and Rochus Schmid (Ruhr-University Bochum) +Feb18 : pair ufm : Rodolfo Paula Leite and Maurice de Koning (Unicamp/Brazil) +Dec17 : fix python/move : Richard Berger (Temple U) +Nov17 : pair extep : Jaap Kroes (Radboud U) +Oct17 : USER-UEF package : David Nicholson (MIT) +Oct17 : fix rhok : Ulf Pederson (Roskilde U) +Oct17 : bond gromos : Axel Kohlmeyer (Temple U) +Oct17 : pair born/coul/wolf/cs and coul/wolf/cs : Vishal Boddu +Sep17 : fix latte : Christian Negre (LANL) +Sep17 : temper_npt : Amulya Pervaje and Cody Addington (NCSU) +Aug17 : USER-MESO package : Zhen Li (Brown University) +Aug17 : compute aggregate/atom & fragment/atom : Axel Kohlmeyer (Temple U) +Jul17 : pair meam/c : Sebastian Hutter (Otto-von-Guericke University) +Jun17 : pair reaxc/omp : Metin Aktulga (MSU) and Axel Kohlmeyer (Temple U) +Jun17 : pair vashishita/gpu : Anders Hafreager (UiO) +Jun17 : kspace pppm/disp/intel and pair lj/long/coul/long/intel : Mike Brown (Intel) and William McDoniel (RWTH Aachen U) +Jun17 : compute cnp/atom : Paulo Branicio (USC) +May17 : fix python and pair python : Richard Berger (Temple U) +May17 : pair edip/multi : Chao Jiang (U Wisconsin) +May17 : pair gw and gw/zbl : German Samolyuk (ORNL) +Mar17 : pair charmm fsw and fsh : Robert Meissner & Lucio Colombi Ciacchi (Bremen U), Robert Latour (Clemson U) +Mar17 : pair momb : Ya Zhou, Kristen Fichthorn, and Tonnam Balankura (PSU) +Mar17 : fix filter/corotate : Lukas Fath (KIT) +Mar17 : pair kolmogorov/crespi/z : Jaap Kroes (Radboud Universiteit) +Feb17 : Kokkos versions of the class2 bond/angle/dihedral/improper : Ray Shan (Materials Design) +Jan17 : USER-CGDNA package : Oliver Henrich (U Edinburgh) +Jan17 : fix mscg : Lauren Abbott (Sandia) +Nov16 : temper/grem and fix grem : David Stelter (BU), Edyta Malolepsza (Broad Institute), Tom Keyes (BU) +Nov16 : pair agni : Axel Kohlmeyer (Temple U) and Venkatesh Botu +Nov16 : pair tersoff/mod.c : Ganga P Purja Pun (George Mason University) +Nov16 : pair born/coul/dsf and pair born/coul/dsf/cs : Ariel Lozano +Nov16 : fix reaxc/species/kk & fix reaxc/bonds/kk : Stan Moore (Sandia) +Oct16 : fix wall/gran/region : Dan Bolintineanu (Sandia) +Sep16 : weight options for balance & fix balance : Axel Kohlmeyer (Temple U) & Iain Bethune (EPCC) +Sep16 : fix cmap : Xiaohu Hu (ORNL), David Hyde-Volpe & Tigran Abramyan & Robert Latour (Clemson U), Chris Lorenz (Kings College, London) +Sep16 : pair vashishta/table : Anders Hafreager (U Oslo) +Sep16 : kspace pppm/kk : Stan Moore (Sandia) +Aug16 : fix flow/gauss : Steve Strong and Joel Eaves (U Colorado) +Aug16 : fix controller : Aidan Thompson (Sandia) +Jul16 : dipole integration by DLM method : Iain Bethune (EPCC) +Jul16 : dihedral spherical : Andrew Jewett +Jun16 : pair reax/c/kk : Ray Shan (Materials Design), Stan Moore (Sandia) +Jun16 : fix orient/bcc : Tegar Wicaksono (UBC) +Jun16 : fix ehex : Peter Wirnsberger (University of Cambridge) +Jun16 : reactive DPD extensions to USER-DPD : James Larentzos (ARL), Timothy Mattox (Engility Corp), John Brennan (ARL), Christopher Stone (Computational Science & Engineering, LLC) +May16 : USER-MANIFOLD package : Stefan Paquay (Eindhoven U of Tech, The Netherlands) +Apr16 : write_coeff : Axel Kohlmeyer (Temple U) +Apr16 : pair morse/soft : Stefan Paquay (Eindhoven U of Tech, The Netherlands) +Apr16 : compute dipole/chunk : Axel Kohlmeyer (Temple U) +Apr16 : bond write : Axel Kohlmeyer (Temple U) +Mar16 : pair morse/smooth/linear : Stefan Paquay (Eindhoven U of Tech, The Netherlands) +Feb16 : pair/bond/angle/dihedral/improper zero : Carsten Svaneborg (SDU) +Feb16 : dump custom/vtk : Richard Berger (JKU) and Daniel Queteschiner (DCS Computing) +Feb16 : fix (nvt/npt/nph)/body and compute temp/body : Trung Nguyen +Feb16 : USER-DPD package : James Larentzos (ARL), Timothy Mattox (Engility Corp), John Brennan (ARL) +Dec15 : fix qeq/fire : Ray Shan (Sandia) +Dec15 : pair lj/mdf, pair lennard/mdf, pair buck/mdf, improper distance : Paolo Raiteri (Curtin University) +Nov15 : compute orientorder/atom : Aidan Thompson (Sandia) and Axel Kohlmeyer (U Temple) +Nov15 : compute hexorder/atom : Aidan Thompson (Sandia) +Oct15 : displace_atoms variable option : Reese Jones (Sandia) +Oct15 : pair mgpt & USER-MGPT package : Tomas Oppelstrup and John Moriarty (LLNL) +Oct15 : pair smtbq & USER-SMTBQ package : Nicolas Salles, Emile Maras, Olivier Politano, and Robert Tetot (LAAS-CNRS) +Oct15 : fix ave/correlate/long command : Jorge Ramirez (UPM) and Alexei Likhtman (U Reading) +Oct15 : pair vashishta command : Aidan Thompson (Sandia) and Yongnan Xiong (HNU) +Aug15 : USER-TALLY package : Axel Kohlmeyer (Temple U) +Aug15 : timer command : Axel Kohlmeyer (Temple U) +Aug15 : USER-H5MD package : Pierre de Buyl (KU Leuven) +Aug15 : COMPRESS package : Axel Kohlmeyer (Temple U) +Aug15 : USER-SMD package : Georg Gunzenmueller (EMI) +Jul15 : new HTML format for "doc pages"_doc/Manual.html with search option : Richard Berger (JKU) +Jul15 : rRESPA with pair hybrid : Sam Genheden (U of Southampton) +Jul15 : pair_modify special : Axel Kohlmeyer (Temple U) +Jul15 : pair polymorphic : Xiaowang Zhou and Reese Jones (Sandia) +Jul15 : USER-DRUDE package : Alain Dequidt and Agilio Padua (U Blaise Pascal Clermont-Ferrand) and Julien Devemy (CNRS) +Jul15 : USER-QTB package : Yuan Shen, Tingting Qi, and Evan Reed (Stanford U) +Jul15 : USER-DIFFRACTION package : Shawn Coleman (ARL) +Mar15 : fix temp/csld : Axel Kohlmeyer (Temple U) +Mar15 : CORESHELL package : Hendrik Heenen (Technical University of Munich) +Feb15 : pair quip for GAP and other potentials : Albert Bartok-Partay (U Cambridge) +Feb15 : pair coul/streitz for Streitz-Mintmire potential : Ray Shan (Sandia) +Feb15 : fix tfmc : Kristof Bal (U of Antwerp) +Feb15 : fix ttm/mod : Sergey Starikov and Vasily Pisarev (JIHT of RAS) +Jan15 : fix atom/swap for MC swaps of atom types/charge : Paul Crozier (Sandia) +Nov14 : fix pimd for path-integral MD : Chris Knight and Yuxing Peng (U Chicago) +Nov14 : fix gle and fix ipi for path-integral MD : Michele Ceriotti (EPFL) +Nov14 : pair style srp : Tim Sirk (ARL) and Pieter in 't Veld (BASF) +Nov14 : fix ave/spatial/sphere : Niall Jackson (Imperial College) +Sep14 : QEQ package and several fix qeq/variant styles : Ray Shan (Sandia) +Sep14 : SNAP package and pair style : Aidan Thompson (Sandia) and collaborators +Aug14 : USER-INTEL package : Mike Brown (Intel) +May14 : KOKKOS pacakge : Christian Trott and Carter Edwards (Sandia) +May14 : USER-FEP pacakge : Agilio Padua (U Blaise Pascal Clermont-Ferrand) +Apr14 : fix rigid/small NVE/NVT/NPH/NPT : Trung Nguyen (ORNL) +Apr14 : fix qmmm for QM/MM coupling : Axel Kohlmeyer (Temple U) +Mar14 : kspace_modify collective for faster FFTs on BG/Q : Paul Coffman (IBM) +Mar14 : fix temp/csvr and fix oneway : Axel Kohlmeyer (Temple U) +Feb14 : pair peri/eps, compute dilatation/atom, compute plasticity/atom : Rezwanur Rahman and John Foster (UTSA) +Jan14 : MPI-IO options for dump and restart files : Paul Coffman (IBM) +Nov13 : USER-LB package for Lattice Boltzmann : Francis Mackay and Colin Denniston (U Western Ontario) +Nov13 : fix ti/rs and ti/spring : Rodrigo Freitas (UC Berkeley) +Nov13 : pair comb3 : Ray Shan (Sandia), Tao Liang and Dundar Yilmaz (U Florida) +Nov13 : write_dump and dump movie : Axel Kohlmeyer (Temple U) +Sep13 : xmgrace tool : Vikas Varshney +Sep13 : pair zbl : Aidan Thompson and Stephen Foiles (Sandia) +Aug13 : pair nm and variants : Julien Devemy (ICCF) +Aug13 : fix wall/lj1043 : Jonathan Lee (Sandia) +Jul13 : pair peri/ves : Rezwan Rahman, JT Foster (U Texas San Antonio) +Jul13 : pair tersoff/mod : Vitaly Dozhdikov (JIHT of RAS) +Jul13 : compute basal/atom : Christopher Barrett,(Mississippi State) +Jul13 : polybond tool : Zachary Kraus (Georgia Tech) +Jul13 : fix gld : Stephen Bond and Andrew Baczewski (Sandia) +Jun13 : pair nb3b/harmonic : Todd Zeitler (Sandia) +Jun13 : kspace_style pppm/stagger : Stan Moore (Sandia) +Jun13 : fix tune/kspace : Paul Crozier (Sandia) +Jun13 : long-range point dipoles : Stan Moore (Sandia) and Pieter in 't Veld (BASF) +May13 : compute msd/nongauss : Rob Hoy +May13 : pair list : Axel Kohlmeyer (Temple U) +May13 : triclinic support for long-range solvers : Stan Moore (Sandia) +Apr13 : dump_modify nfile and fileper : Christopher Knight +Mar13 : fix phonon : Ling-Ti Kong (Shanghai Jiao Tong University) +Mar13 : pair_style lj/cut/tip4p/cut : Pavel Elkind (Gothenburg University) +Feb13 : immediate variables in input script : Daniel Moller (Autonomous University of Barcelona) +Feb13 : fix species : Ray Shan (Sandia) +Jan13 : compute voronoi/atom : Daniel Schwen +Nov12 : pair_style mie/cut : Cassiano Aimoli Petrobras (U Notre Dame) +Oct12 : pair_style meam/sw/spline : Robert Rudd (LLNL) +Oct12 : angle_style fourier and fourier/simple and quartic : Loukas Peristeras (Scienomics) +Oct12 : dihedral_style fourier and nharmonic and quadratic : Loukas Peristeras (Scienomics) +Oct12 : improper_style fourier : Loukas Peristeras (Scienomics) +Oct12 : kspace_style pppm/disp for 1/r^6 : Rolf Isele-Holder (Aachen University) +Oct12 : moltemplate molecular builder tool : Andrew Jewett (UCSB) +Sep12 : pair_style lj/cut/coul/dsf and coul/dsf : Trung Nguyen (ORNL) +Sep12 : multi-level summation long-range solver : Stan Moore, Stephen Bond, and Paul Crozier (Sandia) +Aug12 : fix rigid/npt and fix rigid/nph : Trung Nguyen (ORNL) +Aug12 : Fortran wrapper on lib interface : Karl Hammond (UT, Knoxville) +Aug12 : kspace_modify diff for 2-FFT PPPM : Rolf Isele-Holder (Aachen University), Stan Moore (BYU), Paul Crozier (Sandia) +Jun12 : pair_style bop : Don Ward and Xiaowang Zhou (Sandia) +Jun12 : USER-MOLFILE package : Axel Kohlmeyer (U Temple) +Jun12 : USER-COLVARS package : Axel Kohlmeyer (U Temple) +May12 : read_dump : Tim Sirk (ARL) +May12 : improper_style cossq and ring : Georgios Vogiatzis (CoMSE, NTU Athens) +May12 : pair_style lcbop : Dominik Wojt (Wroclaw University of Technology) +Feb12 : PPPM per-atom energy/virial : Stan Moore (BYU) +Feb12 : Ewald per-atom energy/virial : German Samolyuk (ORNL), Stan Moore (BYU) +Feb12 : minimize forcezero linesearch : Asad Hasan (CMU) +Feb12 : pair_style beck : Jon Zimmerman (Sandia) +Feb12 : pair_style meam/spline : Alex Stukowski (LLNL) +Jan12 : pair_style kim : Valeriu Smirichinski, Ryan Elliott, Ellad Tadmor (U Minn) +Jan12 : dihedral_style table : Andrew Jewett (UCSB) +Jan12 : angle_style dipole : Mario Orsi +Jan12 : pair_style lj/smooth/linear : Jon Zimmerman (Sandia) +Jan12 : fix reax/c/bond : Tzu-Ray Shan (Sandia) +Dec11 : pair_style coul/wolf : Yongfeng Zhang (INL) +Dec11 : run_style verlet/split : Yuxing Peng and Chris Knight (U Chicago) +Dec11 : pair_style tersoff/table : Luca Ferraro (CASPUR) +Nov11 : per-atom energy/stress for reax/c : Tzu-Ray Shan (Sandia) +Oct11 : Fast Lubrication Dynamics (FLD) package: Amit Kumar, Michael Bybee, Jonathan Higdon (UIUC) +Oct11 : USER-OMP package : Axel Kohlmeyer (Temple U) +Sep11 : pair_style edip : Luca Ferraro (CASPUR) +Aug11 : USER-SPH package : Georg Ganzenmuller (FIHSD, EMI, Germany) +Aug11 : fix restrain : Craig Tenney (Sandia) +Aug11 : USER-CUDA package : Christian Trott (U Tech Ilmenau) +Aug11 : pair_style lj/sf : Laurent Joly (U Lyon) +Aug11 : bond_style harmonic/shift and harmonic/shift/cut : Carsten Svaneborg +Aug11 : angle_style cosine/shift and cosine/shift/exp : Carsten Svaneborg +Aug11 : dihedral_style cosine/shift/exp : Carsten Svaneborg +Aug11 : pair_style dipole/sf : Mario Orsi +Aug11 : fix addtorque and compute temp/rotate : Laurent Joly (U Lyon) +Aug11 : FFT support via FFTW3, MKL, ACML, KISSFFT libraries : \ + Axel Kohlmeyer (Temple U) +Jun11 : pair_style adp : Chris Weinberger (Sandia), Stephen Foiles (Sandia), \ + Chandra Veer Singh (Cornell) +Jun11 : Windows build option via Microsoft Visual Studio : \ + Ilya Valuev (JIHT, Moscow, Russia) +Jun11 : antisymmetrized wave packet MD : Ilya Valuev (JIHT, Moscow, Russia) +Jun11 : dump image : Nathan Fabian (Sandia) +May11 : pppm GPU single and double : Mike Brown (ORNL) +May11 : pair_style lj/expand/gpu : Inderaj Bains (NVIDIA) +2010 : pair_style reax/c and fix qeq/reax : Metin Aktulga (Purdue, now LBNL) +- : DREIDING force field, pair_style hbond/dreiding, etc : Tod Pascal (Caltech) +- : fix adapt and compute ti for thermodynamic integration for \ + free energies : Sai Jayaraman (Sandia) +- : pair_style born and gauss : Sai Jayaraman (Sandia) +- : stochastic rotation dynamics (SRD) via fix srd : \ + Jeremy Lechman (Sandia) and Pieter in 't Veld (BASF) +- : ipp Perl script tool : Reese Jones (Sandia) +- : eam_database and createatoms tools : Xiaowang Zhou (Sandia) +- : electron force field (eFF) : Andres Jaramillo-Botero and Julius Su (Caltech) +- : embedded ion method (EIM) potential : Xiaowang Zhou (Sandia) +- : COMB potential with charge equilibration : Tzu-Ray Shan (U Florida) +- : fix ave/correlate : Benoit Leblanc, Dave Rigby, \ + Paul Saxe (Materials Design) and Reese Jones (Sandia) +- : pair_style peri/lps : Mike Parks (Sandia) +- : fix msst : Lawrence Fried (LLNL), Evan Reed (LLNL, Stanford) +- : thermo_style custom tpcpu & spcpu keywords : Axel Kohlmeyer (Temple U) +- : fix rigid/nve, fix rigid/nvt : Tony Sheh and Trung Dac Nguyen (U Michigan) +- : public SVN & Git repositories for LAMMPS : \ + Axel Kohlmeyer (Temple U) and Bill Goldman (Sandia) +- : compute heat/flux : German Samolyuk (ORNL) and \ + Mario Pinto (Computational Research Lab, Pune, India) +- : pair_style yukawa/colloid : Randy Schunk (Sandia) +- : fix wall/colloid : Jeremy Lechman (Sandia) +2009 : fix imd for real-time viz and interactive MD : Axel Kohlmeyer (Temple Univ) +- : concentration-dependent EAM potential : \ + Alexander Stukowski (Technical University of Darmstadt) +- : parallel replica dymamics (PRD) : Mike Brown (Sandia) +- : min_style hftn : Todd Plantenga (Sandia) +- : fix atc : Reese Jones, Jon Zimmerman, Jeremy Templeton (Sandia) +- : dump cfg : Liang Wan (Chinese Academy of Sciences) +- : fix nvt with Nose/Hoover chains : Andy Ballard (U Maryland) +- : pair_style lj/cut/gpu, pair_style gayberne/gpu : Mike Brown (Sandia) +- : pair_style lj96/cut, bond_style table, angle_style table : Chuanfu Luo +- : fix langevin tally : Carolyn Phillips (U Michigan) +- : compute heat/flux for Green-Kubo : Reese Jones (Sandia), \ + Philip Howell (Siemens), Vikas Varsney (AFRL) +- : region cone : Pim Schravendijk +- : pair_style born/coul/long : Ahmed Ismail (Sandia) +- : fix ttm : Paul Crozier (Sandia) and Carolyn Phillips (U Michigan) +- : fix box/relax : Aidan Thompson and David Olmsted (Sandia) +- : ReaxFF potential : Aidan Thompson (Sandia) and Hansohl Cho (MIT) +- : compute cna/atom : Liang Wan (Chinese Academy of Sciences) +2008 : Tersoff/ZBL potential : Dave Farrell (Northwestern U) +- : peridynamics : Mike Parks (Sandia) +- : fix smd for steered MD : Axel Kohlmeyer (U Penn) +- : GROMACS pair potentials : Mark Stevens (Sandia) +- : lmp2vmd tool : Axel Kohlmeyer (U Penn) +- : compute group/group : Naveen Michaud-Agrawal (Johns Hopkins U) +- : USER-CG-CMM package for coarse-graining : Axel Kohlmeyer (U Penn) +- : cosine/delta angle potential : Axel Kohlmeyer (U Penn) +- : VIM editor add-ons for LAMMPS input scripts : Gerolf Ziegenhain +- : pair_style lubricate : Randy Schunk (Sandia) +- : compute ackland/atom : Gerolf Ziegenhain +- : kspace_style ewald/n, pair_style lj/coul, pair_style buck/coul : \ + Pieter in 't Veld (Sandia) +- : AI-REBO bond-order potential : Ase Henry (MIT) +- : making LAMMPS a true "object" that can be instantiated \ + multiple times, e.g. as a library : Ben FrantzDale (RPI) +- : pymol_asphere viz tool : Mike Brown (Sandia) +2007 : NEMD SLLOD integration : Pieter in 't Veld (Sandia) +- : tensile and shear deformations : Pieter in 't Veld (Sandia) +- : GayBerne potential : Mike Brown (Sandia) +- : ellipsoidal particles : Mike Brown (Sandia) +- : colloid potentials : Pieter in 't Veld (Sandia) +- : fix heat : Paul Crozier and Ed Webb (Sandia) +- : neighbor multi and communicate multi : Pieter in 't Veld (Sandia) +- : MATLAB post-processing scripts : Arun Subramaniyan (Purdue) +- : triclinic (non-orthogonal) simulation domains : Pieter in 't Veld (Sandia) +- : thermo_extract tool: Vikas Varshney (Wright Patterson AFB) +- : fix ave/time and fix ave/spatial : Pieter in 't Veld (Sandia) +- : MEAM potential : Greg Wagner (Sandia) +- : optimized pair potentials for lj/cut, charmm/long, eam, morse : \ + James Fischer (High Performance Technologies), \ + David Richie and Vincent Natoli (Stone Ridge Technologies) +2006 : fix wall/lj126 : Mark Stevens (Sandia) +- : Stillinger-Weber and Tersoff potentials : \ + Aidan Thompson and Xiaowang Zhou (Sandia) +- : region prism : Pieter in 't Veld (Sandia) +- : fix momentum and recenter : Naveen Michaud-Agrawal (Johns Hopkins U) +- : multi-letter variable names : Naveen Michaud-Agrawal (Johns Hopkins U) +- : OPLS dihedral potential: Mark Stevens (Sandia) +- : POEMS coupled rigid body integrator: Rudranarayan Mukherjee (RPI) +- : faster pair hybrid potential: James Fischer \ + (High Performance Technologies, Inc), Vincent Natoli and \ + David Richie (Stone Ridge Technology) +- : breakable bond quartic potential: Chris Lorenz and Mark Stevens (Sandia) +- : DCD and XTC dump styles: Naveen Michaud-Agrawal (Johns Hopkins U) +- : grain boundary orientation fix : Koenraad Janssens and \ + David Olmsted (Sandia) +- : pair_style lj/smooth potential : Craig Maloney (UCSB) +- : radius-of-gyration spring fix : Naveen Michaud-Agrawal \ + (Johns Hopkins U) and Paul Crozier (Sandia) +- : self spring fix : Naveen Michaud-Agrawal (Johns Hopkins U) +- : EAM CoAl and AlCu potentials : Kwang-Reoul Lee (KIST, Korea) +- : cosine/squared angle potential : Naveen Michaud-Agrawal (Johns Hopkins U) +- : helix dihedral potential : Naveen Michaud-Agrawal (Johns Hopkins U) and \ + Mark Stevens (Sandia) +- : Finnis/Sinclair EAM: Tim Lau (MIT) +- : dissipative particle dynamics (DPD) potentials: Kurt Smith (U Pitt) and \ + Frank van Swol (Sandia) +- : TIP4P potential (4-site water): Ahmed Ismail and \ + Amalie Frischknecht (Sandia) +2005 : uniaxial strain fix: Carsten Svaneborg (Max Planck Institute) +- : compressed dump files: Erik Luijten (U Illinois) +- : cylindrical indenter fix: Ravi Agrawal (Northwestern U) +- : electric field fix: Christina Payne (Vanderbilt U) +- : AMBER <-> LAMMPS tool: Keir Novik (Univ College London) and \ + Vikas Varshney (U Akron) +- : CHARMM <-> LAMMPS tool: Pieter in 't Veld and Paul Crozier (Sandia) +- : Morse bond potential: Jeff Greathouse (Sandia) +- : radial distribution functions: Paul Crozier & Jeff Greathouse (Sandia) +- : force tables for long-range Coulombics: Paul Crozier (Sandia) +2004 : targeted molecular dynamics (TMD): Paul Crozier (Sandia) and \ + Christian Burisch (Bochum University, Germany) +- : FFT support for SGI SCLS (Altix): Jim Shepherd (Ga Tech) +- : lmp2cfg and lmp2traj tools: Ara Kooser, Jeff Greathouse, \ + Andrey Kalinichev (Sandia) +- : parallel tempering: Mark Sears (Sandia) +earlier : granular force fields and BC: Leo Silbert & Gary Grest (Sandia) +- : multi-harmonic dihedral potential: Mathias Putz (Sandia) +- : embedded atom method (EAM) potential: Stephen Foiles (Sandia) +- : msi2lmp tool: Steve Lustig (Dupont), Mike Peachey & John Carpenter (Cray) +- : HTFN energy minimizer: Todd Plantenga (Sandia) +- : class 2 force fields: Eric Simon (Cray) +- : NVT/NPT integrators: Mark Stevens (Sandia) +- : rRESPA: Mark Stevens & Paul Crozier (Sandia) +- : Ewald and PPPM solvers: Roy Pollock (LLNL) : :tb(s=:,ca1=c) diff --git a/doc/src/Intro_features.txt b/doc/src/Intro_features.txt new file mode 100644 index 0000000000..2a405ebf77 --- /dev/null +++ b/doc/src/Intro_features.txt @@ -0,0 +1,202 @@ +"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +LAMMPS features :h3 + +LAMMPS is a classical molecular dynamics (MD) code with these general +classes of functionality: + +"General features"_#general +"Particle and model types"_#particle +"Interatomic potentials (force fields)"_#ff +"Atom creation"_#create +"Ensembles, constraints, and boundary conditions"_#ensemble +"Integrators"_#integrate +"Diagnostics"_#diag +"Output"_#output +"Multi-replica models"_#replica +"Pre- and post-processing"_#prepost +"Specialized features (beyond MD itself)"_#special :ul + +:line + +General features :h4,link(general) + + runs on a single processor or in parallel + distributed-memory message-passing parallelism (MPI) + spatial-decomposition of simulation domain for parallelism + open-source distribution + highly portable C++ + optional libraries used: MPI and single-processor FFT + GPU (CUDA and OpenCL), Intel Xeon Phi, and OpenMP support for many code features + easy to extend with new features and functionality + runs from an input script + syntax for defining and using variables and formulas + syntax for looping over runs and breaking out of loops + run one or multiple simulations simultaneously (in parallel) from one script + build as library, invoke LAMMPS thru library interface or provided Python wrapper + couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both :ul + +Particle and model types :h4,link(particle) +("atom style"_atom_style.html command) + + atoms + coarse-grained particles (e.g. bead-spring polymers) + united-atom polymers or organic molecules + all-atom polymers, organic molecules, proteins, DNA + metals + granular materials + coarse-grained mesoscale models + finite-size spherical and ellipsoidal particles + finite-size line segment (2d) and triangle (3d) particles + point dipole particles + rigid collections of particles + hybrid combinations of these :ul + +Interatomic potentials (force fields) :h4,link(ff) +("pair style"_pair_style.html, "bond style"_bond_style.html, +"angle style"_angle_style.html, "dihedral style"_dihedral_style.html, +"improper style"_improper_style.html, "kspace style"_kspace_style.html +commands) + + pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, \ + Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated + charged pairwise potentials: Coulombic, point-dipole + manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), \ + embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, \ + REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic + long-range interactions for charge, point-dipoles, and LJ dispersion: \ + Ewald, Wolf, PPPM (similar to particle-mesh Ewald) + polarization models: "QEq"_fix_qeq.html, \ + "core/shell model"_Section_howto.html#howto_26, \ + "Drude dipole model"_Section_howto.html#howto_27 + charge equilibration (QEq via dynamic, point, shielded, Slater methods) + coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO + mesoscopic potentials: granular, Peridynamics, SPH + electron force field (eFF, AWPMD) + bond potentials: harmonic, FENE, Morse, nonlinear, class 2, \ + quartic (breakable) + angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, \ + class 2 (COMPASS) + dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, \ + class 2 (COMPASS), OPLS + improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS) + polymer potentials: all-atom, united-atom, bead-spring, breakable + water potentials: TIP3P, TIP4P, SPC + implicit solvent potentials: hydrodynamic lubrication, Debye + force-field compatibility with common CHARMM, AMBER, DREIDING, \ + OPLS, GROMACS, COMPASS options + access to "KIM archive"_http://openkim.org of potentials via \ + "pair kim"_pair_kim.html + hybrid potentials: multiple pair, bond, angle, dihedral, improper \ + potentials can be used in one simulation + overlaid potentials: superposition of multiple pair potentials :ul + +Atom creation :h4,link(create) +("read_data"_read_data.html, "lattice"_lattice.html, +"create_atoms"_create_atoms.html, "delete_atoms"_delete_atoms.html, +"displace_atoms"_displace_atoms.html, "replicate"_replicate.html commands) + + read in atom coords from files + create atoms on one or more lattices (e.g. grain boundaries) + delete geometric or logical groups of atoms (e.g. voids) + replicate existing atoms multiple times + displace atoms :ul + +Ensembles, constraints, and boundary conditions :h4,link(ensemble) +("fix"_fix.html command) + + 2d or 3d systems + orthogonal or non-orthogonal (triclinic symmetry) simulation domains + constant NVE, NVT, NPT, NPH, Parinello/Rahman integrators + thermostatting options for groups and geometric regions of atoms + pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions + simulation box deformation (tensile and shear) + harmonic (umbrella) constraint forces + rigid body constraints + SHAKE bond and angle constraints + Monte Carlo bond breaking, formation, swapping + atom/molecule insertion and deletion + walls of various kinds + non-equilibrium molecular dynamics (NEMD) + variety of additional boundary conditions and constraints :ul + +Integrators :h4,link(integrate) +("run"_run.html, "run_style"_run_style.html, "minimize"_minimize.html commands) + + velocity-Verlet integrator + Brownian dynamics + rigid body integration + energy minimization via conjugate gradient or steepest descent relaxation + rRESPA hierarchical timestepping + rerun command for post-processing of dump files :ul + +Diagnostics :h4,link(diag) + + see various flavors of the "fix"_fix.html and "compute"_compute.html commands :ul + +Output :h4,link(output) +("dump"_dump.html, "restart"_restart.html commands) + + log file of thermodynamic info + text dump files of atom coords, velocities, other per-atom quantities + binary restart files + parallel I/O of dump and restart files + per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc) + user-defined system-wide (log file) or per-atom (dump file) calculations + spatial and time averaging of per-atom quantities + time averaging of system-wide quantities + atom snapshots in native, XYZ, XTC, DCD, CFG formats :ul + +Multi-replica models :h4,link(replica) + +"nudged elastic band"_neb.html +"parallel replica dynamics"_prd.html +"temperature accelerated dynamics"_tad.html +"parallel tempering"_temper.html :ul + +Pre- and post-processing :h4,link(prepost) + +A handful of pre- and post-processing tools are packaged with LAMMPS, +some of which can convert input and output files to/from formats used +by other codes; see the "Toos"_Tools.html doc page. :ulb,l + +Our group has also written and released a separate toolkit called +"Pizza.py"_pizza which provides tools for doing setup, analysis, +plotting, and visualization for LAMMPS simulations. Pizza.py is +written in "Python"_python and is available for download from "the +Pizza.py WWW site"_pizza. :l,ule + +:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) +:link(python,http://www.python.org) + +Specialized features :h4,link(special) + +LAMMPS can be built with optional packages which implement a variety +of additional capabilities. See the "Packages"_Packages.html doc +page for details. + +These are LAMMPS capabilities which you may not think of as typical +classical MD options: + +"static"_balance.html and "dynamic load-balancing"_fix_balance.html +"generalized aspherical particles"_body.html +"stochastic rotation dynamics (SRD)"_fix_srd.html +"real-time visualization and interactive MD"_fix_imd.html +calculate "virtual diffraction patterns"_compute_xrd.html +"atom-to-continuum coupling"_fix_atc.html with finite elements +coupled rigid body integration via the "POEMS"_fix_poems.html library +"QM/MM coupling"_fix_qmmm.html +Monte Carlo via "GCMC"_fix_gcmc.html and "tfMC"_fix_tfmc.html and "atom swapping"_fix_swap.html +"path-integral molecular dynamics (PIMD)"_fix_ipi.html and "this as well"_fix_pimd.html +"Direct Simulation Monte Carlo"_pair_dsmc.html for low-density fluids +"Peridynamics mesoscale modeling"_pair_peri.html +"Lattice Boltzmann fluid"_fix_lb_fluid.html +"targeted"_fix_tmd.html and "steered"_fix_smd.html molecular dynamics +"two-temperature electron model"_fix_ttm.html :ul diff --git a/doc/src/Intro_nonfeatures.txt b/doc/src/Intro_nonfeatures.txt new file mode 100644 index 0000000000..29b2eacf08 --- /dev/null +++ b/doc/src/Intro_nonfeatures.txt @@ -0,0 +1,83 @@ +"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +LAMMPS non-features :h3 + +LAMMPS is designed to be a fast, parallel engine for molecular +dynamics (MD) simulations. It provides only a modest amount of +functionality for setting up simulations and analyzing their output. + +Specifically, LAMMPS does not: + +run thru a GUI +build molecular systems +assign force-field coefficients automagically +perform sophisticated analyses of your MD simulation +visualize your MD simulation interactively +plot your output data :ul + +Here are suggestions on how to perform these tasks: + +GUI: LAMMPS can be built as a library and a Python wrapper that wraps +the library interface is provided. Thus, GUI interfaces can be +written in Python (or C or C++ if desired) that run LAMMPS and +visualize or plot its output. Examples of this are provided in the +python directory and described on the "Python"_Python.html doc +page. :ulb,l + +Builder: Several pre-processing tools are packaged with LAMMPS. Some +of them convert input files in formats produced by other MD codes such +as CHARMM, AMBER, or Insight into LAMMPS input formats. Some of them +are simple programs that will build simple molecular systems, such as +linear bead-spring polymer chains. The moltemplate program is a true +molecular builder that will generate complex molecular models. See +the "Tools"_Tools.html doc page for details on tools packaged with +LAMMPS. The "Pre/post processing +page"_http:/lammps.sandia.gov/prepost.html of the LAMMPS website +describes a variety of 3rd party tools for this task. :l + +Force-field assignment: The conversion tools described in the previous +bullet for CHARMM, AMBER, and Insight will also assign force field +coefficients in the LAMMPS format, assuming you provide CHARMM, AMBER, +or Accelerys force field files. :l + +Simulation analyses: If you want to perform analyses on-the-fly as +your simulation runs, see the "compute"_compute.html and +"fix"_fix.html doc pages, which list commands that can be used in a +LAMMPS input script. Also see the "Modify"_Modify.html doc page for +info on how to add your own analysis code or algorithms to LAMMPS. +For post-processing, LAMMPS output such as "dump file +snapshots"_dump.html can be converted into formats used by other MD or +post-processing codes. Some post-processing tools packaged with +LAMMPS will do these conversions. Scripts provided with the {python} +tool in the tools directory can extract and massage data in dump files +to make it easier to import into other programs. See the +"Tools"_Tools.html doc page for details on these various options. :l + +Visualization: LAMMPS can produce JPG or PNG snapshot images +on-the-fly via its "dump image"_dump_image.html command. For +high-quality, interactive visualization there are many excellent and +free tools available. See the "Other Codes +page"_http://lammps.sandia.gov/viz.html page of the LAMMPS website for +visualization packages that can use LAMMPS output data. :l + +Plotting: See the next bullet about Pizza.py as well as the +"Python"_Python.html doc page for examples of plotting LAMMPS output. +Scripts provided with the {python} tool in the tools directory will +extract and massage data in log and dump files to make it easier to +analyze and plot. See the "Tools"_Tools.html doc page for more +discussion of the various tools. :l + +Pizza.py: Our group has also written a separate toolkit called +"Pizza.py"_http://pizza.sandia.gov which can do certain kinds of +setup, analysis, plotting, and visualization (via OpenGL) for LAMMPS +simulations. It thus provides some functionality for several of the +above bullets. Pizza.py is written in "Python"_http://www.python.org +and is available for download from "this +page"_http://www.cs.sandia.gov/~sjplimp/download.html. :l,ule diff --git a/doc/src/Intro_opensource.txt b/doc/src/Intro_opensource.txt new file mode 100644 index 0000000000..83384a22a2 --- /dev/null +++ b/doc/src/Intro_opensource.txt @@ -0,0 +1,44 @@ +"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +LAMMPS open-source license :h3 + +LAMMPS is a freely-available open-source code, distributed under the +terms of the "GNU Public License"_gnu, which means you can use or +modify the code however you wish. + +LAMMPS comes with no warranty of any kind. As each source file states +in its header, it is a copyrighted code that is distributed free-of- +charge, under the terms of the "GNU Public License"_gnu (GPL). This +is often referred to as open-source distribution - see +"www.gnu.org"_gnuorg or "www.opensource.org"_opensource. The legal +text of the GPL is in the LICENSE file included in the LAMMPS +distribution. + +:link(gnu,http://www.gnu.org/copyleft/gpl.html) +:link(gnuorg,http://www.gnu.org) +:link(opensource,http://www.opensource.org) + +Here is a summary of what the GPL means for LAMMPS users: + +(1) Anyone is free to use, modify, or extend LAMMPS in any way they +choose, including for commercial purposes. + +(2) If you distribute a modified version of LAMMPS, it must remain +open-source, meaning you distribute it under the terms of the GPL. +You should clearly annotate such a code as a derivative version of +LAMMPS. + +(3) If you release any code that includes LAMMPS source code, then it +must also be open-sourced, meaning you distribute it under the terms +of the GPL. + +(4) If you give LAMMPS files to someone else, the GPL LICENSE file and +source file headers (including the copyright and GPL notices) should +remain part of the code. diff --git a/doc/src/Intro_overview.txt b/doc/src/Intro_overview.txt new file mode 100644 index 0000000000..97489b4867 --- /dev/null +++ b/doc/src/Intro_overview.txt @@ -0,0 +1,59 @@ +"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Overview of LAMMPS :h3 + +LAMMPS is a classical molecular dynamics (MD) code that models +ensembles of particles in a liquid, solid, or gaseous state. It can +model atomic, polymeric, biological, solid-state (metals, ceramics, +oxides), granular, coarse-grained, or macroscopic systems using a +variety of interatomic potentials (force fields) and boundary +conditions. The majority of these models are for materials of various +kinds. It can model 2d or 3d systems with only a few particles up to +millions or billions. + +LAMMPS can be built and run on a laptop or destop machine, but is +designed for parallel computers. It will run on any parallel machine +that supports the "MPI"_mpi message-passing library. This includes +shared-memory boxes and distributed-memory clusters and +supercomputers. + +:link(mpi,http://www-unix.mcs.anl.gov/mpi) + +LAMMPS is written in C++. Earlier versions were written in F77 and +F90. See the "History page"_http://lammps.sandia.gov/history.html of +the website for details. All versions can be downloaded from the +"LAMMPS website"_lws. + +LAMMPS is designed to be easy to modify or extend with new +capabilities, such as new force fields, atom types, boundary +conditions, or diagnostics. See the "Modify"_Modify.html doc page for +more details. + +In the most general sense, LAMMPS integrates Newton's equations of +motion for a collection of interacting particles. A single particle +can be an atom or molecule or electron, a coarse-grained cluster of +atoms, or a mesoscopic or macroscopic clump of material. The +interaction models that LAMMPS includes are mostly short-range in +nature; some long-range models are included as well. + +LAMMPS uses neighbor lists to keep track of nearby particles. The +lists are optimized for systems with particles that are repulsive at +short distances, so that the local density of particles never becomes +too large. This is in contrast to methods used for modeling plasmas +or gravitational bodies (e.g. galaxy formation). + +On parallel machines, LAMMPS uses spatial-decomposition techniques to +partition the simulation domain into small sub-domains of equal +computational cost, one of which is assigned to each processor. +Processors communicate and store "ghost" atom information for atoms +that border their sub-domain. + + + diff --git a/doc/src/Intro_website.txt b/doc/src/Intro_website.txt new file mode 100644 index 0000000000..61c9babe1c --- /dev/null +++ b/doc/src/Intro_website.txt @@ -0,0 +1,42 @@ +"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +Additional website links :h3 + +The "LAMMPS website"_lws has a variety of additional info about +LAMMPS, beyond what is in this manual. Some of the other pages in +this Intr are included in this list. + +"Brief intro and recently added significant features"_lws +"List of features"_http://lammps.sandia.gov/features.html +"List of non-features"_http://lammps.sandia.gov/non_features.html +"Recent bug fixes and new features"_http://lammps.sandia.gov/bug.html :ul + +"Download info"_http://lammps.sandia.gov/download.html +"GitHub site"_https://github.com/lammps/lammps +"SourceForge site"_https://sourceforge.net/projects/lammps +"LAMMPS open-source license"_http://lammps.sandia.gov/open_source.html :ul + +"Glossary of MD terms relevant to LAMMPS"_http://lammps.sandia.gov/glossary.html +"LAMMPS highlights with images"_http://lammps.sandia.gov/pictures.html +"LAMMPS highlights with movies"_http://lammps.sandia.gov/movies.html +"Mail list"_http://lammps.sandia.gov/mail.html +"Workshops"_http://lammps.sandia.gov/workshops.html +"Tutorials"_http://lammps.sandia.gov/tutorials.html +"Developer guide"_http://lammps.sandia.gov/Developer.pdf :ul + +"Pre- and post-processing tools for LAMMPS"_http://lammps.sandia.gov/prepost.html +"Other software usable with LAMMPS"_http://lammps.sandia.gov/offsite.html +"Viz tools usable with LAMMPS"_http://lammps.sandia.gov/viz.html :ul + +"Benchmark performance"_http://lammps.sandia.gov/bench.html +"Publications that have cited LAMMPS"_http://lammps.sandia.gov/papers.html +"Authors of LAMMPS"_http://lammps.sandia.gov/authors.html +"History of LAMMPS development"_http://lammps.sandia.gov/history.html +"Funding for LAMMPS"_http://lammps.sandia.gov/funding.html :ul diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index 3fe5a25fbb..4e4332a05a 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -21,7 +21,7 @@

      LAMMPS Documentation :c,h1 -16 Mar 2018 version :c,h2 +16 Jul 2018 version :c,h2 "What is a LAMMPS version?"_Manual_version.html @@ -29,15 +29,18 @@ LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS is a classical molecular dynamics simulation code designed to -run efficiently on parallel computers. It was developed originally at -Sandia National Laboratories, a US Department of Energy facility, with -funding from the DOE. It is an open-source code, distributed freely -under the terms of the GNU Public License (GPL). - -The "LAMMPS website"_lws has information about the code authors, a -"mail list"_http://lammps.sandia.gov where users can post questions, -and a "GitHub site"https://github.com/lammps/lammps where all LAMMPS -development is coordinated. +run efficiently on parallel computers. It is primarily used for +materials modeling of various kinds. It was developed originally at +Sandia National Laboratories, a US Department of Energy facility. The +majority of funding for LAMMPS has come from the US Department of +Energy (DOE). LAMMPS is an open-source code, distributed freely under +the terms of the GNU Public License (GPL). + +The "LAMMPS website"_lws has a variety of information about the code. +It includes links to an on-line version of this manual, a "mail +list"_http://lammps.sandia.gov/mail.html where users can post +questions, and a "GitHub site"https://github.com/lammps/lammps where +all LAMMPS development is coordinated. :line -- GitLab From 39f61a78f26308dc844a8b25f98c600566a463bb Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Thu, 2 Aug 2018 14:09:00 -0600 Subject: [PATCH 394/675] couple more doc page tweaks --- doc/src/Intro_overview.txt | 5 ++--- doc/src/Manual.txt | 14 +++++++------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/doc/src/Intro_overview.txt b/doc/src/Intro_overview.txt index 97489b4867..51ad218216 100644 --- a/doc/src/Intro_overview.txt +++ b/doc/src/Intro_overview.txt @@ -14,9 +14,8 @@ ensembles of particles in a liquid, solid, or gaseous state. It can model atomic, polymeric, biological, solid-state (metals, ceramics, oxides), granular, coarse-grained, or macroscopic systems using a variety of interatomic potentials (force fields) and boundary -conditions. The majority of these models are for materials of various -kinds. It can model 2d or 3d systems with only a few particles up to -millions or billions. +conditions. It can model 2d or 3d systems with only a few particles +up to millions or billions. LAMMPS can be built and run on a laptop or destop machine, but is designed for parallel computers. It will run on any parallel machine diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index 4e4332a05a..b38eb39560 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -28,13 +28,13 @@ LAMMPS Documentation :c,h1 LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel Simulator. -LAMMPS is a classical molecular dynamics simulation code designed to -run efficiently on parallel computers. It is primarily used for -materials modeling of various kinds. It was developed originally at -Sandia National Laboratories, a US Department of Energy facility. The -majority of funding for LAMMPS has come from the US Department of -Energy (DOE). LAMMPS is an open-source code, distributed freely under -the terms of the GNU Public License (GPL). +LAMMPS is a classical molecular dynamics simulation code with a focus +on materials modeling. It was designed to run efficiently on parallel +computers. It was developed originally at Sandia National +Laboratories, a US Department of Energy facility. The majority of +funding for LAMMPS has come from the US Department of Energy (DOE). +LAMMPS is an open-source code, distributed freely under the terms of +the GNU Public License (GPL). The "LAMMPS website"_lws has a variety of information about the code. It includes links to an on-line version of this manual, a "mail -- GitLab From f3300135849de9ffaa657ffd7da795e2431706d9 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Thu, 2 Aug 2018 14:26:02 -0600 Subject: [PATCH 395/675] lost SPIN in package list --- doc/src/Packages_details.txt | 33 +++++++++++++++++++++++++++++++++ doc/src/Packages_standard.txt | 2 +- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 543578054c..e27c67633b 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -53,6 +53,7 @@ as contained in the file name. "RIGID"_#RIGID, "SHOCK"_#SHOCK, "SNAP"_#SNAP, +"SPIN"_#SPIN, "SRD"_#SRD, "VORONOI"_#VORONOI :tb(c=6,ea=c) @@ -1352,6 +1353,38 @@ examples/snap :ul :line +SPIN package :link(SPIN),h4 + +[Contents:] + +Model atomic magnetic spins classically, coupled to atoms moving in +the usual manner via MD. Various pair, fix, and compute styles. + +[Author:] Julian Tranchida (Sandia). + +[Install or un-install:] + +make yes-spin +make machine :pre + +make no-spin +make machine :pre + +[Supporting info:] + +src/SPIN: filenames -> commands +"Howto spin"_Howto_spin.html +"pair_style spin/dmi"_pair_spin_dmi.html +"pair_style spin/exchange"_pair_spin_exchange.html +"pair_style spin/magelec"_pair_spin_magelec.html +"pair_style spin/neel"_pair_spin_neel.html +"fix nve/spin"_fix_nve_spin.html +"fix precession/spin"_fix_precession_spin.html +"compute spin"_compute_spin.html +examples/SPIN :ul + +:line + SRD package :link(SRD),h4 [Contents:] diff --git a/doc/src/Packages_standard.txt b/doc/src/Packages_standard.txt index b2c06eebfd..cff2d38273 100644 --- a/doc/src/Packages_standard.txt +++ b/doc/src/Packages_standard.txt @@ -61,5 +61,5 @@ Package, Description, Doc page, Example, Library "RIGID"_Packages_details.html#RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, - "SHOCK"_Packages_details.html#SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, - "SNAP"_Packages_details.html#SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, - -"SRD"_Packages_details.html#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, - +"SPIN"_#SPIN, magnetic atomic spin dynamics, "Howto spin"_Howto_spin.html, SPIN, -"SRD"_Packages_details.html#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, - "VORONOI"_Packages_details.html#VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext :tb(ea=c,ca1=l) -- GitLab From b2d1332d461c066cbab1066f5961913d48fce8ca Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Thu, 2 Aug 2018 14:47:20 -0600 Subject: [PATCH 396/675] change proc count to color for MPI_Comm_split --- doc/src/Section_start.txt | 31 +++++++++++++++++-------------- examples/message/README | 9 ++++----- src/lammps.cpp | 26 +++++++++++--------------- 3 files changed, 32 insertions(+), 34 deletions(-) diff --git a/doc/src/Section_start.txt b/doc/src/Section_start.txt index f38339661b..80f6b0ffc4 100644 --- a/doc/src/Section_start.txt +++ b/doc/src/Section_start.txt @@ -1352,24 +1352,27 @@ specified file is "none", then no log files are created. Using a "log"_log.html command in the input script will override this setting. Option -plog will override the name of the partition log files file.N. --mpi P :pre +-mpi color :pre If used, this must be the first command-line argument after the LAMMPS -executable name. It is only used when running LAMMPS in client/server -mode with the "mpi/one" mode of messaging provided by the -"message"_message.html command and the CSlib library LAMMPS links with -from the lib/message directory. See the "message"_message.html -command for more details - -In the mpi/one mode of messaging, both executables (the client and the -server) are launched by one mpirun command. P should be specified as -the number of processors (MPI tasks) the first executable is running -on (could be the client or the server code). - -This information is required so that both codes can shrink the -MPI_COMM_WORLD communicator they are part of to the subset of +executable name. It is only used when LAMMPS is launched by an mpirun +command which also launches another executable(s) (the other +executable could be LAMMPS as well) at the same time. The color is an +integer value which should be different for each executable (another +application may set this value in a different way). LAMMPS and the +other executable(s) perform an MPI_Comm_split() with their own colors +to shrink the MPI_COMM_WORLD communication to be the subset of processors they are actually running on. +Currently, this is only used in LAMMPS to perform client/server +messaging with another application. LAMMPS can act as either a client +or server (or both). + +Specifically, this refers to the "mpi/one" mode of messaging provided +by the "message"_message.html command and the CSlib library LAMMPS +links with from the lib/message directory. See the +"message"_message.html command for more details. + -nocite :pre Disable writing the log.cite file which is normally written to list diff --git a/examples/message/README b/examples/message/README index 213dbbde51..63055177a4 100644 --- a/examples/message/README +++ b/examples/message/README @@ -91,12 +91,11 @@ Mpi/one mode of messaging: Launch LAMMPS twice in a single mpirun command: -mpirun -np 2 lmp_mpi -mpi 2 -in in.message.client -v mode mpione -log log.client : -np 4 lmp_mpi -mpi 2 -in in.message.server -v mode mpione -log log.server +mpirun -np 2 lmp_mpi -mpi 0 -in in.message.client -v mode mpione -log log.client : -np 4 lmp_mpi -mpi 1 -in in.message.server -v mode mpione -log log.server The two -np values determine how many procs the client and the server run on. -A LAMMPS executable run in this manner must use the -mpi P -command-line option as their first option, where P is the number of -processors the first code in the mpirun command (client or server) is -running on. +A LAMMPS executable run in this manner must use the -mpi color +command-line option as their first option, where color is set to +one integer value for the 1st app, and another value for the 2nd app. diff --git a/src/lammps.cpp b/src/lammps.cpp index 282250c642..dec4a57186 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -86,17 +86,17 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) // check if -mpi is first arg // if so, then 2 apps were launched with one mpirun command // this means passed communicator (e.g. MPI_COMM_WORLD) is bigger than LAMMPS - // e.g. for client/server coupling with another code - // communicator needs to shrink to be just LAMMPS - // syntax: -mpi P1 means P1 procs for one app, P-P1 procs for second app - // LAMMPS could be either app, based on proc IDs + // e.g. for client/server coupling with another code + // in the future LAMMPS might leverage this in other ways + // universe communicator needs to shrink to be just LAMMPS + // syntax: -mpi color + // color = integer for this app, different than other app(s) // do the following: // perform an MPI_Comm_split() to create a new LAMMPS-only subcomm - // NOTE: assuming other app is doing the same thing, else will hang! + // NOTE: this assumes other app(s) does same thing, else will hang! // re-create universe with subcomm - // store full two-app comm in cscomm + // store full multi-app comm in cscomm // cscomm is used by CSLIB package to exchange messages w/ other app - // eventually should extend to N > 2 apps launched with one mpirun command int iarg = 1; if (narg-iarg >= 2 && (strcmp(arg[iarg],"-mpi") == 0 || @@ -104,13 +104,9 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) int me,nprocs; MPI_Comm_rank(communicator,&me); MPI_Comm_size(communicator,&nprocs); - int p1 = atoi(arg[iarg+1]); - if (p1 <= 0 || p1 >= nprocs) - error->universe_all(FLERR,"Invalid command-line argument"); - int which = 0; - if (me >= p1) which = 1; + int color = atoi(arg[iarg+1]); MPI_Comm subcomm; - MPI_Comm_split(communicator,which,me,&subcomm); + MPI_Comm_split(communicator,color,me,&subcomm); cscomm = communicator; communicator = subcomm; delete universe; @@ -656,8 +652,8 @@ LAMMPS::~LAMMPS() delete [] suffix; delete [] suffix2; - // free the MPI comm created by -mpi command-line arg - // it was passed to universe as if origianl universe world + // free the MPI comm created by -mpi command-line arg processed in constructor + // it was passed to universe as if original universe world // may have been split later by partitions, universe will free the splits // free a copy of uorig here, so check in universe destructor will still work -- GitLab From 9cc75792d690014555b52f8a0876bbcfb04d81ab Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 2 Aug 2018 23:29:29 -0400 Subject: [PATCH 397/675] Update lammps.book --- doc/src/lammps.book | 53 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 44 insertions(+), 9 deletions(-) diff --git a/doc/src/lammps.book b/doc/src/lammps.book index f9798da227..a25d6e0629 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -1,7 +1,13 @@ #HTMLDOC 1.8.28 -t pdf14 -f "../Manual.pdf" --book --toclevels 4 --no-numbered --toctitle "Table of Contents" --title --textcolor #000000 --linkcolor #0000ff --linkstyle plain --bodycolor #ffffff --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --header1 ... --footer ..1 --nup 1 --tocheader .t. --tocfooter ..i --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=0 --fontsize 11.0 --fontspacing 1.2 --headingfont Sans --bodyfont Serif --headfootsize 11.0 --headfootfont Sans-Bold --charset iso-8859-15 --links --embedfonts --pagemode document --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 --no-strict --no-overflow Manual.html -Section_intro.html +Intro.html +Intro_overview.html +Intro_features.html +Intro_nonfeatures.html +Intro_opensource.html +Intro_authors.html +Intro_website.html Section_start.html Section_commands.html Packages.html @@ -19,7 +25,43 @@ Speed_kokkos.html Speed_omp.html Speed_opt.html Speed_compare.html -Section_howto.html +Howto.html +Howto_github.html +Howto_pylammps.html +Howto_bash.html +Howto_restart.html +Howto_viz.html +Howto_multiple.html +Howto_replica.html +Howto_library.html +Howto_couple.html +Howto_output.html +Howto_chunk.html +Howto_2d.html +Howto_triclinic.html +Howto_walls.html +Howto_nemd.html +Howto_granular.html +Howto_spherical.html +Howto_dispersion.html +Howto_temperature.html +Howto_thermostat.html +Howto_barostat.html +Howto_elastic.html +Howto_kappa.html +Howto_viscosity.html +Howto_diffusion.html +Howto_bioFF.html +Howto_tip3p.html +Howto_tip4p.html +Howto_spc.html +Howto_body.html +Howto_polarizable.html +Howto_coreshell.html +Howto_drude.html +Howto_drude2.html +Howto_manifold.html +Howto_spins.html Examples.html Tools.html Modify.html @@ -54,13 +96,6 @@ Errors_common.html Errors_bugs.html Errors_messages.html Errors_warnings.html -Section_history.html - -lammps_tutorials.html -tutorial_bash_on_windows.html -tutorial_drude.html -tutorial_github.html -tutorial_pylammps.html lammps_support.html body.html -- GitLab From 5789ef91283b353753573cdee492ca758ec1837b Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 3 Aug 2018 10:08:02 -0600 Subject: [PATCH 398/675] bug-fix for slope() function in variable --- examples/DIFFUSE/README | 4 +- examples/DIFFUSE/log.13Oct16.msd.2d.g++.8 | 245 ----------------- examples/DIFFUSE/log.3Aug18.msd.2d.g++.8 | 251 ++++++++++++++++++ ...vacf.2d.g++.8 => log.3Aug18.vacf.2d.g++.8} | 54 ++-- src/variable.cpp | 189 ++++++++----- 5 files changed, 401 insertions(+), 342 deletions(-) delete mode 100644 examples/DIFFUSE/log.13Oct16.msd.2d.g++.8 create mode 100644 examples/DIFFUSE/log.3Aug18.msd.2d.g++.8 rename examples/DIFFUSE/{log.13Oct16.vacf.2d.g++.8 => log.3Aug18.vacf.2d.g++.8} (84%) diff --git a/examples/DIFFUSE/README b/examples/DIFFUSE/README index df2a675f73..e78ca2eacf 100644 --- a/examples/DIFFUSE/README +++ b/examples/DIFFUSE/README @@ -47,7 +47,7 @@ compute the diffusion coefficient. You can see that both measures give roughly the same answer and rapidly become roughly constant for the 100K step simulation. -Dcoeff = 0.36 +Dcoeff = 0.33 (2) in.vacf.2d @@ -58,4 +58,4 @@ that point in time, converted into the diffusion coefficient. You can see the VACF approach gives a more noise, fluctuating value for the diffusion coefficient, compared to the MSD approach. -Dcoeff = 0.25 to 0.45 +Dcoeff = ~0.25 diff --git a/examples/DIFFUSE/log.13Oct16.msd.2d.g++.8 b/examples/DIFFUSE/log.13Oct16.msd.2d.g++.8 deleted file mode 100644 index 473aa56527..0000000000 --- a/examples/DIFFUSE/log.13Oct16.msd.2d.g++.8 +++ /dev/null @@ -1,245 +0,0 @@ -LAMMPS (13 Oct 2016) -# sample LAMMPS input script for diffusion of 2d LJ liquid -# mean-squared displacement via compute msd - -# settings - -variable x equal 40 -variable y equal 40 - -variable rho equal 0.6 -variable t equal 1.0 -variable rc equal 2.5 - -# problem setup - -units lj -dimension 2 -atom_style atomic -neigh_modify delay 0 every 1 - -lattice sq2 ${rho} -lattice sq2 0.6 -Lattice spacing in x,y,z = 1.82574 1.82574 1.82574 -region simbox block 0 $x 0 $y -0.1 0.1 -region simbox block 0 40 0 $y -0.1 0.1 -region simbox block 0 40 0 40 -0.1 0.1 -create_box 1 simbox -Created orthogonal box = (0 0 -0.182574) to (73.0297 73.0297 0.182574) - 4 by 2 by 1 MPI processor grid -create_atoms 1 box -Created 3200 atoms - -pair_style lj/cut ${rc} -pair_style lj/cut 2.5 -pair_coeff * * 1 1 - -mass * 1.0 -velocity all create $t 97287 -velocity all create 1 97287 - -fix 1 all nve -fix 2 all langevin $t $t 0.1 498094 -fix 2 all langevin 1 $t 0.1 498094 -fix 2 all langevin 1 1 0.1 498094 -fix 3 all enforce2d - -# equilibration run - -thermo 1000 -run 5000 -Neighbor list info ... - 1 neighbor list requests - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4 -> bins = 53 53 1 -Memory usage per processor = 2.478 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -1.56492 0 -0.5652325 -1.5346995 - 1000 0.97537833 -1.5723957 0 -0.5973222 0.92877783 - 2000 0.99008371 -1.5748206 0 -0.58504633 1.0809416 - 3000 1.0111412 -1.5848987 0 -0.57407352 1.0174297 - 4000 1.0055417 -1.5857581 0 -0.58053054 0.95647691 - 5000 0.97069905 -1.5851114 0 -0.61471567 0.90108287 -Loop time of 0.554412 on 8 procs for 5000 steps with 3200 atoms - -Performance: 3896017.421 tau/day, 9018.559 timesteps/s -98.9% CPU use with 8 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.23992 | 0.24608 | 0.25161 | 0.7 | 44.39 -Neigh | 0.063106 | 0.064417 | 0.066279 | 0.4 | 11.62 -Comm | 0.072465 | 0.085066 | 0.094837 | 2.3 | 15.34 -Output | 0.00013208 | 0.00013691 | 0.00014591 | 0.0 | 0.02 -Modify | 0.11441 | 0.11621 | 0.11769 | 0.3 | 20.96 -Other | | 0.04251 | | | 7.67 - -Nlocal: 400 ave 406 max 394 min -Histogram: 1 1 0 1 0 2 1 0 1 1 -Nghost: 202.5 ave 212 max 191 min -Histogram: 1 0 0 0 3 1 0 2 0 1 -Neighs: 2800.88 ave 2903 max 2690 min -Histogram: 1 1 0 0 1 2 1 0 1 1 - -Total # of neighbors = 22407 -Ave neighs/atom = 7.00219 -Neighbor list builds = 599 -Dangerous builds = 0 - -unfix 2 - -# data gathering run - -reset_timestep 0 - -# factor of 4 in 2 variables is for 2d - -compute msd all msd com yes -variable twopoint equal c_msd[4]/4/(step*dt+1.0e-6) -fix 9 all vector 10 c_msd[4] -variable fitslope equal slope(f_9)/4/(10*dt) - -thermo_style custom step temp c_msd[4] v_twopoint v_fitslope - -# only need to run for 10K steps to make a good 100-frame movie - -#dump 1 all custom 1 tmp.dump id type vx vy vz - -#dump 2 all image 100 image.*.jpg type type zoom 1.6 adiam 1.2 - -thermo 1000 -run 100000 -Memory usage per processor = 2.853 Mbytes -Step Temp c_msd[4] v_twopoint v_fitslope - 0 0.97069905 0 0 5e+20 - 1000 0.98138076 4.0484996 0.20242494 0.18046446 - 2000 0.97606079 9.2121392 0.23030346 0.2091528 - 3000 0.97924866 14.815034 0.24691721 0.22619184 - 4000 0.98568451 20.516817 0.25646019 0.23715506 - 5000 0.97551815 27.33922 0.27339219 0.24709999 - 6000 0.98482252 34.37734 0.28647782 0.25735178 - 7000 0.9672559 41.696689 0.29783348 0.26654059 - 8000 0.9836541 48.340277 0.30212673 0.27440308 - 9000 0.99087147 56.042692 0.31134828 0.28113047 - 10000 0.99663166 63.69663 0.31848314 0.28767921 - 11000 0.97776688 71.144109 0.32338231 0.29344527 - 12000 0.98246011 78.301774 0.32625739 0.29849471 - 13000 0.98788732 85.061923 0.32716124 0.3026655 - 14000 0.96872483 91.1658 0.32559214 0.30601023 - 15000 0.98955796 97.278388 0.32426129 0.3084275 - 16000 0.99855196 104.23997 0.3257499 0.31049883 - 17000 0.98600861 110.66055 0.3254722 0.31220348 - 18000 0.98696963 116.90111 0.32472531 0.31352676 - 19000 0.9881192 124.21305 0.32687644 0.31480062 - 20000 0.98527319 131.09874 0.32774685 0.31596198 - 21000 0.99015191 137.89263 0.32831579 0.31705324 - 22000 0.97972418 146.68982 0.33338595 0.31833889 - 23000 0.98911012 155.1264 0.33723129 0.31979515 - 24000 0.98810498 162.88634 0.33934653 0.32131187 - 25000 0.96961962 170.37907 0.34075814 0.32276215 - 26000 0.99118408 179.26511 0.34474059 0.32427111 - 27000 0.98515159 185.90764 0.3442734 0.32574529 - 28000 0.98951677 192.12183 0.34307469 0.32700292 - 29000 0.9832026 196.99457 0.33964581 0.32799023 - 30000 0.98449493 203.48475 0.33914124 0.3287171 - 31000 0.96585993 210.06193 0.33880956 0.32935775 - 32000 0.98758117 218.94174 0.34209646 0.33001591 - 33000 0.98875584 225.96489 0.34237104 0.33072947 - 34000 0.98007229 233.5792 0.34349882 0.3314385 - 35000 0.98415295 241.98148 0.34568783 0.33216634 - 36000 0.98101154 250.30876 0.34765106 0.33295272 - 37000 0.97606878 258.2127 0.34893608 0.33377673 - 38000 0.97220293 266.40464 0.35053242 0.33459273 - 39000 0.979783 272.8578 0.34981769 0.33539728 - 40000 0.98375673 279.87598 0.34984497 0.33609699 - 41000 0.97506523 288.07676 0.35131312 0.33677708 - 42000 0.97106749 296.11647 0.3525196 0.33751312 - 43000 0.97717259 304.46747 0.35403194 0.33823441 - 44000 0.98541435 312.57228 0.35519578 0.3389771 - 45000 0.97678287 321.82674 0.35758527 0.33973306 - 46000 0.98169719 329.78197 0.35845866 0.34051748 - 47000 0.99471466 337.11283 0.35863066 0.34127239 - 48000 0.98332437 346.0754 0.3604952 0.34202442 - 49000 0.98126947 356.11859 0.36338631 0.34282132 - 50000 0.98809751 365.65248 0.36565248 0.34368171 - 51000 0.95919516 373.91833 0.36658659 0.34454516 - 52000 0.98097913 381.26492 0.36660089 0.34538506 - 53000 0.97774072 388.81031 0.36680218 0.34618232 - 54000 0.99096915 395.56767 0.36626636 0.3469296 - 55000 0.97652739 401.72735 0.36520668 0.34760374 - 56000 0.99185306 407.28834 0.3636503 0.34819906 - 57000 0.96289342 414.75298 0.3638184 0.34871992 - 58000 0.97871716 424.69443 0.36611588 0.34927986 - 59000 0.98637393 433.14205 0.36706953 0.34986296 - 60000 0.98009845 438.14533 0.36512111 0.35040349 - 61000 0.99416712 446.08007 0.3656394 0.35088379 - 62000 0.97612483 450.90846 0.36363585 0.35132647 - 63000 0.97786531 455.36749 0.36140277 0.35167458 - 64000 0.99080668 458.04873 0.35785057 0.3519105 - 65000 0.97952497 461.31241 0.3548557 0.3520506 - 66000 0.98095955 463.91727 0.35145248 0.35207764 - 67000 0.98370788 468.93 0.34994776 0.35204043 - 68000 0.96931818 471.07765 0.34638063 0.35192685 - 69000 0.98512552 474.59146 0.34390685 0.35174053 - 70000 0.98065743 478.66071 0.3419005 0.35149002 - 71000 0.98971283 482.57357 0.33984054 0.35119434 - 72000 0.99890324 485.32018 0.3370279 0.35084345 - 73000 0.98649924 490.19497 0.33574998 0.35043722 - 74000 0.98723422 496.04991 0.33516886 0.35003351 - 75000 1.0025633 501.6313 0.33442087 0.34962094 - 76000 0.97859959 505.97813 0.33288035 0.34921013 - 77000 0.97973006 510.55334 0.33152814 0.3487692 - 78000 0.9903944 515.06966 0.33017286 0.34830833 - 79000 0.96847518 518.76483 0.32833217 0.3478214 - 80000 0.99171112 524.18127 0.32761329 0.34733349 - 81000 0.97202573 529.09959 0.32660468 0.3468315 - 82000 0.99368438 535.80271 0.32670897 0.34633058 - 83000 0.97932483 543.08233 0.32715803 0.34586259 - 84000 0.99078651 547.57861 0.32593965 0.34540839 - 85000 0.98973457 552.24581 0.32485048 0.34493584 - 86000 0.9835873 557.3493 0.32404029 0.34446152 - 87000 0.97180564 564.93434 0.32467491 0.34400358 - 88000 0.99743353 571.39837 0.32465817 0.3435667 - 89000 0.98993437 577.81703 0.32461631 0.3431411 - 90000 0.9926071 583.39378 0.32410765 0.342724 - 91000 0.98800458 591.08741 0.3247733 0.34232767 - 92000 0.98501879 596.10133 0.32396811 0.34193949 - 93000 0.98810082 604.02652 0.32474544 0.3415681 - 94000 0.97563748 609.43676 0.32416849 0.341209 - 95000 0.97283448 615.15754 0.32376713 0.34084828 - 96000 0.9883071 622.30912 0.32411933 0.34049871 - 97000 0.97717678 628.84457 0.32414669 0.34016355 - 98000 0.97190208 634.37377 0.32366009 0.3398341 - 99000 0.98687379 640.66666 0.32356902 0.33950845 - 100000 0.97559757 646.96406 0.32348203 0.33919036 -Loop time of 9.58779 on 8 procs for 100000 steps with 3200 atoms - -Performance: 4505729.040 tau/day, 10429.928 timesteps/s -99.4% CPU use with 8 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 4.8572 | 4.9363 | 4.9822 | 1.7 | 51.49 -Neigh | 1.3583 | 1.376 | 1.3991 | 1.2 | 14.35 -Comm | 1.5192 | 1.7079 | 1.8264 | 7.2 | 17.81 -Output | 0.0085125 | 0.0086059 | 0.0089455 | 0.1 | 0.09 -Modify | 0.77663 | 0.7903 | 0.81378 | 1.3 | 8.24 -Other | | 0.7686 | | | 8.02 - -Nlocal: 400 ave 413 max 391 min -Histogram: 2 1 0 2 0 0 1 1 0 1 -Nghost: 204.75 ave 213 max 197 min -Histogram: 1 1 0 1 0 3 0 1 0 1 -Neighs: 2800.62 ave 2959 max 2661 min -Histogram: 1 1 1 2 0 0 0 1 1 1 - -Total # of neighbors = 22405 -Ave neighs/atom = 7.00156 -Neighbor list builds = 12728 -Dangerous builds = 0 -Total wall time: 0:00:10 diff --git a/examples/DIFFUSE/log.3Aug18.msd.2d.g++.8 b/examples/DIFFUSE/log.3Aug18.msd.2d.g++.8 new file mode 100644 index 0000000000..113da9040d --- /dev/null +++ b/examples/DIFFUSE/log.3Aug18.msd.2d.g++.8 @@ -0,0 +1,251 @@ +LAMMPS (2 Aug 2018) +# sample LAMMPS input script for diffusion of 2d LJ liquid +# mean-squared displacement via compute msd + +# settings + +variable x equal 40 +variable y equal 40 + +variable rho equal 0.6 +variable t equal 1.0 +variable rc equal 2.5 + +# problem setup + +units lj +dimension 2 +atom_style atomic +neigh_modify delay 0 every 1 + +lattice sq2 ${rho} +lattice sq2 0.6 +Lattice spacing in x,y,z = 1.82574 1.82574 1.82574 +region simbox block 0 $x 0 $y -0.1 0.1 +region simbox block 0 40 0 $y -0.1 0.1 +region simbox block 0 40 0 40 -0.1 0.1 +create_box 1 simbox +Created orthogonal box = (0 0 -0.182574) to (73.0297 73.0297 0.182574) + 4 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 3200 atoms + Time spent = 0.000706911 secs + +pair_style lj/cut ${rc} +pair_style lj/cut 2.5 +pair_coeff * * 1 1 + +mass * 1.0 +velocity all create $t 97287 +velocity all create 1 97287 + +fix 1 all nve +fix 2 all langevin $t $t 0.1 498094 +fix 2 all langevin 1 $t 0.1 498094 +fix 2 all langevin 1 1 0.1 498094 +fix 3 all enforce2d + +# equilibration run + +thermo 1000 +run 5000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 53 53 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.052 | 3.052 | 3.052 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1 -1.56492 0 -0.5652325 -1.5346995 + 1000 0.97537833 -1.5723957 0 -0.5973222 0.92877783 + 2000 0.99008371 -1.5748206 0 -0.58504633 1.0809416 + 3000 1.0111412 -1.5848987 0 -0.57407352 1.0174297 + 4000 1.0055417 -1.5857581 0 -0.58053054 0.95647691 + 5000 0.97069905 -1.5851114 0 -0.61471567 0.90108287 +Loop time of 0.667446 on 8 procs for 5000 steps with 3200 atoms + +Performance: 3236214.756 tau/day, 7491.238 timesteps/s +99.9% CPU use with 8 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.22913 | 0.24877 | 0.28382 | 3.6 | 37.27 +Neigh | 0.064419 | 0.071256 | 0.080013 | 1.7 | 10.68 +Comm | 0.103 | 0.14054 | 0.17204 | 5.5 | 21.06 +Output | 0.00010705 | 0.00013995 | 0.00021911 | 0.0 | 0.02 +Modify | 0.13457 | 0.14973 | 0.16887 | 2.6 | 22.43 +Other | | 0.05701 | | | 8.54 + +Nlocal: 400 ave 406 max 394 min +Histogram: 1 1 0 1 0 2 1 0 1 1 +Nghost: 202.5 ave 212 max 191 min +Histogram: 1 0 0 0 3 1 0 2 0 1 +Neighs: 2800.88 ave 2903 max 2690 min +Histogram: 1 1 0 0 1 2 1 0 1 1 + +Total # of neighbors = 22407 +Ave neighs/atom = 7.00219 +Neighbor list builds = 599 +Dangerous builds = 0 + +unfix 2 + +# data gathering run + +reset_timestep 0 + +# factor of 4 in 2 variables is for 2d + +compute msd all msd com yes +variable twopoint equal c_msd[4]/4/(step*dt+1.0e-6) +fix 9 all vector 10 c_msd[4] +variable fitslope equal slope(f_9)/4/(10*dt) + +thermo_style custom step temp c_msd[4] v_twopoint v_fitslope + +# only need to run for 10K steps to make a good 100-frame movie + +#dump 1 all custom 1 tmp.dump id type vx vy vz + +#dump 2 all image 100 image.*.jpg type type zoom 1.6 adiam 1.2 + +thermo 1000 +run 100000 +Per MPI rank memory allocation (min/avg/max) = 3.427 | 3.427 | 3.427 Mbytes +Step Temp c_msd[4] v_twopoint v_fitslope + 0 0.97069905 0 0 5e+20 + 1000 0.98138076 4.0484996 0.20242494 0.20685564 + 2000 0.97606079 9.2121392 0.23030346 0.23687918 + 3000 0.97924866 14.815034 0.24691721 0.25405247 + 4000 0.98568451 20.516817 0.25646019 0.26353644 + 5000 0.97551815 27.33922 0.27339219 0.27544492 + 6000 0.98482252 34.37734 0.28647782 0.28966619 + 7000 0.9672559 41.696689 0.29783348 0.30165524 + 8000 0.9836541 48.340277 0.30212673 0.31085371 + 9000 0.99087147 56.042692 0.31134828 0.31811489 + 10000 0.99663166 63.69663 0.31848314 0.32589374 + 11000 0.97776688 71.144109 0.32338231 0.33219745 + 12000 0.98246011 78.301774 0.32625739 0.33723 + 13000 0.98788732 85.061923 0.32716124 0.34053027 + 14000 0.96872483 91.1658 0.32559214 0.34231162 + 15000 0.98955796 97.278388 0.32426129 0.34229511 + 16000 0.99855196 104.23997 0.3257499 0.34217252 + 17000 0.98600861 110.66055 0.3254722 0.34172446 + 18000 0.98696963 116.90111 0.32472531 0.3408227 + 19000 0.9881192 124.21305 0.32687644 0.34036538 + 20000 0.98527319 131.09874 0.32774685 0.34003478 + 21000 0.99015191 137.89263 0.32831579 0.33987868 + 22000 0.97972418 146.68982 0.33338595 0.34060035 + 23000 0.98911012 155.1264 0.33723129 0.34201036 + 24000 0.98810498 162.88634 0.33934653 0.34371488 + 25000 0.96961962 170.37907 0.34075814 0.34531409 + 26000 0.99118408 179.26511 0.34474059 0.34717195 + 27000 0.98515159 185.90764 0.3442734 0.34898035 + 28000 0.98951677 192.12183 0.34307469 0.35021808 + 29000 0.9832026 196.99457 0.33964581 0.35075459 + 30000 0.98449493 203.48475 0.33914124 0.35066186 + 31000 0.96585993 210.06193 0.33880956 0.35046715 + 32000 0.98758117 218.94174 0.34209646 0.35046623 + 33000 0.98875584 225.96489 0.34237104 0.35073944 + 34000 0.98007229 233.5792 0.34349882 0.35109188 + 35000 0.98415295 241.98148 0.34568783 0.35157879 + 36000 0.98101154 250.30876 0.34765106 0.3523013 + 37000 0.97606878 258.2127 0.34893608 0.35318097 + 38000 0.97220293 266.40464 0.35053242 0.3540743 + 39000 0.979783 272.8578 0.34981769 0.35496561 + 40000 0.98375673 279.87598 0.34984497 0.35558182 + 41000 0.97506523 288.07676 0.35131312 0.35618259 + 42000 0.97106749 296.11647 0.3525196 0.35698571 + 43000 0.97717259 304.46747 0.35403194 0.3577736 + 44000 0.98541435 312.57228 0.35519578 0.35865003 + 45000 0.97678287 321.82674 0.35758527 0.35958623 + 46000 0.98169719 329.78197 0.35845866 0.36062236 + 47000 0.99471466 337.11283 0.35863066 0.36158322 + 48000 0.98332437 346.0754 0.3604952 0.36255042 + 49000 0.98126947 356.11859 0.36338631 0.3636628 + 50000 0.98809751 365.65248 0.36565248 0.36496809 + 51000 0.95919516 373.91833 0.36658659 0.36628073 + 52000 0.98097913 381.26492 0.36660089 0.36752237 + 53000 0.97774072 388.81031 0.36680218 0.36863962 + 54000 0.99096915 395.56767 0.36626636 0.36961521 + 55000 0.97652739 401.72735 0.36520668 0.37038579 + 56000 0.99185306 407.28834 0.3636503 0.37094092 + 57000 0.96289342 414.75298 0.3638184 0.37130039 + 58000 0.97871716 424.69443 0.36611588 0.37180428 + 59000 0.98637393 433.14205 0.36706953 0.37239862 + 60000 0.98009845 438.14533 0.36512111 0.37288487 + 61000 0.99416712 446.08007 0.3656394 0.37321496 + 62000 0.97612483 450.90846 0.36363585 0.37345792 + 63000 0.97786531 455.36749 0.36140277 0.37344803 + 64000 0.99080668 458.04873 0.35785057 0.37313914 + 65000 0.97952497 461.31241 0.3548557 0.3725875 + 66000 0.98095955 463.91727 0.35145248 0.37174735 + 67000 0.98370788 468.93 0.34994776 0.37076942 + 68000 0.96931818 471.07765 0.34638063 0.36961868 + 69000 0.98512552 474.59146 0.34390685 0.36830908 + 70000 0.98065743 478.66071 0.3419005 0.36686789 + 71000 0.98971283 482.57357 0.33984054 0.36535224 + 72000 0.99890324 485.32018 0.3370279 0.36373174 + 73000 0.98649924 490.19497 0.33574998 0.36200692 + 74000 0.98723422 496.04991 0.33516886 0.36034919 + 75000 1.0025633 501.6313 0.33442087 0.35872052 + 76000 0.97859959 505.97813 0.33288035 0.35714939 + 77000 0.97973006 510.55334 0.33152814 0.35553808 + 78000 0.9903944 515.06966 0.33017286 0.35391584 + 79000 0.96847518 518.76483 0.32833217 0.35226287 + 80000 0.99171112 524.18127 0.32761329 0.35065267 + 81000 0.97202573 529.09959 0.32660468 0.34904364 + 82000 0.99368438 535.80271 0.32670897 0.34747913 + 83000 0.97932483 543.08233 0.32715803 0.34605097 + 84000 0.99078651 547.57861 0.32593965 0.34469765 + 85000 0.98973457 552.24581 0.32485048 0.34332115 + 86000 0.9835873 557.3493 0.32404029 0.34197018 + 87000 0.97180564 564.93434 0.32467491 0.34069702 + 88000 0.99743353 571.39837 0.32465817 0.33951258 + 89000 0.98993437 577.81703 0.32461631 0.33838511 + 90000 0.9926071 583.39378 0.32410765 0.33730429 + 91000 0.98800458 591.08741 0.3247733 0.33630505 + 92000 0.98501879 596.10133 0.32396811 0.33534725 + 93000 0.98810082 604.02652 0.32474544 0.33445545 + 94000 0.97563748 609.43676 0.32416849 0.33361404 + 95000 0.97283448 615.15754 0.32376713 0.33278044 + 96000 0.9883071 622.30912 0.32411933 0.33199212 + 97000 0.97717678 628.84457 0.32414669 0.33125729 + 98000 0.97190208 634.37377 0.32366009 0.33054877 + 99000 0.98687379 640.66666 0.32356902 0.32986014 + 100000 0.97559757 646.96406 0.32348203 0.32920186 +Loop time of 7.61838 on 8 procs for 100000 steps with 3200 atoms + +Performance: 5670494.518 tau/day, 13126.145 timesteps/s +100.0% CPU use with 8 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.5458 | 3.6709 | 3.8234 | 4.3 | 48.19 +Neigh | 1.1363 | 1.1513 | 1.1753 | 1.0 | 15.11 +Comm | 1.5901 | 1.7017 | 1.8664 | 6.9 | 22.34 +Output | 0.0041966 | 0.0043583 | 0.0050626 | 0.4 | 0.06 +Modify | 0.63816 | 0.65537 | 0.68918 | 2.0 | 8.60 +Other | | 0.4348 | | | 5.71 + +Nlocal: 400 ave 413 max 391 min +Histogram: 2 1 0 2 0 0 1 1 0 1 +Nghost: 204.75 ave 213 max 197 min +Histogram: 1 1 0 1 0 3 0 1 0 1 +Neighs: 2800.62 ave 2959 max 2661 min +Histogram: 1 1 1 2 0 0 0 1 1 1 + +Total # of neighbors = 22405 +Ave neighs/atom = 7.00156 +Neighbor list builds = 12728 +Dangerous builds = 0 +Total wall time: 0:00:08 diff --git a/examples/DIFFUSE/log.13Oct16.vacf.2d.g++.8 b/examples/DIFFUSE/log.3Aug18.vacf.2d.g++.8 similarity index 84% rename from examples/DIFFUSE/log.13Oct16.vacf.2d.g++.8 rename to examples/DIFFUSE/log.3Aug18.vacf.2d.g++.8 index 458315bc29..80c57ada9c 100644 --- a/examples/DIFFUSE/log.13Oct16.vacf.2d.g++.8 +++ b/examples/DIFFUSE/log.3Aug18.vacf.2d.g++.8 @@ -1,4 +1,4 @@ -LAMMPS (13 Oct 2016) +LAMMPS (2 Aug 2018) # sample LAMMPS input script for diffusion of 2d LJ liquid # mean-squared displacement via compute msd @@ -29,6 +29,7 @@ Created orthogonal box = (0 0 -0.182574) to (73.0297 73.0297 0.182574) 4 by 2 by 1 MPI processor grid create_atoms 1 box Created 3200 atoms + Time spent = 0.000712872 secs pair_style lj/cut ${rc} pair_style lj/cut 2.5 @@ -49,13 +50,18 @@ fix 3 all enforce2d thermo 1000 run 5000 Neighbor list info ... - 1 neighbor list requests update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 2.8 ghost atom cutoff = 2.8 - binsize = 1.4 -> bins = 53 53 1 -Memory usage per processor = 2.478 Mbytes + binsize = 1.4, bins = 53 53 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.052 | 3.052 | 3.052 Mbytes Step Temp E_pair E_mol TotEng Press 0 1 -1.56492 0 -0.5652325 -1.5346995 1000 0.97537833 -1.5723957 0 -0.5973222 0.92877783 @@ -63,20 +69,20 @@ Step Temp E_pair E_mol TotEng Press 3000 1.0111412 -1.5848987 0 -0.57407352 1.0174297 4000 1.0055417 -1.5857581 0 -0.58053054 0.95647691 5000 0.97069905 -1.5851114 0 -0.61471567 0.90108287 -Loop time of 0.557588 on 8 procs for 5000 steps with 3200 atoms +Loop time of 0.648098 on 8 procs for 5000 steps with 3200 atoms -Performance: 3873826.669 tau/day, 8967.191 timesteps/s -99.1% CPU use with 8 MPI tasks x no OpenMP threads +Performance: 3332829.949 tau/day, 7714.884 timesteps/s +99.9% CPU use with 8 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.23784 | 0.24683 | 0.25594 | 1.0 | 44.27 -Neigh | 0.062975 | 0.06439 | 0.0662 | 0.4 | 11.55 -Comm | 0.083826 | 0.092564 | 0.1035 | 2.1 | 16.60 -Output | 0.00011778 | 0.00012615 | 0.00014257 | 0.1 | 0.02 -Modify | 0.11466 | 0.11648 | 0.1187 | 0.4 | 20.89 -Other | | 0.0372 | | | 6.67 +Pair | 0.22614 | 0.24602 | 0.27481 | 2.8 | 37.96 +Neigh | 0.066875 | 0.07135 | 0.077825 | 1.2 | 11.01 +Comm | 0.098293 | 0.12744 | 0.1569 | 5.6 | 19.66 +Output | 0.0001049 | 0.00012228 | 0.00014496 | 0.0 | 0.02 +Modify | 0.13725 | 0.14919 | 0.16903 | 2.4 | 23.02 +Other | | 0.05398 | | | 8.33 Nlocal: 400 ave 406 max 394 min Histogram: 1 1 0 1 0 2 1 0 1 1 @@ -114,7 +120,7 @@ thermo_style custom step temp c_vacf[4] v_vacf thermo 1000 run 100000 -Memory usage per processor = 2.853 Mbytes +Per MPI rank memory allocation (min/avg/max) = 3.427 | 3.427 | 3.427 Mbytes Step Temp c_vacf[4] v_vacf 0 0.97069905 1.9407914 0 1000 0.98138076 0.029239763 0.22157396 @@ -217,20 +223,20 @@ Step Temp c_vacf[4] v_vacf 98000 0.97190208 0.015065013 0.20906937 99000 0.98687379 -0.036869401 0.22993959 100000 0.97559757 0.045464091 0.23369283 -Loop time of 10.8346 on 8 procs for 100000 steps with 3200 atoms +Loop time of 8.16691 on 8 procs for 100000 steps with 3200 atoms -Performance: 3987213.825 tau/day, 9229.662 timesteps/s -99.5% CPU use with 8 MPI tasks x no OpenMP threads +Performance: 5289636.190 tau/day, 12244.528 timesteps/s +100.0% CPU use with 8 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.8486 | 4.9469 | 5.0248 | 2.8 | 45.66 -Neigh | 1.3613 | 1.374 | 1.3916 | 0.8 | 12.68 -Comm | 1.8181 | 1.9534 | 2.0665 | 5.7 | 18.03 -Output | 0.016565 | 0.016701 | 0.017039 | 0.1 | 0.15 -Modify | 1.8395 | 1.9053 | 1.9704 | 2.8 | 17.59 -Other | | 0.6383 | | | 5.89 +Pair | 3.5668 | 3.6612 | 3.7867 | 4.0 | 44.83 +Neigh | 1.1409 | 1.1555 | 1.1804 | 1.4 | 14.15 +Comm | 1.581 | 1.711 | 1.8239 | 7.1 | 20.95 +Output | 0.016626 | 0.016831 | 0.017569 | 0.2 | 0.21 +Modify | 1.225 | 1.2594 | 1.3008 | 2.0 | 15.42 +Other | | 0.363 | | | 4.45 Nlocal: 400 ave 413 max 391 min Histogram: 2 1 0 2 0 0 1 1 0 1 @@ -243,4 +249,4 @@ Total # of neighbors = 22405 Ave neighs/atom = 7.00156 Neighbor list builds = 12728 Dangerous builds = 0 -Total wall time: 0:00:11 +Total wall time: 0:00:08 diff --git a/src/variable.cpp b/src/variable.cpp index 86296b4b40..f005221400 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -1576,7 +1576,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) newtree->nextra = 0; treestack[ntreestack++] = newtree; - } else print_var_error(FLERR,"Mismatched compute in variable formula",ivar); + } else print_var_error(FLERR, + "Mismatched compute in variable formula",ivar); // ---------------- // fix @@ -1584,7 +1585,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) } else if (strncmp(word,"f_",2) == 0 || strncmp(word,"F_",2) == 0) { if (domain->box_exist == 0) - print_var_error(FLERR,"Variable evaluation before simulation box is defined",ivar); + print_var_error(FLERR,"Variable evaluation before " + "simulation box is defined",ivar); // uppercase used to force access of // global vector vs global scalar, and global array vs global vector @@ -1667,11 +1669,14 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (index1 > fix->size_array_rows && fix->size_array_rows_variable == 0) - print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar); + print_var_error(FLERR,"Variable formula fix array is " + "accessed out-of-range",ivar); if (index2 > fix->size_array_cols) - print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar); + print_var_error(FLERR,"Variable formula fix array is " + "accessed out-of-range",ivar); if (update->whichflag > 0 && update->ntimestep % fix->global_freq) - print_var_error(FLERR,"Fix in variable not computed at a compatible time",ivar); + print_var_error(FLERR,"Fix in variable not computed at a " + "compatible time",ivar); value1 = fix->compute_array(index1-1,index2-1); if (tree) { @@ -1688,13 +1693,17 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) } else if (nbracket == 0 && fix->vector_flag) { if (update->whichflag > 0 && update->ntimestep % fix->global_freq) - print_var_error(FLERR,"Fix in variable not computed at compatible time",ivar); + print_var_error(FLERR,"Fix in variable not computed at " + "compatible time",ivar); if (tree == NULL) - print_var_error(FLERR,"Fix global vector in ""equal-style variable formula",ivar); + print_var_error(FLERR,"Fix global vector in " + "equal-style variable formula",ivar); if (treetype == ATOM) - print_var_error(FLERR,"Fix global vector in ""atom-style variable formula",ivar); + print_var_error(FLERR,"Fix global vector in " + "atom-style variable formula",ivar); if (fix->size_vector == 0) - print_var_error(FLERR,"Variable formula fix vector is zero length",ivar); + print_var_error(FLERR,"Variable formula " + "fix vector is zero length",ivar); int nvec = fix->size_vector; double *vec; @@ -1726,7 +1735,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) print_var_error(FLERR,"Fix global vector in " "atom-style variable formula",ivar); if (fix->size_array_rows == 0) - print_var_error(FLERR,"Variable formula fix array is zero length",ivar); + print_var_error(FLERR,"Variable formula fix array is " + "zero length",ivar); int nvec = fix->size_array_rows; double *vec; @@ -1785,10 +1795,12 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) fix->size_peratom_cols == 0) { if (tree == NULL) - print_var_error(FLERR,"Per-atom fix in equal-style variable formula",ivar); + print_var_error(FLERR,"Per-atom fix in " + "equal-style variable formula",ivar); if (update->whichflag > 0 && update->ntimestep % fix->peratom_freq) - print_var_error(FLERR,"Fix in variable not computed at compatible time",ivar); + print_var_error(FLERR,"Fix in variable not computed at " + "compatible time",ivar); Tree *newtree = new Tree(); newtree->type = ATOMARRAY; @@ -1805,13 +1817,15 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) fix->size_peratom_cols > 0) { if (tree == NULL) - print_var_error(FLERR,"Per-atom fix in equal-style variable formula",ivar); + print_var_error(FLERR,"Per-atom fix in " + "equal-style variable formula",ivar); if (index1 > fix->size_peratom_cols) print_var_error(FLERR,"Variable formula fix array " "is accessed out-of-range",ivar); if (update->whichflag > 0 && update->ntimestep % fix->peratom_freq) - print_var_error(FLERR,"Fix in variable not computed at compatible time",ivar); + print_var_error(FLERR,"Fix in variable not computed at " + "compatible time",ivar); Tree *newtree = new Tree(); newtree->type = ATOMARRAY; @@ -1878,7 +1892,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) char *var = retrieve(word+2); if (var == NULL) - print_var_error(FLERR,"Invalid variable evaluation in variable formula",ivar); + print_var_error(FLERR,"Invalid variable evaluation in " + "variable formula",ivar); if (tree) { Tree *newtree = new Tree(); newtree->type = VALUE; @@ -1977,7 +1992,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) double *vec; int nvec = compute_vector(ivar,&vec); if (index <= 0 || index > nvec) - print_var_error(FLERR,"Invalid index into vector-style variable",ivar); + print_var_error(FLERR,"Invalid index into " + "vector-style variable",ivar); int m = index; // convert from tagint to int if (tree) { @@ -1989,7 +2005,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) treestack[ntreestack++] = newtree; } else argstack[nargstack++] = vec[m-1]; - } else print_var_error(FLERR,"Mismatched variable in variable formula",ivar); + } else print_var_error(FLERR,"Mismatched variable in " + "variable formula",ivar); // ---------------- // math/group/special function or atom value/vector or @@ -2194,7 +2211,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (value2 == 0.0) argstack[nargstack++] = 1.0; else if ((value1 == 0.0) && (value2 < 0.0)) - print_var_error(FLERR,"Invalid power expression in variable formula",ivar); + print_var_error(FLERR,"Invalid power expression in " + "variable formula",ivar); else argstack[nargstack++] = pow(value1,value2); } else if (opprevious == UNARY) { argstack[nargstack++] = -value2; @@ -3368,7 +3386,8 @@ int Variable::math_function(char *word, char *contents, Tree **tree, if (tree) newtree->type = LN; else { if (value1 <= 0.0) - print_var_error(FLERR,"Log of zero/negative value in variable formula",ivar); + print_var_error(FLERR,"Log of zero/negative value in " + "variable formula",ivar); argstack[nargstack++] = log(value1); } } else if (strcmp(word,"log") == 0) { @@ -3377,7 +3396,8 @@ int Variable::math_function(char *word, char *contents, Tree **tree, if (tree) newtree->type = LOG; else { if (value1 <= 0.0) - print_var_error(FLERR,"Log of zero/negative value in variable formula",ivar); + print_var_error(FLERR,"Log of zero/negative value in " + "variable formula",ivar); argstack[nargstack++] = log10(value1); } } else if (strcmp(word,"abs") == 0) { @@ -3482,7 +3502,8 @@ int Variable::math_function(char *word, char *contents, Tree **tree, if (narg != 2) print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (update->whichflag == 0) - print_var_error(FLERR,"Cannot use ramp in variable formula between runs",ivar); + print_var_error(FLERR,"Cannot use ramp in " + "variable formula between runs",ivar); if (tree) newtree->type = RAMP; else { double delta = update->ntimestep - update->beginstep; @@ -3617,7 +3638,8 @@ int Variable::math_function(char *word, char *contents, Tree **tree, if (narg != 2) print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (update->whichflag == 0) - print_var_error(FLERR,"Cannot use vdisplace in variable formula between runs",ivar); + print_var_error(FLERR,"Cannot use vdisplace in " + "variable formula between runs",ivar); if (tree) newtree->type = VDISPLACE; else { double delta = update->ntimestep - update->beginstep; @@ -3629,7 +3651,8 @@ int Variable::math_function(char *word, char *contents, Tree **tree, if (narg != 3) print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (update->whichflag == 0) - print_var_error(FLERR,"Cannot use swiggle in variable formula between runs",ivar); + print_var_error(FLERR,"Cannot use swiggle in " + "variable formula between runs",ivar); if (tree) newtree->type = CWIGGLE; else { if (values[0] == 0.0) @@ -3644,7 +3667,8 @@ int Variable::math_function(char *word, char *contents, Tree **tree, if (narg != 3) print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (update->whichflag == 0) - print_var_error(FLERR,"Cannot use cwiggle in variable formula between runs",ivar); + print_var_error(FLERR,"Cannot use cwiggle in " + "variable formula between runs",ivar); if (tree) newtree->type = CWIGGLE; else { if (values[0] == 0.0) @@ -3709,7 +3733,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, if (strcmp(word,"count") == 0) { if (narg == 1) value = group->count(igroup); - else if (narg == 2) value = group->count(igroup,region_function(args[1],ivar)); + else if (narg == 2) + value = group->count(igroup,region_function(args[1],ivar)); else print_var_error(FLERR,"Invalid group function in variable formula",ivar); } else if (strcmp(word,"mass") == 0) { @@ -3719,7 +3744,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"charge") == 0) { if (narg == 1) value = group->charge(igroup); - else if (narg == 2) value = group->charge(igroup,region_function(args[1],ivar)); + else if (narg == 2) + value = group->charge(igroup,region_function(args[1],ivar)); else print_var_error(FLERR,"Invalid group function in variable formula",ivar); } else if (strcmp(word,"xcm") == 0) { @@ -3732,7 +3758,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, int iregion = region_function(args[2],ivar); double masstotal = group->mass(igroup,iregion); group->xcm(igroup,masstotal,xcm,iregion); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); if (strcmp(args[1],"x") == 0) value = xcm[0]; else if (strcmp(args[1],"y") == 0) value = xcm[1]; else if (strcmp(args[1],"z") == 0) value = xcm[2]; @@ -3748,7 +3775,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, int iregion = region_function(args[2],ivar); double masstotal = group->mass(igroup,iregion); group->vcm(igroup,masstotal,vcm,iregion); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); if (strcmp(args[1],"x") == 0) value = vcm[0]; else if (strcmp(args[1],"y") == 0) value = vcm[1]; else if (strcmp(args[1],"z") == 0) value = vcm[2]; @@ -3767,7 +3795,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"bound") == 0) { double minmax[6]; if (narg == 2) group->bounds(igroup,minmax); - else if (narg == 3) group->bounds(igroup,minmax,region_function(args[2],ivar)); + else if (narg == 3) + group->bounds(igroup,minmax,region_function(args[2],ivar)); else print_var_error(FLERR,"Invalid group function in variable formula",ivar); if (strcmp(args[1],"xmin") == 0) value = minmax[0]; else if (strcmp(args[1],"xmax") == 0) value = minmax[1]; @@ -3789,7 +3818,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, double masstotal = group->mass(igroup,iregion); group->xcm(igroup,masstotal,xcm,iregion); value = group->gyration(igroup,masstotal,xcm,iregion); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); } else if (strcmp(word,"ke") == 0) { if (narg == 1) value = group->ke(igroup); @@ -3808,7 +3838,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, double masstotal = group->mass(igroup,iregion); group->xcm(igroup,masstotal,xcm,iregion); group->angmom(igroup,xcm,lmom,iregion); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); if (strcmp(args[1],"x") == 0) value = lmom[0]; else if (strcmp(args[1],"y") == 0) value = lmom[1]; else if (strcmp(args[1],"z") == 0) value = lmom[2]; @@ -3826,7 +3857,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, double masstotal = group->mass(igroup,iregion); group->xcm(igroup,masstotal,xcm,iregion); group->torque(igroup,xcm,tq,iregion); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); if (strcmp(args[1],"x") == 0) value = tq[0]; else if (strcmp(args[1],"y") == 0) value = tq[1]; else if (strcmp(args[1],"z") == 0) value = tq[2]; @@ -3844,7 +3876,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, double masstotal = group->mass(igroup,iregion); group->xcm(igroup,masstotal,xcm,iregion); group->inertia(igroup,xcm,inertia,iregion); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); if (strcmp(args[1],"xx") == 0) value = inertia[0][0]; else if (strcmp(args[1],"yy") == 0) value = inertia[1][1]; else if (strcmp(args[1],"zz") == 0) value = inertia[2][2]; @@ -3869,7 +3902,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, group->angmom(igroup,xcm,angmom,iregion); group->inertia(igroup,xcm,inertia,iregion); group->omega(angmom,inertia,omega); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); if (strcmp(args[1],"x") == 0) value = omega[0]; else if (strcmp(args[1],"y") == 0) value = omega[1]; else if (strcmp(args[1],"z") == 0) value = omega[2]; @@ -3924,7 +3958,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, Tree **treestack, int &ntreestack, double *argstack, int &nargstack, int ivar) { - double value,xvalue,sx,sy,sxx,sxy; + bigint sx,sxx; + double value,xvalue,sy,sxy; // word not a match to any special function @@ -4020,11 +4055,13 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else index = 0; int ifix = modify->find_fix(&args[0][2]); - if (ifix < 0) print_var_error(FLERR,"Invalid fix ID in variable formula",ivar); + if (ifix < 0) + print_var_error(FLERR,"Invalid fix ID in variable formula",ivar); fix = modify->fix[ifix]; if (index == 0 && fix->vector_flag) { if (update->whichflag > 0 && update->ntimestep % fix->global_freq) - print_var_error(FLERR,"Fix in variable not computed at compatible time",ivar); + print_var_error(FLERR,"Fix in variable not computed at " + "compatible time",ivar); nvec = fix->size_vector; nstride = 1; } else if (index && fix->array_flag) { @@ -4032,7 +4069,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, print_var_error(FLERR,"Variable formula fix array " "is accessed out-of-range",ivar); if (update->whichflag > 0 && update->ntimestep % fix->global_freq) - print_var_error(FLERR,"Fix in variable not computed at compatible time",ivar); + print_var_error(FLERR,"Fix in variable not computed at " + "compatible time",ivar); nvec = fix->size_array_rows; nstride = fix->size_array_cols; } else print_var_error(FLERR,"Mismatched fix in variable formula",ivar); @@ -4048,10 +4086,12 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else index = 0; if (index) - print_var_error(FLERR,"Invalid special function in variable formula",ivar); + print_var_error(FLERR,"Invalid special function in " + "variable formula",ivar); ivar = find(&args[0][2]); if (ivar < 0) - print_var_error(FLERR,"Invalid special function in variable formula",ivar); + print_var_error(FLERR,"Invalid special function in " + "variable formula",ivar); if (style[ivar] != VECTOR) print_var_error(FLERR,"Mis-matched special function variable " "in variable formula",ivar); @@ -4062,12 +4102,16 @@ int Variable::special_function(char *word, char *contents, Tree **tree, nvec = compute_vector(ivar,&vec); nstride = 1; - } else print_var_error(FLERR,"Invalid special function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid special function in " + "variable formula",ivar); value = 0.0; - if (method == SLOPE) sx = sy = sxx = sxy = 0.0; - if (method == XMIN) value = BIG; - if (method == XMAX) value = -BIG; + if (method == SLOPE) { + sx = sxx = 0; + sy = sxy = 0.0; + } + else if (method == XMIN) value = BIG; + else if (method == XMAX) value = -BIG; if (compute) { double *vec; @@ -4084,12 +4128,10 @@ int Variable::special_function(char *word, char *contents, Tree **tree, else if (method == AVE) value += vec[j]; else if (method == TRAP) value += vec[j]; else if (method == SLOPE) { - if (nvec > 1) xvalue = (double) i / (nvec-1); - else xvalue = 0.0; - sx += xvalue; + sx += i; sy += vec[j]; - sxx += xvalue*xvalue; - sxy += xvalue*vec[j]; + sxx += i*i; + sxy += i*vec[j]; } j += nstride; } @@ -4107,12 +4149,10 @@ int Variable::special_function(char *word, char *contents, Tree **tree, else if (method == AVE) value += one; else if (method == TRAP) value += one; else if (method == SLOPE) { - if (nvec > 1) xvalue = (double) i / (nvec-1); - else xvalue = 0.0; - sx += xvalue; + sx += i; sy += one; - sxx += xvalue*xvalue; - sxy += xvalue*one; + sxx += i*i; + sxy += i*one; } } if (method == TRAP) { @@ -4134,12 +4174,10 @@ int Variable::special_function(char *word, char *contents, Tree **tree, else if (method == AVE) value += one; else if (method == TRAP) value += one; else if (method == SLOPE) { - if (nvec > 1) xvalue = (double) i / (nvec-1); - else xvalue = 0.0; - sx += xvalue; + sx += i; sy += one; - sxx += xvalue*xvalue; - sxy += xvalue*one; + sxx += i*i; + sxy += i*one; } } if (method == TRAP) value -= 0.5*vec[0] + 0.5*vec[nvec-1]; @@ -4148,9 +4186,9 @@ int Variable::special_function(char *word, char *contents, Tree **tree, if (method == AVE) value /= nvec; if (method == SLOPE) { - double numerator = sxy - sx*sy; - double denominator = sxx - sx*sx; - if (denominator != 0.0) value = numerator/denominator / nvec; + double numerator = nvec*sxy - sx*sy; + double denominator = nvec*sxx - sx*sx; + if (denominator != 0.0) value = numerator/denominator; else value = BIG; } @@ -4169,7 +4207,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"gmask") == 0) { if (tree == NULL) - print_var_error(FLERR,"Gmask function in equal-style variable formula",ivar); + print_var_error(FLERR,"Gmask function in equal-style " + "variable formula",ivar); if (narg != 1) print_var_error(FLERR,"Invalid special function in variable formula",ivar); @@ -4186,7 +4225,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"rmask") == 0) { if (tree == NULL) - print_var_error(FLERR,"Rmask function in equal-style variable formula",ivar); + print_var_error(FLERR,"Rmask function in equal-style " + "variable formula",ivar); if (narg != 1) print_var_error(FLERR,"Invalid special function in variable formula",ivar); @@ -4202,7 +4242,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"grmask") == 0) { if (tree == NULL) - print_var_error(FLERR,"Grmask function in equal-style variable formula",ivar); + print_var_error(FLERR,"Grmask function in equal-style " + "variable formula",ivar); if (narg != 2) print_var_error(FLERR,"Invalid special function in variable formula",ivar); @@ -4228,7 +4269,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, int ivar = find(args[0]); if (ivar < 0) - print_var_error(FLERR,"Variable ID in variable formula does not exist",ivar); + print_var_error(FLERR,"Variable ID in " + "variable formula does not exist",ivar); // SCALARFILE has single current value, read next one // save value in tree or on argstack @@ -4253,7 +4295,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else if (style[ivar] == ATOMFILE) { if (tree == NULL) - print_var_error(FLERR,"Atomfile variable in equal-style variable formula",ivar); + print_var_error(FLERR,"Atomfile variable in " + "equal-style variable formula",ivar); double *result; memory->create(result,atom->nlocal,"variable:result"); @@ -4271,11 +4314,13 @@ int Variable::special_function(char *word, char *contents, Tree **tree, newtree->nextra = 0; treestack[ntreestack++] = newtree; - } else print_var_error(FLERR,"Invalid variable style in special function next",ivar); + } else print_var_error(FLERR,"Invalid variable style in " + "special function next",ivar); } else if (strcmp(word,"is_active") == 0) { if (narg != 2) - print_var_error(FLERR,"Invalid is_active() function in variable formula",ivar); + print_var_error(FLERR,"Invalid is_active() function in " + "variable formula",ivar); Info info(lmp); value = (info.is_active(args[0],args[1])) ? 1.0 : 0.0; @@ -4293,7 +4338,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"is_available") == 0) { if (narg != 2) - print_var_error(FLERR,"Invalid is_available() function in variable formula",ivar); + print_var_error(FLERR,"Invalid is_available() function in " + "variable formula",ivar); Info info(lmp); value = (info.is_available(args[0],args[1])) ? 1.0 : 0.0; @@ -4311,7 +4357,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"is_defined") == 0) { if (narg != 2) - print_var_error(FLERR,"Invalid is_defined() function in variable formula",ivar); + print_var_error(FLERR,"Invalid is_defined() function in " + "variable formula",ivar); Info info(lmp); value = (info.is_defined(args[0],args[1])) ? 1.0 : 0.0; -- GitLab From e8774dce9792d3289bcb2fbd8f722796af3ec675 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Fri, 3 Aug 2018 11:31:11 -0600 Subject: [PATCH 399/675] removed thread restriction on make command, should make the building process faster --- lib/scafacos/Install.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scafacos/Install.py b/lib/scafacos/Install.py index c478589144..df82780438 100644 --- a/lib/scafacos/Install.py +++ b/lib/scafacos/Install.py @@ -147,7 +147,7 @@ if buildflag: if buildflag: print("Building Scafacos ...") - cmd = 'cd "%s"; CC=mpicc FC=mpif90 CXX=mpicxx ./configure --prefix="`pwd`/build" --disable-doc --enable-fcs-solvers=fmm,p2nfft,direct,ewald > log.txt; make -j 4; make install' % homedir + cmd = 'cd "%s"; CC=mpicc FC=mpif90 CXX=mpicxx ./configure --prefix="`pwd`/build" --disable-doc --enable-fcs-solvers=fmm,p2nfft,direct,ewald > log.txt; make -j; make install' % homedir txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) print(txt.decode('UTF-8')) -- GitLab From 94bf221258af6fa48fe568a21171c492148ccf71 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Fri, 3 Aug 2018 11:31:50 -0600 Subject: [PATCH 400/675] implemented checks for unsupported solvers --- src/USER-SCAFACOS/scafacos.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index 21e46f76ad..d4b106b26c 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -47,14 +47,26 @@ Scafacos::Scafacos(LAMMPS *lmp, int narg, char **arg) : KSpace(lmp, narg, arg) // optional ScaFaCoS library setting defaults // choose the correct default tolerance type for chosen method - // TODO: needs to be expanded for all solvers, currently mainly used ones + // throw an error if a not yet supported solver is chosen if (strcmp(method,"fmm") == 0) { tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; fmm_tuning_flag = 0; } - else if (strcmp(method,"p3m") == 0 || strcmp(method,"p2nfft") == 0) + else if (strcmp(method,"p3m") == 0 || + strcmp(method,"p2nfft") == 0 || + strcmp(method,"ewald") == 0) + { tolerance_type = FCS_TOLERANCE_TYPE_FIELD; + } + else if (strcmp(method,"direct") == 0) + { + // direct summation has no tolerance type + } + else + { + error->all(FLERR,"Unsupported ScaFaCoS method"); + } // initializations @@ -194,11 +206,13 @@ void Scafacos::compute(int eflag, int vflag) fcs_set_compute_virial(fcs,1); } + /* if (strcmp(method,"p3m")==0) { result = fcs_tune(fcs,nlocal,&x[0][0],q); check_result(result); } + */ result = fcs_run(fcs,nlocal,&x[0][0],q,&efield[0][0],epot); check_result(result); -- GitLab From 82744773b33a5d372687ba26f5edd68249d2a85e Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 3 Aug 2018 16:04:54 -0600 Subject: [PATCH 401/675] replace Section_commands.txt file --- doc/src/Commands.txt | 51 + doc/src/Commands_all.txt | 128 ++ doc/src/Commands_bond.txt | 124 ++ doc/src/Commands_category.txt | 141 ++ doc/src/Commands_compute.txt | 153 ++ doc/src/Commands_fix.txt | 229 +++ doc/src/Commands_input.txt | 60 + doc/src/Commands_kspace.txt | 36 + doc/src/Commands_pair.txt | 231 +++ doc/src/Commands_parse.txt | 136 ++ doc/src/Commands_structure.txt | 95 ++ doc/src/Errors.txt | 2 +- doc/src/Errors_bugs.txt | 2 +- doc/src/Errors_common.txt | 2 +- doc/src/Errors_messages.txt | 2 +- doc/src/Errors_warnings.txt | 2 +- doc/src/Examples.txt | 2 +- doc/src/Howto_2d.txt | 2 +- doc/src/Howto_barostat.txt | 2 +- doc/src/Howto_bash.txt | 2 +- doc/src/Howto_bioFF.txt | 2 +- doc/src/Howto_body.txt | 8 +- doc/src/Howto_chunk.txt | 2 +- doc/src/Howto_coreshell.txt | 2 +- doc/src/Howto_couple.txt | 2 +- doc/src/Howto_diffusion.txt | 2 +- doc/src/Howto_dispersion.txt | 2 +- doc/src/Howto_drude.txt | 2 +- doc/src/Howto_drude2.txt | 2 +- doc/src/Howto_elastic.txt | 2 +- doc/src/Howto_github.txt | 2 +- doc/src/Howto_granular.txt | 2 +- doc/src/Howto_kappa.txt | 2 +- doc/src/Howto_library.txt | 2 +- doc/src/Howto_manifold.txt | 2 +- doc/src/Howto_multiple.txt | 2 +- doc/src/Howto_nemd.txt | 2 +- doc/src/Howto_output.txt | 2 +- doc/src/Howto_polarizable.txt | 2 +- doc/src/Howto_pylammps.txt | 2 +- doc/src/Howto_replica.txt | 2 +- doc/src/Howto_restart.txt | 2 +- doc/src/Howto_spc.txt | 2 +- doc/src/Howto_spherical.txt | 2 +- doc/src/Howto_spins.txt | 2 +- doc/src/Howto_temperature.txt | 2 +- doc/src/Howto_thermostat.txt | 2 +- doc/src/Howto_tip3p.txt | 2 +- doc/src/Howto_tip4p.txt | 2 +- doc/src/Howto_triclinic.txt | 2 +- doc/src/Howto_viscosity.txt | 2 +- doc/src/Howto_viz.txt | 2 +- doc/src/Howto_walls.txt | 2 +- doc/src/Intro_authors.txt | 2 +- doc/src/Intro_features.txt | 6 +- doc/src/Intro_nonfeatures.txt | 2 +- doc/src/Intro_opensource.txt | 2 +- doc/src/Intro_overview.txt | 2 +- doc/src/Intro_website.txt | 2 +- doc/src/Manual.txt | 17 +- doc/src/Manual_version.txt | 2 +- doc/src/Modify.txt | 2 +- doc/src/Modify_atom.txt | 2 +- doc/src/Modify_body.txt | 2 +- doc/src/Modify_bond.txt | 2 +- doc/src/Modify_command.txt | 2 +- doc/src/Modify_compute.txt | 2 +- doc/src/Modify_contribute.txt | 2 +- doc/src/Modify_dump.txt | 2 +- doc/src/Modify_fix.txt | 2 +- doc/src/Modify_kspace.txt | 2 +- doc/src/Modify_min.txt | 2 +- doc/src/Modify_overview.txt | 2 +- doc/src/Modify_pair.txt | 2 +- doc/src/Modify_region.txt | 2 +- doc/src/Modify_thermo.txt | 2 +- doc/src/Modify_variable.txt | 2 +- doc/src/Packages.txt | 4 +- doc/src/Packages_details.txt | 20 +- doc/src/Packages_standard.txt | 2 +- doc/src/Packages_user.txt | 2 +- doc/src/Python.txt | 2 +- doc/src/Python_call.txt | 2 +- doc/src/Python_examples.txt | 2 +- doc/src/Python_install.txt | 2 +- doc/src/Python_library.txt | 2 +- doc/src/Python_mpi.txt | 2 +- doc/src/Python_pylammps.txt | 2 +- doc/src/Python_run.txt | 2 +- doc/src/Python_shlib.txt | 2 +- doc/src/Python_test.txt | 2 +- doc/src/Section_commands.txt | 1292 ----------------- doc/src/Section_start.txt | 12 +- doc/src/Speed.txt | 2 +- doc/src/Speed_bench.txt | 2 +- doc/src/Speed_compare.txt | 2 +- doc/src/Speed_gpu.txt | 2 +- doc/src/Speed_intel.txt | 2 +- doc/src/Speed_kokkos.txt | 317 ++-- doc/src/Speed_measure.txt | 2 +- doc/src/Speed_omp.txt | 2 +- doc/src/Speed_opt.txt | 2 +- doc/src/Speed_packages.txt | 13 +- doc/src/Speed_tips.txt | 2 +- doc/src/Tools.txt | 2 +- doc/src/angle_charmm.txt | 2 +- doc/src/angle_class2.txt | 2 +- doc/src/angle_coeff.txt | 8 +- doc/src/angle_cosine.txt | 2 +- doc/src/angle_cosine_buck6d.txt | 2 +- doc/src/angle_cosine_delta.txt | 2 +- doc/src/angle_cosine_periodic.txt | 2 +- doc/src/angle_cosine_shift.txt | 2 +- doc/src/angle_cosine_shift_exp.txt | 2 +- doc/src/angle_cosine_squared.txt | 2 +- doc/src/angle_dipole.txt | 2 +- doc/src/angle_fourier.txt | 2 +- doc/src/angle_fourier_simple.txt | 2 +- doc/src/angle_harmonic.txt | 2 +- doc/src/angle_hybrid.txt | 2 +- doc/src/angle_none.txt | 2 +- doc/src/angle_quartic.txt | 2 +- doc/src/angle_sdk.txt | 2 +- doc/src/angle_style.txt | 8 +- doc/src/angle_table.txt | 2 +- doc/src/angle_zero.txt | 2 +- doc/src/atom_modify.txt | 2 +- doc/src/atom_style.txt | 2 +- doc/src/balance.txt | 2 +- doc/src/body.txt | 2 +- doc/src/bond_class2.txt | 2 +- doc/src/bond_coeff.txt | 7 +- doc/src/bond_fene.txt | 2 +- doc/src/bond_fene_expand.txt | 2 +- doc/src/bond_gromos.txt | 2 +- doc/src/bond_harmonic.txt | 2 +- doc/src/bond_harmonic_shift.txt | 2 +- doc/src/bond_harmonic_shift_cut.txt | 2 +- doc/src/bond_hybrid.txt | 2 +- doc/src/bond_morse.txt | 2 +- doc/src/bond_none.txt | 2 +- doc/src/bond_nonlinear.txt | 2 +- doc/src/bond_oxdna.txt | 2 +- doc/src/bond_quartic.txt | 2 +- doc/src/bond_style.txt | 7 +- doc/src/bond_table.txt | 2 +- doc/src/bond_write.txt | 2 +- doc/src/bond_zero.txt | 2 +- doc/src/boundary.txt | 2 +- doc/src/box.txt | 2 +- doc/src/change_box.txt | 2 +- doc/src/clear.txt | 2 +- doc/src/comm_modify.txt | 2 +- doc/src/comm_style.txt | 2 +- doc/src/compute.txt | 28 +- doc/src/compute_ackland_atom.txt | 2 +- doc/src/compute_angle.txt | 2 +- doc/src/compute_angle_local.txt | 2 +- doc/src/compute_angmom_chunk.txt | 2 +- doc/src/compute_basal_atom.txt | 2 +- doc/src/compute_body_local.txt | 2 +- doc/src/compute_bond.txt | 2 +- doc/src/compute_bond_local.txt | 2 +- doc/src/compute_centro_atom.txt | 2 +- doc/src/compute_chunk_atom.txt | 2 +- doc/src/compute_cluster_atom.txt | 2 +- doc/src/compute_cna_atom.txt | 2 +- doc/src/compute_cnp_atom.txt | 2 +- doc/src/compute_com.txt | 2 +- doc/src/compute_com_chunk.txt | 2 +- doc/src/compute_contact_atom.txt | 2 +- doc/src/compute_coord_atom.txt | 2 +- doc/src/compute_damage_atom.txt | 2 +- doc/src/compute_dihedral.txt | 2 +- doc/src/compute_dihedral_local.txt | 2 +- doc/src/compute_dilatation_atom.txt | 2 +- doc/src/compute_dipole_chunk.txt | 2 +- doc/src/compute_displace_atom.txt | 2 +- doc/src/compute_dpd.txt | 2 +- doc/src/compute_dpd_atom.txt | 2 +- doc/src/compute_edpd_temp_atom.txt | 2 +- doc/src/compute_entropy_atom.txt | 2 +- doc/src/compute_erotate_asphere.txt | 2 +- doc/src/compute_erotate_rigid.txt | 2 +- doc/src/compute_erotate_sphere.txt | 2 +- doc/src/compute_erotate_sphere_atom.txt | 2 +- doc/src/compute_event_displace.txt | 2 +- doc/src/compute_fep.txt | 2 +- doc/src/compute_global_atom.txt | 2 +- doc/src/compute_group_group.txt | 2 +- doc/src/compute_gyration.txt | 2 +- doc/src/compute_gyration_chunk.txt | 2 +- doc/src/compute_heat_flux.txt | 2 +- doc/src/compute_hexorder_atom.txt | 2 +- doc/src/compute_improper.txt | 2 +- doc/src/compute_improper_local.txt | 2 +- doc/src/compute_inertia_chunk.txt | 2 +- doc/src/compute_ke.txt | 2 +- doc/src/compute_ke_atom.txt | 2 +- doc/src/compute_ke_atom_eff.txt | 2 +- doc/src/compute_ke_eff.txt | 2 +- doc/src/compute_ke_rigid.txt | 2 +- doc/src/compute_meso_e_atom.txt | 2 +- doc/src/compute_meso_rho_atom.txt | 2 +- doc/src/compute_meso_t_atom.txt | 2 +- doc/src/compute_modify.txt | 2 +- doc/src/compute_msd.txt | 2 +- doc/src/compute_msd_chunk.txt | 2 +- doc/src/compute_msd_nongauss.txt | 2 +- doc/src/compute_omega_chunk.txt | 2 +- doc/src/compute_orientorder_atom.txt | 2 +- doc/src/compute_pair.txt | 2 +- doc/src/compute_pair_local.txt | 2 +- doc/src/compute_pe.txt | 2 +- doc/src/compute_pe_atom.txt | 2 +- doc/src/compute_plasticity_atom.txt | 2 +- doc/src/compute_pressure.txt | 2 +- doc/src/compute_pressure_uef.txt | 2 +- doc/src/compute_property_atom.txt | 2 +- doc/src/compute_property_chunk.txt | 2 +- doc/src/compute_property_local.txt | 2 +- doc/src/compute_rdf.txt | 2 +- doc/src/compute_reduce.txt | 2 +- doc/src/compute_rigid_local.txt | 2 +- doc/src/compute_saed.txt | 2 +- doc/src/compute_slice.txt | 2 +- doc/src/compute_smd_contact_radius.txt | 2 +- doc/src/compute_smd_damage.txt | 2 +- doc/src/compute_smd_hourglass_error.txt | 2 +- doc/src/compute_smd_internal_energy.txt | 2 +- doc/src/compute_smd_plastic_strain.txt | 2 +- doc/src/compute_smd_plastic_strain_rate.txt | 2 +- doc/src/compute_smd_rho.txt | 2 +- doc/src/compute_smd_tlsph_defgrad.txt | 2 +- doc/src/compute_smd_tlsph_dt.txt | 2 +- doc/src/compute_smd_tlsph_num_neighs.txt | 2 +- doc/src/compute_smd_tlsph_shape.txt | 2 +- doc/src/compute_smd_tlsph_strain.txt | 2 +- doc/src/compute_smd_tlsph_strain_rate.txt | 2 +- doc/src/compute_smd_tlsph_stress.txt | 2 +- .../compute_smd_triangle_mesh_vertices.txt | 2 +- doc/src/compute_smd_ulsph_num_neighs.txt | 2 +- doc/src/compute_smd_ulsph_strain.txt | 2 +- doc/src/compute_smd_ulsph_strain_rate.txt | 2 +- doc/src/compute_smd_ulsph_stress.txt | 2 +- doc/src/compute_smd_vol.txt | 2 +- doc/src/compute_sna_atom.txt | 2 +- doc/src/compute_spin.txt | 2 +- doc/src/compute_stress_atom.txt | 2 +- doc/src/compute_tally.txt | 2 +- doc/src/compute_tdpd_cc_atom.txt | 2 +- doc/src/compute_temp.txt | 2 +- doc/src/compute_temp_asphere.txt | 2 +- doc/src/compute_temp_body.txt | 2 +- doc/src/compute_temp_chunk.txt | 2 +- doc/src/compute_temp_com.txt | 2 +- doc/src/compute_temp_cs.txt | 2 +- doc/src/compute_temp_deform.txt | 2 +- doc/src/compute_temp_deform_eff.txt | 2 +- doc/src/compute_temp_drude.txt | 2 +- doc/src/compute_temp_eff.txt | 2 +- doc/src/compute_temp_partial.txt | 2 +- doc/src/compute_temp_profile.txt | 2 +- doc/src/compute_temp_ramp.txt | 2 +- doc/src/compute_temp_region.txt | 2 +- doc/src/compute_temp_region_eff.txt | 2 +- doc/src/compute_temp_rotate.txt | 2 +- doc/src/compute_temp_sphere.txt | 2 +- doc/src/compute_temp_uef.txt | 2 +- doc/src/compute_ti.txt | 2 +- doc/src/compute_torque_chunk.txt | 2 +- doc/src/compute_vacf.txt | 2 +- doc/src/compute_vcm_chunk.txt | 2 +- doc/src/compute_voronoi_atom.txt | 2 +- doc/src/compute_xrd.txt | 2 +- doc/src/create_atoms.txt | 2 +- doc/src/create_bonds.txt | 2 +- doc/src/create_box.txt | 2 +- doc/src/delete_atoms.txt | 2 +- doc/src/delete_bonds.txt | 2 +- doc/src/dielectric.txt | 2 +- doc/src/dihedral_charmm.txt | 2 +- doc/src/dihedral_class2.txt | 2 +- doc/src/dihedral_coeff.txt | 8 +- doc/src/dihedral_cosine_shift_exp.txt | 2 +- doc/src/dihedral_fourier.txt | 2 +- doc/src/dihedral_harmonic.txt | 2 +- doc/src/dihedral_helix.txt | 2 +- doc/src/dihedral_hybrid.txt | 2 +- doc/src/dihedral_multi_harmonic.txt | 2 +- doc/src/dihedral_nharmonic.txt | 2 +- doc/src/dihedral_none.txt | 2 +- doc/src/dihedral_opls.txt | 2 +- doc/src/dihedral_quadratic.txt | 2 +- doc/src/dihedral_spherical.txt | 2 +- doc/src/dihedral_style.txt | 8 +- doc/src/dihedral_table.txt | 2 +- doc/src/dihedral_table_cut.txt | 2 +- doc/src/dihedral_zero.txt | 2 +- doc/src/dimension.txt | 2 +- doc/src/displace_atoms.txt | 2 +- doc/src/dump.txt | 2 +- doc/src/dump_cfg_uef.txt | 2 +- doc/src/dump_h5md.txt | 2 +- doc/src/dump_image.txt | 2 +- doc/src/dump_modify.txt | 2 +- doc/src/dump_molfile.txt | 2 +- doc/src/dump_netcdf.txt | 2 +- doc/src/dump_vtk.txt | 2 +- doc/src/echo.txt | 2 +- doc/src/fix.txt | 22 +- doc/src/fix_adapt.txt | 2 +- doc/src/fix_adapt_fep.txt | 2 +- doc/src/fix_addforce.txt | 2 +- doc/src/fix_addtorque.txt | 2 +- doc/src/fix_append_atoms.txt | 2 +- doc/src/fix_atc.txt | 2 +- doc/src/fix_atom_swap.txt | 2 +- doc/src/fix_ave_atom.txt | 2 +- doc/src/fix_ave_chunk.txt | 2 +- doc/src/fix_ave_correlate.txt | 2 +- doc/src/fix_ave_correlate_long.txt | 2 +- doc/src/fix_ave_histo.txt | 2 +- doc/src/fix_ave_time.txt | 2 +- doc/src/fix_aveforce.txt | 2 +- doc/src/fix_balance.txt | 2 +- doc/src/fix_bocs.txt | 2 +- doc/src/fix_bond_break.txt | 2 +- doc/src/fix_bond_create.txt | 2 +- doc/src/fix_bond_react.txt | 2 +- doc/src/fix_bond_swap.txt | 2 +- doc/src/fix_box_relax.txt | 2 +- doc/src/fix_cmap.txt | 2 +- doc/src/fix_colvars.txt | 2 +- doc/src/fix_controller.txt | 2 +- doc/src/fix_deform.txt | 2 +- doc/src/fix_deposit.txt | 2 +- doc/src/fix_dpd_energy.txt | 2 +- doc/src/fix_dpd_source.txt | 2 +- doc/src/fix_drag.txt | 2 +- doc/src/fix_drude.txt | 2 +- doc/src/fix_drude_transform.txt | 2 +- doc/src/fix_dt_reset.txt | 2 +- doc/src/fix_efield.txt | 2 +- doc/src/fix_ehex.txt | 2 +- doc/src/fix_enforce2d.txt | 2 +- doc/src/fix_eos_cv.txt | 2 +- doc/src/fix_eos_table.txt | 2 +- doc/src/fix_eos_table_rx.txt | 2 +- doc/src/fix_evaporate.txt | 2 +- doc/src/fix_external.txt | 2 +- doc/src/fix_filter_corotate.txt | 2 +- doc/src/fix_flow_gauss.txt | 2 +- doc/src/fix_freeze.txt | 2 +- doc/src/fix_gcmc.txt | 2 +- doc/src/fix_gld.txt | 2 +- doc/src/fix_gle.txt | 2 +- doc/src/fix_gravity.txt | 2 +- doc/src/fix_grem.txt | 2 +- doc/src/fix_halt.txt | 2 +- doc/src/fix_heat.txt | 2 +- doc/src/fix_imd.txt | 2 +- doc/src/fix_indent.txt | 2 +- doc/src/fix_ipi.txt | 2 +- doc/src/fix_langevin.txt | 2 +- doc/src/fix_langevin_drude.txt | 2 +- doc/src/fix_langevin_eff.txt | 2 +- doc/src/fix_langevin_spin.txt | 2 +- doc/src/fix_latte.txt | 2 +- doc/src/fix_lb_fluid.txt | 2 +- doc/src/fix_lb_momentum.txt | 2 +- doc/src/fix_lb_pc.txt | 2 +- doc/src/fix_lb_rigid_pc_sphere.txt | 2 +- doc/src/fix_lb_viscous.txt | 2 +- doc/src/fix_lineforce.txt | 2 +- doc/src/fix_manifoldforce.txt | 2 +- doc/src/fix_meso.txt | 2 +- doc/src/fix_meso_stationary.txt | 2 +- doc/src/fix_modify.txt | 2 +- doc/src/fix_momentum.txt | 2 +- doc/src/fix_move.txt | 2 +- doc/src/fix_mscg.txt | 2 +- doc/src/fix_msst.txt | 2 +- doc/src/fix_mvv_dpd.txt | 2 +- doc/src/fix_neb.txt | 2 +- doc/src/fix_nh.txt | 2 +- doc/src/fix_nh_eff.txt | 2 +- doc/src/fix_nh_uef.txt | 2 +- doc/src/fix_nph_asphere.txt | 2 +- doc/src/fix_nph_body.txt | 2 +- doc/src/fix_nph_sphere.txt | 2 +- doc/src/fix_nphug.txt | 2 +- doc/src/fix_npt_asphere.txt | 2 +- doc/src/fix_npt_body.txt | 2 +- doc/src/fix_npt_sphere.txt | 2 +- doc/src/fix_nve.txt | 2 +- doc/src/fix_nve_asphere.txt | 2 +- doc/src/fix_nve_asphere_noforce.txt | 2 +- doc/src/fix_nve_body.txt | 2 +- doc/src/fix_nve_dot.txt | 2 +- doc/src/fix_nve_dotc_langevin.txt | 2 +- doc/src/fix_nve_eff.txt | 2 +- doc/src/fix_nve_limit.txt | 2 +- doc/src/fix_nve_line.txt | 2 +- doc/src/fix_nve_manifold_rattle.txt | 2 +- doc/src/fix_nve_noforce.txt | 2 +- doc/src/fix_nve_sphere.txt | 2 +- doc/src/fix_nve_spin.txt | 2 +- doc/src/fix_nve_tri.txt | 2 +- doc/src/fix_nvk.txt | 2 +- doc/src/fix_nvt_asphere.txt | 2 +- doc/src/fix_nvt_body.txt | 2 +- doc/src/fix_nvt_manifold_rattle.txt | 2 +- doc/src/fix_nvt_sllod.txt | 2 +- doc/src/fix_nvt_sllod_eff.txt | 2 +- doc/src/fix_nvt_sphere.txt | 2 +- doc/src/fix_oneway.txt | 2 +- doc/src/fix_orient.txt | 2 +- doc/src/fix_phonon.txt | 2 +- doc/src/fix_pimd.txt | 2 +- doc/src/fix_planeforce.txt | 2 +- doc/src/fix_poems.txt | 2 +- doc/src/fix_pour.txt | 2 +- doc/src/fix_precession_spin.txt | 2 +- doc/src/fix_press_berendsen.txt | 2 +- doc/src/fix_print.txt | 2 +- doc/src/fix_property_atom.txt | 2 +- doc/src/fix_python_invoke.txt | 2 +- doc/src/fix_python_move.txt | 2 +- doc/src/fix_qbmsst.txt | 2 +- doc/src/fix_qeq.txt | 2 +- doc/src/fix_qeq_comb.txt | 2 +- doc/src/fix_qeq_reax.txt | 2 +- doc/src/fix_qmmm.txt | 2 +- doc/src/fix_qtb.txt | 2 +- doc/src/fix_reax_bonds.txt | 2 +- doc/src/fix_reaxc_species.txt | 2 +- doc/src/fix_recenter.txt | 2 +- doc/src/fix_restrain.txt | 2 +- doc/src/fix_rhok.txt | 2 +- doc/src/fix_rigid.txt | 2 +- doc/src/fix_rx.txt | 2 +- doc/src/fix_saed_vtk.txt | 2 +- doc/src/fix_setforce.txt | 2 +- doc/src/fix_shake.txt | 2 +- doc/src/fix_shardlow.txt | 2 +- doc/src/fix_smd.txt | 2 +- doc/src/fix_smd_adjust_dt.txt | 2 +- doc/src/fix_smd_integrate_tlsph.txt | 2 +- doc/src/fix_smd_integrate_ulsph.txt | 2 +- doc/src/fix_smd_move_triangulated_surface.txt | 2 +- doc/src/fix_smd_setvel.txt | 2 +- doc/src/fix_smd_wall_surface.txt | 2 +- doc/src/fix_spring.txt | 2 +- doc/src/fix_spring_chunk.txt | 2 +- doc/src/fix_spring_rg.txt | 2 +- doc/src/fix_spring_self.txt | 2 +- doc/src/fix_srd.txt | 2 +- doc/src/fix_store_force.txt | 2 +- doc/src/fix_store_state.txt | 2 +- doc/src/fix_surface_global.txt | 2 +- doc/src/fix_temp_berendsen.txt | 2 +- doc/src/fix_temp_csvr.txt | 2 +- doc/src/fix_temp_rescale.txt | 2 +- doc/src/fix_temp_rescale_eff.txt | 2 +- doc/src/fix_tfmc.txt | 2 +- doc/src/fix_thermal_conductivity.txt | 2 +- doc/src/fix_ti_spring.txt | 2 +- doc/src/fix_tmd.txt | 2 +- doc/src/fix_ttm.txt | 2 +- doc/src/fix_tune_kspace.txt | 2 +- doc/src/fix_vector.txt | 2 +- doc/src/fix_viscosity.txt | 2 +- doc/src/fix_viscous.txt | 2 +- doc/src/fix_wall.txt | 2 +- doc/src/fix_wall_body_polygon.txt | 2 +- doc/src/fix_wall_body_polyhedron.txt | 2 +- doc/src/fix_wall_ees.txt | 2 +- doc/src/fix_wall_gran.txt | 2 +- doc/src/fix_wall_gran_region.txt | 2 +- doc/src/fix_wall_piston.txt | 2 +- doc/src/fix_wall_reflect.txt | 2 +- doc/src/fix_wall_region.txt | 2 +- doc/src/fix_wall_srd.txt | 2 +- doc/src/group.txt | 2 +- doc/src/group2ndx.txt | 2 +- doc/src/if.txt | 8 +- doc/src/improper_class2.txt | 2 +- doc/src/improper_coeff.txt | 8 +- doc/src/improper_cossq.txt | 2 +- doc/src/improper_cvff.txt | 2 +- doc/src/improper_distance.txt | 2 +- doc/src/improper_fourier.txt | 2 +- doc/src/improper_harmonic.txt | 2 +- doc/src/improper_hybrid.txt | 2 +- doc/src/improper_inversion_harmonic.txt | 2 +- doc/src/improper_none.txt | 2 +- doc/src/improper_ring.txt | 2 +- doc/src/improper_style.txt | 8 +- doc/src/improper_umbrella.txt | 2 +- doc/src/improper_zero.txt | 2 +- doc/src/include.txt | 2 +- doc/src/info.txt | 2 +- doc/src/jump.txt | 2 +- doc/src/kspace_modify.txt | 2 +- doc/src/kspace_style.txt | 2 +- doc/src/label.txt | 2 +- doc/src/lammps.book | 12 +- doc/src/lattice.txt | 2 +- doc/src/log.txt | 2 +- doc/src/manifolds.txt | 2 +- doc/src/mass.txt | 2 +- doc/src/min_modify.txt | 2 +- doc/src/min_style.txt | 2 +- doc/src/minimize.txt | 2 +- doc/src/molecule.txt | 2 +- doc/src/neb.txt | 2 +- doc/src/neigh_modify.txt | 2 +- doc/src/neighbor.txt | 2 +- doc/src/newton.txt | 2 +- doc/src/next.txt | 2 +- doc/src/package.txt | 2 +- doc/src/pair_adp.txt | 2 +- doc/src/pair_agni.txt | 2 +- doc/src/pair_airebo.txt | 2 +- doc/src/pair_awpmd.txt | 2 +- doc/src/pair_beck.txt | 2 +- doc/src/pair_body_nparticle.txt | 2 +- doc/src/pair_body_rounded_polygon.txt | 2 +- doc/src/pair_body_rounded_polyhedron.txt | 2 +- doc/src/pair_bop.txt | 2 +- doc/src/pair_born.txt | 2 +- doc/src/pair_brownian.txt | 2 +- doc/src/pair_buck.txt | 2 +- doc/src/pair_buck6d_coul_gauss.txt | 2 +- doc/src/pair_buck_long.txt | 2 +- doc/src/pair_charmm.txt | 2 +- doc/src/pair_class2.txt | 2 +- doc/src/pair_coeff.txt | 19 +- doc/src/pair_colloid.txt | 2 +- doc/src/pair_comb.txt | 2 +- doc/src/pair_coul.txt | 2 +- doc/src/pair_coul_diel.txt | 2 +- doc/src/pair_coul_shield.txt | 2 +- doc/src/pair_cs.txt | 2 +- doc/src/pair_dipole.txt | 2 +- doc/src/pair_dpd.txt | 2 +- doc/src/pair_dpd_fdt.txt | 2 +- doc/src/pair_dsmc.txt | 2 +- doc/src/pair_eam.txt | 2 +- doc/src/pair_edip.txt | 2 +- doc/src/pair_eff.txt | 2 +- doc/src/pair_eim.txt | 2 +- doc/src/pair_exp6_rx.txt | 2 +- doc/src/pair_extep.txt | 2 +- doc/src/pair_gauss.txt | 2 +- doc/src/pair_gayberne.txt | 2 +- doc/src/pair_gran.txt | 2 +- doc/src/pair_gromacs.txt | 2 +- doc/src/pair_gw.txt | 2 +- doc/src/pair_hbond_dreiding.txt | 2 +- doc/src/pair_hybrid.txt | 2 +- doc/src/pair_ilp_graphene_hbn.txt | 2 +- doc/src/pair_kim.txt | 2 +- doc/src/pair_kolmogorov_crespi_full.txt | 2 +- doc/src/pair_kolmogorov_crespi_z.txt | 2 +- doc/src/pair_lcbop.txt | 2 +- doc/src/pair_line_lj.txt | 2 +- doc/src/pair_list.txt | 2 +- doc/src/pair_lj.txt | 2 +- doc/src/pair_lj96.txt | 2 +- doc/src/pair_lj_cubic.txt | 2 +- doc/src/pair_lj_expand.txt | 2 +- doc/src/pair_lj_long.txt | 2 +- doc/src/pair_lj_smooth.txt | 2 +- doc/src/pair_lj_smooth_linear.txt | 2 +- doc/src/pair_lj_soft.txt | 2 +- doc/src/pair_lubricate.txt | 2 +- doc/src/pair_lubricateU.txt | 2 +- doc/src/pair_mdf.txt | 2 +- doc/src/pair_meam.txt | 2 +- doc/src/pair_meam_spline.txt | 2 +- doc/src/pair_meam_sw_spline.txt | 2 +- doc/src/pair_meso.txt | 2 +- doc/src/pair_mgpt.txt | 2 +- doc/src/pair_mie.txt | 2 +- doc/src/pair_modify.txt | 2 +- doc/src/pair_momb.txt | 2 +- doc/src/pair_morse.txt | 2 +- doc/src/pair_multi_lucy.txt | 2 +- doc/src/pair_multi_lucy_rx.txt | 2 +- doc/src/pair_nb3b_harmonic.txt | 2 +- doc/src/pair_nm.txt | 2 +- doc/src/pair_none.txt | 2 +- doc/src/pair_oxdna.txt | 2 +- doc/src/pair_oxdna2.txt | 2 +- doc/src/pair_peri.txt | 2 +- doc/src/pair_polymorphic.txt | 2 +- doc/src/pair_python.txt | 2 +- doc/src/pair_quip.txt | 2 +- doc/src/pair_reax.txt | 2 +- doc/src/pair_reaxc.txt | 2 +- doc/src/pair_resquared.txt | 2 +- doc/src/pair_sdk.txt | 2 +- doc/src/pair_smd_hertz.txt | 2 +- doc/src/pair_smd_tlsph.txt | 2 +- doc/src/pair_smd_triangulated_surface.txt | 2 +- doc/src/pair_smd_ulsph.txt | 2 +- doc/src/pair_smtbq.txt | 2 +- doc/src/pair_snap.txt | 2 +- doc/src/pair_soft.txt | 2 +- doc/src/pair_sph_heatconduction.txt | 2 +- doc/src/pair_sph_idealgas.txt | 2 +- doc/src/pair_sph_lj.txt | 2 +- doc/src/pair_sph_rhosum.txt | 2 +- doc/src/pair_sph_taitwater.txt | 2 +- doc/src/pair_sph_taitwater_morris.txt | 2 +- doc/src/pair_spin_dmi.txt | 2 +- doc/src/pair_spin_exchange.txt | 2 +- doc/src/pair_spin_magelec.txt | 2 +- doc/src/pair_spin_neel.txt | 2 +- doc/src/pair_srp.txt | 2 +- doc/src/pair_style.txt | 18 +- doc/src/pair_sw.txt | 2 +- doc/src/pair_table.txt | 2 +- doc/src/pair_table_rx.txt | 2 +- doc/src/pair_tersoff.txt | 2 +- doc/src/pair_tersoff_mod.txt | 2 +- doc/src/pair_tersoff_zbl.txt | 2 +- doc/src/pair_thole.txt | 2 +- doc/src/pair_tri_lj.txt | 2 +- doc/src/pair_ufm.txt | 2 +- doc/src/pair_vashishta.txt | 2 +- doc/src/pair_write.txt | 2 +- doc/src/pair_yukawa.txt | 2 +- doc/src/pair_yukawa_colloid.txt | 2 +- doc/src/pair_zbl.txt | 2 +- doc/src/pair_zero.txt | 2 +- doc/src/partition.txt | 2 +- doc/src/prd.txt | 2 +- doc/src/print.txt | 2 +- doc/src/processors.txt | 2 +- doc/src/python.txt | 8 +- doc/src/quit.txt | 2 +- doc/src/read_data.txt | 2 +- doc/src/read_dump.txt | 2 +- doc/src/read_restart.txt | 2 +- doc/src/region.txt | 2 +- doc/src/replicate.txt | 2 +- doc/src/rerun.txt | 2 +- doc/src/reset_ids.txt | 2 +- doc/src/reset_timestep.txt | 2 +- doc/src/restart.txt | 2 +- doc/src/run.txt | 2 +- doc/src/run_style.txt | 2 +- doc/src/set.txt | 2 +- doc/src/shell.txt | 2 +- doc/src/special_bonds.txt | 2 +- doc/src/suffix.txt | 2 +- doc/src/tad.txt | 2 +- doc/src/temper.txt | 2 +- doc/src/temper_grem.txt | 2 +- doc/src/temper_npt.txt | 2 +- doc/src/thermo.txt | 2 +- doc/src/thermo_modify.txt | 2 +- doc/src/thermo_style.txt | 2 +- doc/src/timer.txt | 2 +- doc/src/timestep.txt | 2 +- doc/src/uncompute.txt | 2 +- doc/src/undump.txt | 2 +- doc/src/unfix.txt | 2 +- doc/src/units.txt | 2 +- doc/src/variable.txt | 42 +- doc/src/velocity.txt | 2 +- doc/src/write_coeff.txt | 2 +- doc/src/write_data.txt | 2 +- doc/src/write_dump.txt | 2 +- doc/src/write_restart.txt | 2 +- 678 files changed, 2340 insertions(+), 2236 deletions(-) create mode 100644 doc/src/Commands.txt create mode 100644 doc/src/Commands_all.txt create mode 100644 doc/src/Commands_bond.txt create mode 100644 doc/src/Commands_category.txt create mode 100644 doc/src/Commands_compute.txt create mode 100644 doc/src/Commands_fix.txt create mode 100644 doc/src/Commands_input.txt create mode 100644 doc/src/Commands_kspace.txt create mode 100644 doc/src/Commands_pair.txt create mode 100644 doc/src/Commands_parse.txt create mode 100644 doc/src/Commands_structure.txt delete mode 100644 doc/src/Section_commands.txt diff --git a/doc/src/Commands.txt b/doc/src/Commands.txt new file mode 100644 index 0000000000..30e3343bd2 --- /dev/null +++ b/doc/src/Commands.txt @@ -0,0 +1,51 @@ +"Previous Section"_Run.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Packages.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html#comm) + +:line + +Commands :h2 + +These pages describe how a LAMMPS input script is formatted and the +commands in it are used to define a LAMMPS simulation. + + + + + +"LAMMPS input scripts"_Commands_input.html +"Parsing rules for input scripts"_Commands_parse.html +"Input script structure"_Commands_structure.html +"Commands by category"_Commands_category.html :all(b) + +"All commands"_Commands_all.html +"Fix commands"_Commands_fix.html +"Compute commands"_Commands_compute.html +"Pair commands"_Commands_pair.html +"Bond, angle, dihedral, improper commands"_Commands_bond.html +"KSpace solvers"_Commands_kspace.html :all(b) + + + diff --git a/doc/src/Commands_all.txt b/doc/src/Commands_all.txt new file mode 100644 index 0000000000..13db1272b9 --- /dev/null +++ b/doc/src/Commands_all.txt @@ -0,0 +1,128 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +"All commands"_Commands_all.html, +"Fix styles"_Commands_fix.html, +"Compute styles"_Commands_compute.html, +"Pair styles"_Commands_pair.html, +"Bond styles"_Commands_bond.html, +"Angle styles"_Commands_bond.html#angle, +"Dihedral styles"_Commands_bond.html#dihedral, +"Improper styles"_Commands_bond.html#improper, +"KSpace styles"_Commands_kspace.html :tb(c=3,ea=c) + +All commands :h3 + +An alphabetic list of all LAMMPS commmands. + +"angle_coeff"_angle_coeff.html, +"angle_style"_angle_style.html, +"atom_modify"_atom_modify.html, +"atom_style"_atom_style.html, +"balance"_balance.html, +"bond_coeff"_bond_coeff.html, +"bond_style"_bond_style.html, +"bond_write"_bond_write.html, +"boundary"_boundary.html, +"box"_box.html, +"change_box"_change_box.html, +"clear"_clear.html, +"comm_modify"_comm_modify.html, +"comm_style"_comm_style.html, +"compute"_compute.html, +"compute_modify"_compute_modify.html, +"create_atoms"_create_atoms.html, +"create_bonds"_create_bonds.html, +"create_box"_create_box.html, +"delete_atoms"_delete_atoms.html, +"delete_bonds"_delete_bonds.html, +"dielectric"_dielectric.html, +"dihedral_coeff"_dihedral_coeff.html, +"dihedral_style"_dihedral_style.html, +"dimension"_dimension.html, +"displace_atoms"_displace_atoms.html, +"dump"_dump.html, +"dump image"_dump_image.html, +"dump_modify"_dump_modify.html, +"dump movie"_dump_image.html, +"dump netcdf"_dump_netcdf.html, +"dump netcdf/mpiio"_dump_netcdf.html, +"dump vtk"_dump_vtk.html, +"echo"_echo.html, +"fix"_fix.html, +"fix_modify"_fix_modify.html, +"group"_group.html, +"group2ndx"_group2ndx.html, +"if"_if.html, +"info"_info.html, +"improper_coeff"_improper_coeff.html, +"improper_style"_improper_style.html, +"include"_include.html, +"jump"_jump.html, +"kspace_modify"_kspace_modify.html, +"kspace_style"_kspace_style.html, +"label"_label.html, +"lattice"_lattice.html, +"log"_log.html, +"mass"_mass.html, +"minimize"_minimize.html, +"min_modify"_min_modify.html, +"min_style"_min_style.html, +"molecule"_molecule.html, +"ndx2group"_group2ndx.html, +"neb"_neb.html, +"neigh_modify"_neigh_modify.html, +"neighbor"_neighbor.html, +"newton"_newton.html, +"next"_next.html, +"package"_package.html, +"pair_coeff"_pair_coeff.html, +"pair_modify"_pair_modify.html, +"pair_style"_pair_style.html, +"pair_write"_pair_write.html, +"partition"_partition.html, +"prd"_prd.html, +"print"_print.html, +"processors"_processors.html, +"python"_python.html, +"quit"_quit.html, +"read_data"_read_data.html, +"read_dump"_read_dump.html, +"read_restart"_read_restart.html, +"region"_region.html, +"replicate"_replicate.html, +"rerun"_rerun.html, +"reset_ids"_reset_ids.html, +"reset_timestep"_reset_timestep.html, +"restart"_restart.html, +"run"_run.html, +"run_style"_run_style.html, +"set"_set.html, +"shell"_shell.html, +"special_bonds"_special_bonds.html, +"suffix"_suffix.html, +"tad"_tad.html, +"temper"_temper.html, +"temper/grem"_temper_grem.html, +"temper/npt"_temper_npt.html, +"thermo"_thermo.html, +"thermo_modify"_thermo_modify.html, +"thermo_style"_thermo_style.html, +"timer"_timer.html, +"timestep"_timestep.html, +"uncompute"_uncompute.html, +"undump"_undump.html, +"unfix"_unfix.html, +"units"_units.html, +"variable"_variable.html, +"velocity"_velocity.html, +"write_coeff"_write_coeff.html, +"write_data"_write_data.html, +"write_dump"_write_dump.html, +"write_restart"_write_restart.html :tb(c=6,ea=c) diff --git a/doc/src/Commands_bond.txt b/doc/src/Commands_bond.txt new file mode 100644 index 0000000000..314260cb14 --- /dev/null +++ b/doc/src/Commands_bond.txt @@ -0,0 +1,124 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +"All commands"_Commands_all.html, +"Fix styles"_Commands_fix.html, +"Compute styles"_Commands_compute.html, +"Pair styles"_Commands_pair.html, +"Bond styles"_Commands_bond.html, +"Angle styles"_Commands_bond.html#angle, +"Dihedral styles"_Commands_bond.html#dihedral, +"Improper styles"_Commands_bond.html#improper, +"KSpace styles"_Commands_kspace.html :tb(c=3,ea=c) + +Bond, angle, dihedral, and improper commands :h3 + +:line + +Bond_style potentials :h3,link(bond) + +All LAMMPS "bond_style"_bond_style.html commands. Some styles have +accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"none"_bond_none.html, +"zero"_bond_zero.html, +"hybrid"_bond_hybrid.html :tb(c=3,ea=c) + +"class2 (ko)"_bond_class2.html, +"fene (iko)"_bond_fene.html, +"fene/expand (o)"_bond_fene_expand.html, +"gromos (o)"_bond_gromos.html, +"harmonic (ko)"_bond_harmonic.html, +"harmonic/shift (o)"_bond_harmonic_shift.html, +"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html, +"morse (o)"_bond_morse.html, +"nonlinear (o)"_bond_nonlinear.html, +"oxdna/fene"_bond_oxdna.html, +"oxdna2/fene"_bond_oxdna.html, +"quartic (o)"_bond_quartic.html, +"table (o)"_bond_table.html :tb(c=4,ea=c) + +:line + +Angle_style potentials :h3,link(angle) + +All LAMMPS "angle_style"_angle_style.html commands. Some styles have +accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"none"_angle_none.html, +"zero"_angle_zero.html, +"hybrid"_angle_hybrid.html :tb(c=3,ea=c) + +"charmm (ko)"_angle_charmm.html, +"class2 (ko)"_angle_class2.html, +"cosine (o)"_angle_cosine.html, +"cosine/delta (o)"_angle_cosine_delta.html, +"cosine/periodic (o)"_angle_cosine_periodic.html, +"cosine/shift (o)"_angle_cosine_shift.html, +"cosine/shift/exp (o)"_angle_cosine_shift_exp.html, +"cosine/squared (o)"_angle_cosine_squared.html, +"dipole (o)"_angle_dipole.html, +"fourier (o)"_angle_fourier.html, +"fourier/simple (o)"_angle_fourier_simple.html, +"harmonic (iko)"_angle_harmonic.html, +"quartic (o)"_angle_quartic.html, +"sdk"_angle_sdk.html, +"table (o)"_angle_table.html :tb(c=4,ea=c) + +:line + +Dihedral_style potentials :h3,link(dihedral) + +All LAMMPS "dihedral_style"_dihedral_style.html commands. Some styles +have accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"none"_dihedral_none.html, +"zero"_dihedral_zero.html, +"hybrid"_dihedral_hybrid.html :tb(c=3,ea=c) + +"charmm (iko)"_dihedral_charmm.html, +"charmmfsw"_dihedral_charmm.html, +"class2 (ko)"_dihedral_class2.html, +"cosine/shift/exp (o)"_dihedral_cosine_shift_exp.html, +"fourier (io)"_dihedral_fourier.html, +"harmonic (io)"_dihedral_harmonic.html, +"helix (o)"_dihedral_helix.html, +"multi/harmonic (o)"_dihedral_multi_harmonic.html, +"nharmonic (o)"_dihedral_nharmonic.html, +"opls (iko)"_dihedral_opls.htm;, +"quadratic (o)"_dihedral_quadratic.html, +"spherical (o)"_dihedral_spherical.html, +"table (o)"_dihedral_table.html, +"table/cut"_dihedral_table_cut.html :tb(c=4,ea=c) + +:line + +Improper_style potentials :h3,link(improper) + +All LAMMPS "improper_style"_improper_style.html commands. Some styles +have accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"none"_improper_none.html, +"zero"_improper_zero.html, +"hybrid"_improper_hybrid.html :tb(c=3,ea=c) + +"class2 (ko)"_improper_class2.html, +"cossq (o)"_improper_cossq.html, +"cvff (io)"_improper_cvff.html, +"distance"_improper_distance.html, +"fourier (o)"_improper_fourier.html, +"harmonic (iko)"_improper_harmonic.html, +"ring (o)"_improper_ring.html, +"umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c) diff --git a/doc/src/Commands_category.txt b/doc/src/Commands_category.txt new file mode 100644 index 0000000000..5d047c6727 --- /dev/null +++ b/doc/src/Commands_category.txt @@ -0,0 +1,141 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Commands by category :h3 + +This page lists most of the LAMMPS commands, grouped by category. The +"Commands all"_Commands_all.html doc page lists all commands +alphabetically. It also includes long lists of style options for +entries that appear in the following categories as a single command +(fix, compute, pair, etc). + +Initialization: + +"newton"_newton.html, +"package"_package.html, +"processors"_processors.html, +"suffix"_suffix.html, +"units"_units.html :ul + +Setup simulation box: + +"boundary"_boundary.html, +"box"_box.html, +"change_box"_change_box.html, +"create_box"_create_box.html, +"dimension"_dimension.html, +"lattice"_lattice.html, +"region"_region.html :ul + +Setup atoms: + +"atom_modify"_atom_modify.html, +"atom_style"_atom_style.html, +"balance"_balance.html, +"create_atoms"_create_atoms.html, +"create_bonds"_create_bonds.html, +"delete_atoms"_delete_atoms.html, +"delete_bonds"_delete_bonds.html, +"displace_atoms"_displace_atoms.html, +"group"_group.html, +"mass"_mass.html, +"molecule"_molecule.html, +"read_data"_read_data.html, +"read_dump"_read_dump.html, +"read_restart"_read_restart.html, +"replicate"_replicate.html, +"set"_set.html, +"velocity"_velocity.html :ul + +Force fields: + +"angle_coeff"_angle_coeff.html, +"angle_style"_angle_style.html, +"bond_coeff"_bond_coeff.html, +"bond_style"_bond_style.html, +"bond_write"_bond_write.html, +"dielectric"_dielectric.html, +"dihedral_coeff"_dihedral_coeff.html, +"dihedral_style"_dihedral_style.html, +"improper_coeff"_improper_coeff.html, +"improper_style"_improper_style.html, +"kspace_modify"_kspace_modify.html, +"kspace_style"_kspace_style.html, +"pair_coeff"_pair_coeff.html, +"pair_modify"_pair_modify.html, +"pair_style"_pair_style.html, +"pair_write"_pair_write.html, +"special_bonds"_special_bonds.html :ul + +Settings: + +"comm_modify"_comm_modify.html, +"comm_style"_comm_style.html, +"info"_info.html, +"min_modify"_min_modify.html, +"min_style"_min_style.html, +"neigh_modify"_neigh_modify.html, +"neighbor"_neighbor.html, +"partition"_partition.html, +"reset_timestep"_reset_timestep.html, +"run_style"_run_style.html, +"timer"_timer.html, +"timestep"_timestep.html :ul + +Operations within timestepping (fixes) and diagnostics (computes): + +"compute"_compute.html, +"compute_modify"_compute_modify.html, +"fix"_fix.html, +"fix_modify"_fix_modify.html, +"uncompute"_uncompute.html, +"unfix"_unfix.html :ul + +Output: + +"dump image"_dump_image.html, +"dump movie"_dump_image.html, +"dump"_dump.html, +"dump_modify"_dump_modify.html, +"restart"_restart.html, +"thermo"_thermo.html, +"thermo_modify"_thermo_modify.html, +"thermo_style"_thermo_style.html, +"undump"_undump.html, +"write_coeff"_write_coeff.html, +"write_data"_write_data.html, +"write_dump"_write_dump.html, +"write_restart"_write_restart.html :ul + +Actions: + +"minimize"_minimize.html, +"neb"_neb.html, +"prd"_prd.html, +"rerun"_rerun.html, +"run"_run.html, +"tad"_tad.html, +"temper"_temper.html :ul + +Input script control: + +"clear"_clear.html, +"echo"_echo.html, +"if"_if.html, +"include"_include.html, +"jump"_jump.html, +"label"_label.html, +"log"_log.html, +"next"_next.html, +"print"_print.html, +"python"_python.html, +"quit"_quit.html, +"shell"_shell.html, +"variable"_variable.html :ul + diff --git a/doc/src/Commands_compute.txt b/doc/src/Commands_compute.txt new file mode 100644 index 0000000000..028e274c9b --- /dev/null +++ b/doc/src/Commands_compute.txt @@ -0,0 +1,153 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +"All commands"_Commands_all.html, +"Fix styles"_Commands_fix.html, +"Compute styles"_Commands_compute.html, +"Pair styles"_Commands_pair.html, +"Bond styles"_Commands_bond.html, +"Angle styles"_Commands_bond.html#angle, +"Dihedral styles"_Commands_bond.html#dihedral, +"Improper styles"_Commands_bond.html#improper, +"KSpace styles"_Commands_kspace.html :tb(c=3,ea=c) + +Compute commands :h3 + +An alphabetic list of all LAMMPS "compute"_compute.html commands. +Some styles have accelerated versions. This is indicated by +additional letters in parenthesis: g = GPU, i = USER-INTEL, k = +KOKKOS, o = USER-OMP, t = OPT. + +"ackland/atom"_compute_ackland_atom.html, +"aggregate/atom"_compute_cluster_atom.html, +"angle"_compute_angle.html, +"angle/local"_compute_angle_local.html, +"angmom/chunk"_compute_angmom_chunk.html, +"basal/atom"_compute_basal_atom.html, +"body/local"_compute_body_local.html, +"bond"_compute_bond.html, +"bond/local"_compute_bond_local.html, +"centro/atom"_compute_centro_atom.html, +"chunk/atom"_compute_chunk_atom.html, +"cluster/atom"_compute_cluster_atom.html, +"cna/atom"_compute_cna_atom.html, +"cnp/atom"_compute_cnp_atom.html, +"com"_compute_com.html, +"com/chunk"_compute_com_chunk.html, +"contact/atom"_compute_contact_atom.html, +"coord/atom"_compute_coord_atom.html, +"damage/atom"_compute_damage_atom.html, +"dihedral"_compute_dihedral.html, +"dihedral/local"_compute_dihedral_local.html, +"dilatation/atom"_compute_dilatation_atom.html, +"dipole/chunk"_compute_dipole_chunk.html, +"displace/atom"_compute_displace_atom.html, +"dpd"_compute_dpd.html, +"dpd/atom"_compute_dpd_atom.html, +"edpd/temp/atom"_compute_edpd_temp_atom.html, +"entropy/atom"_compute_entropy_atom.html, +"erotate/asphere"_compute_erotate_asphere.html, +"erotate/rigid"_compute_erotate_rigid.html, +"erotate/sphere"_compute_erotate_sphere.html, +"erotate/sphere/atom"_compute_erotate_sphere_atom.html, +"event/displace"_compute_event_displace.html, +"fep"_compute_fep.html, +"force/tally"_compute_tally.html, +"fragment/atom"_compute_cluster_atom.html, +"global/atom"_compute_global_atom.html, +"group/group"_compute_group_group.html, +"gyration"_compute_gyration.html, +"gyration/chunk"_compute_gyration_chunk.html, +"heat/flux"_compute_heat_flux.html, +"heat/flux/tally"_compute_tally.html, +"hexorder/atom"_compute_hexorder_atom.html, +"improper"_compute_improper.html, +"improper/local"_compute_improper_local.html, +"inertia/chunk"_compute_inertia_chunk.html, +"ke"_compute_ke.html, +"ke/atom"_compute_ke_atom.html, +"ke/atom/eff"_compute_ke_atom_eff.html, +"ke/eff"_compute_ke_eff.html, +"ke/rigid"_compute_ke_rigid.html, +"meso/e/atom"_compute_meso_e_atom.html, +"meso/rho/atom"_compute_meso_rho_atom.html, +"meso/t/atom"_compute_meso_t_atom.html, +"msd"_compute_msd.html, +"msd/chunk"_compute_msd_chunk.html, +"msd/nongauss"_compute_msd_nongauss.html, +"omega/chunk"_compute_omega_chunk.html, +"orientorder/atom"_compute_orientorder_atom.html, +"pair"_compute_pair.html, +"pair/local"_compute_pair_local.html, +"pe"_compute_pe.html, +"pe/atom"_compute_pe_atom.html, +"pe/mol/tally"_compute_tally.html, +"pe/tally"_compute_tally.html, +"plasticity/atom"_compute_plasticity_atom.html, +"pressure"_compute_pressure.html, +"pressure/uef"_compute_pressure_uef.html, +"property/atom"_compute_property_atom.html, +"property/chunk"_compute_property_chunk.html, +"property/local"_compute_property_local.html, +"rdf"_compute_rdf.html, +"reduce"_compute_reduce.html, +"reduce/region"_compute_reduce.html, +"rigid/local"_compute_rigid_local.html, +"saed"_compute_saed.html, +"slice"_compute_slice.html, +"smd/contact/radius"_compute_smd_contact_radius.html, +"smd/damage"_compute_smd_damage.html, +"smd/hourglass/error"_compute_smd_hourglass_error.html, +"smd/internal/energy"_compute_smd_internal_energy.html, +"smd/plastic/strain"_compute_smd_plastic_strain.html, +"smd/plastic/strain/rate"_compute_smd_plastic_strain_rate.html, +"smd/rho"_compute_smd_rho.html, +"smd/tlsph/defgrad"_compute_smd_tlsph_defgrad.html, +"smd/tlsph/dt"_compute_smd_tlsph_dt.html, +"smd/tlsph/num/neighs"_compute_smd_tlsph_num_neighs.html, +"smd/tlsph/shape"_compute_smd_tlsph_shape.html, +"smd/tlsph/strain"_compute_smd_tlsph_strain.html, +"smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html, +"smd/tlsph/stress"_compute_smd_tlsph_stress.html, +"smd/triangle/mesh/vertices"_compute_smd_triangle_mesh_vertices.html, +"smd/ulsph/num/neighs"_compute_smd_ulsph_num_neighs.html, +"smd/ulsph/strain"_compute_smd_ulsph_strain.html, +"smd/ulsph/strain/rate"_compute_smd_ulsph_strain_rate.html, +"smd/ulsph/stress"_compute_smd_ulsph_stress.html, +"smd/vol"_compute_smd_vol.html, +"sna/atom"_compute_sna_atom.html, +"snad/atom"_compute_sna_atom.html, +"snav/atom"_compute_sna_atom.html, +"spin"_compute_spin.html, +"stress/atom"_compute_stress_atom.html, +"stress/tally"_compute_tally.html, +"tdpd/cc/atom"_compute_tdpd_cc_atom.html, +"temp (k)"_compute_temp.html, +"temp/asphere"_compute_temp_asphere.html, +"temp/body"_compute_temp_body.html, +"temp/chunk"_compute_temp_chunk.html, +"temp/com"_compute_temp_com.html, +"temp/deform"_compute_temp_deform.html, +"temp/deform/eff"_compute_temp_deform_eff.html, +"temp/drude"_compute_temp_drude.html, +"temp/eff"_compute_temp_eff.html, +"temp/partial"_compute_temp_partial.html, +"temp/profile"_compute_temp_profile.html, +"temp/ramp"_compute_temp_ramp.html, +"temp/region"_compute_temp_region.html, +"temp/region/eff"_compute_temp_region_eff.html, +"temp/rotate"_compute_temp_rotate.html, +"temp/sphere"_compute_temp_sphere.html, +"temp/uef"_compute_temp_uef.html, +"ti"_compute_ti.html, +"torque/chunk"_compute_torque_chunk.html, +"vacf"_compute_vacf.html, +"vcm/chunk"_compute_vcm_chunk.html, +"voronoi/atom"_compute_voronoi_atom.html, +"xrd"_compute_xrd.html :tb(c=6,ea=c) diff --git a/doc/src/Commands_fix.txt b/doc/src/Commands_fix.txt new file mode 100644 index 0000000000..e002c11770 --- /dev/null +++ b/doc/src/Commands_fix.txt @@ -0,0 +1,229 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +"All commands"_Commands_all.html, +"Fix styles"_Commands_fix.html, +"Compute styles"_Commands_compute.html, +"Pair styles"_Commands_pair.html, +"Bond styles"_Commands_bond.html, +"Angle styles"_Commands_bond.html#angle, +"Dihedral styles"_Commands_bond.html#dihedral, +"Improper styles"_Commands_bond.html#improper, +"KSpace styles"_Commands_kspace.html :tb(c=3,ea=c) + +Fix commands :h3 + +An alphabetic list of all LAMMPS "fix"_fix.html commands. Some styles +have accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"adapt"_fix_adapt.html, +"adapt/fep"_fix_adapt_fep.html, +"addforce"_fix_addforce.html, +"addtorque"_fix_addtorque.html, +"append/atoms"_fix_append_atoms.html, +"atc"_fix_atc.html, +"atom/swap"_fix_atom_swap.html, +"ave/atom"_fix_ave_atom.html, +"ave/chunk"_fix_ave_chunk.html, +"ave/correlate"_fix_ave_correlate.html, +"ave/correlate/long"_fix_ave_correlate_long.html, +"ave/histo"_fix_ave_histo.html, +"ave/histo/weight"_fix_ave_histo.html, +"ave/time"_fix_ave_time.html, +"aveforce"_fix_aveforce.html, +"balance"_fix_balance.html, +"bond/break"_fix_bond_break.html, +"bond/create"_fix_bond_create.html, +"bond/react"_fix_bond_react.html, +"bond/swap"_fix_bond_swap.html, +"box/relax"_fix_box_relax.html, +"cmap"_fix_cmap.html, +"colvars"_fix_colvars.html, +"controller"_fix_controller.html, +"deform (k)"_fix_deform.html, +"deposit"_fix_deposit.html, +"dpd/energy (k)"_fix_dpd_energy.html, +"drag"_fix_drag.html, +"drude"_fix_drude.html, +"drude/transform/direct"_fix_drude_transform.html, +"drude/transform/reverse"_fix_drude_transform.html, +"dt/reset"_fix_dt_reset.html, +"edpd/source"_fix_dpd_source.html, +"efield"_fix_efield.html, +"ehex"_fix_ehex.html, +"enforce2d (k)"_fix_enforce2d.html, +"eos/cv"_fix_eos_cv.html, +"eos/table"_fix_eos_table.html, +"eos/table/rx (k)"_fix_eos_table_rx.html, +"evaporate"_fix_evaporate.html, +"external"_fix_external.html, +"filter/corotate"_fix_filter_corotate.html, +"flow/gauss"_fix_flow_gauss.html, +"freeze"_fix_freeze.html, +"gcmc"_fix_gcmc.html, +"gld"_fix_gld.html, +"gle"_fix_gle.html, +"gravity (o)"_fix_gravity.html, +"grem"_fix_grem.html, +"halt"_fix_halt.html, +"heat"_fix_heat.html, +"imd"_fix_imd.html, +"indent"_fix_indent.html, +"ipi"_fix_ipi.html, +"langevin (k)"_fix_langevin.html, +"langevin/drude"_fix_langevin_drude.html, +"langevin/eff"_fix_langevin_eff.html, +"langevin/spin"_fix_langevin_spin.html, +"latte"_fix_latte.html, +"lb/fluid"_fix_lb_fluid.html, +"lb/momentum"_fix_lb_momentum.html, +"lb/pc"_fix_lb_pc.html, +"lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html, +"lb/viscous"_fix_lb_viscous.html, +"lineforce"_fix_lineforce.html, +"manifoldforce"_fix_manifoldforce.html, +"meso"_fix_meso.html, +"meso/stationary"_fix_meso_stationary.html, +"momentum (k)"_fix_momentum.html, +"move"_fix_move.html, +"mscg"_fix_mscg.html, +"msst"_fix_msst.html, +"mvv/dpd"_fix_mvv_dpd.html, +"mvv/edpd"_fix_mvv_dpd.html, +"mvv/tdpd"_fix_mvv_dpd.html, +"neb"_fix_neb.html, +"nph (ko)"_fix_nh.html, +"nph/asphere (o)"_fix_nph_asphere.html, +"nph/body"_fix_nph_body.html, +"nph/eff"_fix_nh_eff.html, +"nph/sphere (o)"_fix_nph_sphere.html, +"nphug (o)"_fix_nphug.html, +"npt (kio)"_fix_nh.html, +"npt/asphere (o)"_fix_npt_asphere.html, +"npt/body"_fix_npt_body.html, +"npt/eff"_fix_nh_eff.html, +"npt/sphere (o)"_fix_npt_sphere.html, +"npt/uef"_fix_nh_uef.html, +"nve (kio)"_fix_nve.html, +"nve/asphere (i)"_fix_nve_asphere.html, +"nve/asphere/noforce"_fix_nve_asphere_noforce.html, +"nve/body"_fix_nve_body.html, +"nve/dot"_fix_nve_dot.html, +"nve/dotc/langevin"_fix_nve_dotc_langevin.html, +"nve/eff"_fix_nve_eff.html, +"nve/limit"_fix_nve_limit.html, +"nve/line"_fix_nve_line.html, +"nve/manifold/rattle"_fix_nve_manifold_rattle.html, +"nve/noforce"_fix_nve_noforce.html, +"nve/sphere (o)"_fix_nve_sphere.html, +"nve/spin"_fix_nve_spin.html, +"nve/tri"_fix_nve_tri.html, +"nvk"_fix_nvk.html, +"nvt (iko)"_fix_nh.html, +"nvt/asphere (o)"_fix_nvt_asphere.html, +"nvt/body"_fix_nvt_body.html, +"nvt/eff"_fix_nh_eff.html, +"nvt/manifold/rattle"_fix_nvt_manifold_rattle.html, +"nvt/sllod (io)"_fix_nvt_sllod.html, +"nvt/sllod/eff"_fix_nvt_sllod_eff.html, +"nvt/sphere (o)"_fix_nvt_sphere.html, +"nvt/uef"_fix_nh_uef.html, +"oneway"_fix_oneway.html, +"orient/bcc"_fix_orient.html, +"orient/fcc"_fix_orient.html, +"phonon"_fix_phonon.html, +"pimd"_fix_pimd.html, +"planeforce"_fix_planeforce.html, +"poems"_fix_poems.html, +"pour"_fix_pour.html, +"precession/spin"_fix_precession_spin.html, +"press/berendsen"_fix_press_berendsen.html, +"print"_fix_print.html, +"property/atom (k)"_fix_property_atom.html, +"python/invoke"_fix_python_invoke.html, +"python/move"_fix_python_move.html, +"qbmsst"_fix_qbmsst.html, +"qeq/comb (o)"_fix_qeq_comb.html, +"qeq/dynamic"_fix_qeq.html, +"qeq/fire"_fix_qeq.html, +"qeq/point"_fix_qeq.html, +"qeq/reax (ko)"_fix_qeq_reax.html, +"qeq/shielded"_fix_qeq.html, +"qeq/slater"_fix_qeq.html, +"qmmm"_fix_qmmm.html, +"qtb"_fix_qtb.html, +"rattle"_fix_shake.html, +"reax/bonds"_fix_reax_bonds.html, +"reax/c/bonds (k)"_fix_reax_bonds.html, +"reax/c/species (k)"_fix_reaxc_species.html, +"recenter"_fix_recenter.html, +"restrain"_fix_restrain.html, +"rhok"_fix_rhok.html, +"rigid (o)"_fix_rigid.html, +"rigid/nph (o)"_fix_rigid.html, +"rigid/npt (o)"_fix_rigid.html, +"rigid/nve (o)"_fix_rigid.html, +"rigid/nvt (o)"_fix_rigid.html, +"rigid/small (o)"_fix_rigid.html, +"rigid/small/nph"_fix_rigid.html, +"rigid/small/npt"_fix_rigid.html, +"rigid/small/nve"_fix_rigid.html, +"rigid/small/nvt"_fix_rigid.html, +"rx (k)"_fix_rx.html, +"saed/vtk"_fix_saed_vtk.html, +"setforce (k)"_fix_setforce.html, +"shake"_fix_shake.html, +"shardlow (k)"_fix_shardlow.html, +"smd"_fix_smd.html, +"smd/adjust/dt"_fix_smd_adjust_dt.html, +"smd/integrate/tlsph"_fix_smd_integrate_tlsph.html, +"smd/integrate/ulsph"_fix_smd_integrate_ulsph.html, +"smd/move/triangulated/surface"_fix_smd_move_triangulated_surface.html, +"smd/setvel"_fix_smd_setvel.html, +"smd/wall/surface"_fix_smd_wall_surface.html, +"spring"_fix_spring.html, +"spring/chunk"_fix_spring_chunk.html, +"spring/rg"_fix_spring_rg.html, +"spring/self"_fix_spring_self.html, +"srd"_fix_srd.html, +"store/force"_fix_store_force.html, +"store/state"_fix_store_state.html, +"tdpd/source"_fix_dpd_source.html, +"temp/berendsen"_fix_temp_berendsen.html, +"temp/csld"_fix_temp_csvr.html, +"temp/csvr"_fix_temp_csvr.html, +"temp/rescale"_fix_temp_rescale.html, +"temp/rescale/eff"_fix_temp_rescale_eff.html, +"tfmc"_fix_tfmc.html, +"thermal/conductivity"_fix_thermal_conductivity.html, +"ti/spring"_fix_ti_spring.html, +"tmd"_fix_tmd.html, +"ttm"_fix_ttm.html, +"ttm/mod"_fix_ttm.html, +"tune/kspace"_fix_tune_kspace.html, +"vector"_fix_vector.html, +"viscosity"_fix_viscosity.html, +"viscous"_fix_viscous.html, +"wall/body/polygon"_fix_wall_body_polygon.html, +"wall/body/polyhedron"_fix_wall_body_polyhedron.html, +"wall/colloid"_fix_wall.html, +"wall/ees"_fix_wall_ees.html, +"wall/gran"_fix_wall_gran.html, +"wall/gran/region"_fix_wall_gran_region.html, +"wall/harmonic"_fix_wall.html, +"wall/lj1043"_fix_wall.html, +"wall/lj126"_fix_wall.html, +"wall/lj93 (k)"_fix_wall.html, +"wall/piston"_fix_wall_piston.html, +"wall/reflect (k)"_fix_wall_reflect.html, +"wall/region"_fix_wall_region.html, +"wall/region/ees"_fix_wall_ees.html, +"wall/srd"_fix_wall_srd.html :tb(c=8,ea=c) diff --git a/doc/src/Commands_input.txt b/doc/src/Commands_input.txt new file mode 100644 index 0000000000..8b3dda741b --- /dev/null +++ b/doc/src/Commands_input.txt @@ -0,0 +1,60 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +LAMMPS input scripts :h3 + +LAMMPS executes by reading commands from a input script (text file), +one line at a time. When the input script ends, LAMMPS exits. Each +command causes LAMMPS to take some action. It may set an internal +variable, read in a file, or run a simulation. Most commands have +default settings, which means you only need to use the command if you +wish to change the default. + +In many cases, the ordering of commands in an input script is not +important. However the following rules apply: + +(1) LAMMPS does not read your entire input script and then perform a +simulation with all the settings. Rather, the input script is read +one line at a time and each command takes effect when it is read. +Thus this sequence of commands: + +timestep 0.5 +run 100 +run 100 :pre + +does something different than this sequence: + +run 100 +timestep 0.5 +run 100 :pre + +In the first case, the specified timestep (0.5 fs) is used for two +simulations of 100 timesteps each. In the 2nd case, the default +timestep (1.0 fs) is used for the 1st 100 step simulation and a 0.5 fs +timestep is used for the 2nd one. + +(2) Some commands are only valid when they follow other commands. For +example you cannot set the temperature of a group of atoms until atoms +have been defined and a group command is used to define which atoms +belong to the group. + +(3) Sometimes command B will use values that can be set by command A. +This means command A must precede command B in the input script if it +is to have the desired effect. For example, the +"read_data"_read_data.html command initializes the system by setting +up the simulation box and assigning atoms to processors. If default +values are not desired, the "processors"_processors.html and +"boundary"_boundary.html commands need to be used before read_data to +tell LAMMPS how to map processors to the simulation box. + +Many input script errors are detected by LAMMPS and an ERROR or +WARNING message is printed. The "Errors"_Errors.html doc page gives +more information on what errors mean. The documentation for each +command lists restrictions on how the command can be used. + diff --git a/doc/src/Commands_kspace.txt b/doc/src/Commands_kspace.txt new file mode 100644 index 0000000000..a126344505 --- /dev/null +++ b/doc/src/Commands_kspace.txt @@ -0,0 +1,36 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands.html) + +:line + +"All commands"_Commands_all.html, +"Fix styles"_Commands_fix.html, +"Compute styles"_Commands_compute.html, +"Pair styles"_Commands_pair.html, +"Bond styles"_Commands_bond.html, +"Angle styles"_Commands_bond.html#angle, +"Dihedral styles"_Commands_bond.html#dihedral, +"Improper styles"_Commands_bond.html#improper, +"KSpace styles"_Commands_kspace.html :tb(c=3,ea=c) + +KSpace solvers :h3 + +All LAMMPS "kspace_style"_kspace_style.html solvers. Some styles have +accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"ewald (o)"_kspace_style.html, +"ewald/disp"_kspace_style.html, +"msm (o)"_kspace_style.html, +"msm/cg (o)"_kspace_style.html, +"pppm (gok)"_kspace_style.html, +"pppm/cg (o)"_kspace_style.html, +"pppm/disp (i)"_kspace_style.html, +"pppm/disp/tip4p"_kspace_style.html, +"pppm/stagger"_kspace_style.html, +"pppm/tip4p (o)"_kspace_style.html :tb(c=4,ea=c) diff --git a/doc/src/Commands_pair.txt b/doc/src/Commands_pair.txt new file mode 100644 index 0000000000..02b22942ae --- /dev/null +++ b/doc/src/Commands_pair.txt @@ -0,0 +1,231 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +"All commands"_Commands_all.html, +"Fix styles"_Commands_fix.html, +"Compute styles"_Commands_compute.html, +"Pair styles"_Commands_pair.html, +"Bond styles"_Commands_bond.html, +"Angle styles"_Commands_bond.html#angle, +"Dihedral styles"_Commands_bond.html#dihedral, +"Improper styles"_Commands_bond.html#improper, +"KSpace styles"_Commands_kspace.html :tb(c=3,ea=c) + +Pair_style potentials :h3 + +All LAMMPS "pair_style"_pair_style.html commands. Some styles have +accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"none"_pair_none.html, +"zero"_pair_zero.html, +"hybrid"_pair_hybrid.html, +"hybrid/overlay (k)"_pair_hybrid.html :tb(c=4,ea=c) + +"adp (o)"_pair_adp.html, +"agni (o)"_pair_agni.html, +"airebo (oi)"_pair_airebo.html, +"airebo/morse (oi)"_pair_airebo.html, +"awpmd/cut"_pair_awpmd.html, +"beck (go)"_pair_beck.html, +"body/nparticle"_pair_body_nparticle.html, +"body/rounded/polygon"_pair_body_rounded/polygon.html, +"body/rounded/polyhedron"_pair_body_rounded/polyhedron.html, +"bop"_pair_bop.html, +"born (go)"_pair_born.html, +"born/coul/dsf"_pair_born.html, +"born/coul/dsf/cs"_pair_born.html, +"born/coul/long (go)"_pair_born.html, +"born/coul/long/cs"_pair_born.html, +"born/coul/msm (o)"_pair_born.html, +"born/coul/wolf (go)"_pair_born.html, +"born/coul/wolf/cs"_pair_born.html, +"brownian (o)"_pair_brownian.html, +"brownian/poly (o)"_pair_brownian.html, +"buck (giko)"_pair_buck.html, +"buck/coul/cut (giko)"_pair_buck.html, +"buck/coul/long (giko)"_pair_buck.html, +"buck/coul/long/cs"_pair_buck.html, +"buck/coul/msm (o)"_pair_buck.html, +"buck/long/coul/long (o)"_pair_buck_long.html, +"buck/mdf"_pair_mdf.html, +"colloid (go)"_pair_colloid.html, +"comb (o)"_pair_comb.html, +"comb3"_pair_comb.html, +"coul/cut (gko)"_pair_coul.html, +"coul/cut/soft (o)"_pair_lj_soft.html, +"coul/debye (gko)"_pair_coul.html, +"coul/diel (o)"_pair_coul_diel.html, +"coul/dsf (gko)"_pair_coul.html, +"coul/long (gko)"_pair_coul.html, +"coul/long/cs"_pair_coul.html, +"coul/long/soft (o)"_pair_lj_soft.html, +"coul/msm"_pair_coul.html, +"coul/shield"_pair_coul_shield.html, +"coul/streitz"_pair_coul.html, +"coul/wolf (ko)"_pair_coul.html, +"coul/wolf/cs"_pair_coul.html, +"dpd (gio)"_pair_dpd.html, +"dpd/fdt"_pair_dpd_fdt.html, +"dpd/fdt/energy (k)"_pair_dpd_fdt.html, +"dpd/tstat (go)"_pair_dpd.html, +"dsmc"_pair_dsmc.html, +"eam (gikot)"_pair_eam.html, +"eam/alloy (gikot)"_pair_eam.html, +"eam/cd (o)"_pair_eam.html, +"eam/fs (gikot)"_pair_eam.html, +"edip (o)"_pair_edip.html, +"edip/multi"_pair_edip.html, +"edpd"_pair_meso.html, +"eff/cut"_pair_eff.html, +"eim (o)"_pair_eim.html, +"exp6/rx (k)"_pair_exp6_rx.html, +"extep"_pair_extep.html, +"gauss (go)"_pair_gauss.html, +"gauss/cut"_pair_gauss.html, +"gayberne (gio)"_pair_gayberne.html, +"gran/hertz/history (o)"_pair_gran.html, +"gran/hooke (o)"_pair_gran.html, +"gran/hooke/history (o)"_pair_gran.html, +"gw"_pair_gw.html, +"gw/zbl"_pair_gw.html, +"hbond/dreiding/lj (o)"_pair_hbond_dreiding.html, +"hbond/dreiding/morse (o)"_pair_hbond_dreiding.html, +"ilp/graphene/hbn"_pair_ilp_graphene_hbn.html, +"kim"_pair_kim.html, +"kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html, +"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html, +"lcbop"_pair_lcbop.html, +"lennard/mdf"_pair_mdf.html, +"line/lj"_pair_line_lj.html, +"list"_pair_list.html, +"lj/charmm/coul/charmm (iko)"_pair_charmm.html, +"lj/charmm/coul/charmm/implicit (ko)"_pair_charmm.html, +"lj/charmm/coul/long (giko)"_pair_charmm.html, +"lj/charmm/coul/long/soft (o)"_pair_charmm.html, +"lj/charmm/coul/msm"_pair_charmm.html, +"lj/charmmfsw/coul/charmmfsh"_pair_charmm.html, +"lj/charmmfsw/coul/long"_pair_charmm.html, +"lj/class2 (gko)"_pair_class2.html, +"lj/class2/coul/cut (ko)"_pair_class2.html, +"lj/class2/coul/long (gko)"_pair_class2.html, +"lj/cubic (go)"_pair_lj_cubic.html, +"lj/cut (gikot)"_pair_lj.html, +"lj/cut/coul/cut (gko)"_pair_lj.html, +"lj/cut/coul/cut/soft (o)"_pair_lj_soft.html, +"lj/cut/coul/debye (gko)"_pair_lj.html, +"lj/cut/coul/dsf (gko)"_pair_lj.html, +"lj/cut/coul/long (gikot)"_pair_lj.html, +"lj/cut/coul/long/cs"_pair_lj.html, +"lj/cut/coul/long/soft (o)"_pair_lj_soft.html, +"lj/cut/coul/msm (go)"_pair_lj.html, +"lj/cut/coul/wolf (o)"_pair_lj.html, +"lj/cut/dipole/cut (go)"_pair_dipole.html, +"lj/cut/dipole/long"_pair_dipole.html, +"lj/cut/dipole/sf (go)"_pair_dipole.html, +"lj/cut/soft (o)"_pair_lj_soft.html, +"lj/cut/thole/long (o)"_pair_thole.html, +"lj/cut/tip4p/cut (o)"_pair_lj.html, +"lj/cut/tip4p/long (ot)"_pair_lj.html, +"lj/cut/tip4p/long/soft (o)"_pair_lj_soft.html, +"lj/expand (gko)"_pair_lj_expand.html, +"lj/gromacs (gko)"_pair_gromacs.html, +"lj/gromacs/coul/gromacs (ko)"_pair_gromacs.html, +"lj/long/coul/long (io)"_pair_lj_long.html, +"lj/long/dipole/long"_pair_dipole.html, +"lj/long/tip4p/long"_pair_lj_long.html, +"lj/mdf"_pair_mdf.html, +"lj/sdk (gko)"_pair_sdk.html, +"lj/sdk/coul/long (go)"_pair_sdk.html, +"lj/sdk/coul/msm (o)"_pair_sdk.html, +"lj/smooth (o)"_pair_lj_smooth.html, +"lj/smooth/linear (o)"_pair_lj_smooth_linear.html, +"lj96/cut (go)"_pair_lj96.html, +"lubricate (o)"_pair_lubricate.html, +"lubricate/poly (o)"_pair_lubricate.html, +"lubricateU"_pair_lubricateU.html, +"lubricateU/poly"_pair_lubricateU.html, +"mdpd"_pair_meso.html, +"mdpd/rhosum"_pair_meso.html, +"meam"_pair_meam.html, +"meam/c"_pair_meam.html, +"meam/spline (o)"_pair_meam_spline.html, +"meam/sw/spline"_pair_meam_sw_spline.html, +"mgpt"_pair_mgpt.html, +"mie/cut (o)"_pair_mie.html, +"momb"_pair_momb.html, +"morse (gkot)"_pair_morse.html, +"morse/smooth/linear"_pair_morse.html, +"morse/soft"_pair_morse.html, +"multi/lucy"_pair_multi_lucy.html, +"multi/lucy/rx (k)"_pair_multi_lucy_rx.html, +"nb3b/harmonic (o)"_pair_nb3b_harmonic.html, +"nm/cut (o)"_pair_nm.html, +"nm/cut/coul/cut (o)"_pair_nm.html, +"nm/cut/coul/long (o)"_pair_nm.html, +"oxdna/coaxstk"_pair_oxdna.html, +"oxdna/excv"_pair_oxdna.html, +"oxdna/hbond"_pair_oxdna.html, +"oxdna/stk"_pair_oxdna.html, +"oxdna/xstk"_pair_oxdna.html, +"oxdna2/coaxstk"_pair_oxdna2.html, +"oxdna2/dh"_pair_oxdna2.html, +"oxdna2/excv"_pair_oxdna2.html, +"oxdna2/stk"_pair_oxdna2.html, +"peri/eps"_pair_peri.html, +"peri/lps (o)"_pair_peri.html, +"peri/pmb (o)"_pair_peri.html, +"peri/ves"_pair_peri.html, +"polymorphic"_pair_polymorphic.html, +"python"_pair_python.html, +"quip"_pair_quip.html, +"reax"_pair_reax.html, +"reax/c (ko)"_pair_reaxc.html, +"rebo (oi)"_pair_airebo.html, +"resquared (go)"_pair_resquared.html, +"smd/hertz"_pair_smd_hertz.html, +"smd/tlsph"_pair_smd_tlsph.html, +"smd/triangulated/surface"_pair_smd_triangulated_surface.html, +"smd/ulsph"_pair_smd_ulsph.html, +"smtbq"_pair_smtbq.html, +"snap (k)"_pair_snap.html, +"snap (k)"_pair_snap.html, +"soft (go)"_pair_soft.html, +"sph/heatconduction"_pair_sph_heatconduction.html, +"sph/idealgas"_pair_sph_idealgas.html, +"sph/lj"_pair_sph_lj.html, +"sph/rhosum"_pair_sph_rhosum.html, +"sph/taitwater"_pair_sph_taitwater.html, +"sph/taitwater/morris"_pair_sph_taitwater_morris.html, +"spin/dmi"_pair_spin_dmi.html, +"spin/exchange"_pair_spin_exchange.html, +"spin/magelec"_pair_spin_magelec.html, +"spin/neel"_pair_spin_neel.html, +"srp"_pair_srp.html, +"sw (giko)"_pair_sw.html, +"table (gko)"_pair_table.html, +"table/rx (k)"_pair_table_rx.html, +"tdpd"_pair_meso.html, +"tersoff (giko)"_pair_tersoff.html, +"tersoff/mod (gko)"_pair_tersoff_mod.html, +"tersoff/mod/c (o)"_pair_tersoff_mod.html, +"tersoff/table (o)"_pair_tersoff.html, +"tersoff/zbl (gko)"_pair_tersoff_zbl.html, +"thole"_pair_thole.html, +"tip4p/cut (o)"_pair_coul.html, +"tip4p/long (o)"_pair_coul.html, +"tip4p/long/soft (o)"_pair_lj_soft.html, +"tri/lj"_pair_tri_lj.html, +"ufm (got)"_pair_ufm.html, +"vashishta (ko)"_pair_vashishta.html, +"vashishta/table (o)"_pair_vashishta.html, +"yukawa (gok)"_pair_yukawa.html, +"yukawa/colloid (go)"_pair_yukawa_colloid.html, +"zbl (gok)"_pair_zbl.html :tb(c=4,ea=c) diff --git a/doc/src/Commands_parse.txt b/doc/src/Commands_parse.txt new file mode 100644 index 0000000000..cbe2261986 --- /dev/null +++ b/doc/src/Commands_parse.txt @@ -0,0 +1,136 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Parsing rules for input scripts :h3 + +Each non-blank line in the input script is treated as a command. +LAMMPS commands are case sensitive. Command names are lower-case, as +are specified command arguments. Upper case letters may be used in +file names or user-chosen ID strings. + +Here are 6 rulse for how each line in the input script is parsed by +LAMMPS: + +(1) If the last printable character on the line is a "&" character, +the command is assumed to continue on the next line. The next line is +concatenated to the previous line by removing the "&" character and +line break. This allows long commands to be continued across two or +more lines. See the discussion of triple quotes in (6) for how to +continue a command across multiple line without using "&" characters. + +(2) All characters from the first "#" character onward are treated as +comment and discarded. See an exception in (6). Note that a +comment after a trailing "&" character will prevent the command from +continuing on the next line. Also note that for multi-line commands a +single leading "#" will comment out the entire command. + +(3) The line is searched repeatedly for $ characters, which indicate +variables that are replaced with a text string. See an exception in +(6). + +If the $ is followed by curly brackets, then the variable name is the +text inside the curly brackets. If no curly brackets follow the $, +then the variable name is the single character immediately following +the $. Thus $\{myTemp\} and $x refer to variable names "myTemp" and +"x". + +How the variable is converted to a text string depends on what style +of variable it is; see the "variable"_variable.html doc page for details. +It can be a variable that stores multiple text strings, and return one +of them. The returned text string can be multiple "words" (space +separated) which will then be interpreted as multiple arguments in the +input command. The variable can also store a numeric formula which +will be evaluated and its numeric result returned as a string. + +As a special case, if the $ is followed by parenthesis, then the text +inside the parenthesis is treated as an "immediate" variable and +evaluated as an "equal-style variable"_variable.html. This is a way +to use numeric formulas in an input script without having to assign +them to variable names. For example, these 3 input script lines: + +variable X equal (xlo+xhi)/2+sqrt(v_area) +region 1 block $X 2 INF INF EDGE EDGE +variable X delete :pre + +can be replaced by + +region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE :pre + +so that you do not have to define (or discard) a temporary variable X. + +Additionally, the "immediate" variable expression may be followed by a +colon, followed by a C-style format string, e.g. ":%f" or ":%.10g". +The format string must be appropriate for a double-precision +floating-point value. The format string is used to output the result +of the variable expression evaluation. If a format string is not +specified a high-precision "%.20g" is used as the default. + +This can be useful for formatting print output to a desired precion: + +print "Final energy per atom: $(pe/atoms:%10.3f) eV/atom" :pre + +Note that neither the curly-bracket or immediate form of variables can +contain nested $ characters for other variables to substitute for. +Thus you cannot do this: + +variable a equal 2 +variable b2 equal 4 +print "B2 = $\{b$a\}" :pre + +Nor can you specify this $($x-1.0) for an immediate variable, but +you could use $(v_x-1.0), since the latter is valid syntax for an +"equal-style variable"_variable.html. + +See the "variable"_variable.html command for more details of how +strings are assigned to variables and evaluated, and how they can be +used in input script commands. + +(4) The line is broken into "words" separated by whitespace (tabs, +spaces). Note that words can thus contain letters, digits, +underscores, or punctuation characters. + +(5) The first word is the command name. All successive words in the +line are arguments. + +(6) If you want text with spaces to be treated as a single argument, +it can be enclosed in either single or double or triple quotes. A +long single argument enclosed in single or double quotes can span +multiple lines if the "&" character is used, as described above. When +the lines are concatenated together (and the "&" characters and line +breaks removed), the text will become a single line. If you want +multiple lines of an argument to retain their line breaks, the text +can be enclosed in triple quotes, in which case "&" characters are not +needed. For example: + +print "Volume = $v" +print 'Volume = $v' +if "$\{steps\} > 1000" then quit +variable a string "red green blue & + purple orange cyan" +print """ +System volume = $v +System temperature = $t +""" :pre + +In each case, the single, double, or triple quotes are removed when +the single argument they enclose is stored internally. + +See the "dump modify format"_dump_modify.html, "print"_print.html, +"if"_if.html, and "python"_python.html commands for examples. + +A "#" or "$" character that is between quotes will not be treated as a +comment indicator in (2) or substituted for as a variable in (3). + +NOTE: If the argument is itself a command that requires a quoted +argument (e.g. using a "print"_print.html command as part of an +"if"_if.html or "run every"_run.html command), then single, double, or +triple quotes can be nested in the usual manner. See the doc pages +for those commands for examples. Only one of level of nesting is +allowed, but that should be sufficient for most use cases. + diff --git a/doc/src/Commands_structure.txt b/doc/src/Commands_structure.txt new file mode 100644 index 0000000000..b5d2c7b07b --- /dev/null +++ b/doc/src/Commands_structure.txt @@ -0,0 +1,95 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Input script structure :h3 + +This page describes the structure of a typical LAMMPS input script. +The examples directory in the LAMMPS distribution contains many sample +input scripts; it is discussed on the "Examples"_Examples.html doc +page. + +A LAMMPS input script typically has 4 parts: + +Initialization +Atom definition +Settings +Run a simulation :ol + +The last 2 parts can be repeated as many times as desired. I.e. run a +simulation, change some settings, run some more, etc. Each of the 4 +parts is now described in more detail. Remember that almost all +commands need only be used if a non-default value is desired. + +(1) Initialization + +Set parameters that need to be defined before atoms are created or +read-in from a file. + +The relevant commands are "units"_units.html, +"dimension"_dimension.html, "newton"_newton.html, +"processors"_processors.html, "boundary"_boundary.html, +"atom_style"_atom_style.html, "atom_modify"_atom_modify.html. + +If force-field parameters appear in the files that will be read, these +commands tell LAMMPS what kinds of force fields are being used: +"pair_style"_pair_style.html, "bond_style"_bond_style.html, +"angle_style"_angle_style.html, "dihedral_style"_dihedral_style.html, +"improper_style"_improper_style.html. + +(2) Atom definition + +There are 3 ways to define atoms in LAMMPS. Read them in from a data +or restart file via the "read_data"_read_data.html or +"read_restart"_read_restart.html commands. These files can contain +molecular topology information. Or create atoms on a lattice (with no +molecular topology), using these commands: "lattice"_lattice.html, +"region"_region.html, "create_box"_create_box.html, +"create_atoms"_create_atoms.html. The entire set of atoms can be +duplicated to make a larger simulation using the +"replicate"_replicate.html command. + +(3) Settings + +Once atoms and molecular topology are defined, a variety of settings +can be specified: force field coefficients, simulation parameters, +output options, etc. + +Force field coefficients are set by these commands (they can also be +set in the read-in files): "pair_coeff"_pair_coeff.html, +"bond_coeff"_bond_coeff.html, "angle_coeff"_angle_coeff.html, +"dihedral_coeff"_dihedral_coeff.html, +"improper_coeff"_improper_coeff.html, +"kspace_style"_kspace_style.html, "dielectric"_dielectric.html, +"special_bonds"_special_bonds.html. + +Various simulation parameters are set by these commands: +"neighbor"_neighbor.html, "neigh_modify"_neigh_modify.html, +"group"_group.html, "timestep"_timestep.html, +"reset_timestep"_reset_timestep.html, "run_style"_run_style.html, +"min_style"_min_style.html, "min_modify"_min_modify.html. + +Fixes impose a variety of boundary conditions, time integration, and +diagnostic options. The "fix"_fix.html command comes in many flavors. + +Various computations can be specified for execution during a +simulation using the "compute"_compute.html, +"compute_modify"_compute_modify.html, and "variable"_variable.html +commands. + +Output options are set by the "thermo"_thermo.html, "dump"_dump.html, +and "restart"_restart.html commands. + +(4) Run a simulation + +A molecular dynamics simulation is run using the "run"_run.html +command. Energy minimization (molecular statics) is performed using +the "minimize"_minimize.html command. A parallel tempering +(replica-exchange) simulation can be run using the +"temper"_temper.html command. + diff --git a/doc/src/Errors.txt b/doc/src/Errors.txt index 92a577c5f2..1b6206c780 100644 --- a/doc/src/Errors.txt +++ b/doc/src/Errors.txt @@ -4,7 +4,7 @@ Section"_Manual.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Errors_bugs.txt b/doc/src/Errors_bugs.txt index c0a94c7a44..4a8e62e775 100644 --- a/doc/src/Errors_bugs.txt +++ b/doc/src/Errors_bugs.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Errors_common.txt b/doc/src/Errors_common.txt index 86a25f7e7d..43d1a85a7b 100644 --- a/doc/src/Errors_common.txt +++ b/doc/src/Errors_common.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Errors_messages.txt b/doc/src/Errors_messages.txt index 39eabbd232..03fc25b561 100644 --- a/doc/src/Errors_messages.txt +++ b/doc/src/Errors_messages.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Errors_warnings.txt b/doc/src/Errors_warnings.txt index 1da777043c..dd3402ba86 100644 --- a/doc/src/Errors_warnings.txt +++ b/doc/src/Errors_warnings.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Examples.txt b/doc/src/Examples.txt index b01b289d5e..5bd8da2409 100644 --- a/doc/src/Examples.txt +++ b/doc/src/Examples.txt @@ -4,7 +4,7 @@ Section"_Tools.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_2d.txt b/doc/src/Howto_2d.txt index ea11a7d546..e1758c05d5 100644 --- a/doc/src/Howto_2d.txt +++ b/doc/src/Howto_2d.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_barostat.txt b/doc/src/Howto_barostat.txt index b289ebfc4c..7c3db89152 100644 --- a/doc/src/Howto_barostat.txt +++ b/doc/src/Howto_barostat.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_bash.txt b/doc/src/Howto_bash.txt index 572157ab55..f1438418e7 100755 --- a/doc/src/Howto_bash.txt +++ b/doc/src/Howto_bash.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_bioFF.txt b/doc/src/Howto_bioFF.txt index 91d6eb0a8e..afb8a84f2e 100644 --- a/doc/src/Howto_bioFF.txt +++ b/doc/src/Howto_bioFF.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_body.txt b/doc/src/Howto_body.txt index 3031563f98..3535349b46 100644 --- a/doc/src/Howto_body.txt +++ b/doc/src/Howto_body.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -17,9 +17,9 @@ surface meshes of discrete points, collections of sub-particles, deformable objects, etc. Note that other kinds of finite-size spherical and aspherical particles are also supported by LAMMPS, such as spheres, ellipsoids, line segments, and triangles, but they are -simpler entities that body particles. See "Section -6.14"_Section_howto.html#howto_14 for a general overview of all these -particle types. +simpler entities that body particles. See the "Howto +spherical"_Howto_spherical.html doc page for a general overview of all +these particle types. Body particles are used via the "atom_style body"_atom_style.html command. It takes a body style as an argument. The current body diff --git a/doc/src/Howto_chunk.txt b/doc/src/Howto_chunk.txt index 9d757b2729..8e52acf4b8 100644 --- a/doc/src/Howto_chunk.txt +++ b/doc/src/Howto_chunk.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_coreshell.txt b/doc/src/Howto_coreshell.txt index 273568418b..4f1cd64384 100644 --- a/doc/src/Howto_coreshell.txt +++ b/doc/src/Howto_coreshell.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_couple.txt b/doc/src/Howto_couple.txt index ec45bd1290..38595a9d16 100644 --- a/doc/src/Howto_couple.txt +++ b/doc/src/Howto_couple.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_diffusion.txt b/doc/src/Howto_diffusion.txt index e0e16e1042..401c1e359c 100644 --- a/doc/src/Howto_diffusion.txt +++ b/doc/src/Howto_diffusion.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_dispersion.txt b/doc/src/Howto_dispersion.txt index 000f45076d..4ea286258e 100644 --- a/doc/src/Howto_dispersion.txt +++ b/doc/src/Howto_dispersion.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_drude.txt b/doc/src/Howto_drude.txt index e9c30db772..ebdf5f8658 100644 --- a/doc/src/Howto_drude.txt +++ b/doc/src/Howto_drude.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_drude2.txt b/doc/src/Howto_drude2.txt index f6e7eed40b..a342d4a87d 100644 --- a/doc/src/Howto_drude2.txt +++ b/doc/src/Howto_drude2.txt @@ -9,7 +9,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_elastic.txt b/doc/src/Howto_elastic.txt index 4dda13fa53..68b30970ca 100644 --- a/doc/src/Howto_elastic.txt +++ b/doc/src/Howto_elastic.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_github.txt b/doc/src/Howto_github.txt index 191242205e..720b3317f0 100644 --- a/doc/src/Howto_github.txt +++ b/doc/src/Howto_github.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_granular.txt b/doc/src/Howto_granular.txt index cfa01bcb63..8027369501 100644 --- a/doc/src/Howto_granular.txt +++ b/doc/src/Howto_granular.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_kappa.txt b/doc/src/Howto_kappa.txt index 949901f21a..b2a57ef49b 100644 --- a/doc/src/Howto_kappa.txt +++ b/doc/src/Howto_kappa.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_library.txt b/doc/src/Howto_library.txt index b15aadd214..0d4852fbf2 100644 --- a/doc/src/Howto_library.txt +++ b/doc/src/Howto_library.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_manifold.txt b/doc/src/Howto_manifold.txt index c9bb1ce57f..09a936f7d3 100644 --- a/doc/src/Howto_manifold.txt +++ b/doc/src/Howto_manifold.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_multiple.txt b/doc/src/Howto_multiple.txt index 3516debb71..edcb8196cf 100644 --- a/doc/src/Howto_multiple.txt +++ b/doc/src/Howto_multiple.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_nemd.txt b/doc/src/Howto_nemd.txt index efb3a5cd73..f787801c36 100644 --- a/doc/src/Howto_nemd.txt +++ b/doc/src/Howto_nemd.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_output.txt b/doc/src/Howto_output.txt index ed2a78ee19..a204a3cc96 100644 --- a/doc/src/Howto_output.txt +++ b/doc/src/Howto_output.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_polarizable.txt b/doc/src/Howto_polarizable.txt index ec96ddc9a9..b2653b117e 100644 --- a/doc/src/Howto_polarizable.txt +++ b/doc/src/Howto_polarizable.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_pylammps.txt b/doc/src/Howto_pylammps.txt index abf7c52d05..8be4b66e78 100644 --- a/doc/src/Howto_pylammps.txt +++ b/doc/src/Howto_pylammps.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_replica.txt b/doc/src/Howto_replica.txt index b2f0faa209..1b44fe5374 100644 --- a/doc/src/Howto_replica.txt +++ b/doc/src/Howto_replica.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_restart.txt b/doc/src/Howto_restart.txt index d2a993fcd3..b211775479 100644 --- a/doc/src/Howto_restart.txt +++ b/doc/src/Howto_restart.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_spc.txt b/doc/src/Howto_spc.txt index 6a63c1f6a6..2cbf16547b 100644 --- a/doc/src/Howto_spc.txt +++ b/doc/src/Howto_spc.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_spherical.txt b/doc/src/Howto_spherical.txt index c239f72c2a..1e737df655 100644 --- a/doc/src/Howto_spherical.txt +++ b/doc/src/Howto_spherical.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_spins.txt b/doc/src/Howto_spins.txt index 3cb9e480b2..1b9adb49a5 100644 --- a/doc/src/Howto_spins.txt +++ b/doc/src/Howto_spins.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_temperature.txt b/doc/src/Howto_temperature.txt index 3d1bd8a2d6..7a318250cf 100644 --- a/doc/src/Howto_temperature.txt +++ b/doc/src/Howto_temperature.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_thermostat.txt b/doc/src/Howto_thermostat.txt index c1887d9738..0e2feb1869 100644 --- a/doc/src/Howto_thermostat.txt +++ b/doc/src/Howto_thermostat.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_tip3p.txt b/doc/src/Howto_tip3p.txt index 23ab604d1f..942b42aea1 100644 --- a/doc/src/Howto_tip3p.txt +++ b/doc/src/Howto_tip3p.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_tip4p.txt b/doc/src/Howto_tip4p.txt index a471bdc918..f9e548e268 100644 --- a/doc/src/Howto_tip4p.txt +++ b/doc/src/Howto_tip4p.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_triclinic.txt b/doc/src/Howto_triclinic.txt index 10bcc5e9d1..4b299e5ae1 100644 --- a/doc/src/Howto_triclinic.txt +++ b/doc/src/Howto_triclinic.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) Triclinic (non-orthogonal) simulation boxes :h3 diff --git a/doc/src/Howto_viscosity.txt b/doc/src/Howto_viscosity.txt index 4760607fd5..8bcab6dd24 100644 --- a/doc/src/Howto_viscosity.txt +++ b/doc/src/Howto_viscosity.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_viz.txt b/doc/src/Howto_viz.txt index 53635442c8..00c329c50b 100644 --- a/doc/src/Howto_viz.txt +++ b/doc/src/Howto_viz.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_walls.txt b/doc/src/Howto_walls.txt index 7b0f8c0cfa..7522118582 100644 --- a/doc/src/Howto_walls.txt +++ b/doc/src/Howto_walls.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Intro_authors.txt b/doc/src/Intro_authors.txt index 96b4b861ca..b48c1eb59a 100644 --- a/doc/src/Intro_authors.txt +++ b/doc/src/Intro_authors.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Intro_features.txt b/doc/src/Intro_features.txt index 2a405ebf77..4b7d1d41e2 100644 --- a/doc/src/Intro_features.txt +++ b/doc/src/Intro_features.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -74,8 +74,8 @@ commands) long-range interactions for charge, point-dipoles, and LJ dispersion: \ Ewald, Wolf, PPPM (similar to particle-mesh Ewald) polarization models: "QEq"_fix_qeq.html, \ - "core/shell model"_Section_howto.html#howto_26, \ - "Drude dipole model"_Section_howto.html#howto_27 + "core/shell model"_Howto_coreshell.html, \ + "Drude dipole model"_Howto_drude.html charge equilibration (QEq via dynamic, point, shielded, Slater methods) coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO mesoscopic potentials: granular, Peridynamics, SPH diff --git a/doc/src/Intro_nonfeatures.txt b/doc/src/Intro_nonfeatures.txt index 29b2eacf08..41f001fc8b 100644 --- a/doc/src/Intro_nonfeatures.txt +++ b/doc/src/Intro_nonfeatures.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Intro_opensource.txt b/doc/src/Intro_opensource.txt index 83384a22a2..e0d57f7ce1 100644 --- a/doc/src/Intro_opensource.txt +++ b/doc/src/Intro_opensource.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Intro_overview.txt b/doc/src/Intro_overview.txt index 51ad218216..49c14bc5f0 100644 --- a/doc/src/Intro_overview.txt +++ b/doc/src/Intro_overview.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Intro_website.txt b/doc/src/Intro_website.txt index 61c9babe1c..a8af94157c 100644 --- a/doc/src/Intro_website.txt +++ b/doc/src/Intro_website.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index ddb9b152ec..a5e8b63640 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -14,7 +14,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html#comm) :line @@ -73,7 +73,7 @@ every LAMMPS command. Intro Section_start - Section_commands + Commands Packages Speed Howto @@ -116,12 +116,7 @@ END_RST --> 2.6 "Command-line options"_start_6 :b 2.7 "Screen output"_start_7 :b 2.8 "Tips for users of previous versions"_start_8 :ule,b -"Commands"_Section_commands.html :l - 3.1 "LAMMPS input script"_cmd_1 :ulb,b - 3.2 "Parsing rules"_cmd_2 :b - 3.3 "Input script structure"_cmd_3 :b - 3.4 "Commands listed by category"_cmd_4 :b - 3.5 "Commands listed alphabetically"_cmd_5 :ule,b +"Commands"_Commands.html :l "Optional packages"_Packages.html :l "Accelerate performance"_Speed.html :l "How-to discussions"_Howto.html :l @@ -141,12 +136,6 @@ END_RST --> :link(start_7,Section_start.html#start_7) :link(start_8,Section_start.html#start_8) -:link(cmd_1,Section_commands.html#cmd_1) -:link(cmd_2,Section_commands.html#cmd_2) -:link(cmd_3,Section_commands.html#cmd_3) -:link(cmd_4,Section_commands.html#cmd_4) -:link(cmd_5,Section_commands.html#cmd_5) - diff --git a/doc/src/Manual_version.txt b/doc/src/Manual_version.txt index db4301b6ea..8583eabf86 100644 --- a/doc/src/Manual_version.txt +++ b/doc/src/Manual_version.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify.txt b/doc/src/Modify.txt index ae0b0dc6bd..f828bd5d74 100644 --- a/doc/src/Modify.txt +++ b/doc/src/Modify.txt @@ -4,7 +4,7 @@ Section"_Python.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_atom.txt b/doc/src/Modify_atom.txt index afa1c319d2..60c7dccb29 100644 --- a/doc/src/Modify_atom.txt +++ b/doc/src/Modify_atom.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_body.txt b/doc/src/Modify_body.txt index a0627ebdda..0114ae10c8 100644 --- a/doc/src/Modify_body.txt +++ b/doc/src/Modify_body.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_bond.txt b/doc/src/Modify_bond.txt index f0828a0c3b..7ceea3f910 100644 --- a/doc/src/Modify_bond.txt +++ b/doc/src/Modify_bond.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_command.txt b/doc/src/Modify_command.txt index 6fc9aad1fc..4576f6c806 100644 --- a/doc/src/Modify_command.txt +++ b/doc/src/Modify_command.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_compute.txt b/doc/src/Modify_compute.txt index b02b8a983e..2f6481dbd5 100644 --- a/doc/src/Modify_compute.txt +++ b/doc/src/Modify_compute.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_contribute.txt b/doc/src/Modify_contribute.txt index 9d47b08251..ef9fe6a717 100644 --- a/doc/src/Modify_contribute.txt +++ b/doc/src/Modify_contribute.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_dump.txt b/doc/src/Modify_dump.txt index 81af54e003..cfe96f5d3d 100644 --- a/doc/src/Modify_dump.txt +++ b/doc/src/Modify_dump.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_fix.txt b/doc/src/Modify_fix.txt index ba985475cc..b095ebc4b5 100644 --- a/doc/src/Modify_fix.txt +++ b/doc/src/Modify_fix.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_kspace.txt b/doc/src/Modify_kspace.txt index 21407bf2e9..d5f018411d 100644 --- a/doc/src/Modify_kspace.txt +++ b/doc/src/Modify_kspace.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_min.txt b/doc/src/Modify_min.txt index 5dcf0f1e67..8252a576f3 100644 --- a/doc/src/Modify_min.txt +++ b/doc/src/Modify_min.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_overview.txt b/doc/src/Modify_overview.txt index f9964d964b..cf94b40281 100644 --- a/doc/src/Modify_overview.txt +++ b/doc/src/Modify_overview.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_pair.txt b/doc/src/Modify_pair.txt index 8c234dc621..0ebf2daa30 100644 --- a/doc/src/Modify_pair.txt +++ b/doc/src/Modify_pair.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_region.txt b/doc/src/Modify_region.txt index 9fbf359292..cdf192323a 100644 --- a/doc/src/Modify_region.txt +++ b/doc/src/Modify_region.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_thermo.txt b/doc/src/Modify_thermo.txt index 001a9f99e1..1772bae87a 100644 --- a/doc/src/Modify_thermo.txt +++ b/doc/src/Modify_thermo.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_variable.txt b/doc/src/Modify_variable.txt index 3c5b29cd1a..b163272f3e 100644 --- a/doc/src/Modify_variable.txt +++ b/doc/src/Modify_variable.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Packages.txt b/doc/src/Packages.txt index 6498d03063..a7f45a99b7 100644 --- a/doc/src/Packages.txt +++ b/doc/src/Packages.txt @@ -1,10 +1,10 @@ -"Previous Section"_Section_commands.html - "LAMMPS WWW Site"_lws - +"Previous Section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Speed.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 2b89809721..eb92fe4dc4 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -396,7 +396,7 @@ lib/gpu/README "Section 2.6 -sf gpu"_Section_start.html#start_6 "Section 2.6 -pk gpu"_Section_start.html#start_6 "package gpu"_package.html -Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 for pair styles followed by (g) +"Commands all"_Commands_all.html pages (pair,kspace) for styles followed by (g) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line @@ -487,8 +487,8 @@ See the list of all KIM models here: https://openkim.org/kim-items/models/by-model-drivers See the list of example KIM models included by default here: -https://openkim.org/kim-api in the "What is in the KIM API source -package?" section +https://openkim.org/kim-api on the "What is in the KIM API source +package?" page. You can then install/un-install the package and build LAMMPS in the usual manner: @@ -593,7 +593,7 @@ lib/kokkos/README "Section 2.6 -sf kk"_Section_start.html#start_6 "Section 2.6 -pk kokkos"_Section_start.html#start_6 "package kokkos"_package.html -Styles sections of "Section 3.5"_Section_commands.html#cmd_5 for styles followed by (k) +"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (k) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line @@ -631,7 +631,7 @@ src/KSPACE: filenames -> commands "Howto tip4p"_Howto_tip4p.html "Howto spc"_Howto_spc.html "pair_style coul"_pair_coul.html -Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 with "long" or "msm" in pair style name +"Commands pair"_Commands_pair.html page for styles with "long" or "msm" in name examples/peptide bench/in.rhodo :ul @@ -715,7 +715,7 @@ make machine :pre [Supporting info:] src/MANYBODY: filenames -> commands -Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 +"Commands pair"_Commands_pair.html page examples/comb examples/eim examples/nb3d @@ -1017,7 +1017,7 @@ src/OPT: filenames -> commands "Speed packages"_Speed_packages.html "Speed opt"_Speed_opt.html "Section 2.6 -sf opt"_Section_start.html#start_6 -Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 for pair styles followed by (t) +"Commands pair"_Commands_pair.html for styles followed by (t) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line @@ -2072,7 +2072,7 @@ src/USER-INTEL/README "Section 2.6 -sf intel"_Section_start.html#start_6 "Section 2.6 -pk intel"_Section_start.html#start_6 "package intel"_package.html -Styles sections of "Section 3.5"_Section_commands.html#cmd_5 for styles followed by (i) +"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (i) src/USER-INTEL/TEST "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul @@ -2457,7 +2457,7 @@ src/USER-OMP/README "Section 2.6 -sf omp"_Section_start.html#start_6 "Section 2.6 -pk omp"_Section_start.html#start_6 "package omp"_package.html -Styles sections of "Section 3.5"_Section_commands.html#cmd_5 for styles followed by (o) +"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (o) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line diff --git a/doc/src/Packages_standard.txt b/doc/src/Packages_standard.txt index cff2d38273..7e64345602 100644 --- a/doc/src/Packages_standard.txt +++ b/doc/src/Packages_standard.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Packages_user.txt b/doc/src/Packages_user.txt index 0465296980..c8728148f9 100644 --- a/doc/src/Packages_user.txt +++ b/doc/src/Packages_user.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python.txt b/doc/src/Python.txt index 169670d669..2c9c6872bb 100644 --- a/doc/src/Python.txt +++ b/doc/src/Python.txt @@ -4,7 +4,7 @@ Section"_Errors.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_call.txt b/doc/src/Python_call.txt index 3e30a5a7c7..621f1fe241 100644 --- a/doc/src/Python_call.txt +++ b/doc/src/Python_call.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_examples.txt b/doc/src/Python_examples.txt index fbca381e8b..46e5fee2b9 100644 --- a/doc/src/Python_examples.txt +++ b/doc/src/Python_examples.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_install.txt b/doc/src/Python_install.txt index 631f6c4a7f..6591360ae2 100644 --- a/doc/src/Python_install.txt +++ b/doc/src/Python_install.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_library.txt b/doc/src/Python_library.txt index db16c39a47..8d0c724a45 100644 --- a/doc/src/Python_library.txt +++ b/doc/src/Python_library.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_mpi.txt b/doc/src/Python_mpi.txt index 8377bbb3d0..6e0a2ce319 100644 --- a/doc/src/Python_mpi.txt +++ b/doc/src/Python_mpi.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_pylammps.txt b/doc/src/Python_pylammps.txt index cdc8e2c086..d7baa93e2e 100644 --- a/doc/src/Python_pylammps.txt +++ b/doc/src/Python_pylammps.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_run.txt b/doc/src/Python_run.txt index 03ab2ed3d7..a94dc07f2d 100644 --- a/doc/src/Python_run.txt +++ b/doc/src/Python_run.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_shlib.txt b/doc/src/Python_shlib.txt index 1aafbe2e84..1a921e4025 100644 --- a/doc/src/Python_shlib.txt +++ b/doc/src/Python_shlib.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_test.txt b/doc/src/Python_test.txt index 5f361a500b..4a05d5c468 100644 --- a/doc/src/Python_test.txt +++ b/doc/src/Python_test.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt deleted file mode 100644 index daedb00a0a..0000000000 --- a/doc/src/Section_commands.txt +++ /dev/null @@ -1,1292 +0,0 @@ -"Previous Section"_Section_start.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Packages.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -3. Commands :h2 - -This section describes how a LAMMPS input script is formatted and the -input script commands used to define a LAMMPS simulation. - -3.1 "LAMMPS input script"_#cmd_1 -3.2 "Parsing rules"_#cmd_2 -3.3 "Input script structure"_#cmd_3 -3.4 "Commands listed by category"_#cmd_4 -3.5 "Commands listed alphabetically"_#cmd_5 :all(b) - -:line -:line - -3.1 LAMMPS input script :link(cmd_1),h4 - -LAMMPS executes by reading commands from a input script (text file), -one line at a time. When the input script ends, LAMMPS exits. Each -command causes LAMMPS to take some action. It may set an internal -variable, read in a file, or run a simulation. Most commands have -default settings, which means you only need to use the command if you -wish to change the default. - -In many cases, the ordering of commands in an input script is not -important. However the following rules apply: - -(1) LAMMPS does not read your entire input script and then perform a -simulation with all the settings. Rather, the input script is read -one line at a time and each command takes effect when it is read. -Thus this sequence of commands: - -timestep 0.5 -run 100 -run 100 :pre - -does something different than this sequence: - -run 100 -timestep 0.5 -run 100 :pre - -In the first case, the specified timestep (0.5 fmsec) is used for two -simulations of 100 timesteps each. In the 2nd case, the default -timestep (1.0 fmsec) is used for the 1st 100 step simulation and a 0.5 -fmsec timestep is used for the 2nd one. - -(2) Some commands are only valid when they follow other commands. For -example you cannot set the temperature of a group of atoms until atoms -have been defined and a group command is used to define which atoms -belong to the group. - -(3) Sometimes command B will use values that can be set by command A. -This means command A must precede command B in the input script if it -is to have the desired effect. For example, the -"read_data"_read_data.html command initializes the system by setting -up the simulation box and assigning atoms to processors. If default -values are not desired, the "processors"_processors.html and -"boundary"_boundary.html commands need to be used before read_data to -tell LAMMPS how to map processors to the simulation box. - -Many input script errors are detected by LAMMPS and an ERROR or -WARNING message is printed. The "Errors"_Errors.html doc page gives -more information on what errors mean. The documentation for each -command lists restrictions on how the command can be used. - -:line - -3.2 Parsing rules :link(cmd_2),h4 - -Each non-blank line in the input script is treated as a command. -LAMMPS commands are case sensitive. Command names are lower-case, as -are specified command arguments. Upper case letters may be used in -file names or user-chosen ID strings. - -Here is how each line in the input script is parsed by LAMMPS: - -(1) If the last printable character on the line is a "&" character, -the command is assumed to continue on the next line. The next line is -concatenated to the previous line by removing the "&" character and -line break. This allows long commands to be continued across two or -more lines. See the discussion of triple quotes in (6) for how to -continue a command across multiple line without using "&" characters. - -(2) All characters from the first "#" character onward are treated as -comment and discarded. See an exception in (6). Note that a -comment after a trailing "&" character will prevent the command from -continuing on the next line. Also note that for multi-line commands a -single leading "#" will comment out the entire command. - -(3) The line is searched repeatedly for $ characters, which indicate -variables that are replaced with a text string. See an exception in -(6). - -If the $ is followed by curly brackets, then the variable name is the -text inside the curly brackets. If no curly brackets follow the $, -then the variable name is the single character immediately following -the $. Thus $\{myTemp\} and $x refer to variable names "myTemp" and -"x". - -How the variable is converted to a text string depends on what style -of variable it is; see the "variable"_variable.html doc page for details. -It can be a variable that stores multiple text strings, and return one -of them. The returned text string can be multiple "words" (space -separated) which will then be interpreted as multiple arguments in the -input command. The variable can also store a numeric formula which -will be evaluated and its numeric result returned as a string. - -As a special case, if the $ is followed by parenthesis, then the text -inside the parenthesis is treated as an "immediate" variable and -evaluated as an "equal-style variable"_variable.html. This is a way -to use numeric formulas in an input script without having to assign -them to variable names. For example, these 3 input script lines: - -variable X equal (xlo+xhi)/2+sqrt(v_area) -region 1 block $X 2 INF INF EDGE EDGE -variable X delete :pre - -can be replaced by - -region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE :pre - -so that you do not have to define (or discard) a temporary variable X. - -Additionally, the "immediate" variable expression may be followed by a -colon, followed by a C-style format string, e.g. ":%f" or ":%.10g". -The format string must be appropriate for a double-precision -floating-point value. The format string is used to output the result -of the variable expression evaluation. If a format string is not -specified a high-precision "%.20g" is used as the default. - -This can be useful for formatting print output to a desired precion: - -print "Final energy per atom: $(pe/atoms:%10.3f) eV/atom" :pre - -Note that neither the curly-bracket or immediate form of variables can -contain nested $ characters for other variables to substitute for. -Thus you cannot do this: - -variable a equal 2 -variable b2 equal 4 -print "B2 = $\{b$a\}" :pre - -Nor can you specify this $($x-1.0) for an immediate variable, but -you could use $(v_x-1.0), since the latter is valid syntax for an -"equal-style variable"_variable.html. - -See the "variable"_variable.html command for more details of how -strings are assigned to variables and evaluated, and how they can be -used in input script commands. - -(4) The line is broken into "words" separated by whitespace (tabs, -spaces). Note that words can thus contain letters, digits, -underscores, or punctuation characters. - -(5) The first word is the command name. All successive words in the -line are arguments. - -(6) If you want text with spaces to be treated as a single argument, -it can be enclosed in either single or double or triple quotes. A -long single argument enclosed in single or double quotes can span -multiple lines if the "&" character is used, as described above. When -the lines are concatenated together (and the "&" characters and line -breaks removed), the text will become a single line. If you want -multiple lines of an argument to retain their line breaks, the text -can be enclosed in triple quotes, in which case "&" characters are not -needed. For example: - -print "Volume = $v" -print 'Volume = $v' -if "$\{steps\} > 1000" then quit -variable a string "red green blue & - purple orange cyan" -print """ -System volume = $v -System temperature = $t -""" :pre - -In each case, the single, double, or triple quotes are removed when -the single argument they enclose is stored internally. - -See the "dump modify format"_dump_modify.html, "print"_print.html, -"if"_if.html, and "python"_python.html commands for examples. - -A "#" or "$" character that is between quotes will not be treated as a -comment indicator in (2) or substituted for as a variable in (3). - -NOTE: If the argument is itself a command that requires a quoted -argument (e.g. using a "print"_print.html command as part of an -"if"_if.html or "run every"_run.html command), then single, double, or -triple quotes can be nested in the usual manner. See the doc pages -for those commands for examples. Only one of level of nesting is -allowed, but that should be sufficient for most use cases. - -:line - -3.3 Input script structure :h3,link(cmd_3) - -This section describes the structure of a typical LAMMPS input script. -The examples directory in the LAMMPS distribution contains many sample -input scripts; the corresponding problems are discussed on the -"Examples"_Examples.html doc page, and animated on the "LAMMPS WWW -Site"_lws. - -A LAMMPS input script typically has 4 parts: - -Initialization -Atom definition -Settings -Run a simulation :ol - -The last 2 parts can be repeated as many times as desired. I.e. run a -simulation, change some settings, run some more, etc. Each of the 4 -parts is now described in more detail. Remember that almost all the -commands need only be used if a non-default value is desired. - -(1) Initialization - -Set parameters that need to be defined before atoms are created or -read-in from a file. - -The relevant commands are "units"_units.html, -"dimension"_dimension.html, "newton"_newton.html, -"processors"_processors.html, "boundary"_boundary.html, -"atom_style"_atom_style.html, "atom_modify"_atom_modify.html. - -If force-field parameters appear in the files that will be read, these -commands tell LAMMPS what kinds of force fields are being used: -"pair_style"_pair_style.html, "bond_style"_bond_style.html, -"angle_style"_angle_style.html, "dihedral_style"_dihedral_style.html, -"improper_style"_improper_style.html. - -(2) Atom definition - -There are 3 ways to define atoms in LAMMPS. Read them in from a data -or restart file via the "read_data"_read_data.html or -"read_restart"_read_restart.html commands. These files can contain -molecular topology information. Or create atoms on a lattice (with no -molecular topology), using these commands: "lattice"_lattice.html, -"region"_region.html, "create_box"_create_box.html, -"create_atoms"_create_atoms.html. The entire set of atoms can be -duplicated to make a larger simulation using the -"replicate"_replicate.html command. - -(3) Settings - -Once atoms and molecular topology are defined, a variety of settings -can be specified: force field coefficients, simulation parameters, -output options, etc. - -Force field coefficients are set by these commands (they can also be -set in the read-in files): "pair_coeff"_pair_coeff.html, -"bond_coeff"_bond_coeff.html, "angle_coeff"_angle_coeff.html, -"dihedral_coeff"_dihedral_coeff.html, -"improper_coeff"_improper_coeff.html, -"kspace_style"_kspace_style.html, "dielectric"_dielectric.html, -"special_bonds"_special_bonds.html. - -Various simulation parameters are set by these commands: -"neighbor"_neighbor.html, "neigh_modify"_neigh_modify.html, -"group"_group.html, "timestep"_timestep.html, -"reset_timestep"_reset_timestep.html, "run_style"_run_style.html, -"min_style"_min_style.html, "min_modify"_min_modify.html. - -Fixes impose a variety of boundary conditions, time integration, and -diagnostic options. The "fix"_fix.html command comes in many flavors. - -Various computations can be specified for execution during a -simulation using the "compute"_compute.html, -"compute_modify"_compute_modify.html, and "variable"_variable.html -commands. - -Output options are set by the "thermo"_thermo.html, "dump"_dump.html, -and "restart"_restart.html commands. - -(4) Run a simulation - -A molecular dynamics simulation is run using the "run"_run.html -command. Energy minimization (molecular statics) is performed using -the "minimize"_minimize.html command. A parallel tempering -(replica-exchange) simulation can be run using the -"temper"_temper.html command. - -:line - -3.4 Commands listed by category :link(cmd_4),h4 - -This section lists core LAMMPS commands, grouped by category. -The "next section"_#cmd_5 lists all commands alphabetically. The -next section also includes (long) lists of style options for entries -that appear in the following categories as a single command (fix, -compute, pair, etc). Commands that are added by user packages are not -included in the categories here, but they are in the next section. - -Initialization: - -"newton"_newton.html, -"package"_package.html, -"processors"_processors.html, -"suffix"_suffix.html, -"units"_units.html - -Setup simulation box: - -"boundary"_boundary.html, -"box"_box.html, -"change_box"_change_box.html, -"create_box"_create_box.html, -"dimension"_dimension.html, -"lattice"_lattice.html, -"region"_region.html - -Setup atoms: - -"atom_modify"_atom_modify.html, -"atom_style"_atom_style.html, -"balance"_balance.html, -"create_atoms"_create_atoms.html, -"create_bonds"_create_bonds.html, -"delete_atoms"_delete_atoms.html, -"delete_bonds"_delete_bonds.html, -"displace_atoms"_displace_atoms.html, -"group"_group.html, -"mass"_mass.html, -"molecule"_molecule.html, -"read_data"_read_data.html, -"read_dump"_read_dump.html, -"read_restart"_read_restart.html, -"replicate"_replicate.html, -"set"_set.html, -"velocity"_velocity.html - -Force fields: - -"angle_coeff"_angle_coeff.html, -"angle_style"_angle_style.html, -"bond_coeff"_bond_coeff.html, -"bond_style"_bond_style.html, -"bond_write"_bond_write.html, -"dielectric"_dielectric.html, -"dihedral_coeff"_dihedral_coeff.html, -"dihedral_style"_dihedral_style.html, -"improper_coeff"_improper_coeff.html, -"improper_style"_improper_style.html, -"kspace_modify"_kspace_modify.html, -"kspace_style"_kspace_style.html, -"pair_coeff"_pair_coeff.html, -"pair_modify"_pair_modify.html, -"pair_style"_pair_style.html, -"pair_write"_pair_write.html, -"special_bonds"_special_bonds.html - -Settings: - -"comm_modify"_comm_modify.html, -"comm_style"_comm_style.html, -"info"_info.html, -"min_modify"_min_modify.html, -"min_style"_min_style.html, -"neigh_modify"_neigh_modify.html, -"neighbor"_neighbor.html, -"partition"_partition.html, -"reset_timestep"_reset_timestep.html, -"run_style"_run_style.html, -"timer"_timer.html, -"timestep"_timestep.html - -Operations within timestepping (fixes) and diagnostics (computes): - -"compute"_compute.html, -"compute_modify"_compute_modify.html, -"fix"_fix.html, -"fix_modify"_fix_modify.html, -"uncompute"_uncompute.html, -"unfix"_unfix.html - -Output: - -"dump image"_dump_image.html, -"dump movie"_dump_image.html, -"dump"_dump.html, -"dump_modify"_dump_modify.html, -"restart"_restart.html, -"thermo"_thermo.html, -"thermo_modify"_thermo_modify.html, -"thermo_style"_thermo_style.html, -"undump"_undump.html, -"write_coeff"_write_coeff.html, -"write_data"_write_data.html, -"write_dump"_write_dump.html, -"write_restart"_write_restart.html - -Actions: - -"minimize"_minimize.html, -"neb"_neb.html, -"prd"_prd.html, -"rerun"_rerun.html, -"run"_run.html, -"tad"_tad.html, -"temper"_temper.html - -Input script control: - -"clear"_clear.html, -"echo"_echo.html, -"if"_if.html, -"include"_include.html, -"jump"_jump.html, -"label"_label.html, -"log"_log.html, -"next"_next.html, -"print"_print.html, -"python"_python.html, -"quit"_quit.html, -"shell"_shell.html, -"variable"_variable.html - -:line - -3.5 Individual commands :h3,link(cmd_5),link(comm) - -This section lists all LAMMPS commands alphabetically, with a separate -listing below of styles within certain commands. The "previous -section"_#cmd_4 lists the same commands, grouped by category. Note -that some style options for some commands are part of specific LAMMPS -packages, which means they cannot be used unless the package was -included when LAMMPS was built. Not all packages are included in a -default LAMMPS build. These dependencies are listed as Restrictions -in the command's documentation. - -"angle_coeff"_angle_coeff.html, -"angle_style"_angle_style.html, -"atom_modify"_atom_modify.html, -"atom_style"_atom_style.html, -"balance"_balance.html, -"bond_coeff"_bond_coeff.html, -"bond_style"_bond_style.html, -"bond_write"_bond_write.html, -"boundary"_boundary.html, -"box"_box.html, -"change_box"_change_box.html, -"clear"_clear.html, -"comm_modify"_comm_modify.html, -"comm_style"_comm_style.html, -"compute"_compute.html, -"compute_modify"_compute_modify.html, -"create_atoms"_create_atoms.html, -"create_bonds"_create_bonds.html, -"create_box"_create_box.html, -"delete_atoms"_delete_atoms.html, -"delete_bonds"_delete_bonds.html, -"dielectric"_dielectric.html, -"dihedral_coeff"_dihedral_coeff.html, -"dihedral_style"_dihedral_style.html, -"dimension"_dimension.html, -"displace_atoms"_displace_atoms.html, -"dump"_dump.html, -"dump image"_dump_image.html, -"dump_modify"_dump_modify.html, -"dump movie"_dump_image.html, -"echo"_echo.html, -"fix"_fix.html, -"fix_modify"_fix_modify.html, -"group"_group.html, -"if"_if.html, -"info"_info.html, -"improper_coeff"_improper_coeff.html, -"improper_style"_improper_style.html, -"include"_include.html, -"jump"_jump.html, -"kspace_modify"_kspace_modify.html, -"kspace_style"_kspace_style.html, -"label"_label.html, -"lattice"_lattice.html, -"log"_log.html, -"mass"_mass.html, -"minimize"_minimize.html, -"min_modify"_min_modify.html, -"min_style"_min_style.html, -"molecule"_molecule.html, -"neb"_neb.html, -"neigh_modify"_neigh_modify.html, -"neighbor"_neighbor.html, -"newton"_newton.html, -"next"_next.html, -"package"_package.html, -"pair_coeff"_pair_coeff.html, -"pair_modify"_pair_modify.html, -"pair_style"_pair_style.html, -"pair_write"_pair_write.html, -"partition"_partition.html, -"prd"_prd.html, -"print"_print.html, -"processors"_processors.html, -"python"_python.html, -"quit"_quit.html, -"read_data"_read_data.html, -"read_dump"_read_dump.html, -"read_restart"_read_restart.html, -"region"_region.html, -"replicate"_replicate.html, -"rerun"_rerun.html, -"reset_ids"_reset_ids.html, -"reset_timestep"_reset_timestep.html, -"restart"_restart.html, -"run"_run.html, -"run_style"_run_style.html, -"set"_set.html, -"shell"_shell.html, -"special_bonds"_special_bonds.html, -"suffix"_suffix.html, -"tad"_tad.html, -"temper"_temper.html, -"thermo"_thermo.html, -"thermo_modify"_thermo_modify.html, -"thermo_style"_thermo_style.html, -"timer"_timer.html, -"timestep"_timestep.html, -"uncompute"_uncompute.html, -"undump"_undump.html, -"unfix"_unfix.html, -"units"_units.html, -"variable"_variable.html, -"velocity"_velocity.html, -"write_coeff"_write_coeff.html, -"write_data"_write_data.html, -"write_dump"_write_dump.html, -"write_restart"_write_restart.html :tb(c=6,ea=c) - -These are additional commands in USER packages, which can be used if -"LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"dump netcdf"_dump_netcdf.html, -"dump netcdf/mpiio"_dump_netcdf.html, -"dump vtk"_dump_vtk.html, -"group2ndx"_group2ndx.html, -"ndx2group"_group2ndx.html, -"temper/grem"_temper_grem.html, -"temper/npt"_temper_npt.html :tb(c=3,ea=c) - -:line - -Fix styles :h3 - -See the "fix"_fix.html command for one-line descriptions of each style -or click on the style itself for a full description. Some of the -styles have accelerated versions, which can be used if LAMMPS is built -with the "appropriate accelerated package"_Speed_packages.html. This -is indicated by additional letters in parenthesis: g = GPU, i = -USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. - -"adapt"_fix_adapt.html, -"addforce"_fix_addforce.html, -"append/atoms"_fix_append_atoms.html, -"atom/swap"_fix_atom_swap.html, -"aveforce"_fix_aveforce.html, -"ave/atom"_fix_ave_atom.html, -"ave/chunk"_fix_ave_chunk.html, -"ave/correlate"_fix_ave_correlate.html, -"ave/histo"_fix_ave_histo.html, -"ave/histo/weight"_fix_ave_histo.html, -"ave/time"_fix_ave_time.html, -"balance"_fix_balance.html, -"bond/break"_fix_bond_break.html, -"bond/create"_fix_bond_create.html, -"bond/swap"_fix_bond_swap.html, -"box/relax"_fix_box_relax.html, -"cmap"_fix_cmap.html, -"controller"_fix_controller.html, -"deform (k)"_fix_deform.html, -"deposit"_fix_deposit.html, -"drag"_fix_drag.html, -"dt/reset"_fix_dt_reset.html, -"efield"_fix_efield.html, -"ehex"_fix_ehex.html, -"enforce2d (k)"_fix_enforce2d.html, -"evaporate"_fix_evaporate.html, -"external"_fix_external.html, -"freeze"_fix_freeze.html, -"gcmc"_fix_gcmc.html, -"gld"_fix_gld.html, -"gravity (o)"_fix_gravity.html, -"halt"_fix_halt.html, -"heat"_fix_heat.html, -"indent"_fix_indent.html, -"latte"_fix_latte.html, -"langevin (k)"_fix_langevin.html, -"langevin/spin"_fix_langevin_spin.hmtl, -"lineforce"_fix_lineforce.html, -"momentum (k)"_fix_momentum.html, -"move"_fix_move.html, -"mscg"_fix_mscg.html, -"msst"_fix_msst.html, -"neb"_fix_neb.html, -"nph (ko)"_fix_nh.html, -"nphug (o)"_fix_nphug.html, -"nph/asphere (o)"_fix_nph_asphere.html, -"nph/body"_fix_nph_body.html, -"nph/sphere (o)"_fix_nph_sphere.html, -"npt (kio)"_fix_nh.html, -"npt/asphere (o)"_fix_npt_asphere.html, -"npt/body"_fix_npt_body.html, -"npt/sphere (o)"_fix_npt_sphere.html, -"nve (kio)"_fix_nve.html, -"nve/asphere (i)"_fix_nve_asphere.html, -"nve/asphere/noforce"_fix_nve_asphere_noforce.html, -"nve/body"_fix_nve_body.html, -"nve/limit"_fix_nve_limit.html, -"nve/line"_fix_nve_line.html, -"nve/noforce"_fix_nve_noforce.html, -"nve/sphere (o)"_fix_nve_sphere.html, -"nve/spin"_fix_nve_spin.html, -"nve/tri"_fix_nve_tri.html, -"nvt (iko)"_fix_nh.html, -"nvt/asphere (o)"_fix_nvt_asphere.html, -"nvt/body"_fix_nvt_body.html, -"nvt/sllod (io)"_fix_nvt_sllod.html, -"nvt/sphere (o)"_fix_nvt_sphere.html, -"oneway"_fix_oneway.html, -"orient/bcc"_fix_orient.html, -"orient/fcc"_fix_orient.html, -"planeforce"_fix_planeforce.html, -"poems"_fix_poems.html, -"pour"_fix_pour.html, -"precession/spin"_fix_precession_spin.html, -"press/berendsen"_fix_press_berendsen.html, -"print"_fix_print.html, -"property/atom (k)"_fix_property_atom.html, -"python/invoke"_fix_python_invoke.html, -"python/move"_fix_python_move.html, -"qeq/comb (o)"_fix_qeq_comb.html, -"qeq/dynamic"_fix_qeq.html, -"qeq/fire"_fix_qeq.html, -"qeq/point"_fix_qeq.html, -"qeq/shielded"_fix_qeq.html, -"qeq/slater"_fix_qeq.html, -"rattle"_fix_shake.html, -"reax/bonds"_fix_reax_bonds.html, -"recenter"_fix_recenter.html, -"restrain"_fix_restrain.html, -"rigid (o)"_fix_rigid.html, -"rigid/nph (o)"_fix_rigid.html, -"rigid/npt (o)"_fix_rigid.html, -"rigid/nve (o)"_fix_rigid.html, -"rigid/nvt (o)"_fix_rigid.html, -"rigid/small (o)"_fix_rigid.html, -"rigid/small/nph"_fix_rigid.html, -"rigid/small/npt"_fix_rigid.html, -"rigid/small/nve"_fix_rigid.html, -"rigid/small/nvt"_fix_rigid.html, -"setforce (k)"_fix_setforce.html, -"shake"_fix_shake.html, -"spring"_fix_spring.html, -"spring/chunk"_fix_spring_chunk.html, -"spring/rg"_fix_spring_rg.html, -"spring/self"_fix_spring_self.html, -"srd"_fix_srd.html, -"store/force"_fix_store_force.html, -"store/state"_fix_store_state.html, -"temp/berendsen"_fix_temp_berendsen.html, -"temp/csld"_fix_temp_csvr.html, -"temp/csvr"_fix_temp_csvr.html, -"temp/rescale"_fix_temp_rescale.html, -"tfmc"_fix_tfmc.html, -"thermal/conductivity"_fix_thermal_conductivity.html, -"tmd"_fix_tmd.html, -"ttm"_fix_ttm.html, -"tune/kspace"_fix_tune_kspace.html, -"vector"_fix_vector.html, -"viscosity"_fix_viscosity.html, -"viscous"_fix_viscous.html, -"wall/body/polygon"_fix_wall_body_polygon.html, -"wall/body/polyhedron"_fix_wall_body_polyhedron.html, -"wall/colloid"_fix_wall.html, -"wall/gran"_fix_wall_gran.html, -"wall/gran/region"_fix_wall_gran_region.html, -"wall/harmonic"_fix_wall.html, -"wall/lj1043"_fix_wall.html, -"wall/lj126"_fix_wall.html, -"wall/lj93 (k)"_fix_wall.html, -"wall/piston"_fix_wall_piston.html, -"wall/reflect (k)"_fix_wall_reflect.html, -"wall/region"_fix_wall_region.html, -"wall/srd"_fix_wall_srd.html :tb(c=8,ea=c) - -These are additional fix styles in USER packages, which can be used if -"LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"adapt/fep"_fix_adapt_fep.html, -"addtorque"_fix_addtorque.html, -"atc"_fix_atc.html, -"ave/correlate/long"_fix_ave_correlate_long.html, -"bond/react"_fix_bond_react.html, -"colvars"_fix_colvars.html, -"dpd/energy (k)"_fix_dpd_energy.html, -"drude"_fix_drude.html, -"drude/transform/direct"_fix_drude_transform.html, -"drude/transform/reverse"_fix_drude_transform.html, -"edpd/source"_fix_dpd_source.html, -"eos/cv"_fix_eos_cv.html, -"eos/table"_fix_eos_table.html, -"eos/table/rx (k)"_fix_eos_table_rx.html, -"filter/corotate"_fix_filter_corotate.html, -"flow/gauss"_fix_flow_gauss.html, -"gle"_fix_gle.html, -"grem"_fix_grem.html, -"imd"_fix_imd.html, -"ipi"_fix_ipi.html, -"langevin/drude"_fix_langevin_drude.html, -"langevin/eff"_fix_langevin_eff.html, -"lb/fluid"_fix_lb_fluid.html, -"lb/momentum"_fix_lb_momentum.html, -"lb/pc"_fix_lb_pc.html, -"lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html, -"lb/viscous"_fix_lb_viscous.html, -"meso"_fix_meso.html, -"manifoldforce"_fix_manifoldforce.html, -"meso/stationary"_fix_meso_stationary.html, -"mvv/dpd"_fix_mvv_dpd.html, -"mvv/edpd"_fix_mvv_dpd.html, -"mvv/tdpd"_fix_mvv_dpd.html, -"nph/eff"_fix_nh_eff.html, -"npt/eff"_fix_nh_eff.html, -"npt/uef"_fix_nh_uef.html, -"nve/dot"_fix_nve_dot.html, -"nve/dotc/langevin"_fix_nve_dotc_langevin.html, -"nve/eff"_fix_nve_eff.html, -"nve/manifold/rattle"_fix_nve_manifold_rattle.html, -"nvk"_fix_nvk.html, -"nvt/eff"_fix_nh_eff.html, -"nvt/manifold/rattle"_fix_nvt_manifold_rattle.html, -"nvt/sllod/eff"_fix_nvt_sllod_eff.html, -"nvt/uef"_fix_nh_uef.html, -"phonon"_fix_phonon.html, -"pimd"_fix_pimd.html, -"qbmsst"_fix_qbmsst.html, -"qeq/reax (ko)"_fix_qeq_reax.html, -"qmmm"_fix_qmmm.html, -"qtb"_fix_qtb.html, -"reax/c/bonds (k)"_fix_reax_bonds.html, -"reax/c/species (k)"_fix_reaxc_species.html, -"rhok"_fix_rhok.html, -"rx (k)"_fix_rx.html, -"saed/vtk"_fix_saed_vtk.html, -"shardlow (k)"_fix_shardlow.html, -"smd"_fix_smd.html, -"smd/adjust/dt"_fix_smd_adjust_dt.html, -"smd/integrate/tlsph"_fix_smd_integrate_tlsph.html, -"smd/integrate/ulsph"_fix_smd_integrate_ulsph.html, -"smd/move/triangulated/surface"_fix_smd_move_triangulated_surface.html, -"smd/setvel"_fix_smd_setvel.html, -"smd/wall/surface"_fix_smd_wall_surface.html, -"tdpd/source"_fix_dpd_source.html, -"temp/rescale/eff"_fix_temp_rescale_eff.html, -"ti/spring"_fix_ti_spring.html, -"ttm/mod"_fix_ttm.html, -"wall/ees"_fix_wall_ees.html, -"wall/region/ees"_fix_wall_ees.html :tb(c=6,ea=c) - -:line - -Compute styles :h3 - -See the "compute"_compute.html command for one-line descriptions of -each style or click on the style itself for a full description. Some -of the styles have accelerated versions, which can be used if LAMMPS -is built with the "appropriate accelerated -package"_Speed_packages.html. This is indicated by additional letters -in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = -OPT. - -"aggregate/atom"_compute_cluster_atom.html, -"angle"_compute_angle.html, -"angle/local"_compute_angle_local.html, -"angmom/chunk"_compute_angmom_chunk.html, -"body/local"_compute_body_local.html, -"bond"_compute_bond.html, -"bond/local"_compute_bond_local.html, -"centro/atom"_compute_centro_atom.html, -"chunk/atom"_compute_chunk_atom.html, -"cluster/atom"_compute_cluster_atom.html, -"cna/atom"_compute_cna_atom.html, -"com"_compute_com.html, -"com/chunk"_compute_com_chunk.html, -"contact/atom"_compute_contact_atom.html, -"coord/atom"_compute_coord_atom.html, -"damage/atom"_compute_damage_atom.html, -"dihedral"_compute_dihedral.html, -"dihedral/local"_compute_dihedral_local.html, -"dilatation/atom"_compute_dilatation_atom.html, -"dipole/chunk"_compute_dipole_chunk.html, -"displace/atom"_compute_displace_atom.html, -"erotate/asphere"_compute_erotate_asphere.html, -"erotate/rigid"_compute_erotate_rigid.html, -"erotate/sphere"_compute_erotate_sphere.html, -"erotate/sphere/atom"_compute_erotate_sphere_atom.html, -"event/displace"_compute_event_displace.html, -"fragment/atom"_compute_cluster_atom.html, -"global/atom"_compute_global_atom.html, -"group/group"_compute_group_group.html, -"gyration"_compute_gyration.html, -"gyration/chunk"_compute_gyration_chunk.html, -"heat/flux"_compute_heat_flux.html, -"hexorder/atom"_compute_hexorder_atom.html, -"improper"_compute_improper.html, -"improper/local"_compute_improper_local.html, -"inertia/chunk"_compute_inertia_chunk.html, -"ke"_compute_ke.html, -"ke/atom"_compute_ke_atom.html, -"ke/rigid"_compute_ke_rigid.html, -"msd"_compute_msd.html, -"msd/chunk"_compute_msd_chunk.html, -"msd/nongauss"_compute_msd_nongauss.html, -"omega/chunk"_compute_omega_chunk.html, -"orientorder/atom"_compute_orientorder_atom.html, -"pair"_compute_pair.html, -"pair/local"_compute_pair_local.html, -"pe"_compute_pe.html, -"pe/atom"_compute_pe_atom.html, -"plasticity/atom"_compute_plasticity_atom.html, -"pressure"_compute_pressure.html, -"property/atom"_compute_property_atom.html, -"property/local"_compute_property_local.html, -"property/chunk"_compute_property_chunk.html, -"rdf"_compute_rdf.html, -"reduce"_compute_reduce.html, -"reduce/region"_compute_reduce.html, -"rigid/local"_compute_rigid_local.html, -"slice"_compute_slice.html, -"sna/atom"_compute_sna_atom.html, -"snad/atom"_compute_sna_atom.html, -"snav/atom"_compute_sna_atom.html, -"spin"_compute_spin.html, -"stress/atom"_compute_stress_atom.html, -"temp (k)"_compute_temp.html, -"temp/asphere"_compute_temp_asphere.html, -"temp/body"_compute_temp_body.html, -"temp/chunk"_compute_temp_chunk.html, -"temp/com"_compute_temp_com.html, -"temp/deform"_compute_temp_deform.html, -"temp/partial"_compute_temp_partial.html, -"temp/profile"_compute_temp_profile.html, -"temp/ramp"_compute_temp_ramp.html, -"temp/region"_compute_temp_region.html, -"temp/sphere"_compute_temp_sphere.html, -"ti"_compute_ti.html, -"torque/chunk"_compute_torque_chunk.html, -"vacf"_compute_vacf.html, -"vcm/chunk"_compute_vcm_chunk.html, -"voronoi/atom"_compute_voronoi_atom.html :tb(c=6,ea=c) - -These are additional compute styles in USER packages, which can be -used if "LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"ackland/atom"_compute_ackland_atom.html, -"basal/atom"_compute_basal_atom.html, -"cnp/atom"_compute_cnp_atom.html, -"dpd"_compute_dpd.html, -"dpd/atom"_compute_dpd_atom.html, -"edpd/temp/atom"_compute_edpd_temp_atom.html, -"entropy/atom"_compute_entropy_atom.html, -"fep"_compute_fep.html, -"force/tally"_compute_tally.html, -"heat/flux/tally"_compute_tally.html, -"ke/eff"_compute_ke_eff.html, -"ke/atom/eff"_compute_ke_atom_eff.html, -"meso/e/atom"_compute_meso_e_atom.html, -"meso/rho/atom"_compute_meso_rho_atom.html, -"meso/t/atom"_compute_meso_t_atom.html, -"pe/tally"_compute_tally.html, -"pe/mol/tally"_compute_tally.html, -"pressure/uef"_compute_pressure_uef.html, -"saed"_compute_saed.html, -"smd/contact/radius"_compute_smd_contact_radius.html, -"smd/damage"_compute_smd_damage.html, -"smd/hourglass/error"_compute_smd_hourglass_error.html, -"smd/internal/energy"_compute_smd_internal_energy.html, -"smd/plastic/strain"_compute_smd_plastic_strain.html, -"smd/plastic/strain/rate"_compute_smd_plastic_strain_rate.html, -"smd/rho"_compute_smd_rho.html, -"smd/tlsph/defgrad"_compute_smd_tlsph_defgrad.html, -"smd/tlsph/dt"_compute_smd_tlsph_dt.html, -"smd/tlsph/num/neighs"_compute_smd_tlsph_num_neighs.html, -"smd/tlsph/shape"_compute_smd_tlsph_shape.html, -"smd/tlsph/strain"_compute_smd_tlsph_strain.html, -"smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html, -"smd/tlsph/stress"_compute_smd_tlsph_stress.html, -"smd/triangle/mesh/vertices"_compute_smd_triangle_mesh_vertices.html, -"smd/ulsph/num/neighs"_compute_smd_ulsph_num_neighs.html, -"smd/ulsph/strain"_compute_smd_ulsph_strain.html, -"smd/ulsph/strain/rate"_compute_smd_ulsph_strain_rate.html, -"smd/ulsph/stress"_compute_smd_ulsph_stress.html, -"smd/vol"_compute_smd_vol.html, -"stress/tally"_compute_tally.html, -"tdpd/cc/atom"_compute_tdpd_cc_atom.html, -"temp/drude"_compute_temp_drude.html, -"temp/eff"_compute_temp_eff.html, -"temp/deform/eff"_compute_temp_deform_eff.html, -"temp/region/eff"_compute_temp_region_eff.html, -"temp/rotate"_compute_temp_rotate.html, -"temp/uef"_compute_temp_uef.html, -"xrd"_compute_xrd.html :tb(c=6,ea=c) - -:line - -Pair_style potentials :h3 - -See the "pair_style"_pair_style.html command for an overview of pair -potentials. Click on the style itself for a full description. Many -of the styles have accelerated versions, which can be used if LAMMPS -is built with the "appropriate accelerated -package"_Speed_packages.html. This is indicated by additional letters -in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = -OPT. - -"none"_pair_none.html, -"zero"_pair_zero.html, -"hybrid"_pair_hybrid.html, -"hybrid/overlay (k)"_pair_hybrid.html, -"adp (o)"_pair_adp.html, -"airebo (oi)"_pair_airebo.html, -"airebo/morse (oi)"_pair_airebo.html, -"beck (go)"_pair_beck.html, -"body/nparticle"_pair_body_nparticle.html, -"body/rounded/polygon"_pair_body_rounded/polygon.html, -"body/rounded/polyhedron"_pair_body_rounded/polyhedron.html, -"bop"_pair_bop.html, -"born (go)"_pair_born.html, -"born/coul/dsf"_pair_born.html, -"born/coul/dsf/cs"_pair_born.html, -"born/coul/long (go)"_pair_born.html, -"born/coul/long/cs"_pair_born.html, -"born/coul/msm (o)"_pair_born.html, -"born/coul/wolf (go)"_pair_born.html, -"born/coul/wolf/cs"_pair_born.html, -"brownian (o)"_pair_brownian.html, -"brownian/poly (o)"_pair_brownian.html, -"buck (giko)"_pair_buck.html, -"buck/coul/cut (giko)"_pair_buck.html, -"buck/coul/long (giko)"_pair_buck.html, -"buck/coul/long/cs"_pair_buck.html, -"buck/coul/msm (o)"_pair_buck.html, -"buck/long/coul/long (o)"_pair_buck_long.html, -"colloid (go)"_pair_colloid.html, -"comb (o)"_pair_comb.html, -"comb3"_pair_comb.html, -"coul/cut (gko)"_pair_coul.html, -"coul/debye (gko)"_pair_coul.html, -"coul/dsf (gko)"_pair_coul.html, -"coul/long (gko)"_pair_coul.html, -"coul/long/cs"_pair_coul.html, -"coul/msm"_pair_coul.html, -"coul/streitz"_pair_coul.html, -"coul/wolf (ko)"_pair_coul.html, -"coul/wolf/cs"_pair_coul.html, -"dpd (gio)"_pair_dpd.html, -"dpd/tstat (go)"_pair_dpd.html, -"dsmc"_pair_dsmc.html, -"eam (gikot)"_pair_eam.html, -"eam/alloy (gikot)"_pair_eam.html, -"eam/cd (o)"_pair_eam.html, -"eam/fs (gikot)"_pair_eam.html, -"eim (o)"_pair_eim.html, -"gauss (go)"_pair_gauss.html, -"gayberne (gio)"_pair_gayberne.html, -"gran/hertz/history (o)"_pair_gran.html, -"gran/hooke (o)"_pair_gran.html, -"gran/hooke/history (o)"_pair_gran.html, -"gw"_pair_gw.html, -"gw/zbl"_pair_gw.html, -"hbond/dreiding/lj (o)"_pair_hbond_dreiding.html, -"hbond/dreiding/morse (o)"_pair_hbond_dreiding.html, -"kim"_pair_kim.html, -"lcbop"_pair_lcbop.html, -"line/lj"_pair_line_lj.html, -"lj/charmm/coul/charmm (iko)"_pair_charmm.html, -"lj/charmm/coul/charmm/implicit (ko)"_pair_charmm.html, -"lj/charmm/coul/long (giko)"_pair_charmm.html, -"lj/charmm/coul/msm"_pair_charmm.html, -"lj/charmmfsw/coul/charmmfsh"_pair_charmm.html, -"lj/charmmfsw/coul/long"_pair_charmm.html, -"lj/class2 (gko)"_pair_class2.html, -"lj/class2/coul/cut (ko)"_pair_class2.html, -"lj/class2/coul/long (gko)"_pair_class2.html, -"lj/cubic (go)"_pair_lj_cubic.html, -"lj/cut (gikot)"_pair_lj.html, -"lj/cut/coul/cut (gko)"_pair_lj.html, -"lj/cut/coul/debye (gko)"_pair_lj.html, -"lj/cut/coul/dsf (gko)"_pair_lj.html, -"lj/cut/coul/long (gikot)"_pair_lj.html, -"lj/cut/coul/long/cs"_pair_lj.html, -"lj/cut/coul/msm (go)"_pair_lj.html, -"lj/cut/coul/wolf (o)"_pair_lj.html, -"lj/cut/dipole/cut (go)"_pair_dipole.html, -"lj/cut/dipole/long"_pair_dipole.html, -"lj/cut/tip4p/cut (o)"_pair_lj.html, -"lj/cut/tip4p/long (ot)"_pair_lj.html, -"lj/expand (gko)"_pair_lj_expand.html, -"lj/gromacs (gko)"_pair_gromacs.html, -"lj/gromacs/coul/gromacs (ko)"_pair_gromacs.html, -"lj/long/coul/long (io)"_pair_lj_long.html, -"lj/long/dipole/long"_pair_dipole.html, -"lj/long/tip4p/long"_pair_lj_long.html, -"lj/smooth (o)"_pair_lj_smooth.html, -"lj/smooth/linear (o)"_pair_lj_smooth_linear.html, -"lj96/cut (go)"_pair_lj96.html, -"lubricate (o)"_pair_lubricate.html, -"lubricate/poly (o)"_pair_lubricate.html, -"lubricateU"_pair_lubricateU.html, -"lubricateU/poly"_pair_lubricateU.html, -"meam"_pair_meam.html, -"mie/cut (o)"_pair_mie.html, -"morse (gkot)"_pair_morse.html, -"nb3b/harmonic (o)"_pair_nb3b_harmonic.html, -"nm/cut (o)"_pair_nm.html, -"nm/cut/coul/cut (o)"_pair_nm.html, -"nm/cut/coul/long (o)"_pair_nm.html, -"peri/eps"_pair_peri.html, -"peri/lps (o)"_pair_peri.html, -"peri/pmb (o)"_pair_peri.html, -"peri/ves"_pair_peri.html, -"polymorphic"_pair_polymorphic.html, -"python"_pair_python.html, -"reax"_pair_reax.html, -"rebo (oi)"_pair_airebo.html, -"resquared (go)"_pair_resquared.html, -"snap (k)"_pair_snap.html, -"soft (go)"_pair_soft.html, -"sw (giko)"_pair_sw.html, -"spin/dmi"_pair_spin_dmi.html, -"spin/exchange"_pair_spin_exchange.html, -"spin/magelec"_pair_spin_magelec.html, -"spin/neel"_pair_spin_neel.html, -"table (gko)"_pair_table.html, -"tersoff (giko)"_pair_tersoff.html, -"tersoff/mod (gko)"_pair_tersoff_mod.html, -"tersoff/mod/c (o)"_pair_tersoff_mod.html, -"tersoff/zbl (gko)"_pair_tersoff_zbl.html, -"tip4p/cut (o)"_pair_coul.html, -"tip4p/long (o)"_pair_coul.html, -"tri/lj"_pair_tri_lj.html, -"ufm (got)"_pair_ufm.html, -"vashishta (ko)"_pair_vashishta.html, -"vashishta/table (o)"_pair_vashishta.html, -"yukawa (gok)"_pair_yukawa.html, -"yukawa/colloid (go)"_pair_yukawa_colloid.html, -"zbl (gok)"_pair_zbl.html :tb(c=4,ea=c) - -These are additional pair styles in USER packages, which can be used -if "LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"agni (o)"_pair_agni.html, -"awpmd/cut"_pair_awpmd.html, -"buck/mdf"_pair_mdf.html, -"coul/cut/soft (o)"_pair_lj_soft.html, -"coul/diel (o)"_pair_coul_diel.html, -"coul/long/soft (o)"_pair_lj_soft.html, -"coul/shield"_pair_coul_shield.html, -"dpd/fdt"_pair_dpd_fdt.html, -"dpd/fdt/energy (k)"_pair_dpd_fdt.html, -"edip (o)"_pair_edip.html, -"edip/multi"_pair_edip.html, -"edpd"_pair_meso.html, -"eff/cut"_pair_eff.html, -"exp6/rx (k)"_pair_exp6_rx.html, -"extep"_pair_extep.html, -"gauss/cut"_pair_gauss.html, -"ilp/graphene/hbn"_pair_ilp_graphene_hbn.html, -"kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html, -"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html, -"lennard/mdf"_pair_mdf.html, -"list"_pair_list.html, -"lj/charmm/coul/long/soft (o)"_pair_charmm.html, -"lj/cut/coul/cut/soft (o)"_pair_lj_soft.html, -"lj/cut/coul/long/soft (o)"_pair_lj_soft.html, -"lj/cut/dipole/sf (go)"_pair_dipole.html, -"lj/cut/soft (o)"_pair_lj_soft.html, -"lj/cut/thole/long (o)"_pair_thole.html, -"lj/cut/tip4p/long/soft (o)"_pair_lj_soft.html, -"lj/mdf"_pair_mdf.html, -"lj/sdk (gko)"_pair_sdk.html, -"lj/sdk/coul/long (go)"_pair_sdk.html, -"lj/sdk/coul/msm (o)"_pair_sdk.html, -"mdpd"_pair_meso.html, -"mdpd/rhosum"_pair_meso.html, -"meam/c"_pair_meam.html, -"meam/spline (o)"_pair_meam_spline.html, -"meam/sw/spline"_pair_meam_sw_spline.html, -"mgpt"_pair_mgpt.html, -"momb"_pair_momb.html, -"morse/smooth/linear"_pair_morse.html, -"morse/soft"_pair_morse.html, -"multi/lucy"_pair_multi_lucy.html, -"multi/lucy/rx (k)"_pair_multi_lucy_rx.html, -"oxdna/coaxstk"_pair_oxdna.html, -"oxdna/excv"_pair_oxdna.html, -"oxdna/hbond"_pair_oxdna.html, -"oxdna/stk"_pair_oxdna.html, -"oxdna/xstk"_pair_oxdna.html, -"oxdna2/coaxstk"_pair_oxdna2.html, -"oxdna2/dh"_pair_oxdna2.html, -"oxdna2/excv"_pair_oxdna2.html, -"oxdna2/stk"_pair_oxdna2.html, -"quip"_pair_quip.html, -"reax/c (ko)"_pair_reaxc.html, -"smd/hertz"_pair_smd_hertz.html, -"smd/tlsph"_pair_smd_tlsph.html, -"smd/triangulated/surface"_pair_smd_triangulated_surface.html, -"smd/ulsph"_pair_smd_ulsph.html, -"smtbq"_pair_smtbq.html, -"snap (k)"_pair_snap.html, -"sph/heatconduction"_pair_sph_heatconduction.html, -"sph/idealgas"_pair_sph_idealgas.html, -"sph/lj"_pair_sph_lj.html, -"sph/rhosum"_pair_sph_rhosum.html, -"sph/taitwater"_pair_sph_taitwater.html, -"sph/taitwater/morris"_pair_sph_taitwater_morris.html, -"srp"_pair_srp.html, -"table/rx (k)"_pair_table_rx.html, -"tdpd"_pair_meso.html, -"tersoff/table (o)"_pair_tersoff.html, -"thole"_pair_thole.html, -"tip4p/long/soft (o)"_pair_lj_soft.html :tb(c=4,ea=c) - -:line - -Bond_style potentials :h3 - -See the "bond_style"_bond_style.html command for an overview of bond -potentials. Click on the style itself for a full description. Some -of the styles have accelerated versions, which can be used if LAMMPS -is built with the "appropriate accelerated -package"_Speed_packages.html. This is indicated by additional letters -in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = -OPT. - -"none"_bond_none.html, -"zero"_bond_zero.html, -"hybrid"_bond_hybrid.html, -"class2 (ko)"_bond_class2.html, -"fene (iko)"_bond_fene.html, -"fene/expand (o)"_bond_fene_expand.html, -"gromos (o)"_bond_gromos.html, -"harmonic (ko)"_bond_harmonic.html, -"morse (o)"_bond_morse.html, -"nonlinear (o)"_bond_nonlinear.html, -"quartic (o)"_bond_quartic.html, -"table (o)"_bond_table.html :tb(c=4,ea=c) - -These are additional bond styles in USER packages, which can be used -if "LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"harmonic/shift (o)"_bond_harmonic_shift.html, -"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html, -"oxdna/fene"_bond_oxdna.html, -"oxdna2/fene"_bond_oxdna.html :tb(c=4,ea=c) - -:line - -Angle_style potentials :h3 - -See the "angle_style"_angle_style.html command for an overview of -angle potentials. Click on the style itself for a full description. -Some of the styles have accelerated versions, which can be used if -LAMMPS is built with the "appropriate accelerated -package"_Speed_packages.html. This is indicated by additional letters -in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = -OPT. - -"none"_angle_none.html, -"zero"_angle_zero.html, -"hybrid"_angle_hybrid.html, -"charmm (ko)"_angle_charmm.html, -"class2 (ko)"_angle_class2.html, -"cosine (o)"_angle_cosine.html, -"cosine/delta (o)"_angle_cosine_delta.html, -"cosine/periodic (o)"_angle_cosine_periodic.html, -"cosine/squared (o)"_angle_cosine_squared.html, -"harmonic (iko)"_angle_harmonic.html, -"table (o)"_angle_table.html :tb(c=4,ea=c) - -These are additional angle styles in USER packages, which can be used -if "LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"cosine/shift (o)"_angle_cosine_shift.html, -"cosine/shift/exp (o)"_angle_cosine_shift_exp.html, -"dipole (o)"_angle_dipole.html, -"fourier (o)"_angle_fourier.html, -"fourier/simple (o)"_angle_fourier_simple.html, -"quartic (o)"_angle_quartic.html, -"sdk"_angle_sdk.html :tb(c=4,ea=c) - -:line - -Dihedral_style potentials :h3 - -See the "dihedral_style"_dihedral_style.html command for an overview -of dihedral potentials. Click on the style itself for a full -description. Some of the styles have accelerated versions, which can -be used if LAMMPS is built with the "appropriate accelerated -package"_Speed_packages.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = -USER-OMP, t = OPT. - -"none"_dihedral_none.html, -"zero"_dihedral_zero.html, -"hybrid"_dihedral_hybrid.html, -"charmm (iko)"_dihedral_charmm.html, -"charmmfsw"_dihedral_charmm.html, -"class2 (ko)"_dihedral_class2.html, -"harmonic (io)"_dihedral_harmonic.html, -"helix (o)"_dihedral_helix.html, -"multi/harmonic (o)"_dihedral_multi_harmonic.html, -"opls (iko)"_dihedral_opls.html :tb(c=4,ea=c) - -These are additional dihedral styles in USER packages, which can be -used if "LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"cosine/shift/exp (o)"_dihedral_cosine_shift_exp.html, -"fourier (io)"_dihedral_fourier.html, -"nharmonic (o)"_dihedral_nharmonic.html, -"quadratic (o)"_dihedral_quadratic.html, -"spherical (o)"_dihedral_spherical.html, -"table (o)"_dihedral_table.html, -"table/cut"_dihedral_table_cut.html :tb(c=4,ea=c) - -:line - -Improper_style potentials :h3 - -See the "improper_style"_improper_style.html command for an overview -of improper potentials. Click on the style itself for a full -description. Some of the styles have accelerated versions, which can -be used if LAMMPS is built with the "appropriate accelerated -package"_Speed_packages.html. This is indicated by additional letters -in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = -OPT. - -"none"_improper_none.html, -"zero"_improper_zero.html, -"hybrid"_improper_hybrid.html, -"class2 (ko)"_improper_class2.html, -"cvff (io)"_improper_cvff.html, -"harmonic (iko)"_improper_harmonic.html, -"umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c) - -These are additional improper styles in USER packages, which can be -used if "LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"cossq (o)"_improper_cossq.html, -"distance"_improper_distance.html, -"fourier (o)"_improper_fourier.html, -"ring (o)"_improper_ring.html :tb(c=4,ea=c) - -:line - -Kspace solvers :h3 - -See the "kspace_style"_kspace_style.html command for an overview of -Kspace solvers. Click on the style itself for a full description. -Some of the styles have accelerated versions, which can be used if -LAMMPS is built with the "appropriate accelerated -package"_Speed_packages.html. This is indicated by additional letters -in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = -OPT. - -"ewald (o)"_kspace_style.html, -"ewald/disp"_kspace_style.html, -"msm (o)"_kspace_style.html, -"msm/cg (o)"_kspace_style.html, -"pppm (gok)"_kspace_style.html, -"pppm/cg (o)"_kspace_style.html, -"pppm/disp (i)"_kspace_style.html, -"pppm/disp/tip4p"_kspace_style.html, -"pppm/stagger"_kspace_style.html, -"pppm/tip4p (o)"_kspace_style.html :tb(c=4,ea=c) diff --git a/doc/src/Section_start.txt b/doc/src/Section_start.txt index 4176432328..19a798d5df 100644 --- a/doc/src/Section_start.txt +++ b/doc/src/Section_start.txt @@ -1,10 +1,10 @@ "Previous Section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_commands.html :c +Section"_Commands.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -1070,7 +1070,7 @@ the '-in' command-line switch, e.g. lmp_linux -in in.file :pre -"This section"_Section_commands.html describes how input scripts are +The "Commands"_Commands.html doc page describes how input scripts are structured and what commands they contain. You can test LAMMPS on any of the sample inputs provided in the @@ -1615,9 +1615,9 @@ value2 ..." at the beginning of the input script. Defining an index variable as a command-line argument overrides any setting for the same index variable in the input script, since index variables cannot be re-defined. See the "variable"_variable.html command for more info on -defining index and other kinds of variables and "this -section"_Section_commands.html#cmd_2 for more info on using variables -in input scripts. +defining index and other kinds of variables and the "Commands +parse"_Commands_parse.html page for more info on using variables in +input scripts. NOTE: Currently, the command-line parser looks for arguments that start with "-" to indicate new switches. Thus you cannot specify diff --git a/doc/src/Speed.txt b/doc/src/Speed.txt index 6c53d6bcf0..091657082a 100644 --- a/doc/src/Speed.txt +++ b/doc/src/Speed.txt @@ -4,7 +4,7 @@ Section"_Howto.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Speed_bench.txt b/doc/src/Speed_bench.txt index dc76588c11..8e407d14ea 100644 --- a/doc/src/Speed_bench.txt +++ b/doc/src/Speed_bench.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Speed_compare.txt b/doc/src/Speed_compare.txt index 6c947b9662..1a17b39c79 100644 --- a/doc/src/Speed_compare.txt +++ b/doc/src/Speed_compare.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Speed_gpu.txt b/doc/src/Speed_gpu.txt index d6ebbf8069..ab8ec7e9d1 100644 --- a/doc/src/Speed_gpu.txt +++ b/doc/src/Speed_gpu.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Speed_intel.txt b/doc/src/Speed_intel.txt index 08e3fbc4cc..20f49672e0 100644 --- a/doc/src/Speed_intel.txt +++ b/doc/src/Speed_intel.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Speed_kokkos.txt b/doc/src/Speed_kokkos.txt index 8e01db7bdc..14f4103aed 100644 --- a/doc/src/Speed_kokkos.txt +++ b/doc/src/Speed_kokkos.txt @@ -3,34 +3,39 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line KOKKOS package :h3 Kokkos is a templated C++ library that provides abstractions to allow -a single implementation of an application kernel (e.g. a pair style) to run efficiently on -different kinds of hardware, such as GPUs, Intel Xeon Phis, or many-core -CPUs. Kokkos maps the C++ kernel onto different backend languages such as CUDA, OpenMP, or Pthreads. -The Kokkos library also provides data abstractions to adjust (at -compile time) the memory layout of data structures like 2d and -3d arrays to optimize performance on different hardware. For more information on Kokkos, see -"Github"_https://github.com/kokkos/kokkos. Kokkos is part of -"Trilinos"_http://trilinos.sandia.gov/packages/kokkos. The Kokkos library was written primarily by Carter Edwards, -Christian Trott, and Dan Sunderland (all Sandia). - -The LAMMPS KOKKOS package contains versions of pair, fix, and atom styles -that use data structures and macros provided by the Kokkos library, -which is included with LAMMPS in /lib/kokkos. The KOKKOS package was developed primarily by Christian Trott (Sandia) -and Stan Moore (Sandia) with contributions of various styles by others, including Sikandar -Mashayak (UIUC), Ray Shan (Sandia), and Dan Ibanez (Sandia). For more information on developing using Kokkos abstractions +a single implementation of an application kernel (e.g. a pair style) +to run efficiently on different kinds of hardware, such as GPUs, Intel +Xeon Phis, or many-core CPUs. Kokkos maps the C++ kernel onto +different backend languages such as CUDA, OpenMP, or Pthreads. The +Kokkos library also provides data abstractions to adjust (at compile +time) the memory layout of data structures like 2d and 3d arrays to +optimize performance on different hardware. For more information on +Kokkos, see "Github"_https://github.com/kokkos/kokkos. Kokkos is part +of "Trilinos"_http://trilinos.sandia.gov/packages/kokkos. The Kokkos +library was written primarily by Carter Edwards, Christian Trott, and +Dan Sunderland (all Sandia). + +The LAMMPS KOKKOS package contains versions of pair, fix, and atom +styles that use data structures and macros provided by the Kokkos +library, which is included with LAMMPS in /lib/kokkos. The KOKKOS +package was developed primarily by Christian Trott (Sandia) and Stan +Moore (Sandia) with contributions of various styles by others, +including Sikandar Mashayak (UIUC), Ray Shan (Sandia), and Dan Ibanez +(Sandia). For more information on developing using Kokkos abstractions see the Kokkos programmers' guide at /lib/kokkos/doc/Kokkos_PG.pdf. Kokkos currently provides support for 3 modes of execution (per MPI -task). These are Serial (MPI-only for CPUs and Intel Phi), OpenMP (threading -for many-core CPUs and Intel Phi), and CUDA (for NVIDIA GPUs). You choose the mode at build time to -produce an executable compatible with specific hardware. +task). These are Serial (MPI-only for CPUs and Intel Phi), OpenMP +(threading for many-core CPUs and Intel Phi), and CUDA (for NVIDIA +GPUs). You choose the mode at build time to produce an executable +compatible with specific hardware. [Building LAMMPS with the KOKKOS package:] @@ -38,16 +43,18 @@ NOTE: Kokkos support within LAMMPS must be built with a C++11 compatible compiler. This means GCC version 4.7.2 or later, Intel 14.0.4 or later, or Clang 3.5.2 or later is required. -The recommended method of building the KOKKOS package is to start with the provided Kokkos -Makefiles in /src/MAKE/OPTIONS/. You may need to modify the KOKKOS_ARCH variable in the Makefile -to match your specific hardware. For example: +The recommended method of building the KOKKOS package is to start with +the provided Kokkos Makefiles in /src/MAKE/OPTIONS/. You may need to +modify the KOKKOS_ARCH variable in the Makefile to match your specific +hardware. For example: for Sandy Bridge CPUs, set KOKKOS_ARCH=SNB for Broadwell CPUs, set KOKKOS_ARCH=BWD for K80 GPUs, set KOKKOS_ARCH=Kepler37 for P100 GPUs and Power8 CPUs, set KOKKOS_ARCH=Pascal60,Power8 :ul -See the [Advanced Kokkos Options] section below for a listing of all KOKKOS_ARCH options. +See the [Advanced Kokkos Options] section below for a listing of all +KOKKOS_ARCH options. [Compile for CPU-only (MPI only, no threading):] @@ -61,11 +68,12 @@ make kokkos_mpi_only :pre [Compile for CPU-only (MPI plus OpenMP threading):] -NOTE: To build with Kokkos support for OpenMP threading, your compiler must support the -OpenMP interface. You should have one or more multi-core CPUs so that -multiple threads can be launched by each MPI task running on a CPU. +NOTE: To build with Kokkos support for OpenMP threading, your compiler +must support the OpenMP interface. You should have one or more +multi-core CPUs so that multiple threads can be launched by each MPI +task running on a CPU. -use a C++11 compatible compiler and set KOKKOS_ARCH variable in +Use a C++11 compatible compiler and set KOKKOS_ARCH variable in /src/MAKE/OPTIONS/Makefile.kokkos_omp as described above. Then do the following: @@ -88,9 +96,9 @@ software version 7.5 or later must be installed on your system. See the discussion for the "GPU package"_Speed_gpu.html for details of how to check and do this. -use a C++11 compatible compiler and set KOKKOS_ARCH variable in -/src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi for both GPU and CPU as described -above. Then do the following: +Use a C++11 compatible compiler and set KOKKOS_ARCH variable in +/src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi for both GPU and CPU as +described above. Then do the following: cd lammps/src make yes-kokkos @@ -104,24 +112,24 @@ on the make command line. For example: make mpi KOKKOS_DEVICES=OpenMP KOKKOS_ARCH=SNB # set the KOKKOS_DEVICES and KOKKOS_ARCH variable explicitly make kokkos_cuda_mpi KOKKOS_ARCH=Pascal60,Power8 # set the KOKKOS_ARCH variable explicitly :pre -Setting the KOKKOS_DEVICES and KOKKOS_ARCH variables on the -make command line requires a GNU-compatible make command. Try -"gmake" if your system's standard make complains. +Setting the KOKKOS_DEVICES and KOKKOS_ARCH variables on the make +command line requires a GNU-compatible make command. Try "gmake" if +your system's standard make complains. NOTE: If you build using make line variables and re-build LAMMPS twice -with different KOKKOS options and the *same* target, then you *must* perform a "make clean-all" -or "make clean-machine" before each build. This is to force all the -KOKKOS-dependent files to be re-compiled with the new options. +with different KOKKOS options and the *same* target, then you *must* +perform a "make clean-all" or "make clean-machine" before each +build. This is to force all the KOKKOS-dependent files to be +re-compiled with the new options. [Running LAMMPS with the KOKKOS package:] -All Kokkos operations occur within the -context of an individual MPI task running on a single node of the -machine. The total number of MPI tasks used by LAMMPS (one or -multiple per compute node) is set in the usual manner via the mpirun -or mpiexec commands, and is independent of Kokkos. E.g. the mpirun -command in OpenMPI does this via its --np and -npernode switches. Ditto for MPICH via -np and -ppn. +All Kokkos operations occur within the context of an individual MPI +task running on a single node of the machine. The total number of MPI +tasks used by LAMMPS (one or multiple per compute node) is set in the +usual manner via the mpirun or mpiexec commands, and is independent of +Kokkos. E.g. the mpirun command in OpenMPI does this via its -np and +-npernode switches. Ditto for MPICH via -np and -ppn. [Running on a multi-core CPU:] @@ -133,8 +141,9 @@ mpirun -np 2 -ppn 1 lmp_kokkos_omp -k on t 16 -sf kk -in in.lj # 2 nodes, 1 MPI mpirun -np 2 lmp_kokkos_omp -k on t 8 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 8 threads/task mpirun -np 32 -ppn 4 lmp_kokkos_omp -k on t 4 -sf kk -in in.lj # 8 nodes, 4 MPI tasks/node, 4 threads/task :pre -To run using the KOKKOS package, use the "-k on", "-sf kk" and "-pk kokkos" "command-line switches"_Section_start.html#start_7 in your mpirun command. -You must use the "-k on" "command-line +To run using the KOKKOS package, use the "-k on", "-sf kk" and "-pk +kokkos" "command-line switches"_Section_start.html#start_7 in your +mpirun command. You must use the "-k on" "command-line switch"_Section_start.html#start_7 to enable the KOKKOS package. It takes additional arguments for hardware settings appropriate to your system. Those arguments are "documented @@ -142,32 +151,33 @@ here"_Section_start.html#start_7. For OpenMP use: -k on t Nt :pre -The "t Nt" option specifies how many OpenMP threads per MPI -task to use with a node. The default is Nt = 1, which is MPI-only mode. -Note that the product of MPI tasks * OpenMP -threads/task should not exceed the physical number of cores (on a -node), otherwise performance will suffer. If hyperthreading is enabled, then -the product of MPI tasks * OpenMP threads/task should not exceed the -physical number of cores * hardware threads. -The "-k on" switch also issues a "package kokkos" command (with no -additional arguments) which sets various KOKKOS options to default -values, as discussed on the "package"_package.html command doc page. - -The "-sf kk" "command-line switch"_Section_start.html#start_7 -will automatically append the "/kk" suffix to styles that support it. -In this manner no modification to the input script is needed. Alternatively, -one can run with the KOKKOS package by editing the input script as described below. - -NOTE: The default for the "package kokkos"_package.html command is -to use "full" neighbor lists and set the Newton flag to "off" for both +The "t Nt" option specifies how many OpenMP threads per MPI task to +use with a node. The default is Nt = 1, which is MPI-only mode. Note +that the product of MPI tasks * OpenMP threads/task should not exceed +the physical number of cores (on a node), otherwise performance will +suffer. If hyperthreading is enabled, then the product of MPI tasks * +OpenMP threads/task should not exceed the physical number of cores * +hardware threads. The "-k on" switch also issues a "package kokkos" +command (with no additional arguments) which sets various KOKKOS +options to default values, as discussed on the "package"_package.html +command doc page. + +The "-sf kk" "command-line switch"_Section_start.html#start_7 will +automatically append the "/kk" suffix to styles that support it. In +this manner no modification to the input script is +needed. Alternatively, one can run with the KOKKOS package by editing +the input script as described below. + +NOTE: The default for the "package kokkos"_package.html command is to +use "full" neighbor lists and set the Newton flag to "off" for both pairwise and bonded interactions. However, when running on CPUs, it will typically be faster to use "half" neighbor lists and set the Newton flag to "on", just as is the case for non-accelerated pair -styles. It can also be faster to use non-threaded communication. -Use the "-pk kokkos" "command-line switch"_Section_start.html#start_7 to -change the default "package kokkos"_package.html -options. See its doc page for details and default settings. Experimenting with -its options can provide a speed-up for specific calculations. For example: +styles. It can also be faster to use non-threaded communication. Use +the "-pk kokkos" "command-line switch"_Section_start.html#start_7 to +change the default "package kokkos"_package.html options. See its doc +page for details and default settings. Experimenting with its options +can provide a speed-up for specific calculations. For example: mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half comm no -in in.lj # Newton on, Half neighbor list, non-threaded comm :pre @@ -176,9 +186,9 @@ script, it can also override the Newton flag defaults. [Core and Thread Affinity:] -When using multi-threading, it is important for -performance to bind both MPI tasks to physical cores, and threads to -physical cores, so they do not migrate during a simulation. +When using multi-threading, it is important for performance to bind +both MPI tasks to physical cores, and threads to physical cores, so +they do not migrate during a simulation. If you are not certain MPI tasks are being bound (check the defaults for your MPI installation), binding can be forced with these flags: @@ -189,24 +199,24 @@ Mvapich2 2.0: mpiexec -np 2 --bind-to socket --map-by socket ./lmp_mvapich ... : For binding threads with KOKKOS OpenMP, use thread affinity environment variables to force binding. With OpenMP 3.1 (gcc 4.7 or later, intel 12 or later) setting the environment variable -OMP_PROC_BIND=true should be sufficient. In general, for best performance -with OpenMP 4.0 or better set OMP_PROC_BIND=spread and OMP_PLACES=threads. -For binding threads with the -KOKKOS pthreads option, compile LAMMPS the KOKKOS HWLOC=yes option -as described below. +OMP_PROC_BIND=true should be sufficient. In general, for best +performance with OpenMP 4.0 or better set OMP_PROC_BIND=spread and +OMP_PLACES=threads. For binding threads with the KOKKOS pthreads +option, compile LAMMPS the KOKKOS HWLOC=yes option as described below. [Running on Knight's Landing (KNL) Intel Xeon Phi:] -Here is a quick overview of how to use the KOKKOS package -for the Intel Knight's Landing (KNL) Xeon Phi: +Here is a quick overview of how to use the KOKKOS package for the +Intel Knight's Landing (KNL) Xeon Phi: -KNL Intel Phi chips have 68 physical cores. Typically 1 to 4 cores -are reserved for the OS, and only 64 or 66 cores are used. Each core -has 4 hyperthreads,so there are effectively N = 256 (4*64) or -N = 264 (4*66) cores to run on. The product of MPI tasks * OpenMP threads/task should not exceed this limit, -otherwise performance will suffer. Note that with the KOKKOS package you do not need to -specify how many KNLs there are per node; each -KNL is simply treated as running some number of MPI tasks. +KNL Intel Phi chips have 68 physical cores. Typically 1 to 4 cores are +reserved for the OS, and only 64 or 66 cores are used. Each core has 4 +hyperthreads,so there are effectively N = 256 (4*64) or N = 264 (4*66) +cores to run on. The product of MPI tasks * OpenMP threads/task should +not exceed this limit, otherwise performance will suffer. Note that +with the KOKKOS package you do not need to specify how many KNLs there +are per node; each KNL is simply treated as running some number of MPI +tasks. Examples of mpirun commands that follow these rules are shown below. @@ -221,57 +231,60 @@ tasks/node. The "-k on t Nt" command-line switch sets the number of threads/task as Nt. The product of these two values should be N, i.e. 256 or 264. -NOTE: The default for the "package kokkos"_package.html command is -to use "full" neighbor lists and set the Newton flag to "off" for both -pairwise and bonded interactions. When running on KNL, this -will typically be best for pair-wise potentials. For manybody potentials, -using "half" neighbor lists and setting the -Newton flag to "on" may be faster. It can also be faster to use non-threaded communication. -Use the "-pk kokkos" "command-line switch"_Section_start.html#start_7 to -change the default "package kokkos"_package.html -options. See its doc page for details and default settings. Experimenting with -its options can provide a speed-up for specific calculations. For example: +NOTE: The default for the "package kokkos"_package.html command is to +use "full" neighbor lists and set the Newton flag to "off" for both +pairwise and bonded interactions. When running on KNL, this will +typically be best for pair-wise potentials. For manybody potentials, +using "half" neighbor lists and setting the Newton flag to "on" may be +faster. It can also be faster to use non-threaded communication. Use +the "-pk kokkos" "command-line switch"_Section_start.html#start_7 to +change the default "package kokkos"_package.html options. See its doc +page for details and default settings. Experimenting with its options +can provide a speed-up for specific calculations. For example: mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm no -in in.lj # Newton off, full neighbor list, non-threaded comm mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton on neigh half comm no -in in.reax # Newton on, half neighbor list, non-threaded comm :pre -NOTE: MPI tasks and threads should be bound to cores as described above for CPUs. +NOTE: MPI tasks and threads should be bound to cores as described +above for CPUs. -NOTE: To build with Kokkos support for Intel Xeon Phi coprocessors such as Knight's Corner (KNC), your -system must be configured to use them in "native" mode, not "offload" -mode like the USER-INTEL package supports. +NOTE: To build with Kokkos support for Intel Xeon Phi coprocessors +such as Knight's Corner (KNC), your system must be configured to use +them in "native" mode, not "offload" mode like the USER-INTEL package +supports. [Running on GPUs:] -Use the "-k" "command-line switch"_Section_commands.html#start_7 to -specify the number of GPUs per node. Typically the -np setting -of the mpirun command should set the number of MPI -tasks/node to be equal to the # of physical GPUs on the node. -You can assign multiple MPI tasks to the same GPU with the -KOKKOS package, but this is usually only faster if significant portions -of the input script have not been ported to use Kokkos. Using CUDA MPS -is recommended in this scenario. As above for multi-core CPUs (and no GPU), if N is the number -of physical cores/node, then the number of MPI tasks/node should not exceed N. +Use the "-k" "command-line switch"_Section_start.html#start_7 to +specify the number of GPUs per node. Typically the -np setting of the +mpirun command should set the number of MPI tasks/node to be equal to +the # of physical GPUs on the node. You can assign multiple MPI tasks +to the same GPU with the KOKKOS package, but this is usually only +faster if significant portions of the input script have not been +ported to use Kokkos. Using CUDA MPS is recommended in this +scenario. As above for multi-core CPUs (and no GPU), if N is the +number of physical cores/node, then the number of MPI tasks/node +should not exceed N. -k on g Ng :pre -Here are examples of how to use the KOKKOS package for GPUs, -assuming one or more nodes, each with two GPUs: +Here are examples of how to use the KOKKOS package for GPUs, assuming +one or more nodes, each with two GPUs: mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 2 GPUs/node mpirun -np 32 -ppn 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 16 nodes, 2 MPI tasks/node, 2 GPUs/node (32 GPUs total) :pre -NOTE: The default for the "package kokkos"_package.html command is -to use "full" neighbor lists and set the Newton flag to "off" for both +NOTE: The default for the "package kokkos"_package.html command is to +use "full" neighbor lists and set the Newton flag to "off" for both pairwise and bonded interactions, along with threaded communication. -When running on Maxwell or Kepler GPUs, this will typically be best. For Pascal GPUs, -using "half" neighbor lists and setting the -Newton flag to "on" may be faster. For many pair styles, setting the neighbor binsize -equal to the ghost atom cutoff will give speedup. -Use the "-pk kokkos" "command-line switch"_Section_start.html#start_7 to -change the default "package kokkos"_package.html -options. See its doc page for details and default settings. Experimenting with -its options can provide a speed-up for specific calculations. For example: +When running on Maxwell or Kepler GPUs, this will typically be +best. For Pascal GPUs, using "half" neighbor lists and setting the +Newton flag to "on" may be faster. For many pair styles, setting the +neighbor binsize equal to the ghost atom cutoff will give speedup. +Use the "-pk kokkos" "command-line switch"_Section_start.html#start_7 +to change the default "package kokkos"_package.html options. See its +doc page for details and default settings. Experimenting with its +options can provide a speed-up for specific calculations. For example: mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos binsize 2.8 -in in.lj # Set binsize = neighbor ghost cutoff mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighborlist, set binsize = neighbor ghost cutoff :pre @@ -299,8 +312,8 @@ Alternatively the effect of the "-sf" or "-pk" switches can be duplicated by adding the "package kokkos"_package.html or "suffix kk"_suffix.html commands to your input script. -The discussion above for building LAMMPS with the KOKKOS package, the mpirun/mpiexec command, and setting -appropriate thread are the same. +The discussion above for building LAMMPS with the KOKKOS package, the +mpirun/mpiexec command, and setting appropriate thread are the same. You must still use the "-k on" "command-line switch"_Section_start.html#start_7 to enable the KOKKOS package, and @@ -318,17 +331,19 @@ wish to change any of its option defaults, as set by the "-k on" [Using OpenMP threading and CUDA together (experimental):] -With the KOKKOS package, both OpenMP multi-threading and GPUs can be used -together in a few special cases. In the Makefile, the KOKKOS_DEVICES variable must -include both "Cuda" and "OpenMP", as is the case for /src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi +With the KOKKOS package, both OpenMP multi-threading and GPUs can be +used together in a few special cases. In the Makefile, the +KOKKOS_DEVICES variable must include both "Cuda" and "OpenMP", as is +the case for /src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi KOKKOS_DEVICES=Cuda,OpenMP :pre The suffix "/kk" is equivalent to "/kk/device", and for Kokkos CUDA, -using the "-sf kk" in the command line gives the default CUDA version everywhere. -However, if the "/kk/host" suffix is added to a specific style in the input -script, the Kokkos OpenMP (CPU) version of that specific style will be used instead. -Set the number of OpenMP threads as "t Nt" and the number of GPUs as "g Ng" +using the "-sf kk" in the command line gives the default CUDA version +everywhere. However, if the "/kk/host" suffix is added to a specific +style in the input script, the Kokkos OpenMP (CPU) version of that +specific style will be used instead. Set the number of OpenMP threads +as "t Nt" and the number of GPUs as "g Ng" -k on t Nt g Ng :pre @@ -336,18 +351,20 @@ For example, the command to run with 1 GPU and 8 OpenMP threads is then: mpiexec -np 1 lmp_kokkos_cuda_openmpi -in in.lj -k on g 1 t 8 -sf kk :pre -Conversely, if the "-sf kk/host" is used in the command line and then the -"/kk" or "/kk/device" suffix is added to a specific style in your input script, -then only that specific style will run on the GPU while everything else will -run on the CPU in OpenMP mode. Note that the execution of the CPU and GPU -styles will NOT overlap, except for a special case: - -A kspace style and/or molecular topology (bonds, angles, etc.) running on -the host CPU can overlap with a pair style running on the GPU. First compile -with "--default-stream per-thread" added to CCFLAGS in the Kokkos CUDA Makefile. -Then explicitly use the "/kk/host" suffix for kspace and bonds, angles, etc. -in the input file and the "kk" suffix (equal to "kk/device") on the command line. -Also make sure the environment variable CUDA_LAUNCH_BLOCKING is not set to "1" +Conversely, if the "-sf kk/host" is used in the command line and then +the "/kk" or "/kk/device" suffix is added to a specific style in your +input script, then only that specific style will run on the GPU while +everything else will run on the CPU in OpenMP mode. Note that the +execution of the CPU and GPU styles will NOT overlap, except for a +special case: + +A kspace style and/or molecular topology (bonds, angles, etc.) running +on the host CPU can overlap with a pair style running on the +GPU. First compile with "--default-stream per-thread" added to CCFLAGS +in the Kokkos CUDA Makefile. Then explicitly use the "/kk/host" +suffix for kspace and bonds, angles, etc. in the input file and the +"kk" suffix (equal to "kk/device") on the command line. Also make +sure the environment variable CUDA_LAUNCH_BLOCKING is not set to "1" so CPU/GPU overlap can occur. [Speed-ups to expect:] @@ -384,9 +401,8 @@ hardware. There are other allowed options when building with the KOKKOS package. As above, they can be set either as variables on the make command line or in Makefile.machine. This is the full list of options, including -those discussed above. Each takes a value shown below. The -default value is listed, which is set in the -/lib/kokkos/Makefile.kokkos file. +those discussed above. Each takes a value shown below. The default +value is listed, which is set in the /lib/kokkos/Makefile.kokkos file. KOKKOS_DEVICES, values = {Serial}, {OpenMP}, {Pthreads}, {Cuda}, default = {OpenMP} KOKKOS_ARCH, values = {KNC}, {SNB}, {HSW}, {Kepler30}, {Kepler32}, {Kepler35}, {Kepler37}, {Maxwell50}, {Maxwell52}, {Maxwell53}, {Pascal60}, {Pascal61}, {ARMv80}, {ARMv81}, {ARMv81}, {ARMv8-ThunderX}, {BGQ}, {Power7}, {Power8}, {Power9}, {KNL}, {BDW}, {SKX}, default = {none} @@ -444,13 +460,14 @@ within LAMMPS. KOKKOS_DEBUG=yes enables printing of run-time debugging information that can be useful. It also enables runtime bounds checking on Kokkos data structures. -KOKKOS_CXX_STANDARD and KOKKOS_OPTIONS are typically not changed when building LAMMPS. +KOKKOS_CXX_STANDARD and KOKKOS_OPTIONS are typically not changed when +building LAMMPS. -KOKKOS_CUDA_OPTIONS are additional options for CUDA. The LAMMPS KOKKOS package must be compiled -with the {enable_lambda} option when using GPUs. +KOKKOS_CUDA_OPTIONS are additional options for CUDA. The LAMMPS KOKKOS +package must be compiled with the {enable_lambda} option when using +GPUs. [Restrictions:] -Currently, there are no precision options with the KOKKOS -package. All compilation and computation is performed in double -precision. +Currently, there are no precision options with the KOKKOS package. All +compilation and computation is performed in double precision. diff --git a/doc/src/Speed_measure.txt b/doc/src/Speed_measure.txt index 03c0345c20..78dc220088 100644 --- a/doc/src/Speed_measure.txt +++ b/doc/src/Speed_measure.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Speed_omp.txt b/doc/src/Speed_omp.txt index 9685b6d349..bcfc406902 100644 --- a/doc/src/Speed_omp.txt +++ b/doc/src/Speed_omp.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Speed_opt.txt b/doc/src/Speed_opt.txt index 7d0d7169f0..676a5d8418 100644 --- a/doc/src/Speed_opt.txt +++ b/doc/src/Speed_opt.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Speed_packages.txt b/doc/src/Speed_packages.txt index 13b5e183db..f463ed91b8 100644 --- a/doc/src/Speed_packages.txt +++ b/doc/src/Speed_packages.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -71,11 +71,12 @@ Lennard-Jones "pair_style lj/cut"_pair_lj.html: "pair_style lj/cut/omp"_pair_lj.html "pair_style lj/cut/opt"_pair_lj.html :ul -To see what accelerate styles are currently available, see -"Section 3.5"_Section_commands.html#cmd_5 of the manual. The -doc pages for individual commands (e.g. "pair lj/cut"_pair_lj.html or -"fix nve"_fix_nve.html) also list any accelerated variants available -for that style. +To see what accelerate styles are currently available for a particular +style, find the style name in the "Commands_all"_Commands_all.html +style pages (fix,compute,pair,etc) and see what suffixes are listed +(g,i,k,o,t) with it. The doc pages for individual commands +(e.g. "pair lj/cut"_pair_lj.html or "fix nve"_fix_nve.html) also list +any accelerated variants available for that style. To use an accelerator package in LAMMPS, and one or more of the styles it provides, follow these general steps. Details vary from package to diff --git a/doc/src/Speed_tips.txt b/doc/src/Speed_tips.txt index c0d360cd8e..7c950779d5 100644 --- a/doc/src/Speed_tips.txt +++ b/doc/src/Speed_tips.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt index bf0f9ae134..85ee531cfd 100644 --- a/doc/src/Tools.txt +++ b/doc/src/Tools.txt @@ -4,7 +4,7 @@ Section"_Modify.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_charmm.txt b/doc/src/angle_charmm.txt index fe109d24fb..f72f086234 100644 --- a/doc/src/angle_charmm.txt +++ b/doc/src/angle_charmm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_class2.txt b/doc/src/angle_class2.txt index c13a64afb6..3e5445d3a3 100644 --- a/doc/src/angle_class2.txt +++ b/doc/src/angle_class2.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_coeff.txt b/doc/src/angle_coeff.txt index 37298ba145..4c217bae7d 100644 --- a/doc/src/angle_coeff.txt +++ b/doc/src/angle_coeff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -65,9 +65,9 @@ the style to display the formula it computes and coefficients specified by the associated "angle_coeff"_angle_coeff.html command. Note that there are also additional angle styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the angle section of "this -page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +angle styles is on the "Commands bond"_Commands_bond.html#angle doc +page. "angle_style none"_angle_none.html - turn off angle interactions "angle_style hybrid"_angle_hybrid.html - define multiple styles of angle interactions :ul diff --git a/doc/src/angle_cosine.txt b/doc/src/angle_cosine.txt index 99264b02a6..5a1fe91c83 100644 --- a/doc/src/angle_cosine.txt +++ b/doc/src/angle_cosine.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_cosine_buck6d.txt b/doc/src/angle_cosine_buck6d.txt index 7182ffecc8..63a451b763 100644 --- a/doc/src/angle_cosine_buck6d.txt +++ b/doc/src/angle_cosine_buck6d.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_cosine_delta.txt b/doc/src/angle_cosine_delta.txt index 052300412f..b6ac0ed818 100644 --- a/doc/src/angle_cosine_delta.txt +++ b/doc/src/angle_cosine_delta.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_cosine_periodic.txt b/doc/src/angle_cosine_periodic.txt index 108b081533..c5b184e0b4 100644 --- a/doc/src/angle_cosine_periodic.txt +++ b/doc/src/angle_cosine_periodic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_cosine_shift.txt b/doc/src/angle_cosine_shift.txt index 185b9f5309..90ac61fe23 100644 --- a/doc/src/angle_cosine_shift.txt +++ b/doc/src/angle_cosine_shift.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_cosine_shift_exp.txt b/doc/src/angle_cosine_shift_exp.txt index e5c7fdd709..f1c4c93c42 100644 --- a/doc/src/angle_cosine_shift_exp.txt +++ b/doc/src/angle_cosine_shift_exp.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_cosine_squared.txt b/doc/src/angle_cosine_squared.txt index e85c514d1e..ba5fd9d413 100644 --- a/doc/src/angle_cosine_squared.txt +++ b/doc/src/angle_cosine_squared.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_dipole.txt b/doc/src/angle_dipole.txt index 31ae2e9464..c001d9d920 100644 --- a/doc/src/angle_dipole.txt +++ b/doc/src/angle_dipole.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_fourier.txt b/doc/src/angle_fourier.txt index 18eb56b478..e0e32c1eed 100644 --- a/doc/src/angle_fourier.txt +++ b/doc/src/angle_fourier.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_fourier_simple.txt b/doc/src/angle_fourier_simple.txt index 6faff5f10d..3c50536a2c 100644 --- a/doc/src/angle_fourier_simple.txt +++ b/doc/src/angle_fourier_simple.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_harmonic.txt b/doc/src/angle_harmonic.txt index fe803be623..76c7a491e8 100644 --- a/doc/src/angle_harmonic.txt +++ b/doc/src/angle_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_hybrid.txt b/doc/src/angle_hybrid.txt index bdd3707ccb..2646903421 100644 --- a/doc/src/angle_hybrid.txt +++ b/doc/src/angle_hybrid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_none.txt b/doc/src/angle_none.txt index a4a9b07c78..1eca5cbbec 100644 --- a/doc/src/angle_none.txt +++ b/doc/src/angle_none.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_quartic.txt b/doc/src/angle_quartic.txt index a31214f435..294be330b1 100644 --- a/doc/src/angle_quartic.txt +++ b/doc/src/angle_quartic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_sdk.txt b/doc/src/angle_sdk.txt index 0cc535e543..9c5630ef3a 100644 --- a/doc/src/angle_sdk.txt +++ b/doc/src/angle_sdk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_style.txt b/doc/src/angle_style.txt index f687e9286c..63295faf26 100644 --- a/doc/src/angle_style.txt +++ b/doc/src/angle_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -58,9 +58,9 @@ the style to display the formula it computes and coefficients specified by the associated "angle_coeff"_angle_coeff.html command. Note that there are also additional angle styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the angle section of "this -page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +angle styles are is on the "Commands bond"_Commands_bond.html#angle +doc page. "angle_style none"_angle_none.html - turn off angle interactions "angle_style zero"_angle_zero.html - topology but no interactions diff --git a/doc/src/angle_table.txt b/doc/src/angle_table.txt index 29b56875e7..31ab532be1 100644 --- a/doc/src/angle_table.txt +++ b/doc/src/angle_table.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_zero.txt b/doc/src/angle_zero.txt index b8e8ebf953..c6c1958ec8 100644 --- a/doc/src/angle_zero.txt +++ b/doc/src/angle_zero.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/atom_modify.txt b/doc/src/atom_modify.txt index 1dc0fa6bfb..c882d1b0ba 100644 --- a/doc/src/atom_modify.txt +++ b/doc/src/atom_modify.txt @@ -3,7 +3,7 @@ Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/atom_style.txt b/doc/src/atom_style.txt index 063f9e446c..abf05885a3 100644 --- a/doc/src/atom_style.txt +++ b/doc/src/atom_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/balance.txt b/doc/src/balance.txt index da6f59900d..06c4eca491 100644 --- a/doc/src/balance.txt +++ b/doc/src/balance.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/body.txt b/doc/src/body.txt index 96aedccf40..4de5b52911 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_class2.txt b/doc/src/bond_class2.txt index 049482c973..3d8d5007ba 100644 --- a/doc/src/bond_class2.txt +++ b/doc/src/bond_class2.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_coeff.txt b/doc/src/bond_coeff.txt index d93c0b223b..7485fa3d8d 100644 --- a/doc/src/bond_coeff.txt +++ b/doc/src/bond_coeff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -61,9 +61,8 @@ the style to display the formula it computes and coefficients specified by the associated "bond_coeff"_bond_coeff.html command. Note that here are also additional bond styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the bond section of "this -page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +bond styles is on the "Commands bond"_Commands_bond.html doc page. "bond_style none"_bond_none.html - turn off bonded interactions "bond_style hybrid"_bond_hybrid.html - define multiple styles of bond interactions :ul diff --git a/doc/src/bond_fene.txt b/doc/src/bond_fene.txt index be154a53b1..e16307a710 100644 --- a/doc/src/bond_fene.txt +++ b/doc/src/bond_fene.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_fene_expand.txt b/doc/src/bond_fene_expand.txt index 77ebd977c8..8edd325885 100644 --- a/doc/src/bond_fene_expand.txt +++ b/doc/src/bond_fene_expand.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_gromos.txt b/doc/src/bond_gromos.txt index 7a56cb3afa..275036a421 100644 --- a/doc/src/bond_gromos.txt +++ b/doc/src/bond_gromos.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_harmonic.txt b/doc/src/bond_harmonic.txt index 54e89fcc72..e4b2015fed 100644 --- a/doc/src/bond_harmonic.txt +++ b/doc/src/bond_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_harmonic_shift.txt b/doc/src/bond_harmonic_shift.txt index 0213b5cc6f..b6dc18a5fd 100644 --- a/doc/src/bond_harmonic_shift.txt +++ b/doc/src/bond_harmonic_shift.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_harmonic_shift_cut.txt b/doc/src/bond_harmonic_shift_cut.txt index d907bf4a62..b3054437d8 100644 --- a/doc/src/bond_harmonic_shift_cut.txt +++ b/doc/src/bond_harmonic_shift_cut.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_hybrid.txt b/doc/src/bond_hybrid.txt index 400c3e0be4..140fb72378 100644 --- a/doc/src/bond_hybrid.txt +++ b/doc/src/bond_hybrid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_morse.txt b/doc/src/bond_morse.txt index 66f2d08cab..9b64e8c5c1 100644 --- a/doc/src/bond_morse.txt +++ b/doc/src/bond_morse.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_none.txt b/doc/src/bond_none.txt index 8cb262a50f..cace1919e1 100644 --- a/doc/src/bond_none.txt +++ b/doc/src/bond_none.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_nonlinear.txt b/doc/src/bond_nonlinear.txt index e0aa5629b3..08109bc699 100644 --- a/doc/src/bond_nonlinear.txt +++ b/doc/src/bond_nonlinear.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_oxdna.txt b/doc/src/bond_oxdna.txt index 927fea6403..a0e14a123a 100644 --- a/doc/src/bond_oxdna.txt +++ b/doc/src/bond_oxdna.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_quartic.txt b/doc/src/bond_quartic.txt index 760a5d7f07..87a21eff02 100644 --- a/doc/src/bond_quartic.txt +++ b/doc/src/bond_quartic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_style.txt b/doc/src/bond_style.txt index 3bd8afda19..41fa1cabb2 100644 --- a/doc/src/bond_style.txt +++ b/doc/src/bond_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -66,9 +66,8 @@ the style to display the formula it computes and coefficients specified by the associated "bond_coeff"_bond_coeff.html command. Note that there are also additional bond styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the bond section of "this -page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +bond styles is on the "Commands bond"_Commands_bond.html doc page. "bond_style none"_bond_none.html - turn off bonded interactions "bond_style zero"_bond_zero.html - topology but no interactions diff --git a/doc/src/bond_table.txt b/doc/src/bond_table.txt index fe0b3ce22b..e53cbdfa9f 100644 --- a/doc/src/bond_table.txt +++ b/doc/src/bond_table.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_write.txt b/doc/src/bond_write.txt index 4797d06cb1..711bd2c296 100644 --- a/doc/src/bond_write.txt +++ b/doc/src/bond_write.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_zero.txt b/doc/src/bond_zero.txt index b599f291b4..554f26e7f0 100644 --- a/doc/src/bond_zero.txt +++ b/doc/src/bond_zero.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/boundary.txt b/doc/src/boundary.txt index 7ee897ffa4..f9685433b2 100644 --- a/doc/src/boundary.txt +++ b/doc/src/boundary.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/box.txt b/doc/src/box.txt index 6dc093ad81..38c874fb78 100644 --- a/doc/src/box.txt +++ b/doc/src/box.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/change_box.txt b/doc/src/change_box.txt index 8f3fda263f..adc5d6bdcb 100644 --- a/doc/src/change_box.txt +++ b/doc/src/change_box.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/clear.txt b/doc/src/clear.txt index 7ac4da5c8d..c4ad4c4030 100644 --- a/doc/src/clear.txt +++ b/doc/src/clear.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/comm_modify.txt b/doc/src/comm_modify.txt index 3e8d0eca4f..489278523b 100644 --- a/doc/src/comm_modify.txt +++ b/doc/src/comm_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/comm_style.txt b/doc/src/comm_style.txt index 8248d654d3..39eb1d4ef5 100644 --- a/doc/src/comm_style.txt +++ b/doc/src/comm_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute.txt b/doc/src/compute.txt index 105571b82a..7d9e443e7d 100644 --- a/doc/src/compute.txt +++ b/doc/src/compute.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -161,13 +161,19 @@ calculations accessed in the various ways described above. Each compute style has its own doc page which describes its arguments and what it does. Here is an alphabetic list of compute styles -available in LAMMPS. They are also given in more compact form in the -Compute section of "this page"_Section_commands.html#cmd_5. +available in LAMMPS. They are also listed in more compact form on the +"Commands compute"_Commands_compute.html doc page. There are also additional compute styles (not listed here) submitted -by users which are included in the LAMMPS distribution. The list of -these with links to the individual styles are given in the compute -section of "this page"_Section_commands.html#cmd_5. +by users which are included in the LAMMPS distribution. The full list +of all compute styles is on the "Commands +compute"_Commands_compute.html doc page. + +There are also additional accelerated compute styles included in the +LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. +The individual style names on the "Commands +compute"_Commands_compute.html doc page are followed by one or more of +(g,i,k,o,t) to indicate which accerlerated styles exist. "aggregate/atom"_compute_cluster_atom.html - aggregate ID for each atom "angle/local"_compute_bond_local.html - theta and energy of each angle @@ -243,16 +249,6 @@ section of "this page"_Section_commands.html#cmd_5. "vcm/chunk"_compute_vcm_chunk.html - velocity of center-of-mass for each chunk "voronoi/atom"_compute_voronoi_atom.html - Voronoi volume and neighbors for each atom :ul -There are also additional compute styles submitted by users which are -included in the LAMMPS distribution. The list of these with links to -the individual styles are given in the compute section of "this -page"_Section_commands.html#cmd_5. - -There are also additional accelerated compute styles included in the -LAMMPS distribution for faster performance on CPUs and GPUs. The list -of these with links to the individual styles are given in the pair -section of "this page"_Section_commands.html#cmd_5. - [Restrictions:] none [Related commands:] diff --git a/doc/src/compute_ackland_atom.txt b/doc/src/compute_ackland_atom.txt index e75ad534eb..485c191313 100644 --- a/doc/src/compute_ackland_atom.txt +++ b/doc/src/compute_ackland_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_angle.txt b/doc/src/compute_angle.txt index 1deb3a4b1b..64eb2f4bb1 100644 --- a/doc/src/compute_angle.txt +++ b/doc/src/compute_angle.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_angle_local.txt b/doc/src/compute_angle_local.txt index 487b41eaf3..3a321965ef 100644 --- a/doc/src/compute_angle_local.txt +++ b/doc/src/compute_angle_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_angmom_chunk.txt b/doc/src/compute_angmom_chunk.txt index c97af96f49..7e49ff3024 100644 --- a/doc/src/compute_angmom_chunk.txt +++ b/doc/src/compute_angmom_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_basal_atom.txt b/doc/src/compute_basal_atom.txt index e0ac6b0a60..067a020c35 100644 --- a/doc/src/compute_basal_atom.txt +++ b/doc/src/compute_basal_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_body_local.txt b/doc/src/compute_body_local.txt index f387e61c78..8ac3f00c55 100644 --- a/doc/src/compute_body_local.txt +++ b/doc/src/compute_body_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_bond.txt b/doc/src/compute_bond.txt index ac0e50872b..a87c510538 100644 --- a/doc/src/compute_bond.txt +++ b/doc/src/compute_bond.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_bond_local.txt b/doc/src/compute_bond_local.txt index 868b43caa9..c3dc1cc4af 100644 --- a/doc/src/compute_bond_local.txt +++ b/doc/src/compute_bond_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_centro_atom.txt b/doc/src/compute_centro_atom.txt index bace0d8739..183537690f 100644 --- a/doc/src/compute_centro_atom.txt +++ b/doc/src/compute_centro_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_chunk_atom.txt b/doc/src/compute_chunk_atom.txt index fc0de28b6a..95e6e6c010 100644 --- a/doc/src/compute_chunk_atom.txt +++ b/doc/src/compute_chunk_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_cluster_atom.txt b/doc/src/compute_cluster_atom.txt index 12ecb8f173..e6138fe1e8 100644 --- a/doc/src/compute_cluster_atom.txt +++ b/doc/src/compute_cluster_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_cna_atom.txt b/doc/src/compute_cna_atom.txt index 9c4814560d..d69c5e9c46 100644 --- a/doc/src/compute_cna_atom.txt +++ b/doc/src/compute_cna_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_cnp_atom.txt b/doc/src/compute_cnp_atom.txt index aca7e351ec..44a77d23ca 100644 --- a/doc/src/compute_cnp_atom.txt +++ b/doc/src/compute_cnp_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_com.txt b/doc/src/compute_com.txt index 08bb08b142..fdc631a263 100644 --- a/doc/src/compute_com.txt +++ b/doc/src/compute_com.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_com_chunk.txt b/doc/src/compute_com_chunk.txt index f28355d6c5..b982f0d901 100644 --- a/doc/src/compute_com_chunk.txt +++ b/doc/src/compute_com_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_contact_atom.txt b/doc/src/compute_contact_atom.txt index ea4158e3b1..efe524263a 100644 --- a/doc/src/compute_contact_atom.txt +++ b/doc/src/compute_contact_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_coord_atom.txt b/doc/src/compute_coord_atom.txt index 06b565aedc..66eecd195d 100644 --- a/doc/src/compute_coord_atom.txt +++ b/doc/src/compute_coord_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_damage_atom.txt b/doc/src/compute_damage_atom.txt index e262ee0b1f..74939e2280 100644 --- a/doc/src/compute_damage_atom.txt +++ b/doc/src/compute_damage_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_dihedral.txt b/doc/src/compute_dihedral.txt index 67c97b60f1..aa25f9dd10 100644 --- a/doc/src/compute_dihedral.txt +++ b/doc/src/compute_dihedral.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_dihedral_local.txt b/doc/src/compute_dihedral_local.txt index d2051a51bd..77812699d3 100644 --- a/doc/src/compute_dihedral_local.txt +++ b/doc/src/compute_dihedral_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_dilatation_atom.txt b/doc/src/compute_dilatation_atom.txt index 161e73c7ff..498110cf99 100644 --- a/doc/src/compute_dilatation_atom.txt +++ b/doc/src/compute_dilatation_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_dipole_chunk.txt b/doc/src/compute_dipole_chunk.txt index 5f8d6689c4..d45fde9af2 100644 --- a/doc/src/compute_dipole_chunk.txt +++ b/doc/src/compute_dipole_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_displace_atom.txt b/doc/src/compute_displace_atom.txt index 5636cc02f0..669ab9f7ca 100644 --- a/doc/src/compute_displace_atom.txt +++ b/doc/src/compute_displace_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_dpd.txt b/doc/src/compute_dpd.txt index a5620d34b3..1721456e35 100644 --- a/doc/src/compute_dpd.txt +++ b/doc/src/compute_dpd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_dpd_atom.txt b/doc/src/compute_dpd_atom.txt index ed0fd2410b..8e502d4a60 100644 --- a/doc/src/compute_dpd_atom.txt +++ b/doc/src/compute_dpd_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_edpd_temp_atom.txt b/doc/src/compute_edpd_temp_atom.txt index 9011c3c823..f33398e03d 100644 --- a/doc/src/compute_edpd_temp_atom.txt +++ b/doc/src/compute_edpd_temp_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_entropy_atom.txt b/doc/src/compute_entropy_atom.txt index 7fdc1f4af2..9c45fd2870 100644 --- a/doc/src/compute_entropy_atom.txt +++ b/doc/src/compute_entropy_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_erotate_asphere.txt b/doc/src/compute_erotate_asphere.txt index 24e6e5e6f7..5cdc099782 100644 --- a/doc/src/compute_erotate_asphere.txt +++ b/doc/src/compute_erotate_asphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_erotate_rigid.txt b/doc/src/compute_erotate_rigid.txt index c8527d7073..5b9077870e 100644 --- a/doc/src/compute_erotate_rigid.txt +++ b/doc/src/compute_erotate_rigid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_erotate_sphere.txt b/doc/src/compute_erotate_sphere.txt index 8abc9a53ad..d0c176b50e 100644 --- a/doc/src/compute_erotate_sphere.txt +++ b/doc/src/compute_erotate_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_erotate_sphere_atom.txt b/doc/src/compute_erotate_sphere_atom.txt index 0bea315a89..fdd609a0e6 100644 --- a/doc/src/compute_erotate_sphere_atom.txt +++ b/doc/src/compute_erotate_sphere_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_event_displace.txt b/doc/src/compute_event_displace.txt index 17c4288911..561ded35c0 100644 --- a/doc/src/compute_event_displace.txt +++ b/doc/src/compute_event_displace.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_fep.txt b/doc/src/compute_fep.txt index f0ce3fd704..8b4a92e16e 100644 --- a/doc/src/compute_fep.txt +++ b/doc/src/compute_fep.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_global_atom.txt b/doc/src/compute_global_atom.txt index f40810b70c..a26dba72b0 100644 --- a/doc/src/compute_global_atom.txt +++ b/doc/src/compute_global_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_group_group.txt b/doc/src/compute_group_group.txt index 8f992791d2..cff3687354 100644 --- a/doc/src/compute_group_group.txt +++ b/doc/src/compute_group_group.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_gyration.txt b/doc/src/compute_gyration.txt index 3d698609ca..4dc883ad0b 100644 --- a/doc/src/compute_gyration.txt +++ b/doc/src/compute_gyration.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_gyration_chunk.txt b/doc/src/compute_gyration_chunk.txt index ef14a456f3..dcbfc65393 100644 --- a/doc/src/compute_gyration_chunk.txt +++ b/doc/src/compute_gyration_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_heat_flux.txt b/doc/src/compute_heat_flux.txt index 84c4951328..81a2a3f517 100644 --- a/doc/src/compute_heat_flux.txt +++ b/doc/src/compute_heat_flux.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_hexorder_atom.txt b/doc/src/compute_hexorder_atom.txt index 1ab40b513c..082a3cad7a 100644 --- a/doc/src/compute_hexorder_atom.txt +++ b/doc/src/compute_hexorder_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_improper.txt b/doc/src/compute_improper.txt index 61c4f6cd29..867dd48cc1 100644 --- a/doc/src/compute_improper.txt +++ b/doc/src/compute_improper.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_improper_local.txt b/doc/src/compute_improper_local.txt index 2aec554d2f..f340d5a03f 100644 --- a/doc/src/compute_improper_local.txt +++ b/doc/src/compute_improper_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_inertia_chunk.txt b/doc/src/compute_inertia_chunk.txt index 3edd25d69b..d6cdb3fe79 100644 --- a/doc/src/compute_inertia_chunk.txt +++ b/doc/src/compute_inertia_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_ke.txt b/doc/src/compute_ke.txt index d6f4e1b709..64ab83db48 100644 --- a/doc/src/compute_ke.txt +++ b/doc/src/compute_ke.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_ke_atom.txt b/doc/src/compute_ke_atom.txt index e0e96a80d8..d288ab0236 100644 --- a/doc/src/compute_ke_atom.txt +++ b/doc/src/compute_ke_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_ke_atom_eff.txt b/doc/src/compute_ke_atom_eff.txt index aa188a411b..f665f35055 100644 --- a/doc/src/compute_ke_atom_eff.txt +++ b/doc/src/compute_ke_atom_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_ke_eff.txt b/doc/src/compute_ke_eff.txt index 334b4121ed..d6d7fdb10f 100644 --- a/doc/src/compute_ke_eff.txt +++ b/doc/src/compute_ke_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_ke_rigid.txt b/doc/src/compute_ke_rigid.txt index 69cf4a598e..45ba2673b0 100644 --- a/doc/src/compute_ke_rigid.txt +++ b/doc/src/compute_ke_rigid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_meso_e_atom.txt b/doc/src/compute_meso_e_atom.txt index 70a8969386..9a9c7fae11 100644 --- a/doc/src/compute_meso_e_atom.txt +++ b/doc/src/compute_meso_e_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_meso_rho_atom.txt b/doc/src/compute_meso_rho_atom.txt index 912587f4a2..30b1142b6c 100644 --- a/doc/src/compute_meso_rho_atom.txt +++ b/doc/src/compute_meso_rho_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_meso_t_atom.txt b/doc/src/compute_meso_t_atom.txt index c9db9bf50e..ab92f05018 100644 --- a/doc/src/compute_meso_t_atom.txt +++ b/doc/src/compute_meso_t_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_modify.txt b/doc/src/compute_modify.txt index 9a2480ec0a..192ea0bc9e 100644 --- a/doc/src/compute_modify.txt +++ b/doc/src/compute_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_msd.txt b/doc/src/compute_msd.txt index 742f7ce113..b54e05bc64 100644 --- a/doc/src/compute_msd.txt +++ b/doc/src/compute_msd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_msd_chunk.txt b/doc/src/compute_msd_chunk.txt index 3e1d8542ae..264f38d5fd 100644 --- a/doc/src/compute_msd_chunk.txt +++ b/doc/src/compute_msd_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_msd_nongauss.txt b/doc/src/compute_msd_nongauss.txt index db8788db0b..814159121d 100644 --- a/doc/src/compute_msd_nongauss.txt +++ b/doc/src/compute_msd_nongauss.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_omega_chunk.txt b/doc/src/compute_omega_chunk.txt index 4a7a996d1d..84b25ac6f2 100644 --- a/doc/src/compute_omega_chunk.txt +++ b/doc/src/compute_omega_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_orientorder_atom.txt b/doc/src/compute_orientorder_atom.txt index a8b4008012..7327a7b1d3 100644 --- a/doc/src/compute_orientorder_atom.txt +++ b/doc/src/compute_orientorder_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_pair.txt b/doc/src/compute_pair.txt index be40d7a550..a2c25fcc8d 100644 --- a/doc/src/compute_pair.txt +++ b/doc/src/compute_pair.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_pair_local.txt b/doc/src/compute_pair_local.txt index bbbc5823f2..7588e92527 100644 --- a/doc/src/compute_pair_local.txt +++ b/doc/src/compute_pair_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_pe.txt b/doc/src/compute_pe.txt index f3ce5678b0..37655dfd48 100644 --- a/doc/src/compute_pe.txt +++ b/doc/src/compute_pe.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_pe_atom.txt b/doc/src/compute_pe_atom.txt index e6bc5f9052..400621f8df 100644 --- a/doc/src/compute_pe_atom.txt +++ b/doc/src/compute_pe_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_plasticity_atom.txt b/doc/src/compute_plasticity_atom.txt index c992ca8200..50a51d9937 100644 --- a/doc/src/compute_plasticity_atom.txt +++ b/doc/src/compute_plasticity_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_pressure.txt b/doc/src/compute_pressure.txt index 51d3241ace..dea0a7f05b 100644 --- a/doc/src/compute_pressure.txt +++ b/doc/src/compute_pressure.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_pressure_uef.txt b/doc/src/compute_pressure_uef.txt index 5b252b369d..61cc85ad80 100644 --- a/doc/src/compute_pressure_uef.txt +++ b/doc/src/compute_pressure_uef.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_property_atom.txt b/doc/src/compute_property_atom.txt index 88bdf5a453..512009093c 100644 --- a/doc/src/compute_property_atom.txt +++ b/doc/src/compute_property_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_property_chunk.txt b/doc/src/compute_property_chunk.txt index ad131a8a60..a30b5a1f0a 100644 --- a/doc/src/compute_property_chunk.txt +++ b/doc/src/compute_property_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_property_local.txt b/doc/src/compute_property_local.txt index 74595f00f6..b0ec088cf7 100644 --- a/doc/src/compute_property_local.txt +++ b/doc/src/compute_property_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_rdf.txt b/doc/src/compute_rdf.txt index c2d2c379fe..04b38682cc 100644 --- a/doc/src/compute_rdf.txt +++ b/doc/src/compute_rdf.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_reduce.txt b/doc/src/compute_reduce.txt index 614ef50581..ef3c7c6489 100644 --- a/doc/src/compute_reduce.txt +++ b/doc/src/compute_reduce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_rigid_local.txt b/doc/src/compute_rigid_local.txt index 380713d091..b5e6954ab9 100644 --- a/doc/src/compute_rigid_local.txt +++ b/doc/src/compute_rigid_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_saed.txt b/doc/src/compute_saed.txt index 419ad3c489..8c17a30fca 100644 --- a/doc/src/compute_saed.txt +++ b/doc/src/compute_saed.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_slice.txt b/doc/src/compute_slice.txt index 69eb7976ad..51031aeab3 100644 --- a/doc/src/compute_slice.txt +++ b/doc/src/compute_slice.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_contact_radius.txt b/doc/src/compute_smd_contact_radius.txt index 5e043a1390..cd13816047 100644 --- a/doc/src/compute_smd_contact_radius.txt +++ b/doc/src/compute_smd_contact_radius.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_damage.txt b/doc/src/compute_smd_damage.txt index ea814ba064..afabe23d7c 100644 --- a/doc/src/compute_smd_damage.txt +++ b/doc/src/compute_smd_damage.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_hourglass_error.txt b/doc/src/compute_smd_hourglass_error.txt index 046f7e7f27..13fd20a589 100644 --- a/doc/src/compute_smd_hourglass_error.txt +++ b/doc/src/compute_smd_hourglass_error.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_internal_energy.txt b/doc/src/compute_smd_internal_energy.txt index b88bd8a1ce..6585c3429f 100644 --- a/doc/src/compute_smd_internal_energy.txt +++ b/doc/src/compute_smd_internal_energy.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_plastic_strain.txt b/doc/src/compute_smd_plastic_strain.txt index 7fd083726f..fb3c5c9138 100644 --- a/doc/src/compute_smd_plastic_strain.txt +++ b/doc/src/compute_smd_plastic_strain.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_plastic_strain_rate.txt b/doc/src/compute_smd_plastic_strain_rate.txt index b17684e05e..b913ae9097 100644 --- a/doc/src/compute_smd_plastic_strain_rate.txt +++ b/doc/src/compute_smd_plastic_strain_rate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_rho.txt b/doc/src/compute_smd_rho.txt index 375513b9c7..a1ee1d9c5b 100644 --- a/doc/src/compute_smd_rho.txt +++ b/doc/src/compute_smd_rho.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_tlsph_defgrad.txt b/doc/src/compute_smd_tlsph_defgrad.txt index d07ff99f07..1663c84f65 100644 --- a/doc/src/compute_smd_tlsph_defgrad.txt +++ b/doc/src/compute_smd_tlsph_defgrad.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_tlsph_dt.txt b/doc/src/compute_smd_tlsph_dt.txt index 798278661a..c714f3266b 100644 --- a/doc/src/compute_smd_tlsph_dt.txt +++ b/doc/src/compute_smd_tlsph_dt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_tlsph_num_neighs.txt b/doc/src/compute_smd_tlsph_num_neighs.txt index 632ab94208..af5b0741db 100644 --- a/doc/src/compute_smd_tlsph_num_neighs.txt +++ b/doc/src/compute_smd_tlsph_num_neighs.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_tlsph_shape.txt b/doc/src/compute_smd_tlsph_shape.txt index a3daf70222..927cd7c7ae 100644 --- a/doc/src/compute_smd_tlsph_shape.txt +++ b/doc/src/compute_smd_tlsph_shape.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_tlsph_strain.txt b/doc/src/compute_smd_tlsph_strain.txt index 899166359c..4536f26c8e 100644 --- a/doc/src/compute_smd_tlsph_strain.txt +++ b/doc/src/compute_smd_tlsph_strain.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_tlsph_strain_rate.txt b/doc/src/compute_smd_tlsph_strain_rate.txt index 29246a05d9..ae2883e4bb 100644 --- a/doc/src/compute_smd_tlsph_strain_rate.txt +++ b/doc/src/compute_smd_tlsph_strain_rate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_tlsph_stress.txt b/doc/src/compute_smd_tlsph_stress.txt index c2c23b6836..50d6b7f434 100644 --- a/doc/src/compute_smd_tlsph_stress.txt +++ b/doc/src/compute_smd_tlsph_stress.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_triangle_mesh_vertices.txt b/doc/src/compute_smd_triangle_mesh_vertices.txt index 3080ef700e..9e167924d1 100644 --- a/doc/src/compute_smd_triangle_mesh_vertices.txt +++ b/doc/src/compute_smd_triangle_mesh_vertices.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_ulsph_num_neighs.txt b/doc/src/compute_smd_ulsph_num_neighs.txt index 8550838799..202b8f15e1 100644 --- a/doc/src/compute_smd_ulsph_num_neighs.txt +++ b/doc/src/compute_smd_ulsph_num_neighs.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_ulsph_strain.txt b/doc/src/compute_smd_ulsph_strain.txt index 3813e61f6c..76c47162a5 100644 --- a/doc/src/compute_smd_ulsph_strain.txt +++ b/doc/src/compute_smd_ulsph_strain.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_ulsph_strain_rate.txt b/doc/src/compute_smd_ulsph_strain_rate.txt index 251e5ddbf7..c851e767b3 100644 --- a/doc/src/compute_smd_ulsph_strain_rate.txt +++ b/doc/src/compute_smd_ulsph_strain_rate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_ulsph_stress.txt b/doc/src/compute_smd_ulsph_stress.txt index 719cf006c9..a5692b2412 100644 --- a/doc/src/compute_smd_ulsph_stress.txt +++ b/doc/src/compute_smd_ulsph_stress.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_smd_vol.txt b/doc/src/compute_smd_vol.txt index 495c09a5f5..fc4871d6f3 100644 --- a/doc/src/compute_smd_vol.txt +++ b/doc/src/compute_smd_vol.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_sna_atom.txt b/doc/src/compute_sna_atom.txt index 6fdd85568b..3b302a0a71 100644 --- a/doc/src/compute_sna_atom.txt +++ b/doc/src/compute_sna_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_spin.txt b/doc/src/compute_spin.txt index fcc764c14c..792706ecdf 100644 --- a/doc/src/compute_spin.txt +++ b/doc/src/compute_spin.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_stress_atom.txt b/doc/src/compute_stress_atom.txt index 423c1dcfda..222513da61 100644 --- a/doc/src/compute_stress_atom.txt +++ b/doc/src/compute_stress_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_tally.txt b/doc/src/compute_tally.txt index 95ef4a553b..23fac43093 100644 --- a/doc/src/compute_tally.txt +++ b/doc/src/compute_tally.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_tdpd_cc_atom.txt b/doc/src/compute_tdpd_cc_atom.txt index ec077a33d1..9ee4d3da34 100644 --- a/doc/src/compute_tdpd_cc_atom.txt +++ b/doc/src/compute_tdpd_cc_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp.txt b/doc/src/compute_temp.txt index cce40261c6..9f3a1ca906 100644 --- a/doc/src/compute_temp.txt +++ b/doc/src/compute_temp.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_asphere.txt b/doc/src/compute_temp_asphere.txt index a5fc0e8927..6766729ae0 100644 --- a/doc/src/compute_temp_asphere.txt +++ b/doc/src/compute_temp_asphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_body.txt b/doc/src/compute_temp_body.txt index 580564b059..4e3ce3e77f 100644 --- a/doc/src/compute_temp_body.txt +++ b/doc/src/compute_temp_body.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_chunk.txt b/doc/src/compute_temp_chunk.txt index 5d7d64ce68..de8c850a70 100644 --- a/doc/src/compute_temp_chunk.txt +++ b/doc/src/compute_temp_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_com.txt b/doc/src/compute_temp_com.txt index e8b46aec97..12df694e38 100644 --- a/doc/src/compute_temp_com.txt +++ b/doc/src/compute_temp_com.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_cs.txt b/doc/src/compute_temp_cs.txt index 9d2ceabd46..0236319f54 100644 --- a/doc/src/compute_temp_cs.txt +++ b/doc/src/compute_temp_cs.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_deform.txt b/doc/src/compute_temp_deform.txt index b81d07babd..26d322589e 100644 --- a/doc/src/compute_temp_deform.txt +++ b/doc/src/compute_temp_deform.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_deform_eff.txt b/doc/src/compute_temp_deform_eff.txt index 418180d93c..876d492f34 100644 --- a/doc/src/compute_temp_deform_eff.txt +++ b/doc/src/compute_temp_deform_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_drude.txt b/doc/src/compute_temp_drude.txt index 3e86dc8fda..20d9a5c056 100644 --- a/doc/src/compute_temp_drude.txt +++ b/doc/src/compute_temp_drude.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_eff.txt b/doc/src/compute_temp_eff.txt index 42d22a33a7..35ddb75b12 100644 --- a/doc/src/compute_temp_eff.txt +++ b/doc/src/compute_temp_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_partial.txt b/doc/src/compute_temp_partial.txt index 0fda274ca0..2769246532 100644 --- a/doc/src/compute_temp_partial.txt +++ b/doc/src/compute_temp_partial.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_profile.txt b/doc/src/compute_temp_profile.txt index 8f47c8f9f4..4ed04ca67e 100644 --- a/doc/src/compute_temp_profile.txt +++ b/doc/src/compute_temp_profile.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_ramp.txt b/doc/src/compute_temp_ramp.txt index 1ae0cdfc3e..15cad9c0cb 100644 --- a/doc/src/compute_temp_ramp.txt +++ b/doc/src/compute_temp_ramp.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_region.txt b/doc/src/compute_temp_region.txt index f05fa38e2c..f23901af98 100644 --- a/doc/src/compute_temp_region.txt +++ b/doc/src/compute_temp_region.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_region_eff.txt b/doc/src/compute_temp_region_eff.txt index 45c01b047f..95892eb257 100644 --- a/doc/src/compute_temp_region_eff.txt +++ b/doc/src/compute_temp_region_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_rotate.txt b/doc/src/compute_temp_rotate.txt index 8c5679b83f..189246d3e4 100644 --- a/doc/src/compute_temp_rotate.txt +++ b/doc/src/compute_temp_rotate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_sphere.txt b/doc/src/compute_temp_sphere.txt index 4d4258182e..5a55126d12 100644 --- a/doc/src/compute_temp_sphere.txt +++ b/doc/src/compute_temp_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_temp_uef.txt b/doc/src/compute_temp_uef.txt index acd3a6218d..a94d5db8ed 100644 --- a/doc/src/compute_temp_uef.txt +++ b/doc/src/compute_temp_uef.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_ti.txt b/doc/src/compute_ti.txt index f5d26e1a03..e79b594e3f 100644 --- a/doc/src/compute_ti.txt +++ b/doc/src/compute_ti.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_torque_chunk.txt b/doc/src/compute_torque_chunk.txt index 254cd0fd85..6484076b37 100644 --- a/doc/src/compute_torque_chunk.txt +++ b/doc/src/compute_torque_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_vacf.txt b/doc/src/compute_vacf.txt index d615f70e22..70f1e99490 100644 --- a/doc/src/compute_vacf.txt +++ b/doc/src/compute_vacf.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_vcm_chunk.txt b/doc/src/compute_vcm_chunk.txt index af1a4305d8..7e8ad71208 100644 --- a/doc/src/compute_vcm_chunk.txt +++ b/doc/src/compute_vcm_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_voronoi_atom.txt b/doc/src/compute_voronoi_atom.txt index bbd68b16ea..a8ce77882a 100644 --- a/doc/src/compute_voronoi_atom.txt +++ b/doc/src/compute_voronoi_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_xrd.txt b/doc/src/compute_xrd.txt index 03fd0ecdc2..609fde3582 100644 --- a/doc/src/compute_xrd.txt +++ b/doc/src/compute_xrd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/create_atoms.txt b/doc/src/create_atoms.txt index 5d824ae1ef..d80e2d45f1 100644 --- a/doc/src/create_atoms.txt +++ b/doc/src/create_atoms.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/create_bonds.txt b/doc/src/create_bonds.txt index 6700ed29d3..8596cab51d 100644 --- a/doc/src/create_bonds.txt +++ b/doc/src/create_bonds.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/create_box.txt b/doc/src/create_box.txt index ed05775591..0993b4f927 100644 --- a/doc/src/create_box.txt +++ b/doc/src/create_box.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/delete_atoms.txt b/doc/src/delete_atoms.txt index 1aa71d341f..57faf97ad1 100644 --- a/doc/src/delete_atoms.txt +++ b/doc/src/delete_atoms.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/delete_bonds.txt b/doc/src/delete_bonds.txt index b1137a2288..b29fa82f2d 100644 --- a/doc/src/delete_bonds.txt +++ b/doc/src/delete_bonds.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dielectric.txt b/doc/src/dielectric.txt index e98badf87b..f93be8cc25 100644 --- a/doc/src/dielectric.txt +++ b/doc/src/dielectric.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_charmm.txt b/doc/src/dihedral_charmm.txt index f808649a44..8adef6cf4b 100644 --- a/doc/src/dihedral_charmm.txt +++ b/doc/src/dihedral_charmm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_class2.txt b/doc/src/dihedral_class2.txt index 41282b22a3..1a2f37abbb 100644 --- a/doc/src/dihedral_class2.txt +++ b/doc/src/dihedral_class2.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_coeff.txt b/doc/src/dihedral_coeff.txt index 5b43cbbe7f..1db69e40d5 100644 --- a/doc/src/dihedral_coeff.txt +++ b/doc/src/dihedral_coeff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -74,9 +74,9 @@ the style to display the formula it computes and coefficients specified by the associated "dihedral_coeff"_dihedral_coeff.html command. Note that there are also additional dihedral styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the dihedral section of -"this page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +dihedral styles is on the "Commands bond"_Commands_bond.html#dihedral +doc page. "dihedral_style none"_dihedral_none.html - turn off dihedral interactions "dihedral_style hybrid"_dihedral_hybrid.html - define multiple styles of dihedral interactions :ul diff --git a/doc/src/dihedral_cosine_shift_exp.txt b/doc/src/dihedral_cosine_shift_exp.txt index 483745be41..7ef27e6bc9 100644 --- a/doc/src/dihedral_cosine_shift_exp.txt +++ b/doc/src/dihedral_cosine_shift_exp.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_fourier.txt b/doc/src/dihedral_fourier.txt index 0270139f68..f51cbc9c8c 100644 --- a/doc/src/dihedral_fourier.txt +++ b/doc/src/dihedral_fourier.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_harmonic.txt b/doc/src/dihedral_harmonic.txt index a25a7969fe..1eda0c5d02 100644 --- a/doc/src/dihedral_harmonic.txt +++ b/doc/src/dihedral_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_helix.txt b/doc/src/dihedral_helix.txt index 814962a472..3af4b410bc 100644 --- a/doc/src/dihedral_helix.txt +++ b/doc/src/dihedral_helix.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_hybrid.txt b/doc/src/dihedral_hybrid.txt index 8cb40eff44..c9ca86680c 100644 --- a/doc/src/dihedral_hybrid.txt +++ b/doc/src/dihedral_hybrid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_multi_harmonic.txt b/doc/src/dihedral_multi_harmonic.txt index 62cad4141a..7c22391923 100644 --- a/doc/src/dihedral_multi_harmonic.txt +++ b/doc/src/dihedral_multi_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_nharmonic.txt b/doc/src/dihedral_nharmonic.txt index a49979fa66..aa8f1e0d7f 100644 --- a/doc/src/dihedral_nharmonic.txt +++ b/doc/src/dihedral_nharmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_none.txt b/doc/src/dihedral_none.txt index 3ce2aa1729..4c1ff2ea5d 100644 --- a/doc/src/dihedral_none.txt +++ b/doc/src/dihedral_none.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_opls.txt b/doc/src/dihedral_opls.txt index 9b33173da4..f0cf91f30a 100644 --- a/doc/src/dihedral_opls.txt +++ b/doc/src/dihedral_opls.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_quadratic.txt b/doc/src/dihedral_quadratic.txt index f90c4b79f1..e65cf2dee8 100644 --- a/doc/src/dihedral_quadratic.txt +++ b/doc/src/dihedral_quadratic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_spherical.txt b/doc/src/dihedral_spherical.txt index 7c17fbf5ef..10a757e898 100644 --- a/doc/src/dihedral_spherical.txt +++ b/doc/src/dihedral_spherical.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_style.txt b/doc/src/dihedral_style.txt index ca592b29b5..6aff3f0994 100644 --- a/doc/src/dihedral_style.txt +++ b/doc/src/dihedral_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -81,9 +81,9 @@ the style to display the formula it computes and coefficients specified by the associated "dihedral_coeff"_dihedral_coeff.html command. Note that there are also additional dihedral styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the dihedral section of -"this page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +dihedral styles is on the "Commands bond"_Commands_bond.html#dihedral +doc page. "dihedral_style none"_dihedral_none.html - turn off dihedral interactions "dihedral_style zero"_dihedral_zero.html - topology but no interactions diff --git a/doc/src/dihedral_table.txt b/doc/src/dihedral_table.txt index 6a480fec93..d722ef7c82 100644 --- a/doc/src/dihedral_table.txt +++ b/doc/src/dihedral_table.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_table_cut.txt b/doc/src/dihedral_table_cut.txt index 1c83d4ffa0..cc7df8cdf9 100644 --- a/doc/src/dihedral_table_cut.txt +++ b/doc/src/dihedral_table_cut.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_zero.txt b/doc/src/dihedral_zero.txt index 4d33126eeb..0c9995a563 100644 --- a/doc/src/dihedral_zero.txt +++ b/doc/src/dihedral_zero.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dimension.txt b/doc/src/dimension.txt index f079f17f99..b7dde76524 100644 --- a/doc/src/dimension.txt +++ b/doc/src/dimension.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/displace_atoms.txt b/doc/src/displace_atoms.txt index 634add196b..b4afd5c3a9 100644 --- a/doc/src/displace_atoms.txt +++ b/doc/src/displace_atoms.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump.txt b/doc/src/dump.txt index cd8bab2e65..5b478b7301 100644 --- a/doc/src/dump.txt +++ b/doc/src/dump.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump_cfg_uef.txt b/doc/src/dump_cfg_uef.txt index e257f9c4f1..665be14be1 100644 --- a/doc/src/dump_cfg_uef.txt +++ b/doc/src/dump_cfg_uef.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump_h5md.txt b/doc/src/dump_h5md.txt index 93c87d85b7..fbd682dad9 100644 --- a/doc/src/dump_h5md.txt +++ b/doc/src/dump_h5md.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump_image.txt b/doc/src/dump_image.txt index fcc9b25b62..06332b5dcf 100644 --- a/doc/src/dump_image.txt +++ b/doc/src/dump_image.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump_modify.txt b/doc/src/dump_modify.txt index 5365610d64..73107d07f7 100644 --- a/doc/src/dump_modify.txt +++ b/doc/src/dump_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump_molfile.txt b/doc/src/dump_molfile.txt index 7e68490a68..9fa04bd1ae 100644 --- a/doc/src/dump_molfile.txt +++ b/doc/src/dump_molfile.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump_netcdf.txt b/doc/src/dump_netcdf.txt index 70111a36a8..b1c6373651 100644 --- a/doc/src/dump_netcdf.txt +++ b/doc/src/dump_netcdf.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump_vtk.txt b/doc/src/dump_vtk.txt index d4d28c81fc..afc6099534 100644 --- a/doc/src/dump_vtk.txt +++ b/doc/src/dump_vtk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/echo.txt b/doc/src/echo.txt index 3141c7a719..dc6918dc89 100644 --- a/doc/src/echo.txt +++ b/doc/src/echo.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix.txt b/doc/src/fix.txt index a51dc1637d..fd966b5bd9 100644 --- a/doc/src/fix.txt +++ b/doc/src/fix.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -151,16 +151,20 @@ for further info. :line -Each fix style has its own documentation page which describes its -arguments and what it does, as listed below. Here is an alphabetic -list of fix styles available in LAMMPS. They are also given in more -compact form in the Fix section of "this -page"_Section_commands.html#cmd_5. +Each fix style has its own doc page which describes its arguments and +what it does, as listed below. Here is an alphabetic list of fix +styles available in LAMMPS. They are also listed in more compact form +on the "Commands fix"_Commands_fix.html doc page. There are also additional fix styles (not listed here) submitted by -users which are included in the LAMMPS distribution. The list of -these with links to the individual styles are given in the fix section -of "this page"_Section_commands.html#cmd_5. +users which are included in the LAMMPS distribution. The full list of +all fix styles is on the "Commands fix"_Commands_fix.html doc page. + +There are also additional accelerated fix styles included in the +LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. +The individual style names on the "Commands fix"_Commands_fix.html doc +page are followed by one or more of (g,i,k,o,t) to indicate which +accerlerated styles exist. "adapt"_fix_adapt.html - change a simulation parameter over time "addforce"_fix_addforce.html - add a force to each atom diff --git a/doc/src/fix_adapt.txt b/doc/src/fix_adapt.txt index 0764d04e6d..0ca28fb869 100644 --- a/doc/src/fix_adapt.txt +++ b/doc/src/fix_adapt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_adapt_fep.txt b/doc/src/fix_adapt_fep.txt index 43c87a1601..7e30a1d29d 100644 --- a/doc/src/fix_adapt_fep.txt +++ b/doc/src/fix_adapt_fep.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_addforce.txt b/doc/src/fix_addforce.txt index c77cdb62af..51be39fdb2 100644 --- a/doc/src/fix_addforce.txt +++ b/doc/src/fix_addforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_addtorque.txt b/doc/src/fix_addtorque.txt index 589cb37cc0..c80fad26da 100644 --- a/doc/src/fix_addtorque.txt +++ b/doc/src/fix_addtorque.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_append_atoms.txt b/doc/src/fix_append_atoms.txt index ba7b4a3e74..c6af361afc 100644 --- a/doc/src/fix_append_atoms.txt +++ b/doc/src/fix_append_atoms.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_atc.txt b/doc/src/fix_atc.txt index af3270ff52..6de917e571 100644 --- a/doc/src/fix_atc.txt +++ b/doc/src/fix_atc.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_atom_swap.txt b/doc/src/fix_atom_swap.txt index 0b3be3ce5e..c1d84dade1 100644 --- a/doc/src/fix_atom_swap.txt +++ b/doc/src/fix_atom_swap.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_ave_atom.txt b/doc/src/fix_ave_atom.txt index 05bd0f6fa7..10deaf64cd 100644 --- a/doc/src/fix_ave_atom.txt +++ b/doc/src/fix_ave_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_ave_chunk.txt b/doc/src/fix_ave_chunk.txt index e9d0ef7e72..d331e51295 100644 --- a/doc/src/fix_ave_chunk.txt +++ b/doc/src/fix_ave_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_ave_correlate.txt b/doc/src/fix_ave_correlate.txt index 74ce3f340e..22e8768f1d 100644 --- a/doc/src/fix_ave_correlate.txt +++ b/doc/src/fix_ave_correlate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_ave_correlate_long.txt b/doc/src/fix_ave_correlate_long.txt index 7b4bc53701..ac0ef873aa 100644 --- a/doc/src/fix_ave_correlate_long.txt +++ b/doc/src/fix_ave_correlate_long.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_ave_histo.txt b/doc/src/fix_ave_histo.txt index e2fd2e04e8..f1da130ff7 100644 --- a/doc/src/fix_ave_histo.txt +++ b/doc/src/fix_ave_histo.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_ave_time.txt b/doc/src/fix_ave_time.txt index e973a36360..a53e318d3f 100644 --- a/doc/src/fix_ave_time.txt +++ b/doc/src/fix_ave_time.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_aveforce.txt b/doc/src/fix_aveforce.txt index 3497b33ef4..1fc7e4a18d 100644 --- a/doc/src/fix_aveforce.txt +++ b/doc/src/fix_aveforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_balance.txt b/doc/src/fix_balance.txt index b98fd85c3b..2de17cdd2a 100644 --- a/doc/src/fix_balance.txt +++ b/doc/src/fix_balance.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_bocs.txt b/doc/src/fix_bocs.txt index f53b7c785c..f5bbc8a251 100644 --- a/doc/src/fix_bocs.txt +++ b/doc/src/fix_bocs.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_bond_break.txt b/doc/src/fix_bond_break.txt index b43053c461..bdb2f2a862 100644 --- a/doc/src/fix_bond_break.txt +++ b/doc/src/fix_bond_break.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_bond_create.txt b/doc/src/fix_bond_create.txt index a55ba1ff6e..ab34433cec 100644 --- a/doc/src/fix_bond_create.txt +++ b/doc/src/fix_bond_create.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_bond_react.txt b/doc/src/fix_bond_react.txt index 006f59100f..883968e012 100644 --- a/doc/src/fix_bond_react.txt +++ b/doc/src/fix_bond_react.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_bond_swap.txt b/doc/src/fix_bond_swap.txt index 8d5df7e4e0..a829171f33 100644 --- a/doc/src/fix_bond_swap.txt +++ b/doc/src/fix_bond_swap.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_box_relax.txt b/doc/src/fix_box_relax.txt index a625f0c5b8..8e21ec2c74 100644 --- a/doc/src/fix_box_relax.txt +++ b/doc/src/fix_box_relax.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_cmap.txt b/doc/src/fix_cmap.txt index d352f0e652..6f3769fafe 100644 --- a/doc/src/fix_cmap.txt +++ b/doc/src/fix_cmap.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_colvars.txt b/doc/src/fix_colvars.txt index 2d3000e6ea..4a1d84de64 100644 --- a/doc/src/fix_colvars.txt +++ b/doc/src/fix_colvars.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_controller.txt b/doc/src/fix_controller.txt index 710642c0ea..7458f1bcfa 100644 --- a/doc/src/fix_controller.txt +++ b/doc/src/fix_controller.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_deform.txt b/doc/src/fix_deform.txt index 09261e2423..e92d1e6b19 100644 --- a/doc/src/fix_deform.txt +++ b/doc/src/fix_deform.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_deposit.txt b/doc/src/fix_deposit.txt index 285e720555..277ca8777a 100644 --- a/doc/src/fix_deposit.txt +++ b/doc/src/fix_deposit.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_dpd_energy.txt b/doc/src/fix_dpd_energy.txt index 4f2b5d573f..f539bc534e 100644 --- a/doc/src/fix_dpd_energy.txt +++ b/doc/src/fix_dpd_energy.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_dpd_source.txt b/doc/src/fix_dpd_source.txt index bbfc99e8c8..04af9a28a1 100644 --- a/doc/src/fix_dpd_source.txt +++ b/doc/src/fix_dpd_source.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_drag.txt b/doc/src/fix_drag.txt index a67ec6aaf2..92e68d13a4 100644 --- a/doc/src/fix_drag.txt +++ b/doc/src/fix_drag.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_drude.txt b/doc/src/fix_drude.txt index 4a3d30a9ca..80eb79201b 100644 --- a/doc/src/fix_drude.txt +++ b/doc/src/fix_drude.txt @@ -3,7 +3,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_drude_transform.txt b/doc/src/fix_drude_transform.txt index 54cdfa956e..8864cc4eb6 100644 --- a/doc/src/fix_drude_transform.txt +++ b/doc/src/fix_drude_transform.txt @@ -9,7 +9,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_dt_reset.txt b/doc/src/fix_dt_reset.txt index 428128feda..be4fbd255b 100644 --- a/doc/src/fix_dt_reset.txt +++ b/doc/src/fix_dt_reset.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_efield.txt b/doc/src/fix_efield.txt index a248a03b07..b5a43f68aa 100644 --- a/doc/src/fix_efield.txt +++ b/doc/src/fix_efield.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_ehex.txt b/doc/src/fix_ehex.txt index 40752a811f..cfcc917d01 100644 --- a/doc/src/fix_ehex.txt +++ b/doc/src/fix_ehex.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_enforce2d.txt b/doc/src/fix_enforce2d.txt index b0d8c691b5..2925e44bda 100644 --- a/doc/src/fix_enforce2d.txt +++ b/doc/src/fix_enforce2d.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_eos_cv.txt b/doc/src/fix_eos_cv.txt index 4c97304335..b94e2c64a9 100644 --- a/doc/src/fix_eos_cv.txt +++ b/doc/src/fix_eos_cv.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_eos_table.txt b/doc/src/fix_eos_table.txt index 42778d7978..743c51f415 100644 --- a/doc/src/fix_eos_table.txt +++ b/doc/src/fix_eos_table.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_eos_table_rx.txt b/doc/src/fix_eos_table_rx.txt index f74a838c47..f9deab61c8 100644 --- a/doc/src/fix_eos_table_rx.txt +++ b/doc/src/fix_eos_table_rx.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_evaporate.txt b/doc/src/fix_evaporate.txt index be8b351986..6237a137fd 100644 --- a/doc/src/fix_evaporate.txt +++ b/doc/src/fix_evaporate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_external.txt b/doc/src/fix_external.txt index bf80b1b231..1dec226414 100644 --- a/doc/src/fix_external.txt +++ b/doc/src/fix_external.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_filter_corotate.txt b/doc/src/fix_filter_corotate.txt index a75a3b7b44..d1e5e12f3e 100644 --- a/doc/src/fix_filter_corotate.txt +++ b/doc/src/fix_filter_corotate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_flow_gauss.txt b/doc/src/fix_flow_gauss.txt index 0980076062..843c2a66a5 100644 --- a/doc/src/fix_flow_gauss.txt +++ b/doc/src/fix_flow_gauss.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_freeze.txt b/doc/src/fix_freeze.txt index 43714df802..76a9fd3b1a 100644 --- a/doc/src/fix_freeze.txt +++ b/doc/src/fix_freeze.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_gcmc.txt b/doc/src/fix_gcmc.txt index 9630d856be..394690ea5d 100644 --- a/doc/src/fix_gcmc.txt +++ b/doc/src/fix_gcmc.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_gld.txt b/doc/src/fix_gld.txt index 06ac5d68cb..1c5db6157d 100644 --- a/doc/src/fix_gld.txt +++ b/doc/src/fix_gld.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_gle.txt b/doc/src/fix_gle.txt index d91dd8dee9..9fdc72bf9f 100644 --- a/doc/src/fix_gle.txt +++ b/doc/src/fix_gle.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_gravity.txt b/doc/src/fix_gravity.txt index 786f145608..832c677f81 100644 --- a/doc/src/fix_gravity.txt +++ b/doc/src/fix_gravity.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_grem.txt b/doc/src/fix_grem.txt index 661f68ed99..506e266505 100644 --- a/doc/src/fix_grem.txt +++ b/doc/src/fix_grem.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_halt.txt b/doc/src/fix_halt.txt index 55f313e40f..ec117518d2 100644 --- a/doc/src/fix_halt.txt +++ b/doc/src/fix_halt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_heat.txt b/doc/src/fix_heat.txt index a0e9b945fc..6db7592609 100644 --- a/doc/src/fix_heat.txt +++ b/doc/src/fix_heat.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_imd.txt b/doc/src/fix_imd.txt index 1a1f11c2cf..8e21a1619b 100644 --- a/doc/src/fix_imd.txt +++ b/doc/src/fix_imd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_indent.txt b/doc/src/fix_indent.txt index 1f67c0b242..9931793c0b 100644 --- a/doc/src/fix_indent.txt +++ b/doc/src/fix_indent.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_ipi.txt b/doc/src/fix_ipi.txt index 07e8025d77..eba30ef088 100644 --- a/doc/src/fix_ipi.txt +++ b/doc/src/fix_ipi.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_langevin.txt b/doc/src/fix_langevin.txt index 769b188604..4d7728cdba 100644 --- a/doc/src/fix_langevin.txt +++ b/doc/src/fix_langevin.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_langevin_drude.txt b/doc/src/fix_langevin_drude.txt index bda8ec7881..19a3f87ffc 100644 --- a/doc/src/fix_langevin_drude.txt +++ b/doc/src/fix_langevin_drude.txt @@ -9,7 +9,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_langevin_eff.txt b/doc/src/fix_langevin_eff.txt index ef22e99bcf..cf42f9c036 100644 --- a/doc/src/fix_langevin_eff.txt +++ b/doc/src/fix_langevin_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index b089cd7f58..1b1936376d 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_latte.txt b/doc/src/fix_latte.txt index 4f7e99dea8..9bc589520b 100644 --- a/doc/src/fix_latte.txt +++ b/doc/src/fix_latte.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_lb_fluid.txt b/doc/src/fix_lb_fluid.txt index 925ca991c4..5347f0147f 100644 --- a/doc/src/fix_lb_fluid.txt +++ b/doc/src/fix_lb_fluid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_lb_momentum.txt b/doc/src/fix_lb_momentum.txt index 78a1f497eb..a58c5d257e 100644 --- a/doc/src/fix_lb_momentum.txt +++ b/doc/src/fix_lb_momentum.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_lb_pc.txt b/doc/src/fix_lb_pc.txt index f93d02f677..bd121b7813 100644 --- a/doc/src/fix_lb_pc.txt +++ b/doc/src/fix_lb_pc.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_lb_rigid_pc_sphere.txt b/doc/src/fix_lb_rigid_pc_sphere.txt index 50e91df849..bc8fa2ea25 100644 --- a/doc/src/fix_lb_rigid_pc_sphere.txt +++ b/doc/src/fix_lb_rigid_pc_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_lb_viscous.txt b/doc/src/fix_lb_viscous.txt index 27f089496e..7bbdd204e3 100644 --- a/doc/src/fix_lb_viscous.txt +++ b/doc/src/fix_lb_viscous.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_lineforce.txt b/doc/src/fix_lineforce.txt index ad651862f6..3114ed6250 100644 --- a/doc/src/fix_lineforce.txt +++ b/doc/src/fix_lineforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_manifoldforce.txt b/doc/src/fix_manifoldforce.txt index fe8a04051b..aa32a875bf 100644 --- a/doc/src/fix_manifoldforce.txt +++ b/doc/src/fix_manifoldforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_meso.txt b/doc/src/fix_meso.txt index 95f58bedaa..8f5ad29929 100644 --- a/doc/src/fix_meso.txt +++ b/doc/src/fix_meso.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_meso_stationary.txt b/doc/src/fix_meso_stationary.txt index 3b197c079f..38d26b34d6 100644 --- a/doc/src/fix_meso_stationary.txt +++ b/doc/src/fix_meso_stationary.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_modify.txt b/doc/src/fix_modify.txt index 308bba1ac3..ddb5f9a4cd 100644 --- a/doc/src/fix_modify.txt +++ b/doc/src/fix_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_momentum.txt b/doc/src/fix_momentum.txt index 28fd2addf2..f7fe35be2a 100644 --- a/doc/src/fix_momentum.txt +++ b/doc/src/fix_momentum.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_move.txt b/doc/src/fix_move.txt index 9a1d25b623..08f38d0ed6 100644 --- a/doc/src/fix_move.txt +++ b/doc/src/fix_move.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_mscg.txt b/doc/src/fix_mscg.txt index 7d16967955..aadc3caf5a 100644 --- a/doc/src/fix_mscg.txt +++ b/doc/src/fix_mscg.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_msst.txt b/doc/src/fix_msst.txt index d79b549580..91ffbbb0fa 100644 --- a/doc/src/fix_msst.txt +++ b/doc/src/fix_msst.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_mvv_dpd.txt b/doc/src/fix_mvv_dpd.txt index 7a07642c54..1e9bf631fd 100644 --- a/doc/src/fix_mvv_dpd.txt +++ b/doc/src/fix_mvv_dpd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_neb.txt b/doc/src/fix_neb.txt index 5cfefbf819..5341d6999c 100644 --- a/doc/src/fix_neb.txt +++ b/doc/src/fix_neb.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nh.txt b/doc/src/fix_nh.txt index d18f4a3e16..f6b155e2db 100644 --- a/doc/src/fix_nh.txt +++ b/doc/src/fix_nh.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nh_eff.txt b/doc/src/fix_nh_eff.txt index 1731f1f331..afb319bfa5 100644 --- a/doc/src/fix_nh_eff.txt +++ b/doc/src/fix_nh_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nh_uef.txt b/doc/src/fix_nh_uef.txt index bde1818371..0e73c57e08 100644 --- a/doc/src/fix_nh_uef.txt +++ b/doc/src/fix_nh_uef.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nph_asphere.txt b/doc/src/fix_nph_asphere.txt index ff8c300c47..6bfd9d3fe2 100644 --- a/doc/src/fix_nph_asphere.txt +++ b/doc/src/fix_nph_asphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nph_body.txt b/doc/src/fix_nph_body.txt index 9263470e9e..377e1980eb 100644 --- a/doc/src/fix_nph_body.txt +++ b/doc/src/fix_nph_body.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nph_sphere.txt b/doc/src/fix_nph_sphere.txt index ba3b2f6c06..8b7639c4c6 100644 --- a/doc/src/fix_nph_sphere.txt +++ b/doc/src/fix_nph_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nphug.txt b/doc/src/fix_nphug.txt index 1276a5697d..0bd5153152 100644 --- a/doc/src/fix_nphug.txt +++ b/doc/src/fix_nphug.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_npt_asphere.txt b/doc/src/fix_npt_asphere.txt index a21caa1042..9c95a80d33 100644 --- a/doc/src/fix_npt_asphere.txt +++ b/doc/src/fix_npt_asphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_npt_body.txt b/doc/src/fix_npt_body.txt index 0f678a1b7d..0d2b797299 100644 --- a/doc/src/fix_npt_body.txt +++ b/doc/src/fix_npt_body.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_npt_sphere.txt b/doc/src/fix_npt_sphere.txt index 862f95603f..dcb25d1c73 100644 --- a/doc/src/fix_npt_sphere.txt +++ b/doc/src/fix_npt_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve.txt b/doc/src/fix_nve.txt index 8aa4197a60..e446b27397 100644 --- a/doc/src/fix_nve.txt +++ b/doc/src/fix_nve.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_asphere.txt b/doc/src/fix_nve_asphere.txt index b9ee48f9dd..b7fb3e922c 100644 --- a/doc/src/fix_nve_asphere.txt +++ b/doc/src/fix_nve_asphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_asphere_noforce.txt b/doc/src/fix_nve_asphere_noforce.txt index 164e3db104..e57417bda5 100644 --- a/doc/src/fix_nve_asphere_noforce.txt +++ b/doc/src/fix_nve_asphere_noforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_body.txt b/doc/src/fix_nve_body.txt index 3696425374..d072bfa161 100644 --- a/doc/src/fix_nve_body.txt +++ b/doc/src/fix_nve_body.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_dot.txt b/doc/src/fix_nve_dot.txt index 0e0c8f8ecf..1041a248d8 100644 --- a/doc/src/fix_nve_dot.txt +++ b/doc/src/fix_nve_dot.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_dotc_langevin.txt b/doc/src/fix_nve_dotc_langevin.txt index 93d875bca5..68c1b42328 100644 --- a/doc/src/fix_nve_dotc_langevin.txt +++ b/doc/src/fix_nve_dotc_langevin.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_eff.txt b/doc/src/fix_nve_eff.txt index 608e5e12ad..7343ddc429 100644 --- a/doc/src/fix_nve_eff.txt +++ b/doc/src/fix_nve_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_limit.txt b/doc/src/fix_nve_limit.txt index ffaffd59b7..8c8c66a0da 100644 --- a/doc/src/fix_nve_limit.txt +++ b/doc/src/fix_nve_limit.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_line.txt b/doc/src/fix_nve_line.txt index a919e648e1..dd5101489b 100644 --- a/doc/src/fix_nve_line.txt +++ b/doc/src/fix_nve_line.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_manifold_rattle.txt b/doc/src/fix_nve_manifold_rattle.txt index 89922ea80d..b333d093fb 100644 --- a/doc/src/fix_nve_manifold_rattle.txt +++ b/doc/src/fix_nve_manifold_rattle.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_noforce.txt b/doc/src/fix_nve_noforce.txt index c1a4f76eaf..da8d16bbb7 100644 --- a/doc/src/fix_nve_noforce.txt +++ b/doc/src/fix_nve_noforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_sphere.txt b/doc/src/fix_nve_sphere.txt index 36c4178de9..6e259bdb8e 100644 --- a/doc/src/fix_nve_sphere.txt +++ b/doc/src/fix_nve_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_spin.txt b/doc/src/fix_nve_spin.txt index f4b38c270b..e31185bc88 100644 --- a/doc/src/fix_nve_spin.txt +++ b/doc/src/fix_nve_spin.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_tri.txt b/doc/src/fix_nve_tri.txt index 9c03eb872a..ebdda19e36 100644 --- a/doc/src/fix_nve_tri.txt +++ b/doc/src/fix_nve_tri.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nvk.txt b/doc/src/fix_nvk.txt index 2106ee5235..e3189f8e8a 100644 --- a/doc/src/fix_nvk.txt +++ b/doc/src/fix_nvk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nvt_asphere.txt b/doc/src/fix_nvt_asphere.txt index 031c60e4be..7b97637175 100644 --- a/doc/src/fix_nvt_asphere.txt +++ b/doc/src/fix_nvt_asphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nvt_body.txt b/doc/src/fix_nvt_body.txt index 80de7fd7c3..4493a89277 100644 --- a/doc/src/fix_nvt_body.txt +++ b/doc/src/fix_nvt_body.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nvt_manifold_rattle.txt b/doc/src/fix_nvt_manifold_rattle.txt index 4261f9a4db..1b4ad79166 100644 --- a/doc/src/fix_nvt_manifold_rattle.txt +++ b/doc/src/fix_nvt_manifold_rattle.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nvt_sllod.txt b/doc/src/fix_nvt_sllod.txt index bb3c092939..9eb5065369 100644 --- a/doc/src/fix_nvt_sllod.txt +++ b/doc/src/fix_nvt_sllod.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nvt_sllod_eff.txt b/doc/src/fix_nvt_sllod_eff.txt index 408eb1da01..0200d5cb00 100644 --- a/doc/src/fix_nvt_sllod_eff.txt +++ b/doc/src/fix_nvt_sllod_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nvt_sphere.txt b/doc/src/fix_nvt_sphere.txt index 897d5606d7..a87e4abe67 100644 --- a/doc/src/fix_nvt_sphere.txt +++ b/doc/src/fix_nvt_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_oneway.txt b/doc/src/fix_oneway.txt index d9217ab14b..433ceb50f2 100644 --- a/doc/src/fix_oneway.txt +++ b/doc/src/fix_oneway.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_orient.txt b/doc/src/fix_orient.txt index c57cccd322..7552bea8c5 100644 --- a/doc/src/fix_orient.txt +++ b/doc/src/fix_orient.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_phonon.txt b/doc/src/fix_phonon.txt index 63df4e6801..30e5864e3d 100644 --- a/doc/src/fix_phonon.txt +++ b/doc/src/fix_phonon.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_pimd.txt b/doc/src/fix_pimd.txt index 8958063d2e..b61b3f3065 100644 --- a/doc/src/fix_pimd.txt +++ b/doc/src/fix_pimd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_planeforce.txt b/doc/src/fix_planeforce.txt index 4a74301066..ffe1952e31 100644 --- a/doc/src/fix_planeforce.txt +++ b/doc/src/fix_planeforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_poems.txt b/doc/src/fix_poems.txt index 0690923b45..1a79c2a048 100644 --- a/doc/src/fix_poems.txt +++ b/doc/src/fix_poems.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_pour.txt b/doc/src/fix_pour.txt index 4b86405522..e58d8ebc3a 100644 --- a/doc/src/fix_pour.txt +++ b/doc/src/fix_pour.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_precession_spin.txt b/doc/src/fix_precession_spin.txt index bc18fa0e8c..fafe78448b 100644 --- a/doc/src/fix_precession_spin.txt +++ b/doc/src/fix_precession_spin.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_press_berendsen.txt b/doc/src/fix_press_berendsen.txt index 0e41abd1f8..7f47a29ba3 100644 --- a/doc/src/fix_press_berendsen.txt +++ b/doc/src/fix_press_berendsen.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_print.txt b/doc/src/fix_print.txt index f7a7b333c4..d23c1103d3 100644 --- a/doc/src/fix_print.txt +++ b/doc/src/fix_print.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_property_atom.txt b/doc/src/fix_property_atom.txt index 624fc5f7df..136ed6c15e 100644 --- a/doc/src/fix_property_atom.txt +++ b/doc/src/fix_property_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_python_invoke.txt b/doc/src/fix_python_invoke.txt index 787940d9eb..5e0c0369a5 100644 --- a/doc/src/fix_python_invoke.txt +++ b/doc/src/fix_python_invoke.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_python_move.txt b/doc/src/fix_python_move.txt index 2f49427a9e..a4e0eb3937 100644 --- a/doc/src/fix_python_move.txt +++ b/doc/src/fix_python_move.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_qbmsst.txt b/doc/src/fix_qbmsst.txt index 56ace85e57..e96bd97f45 100644 --- a/doc/src/fix_qbmsst.txt +++ b/doc/src/fix_qbmsst.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_qeq.txt b/doc/src/fix_qeq.txt index c142d4a06d..27fb613ef9 100644 --- a/doc/src/fix_qeq.txt +++ b/doc/src/fix_qeq.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_qeq_comb.txt b/doc/src/fix_qeq_comb.txt index 0eb38fcae6..99e86df030 100644 --- a/doc/src/fix_qeq_comb.txt +++ b/doc/src/fix_qeq_comb.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_qeq_reax.txt b/doc/src/fix_qeq_reax.txt index ea25ddbf57..cf16daf847 100644 --- a/doc/src/fix_qeq_reax.txt +++ b/doc/src/fix_qeq_reax.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_qmmm.txt b/doc/src/fix_qmmm.txt index 5e730ac8af..657ee84181 100644 --- a/doc/src/fix_qmmm.txt +++ b/doc/src/fix_qmmm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_qtb.txt b/doc/src/fix_qtb.txt index 07a6af39ba..5b212934a9 100644 --- a/doc/src/fix_qtb.txt +++ b/doc/src/fix_qtb.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_reax_bonds.txt b/doc/src/fix_reax_bonds.txt index 2f7c38f815..49d61f4db8 100644 --- a/doc/src/fix_reax_bonds.txt +++ b/doc/src/fix_reax_bonds.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_reaxc_species.txt b/doc/src/fix_reaxc_species.txt index 4f1249744f..5be1c46230 100644 --- a/doc/src/fix_reaxc_species.txt +++ b/doc/src/fix_reaxc_species.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_recenter.txt b/doc/src/fix_recenter.txt index a2477d11c7..cfac756cd1 100644 --- a/doc/src/fix_recenter.txt +++ b/doc/src/fix_recenter.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_restrain.txt b/doc/src/fix_restrain.txt index b8cc7c0d45..2edc7e3296 100644 --- a/doc/src/fix_restrain.txt +++ b/doc/src/fix_restrain.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_rhok.txt b/doc/src/fix_rhok.txt index 2db920ac4b..68cce694e9 100644 --- a/doc/src/fix_rhok.txt +++ b/doc/src/fix_rhok.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_rigid.txt b/doc/src/fix_rigid.txt index a5f00c16e9..d5e3b01668 100644 --- a/doc/src/fix_rigid.txt +++ b/doc/src/fix_rigid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_rx.txt b/doc/src/fix_rx.txt index aff3303f43..d39e41e922 100644 --- a/doc/src/fix_rx.txt +++ b/doc/src/fix_rx.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_saed_vtk.txt b/doc/src/fix_saed_vtk.txt index 814e17b8e9..60708cd696 100644 --- a/doc/src/fix_saed_vtk.txt +++ b/doc/src/fix_saed_vtk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_setforce.txt b/doc/src/fix_setforce.txt index c6a01e5492..14fceb7b49 100644 --- a/doc/src/fix_setforce.txt +++ b/doc/src/fix_setforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_shake.txt b/doc/src/fix_shake.txt index 9297bcc87a..ea38de41cd 100644 --- a/doc/src/fix_shake.txt +++ b/doc/src/fix_shake.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_shardlow.txt b/doc/src/fix_shardlow.txt index 6d14346334..33db2bf7cc 100644 --- a/doc/src/fix_shardlow.txt +++ b/doc/src/fix_shardlow.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_smd.txt b/doc/src/fix_smd.txt index e9403b22cc..2f083dafc3 100644 --- a/doc/src/fix_smd.txt +++ b/doc/src/fix_smd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_smd_adjust_dt.txt b/doc/src/fix_smd_adjust_dt.txt index 86b7363300..740b10559d 100644 --- a/doc/src/fix_smd_adjust_dt.txt +++ b/doc/src/fix_smd_adjust_dt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_smd_integrate_tlsph.txt b/doc/src/fix_smd_integrate_tlsph.txt index 17c9c0f400..cd676a51ce 100644 --- a/doc/src/fix_smd_integrate_tlsph.txt +++ b/doc/src/fix_smd_integrate_tlsph.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_smd_integrate_ulsph.txt b/doc/src/fix_smd_integrate_ulsph.txt index 28e38c7f97..7f16b4b7ce 100644 --- a/doc/src/fix_smd_integrate_ulsph.txt +++ b/doc/src/fix_smd_integrate_ulsph.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_smd_move_triangulated_surface.txt b/doc/src/fix_smd_move_triangulated_surface.txt index 2cba001267..aeabf18768 100644 --- a/doc/src/fix_smd_move_triangulated_surface.txt +++ b/doc/src/fix_smd_move_triangulated_surface.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_smd_setvel.txt b/doc/src/fix_smd_setvel.txt index d64726d9b3..6634751d6a 100644 --- a/doc/src/fix_smd_setvel.txt +++ b/doc/src/fix_smd_setvel.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_smd_wall_surface.txt b/doc/src/fix_smd_wall_surface.txt index feb65b2312..a19b2c4cfb 100644 --- a/doc/src/fix_smd_wall_surface.txt +++ b/doc/src/fix_smd_wall_surface.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_spring.txt b/doc/src/fix_spring.txt index 047e5a6797..690fc3e67c 100644 --- a/doc/src/fix_spring.txt +++ b/doc/src/fix_spring.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_spring_chunk.txt b/doc/src/fix_spring_chunk.txt index e46f299771..9d4e8afd09 100644 --- a/doc/src/fix_spring_chunk.txt +++ b/doc/src/fix_spring_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_spring_rg.txt b/doc/src/fix_spring_rg.txt index 4afdc02d5a..b252163958 100644 --- a/doc/src/fix_spring_rg.txt +++ b/doc/src/fix_spring_rg.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_spring_self.txt b/doc/src/fix_spring_self.txt index e5b5c3dfd0..0ac1d5eecb 100644 --- a/doc/src/fix_spring_self.txt +++ b/doc/src/fix_spring_self.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_srd.txt b/doc/src/fix_srd.txt index 7c5179fb3f..893557b9ac 100644 --- a/doc/src/fix_srd.txt +++ b/doc/src/fix_srd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_store_force.txt b/doc/src/fix_store_force.txt index 93437c85b6..33ebc962d5 100644 --- a/doc/src/fix_store_force.txt +++ b/doc/src/fix_store_force.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_store_state.txt b/doc/src/fix_store_state.txt index dee8070bbd..df05adc5b9 100644 --- a/doc/src/fix_store_state.txt +++ b/doc/src/fix_store_state.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_surface_global.txt b/doc/src/fix_surface_global.txt index b470babab7..ade64d2056 100644 --- a/doc/src/fix_surface_global.txt +++ b/doc/src/fix_surface_global.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_temp_berendsen.txt b/doc/src/fix_temp_berendsen.txt index 9092bbd30e..c1f1626782 100644 --- a/doc/src/fix_temp_berendsen.txt +++ b/doc/src/fix_temp_berendsen.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_temp_csvr.txt b/doc/src/fix_temp_csvr.txt index 6ce6ad7d9d..e50f821bfe 100644 --- a/doc/src/fix_temp_csvr.txt +++ b/doc/src/fix_temp_csvr.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_temp_rescale.txt b/doc/src/fix_temp_rescale.txt index 89f1777e36..5640317f1c 100644 --- a/doc/src/fix_temp_rescale.txt +++ b/doc/src/fix_temp_rescale.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_temp_rescale_eff.txt b/doc/src/fix_temp_rescale_eff.txt index 8a79dc3275..0e08e4f1e8 100644 --- a/doc/src/fix_temp_rescale_eff.txt +++ b/doc/src/fix_temp_rescale_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_tfmc.txt b/doc/src/fix_tfmc.txt index 3c81d62ee0..ddfa462619 100644 --- a/doc/src/fix_tfmc.txt +++ b/doc/src/fix_tfmc.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_thermal_conductivity.txt b/doc/src/fix_thermal_conductivity.txt index 2e10a89738..86fc6f2c72 100644 --- a/doc/src/fix_thermal_conductivity.txt +++ b/doc/src/fix_thermal_conductivity.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_ti_spring.txt b/doc/src/fix_ti_spring.txt index b116d8e8a3..afe5373220 100644 --- a/doc/src/fix_ti_spring.txt +++ b/doc/src/fix_ti_spring.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_tmd.txt b/doc/src/fix_tmd.txt index e1815e61d3..c2541692f5 100644 --- a/doc/src/fix_tmd.txt +++ b/doc/src/fix_tmd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_ttm.txt b/doc/src/fix_ttm.txt index d83118d427..6001def581 100644 --- a/doc/src/fix_ttm.txt +++ b/doc/src/fix_ttm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_tune_kspace.txt b/doc/src/fix_tune_kspace.txt index 60a34a26c9..b4e8472591 100644 --- a/doc/src/fix_tune_kspace.txt +++ b/doc/src/fix_tune_kspace.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_vector.txt b/doc/src/fix_vector.txt index 69c999fd1a..e1bfbe5738 100644 --- a/doc/src/fix_vector.txt +++ b/doc/src/fix_vector.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_viscosity.txt b/doc/src/fix_viscosity.txt index 8d73deb7c5..934da3efdd 100644 --- a/doc/src/fix_viscosity.txt +++ b/doc/src/fix_viscosity.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_viscous.txt b/doc/src/fix_viscous.txt index 7ff517aec1..c5a3ede0b2 100644 --- a/doc/src/fix_viscous.txt +++ b/doc/src/fix_viscous.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_wall.txt b/doc/src/fix_wall.txt index fcd920934f..2ac59d9588 100644 --- a/doc/src/fix_wall.txt +++ b/doc/src/fix_wall.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_wall_body_polygon.txt b/doc/src/fix_wall_body_polygon.txt index ebd25c2bbc..0946a85131 100644 --- a/doc/src/fix_wall_body_polygon.txt +++ b/doc/src/fix_wall_body_polygon.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_wall_body_polyhedron.txt b/doc/src/fix_wall_body_polyhedron.txt index d3d8bc35a3..407cf9fb33 100644 --- a/doc/src/fix_wall_body_polyhedron.txt +++ b/doc/src/fix_wall_body_polyhedron.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_wall_ees.txt b/doc/src/fix_wall_ees.txt index f141a19405..ae16ca40d2 100644 --- a/doc/src/fix_wall_ees.txt +++ b/doc/src/fix_wall_ees.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_wall_gran.txt b/doc/src/fix_wall_gran.txt index 9796c39459..6c2769fc12 100644 --- a/doc/src/fix_wall_gran.txt +++ b/doc/src/fix_wall_gran.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_wall_gran_region.txt b/doc/src/fix_wall_gran_region.txt index 908bcc3941..187214c1a3 100644 --- a/doc/src/fix_wall_gran_region.txt +++ b/doc/src/fix_wall_gran_region.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_wall_piston.txt b/doc/src/fix_wall_piston.txt index 26018329eb..eecf69ebf2 100644 --- a/doc/src/fix_wall_piston.txt +++ b/doc/src/fix_wall_piston.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_wall_reflect.txt b/doc/src/fix_wall_reflect.txt index 2956046e20..78be84eb63 100644 --- a/doc/src/fix_wall_reflect.txt +++ b/doc/src/fix_wall_reflect.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_wall_region.txt b/doc/src/fix_wall_region.txt index 8b3b3ff173..559a2f0d89 100644 --- a/doc/src/fix_wall_region.txt +++ b/doc/src/fix_wall_region.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_wall_srd.txt b/doc/src/fix_wall_srd.txt index 3a8c2e41cd..3a50c45ab7 100644 --- a/doc/src/fix_wall_srd.txt +++ b/doc/src/fix_wall_srd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/group.txt b/doc/src/group.txt index dddb0459e3..8472677372 100644 --- a/doc/src/group.txt +++ b/doc/src/group.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/group2ndx.txt b/doc/src/group2ndx.txt index 94d188399b..242d6a69a4 100644 --- a/doc/src/group2ndx.txt +++ b/doc/src/group2ndx.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/if.txt b/doc/src/if.txt index 52fad5aea7..513e451034 100644 --- a/doc/src/if.txt +++ b/doc/src/if.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -65,9 +65,9 @@ above. NOTE: If a command itself requires a quoted argument (e.g. a "print"_print.html command), then double and single quotes can be used and nested in the usual manner, as in the examples above and below. -See "Section 3.2"_Section_commands.html#cmd_2 of the manual for -more details on using quotes in arguments. Only one of level of -nesting is allowed, but that should be sufficient for most use cases. +The "Commands parse"_Commands_parse.html doc page has more details on +using quotes in arguments. Only one of level of nesting is allowed, +but that should be sufficient for most use cases. Note that by using the line continuation character "&", the if command can be spread across many lines, though it is still a single command: diff --git a/doc/src/improper_class2.txt b/doc/src/improper_class2.txt index ef2abf5091..c38f73c64d 100644 --- a/doc/src/improper_class2.txt +++ b/doc/src/improper_class2.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_coeff.txt b/doc/src/improper_coeff.txt index 5c01a23ae9..8ed65f9535 100644 --- a/doc/src/improper_coeff.txt +++ b/doc/src/improper_coeff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -67,9 +67,9 @@ the style to display the formula it computes and coefficients specified by the associated "improper_coeff"_improper_coeff.html command. Note that there are also additional improper styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the improper section of -"this page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +improper styles is on the "Commands bond"_Commands_bond.html#improper +doc page. "improper_style none"_improper_none.html - turn off improper interactions "improper_style hybrid"_improper_hybrid.html - define multiple styles of improper interactions :ul diff --git a/doc/src/improper_cossq.txt b/doc/src/improper_cossq.txt index 22ba990ba4..04aa45255c 100644 --- a/doc/src/improper_cossq.txt +++ b/doc/src/improper_cossq.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_cvff.txt b/doc/src/improper_cvff.txt index 1662d93b14..d01faf2885 100644 --- a/doc/src/improper_cvff.txt +++ b/doc/src/improper_cvff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_distance.txt b/doc/src/improper_distance.txt index 7d49d17c97..93235fe601 100644 --- a/doc/src/improper_distance.txt +++ b/doc/src/improper_distance.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_fourier.txt b/doc/src/improper_fourier.txt index 99132b8931..78cc1b3f76 100644 --- a/doc/src/improper_fourier.txt +++ b/doc/src/improper_fourier.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_harmonic.txt b/doc/src/improper_harmonic.txt index f37338e468..f398dc425f 100644 --- a/doc/src/improper_harmonic.txt +++ b/doc/src/improper_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_hybrid.txt b/doc/src/improper_hybrid.txt index 0c2beaef18..42afbe8577 100644 --- a/doc/src/improper_hybrid.txt +++ b/doc/src/improper_hybrid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_inversion_harmonic.txt b/doc/src/improper_inversion_harmonic.txt index 34683ca2bb..2c0f2f0af8 100644 --- a/doc/src/improper_inversion_harmonic.txt +++ b/doc/src/improper_inversion_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_none.txt b/doc/src/improper_none.txt index af9964c743..f97af101fc 100644 --- a/doc/src/improper_none.txt +++ b/doc/src/improper_none.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_ring.txt b/doc/src/improper_ring.txt index 84c35f9f5c..60bbca170a 100644 --- a/doc/src/improper_ring.txt +++ b/doc/src/improper_ring.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_style.txt b/doc/src/improper_style.txt index 861701590f..3d29b28ec4 100644 --- a/doc/src/improper_style.txt +++ b/doc/src/improper_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -60,9 +60,9 @@ specified by the associated "improper_coeff"_improper_coeff.html command. Note that there are also additional improper styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the improper section of -"this page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +improper styles is on the "Commands bond"_Commands_bond.html#improper +doc page. "improper_style none"_improper_none.html - turn off improper interactions "improper_style zero"_improper_zero.html - topology but no interactions diff --git a/doc/src/improper_umbrella.txt b/doc/src/improper_umbrella.txt index 59fee0a664..b05cf4b181 100644 --- a/doc/src/improper_umbrella.txt +++ b/doc/src/improper_umbrella.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_zero.txt b/doc/src/improper_zero.txt index 2a298573d5..f3f3485b57 100644 --- a/doc/src/improper_zero.txt +++ b/doc/src/improper_zero.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/include.txt b/doc/src/include.txt index 95d08db352..c114056313 100644 --- a/doc/src/include.txt +++ b/doc/src/include.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/info.txt b/doc/src/info.txt index d5b5bd97b9..99211de4fb 100644 --- a/doc/src/info.txt +++ b/doc/src/info.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/jump.txt b/doc/src/jump.txt index 4e3799f7b1..b5afeb6559 100644 --- a/doc/src/jump.txt +++ b/doc/src/jump.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/kspace_modify.txt b/doc/src/kspace_modify.txt index 37c8c5b1d7..dd7b1e8dea 100644 --- a/doc/src/kspace_modify.txt +++ b/doc/src/kspace_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/kspace_style.txt b/doc/src/kspace_style.txt index fa717b70ef..55ad4ab610 100644 --- a/doc/src/kspace_style.txt +++ b/doc/src/kspace_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/label.txt b/doc/src/label.txt index c6a573141b..adab44188c 100644 --- a/doc/src/label.txt +++ b/doc/src/label.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/lammps.book b/doc/src/lammps.book index a25d6e0629..9cb2d8cd6c 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -9,7 +9,17 @@ Intro_opensource.html Intro_authors.html Intro_website.html Section_start.html -Section_commands.html +Commands.html +Commands_input.html +Commands_parse.html +Commands_structure.html +Commands_category.html +Commands_all.html +Commands_fix.html +Commands_compute.html +Commands_pair.html +Commands_bond.html +Commands_kspace.html Packages.html Packages_standard.html Packages_user.html diff --git a/doc/src/lattice.txt b/doc/src/lattice.txt index 7a90df1f5d..6f16dc5432 100644 --- a/doc/src/lattice.txt +++ b/doc/src/lattice.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/log.txt b/doc/src/log.txt index 92bb12e6db..7603768519 100644 --- a/doc/src/log.txt +++ b/doc/src/log.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/manifolds.txt b/doc/src/manifolds.txt index 1013d8fab6..194a755868 100644 --- a/doc/src/manifolds.txt +++ b/doc/src/manifolds.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/mass.txt b/doc/src/mass.txt index 4b75132ccf..c693963044 100644 --- a/doc/src/mass.txt +++ b/doc/src/mass.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/min_modify.txt b/doc/src/min_modify.txt index 73d142f5fa..9408eea167 100644 --- a/doc/src/min_modify.txt +++ b/doc/src/min_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/min_style.txt b/doc/src/min_style.txt index 245ac5864c..4948a34864 100644 --- a/doc/src/min_style.txt +++ b/doc/src/min_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line min_style command :h3 diff --git a/doc/src/minimize.txt b/doc/src/minimize.txt index a3f2c5d0bf..910fc7f821 100644 --- a/doc/src/minimize.txt +++ b/doc/src/minimize.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/molecule.txt b/doc/src/molecule.txt index b2ad547cf0..88c6292d8b 100644 --- a/doc/src/molecule.txt +++ b/doc/src/molecule.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/neb.txt b/doc/src/neb.txt index 5c6053fca0..fbd77ee329 100644 --- a/doc/src/neb.txt +++ b/doc/src/neb.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/neigh_modify.txt b/doc/src/neigh_modify.txt index c4544cb29b..6c4218cff5 100644 --- a/doc/src/neigh_modify.txt +++ b/doc/src/neigh_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/neighbor.txt b/doc/src/neighbor.txt index 062f79a5bb..7c7e7b05e5 100644 --- a/doc/src/neighbor.txt +++ b/doc/src/neighbor.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/newton.txt b/doc/src/newton.txt index a3e7f4fa91..fd7b536920 100644 --- a/doc/src/newton.txt +++ b/doc/src/newton.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/next.txt b/doc/src/next.txt index 08f73b896c..5a0b30b2a7 100644 --- a/doc/src/next.txt +++ b/doc/src/next.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/package.txt b/doc/src/package.txt index 81e1db9bd8..c2e7345bb7 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_adp.txt b/doc/src/pair_adp.txt index 1ba59b7732..382a97ecea 100644 --- a/doc/src/pair_adp.txt +++ b/doc/src/pair_adp.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_agni.txt b/doc/src/pair_agni.txt index 352e00249a..34f9900139 100644 --- a/doc/src/pair_agni.txt +++ b/doc/src/pair_agni.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_airebo.txt b/doc/src/pair_airebo.txt index b5add21f24..94a692226d 100644 --- a/doc/src/pair_airebo.txt +++ b/doc/src/pair_airebo.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_awpmd.txt b/doc/src/pair_awpmd.txt index fe0e3c952a..ec87101d0d 100644 --- a/doc/src/pair_awpmd.txt +++ b/doc/src/pair_awpmd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_beck.txt b/doc/src/pair_beck.txt index 1aca4b4f9a..ca4186e27b 100644 --- a/doc/src/pair_beck.txt +++ b/doc/src/pair_beck.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_body_nparticle.txt b/doc/src/pair_body_nparticle.txt index 78a9f2bb38..9fb88102eb 100644 --- a/doc/src/pair_body_nparticle.txt +++ b/doc/src/pair_body_nparticle.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 19807fbe39..e724874032 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index d70a86f881..0f8548d98e 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_bop.txt b/doc/src/pair_bop.txt index 2a611e4bd0..654a7eb0b3 100644 --- a/doc/src/pair_bop.txt +++ b/doc/src/pair_bop.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_born.txt b/doc/src/pair_born.txt index 143549cf2d..c408de6db6 100644 --- a/doc/src/pair_born.txt +++ b/doc/src/pair_born.txt @@ -3,7 +3,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_brownian.txt b/doc/src/pair_brownian.txt index 8d30f0cec6..eaff85cbbc 100644 --- a/doc/src/pair_brownian.txt +++ b/doc/src/pair_brownian.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_buck.txt b/doc/src/pair_buck.txt index 2483a6c9e2..cc782c11cf 100644 --- a/doc/src/pair_buck.txt +++ b/doc/src/pair_buck.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_buck6d_coul_gauss.txt b/doc/src/pair_buck6d_coul_gauss.txt index 879972772b..485c35c6b2 100644 --- a/doc/src/pair_buck6d_coul_gauss.txt +++ b/doc/src/pair_buck6d_coul_gauss.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_buck_long.txt b/doc/src/pair_buck_long.txt index 94bf6a2d7c..551204f1a7 100644 --- a/doc/src/pair_buck_long.txt +++ b/doc/src/pair_buck_long.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_charmm.txt b/doc/src/pair_charmm.txt index af20661bbd..39c6f29b04 100644 --- a/doc/src/pair_charmm.txt +++ b/doc/src/pair_charmm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_class2.txt b/doc/src/pair_class2.txt index e62971a645..104c51474c 100644 --- a/doc/src/pair_class2.txt +++ b/doc/src/pair_class2.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_coeff.txt b/doc/src/pair_coeff.txt index fe9238f423..63f85f23d5 100644 --- a/doc/src/pair_coeff.txt +++ b/doc/src/pair_coeff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -111,9 +111,8 @@ Windows: :line The alphabetic list of pair styles defined in LAMMPS is given on the -"pair_style"_pair_style.html doc page. They are also given in more -compact form in the pair section of "this -page"_Section_commands.html#cmd_5. +"pair_style"_pair_style.html doc page. They are also listed in more +compact form on the "Commands pair"_Commands_pair.html doc page. Click on the style to display the formula it computes, arguments specified in the pair_style command, and coefficients specified by the @@ -121,15 +120,15 @@ associated "pair_coeff"_pair_coeff.html command. Note that there are also additional pair styles (not listed on the "pair_style"_pair_style.html doc page) submitted by users which are -included in the LAMMPS distribution. The list of these with links to -the individual styles are given in the pair section of "this -page"_Section_commands.html#cmd_5. +included in the LAMMPS distribution. The full list of all pair styles +is on the "Commands pair"_Commands_pair.html doc page. There are also additional accelerated pair styles (not listed on the "pair_style"_pair_style.html doc page) included in the LAMMPS -distribution for faster performance on CPUs and GPUs. The list of -these with links to the individual styles are given in the pair -section of "this page"_Section_commands.html#cmd_5. +distribution for faster performance on CPUs, GPUs, and KNLs. The +individual style names on the "Commands pair"_Commands_pair.html doc +page are followed by one or more of (g,i,k,o,t) to indicate which +accerlerated styles exist. :line diff --git a/doc/src/pair_colloid.txt b/doc/src/pair_colloid.txt index a7bb0db08a..08540cfee0 100644 --- a/doc/src/pair_colloid.txt +++ b/doc/src/pair_colloid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_comb.txt b/doc/src/pair_comb.txt index 6949ca50c2..fc4cddbbae 100644 --- a/doc/src/pair_comb.txt +++ b/doc/src/pair_comb.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_coul.txt b/doc/src/pair_coul.txt index e2bc78a2e6..2fd9445785 100644 --- a/doc/src/pair_coul.txt +++ b/doc/src/pair_coul.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_coul_diel.txt b/doc/src/pair_coul_diel.txt index f651cb4b5e..14932c4835 100644 --- a/doc/src/pair_coul_diel.txt +++ b/doc/src/pair_coul_diel.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_coul_shield.txt b/doc/src/pair_coul_shield.txt index 19f69688d5..029e6e5b3b 100644 --- a/doc/src/pair_coul_shield.txt +++ b/doc/src/pair_coul_shield.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_cs.txt b/doc/src/pair_cs.txt index 86eb02b0d7..6540c4b8f0 100644 --- a/doc/src/pair_cs.txt +++ b/doc/src/pair_cs.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_dipole.txt b/doc/src/pair_dipole.txt index e7d196d599..1d8abc4521 100644 --- a/doc/src/pair_dipole.txt +++ b/doc/src/pair_dipole.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_dpd.txt b/doc/src/pair_dpd.txt index a36029ea63..1b636795d9 100644 --- a/doc/src/pair_dpd.txt +++ b/doc/src/pair_dpd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_dpd_fdt.txt b/doc/src/pair_dpd_fdt.txt index 129d3c84af..0d180ba068 100644 --- a/doc/src/pair_dpd_fdt.txt +++ b/doc/src/pair_dpd_fdt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_dsmc.txt b/doc/src/pair_dsmc.txt index 9e24100ab7..2478a96d5f 100644 --- a/doc/src/pair_dsmc.txt +++ b/doc/src/pair_dsmc.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_eam.txt b/doc/src/pair_eam.txt index b3c770179f..361dacb703 100644 --- a/doc/src/pair_eam.txt +++ b/doc/src/pair_eam.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_edip.txt b/doc/src/pair_edip.txt index f0d1927812..cce564856e 100644 --- a/doc/src/pair_edip.txt +++ b/doc/src/pair_edip.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_eff.txt b/doc/src/pair_eff.txt index ee7dc99932..a55860297e 100644 --- a/doc/src/pair_eff.txt +++ b/doc/src/pair_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_eim.txt b/doc/src/pair_eim.txt index 7f94d919f2..6490a859c1 100644 --- a/doc/src/pair_eim.txt +++ b/doc/src/pair_eim.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_exp6_rx.txt b/doc/src/pair_exp6_rx.txt index dec660fd1d..08ab1cf3c9 100644 --- a/doc/src/pair_exp6_rx.txt +++ b/doc/src/pair_exp6_rx.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_extep.txt b/doc/src/pair_extep.txt index 9a784e2501..3acad1132d 100644 --- a/doc/src/pair_extep.txt +++ b/doc/src/pair_extep.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_gauss.txt b/doc/src/pair_gauss.txt index 7716f89f17..9662a4f29c 100644 --- a/doc/src/pair_gauss.txt +++ b/doc/src/pair_gauss.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_gayberne.txt b/doc/src/pair_gayberne.txt index e9a98a0b84..af41f6879e 100644 --- a/doc/src/pair_gayberne.txt +++ b/doc/src/pair_gayberne.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_gran.txt b/doc/src/pair_gran.txt index 86b04f96de..55b00a172f 100644 --- a/doc/src/pair_gran.txt +++ b/doc/src/pair_gran.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_gromacs.txt b/doc/src/pair_gromacs.txt index 7daf805e2b..9f34ac8c43 100644 --- a/doc/src/pair_gromacs.txt +++ b/doc/src/pair_gromacs.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_gw.txt b/doc/src/pair_gw.txt index 8f1251cf1f..809ff008bc 100644 --- a/doc/src/pair_gw.txt +++ b/doc/src/pair_gw.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_hbond_dreiding.txt b/doc/src/pair_hbond_dreiding.txt index d641cb73ad..60b0b02174 100644 --- a/doc/src/pair_hbond_dreiding.txt +++ b/doc/src/pair_hbond_dreiding.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_hybrid.txt b/doc/src/pair_hybrid.txt index 9503256d26..9b36109c27 100644 --- a/doc/src/pair_hybrid.txt +++ b/doc/src/pair_hybrid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_ilp_graphene_hbn.txt b/doc/src/pair_ilp_graphene_hbn.txt index dbc9c458e2..9c9304c4a7 100644 --- a/doc/src/pair_ilp_graphene_hbn.txt +++ b/doc/src/pair_ilp_graphene_hbn.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_kim.txt b/doc/src/pair_kim.txt index fc2c1405af..889c1e892f 100644 --- a/doc/src/pair_kim.txt +++ b/doc/src/pair_kim.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_kolmogorov_crespi_full.txt b/doc/src/pair_kolmogorov_crespi_full.txt index a16d123b89..8fc6bbff49 100644 --- a/doc/src/pair_kolmogorov_crespi_full.txt +++ b/doc/src/pair_kolmogorov_crespi_full.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_kolmogorov_crespi_z.txt b/doc/src/pair_kolmogorov_crespi_z.txt index 97f132eacd..7dad2e3701 100644 --- a/doc/src/pair_kolmogorov_crespi_z.txt +++ b/doc/src/pair_kolmogorov_crespi_z.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_lcbop.txt b/doc/src/pair_lcbop.txt index 148a1d47a0..ddf8551d56 100644 --- a/doc/src/pair_lcbop.txt +++ b/doc/src/pair_lcbop.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_line_lj.txt b/doc/src/pair_line_lj.txt index 44cfeb48e9..c2c6beb97f 100644 --- a/doc/src/pair_line_lj.txt +++ b/doc/src/pair_line_lj.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_list.txt b/doc/src/pair_list.txt index 653e8b0c2d..023cc0be4f 100644 --- a/doc/src/pair_list.txt +++ b/doc/src/pair_list.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_lj.txt b/doc/src/pair_lj.txt index a0f7effbb1..a55cb348d7 100644 --- a/doc/src/pair_lj.txt +++ b/doc/src/pair_lj.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_lj96.txt b/doc/src/pair_lj96.txt index a0a9971474..7c68e26ace 100644 --- a/doc/src/pair_lj96.txt +++ b/doc/src/pair_lj96.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_lj_cubic.txt b/doc/src/pair_lj_cubic.txt index c4e2af5062..d04a3d8b9d 100644 --- a/doc/src/pair_lj_cubic.txt +++ b/doc/src/pair_lj_cubic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_lj_expand.txt b/doc/src/pair_lj_expand.txt index c156fefef2..3e9996da4d 100644 --- a/doc/src/pair_lj_expand.txt +++ b/doc/src/pair_lj_expand.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_lj_long.txt b/doc/src/pair_lj_long.txt index 0dd55b7e32..1ba3610f86 100644 --- a/doc/src/pair_lj_long.txt +++ b/doc/src/pair_lj_long.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_lj_smooth.txt b/doc/src/pair_lj_smooth.txt index 653520966b..575c023579 100644 --- a/doc/src/pair_lj_smooth.txt +++ b/doc/src/pair_lj_smooth.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_lj_smooth_linear.txt b/doc/src/pair_lj_smooth_linear.txt index aebde2e653..0fab768b8f 100644 --- a/doc/src/pair_lj_smooth_linear.txt +++ b/doc/src/pair_lj_smooth_linear.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_lj_soft.txt b/doc/src/pair_lj_soft.txt index 7add9f623d..d10fcd0472 100644 --- a/doc/src/pair_lj_soft.txt +++ b/doc/src/pair_lj_soft.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_lubricate.txt b/doc/src/pair_lubricate.txt index 2a16aa2a9d..e9a0a0d291 100644 --- a/doc/src/pair_lubricate.txt +++ b/doc/src/pair_lubricate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_lubricateU.txt b/doc/src/pair_lubricateU.txt index 720a8539b8..6b74c208bf 100644 --- a/doc/src/pair_lubricateU.txt +++ b/doc/src/pair_lubricateU.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_mdf.txt b/doc/src/pair_mdf.txt index ca06f1bf8e..e5a8cac845 100644 --- a/doc/src/pair_mdf.txt +++ b/doc/src/pair_mdf.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_meam.txt b/doc/src/pair_meam.txt index c7449428bd..45f88f0bbe 100644 --- a/doc/src/pair_meam.txt +++ b/doc/src/pair_meam.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_meam_spline.txt b/doc/src/pair_meam_spline.txt index 74242e32b9..9615512041 100644 --- a/doc/src/pair_meam_spline.txt +++ b/doc/src/pair_meam_spline.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_meam_sw_spline.txt b/doc/src/pair_meam_sw_spline.txt index fa731799dd..ba0953a17c 100644 --- a/doc/src/pair_meam_sw_spline.txt +++ b/doc/src/pair_meam_sw_spline.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_meso.txt b/doc/src/pair_meso.txt index bcdf717d68..ad3880e642 100644 --- a/doc/src/pair_meso.txt +++ b/doc/src/pair_meso.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_mgpt.txt b/doc/src/pair_mgpt.txt index f8b0c9f071..09fe611686 100644 --- a/doc/src/pair_mgpt.txt +++ b/doc/src/pair_mgpt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_mie.txt b/doc/src/pair_mie.txt index ad602db9f1..818e37272b 100644 --- a/doc/src/pair_mie.txt +++ b/doc/src/pair_mie.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_modify.txt b/doc/src/pair_modify.txt index 34dbb5bc3d..c043fde5a7 100644 --- a/doc/src/pair_modify.txt +++ b/doc/src/pair_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_momb.txt b/doc/src/pair_momb.txt index 77c4f184d9..545b650f75 100644 --- a/doc/src/pair_momb.txt +++ b/doc/src/pair_momb.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_morse.txt b/doc/src/pair_morse.txt index 34876011a1..85a42986ec 100644 --- a/doc/src/pair_morse.txt +++ b/doc/src/pair_morse.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_multi_lucy.txt b/doc/src/pair_multi_lucy.txt index 38fd1ede4a..31d52a58c8 100644 --- a/doc/src/pair_multi_lucy.txt +++ b/doc/src/pair_multi_lucy.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_multi_lucy_rx.txt b/doc/src/pair_multi_lucy_rx.txt index b043030907..e09dde3f80 100644 --- a/doc/src/pair_multi_lucy_rx.txt +++ b/doc/src/pair_multi_lucy_rx.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_nb3b_harmonic.txt b/doc/src/pair_nb3b_harmonic.txt index e6e103f517..720b9ea2a1 100644 --- a/doc/src/pair_nb3b_harmonic.txt +++ b/doc/src/pair_nb3b_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_nm.txt b/doc/src/pair_nm.txt index 08c3393993..355bfd5573 100644 --- a/doc/src/pair_nm.txt +++ b/doc/src/pair_nm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_none.txt b/doc/src/pair_none.txt index f4e9525198..960dc05d97 100644 --- a/doc/src/pair_none.txt +++ b/doc/src/pair_none.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_oxdna.txt b/doc/src/pair_oxdna.txt index f272d15a86..5ec9915297 100644 --- a/doc/src/pair_oxdna.txt +++ b/doc/src/pair_oxdna.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_oxdna2.txt b/doc/src/pair_oxdna2.txt index 1b55031b2c..a1d2cfdb7c 100644 --- a/doc/src/pair_oxdna2.txt +++ b/doc/src/pair_oxdna2.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_peri.txt b/doc/src/pair_peri.txt index 4327003057..14abd4541e 100644 --- a/doc/src/pair_peri.txt +++ b/doc/src/pair_peri.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_polymorphic.txt b/doc/src/pair_polymorphic.txt index c088e8bb22..eb0c30f249 100644 --- a/doc/src/pair_polymorphic.txt +++ b/doc/src/pair_polymorphic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_python.txt b/doc/src/pair_python.txt index 2f8ed7a27c..1433557e03 100644 --- a/doc/src/pair_python.txt +++ b/doc/src/pair_python.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_quip.txt b/doc/src/pair_quip.txt index 9436b0c4ed..3570a52801 100644 --- a/doc/src/pair_quip.txt +++ b/doc/src/pair_quip.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_reax.txt b/doc/src/pair_reax.txt index 1d13f93706..a3b84955cd 100644 --- a/doc/src/pair_reax.txt +++ b/doc/src/pair_reax.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_reaxc.txt b/doc/src/pair_reaxc.txt index 8d8c7e84e7..ec57548640 100644 --- a/doc/src/pair_reaxc.txt +++ b/doc/src/pair_reaxc.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_resquared.txt b/doc/src/pair_resquared.txt index 6ea5c73c0d..6e72408ebc 100644 --- a/doc/src/pair_resquared.txt +++ b/doc/src/pair_resquared.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_sdk.txt b/doc/src/pair_sdk.txt index 4cd56bc43d..ccf704b6f7 100644 --- a/doc/src/pair_sdk.txt +++ b/doc/src/pair_sdk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_smd_hertz.txt b/doc/src/pair_smd_hertz.txt index eeaa3387a4..f2d633903a 100644 --- a/doc/src/pair_smd_hertz.txt +++ b/doc/src/pair_smd_hertz.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_smd_tlsph.txt b/doc/src/pair_smd_tlsph.txt index f73acf74ee..3aeaa31553 100644 --- a/doc/src/pair_smd_tlsph.txt +++ b/doc/src/pair_smd_tlsph.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_smd_triangulated_surface.txt b/doc/src/pair_smd_triangulated_surface.txt index c32bf3a22e..65526cfba8 100644 --- a/doc/src/pair_smd_triangulated_surface.txt +++ b/doc/src/pair_smd_triangulated_surface.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_smd_ulsph.txt b/doc/src/pair_smd_ulsph.txt index 268fe78d02..a5bda54d5f 100644 --- a/doc/src/pair_smd_ulsph.txt +++ b/doc/src/pair_smd_ulsph.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_smtbq.txt b/doc/src/pair_smtbq.txt index c8d6b21b3f..c70202c2e1 100644 --- a/doc/src/pair_smtbq.txt +++ b/doc/src/pair_smtbq.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_snap.txt b/doc/src/pair_snap.txt index c3d6e67e82..f9bd8910e4 100644 --- a/doc/src/pair_snap.txt +++ b/doc/src/pair_snap.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_soft.txt b/doc/src/pair_soft.txt index adbfa596c9..374711825b 100644 --- a/doc/src/pair_soft.txt +++ b/doc/src/pair_soft.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_sph_heatconduction.txt b/doc/src/pair_sph_heatconduction.txt index 2387056a1b..d19c28a3cb 100644 --- a/doc/src/pair_sph_heatconduction.txt +++ b/doc/src/pair_sph_heatconduction.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_sph_idealgas.txt b/doc/src/pair_sph_idealgas.txt index 957f901425..a670949a89 100644 --- a/doc/src/pair_sph_idealgas.txt +++ b/doc/src/pair_sph_idealgas.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_sph_lj.txt b/doc/src/pair_sph_lj.txt index ef89c4ad3e..152e6cf8a2 100644 --- a/doc/src/pair_sph_lj.txt +++ b/doc/src/pair_sph_lj.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_sph_rhosum.txt b/doc/src/pair_sph_rhosum.txt index 352e717f76..3cd1c5abb2 100644 --- a/doc/src/pair_sph_rhosum.txt +++ b/doc/src/pair_sph_rhosum.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_sph_taitwater.txt b/doc/src/pair_sph_taitwater.txt index 9177ca80b8..7b9a8188f2 100644 --- a/doc/src/pair_sph_taitwater.txt +++ b/doc/src/pair_sph_taitwater.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_sph_taitwater_morris.txt b/doc/src/pair_sph_taitwater_morris.txt index e6c5a6bb20..02f16d8982 100644 --- a/doc/src/pair_sph_taitwater_morris.txt +++ b/doc/src/pair_sph_taitwater_morris.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_spin_dmi.txt b/doc/src/pair_spin_dmi.txt index a1d0cb2265..375e59fe89 100644 --- a/doc/src/pair_spin_dmi.txt +++ b/doc/src/pair_spin_dmi.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index a4f37a98eb..24eb635b81 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_spin_magelec.txt b/doc/src/pair_spin_magelec.txt index 8ba24c46af..b338fae5dc 100644 --- a/doc/src/pair_spin_magelec.txt +++ b/doc/src/pair_spin_magelec.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_spin_neel.txt b/doc/src/pair_spin_neel.txt index 8551f8d636..0967632ed2 100644 --- a/doc/src/pair_spin_neel.txt +++ b/doc/src/pair_spin_neel.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_srp.txt b/doc/src/pair_srp.txt index e7f1e00d10..e784ac3d17 100644 --- a/doc/src/pair_srp.txt +++ b/doc/src/pair_srp.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_style.txt b/doc/src/pair_style.txt index 2763eb3d66..cd39513329 100644 --- a/doc/src/pair_style.txt +++ b/doc/src/pair_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -78,22 +78,22 @@ previously specified pair_coeff values. :line Here is an alphabetic list of pair styles defined in LAMMPS. They are -also given in more compact form in the pair section of "this -page"_Section_commands.html#cmd_5. +also listed in more compact form on the "Commands +pair"_Commands_pair.html doc page. Click on the style to display the formula it computes, arguments specified in the pair_style command, and coefficients specified by the associated "pair_coeff"_pair_coeff.html command. There are also additional pair styles (not listed here) submitted by -users which are included in the LAMMPS distribution. The list of -these with links to the individual styles are given in the pair -section of "this page"_Section_commands.html#cmd_5. +users which are included in the LAMMPS distribution. The full list of +all pair styles is on the "Commands pair"_Commands_pair.html doc page. There are also additional accelerated pair styles (not listed here) -included in the LAMMPS distribution for faster performance on CPUs and -GPUs. The list of these with links to the individual styles are given -in the pair section of "this page"_Section_commands.html#cmd_5. +included in the LAMMPS distribution for faster performance on CPUs, +GPUs, and KNLs. The individual style names on the "Commands +pair"_Commands_pair.html doc page are followed by one or more of +(g,i,k,o,t) to indicate which accerlerated styles exist. "pair_style none"_pair_none.html - turn off pairwise interactions "pair_style hybrid"_pair_hybrid.html - multiple styles of pairwise interactions diff --git a/doc/src/pair_sw.txt b/doc/src/pair_sw.txt index 7c9ce4a4f9..e6741791df 100644 --- a/doc/src/pair_sw.txt +++ b/doc/src/pair_sw.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_table.txt b/doc/src/pair_table.txt index f5e69a6d54..5e3c1f5ff6 100644 --- a/doc/src/pair_table.txt +++ b/doc/src/pair_table.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_table_rx.txt b/doc/src/pair_table_rx.txt index 52760c396b..41be067bac 100644 --- a/doc/src/pair_table_rx.txt +++ b/doc/src/pair_table_rx.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_tersoff.txt b/doc/src/pair_tersoff.txt index 70fe207f0a..821c38f3e4 100644 --- a/doc/src/pair_tersoff.txt +++ b/doc/src/pair_tersoff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_tersoff_mod.txt b/doc/src/pair_tersoff_mod.txt index aced6d40d6..ac1f79a80b 100644 --- a/doc/src/pair_tersoff_mod.txt +++ b/doc/src/pair_tersoff_mod.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_tersoff_zbl.txt b/doc/src/pair_tersoff_zbl.txt index 838c2f39cf..a89d4e3ea1 100644 --- a/doc/src/pair_tersoff_zbl.txt +++ b/doc/src/pair_tersoff_zbl.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_thole.txt b/doc/src/pair_thole.txt index 42c58e9882..7ce8b7cf4b 100644 --- a/doc/src/pair_thole.txt +++ b/doc/src/pair_thole.txt @@ -9,7 +9,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_tri_lj.txt b/doc/src/pair_tri_lj.txt index 42a5bbdfe2..3915ffc238 100644 --- a/doc/src/pair_tri_lj.txt +++ b/doc/src/pair_tri_lj.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_ufm.txt b/doc/src/pair_ufm.txt index 5af8741502..dbc6fd0664 100644 --- a/doc/src/pair_ufm.txt +++ b/doc/src/pair_ufm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_vashishta.txt b/doc/src/pair_vashishta.txt index e90a9d8f50..2e404e8bef 100644 --- a/doc/src/pair_vashishta.txt +++ b/doc/src/pair_vashishta.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_write.txt b/doc/src/pair_write.txt index 9f5970fcbc..48ad76e76e 100644 --- a/doc/src/pair_write.txt +++ b/doc/src/pair_write.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_yukawa.txt b/doc/src/pair_yukawa.txt index 979165dda0..5a8363260a 100644 --- a/doc/src/pair_yukawa.txt +++ b/doc/src/pair_yukawa.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_yukawa_colloid.txt b/doc/src/pair_yukawa_colloid.txt index a1752c261e..515062d9eb 100644 --- a/doc/src/pair_yukawa_colloid.txt +++ b/doc/src/pair_yukawa_colloid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_zbl.txt b/doc/src/pair_zbl.txt index 0507083295..1472c7b672 100644 --- a/doc/src/pair_zbl.txt +++ b/doc/src/pair_zbl.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_zero.txt b/doc/src/pair_zero.txt index e58b33c75f..b324003bd1 100644 --- a/doc/src/pair_zero.txt +++ b/doc/src/pair_zero.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/partition.txt b/doc/src/partition.txt index 610eee99b3..d4fe06c098 100644 --- a/doc/src/partition.txt +++ b/doc/src/partition.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/prd.txt b/doc/src/prd.txt index f298d83385..b2145ebad1 100644 --- a/doc/src/prd.txt +++ b/doc/src/prd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/print.txt b/doc/src/print.txt index 77e0c7cfd3..476d4104fa 100644 --- a/doc/src/print.txt +++ b/doc/src/print.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/processors.txt b/doc/src/processors.txt index e54b2cede3..df13ae1f61 100644 --- a/doc/src/processors.txt +++ b/doc/src/processors.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/python.txt b/doc/src/python.txt index d670fcc77f..4f4faca8f4 100644 --- a/doc/src/python.txt +++ b/doc/src/python.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -199,9 +199,9 @@ The {here} keyword does the same thing, except that the Python code follows as a single argument to the {here} keyword. This can be done using triple quotes as delimiters, as in the examples above. This allows Python code to be listed verbatim in your input script, with -proper indentation, blank lines, and comments, as desired. See -"Section 3.2"_Section_commands.html#cmd_2, for an explanation of how -triple quotes can be used as part of input script syntax. +proper indentation, blank lines, and comments, as desired. See the +"Commands parse"_Commands_parse.html doc page, for an explanation of +how triple quotes can be used as part of input script syntax. The {exists} keyword takes no argument. It means that Python code containing the required Python function defined by the {func} setting, diff --git a/doc/src/quit.txt b/doc/src/quit.txt index 843d3de7f3..802df97711 100644 --- a/doc/src/quit.txt +++ b/doc/src/quit.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/read_data.txt b/doc/src/read_data.txt index 4f6a3988b9..ded51a4d99 100644 --- a/doc/src/read_data.txt +++ b/doc/src/read_data.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/read_dump.txt b/doc/src/read_dump.txt index 21c6df5017..a3c0733e07 100644 --- a/doc/src/read_dump.txt +++ b/doc/src/read_dump.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/read_restart.txt b/doc/src/read_restart.txt index 6f6a828229..488c36f020 100644 --- a/doc/src/read_restart.txt +++ b/doc/src/read_restart.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/region.txt b/doc/src/region.txt index b32c09ed6f..21396ae1fd 100644 --- a/doc/src/region.txt +++ b/doc/src/region.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/replicate.txt b/doc/src/replicate.txt index 08523ecdd8..0195dce911 100644 --- a/doc/src/replicate.txt +++ b/doc/src/replicate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/rerun.txt b/doc/src/rerun.txt index edf94cc711..8eb3ebd5a1 100644 --- a/doc/src/rerun.txt +++ b/doc/src/rerun.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/reset_ids.txt b/doc/src/reset_ids.txt index 8655a9d54f..391b51fde9 100644 --- a/doc/src/reset_ids.txt +++ b/doc/src/reset_ids.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/reset_timestep.txt b/doc/src/reset_timestep.txt index 79a5812ca1..0d518655fb 100644 --- a/doc/src/reset_timestep.txt +++ b/doc/src/reset_timestep.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/restart.txt b/doc/src/restart.txt index 7c39ae1404..6f2dc5ca46 100644 --- a/doc/src/restart.txt +++ b/doc/src/restart.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/run.txt b/doc/src/run.txt index 02860c0b97..c7c73463d9 100644 --- a/doc/src/run.txt +++ b/doc/src/run.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/run_style.txt b/doc/src/run_style.txt index 6f1f719d64..deee51cfd3 100644 --- a/doc/src/run_style.txt +++ b/doc/src/run_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/set.txt b/doc/src/set.txt index d2235d5c32..b83ad54f4e 100644 --- a/doc/src/set.txt +++ b/doc/src/set.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/shell.txt b/doc/src/shell.txt index 205164f874..d274f498e5 100644 --- a/doc/src/shell.txt +++ b/doc/src/shell.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/special_bonds.txt b/doc/src/special_bonds.txt index 1021c4856b..a57b61664d 100644 --- a/doc/src/special_bonds.txt +++ b/doc/src/special_bonds.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/suffix.txt b/doc/src/suffix.txt index 74f69b6dfe..bb0619f1e0 100644 --- a/doc/src/suffix.txt +++ b/doc/src/suffix.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/tad.txt b/doc/src/tad.txt index 9ffa24d012..a26ff79318 100644 --- a/doc/src/tad.txt +++ b/doc/src/tad.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/temper.txt b/doc/src/temper.txt index e65f59ebed..c7b482acc6 100644 --- a/doc/src/temper.txt +++ b/doc/src/temper.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/temper_grem.txt b/doc/src/temper_grem.txt index 6145c8704c..9cb1bab784 100644 --- a/doc/src/temper_grem.txt +++ b/doc/src/temper_grem.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/temper_npt.txt b/doc/src/temper_npt.txt index 4ad49f9e33..4eee225de7 100644 --- a/doc/src/temper_npt.txt +++ b/doc/src/temper_npt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line temper/npt command :h3 diff --git a/doc/src/thermo.txt b/doc/src/thermo.txt index 1d5d34995c..5f12f98707 100644 --- a/doc/src/thermo.txt +++ b/doc/src/thermo.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/thermo_modify.txt b/doc/src/thermo_modify.txt index e9aca0f20a..ca2957de77 100644 --- a/doc/src/thermo_modify.txt +++ b/doc/src/thermo_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/thermo_style.txt b/doc/src/thermo_style.txt index 64e0785586..cbc2612f28 100644 --- a/doc/src/thermo_style.txt +++ b/doc/src/thermo_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/timer.txt b/doc/src/timer.txt index 768c3e1353..10737dbda0 100644 --- a/doc/src/timer.txt +++ b/doc/src/timer.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/timestep.txt b/doc/src/timestep.txt index 639ad6f311..ee0ace05b9 100644 --- a/doc/src/timestep.txt +++ b/doc/src/timestep.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/uncompute.txt b/doc/src/uncompute.txt index 49b46781d7..4c788d4722 100644 --- a/doc/src/uncompute.txt +++ b/doc/src/uncompute.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/undump.txt b/doc/src/undump.txt index a2a371aca5..cc3d8b9103 100644 --- a/doc/src/undump.txt +++ b/doc/src/undump.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/unfix.txt b/doc/src/unfix.txt index dcc4499b20..9608b39c7e 100644 --- a/doc/src/unfix.txt +++ b/doc/src/unfix.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/units.txt b/doc/src/units.txt index 0b856dcc68..8df8fe6810 100644 --- a/doc/src/units.txt +++ b/doc/src/units.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/variable.txt b/doc/src/variable.txt index 717c77c079..c6598ccb51 100644 --- a/doc/src/variable.txt +++ b/doc/src/variable.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -124,8 +124,8 @@ provide, so that the variable gets its value from the evaluation of the Python code. Variables of style {internal} are used by a few commands which set their value directly. -NOTE: As discussed in "Section 3.2"_Section_commands.html#cmd_2 of the -manual, an input script can use "immediate" variables, specified as +NOTE: As discussed on the "Commands parse"_Commands_parse.html doc +page, an input script can use "immediate" variables, specified as $(formula) with parenthesis, where the formula has the same syntax as equal-style variables described on this page. This is a convenient way to evaluate a formula immediately without using the variable @@ -198,7 +198,7 @@ the same thing. :line -"This section"_Section_commands.html#cmd_2 of the manual explains how +The "Commands parse"_Commands_parse.html doc page explains how occurrences of a variable name in an input script line are replaced by the variable's string. The variable name can be referenced as $x if the name "x" is a single character, or as $\{LoopVar\} if the name @@ -312,8 +312,8 @@ If you simply wish to print a variable value with desired precision to the screen or logfile via the "print"_print.html or "fix print"_fix_print.html commands, you can also do this by specifying an "immediate" variable with a trailing colon and format string, as part -of the string argument of those commands. This is explained in -"Section 3.2"_Section_commands.html#cmd_2. +of the string argument of those commands. This is explained on the +"Commands parse"_Commands_parse.html doc page. For the {getenv} style, a single string is assigned to the variable which should be the name of an environment variable. When the @@ -1119,24 +1119,23 @@ Vectors" discussion above. If you want an equal-style variable to be evaluated immediately, it may be the case that you do not need to define a variable at all. See -"Section 3.2"_Section_commands.html#cmd_2 of the manual, which -describes the use of "immediate" variables in an input script, -specified as $(formula) with parenthesis, where the formula has the -same syntax as equal-style variables described on this page. This -effectively evaluates a formula immediately without using the variable -command to define a named variable. +the "Commands parse"_Commands_parse.html doc page for info on how to +use "immediate" variables in an input script, specified as $(formula) +with parenthesis, where the formula has the same syntax as equal-style +variables described on this page. This effectively evaluates a +formula immediately without using the variable command to define a +named variable. More generally, there is a difference between referencing a variable with a leading $ sign (e.g. $x or $\{abc\}) versus with a leading "v_" (e.g. v_x or v_abc). The former can be used in any input script command, including a variable command. The input script parser evaluates the reference variable immediately and substitutes its value -into the command. As explained in "Section -3.2"_Section_commands.html#cmd_2 for "Parsing rules", you can also use -un-named "immediate" variables for this purpose. For example, a -string like this $((xlo+xhi)/2+sqrt(v_area)) in an input script -command evaluates the string between the parenthesis as an equal-style -variable formula. +into the command. As explained on the "Commands +parse"_Commands_parse.html doc page, you can also use un-named +"immediate" variables for this purpose. For example, a string like +this $((xlo+xhi)/2+sqrt(v_area)) in an input script command evaluates +the string between the parenthesis as an equal-style variable formula. Referencing a variable with a leading "v_" is an optional or required kind of argument for some commands (e.g. the "fix @@ -1180,10 +1179,9 @@ quotes if it contains variables preceded by $ signs. For example, variable vratio equal "$\{vfinal\}/$\{v0\}" :pre -This is because the quotes prevent variable substitution (see "this -section"_Section_commands.html#cmd_2 on parsing input script -commands), and thus an error will occur when the formula for "vratio" -is evaluated later. +This is because the quotes prevent variable substitution (explained on +the "Commands parse"_Commands_parse.html doc page), and thus an error +will occur when the formula for "vratio" is evaluated later. :line diff --git a/doc/src/velocity.txt b/doc/src/velocity.txt index 057f0054be..96d3fa6dc4 100644 --- a/doc/src/velocity.txt +++ b/doc/src/velocity.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/write_coeff.txt b/doc/src/write_coeff.txt index 764e119a9d..5dc4b331de 100644 --- a/doc/src/write_coeff.txt +++ b/doc/src/write_coeff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/write_data.txt b/doc/src/write_data.txt index c76f20319c..d8a33f457f 100644 --- a/doc/src/write_data.txt +++ b/doc/src/write_data.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/write_dump.txt b/doc/src/write_dump.txt index 840716085f..e676979001 100644 --- a/doc/src/write_dump.txt +++ b/doc/src/write_dump.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/write_restart.txt b/doc/src/write_restart.txt index ff3b652dba..3935a5d538 100644 --- a/doc/src/write_restart.txt +++ b/doc/src/write_restart.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line -- GitLab From 6de3dab72a152652acb6d5591f84401fd2b9366e Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Sun, 5 Aug 2018 23:59:52 -0400 Subject: [PATCH 402/675] Remove duplicates --- doc/src/body.txt | 456 ------------------------------------- doc/src/lammps.book | 4 - doc/src/lammps_support.txt | 7 - doc/src/manifolds.txt | 41 ---- 4 files changed, 508 deletions(-) delete mode 100644 doc/src/body.txt delete mode 100644 doc/src/lammps_support.txt delete mode 100644 doc/src/manifolds.txt diff --git a/doc/src/body.txt b/doc/src/body.txt deleted file mode 100644 index 4de5b52911..0000000000 --- a/doc/src/body.txt +++ /dev/null @@ -1,456 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Body particles :h2 - -[Overview:] - -This doc page is not about a LAMMPS input script command, but about -body particles, which are generalized finite-size particles. -Individual body particles can represent complex entities, such as -surface meshes of discrete points, collections of sub-particles, -deformable objects, etc. Note that other kinds of finite-size -spherical and aspherical particles are also supported by LAMMPS, such -as spheres, ellipsoids, line segments, and triangles, but they are -simpler entities that body particles. See the "Howto -body"_Howto_.html doc page for a general overview of all -these particle types. - -Body particles are used via the "atom_style body"_atom_style.html -command. It takes a body style as an argument. The current body -styles supported by LAMMPS are as follows. The name in the first -column is used as the {bstyle} argument for the "atom_style -body"_atom_style.html command. - -{nparticle} : rigid body with N sub-particles -{rounded/polygon} : 2d polygons with N vertices -{rounded/polyhedron} : 3d polyhedra with N vertices, E edges and F faces :tb(s=:) - -The body style determines what attributes are stored for each body and -thus how they can be used to compute pairwise body/body or -bond/non-body (point particle) interactions. More details of each -style are described below. - -More styles may be added in the future. See the "Modify -body"_Modify_body.html doc page for details on how to add a new body -style to the code. - -:line - -[When to use body particles:] - -You should not use body particles to model a rigid body made of -simpler particles (e.g. point, sphere, ellipsoid, line segment, -triangular particles), if the interaction between pairs of rigid -bodies is just the summation of pairwise interactions between the -simpler particles. LAMMPS already supports this kind of model via the -"fix rigid"_fix_rigid.html command. Any of the numerous pair styles -that compute interactions between simpler particles can be used. The -"fix rigid"_fix_rigid.html command time integrates the motion of the -rigid bodies. All of the standard LAMMPS commands for thermostatting, -adding constraints, performing output, etc will operate as expected on -the simple particles. - -By contrast, when body particles are used, LAMMPS treats an entire -body as a single particle for purposes of computing pairwise -interactions, building neighbor lists, migrating particles between -processors, output of particles to a dump file, etc. This means that -interactions between pairs of bodies or between a body and non-body -(point) particle need to be encoded in an appropriate pair style. If -such a pair style were to mimic the "fix rigid"_fix_rigid.html model, -it would need to loop over the entire collection of interactions -between pairs of simple particles within the two bodies, each time a -single body/body interaction was computed. - -Thus it only makes sense to use body particles and develop such a pair -style, when particle/particle interactions are more complex than what -the "fix rigid"_fix_rigid.html command can already calculate. For -example, consider particles with one or more of the following -attributes: - -represented by a surface mesh -represented by a collection of geometric entities (e.g. planes + spheres) -deformable -internal stress that induces fragmentation :ul - -For these models, the interaction between pairs of particles is likely -to be more complex than the summation of simple pairwise interactions. -An example is contact or frictional forces between particles with -planar surfaces that inter-penetrate. Likewise, the body particle may -store internal state, such as a stress tensor used to compute a -fracture criterion. - -These are additional LAMMPS commands that can be used with body -particles of different styles - -"fix nve/body"_fix_nve_body.html : integrate motion of a body particle in NVE ensemble -"fix nvt/body"_fix_nvt_body.html : ditto for NVT ensemble -"fix npt/body"_fix_npt_body.html : ditto for NPT ensemble -"fix nph/body"_fix_nph_body.html : ditto for NPH ensemble -"compute body/local"_compute_body_local.html : store sub-particle attributes of a body particle -"compute temp/body"_compute_temp_body.html : compute temperature of body particles -"dump local"_dump.html : output sub-particle attributes of a body particle -"dump image"_dump_image.html : output body particle attributes as an image :tb(s=:) - -The pair styles defined for use with specific body styles are listed -in the sections below. - -:line - -[Specifics of body style nparticle:] - -The {nparticle} body style represents body particles as a rigid body -with a variable number N of sub-particles. It is provided as a -vanilla, prototypical example of a body particle, although as -mentioned above, the "fix rigid"_fix_rigid.html command already -duplicates its functionality. - -The atom_style body command for this body style takes two additional -arguments: - -atom_style body nparticle Nmin Nmax -Nmin = minimum # of sub-particles in any body in the system -Nmax = maximum # of sub-particles in any body in the system :pre - -The Nmin and Nmax arguments are used to bound the size of data -structures used internally by each particle. - -When the "read_data"_read_data.html command reads a data file for this -body style, the following information must be provided for each entry -in the {Bodies} section of the data file: - -atom-ID 1 M -N -ixx iyy izz ixy ixz iyz -x1 y1 z1 -... -xN yN zN :pre - -where M = 6 + 3*N, and N is the number of sub-particles in the body -particle. - -The integer line has a single value N. The floating point line(s) -list 6 moments of inertia followed by the coordinates of the N -sub-particles (x1 to zN) as 3N values. These values can be listed on -as many lines as you wish; see the "read_data"_read_data.html command -for more details. - -The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the -values consistent with the current orientation of the rigid body -around its center of mass. The values are with respect to the -simulation box XYZ axes, not with respect to the principal axes of the -rigid body itself. LAMMPS performs the latter calculation internally. -The coordinates of each sub-particle are specified as its x,y,z -displacement from the center-of-mass of the body particle. The -center-of-mass position of the particle is specified by the x,y,z -values in the {Atoms} section of the data file, as is the total mass -of the body particle. - -The "pair_style body/nparticle"_pair_body_nparticle.html command can be used with this -body style to compute body/body and body/non-body interactions. - -For output purposes via the "compute -body/local"_compute_body_local.html and "dump local"_dump.html -commands, this body style produces one datum for each of the N -sub-particles in a body particle. The datum has 3 values: - -1 = x position of sub-particle -2 = y position of sub-particle -3 = z position of sub-particle :pre - -These values are the current position of the sub-particle within the -simulation domain, not a displacement from the center-of-mass (COM) of -the body particle itself. These values are calculated using the -current COM and orientation of the body particle. - -For images created by the "dump image"_dump_image.html command, if the -{body} keyword is set, then each body particle is drawn as a -collection of spheres, one for each sub-particle. The size of each -sphere is determined by the {bflag1} parameter for the {body} keyword. -The {bflag2} argument is ignored. - -:line - -[Specifics of body style rounded/polygon:] - -The {rounded/polygon} body style represents body particles as a 2d -polygon with a variable number of N vertices. This style can only be -used for 2d models; see the "boundary"_boundary.html command. See the -"pair_style body/rounded/polygon" doc page for a diagram of two -squares with rounded circles at the vertices. Special cases for N = 1 -(circle) and N = 2 (rod with rounded ends) can also be specified. - -One use of this body style is for 2d discrete element models, as -described in "Fraige"_#body-Fraige. - -Similar to body style {nparticle}, the atom_style body command for -this body style takes two additional arguments: - -atom_style body rounded/polygon Nmin Nmax -Nmin = minimum # of vertices in any body in the system -Nmax = maximum # of vertices in any body in the system :pre - -The Nmin and Nmax arguments are used to bound the size of data -structures used internally by each particle. - -When the "read_data"_read_data.html command reads a data file for this -body style, the following information must be provided for each entry -in the {Bodies} section of the data file: - -atom-ID 1 M -N -ixx iyy izz ixy ixz iyz -x1 y1 z1 -... -xN yN zN -i j j k k ... -diameter :pre - -where M = 6 + 3*N + 2*N + 1, and N is the number of vertices in the -body particle. - -The integer line has a single value N. The floating point line(s) -list 6 moments of inertia followed by the coordinates of the N -vertices (x1 to zN) as 3N values (with z = 0.0 for each), followed by -2N vertex indices corresponding to the end points of the N edges, -followed by a single diameter value = the rounded diameter of the -circle that surrounds each vertex. The diameter value can be different -for each body particle. These floating-point values can be listed on -as many lines as you wish; see the "read_data"_read_data.html command -for more details. - -The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the -values consistent with the current orientation of the rigid body -around its center of mass. The values are with respect to the -simulation box XYZ axes, not with respect to the principal axes of the -rigid body itself. LAMMPS performs the latter calculation internally. -The coordinates of each vertex are specified as its x,y,z displacement -from the center-of-mass of the body particle. The center-of-mass -position of the particle is specified by the x,y,z values in the -{Atoms} section of the data file. - -For example, the following information would specify a square particle -whose edge length is sqrt(2) and rounded diameter is 1.0. The -orientation of the square is aligned with the xy coordinate axes which -is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz = -1 1 4 0 0 0. Note that only Izz matters in 2D simulations. - -3 1 27 -4 -1 1 4 0 0 0 --0.7071 -0.7071 0 --0.7071 0.7071 0 -0.7071 0.7071 0 -0.7071 -0.7071 0 -0 1 -1 2 -2 3 -3 0 -1.0 :pre - -A rod in 2D, whose length is 4.0, mass 1.0, rounded at two ends -by circles of diameter 0.5, is specified as follows: - -1 1 13 -2 -1 1 1.33333 0 0 0 --2 0 0 -2 0 0 -0.5 :pre - -A disk, whose diameter is 3.0, mass 1.0, is specified as follows: - -1 1 10 -1 -1 1 4.5 0 0 0 -0 0 0 -3.0 :pre - -The "pair_style body/rounded/polygon"_pair_body_rounded_polygon.html -command can be used with this body style to compute body/body -interactions. The "fix wall/body/polygon"_fix_wall_body_polygon.html -command can be used with this body style to compute the interaction of -body particles with a wall. - -:line - -[Specifics of body style rounded/polyhedron:] - -The {rounded/polyhedron} body style represents body particles as a 3d -polyhedron with a variable number of N vertices, E edges and F faces. -This style can only be used for 3d models; see the -"boundary"_boundary.html command. See the "pair_style -body/rounded/polygon" doc page for a diagram of a two 2d squares with -rounded circles at the vertices. A 3d cube with rounded spheres at -the 8 vertices and 12 rounded edges would be similar. Special cases -for N = 1 (sphere) and N = 2 (rod with rounded ends) can also be -specified. - -This body style is for 3d discrete element models, as described in -"Wang"_#body-Wang. - -Similar to body style {rounded/polygon}, the atom_style body command -for this body style takes two additional arguments: - -atom_style body rounded/polyhedron Nmin Nmax -Nmin = minimum # of vertices in any body in the system -Nmax = maximum # of vertices in any body in the system :pre - -The Nmin and Nmax arguments are used to bound the size of data -structures used internally by each particle. - -When the "read_data"_read_data.html command reads a data file for this -body style, the following information must be provided for each entry -in the {Bodies} section of the data file: - -atom-ID 3 M -N E F -ixx iyy izz ixy ixz iyz -x1 y1 z1 -... -xN yN zN -0 1 -1 2 -2 3 -... -0 1 2 -1 -0 2 3 -1 -... -1 2 3 4 -diameter :pre - -where M = 6 + 3*N + 2*E + 4*F + 1, and N is the number of vertices in -the body particle, E = number of edges, F = number of faces. - -The integer line has three values: number of vertices (N), number of -edges (E) and number of faces (F). The floating point line(s) list 6 -moments of inertia followed by the coordinates of the N vertices (x1 -to zN) as 3N values, followed by 2N vertex indices corresponding to -the end points of the E edges, then 4*F vertex indices defining F -faces. The last value is the diameter value = the rounded diameter of -the sphere that surrounds each vertex. The diameter value can be -different for each body particle. These floating-point values can be -listed on as many lines as you wish; see the -"read_data"_read_data.html command for more details. Because the -maxmimum vertices per face is hard-coded to be 4 -(i.e. quadrilaterals), faces with more than 4 vertices need to be -split into triangles or quadrilaterals. For triangular faces, the -last vertex index should be set to -1. - -The ordering of the 4 vertices within a face should follow -the right-hand rule so that the normal vector of the face points -outwards from the center of mass. - -The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the -values consistent with the current orientation of the rigid body -around its center of mass. The values are with respect to the -simulation box XYZ axes, not with respect to the principal axes of the -rigid body itself. LAMMPS performs the latter calculation internally. -The coordinates of each vertex are specified as its x,y,z displacement -from the center-of-mass of the body particle. The center-of-mass -position of the particle is specified by the x,y,z values in the -{Atoms} section of the data file. - -For example, the following information would specify a cubic particle -whose edge length is 2.0 and rounded diameter is 0.5. -The orientation of the cube is aligned with the xyz coordinate axes -which is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz -iyz = 0.667 0.667 0.667 0 0 0. - -1 3 79 -8 12 6 -0.667 0.667 0.667 0 0 0 -1 1 1 -1 -1 1 --1 -1 1 --1 1 1 -1 1 -1 -1 -1 -1 --1 -1 -1 --1 1 -1 -0 1 -1 2 -2 3 -3 0 -4 5 -5 6 -6 7 -7 4 -0 4 -1 5 -2 6 -3 7 -0 1 2 3 -4 5 6 7 -0 1 5 4 -1 2 6 5 -2 3 7 6 -3 0 4 7 -0.5 :pre - -A rod in 3D, whose length is 4.0, mass 1.0 and rounded at two ends -by circles of diameter 0.5, is specified as follows: - -1 1 13 -2 -0 1.33333 1.33333 0 0 0 --2 0 0 -2 0 0 -0.5 :pre - -A sphere whose diameter is 3.0 and mass 1.0, is specified as follows: - -1 1 10 -1 -0.9 0.9 0.9 0 0 0 -0 0 0 -3.0 :pre - -The "pair_style -body/rounded/polhedron"_pair_body_rounded_polyhedron.html command can -be used with this body style to compute body/body interactions. The -"fix wall/body/polyhedron"_fix_wall_body_polygon.html command can be -used with this body style to compute the interaction of body particles -with a wall. - -:line - -For output purposes via the "compute -body/local"_compute_body_local.html and "dump local"_dump.html -commands, this body style produces one datum for each of the N -sub-particles in a body particle. The datum has 3 values: - -1 = x position of vertex -2 = y position of vertex -3 = z position of vertex :pre - -These values are the current position of the vertex within the -simulation domain, not a displacement from the center-of-mass (COM) of -the body particle itself. These values are calculated using the -current COM and orientation of the body particle. - -For images created by the "dump image"_dump_image.html command, if the -{body} keyword is set, then each body particle is drawn as a polygon -consisting of N line segments. Note that the line segments are drawn -between the N vertices, which does not correspond exactly to the -physical extent of the body (because the "pair_style -rounded/polygon"_pair_body_rounded_polygon.html defines finite-size -spheres at those point and the line segments between the spheres are -tangent to the spheres). The drawn diameter of each line segment is -determined by the {bflag1} parameter for the {body} keyword. The -{bflag2} argument is ignored. - -:line - -:link(body-Fraige) -[(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, -Particuology, 6, 455 (2008). - -:link(body-Wang) -[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular -Matter, 13, 1 (2011). diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 9cb2d8cd6c..c0ca357f21 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -107,10 +107,6 @@ Errors_bugs.html Errors_messages.html Errors_warnings.html -lammps_support.html -body.html -manifolds.html - lammps_commands.html atom_modify.html atom_style.html diff --git a/doc/src/lammps_support.txt b/doc/src/lammps_support.txt deleted file mode 100644 index fa460ce6c2..0000000000 --- a/doc/src/lammps_support.txt +++ /dev/null @@ -1,7 +0,0 @@ - -Supporting Information :h1 - -This section of the manual contains supporting information that -is not documenting individual commands but general concepts and -supporting information about entities like body particles or -manifolds. diff --git a/doc/src/manifolds.txt b/doc/src/manifolds.txt deleted file mode 100644 index 194a755868..0000000000 --- a/doc/src/manifolds.txt +++ /dev/null @@ -1,41 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Manifolds (surfaces) :h2 - -[Overview:] - -This doc page is not about a LAMMPS input script command, but about -manifolds, which are generalized surfaces, as defined and used by the -USER-MANIFOLD package, to track particle motion on the manifolds. See -the src/USER-MANIFOLD/README file for more details about the package -and its commands. - -Below is a list of currently supported manifolds by the USER-MANIFOLD -package, their parameters and a short description of them. The -parameters listed here are in the same order as they should be passed -to the relevant fixes. - -{manifold} @ {parameters} @ {equation} @ {description} -cylinder @ R @ x^2 + y^2 - R^2 = 0 @ Cylinder along z-axis, axis going through (0,0,0) -cylinder_dent @ R l a @ x^2 + y^2 - r(z)^2 = 0, r(x) = R if | z | > l, r(z) = R - a*(1 + cos(z/l))/2 otherwise @ A cylinder with a dent around z = 0 -dumbbell @ a A B c @ -( x^2 + y^2 ) + (a^2 - z^2/c^2) * ( 1 + (A*sin(B*z^2))^4) = 0 @ A dumbbell -ellipsoid @ a b c @ (x/a)^2 + (y/b)^2 + (z/c)^2 = 0 @ An ellipsoid -gaussian_bump @ A l rc1 rc2 @ if( x < rc1) -z + A * exp( -x^2 / (2 l^2) ); else if( x < rc2 ) -z + a + b*x + c*x^2 + d*x^3; else z @ A Gaussian bump at x = y = 0, smoothly tapered to a flat plane z = 0. -plane @ a b c x0 y0 z0 @ a*(x-x0) + b*(y-y0) + c*(z-z0) = 0 @ A plane with normal (a,b,c) going through point (x0,y0,z0) -plane_wiggle @ a w @ z - a*sin(w*x) = 0 @ A plane with a sinusoidal modulation on z along x. -sphere @ R @ x^2 + y^2 + z^2 - R^2 = 0 @ A sphere of radius R -supersphere @ R q @ | x |^q + | y |^q + | z |^q - R^q = 0 @ A supersphere of hyperradius R -spine @ a, A, B, B2, c @ -(x^2 + y^2) + (a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^4), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise @ An approximation to a dendtritic spine -spine_two @ a, A, B, B2, c @ -(x^2 + y^2) + (a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^2), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise @ Another approximation to a dendtritic spine -thylakoid @ wB LB lB @ Various, see "(Paquay)"_#Paquay1 @ A model grana thylakoid consisting of two block-like compartments connected by a bridge of width wB, length LB and taper length lB -torus @ R r @ (R - sqrt( x^2 + y^2 ) )^2 + z^2 - r^2 @ A torus with large radius R and small radius r, centered on (0,0,0) :tb(s=@) - -:link(Paquay1) -[(Paquay)] Paquay and Kusters, Biophys. J., 110, 6, (2016). -preprint available at "arXiv:1411.3019"_http://arxiv.org/abs/1411.3019/. -- GitLab From 6927ed5eb9d6aa8a985428c3a3748ca0e6545035 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 6 Aug 2018 00:01:38 -0400 Subject: [PATCH 403/675] Fix pair body rounded polygon and polyhedron links --- doc/src/Commands_pair.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Commands_pair.txt b/doc/src/Commands_pair.txt index 02b22942ae..eaf2720613 100644 --- a/doc/src/Commands_pair.txt +++ b/doc/src/Commands_pair.txt @@ -36,8 +36,8 @@ OPT. "awpmd/cut"_pair_awpmd.html, "beck (go)"_pair_beck.html, "body/nparticle"_pair_body_nparticle.html, -"body/rounded/polygon"_pair_body_rounded/polygon.html, -"body/rounded/polyhedron"_pair_body_rounded/polyhedron.html, +"body/rounded/polygon"_pair_body_rounded_polygon.html, +"body/rounded/polyhedron"_pair_body_rounded_polyhedron.html, "bop"_pair_bop.html, "born (go)"_pair_born.html, "born/coul/dsf"_pair_born.html, -- GitLab From fba9f0aaae4eb5e41c448e1aba068ccdc9709549 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 6 Aug 2018 00:10:06 -0400 Subject: [PATCH 404/675] Fix various links --- doc/src/Intro_authors.txt | 2 +- doc/src/Intro_features.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Intro_authors.txt b/doc/src/Intro_authors.txt index b48c1eb59a..ce418d0ce1 100644 --- a/doc/src/Intro_authors.txt +++ b/doc/src/Intro_authors.txt @@ -140,7 +140,7 @@ Aug15 : timer command : Axel Kohlmeyer (Temple U) Aug15 : USER-H5MD package : Pierre de Buyl (KU Leuven) Aug15 : COMPRESS package : Axel Kohlmeyer (Temple U) Aug15 : USER-SMD package : Georg Gunzenmueller (EMI) -Jul15 : new HTML format for "doc pages"_doc/Manual.html with search option : Richard Berger (JKU) +Jul15 : new HTML format for "doc pages"_Manual.html with search option : Richard Berger (JKU) Jul15 : rRESPA with pair hybrid : Sam Genheden (U of Southampton) Jul15 : pair_modify special : Axel Kohlmeyer (Temple U) Jul15 : pair polymorphic : Xiaowang Zhou and Reese Jones (Sandia) diff --git a/doc/src/Intro_features.txt b/doc/src/Intro_features.txt index 4b7d1d41e2..2bb7e25683 100644 --- a/doc/src/Intro_features.txt +++ b/doc/src/Intro_features.txt @@ -186,14 +186,14 @@ These are LAMMPS capabilities which you may not think of as typical classical MD options: "static"_balance.html and "dynamic load-balancing"_fix_balance.html -"generalized aspherical particles"_body.html +"generalized aspherical particles"_Howto_body.html "stochastic rotation dynamics (SRD)"_fix_srd.html "real-time visualization and interactive MD"_fix_imd.html calculate "virtual diffraction patterns"_compute_xrd.html "atom-to-continuum coupling"_fix_atc.html with finite elements coupled rigid body integration via the "POEMS"_fix_poems.html library "QM/MM coupling"_fix_qmmm.html -Monte Carlo via "GCMC"_fix_gcmc.html and "tfMC"_fix_tfmc.html and "atom swapping"_fix_swap.html +Monte Carlo via "GCMC"_fix_gcmc.html and "tfMC"_fix_tfmc.html and "atom swapping"_fix_atom_swap.html "path-integral molecular dynamics (PIMD)"_fix_ipi.html and "this as well"_fix_pimd.html "Direct Simulation Monte Carlo"_pair_dsmc.html for low-density fluids "Peridynamics mesoscale modeling"_pair_peri.html -- GitLab From 446a8da8e7a0129875840bde675bbe77b3a22a4b Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Mon, 6 Aug 2018 10:25:12 -0400 Subject: [PATCH 405/675] Commit before merge. --- src/lammps.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lammps.cpp b/src/lammps.cpp index 56af95767b..d25d5473e8 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -249,7 +249,11 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) helpflag = 1; citeflag = 0; iarg += 1; - } else error->universe_all(FLERR,"Invalid command-line argument"); + } else { + char msg[2048]; + sprintf( msg, "Invalid command-line argument \"%s\"\n", arg[iarg] ); + error->universe_all(FLERR,msg); + } } // if no partition command-line switch, universe is one world with all procs -- GitLab From 32917f4caa7d1beb8526d02e9ce2fd247704641e Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Mon, 6 Aug 2018 10:50:06 -0600 Subject: [PATCH 406/675] Workaround for issue 1037 --- lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp index 49b11f3ae0..11aa695f08 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_View.hpp @@ -292,7 +292,8 @@ public: #if ! defined( KOKKOS_ENABLE_CUDA_LDG_INTRINSIC ) if ( 0 == r ) { - Kokkos::abort("Cuda const random access View using Cuda texture memory requires Kokkos to allocate the View's memory"); + //Kokkos::abort("Cuda const random access View using Cuda texture memory requires Kokkos to allocate the View's memory"); + return handle_type(); } #endif -- GitLab From 4d75d2d6115ef9350a57d9a8847b555ca953ba96 Mon Sep 17 00:00:00 2001 From: sergeylishchuk Date: Mon, 6 Aug 2018 20:49:05 +0100 Subject: [PATCH 407/675] more changes to ATM source and doc file --- .github/CODEOWNERS | 2 + cmake/CMakeLists.txt | 155 +- cmake/README.md | 10 + cmake/etc/profile.d/lammps.csh.in | 2 + cmake/etc/profile.d/lammps.sh.in | 2 + doc/Makefile | 2 +- doc/src/Commands.txt | 51 + doc/src/Commands_all.txt | 128 + doc/src/Commands_bond.txt | 124 + doc/src/Commands_category.txt | 141 + doc/src/Commands_compute.txt | 153 + doc/src/Commands_fix.txt | 229 ++ doc/src/Commands_input.txt | 60 + doc/src/Commands_kspace.txt | 36 + doc/src/Commands_pair.txt | 231 ++ doc/src/Commands_parse.txt | 136 + doc/src/Commands_structure.txt | 95 + doc/src/Eqs/pair_spin_dmi_forces.jpg | Bin 0 -> 13431 bytes doc/src/Eqs/pair_spin_dmi_forces.tex | 14 + doc/src/Eqs/pair_spin_dmi_interaction.jpg | Bin 6316 -> 7891 bytes doc/src/Eqs/pair_spin_dmi_interaction.tex | 2 +- doc/src/Eqs/pair_spin_exchange_forces.jpg | Bin 13720 -> 13255 bytes doc/src/Eqs/pair_spin_exchange_forces.tex | 10 +- .../Eqs/pair_spin_exchange_interaction.jpg | Bin 6661 -> 5940 bytes .../Eqs/pair_spin_exchange_interaction.tex | 2 +- doc/src/Errors.txt | 4 +- doc/src/Errors_bugs.txt | 2 +- doc/src/Errors_common.txt | 2 +- doc/src/Errors_messages.txt | 8 +- doc/src/Errors_warnings.txt | 8 +- doc/src/Examples.txt | 10 +- doc/src/Howto.txt | 128 + doc/src/Howto_2d.txt | 48 + doc/src/Howto_barostat.txt | 75 + ...ial_bash_on_windows.txt => Howto_bash.txt} | 3 +- doc/src/Howto_bioFF.txt | 101 + doc/src/{body.txt => Howto_body.txt} | 18 +- doc/src/Howto_chunk.txt | 166 + doc/src/Howto_coreshell.txt | 253 ++ doc/src/Howto_couple.txt | 105 + doc/src/Howto_diffusion.txt | 31 + doc/src/Howto_dispersion.txt | 108 + doc/src/Howto_drude.txt | 77 + .../{tutorial_drude.txt => Howto_drude2.txt} | 2 +- doc/src/Howto_elastic.txt | 47 + .../{tutorial_github.txt => Howto_github.txt} | 12 +- doc/src/Howto_granular.txt | 57 + doc/src/Howto_kappa.txt | 90 + doc/src/Howto_library.txt | 208 ++ doc/src/{manifolds.txt => Howto_manifold.txt} | 4 +- doc/src/Howto_multiple.txt | 95 + doc/src/Howto_nemd.txt | 48 + doc/src/Howto_output.txt | 307 ++ doc/src/Howto_polarizable.txt | 81 + ...torial_pylammps.txt => Howto_pylammps.txt} | 23 +- doc/src/Howto_replica.txt | 61 + doc/src/Howto_restart.txt | 97 + doc/src/Howto_spc.txt | 54 + doc/src/Howto_spherical.txt | 243 ++ doc/src/Howto_spins.txt | 59 + doc/src/Howto_temperature.txt | 40 + doc/src/Howto_thermostat.txt | 89 + doc/src/Howto_tip3p.txt | 69 + doc/src/Howto_tip4p.txt | 112 + doc/src/Howto_triclinic.txt | 213 ++ doc/src/Howto_viscosity.txt | 133 + doc/src/Howto_viz.txt | 40 + doc/src/Howto_walls.txt | 80 + doc/src/Intro.txt | 37 + doc/src/Intro_authors.txt | 379 +++ doc/src/Intro_features.txt | 202 ++ doc/src/Intro_nonfeatures.txt | 83 + doc/src/Intro_opensource.txt | 44 + doc/src/Intro_overview.txt | 58 + doc/src/Intro_website.txt | 42 + doc/src/Manual.txt | 224 +- doc/src/Manual_version.txt | 33 + doc/src/Modify.txt | 2 +- doc/src/Modify_atom.txt | 2 +- doc/src/Modify_body.txt | 9 +- doc/src/Modify_bond.txt | 2 +- doc/src/Modify_command.txt | 2 +- doc/src/Modify_compute.txt | 2 +- doc/src/Modify_contribute.txt | 23 +- doc/src/Modify_dump.txt | 2 +- doc/src/Modify_fix.txt | 2 +- doc/src/Modify_kspace.txt | 2 +- doc/src/Modify_min.txt | 2 +- doc/src/Modify_overview.txt | 2 +- doc/src/Modify_pair.txt | 2 +- doc/src/Modify_region.txt | 2 +- doc/src/Modify_thermo.txt | 2 +- doc/src/Modify_variable.txt | 2 +- doc/src/Packages.txt | 39 + ...tion_packages.txt => Packages_details.txt} | 379 +-- doc/src/Packages_standard.txt | 65 + doc/src/Packages_user.txt | 74 + doc/src/Python.txt | 2 +- doc/src/Python_call.txt | 2 +- doc/src/Python_examples.txt | 2 +- doc/src/Python_install.txt | 2 +- doc/src/Python_library.txt | 16 +- doc/src/Python_mpi.txt | 2 +- doc/src/Python_pylammps.txt | 6 +- doc/src/Python_run.txt | 2 +- doc/src/Python_shlib.txt | 2 +- doc/src/Python_test.txt | 2 +- doc/src/Section_accelerate.txt | 391 --- doc/src/Section_commands.txt | 1293 ------- doc/src/Section_history.txt | 135 - doc/src/Section_howto.txt | 3011 ----------------- doc/src/Section_intro.txt | 550 --- doc/src/Section_start.txt | 164 +- doc/src/Speed.txt | 64 + doc/src/{Section_perf.txt => Speed_bench.txt} | 21 +- doc/src/Speed_compare.txt | 73 + doc/src/{accelerate_gpu.txt => Speed_gpu.txt} | 17 +- .../{accelerate_intel.txt => Speed_intel.txt} | 24 +- ...accelerate_kokkos.txt => Speed_kokkos.txt} | 337 +- doc/src/Speed_measure.txt | 55 + doc/src/{accelerate_omp.txt => Speed_omp.txt} | 15 +- doc/src/{accelerate_opt.txt => Speed_opt.txt} | 13 +- doc/src/Speed_packages.txt | 192 ++ doc/src/Speed_tips.txt | 63 + doc/src/Tools.txt | 14 +- doc/src/angle_charmm.txt | 13 +- doc/src/angle_class2.txt | 13 +- doc/src/angle_coeff.txt | 8 +- doc/src/angle_cosine.txt | 13 +- doc/src/angle_cosine_buck6d.txt | 2 +- doc/src/angle_cosine_delta.txt | 13 +- doc/src/angle_cosine_periodic.txt | 21 +- doc/src/angle_cosine_shift.txt | 13 +- doc/src/angle_cosine_shift_exp.txt | 13 +- doc/src/angle_cosine_squared.txt | 13 +- doc/src/angle_dipole.txt | 13 +- doc/src/angle_fourier.txt | 13 +- doc/src/angle_fourier_simple.txt | 13 +- doc/src/angle_harmonic.txt | 13 +- doc/src/angle_hybrid.txt | 2 +- doc/src/angle_none.txt | 2 +- doc/src/angle_quartic.txt | 13 +- doc/src/angle_sdk.txt | 2 +- doc/src/angle_style.txt | 8 +- doc/src/angle_table.txt | 13 +- doc/src/angle_zero.txt | 2 +- doc/src/atom_modify.txt | 2 +- doc/src/atom_style.txt | 35 +- doc/src/balance.txt | 2 +- doc/src/bond_class2.txt | 13 +- doc/src/bond_coeff.txt | 7 +- doc/src/bond_fene.txt | 13 +- doc/src/bond_fene_expand.txt | 13 +- doc/src/bond_gromos.txt | 13 +- doc/src/bond_harmonic.txt | 13 +- doc/src/bond_harmonic_shift.txt | 13 +- doc/src/bond_harmonic_shift_cut.txt | 13 +- doc/src/bond_hybrid.txt | 2 +- doc/src/bond_morse.txt | 13 +- doc/src/bond_none.txt | 2 +- doc/src/bond_nonlinear.txt | 13 +- doc/src/bond_oxdna.txt | 2 +- doc/src/bond_quartic.txt | 13 +- doc/src/bond_style.txt | 7 +- doc/src/bond_table.txt | 13 +- doc/src/bond_write.txt | 2 +- doc/src/bond_zero.txt | 2 +- doc/src/boundary.txt | 8 +- doc/src/box.txt | 8 +- doc/src/change_box.txt | 20 +- doc/src/clear.txt | 2 +- doc/src/comm_modify.txt | 2 +- doc/src/comm_style.txt | 2 +- doc/src/compute.txt | 30 +- doc/src/compute_ackland_atom.txt | 4 +- doc/src/compute_angle.txt | 6 +- doc/src/compute_angle_local.txt | 6 +- doc/src/compute_angmom_chunk.txt | 13 +- doc/src/compute_basal_atom.txt | 7 +- doc/src/compute_body_local.txt | 17 +- doc/src/compute_bond.txt | 6 +- doc/src/compute_bond_local.txt | 6 +- doc/src/compute_centro_atom.txt | 6 +- doc/src/compute_chunk_atom.txt | 27 +- doc/src/compute_cluster_atom.txt | 4 +- doc/src/compute_cna_atom.txt | 4 +- doc/src/compute_cnp_atom.txt | 4 +- doc/src/compute_com.txt | 7 +- doc/src/compute_com_chunk.txt | 14 +- doc/src/compute_contact_atom.txt | 4 +- doc/src/compute_coord_atom.txt | 7 +- doc/src/compute_damage_atom.txt | 4 +- doc/src/compute_dihedral.txt | 6 +- doc/src/compute_dihedral_local.txt | 6 +- doc/src/compute_dilatation_atom.txt | 7 +- doc/src/compute_dipole_chunk.txt | 13 +- doc/src/compute_displace_atom.txt | 7 +- doc/src/compute_dpd.txt | 8 +- doc/src/compute_dpd_atom.txt | 8 +- doc/src/compute_edpd_temp_atom.txt | 8 +- doc/src/compute_entropy_atom.txt | 6 +- doc/src/compute_erotate_asphere.txt | 4 +- doc/src/compute_erotate_rigid.txt | 8 +- doc/src/compute_erotate_sphere.txt | 4 +- doc/src/compute_erotate_sphere_atom.txt | 4 +- doc/src/compute_event_displace.txt | 4 +- doc/src/compute_fep.txt | 6 +- doc/src/compute_global_atom.txt | 6 +- doc/src/compute_group_group.txt | 6 +- doc/src/compute_gyration.txt | 6 +- doc/src/compute_gyration_chunk.txt | 13 +- doc/src/compute_heat_flux.txt | 12 +- doc/src/compute_hexorder_atom.txt | 9 +- doc/src/compute_improper.txt | 6 +- doc/src/compute_improper_local.txt | 6 +- doc/src/compute_inertia_chunk.txt | 13 +- doc/src/compute_ke.txt | 4 +- doc/src/compute_ke_atom.txt | 4 +- doc/src/compute_ke_atom_eff.txt | 8 +- doc/src/compute_ke_eff.txt | 4 +- doc/src/compute_ke_rigid.txt | 6 +- doc/src/compute_meso_e_atom.txt | 4 +- doc/src/compute_meso_rho_atom.txt | 4 +- doc/src/compute_meso_t_atom.txt | 4 +- doc/src/compute_modify.txt | 2 +- doc/src/compute_msd.txt | 7 +- doc/src/compute_msd_chunk.txt | 11 +- doc/src/compute_msd_nongauss.txt | 7 +- doc/src/compute_omega_chunk.txt | 13 +- doc/src/compute_orientorder_atom.txt | 9 +- doc/src/compute_pair.txt | 7 +- doc/src/compute_pair_local.txt | 6 +- doc/src/compute_pe.txt | 7 +- doc/src/compute_pe_atom.txt | 4 +- doc/src/compute_plasticity_atom.txt | 7 +- doc/src/compute_pressure.txt | 17 +- doc/src/compute_pressure_uef.txt | 2 +- doc/src/compute_property_atom.txt | 16 +- doc/src/compute_property_chunk.txt | 17 +- doc/src/compute_property_local.txt | 14 +- doc/src/compute_rdf.txt | 4 +- doc/src/compute_reduce.txt | 4 +- doc/src/compute_rigid_local.txt | 12 +- doc/src/compute_saed.txt | 9 +- doc/src/compute_slice.txt | 6 +- doc/src/compute_smd_contact_radius.txt | 8 +- doc/src/compute_smd_damage.txt | 10 +- doc/src/compute_smd_hourglass_error.txt | 10 +- doc/src/compute_smd_internal_energy.txt | 6 +- doc/src/compute_smd_plastic_strain.txt | 6 +- doc/src/compute_smd_plastic_strain_rate.txt | 6 +- doc/src/compute_smd_rho.txt | 6 +- doc/src/compute_smd_tlsph_defgrad.txt | 7 +- doc/src/compute_smd_tlsph_dt.txt | 6 +- doc/src/compute_smd_tlsph_num_neighs.txt | 6 +- doc/src/compute_smd_tlsph_shape.txt | 7 +- doc/src/compute_smd_tlsph_strain.txt | 7 +- doc/src/compute_smd_tlsph_strain_rate.txt | 7 +- doc/src/compute_smd_tlsph_stress.txt | 11 +- .../compute_smd_triangle_mesh_vertices.txt | 8 +- doc/src/compute_smd_ulsph_num_neighs.txt | 4 +- doc/src/compute_smd_ulsph_strain.txt | 4 +- doc/src/compute_smd_ulsph_strain_rate.txt | 7 +- doc/src/compute_smd_ulsph_stress.txt | 7 +- doc/src/compute_smd_vol.txt | 6 +- doc/src/compute_sna_atom.txt | 7 +- doc/src/compute_spin.txt | 2 +- doc/src/compute_stress_atom.txt | 7 +- doc/src/compute_tally.txt | 2 +- doc/src/compute_tdpd_cc_atom.txt | 8 +- doc/src/compute_temp.txt | 21 +- doc/src/compute_temp_asphere.txt | 10 +- doc/src/compute_temp_body.txt | 10 +- doc/src/compute_temp_chunk.txt | 18 +- doc/src/compute_temp_com.txt | 10 +- doc/src/compute_temp_cs.txt | 13 +- doc/src/compute_temp_deform.txt | 10 +- doc/src/compute_temp_deform_eff.txt | 6 +- doc/src/compute_temp_drude.txt | 14 +- doc/src/compute_temp_eff.txt | 6 +- doc/src/compute_temp_partial.txt | 21 +- doc/src/compute_temp_profile.txt | 10 +- doc/src/compute_temp_ramp.txt | 10 +- doc/src/compute_temp_region.txt | 10 +- doc/src/compute_temp_region_eff.txt | 6 +- doc/src/compute_temp_rotate.txt | 10 +- doc/src/compute_temp_sphere.txt | 10 +- doc/src/compute_temp_uef.txt | 2 +- doc/src/compute_ti.txt | 7 +- doc/src/compute_torque_chunk.txt | 11 +- doc/src/compute_vacf.txt | 7 +- doc/src/compute_vcm_chunk.txt | 13 +- doc/src/compute_voronoi_atom.txt | 28 +- doc/src/compute_xrd.txt | 4 +- doc/src/create_atoms.txt | 2 +- doc/src/create_bonds.txt | 2 +- doc/src/create_box.txt | 8 +- doc/src/delete_atoms.txt | 2 +- doc/src/delete_bonds.txt | 2 +- doc/src/dielectric.txt | 2 +- doc/src/dihedral_charmm.txt | 13 +- doc/src/dihedral_class2.txt | 13 +- doc/src/dihedral_coeff.txt | 8 +- doc/src/dihedral_cosine_shift_exp.txt | 13 +- doc/src/dihedral_fourier.txt | 13 +- doc/src/dihedral_harmonic.txt | 13 +- doc/src/dihedral_helix.txt | 13 +- doc/src/dihedral_hybrid.txt | 2 +- doc/src/dihedral_multi_harmonic.txt | 13 +- doc/src/dihedral_nharmonic.txt | 13 +- doc/src/dihedral_none.txt | 2 +- doc/src/dihedral_opls.txt | 13 +- doc/src/dihedral_quadratic.txt | 13 +- doc/src/dihedral_spherical.txt | 2 +- doc/src/dihedral_style.txt | 8 +- doc/src/dihedral_table.txt | 13 +- doc/src/dihedral_table_cut.txt | 2 +- doc/src/dihedral_zero.txt | 2 +- doc/src/dimension.txt | 4 +- doc/src/displace_atoms.txt | 2 +- doc/src/dump.txt | 16 +- doc/src/dump_cfg_uef.txt | 2 +- doc/src/dump_h5md.txt | 2 +- doc/src/dump_image.txt | 16 +- doc/src/dump_modify.txt | 2 +- doc/src/dump_molfile.txt | 2 +- doc/src/dump_netcdf.txt | 2 +- doc/src/dump_vtk.txt | 2 +- doc/src/echo.txt | 2 +- doc/src/fix.txt | 24 +- doc/src/fix_adapt.txt | 10 +- doc/src/fix_adapt_fep.txt | 10 +- doc/src/fix_addforce.txt | 28 +- doc/src/fix_addtorque.txt | 12 +- doc/src/fix_append_atoms.txt | 10 +- doc/src/fix_atc.txt | 10 +- doc/src/fix_atom_swap.txt | 6 +- doc/src/fix_ave_atom.txt | 16 +- doc/src/fix_ave_chunk.txt | 35 +- doc/src/fix_ave_correlate.txt | 23 +- doc/src/fix_ave_correlate_long.txt | 2 +- doc/src/fix_ave_histo.txt | 17 +- doc/src/fix_ave_time.txt | 11 +- doc/src/fix_aveforce.txt | 26 +- doc/src/fix_balance.txt | 6 +- doc/src/fix_bocs.txt | 2 +- doc/src/fix_bond_break.txt | 6 +- doc/src/fix_bond_create.txt | 6 +- doc/src/fix_bond_react.txt | 7 +- doc/src/fix_bond_swap.txt | 16 +- doc/src/fix_box_relax.txt | 22 +- doc/src/fix_cmap.txt | 8 +- doc/src/fix_colvars.txt | 8 +- doc/src/fix_controller.txt | 8 +- doc/src/fix_deform.txt | 22 +- doc/src/fix_deposit.txt | 12 +- doc/src/fix_dpd_energy.txt | 13 +- doc/src/fix_dpd_source.txt | 10 +- doc/src/fix_drag.txt | 8 +- doc/src/fix_drude.txt | 10 +- doc/src/fix_drude_transform.txt | 6 +- doc/src/fix_dt_reset.txt | 6 +- doc/src/fix_efield.txt | 11 +- doc/src/fix_ehex.txt | 2 +- doc/src/fix_enforce2d.txt | 19 +- doc/src/fix_eos_cv.txt | 2 +- doc/src/fix_eos_table.txt | 2 +- doc/src/fix_eos_table_rx.txt | 13 +- doc/src/fix_evaporate.txt | 8 +- doc/src/fix_external.txt | 15 +- doc/src/fix_filter_corotate.txt | 9 +- doc/src/fix_flow_gauss.txt | 12 +- doc/src/fix_freeze.txt | 26 +- doc/src/fix_gcmc.txt | 6 +- doc/src/fix_gld.txt | 4 +- doc/src/fix_gle.txt | 8 +- doc/src/fix_gravity.txt | 23 +- doc/src/fix_grem.txt | 2 +- doc/src/fix_halt.txt | 10 +- doc/src/fix_heat.txt | 13 +- doc/src/fix_imd.txt | 8 +- doc/src/fix_indent.txt | 6 +- doc/src/fix_ipi.txt | 2 +- doc/src/fix_langevin.txt | 23 +- doc/src/fix_langevin_drude.txt | 11 +- doc/src/fix_langevin_eff.txt | 10 +- doc/src/fix_langevin_spin.txt | 2 +- doc/src/fix_latte.txt | 8 +- doc/src/fix_lb_fluid.txt | 8 +- doc/src/fix_lb_momentum.txt | 10 +- doc/src/fix_lb_pc.txt | 10 +- doc/src/fix_lb_rigid_pc_sphere.txt | 36 +- doc/src/fix_lb_viscous.txt | 8 +- doc/src/fix_lineforce.txt | 8 +- doc/src/fix_manifoldforce.txt | 10 +- doc/src/fix_meso.txt | 10 +- doc/src/fix_meso_stationary.txt | 10 +- doc/src/fix_modify.txt | 2 +- doc/src/fix_momentum.txt | 21 +- doc/src/fix_move.txt | 9 +- doc/src/fix_mscg.txt | 2 +- doc/src/fix_msst.txt | 6 +- doc/src/fix_mvv_dpd.txt | 10 +- doc/src/fix_neb.txt | 14 +- doc/src/fix_nh.txt | 26 +- doc/src/fix_nh_eff.txt | 2 +- doc/src/fix_nh_uef.txt | 2 +- doc/src/fix_nph_asphere.txt | 13 +- doc/src/fix_nph_body.txt | 13 +- doc/src/fix_nph_sphere.txt | 13 +- doc/src/fix_nphug.txt | 19 +- doc/src/fix_npt_asphere.txt | 13 +- doc/src/fix_npt_body.txt | 13 +- doc/src/fix_npt_sphere.txt | 13 +- doc/src/fix_nve.txt | 21 +- doc/src/fix_nve_asphere.txt | 21 +- doc/src/fix_nve_asphere_noforce.txt | 10 +- doc/src/fix_nve_body.txt | 16 +- doc/src/fix_nve_dot.txt | 2 +- doc/src/fix_nve_dotc_langevin.txt | 2 +- doc/src/fix_nve_eff.txt | 10 +- doc/src/fix_nve_limit.txt | 18 +- doc/src/fix_nve_line.txt | 16 +- doc/src/fix_nve_manifold_rattle.txt | 12 +- doc/src/fix_nve_noforce.txt | 10 +- doc/src/fix_nve_sphere.txt | 21 +- doc/src/fix_nve_spin.txt | 2 +- doc/src/fix_nve_tri.txt | 18 +- doc/src/fix_nvk.txt | 10 +- doc/src/fix_nvt_asphere.txt | 13 +- doc/src/fix_nvt_body.txt | 13 +- doc/src/fix_nvt_manifold_rattle.txt | 20 +- doc/src/fix_nvt_sllod.txt | 13 +- doc/src/fix_nvt_sllod_eff.txt | 2 +- doc/src/fix_nvt_sphere.txt | 13 +- doc/src/fix_oneway.txt | 10 +- doc/src/fix_orient.txt | 14 +- doc/src/fix_phonon.txt | 4 +- doc/src/fix_pimd.txt | 17 +- doc/src/fix_planeforce.txt | 8 +- doc/src/fix_poems.txt | 8 +- doc/src/fix_pour.txt | 8 +- doc/src/fix_precession_spin.txt | 6 +- doc/src/fix_press_berendsen.txt | 9 +- doc/src/fix_print.txt | 10 +- doc/src/fix_property_atom.txt | 29 +- doc/src/fix_python_invoke.txt | 2 +- doc/src/fix_python_move.txt | 10 +- doc/src/fix_qbmsst.txt | 10 +- doc/src/fix_qeq.txt | 7 +- doc/src/fix_qeq_comb.txt | 19 +- doc/src/fix_qeq_reax.txt | 17 +- doc/src/fix_qmmm.txt | 8 +- doc/src/fix_qtb.txt | 2 +- doc/src/fix_reax_bonds.txt | 14 +- doc/src/fix_reaxc_species.txt | 10 +- doc/src/fix_recenter.txt | 12 +- doc/src/fix_restrain.txt | 6 +- doc/src/fix_rhok.txt | 2 +- doc/src/fix_rigid.txt | 49 +- doc/src/fix_rx.txt | 13 +- doc/src/fix_saed_vtk.txt | 2 +- doc/src/fix_setforce.txt | 26 +- doc/src/fix_shake.txt | 25 +- doc/src/fix_shardlow.txt | 13 +- doc/src/fix_smd.txt | 14 +- doc/src/fix_smd_adjust_dt.txt | 2 +- doc/src/fix_smd_integrate_tlsph.txt | 2 +- doc/src/fix_smd_integrate_ulsph.txt | 2 +- doc/src/fix_smd_move_triangulated_surface.txt | 2 +- doc/src/fix_smd_setvel.txt | 8 +- doc/src/fix_smd_wall_surface.txt | 2 +- doc/src/fix_spring.txt | 24 +- doc/src/fix_spring_chunk.txt | 6 +- doc/src/fix_spring_rg.txt | 10 +- doc/src/fix_spring_self.txt | 10 +- doc/src/fix_srd.txt | 12 +- doc/src/fix_store_force.txt | 10 +- doc/src/fix_store_state.txt | 10 +- doc/src/fix_surface_global.txt | 2 +- doc/src/fix_temp_berendsen.txt | 12 +- doc/src/fix_temp_csvr.txt | 12 +- doc/src/fix_temp_rescale.txt | 12 +- doc/src/fix_temp_rescale_eff.txt | 8 +- doc/src/fix_tfmc.txt | 2 +- doc/src/fix_thermal_conductivity.txt | 8 +- doc/src/fix_ti_spring.txt | 15 +- doc/src/fix_tmd.txt | 5 +- doc/src/fix_ttm.txt | 25 +- doc/src/fix_tune_kspace.txt | 2 +- doc/src/fix_vector.txt | 9 +- doc/src/fix_viscosity.txt | 29 +- doc/src/fix_viscous.txt | 8 +- doc/src/fix_wall.txt | 29 +- doc/src/fix_wall_body_polygon.txt | 12 +- doc/src/fix_wall_body_polyhedron.txt | 12 +- doc/src/fix_wall_ees.txt | 2 +- doc/src/fix_wall_gran.txt | 8 +- doc/src/fix_wall_gran_region.txt | 8 +- doc/src/fix_wall_piston.txt | 10 +- doc/src/fix_wall_reflect.txt | 21 +- doc/src/fix_wall_region.txt | 13 +- doc/src/fix_wall_srd.txt | 8 +- doc/src/fixes.txt | 2 + doc/src/group.txt | 2 +- doc/src/group2ndx.txt | 2 +- doc/src/if.txt | 8 +- doc/src/improper_class2.txt | 13 +- doc/src/improper_coeff.txt | 8 +- doc/src/improper_cossq.txt | 13 +- doc/src/improper_cvff.txt | 13 +- doc/src/improper_distance.txt | 2 +- doc/src/improper_fourier.txt | 13 +- doc/src/improper_harmonic.txt | 13 +- doc/src/improper_hybrid.txt | 2 +- doc/src/improper_inversion_harmonic.txt | 2 +- doc/src/improper_none.txt | 2 +- doc/src/improper_ring.txt | 13 +- doc/src/improper_style.txt | 8 +- doc/src/improper_umbrella.txt | 15 +- doc/src/improper_zero.txt | 2 +- doc/src/include.txt | 2 +- doc/src/info.txt | 2 +- doc/src/jump.txt | 2 +- doc/src/kspace_modify.txt | 20 +- doc/src/kspace_style.txt | 32 +- doc/src/label.txt | 2 +- doc/src/lammps.book | 92 +- doc/src/lammps_support.txt | 7 - doc/src/lammps_tutorials.txt | 6 - doc/src/lattice.txt | 2 +- doc/src/log.txt | 2 +- doc/src/mass.txt | 2 +- doc/src/min_modify.txt | 2 +- doc/src/min_style.txt | 2 +- doc/src/minimize.txt | 2 +- doc/src/molecule.txt | 7 +- doc/src/neb.txt | 7 +- doc/src/neigh_modify.txt | 2 +- doc/src/neighbor.txt | 2 +- doc/src/newton.txt | 2 +- doc/src/next.txt | 2 +- doc/src/package.txt | 8 +- doc/src/pair_adp.txt | 13 +- doc/src/pair_agni.txt | 16 +- doc/src/pair_airebo.txt | 13 +- doc/src/pair_atm.txt | 5 +- doc/src/pair_awpmd.txt | 2 +- doc/src/pair_beck.txt | 13 +- doc/src/pair_body_nparticle.txt | 13 +- doc/src/pair_body_rounded_polygon.txt | 7 +- doc/src/pair_body_rounded_polyhedron.txt | 7 +- doc/src/pair_bop.txt | 2 +- doc/src/pair_born.txt | 21 +- doc/src/pair_brownian.txt | 6 +- doc/src/pair_buck.txt | 18 +- doc/src/pair_buck6d_coul_gauss.txt | 2 +- doc/src/pair_buck_long.txt | 13 +- doc/src/pair_charmm.txt | 13 +- doc/src/pair_class2.txt | 13 +- doc/src/pair_coeff.txt | 19 +- doc/src/pair_colloid.txt | 13 +- doc/src/pair_comb.txt | 13 +- doc/src/pair_coul.txt | 39 +- doc/src/pair_coul_diel.txt | 2 +- doc/src/pair_coul_shield.txt | 2 +- doc/src/pair_cs.txt | 6 +- doc/src/pair_dipole.txt | 13 +- doc/src/pair_dpd.txt | 13 +- doc/src/pair_dpd_fdt.txt | 13 +- doc/src/pair_dsmc.txt | 2 +- doc/src/pair_eam.txt | 20 +- doc/src/pair_edip.txt | 13 +- doc/src/pair_eff.txt | 2 +- doc/src/pair_eim.txt | 13 +- doc/src/pair_exp6_rx.txt | 13 +- doc/src/pair_extep.txt | 2 +- doc/src/pair_gauss.txt | 13 +- doc/src/pair_gayberne.txt | 13 +- doc/src/pair_gran.txt | 13 +- doc/src/pair_gromacs.txt | 13 +- doc/src/pair_gw.txt | 2 +- doc/src/pair_hbond_dreiding.txt | 21 +- doc/src/pair_hybrid.txt | 10 +- doc/src/pair_ilp_graphene_hbn.txt | 2 +- doc/src/pair_kim.txt | 6 +- doc/src/pair_kolmogorov_crespi_full.txt | 2 +- doc/src/pair_kolmogorov_crespi_z.txt | 2 +- doc/src/pair_lcbop.txt | 2 +- doc/src/pair_line_lj.txt | 2 +- doc/src/pair_list.txt | 2 +- doc/src/pair_lj.txt | 39 +- doc/src/pair_lj96.txt | 13 +- doc/src/pair_lj_cubic.txt | 13 +- doc/src/pair_lj_expand.txt | 13 +- doc/src/pair_lj_long.txt | 15 +- doc/src/pair_lj_smooth.txt | 13 +- doc/src/pair_lj_smooth_linear.txt | 13 +- doc/src/pair_lj_soft.txt | 13 +- doc/src/pair_lubricate.txt | 6 +- doc/src/pair_lubricateU.txt | 2 +- doc/src/pair_mdf.txt | 2 +- doc/src/pair_meam.txt | 2 +- doc/src/pair_meam_spline.txt | 13 +- doc/src/pair_meam_sw_spline.txt | 2 +- doc/src/pair_meso.txt | 2 +- doc/src/pair_mgpt.txt | 2 +- doc/src/pair_mie.txt | 2 +- doc/src/pair_modify.txt | 2 +- doc/src/pair_momb.txt | 2 +- doc/src/pair_morse.txt | 13 +- doc/src/pair_multi_lucy.txt | 2 +- doc/src/pair_multi_lucy_rx.txt | 13 +- doc/src/pair_nb3b_harmonic.txt | 13 +- doc/src/pair_nm.txt | 13 +- doc/src/pair_none.txt | 2 +- doc/src/pair_oxdna.txt | 2 +- doc/src/pair_oxdna2.txt | 2 +- doc/src/pair_peri.txt | 13 +- doc/src/pair_polymorphic.txt | 2 +- doc/src/pair_python.txt | 2 +- doc/src/pair_quip.txt | 2 +- doc/src/pair_reax.txt | 2 +- doc/src/pair_reaxc.txt | 23 +- doc/src/pair_resquared.txt | 13 +- doc/src/pair_sdk.txt | 13 +- doc/src/pair_smd_hertz.txt | 2 +- doc/src/pair_smd_tlsph.txt | 2 +- doc/src/pair_smd_triangulated_surface.txt | 2 +- doc/src/pair_smd_ulsph.txt | 2 +- doc/src/pair_smtbq.txt | 2 +- doc/src/pair_snap.txt | 13 +- doc/src/pair_soft.txt | 13 +- doc/src/pair_sph_heatconduction.txt | 2 +- doc/src/pair_sph_idealgas.txt | 2 +- doc/src/pair_sph_lj.txt | 2 +- doc/src/pair_sph_rhosum.txt | 2 +- doc/src/pair_sph_taitwater.txt | 2 +- doc/src/pair_sph_taitwater_morris.txt | 2 +- doc/src/pair_spin_dmi.txt | 43 +- doc/src/pair_spin_exchange.txt | 30 +- doc/src/pair_spin_magelec.txt | 2 +- doc/src/pair_spin_neel.txt | 2 +- doc/src/pair_srp.txt | 2 +- doc/src/pair_style.txt | 20 +- doc/src/pair_sw.txt | 13 +- doc/src/pair_table.txt | 13 +- doc/src/pair_table_rx.txt | 13 +- doc/src/pair_tersoff.txt | 13 +- doc/src/pair_tersoff_mod.txt | 13 +- doc/src/pair_tersoff_zbl.txt | 13 +- doc/src/pair_thole.txt | 17 +- doc/src/pair_tri_lj.txt | 2 +- doc/src/pair_ufm.txt | 13 +- doc/src/pair_vashishta.txt | 13 +- doc/src/pair_write.txt | 2 +- doc/src/pair_yukawa.txt | 13 +- doc/src/pair_yukawa_colloid.txt | 13 +- doc/src/pair_zbl.txt | 13 +- doc/src/pair_zero.txt | 2 +- doc/src/pairs.txt | 3 +- doc/src/partition.txt | 2 +- doc/src/prd.txt | 6 +- doc/src/print.txt | 2 +- doc/src/processors.txt | 2 +- doc/src/python.txt | 8 +- doc/src/quit.txt | 2 +- doc/src/read_data.txt | 14 +- doc/src/read_dump.txt | 2 +- doc/src/read_restart.txt | 2 +- doc/src/region.txt | 24 +- doc/src/replicate.txt | 2 +- doc/src/rerun.txt | 2 +- doc/src/reset_ids.txt | 2 +- doc/src/reset_timestep.txt | 2 +- doc/src/restart.txt | 2 +- doc/src/run.txt | 8 +- doc/src/run_style.txt | 32 +- doc/src/set.txt | 2 +- doc/src/shell.txt | 2 +- doc/src/special_bonds.txt | 2 +- doc/src/suffix.txt | 2 +- doc/src/tad.txt | 7 +- doc/src/temper.txt | 17 +- doc/src/temper_grem.txt | 2 +- doc/src/temper_npt.txt | 2 +- doc/src/thermo.txt | 2 +- doc/src/thermo_modify.txt | 2 +- doc/src/thermo_style.txt | 12 +- doc/src/timer.txt | 2 +- doc/src/timestep.txt | 2 +- doc/src/tutorials.txt | 15 - doc/src/uncompute.txt | 2 +- doc/src/undump.txt | 2 +- doc/src/unfix.txt | 2 +- doc/src/units.txt | 2 +- doc/src/variable.txt | 42 +- doc/src/velocity.txt | 19 +- doc/src/write_coeff.txt | 2 +- doc/src/write_data.txt | 2 +- doc/src/write_dump.txt | 2 +- doc/src/write_restart.txt | 2 +- doc/utils/converters/lammpsdoc/txt2html.py | 12 +- doc/utils/converters/lammpsdoc/txt2rst.py | 2 + doc/utils/requirements.txt | 1 + examples/DIFFUSE/README | 4 +- examples/DIFFUSE/log.13Oct16.msd.2d.g++.8 | 245 -- examples/DIFFUSE/log.3Aug18.msd.2d.g++.8 | 251 ++ ...vacf.2d.g++.8 => log.3Aug18.vacf.2d.g++.8} | 54 +- examples/SPIN/bfo/in.spin.bfo | 11 +- examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp | 10 +- examples/USER/diffraction/BulkNi.in | 2 +- src/BODY/fix_wall_body_polygon.cpp | 5 +- src/BODY/pair_body_rounded_polyhedron.cpp | 7 +- src/KOKKOS/fix_nh_kokkos.cpp | 2 +- src/MANYBODY/pair_atm.cpp | 18 +- src/MANYBODY/pair_atm.h | 4 +- src/MANYBODY/pair_eam_cd.cpp | 677 ++++ .../pair_cdeam.h => MANYBODY/pair_eam_cd.h} | 22 +- src/Purge.list | 3 + src/SPIN/atom_vec_spin.cpp | 6 +- src/SPIN/compute_spin.cpp | 20 +- src/SPIN/pair_spin_dmi.cpp | 116 +- src/SPIN/pair_spin_dmi.h | 15 +- src/SPIN/pair_spin_exchange.cpp | 52 +- src/SPIN/pair_spin_magelec.cpp | 88 +- src/SPIN/pair_spin_neel.cpp | 12 +- src/SPIN/pair_spin_neel.h | 4 +- src/USER-BOCS/fix_bocs.cpp | 41 +- src/USER-MISC/Install.sh | 40 - src/USER-MISC/README | 1 - src/USER-MISC/pair_cdeam.cpp | 644 ---- src/fix_nh.cpp | 36 +- src/variable.cpp | 189 +- src/version.h | 2 +- tools/emacs/README.md | 82 + tools/emacs/README.txt | 23 - tools/emacs/{lammps.el => lammps-mode.el} | 59 +- 738 files changed, 11127 insertions(+), 10210 deletions(-) create mode 100644 cmake/etc/profile.d/lammps.csh.in create mode 100644 cmake/etc/profile.d/lammps.sh.in create mode 100644 doc/src/Commands.txt create mode 100644 doc/src/Commands_all.txt create mode 100644 doc/src/Commands_bond.txt create mode 100644 doc/src/Commands_category.txt create mode 100644 doc/src/Commands_compute.txt create mode 100644 doc/src/Commands_fix.txt create mode 100644 doc/src/Commands_input.txt create mode 100644 doc/src/Commands_kspace.txt create mode 100644 doc/src/Commands_pair.txt create mode 100644 doc/src/Commands_parse.txt create mode 100644 doc/src/Commands_structure.txt create mode 100644 doc/src/Eqs/pair_spin_dmi_forces.jpg create mode 100644 doc/src/Eqs/pair_spin_dmi_forces.tex create mode 100644 doc/src/Howto.txt create mode 100644 doc/src/Howto_2d.txt create mode 100644 doc/src/Howto_barostat.txt rename doc/src/{tutorial_bash_on_windows.txt => Howto_bash.txt} (99%) mode change 100644 => 100755 create mode 100644 doc/src/Howto_bioFF.txt rename doc/src/{body.txt => Howto_body.txt} (96%) create mode 100644 doc/src/Howto_chunk.txt create mode 100644 doc/src/Howto_coreshell.txt create mode 100644 doc/src/Howto_couple.txt create mode 100644 doc/src/Howto_diffusion.txt create mode 100644 doc/src/Howto_dispersion.txt create mode 100644 doc/src/Howto_drude.txt rename doc/src/{tutorial_drude.txt => Howto_drude2.txt} (99%) create mode 100644 doc/src/Howto_elastic.txt rename doc/src/{tutorial_github.txt => Howto_github.txt} (98%) create mode 100644 doc/src/Howto_granular.txt create mode 100644 doc/src/Howto_kappa.txt create mode 100644 doc/src/Howto_library.txt rename doc/src/{manifolds.txt => Howto_manifold.txt} (97%) create mode 100644 doc/src/Howto_multiple.txt create mode 100644 doc/src/Howto_nemd.txt create mode 100644 doc/src/Howto_output.txt create mode 100644 doc/src/Howto_polarizable.txt rename doc/src/{tutorial_pylammps.txt => Howto_pylammps.txt} (95%) create mode 100644 doc/src/Howto_replica.txt create mode 100644 doc/src/Howto_restart.txt create mode 100644 doc/src/Howto_spc.txt create mode 100644 doc/src/Howto_spherical.txt create mode 100644 doc/src/Howto_spins.txt create mode 100644 doc/src/Howto_temperature.txt create mode 100644 doc/src/Howto_thermostat.txt create mode 100644 doc/src/Howto_tip3p.txt create mode 100644 doc/src/Howto_tip4p.txt create mode 100644 doc/src/Howto_triclinic.txt create mode 100644 doc/src/Howto_viscosity.txt create mode 100644 doc/src/Howto_viz.txt create mode 100644 doc/src/Howto_walls.txt create mode 100644 doc/src/Intro.txt create mode 100644 doc/src/Intro_authors.txt create mode 100644 doc/src/Intro_features.txt create mode 100644 doc/src/Intro_nonfeatures.txt create mode 100644 doc/src/Intro_opensource.txt create mode 100644 doc/src/Intro_overview.txt create mode 100644 doc/src/Intro_website.txt create mode 100644 doc/src/Manual_version.txt create mode 100644 doc/src/Packages.txt rename doc/src/{Section_packages.txt => Packages_details.txt} (85%) create mode 100644 doc/src/Packages_standard.txt create mode 100644 doc/src/Packages_user.txt delete mode 100644 doc/src/Section_accelerate.txt delete mode 100644 doc/src/Section_commands.txt delete mode 100644 doc/src/Section_history.txt delete mode 100644 doc/src/Section_howto.txt delete mode 100644 doc/src/Section_intro.txt create mode 100644 doc/src/Speed.txt rename doc/src/{Section_perf.txt => Speed_bench.txt} (86%) create mode 100644 doc/src/Speed_compare.txt rename doc/src/{accelerate_gpu.txt => Speed_gpu.txt} (96%) rename doc/src/{accelerate_intel.txt => Speed_intel.txt} (97%) rename doc/src/{accelerate_kokkos.txt => Speed_kokkos.txt} (59%) create mode 100644 doc/src/Speed_measure.txt rename doc/src/{accelerate_omp.txt => Speed_omp.txt} (95%) rename doc/src/{accelerate_opt.txt => Speed_opt.txt} (85%) create mode 100644 doc/src/Speed_packages.txt create mode 100644 doc/src/Speed_tips.txt delete mode 100644 doc/src/lammps_support.txt delete mode 100644 doc/src/lammps_tutorials.txt delete mode 100644 doc/src/tutorials.txt create mode 100644 doc/utils/requirements.txt delete mode 100644 examples/DIFFUSE/log.13Oct16.msd.2d.g++.8 create mode 100644 examples/DIFFUSE/log.3Aug18.msd.2d.g++.8 rename examples/DIFFUSE/{log.13Oct16.vacf.2d.g++.8 => log.3Aug18.vacf.2d.g++.8} (84%) create mode 100644 src/MANYBODY/pair_eam_cd.cpp rename src/{USER-MISC/pair_cdeam.h => MANYBODY/pair_eam_cd.h} (93%) delete mode 100755 src/USER-MISC/Install.sh delete mode 100644 src/USER-MISC/pair_cdeam.cpp create mode 100644 tools/emacs/README.md delete mode 100644 tools/emacs/README.txt rename tools/emacs/{lammps.el => lammps-mode.el} (73%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 75b79443c3..b91e58a83f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -17,6 +17,7 @@ src/GPU/* @ndtrung81 src/KOKKOS/* @stanmoore1 src/KIM/* @ellio167 src/LATTE/* @cnegre +src/SPIN/* @julient31 src/USER-CGDNA/* @ohenrich src/USER-CGSDK/* @akohlmey src/USER-COLVARS/* @giacomofiorin @@ -44,6 +45,7 @@ src/USER-MISC/*_grem.* @dstelter92 # tools tools/msi2lmp/* @akohlmey +tools/emacs/* @HaoZeke # cmake cmake/* @junghans @rbberger diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 60a0f5d48f..f4d3cac5d2 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -9,6 +9,7 @@ set(SOVERSION 0) get_filename_component(LAMMPS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../src ABSOLUTE) get_filename_component(LAMMPS_LIB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../lib ABSOLUTE) get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE) +get_filename_component(LAMMPS_DOC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../doc ABSOLUTE) # To avoid conflicts with the conventional Makefile build system, we build everything here @@ -137,8 +138,11 @@ set_property(CACHE LAMMPS_SIZE_LIMIT PROPERTY STRINGS LAMMPS_SMALLBIG LAMMPS_BIG add_definitions(-D${LAMMPS_SIZE_LIMIT}) set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -D${LAMMPS_SIZE_LIMIT}") -set(LAMMPS_MEMALIGN "64" CACHE STRING "enables the use of the posix_memalign() call instead of malloc() when large chunks or memory are allocated by LAMMPS") -add_definitions(-DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN}) +# posix_memalign is not available on Windows +if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + set(LAMMPS_MEMALIGN "64" CACHE STRING "enables the use of the posix_memalign() call instead of malloc() when large chunks or memory are allocated by LAMMPS") + add_definitions(-DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN}) +endif() option(LAMMPS_EXCEPTIONS "enable the use of C++ exceptions for error messages (useful for library interface)" OFF) if(LAMMPS_EXCEPTIONS) @@ -153,14 +157,15 @@ if(ENABLE_TESTING) enable_testing() endif(ENABLE_TESTING) -set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR - KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ REAX REPLICA RIGID SHOCK SPIN SNAP +set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR + KSPACE MANYBODY MC MEAM MISC MOLECULE PERI REAX REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM) set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU) +set(OTHER_PACKAGES CORESHELL QEQ) foreach(PKG ${DEFAULT_PACKAGES}) option(PKG_${PKG} "Build ${PKG} Package" OFF) endforeach() @@ -174,13 +179,12 @@ macro(pkg_depends PKG1 PKG2) endif() endmacro() +# "hard" dependencies between packages resulting +# in an error instead of skipping over files pkg_depends(MPIIO MPI) -pkg_depends(QEQ MANYBODY) pkg_depends(USER-ATC MANYBODY) pkg_depends(USER-LB MPI) -pkg_depends(USER-MISC MANYBODY) pkg_depends(USER-PHONON KSPACE) -pkg_depends(CORESHELL KSPACE) ###################################################### # packages with special compiler needs or external libs @@ -466,6 +470,11 @@ if(PKG_COMPRESS) list(APPEND LAMMPS_LINK_LIBS ${ZLIB_LIBRARIES}) endif() +# the windows version of LAMMPS requires a couple extra libraries +if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + list(APPEND LAMMPS_LINK_LIBS -lwsock32 -lpsapi) +endif() + ######################################################################## # Basic system tests (standard libraries, headers, functions, types) # ######################################################################## @@ -574,6 +583,41 @@ endif() # packages which selectively include variants based on enabled styles # e.g. accelerator packages ###################################################################### +if(PKG_CORESHELL) + set(CORESHELL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/CORESHELL) + set(CORESHELL_SOURCES) + set_property(GLOBAL PROPERTY "CORESHELL_SOURCES" "${CORESHELL_SOURCES}") + + # detects styles which have a CORESHELL version + RegisterStylesExt(${CORESHELL_SOURCES_DIR} cs CORESHELL_SOURCES) + + get_property(CORESHELL_SOURCES GLOBAL PROPERTY CORESHELL_SOURCES) + + list(APPEND LIB_SOURCES ${CORESHELL_SOURCES}) + include_directories(${CORESHELL_SOURCES_DIR}) +endif() + +# Fix qeq/fire requires MANYBODY (i.e. COMB and COMB3) to be installed +if(PKG_QEQ) + set(QEQ_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/QEQ) + file(GLOB QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix*.h) + file(GLOB QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix*.cpp) + + if(NOT PKG_MANYBODY) + list(REMOVE_ITEM QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix_qeq_fire.h) + list(REMOVE_ITEM QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix_qeq_fire.cpp) + endif() + set_property(GLOBAL PROPERTY "QEQ_SOURCES" "${QEQ_SOURCES}") + + foreach(MY_HEADER ${QEQ_HEADERS}) + AddStyleHeader(${MY_HEADER} FIX) + endforeach() + + get_property(QEQ_SOURCES GLOBAL PROPERTY QEQ_SOURCES) + list(APPEND LIB_SOURCES ${QEQ_SOURCES}) + include_directories(${QEQ_SOURCES_DIR}) +endif() + if(PKG_USER-OMP) set(USER-OMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-OMP) set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp @@ -585,8 +629,31 @@ if(PKG_USER-OMP) # detects styles which have USER-OMP version RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES) + get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES) + # manually add package dependent source files from USER-OMP that do not provide styles + + if(PKG_ASPHERE) + list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_nh_asphere_omp.cpp) + endif() + + if(PKG_RIGID) + list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp) + endif() + + if(PKG_USER-REAXC) + list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_bonds_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_init_md_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_forces_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp) + endif() + list(APPEND LIB_SOURCES ${USER-OMP_SOURCES}) include_directories(${USER-OMP_SOURCES_DIR}) endif() @@ -900,6 +967,80 @@ if(BUILD_EXE) endif() endif() +############################################################################### +# Build documentation +############################################################################### +option(BUILD_DOC "Build LAMMPS documentation" OFF) +if(BUILD_DOC) + include(ProcessorCount) + ProcessorCount(NPROCS) + find_package(PythonInterp 3 REQUIRED) + + set(VIRTUALENV ${PYTHON_EXECUTABLE} -m virtualenv) + + file(GLOB DOC_SOURCES ${LAMMPS_DOC_DIR}/src/*.txt) + file(GLOB PDF_EXTRA_SOURCES ${LAMMPS_DOC_DIR}/src/lammps_commands*.txt ${LAMMPS_DOC_DIR}/src/lammps_support.txt ${LAMMPS_DOC_DIR}/src/lammps_tutorials.txt) + list(REMOVE_ITEM DOC_SOURCES ${PDF_EXTRA_SOURCES}) + + add_custom_command( + OUTPUT docenv + COMMAND ${VIRTUALENV} docenv + ) + + set(DOCENV_BINARY_DIR ${CMAKE_BINARY_DIR}/docenv/bin) + + add_custom_command( + OUTPUT requirements.txt + DEPENDS docenv + COMMAND ${CMAKE_COMMAND} -E copy ${LAMMPS_DOC_DIR}/utils/requirements.txt requirements.txt + COMMAND ${DOCENV_BINARY_DIR}/pip install -r requirements.txt --upgrade + COMMAND ${DOCENV_BINARY_DIR}/pip install --upgrade ${LAMMPS_DOC_DIR}/utils/converters + ) + + set(RST_FILES "") + set(RST_DIR ${CMAKE_BINARY_DIR}/rst) + file(MAKE_DIRECTORY ${RST_DIR}) + foreach(TXT_FILE ${DOC_SOURCES}) + get_filename_component(FILENAME ${TXT_FILE} NAME_WE) + set(RST_FILE ${RST_DIR}/${FILENAME}.rst) + list(APPEND RST_FILES ${RST_FILE}) + add_custom_command( + OUTPUT ${RST_FILE} + DEPENDS requirements.txt docenv ${TXT_FILE} + COMMAND ${DOCENV_BINARY_DIR}/txt2rst -o ${RST_DIR} ${TXT_FILE} + ) + endforeach() + + add_custom_command( + OUTPUT html + DEPENDS ${RST_FILES} + COMMAND ${CMAKE_COMMAND} -E copy_directory ${LAMMPS_DOC_DIR}/src ${RST_DIR} + COMMAND ${DOCENV_BINARY_DIR}/sphinx-build -j ${NPROCS} -b html -c ${LAMMPS_DOC_DIR}/utils/sphinx-config -d ${CMAKE_BINARY_DIR}/doctrees ${RST_DIR} html + ) + + add_custom_target( + doc ALL + DEPENDS html + SOURCES ${LAMMPS_DOC_DIR}/utils/requirements.txt ${DOC_SOURCES} + ) + + install(DIRECTORY ${CMAKE_BINARY_DIR}/html DESTINATION ${CMAKE_INSTALL_DOCDIR}) +endif() + +############################################################################### +# Install potential files in data directory +############################################################################### +set(LAMMPS_POTENTIALS_DIR ${CMAKE_INSTALL_FULL_DATADIR}/lammps/potentials) +install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../potentials DESTINATION ${CMAKE_INSTALL_DATADIR}/lammps/potentials) + +configure_file(etc/profile.d/lammps.sh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.sh @ONLY) +configure_file(etc/profile.d/lammps.csh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.csh @ONLY) +install( + FILES ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.sh + ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.csh + DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/profile.d +) + ############################################################################### # Testing # diff --git a/cmake/README.md b/cmake/README.md index bafd440a64..b6644ffda9 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -275,6 +275,16 @@ cmake -C ../cmake/presets/std_nolib.cmake ../cmake -DPKG_GPU=on

      S^%Ht=jPtto}Ztx+Bp3j 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⁣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 z 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 +3F(^z_+OM^4{^JK1gc^L-m`1Vc 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

      + + BUILD_DOC + control whether to build LAMMPS documentation + +
      +
      off (default)
      +
      on
      +
      + + LAMMPS_LONGLONG_TO_LONG Workaround if your system or MPI version does not recognize long long data types diff --git a/cmake/etc/profile.d/lammps.csh.in b/cmake/etc/profile.d/lammps.csh.in new file mode 100644 index 0000000000..def49bf75c --- /dev/null +++ b/cmake/etc/profile.d/lammps.csh.in @@ -0,0 +1,2 @@ +# set environment for LAMMPS executables to find potential files +if ( "$?LAMMPS_POTENTIALS" == 0 ) setenv LAMMPS_POTENTIALS @LAMMPS_POTENTIALS_DIR@ diff --git a/cmake/etc/profile.d/lammps.sh.in b/cmake/etc/profile.d/lammps.sh.in new file mode 100644 index 0000000000..acd75fa0cf --- /dev/null +++ b/cmake/etc/profile.d/lammps.sh.in @@ -0,0 +1,2 @@ +# set environment for LAMMPS executables to find potential files +export LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS-@LAMMPS_POTENTIALS_DIR@} diff --git a/doc/Makefile b/doc/Makefile index c4bc80e7bd..81f3623499 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -157,7 +157,7 @@ $(RSTDIR)/%.rst : src/%.txt $(TXT2RST) @(\ mkdir -p $(RSTDIR) ; \ . $(VENV)/bin/activate ;\ - txt2rst $< > $@ ;\ + txt2rst -v $< > $@ ;\ deactivate ;\ ) diff --git a/doc/src/Commands.txt b/doc/src/Commands.txt new file mode 100644 index 0000000000..30e3343bd2 --- /dev/null +++ b/doc/src/Commands.txt @@ -0,0 +1,51 @@ +"Previous Section"_Run.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Packages.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html#comm) + +:line + +Commands :h2 + +These pages describe how a LAMMPS input script is formatted and the +commands in it are used to define a LAMMPS simulation. + + + + + +"LAMMPS input scripts"_Commands_input.html +"Parsing rules for input scripts"_Commands_parse.html +"Input script structure"_Commands_structure.html +"Commands by category"_Commands_category.html :all(b) + +"All commands"_Commands_all.html +"Fix commands"_Commands_fix.html +"Compute commands"_Commands_compute.html +"Pair commands"_Commands_pair.html +"Bond, angle, dihedral, improper commands"_Commands_bond.html +"KSpace solvers"_Commands_kspace.html :all(b) + + + diff --git a/doc/src/Commands_all.txt b/doc/src/Commands_all.txt new file mode 100644 index 0000000000..13db1272b9 --- /dev/null +++ b/doc/src/Commands_all.txt @@ -0,0 +1,128 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +"All commands"_Commands_all.html, +"Fix styles"_Commands_fix.html, +"Compute styles"_Commands_compute.html, +"Pair styles"_Commands_pair.html, +"Bond styles"_Commands_bond.html, +"Angle styles"_Commands_bond.html#angle, +"Dihedral styles"_Commands_bond.html#dihedral, +"Improper styles"_Commands_bond.html#improper, +"KSpace styles"_Commands_kspace.html :tb(c=3,ea=c) + +All commands :h3 + +An alphabetic list of all LAMMPS commmands. + +"angle_coeff"_angle_coeff.html, +"angle_style"_angle_style.html, +"atom_modify"_atom_modify.html, +"atom_style"_atom_style.html, +"balance"_balance.html, +"bond_coeff"_bond_coeff.html, +"bond_style"_bond_style.html, +"bond_write"_bond_write.html, +"boundary"_boundary.html, +"box"_box.html, +"change_box"_change_box.html, +"clear"_clear.html, +"comm_modify"_comm_modify.html, +"comm_style"_comm_style.html, +"compute"_compute.html, +"compute_modify"_compute_modify.html, +"create_atoms"_create_atoms.html, +"create_bonds"_create_bonds.html, +"create_box"_create_box.html, +"delete_atoms"_delete_atoms.html, +"delete_bonds"_delete_bonds.html, +"dielectric"_dielectric.html, +"dihedral_coeff"_dihedral_coeff.html, +"dihedral_style"_dihedral_style.html, +"dimension"_dimension.html, +"displace_atoms"_displace_atoms.html, +"dump"_dump.html, +"dump image"_dump_image.html, +"dump_modify"_dump_modify.html, +"dump movie"_dump_image.html, +"dump netcdf"_dump_netcdf.html, +"dump netcdf/mpiio"_dump_netcdf.html, +"dump vtk"_dump_vtk.html, +"echo"_echo.html, +"fix"_fix.html, +"fix_modify"_fix_modify.html, +"group"_group.html, +"group2ndx"_group2ndx.html, +"if"_if.html, +"info"_info.html, +"improper_coeff"_improper_coeff.html, +"improper_style"_improper_style.html, +"include"_include.html, +"jump"_jump.html, +"kspace_modify"_kspace_modify.html, +"kspace_style"_kspace_style.html, +"label"_label.html, +"lattice"_lattice.html, +"log"_log.html, +"mass"_mass.html, +"minimize"_minimize.html, +"min_modify"_min_modify.html, +"min_style"_min_style.html, +"molecule"_molecule.html, +"ndx2group"_group2ndx.html, +"neb"_neb.html, +"neigh_modify"_neigh_modify.html, +"neighbor"_neighbor.html, +"newton"_newton.html, +"next"_next.html, +"package"_package.html, +"pair_coeff"_pair_coeff.html, +"pair_modify"_pair_modify.html, +"pair_style"_pair_style.html, +"pair_write"_pair_write.html, +"partition"_partition.html, +"prd"_prd.html, +"print"_print.html, +"processors"_processors.html, +"python"_python.html, +"quit"_quit.html, +"read_data"_read_data.html, +"read_dump"_read_dump.html, +"read_restart"_read_restart.html, +"region"_region.html, +"replicate"_replicate.html, +"rerun"_rerun.html, +"reset_ids"_reset_ids.html, +"reset_timestep"_reset_timestep.html, +"restart"_restart.html, +"run"_run.html, +"run_style"_run_style.html, +"set"_set.html, +"shell"_shell.html, +"special_bonds"_special_bonds.html, +"suffix"_suffix.html, +"tad"_tad.html, +"temper"_temper.html, +"temper/grem"_temper_grem.html, +"temper/npt"_temper_npt.html, +"thermo"_thermo.html, +"thermo_modify"_thermo_modify.html, +"thermo_style"_thermo_style.html, +"timer"_timer.html, +"timestep"_timestep.html, +"uncompute"_uncompute.html, +"undump"_undump.html, +"unfix"_unfix.html, +"units"_units.html, +"variable"_variable.html, +"velocity"_velocity.html, +"write_coeff"_write_coeff.html, +"write_data"_write_data.html, +"write_dump"_write_dump.html, +"write_restart"_write_restart.html :tb(c=6,ea=c) diff --git a/doc/src/Commands_bond.txt b/doc/src/Commands_bond.txt new file mode 100644 index 0000000000..314260cb14 --- /dev/null +++ b/doc/src/Commands_bond.txt @@ -0,0 +1,124 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +"All commands"_Commands_all.html, +"Fix styles"_Commands_fix.html, +"Compute styles"_Commands_compute.html, +"Pair styles"_Commands_pair.html, +"Bond styles"_Commands_bond.html, +"Angle styles"_Commands_bond.html#angle, +"Dihedral styles"_Commands_bond.html#dihedral, +"Improper styles"_Commands_bond.html#improper, +"KSpace styles"_Commands_kspace.html :tb(c=3,ea=c) + +Bond, angle, dihedral, and improper commands :h3 + +:line + +Bond_style potentials :h3,link(bond) + +All LAMMPS "bond_style"_bond_style.html commands. Some styles have +accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"none"_bond_none.html, +"zero"_bond_zero.html, +"hybrid"_bond_hybrid.html :tb(c=3,ea=c) + +"class2 (ko)"_bond_class2.html, +"fene (iko)"_bond_fene.html, +"fene/expand (o)"_bond_fene_expand.html, +"gromos (o)"_bond_gromos.html, +"harmonic (ko)"_bond_harmonic.html, +"harmonic/shift (o)"_bond_harmonic_shift.html, +"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html, +"morse (o)"_bond_morse.html, +"nonlinear (o)"_bond_nonlinear.html, +"oxdna/fene"_bond_oxdna.html, +"oxdna2/fene"_bond_oxdna.html, +"quartic (o)"_bond_quartic.html, +"table (o)"_bond_table.html :tb(c=4,ea=c) + +:line + +Angle_style potentials :h3,link(angle) + +All LAMMPS "angle_style"_angle_style.html commands. Some styles have +accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"none"_angle_none.html, +"zero"_angle_zero.html, +"hybrid"_angle_hybrid.html :tb(c=3,ea=c) + +"charmm (ko)"_angle_charmm.html, +"class2 (ko)"_angle_class2.html, +"cosine (o)"_angle_cosine.html, +"cosine/delta (o)"_angle_cosine_delta.html, +"cosine/periodic (o)"_angle_cosine_periodic.html, +"cosine/shift (o)"_angle_cosine_shift.html, +"cosine/shift/exp (o)"_angle_cosine_shift_exp.html, +"cosine/squared (o)"_angle_cosine_squared.html, +"dipole (o)"_angle_dipole.html, +"fourier (o)"_angle_fourier.html, +"fourier/simple (o)"_angle_fourier_simple.html, +"harmonic (iko)"_angle_harmonic.html, +"quartic (o)"_angle_quartic.html, +"sdk"_angle_sdk.html, +"table (o)"_angle_table.html :tb(c=4,ea=c) + +:line + +Dihedral_style potentials :h3,link(dihedral) + +All LAMMPS "dihedral_style"_dihedral_style.html commands. Some styles +have accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"none"_dihedral_none.html, +"zero"_dihedral_zero.html, +"hybrid"_dihedral_hybrid.html :tb(c=3,ea=c) + +"charmm (iko)"_dihedral_charmm.html, +"charmmfsw"_dihedral_charmm.html, +"class2 (ko)"_dihedral_class2.html, +"cosine/shift/exp (o)"_dihedral_cosine_shift_exp.html, +"fourier (io)"_dihedral_fourier.html, +"harmonic (io)"_dihedral_harmonic.html, +"helix (o)"_dihedral_helix.html, +"multi/harmonic (o)"_dihedral_multi_harmonic.html, +"nharmonic (o)"_dihedral_nharmonic.html, +"opls (iko)"_dihedral_opls.htm;, +"quadratic (o)"_dihedral_quadratic.html, +"spherical (o)"_dihedral_spherical.html, +"table (o)"_dihedral_table.html, +"table/cut"_dihedral_table_cut.html :tb(c=4,ea=c) + +:line + +Improper_style potentials :h3,link(improper) + +All LAMMPS "improper_style"_improper_style.html commands. Some styles +have accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"none"_improper_none.html, +"zero"_improper_zero.html, +"hybrid"_improper_hybrid.html :tb(c=3,ea=c) + +"class2 (ko)"_improper_class2.html, +"cossq (o)"_improper_cossq.html, +"cvff (io)"_improper_cvff.html, +"distance"_improper_distance.html, +"fourier (o)"_improper_fourier.html, +"harmonic (iko)"_improper_harmonic.html, +"ring (o)"_improper_ring.html, +"umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c) diff --git a/doc/src/Commands_category.txt b/doc/src/Commands_category.txt new file mode 100644 index 0000000000..5d047c6727 --- /dev/null +++ b/doc/src/Commands_category.txt @@ -0,0 +1,141 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Commands by category :h3 + +This page lists most of the LAMMPS commands, grouped by category. The +"Commands all"_Commands_all.html doc page lists all commands +alphabetically. It also includes long lists of style options for +entries that appear in the following categories as a single command +(fix, compute, pair, etc). + +Initialization: + +"newton"_newton.html, +"package"_package.html, +"processors"_processors.html, +"suffix"_suffix.html, +"units"_units.html :ul + +Setup simulation box: + +"boundary"_boundary.html, +"box"_box.html, +"change_box"_change_box.html, +"create_box"_create_box.html, +"dimension"_dimension.html, +"lattice"_lattice.html, +"region"_region.html :ul + +Setup atoms: + +"atom_modify"_atom_modify.html, +"atom_style"_atom_style.html, +"balance"_balance.html, +"create_atoms"_create_atoms.html, +"create_bonds"_create_bonds.html, +"delete_atoms"_delete_atoms.html, +"delete_bonds"_delete_bonds.html, +"displace_atoms"_displace_atoms.html, +"group"_group.html, +"mass"_mass.html, +"molecule"_molecule.html, +"read_data"_read_data.html, +"read_dump"_read_dump.html, +"read_restart"_read_restart.html, +"replicate"_replicate.html, +"set"_set.html, +"velocity"_velocity.html :ul + +Force fields: + +"angle_coeff"_angle_coeff.html, +"angle_style"_angle_style.html, +"bond_coeff"_bond_coeff.html, +"bond_style"_bond_style.html, +"bond_write"_bond_write.html, +"dielectric"_dielectric.html, +"dihedral_coeff"_dihedral_coeff.html, +"dihedral_style"_dihedral_style.html, +"improper_coeff"_improper_coeff.html, +"improper_style"_improper_style.html, +"kspace_modify"_kspace_modify.html, +"kspace_style"_kspace_style.html, +"pair_coeff"_pair_coeff.html, +"pair_modify"_pair_modify.html, +"pair_style"_pair_style.html, +"pair_write"_pair_write.html, +"special_bonds"_special_bonds.html :ul + +Settings: + +"comm_modify"_comm_modify.html, +"comm_style"_comm_style.html, +"info"_info.html, +"min_modify"_min_modify.html, +"min_style"_min_style.html, +"neigh_modify"_neigh_modify.html, +"neighbor"_neighbor.html, +"partition"_partition.html, +"reset_timestep"_reset_timestep.html, +"run_style"_run_style.html, +"timer"_timer.html, +"timestep"_timestep.html :ul + +Operations within timestepping (fixes) and diagnostics (computes): + +"compute"_compute.html, +"compute_modify"_compute_modify.html, +"fix"_fix.html, +"fix_modify"_fix_modify.html, +"uncompute"_uncompute.html, +"unfix"_unfix.html :ul + +Output: + +"dump image"_dump_image.html, +"dump movie"_dump_image.html, +"dump"_dump.html, +"dump_modify"_dump_modify.html, +"restart"_restart.html, +"thermo"_thermo.html, +"thermo_modify"_thermo_modify.html, +"thermo_style"_thermo_style.html, +"undump"_undump.html, +"write_coeff"_write_coeff.html, +"write_data"_write_data.html, +"write_dump"_write_dump.html, +"write_restart"_write_restart.html :ul + +Actions: + +"minimize"_minimize.html, +"neb"_neb.html, +"prd"_prd.html, +"rerun"_rerun.html, +"run"_run.html, +"tad"_tad.html, +"temper"_temper.html :ul + +Input script control: + +"clear"_clear.html, +"echo"_echo.html, +"if"_if.html, +"include"_include.html, +"jump"_jump.html, +"label"_label.html, +"log"_log.html, +"next"_next.html, +"print"_print.html, +"python"_python.html, +"quit"_quit.html, +"shell"_shell.html, +"variable"_variable.html :ul + diff --git a/doc/src/Commands_compute.txt b/doc/src/Commands_compute.txt new file mode 100644 index 0000000000..028e274c9b --- /dev/null +++ b/doc/src/Commands_compute.txt @@ -0,0 +1,153 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +"All commands"_Commands_all.html, +"Fix styles"_Commands_fix.html, +"Compute styles"_Commands_compute.html, +"Pair styles"_Commands_pair.html, +"Bond styles"_Commands_bond.html, +"Angle styles"_Commands_bond.html#angle, +"Dihedral styles"_Commands_bond.html#dihedral, +"Improper styles"_Commands_bond.html#improper, +"KSpace styles"_Commands_kspace.html :tb(c=3,ea=c) + +Compute commands :h3 + +An alphabetic list of all LAMMPS "compute"_compute.html commands. +Some styles have accelerated versions. This is indicated by +additional letters in parenthesis: g = GPU, i = USER-INTEL, k = +KOKKOS, o = USER-OMP, t = OPT. + +"ackland/atom"_compute_ackland_atom.html, +"aggregate/atom"_compute_cluster_atom.html, +"angle"_compute_angle.html, +"angle/local"_compute_angle_local.html, +"angmom/chunk"_compute_angmom_chunk.html, +"basal/atom"_compute_basal_atom.html, +"body/local"_compute_body_local.html, +"bond"_compute_bond.html, +"bond/local"_compute_bond_local.html, +"centro/atom"_compute_centro_atom.html, +"chunk/atom"_compute_chunk_atom.html, +"cluster/atom"_compute_cluster_atom.html, +"cna/atom"_compute_cna_atom.html, +"cnp/atom"_compute_cnp_atom.html, +"com"_compute_com.html, +"com/chunk"_compute_com_chunk.html, +"contact/atom"_compute_contact_atom.html, +"coord/atom"_compute_coord_atom.html, +"damage/atom"_compute_damage_atom.html, +"dihedral"_compute_dihedral.html, +"dihedral/local"_compute_dihedral_local.html, +"dilatation/atom"_compute_dilatation_atom.html, +"dipole/chunk"_compute_dipole_chunk.html, +"displace/atom"_compute_displace_atom.html, +"dpd"_compute_dpd.html, +"dpd/atom"_compute_dpd_atom.html, +"edpd/temp/atom"_compute_edpd_temp_atom.html, +"entropy/atom"_compute_entropy_atom.html, +"erotate/asphere"_compute_erotate_asphere.html, +"erotate/rigid"_compute_erotate_rigid.html, +"erotate/sphere"_compute_erotate_sphere.html, +"erotate/sphere/atom"_compute_erotate_sphere_atom.html, +"event/displace"_compute_event_displace.html, +"fep"_compute_fep.html, +"force/tally"_compute_tally.html, +"fragment/atom"_compute_cluster_atom.html, +"global/atom"_compute_global_atom.html, +"group/group"_compute_group_group.html, +"gyration"_compute_gyration.html, +"gyration/chunk"_compute_gyration_chunk.html, +"heat/flux"_compute_heat_flux.html, +"heat/flux/tally"_compute_tally.html, +"hexorder/atom"_compute_hexorder_atom.html, +"improper"_compute_improper.html, +"improper/local"_compute_improper_local.html, +"inertia/chunk"_compute_inertia_chunk.html, +"ke"_compute_ke.html, +"ke/atom"_compute_ke_atom.html, +"ke/atom/eff"_compute_ke_atom_eff.html, +"ke/eff"_compute_ke_eff.html, +"ke/rigid"_compute_ke_rigid.html, +"meso/e/atom"_compute_meso_e_atom.html, +"meso/rho/atom"_compute_meso_rho_atom.html, +"meso/t/atom"_compute_meso_t_atom.html, +"msd"_compute_msd.html, +"msd/chunk"_compute_msd_chunk.html, +"msd/nongauss"_compute_msd_nongauss.html, +"omega/chunk"_compute_omega_chunk.html, +"orientorder/atom"_compute_orientorder_atom.html, +"pair"_compute_pair.html, +"pair/local"_compute_pair_local.html, +"pe"_compute_pe.html, +"pe/atom"_compute_pe_atom.html, +"pe/mol/tally"_compute_tally.html, +"pe/tally"_compute_tally.html, +"plasticity/atom"_compute_plasticity_atom.html, +"pressure"_compute_pressure.html, +"pressure/uef"_compute_pressure_uef.html, +"property/atom"_compute_property_atom.html, +"property/chunk"_compute_property_chunk.html, +"property/local"_compute_property_local.html, +"rdf"_compute_rdf.html, +"reduce"_compute_reduce.html, +"reduce/region"_compute_reduce.html, +"rigid/local"_compute_rigid_local.html, +"saed"_compute_saed.html, +"slice"_compute_slice.html, +"smd/contact/radius"_compute_smd_contact_radius.html, +"smd/damage"_compute_smd_damage.html, +"smd/hourglass/error"_compute_smd_hourglass_error.html, +"smd/internal/energy"_compute_smd_internal_energy.html, +"smd/plastic/strain"_compute_smd_plastic_strain.html, +"smd/plastic/strain/rate"_compute_smd_plastic_strain_rate.html, +"smd/rho"_compute_smd_rho.html, +"smd/tlsph/defgrad"_compute_smd_tlsph_defgrad.html, +"smd/tlsph/dt"_compute_smd_tlsph_dt.html, +"smd/tlsph/num/neighs"_compute_smd_tlsph_num_neighs.html, +"smd/tlsph/shape"_compute_smd_tlsph_shape.html, +"smd/tlsph/strain"_compute_smd_tlsph_strain.html, +"smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html, +"smd/tlsph/stress"_compute_smd_tlsph_stress.html, +"smd/triangle/mesh/vertices"_compute_smd_triangle_mesh_vertices.html, +"smd/ulsph/num/neighs"_compute_smd_ulsph_num_neighs.html, +"smd/ulsph/strain"_compute_smd_ulsph_strain.html, +"smd/ulsph/strain/rate"_compute_smd_ulsph_strain_rate.html, +"smd/ulsph/stress"_compute_smd_ulsph_stress.html, +"smd/vol"_compute_smd_vol.html, +"sna/atom"_compute_sna_atom.html, +"snad/atom"_compute_sna_atom.html, +"snav/atom"_compute_sna_atom.html, +"spin"_compute_spin.html, +"stress/atom"_compute_stress_atom.html, +"stress/tally"_compute_tally.html, +"tdpd/cc/atom"_compute_tdpd_cc_atom.html, +"temp (k)"_compute_temp.html, +"temp/asphere"_compute_temp_asphere.html, +"temp/body"_compute_temp_body.html, +"temp/chunk"_compute_temp_chunk.html, +"temp/com"_compute_temp_com.html, +"temp/deform"_compute_temp_deform.html, +"temp/deform/eff"_compute_temp_deform_eff.html, +"temp/drude"_compute_temp_drude.html, +"temp/eff"_compute_temp_eff.html, +"temp/partial"_compute_temp_partial.html, +"temp/profile"_compute_temp_profile.html, +"temp/ramp"_compute_temp_ramp.html, +"temp/region"_compute_temp_region.html, +"temp/region/eff"_compute_temp_region_eff.html, +"temp/rotate"_compute_temp_rotate.html, +"temp/sphere"_compute_temp_sphere.html, +"temp/uef"_compute_temp_uef.html, +"ti"_compute_ti.html, +"torque/chunk"_compute_torque_chunk.html, +"vacf"_compute_vacf.html, +"vcm/chunk"_compute_vcm_chunk.html, +"voronoi/atom"_compute_voronoi_atom.html, +"xrd"_compute_xrd.html :tb(c=6,ea=c) diff --git a/doc/src/Commands_fix.txt b/doc/src/Commands_fix.txt new file mode 100644 index 0000000000..e002c11770 --- /dev/null +++ b/doc/src/Commands_fix.txt @@ -0,0 +1,229 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +"All commands"_Commands_all.html, +"Fix styles"_Commands_fix.html, +"Compute styles"_Commands_compute.html, +"Pair styles"_Commands_pair.html, +"Bond styles"_Commands_bond.html, +"Angle styles"_Commands_bond.html#angle, +"Dihedral styles"_Commands_bond.html#dihedral, +"Improper styles"_Commands_bond.html#improper, +"KSpace styles"_Commands_kspace.html :tb(c=3,ea=c) + +Fix commands :h3 + +An alphabetic list of all LAMMPS "fix"_fix.html commands. Some styles +have accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"adapt"_fix_adapt.html, +"adapt/fep"_fix_adapt_fep.html, +"addforce"_fix_addforce.html, +"addtorque"_fix_addtorque.html, +"append/atoms"_fix_append_atoms.html, +"atc"_fix_atc.html, +"atom/swap"_fix_atom_swap.html, +"ave/atom"_fix_ave_atom.html, +"ave/chunk"_fix_ave_chunk.html, +"ave/correlate"_fix_ave_correlate.html, +"ave/correlate/long"_fix_ave_correlate_long.html, +"ave/histo"_fix_ave_histo.html, +"ave/histo/weight"_fix_ave_histo.html, +"ave/time"_fix_ave_time.html, +"aveforce"_fix_aveforce.html, +"balance"_fix_balance.html, +"bond/break"_fix_bond_break.html, +"bond/create"_fix_bond_create.html, +"bond/react"_fix_bond_react.html, +"bond/swap"_fix_bond_swap.html, +"box/relax"_fix_box_relax.html, +"cmap"_fix_cmap.html, +"colvars"_fix_colvars.html, +"controller"_fix_controller.html, +"deform (k)"_fix_deform.html, +"deposit"_fix_deposit.html, +"dpd/energy (k)"_fix_dpd_energy.html, +"drag"_fix_drag.html, +"drude"_fix_drude.html, +"drude/transform/direct"_fix_drude_transform.html, +"drude/transform/reverse"_fix_drude_transform.html, +"dt/reset"_fix_dt_reset.html, +"edpd/source"_fix_dpd_source.html, +"efield"_fix_efield.html, +"ehex"_fix_ehex.html, +"enforce2d (k)"_fix_enforce2d.html, +"eos/cv"_fix_eos_cv.html, +"eos/table"_fix_eos_table.html, +"eos/table/rx (k)"_fix_eos_table_rx.html, +"evaporate"_fix_evaporate.html, +"external"_fix_external.html, +"filter/corotate"_fix_filter_corotate.html, +"flow/gauss"_fix_flow_gauss.html, +"freeze"_fix_freeze.html, +"gcmc"_fix_gcmc.html, +"gld"_fix_gld.html, +"gle"_fix_gle.html, +"gravity (o)"_fix_gravity.html, +"grem"_fix_grem.html, +"halt"_fix_halt.html, +"heat"_fix_heat.html, +"imd"_fix_imd.html, +"indent"_fix_indent.html, +"ipi"_fix_ipi.html, +"langevin (k)"_fix_langevin.html, +"langevin/drude"_fix_langevin_drude.html, +"langevin/eff"_fix_langevin_eff.html, +"langevin/spin"_fix_langevin_spin.html, +"latte"_fix_latte.html, +"lb/fluid"_fix_lb_fluid.html, +"lb/momentum"_fix_lb_momentum.html, +"lb/pc"_fix_lb_pc.html, +"lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html, +"lb/viscous"_fix_lb_viscous.html, +"lineforce"_fix_lineforce.html, +"manifoldforce"_fix_manifoldforce.html, +"meso"_fix_meso.html, +"meso/stationary"_fix_meso_stationary.html, +"momentum (k)"_fix_momentum.html, +"move"_fix_move.html, +"mscg"_fix_mscg.html, +"msst"_fix_msst.html, +"mvv/dpd"_fix_mvv_dpd.html, +"mvv/edpd"_fix_mvv_dpd.html, +"mvv/tdpd"_fix_mvv_dpd.html, +"neb"_fix_neb.html, +"nph (ko)"_fix_nh.html, +"nph/asphere (o)"_fix_nph_asphere.html, +"nph/body"_fix_nph_body.html, +"nph/eff"_fix_nh_eff.html, +"nph/sphere (o)"_fix_nph_sphere.html, +"nphug (o)"_fix_nphug.html, +"npt (kio)"_fix_nh.html, +"npt/asphere (o)"_fix_npt_asphere.html, +"npt/body"_fix_npt_body.html, +"npt/eff"_fix_nh_eff.html, +"npt/sphere (o)"_fix_npt_sphere.html, +"npt/uef"_fix_nh_uef.html, +"nve (kio)"_fix_nve.html, +"nve/asphere (i)"_fix_nve_asphere.html, +"nve/asphere/noforce"_fix_nve_asphere_noforce.html, +"nve/body"_fix_nve_body.html, +"nve/dot"_fix_nve_dot.html, +"nve/dotc/langevin"_fix_nve_dotc_langevin.html, +"nve/eff"_fix_nve_eff.html, +"nve/limit"_fix_nve_limit.html, +"nve/line"_fix_nve_line.html, +"nve/manifold/rattle"_fix_nve_manifold_rattle.html, +"nve/noforce"_fix_nve_noforce.html, +"nve/sphere (o)"_fix_nve_sphere.html, +"nve/spin"_fix_nve_spin.html, +"nve/tri"_fix_nve_tri.html, +"nvk"_fix_nvk.html, +"nvt (iko)"_fix_nh.html, +"nvt/asphere (o)"_fix_nvt_asphere.html, +"nvt/body"_fix_nvt_body.html, +"nvt/eff"_fix_nh_eff.html, +"nvt/manifold/rattle"_fix_nvt_manifold_rattle.html, +"nvt/sllod (io)"_fix_nvt_sllod.html, +"nvt/sllod/eff"_fix_nvt_sllod_eff.html, +"nvt/sphere (o)"_fix_nvt_sphere.html, +"nvt/uef"_fix_nh_uef.html, +"oneway"_fix_oneway.html, +"orient/bcc"_fix_orient.html, +"orient/fcc"_fix_orient.html, +"phonon"_fix_phonon.html, +"pimd"_fix_pimd.html, +"planeforce"_fix_planeforce.html, +"poems"_fix_poems.html, +"pour"_fix_pour.html, +"precession/spin"_fix_precession_spin.html, +"press/berendsen"_fix_press_berendsen.html, +"print"_fix_print.html, +"property/atom (k)"_fix_property_atom.html, +"python/invoke"_fix_python_invoke.html, +"python/move"_fix_python_move.html, +"qbmsst"_fix_qbmsst.html, +"qeq/comb (o)"_fix_qeq_comb.html, +"qeq/dynamic"_fix_qeq.html, +"qeq/fire"_fix_qeq.html, +"qeq/point"_fix_qeq.html, +"qeq/reax (ko)"_fix_qeq_reax.html, +"qeq/shielded"_fix_qeq.html, +"qeq/slater"_fix_qeq.html, +"qmmm"_fix_qmmm.html, +"qtb"_fix_qtb.html, +"rattle"_fix_shake.html, +"reax/bonds"_fix_reax_bonds.html, +"reax/c/bonds (k)"_fix_reax_bonds.html, +"reax/c/species (k)"_fix_reaxc_species.html, +"recenter"_fix_recenter.html, +"restrain"_fix_restrain.html, +"rhok"_fix_rhok.html, +"rigid (o)"_fix_rigid.html, +"rigid/nph (o)"_fix_rigid.html, +"rigid/npt (o)"_fix_rigid.html, +"rigid/nve (o)"_fix_rigid.html, +"rigid/nvt (o)"_fix_rigid.html, +"rigid/small (o)"_fix_rigid.html, +"rigid/small/nph"_fix_rigid.html, +"rigid/small/npt"_fix_rigid.html, +"rigid/small/nve"_fix_rigid.html, +"rigid/small/nvt"_fix_rigid.html, +"rx (k)"_fix_rx.html, +"saed/vtk"_fix_saed_vtk.html, +"setforce (k)"_fix_setforce.html, +"shake"_fix_shake.html, +"shardlow (k)"_fix_shardlow.html, +"smd"_fix_smd.html, +"smd/adjust/dt"_fix_smd_adjust_dt.html, +"smd/integrate/tlsph"_fix_smd_integrate_tlsph.html, +"smd/integrate/ulsph"_fix_smd_integrate_ulsph.html, +"smd/move/triangulated/surface"_fix_smd_move_triangulated_surface.html, +"smd/setvel"_fix_smd_setvel.html, +"smd/wall/surface"_fix_smd_wall_surface.html, +"spring"_fix_spring.html, +"spring/chunk"_fix_spring_chunk.html, +"spring/rg"_fix_spring_rg.html, +"spring/self"_fix_spring_self.html, +"srd"_fix_srd.html, +"store/force"_fix_store_force.html, +"store/state"_fix_store_state.html, +"tdpd/source"_fix_dpd_source.html, +"temp/berendsen"_fix_temp_berendsen.html, +"temp/csld"_fix_temp_csvr.html, +"temp/csvr"_fix_temp_csvr.html, +"temp/rescale"_fix_temp_rescale.html, +"temp/rescale/eff"_fix_temp_rescale_eff.html, +"tfmc"_fix_tfmc.html, +"thermal/conductivity"_fix_thermal_conductivity.html, +"ti/spring"_fix_ti_spring.html, +"tmd"_fix_tmd.html, +"ttm"_fix_ttm.html, +"ttm/mod"_fix_ttm.html, +"tune/kspace"_fix_tune_kspace.html, +"vector"_fix_vector.html, +"viscosity"_fix_viscosity.html, +"viscous"_fix_viscous.html, +"wall/body/polygon"_fix_wall_body_polygon.html, +"wall/body/polyhedron"_fix_wall_body_polyhedron.html, +"wall/colloid"_fix_wall.html, +"wall/ees"_fix_wall_ees.html, +"wall/gran"_fix_wall_gran.html, +"wall/gran/region"_fix_wall_gran_region.html, +"wall/harmonic"_fix_wall.html, +"wall/lj1043"_fix_wall.html, +"wall/lj126"_fix_wall.html, +"wall/lj93 (k)"_fix_wall.html, +"wall/piston"_fix_wall_piston.html, +"wall/reflect (k)"_fix_wall_reflect.html, +"wall/region"_fix_wall_region.html, +"wall/region/ees"_fix_wall_ees.html, +"wall/srd"_fix_wall_srd.html :tb(c=8,ea=c) diff --git a/doc/src/Commands_input.txt b/doc/src/Commands_input.txt new file mode 100644 index 0000000000..8b3dda741b --- /dev/null +++ b/doc/src/Commands_input.txt @@ -0,0 +1,60 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +LAMMPS input scripts :h3 + +LAMMPS executes by reading commands from a input script (text file), +one line at a time. When the input script ends, LAMMPS exits. Each +command causes LAMMPS to take some action. It may set an internal +variable, read in a file, or run a simulation. Most commands have +default settings, which means you only need to use the command if you +wish to change the default. + +In many cases, the ordering of commands in an input script is not +important. However the following rules apply: + +(1) LAMMPS does not read your entire input script and then perform a +simulation with all the settings. Rather, the input script is read +one line at a time and each command takes effect when it is read. +Thus this sequence of commands: + +timestep 0.5 +run 100 +run 100 :pre + +does something different than this sequence: + +run 100 +timestep 0.5 +run 100 :pre + +In the first case, the specified timestep (0.5 fs) is used for two +simulations of 100 timesteps each. In the 2nd case, the default +timestep (1.0 fs) is used for the 1st 100 step simulation and a 0.5 fs +timestep is used for the 2nd one. + +(2) Some commands are only valid when they follow other commands. For +example you cannot set the temperature of a group of atoms until atoms +have been defined and a group command is used to define which atoms +belong to the group. + +(3) Sometimes command B will use values that can be set by command A. +This means command A must precede command B in the input script if it +is to have the desired effect. For example, the +"read_data"_read_data.html command initializes the system by setting +up the simulation box and assigning atoms to processors. If default +values are not desired, the "processors"_processors.html and +"boundary"_boundary.html commands need to be used before read_data to +tell LAMMPS how to map processors to the simulation box. + +Many input script errors are detected by LAMMPS and an ERROR or +WARNING message is printed. The "Errors"_Errors.html doc page gives +more information on what errors mean. The documentation for each +command lists restrictions on how the command can be used. + diff --git a/doc/src/Commands_kspace.txt b/doc/src/Commands_kspace.txt new file mode 100644 index 0000000000..a126344505 --- /dev/null +++ b/doc/src/Commands_kspace.txt @@ -0,0 +1,36 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands.html) + +:line + +"All commands"_Commands_all.html, +"Fix styles"_Commands_fix.html, +"Compute styles"_Commands_compute.html, +"Pair styles"_Commands_pair.html, +"Bond styles"_Commands_bond.html, +"Angle styles"_Commands_bond.html#angle, +"Dihedral styles"_Commands_bond.html#dihedral, +"Improper styles"_Commands_bond.html#improper, +"KSpace styles"_Commands_kspace.html :tb(c=3,ea=c) + +KSpace solvers :h3 + +All LAMMPS "kspace_style"_kspace_style.html solvers. Some styles have +accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"ewald (o)"_kspace_style.html, +"ewald/disp"_kspace_style.html, +"msm (o)"_kspace_style.html, +"msm/cg (o)"_kspace_style.html, +"pppm (gok)"_kspace_style.html, +"pppm/cg (o)"_kspace_style.html, +"pppm/disp (i)"_kspace_style.html, +"pppm/disp/tip4p"_kspace_style.html, +"pppm/stagger"_kspace_style.html, +"pppm/tip4p (o)"_kspace_style.html :tb(c=4,ea=c) diff --git a/doc/src/Commands_pair.txt b/doc/src/Commands_pair.txt new file mode 100644 index 0000000000..eaf2720613 --- /dev/null +++ b/doc/src/Commands_pair.txt @@ -0,0 +1,231 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +"All commands"_Commands_all.html, +"Fix styles"_Commands_fix.html, +"Compute styles"_Commands_compute.html, +"Pair styles"_Commands_pair.html, +"Bond styles"_Commands_bond.html, +"Angle styles"_Commands_bond.html#angle, +"Dihedral styles"_Commands_bond.html#dihedral, +"Improper styles"_Commands_bond.html#improper, +"KSpace styles"_Commands_kspace.html :tb(c=3,ea=c) + +Pair_style potentials :h3 + +All LAMMPS "pair_style"_pair_style.html commands. Some styles have +accelerated versions. This is indicated by additional letters in +parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = +OPT. + +"none"_pair_none.html, +"zero"_pair_zero.html, +"hybrid"_pair_hybrid.html, +"hybrid/overlay (k)"_pair_hybrid.html :tb(c=4,ea=c) + +"adp (o)"_pair_adp.html, +"agni (o)"_pair_agni.html, +"airebo (oi)"_pair_airebo.html, +"airebo/morse (oi)"_pair_airebo.html, +"awpmd/cut"_pair_awpmd.html, +"beck (go)"_pair_beck.html, +"body/nparticle"_pair_body_nparticle.html, +"body/rounded/polygon"_pair_body_rounded_polygon.html, +"body/rounded/polyhedron"_pair_body_rounded_polyhedron.html, +"bop"_pair_bop.html, +"born (go)"_pair_born.html, +"born/coul/dsf"_pair_born.html, +"born/coul/dsf/cs"_pair_born.html, +"born/coul/long (go)"_pair_born.html, +"born/coul/long/cs"_pair_born.html, +"born/coul/msm (o)"_pair_born.html, +"born/coul/wolf (go)"_pair_born.html, +"born/coul/wolf/cs"_pair_born.html, +"brownian (o)"_pair_brownian.html, +"brownian/poly (o)"_pair_brownian.html, +"buck (giko)"_pair_buck.html, +"buck/coul/cut (giko)"_pair_buck.html, +"buck/coul/long (giko)"_pair_buck.html, +"buck/coul/long/cs"_pair_buck.html, +"buck/coul/msm (o)"_pair_buck.html, +"buck/long/coul/long (o)"_pair_buck_long.html, +"buck/mdf"_pair_mdf.html, +"colloid (go)"_pair_colloid.html, +"comb (o)"_pair_comb.html, +"comb3"_pair_comb.html, +"coul/cut (gko)"_pair_coul.html, +"coul/cut/soft (o)"_pair_lj_soft.html, +"coul/debye (gko)"_pair_coul.html, +"coul/diel (o)"_pair_coul_diel.html, +"coul/dsf (gko)"_pair_coul.html, +"coul/long (gko)"_pair_coul.html, +"coul/long/cs"_pair_coul.html, +"coul/long/soft (o)"_pair_lj_soft.html, +"coul/msm"_pair_coul.html, +"coul/shield"_pair_coul_shield.html, +"coul/streitz"_pair_coul.html, +"coul/wolf (ko)"_pair_coul.html, +"coul/wolf/cs"_pair_coul.html, +"dpd (gio)"_pair_dpd.html, +"dpd/fdt"_pair_dpd_fdt.html, +"dpd/fdt/energy (k)"_pair_dpd_fdt.html, +"dpd/tstat (go)"_pair_dpd.html, +"dsmc"_pair_dsmc.html, +"eam (gikot)"_pair_eam.html, +"eam/alloy (gikot)"_pair_eam.html, +"eam/cd (o)"_pair_eam.html, +"eam/fs (gikot)"_pair_eam.html, +"edip (o)"_pair_edip.html, +"edip/multi"_pair_edip.html, +"edpd"_pair_meso.html, +"eff/cut"_pair_eff.html, +"eim (o)"_pair_eim.html, +"exp6/rx (k)"_pair_exp6_rx.html, +"extep"_pair_extep.html, +"gauss (go)"_pair_gauss.html, +"gauss/cut"_pair_gauss.html, +"gayberne (gio)"_pair_gayberne.html, +"gran/hertz/history (o)"_pair_gran.html, +"gran/hooke (o)"_pair_gran.html, +"gran/hooke/history (o)"_pair_gran.html, +"gw"_pair_gw.html, +"gw/zbl"_pair_gw.html, +"hbond/dreiding/lj (o)"_pair_hbond_dreiding.html, +"hbond/dreiding/morse (o)"_pair_hbond_dreiding.html, +"ilp/graphene/hbn"_pair_ilp_graphene_hbn.html, +"kim"_pair_kim.html, +"kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html, +"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html, +"lcbop"_pair_lcbop.html, +"lennard/mdf"_pair_mdf.html, +"line/lj"_pair_line_lj.html, +"list"_pair_list.html, +"lj/charmm/coul/charmm (iko)"_pair_charmm.html, +"lj/charmm/coul/charmm/implicit (ko)"_pair_charmm.html, +"lj/charmm/coul/long (giko)"_pair_charmm.html, +"lj/charmm/coul/long/soft (o)"_pair_charmm.html, +"lj/charmm/coul/msm"_pair_charmm.html, +"lj/charmmfsw/coul/charmmfsh"_pair_charmm.html, +"lj/charmmfsw/coul/long"_pair_charmm.html, +"lj/class2 (gko)"_pair_class2.html, +"lj/class2/coul/cut (ko)"_pair_class2.html, +"lj/class2/coul/long (gko)"_pair_class2.html, +"lj/cubic (go)"_pair_lj_cubic.html, +"lj/cut (gikot)"_pair_lj.html, +"lj/cut/coul/cut (gko)"_pair_lj.html, +"lj/cut/coul/cut/soft (o)"_pair_lj_soft.html, +"lj/cut/coul/debye (gko)"_pair_lj.html, +"lj/cut/coul/dsf (gko)"_pair_lj.html, +"lj/cut/coul/long (gikot)"_pair_lj.html, +"lj/cut/coul/long/cs"_pair_lj.html, +"lj/cut/coul/long/soft (o)"_pair_lj_soft.html, +"lj/cut/coul/msm (go)"_pair_lj.html, +"lj/cut/coul/wolf (o)"_pair_lj.html, +"lj/cut/dipole/cut (go)"_pair_dipole.html, +"lj/cut/dipole/long"_pair_dipole.html, +"lj/cut/dipole/sf (go)"_pair_dipole.html, +"lj/cut/soft (o)"_pair_lj_soft.html, +"lj/cut/thole/long (o)"_pair_thole.html, +"lj/cut/tip4p/cut (o)"_pair_lj.html, +"lj/cut/tip4p/long (ot)"_pair_lj.html, +"lj/cut/tip4p/long/soft (o)"_pair_lj_soft.html, +"lj/expand (gko)"_pair_lj_expand.html, +"lj/gromacs (gko)"_pair_gromacs.html, +"lj/gromacs/coul/gromacs (ko)"_pair_gromacs.html, +"lj/long/coul/long (io)"_pair_lj_long.html, +"lj/long/dipole/long"_pair_dipole.html, +"lj/long/tip4p/long"_pair_lj_long.html, +"lj/mdf"_pair_mdf.html, +"lj/sdk (gko)"_pair_sdk.html, +"lj/sdk/coul/long (go)"_pair_sdk.html, +"lj/sdk/coul/msm (o)"_pair_sdk.html, +"lj/smooth (o)"_pair_lj_smooth.html, +"lj/smooth/linear (o)"_pair_lj_smooth_linear.html, +"lj96/cut (go)"_pair_lj96.html, +"lubricate (o)"_pair_lubricate.html, +"lubricate/poly (o)"_pair_lubricate.html, +"lubricateU"_pair_lubricateU.html, +"lubricateU/poly"_pair_lubricateU.html, +"mdpd"_pair_meso.html, +"mdpd/rhosum"_pair_meso.html, +"meam"_pair_meam.html, +"meam/c"_pair_meam.html, +"meam/spline (o)"_pair_meam_spline.html, +"meam/sw/spline"_pair_meam_sw_spline.html, +"mgpt"_pair_mgpt.html, +"mie/cut (o)"_pair_mie.html, +"momb"_pair_momb.html, +"morse (gkot)"_pair_morse.html, +"morse/smooth/linear"_pair_morse.html, +"morse/soft"_pair_morse.html, +"multi/lucy"_pair_multi_lucy.html, +"multi/lucy/rx (k)"_pair_multi_lucy_rx.html, +"nb3b/harmonic (o)"_pair_nb3b_harmonic.html, +"nm/cut (o)"_pair_nm.html, +"nm/cut/coul/cut (o)"_pair_nm.html, +"nm/cut/coul/long (o)"_pair_nm.html, +"oxdna/coaxstk"_pair_oxdna.html, +"oxdna/excv"_pair_oxdna.html, +"oxdna/hbond"_pair_oxdna.html, +"oxdna/stk"_pair_oxdna.html, +"oxdna/xstk"_pair_oxdna.html, +"oxdna2/coaxstk"_pair_oxdna2.html, +"oxdna2/dh"_pair_oxdna2.html, +"oxdna2/excv"_pair_oxdna2.html, +"oxdna2/stk"_pair_oxdna2.html, +"peri/eps"_pair_peri.html, +"peri/lps (o)"_pair_peri.html, +"peri/pmb (o)"_pair_peri.html, +"peri/ves"_pair_peri.html, +"polymorphic"_pair_polymorphic.html, +"python"_pair_python.html, +"quip"_pair_quip.html, +"reax"_pair_reax.html, +"reax/c (ko)"_pair_reaxc.html, +"rebo (oi)"_pair_airebo.html, +"resquared (go)"_pair_resquared.html, +"smd/hertz"_pair_smd_hertz.html, +"smd/tlsph"_pair_smd_tlsph.html, +"smd/triangulated/surface"_pair_smd_triangulated_surface.html, +"smd/ulsph"_pair_smd_ulsph.html, +"smtbq"_pair_smtbq.html, +"snap (k)"_pair_snap.html, +"snap (k)"_pair_snap.html, +"soft (go)"_pair_soft.html, +"sph/heatconduction"_pair_sph_heatconduction.html, +"sph/idealgas"_pair_sph_idealgas.html, +"sph/lj"_pair_sph_lj.html, +"sph/rhosum"_pair_sph_rhosum.html, +"sph/taitwater"_pair_sph_taitwater.html, +"sph/taitwater/morris"_pair_sph_taitwater_morris.html, +"spin/dmi"_pair_spin_dmi.html, +"spin/exchange"_pair_spin_exchange.html, +"spin/magelec"_pair_spin_magelec.html, +"spin/neel"_pair_spin_neel.html, +"srp"_pair_srp.html, +"sw (giko)"_pair_sw.html, +"table (gko)"_pair_table.html, +"table/rx (k)"_pair_table_rx.html, +"tdpd"_pair_meso.html, +"tersoff (giko)"_pair_tersoff.html, +"tersoff/mod (gko)"_pair_tersoff_mod.html, +"tersoff/mod/c (o)"_pair_tersoff_mod.html, +"tersoff/table (o)"_pair_tersoff.html, +"tersoff/zbl (gko)"_pair_tersoff_zbl.html, +"thole"_pair_thole.html, +"tip4p/cut (o)"_pair_coul.html, +"tip4p/long (o)"_pair_coul.html, +"tip4p/long/soft (o)"_pair_lj_soft.html, +"tri/lj"_pair_tri_lj.html, +"ufm (got)"_pair_ufm.html, +"vashishta (ko)"_pair_vashishta.html, +"vashishta/table (o)"_pair_vashishta.html, +"yukawa (gok)"_pair_yukawa.html, +"yukawa/colloid (go)"_pair_yukawa_colloid.html, +"zbl (gok)"_pair_zbl.html :tb(c=4,ea=c) diff --git a/doc/src/Commands_parse.txt b/doc/src/Commands_parse.txt new file mode 100644 index 0000000000..cbe2261986 --- /dev/null +++ b/doc/src/Commands_parse.txt @@ -0,0 +1,136 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Parsing rules for input scripts :h3 + +Each non-blank line in the input script is treated as a command. +LAMMPS commands are case sensitive. Command names are lower-case, as +are specified command arguments. Upper case letters may be used in +file names or user-chosen ID strings. + +Here are 6 rulse for how each line in the input script is parsed by +LAMMPS: + +(1) If the last printable character on the line is a "&" character, +the command is assumed to continue on the next line. The next line is +concatenated to the previous line by removing the "&" character and +line break. This allows long commands to be continued across two or +more lines. See the discussion of triple quotes in (6) for how to +continue a command across multiple line without using "&" characters. + +(2) All characters from the first "#" character onward are treated as +comment and discarded. See an exception in (6). Note that a +comment after a trailing "&" character will prevent the command from +continuing on the next line. Also note that for multi-line commands a +single leading "#" will comment out the entire command. + +(3) The line is searched repeatedly for $ characters, which indicate +variables that are replaced with a text string. See an exception in +(6). + +If the $ is followed by curly brackets, then the variable name is the +text inside the curly brackets. If no curly brackets follow the $, +then the variable name is the single character immediately following +the $. Thus $\{myTemp\} and $x refer to variable names "myTemp" and +"x". + +How the variable is converted to a text string depends on what style +of variable it is; see the "variable"_variable.html doc page for details. +It can be a variable that stores multiple text strings, and return one +of them. The returned text string can be multiple "words" (space +separated) which will then be interpreted as multiple arguments in the +input command. The variable can also store a numeric formula which +will be evaluated and its numeric result returned as a string. + +As a special case, if the $ is followed by parenthesis, then the text +inside the parenthesis is treated as an "immediate" variable and +evaluated as an "equal-style variable"_variable.html. This is a way +to use numeric formulas in an input script without having to assign +them to variable names. For example, these 3 input script lines: + +variable X equal (xlo+xhi)/2+sqrt(v_area) +region 1 block $X 2 INF INF EDGE EDGE +variable X delete :pre + +can be replaced by + +region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE :pre + +so that you do not have to define (or discard) a temporary variable X. + +Additionally, the "immediate" variable expression may be followed by a +colon, followed by a C-style format string, e.g. ":%f" or ":%.10g". +The format string must be appropriate for a double-precision +floating-point value. The format string is used to output the result +of the variable expression evaluation. If a format string is not +specified a high-precision "%.20g" is used as the default. + +This can be useful for formatting print output to a desired precion: + +print "Final energy per atom: $(pe/atoms:%10.3f) eV/atom" :pre + +Note that neither the curly-bracket or immediate form of variables can +contain nested $ characters for other variables to substitute for. +Thus you cannot do this: + +variable a equal 2 +variable b2 equal 4 +print "B2 = $\{b$a\}" :pre + +Nor can you specify this $($x-1.0) for an immediate variable, but +you could use $(v_x-1.0), since the latter is valid syntax for an +"equal-style variable"_variable.html. + +See the "variable"_variable.html command for more details of how +strings are assigned to variables and evaluated, and how they can be +used in input script commands. + +(4) The line is broken into "words" separated by whitespace (tabs, +spaces). Note that words can thus contain letters, digits, +underscores, or punctuation characters. + +(5) The first word is the command name. All successive words in the +line are arguments. + +(6) If you want text with spaces to be treated as a single argument, +it can be enclosed in either single or double or triple quotes. A +long single argument enclosed in single or double quotes can span +multiple lines if the "&" character is used, as described above. When +the lines are concatenated together (and the "&" characters and line +breaks removed), the text will become a single line. If you want +multiple lines of an argument to retain their line breaks, the text +can be enclosed in triple quotes, in which case "&" characters are not +needed. For example: + +print "Volume = $v" +print 'Volume = $v' +if "$\{steps\} > 1000" then quit +variable a string "red green blue & + purple orange cyan" +print """ +System volume = $v +System temperature = $t +""" :pre + +In each case, the single, double, or triple quotes are removed when +the single argument they enclose is stored internally. + +See the "dump modify format"_dump_modify.html, "print"_print.html, +"if"_if.html, and "python"_python.html commands for examples. + +A "#" or "$" character that is between quotes will not be treated as a +comment indicator in (2) or substituted for as a variable in (3). + +NOTE: If the argument is itself a command that requires a quoted +argument (e.g. using a "print"_print.html command as part of an +"if"_if.html or "run every"_run.html command), then single, double, or +triple quotes can be nested in the usual manner. See the doc pages +for those commands for examples. Only one of level of nesting is +allowed, but that should be sufficient for most use cases. + diff --git a/doc/src/Commands_structure.txt b/doc/src/Commands_structure.txt new file mode 100644 index 0000000000..b5d2c7b07b --- /dev/null +++ b/doc/src/Commands_structure.txt @@ -0,0 +1,95 @@ +"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Input script structure :h3 + +This page describes the structure of a typical LAMMPS input script. +The examples directory in the LAMMPS distribution contains many sample +input scripts; it is discussed on the "Examples"_Examples.html doc +page. + +A LAMMPS input script typically has 4 parts: + +Initialization +Atom definition +Settings +Run a simulation :ol + +The last 2 parts can be repeated as many times as desired. I.e. run a +simulation, change some settings, run some more, etc. Each of the 4 +parts is now described in more detail. Remember that almost all +commands need only be used if a non-default value is desired. + +(1) Initialization + +Set parameters that need to be defined before atoms are created or +read-in from a file. + +The relevant commands are "units"_units.html, +"dimension"_dimension.html, "newton"_newton.html, +"processors"_processors.html, "boundary"_boundary.html, +"atom_style"_atom_style.html, "atom_modify"_atom_modify.html. + +If force-field parameters appear in the files that will be read, these +commands tell LAMMPS what kinds of force fields are being used: +"pair_style"_pair_style.html, "bond_style"_bond_style.html, +"angle_style"_angle_style.html, "dihedral_style"_dihedral_style.html, +"improper_style"_improper_style.html. + +(2) Atom definition + +There are 3 ways to define atoms in LAMMPS. Read them in from a data +or restart file via the "read_data"_read_data.html or +"read_restart"_read_restart.html commands. These files can contain +molecular topology information. Or create atoms on a lattice (with no +molecular topology), using these commands: "lattice"_lattice.html, +"region"_region.html, "create_box"_create_box.html, +"create_atoms"_create_atoms.html. The entire set of atoms can be +duplicated to make a larger simulation using the +"replicate"_replicate.html command. + +(3) Settings + +Once atoms and molecular topology are defined, a variety of settings +can be specified: force field coefficients, simulation parameters, +output options, etc. + +Force field coefficients are set by these commands (they can also be +set in the read-in files): "pair_coeff"_pair_coeff.html, +"bond_coeff"_bond_coeff.html, "angle_coeff"_angle_coeff.html, +"dihedral_coeff"_dihedral_coeff.html, +"improper_coeff"_improper_coeff.html, +"kspace_style"_kspace_style.html, "dielectric"_dielectric.html, +"special_bonds"_special_bonds.html. + +Various simulation parameters are set by these commands: +"neighbor"_neighbor.html, "neigh_modify"_neigh_modify.html, +"group"_group.html, "timestep"_timestep.html, +"reset_timestep"_reset_timestep.html, "run_style"_run_style.html, +"min_style"_min_style.html, "min_modify"_min_modify.html. + +Fixes impose a variety of boundary conditions, time integration, and +diagnostic options. The "fix"_fix.html command comes in many flavors. + +Various computations can be specified for execution during a +simulation using the "compute"_compute.html, +"compute_modify"_compute_modify.html, and "variable"_variable.html +commands. + +Output options are set by the "thermo"_thermo.html, "dump"_dump.html, +and "restart"_restart.html commands. + +(4) Run a simulation + +A molecular dynamics simulation is run using the "run"_run.html +command. Energy minimization (molecular statics) is performed using +the "minimize"_minimize.html command. A parallel tempering +(replica-exchange) simulation can be run using the +"temper"_temper.html command. + diff --git a/doc/src/Eqs/pair_spin_dmi_forces.jpg b/doc/src/Eqs/pair_spin_dmi_forces.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fba6a91cbf6fdb6ee6736073a114d08c907d6d3c GIT binary patch literal 13431 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 literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/pair_spin_dmi_forces.tex b/doc/src/Eqs/pair_spin_dmi_forces.tex new file mode 100644 index 0000000000..1c0c246db4 --- /dev/null +++ b/doc/src/Eqs/pair_spin_dmi_forces.tex @@ -0,0 +1,14 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath,amssymb,amsthm,bm} +\begin{document} +\begin{varwidth}{50in} + \begin{equation} + \vec{\omega}_i = -\frac{1}{\hbar} \sum_{j}^{Neighb} \vec{s}_{j}\times \left(\vec{e}_{ij}\times \vec{D} \right) + ~~{\rm and}~~ + \vec{F}_i = -\sum_{j}^{Neighb} \frac{1}{r_{ij}} \vec{D} \times \left( \vec{s}_{i}\times \vec{s}_{j} \right) + , \nonumber + \end{equation} +\end{varwidth} +\end{document} diff --git a/doc/src/Eqs/pair_spin_dmi_interaction.jpg b/doc/src/Eqs/pair_spin_dmi_interaction.jpg index 1d15b2199add75eefecb424f75ea2dbd363a1afe..3eb24c67e3b26f97c362fd05982ead5fb0f5c150 100644 GIT binary patch delta 7723 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 Os}DFB80y;p-vj_4o0xk5 delta 6098 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 U7I9=TM92IvVSd2;bN>IE029r;Z~y=R diff --git a/doc/src/Eqs/pair_spin_dmi_interaction.tex b/doc/src/Eqs/pair_spin_dmi_interaction.tex index 5a5a776f03..79f63a333a 100644 --- a/doc/src/Eqs/pair_spin_dmi_interaction.tex +++ b/doc/src/Eqs/pair_spin_dmi_interaction.tex @@ -5,7 +5,7 @@ \begin{document} \begin{varwidth}{50in} \begin{equation} - \bm{H}_{dm} = -\sum_{{ i,j}=1,i\neq j}^{N} + \bm{H}_{dm} = \sum_{{ i,j}=1,i\neq j}^{N} \left( \vec{e}_{ij} \times \vec{D} \right) \cdot\left(\vec{s}_{i}\times \vec{s}_{j}\right), \nonumber diff --git a/doc/src/Eqs/pair_spin_exchange_forces.jpg b/doc/src/Eqs/pair_spin_exchange_forces.jpg index 2b0469bf4db84885fd8b81679cdd9571ba9e3574..b312a9ccdaaf44b7647f2c444c7d79a740cea88c 100644 GIT binary patch delta 12961 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
      R-5MQ7zQ#u~lZ z>lo`_XLF|Rf0MlLNL=5X%%~lI`kD;=rrlA=U7P=VZ$-I~rpvx0zSsFj^QIP_zGPbD z|L^t<{_Q+&m)J~VcRt)-r?OlwbmwQAKjl(!o#-W zs<_HO_oJt4=eh=FKb$xpuU?TgGrVi6 zx%Hahj5juBe_0wOE+A#zed0o4LH*5!)1L(Y zXk4@x*U7ECT2-rec*i5H8)m{MC)qphJkA)#IOUDP=SNF59s0V$uIVU$%YPodx_p0| z#}diKrCNuVB$|}khDdd^d90GZ+V6 z-O61y_2B*e31&Cz%M_O`_nB~Lp=i~Pdi9IG8(*ZQ#O=88%=wksJBv%D{(8HjZf>2v zb<+y5(04~&BZ59T7$4hn^SkbE&i!Qy3&P6VR0L)+{#m*w$!hy!-)kDDMW#k|TrE%S zb*kNdtZRvM(9|7o?nZMhc(3v|j&oId&V(aNZ+uPg4lynAJax71O|gESoc+P8pHj`v zOt>Rge|E>JMIyyVCLCLnGEsNxUg5jR541j7t?KT6)?{;7%5G{&X+qXaqlqeEin))= zrQ@5>B86*@->OBAelF-YIM%;3RyIOvna>hW(T?bfyT`6ST%E0TY4NK?HgDW}YOAd` z28KJXSUFMoy7T-gZMXBgB42g1E~`JG`{nlR>j!4dmAB3PK4YHY^w$Q*pGlq1X8&v; z6e}F;)&6ahry%pIoi>tctJ>7R#5wTU?3#UBkNMbZCD}8}9{i9=n^}KkW$WYZ^Y-S;G_&MCZFPMm^JQ96p`)*i;jU{Z zP3kkHne8R}%1MFT=av z23NB;d3i2c5q#s(ztf|1OWMRy?F5jK*W{2KmSv zc7^#%HxwsL_OUUav_$K;-|}M<-kh$Jn zv|pCi*7HJ9Z#wtn-aP;AxTs0+#iJrt*RQ8oo-~V2RbRMK#&VObPftkxnR|v0Qu>{* zhA7M-ElMKxs>5`e)Es@H(REu z3%NWt+VoEO;CY>Hp(?)|!>3p7-7LgL$ok7IkDQXaV`ioI1-OE%h1|iJyRu?tZdSc| z_aMLoL~Sa`8*+N$}%R=eFeqs5}%-^;DBHK;z$q;bxTTS?Vs@x$%&bF1{sOCI-FxaFMbHqveBu5Brm$xf*GcxUae zgBuTDX5aH-;ms<>yWf(0x%oO*#i|$|J*Mg%+`Ig-@#im(raK*7r1hdm>2Rp3Q)-_H z(;1PUN8ZV9Ki0RTTP^a5O?TbNpf~mZHZ3SnTeQ#1I-gU@^l!5KeD!aF^`9F)XL@D@ zf6o<3kPmo}`D#(q3B5}`ixb{j7+rFA4VADgKCUjYBF?~ z?q_beRk--IiK}){$Z@+(m516N_Ws%!9$GK06L^r>drtSHJEuG3QaOzk^cK&! zozI)HD{E5JT>W)96Hg14azE?%bHVCw#q!0gmd&+TFfnbb^~SSno;=;~lv{ZBYQf7P zm#(=6a_z|IRhhZd=ScMA?YpInW?5A(x@2V*vf@gJ%f)92{%UWm__QA_UAA&kWzwH% zOPlrcG-rmnY^rC~*2!u6_QHne*tftskDXtWKeSw#deYV3bLH}4SAETsw`yW%pW}Wi zd4gek_%}bX_KB;m?76glfpL`WUiGO5&WlZ(HJ9(jHH{N;8~e{s{>`!f=i%3{<2L=? zyl7o~zz4UcUgpExYqpl!?|k9UN<5w@IpS+#8c|WI)$(2n<9=&=gHKFiH$iEZGCszKQaC~C$Z$&h1 zEWKhT(oTWhZB4E^afmE}nE}-2oBdgS;^ll&>5vlv$D+{r8l{UTb%Q)!a|It( zE0mvo>fbTV%q3Q@PCVXz%kn2m?V2#_=*o#Ldt!D@^xUE4@Z!kUAa#*my*Cj}Cnd!9=bf*w(@dYG^7xa}n&6@~ zi%T0k4n?d?jkp%DZRZJYzSkeRj#o0j+RC%wP0HC>_e6c3g|)a!PS_RofOpS>N3$xw z%nh~M@j9)f)hF@p&fAJFW&W{D_IYHnSaRm=0*QW~FhwtmZ5M*}|GOruK6`PSRcXm& z&k#Wwkv~uS9#!qJT-w6y8&+R@YF^8Z`DA~+0jpztvjz)*(L4`YSBMYz8Gb6-1D6NoVOw$KcBc?a46WZh+T7T{kAQ= z=Z<`t$2Q45;$qpf0RtlJ{5y{e4!Jfl|YUWs{o`X&FT z`|=#gyj2#f|EVaP-MYPXdmL-H)SviyK5Zwr-C5VW=bp@!&FeB!gL({&edVGsGGrZ4@Y=?*A>4_X}b^2+!VchJ0V{_oYj|fNYk}1 z_D3(PZD`nz-Fq%BtCrhc@=kV!+KSZGE2h3m6TfpNKks4U-A`(L#+j?1^-Z+DQ}%m( zul$0{=?ZISSrx2)c5KfwyM;X;XRk}z`{2gk`ZBW>9)V!e}`m6tT{MB3kYyWlm-apD~R{m#*EUsPKl`GGAW+T5$zr=g>Lju8uZmZ{6r4>F~ zExZ5letzBhmXa$IbK(}5@kre|vNbAO`=-CKr~-eONv&z9O>uglO}AEaxy{ym>3YZ5m)+c3J7bpRvT1@-*r)M+WHV#?!Sv+zoPRsLbzaVWIX_bD?%C`l zPSvn$2R!>+lGbb&vvv;?v$&$Av4MH^!Q5b%tvtE{Gj4hpC)B5H%d4)rBxcsSAfR;7 zpAC2J*Prn84VIWDX=XIX0}v=z^KvsBKAe7Qa6>l|;-kev^vL{9s*k3pK@$k(dY zE3YO=#68wpd)jmJCAAwDqil65o+j;?_T1xV`hSK~{WCQmNT;t~)i&SUYC+DkyQk_h zm7eCGGhEW6tRfQfF-Sw^N&VgPx9mcsvI-?bPwny!a71Ho|DH_$%ch&w0Otv+7-Rj_65*e(0Yy zz1y(ygrnhchlV+#o%#o!FI+Rz&RIt~?7-KCNxnK)vMj|kmLyKIv99gN2^IOfo$T7Z z$S6bKi|Kw>_#v6JB5t3#UrqDRPh~5dFP^MgH2sLwhxr>mPcvWqd%ftr%xSD|L^(ni zrL+l52<=r)iL;ET5py`0=r=K7{)SuP9~B-gv9XwxR-P3!Ps?P}-7on`A@8MJ)9ba@ zD#ae^yjXaD5vQfZOwYTQuY5WtdP)YwPd2#W(e(>zyirXa?IZZQU=oZeLF=O_H&(Cb!oSgPf zmzc%hIh8|IaKR(ZQZdCCT_a}=i3tmN-4|(0u9sjH$Y0bUz?fk2n@Ql3qsW|lQ?~`? z9puSjI&(x&RJ~`Hio@sN1J5G#1J^WF?zv^!qi3R8opLdCk@luvlS2**aXWOW-ks%A zaWIaXZ(@+k#gD;0ZV|`0I!(9~9&KZ2af#Yw+>pt`Aauhtdd-*Qx8|?9OSjMHPF-o5 zet`K+=#u)$y4*%glI(Ym+F7^GQB7&!UcB7s7l;4(zpc&++!MD-FeO@@?KV68<(6c* z(f<2;yF!jjO_+W0VfU;Jb7kh(87se;@_x&di@Lotrc2dtN7`!Hb6SpV0%DKU>mwVs&YZA6bheVkl-vOC z(0tP+O*tKQ$KGXf!BYw=avFd4#js z<*UyLL6+Ca|1w)HRk_tq=9aYO*)(yQ+>8GVm!sy1i{~=@?47PtVk-7*kz;Aa6|tq9 zo7a@OGV*q@z7PMY=+Kh1J;~;aNV|gXhg%b++n20d*ybYgSyG*?|TBe!*vQy3K7OT%G28GkbqCBU9pBX%~%R1Za-Y}7=-u;E=54DIx zcMELJt#x%Pp7N>g?2#Aj_xKz)1;kC$)IIdjtzU0Z?9wZWwyV3Z@TdiF$B3yl{C(=` zUFxgQQK-A^5%h~}}S z4Sp$ya@S;B?CRv$%U<|ab4k|5j&h;;eYO0n(idoKS*CJ+;+3rTh8fFtai2Dw7=Hba z)#g$**CQWoD@uJzpk=N+4Pv{%_qGfH80>Nie=12+0SUt9g)b|iEcUTh7SfuXHTi8nTgL<~GG!Z4)iU8RRuyq+}+{dw=ysg`BdP?8+Z}(>#JxcI(y@ z|E>?`1%No!Z~rY%WfHv^4Cc z_5(AI`$^MwEi`#-HRH)%yZZddP0tgJ3u1JZs_lGriKn@Hr?iOrNxvZew8Izu^*7## zd%WPsK4oiKgcKFh!B`|7hF&%gEK z`L}(Re^+wJRQYAsPcBZEOn*H8R!r;pX0XKu~t)PKh- zXO+iqlYY**O113DeH7jtj2>@`ML$AG4AhvEde@Qy_p zhYGT{`2IQSv;R&QPex02ZLtsYWVQMSdrD?65W11OaG~?5RU8sM%1tbHqmuMm0yAzF zePVkirFpqSuIkC(Evm1|^il()tFCS{nJ6T8YOna6fQyS}Ey@>>UiZkHAyv<_-q0{? z>YMjLc}6)tFD+NJy~*L+WLJ1WI>YHmj@};8?pxBTqSsg!c5$|->{8{IpSb$FFx$-C zBD2e;O*>c@8v6a^j+5K`4=erom88o&TW{|C!h2oThKkLXo?0vV^VYckj2HYDex!cN zM^pd3)sJg*1D3S#7jj=eQa|;h{8Ny0Jy;&ZOM1g1$5kvo<3pU-pO4Oxa0cvzIU{%s22Ju}BY7@N#7cq*dT{f&YH2=lHvQEnUMV1Ncg7w<9nO6Kt?aZZx zo+pxeyVoA`c=fBBWt+ysGme{h1k$;eEpcWF+NZNQ;cn(7!~Qgp_?Gp@*Kf``csqU8 z35%uO0vAioXKX2PD;KfeaL-`6Mq6tiYx6}xp2-FtOy46eS1i~Rb1LsC!~Ex+TXGZ? zPj3&Bsc$VzvicOTHC;hb@Qs7x1`VC*MzeQ*aconHp8s-@Tic5{%-f$X-=JA29zV0R zM@Ey&h+DGvw++QaKy__r#j^WSv2={x=Yn@u52VnJEz-=-Y1b~?D+>u~#Ft^*N~ zEWMnp9~%}ecp4wNuDhD?U6)*#_%?x0H!QO~|Eg{=pW{~l+N;qf(&7B;ujMz@Z?( zr~qPv#V2^GASnQu#>A<>;K%|p2V@k>Bu|wl50xfQ5Srw{0&1TSjgV42_vVo&m905LpNggil3g52k*Amqu=;Hd&OA0#-z1L1Cv0#6nZAx^Mm zV6T9LI8-KZPTr^?Jo%c2{N()_T$2xIa3W!j$zL@T!BeLS^#b6zQ*{AGM$ifwCPrB6 zAJX_22vkT6FmNbrocM9$!VmD4zrbHpzwKY!9UuH?O({9R5>Y7N{Ms*W#oTe*rOt$``@&^2~jPlpXX8@1Zi z_Ak1-R^4RJ8M{XjW^VlzS6&oei>_U^y)A?>)1QUs@_`FVrYh?#9DndBv+h}{)$-@^ zg^j)S0XAElmwf$bn9nF=c=Mb3yZH;f-!6ImI>!9Apnx~`39Z$KGw%JlZliH1z^F-S zxk-pZa^kh47BLgdu3Va8CgpOYsj&A{^G?N@ZCmbHcdYyEI(MCHok{mJQKv%_j2g2V z8TDeBW_YKyq^oV@zQp%tyU~rH%f5^YlL|}>(gC{S;1(Oqd+Fm^jV6a!= z3G0>#uV?84Q9pOqR!6!qA&G$M4R)y+=NTeyp7 z$5cL+iM%eWFFGgJcU^7dG-=v*#Bal!$@-^_1-416%}HaOwzif{e^GH%1f%Mu_t!Qj zszmgEm={-3K5^4)VHSa|_`CH#=I!H?GJ5rvQG?s@%Y(hLA4979TbKUL|Igr){^yYH zSzT4B1cmN0{&(N|?l=W8ZIEUCs2rKPLP5c#nwiEbY_3hM74=$)=R;$d_mkVl0aTu^M1kDPr%Uk^FB>#?0H8ZPD%LO`xW+;Am_G7YI zYozVo87G1#OE4WXvo`4H+MxgA!oNAcD*Kz-e|ITv53TzhW`9px(pY=DL-Vr78&+s< ze&~?W(DwJy#r?L*W=p5ck($97s{zlJn-sPxd;eSRgLEzxCCTWyh|k|I%DK z)yjWW*xuupgnqUt?-ZDIyG!$cp^%eHtK&O^eIEW9D9A@$U|$hS+l|; zj;(2Le)BG}rcdnqi=D08m@dyb!7C@}5ph;drX@=0L%YC=v!A1XvFb1Q*6~3;Np!_* z-UB;+yB&FBn%HqhDMqPRspRQ7^$CJ9EUB|t80#N5ubj7OxtITYJ)ex0WBiL+g_HKE z-*oKv+GWAOz%X}<2*as`3q%WelsO|3!!u89TeZ7J?h#*oa{I@lr;ggN?ER^~K;J3B zFU<9YuFmTvrtRW_kw#5ler-MI5!=mXY`S!LEF;6ctM1P)EMM>WI9Y{j(&4QWcvrFA z>50l}_!3-GA7+x=np)#?A$VC*OPh%Mg;uj=4f>6p4>ssarEMjfjW7L(;c;eYfm!iz=QzpwQ967=DEACgEM%_y>)`a3?vK$P8PW6-O zJ}Lz=h1s5(aP4aR)`D)Xr>YD>^A4Xl%6wLG!VcMGH)gC??b)!(L1K}_vH~6PD?+pWGM{W?eh){3m?| zgQ{koA|>^s+h5F?#?%lVuVs>PaZzgh_lDy^vvZ^vKP=iQ(6M3WB){(-+&xXA7lciA z?MqkS-odnjZIfYz*nx;<0fwxrYqwpnTG4UD&8AOr^{R%Nw~V&>-BSBRRu!DgGN!7=TGN#KM7su!+xXL{B%dtQDd*uk08UE{vo`ooc8i&IKmVb+%l_g0jC?OV0j zA#9C#+nnb|*}XXReFQ$T$U89pt>G11dg;wthNo59lekkh#{OvW&}E39(DAzSB!_r_ zl6IfO&;JYyzM@mNFtlH1;={rtrTo4iF8T257Ip=;^ ze{=%J?Gmns1&7uyT6<8jw$kCv(Jcl`rgp4YdYDs`_pzJDf~8_Bciea7aa!84Zi7SD z+1az%=Ydl+EGQ-BnrV9@MMslA?EP{gF%C>j@rj#LA6IBNY_`#1e)F?m&Zgqy zmuq8q@L;r;femHu;JeF$$pUtBXf1!`&5bH02zt*rvhyQ!c(atuNGdKXd)pS07d!S;w36 ziG}$E!w<2^vyC5>tQk9(dO0dDY7f8u6zFO$`b#F{~0P3>{l4_^;tS+hhI1}n~9%iso*Eq zoe{3NJtd2|F99cP zpqQ@8*4A+T=bdwn-}S$o+q!{eUn~D>j@cddf=Nr(D3*RolxDTmcM-p2eZsifk$tPf z-Nt*KUkdK^7HAjVyO+7uJUCTU>CJ=($7VhXIxV6)mz9xIWYg|L#t&FZR2o_;mUz|g zj=O(P?@FX0k3#E&<7vE(={gJ8+CNNWVdS>qV*bJ3RX-(9?^LAI(U~Vga+a-qyR%|{ zXXc+r*XQ(BR>|yNz^&CK(BQzt=qSj}-FYSW#tYV~Om~uPswDH6x@Bj*=jrBe5MaKh z$2r-3g;DP%j*Tu69W17iCpXmcyFXOZIwi8$YsIEquGb%pcDI$;cdAK>^Uc*;`iLo9@^?nUYaY8}tF(W} H|GxlT;%4s_bT*{baLG=mA)ifq|F#WWyyR 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 diff --git a/doc/src/Eqs/pair_spin_exchange_forces.tex b/doc/src/Eqs/pair_spin_exchange_forces.tex index 088696d5ef..ac5ef682f3 100644 --- a/doc/src/Eqs/pair_spin_exchange_forces.tex +++ b/doc/src/Eqs/pair_spin_exchange_forces.tex @@ -5,10 +5,12 @@ \begin{document} \begin{varwidth}{50in} \begin{equation} - \vec{F}^{i} = \sum_{j}^{Neighbor} \frac{\partial {J} \left(r_{ij} \right)}{ - \partial r_{ij}} \left( \vec{s}_{i}\cdot \vec{s}_{j} \right) \vec{r}_{ij} - ~~{\rm and}~~ \vec{\omega}^{i} = \frac{1}{\hbar} \sum_{j}^{Neighbor} {J} - \left(r_{ij} \right)\,\vec{s}_{j} \nonumber + \vec{\omega}_{i} = \frac{1}{\hbar} \sum_{j}^{Neighb} {J} + \left(r_{ij} \right)\,\vec{s}_{j} + ~~{\rm and}~~ + \vec{F}_{i} = \sum_{j}^{Neighb} \frac{\partial {J} \left(r_{ij} \right)}{ + \partial r_{ij}} \left( \vec{s}_{i}\cdot \vec{s}_{j} \right) \vec{e}_{ij} + \nonumber \end{equation} \end{varwidth} \end{document} diff --git a/doc/src/Eqs/pair_spin_exchange_interaction.jpg b/doc/src/Eqs/pair_spin_exchange_interaction.jpg index d51524d27ca413ec4ded189107c2219b061f7d7e..c70d8a6554003e37472d648c1944a13ee9d3f859 100644 GIT binary patch delta 5636 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 + + + +"Using GitHub with LAMMPS"_Howto_github.html +"PyLAMMPS interface to LAMMPS"_Howto_pylammps.html +"Using LAMMPS with bash on Windows"_Howto_bash.html + +"Restart a simulation"_Howto_restart.html +"Visualize LAMMPS snapshots"_Howto_viz.html +"Run multiple simulations from one input script"_Howto_multiple.html +"Multi-replica simulations"_Howto_replica.html +"Library interface to LAMMPS"_Howto_library.html +"Couple LAMMPS to other codes"_Howto_couple.html :all(b) + +"Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_Howto_output.html +"Use chunks to calculate system properties"_Howto_chunk.html :all(b) + +"2d simulations"_Howto_2d.html +"Triclinic (non-orthogonal) simulation boxes"_Howto_triclinic.html +"Walls"_Howto_walls.html +"NEMD simulations"_Howto_nemd.html +"Granular models"_Howto_granular.html +"Finite-size spherical and aspherical particles"_Howto_spherical.html +"Long-range dispersion settings"_Howto_dispersion.html :all(b) + +"Calculate temperature"_Howto_temperature.html +"Thermostats"_Howto_thermostat.html +"Barostats"_Howto_barostat.html +"Calculate elastic constants"_Howto_elastic.html +"Calculate thermal conductivity"_Howto_kappa.html +"Calculate viscosity"_Howto_viscosity.html +"Calculate a diffusion coefficient"_Howto_diffusion.html :all(b) + +"CHARMM, AMBER, and DREIDING force fields"_Howto_bioFF.html +"TIP3P water model"_Howto_tip3p.html +"TIP4P water model"_Howto_tip4p.html +"SPC water model"_Howto_spc.html :all(b) + +"Body style particles"_Howto_body.html +"Polarizable models"_Howto_polarizable.html +"Adiabatic core/shell model"_Howto_coreshell.html +"Drude induced dipoles"_Howto_drude.html +"Drude induced dipoles (extended)"_Howto_drude2.html :all(b) +"Manifolds (surfaces)"_Howto_manifold.html +"Magnetic spins"_Howto_spins.html + + diff --git a/doc/src/Howto_2d.txt b/doc/src/Howto_2d.txt new file mode 100644 index 0000000000..e1758c05d5 --- /dev/null +++ b/doc/src/Howto_2d.txt @@ -0,0 +1,48 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +2d simulations :h3 + +Use the "dimension"_dimension.html command to specify a 2d simulation. + +Make the simulation box periodic in z via the "boundary"_boundary.html +command. This is the default. + +If using the "create box"_create_box.html command to define a +simulation box, set the z dimensions narrow, but finite, so that the +create_atoms command will tile the 3d simulation box with a single z +plane of atoms - e.g. + +"create box"_create_box.html 1 -10 10 -10 10 -0.25 0.25 :pre + +If using the "read data"_read_data.html command to read in a file of +atom coordinates, set the "zlo zhi" values to be finite but narrow, +similar to the create_box command settings just described. For each +atom in the file, assign a z coordinate so it falls inside the +z-boundaries of the box - e.g. 0.0. + +Use the "fix enforce2d"_fix_enforce2d.html command as the last +defined fix to insure that the z-components of velocities and forces +are zeroed out every timestep. The reason to make it the last fix is +so that any forces induced by other fixes will be zeroed out. + +Many of the example input scripts included in the LAMMPS distribution +are for 2d models. + +NOTE: Some models in LAMMPS treat particles as finite-size spheres, as +opposed to point particles. See the "atom_style +sphere"_atom_style.html and "fix nve/sphere"_fix_nve_sphere.html +commands for details. By default, for 2d simulations, such particles +will still be modeled as 3d spheres, not 2d discs (circles), meaning +their moment of inertia will be that of a sphere. If you wish to +model them as 2d discs, see the "set density/disc"_set.html command +and the {disc} option for the "fix nve/sphere"_fix_nve_sphere.html, +"fix nvt/sphere"_fix_nvt_sphere.html, "fix +nph/sphere"_fix_nph_sphere.html, "fix npt/sphere"_fix_npt_sphere.html +commands. diff --git a/doc/src/Howto_barostat.txt b/doc/src/Howto_barostat.txt new file mode 100644 index 0000000000..7c3db89152 --- /dev/null +++ b/doc/src/Howto_barostat.txt @@ -0,0 +1,75 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Barostats :h3 + +Barostatting means controlling the pressure in an MD simulation. +"Thermostatting"_Howto_thermostat.html means controlling the +temperature of the particles. Since the pressure includes a kinetic +component due to particle velocities, both these operations require +calculation of the temperature. Typically a target temperature (T) +and/or pressure (P) is specified by the user, and the thermostat or +barostat attempts to equilibrate the system to the requested T and/or +P. + +Barostatting in LAMMPS is performed by "fixes"_fix.html. Two +barosttating methods are currently available: Nose-Hoover (npt and +nph) and Berendsen: + +"fix npt"_fix_nh.html +"fix npt/sphere"_fix_npt_sphere.html +"fix npt/asphere"_fix_npt_asphere.html +"fix nph"_fix_nh.html +"fix press/berendsen"_fix_press_berendsen.html :ul + +The "fix npt"_fix_nh.html commands include a Nose-Hoover thermostat +and barostat. "Fix nph"_fix_nh.html is just a Nose/Hoover barostat; +it does no thermostatting. Both "fix nph"_fix_nh.html and "fix +press/berendsen"_fix_press_berendsen.html can be used in conjunction +with any of the thermostatting fixes. + +As with the "thermostats"_Howto_thermostat.html, "fix npt"_fix_nh.html +and "fix nph"_fix_nh.html only use translational motion of the +particles in computing T and P and performing thermo/barostatting. +"Fix npt/sphere"_fix_npt_sphere.html and "fix +npt/asphere"_fix_npt_asphere.html thermo/barostat using not only +translation velocities but also rotational velocities for spherical +and aspherical particles. + +All of the barostatting fixes use the "compute +pressure"_compute_pressure.html compute to calculate a current +pressure. By default, this compute is created with a simple "compute +temp"_compute_temp.html (see the last argument of the "compute +pressure"_compute_pressure.html command), which is used to calculated +the kinetic component of the pressure. The barostatting fixes can +also use temperature computes that remove bias for the purpose of +computing the kinetic component which contributes to the current +pressure. See the doc pages for the individual fixes and for the +"fix_modify"_fix_modify.html command for instructions on how to assign +a temperature or pressure compute to a barostatting fix. + +NOTE: As with the thermostats, the Nose/Hoover methods ("fix +npt"_fix_nh.html and "fix nph"_fix_nh.html) perform time integration. +"Fix press/berendsen"_fix_press_berendsen.html does NOT, so it should +be used with one of the constant NVE fixes or with one of the NVT +fixes. + +Thermodynamic output, which can be setup via the +"thermo_style"_thermo_style.html command, often includes pressure +values. As explained on the doc page for the +"thermo_style"_thermo_style.html command, the default pressure is +setup by the thermo command itself. It is NOT the presure associated +with any barostatting fix you have defined or with any compute you +have defined that calculates a presure. The doc pages for the +barostatting fixes explain the ID of the pressure compute they create. +Thus if you want to view these pressurse, you need to specify them +explicitly via the "thermo_style custom"_thermo_style.html command. +Or you can use the "thermo_modify"_thermo_modify.html command to +re-define what pressure compute is used for default thermodynamic +output. diff --git a/doc/src/tutorial_bash_on_windows.txt b/doc/src/Howto_bash.txt old mode 100644 new mode 100755 similarity index 99% rename from doc/src/tutorial_bash_on_windows.txt rename to doc/src/Howto_bash.txt index 66712bdffa..f1438418e7 --- a/doc/src/tutorial_bash_on_windows.txt +++ b/doc/src/Howto_bash.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -10,6 +10,7 @@ Using LAMMPS with Bash on Windows :h3 [written by Richard Berger] :line + Starting with Windows 10 you can install Linux tools directly in Windows. This allows you to compile LAMMPS following the same procedure as on a real Ubuntu Linux installation. Software can be easily installed using the package manager diff --git a/doc/src/Howto_bioFF.txt b/doc/src/Howto_bioFF.txt new file mode 100644 index 0000000000..afb8a84f2e --- /dev/null +++ b/doc/src/Howto_bioFF.txt @@ -0,0 +1,101 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +CHARMM, AMBER, and DREIDING force fields :h3 + +A force field has 2 parts: the formulas that define it and the +coefficients used for a particular system. Here we only discuss +formulas implemented in LAMMPS that correspond to formulas commonly +used in the CHARMM, AMBER, and DREIDING force fields. Setting +coefficients is done in the input data file via the +"read_data"_read_data.html command or in the input script with +commands like "pair_coeff"_pair_coeff.html or +"bond_coeff"_bond_coeff.html. See the "Tools"_Tools.html doc page for +additional tools that can use CHARMM or AMBER to assign force field +coefficients and convert their output into LAMMPS input. + +See "(MacKerell)"_#howto-MacKerell for a description of the CHARMM force +field. See "(Cornell)"_#howto-Cornell for a description of the AMBER force +field. + +:link(charmm,http://www.scripps.edu/brooks) +:link(amber,http://amber.scripps.edu) + +These style choices compute force field formulas that are consistent +with common options in CHARMM or AMBER. See each command's +documentation for the formula it computes. + +"bond_style"_bond_harmonic.html harmonic +"angle_style"_angle_charmm.html charmm +"dihedral_style"_dihedral_charmm.html charmmfsh +"dihedral_style"_dihedral_charmm.html charmm +"pair_style"_pair_charmm.html lj/charmmfsw/coul/charmmfsh +"pair_style"_pair_charmm.html lj/charmmfsw/coul/long +"pair_style"_pair_charmm.html lj/charmm/coul/charmm +"pair_style"_pair_charmm.html lj/charmm/coul/charmm/implicit +"pair_style"_pair_charmm.html lj/charmm/coul/long :ul + +"special_bonds"_special_bonds.html charmm +"special_bonds"_special_bonds.html amber :ul + +NOTE: For CHARMM, newer {charmmfsw} or {charmmfsh} styles were +released in March 2017. We recommend they be used instead of the +older {charmm} styles. See discussion of the differences on the "pair +charmm"_pair_charmm.html and "dihedral charmm"_dihedral_charmm.html +doc pages. + +DREIDING is a generic force field developed by the "Goddard +group"_http://www.wag.caltech.edu at Caltech and is useful for +predicting structures and dynamics of organic, biological and +main-group inorganic molecules. The philosophy in DREIDING is to use +general force constants and geometry parameters based on simple +hybridization considerations, rather than individual force constants +and geometric parameters that depend on the particular combinations of +atoms involved in the bond, angle, or torsion terms. DREIDING has an +"explicit hydrogen bond term"_pair_hbond_dreiding.html to describe +interactions involving a hydrogen atom on very electronegative atoms +(N, O, F). + +See "(Mayo)"_#howto-Mayo for a description of the DREIDING force field + +These style choices compute force field formulas that are consistent +with the DREIDING force field. See each command's +documentation for the formula it computes. + +"bond_style"_bond_harmonic.html harmonic +"bond_style"_bond_morse.html morse :ul + +"angle_style"_angle_harmonic.html harmonic +"angle_style"_angle_cosine.html cosine +"angle_style"_angle_cosine_periodic.html cosine/periodic :ul + +"dihedral_style"_dihedral_charmm.html charmm +"improper_style"_improper_umbrella.html umbrella :ul + +"pair_style"_pair_buck.html buck +"pair_style"_pair_buck.html buck/coul/cut +"pair_style"_pair_buck.html buck/coul/long +"pair_style"_pair_lj.html lj/cut +"pair_style"_pair_lj.html lj/cut/coul/cut +"pair_style"_pair_lj.html lj/cut/coul/long :ul + +"pair_style"_pair_hbond_dreiding.html hbond/dreiding/lj +"pair_style"_pair_hbond_dreiding.html hbond/dreiding/morse :ul + +"special_bonds"_special_bonds.html dreiding :ul + +:line + +:link(howto-MacKerell) +[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, +Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). + +:link(howto-Mayo) +[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 +(1990). diff --git a/doc/src/body.txt b/doc/src/Howto_body.txt similarity index 96% rename from doc/src/body.txt rename to doc/src/Howto_body.txt index 4a39ac25d8..3535349b46 100644 --- a/doc/src/body.txt +++ b/doc/src/Howto_body.txt @@ -1,24 +1,24 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line -Body particles :h2 +Body particles :h3 [Overview:] -This doc page is not about a LAMMPS input script command, but about -body particles, which are generalized finite-size particles. +In LAMMPS, body particles are generalized finite-size particles. Individual body particles can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, etc. Note that other kinds of finite-size spherical and aspherical particles are also supported by LAMMPS, such as spheres, ellipsoids, line segments, and triangles, but they are -simpler entities that body particles. See "Section -6.14"_Section_howto.html#howto_14 for a general overview of all +simpler entities that body particles. See the "Howto +spherical"_Howto_spherical.html doc page for a general overview of all these particle types. Body particles are used via the "atom_style body"_atom_style.html @@ -151,8 +151,8 @@ center-of-mass position of the particle is specified by the x,y,z values in the {Atoms} section of the data file, as is the total mass of the body particle. -The "pair_style body"_pair_body.html command can be used with this -body style to compute body/body and body/non-body interactions. +The "pair_style body/nparticle"_pair_body_nparticle.html command can be used +with this body style to compute body/body and body/non-body interactions. For output purposes via the "compute body/local"_compute_body_local.html and "dump local"_dump.html diff --git a/doc/src/Howto_chunk.txt b/doc/src/Howto_chunk.txt new file mode 100644 index 0000000000..8e52acf4b8 --- /dev/null +++ b/doc/src/Howto_chunk.txt @@ -0,0 +1,166 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Use chunks to calculate system properties :h3 + +In LAMMS, "chunks" are collections of atoms, as defined by the +"compute chunk/atom"_compute_chunk_atom.html command, which assigns +each atom to a chunk ID (or to no chunk at all). The number of chunks +and the assignment of chunk IDs to atoms can be static or change over +time. Examples of "chunks" are molecules or spatial bins or atoms +with similar values (e.g. coordination number or potential energy). + +The per-atom chunk IDs can be used as input to two other kinds of +commands, to calculate various properties of a system: + +"fix ave/chunk"_fix_ave_chunk.html +any of the "compute */chunk"_compute.html commands :ul + +Here, each of the 3 kinds of chunk-related commands is briefly +overviewed. Then some examples are given of how to compute different +properties with chunk commands. + +Compute chunk/atom command: :h4 + +This compute can assign atoms to chunks of various styles. Only atoms +in the specified group and optional specified region are assigned to a +chunk. Here are some possible chunk definitions: + +atoms in same molecule | chunk ID = molecule ID | +atoms of same atom type | chunk ID = atom type | +all atoms with same atom property (charge, radius, etc) | chunk ID = output of compute property/atom | +atoms in same cluster | chunk ID = output of "compute cluster/atom"_compute_cluster_atom.html command | +atoms in same spatial bin | chunk ID = bin ID | +atoms in same rigid body | chunk ID = molecule ID used to define rigid bodies | +atoms with similar potential energy | chunk ID = output of "compute pe/atom"_compute_pe_atom.html | +atoms with same local defect structure | chunk ID = output of "compute centro/atom"_compute_centro_atom.html or "compute coord/atom"_compute_coord_atom.html command :tb(s=|,c=2) + +Note that chunk IDs are integer values, so for atom properties or +computes that produce a floating point value, they will be truncated +to an integer. You could also use the compute in a variable that +scales the floating point value to spread it across multiple integers. + +Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins = +pencils, 3d bins = boxes, spherical bins, cylindrical bins. + +This compute also calculates the number of chunks {Nchunk}, which is +used by other commands to tally per-chunk data. {Nchunk} can be a +static value or change over time (e.g. the number of clusters). The +chunk ID for an individual atom can also be static (e.g. a molecule +ID), or dynamic (e.g. what spatial bin an atom is in as it moves). + +Note that this compute allows the per-atom output of other +"computes"_compute.html, "fixes"_fix.html, and +"variables"_variable.html to be used to define chunk IDs for each +atom. This means you can write your own compute or fix to output a +per-atom quantity to use as chunk ID. See the "Modify"_Modify.html +doc pages for info on how to do this. You can also define a "per-atom +variable"_variable.html in the input script that uses a formula to +generate a chunk ID for each atom. + +Fix ave/chunk command: :h4 + +This fix takes the ID of a "compute +chunk/atom"_compute_chunk_atom.html command as input. For each chunk, +it then sums one or more specified per-atom values over the atoms in +each chunk. The per-atom values can be any atom property, such as +velocity, force, charge, potential energy, kinetic energy, stress, +etc. Additional keywords are defined for per-chunk properties like +density and temperature. More generally any per-atom value generated +by other "computes"_compute.html, "fixes"_fix.html, and "per-atom +variables"_variable.html, can be summed over atoms in each chunk. + +Similar to other averaging fixes, this fix allows the summed per-chunk +values to be time-averaged in various ways, and output to a file. The +fix produces a global array as output with one row of values per +chunk. + +Compute */chunk commands: :h4 + +Currently the following computes operate on chunks of atoms to produce +per-chunk values. + +"compute com/chunk"_compute_com_chunk.html +"compute gyration/chunk"_compute_gyration_chunk.html +"compute inertia/chunk"_compute_inertia_chunk.html +"compute msd/chunk"_compute_msd_chunk.html +"compute property/chunk"_compute_property_chunk.html +"compute temp/chunk"_compute_temp_chunk.html +"compute torque/chunk"_compute_vcm_chunk.html +"compute vcm/chunk"_compute_vcm_chunk.html :ul + +They each take the ID of a "compute +chunk/atom"_compute_chunk_atom.html command as input. As their names +indicate, they calculate the center-of-mass, radius of gyration, +moments of inertia, mean-squared displacement, temperature, torque, +and velocity of center-of-mass for each chunk of atoms. The "compute +property/chunk"_compute_property_chunk.html command can tally the +count of atoms in each chunk and extract other per-chunk properties. + +The reason these various calculations are not part of the "fix +ave/chunk command"_fix_ave_chunk.html, is that each requires a more +complicated operation than simply summing and averaging over per-atom +values in each chunk. For example, many of them require calculation +of a center of mass, which requires summing mass*position over the +atoms and then dividing by summed mass. + +All of these computes produce a global vector or global array as +output, wih one or more values per chunk. They can be used +in various ways: + +As input to the "fix ave/time"_fix_ave_time.html command, which can +write the values to a file and optionally time average them. :ulb,l + +As input to the "fix ave/histo"_fix_ave_histo.html command to +histogram values across chunks. E.g. a histogram of cluster sizes or +molecule diffusion rates. :l + +As input to special functions of "equal-style +variables"_variable.html, like sum() and max(). E.g. to find the +largest cluster or fastest diffusing molecule. :l +:ule + +Example calculations with chunks :h4 + +Here are examples using chunk commands to calculate various +properties: + +(1) Average velocity in each of 1000 2d spatial bins: + +compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced +fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out :pre + +(2) Temperature in each spatial bin, after subtracting a flow +velocity: + +compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced +compute vbias all temp/profile 1 0 0 y 10 +fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out :pre + +(3) Center of mass of each molecule: + +compute cc1 all chunk/atom molecule +compute myChunk all com/chunk cc1 +fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre + +(4) Total force on each molecule and ave/max across all molecules: + +compute cc1 all chunk/atom molecule +fix 1 all ave/chunk 1000 1 1000 cc1 fx fy fz file tmp.out +variable xave equal ave(f_1\[2\]) +variable xmax equal max(f_1\[2\]) +thermo 1000 +thermo_style custom step temp v_xave v_xmax :pre + +(5) Histogram of cluster sizes: + +compute cluster all cluster/atom 1.0 +compute cc1 all chunk/atom c_cluster compress yes +compute size all property/chunk cc1 count +fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo :pre diff --git a/doc/src/Howto_coreshell.txt b/doc/src/Howto_coreshell.txt new file mode 100644 index 0000000000..4f1cd64384 --- /dev/null +++ b/doc/src/Howto_coreshell.txt @@ -0,0 +1,253 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Adiabatic core/shell model :h3 + +The adiabatic core-shell model by "Mitchell and +Fincham"_#MitchellFincham is a simple method for adding polarizability +to a system. In order to mimic the electron shell of an ion, a +satellite particle is attached to it. This way the ions are split into +a core and a shell where the latter is meant to react to the +electrostatic environment inducing polarizability. See the "Howto +polarizable"_Howto_polarizable.html doc page for a discussion of all +the polarizable models available in LAMMPS. + +Technically, shells are attached to the cores by a spring force f = +k*r where k is a parametrized spring constant and r is the distance +between the core and the shell. The charges of the core and the shell +add up to the ion charge, thus q(ion) = q(core) + q(shell). This +setup introduces the ion polarizability (alpha) given by +alpha = q(shell)^2 / k. In a +similar fashion the mass of the ion is distributed on the core and the +shell with the core having the larger mass. + +To run this model in LAMMPS, "atom_style"_atom_style.html {full} can +be used since atom charge and bonds are needed. Each kind of +core/shell pair requires two atom types and a bond type. The core and +shell of a core/shell pair should be bonded to each other with a +harmonic bond that provides the spring force. For example, a data file +for NaCl, as found in examples/coreshell, has this format: + +432 atoms # core and shell atoms +216 bonds # number of core/shell springs :pre + +4 atom types # 2 cores and 2 shells for Na and Cl +2 bond types :pre + +0.0 24.09597 xlo xhi +0.0 24.09597 ylo yhi +0.0 24.09597 zlo zhi :pre + +Masses # core/shell mass ratio = 0.1 :pre + +1 20.690784 # Na core +2 31.90500 # Cl core +3 2.298976 # Na shell +4 3.54500 # Cl shell :pre + +Atoms :pre + +1 1 2 1.5005 0.00000000 0.00000000 0.00000000 # core of core/shell pair 1 +2 1 4 -2.5005 0.00000000 0.00000000 0.00000000 # shell of core/shell pair 1 +3 2 1 1.5056 4.01599500 4.01599500 4.01599500 # core of core/shell pair 2 +4 2 3 -0.5056 4.01599500 4.01599500 4.01599500 # shell of core/shell pair 2 +(...) :pre + +Bonds # Bond topology for spring forces :pre + +1 2 1 2 # spring for core/shell pair 1 +2 2 3 4 # spring for core/shell pair 2 +(...) :pre + +Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only +defined between the shells. Coulombic interactions are defined +between all cores and shells. If desired, additional bonds can be +specified between cores. + +The "special_bonds"_special_bonds.html command should be used to +turn-off the Coulombic interaction within core/shell pairs, since that +interaction is set by the bond spring. This is done using the +"special_bonds"_special_bonds.html command with a 1-2 weight = 0.0, +which is the default value. It needs to be considered whether one has +to adjust the "special_bonds"_special_bonds.html weighting according +to the molecular topology since the interactions of the shells are +bypassed over an extra bond. + +Note that this core/shell implementation does not require all ions to +be polarized. One can mix core/shell pairs and ions without a +satellite particle if desired. + +Since the core/shell model permits distances of r = 0.0 between the +core and shell, a pair style with a "cs" suffix needs to be used to +implement a valid long-range Coulombic correction. Several such pair +styles are provided in the CORESHELL package. See "this doc +page"_pair_cs.html for details. All of the core/shell enabled pair +styles require the use of a long-range Coulombic solver, as specified +by the "kspace_style"_kspace_style.html command. Either the PPPM or +Ewald solvers can be used. + +For the NaCL example problem, these pair style and bond style settings +are used: + +pair_style born/coul/long/cs 20.0 20.0 +pair_coeff * * 0.0 1.000 0.00 0.00 0.00 +pair_coeff 3 3 487.0 0.23768 0.00 1.05 0.50 #Na-Na +pair_coeff 3 4 145134.0 0.23768 0.00 6.99 8.70 #Na-Cl +pair_coeff 4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl :pre + +bond_style harmonic +bond_coeff 1 63.014 0.0 +bond_coeff 2 25.724 0.0 :pre + +When running dynamics with the adiabatic core/shell model, the +following issues should be considered. The relative motion of +the core and shell particles corresponds to the polarization, +hereby an instantaneous relaxation of the shells is approximated +and a fast core/shell spring frequency ensures a nearly constant +internal kinetic energy during the simulation. +Thermostats can alter this polarization behaviour, by scaling the +internal kinetic energy, meaning the shell will not react freely to +its electrostatic environment. +Therefore it is typically desirable to decouple the relative motion of +the core/shell pair, which is an imaginary degree of freedom, from the +real physical system. To do that, the "compute +temp/cs"_compute_temp_cs.html command can be used, in conjunction with +any of the thermostat fixes, such as "fix nvt"_fix_nh.html or "fix +langevin"_fix_langevin. This compute uses the center-of-mass velocity +of the core/shell pairs to calculate a temperature, and insures that +velocity is what is rescaled for thermostatting purposes. This +compute also works for a system with both core/shell pairs and +non-polarized ions (ions without an attached satellite particle). The +"compute temp/cs"_compute_temp_cs.html command requires input of two +groups, one for the core atoms, another for the shell atoms. +Non-polarized ions which might also be included in the treated system +should not be included into either of these groups, they are taken +into account by the {group-ID} (2nd argument) of the compute. The +groups can be defined using the "group {type}"_group.html command. +Note that to perform thermostatting using this definition of +temperature, the "fix modify temp"_fix_modify.html command should be +used to assign the compute to the thermostat fix. Likewise the +"thermo_modify temp"_thermo_modify.html command can be used to make +this temperature be output for the overall system. + +For the NaCl example, this can be done as follows: + +group cores type 1 2 +group shells type 3 4 +compute CSequ all temp/cs cores shells +fix thermoberendsen all temp/berendsen 1427 1427 0.4 # thermostat for the true physical system +fix thermostatequ all nve # integrator as needed for the berendsen thermostat +fix_modify thermoberendsen temp CSequ +thermo_modify temp CSequ # output of center-of-mass derived temperature :pre + +The pressure for the core/shell system is computed via the regular +LAMMPS convention by "treating the cores and shells as individual +particles"_#MitchellFincham2. For the thermo output of the pressure +as well as for the application of a barostat, it is necessary to +use an additional "pressure"_compute_pressure compute based on the +default "temperature"_compute_temp and specifying it as a second +argument in "fix modify"_fix_modify.html and +"thermo_modify"_thermo_modify.html resulting in: + +(...) +compute CSequ all temp/cs cores shells +compute thermo_press_lmp all pressure thermo_temp # pressure for individual particles +thermo_modify temp CSequ press thermo_press_lmp # modify thermo to regular pressure +fix press_bar all npt temp 300 300 0.04 iso 0 0 0.4 +fix_modify press_bar temp CSequ press thermo_press_lmp # pressure modification for correct kinetic scalar :pre + +If "compute temp/cs"_compute_temp_cs.html is used, the decoupled +relative motion of the core and the shell should in theory be +stable. However numerical fluctuation can introduce a small +momentum to the system, which is noticable over long trajectories. +Therefore it is recommendable to use the "fix +momentum"_fix_momentum.html command in combination with "compute +temp/cs"_compute_temp_cs.html when equilibrating the system to +prevent any drift. + +When initializing the velocities of a system with core/shell pairs, it +is also desirable to not introduce energy into the relative motion of +the core/shell particles, but only assign a center-of-mass velocity to +the pairs. This can be done by using the {bias} keyword of the +"velocity create"_velocity.html command and assigning the "compute +temp/cs"_compute_temp_cs.html command to the {temp} keyword of the +"velocity"_velocity.html command, e.g. + +velocity all create 1427 134 bias yes temp CSequ +velocity all scale 1427 temp CSequ :pre + +To maintain the correct polarizability of the core/shell pairs, the +kinetic energy of the internal motion shall remain nearly constant. +Therefore the choice of spring force and mass ratio need to ensure +much faster relative motion of the 2 atoms within the core/shell pair +than their center-of-mass velocity. This allows the shells to +effectively react instantaneously to the electrostatic environment and +limits energy transfer to or from the core/shell oscillators. +This fast movement also dictates the timestep that can be used. + +The primary literature of the adiabatic core/shell model suggests that +the fast relative motion of the core/shell pairs only allows negligible +energy transfer to the environment. +The mentioned energy transfer will typically lead to a small drift +in total energy over time. This internal energy can be monitored +using the "compute chunk/atom"_compute_chunk_atom.html and "compute +temp/chunk"_compute_temp_chunk.html commands. The internal kinetic +energies of each core/shell pair can then be summed using the sum() +special function of the "variable"_variable.html command. Or they can +be time/averaged and output using the "fix ave/time"_fix_ave_time.html +command. To use these commands, each core/shell pair must be defined +as a "chunk". If each core/shell pair is defined as its own molecule, +the molecule ID can be used to define the chunks. If cores are bonded +to each other to form larger molecules, the chunks can be identified +by the "fix property/atom"_fix_property_atom.html via assigning a +core/shell ID to each atom using a special field in the data file read +by the "read_data"_read_data.html command. This field can then be +accessed by the "compute property/atom"_compute_property_atom.html +command, to use as input to the "compute +chunk/atom"_compute_chunk_atom.html command to define the core/shell +pairs as chunks. + +For example if core/shell pairs are the only molecules: + +read_data NaCl_CS_x0.1_prop.data +compute prop all property/atom molecule +compute cs_chunk all chunk/atom c_prop +compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0 # note the chosen degrees of freedom for the core/shell pairs +fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector :pre + +For example if core/shell pairs and other molecules are present: + +fix csinfo all property/atom i_CSID # property/atom command +read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info # atom property added in the data-file +compute prop all property/atom i_CSID +(...) :pre + +The additional section in the date file would be formatted like this: + +CS-Info # header of additional section :pre + +1 1 # column 1 = atom ID, column 2 = core/shell ID +2 1 +3 2 +4 2 +5 3 +6 3 +7 4 +8 4 +(...) :pre + +:line + +:link(MitchellFincham) +[(Mitchell and Fincham)] Mitchell, Fincham, J Phys Condensed Matter, +5, 1031-1038 (1993). + +:link(MitchellFincham2) +[(Fincham)] Fincham, Mackrodt and Mitchell, J Phys Condensed Matter, +6, 393-404 (1994). diff --git a/doc/src/Howto_couple.txt b/doc/src/Howto_couple.txt new file mode 100644 index 0000000000..38595a9d16 --- /dev/null +++ b/doc/src/Howto_couple.txt @@ -0,0 +1,105 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Coupling LAMMPS to other codes :h3 + +LAMMPS is designed to allow it to be coupled to other codes. For +example, a quantum mechanics code might compute forces on a subset of +atoms and pass those forces to LAMMPS. Or a continuum finite element +(FE) simulation might use atom positions as boundary conditions on FE +nodal points, compute a FE solution, and return interpolated forces on +MD atoms. + +LAMMPS can be coupled to other codes in at least 3 ways. Each has +advantages and disadvantages, which you'll have to think about in the +context of your application. + +(1) Define a new "fix"_fix.html command that calls the other code. In +this scenario, LAMMPS is the driver code. During its timestepping, +the fix is invoked, and can make library calls to the other code, +which has been linked to LAMMPS as a library. This is the way the +"POEMS"_poems package that performs constrained rigid-body motion on +groups of atoms is hooked to LAMMPS. See the "fix +poems"_fix_poems.html command for more details. See the +"Modify"_Modify.html doc pages for info on how to add a new fix to +LAMMPS. + +:link(poems,http://www.rpi.edu/~anderk5/lab) + +(2) Define a new LAMMPS command that calls the other code. This is +conceptually similar to method (1), but in this case LAMMPS and the +other code are on a more equal footing. Note that now the other code +is not called during the timestepping of a LAMMPS run, but between +runs. The LAMMPS input script can be used to alternate LAMMPS runs +with calls to the other code, invoked via the new command. The +"run"_run.html command facilitates this with its {every} option, which +makes it easy to run a few steps, invoke the command, run a few steps, +invoke the command, etc. + +In this scenario, the other code can be called as a library, as in +(1), or it could be a stand-alone code, invoked by a system() call +made by the command (assuming your parallel machine allows one or more +processors to start up another program). In the latter case the +stand-alone code could communicate with LAMMPS thru files that the +command writes and reads. + +See the "Modify command"_Modify_command.html doc page for info on how +to add a new command to LAMMPS. + +(3) Use LAMMPS as a library called by another code. In this case the +other code is the driver and calls LAMMPS as needed. Or a wrapper +code could link and call both LAMMPS and another code as libraries. +Again, the "run"_run.html command has options that allow it to be +invoked with minimal overhead (no setup or clean-up) if you wish to do +multiple short runs, driven by another program. + +Examples of driver codes that call LAMMPS as a library are included in +the examples/COUPLE directory of the LAMMPS distribution; see +examples/COUPLE/README for more details: + +simple: simple driver programs in C++ and C which invoke LAMMPS as a +library :ulb,l + +lammps_quest: coupling of LAMMPS and "Quest"_quest, to run classical +MD with quantum forces calculated by a density functional code :l + +lammps_spparks: coupling of LAMMPS and "SPPARKS"_spparks, to couple +a kinetic Monte Carlo model for grain growth using MD to calculate +strain induced across grain boundaries :l +:ule + +:link(quest,http://dft.sandia.gov/Quest) +:link(spparks,http://www.sandia.gov/~sjplimp/spparks.html) + +"This section"_Section_start.html#start_5 of the documentation +describes how to build LAMMPS as a library. Once this is done, you +can interface with LAMMPS either via C++, C, Fortran, or Python (or +any other language that supports a vanilla C-like interface). For +example, from C++ you could create one (or more) "instances" of +LAMMPS, pass it an input script to process, or execute individual +commands, all by invoking the correct class methods in LAMMPS. From C +or Fortran you can make function calls to do the same things. See the +"Python"_Python.html doc pages for a description of the Python wrapper +provided with LAMMPS that operates through the LAMMPS library +interface. + +The files src/library.cpp and library.h contain the C-style interface +to LAMMPS. See the "Howto library"_Howto_library.html doc page for a +description of the interface and how to extend it for your needs. + +Note that the lammps_open() function that creates an instance of +LAMMPS takes an MPI communicator as an argument. This means that +instance of LAMMPS will run on the set of processors in the +communicator. Thus the calling code can run LAMMPS on all or a subset +of processors. For example, a wrapper script might decide to +alternate between LAMMPS and another code, allowing them both to run +on all the processors. Or it might allocate half the processors to +LAMMPS and half to the other code and run both codes simultaneously +before syncing them up periodically. Or it might instantiate multiple +instances of LAMMPS to perform different calculations. diff --git a/doc/src/Howto_diffusion.txt b/doc/src/Howto_diffusion.txt new file mode 100644 index 0000000000..401c1e359c --- /dev/null +++ b/doc/src/Howto_diffusion.txt @@ -0,0 +1,31 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Calculate a diffusion coefficient :h3 + +The diffusion coefficient D of a material can be measured in at least +2 ways using various options in LAMMPS. See the examples/DIFFUSE +directory for scripts that implement the 2 methods discussed here for +a simple Lennard-Jones fluid model. + +The first method is to measure the mean-squared displacement (MSD) of +the system, via the "compute msd"_compute_msd.html command. The slope +of the MSD versus time is proportional to the diffusion coefficient. +The instantaneous MSD values can be accumulated in a vector via the +"fix vector"_fix_vector.html command, and a line fit to the vector to +compute its slope via the "variable slope"_variable.html function, and +thus extract D. + +The second method is to measure the velocity auto-correlation function +(VACF) of the system, via the "compute vacf"_compute_vacf.html +command. The time-integral of the VACF is proportional to the +diffusion coefficient. The instantaneous VACF values can be +accumulated in a vector via the "fix vector"_fix_vector.html command, +and time integrated via the "variable trap"_variable.html function, +and thus extract D. diff --git a/doc/src/Howto_dispersion.txt b/doc/src/Howto_dispersion.txt new file mode 100644 index 0000000000..4ea286258e --- /dev/null +++ b/doc/src/Howto_dispersion.txt @@ -0,0 +1,108 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Long-raage dispersion settings :h3 + +The PPPM method computes interactions by splitting the pair potential +into two parts, one of which is computed in a normal pairwise fashion, +the so-called real-space part, and one of which is computed using the +Fourier transform, the so called reciprocal-space or kspace part. For +both parts, the potential is not computed exactly but is approximated. +Thus, there is an error in both parts of the computation, the +real-space and the kspace error. The just mentioned facts are true +both for the PPPM for Coulomb as well as dispersion interactions. The +deciding difference - and also the reason why the parameters for +pppm/disp have to be selected with more care - is the impact of the +errors on the results: The kspace error of the PPPM for Coulomb and +dispersion interaction and the real-space error of the PPPM for +Coulomb interaction have the character of noise. In contrast, the +real-space error of the PPPM for dispersion has a clear physical +interpretation: the underprediction of cohesion. As a consequence, the +real-space error has a much stronger effect than the kspace error on +simulation results for pppm/disp. Parameters must thus be chosen in a +way that this error is much smaller than the kspace error. + +When using pppm/disp and not making any specifications on the PPPM +parameters via the kspace modify command, parameters will be tuned +such that the real-space error and the kspace error are equal. This +will result in simulations that are either inaccurate or slow, both of +which is not desirable. For selecting parameters for the pppm/disp +that provide fast and accurate simulations, there are two approaches, +which both have their up- and downsides. + +The first approach is to set desired real-space an kspace accuracies +via the {kspace_modify force/disp/real} and {kspace_modify +force/disp/kspace} commands. Note that the accuracies have to be +specified in force units and are thus dependent on the chosen unit +settings. For real units, 0.0001 and 0.002 seem to provide reasonable +accurate and efficient computations for the real-space and kspace +accuracies. 0.002 and 0.05 work well for most systems using lj +units. PPPM parameters will be generated based on the desired +accuracies. The upside of this approach is that it usually provides a +good set of parameters and will work for both the {kspace_modify diff +ad} and {kspace_modify diff ik} options. The downside of the method +is that setting the PPPM parameters will take some time during the +initialization of the simulation. + +The second approach is to set the parameters for the pppm/disp +explicitly using the {kspace_modify mesh/disp}, {kspace_modify +order/disp}, and {kspace_modify gewald/disp} commands. This approach +requires a more experienced user who understands well the impact of +the choice of parameters on the simulation accuracy and +performance. This approach provides a fast initialization of the +simulation. However, it is sensitive to errors: A combination of +parameters that will perform well for one system might result in +far-from-optimal conditions for other simulations. For example, +parameters that provide accurate and fast computations for +all-atomistic force fields can provide insufficient accuracy or +united-atomistic force fields (which is related to that the latter +typically have larger dispersion coefficients). + +To avoid inaccurate or inefficient simulations, the pppm/disp stops +simulations with an error message if no action is taken to control the +PPPM parameters. If the automatic parameter generation is desired and +real-space and kspace accuracies are desired to be equal, this error +message can be suppressed using the {kspace_modify disp/auto yes} +command. + +A reasonable approach that combines the upsides of both methods is to +make the first run using the {kspace_modify force/disp/real} and +{kspace_modify force/disp/kspace} commands, write down the PPPM +parameters from the outut, and specify these parameters using the +second approach in subsequent runs (which have the same composition, +force field, and approximately the same volume). + +Concerning the performance of the pppm/disp there are two more things +to consider. The first is that when using the pppm/disp, the cutoff +parameter does no longer affect the accuracy of the simulation +(subject to that gewald/disp is adjusted when changing the cutoff). +The performance can thus be increased by examining different values +for the cutoff parameter. A lower bound for the cutoff is only set by +the truncation error of the repulsive term of pair potentials. + +The second is that the mixing rule of the pair style has an impact on +the computation time when using the pppm/disp. Fastest computations +are achieved when using the geometric mixing rule. Using the +arithmetic mixing rule substantially increases the computational cost. +The computational overhead can be reduced using the {kspace_modify +mix/disp geom} and {kspace_modify splittol} commands. The first +command simply enforces geometric mixing of the dispersion +coefficients in kspace computations. This introduces some error in +the computations but will also significantly speed-up the +simulations. The second keyword sets the accuracy with which the +dispersion coefficients are approximated using a matrix factorization +approach. This may result in better accuracy then using the first +command, but will usually also not provide an equally good increase of +efficiency. + +Finally, pppm/disp can also be used when no mixing rules apply. +This can be achieved using the {kspace_modify mix/disp none} command. +Note that the code does not check automatically whether any mixing +rule is fulfilled. If mixing rules do not apply, the user will have +to specify this command explicitly. diff --git a/doc/src/Howto_drude.txt b/doc/src/Howto_drude.txt new file mode 100644 index 0000000000..ebdf5f8658 --- /dev/null +++ b/doc/src/Howto_drude.txt @@ -0,0 +1,77 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Drude induced dipoles :h3 + +The thermalized Drude model represents induced dipoles by a pair of +charges (the core atom and the Drude particle) connected by a harmonic +spring. See the "Howto polarizable"_Howto_polarizable.html doc page +for a discussion of all the polarizable models available in LAMMPS. + +The Drude model has a number of features aimed at its use in +molecular systems ("Lamoureux and Roux"_#howto-Lamoureux): + +Thermostating of the additional degrees of freedom associated with the +induced dipoles at very low temperature, in terms of the reduced +coordinates of the Drude particles with respect to their cores. This +makes the trajectory close to that of relaxed induced dipoles. :ulb,l + +Consistent definition of 1-2 to 1-4 neighbors. A core-Drude particle +pair represents a single (polarizable) atom, so the special screening +factors in a covalent structure should be the same for the core and +the Drude particle. Drude particles have to inherit the 1-2, 1-3, 1-4 +special neighbor relations from their respective cores. :l + +Stabilization of the interactions between induced dipoles. Drude +dipoles on covalently bonded atoms interact too strongly due to the +short distances, so an atom may capture the Drude particle of a +neighbor, or the induced dipoles within the same molecule may align +too much. To avoid this, damping at short range can be done by Thole +functions (for which there are physical grounds). This Thole damping +is applied to the point charges composing the induced dipole (the +charge of the Drude particle and the opposite charge on the core, not +to the total charge of the core atom). :l,ule + +A detailed tutorial covering the usage of Drude induced dipoles in +LAMMPS is on the "Howto drude2e"_Howto_drude2.html doc page. + +As with the core-shell model, the cores and Drude particles should +appear in the data file as standard atoms. The same holds for the +springs between them, which are described by standard harmonic bonds. +The nature of the atoms (core, Drude particle or non-polarizable) is +specified via the "fix drude"_fix_drude.html command. The special +list of neighbors is automatically refactored to account for the +equivalence of core and Drude particles as regards special 1-2 to 1-4 +screening. It may be necessary to use the {extra/special/per/atom} +keyword of the "read_data"_read_data.html command. If using "fix +shake"_fix_shake.html, make sure no Drude particle is in this fix +group. + +There are two ways to thermostat the Drude particles at a low +temperature: use either "fix langevin/drude"_fix_langevin_drude.html +for a Langevin thermostat, or "fix +drude/transform/*"_fix_drude_transform.html for a Nose-Hoover +thermostat. The former requires use of the command "comm_modify vel +yes"_comm_modify.html. The latter requires two separate integration +fixes like {nvt} or {npt}. The correct temperatures of the reduced +degrees of freedom can be calculated using the "compute +temp/drude"_compute_temp_drude.html. This requires also to use the +command {comm_modify vel yes}. + +Short-range damping of the induced dipole interactions can be achieved +using Thole functions through the "pair style +thole"_pair_thole.html in "pair_style hybrid/overlay"_pair_hybrid.html +with a Coulomb pair style. It may be useful to use {coul/long/cs} or +similar from the CORESHELL package if the core and Drude particle come +too close, which can cause numerical issues. + +:line + +:link(howto-Lamoureux) +[(Lamoureux and Roux)] G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003) diff --git a/doc/src/tutorial_drude.txt b/doc/src/Howto_drude2.txt similarity index 99% rename from doc/src/tutorial_drude.txt rename to doc/src/Howto_drude2.txt index f6e7eed40b..a342d4a87d 100644 --- a/doc/src/tutorial_drude.txt +++ b/doc/src/Howto_drude2.txt @@ -9,7 +9,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Howto_elastic.txt b/doc/src/Howto_elastic.txt new file mode 100644 index 0000000000..68b30970ca --- /dev/null +++ b/doc/src/Howto_elastic.txt @@ -0,0 +1,47 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Calculate elastic constants :h3 + +Elastic constants characterize the stiffness of a material. The formal +definition is provided by the linear relation that holds between the +stress and strain tensors in the limit of infinitesimal deformation. +In tensor notation, this is expressed as s_ij = C_ijkl * e_kl, where +the repeated indices imply summation. s_ij are the elements of the +symmetric stress tensor. e_kl are the elements of the symmetric strain +tensor. C_ijkl are the elements of the fourth rank tensor of elastic +constants. In three dimensions, this tensor has 3^4=81 elements. Using +Voigt notation, the tensor can be written as a 6x6 matrix, where C_ij +is now the derivative of s_i w.r.t. e_j. Because s_i is itself a +derivative w.r.t. e_i, it follows that C_ij is also symmetric, with at +most 7*6/2 = 21 distinct elements. + +At zero temperature, it is easy to estimate these derivatives by +deforming the simulation box in one of the six directions using the +"change_box"_change_box.html command and measuring the change in the +stress tensor. A general-purpose script that does this is given in the +examples/elastic directory described on the "Examples"_Examples.html +doc page. + +Calculating elastic constants at finite temperature is more +challenging, because it is necessary to run a simulation that perfoms +time averages of differential properties. One way to do this is to +measure the change in average stress tensor in an NVT simulations when +the cell volume undergoes a finite deformation. In order to balance +the systematic and statistical errors in this method, the magnitude of +the deformation must be chosen judiciously, and care must be taken to +fully equilibrate the deformed cell before sampling the stress +tensor. Another approach is to sample the triclinic cell fluctuations +that occur in an NPT simulation. This method can also be slow to +converge and requires careful post-processing "(Shinoda)"_#Shinoda1 + +:line + +:link(Shinoda1) +[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). diff --git a/doc/src/tutorial_github.txt b/doc/src/Howto_github.txt similarity index 98% rename from doc/src/tutorial_github.txt rename to doc/src/Howto_github.txt index fc261bdb95..720b3317f0 100644 --- a/doc/src/tutorial_github.txt +++ b/doc/src/Howto_github.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -25,8 +25,8 @@ or improvements to LAMMPS, as it significantly reduces the amount of work required by the LAMMPS developers. Consequently, creating a pull request will increase your chances to have your contribution included and will reduce the time until the integration is complete. For more -information on the requirements to have your code included in LAMMPS, -see the "Modify contribute"_Modify_contribute.html doc page. +information on the requirements to have your code included into LAMMPS +please see the "Modify contribute"_Modify_contribute.html doc page. :line @@ -124,7 +124,7 @@ unrelated feature, you should switch branches! After everything is done, add the files to the branch and commit them: - $ git add doc/src/tutorial_github.txt + $ git add doc/src/Howto_github.txt $ git add doc/src/JPG/tutorial*.png :pre IMPORTANT NOTE: Do not use {git commit -a} (or {git add -A}). The -a @@ -318,7 +318,7 @@ Because the changes are OK with us, we are going to merge by clicking on Now, since in the meantime our local text for the tutorial also changed, we need to pull Axel's change back into our branch, and merge them: - $ git add tutorial_github.txt + $ git add Howto_github.txt $ git add JPG/tutorial_reverse_pull_request*.png $ git commit -m "Updated text and images on reverse pull requests" $ git pull :pre @@ -331,7 +331,7 @@ With Axel's changes merged in and some final text updates, our feature branch is now perfect as far as we are concerned, so we are going to commit and push again: - $ git add tutorial_github.txt + $ git add Howto_github.txt $ git add JPG/tutorial_reverse_pull_request6.png $ git commit -m "Merged Axel's suggestions and updated text" $ git push git@github.com:Pakketeretet2/lammps :pre diff --git a/doc/src/Howto_granular.txt b/doc/src/Howto_granular.txt new file mode 100644 index 0000000000..8027369501 --- /dev/null +++ b/doc/src/Howto_granular.txt @@ -0,0 +1,57 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Granular models :h3 + +Granular system are composed of spherical particles with a diameter, +as opposed to point particles. This means they have an angular +velocity and torque can be imparted to them to cause them to rotate. + +To run a simulation of a granular model, you will want to use +the following commands: + +"atom_style sphere"_atom_style.html +"fix nve/sphere"_fix_nve_sphere.html +"fix gravity"_fix_gravity.html :ul + +This compute + +"compute erotate/sphere"_compute_erotate_sphere.html :ul + +calculates rotational kinetic energy which can be "output with +thermodynamic info"_Howto_output.html. + +Use one of these 3 pair potentials, which compute forces and torques +between interacting pairs of particles: + +"pair_style"_pair_style.html gran/history +"pair_style"_pair_style.html gran/no_history +"pair_style"_pair_style.html gran/hertzian :ul + +These commands implement fix options specific to granular systems: + +"fix freeze"_fix_freeze.html +"fix pour"_fix_pour.html +"fix viscous"_fix_viscous.html +"fix wall/gran"_fix_wall_gran.html :ul + +The fix style {freeze} zeroes both the force and torque of frozen +atoms, and should be used for granular system instead of the fix style +{setforce}. + +For computational efficiency, you can eliminate needless pairwise +computations between frozen atoms by using this command: + +"neigh_modify"_neigh_modify.html exclude :ul + +NOTE: By default, for 2d systems, granular particles are still modeled +as 3d spheres, not 2d discs (circles), meaning their moment of inertia +will be the same as in 3d. If you wish to model granular particles in +2d as 2d discs, see the note on this topic on the "Howto 2d"_Howto_2d +doc page, where 2d simulations are discussed. diff --git a/doc/src/Howto_kappa.txt b/doc/src/Howto_kappa.txt new file mode 100644 index 0000000000..b2a57ef49b --- /dev/null +++ b/doc/src/Howto_kappa.txt @@ -0,0 +1,90 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Calculate thermal conductivity :h3 + +The thermal conductivity kappa of a material can be measured in at +least 4 ways using various options in LAMMPS. See the examples/KAPPA +directory for scripts that implement the 4 methods discussed here for +a simple Lennard-Jones fluid model. Also, see the "Howto +viscosity"_Howto_viscosity.html doc page for an analogous discussion +for viscosity. + +The thermal conductivity tensor kappa is a measure of the propensity +of a material to transmit heat energy in a diffusive manner as given +by Fourier's law + +J = -kappa grad(T) + +where J is the heat flux in units of energy per area per time and +grad(T) is the spatial gradient of temperature. The thermal +conductivity thus has units of energy per distance per time per degree +K and is often approximated as an isotropic quantity, i.e. as a +scalar. + +The first method is to setup two thermostatted regions at opposite +ends of a simulation box, or one in the middle and one at the end of a +periodic box. By holding the two regions at different temperatures +with a "thermostatting fix"_Howto_thermostat.html, the energy added to +the hot region should equal the energy subtracted from the cold region +and be proportional to the heat flux moving between the regions. See +the papers by "Ikeshoji and Hafskjold"_#howto-Ikeshoji and +"Wirnsberger et al"_#howto-Wirnsberger for details of this idea. Note +that thermostatting fixes such as "fix nvt"_fix_nh.html, "fix +langevin"_fix_langevin.html, and "fix +temp/rescale"_fix_temp_rescale.html store the cumulative energy they +add/subtract. + +Alternatively, as a second method, the "fix heat"_fix_heat.html or +"fix ehex"_fix_ehex.html commands can be used in place of thermostats +on each of two regions to add/subtract specified amounts of energy to +both regions. In both cases, the resulting temperatures of the two +regions can be monitored with the "compute temp/region" command and +the temperature profile of the intermediate region can be monitored +with the "fix ave/chunk"_fix_ave_chunk.html and "compute +ke/atom"_compute_ke_atom.html commands. + +The third method is to perform a reverse non-equilibrium MD simulation +using the "fix thermal/conductivity"_fix_thermal_conductivity.html +command which implements the rNEMD algorithm of Muller-Plathe. +Kinetic energy is swapped between atoms in two different layers of the +simulation box. This induces a temperature gradient between the two +layers which can be monitored with the "fix +ave/chunk"_fix_ave_chunk.html and "compute +ke/atom"_compute_ke_atom.html commands. The fix tallies the +cumulative energy transfer that it performs. See the "fix +thermal/conductivity"_fix_thermal_conductivity.html command for +details. + +The fourth method is based on the Green-Kubo (GK) formula which +relates the ensemble average of the auto-correlation of the heat flux +to kappa. The heat flux can be calculated from the fluctuations of +per-atom potential and kinetic energies and per-atom stress tensor in +a steady-state equilibrated simulation. This is in contrast to the +two preceding non-equilibrium methods, where energy flows continuously +between hot and cold regions of the simulation box. + +The "compute heat/flux"_compute_heat_flux.html command can calculate +the needed heat flux and describes how to implement the Green_Kubo +formalism using additional LAMMPS commands, such as the "fix +ave/correlate"_fix_ave_correlate.html command to calculate the needed +auto-correlation. See the doc page for the "compute +heat/flux"_compute_heat_flux.html command for an example input script +that calculates the thermal conductivity of solid Ar via the GK +formalism. + +:line + +:link(howto-Ikeshoji) +[(Ikeshoji)] Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 +(1994). + +:link(howto-Wirnsberger) +[(Wirnsberger)] Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104 +(2015). diff --git a/doc/src/Howto_library.txt b/doc/src/Howto_library.txt new file mode 100644 index 0000000000..0d4852fbf2 --- /dev/null +++ b/doc/src/Howto_library.txt @@ -0,0 +1,208 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Library interface to LAMMPS :h3 + +As described in "Section 2.5"_Section_start.html#start_5, LAMMPS can +be built as a library, so that it can be called by another code, used +in a "coupled manner"_Howto_couple.html with other codes, or driven +through a "Python interface"_Python.html. + +All of these methodologies use a C-style interface to LAMMPS that is +provided in the files src/library.cpp and src/library.h. The +functions therein have a C-style argument list, but contain C++ code +you could write yourself in a C++ application that was invoking LAMMPS +directly. The C++ code in the functions illustrates how to invoke +internal LAMMPS operations. Note that LAMMPS classes are defined +within a LAMMPS namespace (LAMMPS_NS) if you use them from another C++ +application. + +The examples/COUPLE and python/examples directories have example C++ +and C and Python codes which show how a driver code can link to LAMMPS +as a library, run LAMMPS on a subset of processors, grab data from +LAMMPS, change it, and put it back into LAMMPS. + +The file src/library.cpp contains the following functions for creating +and destroying an instance of LAMMPS and sending it commands to +execute. See the documentation in the src/library.cpp file for +details. + +NOTE: You can write code for additional functions as needed to define +how your code talks to LAMMPS and add them to src/library.cpp and +src/library.h, as well as to the "Python interface"_Python.html. The +added functions can access or change any internal LAMMPS data you +wish. + +void lammps_open(int, char **, MPI_Comm, void **) +void lammps_open_no_mpi(int, char **, void **) +void lammps_close(void *) +int lammps_version(void *) +void lammps_file(void *, char *) +char *lammps_command(void *, char *) +void lammps_commands_list(void *, int, char **) +void lammps_commands_string(void *, char *) +void lammps_free(void *) :pre + +The lammps_open() function is used to initialize LAMMPS, passing in a +list of strings as if they were "command-line +arguments"_Section_start.html#start_6 when LAMMPS is run in +stand-alone mode from the command line, and a MPI communicator for +LAMMPS to run under. It returns a ptr to the LAMMPS object that is +created, and which is used in subsequent library calls. The +lammps_open() function can be called multiple times, to create +multiple instances of LAMMPS. + +LAMMPS will run on the set of processors in the communicator. This +means the calling code can run LAMMPS on all or a subset of +processors. For example, a wrapper script might decide to alternate +between LAMMPS and another code, allowing them both to run on all the +processors. Or it might allocate half the processors to LAMMPS and +half to the other code and run both codes simultaneously before +syncing them up periodically. Or it might instantiate multiple +instances of LAMMPS to perform different calculations. + +The lammps_open_no_mpi() function is similar except that no MPI +communicator is passed from the caller. Instead, MPI_COMM_WORLD is +used to instantiate LAMMPS, and MPI is initialized if necessary. + +The lammps_close() function is used to shut down an instance of LAMMPS +and free all its memory. + +The lammps_version() function can be used to determined the specific +version of the underlying LAMMPS code. This is particularly useful +when loading LAMMPS as a shared library via dlopen(). The code using +the library interface can than use this information to adapt to +changes to the LAMMPS command syntax between versions. The returned +LAMMPS version code is an integer (e.g. 2 Sep 2015 results in +20150902) that grows with every new LAMMPS version. + +The lammps_file(), lammps_command(), lammps_commands_list(), and +lammps_commands_string() functions are used to pass one or more +commands to LAMMPS to execute, the same as if they were coming from an +input script. + +Via these functions, the calling code can read or generate a series of +LAMMPS commands one or multiple at a time and pass it thru the library +interface to setup a problem and then run it in stages. The caller +can interleave the command function calls with operations it performs, +calls to extract information from or set information within LAMMPS, or +calls to another code's library. + +The lammps_file() function passes the filename of an input script. +The lammps_command() function passes a single command as a string. +The lammps_commands_list() function passes multiple commands in a +char** list. In both lammps_command() and lammps_commands_list(), +individual commands may or may not have a trailing newline. The +lammps_commands_string() function passes multiple commands +concatenated into one long string, separated by newline characters. +In both lammps_commands_list() and lammps_commands_string(), a single +command can be spread across multiple lines, if the last printable +character of all but the last line is "&", the same as if the lines +appeared in an input script. + +The lammps_free() function is a clean-up function to free memory that +the library allocated previously via other function calls. See +comments in src/library.cpp file for which other functions need this +clean-up. + +The file src/library.cpp also contains these functions for extracting +information from LAMMPS and setting value within LAMMPS. Again, see +the documentation in the src/library.cpp file for details, including +which quantities can be queried by name: + +int lammps_extract_setting(void *, char *) +void *lammps_extract_global(void *, char *) +void lammps_extract_box(void *, double *, double *, + double *, double *, double *, int *, int *) +void *lammps_extract_atom(void *, char *) +void *lammps_extract_compute(void *, char *, int, int) +void *lammps_extract_fix(void *, char *, int, int, int, int) +void *lammps_extract_variable(void *, char *, char *) :pre + +The extract_setting() function returns info on the size +of data types (e.g. 32-bit or 64-bit atom IDs) used +by the LAMMPS executable (a compile-time choice). + +The other extract functions return a pointer to various global or +per-atom quantities stored in LAMMPS or to values calculated by a +compute, fix, or variable. The pointer returned by the +extract_global() function can be used as a permanent reference to a +value which may change. For the extract_atom() method, see the +extract() method in the src/atom.cpp file for a list of valid per-atom +properties. New names could easily be added if the property you want +is not listed. For the other extract functions, the underlying +storage may be reallocated as LAMMPS runs, so you need to re-call the +function to assure a current pointer or returned value(s). + +double lammps_get_thermo(void *, char *) +int lammps_get_natoms(void *) :pre + +int lammps_set_variable(void *, char *, char *) +void lammps_reset_box(void *, double *, double *, double, double, double) :pre + +The lammps_get_thermo() function returns the current value of a thermo +keyword as a double precision value. + +The lammps_get_natoms() function returns the total number of atoms in +the system and can be used by the caller to allocate memory for the +lammps_gather_atoms() and lammps_scatter_atoms() functions. + +The lammps_set_variable() function can set an existing string-style +variable to a new string value, so that subsequent LAMMPS commands can +access the variable. + +The lammps_reset_box() function resets the size and shape of the +simulation box, e.g. as part of restoring a previously extracted and +saved state of a simulation. + +void lammps_gather_atoms(void *, char *, int, int, void *) +void lammps_gather_atoms_concat(void *, char *, int, int, void *) +void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *) +void lammps_scatter_atoms(void *, char *, int, int, void *) +void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *) :pre + +void lammps_create_atoms(void *, int, tagint *, int *, double *, double *, + imageint *, int) :pre + +The gather functions collect peratom info of the requested type (atom +coords, atom types, forces, etc) from all processors, and returns the +same vector of values to each callling processor. The scatter +functions do the inverse. They distribute a vector of peratom values, +passed by all calling processors, to invididual atoms, which may be +owned by different processos. + +The lammps_gather_atoms() function does this for all N atoms in the +system, ordered by atom ID, from 1 to N. The +lammps_gather_atoms_concat() function does it for all N atoms, but +simply concatenates the subset of atoms owned by each processor. The +resulting vector is not ordered by atom ID. Atom IDs can be requetsed +by the same function if the caller needs to know the ordering. The +lammps_gather_subset() function allows the caller to request values +for only a subset of atoms (identified by ID). +For all 3 gather function, per-atom image flags can be retrieved in 2 ways. +If the count is specified as 1, they are returned +in a packed format with all three image flags stored in a single integer. +If the count is specified as 3, the values are unpacked into xyz flags +by the library before returning them. + +The lammps_scatter_atoms() function takes a list of values for all N +atoms in the system, ordered by atom ID, from 1 to N, and assigns +those values to each atom in the system. The +lammps_scatter_atoms_subset() function takes a subset of IDs as an +argument and only scatters those values to the owning atoms. + +The lammps_create_atoms() function takes a list of N atoms as input +with atom types and coords (required), an optionally atom IDs and +velocities and image flags. It uses the coords of each atom to assign +it as a new atom to the processor that owns it. This function is +useful to add atoms to a simulation or (in tandem with +lammps_reset_box()) to restore a previously extracted and saved state +of a simulation. Additional properties for the new atoms can then be +assigned via the lammps_scatter_atoms() or lammps_extract_atom() +functions. diff --git a/doc/src/manifolds.txt b/doc/src/Howto_manifold.txt similarity index 97% rename from doc/src/manifolds.txt rename to doc/src/Howto_manifold.txt index 1013d8fab6..09a936f7d3 100644 --- a/doc/src/manifolds.txt +++ b/doc/src/Howto_manifold.txt @@ -2,11 +2,11 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line -Manifolds (surfaces) :h2 +Manifolds (surfaces) :h3 [Overview:] diff --git a/doc/src/Howto_multiple.txt b/doc/src/Howto_multiple.txt new file mode 100644 index 0000000000..edcb8196cf --- /dev/null +++ b/doc/src/Howto_multiple.txt @@ -0,0 +1,95 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Run multiple simulations from one input script :h3 + +This can be done in several ways. See the documentation for +individual commands for more details on how these examples work. + +If "multiple simulations" means continue a previous simulation for +more timesteps, then you simply use the "run"_run.html command +multiple times. For example, this script + +units lj +atom_style atomic +read_data data.lj +run 10000 +run 10000 +run 10000 +run 10000 +run 10000 :pre + +would run 5 successive simulations of the same system for a total of +50,000 timesteps. + +If you wish to run totally different simulations, one after the other, +the "clear"_clear.html command can be used in between them to +re-initialize LAMMPS. For example, this script + +units lj +atom_style atomic +read_data data.lj +run 10000 +clear +units lj +atom_style atomic +read_data data.lj.new +run 10000 :pre + +would run 2 independent simulations, one after the other. + +For large numbers of independent simulations, you can use +"variables"_variable.html and the "next"_next.html and +"jump"_jump.html commands to loop over the same input script +multiple times with different settings. For example, this +script, named in.polymer + +variable d index run1 run2 run3 run4 run5 run6 run7 run8 +shell cd $d +read_data data.polymer +run 10000 +shell cd .. +clear +next d +jump in.polymer :pre + +would run 8 simulations in different directories, using a data.polymer +file in each directory. The same concept could be used to run the +same system at 8 different temperatures, using a temperature variable +and storing the output in different log and dump files, for example + +variable a loop 8 +variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15 +log log.$a +read data.polymer +velocity all create $t 352839 +fix 1 all nvt $t $t 100.0 +dump 1 all atom 1000 dump.$a +run 100000 +clear +next t +next a +jump in.polymer :pre + +All of the above examples work whether you are running on 1 or +multiple processors, but assumed you are running LAMMPS on a single +partition of processors. LAMMPS can be run on multiple partitions via +the "-partition" command-line switch as described in "this +section"_Section_start.html#start_6 of the manual. + +In the last 2 examples, if LAMMPS were run on 3 partitions, the same +scripts could be used if the "index" and "loop" variables were +replaced with {universe}-style variables, as described in the +"variable"_variable.html command. Also, the "next t" and "next a" +commands would need to be replaced with a single "next a t" command. +With these modifications, the 8 simulations of each script would run +on the 3 partitions one after the other until all were finished. +Initially, 3 simulations would be started simultaneously, one on each +partition. When one finished, that partition would then start +the 4th simulation, and so forth, until all 8 were completed. diff --git a/doc/src/Howto_nemd.txt b/doc/src/Howto_nemd.txt new file mode 100644 index 0000000000..f787801c36 --- /dev/null +++ b/doc/src/Howto_nemd.txt @@ -0,0 +1,48 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +NEMD simulations :h3 + +Non-equilibrium molecular dynamics or NEMD simulations are typically +used to measure a fluid's rheological properties such as viscosity. +In LAMMPS, such simulations can be performed by first setting up a +non-orthogonal simulation box (see the preceding Howto section). + +A shear strain can be applied to the simulation box at a desired +strain rate by using the "fix deform"_fix_deform.html command. The +"fix nvt/sllod"_fix_nvt_sllod.html command can be used to thermostat +the sheared fluid and integrate the SLLOD equations of motion for the +system. Fix nvt/sllod uses "compute +temp/deform"_compute_temp_deform.html to compute a thermal temperature +by subtracting out the streaming velocity of the shearing atoms. The +velocity profile or other properties of the fluid can be monitored via +the "fix ave/chunk"_fix_ave_chunk.html command. + +As discussed in the previous section on non-orthogonal simulation +boxes, the amount of tilt or skew that can be applied is limited by +LAMMPS for computational efficiency to be 1/2 of the parallel box +length. However, "fix deform"_fix_deform.html can continuously strain +a box by an arbitrary amount. As discussed in the "fix +deform"_fix_deform.html command, when the tilt value reaches a limit, +the box is flipped to the opposite limit which is an equivalent tiling +of periodic space. The strain rate can then continue to change as +before. In a long NEMD simulation these box re-shaping events may +occur many times. + +In a NEMD simulation, the "remap" option of "fix +deform"_fix_deform.html should be set to "remap v", since that is what +"fix nvt/sllod"_fix_nvt_sllod.html assumes to generate a velocity +profile consistent with the applied shear strain rate. + +An alternative method for calculating viscosities is provided via the +"fix viscosity"_fix_viscosity.html command. + +NEMD simulations can also be used to measure transport properties of a fluid +through a pore or channel. Simulations of steady-state flow can be performed +using the "fix flow/gauss"_fix_flow_gauss.html command. diff --git a/doc/src/Howto_output.txt b/doc/src/Howto_output.txt new file mode 100644 index 0000000000..a204a3cc96 --- /dev/null +++ b/doc/src/Howto_output.txt @@ -0,0 +1,307 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Output from LAMMPS (thermo, dumps, computes, fixes, variables) :h3 + +There are four basic kinds of LAMMPS output: + +"Thermodynamic output"_thermo_style.html, which is a list +of quantities printed every few timesteps to the screen and logfile. :ulb,l + +"Dump files"_dump.html, which contain snapshots of atoms and various +per-atom values and are written at a specified frequency. :l + +Certain fixes can output user-specified quantities to files: "fix +ave/time"_fix_ave_time.html for time averaging, "fix +ave/chunk"_fix_ave_chunk.html for spatial or other averaging, and "fix +print"_fix_print.html for single-line output of +"variables"_variable.html. Fix print can also output to the +screen. :l + +"Restart files"_restart.html. :l +:ule + +A simulation prints one set of thermodynamic output and (optionally) +restart files. It can generate any number of dump files and fix +output files, depending on what "dump"_dump.html and "fix"_fix.html +commands you specify. + +As discussed below, LAMMPS gives you a variety of ways to determine +what quantities are computed and printed when the thermodynamics, +dump, or fix commands listed above perform output. Throughout this +discussion, note that users can also "add their own computes and fixes +to LAMMPS"_Modify.html which can then generate values that can then be +output with these commands. + +The following sub-sections discuss different LAMMPS command related +to output and the kind of data they operate on and produce: + +"Global/per-atom/local data"_#global +"Scalar/vector/array data"_#scalar +"Thermodynamic output"_#thermo +"Dump file output"_#dump +"Fixes that write output files"_#fixoutput +"Computes that process output quantities"_#computeoutput +"Fixes that process output quantities"_#fixprocoutput +"Computes that generate values to output"_#compute +"Fixes that generate values to output"_#fix +"Variables that generate values to output"_#variable +"Summary table of output options and data flow between commands"_#table :ul + +Global/per-atom/local data :h4,link(global) + +Various output-related commands work with three different styles of +data: global, per-atom, or local. A global datum is one or more +system-wide values, e.g. the temperature of the system. A per-atom +datum is one or more values per atom, e.g. the kinetic energy of each +atom. Local datums are calculated by each processor based on the +atoms it owns, but there may be zero or more per atom, e.g. a list of +bond distances. + +Scalar/vector/array data :h4,link(scalar) + +Global, per-atom, and local datums can each come in three kinds: a +single scalar value, a vector of values, or a 2d array of values. The +doc page for a "compute" or "fix" or "variable" that generates data +will specify both the style and kind of data it produces, e.g. a +per-atom vector. + +When a quantity is accessed, as in many of the output commands +discussed below, it can be referenced via the following bracket +notation, where ID in this case is the ID of a compute. The leading +"c_" would be replaced by "f_" for a fix, or "v_" for a variable: + +c_ID | entire scalar, vector, or array +c_ID\[I\] | one element of vector, one column of array +c_ID\[I\]\[J\] | one element of array :tb(s=|) + +In other words, using one bracket reduces the dimension of the data +once (vector -> scalar, array -> vector). Using two brackets reduces +the dimension twice (array -> scalar). Thus a command that uses +scalar values as input can typically also process elements of a vector +or array. + +Thermodynamic output :h4,link(thermo) + +The frequency and format of thermodynamic output is set by the +"thermo"_thermo.html, "thermo_style"_thermo_style.html, and +"thermo_modify"_thermo_modify.html commands. The +"thermo_style"_thermo_style.html command also specifies what values +are calculated and written out. Pre-defined keywords can be specified +(e.g. press, etotal, etc). Three additional kinds of keywords can +also be specified (c_ID, f_ID, v_name), where a "compute"_compute.html +or "fix"_fix.html or "variable"_variable.html provides the value to be +output. In each case, the compute, fix, or variable must generate +global values for input to the "thermo_style custom"_dump.html +command. + +Note that thermodynamic output values can be "extensive" or +"intensive". The former scale with the number of atoms in the system +(e.g. total energy), the latter do not (e.g. temperature). The +setting for "thermo_modify norm"_thermo_modify.html determines whether +extensive quantities are normalized or not. Computes and fixes +produce either extensive or intensive values; see their individual doc +pages for details. "Equal-style variables"_variable.html produce only +intensive values; you can include a division by "natoms" in the +formula if desired, to make an extensive calculation produce an +intensive result. + +Dump file output :h4,link(dump) + +Dump file output is specified by the "dump"_dump.html and +"dump_modify"_dump_modify.html commands. There are several +pre-defined formats (dump atom, dump xtc, etc). + +There is also a "dump custom"_dump.html format where the user +specifies what values are output with each atom. Pre-defined atom +attributes can be specified (id, x, fx, etc). Three additional kinds +of keywords can also be specified (c_ID, f_ID, v_name), where a +"compute"_compute.html or "fix"_fix.html or "variable"_variable.html +provides the values to be output. In each case, the compute, fix, or +variable must generate per-atom values for input to the "dump +custom"_dump.html command. + +There is also a "dump local"_dump.html format where the user specifies +what local values to output. A pre-defined index keyword can be +specified to enumerate the local values. Two additional kinds of +keywords can also be specified (c_ID, f_ID), where a +"compute"_compute.html or "fix"_fix.html or "variable"_variable.html +provides the values to be output. In each case, the compute or fix +must generate local values for input to the "dump local"_dump.html +command. + +Fixes that write output files :h4,link(fixoutput) + +Several fixes take various quantities as input and can write output +files: "fix ave/time"_fix_ave_time.html, "fix +ave/chunk"_fix_ave_chunk.html, "fix ave/histo"_fix_ave_histo.html, +"fix ave/correlate"_fix_ave_correlate.html, and "fix +print"_fix_print.html. + +The "fix ave/time"_fix_ave_time.html command enables direct output to +a file and/or time-averaging of global scalars or vectors. The user +specifies one or more quantities as input. These can be global +"compute"_compute.html values, global "fix"_fix.html values, or +"variables"_variable.html of any style except the atom style which +produces per-atom values. Since a variable can refer to keywords used +by the "thermo_style custom"_thermo_style.html command (like temp or +press) and individual per-atom values, a wide variety of quantities +can be time averaged and/or output in this way. If the inputs are one +or more scalar values, then the fix generate a global scalar or vector +of output. If the inputs are one or more vector values, then the fix +generates a global vector or array of output. The time-averaged +output of this fix can also be used as input to other output commands. + +The "fix ave/chunk"_fix_ave_chunk.html command enables direct output +to a file of chunk-averaged per-atom quantities like those output in +dump files. Chunks can represent spatial bins or other collections of +atoms, e.g. individual molecules. The per-atom quantities can be atom +density (mass or number) or atom attributes such as position, +velocity, force. They can also be per-atom quantities calculated by a +"compute"_compute.html, by a "fix"_fix.html, or by an atom-style +"variable"_variable.html. The chunk-averaged output of this fix can +also be used as input to other output commands. + +The "fix ave/histo"_fix_ave_histo.html command enables direct output +to a file of histogrammed quantities, which can be global or per-atom +or local quantities. The histogram output of this fix can also be +used as input to other output commands. + +The "fix ave/correlate"_fix_ave_correlate.html command enables direct +output to a file of time-correlated quantities, which can be global +values. The correlation matrix output of this fix can also be used as +input to other output commands. + +The "fix print"_fix_print.html command can generate a line of output +written to the screen and log file or to a separate file, periodically +during a running simulation. The line can contain one or more +"variable"_variable.html values for any style variable except the +vector or atom styles). As explained above, variables themselves can +contain references to global values generated by "thermodynamic +keywords"_thermo_style.html, "computes"_compute.html, +"fixes"_fix.html, or other "variables"_variable.html, or to per-atom +values for a specific atom. Thus the "fix print"_fix_print.html +command is a means to output a wide variety of quantities separate +from normal thermodynamic or dump file output. + +Computes that process output quantities :h4,link(computeoutput) + +The "compute reduce"_compute_reduce.html and "compute +reduce/region"_compute_reduce.html commands take one or more per-atom +or local vector quantities as inputs and "reduce" them (sum, min, max, +ave) to scalar quantities. These are produced as output values which +can be used as input to other output commands. + +The "compute slice"_compute_slice.html command take one or more global +vector or array quantities as inputs and extracts a subset of their +values to create a new vector or array. These are produced as output +values which can be used as input to other output commands. + +The "compute property/atom"_compute_property_atom.html command takes a +list of one or more pre-defined atom attributes (id, x, fx, etc) and +stores the values in a per-atom vector or array. These are produced +as output values which can be used as input to other output commands. +The list of atom attributes is the same as for the "dump +custom"_dump.html command. + +The "compute property/local"_compute_property_local.html command takes +a list of one or more pre-defined local attributes (bond info, angle +info, etc) and stores the values in a local vector or array. These +are produced as output values which can be used as input to other +output commands. + +Fixes that process output quantities :h4,link(fixprocoutput) + +The "fix vector"_fix_vector.html command can create global vectors as +output from global scalars as input, accumulating them one element at +a time. + +The "fix ave/atom"_fix_ave_atom.html command performs time-averaging +of per-atom vectors. The per-atom quantities can be atom attributes +such as position, velocity, force. They can also be per-atom +quantities calculated by a "compute"_compute.html, by a +"fix"_fix.html, or by an atom-style "variable"_variable.html. The +time-averaged per-atom output of this fix can be used as input to +other output commands. + +The "fix store/state"_fix_store_state.html command can archive one or +more per-atom attributes at a particular time, so that the old values +can be used in a future calculation or output. The list of atom +attributes is the same as for the "dump custom"_dump.html command, +including per-atom quantities calculated by a "compute"_compute.html, +by a "fix"_fix.html, or by an atom-style "variable"_variable.html. +The output of this fix can be used as input to other output commands. + +Computes that generate values to output :h4,link(compute) + +Every "compute"_compute.html in LAMMPS produces either global or +per-atom or local values. The values can be scalars or vectors or +arrays of data. These values can be output using the other commands +described in this section. The doc page for each compute command +describes what it produces. Computes that produce per-atom or local +values have the word "atom" or "local" in their style name. Computes +without the word "atom" or "local" produce global values. + +Fixes that generate values to output :h4,link(fix) + +Some "fixes"_fix.html in LAMMPS produces either global or per-atom or +local values which can be accessed by other commands. The values can +be scalars or vectors or arrays of data. These values can be output +using the other commands described in this section. The doc page for +each fix command tells whether it produces any output quantities and +describes them. + +Variables that generate values to output :h4,link(variable) + +"Variables"_variable.html defined in an input script can store one or +more strings. But equal-style, vector-style, and atom-style or +atomfile-style variables generate a global scalar value, global vector +or values, or a per-atom vector, respectively, when accessed. The +formulas used to define these variables can contain references to the +thermodynamic keywords and to global and per-atom data generated by +computes, fixes, and other variables. The values generated by +variables can be used as input to and thus output by the other +commands described in this section. + +Summary table of output options and data flow between commands :h4,link(table) + +This table summarizes the various commands that can be used for +generating output from LAMMPS. Each command produces output data of +some kind and/or writes data to a file. Most of the commands can take +data from other commands as input. Thus you can link many of these +commands together in pipeline form, where data produced by one command +is used as input to another command and eventually written to the +screen or to a file. Note that to hook two commands together the +output and input data types must match, e.g. global/per-atom/local +data and scalar/vector/array data. + +Also note that, as described above, when a command takes a scalar as +input, that could be an element of a vector or array. Likewise a +vector input could be a column of an array. + +Command: Input: Output: +"thermo_style custom"_thermo_style.html: global scalars: screen, log file: +"dump custom"_dump.html: per-atom vectors: dump file: +"dump local"_dump.html: local vectors: dump file: +"fix print"_fix_print.html: global scalar from variable: screen, file: +"print"_print.html: global scalar from variable: screen: +"computes"_compute.html: N/A: global/per-atom/local scalar/vector/array: +"fixes"_fix.html: N/A: global/per-atom/local scalar/vector/array: +"variables"_variable.html: global scalars and vectors, per-atom vectors: global scalar and vector, per-atom vector: +"compute reduce"_compute_reduce.html: per-atom/local vectors: global scalar/vector: +"compute slice"_compute_slice.html: global vectors/arrays: global vector/array: +"compute property/atom"_compute_property_atom.html: per-atom vectors: per-atom vector/array: +"compute property/local"_compute_property_local.html: local vectors: local vector/array: +"fix vector"_fix_vector.html: global scalars: global vector: +"fix ave/atom"_fix_ave_atom.html: per-atom vectors: per-atom vector/array: +"fix ave/time"_fix_ave_time.html: global scalars/vectors: global scalar/vector/array, file: +"fix ave/chunk"_fix_ave_chunk.html: per-atom vectors: global array, file: +"fix ave/histo"_fix_ave_histo.html: global/per-atom/local scalars and vectors: global array, file: +"fix ave/correlate"_fix_ave_correlate.html: global scalars: global array, file: +"fix store/state"_fix_store_state.html: per-atom vectors: per-atom vector/array :tb(c=3,s=:) diff --git a/doc/src/Howto_polarizable.txt b/doc/src/Howto_polarizable.txt new file mode 100644 index 0000000000..b2653b117e --- /dev/null +++ b/doc/src/Howto_polarizable.txt @@ -0,0 +1,81 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Polarizable models :h3 + +In polarizable force fields the charge distributions in molecules and +materials respond to their electrostatic environments. Polarizable +systems can be simulated in LAMMPS using three methods: + +the fluctuating charge method, implemented in the "QEQ"_fix_qeq.html +package, :ulb,l +the adiabatic core-shell method, implemented in the +"CORESHELL"_Howto_coreshell.html package, :l +the thermalized Drude dipole method, implemented in the +"USER-DRUDE"_Howto_drude.html package. :l,ule + +The fluctuating charge method calculates instantaneous charges on +interacting atoms based on the electronegativity equalization +principle. It is implemented in the "fix qeq"_fix_qeq.html which is +available in several variants. It is a relatively efficient technique +since no additional particles are introduced. This method allows for +charge transfer between molecules or atom groups. However, because the +charges are located at the interaction sites, off-plane components of +polarization cannot be represented in planar molecules or atom groups. + +The two other methods share the same basic idea: polarizable atoms are +split into one core atom and one satellite particle (called shell or +Drude particle) attached to it by a harmonic spring. Both atoms bear +a charge and they represent collectively an induced electric dipole. +These techniques are computationally more expensive than the QEq +method because of additional particles and bonds. These two +charge-on-spring methods differ in certain features, with the +core-shell model being normally used for ionic/crystalline materials, +whereas the so-called Drude model is normally used for molecular +systems and fluid states. + +The core-shell model is applicable to crystalline materials where the +high symmetry around each site leads to stable trajectories of the +core-shell pairs. However, bonded atoms in molecules can be so close +that a core would interact too strongly or even capture the Drude +particle of a neighbor. The Drude dipole model is relatively more +complex in order to remediate this and other issues. Specifically, the +Drude model includes specific thermostating of the core-Drude pairs +and short-range damping of the induced dipoles. + +The three polarization methods can be implemented through a +self-consistent calculation of charges or induced dipoles at each +timestep. In the fluctuating charge scheme this is done by the matrix +inversion method in "fix qeq/point"_fix_qeq.html, but for core-shell +or Drude-dipoles the relaxed-dipoles technique would require an slow +iterative procedure. These self-consistent solutions yield accurate +trajectories since the additional degrees of freedom representing +polarization are massless. An alternative is to attribute a mass to +the additional degrees of freedom and perform time integration using +an extended Lagrangian technique. For the fluctuating charge scheme +this is done by "fix qeq/dynamic"_fix_qeq.html, and for the +charge-on-spring models by the methods outlined in the next two +sections. The assignment of masses to the additional degrees of +freedom can lead to unphysical trajectories if care is not exerted in +choosing the parameters of the polarizable models and the simulation +conditions. + +In the core-shell model the vibration of the shells is kept faster +than the ionic vibrations to mimic the fast response of the +polarizable electrons. But in molecular systems thermalizing the +core-Drude pairs at temperatures comparable to the rest of the +simulation leads to several problems (kinetic energy transfer, too +short a timestep, etc.) In order to avoid these problems the relative +motion of the Drude particles with respect to their cores is kept +"cold" so the vibration of the core-Drude pairs is very slow, +approaching the self-consistent regime. In both models the +temperature is regulated using the velocities of the center of mass of +core+shell (or Drude) pairs, but in the Drude model the actual +relative core-Drude particle motion is thermostated separately as +well. diff --git a/doc/src/tutorial_pylammps.txt b/doc/src/Howto_pylammps.txt similarity index 95% rename from doc/src/tutorial_pylammps.txt rename to doc/src/Howto_pylammps.txt index 11cddb3cbf..8be4b66e78 100644 --- a/doc/src/tutorial_pylammps.txt +++ b/doc/src/Howto_pylammps.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -15,13 +15,19 @@ END_RST --> Overview :h4 -PyLammps is a Python wrapper class which can be created on its own or use an -existing lammps Python object. It creates a simpler, Python-like interface to -common LAMMPS functionality. Unlike the original flat C-types interface, it -exposes a discoverable API. It no longer requires knowledge of the underlying -C++ code implementation. Finally, the IPyLammps wrapper builds on top of -PyLammps and adds some additional features for IPython integration into IPython -notebooks, e.g. for embedded visualization output from dump/image. +PyLammps is a Python wrapper class which can be created on its own or +use an existing lammps Python object. It creates a simpler, +Python-like interface to common LAMMPS functionality, in contrast to +the lammps.py wrapper on the C-style LAMMPS library interface which is +written using Python ctypes. The lammps.py wrapper is discussed on +the "Python library"_Python_library.html doc page. + +Unlike the flat ctypes interface, PyLammps exposes a discoverable API. +It no longer requires knowledge of the underlying C++ code +implementation. Finally, the IPyLammps wrapper builds on top of +PyLammps and adds some additional features for IPython integration +into IPython notebooks, e.g. for embedded visualization output from +dump/image. Comparison of lammps and PyLammps interfaces :h5 @@ -40,7 +46,6 @@ communication with LAMMPS is hidden from API user shorter, more concise Python better IPython integration, designed for quick prototyping :ul - Quick Start :h4 System-wide Installation :h5 diff --git a/doc/src/Howto_replica.txt b/doc/src/Howto_replica.txt new file mode 100644 index 0000000000..1b44fe5374 --- /dev/null +++ b/doc/src/Howto_replica.txt @@ -0,0 +1,61 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Multi-replica simulations :h3 + +Several commands in LAMMPS run mutli-replica simulations, meaning +that multiple instances (replicas) of your simulation are run +simultaneously, with small amounts of data exchanged between replicas +periodically. + +These are the relevant commands: + +"neb"_neb.html for nudged elastic band calculations +"prd"_prd.html for parallel replica dynamics +"tad"_tad.html for temperature accelerated dynamics +"temper"_temper.html for parallel tempering +"fix pimd"_fix_pimd.html for path-integral molecular dynamics (PIMD) :ul + +NEB is a method for finding transition states and barrier energies. +PRD and TAD are methods for performing accelerated dynamics to find +and perform infrequent events. Parallel tempering or replica exchange +runs different replicas at a series of temperature to facilitate +rare-event sampling. + +These commands can only be used if LAMMPS was built with the REPLICA +package. See the "Making LAMMPS"_Section_start.html#start_3 section +for more info on packages. + +PIMD runs different replicas whose individual particles are coupled +together by springs to model a system or ring-polymers. + +This commands can only be used if LAMMPS was built with the USER-MISC +package. See the "Making LAMMPS"_Section_start.html#start_3 section +for more info on packages. + +In all these cases, you must run with one or more processors per +replica. The processors assigned to each replica are determined at +run-time by using the "-partition command-line +switch"_Section_start.html#start_6 to launch LAMMPS on multiple +partitions, which in this context are the same as replicas. E.g. +these commands: + +mpirun -np 16 lmp_linux -partition 8x2 -in in.temper +mpirun -np 8 lmp_linux -partition 8x1 -in in.neb :pre + +would each run 8 replicas, on either 16 or 8 processors. Note the use +of the "-in command-line switch"_Section_start.html#start_6 to specify +the input script which is required when running in multi-replica mode. + +Also note that with MPI installed on a machine (e.g. your desktop), +you can run on more (virtual) processors than you have physical +processors. Thus the above commands could be run on a +single-processor (or few-processor) desktop so that you can run +a multi-replica simulation on more replicas than you have +physical processors. diff --git a/doc/src/Howto_restart.txt b/doc/src/Howto_restart.txt new file mode 100644 index 0000000000..b211775479 --- /dev/null +++ b/doc/src/Howto_restart.txt @@ -0,0 +1,97 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Restart a simulation :h3 + +There are 3 ways to continue a long LAMMPS simulation. Multiple +"run"_run.html commands can be used in the same input script. Each +run will continue from where the previous run left off. Or binary +restart files can be saved to disk using the "restart"_restart.html +command. At a later time, these binary files can be read via a +"read_restart"_read_restart.html command in a new script. Or they can +be converted to text data files using the "-r command-line +switch"_Section_start.html#start_6 and read by a +"read_data"_read_data.html command in a new script. + +Here we give examples of 2 scripts that read either a binary restart +file or a converted data file and then issue a new run command to +continue where the previous run left off. They illustrate what +settings must be made in the new script. Details are discussed in the +documentation for the "read_restart"_read_restart.html and +"read_data"_read_data.html commands. + +Look at the {in.chain} input script provided in the {bench} directory +of the LAMMPS distribution to see the original script that these 2 +scripts are based on. If that script had the line + +restart 50 tmp.restart :pre + +added to it, it would produce 2 binary restart files (tmp.restart.50 +and tmp.restart.100) as it ran. + +This script could be used to read the 1st restart file and re-run the +last 50 timesteps: + +read_restart tmp.restart.50 :pre + +neighbor 0.4 bin +neigh_modify every 1 delay 1 :pre + +fix 1 all nve +fix 2 all langevin 1.0 1.0 10.0 904297 :pre + +timestep 0.012 :pre + +run 50 :pre + +Note that the following commands do not need to be repeated because +their settings are included in the restart file: {units, atom_style, +special_bonds, pair_style, bond_style}. However these commands do +need to be used, since their settings are not in the restart file: +{neighbor, fix, timestep}. + +If you actually use this script to perform a restarted run, you will +notice that the thermodynamic data match at step 50 (if you also put a +"thermo 50" command in the original script), but do not match at step +100. This is because the "fix langevin"_fix_langevin.html command +uses random numbers in a way that does not allow for perfect restarts. + +As an alternate approach, the restart file could be converted to a data +file as follows: + +lmp_g++ -r tmp.restart.50 tmp.restart.data :pre + +Then, this script could be used to re-run the last 50 steps: + +units lj +atom_style bond +pair_style lj/cut 1.12 +pair_modify shift yes +bond_style fene +special_bonds 0.0 1.0 1.0 :pre + +read_data tmp.restart.data :pre + +neighbor 0.4 bin +neigh_modify every 1 delay 1 :pre + +fix 1 all nve +fix 2 all langevin 1.0 1.0 10.0 904297 :pre + +timestep 0.012 :pre + +reset_timestep 50 +run 50 :pre + +Note that nearly all the settings specified in the original {in.chain} +script must be repeated, except the {pair_coeff} and {bond_coeff} +commands since the new data file lists the force field coefficients. +Also, the "reset_timestep"_reset_timestep.html command is used to tell +LAMMPS the current timestep. This value is stored in restart files, +but not in data files. diff --git a/doc/src/Howto_spc.txt b/doc/src/Howto_spc.txt new file mode 100644 index 0000000000..2cbf16547b --- /dev/null +++ b/doc/src/Howto_spc.txt @@ -0,0 +1,54 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +SPC water model :h3 + +The SPC water model specifies a 3-site rigid water molecule with +charges and Lennard-Jones parameters assigned to each of the 3 atoms. +In LAMMPS the "fix shake"_fix_shake.html command can be used to hold +the two O-H bonds and the H-O-H angle rigid. A bond style of +{harmonic} and an angle style of {harmonic} or {charmm} should also be +used. + +These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid SPC model. + +O mass = 15.9994 +H mass = 1.008 +O charge = -0.820 +H charge = 0.410 +LJ epsilon of OO = 0.1553 +LJ sigma of OO = 3.166 +LJ epsilon, sigma of OH, HH = 0.0 +r0 of OH bond = 1.0 +theta of HOH angle = 109.47 :all(b),p + +Note that as originally proposed, the SPC model was run with a 9 +Angstrom cutoff for both LJ and Coulommbic terms. It can also be used +with long-range Coulombics (Ewald or PPPM in LAMMPS), without changing +any of the parameters above, though it becomes a different model in +that mode of usage. + +The SPC/E (extended) water model is the same, except +the partial charge assignments change: + +O charge = -0.8476 +H charge = 0.4238 :all(b),p + +See the "(Berendsen)"_#howto-Berendsen reference for more details on both +the SPC and SPC/E models. + +Wikipedia also has a nice article on "water +models"_http://en.wikipedia.org/wiki/Water_model. + +:line + +:link(howto-Berendsen) +[(Berendsen)] Berendsen, Grigera, Straatsma, J Phys Chem, 91, +6269-6271 (1987). diff --git a/doc/src/Howto_spherical.txt b/doc/src/Howto_spherical.txt new file mode 100644 index 0000000000..1e737df655 --- /dev/null +++ b/doc/src/Howto_spherical.txt @@ -0,0 +1,243 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Finite-size spherical and aspherical particles :h3 + +Typical MD models treat atoms or particles as point masses. Sometimes +it is desirable to have a model with finite-size particles such as +spheroids or ellipsoids or generalized aspherical bodies. The +difference is that such particles have a moment of inertia, rotational +energy, and angular momentum. Rotation is induced by torque coming +from interactions with other particles. + +LAMMPS has several options for running simulations with these kinds of +particles. The following aspects are discussed in turn: + +atom styles +pair potentials +time integration +computes, thermodynamics, and dump output +rigid bodies composed of finite-size particles :ul + +Example input scripts for these kinds of models are in the body, +colloid, dipole, ellipse, line, peri, pour, and tri directories of the +"examples directory"_Examples.html in the LAMMPS distribution. + +Atom styles :h4 + +There are several "atom styles"_atom_style.html that allow for +definition of finite-size particles: sphere, dipole, ellipsoid, line, +tri, peri, and body. + +The sphere style defines particles that are spheriods and each +particle can have a unique diameter and mass (or density). These +particles store an angular velocity (omega) and can be acted upon by +torque. The "set" command can be used to modify the diameter and mass +of individual particles, after then are created. + +The dipole style does not actually define finite-size particles, but +is often used in conjunction with spherical particles, via a command +like + +atom_style hybrid sphere dipole :pre + +This is because when dipoles interact with each other, they induce +torques, and a particle must be finite-size (i.e. have a moment of +inertia) in order to respond and rotate. See the "atom_style +dipole"_atom_style.html command for details. The "set" command can be +used to modify the orientation and length of the dipole moment of +individual particles, after then are created. + +The ellipsoid style defines particles that are ellipsoids and thus can +be aspherical. Each particle has a shape, specified by 3 diameters, +and mass (or density). These particles store an angular momentum and +their orientation (quaternion), and can be acted upon by torque. They +do not store an angular velocity (omega), which can be in a different +direction than angular momentum, rather they compute it as needed. +The "set" command can be used to modify the diameter, orientation, and +mass of individual particles, after then are created. It also has a +brief explanation of what quaternions are. + +The line style defines line segment particles with two end points and +a mass (or density). They can be used in 2d simulations, and they can +be joined together to form rigid bodies which represent arbitrary +polygons. + +The tri style defines triangular particles with three corner points +and a mass (or density). They can be used in 3d simulations, and they +can be joined together to form rigid bodies which represent arbitrary +particles with a triangulated surface. + +The peri style is used with "Peridynamic models"_pair_peri.html and +defines particles as having a volume, that is used internally in the +"pair_style peri"_pair_peri.html potentials. + +The body style allows for definition of particles which can represent +complex entities, such as surface meshes of discrete points, +collections of sub-particles, deformable objects, etc. The body style +is discussed in more detail on the "Howto body"_Howto_body.html doc +page. + +Note that if one of these atom styles is used (or multiple styles via +the "atom_style hybrid"_atom_style.html command), not all particles in +the system are required to be finite-size or aspherical. + +For example, in the ellipsoid style, if the 3 shape parameters are set +to the same value, the particle will be a sphere rather than an +ellipsoid. If the 3 shape parameters are all set to 0.0 or if the +diameter is set to 0.0, it will be a point particle. In the line or +tri style, if the lineflag or triflag is specified as 0, then it +will be a point particle. + +Some of the pair styles used to compute pairwise interactions between +finite-size particles also compute the correct interaction with point +particles as well, e.g. the interaction between a point particle and a +finite-size particle or between two point particles. If necessary, +"pair_style hybrid"_pair_hybrid.html can be used to insure the correct +interactions are computed for the appropriate style of interactions. +Likewise, using groups to partition particles (ellipsoids versus +spheres versus point particles) will allow you to use the appropriate +time integrators and temperature computations for each class of +particles. See the doc pages for various commands for details. + +Also note that for "2d simulations"_dimension.html, atom styles sphere +and ellipsoid still use 3d particles, rather than as circular disks or +ellipses. This means they have the same moment of inertia as the 3d +object. When temperature is computed, the correct degrees of freedom +are used for rotation in a 2d versus 3d system. + +Pair potentials :h4 + +When a system with finite-size particles is defined, the particles +will only rotate and experience torque if the force field computes +such interactions. These are the various "pair +styles"_pair_style.html that generate torque: + +"pair_style gran/history"_pair_gran.html +"pair_style gran/hertzian"_pair_gran.html +"pair_style gran/no_history"_pair_gran.html +"pair_style dipole/cut"_pair_dipole.html +"pair_style gayberne"_pair_gayberne.html +"pair_style resquared"_pair_resquared.html +"pair_style brownian"_pair_brownian.html +"pair_style lubricate"_pair_lubricate.html +"pair_style line/lj"_pair_line_lj.html +"pair_style tri/lj"_pair_tri_lj.html +"pair_style body/nparticle"_pair_body_nparticle.html :ul + +The granular pair styles are used with spherical particles. The +dipole pair style is used with the dipole atom style, which could be +applied to spherical or ellipsoidal particles. The GayBerne and +REsquared potentials require ellipsoidal particles, though they will +also work if the 3 shape parameters are the same (a sphere). The +Brownian and lubrication potentials are used with spherical particles. +The line, tri, and body potentials are used with line segment, +triangular, and body particles respectively. + +Time integration :h4 + +There are several fixes that perform time integration on finite-size +spherical particles, meaning the integrators update the rotational +orientation and angular velocity or angular momentum of the particles: + +"fix nve/sphere"_fix_nve_sphere.html +"fix nvt/sphere"_fix_nvt_sphere.html +"fix npt/sphere"_fix_npt_sphere.html :ul + +Likewise, there are 3 fixes that perform time integration on +ellipsoidal particles: + +"fix nve/asphere"_fix_nve_asphere.html +"fix nvt/asphere"_fix_nvt_asphere.html +"fix npt/asphere"_fix_npt_asphere.html :ul + +The advantage of these fixes is that those which thermostat the +particles include the rotational degrees of freedom in the temperature +calculation and thermostatting. The "fix langevin"_fix_langevin +command can also be used with its {omgea} or {angmom} options to +thermostat the rotational degrees of freedom for spherical or +ellipsoidal particles. Other thermostatting fixes only operate on the +translational kinetic energy of finite-size particles. + +These fixes perform constant NVE time integration on line segment, +triangular, and body particles: + +"fix nve/line"_fix_nve_line.html +"fix nve/tri"_fix_nve_tri.html +"fix nve/body"_fix_nve_body.html :ul + +Note that for mixtures of point and finite-size particles, these +integration fixes can only be used with "groups"_group.html which +contain finite-size particles. + +Computes, thermodynamics, and dump output :h4 + +There are several computes that calculate the temperature or +rotational energy of spherical or ellipsoidal particles: + +"compute temp/sphere"_compute_temp_sphere.html +"compute temp/asphere"_compute_temp_asphere.html +"compute erotate/sphere"_compute_erotate_sphere.html +"compute erotate/asphere"_compute_erotate_asphere.html :ul + +These include rotational degrees of freedom in their computation. If +you wish the thermodynamic output of temperature or pressure to use +one of these computes (e.g. for a system entirely composed of +finite-size particles), then the compute can be defined and the +"thermo_modify"_thermo_modify.html command used. Note that by default +thermodynamic quantities will be calculated with a temperature that +only includes translational degrees of freedom. See the +"thermo_style"_thermo_style.html command for details. + +These commands can be used to output various attributes of finite-size +particles: + +"dump custom"_dump.html +"compute property/atom"_compute_property_atom.html +"dump local"_dump.html +"compute body/local"_compute_body_local.html :ul + +Attributes include the dipole moment, the angular velocity, the +angular momentum, the quaternion, the torque, the end-point and +corner-point coordinates (for line and tri particles), and +sub-particle attributes of body particles. + +Rigid bodies composed of finite-size particles :h4 + +The "fix rigid"_fix_rigid.html command treats a collection of +particles as a rigid body, computes its inertia tensor, sums the total +force and torque on the rigid body each timestep due to forces on its +constituent particles, and integrates the motion of the rigid body. + +If any of the constituent particles of a rigid body are finite-size +particles (spheres or ellipsoids or line segments or triangles), then +their contribution to the inertia tensor of the body is different than +if they were point particles. This means the rotational dynamics of +the rigid body will be different. Thus a model of a dimer is +different if the dimer consists of two point masses versus two +spheroids, even if the two particles have the same mass. Finite-size +particles that experience torque due to their interaction with other +particles will also impart that torque to a rigid body they are part +of. + +See the "fix rigid" command for example of complex rigid-body models +it is possible to define in LAMMPS. + +Note that the "fix shake"_fix_shake.html command can also be used to +treat 2, 3, or 4 particles as a rigid body, but it always assumes the +particles are point masses. + +Also note that body particles cannot be modeled with the "fix +rigid"_fix_rigid.html command. Body particles are treated by LAMMPS +as single particles, though they can store internal state, such as a +list of sub-particles. Individual body partices are typically treated +as rigid bodies, and their motion integrated with a command like "fix +nve/body"_fix_nve_body.html. Interactions between pairs of body +particles are computed via a command like "pair_style +body/nparticle"_pair_body_nparticle.html. diff --git a/doc/src/Howto_spins.txt b/doc/src/Howto_spins.txt new file mode 100644 index 0000000000..1b9adb49a5 --- /dev/null +++ b/doc/src/Howto_spins.txt @@ -0,0 +1,59 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Magnetic spins :h3 + +The magnetic spin simualtions are enabled by the SPIN package, whose +implementation is detailed in "Tranchida"_#Tranchida7. + +The model representents the simulation of atomic magnetic spins coupled +to lattice vibrations. The dynamics of those magnetic spins can be used +to simulate a broad range a phenomena related to magneto-elasticity, or +or to study the influence of defects on the magnetic properties of +materials. + +The magnetic spins are interacting with each others and with the +lattice via pair interactions. Typically, the magnetic exchange +interaction can be defined using the +"pair/spin/exchange"_pair_spin_exchange.html command. This exchange +applies a magnetic torque to a given spin, considering the orientation +of its neighboring spins and their relative distances. +It also applies a force on the atoms as a function of the spin +orientations and their associated inter-atomic distances. + +The command "fix precession/spin"_fix_precession_spin.html allows to +apply a constant magnetic torque on all the spins in the system. This +torque can be an external magnetic field (Zeeman interaction), or an +uniaxial magnetic anisotropy. + +A Langevin thermostat can be applied to those magnetic spins using +"fix langevin/spin"_fix_langevin_spin.html. Typically, this thermostat +can be coupled to another Langevin thermostat applied to the atoms +using "fix langevin"_fix_langevin.html in order to simulate +thermostated spin-lattice system. + +The magnetic Gilbert damping can also be applied using "fix +langevin/spin"_fix_langevin_spin.html. It allows to either dissipate +the thermal energy of the Langevin thermostat, or to perform a +relaxation of the magnetic configuration toward an equilibrium state. + +All the computed magnetic properties can be outputed by two main +commands. The first one is "compute spin"_compute_spin.html, that +enables to evaluate magnetic averaged quantities, such as the total +magnetization of the system along x, y, or z, the spin temperature, or +the magnetic energy. The second command is "compute +property/atom"_compute_property_atom.html. It enables to output all the +per atom magnetic quantities. Typically, the orientation of a given +magnetic spin, or the magnetic force acting on this spin. + +:line + +:link(Tranchida7) +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, +arXiv preprint arXiv:1801.10233, (2018). diff --git a/doc/src/Howto_temperature.txt b/doc/src/Howto_temperature.txt new file mode 100644 index 0000000000..7a318250cf --- /dev/null +++ b/doc/src/Howto_temperature.txt @@ -0,0 +1,40 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Calcalate temperature :h3 + +Temperature is computed as kinetic energy divided by some number of +degrees of freedom (and the Boltzmann constant). Since kinetic energy +is a function of particle velocity, there is often a need to +distinguish between a particle's advection velocity (due to some +aggregate motion of particles) and its thermal velocity. The sum of +the two is the particle's total velocity, but the latter is often what +is wanted to compute a temperature. + +LAMMPS has several options for computing temperatures, any of which can be used in "thermostatting"_Howto_thermostat.html and "barostatting"_Howto_barostat.html. These "compute commands"_compute.html calculate temperature: + +"compute temp"_compute_temp.html +"compute temp/sphere"_compute_temp_sphere.html +"compute temp/asphere"_compute_temp_asphere.html +"compute temp/com"_compute_temp_com.html +"compute temp/deform"_compute_temp_deform.html +"compute temp/partial"_compute_temp_partial.html +"compute temp/profile"_compute_temp_profile.html +"compute temp/ramp"_compute_temp_ramp.html +"compute temp/region"_compute_temp_region.html :ul + +All but the first 3 calculate velocity biases directly (e.g. advection +velocities) that are removed when computing the thermal temperature. +"Compute temp/sphere"_compute_temp_sphere.html and "compute +temp/asphere"_compute_temp_asphere.html compute kinetic energy for +finite-size particles that includes rotational degrees of freedom. +They both allow for velocity biases indirectly, via an optional extra +argument which is another temperature compute that subtracts a velocity bias. +This allows the translational velocity of spherical or aspherical +particles to be adjusted in prescribed ways. diff --git a/doc/src/Howto_thermostat.txt b/doc/src/Howto_thermostat.txt new file mode 100644 index 0000000000..0e2feb1869 --- /dev/null +++ b/doc/src/Howto_thermostat.txt @@ -0,0 +1,89 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Thermostats :h3 + +Thermostatting means controlling the temperature of particles in an MD +simulation. "Barostatting"_Howto_barostat.html means controlling the +pressure. Since the pressure includes a kinetic component due to +particle velocities, both these operations require calculation of the +temperature. Typically a target temperature (T) and/or pressure (P) +is specified by the user, and the thermostat or barostat attempts to +equilibrate the system to the requested T and/or P. + +Thermostatting in LAMMPS is performed by "fixes"_fix.html, or in one +case by a pair style. Several thermostatting fixes are available: +Nose-Hoover (nvt), Berendsen, CSVR, Langevin, and direct rescaling +(temp/rescale). Dissipative particle dynamics (DPD) thermostatting +can be invoked via the {dpd/tstat} pair style: + +"fix nvt"_fix_nh.html +"fix nvt/sphere"_fix_nvt_sphere.html +"fix nvt/asphere"_fix_nvt_asphere.html +"fix nvt/sllod"_fix_nvt_sllod.html +"fix temp/berendsen"_fix_temp_berendsen.html +"fix temp/csvr"_fix_temp_csvr.html +"fix langevin"_fix_langevin.html +"fix temp/rescale"_fix_temp_rescale.html +"pair_style dpd/tstat"_pair_dpd.html :ul + +"Fix nvt"_fix_nh.html only thermostats the translational velocity of +particles. "Fix nvt/sllod"_fix_nvt_sllod.html also does this, except +that it subtracts out a velocity bias due to a deforming box and +integrates the SLLOD equations of motion. See the "Howto +nemd"_Howto_nemd.html doc page for further details. "Fix +nvt/sphere"_fix_nvt_sphere.html and "fix +nvt/asphere"_fix_nvt_asphere.html thermostat not only translation +velocities but also rotational velocities for spherical and aspherical +particles. + +DPD thermostatting alters pairwise interactions in a manner analogous +to the per-particle thermostatting of "fix +langevin"_fix_langevin.html. + +Any of the thermostatting fixes can use "temperature +computes"_Howto_thermostat.html that remove bias which has two +effects. First, the current calculated temperature, which is compared +to the requested target temperature, is calculated with the velocity +bias removed. Second, the thermostat adjusts only the thermal +temperature component of the particle's velocities, which are the +velocities with the bias removed. The removed bias is then added back +to the adjusted velocities. See the doc pages for the individual +fixes and for the "fix_modify"_fix_modify.html command for +instructions on how to assign a temperature compute to a +thermostatting fix. For example, you can apply a thermostat to only +the x and z components of velocity by using it in conjunction with +"compute temp/partial"_compute_temp_partial.html. Of you could +thermostat only the thermal temperature of a streaming flow of +particles without affecting the streaming velocity, by using "compute +temp/profile"_compute_temp_profile.html. + +NOTE: Only the nvt fixes perform time integration, meaning they update +the velocities and positions of particles due to forces and velocities +respectively. The other thermostat fixes only adjust velocities; they +do NOT perform time integration updates. Thus they should be used in +conjunction with a constant NVE integration fix such as these: + +"fix nve"_fix_nve.html +"fix nve/sphere"_fix_nve_sphere.html +"fix nve/asphere"_fix_nve_asphere.html :ul + +Thermodynamic output, which can be setup via the +"thermo_style"_thermo_style.html command, often includes temperature +values. As explained on the doc page for the +"thermo_style"_thermo_style.html command, the default temperature is +setup by the thermo command itself. It is NOT the temperature +associated with any thermostatting fix you have defined or with any +compute you have defined that calculates a temperature. The doc pages +for the thermostatting fixes explain the ID of the temperature compute +they create. Thus if you want to view these temperatures, you need to +specify them explicitly via the "thermo_style +custom"_thermo_style.html command. Or you can use the +"thermo_modify"_thermo_modify.html command to re-define what +temperature compute is used for default thermodynamic output. diff --git a/doc/src/Howto_tip3p.txt b/doc/src/Howto_tip3p.txt new file mode 100644 index 0000000000..942b42aea1 --- /dev/null +++ b/doc/src/Howto_tip3p.txt @@ -0,0 +1,69 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +TIP3P water model :h3 + +The TIP3P water model as implemented in CHARMM +"(MacKerell)"_#howto-MacKerell specifies a 3-site rigid water molecule with +charges and Lennard-Jones parameters assigned to each of the 3 atoms. +In LAMMPS the "fix shake"_fix_shake.html command can be used to hold +the two O-H bonds and the H-O-H angle rigid. A bond style of +{harmonic} and an angle style of {harmonic} or {charmm} should also be +used. + +These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid TIP3P-CHARMM model with a +cutoff. The K values can be used if a flexible TIP3P model (without +fix shake) is desired. If the LJ epsilon and sigma for HH and OH are +set to 0.0, it corresponds to the original 1983 TIP3P model +"(Jorgensen)"_#Jorgensen1. + +O mass = 15.9994 +H mass = 1.008 +O charge = -0.834 +H charge = 0.417 +LJ epsilon of OO = 0.1521 +LJ sigma of OO = 3.1507 +LJ epsilon of HH = 0.0460 +LJ sigma of HH = 0.4000 +LJ epsilon of OH = 0.0836 +LJ sigma of OH = 1.7753 +K of OH bond = 450 +r0 of OH bond = 0.9572 +K of HOH angle = 55 +theta of HOH angle = 104.52 :all(b),p + +These are the parameters to use for TIP3P with a long-range Coulombic +solver (e.g. Ewald or PPPM in LAMMPS), see "(Price)"_#Price1 for +details: + +O mass = 15.9994 +H mass = 1.008 +O charge = -0.830 +H charge = 0.415 +LJ epsilon of OO = 0.102 +LJ sigma of OO = 3.188 +LJ epsilon, sigma of OH, HH = 0.0 +K of OH bond = 450 +r0 of OH bond = 0.9572 +K of HOH angle = 55 +theta of HOH angle = 104.52 :all(b),p + +Wikipedia also has a nice article on "water +models"_http://en.wikipedia.org/wiki/Water_model. + +:line + +:link(Jorgensen1) +[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem +Phys, 79, 926 (1983). + +:link(Price1) +[(Price)] Price and Brooks, J Chem Phys, 121, 10096 (2004). + diff --git a/doc/src/Howto_tip4p.txt b/doc/src/Howto_tip4p.txt new file mode 100644 index 0000000000..f9e548e268 --- /dev/null +++ b/doc/src/Howto_tip4p.txt @@ -0,0 +1,112 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +TIP4P water model :h3 + +The four-point TIP4P rigid water model extends the traditional +three-point TIP3P model by adding an additional site, usually +massless, where the charge associated with the oxygen atom is placed. +This site M is located at a fixed distance away from the oxygen along +the bisector of the HOH bond angle. A bond style of {harmonic} and an +angle style of {harmonic} or {charmm} should also be used. + +A TIP4P model is run with LAMMPS using either this command +for a cutoff model: + +"pair_style lj/cut/tip4p/cut"_pair_lj.html + +or these two commands for a long-range model: + +"pair_style lj/cut/tip4p/long"_pair_lj.html +"kspace_style pppm/tip4p"_kspace_style.html :ul + +For both models, the bond lengths and bond angles should be held fixed +using the "fix shake"_fix_shake.html command. + +These are the additional parameters (in real units) to set for O and H +atoms and the water molecule to run a rigid TIP4P model with a cutoff +"(Jorgensen)"_#Jorgensen1. Note that the OM distance is specified in +the "pair_style"_pair_style.html command, not as part of the pair +coefficients. + +O mass = 15.9994 +H mass = 1.008 +O charge = -1.040 +H charge = 0.520 +r0 of OH bond = 0.9572 +theta of HOH angle = 104.52 +OM distance = 0.15 +LJ epsilon of O-O = 0.1550 +LJ sigma of O-O = 3.1536 +LJ epsilon, sigma of OH, HH = 0.0 +Coulombic cutoff = 8.5 :all(b),p + +For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005); +http://dx.doi.org/10.1063/1.1931662) these values can be used: + +O mass = 15.9994 +H mass = 1.008 +O charge = -1.1794 +H charge = 0.5897 +r0 of OH bond = 0.9572 +theta of HOH angle = 104.52 +OM distance = 0.1577 +LJ epsilon of O-O = 0.21084 +LJ sigma of O-O = 3.1668 +LJ epsilon, sigma of OH, HH = 0.0 +Coulombic cutoff = 8.5 :all(b),p + +For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005); +http://dx.doi.org/10.1063/1.2121687), these values can be used: + +O mass = 15.9994 +H mass = 1.008 +O charge = -1.1128 +H charge = 0.5564 +r0 of OH bond = 0.9572 +theta of HOH angle = 104.52 +OM distance = 0.1546 +LJ epsilon of O-O = 0.1852 +LJ sigma of O-O = 3.1589 +LJ epsilon, sigma of OH, HH = 0.0 +Coulombic cutoff = 8.5 :all(b),p + +These are the parameters to use for TIP4P with a long-range Coulombic +solver (e.g. Ewald or PPPM in LAMMPS): + +O mass = 15.9994 +H mass = 1.008 +O charge = -1.0484 +H charge = 0.5242 +r0 of OH bond = 0.9572 +theta of HOH angle = 104.52 +OM distance = 0.1250 +LJ epsilon of O-O = 0.16275 +LJ sigma of O-O = 3.16435 +LJ epsilon, sigma of OH, HH = 0.0 :all(b),p + +Note that the when using the TIP4P pair style, the neighbor list +cutoff for Coulomb interactions is effectively extended by a distance +2 * (OM distance), to account for the offset distance of the +fictitious charges on O atoms in water molecules. Thus it is +typically best in an efficiency sense to use a LJ cutoff >= Coulomb +cutoff + 2*(OM distance), to shrink the size of the neighbor list. +This leads to slightly larger cost for the long-range calculation, so +you can test the trade-off for your model. The OM distance and the LJ +and Coulombic cutoffs are set in the "pair_style +lj/cut/tip4p/long"_pair_lj.html command. + +Wikipedia also has a nice article on "water +models"_http://en.wikipedia.org/wiki/Water_model. + +:line + +:link(Jorgensen1) +[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem +Phys, 79, 926 (1983). diff --git a/doc/src/Howto_triclinic.txt b/doc/src/Howto_triclinic.txt new file mode 100644 index 0000000000..4b299e5ae1 --- /dev/null +++ b/doc/src/Howto_triclinic.txt @@ -0,0 +1,213 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +Triclinic (non-orthogonal) simulation boxes :h3 + +By default, LAMMPS uses an orthogonal simulation box to encompass the +particles. The "boundary"_boundary.html command sets the boundary +conditions of the box (periodic, non-periodic, etc). The orthogonal +box has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors +starting from the origin given by [a] = (xhi-xlo,0,0); [b] = +(0,yhi-ylo,0); [c] = (0,0,zhi-zlo). The 6 parameters +(xlo,xhi,ylo,yhi,zlo,zhi) are defined at the time the simulation box +is created, e.g. by the "create_box"_create_box.html or +"read_data"_read_data.html or "read_restart"_read_restart.html +commands. Additionally, LAMMPS defines box size parameters lx,ly,lz +where lx = xhi-xlo, and similarly in the y and z dimensions. The 6 +parameters, as well as lx,ly,lz, can be output via the "thermo_style +custom"_thermo_style.html command. + +LAMMPS also allows simulations to be performed in triclinic +(non-orthogonal) simulation boxes shaped as a parallelepiped with +triclinic symmetry. The parallelepiped has its "origin" at +(xlo,ylo,zlo) and is defined by 3 edge vectors starting from the +origin given by [a] = (xhi-xlo,0,0); [b] = (xy,yhi-ylo,0); [c] = +(xz,yz,zhi-zlo). {xy,xz,yz} can be 0.0 or positive or negative values +and are called "tilt factors" because they are the amount of +displacement applied to faces of an originally orthogonal box to +transform it into the parallelepiped. In LAMMPS the triclinic +simulation box edge vectors [a], [b], and [c] cannot be arbitrary +vectors. As indicated, [a] must lie on the positive x axis. [b] must +lie in the xy plane, with strictly positive y component. [c] may have +any orientation with strictly positive z component. The requirement +that [a], [b], and [c] have strictly positive x, y, and z components, +respectively, ensures that [a], [b], and [c] form a complete +right-handed basis. These restrictions impose no loss of generality, +since it is possible to rotate/invert any set of 3 crystal basis +vectors so that they conform to the restrictions. + +For example, assume that the 3 vectors [A],[B],[C] are the edge +vectors of a general parallelepiped, where there is no restriction on +[A],[B],[C] other than they form a complete right-handed basis i.e. +[A] x [B] . [C] > 0. The equivalent LAMMPS [a],[b],[c] are a linear +rotation of [A], [B], and [C] and can be computed as follows: + +:c,image(Eqs/transform.jpg) + +where A = | [A] | indicates the scalar length of [A]. The hat symbol (^) +indicates the corresponding unit vector. {beta} and {gamma} are angles +between the vectors described below. Note that by construction, +[a], [b], and [c] have strictly positive x, y, and z components, respectively. +If it should happen that +[A], [B], and [C] form a left-handed basis, then the above equations +are not valid for [c]. In this case, it is necessary +to first apply an inversion. This can be achieved +by interchanging two basis vectors or by changing the sign of one of them. + +For consistency, the same rotation/inversion applied to the basis vectors +must also be applied to atom positions, velocities, +and any other vector quantities. +This can be conveniently achieved by first converting to +fractional coordinates in the +old basis and then converting to distance coordinates in the new basis. +The transformation is given by the following equation: + +:c,image(Eqs/rotate.jpg) + +where {V} is the volume of the box, [X] is the original vector quantity and +[x] is the vector in the LAMMPS basis. + +There is no requirement that a triclinic box be periodic in any +dimension, though it typically should be in at least the 2nd dimension +of the tilt (y in xy) if you want to enforce a shift in periodic +boundary conditions across that boundary. Some commands that work +with triclinic boxes, e.g. the "fix deform"_fix_deform.html and "fix +npt"_fix_nh.html commands, require periodicity or non-shrink-wrap +boundary conditions in specific dimensions. See the command doc pages +for details. + +The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the +time the simulation box is created. This happens in one of 3 ways. +If the "create_box"_create_box.html command is used with a region of +style {prism}, then a triclinic box is setup. See the +"region"_region.html command for details. If the +"read_data"_read_data.html command is used to define the simulation +box, and the header of the data file contains a line with the "xy xz +yz" keyword, then a triclinic box is setup. See the +"read_data"_read_data.html command for details. Finally, if the +"read_restart"_read_restart.html command reads a restart file which +was written from a simulation using a triclinic box, then a triclinic +box will be setup for the restarted simulation. + +Note that you can define a triclinic box with all 3 tilt factors = +0.0, so that it is initially orthogonal. This is necessary if the box +will become non-orthogonal, e.g. due to the "fix npt"_fix_nh.html or +"fix deform"_fix_deform.html commands. Alternatively, you can use the +"change_box"_change_box.html command to convert a simulation box from +orthogonal to triclinic and vice versa. + +As with orthogonal boxes, LAMMPS defines triclinic box size parameters +lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions. +The 9 parameters, as well as lx,ly,lz, can be output via the +"thermo_style custom"_thermo_style.html command. + +To avoid extremely tilted boxes (which would be computationally +inefficient), LAMMPS normally requires that no tilt factor can skew +the box more than half the distance of the parallel box length, which +is the 1st dimension in the tilt factor (x for xz). This is required +both when the simulation box is created, e.g. via the +"create_box"_create_box.html or "read_data"_read_data.html commands, +as well as when the box shape changes dynamically during a simulation, +e.g. via the "fix deform"_fix_deform.html or "fix npt"_fix_nh.html +commands. + +For example, if xlo = 2 and xhi = 12, then the x box length is 10 and +the xy tilt factor must be between -5 and 5. Similarly, both xz and +yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is +not a limitation, since if the maximum tilt factor is 5 (as in this +example), then configurations with tilt = ..., -15, -5, 5, 15, 25, +... are geometrically all equivalent. If the box tilt exceeds this +limit during a dynamics run (e.g. via the "fix deform"_fix_deform.html +command), then the box is "flipped" to an equivalent shape with a tilt +factor within the bounds, so the run can continue. See the "fix +deform"_fix_deform.html doc page for further details. + +One exception to this rule is if the 1st dimension in the tilt +factor (x for xy) is non-periodic. In that case, the limits on the +tilt factor are not enforced, since flipping the box in that dimension +does not change the atom positions due to non-periodicity. In this +mode, if you tilt the system to extreme angles, the simulation will +simply become inefficient, due to the highly skewed simulation box. + +The limitation on not creating a simulation box with a tilt factor +skewing the box more than half the distance of the parallel box length +can be overridden via the "box"_box.html command. Setting the {tilt} +keyword to {large} allows any tilt factors to be specified. + +Box flips that may occur using the "fix deform"_fix_deform.html or +"fix npt"_fix_nh.html commands can be turned off using the {flip no} +option with either of the commands. + +Note that if a simulation box has a large tilt factor, LAMMPS will run +less efficiently, due to the large volume of communication needed to +acquire ghost atoms around a processor's irregular-shaped sub-domain. +For extreme values of tilt, LAMMPS may also lose atoms and generate an +error. + +Triclinic crystal structures are often defined using three lattice +constants {a}, {b}, and {c}, and three angles {alpha}, {beta} and +{gamma}. Note that in this nomenclature, the a, b, and c lattice +constants are the scalar lengths of the edge vectors [a], [b], and [c] +defined above. The relationship between these 6 quantities +(a,b,c,alpha,beta,gamma) and the LAMMPS box sizes (lx,ly,lz) = +(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows: + +:c,image(Eqs/box.jpg) + +The inverse relationship can be written as follows: + +:c,image(Eqs/box_inverse.jpg) + +The values of {a}, {b}, {c} , {alpha}, {beta} , and {gamma} can be printed +out or accessed by computes using the +"thermo_style custom"_thermo_style.html keywords +{cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta}, {cellgamma}, +respectively. + +As discussed on the "dump"_dump.html command doc page, when the BOX +BOUNDS for a snapshot is written to a dump file for a triclinic box, +an orthogonal bounding box which encloses the triclinic simulation box +is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic +box, formatted as follows: + +ITEM: BOX BOUNDS xy xz yz +xlo_bound xhi_bound xy +ylo_bound yhi_bound xz +zlo_bound zhi_bound yz :pre + +This bounding box is convenient for many visualization programs and is +calculated from the 9 triclinic box parameters +(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows: + +xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz) +xhi_bound = xhi + MAX(0.0,xy,xz,xy+xz) +ylo_bound = ylo + MIN(0.0,yz) +yhi_bound = yhi + MAX(0.0,yz) +zlo_bound = zlo +zhi_bound = zhi :pre + +These formulas can be inverted if you need to convert the bounding box +back into the triclinic box parameters, e.g. xlo = xlo_bound - +MIN(0.0,xy,xz,xy+xz). + +One use of triclinic simulation boxes is to model solid-state crystals +with triclinic symmetry. The "lattice"_lattice.html command can be +used with non-orthogonal basis vectors to define a lattice that will +tile a triclinic simulation box via the +"create_atoms"_create_atoms.html command. + +A second use is to run Parinello-Rahman dynamics via the "fix +npt"_fix_nh.html command, which will adjust the xy, xz, yz tilt +factors to compensate for off-diagonal components of the pressure +tensor. The analog for an "energy minimization"_minimize.html is +the "fix box/relax"_fix_box_relax.html command. + +A third use is to shear a bulk solid to study the response of the +material. The "fix deform"_fix_deform.html command can be used for +this purpose. It allows dynamic control of the xy, xz, yz tilt +factors as a simulation runs. This is discussed in the next section +on non-equilibrium MD (NEMD) simulations. diff --git a/doc/src/Howto_viscosity.txt b/doc/src/Howto_viscosity.txt new file mode 100644 index 0000000000..8bcab6dd24 --- /dev/null +++ b/doc/src/Howto_viscosity.txt @@ -0,0 +1,133 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Calculate viscosity :h3 + +The shear viscosity eta of a fluid can be measured in at least 5 ways +using various options in LAMMPS. See the examples/VISCOSITY directory +for scripts that implement the 5 methods discussed here for a simple +Lennard-Jones fluid model. Also, see the "Howto +kappa"_Howto_kappa.html doc page for an analogous discussion for +thermal conductivity. + +Eta is a measure of the propensity of a fluid to transmit momentum in +a direction perpendicular to the direction of velocity or momentum +flow. Alternatively it is the resistance the fluid has to being +sheared. It is given by + +J = -eta grad(Vstream) + +where J is the momentum flux in units of momentum per area per time. +and grad(Vstream) is the spatial gradient of the velocity of the fluid +moving in another direction, normal to the area through which the +momentum flows. Viscosity thus has units of pressure-time. + +The first method is to perform a non-equilibrium MD (NEMD) simulation +by shearing the simulation box via the "fix deform"_fix_deform.html +command, and using the "fix nvt/sllod"_fix_nvt_sllod.html command to +thermostat the fluid via the SLLOD equations of motion. +Alternatively, as a second method, one or more moving walls can be +used to shear the fluid in between them, again with some kind of +thermostat that modifies only the thermal (non-shearing) components of +velocity to prevent the fluid from heating up. + +In both cases, the velocity profile setup in the fluid by this +procedure can be monitored by the "fix ave/chunk"_fix_ave_chunk.html +command, which determines grad(Vstream) in the equation above. +E.g. the derivative in the y-direction of the Vx component of fluid +motion or grad(Vstream) = dVx/dy. The Pxy off-diagonal component of +the pressure or stress tensor, as calculated by the "compute +pressure"_compute_pressure.html command, can also be monitored, which +is the J term in the equation above. See the "Howto +nemd"_Howto_nemd.html doc page for details on NEMD simulations. + +The third method is to perform a reverse non-equilibrium MD simulation +using the "fix viscosity"_fix_viscosity.html command which implements +the rNEMD algorithm of Muller-Plathe. Momentum in one dimension is +swapped between atoms in two different layers of the simulation box in +a different dimension. This induces a velocity gradient which can be +monitored with the "fix ave/chunk"_fix_ave_chunk.html command. +The fix tallies the cumulative momentum transfer that it performs. +See the "fix viscosity"_fix_viscosity.html command for details. + +The fourth method is based on the Green-Kubo (GK) formula which +relates the ensemble average of the auto-correlation of the +stress/pressure tensor to eta. This can be done in a fully +equilibrated simulation which is in contrast to the two preceding +non-equilibrium methods, where momentum flows continuously through the +simulation box. + +Here is an example input script that calculates the viscosity of +liquid Ar via the GK formalism: + +# Sample LAMMPS input script for viscosity of liquid Ar :pre + +units real +variable T equal 86.4956 +variable V equal vol +variable dt equal 4.0 +variable p equal 400 # correlation length +variable s equal 5 # sample interval +variable d equal $p*$s # dump interval :pre + +# convert from LAMMPS real units to SI :pre + +variable kB equal 1.3806504e-23 # \[J/K/] Boltzmann +variable atm2Pa equal 101325.0 +variable A2m equal 1.0e-10 +variable fs2s equal 1.0e-15 +variable convert equal $\{atm2Pa\}*$\{atm2Pa\}*$\{fs2s\}*$\{A2m\}*$\{A2m\}*$\{A2m\} :pre + +# setup problem :pre + +dimension 3 +boundary p p p +lattice fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 +region box block 0 4 0 4 0 4 +create_box 1 box +create_atoms 1 box +mass 1 39.948 +pair_style lj/cut 13.0 +pair_coeff * * 0.2381 3.405 +timestep $\{dt\} +thermo $d :pre + +# equilibration and thermalization :pre + +velocity all create $T 102486 mom yes rot yes dist gaussian +fix NVT all nvt temp $T $T 10 drag 0.2 +run 8000 :pre + +# viscosity calculation, switch to NVE if desired :pre + +#unfix NVT +#fix NVE all nve :pre + +reset_timestep 0 +variable pxy equal pxy +variable pxz equal pxz +variable pyz equal pyz +fix SS all ave/correlate $s $p $d & + v_pxy v_pxz v_pyz type auto file S0St.dat ave running +variable scale equal $\{convert\}/($\{kB\}*$T)*$V*$s*$\{dt\} +variable v11 equal trap(f_SS\[3\])*$\{scale\} +variable v22 equal trap(f_SS\[4\])*$\{scale\} +variable v33 equal trap(f_SS\[5\])*$\{scale\} +thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33 +run 100000 +variable v equal (v_v11+v_v22+v_v33)/3.0 +variable ndens equal count(all)/vol +print "average viscosity: $v \[Pa.s\] @ $T K, $\{ndens\} /A^3" :pre + +The fifth method is related to the above Green-Kubo method, +but uses the Einstein formulation, analogous to the Einstein +mean-square-displacement formulation for self-diffusivity. The +time-integrated momentum fluxes play the role of Cartesian +coordinates, whose mean-square displacement increases linearly +with time at sufficiently long times. diff --git a/doc/src/Howto_viz.txt b/doc/src/Howto_viz.txt new file mode 100644 index 0000000000..00c329c50b --- /dev/null +++ b/doc/src/Howto_viz.txt @@ -0,0 +1,40 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Visualize LAMMPS snapshots :h3 + +LAMMPS itself does not do visualization, but snapshots from LAMMPS +simulations can be visualized (and analyzed) in a variety of ways. + +Mention dump image and dump movie. + +LAMMPS snapshots are created by the "dump"_dump.html command which can +create files in several formats. The native LAMMPS dump format is a +text file (see "dump atom" or "dump custom") which can be visualized +by several popular visualization tools. The "dump +image"_dump_image.html and "dump movie"_dump_image.html styles can +output internally rendered images and convert a sequence of them to a +movie during the MD run. Several programs included with LAMMPS as +auxiliary tools can convert between LAMMPS format files and other +formats. See the "Tools"_Tools.html doc page for details. + +A Python-based toolkit distributed by our group can read native LAMMPS +dump files, including custom dump files with additional columns of +user-specified atom information, and convert them to various formats +or pipe them into visualization software directly. See the "Pizza.py +WWW site"_pizza for details. Specifically, Pizza.py can convert +LAMMPS dump files into PDB, XYZ, "Ensight"_ensight, and VTK formats. +Pizza.py can pipe LAMMPS dump files directly into the Raster3d and +RasMol visualization programs. Pizza.py has tools that do interactive +3d OpenGL visualization and one that creates SVG images of dump file +snapshots. + +:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) +:link(ensight,http://www.ensight.com) +:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A) diff --git a/doc/src/Howto_walls.txt b/doc/src/Howto_walls.txt new file mode 100644 index 0000000000..7522118582 --- /dev/null +++ b/doc/src/Howto_walls.txt @@ -0,0 +1,80 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Walls :h3 + +Walls in an MD simulation are typically used to bound particle motion, +i.e. to serve as a boundary condition. + +Walls in LAMMPS can be of rough (made of particles) or idealized +surfaces. Ideal walls can be smooth, generating forces only in the +normal direction, or frictional, generating forces also in the +tangential direction. + +Rough walls, built of particles, can be created in various ways. The +particles themselves can be generated like any other particle, via the +"lattice"_lattice.html and "create_atoms"_create_atoms.html commands, +or read in via the "read_data"_read_data.html command. + +Their motion can be constrained by many different commands, so that +they do not move at all, move together as a group at constant velocity +or in response to a net force acting on them, move in a prescribed +fashion (e.g. rotate around a point), etc. Note that if a time +integration fix like "fix nve"_fix_nve.html or "fix nvt"_fix_nh.html +is not used with the group that contains wall particles, their +positions and velocities will not be updated. + +"fix aveforce"_fix_aveforce.html - set force on particles to average value, so they move together +"fix setforce"_fix_setforce.html - set force on particles to a value, e.g. 0.0 +"fix freeze"_fix_freeze.html - freeze particles for use as granular walls +"fix nve/noforce"_fix_nve_noforce.html - advect particles by their velocity, but without force +"fix move"_fix_move.html - prescribe motion of particles by a linear velocity, oscillation, rotation, variable :ul + +The "fix move"_fix_move.html command offers the most generality, since +the motion of individual particles can be specified with +"variable"_variable.html formula which depends on time and/or the +particle position. + +For rough walls, it may be useful to turn off pairwise interactions +between wall particles via the "neigh_modify +exclude"_neigh_modify.html command. + +Rough walls can also be created by specifying frozen particles that do +not move and do not interact with mobile particles, and then tethering +other particles to the fixed particles, via a "bond"_bond_style.html. +The bonded particles do interact with other mobile particles. + +Idealized walls can be specified via several fix commands. "Fix +wall/gran"_fix_wall_gran.html creates frictional walls for use with +granular particles; all the other commands create smooth walls. + +"fix wall/reflect"_fix_wall_reflect.html - reflective flat walls +"fix wall/lj93"_fix_wall.html - flat walls, with Lennard-Jones 9/3 potential +"fix wall/lj126"_fix_wall.html - flat walls, with Lennard-Jones 12/6 potential +"fix wall/colloid"_fix_wall.html - flat walls, with "pair_style colloid"_pair_colloid.html potential +"fix wall/harmonic"_fix_wall.html - flat walls, with repulsive harmonic spring potential +"fix wall/region"_fix_wall_region.html - use region surface as wall +"fix wall/gran"_fix_wall_gran.html - flat or curved walls with "pair_style granular"_pair_gran.html potential :ul + +The {lj93}, {lj126}, {colloid}, and {harmonic} styles all allow the +flat walls to move with a constant velocity, or oscillate in time. +The "fix wall/region"_fix_wall_region.html command offers the most +generality, since the region surface is treated as a wall, and the +geometry of the region can be a simple primitive volume (e.g. a +sphere, or cube, or plane), or a complex volume made from the union +and intersection of primitive volumes. "Regions"_region.html can also +specify a volume "interior" or "exterior" to the specified primitive +shape or {union} or {intersection}. "Regions"_region.html can also be +"dynamic" meaning they move with constant velocity, oscillate, or +rotate. + +The only frictional idealized walls currently in LAMMPS are flat or +curved surfaces specified by the "fix wall/gran"_fix_wall_gran.html +command. At some point we plan to allow regoin surfaces to be used as +frictional walls, as well as triangulated surfaces. diff --git a/doc/src/Intro.txt b/doc/src/Intro.txt new file mode 100644 index 0000000000..e3eaa40437 --- /dev/null +++ b/doc/src/Intro.txt @@ -0,0 +1,37 @@ +"Previous Section"_Manual.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Install.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands.html#comm) + +:line + +Introduction :h2 + +These pages provide a brief introduction to LAMMPS. + + + + + +"Overview of LAMMPS"_Intro_overview.html +"LAMMPS features"_Intro_features.html +"LAMMPS non-features"_Intro_nonfeatures.html +"LAMMPS open-source license"_Intro_license.html +"LAMMPS authors"_Intro_authors.html +"Additional website links"_Intro_website.html :all(b) + + diff --git a/doc/src/Intro_authors.txt b/doc/src/Intro_authors.txt new file mode 100644 index 0000000000..ce418d0ce1 --- /dev/null +++ b/doc/src/Intro_authors.txt @@ -0,0 +1,379 @@ +"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +LAMMPS authors :h3 + +The primary LAMMPS developers are at Sandia National Labs and Temple +University: + +"Steve Plimpton"_sjp, sjplimp at sandia.gov +Aidan Thompson, athomps at sandia.gov +Stan Moore, stamoor at sandia.gov +Axel Kohlmeyer, akohlmey at gmail.com :ul + +:link(sjp,http://www.cs.sandia.gov/~sjplimp) + +Past developers include Paul Crozier and Mark Stevens, both at Sandia, +and Ray Shan, now at Materials Design. + +:line + +The following folks are responsible for significant contributions to +the code, or other aspects of the LAMMPS development effort. Many of +the packages they have written are somewhat unique to LAMMPS and the +code would not be as general-purpose as it is without their expertise +and efforts. + +Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM, USER-OMP, USER-COLVARS, USER-MOLFILE, USER-QMMM packages +Roy Pollock (LLNL), Ewald and PPPM solvers +Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL packages +Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential +Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics +Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion +Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling +Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD +Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA and KOKKOS packages +Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field +Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling +Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF +Georg Gunzenmueller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SMD and USER-SPH packages +Colin Denniston (U Western Ontario), cdennist at uwo.ca, USER-LB package :ul + +:line + +As discussed on the "History +page"_http://lammps.sandia.gov/history.html of the website, LAMMPS +originated as a cooperative project between DOE labs and industrial +partners. Folks involved in the design and testing of the original +version of LAMMPS were the following: + +John Carpenter (Mayo Clinic, formerly at Cray Research) +Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb) +Steve Lustig (Dupont) +Jim Belak and Roy Pollock (LLNL) :ul + +:line +:line + +Here is a timeline for when various individuals contributed to a new +feature or command or tool added to LAMMPS: + +Jul18 : DEM polygonal and polyhedron particles : Trung Nguyen (Northwestern U) +Jun18 : SPIN package : Julien Tranchida (Sandia and CEA) +Jun18 : compute entropy/atom : Pablo Piaggi (EPLF, Switzerland) +May18 : fix bond/react : Jake Gissinger (CU Boulder) +Apr18 : USER-BOCS package : Nicholas Dunn and Michael DeLyser (Penn State U) +Mar18: pair coul/shield, kolmogorov/crespi/full, ilp/graphene/hbn : Wengen Ouyang (Tel Aviv U) +Feb18 : pair lj/cut/coul/wolf : Vishal Boddu (U of Erlangen-Nuremberg) +Feb18 : USER-MOFFF package : Hendrik Heenen (Technical U of Munich) and Rochus Schmid (Ruhr-University Bochum) +Feb18 : pair ufm : Rodolfo Paula Leite and Maurice de Koning (Unicamp/Brazil) +Dec17 : fix python/move : Richard Berger (Temple U) +Nov17 : pair extep : Jaap Kroes (Radboud U) +Oct17 : USER-UEF package : David Nicholson (MIT) +Oct17 : fix rhok : Ulf Pederson (Roskilde U) +Oct17 : bond gromos : Axel Kohlmeyer (Temple U) +Oct17 : pair born/coul/wolf/cs and coul/wolf/cs : Vishal Boddu +Sep17 : fix latte : Christian Negre (LANL) +Sep17 : temper_npt : Amulya Pervaje and Cody Addington (NCSU) +Aug17 : USER-MESO package : Zhen Li (Brown University) +Aug17 : compute aggregate/atom & fragment/atom : Axel Kohlmeyer (Temple U) +Jul17 : pair meam/c : Sebastian Hutter (Otto-von-Guericke University) +Jun17 : pair reaxc/omp : Metin Aktulga (MSU) and Axel Kohlmeyer (Temple U) +Jun17 : pair vashishita/gpu : Anders Hafreager (UiO) +Jun17 : kspace pppm/disp/intel and pair lj/long/coul/long/intel : Mike Brown (Intel) and William McDoniel (RWTH Aachen U) +Jun17 : compute cnp/atom : Paulo Branicio (USC) +May17 : fix python and pair python : Richard Berger (Temple U) +May17 : pair edip/multi : Chao Jiang (U Wisconsin) +May17 : pair gw and gw/zbl : German Samolyuk (ORNL) +Mar17 : pair charmm fsw and fsh : Robert Meissner & Lucio Colombi Ciacchi (Bremen U), Robert Latour (Clemson U) +Mar17 : pair momb : Ya Zhou, Kristen Fichthorn, and Tonnam Balankura (PSU) +Mar17 : fix filter/corotate : Lukas Fath (KIT) +Mar17 : pair kolmogorov/crespi/z : Jaap Kroes (Radboud Universiteit) +Feb17 : Kokkos versions of the class2 bond/angle/dihedral/improper : Ray Shan (Materials Design) +Jan17 : USER-CGDNA package : Oliver Henrich (U Edinburgh) +Jan17 : fix mscg : Lauren Abbott (Sandia) +Nov16 : temper/grem and fix grem : David Stelter (BU), Edyta Malolepsza (Broad Institute), Tom Keyes (BU) +Nov16 : pair agni : Axel Kohlmeyer (Temple U) and Venkatesh Botu +Nov16 : pair tersoff/mod.c : Ganga P Purja Pun (George Mason University) +Nov16 : pair born/coul/dsf and pair born/coul/dsf/cs : Ariel Lozano +Nov16 : fix reaxc/species/kk & fix reaxc/bonds/kk : Stan Moore (Sandia) +Oct16 : fix wall/gran/region : Dan Bolintineanu (Sandia) +Sep16 : weight options for balance & fix balance : Axel Kohlmeyer (Temple U) & Iain Bethune (EPCC) +Sep16 : fix cmap : Xiaohu Hu (ORNL), David Hyde-Volpe & Tigran Abramyan & Robert Latour (Clemson U), Chris Lorenz (Kings College, London) +Sep16 : pair vashishta/table : Anders Hafreager (U Oslo) +Sep16 : kspace pppm/kk : Stan Moore (Sandia) +Aug16 : fix flow/gauss : Steve Strong and Joel Eaves (U Colorado) +Aug16 : fix controller : Aidan Thompson (Sandia) +Jul16 : dipole integration by DLM method : Iain Bethune (EPCC) +Jul16 : dihedral spherical : Andrew Jewett +Jun16 : pair reax/c/kk : Ray Shan (Materials Design), Stan Moore (Sandia) +Jun16 : fix orient/bcc : Tegar Wicaksono (UBC) +Jun16 : fix ehex : Peter Wirnsberger (University of Cambridge) +Jun16 : reactive DPD extensions to USER-DPD : James Larentzos (ARL), Timothy Mattox (Engility Corp), John Brennan (ARL), Christopher Stone (Computational Science & Engineering, LLC) +May16 : USER-MANIFOLD package : Stefan Paquay (Eindhoven U of Tech, The Netherlands) +Apr16 : write_coeff : Axel Kohlmeyer (Temple U) +Apr16 : pair morse/soft : Stefan Paquay (Eindhoven U of Tech, The Netherlands) +Apr16 : compute dipole/chunk : Axel Kohlmeyer (Temple U) +Apr16 : bond write : Axel Kohlmeyer (Temple U) +Mar16 : pair morse/smooth/linear : Stefan Paquay (Eindhoven U of Tech, The Netherlands) +Feb16 : pair/bond/angle/dihedral/improper zero : Carsten Svaneborg (SDU) +Feb16 : dump custom/vtk : Richard Berger (JKU) and Daniel Queteschiner (DCS Computing) +Feb16 : fix (nvt/npt/nph)/body and compute temp/body : Trung Nguyen +Feb16 : USER-DPD package : James Larentzos (ARL), Timothy Mattox (Engility Corp), John Brennan (ARL) +Dec15 : fix qeq/fire : Ray Shan (Sandia) +Dec15 : pair lj/mdf, pair lennard/mdf, pair buck/mdf, improper distance : Paolo Raiteri (Curtin University) +Nov15 : compute orientorder/atom : Aidan Thompson (Sandia) and Axel Kohlmeyer (U Temple) +Nov15 : compute hexorder/atom : Aidan Thompson (Sandia) +Oct15 : displace_atoms variable option : Reese Jones (Sandia) +Oct15 : pair mgpt & USER-MGPT package : Tomas Oppelstrup and John Moriarty (LLNL) +Oct15 : pair smtbq & USER-SMTBQ package : Nicolas Salles, Emile Maras, Olivier Politano, and Robert Tetot (LAAS-CNRS) +Oct15 : fix ave/correlate/long command : Jorge Ramirez (UPM) and Alexei Likhtman (U Reading) +Oct15 : pair vashishta command : Aidan Thompson (Sandia) and Yongnan Xiong (HNU) +Aug15 : USER-TALLY package : Axel Kohlmeyer (Temple U) +Aug15 : timer command : Axel Kohlmeyer (Temple U) +Aug15 : USER-H5MD package : Pierre de Buyl (KU Leuven) +Aug15 : COMPRESS package : Axel Kohlmeyer (Temple U) +Aug15 : USER-SMD package : Georg Gunzenmueller (EMI) +Jul15 : new HTML format for "doc pages"_Manual.html with search option : Richard Berger (JKU) +Jul15 : rRESPA with pair hybrid : Sam Genheden (U of Southampton) +Jul15 : pair_modify special : Axel Kohlmeyer (Temple U) +Jul15 : pair polymorphic : Xiaowang Zhou and Reese Jones (Sandia) +Jul15 : USER-DRUDE package : Alain Dequidt and Agilio Padua (U Blaise Pascal Clermont-Ferrand) and Julien Devemy (CNRS) +Jul15 : USER-QTB package : Yuan Shen, Tingting Qi, and Evan Reed (Stanford U) +Jul15 : USER-DIFFRACTION package : Shawn Coleman (ARL) +Mar15 : fix temp/csld : Axel Kohlmeyer (Temple U) +Mar15 : CORESHELL package : Hendrik Heenen (Technical University of Munich) +Feb15 : pair quip for GAP and other potentials : Albert Bartok-Partay (U Cambridge) +Feb15 : pair coul/streitz for Streitz-Mintmire potential : Ray Shan (Sandia) +Feb15 : fix tfmc : Kristof Bal (U of Antwerp) +Feb15 : fix ttm/mod : Sergey Starikov and Vasily Pisarev (JIHT of RAS) +Jan15 : fix atom/swap for MC swaps of atom types/charge : Paul Crozier (Sandia) +Nov14 : fix pimd for path-integral MD : Chris Knight and Yuxing Peng (U Chicago) +Nov14 : fix gle and fix ipi for path-integral MD : Michele Ceriotti (EPFL) +Nov14 : pair style srp : Tim Sirk (ARL) and Pieter in 't Veld (BASF) +Nov14 : fix ave/spatial/sphere : Niall Jackson (Imperial College) +Sep14 : QEQ package and several fix qeq/variant styles : Ray Shan (Sandia) +Sep14 : SNAP package and pair style : Aidan Thompson (Sandia) and collaborators +Aug14 : USER-INTEL package : Mike Brown (Intel) +May14 : KOKKOS pacakge : Christian Trott and Carter Edwards (Sandia) +May14 : USER-FEP pacakge : Agilio Padua (U Blaise Pascal Clermont-Ferrand) +Apr14 : fix rigid/small NVE/NVT/NPH/NPT : Trung Nguyen (ORNL) +Apr14 : fix qmmm for QM/MM coupling : Axel Kohlmeyer (Temple U) +Mar14 : kspace_modify collective for faster FFTs on BG/Q : Paul Coffman (IBM) +Mar14 : fix temp/csvr and fix oneway : Axel Kohlmeyer (Temple U) +Feb14 : pair peri/eps, compute dilatation/atom, compute plasticity/atom : Rezwanur Rahman and John Foster (UTSA) +Jan14 : MPI-IO options for dump and restart files : Paul Coffman (IBM) +Nov13 : USER-LB package for Lattice Boltzmann : Francis Mackay and Colin Denniston (U Western Ontario) +Nov13 : fix ti/rs and ti/spring : Rodrigo Freitas (UC Berkeley) +Nov13 : pair comb3 : Ray Shan (Sandia), Tao Liang and Dundar Yilmaz (U Florida) +Nov13 : write_dump and dump movie : Axel Kohlmeyer (Temple U) +Sep13 : xmgrace tool : Vikas Varshney +Sep13 : pair zbl : Aidan Thompson and Stephen Foiles (Sandia) +Aug13 : pair nm and variants : Julien Devemy (ICCF) +Aug13 : fix wall/lj1043 : Jonathan Lee (Sandia) +Jul13 : pair peri/ves : Rezwan Rahman, JT Foster (U Texas San Antonio) +Jul13 : pair tersoff/mod : Vitaly Dozhdikov (JIHT of RAS) +Jul13 : compute basal/atom : Christopher Barrett,(Mississippi State) +Jul13 : polybond tool : Zachary Kraus (Georgia Tech) +Jul13 : fix gld : Stephen Bond and Andrew Baczewski (Sandia) +Jun13 : pair nb3b/harmonic : Todd Zeitler (Sandia) +Jun13 : kspace_style pppm/stagger : Stan Moore (Sandia) +Jun13 : fix tune/kspace : Paul Crozier (Sandia) +Jun13 : long-range point dipoles : Stan Moore (Sandia) and Pieter in 't Veld (BASF) +May13 : compute msd/nongauss : Rob Hoy +May13 : pair list : Axel Kohlmeyer (Temple U) +May13 : triclinic support for long-range solvers : Stan Moore (Sandia) +Apr13 : dump_modify nfile and fileper : Christopher Knight +Mar13 : fix phonon : Ling-Ti Kong (Shanghai Jiao Tong University) +Mar13 : pair_style lj/cut/tip4p/cut : Pavel Elkind (Gothenburg University) +Feb13 : immediate variables in input script : Daniel Moller (Autonomous University of Barcelona) +Feb13 : fix species : Ray Shan (Sandia) +Jan13 : compute voronoi/atom : Daniel Schwen +Nov12 : pair_style mie/cut : Cassiano Aimoli Petrobras (U Notre Dame) +Oct12 : pair_style meam/sw/spline : Robert Rudd (LLNL) +Oct12 : angle_style fourier and fourier/simple and quartic : Loukas Peristeras (Scienomics) +Oct12 : dihedral_style fourier and nharmonic and quadratic : Loukas Peristeras (Scienomics) +Oct12 : improper_style fourier : Loukas Peristeras (Scienomics) +Oct12 : kspace_style pppm/disp for 1/r^6 : Rolf Isele-Holder (Aachen University) +Oct12 : moltemplate molecular builder tool : Andrew Jewett (UCSB) +Sep12 : pair_style lj/cut/coul/dsf and coul/dsf : Trung Nguyen (ORNL) +Sep12 : multi-level summation long-range solver : Stan Moore, Stephen Bond, and Paul Crozier (Sandia) +Aug12 : fix rigid/npt and fix rigid/nph : Trung Nguyen (ORNL) +Aug12 : Fortran wrapper on lib interface : Karl Hammond (UT, Knoxville) +Aug12 : kspace_modify diff for 2-FFT PPPM : Rolf Isele-Holder (Aachen University), Stan Moore (BYU), Paul Crozier (Sandia) +Jun12 : pair_style bop : Don Ward and Xiaowang Zhou (Sandia) +Jun12 : USER-MOLFILE package : Axel Kohlmeyer (U Temple) +Jun12 : USER-COLVARS package : Axel Kohlmeyer (U Temple) +May12 : read_dump : Tim Sirk (ARL) +May12 : improper_style cossq and ring : Georgios Vogiatzis (CoMSE, NTU Athens) +May12 : pair_style lcbop : Dominik Wojt (Wroclaw University of Technology) +Feb12 : PPPM per-atom energy/virial : Stan Moore (BYU) +Feb12 : Ewald per-atom energy/virial : German Samolyuk (ORNL), Stan Moore (BYU) +Feb12 : minimize forcezero linesearch : Asad Hasan (CMU) +Feb12 : pair_style beck : Jon Zimmerman (Sandia) +Feb12 : pair_style meam/spline : Alex Stukowski (LLNL) +Jan12 : pair_style kim : Valeriu Smirichinski, Ryan Elliott, Ellad Tadmor (U Minn) +Jan12 : dihedral_style table : Andrew Jewett (UCSB) +Jan12 : angle_style dipole : Mario Orsi +Jan12 : pair_style lj/smooth/linear : Jon Zimmerman (Sandia) +Jan12 : fix reax/c/bond : Tzu-Ray Shan (Sandia) +Dec11 : pair_style coul/wolf : Yongfeng Zhang (INL) +Dec11 : run_style verlet/split : Yuxing Peng and Chris Knight (U Chicago) +Dec11 : pair_style tersoff/table : Luca Ferraro (CASPUR) +Nov11 : per-atom energy/stress for reax/c : Tzu-Ray Shan (Sandia) +Oct11 : Fast Lubrication Dynamics (FLD) package: Amit Kumar, Michael Bybee, Jonathan Higdon (UIUC) +Oct11 : USER-OMP package : Axel Kohlmeyer (Temple U) +Sep11 : pair_style edip : Luca Ferraro (CASPUR) +Aug11 : USER-SPH package : Georg Ganzenmuller (FIHSD, EMI, Germany) +Aug11 : fix restrain : Craig Tenney (Sandia) +Aug11 : USER-CUDA package : Christian Trott (U Tech Ilmenau) +Aug11 : pair_style lj/sf : Laurent Joly (U Lyon) +Aug11 : bond_style harmonic/shift and harmonic/shift/cut : Carsten Svaneborg +Aug11 : angle_style cosine/shift and cosine/shift/exp : Carsten Svaneborg +Aug11 : dihedral_style cosine/shift/exp : Carsten Svaneborg +Aug11 : pair_style dipole/sf : Mario Orsi +Aug11 : fix addtorque and compute temp/rotate : Laurent Joly (U Lyon) +Aug11 : FFT support via FFTW3, MKL, ACML, KISSFFT libraries : \ + Axel Kohlmeyer (Temple U) +Jun11 : pair_style adp : Chris Weinberger (Sandia), Stephen Foiles (Sandia), \ + Chandra Veer Singh (Cornell) +Jun11 : Windows build option via Microsoft Visual Studio : \ + Ilya Valuev (JIHT, Moscow, Russia) +Jun11 : antisymmetrized wave packet MD : Ilya Valuev (JIHT, Moscow, Russia) +Jun11 : dump image : Nathan Fabian (Sandia) +May11 : pppm GPU single and double : Mike Brown (ORNL) +May11 : pair_style lj/expand/gpu : Inderaj Bains (NVIDIA) +2010 : pair_style reax/c and fix qeq/reax : Metin Aktulga (Purdue, now LBNL) +- : DREIDING force field, pair_style hbond/dreiding, etc : Tod Pascal (Caltech) +- : fix adapt and compute ti for thermodynamic integration for \ + free energies : Sai Jayaraman (Sandia) +- : pair_style born and gauss : Sai Jayaraman (Sandia) +- : stochastic rotation dynamics (SRD) via fix srd : \ + Jeremy Lechman (Sandia) and Pieter in 't Veld (BASF) +- : ipp Perl script tool : Reese Jones (Sandia) +- : eam_database and createatoms tools : Xiaowang Zhou (Sandia) +- : electron force field (eFF) : Andres Jaramillo-Botero and Julius Su (Caltech) +- : embedded ion method (EIM) potential : Xiaowang Zhou (Sandia) +- : COMB potential with charge equilibration : Tzu-Ray Shan (U Florida) +- : fix ave/correlate : Benoit Leblanc, Dave Rigby, \ + Paul Saxe (Materials Design) and Reese Jones (Sandia) +- : pair_style peri/lps : Mike Parks (Sandia) +- : fix msst : Lawrence Fried (LLNL), Evan Reed (LLNL, Stanford) +- : thermo_style custom tpcpu & spcpu keywords : Axel Kohlmeyer (Temple U) +- : fix rigid/nve, fix rigid/nvt : Tony Sheh and Trung Dac Nguyen (U Michigan) +- : public SVN & Git repositories for LAMMPS : \ + Axel Kohlmeyer (Temple U) and Bill Goldman (Sandia) +- : compute heat/flux : German Samolyuk (ORNL) and \ + Mario Pinto (Computational Research Lab, Pune, India) +- : pair_style yukawa/colloid : Randy Schunk (Sandia) +- : fix wall/colloid : Jeremy Lechman (Sandia) +2009 : fix imd for real-time viz and interactive MD : Axel Kohlmeyer (Temple Univ) +- : concentration-dependent EAM potential : \ + Alexander Stukowski (Technical University of Darmstadt) +- : parallel replica dymamics (PRD) : Mike Brown (Sandia) +- : min_style hftn : Todd Plantenga (Sandia) +- : fix atc : Reese Jones, Jon Zimmerman, Jeremy Templeton (Sandia) +- : dump cfg : Liang Wan (Chinese Academy of Sciences) +- : fix nvt with Nose/Hoover chains : Andy Ballard (U Maryland) +- : pair_style lj/cut/gpu, pair_style gayberne/gpu : Mike Brown (Sandia) +- : pair_style lj96/cut, bond_style table, angle_style table : Chuanfu Luo +- : fix langevin tally : Carolyn Phillips (U Michigan) +- : compute heat/flux for Green-Kubo : Reese Jones (Sandia), \ + Philip Howell (Siemens), Vikas Varsney (AFRL) +- : region cone : Pim Schravendijk +- : pair_style born/coul/long : Ahmed Ismail (Sandia) +- : fix ttm : Paul Crozier (Sandia) and Carolyn Phillips (U Michigan) +- : fix box/relax : Aidan Thompson and David Olmsted (Sandia) +- : ReaxFF potential : Aidan Thompson (Sandia) and Hansohl Cho (MIT) +- : compute cna/atom : Liang Wan (Chinese Academy of Sciences) +2008 : Tersoff/ZBL potential : Dave Farrell (Northwestern U) +- : peridynamics : Mike Parks (Sandia) +- : fix smd for steered MD : Axel Kohlmeyer (U Penn) +- : GROMACS pair potentials : Mark Stevens (Sandia) +- : lmp2vmd tool : Axel Kohlmeyer (U Penn) +- : compute group/group : Naveen Michaud-Agrawal (Johns Hopkins U) +- : USER-CG-CMM package for coarse-graining : Axel Kohlmeyer (U Penn) +- : cosine/delta angle potential : Axel Kohlmeyer (U Penn) +- : VIM editor add-ons for LAMMPS input scripts : Gerolf Ziegenhain +- : pair_style lubricate : Randy Schunk (Sandia) +- : compute ackland/atom : Gerolf Ziegenhain +- : kspace_style ewald/n, pair_style lj/coul, pair_style buck/coul : \ + Pieter in 't Veld (Sandia) +- : AI-REBO bond-order potential : Ase Henry (MIT) +- : making LAMMPS a true "object" that can be instantiated \ + multiple times, e.g. as a library : Ben FrantzDale (RPI) +- : pymol_asphere viz tool : Mike Brown (Sandia) +2007 : NEMD SLLOD integration : Pieter in 't Veld (Sandia) +- : tensile and shear deformations : Pieter in 't Veld (Sandia) +- : GayBerne potential : Mike Brown (Sandia) +- : ellipsoidal particles : Mike Brown (Sandia) +- : colloid potentials : Pieter in 't Veld (Sandia) +- : fix heat : Paul Crozier and Ed Webb (Sandia) +- : neighbor multi and communicate multi : Pieter in 't Veld (Sandia) +- : MATLAB post-processing scripts : Arun Subramaniyan (Purdue) +- : triclinic (non-orthogonal) simulation domains : Pieter in 't Veld (Sandia) +- : thermo_extract tool: Vikas Varshney (Wright Patterson AFB) +- : fix ave/time and fix ave/spatial : Pieter in 't Veld (Sandia) +- : MEAM potential : Greg Wagner (Sandia) +- : optimized pair potentials for lj/cut, charmm/long, eam, morse : \ + James Fischer (High Performance Technologies), \ + David Richie and Vincent Natoli (Stone Ridge Technologies) +2006 : fix wall/lj126 : Mark Stevens (Sandia) +- : Stillinger-Weber and Tersoff potentials : \ + Aidan Thompson and Xiaowang Zhou (Sandia) +- : region prism : Pieter in 't Veld (Sandia) +- : fix momentum and recenter : Naveen Michaud-Agrawal (Johns Hopkins U) +- : multi-letter variable names : Naveen Michaud-Agrawal (Johns Hopkins U) +- : OPLS dihedral potential: Mark Stevens (Sandia) +- : POEMS coupled rigid body integrator: Rudranarayan Mukherjee (RPI) +- : faster pair hybrid potential: James Fischer \ + (High Performance Technologies, Inc), Vincent Natoli and \ + David Richie (Stone Ridge Technology) +- : breakable bond quartic potential: Chris Lorenz and Mark Stevens (Sandia) +- : DCD and XTC dump styles: Naveen Michaud-Agrawal (Johns Hopkins U) +- : grain boundary orientation fix : Koenraad Janssens and \ + David Olmsted (Sandia) +- : pair_style lj/smooth potential : Craig Maloney (UCSB) +- : radius-of-gyration spring fix : Naveen Michaud-Agrawal \ + (Johns Hopkins U) and Paul Crozier (Sandia) +- : self spring fix : Naveen Michaud-Agrawal (Johns Hopkins U) +- : EAM CoAl and AlCu potentials : Kwang-Reoul Lee (KIST, Korea) +- : cosine/squared angle potential : Naveen Michaud-Agrawal (Johns Hopkins U) +- : helix dihedral potential : Naveen Michaud-Agrawal (Johns Hopkins U) and \ + Mark Stevens (Sandia) +- : Finnis/Sinclair EAM: Tim Lau (MIT) +- : dissipative particle dynamics (DPD) potentials: Kurt Smith (U Pitt) and \ + Frank van Swol (Sandia) +- : TIP4P potential (4-site water): Ahmed Ismail and \ + Amalie Frischknecht (Sandia) +2005 : uniaxial strain fix: Carsten Svaneborg (Max Planck Institute) +- : compressed dump files: Erik Luijten (U Illinois) +- : cylindrical indenter fix: Ravi Agrawal (Northwestern U) +- : electric field fix: Christina Payne (Vanderbilt U) +- : AMBER <-> LAMMPS tool: Keir Novik (Univ College London) and \ + Vikas Varshney (U Akron) +- : CHARMM <-> LAMMPS tool: Pieter in 't Veld and Paul Crozier (Sandia) +- : Morse bond potential: Jeff Greathouse (Sandia) +- : radial distribution functions: Paul Crozier & Jeff Greathouse (Sandia) +- : force tables for long-range Coulombics: Paul Crozier (Sandia) +2004 : targeted molecular dynamics (TMD): Paul Crozier (Sandia) and \ + Christian Burisch (Bochum University, Germany) +- : FFT support for SGI SCLS (Altix): Jim Shepherd (Ga Tech) +- : lmp2cfg and lmp2traj tools: Ara Kooser, Jeff Greathouse, \ + Andrey Kalinichev (Sandia) +- : parallel tempering: Mark Sears (Sandia) +earlier : granular force fields and BC: Leo Silbert & Gary Grest (Sandia) +- : multi-harmonic dihedral potential: Mathias Putz (Sandia) +- : embedded atom method (EAM) potential: Stephen Foiles (Sandia) +- : msi2lmp tool: Steve Lustig (Dupont), Mike Peachey & John Carpenter (Cray) +- : HTFN energy minimizer: Todd Plantenga (Sandia) +- : class 2 force fields: Eric Simon (Cray) +- : NVT/NPT integrators: Mark Stevens (Sandia) +- : rRESPA: Mark Stevens & Paul Crozier (Sandia) +- : Ewald and PPPM solvers: Roy Pollock (LLNL) : :tb(s=:,ca1=c) diff --git a/doc/src/Intro_features.txt b/doc/src/Intro_features.txt new file mode 100644 index 0000000000..2bb7e25683 --- /dev/null +++ b/doc/src/Intro_features.txt @@ -0,0 +1,202 @@ +"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +LAMMPS features :h3 + +LAMMPS is a classical molecular dynamics (MD) code with these general +classes of functionality: + +"General features"_#general +"Particle and model types"_#particle +"Interatomic potentials (force fields)"_#ff +"Atom creation"_#create +"Ensembles, constraints, and boundary conditions"_#ensemble +"Integrators"_#integrate +"Diagnostics"_#diag +"Output"_#output +"Multi-replica models"_#replica +"Pre- and post-processing"_#prepost +"Specialized features (beyond MD itself)"_#special :ul + +:line + +General features :h4,link(general) + + runs on a single processor or in parallel + distributed-memory message-passing parallelism (MPI) + spatial-decomposition of simulation domain for parallelism + open-source distribution + highly portable C++ + optional libraries used: MPI and single-processor FFT + GPU (CUDA and OpenCL), Intel Xeon Phi, and OpenMP support for many code features + easy to extend with new features and functionality + runs from an input script + syntax for defining and using variables and formulas + syntax for looping over runs and breaking out of loops + run one or multiple simulations simultaneously (in parallel) from one script + build as library, invoke LAMMPS thru library interface or provided Python wrapper + couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both :ul + +Particle and model types :h4,link(particle) +("atom style"_atom_style.html command) + + atoms + coarse-grained particles (e.g. bead-spring polymers) + united-atom polymers or organic molecules + all-atom polymers, organic molecules, proteins, DNA + metals + granular materials + coarse-grained mesoscale models + finite-size spherical and ellipsoidal particles + finite-size line segment (2d) and triangle (3d) particles + point dipole particles + rigid collections of particles + hybrid combinations of these :ul + +Interatomic potentials (force fields) :h4,link(ff) +("pair style"_pair_style.html, "bond style"_bond_style.html, +"angle style"_angle_style.html, "dihedral style"_dihedral_style.html, +"improper style"_improper_style.html, "kspace style"_kspace_style.html +commands) + + pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, \ + Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated + charged pairwise potentials: Coulombic, point-dipole + manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), \ + embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, \ + REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic + long-range interactions for charge, point-dipoles, and LJ dispersion: \ + Ewald, Wolf, PPPM (similar to particle-mesh Ewald) + polarization models: "QEq"_fix_qeq.html, \ + "core/shell model"_Howto_coreshell.html, \ + "Drude dipole model"_Howto_drude.html + charge equilibration (QEq via dynamic, point, shielded, Slater methods) + coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO + mesoscopic potentials: granular, Peridynamics, SPH + electron force field (eFF, AWPMD) + bond potentials: harmonic, FENE, Morse, nonlinear, class 2, \ + quartic (breakable) + angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, \ + class 2 (COMPASS) + dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, \ + class 2 (COMPASS), OPLS + improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS) + polymer potentials: all-atom, united-atom, bead-spring, breakable + water potentials: TIP3P, TIP4P, SPC + implicit solvent potentials: hydrodynamic lubrication, Debye + force-field compatibility with common CHARMM, AMBER, DREIDING, \ + OPLS, GROMACS, COMPASS options + access to "KIM archive"_http://openkim.org of potentials via \ + "pair kim"_pair_kim.html + hybrid potentials: multiple pair, bond, angle, dihedral, improper \ + potentials can be used in one simulation + overlaid potentials: superposition of multiple pair potentials :ul + +Atom creation :h4,link(create) +("read_data"_read_data.html, "lattice"_lattice.html, +"create_atoms"_create_atoms.html, "delete_atoms"_delete_atoms.html, +"displace_atoms"_displace_atoms.html, "replicate"_replicate.html commands) + + read in atom coords from files + create atoms on one or more lattices (e.g. grain boundaries) + delete geometric or logical groups of atoms (e.g. voids) + replicate existing atoms multiple times + displace atoms :ul + +Ensembles, constraints, and boundary conditions :h4,link(ensemble) +("fix"_fix.html command) + + 2d or 3d systems + orthogonal or non-orthogonal (triclinic symmetry) simulation domains + constant NVE, NVT, NPT, NPH, Parinello/Rahman integrators + thermostatting options for groups and geometric regions of atoms + pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions + simulation box deformation (tensile and shear) + harmonic (umbrella) constraint forces + rigid body constraints + SHAKE bond and angle constraints + Monte Carlo bond breaking, formation, swapping + atom/molecule insertion and deletion + walls of various kinds + non-equilibrium molecular dynamics (NEMD) + variety of additional boundary conditions and constraints :ul + +Integrators :h4,link(integrate) +("run"_run.html, "run_style"_run_style.html, "minimize"_minimize.html commands) + + velocity-Verlet integrator + Brownian dynamics + rigid body integration + energy minimization via conjugate gradient or steepest descent relaxation + rRESPA hierarchical timestepping + rerun command for post-processing of dump files :ul + +Diagnostics :h4,link(diag) + + see various flavors of the "fix"_fix.html and "compute"_compute.html commands :ul + +Output :h4,link(output) +("dump"_dump.html, "restart"_restart.html commands) + + log file of thermodynamic info + text dump files of atom coords, velocities, other per-atom quantities + binary restart files + parallel I/O of dump and restart files + per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc) + user-defined system-wide (log file) or per-atom (dump file) calculations + spatial and time averaging of per-atom quantities + time averaging of system-wide quantities + atom snapshots in native, XYZ, XTC, DCD, CFG formats :ul + +Multi-replica models :h4,link(replica) + +"nudged elastic band"_neb.html +"parallel replica dynamics"_prd.html +"temperature accelerated dynamics"_tad.html +"parallel tempering"_temper.html :ul + +Pre- and post-processing :h4,link(prepost) + +A handful of pre- and post-processing tools are packaged with LAMMPS, +some of which can convert input and output files to/from formats used +by other codes; see the "Toos"_Tools.html doc page. :ulb,l + +Our group has also written and released a separate toolkit called +"Pizza.py"_pizza which provides tools for doing setup, analysis, +plotting, and visualization for LAMMPS simulations. Pizza.py is +written in "Python"_python and is available for download from "the +Pizza.py WWW site"_pizza. :l,ule + +:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) +:link(python,http://www.python.org) + +Specialized features :h4,link(special) + +LAMMPS can be built with optional packages which implement a variety +of additional capabilities. See the "Packages"_Packages.html doc +page for details. + +These are LAMMPS capabilities which you may not think of as typical +classical MD options: + +"static"_balance.html and "dynamic load-balancing"_fix_balance.html +"generalized aspherical particles"_Howto_body.html +"stochastic rotation dynamics (SRD)"_fix_srd.html +"real-time visualization and interactive MD"_fix_imd.html +calculate "virtual diffraction patterns"_compute_xrd.html +"atom-to-continuum coupling"_fix_atc.html with finite elements +coupled rigid body integration via the "POEMS"_fix_poems.html library +"QM/MM coupling"_fix_qmmm.html +Monte Carlo via "GCMC"_fix_gcmc.html and "tfMC"_fix_tfmc.html and "atom swapping"_fix_atom_swap.html +"path-integral molecular dynamics (PIMD)"_fix_ipi.html and "this as well"_fix_pimd.html +"Direct Simulation Monte Carlo"_pair_dsmc.html for low-density fluids +"Peridynamics mesoscale modeling"_pair_peri.html +"Lattice Boltzmann fluid"_fix_lb_fluid.html +"targeted"_fix_tmd.html and "steered"_fix_smd.html molecular dynamics +"two-temperature electron model"_fix_ttm.html :ul diff --git a/doc/src/Intro_nonfeatures.txt b/doc/src/Intro_nonfeatures.txt new file mode 100644 index 0000000000..41f001fc8b --- /dev/null +++ b/doc/src/Intro_nonfeatures.txt @@ -0,0 +1,83 @@ +"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +LAMMPS non-features :h3 + +LAMMPS is designed to be a fast, parallel engine for molecular +dynamics (MD) simulations. It provides only a modest amount of +functionality for setting up simulations and analyzing their output. + +Specifically, LAMMPS does not: + +run thru a GUI +build molecular systems +assign force-field coefficients automagically +perform sophisticated analyses of your MD simulation +visualize your MD simulation interactively +plot your output data :ul + +Here are suggestions on how to perform these tasks: + +GUI: LAMMPS can be built as a library and a Python wrapper that wraps +the library interface is provided. Thus, GUI interfaces can be +written in Python (or C or C++ if desired) that run LAMMPS and +visualize or plot its output. Examples of this are provided in the +python directory and described on the "Python"_Python.html doc +page. :ulb,l + +Builder: Several pre-processing tools are packaged with LAMMPS. Some +of them convert input files in formats produced by other MD codes such +as CHARMM, AMBER, or Insight into LAMMPS input formats. Some of them +are simple programs that will build simple molecular systems, such as +linear bead-spring polymer chains. The moltemplate program is a true +molecular builder that will generate complex molecular models. See +the "Tools"_Tools.html doc page for details on tools packaged with +LAMMPS. The "Pre/post processing +page"_http:/lammps.sandia.gov/prepost.html of the LAMMPS website +describes a variety of 3rd party tools for this task. :l + +Force-field assignment: The conversion tools described in the previous +bullet for CHARMM, AMBER, and Insight will also assign force field +coefficients in the LAMMPS format, assuming you provide CHARMM, AMBER, +or Accelerys force field files. :l + +Simulation analyses: If you want to perform analyses on-the-fly as +your simulation runs, see the "compute"_compute.html and +"fix"_fix.html doc pages, which list commands that can be used in a +LAMMPS input script. Also see the "Modify"_Modify.html doc page for +info on how to add your own analysis code or algorithms to LAMMPS. +For post-processing, LAMMPS output such as "dump file +snapshots"_dump.html can be converted into formats used by other MD or +post-processing codes. Some post-processing tools packaged with +LAMMPS will do these conversions. Scripts provided with the {python} +tool in the tools directory can extract and massage data in dump files +to make it easier to import into other programs. See the +"Tools"_Tools.html doc page for details on these various options. :l + +Visualization: LAMMPS can produce JPG or PNG snapshot images +on-the-fly via its "dump image"_dump_image.html command. For +high-quality, interactive visualization there are many excellent and +free tools available. See the "Other Codes +page"_http://lammps.sandia.gov/viz.html page of the LAMMPS website for +visualization packages that can use LAMMPS output data. :l + +Plotting: See the next bullet about Pizza.py as well as the +"Python"_Python.html doc page for examples of plotting LAMMPS output. +Scripts provided with the {python} tool in the tools directory will +extract and massage data in log and dump files to make it easier to +analyze and plot. See the "Tools"_Tools.html doc page for more +discussion of the various tools. :l + +Pizza.py: Our group has also written a separate toolkit called +"Pizza.py"_http://pizza.sandia.gov which can do certain kinds of +setup, analysis, plotting, and visualization (via OpenGL) for LAMMPS +simulations. It thus provides some functionality for several of the +above bullets. Pizza.py is written in "Python"_http://www.python.org +and is available for download from "this +page"_http://www.cs.sandia.gov/~sjplimp/download.html. :l,ule diff --git a/doc/src/Intro_opensource.txt b/doc/src/Intro_opensource.txt new file mode 100644 index 0000000000..e0d57f7ce1 --- /dev/null +++ b/doc/src/Intro_opensource.txt @@ -0,0 +1,44 @@ +"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +LAMMPS open-source license :h3 + +LAMMPS is a freely-available open-source code, distributed under the +terms of the "GNU Public License"_gnu, which means you can use or +modify the code however you wish. + +LAMMPS comes with no warranty of any kind. As each source file states +in its header, it is a copyrighted code that is distributed free-of- +charge, under the terms of the "GNU Public License"_gnu (GPL). This +is often referred to as open-source distribution - see +"www.gnu.org"_gnuorg or "www.opensource.org"_opensource. The legal +text of the GPL is in the LICENSE file included in the LAMMPS +distribution. + +:link(gnu,http://www.gnu.org/copyleft/gpl.html) +:link(gnuorg,http://www.gnu.org) +:link(opensource,http://www.opensource.org) + +Here is a summary of what the GPL means for LAMMPS users: + +(1) Anyone is free to use, modify, or extend LAMMPS in any way they +choose, including for commercial purposes. + +(2) If you distribute a modified version of LAMMPS, it must remain +open-source, meaning you distribute it under the terms of the GPL. +You should clearly annotate such a code as a derivative version of +LAMMPS. + +(3) If you release any code that includes LAMMPS source code, then it +must also be open-sourced, meaning you distribute it under the terms +of the GPL. + +(4) If you give LAMMPS files to someone else, the GPL LICENSE file and +source file headers (including the copyright and GPL notices) should +remain part of the code. diff --git a/doc/src/Intro_overview.txt b/doc/src/Intro_overview.txt new file mode 100644 index 0000000000..49c14bc5f0 --- /dev/null +++ b/doc/src/Intro_overview.txt @@ -0,0 +1,58 @@ +"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Overview of LAMMPS :h3 + +LAMMPS is a classical molecular dynamics (MD) code that models +ensembles of particles in a liquid, solid, or gaseous state. It can +model atomic, polymeric, biological, solid-state (metals, ceramics, +oxides), granular, coarse-grained, or macroscopic systems using a +variety of interatomic potentials (force fields) and boundary +conditions. It can model 2d or 3d systems with only a few particles +up to millions or billions. + +LAMMPS can be built and run on a laptop or destop machine, but is +designed for parallel computers. It will run on any parallel machine +that supports the "MPI"_mpi message-passing library. This includes +shared-memory boxes and distributed-memory clusters and +supercomputers. + +:link(mpi,http://www-unix.mcs.anl.gov/mpi) + +LAMMPS is written in C++. Earlier versions were written in F77 and +F90. See the "History page"_http://lammps.sandia.gov/history.html of +the website for details. All versions can be downloaded from the +"LAMMPS website"_lws. + +LAMMPS is designed to be easy to modify or extend with new +capabilities, such as new force fields, atom types, boundary +conditions, or diagnostics. See the "Modify"_Modify.html doc page for +more details. + +In the most general sense, LAMMPS integrates Newton's equations of +motion for a collection of interacting particles. A single particle +can be an atom or molecule or electron, a coarse-grained cluster of +atoms, or a mesoscopic or macroscopic clump of material. The +interaction models that LAMMPS includes are mostly short-range in +nature; some long-range models are included as well. + +LAMMPS uses neighbor lists to keep track of nearby particles. The +lists are optimized for systems with particles that are repulsive at +short distances, so that the local density of particles never becomes +too large. This is in contrast to methods used for modeling plasmas +or gravitational bodies (e.g. galaxy formation). + +On parallel machines, LAMMPS uses spatial-decomposition techniques to +partition the simulation domain into small sub-domains of equal +computational cost, one of which is assigned to each processor. +Processors communicate and store "ghost" atom information for atoms +that border their sub-domain. + + + diff --git a/doc/src/Intro_website.txt b/doc/src/Intro_website.txt new file mode 100644 index 0000000000..a8af94157c --- /dev/null +++ b/doc/src/Intro_website.txt @@ -0,0 +1,42 @@ +"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Additional website links :h3 + +The "LAMMPS website"_lws has a variety of additional info about +LAMMPS, beyond what is in this manual. Some of the other pages in +this Intr are included in this list. + +"Brief intro and recently added significant features"_lws +"List of features"_http://lammps.sandia.gov/features.html +"List of non-features"_http://lammps.sandia.gov/non_features.html +"Recent bug fixes and new features"_http://lammps.sandia.gov/bug.html :ul + +"Download info"_http://lammps.sandia.gov/download.html +"GitHub site"_https://github.com/lammps/lammps +"SourceForge site"_https://sourceforge.net/projects/lammps +"LAMMPS open-source license"_http://lammps.sandia.gov/open_source.html :ul + +"Glossary of MD terms relevant to LAMMPS"_http://lammps.sandia.gov/glossary.html +"LAMMPS highlights with images"_http://lammps.sandia.gov/pictures.html +"LAMMPS highlights with movies"_http://lammps.sandia.gov/movies.html +"Mail list"_http://lammps.sandia.gov/mail.html +"Workshops"_http://lammps.sandia.gov/workshops.html +"Tutorials"_http://lammps.sandia.gov/tutorials.html +"Developer guide"_http://lammps.sandia.gov/Developer.pdf :ul + +"Pre- and post-processing tools for LAMMPS"_http://lammps.sandia.gov/prepost.html +"Other software usable with LAMMPS"_http://lammps.sandia.gov/offsite.html +"Viz tools usable with LAMMPS"_http://lammps.sandia.gov/viz.html :ul + +"Benchmark performance"_http://lammps.sandia.gov/bench.html +"Publications that have cited LAMMPS"_http://lammps.sandia.gov/papers.html +"Authors of LAMMPS"_http://lammps.sandia.gov/authors.html +"History of LAMMPS development"_http://lammps.sandia.gov/history.html +"Funding for LAMMPS"_http://lammps.sandia.gov/funding.html :ul diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index 4481c911a0..a5e8b63640 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,7 +1,7 @@ -< + LAMMPS Users Manual - + @@ -14,90 +14,53 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html#comm) :line -LAMMPS Documentation :c,h1 -16 Jul 2018 version :c,h2 - -Version info: :h3 - -The LAMMPS "version" is the date when it was released, such as 1 May -2010. LAMMPS is updated continuously. Whenever we fix a bug or add a -feature, we release it immediately, and post a notice on "this page of -the WWW site"_bug. Every 2-4 months one of the incremental releases -is subjected to more thorough testing and labeled as a {stable} version. - -Each dated copy of LAMMPS contains all the -features and bug-fixes up to and including that version date. The -version date is printed to the screen and logfile every time you run -LAMMPS. It is also in the file src/version.h and in the LAMMPS -directory name created when you unpack a tarball, and at the top of -the first page of the manual (this page). - -If you browse the HTML doc pages on the LAMMPS WWW site, they always -describe the most current [development] version of LAMMPS. :ulb,l +

      -If you browse the HTML doc pages included in your tarball, they -describe the version you have. :l - -The "PDF file"_Manual.pdf on the WWW site or in the tarball is updated -about once per month. This is because it is large, and we don't want -it to be part of every patch. :l +LAMMPS Documentation :c,h1 +2 Aug 2018 version :c,h2 -There is also a "Developer.pdf"_Developer.pdf file in the doc -directory, which describes the internal structure and algorithms of -LAMMPS. :l -:ule +"What is a LAMMPS version?"_Manual_version.html LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel Simulator. -LAMMPS is a classical molecular dynamics simulation code designed to -run efficiently on parallel computers. It was developed at Sandia -National Laboratories, a US Department of Energy facility, with -funding from the DOE. It is an open-source code, distributed freely -under the terms of the GNU Public License (GPL). +LAMMPS is a classical molecular dynamics simulation code with a focus +on materials modeling. It was designed to run efficiently on parallel +computers. It was developed originally at Sandia National +Laboratories, a US Department of Energy facility. The majority of +funding for LAMMPS has come from the US Department of Energy (DOE). +LAMMPS is an open-source code, distributed freely under the terms of +the GNU Public License (GPL). -The current core group of LAMMPS developers is at Sandia National -Labs and Temple University: +The "LAMMPS website"_lws has a variety of information about the code. +It includes links to an on-line version of this manual, a "mail +list"_http://lammps.sandia.gov/mail.html where users can post +questions, and a "GitHub site"https://github.com/lammps/lammps where +all LAMMPS development is coordinated. -"Steve Plimpton"_sjp, sjplimp at sandia.gov :ulb,l -Aidan Thompson, athomps at sandia.gov :l -Stan Moore, stamoor at sandia.gov :l -"Axel Kohlmeyer"_ako, akohlmey at gmail.com :l -:ule +:line -Past core developers include Paul Crozier, Ray Shan and Mark Stevens, -all at Sandia. The [LAMMPS home page] at -"http://lammps.sandia.gov"_http://lammps.sandia.gov has more information -about the code and its uses. Interaction with external LAMMPS developers, -bug reports and feature requests are mainly coordinated through the -"LAMMPS project on GitHub."_https://github.com/lammps/lammps -The lammps.org domain, currently hosting "public continuous integration -testing"_https://ci.lammps.org/job/lammps/ and "precompiled Linux -RPM and Windows installer packages"_http://packages.lammps.org is located -at Temple University and managed by Richard Berger, -richard.berger at temple.edu. +"PDF file"_Manual.pdf of the entire manual, generated by +"htmldoc"_http://freecode.com/projects/htmldoc -:link(bug,http://lammps.sandia.gov/bug.html) -:link(sjp,http://www.sandia.gov/~sjplimp) -:link(ako,http://goo.gl/1wk0) +The content for this manual is part of the LAMMPS distribution. +You can build a local copy of the Manual as HTML pages or a PDF file, +by following the steps on the "this page"_Build_manual.html. + +There is also a "Developer.pdf"_Developer.pdf document which gives +a brief description of the basic code structure of LAMMPS. :line -The LAMMPS documentation is organized into the following sections. If -you find errors or omissions in this manual or have suggestions for -useful information to add, please send an email to the developers so -we can improve the LAMMPS documentation. +This manual is organized into the following sections. Once you are familiar with LAMMPS, you may want to bookmark "this -page"_Section_commands.html#comm at Section_commands.html#comm since -it gives quick access to documentation for all LAMMPS commands. - -"PDF file"_Manual.pdf of the entire manual, generated by -"htmldoc"_http://freecode.com/projects/htmldoc +page"_Commands.html since it gives quick access to a doc page for +every LAMMPS command. -"Introduction"_Section_intro.html :olb,l - 1.1 "What is LAMMPS"_intro_1 :ulb,b - 1.2 "LAMMPS features"_intro_2 :b - 1.3 "LAMMPS non-features"_intro_3 :b - 1.4 "Open source distribution"_intro_4 :b - 1.5 "Acknowledgments and citations"_intro_5 :ule,b +"Introduction"_Intro.html :olb,l "Getting started"_Section_start.html :l 2.1 "What's in the LAMMPS distribution"_start_1 :ulb,b 2.2 "Making LAMMPS"_start_2 :b @@ -161,70 +116,17 @@ END_RST --> 2.6 "Command-line options"_start_6 :b 2.7 "Screen output"_start_7 :b 2.8 "Tips for users of previous versions"_start_8 :ule,b -"Commands"_Section_commands.html :l - 3.1 "LAMMPS input script"_cmd_1 :ulb,b - 3.2 "Parsing rules"_cmd_2 :b - 3.3 "Input script structure"_cmd_3 :b - 3.4 "Commands listed by category"_cmd_4 :b - 3.5 "Commands listed alphabetically"_cmd_5 :ule,b -"Packages"_Section_packages.html :l - 4.1 "Standard packages"_pkg_1 :ulb,b - 4.2 "User packages"_pkg_2 :ule,b -"Accelerating LAMMPS performance"_Section_accelerate.html :l - 5.1 "Measuring performance"_acc_1 :ulb,b - 5.2 "Algorithms and code options to boost performace"_acc_2 :b - 5.3 "Accelerator packages with optimized styles"_acc_3 :b - 5.3.1 "GPU package"_accelerate_gpu.html :b - 5.3.2 "USER-INTEL package"_accelerate_intel.html :b - 5.3.3 "KOKKOS package"_accelerate_kokkos.html :b - 5.3.4 "USER-OMP package"_accelerate_omp.html :b - 5.3.5 "OPT package"_accelerate_opt.html :b - 5.4 "Comparison of various accelerator packages"_acc_4 :ule,b -"How-to discussions"_Section_howto.html :l - 6.1 "Restarting a simulation"_howto_1 :ulb,b - 6.2 "2d simulations"_howto_2 :b - 6.3 "CHARMM and AMBER force fields"_howto_3 :b - 6.4 "Running multiple simulations from one input script"_howto_4 :b - 6.5 "Multi-replica simulations"_howto_5 :b - 6.6 "Granular models"_howto_6 :b - 6.7 "TIP3P water model"_howto_7 :b - 6.8 "TIP4P water model"_howto_8 :b - 6.9 "SPC water model"_howto_9 :b - 6.10 "Coupling LAMMPS to other codes"_howto_10 :b - 6.11 "Visualizing LAMMPS snapshots"_howto_11 :b - 6.12 "Triclinic (non-orthogonal) simulation boxes"_howto_12 :b - 6.13 "NEMD simulations"_howto_13 :b - 6.14 "Finite-size spherical and aspherical particles"_howto_14 :b - 6.15 "Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_howto_15 :b - 6.16 "Thermostatting, barostatting, and compute temperature"_howto_16 :b - 6.17 "Walls"_howto_17 :b - 6.18 "Elastic constants"_howto_18 :b - 6.19 "Library interface to LAMMPS"_howto_19 :b - 6.20 "Calculating thermal conductivity"_howto_20 :b - 6.21 "Calculating viscosity"_howto_21 :b - 6.22 "Calculating a diffusion coefficient"_howto_22 :b - 6.23 "Using chunks to calculate system properties"_howto_23 :b - 6.24 "Setting parameters for pppm/disp"_howto_24 :b - 6.25 "Polarizable models"_howto_25 :b - 6.26 "Adiabatic core/shell model"_howto_26 :b - 6.27 "Drude induced dipoles"_howto_27 :ule,b +"Commands"_Commands.html :l +"Optional packages"_Packages.html :l +"Accelerate performance"_Speed.html :l +"How-to discussions"_Howto.html :l "Example scripts"_Examples.html :l -"Performance & scalability"_Section_perf.html :l "Auxiliary tools"_Tools.html :l "Modify & extend LAMMPS"_Modify.html :l "Use Python with LAMMPS"_Python.html :l "Errors"_Errors.html :l -"Future and history"_Section_history.html :l - 13.1 "Coming attractions"_hist_1 :ulb,b - 13.2 "Past versions"_hist_2 :ule,b :ole -:link(intro_1,Section_intro.html#intro_1) -:link(intro_2,Section_intro.html#intro_2) -:link(intro_3,Section_intro.html#intro_3) -:link(intro_4,Section_intro.html#intro_4) -:link(intro_5,Section_intro.html#intro_5) - :link(start_1,Section_start.html#start_1) :link(start_2,Section_start.html#start_2) :link(start_3,Section_start.html#start_3) @@ -234,50 +136,6 @@ END_RST --> :link(start_7,Section_start.html#start_7) :link(start_8,Section_start.html#start_8) -:link(cmd_1,Section_commands.html#cmd_1) -:link(cmd_2,Section_commands.html#cmd_2) -:link(cmd_3,Section_commands.html#cmd_3) -:link(cmd_4,Section_commands.html#cmd_4) -:link(cmd_5,Section_commands.html#cmd_5) - -:link(pkg_1,Section_packages.html#pkg_1) -:link(pkg_2,Section_packages.html#pkg_2) - -:link(acc_1,Section_accelerate.html#acc_1) -:link(acc_2,Section_accelerate.html#acc_2) -:link(acc_3,Section_accelerate.html#acc_3) -:link(acc_4,Section_accelerate.html#acc_4) - -:link(howto_1,Section_howto.html#howto_1) -:link(howto_2,Section_howto.html#howto_2) -:link(howto_3,Section_howto.html#howto_3) -:link(howto_4,Section_howto.html#howto_4) -:link(howto_5,Section_howto.html#howto_5) -:link(howto_6,Section_howto.html#howto_6) -:link(howto_7,Section_howto.html#howto_7) -:link(howto_8,Section_howto.html#howto_8) -:link(howto_9,Section_howto.html#howto_9) -:link(howto_10,Section_howto.html#howto_10) -:link(howto_11,Section_howto.html#howto_11) -:link(howto_12,Section_howto.html#howto_12) -:link(howto_13,Section_howto.html#howto_13) -:link(howto_14,Section_howto.html#howto_14) -:link(howto_15,Section_howto.html#howto_15) -:link(howto_16,Section_howto.html#howto_16) -:link(howto_17,Section_howto.html#howto_17) -:link(howto_18,Section_howto.html#howto_18) -:link(howto_19,Section_howto.html#howto_19) -:link(howto_20,Section_howto.html#howto_20) -:link(howto_21,Section_howto.html#howto_21) -:link(howto_22,Section_howto.html#howto_22) -:link(howto_23,Section_howto.html#howto_23) -:link(howto_24,Section_howto.html#howto_24) -:link(howto_25,Section_howto.html#howto_25) -:link(howto_26,Section_howto.html#howto_26) -:link(howto_27,Section_howto.html#howto_27) - -:link(hist_1,Section_history.html#hist_1) -:link(hist_2,Section_history.html#hist_2) diff --git a/doc/src/Manual_version.txt b/doc/src/Manual_version.txt new file mode 100644 index 0000000000..8583eabf86 --- /dev/null +++ b/doc/src/Manual_version.txt @@ -0,0 +1,33 @@ +"Higher level section"_Manual.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +What does a LAMMPS version mean: :h3 + +The LAMMPS "version" is the date when it was released, such as 1 May +2014. LAMMPS is updated continuously. Whenever we fix a bug or add a +feature, we release it in the next {patch} release, which are +typically made every couple of weeks. Info on patch releases are on +"this website page"_http://lammps.sandia.gov/bug.html. Every few +months, the latest patch release is subjected to more thorough testing +and labeled as a {stable} version. + +Each version of LAMMPS contains all the features and bug-fixes up to +and including its version date. + +The version date is printed to the screen and logfile every time you +run LAMMPS. It is also in the file src/version.h and in the LAMMPS +directory name created when you unpack a tarball. And it is on the +first page of the "manual"_Manual.html. + +If you browse the HTML doc pages on the LAMMPS WWW site, they always +describe the most current patch release of LAMMPS. :ulb,l + +If you browse the HTML doc pages included in your tarball, they +describe the version you have, which may be older. :l,ule + diff --git a/doc/src/Modify.txt b/doc/src/Modify.txt index ae0b0dc6bd..f828bd5d74 100644 --- a/doc/src/Modify.txt +++ b/doc/src/Modify.txt @@ -4,7 +4,7 @@ Section"_Python.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_atom.txt b/doc/src/Modify_atom.txt index afa1c319d2..60c7dccb29 100644 --- a/doc/src/Modify_atom.txt +++ b/doc/src/Modify_atom.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_body.txt b/doc/src/Modify_body.txt index b1dc8130cd..0114ae10c8 100644 --- a/doc/src/Modify_body.txt +++ b/doc/src/Modify_body.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -14,10 +14,9 @@ Body particles can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, etc. -See "Section 6.14"_Section_howto.html#howto_14 of the manual for -an overview of using body particles and the "body"_body.html doc page -for details on the various body styles LAMMPS supports. New styles -can be created to add new kinds of body particles to LAMMPS. +See the "Howto body"_Howto_body.html doc page for an overview of using +body particles and the various body styles LAMMPS supports. New +styles can be created to add new kinds of body particles to LAMMPS. Body_nparticle.cpp is an example of a body particle that is treated as a rigid body containing N sub-particles. diff --git a/doc/src/Modify_bond.txt b/doc/src/Modify_bond.txt index f0828a0c3b..7ceea3f910 100644 --- a/doc/src/Modify_bond.txt +++ b/doc/src/Modify_bond.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_command.txt b/doc/src/Modify_command.txt index 6fc9aad1fc..4576f6c806 100644 --- a/doc/src/Modify_command.txt +++ b/doc/src/Modify_command.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_compute.txt b/doc/src/Modify_compute.txt index b02b8a983e..2f6481dbd5 100644 --- a/doc/src/Modify_compute.txt +++ b/doc/src/Modify_compute.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_contribute.txt b/doc/src/Modify_contribute.txt index 80795b5e20..ef9fe6a717 100644 --- a/doc/src/Modify_contribute.txt +++ b/doc/src/Modify_contribute.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -32,14 +32,14 @@ How quickly your contribution will be integrated depends largely on how much effort it will cause to integrate and test it, how much it requires changes to the core codebase, and of how much interest it is to the larger LAMMPS community. Please see below for a checklist of -typical requirements. Once you have prepared everything, see "this -tutorial"_tutorial_github.html for instructions on how to submit your -changes or new files through a GitHub pull request. If you prefer to -submit patches or full files, you should first make certain, that your -code works correctly with the latest patch-level version of LAMMPS and -contains all bugfixes from it. Then create a gzipped tar file of all -changed or added files or a corresponding patch file using 'diff -u' -or 'diff -c' and compress it with gzip. Please only use gzip +typical requirements. Once you have prepared everything, see the +"Howto github"_Howto_github.html doc page for instructions on how to +submit your changes or new files through a GitHub pull request. If you +prefer to submit patches or full files, you should first make certain, +that your code works correctly with the latest patch-level version of +LAMMPS and contains all bugfixes from it. Then create a gzipped tar +file of all changed or added files or a corresponding patch file using +'diff -u' or 'diff -c' and compress it with gzip. Please only use gzip compression, as this works well on all platforms. If the new features/files are broadly useful we may add them as core @@ -54,8 +54,9 @@ packages by typing "make package" in the LAMMPS src directory. Note that by providing us files to release, you are agreeing to make them open-source, i.e. we can release them under the terms of the GPL, -used as a license for the rest of LAMMPS. See "Section -1.4"_Section_intro.html#intro_4 for details. +used as a license for the rest of LAMMPS. See the "Open +source"_http://lammps.sandia.gov/open_source.html page on the LAMMPS +website for details. With user packages and files, all we are really providing (aside from the fame and fortune that accompanies having your name in the source diff --git a/doc/src/Modify_dump.txt b/doc/src/Modify_dump.txt index 81af54e003..cfe96f5d3d 100644 --- a/doc/src/Modify_dump.txt +++ b/doc/src/Modify_dump.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_fix.txt b/doc/src/Modify_fix.txt index ba985475cc..b095ebc4b5 100644 --- a/doc/src/Modify_fix.txt +++ b/doc/src/Modify_fix.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_kspace.txt b/doc/src/Modify_kspace.txt index 21407bf2e9..d5f018411d 100644 --- a/doc/src/Modify_kspace.txt +++ b/doc/src/Modify_kspace.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_min.txt b/doc/src/Modify_min.txt index 5dcf0f1e67..8252a576f3 100644 --- a/doc/src/Modify_min.txt +++ b/doc/src/Modify_min.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_overview.txt b/doc/src/Modify_overview.txt index f9964d964b..cf94b40281 100644 --- a/doc/src/Modify_overview.txt +++ b/doc/src/Modify_overview.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_pair.txt b/doc/src/Modify_pair.txt index 8c234dc621..0ebf2daa30 100644 --- a/doc/src/Modify_pair.txt +++ b/doc/src/Modify_pair.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_region.txt b/doc/src/Modify_region.txt index 9fbf359292..cdf192323a 100644 --- a/doc/src/Modify_region.txt +++ b/doc/src/Modify_region.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_thermo.txt b/doc/src/Modify_thermo.txt index 001a9f99e1..1772bae87a 100644 --- a/doc/src/Modify_thermo.txt +++ b/doc/src/Modify_thermo.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Modify_variable.txt b/doc/src/Modify_variable.txt index 3c5b29cd1a..b163272f3e 100644 --- a/doc/src/Modify_variable.txt +++ b/doc/src/Modify_variable.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Packages.txt b/doc/src/Packages.txt new file mode 100644 index 0000000000..a7f45a99b7 --- /dev/null +++ b/doc/src/Packages.txt @@ -0,0 +1,39 @@ +"Previous Section"_Commands.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Speed.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Optional packages :h2 + +This section gives an overview of the optional packages that extend +LAMMPS functionality. Packages are groups of files that enable a +specific set of features. For example, force fields for molecular +systems or rigid-body constraint are in packages. You can see the +list of all packages and "make" commands to manage them by typing +"make package" from within the src directory of the LAMMPS +distribution. "Section 2.3"_Section_start.html#start_3 gives general +info on how to install and un-install packages as part of the LAMMPS +build process. + + + + + +"Standard packages"_Packages_standard.html +"User packages"_Packages_user.html +"Details on each package"_Packages_details.html :ul + + diff --git a/doc/src/Section_packages.txt b/doc/src/Packages_details.txt similarity index 85% rename from doc/src/Section_packages.txt rename to doc/src/Packages_details.txt index 340a77310d..eb92fe4dc4 100644 --- a/doc/src/Section_packages.txt +++ b/doc/src/Packages_details.txt @@ -1,159 +1,96 @@ -"Previous Section"_Section_commands.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_accelerate.html :c +"Higher level section"_Packages.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -4. Packages :h2 - -This section gives an overview of the optional packages that extend -LAMMPS functionality with instructions on how to build LAMMPS with -each of them. Packages are groups of files that enable a specific set -of features. For example, force fields for molecular systems or -granular systems are in packages. You can see the list of all -packages and "make" commands to manage them by typing "make package" -from within the src directory of the LAMMPS distribution. "Section -2.3"_Section_start.html#start_3 gives general info on how to install -and un-install packages as part of the LAMMPS build process. - -There are two kinds of packages in LAMMPS, standard and user packages: - -"Table of standard packages"_#table_standard -"Table of user packages"_#table_user :ul - -Either of these kinds of packages may work as is, may require some -additional code compiled located in the lib folder, or may require -an external library to be downloaded, compiled, installed, and LAMMPS -configured to know about its location and additional compiler flags. -You can often do the build of the internal or external libraries -in one step by typing "make lib-name args='...'" from the src dir, -with appropriate arguments included in args='...'. If you just type -"make lib-name" you should see a help message about supported flags -and some examples. For more details about this, please study the -tables below and the sections about the individual packages. - -Standard packages are supported by the LAMMPS developers and are -written in a syntax and style consistent with the rest of LAMMPS. -This means the developers will answer questions about them, debug and -fix them if necessary, and keep them compatible with future changes to -LAMMPS. - -User packages have been contributed by users, and begin with the -"user" prefix. If they are a single command (single file), they are -typically in the user-misc package. User packages don't necessarily -meet the requirements of the standard packages. This means the -developers will try to keep things working and usually can answer -technical questions about compiling the package. If you have problems -using a feature provided in a user package, you may need to contact -the contributor directly to get help. Information on how to submit -additions you make to LAMMPS as single files or as a standard or user -package are given in the "Modify contribute"_Modify.html doc page. - -Following the next two tables is a sub-section for each package. It -lists authors (if applicable) and summarizes the package contents. It -has specific instructions on how to install the package, including (if -necessary) downloading or building any extra library it requires. It -also gives links to documentation, example scripts, and -pictures/movies (if available) that illustrate use of the package. +:link(lc,Commands_all.html) + +:line + +Package details :h3 + +Here is a brief description of all the standard and user packages in +LAMMPS. It lists authors (if applicable) and summarizes the package +contents. It has specific instructions on how to install the package, +including, if necessary, info on how to download or build any extra +library it requires. It also gives links to documentation, example +scripts, and pictures/movies (if available) that illustrate use of the +package. NOTE: To see the complete list of commands a package adds to LAMMPS, -just look at the files in its src directory, e.g. "ls src/GRANULAR". -Files with names that start with fix, compute, atom, pair, bond, -angle, etc correspond to commands with the same style names. - -In these two tables, the "Example" column is a sub-directory in the -examples directory of the distribution which has an input script that -uses the package. E.g. "peptide" refers to the examples/peptide -directory; USER/atc refers to the examples/USER/atc directory. The -"Library" column indicates whether an extra library is needed to build -and use the package: - -dash = no library -sys = system library: you likely have it on your machine -int = internal library: provided with LAMMPS, but you may need to build it -ext = external library: you will need to download and install it on your machine :ul - -:line -:line - -[Standard packages] :link(table_standard),p - -Package, Description, Doc page, Example, Library -"ASPHERE"_#ASPHERE, aspherical particle models, "Section 6.6.14"_Section_howto.html#howto_14, ellipse, - -"BODY"_#BODY, body-style particles, "body"_body.html, body, - -"CLASS2"_#CLASS2, class 2 force fields, "pair_style lj/class2"_pair_class2.html, -, - -"COLLOID"_#COLLOID, colloidal particles, "atom_style colloid"_atom_style.html, colloid, - -"COMPRESS"_#COMPRESS, I/O compression, "dump */gz"_dump.html, -, sys -"CORESHELL"_#CORESHELL, adiabatic core/shell model, "Section 6.6.25"_Section_howto.html#howto_25, coreshell, - -"DIPOLE"_#DIPOLE, point dipole particles, "pair_style dipole/cut"_pair_dipole.html, dipole, - -"GPU"_#GPU, GPU-enabled styles, "Section 5.3.1"_accelerate_gpu.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, int -"GRANULAR"_#GRANULAR, granular systems, "Section 6.6.6"_Section_howto.html#howto_6, pour, - -"KIM"_#KIM, OpenKIM wrapper, "pair_style kim"_pair_kim.html, kim, ext -"KOKKOS"_#KOKKOS, Kokkos-enabled styles, "Section 5.3.3"_accelerate_kokkos.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - -"KSPACE"_#KSPACE, long-range Coulombic solvers, "kspace_style"_kspace_style.html, peptide, - -"LATTE"_#LATTE, quantum DFTB forces via LATTE, "fix latte"_fix_latte.html, latte, ext -"MANYBODY"_#MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, - -"MC"_#MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, -, - -"MEAM"_#MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int -"MISC"_#MISC, miscellanous single-file commands, -, -, - -"MOLECULE"_#MOLECULE, molecular system force fields, "Section 6.6.3"_Section_howto.html#howto_3, peptide, - -"MPIIO"_#MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, -, - -"MSCG"_#MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext -"OPT"_#OPT, optimized pair styles, "Section 5.3.5"_accelerate_opt.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - -"PERI"_#PERI, Peridynamics models, "pair_style peri"_pair_peri.html, peri, - -"POEMS"_#POEMS, coupled rigid body motion, "fix poems"_fix_poems.html, rigid, int -"PYTHON"_#PYTHON, embed Python code in an input script, "python"_python.html, python, sys -"QEQ"_#QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, - -"REAX"_#REAX, ReaxFF potential (Fortran), "pair_style reax"_pair_reax.html, reax, int -"REPLICA"_#REPLICA, multi-replica methods, "Section 6.6.5"_Section_howto.html#howto_5, tad, - -"RIGID"_#RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, - -"SHOCK"_#SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, - -"SNAP"_#SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, - -"SPIN"_#SPIN, magnetic atomic spin dynamics, "Section 6.6.28"_Section_howto.html#howto_28, SPIN, - -"SRD"_#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, - -"VORONOI"_#VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext :tb(ea=c,ca1=l) - -[USER packages] :link(table_user),p - -Package, Description, Doc page, Example, Library -"USER-ATC"_#USER-ATC, atom-to-continuum coupling, "fix atc"_fix_atc.html, USER/atc, int -"USER-AWPMD"_#USER-AWPMD, wave-packet MD, "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, int -"USER-BOCS"_#USER-BOCS, BOCS bottom up coarse graining, "fix bocs"_fix_bocs.html, USER/bocs, - -"USER-CGDNA"_#USER-CGDNA, coarse-grained DNA force fields, src/USER-CGDNA/README, USER/cgdna, - -"USER-CGSDK"_#USER-CGSDK, SDK coarse-graining model, "pair_style lj/sdk"_pair_sdk.html, USER/cgsdk, - -"USER-COLVARS"_#USER-COLVARS, collective variables library, "fix colvars"_fix_colvars.html, USER/colvars, int -"USER-DIFFRACTION"_#USER-DIFFRACTION, virtual x-ray and electron diffraction,"compute xrd"_compute_xrd.html, USER/diffraction, - -"USER-DPD"_#USER-DPD, reactive dissipative particle dynamics, src/USER-DPD/README, USER/dpd, - -"USER-DRUDE"_#USER-DRUDE, Drude oscillators, "tutorial"_tutorial_drude.html, USER/drude, - -"USER-EFF"_#USER-EFF, electron force field,"pair_style eff/cut"_pair_eff.html, USER/eff, - -"USER-FEP"_#USER-FEP, free energy perturbation,"compute fep"_compute_fep.html, USER/fep, - -"USER-H5MD"_#USER-H5MD, dump output via HDF5,"dump h5md"_dump_h5md.html, -, ext -"USER-INTEL"_#USER-INTEL, optimized Intel CPU and KNL styles,"Section 5.3.2"_accelerate_intel.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - -"USER-LB"_#USER-LB, Lattice Boltzmann fluid,"fix lb/fluid"_fix_lb_fluid.html, USER/lb, - -"USER-MANIFOLD"_#USER-MANIFOLD, motion on 2d surfaces,"fix manifoldforce"_fix_manifoldforce.html, USER/manifold, - -"USER-MEAMC"_#USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meam.html, meam, - -"USER-MESO"_#USER-MESO, mesoscale DPD models, "pair_style edpd"_pair_meso.html, USER/meso, - -"USER-MGPT"_#USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, - -"USER-MISC"_#USER-MISC, single-file contributions, USER-MISC/README, USER/misc, - -"USER-MOFFF"_#USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, - -"USER-MOLFILE"_#USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, -, ext -"USER-NETCDF"_#USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, -, ext -"USER-OMP"_#USER-OMP, OpenMP-enabled styles,"Section 5.3.4"_accelerate_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - -"USER-PHONON"_#USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, - -"USER-QMMM"_#USER-QMMM, QM/MM coupling,"fix qmmm"_fix_qmmm.html, USER/qmmm, ext -"USER-QTB"_#USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, - -"USER-QUIP"_#USER-QUIP, QUIP/libatoms interface,"pair_style quip"_pair_quip.html, USER/quip, ext -"USER-REAXC"_#USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, - -"USER-SMD"_#USER-SMD, smoothed Mach dynamics,"SMD User Guide"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, ext -"USER-SMTBQ"_#USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, - -"USER-SPH"_#USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, - -"USER-TALLY"_#USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, - -"USER-UEF"_#USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, - -"USER-VTK"_#USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, -, ext :tb(ea=c,ca1=l) +you can examine the files in its src directory, e.g. "ls +src/GRANULAR". Files with names that start with fix, compute, atom, +pair, bond, angle, etc correspond to commands with the same style name +as contained in the file name. + +"ASPHERE"_#ASPHERE, +"BODY"_#BODY, +"CLASS2"_#CLASS2, +"COLLOID"_#COLLOID, +"COMPRESS"_#COMPRESS, +"CORESHELL"_#CORESHELL, +"DIPOLE"_#DIPOLE, +"GPU"_#GPU, +"GRANULAR"_#GRANULAR, +"KIM"_#KIM, +"KOKKOS"_#KOKKOS, +"KSPACE"_#KSPACE, +"LATTE"_#LATTE, +"MANYBODY"_#MANYBODY, +"MC"_#MC, +"MEAM"_#MEAM, +"MISC"_#MISC, +"MOLECULE"_#MOLECULE, +"MPIIO"_#MPIIO, +"MSCG"_#MSCG, +"OPT"_#OPT, +"PERI"_#PERI, +"POEMS"_#POEMS, +"PYTHON"_#PYTHON, +"QEQ"_#QEQ, +"REAX"_#REAX, +"REPLICA"_#REPLICA, +"RIGID"_#RIGID, +"SHOCK"_#SHOCK, +"SNAP"_#SNAP, +"SPIN"_#SPIN, +"SRD"_#SRD, +"VORONOI"_#VORONOI :tb(c=6,ea=c) + +"USER-ATC"_#USER-ATC, +"USER-AWPMD"_#USER-AWPMD, +"USER-BOCS"_#USER-BOCS, +"USER-CGDNA"_#USER-CGDNA, +"USER-CGSDK"_#USER-CGSDK, +"USER-COLVARS"_#USER-COLVARS, +"USER-DIFFRACTION"_#USER-DIFFRACTION, +"USER-DPD"_#USER-DPD, +"USER-DRUDE"_#USER-DRUDE, +"USER-EFF"_#USER-EFF, +"USER-FEP"_#USER-FEP, +"USER-H5MD"_#USER-H5MD, +"USER-INTEL"_#USER-INTEL, +"USER-LB"_#USER-LB, +"USER-MANIFOLD"_#USER-MANIFOLD, +"USER-MEAMC"_#USER-MEAMC, +"USER-MESO"_#USER-MESO, +"USER-MGPT"_#USER-MGPT, +"USER-MISC"_#USER-MISC, +"USER-MOFFF"_#USER-MOFFF, +"USER-MOLFILE"_#USER-MOLFILE, +"USER-NETCDF"_#USER-NETCDF, +"USER-OMP"_#USER-OMP, +"USER-PHONON"_#USER-PHONON, +"USER-QMMM"_#USER-QMMM, +"USER-QTB"_#USER-QTB, +"USER-QUIP"_#USER-QUIP, +"USER-REAXC"_#USER-REAXC, +"USER-SMD"_#USER-SMD, +"USER-SMTBQ"_#USER-SMTBQ, +"USER-SPH"_#USER-SPH, +"USER-TALLY"_#USER-TALLY, +"USER-UEF"_#USER-UEF, +"USER-VTK"_#USER-VTK :tb(c=6,ea=c) :line :line @@ -176,7 +113,7 @@ make machine :pre [Supporting info:] src/ASPHERE: filenames -> commands -"Section 6.14"_Section_howto.html#howto_14 +"Howto spherical"_Howto_spherical.html "pair_style gayberne"_pair_gayberne.html "pair_style resquared"_pair_resquared.html "doc/PDF/pair_gayberne_extra.pdf"_PDF/pair_gayberne_extra.pdf @@ -194,7 +131,8 @@ BODY package :link(BODY),h4 Body-style particles with internal structure. Computes, time-integration fixes, pair styles, as well as the body styles -themselves. See the "body"_body.html doc page for an overview. +themselves. See the "Howto body"_Howto_body.html doc page for an +overview. [Install or un-install:] @@ -207,10 +145,10 @@ make machine :pre [Supporting info:] src/BODY filenames -> commands -"body"_body.html +"Howto_body"_Howto_body.html "atom_style body"_atom_style.html "fix nve/body"_fix_nve_body.html -"pair_style body"_pair_body.html +"pair_style body/nparticle"_pair_body_nparticle.html examples/body :ul :line @@ -322,9 +260,9 @@ Compute and pair styles that implement the adiabatic core/shell model for polarizability. The pair styles augment Born, Buckingham, and Lennard-Jones styles with core/shell capabilities. The "compute temp/cs"_compute_temp_cs.html command calculates the temperature of a -system with core/shell particles. See "Section -6.26"_Section_howto.html#howto_26 for an overview of how to use this -package. +system with core/shell particles. See the "Howto +coreshell"_Howto_coreshell.html doc page for an overview of how to use +this package. [Author:] Hendrik Heenen (Technical U of Munich). @@ -339,8 +277,8 @@ make machine :pre [Supporting info:] src/CORESHELL: filenames -> commands -"Section 6.26"_Section_howto.html#howto_26 -"Section 6.25"_Section_howto.html#howto_25 +"Howto coreshell"_Howto_coreshell.html +"Howto polarizable"_Howto_polarizable.html "compute temp/cs"_compute_temp_cs.html "pair_style born/coul/long/cs"_pair_cs.html "pair_style buck/coul/long/cs"_pair_cs.html @@ -380,14 +318,14 @@ GPU package :link(GPU),h4 [Contents:] Dozens of pair styles and a version of the PPPM long-range Coulombic -solver optimized for GPUs. All such styles have a "gpu" as a -suffix in their style name. The GPU code can be compiled with either -CUDA or OpenCL, however the OpenCL variants are no longer actively -maintained and only the CUDA versions are regularly tested. -"Section 5.3.1"_accelerate_gpu.html gives details of what -hardware and GPU software is required on your system, -and details on how to build and use this package. Its styles can be -invoked at run time via the "-sf gpu" or "-suffix gpu" "command-line +solver optimized for GPUs. All such styles have a "gpu" as a suffix +in their style name. The GPU code can be compiled with either CUDA or +OpenCL, however the OpenCL variants are no longer actively maintained +and only the CUDA versions are regularly tested. The "Speed +gpu"_Speed_gpu.html doc page gives details of what hardware and GPU +software is required on your system, and details on how to build and +use this package. Its styles can be invoked at run time via the "-sf +gpu" or "-suffix gpu" "command-line switches"_Section_start.html#start_6. See also the "KOKKOS"_#KOKKOS package, which has GPU-enabled styles. @@ -453,12 +391,12 @@ GPU library. src/GPU: filenames -> commands src/GPU/README lib/gpu/README -"Section 5.3"_Section_accelerate.html#acc_3 -"Section 5.3.1"_accelerate_gpu.html +"Speed packages"_Speed_packages.html +"Speed gpu"_Speed_gpu.html.html "Section 2.6 -sf gpu"_Section_start.html#start_6 "Section 2.6 -pk gpu"_Section_start.html#start_6 "package gpu"_package.html -Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 for pair styles followed by (g) +"Commands all"_Commands_all.html pages (pair,kspace) for styles followed by (g) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line @@ -482,7 +420,7 @@ make machine :pre [Supporting info:] src/GRANULAR: filenames -> commands -"Section 6.6"_Section_howto.html#howto_6, +"Howto granular"_Howto_granular.html "fix pour"_fix_pour.html "fix wall/gran"_fix_wall_gran.html "pair_style gran/hooke"_pair_gran.html @@ -549,8 +487,8 @@ See the list of all KIM models here: https://openkim.org/kim-items/models/by-model-drivers See the list of example KIM models included by default here: -https://openkim.org/kim-api in the "What is in the KIM API source -package?" section +https://openkim.org/kim-api on the "What is in the KIM API source +package?" page. You can then install/un-install the package and build LAMMPS in the usual manner: @@ -579,10 +517,10 @@ Dozens of atom, pair, bond, angle, dihedral, improper, fix, compute styles adapted to compile using the Kokkos library which can convert them to OpenMP or CUDA code so that they run efficiently on multicore CPUs, KNLs, or GPUs. All the styles have a "kk" as a suffix in their -style name. "Section 5.3.3"_accelerate_kokkos.html gives details of -what hardware and software is required on your system, and how to -build and use this package. Its styles can be invoked at run time via -the "-sf kk" or "-suffix kk" "command-line +style name. The "Speed kokkos"_Speed_kokkos.html doc page gives +details of what hardware and software is required on your system, and +how to build and use this package. Its styles can be invoked at run +time via the "-sf kk" or "-suffix kk" "command-line switches"_Section_start.html#start_6. Also see the "GPU"_#GPU, "OPT"_#OPT, "USER-INTEL"_#USER-INTEL, and "USER-OMP"_#USER-OMP packages, which have styles optimized for CPUs, KNLs, and GPUs. @@ -649,13 +587,13 @@ make machine :pre src/KOKKOS: filenames -> commands src/KOKKOS/README lib/kokkos/README -"Section 5.3"_Section_accelerate.html#acc_3 -"Section 5.3.3"_accelerate_kokkos.html +"Speed packages"_Speed_packages.html +"Speed kokkos"_Speed_kokkos.html "Section 2.6 -k on ..."_Section_start.html#start_6 "Section 2.6 -sf kk"_Section_start.html#start_6 "Section 2.6 -pk kokkos"_Section_start.html#start_6 "package kokkos"_package.html -Styles sections of "Section 3.5"_Section_commands.html#cmd_5 for styles followed by (k) +"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (k) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line @@ -689,11 +627,11 @@ make machine :pre src/KSPACE: filenames -> commands "kspace_style"_kspace_style.html "doc/PDF/kspace.pdf"_PDF/kspace.pdf -"Section 6.7"_Section_howto.html#howto_7 -"Section 6.8"_Section_howto.html#howto_8 -"Section 6.9"_Section_howto.html#howto_9 +"Howto tip3p"_Howto_tip3p.html +"Howto tip4p"_Howto_tip4p.html +"Howto spc"_Howto_spc.html "pair_style coul"_pair_coul.html -Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 with "long" or "msm" in pair style name +"Commands pair"_Commands_pair.html page for styles with "long" or "msm" in name examples/peptide bench/in.rhodo :ul @@ -777,7 +715,7 @@ make machine :pre [Supporting info:] src/MANYBODY: filenames -> commands -Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 +"Commands pair"_Commands_pair.html page examples/comb examples/eim examples/nb3d @@ -940,7 +878,7 @@ src/MOLECULE: filenames -> commands "improper_style"_improper_style.html "pair_style hbond/dreiding/lj"_pair_hbond_dreiding.html "pair_style lj/charmm/coul/charmm"_pair_charmm.html -"Section 6.3"_Section_howto.html#howto_3 +"Howto bioFF"_Howto_bioFF.html examples/cmap examples/dreiding examples/micelle, @@ -1048,9 +986,9 @@ OPT package :link(OPT),h4 A handful of pair styles which are optimized for improved CPU performance on single or multiple cores. These include EAM, LJ, CHARMM, and Morse potentials. The styles have an "opt" suffix in -their style name. "Section 5.3.5"_accelerate_opt.html gives details -of how to build and use this package. Its styles can be invoked at -run time via the "-sf opt" or "-suffix opt" "command-line +their style name. The "Speed opt"_Speed_opt.html doc page gives +details of how to build and use this package. Its styles can be +invoked at run time via the "-sf opt" or "-suffix opt" "command-line switches"_Section_start.html#start_6. See also the "KOKKOS"_#KOKKOS, "USER-INTEL"_#USER-INTEL, and "USER-OMP"_#USER-OMP packages, which have styles optimized for CPU performance. @@ -1076,10 +1014,10 @@ CCFLAGS: add -restrict for Intel compilers :ul [Supporting info:] src/OPT: filenames -> commands -"Section 5.3"_Section_accelerate.html#acc_3 -"Section 5.3.5"_accelerate_opt.html +"Speed packages"_Speed_packages.html +"Speed opt"_Speed_opt.html "Section 2.6 -sf opt"_Section_start.html#start_6 -Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5 for pair styles followed by (t) +"Commands pair"_Commands_pair.html for styles followed by (t) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line @@ -1180,8 +1118,8 @@ A "python"_python.html command which allow you to execute Python code from a LAMMPS input script. The code can be in a separate file or embedded in the input script itself. See the "Python call"_Python_call.html doc page for an overview of using Python from -LAMMPS in this manner and the "Python"_Python.html doc page for other -ways to use LAMMPS and Python together. +LAMMPS in this manner and all the "Python"_Python.html doc pages for +other ways to use LAMMPS and Python together. [Install or un-install:] @@ -1202,7 +1140,7 @@ to Makefile.lammps) if the LAMMPS build fails. [Supporting info:] src/PYTHON: filenames -> commands -"Python call"_Python_call.html +"Python call"_Python.html lib/python/README examples/python :ul @@ -1292,8 +1230,8 @@ REPLICA package :link(REPLICA),h4 [Contents:] A collection of multi-replica methods which can be used when running -multiple LAMMPS simulations (replicas). See "Section -6.5"_Section_howto.html#howto_5 for an overview of how to run +multiple LAMMPS simulations (replicas). See the "Howto +replica"_Howto_replica.html doc page for an overview of how to run multi-replica simulations in LAMMPS. Methods in the package include nudged elastic band (NEB), parallel replica dynamics (PRD), temperature accelerated dynamics (TAD), parallel tempering, and a @@ -1312,7 +1250,7 @@ make machine :pre [Supporting info:] src/REPLICA: filenames -> commands -"Section 6.5"_Section_howto.html#howto_5 +"Howto replica"_Howto_replica.html "neb"_neb.html "prd"_prd.html "tad"_tad.html @@ -1435,7 +1373,7 @@ make machine :pre [Supporting info:] src/SPIN: filenames -> commands -"Section 6.28"_Section_howto.html#howto_28 +"Howto spin"_Howto_spin.html "pair_style spin/dmi"_pair_spin_dmi.html "pair_style spin/exchange"_pair_spin_exchange.html "pair_style spin/magelec"_pair_spin_magelec.html @@ -1894,10 +1832,10 @@ USER-DRUDE package :link(USER-DRUDE),h4 [Contents:] Fixes, pair styles, and a compute to simulate thermalized Drude -oscillators as a model of polarization. See "Section -6.27"_Section_howto.html#howto_27 for an overview of how to use the -package. There are auxiliary tools for using this package in -tools/drude. +oscillators as a model of polarization. See the "Howto +drude"_Howto_drude.html and "Howto drude2"_Howto_drude2.html doc pages +for an overview of how to use the package. There are auxiliary tools +for using this package in tools/drude. [Authors:] Alain Dequidt (U Blaise Pascal Clermont-Ferrand), Julien Devemy (CNRS), and Agilio Padua (U Blaise Pascal). @@ -1913,8 +1851,9 @@ make machine :pre [Supporting info:] src/USER-DRUDE: filenames -> commands -"Section 6.27"_Section_howto.html#howto_27 -"Section 6.25"_Section_howto.html#howto_25 +"Howto drude"_Howto_drude.html +"Howto drude2"_Howto_drude2.html +"Howto polarizable"_Howto_polarizable.html src/USER-DRUDE/README "fix drude"_fix_drude.html "fix drude/transform/*"_fix_drude_transform.html @@ -2065,8 +2004,8 @@ USER-INTEL package :link(USER-INTEL),h4 Dozens of pair, fix, bond, angle, dihedral, improper, and kspace styles which are optimized for Intel CPUs and KNLs (Knights Landing). -All of them have an "intel" in their style name. "Section -5.3.2"_accelerate_intel.html gives details of what hardware and +All of them have an "intel" in their style name. The "Speed +intel"_Speed_intel.html doc page gives details of what hardware and compilers are required on your system, and how to build and use this package. Its styles can be invoked at run time via the "-sf intel" or "-suffix intel" "command-line switches"_Section_start.html#start_6. @@ -2116,7 +2055,7 @@ hardware target, to produce a separate executable. You should also typically install the USER-OMP package, as it can be used in tandem with the USER-INTEL package to good effect, as -explained in "Section 5.3.2"_accelerate_intel.html. +explained on the "Speed intel"_Speed_intel.html doc page. make yes-user-intel yes-user-omp make machine :pre @@ -2128,12 +2067,12 @@ make machine :pre src/USER-INTEL: filenames -> commands src/USER-INTEL/README -"Section 5.3"_Section_accelerate.html#acc_3 -"Section 5.3.2"_accelerate_gpu.html +"Speed packages"_Speed_packages.html +"Speed intel"_Speed_intel.html "Section 2.6 -sf intel"_Section_start.html#start_6 "Section 2.6 -pk intel"_Section_start.html#start_6 "package intel"_package.html -Styles sections of "Section 3.5"_Section_commands.html#cmd_5 for styles followed by (i) +"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (i) src/USER-INTEL/TEST "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul @@ -2254,7 +2193,7 @@ make machine :pre src/USER-MANIFOLD: filenames -> commands src/USER-MANIFOLD/README -"doc/manifolds"_manifolds.html +"Howto manifold"_Howto_manifold.html "fix manifoldforce"_fix_manifoldforce.html "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html "fix nvt/manifold/rattle"_fix_nvt_manifold_rattle.html @@ -2475,10 +2414,10 @@ USER-OMP package :link(USER-OMP),h4 Hundreds of pair, fix, compute, bond, angle, dihedral, improper, and kspace styles which are altered to enable threading on many-core CPUs via OpenMP directives. All of them have an "omp" in their style name. -"Section 5.3.4"_accelerate_omp.html gives details of what hardware and -compilers are required on your system, and how to build and use this -package. Its styles can be invoked at run time via the "-sf omp" or -"-suffix omp" "command-line switches"_Section_start.html#start_6. +The "Speed omp"_Speed_omp.html doc page gives details of what hardware +and compilers are required on your system, and how to build and use +this package. Its styles can be invoked at run time via the "-sf omp" +or "-suffix omp" "command-line switches"_Section_start.html#start_6. Also see the "KOKKOS"_#KOKKOS, "OPT"_#OPT, and "USER-INTEL"_#USER-INTEL packages, which have styles optimized for CPUs. @@ -2513,12 +2452,12 @@ LINKFLAGS: add -fopenmp :ul src/USER-OMP: filenames -> commands src/USER-OMP/README -"Section 5.3"_Section_accelerate.html#acc_3 -"Section 5.3.4"_accelerate_omp.html +"Speed packages"_Speed_packages.html +"Speed omp"_Speed_omp.html "Section 2.6 -sf omp"_Section_start.html#start_6 "Section 2.6 -pk omp"_Section_start.html#start_6 "package omp"_package.html -Styles sections of "Section 3.5"_Section_commands.html#cmd_5 for styles followed by (o) +"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (o) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line diff --git a/doc/src/Packages_standard.txt b/doc/src/Packages_standard.txt new file mode 100644 index 0000000000..7e64345602 --- /dev/null +++ b/doc/src/Packages_standard.txt @@ -0,0 +1,65 @@ +"Higher level section"_Packages.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Standard packages :h3 + +This is the list of standard packages in LAMMPS. The link for each +package name gives more details. + +Standard packages are supported by the LAMMPS developers and are +written in a syntax and style consistent with the rest of LAMMPS. +This means the developers will answer questions about them, debug and +fix them if necessary, and keep them compatible with future changes to +LAMMPS. + +The "Example" column is a sub-directory in the examples directory of +the distribution which has an input script that uses the package. +E.g. "peptide" refers to the examples/peptide directory; USER/atc +refers to the examples/USER/atc directory. The "Library" column +indicates whether an extra library is needed to build and use the +package: + +dash = no library +sys = system library: you likely have it on your machine +int = internal library: provided with LAMMPS, but you may need to build it +ext = external library: you will need to download and install it on your machine :ul + +Package, Description, Doc page, Example, Library +"ASPHERE"_Packages_details.html#ASPHERE, aspherical particle models, "Howto spherical"_Howto_spherical.html, ellipse, - +"BODY"_Packages_details.html#BODY, body-style particles, "Howto body"_Howto_body.html, body, - +"CLASS2"_Packages_details.html#CLASS2, class 2 force fields, "pair_style lj/class2"_pair_class2.html, -, - +"COLLOID"_Packages_details.html#COLLOID, colloidal particles, "atom_style colloid"_atom_style.html, colloid, - +"COMPRESS"_Packages_details.html#COMPRESS, I/O compression, "dump */gz"_dump.html, -, sys +"CORESHELL"_Packages_details.html#CORESHELL, adiabatic core/shell model, "Howto coreshell"_Howto_coreshell.html, coreshell, - +"DIPOLE"_Packages_details.html#DIPOLE, point dipole particles, "pair_style dipole/cut"_pair_dipole.html, dipole, - +"GPU"_Packages_details.html#GPU, GPU-enabled styles, "Section gpu"_Speed_gpu.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, int +"GRANULAR"_Packages_details.html#GRANULAR, granular systems, "Howto granular"_Howto_granular.html, pour, - +"KIM"_Packages_details.html#KIM, OpenKIM wrapper, "pair_style kim"_pair_kim.html, kim, ext +"KOKKOS"_Packages_details.html#KOKKOS, Kokkos-enabled styles, "Speed kokkos"_Speed_kokkos.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - +"KSPACE"_Packages_details.html#KSPACE, long-range Coulombic solvers, "kspace_style"_kspace_style.html, peptide, - +"LATTE"_Packages_details.html#LATTE, quantum DFTB forces via LATTE, "fix latte"_fix_latte.html, latte, ext +"MANYBODY"_Packages_details.html#MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, - +"MC"_Packages_details.html#MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, -, - +"MEAM"_Packages_details.html#MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int +"MISC"_Packages_details.html#MISC, miscellanous single-file commands, -, -, - +"MOLECULE"_Packages_details.html#MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, - +"MPIIO"_Packages_details.html#MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, -, - +"MSCG"_Packages_details.html#MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext +"OPT"_Packages_details.html#OPT, optimized pair styles, "Speed opt"_Speed_opt.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - +"PERI"_Packages_details.html#PERI, Peridynamics models, "pair_style peri"_pair_peri.html, peri, - +"POEMS"_Packages_details.html#POEMS, coupled rigid body motion, "fix poems"_fix_poems.html, rigid, int +"PYTHON"_Packages_details.html#PYTHON, embed Python code in an input script, "python"_python.html, python, sys +"QEQ"_Packages_details.html#QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, - +"REAX"_Packages_details.html#REAX, ReaxFF potential (Fortran), "pair_style reax"_pair_reax.html, reax, int +"REPLICA"_Packages_details.html#REPLICA, multi-replica methods, "Howto replica"_Howto_replica.html, tad, - +"RIGID"_Packages_details.html#RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, - +"SHOCK"_Packages_details.html#SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, - +"SNAP"_Packages_details.html#SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, - +"SPIN"_#SPIN, magnetic atomic spin dynamics, "Howto spin"_Howto_spin.html, SPIN, -"SRD"_Packages_details.html#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, - +"VORONOI"_Packages_details.html#VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext :tb(ea=c,ca1=l) diff --git a/doc/src/Packages_user.txt b/doc/src/Packages_user.txt new file mode 100644 index 0000000000..c8728148f9 --- /dev/null +++ b/doc/src/Packages_user.txt @@ -0,0 +1,74 @@ +"Higher level section"_Packages.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +User packages :h3 + +This is a list of user packages in LAMMPS. The link for each package +name gives more details. + +User packages have been contributed by users, and begin with the +"user" prefix. If a contribution is a single command (single file), +it is typically in the user-misc package. User packages don't +necessarily meet the requirements of the "standard +packages"_Packages_standard.html. This means the developers will try +to keep things working and usually can answer technical questions +about compiling the package. If you have problems using a specific +feature provided in a user package, you may need to contact the +contributor directly to get help. Information on how to submit +additions you make to LAMMPS as single files or as a standard or user +package is explained on the "Modify contribute"_Modify_contribute.html +doc page. + +The "Example" column is a sub-directory in the examples directory of +the distribution which has an input script that uses the package. +E.g. "peptide" refers to the examples/peptide directory; USER/atc +refers to the examples/USER/atc directory. The "Library" column +indicates whether an extra library is needed to build and use the +package: + +dash = no library +sys = system library: you likely have it on your machine +int = internal library: provided with LAMMPS, but you may need to build it +ext = external library: you will need to download and install it on your machine :ul + +Package, Description, Doc page, Example, Library +"USER-ATC"_Packages_details.html#USER-ATC, atom-to-continuum coupling, "fix atc"_fix_atc.html, USER/atc, int +"USER-AWPMD"_Packages_details.html#USER-AWPMD, wave-packet MD, "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, int +"USER-BOCS"_Packages_details.html#USER-BOCS, BOCS bottom up coarse graining, "fix bocs"_fix_bocs.html, USER/bocs, - +"USER-CGDNA"_Packages_details.html#USER-CGDNA, coarse-grained DNA force fields, src/USER-CGDNA/README, USER/cgdna, - +"USER-CGSDK"_Packages_details.html#USER-CGSDK, SDK coarse-graining model, "pair_style lj/sdk"_pair_sdk.html, USER/cgsdk, - +"USER-COLVARS"_Packages_details.html#USER-COLVARS, collective variables library, "fix colvars"_fix_colvars.html, USER/colvars, int +"USER-DIFFRACTION"_Packages_details.html#USER-DIFFRACTION, virtual x-ray and electron diffraction,"compute xrd"_compute_xrd.html, USER/diffraction, - +"USER-DPD"_Packages_details.html#USER-DPD, reactive dissipative particle dynamics, src/USER-DPD/README, USER/dpd, - +"USER-DRUDE"_Packages_details.html#USER-DRUDE, Drude oscillators, "Howto drude"_Howto_drude.html, USER/drude, - +"USER-EFF"_Packages_details.html#USER-EFF, electron force field,"pair_style eff/cut"_pair_eff.html, USER/eff, - +"USER-FEP"_Packages_details.html#USER-FEP, free energy perturbation,"compute fep"_compute_fep.html, USER/fep, - +"USER-H5MD"_Packages_details.html#USER-H5MD, dump output via HDF5,"dump h5md"_dump_h5md.html, -, ext +"USER-INTEL"_Packages_details.html#USER-INTEL, optimized Intel CPU and KNL styles,"Speed intel"_Speed_intel.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - +"USER-LB"_Packages_details.html#USER-LB, Lattice Boltzmann fluid,"fix lb/fluid"_fix_lb_fluid.html, USER/lb, - +"USER-MANIFOLD"_Packages_details.html#USER-MANIFOLD, motion on 2d surfaces,"fix manifoldforce"_fix_manifoldforce.html, USER/manifold, - +"USER-MEAMC"_Packages_details.html#USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meam.html, meam, - +"USER-MESO"_Packages_details.html#USER-MESO, mesoscale DPD models, "pair_style edpd"_pair_meso.html, USER/meso, - +"USER-MGPT"_Packages_details.html#USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, - +"USER-MISC"_Packages_details.html#USER-MISC, single-file contributions, USER-MISC/README, USER/misc, - +"USER-MOFFF"_Packages_details.html#USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, - +"USER-MOLFILE"_Packages_details.html#USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, -, ext +"USER-NETCDF"_Packages_details.html#USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, -, ext +"USER-OMP"_Packages_details.html#USER-OMP, OpenMP-enabled styles,"Speed omp"_Speed_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - +"USER-PHONON"_Packages_details.html#USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, - +"USER-QMMM"_Packages_details.html#USER-QMMM, QM/MM coupling,"fix qmmm"_fix_qmmm.html, USER/qmmm, ext +"USER-QTB"_Packages_details.html#USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, - +"USER-QUIP"_Packages_details.html#USER-QUIP, QUIP/libatoms interface,"pair_style quip"_pair_quip.html, USER/quip, ext +"USER-REAXC"_Packages_details.html#USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, - +"USER-SMD"_Packages_details.html#USER-SMD, smoothed Mach dynamics,"SMD User Guide"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, ext +"USER-SMTBQ"_Packages_details.html#USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, - +"USER-SPH"_Packages_details.html#USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, - +"USER-TALLY"_Packages_details.html#USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, - +"USER-UEF"_Packages_details.html#USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, - +"USER-VTK"_Packages_details.html#USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, -, ext :tb(ea=c,ca1=l) diff --git a/doc/src/Python.txt b/doc/src/Python.txt index 169670d669..2c9c6872bb 100644 --- a/doc/src/Python.txt +++ b/doc/src/Python.txt @@ -4,7 +4,7 @@ Section"_Errors.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_call.txt b/doc/src/Python_call.txt index 3e30a5a7c7..621f1fe241 100644 --- a/doc/src/Python_call.txt +++ b/doc/src/Python_call.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_examples.txt b/doc/src/Python_examples.txt index fbca381e8b..46e5fee2b9 100644 --- a/doc/src/Python_examples.txt +++ b/doc/src/Python_examples.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_install.txt b/doc/src/Python_install.txt index 631f6c4a7f..6591360ae2 100644 --- a/doc/src/Python_install.txt +++ b/doc/src/Python_install.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_library.txt b/doc/src/Python_library.txt index 4babbb746c..8d0c724a45 100644 --- a/doc/src/Python_library.txt +++ b/doc/src/Python_library.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -21,8 +21,8 @@ from lammps import lammps :pre These are the methods defined by the lammps module. If you look at the files src/library.cpp and src/library.h you will see they correspond one-to-one with calls you can make to the LAMMPS library -from a C++ or C or Fortran program, and which are described in -"Section 6.19"_Section_howto.html#howto_19 of the manual. +from a C++ or C or Fortran program, and which are described on the +"Howto library"_Howto_library.html doc page. The python/examples directory has Python scripts which show how Python can run LAMMPS, grab data, change it, and put it back into LAMMPS. @@ -165,11 +165,11 @@ subscripting. The one exception is that for a fix that calculates a global vector or array, a single double value from the vector or array is returned, indexed by I (vector) or I and J (array). I,J are zero-based indices. The I,J arguments can be left out if not needed. -See "Section 6.15"_Section_howto.html#howto_15 of the manual for a -discussion of global, per-atom, and local data, and of scalar, vector, -and array data types. See the doc pages for individual -"computes"_compute.html and "fixes"_fix.html for a description of what -they calculate and store. +See the "Howto output"_Howto_output.html doc page for a discussion of +global, per-atom, and local data, and of scalar, vector, and array +data types. See the doc pages for individual "computes"_compute.html +and "fixes"_fix.html for a description of what they calculate and +store. For extract_variable(), an "equal-style or atom-style variable"_variable.html is evaluated and its result returned. diff --git a/doc/src/Python_mpi.txt b/doc/src/Python_mpi.txt index 8377bbb3d0..6e0a2ce319 100644 --- a/doc/src/Python_mpi.txt +++ b/doc/src/Python_mpi.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_pylammps.txt b/doc/src/Python_pylammps.txt index ad5ed192ee..d7baa93e2e 100644 --- a/doc/src/Python_pylammps.txt +++ b/doc/src/Python_pylammps.txt @@ -3,12 +3,12 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line PyLammps interface :h3 PyLammps is a Python wrapper class which can be created on its own or -use an existing lammps Python object. It has its own "PyLammps -Tutorial"_tutorial_pylammps.html doc page. +use an existing lammps Python object. It has its own "Howto +pylammps"_Howto_pylammps.html doc page. diff --git a/doc/src/Python_run.txt b/doc/src/Python_run.txt index 03ab2ed3d7..a94dc07f2d 100644 --- a/doc/src/Python_run.txt +++ b/doc/src/Python_run.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_shlib.txt b/doc/src/Python_shlib.txt index 1aafbe2e84..1a921e4025 100644 --- a/doc/src/Python_shlib.txt +++ b/doc/src/Python_shlib.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Python_test.txt b/doc/src/Python_test.txt index 5f361a500b..4a05d5c468 100644 --- a/doc/src/Python_test.txt +++ b/doc/src/Python_test.txt @@ -3,7 +3,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/Section_accelerate.txt b/doc/src/Section_accelerate.txt deleted file mode 100644 index d5cbf77a84..0000000000 --- a/doc/src/Section_accelerate.txt +++ /dev/null @@ -1,391 +0,0 @@ -"Previous Section"_Section_packages.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_howto.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -5. Accelerating LAMMPS performance :h2 - -This section describes various methods for improving LAMMPS -performance for different classes of problems running on different -kinds of machines. - -There are two thrusts to the discussion that follows. The -first is using code options that implement alternate algorithms -that can speed-up a simulation. The second is to use one -of the several accelerator packages provided with LAMMPS that -contain code optimized for certain kinds of hardware, including -multi-core CPUs, GPUs, and Intel Xeon Phi coprocessors. - -5.1 "Measuring performance"_#acc_1 :ulb,l -5.2 "Algorithms and code options to boost performace"_#acc_2 :l -5.3 "Accelerator packages with optimized styles"_#acc_3 :l - 5.3.1 "GPU package"_accelerate_gpu.html :l - 5.3.2 "USER-INTEL package"_accelerate_intel.html :l - 5.3.3 "KOKKOS package"_accelerate_kokkos.html :l - 5.3.4 "USER-OMP package"_accelerate_omp.html :l - 5.3.5 "OPT package"_accelerate_opt.html :l -5.4 "Comparison of various accelerator packages"_#acc_4 :l -:ule - -The "Benchmark page"_http://lammps.sandia.gov/bench.html of the LAMMPS -web site gives performance results for the various accelerator -packages discussed in Section 5.2, for several of the standard LAMMPS -benchmark problems, as a function of problem size and number of -compute nodes, on different hardware platforms. - -:line -:line - -5.1 Measuring performance :h3,link(acc_1) - -Before trying to make your simulation run faster, you should -understand how it currently performs and where the bottlenecks are. - -The best way to do this is run the your system (actual number of -atoms) for a modest number of timesteps (say 100 steps) on several -different processor counts, including a single processor if possible. -Do this for an equilibrium version of your system, so that the -100-step timings are representative of a much longer run. There is -typically no need to run for 1000s of timesteps to get accurate -timings; you can simply extrapolate from short runs. - -For the set of runs, look at the timing data printed to the screen and -log file at the end of each LAMMPS run. "This -section"_Section_start.html#start_7 of the manual has an overview. - -Running on one (or a few processors) should give a good estimate of -the serial performance and what portions of the timestep are taking -the most time. Running the same problem on a few different processor -counts should give an estimate of parallel scalability. I.e. if the -simulation runs 16x faster on 16 processors, its 100% parallel -efficient; if it runs 8x faster on 16 processors, it's 50% efficient. - -The most important data to look at in the timing info is the timing -breakdown and relative percentages. For example, trying different -options for speeding up the long-range solvers will have little impact -if they only consume 10% of the run time. If the pairwise time is -dominating, you may want to look at GPU or OMP versions of the pair -style, as discussed below. Comparing how the percentages change as -you increase the processor count gives you a sense of how different -operations within the timestep are scaling. Note that if you are -running with a Kspace solver, there is additional output on the -breakdown of the Kspace time. For PPPM, this includes the fraction -spent on FFTs, which can be communication intensive. - -Another important detail in the timing info are the histograms of -atoms counts and neighbor counts. If these vary widely across -processors, you have a load-imbalance issue. This often results in -inaccurate relative timing data, because processors have to wait when -communication occurs for other processors to catch up. Thus the -reported times for "Communication" or "Other" may be higher than they -really are, due to load-imbalance. If this is an issue, you can -uncomment the MPI_Barrier() lines in src/timer.cpp, and recompile -LAMMPS, to obtain synchronized timings. - -:line - -5.2 General strategies :h3,link(acc_2) - -NOTE: this section 5.2 is still a work in progress - -Here is a list of general ideas for improving simulation performance. -Most of them are only applicable to certain models and certain -bottlenecks in the current performance, so let the timing data you -generate be your guide. It is hard, if not impossible, to predict how -much difference these options will make, since it is a function of -problem size, number of processors used, and your machine. There is -no substitute for identifying performance bottlenecks, and trying out -various options. - -rRESPA -2-FFT PPPM -Staggered PPPM -single vs double PPPM -partial charge PPPM -verlet/split run style -processor command for proc layout and numa layout -load-balancing: balance and fix balance :ul - -2-FFT PPPM, also called {analytic differentiation} or {ad} PPPM, uses -2 FFTs instead of the 4 FFTs used by the default {ik differentiation} -PPPM. However, 2-FFT PPPM also requires a slightly larger mesh size to -achieve the same accuracy as 4-FFT PPPM. For problems where the FFT -cost is the performance bottleneck (typically large problems running -on many processors), 2-FFT PPPM may be faster than 4-FFT PPPM. - -Staggered PPPM performs calculations using two different meshes, one -shifted slightly with respect to the other. This can reduce force -aliasing errors and increase the accuracy of the method, but also -doubles the amount of work required. For high relative accuracy, using -staggered PPPM allows one to half the mesh size in each dimension as -compared to regular PPPM, which can give around a 4x speedup in the -kspace time. However, for low relative accuracy, using staggered PPPM -gives little benefit and can be up to 2x slower in the kspace -time. For example, the rhodopsin benchmark was run on a single -processor, and results for kspace time vs. relative accuracy for the -different methods are shown in the figure below. For this system, -staggered PPPM (using ik differentiation) becomes useful when using a -relative accuracy of slightly greater than 1e-5 and above. - -:c,image(JPG/rhodo_staggered.jpg) - -NOTE: Using staggered PPPM may not give the same increase in accuracy -of energy and pressure as it does in forces, so some caution must be -used if energy and/or pressure are quantities of interest, such as -when using a barostat. - -:line - -5.3 Packages with optimized styles :h3,link(acc_3) - -Accelerated versions of various "pair_style"_pair_style.html, -"fixes"_fix.html, "computes"_compute.html, and other commands have -been added to LAMMPS, which will typically run faster than the -standard non-accelerated versions. Some require appropriate hardware -to be present on your system, e.g. GPUs or Intel Xeon Phi -coprocessors. - -All of these commands are in packages provided with LAMMPS. An -overview of packages is give in "Section -packages"_Section_packages.html. - -These are the accelerator packages -currently in LAMMPS, either as standard or user packages: - -"GPU Package"_accelerate_gpu.html : for NVIDIA GPUs as well as OpenCL support -"USER-INTEL Package"_accelerate_intel.html : for Intel CPUs and Intel Xeon Phi -"KOKKOS Package"_accelerate_kokkos.html : for Nvidia GPUs, Intel Xeon Phi, and OpenMP threading -"USER-OMP Package"_accelerate_omp.html : for OpenMP threading and generic CPU optimizations -"OPT Package"_accelerate_opt.html : generic CPU optimizations :tb(s=:) - - - -Inverting this list, LAMMPS currently has acceleration support for -three kinds of hardware, via the listed packages: - -Many-core CPUs : "USER-INTEL"_accelerate_intel.html, "KOKKOS"_accelerate_kokkos.html, "USER-OMP"_accelerate_omp.html, "OPT"_accelerate_opt.html packages -NVIDIA GPUs : "GPU"_accelerate_gpu.html, "KOKKOS"_accelerate_kokkos.html packages -Intel Phi : "USER-INTEL"_accelerate_intel.html, "KOKKOS"_accelerate_kokkos.html packages :tb(s=:) - -Which package is fastest for your hardware may depend on the size -problem you are running and what commands (accelerated and -non-accelerated) are invoked by your input script. While these doc -pages include performance guidelines, there is no substitute for -trying out the different packages appropriate to your hardware. - -Any accelerated style has the same name as the corresponding standard -style, except that a suffix is appended. Otherwise, the syntax for -the command that uses the style is identical, their functionality is -the same, and the numerical results it produces should also be the -same, except for precision and round-off effects. - -For example, all of these styles are accelerated variants of the -Lennard-Jones "pair_style lj/cut"_pair_lj.html: - -"pair_style lj/cut/gpu"_pair_lj.html -"pair_style lj/cut/intel"_pair_lj.html -"pair_style lj/cut/kk"_pair_lj.html -"pair_style lj/cut/omp"_pair_lj.html -"pair_style lj/cut/opt"_pair_lj.html :ul - -To see what accelerate styles are currently available, see -"Section 3.5"_Section_commands.html#cmd_5 of the manual. The -doc pages for individual commands (e.g. "pair lj/cut"_pair_lj.html or -"fix nve"_fix_nve.html) also list any accelerated variants available -for that style. - -To use an accelerator package in LAMMPS, and one or more of the styles -it provides, follow these general steps. Details vary from package to -package and are explained in the individual accelerator doc pages, -listed above: - -build the accelerator library | - only for GPU package | -install the accelerator package | - make yes-opt, make yes-user-intel, etc | -add compile/link flags to Makefile.machine in src/MAKE | - only for USER-INTEL, KOKKOS, USER-OMP, OPT packages | -re-build LAMMPS | - make machine | -prepare and test a regular LAMMPS simulation | - lmp_machine -in in.script; mpirun -np 32 lmp_machine -in in.script | -enable specific accelerator support via '-k on' "command-line switch"_Section_start.html#start_6, | - only needed for KOKKOS package | -set any needed options for the package via "-pk" "command-line switch"_Section_start.html#start_6 or "package"_package.html command, | - only if defaults need to be changed | -use accelerated styles in your input via "-sf" "command-line switch"_Section_start.html#start_6 or "suffix"_suffix.html command | lmp_machine -in in.script -sf gpu -:tb(c=2,s=|) - -Note that the first 4 steps can be done as a single command with -suitable make command invocations. This is discussed in "Section -4"_Section_packages.html of the manual, and its use is -illustrated in the individual accelerator sections. Typically these -steps only need to be done once, to create an executable that uses one -or more accelerator packages. - -The last 4 steps can all be done from the command-line when LAMMPS is -launched, without changing your input script, as illustrated in the -individual accelerator sections. Or you can add -"package"_package.html and "suffix"_suffix.html commands to your input -script. - -NOTE: With a few exceptions, you can build a single LAMMPS executable -with all its accelerator packages installed. Note however that the -USER-INTEL and KOKKOS packages require you to choose one of their -hardware options when building for a specific platform. I.e. CPU or -Phi option for the USER-INTEL package. Or the OpenMP, Cuda, or Phi -option for the KOKKOS package. - -These are the exceptions. You cannot build a single executable with: - -both the USER-INTEL Phi and KOKKOS Phi options -the USER-INTEL Phi or Kokkos Phi option, and the GPU package :ul - -See the examples/accelerate/README and make.list files for sample -Make.py commands that build LAMMPS with any or all of the accelerator -packages. As an example, here is a command that builds with all the -GPU related packages installed (GPU, KOKKOS with Cuda), including -settings to build the needed auxiliary GPU libraries for Kepler GPUs: - -Make.py -j 16 -p omp gpu kokkos -cc nvcc wrap=mpi \ - -gpu mode=double arch=35 -kokkos cuda arch=35 lib-all file mpi :pre - -The examples/accelerate directory also has input scripts that can be -used with all of the accelerator packages. See its README file for -details. - -Likewise, the bench directory has FERMI and KEPLER and PHI -sub-directories with Make.py commands and input scripts for using all -the accelerator packages on various machines. See the README files in -those dirs. - -As mentioned above, the "Benchmark -page"_http://lammps.sandia.gov/bench.html of the LAMMPS web site gives -performance results for the various accelerator packages for several -of the standard LAMMPS benchmark problems, as a function of problem -size and number of compute nodes, on different hardware platforms. - -Here is a brief summary of what the various packages provide. Details -are in the individual accelerator sections. - -Styles with a "gpu" suffix are part of the GPU package, and can be run -on NVIDIA GPUs. The speed-up on a GPU depends on a variety of -factors, discussed in the accelerator sections. :ulb,l - -Styles with an "intel" suffix are part of the USER-INTEL -package. These styles support vectorized single and mixed precision -calculations, in addition to full double precision. In extreme cases, -this can provide speedups over 3.5x on CPUs. The package also -supports acceleration in "offload" mode to Intel(R) Xeon Phi(TM) -coprocessors. This can result in additional speedup over 2x depending -on the hardware configuration. :l - -Styles with a "kk" suffix are part of the KOKKOS package, and can be -run using OpenMP on multicore CPUs, on an NVIDIA GPU, or on an Intel -Xeon Phi in "native" mode. The speed-up depends on a variety of -factors, as discussed on the KOKKOS accelerator page. :l - -Styles with an "omp" suffix are part of the USER-OMP package and allow -a pair-style to be run in multi-threaded mode using OpenMP. This can -be useful on nodes with high-core counts when using less MPI processes -than cores is advantageous, e.g. when running with PPPM so that FFTs -are run on fewer MPI processors or when the many MPI tasks would -overload the available bandwidth for communication. :l - -Styles with an "opt" suffix are part of the OPT package and typically -speed-up the pairwise calculations of your simulation by 5-25% on a -CPU. :l -:ule - -The individual accelerator package doc pages explain: - -what hardware and software the accelerated package requires -how to build LAMMPS with the accelerated package -how to run with the accelerated package either via command-line switches or modifying the input script -speed-ups to expect -guidelines for best performance -restrictions :ul - -:line - -5.4 Comparison of various accelerator packages :h3,link(acc_4) - -NOTE: this section still needs to be re-worked with additional KOKKOS -and USER-INTEL information. - -The next section compares and contrasts the various accelerator -options, since there are multiple ways to perform OpenMP threading, -run on GPUs, and run on Intel Xeon Phi coprocessors. - -All 3 of these packages accelerate a LAMMPS calculation using NVIDIA -hardware, but they do it in different ways. - -As a consequence, for a particular simulation on specific hardware, -one package may be faster than the other. We give guidelines below, -but the best way to determine which package is faster for your input -script is to try both of them on your machine. See the benchmarking -section below for examples where this has been done. - -[Guidelines for using each package optimally:] - -The GPU package allows you to assign multiple CPUs (cores) to a single -GPU (a common configuration for "hybrid" nodes that contain multicore -CPU(s) and GPU(s)) and works effectively in this mode. :ulb,l - -The GPU package moves per-atom data (coordinates, forces) -back-and-forth between the CPU and GPU every timestep. The -KOKKOS/CUDA package only does this on timesteps when a CPU calculation -is required (e.g. to invoke a fix or compute that is non-GPU-ized). -Hence, if you can formulate your input script to only use GPU-ized -fixes and computes, and avoid doing I/O too often (thermo output, dump -file snapshots, restart files), then the data transfer cost of the -KOKKOS/CUDA package can be very low, causing it to run faster than the -GPU package. :l - -The GPU package is often faster than the KOKKOS/CUDA package, if the -number of atoms per GPU is smaller. The crossover point, in terms of -atoms/GPU at which the KOKKOS/CUDA package becomes faster depends -strongly on the pair style. For example, for a simple Lennard Jones -system the crossover (in single precision) is often about 50K-100K -atoms per GPU. When performing double precision calculations the -crossover point can be significantly smaller. :l - -Both packages compute bonded interactions (bonds, angles, etc) on the -CPU. If the GPU package is running with several MPI processes -assigned to one GPU, the cost of computing the bonded interactions is -spread across more CPUs and hence the GPU package can run faster. :l - -When using the GPU package with multiple CPUs assigned to one GPU, its -performance depends to some extent on high bandwidth between the CPUs -and the GPU. Hence its performance is affected if full 16 PCIe lanes -are not available for each GPU. In HPC environments this can be the -case if S2050/70 servers are used, where two devices generally share -one PCIe 2.0 16x slot. Also many multi-GPU mainboards do not provide -full 16 lanes to each of the PCIe 2.0 16x slots. :l -:ule - -[Differences between the two packages:] - -The GPU package accelerates only pair force, neighbor list, and PPPM -calculations. :ulb,l - -The GPU package requires neighbor lists to be built on the CPU when using -exclusion lists, hybrid pair styles, or a triclinic simulation box. :l -:ule diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt deleted file mode 100644 index 19301e9d01..0000000000 --- a/doc/src/Section_commands.txt +++ /dev/null @@ -1,1293 +0,0 @@ -"Previous Section"_Section_start.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_packages.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -3. Commands :h2 - -This section describes how a LAMMPS input script is formatted and the -input script commands used to define a LAMMPS simulation. - -3.1 "LAMMPS input script"_#cmd_1 -3.2 "Parsing rules"_#cmd_2 -3.3 "Input script structure"_#cmd_3 -3.4 "Commands listed by category"_#cmd_4 -3.5 "Commands listed alphabetically"_#cmd_5 :all(b) - -:line -:line - -3.1 LAMMPS input script :link(cmd_1),h4 - -LAMMPS executes by reading commands from a input script (text file), -one line at a time. When the input script ends, LAMMPS exits. Each -command causes LAMMPS to take some action. It may set an internal -variable, read in a file, or run a simulation. Most commands have -default settings, which means you only need to use the command if you -wish to change the default. - -In many cases, the ordering of commands in an input script is not -important. However the following rules apply: - -(1) LAMMPS does not read your entire input script and then perform a -simulation with all the settings. Rather, the input script is read -one line at a time and each command takes effect when it is read. -Thus this sequence of commands: - -timestep 0.5 -run 100 -run 100 :pre - -does something different than this sequence: - -run 100 -timestep 0.5 -run 100 :pre - -In the first case, the specified timestep (0.5 fmsec) is used for two -simulations of 100 timesteps each. In the 2nd case, the default -timestep (1.0 fmsec) is used for the 1st 100 step simulation and a 0.5 -fmsec timestep is used for the 2nd one. - -(2) Some commands are only valid when they follow other commands. For -example you cannot set the temperature of a group of atoms until atoms -have been defined and a group command is used to define which atoms -belong to the group. - -(3) Sometimes command B will use values that can be set by command A. -This means command A must precede command B in the input script if it -is to have the desired effect. For example, the -"read_data"_read_data.html command initializes the system by setting -up the simulation box and assigning atoms to processors. If default -values are not desired, the "processors"_processors.html and -"boundary"_boundary.html commands need to be used before read_data to -tell LAMMPS how to map processors to the simulation box. - -Many input script errors are detected by LAMMPS and an ERROR or -WARNING message is printed. The "Errors"_Errors.html doc page gives -more information on what errors mean. The documentation for each -command lists restrictions on how the command can be used. - -:line - -3.2 Parsing rules :link(cmd_2),h4 - -Each non-blank line in the input script is treated as a command. -LAMMPS commands are case sensitive. Command names are lower-case, as -are specified command arguments. Upper case letters may be used in -file names or user-chosen ID strings. - -Here is how each line in the input script is parsed by LAMMPS: - -(1) If the last printable character on the line is a "&" character, -the command is assumed to continue on the next line. The next line is -concatenated to the previous line by removing the "&" character and -line break. This allows long commands to be continued across two or -more lines. See the discussion of triple quotes in (6) for how to -continue a command across multiple line without using "&" characters. - -(2) All characters from the first "#" character onward are treated as -comment and discarded. See an exception in (6). Note that a -comment after a trailing "&" character will prevent the command from -continuing on the next line. Also note that for multi-line commands a -single leading "#" will comment out the entire command. - -(3) The line is searched repeatedly for $ characters, which indicate -variables that are replaced with a text string. See an exception in -(6). - -If the $ is followed by curly brackets, then the variable name is the -text inside the curly brackets. If no curly brackets follow the $, -then the variable name is the single character immediately following -the $. Thus $\{myTemp\} and $x refer to variable names "myTemp" and -"x". - -How the variable is converted to a text string depends on what style -of variable it is; see the "variable"_variable.html doc page for details. -It can be a variable that stores multiple text strings, and return one -of them. The returned text string can be multiple "words" (space -separated) which will then be interpreted as multiple arguments in the -input command. The variable can also store a numeric formula which -will be evaluated and its numeric result returned as a string. - -As a special case, if the $ is followed by parenthesis, then the text -inside the parenthesis is treated as an "immediate" variable and -evaluated as an "equal-style variable"_variable.html. This is a way -to use numeric formulas in an input script without having to assign -them to variable names. For example, these 3 input script lines: - -variable X equal (xlo+xhi)/2+sqrt(v_area) -region 1 block $X 2 INF INF EDGE EDGE -variable X delete :pre - -can be replaced by - -region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE :pre - -so that you do not have to define (or discard) a temporary variable X. - -Additionally, the "immediate" variable expression may be followed by a -colon, followed by a C-style format string, e.g. ":%f" or ":%.10g". -The format string must be appropriate for a double-precision -floating-point value. The format string is used to output the result -of the variable expression evaluation. If a format string is not -specified a high-precision "%.20g" is used as the default. - -This can be useful for formatting print output to a desired precion: - -print "Final energy per atom: $(pe/atoms:%10.3f) eV/atom" :pre - -Note that neither the curly-bracket or immediate form of variables can -contain nested $ characters for other variables to substitute for. -Thus you cannot do this: - -variable a equal 2 -variable b2 equal 4 -print "B2 = $\{b$a\}" :pre - -Nor can you specify this $($x-1.0) for an immediate variable, but -you could use $(v_x-1.0), since the latter is valid syntax for an -"equal-style variable"_variable.html. - -See the "variable"_variable.html command for more details of how -strings are assigned to variables and evaluated, and how they can be -used in input script commands. - -(4) The line is broken into "words" separated by whitespace (tabs, -spaces). Note that words can thus contain letters, digits, -underscores, or punctuation characters. - -(5) The first word is the command name. All successive words in the -line are arguments. - -(6) If you want text with spaces to be treated as a single argument, -it can be enclosed in either single or double or triple quotes. A -long single argument enclosed in single or double quotes can span -multiple lines if the "&" character is used, as described above. When -the lines are concatenated together (and the "&" characters and line -breaks removed), the text will become a single line. If you want -multiple lines of an argument to retain their line breaks, the text -can be enclosed in triple quotes, in which case "&" characters are not -needed. For example: - -print "Volume = $v" -print 'Volume = $v' -if "$\{steps\} > 1000" then quit -variable a string "red green blue & - purple orange cyan" -print """ -System volume = $v -System temperature = $t -""" :pre - -In each case, the single, double, or triple quotes are removed when -the single argument they enclose is stored internally. - -See the "dump modify format"_dump_modify.html, "print"_print.html, -"if"_if.html, and "python"_python.html commands for examples. - -A "#" or "$" character that is between quotes will not be treated as a -comment indicator in (2) or substituted for as a variable in (3). - -NOTE: If the argument is itself a command that requires a quoted -argument (e.g. using a "print"_print.html command as part of an -"if"_if.html or "run every"_run.html command), then single, double, or -triple quotes can be nested in the usual manner. See the doc pages -for those commands for examples. Only one of level of nesting is -allowed, but that should be sufficient for most use cases. - -:line - -3.3 Input script structure :h3,link(cmd_3) - -This section describes the structure of a typical LAMMPS input script. -The examples directory in the LAMMPS distribution contains many sample -input scripts; the corresponding problems are discussed on the -"Examples"_Examples.html doc page, and animated on the "LAMMPS WWW -Site"_lws. - -A LAMMPS input script typically has 4 parts: - -Initialization -Atom definition -Settings -Run a simulation :ol - -The last 2 parts can be repeated as many times as desired. I.e. run a -simulation, change some settings, run some more, etc. Each of the 4 -parts is now described in more detail. Remember that almost all the -commands need only be used if a non-default value is desired. - -(1) Initialization - -Set parameters that need to be defined before atoms are created or -read-in from a file. - -The relevant commands are "units"_units.html, -"dimension"_dimension.html, "newton"_newton.html, -"processors"_processors.html, "boundary"_boundary.html, -"atom_style"_atom_style.html, "atom_modify"_atom_modify.html. - -If force-field parameters appear in the files that will be read, these -commands tell LAMMPS what kinds of force fields are being used: -"pair_style"_pair_style.html, "bond_style"_bond_style.html, -"angle_style"_angle_style.html, "dihedral_style"_dihedral_style.html, -"improper_style"_improper_style.html. - -(2) Atom definition - -There are 3 ways to define atoms in LAMMPS. Read them in from a data -or restart file via the "read_data"_read_data.html or -"read_restart"_read_restart.html commands. These files can contain -molecular topology information. Or create atoms on a lattice (with no -molecular topology), using these commands: "lattice"_lattice.html, -"region"_region.html, "create_box"_create_box.html, -"create_atoms"_create_atoms.html. The entire set of atoms can be -duplicated to make a larger simulation using the -"replicate"_replicate.html command. - -(3) Settings - -Once atoms and molecular topology are defined, a variety of settings -can be specified: force field coefficients, simulation parameters, -output options, etc. - -Force field coefficients are set by these commands (they can also be -set in the read-in files): "pair_coeff"_pair_coeff.html, -"bond_coeff"_bond_coeff.html, "angle_coeff"_angle_coeff.html, -"dihedral_coeff"_dihedral_coeff.html, -"improper_coeff"_improper_coeff.html, -"kspace_style"_kspace_style.html, "dielectric"_dielectric.html, -"special_bonds"_special_bonds.html. - -Various simulation parameters are set by these commands: -"neighbor"_neighbor.html, "neigh_modify"_neigh_modify.html, -"group"_group.html, "timestep"_timestep.html, -"reset_timestep"_reset_timestep.html, "run_style"_run_style.html, -"min_style"_min_style.html, "min_modify"_min_modify.html. - -Fixes impose a variety of boundary conditions, time integration, and -diagnostic options. The "fix"_fix.html command comes in many flavors. - -Various computations can be specified for execution during a -simulation using the "compute"_compute.html, -"compute_modify"_compute_modify.html, and "variable"_variable.html -commands. - -Output options are set by the "thermo"_thermo.html, "dump"_dump.html, -and "restart"_restart.html commands. - -(4) Run a simulation - -A molecular dynamics simulation is run using the "run"_run.html -command. Energy minimization (molecular statics) is performed using -the "minimize"_minimize.html command. A parallel tempering -(replica-exchange) simulation can be run using the -"temper"_temper.html command. - -:line - -3.4 Commands listed by category :link(cmd_4),h4 - -This section lists core LAMMPS commands, grouped by category. -The "next section"_#cmd_5 lists all commands alphabetically. The -next section also includes (long) lists of style options for entries -that appear in the following categories as a single command (fix, -compute, pair, etc). Commands that are added by user packages are not -included in the categories here, but they are in the next section. - -Initialization: - -"newton"_newton.html, -"package"_package.html, -"processors"_processors.html, -"suffix"_suffix.html, -"units"_units.html - -Setup simulation box: - -"boundary"_boundary.html, -"box"_box.html, -"change_box"_change_box.html, -"create_box"_create_box.html, -"dimension"_dimension.html, -"lattice"_lattice.html, -"region"_region.html - -Setup atoms: - -"atom_modify"_atom_modify.html, -"atom_style"_atom_style.html, -"balance"_balance.html, -"create_atoms"_create_atoms.html, -"create_bonds"_create_bonds.html, -"delete_atoms"_delete_atoms.html, -"delete_bonds"_delete_bonds.html, -"displace_atoms"_displace_atoms.html, -"group"_group.html, -"mass"_mass.html, -"molecule"_molecule.html, -"read_data"_read_data.html, -"read_dump"_read_dump.html, -"read_restart"_read_restart.html, -"replicate"_replicate.html, -"set"_set.html, -"velocity"_velocity.html - -Force fields: - -"angle_coeff"_angle_coeff.html, -"angle_style"_angle_style.html, -"bond_coeff"_bond_coeff.html, -"bond_style"_bond_style.html, -"bond_write"_bond_write.html, -"dielectric"_dielectric.html, -"dihedral_coeff"_dihedral_coeff.html, -"dihedral_style"_dihedral_style.html, -"improper_coeff"_improper_coeff.html, -"improper_style"_improper_style.html, -"kspace_modify"_kspace_modify.html, -"kspace_style"_kspace_style.html, -"pair_coeff"_pair_coeff.html, -"pair_modify"_pair_modify.html, -"pair_style"_pair_style.html, -"pair_write"_pair_write.html, -"special_bonds"_special_bonds.html - -Settings: - -"comm_modify"_comm_modify.html, -"comm_style"_comm_style.html, -"info"_info.html, -"min_modify"_min_modify.html, -"min_style"_min_style.html, -"neigh_modify"_neigh_modify.html, -"neighbor"_neighbor.html, -"partition"_partition.html, -"reset_timestep"_reset_timestep.html, -"run_style"_run_style.html, -"timer"_timer.html, -"timestep"_timestep.html - -Operations within timestepping (fixes) and diagnostics (computes): - -"compute"_compute.html, -"compute_modify"_compute_modify.html, -"fix"_fix.html, -"fix_modify"_fix_modify.html, -"uncompute"_uncompute.html, -"unfix"_unfix.html - -Output: - -"dump image"_dump_image.html, -"dump movie"_dump_image.html, -"dump"_dump.html, -"dump_modify"_dump_modify.html, -"restart"_restart.html, -"thermo"_thermo.html, -"thermo_modify"_thermo_modify.html, -"thermo_style"_thermo_style.html, -"undump"_undump.html, -"write_coeff"_write_coeff.html, -"write_data"_write_data.html, -"write_dump"_write_dump.html, -"write_restart"_write_restart.html - -Actions: - -"minimize"_minimize.html, -"neb"_neb.html, -"prd"_prd.html, -"rerun"_rerun.html, -"run"_run.html, -"tad"_tad.html, -"temper"_temper.html - -Input script control: - -"clear"_clear.html, -"echo"_echo.html, -"if"_if.html, -"include"_include.html, -"jump"_jump.html, -"label"_label.html, -"log"_log.html, -"next"_next.html, -"print"_print.html, -"python"_python.html, -"quit"_quit.html, -"shell"_shell.html, -"variable"_variable.html - -:line - -3.5 Individual commands :h3,link(cmd_5),link(comm) - -This section lists all LAMMPS commands alphabetically, with a separate -listing below of styles within certain commands. The "previous -section"_#cmd_4 lists the same commands, grouped by category. Note -that some style options for some commands are part of specific LAMMPS -packages, which means they cannot be used unless the package was -included when LAMMPS was built. Not all packages are included in a -default LAMMPS build. These dependencies are listed as Restrictions -in the command's documentation. - -"angle_coeff"_angle_coeff.html, -"angle_style"_angle_style.html, -"atom_modify"_atom_modify.html, -"atom_style"_atom_style.html, -"balance"_balance.html, -"bond_coeff"_bond_coeff.html, -"bond_style"_bond_style.html, -"bond_write"_bond_write.html, -"boundary"_boundary.html, -"box"_box.html, -"change_box"_change_box.html, -"clear"_clear.html, -"comm_modify"_comm_modify.html, -"comm_style"_comm_style.html, -"compute"_compute.html, -"compute_modify"_compute_modify.html, -"create_atoms"_create_atoms.html, -"create_bonds"_create_bonds.html, -"create_box"_create_box.html, -"delete_atoms"_delete_atoms.html, -"delete_bonds"_delete_bonds.html, -"dielectric"_dielectric.html, -"dihedral_coeff"_dihedral_coeff.html, -"dihedral_style"_dihedral_style.html, -"dimension"_dimension.html, -"displace_atoms"_displace_atoms.html, -"dump"_dump.html, -"dump image"_dump_image.html, -"dump_modify"_dump_modify.html, -"dump movie"_dump_image.html, -"echo"_echo.html, -"fix"_fix.html, -"fix_modify"_fix_modify.html, -"group"_group.html, -"if"_if.html, -"info"_info.html, -"improper_coeff"_improper_coeff.html, -"improper_style"_improper_style.html, -"include"_include.html, -"jump"_jump.html, -"kspace_modify"_kspace_modify.html, -"kspace_style"_kspace_style.html, -"label"_label.html, -"lattice"_lattice.html, -"log"_log.html, -"mass"_mass.html, -"minimize"_minimize.html, -"min_modify"_min_modify.html, -"min_style"_min_style.html, -"molecule"_molecule.html, -"neb"_neb.html, -"neigh_modify"_neigh_modify.html, -"neighbor"_neighbor.html, -"newton"_newton.html, -"next"_next.html, -"package"_package.html, -"pair_coeff"_pair_coeff.html, -"pair_modify"_pair_modify.html, -"pair_style"_pair_style.html, -"pair_write"_pair_write.html, -"partition"_partition.html, -"prd"_prd.html, -"print"_print.html, -"processors"_processors.html, -"python"_python.html, -"quit"_quit.html, -"read_data"_read_data.html, -"read_dump"_read_dump.html, -"read_restart"_read_restart.html, -"region"_region.html, -"replicate"_replicate.html, -"rerun"_rerun.html, -"reset_ids"_reset_ids.html, -"reset_timestep"_reset_timestep.html, -"restart"_restart.html, -"run"_run.html, -"run_style"_run_style.html, -"set"_set.html, -"shell"_shell.html, -"special_bonds"_special_bonds.html, -"suffix"_suffix.html, -"tad"_tad.html, -"temper"_temper.html, -"thermo"_thermo.html, -"thermo_modify"_thermo_modify.html, -"thermo_style"_thermo_style.html, -"timer"_timer.html, -"timestep"_timestep.html, -"uncompute"_uncompute.html, -"undump"_undump.html, -"unfix"_unfix.html, -"units"_units.html, -"variable"_variable.html, -"velocity"_velocity.html, -"write_coeff"_write_coeff.html, -"write_data"_write_data.html, -"write_dump"_write_dump.html, -"write_restart"_write_restart.html :tb(c=6,ea=c) - -These are additional commands in USER packages, which can be used if -"LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"dump netcdf"_dump_netcdf.html, -"dump netcdf/mpiio"_dump_netcdf.html, -"dump vtk"_dump_vtk.html, -"group2ndx"_group2ndx.html, -"ndx2group"_group2ndx.html, -"temper/grem"_temper_grem.html, -"temper/npt"_temper_npt.html :tb(c=3,ea=c) - -:line - -Fix styles :h3 - -See the "fix"_fix.html command for one-line descriptions of each style -or click on the style itself for a full description. Some of the -styles have accelerated versions, which can be used if LAMMPS is built -with the "appropriate accelerated package"_Section_accelerate.html. -This is indicated by additional letters in parenthesis: g = GPU, i = -USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. - -"adapt"_fix_adapt.html, -"addforce"_fix_addforce.html, -"append/atoms"_fix_append_atoms.html, -"atom/swap"_fix_atom_swap.html, -"aveforce"_fix_aveforce.html, -"ave/atom"_fix_ave_atom.html, -"ave/chunk"_fix_ave_chunk.html, -"ave/correlate"_fix_ave_correlate.html, -"ave/histo"_fix_ave_histo.html, -"ave/histo/weight"_fix_ave_histo.html, -"ave/time"_fix_ave_time.html, -"balance"_fix_balance.html, -"bond/break"_fix_bond_break.html, -"bond/create"_fix_bond_create.html, -"bond/swap"_fix_bond_swap.html, -"box/relax"_fix_box_relax.html, -"cmap"_fix_cmap.html, -"controller"_fix_controller.html, -"deform (k)"_fix_deform.html, -"deposit"_fix_deposit.html, -"drag"_fix_drag.html, -"dt/reset"_fix_dt_reset.html, -"efield"_fix_efield.html, -"ehex"_fix_ehex.html, -"enforce2d (k)"_fix_enforce2d.html, -"evaporate"_fix_evaporate.html, -"external"_fix_external.html, -"freeze"_fix_freeze.html, -"gcmc"_fix_gcmc.html, -"gld"_fix_gld.html, -"gravity (o)"_fix_gravity.html, -"halt"_fix_halt.html, -"heat"_fix_heat.html, -"indent"_fix_indent.html, -"latte"_fix_latte.html, -"langevin (k)"_fix_langevin.html, -"langevin/spin"_fix_langevin_spin.hmtl, -"lineforce"_fix_lineforce.html, -"momentum (k)"_fix_momentum.html, -"move"_fix_move.html, -"mscg"_fix_mscg.html, -"msst"_fix_msst.html, -"neb"_fix_neb.html, -"nph (ko)"_fix_nh.html, -"nphug (o)"_fix_nphug.html, -"nph/asphere (o)"_fix_nph_asphere.html, -"nph/body"_fix_nph_body.html, -"nph/sphere (o)"_fix_nph_sphere.html, -"npt (kio)"_fix_nh.html, -"npt/asphere (o)"_fix_npt_asphere.html, -"npt/body"_fix_npt_body.html, -"npt/sphere (o)"_fix_npt_sphere.html, -"nve (kio)"_fix_nve.html, -"nve/asphere (i)"_fix_nve_asphere.html, -"nve/asphere/noforce"_fix_nve_asphere_noforce.html, -"nve/body"_fix_nve_body.html, -"nve/limit"_fix_nve_limit.html, -"nve/line"_fix_nve_line.html, -"nve/noforce"_fix_nve_noforce.html, -"nve/sphere (o)"_fix_nve_sphere.html, -"nve/spin"_fix_nve_spin.html, -"nve/tri"_fix_nve_tri.html, -"nvt (iko)"_fix_nh.html, -"nvt/asphere (o)"_fix_nvt_asphere.html, -"nvt/body"_fix_nvt_body.html, -"nvt/sllod (io)"_fix_nvt_sllod.html, -"nvt/sphere (o)"_fix_nvt_sphere.html, -"oneway"_fix_oneway.html, -"orient/bcc"_fix_orient.html, -"orient/fcc"_fix_orient.html, -"planeforce"_fix_planeforce.html, -"poems"_fix_poems.html, -"pour"_fix_pour.html, -"precession/spin"_fix_precession_spin.html, -"press/berendsen"_fix_press_berendsen.html, -"print"_fix_print.html, -"property/atom (k)"_fix_property_atom.html, -"python/invoke"_fix_python_invoke.html, -"python/move"_fix_python_move.html, -"qeq/comb (o)"_fix_qeq_comb.html, -"qeq/dynamic"_fix_qeq.html, -"qeq/fire"_fix_qeq.html, -"qeq/point"_fix_qeq.html, -"qeq/shielded"_fix_qeq.html, -"qeq/slater"_fix_qeq.html, -"rattle"_fix_shake.html, -"reax/bonds"_fix_reax_bonds.html, -"recenter"_fix_recenter.html, -"restrain"_fix_restrain.html, -"rigid (o)"_fix_rigid.html, -"rigid/nph (o)"_fix_rigid.html, -"rigid/npt (o)"_fix_rigid.html, -"rigid/nve (o)"_fix_rigid.html, -"rigid/nvt (o)"_fix_rigid.html, -"rigid/small (o)"_fix_rigid.html, -"rigid/small/nph"_fix_rigid.html, -"rigid/small/npt"_fix_rigid.html, -"rigid/small/nve"_fix_rigid.html, -"rigid/small/nvt"_fix_rigid.html, -"setforce (k)"_fix_setforce.html, -"shake"_fix_shake.html, -"spring"_fix_spring.html, -"spring/chunk"_fix_spring_chunk.html, -"spring/rg"_fix_spring_rg.html, -"spring/self"_fix_spring_self.html, -"srd"_fix_srd.html, -"store/force"_fix_store_force.html, -"store/state"_fix_store_state.html, -"temp/berendsen"_fix_temp_berendsen.html, -"temp/csld"_fix_temp_csvr.html, -"temp/csvr"_fix_temp_csvr.html, -"temp/rescale"_fix_temp_rescale.html, -"tfmc"_fix_tfmc.html, -"thermal/conductivity"_fix_thermal_conductivity.html, -"tmd"_fix_tmd.html, -"ttm"_fix_ttm.html, -"tune/kspace"_fix_tune_kspace.html, -"vector"_fix_vector.html, -"viscosity"_fix_viscosity.html, -"viscous"_fix_viscous.html, -"wall/body/polygon"_fix_wall_body_polygon.html, -"wall/body/polyhedron"_fix_wall_body_polyhedron.html, -"wall/colloid"_fix_wall.html, -"wall/gran"_fix_wall_gran.html, -"wall/gran/region"_fix_wall_gran_region.html, -"wall/harmonic"_fix_wall.html, -"wall/lj1043"_fix_wall.html, -"wall/lj126"_fix_wall.html, -"wall/lj93 (k)"_fix_wall.html, -"wall/piston"_fix_wall_piston.html, -"wall/reflect (k)"_fix_wall_reflect.html, -"wall/region"_fix_wall_region.html, -"wall/srd"_fix_wall_srd.html :tb(c=8,ea=c) - -These are additional fix styles in USER packages, which can be used if -"LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"adapt/fep"_fix_adapt_fep.html, -"addtorque"_fix_addtorque.html, -"atc"_fix_atc.html, -"ave/correlate/long"_fix_ave_correlate_long.html, -"bond/react"_fix_bond_react.html, -"colvars"_fix_colvars.html, -"dpd/energy (k)"_fix_dpd_energy.html, -"drude"_fix_drude.html, -"drude/transform/direct"_fix_drude_transform.html, -"drude/transform/reverse"_fix_drude_transform.html, -"edpd/source"_fix_dpd_source.html, -"eos/cv"_fix_eos_cv.html, -"eos/table"_fix_eos_table.html, -"eos/table/rx (k)"_fix_eos_table_rx.html, -"filter/corotate"_fix_filter_corotate.html, -"flow/gauss"_fix_flow_gauss.html, -"gle"_fix_gle.html, -"grem"_fix_grem.html, -"imd"_fix_imd.html, -"ipi"_fix_ipi.html, -"langevin/drude"_fix_langevin_drude.html, -"langevin/eff"_fix_langevin_eff.html, -"lb/fluid"_fix_lb_fluid.html, -"lb/momentum"_fix_lb_momentum.html, -"lb/pc"_fix_lb_pc.html, -"lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html, -"lb/viscous"_fix_lb_viscous.html, -"meso"_fix_meso.html, -"manifoldforce"_fix_manifoldforce.html, -"meso/stationary"_fix_meso_stationary.html, -"mvv/dpd"_fix_mvv_dpd.html, -"mvv/edpd"_fix_mvv_dpd.html, -"mvv/tdpd"_fix_mvv_dpd.html, -"nph/eff"_fix_nh_eff.html, -"npt/eff"_fix_nh_eff.html, -"npt/uef"_fix_nh_uef.html, -"nve/dot"_fix_nve_dot.html, -"nve/dotc/langevin"_fix_nve_dotc_langevin.html, -"nve/eff"_fix_nve_eff.html, -"nve/manifold/rattle"_fix_nve_manifold_rattle.html, -"nvk"_fix_nvk.html, -"nvt/eff"_fix_nh_eff.html, -"nvt/manifold/rattle"_fix_nvt_manifold_rattle.html, -"nvt/sllod/eff"_fix_nvt_sllod_eff.html, -"nvt/uef"_fix_nh_uef.html, -"phonon"_fix_phonon.html, -"pimd"_fix_pimd.html, -"qbmsst"_fix_qbmsst.html, -"qeq/reax (ko)"_fix_qeq_reax.html, -"qmmm"_fix_qmmm.html, -"qtb"_fix_qtb.html, -"reax/c/bonds (k)"_fix_reax_bonds.html, -"reax/c/species (k)"_fix_reaxc_species.html, -"rhok"_fix_rhok.html, -"rx (k)"_fix_rx.html, -"saed/vtk"_fix_saed_vtk.html, -"shardlow (k)"_fix_shardlow.html, -"smd"_fix_smd.html, -"smd/adjust/dt"_fix_smd_adjust_dt.html, -"smd/integrate/tlsph"_fix_smd_integrate_tlsph.html, -"smd/integrate/ulsph"_fix_smd_integrate_ulsph.html, -"smd/move/triangulated/surface"_fix_smd_move_triangulated_surface.html, -"smd/setvel"_fix_smd_setvel.html, -"smd/wall/surface"_fix_smd_wall_surface.html, -"tdpd/source"_fix_dpd_source.html, -"temp/rescale/eff"_fix_temp_rescale_eff.html, -"ti/spring"_fix_ti_spring.html, -"ttm/mod"_fix_ttm.html, -"wall/ees"_fix_wall_ees.html, -"wall/region/ees"_fix_wall_ees.html :tb(c=6,ea=c) - -:line - -Compute styles :h3 - -See the "compute"_compute.html command for one-line descriptions of -each style or click on the style itself for a full description. Some -of the styles have accelerated versions, which can be used if LAMMPS -is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. - -"aggregate/atom"_compute_cluster_atom.html, -"angle"_compute_angle.html, -"angle/local"_compute_angle_local.html, -"angmom/chunk"_compute_angmom_chunk.html, -"body/local"_compute_body_local.html, -"bond"_compute_bond.html, -"bond/local"_compute_bond_local.html, -"centro/atom"_compute_centro_atom.html, -"chunk/atom"_compute_chunk_atom.html, -"cluster/atom"_compute_cluster_atom.html, -"cna/atom"_compute_cna_atom.html, -"com"_compute_com.html, -"com/chunk"_compute_com_chunk.html, -"contact/atom"_compute_contact_atom.html, -"coord/atom"_compute_coord_atom.html, -"damage/atom"_compute_damage_atom.html, -"dihedral"_compute_dihedral.html, -"dihedral/local"_compute_dihedral_local.html, -"dilatation/atom"_compute_dilatation_atom.html, -"dipole/chunk"_compute_dipole_chunk.html, -"displace/atom"_compute_displace_atom.html, -"erotate/asphere"_compute_erotate_asphere.html, -"erotate/rigid"_compute_erotate_rigid.html, -"erotate/sphere"_compute_erotate_sphere.html, -"erotate/sphere/atom"_compute_erotate_sphere_atom.html, -"event/displace"_compute_event_displace.html, -"fragment/atom"_compute_cluster_atom.html, -"global/atom"_compute_global_atom.html, -"group/group"_compute_group_group.html, -"gyration"_compute_gyration.html, -"gyration/chunk"_compute_gyration_chunk.html, -"heat/flux"_compute_heat_flux.html, -"hexorder/atom"_compute_hexorder_atom.html, -"improper"_compute_improper.html, -"improper/local"_compute_improper_local.html, -"inertia/chunk"_compute_inertia_chunk.html, -"ke"_compute_ke.html, -"ke/atom"_compute_ke_atom.html, -"ke/rigid"_compute_ke_rigid.html, -"msd"_compute_msd.html, -"msd/chunk"_compute_msd_chunk.html, -"msd/nongauss"_compute_msd_nongauss.html, -"omega/chunk"_compute_omega_chunk.html, -"orientorder/atom"_compute_orientorder_atom.html, -"pair"_compute_pair.html, -"pair/local"_compute_pair_local.html, -"pe"_compute_pe.html, -"pe/atom"_compute_pe_atom.html, -"plasticity/atom"_compute_plasticity_atom.html, -"pressure"_compute_pressure.html, -"property/atom"_compute_property_atom.html, -"property/local"_compute_property_local.html, -"property/chunk"_compute_property_chunk.html, -"rdf"_compute_rdf.html, -"reduce"_compute_reduce.html, -"reduce/region"_compute_reduce.html, -"rigid/local"_compute_rigid_local.html, -"slice"_compute_slice.html, -"sna/atom"_compute_sna_atom.html, -"snad/atom"_compute_sna_atom.html, -"snav/atom"_compute_sna_atom.html, -"spin"_compute_spin.html, -"stress/atom"_compute_stress_atom.html, -"temp (k)"_compute_temp.html, -"temp/asphere"_compute_temp_asphere.html, -"temp/body"_compute_temp_body.html, -"temp/chunk"_compute_temp_chunk.html, -"temp/com"_compute_temp_com.html, -"temp/deform"_compute_temp_deform.html, -"temp/partial"_compute_temp_partial.html, -"temp/profile"_compute_temp_profile.html, -"temp/ramp"_compute_temp_ramp.html, -"temp/region"_compute_temp_region.html, -"temp/sphere"_compute_temp_sphere.html, -"ti"_compute_ti.html, -"torque/chunk"_compute_torque_chunk.html, -"vacf"_compute_vacf.html, -"vcm/chunk"_compute_vcm_chunk.html, -"voronoi/atom"_compute_voronoi_atom.html :tb(c=6,ea=c) - -These are additional compute styles in USER packages, which can be -used if "LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"ackland/atom"_compute_ackland_atom.html, -"basal/atom"_compute_basal_atom.html, -"cnp/atom"_compute_cnp_atom.html, -"dpd"_compute_dpd.html, -"dpd/atom"_compute_dpd_atom.html, -"edpd/temp/atom"_compute_edpd_temp_atom.html, -"entropy/atom"_compute_entropy_atom.html, -"fep"_compute_fep.html, -"force/tally"_compute_tally.html, -"heat/flux/tally"_compute_tally.html, -"ke/eff"_compute_ke_eff.html, -"ke/atom/eff"_compute_ke_atom_eff.html, -"meso/e/atom"_compute_meso_e_atom.html, -"meso/rho/atom"_compute_meso_rho_atom.html, -"meso/t/atom"_compute_meso_t_atom.html, -"pe/tally"_compute_tally.html, -"pe/mol/tally"_compute_tally.html, -"pressure/uef"_compute_pressure_uef.html, -"saed"_compute_saed.html, -"smd/contact/radius"_compute_smd_contact_radius.html, -"smd/damage"_compute_smd_damage.html, -"smd/hourglass/error"_compute_smd_hourglass_error.html, -"smd/internal/energy"_compute_smd_internal_energy.html, -"smd/plastic/strain"_compute_smd_plastic_strain.html, -"smd/plastic/strain/rate"_compute_smd_plastic_strain_rate.html, -"smd/rho"_compute_smd_rho.html, -"smd/tlsph/defgrad"_compute_smd_tlsph_defgrad.html, -"smd/tlsph/dt"_compute_smd_tlsph_dt.html, -"smd/tlsph/num/neighs"_compute_smd_tlsph_num_neighs.html, -"smd/tlsph/shape"_compute_smd_tlsph_shape.html, -"smd/tlsph/strain"_compute_smd_tlsph_strain.html, -"smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html, -"smd/tlsph/stress"_compute_smd_tlsph_stress.html, -"smd/triangle/mesh/vertices"_compute_smd_triangle_mesh_vertices.html, -"smd/ulsph/num/neighs"_compute_smd_ulsph_num_neighs.html, -"smd/ulsph/strain"_compute_smd_ulsph_strain.html, -"smd/ulsph/strain/rate"_compute_smd_ulsph_strain_rate.html, -"smd/ulsph/stress"_compute_smd_ulsph_stress.html, -"smd/vol"_compute_smd_vol.html, -"stress/tally"_compute_tally.html, -"tdpd/cc/atom"_compute_tdpd_cc_atom.html, -"temp/drude"_compute_temp_drude.html, -"temp/eff"_compute_temp_eff.html, -"temp/deform/eff"_compute_temp_deform_eff.html, -"temp/region/eff"_compute_temp_region_eff.html, -"temp/rotate"_compute_temp_rotate.html, -"temp/uef"_compute_temp_uef.html, -"xrd"_compute_xrd.html :tb(c=6,ea=c) - -:line - -Pair_style potentials :h3 - -See the "pair_style"_pair_style.html command for an overview of pair -potentials. Click on the style itself for a full description. Many -of the styles have accelerated versions, which can be used if LAMMPS -is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. - -"none"_pair_none.html, -"zero"_pair_zero.html, -"hybrid"_pair_hybrid.html, -"hybrid/overlay (k)"_pair_hybrid.html, -"adp (o)"_pair_adp.html, -"airebo (oi)"_pair_airebo.html, -"airebo/morse (oi)"_pair_airebo.html, -"atm"_pair_atm.html, -"beck (go)"_pair_beck.html, -"body/nparticle"_pair_body_nparticle.html, -"body/rounded/polygon"_pair_body_rounded/polygon.html, -"body/rounded/polyhedron"_pair_body_rounded/polyhedron.html, -"bop"_pair_bop.html, -"born (go)"_pair_born.html, -"born/coul/dsf"_pair_born.html, -"born/coul/dsf/cs"_pair_born.html, -"born/coul/long (go)"_pair_born.html, -"born/coul/long/cs"_pair_born.html, -"born/coul/msm (o)"_pair_born.html, -"born/coul/wolf (go)"_pair_born.html, -"born/coul/wolf/cs"_pair_born.html, -"brownian (o)"_pair_brownian.html, -"brownian/poly (o)"_pair_brownian.html, -"buck (giko)"_pair_buck.html, -"buck/coul/cut (giko)"_pair_buck.html, -"buck/coul/long (giko)"_pair_buck.html, -"buck/coul/long/cs"_pair_buck.html, -"buck/coul/msm (o)"_pair_buck.html, -"buck/long/coul/long (o)"_pair_buck_long.html, -"colloid (go)"_pair_colloid.html, -"comb (o)"_pair_comb.html, -"comb3"_pair_comb.html, -"coul/cut (gko)"_pair_coul.html, -"coul/debye (gko)"_pair_coul.html, -"coul/dsf (gko)"_pair_coul.html, -"coul/long (gko)"_pair_coul.html, -"coul/long/cs"_pair_coul.html, -"coul/msm"_pair_coul.html, -"coul/streitz"_pair_coul.html, -"coul/wolf (ko)"_pair_coul.html, -"coul/wolf/cs"_pair_coul.html, -"dpd (gio)"_pair_dpd.html, -"dpd/tstat (go)"_pair_dpd.html, -"dsmc"_pair_dsmc.html, -"eam (gikot)"_pair_eam.html, -"eam/alloy (gikot)"_pair_eam.html, -"eam/fs (gikot)"_pair_eam.html, -"eim (o)"_pair_eim.html, -"gauss (go)"_pair_gauss.html, -"gayberne (gio)"_pair_gayberne.html, -"gran/hertz/history (o)"_pair_gran.html, -"gran/hooke (o)"_pair_gran.html, -"gran/hooke/history (o)"_pair_gran.html, -"gw"_pair_gw.html, -"gw/zbl"_pair_gw.html, -"hbond/dreiding/lj (o)"_pair_hbond_dreiding.html, -"hbond/dreiding/morse (o)"_pair_hbond_dreiding.html, -"kim"_pair_kim.html, -"lcbop"_pair_lcbop.html, -"line/lj"_pair_line_lj.html, -"lj/charmm/coul/charmm (iko)"_pair_charmm.html, -"lj/charmm/coul/charmm/implicit (ko)"_pair_charmm.html, -"lj/charmm/coul/long (giko)"_pair_charmm.html, -"lj/charmm/coul/msm"_pair_charmm.html, -"lj/charmmfsw/coul/charmmfsh"_pair_charmm.html, -"lj/charmmfsw/coul/long"_pair_charmm.html, -"lj/class2 (gko)"_pair_class2.html, -"lj/class2/coul/cut (ko)"_pair_class2.html, -"lj/class2/coul/long (gko)"_pair_class2.html, -"lj/cubic (go)"_pair_lj_cubic.html, -"lj/cut (gikot)"_pair_lj.html, -"lj/cut/coul/cut (gko)"_pair_lj.html, -"lj/cut/coul/debye (gko)"_pair_lj.html, -"lj/cut/coul/dsf (gko)"_pair_lj.html, -"lj/cut/coul/long (gikot)"_pair_lj.html, -"lj/cut/coul/long/cs"_pair_lj.html, -"lj/cut/coul/msm (go)"_pair_lj.html, -"lj/cut/coul/wolf (o)"_pair_lj.html, -"lj/cut/dipole/cut (go)"_pair_dipole.html, -"lj/cut/dipole/long"_pair_dipole.html, -"lj/cut/tip4p/cut (o)"_pair_lj.html, -"lj/cut/tip4p/long (ot)"_pair_lj.html, -"lj/expand (gko)"_pair_lj_expand.html, -"lj/gromacs (gko)"_pair_gromacs.html, -"lj/gromacs/coul/gromacs (ko)"_pair_gromacs.html, -"lj/long/coul/long (io)"_pair_lj_long.html, -"lj/long/dipole/long"_pair_dipole.html, -"lj/long/tip4p/long"_pair_lj_long.html, -"lj/smooth (o)"_pair_lj_smooth.html, -"lj/smooth/linear (o)"_pair_lj_smooth_linear.html, -"lj96/cut (go)"_pair_lj96.html, -"lubricate (o)"_pair_lubricate.html, -"lubricate/poly (o)"_pair_lubricate.html, -"lubricateU"_pair_lubricateU.html, -"lubricateU/poly"_pair_lubricateU.html, -"meam"_pair_meam.html, -"mie/cut (o)"_pair_mie.html, -"morse (gkot)"_pair_morse.html, -"nb3b/harmonic (o)"_pair_nb3b_harmonic.html, -"nm/cut (o)"_pair_nm.html, -"nm/cut/coul/cut (o)"_pair_nm.html, -"nm/cut/coul/long (o)"_pair_nm.html, -"peri/eps"_pair_peri.html, -"peri/lps (o)"_pair_peri.html, -"peri/pmb (o)"_pair_peri.html, -"peri/ves"_pair_peri.html, -"polymorphic"_pair_polymorphic.html, -"python"_pair_python.html, -"reax"_pair_reax.html, -"rebo (oi)"_pair_airebo.html, -"resquared (go)"_pair_resquared.html, -"snap (k)"_pair_snap.html, -"soft (go)"_pair_soft.html, -"sw (giko)"_pair_sw.html, -"spin/dmi"_pair_spin_dmi.html, -"spin/exchange"_pair_spin_exchange.html, -"spin/magelec"_pair_spin_magelec.html, -"spin/neel"_pair_spin_neel.html, -"table (gko)"_pair_table.html, -"tersoff (giko)"_pair_tersoff.html, -"tersoff/mod (gko)"_pair_tersoff_mod.html, -"tersoff/mod/c (o)"_pair_tersoff_mod.html, -"tersoff/zbl (gko)"_pair_tersoff_zbl.html, -"tip4p/cut (o)"_pair_coul.html, -"tip4p/long (o)"_pair_coul.html, -"tri/lj"_pair_tri_lj.html, -"ufm (got)"_pair_ufm.html, -"vashishta (ko)"_pair_vashishta.html, -"vashishta/table (o)"_pair_vashishta.html, -"yukawa (gok)"_pair_yukawa.html, -"yukawa/colloid (go)"_pair_yukawa_colloid.html, -"zbl (gok)"_pair_zbl.html :tb(c=4,ea=c) - -These are additional pair styles in USER packages, which can be used -if "LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"agni (o)"_pair_agni.html, -"awpmd/cut"_pair_awpmd.html, -"buck/mdf"_pair_mdf.html, -"coul/cut/soft (o)"_pair_lj_soft.html, -"coul/diel (o)"_pair_coul_diel.html, -"coul/long/soft (o)"_pair_lj_soft.html, -"coul/shield"_pair_coul_shield.html, -"dpd/fdt"_pair_dpd_fdt.html, -"dpd/fdt/energy (k)"_pair_dpd_fdt.html, -"eam/cd (o)"_pair_eam.html, -"edip (o)"_pair_edip.html, -"edip/multi"_pair_edip.html, -"edpd"_pair_meso.html, -"eff/cut"_pair_eff.html, -"exp6/rx (k)"_pair_exp6_rx.html, -"extep"_pair_extep.html, -"gauss/cut"_pair_gauss.html, -"ilp/graphene/hbn"_pair_ilp_graphene_hbn.html, -"kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html, -"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html, -"lennard/mdf"_pair_mdf.html, -"list"_pair_list.html, -"lj/charmm/coul/long/soft (o)"_pair_charmm.html, -"lj/cut/coul/cut/soft (o)"_pair_lj_soft.html, -"lj/cut/coul/long/soft (o)"_pair_lj_soft.html, -"lj/cut/dipole/sf (go)"_pair_dipole.html, -"lj/cut/soft (o)"_pair_lj_soft.html, -"lj/cut/thole/long (o)"_pair_thole.html, -"lj/cut/tip4p/long/soft (o)"_pair_lj_soft.html, -"lj/mdf"_pair_mdf.html, -"lj/sdk (gko)"_pair_sdk.html, -"lj/sdk/coul/long (go)"_pair_sdk.html, -"lj/sdk/coul/msm (o)"_pair_sdk.html, -"mdpd"_pair_meso.html, -"mdpd/rhosum"_pair_meso.html, -"meam/c"_pair_meam.html, -"meam/spline (o)"_pair_meam_spline.html, -"meam/sw/spline"_pair_meam_sw_spline.html, -"mgpt"_pair_mgpt.html, -"momb"_pair_momb.html, -"morse/smooth/linear"_pair_morse.html, -"morse/soft"_pair_morse.html, -"multi/lucy"_pair_multi_lucy.html, -"multi/lucy/rx (k)"_pair_multi_lucy_rx.html, -"oxdna/coaxstk"_pair_oxdna.html, -"oxdna/excv"_pair_oxdna.html, -"oxdna/hbond"_pair_oxdna.html, -"oxdna/stk"_pair_oxdna.html, -"oxdna/xstk"_pair_oxdna.html, -"oxdna2/coaxstk"_pair_oxdna2.html, -"oxdna2/dh"_pair_oxdna2.html, -"oxdna2/excv"_pair_oxdna2.html, -"oxdna2/stk"_pair_oxdna2.html, -"quip"_pair_quip.html, -"reax/c (ko)"_pair_reaxc.html, -"smd/hertz"_pair_smd_hertz.html, -"smd/tlsph"_pair_smd_tlsph.html, -"smd/triangulated/surface"_pair_smd_triangulated_surface.html, -"smd/ulsph"_pair_smd_ulsph.html, -"smtbq"_pair_smtbq.html, -"snap (k)"_pair_snap.html, -"sph/heatconduction"_pair_sph_heatconduction.html, -"sph/idealgas"_pair_sph_idealgas.html, -"sph/lj"_pair_sph_lj.html, -"sph/rhosum"_pair_sph_rhosum.html, -"sph/taitwater"_pair_sph_taitwater.html, -"sph/taitwater/morris"_pair_sph_taitwater_morris.html, -"srp"_pair_srp.html, -"table/rx (k)"_pair_table_rx.html, -"tdpd"_pair_meso.html, -"tersoff/table (o)"_pair_tersoff.html, -"thole"_pair_thole.html, -"tip4p/long/soft (o)"_pair_lj_soft.html :tb(c=4,ea=c) - -:line - -Bond_style potentials :h3 - -See the "bond_style"_bond_style.html command for an overview of bond -potentials. Click on the style itself for a full description. Some -of the styles have accelerated versions, which can be used if LAMMPS -is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = -KOKKOS, o = USER-OMP, t = OPT. - -"none"_bond_none.html, -"zero"_bond_zero.html, -"hybrid"_bond_hybrid.html, -"class2 (ko)"_bond_class2.html, -"fene (iko)"_bond_fene.html, -"fene/expand (o)"_bond_fene_expand.html, -"gromos (o)"_bond_gromos.html, -"harmonic (ko)"_bond_harmonic.html, -"morse (o)"_bond_morse.html, -"nonlinear (o)"_bond_nonlinear.html, -"quartic (o)"_bond_quartic.html, -"table (o)"_bond_table.html :tb(c=4,ea=c) - -These are additional bond styles in USER packages, which can be used -if "LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"harmonic/shift (o)"_bond_harmonic_shift.html, -"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html, -"oxdna/fene"_bond_oxdna.html, -"oxdna2/fene"_bond_oxdna.html :tb(c=4,ea=c) - -:line - -Angle_style potentials :h3 - -See the "angle_style"_angle_style.html command for an overview of -angle potentials. Click on the style itself for a full description. -Some of the styles have accelerated versions, which can be used if -LAMMPS is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = -USER-OMP, t = OPT. - -"none"_angle_none.html, -"zero"_angle_zero.html, -"hybrid"_angle_hybrid.html, -"charmm (ko)"_angle_charmm.html, -"class2 (ko)"_angle_class2.html, -"cosine (o)"_angle_cosine.html, -"cosine/delta (o)"_angle_cosine_delta.html, -"cosine/periodic (o)"_angle_cosine_periodic.html, -"cosine/squared (o)"_angle_cosine_squared.html, -"harmonic (iko)"_angle_harmonic.html, -"table (o)"_angle_table.html :tb(c=4,ea=c) - -These are additional angle styles in USER packages, which can be used -if "LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"cosine/shift (o)"_angle_cosine_shift.html, -"cosine/shift/exp (o)"_angle_cosine_shift_exp.html, -"dipole (o)"_angle_dipole.html, -"fourier (o)"_angle_fourier.html, -"fourier/simple (o)"_angle_fourier_simple.html, -"quartic (o)"_angle_quartic.html, -"sdk"_angle_sdk.html :tb(c=4,ea=c) - -:line - -Dihedral_style potentials :h3 - -See the "dihedral_style"_dihedral_style.html command for an overview -of dihedral potentials. Click on the style itself for a full -description. Some of the styles have accelerated versions, which can -be used if LAMMPS is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = -USER-OMP, t = OPT. - -"none"_dihedral_none.html, -"zero"_dihedral_zero.html, -"hybrid"_dihedral_hybrid.html, -"charmm (iko)"_dihedral_charmm.html, -"charmmfsw"_dihedral_charmm.html, -"class2 (ko)"_dihedral_class2.html, -"harmonic (io)"_dihedral_harmonic.html, -"helix (o)"_dihedral_helix.html, -"multi/harmonic (o)"_dihedral_multi_harmonic.html, -"opls (iko)"_dihedral_opls.html :tb(c=4,ea=c) - -These are additional dihedral styles in USER packages, which can be -used if "LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"cosine/shift/exp (o)"_dihedral_cosine_shift_exp.html, -"fourier (io)"_dihedral_fourier.html, -"nharmonic (o)"_dihedral_nharmonic.html, -"quadratic (o)"_dihedral_quadratic.html, -"spherical (o)"_dihedral_spherical.html, -"table (o)"_dihedral_table.html, -"table/cut"_dihedral_table_cut.html :tb(c=4,ea=c) - -:line - -Improper_style potentials :h3 - -See the "improper_style"_improper_style.html command for an overview -of improper potentials. Click on the style itself for a full -description. Some of the styles have accelerated versions, which can -be used if LAMMPS is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = -USER-OMP, t = OPT. - -"none"_improper_none.html, -"zero"_improper_zero.html, -"hybrid"_improper_hybrid.html, -"class2 (ko)"_improper_class2.html, -"cvff (io)"_improper_cvff.html, -"harmonic (iko)"_improper_harmonic.html, -"umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c) - -These are additional improper styles in USER packages, which can be -used if "LAMMPS is built with the appropriate -package"_Section_start.html#start_3. - -"cossq (o)"_improper_cossq.html, -"distance"_improper_distance.html, -"fourier (o)"_improper_fourier.html, -"ring (o)"_improper_ring.html :tb(c=4,ea=c) - -:line - -Kspace solvers :h3 - -See the "kspace_style"_kspace_style.html command for an overview of -Kspace solvers. Click on the style itself for a full description. -Some of the styles have accelerated versions, which can be used if -LAMMPS is built with the "appropriate accelerated -package"_Section_accelerate.html. This is indicated by additional -letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = -USER-OMP, t = OPT. - -"ewald (o)"_kspace_style.html, -"ewald/disp"_kspace_style.html, -"msm (o)"_kspace_style.html, -"msm/cg (o)"_kspace_style.html, -"pppm (gok)"_kspace_style.html, -"pppm/cg (o)"_kspace_style.html, -"pppm/disp (i)"_kspace_style.html, -"pppm/disp/tip4p"_kspace_style.html, -"pppm/stagger"_kspace_style.html, -"pppm/tip4p (o)"_kspace_style.html :tb(c=4,ea=c) diff --git a/doc/src/Section_history.txt b/doc/src/Section_history.txt deleted file mode 100644 index 6bbd1e4d99..0000000000 --- a/doc/src/Section_history.txt +++ /dev/null @@ -1,135 +0,0 @@ -"Previous Section"_Errors.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Manual.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -13. Future and history :h2 - -This section lists features we plan to add to LAMMPS, features of -previous versions of LAMMPS, and features of other parallel molecular -dynamics codes our group has distributed. - -13.1 "Coming attractions"_#hist_1 -13.2 "Past versions"_#hist_2 :all(b) - -:line -:line - -13.1 Coming attractions :h3,link(hist_1) - -As of summer 2016 we are using the "LAMMPS project issue tracker -on GitHub"_https://github.com/lammps/lammps/issues for keeping -track of suggested, planned or pending new features. This includes -discussions of how to best implement them, or why they would be -useful. Especially if a planned or proposed feature is non-trivial -to add, e.g. because it requires changes to some of the core -classes of LAMMPS, people planning to contribute a new feature to -LAMMS are encouraged to submit an issue about their planned -implementation this way in order to receive feedback from the -LAMMPS core developers. They will provide suggestions about -the validity of the proposed approach and possible improvements, -pitfalls or alternatives. - -Please see some of the closed issues for examples of how to -suggest code enhancements, submit proposed changes, or report -possible bugs and how they are resolved. - -As an alternative to using GitHub, you may e-mail the -"core developers"_http://lammps.sandia.gov/authors.html or send -an e-mail to the "LAMMPS Mail list"_http://lammps.sandia.gov/mail.html -if you want to have your suggestion added to the list. - -:line - -13.2 Past versions :h3,link(hist_2) - -LAMMPS development began in the mid 1990s under a cooperative research -& development agreement (CRADA) between two DOE labs (Sandia and LLNL) -and 3 companies (Cray, Bristol Myers Squibb, and Dupont). The goal was -to develop a large-scale parallel classical MD code; the coding effort -was led by Steve Plimpton at Sandia. - -After the CRADA ended, a final F77 version, LAMMPS 99, was -released. As development of LAMMPS continued at Sandia, its memory -management was converted to F90; a final F90 version was released as -LAMMPS 2001. - -The current LAMMPS is a rewrite in C++ and was first publicly released -as an open source code in 2004. It includes many new features beyond -those in LAMMPS 99 or 2001. It also includes features from older -parallel MD codes written at Sandia, namely ParaDyn, Warp, and -GranFlow (see below). - -In late 2006 we began merging new capabilities into LAMMPS that were -developed by Aidan Thompson at Sandia for his MD code GRASP, which has -a parallel framework similar to LAMMPS. Most notably, these have -included many-body potentials - Stillinger-Weber, Tersoff, ReaxFF - -and the associated charge-equilibration routines needed for ReaxFF. - -The "History link"_http://lammps.sandia.gov/history.html on the -LAMMPS WWW page gives a timeline of features added to the -C++ open-source version of LAMMPS over the last several years. - -These older codes are available for download from the "LAMMPS WWW -site"_lws, except for Warp & GranFlow which were primarily used -internally. A brief listing of their features is given here. - -LAMMPS 2001 - - F90 + MPI - dynamic memory - spatial-decomposition parallelism - NVE, NVT, NPT, NPH, rRESPA integrators - LJ and Coulombic pairwise force fields - all-atom, united-atom, bead-spring polymer force fields - CHARMM-compatible force fields - class 2 force fields - 3d/2d Ewald & PPPM - various force and temperature constraints - SHAKE - Hessian-free truncated-Newton minimizer - user-defined diagnostics :ul - -LAMMPS 99 - - F77 + MPI - static memory allocation - spatial-decomposition parallelism - most of the LAMMPS 2001 features with a few exceptions - no 2d Ewald & PPPM - molecular force fields are missing a few CHARMM terms - no SHAKE :ul - -Warp - - F90 + MPI - spatial-decomposition parallelism - embedded atom method (EAM) metal potentials + LJ - lattice and grain-boundary atom creation - NVE, NVT integrators - boundary conditions for applying shear stresses - temperature controls for actively sheared systems - per-atom energy and centro-symmetry computation and output :ul - -ParaDyn - - F77 + MPI - atom- and force-decomposition parallelism - embedded atom method (EAM) metal potentials - lattice atom creation - NVE, NVT, NPT integrators - all serial DYNAMO features for controls and constraints :ul - -GranFlow - - F90 + MPI - spatial-decomposition parallelism - frictional granular potentials - NVE integrator - boundary conditions for granular flow and packing and walls - particle insertion :ul diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt deleted file mode 100644 index 3c5fe47057..0000000000 --- a/doc/src/Section_howto.txt +++ /dev/null @@ -1,3011 +0,0 @@ -"Previous Section"_Section_accelerate.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Examples.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -6. How-to discussions :h2 - -This section describes how to perform common tasks using LAMMPS. - -6.1 "Restarting a simulation"_#howto_1 -6.2 "2d simulations"_#howto_2 -6.3 "CHARMM, AMBER, and DREIDING force fields"_#howto_3 -6.4 "Running multiple simulations from one input script"_#howto_4 -6.5 "Multi-replica simulations"_#howto_5 -6.6 "Granular models"_#howto_6 -6.7 "TIP3P water model"_#howto_7 -6.8 "TIP4P water model"_#howto_8 -6.9 "SPC water model"_#howto_9 -6.10 "Coupling LAMMPS to other codes"_#howto_10 -6.11 "Visualizing LAMMPS snapshots"_#howto_11 -6.12 "Triclinic (non-orthogonal) simulation boxes"_#howto_12 -6.13 "NEMD simulations"_#howto_13 -6.14 "Finite-size spherical and aspherical particles"_#howto_14 -6.15 "Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_#howto_15 -6.16 "Thermostatting, barostatting and computing temperature"_#howto_16 -6.17 "Walls"_#howto_17 -6.18 "Elastic constants"_#howto_18 -6.19 "Library interface to LAMMPS"_#howto_19 -6.20 "Calculating thermal conductivity"_#howto_20 -6.21 "Calculating viscosity"_#howto_21 -6.22 "Calculating a diffusion coefficient"_#howto_22 -6.23 "Using chunks to calculate system properties"_#howto_23 -6.24 "Setting parameters for the kspace_style pppm/disp command"_#howto_24 -6.25 "Polarizable models"_#howto_25 -6.26 "Adiabatic core/shell model"_#howto_26 -6.27 "Drude induced dipoles"_#howto_27 -6.28 "Magnetic spins"_#howto_28 :all(b) - -The example input scripts included in the LAMMPS distribution and -highlighted on the "Examples"_Examples.html doc page also show how to -setup and run various kinds of simulations. - -:line -:line - -6.1 Restarting a simulation :link(howto_1),h4 - -There are 3 ways to continue a long LAMMPS simulation. Multiple -"run"_run.html commands can be used in the same input script. Each -run will continue from where the previous run left off. Or binary -restart files can be saved to disk using the "restart"_restart.html -command. At a later time, these binary files can be read via a -"read_restart"_read_restart.html command in a new script. Or they can -be converted to text data files using the "-r command-line -switch"_Section_start.html#start_6 and read by a -"read_data"_read_data.html command in a new script. - -Here we give examples of 2 scripts that read either a binary restart -file or a converted data file and then issue a new run command to -continue where the previous run left off. They illustrate what -settings must be made in the new script. Details are discussed in the -documentation for the "read_restart"_read_restart.html and -"read_data"_read_data.html commands. - -Look at the {in.chain} input script provided in the {bench} directory -of the LAMMPS distribution to see the original script that these 2 -scripts are based on. If that script had the line - -restart 50 tmp.restart :pre - -added to it, it would produce 2 binary restart files (tmp.restart.50 -and tmp.restart.100) as it ran. - -This script could be used to read the 1st restart file and re-run the -last 50 timesteps: - -read_restart tmp.restart.50 :pre - -neighbor 0.4 bin -neigh_modify every 1 delay 1 :pre - -fix 1 all nve -fix 2 all langevin 1.0 1.0 10.0 904297 :pre - -timestep 0.012 :pre - -run 50 :pre - -Note that the following commands do not need to be repeated because -their settings are included in the restart file: {units, atom_style, -special_bonds, pair_style, bond_style}. However these commands do -need to be used, since their settings are not in the restart file: -{neighbor, fix, timestep}. - -If you actually use this script to perform a restarted run, you will -notice that the thermodynamic data match at step 50 (if you also put a -"thermo 50" command in the original script), but do not match at step -100. This is because the "fix langevin"_fix_langevin.html command -uses random numbers in a way that does not allow for perfect restarts. - -As an alternate approach, the restart file could be converted to a data -file as follows: - -lmp_g++ -r tmp.restart.50 tmp.restart.data :pre - -Then, this script could be used to re-run the last 50 steps: - -units lj -atom_style bond -pair_style lj/cut 1.12 -pair_modify shift yes -bond_style fene -special_bonds 0.0 1.0 1.0 :pre - -read_data tmp.restart.data :pre - -neighbor 0.4 bin -neigh_modify every 1 delay 1 :pre - -fix 1 all nve -fix 2 all langevin 1.0 1.0 10.0 904297 :pre - -timestep 0.012 :pre - -reset_timestep 50 -run 50 :pre - -Note that nearly all the settings specified in the original {in.chain} -script must be repeated, except the {pair_coeff} and {bond_coeff} -commands since the new data file lists the force field coefficients. -Also, the "reset_timestep"_reset_timestep.html command is used to tell -LAMMPS the current timestep. This value is stored in restart files, -but not in data files. - -:line - -6.2 2d simulations :link(howto_2),h4 - -Use the "dimension"_dimension.html command to specify a 2d simulation. - -Make the simulation box periodic in z via the "boundary"_boundary.html -command. This is the default. - -If using the "create box"_create_box.html command to define a -simulation box, set the z dimensions narrow, but finite, so that the -create_atoms command will tile the 3d simulation box with a single z -plane of atoms - e.g. - -"create box"_create_box.html 1 -10 10 -10 10 -0.25 0.25 :pre - -If using the "read data"_read_data.html command to read in a file of -atom coordinates, set the "zlo zhi" values to be finite but narrow, -similar to the create_box command settings just described. For each -atom in the file, assign a z coordinate so it falls inside the -z-boundaries of the box - e.g. 0.0. - -Use the "fix enforce2d"_fix_enforce2d.html command as the last -defined fix to insure that the z-components of velocities and forces -are zeroed out every timestep. The reason to make it the last fix is -so that any forces induced by other fixes will be zeroed out. - -Many of the example input scripts included in the LAMMPS distribution -are for 2d models. - -NOTE: Some models in LAMMPS treat particles as finite-size spheres, as -opposed to point particles. See the "atom_style -sphere"_atom_style.html and "fix nve/sphere"_fix_nve_sphere.html -commands for details. By default, for 2d simulations, such particles -will still be modeled as 3d spheres, not 2d discs (circles), meaning -their moment of inertia will be that of a sphere. If you wish to -model them as 2d discs, see the "set density/disc"_set.html command -and the {disc} option for the "fix nve/sphere"_fix_nve_sphere.html, -"fix nvt/sphere"_fix_nvt_sphere.html, "fix -nph/sphere"_fix_nph_sphere.html, "fix npt/sphere"_fix_npt_sphere.html -commands. - -:line - -6.3 CHARMM, AMBER, and DREIDING force fields :link(howto_3),h4 - -A force field has 2 parts: the formulas that define it and the -coefficients used for a particular system. Here we only discuss -formulas implemented in LAMMPS that correspond to formulas commonly -used in the CHARMM, AMBER, and DREIDING force fields. Setting -coefficients is done in the input data file via the -"read_data"_read_data.html command or in the input script with -commands like "pair_coeff"_pair_coeff.html or -"bond_coeff"_bond_coeff.html. See the "Tools"_Tools.html doc page for -additional tools that can use CHARMM or AMBER to assign force field -coefficients and convert their output into LAMMPS input. - -See "(MacKerell)"_#howto-MacKerell for a description of the CHARMM force -field. See "(Cornell)"_#howto-Cornell for a description of the AMBER force -field. - -:link(charmm,http://www.scripps.edu/brooks) -:link(amber,http://amber.scripps.edu) - -These style choices compute force field formulas that are consistent -with common options in CHARMM or AMBER. See each command's -documentation for the formula it computes. - -"bond_style"_bond_harmonic.html harmonic -"angle_style"_angle_charmm.html charmm -"dihedral_style"_dihedral_charmm.html charmmfsh -"dihedral_style"_dihedral_charmm.html charmm -"pair_style"_pair_charmm.html lj/charmmfsw/coul/charmmfsh -"pair_style"_pair_charmm.html lj/charmmfsw/coul/long -"pair_style"_pair_charmm.html lj/charmm/coul/charmm -"pair_style"_pair_charmm.html lj/charmm/coul/charmm/implicit -"pair_style"_pair_charmm.html lj/charmm/coul/long :ul - -"special_bonds"_special_bonds.html charmm -"special_bonds"_special_bonds.html amber :ul - -NOTE: For CHARMM, newer {charmmfsw} or {charmmfsh} styles were -released in March 2017. We recommend they be used instead of the -older {charmm} styles. See discussion of the differences on the "pair -charmm"_pair_charmm.html and "dihedral charmm"_dihedral_charmm.html -doc pages. - -DREIDING is a generic force field developed by the "Goddard -group"_http://www.wag.caltech.edu at Caltech and is useful for -predicting structures and dynamics of organic, biological and -main-group inorganic molecules. The philosophy in DREIDING is to use -general force constants and geometry parameters based on simple -hybridization considerations, rather than individual force constants -and geometric parameters that depend on the particular combinations of -atoms involved in the bond, angle, or torsion terms. DREIDING has an -"explicit hydrogen bond term"_pair_hbond_dreiding.html to describe -interactions involving a hydrogen atom on very electronegative atoms -(N, O, F). - -See "(Mayo)"_#howto-Mayo for a description of the DREIDING force field - -These style choices compute force field formulas that are consistent -with the DREIDING force field. See each command's -documentation for the formula it computes. - -"bond_style"_bond_harmonic.html harmonic -"bond_style"_bond_morse.html morse :ul - -"angle_style"_angle_harmonic.html harmonic -"angle_style"_angle_cosine.html cosine -"angle_style"_angle_cosine_periodic.html cosine/periodic :ul - -"dihedral_style"_dihedral_charmm.html charmm -"improper_style"_improper_umbrella.html umbrella :ul - -"pair_style"_pair_buck.html buck -"pair_style"_pair_buck.html buck/coul/cut -"pair_style"_pair_buck.html buck/coul/long -"pair_style"_pair_lj.html lj/cut -"pair_style"_pair_lj.html lj/cut/coul/cut -"pair_style"_pair_lj.html lj/cut/coul/long :ul - -"pair_style"_pair_hbond_dreiding.html hbond/dreiding/lj -"pair_style"_pair_hbond_dreiding.html hbond/dreiding/morse :ul - -"special_bonds"_special_bonds.html dreiding :ul - -:line - -6.4 Running multiple simulations from one input script :link(howto_4),h4 - -This can be done in several ways. See the documentation for -individual commands for more details on how these examples work. - -If "multiple simulations" means continue a previous simulation for -more timesteps, then you simply use the "run"_run.html command -multiple times. For example, this script - -units lj -atom_style atomic -read_data data.lj -run 10000 -run 10000 -run 10000 -run 10000 -run 10000 :pre - -would run 5 successive simulations of the same system for a total of -50,000 timesteps. - -If you wish to run totally different simulations, one after the other, -the "clear"_clear.html command can be used in between them to -re-initialize LAMMPS. For example, this script - -units lj -atom_style atomic -read_data data.lj -run 10000 -clear -units lj -atom_style atomic -read_data data.lj.new -run 10000 :pre - -would run 2 independent simulations, one after the other. - -For large numbers of independent simulations, you can use -"variables"_variable.html and the "next"_next.html and -"jump"_jump.html commands to loop over the same input script -multiple times with different settings. For example, this -script, named in.polymer - -variable d index run1 run2 run3 run4 run5 run6 run7 run8 -shell cd $d -read_data data.polymer -run 10000 -shell cd .. -clear -next d -jump in.polymer :pre - -would run 8 simulations in different directories, using a data.polymer -file in each directory. The same concept could be used to run the -same system at 8 different temperatures, using a temperature variable -and storing the output in different log and dump files, for example - -variable a loop 8 -variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15 -log log.$a -read data.polymer -velocity all create $t 352839 -fix 1 all nvt $t $t 100.0 -dump 1 all atom 1000 dump.$a -run 100000 -clear -next t -next a -jump in.polymer :pre - -All of the above examples work whether you are running on 1 or -multiple processors, but assumed you are running LAMMPS on a single -partition of processors. LAMMPS can be run on multiple partitions via -the "-partition" command-line switch as described in "this -section"_Section_start.html#start_6 of the manual. - -In the last 2 examples, if LAMMPS were run on 3 partitions, the same -scripts could be used if the "index" and "loop" variables were -replaced with {universe}-style variables, as described in the -"variable"_variable.html command. Also, the "next t" and "next a" -commands would need to be replaced with a single "next a t" command. -With these modifications, the 8 simulations of each script would run -on the 3 partitions one after the other until all were finished. -Initially, 3 simulations would be started simultaneously, one on each -partition. When one finished, that partition would then start -the 4th simulation, and so forth, until all 8 were completed. - -:line - -6.5 Multi-replica simulations :link(howto_5),h4 - -Several commands in LAMMPS run mutli-replica simulations, meaning -that multiple instances (replicas) of your simulation are run -simultaneously, with small amounts of data exchanged between replicas -periodically. - -These are the relevant commands: - -"neb"_neb.html for nudged elastic band calculations -"prd"_prd.html for parallel replica dynamics -"tad"_tad.html for temperature accelerated dynamics -"temper"_temper.html for parallel tempering -"fix pimd"_fix_pimd.html for path-integral molecular dynamics (PIMD) :ul - -NEB is a method for finding transition states and barrier energies. -PRD and TAD are methods for performing accelerated dynamics to find -and perform infrequent events. Parallel tempering or replica exchange -runs different replicas at a series of temperature to facilitate -rare-event sampling. - -These commands can only be used if LAMMPS was built with the REPLICA -package. See the "Making LAMMPS"_Section_start.html#start_3 section -for more info on packages. - -PIMD runs different replicas whose individual particles are coupled -together by springs to model a system or ring-polymers. - -This commands can only be used if LAMMPS was built with the USER-MISC -package. See the "Making LAMMPS"_Section_start.html#start_3 section -for more info on packages. - -In all these cases, you must run with one or more processors per -replica. The processors assigned to each replica are determined at -run-time by using the "-partition command-line -switch"_Section_start.html#start_6 to launch LAMMPS on multiple -partitions, which in this context are the same as replicas. E.g. -these commands: - -mpirun -np 16 lmp_linux -partition 8x2 -in in.temper -mpirun -np 8 lmp_linux -partition 8x1 -in in.neb :pre - -would each run 8 replicas, on either 16 or 8 processors. Note the use -of the "-in command-line switch"_Section_start.html#start_6 to specify -the input script which is required when running in multi-replica mode. - -Also note that with MPI installed on a machine (e.g. your desktop), -you can run on more (virtual) processors than you have physical -processors. Thus the above commands could be run on a -single-processor (or few-processor) desktop so that you can run -a multi-replica simulation on more replicas than you have -physical processors. - -:line - -6.6 Granular models :link(howto_6),h4 - -Granular system are composed of spherical particles with a diameter, -as opposed to point particles. This means they have an angular -velocity and torque can be imparted to them to cause them to rotate. - -To run a simulation of a granular model, you will want to use -the following commands: - -"atom_style sphere"_atom_style.html -"fix nve/sphere"_fix_nve_sphere.html -"fix gravity"_fix_gravity.html :ul - -This compute - -"compute erotate/sphere"_compute_erotate_sphere.html :ul - -calculates rotational kinetic energy which can be "output with -thermodynamic info"_Section_howto.html#howto_15. - -Use one of these 3 pair potentials, which compute forces and torques -between interacting pairs of particles: - -"pair_style"_pair_style.html gran/history -"pair_style"_pair_style.html gran/no_history -"pair_style"_pair_style.html gran/hertzian :ul - -These commands implement fix options specific to granular systems: - -"fix freeze"_fix_freeze.html -"fix pour"_fix_pour.html -"fix viscous"_fix_viscous.html -"fix wall/gran"_fix_wall_gran.html :ul - -The fix style {freeze} zeroes both the force and torque of frozen -atoms, and should be used for granular system instead of the fix style -{setforce}. - -For computational efficiency, you can eliminate needless pairwise -computations between frozen atoms by using this command: - -"neigh_modify"_neigh_modify.html exclude :ul - -NOTE: By default, for 2d systems, granular particles are still modeled -as 3d spheres, not 2d discs (circles), meaning their moment of inertia -will be the same as in 3d. If you wish to model granular particles in -2d as 2d discs, see the note on this topic in "Section -6.2"_Section_howto.html#howto_2, where 2d simulations are discussed. - -:line - -6.7 TIP3P water model :link(howto_7),h4 - -The TIP3P water model as implemented in CHARMM -"(MacKerell)"_#howto-MacKerell specifies a 3-site rigid water molecule with -charges and Lennard-Jones parameters assigned to each of the 3 atoms. -In LAMMPS the "fix shake"_fix_shake.html command can be used to hold -the two O-H bonds and the H-O-H angle rigid. A bond style of -{harmonic} and an angle style of {harmonic} or {charmm} should also be -used. - -These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid TIP3P-CHARMM model with a -cutoff. The K values can be used if a flexible TIP3P model (without -fix shake) is desired. If the LJ epsilon and sigma for HH and OH are -set to 0.0, it corresponds to the original 1983 TIP3P model -"(Jorgensen)"_#Jorgensen1. - -O mass = 15.9994 -H mass = 1.008 -O charge = -0.834 -H charge = 0.417 -LJ epsilon of OO = 0.1521 -LJ sigma of OO = 3.1507 -LJ epsilon of HH = 0.0460 -LJ sigma of HH = 0.4000 -LJ epsilon of OH = 0.0836 -LJ sigma of OH = 1.7753 -K of OH bond = 450 -r0 of OH bond = 0.9572 -K of HOH angle = 55 -theta of HOH angle = 104.52 :all(b),p - -These are the parameters to use for TIP3P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS), see "(Price)"_#Price1 for -details: - -O mass = 15.9994 -H mass = 1.008 -O charge = -0.830 -H charge = 0.415 -LJ epsilon of OO = 0.102 -LJ sigma of OO = 3.188 -LJ epsilon, sigma of OH, HH = 0.0 -K of OH bond = 450 -r0 of OH bond = 0.9572 -K of HOH angle = 55 -theta of HOH angle = 104.52 :all(b),p - -Wikipedia also has a nice article on "water -models"_http://en.wikipedia.org/wiki/Water_model. - -:line - -6.8 TIP4P water model :link(howto_8),h4 - -The four-point TIP4P rigid water model extends the traditional -three-point TIP3P model by adding an additional site, usually -massless, where the charge associated with the oxygen atom is placed. -This site M is located at a fixed distance away from the oxygen along -the bisector of the HOH bond angle. A bond style of {harmonic} and an -angle style of {harmonic} or {charmm} should also be used. - -A TIP4P model is run with LAMMPS using either this command -for a cutoff model: - -"pair_style lj/cut/tip4p/cut"_pair_lj.html - -or these two commands for a long-range model: - -"pair_style lj/cut/tip4p/long"_pair_lj.html -"kspace_style pppm/tip4p"_kspace_style.html :ul - -For both models, the bond lengths and bond angles should be held fixed -using the "fix shake"_fix_shake.html command. - -These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid TIP4P model with a cutoff -"(Jorgensen)"_#Jorgensen1. Note that the OM distance is specified in -the "pair_style"_pair_style.html command, not as part of the pair -coefficients. - -O mass = 15.9994 -H mass = 1.008 -O charge = -1.040 -H charge = 0.520 -r0 of OH bond = 0.9572 -theta of HOH angle = 104.52 -OM distance = 0.15 -LJ epsilon of O-O = 0.1550 -LJ sigma of O-O = 3.1536 -LJ epsilon, sigma of OH, HH = 0.0 -Coulombic cutoff = 8.5 :all(b),p - -For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005); -http://dx.doi.org/10.1063/1.1931662) these values can be used: - -O mass = 15.9994 -H mass = 1.008 -O charge = -1.1794 -H charge = 0.5897 -r0 of OH bond = 0.9572 -theta of HOH angle = 104.52 -OM distance = 0.1577 -LJ epsilon of O-O = 0.21084 -LJ sigma of O-O = 3.1668 -LJ epsilon, sigma of OH, HH = 0.0 -Coulombic cutoff = 8.5 :all(b),p - -For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005); -http://dx.doi.org/10.1063/1.2121687), these values can be used: - -O mass = 15.9994 -H mass = 1.008 -O charge = -1.1128 -H charge = 0.5564 -r0 of OH bond = 0.9572 -theta of HOH angle = 104.52 -OM distance = 0.1546 -LJ epsilon of O-O = 0.1852 -LJ sigma of O-O = 3.1589 -LJ epsilon, sigma of OH, HH = 0.0 -Coulombic cutoff = 8.5 :all(b),p - -These are the parameters to use for TIP4P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS): - -O mass = 15.9994 -H mass = 1.008 -O charge = -1.0484 -H charge = 0.5242 -r0 of OH bond = 0.9572 -theta of HOH angle = 104.52 -OM distance = 0.1250 -LJ epsilon of O-O = 0.16275 -LJ sigma of O-O = 3.16435 -LJ epsilon, sigma of OH, HH = 0.0 :all(b),p - -Note that the when using the TIP4P pair style, the neighbor list -cutoff for Coulomb interactions is effectively extended by a distance -2 * (OM distance), to account for the offset distance of the -fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb -cutoff + 2*(OM distance), to shrink the size of the neighbor list. -This leads to slightly larger cost for the long-range calculation, so -you can test the trade-off for your model. The OM distance and the LJ -and Coulombic cutoffs are set in the "pair_style -lj/cut/tip4p/long"_pair_lj.html command. - -Wikipedia also has a nice article on "water -models"_http://en.wikipedia.org/wiki/Water_model. - -:line - -6.9 SPC water model :link(howto_9),h4 - -The SPC water model specifies a 3-site rigid water molecule with -charges and Lennard-Jones parameters assigned to each of the 3 atoms. -In LAMMPS the "fix shake"_fix_shake.html command can be used to hold -the two O-H bonds and the H-O-H angle rigid. A bond style of -{harmonic} and an angle style of {harmonic} or {charmm} should also be -used. - -These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid SPC model. - -O mass = 15.9994 -H mass = 1.008 -O charge = -0.820 -H charge = 0.410 -LJ epsilon of OO = 0.1553 -LJ sigma of OO = 3.166 -LJ epsilon, sigma of OH, HH = 0.0 -r0 of OH bond = 1.0 -theta of HOH angle = 109.47 :all(b),p - -Note that as originally proposed, the SPC model was run with a 9 -Angstrom cutoff for both LJ and Coulommbic terms. It can also be used -with long-range Coulombics (Ewald or PPPM in LAMMPS), without changing -any of the parameters above, though it becomes a different model in -that mode of usage. - -The SPC/E (extended) water model is the same, except -the partial charge assignments change: - -O charge = -0.8476 -H charge = 0.4238 :all(b),p - -See the "(Berendsen)"_#howto-Berendsen reference for more details on both -the SPC and SPC/E models. - -Wikipedia also has a nice article on "water -models"_http://en.wikipedia.org/wiki/Water_model. - -:line - -6.10 Coupling LAMMPS to other codes :link(howto_10),h4 - -LAMMPS is designed to allow it to be coupled to other codes. For -example, a quantum mechanics code might compute forces on a subset of -atoms and pass those forces to LAMMPS. Or a continuum finite element -(FE) simulation might use atom positions as boundary conditions on FE -nodal points, compute a FE solution, and return interpolated forces on -MD atoms. - -LAMMPS can be coupled to other codes in at least 3 ways. Each has -advantages and disadvantages, which you'll have to think about in the -context of your application. - -(1) Define a new "fix"_fix.html command that calls the other code. In -this scenario, LAMMPS is the driver code. During its timestepping, -the fix is invoked, and can make library calls to the other code, -which has been linked to LAMMPS as a library. This is the way the -"POEMS"_poems package that performs constrained rigid-body motion on -groups of atoms is hooked to LAMMPS. See the "fix -poems"_fix_poems.html command for more details. See the -"Modify"_Modify.html doc page for info on how to add a new fix to -LAMMPS. - -:link(poems,http://www.rpi.edu/~anderk5/lab) - -(2) Define a new LAMMPS command that calls the other code. This is -conceptually similar to method (1), but in this case LAMMPS and the -other code are on a more equal footing. Note that now the other code -is not called during the timestepping of a LAMMPS run, but between -runs. The LAMMPS input script can be used to alternate LAMMPS runs -with calls to the other code, invoked via the new command. The -"run"_run.html command facilitates this with its {every} option, which -makes it easy to run a few steps, invoke the command, run a few steps, -invoke the command, etc. - -In this scenario, the other code can be called as a library, as in -(1), or it could be a stand-alone code, invoked by a system() call -made by the command (assuming your parallel machine allows one or more -processors to start up another program). In the latter case the -stand-alone code could communicate with LAMMPS thru files that the -command writes and reads. - -See the "Modify"_Modify.html doc page for how to add a new command to -LAMMPS. - -(3) Use LAMMPS as a library called by another code. In this case the -other code is the driver and calls LAMMPS as needed. Or a wrapper -code could link and call both LAMMPS and another code as libraries. -Again, the "run"_run.html command has options that allow it to be -invoked with minimal overhead (no setup or clean-up) if you wish to do -multiple short runs, driven by another program. - -Examples of driver codes that call LAMMPS as a library are included in -the examples/COUPLE directory of the LAMMPS distribution; see -examples/COUPLE/README for more details: - -simple: simple driver programs in C++ and C which invoke LAMMPS as a -library :ulb,l - -lammps_quest: coupling of LAMMPS and "Quest"_quest, to run classical -MD with quantum forces calculated by a density functional code :l - -lammps_spparks: coupling of LAMMPS and "SPPARKS"_spparks, to couple -a kinetic Monte Carlo model for grain growth using MD to calculate -strain induced across grain boundaries :l -:ule - -:link(quest,http://dft.sandia.gov/Quest) -:link(spparks,http://www.sandia.gov/~sjplimp/spparks.html) - -"This section"_Section_start.html#start_5 of the documentation -describes how to build LAMMPS as a library. Once this is done, you -can interface with LAMMPS either via C++, C, Fortran, or Python (or -any other language that supports a vanilla C-like interface). For -example, from C++ you could create one (or more) "instances" of -LAMMPS, pass it an input script to process, or execute individual -commands, all by invoking the correct class methods in LAMMPS. From C -or Fortran you can make function calls to do the same things. See the -"Python"_Python.html doc page for a description of the Python wrapper -provided with LAMMPS that operates through the LAMMPS library -interface. - -The files src/library.cpp and library.h contain the C-style interface -to LAMMPS. See "Section 6.19"_Section_howto.html#howto_19 of the -manual for a description of the interface and how to extend it for -your needs. - -Note that the lammps_open() function that creates an instance of -LAMMPS takes an MPI communicator as an argument. This means that -instance of LAMMPS will run on the set of processors in the -communicator. Thus the calling code can run LAMMPS on all or a subset -of processors. For example, a wrapper script might decide to -alternate between LAMMPS and another code, allowing them both to run -on all the processors. Or it might allocate half the processors to -LAMMPS and half to the other code and run both codes simultaneously -before syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations. - -:line - -6.11 Visualizing LAMMPS snapshots :link(howto_11),h4 - -LAMMPS itself does not do visualization, but snapshots from LAMMPS -simulations can be visualized (and analyzed) in a variety of ways. - -LAMMPS snapshots are created by the "dump"_dump.html command which can -create files in several formats. The native LAMMPS dump format is a -text file (see "dump atom" or "dump custom") which can be visualized -by several popular visualization tools. The "dump -image"_dump_image.html and "dump movie"_dump_image.html styles can -output internally rendered images and convert a sequence of them to a -movie during the MD run. Several programs included with LAMMPS as -auxiliary tools can convert between LAMMPS format files and other -formats. See the "Tools"_Tools.html doc page for details. - -A Python-based toolkit distributed by our group can read native LAMMPS -dump files, including custom dump files with additional columns of -user-specified atom information, and convert them to various formats -or pipe them into visualization software directly. See the "Pizza.py -WWW site"_pizza for details. Specifically, Pizza.py can convert -LAMMPS dump files into PDB, XYZ, "Ensight"_ensight, and VTK formats. -Pizza.py can pipe LAMMPS dump files directly into the Raster3d and -RasMol visualization programs. Pizza.py has tools that do interactive -3d OpenGL visualization and one that creates SVG images of dump file -snapshots. - -:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) -:link(ensight,http://www.ensight.com) -:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A) - -:line - -6.12 Triclinic (non-orthogonal) simulation boxes :link(howto_12),h4 - -By default, LAMMPS uses an orthogonal simulation box to encompass the -particles. The "boundary"_boundary.html command sets the boundary -conditions of the box (periodic, non-periodic, etc). The orthogonal -box has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors -starting from the origin given by [a] = (xhi-xlo,0,0); [b] = -(0,yhi-ylo,0); [c] = (0,0,zhi-zlo). The 6 parameters -(xlo,xhi,ylo,yhi,zlo,zhi) are defined at the time the simulation box -is created, e.g. by the "create_box"_create_box.html or -"read_data"_read_data.html or "read_restart"_read_restart.html -commands. Additionally, LAMMPS defines box size parameters lx,ly,lz -where lx = xhi-xlo, and similarly in the y and z dimensions. The 6 -parameters, as well as lx,ly,lz, can be output via the "thermo_style -custom"_thermo_style.html command. - -LAMMPS also allows simulations to be performed in triclinic -(non-orthogonal) simulation boxes shaped as a parallelepiped with -triclinic symmetry. The parallelepiped has its "origin" at -(xlo,ylo,zlo) and is defined by 3 edge vectors starting from the -origin given by [a] = (xhi-xlo,0,0); [b] = (xy,yhi-ylo,0); [c] = -(xz,yz,zhi-zlo). {xy,xz,yz} can be 0.0 or positive or negative values -and are called "tilt factors" because they are the amount of -displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped. In LAMMPS the triclinic -simulation box edge vectors [a], [b], and [c] cannot be arbitrary -vectors. As indicated, [a] must lie on the positive x axis. [b] must -lie in the xy plane, with strictly positive y component. [c] may have -any orientation with strictly positive z component. The requirement -that [a], [b], and [c] have strictly positive x, y, and z components, -respectively, ensures that [a], [b], and [c] form a complete -right-handed basis. These restrictions impose no loss of generality, -since it is possible to rotate/invert any set of 3 crystal basis -vectors so that they conform to the restrictions. - -For example, assume that the 3 vectors [A],[B],[C] are the edge -vectors of a general parallelepiped, where there is no restriction on -[A],[B],[C] other than they form a complete right-handed basis i.e. -[A] x [B] . [C] > 0. The equivalent LAMMPS [a],[b],[c] are a linear -rotation of [A], [B], and [C] and can be computed as follows: - -:c,image(Eqs/transform.jpg) - -where A = | [A] | indicates the scalar length of [A]. The hat symbol (^) -indicates the corresponding unit vector. {beta} and {gamma} are angles -between the vectors described below. Note that by construction, -[a], [b], and [c] have strictly positive x, y, and z components, respectively. -If it should happen that -[A], [B], and [C] form a left-handed basis, then the above equations -are not valid for [c]. In this case, it is necessary -to first apply an inversion. This can be achieved -by interchanging two basis vectors or by changing the sign of one of them. - -For consistency, the same rotation/inversion applied to the basis vectors -must also be applied to atom positions, velocities, -and any other vector quantities. -This can be conveniently achieved by first converting to -fractional coordinates in the -old basis and then converting to distance coordinates in the new basis. -The transformation is given by the following equation: - -:c,image(Eqs/rotate.jpg) - -where {V} is the volume of the box, [X] is the original vector quantity and -[x] is the vector in the LAMMPS basis. - -There is no requirement that a triclinic box be periodic in any -dimension, though it typically should be in at least the 2nd dimension -of the tilt (y in xy) if you want to enforce a shift in periodic -boundary conditions across that boundary. Some commands that work -with triclinic boxes, e.g. the "fix deform"_fix_deform.html and "fix -npt"_fix_nh.html commands, require periodicity or non-shrink-wrap -boundary conditions in specific dimensions. See the command doc pages -for details. - -The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the -time the simulation box is created. This happens in one of 3 ways. -If the "create_box"_create_box.html command is used with a region of -style {prism}, then a triclinic box is setup. See the -"region"_region.html command for details. If the -"read_data"_read_data.html command is used to define the simulation -box, and the header of the data file contains a line with the "xy xz -yz" keyword, then a triclinic box is setup. See the -"read_data"_read_data.html command for details. Finally, if the -"read_restart"_read_restart.html command reads a restart file which -was written from a simulation using a triclinic box, then a triclinic -box will be setup for the restarted simulation. - -Note that you can define a triclinic box with all 3 tilt factors = -0.0, so that it is initially orthogonal. This is necessary if the box -will become non-orthogonal, e.g. due to the "fix npt"_fix_nh.html or -"fix deform"_fix_deform.html commands. Alternatively, you can use the -"change_box"_change_box.html command to convert a simulation box from -orthogonal to triclinic and vice versa. - -As with orthogonal boxes, LAMMPS defines triclinic box size parameters -lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions. -The 9 parameters, as well as lx,ly,lz, can be output via the -"thermo_style custom"_thermo_style.html command. - -To avoid extremely tilted boxes (which would be computationally -inefficient), LAMMPS normally requires that no tilt factor can skew -the box more than half the distance of the parallel box length, which -is the 1st dimension in the tilt factor (x for xz). This is required -both when the simulation box is created, e.g. via the -"create_box"_create_box.html or "read_data"_read_data.html commands, -as well as when the box shape changes dynamically during a simulation, -e.g. via the "fix deform"_fix_deform.html or "fix npt"_fix_nh.html -commands. - -For example, if xlo = 2 and xhi = 12, then the x box length is 10 and -the xy tilt factor must be between -5 and 5. Similarly, both xz and -yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is -not a limitation, since if the maximum tilt factor is 5 (as in this -example), then configurations with tilt = ..., -15, -5, 5, 15, 25, -... are geometrically all equivalent. If the box tilt exceeds this -limit during a dynamics run (e.g. via the "fix deform"_fix_deform.html -command), then the box is "flipped" to an equivalent shape with a tilt -factor within the bounds, so the run can continue. See the "fix -deform"_fix_deform.html doc page for further details. - -One exception to this rule is if the 1st dimension in the tilt -factor (x for xy) is non-periodic. In that case, the limits on the -tilt factor are not enforced, since flipping the box in that dimension -does not change the atom positions due to non-periodicity. In this -mode, if you tilt the system to extreme angles, the simulation will -simply become inefficient, due to the highly skewed simulation box. - -The limitation on not creating a simulation box with a tilt factor -skewing the box more than half the distance of the parallel box length -can be overridden via the "box"_box.html command. Setting the {tilt} -keyword to {large} allows any tilt factors to be specified. - -Box flips that may occur using the "fix deform"_fix_deform.html or -"fix npt"_fix_nh.html commands can be turned off using the {flip no} -option with either of the commands. - -Note that if a simulation box has a large tilt factor, LAMMPS will run -less efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor's irregular-shaped sub-domain. -For extreme values of tilt, LAMMPS may also lose atoms and generate an -error. - -Triclinic crystal structures are often defined using three lattice -constants {a}, {b}, and {c}, and three angles {alpha}, {beta} and -{gamma}. Note that in this nomenclature, the a, b, and c lattice -constants are the scalar lengths of the edge vectors [a], [b], and [c] -defined above. The relationship between these 6 quantities -(a,b,c,alpha,beta,gamma) and the LAMMPS box sizes (lx,ly,lz) = -(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows: - -:c,image(Eqs/box.jpg) - -The inverse relationship can be written as follows: - -:c,image(Eqs/box_inverse.jpg) - -The values of {a}, {b}, {c} , {alpha}, {beta} , and {gamma} can be printed -out or accessed by computes using the -"thermo_style custom"_thermo_style.html keywords -{cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta}, {cellgamma}, -respectively. - -As discussed on the "dump"_dump.html command doc page, when the BOX -BOUNDS for a snapshot is written to a dump file for a triclinic box, -an orthogonal bounding box which encloses the triclinic simulation box -is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic -box, formatted as follows: - -ITEM: BOX BOUNDS xy xz yz -xlo_bound xhi_bound xy -ylo_bound yhi_bound xz -zlo_bound zhi_bound yz :pre - -This bounding box is convenient for many visualization programs and is -calculated from the 9 triclinic box parameters -(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows: - -xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz) -xhi_bound = xhi + MAX(0.0,xy,xz,xy+xz) -ylo_bound = ylo + MIN(0.0,yz) -yhi_bound = yhi + MAX(0.0,yz) -zlo_bound = zlo -zhi_bound = zhi :pre - -These formulas can be inverted if you need to convert the bounding box -back into the triclinic box parameters, e.g. xlo = xlo_bound - -MIN(0.0,xy,xz,xy+xz). - -One use of triclinic simulation boxes is to model solid-state crystals -with triclinic symmetry. The "lattice"_lattice.html command can be -used with non-orthogonal basis vectors to define a lattice that will -tile a triclinic simulation box via the -"create_atoms"_create_atoms.html command. - -A second use is to run Parinello-Rahman dynamics via the "fix -npt"_fix_nh.html command, which will adjust the xy, xz, yz tilt -factors to compensate for off-diagonal components of the pressure -tensor. The analog for an "energy minimization"_minimize.html is -the "fix box/relax"_fix_box_relax.html command. - -A third use is to shear a bulk solid to study the response of the -material. The "fix deform"_fix_deform.html command can be used for -this purpose. It allows dynamic control of the xy, xz, yz tilt -factors as a simulation runs. This is discussed in the next section -on non-equilibrium MD (NEMD) simulations. - -:line - -6.13 NEMD simulations :link(howto_13),h4 - -Non-equilibrium molecular dynamics or NEMD simulations are typically -used to measure a fluid's rheological properties such as viscosity. -In LAMMPS, such simulations can be performed by first setting up a -non-orthogonal simulation box (see the preceding Howto section). - -A shear strain can be applied to the simulation box at a desired -strain rate by using the "fix deform"_fix_deform.html command. The -"fix nvt/sllod"_fix_nvt_sllod.html command can be used to thermostat -the sheared fluid and integrate the SLLOD equations of motion for the -system. Fix nvt/sllod uses "compute -temp/deform"_compute_temp_deform.html to compute a thermal temperature -by subtracting out the streaming velocity of the shearing atoms. The -velocity profile or other properties of the fluid can be monitored via -the "fix ave/chunk"_fix_ave_chunk.html command. - -As discussed in the previous section on non-orthogonal simulation -boxes, the amount of tilt or skew that can be applied is limited by -LAMMPS for computational efficiency to be 1/2 of the parallel box -length. However, "fix deform"_fix_deform.html can continuously strain -a box by an arbitrary amount. As discussed in the "fix -deform"_fix_deform.html command, when the tilt value reaches a limit, -the box is flipped to the opposite limit which is an equivalent tiling -of periodic space. The strain rate can then continue to change as -before. In a long NEMD simulation these box re-shaping events may -occur many times. - -In a NEMD simulation, the "remap" option of "fix -deform"_fix_deform.html should be set to "remap v", since that is what -"fix nvt/sllod"_fix_nvt_sllod.html assumes to generate a velocity -profile consistent with the applied shear strain rate. - -An alternative method for calculating viscosities is provided via the -"fix viscosity"_fix_viscosity.html command. - -NEMD simulations can also be used to measure transport properties of a fluid -through a pore or channel. Simulations of steady-state flow can be performed -using the "fix flow/gauss"_fix_flow_gauss.html command. - -:line - -6.14 Finite-size spherical and aspherical particles :link(howto_14),h4 - -Typical MD models treat atoms or particles as point masses. Sometimes -it is desirable to have a model with finite-size particles such as -spheroids or ellipsoids or generalized aspherical bodies. The -difference is that such particles have a moment of inertia, rotational -energy, and angular momentum. Rotation is induced by torque coming -from interactions with other particles. - -LAMMPS has several options for running simulations with these kinds of -particles. The following aspects are discussed in turn: - -atom styles -pair potentials -time integration -computes, thermodynamics, and dump output -rigid bodies composed of finite-size particles :ul - -Example input scripts for these kinds of models are in the body, -colloid, dipole, ellipse, line, peri, pour, and tri directories of the -"examples directory"_Examples.html in the LAMMPS distribution. - -Atom styles :h4 - -There are several "atom styles"_atom_style.html that allow for -definition of finite-size particles: sphere, dipole, ellipsoid, line, -tri, peri, and body. - -The sphere style defines particles that are spheriods and each -particle can have a unique diameter and mass (or density). These -particles store an angular velocity (omega) and can be acted upon by -torque. The "set" command can be used to modify the diameter and mass -of individual particles, after then are created. - -The dipole style does not actually define finite-size particles, but -is often used in conjunction with spherical particles, via a command -like - -atom_style hybrid sphere dipole :pre - -This is because when dipoles interact with each other, they induce -torques, and a particle must be finite-size (i.e. have a moment of -inertia) in order to respond and rotate. See the "atom_style -dipole"_atom_style.html command for details. The "set" command can be -used to modify the orientation and length of the dipole moment of -individual particles, after then are created. - -The ellipsoid style defines particles that are ellipsoids and thus can -be aspherical. Each particle has a shape, specified by 3 diameters, -and mass (or density). These particles store an angular momentum and -their orientation (quaternion), and can be acted upon by torque. They -do not store an angular velocity (omega), which can be in a different -direction than angular momentum, rather they compute it as needed. -The "set" command can be used to modify the diameter, orientation, and -mass of individual particles, after then are created. It also has a -brief explanation of what quaternions are. - -The line style defines line segment particles with two end points and -a mass (or density). They can be used in 2d simulations, and they can -be joined together to form rigid bodies which represent arbitrary -polygons. - -The tri style defines triangular particles with three corner points -and a mass (or density). They can be used in 3d simulations, and they -can be joined together to form rigid bodies which represent arbitrary -particles with a triangulated surface. - -The peri style is used with "Peridynamic models"_pair_peri.html and -defines particles as having a volume, that is used internally in the -"pair_style peri"_pair_peri.html potentials. - -The body style allows for definition of particles which can represent -complex entities, such as surface meshes of discrete points, -collections of sub-particles, deformable objects, etc. The body style -is discussed in more detail on the "body"_body.html doc page. - -Note that if one of these atom styles is used (or multiple styles via -the "atom_style hybrid"_atom_style.html command), not all particles in -the system are required to be finite-size or aspherical. - -For example, in the ellipsoid style, if the 3 shape parameters are set -to the same value, the particle will be a sphere rather than an -ellipsoid. If the 3 shape parameters are all set to 0.0 or if the -diameter is set to 0.0, it will be a point particle. In the line or -tri style, if the lineflag or triflag is specified as 0, then it -will be a point particle. - -Some of the pair styles used to compute pairwise interactions between -finite-size particles also compute the correct interaction with point -particles as well, e.g. the interaction between a point particle and a -finite-size particle or between two point particles. If necessary, -"pair_style hybrid"_pair_hybrid.html can be used to insure the correct -interactions are computed for the appropriate style of interactions. -Likewise, using groups to partition particles (ellipsoids versus -spheres versus point particles) will allow you to use the appropriate -time integrators and temperature computations for each class of -particles. See the doc pages for various commands for details. - -Also note that for "2d simulations"_dimension.html, atom styles sphere -and ellipsoid still use 3d particles, rather than as circular disks or -ellipses. This means they have the same moment of inertia as the 3d -object. When temperature is computed, the correct degrees of freedom -are used for rotation in a 2d versus 3d system. - -Pair potentials :h4 - -When a system with finite-size particles is defined, the particles -will only rotate and experience torque if the force field computes -such interactions. These are the various "pair -styles"_pair_style.html that generate torque: - -"pair_style gran/history"_pair_gran.html -"pair_style gran/hertzian"_pair_gran.html -"pair_style gran/no_history"_pair_gran.html -"pair_style dipole/cut"_pair_dipole.html -"pair_style gayberne"_pair_gayberne.html -"pair_style resquared"_pair_resquared.html -"pair_style brownian"_pair_brownian.html -"pair_style lubricate"_pair_lubricate.html -"pair_style line/lj"_pair_line_lj.html -"pair_style tri/lj"_pair_tri_lj.html -"pair_style body"_pair_body.html :ul - -The granular pair styles are used with spherical particles. The -dipole pair style is used with the dipole atom style, which could be -applied to spherical or ellipsoidal particles. The GayBerne and -REsquared potentials require ellipsoidal particles, though they will -also work if the 3 shape parameters are the same (a sphere). The -Brownian and lubrication potentials are used with spherical particles. -The line, tri, and body potentials are used with line segment, -triangular, and body particles respectively. - -Time integration :h4 - -There are several fixes that perform time integration on finite-size -spherical particles, meaning the integrators update the rotational -orientation and angular velocity or angular momentum of the particles: - -"fix nve/sphere"_fix_nve_sphere.html -"fix nvt/sphere"_fix_nvt_sphere.html -"fix npt/sphere"_fix_npt_sphere.html :ul - -Likewise, there are 3 fixes that perform time integration on -ellipsoidal particles: - -"fix nve/asphere"_fix_nve_asphere.html -"fix nvt/asphere"_fix_nvt_asphere.html -"fix npt/asphere"_fix_npt_asphere.html :ul - -The advantage of these fixes is that those which thermostat the -particles include the rotational degrees of freedom in the temperature -calculation and thermostatting. The "fix langevin"_fix_langevin -command can also be used with its {omgea} or {angmom} options to -thermostat the rotational degrees of freedom for spherical or -ellipsoidal particles. Other thermostatting fixes only operate on the -translational kinetic energy of finite-size particles. - -These fixes perform constant NVE time integration on line segment, -triangular, and body particles: - -"fix nve/line"_fix_nve_line.html -"fix nve/tri"_fix_nve_tri.html -"fix nve/body"_fix_nve_body.html :ul - -Note that for mixtures of point and finite-size particles, these -integration fixes can only be used with "groups"_group.html which -contain finite-size particles. - -Computes, thermodynamics, and dump output :h4 - -There are several computes that calculate the temperature or -rotational energy of spherical or ellipsoidal particles: - -"compute temp/sphere"_compute_temp_sphere.html -"compute temp/asphere"_compute_temp_asphere.html -"compute erotate/sphere"_compute_erotate_sphere.html -"compute erotate/asphere"_compute_erotate_asphere.html :ul - -These include rotational degrees of freedom in their computation. If -you wish the thermodynamic output of temperature or pressure to use -one of these computes (e.g. for a system entirely composed of -finite-size particles), then the compute can be defined and the -"thermo_modify"_thermo_modify.html command used. Note that by default -thermodynamic quantities will be calculated with a temperature that -only includes translational degrees of freedom. See the -"thermo_style"_thermo_style.html command for details. - -These commands can be used to output various attributes of finite-size -particles: - -"dump custom"_dump.html -"compute property/atom"_compute_property_atom.html -"dump local"_dump.html -"compute body/local"_compute_body_local.html :ul - -Attributes include the dipole moment, the angular velocity, the -angular momentum, the quaternion, the torque, the end-point and -corner-point coordinates (for line and tri particles), and -sub-particle attributes of body particles. - -Rigid bodies composed of finite-size particles :h4 - -The "fix rigid"_fix_rigid.html command treats a collection of -particles as a rigid body, computes its inertia tensor, sums the total -force and torque on the rigid body each timestep due to forces on its -constituent particles, and integrates the motion of the rigid body. - -If any of the constituent particles of a rigid body are finite-size -particles (spheres or ellipsoids or line segments or triangles), then -their contribution to the inertia tensor of the body is different than -if they were point particles. This means the rotational dynamics of -the rigid body will be different. Thus a model of a dimer is -different if the dimer consists of two point masses versus two -spheroids, even if the two particles have the same mass. Finite-size -particles that experience torque due to their interaction with other -particles will also impart that torque to a rigid body they are part -of. - -See the "fix rigid" command for example of complex rigid-body models -it is possible to define in LAMMPS. - -Note that the "fix shake"_fix_shake.html command can also be used to -treat 2, 3, or 4 particles as a rigid body, but it always assumes the -particles are point masses. - -Also note that body particles cannot be modeled with the "fix -rigid"_fix_rigid.html command. Body particles are treated by LAMMPS -as single particles, though they can store internal state, such as a -list of sub-particles. Individual body partices are typically treated -as rigid bodies, and their motion integrated with a command like "fix -nve/body"_fix_nve_body.html. Interactions between pairs of body -particles are computed via a command like "pair_style -body"_pair_body.html. - -:line - -6.15 Output from LAMMPS (thermo, dumps, computes, fixes, variables) :link(howto_15),h4 - -There are four basic kinds of LAMMPS output: - -"Thermodynamic output"_thermo_style.html, which is a list -of quantities printed every few timesteps to the screen and logfile. :ulb,l - -"Dump files"_dump.html, which contain snapshots of atoms and various -per-atom values and are written at a specified frequency. :l - -Certain fixes can output user-specified quantities to files: "fix -ave/time"_fix_ave_time.html for time averaging, "fix -ave/chunk"_fix_ave_chunk.html for spatial or other averaging, and "fix -print"_fix_print.html for single-line output of -"variables"_variable.html. Fix print can also output to the -screen. :l - -"Restart files"_restart.html. :l -:ule - -A simulation prints one set of thermodynamic output and (optionally) -restart files. It can generate any number of dump files and fix -output files, depending on what "dump"_dump.html and "fix"_fix.html -commands you specify. - -As discussed below, LAMMPS gives you a variety of ways to determine -what quantities are computed and printed when the thermodynamics, -dump, or fix commands listed above perform output. Throughout this -discussion, note that users can also "add their own computes and fixes -to LAMMPS"_Modify.html which can then generate values that can then be -output with these commands. - -The following sub-sections discuss different LAMMPS command related -to output and the kind of data they operate on and produce: - -"Global/per-atom/local data"_#global -"Scalar/vector/array data"_#scalar -"Thermodynamic output"_#thermo -"Dump file output"_#dump -"Fixes that write output files"_#fixoutput -"Computes that process output quantities"_#computeoutput -"Fixes that process output quantities"_#fixprocoutput -"Computes that generate values to output"_#compute -"Fixes that generate values to output"_#fix -"Variables that generate values to output"_#variable -"Summary table of output options and data flow between commands"_#table :ul - -Global/per-atom/local data :h4,link(global) - -Various output-related commands work with three different styles of -data: global, per-atom, or local. A global datum is one or more -system-wide values, e.g. the temperature of the system. A per-atom -datum is one or more values per atom, e.g. the kinetic energy of each -atom. Local datums are calculated by each processor based on the -atoms it owns, but there may be zero or more per atom, e.g. a list of -bond distances. - -Scalar/vector/array data :h4,link(scalar) - -Global, per-atom, and local datums can each come in three kinds: a -single scalar value, a vector of values, or a 2d array of values. The -doc page for a "compute" or "fix" or "variable" that generates data -will specify both the style and kind of data it produces, e.g. a -per-atom vector. - -When a quantity is accessed, as in many of the output commands -discussed below, it can be referenced via the following bracket -notation, where ID in this case is the ID of a compute. The leading -"c_" would be replaced by "f_" for a fix, or "v_" for a variable: - -c_ID | entire scalar, vector, or array -c_ID\[I\] | one element of vector, one column of array -c_ID\[I\]\[J\] | one element of array :tb(s=|) - -In other words, using one bracket reduces the dimension of the data -once (vector -> scalar, array -> vector). Using two brackets reduces -the dimension twice (array -> scalar). Thus a command that uses -scalar values as input can typically also process elements of a vector -or array. - -Thermodynamic output :h4,link(thermo) - -The frequency and format of thermodynamic output is set by the -"thermo"_thermo.html, "thermo_style"_thermo_style.html, and -"thermo_modify"_thermo_modify.html commands. The -"thermo_style"_thermo_style.html command also specifies what values -are calculated and written out. Pre-defined keywords can be specified -(e.g. press, etotal, etc). Three additional kinds of keywords can -also be specified (c_ID, f_ID, v_name), where a "compute"_compute.html -or "fix"_fix.html or "variable"_variable.html provides the value to be -output. In each case, the compute, fix, or variable must generate -global values for input to the "thermo_style custom"_dump.html -command. - -Note that thermodynamic output values can be "extensive" or -"intensive". The former scale with the number of atoms in the system -(e.g. total energy), the latter do not (e.g. temperature). The -setting for "thermo_modify norm"_thermo_modify.html determines whether -extensive quantities are normalized or not. Computes and fixes -produce either extensive or intensive values; see their individual doc -pages for details. "Equal-style variables"_variable.html produce only -intensive values; you can include a division by "natoms" in the -formula if desired, to make an extensive calculation produce an -intensive result. - -Dump file output :h4,link(dump) - -Dump file output is specified by the "dump"_dump.html and -"dump_modify"_dump_modify.html commands. There are several -pre-defined formats (dump atom, dump xtc, etc). - -There is also a "dump custom"_dump.html format where the user -specifies what values are output with each atom. Pre-defined atom -attributes can be specified (id, x, fx, etc). Three additional kinds -of keywords can also be specified (c_ID, f_ID, v_name), where a -"compute"_compute.html or "fix"_fix.html or "variable"_variable.html -provides the values to be output. In each case, the compute, fix, or -variable must generate per-atom values for input to the "dump -custom"_dump.html command. - -There is also a "dump local"_dump.html format where the user specifies -what local values to output. A pre-defined index keyword can be -specified to enumerate the local values. Two additional kinds of -keywords can also be specified (c_ID, f_ID), where a -"compute"_compute.html or "fix"_fix.html or "variable"_variable.html -provides the values to be output. In each case, the compute or fix -must generate local values for input to the "dump local"_dump.html -command. - -Fixes that write output files :h4,link(fixoutput) - -Several fixes take various quantities as input and can write output -files: "fix ave/time"_fix_ave_time.html, "fix -ave/chunk"_fix_ave_chunk.html, "fix ave/histo"_fix_ave_histo.html, -"fix ave/correlate"_fix_ave_correlate.html, and "fix -print"_fix_print.html. - -The "fix ave/time"_fix_ave_time.html command enables direct output to -a file and/or time-averaging of global scalars or vectors. The user -specifies one or more quantities as input. These can be global -"compute"_compute.html values, global "fix"_fix.html values, or -"variables"_variable.html of any style except the atom style which -produces per-atom values. Since a variable can refer to keywords used -by the "thermo_style custom"_thermo_style.html command (like temp or -press) and individual per-atom values, a wide variety of quantities -can be time averaged and/or output in this way. If the inputs are one -or more scalar values, then the fix generate a global scalar or vector -of output. If the inputs are one or more vector values, then the fix -generates a global vector or array of output. The time-averaged -output of this fix can also be used as input to other output commands. - -The "fix ave/chunk"_fix_ave_chunk.html command enables direct output -to a file of chunk-averaged per-atom quantities like those output in -dump files. Chunks can represent spatial bins or other collections of -atoms, e.g. individual molecules. The per-atom quantities can be atom -density (mass or number) or atom attributes such as position, -velocity, force. They can also be per-atom quantities calculated by a -"compute"_compute.html, by a "fix"_fix.html, or by an atom-style -"variable"_variable.html. The chunk-averaged output of this fix can -also be used as input to other output commands. - -The "fix ave/histo"_fix_ave_histo.html command enables direct output -to a file of histogrammed quantities, which can be global or per-atom -or local quantities. The histogram output of this fix can also be -used as input to other output commands. - -The "fix ave/correlate"_fix_ave_correlate.html command enables direct -output to a file of time-correlated quantities, which can be global -values. The correlation matrix output of this fix can also be used as -input to other output commands. - -The "fix print"_fix_print.html command can generate a line of output -written to the screen and log file or to a separate file, periodically -during a running simulation. The line can contain one or more -"variable"_variable.html values for any style variable except the -vector or atom styles). As explained above, variables themselves can -contain references to global values generated by "thermodynamic -keywords"_thermo_style.html, "computes"_compute.html, -"fixes"_fix.html, or other "variables"_variable.html, or to per-atom -values for a specific atom. Thus the "fix print"_fix_print.html -command is a means to output a wide variety of quantities separate -from normal thermodynamic or dump file output. - -Computes that process output quantities :h4,link(computeoutput) - -The "compute reduce"_compute_reduce.html and "compute -reduce/region"_compute_reduce.html commands take one or more per-atom -or local vector quantities as inputs and "reduce" them (sum, min, max, -ave) to scalar quantities. These are produced as output values which -can be used as input to other output commands. - -The "compute slice"_compute_slice.html command take one or more global -vector or array quantities as inputs and extracts a subset of their -values to create a new vector or array. These are produced as output -values which can be used as input to other output commands. - -The "compute property/atom"_compute_property_atom.html command takes a -list of one or more pre-defined atom attributes (id, x, fx, etc) and -stores the values in a per-atom vector or array. These are produced -as output values which can be used as input to other output commands. -The list of atom attributes is the same as for the "dump -custom"_dump.html command. - -The "compute property/local"_compute_property_local.html command takes -a list of one or more pre-defined local attributes (bond info, angle -info, etc) and stores the values in a local vector or array. These -are produced as output values which can be used as input to other -output commands. - -Fixes that process output quantities :h4,link(fixprocoutput) - -The "fix vector"_fix_vector.html command can create global vectors as -output from global scalars as input, accumulating them one element at -a time. - -The "fix ave/atom"_fix_ave_atom.html command performs time-averaging -of per-atom vectors. The per-atom quantities can be atom attributes -such as position, velocity, force. They can also be per-atom -quantities calculated by a "compute"_compute.html, by a -"fix"_fix.html, or by an atom-style "variable"_variable.html. The -time-averaged per-atom output of this fix can be used as input to -other output commands. - -The "fix store/state"_fix_store_state.html command can archive one or -more per-atom attributes at a particular time, so that the old values -can be used in a future calculation or output. The list of atom -attributes is the same as for the "dump custom"_dump.html command, -including per-atom quantities calculated by a "compute"_compute.html, -by a "fix"_fix.html, or by an atom-style "variable"_variable.html. -The output of this fix can be used as input to other output commands. - -Computes that generate values to output :h4,link(compute) - -Every "compute"_compute.html in LAMMPS produces either global or -per-atom or local values. The values can be scalars or vectors or -arrays of data. These values can be output using the other commands -described in this section. The doc page for each compute command -describes what it produces. Computes that produce per-atom or local -values have the word "atom" or "local" in their style name. Computes -without the word "atom" or "local" produce global values. - -Fixes that generate values to output :h4,link(fix) - -Some "fixes"_fix.html in LAMMPS produces either global or per-atom or -local values which can be accessed by other commands. The values can -be scalars or vectors or arrays of data. These values can be output -using the other commands described in this section. The doc page for -each fix command tells whether it produces any output quantities and -describes them. - -Variables that generate values to output :h4,link(variable) - -"Variables"_variable.html defined in an input script can store one or -more strings. But equal-style, vector-style, and atom-style or -atomfile-style variables generate a global scalar value, global vector -or values, or a per-atom vector, respectively, when accessed. The -formulas used to define these variables can contain references to the -thermodynamic keywords and to global and per-atom data generated by -computes, fixes, and other variables. The values generated by -variables can be used as input to and thus output by the other -commands described in this section. - -Summary table of output options and data flow between commands :h4,link(table) - -This table summarizes the various commands that can be used for -generating output from LAMMPS. Each command produces output data of -some kind and/or writes data to a file. Most of the commands can take -data from other commands as input. Thus you can link many of these -commands together in pipeline form, where data produced by one command -is used as input to another command and eventually written to the -screen or to a file. Note that to hook two commands together the -output and input data types must match, e.g. global/per-atom/local -data and scalar/vector/array data. - -Also note that, as described above, when a command takes a scalar as -input, that could be an element of a vector or array. Likewise a -vector input could be a column of an array. - -Command: Input: Output: -"thermo_style custom"_thermo_style.html: global scalars: screen, log file: -"dump custom"_dump.html: per-atom vectors: dump file: -"dump local"_dump.html: local vectors: dump file: -"fix print"_fix_print.html: global scalar from variable: screen, file: -"print"_print.html: global scalar from variable: screen: -"computes"_compute.html: N/A: global/per-atom/local scalar/vector/array: -"fixes"_fix.html: N/A: global/per-atom/local scalar/vector/array: -"variables"_variable.html: global scalars and vectors, per-atom vectors: global scalar and vector, per-atom vector: -"compute reduce"_compute_reduce.html: per-atom/local vectors: global scalar/vector: -"compute slice"_compute_slice.html: global vectors/arrays: global vector/array: -"compute property/atom"_compute_property_atom.html: per-atom vectors: per-atom vector/array: -"compute property/local"_compute_property_local.html: local vectors: local vector/array: -"fix vector"_fix_vector.html: global scalars: global vector: -"fix ave/atom"_fix_ave_atom.html: per-atom vectors: per-atom vector/array: -"fix ave/time"_fix_ave_time.html: global scalars/vectors: global scalar/vector/array, file: -"fix ave/chunk"_fix_ave_chunk.html: per-atom vectors: global array, file: -"fix ave/histo"_fix_ave_histo.html: global/per-atom/local scalars and vectors: global array, file: -"fix ave/correlate"_fix_ave_correlate.html: global scalars: global array, file: -"fix store/state"_fix_store_state.html: per-atom vectors: per-atom vector/array :tb(c=3,s=:) - -:line - -6.16 Thermostatting, barostatting, and computing temperature :link(howto_16),h4 - -Thermostatting means controlling the temperature of particles in an MD -simulation. Barostatting means controlling the pressure. Since the -pressure includes a kinetic component due to particle velocities, both -these operations require calculation of the temperature. Typically a -target temperature (T) and/or pressure (P) is specified by the user, -and the thermostat or barostat attempts to equilibrate the system to -the requested T and/or P. - -Temperature is computed as kinetic energy divided by some number of -degrees of freedom (and the Boltzmann constant). Since kinetic energy -is a function of particle velocity, there is often a need to -distinguish between a particle's advection velocity (due to some -aggregate motion of particles) and its thermal velocity. The sum of -the two is the particle's total velocity, but the latter is often what -is wanted to compute a temperature. - -LAMMPS has several options for computing temperatures, any of which -can be used in thermostatting and barostatting. These "compute -commands"_compute.html calculate temperature, and the "compute -pressure"_compute_pressure.html command calculates pressure. - -"compute temp"_compute_temp.html -"compute temp/sphere"_compute_temp_sphere.html -"compute temp/asphere"_compute_temp_asphere.html -"compute temp/com"_compute_temp_com.html -"compute temp/deform"_compute_temp_deform.html -"compute temp/partial"_compute_temp_partial.html -"compute temp/profile"_compute_temp_profile.html -"compute temp/ramp"_compute_temp_ramp.html -"compute temp/region"_compute_temp_region.html :ul - -All but the first 3 calculate velocity biases directly (e.g. advection -velocities) that are removed when computing the thermal temperature. -"Compute temp/sphere"_compute_temp_sphere.html and "compute -temp/asphere"_compute_temp_asphere.html compute kinetic energy for -finite-size particles that includes rotational degrees of freedom. -They both allow for velocity biases indirectly, via an optional extra -argument, another temperature compute that subtracts a velocity bias. -This allows the translational velocity of spherical or aspherical -particles to be adjusted in prescribed ways. - -Thermostatting in LAMMPS is performed by "fixes"_fix.html, or in one -case by a pair style. Several thermostatting fixes are available: -Nose-Hoover (nvt), Berendsen, CSVR, Langevin, and direct rescaling -(temp/rescale). Dissipative particle dynamics (DPD) thermostatting -can be invoked via the {dpd/tstat} pair style: - -"fix nvt"_fix_nh.html -"fix nvt/sphere"_fix_nvt_sphere.html -"fix nvt/asphere"_fix_nvt_asphere.html -"fix nvt/sllod"_fix_nvt_sllod.html -"fix temp/berendsen"_fix_temp_berendsen.html -"fix temp/csvr"_fix_temp_csvr.html -"fix langevin"_fix_langevin.html -"fix temp/rescale"_fix_temp_rescale.html -"pair_style dpd/tstat"_pair_dpd.html :ul - -"Fix nvt"_fix_nh.html only thermostats the translational velocity of -particles. "Fix nvt/sllod"_fix_nvt_sllod.html also does this, except -that it subtracts out a velocity bias due to a deforming box and -integrates the SLLOD equations of motion. See the "NEMD -simulations"_#howto_13 section of this page for further details. "Fix -nvt/sphere"_fix_nvt_sphere.html and "fix -nvt/asphere"_fix_nvt_asphere.html thermostat not only translation -velocities but also rotational velocities for spherical and aspherical -particles. - -DPD thermostatting alters pairwise interactions in a manner analogous -to the per-particle thermostatting of "fix -langevin"_fix_langevin.html. - -Any of the thermostatting fixes can use temperature computes that -remove bias which has two effects. First, the current calculated -temperature, which is compared to the requested target temperature, is -calculated with the velocity bias removed. Second, the thermostat -adjusts only the thermal temperature component of the particle's -velocities, which are the velocities with the bias removed. The -removed bias is then added back to the adjusted velocities. See the -doc pages for the individual fixes and for the -"fix_modify"_fix_modify.html command for instructions on how to assign -a temperature compute to a thermostatting fix. For example, you can -apply a thermostat to only the x and z components of velocity by using -it in conjunction with "compute -temp/partial"_compute_temp_partial.html. Of you could thermostat only -the thermal temperature of a streaming flow of particles without -affecting the streaming velocity, by using "compute -temp/profile"_compute_temp_profile.html. - -NOTE: Only the nvt fixes perform time integration, meaning they update -the velocities and positions of particles due to forces and velocities -respectively. The other thermostat fixes only adjust velocities; they -do NOT perform time integration updates. Thus they should be used in -conjunction with a constant NVE integration fix such as these: - -"fix nve"_fix_nve.html -"fix nve/sphere"_fix_nve_sphere.html -"fix nve/asphere"_fix_nve_asphere.html :ul - -Barostatting in LAMMPS is also performed by "fixes"_fix.html. Two -barosttating methods are currently available: Nose-Hoover (npt and -nph) and Berendsen: - -"fix npt"_fix_nh.html -"fix npt/sphere"_fix_npt_sphere.html -"fix npt/asphere"_fix_npt_asphere.html -"fix nph"_fix_nh.html -"fix press/berendsen"_fix_press_berendsen.html :ul - -The "fix npt"_fix_nh.html commands include a Nose-Hoover thermostat -and barostat. "Fix nph"_fix_nh.html is just a Nose/Hoover barostat; -it does no thermostatting. Both "fix nph"_fix_nh.html and "fix -press/berendsen"_fix_press_berendsen.html can be used in conjunction -with any of the thermostatting fixes. - -As with the thermostats, "fix npt"_fix_nh.html and "fix -nph"_fix_nh.html only use translational motion of the particles in -computing T and P and performing thermo/barostatting. "Fix -npt/sphere"_fix_npt_sphere.html and "fix -npt/asphere"_fix_npt_asphere.html thermo/barostat using not only -translation velocities but also rotational velocities for spherical -and aspherical particles. - -All of the barostatting fixes use the "compute -pressure"_compute_pressure.html compute to calculate a current -pressure. By default, this compute is created with a simple "compute -temp"_compute_temp.html (see the last argument of the "compute -pressure"_compute_pressure.html command), which is used to calculated -the kinetic component of the pressure. The barostatting fixes can -also use temperature computes that remove bias for the purpose of -computing the kinetic component which contributes to the current -pressure. See the doc pages for the individual fixes and for the -"fix_modify"_fix_modify.html command for instructions on how to assign -a temperature or pressure compute to a barostatting fix. - -NOTE: As with the thermostats, the Nose/Hoover methods ("fix -npt"_fix_nh.html and "fix nph"_fix_nh.html) perform time integration. -"Fix press/berendsen"_fix_press_berendsen.html does NOT, so it should -be used with one of the constant NVE fixes or with one of the NVT -fixes. - -Finally, thermodynamic output, which can be setup via the -"thermo_style"_thermo_style.html command, often includes temperature -and pressure values. As explained on the doc page for the -"thermo_style"_thermo_style.html command, the default T and P are -setup by the thermo command itself. They are NOT the ones associated -with any thermostatting or barostatting fix you have defined or with -any compute that calculates a temperature or pressure. Thus if you -want to view these values of T and P, you need to specify them -explicitly via a "thermo_style custom"_thermo_style.html command. Or -you can use the "thermo_modify"_thermo_modify.html command to -re-define what temperature or pressure compute is used for default -thermodynamic output. - -:line - -6.17 Walls :link(howto_17),h4 - -Walls in an MD simulation are typically used to bound particle motion, -i.e. to serve as a boundary condition. - -Walls in LAMMPS can be of rough (made of particles) or idealized -surfaces. Ideal walls can be smooth, generating forces only in the -normal direction, or frictional, generating forces also in the -tangential direction. - -Rough walls, built of particles, can be created in various ways. The -particles themselves can be generated like any other particle, via the -"lattice"_lattice.html and "create_atoms"_create_atoms.html commands, -or read in via the "read_data"_read_data.html command. - -Their motion can be constrained by many different commands, so that -they do not move at all, move together as a group at constant velocity -or in response to a net force acting on them, move in a prescribed -fashion (e.g. rotate around a point), etc. Note that if a time -integration fix like "fix nve"_fix_nve.html or "fix nvt"_fix_nh.html -is not used with the group that contains wall particles, their -positions and velocities will not be updated. - -"fix aveforce"_fix_aveforce.html - set force on particles to average value, so they move together -"fix setforce"_fix_setforce.html - set force on particles to a value, e.g. 0.0 -"fix freeze"_fix_freeze.html - freeze particles for use as granular walls -"fix nve/noforce"_fix_nve_noforce.html - advect particles by their velocity, but without force -"fix move"_fix_move.html - prescribe motion of particles by a linear velocity, oscillation, rotation, variable :ul - -The "fix move"_fix_move.html command offers the most generality, since -the motion of individual particles can be specified with -"variable"_variable.html formula which depends on time and/or the -particle position. - -For rough walls, it may be useful to turn off pairwise interactions -between wall particles via the "neigh_modify -exclude"_neigh_modify.html command. - -Rough walls can also be created by specifying frozen particles that do -not move and do not interact with mobile particles, and then tethering -other particles to the fixed particles, via a "bond"_bond_style.html. -The bonded particles do interact with other mobile particles. - -Idealized walls can be specified via several fix commands. "Fix -wall/gran"_fix_wall_gran.html creates frictional walls for use with -granular particles; all the other commands create smooth walls. - -"fix wall/reflect"_fix_wall_reflect.html - reflective flat walls -"fix wall/lj93"_fix_wall.html - flat walls, with Lennard-Jones 9/3 potential -"fix wall/lj126"_fix_wall.html - flat walls, with Lennard-Jones 12/6 potential -"fix wall/colloid"_fix_wall.html - flat walls, with "pair_style colloid"_pair_colloid.html potential -"fix wall/harmonic"_fix_wall.html - flat walls, with repulsive harmonic spring potential -"fix wall/region"_fix_wall_region.html - use region surface as wall -"fix wall/gran"_fix_wall_gran.html - flat or curved walls with "pair_style granular"_pair_gran.html potential :ul - -The {lj93}, {lj126}, {colloid}, and {harmonic} styles all allow the -flat walls to move with a constant velocity, or oscillate in time. -The "fix wall/region"_fix_wall_region.html command offers the most -generality, since the region surface is treated as a wall, and the -geometry of the region can be a simple primitive volume (e.g. a -sphere, or cube, or plane), or a complex volume made from the union -and intersection of primitive volumes. "Regions"_region.html can also -specify a volume "interior" or "exterior" to the specified primitive -shape or {union} or {intersection}. "Regions"_region.html can also be -"dynamic" meaning they move with constant velocity, oscillate, or -rotate. - -The only frictional idealized walls currently in LAMMPS are flat or -curved surfaces specified by the "fix wall/gran"_fix_wall_gran.html -command. At some point we plan to allow regoin surfaces to be used as -frictional walls, as well as triangulated surfaces. - -:line - -6.18 Elastic constants :link(howto_18),h4 - -Elastic constants characterize the stiffness of a material. The formal -definition is provided by the linear relation that holds between the -stress and strain tensors in the limit of infinitesimal deformation. -In tensor notation, this is expressed as s_ij = C_ijkl * e_kl, where -the repeated indices imply summation. s_ij are the elements of the -symmetric stress tensor. e_kl are the elements of the symmetric strain -tensor. C_ijkl are the elements of the fourth rank tensor of elastic -constants. In three dimensions, this tensor has 3^4=81 elements. Using -Voigt notation, the tensor can be written as a 6x6 matrix, where C_ij -is now the derivative of s_i w.r.t. e_j. Because s_i is itself a -derivative w.r.t. e_i, it follows that C_ij is also symmetric, with at -most 7*6/2 = 21 distinct elements. - -At zero temperature, it is easy to estimate these derivatives by -deforming the simulation box in one of the six directions using the -"change_box"_change_box.html command and measuring the change in the -stress tensor. A general-purpose script that does this is given in the -examples/elastic directory described on the "Examples"_Examples.html -doc page. - -Calculating elastic constants at finite temperature is more -challenging, because it is necessary to run a simulation that perfoms -time averages of differential properties. One way to do this is to -measure the change in average stress tensor in an NVT simulations when -the cell volume undergoes a finite deformation. In order to balance -the systematic and statistical errors in this method, the magnitude of -the deformation must be chosen judiciously, and care must be taken to -fully equilibrate the deformed cell before sampling the stress -tensor. Another approach is to sample the triclinic cell fluctuations -that occur in an NPT simulation. This method can also be slow to -converge and requires careful post-processing "(Shinoda)"_#Shinoda1 - -:line - -6.19 Library interface to LAMMPS :link(howto_19),h4 - -As described in "Section 2.5"_Section_start.html#start_5, LAMMPS can -be built as a library, so that it can be called by another code, used -in a "coupled manner"_Section_howto.html#howto_10 with other codes, or -driven through a "Python interface"_Python.html. - -All of these methodologies use a C-style interface to LAMMPS that is -provided in the files src/library.cpp and src/library.h. The -functions therein have a C-style argument list, but contain C++ code -you could write yourself in a C++ application that was invoking LAMMPS -directly. The C++ code in the functions illustrates how to invoke -internal LAMMPS operations. Note that LAMMPS classes are defined -within a LAMMPS namespace (LAMMPS_NS) if you use them from another C++ -application. - -The examples/COUPLE and python/examples directories have example C++ -and C and Python codes which show how a driver code can link to LAMMPS -as a library, run LAMMPS on a subset of processors, grab data from -LAMMPS, change it, and put it back into LAMMPS. - -The file src/library.cpp contains the following functions for creating -and destroying an instance of LAMMPS and sending it commands to -execute. See the documentation in the src/library.cpp file for -details. - -NOTE: You can write code for additional functions as needed to define -how your code talks to LAMMPS and add them to src/library.cpp and -src/library.h, as well as to the "Python interface"_Python.html. The -added functions can access or change any internal LAMMPS data you -wish. - -void lammps_open(int, char **, MPI_Comm, void **) -void lammps_open_no_mpi(int, char **, void **) -void lammps_close(void *) -int lammps_version(void *) -void lammps_file(void *, char *) -char *lammps_command(void *, char *) -void lammps_commands_list(void *, int, char **) -void lammps_commands_string(void *, char *) -void lammps_free(void *) :pre - -The lammps_open() function is used to initialize LAMMPS, passing in a -list of strings as if they were "command-line -arguments"_Section_start.html#start_6 when LAMMPS is run in -stand-alone mode from the command line, and a MPI communicator for -LAMMPS to run under. It returns a ptr to the LAMMPS object that is -created, and which is used in subsequent library calls. The -lammps_open() function can be called multiple times, to create -multiple instances of LAMMPS. - -LAMMPS will run on the set of processors in the communicator. This -means the calling code can run LAMMPS on all or a subset of -processors. For example, a wrapper script might decide to alternate -between LAMMPS and another code, allowing them both to run on all the -processors. Or it might allocate half the processors to LAMMPS and -half to the other code and run both codes simultaneously before -syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations. - -The lammps_open_no_mpi() function is similar except that no MPI -communicator is passed from the caller. Instead, MPI_COMM_WORLD is -used to instantiate LAMMPS, and MPI is initialized if necessary. - -The lammps_close() function is used to shut down an instance of LAMMPS -and free all its memory. - -The lammps_version() function can be used to determined the specific -version of the underlying LAMMPS code. This is particularly useful -when loading LAMMPS as a shared library via dlopen(). The code using -the library interface can than use this information to adapt to -changes to the LAMMPS command syntax between versions. The returned -LAMMPS version code is an integer (e.g. 2 Sep 2015 results in -20150902) that grows with every new LAMMPS version. - -The lammps_file(), lammps_command(), lammps_commands_list(), and -lammps_commands_string() functions are used to pass one or more -commands to LAMMPS to execute, the same as if they were coming from an -input script. - -Via these functions, the calling code can read or generate a series of -LAMMPS commands one or multiple at a time and pass it thru the library -interface to setup a problem and then run it in stages. The caller -can interleave the command function calls with operations it performs, -calls to extract information from or set information within LAMMPS, or -calls to another code's library. - -The lammps_file() function passes the filename of an input script. -The lammps_command() function passes a single command as a string. -The lammps_commands_list() function passes multiple commands in a -char** list. In both lammps_command() and lammps_commands_list(), -individual commands may or may not have a trailing newline. The -lammps_commands_string() function passes multiple commands -concatenated into one long string, separated by newline characters. -In both lammps_commands_list() and lammps_commands_string(), a single -command can be spread across multiple lines, if the last printable -character of all but the last line is "&", the same as if the lines -appeared in an input script. - -The lammps_free() function is a clean-up function to free memory that -the library allocated previously via other function calls. See -comments in src/library.cpp file for which other functions need this -clean-up. - -The file src/library.cpp also contains these functions for extracting -information from LAMMPS and setting value within LAMMPS. Again, see -the documentation in the src/library.cpp file for details, including -which quantities can be queried by name: - -int lammps_extract_setting(void *, char *) -void *lammps_extract_global(void *, char *) -void lammps_extract_box(void *, double *, double *, - double *, double *, double *, int *, int *) -void *lammps_extract_atom(void *, char *) -void *lammps_extract_compute(void *, char *, int, int) -void *lammps_extract_fix(void *, char *, int, int, int, int) -void *lammps_extract_variable(void *, char *, char *) :pre - -The extract_setting() function returns info on the size -of data types (e.g. 32-bit or 64-bit atom IDs) used -by the LAMMPS executable (a compile-time choice). - -The other extract functions return a pointer to various global or -per-atom quantities stored in LAMMPS or to values calculated by a -compute, fix, or variable. The pointer returned by the -extract_global() function can be used as a permanent reference to a -value which may change. For the extract_atom() method, see the -extract() method in the src/atom.cpp file for a list of valid per-atom -properties. New names could easily be added if the property you want -is not listed. For the other extract functions, the underlying -storage may be reallocated as LAMMPS runs, so you need to re-call the -function to assure a current pointer or returned value(s). - -double lammps_get_thermo(void *, char *) -int lammps_get_natoms(void *) :pre - -int lammps_set_variable(void *, char *, char *) -void lammps_reset_box(void *, double *, double *, double, double, double) :pre - -The lammps_get_thermo() function returns the current value of a thermo -keyword as a double precision value. - -The lammps_get_natoms() function returns the total number of atoms in -the system and can be used by the caller to allocate memory for the -lammps_gather_atoms() and lammps_scatter_atoms() functions. - -The lammps_set_variable() function can set an existing string-style -variable to a new string value, so that subsequent LAMMPS commands can -access the variable. - -The lammps_reset_box() function resets the size and shape of the -simulation box, e.g. as part of restoring a previously extracted and -saved state of a simulation. - -void lammps_gather_atoms(void *, char *, int, int, void *) -void lammps_gather_atoms_concat(void *, char *, int, int, void *) -void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *) -void lammps_scatter_atoms(void *, char *, int, int, void *) -void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *) :pre - -void lammps_create_atoms(void *, int, tagint *, int *, double *, double *, - imageint *, int) :pre - -The gather functions collect peratom info of the requested type (atom -coords, atom types, forces, etc) from all processors, and returns the -same vector of values to each callling processor. The scatter -functions do the inverse. They distribute a vector of peratom values, -passed by all calling processors, to invididual atoms, which may be -owned by different processos. - -The lammps_gather_atoms() function does this for all N atoms in the -system, ordered by atom ID, from 1 to N. The -lammps_gather_atoms_concat() function does it for all N atoms, but -simply concatenates the subset of atoms owned by each processor. The -resulting vector is not ordered by atom ID. Atom IDs can be requetsed -by the same function if the caller needs to know the ordering. The -lammps_gather_subset() function allows the caller to request values -for only a subset of atoms (identified by ID). -For all 3 gather function, per-atom image flags can be retrieved in 2 ways. -If the count is specified as 1, they are returned -in a packed format with all three image flags stored in a single integer. -If the count is specified as 3, the values are unpacked into xyz flags -by the library before returning them. - -The lammps_scatter_atoms() function takes a list of values for all N -atoms in the system, ordered by atom ID, from 1 to N, and assigns -those values to each atom in the system. The -lammps_scatter_atoms_subset() function takes a subset of IDs as an -argument and only scatters those values to the owning atoms. - -The lammps_create_atoms() function takes a list of N atoms as input -with atom types and coords (required), an optionally atom IDs and -velocities and image flags. It uses the coords of each atom to assign -it as a new atom to the processor that owns it. This function is -useful to add atoms to a simulation or (in tandem with -lammps_reset_box()) to restore a previously extracted and saved state -of a simulation. Additional properties for the new atoms can then be -assigned via the lammps_scatter_atoms() or lammps_extract_atom() -functions. - -:line - -6.20 Calculating thermal conductivity :link(howto_20),h4 - -The thermal conductivity kappa of a material can be measured in at -least 4 ways using various options in LAMMPS. See the examples/KAPPA -directory for scripts that implement the 4 methods discussed here for -a simple Lennard-Jones fluid model. Also, see "this -section"_Section_howto.html#howto_21 of the manual for an analogous -discussion for viscosity. - -The thermal conductivity tensor kappa is a measure of the propensity -of a material to transmit heat energy in a diffusive manner as given -by Fourier's law - -J = -kappa grad(T) - -where J is the heat flux in units of energy per area per time and -grad(T) is the spatial gradient of temperature. The thermal -conductivity thus has units of energy per distance per time per degree -K and is often approximated as an isotropic quantity, i.e. as a -scalar. - -The first method is to setup two thermostatted regions at opposite -ends of a simulation box, or one in the middle and one at the end of a -periodic box. By holding the two regions at different temperatures -with a "thermostatting fix"_Section_howto.html#howto_13, the energy -added to the hot region should equal the energy subtracted from the -cold region and be proportional to the heat flux moving between the -regions. See the papers by "Ikeshoji and Hafskjold"_#howto-Ikeshoji -and "Wirnsberger et al"_#howto-Wirnsberger for details of this idea. -Note that thermostatting fixes such as "fix nvt"_fix_nh.html, "fix -langevin"_fix_langevin.html, and "fix -temp/rescale"_fix_temp_rescale.html store the cumulative energy they -add/subtract. - -Alternatively, as a second method, the "fix heat"_fix_heat.html or -"fix ehex"_fix_ehex.html commands can be used in place of thermostats -on each of two regions to add/subtract specified amounts of energy to -both regions. In both cases, the resulting temperatures of the two -regions can be monitored with the "compute temp/region" command and -the temperature profile of the intermediate region can be monitored -with the "fix ave/chunk"_fix_ave_chunk.html and "compute -ke/atom"_compute_ke_atom.html commands. - -The third method is to perform a reverse non-equilibrium MD simulation -using the "fix thermal/conductivity"_fix_thermal_conductivity.html -command which implements the rNEMD algorithm of Muller-Plathe. -Kinetic energy is swapped between atoms in two different layers of the -simulation box. This induces a temperature gradient between the two -layers which can be monitored with the "fix -ave/chunk"_fix_ave_chunk.html and "compute -ke/atom"_compute_ke_atom.html commands. The fix tallies the -cumulative energy transfer that it performs. See the "fix -thermal/conductivity"_fix_thermal_conductivity.html command for -details. - -The fourth method is based on the Green-Kubo (GK) formula which -relates the ensemble average of the auto-correlation of the heat flux -to kappa. The heat flux can be calculated from the fluctuations of -per-atom potential and kinetic energies and per-atom stress tensor in -a steady-state equilibrated simulation. This is in contrast to the -two preceding non-equilibrium methods, where energy flows continuously -between hot and cold regions of the simulation box. - -The "compute heat/flux"_compute_heat_flux.html command can calculate -the needed heat flux and describes how to implement the Green_Kubo -formalism using additional LAMMPS commands, such as the "fix -ave/correlate"_fix_ave_correlate.html command to calculate the needed -auto-correlation. See the doc page for the "compute -heat/flux"_compute_heat_flux.html command for an example input script -that calculates the thermal conductivity of solid Ar via the GK -formalism. - -:line - -6.21 Calculating viscosity :link(howto_21),h4 - -The shear viscosity eta of a fluid can be measured in at least 5 ways -using various options in LAMMPS. See the examples/VISCOSITY directory -for scripts that implement the 5 methods discussed here for a simple -Lennard-Jones fluid model. Also, see "this -section"_Section_howto.html#howto_20 of the manual for an analogous -discussion for thermal conductivity. - -Eta is a measure of the propensity of a fluid to transmit momentum in -a direction perpendicular to the direction of velocity or momentum -flow. Alternatively it is the resistance the fluid has to being -sheared. It is given by - -J = -eta grad(Vstream) - -where J is the momentum flux in units of momentum per area per time. -and grad(Vstream) is the spatial gradient of the velocity of the fluid -moving in another direction, normal to the area through which the -momentum flows. Viscosity thus has units of pressure-time. - -The first method is to perform a non-equilibrium MD (NEMD) simulation -by shearing the simulation box via the "fix deform"_fix_deform.html -command, and using the "fix nvt/sllod"_fix_nvt_sllod.html command to -thermostat the fluid via the SLLOD equations of motion. -Alternatively, as a second method, one or more moving walls can be -used to shear the fluid in between them, again with some kind of -thermostat that modifies only the thermal (non-shearing) components of -velocity to prevent the fluid from heating up. - -In both cases, the velocity profile setup in the fluid by this -procedure can be monitored by the "fix -ave/chunk"_fix_ave_chunk.html command, which determines -grad(Vstream) in the equation above. E.g. the derivative in the -y-direction of the Vx component of fluid motion or grad(Vstream) = -dVx/dy. The Pxy off-diagonal component of the pressure or stress -tensor, as calculated by the "compute pressure"_compute_pressure.html -command, can also be monitored, which is the J term in the equation -above. See "this section"_Section_howto.html#howto_13 of the manual -for details on NEMD simulations. - -The third method is to perform a reverse non-equilibrium MD simulation -using the "fix viscosity"_fix_viscosity.html command which implements -the rNEMD algorithm of Muller-Plathe. Momentum in one dimension is -swapped between atoms in two different layers of the simulation box in -a different dimension. This induces a velocity gradient which can be -monitored with the "fix ave/chunk"_fix_ave_chunk.html command. -The fix tallies the cumulative momentum transfer that it performs. -See the "fix viscosity"_fix_viscosity.html command for details. - -The fourth method is based on the Green-Kubo (GK) formula which -relates the ensemble average of the auto-correlation of the -stress/pressure tensor to eta. This can be done in a fully -equilibrated simulation which is in contrast to the two preceding -non-equilibrium methods, where momentum flows continuously through the -simulation box. - -Here is an example input script that calculates the viscosity of -liquid Ar via the GK formalism: - -# Sample LAMMPS input script for viscosity of liquid Ar :pre - -units real -variable T equal 86.4956 -variable V equal vol -variable dt equal 4.0 -variable p equal 400 # correlation length -variable s equal 5 # sample interval -variable d equal $p*$s # dump interval :pre - -# convert from LAMMPS real units to SI :pre - -variable kB equal 1.3806504e-23 # \[J/K/] Boltzmann -variable atm2Pa equal 101325.0 -variable A2m equal 1.0e-10 -variable fs2s equal 1.0e-15 -variable convert equal $\{atm2Pa\}*$\{atm2Pa\}*$\{fs2s\}*$\{A2m\}*$\{A2m\}*$\{A2m\} :pre - -# setup problem :pre - -dimension 3 -boundary p p p -lattice fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 -region box block 0 4 0 4 0 4 -create_box 1 box -create_atoms 1 box -mass 1 39.948 -pair_style lj/cut 13.0 -pair_coeff * * 0.2381 3.405 -timestep $\{dt\} -thermo $d :pre - -# equilibration and thermalization :pre - -velocity all create $T 102486 mom yes rot yes dist gaussian -fix NVT all nvt temp $T $T 10 drag 0.2 -run 8000 :pre - -# viscosity calculation, switch to NVE if desired :pre - -#unfix NVT -#fix NVE all nve :pre - -reset_timestep 0 -variable pxy equal pxy -variable pxz equal pxz -variable pyz equal pyz -fix SS all ave/correlate $s $p $d & - v_pxy v_pxz v_pyz type auto file S0St.dat ave running -variable scale equal $\{convert\}/($\{kB\}*$T)*$V*$s*$\{dt\} -variable v11 equal trap(f_SS\[3\])*$\{scale\} -variable v22 equal trap(f_SS\[4\])*$\{scale\} -variable v33 equal trap(f_SS\[5\])*$\{scale\} -thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33 -run 100000 -variable v equal (v_v11+v_v22+v_v33)/3.0 -variable ndens equal count(all)/vol -print "average viscosity: $v \[Pa.s\] @ $T K, $\{ndens\} /A^3" :pre - -The fifth method is related to the above Green-Kubo method, -but uses the Einstein formulation, analogous to the Einstein -mean-square-displacement formulation for self-diffusivity. The -time-integrated momentum fluxes play the role of Cartesian -coordinates, whose mean-square displacement increases linearly -with time at sufficiently long times. - -:line - -6.22 Calculating a diffusion coefficient :link(howto_22),h4 - -The diffusion coefficient D of a material can be measured in at least -2 ways using various options in LAMMPS. See the examples/DIFFUSE -directory for scripts that implement the 2 methods discussed here for -a simple Lennard-Jones fluid model. - -The first method is to measure the mean-squared displacement (MSD) of -the system, via the "compute msd"_compute_msd.html command. The slope -of the MSD versus time is proportional to the diffusion coefficient. -The instantaneous MSD values can be accumulated in a vector via the -"fix vector"_fix_vector.html command, and a line fit to the vector to -compute its slope via the "variable slope"_variable.html function, and -thus extract D. - -The second method is to measure the velocity auto-correlation function -(VACF) of the system, via the "compute vacf"_compute_vacf.html -command. The time-integral of the VACF is proportional to the -diffusion coefficient. The instantaneous VACF values can be -accumulated in a vector via the "fix vector"_fix_vector.html command, -and time integrated via the "variable trap"_variable.html function, -and thus extract D. - -:line - -6.23 Using chunks to calculate system properties :link(howto_23),h4 - -In LAMMS, "chunks" are collections of atoms, as defined by the -"compute chunk/atom"_compute_chunk_atom.html command, which assigns -each atom to a chunk ID (or to no chunk at all). The number of chunks -and the assignment of chunk IDs to atoms can be static or change over -time. Examples of "chunks" are molecules or spatial bins or atoms -with similar values (e.g. coordination number or potential energy). - -The per-atom chunk IDs can be used as input to two other kinds of -commands, to calculate various properties of a system: - -"fix ave/chunk"_fix_ave_chunk.html -any of the "compute */chunk"_compute.html commands :ul - -Here, each of the 3 kinds of chunk-related commands is briefly -overviewed. Then some examples are given of how to compute different -properties with chunk commands. - -Compute chunk/atom command: :h4 - -This compute can assign atoms to chunks of various styles. Only atoms -in the specified group and optional specified region are assigned to a -chunk. Here are some possible chunk definitions: - -atoms in same molecule | chunk ID = molecule ID | -atoms of same atom type | chunk ID = atom type | -all atoms with same atom property (charge, radius, etc) | chunk ID = output of compute property/atom | -atoms in same cluster | chunk ID = output of "compute cluster/atom"_compute_cluster_atom.html command | -atoms in same spatial bin | chunk ID = bin ID | -atoms in same rigid body | chunk ID = molecule ID used to define rigid bodies | -atoms with similar potential energy | chunk ID = output of "compute pe/atom"_compute_pe_atom.html | -atoms with same local defect structure | chunk ID = output of "compute centro/atom"_compute_centro_atom.html or "compute coord/atom"_compute_coord_atom.html command :tb(s=|,c=2) - -Note that chunk IDs are integer values, so for atom properties or -computes that produce a floating point value, they will be truncated -to an integer. You could also use the compute in a variable that -scales the floating point value to spread it across multiple integers. - -Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins = -pencils, 3d bins = boxes, spherical bins, cylindrical bins. - -This compute also calculates the number of chunks {Nchunk}, which is -used by other commands to tally per-chunk data. {Nchunk} can be a -static value or change over time (e.g. the number of clusters). The -chunk ID for an individual atom can also be static (e.g. a molecule -ID), or dynamic (e.g. what spatial bin an atom is in as it moves). - -Note that this compute allows the per-atom output of other -"computes"_compute.html, "fixes"_fix.html, and -"variables"_variable.html to be used to define chunk IDs for each -atom. This means you can write your own compute or fix to output a -per-atom quantity to use as chunk ID. See the "Modify"_Modify.html -doc page for how to do this. You can also define a "per-atom -variable"_variable.html in the input script that uses a formula to -generate a chunk ID for each atom. - -Fix ave/chunk command: :h4 - -This fix takes the ID of a "compute -chunk/atom"_compute_chunk_atom.html command as input. For each chunk, -it then sums one or more specified per-atom values over the atoms in -each chunk. The per-atom values can be any atom property, such as -velocity, force, charge, potential energy, kinetic energy, stress, -etc. Additional keywords are defined for per-chunk properties like -density and temperature. More generally any per-atom value generated -by other "computes"_compute.html, "fixes"_fix.html, and "per-atom -variables"_variable.html, can be summed over atoms in each chunk. - -Similar to other averaging fixes, this fix allows the summed per-chunk -values to be time-averaged in various ways, and output to a file. The -fix produces a global array as output with one row of values per -chunk. - -Compute */chunk commands: :h4 - -Currently the following computes operate on chunks of atoms to produce -per-chunk values. - -"compute com/chunk"_compute_com_chunk.html -"compute gyration/chunk"_compute_gyration_chunk.html -"compute inertia/chunk"_compute_inertia_chunk.html -"compute msd/chunk"_compute_msd_chunk.html -"compute property/chunk"_compute_property_chunk.html -"compute temp/chunk"_compute_temp_chunk.html -"compute torque/chunk"_compute_vcm_chunk.html -"compute vcm/chunk"_compute_vcm_chunk.html :ul - -They each take the ID of a "compute -chunk/atom"_compute_chunk_atom.html command as input. As their names -indicate, they calculate the center-of-mass, radius of gyration, -moments of inertia, mean-squared displacement, temperature, torque, -and velocity of center-of-mass for each chunk of atoms. The "compute -property/chunk"_compute_property_chunk.html command can tally the -count of atoms in each chunk and extract other per-chunk properties. - -The reason these various calculations are not part of the "fix -ave/chunk command"_fix_ave_chunk.html, is that each requires a more -complicated operation than simply summing and averaging over per-atom -values in each chunk. For example, many of them require calculation -of a center of mass, which requires summing mass*position over the -atoms and then dividing by summed mass. - -All of these computes produce a global vector or global array as -output, wih one or more values per chunk. They can be used -in various ways: - -As input to the "fix ave/time"_fix_ave_time.html command, which can -write the values to a file and optionally time average them. :ulb,l - -As input to the "fix ave/histo"_fix_ave_histo.html command to -histogram values across chunks. E.g. a histogram of cluster sizes or -molecule diffusion rates. :l - -As input to special functions of "equal-style -variables"_variable.html, like sum() and max(). E.g. to find the -largest cluster or fastest diffusing molecule. :l -:ule - -Example calculations with chunks :h4 - -Here are examples using chunk commands to calculate various -properties: - -(1) Average velocity in each of 1000 2d spatial bins: - -compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced -fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out :pre - -(2) Temperature in each spatial bin, after subtracting a flow -velocity: - -compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced -compute vbias all temp/profile 1 0 0 y 10 -fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out :pre - -(3) Center of mass of each molecule: - -compute cc1 all chunk/atom molecule -compute myChunk all com/chunk cc1 -fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre - -(4) Total force on each molecule and ave/max across all molecules: - -compute cc1 all chunk/atom molecule -fix 1 all ave/chunk 1000 1 1000 cc1 fx fy fz file tmp.out -variable xave equal ave(f_1\[2\]) -variable xmax equal max(f_1\[2\]) -thermo 1000 -thermo_style custom step temp v_xave v_xmax :pre - -(5) Histogram of cluster sizes: - -compute cluster all cluster/atom 1.0 -compute cc1 all chunk/atom c_cluster compress yes -compute size all property/chunk cc1 count -fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo :pre - -:line - -6.24 Setting parameters for the "kspace_style pppm/disp"_kspace_style.html command :link(howto_24),h4 - -The PPPM method computes interactions by splitting the pair potential -into two parts, one of which is computed in a normal pairwise fashion, -the so-called real-space part, and one of which is computed using the -Fourier transform, the so called reciprocal-space or kspace part. For -both parts, the potential is not computed exactly but is approximated. -Thus, there is an error in both parts of the computation, the -real-space and the kspace error. The just mentioned facts are true -both for the PPPM for Coulomb as well as dispersion interactions. The -deciding difference - and also the reason why the parameters for -pppm/disp have to be selected with more care - is the impact of the -errors on the results: The kspace error of the PPPM for Coulomb and -dispersion interaction and the real-space error of the PPPM for -Coulomb interaction have the character of noise. In contrast, the -real-space error of the PPPM for dispersion has a clear physical -interpretation: the underprediction of cohesion. As a consequence, the -real-space error has a much stronger effect than the kspace error on -simulation results for pppm/disp. Parameters must thus be chosen in a -way that this error is much smaller than the kspace error. - -When using pppm/disp and not making any specifications on the PPPM -parameters via the kspace modify command, parameters will be tuned -such that the real-space error and the kspace error are equal. This -will result in simulations that are either inaccurate or slow, both of -which is not desirable. For selecting parameters for the pppm/disp -that provide fast and accurate simulations, there are two approaches, -which both have their up- and downsides. - -The first approach is to set desired real-space an kspace accuracies -via the {kspace_modify force/disp/real} and {kspace_modify -force/disp/kspace} commands. Note that the accuracies have to be -specified in force units and are thus dependent on the chosen unit -settings. For real units, 0.0001 and 0.002 seem to provide reasonable -accurate and efficient computations for the real-space and kspace -accuracies. 0.002 and 0.05 work well for most systems using lj -units. PPPM parameters will be generated based on the desired -accuracies. The upside of this approach is that it usually provides a -good set of parameters and will work for both the {kspace_modify diff -ad} and {kspace_modify diff ik} options. The downside of the method -is that setting the PPPM parameters will take some time during the -initialization of the simulation. - -The second approach is to set the parameters for the pppm/disp -explicitly using the {kspace_modify mesh/disp}, {kspace_modify -order/disp}, and {kspace_modify gewald/disp} commands. This approach -requires a more experienced user who understands well the impact of -the choice of parameters on the simulation accuracy and -performance. This approach provides a fast initialization of the -simulation. However, it is sensitive to errors: A combination of -parameters that will perform well for one system might result in -far-from-optimal conditions for other simulations. For example, -parameters that provide accurate and fast computations for -all-atomistic force fields can provide insufficient accuracy or -united-atomistic force fields (which is related to that the latter -typically have larger dispersion coefficients). - -To avoid inaccurate or inefficient simulations, the pppm/disp stops -simulations with an error message if no action is taken to control the -PPPM parameters. If the automatic parameter generation is desired and -real-space and kspace accuracies are desired to be equal, this error -message can be suppressed using the {kspace_modify disp/auto yes} -command. - -A reasonable approach that combines the upsides of both methods is to -make the first run using the {kspace_modify force/disp/real} and -{kspace_modify force/disp/kspace} commands, write down the PPPM -parameters from the outut, and specify these parameters using the -second approach in subsequent runs (which have the same composition, -force field, and approximately the same volume). - -Concerning the performance of the pppm/disp there are two more things -to consider. The first is that when using the pppm/disp, the cutoff -parameter does no longer affect the accuracy of the simulation -(subject to that gewald/disp is adjusted when changing the cutoff). -The performance can thus be increased by examining different values -for the cutoff parameter. A lower bound for the cutoff is only set by -the truncation error of the repulsive term of pair potentials. - -The second is that the mixing rule of the pair style has an impact on -the computation time when using the pppm/disp. Fastest computations -are achieved when using the geometric mixing rule. Using the -arithmetic mixing rule substantially increases the computational cost. -The computational overhead can be reduced using the {kspace_modify -mix/disp geom} and {kspace_modify splittol} commands. The first -command simply enforces geometric mixing of the dispersion -coefficients in kspace computations. This introduces some error in -the computations but will also significantly speed-up the -simulations. The second keyword sets the accuracy with which the -dispersion coefficients are approximated using a matrix factorization -approach. This may result in better accuracy then using the first -command, but will usually also not provide an equally good increase of -efficiency. - -Finally, pppm/disp can also be used when no mixing rules apply. -This can be achieved using the {kspace_modify mix/disp none} command. -Note that the code does not check automatically whether any mixing -rule is fulfilled. If mixing rules do not apply, the user will have -to specify this command explicitly. - -:line - -6.25 Polarizable models :link(howto_25),h4 - -In polarizable force fields the charge distributions in molecules and -materials respond to their electrostatic environments. Polarizable -systems can be simulated in LAMMPS using three methods: - -the fluctuating charge method, implemented in the "QEQ"_fix_qeq.html -package, :ulb,l -the adiabatic core-shell method, implemented in the -"CORESHELL"_#howto_26 package, :l -the thermalized Drude dipole method, implemented in the -"USER-DRUDE"_#howto_27 package. :l -:ule - -The fluctuating charge method calculates instantaneous charges on -interacting atoms based on the electronegativity equalization -principle. It is implemented in the "fix qeq"_fix_qeq.html which is -available in several variants. It is a relatively efficient technique -since no additional particles are introduced. This method allows for -charge transfer between molecules or atom groups. However, because the -charges are located at the interaction sites, off-plane components of -polarization cannot be represented in planar molecules or atom groups. - -The two other methods share the same basic idea: polarizable atoms are -split into one core atom and one satellite particle (called shell or -Drude particle) attached to it by a harmonic spring. Both atoms bear -a charge and they represent collectively an induced electric dipole. -These techniques are computationally more expensive than the QEq -method because of additional particles and bonds. These two -charge-on-spring methods differ in certain features, with the -core-shell model being normally used for ionic/crystalline materials, -whereas the so-called Drude model is normally used for molecular -systems and fluid states. - -The core-shell model is applicable to crystalline materials where the -high symmetry around each site leads to stable trajectories of the -core-shell pairs. However, bonded atoms in molecules can be so close -that a core would interact too strongly or even capture the Drude -particle of a neighbor. The Drude dipole model is relatively more -complex in order to remediate this and other issues. Specifically, the -Drude model includes specific thermostating of the core-Drude pairs -and short-range damping of the induced dipoles. - -The three polarization methods can be implemented through a -self-consistent calculation of charges or induced dipoles at each -timestep. In the fluctuating charge scheme this is done by the matrix -inversion method in "fix qeq/point"_fix_qeq.html, but for core-shell -or Drude-dipoles the relaxed-dipoles technique would require an slow -iterative procedure. These self-consistent solutions yield accurate -trajectories since the additional degrees of freedom representing -polarization are massless. An alternative is to attribute a mass to -the additional degrees of freedom and perform time integration using -an extended Lagrangian technique. For the fluctuating charge scheme -this is done by "fix qeq/dynamic"_fix_qeq.html, and for the -charge-on-spring models by the methods outlined in the next two -sections. The assignment of masses to the additional degrees of -freedom can lead to unphysical trajectories if care is not exerted in -choosing the parameters of the polarizable models and the simulation -conditions. - -In the core-shell model the vibration of the shells is kept faster -than the ionic vibrations to mimic the fast response of the -polarizable electrons. But in molecular systems thermalizing the -core-Drude pairs at temperatures comparable to the rest of the -simulation leads to several problems (kinetic energy transfer, too -short a timestep, etc.) In order to avoid these problems the relative -motion of the Drude particles with respect to their cores is kept -"cold" so the vibration of the core-Drude pairs is very slow, -approaching the self-consistent regime. In both models the -temperature is regulated using the velocities of the center of mass of -core+shell (or Drude) pairs, but in the Drude model the actual -relative core-Drude particle motion is thermostated separately as -well. - -:line - -6.26 Adiabatic core/shell model :link(howto_26),h4 - -The adiabatic core-shell model by "Mitchell and -Fincham"_#MitchellFincham is a simple method for adding -polarizability to a system. In order to mimic the electron shell of -an ion, a satellite particle is attached to it. This way the ions are -split into a core and a shell where the latter is meant to react to -the electrostatic environment inducing polarizability. - -Technically, shells are attached to the cores by a spring force f = -k*r where k is a parametrized spring constant and r is the distance -between the core and the shell. The charges of the core and the shell -add up to the ion charge, thus q(ion) = q(core) + q(shell). This -setup introduces the ion polarizability (alpha) given by -alpha = q(shell)^2 / k. In a -similar fashion the mass of the ion is distributed on the core and the -shell with the core having the larger mass. - -To run this model in LAMMPS, "atom_style"_atom_style.html {full} can -be used since atom charge and bonds are needed. Each kind of -core/shell pair requires two atom types and a bond type. The core and -shell of a core/shell pair should be bonded to each other with a -harmonic bond that provides the spring force. For example, a data file -for NaCl, as found in examples/coreshell, has this format: - -432 atoms # core and shell atoms -216 bonds # number of core/shell springs :pre - -4 atom types # 2 cores and 2 shells for Na and Cl -2 bond types :pre - -0.0 24.09597 xlo xhi -0.0 24.09597 ylo yhi -0.0 24.09597 zlo zhi :pre - -Masses # core/shell mass ratio = 0.1 :pre - -1 20.690784 # Na core -2 31.90500 # Cl core -3 2.298976 # Na shell -4 3.54500 # Cl shell :pre - -Atoms :pre - -1 1 2 1.5005 0.00000000 0.00000000 0.00000000 # core of core/shell pair 1 -2 1 4 -2.5005 0.00000000 0.00000000 0.00000000 # shell of core/shell pair 1 -3 2 1 1.5056 4.01599500 4.01599500 4.01599500 # core of core/shell pair 2 -4 2 3 -0.5056 4.01599500 4.01599500 4.01599500 # shell of core/shell pair 2 -(...) :pre - -Bonds # Bond topology for spring forces :pre - -1 2 1 2 # spring for core/shell pair 1 -2 2 3 4 # spring for core/shell pair 2 -(...) :pre - -Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only -defined between the shells. Coulombic interactions are defined -between all cores and shells. If desired, additional bonds can be -specified between cores. - -The "special_bonds"_special_bonds.html command should be used to -turn-off the Coulombic interaction within core/shell pairs, since that -interaction is set by the bond spring. This is done using the -"special_bonds"_special_bonds.html command with a 1-2 weight = 0.0, -which is the default value. It needs to be considered whether one has -to adjust the "special_bonds"_special_bonds.html weighting according -to the molecular topology since the interactions of the shells are -bypassed over an extra bond. - -Note that this core/shell implementation does not require all ions to -be polarized. One can mix core/shell pairs and ions without a -satellite particle if desired. - -Since the core/shell model permits distances of r = 0.0 between the -core and shell, a pair style with a "cs" suffix needs to be used to -implement a valid long-range Coulombic correction. Several such pair -styles are provided in the CORESHELL package. See "this doc -page"_pair_cs.html for details. All of the core/shell enabled pair -styles require the use of a long-range Coulombic solver, as specified -by the "kspace_style"_kspace_style.html command. Either the PPPM or -Ewald solvers can be used. - -For the NaCL example problem, these pair style and bond style settings -are used: - -pair_style born/coul/long/cs 20.0 20.0 -pair_coeff * * 0.0 1.000 0.00 0.00 0.00 -pair_coeff 3 3 487.0 0.23768 0.00 1.05 0.50 #Na-Na -pair_coeff 3 4 145134.0 0.23768 0.00 6.99 8.70 #Na-Cl -pair_coeff 4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl :pre - -bond_style harmonic -bond_coeff 1 63.014 0.0 -bond_coeff 2 25.724 0.0 :pre - -When running dynamics with the adiabatic core/shell model, the -following issues should be considered. The relative motion of -the core and shell particles corresponds to the polarization, -hereby an instantaneous relaxation of the shells is approximated -and a fast core/shell spring frequency ensures a nearly constant -internal kinetic energy during the simulation. -Thermostats can alter this polarization behaviour, by scaling the -internal kinetic energy, meaning the shell will not react freely to -its electrostatic environment. -Therefore it is typically desirable to decouple the relative motion of -the core/shell pair, which is an imaginary degree of freedom, from the -real physical system. To do that, the "compute -temp/cs"_compute_temp_cs.html command can be used, in conjunction with -any of the thermostat fixes, such as "fix nvt"_fix_nh.html or "fix -langevin"_fix_langevin. This compute uses the center-of-mass velocity -of the core/shell pairs to calculate a temperature, and insures that -velocity is what is rescaled for thermostatting purposes. This -compute also works for a system with both core/shell pairs and -non-polarized ions (ions without an attached satellite particle). The -"compute temp/cs"_compute_temp_cs.html command requires input of two -groups, one for the core atoms, another for the shell atoms. -Non-polarized ions which might also be included in the treated system -should not be included into either of these groups, they are taken -into account by the {group-ID} (2nd argument) of the compute. The -groups can be defined using the "group {type}"_group.html command. -Note that to perform thermostatting using this definition of -temperature, the "fix modify temp"_fix_modify.html command should be -used to assign the compute to the thermostat fix. Likewise the -"thermo_modify temp"_thermo_modify.html command can be used to make -this temperature be output for the overall system. - -For the NaCl example, this can be done as follows: - -group cores type 1 2 -group shells type 3 4 -compute CSequ all temp/cs cores shells -fix thermoberendsen all temp/berendsen 1427 1427 0.4 # thermostat for the true physical system -fix thermostatequ all nve # integrator as needed for the berendsen thermostat -fix_modify thermoberendsen temp CSequ -thermo_modify temp CSequ # output of center-of-mass derived temperature :pre - -The pressure for the core/shell system is computed via the regular -LAMMPS convention by "treating the cores and shells as individual -particles"_#MitchellFincham2. For the thermo output of the pressure -as well as for the application of a barostat, it is necessary to -use an additional "pressure"_compute_pressure compute based on the -default "temperature"_compute_temp and specifying it as a second -argument in "fix modify"_fix_modify.html and -"thermo_modify"_thermo_modify.html resulting in: - -(...) -compute CSequ all temp/cs cores shells -compute thermo_press_lmp all pressure thermo_temp # pressure for individual particles -thermo_modify temp CSequ press thermo_press_lmp # modify thermo to regular pressure -fix press_bar all npt temp 300 300 0.04 iso 0 0 0.4 -fix_modify press_bar temp CSequ press thermo_press_lmp # pressure modification for correct kinetic scalar :pre - -If "compute temp/cs"_compute_temp_cs.html is used, the decoupled -relative motion of the core and the shell should in theory be -stable. However numerical fluctuation can introduce a small -momentum to the system, which is noticable over long trajectories. -Therefore it is recommendable to use the "fix -momentum"_fix_momentum.html command in combination with "compute -temp/cs"_compute_temp_cs.html when equilibrating the system to -prevent any drift. - -When initializing the velocities of a system with core/shell pairs, it -is also desirable to not introduce energy into the relative motion of -the core/shell particles, but only assign a center-of-mass velocity to -the pairs. This can be done by using the {bias} keyword of the -"velocity create"_velocity.html command and assigning the "compute -temp/cs"_compute_temp_cs.html command to the {temp} keyword of the -"velocity"_velocity.html command, e.g. - -velocity all create 1427 134 bias yes temp CSequ -velocity all scale 1427 temp CSequ :pre - -To maintain the correct polarizability of the core/shell pairs, the -kinetic energy of the internal motion shall remain nearly constant. -Therefore the choice of spring force and mass ratio need to ensure -much faster relative motion of the 2 atoms within the core/shell pair -than their center-of-mass velocity. This allows the shells to -effectively react instantaneously to the electrostatic environment and -limits energy transfer to or from the core/shell oscillators. -This fast movement also dictates the timestep that can be used. - -The primary literature of the adiabatic core/shell model suggests that -the fast relative motion of the core/shell pairs only allows negligible -energy transfer to the environment. -The mentioned energy transfer will typically lead to a small drift -in total energy over time. This internal energy can be monitored -using the "compute chunk/atom"_compute_chunk_atom.html and "compute -temp/chunk"_compute_temp_chunk.html commands. The internal kinetic -energies of each core/shell pair can then be summed using the sum() -special function of the "variable"_variable.html command. Or they can -be time/averaged and output using the "fix ave/time"_fix_ave_time.html -command. To use these commands, each core/shell pair must be defined -as a "chunk". If each core/shell pair is defined as its own molecule, -the molecule ID can be used to define the chunks. If cores are bonded -to each other to form larger molecules, the chunks can be identified -by the "fix property/atom"_fix_property_atom.html via assigning a -core/shell ID to each atom using a special field in the data file read -by the "read_data"_read_data.html command. This field can then be -accessed by the "compute property/atom"_compute_property_atom.html -command, to use as input to the "compute -chunk/atom"_compute_chunk_atom.html command to define the core/shell -pairs as chunks. - -For example if core/shell pairs are the only molecules: - -read_data NaCl_CS_x0.1_prop.data -compute prop all property/atom molecule -compute cs_chunk all chunk/atom c_prop -compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0 # note the chosen degrees of freedom for the core/shell pairs -fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector :pre - -For example if core/shell pairs and other molecules are present: - -fix csinfo all property/atom i_CSID # property/atom command -read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info # atom property added in the data-file -compute prop all property/atom i_CSID -(...) :pre - -The additional section in the date file would be formatted like this: - -CS-Info # header of additional section :pre - -1 1 # column 1 = atom ID, column 2 = core/shell ID -2 1 -3 2 -4 2 -5 3 -6 3 -7 4 -8 4 -(...) :pre - -:line - -6.27 Drude induced dipoles :link(howto_27),h4 - -The thermalized Drude model, similarly to the "core-shell"_#howto_26 -model, represents induced dipoles by a pair of charges (the core atom -and the Drude particle) connected by a harmonic spring. The Drude -model has a number of features aimed at its use in molecular systems -("Lamoureux and Roux"_#howto-Lamoureux): - -Thermostating of the additional degrees of freedom associated with the -induced dipoles at very low temperature, in terms of the reduced -coordinates of the Drude particles with respect to their cores. This -makes the trajectory close to that of relaxed induced dipoles. :ulb,l - -Consistent definition of 1-2 to 1-4 neighbors. A core-Drude particle -pair represents a single (polarizable) atom, so the special screening -factors in a covalent structure should be the same for the core and -the Drude particle. Drude particles have to inherit the 1-2, 1-3, 1-4 -special neighbor relations from their respective cores. :l - -Stabilization of the interactions between induced dipoles. Drude -dipoles on covalently bonded atoms interact too strongly due to the -short distances, so an atom may capture the Drude particle of a -neighbor, or the induced dipoles within the same molecule may align -too much. To avoid this, damping at short range can be done by Thole -functions (for which there are physical grounds). This Thole damping -is applied to the point charges composing the induced dipole (the -charge of the Drude particle and the opposite charge on the core, not -to the total charge of the core atom). :l -:ule - -A detailed tutorial covering the usage of Drude induced dipoles in -LAMMPS is "available here"_tutorial_drude.html. - -As with the core-shell model, the cores and Drude particles should -appear in the data file as standard atoms. The same holds for the -springs between them, which are described by standard harmonic bonds. -The nature of the atoms (core, Drude particle or non-polarizable) is -specified via the "fix drude"_fix_drude.html command. The special -list of neighbors is automatically refactored to account for the -equivalence of core and Drude particles as regards special 1-2 to 1-4 -screening. It may be necessary to use the {extra/special/per/atom} -keyword of the "read_data"_read_data.html command. If using "fix -shake"_fix_shake.html, make sure no Drude particle is in this fix -group. - -There are two ways to thermostat the Drude particles at a low -temperature: use either "fix langevin/drude"_fix_langevin_drude.html -for a Langevin thermostat, or "fix -drude/transform/*"_fix_drude_transform.html for a Nose-Hoover -thermostat. The former requires use of the command "comm_modify vel -yes"_comm_modify.html. The latter requires two separate integration -fixes like {nvt} or {npt}. The correct temperatures of the reduced -degrees of freedom can be calculated using the "compute -temp/drude"_compute_temp_drude.html. This requires also to use the -command {comm_modify vel yes}. - -Short-range damping of the induced dipole interactions can be achieved -using Thole functions through the "pair style -thole"_pair_thole.html in "pair_style hybrid/overlay"_pair_hybrid.html -with a Coulomb pair style. It may be useful to use {coul/long/cs} or -similar from the CORESHELL package if the core and Drude particle come -too close, which can cause numerical issues. - -:line - -6.28 Magnetic spins :link(howto_28),h4 - -Classical magnetic spin simualtions can be performed via the SPIN -package. The algrorithmic and implementation details are described in -"Tranchida"_#Tranchida7. - -The model representents the simulation of atomic magnetic spins -coupled to lattice vibrations. The dynamics of those magnetic spins -can be used to simulate a broad range a phenomena related to -magneto-elasticity, or or to study the influence of defects on the -magnetic properties of materials. - -The magnetic spins are interacting with each others and with the -lattice via pair interactions. Typically, the magnetic exchange -interaction can be defined using the -"pair/spin/exchange"_pair_spin_exchange.html command. This exchange -applies a magnetic torque to a given spin, considering the orientation -of its neighboring spins and their relative distances. -It also applies a force on the atoms as a function of the spin -orientations and their associated inter-atomic distances. - -The command "fix precession/spin"_fix_precession_spin.html allows to -apply a constant magnetic torque on all the spins in the system. This -torque can be an external magnetic field (Zeeman interaction), or an -uniaxial magnetic anisotropy. - -A Langevin thermostat can be applied to those magnetic spins using -"fix langevin/spin"_fix_langevin_spin.html. Typically, this thermostat -can be coupled to another Langevin thermostat applied to the atoms -using "fix langevin"_fix_langevin.html in order to simulate -thermostated spin-lattice system. - -The magnetic Gilbert damping can also be applied using "fix -langevin/spin"_fix_langevin_spin.html. It allows to either dissipate -the thermal energy of the Langevin thermostat, or to perform a -relaxation of the magnetic configuration toward an equilibrium state. - -All the computed magnetic properties can be outputed by two main -commands. The first one is "compute spin"_compute_spin.html, that -enables to evaluate magnetic averaged quantities, such as the total -magnetization of the system along x, y, or z, the spin temperature, or -the magnetic energy. The second command is "compute -property/atom"_compute_property_atom.html. It enables to output all the -per atom magnetic quantities. Typically, the orientation of a given -magnetic spin, or the magnetic force acting on this spin. - -:line -:line - -:link(howto-Berendsen) -[(Berendsen)] Berendsen, Grigera, Straatsma, J Phys Chem, 91, -6269-6271 (1987). - -:link(howto-Cornell) -[(Cornell)] Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, -Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). - -:link(Horn) -[(Horn)] Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon, -J Chem Phys, 120, 9665 (2004). - -:link(howto-Ikeshoji) -[(Ikeshoji)] Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 -(1994). - -:link(howto-Wirnsberger) -[(Wirnsberger)] Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104 -(2015). - -:link(howto-MacKerell) -[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). - -:link(howto-Mayo) -[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990). - -:link(Jorgensen1) -[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem -Phys, 79, 926 (1983). - -:link(Price1) -[(Price)] Price and Brooks, J Chem Phys, 121, 10096 (2004). - -:link(Shinoda1) -[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). - -:link(MitchellFincham) -[(Mitchell and Fincham)] Mitchell, Fincham, J Phys Condensed Matter, -5, 1031-1038 (1993). - -:link(MitchellFincham2) -[(Fincham)] Fincham, Mackrodt and Mitchell, J Phys Condensed Matter, -6, 393-404 (1994). - -:link(howto-Lamoureux) -[(Lamoureux and Roux)] G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003) - -:link(Tranchida7) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -arXiv preprint arXiv:1801.10233, (2018). diff --git a/doc/src/Section_intro.txt b/doc/src/Section_intro.txt deleted file mode 100644 index c7cf5bf8d2..0000000000 --- a/doc/src/Section_intro.txt +++ /dev/null @@ -1,550 +0,0 @@ -"Previous Section"_Manual.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_start.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -1. Introduction :h2 - -This section provides an overview of what LAMMPS can and can't do, -describes what it means for LAMMPS to be an open-source code, and -acknowledges the funding and people who have contributed to LAMMPS -over the years. - -1.1 "What is LAMMPS"_#intro_1 -1.2 "LAMMPS features"_#intro_2 -1.3 "LAMMPS non-features"_#intro_3 -1.4 "Open source distribution"_#intro_4 -1.5 "Acknowledgments and citations"_#intro_5 :all(b) - -:line -:line - -1.1 What is LAMMPS :link(intro_1),h4 - -LAMMPS is a classical molecular dynamics code that models an ensemble -of particles in a liquid, solid, or gaseous state. It can model -atomic, polymeric, biological, metallic, granular, and coarse-grained -systems using a variety of force fields and boundary conditions. - -For examples of LAMMPS simulations, see the Publications page of the -"LAMMPS WWW Site"_lws. - -LAMMPS runs efficiently on single-processor desktop or laptop -machines, but is designed for parallel computers. It will run on any -parallel machine that compiles C++ and supports the "MPI"_mpi -message-passing library. This includes distributed- or shared-memory -parallel machines and Beowulf-style clusters. - -:link(mpi,http://www-unix.mcs.anl.gov/mpi) - -LAMMPS can model systems with only a few particles up to millions or -billions. See "Section 8"_Section_perf.html for information on -LAMMPS performance and scalability, or the Benchmarks section of the -"LAMMPS WWW Site"_lws. - -LAMMPS is a freely-available open-source code, distributed under the -terms of the "GNU Public License"_gnu, which means you can use or -modify the code however you wish. See "this section"_#intro_4 for a -brief discussion of the open-source philosophy. - -:link(gnu,http://www.gnu.org/copyleft/gpl.html) - -LAMMPS is designed to be easy to modify or extend with new -capabilities, such as new force fields, atom types, boundary -conditions, or diagnostics. See the "Modify"_Modify.html doc page for -more details. - -The current version of LAMMPS is written in C++. Earlier versions -were written in F77 and F90. See -"Section 13"_Section_history.html for more information on -different versions. All versions can be downloaded from the "LAMMPS -WWW Site"_lws. - -LAMMPS was originally developed under a US Department of Energy CRADA -(Cooperative Research and Development Agreement) between two DOE labs -and 3 companies. It is distributed by "Sandia National Labs"_snl. -See "this section"_#intro_5 for more information on LAMMPS funding and -individuals who have contributed to LAMMPS. - -:link(snl,http://www.sandia.gov) - -In the most general sense, LAMMPS integrates Newton's equations of -motion for collections of atoms, molecules, or macroscopic particles -that interact via short- or long-range forces with a variety of -initial and/or boundary conditions. For computational efficiency -LAMMPS uses neighbor lists to keep track of nearby particles. The -lists are optimized for systems with particles that are repulsive at -short distances, so that the local density of particles never becomes -too large. On parallel machines, LAMMPS uses spatial-decomposition -techniques to partition the simulation domain into small 3d -sub-domains, one of which is assigned to each processor. Processors -communicate and store "ghost" atom information for atoms that border -their sub-domain. LAMMPS is most efficient (in a parallel sense) for -systems whose particles fill a 3d rectangular box with roughly uniform -density. Papers with technical details of the algorithms used in -LAMMPS are listed in "this section"_#intro_5. - -:line - -1.2 LAMMPS features :link(intro_2),h4 - -This section highlights LAMMPS features, with pointers to specific -commands which give more details. If LAMMPS doesn't have your -favorite interatomic potential, boundary condition, or atom type, see -the "Modify"_Modify.html doc page, which describes how you can add it -to LAMMPS. - -General features :h4 - - runs on a single processor or in parallel - distributed-memory message-passing parallelism (MPI) - spatial-decomposition of simulation domain for parallelism - open-source distribution - highly portable C++ - optional libraries used: MPI and single-processor FFT - GPU (CUDA and OpenCL), Intel(R) Xeon Phi(TM) coprocessors, and OpenMP support for many code features - easy to extend with new features and functionality - runs from an input script - syntax for defining and using variables and formulas - syntax for looping over runs and breaking out of loops - run one or multiple simulations simultaneously (in parallel) from one script - build as library, invoke LAMMPS thru library interface or provided Python wrapper - couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both :ul - -Particle and model types :h4 -("atom style"_atom_style.html command) - - atoms - coarse-grained particles (e.g. bead-spring polymers) - united-atom polymers or organic molecules - all-atom polymers, organic molecules, proteins, DNA - metals - granular materials - coarse-grained mesoscale models - finite-size spherical and ellipsoidal particles - finite-size line segment (2d) and triangle (3d) particles - point dipole particles - rigid collections of particles - hybrid combinations of these :ul - -Force fields :h4 -("pair style"_pair_style.html, "bond style"_bond_style.html, -"angle style"_angle_style.html, "dihedral style"_dihedral_style.html, -"improper style"_improper_style.html, "kspace style"_kspace_style.html -commands) - - pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, \ - Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated - charged pairwise potentials: Coulombic, point-dipole - manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), \ - embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, \ - REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic - long-range interactions for charge, point-dipoles, and LJ dispersion: \ - Ewald, Wolf, PPPM (similar to particle-mesh Ewald) - polarization models: "QEq"_fix_qeq.html, \ - "core/shell model"_Section_howto.html#howto_26, \ - "Drude dipole model"_Section_howto.html#howto_27 - charge equilibration (QEq via dynamic, point, shielded, Slater methods) - coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO - mesoscopic potentials: granular, Peridynamics, SPH - electron force field (eFF, AWPMD) - bond potentials: harmonic, FENE, Morse, nonlinear, class 2, \ - quartic (breakable) - angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, \ - class 2 (COMPASS) - dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, \ - class 2 (COMPASS), OPLS - improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS) - polymer potentials: all-atom, united-atom, bead-spring, breakable - water potentials: TIP3P, TIP4P, SPC - implicit solvent potentials: hydrodynamic lubrication, Debye - force-field compatibility with common CHARMM, AMBER, DREIDING, \ - OPLS, GROMACS, COMPASS options - access to "KIM archive"_http://openkim.org of potentials via \ - "pair kim"_pair_kim.html - hybrid potentials: multiple pair, bond, angle, dihedral, improper \ - potentials can be used in one simulation - overlaid potentials: superposition of multiple pair potentials :ul - -Atom creation :h4 -("read_data"_read_data.html, "lattice"_lattice.html, -"create_atoms"_create_atoms.html, "delete_atoms"_delete_atoms.html, -"displace_atoms"_displace_atoms.html, "replicate"_replicate.html commands) - - read in atom coords from files - create atoms on one or more lattices (e.g. grain boundaries) - delete geometric or logical groups of atoms (e.g. voids) - replicate existing atoms multiple times - displace atoms :ul - -Ensembles, constraints, and boundary conditions :h4 -("fix"_fix.html command) - - 2d or 3d systems - orthogonal or non-orthogonal (triclinic symmetry) simulation domains - constant NVE, NVT, NPT, NPH, Parinello/Rahman integrators - thermostatting options for groups and geometric regions of atoms - pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions - simulation box deformation (tensile and shear) - harmonic (umbrella) constraint forces - rigid body constraints - SHAKE bond and angle constraints - Monte Carlo bond breaking, formation, swapping - atom/molecule insertion and deletion - walls of various kinds - non-equilibrium molecular dynamics (NEMD) - variety of additional boundary conditions and constraints :ul - -Integrators :h4 -("run"_run.html, "run_style"_run_style.html, "minimize"_minimize.html commands) - - velocity-Verlet integrator - Brownian dynamics - rigid body integration - energy minimization via conjugate gradient or steepest descent relaxation - rRESPA hierarchical timestepping - rerun command for post-processing of dump files :ul - -Diagnostics :h4 - - see the various flavors of the "fix"_fix.html and "compute"_compute.html commands :ul - -Output :h4 -("dump"_dump.html, "restart"_restart.html commands) - - log file of thermodynamic info - text dump files of atom coords, velocities, other per-atom quantities - binary restart files - parallel I/O of dump and restart files - per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc) - user-defined system-wide (log file) or per-atom (dump file) calculations - spatial and time averaging of per-atom quantities - time averaging of system-wide quantities - atom snapshots in native, XYZ, XTC, DCD, CFG formats :ul - -Multi-replica models :h4 - -"nudged elastic band"_neb.html -"parallel replica dynamics"_prd.html -"temperature accelerated dynamics"_tad.html -"parallel tempering"_temper.html - -Pre- and post-processing :h4 - -Various pre- and post-processing serial tools are packaged with -LAMMPS; see the "Tools"_Tools.html doc page for details. :ulb,l - -Our group has also written and released a separate toolkit called -"Pizza.py"_pizza which provides tools for doing setup, analysis, -plotting, and visualization for LAMMPS simulations. Pizza.py is -written in "Python"_python and is available for download from "the -Pizza.py WWW site"_pizza. :l -:ule - -:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) -:link(python,http://www.python.org) - -Specialized features :h4 - -LAMMPS can be built with optional packages which implement a variety -of additional capabilities. An overview of all the packages is "given -here"_Section_packages.html. - -These are some LAMMPS capabilities which you may not think of as -typical classical molecular dynamics options: - -"static"_balance.html and "dynamic load-balancing"_fix_balance.html -"generalized aspherical particles"_body.html -"stochastic rotation dynamics (SRD)"_fix_srd.html -"real-time visualization and interactive MD"_fix_imd.html -calculate "virtual diffraction patterns"_compute_xrd.html -"atom-to-continuum coupling"_fix_atc.html with finite elements -coupled rigid body integration via the "POEMS"_fix_poems.html library -"QM/MM coupling"_fix_qmmm.html -"path-integral molecular dynamics (PIMD)"_fix_ipi.html and "this as well"_fix_pimd.html -Monte Carlo via "GCMC"_fix_gcmc.html and "tfMC"_fix_tfmc.html "atom swapping"_fix_atom_swap.html and "bond swapping"_fix_bond_swap.html -"Direct Simulation Monte Carlo"_pair_dsmc.html for low-density fluids -"Peridynamics mesoscale modeling"_pair_peri.html -"Lattice Boltzmann fluid"_fix_lb_fluid.html -"targeted"_fix_tmd.html and "steered"_fix_smd.html molecular dynamics -"two-temperature electron model"_fix_ttm.html :ul - -:line - -1.3 LAMMPS non-features :link(intro_3),h4 - -LAMMPS is designed to efficiently compute Newton's equations of motion -for a system of interacting particles. Many of the tools needed to -pre- and post-process the data for such simulations are not included -in the LAMMPS kernel for several reasons: - -the desire to keep LAMMPS simple -they are not parallel operations -other codes already do them -limited development resources :ul - -Specifically, LAMMPS itself does not: - -run thru a GUI -build molecular systems -assign force-field coefficients automagically -perform sophisticated analyses of your MD simulation -visualize your MD simulation -plot your output data :ul - -A few tools for pre- and post-processing tasks are provided as part of -the LAMMPS package; they are described on the "Tools"_Tools.html doc -page. However, many people use other codes or write their own tools -for these tasks. - -As noted above, our group has also written and released a separate -toolkit called "Pizza.py"_pizza which addresses some of the listed -bullets. It provides tools for doing setup, analysis, plotting, and -visualization for LAMMPS simulations. Pizza.py is written in -"Python"_python and is available for download from "the Pizza.py WWW -site"_pizza. - -LAMMPS requires as input a list of initial atom coordinates and types, -molecular topology information, and force-field coefficients assigned -to all atoms and bonds. LAMMPS will not build molecular systems and -assign force-field parameters for you. - -For atomic systems LAMMPS provides a "create_atoms"_create_atoms.html -command which places atoms on solid-state lattices (fcc, bcc, -user-defined, etc). Assigning small numbers of force field -coefficients can be done via the "pair coeff"_pair_coeff.html, "bond -coeff"_bond_coeff.html, "angle coeff"_angle_coeff.html, etc commands. -For molecular systems or more complicated simulation geometries, users -typically use another code as a builder and convert its output to -LAMMPS input format, or write their own code to generate atom -coordinate and molecular topology for LAMMPS to read in. - -For complicated molecular systems (e.g. a protein), a multitude of -topology information and hundreds of force-field coefficients must -typically be specified. We suggest you use a program like -"CHARMM"_charmm or "AMBER"_amber or other molecular builders to setup -such problems and dump its information to a file. You can then -reformat the file as LAMMPS input. Some of the tools described on the -"Tools"_Tools.html doc page can assist in this process. - -Similarly, LAMMPS creates output files in a simple format. Most users -post-process these files with their own analysis tools or re-format -them for input into other programs, including visualization packages. -If you are convinced you need to compute something on-the-fly as -LAMMPS runs, see the "Modify"_Modify.html doc page for a discussion of -how you can use the "dump"_dump.html and "compute"_compute.html and -"fix"_fix.html commands to print out data of your choosing. Keep in -mind that complicated computations can slow down the molecular -dynamics timestepping, particularly if the computations are not -parallel, so it is often better to leave such analysis to -post-processing codes. - -For high-quality visualization we recommend the -following packages: - -"VMD"_http://www.ks.uiuc.edu/Research/vmd -"AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A -"OVITO"_http://www.ovito.org/ -"ParaView"_http://www.paraview.org/ -"PyMol"_http://www.pymol.org -"Raster3d"_http://www.bmsc.washington.edu/raster3d/raster3d.html -"RasMol"_http://www.openrasmol.org :ul - -Other features that LAMMPS does not yet (and may never) support are -discussed in "Section 13"_Section_history.html. - -Finally, these are freely-available molecular dynamics codes, most of -them parallel, which may be well-suited to the problems you want to -model. They can also be used in conjunction with LAMMPS to perform -complementary modeling tasks. - -"CHARMM"_charmm -"AMBER"_amber -"NAMD"_namd -"NWCHEM"_nwchem -"DL_POLY"_dlpoly -"Tinker"_tinker :ul - -:link(charmm,http://www.charmm.org) -:link(amber,http://ambermd.org) -:link(namd,http://www.ks.uiuc.edu/Research/namd/) -:link(nwchem,http://www.emsl.pnl.gov/docs/nwchem/nwchem.html) -:link(dlpoly,http://www.ccp5.ac.uk/DL_POLY_CLASSIC) -:link(tinker,http://dasher.wustl.edu/tinker) - -CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for -modeling biological molecules. CHARMM and AMBER use -atom-decomposition (replicated-data) strategies for parallelism; NAMD -and NWCHEM use spatial-decomposition approaches, similar to LAMMPS. -Tinker is a serial code. DL_POLY includes potentials for a variety of -biological and non-biological materials; both a replicated-data and -spatial-decomposition version exist. - -:line - -1.4 Open source distribution :link(intro_4),h4 - -LAMMPS comes with no warranty of any kind. As each source file states -in its header, it is a copyrighted code that is distributed free-of- -charge, under the terms of the "GNU Public License"_gnu (GPL). This -is often referred to as open-source distribution - see -"www.gnu.org"_gnuorg or "www.opensource.org"_opensource for more -details. The legal text of the GPL is in the LICENSE file that is -included in the LAMMPS distribution. - -:link(gnuorg,http://www.gnu.org) -:link(opensource,http://www.opensource.org) - -Here is a summary of what the GPL means for LAMMPS users: - -(1) Anyone is free to use, modify, or extend LAMMPS in any way they -choose, including for commercial purposes. - -(2) If you distribute a modified version of LAMMPS, it must remain -open-source, meaning you distribute it under the terms of the GPL. -You should clearly annotate such a code as a derivative version of -LAMMPS. - -(3) If you release any code that includes LAMMPS source code, then it -must also be open-sourced, meaning you distribute it under the terms -of the GPL. - -(4) If you give LAMMPS files to someone else, the GPL LICENSE file and -source file headers (including the copyright and GPL notices) should -remain part of the code. - -In the spirit of an open-source code, these are various ways you can -contribute to making LAMMPS better. You can send email to the -"developers"_http://lammps.sandia.gov/authors.html on any of these -items. - -Point prospective users to the "LAMMPS WWW Site"_lws. Mention it in -talks or link to it from your WWW site. :ulb,l - -If you find an error or omission in this manual or on the "LAMMPS WWW -Site"_lws, or have a suggestion for something to clarify or include, -send an email to the -"developers"_http://lammps.sandia.gov/authors.html. :l - -If you find a bug, the "Errors bugs"_Errors_bugs.html doc page -describes how to report it. :l - -If you publish a paper using LAMMPS results, send the citation (and -any cool pictures or movies if you like) to add to the Publications, -Pictures, and Movies pages of the "LAMMPS WWW Site"_lws, with links -and attributions back to you. :l - -Create a new Makefile.machine that can be added to the src/MAKE -directory. :l - -The tools sub-directory of the LAMMPS distribution has various -stand-alone codes for pre- and post-processing of LAMMPS data. More -details are given on the "Tools"_Tools.html doc page. If you write a -new tool that users will find useful, it can be added to the LAMMPS -distribution. :l - -LAMMPS is designed to be easy to extend with new code for features -like potentials, boundary conditions, diagnostic computations, etc. -The "Modify"_Modify.html doc page gives details. If you add a feature -of general interest, it can be added to the LAMMPS distribution. :l - -The Benchmark page of the "LAMMPS WWW Site"_lws lists LAMMPS -performance on various platforms. The files needed to run the -benchmarks are part of the LAMMPS distribution. If your machine is -sufficiently different from those listed, your timing data can be -added to the page. :l - -You can send feedback for the User Comments page of the "LAMMPS WWW -Site"_lws. It might be added to the page. No promises. :l - -Cash. Small denominations, unmarked bills preferred. Paper sack OK. -Leave on desk. VISA also accepted. Chocolate chip cookies -encouraged. :l -:ule - -:line - -1.5 Acknowledgments and citations :h3,link(intro_5) - -LAMMPS development has been funded by the "US Department of -Energy"_doe (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life -programs and its "OASCR"_oascr and "OBER"_ober offices. - -Specifically, work on the latest version was funded in part by the US -Department of Energy's Genomics:GTL program -("www.doegenomestolife.org"_gtl) under the "project"_ourgtl, "Carbon -Sequestration in Synechococcus Sp.: From Molecular Machines to -Hierarchical Modeling". - -:link(doe,http://www.doe.gov) -:link(gtl,http://www.doegenomestolife.org) -:link(ourgtl,http://www.genomes2life.org) -:link(oascr,http://www.sc.doe.gov/ascr/home.html) -:link(ober,http://www.er.doe.gov/production/ober/ober_top.html) - -The following paper describe the basic parallel algorithms used in -LAMMPS. If you use LAMMPS results in your published work, please cite -this paper and include a pointer to the "LAMMPS WWW Site"_lws -(http://lammps.sandia.gov): - -S. Plimpton, [Fast Parallel Algorithms for Short-Range Molecular -Dynamics], J Comp Phys, 117, 1-19 (1995). - -Other papers describing specific algorithms used in LAMMPS are listed -under the "Citing LAMMPS link"_http://lammps.sandia.gov/cite.html of -the LAMMPS WWW page. - -The "Publications link"_http://lammps.sandia.gov/papers.html on the -LAMMPS WWW page lists papers that have cited LAMMPS. If your paper is -not listed there for some reason, feel free to send us the info. If -the simulations in your paper produced cool pictures or animations, -we'll be pleased to add them to the -"Pictures"_http://lammps.sandia.gov/pictures.html or -"Movies"_http://lammps.sandia.gov/movies.html pages of the LAMMPS WWW -site. - -The primary LAMMPS developers are at Sandia National Labs and Temple University: - -Steve Plimpton, sjplimp at sandia.gov -Aidan Thompson, athomps at sandia.gov -Stan Moore, stamoor at sandia.gov -Axel Kohlmeyer, akohlmey at gmail.com :ul - -Past primary developers include Paul Crozier and Mark Stevens, -both at Sandia, and Ray Shan, now at Materials Design. - -The following folks are responsible for significant contributions to -the code, or other aspects of the LAMMPS development effort. Many of -the packages they have written are somewhat unique to LAMMPS and the -code would not be as general-purpose as it is without their expertise -and efforts. - -Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CGSDK, USER-OMP, USER-COLVARS, USER-MOLFILE, USER-QMMM, USER-TALLY, and COMPRESS packages -Roy Pollock (LLNL), Ewald and PPPM solvers -Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL package -Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential (superseded by USER-MEAMC) -Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics -Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion -Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling -Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD -Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA (obsoleted by KOKKOS) and KOKKOS packages -Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field -Christoph Kloss (JKU), Christoph.Kloss at jku.at, LIGGGHTS fork for granular models and granular/fluid coupling -Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF -Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SMD and USER-SPH packages -Colin Denniston (U Western Ontario), cdennist at uwo.ca, USER-LB package :ul - -As discussed in "Section 13"_Section_history.html, LAMMPS -originated as a cooperative project between DOE labs and industrial -partners. Folks involved in the design and testing of the original -version of LAMMPS were the following: - -John Carpenter (Mayo Clinic, formerly at Cray Research) -Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb) -Steve Lustig (Dupont) -Jim Belak (LLNL) :ul diff --git a/doc/src/Section_start.txt b/doc/src/Section_start.txt index d8f340b179..19a798d5df 100644 --- a/doc/src/Section_start.txt +++ b/doc/src/Section_start.txt @@ -1,10 +1,10 @@ -"Previous Section"_Section_intro.html - "LAMMPS WWW Site"_lws - +"Previous Section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Section_commands.html :c +Section"_Commands.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -119,10 +119,11 @@ lower-case name of the package, e.g. replica or user-misc. If you want to do one of the following: -use a LAMMPS command that requires an extra library (e.g. "dump image"_dump_image.html) -build with a package that requires an extra library -build with an accelerator package that requires special compiler/linker settings -run on a machine that has its own compilers, settings, or libraries :ul +use a LAMMPS command that requires an extra library (e.g. "dump +image"_dump_image.html) build with a package that requires an extra +library build with an accelerator package that requires special +compiler/linker settings run on a machine that has its own compilers, +settings, or libraries :ul then building LAMMPS is more complicated. You may need to find where extra libraries exist on your machine or install them if they don't. @@ -697,8 +698,8 @@ are always included, plus optional packages. Packages are groups of files that enable a specific set of features. For example, force fields for molecular systems or granular systems are in packages. -"Section 4"_Section_packages.html in the manual has details about all -the packages, which come in two flavors: [standard] and [user] +The "Packages"_Packages.html doc pages has details about all the +packages, which come in two flavors: [standard] and [user] packages. It also has specific instructions for building LAMMPS with any package which requires an extra library. General instructions are below. @@ -828,45 +829,47 @@ options. Packages that require extra libraries :h4,link(start_3_3) A few of the standard and user packages require extra libraries. See -"Section 4"_Section_packages.html for two tables of packages which -indicate which ones require libraries. For each such package, the -Section 4 doc page gives details on how to build the extra library, -including how to download it if necessary. The basic ideas are -summarized here. +the "Packages"_Packages.html doc pages for two tables of packages +which indicate which ones require libraries. For each such package, +the Section 4 doc page gives details on how to build the extra +library, including how to download it if necessary. The basic ideas +are summarized here. [System libraries:] -Packages in the tables "Section 4"_Section_packages.html with a "sys" -in the last column link to system libraries that typically already -exist on your machine. E.g. the python package links to a system -Python library. If your machine does not have the required library, -you will have to download and install it on your machine, in either -the system or user space. +Packages in the standard and user tables of the +"Packages"_Packages.html doc pages with a "sys" in the last column +link to system libraries that typically already exist on your machine. +E.g. the python package links to a system Python library. If your +machine does not have the required library, you will have to download +and install it on your machine, in either the system or user space. [Internal libraries:] -Packages in the tables "Section 4"_Section_packages.html with an "int" -in the last column link to internal libraries whose source code is -included with LAMMPS, in the lib/name directory where name is the -package name. You must first build the library in that directory -before building LAMMPS with that package installed. E.g. the gpu -package links to a library you build in the lib/gpu dir. You can -often do the build in one step by typing "make lib-name args=..." -from the src dir, with appropriate arguments. You can leave off the -args to see a help message. See "Section 4"_Section_packages.html for -details for each package. +Packages in the standard and user tables of the +"Packages"_Packages.html doc pages with an "int" in the last column +link to internal libraries whose source code is included with LAMMPS, +in the lib/name directory where name is the package name. You must +first build the library in that directory before building LAMMPS with +that package installed. E.g. the gpu package links to a library you +build in the lib/gpu dir. You can often do the build in one step by +typing "make lib-name args=..." from the src dir, with appropriate +arguments. You can leave off the args to see a help message. See the +"Packages details"_Packages_details.html doc page for details for each +package. [External libraries:] -Packages in the tables "Section 4"_Section_packages.html with an "ext" -in the last column link to external libraries whose source code is not -included with LAMMPS. You must first download and install the library -before building LAMMPS with that package installed. E.g. the voronoi -package links to the freely available "Voro++ library"_voro_home2. You -can often do the download/build in one step by typing "make lib-name +Packages in the standard and user tables of the +"Packages"_Packages.html doc pages with an "ext" in the last column +link to external libraries whose source code is not included with +LAMMPS. You must first download and install the library before +building LAMMPS with that package installed. E.g. the voronoi package +links to the freely available "Voro++ library"_voro_home2. You can +often do the download/build in one step by typing "make lib-name args=..." from the src dir, with appropriate arguments. You can leave -off the args to see a help message. See "Section -4"_Section_packages.html for details for each package. +off the args to see a help message. See the "Packages +details"_Packages_details.html doc page for details for each package. :link(voro_home2,http://math.lbl.gov/voro++) @@ -888,9 +891,9 @@ copied from a lib/name/Makefile.lammps.* file when the library is built. If those settings are not correct for your machine you will need to edit or create an appropriate Makefile.lammps file. -Package-specific details for these steps are given in "Section -4"_Section_packages.html an in README files in the lib/name -directories. +Package-specific details for these steps are given on the "Packages +details"_Packages_details.html doc page and in README files in the +lib/name directories. [Compiler options needed for accelerator packages:] @@ -901,14 +904,14 @@ these accelerator packages for optimal performance requires specific settings in the Makefile.machine file you use. A summary of the Makefile.machine settings needed for each of these -packages is given in "Section 4"_Section_packages.html. More info is -given on the doc pages that describe each package in detail: +packages is given on the "Packages"_Packages.html doc pages. More +info is given on the doc pages that describe each package in detail: -5.3.1 "USER-INTEL package"_accelerate_intel.html -5.3.2 "GPU package"_accelerate_intel.html -5.3.3 "KOKKOS package"_accelerate_kokkos.html -5.3.4 "USER-OMP package"_accelerate_omp.html -5.3.5 "OPT package"_accelerate_opt.html :all(b) +"USER-INTEL package"_Speed_intel.html +"GPU package"_Speed_gpu.html +"KOKKOS package"_Speed_kokkos.html +"USER-OMP package"_Speed_omp.html +"OPT package"_Speed_opt.html :all(b) You can also use or examine the following machine Makefiles in src/MAKE/OPTIONS, which include the settings. Note that the @@ -931,9 +934,9 @@ Makefile.opt :ul LAMMPS can be built as either a static or shared library, which can then be called from another application or a scripting language. See -"this section"_Section_howto.html#howto_10 for more info on coupling -LAMMPS to other codes. See the "Python"_Python.html doc page for more -info on wrapping and running LAMMPS from Python. +the "Howto couple"_Howto_couple.html doc page for more info on +coupling LAMMPS to other codes. See the "Python"_Python.html doc page +for more info on wrapping and running LAMMPS from Python. Static library :h4 @@ -1036,16 +1039,16 @@ src/library.cpp and src/library.h. See the sample codes in examples/COUPLE/simple for examples of C++ and C and Fortran codes that invoke LAMMPS thru its library interface. -There are other examples as well in the COUPLE directory which are -discussed in "Section 6.10"_Section_howto.html#howto_10 of the manual. -See the "Python"_Python.html doc page for a description of the Python -wrapper provided with LAMMPS that operates through the LAMMPS library -interface. +There are other examples as well in the COUPLE directory which use +coupling ideas discussed on the "Howto couple"_Howto_couple.html doc +page. See the "Python"_Python.html doc page for a description of the +Python wrapper provided with LAMMPS that operates through the LAMMPS +library interface. The files src/library.cpp and library.h define the C-style API for -using LAMMPS as a library. See "Section -6.19"_Section_howto.html#howto_19 of the manual for a description of the -interface and how to extend it for your needs. +using LAMMPS as a library. See the "Howto library"_Howto_library.html +doc page for a description of the interface and how to extend it for +your needs. :line @@ -1067,7 +1070,7 @@ the '-in' command-line switch, e.g. lmp_linux -in in.file :pre -"This section"_Section_commands.html describes how input scripts are +The "Commands"_Commands.html doc page describes how input scripts are structured and what commands they contain. You can test LAMMPS on any of the sample inputs provided in the @@ -1276,8 +1279,8 @@ Either the full word or an abbreviation can be used for the keywords. Note that the keywords do not use a leading minus sign. I.e. the keyword is "t", not "-t". Also note that each of the keywords has a default setting. Example of when to use these options and what -settings to use on different platforms is given in "Section -5.3"_Section_accelerate.html#acc_3. +settings to use on different platforms is given on the "Speed +kokkos"_Speed_kokkos.html doc page. d or device g or gpus @@ -1388,16 +1391,16 @@ processors in all partitions must equal P. Thus the command "-partition 8x2 4 5" has 10 partitions and runs on a total of 25 processors. -Running with multiple partitions can e useful for running -"multi-replica simulations"_Section_howto.html#howto_5, where each -replica runs on on one or a few processors. Note that with MPI -installed on a machine (e.g. your desktop), you can run on more -(virtual) processors than you have physical processors. +Running with multiple partitions can be useful for running +"multi-replica simulations"_Howto_replica.html, where each replica +runs on on one or a few processors. Note that with MPI installed on a +machine (e.g. your desktop), you can run on more (virtual) processors +than you have physical processors. To run multiple independent simulations from one input script, using -multiple partitions, see "Section 6.4"_Section_howto.html#howto_4 -of the manual. World- and universe-style "variables"_variable.html -are useful in this context. +multiple partitions, see the "Howto multiple"_Howto_multiple.html doc +page. World- and universe-style "variables"_variable.html are useful +in this context. -plog file :pre @@ -1461,8 +1464,7 @@ cores within each node are ranked in a desired order. Or when using the "run_style verlet/split"_run_style.html command with 2 partitions to insure that a specific Kspace processor (in the 2nd partition) is matched up with a specific set of processors in the 1st partition. -See the "Section 5"_Section_accelerate.html doc pages for -more details. +See the "Speed tips"_Speed_tips.html doc page for more details. If the keyword {nth} is used with a setting {N}, then it means every Nth processor will be moved to the end of the ranking. This is useful @@ -1613,9 +1615,9 @@ value2 ..." at the beginning of the input script. Defining an index variable as a command-line argument overrides any setting for the same index variable in the input script, since index variables cannot be re-defined. See the "variable"_variable.html command for more info on -defining index and other kinds of variables and "this -section"_Section_commands.html#cmd_2 for more info on using variables -in input scripts. +defining index and other kinds of variables and the "Commands +parse"_Commands_parse.html page for more info on using variables in +input scripts. NOTE: Currently, the command-line parser looks for arguments that start with "-" to indicate new switches. Thus you cannot specify @@ -1785,11 +1787,13 @@ communication, roughly 75% in the example above. The current C++ began with a complete rewrite of LAMMPS 2001, which was written in F90. Features of earlier versions of LAMMPS are listed -in "Section 13"_Section_history.html. The F90 and F77 versions -(2001 and 99) are also freely distributed as open-source codes; check -the "LAMMPS WWW Site"_lws for distribution information if you prefer -those versions. The 99 and 2001 versions are no longer under active -development; they do not have all the features of C++ LAMMPS. +on the "History page"_http://lammps.sandia.gov/history.html of the +LAMMPS website. The F90 and F77 versions (2001 and 99) are also +freely distributed as open-source codes; check the "History +page"_http://lammps.sandia.gov/history.html of the LAMMPS website for +info about those versions. The 99 and 2001 versions are no longer +under active development; they do not have all the features of C++ +LAMMPS. If you are a previous user of LAMMPS 2001, these are the most significant changes you will notice in C++ LAMMPS: diff --git a/doc/src/Speed.txt b/doc/src/Speed.txt new file mode 100644 index 0000000000..091657082a --- /dev/null +++ b/doc/src/Speed.txt @@ -0,0 +1,64 @@ +"Previous Section"_Package.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Howto.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Accelerate performance :h2 + +This section describes various methods for improving LAMMPS +performance for different classes of problems running on different +kinds of machines. + +There are two thrusts to the discussion that follows. The first is +using code options that implement alternate algorithms that can +speed-up a simulation. The second is to use one of the several +accelerator packages provided with LAMMPS that contain code optimized +for certain kinds of hardware, including multi-core CPUs, GPUs, and +Intel Xeon Phi coprocessors. + +The "Benchmark page"_http://lammps.sandia.gov/bench.html of the LAMMPS +web site gives performance results for the various accelerator +packages discussed on the "Speed packages"_Speed_packages.html doc +page, for several of the standard LAMMPS benchmark problems, as a +function of problem size and number of compute nodes, on different +hardware platforms. + + + + + +"Benchmarks"_Speed_bench.html +"Measuring performance"_Speed_measure.html :all(b) + +"General tips"_Speed_tips.html :all(b) + +"Accelerator packages"_Speed_packages.html +"GPU package"_Speed_gpu.html +"USER-INTEL package"_Speed_intel.html +"KOKKOS package"_Speed_kokkos.html +"USER-OMP package"_Speed_omp.html +"OPT package"_Speed_opt.html +"Comparison of accelerator packages"_Speed_compare.html :all(b) + + diff --git a/doc/src/Section_perf.txt b/doc/src/Speed_bench.txt similarity index 86% rename from doc/src/Section_perf.txt rename to doc/src/Speed_bench.txt index f320780129..8e407d14ea 100644 --- a/doc/src/Section_perf.txt +++ b/doc/src/Speed_bench.txt @@ -1,19 +1,18 @@ -"Previous Section"_Examples.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Tools.html -:c +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line -8. Performance & scalability :h2 +Benchmarks :h3 -Current LAMMPS performance is discussed on the Benchmarks page of the -"LAMMPS WWW Site"_lws where CPU timings and parallel efficiencies are -listed. The page has several sections, which are briefly described -below: +Current LAMMPS performance is discussed on the "Benchmarks +page"_http://lammps.sandia.gov/bench.html of the "LAMMPS website"_lws +where timings and parallel efficiencies are listed. The page has +several sections, which are briefly described below: CPU performance on 5 standard problems, strong and weak scaling GPU and Xeon Phi performance on same and related problems @@ -53,8 +52,8 @@ of these 5 problems on 1 or 4 cores of Linux desktop. The bench/FERMI and bench/KEPLER dirs have input files and scripts and instructions for running the same (or similar) problems using OpenMP or GPU or Xeon Phi acceleration options. See the README files in those dirs and the -"Section 5.3"_Section_accelerate.html#acc_3 doc pages for -instructions on how to build LAMMPS and run on that kind of hardware. +"Speed packages"_Speed_packages.html doc pages for instructions on how +to build LAMMPS and run on that kind of hardware. The bench/POTENTIALS directory has input files which correspond to the table of results on the diff --git a/doc/src/Speed_compare.txt b/doc/src/Speed_compare.txt new file mode 100644 index 0000000000..1a17b39c79 --- /dev/null +++ b/doc/src/Speed_compare.txt @@ -0,0 +1,73 @@ +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Comparison of various accelerator packages :h3 + +NOTE: this section still needs to be re-worked with additional KOKKOS +and USER-INTEL information. + +The next section compares and contrasts the various accelerator +options, since there are multiple ways to perform OpenMP threading, +run on GPUs, and run on Intel Xeon Phi coprocessors. + +All 3 of these packages accelerate a LAMMPS calculation using NVIDIA +hardware, but they do it in different ways. + +As a consequence, for a particular simulation on specific hardware, +one package may be faster than the other. We give guidelines below, +but the best way to determine which package is faster for your input +script is to try both of them on your machine. See the benchmarking +section below for examples where this has been done. + +[Guidelines for using each package optimally:] + +The GPU package allows you to assign multiple CPUs (cores) to a single +GPU (a common configuration for "hybrid" nodes that contain multicore +CPU(s) and GPU(s)) and works effectively in this mode. :ulb,l + +The GPU package moves per-atom data (coordinates, forces) +back-and-forth between the CPU and GPU every timestep. The +KOKKOS/CUDA package only does this on timesteps when a CPU calculation +is required (e.g. to invoke a fix or compute that is non-GPU-ized). +Hence, if you can formulate your input script to only use GPU-ized +fixes and computes, and avoid doing I/O too often (thermo output, dump +file snapshots, restart files), then the data transfer cost of the +KOKKOS/CUDA package can be very low, causing it to run faster than the +GPU package. :l + +The GPU package is often faster than the KOKKOS/CUDA package, if the +number of atoms per GPU is smaller. The crossover point, in terms of +atoms/GPU at which the KOKKOS/CUDA package becomes faster depends +strongly on the pair style. For example, for a simple Lennard Jones +system the crossover (in single precision) is often about 50K-100K +atoms per GPU. When performing double precision calculations the +crossover point can be significantly smaller. :l + +Both packages compute bonded interactions (bonds, angles, etc) on the +CPU. If the GPU package is running with several MPI processes +assigned to one GPU, the cost of computing the bonded interactions is +spread across more CPUs and hence the GPU package can run faster. :l + +When using the GPU package with multiple CPUs assigned to one GPU, its +performance depends to some extent on high bandwidth between the CPUs +and the GPU. Hence its performance is affected if full 16 PCIe lanes +are not available for each GPU. In HPC environments this can be the +case if S2050/70 servers are used, where two devices generally share +one PCIe 2.0 16x slot. Also many multi-GPU mainboards do not provide +full 16 lanes to each of the PCIe 2.0 16x slots. :l +:ule + +[Differences between the two packages:] + +The GPU package accelerates only pair force, neighbor list, and PPPM +calculations. :ulb,l + +The GPU package requires neighbor lists to be built on the CPU when using +exclusion lists, hybrid pair styles, or a triclinic simulation box. :l +:ule diff --git a/doc/src/accelerate_gpu.txt b/doc/src/Speed_gpu.txt similarity index 96% rename from doc/src/accelerate_gpu.txt rename to doc/src/Speed_gpu.txt index 816a31c788..ab8ec7e9d1 100644 --- a/doc/src/accelerate_gpu.txt +++ b/doc/src/Speed_gpu.txt @@ -1,15 +1,13 @@ -"Previous Section"_Section_packages.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line -"Return to Section accelerate overview"_Section_accelerate.html - -5.3.1 GPU package :h5 +GPU package :h3 The GPU package was developed by Mike Brown at ORNL and his collaborators, particularly Trung Nguyen (ORNL). It provides GPU @@ -72,10 +70,9 @@ Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) t [Building LAMMPS with the GPU package:] This requires two steps (a,b): build the GPU library, then build -LAMMPS with the GPU package. - -You can do both these steps in one line as described in -"Section 4"_Section_packages.html of the manual. +LAMMPS with the GPU package. You can do both these steps in one line +as described on the "Packages details"_Packages_details.html#GPU doc +page. Or you can follow these two (a,b) steps: diff --git a/doc/src/accelerate_intel.txt b/doc/src/Speed_intel.txt similarity index 97% rename from doc/src/accelerate_intel.txt rename to doc/src/Speed_intel.txt index 71f5185b15..20f49672e0 100644 --- a/doc/src/accelerate_intel.txt +++ b/doc/src/Speed_intel.txt @@ -1,15 +1,13 @@ -"Previous Section"_Section_packages.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line -"Return to Section accelerate overview"_Section_accelerate.html - -5.3.2 USER-INTEL package :h5 +USER-INTEL package :h3 The USER-INTEL package is maintained by Mike Brown at Intel Corporation. It provides two methods for accelerating simulations, @@ -188,8 +186,8 @@ can start running so that the CPU pipeline is still being used efficiently. Although benefits can be seen by launching a MPI task for every hardware thread, for multinode simulations, we recommend that OpenMP threads are used for SMT instead, either with the -USER-INTEL package, "USER-OMP package"_accelerate_omp.html, or -"KOKKOS package"_accelerate_kokkos.html. In the example above, up +USER-INTEL package, "USER-OMP package"_Speed_omp.html, or +"KOKKOS package"_Speed_kokkos.html. In the example above, up to 36X speedups can be observed by using all 36 physical cores with LAMMPS. By using all 72 hardware threads, an additional 10-30% performance gain can be achieved. @@ -233,9 +231,9 @@ source /opt/intel/parallel_studio_xe_2016.3.067/psxevars.sh # or psxevars.csh for C-shell make intel_cpu_intelmpi :pre -Alternatively this can be done as a single command with -suitable make command invocations. This is discussed in "Section -4"_Section_packages.html of the manual. +Alternatively this can be done as a single command with suitable make +command invocations, as described on the "Packages +details"_Packages_details.html#USER-INTEL doc page. Note that if you build with support for a Phi coprocessor, the same binary can be used on nodes with or without coprocessors installed. @@ -391,8 +389,8 @@ performance and/or scalability for simple 2-body potentials such as lj/cut or when using LRT mode on processors supporting AVX-512. Not all styles are supported in the USER-INTEL package. You can mix -the USER-INTEL package with styles from the "OPT"_accelerate_opt.html -package or the "USER-OMP package"_accelerate_omp.html. Of course, +the USER-INTEL package with styles from the "OPT"_Speed_opt.html +package or the "USER-OMP package"_Speed_omp.html. Of course, this requires that these packages were installed at build time. This can performed automatically by using "-sf hybrid intel opt" or "-sf hybrid intel omp" command-line options. Alternatively, the "opt" diff --git a/doc/src/accelerate_kokkos.txt b/doc/src/Speed_kokkos.txt similarity index 59% rename from doc/src/accelerate_kokkos.txt rename to doc/src/Speed_kokkos.txt index 0c9178d6e4..14f4103aed 100644 --- a/doc/src/accelerate_kokkos.txt +++ b/doc/src/Speed_kokkos.txt @@ -1,38 +1,41 @@ -"Previous Section"_Section_packages.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line -"Return to Section accelerate overview"_Section_accelerate.html - -5.3.3 KOKKOS package :h5 +KOKKOS package :h3 Kokkos is a templated C++ library that provides abstractions to allow -a single implementation of an application kernel (e.g. a pair style) to run efficiently on -different kinds of hardware, such as GPUs, Intel Xeon Phis, or many-core -CPUs. Kokkos maps the C++ kernel onto different backend languages such as CUDA, OpenMP, or Pthreads. -The Kokkos library also provides data abstractions to adjust (at -compile time) the memory layout of data structures like 2d and -3d arrays to optimize performance on different hardware. For more information on Kokkos, see -"Github"_https://github.com/kokkos/kokkos. Kokkos is part of -"Trilinos"_http://trilinos.sandia.gov/packages/kokkos. The Kokkos library was written primarily by Carter Edwards, -Christian Trott, and Dan Sunderland (all Sandia). - -The LAMMPS KOKKOS package contains versions of pair, fix, and atom styles -that use data structures and macros provided by the Kokkos library, -which is included with LAMMPS in /lib/kokkos. The KOKKOS package was developed primarily by Christian Trott (Sandia) -and Stan Moore (Sandia) with contributions of various styles by others, including Sikandar -Mashayak (UIUC), Ray Shan (Sandia), and Dan Ibanez (Sandia). For more information on developing using Kokkos abstractions +a single implementation of an application kernel (e.g. a pair style) +to run efficiently on different kinds of hardware, such as GPUs, Intel +Xeon Phis, or many-core CPUs. Kokkos maps the C++ kernel onto +different backend languages such as CUDA, OpenMP, or Pthreads. The +Kokkos library also provides data abstractions to adjust (at compile +time) the memory layout of data structures like 2d and 3d arrays to +optimize performance on different hardware. For more information on +Kokkos, see "Github"_https://github.com/kokkos/kokkos. Kokkos is part +of "Trilinos"_http://trilinos.sandia.gov/packages/kokkos. The Kokkos +library was written primarily by Carter Edwards, Christian Trott, and +Dan Sunderland (all Sandia). + +The LAMMPS KOKKOS package contains versions of pair, fix, and atom +styles that use data structures and macros provided by the Kokkos +library, which is included with LAMMPS in /lib/kokkos. The KOKKOS +package was developed primarily by Christian Trott (Sandia) and Stan +Moore (Sandia) with contributions of various styles by others, +including Sikandar Mashayak (UIUC), Ray Shan (Sandia), and Dan Ibanez +(Sandia). For more information on developing using Kokkos abstractions see the Kokkos programmers' guide at /lib/kokkos/doc/Kokkos_PG.pdf. Kokkos currently provides support for 3 modes of execution (per MPI -task). These are Serial (MPI-only for CPUs and Intel Phi), OpenMP (threading -for many-core CPUs and Intel Phi), and CUDA (for NVIDIA GPUs). You choose the mode at build time to -produce an executable compatible with specific hardware. +task). These are Serial (MPI-only for CPUs and Intel Phi), OpenMP +(threading for many-core CPUs and Intel Phi), and CUDA (for NVIDIA +GPUs). You choose the mode at build time to produce an executable +compatible with specific hardware. [Building LAMMPS with the KOKKOS package:] @@ -40,16 +43,18 @@ NOTE: Kokkos support within LAMMPS must be built with a C++11 compatible compiler. This means GCC version 4.7.2 or later, Intel 14.0.4 or later, or Clang 3.5.2 or later is required. -The recommended method of building the KOKKOS package is to start with the provided Kokkos -Makefiles in /src/MAKE/OPTIONS/. You may need to modify the KOKKOS_ARCH variable in the Makefile -to match your specific hardware. For example: +The recommended method of building the KOKKOS package is to start with +the provided Kokkos Makefiles in /src/MAKE/OPTIONS/. You may need to +modify the KOKKOS_ARCH variable in the Makefile to match your specific +hardware. For example: for Sandy Bridge CPUs, set KOKKOS_ARCH=SNB for Broadwell CPUs, set KOKKOS_ARCH=BWD for K80 GPUs, set KOKKOS_ARCH=Kepler37 for P100 GPUs and Power8 CPUs, set KOKKOS_ARCH=Pascal60,Power8 :ul -See the [Advanced Kokkos Options] section below for a listing of all KOKKOS_ARCH options. +See the [Advanced Kokkos Options] section below for a listing of all +KOKKOS_ARCH options. [Compile for CPU-only (MPI only, no threading):] @@ -63,11 +68,12 @@ make kokkos_mpi_only :pre [Compile for CPU-only (MPI plus OpenMP threading):] -NOTE: To build with Kokkos support for OpenMP threading, your compiler must support the -OpenMP interface. You should have one or more multi-core CPUs so that -multiple threads can be launched by each MPI task running on a CPU. +NOTE: To build with Kokkos support for OpenMP threading, your compiler +must support the OpenMP interface. You should have one or more +multi-core CPUs so that multiple threads can be launched by each MPI +task running on a CPU. -use a C++11 compatible compiler and set KOKKOS_ARCH variable in +Use a C++11 compatible compiler and set KOKKOS_ARCH variable in /src/MAKE/OPTIONS/Makefile.kokkos_omp as described above. Then do the following: @@ -85,14 +91,14 @@ make kokkos_phi :pre [Compile for CPUs and GPUs (with OpenMPI or MPICH):] -NOTE: To build with Kokkos support for NVIDIA GPUs, NVIDIA CUDA software -version 7.5 or later must be installed on your system. See the -discussion for the "GPU"_accelerate_gpu.html package for details of -how to check and do this. +NOTE: To build with Kokkos support for NVIDIA GPUs, NVIDIA CUDA +software version 7.5 or later must be installed on your system. See +the discussion for the "GPU package"_Speed_gpu.html for details of how +to check and do this. -use a C++11 compatible compiler and set KOKKOS_ARCH variable in -/src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi for both GPU and CPU as described -above. Then do the following: +Use a C++11 compatible compiler and set KOKKOS_ARCH variable in +/src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi for both GPU and CPU as +described above. Then do the following: cd lammps/src make yes-kokkos @@ -106,24 +112,24 @@ on the make command line. For example: make mpi KOKKOS_DEVICES=OpenMP KOKKOS_ARCH=SNB # set the KOKKOS_DEVICES and KOKKOS_ARCH variable explicitly make kokkos_cuda_mpi KOKKOS_ARCH=Pascal60,Power8 # set the KOKKOS_ARCH variable explicitly :pre -Setting the KOKKOS_DEVICES and KOKKOS_ARCH variables on the -make command line requires a GNU-compatible make command. Try -"gmake" if your system's standard make complains. +Setting the KOKKOS_DEVICES and KOKKOS_ARCH variables on the make +command line requires a GNU-compatible make command. Try "gmake" if +your system's standard make complains. NOTE: If you build using make line variables and re-build LAMMPS twice -with different KOKKOS options and the *same* target, then you *must* perform a "make clean-all" -or "make clean-machine" before each build. This is to force all the -KOKKOS-dependent files to be re-compiled with the new options. +with different KOKKOS options and the *same* target, then you *must* +perform a "make clean-all" or "make clean-machine" before each +build. This is to force all the KOKKOS-dependent files to be +re-compiled with the new options. [Running LAMMPS with the KOKKOS package:] -All Kokkos operations occur within the -context of an individual MPI task running on a single node of the -machine. The total number of MPI tasks used by LAMMPS (one or -multiple per compute node) is set in the usual manner via the mpirun -or mpiexec commands, and is independent of Kokkos. E.g. the mpirun -command in OpenMPI does this via its --np and -npernode switches. Ditto for MPICH via -np and -ppn. +All Kokkos operations occur within the context of an individual MPI +task running on a single node of the machine. The total number of MPI +tasks used by LAMMPS (one or multiple per compute node) is set in the +usual manner via the mpirun or mpiexec commands, and is independent of +Kokkos. E.g. the mpirun command in OpenMPI does this via its -np and +-npernode switches. Ditto for MPICH via -np and -ppn. [Running on a multi-core CPU:] @@ -135,8 +141,9 @@ mpirun -np 2 -ppn 1 lmp_kokkos_omp -k on t 16 -sf kk -in in.lj # 2 nodes, 1 MPI mpirun -np 2 lmp_kokkos_omp -k on t 8 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 8 threads/task mpirun -np 32 -ppn 4 lmp_kokkos_omp -k on t 4 -sf kk -in in.lj # 8 nodes, 4 MPI tasks/node, 4 threads/task :pre -To run using the KOKKOS package, use the "-k on", "-sf kk" and "-pk kokkos" "command-line switches"_Section_start.html#start_7 in your mpirun command. -You must use the "-k on" "command-line +To run using the KOKKOS package, use the "-k on", "-sf kk" and "-pk +kokkos" "command-line switches"_Section_start.html#start_7 in your +mpirun command. You must use the "-k on" "command-line switch"_Section_start.html#start_7 to enable the KOKKOS package. It takes additional arguments for hardware settings appropriate to your system. Those arguments are "documented @@ -144,32 +151,33 @@ here"_Section_start.html#start_7. For OpenMP use: -k on t Nt :pre -The "t Nt" option specifies how many OpenMP threads per MPI -task to use with a node. The default is Nt = 1, which is MPI-only mode. -Note that the product of MPI tasks * OpenMP -threads/task should not exceed the physical number of cores (on a -node), otherwise performance will suffer. If hyperthreading is enabled, then -the product of MPI tasks * OpenMP threads/task should not exceed the -physical number of cores * hardware threads. -The "-k on" switch also issues a "package kokkos" command (with no -additional arguments) which sets various KOKKOS options to default -values, as discussed on the "package"_package.html command doc page. - -The "-sf kk" "command-line switch"_Section_start.html#start_7 -will automatically append the "/kk" suffix to styles that support it. -In this manner no modification to the input script is needed. Alternatively, -one can run with the KOKKOS package by editing the input script as described below. - -NOTE: The default for the "package kokkos"_package.html command is -to use "full" neighbor lists and set the Newton flag to "off" for both +The "t Nt" option specifies how many OpenMP threads per MPI task to +use with a node. The default is Nt = 1, which is MPI-only mode. Note +that the product of MPI tasks * OpenMP threads/task should not exceed +the physical number of cores (on a node), otherwise performance will +suffer. If hyperthreading is enabled, then the product of MPI tasks * +OpenMP threads/task should not exceed the physical number of cores * +hardware threads. The "-k on" switch also issues a "package kokkos" +command (with no additional arguments) which sets various KOKKOS +options to default values, as discussed on the "package"_package.html +command doc page. + +The "-sf kk" "command-line switch"_Section_start.html#start_7 will +automatically append the "/kk" suffix to styles that support it. In +this manner no modification to the input script is +needed. Alternatively, one can run with the KOKKOS package by editing +the input script as described below. + +NOTE: The default for the "package kokkos"_package.html command is to +use "full" neighbor lists and set the Newton flag to "off" for both pairwise and bonded interactions. However, when running on CPUs, it will typically be faster to use "half" neighbor lists and set the Newton flag to "on", just as is the case for non-accelerated pair -styles. It can also be faster to use non-threaded communication. -Use the "-pk kokkos" "command-line switch"_Section_start.html#start_7 to -change the default "package kokkos"_package.html -options. See its doc page for details and default settings. Experimenting with -its options can provide a speed-up for specific calculations. For example: +styles. It can also be faster to use non-threaded communication. Use +the "-pk kokkos" "command-line switch"_Section_start.html#start_7 to +change the default "package kokkos"_package.html options. See its doc +page for details and default settings. Experimenting with its options +can provide a speed-up for specific calculations. For example: mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half comm no -in in.lj # Newton on, Half neighbor list, non-threaded comm :pre @@ -178,9 +186,9 @@ script, it can also override the Newton flag defaults. [Core and Thread Affinity:] -When using multi-threading, it is important for -performance to bind both MPI tasks to physical cores, and threads to -physical cores, so they do not migrate during a simulation. +When using multi-threading, it is important for performance to bind +both MPI tasks to physical cores, and threads to physical cores, so +they do not migrate during a simulation. If you are not certain MPI tasks are being bound (check the defaults for your MPI installation), binding can be forced with these flags: @@ -191,24 +199,24 @@ Mvapich2 2.0: mpiexec -np 2 --bind-to socket --map-by socket ./lmp_mvapich ... : For binding threads with KOKKOS OpenMP, use thread affinity environment variables to force binding. With OpenMP 3.1 (gcc 4.7 or later, intel 12 or later) setting the environment variable -OMP_PROC_BIND=true should be sufficient. In general, for best performance -with OpenMP 4.0 or better set OMP_PROC_BIND=spread and OMP_PLACES=threads. -For binding threads with the -KOKKOS pthreads option, compile LAMMPS the KOKKOS HWLOC=yes option -as described below. +OMP_PROC_BIND=true should be sufficient. In general, for best +performance with OpenMP 4.0 or better set OMP_PROC_BIND=spread and +OMP_PLACES=threads. For binding threads with the KOKKOS pthreads +option, compile LAMMPS the KOKKOS HWLOC=yes option as described below. [Running on Knight's Landing (KNL) Intel Xeon Phi:] -Here is a quick overview of how to use the KOKKOS package -for the Intel Knight's Landing (KNL) Xeon Phi: +Here is a quick overview of how to use the KOKKOS package for the +Intel Knight's Landing (KNL) Xeon Phi: -KNL Intel Phi chips have 68 physical cores. Typically 1 to 4 cores -are reserved for the OS, and only 64 or 66 cores are used. Each core -has 4 hyperthreads,so there are effectively N = 256 (4*64) or -N = 264 (4*66) cores to run on. The product of MPI tasks * OpenMP threads/task should not exceed this limit, -otherwise performance will suffer. Note that with the KOKKOS package you do not need to -specify how many KNLs there are per node; each -KNL is simply treated as running some number of MPI tasks. +KNL Intel Phi chips have 68 physical cores. Typically 1 to 4 cores are +reserved for the OS, and only 64 or 66 cores are used. Each core has 4 +hyperthreads,so there are effectively N = 256 (4*64) or N = 264 (4*66) +cores to run on. The product of MPI tasks * OpenMP threads/task should +not exceed this limit, otherwise performance will suffer. Note that +with the KOKKOS package you do not need to specify how many KNLs there +are per node; each KNL is simply treated as running some number of MPI +tasks. Examples of mpirun commands that follow these rules are shown below. @@ -223,57 +231,60 @@ tasks/node. The "-k on t Nt" command-line switch sets the number of threads/task as Nt. The product of these two values should be N, i.e. 256 or 264. -NOTE: The default for the "package kokkos"_package.html command is -to use "full" neighbor lists and set the Newton flag to "off" for both -pairwise and bonded interactions. When running on KNL, this -will typically be best for pair-wise potentials. For manybody potentials, -using "half" neighbor lists and setting the -Newton flag to "on" may be faster. It can also be faster to use non-threaded communication. -Use the "-pk kokkos" "command-line switch"_Section_start.html#start_7 to -change the default "package kokkos"_package.html -options. See its doc page for details and default settings. Experimenting with -its options can provide a speed-up for specific calculations. For example: +NOTE: The default for the "package kokkos"_package.html command is to +use "full" neighbor lists and set the Newton flag to "off" for both +pairwise and bonded interactions. When running on KNL, this will +typically be best for pair-wise potentials. For manybody potentials, +using "half" neighbor lists and setting the Newton flag to "on" may be +faster. It can also be faster to use non-threaded communication. Use +the "-pk kokkos" "command-line switch"_Section_start.html#start_7 to +change the default "package kokkos"_package.html options. See its doc +page for details and default settings. Experimenting with its options +can provide a speed-up for specific calculations. For example: mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm no -in in.lj # Newton off, full neighbor list, non-threaded comm mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton on neigh half comm no -in in.reax # Newton on, half neighbor list, non-threaded comm :pre -NOTE: MPI tasks and threads should be bound to cores as described above for CPUs. +NOTE: MPI tasks and threads should be bound to cores as described +above for CPUs. -NOTE: To build with Kokkos support for Intel Xeon Phi coprocessors such as Knight's Corner (KNC), your -system must be configured to use them in "native" mode, not "offload" -mode like the USER-INTEL package supports. +NOTE: To build with Kokkos support for Intel Xeon Phi coprocessors +such as Knight's Corner (KNC), your system must be configured to use +them in "native" mode, not "offload" mode like the USER-INTEL package +supports. [Running on GPUs:] -Use the "-k" "command-line switch"_Section_commands.html#start_7 to -specify the number of GPUs per node. Typically the -np setting -of the mpirun command should set the number of MPI -tasks/node to be equal to the # of physical GPUs on the node. -You can assign multiple MPI tasks to the same GPU with the -KOKKOS package, but this is usually only faster if significant portions -of the input script have not been ported to use Kokkos. Using CUDA MPS -is recommended in this scenario. As above for multi-core CPUs (and no GPU), if N is the number -of physical cores/node, then the number of MPI tasks/node should not exceed N. +Use the "-k" "command-line switch"_Section_start.html#start_7 to +specify the number of GPUs per node. Typically the -np setting of the +mpirun command should set the number of MPI tasks/node to be equal to +the # of physical GPUs on the node. You can assign multiple MPI tasks +to the same GPU with the KOKKOS package, but this is usually only +faster if significant portions of the input script have not been +ported to use Kokkos. Using CUDA MPS is recommended in this +scenario. As above for multi-core CPUs (and no GPU), if N is the +number of physical cores/node, then the number of MPI tasks/node +should not exceed N. -k on g Ng :pre -Here are examples of how to use the KOKKOS package for GPUs, -assuming one or more nodes, each with two GPUs: +Here are examples of how to use the KOKKOS package for GPUs, assuming +one or more nodes, each with two GPUs: mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 2 GPUs/node mpirun -np 32 -ppn 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 16 nodes, 2 MPI tasks/node, 2 GPUs/node (32 GPUs total) :pre -NOTE: The default for the "package kokkos"_package.html command is -to use "full" neighbor lists and set the Newton flag to "off" for both +NOTE: The default for the "package kokkos"_package.html command is to +use "full" neighbor lists and set the Newton flag to "off" for both pairwise and bonded interactions, along with threaded communication. -When running on Maxwell or Kepler GPUs, this will typically be best. For Pascal GPUs, -using "half" neighbor lists and setting the -Newton flag to "on" may be faster. For many pair styles, setting the neighbor binsize -equal to the ghost atom cutoff will give speedup. -Use the "-pk kokkos" "command-line switch"_Section_start.html#start_7 to -change the default "package kokkos"_package.html -options. See its doc page for details and default settings. Experimenting with -its options can provide a speed-up for specific calculations. For example: +When running on Maxwell or Kepler GPUs, this will typically be +best. For Pascal GPUs, using "half" neighbor lists and setting the +Newton flag to "on" may be faster. For many pair styles, setting the +neighbor binsize equal to the ghost atom cutoff will give speedup. +Use the "-pk kokkos" "command-line switch"_Section_start.html#start_7 +to change the default "package kokkos"_package.html options. See its +doc page for details and default settings. Experimenting with its +options can provide a speed-up for specific calculations. For example: mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos binsize 2.8 -in in.lj # Set binsize = neighbor ghost cutoff mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighborlist, set binsize = neighbor ghost cutoff :pre @@ -301,8 +312,8 @@ Alternatively the effect of the "-sf" or "-pk" switches can be duplicated by adding the "package kokkos"_package.html or "suffix kk"_suffix.html commands to your input script. -The discussion above for building LAMMPS with the KOKKOS package, the mpirun/mpiexec command, and setting -appropriate thread are the same. +The discussion above for building LAMMPS with the KOKKOS package, the +mpirun/mpiexec command, and setting appropriate thread are the same. You must still use the "-k on" "command-line switch"_Section_start.html#start_7 to enable the KOKKOS package, and @@ -320,17 +331,19 @@ wish to change any of its option defaults, as set by the "-k on" [Using OpenMP threading and CUDA together (experimental):] -With the KOKKOS package, both OpenMP multi-threading and GPUs can be used -together in a few special cases. In the Makefile, the KOKKOS_DEVICES variable must -include both "Cuda" and "OpenMP", as is the case for /src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi +With the KOKKOS package, both OpenMP multi-threading and GPUs can be +used together in a few special cases. In the Makefile, the +KOKKOS_DEVICES variable must include both "Cuda" and "OpenMP", as is +the case for /src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi KOKKOS_DEVICES=Cuda,OpenMP :pre The suffix "/kk" is equivalent to "/kk/device", and for Kokkos CUDA, -using the "-sf kk" in the command line gives the default CUDA version everywhere. -However, if the "/kk/host" suffix is added to a specific style in the input -script, the Kokkos OpenMP (CPU) version of that specific style will be used instead. -Set the number of OpenMP threads as "t Nt" and the number of GPUs as "g Ng" +using the "-sf kk" in the command line gives the default CUDA version +everywhere. However, if the "/kk/host" suffix is added to a specific +style in the input script, the Kokkos OpenMP (CPU) version of that +specific style will be used instead. Set the number of OpenMP threads +as "t Nt" and the number of GPUs as "g Ng" -k on t Nt g Ng :pre @@ -338,18 +351,20 @@ For example, the command to run with 1 GPU and 8 OpenMP threads is then: mpiexec -np 1 lmp_kokkos_cuda_openmpi -in in.lj -k on g 1 t 8 -sf kk :pre -Conversely, if the "-sf kk/host" is used in the command line and then the -"/kk" or "/kk/device" suffix is added to a specific style in your input script, -then only that specific style will run on the GPU while everything else will -run on the CPU in OpenMP mode. Note that the execution of the CPU and GPU -styles will NOT overlap, except for a special case: - -A kspace style and/or molecular topology (bonds, angles, etc.) running on -the host CPU can overlap with a pair style running on the GPU. First compile -with "--default-stream per-thread" added to CCFLAGS in the Kokkos CUDA Makefile. -Then explicitly use the "/kk/host" suffix for kspace and bonds, angles, etc. -in the input file and the "kk" suffix (equal to "kk/device") on the command line. -Also make sure the environment variable CUDA_LAUNCH_BLOCKING is not set to "1" +Conversely, if the "-sf kk/host" is used in the command line and then +the "/kk" or "/kk/device" suffix is added to a specific style in your +input script, then only that specific style will run on the GPU while +everything else will run on the CPU in OpenMP mode. Note that the +execution of the CPU and GPU styles will NOT overlap, except for a +special case: + +A kspace style and/or molecular topology (bonds, angles, etc.) running +on the host CPU can overlap with a pair style running on the +GPU. First compile with "--default-stream per-thread" added to CCFLAGS +in the Kokkos CUDA Makefile. Then explicitly use the "/kk/host" +suffix for kspace and bonds, angles, etc. in the input file and the +"kk" suffix (equal to "kk/device") on the command line. Also make +sure the environment variable CUDA_LAUNCH_BLOCKING is not set to "1" so CPU/GPU overlap can occur. [Speed-ups to expect:] @@ -386,9 +401,8 @@ hardware. There are other allowed options when building with the KOKKOS package. As above, they can be set either as variables on the make command line or in Makefile.machine. This is the full list of options, including -those discussed above. Each takes a value shown below. The -default value is listed, which is set in the -/lib/kokkos/Makefile.kokkos file. +those discussed above. Each takes a value shown below. The default +value is listed, which is set in the /lib/kokkos/Makefile.kokkos file. KOKKOS_DEVICES, values = {Serial}, {OpenMP}, {Pthreads}, {Cuda}, default = {OpenMP} KOKKOS_ARCH, values = {KNC}, {SNB}, {HSW}, {Kepler30}, {Kepler32}, {Kepler35}, {Kepler37}, {Maxwell50}, {Maxwell52}, {Maxwell53}, {Pascal60}, {Pascal61}, {ARMv80}, {ARMv81}, {ARMv81}, {ARMv8-ThunderX}, {BGQ}, {Power7}, {Power8}, {Power9}, {KNL}, {BDW}, {SKX}, default = {none} @@ -434,8 +448,8 @@ migrate during a simulation. KOKKOS_USE_TPLS=hwloc should always be used if running with KOKKOS_DEVICES=Pthreads for pthreads. It is not necessary for KOKKOS_DEVICES=OpenMP for OpenMP, because OpenMP provides alternative methods via environment variables for binding -threads to hardware cores. More info on binding threads to cores is -given in "Section 5.3"_Section_accelerate.html#acc_3. +threads to hardware cores. More info on binding threads to cores is +given on the "Speed omp"_Speed_omp.html doc page. KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism on most Unix platforms. This library is not available on all @@ -446,13 +460,14 @@ within LAMMPS. KOKKOS_DEBUG=yes enables printing of run-time debugging information that can be useful. It also enables runtime bounds checking on Kokkos data structures. -KOKKOS_CXX_STANDARD and KOKKOS_OPTIONS are typically not changed when building LAMMPS. +KOKKOS_CXX_STANDARD and KOKKOS_OPTIONS are typically not changed when +building LAMMPS. -KOKKOS_CUDA_OPTIONS are additional options for CUDA. The LAMMPS KOKKOS package must be compiled -with the {enable_lambda} option when using GPUs. +KOKKOS_CUDA_OPTIONS are additional options for CUDA. The LAMMPS KOKKOS +package must be compiled with the {enable_lambda} option when using +GPUs. [Restrictions:] -Currently, there are no precision options with the KOKKOS -package. All compilation and computation is performed in double -precision. +Currently, there are no precision options with the KOKKOS package. All +compilation and computation is performed in double precision. diff --git a/doc/src/Speed_measure.txt b/doc/src/Speed_measure.txt new file mode 100644 index 0000000000..78dc220088 --- /dev/null +++ b/doc/src/Speed_measure.txt @@ -0,0 +1,55 @@ +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Measuring performance :h3 + +Before trying to make your simulation run faster, you should +understand how it currently performs and where the bottlenecks are. + +The best way to do this is run the your system (actual number of +atoms) for a modest number of timesteps (say 100 steps) on several +different processor counts, including a single processor if possible. +Do this for an equilibrium version of your system, so that the +100-step timings are representative of a much longer run. There is +typically no need to run for 1000s of timesteps to get accurate +timings; you can simply extrapolate from short runs. + +For the set of runs, look at the timing data printed to the screen and +log file at the end of each LAMMPS run. "This +section"_Section_start.html#start_7 of the manual has an overview. + +Running on one (or a few processors) should give a good estimate of +the serial performance and what portions of the timestep are taking +the most time. Running the same problem on a few different processor +counts should give an estimate of parallel scalability. I.e. if the +simulation runs 16x faster on 16 processors, its 100% parallel +efficient; if it runs 8x faster on 16 processors, it's 50% efficient. + +The most important data to look at in the timing info is the timing +breakdown and relative percentages. For example, trying different +options for speeding up the long-range solvers will have little impact +if they only consume 10% of the run time. If the pairwise time is +dominating, you may want to look at GPU or OMP versions of the pair +style, as discussed below. Comparing how the percentages change as +you increase the processor count gives you a sense of how different +operations within the timestep are scaling. Note that if you are +running with a Kspace solver, there is additional output on the +breakdown of the Kspace time. For PPPM, this includes the fraction +spent on FFTs, which can be communication intensive. + +Another important detail in the timing info are the histograms of +atoms counts and neighbor counts. If these vary widely across +processors, you have a load-imbalance issue. This often results in +inaccurate relative timing data, because processors have to wait when +communication occurs for other processors to catch up. Thus the +reported times for "Communication" or "Other" may be higher than they +really are, due to load-imbalance. If this is an issue, you can +uncomment the MPI_Barrier() lines in src/timer.cpp, and recompile +LAMMPS, to obtain synchronized timings. + diff --git a/doc/src/accelerate_omp.txt b/doc/src/Speed_omp.txt similarity index 95% rename from doc/src/accelerate_omp.txt rename to doc/src/Speed_omp.txt index fa7bef1a52..bcfc406902 100644 --- a/doc/src/accelerate_omp.txt +++ b/doc/src/Speed_omp.txt @@ -1,15 +1,13 @@ -"Previous Section"_Section_packages.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line -"Return to Section 5 overview"_Section_accelerate.html - -5.3.4 USER-OMP package :h5 +USER-OMP package :h3 The USER-OMP package was developed by Axel Kohlmeyer at Temple University. It provides multi-threaded versions of most pair styles, @@ -39,7 +37,8 @@ each MPI task running on a CPU. The lines above illustrate how to include/build with the USER-OMP package in two steps, using the "make" command. Or how to do it with -one command as described in "Section 4"_Section_packages.html of the manual. +one command as described on the "Packages +details"_Packages_details.html#USER-OMP doc page. Note that the CCFLAGS and LINKFLAGS settings in Makefile.machine must include "-fopenmp". Likewise, if you use an Intel compiler, the @@ -100,7 +99,7 @@ task, versus running standard LAMMPS with its standard un-accelerated styles (in serial or all-MPI parallelization with 1 task/core). This is because many of the USER-OMP styles contain similar optimizations to those used in the OPT package, described in "Section -5.3.5"_accelerate_opt.html. +5.3.5"_Speed_opt.html. With multiple threads/task, the optimal choice of number of MPI tasks/node and OpenMP threads/task can vary a lot and should always be diff --git a/doc/src/accelerate_opt.txt b/doc/src/Speed_opt.txt similarity index 85% rename from doc/src/accelerate_opt.txt rename to doc/src/Speed_opt.txt index 845264b522..676a5d8418 100644 --- a/doc/src/accelerate_opt.txt +++ b/doc/src/Speed_opt.txt @@ -1,15 +1,13 @@ -"Previous Section"_Section_packages.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line -"Return to Section accelerate overview"_Section_accelerate.html - -5.3.5 OPT package :h5 +OPT package :h3 The OPT package was developed by James Fischer (High Performance Technologies), David Richie, and Vincent Natoli (Stone Ridge @@ -34,7 +32,8 @@ None. The lines above illustrate how to build LAMMPS with the OPT package in two steps, using the "make" command. Or how to do it with one command -as described in "Section 4"_Section_packages.html of the manual. +as described on the "Packages details"_Packages_details.html#OPT doc +page. Note that if you use an Intel compiler to build with the OPT package, the CCFLAGS setting in your Makefile.machine must include "-restrict". diff --git a/doc/src/Speed_packages.txt b/doc/src/Speed_packages.txt new file mode 100644 index 0000000000..f463ed91b8 --- /dev/null +++ b/doc/src/Speed_packages.txt @@ -0,0 +1,192 @@ +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Accelerator packages :h3 + +Accelerated versions of various "pair_style"_pair_style.html, +"fixes"_fix.html, "computes"_compute.html, and other commands have +been added to LAMMPS, which will typically run faster than the +standard non-accelerated versions. Some require appropriate hardware +to be present on your system, e.g. GPUs or Intel Xeon Phi +coprocessors. + +All of these commands are in packages provided with LAMMPS. An +overview of packages is give on the "Packages"_Packages.html doc +pages. + +These are the accelerator packages currently in LAMMPS, either as +standard or user packages: + +"GPU Package"_Speed_gpu.html : for NVIDIA GPUs as well as OpenCL support +"USER-INTEL Package"_Speed_intel.html : for Intel CPUs and Intel Xeon Phi +"KOKKOS Package"_Speed_kokkos.html : for Nvidia GPUs, Intel Xeon Phi, and OpenMP threading +"USER-OMP Package"_Speed_omp.html : for OpenMP threading and generic CPU optimizations +"OPT Package"_Speed_opt.html : generic CPU optimizations :tb(s=:) + + + +Inverting this list, LAMMPS currently has acceleration support for +three kinds of hardware, via the listed packages: + +Many-core CPUs : "USER-INTEL"_Speed_intel.html, "KOKKOS"_Speed_kokkos.html, "USER-OMP"_Speed_omp.html, "OPT"_Speed_opt.html packages +NVIDIA GPUs : "GPU"_Speed_gpu.html, "KOKKOS"_Speed_kokkos.html packages +Intel Phi : "USER-INTEL"_Speed_intel.html, "KOKKOS"_Speed_kokkos.html packages :tb(s=:) + +Which package is fastest for your hardware may depend on the size +problem you are running and what commands (accelerated and +non-accelerated) are invoked by your input script. While these doc +pages include performance guidelines, there is no substitute for +trying out the different packages appropriate to your hardware. + +Any accelerated style has the same name as the corresponding standard +style, except that a suffix is appended. Otherwise, the syntax for +the command that uses the style is identical, their functionality is +the same, and the numerical results it produces should also be the +same, except for precision and round-off effects. + +For example, all of these styles are accelerated variants of the +Lennard-Jones "pair_style lj/cut"_pair_lj.html: + +"pair_style lj/cut/gpu"_pair_lj.html +"pair_style lj/cut/intel"_pair_lj.html +"pair_style lj/cut/kk"_pair_lj.html +"pair_style lj/cut/omp"_pair_lj.html +"pair_style lj/cut/opt"_pair_lj.html :ul + +To see what accelerate styles are currently available for a particular +style, find the style name in the "Commands_all"_Commands_all.html +style pages (fix,compute,pair,etc) and see what suffixes are listed +(g,i,k,o,t) with it. The doc pages for individual commands +(e.g. "pair lj/cut"_pair_lj.html or "fix nve"_fix_nve.html) also list +any accelerated variants available for that style. + +To use an accelerator package in LAMMPS, and one or more of the styles +it provides, follow these general steps. Details vary from package to +package and are explained in the individual accelerator doc pages, +listed above: + +build the accelerator library | + only for GPU package | +install the accelerator package | + make yes-opt, make yes-user-intel, etc | +add compile/link flags to Makefile.machine in src/MAKE | + only for USER-INTEL, KOKKOS, USER-OMP, OPT packages | +re-build LAMMPS | + make machine | +prepare and test a regular LAMMPS simulation | + lmp_machine -in in.script; mpirun -np 32 lmp_machine -in in.script | +enable specific accelerator support via '-k on' "command-line switch"_Section_start.html#start_6, | + only needed for KOKKOS package | +set any needed options for the package via "-pk" "command-line switch"_Section_start.html#start_6 or "package"_package.html command, | + only if defaults need to be changed | +use accelerated styles in your input via "-sf" "command-line switch"_Section_start.html#start_6 or "suffix"_suffix.html command | lmp_machine -in in.script -sf gpu +:tb(c=2,s=|) + +Note that the first 4 steps can be done as a single command with +suitable make command invocations. This is discussed on the +"Packages"_Packages.html doc pages, and its use is illustrated in the +individual accelerator sections. Typically these steps only need to +be done once, to create an executable that uses one or more +accelerator packages. + +The last 4 steps can all be done from the command-line when LAMMPS is +launched, without changing your input script, as illustrated in the +individual accelerator sections. Or you can add +"package"_package.html and "suffix"_suffix.html commands to your input +script. + +NOTE: With a few exceptions, you can build a single LAMMPS executable +with all its accelerator packages installed. Note however that the +USER-INTEL and KOKKOS packages require you to choose one of their +hardware options when building for a specific platform. I.e. CPU or +Phi option for the USER-INTEL package. Or the OpenMP, Cuda, or Phi +option for the KOKKOS package. + +These are the exceptions. You cannot build a single executable with: + +both the USER-INTEL Phi and KOKKOS Phi options +the USER-INTEL Phi or Kokkos Phi option, and the GPU package :ul + +See the examples/accelerate/README and make.list files for sample +Make.py commands that build LAMMPS with any or all of the accelerator +packages. As an example, here is a command that builds with all the +GPU related packages installed (GPU, KOKKOS with Cuda), including +settings to build the needed auxiliary GPU libraries for Kepler GPUs: + +Make.py -j 16 -p omp gpu kokkos -cc nvcc wrap=mpi \ + -gpu mode=double arch=35 -kokkos cuda arch=35 lib-all file mpi :pre + +The examples/accelerate directory also has input scripts that can be +used with all of the accelerator packages. See its README file for +details. + +Likewise, the bench directory has FERMI and KEPLER and PHI +sub-directories with Make.py commands and input scripts for using all +the accelerator packages on various machines. See the README files in +those dirs. + +As mentioned above, the "Benchmark +page"_http://lammps.sandia.gov/bench.html of the LAMMPS web site gives +performance results for the various accelerator packages for several +of the standard LAMMPS benchmark problems, as a function of problem +size and number of compute nodes, on different hardware platforms. + +Here is a brief summary of what the various packages provide. Details +are in the individual accelerator sections. + +Styles with a "gpu" suffix are part of the GPU package, and can be run +on NVIDIA GPUs. The speed-up on a GPU depends on a variety of +factors, discussed in the accelerator sections. :ulb,l + +Styles with an "intel" suffix are part of the USER-INTEL +package. These styles support vectorized single and mixed precision +calculations, in addition to full double precision. In extreme cases, +this can provide speedups over 3.5x on CPUs. The package also +supports acceleration in "offload" mode to Intel(R) Xeon Phi(TM) +coprocessors. This can result in additional speedup over 2x depending +on the hardware configuration. :l + +Styles with a "kk" suffix are part of the KOKKOS package, and can be +run using OpenMP on multicore CPUs, on an NVIDIA GPU, or on an Intel +Xeon Phi in "native" mode. The speed-up depends on a variety of +factors, as discussed on the KOKKOS accelerator page. :l + +Styles with an "omp" suffix are part of the USER-OMP package and allow +a pair-style to be run in multi-threaded mode using OpenMP. This can +be useful on nodes with high-core counts when using less MPI processes +than cores is advantageous, e.g. when running with PPPM so that FFTs +are run on fewer MPI processors or when the many MPI tasks would +overload the available bandwidth for communication. :l + +Styles with an "opt" suffix are part of the OPT package and typically +speed-up the pairwise calculations of your simulation by 5-25% on a +CPU. :l +:ule + +The individual accelerator package doc pages explain: + +what hardware and software the accelerated package requires +how to build LAMMPS with the accelerated package +how to run with the accelerated package either via command-line switches or modifying the input script +speed-ups to expect +guidelines for best performance +restrictions :ul + diff --git a/doc/src/Speed_tips.txt b/doc/src/Speed_tips.txt new file mode 100644 index 0000000000..7c950779d5 --- /dev/null +++ b/doc/src/Speed_tips.txt @@ -0,0 +1,63 @@ +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +General tips :h3 + +NOTE: this section 5.2 is still a work in progress + +Here is a list of general ideas for improving simulation performance. +Most of them are only applicable to certain models and certain +bottlenecks in the current performance, so let the timing data you +generate be your guide. It is hard, if not impossible, to predict how +much difference these options will make, since it is a function of +problem size, number of processors used, and your machine. There is +no substitute for identifying performance bottlenecks, and trying out +various options. + +make individual pages for these, or one for PPPM +one for timestepping, etc +one for balancing +or proc layout + +rRESPA +2-FFT PPPM +Staggered PPPM +single vs double PPPM +partial charge PPPM +verlet/split run style +processor command for proc layout and numa layout +load-balancing: balance and fix balance :ul + +2-FFT PPPM, also called {analytic differentiation} or {ad} PPPM, uses +2 FFTs instead of the 4 FFTs used by the default {ik differentiation} +PPPM. However, 2-FFT PPPM also requires a slightly larger mesh size to +achieve the same accuracy as 4-FFT PPPM. For problems where the FFT +cost is the performance bottleneck (typically large problems running +on many processors), 2-FFT PPPM may be faster than 4-FFT PPPM. + +Staggered PPPM performs calculations using two different meshes, one +shifted slightly with respect to the other. This can reduce force +aliasing errors and increase the accuracy of the method, but also +doubles the amount of work required. For high relative accuracy, using +staggered PPPM allows one to half the mesh size in each dimension as +compared to regular PPPM, which can give around a 4x speedup in the +kspace time. However, for low relative accuracy, using staggered PPPM +gives little benefit and can be up to 2x slower in the kspace +time. For example, the rhodopsin benchmark was run on a single +processor, and results for kspace time vs. relative accuracy for the +different methods are shown in the figure below. For this system, +staggered PPPM (using ik differentiation) becomes useful when using a +relative accuracy of slightly greater than 1e-5 and above. + +:c,image(JPG/rhodo_staggered.jpg) + +NOTE: Using staggered PPPM may not give the same increase in accuracy +of energy and pressure as it does in forces, so some caution must be +used if energy and/or pressure are quantities of interest, such as +when using a barostat. diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt index 4c5fbbd453..85ee531cfd 100644 --- a/doc/src/Tools.txt +++ b/doc/src/Tools.txt @@ -1,10 +1,10 @@ -"Previous Section"_Section_perf.html - "LAMMPS WWW Site"_lws - "LAMMPS +"Previous Section"_Examples.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Modify.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -142,8 +142,8 @@ The syntax for running the tool is chain < def.chain > data.file :pre See the def.chain or def.chain.ab files in the tools directory for -examples of definition files. This tool was used to create the -system for the "chain benchmark"_Section_perf.html. +examples of definition files. This tool was used to create the system +for the "chain benchmark"_Speed_bench.html. :line @@ -249,9 +249,9 @@ These tools were provided by Andres Jaramillo-Botero at CalTech emacs tool :h4,link(emacs) -The tools/emacs directory contains a Lips add-on file for Emacs that -enables a lammps-mode for editing of input scripts when using Emacs, -with various highlighting options setup. +The tools/emacs directory contains an Emacs Lisp add-on file for GNU Emacs +that enables a lammps-mode for editing input scripts when using GNU Emacs, +with various highlighting options set up. These tools were provided by Aidan Thompson at Sandia (athomps at sandia.gov). diff --git a/doc/src/angle_charmm.txt b/doc/src/angle_charmm.txt index 7ff7ef8fd4..f72f086234 100644 --- a/doc/src/angle_charmm.txt +++ b/doc/src/angle_charmm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -51,10 +51,9 @@ internally; hence the units of K are in energy/radian^2. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -66,8 +65,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_class2.txt b/doc/src/angle_class2.txt index d4330139c9..3e5445d3a3 100644 --- a/doc/src/angle_class2.txt +++ b/doc/src/angle_class2.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -83,10 +83,9 @@ same value from the Ea formula. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -98,8 +97,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_coeff.txt b/doc/src/angle_coeff.txt index 37298ba145..4c217bae7d 100644 --- a/doc/src/angle_coeff.txt +++ b/doc/src/angle_coeff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -65,9 +65,9 @@ the style to display the formula it computes and coefficients specified by the associated "angle_coeff"_angle_coeff.html command. Note that there are also additional angle styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the angle section of "this -page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +angle styles is on the "Commands bond"_Commands_bond.html#angle doc +page. "angle_style none"_angle_none.html - turn off angle interactions "angle_style hybrid"_angle_hybrid.html - define multiple styles of angle interactions :ul diff --git a/doc/src/angle_cosine.txt b/doc/src/angle_cosine.txt index c0ce3c9301..5a1fe91c83 100644 --- a/doc/src/angle_cosine.txt +++ b/doc/src/angle_cosine.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -38,10 +38,9 @@ K (energy) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -53,8 +52,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_cosine_buck6d.txt b/doc/src/angle_cosine_buck6d.txt index 7182ffecc8..63a451b763 100644 --- a/doc/src/angle_cosine_buck6d.txt +++ b/doc/src/angle_cosine_buck6d.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_cosine_delta.txt b/doc/src/angle_cosine_delta.txt index 830fd6db58..b6ac0ed818 100644 --- a/doc/src/angle_cosine_delta.txt +++ b/doc/src/angle_cosine_delta.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -43,10 +43,9 @@ internally. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -58,8 +57,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_cosine_periodic.txt b/doc/src/angle_cosine_periodic.txt index b5c53b1b0f..c5b184e0b4 100644 --- a/doc/src/angle_cosine_periodic.txt +++ b/doc/src/angle_cosine_periodic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -21,10 +21,10 @@ angle_coeff * 75.0 1 6 :pre [Description:] The {cosine/periodic} angle style uses the following potential, which -is commonly used in the "DREIDING"_Section_howto.html#howto_4 force -field, particularly for organometallic systems where {n} = 4 might be -used for an octahedral complex and {n} = 3 might be used for a -trigonal center: +is commonly used in the "DREIDING"_Howto_bioFF.html force field, +particularly for organometallic systems where {n} = 4 might be used +for an octahedral complex and {n} = 3 might be used for a trigonal +center: :c,image(Eqs/angle_cosine_periodic.jpg) @@ -51,10 +51,9 @@ geometry. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -66,8 +65,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_cosine_shift.txt b/doc/src/angle_cosine_shift.txt index 6ed9fe2150..90ac61fe23 100644 --- a/doc/src/angle_cosine_shift.txt +++ b/doc/src/angle_cosine_shift.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -41,10 +41,9 @@ theta (angle) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -56,8 +55,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_cosine_shift_exp.txt b/doc/src/angle_cosine_shift_exp.txt index 44a68c1087..f1c4c93c42 100644 --- a/doc/src/angle_cosine_shift_exp.txt +++ b/doc/src/angle_cosine_shift_exp.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -53,10 +53,9 @@ A (real number) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -68,8 +67,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_cosine_squared.txt b/doc/src/angle_cosine_squared.txt index 065cdad542..ba5fd9d413 100644 --- a/doc/src/angle_cosine_squared.txt +++ b/doc/src/angle_cosine_squared.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -43,10 +43,9 @@ internally. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -58,8 +57,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_dipole.txt b/doc/src/angle_dipole.txt index 34cc8c153c..c001d9d920 100644 --- a/doc/src/angle_dipole.txt +++ b/doc/src/angle_dipole.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -71,10 +71,9 @@ gamma0 (degrees) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -86,8 +85,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restrictions:] diff --git a/doc/src/angle_fourier.txt b/doc/src/angle_fourier.txt index da39e7cf32..e0e32c1eed 100644 --- a/doc/src/angle_fourier.txt +++ b/doc/src/angle_fourier.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -39,10 +39,9 @@ C2 (real) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -54,8 +53,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_fourier_simple.txt b/doc/src/angle_fourier_simple.txt index 5adda6cb32..3c50536a2c 100644 --- a/doc/src/angle_fourier_simple.txt +++ b/doc/src/angle_fourier_simple.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -38,10 +38,9 @@ n (real) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -53,8 +52,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_harmonic.txt b/doc/src/angle_harmonic.txt index 4c74763964..76c7a491e8 100644 --- a/doc/src/angle_harmonic.txt +++ b/doc/src/angle_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -45,10 +45,9 @@ internally; hence the units of K are in energy/radian^2. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -60,8 +59,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_hybrid.txt b/doc/src/angle_hybrid.txt index bdd3707ccb..2646903421 100644 --- a/doc/src/angle_hybrid.txt +++ b/doc/src/angle_hybrid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_none.txt b/doc/src/angle_none.txt index a4a9b07c78..1eca5cbbec 100644 --- a/doc/src/angle_none.txt +++ b/doc/src/angle_none.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_quartic.txt b/doc/src/angle_quartic.txt index f7640bdfbc..294be330b1 100644 --- a/doc/src/angle_quartic.txt +++ b/doc/src/angle_quartic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -45,10 +45,9 @@ internally; hence the units of K are in energy/radian^2. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -60,8 +59,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_sdk.txt b/doc/src/angle_sdk.txt index 0cc535e543..9c5630ef3a 100644 --- a/doc/src/angle_sdk.txt +++ b/doc/src/angle_sdk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/angle_style.txt b/doc/src/angle_style.txt index f687e9286c..63295faf26 100644 --- a/doc/src/angle_style.txt +++ b/doc/src/angle_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -58,9 +58,9 @@ the style to display the formula it computes and coefficients specified by the associated "angle_coeff"_angle_coeff.html command. Note that there are also additional angle styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the angle section of "this -page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +angle styles are is on the "Commands bond"_Commands_bond.html#angle +doc page. "angle_style none"_angle_none.html - turn off angle interactions "angle_style zero"_angle_zero.html - topology but no interactions diff --git a/doc/src/angle_table.txt b/doc/src/angle_table.txt index bd6e167bd8..31ab532be1 100644 --- a/doc/src/angle_table.txt +++ b/doc/src/angle_table.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -124,10 +124,9 @@ one that matches the specified keyword. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -139,8 +138,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/angle_zero.txt b/doc/src/angle_zero.txt index b8e8ebf953..c6c1958ec8 100644 --- a/doc/src/angle_zero.txt +++ b/doc/src/angle_zero.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/atom_modify.txt b/doc/src/atom_modify.txt index 1dc0fa6bfb..c882d1b0ba 100644 --- a/doc/src/atom_modify.txt +++ b/doc/src/atom_modify.txt @@ -3,7 +3,7 @@ Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/atom_style.txt b/doc/src/atom_style.txt index 442bb5ac70..abf05885a3 100644 --- a/doc/src/atom_style.txt +++ b/doc/src/atom_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -20,7 +20,7 @@ style = {angle} or {atomic} or {body} or {bond} or {charge} or {dipole} or \ {body} args = bstyle bstyle-args bstyle = style of body particles bstyle-args = additional arguments specific to the bstyle - see the "body"_body.html doc page for details + see the "Howto body"_Howto_body.html doc page for details {tdpd} arg = Nspecies Nspecies = # of chemical species {template} arg = template-ID @@ -106,9 +106,9 @@ output the custom values. All of the above styles define point particles, except the {sphere}, {ellipsoid}, {electron}, {peri}, {wavepacket}, {line}, {tri}, and -{body} styles, which define finite-size particles. See "Section -6.14"_Section_howto.html#howto_14 for an overview of using finite-size -particle models with LAMMPS. +{body} styles, which define finite-size particles. See the "Howto +spherical"_Howto_spherical.html doc page for an overview of using +finite-size particle models with LAMMPS. All of the point-particle styles assign mass to particles on a per-type basis, using the "mass"_mass.html command, The finite-size @@ -224,15 +224,16 @@ the {bstyle} argument. Body particles can represent complex entities, such as surface meshes of discrete points, collections of sub-particles, deformable objects, etc. -The "body"_body.html doc page describes the body styles LAMMPS -currently supports, and provides more details as to the kind of body -particles they represent. For all styles, each body particle stores -moments of inertia and a quaternion 4-vector, so that its orientation -and position can be time integrated due to forces and torques. +The "Howto body"_Howto_body.html doc page describes the body styles +LAMMPS currently supports, and provides more details as to the kind of +body particles they represent. For all styles, each body particle +stores moments of inertia and a quaternion 4-vector, so that its +orientation and position can be time integrated due to forces and +torques. Note that there may be additional arguments required along with the {bstyle} specification, in the atom_style body command. These -arguments are described in the "body"_body.html doc page. +arguments are described on the "Howto body"_Howto_body.html doc page. :line @@ -261,10 +262,10 @@ styles; see the "Modify"_Modify.html doc page. Styles with a {kk} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to -run faster, depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +run faster, depending on your available hardware, as discussed in on +the "Speed packages"_Speed_packages.html doc page. The accelerated +styles take the same arguments and should produce the same results, +except for round-off and precision issues. Note that other acceleration packages in LAMMPS, specifically the GPU, USER-INTEL, USER-OMP, and OPT packages do not use accelerated atom @@ -279,8 +280,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_7 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restrictions:] diff --git a/doc/src/balance.txt b/doc/src/balance.txt index da6f59900d..06c4eca491 100644 --- a/doc/src/balance.txt +++ b/doc/src/balance.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_class2.txt b/doc/src/bond_class2.txt index 9687a63168..3d8d5007ba 100644 --- a/doc/src/bond_class2.txt +++ b/doc/src/bond_class2.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -44,10 +44,9 @@ K4 (energy/distance^4) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -59,8 +58,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_coeff.txt b/doc/src/bond_coeff.txt index d93c0b223b..7485fa3d8d 100644 --- a/doc/src/bond_coeff.txt +++ b/doc/src/bond_coeff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -61,9 +61,8 @@ the style to display the formula it computes and coefficients specified by the associated "bond_coeff"_bond_coeff.html command. Note that here are also additional bond styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the bond section of "this -page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +bond styles is on the "Commands bond"_Commands_bond.html doc page. "bond_style none"_bond_none.html - turn off bonded interactions "bond_style hybrid"_bond_hybrid.html - define multiple styles of bond interactions :ul diff --git a/doc/src/bond_fene.txt b/doc/src/bond_fene.txt index 9050c3bf5c..e16307a710 100644 --- a/doc/src/bond_fene.txt +++ b/doc/src/bond_fene.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -47,10 +47,9 @@ sigma (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -62,8 +61,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_fene_expand.txt b/doc/src/bond_fene_expand.txt index ff687444a9..8edd325885 100644 --- a/doc/src/bond_fene_expand.txt +++ b/doc/src/bond_fene_expand.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -50,10 +50,9 @@ delta (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -65,8 +64,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_gromos.txt b/doc/src/bond_gromos.txt index cc3ff75878..275036a421 100644 --- a/doc/src/bond_gromos.txt +++ b/doc/src/bond_gromos.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -40,10 +40,9 @@ r0 (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -55,8 +54,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_harmonic.txt b/doc/src/bond_harmonic.txt index c18a7e0fd4..e4b2015fed 100644 --- a/doc/src/bond_harmonic.txt +++ b/doc/src/bond_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -42,10 +42,9 @@ r0 (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -57,8 +56,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_harmonic_shift.txt b/doc/src/bond_harmonic_shift.txt index bf3b3c115a..b6dc18a5fd 100644 --- a/doc/src/bond_harmonic_shift.txt +++ b/doc/src/bond_harmonic_shift.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -43,10 +43,9 @@ rc (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -58,8 +57,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_harmonic_shift_cut.txt b/doc/src/bond_harmonic_shift_cut.txt index 1918ce00b6..b3054437d8 100644 --- a/doc/src/bond_harmonic_shift_cut.txt +++ b/doc/src/bond_harmonic_shift_cut.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -43,10 +43,9 @@ rc (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -58,8 +57,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_hybrid.txt b/doc/src/bond_hybrid.txt index 400c3e0be4..140fb72378 100644 --- a/doc/src/bond_hybrid.txt +++ b/doc/src/bond_hybrid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_morse.txt b/doc/src/bond_morse.txt index 4f6a32e341..9b64e8c5c1 100644 --- a/doc/src/bond_morse.txt +++ b/doc/src/bond_morse.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -41,10 +41,9 @@ r0 (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -56,8 +55,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_none.txt b/doc/src/bond_none.txt index 8cb262a50f..cace1919e1 100644 --- a/doc/src/bond_none.txt +++ b/doc/src/bond_none.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_nonlinear.txt b/doc/src/bond_nonlinear.txt index 434af62506..08109bc699 100644 --- a/doc/src/bond_nonlinear.txt +++ b/doc/src/bond_nonlinear.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -41,10 +41,9 @@ lamda (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -56,8 +55,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_oxdna.txt b/doc/src/bond_oxdna.txt index 927fea6403..a0e14a123a 100644 --- a/doc/src/bond_oxdna.txt +++ b/doc/src/bond_oxdna.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_quartic.txt b/doc/src/bond_quartic.txt index 4dc7ad4a36..87a21eff02 100644 --- a/doc/src/bond_quartic.txt +++ b/doc/src/bond_quartic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -76,10 +76,9 @@ delete_bonds all bond 0 remove :pre Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -91,8 +90,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_style.txt b/doc/src/bond_style.txt index 3bd8afda19..41fa1cabb2 100644 --- a/doc/src/bond_style.txt +++ b/doc/src/bond_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -66,9 +66,8 @@ the style to display the formula it computes and coefficients specified by the associated "bond_coeff"_bond_coeff.html command. Note that there are also additional bond styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the bond section of "this -page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +bond styles is on the "Commands bond"_Commands_bond.html doc page. "bond_style none"_bond_none.html - turn off bonded interactions "bond_style zero"_bond_zero.html - topology but no interactions diff --git a/doc/src/bond_table.txt b/doc/src/bond_table.txt index 906d3e5d76..e53cbdfa9f 100644 --- a/doc/src/bond_table.txt +++ b/doc/src/bond_table.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -121,10 +121,9 @@ one that matches the specified keyword. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -136,8 +135,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/bond_write.txt b/doc/src/bond_write.txt index 4797d06cb1..711bd2c296 100644 --- a/doc/src/bond_write.txt +++ b/doc/src/bond_write.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/bond_zero.txt b/doc/src/bond_zero.txt index b599f291b4..554f26e7f0 100644 --- a/doc/src/bond_zero.txt +++ b/doc/src/bond_zero.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/boundary.txt b/doc/src/boundary.txt index ce638f11b3..f9685433b2 100644 --- a/doc/src/boundary.txt +++ b/doc/src/boundary.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -82,9 +82,9 @@ and xhi faces of the box are planes tilting in the +y direction as y increases. These tilted planes are shrink-wrapped around the atoms to determine the x extent of the box. -See "Section 6.12"_Section_howto.html#howto_12 of the doc pages -for a geometric description of triclinic boxes, as defined by LAMMPS, -and how to transform these parameters to and from other commonly used +See the "Howto triclinic"_Howto_triclinic.html doc page for a +geometric description of triclinic boxes, as defined by LAMMPS, and +how to transform these parameters to and from other commonly used triclinic representations. [Restrictions:] diff --git a/doc/src/box.txt b/doc/src/box.txt index a6207ae993..38c874fb78 100644 --- a/doc/src/box.txt +++ b/doc/src/box.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -30,9 +30,9 @@ For triclinic (non-orthogonal) simulation boxes, the {tilt} keyword allows simulation domains to be created with arbitrary tilt factors, e.g. via the "create_box"_create_box.html or "read_data"_read_data.html commands. Tilt factors determine how -skewed the triclinic box is; see "this -section"_Section_howto.html#howto_12 of the manual for a discussion of -triclinic boxes in LAMMPS. +skewed the triclinic box is; see the "Howto +triclinic"_Howto_triclinic.html doc page for a discussion of triclinic +boxes in LAMMPS. LAMMPS normally requires that no tilt factor can skew the box more than half the distance of the parallel box length, which is the 1st diff --git a/doc/src/change_box.txt b/doc/src/change_box.txt index 2c7a890d4c..adc5d6bdcb 100644 --- a/doc/src/change_box.txt +++ b/doc/src/change_box.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -75,9 +75,9 @@ The "create_box"_create_box.html, "read data"_read_data.html, and simulation box is orthogonal or triclinic and their doc pages explain the meaning of the xy,xz,yz tilt factors. -See "Section 6.12"_Section_howto.html#howto_12 of the doc pages -for a geometric description of triclinic boxes, as defined by LAMMPS, -and how to transform these parameters to and from other commonly used +See the "Howto triclinic"_Howto_triclinic.html doc page for a +geometric description of triclinic boxes, as defined by LAMMPS, and +how to transform these parameters to and from other commonly used triclinic representations. The keywords used in this command are applied sequentially to the @@ -140,8 +140,8 @@ transformation in the sequence. If skew is exceeded before the final transformation this can be avoided by changing the order of the sequence, or breaking the transformation into two or more smaller transformations. For more information on the allowed limits for box -skew see the discussion on triclinic boxes on "this -page"_Section_howto.html#howto_12. +skew see the discussion on triclinic boxes on "Howto +triclinic"_Howto_triclinic.html doc page. :line @@ -258,9 +258,7 @@ command. :line The {ortho} and {triclinic} keywords convert the simulation box to be -orthogonal or triclinic (non-orthogonal). See "this -section"_Section_howto#howto_13 for a discussion of how non-orthogonal -boxes are represented in LAMMPS. +orthogonal or triclinic (non-orthogonal). The simulation box is defined as either orthogonal or triclinic when it is created via the "create_box"_create_box.html, @@ -271,8 +269,8 @@ These keywords allow you to toggle the existing simulation box from orthogonal to triclinic and vice versa. For example, an initial equilibration simulation can be run in an orthogonal box, the box can be toggled to triclinic, and then a "non-equilibrium MD (NEMD) -simulation"_Section_howto.html#howto_13 can be run with deformation -via the "fix deform"_fix_deform.html command. +simulation"_Howto_nemd.html can be run with deformation via the "fix +deform"_fix_deform.html command. If the simulation box is currently triclinic and has non-zero tilt in xy, yz, or xz, then it cannot be converted to an orthogonal box. diff --git a/doc/src/clear.txt b/doc/src/clear.txt index 7ac4da5c8d..c4ad4c4030 100644 --- a/doc/src/clear.txt +++ b/doc/src/clear.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/comm_modify.txt b/doc/src/comm_modify.txt index 3e8d0eca4f..489278523b 100644 --- a/doc/src/comm_modify.txt +++ b/doc/src/comm_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/comm_style.txt b/doc/src/comm_style.txt index 8248d654d3..39eb1d4ef5 100644 --- a/doc/src/comm_style.txt +++ b/doc/src/comm_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute.txt b/doc/src/compute.txt index 532a5414e3..7d9e443e7d 100644 --- a/doc/src/compute.txt +++ b/doc/src/compute.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -33,7 +33,7 @@ information about a previous state of the system. Defining a compute does not perform a computation. Instead computes are invoked by other LAMMPS commands as needed, e.g. to calculate a temperature needed for a thermostat fix or to generate thermodynamic or dump file output. -See this "howto section"_Section_howto.html#howto_15 for a summary of +See the "Howto output"_Howto_output.html doc page for a summary of various LAMMPS output options, many of which involve computes. The ID of a compute can only contain alphanumeric characters and @@ -161,13 +161,19 @@ calculations accessed in the various ways described above. Each compute style has its own doc page which describes its arguments and what it does. Here is an alphabetic list of compute styles -available in LAMMPS. They are also given in more compact form in the -Compute section of "this page"_Section_commands.html#cmd_5. +available in LAMMPS. They are also listed in more compact form on the +"Commands compute"_Commands_compute.html doc page. There are also additional compute styles (not listed here) submitted -by users which are included in the LAMMPS distribution. The list of -these with links to the individual styles are given in the compute -section of "this page"_Section_commands.html#cmd_5. +by users which are included in the LAMMPS distribution. The full list +of all compute styles is on the "Commands +compute"_Commands_compute.html doc page. + +There are also additional accelerated compute styles included in the +LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. +The individual style names on the "Commands +compute"_Commands_compute.html doc page are followed by one or more of +(g,i,k,o,t) to indicate which accerlerated styles exist. "aggregate/atom"_compute_cluster_atom.html - aggregate ID for each atom "angle/local"_compute_bond_local.html - theta and energy of each angle @@ -243,16 +249,6 @@ section of "this page"_Section_commands.html#cmd_5. "vcm/chunk"_compute_vcm_chunk.html - velocity of center-of-mass for each chunk "voronoi/atom"_compute_voronoi_atom.html - Voronoi volume and neighbors for each atom :ul -There are also additional compute styles submitted by users which are -included in the LAMMPS distribution. The list of these with links to -the individual styles are given in the compute section of "this -page"_Section_commands.html#cmd_5. - -There are also additional accelerated compute styles included in the -LAMMPS distribution for faster performance on CPUs and GPUs. The list -of these with links to the individual styles are given in the pair -section of "this page"_Section_commands.html#cmd_5. - [Restrictions:] none [Related commands:] diff --git a/doc/src/compute_ackland_atom.txt b/doc/src/compute_ackland_atom.txt index 3fd838d957..485c191313 100644 --- a/doc/src/compute_ackland_atom.txt +++ b/doc/src/compute_ackland_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -60,7 +60,7 @@ which computes this quantity.- This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. [Restrictions:] diff --git a/doc/src/compute_angle.txt b/doc/src/compute_angle.txt index 2c363ce8f6..64eb2f4bb1 100644 --- a/doc/src/compute_angle.txt +++ b/doc/src/compute_angle.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -37,8 +37,8 @@ This compute calculates a global vector of length N where N is the number of sub_styles defined by the "angle_style hybrid"_angle_style.html command, which can be accessed by indices 1-N. These values can be used by any command that uses global scalar -or vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +or vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector values are "extensive" and will be in energy diff --git a/doc/src/compute_angle_local.txt b/doc/src/compute_angle_local.txt index 0ee1d32d7d..3a321965ef 100644 --- a/doc/src/compute_angle_local.txt +++ b/doc/src/compute_angle_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -70,8 +70,8 @@ array is the number of angles. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses local values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The output for {theta} will be in degrees. The output for {eng} will diff --git a/doc/src/compute_angmom_chunk.txt b/doc/src/compute_angmom_chunk.txt index 813da15eea..7e49ff3024 100644 --- a/doc/src/compute_angmom_chunk.txt +++ b/doc/src/compute_angmom_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the 3 components of the angular momentum vector for each chunk, due to the velocity/momentum of the individual @@ -73,8 +72,8 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 3 for the 3 xyz components of the angular momentum for each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_basal_atom.txt b/doc/src/compute_basal_atom.txt index b59a3fd4c8..067a020c35 100644 --- a/doc/src/compute_basal_atom.txt +++ b/doc/src/compute_basal_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -46,9 +46,8 @@ in examples/USER/misc/basal. This compute calculates a per-atom array with 3 columns, which can be accessed by indices 1-3 by any command that uses per-atom values from -a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +a compute as input. See the "Howto output"_Howto_output.html doc page +for an overview of LAMMPS output options. The per-atom vector values are unitless since the 3 columns represent components of a unit vector. diff --git a/doc/src/compute_body_local.txt b/doc/src/compute_body_local.txt index 12ce218853..8ac3f00c55 100644 --- a/doc/src/compute_body_local.txt +++ b/doc/src/compute_body_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -32,9 +32,8 @@ Define a computation that calculates properties of individual body sub-particles. The number of datums generated, aggregated across all processors, equals the number of body sub-particles plus the number of non-body particles in the system, modified by the group parameter as -explained below. See "Section 6.14"_Section_howto.html#howto_14 -of the manual and the "body"_body.html doc page for more details on -using body particles. +explained below. See the "Howto body"_Howto_body.html doc page for +more details on using body particles. The local data stored by this command is generated by looping over all the atoms. An atom will only be included if it is in the group. If @@ -58,8 +57,8 @@ group. For a body particle, the {integer} keywords refer to fields calculated by the body style for each sub-particle. The body style, as specified by the "atom_style body"_atom_style.html, determines how many fields -exist and what they are. See the "body"_body.html doc page for -details of the different styles. +exist and what they are. See the "Howto_body"_Howto_body.html doc +page for details of the different styles. Here is an example of how to output body information using the "dump local"_dump.html command with this compute. If fields 1,2,3 for the @@ -78,9 +77,9 @@ array is the number of datums as described above. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any -command that uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +command that uses local values from a compute as input. See the +"Howto output"_Howto_output.html doc page for an overview of LAMMPS +output options. The "units"_units.html for output values depend on the body style. diff --git a/doc/src/compute_bond.txt b/doc/src/compute_bond.txt index 6c4384b080..a87c510538 100644 --- a/doc/src/compute_bond.txt +++ b/doc/src/compute_bond.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -37,8 +37,8 @@ This compute calculates a global vector of length N where N is the number of sub_styles defined by the "bond_style hybrid"_bond_style.html command, which can be accessed by indices 1-N. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector values are "extensive" and will be in energy diff --git a/doc/src/compute_bond_local.txt b/doc/src/compute_bond_local.txt index 58d96f9ee4..c3dc1cc4af 100644 --- a/doc/src/compute_bond_local.txt +++ b/doc/src/compute_bond_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -116,8 +116,8 @@ array is the number of bonds. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses local values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The output for {dist} will be in distance "units"_units.html. The diff --git a/doc/src/compute_centro_atom.txt b/doc/src/compute_centro_atom.txt index 4e4b03d167..183537690f 100644 --- a/doc/src/compute_centro_atom.txt +++ b/doc/src/compute_centro_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -97,8 +97,8 @@ too frequently or to have multiple compute/dump commands, each with a By default, this compute calculates the centrosymmetry value for each atom as a per-atom vector, which can be accessed by any command that -uses per-atom values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses per-atom values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. If the {axes} keyword setting is {yes}, then a per-atom array is diff --git a/doc/src/compute_chunk_atom.txt b/doc/src/compute_chunk_atom.txt index 00a75f50c4..95e6e6c010 100644 --- a/doc/src/compute_chunk_atom.txt +++ b/doc/src/compute_chunk_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -101,14 +101,13 @@ msd/chunk"_compute_msd_chunk.html. Or they can be used by the "fix ave/chunk"_fix_ave_chunk.html command to sum and time average a variety of per-atom properties over the atoms in each chunk. Or they can simply be accessed by any command that uses per-atom values from a -compute as input, as discussed in "Section -6.15"_Section_howto.html#howto_15. +compute as input, as discussed on the "Howto output"_Howto_output.html +doc page. -See "Section 6.23"_Section_howto.html#howto_23 for an overview of -how this compute can be used with a variety of other commands to -tabulate properties of a simulation. The howto section gives several -examples of input script commands that can be used to calculate -interesting properties. +See the "Howto chunk"_Howto_chunk.html doc page for an overview of how +this compute can be used with a variety of other commands to tabulate +properties of a simulation. The page gives several examples of input +script commands that can be used to calculate interesting properties. Conceptually it is important to realize that this compute does two simple things. First, it sets the value of {Nchunk} = the number of @@ -167,11 +166,11 @@ or the bounds specified by the optional {bounds} keyword. For orthogonal simulation boxes, the bins are layers, pencils, or boxes aligned with the xyz coordinate axes. For triclinic (non-orthogonal) simulation boxes, the bin faces are parallel to the -tilted faces of the simulation box. See "this -section"_Section_howto.html#howto_12 of the manual for a discussion of -the geometry of triclinic boxes in LAMMPS. As described there, a -tilted simulation box has edge vectors a,b,c. In that nomenclature, -bins in the x dimension have faces with normals in the "b" cross "c" +tilted faces of the simulation box. See the "Howto +triclinic"_Howto_triclinic.html doc page for a discussion of the +geometry of triclinic boxes in LAMMPS. As described there, a tilted +simulation box has edge vectors a,b,c. In that nomenclature, bins in +the x dimension have faces with normals in the "b" cross "c" direction. Bins in y have faces normal to the "a" cross "c" direction. And bins in z have faces normal to the "a" cross "b" direction. Note that in order to define the size and position of @@ -626,7 +625,7 @@ cylinder, x for a y-axis cylinder, and x for a z-axis cylinder. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values are unitless chunk IDs, ranging from 1 to diff --git a/doc/src/compute_cluster_atom.txt b/doc/src/compute_cluster_atom.txt index 94113de5f2..e6138fe1e8 100644 --- a/doc/src/compute_cluster_atom.txt +++ b/doc/src/compute_cluster_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -84,7 +84,7 @@ the neighbor list. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be an ID > 0, as explained above. diff --git a/doc/src/compute_cna_atom.txt b/doc/src/compute_cna_atom.txt index 23289b0132..d69c5e9c46 100644 --- a/doc/src/compute_cna_atom.txt +++ b/doc/src/compute_cna_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -74,7 +74,7 @@ too frequently or to have multiple compute/dump commands, each with a This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be a number from 0 to 5, as explained diff --git a/doc/src/compute_cnp_atom.txt b/doc/src/compute_cnp_atom.txt index 16a51f5241..44a77d23ca 100644 --- a/doc/src/compute_cnp_atom.txt +++ b/doc/src/compute_cnp_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -78,7 +78,7 @@ too frequently or to have multiple compute/dump commands, each with a This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be real positive numbers. Some typical CNP diff --git a/doc/src/compute_com.txt b/doc/src/compute_com.txt index b0e0c14e42..fdc631a263 100644 --- a/doc/src/compute_com.txt +++ b/doc/src/compute_com.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -41,9 +41,8 @@ image"_set.html command. This compute calculates a global vector of length 3, which can be accessed by indices 1-3 by any command that uses global vector values -from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The vector values are "intensive". The vector values will be in distance "units"_units.html. diff --git a/doc/src/compute_com_chunk.txt b/doc/src/compute_com_chunk.txt index d497585cb0..b982f0d901 100644 --- a/doc/src/compute_com_chunk.txt +++ b/doc/src/compute_com_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the x,y,z coordinates of the center-of-mass for each chunk, which includes all effects due to atoms passing thru @@ -71,9 +70,8 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 3 for the x,y,z center-of-mass coordinates of each chunk. These values can be accessed by any command that uses global array values -from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in distance "units"_units.html. diff --git a/doc/src/compute_contact_atom.txt b/doc/src/compute_contact_atom.txt index f0bd62f4e8..efe524263a 100644 --- a/doc/src/compute_contact_atom.txt +++ b/doc/src/compute_contact_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -36,7 +36,7 @@ specified compute group. This compute calculates a per-atom vector, whose values can be accessed by any command that uses per-atom values from a compute as -input. See "Section 6.15"_Section_howto.html#howto_15 for an +input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be a number >= 0.0, as explained diff --git a/doc/src/compute_coord_atom.txt b/doc/src/compute_coord_atom.txt index a88f7ec729..66eecd195d 100644 --- a/doc/src/compute_coord_atom.txt +++ b/doc/src/compute_coord_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -109,9 +109,8 @@ array, with N columns. For {cstyle} orientorder, this compute calculates a per-atom vector. These values can be accessed by any command that uses per-atom values -from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The per-atom vector or array values will be a number >= 0.0, as explained above. diff --git a/doc/src/compute_damage_atom.txt b/doc/src/compute_damage_atom.txt index 918fbf65ef..74939e2280 100644 --- a/doc/src/compute_damage_atom.txt +++ b/doc/src/compute_damage_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -44,7 +44,7 @@ group. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values are unitless numbers (damage) >= 0.0. diff --git a/doc/src/compute_dihedral.txt b/doc/src/compute_dihedral.txt index a3c3dff8d6..aa25f9dd10 100644 --- a/doc/src/compute_dihedral.txt +++ b/doc/src/compute_dihedral.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -37,8 +37,8 @@ This compute calculates a global vector of length N where N is the number of sub_styles defined by the "dihedral_style hybrid"_dihedral_style.html command. which can be accessed by indices 1-N. These values can be used by any command that uses global scalar -or vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +or vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector values are "extensive" and will be in energy diff --git a/doc/src/compute_dihedral_local.txt b/doc/src/compute_dihedral_local.txt index 865e86fddb..77812699d3 100644 --- a/doc/src/compute_dihedral_local.txt +++ b/doc/src/compute_dihedral_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -62,8 +62,8 @@ array is the number of dihedrals. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses local values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The output for {phi} will be in degrees. diff --git a/doc/src/compute_dilatation_atom.txt b/doc/src/compute_dilatation_atom.txt index ce00f7f12a..498110cf99 100644 --- a/doc/src/compute_dilatation_atom.txt +++ b/doc/src/compute_dilatation_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -47,8 +47,9 @@ compute group. [Output info:] This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of LAMMPS output options. +any command that uses per-atom values from a compute as input. See +the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-atom vector values are unitless numbers (theta) >= 0.0. diff --git a/doc/src/compute_dipole_chunk.txt b/doc/src/compute_dipole_chunk.txt index 75131ffbb1..d45fde9af2 100644 --- a/doc/src/compute_dipole_chunk.txt +++ b/doc/src/compute_dipole_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -32,10 +32,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the x,y,z coordinates of the dipole vector and the total dipole moment for each chunk, which includes all effects @@ -76,8 +75,8 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 4 for the x,y,z dipole vector components and the total dipole of each chunk. These values can be accessed by any command that uses global -array values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +array values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_displace_atom.txt b/doc/src/compute_displace_atom.txt index 00e5f696c1..669ab9f7ca 100644 --- a/doc/src/compute_displace_atom.txt +++ b/doc/src/compute_displace_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -118,9 +118,8 @@ would be empty. This compute calculates a per-atom array with 4 columns, which can be accessed by indices 1-4 by any command that uses per-atom values from -a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +a compute as input. See the "Howto output"_Howto_output.html doc page +for an overview of LAMMPS output options. The per-atom array values will be in distance "units"_units.html. diff --git a/doc/src/compute_dpd.txt b/doc/src/compute_dpd.txt index 0e43feb9d2..1721456e35 100644 --- a/doc/src/compute_dpd.txt +++ b/doc/src/compute_dpd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -40,9 +40,9 @@ where N is the number of particles in the system [Output info:] This compute calculates a global vector of length 5 (U_cond, U_mech, -U_chem, dpdTheta, N_particles), which can be accessed by indices 1-5. See -"this section"_Section_howto.html#howto_15 for an overview of LAMMPS -output options. +U_chem, dpdTheta, N_particles), which can be accessed by indices 1-5. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The vector values will be in energy and temperature "units"_units.html. diff --git a/doc/src/compute_dpd_atom.txt b/doc/src/compute_dpd_atom.txt index 0532fc60c6..8e502d4a60 100644 --- a/doc/src/compute_dpd_atom.txt +++ b/doc/src/compute_dpd_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -34,9 +34,9 @@ particles. [Output info:] This compute calculates a per-particle array with 4 columns (u_cond, -u_mech, u_chem, dpdTheta), which can be accessed by indices 1-4 by any command -that uses per-particle values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +u_mech, u_chem, dpdTheta), which can be accessed by indices 1-4 by any +command that uses per-particle values from a compute as input. See +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-particle array values will be in energy (u_cond, u_mech, u_chem) diff --git a/doc/src/compute_edpd_temp_atom.txt b/doc/src/compute_edpd_temp_atom.txt index 5b8c8ebd67..f33398e03d 100644 --- a/doc/src/compute_edpd_temp_atom.txt +++ b/doc/src/compute_edpd_temp_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -32,9 +32,9 @@ For more details please see "(Espanol1997)"_#Espanol1997 and [Output info:] This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of -LAMMPS output options. +any command that uses per-atom values from a compute as input. See the +"Howto output"_Howto_output.html doc page for an overview of LAMMPS +output options. The per-atom vector values will be in temperature "units"_units.html. diff --git a/doc/src/compute_entropy_atom.txt b/doc/src/compute_entropy_atom.txt index f7e7b8a667..9c45fd2870 100644 --- a/doc/src/compute_entropy_atom.txt +++ b/doc/src/compute_entropy_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -98,8 +98,8 @@ compute 1 all entropy/atom 0.25 7.3 avg yes 5.1 :pre By default, this compute calculates the pair entropy value for each atom as a per-atom vector, which can be accessed by any command that -uses per-atom values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses per-atom values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The pair entropy values have units of the Boltzmann constant. They are diff --git a/doc/src/compute_erotate_asphere.txt b/doc/src/compute_erotate_asphere.txt index b9a486c32e..5cdc099782 100644 --- a/doc/src/compute_erotate_asphere.txt +++ b/doc/src/compute_erotate_asphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -40,7 +40,7 @@ will be the same as in 3d. This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See "Section 6.15"_Section_howto.html#howto_15 for an +input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The diff --git a/doc/src/compute_erotate_rigid.txt b/doc/src/compute_erotate_rigid.txt index dec0939a43..5b9077870e 100644 --- a/doc/src/compute_erotate_rigid.txt +++ b/doc/src/compute_erotate_rigid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -41,9 +41,9 @@ calculation. This compute calculates a global scalar (the summed rotational energy of all the rigid bodies). This value can be used by any command that -uses a global scalar value from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of -LAMMPS output options. +uses a global scalar value from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output +options. The scalar value calculated by this compute is "extensive". The scalar value will be in energy "units"_units.html. diff --git a/doc/src/compute_erotate_sphere.txt b/doc/src/compute_erotate_sphere.txt index 41e80b0154..d0c176b50e 100644 --- a/doc/src/compute_erotate_sphere.txt +++ b/doc/src/compute_erotate_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -35,7 +35,7 @@ as in 3d. This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See "Section 6.15"_Section_howto.html#howto_15 for an +input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The diff --git a/doc/src/compute_erotate_sphere_atom.txt b/doc/src/compute_erotate_sphere_atom.txt index a0081ff6a8..fdd609a0e6 100644 --- a/doc/src/compute_erotate_sphere_atom.txt +++ b/doc/src/compute_erotate_sphere_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -39,7 +39,7 @@ in the specified compute group or for point particles with a radius = This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be in energy "units"_units.html. diff --git a/doc/src/compute_event_displace.txt b/doc/src/compute_event_displace.txt index 5e3a0c8599..561ded35c0 100644 --- a/doc/src/compute_event_displace.txt +++ b/doc/src/compute_event_displace.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -43,7 +43,7 @@ local atom displacements and may generate "false positives." This compute calculates a global scalar (the flag). This value can be used by any command that uses a global scalar value from a compute as -input. See "Section 6.15"_Section_howto.html#howto_15 for an +input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_fep.txt b/doc/src/compute_fep.txt index 9bbae7b20f..8b4a92e16e 100644 --- a/doc/src/compute_fep.txt +++ b/doc/src/compute_fep.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -219,8 +219,8 @@ unperturbed parameters. The energies include kspace terms if these are used in the simulation. These output results can be used by any command that uses a global -scalar or vector from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +scalar or vector from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. For example, the computed values can be averaged using "fix ave/time"_fix_ave_time.html. diff --git a/doc/src/compute_global_atom.txt b/doc/src/compute_global_atom.txt index 28b4aa2461..a26dba72b0 100644 --- a/doc/src/compute_global_atom.txt +++ b/doc/src/compute_global_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -67,7 +67,7 @@ this command. This command will then assign the global chunk value to each atom in the chunk, producing a per-atom vector or per-atom array as output. The per-atom values can then be output to a dump file or used by any command that uses per-atom values from a compute as input, -as discussed in "Section 6.15"_Section_howto.html#howto_15. +as discussed on the "Howto output"_Howto_output.html doc page. As a concrete example, these commands will calculate the displacement of each atom from the center-of-mass of the molecule it is in, and @@ -203,7 +203,7 @@ vector. If multiple inputs are specified, this compute produces a per-atom array values, where the number of columns is equal to the number of inputs specified. These values can be used by any command that uses per-atom vector or array values from a compute as input. -See "Section 6.15"_Section_howto.html#howto_15 for an overview of +See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector or array values will be in whatever units the diff --git a/doc/src/compute_group_group.txt b/doc/src/compute_group_group.txt index f10547339d..cff3687354 100644 --- a/doc/src/compute_group_group.txt +++ b/doc/src/compute_group_group.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -123,8 +123,8 @@ group-group calculations are performed. This compute calculates a global scalar (the energy) and a global vector of length 3 (force), which can be accessed by indices 1-3. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. Both the scalar and vector values calculated by this compute are diff --git a/doc/src/compute_gyration.txt b/doc/src/compute_gyration.txt index dd71431527..4dc883ad0b 100644 --- a/doc/src/compute_gyration.txt +++ b/doc/src/compute_gyration.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -55,8 +55,8 @@ using the "set image"_set.html command. This compute calculates a global scalar (Rg) and a global vector of length 6 (Rg^2 tensor), which can be accessed by indices 1-6. These values can be used by any command that uses a global scalar value or -vector values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar and vector values calculated by this compute are diff --git a/doc/src/compute_gyration_chunk.txt b/doc/src/compute_gyration_chunk.txt index 3e338213cf..dcbfc65393 100644 --- a/doc/src/compute_gyration_chunk.txt +++ b/doc/src/compute_gyration_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -35,10 +35,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the radius of gyration Rg for each chunk, which includes all effects due to atoms passing thru periodic @@ -93,8 +92,8 @@ calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. If the {tensor} keyword is specified, the global array has 6 columns. The vector or array can be accessed by any command that uses global values from a compute as -input. See "this section"_Section_howto.html#howto_15 for an overview -of LAMMPS output options. +input. See the "Howto output"_Howto_output.html doc page for an +overview of LAMMPS output options. All the vector or array values calculated by this compute are "intensive". The vector or array values will be in distance diff --git a/doc/src/compute_heat_flux.txt b/doc/src/compute_heat_flux.txt index 39a1470201..81a2a3f517 100644 --- a/doc/src/compute_heat_flux.txt +++ b/doc/src/compute_heat_flux.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -32,9 +32,9 @@ or to calculate a thermal conductivity using the equilibrium Green-Kubo formalism. For other non-equilibrium ways to compute a thermal conductivity, see -"this section"_Section_howto.html#howto_20. These include use of the -"fix thermal/conductivity"_fix_thermal_conductivity.html command for -the Muller-Plathe method. Or the "fix heat"_fix_heat.html command +the "Howto kappa"_Howto_kappa.html doc page.. These include use of +the "fix thermal/conductivity"_fix_thermal_conductivity.html command +for the Muller-Plathe method. Or the "fix heat"_fix_heat.html command which can add or subtract heat from groups of atoms. The compute takes three arguments which are IDs of other @@ -99,8 +99,8 @@ result should be: average conductivity ~0.29 in W/mK. This compute calculates a global vector of length 6 (total heat flux vector, followed by convective heat flux vector), which can be accessed by indices 1-6. These values can be used by any command that -uses global vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses global vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector values calculated by this compute are "extensive", meaning diff --git a/doc/src/compute_hexorder_atom.txt b/doc/src/compute_hexorder_atom.txt index cdf47e0894..082a3cad7a 100644 --- a/doc/src/compute_hexorder_atom.txt +++ b/doc/src/compute_hexorder_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -95,10 +95,9 @@ This compute calculates a per-atom array with 2 columns, giving the real and imaginary parts {qn}, a complex number restricted to the unit disk of the complex plane i.e. Re({qn})^2 + Im({qn})^2 <= 1 . -These values can be accessed by any command that uses -per-atom values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +These values can be accessed by any command that uses per-atom values +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. [Restrictions:] none diff --git a/doc/src/compute_improper.txt b/doc/src/compute_improper.txt index f0d2fa400e..867dd48cc1 100644 --- a/doc/src/compute_improper.txt +++ b/doc/src/compute_improper.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -37,8 +37,8 @@ This compute calculates a global vector of length N where N is the number of sub_styles defined by the "improper_style hybrid"_improper_style.html command. which can be accessed by indices 1-N. These values can be used by any command that uses global scalar -or vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +or vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector values are "extensive" and will be in energy diff --git a/doc/src/compute_improper_local.txt b/doc/src/compute_improper_local.txt index 0c289fbf07..f340d5a03f 100644 --- a/doc/src/compute_improper_local.txt +++ b/doc/src/compute_improper_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -63,8 +63,8 @@ array is the number of impropers. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses local values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The output for {chi} will be in degrees. diff --git a/doc/src/compute_inertia_chunk.txt b/doc/src/compute_inertia_chunk.txt index b0dbb12aea..d6cdb3fe79 100644 --- a/doc/src/compute_inertia_chunk.txt +++ b/doc/src/compute_inertia_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the 6 components of the symmetric inertia tensor for each chunk, ordered Ixx,Iyy,Izz,Ixy,Iyz,Ixz. The @@ -72,8 +71,8 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 6 for the 6 components of the inertia tensor for each chunk, ordered as listed above. These values can be accessed by any command that -uses global array values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses global array values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_ke.txt b/doc/src/compute_ke.txt index caee897162..64ab83db48 100644 --- a/doc/src/compute_ke.txt +++ b/doc/src/compute_ke.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -44,7 +44,7 @@ include different degrees of freedom (translational, rotational, etc). This compute calculates a global scalar (the summed KE). This value can be used by any command that uses a global scalar value from a -compute as input. See "Section 6.15"_Section_howto.html#howto_15 +compute as input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The diff --git a/doc/src/compute_ke_atom.txt b/doc/src/compute_ke_atom.txt index f5431f0569..d288ab0236 100644 --- a/doc/src/compute_ke_atom.txt +++ b/doc/src/compute_ke_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -34,7 +34,7 @@ specified compute group. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be in energy "units"_units.html. diff --git a/doc/src/compute_ke_atom_eff.txt b/doc/src/compute_ke_atom_eff.txt index 8228e13f07..f665f35055 100644 --- a/doc/src/compute_ke_atom_eff.txt +++ b/doc/src/compute_ke_atom_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -57,9 +57,9 @@ electrons) not in the specified compute group. [Output info:] This compute calculates a scalar quantity for each atom, which can be -accessed by any command that uses per-atom computes as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of -LAMMPS output options. +accessed by any command that uses per-atom computes as input. See the +"Howto output"_Howto_output.html doc page for an overview of LAMMPS +output options. The per-atom vector values will be in energy "units"_units.html. diff --git a/doc/src/compute_ke_eff.txt b/doc/src/compute_ke_eff.txt index ac8d7e6c01..d6d7fdb10f 100644 --- a/doc/src/compute_ke_eff.txt +++ b/doc/src/compute_ke_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -61,7 +61,7 @@ See "compute temp/eff"_compute_temp_eff.html. This compute calculates a global scalar (the KE). This value can be used by any command that uses a global scalar value from a compute as -input. See "Section 6.15"_Section_howto.html#howto_15 for an +input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The diff --git a/doc/src/compute_ke_rigid.txt b/doc/src/compute_ke_rigid.txt index f79696a77a..45ba2673b0 100644 --- a/doc/src/compute_ke_rigid.txt +++ b/doc/src/compute_ke_rigid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -40,8 +40,8 @@ calculation. This compute calculates a global scalar (the summed KE of all the rigid bodies). This value can be used by any command that uses a -global scalar value from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +global scalar value from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The diff --git a/doc/src/compute_meso_e_atom.txt b/doc/src/compute_meso_e_atom.txt index 4e621b4301..9a9c7fae11 100644 --- a/doc/src/compute_meso_e_atom.txt +++ b/doc/src/compute_meso_e_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -38,7 +38,7 @@ specified compute group. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be in energy "units"_units.html. diff --git a/doc/src/compute_meso_rho_atom.txt b/doc/src/compute_meso_rho_atom.txt index a017424dd0..30b1142b6c 100644 --- a/doc/src/compute_meso_rho_atom.txt +++ b/doc/src/compute_meso_rho_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -38,7 +38,7 @@ specified compute group. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be in mass/volume "units"_units.html. diff --git a/doc/src/compute_meso_t_atom.txt b/doc/src/compute_meso_t_atom.txt index 9e81b038f4..ab92f05018 100644 --- a/doc/src/compute_meso_t_atom.txt +++ b/doc/src/compute_meso_t_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -40,7 +40,7 @@ specified compute group. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be in temperature "units"_units.html. diff --git a/doc/src/compute_modify.txt b/doc/src/compute_modify.txt index 9a2480ec0a..192ea0bc9e 100644 --- a/doc/src/compute_modify.txt +++ b/doc/src/compute_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_msd.txt b/doc/src/compute_msd.txt index f806c5e292..b54e05bc64 100644 --- a/doc/src/compute_msd.txt +++ b/doc/src/compute_msd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -93,9 +93,8 @@ instead of many, which will change the values of msd somewhat. This compute calculates a global vector of length 4, which can be accessed by indices 1-4 by any command that uses global vector values -from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The vector values are "intensive". The vector values will be in distance^2 "units"_units.html. diff --git a/doc/src/compute_msd_chunk.txt b/doc/src/compute_msd_chunk.txt index 7f31b61ed0..264f38d5fd 100644 --- a/doc/src/compute_msd_chunk.txt +++ b/doc/src/compute_msd_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. Four quantities are calculated by this compute for each chunk. The first 3 quantities are the squared dx,dy,dz displacements of the @@ -106,7 +105,7 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 4 for dx,dy,dz and the total displacement. These values can be accessed by any command that uses global array values from a compute -as input. See "this section"_Section_howto.html#howto_15 for an +as input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_msd_nongauss.txt b/doc/src/compute_msd_nongauss.txt index 198da999e0..814159121d 100644 --- a/doc/src/compute_msd_nongauss.txt +++ b/doc/src/compute_msd_nongauss.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -57,9 +57,8 @@ NOTEs, which also apply to this compute. This compute calculates a global vector of length 3, which can be accessed by indices 1-3 by any command that uses global vector values -from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The vector values are "intensive". The first vector value will be in distance^2 "units"_units.html, the second is in distance^4 units, and diff --git a/doc/src/compute_omega_chunk.txt b/doc/src/compute_omega_chunk.txt index 46c72d3dcb..84b25ac6f2 100644 --- a/doc/src/compute_omega_chunk.txt +++ b/doc/src/compute_omega_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the 3 components of the angular velocity vector for each chunk, via the formula L = Iw where L is the angular @@ -73,8 +72,8 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 3 for the 3 xyz components of the angular velocity for each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_orientorder_atom.txt b/doc/src/compute_orientorder_atom.txt index adf11dcfcf..7327a7b1d3 100644 --- a/doc/src/compute_orientorder_atom.txt +++ b/doc/src/compute_orientorder_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -115,10 +115,9 @@ Re({Ybar_-m+1}) Im({Ybar_-m+1}) ... Re({Ybar_m}) Im({Ybar_m}). This way, the per-atom array will have a total of {nlvalues}+2*(2{l}+1) columns. -These values can be accessed by any command that uses -per-atom values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +These values can be accessed by any command that uses per-atom values +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. [Restrictions:] none diff --git a/doc/src/compute_pair.txt b/doc/src/compute_pair.txt index 0602dab81b..a2c25fcc8d 100644 --- a/doc/src/compute_pair.txt +++ b/doc/src/compute_pair.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -62,9 +62,8 @@ This compute calculates a global scalar which is {epair} or {evdwl} or {ecoul}. If the pair style supports it, it also calculates a global vector of length >= 1, as determined by the pair style. These values can be used by any command that uses global scalar or vector values -from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The scalar and vector values calculated by this compute are "extensive". diff --git a/doc/src/compute_pair_local.txt b/doc/src/compute_pair_local.txt index 16aaba4667..7588e92527 100644 --- a/doc/src/compute_pair_local.txt +++ b/doc/src/compute_pair_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -119,8 +119,8 @@ array is the number of pairs. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +uses local values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The output for {dist} will be in distance "units"_units.html. The diff --git a/doc/src/compute_pe.txt b/doc/src/compute_pe.txt index 15f27a8eff..37655dfd48 100644 --- a/doc/src/compute_pe.txt +++ b/doc/src/compute_pe.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -64,9 +64,8 @@ See the "thermo_style" command for more details. This compute calculates a global scalar (the potential energy). This value can be used by any command that uses a global scalar value from -a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +a compute as input. See the "Howto output"_Howto_output.html doc page +for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". The scalar value will be in energy "units"_units.html. diff --git a/doc/src/compute_pe_atom.txt b/doc/src/compute_pe_atom.txt index c312c886a6..400621f8df 100644 --- a/doc/src/compute_pe_atom.txt +++ b/doc/src/compute_pe_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -81,7 +81,7 @@ global system energy. This compute calculates a per-atom vector, which can be accessed by any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-atom vector values will be in energy "units"_units.html. diff --git a/doc/src/compute_plasticity_atom.txt b/doc/src/compute_plasticity_atom.txt index 788213fc65..50a51d9937 100644 --- a/doc/src/compute_plasticity_atom.txt +++ b/doc/src/compute_plasticity_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -41,8 +41,9 @@ compute group. [Output info:] This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -Section_howto 15 for an overview of LAMMPS output options. +any command that uses per-atom values from a compute as input. See +the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-atom vector values are unitless numbers (lambda) >= 0.0. diff --git a/doc/src/compute_pressure.txt b/doc/src/compute_pressure.txt index f0691ad207..dea0a7f05b 100644 --- a/doc/src/compute_pressure.txt +++ b/doc/src/compute_pressure.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -105,10 +105,9 @@ where "thermo_temp" is the ID of a similarly defined compute of style Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -120,8 +119,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -130,8 +129,8 @@ more instructions on how to use the accelerated styles effectively. This compute calculates a global scalar (the pressure) and a global vector of length 6 (pressure tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar -or vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +or vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar and vector values calculated by this compute are diff --git a/doc/src/compute_pressure_uef.txt b/doc/src/compute_pressure_uef.txt index 5b252b369d..61cc85ad80 100644 --- a/doc/src/compute_pressure_uef.txt +++ b/doc/src/compute_pressure_uef.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_property_atom.txt b/doc/src/compute_property_atom.txt index c0970d5121..512009093c 100644 --- a/doc/src/compute_property_atom.txt +++ b/doc/src/compute_property_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -93,11 +93,11 @@ compute 3 all property/atom sp spx spy spz :pre Define a computation that simply stores atom attributes for each atom in the group. This is useful so that the values can be used by other -"output commands"_Section_howto.html#howto_15 that take computes as -inputs. See for example, the "compute reduce"_compute_reduce.html, -"fix ave/atom"_fix_ave_atom.html, "fix ave/histo"_fix_ave_histo.html, -"fix ave/chunk"_fix_ave_chunk.html, and "atom-style -variable"_variable.html commands. +"output commands"_Howto_output.html that take computes as inputs. See +for example, the "compute reduce"_compute_reduce.html, "fix +ave/atom"_fix_ave_atom.html, "fix ave/histo"_fix_ave_histo.html, "fix +ave/chunk"_fix_ave_chunk.html, and "atom-style variable"_variable.html +commands. The list of possible attributes is the same as that used by the "dump custom"_dump.html command, which describes their meaning, with some @@ -149,8 +149,8 @@ on the number of input values. If a single input is specified, a per-atom vector is produced. If two or more inputs are specified, a per-atom array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command that uses -per-atom values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +per-atom values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector or array values will be in whatever "units"_units.html the diff --git a/doc/src/compute_property_chunk.txt b/doc/src/compute_property_chunk.txt index b9d4944b30..a30b5a1f0a 100644 --- a/doc/src/compute_property_chunk.txt +++ b/doc/src/compute_property_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -36,15 +36,14 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates and stores the specified attributes of chunks as global data so they can be accessed by other "output -commands"_Section_howto.html#howto_15 and used in conjunction with -other commands that generate per-chunk data, such as "compute +commands"_Howto_output.html and used in conjunction with other +commands that generate per-chunk data, such as "compute com/chunk"_compute_com_chunk.html or "compute msd/chunk"_compute_msd_chunk.html. @@ -103,8 +102,8 @@ single input is specified, a global vector is produced. If two or more inputs are specified, a global array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command that uses global values from a compute as -input. See "this section"_Section_howto.html#howto_15 for an overview -of LAMMPS output options. +input. See the "Howto output"_Howto_output.html doc page for an +overview of LAMMPS output options. The vector or array values are "intensive". The values will be unitless or in the units discussed above. diff --git a/doc/src/compute_property_local.txt b/doc/src/compute_property_local.txt index 39106a39c8..b0ec088cf7 100644 --- a/doc/src/compute_property_local.txt +++ b/doc/src/compute_property_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -48,10 +48,10 @@ compute 1 all property/local atype aatom2 :pre Define a computation that stores the specified attributes as local data so it can be accessed by other "output -commands"_Section_howto.html#howto_15. If the input attributes refer -to bond information, then the number of datums generated, aggregated -across all processors, equals the number of bonds in the system. -Ditto for pairs, angles, etc. +commands"_Howto_output.html. If the input attributes refer to bond +information, then the number of datums generated, aggregated across +all processors, equals the number of bonds in the system. Ditto for +pairs, angles, etc. If multiple attributes are specified then they must all generate the same amount of information, so that the resulting local array has the @@ -140,8 +140,8 @@ the array is the number of bonds, angles, etc. If a single input is specified, a local vector is produced. If two or more inputs are specified, a local array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command -that uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +that uses local values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector or array values will be integers that correspond to the diff --git a/doc/src/compute_rdf.txt b/doc/src/compute_rdf.txt index e462e85fc0..04b38682cc 100644 --- a/doc/src/compute_rdf.txt +++ b/doc/src/compute_rdf.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -152,7 +152,7 @@ coordinate (center of the bin), Each successive set of 2 columns has the g(r) and coord(r) values for a specific set of {itypeN} versus {jtypeN} interactions, as described above. These values can be used by any command that uses a global values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values calculated by this compute are all "intensive". diff --git a/doc/src/compute_reduce.txt b/doc/src/compute_reduce.txt index 48115a0886..ef3c7c6489 100644 --- a/doc/src/compute_reduce.txt +++ b/doc/src/compute_reduce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -192,7 +192,7 @@ This compute calculates a global scalar if a single input value is specified or a global vector of length N where N is the number of inputs, and which can be accessed by indices 1 to N. These values can be used by any command that uses global scalar or vector values from a -compute as input. See "Section 6.15"_Section_howto.html#howto_15 +compute as input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. All the scalar or vector values calculated by this compute are diff --git a/doc/src/compute_rigid_local.txt b/doc/src/compute_rigid_local.txt index 077ad57d81..b5e6954ab9 100644 --- a/doc/src/compute_rigid_local.txt +++ b/doc/src/compute_rigid_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -49,8 +49,8 @@ Define a computation that simply stores rigid body attributes for rigid bodies defined by the "fix rigid/small"_fix_rigid.html command or one of its NVE, NVT, NPT, NPH variants. The data is stored as local data so it can be accessed by other "output -commands"_Section_howto.html#howto_15 that process local data, such as -the "compute reduce"_compute_reduce.html or "dump local"_dump.html +commands"_Howto_output.html that process local data, such as the +"compute reduce"_compute_reduce.html or "dump local"_dump.html commands. Note that this command only works with the "fix @@ -154,9 +154,9 @@ array is the number of rigid bodies. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any -command that uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +command that uses local values from a compute as input. See the +"Howto output"_Howto_output.html doc page for an overview of LAMMPS +output options. The vector or array values will be in whatever "units"_units.html the corresponding attribute is in: diff --git a/doc/src/compute_saed.txt b/doc/src/compute_saed.txt index 020f72f565..8c17a30fca 100644 --- a/doc/src/compute_saed.txt +++ b/doc/src/compute_saed.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -143,10 +143,9 @@ the number of reciprocal lattice nodes that are explored by the mesh. The entries of the global vector are the computed diffraction intensities as described above. -The vector can be accessed by any command that uses global values -from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +The vector can be accessed by any command that uses global values from +a compute as input. See the "Howto output"_Howto_output.html doc page +for an overview of LAMMPS output options. All array values calculated by this compute are "intensive". diff --git a/doc/src/compute_slice.txt b/doc/src/compute_slice.txt index 13f40ecf92..51031aeab3 100644 --- a/doc/src/compute_slice.txt +++ b/doc/src/compute_slice.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -94,8 +94,8 @@ specified or a global array with N columns where N is the number of inputs. The length of the vector or the number of rows in the array is equal to the number of values extracted from each input vector. These values can be used by any command that uses global vector or -array values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +array values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector or array values calculated by this compute are simply diff --git a/doc/src/compute_smd_contact_radius.txt b/doc/src/compute_smd_contact_radius.txt index 69fe453343..cd13816047 100644 --- a/doc/src/compute_smd_contact_radius.txt +++ b/doc/src/compute_smd_contact_radius.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -35,9 +35,9 @@ specified compute group. [Output info:] -This compute calculates a per-particle vector, which can be accessed by -any command that uses per-particle values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of +This compute calculates a per-particle vector, which can be accessed +by any command that uses per-particle values from a compute as input. +See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-particle vector values will be in distance "units"_units.html. diff --git a/doc/src/compute_smd_damage.txt b/doc/src/compute_smd_damage.txt index b6c75a3b20..afabe23d7c 100644 --- a/doc/src/compute_smd_damage.txt +++ b/doc/src/compute_smd_damage.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -28,10 +28,10 @@ See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in [Output Info:] -This compute calculates a per-particle vector, which can be accessed by -any command that uses per-particle values from a compute as input. See -"How-to discussions, section 6.15"_Section_howto.html#howto_15 -for an overview of LAMMPS output options. +This compute calculates a per-particle vector, which can be accessed +by any command that uses per-particle values from a compute as input. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle values are dimensionless an in the range of zero to one. diff --git a/doc/src/compute_smd_hourglass_error.txt b/doc/src/compute_smd_hourglass_error.txt index a15b79e64e..13fd20a589 100644 --- a/doc/src/compute_smd_hourglass_error.txt +++ b/doc/src/compute_smd_hourglass_error.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -37,10 +37,10 @@ Mach Dynamics in LAMMPS. [Output Info:] -This compute calculates a per-particle vector, which can be accessed by -any command that uses per-particle values from a compute as input. See -"How-to discussions, section 6.15"_Section_howto.html#howto_15 -for an overview of LAMMPS output options. +This compute calculates a per-particle vector, which can be accessed +by any command that uses per-particle values from a compute as input. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle vector values will are dimensionless. See "units"_units.html. diff --git a/doc/src/compute_smd_internal_energy.txt b/doc/src/compute_smd_internal_energy.txt index bc6f9e0f20..6585c3429f 100644 --- a/doc/src/compute_smd_internal_energy.txt +++ b/doc/src/compute_smd_internal_energy.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -31,8 +31,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle vector values will be given in "units"_units.html of energy. diff --git a/doc/src/compute_smd_plastic_strain.txt b/doc/src/compute_smd_plastic_strain.txt index af5b164453..fb3c5c9138 100644 --- a/doc/src/compute_smd_plastic_strain.txt +++ b/doc/src/compute_smd_plastic_strain.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -32,8 +32,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle values will be given dimensionless. See "units"_units.html. diff --git a/doc/src/compute_smd_plastic_strain_rate.txt b/doc/src/compute_smd_plastic_strain_rate.txt index ba7b3176db..b913ae9097 100644 --- a/doc/src/compute_smd_plastic_strain_rate.txt +++ b/doc/src/compute_smd_plastic_strain_rate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -32,8 +32,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle values will be given in "units"_units.html of one over time. diff --git a/doc/src/compute_smd_rho.txt b/doc/src/compute_smd_rho.txt index ae50526725..a1ee1d9c5b 100644 --- a/doc/src/compute_smd_rho.txt +++ b/doc/src/compute_smd_rho.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -33,8 +33,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle values will be in "units"_units.html of mass over volume. diff --git a/doc/src/compute_smd_tlsph_defgrad.txt b/doc/src/compute_smd_tlsph_defgrad.txt index 68b5dffa1c..1663c84f65 100644 --- a/doc/src/compute_smd_tlsph_defgrad.txt +++ b/doc/src/compute_smd_tlsph_defgrad.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -32,9 +32,8 @@ Mach Dynamics in LAMMPS. This compute outputss a per-particle vector of vectors (tensors), which can be accessed by any command that uses per-particle values -from a compute as input. See "How-to discussions, section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The per-particle vector values will be given dimensionless. See "units"_units.html. The per-particle vector has 10 entries. The first diff --git a/doc/src/compute_smd_tlsph_dt.txt b/doc/src/compute_smd_tlsph_dt.txt index 560a9b6fd8..c714f3266b 100644 --- a/doc/src/compute_smd_tlsph_dt.txt +++ b/doc/src/compute_smd_tlsph_dt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -37,8 +37,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle values will be given in "units"_units.html of time. diff --git a/doc/src/compute_smd_tlsph_num_neighs.txt b/doc/src/compute_smd_tlsph_num_neighs.txt index 0420d1903d..af5b0741db 100644 --- a/doc/src/compute_smd_tlsph_num_neighs.txt +++ b/doc/src/compute_smd_tlsph_num_neighs.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -32,8 +32,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle values are dimensionless. See "units"_units.html. diff --git a/doc/src/compute_smd_tlsph_shape.txt b/doc/src/compute_smd_tlsph_shape.txt index 02bd0c50dd..927cd7c7ae 100644 --- a/doc/src/compute_smd_tlsph_shape.txt +++ b/doc/src/compute_smd_tlsph_shape.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -33,9 +33,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector of vectors, which can be accessed by any command that uses per-particle values from a compute -as input. See "How-to discussions, section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +as input. See the "Howto output"_Howto_output.html doc page for an +overview of LAMMPS output options. The per-particle vector has 7 entries. The first three entries correspond to the lengths of the ellipsoid's axes and have units of diff --git a/doc/src/compute_smd_tlsph_strain.txt b/doc/src/compute_smd_tlsph_strain.txt index f25d1b77db..4536f26c8e 100644 --- a/doc/src/compute_smd_tlsph_strain.txt +++ b/doc/src/compute_smd_tlsph_strain.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -31,9 +31,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector of vectors (tensors), which can be accessed by any command that uses per-particle values -from a compute as input. See "How-to discussions, section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The per-particle tensor values will be given dimensionless. See "units"_units.html. diff --git a/doc/src/compute_smd_tlsph_strain_rate.txt b/doc/src/compute_smd_tlsph_strain_rate.txt index 13ca57ac4d..ae2883e4bb 100644 --- a/doc/src/compute_smd_tlsph_strain_rate.txt +++ b/doc/src/compute_smd_tlsph_strain_rate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -31,9 +31,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector of vectors (tensors), which can be accessed by any command that uses per-particle values -from a compute as input. See "How-to discussions, section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The values will be given in "units"_units.html of one over time. diff --git a/doc/src/compute_smd_tlsph_stress.txt b/doc/src/compute_smd_tlsph_stress.txt index 5d707d4c2f..50d6b7f434 100644 --- a/doc/src/compute_smd_tlsph_stress.txt +++ b/doc/src/compute_smd_tlsph_stress.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -29,11 +29,10 @@ Mach Dynamics in LAMMPS. [Output info:] -This compute calculates a per-particle vector of vectors (tensors), which can be -accessed by any command that uses per-particle values from a compute -as input. See -"How-to discussions, section 6.15"_Section_howto.html#howto_15 -for an overview of LAMMPS output options. +This compute calculates a per-particle vector of vectors (tensors), +which can be accessed by any command that uses per-particle values +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The values will be given in "units"_units.html of pressure. diff --git a/doc/src/compute_smd_triangle_mesh_vertices.txt b/doc/src/compute_smd_triangle_mesh_vertices.txt index 5b0f0afc4c..9e167924d1 100644 --- a/doc/src/compute_smd_triangle_mesh_vertices.txt +++ b/doc/src/compute_smd_triangle_mesh_vertices.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -31,9 +31,9 @@ Mach Dynamics in LAMMPS. [Output info:] This compute returns a per-particle vector of vectors, which can be -accessed by any command that uses per-particle values from a compute as -input. See "How-to discussions, section 6.15"_Section_howto.html#howto_15 -for an overview of LAMMPS output options. +accessed by any command that uses per-particle values from a compute +as input. See the "Howto output"_Howto_output.html doc page for an +overview of LAMMPS output options. The per-particle vector has nine entries, (x1/y1/z1), (x2/y2/z2), and (x3/y3/z3) corresponding to the first, second, and third vertex of diff --git a/doc/src/compute_smd_ulsph_num_neighs.txt b/doc/src/compute_smd_ulsph_num_neighs.txt index adece93343..202b8f15e1 100644 --- a/doc/src/compute_smd_ulsph_num_neighs.txt +++ b/doc/src/compute_smd_ulsph_num_neighs.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -32,7 +32,7 @@ Mach Dynamics in LAMMPS. This compute returns a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "Section 6.15"_Section_howto.html#howto_15 for an overview of +See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-particle values will be given dimensionless, see "units"_units.html. diff --git a/doc/src/compute_smd_ulsph_strain.txt b/doc/src/compute_smd_ulsph_strain.txt index b7d425b12b..76c47162a5 100644 --- a/doc/src/compute_smd_ulsph_strain.txt +++ b/doc/src/compute_smd_ulsph_strain.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -31,7 +31,7 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle tensor, which can be accessed by any command that uses per-particle values from a compute as input. -See "Section 6.15"_Section_howto.html#howto_15 for an overview of +See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The per-particle vector has 6 entries, corresponding to the xx, yy, diff --git a/doc/src/compute_smd_ulsph_strain_rate.txt b/doc/src/compute_smd_ulsph_strain_rate.txt index e2c349c265..c851e767b3 100644 --- a/doc/src/compute_smd_ulsph_strain_rate.txt +++ b/doc/src/compute_smd_ulsph_strain_rate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -32,9 +32,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector of vectors (tensors), which can be accessed by any command that uses per-particle values -from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The values will be given in "units"_units.html of one over time. diff --git a/doc/src/compute_smd_ulsph_stress.txt b/doc/src/compute_smd_ulsph_stress.txt index 47f903d3b8..a5692b2412 100644 --- a/doc/src/compute_smd_ulsph_stress.txt +++ b/doc/src/compute_smd_ulsph_stress.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -30,9 +30,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector of vectors (tensors), which can be accessed by any command that uses per-particle values -from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The values will be given in "units"_units.html of pressure. diff --git a/doc/src/compute_smd_vol.txt b/doc/src/compute_smd_vol.txt index fc736a5bf5..fc4871d6f3 100644 --- a/doc/src/compute_smd_vol.txt +++ b/doc/src/compute_smd_vol.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -31,8 +31,8 @@ Mach Dynamics in LAMMPS. This compute calculates a per-particle vector, which can be accessed by any command that uses per-particle values from a compute as input. -See "How-to discussions, section 6.15"_Section_howto.html#howto_15 for -an overview of LAMMPS output options. +See the "Howto output"_Howto_output.html doc page for an overview of +LAMMPS output options. The per-particle vector values will be given in "units"_units.html of volume. diff --git a/doc/src/compute_sna_atom.txt b/doc/src/compute_sna_atom.txt index 268e23ac28..3b302a0a71 100644 --- a/doc/src/compute_sna_atom.txt +++ b/doc/src/compute_sna_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -244,9 +244,8 @@ So the nesting order from inside to outside is bispectrum component, linear then quadratic, vector/tensor component, type. These values can be accessed by any command that uses per-atom values -from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. [Restrictions:] diff --git a/doc/src/compute_spin.txt b/doc/src/compute_spin.txt index fcc764c14c..792706ecdf 100644 --- a/doc/src/compute_spin.txt +++ b/doc/src/compute_spin.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_stress_atom.txt b/doc/src/compute_stress_atom.txt index 83b1df68e3..222513da61 100644 --- a/doc/src/compute_stress_atom.txt +++ b/doc/src/compute_stress_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -142,9 +142,8 @@ global system pressure. This compute calculates a per-atom array with 6 columns, which can be accessed by indices 1-6 by any command that uses per-atom values from -a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +a compute as input. See the "Howto output"_Howto_output.html doc page +for an overview of LAMMPS output options. The per-atom array values will be in pressure*volume "units"_units.html as discussed above. diff --git a/doc/src/compute_tally.txt b/doc/src/compute_tally.txt index 95ef4a553b..23fac43093 100644 --- a/doc/src/compute_tally.txt +++ b/doc/src/compute_tally.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_tdpd_cc_atom.txt b/doc/src/compute_tdpd_cc_atom.txt index a6a12dc52c..9ee4d3da34 100644 --- a/doc/src/compute_tdpd_cc_atom.txt +++ b/doc/src/compute_tdpd_cc_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -33,9 +33,9 @@ details see "(Li2015)"_#Li2015a. [Output info:] This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -"Section 6.15"_Section_howto.html#howto_15 for an overview of -LAMMPS output options. +any command that uses per-atom values from a compute as input. See the +"Howto output"_Howto_output.html doc page for an overview of LAMMPS +output options. The per-atom vector values will be in the units of chemical species per unit mass. diff --git a/doc/src/compute_temp.txt b/doc/src/compute_temp.txt index b88be79e20..9f3a1ca906 100644 --- a/doc/src/compute_temp.txt +++ b/doc/src/compute_temp.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -58,8 +58,8 @@ compute thermo_temp all temp :pre See the "thermo_style" command for more details. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. :line @@ -67,10 +67,9 @@ thermostatting. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -82,8 +81,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -92,8 +91,8 @@ more instructions on how to use the accelerated styles effectively. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_asphere.txt b/doc/src/compute_temp_asphere.txt index 495366b345..6766729ae0 100644 --- a/doc/src/compute_temp_asphere.txt +++ b/doc/src/compute_temp_asphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -93,8 +93,8 @@ computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. :line @@ -122,8 +122,8 @@ rotational degrees of freedom. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_body.txt b/doc/src/compute_temp_body.txt index f72b886cc4..4e3ce3e77f 100644 --- a/doc/src/compute_temp_body.txt +++ b/doc/src/compute_temp_body.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -75,8 +75,8 @@ computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. :line @@ -104,8 +104,8 @@ rotational degrees of freedom. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_chunk.txt b/doc/src/compute_temp_chunk.txt index f877f6ece8..de8c850a70 100644 --- a/doc/src/compute_temp_chunk.txt +++ b/doc/src/compute_temp_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -52,10 +52,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. The temperature is calculated by the formula KE = DOF/2 k T, where KE = total kinetic energy of all atoms assigned to chunks (sum of 1/2 m @@ -200,8 +199,8 @@ molecule. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. This compute also optionally calculates a global array, if one or more @@ -210,9 +209,8 @@ of the optional values are specified. The number of rows in the array "compute chunk/atom"_compute_chunk_atom.html command. The number of columns is the number of specified values (1 or more). These values can be accessed by any command that uses global array values from a -compute as input. Again, see "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +compute as input. Again, see the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The vector values are "extensive". The array values are "intensive". diff --git a/doc/src/compute_temp_com.txt b/doc/src/compute_temp_com.txt index c7cc5ec4e2..12df694e38 100644 --- a/doc/src/compute_temp_com.txt +++ b/doc/src/compute_temp_com.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -65,8 +65,8 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. [Output info:] @@ -74,8 +74,8 @@ thermostatting. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_cs.txt b/doc/src/compute_temp_cs.txt index 561b787df6..0236319f54 100644 --- a/doc/src/compute_temp_cs.txt +++ b/doc/src/compute_temp_cs.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -28,9 +28,9 @@ Define a computation that calculates the temperature of a system based on the center-of-mass velocity of atom pairs that are bonded to each other. This compute is designed to be used with the adiabatic core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham1. See -"Section 6.25"_Section_howto.html#howto_25 of the manual for an -overview of the model as implemented in LAMMPS. Specifically, this -compute enables correct temperature calculation and thermostatting of +the "Howto coreshell"_Howto_coreshell.html doc page for an overview of +the model as implemented in LAMMPS. Specifically, this compute +enables correct temperature calculation and thermostatting of core/shell pairs where it is desirable for the internal degrees of freedom of the core/shell pairs to not be influenced by a thermostat. A compute of this style can be used by any command that computes a @@ -83,8 +83,9 @@ langevin"_fix_langevin.html. The internal energy of core/shell pairs can be calculated by the "compute temp/chunk"_compute_temp_chunk.html command, if chunks are -defined as core/shell pairs. See "Section -6.25"_Section_howto.html#howto_25 for more discussion on how to do this. +defined as core/shell pairs. See the "Howto +coreshell"_Howto_coreshell.html doc page doc page for more discussion +on how to do this. [Output info:] diff --git a/doc/src/compute_temp_deform.txt b/doc/src/compute_temp_deform.txt index 168b0b3880..26d322589e 100644 --- a/doc/src/compute_temp_deform.txt +++ b/doc/src/compute_temp_deform.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -104,8 +104,8 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. [Output info:] @@ -113,8 +113,8 @@ thermostatting. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_deform_eff.txt b/doc/src/compute_temp_deform_eff.txt index d09a0ace2f..876d492f34 100644 --- a/doc/src/compute_temp_deform_eff.txt +++ b/doc/src/compute_temp_deform_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -48,8 +48,8 @@ component of the electrons is not affected. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_drude.txt b/doc/src/compute_temp_drude.txt index 169b8d5880..20d9a5c056 100644 --- a/doc/src/compute_temp_drude.txt +++ b/doc/src/compute_temp_drude.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -22,10 +22,10 @@ compute TDRUDE all temp/drude :pre [Description:] Define a computation that calculates the temperatures of core-Drude -pairs. This compute is designed to be used with the -"thermalized Drude oscillator model"_tutorial_drude.html. Polarizable -models in LAMMPS are described in "this -Section"_Section_howto.html#howto_25. +pairs. This compute is designed to be used with the "thermalized Drude +oscillator model"_Howto_drude.html. Polarizable models in LAMMPS +are described on the "Howto polarizable"_Howto_polarizable.html doc +page. Drude oscillators consist of a core particle and a Drude particle connected by a harmonic bond, and the relative motion of these Drude @@ -57,8 +57,8 @@ kinetic energy of the centers of mass (energy units) kinetic energy of the dipoles (energy units) :ol These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. Both the scalar value and the first two values of the vector diff --git a/doc/src/compute_temp_eff.txt b/doc/src/compute_temp_eff.txt index 409319edcb..35ddb75b12 100644 --- a/doc/src/compute_temp_eff.txt +++ b/doc/src/compute_temp_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -69,8 +69,8 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. [Output info:] diff --git a/doc/src/compute_temp_partial.txt b/doc/src/compute_temp_partial.txt index fe2420b4e4..2769246532 100644 --- a/doc/src/compute_temp_partial.txt +++ b/doc/src/compute_temp_partial.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -65,8 +65,8 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. :line @@ -74,10 +74,9 @@ thermostatting. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -89,8 +88,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -99,8 +98,8 @@ more instructions on how to use the accelerated styles effectively. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_profile.txt b/doc/src/compute_temp_profile.txt index 64a6abd283..4ed04ca67e 100644 --- a/doc/src/compute_temp_profile.txt +++ b/doc/src/compute_temp_profile.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -122,8 +122,8 @@ degrees-of-freedom adjustment described in the preceding paragraph, for fixes that constrain molecular motion. It does include the adjustment due to the {extra} option, which is applied to each bin. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. Using this compute in conjunction with a thermostatting fix, as explained there, will effectively implement a profile-unbiased thermostat (PUT), as described in "(Evans)"_#Evans1. @@ -145,8 +145,8 @@ indices ix,iy,iz = 2,3,4 would map to row M = (iz-1)*10*10 + (iy-1)*10 indices are numbered from 1 to 10 in each dimension. These values can be used by any command that uses global scalar or -vector or array values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector or array values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_ramp.txt b/doc/src/compute_temp_ramp.txt index bc9283469c..15cad9c0cb 100644 --- a/doc/src/compute_temp_ramp.txt +++ b/doc/src/compute_temp_ramp.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -83,8 +83,8 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. [Output info:] @@ -92,8 +92,8 @@ thermostatting. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_region.txt b/doc/src/compute_temp_region.txt index 3e4a80db8d..f23901af98 100644 --- a/doc/src/compute_temp_region.txt +++ b/doc/src/compute_temp_region.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -81,8 +81,8 @@ If needed the number of subtracted degrees-of-freedom can be set explicitly using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. [Output info:] @@ -90,8 +90,8 @@ thermostatting. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_region_eff.txt b/doc/src/compute_temp_region_eff.txt index 8baf2dd46c..95892eb257 100644 --- a/doc/src/compute_temp_region_eff.txt +++ b/doc/src/compute_temp_region_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -39,8 +39,8 @@ temp/eff"_compute_temp_eff.html command. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_rotate.txt b/doc/src/compute_temp_rotate.txt index 34feca7b6f..189246d3e4 100644 --- a/doc/src/compute_temp_rotate.txt +++ b/doc/src/compute_temp_rotate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -64,8 +64,8 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. [Output info:] @@ -73,8 +73,8 @@ thermostatting. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_sphere.txt b/doc/src/compute_temp_sphere.txt index 9e9dff2cb6..5a55126d12 100644 --- a/doc/src/compute_temp_sphere.txt +++ b/doc/src/compute_temp_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -79,8 +79,8 @@ computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. :line @@ -108,8 +108,8 @@ rotational degrees of freedom. This compute calculates a global scalar (the temperature) and a global vector of length 6 (KE tensor), which can be accessed by indices 1-6. These values can be used by any command that uses global scalar or -vector values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +vector values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The scalar value calculated by this compute is "intensive". The diff --git a/doc/src/compute_temp_uef.txt b/doc/src/compute_temp_uef.txt index acd3a6218d..a94d5db8ed 100644 --- a/doc/src/compute_temp_uef.txt +++ b/doc/src/compute_temp_uef.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/compute_ti.txt b/doc/src/compute_ti.txt index 733954d146..e79b594e3f 100644 --- a/doc/src/compute_ti.txt +++ b/doc/src/compute_ti.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -111,9 +111,8 @@ du/dl can be found in the paper by "Eike"_#Eike. This compute calculates a global scalar, namely dUs/dlambda. This value can be used by any command that uses a global scalar value from -a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +a compute as input. See the "Howto output"_Howto_output.html doc page +for an overview of LAMMPS output options. The scalar value calculated by this compute is "extensive". diff --git a/doc/src/compute_torque_chunk.txt b/doc/src/compute_torque_chunk.txt index b9f832dd03..6484076b37 100644 --- a/doc/src/compute_torque_chunk.txt +++ b/doc/src/compute_torque_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the 3 components of the torque vector for eqch chunk, due to the forces on the individual atoms in the chunk around @@ -72,7 +71,7 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 3 for the 3 xyz components of the torque for each chunk. These values can be accessed by any command that uses global array values from a -compute as input. See "Section 6.15"_Section_howto.html#howto_15 +compute as input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_vacf.txt b/doc/src/compute_vacf.txt index a0d9a3c5f7..70f1e99490 100644 --- a/doc/src/compute_vacf.txt +++ b/doc/src/compute_vacf.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -55,9 +55,8 @@ correctly with time=0 atom velocities from the restart file. This compute calculates a global vector of length 4, which can be accessed by indices 1-4 by any command that uses global vector values -from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. +from a compute as input. See the "Howto output"_Howto_output.html doc +page for an overview of LAMMPS output options. The vector values are "intensive". The vector values will be in velocity^2 "units"_units.html. diff --git a/doc/src/compute_vcm_chunk.txt b/doc/src/compute_vcm_chunk.txt index de02c586bf..7e8ad71208 100644 --- a/doc/src/compute_vcm_chunk.txt +++ b/doc/src/compute_vcm_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -30,10 +30,9 @@ chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be -defined and examples of how they can be used to measure properties of -a system. +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. This compute calculates the x,y,z components of the center-of-mass velocity for each chunk. This is done by summing mass*velocity for @@ -63,8 +62,8 @@ number of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The number of columns = 3 for the x,y,z center-of-mass velocity coordinates of each chunk. These values can be accessed by any command that uses global array -values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The array values are "intensive". The array values will be in diff --git a/doc/src/compute_voronoi_atom.txt b/doc/src/compute_voronoi_atom.txt index a280b2b151..a8ce77882a 100644 --- a/doc/src/compute_voronoi_atom.txt +++ b/doc/src/compute_voronoi_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -122,18 +122,16 @@ to locate vacancies (the coordinates are given by the atom coordinates at the time step when the compute was first invoked), while column two data can be used to identify interstitial atoms. -If the {neighbors} value is set to yes, then -this compute creates a local array with 3 columns. There -is one row for each face of each Voronoi cell. The -3 columns are the atom ID of the atom that owns the cell, -the atom ID of the atom in the neighboring cell -(or zero if the face is external), and the area of the face. -The array can be accessed by any command that -uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output -options. More specifically, the array can be accessed by a -"dump local"_dump.html command to write a file containing -all the Voronoi neighbors in a system: +If the {neighbors} value is set to yes, then this compute creates a +local array with 3 columns. There is one row for each face of each +Voronoi cell. The 3 columns are the atom ID of the atom that owns the +cell, the atom ID of the atom in the neighboring cell (or zero if the +face is external), and the area of the face. The array can be +accessed by any command that uses local values from a compute as +input. See the "Howto output"_Howto_output.html doc page for an +overview of LAMMPS output options. More specifically, the array can be +accessed by a "dump local"_dump.html command to write a file +containing all the Voronoi neighbors in a system: compute 6 all voronoi/atom neighbors yes dump d2 all local 1 dump.neighbors index c_6\[1\] c_6\[2\] c_6\[3\] :pre @@ -186,8 +184,8 @@ columns. In regular dynamic tessellation mode the first column is the Voronoi volume, the second is the neighbor count, as described above (read above for the output data in case the {occupation} keyword is specified). These values can be accessed by any command that uses -per-atom values from a compute as input. See "Section -6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +per-atom values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. If the {peratom} keyword is set to "no", the per-atom array is still created, but it is not accessible. diff --git a/doc/src/compute_xrd.txt b/doc/src/compute_xrd.txt index 1a151d63f9..609fde3582 100644 --- a/doc/src/compute_xrd.txt +++ b/doc/src/compute_xrd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -162,7 +162,7 @@ or degrees) provided with the {2Theta} values. The second column contains the computed diffraction intensities as described above. The array can be accessed by any command that uses global values from -a compute as input. See "this section"_Section_howto.html#howto_15 +a compute as input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. All array values calculated by this compute are "intensive". diff --git a/doc/src/create_atoms.txt b/doc/src/create_atoms.txt index 5d824ae1ef..d80e2d45f1 100644 --- a/doc/src/create_atoms.txt +++ b/doc/src/create_atoms.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/create_bonds.txt b/doc/src/create_bonds.txt index 6700ed29d3..8596cab51d 100644 --- a/doc/src/create_bonds.txt +++ b/doc/src/create_bonds.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/create_box.txt b/doc/src/create_box.txt index f4ef13654c..0993b4f927 100644 --- a/doc/src/create_box.txt +++ b/doc/src/create_box.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -73,9 +73,9 @@ factors that exceed these limits, you can use the "box tilt"_box.html command, with a setting of {large}; a setting of {small} is the default. -See "Section 6.12"_Section_howto.html#howto_12 of the doc pages -for a geometric description of triclinic boxes, as defined by LAMMPS, -and how to transform these parameters to and from other commonly used +See the "Howto triclinic"_Howto_triclinic.html doc page for a +geometric description of triclinic boxes, as defined by LAMMPS, and +how to transform these parameters to and from other commonly used triclinic representations. When a prism region is used, the simulation domain should normally be diff --git a/doc/src/delete_atoms.txt b/doc/src/delete_atoms.txt index 1aa71d341f..57faf97ad1 100644 --- a/doc/src/delete_atoms.txt +++ b/doc/src/delete_atoms.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/delete_bonds.txt b/doc/src/delete_bonds.txt index b1137a2288..b29fa82f2d 100644 --- a/doc/src/delete_bonds.txt +++ b/doc/src/delete_bonds.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dielectric.txt b/doc/src/dielectric.txt index e98badf87b..f93be8cc25 100644 --- a/doc/src/dielectric.txt +++ b/doc/src/dielectric.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_charmm.txt b/doc/src/dihedral_charmm.txt index 06abe054e4..8adef6cf4b 100644 --- a/doc/src/dihedral_charmm.txt +++ b/doc/src/dihedral_charmm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -116,10 +116,9 @@ computed. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -131,8 +130,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_class2.txt b/doc/src/dihedral_class2.txt index cb9fc72c22..1a2f37abbb 100644 --- a/doc/src/dihedral_class2.txt +++ b/doc/src/dihedral_class2.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -141,10 +141,9 @@ r3 (distance) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -156,8 +155,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_coeff.txt b/doc/src/dihedral_coeff.txt index 5b43cbbe7f..1db69e40d5 100644 --- a/doc/src/dihedral_coeff.txt +++ b/doc/src/dihedral_coeff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -74,9 +74,9 @@ the style to display the formula it computes and coefficients specified by the associated "dihedral_coeff"_dihedral_coeff.html command. Note that there are also additional dihedral styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the dihedral section of -"this page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +dihedral styles is on the "Commands bond"_Commands_bond.html#dihedral +doc page. "dihedral_style none"_dihedral_none.html - turn off dihedral interactions "dihedral_style hybrid"_dihedral_hybrid.html - define multiple styles of dihedral interactions :ul diff --git a/doc/src/dihedral_cosine_shift_exp.txt b/doc/src/dihedral_cosine_shift_exp.txt index 715682affc..7ef27e6bc9 100644 --- a/doc/src/dihedral_cosine_shift_exp.txt +++ b/doc/src/dihedral_cosine_shift_exp.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -52,10 +52,9 @@ A (real number) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -67,8 +66,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_fourier.txt b/doc/src/dihedral_fourier.txt index 0accbb22bf..f51cbc9c8c 100644 --- a/doc/src/dihedral_fourier.txt +++ b/doc/src/dihedral_fourier.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -44,10 +44,9 @@ dm (degrees) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -59,8 +58,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_harmonic.txt b/doc/src/dihedral_harmonic.txt index d9a48ff384..1eda0c5d02 100644 --- a/doc/src/dihedral_harmonic.txt +++ b/doc/src/dihedral_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -53,10 +53,9 @@ Some force fields let {n} be positive or negative which corresponds to Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -68,8 +67,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_helix.txt b/doc/src/dihedral_helix.txt index 1e907557b2..3af4b410bc 100644 --- a/doc/src/dihedral_helix.txt +++ b/doc/src/dihedral_helix.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -46,10 +46,9 @@ C (energy) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -61,8 +60,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_hybrid.txt b/doc/src/dihedral_hybrid.txt index 8cb40eff44..c9ca86680c 100644 --- a/doc/src/dihedral_hybrid.txt +++ b/doc/src/dihedral_hybrid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_multi_harmonic.txt b/doc/src/dihedral_multi_harmonic.txt index 7d3c2ea083..7c22391923 100644 --- a/doc/src/dihedral_multi_harmonic.txt +++ b/doc/src/dihedral_multi_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -40,10 +40,9 @@ A5 (energy) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -55,8 +54,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_nharmonic.txt b/doc/src/dihedral_nharmonic.txt index 8392d83899..aa8f1e0d7f 100644 --- a/doc/src/dihedral_nharmonic.txt +++ b/doc/src/dihedral_nharmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -40,10 +40,9 @@ An (energy) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -55,8 +54,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_none.txt b/doc/src/dihedral_none.txt index 3ce2aa1729..4c1ff2ea5d 100644 --- a/doc/src/dihedral_none.txt +++ b/doc/src/dihedral_none.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_opls.txt b/doc/src/dihedral_opls.txt index d1a6ba3ff2..f0cf91f30a 100644 --- a/doc/src/dihedral_opls.txt +++ b/doc/src/dihedral_opls.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -48,10 +48,9 @@ K4 (energy) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -63,8 +62,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_quadratic.txt b/doc/src/dihedral_quadratic.txt index ca2f5aed40..e65cf2dee8 100644 --- a/doc/src/dihedral_quadratic.txt +++ b/doc/src/dihedral_quadratic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -41,10 +41,9 @@ phi0 (degrees) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -56,8 +55,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/dihedral_spherical.txt b/doc/src/dihedral_spherical.txt index 7c17fbf5ef..10a757e898 100644 --- a/doc/src/dihedral_spherical.txt +++ b/doc/src/dihedral_spherical.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_style.txt b/doc/src/dihedral_style.txt index ca592b29b5..6aff3f0994 100644 --- a/doc/src/dihedral_style.txt +++ b/doc/src/dihedral_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -81,9 +81,9 @@ the style to display the formula it computes and coefficients specified by the associated "dihedral_coeff"_dihedral_coeff.html command. Note that there are also additional dihedral styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the dihedral section of -"this page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +dihedral styles is on the "Commands bond"_Commands_bond.html#dihedral +doc page. "dihedral_style none"_dihedral_none.html - turn off dihedral interactions "dihedral_style zero"_dihedral_zero.html - topology but no interactions diff --git a/doc/src/dihedral_table.txt b/doc/src/dihedral_table.txt index 0b88f26a61..d722ef7c82 100644 --- a/doc/src/dihedral_table.txt +++ b/doc/src/dihedral_table.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -174,10 +174,9 @@ that matches the specified keyword. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -189,8 +188,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restrictions:] diff --git a/doc/src/dihedral_table_cut.txt b/doc/src/dihedral_table_cut.txt index 1c83d4ffa0..cc7df8cdf9 100644 --- a/doc/src/dihedral_table_cut.txt +++ b/doc/src/dihedral_table_cut.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dihedral_zero.txt b/doc/src/dihedral_zero.txt index 4d33126eeb..0c9995a563 100644 --- a/doc/src/dihedral_zero.txt +++ b/doc/src/dihedral_zero.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dimension.txt b/doc/src/dimension.txt index 0531e92acf..b7dde76524 100644 --- a/doc/src/dimension.txt +++ b/doc/src/dimension.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -26,7 +26,7 @@ prior to setting up a simulation box via the "create_box"_create_box.html or "read_data"_read_data.html commands. Restart files also store this setting. -See the discussion in "Section 6"_Section_howto.html for +See the discussion on the "Howto 2d"_Howto_2d.html doc page for additional instructions on how to run 2d simulations. NOTE: Some models in LAMMPS treat particles as finite-size spheres or diff --git a/doc/src/displace_atoms.txt b/doc/src/displace_atoms.txt index 634add196b..b4afd5c3a9 100644 --- a/doc/src/displace_atoms.txt +++ b/doc/src/displace_atoms.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump.txt b/doc/src/dump.txt index ff1bf6424d..5b478b7301 100644 --- a/doc/src/dump.txt +++ b/doc/src/dump.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -224,12 +224,12 @@ This bounding box is convenient for many visualization programs. The meaning of the 6 character flags for "xx yy zz" is the same as above. Note that the first two numbers on each line are now xlo_bound instead -of xlo, etc, since they represent a bounding box. See "this -section"_Section_howto.html#howto_12 of the doc pages for a geometric -description of triclinic boxes, as defined by LAMMPS, simple formulas -for how the 6 bounding box extents (xlo_bound,xhi_bound,etc) are -calculated from the triclinic parameters, and how to transform those -parameters to and from other commonly used triclinic representations. +of xlo, etc, since they represent a bounding box. See the "Howto +triclinic"_Howto_triclinic.html doc page for a geometric description +of triclinic boxes, as defined by LAMMPS, simple formulas for how the +6 bounding box extents (xlo_bound,xhi_bound,etc) are calculated from +the triclinic parameters, and how to transform those parameters to and +from other commonly used triclinic representations. The "ITEM: ATOMS" line in each snapshot lists column descriptors for the per-atom lines that follow. For example, the descriptors would be @@ -530,7 +530,7 @@ so that each value is 0.0 to 1.0. If the simulation box is triclinic (tilted), then all atom coords will still be between 0.0 and 1.0. I.e. actual unscaled (x,y,z) = xs*A + ys*B + zs*C, where (A,B,C) are the non-orthogonal vectors of the simulation box edges, as discussed -in "Section 6.12"_Section_howto.html#howto_12. +on the "Howto triclinic"_Howto_triclinic.html doc page. Use {xu}, {yu}, {zu} if you want the coordinates "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has diff --git a/doc/src/dump_cfg_uef.txt b/doc/src/dump_cfg_uef.txt index e257f9c4f1..665be14be1 100644 --- a/doc/src/dump_cfg_uef.txt +++ b/doc/src/dump_cfg_uef.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump_h5md.txt b/doc/src/dump_h5md.txt index 93c87d85b7..fbd682dad9 100644 --- a/doc/src/dump_h5md.txt +++ b/doc/src/dump_h5md.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump_image.txt b/doc/src/dump_image.txt index c1732be972..06332b5dcf 100644 --- a/doc/src/dump_image.txt +++ b/doc/src/dump_image.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -356,16 +356,16 @@ is used to define body particles with internal state body style. If this keyword is not used, such particles will be drawn as spheres, the same as if they were regular atoms. -The "body"_body.html doc page describes the body styles LAMMPS -currently supports, and provides more details as to the kind of body -particles they represent and how they are drawn by this dump image -command. For all the body styles, individual atoms can be either a -body particle or a usual point (non-body) particle. Non-body +The "Howto body"_Howto_body.html doc page describes the body styles +LAMMPS currently supports, and provides more details as to the kind of +body particles they represent and how they are drawn by this dump +image command. For all the body styles, individual atoms can be +either a body particle or a usual point (non-body) particle. Non-body particles will be drawn the same way they would be as a regular atom. The {bflag1} and {bflag2} settings are numerical values which are passed to the body style to affect how the drawing of a body particle -is done. See the "body"_body.html doc page for a description of what -these parameters mean for each body style. +is done. See the "Howto body"_Howto_body.html doc page for a +description of what these parameters mean for each body style. The only setting currently allowed for the {color} value is {type}, which will color the body particles according to the atom type of the diff --git a/doc/src/dump_modify.txt b/doc/src/dump_modify.txt index 5365610d64..73107d07f7 100644 --- a/doc/src/dump_modify.txt +++ b/doc/src/dump_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump_molfile.txt b/doc/src/dump_molfile.txt index 7e68490a68..9fa04bd1ae 100644 --- a/doc/src/dump_molfile.txt +++ b/doc/src/dump_molfile.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump_netcdf.txt b/doc/src/dump_netcdf.txt index 70111a36a8..b1c6373651 100644 --- a/doc/src/dump_netcdf.txt +++ b/doc/src/dump_netcdf.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/dump_vtk.txt b/doc/src/dump_vtk.txt index d4d28c81fc..afc6099534 100644 --- a/doc/src/dump_vtk.txt +++ b/doc/src/dump_vtk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/echo.txt b/doc/src/echo.txt index 3141c7a719..dc6918dc89 100644 --- a/doc/src/echo.txt +++ b/doc/src/echo.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix.txt b/doc/src/fix.txt index ba2088576f..fd966b5bd9 100644 --- a/doc/src/fix.txt +++ b/doc/src/fix.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -133,7 +133,7 @@ reduce"_compute_reduce.html command, or histogrammed by the "fix ave/histo"_fix_ave_histo.html command. :l :ule -See this "howto section"_Section_howto.html#howto_15 for a summary of +See the "Howto output"_Howto_output.html doc page for a summary of various LAMMPS output options, many of which involve fixes. The results of fixes that calculate global quantities can be either @@ -151,16 +151,20 @@ for further info. :line -Each fix style has its own documentation page which describes its -arguments and what it does, as listed below. Here is an alphabetic -list of fix styles available in LAMMPS. They are also given in more -compact form in the Fix section of "this -page"_Section_commands.html#cmd_5. +Each fix style has its own doc page which describes its arguments and +what it does, as listed below. Here is an alphabetic list of fix +styles available in LAMMPS. They are also listed in more compact form +on the "Commands fix"_Commands_fix.html doc page. There are also additional fix styles (not listed here) submitted by -users which are included in the LAMMPS distribution. The list of -these with links to the individual styles are given in the fix section -of "this page"_Section_commands.html#cmd_5. +users which are included in the LAMMPS distribution. The full list of +all fix styles is on the "Commands fix"_Commands_fix.html doc page. + +There are also additional accelerated fix styles included in the +LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. +The individual style names on the "Commands fix"_Commands_fix.html doc +page are followed by one or more of (g,i,k,o,t) to indicate which +accerlerated styles exist. "adapt"_fix_adapt.html - change a simulation parameter over time "addforce"_fix_addforce.html - add a force to each atom diff --git a/doc/src/fix_adapt.txt b/doc/src/fix_adapt.txt index 7a34f2ff44..0ca28fb869 100644 --- a/doc/src/fix_adapt.txt +++ b/doc/src/fix_adapt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -270,10 +270,10 @@ fix 1 center adapt 10 atom diameter v_size :pre No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. For "rRESPA time integration"_run_style.html, this fix changes parameters on the outermost rRESPA level. diff --git a/doc/src/fix_adapt_fep.txt b/doc/src/fix_adapt_fep.txt index 5dd58bc39a..7e30a1d29d 100644 --- a/doc/src/fix_adapt_fep.txt +++ b/doc/src/fix_adapt_fep.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -243,10 +243,10 @@ parameters on the outermost rRESPA level. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_addforce.txt b/doc/src/fix_addforce.txt index b2ac95eabb..51be39fdb2 100644 --- a/doc/src/fix_addforce.txt +++ b/doc/src/fix_addforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -103,12 +103,12 @@ converge properly. :line -Styles with a suffix are functionally the same as the corresponding -style without the suffix. They have been optimized to run faster, -depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -120,8 +120,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -150,11 +150,11 @@ integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar and a global 3-vector of forces, -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar is the potential -energy discussed above. The vector is the total force on the group of -atoms before the forces on individual atoms are changed by the fix. -The scalar and vector values calculated by this fix are "extensive". +which can be accessed by various "output commands"_Howto_output.html. +The scalar is the potential energy discussed above. The vector is the +total force on the group of atoms before the forces on individual +atoms are changed by the fix. The scalar and vector values calculated +by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_addtorque.txt b/doc/src/fix_addtorque.txt index 793ec0e015..c80fad26da 100644 --- a/doc/src/fix_addtorque.txt +++ b/doc/src/fix_addtorque.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -70,11 +70,11 @@ this fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its torque. Default is the outermost level. This fix computes a global scalar and a global 3-vector, which can be -accessed by various "output commands"_Section_howto.html#howto_15. -The scalar is the potential energy discussed above. The vector is the -total torque on the group of atoms before the forces on individual -atoms are changed by the fix. The scalar and vector values calculated -by this fix are "extensive". +accessed by various "output commands"_Howto_output.html. The scalar +is the potential energy discussed above. The vector is the total +torque on the group of atoms before the forces on individual atoms are +changed by the fix. The scalar and vector values calculated by this +fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_append_atoms.txt b/doc/src/fix_append_atoms.txt index 27070c9be5..c6af361afc 100644 --- a/doc/src/fix_append_atoms.txt +++ b/doc/src/fix_append_atoms.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -87,10 +87,10 @@ define the lattice spacings. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_atc.txt b/doc/src/fix_atc.txt index 49014f0591..6de917e571 100644 --- a/doc/src/fix_atc.txt +++ b/doc/src/fix_atc.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -102,7 +102,13 @@ Note coupling and post-processing can be combined in the same simulations using [Restart, fix_modify, output, run start/stop, minimize info:] -No information about this fix is written to "binary restart files"_restart.html. The "fix_modify"_fix_modify.html options relevant to this fix are listed below. No global scalar or vector or per-atom quantities are stored by this fix for access by various "output commands"_Section_howto.html#howto_15. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. +No information about this fix is written to "binary restart +files"_restart.html. The "fix_modify"_fix_modify.html options +relevant to this fix are listed below. No global scalar or vector or +per-atom quantities are stored by this fix for access by various +"output commands"_Howto_output.html. No parameter of this fix can be +used with the {start/stop} keywords of the "run"_run.html command. +This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_atom_swap.txt b/doc/src/fix_atom_swap.txt index bf56277214..c1d84dade1 100644 --- a/doc/src/fix_atom_swap.txt +++ b/doc/src/fix_atom_swap.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -150,8 +150,8 @@ None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global vector of length 2, which can be accessed -by various "output commands"_Section_howto.html#howto_15. The vector -values are the following global cumulative quantities: +by various "output commands"_Howto_output.html. The vector values are +the following global cumulative quantities: 1 = swap attempts 2 = swap successes :ul diff --git a/doc/src/fix_ave_atom.txt b/doc/src/fix_ave_atom.txt index 23e4ed235b..10deaf64cd 100644 --- a/doc/src/fix_ave_atom.txt +++ b/doc/src/fix_ave_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -38,7 +38,7 @@ fix 1 all ave/atom 10 20 1000 c_my_stress\[*\] :pre Use one or more per-atom vectors as inputs every few timesteps, and average them atom by atom over longer timescales. The resulting per-atom averages can be used by other "output -commands"_Section_howto.html#howto_15 such as the "fix +commands"_Howto_output.html such as the "fix ave/chunk"_fix_ave_chunk.html or "dump custom"_dump.html commands. The group specified with the command means only atoms within the group @@ -155,14 +155,14 @@ No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global scalar or vector quantities are stored by this fix for access by various "output -commands"_Section_howto.html#howto_15. +commands"_Howto_output.html. This fix produces a per-atom vector or array which can be accessed by -various "output commands"_Section_howto.html#howto_15. A vector is -produced if only a single quantity is averaged by this fix. If two or -more quantities are averaged, then an array of values is produced. -The per-atom values can only be accessed on timesteps that are -multiples of {Nfreq} since that is when averaging is performed. +various "output commands"_Howto_output.html. A vector is produced if +only a single quantity is averaged by this fix. If two or more +quantities are averaged, then an array of values is produced. The +per-atom values can only be accessed on timesteps that are multiples +of {Nfreq} since that is when averaging is performed. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_ave_chunk.txt b/doc/src/fix_ave_chunk.txt index 8e2a09e33f..d331e51295 100644 --- a/doc/src/fix_ave_chunk.txt +++ b/doc/src/fix_ave_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -85,17 +85,17 @@ fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile :pre Use one or more per-atom vectors as inputs every few timesteps, sum the values over the atoms in each chunk at each timestep, then average the per-chunk values over longer timescales. The resulting chunk -averages can be used by other "output -commands"_Section_howto.html#howto_15 such as "thermo_style -custom"_thermo_style.html, and can also be written to a file. +averages can be used by other "output commands"_Howto_output.html such +as "thermo_style custom"_thermo_style.html, and can also be written to +a file. In LAMMPS, chunks are collections of atoms defined by a "compute chunk/atom"_compute_chunk_atom.html command, which assigns each atom to a single chunk (or no chunk). The ID for this command is specified as chunkID. For example, a single chunk could be the atoms in a molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html doc page and "Section -6.23"_Section_howto.html#howto_23 for details of how chunks can be +chunk/atom"_compute_chunk_atom.html doc page and the "Howto +chunk"_Howto_chunk.html doc page for details of how chunks can be defined and examples of how they can be used to measure properties of a system. @@ -456,20 +456,19 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global array of values which can be accessed by -various "output commands"_Section_howto.html#howto_15. The values can -only be accessed on timesteps that are multiples of {Nfreq} since that -is when averaging is performed. The global array has # of rows = -the number of chunks {Nchunk} as calculated by the specified "compute +various "output commands"_Howto_output.html. The values can only be +accessed on timesteps that are multiples of {Nfreq} since that is when +averaging is performed. The global array has # of rows = the number +of chunks {Nchunk} as calculated by the specified "compute chunk/atom"_compute_chunk_atom.html command. The # of columns = M+1+Nvalues, where M = 1 to 4, depending on whether the optional -columns for OrigID and CoordN are used, as explained above. -Following the optional columns, the next column contains the count of -atoms in the chunk, and the remaining columns are the Nvalue -quantities. When the array is accessed with a row I that exceeds the -current number of chunks, than a 0.0 is returned by the fix instead of -an error, since the number of chunks can vary as a simulation runs -depending on how that value is computed by the compute chunk/atom -command. +columns for OrigID and CoordN are used, as explained above. Following +the optional columns, the next column contains the count of atoms in +the chunk, and the remaining columns are the Nvalue quantities. When +the array is accessed with a row I that exceeds the current number of +chunks, than a 0.0 is returned by the fix instead of an error, since +the number of chunks can vary as a simulation runs depending on how +that value is computed by the compute chunk/atom command. The array values calculated by this fix are treated as "intensive", since they are typically already normalized by the count of atoms in diff --git a/doc/src/fix_ave_correlate.txt b/doc/src/fix_ave_correlate.txt index 98f352cb74..22e8768f1d 100644 --- a/doc/src/fix_ave_correlate.txt +++ b/doc/src/fix_ave_correlate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -68,7 +68,7 @@ calculate time correlations between them at varying time intervals, and average the correlation data over longer timescales. The resulting correlation values can be time integrated by "variables"_variable.html or used by other "output -commands"_Section_howto.html#howto_15 such as "thermo_style +commands"_Howto_output.html such as "thermo_style custom"_thermo_style.html, and can also be written to a file. See the "fix ave/correlate/long"_fix_ave_correlate_long.html command for an alternate method for computing correlation functions efficiently over @@ -313,16 +313,15 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global array of values which can be accessed by -various "output commands"_Section_howto.html#howto_15. The values can -only be accessed on timesteps that are multiples of {Nfreq} since that -is when averaging is performed. The global array has # of rows = -{Nrepeat} and # of columns = Npair+2. The first column has the time -delta (in timesteps) between the pairs of input values used to -calculate the correlation, as described above. The 2nd column has the -number of samples contributing to the correlation average, as -described above. The remaining Npair columns are for I,J pairs of the -N input values, as determined by the {type} keyword, as described -above. +various "output commands"_Howto_output.html. The values can only be +accessed on timesteps that are multiples of {Nfreq} since that is when +averaging is performed. The global array has # of rows = {Nrepeat} +and # of columns = Npair+2. The first column has the time delta (in +timesteps) between the pairs of input values used to calculate the +correlation, as described above. The 2nd column has the number of +samples contributing to the correlation average, as described above. +The remaining Npair columns are for I,J pairs of the N input values, +as determined by the {type} keyword, as described above. For {type} = {auto}, the Npair = N columns are ordered: C11, C22, ..., CNN. :ulb,l diff --git a/doc/src/fix_ave_correlate_long.txt b/doc/src/fix_ave_correlate_long.txt index 7b4bc53701..ac0ef873aa 100644 --- a/doc/src/fix_ave_correlate_long.txt +++ b/doc/src/fix_ave_correlate_long.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_ave_histo.txt b/doc/src/fix_ave_histo.txt index 5155f42e7b..f1da130ff7 100644 --- a/doc/src/fix_ave_histo.txt +++ b/doc/src/fix_ave_histo.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -69,10 +69,9 @@ fix 1 all ave/histo/weight 1 1 1 10 100 2000 c_XRD\[1\] c_XRD\[2\] :pre Use one or more values as inputs every few timesteps to create a single histogram. The histogram can then be averaged over longer timescales. The resulting histogram can be used by other "output -commands"_Section_howto.html#howto_15, and can also be written to a -file. The fix ave/histo/weight command has identical syntax to fix -ave/histo, except that exactly two values must be specified. See -details below. +commands"_Howto_output.html, and can also be written to a file. The +fix ave/histo/weight command has identical syntax to fix ave/histo, +except that exactly two values must be specified. See details below. The group specified with this command is ignored for global and local input values. For per-atom input values, only atoms in the group @@ -320,10 +319,10 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix produces a global vector and global array which can be -accessed by various "output commands"_Section_howto.html#howto_15. -The values can only be accessed on timesteps that are multiples of -{Nfreq} since that is when a histogram is generated. The global -vector has 4 values: +accessed by various "output commands"_Howto_output.html. The values +can only be accessed on timesteps that are multiples of {Nfreq} since +that is when a histogram is generated. The global vector has 4 +values: 1 = total counts in the histogram 2 = values that were not histogrammed (see {beyond} keyword) diff --git a/doc/src/fix_ave_time.txt b/doc/src/fix_ave_time.txt index b61f56cf02..a53e318d3f 100644 --- a/doc/src/fix_ave_time.txt +++ b/doc/src/fix_ave_time.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -64,7 +64,7 @@ fix 1 all ave/time 1 100 1000 f_indent f_indent\[1\] file temp.indent off 1 :pre Use one or more global values as inputs every few timesteps, and average them over longer timescales. The resulting averages can be -used by other "output commands"_Section_howto.html#howto_15 such as +used by other "output commands"_Howto_output.html such as "thermo_style custom"_thermo_style.html, and can also be written to a file. Note that if no time averaging is done, this command can be used as a convenient way to simply output one or more global values to @@ -305,10 +305,9 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix produces a global scalar or global vector or global array -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The values can only be -accessed on timesteps that are multiples of {Nfreq} since that is when -averaging is performed. +which can be accessed by various "output commands"_Howto_output.html. +The values can only be accessed on timesteps that are multiples of +{Nfreq} since that is when averaging is performed. A scalar is produced if only a single input value is averaged and {mode} = scalar. A vector is produced if multiple input values are diff --git a/doc/src/fix_aveforce.txt b/doc/src/fix_aveforce.txt index 5d7dec3e6a..1fc7e4a18d 100644 --- a/doc/src/fix_aveforce.txt +++ b/doc/src/fix_aveforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -63,12 +63,12 @@ to it. :line -Styles with a suffix are functionally the same as the corresponding -style without the suffix. They have been optimized to run faster, -depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -80,8 +80,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -95,10 +95,10 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Section_howto.html#howto_15. This is the -total force on the group of atoms before the forces on individual -atoms are changed by the fix. The vector values calculated by this -fix are "extensive". +by various "output commands"_Howto_output.html. This is the total +force on the group of atoms before the forces on individual atoms are +changed by the fix. The vector values calculated by this fix are +"extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_balance.txt b/doc/src/fix_balance.txt index f148e6f996..2de17cdd2a 100644 --- a/doc/src/fix_balance.txt +++ b/doc/src/fix_balance.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -357,8 +357,8 @@ number of particles (or total weight) on any processor to the average number of particles (or total weight) per processor. These quantities can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar and vector values -calculated by this fix are "intensive". +commands"_Howto_output.html. The scalar and vector values calculated +by this fix are "intensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_bocs.txt b/doc/src/fix_bocs.txt index f53b7c785c..f5bbc8a251 100644 --- a/doc/src/fix_bocs.txt +++ b/doc/src/fix_bocs.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_bond_break.txt b/doc/src/fix_bond_break.txt index 83364b9efb..bdb2f2a862 100644 --- a/doc/src/fix_bond_break.txt +++ b/doc/src/fix_bond_break.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -116,8 +116,8 @@ are relevant to this fix. This fix computes two statistics which it stores in a global vector of length 2, which can be accessed by various "output -commands"_Section_howto.html#howto_15. The vector values calculated -by this fix are "intensive". +commands"_Howto_output.html. The vector values calculated by this fix +are "intensive". These are the 2 quantities: diff --git a/doc/src/fix_bond_create.txt b/doc/src/fix_bond_create.txt index c0045ac0f0..ab34433cec 100644 --- a/doc/src/fix_bond_create.txt +++ b/doc/src/fix_bond_create.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -211,8 +211,8 @@ are relevant to this fix. This fix computes two statistics which it stores in a global vector of length 2, which can be accessed by various "output -commands"_Section_howto.html#howto_15. The vector values calculated -by this fix are "intensive". +commands"_Howto_output.html. The vector values calculated by this fix +are "intensive". These are the 2 quantities: diff --git a/doc/src/fix_bond_react.txt b/doc/src/fix_bond_react.txt index f85ef9bc1a..883968e012 100644 --- a/doc/src/fix_bond_react.txt +++ b/doc/src/fix_bond_react.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -298,9 +298,8 @@ relevant to this fix. This fix computes one statistic for each {react} argument that it stores in a global vector, of length 'number of react arguments', that -can be accessed by various "output -commands"_Section_howto.html#howto_15. The vector values calculated by -this fix are "intensive". +can be accessed by various "output commands"_Howto_output.html. The +vector values calculated by this fix are "intensive". These is 1 quantity for each react argument: diff --git a/doc/src/fix_bond_swap.txt b/doc/src/fix_bond_swap.txt index ca7069e247..a829171f33 100644 --- a/doc/src/fix_bond_swap.txt +++ b/doc/src/fix_bond_swap.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -150,13 +150,13 @@ the Boltzmann criterion. This fix computes two statistical quantities as a global 2-vector of output, which can be accessed by various "output -commands"_Section_howto.html#howto_15. The first component of the -vector is the cumulative number of swaps performed by all processors. -The second component of the vector is the cumulative number of swaps -attempted (whether accepted or rejected). Note that a swap "attempt" -only occurs when swap partners meeting the criteria described above -are found on a particular timestep. The vector values calculated by -this fix are "intensive". +commands"_Howto_output.html. The first component of the vector is the +cumulative number of swaps performed by all processors. The second +component of the vector is the cumulative number of swaps attempted +(whether accepted or rejected). Note that a swap "attempt" only +occurs when swap partners meeting the criteria described above are +found on a particular timestep. The vector values calculated by this +fix are "intensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_box_relax.txt b/doc/src/fix_box_relax.txt index e3d75ee858..8e21ec2c74 100644 --- a/doc/src/fix_box_relax.txt +++ b/doc/src/fix_box_relax.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -315,17 +315,15 @@ specified by the {press} keyword will be unaffected by the {temp} setting. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -pressure-volume energy, plus the strain energy, if it exists, -as described above. -The energy values reported at the -end of a minimization run under "Minimization stats" include this -energy, and so differ from what LAMMPS normally reports as potential -energy. This fix does not support the "fix_modify"_fix_modify.html -{energy} option, because that would result in double-counting of the -fix energy in the minimization energy. Instead, the fix energy can be -explicitly added to the potential energy using one of these two -variants: +"output commands"_Howto_output.html. The scalar is the pressure-volume +energy, plus the strain energy, if it exists, as described above. The +energy values reported at the end of a minimization run under +"Minimization stats" include this energy, and so differ from what +LAMMPS normally reports as potential energy. This fix does not support +the "fix_modify"_fix_modify.html {energy} option, because that would +result in double-counting of the fix energy in the minimization +energy. Instead, the fix energy can be explicitly added to the +potential energy using one of these two variants: variable emin equal pe+f_1 :pre diff --git a/doc/src/fix_cmap.txt b/doc/src/fix_cmap.txt index f8de2b4efe..6f3769fafe 100644 --- a/doc/src/fix_cmap.txt +++ b/doc/src/fix_cmap.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -103,9 +103,9 @@ the system's virial as part of "thermodynamic output"_thermo_style.html. The default is {virial yes} This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -potential energy discussed above. The scalar value calculated by this -fix is "extensive". +"output commands"_Howto_output.html. The scalar is the potential +energy discussed above. The scalar value calculated by this fix is +"extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_colvars.txt b/doc/src/fix_colvars.txt index e48dedacd9..4a1d84de64 100644 --- a/doc/src/fix_colvars.txt +++ b/doc/src/fix_colvars.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -99,9 +99,9 @@ to the system's potential energy as part of "thermodynamic output"_thermo_style.html. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". [Restrictions:] diff --git a/doc/src/fix_controller.txt b/doc/src/fix_controller.txt index b8d2cb43be..7458f1bcfa 100644 --- a/doc/src/fix_controller.txt +++ b/doc/src/fix_controller.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -180,9 +180,9 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix produces a global vector with 3 values which can be accessed -by various "output commands"_Section_howto.html#howto_15. The values -can be accessed on any timestep, though they are only updated on -timesteps that are a multiple of {Nevery}. +by various "output commands"_Howto_output.html. The values can be +accessed on any timestep, though they are only updated on timesteps +that are a multiple of {Nevery}. The three values are the most recent updates made to the control variable by each of the 3 terms in the PID equation above. The first diff --git a/doc/src/fix_deform.txt b/doc/src/fix_deform.txt index c870c73bdc..e92d1e6b19 100644 --- a/doc/src/fix_deform.txt +++ b/doc/src/fix_deform.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -94,7 +94,7 @@ nvt/sllod"_fix_nvt_sllod.html and "compute temp/deform"_compute_temp_deform.html commands for more details. Note that simulation of a continuously extended system (extensional flow) can be modeled using the "USER-UEF -package"_Section_packages.html#USER-UEF and its "fix +package"_Packages_details.html#USER-UEF and its "fix commands"_fix_nh_uef.html. For the {x}, {y}, {z} parameters, the associated dimension cannot be @@ -550,10 +550,9 @@ command if you want to include lattice spacings in a variable formula. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -565,18 +564,17 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] This fix will restore the initial box settings from "binary restart files"_restart.html, which allows the fix to be properly continue deformation, when using the start/stop options of the "run"_run.html -command. None of the "fix_modify"_fix_modify.html options -are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. +command. None of the "fix_modify"_fix_modify.html options are +relevant to this fix. No global or per-atom quantities are stored by +this fix for access by various "output commands"_Howto_output.html. This fix can perform deformation over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_deposit.txt b/doc/src/fix_deposit.txt index 477c14ea89..277ca8777a 100644 --- a/doc/src/fix_deposit.txt +++ b/doc/src/fix_deposit.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -116,8 +116,8 @@ side = {in}. NOTE: LAMMPS checks that the specified region is wholly inside the simulation box. It can do this correctly for orthonormal simulation -boxes. However for "triclinic boxes"_Section_howto.html#howto_12, it -only tests against the larger orthonormal box that bounds the tilted +boxes. However for "triclinic boxes"_Howto_triclinic.html, it only +tests against the larger orthonormal box that bounds the tilted simulation box. If the specified region includes volume outside the tilted box, then an insertion will likely fail, leading to a "lost atoms" error. Thus for triclinic boxes you should insure the @@ -263,9 +263,9 @@ operation of the fix continues in an uninterrupted fashion. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_dpd_energy.txt b/doc/src/fix_dpd_energy.txt index 1c10d954d6..f539bc534e 100644 --- a/doc/src/fix_dpd_energy.txt +++ b/doc/src/fix_dpd_energy.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -50,10 +50,9 @@ examples/USER/dpd directory. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -65,8 +64,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_dpd_source.txt b/doc/src/fix_dpd_source.txt index b6decc657c..04af9a28a1 100644 --- a/doc/src/fix_dpd_source.txt +++ b/doc/src/fix_dpd_source.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -63,10 +63,10 @@ cuboid domain to apply the source flux to. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_drag.txt b/doc/src/fix_drag.txt index 235d3d38b5..92e68d13a4 100644 --- a/doc/src/fix_drag.txt +++ b/doc/src/fix_drag.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -47,9 +47,9 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Section_howto.html#howto_15. This is the -total force on the group of atoms by the drag force. The vector -values calculated by this fix are "extensive". +by various "output commands"_Howto_output.html. This is the total +force on the group of atoms by the drag force. The vector values +calculated by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_drude.txt b/doc/src/fix_drude.txt index faa354b314..80eb79201b 100644 --- a/doc/src/fix_drude.txt +++ b/doc/src/fix_drude.txt @@ -3,7 +3,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -25,10 +25,10 @@ fix 1 all drude C C N C N D D D :pre [Description:] Assign each atom type in the system to be one of 3 kinds of atoms -within the Drude polarization model. This fix is designed to be -used with the "thermalized Drude oscillator -model"_tutorial_drude.html. Polarizable models in LAMMPS -are described in "this Section"_Section_howto.html#howto_25. +within the Drude polarization model. This fix is designed to be used +with the "thermalized Drude oscillator model"_Howto_drude.html. +Polarizable models in LAMMPS are described on the "Howto +polarizable"_Howto_polarizable.html doc page. The three possible types can be designated with an integer (0,1,2) or capital letter (N,C,D): diff --git a/doc/src/fix_drude_transform.txt b/doc/src/fix_drude_transform.txt index 2e094d528c..8864cc4eb6 100644 --- a/doc/src/fix_drude_transform.txt +++ b/doc/src/fix_drude_transform.txt @@ -9,7 +9,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -34,8 +34,8 @@ Transform the coordinates of Drude oscillators from real to reduced and back for thermalizing the Drude oscillators as described in "(Lamoureux)"_#Lamoureux1 using a Nose-Hoover thermostat. This fix is designed to be used with the "thermalized Drude oscillator -model"_tutorial_drude.html. Polarizable models in LAMMPS are -described in "this Section"_Section_howto.html#howto_25. +model"_Howto_drude.html. Polarizable models in LAMMPS are described +on the "Howto polarizable"_Howto_polarizable.html doc page. Drude oscillators are a pair of atoms representing a single polarizable atom. Ideally, the mass of Drude particles would vanish diff --git a/doc/src/fix_dt_reset.txt b/doc/src/fix_dt_reset.txt index 7605395ca0..be4fbd255b 100644 --- a/doc/src/fix_dt_reset.txt +++ b/doc/src/fix_dt_reset.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -82,8 +82,8 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar stores -the last timestep on which the timestep was reset to a new value. +"output commands"_Howto_output.html. The scalar stores the last +timestep on which the timestep was reset to a new value. The scalar value calculated by this fix is "intensive". diff --git a/doc/src/fix_efield.txt b/doc/src/fix_efield.txt index 5d2b86fe4b..b5a43f68aa 100644 --- a/doc/src/fix_efield.txt +++ b/doc/src/fix_efield.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -134,11 +134,10 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix adding its forces. Default is the outermost level. This fix computes a global scalar and a global 3-vector of forces, -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar is the potential -energy discussed above. The vector is the total force added to the -group of atoms. The scalar and vector values calculated by this fix -are "extensive". +which can be accessed by various "output commands"_Howto_output.html. +The scalar is the potential energy discussed above. The vector is the +total force added to the group of atoms. The scalar and vector values +calculated by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_ehex.txt b/doc/src/fix_ehex.txt index 40752a811f..cfcc917d01 100644 --- a/doc/src/fix_ehex.txt +++ b/doc/src/fix_ehex.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_enforce2d.txt b/doc/src/fix_enforce2d.txt index 4bbf41d25d..2925e44bda 100644 --- a/doc/src/fix_enforce2d.txt +++ b/doc/src/fix_enforce2d.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -31,10 +31,9 @@ not move from their initial z coordinate. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -46,8 +45,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -56,9 +55,9 @@ more instructions on how to use the accelerated styles effectively. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. The forces due to this fix are imposed during an energy minimization, invoked by the "minimize"_minimize.html command. diff --git a/doc/src/fix_eos_cv.txt b/doc/src/fix_eos_cv.txt index 4c97304335..b94e2c64a9 100644 --- a/doc/src/fix_eos_cv.txt +++ b/doc/src/fix_eos_cv.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_eos_table.txt b/doc/src/fix_eos_table.txt index 42778d7978..743c51f415 100644 --- a/doc/src/fix_eos_table.txt +++ b/doc/src/fix_eos_table.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_eos_table_rx.txt b/doc/src/fix_eos_table_rx.txt index 0c87874347..f9deab61c8 100644 --- a/doc/src/fix_eos_table_rx.txt +++ b/doc/src/fix_eos_table_rx.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -156,10 +156,9 @@ no 0.93 0.00 0.000 -1.76 :pre Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -171,8 +170,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_evaporate.txt b/doc/src/fix_evaporate.txt index ed6c6d0377..6237a137fd 100644 --- a/doc/src/fix_evaporate.txt +++ b/doc/src/fix_evaporate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -73,9 +73,9 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar, which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative number of deleted atoms. The scalar value calculated by -this fix is "intensive". +"output commands"_Howto_output.html. The scalar is the cumulative +number of deleted atoms. The scalar value calculated by this fix is +"intensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_external.txt b/doc/src/fix_external.txt index 30e34b4858..1dec226414 100644 --- a/doc/src/fix_external.txt +++ b/doc/src/fix_external.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -31,10 +31,10 @@ fix 1 all external pf/array 10 :pre [Description:] This fix allows external programs that are running LAMMPS through its -"library interface"_Section_howto.html#howto_19 to modify certain -LAMMPS properties on specific timesteps, similar to the way other -fixes do. The external driver can be a "C/C++ or Fortran -program"_Section_howto.html#howto_19 or a "Python script"_Python.html. +"library interface"_Howto_library.html to modify certain LAMMPS +properties on specific timesteps, similar to the way other fixes do. +The external driver can be a "C/C++ or Fortran +program"_Howto_library.html or a "Python script"_Python.html. :line @@ -136,9 +136,8 @@ external program to the system's virial as part of "thermodynamic output"_thermo_style.html. The default is {virial yes} This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -potential energy discussed above. The scalar stored by this fix -is "extensive". +"output commands"_Howto_output.html. The scalar is the potential +energy discussed above. The scalar stored by this fix is "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_filter_corotate.txt b/doc/src/fix_filter_corotate.txt index b782d285c7..d1e5e12f3e 100644 --- a/doc/src/fix_filter_corotate.txt +++ b/doc/src/fix_filter_corotate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -63,10 +63,9 @@ No information about these fixes is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to these fixes. No global or per-atom quantities are stored by these fixes for access by various "output -commands"_Section_howto.html#howto_15. No parameter of these fixes -can be used with the {start/stop} keywords of the "run"_run.html -command. These fixes are not invoked during "energy -minimization"_minimize.html. +commands"_Howto_output.html. No parameter of these fixes can be used +with the {start/stop} keywords of the "run"_run.html command. These +fixes are not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_flow_gauss.txt b/doc/src/fix_flow_gauss.txt index efa58ea65f..843c2a66a5 100644 --- a/doc/src/fix_flow_gauss.txt +++ b/doc/src/fix_flow_gauss.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -128,11 +128,11 @@ integrator the fix computes and adds the external acceleration. Default is the outermost level. This fix computes a global scalar and a global 3-vector of forces, -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar is the negative of the -work done on the system, see above discussion. The vector is the total force -that this fix applied to the group of atoms on the current timestep. -The scalar and vector values calculated by this fix are "extensive". +which can be accessed by various "output commands"_Howto_output.html. +The scalar is the negative of the work done on the system, see above +discussion. The vector is the total force that this fix applied to +the group of atoms on the current timestep. The scalar and vector +values calculated by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_freeze.txt b/doc/src/fix_freeze.txt index a63ee4cb32..76a9fd3b1a 100644 --- a/doc/src/fix_freeze.txt +++ b/doc/src/fix_freeze.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -31,12 +31,12 @@ using "fix setforce"_fix_setforce.html. :line -Styles with a suffix are functionally the same as the corresponding -style without the suffix. They have been optimized to run faster, -depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -48,8 +48,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -60,10 +60,10 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Section_howto.html#howto_15. This is the -total force on the group of atoms before the forces on individual -atoms are changed by the fix. The vector values calculated by this -fix are "extensive". +by various "output commands"_Howto_output.html. This is the total +force on the group of atoms before the forces on individual atoms are +changed by the fix. The vector values calculated by this fix are +"extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_gcmc.txt b/doc/src/fix_gcmc.txt index 191bc32b14..394690ea5d 100644 --- a/doc/src/fix_gcmc.txt +++ b/doc/src/fix_gcmc.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -382,8 +382,8 @@ None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global vector of length 8, which can be accessed -by various "output commands"_Section_howto.html#howto_15. The vector -values are the following global cumulative quantities: +by various "output commands"_Howto_output.html. The vector values are +the following global cumulative quantities: 1 = translation attempts 2 = translation successes diff --git a/doc/src/fix_gld.txt b/doc/src/fix_gld.txt index 1425f62e13..1c5db6157d 100644 --- a/doc/src/fix_gld.txt +++ b/doc/src/fix_gld.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -126,7 +126,7 @@ sense, a restarted simulation should produce the same behavior. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. +access by various "output commands"_Howto_output.html. This fix can ramp its target temperature over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_gle.txt b/doc/src/fix_gle.txt index 6568060f0c..9fdc72bf9f 100644 --- a/doc/src/fix_gle.txt +++ b/doc/src/fix_gle.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -116,9 +116,9 @@ system's potential energy as part of "thermodynamic output"_thermo_style.html. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". [Restrictions:] diff --git a/doc/src/fix_gravity.txt b/doc/src/fix_gravity.txt index dae8ac5ed0..832c677f81 100644 --- a/doc/src/fix_gravity.txt +++ b/doc/src/fix_gravity.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -90,10 +90,9 @@ field. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -105,8 +104,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -125,11 +124,11 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. This scalar is the -gravitational potential energy of the particles in the defined field, -namely mass * (g dot x) for each particles, where x and mass are the -particles position and mass, and g is the gravitational field. The -scalar value calculated by this fix is "extensive". +"output commands"_Howto_output.html. This scalar is the gravitational +potential energy of the particles in the defined field, namely mass * +(g dot x) for each particles, where x and mass are the particles +position and mass, and g is the gravitational field. The scalar value +calculated by this fix is "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_grem.txt b/doc/src/fix_grem.txt index 661f68ed99..506e266505 100644 --- a/doc/src/fix_grem.txt +++ b/doc/src/fix_grem.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_halt.txt b/doc/src/fix_halt.txt index 08043eb5fb..ec117518d2 100644 --- a/doc/src/fix_halt.txt +++ b/doc/src/fix_halt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -133,10 +133,10 @@ files. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_heat.txt b/doc/src/fix_heat.txt index 23db87dac2..6db7592609 100644 --- a/doc/src/fix_heat.txt +++ b/doc/src/fix_heat.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -108,12 +108,11 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. This scalar is the -most recent value by which velocites were scaled. The scalar value -calculated by this fix is "intensive". If {eflux} is specified as -an atom-style variable, this fix computes the average value by which -the velocities were scaled for all of the atoms that had their -velocities scaled. +"output commands"_Howto_output.html. This scalar is the most recent +value by which velocites were scaled. The scalar value calculated by +this fix is "intensive". If {eflux} is specified as an atom-style +variable, this fix computes the average value by which the velocities +were scaled for all of the atoms that had their velocities scaled. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_imd.txt b/doc/src/fix_imd.txt index b275612819..8e21a1619b 100644 --- a/doc/src/fix_imd.txt +++ b/doc/src/fix_imd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -136,9 +136,9 @@ No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global scalar or vector or per-atom quantities are stored by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +commands"_Howto_output.html. No parameter of this fix can be used +with the {start/stop} keywords of the "run"_run.html command. This +fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_indent.txt b/doc/src/fix_indent.txt index c9a791ae4e..9931793c0b 100644 --- a/doc/src/fix_indent.txt +++ b/doc/src/fix_indent.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -180,8 +180,8 @@ integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar energy and a global 3-vector of forces (on the indenter), which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar and vector values -calculated by this fix are "extensive". +commands"_Howto_output.html. The scalar and vector values calculated +by this fix are "extensive". The forces due to this fix are imposed during an energy minimization, invoked by the "minimize"_minimize.html command. Note that if you diff --git a/doc/src/fix_ipi.txt b/doc/src/fix_ipi.txt index 07e8025d77..eba30ef088 100644 --- a/doc/src/fix_ipi.txt +++ b/doc/src/fix_ipi.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_langevin.txt b/doc/src/fix_langevin.txt index 93c73f5a5d..4d7728cdba 100644 --- a/doc/src/fix_langevin.txt +++ b/doc/src/fix_langevin.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -101,7 +101,7 @@ should not normally be used on atoms that also have their temperature controlled by another fix - e.g. by "fix nvt"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html commands. -See "this howto section"_Section_howto.html#howto_16 of the manual for +See the "Howto thermostat"_Howto_thermostat.html doc page for a discussion of different ways to compute temperature and perform thermostatting. @@ -264,10 +264,9 @@ generates an average temperature of 220 K, instead of 300 K. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -279,8 +278,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -306,10 +305,10 @@ output"_thermo_style.html. Note that use of this option requires setting the {tally} keyword to {yes}. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". Note that calculation of this -quantity requires setting the {tally} keyword to {yes}. +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". Note that calculation of this quantity requires +setting the {tally} keyword to {yes}. This fix can ramp its target temperature over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_langevin_drude.txt b/doc/src/fix_langevin_drude.txt index c85ff24c96..19a3f87ffc 100644 --- a/doc/src/fix_langevin_drude.txt +++ b/doc/src/fix_langevin_drude.txt @@ -9,7 +9,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -44,8 +44,9 @@ fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes :pre Apply two Langevin thermostats as described in "(Jiang)"_#Jiang1 for thermalizing the reduced degrees of freedom of Drude oscillators. This link describes how to use the "thermalized Drude oscillator -model"_tutorial_drude.html in LAMMPS and polarizable models in LAMMPS -are discussed in "this Section"_Section_howto.html#howto_25. +model"_Howto_drude.html in LAMMPS and polarizable models in LAMMPS +are discussed on the "Howto polarizable"_Howto_polarizable.html doc +page. Drude oscillators are a way to simulate polarizables atoms, by splitting them into a core and a Drude particle bound by a harmonic @@ -99,8 +100,8 @@ Likewise, this fix should not normally be used on atoms that also have their temperature controlled by another fix - e.g. by "fix nvt"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html commands. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostating. :line diff --git a/doc/src/fix_langevin_eff.txt b/doc/src/fix_langevin_eff.txt index 4a50bfae54..cf42f9c036 100644 --- a/doc/src/fix_langevin_eff.txt +++ b/doc/src/fix_langevin_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -79,10 +79,10 @@ output"_thermo_style.html. Note that use of this option requires setting the {tally} keyword to {yes}. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". Note that calculation of this -quantity requires setting the {tally} keyword to {yes}. +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". Note that calculation of this quantity requires +setting the {tally} keyword to {yes}. This fix can ramp its target temperature over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index b089cd7f58..1b1936376d 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_latte.txt b/doc/src/fix_latte.txt index 4edd610546..9bc589520b 100644 --- a/doc/src/fix_latte.txt +++ b/doc/src/fix_latte.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -118,9 +118,9 @@ of "thermodynamic output"_thermo_style.html. The default is {virial yes} This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -potential energy discussed above. The scalar value calculated by this -fix is "extensive". +"output commands"_Howto_output.html. The scalar is the potential +energy discussed above. The scalar value calculated by this fix is +"extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_lb_fluid.txt b/doc/src/fix_lb_fluid.txt index fc6203b0f2..5347f0147f 100644 --- a/doc/src/fix_lb_fluid.txt +++ b/doc/src/fix_lb_fluid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -299,9 +299,9 @@ is written to the main LAMMPS "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_lb_momentum.txt b/doc/src/fix_lb_momentum.txt index 97965e870d..a58c5d257e 100644 --- a/doc/src/fix_lb_momentum.txt +++ b/doc/src/fix_lb_momentum.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -49,10 +49,10 @@ dimension. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can be -used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_lb_pc.txt b/doc/src/fix_lb_pc.txt index d2b6aafaab..bd121b7813 100644 --- a/doc/src/fix_lb_pc.txt +++ b/doc/src/fix_lb_pc.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -34,10 +34,10 @@ algorithm if the force coupling constant has been set by default. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can be -used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_lb_rigid_pc_sphere.txt b/doc/src/fix_lb_rigid_pc_sphere.txt index 468ebe1ff5..bc8fa2ea25 100644 --- a/doc/src/fix_lb_rigid_pc_sphere.txt +++ b/doc/src/fix_lb_rigid_pc_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -80,12 +80,12 @@ assumes the constituent atoms are point particles); see No information about the {rigid} and {rigid/nve} fixes are written to "binary restart files"_restart.html. -Similar to the "fix rigid"_fix_rigid.html command: The rigid -fix computes a global scalar which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar value calculated by -these fixes is "intensive". The scalar is the current temperature of -the collection of rigid bodies. This is averaged over all rigid -bodies and their translational and rotational degrees of freedom. The +Similar to the "fix rigid"_fix_rigid.html command: The rigid fix +computes a global scalar which can be accessed by various "output +commands"_Howto_output.html. The scalar value calculated by these +fixes is "intensive". The scalar is the current temperature of the +collection of rigid bodies. This is averaged over all rigid bodies +and their translational and rotational degrees of freedom. The translational energy of a rigid body is 1/2 m v^2, where m = total mass of the body and v = the velocity of its center of mass. The rotational energy of a rigid body is 1/2 I w^2, where I = the moment @@ -94,17 +94,17 @@ of freedom constrained by the {force} and {torque} keywords are removed from this calculation. All of these fixes compute a global array of values which can be -accessed by various "output commands"_Section_howto.html#howto_15. -The number of rows in the array is equal to the number of rigid -bodies. The number of columns is 15. Thus for each rigid body, 15 -values are stored: the xyz coords of the center of mass (COM), the xyz -components of the COM velocity, the xyz components of the force acting -on the COM, the xyz components of the torque acting on the COM, and -the xyz image flags of the COM, which have the same meaning as image -flags for atom positions (see the "dump" command). The force and -torque values in the array are not affected by the {force} and -{torque} keywords in the fix rigid command; they reflect values before -any changes are made by those keywords. +accessed by various "output commands"_Howto_output.html. The number +of rows in the array is equal to the number of rigid bodies. The +number of columns is 15. Thus for each rigid body, 15 values are +stored: the xyz coords of the center of mass (COM), the xyz components +of the COM velocity, the xyz components of the force acting on the +COM, the xyz components of the torque acting on the COM, and the xyz +image flags of the COM, which have the same meaning as image flags for +atom positions (see the "dump" command). The force and torque values +in the array are not affected by the {force} and {torque} keywords in +the fix rigid command; they reflect values before any changes are made +by those keywords. The ordering of the rigid bodies (by row in the array) is as follows. For the {single} keyword there is just one rigid body. For the diff --git a/doc/src/fix_lb_viscous.txt b/doc/src/fix_lb_viscous.txt index fcc69d2b43..7bbdd204e3 100644 --- a/doc/src/fix_lb_viscous.txt +++ b/doc/src/fix_lb_viscous.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -57,9 +57,9 @@ As described in the "fix viscous"_fix_viscous.html documentation: "No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. The forces due to this fix are imposed during an energy minimization, invoked by the "minimize"_minimize.html command. This fix should only diff --git a/doc/src/fix_lineforce.txt b/doc/src/fix_lineforce.txt index 65672fc5a5..3114ed6250 100644 --- a/doc/src/fix_lineforce.txt +++ b/doc/src/fix_lineforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -35,9 +35,9 @@ it should continue to move along the line thereafter. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. The forces due to this fix are imposed during an energy minimization, invoked by the "minimize"_minimize.html command. diff --git a/doc/src/fix_manifoldforce.txt b/doc/src/fix_manifoldforce.txt index 5fc25167a7..aa32a875bf 100644 --- a/doc/src/fix_manifoldforce.txt +++ b/doc/src/fix_manifoldforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -36,10 +36,10 @@ I have found that only {hftn} and {quickmin} with a very small time step perform No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is invoked during "energy +minimization"_minimize.html. :line diff --git a/doc/src/fix_meso.txt b/doc/src/fix_meso.txt index 85f5838dd2..8f5ad29929 100644 --- a/doc/src/fix_meso.txt +++ b/doc/src/fix_meso.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -34,10 +34,10 @@ LAMMPS. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_meso_stationary.txt b/doc/src/fix_meso_stationary.txt index 5b83573bc8..38d26b34d6 100644 --- a/doc/src/fix_meso_stationary.txt +++ b/doc/src/fix_meso_stationary.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -35,10 +35,10 @@ LAMMPS. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_modify.txt b/doc/src/fix_modify.txt index 308bba1ac3..ddb5f9a4cd 100644 --- a/doc/src/fix_modify.txt +++ b/doc/src/fix_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_momentum.txt b/doc/src/fix_momentum.txt index bcf4465fb8..f7fe35be2a 100644 --- a/doc/src/fix_momentum.txt +++ b/doc/src/fix_momentum.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -61,10 +61,9 @@ initial velocities with zero aggregate linear and/or angular momentum. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -76,18 +75,18 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_move.txt b/doc/src/fix_move.txt index 7cb40ad132..08f38d0ed6 100644 --- a/doc/src/fix_move.txt +++ b/doc/src/fix_move.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -203,10 +203,9 @@ None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix produces a per-atom array which can be accessed by various -"output commands"_Section_howto.html#howto_15. The number of columns -for each atom is 3, and the columns store the original unwrapped x,y,z -coords of each atom. The per-atom values can be accessed on any -timestep. +"output commands"_Howto_output.html. The number of columns for each +atom is 3, and the columns store the original unwrapped x,y,z coords +of each atom. The per-atom values can be accessed on any timestep. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_mscg.txt b/doc/src/fix_mscg.txt index 7d16967955..aadc3caf5a 100644 --- a/doc/src/fix_mscg.txt +++ b/doc/src/fix_mscg.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_msst.txt b/doc/src/fix_msst.txt index 310692669a..91ffbbb0fa 100644 --- a/doc/src/fix_msst.txt +++ b/doc/src/fix_msst.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -156,8 +156,8 @@ thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_ These fixes compute a global scalar and a global vector of 4 quantities, which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar values calculated -by this fix are "extensive"; the vector values are "intensive". +commands"_Howto_output.html. The scalar values calculated by this fix +are "extensive"; the vector values are "intensive". [Restrictions:] diff --git a/doc/src/fix_mvv_dpd.txt b/doc/src/fix_mvv_dpd.txt index fb3c6fe888..1e9bf631fd 100644 --- a/doc/src/fix_mvv_dpd.txt +++ b/doc/src/fix_mvv_dpd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -69,10 +69,10 @@ addition to position and velocity, and must be used with the No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_neb.txt b/doc/src/fix_neb.txt index 5d18c39d99..5341d6999c 100644 --- a/doc/src/fix_neb.txt +++ b/doc/src/fix_neb.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -43,9 +43,9 @@ Add nudging forces to atoms in the group for a multi-replica simulation run via the "neb"_neb.html command to perform a nudged elastic band (NEB) calculation for finding the transition state. Hi-level explanations of NEB are given with the "neb"_neb.html command -and in "Section_howto 5"_Section_howto.html#howto_5 of the manual. -The fix neb command must be used with the "neb" command and defines -how inter-replica nudging forces are computed. A NEB calculation is +and on the "Howto replica"_Howto_replica.html doc page. The fix neb +command must be used with the "neb" command and defines how +inter-replica nudging forces are computed. A NEB calculation is divided in two stages. In the first stage n replicas are relaxed toward a MEP until convergence. In the second stage, the climbing image scheme (see "(Henkelman2)"_#Henkelman2) is enabled, so that the @@ -192,9 +192,9 @@ target energy. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. The forces due to this fix are imposed during an energy minimization, as invoked by the "minimize"_minimize.html command via the diff --git a/doc/src/fix_nh.txt b/doc/src/fix_nh.txt index 41d0e6438f..f6b155e2db 100644 --- a/doc/src/fix_nh.txt +++ b/doc/src/fix_nh.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -386,9 +386,10 @@ have their temperature controlled by another fix - e.g. by "fix langevin"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html commands. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform -thermostatting and barostatting. +See the "Howto thermostat"_Howto_thermostat.html and "Howto +barostat"_Howto_barostat.html doc pages for a discussion of different +ways to compute temperature and perform thermostatting and +barostatting. :line @@ -484,10 +485,9 @@ the various ways to do this. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -499,8 +499,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -538,9 +538,9 @@ and barostatting to the system's potential energy as part of "thermodynamic output"_thermo_style.html. These fixes compute a global scalar and a global vector of quantities, -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar value calculated by -these fixes is "extensive"; the vector values are "intensive". +which can be accessed by various "output commands"_Howto_output.html. +The scalar value calculated by these fixes is "extensive"; the vector +values are "intensive". The scalar is the cumulative energy change due to the fix. diff --git a/doc/src/fix_nh_eff.txt b/doc/src/fix_nh_eff.txt index 1731f1f331..afb319bfa5 100644 --- a/doc/src/fix_nh_eff.txt +++ b/doc/src/fix_nh_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nh_uef.txt b/doc/src/fix_nh_uef.txt index bde1818371..0e73c57e08 100644 --- a/doc/src/fix_nh_uef.txt +++ b/doc/src/fix_nh_uef.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nph_asphere.txt b/doc/src/fix_nph_asphere.txt index 8c35b6a1a7..6bfd9d3fe2 100644 --- a/doc/src/fix_nph_asphere.txt +++ b/doc/src/fix_nph_asphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -81,10 +81,9 @@ It also means that changing attributes of {thermo_temp} or Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -96,8 +95,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nph_body.txt b/doc/src/fix_nph_body.txt index 1e590f1cb3..377e1980eb 100644 --- a/doc/src/fix_nph_body.txt +++ b/doc/src/fix_nph_body.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -80,10 +80,9 @@ It also means that changing attributes of {thermo_temp} or Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -95,8 +94,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nph_sphere.txt b/doc/src/fix_nph_sphere.txt index 62b45edfd7..8b7639c4c6 100644 --- a/doc/src/fix_nph_sphere.txt +++ b/doc/src/fix_nph_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -90,10 +90,9 @@ It also means that changing attributes of {thermo_temp} or Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -105,8 +104,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nphug.txt b/doc/src/fix_nphug.txt index 292e46f94a..0bd5153152 100644 --- a/doc/src/fix_nphug.txt +++ b/doc/src/fix_nphug.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -140,10 +140,9 @@ It also means that changing attributes of {thermo_temp} or Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -155,8 +154,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -193,9 +192,9 @@ included in the definition of internal energy E when calculating the value of Delta in the above equation. These fixes compute a global scalar and a global vector of quantities, -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar value calculated by -these fixes is "extensive"; the vector values are "intensive". +which can be accessed by various "output commands"_Howto_output.html. +The scalar value calculated by these fixes is "extensive"; the vector +values are "intensive". The scalar is the cumulative energy change due to the fix. diff --git a/doc/src/fix_npt_asphere.txt b/doc/src/fix_npt_asphere.txt index 5f3979e36e..9c95a80d33 100644 --- a/doc/src/fix_npt_asphere.txt +++ b/doc/src/fix_npt_asphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -105,10 +105,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -120,8 +119,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_npt_body.txt b/doc/src/fix_npt_body.txt index d89bf19db2..0d2b797299 100644 --- a/doc/src/fix_npt_body.txt +++ b/doc/src/fix_npt_body.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -104,10 +104,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -119,8 +118,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_npt_sphere.txt b/doc/src/fix_npt_sphere.txt index c4cf2cb08d..dcb25d1c73 100644 --- a/doc/src/fix_npt_sphere.txt +++ b/doc/src/fix_npt_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -115,10 +115,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -130,8 +129,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nve.txt b/doc/src/fix_nve.txt index c04c17858e..e446b27397 100644 --- a/doc/src/fix_nve.txt +++ b/doc/src/fix_nve.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -34,10 +34,9 @@ ensemble. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -49,8 +48,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -59,10 +58,10 @@ more instructions on how to use the accelerated styles effectively. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_nve_asphere.txt b/doc/src/fix_nve_asphere.txt index 1f31fb9679..b7fb3e922c 100644 --- a/doc/src/fix_nve_asphere.txt +++ b/doc/src/fix_nve_asphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -35,20 +35,19 @@ assumes point particles and only updates their position and velocity. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. :line Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -60,8 +59,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_nve_asphere_noforce.txt b/doc/src/fix_nve_asphere_noforce.txt index 5f1b271546..e57417bda5 100644 --- a/doc/src/fix_nve_asphere_noforce.txt +++ b/doc/src/fix_nve_asphere_noforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -38,10 +38,10 @@ Dynamics, since the velocity and angular momentum are updated by the No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nve_body.txt b/doc/src/fix_nve_body.txt index 604b5391cd..d072bfa161 100644 --- a/doc/src/fix_nve_body.txt +++ b/doc/src/fix_nve_body.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -24,9 +24,9 @@ fix 1 all nve/body :pre Perform constant NVE integration to update position, velocity, orientation, and angular velocity for body particles in the group each timestep. V is volume; E is energy. This creates a system trajectory -consistent with the microcanonical ensemble. See "Section -6.14"_Section_howto.html#howto_14 of the manual and the "body"_body.html -doc page for more details on using body particles. +consistent with the microcanonical ensemble. See the "Howto +body"_Howto_body.html doc page for more details on using body +particles. This fix differs from the "fix nve"_fix_nve.html command, which assumes point particles and only updates their position and velocity. @@ -36,10 +36,10 @@ assumes point particles and only updates their position and velocity. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nve_dot.txt b/doc/src/fix_nve_dot.txt index 0e0c8f8ecf..1041a248d8 100644 --- a/doc/src/fix_nve_dot.txt +++ b/doc/src/fix_nve_dot.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_dotc_langevin.txt b/doc/src/fix_nve_dotc_langevin.txt index 93d875bca5..68c1b42328 100644 --- a/doc/src/fix_nve_dotc_langevin.txt +++ b/doc/src/fix_nve_dotc_langevin.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_eff.txt b/doc/src/fix_nve_eff.txt index 156f184dac..7343ddc429 100644 --- a/doc/src/fix_nve_eff.txt +++ b/doc/src/fix_nve_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -35,10 +35,10 @@ of electrons are also updated. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nve_limit.txt b/doc/src/fix_nve_limit.txt index 2ecec83e9c..8c8c66a0da 100644 --- a/doc/src/fix_nve_limit.txt +++ b/doc/src/fix_nve_limit.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -63,14 +63,14 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -count of how many updates of atom's velocity/position were limited by -the maximum distance criterion. This should be roughly the number of -atoms so affected, except that updates occur at both the beginning and -end of a timestep in a velocity Verlet timestepping algorithm. This -is a cumulative quantity for the current run, but is re-initialized to -zero each time a run is performed. The scalar value calculated by -this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the count of how +many updates of atom's velocity/position were limited by the maximum +distance criterion. This should be roughly the number of atoms so +affected, except that updates occur at both the beginning and end of a +timestep in a velocity Verlet timestepping algorithm. This is a +cumulative quantity for the current run, but is re-initialized to zero +each time a run is performed. The scalar value calculated by this fix +is "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_nve_line.txt b/doc/src/fix_nve_line.txt index ac5206aa5c..dd5101489b 100644 --- a/doc/src/fix_nve_line.txt +++ b/doc/src/fix_nve_line.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -24,9 +24,9 @@ fix 1 all nve/line :pre Perform constant NVE integration to update position, velocity, orientation, and angular velocity for line segment particles in the group each timestep. V is volume; E is energy. This creates a system -trajectory consistent with the microcanonical ensemble. See -"Section 6.14"_Section_howto.html#howto_14 of the manual for an -overview of using line segment particles. +trajectory consistent with the microcanonical ensemble. See "Howto +spherical"_Howto_spherical.html doc page for an overview of using line +segment particles. This fix differs from the "fix nve"_fix_nve.html command, which assumes point particles and only updates their position and velocity. @@ -36,10 +36,10 @@ assumes point particles and only updates their position and velocity. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nve_manifold_rattle.txt b/doc/src/fix_nve_manifold_rattle.txt index e032a7e1cc..b333d093fb 100644 --- a/doc/src/fix_nve_manifold_rattle.txt +++ b/doc/src/fix_nve_manifold_rattle.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -40,7 +40,7 @@ the dynamics of particles constrained to curved surfaces can be studied. If combined with "fix langevin"_fix_langevin.html, this generates Brownian motion of particles constrained to a curved surface. For a list of currently supported manifolds and their -parameters, see "manifolds"_manifolds.html. +parameters, see the "Howto manifold"_Howto_manifold.html doc page. Note that the particles must initially be close to the manifold in question. If not, RATTLE will not be able to iterate until the @@ -68,10 +68,10 @@ conserved. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. :line diff --git a/doc/src/fix_nve_noforce.txt b/doc/src/fix_nve_noforce.txt index a0dbcc80f1..da8d16bbb7 100644 --- a/doc/src/fix_nve_noforce.txt +++ b/doc/src/fix_nve_noforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -40,10 +40,10 @@ fcm() group function to compute the total force on the group of atoms. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_nve_sphere.txt b/doc/src/fix_nve_sphere.txt index 21dc6cba8a..6e259bdb8e 100644 --- a/doc/src/fix_nve_sphere.txt +++ b/doc/src/fix_nve_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -65,10 +65,9 @@ moment of inertia, as used in the time integration. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -80,8 +79,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -90,10 +89,10 @@ more instructions on how to use the accelerated styles effectively. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nve_spin.txt b/doc/src/fix_nve_spin.txt index f4b38c270b..e31185bc88 100644 --- a/doc/src/fix_nve_spin.txt +++ b/doc/src/fix_nve_spin.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nve_tri.txt b/doc/src/fix_nve_tri.txt index cee27e2fa4..ebdda19e36 100644 --- a/doc/src/fix_nve_tri.txt +++ b/doc/src/fix_nve_tri.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -23,10 +23,10 @@ fix 1 all nve/tri :pre Perform constant NVE integration to update position, velocity, orientation, and angular momentum for triangular particles in the -group each timestep. V is volume; E is energy. This creates a -system trajectory consistent with the microcanonical ensemble. See -"Section 6.14"_Section_howto.html#howto_14 of the manual for an -overview of using triangular particles. +group each timestep. V is volume; E is energy. This creates a system +trajectory consistent with the microcanonical ensemble. See the +"Howto spherical"_Howto_spherical.html doc page for an overview of +using triangular particles. This fix differs from the "fix nve"_fix_nve.html command, which assumes point particles and only updates their position and velocity. @@ -36,10 +36,10 @@ assumes point particles and only updates their position and velocity. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nvk.txt b/doc/src/fix_nvk.txt index 49fd8217ab..e3189f8e8a 100644 --- a/doc/src/fix_nvk.txt +++ b/doc/src/fix_nvk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -42,10 +42,10 @@ energy prior to this fix. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_nvt_asphere.txt b/doc/src/fix_nvt_asphere.txt index 21b900f16a..7b97637175 100644 --- a/doc/src/fix_nvt_asphere.txt +++ b/doc/src/fix_nvt_asphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -86,10 +86,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -101,8 +100,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nvt_body.txt b/doc/src/fix_nvt_body.txt index 6a5e09ba7f..4493a89277 100644 --- a/doc/src/fix_nvt_body.txt +++ b/doc/src/fix_nvt_body.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -85,10 +85,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -100,8 +99,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nvt_manifold_rattle.txt b/doc/src/fix_nvt_manifold_rattle.txt index a620648a46..1b4ad79166 100644 --- a/doc/src/fix_nvt_manifold_rattle.txt +++ b/doc/src/fix_nvt_manifold_rattle.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -37,9 +37,13 @@ fix 1 all nvt/manifold/rattle 1e-4 10 cylinder 3.0 temp 1.0 1.0 10.0 [Description:] -This fix combines the RATTLE-based "(Andersen)"_#Andersen2 time integrator of "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html "(Paquay)"_#Paquay3 with a Nose-Hoover-chain thermostat to sample the -canonical ensemble of particles constrained to a curved surface (manifold). This sampling does suffer from discretization bias of O(dt). -For a list of currently supported manifolds and their parameters, see "manifolds"_manifolds.html +This fix combines the RATTLE-based "(Andersen)"_#Andersen2 time +integrator of "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html +"(Paquay)"_#Paquay3 with a Nose-Hoover-chain thermostat to sample the +canonical ensemble of particles constrained to a curved surface +(manifold). This sampling does suffer from discretization bias of +O(dt). For a list of currently supported manifolds and their +parameters, see the "Howto manifold"_Howto_manifold.html doc page. :line @@ -48,10 +52,10 @@ For a list of currently supported manifolds and their parameters, see "manifolds No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. :line diff --git a/doc/src/fix_nvt_sllod.txt b/doc/src/fix_nvt_sllod.txt index 392dbc281c..9eb5065369 100644 --- a/doc/src/fix_nvt_sllod.txt +++ b/doc/src/fix_nvt_sllod.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -109,10 +109,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -124,8 +123,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_nvt_sllod_eff.txt b/doc/src/fix_nvt_sllod_eff.txt index 408eb1da01..0200d5cb00 100644 --- a/doc/src/fix_nvt_sllod_eff.txt +++ b/doc/src/fix_nvt_sllod_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_nvt_sphere.txt b/doc/src/fix_nvt_sphere.txt index ecf0922b79..a87e4abe67 100644 --- a/doc/src/fix_nvt_sphere.txt +++ b/doc/src/fix_nvt_sphere.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -96,10 +96,9 @@ thermal degrees of freedom, and the bias is added back in. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -111,8 +110,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restart, fix_modify, output, run start/stop, minimize info:] diff --git a/doc/src/fix_oneway.txt b/doc/src/fix_oneway.txt index 2d85c581eb..433ceb50f2 100644 --- a/doc/src/fix_oneway.txt +++ b/doc/src/fix_oneway.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -43,10 +43,10 @@ membrane, or as an implementation of Maxwell's demon. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_orient.txt b/doc/src/fix_orient.txt index 20ff94866e..7552bea8c5 100644 --- a/doc/src/fix_orient.txt +++ b/doc/src/fix_orient.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -135,14 +135,14 @@ fixes. This allows to set at which level of the "r-RESPA"_run_style.html integrator a fix is adding its forces. Default is the outermost level. This fix calculates a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -potential energy change due to this fix. The scalar value calculated -by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the potential +energy change due to this fix. The scalar value calculated by this +fix is "extensive". This fix also calculates a per-atom array which can be accessed by -various "output commands"_Section_howto.html#howto_15. The array -stores the order parameter Xi and normalized order parameter (0 to 1) -for each atom. The per-atom values can be accessed on any timestep. +various "output commands"_Howto_output.html. The array stores the +order parameter Xi and normalized order parameter (0 to 1) for each +atom. The per-atom values can be accessed on any timestep. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_phonon.txt b/doc/src/fix_phonon.txt index aad6c2bfaa..30e5864e3d 100644 --- a/doc/src/fix_phonon.txt +++ b/doc/src/fix_phonon.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -150,7 +150,7 @@ fix. You can use it to change the temperature compute from thermo_temp to the one that reflects the true temperature of atoms in the group. No global scalar or vector or per-atom quantities are stored by this -fix for access by various "output commands"_Section_howto.html#howto_15. +fix for access by various "output commands"_Howto_output.html. Instead, this fix outputs its initialization information (including mapping information) and the calculated dynamical matrices to the file diff --git a/doc/src/fix_pimd.txt b/doc/src/fix_pimd.txt index 38022e4c7d..b61b3f3065 100644 --- a/doc/src/fix_pimd.txt +++ b/doc/src/fix_pimd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -103,14 +103,13 @@ is appropriate for most situations. The PIMD algorithm in LAMMPS is implemented as a hyper-parallel scheme as described in "(Calhoun)"_#Calhoun. In LAMMPS this is done by using -"multi-replica feature"_Section_howto.html#howto_5 in LAMMPS, where -each quasi-particle system is stored and simulated on a separate -partition of processors. The following diagram illustrates this -approach. The original system with 2 ring polymers is shown in red. -Since each ring has 4 quasi-beads (imaginary time slices), there are 4 -replicas of the system, each running on one of the 4 partitions of -processors. Each replica (shown in green) owns one quasi-bead in each -ring. +"multi-replica feature"_Howto_replica.html in LAMMPS, where each +quasi-particle system is stored and simulated on a separate partition +of processors. The following diagram illustrates this approach. The +original system with 2 ring polymers is shown in red. Since each ring +has 4 quasi-beads (imaginary time slices), there are 4 replicas of the +system, each running on one of the 4 partitions of processors. Each +replica (shown in green) owns one quasi-bead in each ring. :c,image(JPG/pimd.jpg) diff --git a/doc/src/fix_planeforce.txt b/doc/src/fix_planeforce.txt index 67956c8b6d..ffe1952e31 100644 --- a/doc/src/fix_planeforce.txt +++ b/doc/src/fix_planeforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -35,9 +35,9 @@ should continue to move in the plane thereafter. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. The forces due to this fix are imposed during an energy minimization, invoked by the "minimize"_minimize.html command. diff --git a/doc/src/fix_poems.txt b/doc/src/fix_poems.txt index 03abc058b8..1a79c2a048 100644 --- a/doc/src/fix_poems.txt +++ b/doc/src/fix_poems.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -114,9 +114,9 @@ early or late in a timestep, i.e. at the post-force stage or at the final-integrate stage, respectively. No global or per-atom quantities are stored by this fix for access by -various "output commands"_Section_howto.html#howto_15. No parameter -of this fix can be used with the {start/stop} keywords of the -"run"_run.html command. This fix is not invoked during "energy +various "output commands"_Howto_output.html. No parameter of this fix +can be used with the {start/stop} keywords of the "run"_run.html +command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_pour.txt b/doc/src/fix_pour.txt index 54f78287e0..e58d8ebc3a 100644 --- a/doc/src/fix_pour.txt +++ b/doc/src/fix_pour.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -237,9 +237,9 @@ appropriately. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_precession_spin.txt b/doc/src/fix_precession_spin.txt index 4133d7dd57..fafe78448b 100644 --- a/doc/src/fix_precession_spin.txt +++ b/doc/src/fix_precession_spin.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -67,8 +67,8 @@ to add this magnetic potential energy to the potential energy of the system, fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 fix_modify 1 energy yes :pre -This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. +This fix computes a global scalar which can be accessed by various +"output commands"_Howto_output.html. No information about this fix is written to "binary restart files"_restart.html. diff --git a/doc/src/fix_press_berendsen.txt b/doc/src/fix_press_berendsen.txt index 9c9da8ec7b..7f47a29ba3 100644 --- a/doc/src/fix_press_berendsen.txt +++ b/doc/src/fix_press_berendsen.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -58,9 +58,8 @@ to control the temperature, such as "fix nvt"_fix_nh.html or "fix langevin"_fix_langevin.html or "fix temp/berendsen"_fix_temp_berendsen.html. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform -thermostatting and barostatting. +See the "Howto baroostat"_Howto_barostat.html doc page for a +discussion of different ways to perform barostatting. :line @@ -196,7 +195,7 @@ pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. No global or per-atom quantities are stored by this fix for access by -various "output commands"_Section_howto.html#howto_15. +various "output commands"_Howto_output.html. This fix can ramp its target pressure over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_print.txt b/doc/src/fix_print.txt index cf3b542833..d23c1103d3 100644 --- a/doc/src/fix_print.txt +++ b/doc/src/fix_print.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -73,10 +73,10 @@ where ID is replaced with the fix-ID. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_property_atom.txt b/doc/src/fix_property_atom.txt index 95fc2c424d..136ed6c15e 100644 --- a/doc/src/fix_property_atom.txt +++ b/doc/src/fix_property_atom.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -200,18 +200,17 @@ added classes. :line -:link(isotopes) -Example for using per-atom masses with TIP4P water to study isotope -effects. When setting up simulations with the "TIP4P pair -styles"_Section_howto.html#howto_8 for water, you have to provide -exactly one atom type each to identify the water oxygen and hydrogen +:link(isotopes) Example for using per-atom masses with TIP4P water to +study isotope effects. When setting up simulations with the "TIP4P +pair styles"_Howto_tip4p.html for water, you have to provide exactly +one atom type each to identify the water oxygen and hydrogen atoms. Since the atom mass is normally tied to the atom type, this makes it impossible to study multiple isotopes in the same simulation. With {fix property/atom rmass} however, the per-type masses are replaced by per-atom masses. Asumming you have a working input deck -for regular TIP4P water, where water oxygen is atom type 1 and -water hydrogen is atom type 2, the following lines of input script -convert this to using per-atom masses: +for regular TIP4P water, where water oxygen is atom type 1 and water +hydrogen is atom type 2, the following lines of input script convert +this to using per-atom masses: fix Isotopes all property/atom rmass ghost yes set type 1 mass 15.9994 @@ -247,12 +246,12 @@ command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -None of the "fix_modify"_fix_modify.html options -are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +None of the "fix_modify"_fix_modify.html options are relevant to this +fix. No global or per-atom quantities are stored by this fix for +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] none diff --git a/doc/src/fix_python_invoke.txt b/doc/src/fix_python_invoke.txt index 787940d9eb..5e0c0369a5 100644 --- a/doc/src/fix_python_invoke.txt +++ b/doc/src/fix_python_invoke.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_python_move.txt b/doc/src/fix_python_move.txt index f10f607a9b..a4e0eb3937 100644 --- a/doc/src/fix_python_move.txt +++ b/doc/src/fix_python_move.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -83,10 +83,10 @@ Examples for how to do this are in the {examples/python} folder. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_qbmsst.txt b/doc/src/fix_qbmsst.txt index 2c116fb0f8..e96bd97f45 100644 --- a/doc/src/fix_qbmsst.txt +++ b/doc/src/fix_qbmsst.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -179,10 +179,10 @@ thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_ The global scalar under the entry f_fix_id is the quantity of thermo energy as an extra part of etot. This global scalar and the vector of 5 quantities can be accessed by various "output -commands"_Section_howto.html#howto_15. It is worth noting that the -temp keyword under the "thermo_style"_thermo_style.html command print -the instantaneous classical temperature Tcl as -described in the command "fix qtb"_fix_qtb.html. +commands"_Howto_output.html. It is worth noting that the temp keyword +under the "thermo_style"_thermo_style.html command print the +instantaneous classical temperature Tcl as described +in the command "fix qtb"_fix_qtb.html. :line diff --git a/doc/src/fix_qeq.txt b/doc/src/fix_qeq.txt index 194361e990..27fb613ef9 100644 --- a/doc/src/fix_qeq.txt +++ b/doc/src/fix_qeq.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -179,9 +179,8 @@ parameters. See the examples/qeq directory for some examples. No information about these fixes is written to "binary restart files"_restart.html. No global scalar or vector or per-atom quantities are stored by these fixes for access by various "output -commands"_Section_howto.html#howto_15. No parameter of these fixes -can be used with the {start/stop} keywords of the "run"_run.html -command. +commands"_Howto_output.html. No parameter of these fixes can be used +with the {start/stop} keywords of the "run"_run.html command. Thexe fixes are invoked during "energy minimization"_minimize.html. diff --git a/doc/src/fix_qeq_comb.txt b/doc/src/fix_qeq_comb.txt index 7f82404127..99e86df030 100644 --- a/doc/src/fix_qeq_comb.txt +++ b/doc/src/fix_qeq_comb.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -62,10 +62,9 @@ equilibration calculation is written to the specified file. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -77,8 +76,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -93,9 +92,9 @@ integrator the fix is performing charge equilibration. Default is the outermost level. This fix produces a per-atom vector which can be accessed by various -"output commands"_Section_howto.html#howto_15. The vector stores the -gradient of the charge on each atom. The per-atom values be accessed -on any timestep. +"output commands"_Howto_output.html. The vector stores the gradient +of the charge on each atom. The per-atom values be accessed on any +timestep. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_qeq_reax.txt b/doc/src/fix_qeq_reax.txt index 18450c7cd5..cf16daf847 100644 --- a/doc/src/fix_qeq_reax.txt +++ b/doc/src/fix_qeq_reax.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -70,8 +70,8 @@ the {qeq/reax/omp} style. Otherwise they are processed separately. No information about this fix is written to "binary restart files"_restart.html. No global scalar or vector or per-atom quantities are stored by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +commands"_Howto_output.html. No parameter of this fix can be used +with the {start/stop} keywords of the "run"_run.html command. This fix is invoked during "energy minimization"_minimize.html. @@ -80,10 +80,9 @@ This fix is invoked during "energy minimization"_minimize.html. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -95,8 +94,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_qmmm.txt b/doc/src/fix_qmmm.txt index 1b4a850a42..657ee84181 100644 --- a/doc/src/fix_qmmm.txt +++ b/doc/src/fix_qmmm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -46,9 +46,9 @@ No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global scalar or vector or per-atom quantities are stored by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +commands"_Howto_output.html. No parameter of this fix can be used +with the {start/stop} keywords of the "run"_run.html command. This +fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_qtb.txt b/doc/src/fix_qtb.txt index 07a6af39ba..5b212934a9 100644 --- a/doc/src/fix_qtb.txt +++ b/doc/src/fix_qtb.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_reax_bonds.txt b/doc/src/fix_reax_bonds.txt index 3f8f237de1..49d61f4db8 100644 --- a/doc/src/fix_reax_bonds.txt +++ b/doc/src/fix_reax_bonds.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -62,17 +62,17 @@ version, but will also take longer to write. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. :line Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section_accelerate"_Section_accelerate.html +hardware, as discussed in "Speed"_Speed.html of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. @@ -87,7 +87,7 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section_accelerate"_Section_accelerate.html of the manual for +See "Speed"_Speed.html of the manual for more instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_reaxc_species.txt b/doc/src/fix_reaxc_species.txt index 7c920791f7..5be1c46230 100644 --- a/doc/src/fix_reaxc_species.txt +++ b/doc/src/fix_reaxc_species.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -116,8 +116,8 @@ are relevant to this fix. This fix computes both a global vector of length 2 and a per-atom vector, either of which can be accessed by various "output -commands"_Section_howto.html#howto_15. The values in the global -vector are "intensive". +commands"_Howto_output.html. The values in the global vector are +"intensive". The 2 values in the global vector are as follows: @@ -139,7 +139,7 @@ minimization"_minimize.html. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section_accelerate"_Section_accelerate.html +hardware, as discussed in "Speed"_Speed.html of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. @@ -154,7 +154,7 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section_accelerate"_Section_accelerate.html of the manual for +See "Speed"_Speed.html of the manual for more instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_recenter.txt b/doc/src/fix_recenter.txt index 342bed4251..cfac756cd1 100644 --- a/doc/src/fix_recenter.txt +++ b/doc/src/fix_recenter.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -94,13 +94,13 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -distance the group is moved by fix recenter. +"output commands"_Howto_output.html. The scalar is the distance the +group is moved by fix recenter. This fix also computes global 3-vector which can be accessed by -various "output commands"_Section_howto.html#howto_15. The 3 -quantities in the vector are xyz components of displacement applied to -the group of atoms by the fix. +various "output commands"_Howto_output.html. The 3 quantities in the +vector are xyz components of displacement applied to the group of +atoms by the fix. The scalar and vector values calculated by this fix are "extensive". diff --git a/doc/src/fix_restrain.txt b/doc/src/fix_restrain.txt index 9de63defb7..2edc7e3296 100644 --- a/doc/src/fix_restrain.txt +++ b/doc/src/fix_restrain.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -187,8 +187,8 @@ added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the "fix_modify"_fix_modify.html {energy} option for this fix. -This fix computes a global scalar and a global vector of length 3, which -can be accessed by various "output commands"_Section_howto.html#howto_15. +This fix computes a global scalar and a global vector of length 3, +which can be accessed by various "output commands"_Howto_output.html. The scalar is the total potential energy for {all} the restraints as discussed above. The vector values are the sum of contributions to the following individual categories: diff --git a/doc/src/fix_rhok.txt b/doc/src/fix_rhok.txt index 2db920ac4b..68cce694e9 100644 --- a/doc/src/fix_rhok.txt +++ b/doc/src/fix_rhok.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_rigid.txt b/doc/src/fix_rigid.txt index 8d803ac6da..d5e3b01668 100644 --- a/doc/src/fix_rigid.txt +++ b/doc/src/fix_rigid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -690,10 +690,9 @@ rigid/nvt. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -705,8 +704,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -746,29 +745,29 @@ computed early or late in a timestep, i.e. at the post-force stage or at the final-integrate stage or the timestep, respectively. The 2 NVE rigid fixes compute a global scalar which can be accessed by -various "output commands"_Section_howto.html#howto_15. The scalar -value calculated by these fixes is "intensive". The scalar is the -current temperature of the collection of rigid bodies. This is -averaged over all rigid bodies and their translational and rotational -degrees of freedom. The translational energy of a rigid body is 1/2 m -v^2, where m = total mass of the body and v = the velocity of its -center of mass. The rotational energy of a rigid body is 1/2 I w^2, -where I = the moment of inertia tensor of the body and w = its angular -velocity. Degrees of freedom constrained by the {force} and {torque} -keywords are removed from this calculation, but only for the {rigid} -and {rigid/nve} fixes. +various "output commands"_Howto_output.html. The scalar value +calculated by these fixes is "intensive". The scalar is the current +temperature of the collection of rigid bodies. This is averaged over +all rigid bodies and their translational and rotational degrees of +freedom. The translational energy of a rigid body is 1/2 m v^2, where +m = total mass of the body and v = the velocity of its center of mass. +The rotational energy of a rigid body is 1/2 I w^2, where I = the +moment of inertia tensor of the body and w = its angular velocity. +Degrees of freedom constrained by the {force} and {torque} keywords +are removed from this calculation, but only for the {rigid} and +{rigid/nve} fixes. The 6 NVT, NPT, NPH rigid fixes compute a global scalar which can be -accessed by various "output commands"_Section_howto.html#howto_15. -The scalar value calculated by these fixes is "extensive". The scalar -is the cumulative energy change due to the thermostatting and -barostatting the fix performs. +accessed by various "output commands"_Howto_output.html. The scalar +value calculated by these fixes is "extensive". The scalar is the +cumulative energy change due to the thermostatting and barostatting +the fix performs. All of the {rigid} styles (not the {rigid/small} styles) compute a global array of values which can be accessed by various "output -commands"_Section_howto.html#howto_15. Similar information about the -bodies defined by the {rigid/small} styles can be accessed via the -"compute rigid/local"_compute_rigid_local.html command. +commands"_Howto_output.html. Similar information about the bodies +defined by the {rigid/small} styles can be accessed via the "compute +rigid/local"_compute_rigid_local.html command. The number of rows in the array is equal to the number of rigid bodies. The number of columns is 15. Thus for each rigid body, 15 diff --git a/doc/src/fix_rx.txt b/doc/src/fix_rx.txt index 0810a34740..d39e41e922 100644 --- a/doc/src/fix_rx.txt +++ b/doc/src/fix_rx.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -186,10 +186,9 @@ read_data data.dpd fix foo_SPECIES NULL Species Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -201,8 +200,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_saed_vtk.txt b/doc/src/fix_saed_vtk.txt index 814e17b8e9..60708cd696 100644 --- a/doc/src/fix_saed_vtk.txt +++ b/doc/src/fix_saed_vtk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_setforce.txt b/doc/src/fix_setforce.txt index f5be0f93a5..14fceb7b49 100644 --- a/doc/src/fix_setforce.txt +++ b/doc/src/fix_setforce.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -65,12 +65,12 @@ to it. :line -Styles with a r {kk} suffix are functionally the same as the -corresponding style without the suffix. They have been optimized to -run faster, depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. The region keyword is also supported by Kokkos, but a Kokkos-enabled region must be used. See the region "region"_region.html command for @@ -85,8 +85,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -103,10 +103,10 @@ so that setforce values are not counted multiple times. Default is to to override forces at the outermost level. This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Section_howto.html#howto_15. This is the -total force on the group of atoms before the forces on individual -atoms are changed by the fix. The vector values calculated by this -fix are "extensive". +by various "output commands"_Howto_output.html. This is the total +force on the group of atoms before the forces on individual atoms are +changed by the fix. The vector values calculated by this fix are +"extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_shake.txt b/doc/src/fix_shake.txt index 46452a1f7e..ea38de41cd 100644 --- a/doc/src/fix_shake.txt +++ b/doc/src/fix_shake.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -145,12 +145,12 @@ info of atoms in the molecule. :line -Styles with a suffix are functionally the same as the corresponding -style without the suffix. They have been optimized to run faster, -depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -162,8 +162,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -195,10 +195,9 @@ No information about these fixes is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to these fixes. No global or per-atom quantities are stored by these fixes for access by various "output -commands"_Section_howto.html#howto_15. No parameter of these fixes -can be used with the {start/stop} keywords of the "run"_run.html -command. These fixes are not invoked during "energy -minimization"_minimize.html. +commands"_Howto_output.html. No parameter of these fixes can be used +with the {start/stop} keywords of the "run"_run.html command. These +fixes are not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_shardlow.txt b/doc/src/fix_shardlow.txt index 24726d8610..33db2bf7cc 100644 --- a/doc/src/fix_shardlow.txt +++ b/doc/src/fix_shardlow.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -56,10 +56,9 @@ examples/USER/dpd directory. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -71,8 +70,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_smd.txt b/doc/src/fix_smd.txt index cb4a40f0fd..2f083dafc3 100644 --- a/doc/src/fix_smd.txt +++ b/doc/src/fix_smd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -111,12 +111,12 @@ this fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a vector list of 7 quantities, which can be accessed -by various "output commands"_Section_howto.html#howto_15. The -quantities in the vector are in this order: the x-, y-, and -z-component of the pulling force, the total force in direction of the -pull, the equilibrium distance of the spring, the distance between the -two reference points, and finally the accumulated PMF (the sum of -pulling forces times displacement). +by various "output commands"_Howto_output.html. The quantities in the +vector are in this order: the x-, y-, and z-component of the pulling +force, the total force in direction of the pull, the equilibrium +distance of the spring, the distance between the two reference points, +and finally the accumulated PMF (the sum of pulling forces times +displacement). The force is the total force on the group of atoms by the spring. In the case of the {couple} style, it is the force on the fix group diff --git a/doc/src/fix_smd_adjust_dt.txt b/doc/src/fix_smd_adjust_dt.txt index 86b7363300..740b10559d 100644 --- a/doc/src/fix_smd_adjust_dt.txt +++ b/doc/src/fix_smd_adjust_dt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_smd_integrate_tlsph.txt b/doc/src/fix_smd_integrate_tlsph.txt index 17c9c0f400..cd676a51ce 100644 --- a/doc/src/fix_smd_integrate_tlsph.txt +++ b/doc/src/fix_smd_integrate_tlsph.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_smd_integrate_ulsph.txt b/doc/src/fix_smd_integrate_ulsph.txt index 28e38c7f97..7f16b4b7ce 100644 --- a/doc/src/fix_smd_integrate_ulsph.txt +++ b/doc/src/fix_smd_integrate_ulsph.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_smd_move_triangulated_surface.txt b/doc/src/fix_smd_move_triangulated_surface.txt index 2cba001267..aeabf18768 100644 --- a/doc/src/fix_smd_move_triangulated_surface.txt +++ b/doc/src/fix_smd_move_triangulated_surface.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_smd_setvel.txt b/doc/src/fix_smd_setvel.txt index f93a7d0965..6634751d6a 100644 --- a/doc/src/fix_smd_setvel.txt +++ b/doc/src/fix_smd_setvel.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -66,9 +66,9 @@ None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Section_howto.html#howto_15. This is the -total force on the group of atoms. The vector values calculated by this -fix are "extensive". +by various "output commands"_Howto_output.html. This is the total +force on the group of atoms. The vector values calculated by this fix +are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_smd_wall_surface.txt b/doc/src/fix_smd_wall_surface.txt index feb65b2312..a19b2c4cfb 100644 --- a/doc/src/fix_smd_wall_surface.txt +++ b/doc/src/fix_smd_wall_surface.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_spring.txt b/doc/src/fix_spring.txt index 014a43aacc..690fc3e67c 100644 --- a/doc/src/fix_spring.txt +++ b/doc/src/fix_spring.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -105,19 +105,19 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -spring energy = 0.5 * K * r^2. +"output commands"_Howto_output.html. The scalar is the spring energy += 0.5 * K * r^2. This fix also computes global 4-vector which can be accessed by -various "output commands"_Section_howto.html#howto_15. The first 3 -quantities in the vector are xyz components of the total force added -to the group of atoms by the spring. In the case of the {couple} -style, it is the force on the fix group (group-ID) or the negative of -the force on the 2nd group (group-ID2). The 4th quantity in the -vector is the magnitude of the force added by the spring, as a -positive value if (r-R0) > 0 and a negative value if (r-R0) < 0. This -sign convention can be useful when using the spring force to compute a -potential of mean force (PMF). +various "output commands"_Howto_output.html. The first 3 quantities +in the vector are xyz components of the total force added to the group +of atoms by the spring. In the case of the {couple} style, it is the +force on the fix group (group-ID) or the negative of the force on the +2nd group (group-ID2). The 4th quantity in the vector is the +magnitude of the force added by the spring, as a positive value if +(r-R0) > 0 and a negative value if (r-R0) < 0. This sign convention +can be useful when using the spring force to compute a potential of +mean force (PMF). The scalar and vector values calculated by this fix are "extensive". diff --git a/doc/src/fix_spring_chunk.txt b/doc/src/fix_spring_chunk.txt index 7630a009dd..9d4e8afd09 100644 --- a/doc/src/fix_spring_chunk.txt +++ b/doc/src/fix_spring_chunk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -60,8 +60,8 @@ fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -energy of all the springs, i.e. 0.5 * K * r^2 per-spring. +"output commands"_Howto_output.html. The scalar is the energy of all +the springs, i.e. 0.5 * K * r^2 per-spring. The scalar value calculated by this fix is "extensive". diff --git a/doc/src/fix_spring_rg.txt b/doc/src/fix_spring_rg.txt index bff6b38e7e..b252163958 100644 --- a/doc/src/fix_spring_rg.txt +++ b/doc/src/fix_spring_rg.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -51,10 +51,10 @@ the time the fix is specified, and that value is used as the target. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. The "fix_modify"_fix_modify.html {respa} option is supported by this fix. This allows to set at which level of the "r-RESPA"_run_style.html diff --git a/doc/src/fix_spring_self.txt b/doc/src/fix_spring_self.txt index 68961a1512..0ac1d5eecb 100644 --- a/doc/src/fix_spring_self.txt +++ b/doc/src/fix_spring_self.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -57,10 +57,10 @@ this fix. This allows to set at which level of the "r-RESPA"_run_style.html integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is an -energy which is the sum of the spring energy for each atom, where the -per-atom energy is 0.5 * K * r^2. The scalar value calculated by this -fix is "extensive". +"output commands"_Howto_output.html. The scalar is an energy which is +the sum of the spring energy for each atom, where the per-atom energy +is 0.5 * K * r^2. The scalar value calculated by this fix is +"extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_srd.txt b/doc/src/fix_srd.txt index 4e190234fd..893557b9ac 100644 --- a/doc/src/fix_srd.txt +++ b/doc/src/fix_srd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -341,11 +341,11 @@ are relevant to this fix. This fix tabulates several SRD statistics which are stored in a vector of length 12, which can be accessed by various "output -commands"_Section_howto.html#howto_15. The vector values calculated -by this fix are "intensive", meaning they do not scale with the size -of the simulation. Technically, the first 8 do scale with the size of -the simulation, but treating them as intensive means they are not -scaled when printed as part of thermodynamic output. +commands"_Howto_output.html. The vector values calculated by this fix +are "intensive", meaning they do not scale with the size of the +simulation. Technically, the first 8 do scale with the size of the +simulation, but treating them as intensive means they are not scaled +when printed as part of thermodynamic output. These are the 12 quantities. All are values for the current timestep, except for quantity 5 and the last three, each of which are diff --git a/doc/src/fix_store_force.txt b/doc/src/fix_store_force.txt index c988431f9d..33ebc962d5 100644 --- a/doc/src/fix_store_force.txt +++ b/doc/src/fix_store_force.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -26,7 +26,7 @@ timestep when the fix is invoked, as described below. This is useful for storing forces before constraints or other boundary conditions are computed which modify the forces, so that unmodified forces can be "written to a dump file"_dump.html or accessed by other "output -commands"_Section_howto.html#howto_15 that use per-atom quantities. +commands"_Howto_output.html that use per-atom quantities. This fix is invoked at the point in the velocity-Verlet timestepping immediately after "pair"_pair_style.html, "bond"_bond_style.html, @@ -54,9 +54,9 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix produces a per-atom array which can be accessed by various -"output commands"_Section_howto.html#howto_15. The number of columns -for each atom is 3, and the columns store the x,y,z forces on each -atom. The per-atom values be accessed on any timestep. +"output commands"_Howto_output.html. The number of columns for each +atom is 3, and the columns store the x,y,z forces on each atom. The +per-atom values be accessed on any timestep. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_store_state.txt b/doc/src/fix_store_state.txt index df694fb97b..df05adc5b9 100644 --- a/doc/src/fix_store_state.txt +++ b/doc/src/fix_store_state.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -68,8 +68,7 @@ Define a fix that stores attributes for each atom in the group at the time the fix is defined. If {N} is 0, then the values are never updated, so this is a way of archiving an atom attribute at a given time for future use in a calculation or output. See the discussion of -"output commands"_Section_howto.html#howto_15 that take fixes as -inputs. +"output commands"_Howto_output.html that take fixes as inputs. If {N} is not zero, then the attributes will be updated every {N} steps. @@ -108,9 +107,8 @@ fix. If a single input is specified, this fix produces a per-atom vector. If multiple inputs are specified, a per-atom array is produced where the number of columns for each atom is the number of inputs. These -can be accessed by various "output -commands"_Section_howto.html#howto_15. The per-atom values be -accessed on any timestep. +can be accessed by various "output commands"_Howto_output.html. The +per-atom values be accessed on any timestep. No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_surface_global.txt b/doc/src/fix_surface_global.txt index b470babab7..ade64d2056 100644 --- a/doc/src/fix_surface_global.txt +++ b/doc/src/fix_surface_global.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_temp_berendsen.txt b/doc/src/fix_temp_berendsen.txt index 6944860e14..c1f1626782 100644 --- a/doc/src/fix_temp_berendsen.txt +++ b/doc/src/fix_temp_berendsen.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -68,8 +68,8 @@ be used on atoms that also have their temperature controlled by another fix - e.g. by "fix nvt"_fix_nh.html or "fix langevin"_fix_langevin.html commands. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. This fix computes a temperature each timestep. To do this, the fix @@ -126,9 +126,9 @@ system's potential energy as part of "thermodynamic output"_thermo_style.html. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". This fix can ramp its target temperature over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_temp_csvr.txt b/doc/src/fix_temp_csvr.txt index 4129ad73c8..e50f821bfe 100644 --- a/doc/src/fix_temp_csvr.txt +++ b/doc/src/fix_temp_csvr.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -76,8 +76,8 @@ normally be used on atoms that also have their temperature controlled by another fix - e.g. by "fix nvt"_fix_nh.html or "fix langevin"_fix_langevin.html commands. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. These fixes compute a temperature each timestep. To do this, the fix @@ -135,9 +135,9 @@ the {start} and {stop} keywords of the "run"_run.html command. See the These fixes are not invoked during "energy minimization"_minimize.html. These fixes compute a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to the fix. The scalar value -calculated by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to the fix. The scalar value calculated by this fix +is "extensive". [Restrictions:] diff --git a/doc/src/fix_temp_rescale.txt b/doc/src/fix_temp_rescale.txt index eff25297c1..5640317f1c 100644 --- a/doc/src/fix_temp_rescale.txt +++ b/doc/src/fix_temp_rescale.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -75,8 +75,8 @@ be used on atoms that also have their temperature controlled by another fix - e.g. by "fix nvt"_fix_nh.html or "fix langevin"_fix_langevin.html commands. -See "this howto section"_Section_howto.html#howto_16 of the manual for -a discussion of different ways to compute temperature and perform +See the "Howto thermostat"_Howto_thermostat.html doc page for a +discussion of different ways to compute temperature and perform thermostatting. This fix computes a temperature each timestep. To do this, the fix @@ -133,9 +133,9 @@ system's potential energy as part of "thermodynamic output"_thermo_style.html. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". This fix can ramp its target temperature over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_temp_rescale_eff.txt b/doc/src/fix_temp_rescale_eff.txt index f87c1a2192..0e08e4f1e8 100644 --- a/doc/src/fix_temp_rescale_eff.txt +++ b/doc/src/fix_temp_rescale_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -51,9 +51,9 @@ system's potential energy as part of "thermodynamic output"_thermo_style.html. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative energy change due to this fix. The scalar value -calculated by this fix is "extensive". +"output commands"_Howto_output.html. The scalar is the cumulative +energy change due to this fix. The scalar value calculated by this +fix is "extensive". This fix can ramp its target temperature over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_tfmc.txt b/doc/src/fix_tfmc.txt index 3c81d62ee0..ddfa462619 100644 --- a/doc/src/fix_tfmc.txt +++ b/doc/src/fix_tfmc.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_thermal_conductivity.txt b/doc/src/fix_thermal_conductivity.txt index 0353c095b2..86fc6f2c72 100644 --- a/doc/src/fix_thermal_conductivity.txt +++ b/doc/src/fix_thermal_conductivity.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -108,9 +108,9 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative kinetic energy transferred between the bottom and middle -of the simulation box (in the {edim} direction) is stored as a scalar +"output commands"_Howto_output.html. The scalar is the cumulative +kinetic energy transferred between the bottom and middle of the +simulation box (in the {edim} direction) is stored as a scalar quantity by this fix. This quantity is zeroed when the fix is defined and accumulates thereafter, once every N steps. The units of the quantity are energy; see the "units"_units.html command for details. diff --git a/doc/src/fix_ti_spring.txt b/doc/src/fix_ti_spring.txt index 191f9e7c6b..afe5373220 100644 --- a/doc/src/fix_ti_spring.txt +++ b/doc/src/fix_ti_spring.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -121,13 +121,12 @@ fix to add the energy stored in the per-atom springs to the system's potential energy as part of "thermodynamic output"_thermo_style.html. This fix computes a global scalar and a global vector quantities which -can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar is an energy which -is the sum of the spring energy for each atom, where the per-atom -energy is 0.5 * k * r^2. The vector has 2 positions, the first one is -the coupling parameter lambda and the second one is the time -derivative of lambda. The scalar and vector values calculated by this -fix are "extensive". +can be accessed by various "output commands"_Howto_output.html. The +scalar is an energy which is the sum of the spring energy for each +atom, where the per-atom energy is 0.5 * k * r^2. The vector has 2 +positions, the first one is the coupling parameter lambda and the +second one is the time derivative of lambda. The scalar and vector +values calculated by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_tmd.txt b/doc/src/fix_tmd.txt index 71d8d2c767..c2541692f5 100644 --- a/doc/src/fix_tmd.txt +++ b/doc/src/fix_tmd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -90,8 +90,7 @@ For more information about TMD, see "(Schlitter1)"_#Schlitter1 and No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. +by this fix for access by various "output commands"_Howto_output.html. This fix can ramp its rho parameter over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the diff --git a/doc/src/fix_ttm.txt b/doc/src/fix_ttm.txt index 48dfd254a0..6001def581 100644 --- a/doc/src/fix_ttm.txt +++ b/doc/src/fix_ttm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -272,18 +272,17 @@ None of the "fix_modify"_fix_modify.html options are relevant to these fixes. Both fixes compute 2 output quantities stored in a vector of length 2, -which can be accessed by various "output -commands"_Section_howto.html#howto_15. The first quantity is the -total energy of the electronic subsystem. The second quantity is the -energy transferred from the electronic to the atomic subsystem on that -timestep. Note that the velocity verlet integrator applies the fix ttm -forces to the atomic subsystem as two half-step velocity updates: one -on the current timestep and one on the subsequent timestep. -Consequently, the change in the atomic subsystem energy is lagged by -half a timestep relative to the change in the electronic subsystem -energy. As a result of this, users may notice slight fluctuations in -the sum of the atomic and electronic subsystem energies reported at -the end of the timestep. +which can be accessed by various "output commands"_Howto_output.html. +The first quantity is the total energy of the electronic +subsystem. The second quantity is the energy transferred from the +electronic to the atomic subsystem on that timestep. Note that the +velocity verlet integrator applies the fix ttm forces to the atomic +subsystem as two half-step velocity updates: one on the current +timestep and one on the subsequent timestep. Consequently, the change +in the atomic subsystem energy is lagged by half a timestep relative +to the change in the electronic subsystem energy. As a result of this, +users may notice slight fluctuations in the sum of the atomic and +electronic subsystem energies reported at the end of the timestep. The vector values calculated are "extensive". diff --git a/doc/src/fix_tune_kspace.txt b/doc/src/fix_tune_kspace.txt index 60a34a26c9..b4e8472591 100644 --- a/doc/src/fix_tune_kspace.txt +++ b/doc/src/fix_tune_kspace.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_vector.txt b/doc/src/fix_vector.txt index 385d24cff1..e1bfbe5738 100644 --- a/doc/src/fix_vector.txt +++ b/doc/src/fix_vector.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -37,7 +37,7 @@ simply store them. For a single specified value, the values are stored as a global vector of growing length. For multiple specified values, they are stored as rows in a global array, whose number of rows is growing. The resulting vector or array can be used by other -"output commands"_Section_howto.html#howto_15. +"output commands"_Howto_output.html. One way to to use this command is to accumulate a vector that is time-integrated using the "variable trap()"_variable.html function. @@ -127,9 +127,8 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix produces a global vector or global array which can be -accessed by various "output commands"_Section_howto.html#howto_15. -The values can only be accessed on timesteps that are multiples of -{Nevery}. +accessed by various "output commands"_Howto_output.html. The values +can only be accessed on timesteps that are multiples of {Nevery}. A vector is produced if only a single input value is specified. An array is produced if multiple input values are specified. diff --git a/doc/src/fix_viscosity.txt b/doc/src/fix_viscosity.txt index f6603be624..934da3efdd 100644 --- a/doc/src/fix_viscosity.txt +++ b/doc/src/fix_viscosity.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -100,13 +100,12 @@ accurately infer a viscosity and should try increasing the Nevery parameter. An alternative method for calculating a viscosity is to run a NEMD -simulation, as described in "Section -6.13"_Section_howto.html#howto_13 of the manual. NEMD simulations -deform the simulation box via the "fix deform"_fix_deform.html -command. Thus they cannot be run on a charged system using a "PPPM -solver"_kspace_style.html since PPPM does not currently support -non-orthogonal boxes. Using fix viscosity keeps the box orthogonal; -thus it does not suffer from this limitation. +simulation, as described on the "Howto nemd"_Howto_nemd.html doc page. +NEMD simulations deform the simulation box via the "fix +deform"_fix_deform.html command. Thus they cannot be run on a charged +system using a "PPPM solver"_kspace_style.html since PPPM does not +currently support non-orthogonal boxes. Using fix viscosity keeps the +box orthogonal; thus it does not suffer from this limitation. [Restart, fix_modify, output, run start/stop, minimize info:] @@ -115,13 +114,13 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -cumulative momentum transferred between the bottom and middle of the -simulation box (in the {pdim} direction) is stored as a scalar -quantity by this fix. This quantity is zeroed when the fix is defined -and accumulates thereafter, once every N steps. The units of the -quantity are momentum = mass*velocity. The scalar value calculated by -this fix is "intensive". +"output commands"_Howto_output.html. The scalar is the cumulative +momentum transferred between the bottom and middle of the simulation +box (in the {pdim} direction) is stored as a scalar quantity by this +fix. This quantity is zeroed when the fix is defined and accumulates +thereafter, once every N steps. The units of the quantity are +momentum = mass*velocity. The scalar value calculated by this fix is +"intensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy diff --git a/doc/src/fix_viscous.txt b/doc/src/fix_viscous.txt index 9c30e40249..c5a3ede0b2 100644 --- a/doc/src/fix_viscous.txt +++ b/doc/src/fix_viscous.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -82,9 +82,9 @@ easily be used as a thermostat. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. The "fix_modify"_fix_modify.html {respa} option is supported by this fix. This allows to set at which level of the "r-RESPA"_run_style.html diff --git a/doc/src/fix_wall.txt b/doc/src/fix_wall.txt index e814c89a07..2ac59d9588 100644 --- a/doc/src/fix_wall.txt +++ b/doc/src/fix_wall.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -263,14 +263,14 @@ integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar energy and a global vector of forces, which can be accessed by various "output -commands"_Section_howto.html#howto_15. Note that the scalar energy is -the sum of interactions with all defined walls. If you want the -energy on a per-wall basis, you need to use multiple fix wall -commands. The length of the vector is equal to the number of walls -defined by the fix. Each vector value is the normal force on a -specific wall. Note that an outward force on a wall will be a -negative value for {lo} walls and a positive value for {hi} walls. -The scalar and vector values calculated by this fix are "extensive". +commands"_Howto_output.html. Note that the scalar energy is the sum +of interactions with all defined walls. If you want the energy on a +per-wall basis, you need to use multiple fix wall commands. The +length of the vector is equal to the number of walls defined by the +fix. Each vector value is the normal force on a specific wall. Note +that an outward force on a wall will be a negative value for {lo} +walls and a positive value for {hi} walls. The scalar and vector +values calculated by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. @@ -288,10 +288,9 @@ option for this fix. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -303,8 +302,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/fix_wall_body_polygon.txt b/doc/src/fix_wall_body_polygon.txt index 4ba16b56c7..0946a85131 100644 --- a/doc/src/fix_wall_body_polygon.txt +++ b/doc/src/fix_wall_body_polygon.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -43,8 +43,8 @@ particles in the group interact with the wall when they are close enough to touch it. The nature of the interaction between the wall and the polygon particles is the same as that between the polygon particles themselves, which is similar to a Hookean potential. See -"Section 6.14"_Section_howto.html#howto_14 of the manual and the -"body"_body.html doc page for more details on using body particles. +the "Howto body"_Howto_body.html doc page for more details on using +body particles. The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the "pair_style @@ -83,9 +83,9 @@ to the derivative of this expression. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_wall_body_polyhedron.txt b/doc/src/fix_wall_body_polyhedron.txt index c937cbdbbc..407cf9fb33 100644 --- a/doc/src/fix_wall_body_polyhedron.txt +++ b/doc/src/fix_wall_body_polyhedron.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -43,8 +43,8 @@ All particles in the group interact with the wall when they are close enough to touch it. The nature of the interaction between the wall and the polygon particles is the same as that between the polygon particles themselves, which is similar to a Hookean potential. See -"Section 6.14"_Section_howto.html#howto_14 of the manual and the -"body"_body.html doc page for more details on using body particles. +the "Howto body"_Howto_body.html doc page for more details on using +body particles. The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the "pair_style @@ -82,9 +82,9 @@ to the derivative of this expression. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_wall_ees.txt b/doc/src/fix_wall_ees.txt index f141a19405..ae16ca40d2 100644 --- a/doc/src/fix_wall_ees.txt +++ b/doc/src/fix_wall_ees.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/fix_wall_gran.txt b/doc/src/fix_wall_gran.txt index 5f1679604e..6c2769fc12 100644 --- a/doc/src/fix_wall_gran.txt +++ b/doc/src/fix_wall_gran.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -148,9 +148,9 @@ uninterrupted fashion. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_wall_gran_region.txt b/doc/src/fix_wall_gran_region.txt index 92fb042194..187214c1a3 100644 --- a/doc/src/fix_wall_gran_region.txt +++ b/doc/src/fix_wall_gran_region.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -180,9 +180,9 @@ region with a different region ID. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for -access by various "output commands"_Section_howto.html#howto_15. No -parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is not invoked during "energy +access by various "output commands"_Howto_output.html. No parameter +of this fix can be used with the {start/stop} keywords of the +"run"_run.html command. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_wall_piston.txt b/doc/src/fix_wall_piston.txt index 4d7756c237..eecf69ebf2 100644 --- a/doc/src/fix_wall_piston.txt +++ b/doc/src/fix_wall_piston.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -91,10 +91,10 @@ define the lattice spacings. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_wall_reflect.txt b/doc/src/fix_wall_reflect.txt index 954ec65bf6..78be84eb63 100644 --- a/doc/src/fix_wall_reflect.txt +++ b/doc/src/fix_wall_reflect.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -130,10 +130,9 @@ position = c0 + A (1 - cos(omega*delta)) :pre Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -145,8 +144,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line @@ -155,10 +154,10 @@ more instructions on how to use the accelerated styles effectively. No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various "output -commands"_Section_howto.html#howto_15. No parameter of this fix can -be used with the {start/stop} keywords of the "run"_run.html command. -This fix is not invoked during "energy minimization"_minimize.html. +by this fix for access by various "output commands"_Howto_output.html. +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] diff --git a/doc/src/fix_wall_region.txt b/doc/src/fix_wall_region.txt index 9700545dc9..559a2f0d89 100644 --- a/doc/src/fix_wall_region.txt +++ b/doc/src/fix_wall_region.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -156,12 +156,11 @@ integrator the fix is adding its forces. Default is the outermost level. This fix computes a global scalar energy and a global 3-length vector of forces, which can be accessed by various "output -commands"_Section_howto.html#howto_15. The scalar energy is the sum -of energy interactions for all particles interacting with the wall -represented by the region surface. The 3 vector quantities are the -x,y,z components of the total force acting on the wall due to the -particles. The scalar and vector values calculated by this fix are -"extensive". +commands"_Howto_output.html. The scalar energy is the sum of energy +interactions for all particles interacting with the wall represented +by the region surface. The 3 vector quantities are the x,y,z +components of the total force acting on the wall due to the particles. +The scalar and vector values calculated by this fix are "extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. diff --git a/doc/src/fix_wall_srd.txt b/doc/src/fix_wall_srd.txt index c465896d37..3a50c45ab7 100644 --- a/doc/src/fix_wall_srd.txt +++ b/doc/src/fix_wall_srd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -166,9 +166,9 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. This fix computes a global array of values which can be accessed by -various "output commands"_Section_howto.html#howto_15. The number of -rows in the array is equal to the number of walls defined by the fix. -The number of columns is 3, for the x,y,z components of force on each +various "output commands"_Howto_output.html. The number of rows in +the array is equal to the number of walls defined by the fix. The +number of columns is 3, for the x,y,z components of force on each wall. Note that an outward normal force on a wall will be a negative value diff --git a/doc/src/fixes.txt b/doc/src/fixes.txt index 9510217d02..7a45ed8086 100644 --- a/doc/src/fixes.txt +++ b/doc/src/fixes.txt @@ -168,6 +168,8 @@ Fixes :h1 fix_viscosity fix_viscous fix_wall + fix_wall_body_polygon + fix_wall_body_polyhedron fix_wall_ees fix_wall_gran fix_wall_gran_region diff --git a/doc/src/group.txt b/doc/src/group.txt index dddb0459e3..8472677372 100644 --- a/doc/src/group.txt +++ b/doc/src/group.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/group2ndx.txt b/doc/src/group2ndx.txt index 94d188399b..242d6a69a4 100644 --- a/doc/src/group2ndx.txt +++ b/doc/src/group2ndx.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/if.txt b/doc/src/if.txt index 52fad5aea7..513e451034 100644 --- a/doc/src/if.txt +++ b/doc/src/if.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -65,9 +65,9 @@ above. NOTE: If a command itself requires a quoted argument (e.g. a "print"_print.html command), then double and single quotes can be used and nested in the usual manner, as in the examples above and below. -See "Section 3.2"_Section_commands.html#cmd_2 of the manual for -more details on using quotes in arguments. Only one of level of -nesting is allowed, but that should be sufficient for most use cases. +The "Commands parse"_Commands_parse.html doc page has more details on +using quotes in arguments. Only one of level of nesting is allowed, +but that should be sufficient for most use cases. Note that by using the line continuation character "&", the if command can be spread across many lines, though it is still a single command: diff --git a/doc/src/improper_class2.txt b/doc/src/improper_class2.txt index 14ec6258de..c38f73c64d 100644 --- a/doc/src/improper_class2.txt +++ b/doc/src/improper_class2.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -87,10 +87,9 @@ radians internally; hence the units of M are in energy/radian^2. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -102,8 +101,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_coeff.txt b/doc/src/improper_coeff.txt index 5c01a23ae9..8ed65f9535 100644 --- a/doc/src/improper_coeff.txt +++ b/doc/src/improper_coeff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -67,9 +67,9 @@ the style to display the formula it computes and coefficients specified by the associated "improper_coeff"_improper_coeff.html command. Note that there are also additional improper styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the improper section of -"this page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +improper styles is on the "Commands bond"_Commands_bond.html#improper +doc page. "improper_style none"_improper_none.html - turn off improper interactions "improper_style hybrid"_improper_hybrid.html - define multiple styles of improper interactions :ul diff --git a/doc/src/improper_cossq.txt b/doc/src/improper_cossq.txt index 138a6a1650..04aa45255c 100644 --- a/doc/src/improper_cossq.txt +++ b/doc/src/improper_cossq.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -53,10 +53,9 @@ X0 (degrees) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -68,8 +67,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_cvff.txt b/doc/src/improper_cvff.txt index 5f69eccc60..d01faf2885 100644 --- a/doc/src/improper_cvff.txt +++ b/doc/src/improper_cvff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -54,10 +54,9 @@ n (0,1,2,3,4,6) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -69,8 +68,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_distance.txt b/doc/src/improper_distance.txt index 7d49d17c97..93235fe601 100644 --- a/doc/src/improper_distance.txt +++ b/doc/src/improper_distance.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_fourier.txt b/doc/src/improper_fourier.txt index f9062da207..78cc1b3f76 100644 --- a/doc/src/improper_fourier.txt +++ b/doc/src/improper_fourier.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -48,10 +48,9 @@ all (integer >= 0) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -63,8 +62,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_harmonic.txt b/doc/src/improper_harmonic.txt index bb17e5a641..f398dc425f 100644 --- a/doc/src/improper_harmonic.txt +++ b/doc/src/improper_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -58,10 +58,9 @@ internally; hence the units of K are in energy/radian^2. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -73,8 +72,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_hybrid.txt b/doc/src/improper_hybrid.txt index 0c2beaef18..42afbe8577 100644 --- a/doc/src/improper_hybrid.txt +++ b/doc/src/improper_hybrid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_inversion_harmonic.txt b/doc/src/improper_inversion_harmonic.txt index 34683ca2bb..2c0f2f0af8 100644 --- a/doc/src/improper_inversion_harmonic.txt +++ b/doc/src/improper_inversion_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_none.txt b/doc/src/improper_none.txt index af9964c743..f97af101fc 100644 --- a/doc/src/improper_none.txt +++ b/doc/src/improper_none.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/improper_ring.txt b/doc/src/improper_ring.txt index c02d392474..60bbca170a 100644 --- a/doc/src/improper_ring.txt +++ b/doc/src/improper_ring.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -57,10 +57,9 @@ theta0 (degrees) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -72,8 +71,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_style.txt b/doc/src/improper_style.txt index 861701590f..3d29b28ec4 100644 --- a/doc/src/improper_style.txt +++ b/doc/src/improper_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -60,9 +60,9 @@ specified by the associated "improper_coeff"_improper_coeff.html command. Note that there are also additional improper styles submitted by users -which are included in the LAMMPS distribution. The list of these with -links to the individual styles are given in the improper section of -"this page"_Section_commands.html#cmd_5. +which are included in the LAMMPS distribution. The full list of all +improper styles is on the "Commands bond"_Commands_bond.html#improper +doc page. "improper_style none"_improper_none.html - turn off improper interactions "improper_style zero"_improper_zero.html - topology but no interactions diff --git a/doc/src/improper_umbrella.txt b/doc/src/improper_umbrella.txt index d6df9ee6cc..b05cf4b181 100644 --- a/doc/src/improper_umbrella.txt +++ b/doc/src/improper_umbrella.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -22,7 +22,7 @@ improper_coeff 1 100.0 180.0 :pre The {umbrella} improper style uses the following potential, which is commonly referred to as a classic inversion and used in the -"DREIDING"_Section_howto.html#howto_4 force field: +"DREIDING"_Howto_bioFF.html force field: :c,image(Eqs/improper_umbrella.jpg) @@ -51,10 +51,9 @@ omega0 (degrees) :ul Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -66,8 +65,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/improper_zero.txt b/doc/src/improper_zero.txt index 2a298573d5..f3f3485b57 100644 --- a/doc/src/improper_zero.txt +++ b/doc/src/improper_zero.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/include.txt b/doc/src/include.txt index 95d08db352..c114056313 100644 --- a/doc/src/include.txt +++ b/doc/src/include.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/info.txt b/doc/src/info.txt index d5b5bd97b9..99211de4fb 100644 --- a/doc/src/info.txt +++ b/doc/src/info.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/jump.txt b/doc/src/jump.txt index 4e3799f7b1..b5afeb6559 100644 --- a/doc/src/jump.txt +++ b/doc/src/jump.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/kspace_modify.txt b/doc/src/kspace_modify.txt index 6d27bb7076..dd7b1e8dea 100644 --- a/doc/src/kspace_modify.txt +++ b/doc/src/kspace_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -285,15 +285,15 @@ performance and accuracy in the results is obtained when these values are different. The {disp/auto} option controls whether the pppm/disp is allowed to -generate PPPM parameters automatically. If set to {no}, parameters have -to be specified using the {gewald/disp}, {mesh/disp}, -{force/disp/real} or {force/disp/kspace} keywords, or -the code will stop with an error message. When this option is set to -{yes}, the error message will not appear and the simulation will start. -For a typical application, using the automatic parameter generation -will provide simulations that are either inaccurate or slow. Using this -option is thus not recommended. For guidelines on how to obtain good -parameters, see the "How-To"_Section_howto.html#howto_24 discussion. +generate PPPM parameters automatically. If set to {no}, parameters +have to be specified using the {gewald/disp}, {mesh/disp}, +{force/disp/real} or {force/disp/kspace} keywords, or the code will +stop with an error message. When this option is set to {yes}, the +error message will not appear and the simulation will start. For a +typical application, using the automatic parameter generation will +provide simulations that are either inaccurate or slow. Using this +option is thus not recommended. For guidelines on how to obtain good +parameters, see the "Howto dispersion"_Howto_dispersion.html doc page. [Restrictions:] none diff --git a/doc/src/kspace_style.txt b/doc/src/kspace_style.txt index 4f27c9aa78..55ad4ab610 100644 --- a/doc/src/kspace_style.txt +++ b/doc/src/kspace_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -145,8 +145,8 @@ speedup in the KSpace time (8x less mesh points, 2x more expensive). However, for low relative accuracy, the staggered PPPM mesh size may be essentially the same as for regular PPPM, which means the method will be up to 2x slower in the KSpace time (simply 2x more expensive). -For more details and timings, see -"Section 5"_Section_accelerate.html. +For more details and timings, see the "Speed tips"_Speed_tips.html doc +page. NOTE: Using {pppm/stagger} may not give the same increase in the accuracy of energy and pressure as it does in forces, so some caution @@ -161,15 +161,16 @@ similar to the {ewald/disp} style. The 1/r^6 capability means that Lennard-Jones or Buckingham potentials can be used without a cutoff, i.e. they become full long-range potentials. -For these styles, you will possibly want to adjust the default choice of -parameters by using the "kspace_modify"_kspace_modify.html command. +For these styles, you will possibly want to adjust the default choice +of parameters by using the "kspace_modify"_kspace_modify.html command. This can be done by either choosing the Ewald and grid parameters, or by specifying separate accuracies for the real and kspace -calculations. When not making any settings, the simulation will stop with -an error message. Further information on the influence of the parameters -and how to choose them is described in "(Isele-Holder)"_#Isele-Holder2012, -"(Isele-Holder2)"_#Isele-Holder2013 and the -"How-To"_Section_howto.html#howto_24 discussion. +calculations. When not making any settings, the simulation will stop +with an error message. Further information on the influence of the +parameters and how to choose them is described in +"(Isele-Holder)"_#Isele-Holder2012, +"(Isele-Holder2)"_#Isele-Holder2013 and the "Howto +dispersion"_Howto_dispersion.html doc page. :line @@ -267,10 +268,9 @@ relative RMS error. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. More specifically, the {pppm/gpu} style performs charge assignment and force interpolation calculations on the GPU. These processes are @@ -291,8 +291,8 @@ KOKKOS, USER-OMP, and OPT packages respectively. They are only enabled if LAMMPS was built with those packages. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/label.txt b/doc/src/label.txt index c6a573141b..adab44188c 100644 --- a/doc/src/label.txt +++ b/doc/src/label.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 4274ef48b3..c0ca357f21 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -1,19 +1,78 @@ #HTMLDOC 1.8.28 -t pdf14 -f "../Manual.pdf" --book --toclevels 4 --no-numbered --toctitle "Table of Contents" --title --textcolor #000000 --linkcolor #0000ff --linkstyle plain --bodycolor #ffffff --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --header1 ... --footer ..1 --nup 1 --tocheader .t. --tocfooter ..i --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=0 --fontsize 11.0 --fontspacing 1.2 --headingfont Sans --bodyfont Serif --headfootsize 11.0 --headfootfont Sans-Bold --charset iso-8859-15 --links --embedfonts --pagemode document --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 --no-strict --no-overflow Manual.html -Section_intro.html +Intro.html +Intro_overview.html +Intro_features.html +Intro_nonfeatures.html +Intro_opensource.html +Intro_authors.html +Intro_website.html Section_start.html -Section_commands.html -Section_packages.html -Section_accelerate.html -accelerate_gpu.html -accelerate_intel.html -accelerate_kokkos.html -accelerate_omp.html -accelerate_opt.html -Section_howto.html +Commands.html +Commands_input.html +Commands_parse.html +Commands_structure.html +Commands_category.html +Commands_all.html +Commands_fix.html +Commands_compute.html +Commands_pair.html +Commands_bond.html +Commands_kspace.html +Packages.html +Packages_standard.html +Packages_user.html +Packages_details.html +Speed.html +Speed_bench.html +Speed_measure.html +Speed_tips.html +Speed_packages.html +Speed_gpu.html +Speed_intel.html +Speed_kokkos.html +Speed_omp.html +Speed_opt.html +Speed_compare.html +Howto.html +Howto_github.html +Howto_pylammps.html +Howto_bash.html +Howto_restart.html +Howto_viz.html +Howto_multiple.html +Howto_replica.html +Howto_library.html +Howto_couple.html +Howto_output.html +Howto_chunk.html +Howto_2d.html +Howto_triclinic.html +Howto_walls.html +Howto_nemd.html +Howto_granular.html +Howto_spherical.html +Howto_dispersion.html +Howto_temperature.html +Howto_thermostat.html +Howto_barostat.html +Howto_elastic.html +Howto_kappa.html +Howto_viscosity.html +Howto_diffusion.html +Howto_bioFF.html +Howto_tip3p.html +Howto_tip4p.html +Howto_spc.html +Howto_body.html +Howto_polarizable.html +Howto_coreshell.html +Howto_drude.html +Howto_drude2.html +Howto_manifold.html +Howto_spins.html Examples.html -Section_perf.html Tools.html Modify.html Modify_overview.html @@ -47,17 +106,6 @@ Errors_common.html Errors_bugs.html Errors_messages.html Errors_warnings.html -Section_history.html - -lammps_tutorials.html -tutorial_bash_on_windows.html -tutorial_drude.html -tutorial_github.html -tutorial_pylammps.html - -lammps_support.html -body.html -manifolds.html lammps_commands.html atom_modify.html diff --git a/doc/src/lammps_support.txt b/doc/src/lammps_support.txt deleted file mode 100644 index fa460ce6c2..0000000000 --- a/doc/src/lammps_support.txt +++ /dev/null @@ -1,7 +0,0 @@ - -Supporting Information :h1 - -This section of the manual contains supporting information that -is not documenting individual commands but general concepts and -supporting information about entities like body particles or -manifolds. diff --git a/doc/src/lammps_tutorials.txt b/doc/src/lammps_tutorials.txt deleted file mode 100644 index 5ceda65b60..0000000000 --- a/doc/src/lammps_tutorials.txt +++ /dev/null @@ -1,6 +0,0 @@ - -Tutorials :h2 - -The following pages contain some in-depth tutorials for -selected topics, that did not fit into any other place -in the manual. diff --git a/doc/src/lattice.txt b/doc/src/lattice.txt index 7a90df1f5d..6f16dc5432 100644 --- a/doc/src/lattice.txt +++ b/doc/src/lattice.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/log.txt b/doc/src/log.txt index 92bb12e6db..7603768519 100644 --- a/doc/src/log.txt +++ b/doc/src/log.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/mass.txt b/doc/src/mass.txt index 4b75132ccf..c693963044 100644 --- a/doc/src/mass.txt +++ b/doc/src/mass.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/min_modify.txt b/doc/src/min_modify.txt index 73d142f5fa..9408eea167 100644 --- a/doc/src/min_modify.txt +++ b/doc/src/min_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/min_style.txt b/doc/src/min_style.txt index 245ac5864c..4948a34864 100644 --- a/doc/src/min_style.txt +++ b/doc/src/min_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line min_style command :h3 diff --git a/doc/src/minimize.txt b/doc/src/minimize.txt index a3f2c5d0bf..910fc7f821 100644 --- a/doc/src/minimize.txt +++ b/doc/src/minimize.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/molecule.txt b/doc/src/molecule.txt index cd9ecce42c..88c6292d8b 100644 --- a/doc/src/molecule.txt +++ b/doc/src/molecule.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -176,9 +176,8 @@ LAMMPS uses this info to properly exclude or weight bonded pairwise interactions between bonded atoms. See the "special_bonds"_special_bonds.html command for more details. One reason to list the special bond info explicitly is for the -"thermalized Drude oscillator model"_tutorial_drude.html which treats -the bonds between nuclear cores and Drude electrons in a different -manner. +"thermalized Drude oscillator model"_Howto_drude.html which treats the +bonds between nuclear cores and Drude electrons in a different manner. NOTE: Whether a section is required depends on how the molecule template is used by other LAMMPS commands. For example, to add a diff --git a/doc/src/neb.txt b/doc/src/neb.txt index 56f075c301..fbd77ee329 100644 --- a/doc/src/neb.txt +++ b/doc/src/neb.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -56,9 +56,8 @@ Note that if you have MPI installed, you can run a multi-replica simulation with more replicas (partitions) than you have physical processors, e.g you can run a 10-replica simulation on just one or two processors. You will simply not get the performance speed-up you -would see with one or more physical processors per replica. See -"Section 6.5"_Section_howto.html#howto_5 of the manual for further -discussion. +would see with one or more physical processors per replica. See the +"Howto replica"_Howto_replica.html doc page for further discussion. NOTE: As explained below, a NEB calculation perfoms a damped dynamics minimization across all the replicas. The minimizer uses whatever diff --git a/doc/src/neigh_modify.txt b/doc/src/neigh_modify.txt index c4544cb29b..6c4218cff5 100644 --- a/doc/src/neigh_modify.txt +++ b/doc/src/neigh_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/neighbor.txt b/doc/src/neighbor.txt index 062f79a5bb..7c7e7b05e5 100644 --- a/doc/src/neighbor.txt +++ b/doc/src/neighbor.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/newton.txt b/doc/src/newton.txt index a3e7f4fa91..fd7b536920 100644 --- a/doc/src/newton.txt +++ b/doc/src/newton.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/next.txt b/doc/src/next.txt index 08f73b896c..5a0b30b2a7 100644 --- a/doc/src/next.txt +++ b/doc/src/next.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/package.txt b/doc/src/package.txt index 5fd42f67d3..c2e7345bb7 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -149,9 +149,9 @@ the style options are set, either to default values or to specified settings. I.e. settings from previous invocations do not persist across multiple invocations. -See the "Section 5.3"_Section_accelerate.html#acc_3 section of the -manual for more details about using the various accelerator packages -for speeding up LAMMPS simulations. +See the "Speed packages"_Speed_packages.html doc page for more details +about using the various accelerator packages for speeding up LAMMPS +simulations. :line diff --git a/doc/src/pair_adp.txt b/doc/src/pair_adp.txt index 9d2a48dcbc..382a97ecea 100644 --- a/doc/src/pair_adp.txt +++ b/doc/src/pair_adp.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -125,10 +125,9 @@ array tabulated with a scaling by r. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -140,8 +139,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_agni.txt b/doc/src/pair_agni.txt index 402e537dad..34f9900139 100644 --- a/doc/src/pair_agni.txt +++ b/doc/src/pair_agni.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -58,11 +58,11 @@ and input files are provided in the examples/USER/misc/agni directory. :line Styles with {omp} suffix is functionally the same as the corresponding -style without the suffix. They have been optimized to run faster, depending -on your available hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated style takes the same arguments and -should produce the same results, except for round-off and precision -issues. +style without the suffix. They have been optimized to run faster, +depending on your available hardware, as discussed on the "Speed +packages"_Speed_packages.html doc page. The accelerated style takes +the same arguments and should produce the same results, except for +round-off and precision issues. The accelerated style is part of the USER-OMP. They are only enabled if LAMMPS was built with those packages. See the "Making @@ -73,8 +73,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_airebo.txt b/doc/src/pair_airebo.txt index 1aa017f278..94a692226d 100644 --- a/doc/src/pair_airebo.txt +++ b/doc/src/pair_airebo.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -176,10 +176,9 @@ thermo_style custom step temp epair v_REBO v_LJ v_TORSION :pre Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -191,8 +190,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_atm.txt b/doc/src/pair_atm.txt index b798f7d128..2e961a1356 100644 --- a/doc/src/pair_atm.txt +++ b/doc/src/pair_atm.txt @@ -49,9 +49,8 @@ The {atm} potential is typically used in combination with a two-body potential using the "pair_style hybrid/overlay"_pair_hybrid.html command as in the example above. -The potential is calculated if atoms J and K are in the -"neighbor list"_neighbor.html of atom I -and the distances between atoms satisfy rIJ rJK rKI > cutoff^3. +The potential for a triplet of atom is calculated only if all 3 +distances r12, r23, r31 between the 3 atoms satisfy rIJ < cutoff The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples diff --git a/doc/src/pair_awpmd.txt b/doc/src/pair_awpmd.txt index fe0e3c952a..ec87101d0d 100644 --- a/doc/src/pair_awpmd.txt +++ b/doc/src/pair_awpmd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_beck.txt b/doc/src/pair_beck.txt index e160f09b3d..ca4186e27b 100644 --- a/doc/src/pair_beck.txt +++ b/doc/src/pair_beck.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -51,10 +51,9 @@ Rc is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -66,8 +65,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_body_nparticle.txt b/doc/src/pair_body_nparticle.txt index 8c5b6e155d..9fb88102eb 100644 --- a/doc/src/pair_body_nparticle.txt +++ b/doc/src/pair_body_nparticle.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -24,15 +24,14 @@ pair_coeff 1 1 1.0 1.5 2.5 :pre Style {body/nparticle} is for use with body particles and calculates pairwise body/body interactions as well as interactions between body -and point-particles. See "Section 6.14"_Section_howto.html#howto_14 -of the manual and the "body"_body.html doc page for more details on -using body particles. +and point-particles. See the "Howto body"_Howto_body.html doc page +for more details on using body particles. This pair style is designed for use with the "nparticle" body style, which is specified as an argument to the "atom-style body" command. -See the "body"_body.html doc page for more details about the body -styles LAMMPS supports. The "nparticle" style treats a body particle -as a rigid body composed of N sub-particles. +See the "Howto body"_Howto_body.html doc page for more details about +the body styles LAMMPS supports. The "nparticle" style treats a body +particle as a rigid body composed of N sub-particles. The coordinates of a body particle are its center-of-mass (COM). If the COMs of a pair of body particles are within the cutoff (global or diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 9daeb08e9a..e724874032 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -29,9 +29,8 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 2d models of body particles of style {rounded/polygon}. It calculates pairwise body/body interactions which can include body particles modeled as -1-vertex circular disks with a specified diameter. See "Section -6.14"_Section_howto.html#howto_14 of the manual and the -"body"_body.html doc page for more details on using body +1-vertex circular disks with a specified diameter. See the "Howto +body"_Howto_body.html doc page for more details on using body rounded/polygon particles. This pairwise interaction between rounded polygons is described in diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index dc559feaaf..0f8548d98e 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -29,9 +29,8 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 3d models of body particles of style {rounded/polyhedron}. It calculates pairwise body/body interactions which can include body particles modeled as -1-vertex spheres with a specified diameter. See "Section -6.14"_Section_howto.html#howto_14 of the manual and the -"body"_body.html doc page for more details on using body +1-vertex spheres with a specified diameter. See the "Howto +body"_Howto_body.html doc page for more details on using body rounded/polyhedron particles. This pairwise interaction between the rounded polyhedra is described diff --git a/doc/src/pair_bop.txt b/doc/src/pair_bop.txt index 2a611e4bd0..654a7eb0b3 100644 --- a/doc/src/pair_bop.txt +++ b/doc/src/pair_bop.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_born.txt b/doc/src/pair_born.txt index f867107426..c408de6db6 100644 --- a/doc/src/pair_born.txt +++ b/doc/src/pair_born.txt @@ -3,7 +3,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -108,10 +108,10 @@ The {born/coul/dsf} style computes the Coulomb contribution with the damped shifted force model as in the "coul/dsf"_pair_coul.html style. Style {born/coul/long/cs} is identical to {born/coul/long} except that -a term is added for the "core/shell model"_Section_howto.html#howto_25 -to allow charges on core and shell particles to be separated by r = -0.0. The same correction is introduced for the {born/coul/dsf/cs} -style which is identical to {born/coul/dsf}. And likewise for +a term is added for the "core/shell model"_Howto_coreshell.html to +allow charges on core and shell particles to be separated by r = 0.0. +The same correction is introduced for the {born/coul/dsf/cs} style +which is identical to {born/coul/dsf}. And likewise for {born/coul/wolf/cs} style which is identical to {born/coul/wolf}. Note that these potentials are related to the "Buckingham @@ -145,10 +145,9 @@ pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -160,8 +159,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_brownian.txt b/doc/src/pair_brownian.txt index 79b71e91c7..eaff85cbbc 100644 --- a/doc/src/pair_brownian.txt +++ b/doc/src/pair_brownian.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -74,7 +74,7 @@ must be specified. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "this section"_Section_accelerate.html of +hardware, as discussed in "this section"_Speed.html of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. @@ -88,7 +88,7 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "this section"_Section_accelerate.html of the manual for more +See "this section"_Speed.html of the manual for more instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_buck.txt b/doc/src/pair_buck.txt index d18b39d5d9..cc782c11cf 100644 --- a/doc/src/pair_buck.txt +++ b/doc/src/pair_buck.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -93,9 +93,8 @@ used as the cutoff for the A,C terms, and the second is the cutoff for the Coulombic term. Style {buck/coul/long/cs} is identical to {buck/coul/long} except that -a term is added for the "core/shell model"_Section_howto.html#howto_25 -to allow charges on core and shell particles to be separated by r = -0.0. +a term is added for the "core/shell model"_Howto_coreshell.html to +allow charges on core and shell particles to be separated by r = 0.0. Note that these potentials are related to the "Born-Mayer-Huggins potential"_pair_born.html. @@ -140,10 +139,9 @@ pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -155,8 +153,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_buck6d_coul_gauss.txt b/doc/src/pair_buck6d_coul_gauss.txt index 879972772b..485c35c6b2 100644 --- a/doc/src/pair_buck6d_coul_gauss.txt +++ b/doc/src/pair_buck6d_coul_gauss.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_buck_long.txt b/doc/src/pair_buck_long.txt index 05e760e1b2..551204f1a7 100644 --- a/doc/src/pair_buck_long.txt +++ b/doc/src/pair_buck_long.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -102,10 +102,9 @@ global Coulombic cutoff is allowed. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -117,8 +116,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_charmm.txt b/doc/src/pair_charmm.txt index 75a8e4bff9..39c6f29b04 100644 --- a/doc/src/pair_charmm.txt +++ b/doc/src/pair_charmm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -184,10 +184,9 @@ the pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -199,8 +198,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_class2.txt b/doc/src/pair_class2.txt index 36fae5068b..104c51474c 100644 --- a/doc/src/pair_class2.txt +++ b/doc/src/pair_class2.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -102,10 +102,9 @@ cutoff distance. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -117,8 +116,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_coeff.txt b/doc/src/pair_coeff.txt index fe9238f423..63f85f23d5 100644 --- a/doc/src/pair_coeff.txt +++ b/doc/src/pair_coeff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -111,9 +111,8 @@ Windows: :line The alphabetic list of pair styles defined in LAMMPS is given on the -"pair_style"_pair_style.html doc page. They are also given in more -compact form in the pair section of "this -page"_Section_commands.html#cmd_5. +"pair_style"_pair_style.html doc page. They are also listed in more +compact form on the "Commands pair"_Commands_pair.html doc page. Click on the style to display the formula it computes, arguments specified in the pair_style command, and coefficients specified by the @@ -121,15 +120,15 @@ associated "pair_coeff"_pair_coeff.html command. Note that there are also additional pair styles (not listed on the "pair_style"_pair_style.html doc page) submitted by users which are -included in the LAMMPS distribution. The list of these with links to -the individual styles are given in the pair section of "this -page"_Section_commands.html#cmd_5. +included in the LAMMPS distribution. The full list of all pair styles +is on the "Commands pair"_Commands_pair.html doc page. There are also additional accelerated pair styles (not listed on the "pair_style"_pair_style.html doc page) included in the LAMMPS -distribution for faster performance on CPUs and GPUs. The list of -these with links to the individual styles are given in the pair -section of "this page"_Section_commands.html#cmd_5. +distribution for faster performance on CPUs, GPUs, and KNLs. The +individual style names on the "Commands pair"_Commands_pair.html doc +page are followed by one or more of (g,i,k,o,t) to indicate which +accerlerated styles exist. :line diff --git a/doc/src/pair_colloid.txt b/doc/src/pair_colloid.txt index 83b15b358b..08540cfee0 100644 --- a/doc/src/pair_colloid.txt +++ b/doc/src/pair_colloid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -127,10 +127,9 @@ commands for efficiency: "neighbor multi"_neighbor.html and Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -142,8 +141,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_comb.txt b/doc/src/pair_comb.txt index f5461b1cbc..fc4cddbbae 100644 --- a/doc/src/pair_comb.txt +++ b/doc/src/pair_comb.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -112,10 +112,9 @@ nor file {ffield.comb3} with style {comb}. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -127,8 +126,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_coul.txt b/doc/src/pair_coul.txt index aa3a008bd3..2fd9445785 100644 --- a/doc/src/pair_coul.txt +++ b/doc/src/pair_coul.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -205,9 +205,9 @@ pairwise interactions within this distance are computed directly; interactions outside that distance are computed in reciprocal space. Style {coul/long/cs} is identical to {coul/long} except that a term is -added for the "core/shell model"_Section_howto.html#howto_25 to allow -charges on core and shell particles to be separated by r = 0.0. The -same correction is introduced for the {coul/wolf/cs} style which is +added for the "core/shell model"_Howto_coreshell.html to allow charges +on core and shell particles to be separated by r = 0.0. The same +correction is introduced for the {coul/wolf/cs} style which is identical to {coul/wolf}. Styles {tip4p/cut} and {tip4p/long} implement the coulomb part of @@ -226,16 +226,16 @@ is to enable LAMMPS to "find" the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P water molecule is 500, then its 2 H atoms must have IDs 501 and 502. -See the "howto section"_Section_howto.html#howto_8 for more -information on how to use the TIP4P pair styles and lists of -parameters to set. Note that the neighbor list cutoff for Coulomb -interactions is effectively extended by a distance 2*qdist when using -the TIP4P pair style, to account for the offset distance of the -fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb -cutoff + 2*qdist, to shrink the size of the neighbor list. This leads -to slightly larger cost for the long-range calculation, so you can -test the trade-off for your model. +See the "Howto tip4p"_Howto_tip4p.html doc page for more information +on how to use the TIP4P pair styles and lists of parameters to set. +Note that the neighbor list cutoff for Coulomb interactions is +effectively extended by a distance 2*qdist when using the TIP4P pair +style, to account for the offset distance of the fictitious charges on +O atoms in water molecules. Thus it is typically best in an +efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*qdist, to +shrink the size of the neighbor list. This leads to slightly larger +cost for the long-range calculation, so you can test the trade-off for +your model. :line @@ -268,10 +268,9 @@ command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -283,8 +282,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_coul_diel.txt b/doc/src/pair_coul_diel.txt index f651cb4b5e..14932c4835 100644 --- a/doc/src/pair_coul_diel.txt +++ b/doc/src/pair_coul_diel.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_coul_shield.txt b/doc/src/pair_coul_shield.txt index 19f69688d5..029e6e5b3b 100644 --- a/doc/src/pair_coul_shield.txt +++ b/doc/src/pair_coul_shield.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_cs.txt b/doc/src/pair_cs.txt index c1084c6087..6540c4b8f0 100644 --- a/doc/src/pair_cs.txt +++ b/doc/src/pair_cs.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -54,8 +54,8 @@ pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50 :pre These pair styles are designed to be used with the adiabatic core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham2. See -"Section 6.25"_Section_howto.html#howto_25 of the manual for an -overview of the model as implemented in LAMMPS. +the "Howto coreshell"_Howto_coreshell.html doc page for an overview of +the model as implemented in LAMMPS. The styles with a {coul/long} term are identical to the "pair_style born/coul/long"_pair_born.html and "pair_style diff --git a/doc/src/pair_dipole.txt b/doc/src/pair_dipole.txt index 2516e5eae4..1d8abc4521 100644 --- a/doc/src/pair_dipole.txt +++ b/doc/src/pair_dipole.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -186,10 +186,9 @@ type pair. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -201,8 +200,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_dpd.txt b/doc/src/pair_dpd.txt index 9e29e93430..1b636795d9 100644 --- a/doc/src/pair_dpd.txt +++ b/doc/src/pair_dpd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -110,10 +110,9 @@ random force. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -125,8 +124,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_dpd_fdt.txt b/doc/src/pair_dpd_fdt.txt index 867f3f2315..0d180ba068 100644 --- a/doc/src/pair_dpd_fdt.txt +++ b/doc/src/pair_dpd_fdt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -129,10 +129,9 @@ significantly larger timesteps to be taken. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -144,8 +143,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_dsmc.txt b/doc/src/pair_dsmc.txt index 9e24100ab7..2478a96d5f 100644 --- a/doc/src/pair_dsmc.txt +++ b/doc/src/pair_dsmc.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_eam.txt b/doc/src/pair_eam.txt index 03e77f53ab..361dacb703 100644 --- a/doc/src/pair_eam.txt +++ b/doc/src/pair_eam.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -371,10 +371,9 @@ are listed. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -386,7 +385,7 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for more +See the "Speed packages"_Speed_packages.html doc page for more instructions on how to use the accelerated styles effectively. :line @@ -414,15 +413,10 @@ The eam pair styles can only be used via the {pair} keyword of the [Restrictions:] -All of these styles except the {eam/cd} style are part of the MANYBODY -package. They are only enabled if LAMMPS was built with that package. +All of these styles are part of the MANYBODY package. They are only +enabled if LAMMPS was built with that package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. -The {eam/cd} style is part of the USER-MISC package and also requires -the MANYBODY package. It is only enabled if LAMMPS was built with -those packages. See the "Making LAMMPS"_Section_start.html#start_3 -section for more info. - [Related commands:] "pair_coeff"_pair_coeff.html diff --git a/doc/src/pair_edip.txt b/doc/src/pair_edip.txt index e5b1420b59..cce564856e 100644 --- a/doc/src/pair_edip.txt +++ b/doc/src/pair_edip.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -109,10 +109,9 @@ the EDIP package. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -124,8 +123,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_eff.txt b/doc/src/pair_eff.txt index ee7dc99932..a55860297e 100644 --- a/doc/src/pair_eff.txt +++ b/doc/src/pair_eff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_eim.txt b/doc/src/pair_eim.txt index 75ad2d4683..6490a859c1 100644 --- a/doc/src/pair_eim.txt +++ b/doc/src/pair_eim.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -136,10 +136,9 @@ needs. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -151,8 +150,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_exp6_rx.txt b/doc/src/pair_exp6_rx.txt index 7eafa23543..08ab1cf3c9 100644 --- a/doc/src/pair_exp6_rx.txt +++ b/doc/src/pair_exp6_rx.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -153,10 +153,9 @@ pair interaction. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -168,8 +167,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_extep.txt b/doc/src/pair_extep.txt index 9a784e2501..3acad1132d 100644 --- a/doc/src/pair_extep.txt +++ b/doc/src/pair_extep.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_gauss.txt b/doc/src/pair_gauss.txt index f6f46a2de8..9662a4f29c 100644 --- a/doc/src/pair_gauss.txt +++ b/doc/src/pair_gauss.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -84,10 +84,9 @@ is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -99,8 +98,8 @@ by including their suffix, or you can use the "-suffix command-line switch7_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_gayberne.txt b/doc/src/pair_gayberne.txt index c923578586..af41f6879e 100644 --- a/doc/src/pair_gayberne.txt +++ b/doc/src/pair_gayberne.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -133,10 +133,9 @@ pair_coeff sigma to 1.0 as well. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -148,8 +147,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_gran.txt b/doc/src/pair_gran.txt index d7e87af013..55b00a172f 100644 --- a/doc/src/pair_gran.txt +++ b/doc/src/pair_gran.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -179,10 +179,9 @@ potential. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -194,8 +193,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_gromacs.txt b/doc/src/pair_gromacs.txt index ec84a2d57a..9f34ac8c43 100644 --- a/doc/src/pair_gromacs.txt +++ b/doc/src/pair_gromacs.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -91,10 +91,9 @@ cutoff(s) specified in the pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -106,8 +105,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_gw.txt b/doc/src/pair_gw.txt index 8f1251cf1f..809ff008bc 100644 --- a/doc/src/pair_gw.txt +++ b/doc/src/pair_gw.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_hbond_dreiding.txt b/doc/src/pair_hbond_dreiding.txt index d3cf90ec14..60b0b02174 100644 --- a/doc/src/pair_hbond_dreiding.txt +++ b/doc/src/pair_hbond_dreiding.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -33,8 +33,8 @@ pair_coeff 1 2 hbond/dreiding/morse 3 i 3.88 1.7241379 2.9 2 9 11 90 :pre [Description:] The {hbond/dreiding} styles compute the Acceptor-Hydrogen-Donor (AHD) -3-body hydrogen bond interaction for the -"DREIDING"_Section_howto.html#howto_4 force field, given by: +3-body hydrogen bond interaction for the "DREIDING"_Howto_bioFF.html +force field, given by: :c,image(Eqs/pair_hbond_dreiding.jpg) @@ -65,8 +65,8 @@ potential for the Donor-Acceptor interactions. "(Liu)"_#Liu showed that the Morse form gives improved results for Dendrimer simulations, when n = 2. -See this "howto section"_Section_howto.html#howto_4 of the manual for -more information on the DREIDING forcefield. +See the "Howto bioFF"_Howto_bioFF.html doc page for more information +on the DREIDING forcefield. NOTE: Because the Dreiding hydrogen bond potential is only one portion of an overall force field which typically includes other pairwise @@ -166,10 +166,9 @@ optional parameters. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -181,8 +180,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_hybrid.txt b/doc/src/pair_hybrid.txt index d37dedc709..9b36109c27 100644 --- a/doc/src/pair_hybrid.txt +++ b/doc/src/pair_hybrid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -315,8 +315,8 @@ off C/C interaction, i.e. by setting the appropriate coefficients to Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. Since the {hybrid} and {hybrid/overlay} styles delegate computation to the individual sub-styles, the suffix versions of the {hybrid} and @@ -334,8 +334,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_ilp_graphene_hbn.txt b/doc/src/pair_ilp_graphene_hbn.txt index dbc9c458e2..9c9304c4a7 100644 --- a/doc/src/pair_ilp_graphene_hbn.txt +++ b/doc/src/pair_ilp_graphene_hbn.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_kim.txt b/doc/src/pair_kim.txt index c5d910e27c..889c1e892f 100644 --- a/doc/src/pair_kim.txt +++ b/doc/src/pair_kim.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -46,8 +46,8 @@ are included in the KIM library by default, in the "What is in the KIM API source package?" section. To use this pair style, you must first download and install the KIM -API library from the "OpenKIM website"_https://openkim.org. The "KIM -section of Section packages"_Section_packages.html#KIM has +API library from the "OpenKIM website"_https://openkim.org. The KIM +section of the "Packages details"_Packages_details.html doc page has instructions on how to do this with a simple make command, when building LAMMPS. diff --git a/doc/src/pair_kolmogorov_crespi_full.txt b/doc/src/pair_kolmogorov_crespi_full.txt index a16d123b89..8fc6bbff49 100644 --- a/doc/src/pair_kolmogorov_crespi_full.txt +++ b/doc/src/pair_kolmogorov_crespi_full.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_kolmogorov_crespi_z.txt b/doc/src/pair_kolmogorov_crespi_z.txt index 97f132eacd..7dad2e3701 100644 --- a/doc/src/pair_kolmogorov_crespi_z.txt +++ b/doc/src/pair_kolmogorov_crespi_z.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_lcbop.txt b/doc/src/pair_lcbop.txt index 148a1d47a0..ddf8551d56 100644 --- a/doc/src/pair_lcbop.txt +++ b/doc/src/pair_lcbop.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_line_lj.txt b/doc/src/pair_line_lj.txt index 44cfeb48e9..c2c6beb97f 100644 --- a/doc/src/pair_line_lj.txt +++ b/doc/src/pair_line_lj.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_list.txt b/doc/src/pair_list.txt index 653e8b0c2d..023cc0be4f 100644 --- a/doc/src/pair_list.txt +++ b/doc/src/pair_list.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_lj.txt b/doc/src/pair_lj.txt index e297d479bc..a55cb348d7 100644 --- a/doc/src/pair_lj.txt +++ b/doc/src/pair_lj.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -185,9 +185,9 @@ distance are computed directly; interactions outside that distance are computed in reciprocal space. Style {lj/cut/coul/long/cs} is identical to {lj/cut/coul/long} except -that a term is added for the "core/shell -model"_Section_howto.html#howto_25 to allow charges on core and shell -particles to be separated by r = 0.0. +that a term is added for the "core/shell model"_Howto_coreshell.html +to allow charges on core and shell particles to be separated by r = +0.0. Style {coul/wolf} adds a Coulombic pairwise interaction via the Wolf summation method, described in "Wolf"_#Wolf1, given by: @@ -223,16 +223,16 @@ is to enable LAMMPS to "find" the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P water molecule is 500, then its 2 H atoms must have IDs 501 and 502. -See the "howto section"_Section_howto.html#howto_8 for more -information on how to use the TIP4P pair styles and lists of -parameters to set. Note that the neighbor list cutoff for Coulomb -interactions is effectively extended by a distance 2*qdist when using -the TIP4P pair style, to account for the offset distance of the -fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb -cutoff + 2*qdist, to shrink the size of the neighbor list. This leads -to slightly larger cost for the long-range calculation, so you can -test the trade-off for your model. +See the "Howto tip4p"_Howto_tip4p.html doc page for more information +on how to use the TIP4P pair styles and lists of parameters to set. +Note that the neighbor list cutoff for Coulomb interactions is +effectively extended by a distance 2*qdist when using the TIP4P pair +style, to account for the offset distance of the fictitious charges on +O atoms in water molecules. Thus it is typically best in an +efficiency sense to use a LJ cutoff >= Coulomb cutoff + 2*qdist, to +shrink the size of the neighbor list. This leads to slightly larger +cost for the long-range calculation, so you can test the trade-off for +your model. For all of the {lj/cut} pair styles, the following coefficients must be defined for each pair of atoms types via the @@ -269,10 +269,9 @@ pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -284,8 +283,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj96.txt b/doc/src/pair_lj96.txt index 83f6ec063d..7c68e26ace 100644 --- a/doc/src/pair_lj96.txt +++ b/doc/src/pair_lj96.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -49,10 +49,9 @@ cutoff specified in the pair_style command is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -64,8 +63,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj_cubic.txt b/doc/src/pair_lj_cubic.txt index 4ca8c3c141..d04a3d8b9d 100644 --- a/doc/src/pair_lj_cubic.txt +++ b/doc/src/pair_lj_cubic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -63,10 +63,9 @@ located at rmin = 2^(1/6)*sigma. In the above example, sigma = Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -78,8 +77,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj_expand.txt b/doc/src/pair_lj_expand.txt index e0838426f6..3e9996da4d 100644 --- a/doc/src/pair_lj_expand.txt +++ b/doc/src/pair_lj_expand.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -53,10 +53,9 @@ optional. If not specified, the global LJ cutoff is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -68,8 +67,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj_long.txt b/doc/src/pair_lj_long.txt index 6be4562d18..1ba3610f86 100644 --- a/doc/src/pair_lj_long.txt +++ b/doc/src/pair_lj_long.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -90,7 +90,7 @@ is to enable LAMMPS to "find" the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P water molecule is 500, then its 2 H atoms must have IDs 501 and 502. -See the "howto section"_Section_howto.html#howto_8 for more +See the the "Howto tip4p"_Howto_tip4p.html doc page for more information on how to use the TIP4P pair style. Note that the neighbor list cutoff for Coulomb interactions is effectively extended by a distance 2*qdist when using the TIP4P pair style, to account for @@ -156,10 +156,9 @@ specified in the pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -171,8 +170,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj_smooth.txt b/doc/src/pair_lj_smooth.txt index b1678cad58..575c023579 100644 --- a/doc/src/pair_lj_smooth.txt +++ b/doc/src/pair_lj_smooth.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -62,10 +62,9 @@ specified, the global values for Rin and Rc are used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -77,8 +76,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj_smooth_linear.txt b/doc/src/pair_lj_smooth_linear.txt index 5f7c226cee..0fab768b8f 100644 --- a/doc/src/pair_lj_smooth_linear.txt +++ b/doc/src/pair_lj_smooth_linear.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -49,10 +49,9 @@ LJ cutoff specified in the pair_style command is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -64,8 +63,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lj_soft.txt b/doc/src/pair_lj_soft.txt index 2ef133da55..d10fcd0472 100644 --- a/doc/src/pair_lj_soft.txt +++ b/doc/src/pair_lj_soft.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -207,10 +207,9 @@ directory tree, under examples/USER/fep. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -222,8 +221,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lubricate.txt b/doc/src/pair_lubricate.txt index b39c7545c7..e9a0a0d291 100644 --- a/doc/src/pair_lubricate.txt +++ b/doc/src/pair_lubricate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -143,7 +143,7 @@ must be specified. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "this section"_Section_accelerate.html of +hardware, as discussed in "this section"_Speed.html of the manual. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues. @@ -157,7 +157,7 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "this section"_Section_accelerate.html of the manual for more +See "this section"_Speed.html of the manual for more instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_lubricateU.txt b/doc/src/pair_lubricateU.txt index 720a8539b8..6b74c208bf 100644 --- a/doc/src/pair_lubricateU.txt +++ b/doc/src/pair_lubricateU.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_mdf.txt b/doc/src/pair_mdf.txt index ca06f1bf8e..e5a8cac845 100644 --- a/doc/src/pair_mdf.txt +++ b/doc/src/pair_mdf.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_meam.txt b/doc/src/pair_meam.txt index c7449428bd..45f88f0bbe 100644 --- a/doc/src/pair_meam.txt +++ b/doc/src/pair_meam.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_meam_spline.txt b/doc/src/pair_meam_spline.txt index 6653b397a0..9615512041 100644 --- a/doc/src/pair_meam_spline.txt +++ b/doc/src/pair_meam_spline.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -106,10 +106,9 @@ MEAM files. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -121,8 +120,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_meam_sw_spline.txt b/doc/src/pair_meam_sw_spline.txt index fa731799dd..ba0953a17c 100644 --- a/doc/src/pair_meam_sw_spline.txt +++ b/doc/src/pair_meam_sw_spline.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_meso.txt b/doc/src/pair_meso.txt index bcdf717d68..ad3880e642 100644 --- a/doc/src/pair_meso.txt +++ b/doc/src/pair_meso.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_mgpt.txt b/doc/src/pair_mgpt.txt index f8b0c9f071..09fe611686 100644 --- a/doc/src/pair_mgpt.txt +++ b/doc/src/pair_mgpt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_mie.txt b/doc/src/pair_mie.txt index ad602db9f1..818e37272b 100644 --- a/doc/src/pair_mie.txt +++ b/doc/src/pair_mie.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_modify.txt b/doc/src/pair_modify.txt index 34dbb5bc3d..c043fde5a7 100644 --- a/doc/src/pair_modify.txt +++ b/doc/src/pair_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_momb.txt b/doc/src/pair_momb.txt index 77c4f184d9..545b650f75 100644 --- a/doc/src/pair_momb.txt +++ b/doc/src/pair_momb.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_morse.txt b/doc/src/pair_morse.txt index 3eb5ac5afe..85a42986ec 100644 --- a/doc/src/pair_morse.txt +++ b/doc/src/pair_morse.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -101,10 +101,9 @@ cutoff is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -116,8 +115,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_multi_lucy.txt b/doc/src/pair_multi_lucy.txt index 38fd1ede4a..31d52a58c8 100644 --- a/doc/src/pair_multi_lucy.txt +++ b/doc/src/pair_multi_lucy.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_multi_lucy_rx.txt b/doc/src/pair_multi_lucy_rx.txt index 57abcf4a4c..e09dde3f80 100644 --- a/doc/src/pair_multi_lucy_rx.txt +++ b/doc/src/pair_multi_lucy_rx.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -204,10 +204,9 @@ This pair style can only be used via the {pair} keyword of the Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -219,8 +218,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_nb3b_harmonic.txt b/doc/src/pair_nb3b_harmonic.txt index 2395707fb4..720b9ea2a1 100644 --- a/doc/src/pair_nb3b_harmonic.txt +++ b/doc/src/pair_nb3b_harmonic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -92,10 +92,9 @@ a particular simulation; LAMMPS ignores those entries. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -107,8 +106,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_nm.txt b/doc/src/pair_nm.txt index 81cea1a38d..355bfd5573 100644 --- a/doc/src/pair_nm.txt +++ b/doc/src/pair_nm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -133,10 +133,9 @@ the "run_style respa"_run_style.html command. They do not support the Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -148,8 +147,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Restrictions:] diff --git a/doc/src/pair_none.txt b/doc/src/pair_none.txt index f4e9525198..960dc05d97 100644 --- a/doc/src/pair_none.txt +++ b/doc/src/pair_none.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_oxdna.txt b/doc/src/pair_oxdna.txt index f272d15a86..5ec9915297 100644 --- a/doc/src/pair_oxdna.txt +++ b/doc/src/pair_oxdna.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_oxdna2.txt b/doc/src/pair_oxdna2.txt index 1b55031b2c..a1d2cfdb7c 100644 --- a/doc/src/pair_oxdna2.txt +++ b/doc/src/pair_oxdna2.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_peri.txt b/doc/src/pair_peri.txt index deca093e3b..14abd4541e 100644 --- a/doc/src/pair_peri.txt +++ b/doc/src/pair_peri.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -139,10 +139,9 @@ details please see the description in "(Mtchell2011a)". Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -154,8 +153,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_polymorphic.txt b/doc/src/pair_polymorphic.txt index c088e8bb22..eb0c30f249 100644 --- a/doc/src/pair_polymorphic.txt +++ b/doc/src/pair_polymorphic.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_python.txt b/doc/src/pair_python.txt index 2f8ed7a27c..1433557e03 100644 --- a/doc/src/pair_python.txt +++ b/doc/src/pair_python.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_quip.txt b/doc/src/pair_quip.txt index 9436b0c4ed..3570a52801 100644 --- a/doc/src/pair_quip.txt +++ b/doc/src/pair_quip.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_reax.txt b/doc/src/pair_reax.txt index 1d13f93706..a3b84955cd 100644 --- a/doc/src/pair_reax.txt +++ b/doc/src/pair_reax.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_reaxc.txt b/doc/src/pair_reaxc.txt index 39759b3111..ec57548640 100644 --- a/doc/src/pair_reaxc.txt +++ b/doc/src/pair_reaxc.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -50,11 +50,11 @@ as a package. The {reax/c/kk} style is a Kokkos version of the ReaxFF potential that is derived from the {reax/c} style. The Kokkos version can run on GPUs and can also use OpenMP multithreading. For more information about the -Kokkos package, see "Section 4"_Section_packages.html#kokkos and -"Section 5.3.3"_accelerate_kokkos.html. One important consideration -when using the {reax/c/kk} style is the choice of either half or full -neighbor lists. This setting can be changed using the Kokkos -"package"_package.html command. +Kokkos package, see "Packages details"_Packages_details.html and +"Speed kokkos"_Speed_kokkos.html doc pages. One important +consideration when using the {reax/c/kk} style is the choice of either +half or full neighbor lists. This setting can be changed using the +Kokkos "package"_package.html command. The {reax/c} style differs from the "pair_style reax"_pair_reax.html command in the lo-level implementation details. The {reax} style is a @@ -303,10 +303,9 @@ This pair style can only be used via the {pair} keyword of the Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -318,8 +317,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_resquared.txt b/doc/src/pair_resquared.txt index 9ad95eb5fc..6e72408ebc 100644 --- a/doc/src/pair_resquared.txt +++ b/doc/src/pair_resquared.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -145,10 +145,9 @@ specified in the pair_style command is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -160,8 +159,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_sdk.txt b/doc/src/pair_sdk.txt index 360136a4ea..ccf704b6f7 100644 --- a/doc/src/pair_sdk.txt +++ b/doc/src/pair_sdk.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -85,10 +85,9 @@ pair_style command. Styles with a {gpu}, {intel}, {kk}, {omp} or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP, and OPT packages respectively. They are only enabled if @@ -100,8 +99,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_smd_hertz.txt b/doc/src/pair_smd_hertz.txt index eeaa3387a4..f2d633903a 100644 --- a/doc/src/pair_smd_hertz.txt +++ b/doc/src/pair_smd_hertz.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_smd_tlsph.txt b/doc/src/pair_smd_tlsph.txt index f73acf74ee..3aeaa31553 100644 --- a/doc/src/pair_smd_tlsph.txt +++ b/doc/src/pair_smd_tlsph.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_smd_triangulated_surface.txt b/doc/src/pair_smd_triangulated_surface.txt index c32bf3a22e..65526cfba8 100644 --- a/doc/src/pair_smd_triangulated_surface.txt +++ b/doc/src/pair_smd_triangulated_surface.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_smd_ulsph.txt b/doc/src/pair_smd_ulsph.txt index 268fe78d02..a5bda54d5f 100644 --- a/doc/src/pair_smd_ulsph.txt +++ b/doc/src/pair_smd_ulsph.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_smtbq.txt b/doc/src/pair_smtbq.txt index c8d6b21b3f..c70202c2e1 100644 --- a/doc/src/pair_smtbq.txt +++ b/doc/src/pair_smtbq.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_snap.txt b/doc/src/pair_snap.txt index 27dcf6082b..f9bd8910e4 100644 --- a/doc/src/pair_snap.txt +++ b/doc/src/pair_snap.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -175,10 +175,9 @@ This pair style can only be used via the {pair} keyword of the Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -190,8 +189,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_soft.txt b/doc/src/pair_soft.txt index 08fa88c477..374711825b 100644 --- a/doc/src/pair_soft.txt +++ b/doc/src/pair_soft.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -82,10 +82,9 @@ variables. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -97,8 +96,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_sph_heatconduction.txt b/doc/src/pair_sph_heatconduction.txt index 2387056a1b..d19c28a3cb 100644 --- a/doc/src/pair_sph_heatconduction.txt +++ b/doc/src/pair_sph_heatconduction.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_sph_idealgas.txt b/doc/src/pair_sph_idealgas.txt index 957f901425..a670949a89 100644 --- a/doc/src/pair_sph_idealgas.txt +++ b/doc/src/pair_sph_idealgas.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_sph_lj.txt b/doc/src/pair_sph_lj.txt index ef89c4ad3e..152e6cf8a2 100644 --- a/doc/src/pair_sph_lj.txt +++ b/doc/src/pair_sph_lj.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_sph_rhosum.txt b/doc/src/pair_sph_rhosum.txt index 352e717f76..3cd1c5abb2 100644 --- a/doc/src/pair_sph_rhosum.txt +++ b/doc/src/pair_sph_rhosum.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_sph_taitwater.txt b/doc/src/pair_sph_taitwater.txt index 9177ca80b8..7b9a8188f2 100644 --- a/doc/src/pair_sph_taitwater.txt +++ b/doc/src/pair_sph_taitwater.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_sph_taitwater_morris.txt b/doc/src/pair_sph_taitwater_morris.txt index e6c5a6bb20..02f16d8982 100644 --- a/doc/src/pair_sph_taitwater_morris.txt +++ b/doc/src/pair_sph_taitwater_morris.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_spin_dmi.txt b/doc/src/pair_spin_dmi.txt index 24877906f3..375e59fe89 100644 --- a/doc/src/pair_spin_dmi.txt +++ b/doc/src/pair_spin_dmi.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -25,24 +25,46 @@ pair_coeff 1 2 dmi 4.0 0.00109 0.0 0.0 1.0 :pre [Description:] Style {spin/dmi} computes the Dzyaloshinskii-Moriya (DM) interaction -between pairs of magnetic spins: +between pairs of magnetic spins. +According to the expression reported in "(Rohart)"_#Rohart, one has +the following DM energy: :c,image(Eqs/pair_spin_dmi_interaction.jpg) where si and sj are two neighboring magnetic spins of two particles, -eij = (ri - rj)/|ri-rj| is the normalized separation vector between the -two particles, and D is the DM vector defining the intensity and the -sign of the interaction. +eij = (ri - rj)/|ri-rj| is the unit vector between sites i and j, +and D is the DM vector defining the intensity (in eV) and the direction +of the interaction. -Examples and more explanations about this interaction and its parametrization are -reported in "(Tranchida)"_#Tranchida5. +In "(Rohart)"_#Rohart, D is defined as the direction normal to the film oriented +from the high spin-orbit layer to the magnetic ultrathin film. -From this DM interaction, each spin i will be submitted to a magnetic torque -omega and its associated atom to a force F (for spin-lattice calculations only). +The application of a spin-lattice Poisson bracket to this energy (as described +in "(Tranchida)"_#Tranchida5) allows to derive a magnetic torque omega, and a +mechanical force F (for spin-lattice calculations only) for each magnetic +particle i: + +:c,image(Eqs/pair_spin_dmi_forces.jpg) More details about the derivation of these torques/forces are reported in "(Tranchida)"_#Tranchida5. +For the {spin/dmi} pair style, the following coefficients must be defined for +each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in +the examples above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html commands, and +set in the following order: + +rc (distance units) +|D| (energy units) +Dx, Dy, Dz (direction of D) :ul + +Note that rc is the radius cutoff of the considered DM interaction, |D| is +the norm of the DM vector (in eV), and Dx, Dy and Dz define its direction. + +None of those coefficients is optional. If not specified, the {spin/dmi} +pair style cannot be used. + :line [Restrictions:] @@ -61,6 +83,9 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :line +:link(Rohart) +[(Rohart)] Rohart and Thiaville, +Physical Review B, 88(18), 184422. (2013). :link(Tranchida5) [(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, (2018). diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index ad3357cb5e..24eb635b81 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -32,18 +32,15 @@ pairs of magnetic spins: where si and sj are two neighboring magnetic spins of two particles, rij = ri - rj is the inter-atomic distance between the two particles, and J(rij) is a function defining the intensity and the sign of the exchange -interaction. - -This function is defined as: +interaction for different neighboring shells. This function is defined as: :c,image(Eqs/pair_spin_exchange_function.jpg) where a, b and d are the three constant coefficients defined in the associated -"pair_coeff" command. +"pair_coeff" command (see below for more explanations). The coefficients a, b, and d need to be fitted so that the function above matches with the value of the exchange interaction for the N neighbor shells taken into account. - Examples and more explanations about this function and its parametrization are reported in "(Tranchida)"_#Tranchida3. @@ -54,11 +51,30 @@ such as: :c,image(Eqs/pair_spin_exchange_forces.jpg) -with h the Planck constant (in metal units). +with h the Planck constant (in metal units), and eij = (ri - rj)/|ri-rj| the unit +vector between sites i and j. More details about the derivation of these torques/forces are reported in "(Tranchida)"_#Tranchida3. +For the {spin/exchange} pair style, the following coefficients must be defined +for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in +the examples above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html commands, and +set in the following order: + +rc (distance units) +a (energy units) +b (adim parameter) +d (distance units) :ul + +Note that rc is the radius cutoff of the considered exchange interaction, +and a, b and d are the three coefficients performing the parametrization +of the function J(rij) defined above. + +None of those coefficients is optional. If not specified, the +{spin/exchange} pair style cannot be used. + :line [Restrictions:] diff --git a/doc/src/pair_spin_magelec.txt b/doc/src/pair_spin_magelec.txt index 8ba24c46af..b338fae5dc 100644 --- a/doc/src/pair_spin_magelec.txt +++ b/doc/src/pair_spin_magelec.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_spin_neel.txt b/doc/src/pair_spin_neel.txt index 8551f8d636..0967632ed2 100644 --- a/doc/src/pair_spin_neel.txt +++ b/doc/src/pair_spin_neel.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_srp.txt b/doc/src/pair_srp.txt index e7f1e00d10..e784ac3d17 100644 --- a/doc/src/pair_srp.txt +++ b/doc/src/pair_srp.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_style.txt b/doc/src/pair_style.txt index 7e29544a70..b0872e6447 100644 --- a/doc/src/pair_style.txt +++ b/doc/src/pair_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -78,22 +78,22 @@ previously specified pair_coeff values. :line Here is an alphabetic list of pair styles defined in LAMMPS. They are -also given in more compact form in the pair section of "this -page"_Section_commands.html#cmd_5. +also listed in more compact form on the "Commands +pair"_Commands_pair.html doc page. Click on the style to display the formula it computes, arguments specified in the pair_style command, and coefficients specified by the associated "pair_coeff"_pair_coeff.html command. There are also additional pair styles (not listed here) submitted by -users which are included in the LAMMPS distribution. The list of -these with links to the individual styles are given in the pair -section of "this page"_Section_commands.html#cmd_5. +users which are included in the LAMMPS distribution. The full list of +all pair styles is on the "Commands pair"_Commands_pair.html doc page. There are also additional accelerated pair styles (not listed here) -included in the LAMMPS distribution for faster performance on CPUs and -GPUs. The list of these with links to the individual styles are given -in the pair section of "this page"_Section_commands.html#cmd_5. +included in the LAMMPS distribution for faster performance on CPUs, +GPUs, and KNLs. The individual style names on the "Commands +pair"_Commands_pair.html doc page are followed by one or more of +(g,i,k,o,t) to indicate which accerlerated styles exist. "pair_style none"_pair_none.html - turn off pairwise interactions "pair_style hybrid"_pair_hybrid.html - multiple styles of pairwise interactions @@ -105,7 +105,7 @@ in the pair section of "this page"_Section_commands.html#cmd_5. "pair_style airebo/morse"_pair_airebo.html - AIREBO with Morse instead of LJ "pair_style atm"_pair_atm.html - Axilrod-Teller-Muto potential "pair_style beck"_pair_beck.html - Beck potential -"pair_style body"_pair_body.html - interactions between body particles +"pair_style body/nparticle"_pair_body_nparticle.html - interactions between body particles "pair_style bop"_pair_bop.html - BOP potential of Pettifor "pair_style born"_pair_born.html - Born-Mayer-Huggins potential "pair_style born/coul/long"_pair_born.html - Born-Mayer-Huggins with long-range Coulombics diff --git a/doc/src/pair_sw.txt b/doc/src/pair_sw.txt index 4932fe55d3..e6741791df 100644 --- a/doc/src/pair_sw.txt +++ b/doc/src/pair_sw.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -144,10 +144,9 @@ taken from the ij and ik pairs (sigma, a, gamma) Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -164,8 +163,8 @@ additional 5 to 10 percent performance improvement when the Stillinger-Weber parameters p and q are set to 4 and 0 respectively. These parameters are common for modeling silicon and water. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_table.txt b/doc/src/pair_table.txt index b99491b477..5e3c1f5ff6 100644 --- a/doc/src/pair_table.txt +++ b/doc/src/pair_table.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -217,10 +217,9 @@ one that matches the specified keyword. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -232,8 +231,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_table_rx.txt b/doc/src/pair_table_rx.txt index cd3a7ef31b..41be067bac 100644 --- a/doc/src/pair_table_rx.txt +++ b/doc/src/pair_table_rx.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -227,10 +227,9 @@ This pair style can only be used via the {pair} keyword of the Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -242,8 +241,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_tersoff.txt b/doc/src/pair_tersoff.txt index 918e889924..821c38f3e4 100644 --- a/doc/src/pair_tersoff.txt +++ b/doc/src/pair_tersoff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -179,10 +179,9 @@ defined in various papers. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -194,8 +193,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_tersoff_mod.txt b/doc/src/pair_tersoff_mod.txt index e0c2b5a5cb..ac1f79a80b 100644 --- a/doc/src/pair_tersoff_mod.txt +++ b/doc/src/pair_tersoff_mod.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -131,10 +131,9 @@ for SiSiSi means Si bonded to a Si with another Si atom influencing the bond. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -146,8 +145,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_tersoff_zbl.txt b/doc/src/pair_tersoff_zbl.txt index 21d57e4e88..a89d4e3ea1 100644 --- a/doc/src/pair_tersoff_zbl.txt +++ b/doc/src/pair_tersoff_zbl.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -189,10 +189,9 @@ providing the base ZBL implementation. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -204,8 +203,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_thole.txt b/doc/src/pair_thole.txt index 41a4059cee..7ce8b7cf4b 100644 --- a/doc/src/pair_thole.txt +++ b/doc/src/pair_thole.txt @@ -9,7 +9,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -45,8 +45,8 @@ pair_style lj/cut/thole/long 2.6 12.0 :pre The {thole} pair styles are meant to be used with force fields that include explicit polarization through Drude dipoles. This link describes how to use the "thermalized Drude oscillator -model"_tutorial_drude.html in LAMMPS and polarizable models in LAMMPS -are discussed in "this Section"_Section_howto.html#howto_25. +model"_Howto_drude.html in LAMMPS and polarizable models in LAMMPS are +discussed on the "Howto polarizable"_Howto_polarizable.html doc page. The {thole} pair style should be used as a sub-style within in the "pair_hybrid/overlay"_pair_hybrid.html command, in conjunction with a @@ -130,10 +130,9 @@ the {pair_style} command line. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -145,8 +144,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. [Mixing]: diff --git a/doc/src/pair_tri_lj.txt b/doc/src/pair_tri_lj.txt index 42a5bbdfe2..3915ffc238 100644 --- a/doc/src/pair_tri_lj.txt +++ b/doc/src/pair_tri_lj.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_ufm.txt b/doc/src/pair_ufm.txt index 88a22864cc..dbc6fd0664 100644 --- a/doc/src/pair_ufm.txt +++ b/doc/src/pair_ufm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -69,10 +69,9 @@ NOTE: The thermodynamic integration procedure can be performed with this potenti Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -84,8 +83,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_vashishta.txt b/doc/src/pair_vashishta.txt index d9c66d45c0..2e404e8bef 100644 --- a/doc/src/pair_vashishta.txt +++ b/doc/src/pair_vashishta.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -171,10 +171,9 @@ two-body parameters from the CCC and CSiSi entries. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -186,8 +185,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_write.txt b/doc/src/pair_write.txt index 9f5970fcbc..48ad76e76e 100644 --- a/doc/src/pair_write.txt +++ b/doc/src/pair_write.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pair_yukawa.txt b/doc/src/pair_yukawa.txt index e7c063ded9..5a8363260a 100644 --- a/doc/src/pair_yukawa.txt +++ b/doc/src/pair_yukawa.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -49,10 +49,9 @@ cutoff is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -64,8 +63,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_yukawa_colloid.txt b/doc/src/pair_yukawa_colloid.txt index 2037a9451f..515062d9eb 100644 --- a/doc/src/pair_yukawa_colloid.txt +++ b/doc/src/pair_yukawa_colloid.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -80,10 +80,9 @@ yukawa/colloid cutoff is used. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -95,8 +94,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_zbl.txt b/doc/src/pair_zbl.txt index 1984cd831f..1472c7b672 100644 --- a/doc/src/pair_zbl.txt +++ b/doc/src/pair_zbl.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -71,10 +71,9 @@ copper. Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available -hardware, as discussed in "Section 5"_Section_accelerate.html -of the manual. The accelerated styles take the same arguments and -should produce the same results, except for round-off and precision -issues. +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if @@ -86,8 +85,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/pair_zero.txt b/doc/src/pair_zero.txt index e58b33c75f..b324003bd1 100644 --- a/doc/src/pair_zero.txt +++ b/doc/src/pair_zero.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/pairs.txt b/doc/src/pairs.txt index 1a5e98a109..4c3eef2cd1 100644 --- a/doc/src/pairs.txt +++ b/doc/src/pairs.txt @@ -10,8 +10,9 @@ Pair Styles :h1 pair_airebo pair_awpmd pair_beck - pair_body + pair_body_nparticle pair_body_rounded_polygon + pair_body_rounded_polyhedron pair_bop pair_born pair_brownian diff --git a/doc/src/partition.txt b/doc/src/partition.txt index 610eee99b3..d4fe06c098 100644 --- a/doc/src/partition.txt +++ b/doc/src/partition.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/prd.txt b/doc/src/prd.txt index 3c0305e316..b2145ebad1 100644 --- a/doc/src/prd.txt +++ b/doc/src/prd.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -69,8 +69,8 @@ simulation with more replicas (partitions) than you have physical processors, e.g you can run a 10-replica simulation on one or two processors. However for PRD, this makes little sense, since running a replica on virtual instead of physical processors,offers no effective -parallel speed-up in searching for infrequent events. See "Section -6.5"_Section_howto.html#howto_5 of the manual for further discussion. +parallel speed-up in searching for infrequent events. See the "Howto +replica"_Howto_replica.html doc page for further discussion. When a PRD simulation is performed, it is assumed that each replica is running the same model, though LAMMPS does not check for this. diff --git a/doc/src/print.txt b/doc/src/print.txt index 77e0c7cfd3..476d4104fa 100644 --- a/doc/src/print.txt +++ b/doc/src/print.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/processors.txt b/doc/src/processors.txt index e54b2cede3..df13ae1f61 100644 --- a/doc/src/processors.txt +++ b/doc/src/processors.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/python.txt b/doc/src/python.txt index d670fcc77f..4f4faca8f4 100644 --- a/doc/src/python.txt +++ b/doc/src/python.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -199,9 +199,9 @@ The {here} keyword does the same thing, except that the Python code follows as a single argument to the {here} keyword. This can be done using triple quotes as delimiters, as in the examples above. This allows Python code to be listed verbatim in your input script, with -proper indentation, blank lines, and comments, as desired. See -"Section 3.2"_Section_commands.html#cmd_2, for an explanation of how -triple quotes can be used as part of input script syntax. +proper indentation, blank lines, and comments, as desired. See the +"Commands parse"_Commands_parse.html doc page, for an explanation of +how triple quotes can be used as part of input script syntax. The {exists} keyword takes no argument. It means that Python code containing the required Python function defined by the {func} setting, diff --git a/doc/src/quit.txt b/doc/src/quit.txt index 843d3de7f3..802df97711 100644 --- a/doc/src/quit.txt +++ b/doc/src/quit.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/read_data.txt b/doc/src/read_data.txt index fd297e36c1..ded51a4d99 100644 --- a/doc/src/read_data.txt +++ b/doc/src/read_data.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -322,9 +322,9 @@ with tilt factors that exceed these limits, you can use the "box tilt"_box.html command, with a setting of {large}; a setting of {small} is the default. -See "Section 6.12"_Section_howto.html#howto_12 of the doc pages -for a geometric description of triclinic boxes, as defined by LAMMPS, -and how to transform these parameters to and from other commonly used +See the "Howto triclinic"_Howto_triclinic.html doc page for a +geometric description of triclinic boxes, as defined by LAMMPS, and +how to transform these parameters to and from other commonly used triclinic representations. When a triclinic system is used, the simulation domain should normally @@ -772,9 +772,9 @@ the "bodies" keyword. Each body can have a variable number of integer and/or floating-point values. The number and meaning of the values is defined by the body -style, as described in the "body"_body.html doc page. The body style -is given as an argument to the "atom_style body"_atom_style.html -command. +style, as described in the "Howto body"_Howto_body.html doc page. The +body style is given as an argument to the "atom_style +body"_atom_style.html command. The Ninteger and Ndouble values determine how many integer and floating-point values are specified for this particle. Ninteger and diff --git a/doc/src/read_dump.txt b/doc/src/read_dump.txt index 21c6df5017..a3c0733e07 100644 --- a/doc/src/read_dump.txt +++ b/doc/src/read_dump.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/read_restart.txt b/doc/src/read_restart.txt index 6f6a828229..488c36f020 100644 --- a/doc/src/read_restart.txt +++ b/doc/src/read_restart.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/region.txt b/doc/src/region.txt index 5039e4a516..21396ae1fd 100644 --- a/doc/src/region.txt +++ b/doc/src/region.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -186,9 +186,9 @@ functions, and include "thermo_style"_thermo_style.html command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent radius. -See "Section 6.12"_Section_howto.html#howto_12 of the doc pages -for a geometric description of triclinic boxes, as defined by LAMMPS, -and how to transform these parameters to and from other commonly used +See the "Howto tricilinc"_Howto_triclinic.html doc page for a +geometric description of triclinic boxes, as defined by LAMMPS, and +how to transform these parameters to and from other commonly used triclinic representations. The {union} style creates a region consisting of the volume of all the @@ -358,12 +358,12 @@ sub-regions can be defined with the {open} keyword. :line -Styles with a {kk} suffix are functionally the same as the -corresponding style without the suffix. They have been optimized to -run faster, depending on your available hardware, as discussed in -"Section 5"_Section_accelerate.html of the manual. The -accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed on the "Speed packages"_Speed_packages.html doc +page. The accelerated styles take the same arguments and should +produce the same results, except for round-off and precision issues. The code using the region (such as a fix or compute) must also be supported by Kokkos or no acceleration will occur. Currently, only {block} style @@ -378,8 +378,8 @@ by including their suffix, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/replicate.txt b/doc/src/replicate.txt index 08523ecdd8..0195dce911 100644 --- a/doc/src/replicate.txt +++ b/doc/src/replicate.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/rerun.txt b/doc/src/rerun.txt index edf94cc711..8eb3ebd5a1 100644 --- a/doc/src/rerun.txt +++ b/doc/src/rerun.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/reset_ids.txt b/doc/src/reset_ids.txt index 8655a9d54f..391b51fde9 100644 --- a/doc/src/reset_ids.txt +++ b/doc/src/reset_ids.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/reset_timestep.txt b/doc/src/reset_timestep.txt index 79a5812ca1..0d518655fb 100644 --- a/doc/src/reset_timestep.txt +++ b/doc/src/reset_timestep.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/restart.txt b/doc/src/restart.txt index 7c39ae1404..6f2dc5ca46 100644 --- a/doc/src/restart.txt +++ b/doc/src/restart.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/run.txt b/doc/src/run.txt index 913d81bb4d..c7c73463d9 100644 --- a/doc/src/run.txt +++ b/doc/src/run.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -127,9 +127,9 @@ be redefined, e.g. to reset a thermostat temperature. Or this could be useful for invoking a command you have added to LAMMPS that wraps some other code (e.g. as a library) to perform a computation periodically during a long LAMMPS run. See the "Modify"_Modify.html -doc page for info about how to add new commands to LAMMPS. See "this -section"_Section_howto.html#howto_10 of the documentation for ideas -about how to couple LAMMPS to other codes. +doc page for info about how to add new commands to LAMMPS. See the +"Howto couple"_Howto_couple.html doc page for ideas about how to +couple LAMMPS to other codes. With the {every} option, N total steps are simulated, in shorter runs of M steps each. After each M-length run, the specified commands are diff --git a/doc/src/run_style.txt b/doc/src/run_style.txt index 7717ede86f..deee51cfd3 100644 --- a/doc/src/run_style.txt +++ b/doc/src/run_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -119,13 +119,13 @@ switches"_Section_start.html#start_6 to change this. The log and screen file for the 2nd partition will not contain thermodynamic output beyond the 1st timestep of the run. -See "Section 5"_Section_accelerate.html of the manual for -performance details of the speed-up offered by the {verlet/split} -style. One important performance consideration is the assignment of -logical processors in the 2 partitions to the physical cores of a -parallel machine. The "processors"_processors.html command has -options to support this, and strategies are discussed in -"Section 5"_Section_accelerate.html of the manual. +See the "Speed packages"_Speed_packages.html doc page for performance +details of the speed-up offered by the {verlet/split} style. One +important performance consideration is the assignment of logical +processors in the 2 partitions to the physical cores of a parallel +machine. The "processors"_processors.html command has options to +support this, and strategies are discussed in "Section +5"_Speed.html of the manual. :line @@ -274,21 +274,21 @@ run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3 :pre :line -The {respa/omp} styles is a variant of {respa} adapted for use with +The {respa/omp} style is a variant of {respa} adapted for use with pair, bond, angle, dihedral, improper, or kspace styles with an {omp} -suffix. It is functionally equivalent to {respa} but performs additional -operations required for managing {omp} styles. For more on {omp} styles -see the "Section 5"_Section_accelerate.html of the manual. -Accelerated styles take the same arguments and should produce the same -results, except for round-off and precision issues. +suffix. It is functionally equivalent to {respa} but performs +additional operations required for managing {omp} styles. For more on +{omp} styles see the "Speed omp"_Speed_omp.html doc page. Accelerated +styles take the same arguments and should produce the same results, +except for round-off and precision issues. You can specify {respa/omp} explicitly in your input script, or you can use the "-suffix command-line switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can use the "suffix"_suffix.html command in your input script. -See "Section 5"_Section_accelerate.html of the manual for -more instructions on how to use the accelerated styles effectively. +See the "Speed packages"_Speed_packages.html doc page for more +instructions on how to use the accelerated styles effectively. :line diff --git a/doc/src/set.txt b/doc/src/set.txt index d2235d5c32..b83ad54f4e 100644 --- a/doc/src/set.txt +++ b/doc/src/set.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/shell.txt b/doc/src/shell.txt index 205164f874..d274f498e5 100644 --- a/doc/src/shell.txt +++ b/doc/src/shell.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/special_bonds.txt b/doc/src/special_bonds.txt index 1021c4856b..a57b61664d 100644 --- a/doc/src/special_bonds.txt +++ b/doc/src/special_bonds.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/suffix.txt b/doc/src/suffix.txt index 74f69b6dfe..bb0619f1e0 100644 --- a/doc/src/suffix.txt +++ b/doc/src/suffix.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/tad.txt b/doc/src/tad.txt index f5e7c6d653..a26ff79318 100644 --- a/doc/src/tad.txt +++ b/doc/src/tad.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -92,9 +92,8 @@ restricts you to having exactly one processor per replica. For more information, see the documentation for the "neb"_neb.html command. In the current LAMMPS implementation of TAD, all the non-NEB TAD operations are performed on the first partition, while the other -partitions remain idle. See "Section -6.5"_Section_howto.html#howto_5 of the manual for further discussion of -multi-replica simulations. +partitions remain idle. See the "Howto replica"_Howto_replica.html doc +page for further discussion of multi-replica simulations. A TAD run has several stages, which are repeated each time an event is performed. The logic for a TAD run is as follows: diff --git a/doc/src/temper.txt b/doc/src/temper.txt index b1c47c8076..c7b482acc6 100644 --- a/doc/src/temper.txt +++ b/doc/src/temper.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -32,14 +32,13 @@ replicas (ensembles) of a system. Two or more replicas must be used. Each replica runs on a partition of one or more processors. Processor partitions are defined at run-time using the -partition command-line -switch; see "Section 2.6"_Section_start.html#start_6 of the -manual. Note that if you have MPI installed, you can run a -multi-replica simulation with more replicas (partitions) than you have -physical processors, e.g you can run a 10-replica simulation on one or -two processors. You will simply not get the performance speed-up you -would see with one or more physical processors per replica. See "this -section"_Section_howto.html#howto_5 of the manual for further -discussion. +switch; see "Section 2.6"_Section_start.html#start_6 of the manual. +Note that if you have MPI installed, you can run a multi-replica +simulation with more replicas (partitions) than you have physical +processors, e.g you can run a 10-replica simulation on one or two +processors. You will simply not get the performance speed-up you +would see with one or more physical processors per replica. See the +"Howto replica"_Howto_replica.html doc page for further discussion. Each replica's temperature is controlled at a different value by a fix with {fix-ID} that controls temperature. Most thermostat fix styles diff --git a/doc/src/temper_grem.txt b/doc/src/temper_grem.txt index 6145c8704c..9cb1bab784 100644 --- a/doc/src/temper_grem.txt +++ b/doc/src/temper_grem.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/temper_npt.txt b/doc/src/temper_npt.txt index 4ad49f9e33..4eee225de7 100644 --- a/doc/src/temper_npt.txt +++ b/doc/src/temper_npt.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line temper/npt command :h3 diff --git a/doc/src/thermo.txt b/doc/src/thermo.txt index 1d5d34995c..5f12f98707 100644 --- a/doc/src/thermo.txt +++ b/doc/src/thermo.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/thermo_modify.txt b/doc/src/thermo_modify.txt index e9aca0f20a..ca2957de77 100644 --- a/doc/src/thermo_modify.txt +++ b/doc/src/thermo_modify.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/thermo_style.txt b/doc/src/thermo_style.txt index 18c5ad5ba1..cbc2612f28 100644 --- a/doc/src/thermo_style.txt +++ b/doc/src/thermo_style.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -286,11 +286,11 @@ takes place. The keywords {cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta}, {cellgamma}, correspond to the usual crystallographic quantities that -define the periodic unit cell of a crystal. See "this -section"_Section_howto.html#howto_12 of the doc pages for a geometric -description of triclinic periodic cells, including a precise definition -of these quantities in terms of the internal LAMMPS cell dimensions -{lx}, {ly}, {lz}, {yz}, {xz}, {xy}. +define the periodic unit cell of a crystal. See the "Howto +triclinic"_Howto_triclinic.html doc page for a geometric description +of triclinic periodic cells, including a precise definition of these +quantities in terms of the internal LAMMPS cell dimensions {lx}, {ly}, +{lz}, {yz}, {xz}, {xy}. :line diff --git a/doc/src/timer.txt b/doc/src/timer.txt index 768c3e1353..10737dbda0 100644 --- a/doc/src/timer.txt +++ b/doc/src/timer.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/timestep.txt b/doc/src/timestep.txt index 639ad6f311..ee0ace05b9 100644 --- a/doc/src/timestep.txt +++ b/doc/src/timestep.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/tutorials.txt b/doc/src/tutorials.txt deleted file mode 100644 index 338439ac8e..0000000000 --- a/doc/src/tutorials.txt +++ /dev/null @@ -1,15 +0,0 @@ -Tutorials :h1 - - diff --git a/doc/src/uncompute.txt b/doc/src/uncompute.txt index 49b46781d7..4c788d4722 100644 --- a/doc/src/uncompute.txt +++ b/doc/src/uncompute.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/undump.txt b/doc/src/undump.txt index a2a371aca5..cc3d8b9103 100644 --- a/doc/src/undump.txt +++ b/doc/src/undump.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/unfix.txt b/doc/src/unfix.txt index dcc4499b20..9608b39c7e 100644 --- a/doc/src/unfix.txt +++ b/doc/src/unfix.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/units.txt b/doc/src/units.txt index 0b856dcc68..8df8fe6810 100644 --- a/doc/src/units.txt +++ b/doc/src/units.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/variable.txt b/doc/src/variable.txt index 717c77c079..c6598ccb51 100644 --- a/doc/src/variable.txt +++ b/doc/src/variable.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -124,8 +124,8 @@ provide, so that the variable gets its value from the evaluation of the Python code. Variables of style {internal} are used by a few commands which set their value directly. -NOTE: As discussed in "Section 3.2"_Section_commands.html#cmd_2 of the -manual, an input script can use "immediate" variables, specified as +NOTE: As discussed on the "Commands parse"_Commands_parse.html doc +page, an input script can use "immediate" variables, specified as $(formula) with parenthesis, where the formula has the same syntax as equal-style variables described on this page. This is a convenient way to evaluate a formula immediately without using the variable @@ -198,7 +198,7 @@ the same thing. :line -"This section"_Section_commands.html#cmd_2 of the manual explains how +The "Commands parse"_Commands_parse.html doc page explains how occurrences of a variable name in an input script line are replaced by the variable's string. The variable name can be referenced as $x if the name "x" is a single character, or as $\{LoopVar\} if the name @@ -312,8 +312,8 @@ If you simply wish to print a variable value with desired precision to the screen or logfile via the "print"_print.html or "fix print"_fix_print.html commands, you can also do this by specifying an "immediate" variable with a trailing colon and format string, as part -of the string argument of those commands. This is explained in -"Section 3.2"_Section_commands.html#cmd_2. +of the string argument of those commands. This is explained on the +"Commands parse"_Commands_parse.html doc page. For the {getenv} style, a single string is assigned to the variable which should be the name of an environment variable. When the @@ -1119,24 +1119,23 @@ Vectors" discussion above. If you want an equal-style variable to be evaluated immediately, it may be the case that you do not need to define a variable at all. See -"Section 3.2"_Section_commands.html#cmd_2 of the manual, which -describes the use of "immediate" variables in an input script, -specified as $(formula) with parenthesis, where the formula has the -same syntax as equal-style variables described on this page. This -effectively evaluates a formula immediately without using the variable -command to define a named variable. +the "Commands parse"_Commands_parse.html doc page for info on how to +use "immediate" variables in an input script, specified as $(formula) +with parenthesis, where the formula has the same syntax as equal-style +variables described on this page. This effectively evaluates a +formula immediately without using the variable command to define a +named variable. More generally, there is a difference between referencing a variable with a leading $ sign (e.g. $x or $\{abc\}) versus with a leading "v_" (e.g. v_x or v_abc). The former can be used in any input script command, including a variable command. The input script parser evaluates the reference variable immediately and substitutes its value -into the command. As explained in "Section -3.2"_Section_commands.html#cmd_2 for "Parsing rules", you can also use -un-named "immediate" variables for this purpose. For example, a -string like this $((xlo+xhi)/2+sqrt(v_area)) in an input script -command evaluates the string between the parenthesis as an equal-style -variable formula. +into the command. As explained on the "Commands +parse"_Commands_parse.html doc page, you can also use un-named +"immediate" variables for this purpose. For example, a string like +this $((xlo+xhi)/2+sqrt(v_area)) in an input script command evaluates +the string between the parenthesis as an equal-style variable formula. Referencing a variable with a leading "v_" is an optional or required kind of argument for some commands (e.g. the "fix @@ -1180,10 +1179,9 @@ quotes if it contains variables preceded by $ signs. For example, variable vratio equal "$\{vfinal\}/$\{v0\}" :pre -This is because the quotes prevent variable substitution (see "this -section"_Section_commands.html#cmd_2 on parsing input script -commands), and thus an error will occur when the formula for "vratio" -is evaluated later. +This is because the quotes prevent variable substitution (explained on +the "Commands parse"_Commands_parse.html doc page), and thus an error +will occur when the formula for "vratio" is evaluated later. :line diff --git a/doc/src/velocity.txt b/doc/src/velocity.txt index b8299a5acf..96d3fa6dc4 100644 --- a/doc/src/velocity.txt +++ b/doc/src/velocity.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -139,10 +139,9 @@ if rot = yes, the angular momentum is zeroed. If specified, the {temp} keyword is used by {create} and {scale} to specify a "compute"_compute.html that calculates temperature in a desired way, e.g. by first subtracting out a velocity bias, as -discussed in "Section 6.16"_Section_howto.html#howto_16 of the doc -pages. If this keyword is not specified, {create} and {scale} -calculate temperature using a compute that is defined internally as -follows: +discussed on the "Howto thermostat"_Howto_thermostat.html doc page. +If this keyword is not specified, {create} and {scale} calculate +temperature using a compute that is defined internally as follows: compute velocity_temp group-ID temp :pre @@ -161,11 +160,11 @@ The {bias} keyword with a {yes} setting is used by {create} and If the temperature compute also calculates a velocity bias, the the bias is subtracted from atom velocities before the {create} and {scale} operations are performed. After the operations, the bias is -added back to the atom velocities. See "Section -6.16"_Section_howto.html#howto_16 of the doc pages for more discussion -of temperature computes with biases. Note that the velocity bias is -only applied to atoms in the temperature compute specified with the -{temp} keyword. +added back to the atom velocities. See the "Howto +thermostat"_Howto_thermostat.html doc page for more discussion of +temperature computes with biases. Note that the velocity bias is only +applied to atoms in the temperature compute specified with the {temp} +keyword. As an example, assume atoms are currently streaming in a flow direction (which could be separately initialized with the {ramp} diff --git a/doc/src/write_coeff.txt b/doc/src/write_coeff.txt index 764e119a9d..5dc4b331de 100644 --- a/doc/src/write_coeff.txt +++ b/doc/src/write_coeff.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/write_data.txt b/doc/src/write_data.txt index c76f20319c..d8a33f457f 100644 --- a/doc/src/write_data.txt +++ b/doc/src/write_data.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/write_dump.txt b/doc/src/write_dump.txt index 840716085f..e676979001 100644 --- a/doc/src/write_dump.txt +++ b/doc/src/write_dump.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/src/write_restart.txt b/doc/src/write_restart.txt index ff3b652dba..3935a5d538 100644 --- a/doc/src/write_restart.txt +++ b/doc/src/write_restart.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line diff --git a/doc/utils/converters/lammpsdoc/txt2html.py b/doc/utils/converters/lammpsdoc/txt2html.py index 79a75d72f6..ed9f47a4e4 100755 --- a/doc/utils/converters/lammpsdoc/txt2html.py +++ b/doc/utils/converters/lammpsdoc/txt2html.py @@ -662,14 +662,15 @@ class TxtConverter: parser = self.get_argument_parser() parsed_args = parser.parse_args(args) - write_to_files = len(parsed_args.files) > 1 + write_to_files = parsed_args.output_dir or (len(parsed_args.files) > 1) for filename in parsed_args.files: if parsed_args.skip_files and filename in parsed_args.skip_files: continue with open(filename, 'r') as f: - print("Converting", filename, "...", file=err) + if parsed_args.verbose: + print("Converting", filename, "...", file=err) content = f.read() converter = self.create_converter(parsed_args) @@ -683,7 +684,10 @@ class TxtConverter: result = msg if write_to_files: - output_filename = self.get_output_filename(filename) + if parsed_args.output_dir: + output_filename = os.path.join(parsed_args.output_dir, os.path.basename(self.get_output_filename(filename))) + else: + output_filename = self.get_output_filename(filename) with open(output_filename, "w+t") as outfile: outfile.write(result) else: @@ -698,6 +702,8 @@ class Txt2HtmlConverter(TxtConverter): 'HTML file. useful when set of HTML files' ' will be converted to PDF') parser.add_argument('-x', metavar='file-to-skip', dest='skip_files', action='append') + parser.add_argument('--verbose', '-v', dest='verbose', action='store_true') + parser.add_argument('--output-directory', '-o', dest='output_dir') parser.add_argument('--generate-title', dest='create_title', action='store_true', help='add HTML head page' 'title based on first ' 'h1,h2,h3,h4... element') diff --git a/doc/utils/converters/lammpsdoc/txt2rst.py b/doc/utils/converters/lammpsdoc/txt2rst.py index 17d0916157..8119ad3a78 100755 --- a/doc/utils/converters/lammpsdoc/txt2rst.py +++ b/doc/utils/converters/lammpsdoc/txt2rst.py @@ -395,6 +395,8 @@ class Txt2RstConverter(TxtConverter): parser = argparse.ArgumentParser(description='converts a text file with simple formatting & markup into ' 'Restructured Text for Sphinx.') parser.add_argument('-x', metavar='file-to-skip', dest='skip_files', action='append') + parser.add_argument('--verbose', '-v', dest='verbose', action='store_true') + parser.add_argument('--output-directory', '-o', dest='output_dir') parser.add_argument('files', metavar='file', nargs='+', help='one or more files to convert') return parser diff --git a/doc/utils/requirements.txt b/doc/utils/requirements.txt new file mode 100644 index 0000000000..2806c16498 --- /dev/null +++ b/doc/utils/requirements.txt @@ -0,0 +1 @@ +Sphinx diff --git a/examples/DIFFUSE/README b/examples/DIFFUSE/README index df2a675f73..e78ca2eacf 100644 --- a/examples/DIFFUSE/README +++ b/examples/DIFFUSE/README @@ -47,7 +47,7 @@ compute the diffusion coefficient. You can see that both measures give roughly the same answer and rapidly become roughly constant for the 100K step simulation. -Dcoeff = 0.36 +Dcoeff = 0.33 (2) in.vacf.2d @@ -58,4 +58,4 @@ that point in time, converted into the diffusion coefficient. You can see the VACF approach gives a more noise, fluctuating value for the diffusion coefficient, compared to the MSD approach. -Dcoeff = 0.25 to 0.45 +Dcoeff = ~0.25 diff --git a/examples/DIFFUSE/log.13Oct16.msd.2d.g++.8 b/examples/DIFFUSE/log.13Oct16.msd.2d.g++.8 deleted file mode 100644 index 473aa56527..0000000000 --- a/examples/DIFFUSE/log.13Oct16.msd.2d.g++.8 +++ /dev/null @@ -1,245 +0,0 @@ -LAMMPS (13 Oct 2016) -# sample LAMMPS input script for diffusion of 2d LJ liquid -# mean-squared displacement via compute msd - -# settings - -variable x equal 40 -variable y equal 40 - -variable rho equal 0.6 -variable t equal 1.0 -variable rc equal 2.5 - -# problem setup - -units lj -dimension 2 -atom_style atomic -neigh_modify delay 0 every 1 - -lattice sq2 ${rho} -lattice sq2 0.6 -Lattice spacing in x,y,z = 1.82574 1.82574 1.82574 -region simbox block 0 $x 0 $y -0.1 0.1 -region simbox block 0 40 0 $y -0.1 0.1 -region simbox block 0 40 0 40 -0.1 0.1 -create_box 1 simbox -Created orthogonal box = (0 0 -0.182574) to (73.0297 73.0297 0.182574) - 4 by 2 by 1 MPI processor grid -create_atoms 1 box -Created 3200 atoms - -pair_style lj/cut ${rc} -pair_style lj/cut 2.5 -pair_coeff * * 1 1 - -mass * 1.0 -velocity all create $t 97287 -velocity all create 1 97287 - -fix 1 all nve -fix 2 all langevin $t $t 0.1 498094 -fix 2 all langevin 1 $t 0.1 498094 -fix 2 all langevin 1 1 0.1 498094 -fix 3 all enforce2d - -# equilibration run - -thermo 1000 -run 5000 -Neighbor list info ... - 1 neighbor list requests - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4 -> bins = 53 53 1 -Memory usage per processor = 2.478 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -1.56492 0 -0.5652325 -1.5346995 - 1000 0.97537833 -1.5723957 0 -0.5973222 0.92877783 - 2000 0.99008371 -1.5748206 0 -0.58504633 1.0809416 - 3000 1.0111412 -1.5848987 0 -0.57407352 1.0174297 - 4000 1.0055417 -1.5857581 0 -0.58053054 0.95647691 - 5000 0.97069905 -1.5851114 0 -0.61471567 0.90108287 -Loop time of 0.554412 on 8 procs for 5000 steps with 3200 atoms - -Performance: 3896017.421 tau/day, 9018.559 timesteps/s -98.9% CPU use with 8 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.23992 | 0.24608 | 0.25161 | 0.7 | 44.39 -Neigh | 0.063106 | 0.064417 | 0.066279 | 0.4 | 11.62 -Comm | 0.072465 | 0.085066 | 0.094837 | 2.3 | 15.34 -Output | 0.00013208 | 0.00013691 | 0.00014591 | 0.0 | 0.02 -Modify | 0.11441 | 0.11621 | 0.11769 | 0.3 | 20.96 -Other | | 0.04251 | | | 7.67 - -Nlocal: 400 ave 406 max 394 min -Histogram: 1 1 0 1 0 2 1 0 1 1 -Nghost: 202.5 ave 212 max 191 min -Histogram: 1 0 0 0 3 1 0 2 0 1 -Neighs: 2800.88 ave 2903 max 2690 min -Histogram: 1 1 0 0 1 2 1 0 1 1 - -Total # of neighbors = 22407 -Ave neighs/atom = 7.00219 -Neighbor list builds = 599 -Dangerous builds = 0 - -unfix 2 - -# data gathering run - -reset_timestep 0 - -# factor of 4 in 2 variables is for 2d - -compute msd all msd com yes -variable twopoint equal c_msd[4]/4/(step*dt+1.0e-6) -fix 9 all vector 10 c_msd[4] -variable fitslope equal slope(f_9)/4/(10*dt) - -thermo_style custom step temp c_msd[4] v_twopoint v_fitslope - -# only need to run for 10K steps to make a good 100-frame movie - -#dump 1 all custom 1 tmp.dump id type vx vy vz - -#dump 2 all image 100 image.*.jpg type type zoom 1.6 adiam 1.2 - -thermo 1000 -run 100000 -Memory usage per processor = 2.853 Mbytes -Step Temp c_msd[4] v_twopoint v_fitslope - 0 0.97069905 0 0 5e+20 - 1000 0.98138076 4.0484996 0.20242494 0.18046446 - 2000 0.97606079 9.2121392 0.23030346 0.2091528 - 3000 0.97924866 14.815034 0.24691721 0.22619184 - 4000 0.98568451 20.516817 0.25646019 0.23715506 - 5000 0.97551815 27.33922 0.27339219 0.24709999 - 6000 0.98482252 34.37734 0.28647782 0.25735178 - 7000 0.9672559 41.696689 0.29783348 0.26654059 - 8000 0.9836541 48.340277 0.30212673 0.27440308 - 9000 0.99087147 56.042692 0.31134828 0.28113047 - 10000 0.99663166 63.69663 0.31848314 0.28767921 - 11000 0.97776688 71.144109 0.32338231 0.29344527 - 12000 0.98246011 78.301774 0.32625739 0.29849471 - 13000 0.98788732 85.061923 0.32716124 0.3026655 - 14000 0.96872483 91.1658 0.32559214 0.30601023 - 15000 0.98955796 97.278388 0.32426129 0.3084275 - 16000 0.99855196 104.23997 0.3257499 0.31049883 - 17000 0.98600861 110.66055 0.3254722 0.31220348 - 18000 0.98696963 116.90111 0.32472531 0.31352676 - 19000 0.9881192 124.21305 0.32687644 0.31480062 - 20000 0.98527319 131.09874 0.32774685 0.31596198 - 21000 0.99015191 137.89263 0.32831579 0.31705324 - 22000 0.97972418 146.68982 0.33338595 0.31833889 - 23000 0.98911012 155.1264 0.33723129 0.31979515 - 24000 0.98810498 162.88634 0.33934653 0.32131187 - 25000 0.96961962 170.37907 0.34075814 0.32276215 - 26000 0.99118408 179.26511 0.34474059 0.32427111 - 27000 0.98515159 185.90764 0.3442734 0.32574529 - 28000 0.98951677 192.12183 0.34307469 0.32700292 - 29000 0.9832026 196.99457 0.33964581 0.32799023 - 30000 0.98449493 203.48475 0.33914124 0.3287171 - 31000 0.96585993 210.06193 0.33880956 0.32935775 - 32000 0.98758117 218.94174 0.34209646 0.33001591 - 33000 0.98875584 225.96489 0.34237104 0.33072947 - 34000 0.98007229 233.5792 0.34349882 0.3314385 - 35000 0.98415295 241.98148 0.34568783 0.33216634 - 36000 0.98101154 250.30876 0.34765106 0.33295272 - 37000 0.97606878 258.2127 0.34893608 0.33377673 - 38000 0.97220293 266.40464 0.35053242 0.33459273 - 39000 0.979783 272.8578 0.34981769 0.33539728 - 40000 0.98375673 279.87598 0.34984497 0.33609699 - 41000 0.97506523 288.07676 0.35131312 0.33677708 - 42000 0.97106749 296.11647 0.3525196 0.33751312 - 43000 0.97717259 304.46747 0.35403194 0.33823441 - 44000 0.98541435 312.57228 0.35519578 0.3389771 - 45000 0.97678287 321.82674 0.35758527 0.33973306 - 46000 0.98169719 329.78197 0.35845866 0.34051748 - 47000 0.99471466 337.11283 0.35863066 0.34127239 - 48000 0.98332437 346.0754 0.3604952 0.34202442 - 49000 0.98126947 356.11859 0.36338631 0.34282132 - 50000 0.98809751 365.65248 0.36565248 0.34368171 - 51000 0.95919516 373.91833 0.36658659 0.34454516 - 52000 0.98097913 381.26492 0.36660089 0.34538506 - 53000 0.97774072 388.81031 0.36680218 0.34618232 - 54000 0.99096915 395.56767 0.36626636 0.3469296 - 55000 0.97652739 401.72735 0.36520668 0.34760374 - 56000 0.99185306 407.28834 0.3636503 0.34819906 - 57000 0.96289342 414.75298 0.3638184 0.34871992 - 58000 0.97871716 424.69443 0.36611588 0.34927986 - 59000 0.98637393 433.14205 0.36706953 0.34986296 - 60000 0.98009845 438.14533 0.36512111 0.35040349 - 61000 0.99416712 446.08007 0.3656394 0.35088379 - 62000 0.97612483 450.90846 0.36363585 0.35132647 - 63000 0.97786531 455.36749 0.36140277 0.35167458 - 64000 0.99080668 458.04873 0.35785057 0.3519105 - 65000 0.97952497 461.31241 0.3548557 0.3520506 - 66000 0.98095955 463.91727 0.35145248 0.35207764 - 67000 0.98370788 468.93 0.34994776 0.35204043 - 68000 0.96931818 471.07765 0.34638063 0.35192685 - 69000 0.98512552 474.59146 0.34390685 0.35174053 - 70000 0.98065743 478.66071 0.3419005 0.35149002 - 71000 0.98971283 482.57357 0.33984054 0.35119434 - 72000 0.99890324 485.32018 0.3370279 0.35084345 - 73000 0.98649924 490.19497 0.33574998 0.35043722 - 74000 0.98723422 496.04991 0.33516886 0.35003351 - 75000 1.0025633 501.6313 0.33442087 0.34962094 - 76000 0.97859959 505.97813 0.33288035 0.34921013 - 77000 0.97973006 510.55334 0.33152814 0.3487692 - 78000 0.9903944 515.06966 0.33017286 0.34830833 - 79000 0.96847518 518.76483 0.32833217 0.3478214 - 80000 0.99171112 524.18127 0.32761329 0.34733349 - 81000 0.97202573 529.09959 0.32660468 0.3468315 - 82000 0.99368438 535.80271 0.32670897 0.34633058 - 83000 0.97932483 543.08233 0.32715803 0.34586259 - 84000 0.99078651 547.57861 0.32593965 0.34540839 - 85000 0.98973457 552.24581 0.32485048 0.34493584 - 86000 0.9835873 557.3493 0.32404029 0.34446152 - 87000 0.97180564 564.93434 0.32467491 0.34400358 - 88000 0.99743353 571.39837 0.32465817 0.3435667 - 89000 0.98993437 577.81703 0.32461631 0.3431411 - 90000 0.9926071 583.39378 0.32410765 0.342724 - 91000 0.98800458 591.08741 0.3247733 0.34232767 - 92000 0.98501879 596.10133 0.32396811 0.34193949 - 93000 0.98810082 604.02652 0.32474544 0.3415681 - 94000 0.97563748 609.43676 0.32416849 0.341209 - 95000 0.97283448 615.15754 0.32376713 0.34084828 - 96000 0.9883071 622.30912 0.32411933 0.34049871 - 97000 0.97717678 628.84457 0.32414669 0.34016355 - 98000 0.97190208 634.37377 0.32366009 0.3398341 - 99000 0.98687379 640.66666 0.32356902 0.33950845 - 100000 0.97559757 646.96406 0.32348203 0.33919036 -Loop time of 9.58779 on 8 procs for 100000 steps with 3200 atoms - -Performance: 4505729.040 tau/day, 10429.928 timesteps/s -99.4% CPU use with 8 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 4.8572 | 4.9363 | 4.9822 | 1.7 | 51.49 -Neigh | 1.3583 | 1.376 | 1.3991 | 1.2 | 14.35 -Comm | 1.5192 | 1.7079 | 1.8264 | 7.2 | 17.81 -Output | 0.0085125 | 0.0086059 | 0.0089455 | 0.1 | 0.09 -Modify | 0.77663 | 0.7903 | 0.81378 | 1.3 | 8.24 -Other | | 0.7686 | | | 8.02 - -Nlocal: 400 ave 413 max 391 min -Histogram: 2 1 0 2 0 0 1 1 0 1 -Nghost: 204.75 ave 213 max 197 min -Histogram: 1 1 0 1 0 3 0 1 0 1 -Neighs: 2800.62 ave 2959 max 2661 min -Histogram: 1 1 1 2 0 0 0 1 1 1 - -Total # of neighbors = 22405 -Ave neighs/atom = 7.00156 -Neighbor list builds = 12728 -Dangerous builds = 0 -Total wall time: 0:00:10 diff --git a/examples/DIFFUSE/log.3Aug18.msd.2d.g++.8 b/examples/DIFFUSE/log.3Aug18.msd.2d.g++.8 new file mode 100644 index 0000000000..113da9040d --- /dev/null +++ b/examples/DIFFUSE/log.3Aug18.msd.2d.g++.8 @@ -0,0 +1,251 @@ +LAMMPS (2 Aug 2018) +# sample LAMMPS input script for diffusion of 2d LJ liquid +# mean-squared displacement via compute msd + +# settings + +variable x equal 40 +variable y equal 40 + +variable rho equal 0.6 +variable t equal 1.0 +variable rc equal 2.5 + +# problem setup + +units lj +dimension 2 +atom_style atomic +neigh_modify delay 0 every 1 + +lattice sq2 ${rho} +lattice sq2 0.6 +Lattice spacing in x,y,z = 1.82574 1.82574 1.82574 +region simbox block 0 $x 0 $y -0.1 0.1 +region simbox block 0 40 0 $y -0.1 0.1 +region simbox block 0 40 0 40 -0.1 0.1 +create_box 1 simbox +Created orthogonal box = (0 0 -0.182574) to (73.0297 73.0297 0.182574) + 4 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 3200 atoms + Time spent = 0.000706911 secs + +pair_style lj/cut ${rc} +pair_style lj/cut 2.5 +pair_coeff * * 1 1 + +mass * 1.0 +velocity all create $t 97287 +velocity all create 1 97287 + +fix 1 all nve +fix 2 all langevin $t $t 0.1 498094 +fix 2 all langevin 1 $t 0.1 498094 +fix 2 all langevin 1 1 0.1 498094 +fix 3 all enforce2d + +# equilibration run + +thermo 1000 +run 5000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 53 53 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.052 | 3.052 | 3.052 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1 -1.56492 0 -0.5652325 -1.5346995 + 1000 0.97537833 -1.5723957 0 -0.5973222 0.92877783 + 2000 0.99008371 -1.5748206 0 -0.58504633 1.0809416 + 3000 1.0111412 -1.5848987 0 -0.57407352 1.0174297 + 4000 1.0055417 -1.5857581 0 -0.58053054 0.95647691 + 5000 0.97069905 -1.5851114 0 -0.61471567 0.90108287 +Loop time of 0.667446 on 8 procs for 5000 steps with 3200 atoms + +Performance: 3236214.756 tau/day, 7491.238 timesteps/s +99.9% CPU use with 8 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.22913 | 0.24877 | 0.28382 | 3.6 | 37.27 +Neigh | 0.064419 | 0.071256 | 0.080013 | 1.7 | 10.68 +Comm | 0.103 | 0.14054 | 0.17204 | 5.5 | 21.06 +Output | 0.00010705 | 0.00013995 | 0.00021911 | 0.0 | 0.02 +Modify | 0.13457 | 0.14973 | 0.16887 | 2.6 | 22.43 +Other | | 0.05701 | | | 8.54 + +Nlocal: 400 ave 406 max 394 min +Histogram: 1 1 0 1 0 2 1 0 1 1 +Nghost: 202.5 ave 212 max 191 min +Histogram: 1 0 0 0 3 1 0 2 0 1 +Neighs: 2800.88 ave 2903 max 2690 min +Histogram: 1 1 0 0 1 2 1 0 1 1 + +Total # of neighbors = 22407 +Ave neighs/atom = 7.00219 +Neighbor list builds = 599 +Dangerous builds = 0 + +unfix 2 + +# data gathering run + +reset_timestep 0 + +# factor of 4 in 2 variables is for 2d + +compute msd all msd com yes +variable twopoint equal c_msd[4]/4/(step*dt+1.0e-6) +fix 9 all vector 10 c_msd[4] +variable fitslope equal slope(f_9)/4/(10*dt) + +thermo_style custom step temp c_msd[4] v_twopoint v_fitslope + +# only need to run for 10K steps to make a good 100-frame movie + +#dump 1 all custom 1 tmp.dump id type vx vy vz + +#dump 2 all image 100 image.*.jpg type type zoom 1.6 adiam 1.2 + +thermo 1000 +run 100000 +Per MPI rank memory allocation (min/avg/max) = 3.427 | 3.427 | 3.427 Mbytes +Step Temp c_msd[4] v_twopoint v_fitslope + 0 0.97069905 0 0 5e+20 + 1000 0.98138076 4.0484996 0.20242494 0.20685564 + 2000 0.97606079 9.2121392 0.23030346 0.23687918 + 3000 0.97924866 14.815034 0.24691721 0.25405247 + 4000 0.98568451 20.516817 0.25646019 0.26353644 + 5000 0.97551815 27.33922 0.27339219 0.27544492 + 6000 0.98482252 34.37734 0.28647782 0.28966619 + 7000 0.9672559 41.696689 0.29783348 0.30165524 + 8000 0.9836541 48.340277 0.30212673 0.31085371 + 9000 0.99087147 56.042692 0.31134828 0.31811489 + 10000 0.99663166 63.69663 0.31848314 0.32589374 + 11000 0.97776688 71.144109 0.32338231 0.33219745 + 12000 0.98246011 78.301774 0.32625739 0.33723 + 13000 0.98788732 85.061923 0.32716124 0.34053027 + 14000 0.96872483 91.1658 0.32559214 0.34231162 + 15000 0.98955796 97.278388 0.32426129 0.34229511 + 16000 0.99855196 104.23997 0.3257499 0.34217252 + 17000 0.98600861 110.66055 0.3254722 0.34172446 + 18000 0.98696963 116.90111 0.32472531 0.3408227 + 19000 0.9881192 124.21305 0.32687644 0.34036538 + 20000 0.98527319 131.09874 0.32774685 0.34003478 + 21000 0.99015191 137.89263 0.32831579 0.33987868 + 22000 0.97972418 146.68982 0.33338595 0.34060035 + 23000 0.98911012 155.1264 0.33723129 0.34201036 + 24000 0.98810498 162.88634 0.33934653 0.34371488 + 25000 0.96961962 170.37907 0.34075814 0.34531409 + 26000 0.99118408 179.26511 0.34474059 0.34717195 + 27000 0.98515159 185.90764 0.3442734 0.34898035 + 28000 0.98951677 192.12183 0.34307469 0.35021808 + 29000 0.9832026 196.99457 0.33964581 0.35075459 + 30000 0.98449493 203.48475 0.33914124 0.35066186 + 31000 0.96585993 210.06193 0.33880956 0.35046715 + 32000 0.98758117 218.94174 0.34209646 0.35046623 + 33000 0.98875584 225.96489 0.34237104 0.35073944 + 34000 0.98007229 233.5792 0.34349882 0.35109188 + 35000 0.98415295 241.98148 0.34568783 0.35157879 + 36000 0.98101154 250.30876 0.34765106 0.3523013 + 37000 0.97606878 258.2127 0.34893608 0.35318097 + 38000 0.97220293 266.40464 0.35053242 0.3540743 + 39000 0.979783 272.8578 0.34981769 0.35496561 + 40000 0.98375673 279.87598 0.34984497 0.35558182 + 41000 0.97506523 288.07676 0.35131312 0.35618259 + 42000 0.97106749 296.11647 0.3525196 0.35698571 + 43000 0.97717259 304.46747 0.35403194 0.3577736 + 44000 0.98541435 312.57228 0.35519578 0.35865003 + 45000 0.97678287 321.82674 0.35758527 0.35958623 + 46000 0.98169719 329.78197 0.35845866 0.36062236 + 47000 0.99471466 337.11283 0.35863066 0.36158322 + 48000 0.98332437 346.0754 0.3604952 0.36255042 + 49000 0.98126947 356.11859 0.36338631 0.3636628 + 50000 0.98809751 365.65248 0.36565248 0.36496809 + 51000 0.95919516 373.91833 0.36658659 0.36628073 + 52000 0.98097913 381.26492 0.36660089 0.36752237 + 53000 0.97774072 388.81031 0.36680218 0.36863962 + 54000 0.99096915 395.56767 0.36626636 0.36961521 + 55000 0.97652739 401.72735 0.36520668 0.37038579 + 56000 0.99185306 407.28834 0.3636503 0.37094092 + 57000 0.96289342 414.75298 0.3638184 0.37130039 + 58000 0.97871716 424.69443 0.36611588 0.37180428 + 59000 0.98637393 433.14205 0.36706953 0.37239862 + 60000 0.98009845 438.14533 0.36512111 0.37288487 + 61000 0.99416712 446.08007 0.3656394 0.37321496 + 62000 0.97612483 450.90846 0.36363585 0.37345792 + 63000 0.97786531 455.36749 0.36140277 0.37344803 + 64000 0.99080668 458.04873 0.35785057 0.37313914 + 65000 0.97952497 461.31241 0.3548557 0.3725875 + 66000 0.98095955 463.91727 0.35145248 0.37174735 + 67000 0.98370788 468.93 0.34994776 0.37076942 + 68000 0.96931818 471.07765 0.34638063 0.36961868 + 69000 0.98512552 474.59146 0.34390685 0.36830908 + 70000 0.98065743 478.66071 0.3419005 0.36686789 + 71000 0.98971283 482.57357 0.33984054 0.36535224 + 72000 0.99890324 485.32018 0.3370279 0.36373174 + 73000 0.98649924 490.19497 0.33574998 0.36200692 + 74000 0.98723422 496.04991 0.33516886 0.36034919 + 75000 1.0025633 501.6313 0.33442087 0.35872052 + 76000 0.97859959 505.97813 0.33288035 0.35714939 + 77000 0.97973006 510.55334 0.33152814 0.35553808 + 78000 0.9903944 515.06966 0.33017286 0.35391584 + 79000 0.96847518 518.76483 0.32833217 0.35226287 + 80000 0.99171112 524.18127 0.32761329 0.35065267 + 81000 0.97202573 529.09959 0.32660468 0.34904364 + 82000 0.99368438 535.80271 0.32670897 0.34747913 + 83000 0.97932483 543.08233 0.32715803 0.34605097 + 84000 0.99078651 547.57861 0.32593965 0.34469765 + 85000 0.98973457 552.24581 0.32485048 0.34332115 + 86000 0.9835873 557.3493 0.32404029 0.34197018 + 87000 0.97180564 564.93434 0.32467491 0.34069702 + 88000 0.99743353 571.39837 0.32465817 0.33951258 + 89000 0.98993437 577.81703 0.32461631 0.33838511 + 90000 0.9926071 583.39378 0.32410765 0.33730429 + 91000 0.98800458 591.08741 0.3247733 0.33630505 + 92000 0.98501879 596.10133 0.32396811 0.33534725 + 93000 0.98810082 604.02652 0.32474544 0.33445545 + 94000 0.97563748 609.43676 0.32416849 0.33361404 + 95000 0.97283448 615.15754 0.32376713 0.33278044 + 96000 0.9883071 622.30912 0.32411933 0.33199212 + 97000 0.97717678 628.84457 0.32414669 0.33125729 + 98000 0.97190208 634.37377 0.32366009 0.33054877 + 99000 0.98687379 640.66666 0.32356902 0.32986014 + 100000 0.97559757 646.96406 0.32348203 0.32920186 +Loop time of 7.61838 on 8 procs for 100000 steps with 3200 atoms + +Performance: 5670494.518 tau/day, 13126.145 timesteps/s +100.0% CPU use with 8 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.5458 | 3.6709 | 3.8234 | 4.3 | 48.19 +Neigh | 1.1363 | 1.1513 | 1.1753 | 1.0 | 15.11 +Comm | 1.5901 | 1.7017 | 1.8664 | 6.9 | 22.34 +Output | 0.0041966 | 0.0043583 | 0.0050626 | 0.4 | 0.06 +Modify | 0.63816 | 0.65537 | 0.68918 | 2.0 | 8.60 +Other | | 0.4348 | | | 5.71 + +Nlocal: 400 ave 413 max 391 min +Histogram: 2 1 0 2 0 0 1 1 0 1 +Nghost: 204.75 ave 213 max 197 min +Histogram: 1 1 0 1 0 3 0 1 0 1 +Neighs: 2800.62 ave 2959 max 2661 min +Histogram: 1 1 1 2 0 0 0 1 1 1 + +Total # of neighbors = 22405 +Ave neighs/atom = 7.00156 +Neighbor list builds = 12728 +Dangerous builds = 0 +Total wall time: 0:00:08 diff --git a/examples/DIFFUSE/log.13Oct16.vacf.2d.g++.8 b/examples/DIFFUSE/log.3Aug18.vacf.2d.g++.8 similarity index 84% rename from examples/DIFFUSE/log.13Oct16.vacf.2d.g++.8 rename to examples/DIFFUSE/log.3Aug18.vacf.2d.g++.8 index 458315bc29..80c57ada9c 100644 --- a/examples/DIFFUSE/log.13Oct16.vacf.2d.g++.8 +++ b/examples/DIFFUSE/log.3Aug18.vacf.2d.g++.8 @@ -1,4 +1,4 @@ -LAMMPS (13 Oct 2016) +LAMMPS (2 Aug 2018) # sample LAMMPS input script for diffusion of 2d LJ liquid # mean-squared displacement via compute msd @@ -29,6 +29,7 @@ Created orthogonal box = (0 0 -0.182574) to (73.0297 73.0297 0.182574) 4 by 2 by 1 MPI processor grid create_atoms 1 box Created 3200 atoms + Time spent = 0.000712872 secs pair_style lj/cut ${rc} pair_style lj/cut 2.5 @@ -49,13 +50,18 @@ fix 3 all enforce2d thermo 1000 run 5000 Neighbor list info ... - 1 neighbor list requests update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 2.8 ghost atom cutoff = 2.8 - binsize = 1.4 -> bins = 53 53 1 -Memory usage per processor = 2.478 Mbytes + binsize = 1.4, bins = 53 53 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.052 | 3.052 | 3.052 Mbytes Step Temp E_pair E_mol TotEng Press 0 1 -1.56492 0 -0.5652325 -1.5346995 1000 0.97537833 -1.5723957 0 -0.5973222 0.92877783 @@ -63,20 +69,20 @@ Step Temp E_pair E_mol TotEng Press 3000 1.0111412 -1.5848987 0 -0.57407352 1.0174297 4000 1.0055417 -1.5857581 0 -0.58053054 0.95647691 5000 0.97069905 -1.5851114 0 -0.61471567 0.90108287 -Loop time of 0.557588 on 8 procs for 5000 steps with 3200 atoms +Loop time of 0.648098 on 8 procs for 5000 steps with 3200 atoms -Performance: 3873826.669 tau/day, 8967.191 timesteps/s -99.1% CPU use with 8 MPI tasks x no OpenMP threads +Performance: 3332829.949 tau/day, 7714.884 timesteps/s +99.9% CPU use with 8 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.23784 | 0.24683 | 0.25594 | 1.0 | 44.27 -Neigh | 0.062975 | 0.06439 | 0.0662 | 0.4 | 11.55 -Comm | 0.083826 | 0.092564 | 0.1035 | 2.1 | 16.60 -Output | 0.00011778 | 0.00012615 | 0.00014257 | 0.1 | 0.02 -Modify | 0.11466 | 0.11648 | 0.1187 | 0.4 | 20.89 -Other | | 0.0372 | | | 6.67 +Pair | 0.22614 | 0.24602 | 0.27481 | 2.8 | 37.96 +Neigh | 0.066875 | 0.07135 | 0.077825 | 1.2 | 11.01 +Comm | 0.098293 | 0.12744 | 0.1569 | 5.6 | 19.66 +Output | 0.0001049 | 0.00012228 | 0.00014496 | 0.0 | 0.02 +Modify | 0.13725 | 0.14919 | 0.16903 | 2.4 | 23.02 +Other | | 0.05398 | | | 8.33 Nlocal: 400 ave 406 max 394 min Histogram: 1 1 0 1 0 2 1 0 1 1 @@ -114,7 +120,7 @@ thermo_style custom step temp c_vacf[4] v_vacf thermo 1000 run 100000 -Memory usage per processor = 2.853 Mbytes +Per MPI rank memory allocation (min/avg/max) = 3.427 | 3.427 | 3.427 Mbytes Step Temp c_vacf[4] v_vacf 0 0.97069905 1.9407914 0 1000 0.98138076 0.029239763 0.22157396 @@ -217,20 +223,20 @@ Step Temp c_vacf[4] v_vacf 98000 0.97190208 0.015065013 0.20906937 99000 0.98687379 -0.036869401 0.22993959 100000 0.97559757 0.045464091 0.23369283 -Loop time of 10.8346 on 8 procs for 100000 steps with 3200 atoms +Loop time of 8.16691 on 8 procs for 100000 steps with 3200 atoms -Performance: 3987213.825 tau/day, 9229.662 timesteps/s -99.5% CPU use with 8 MPI tasks x no OpenMP threads +Performance: 5289636.190 tau/day, 12244.528 timesteps/s +100.0% CPU use with 8 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.8486 | 4.9469 | 5.0248 | 2.8 | 45.66 -Neigh | 1.3613 | 1.374 | 1.3916 | 0.8 | 12.68 -Comm | 1.8181 | 1.9534 | 2.0665 | 5.7 | 18.03 -Output | 0.016565 | 0.016701 | 0.017039 | 0.1 | 0.15 -Modify | 1.8395 | 1.9053 | 1.9704 | 2.8 | 17.59 -Other | | 0.6383 | | | 5.89 +Pair | 3.5668 | 3.6612 | 3.7867 | 4.0 | 44.83 +Neigh | 1.1409 | 1.1555 | 1.1804 | 1.4 | 14.15 +Comm | 1.581 | 1.711 | 1.8239 | 7.1 | 20.95 +Output | 0.016626 | 0.016831 | 0.017569 | 0.2 | 0.21 +Modify | 1.225 | 1.2594 | 1.3008 | 2.0 | 15.42 +Other | | 0.363 | | | 4.45 Nlocal: 400 ave 413 max 391 min Histogram: 2 1 0 2 0 0 1 1 0 1 @@ -243,4 +249,4 @@ Total # of neighbors = 22405 Ave neighs/atom = 7.00156 Neighbor list builds = 12728 Dangerous builds = 0 -Total wall time: 0:00:11 +Total wall time: 0:00:08 diff --git a/examples/SPIN/bfo/in.spin.bfo b/examples/SPIN/bfo/in.spin.bfo index 2442b12b72..de23ba87ba 100644 --- a/examples/SPIN/bfo/in.spin.bfo +++ b/examples/SPIN/bfo/in.spin.bfo @@ -21,9 +21,11 @@ mass 1 1.0 set group all spin/random 11 2.50 -pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 +#pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 +pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 spin/dmi 4.5 pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965 pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0 +pair_coeff * * spin/dmi dmi 4.5 0.00005 1.0 1.0 1.0 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 @@ -44,10 +46,11 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo_style custom step time v_magnorm v_emag temp etotal -thermo 50 +#thermo_style custom step time v_magnorm v_emag temp etotal +thermo_style custom step time v_magnorm pe ke v_emag temp etotal +thermo 10 compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] -run 5000 +run 2000 diff --git a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp index 4a42ec419a..35aa1df86c 100644 --- a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp +++ b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp @@ -19,8 +19,8 @@ create_atoms 1 box mass 1 58.93 -#set group all spin/random 31 1.72 -set group all spin 1.72 0.0 0.0 1.0 +set group all spin/random 31 1.72 +#set group all spin 1.72 0.0 0.0 1.0 velocity all create 100 4928459 rot yes dist gaussian #pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0 @@ -29,11 +29,11 @@ pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 #pair_coeff * * spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 - neighbor 0.1 bin neigh_modify every 10 check yes delay 20 -fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 +#fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 fix 2 all langevin/spin 0.0 0.0 21 fix 3 all nve/spin lattice yes @@ -56,4 +56,4 @@ thermo 10 compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump_cobalt_hcp.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] -run 2000 +run 20000 diff --git a/examples/USER/diffraction/BulkNi.in b/examples/USER/diffraction/BulkNi.in index a18163175c..0fa9c1b74c 100644 --- a/examples/USER/diffraction/BulkNi.in +++ b/examples/USER/diffraction/BulkNi.in @@ -20,7 +20,7 @@ compute XRD all xrd 1.541838 Ni 2Theta 40 80 c 2 2 2 LP 1 echo compute SAED all saed 0.0251 Ni Kmax 0.85 Zone 1 0 0 c 0.025 0.025 0.025 & dR_Ewald 0.05 echo manual -fix 1 all ave/histo 1 1 1 40 80 200 c_XRD[1] c_XRD[2] & +fix 1 all ave/histo/weight 1 1 1 40 80 200 c_XRD[1] c_XRD[2] & mode vector file $A.hist.xrd fix 2 all saed/vtk 1 1 1 c_SAED file $A_001.saed diff --git a/src/BODY/fix_wall_body_polygon.cpp b/src/BODY/fix_wall_body_polygon.cpp index 5ec5a7cca8..0e7aaea1e1 100644 --- a/src/BODY/fix_wall_body_polygon.cpp +++ b/src/BODY/fix_wall_body_polygon.cpp @@ -641,18 +641,15 @@ int FixWallBodyPolygon::compute_distance_to_wall(double* x0, double rradi, mode = VERTEX; contact = 1; } else { + mode = NONE; if (side == XLO) { if (x0[0] < wall_pos) mode = VERTEX; - else mode = NONE; } else if (side == XHI) { if (x0[0] > wall_pos) mode = VERTEX; - else mode = NONE; } else if (side == YLO) { if (x0[1] < wall_pos) mode = VERTEX; - else mode = NONE; } else if (side == YHI) { if (x0[1] > wall_pos) mode = VERTEX; - else mode = NONE; } } diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 2ff209d609..051be762e5 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -685,7 +685,7 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, { int ni,nei,ifirst,iefirst,npi1,npi2,ibonus; double xi1[3],xi2[3],vti[3],h[3],fn[3],ft[3],d,t; - double delx,dely,delz,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; + double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; double rradi,rradj,contact_dist; double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; double *quat, *inertia; @@ -749,7 +749,9 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, delx = h[0] - x[jbody][0]; dely = h[1] - x[jbody][1]; delz = h[2] - x[jbody][2]; - rij = sqrt(delx*delx + dely*dely + delz*delz); + rsq = delx*delx + dely*dely + delz*delz; + rsqinv = (rsq == 0.0) ? 0.0 : 1.0/rsq; + rij = sqrt(rsq); R = rij - contact_dist; energy = 0; @@ -2077,6 +2079,7 @@ void PairBodyRoundedPolyhedron::distance_bt_edges(const double* x1, double s1,s2,x13[3],x23[3],x13h[3]; double t13,t23,t31,t41,x31[3],x41[3]; + t13=t23=t31=t41=0.0; MathExtra::sub3(x1,x3,x13); // x13 = x1 - x3 MathExtra::sub3(x2,x3,x23); // x23 = x2 - x3 diff --git a/src/KOKKOS/fix_nh_kokkos.cpp b/src/KOKKOS/fix_nh_kokkos.cpp index 679690ea82..347177b7f4 100644 --- a/src/KOKKOS/fix_nh_kokkos.cpp +++ b/src/KOKKOS/fix_nh_kokkos.cpp @@ -148,7 +148,7 @@ void FixNHKokkos::setup(int vflag) if (pstat_flag) { double kt = boltz * t_target; - double nkt = atom->natoms * kt; + double nkt = (atom->natoms + 1) * kt; for (int i = 0; i < 3; i++) if (p_flag[i]) diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp index 92d9338dc8..9afa36b3c0 100644 --- a/src/MANYBODY/pair_atm.cpp +++ b/src/MANYBODY/pair_atm.cpp @@ -78,7 +78,7 @@ void PairATM::compute(int eflag, int vflag) { int i,j,k,ii,jj,kk,inum,jnum,jnumm1; double xi,yi,zi,evdwl; - double rij2,rik2,rjk2,r6; + double rij2,rik2,rjk2; double rij[3],rik[3],rjk[3],fj[3],fk[3]; double nu_local; int *ilist,*jlist,*numneigh,**firstneigh; @@ -91,8 +91,7 @@ void PairATM::compute(int eflag, int vflag) double **f = atom->f; int *type = atom->type; - double cutoff_sixth = cut_global*cut_global; - cutoff_sixth = cutoff_sixth*cutoff_sixth*cutoff_sixth; + double cutoff_squared = cut_global*cut_global; inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; @@ -118,6 +117,7 @@ void PairATM::compute(int eflag, int vflag) rij[2] = x[j][2] - zi; if (rij[0] == 0.0 and rij[1] == 0.0 and rij[2] < 0.0) continue; rij2 = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + if (rij2 > cutoff_squared) continue; for (kk = jj+1; kk < jnum; kk++) { k = jlist[kk]; @@ -130,20 +130,19 @@ void PairATM::compute(int eflag, int vflag) rjk[2] = x[k][2] - x[j][2]; if (rjk[0] == 0.0 and rjk[1] == 0.0 and rjk[2] < 0.0) continue; rjk2 = rjk[0]*rjk[0] + rjk[1]*rjk[1] + rjk[2]*rjk[2]; + if (rjk2 > cutoff_squared) continue; rik[0] = x[k][0] - xi; rik[1] = x[k][1] - yi; rik[2] = x[k][2] - zi; rik2 = rik[0]*rik[0] + rik[1]*rik[1] + rik[2]*rik[2]; - - r6 = rij2*rik2*rjk2; - if (r6 > cutoff_sixth) continue; + if (rik2 > cutoff_squared) continue; nu_local = nu[type[i]][type[j]][type[k]]; if (nu_local == 0.0) continue; interaction_ddd(nu_local, - r6,rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl); + rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl); f[i][0] -= fj[0] + fk[0]; f[i][1] -= fj[1] + fk[1]; @@ -330,11 +329,12 @@ void PairATM::read_restart_settings(FILE *fp) ------------------------------------------------------------------------- */ void PairATM::interaction_ddd(double nu, - double r6, double rij2, double rik2, double rjk2, + double rij2, double rik2, double rjk2, double *rij, double *rik, double *rjk, double *fj, double *fk, int eflag, double &eng) { - double r5inv,rri,rrj,rrk,rrr; + double r6,r5inv,rri,rrj,rrk,rrr; + r6 = rij2*rik2*rjk2; r5inv = nu / (r6*r6*sqrt(r6)); rri = rik[0]*rij[0] + rik[1]*rij[1] + rik[2]*rij[2]; rrj = rij[0]*rjk[0] + rij[1]*rjk[1] + rij[2]*rjk[2]; diff --git a/src/MANYBODY/pair_atm.h b/src/MANYBODY/pair_atm.h index 210351cfad..60d22348c3 100644 --- a/src/MANYBODY/pair_atm.h +++ b/src/MANYBODY/pair_atm.h @@ -39,11 +39,11 @@ class PairATM : public Pair { void read_restart_settings(FILE *); protected: - double cut_global, cut_sixth; + double cut_global, cutoff_squared; double ***nu; void allocate(); - void interaction_ddd(double, double, double, double, double, double *, + void interaction_ddd(double, double, double, double, double *, double *, double *, double *, double *, int, double &); }; diff --git a/src/MANYBODY/pair_eam_cd.cpp b/src/MANYBODY/pair_eam_cd.cpp new file mode 100644 index 0000000000..66ebad6244 --- /dev/null +++ b/src/MANYBODY/pair_eam_cd.cpp @@ -0,0 +1,677 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Alexander Stukowski + Technical University of Darmstadt, + Germany Department of Materials Science +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "pair_eam_cd.h" +#include "atom.h" +#include "force.h" +#include "comm.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +#define ASSERT(cond) +#define MAXLINE 1024 // This sets the maximum line length in EAM input files. + +PairEAMCD::PairEAMCD(LAMMPS *lmp, int _cdeamVersion) + : PairEAM(lmp), PairEAMAlloy(lmp), cdeamVersion(_cdeamVersion) +{ + single_enable = 0; + restartinfo = 0; + + rhoB = NULL; + D_values = NULL; + hcoeff = NULL; + + // Set communication buffer sizes needed by this pair style. + + if (cdeamVersion == 1) { + comm_forward = 4; + comm_reverse = 3; + } else if (cdeamVersion == 2) { + comm_forward = 3; + comm_reverse = 2; + } else { + error->all(FLERR,"Invalid eam/cd potential version."); + } +} + +PairEAMCD::~PairEAMCD() +{ + memory->destroy(rhoB); + memory->destroy(D_values); + if (hcoeff) delete[] hcoeff; +} + +void PairEAMCD::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; + double rsq,rhoip,rhojp,recip,phi; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; + + // Grow per-atom arrays if necessary + + if (atom->nmax > nmax) { + memory->destroy(rho); + memory->destroy(fp); + memory->destroy(rhoB); + memory->destroy(D_values); + nmax = atom->nmax; + memory->create(rho,nmax,"pair:rho"); + memory->create(rhoB,nmax,"pair:rhoB"); + memory->create(fp,nmax,"pair:fp"); + memory->create(D_values,nmax,"pair:D_values"); + } + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // Zero out per-atom arrays. + + int m = nlocal + atom->nghost; + for (i = 0; i < m; i++) { + rho[i] = 0.0; + rhoB[i] = 0.0; + D_values[i] = 0.0; + } + + // Stage I + + // Compute rho and rhoB at each local atom site. + + // Additionally calculate the D_i values here if we are using the + // one-site formulation. For the two-site formulation we have to + // calculate the D values in an extra loop (Stage II). + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq < cutforcesq) { + jtype = type[j]; + double r = sqrt(rsq); + const EAMTableIndex index = radiusToTableIndex(r); + double localrho = RhoOfR(index, jtype, itype); + rho[i] += localrho; + if (jtype == speciesB) rhoB[i] += localrho; + if (newton_pair || j < nlocal) { + localrho = RhoOfR(index, itype, jtype); + rho[j] += localrho; + if (itype == speciesB) rhoB[j] += localrho; + } + + if (cdeamVersion == 1 && itype != jtype) { + + // Note: if the i-j interaction is not concentration dependent (because either + // i or j are not species A or B) then its contribution to D_i and D_j should + // be ignored. + // This if-clause is only required for a ternary. + + if ((itype == speciesA && jtype == speciesB) + || (jtype == speciesA && itype == speciesB)) { + double Phi_AB = PhiOfR(index, itype, jtype, 1.0 / r); + D_values[i] += Phi_AB; + if (newton_pair || j < nlocal) + D_values[j] += Phi_AB; + } + } + } + } + } + + // Communicate and sum densities. + + if (newton_pair) { + communicationStage = 1; + comm->reverse_comm_pair(this); + } + + // fp = derivative of embedding energy at each atom + // phi = embedding energy at each atom + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + EAMTableIndex index = rhoToTableIndex(rho[i]); + fp[i] = FPrimeOfRho(index, type[i]); + if (eflag) { + phi = FofRho(index, type[i]); + if (eflag_global) eng_vdwl += phi; + if (eflag_atom) eatom[i] += phi; + } + } + + // Communicate derivative of embedding function and densities + // and D_values (this for one-site formulation only). + + communicationStage = 2; + comm->forward_comm_pair(this); + + // The electron densities may not drop to zero because then the + // concentration would no longer be defined. But the concentration + // is not needed anyway if there is no interaction with another atom, + // which is the case if the electron density is exactly zero. + // That's why the following lines have been commented out. + // + //for (i = 0; i < nlocal + atom->nghost; i++) { + // if (rho[i] == 0 && (type[i] == speciesA || type[i] == speciesB)) + // error->one(FLERR,"CD-EAM potential routine: Detected atom with zero electron density."); + //} + + // Stage II + // This is only required for the original two-site formulation of the CD-EAM potential. + + if (cdeamVersion == 2) { + + // Compute intermediate value D_i for each atom. + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + // This code line is required for ternary alloys. + + if (itype != speciesA && itype != speciesB) continue; + + double x_i = rhoB[i] / rho[i]; // Concentration at atom i. + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtype = type[j]; + if (itype == jtype) continue; + + // This code line is required for ternary alloys. + + if (jtype != speciesA && jtype != speciesB) continue; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq < cutforcesq) { + double r = sqrt(rsq); + const EAMTableIndex index = radiusToTableIndex(r); + + // The concentration independent part of the cross pair potential. + + double Phi_AB = PhiOfR(index, itype, jtype, 1.0 / r); + + // Average concentration of two sites + + double x_ij = 0.5 * (x_i + rhoB[j]/rho[j]); + + // Calculate derivative of h(x_ij) polynomial function. + + double h_prime = evalHprime(x_ij); + + D_values[i] += h_prime * Phi_AB / (2.0 * rho[i] * rho[i]); + if (newton_pair || j < nlocal) + D_values[j] += h_prime * Phi_AB / (2.0 * rho[j] * rho[j]); + } + } + } + + // Communicate and sum D values. + + if (newton_pair) { + communicationStage = 3; + comm->reverse_comm_pair(this); + } + communicationStage = 4; + comm->forward_comm_pair(this); + } + + // Stage III + + // Compute force acting on each atom. + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + + jlist = firstneigh[i]; + jnum = numneigh[i]; + + // Concentration at site i + // The value -1 indicates: no concentration dependence for all interactions of atom i. + // It will be replaced by the concentration at site i if atom i is either A or B. + + double x_i = -1.0; + double D_i, h_prime_i; + + // This if-clause is only required for ternary alloys. + + if ((itype == speciesA || itype == speciesB) && rho[i] != 0.0) { + + // Compute local concentration at site i. + + x_i = rhoB[i]/rho[i]; + ASSERT(x_i >= 0 && x_i<=1.0); + + if (cdeamVersion == 1) { + + // Calculate derivative of h(x_i) polynomial function. + + h_prime_i = evalHprime(x_i); + D_i = D_values[i] * h_prime_i / (2.0 * rho[i] * rho[i]); + } else if (cdeamVersion == 2) { + D_i = D_values[i]; + } else { + ASSERT(false); + } + } + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq < cutforcesq) { + jtype = type[j]; + double r = sqrt(rsq); + const EAMTableIndex index = radiusToTableIndex(r); + + // rhoip = derivative of (density at atom j due to atom i) + // rhojp = derivative of (density at atom i due to atom j) + // psip needs both fp[i] and fp[j] terms since r_ij appears in two + // terms of embed eng: Fi(sum rho_ij) and Fj(sum rho_ji) + // hence embed' = Fi(sum rho_ij) rhojp + Fj(sum rho_ji) rhoip + + rhoip = RhoPrimeOfR(index, itype, jtype); + rhojp = RhoPrimeOfR(index, jtype, itype); + fpair = fp[i]*rhojp + fp[j]*rhoip; + recip = 1.0/r; + + // The value -1 indicates: no concentration dependence for this + // i-j pair because atom j is not of species A nor B. + + double x_j = -1; + + // This code line is required for ternary alloy. + + if (jtype == speciesA || jtype == speciesB) { + ASSERT(rho[i] != 0.0); + ASSERT(rho[j] != 0.0); + + // Compute local concentration at site j. + + x_j = rhoB[j]/rho[j]; + ASSERT(x_j >= 0 && x_j<=1.0); + + double D_j=0.0; + if (cdeamVersion == 1) { + + // Calculate derivative of h(x_j) polynomial function. + + double h_prime_j = evalHprime(x_j); + D_j = D_values[j] * h_prime_j / (2.0 * rho[j] * rho[j]); + } else if (cdeamVersion == 2) { + D_j = D_values[j]; + } else { + ASSERT(false); + } + double t2 = -rhoB[j]; + if (itype == speciesB) t2 += rho[j]; + fpair += D_j * rhoip * t2; + } + + // This if-clause is only required for a ternary alloy. + // Actually we don't need it at all because D_i should be zero + // anyway if atom i has no concentration dependent interactions + // (because it is not species A or B). + + if (x_i != -1.0) { + double t1 = -rhoB[i]; + if (jtype == speciesB) t1 += rho[i]; + fpair += D_i * rhojp * t1; + } + + double phip; + double phi = PhiOfR(index, itype, jtype, recip, phip); + if (itype == jtype || x_i == -1.0 || x_j == -1.0) { + + // Case of no concentration dependence. + + fpair += phip; + } else { + + // We have a concentration dependence for the i-j interaction. + + double h=0.0; + if (cdeamVersion == 1) { + + // Calculate h(x_i) polynomial function. + + double h_i = evalH(x_i); + + // Calculate h(x_j) polynomial function. + + double h_j = evalH(x_j); + h = 0.5 * (h_i + h_j); + } else if (cdeamVersion == 2) { + + // Average concentration. + + double x_ij = 0.5 * (x_i + x_j); + + // Calculate h(x_ij) polynomial function. + + h = evalH(x_ij); + } else { + ASSERT(false); + } + fpair += h * phip; + phi *= h; + } + + // Divide by r_ij and negate to get forces from gradient. + + fpair /= -r; + + f[i][0] += delx*fpair; + f[i][1] += dely*fpair; + f[i][2] += delz*fpair; + if (newton_pair || j < nlocal) { + f[j][0] -= delx*fpair; + f[j][1] -= dely*fpair; + f[j][2] -= delz*fpair; + } + + if (eflag) evdwl = phi; + if (evflag) ev_tally(i,j,nlocal,newton_pair,evdwl,0.0,fpair,delx,dely,delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- */ + +void PairEAMCD::coeff(int narg, char **arg) +{ + PairEAMAlloy::coeff(narg, arg); + + // Make sure the EAM file is a CD-EAM binary alloy. + + if (setfl->nelements < 2) + error->all(FLERR,"The EAM file must contain at least 2 elements to be used with the eam/cd pair style."); + + // Read in the coefficients of the h polynomial from the end of the EAM file. + + read_h_coeff(arg[2]); + + // Determine which atom type is the A species and which is the B + // species in the alloy. By default take the first element (index 0) + // in the EAM file as the A species and the second element (index 1) + // in the EAM file as the B species. + + speciesA = -1; + speciesB = -1; + for (int i = 1; i <= atom->ntypes; i++) { + if (map[i] == 0) { + if (speciesA >= 0) + error->all(FLERR,"The first element from the EAM file may only be mapped to a single atom type."); + speciesA = i; + } + if (map[i] == 1) { + if (speciesB >= 0) + error->all(FLERR,"The second element from the EAM file may only be mapped to a single atom type."); + speciesB = i; + } + } + if (speciesA < 0) + error->all(FLERR,"The first element from the EAM file must be mapped to exactly one atom type."); + if (speciesB < 0) + error->all(FLERR,"The second element from the EAM file must be mapped to exactly one atom type."); +} + +/* ---------------------------------------------------------------------- + Reads in the h(x) polynomial coefficients +------------------------------------------------------------------------- */ + +void PairEAMCD::read_h_coeff(char *filename) +{ + if (comm->me == 0) { + + // Open potential file + + FILE *fptr; + char line[MAXLINE]; + char nextline[MAXLINE]; + fptr = force->open_potential(filename); + if (fptr == NULL) { + char str[128]; + sprintf(str,"Cannot open EAM potential file %s", filename); + error->one(FLERR,str); + } + + // h coefficients are stored at the end of the file. + // Skip to last line of file. + + while(fgets(nextline, MAXLINE, fptr) != NULL) { + strcpy(line, nextline); + } + char* ptr = strtok(line, " \t\n\r\f"); + int degree = atoi(ptr); + nhcoeff = degree+1; + hcoeff = new double[nhcoeff]; + int i = 0; + while((ptr = strtok(NULL," \t\n\r\f")) != NULL && i < nhcoeff) { + hcoeff[i++] = atof(ptr); + } + if (i != nhcoeff || nhcoeff < 1) + error->one(FLERR,"Failed to read h(x) function coefficients from EAM file."); + + // Close the potential file. + + fclose(fptr); + } + + MPI_Bcast(&nhcoeff, 1, MPI_INT, 0, world); + if (comm->me != 0) hcoeff = new double[nhcoeff]; + MPI_Bcast(hcoeff, nhcoeff, MPI_DOUBLE, 0, world); +} + + +/* ---------------------------------------------------------------------- */ + +int PairEAMCD::pack_forward_comm(int n, int *list, double *buf, + int pbc_flag, int *pbc) +{ + int i,j,m; + + m = 0; + if (communicationStage == 2) { + if (cdeamVersion == 1) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = fp[j]; + buf[m++] = rho[j]; + buf[m++] = rhoB[j]; + buf[m++] = D_values[j]; + } + return m; + } else if (cdeamVersion == 2) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = fp[j]; + buf[m++] = rho[j]; + buf[m++] = rhoB[j]; + } + return m; + } else { ASSERT(false); return 0; } + } else if (communicationStage == 4) { + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = D_values[j]; + } + return m; + } else return 0; +} + +/* ---------------------------------------------------------------------- */ + +void PairEAMCD::unpack_forward_comm(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + if (communicationStage == 2) { + if (cdeamVersion == 1) { + for (i = first; i < last; i++) { + fp[i] = buf[m++]; + rho[i] = buf[m++]; + rhoB[i] = buf[m++]; + D_values[i] = buf[m++]; + } + } else if (cdeamVersion == 2) { + for (i = first; i < last; i++) { + fp[i] = buf[m++]; + rho[i] = buf[m++]; + rhoB[i] = buf[m++]; + } + } else { + ASSERT(false); + } + } else if (communicationStage == 4) { + for (i = first; i < last; i++) { + D_values[i] = buf[m++]; + } + } +} + +/* ---------------------------------------------------------------------- */ +int PairEAMCD::pack_reverse_comm(int n, int first, double *buf) +{ + int i,m,last; + + m = 0; + last = first + n; + + if (communicationStage == 1) { + if (cdeamVersion == 1) { + for (i = first; i < last; i++) { + buf[m++] = rho[i]; + buf[m++] = rhoB[i]; + buf[m++] = D_values[i]; + } + return m; + } else if (cdeamVersion == 2) { + for (i = first; i < last; i++) { + buf[m++] = rho[i]; + buf[m++] = rhoB[i]; + } + return m; + } else { ASSERT(false); return 0; } + } else if (communicationStage == 3) { + for (i = first; i < last; i++) { + buf[m++] = D_values[i]; + } + return m; + } else return 0; +} + +/* ---------------------------------------------------------------------- */ + +void PairEAMCD::unpack_reverse_comm(int n, int *list, double *buf) +{ + int i,j,m; + + m = 0; + if (communicationStage == 1) { + if (cdeamVersion == 1) { + for (i = 0; i < n; i++) { + j = list[i]; + rho[j] += buf[m++]; + rhoB[j] += buf[m++]; + D_values[j] += buf[m++]; + } + } else if (cdeamVersion == 2) { + for (i = 0; i < n; i++) { + j = list[i]; + rho[j] += buf[m++]; + rhoB[j] += buf[m++]; + } + } else { + ASSERT(false); + } + } else if (communicationStage == 3) { + for (i = 0; i < n; i++) { + j = list[i]; + D_values[j] += buf[m++]; + } + } +} + +/* ---------------------------------------------------------------------- + memory usage of local atom-based arrays +------------------------------------------------------------------------- */ +double PairEAMCD::memory_usage() +{ + double bytes = 2 * nmax * sizeof(double); + return PairEAMAlloy::memory_usage() + bytes; +} diff --git a/src/USER-MISC/pair_cdeam.h b/src/MANYBODY/pair_eam_cd.h similarity index 93% rename from src/USER-MISC/pair_cdeam.h rename to src/MANYBODY/pair_eam_cd.h index 934b7601a4..ee84fb09c5 100644 --- a/src/USER-MISC/pair_cdeam.h +++ b/src/MANYBODY/pair_eam_cd.h @@ -13,26 +13,26 @@ #ifdef PAIR_CLASS -PairStyle(eam/cd,PairCDEAM_OneSite) -PairStyle(eam/cd/old,PairCDEAM_TwoSite) +PairStyle(eam/cd,PairEAMCD_OneSite) +PairStyle(eam/cd/old,PairEAMCD_TwoSite) #else -#ifndef LMP_PAIR_CDEAM_H -#define LMP_PAIR_CDEAM_H +#ifndef LMP_PAIR_EAM_CD_H +#define LMP_PAIR_EAM_CD_H #include "pair_eam_alloy.h" namespace LAMMPS_NS { -class PairCDEAM : public PairEAMAlloy +class PairEAMCD : public PairEAMAlloy { public: /// Constructor. - PairCDEAM(class LAMMPS*, int cdeamVersion); + PairEAMCD(class LAMMPS*, int cdeamVersion); /// Destructor. - virtual ~PairCDEAM(); + virtual ~PairEAMCD(); /// Calculates the energies and forces for all atoms in the system. virtual void compute(int, int); @@ -211,19 +211,19 @@ public: }; /// The one-site concentration formulation of CD-EAM. - class PairCDEAM_OneSite : public PairCDEAM + class PairEAMCD_OneSite : public PairEAMCD { public: /// Constructor. - PairCDEAM_OneSite(class LAMMPS* lmp) : PairEAM(lmp), PairCDEAM(lmp, 1) {} + PairEAMCD_OneSite(class LAMMPS* lmp) : PairEAM(lmp), PairEAMCD(lmp, 1) {} }; /// The two-site concentration formulation of CD-EAM. - class PairCDEAM_TwoSite : public PairCDEAM + class PairEAMCD_TwoSite : public PairEAMCD { public: /// Constructor. - PairCDEAM_TwoSite(class LAMMPS* lmp) : PairEAM(lmp), PairCDEAM(lmp, 2) {} + PairEAMCD_TwoSite(class LAMMPS* lmp) : PairEAM(lmp), PairEAMCD(lmp, 2) {} }; } diff --git a/src/Purge.list b/src/Purge.list index cd4eb17dab..cb98636b1c 100644 --- a/src/Purge.list +++ b/src/Purge.list @@ -24,6 +24,9 @@ style_nstencil.h style_ntopo.h # other auto-generated files lmpinstalledpkgs.h +# renamed on 31 July 2018 +pair_cdeam.h +pair_cdeam.cpp # renamed on 20 July 2018 pair_body.h pair_body.cpp diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 8b47eff624..6460a6185f 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -816,9 +816,9 @@ void AtomVecSpin::data_atom(double *coord, imageint imagetmp, char **values) x[nlocal][2] = coord[2]; sp[nlocal][3] = atof(values[2]); - sp[nlocal][0] = atof(values[5]); - sp[nlocal][1] = atof(values[6]); - sp[nlocal][2] = atof(values[7]); + sp[nlocal][0] = atof(values[6]); + sp[nlocal][1] = atof(values[7]); + sp[nlocal][2] = atof(values[8]); double inorm = 1.0/sqrt(sp[nlocal][0]*sp[nlocal][0] + sp[nlocal][1]*sp[nlocal][1] + sp[nlocal][2]*sp[nlocal][2]); diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index b67f62d53d..dc16190c98 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -105,16 +105,16 @@ void ComputeSpin::compute_vector() for (i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (atom->sp_flag) { - mag[0] += sp[i][0]; - mag[1] += sp[i][1]; - mag[2] += sp[i][2]; - magenergy -= (sp[i][0]*fm[i][0] + sp[i][1]*fm[i][1] + sp[i][2]*fm[i][2]); - tx = sp[i][1]*fm[i][2]-sp[i][2]*fm[i][1]; - ty = sp[i][2]*fm[i][0]-sp[i][0]*fm[i][2]; - tz = sp[i][0]*fm[i][1]-sp[i][1]*fm[i][0]; - tempnum += tx*tx+ty*ty+tz*tz; - tempdenom += sp[i][0]*fm[i][0]+fm[i][1]*sp[i][1]+sp[i][2]*fm[i][2]; - countsp++; + mag[0] += sp[i][0]; + mag[1] += sp[i][1]; + mag[2] += sp[i][2]; + magenergy -= (sp[i][0]*fm[i][0] + sp[i][1]*fm[i][1] + sp[i][2]*fm[i][2]); + tx = sp[i][1]*fm[i][2]-sp[i][2]*fm[i][1]; + ty = sp[i][2]*fm[i][0]-sp[i][0]*fm[i][2]; + tz = sp[i][0]*fm[i][1]-sp[i][1]*fm[i][0]; + tempnum += tx*tx+ty*ty+tz*tz; + tempdenom += sp[i][0]*fm[i][0]+fm[i][1]*sp[i][1]+sp[i][2]*fm[i][2]; + countsp++; } } else error->all(FLERR,"Compute compute/spin requires atom/spin style"); diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index b792969c5d..08e2c63e7f 100644 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -65,6 +65,9 @@ PairSpinDmi::~PairSpinDmi() memory->destroy(v_dmx); memory->destroy(v_dmy); memory->destroy(v_dmz); + memory->destroy(vmech_dmx); + memory->destroy(vmech_dmy); + memory->destroy(vmech_dmz); memory->destroy(cutsq); } } @@ -118,7 +121,7 @@ void PairSpinDmi::coeff(int narg, char **arg) force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); const double rij = force->numeric(FLERR,arg[3]); - const double dm = (force->numeric(FLERR,arg[4]))/hbar; + const double dm = (force->numeric(FLERR,arg[4])); double dmx = force->numeric(FLERR,arg[5]); double dmy = force->numeric(FLERR,arg[6]); double dmz = force->numeric(FLERR,arg[7]); @@ -133,9 +136,12 @@ void PairSpinDmi::coeff(int narg, char **arg) for (int j = MAX(jlo,i); j <= jhi; j++) { cut_spin_dmi[i][j] = rij; DM[i][j] = dm; - v_dmx[i][j] = dmx * dm; - v_dmy[i][j] = dmy * dm; - v_dmz[i][j] = dmz * dm; + v_dmx[i][j] = dmx * dm / hbar; + v_dmy[i][j] = dmy * dm / hbar; + v_dmz[i][j] = dmz * dm / hbar; + vmech_dmx[i][j] = dmx * dm; + vmech_dmy[i][j] = dmy * dm; + vmech_dmz[i][j] = dmz * dm; setflag[i][j] = 1; count++; } @@ -187,9 +193,17 @@ void PairSpinDmi::init_style() double PairSpinDmi::init_one(int i, int j) { - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + DM[j][i] = DM[i][j]; + v_dmx[j][i] = v_dmx[i][j]; + v_dmy[j][i] = v_dmy[i][j]; + v_dmz[j][i] = v_dmz[i][j]; + vmech_dmx[j][i] = vmech_dmx[i][j]; + vmech_dmy[j][i] = vmech_dmy[i][j]; + vmech_dmz[j][i] = vmech_dmz[i][j]; + cut_spin_dmi[j][i] = cut_spin_dmi[i][j]; + return cut_spin_dmi_global; } @@ -210,7 +224,8 @@ void PairSpinDmi::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl, ecoul; - double xi[3], rij[3], eij[3]; + double xi[3], eij[3]; + double delx,dely,delz; double spi[3], spj[3]; double fi[3], fmi[3]; double local_cut2; @@ -264,20 +279,17 @@ void PairSpinDmi::compute(int eflag, int vflag) spj[2] = sp[j][2]; evdwl = 0.0; - fi[0] = fi[1] = fi[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; - rij[0] = rij[1] = rij[2] = 0.0; - eij[0] = eij[1] = eij[2] = 0.0; - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; inorm = 1.0/sqrt(rsq); - eij[0] = rij[0]*inorm; - eij[1] = rij[1]*inorm; - eij[2] = rij[2]*inorm; + eij[0] = -inorm*delx; + eij[1] = -inorm*dely; + eij[2] = -inorm*delz; local_cut2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; @@ -286,7 +298,7 @@ void PairSpinDmi::compute(int eflag, int vflag) if (rsq <= local_cut2) { compute_dmi(i,j,eij,fmi,spj); if (lattice_flag) { - compute_dmi_mech(fi); + compute_dmi_mech(i,j,rsq,eij,fi,spi,spj); } } @@ -309,7 +321,7 @@ void PairSpinDmi::compute(int eflag, int vflag) } else evdwl = 0.0; if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, - evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + evdwl,ecoul,fi[0],fi[1],fi[2],delx,dely,delz); } } @@ -325,8 +337,8 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) double **x = atom->x; double **sp = atom->sp; double local_cut2; - - double xi[3], rij[3], eij[3]; + double xi[3], eij[3]; + double delx,dely,delz; double spj[3]; int i,j,jnum,itype,jtype; @@ -358,14 +370,14 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) spj[1] = sp[j][1]; spj[2] = sp[j][2]; - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; inorm = 1.0/sqrt(rsq); - eij[0] = rij[0]*inorm; - eij[1] = rij[1]*inorm; - eij[2] = rij[2]*inorm; + eij[0] = -inorm*delx; + eij[1] = -inorm*dely; + eij[2] = -inorm*delz; local_cut2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; @@ -390,23 +402,45 @@ void PairSpinDmi::compute_dmi(int i, int j, double eij[3], double fmi[3], double jtype = type[j]; dmix = eij[1]*v_dmz[itype][jtype] - eij[2]*v_dmy[itype][jtype]; - dmiy = eij[2]*v_dmx[itype][jtype] - eij[2]*v_dmz[itype][jtype]; + dmiy = eij[2]*v_dmx[itype][jtype] - eij[0]*v_dmz[itype][jtype]; dmiz = eij[0]*v_dmy[itype][jtype] - eij[1]*v_dmx[itype][jtype]; - fmi[0] += (spj[1]*dmiz - spj[2]*dmiy); - fmi[1] += (spj[2]*dmix - spj[0]*dmiz); - fmi[2] += (spj[0]*dmiy - spj[1]*dmix); + fmi[0] -= (spj[1]*dmiz - spj[2]*dmiy); + fmi[1] -= (spj[2]*dmix - spj[0]*dmiz); + fmi[2] -= (spj[0]*dmiy - spj[1]*dmix); } /* ---------------------------------------------------------------------- compute the mechanical force due to the dmi interaction between atom i and atom j ------------------------------------------------------------------------- */ -void PairSpinDmi::compute_dmi_mech(double fi[3]) +void PairSpinDmi::compute_dmi_mech(int i, int j, double rsq, double eij[3], + double fi[3], double spi[3], double spj[3]) { - fi[0] += 0.0; - fi[1] += 0.0; - fi[2] += 0.0; + int *type = atom->type; + int itype, jtype; + double dmix,dmiy,dmiz; + itype = type[i]; + jtype = type[j]; + double csx,csy,csz,cdmx,cdmy,cdmz,irij; + + irij = 1.0/sqrt(rsq); + + dmix = vmech_dmx[itype][jtype]; + dmiy = vmech_dmy[itype][jtype]; + dmiz = vmech_dmz[itype][jtype]; + + csx = (spi[1]*spj[2] - spi[2]*spj[1]); + csy = (spi[2]*spj[0] - spi[0]*spj[2]); + csz = (spi[0]*spj[1] - spi[1]*spj[0]); + + cdmx = (dmiy*csz - dmiz*csy); + cdmy = (dmiz*csx - dmix*csz); + cdmz = (dmix*csy - dmiy*csz); + + fi[0] += irij*cdmx; + fi[1] += irij*cdmy; + fi[2] += irij*cdmz; } /* ---------------------------------------------------------------------- @@ -428,6 +462,9 @@ void PairSpinDmi::allocate() memory->create(v_dmx,n+1,n+1,"pair:DM_vector_x"); memory->create(v_dmy,n+1,n+1,"pair:DM_vector_y"); memory->create(v_dmz,n+1,n+1,"pair:DM_vector_z"); + memory->create(vmech_dmx,n+1,n+1,"pair:DMmech_vector_x"); + memory->create(vmech_dmy,n+1,n+1,"pair:DMmech_vector_y"); + memory->create(vmech_dmz,n+1,n+1,"pair:DMmech_vector_z"); memory->create(cutsq,n+1,n+1,"pair:cutsq"); @@ -451,6 +488,9 @@ void PairSpinDmi::write_restart(FILE *fp) fwrite(&v_dmx[i][j],sizeof(double),1,fp); fwrite(&v_dmy[i][j],sizeof(double),1,fp); fwrite(&v_dmz[i][j],sizeof(double),1,fp); + fwrite(&vmech_dmx[i][j],sizeof(double),1,fp); + fwrite(&vmech_dmy[i][j],sizeof(double),1,fp); + fwrite(&vmech_dmz[i][j],sizeof(double),1,fp); fwrite(&cut_spin_dmi[i][j],sizeof(double),1,fp); } } @@ -478,12 +518,18 @@ void PairSpinDmi::read_restart(FILE *fp) fread(&v_dmx[i][j],sizeof(double),1,fp); fread(&v_dmy[i][j],sizeof(double),1,fp); fread(&v_dmz[i][j],sizeof(double),1,fp); + fread(&vmech_dmx[i][j],sizeof(double),1,fp); + fread(&vmech_dmy[i][j],sizeof(double),1,fp); + fread(&vmech_dmz[i][j],sizeof(double),1,fp); fread(&cut_spin_dmi[i][j],sizeof(double),1,fp); } MPI_Bcast(&DM[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_dmx[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_dmy[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_dmz[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&vmech_dmx[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&vmech_dmy[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&vmech_dmz[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&cut_spin_dmi[i][j],1,MPI_DOUBLE,0,world); } } diff --git a/src/SPIN/pair_spin_dmi.h b/src/SPIN/pair_spin_dmi.h index a309f0c8d5..68e42e879d 100644 --- a/src/SPIN/pair_spin_dmi.h +++ b/src/SPIN/pair_spin_dmi.h @@ -38,22 +38,23 @@ class PairSpinDmi : public PairSpin { void compute_single_pair(int, double *); void compute_dmi(int, int, double *, double *, double *); - void compute_dmi_mech(double *); + void compute_dmi_mech(int, int, double, double *, double *, double *, double *); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); - double cut_spin_dmi_global; // short range pair cutoff + double cut_spin_dmi_global; // short range pair cutoff protected: - double **DM; // dmi coeff in eV - double **v_dmx, **v_dmy, **v_dmz; // dmi direction - double **cut_spin_dmi; // cutoff distance dmi + double **DM; // dmi coeff in eV + double **v_dmx, **v_dmy, **v_dmz; // dmi direction + double **vmech_dmx, **vmech_dmy, **vmech_dmz; // dmi mech direction + double **cut_spin_dmi; // cutoff distance dmi - int lattice_flag; // flag for mech force computation - class FixNVESpin *lockfixnvespin; // ptr to FixNVESpin for setups + int lattice_flag; // flag for mech force computation + class FixNVESpin *lockfixnvespin; // ptr to FixNVESpin for setups void allocate(); }; diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 1b7b36b6db..cc074bb97d 100644 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -65,7 +65,7 @@ PairSpinExchange::~PairSpinExchange() memory->destroy(J1_mech); memory->destroy(J2); memory->destroy(J3); - memory->destroy(cutsq); // to be deleted + memory->destroy(cutsq); // to be implemented } } @@ -134,8 +134,8 @@ void PairSpinExchange::coeff(int narg, char **arg) count++; } } - if (count == 0) - error->all(FLERR,"Incorrect args in pair_style command"); + + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); } /* ---------------------------------------------------------------------- @@ -183,6 +183,12 @@ double PairSpinExchange::init_one(int i, int j) if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + J1_mag[j][i] = J1_mag[i][j]; + J1_mech[j][i] = J1_mech[i][j]; + J2[j][i] = J2[i][j]; + J3[j][i] = J3[i][j]; + cut_spin_exchange[j][i] = cut_spin_exchange[i][j]; + return cut_spin_exchange_global; } @@ -203,7 +209,8 @@ void PairSpinExchange::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl, ecoul; - double xi[3], rij[3], eij[3]; + double xi[3], eij[3]; + double delx,dely,delz; double spi[3], spj[3]; double fi[3], fmi[3]; double local_cut2; @@ -255,18 +262,17 @@ void PairSpinExchange::compute(int eflag, int vflag) spj[2] = sp[j][2]; evdwl = 0.0; - fi[0] = fi[1] = fi[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; inorm = 1.0/sqrt(rsq); - eij[0] = inorm*rij[0]; - eij[1] = inorm*rij[1]; - eij[2] = inorm*rij[2]; + eij[0] = -inorm*delx; + eij[1] = -inorm*dely; + eij[2] = -inorm*delz; local_cut2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; @@ -298,7 +304,7 @@ void PairSpinExchange::compute(int eflag, int vflag) } else evdwl = 0.0; if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, - evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + evdwl,ecoul,fi[0],fi[1],fi[2],delx,dely,delz); } } @@ -317,8 +323,8 @@ void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) double **x = atom->x; double **sp = atom->sp; double local_cut2; - double xi[3], rij[3]; + double delx,dely,delz; double spj[3]; int i,j,jnum,itype,jtype; @@ -351,15 +357,14 @@ void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) spj[1] = sp[j][1]; spj[2] = sp[j][2]; - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; if (rsq <= local_cut2) { compute_exchange(i,j,rsq,fmi,spj); } - } } @@ -390,7 +395,8 @@ void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], compute the mechanical force due to the exchange interaction between atom i and atom j ------------------------------------------------------------------------- */ -void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double rij[3], double fi[3], double spi[3], double spj[3]) +void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double eij[3], + double fi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -408,9 +414,9 @@ void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double ri Jex_mech *= 8.0*Jex*rr*exp(-ra); Jex_mech *= (spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]); - fi[0] -= Jex_mech*rij[0]; - fi[1] -= Jex_mech*rij[1]; - fi[2] -= Jex_mech*rij[2]; + fi[0] -= Jex_mech*eij[0]; + fi[1] -= Jex_mech*eij[1]; + fi[2] -= Jex_mech*eij[2]; } /* ---------------------------------------------------------------------- diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp index 315b691d17..6bc1f71947 100644 --- a/src/SPIN/pair_spin_magelec.cpp +++ b/src/SPIN/pair_spin_magelec.cpp @@ -187,8 +187,14 @@ void PairSpinMagelec::init_style() double PairSpinMagelec::init_one(int i, int j) { + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + ME[j][i] = ME[i][j]; + ME_mech[j][i] = ME_mech[i][j]; + v_mex[j][i] = v_mex[i][j]; + v_mey[j][i] = v_mey[i][j]; + v_mez[j][i] = v_mez[i][j]; + cut_spin_magelec[j][i] = cut_spin_magelec[i][j]; return cut_spin_magelec_global; } @@ -211,7 +217,8 @@ void PairSpinMagelec::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl, ecoul; - double xi[3], rij[3], eij[3]; + double xi[3], eij[3]; + double delx,dely,delz; double spi[3], spj[3]; double fi[3], fmi[3]; double local_cut2; @@ -263,18 +270,17 @@ void PairSpinMagelec::compute(int eflag, int vflag) spj[2] = sp[j][2]; evdwl = 0.0; - fi[0] = fi[1] = fi[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; inorm = 1.0/sqrt(rsq); - eij[0] = inorm*rij[0]; - eij[1] = inorm*rij[1]; - eij[2] = inorm*rij[2]; + eij[0] = -inorm*delx; + eij[1] = -inorm*dely; + eij[2] = -inorm*delz; local_cut2 = cut_spin_magelec[itype][jtype]*cut_spin_magelec[itype][jtype]; @@ -301,12 +307,12 @@ void PairSpinMagelec::compute(int eflag, int vflag) } if (eflag) { - evdwl = (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); evdwl *= hbar; } else evdwl = 0.0; if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, - evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + evdwl,ecoul,fi[0],fi[1],fi[2],delx,dely,delz); } } @@ -322,8 +328,8 @@ void PairSpinMagelec::compute_single_pair(int ii, double fmi[3]) double **x = atom->x; double **sp = atom->sp; double local_cut2; - - double xi[3], rij[3], eij[3]; + double xi[3], eij[3]; + double delx,dely,delz; double spj[3]; int i,j,jnum,itype,jtype; @@ -342,8 +348,6 @@ void PairSpinMagelec::compute_single_pair(int ii, double fmi[3]) xi[1] = x[i][1]; xi[2] = x[i][2]; - eij[0] = eij[1] = eij[2] = 0.0; - jlist = firstneigh[i]; jnum = numneigh[i]; @@ -358,14 +362,14 @@ void PairSpinMagelec::compute_single_pair(int ii, double fmi[3]) spj[1] = sp[j][1]; spj[2] = sp[j][2]; - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + delx = xi[0] - x[j][0]; + dely = xi[1] - x[j][1]; + delz = xi[2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; inorm = 1.0/sqrt(rsq); - eij[0] = inorm*rij[0]; - eij[1] = inorm*rij[1]; - eij[2] = inorm*rij[2]; + eij[0] = -inorm*delx; + eij[1] = -inorm*dely; + eij[2] = -inorm*delz; if (rsq <= local_cut2) { compute_magelec(i,j,rsq,eij,fmi,spj); @@ -380,36 +384,26 @@ void PairSpinMagelec::compute_magelec(int i, int j, double rsq, double eij[3], d { int *type = atom->type; int itype, jtype; + double meix,meiy,meiz; + double vx,vy,vz; itype = type[i]; jtype = type[j]; - double local_cut2 = cut_spin_magelec[itype][jtype]*cut_spin_magelec[itype][jtype]; - - if (rsq <= local_cut2) { - double meix,meiy,meiz; - double rx, ry, rz; - double vx, vy, vz; - - rx = eij[0]; - ry = eij[1]; - rz = eij[2]; - - vx = v_mex[itype][jtype]; - vy = v_mey[itype][jtype]; - vz = v_mez[itype][jtype]; + vx = v_mex[itype][jtype]; + vy = v_mey[itype][jtype]; + vz = v_mez[itype][jtype]; - meix = vy*rz - vz*ry; - meiy = vz*rx - vx*rz; - meiz = vx*ry - vy*rx; + meix = vy*eij[2] - vz*eij[1]; + meiy = vz*eij[0] - vx*eij[2]; + meiz = vx*eij[1] - vy*eij[0]; - meix *= ME[itype][jtype]; - meiy *= ME[itype][jtype]; - meiz *= ME[itype][jtype]; + meix *= ME[itype][jtype]; + meiy *= ME[itype][jtype]; + meiz *= ME[itype][jtype]; - fmi[0] += spj[1]*meiz - spj[2]*meiy; - fmi[1] += spj[2]*meix - spj[0]*meiz; - fmi[2] += spj[0]*meiy - spj[1]*meix; - } + fmi[0] += spj[1]*meiz - spj[2]*meiy; + fmi[1] += spj[2]*meix - spj[0]*meiz; + fmi[2] += spj[0]*meiy - spj[1]*meix; } /* ---------------------------------------------------------------------- */ diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index 0daafad756..55f537cf4f 100644 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -193,8 +193,16 @@ void PairSpinNeel::init_style() double PairSpinNeel::init_one(int i, int j) { - - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + g1[j][i] = g1[i][j]; + g1_mech[j][i] = g1_mech[i][j]; + g2[j][i] = g2[i][j]; + g3[j][i] = g3[i][j]; + q1[j][i] = q1[i][j]; + q1_mech[j][i] = q1_mech[i][j]; + q2[j][i] = q2[i][j]; + q3[j][i] = q3[i][j]; return cut_spin_neel_global; } diff --git a/src/SPIN/pair_spin_neel.h b/src/SPIN/pair_spin_neel.h index 934d4a93ad..f60d7d2dca 100644 --- a/src/SPIN/pair_spin_neel.h +++ b/src/SPIN/pair_spin_neel.h @@ -51,9 +51,9 @@ class PairSpinNeel : public PairSpin { // pseudo-dipolar and pseudo-quadrupolar coeff. - double **g1, **g1_mech; // exchange coeffs gij + double **g1, **g1_mech; // neel coeffs gij double **g2, **g3; // g1 in eV, g2 adim, g3 in Ang - double **q1, **q1_mech; // exchange coeffs qij + double **q1, **q1_mech; // neel coeffs qij double **q2, **q3; // q1 in eV, q2 adim, q3 in Ang double **cut_spin_neel; // cutoff distance exchange diff --git a/src/USER-BOCS/fix_bocs.cpp b/src/USER-BOCS/fix_bocs.cpp index 37e128f556..7fb8a27110 100644 --- a/src/USER-BOCS/fix_bocs.cpp +++ b/src/USER-BOCS/fix_bocs.cpp @@ -846,7 +846,7 @@ void FixBocs::setup(int vflag) if (pstat_flag) { double kt = boltz * t_target; - double nkt = atom->natoms * kt; + double nkt = (atom->natoms + 1) * kt; for (int i = 0; i < 3; i++) if (p_flag[i]) @@ -1508,7 +1508,7 @@ double FixBocs::compute_scalar() double volume; double energy; double kt = boltz * t_target; - double lkt_press = kt; + double lkt_press = 0.0; int ich; if (dimension == 3) volume = domain->xprd * domain->yprd * domain->zprd; else volume = domain->xprd * domain->yprd; @@ -1539,15 +1539,21 @@ double FixBocs::compute_scalar() // sum is over barostatted dimensions if (pstat_flag) { - for (i = 0; i < 3; i++) - if (p_flag[i]) + for (i = 0; i < 3; i++) { + if (p_flag[i]) { energy += 0.5*omega_dot[i]*omega_dot[i]*omega_mass[i] + p_hydro*(volume-vol0) / (pdim*nktv2p); + lkt_press += kt; + } + } if (pstyle == TRICLINIC) { - for (i = 3; i < 6; i++) - if (p_flag[i]) + for (i = 3; i < 6; i++) { + if (p_flag[i]) { energy += 0.5*omega_dot[i]*omega_dot[i]*omega_mass[i]; + lkt_press += kt; + } + } } // extra contributions from thermostat chain for barostat @@ -1880,15 +1886,14 @@ void FixBocs::nhc_temp_integrate() void FixBocs::nhc_press_integrate() { - int ich,i; + int ich,i,pdof; double expfac,factor_etap,kecurrent; double kt = boltz * t_target; - double lkt_press = kt; // Update masses, to preserve initial freq, if flag set if (omega_mass_flag) { - double nkt = atom->natoms * kt; + double nkt = (atom->natoms + 1) * kt; for (int i = 0; i < 3; i++) if (p_flag[i]) omega_mass[i] = nkt/(p_freq[i]*p_freq[i]); @@ -1912,14 +1917,24 @@ void FixBocs::nhc_press_integrate() } kecurrent = 0.0; - for (i = 0; i < 3; i++) - if (p_flag[i]) kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + pdof = 0; + for (i = 0; i < 3; i++) { + if (p_flag[i]) { + kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + pdof++; + } + } if (pstyle == TRICLINIC) { - for (i = 3; i < 6; i++) - if (p_flag[i]) kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + for (i = 3; i < 6; i++) { + if (p_flag[i]) { + kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + pdof++; + } + } } + double lkt_press = pdof * kt; etap_dotdot[0] = (kecurrent - lkt_press)/etap_mass[0]; double ncfac = 1.0/nc_pchain; diff --git a/src/USER-MISC/Install.sh b/src/USER-MISC/Install.sh deleted file mode 100755 index 2d42125ec3..0000000000 --- a/src/USER-MISC/Install.sh +++ /dev/null @@ -1,40 +0,0 @@ -# Install/unInstall package files in LAMMPS -# mode = 0/1/2 for uninstall/install/update - -mode=$1 - -# enforce using portable C locale -LC_ALL=C -export LC_ALL - -# arg1 = file, arg2 = file it depends on - -action () { - if (test $mode = 0) then - rm -f ../$1 - elif (! cmp -s $1 ../$1) then - if (test -z "$2" || test -e ../$2) then - cp $1 .. - if (test $mode = 2) then - echo " updating src/$1" - fi - fi - elif (test ! -n "$2") then - if (test ! -e ../$2) then - rm -f ../$1 - fi - fi -} - -# all package files -# only a few files have dependencies - -for file in *.cpp *.h; do - if (test $file = "pair_cdeam.cpp") then - action pair_cdeam.cpp pair_eam_alloy.cpp - elif (test $file = "pair_cdeam.h") then - action pair_cdeam.h pair_eam_alloy.cpp - else - test -f ${file} && action $file - fi -done diff --git a/src/USER-MISC/README b/src/USER-MISC/README index 68a6252d8d..0f9e7bf383 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -65,7 +65,6 @@ pair_style buck/mdf, Paolo Raiteri, p.raiteri at curtin.edu.au, 2 Dec 15 pair_style coul/diel, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 pair_style dipole/sf, Mario Orsi, orsimario at gmail.com, 8 Aug 11 pair_style edip, Luca Ferraro, luca.ferraro at caspur.it, 15 Sep 11 -pair_style eam/cd, Alexander Stukowski, stukowski at mm.tu-darmstadt.de, 7 Nov 09 pair_style extep, Jaap Kroes (Radboud U), jaapkroes at gmail dot com, 28 Nov 17 pair_style gauss/cut, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11 pair_style lennard/mdf, Paolo Raiteri, p.raiteri at curtin.edu.au, 2 Dec 15 diff --git a/src/USER-MISC/pair_cdeam.cpp b/src/USER-MISC/pair_cdeam.cpp deleted file mode 100644 index 53d9036a61..0000000000 --- a/src/USER-MISC/pair_cdeam.cpp +++ /dev/null @@ -1,644 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - Contributing author: Alexander Stukowski - Technical University of Darmstadt, - Germany Department of Materials Science -------------------------------------------------------------------------- */ - -#include -#include -#include -#include -#include "pair_cdeam.h" -#include "atom.h" -#include "force.h" -#include "comm.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "memory.h" -#include "error.h" - -using namespace LAMMPS_NS; - -// This is for debugging purposes. The ASSERT() macro is used in the code to check -// if everything runs as expected. Change this to #if 0 if you don't need the checking. -#if 0 - #define ASSERT(cond) ((!(cond)) ? my_failure(error,__FILE__,__LINE__) : my_noop()) - - inline void my_noop() {} - inline void my_failure(Error* error, const char* file, int line) { - char str[1024]; - sprintf(str,"Assertion failure: File %s, line %i", file, line); - error->one(FLERR,str); - } -#else - #define ASSERT(cond) -#endif - -#define MAXLINE 1024 // This sets the maximum line length in EAM input files. - -PairCDEAM::PairCDEAM(LAMMPS *lmp, int _cdeamVersion) : PairEAM(lmp), PairEAMAlloy(lmp), cdeamVersion(_cdeamVersion) -{ - single_enable = 0; - restartinfo = 0; - - rhoB = NULL; - D_values = NULL; - hcoeff = NULL; - - // Set communication buffer sizes needed by this pair style. - if(cdeamVersion == 1) { - comm_forward = 4; - comm_reverse = 3; - } - else if(cdeamVersion == 2) { - comm_forward = 3; - comm_reverse = 2; - } - else { - error->all(FLERR,"Invalid CD-EAM potential version."); - } -} - -PairCDEAM::~PairCDEAM() -{ - memory->destroy(rhoB); - memory->destroy(D_values); - if(hcoeff) delete[] hcoeff; -} - -void PairCDEAM::compute(int eflag, int vflag) -{ - int i,j,ii,jj,inum,jnum,itype,jtype; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; - double rsq,rhoip,rhojp,recip,phi; - int *ilist,*jlist,*numneigh,**firstneigh; - - evdwl = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = eflag_global = eflag_atom = 0; - - // Grow per-atom arrays if necessary - if(atom->nmax > nmax) { - memory->destroy(rho); - memory->destroy(fp); - memory->destroy(rhoB); - memory->destroy(D_values); - nmax = atom->nmax; - memory->create(rho,nmax,"pair:rho"); - memory->create(rhoB,nmax,"pair:rhoB"); - memory->create(fp,nmax,"pair:fp"); - memory->create(D_values,nmax,"pair:D_values"); - } - - double **x = atom->x; - double **f = atom->f; - int *type = atom->type; - int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; - - inum = list->inum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - - // Zero out per-atom arrays. - int m = nlocal + atom->nghost; - for(i = 0; i < m; i++) { - rho[i] = 0.0; - rhoB[i] = 0.0; - D_values[i] = 0.0; - } - - // Stage I - - // Compute rho and rhoB at each local atom site. - // Additionally calculate the D_i values here if we are using the one-site formulation. - // For the two-site formulation we have to calculate the D values in an extra loop (Stage II). - for(ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - itype = type[i]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for(jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if(rsq < cutforcesq) { - jtype = type[j]; - double r = sqrt(rsq); - const EAMTableIndex index = radiusToTableIndex(r); - double localrho = RhoOfR(index, jtype, itype); - rho[i] += localrho; - if(jtype == speciesB) rhoB[i] += localrho; - if(newton_pair || j < nlocal) { - localrho = RhoOfR(index, itype, jtype); - rho[j] += localrho; - if(itype == speciesB) rhoB[j] += localrho; - } - - if(cdeamVersion == 1 && itype != jtype) { - // Note: if the i-j interaction is not concentration dependent (because either - // i or j are not species A or B) then its contribution to D_i and D_j should - // be ignored. - // This if-clause is only required for a ternary. - if((itype == speciesA && jtype == speciesB) || (jtype == speciesA && itype == speciesB)) { - double Phi_AB = PhiOfR(index, itype, jtype, 1.0 / r); - D_values[i] += Phi_AB; - if(newton_pair || j < nlocal) - D_values[j] += Phi_AB; - } - } - } - } - } - - // Communicate and sum densities. - if(newton_pair) { - communicationStage = 1; - comm->reverse_comm_pair(this); - } - - // fp = derivative of embedding energy at each atom - // phi = embedding energy at each atom - for(ii = 0; ii < inum; ii++) { - i = ilist[ii]; - EAMTableIndex index = rhoToTableIndex(rho[i]); - fp[i] = FPrimeOfRho(index, type[i]); - if(eflag) { - phi = FofRho(index, type[i]); - if (eflag_global) eng_vdwl += phi; - if (eflag_atom) eatom[i] += phi; - } - } - - // Communicate derivative of embedding function and densities - // and D_values (this for one-site formulation only). - communicationStage = 2; - comm->forward_comm_pair(this); - - // The electron densities may not drop to zero because then the concentration would no longer be defined. - // But the concentration is not needed anyway if there is no interaction with another atom, which is the case - // if the electron density is exactly zero. That's why the following lines have been commented out. - // - //for(i = 0; i < nlocal + atom->nghost; i++) { - // if(rho[i] == 0 && (type[i] == speciesA || type[i] == speciesB)) - // error->one(FLERR,"CD-EAM potential routine: Detected atom with zero electron density."); - //} - - // Stage II - // This is only required for the original two-site formulation of the CD-EAM potential. - - if(cdeamVersion == 2) { - // Compute intermediate value D_i for each atom. - for(ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - itype = type[i]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - // This code line is required for ternary alloys. - if(itype != speciesA && itype != speciesB) continue; - - double x_i = rhoB[i] / rho[i]; // Concentration at atom i. - - for(jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - jtype = type[j]; - if(itype == jtype) continue; - - // This code line is required for ternary alloys. - if(jtype != speciesA && jtype != speciesB) continue; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if(rsq < cutforcesq) { - double r = sqrt(rsq); - const EAMTableIndex index = radiusToTableIndex(r); - - // The concentration independent part of the cross pair potential. - double Phi_AB = PhiOfR(index, itype, jtype, 1.0 / r); - - // Average concentration of two sites - double x_ij = 0.5 * (x_i + rhoB[j]/rho[j]); - - // Calculate derivative of h(x_ij) polynomial function. - double h_prime = evalHprime(x_ij); - - D_values[i] += h_prime * Phi_AB / (2.0 * rho[i] * rho[i]); - if(newton_pair || j < nlocal) - D_values[j] += h_prime * Phi_AB / (2.0 * rho[j] * rho[j]); - } - } - } - - // Communicate and sum D values. - if(newton_pair) { - communicationStage = 3; - comm->reverse_comm_pair(this); - } - communicationStage = 4; - comm->forward_comm_pair(this); - } - - // Stage III - - // Compute force acting on each atom. - for(ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xtmp = x[i][0]; - ytmp = x[i][1]; - ztmp = x[i][2]; - itype = type[i]; - - jlist = firstneigh[i]; - jnum = numneigh[i]; - - // Concentration at site i - double x_i = -1.0; // The value -1 indicates: no concentration dependence for all interactions of atom i. - // It will be replaced by the concentration at site i if atom i is either A or B. - - double D_i, h_prime_i; - - // This if-clause is only required for ternary alloys. - if((itype == speciesA || itype == speciesB) && rho[i] != 0.0) { - - // Compute local concentration at site i. - x_i = rhoB[i]/rho[i]; - ASSERT(x_i >= 0 && x_i<=1.0); - - if(cdeamVersion == 1) { - // Calculate derivative of h(x_i) polynomial function. - h_prime_i = evalHprime(x_i); - D_i = D_values[i] * h_prime_i / (2.0 * rho[i] * rho[i]); - } else if(cdeamVersion == 2) { - D_i = D_values[i]; - } else { - ASSERT(false); - } - } - - for(jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - - delx = xtmp - x[j][0]; - dely = ytmp - x[j][1]; - delz = ztmp - x[j][2]; - rsq = delx*delx + dely*dely + delz*delz; - - if(rsq < cutforcesq) { - jtype = type[j]; - double r = sqrt(rsq); - const EAMTableIndex index = radiusToTableIndex(r); - - // rhoip = derivative of (density at atom j due to atom i) - // rhojp = derivative of (density at atom i due to atom j) - // psip needs both fp[i] and fp[j] terms since r_ij appears in two - // terms of embed eng: Fi(sum rho_ij) and Fj(sum rho_ji) - // hence embed' = Fi(sum rho_ij) rhojp + Fj(sum rho_ji) rhoip - rhoip = RhoPrimeOfR(index, itype, jtype); - rhojp = RhoPrimeOfR(index, jtype, itype); - fpair = fp[i]*rhojp + fp[j]*rhoip; - recip = 1.0/r; - - double x_j = -1; // The value -1 indicates: no concentration dependence for this i-j pair - // because atom j is not of species A nor B. - - // This code line is required for ternary alloy. - if(jtype == speciesA || jtype == speciesB) { - ASSERT(rho[i] != 0.0); - ASSERT(rho[j] != 0.0); - - // Compute local concentration at site j. - x_j = rhoB[j]/rho[j]; - ASSERT(x_j >= 0 && x_j<=1.0); - - double D_j=0.0; - if(cdeamVersion == 1) { - // Calculate derivative of h(x_j) polynomial function. - double h_prime_j = evalHprime(x_j); - D_j = D_values[j] * h_prime_j / (2.0 * rho[j] * rho[j]); - } else if(cdeamVersion == 2) { - D_j = D_values[j]; - } else { - ASSERT(false); - } - double t2 = -rhoB[j]; - if(itype == speciesB) t2 += rho[j]; - fpair += D_j * rhoip * t2; - } - - // This if-clause is only required for a ternary alloy. - // Actually we don't need it at all because D_i should be zero anyway if - // atom i has no concentration dependent interactions (because it is not species A or B). - if(x_i != -1.0) { - double t1 = -rhoB[i]; - if(jtype == speciesB) t1 += rho[i]; - fpair += D_i * rhojp * t1; - } - - double phip; - double phi = PhiOfR(index, itype, jtype, recip, phip); - if(itype == jtype || x_i == -1.0 || x_j == -1.0) { - // Case of no concentration dependence. - fpair += phip; - } else { - // We have a concentration dependence for the i-j interaction. - double h=0.0; - if(cdeamVersion == 1) { - // Calculate h(x_i) polynomial function. - double h_i = evalH(x_i); - // Calculate h(x_j) polynomial function. - double h_j = evalH(x_j); - h = 0.5 * (h_i + h_j); - } else if(cdeamVersion == 2) { - // Average concentration. - double x_ij = 0.5 * (x_i + x_j); - // Calculate h(x_ij) polynomial function. - h = evalH(x_ij); - } else { - ASSERT(false); - } - fpair += h * phip; - phi *= h; - } - - // Divide by r_ij and negate to get forces from gradient. - fpair /= -r; - - f[i][0] += delx*fpair; - f[i][1] += dely*fpair; - f[i][2] += delz*fpair; - if(newton_pair || j < nlocal) { - f[j][0] -= delx*fpair; - f[j][1] -= dely*fpair; - f[j][2] -= delz*fpair; - } - - if(eflag) evdwl = phi; - if(evflag) ev_tally(i,j,nlocal,newton_pair,evdwl,0.0,fpair,delx,dely,delz); - } - } - } - - if(vflag_fdotr) virial_fdotr_compute(); -} - -/* ---------------------------------------------------------------------- */ - -void PairCDEAM::coeff(int narg, char **arg) -{ - PairEAMAlloy::coeff(narg, arg); - - // Make sure the EAM file is a CD-EAM binary alloy. - if(setfl->nelements < 2) - error->all(FLERR,"The EAM file must contain at least 2 elements to be used with the eam/cd pair style."); - - // Read in the coefficients of the h polynomial from the end of the EAM file. - read_h_coeff(arg[2]); - - // Determine which atom type is the A species and which is the B species in the alloy. - // By default take the first element (index 0) in the EAM file as the A species - // and the second element (index 1) in the EAM file as the B species. - speciesA = -1; - speciesB = -1; - for(int i = 1; i <= atom->ntypes; i++) { - if(map[i] == 0) { - if(speciesA >= 0) - error->all(FLERR,"The first element from the EAM file may only be mapped to a single atom type."); - speciesA = i; - } - if(map[i] == 1) { - if(speciesB >= 0) - error->all(FLERR,"The second element from the EAM file may only be mapped to a single atom type."); - speciesB = i; - } - } - if(speciesA < 0) - error->all(FLERR,"The first element from the EAM file must be mapped to exactly one atom type."); - if(speciesB < 0) - error->all(FLERR,"The second element from the EAM file must be mapped to exactly one atom type."); -} - -/* ---------------------------------------------------------------------- - Reads in the h(x) polynomial coefficients -------------------------------------------------------------------------- */ -void PairCDEAM::read_h_coeff(char *filename) -{ - if(comm->me == 0) { - // Open potential file - FILE *fptr; - char line[MAXLINE]; - char nextline[MAXLINE]; - fptr = force->open_potential(filename); - if (fptr == NULL) { - char str[128]; - sprintf(str,"Cannot open EAM potential file %s", filename); - error->one(FLERR,str); - } - - // h coefficients are stored at the end of the file. - // Skip to last line of file. - while(fgets(nextline, MAXLINE, fptr) != NULL) { - strcpy(line, nextline); - } - char* ptr = strtok(line, " \t\n\r\f"); - int degree = atoi(ptr); - nhcoeff = degree+1; - hcoeff = new double[nhcoeff]; - int i = 0; - while((ptr = strtok(NULL," \t\n\r\f")) != NULL && i < nhcoeff) { - hcoeff[i++] = atof(ptr); - } - if(i != nhcoeff || nhcoeff < 1) - error->one(FLERR,"Failed to read h(x) function coefficients from EAM file."); - - // Close the potential file. - fclose(fptr); - } - - MPI_Bcast(&nhcoeff, 1, MPI_INT, 0, world); - if(comm->me != 0) hcoeff = new double[nhcoeff]; - MPI_Bcast(hcoeff, nhcoeff, MPI_DOUBLE, 0, world); -} - - -/* ---------------------------------------------------------------------- */ - -int PairCDEAM::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) -{ - int i,j,m; - - m = 0; - if(communicationStage == 2) { - if(cdeamVersion == 1) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = fp[j]; - buf[m++] = rho[j]; - buf[m++] = rhoB[j]; - buf[m++] = D_values[j]; - } - return m; - } - else if(cdeamVersion == 2) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = fp[j]; - buf[m++] = rho[j]; - buf[m++] = rhoB[j]; - } - return m; - } - else { ASSERT(false); return 0; } - } - else if(communicationStage == 4) { - for (i = 0; i < n; i++) { - j = list[i]; - buf[m++] = D_values[j]; - } - return m; - } - else return 0; -} - -/* ---------------------------------------------------------------------- */ - -void PairCDEAM::unpack_forward_comm(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - if(communicationStage == 2) { - if(cdeamVersion == 1) { - for(i = first; i < last; i++) { - fp[i] = buf[m++]; - rho[i] = buf[m++]; - rhoB[i] = buf[m++]; - D_values[i] = buf[m++]; - } - } - else if(cdeamVersion == 2) { - for(i = first; i < last; i++) { - fp[i] = buf[m++]; - rho[i] = buf[m++]; - rhoB[i] = buf[m++]; - } - } else { - ASSERT(false); - } - } - else if(communicationStage == 4) { - for(i = first; i < last; i++) { - D_values[i] = buf[m++]; - } - } -} - -/* ---------------------------------------------------------------------- */ -int PairCDEAM::pack_reverse_comm(int n, int first, double *buf) -{ - int i,m,last; - - m = 0; - last = first + n; - - if(communicationStage == 1) { - if(cdeamVersion == 1) { - for(i = first; i < last; i++) { - buf[m++] = rho[i]; - buf[m++] = rhoB[i]; - buf[m++] = D_values[i]; - } - return m; - } - else if(cdeamVersion == 2) { - for(i = first; i < last; i++) { - buf[m++] = rho[i]; - buf[m++] = rhoB[i]; - } - return m; - } - else { ASSERT(false); return 0; } - } - else if(communicationStage == 3) { - for(i = first; i < last; i++) { - buf[m++] = D_values[i]; - } - return m; - } - else return 0; -} - -/* ---------------------------------------------------------------------- */ - -void PairCDEAM::unpack_reverse_comm(int n, int *list, double *buf) -{ - int i,j,m; - - m = 0; - if(communicationStage == 1) { - if(cdeamVersion == 1) { - for(i = 0; i < n; i++) { - j = list[i]; - rho[j] += buf[m++]; - rhoB[j] += buf[m++]; - D_values[j] += buf[m++]; - } - } else if(cdeamVersion == 2) { - for(i = 0; i < n; i++) { - j = list[i]; - rho[j] += buf[m++]; - rhoB[j] += buf[m++]; - } - } else { - ASSERT(false); - } - } - else if(communicationStage == 3) { - for(i = 0; i < n; i++) { - j = list[i]; - D_values[j] += buf[m++]; - } - } -} - -/* ---------------------------------------------------------------------- - memory usage of local atom-based arrays -------------------------------------------------------------------------- */ -double PairCDEAM::memory_usage() -{ - double bytes = 2 * nmax * sizeof(double); - return PairEAMAlloy::memory_usage() + bytes; -} diff --git a/src/fix_nh.cpp b/src/fix_nh.cpp index 186376d952..73c70420c5 100644 --- a/src/fix_nh.cpp +++ b/src/fix_nh.cpp @@ -798,7 +798,7 @@ void FixNH::setup(int vflag) if (pstat_flag) { double kt = boltz * t_target; - double nkt = atom->natoms * kt; + double nkt = (atom->natoms + 1) * kt; for (int i = 0; i < 3; i++) if (p_flag[i]) @@ -1446,7 +1446,7 @@ double FixNH::compute_scalar() double volume; double energy; double kt = boltz * t_target; - double lkt_press = kt; + double lkt_press = 0.0; int ich; if (dimension == 3) volume = domain->xprd * domain->yprd * domain->zprd; else volume = domain->xprd * domain->yprd; @@ -1477,15 +1477,21 @@ double FixNH::compute_scalar() // sum is over barostatted dimensions if (pstat_flag) { - for (i = 0; i < 3; i++) - if (p_flag[i]) + for (i = 0; i < 3; i++) { + if (p_flag[i]) { energy += 0.5*omega_dot[i]*omega_dot[i]*omega_mass[i] + p_hydro*(volume-vol0) / (pdim*nktv2p); + lkt_press += kt; + } + } if (pstyle == TRICLINIC) { - for (i = 3; i < 6; i++) - if (p_flag[i]) + for (i = 3; i < 6; i++) { + if (p_flag[i]) { energy += 0.5*omega_dot[i]*omega_dot[i]*omega_mass[i]; + lkt_press += kt; + } + } } // extra contributions from thermostat chain for barostat @@ -1818,15 +1824,15 @@ void FixNH::nhc_temp_integrate() void FixNH::nhc_press_integrate() { - int ich,i; + int ich,i,pdof; double expfac,factor_etap,kecurrent; double kt = boltz * t_target; - double lkt_press = kt; + double lkt_press; // Update masses, to preserve initial freq, if flag set if (omega_mass_flag) { - double nkt = atom->natoms * kt; + double nkt = (atom->natoms + 1) * kt; for (int i = 0; i < 3; i++) if (p_flag[i]) omega_mass[i] = nkt/(p_freq[i]*p_freq[i]); @@ -1850,14 +1856,22 @@ void FixNH::nhc_press_integrate() } kecurrent = 0.0; + pdof = 0; for (i = 0; i < 3; i++) - if (p_flag[i]) kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + if (p_flag[i]) { + kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + pdof++; + } if (pstyle == TRICLINIC) { for (i = 3; i < 6; i++) - if (p_flag[i]) kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + if (p_flag[i]) { + kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + pdof++; + } } + lkt_press = pdof * kt; etap_dotdot[0] = (kecurrent - lkt_press)/etap_mass[0]; double ncfac = 1.0/nc_pchain; diff --git a/src/variable.cpp b/src/variable.cpp index 86296b4b40..f005221400 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -1576,7 +1576,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) newtree->nextra = 0; treestack[ntreestack++] = newtree; - } else print_var_error(FLERR,"Mismatched compute in variable formula",ivar); + } else print_var_error(FLERR, + "Mismatched compute in variable formula",ivar); // ---------------- // fix @@ -1584,7 +1585,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) } else if (strncmp(word,"f_",2) == 0 || strncmp(word,"F_",2) == 0) { if (domain->box_exist == 0) - print_var_error(FLERR,"Variable evaluation before simulation box is defined",ivar); + print_var_error(FLERR,"Variable evaluation before " + "simulation box is defined",ivar); // uppercase used to force access of // global vector vs global scalar, and global array vs global vector @@ -1667,11 +1669,14 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (index1 > fix->size_array_rows && fix->size_array_rows_variable == 0) - print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar); + print_var_error(FLERR,"Variable formula fix array is " + "accessed out-of-range",ivar); if (index2 > fix->size_array_cols) - print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar); + print_var_error(FLERR,"Variable formula fix array is " + "accessed out-of-range",ivar); if (update->whichflag > 0 && update->ntimestep % fix->global_freq) - print_var_error(FLERR,"Fix in variable not computed at a compatible time",ivar); + print_var_error(FLERR,"Fix in variable not computed at a " + "compatible time",ivar); value1 = fix->compute_array(index1-1,index2-1); if (tree) { @@ -1688,13 +1693,17 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) } else if (nbracket == 0 && fix->vector_flag) { if (update->whichflag > 0 && update->ntimestep % fix->global_freq) - print_var_error(FLERR,"Fix in variable not computed at compatible time",ivar); + print_var_error(FLERR,"Fix in variable not computed at " + "compatible time",ivar); if (tree == NULL) - print_var_error(FLERR,"Fix global vector in ""equal-style variable formula",ivar); + print_var_error(FLERR,"Fix global vector in " + "equal-style variable formula",ivar); if (treetype == ATOM) - print_var_error(FLERR,"Fix global vector in ""atom-style variable formula",ivar); + print_var_error(FLERR,"Fix global vector in " + "atom-style variable formula",ivar); if (fix->size_vector == 0) - print_var_error(FLERR,"Variable formula fix vector is zero length",ivar); + print_var_error(FLERR,"Variable formula " + "fix vector is zero length",ivar); int nvec = fix->size_vector; double *vec; @@ -1726,7 +1735,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) print_var_error(FLERR,"Fix global vector in " "atom-style variable formula",ivar); if (fix->size_array_rows == 0) - print_var_error(FLERR,"Variable formula fix array is zero length",ivar); + print_var_error(FLERR,"Variable formula fix array is " + "zero length",ivar); int nvec = fix->size_array_rows; double *vec; @@ -1785,10 +1795,12 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) fix->size_peratom_cols == 0) { if (tree == NULL) - print_var_error(FLERR,"Per-atom fix in equal-style variable formula",ivar); + print_var_error(FLERR,"Per-atom fix in " + "equal-style variable formula",ivar); if (update->whichflag > 0 && update->ntimestep % fix->peratom_freq) - print_var_error(FLERR,"Fix in variable not computed at compatible time",ivar); + print_var_error(FLERR,"Fix in variable not computed at " + "compatible time",ivar); Tree *newtree = new Tree(); newtree->type = ATOMARRAY; @@ -1805,13 +1817,15 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) fix->size_peratom_cols > 0) { if (tree == NULL) - print_var_error(FLERR,"Per-atom fix in equal-style variable formula",ivar); + print_var_error(FLERR,"Per-atom fix in " + "equal-style variable formula",ivar); if (index1 > fix->size_peratom_cols) print_var_error(FLERR,"Variable formula fix array " "is accessed out-of-range",ivar); if (update->whichflag > 0 && update->ntimestep % fix->peratom_freq) - print_var_error(FLERR,"Fix in variable not computed at compatible time",ivar); + print_var_error(FLERR,"Fix in variable not computed at " + "compatible time",ivar); Tree *newtree = new Tree(); newtree->type = ATOMARRAY; @@ -1878,7 +1892,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) char *var = retrieve(word+2); if (var == NULL) - print_var_error(FLERR,"Invalid variable evaluation in variable formula",ivar); + print_var_error(FLERR,"Invalid variable evaluation in " + "variable formula",ivar); if (tree) { Tree *newtree = new Tree(); newtree->type = VALUE; @@ -1977,7 +1992,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) double *vec; int nvec = compute_vector(ivar,&vec); if (index <= 0 || index > nvec) - print_var_error(FLERR,"Invalid index into vector-style variable",ivar); + print_var_error(FLERR,"Invalid index into " + "vector-style variable",ivar); int m = index; // convert from tagint to int if (tree) { @@ -1989,7 +2005,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) treestack[ntreestack++] = newtree; } else argstack[nargstack++] = vec[m-1]; - } else print_var_error(FLERR,"Mismatched variable in variable formula",ivar); + } else print_var_error(FLERR,"Mismatched variable in " + "variable formula",ivar); // ---------------- // math/group/special function or atom value/vector or @@ -2194,7 +2211,8 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (value2 == 0.0) argstack[nargstack++] = 1.0; else if ((value1 == 0.0) && (value2 < 0.0)) - print_var_error(FLERR,"Invalid power expression in variable formula",ivar); + print_var_error(FLERR,"Invalid power expression in " + "variable formula",ivar); else argstack[nargstack++] = pow(value1,value2); } else if (opprevious == UNARY) { argstack[nargstack++] = -value2; @@ -3368,7 +3386,8 @@ int Variable::math_function(char *word, char *contents, Tree **tree, if (tree) newtree->type = LN; else { if (value1 <= 0.0) - print_var_error(FLERR,"Log of zero/negative value in variable formula",ivar); + print_var_error(FLERR,"Log of zero/negative value in " + "variable formula",ivar); argstack[nargstack++] = log(value1); } } else if (strcmp(word,"log") == 0) { @@ -3377,7 +3396,8 @@ int Variable::math_function(char *word, char *contents, Tree **tree, if (tree) newtree->type = LOG; else { if (value1 <= 0.0) - print_var_error(FLERR,"Log of zero/negative value in variable formula",ivar); + print_var_error(FLERR,"Log of zero/negative value in " + "variable formula",ivar); argstack[nargstack++] = log10(value1); } } else if (strcmp(word,"abs") == 0) { @@ -3482,7 +3502,8 @@ int Variable::math_function(char *word, char *contents, Tree **tree, if (narg != 2) print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (update->whichflag == 0) - print_var_error(FLERR,"Cannot use ramp in variable formula between runs",ivar); + print_var_error(FLERR,"Cannot use ramp in " + "variable formula between runs",ivar); if (tree) newtree->type = RAMP; else { double delta = update->ntimestep - update->beginstep; @@ -3617,7 +3638,8 @@ int Variable::math_function(char *word, char *contents, Tree **tree, if (narg != 2) print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (update->whichflag == 0) - print_var_error(FLERR,"Cannot use vdisplace in variable formula between runs",ivar); + print_var_error(FLERR,"Cannot use vdisplace in " + "variable formula between runs",ivar); if (tree) newtree->type = VDISPLACE; else { double delta = update->ntimestep - update->beginstep; @@ -3629,7 +3651,8 @@ int Variable::math_function(char *word, char *contents, Tree **tree, if (narg != 3) print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (update->whichflag == 0) - print_var_error(FLERR,"Cannot use swiggle in variable formula between runs",ivar); + print_var_error(FLERR,"Cannot use swiggle in " + "variable formula between runs",ivar); if (tree) newtree->type = CWIGGLE; else { if (values[0] == 0.0) @@ -3644,7 +3667,8 @@ int Variable::math_function(char *word, char *contents, Tree **tree, if (narg != 3) print_var_error(FLERR,"Invalid math function in variable formula",ivar); if (update->whichflag == 0) - print_var_error(FLERR,"Cannot use cwiggle in variable formula between runs",ivar); + print_var_error(FLERR,"Cannot use cwiggle in " + "variable formula between runs",ivar); if (tree) newtree->type = CWIGGLE; else { if (values[0] == 0.0) @@ -3709,7 +3733,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, if (strcmp(word,"count") == 0) { if (narg == 1) value = group->count(igroup); - else if (narg == 2) value = group->count(igroup,region_function(args[1],ivar)); + else if (narg == 2) + value = group->count(igroup,region_function(args[1],ivar)); else print_var_error(FLERR,"Invalid group function in variable formula",ivar); } else if (strcmp(word,"mass") == 0) { @@ -3719,7 +3744,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"charge") == 0) { if (narg == 1) value = group->charge(igroup); - else if (narg == 2) value = group->charge(igroup,region_function(args[1],ivar)); + else if (narg == 2) + value = group->charge(igroup,region_function(args[1],ivar)); else print_var_error(FLERR,"Invalid group function in variable formula",ivar); } else if (strcmp(word,"xcm") == 0) { @@ -3732,7 +3758,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, int iregion = region_function(args[2],ivar); double masstotal = group->mass(igroup,iregion); group->xcm(igroup,masstotal,xcm,iregion); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); if (strcmp(args[1],"x") == 0) value = xcm[0]; else if (strcmp(args[1],"y") == 0) value = xcm[1]; else if (strcmp(args[1],"z") == 0) value = xcm[2]; @@ -3748,7 +3775,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, int iregion = region_function(args[2],ivar); double masstotal = group->mass(igroup,iregion); group->vcm(igroup,masstotal,vcm,iregion); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); if (strcmp(args[1],"x") == 0) value = vcm[0]; else if (strcmp(args[1],"y") == 0) value = vcm[1]; else if (strcmp(args[1],"z") == 0) value = vcm[2]; @@ -3767,7 +3795,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"bound") == 0) { double minmax[6]; if (narg == 2) group->bounds(igroup,minmax); - else if (narg == 3) group->bounds(igroup,minmax,region_function(args[2],ivar)); + else if (narg == 3) + group->bounds(igroup,minmax,region_function(args[2],ivar)); else print_var_error(FLERR,"Invalid group function in variable formula",ivar); if (strcmp(args[1],"xmin") == 0) value = minmax[0]; else if (strcmp(args[1],"xmax") == 0) value = minmax[1]; @@ -3789,7 +3818,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, double masstotal = group->mass(igroup,iregion); group->xcm(igroup,masstotal,xcm,iregion); value = group->gyration(igroup,masstotal,xcm,iregion); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); } else if (strcmp(word,"ke") == 0) { if (narg == 1) value = group->ke(igroup); @@ -3808,7 +3838,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, double masstotal = group->mass(igroup,iregion); group->xcm(igroup,masstotal,xcm,iregion); group->angmom(igroup,xcm,lmom,iregion); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); if (strcmp(args[1],"x") == 0) value = lmom[0]; else if (strcmp(args[1],"y") == 0) value = lmom[1]; else if (strcmp(args[1],"z") == 0) value = lmom[2]; @@ -3826,7 +3857,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, double masstotal = group->mass(igroup,iregion); group->xcm(igroup,masstotal,xcm,iregion); group->torque(igroup,xcm,tq,iregion); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); if (strcmp(args[1],"x") == 0) value = tq[0]; else if (strcmp(args[1],"y") == 0) value = tq[1]; else if (strcmp(args[1],"z") == 0) value = tq[2]; @@ -3844,7 +3876,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, double masstotal = group->mass(igroup,iregion); group->xcm(igroup,masstotal,xcm,iregion); group->inertia(igroup,xcm,inertia,iregion); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); if (strcmp(args[1],"xx") == 0) value = inertia[0][0]; else if (strcmp(args[1],"yy") == 0) value = inertia[1][1]; else if (strcmp(args[1],"zz") == 0) value = inertia[2][2]; @@ -3869,7 +3902,8 @@ int Variable::group_function(char *word, char *contents, Tree **tree, group->angmom(igroup,xcm,angmom,iregion); group->inertia(igroup,xcm,inertia,iregion); group->omega(angmom,inertia,omega); - } else print_var_error(FLERR,"Invalid group function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid group function in " + "variable formula",ivar); if (strcmp(args[1],"x") == 0) value = omega[0]; else if (strcmp(args[1],"y") == 0) value = omega[1]; else if (strcmp(args[1],"z") == 0) value = omega[2]; @@ -3924,7 +3958,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, Tree **treestack, int &ntreestack, double *argstack, int &nargstack, int ivar) { - double value,xvalue,sx,sy,sxx,sxy; + bigint sx,sxx; + double value,xvalue,sy,sxy; // word not a match to any special function @@ -4020,11 +4055,13 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else index = 0; int ifix = modify->find_fix(&args[0][2]); - if (ifix < 0) print_var_error(FLERR,"Invalid fix ID in variable formula",ivar); + if (ifix < 0) + print_var_error(FLERR,"Invalid fix ID in variable formula",ivar); fix = modify->fix[ifix]; if (index == 0 && fix->vector_flag) { if (update->whichflag > 0 && update->ntimestep % fix->global_freq) - print_var_error(FLERR,"Fix in variable not computed at compatible time",ivar); + print_var_error(FLERR,"Fix in variable not computed at " + "compatible time",ivar); nvec = fix->size_vector; nstride = 1; } else if (index && fix->array_flag) { @@ -4032,7 +4069,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, print_var_error(FLERR,"Variable formula fix array " "is accessed out-of-range",ivar); if (update->whichflag > 0 && update->ntimestep % fix->global_freq) - print_var_error(FLERR,"Fix in variable not computed at compatible time",ivar); + print_var_error(FLERR,"Fix in variable not computed at " + "compatible time",ivar); nvec = fix->size_array_rows; nstride = fix->size_array_cols; } else print_var_error(FLERR,"Mismatched fix in variable formula",ivar); @@ -4048,10 +4086,12 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else index = 0; if (index) - print_var_error(FLERR,"Invalid special function in variable formula",ivar); + print_var_error(FLERR,"Invalid special function in " + "variable formula",ivar); ivar = find(&args[0][2]); if (ivar < 0) - print_var_error(FLERR,"Invalid special function in variable formula",ivar); + print_var_error(FLERR,"Invalid special function in " + "variable formula",ivar); if (style[ivar] != VECTOR) print_var_error(FLERR,"Mis-matched special function variable " "in variable formula",ivar); @@ -4062,12 +4102,16 @@ int Variable::special_function(char *word, char *contents, Tree **tree, nvec = compute_vector(ivar,&vec); nstride = 1; - } else print_var_error(FLERR,"Invalid special function in variable formula",ivar); + } else print_var_error(FLERR,"Invalid special function in " + "variable formula",ivar); value = 0.0; - if (method == SLOPE) sx = sy = sxx = sxy = 0.0; - if (method == XMIN) value = BIG; - if (method == XMAX) value = -BIG; + if (method == SLOPE) { + sx = sxx = 0; + sy = sxy = 0.0; + } + else if (method == XMIN) value = BIG; + else if (method == XMAX) value = -BIG; if (compute) { double *vec; @@ -4084,12 +4128,10 @@ int Variable::special_function(char *word, char *contents, Tree **tree, else if (method == AVE) value += vec[j]; else if (method == TRAP) value += vec[j]; else if (method == SLOPE) { - if (nvec > 1) xvalue = (double) i / (nvec-1); - else xvalue = 0.0; - sx += xvalue; + sx += i; sy += vec[j]; - sxx += xvalue*xvalue; - sxy += xvalue*vec[j]; + sxx += i*i; + sxy += i*vec[j]; } j += nstride; } @@ -4107,12 +4149,10 @@ int Variable::special_function(char *word, char *contents, Tree **tree, else if (method == AVE) value += one; else if (method == TRAP) value += one; else if (method == SLOPE) { - if (nvec > 1) xvalue = (double) i / (nvec-1); - else xvalue = 0.0; - sx += xvalue; + sx += i; sy += one; - sxx += xvalue*xvalue; - sxy += xvalue*one; + sxx += i*i; + sxy += i*one; } } if (method == TRAP) { @@ -4134,12 +4174,10 @@ int Variable::special_function(char *word, char *contents, Tree **tree, else if (method == AVE) value += one; else if (method == TRAP) value += one; else if (method == SLOPE) { - if (nvec > 1) xvalue = (double) i / (nvec-1); - else xvalue = 0.0; - sx += xvalue; + sx += i; sy += one; - sxx += xvalue*xvalue; - sxy += xvalue*one; + sxx += i*i; + sxy += i*one; } } if (method == TRAP) value -= 0.5*vec[0] + 0.5*vec[nvec-1]; @@ -4148,9 +4186,9 @@ int Variable::special_function(char *word, char *contents, Tree **tree, if (method == AVE) value /= nvec; if (method == SLOPE) { - double numerator = sxy - sx*sy; - double denominator = sxx - sx*sx; - if (denominator != 0.0) value = numerator/denominator / nvec; + double numerator = nvec*sxy - sx*sy; + double denominator = nvec*sxx - sx*sx; + if (denominator != 0.0) value = numerator/denominator; else value = BIG; } @@ -4169,7 +4207,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"gmask") == 0) { if (tree == NULL) - print_var_error(FLERR,"Gmask function in equal-style variable formula",ivar); + print_var_error(FLERR,"Gmask function in equal-style " + "variable formula",ivar); if (narg != 1) print_var_error(FLERR,"Invalid special function in variable formula",ivar); @@ -4186,7 +4225,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"rmask") == 0) { if (tree == NULL) - print_var_error(FLERR,"Rmask function in equal-style variable formula",ivar); + print_var_error(FLERR,"Rmask function in equal-style " + "variable formula",ivar); if (narg != 1) print_var_error(FLERR,"Invalid special function in variable formula",ivar); @@ -4202,7 +4242,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"grmask") == 0) { if (tree == NULL) - print_var_error(FLERR,"Grmask function in equal-style variable formula",ivar); + print_var_error(FLERR,"Grmask function in equal-style " + "variable formula",ivar); if (narg != 2) print_var_error(FLERR,"Invalid special function in variable formula",ivar); @@ -4228,7 +4269,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, int ivar = find(args[0]); if (ivar < 0) - print_var_error(FLERR,"Variable ID in variable formula does not exist",ivar); + print_var_error(FLERR,"Variable ID in " + "variable formula does not exist",ivar); // SCALARFILE has single current value, read next one // save value in tree or on argstack @@ -4253,7 +4295,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else if (style[ivar] == ATOMFILE) { if (tree == NULL) - print_var_error(FLERR,"Atomfile variable in equal-style variable formula",ivar); + print_var_error(FLERR,"Atomfile variable in " + "equal-style variable formula",ivar); double *result; memory->create(result,atom->nlocal,"variable:result"); @@ -4271,11 +4314,13 @@ int Variable::special_function(char *word, char *contents, Tree **tree, newtree->nextra = 0; treestack[ntreestack++] = newtree; - } else print_var_error(FLERR,"Invalid variable style in special function next",ivar); + } else print_var_error(FLERR,"Invalid variable style in " + "special function next",ivar); } else if (strcmp(word,"is_active") == 0) { if (narg != 2) - print_var_error(FLERR,"Invalid is_active() function in variable formula",ivar); + print_var_error(FLERR,"Invalid is_active() function in " + "variable formula",ivar); Info info(lmp); value = (info.is_active(args[0],args[1])) ? 1.0 : 0.0; @@ -4293,7 +4338,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"is_available") == 0) { if (narg != 2) - print_var_error(FLERR,"Invalid is_available() function in variable formula",ivar); + print_var_error(FLERR,"Invalid is_available() function in " + "variable formula",ivar); Info info(lmp); value = (info.is_available(args[0],args[1])) ? 1.0 : 0.0; @@ -4311,7 +4357,8 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"is_defined") == 0) { if (narg != 2) - print_var_error(FLERR,"Invalid is_defined() function in variable formula",ivar); + print_var_error(FLERR,"Invalid is_defined() function in " + "variable formula",ivar); Info info(lmp); value = (info.is_defined(args[0],args[1])) ? 1.0 : 0.0; diff --git a/src/version.h b/src/version.h index 90a21631d9..b95c259dd6 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "16 Jul 2018" +#define LAMMPS_VERSION "2 Aug 2018" diff --git a/tools/emacs/README.md b/tools/emacs/README.md new file mode 100644 index 0000000000..75504a7000 --- /dev/null +++ b/tools/emacs/README.md @@ -0,0 +1,82 @@ +# GNU Emacs Syntax Highlighting + +> Copyright (C) 2010-2018 Aidan Thompson +> Copyright (C) 2018 Rohit Goswami + +The `lammps-mode.el` file provided in this directory will enable syntax +highlighting for the lammps script syntax in GNU Emacs. The groupings of +commands were originally copied from `tools/vim`. + +## Installation +**Requirements: GNU Emacs 24.\*** + +### Obtaining the Package + +#### MELPA + +The easiest installation method is via MELPA and it is advisable to use one of +the many [MELPA installation methods](https://melpa.org/#/getting-started). + +For example, with [use-package](https://github.com/jwiegley/use-package) one can +simply use the following: + +``` emacs-lisp +(use-package lammps-mode) +``` + +#### Manually + +Assuming for some reason you have downloaded the file to `~/.emacs.d/lisp` you +would do the following (kanged [from here](http://ergoemacs.org/emacs/emacs_installing_packages.html)): + +``` emacs-lisp +;; Tell emacs where is your personal elisp lib dir +(add-to-list 'load-path "~/.emacs.d/lisp/") + +;; load the package. +(load "lammps-mode") +``` + +### Autoloading \& Auto-recognition + +To automatically turn on the LAMMPS mode for editing your input scripts, +use the following line as the **first** line of your script: +``` +# -*- lammps -*- +``` + +For automatically switching on the LAMMPS mode based on filename patterns, +e.g. for `in.*` and `*.lmp` files, add the following code to your `.emacs`: + +``` emacs-lisp +(autoload 'lammps-mode "lammps-mode.el" "LAMMPS mode." t) +(setq auto-mode-alist (append auto-mode-alist + '(("in\\." . lammps-mode)) + '(("\\.lmp\\'" . lammps-mode)) + )) +``` + +## Status + +By far not all commands are included in the syntax file (lammps-mode.el). You +can easily add new ones to the existing classes. + +## Implementation Details + +`lammps-mode` is derived from `shell-script-mode` which provides some basic +syntax highlighting of strings, comments, etc. + +The MELPA recipe used for this package is simply: + +``` emacs-lisp +(lammps-mode :fetcher github :repo "HaoZeke/lammps-mode") +``` + +## Caveats + +* Does not work with Xemacs [See [this comment](https://github.com/lammps/lammps/pull/1022#issuecomment-408871233)] + +## License + +[GNU GPL v2](https://github.com/HaoZeke/lammps-mode/blob/master/LICENSE). +Check the file for more details. diff --git a/tools/emacs/README.txt b/tools/emacs/README.txt deleted file mode 100644 index 8dfc37cb85..0000000000 --- a/tools/emacs/README.txt +++ /dev/null @@ -1,23 +0,0 @@ -=== Emacs Syntax Highlighting === -Created by Aidan Thompson 12/2010 -=============================== - -The lammps.el file provided in this directory will enable syntax -highlighting for the lammps script syntax in emacs. The groupings -of commands were copied from tools/vim. The simulation scripts have to -end on *.lmp or start with in.* (see lammps.el). By far not all -commands are included in the syntax file (lammps.el). -You can easily add new ones to the existing classes. -'lammps-mode' is derived from 'shell-script-mode' which provides -some basic syntax highlighting of strings, comments, etc. - -=To enable the highlighting: -============================ -(0) Create/edit the emacs init file ~/.emacs to contain: - -(load "~/.emacs.d/lammps") - -This file may also be called ~/.emacs.el, or ~/.emacs.d/init.el - -(1) Copy lammps.el to the directory ~/.emacs.d - diff --git a/tools/emacs/lammps.el b/tools/emacs/lammps-mode.el similarity index 73% rename from tools/emacs/lammps.el rename to tools/emacs/lammps-mode.el index d1ebebbbbf..37e8a32116 100644 --- a/tools/emacs/lammps.el +++ b/tools/emacs/lammps-mode.el @@ -1,7 +1,48 @@ -;; LAMMPS auto-mode +;;; lammps-mode.el --- basic syntax highlighting for LAMMPS files + +;; Copyright (C) 2010-18 Aidan Thompson +;; Copyright (C) 2018 Rohit Goswami + +;; Author: Aidan Thompson +;; Maintainer: Rohit Goswami +;; Created: December 4, 2010 +;; Modified: July 30, 2018 +;; Version: 1.5.0 +;; Keywords: languages, faces +;; Homepage: https://github.com/lammps/lammps/tree/master/tools/emacs +;; Package-Requires: ((emacs "24.4")) + +;; This file is not part of GNU Emacs. + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License along +;; with this program; if not, write to the Free Software Foundation, Inc., +;; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +;;; Commentary: ;; translation of keyword classes from tools/vim ;; see http://xahlee.org/emacs/elisp_syntax_coloring.html +;; Put this in your .emacs file to enable autoloading of lammps-mode +;; and auto-recognition of "in.*" and "*.lmp" files: +;; +;; (autoload 'lammps-mode "lammps-mode.el" "LAMMPS mode." t) +;; (setq auto-mode-alist (append auto-mode-alist +;; '(("in\\." . lammps-mode)) +;; '(("\\.lmp\\'" . lammps-mode)) +;; )) +;; + +;;; Code: ;; define several keyword classes (defvar lammps-output '("log" @@ -136,6 +177,8 @@ (defvar lammps-variable-regexp "\\$\\({[a-zA-Z0-9_]+}\\)\\|\\$[A-Za-z]") +(defvar lammps-font-lock-keywords) + ;; clear memory (setq lammps-output nil) (setq lammps-read nil) @@ -151,8 +194,7 @@ ;; create the list for font-lock. ;; each class of keyword is given a particular face -(setq - lammps-font-lock-keywords +(setq lammps-font-lock-keywords `((,lammps-output-regexp . font-lock-function-name-face) (,lammps-read-regexp . font-lock-preprocessor-face) (,lammps-lattice-regexp . font-lock-type-face) @@ -199,12 +241,5 @@ (setq lammps-comment-regexp nil) (setq lammps-variable-regexp nil)) -;; apply it to specified filename patterns -(setq - auto-mode-alist - (append - auto-mode-alist - '(("in\\." . lammps-mode)) - '(("\\.lmp\\'" . lammps-mode)) - )) - +(provide 'lammps-mode) +;;; lammps-mode.el ends here -- GitLab From b97195d48f69d984005b81d33da4fc161e3806f8 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 6 Aug 2018 15:58:53 -0600 Subject: [PATCH 408/675] CMake: download ScaFaCoS, compile and link it - required resorting, as Fortran MPI is required --- cmake/CMakeLists.txt | 103 +++++++++++++++++++++++++++++++------------ 1 file changed, 75 insertions(+), 28 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 401bdca99c..b2cc7e613d 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -115,6 +115,34 @@ set(LAMMPS_LINK_LIBS) set(LAMMPS_DEPS) set(LAMMPS_API_DEFINES) +set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR + KSPACE MANYBODY MC MEAM MISC MOLECULE PERI REAX REPLICA RIGID SHOCK SPIN SNAP + SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS + USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE + USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC + USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SCAFACOS + USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM) +set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU) +set(OTHER_PACKAGES CORESHELL QEQ) +foreach(PKG ${DEFAULT_PACKAGES}) + option(PKG_${PKG} "Build ${PKG} Package" OFF) +endforeach() +foreach(PKG ${ACCEL_PACKAGES} ${OTHER_PACKAGES}) + option(PKG_${PKG} "Build ${PKG} Package" OFF) +endforeach() + +###################################################### +# packages with special compiler needs or external libs +###################################################### +if(PKG_REAX OR PKG_MEAM OR PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE OR PKG_USER-SCAFACOS) + enable_language(Fortran) +endif() + +if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM OR PKG_USER-SCAFACOS) + enable_language(C) +endif() + +# do MPI detection after language activation, if MPI for these language is required find_package(MPI QUIET) option(BUILD_MPI "Build MPI version" ${MPI_FOUND}) if(BUILD_MPI) @@ -154,22 +182,6 @@ if(ENABLE_TESTING) enable_testing() endif(ENABLE_TESTING) -set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR - KSPACE MANYBODY MC MEAM MISC MOLECULE PERI REAX REPLICA RIGID SHOCK SPIN SNAP - SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS - USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE - USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC - USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SCAFACOS - USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM) -set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU) -set(OTHER_PACKAGES CORESHELL QEQ) -foreach(PKG ${DEFAULT_PACKAGES}) - option(PKG_${PKG} "Build ${PKG} Package" OFF) -endforeach() -foreach(PKG ${ACCEL_PACKAGES} ${OTHER_PACKAGES}) - option(PKG_${PKG} "Build ${PKG} Package" OFF) -endforeach() - macro(pkg_depends PKG1 PKG2) if(PKG_${PKG1} AND NOT (PKG_${PKG2} OR BUILD_${PKG2})) message(FATAL_ERROR "${PKG1} package needs LAMMPS to be build with ${PKG2}") @@ -182,17 +194,7 @@ pkg_depends(MPIIO MPI) pkg_depends(USER-ATC MANYBODY) pkg_depends(USER-LB MPI) pkg_depends(USER-PHONON KSPACE) - -###################################################### -# packages with special compiler needs or external libs -###################################################### -if(PKG_REAX OR PKG_MEAM OR PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE) - enable_language(Fortran) -endif() - -if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM) - enable_language(C) -endif() +pkg_depends(USER-SCAFACOS MPI) find_package(OpenMP QUIET) option(BUILD_OMP "Build with OpenMP support" ${OpenMP_FOUND}) @@ -350,10 +352,55 @@ if(PKG_LATTE) endif() if(PKG_USER-SCAFACOS) + find_package(GSL REQUIRED) + option(DOWNLOAD_SCAFACOS "Download ScaFaCoS (instead of using the system's one)" OFF) + if(DOWNLOAD_SCAFACOS) + include(ExternalProject) + ExternalProject_Add(scafacos_build + URL https://github.com/scafacos/scafacos/releases/download/v1.0.0/scafacos-1.0.0.tar.gz + URL_MD5 c75d75d8a4cb9757faddb8b205a2b20f + CONFIGURE_COMMAND /configure --prefix= + --disable-doc + --enable-fcs-solvers=fmm,p2nfft,direct,ewald + FC=${CMAKE_MPI_Fortran_COMPILER} + CXX=${CMAKE_MPI_CXX_COMPILER} + CC=${CMAKE_MPI_C_COMPILER} + F77= + ) + ExternalProject_get_property(scafacos_build INSTALL_DIR) + set(SCAFACOS_BUILD_DIR ${INSTALL_DIR}) + set(SCAFACOS_INCLUDE_DIRS ${SCAFACOS_BUILD_DIR}/include) + list(APPEND LAMMPS_DEPS scafacos_build) + # list and order from pkg_config file of ScaFaCoS build + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs.a) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_direct.a) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_ewald.a) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fmm.a) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_p2nfft.a) + list(APPEND LAMMPS_LINK_LIBS ${GSL_LIBRARIES}) + #list(APPEND LAMMPS_LINK_LIBS gsl) + #list(APPEND LAMMPS_LINK_LIBS gslcblas) + list(APPEND LAMMPS_LINK_LIBS m) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_near.a) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_gridsort.a) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_resort.a) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_common.a) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_pnfft.a) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_pfft.a) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fftw3_mpi.a) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fftw3.a) + list(APPEND LAMMPS_LINK_LIBS ${MPI_Fortran_LIBRARIES}) + list(APPEND LAMMPS_LINK_LIBS ${MPI_C_LIBRARIES}) +# -L${libdir} -lfcs4fortran -lfcs -lfcs_direct -lfcs_ewald -lfcs_fmm -lfcs_p2nfft -lgsl -lgslcblas -lm -lfcs_near -lfcs_gridsort -lfcs_resort -lfcs_common -lfcs_pnfft -lfcs_pfft -lfcs_fftw3_mpi -lfcs_fftw3 -L/projects/opt/centos7/mpich/3.2-gcc_6.2.0/lib -L/projects/opt/centos7/gcc/6.2.0/packages/gcc-6.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/6.2.0 -L/projects/opt/centos7/gcc/6.2.0/packages/gcc-6.2.0/bin/../lib/gcc -L/projects/opt/centos7/gcc/6.2.0/packages/gcc-6.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/projects/opt/centos7/gcc/6.2.0/packages/gcc-6.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../.. -lmpifort -lmpi -lgfortran -lm -lquadmath +#libfcs4fortran.a libfcs_common.a libfcs_direct.la libfcs_fftw3.a libfcs_fftw3_mpi.la libfcs_gridsort.a libfcs_near.a libfcs_p2nfft.la libfcs_pnfft.a libfcs_resort.la +#libfcs4fortran.la libfcs_common.la libfcs_ewald.a libfcs_fftw3.la libfcs_fmm.a libfcs_gridsort.la libfcs_near.la libfcs_pfft.a libfcs_pnfft.la pkgconfig +#libfcs.a libfcs_direct.a libfcs_ewald.la libfcs_fftw3_mpi.a libfcs_fmm.la libfcs.la libfcs_p2nfft.a libfcs_pfft.la libfcs_resort.a + else() FIND_PACKAGE(PkgConfig REQUIRED) PKG_CHECK_MODULES(SCAFACOS scafacos) - include_directories(${SCAFACOS_INCLUDE_DIRS}) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_LDFLAGS}) + endif() + include_directories(${SCAFACOS_INCLUDE_DIRS}) endif() if(PKG_USER-MOLFILE) -- GitLab From 953b2837739501df789721655447c6c14a6236f7 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 6 Aug 2018 15:59:46 -0600 Subject: [PATCH 409/675] updated URL for tarball download --- lib/scafacos/Install.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/scafacos/Install.py b/lib/scafacos/Install.py index df82780438..4e00e805d1 100644 --- a/lib/scafacos/Install.py +++ b/lib/scafacos/Install.py @@ -29,8 +29,8 @@ make lib-scafacos args="-p $HOME/scafacos" # use existing Scafacos installation # settings -version = "scafacos-0.9" -url = "https://gigamove.rz.rwth-aachen.de/d/id/fTmrTm4EUAUSAp/dd/100" +version = "scafacos-1.0.0" +url = "https://github.com/scafacos/scafacos/releases/download/v1.0.0/scafacos-1.0.0.tar.gz" #url = "https://gigamove.rz.rwth-aachen.de/d/id/CTzyApN76MXMJ6/dd/100" % version # print error message or help -- GitLab From 0a27b7065b0476e1fc3c9834bf783a7278b4053d Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Mon, 6 Aug 2018 16:01:39 -0600 Subject: [PATCH 410/675] bug fixes: ScaFaCoS returns virial as 9-value array, requires copies to Lammps 6-value array; fixed error in compuation of per-atom energy calculation --- src/USER-SCAFACOS/scafacos.cpp | 22 ++++++++++++++++++++-- src/USER-SCAFACOS/scafacos.h | 2 ++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index d4b106b26c..27828b1da1 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -219,7 +219,25 @@ void Scafacos::compute(int eflag, int vflag) if (vflag_global) { - fcs_get_virial(fcs,virial); + fcs_get_virial(fcs,virial_int); + /* + printf(" %lf %lf %lf \n %lf %lf %lf \n %lf %lf %lf \n ", + virial_int[0], + virial_int[1], + virial_int[2], + virial_int[3], + virial_int[4], + virial_int[5], + virial_int[6], + virial_int[7], + virial_int[8]); + */ + virial[0] = virial_int[0]; + virial[1] = virial_int[1]; + virial[2] = virial_int[2]; + virial[3] = virial_int[4]; + virial[4] = virial_int[5]; + virial[5] = virial_int[8]; } // apply Efield to each particle @@ -240,7 +258,7 @@ void Scafacos::compute(int eflag, int vflag) if (eflag_atom) { for (int i = 0; i < nlocal; i++) - eatom[i] = qscale * epot[i]; + eatom[i] = 0.5 * qscale * q[i] * epot[i]; } MPI_Allreduce(&myeng,&energy,1,MPI_DOUBLE,MPI_SUM,world); diff --git a/src/USER-SCAFACOS/scafacos.h b/src/USER-SCAFACOS/scafacos.h index 857036bb7a..8f7c46dc6b 100644 --- a/src/USER-SCAFACOS/scafacos.h +++ b/src/USER-SCAFACOS/scafacos.h @@ -57,6 +57,8 @@ class Scafacos : public KSpace { fcs_int old_periodicity[3]; fcs_int old_natoms; + fcs_float virial_int[9]; + void check_result(FCSResult); void setup_handle(); bool box_has_changed(); -- GitLab From ba693a74be0b785818ae592d82daf0282871ebb0 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Tue, 7 Aug 2018 12:27:32 -0600 Subject: [PATCH 411/675] Add contribute method to pair_table_kokkos --- src/KOKKOS/pair_table_kokkos.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/KOKKOS/pair_table_kokkos.cpp b/src/KOKKOS/pair_table_kokkos.cpp index 7b06f814bb..b72df04c5f 100644 --- a/src/KOKKOS/pair_table_kokkos.cpp +++ b/src/KOKKOS/pair_table_kokkos.cpp @@ -128,21 +128,25 @@ void PairTableKokkos::compute_style(int eflag_in, int vflag_in) ff(this,(NeighListKokkos*) list); if (eflag || vflag) Kokkos::parallel_reduce(list->inum,ff,ev); else Kokkos::parallel_for(list->inum,ff); + ff.contribute(); } else if (neighflag == HALFTHREAD) { PairComputeFunctor,HALFTHREAD,false,S_TableCompute > ff(this,(NeighListKokkos*) list); if (eflag || vflag) Kokkos::parallel_reduce(list->inum,ff,ev); else Kokkos::parallel_for(list->inum,ff); + ff.contribute(); } else if (neighflag == HALF) { PairComputeFunctor,HALF,false,S_TableCompute > f(this,(NeighListKokkos*) list); if (eflag || vflag) Kokkos::parallel_reduce(list->inum,f,ev); else Kokkos::parallel_for(list->inum,f); + f.contribute(); } else if (neighflag == N2) { PairComputeFunctor,N2,false,S_TableCompute > f(this,(NeighListKokkos*) list); if (eflag || vflag) Kokkos::parallel_reduce(list->inum,f,ev); else Kokkos::parallel_for(list->inum,f); + f.contribute(); } } else { if (neighflag == FULL) { @@ -150,21 +154,25 @@ void PairTableKokkos::compute_style(int eflag_in, int vflag_in) f(this,(NeighListKokkos*) list); if (eflag || vflag) Kokkos::parallel_reduce(list->inum,f,ev); else Kokkos::parallel_for(list->inum,f); + f.contribute(); } else if (neighflag == HALFTHREAD) { PairComputeFunctor,HALFTHREAD,true,S_TableCompute > f(this,(NeighListKokkos*) list); if (eflag || vflag) Kokkos::parallel_reduce(list->inum,f,ev); else Kokkos::parallel_for(list->inum,f); + f.contribute(); } else if (neighflag == HALF) { PairComputeFunctor,HALF,true,S_TableCompute > f(this,(NeighListKokkos*) list); if (eflag || vflag) Kokkos::parallel_reduce(list->inum,f,ev); else Kokkos::parallel_for(list->inum,f); + f.contribute(); } else if (neighflag == N2) { PairComputeFunctor,N2,true,S_TableCompute > f(this,(NeighListKokkos*) list); if (eflag || vflag) Kokkos::parallel_reduce(list->inum,f,ev); else Kokkos::parallel_for(list->inum,f); + f.contribute(); } } -- GitLab From a944d1c913350cbe4378637a5f458b251bc5334e Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Tue, 7 Aug 2018 14:26:53 -0600 Subject: [PATCH 412/675] fixed missing REQUIRED and introduced the compilation of internal sub-libraries (FFTW,PFFT,PNFFT) --- cmake/CMakeLists.txt | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index b2cc7e613d..0ec2d2086c 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -361,7 +361,10 @@ if(PKG_USER-SCAFACOS) URL_MD5 c75d75d8a4cb9757faddb8b205a2b20f CONFIGURE_COMMAND /configure --prefix= --disable-doc - --enable-fcs-solvers=fmm,p2nfft,direct,ewald + --enable-fcs-solvers=fmm,p2nfft,direct,ewald,p3m + --with-internal-fftw + --with-internal-pfft + --with-internal-pnfft FC=${CMAKE_MPI_Fortran_COMPILER} CXX=${CMAKE_MPI_CXX_COMPILER} CC=${CMAKE_MPI_C_COMPILER} @@ -377,9 +380,8 @@ if(PKG_USER-SCAFACOS) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_ewald.a) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fmm.a) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_p2nfft.a) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_p3m.a) list(APPEND LAMMPS_LINK_LIBS ${GSL_LIBRARIES}) - #list(APPEND LAMMPS_LINK_LIBS gsl) - #list(APPEND LAMMPS_LINK_LIBS gslcblas) list(APPEND LAMMPS_LINK_LIBS m) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_near.a) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_gridsort.a) @@ -391,13 +393,9 @@ if(PKG_USER-SCAFACOS) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fftw3.a) list(APPEND LAMMPS_LINK_LIBS ${MPI_Fortran_LIBRARIES}) list(APPEND LAMMPS_LINK_LIBS ${MPI_C_LIBRARIES}) -# -L${libdir} -lfcs4fortran -lfcs -lfcs_direct -lfcs_ewald -lfcs_fmm -lfcs_p2nfft -lgsl -lgslcblas -lm -lfcs_near -lfcs_gridsort -lfcs_resort -lfcs_common -lfcs_pnfft -lfcs_pfft -lfcs_fftw3_mpi -lfcs_fftw3 -L/projects/opt/centos7/mpich/3.2-gcc_6.2.0/lib -L/projects/opt/centos7/gcc/6.2.0/packages/gcc-6.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/6.2.0 -L/projects/opt/centos7/gcc/6.2.0/packages/gcc-6.2.0/bin/../lib/gcc -L/projects/opt/centos7/gcc/6.2.0/packages/gcc-6.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/projects/opt/centos7/gcc/6.2.0/packages/gcc-6.2.0/bin/../lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../.. -lmpifort -lmpi -lgfortran -lm -lquadmath -#libfcs4fortran.a libfcs_common.a libfcs_direct.la libfcs_fftw3.a libfcs_fftw3_mpi.la libfcs_gridsort.a libfcs_near.a libfcs_p2nfft.la libfcs_pnfft.a libfcs_resort.la -#libfcs4fortran.la libfcs_common.la libfcs_ewald.a libfcs_fftw3.la libfcs_fmm.a libfcs_gridsort.la libfcs_near.la libfcs_pfft.a libfcs_pnfft.la pkgconfig -#libfcs.a libfcs_direct.a libfcs_ewald.la libfcs_fftw3_mpi.a libfcs_fmm.la libfcs.la libfcs_p2nfft.a libfcs_pfft.la libfcs_resort.a else() FIND_PACKAGE(PkgConfig REQUIRED) - PKG_CHECK_MODULES(SCAFACOS scafacos) + PKG_CHECK_MODULES(SCAFACOS scafacos REQUIRED) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_LDFLAGS}) endif() include_directories(${SCAFACOS_INCLUDE_DIRS}) -- GitLab From cdde51d8af3d38679fbd311e942fd94359305560 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Tue, 7 Aug 2018 14:29:04 -0600 Subject: [PATCH 413/675] fixed example so that P3M also works, changed tolerance type in the FMM example --- examples/USER/scafacos/data.NaCl | 22 +++++++++++----------- examples/USER/scafacos/in.scafacos.fmm | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/USER/scafacos/data.NaCl b/examples/USER/scafacos/data.NaCl index 23807e23d5..2fd6077983 100644 --- a/examples/USER/scafacos/data.NaCl +++ b/examples/USER/scafacos/data.NaCl @@ -4,9 +4,9 @@ LAMMPS Description 2 atom types -0 2 xlo xhi -0 2 ylo yhi -0 2 zlo zhi +0 1 xlo xhi +0 1 ylo yhi +0 1 zlo zhi Masses @@ -15,11 +15,11 @@ Masses Atoms -1 2 1 0 0 0 -2 1 -1 1 0 0 -3 1 -1 0 1 0 -4 2 1 1 1 0 -5 1 -1 0 0 1 -6 2 1 1 0 1 -7 2 1 0 1 1 -8 1 -1 1 1 1 +1 2 1 0.25 0.25 0.25 +2 1 -1 0.75 0.25 0.25 +3 1 -1 0.25 0.75 0.25 +4 2 1 0.75 0.75 0.25 +5 1 -1 0.25 0.25 0.75 +6 2 1 0.75 0.25 0.75 +7 2 1 0.25 0.75 0.75 +8 1 -1 0.75 0.75 0.75 diff --git a/examples/USER/scafacos/in.scafacos.fmm b/examples/USER/scafacos/in.scafacos.fmm index 18d7464fb8..054188ede2 100644 --- a/examples/USER/scafacos/in.scafacos.fmm +++ b/examples/USER/scafacos/in.scafacos.fmm @@ -29,7 +29,7 @@ pair_coeff * * #fix 2 all scafacos p3m tolerance field 0.001 kspace_style scafacos fmm 0.001 -kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos tolerance energy timestep 0.005 thermo 10 -- GitLab From eb86ec3eea994ad1828f5db9b7e2db11ba5ff91b Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Tue, 7 Aug 2018 15:03:48 -0600 Subject: [PATCH 414/675] added support for p3m, added check for compatible tolerance / method combinations (should they not be caught by ScaFaCoS itself) --- src/USER-SCAFACOS/scafacos.cpp | 80 ++++++++++++++++++++++------------ 1 file changed, 51 insertions(+), 29 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index 27828b1da1..fdbd5e34e0 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -96,10 +96,13 @@ Scafacos::~Scafacos() void Scafacos::init() { // error checks - if (screen && me == 0) fprintf(screen,"Setting up ScaFaCoS with solver %s ...\n",method); - if (logfile && me == 0) fprintf(logfile,"Setting up ScaFaCoS with solver %s ...\n",method); + if (screen && me == 0) fprintf(screen, + "Setting up ScaFaCoS with solver %s ...\n",method); + if (logfile && me == 0) fprintf(logfile, + "Setting up ScaFaCoS with solver %s ...\n",method); - if (!atom->q_flag) error->all(FLERR,"Kspace style requires atom attribute q"); + if (!atom->q_flag) error->all(FLERR, + "Kspace style requires atom attribute q"); if (domain->dimension == 2) error->all(FLERR,"Cannot use ScaFaCoS with 2d simulation"); @@ -111,7 +114,8 @@ void Scafacos::init() error->all(FLERR,"Scafacos atom count exceeds 2B"); if (atom->molecular > 0) - error->all(FLERR,"Cannot use Scafacos with molecular charged systems yet"); + error->all(FLERR, + "Cannot use Scafacos with molecular charged systems yet"); // one-time initialization of ScaFaCoS @@ -204,34 +208,16 @@ void Scafacos::compute(int eflag, int vflag) if (vflag_global) { fcs_set_compute_virial(fcs,1); + if (strcmp(method,"p3m") == 0) + error->all(FLERR,"ScaFaCoS p3m does not support the computation of virial"); } - /* - if (strcmp(method,"p3m")==0) - { - result = fcs_tune(fcs,nlocal,&x[0][0],q); - check_result(result); - } - */ - result = fcs_run(fcs,nlocal,&x[0][0],q,&efield[0][0],epot); check_result(result); if (vflag_global) { fcs_get_virial(fcs,virial_int); - /* - printf(" %lf %lf %lf \n %lf %lf %lf \n %lf %lf %lf \n ", - virial_int[0], - virial_int[1], - virial_int[2], - virial_int[3], - virial_int[4], - virial_int[5], - virial_int[6], - virial_int[7], - virial_int[8]); - */ virial[0] = virial_int[0]; virial[1] = virial_int[1]; virial[2] = virial_int[2]; @@ -277,7 +263,8 @@ int Scafacos::modify_param(int narg, char **arg) if (strcmp(arg[0],"scafacos") != 0) return 0; if (strcmp(arg[1],"tolerance") == 0) { - if (narg < 3) error->all(FLERR,"Illegal kspace_modify command (tolerance)"); + if (narg < 3) error->all(FLERR, + "Illegal kspace_modify command (tolerance)"); if (strcmp(arg[2],"energy") == 0) tolerance_type = FCS_TOLERANCE_TYPE_ENERGY; else if (strcmp(arg[2],"energy_rel") == 0) @@ -290,7 +277,39 @@ int Scafacos::modify_param(int narg, char **arg) tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL; else if (strcmp(arg[2],"potential_rel") == 0) tolerance_type = FCS_TOLERANCE_TYPE_POTENTIAL_REL; - else error->all(FLERR,"Illegal kspace_modify command (tolerance argument)"); + else error->all(FLERR, + "Illegal kspace_modify command (tolerance argument)"); + // check if method is compatatible to chosen tolerance type + if( + ( + strcmp(method,"fmm") == 0 && + ( + tolerance_type != FCS_TOLERANCE_TYPE_ENERGY && + tolerance_type != FCS_TOLERANCE_TYPE_ENERGY_REL + ) + ) && + ( + strcmp(method,"p2nfft") == 0 && + ( + tolerance_type != FCS_TOLERANCE_TYPE_FIELD && + tolerance_type != FCS_TOLERANCE_TYPE_POTENTIAL + ) + ) && + ( + strcmp(method,"p3m") == 0 && + ( + tolerance_type != FCS_TOLERANCE_TYPE_FIELD + ) + ) && + ( + strcmp(method,"ewald") == 0 && + ( + tolerance_type != FCS_TOLERANCE_TYPE_FIELD + ) + ) + ) + error->all(FLERR,"Illegal kspace_modify command \ + (invalid tolerance / method combination)"); return 3; } @@ -300,9 +319,12 @@ int Scafacos::modify_param(int narg, char **arg) // 1 -> inhomogenous system (more internal tuning is provided (sequential!)) if (strcmp(arg[1],"fmm_tuning") == 0) { - if (screen && me == 0) fprintf(screen,"ScaFaCoS setting fmm inhomogen tuning ...\n"); - if (logfile && me == 0) fprintf(logfile,"ScaFaCoS setting fmm inhomogen tuning ...\n"); - if (narg < 3) error->all(FLERR,"Illegal kspace_modify command (fmm_tuning)"); + if (screen && me == 0) fprintf(screen, + "ScaFaCoS setting fmm inhomogen tuning ...\n"); + if (logfile && me == 0) fprintf(logfile, + "ScaFaCoS setting fmm inhomogen tuning ...\n"); + if (narg < 3) error->all(FLERR, + "Illegal kspace_modify command (fmm_tuning)"); fmm_tuning_flag = atoi(arg[2]); return 3; } -- GitLab From 48fd8b46ee49b8b56d0c9470a4114091b2d7a25b Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Tue, 7 Aug 2018 15:04:37 -0600 Subject: [PATCH 415/675] cleaned documentation, added p3m entry for allowed tolerance type --- doc/src/kspace_modify.txt | 15 +++------------ doc/src/kspace_style.txt | 1 + 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/doc/src/kspace_modify.txt b/doc/src/kspace_modify.txt index 57cff18d7e..b05bd6dccb 100644 --- a/doc/src/kspace_modify.txt +++ b/doc/src/kspace_modify.txt @@ -346,17 +346,12 @@ the per-atom electric field, this effectively sets a tolerance on the forces, simimlar to other LAMMPS KSpace styles, as explained on the "kspace_style"_kspace_style.html doc page. -RENE: Also, can you explain more what is the difference between energy -(total) and potential (per-atom)? Which one is more vs less accurate? -Does potential mean that the maximum of any atom's energy error is < -tolerance? I.e. it is a max across all per-atom values? Ditto for -field, since it is computed on a per-atom basis? - Note that not all ScaFaCoS solvers support all tolerance types. These are the allowed values for each method: fmm = energy and energy_rel p2nfft = field (1d-,2d-,3d-periodic systems) or potential (0d-periodic) +p3m = field ewald = field direct = has no tolerance tuning :ul @@ -364,17 +359,13 @@ If the tolerance type is not changed, the default values for the tolerance type are the first values in the above list, e.g. energy is the default tolerance type for the fmm solver. -RENE: Does the code (LAMMPS or Scafacos) generate an error -if an unsupported tolerance is specified for a method? - The {fmm_tuning} option is only relevant when using the FMM method. It activates (value=1) or deactivates (value=0) an internal tuning mechanism for the FMM solver. The tuning operation runs sequentially and can be very time-consuming. Usually it is not needed for systems with a homogenous charge distribution. The default for this option is -therefore {0}. - -RENE: is the tuning a one-time (start-up) operation if enabled? +therefore {0}. The FMM internal tuning is performed once, when the +solver is set up. :line diff --git a/doc/src/kspace_style.txt b/doc/src/kspace_style.txt index cff196ed69..9e26f8e2e4 100644 --- a/doc/src/kspace_style.txt +++ b/doc/src/kspace_style.txt @@ -251,6 +251,7 @@ These are the ScaFaCoS methods currently available from LAMMPS: {p2nfft} = FFT-based Coulomb solver {ewald} = Ewald summation {direct} = direct O(N^2) summation +{p3m} = PPPM We plan to support additional ScaFaCoS solvers from LAMMPS in the future. For an overview of the included solvers, refer to -- GitLab From d27215b7e1a303defc72ad3eb1c3b27c60eb67bc Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 7 Aug 2018 15:05:07 -0600 Subject: [PATCH 416/675] enable more correct natoms computation when atoms are lost --- src/fix_group.cpp | 2 +- src/group.cpp | 12 ++++++++++++ src/group.h | 1 + src/thermo.cpp | 2 +- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/fix_group.cpp b/src/fix_group.cpp index 2447002bc5..68d74b8b1f 100644 --- a/src/fix_group.cpp +++ b/src/fix_group.cpp @@ -84,7 +84,7 @@ idregion(NULL), idvar(NULL), idprop(NULL) idprop = new char[n]; strcpy(idprop,arg[iarg+1]); iarg += 2; - } else if (strcmp(arg[iarg],"every") == 0) { + } else if (strcmp(arg[iarg],"every") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal group command"); nevery = force->inumeric(FLERR,arg[iarg+1]); if (nevery <= 0) error->all(FLERR,"Illegal group command"); diff --git a/src/group.cpp b/src/group.cpp index 9d33da9acb..dd5e53bb3c 100644 --- a/src/group.cpp +++ b/src/group.cpp @@ -754,6 +754,18 @@ void Group::read_restart(FILE *fp) // computations on a group of atoms // ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- + count atoms in group all +------------------------------------------------------------------------- */ + +bigint Group::count_all() +{ + bigint nme = atom->nlocal; + bigint nall; + MPI_Allreduce(&nme,&nall,1,MPI_LMP_BIGINT,MPI_SUM,world); + return nall; +} + /* ---------------------------------------------------------------------- count atoms in group ------------------------------------------------------------------------- */ diff --git a/src/group.h b/src/group.h index 6b6cbb1def..962d37b32a 100644 --- a/src/group.h +++ b/src/group.h @@ -37,6 +37,7 @@ class Group : protected Pointers { void write_restart(FILE *); void read_restart(FILE *); + bigint count_all(); // count atoms in group all bigint count(int); // count atoms in group bigint count(int,int); // count atoms in group & region double mass(int); // total mass of atoms in group diff --git a/src/thermo.cpp b/src/thermo.cpp index ade7a3c333..ddbbd0f496 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -1698,7 +1698,7 @@ void Thermo::compute_timeremain() void Thermo::compute_atoms() { - bivalue = atom->natoms; + bivalue = group->count_all(); } /* ---------------------------------------------------------------------- */ -- GitLab From ac7aeb68626c61b484591dee82b12b95b4de0da0 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 7 Aug 2018 21:43:59 -0400 Subject: [PATCH 417/675] Add extra check for OpenCL timers Fixes issue #1034 by preventing time() to access non-existent OpenCL events --- lib/gpu/geryon/ocl_timer.h | 40 +++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/lib/gpu/geryon/ocl_timer.h b/lib/gpu/geryon/ocl_timer.h index 1f56aeb364..bdfec64f54 100644 --- a/lib/gpu/geryon/ocl_timer.h +++ b/lib/gpu/geryon/ocl_timer.h @@ -38,8 +38,8 @@ namespace ucl_opencl { /// Class for timing OpenCL events class UCL_Timer { public: - inline UCL_Timer() : _total_time(0.0f), _initialized(false) { } - inline UCL_Timer(UCL_Device &dev) : _total_time(0.0f), _initialized(false) + inline UCL_Timer() : _total_time(0.0f), _initialized(false), has_measured_time(false) { } + inline UCL_Timer(UCL_Device &dev) : _total_time(0.0f), _initialized(false), has_measured_time(false) { init(dev); } inline ~UCL_Timer() { clear(); } @@ -52,6 +52,7 @@ class UCL_Timer { _initialized=false; _total_time=0.0; } + has_measured_time = false; } /// Initialize default command queue for timing @@ -64,25 +65,39 @@ class UCL_Timer { _cq=cq; clRetainCommandQueue(_cq); _initialized=true; + has_measured_time = false; } /// Start timing on default command queue - inline void start() { UCL_OCL_MARKER(_cq,&start_event); } + inline void start() { + UCL_OCL_MARKER(_cq,&start_event); + has_measured_time = false; + } /// Stop timing on default command queue - inline void stop() { UCL_OCL_MARKER(_cq,&stop_event); } + inline void stop() { + UCL_OCL_MARKER(_cq,&stop_event); + has_measured_time = true; + } /// Block until the start event has been reached on device - inline void sync_start() - { CL_SAFE_CALL(clWaitForEvents(1,&start_event)); } + inline void sync_start() { + CL_SAFE_CALL(clWaitForEvents(1,&start_event)); + has_measured_time = false; + } /// Block until the stop event has been reached on device - inline void sync_stop() - { CL_SAFE_CALL(clWaitForEvents(1,&stop_event)); } + inline void sync_stop() { + CL_SAFE_CALL(clWaitForEvents(1,&stop_event)); + has_measured_time = true; + } /// Set the time elapsed to zero (not the total_time) - inline void zero() - { UCL_OCL_MARKER(_cq,&start_event); UCL_OCL_MARKER(_cq,&stop_event); } + inline void zero() { + has_measured_time = false; + UCL_OCL_MARKER(_cq,&start_event); + UCL_OCL_MARKER(_cq,&stop_event); + } /// Set the total time to zero inline void zero_total() { _total_time=0.0; } @@ -97,6 +112,7 @@ class UCL_Timer { /// Return the time (ms) of last start to stop - Forces synchronization inline double time() { + if(!has_measured_time) return 0.0; cl_ulong tstart,tend; CL_SAFE_CALL(clWaitForEvents(1,&stop_event)); CL_SAFE_CALL(clGetEventProfilingInfo(stop_event, @@ -107,6 +123,7 @@ class UCL_Timer { sizeof(cl_ulong), &tstart, NULL)); clReleaseEvent(start_event); clReleaseEvent(stop_event); + has_measured_time = false; return (tend-tstart)*t_factor; } @@ -123,8 +140,9 @@ class UCL_Timer { cl_event start_event, stop_event; cl_command_queue _cq; double _total_time; - bool _initialized; double t_factor; + bool _initialized; + bool has_measured_time; }; } // namespace -- GitLab From b6c458192cbb752d466f602cc51f60d8e6814238 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 8 Aug 2018 10:19:48 +0200 Subject: [PATCH 418/675] reword misleading message about GPU usage --- src/KOKKOS/kokkos.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 3bbff6be7e..4a28a55be9 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -106,8 +106,8 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // initialize Kokkos if (me == 0) { - if (screen) fprintf(screen," using %d GPU(s)\n",ngpu); - if (logfile) fprintf(logfile," using %d GPU(s)\n",ngpu); + if (screen) fprintf(screen," will use up to %d GPU(s) per node\n",ngpu); + if (logfile) fprintf(logfile," will use up to %d GPU(s) per node\n",ngpu); } #ifdef KOKKOS_HAVE_CUDA -- GitLab From 3d537850fd7478b2b0cc98a7d029e3d530664127 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 8 Aug 2018 10:20:24 +0200 Subject: [PATCH 419/675] make communication settings consistent, in case the package command is used multiple times. --- src/KOKKOS/kokkos.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 4a28a55be9..04315e0bb3 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -204,6 +204,7 @@ void KokkosLMP::accelerator(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal package kokkos command"); if (strcmp(arg[iarg+1],"no") == 0) { exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 1; + exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; } else if (strcmp(arg[iarg+1],"host") == 0) { exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 0; exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 1; -- GitLab From 5d87e0c6515f52c68180194496f9b21a8a66e6a4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 8 Aug 2018 13:57:41 +0200 Subject: [PATCH 420/675] add wrapper for MPI implementation specific GPU-direct detection this adds a local wrapper function have_gpu_direct(), that informs about the support for GPU-direct, if possible and add a warning message in case it cannot be detected or is not available and using more than 1 MPI rank. --- src/KOKKOS/kokkos.cpp | 53 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 04315e0bb3..7acee89c81 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -11,6 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#include #include #include #include @@ -25,6 +26,37 @@ #include "error.h" #include "memory_kokkos.h" +#ifdef KOKKOS_HAVE_CUDA + +// for detecting GPU-direct support: +// the function int have_gpu_direct() +// - returns -1 if GPU-direct support is unknown +// - returns 0 if no GPU-direct support available +// - returns 1 if GPU-direct support is available + +#define GPU_DIRECT_UNKNOWN static int have_gpu_direct() {return -1;} + +// OpenMPI supports detecting GPU-direct as of version 2.0.0 +#if OPEN_MPI + +#if (OMPI_MAJOR_VERSION >= 2) +#include +#if defined(MPIX_CUDA_AWARE_SUPPORT) +static int have_gpu_direct() { return MPIX_Query_cuda_support(); } +#else +GPU_DIRECT_UNKNOWN +#endif + +#else // old OpenMPI +GPU_DIRECT_UNKNOWN +#endif + +#else // unknown MPI library +GPU_DIRECT_UNKNOWN +#endif + +#endif // KOKKOS_HAVE_CUDA + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ @@ -113,6 +145,27 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) #ifdef KOKKOS_HAVE_CUDA if (ngpu <= 0) error->all(FLERR,"Kokkos has been compiled for CUDA but no GPUs are requested"); + + // check and warn about GPU-direct availability when using multiple MPI tasks + + int nmpi = 0; + MPI_Comm_size(world,&nmpi); + if ((nmpi > 1) && (me == 0)) { + if ( 1 == have_gpu_direct() ) { + ; // all good, nothing to warn about + } else if (-1 == have_gpu_direct() ) { + error->warning(FLERR,"Kokkos with CUDA assumes GPU-direct is available," + " but cannot determine if this is the case\n try" + " '-pk kokkos comm no' when getting segmentation faults"); + } else if ( 0 == have_gpu_direct() ) { + error->warning(FLERR,"GPU-direct is NOT available, but some parts of " + "Kokkos with CUDA require it\n try" + " '-pk kokkos comm no' when getting segmentation faults"); + } else { + ; // should never get here + } + } + #endif Kokkos::InitArguments args; -- GitLab From 64e152bced4dfb792e2c71f5d83f87b85704e354 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 8 Aug 2018 14:25:49 +0200 Subject: [PATCH 421/675] add some notes about GPU-direct support requirements to the manual --- doc/src/Speed_kokkos.txt | 22 +++++++++++++++++++--- doc/src/package.txt | 13 +++++++------ 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/doc/src/Speed_kokkos.txt b/doc/src/Speed_kokkos.txt index 14f4103aed..d7ae35bc12 100644 --- a/doc/src/Speed_kokkos.txt +++ b/doc/src/Speed_kokkos.txt @@ -96,6 +96,19 @@ software version 7.5 or later must be installed on your system. See the discussion for the "GPU package"_Speed_gpu.html for details of how to check and do this. +NOTE: Kokkos with CUDA currently implicitly assumes, that the MPI +library is CUDA-aware and has support for GPU-direct. This is not always +the case, especially when using pre-compiled MPI libraries provided by +a Linux distribution. This is not a problem when using only a single +GPU and a single MPI rank on a desktop. When running with multiple +MPI ranks, you may see segmentation faults without GPU-direct support. +Many of those can be avoided by adding the flags '-pk kokkos comm no' +to the LAMMPS command line or using "package kokkos comm on"_package.html +in the input file, however for some KOKKOS enabled styles like +"EAM"_pair_eam.html or "PPPM"_kspace_style.html, this is not the case +and a GPU-direct enabled MPI library is REQUIRED. + + Use a C++11 compatible compiler and set KOKKOS_ARCH variable in /src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi for both GPU and CPU as described above. Then do the following: @@ -262,9 +275,12 @@ the # of physical GPUs on the node. You can assign multiple MPI tasks to the same GPU with the KOKKOS package, but this is usually only faster if significant portions of the input script have not been ported to use Kokkos. Using CUDA MPS is recommended in this -scenario. As above for multi-core CPUs (and no GPU), if N is the -number of physical cores/node, then the number of MPI tasks/node -should not exceed N. +scenario. Using a CUDA-aware MPI library with support for GPU-direct +is highly recommended and for some KOKKOS-enabled styles even required. +Most GPU-direct use can be avoided by using "-pk kokkos comm no". +As above for multi-core CPUs (and no GPU), if N is the number of +physical cores/node, then the number of MPI tasks/node should not +exceed N. -k on g Ng :pre diff --git a/doc/src/package.txt b/doc/src/package.txt index c2e7345bb7..55f6c6d30f 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -480,15 +480,16 @@ The value options for all 3 keywords are {no} or {host} or {device}. A value of {no} means to use the standard non-KOKKOS method of packing/unpacking data for the communication. A value of {host} means to use the host, typically a multi-core CPU, and perform the -packing/unpacking in parallel with threads. A value of {device} means -to use the device, typically a GPU, to perform the packing/unpacking -operation. +packing/unpacking in parallel with threads. A value of {device} +means to use the device, typically a GPU, to perform the +packing/unpacking operation. The optimal choice for these keywords depends on the input script and the hardware used. The {no} value is useful for verifying that the -Kokkos-based {host} and {device} values are working correctly. It may -also be the fastest choice when using Kokkos styles in MPI-only mode -(i.e. with a thread count of 1). +Kokkos-based {host} and {device} values are working correctly. The {no} +value should also be used, in case of using an MPI library that does +not support GPU-direct. It may also be the fastest choice when using +Kokkos styles in MPI-only mode (i.e. with a thread count of 1). When running on CPUs or Xeon Phi, the {host} and {device} values work identically. When using GPUs, the {device} value will typically be -- GitLab From 9202896e75330db552759ddfa84cb2ffe97f0d8b Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 8 Aug 2018 09:31:16 -0600 Subject: [PATCH 422/675] bug fix for compute cluster/atom when computing values used to update a dynamic group --- src/compute_cluster_atom.cpp | 40 +++++++++++++++++++++++++++++------- src/fix_group.cpp | 7 ++++++- src/update.cpp | 4 ++-- src/update.h | 1 + 4 files changed, 42 insertions(+), 10 deletions(-) diff --git a/src/compute_cluster_atom.cpp b/src/compute_cluster_atom.cpp index 146f8fd1b3..85934c5e6d 100644 --- a/src/compute_cluster_atom.cpp +++ b/src/compute_cluster_atom.cpp @@ -31,6 +31,8 @@ using namespace LAMMPS_NS; +enum{CLUSTER,MASK,COORDS}; + /* ---------------------------------------------------------------------- */ ComputeClusterAtom::ComputeClusterAtom(LAMMPS *lmp, int narg, char **arg) : @@ -44,7 +46,7 @@ ComputeClusterAtom::ComputeClusterAtom(LAMMPS *lmp, int narg, char **arg) : peratom_flag = 1; size_peratom_cols = 0; - comm_forward = 1; + comm_forward = 3; nmax = 0; } @@ -122,10 +124,19 @@ void ComputeClusterAtom::compute_peratom() numneigh = list->numneigh; firstneigh = list->firstneigh; + // if update->post_integrate set: + // a dynamic group in FixGroup is invoking a variable with this compute + // thus ghost atom coords need to be up-to-date after initial_integrate() + + if (update->post_integrate) { + commflag = COORDS; + comm->forward_comm_compute(this); + } + // if group is dynamic, insure ghost atom masks are current if (group->dynamic[igroup]) { - commflag = 0; + commflag = MASK; comm->forward_comm_compute(this); } @@ -147,7 +158,7 @@ void ComputeClusterAtom::compute_peratom() // iterate until no changes in my atoms // then check if any proc made changes - commflag = 1; + commflag = CLUSTER; double **x = atom->x; int change,done,anychange; @@ -203,17 +214,25 @@ int ComputeClusterAtom::pack_forward_comm(int n, int *list, double *buf, int i,j,m; m = 0; - if (commflag) { + if (commflag == CLUSTER) { for (i = 0; i < n; i++) { j = list[i]; buf[m++] = clusterID[j]; } - } else { + } else if (commflag == MASK) { int *mask = atom->mask; for (i = 0; i < n; i++) { j = list[i]; buf[m++] = ubuf(mask[j]).d; } + } else if (commflag == COORDS) { + double **x = atom->x; + for (i = 0; i < n; i++) { + j = list[i]; + buf[m++] = x[j][0]; + buf[m++] = x[j][1]; + buf[m++] = x[j][2]; + } } return m; @@ -227,11 +246,18 @@ void ComputeClusterAtom::unpack_forward_comm(int n, int first, double *buf) m = 0; last = first + n; - if (commflag) + if (commflag == CLUSTER) { for (i = first; i < last; i++) clusterID[i] = buf[m++]; - else { + } else if (commflag == MASK) { int *mask = atom->mask; for (i = first; i < last; i++) mask[i] = (int) ubuf(buf[m++]).i; + } else if (commflag == COORDS) { + double **x = atom->x; + for (i = first; i < last; i++) { + x[i][0] = buf[m++]; + x[i][1] = buf[m++]; + x[i][2] = buf[m++]; + } } } diff --git a/src/fix_group.cpp b/src/fix_group.cpp index 68d74b8b1f..10736964e7 100644 --- a/src/fix_group.cpp +++ b/src/fix_group.cpp @@ -204,17 +204,22 @@ void FixGroup::set_group() int nlocal = atom->nlocal; // invoke atom-style variable if defined + // set post_integrate flag to 1, then unset after + // this is for any compute to check if it needs to + // operate differently due to invocation this early in timestep + // e.g. perform ghost comm update due to atoms having just moved double *var = NULL; int *ivector = NULL; double *dvector = NULL; - if (varflag) { + update->post_integrate = 1; modify->clearstep_compute(); memory->create(var,nlocal,"fix/group:varvalue"); input->variable->compute_atom(ivar,igroup,var,1,0); modify->addstep_compute(update->ntimestep + nevery); + update->post_integrate = 0; } // invoke per-atom property if defined diff --git a/src/update.cpp b/src/update.cpp index aa152a8508..6f9c2c9a07 100644 --- a/src/update.cpp +++ b/src/update.cpp @@ -46,11 +46,11 @@ Update::Update(LAMMPS *lmp) : Pointers(lmp) whichflag = 0; firststep = laststep = 0; beginstep = endstep = 0; + restrict_output = 0; setupflag = 0; + post_integrate = 0; multireplica = 0; - restrict_output = 0; - eflag_global = vflag_global = -1; unit_style = NULL; diff --git a/src/update.h b/src/update.h index 7996440318..d3602ef21e 100644 --- a/src/update.h +++ b/src/update.h @@ -35,6 +35,7 @@ class Update : protected Pointers { int max_eval; // max force evaluations for minimizer int restrict_output; // 1 if output should not write dump/restart int setupflag; // set when setup() is computing forces + int post_integrate; // 1 if now at post_integrate() in timestep int multireplica; // 1 if min across replicas, else 0 bigint eflag_global,eflag_atom; // timestep global/peratom eng is tallied on -- GitLab From 7f5476b4081eccbf6f9ddf398ea3f46e92204535 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Wed, 8 Aug 2018 14:04:41 -0600 Subject: [PATCH 423/675] removed deprecated log files (will be replaced with more current ones) --- .../log.23Jul18.scafacos.cw.g++.ewald.16 | 92 --------------- .../log.23Jul18.scafacos.cw.g++.ewald.8 | 92 --------------- .../log.23Jul18.scafacos.cw.g++.fmm.1 | 99 ---------------- .../log.23Jul18.scafacos.cw.g++.fmm.16 | 99 ---------------- .../log.23Jul18.scafacos.cw.g++.fmm.2 | 99 ---------------- .../log.23Jul18.scafacos.cw.g++.fmm.4 | 99 ---------------- .../log.23Jul18.scafacos.cw.g++.fmm.8 | 99 ---------------- .../log.23Jul18.scafacos.cw.g++.p2nfft.1 | 92 --------------- .../log.23Jul18.scafacos.cw.g++.p2nfft.16 | 92 --------------- .../log.23Jul18.scafacos.cw.g++.p2nfft.2 | 92 --------------- .../log.23Jul18.scafacos.cw.g++.p2nfft.4 | 92 --------------- .../log.23Jul18.scafacos.cw.g++.p2nfft.8 | 92 --------------- .../log.23Jul18.scafacos.g++.ewald.16 | 102 ---------------- .../scafacos/log.23Jul18.scafacos.g++.ewald.8 | 102 ---------------- .../scafacos/log.23Jul18.scafacos.g++.fmm.1 | 102 ---------------- .../scafacos/log.23Jul18.scafacos.g++.fmm.16 | 102 ---------------- .../scafacos/log.23Jul18.scafacos.g++.fmm.2 | 102 ---------------- .../scafacos/log.23Jul18.scafacos.g++.fmm.4 | 102 ---------------- .../scafacos/log.23Jul18.scafacos.g++.fmm.8 | 102 ---------------- .../log.23Jul18.scafacos.g++.p2nfft.1 | 102 ---------------- .../log.23Jul18.scafacos.g++.p2nfft.16 | 102 ---------------- .../log.23Jul18.scafacos.g++.p2nfft.2 | 102 ---------------- .../log.23Jul18.scafacos.g++.p2nfft.4 | 102 ---------------- .../log.23Jul18.scafacos.g++.p2nfft.8 | 102 ---------------- .../log.23Jul18.scafacos.hsph.g++.direct.1 | 105 ----------------- .../log.23Jul18.scafacos.hsph.g++.direct.2 | 105 ----------------- .../log.23Jul18.scafacos.hsph.g++.direct.4 | 105 ----------------- .../log.23Jul18.scafacos.hsph.g++.direct.8 | 105 ----------------- .../log.23Jul18.scafacos.hsph.g++.fmm.1 | 109 ------------------ .../log.23Jul18.scafacos.hsph.g++.fmm.2 | 109 ------------------ .../log.23Jul18.scafacos.hsph.g++.fmm.4 | 109 ------------------ .../log.23Jul18.scafacos.hsph.g++.fmm.8 | 109 ------------------ .../log.23Jul18.scafacos.hsph.g++.p2nfft.1 | 107 ----------------- .../log.23Jul18.scafacos.hsph.g++.p2nfft.2 | 107 ----------------- .../log.23Jul18.scafacos.hsph.g++.p2nfft.4 | 107 ----------------- .../log.23Jul18.scafacos.hsph.g++.p2nfft.8 | 107 ----------------- 36 files changed, 3647 deletions(-) delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.16 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.8 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.1 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.16 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.2 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.4 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.8 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.1 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.16 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.2 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.4 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.8 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.16 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.8 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.1 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.16 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.2 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.4 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.8 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.1 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.16 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.2 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.4 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.8 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.1 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.2 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.4 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.8 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.1 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.2 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.4 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.8 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.1 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.2 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.4 delete mode 100644 examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.8 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.16 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.16 deleted file mode 100644 index ffdc7e3a3c..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.16 +++ /dev/null @@ -1,92 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task - -units lj -atom_style charge - -read_data data.cloud_wall - orthogonal box = (0 0 0) to (10 10 10) - 2 by 2 by 4 MPI processor grid - reading atoms ... - 300 atoms - -velocity all set 0.0 0.0 0.0 mom no - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve -kspace_style scafacos ewald 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 - -thermo_style custom step atoms cpu temp pe ke etotal ecoul - -run_style verlet - -#dump simple all custom 1000 id x y z vx vy vz -#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass -#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass -#dump_modify dmpvtk pad 7 - -thermo 10 -run 100 -Setting up ScaFaCoS with solver ewald ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.313 | 3.501 | 3.689 Mbytes -Step Atoms CPU Temp PotEng KinEng TotEng E_coul - 0 300 0 0 0.49647271 0 0.49647271 0 - 10 300 0.061254978 0.014582562 0.44286522 0.02180093 0.46466616 0 - 20 300 0.12240911 0.058693359 0.37869251 0.087746571 0.46643909 0 - 30 300 0.18348265 0.13468789 0.26730177 0.2013584 0.46866017 0 - 40 300 0.24441123 0.50949535 0.083356437 0.76169555 0.84505198 0 - 50 300 0.30493236 1.1731116 -0.055261984 1.7538018 1.6985399 0 - 60 300 0.36615515 1.3589639 -0.33351524 2.031651 1.6981358 0 - 70 300 0.42717433 1.6482648 -0.76570045 2.4641559 1.6984554 0 - 80 300 0.48137259 2.8640899 -2.4038488 4.2818144 1.8779656 0 - 90 300 0.5323379 93.168442 -2.5911448 139.28682 136.69568 0 - 100 300 0.5756321 94.146897 -1.3480439 140.74961 139.40157 0 -Loop time of 0.575655 on 16 procs for 100 steps with 300 atoms - -Performance: 75045.007 tau/day, 173.715 timesteps/s -98.7% CPU use with 16 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.2159e-05 | 1.739e-05 | 2.3127e-05 | 0.0 | 0.00 -Kspace | 0.57008 | 0.57086 | 0.57137 | 0.1 | 99.17 -Neigh | 0.00025606 | 0.00061357 | 0.001369 | 0.0 | 0.11 -Comm | 0.0023558 | 0.0027267 | 0.003104 | 0.4 | 0.47 -Output | 0.00029898 | 0.00032344 | 0.00037599 | 0.0 | 0.06 -Modify | 8.2493e-05 | 0.00014143 | 0.00021815 | 0.0 | 0.02 -Other | | 0.0009701 | | | 0.17 - -Nlocal: 18.75 ave 39 max 6 min -Histogram: 6 1 1 0 1 2 2 1 1 1 -Nghost: 122.812 ave 195 max 63 min -Histogram: 8 0 0 0 0 0 0 1 3 4 -Neighs: 160.625 ave 598 max 13 min -Histogram: 8 2 1 1 1 0 0 2 0 1 - -Total # of neighbors = 2570 -Ave neighs/atom = 8.56667 -Neighbor list builds = 23 -Dangerous builds = 16 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.8 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.8 deleted file mode 100644 index 52d887f475..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.ewald.8 +++ /dev/null @@ -1,92 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task - -units lj -atom_style charge - -read_data data.cloud_wall - orthogonal box = (0 0 0) to (10 10 10) - 2 by 2 by 2 MPI processor grid - reading atoms ... - 300 atoms - -velocity all set 0.0 0.0 0.0 mom no - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve -kspace_style scafacos ewald 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 - -thermo_style custom step atoms cpu temp pe ke etotal ecoul - -run_style verlet - -#dump simple all custom 1000 id x y z vx vy vz -#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass -#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass -#dump_modify dmpvtk pad 7 - -thermo 10 -run 100 -Setting up ScaFaCoS with solver ewald ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.317 | 3.317 | 3.317 Mbytes -Step Atoms CPU Temp PotEng KinEng TotEng E_coul - 0 300 0 0 0.49647271 0 0.49647271 0 - 10 300 0.067519665 0.014718629 0.45088339 0.02200435 0.47288774 0 - 20 300 0.13502312 0.05922597 0.38470912 0.088542825 0.47325194 0 - 30 300 0.20248008 0.13587829 0.27058048 0.20313804 0.47371852 0 - 40 300 0.26985955 0.51353118 0.088432648 0.76772911 0.85616176 0 - 50 300 0.33801103 1.1760001 -0.058088247 1.7581201 1.7000319 0 - 60 300 0.40665984 1.3627885 -0.33736672 2.0373688 1.7000021 0 - 70 300 0.47533679 1.6529365 -0.77082139 2.4711401 1.7003187 0 - 80 300 0.54396391 2.9569837 -2.4624654 4.4206907 1.9582253 0 - 90 300 0.61429667 81.642726 -2.5370215 122.05588 119.51885 0 - 100 300 0.68513632 85.047974 -1.128107 127.14672 126.01861 0 -Loop time of 0.685155 on 8 procs for 100 steps with 300 atoms - -Performance: 63051.442 tau/day, 145.952 timesteps/s -99.7% CPU use with 8 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.0967e-05 | 1.4216e-05 | 1.8358e-05 | 0.0 | 0.00 -Kspace | 0.67942 | 0.67981 | 0.6803 | 0.0 | 99.22 -Neigh | 0.00073242 | 0.0010653 | 0.0015635 | 0.8 | 0.16 -Comm | 0.0029492 | 0.0031102 | 0.0033047 | 0.2 | 0.45 -Output | 0.00021768 | 0.00023454 | 0.00028443 | 0.0 | 0.03 -Modify | 0.00016046 | 0.00018132 | 0.00019431 | 0.0 | 0.03 -Other | | 0.0007433 | | | 0.11 - -Nlocal: 37.5 ave 46 max 31 min -Histogram: 2 0 0 2 1 0 2 0 0 1 -Nghost: 203.875 ave 212 max 192 min -Histogram: 1 0 1 0 0 2 1 0 0 3 -Neighs: 321.625 ave 599 max 112 min -Histogram: 1 2 0 1 1 0 1 1 0 1 - -Total # of neighbors = 2573 -Ave neighs/atom = 8.57667 -Neighbor list builds = 23 -Dangerous builds = 16 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.1 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.1 deleted file mode 100644 index 47e0be01ce..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.1 +++ /dev/null @@ -1,99 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -units lj -atom_style charge - -read_data data.cloud_wall - orthogonal box = (0 0 0) to (10 10 10) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 300 atoms - -velocity all set 0.0 0.0 0.0 mom no - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -kspace_style scafacos fmm 1.0e-3 -kspace_modify scafacos tolerance energy_rel -kspace_modify scafacos fmm_tuning 1 -ScaFaCoS setting fmm inhomogen tuning ...3 - -timestep 0.005 - -thermo_style custom step atoms cpu temp pe ke etotal ecoul - -run_style verlet - -#dump simple all custom 1000 id x y z vx vy vz -#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass -#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass -#dump_modify dmpvtk pad 7 - -thermo 10 -run 100 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.34 | 3.34 | 3.34 Mbytes -Step Atoms CPU Temp PotEng KinEng TotEng E_coul - 0 300 0 0 0.49646402 0 0.49646402 0 - 10 300 0.036603451 0.015455559 0.47335833 0.02310606 0.49646439 0 - 20 300 0.073534727 0.06229069 0.40334177 0.093124582 0.49646635 0 - 30 300 0.10984373 0.14310163 0.28254277 0.21393694 0.49647971 0 - 40 300 0.14610171 0.52929788 0.089669015 0.79130033 0.88096934 0 - 50 300 0.18255496 1.1963022 -0.082792461 1.7884718 1.7056794 0 - 60 300 0.2194376 1.3928167 -0.37659239 2.082261 1.7056686 0 - 70 300 0.25588369 1.7069009 -0.84571914 2.5518169 1.7060978 0 - 80 300 0.29101205 15.358343 -3.368063 22.960722 19.592659 0 - 90 300 0.32697225 42.280432 -2.1623864 63.209247 61.04686 0 - 100 300 0.36395645 41.48079 -0.89904529 62.013782 61.114736 0 -Loop time of 0.363968 on 1 procs for 100 steps with 300 atoms - -Performance: 118691.709 tau/day, 274.749 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.2875e-05 | 1.2875e-05 | 1.2875e-05 | 0.0 | 0.00 -Kspace | 0.35715 | 0.35715 | 0.35715 | 0.0 | 98.13 -Neigh | 0.0039768 | 0.0039768 | 0.0039768 | 0.0 | 1.09 -Comm | 0.0012023 | 0.0012023 | 0.0012023 | 0.0 | 0.33 -Output | 0.0001502 | 0.0001502 | 0.0001502 | 0.0 | 0.04 -Modify | 0.0009768 | 0.0009768 | 0.0009768 | 0.0 | 0.27 -Other | | 0.0005031 | | | 0.14 - -Nlocal: 300 ave 300 max 300 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 374 ave 374 max 374 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 2459 ave 2459 max 2459 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 2459 -Ave neighs/atom = 8.19667 -Neighbor list builds = 15 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.16 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.16 deleted file mode 100644 index f104355d87..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.16 +++ /dev/null @@ -1,99 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -units lj -atom_style charge - -read_data data.cloud_wall - orthogonal box = (0 0 0) to (10 10 10) - 2 by 2 by 4 MPI processor grid - reading atoms ... - 300 atoms - -velocity all set 0.0 0.0 0.0 mom no - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -kspace_style scafacos fmm 1.0e-3 -kspace_modify scafacos tolerance energy_rel -kspace_modify scafacos fmm_tuning 1 -ScaFaCoS setting fmm inhomogen tuning ...3 - -timestep 0.005 - -thermo_style custom step atoms cpu temp pe ke etotal ecoul - -run_style verlet - -#dump simple all custom 1000 id x y z vx vy vz -#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass -#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass -#dump_modify dmpvtk pad 7 - -thermo 10 -run 100 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.313 | 3.501 | 3.689 Mbytes -Step Atoms CPU Temp PotEng KinEng TotEng E_coul - 0 300 0 0 0.49646402 0 0.49646402 0 - 10 300 0.018873215 0.015455559 0.47335833 0.02310606 0.49646439 0 - 20 300 0.035197735 0.06229069 0.40334177 0.093124582 0.49646635 0 - 30 300 0.051513195 0.14310163 0.28254277 0.21393694 0.49647971 0 - 40 300 0.067400217 0.52929788 0.089669015 0.79130033 0.88096934 0 - 50 300 0.083569527 1.1963022 -0.082792461 1.7884718 1.7056794 0 - 60 300 0.099931955 1.3928167 -0.37659239 2.082261 1.7056686 0 - 70 300 0.11602688 1.7069009 -0.84571914 2.5518169 1.7060978 0 - 80 300 0.13271379 15.358343 -3.368063 22.960722 19.592659 0 - 90 300 0.15055513 42.280432 -2.1623864 63.209247 61.04686 0 - 100 300 0.16817498 41.48079 -0.89904529 62.013782 61.114736 0 -Loop time of 0.168194 on 16 procs for 100 steps with 300 atoms - -Performance: 256846.586 tau/day, 594.552 timesteps/s -97.7% CPU use with 16 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.4544e-05 | 2.0206e-05 | 2.6941e-05 | 0.0 | 0.01 -Kspace | 0.16313 | 0.16373 | 0.16423 | 0.1 | 97.34 -Neigh | 0.00016737 | 0.00039591 | 0.00084519 | 0.0 | 0.24 -Comm | 0.0021157 | 0.0026083 | 0.0032525 | 0.7 | 1.55 -Output | 0.00026298 | 0.00030228 | 0.00035977 | 0.0 | 0.18 -Modify | 0.00010705 | 0.00015062 | 0.00020647 | 0.0 | 0.09 -Other | | 0.0009913 | | | 0.59 - -Nlocal: 18.75 ave 36 max 6 min -Histogram: 4 3 1 0 0 1 2 1 2 2 -Nghost: 127 ave 196 max 71 min -Histogram: 8 0 0 0 0 0 0 1 6 1 -Neighs: 153.688 ave 491 max 10 min -Histogram: 8 1 1 1 1 1 0 0 0 3 - -Total # of neighbors = 2459 -Ave neighs/atom = 8.19667 -Neighbor list builds = 15 -Dangerous builds = 0 -Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.2 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.2 deleted file mode 100644 index 43ded2d4da..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.2 +++ /dev/null @@ -1,99 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -units lj -atom_style charge - -read_data data.cloud_wall - orthogonal box = (0 0 0) to (10 10 10) - 1 by 1 by 2 MPI processor grid - reading atoms ... - 300 atoms - -velocity all set 0.0 0.0 0.0 mom no - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -kspace_style scafacos fmm 1.0e-3 -kspace_modify scafacos tolerance energy_rel -kspace_modify scafacos fmm_tuning 1 -ScaFaCoS setting fmm inhomogen tuning ...3 - -timestep 0.005 - -thermo_style custom step atoms cpu temp pe ke etotal ecoul - -run_style verlet - -#dump simple all custom 1000 id x y z vx vy vz -#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass -#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass -#dump_modify dmpvtk pad 7 - -thermo 10 -run 100 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.354 | 3.354 | 3.355 Mbytes -Step Atoms CPU Temp PotEng KinEng TotEng E_coul - 0 300 0 0 0.49646402 0 0.49646402 0 - 10 300 0.021326542 0.015455559 0.47335833 0.02310606 0.49646439 0 - 20 300 0.043129683 0.06229069 0.40334177 0.093124582 0.49646635 0 - 30 300 0.064425707 0.14310163 0.28254277 0.21393694 0.49647971 0 - 40 300 0.085822344 0.52929788 0.089669015 0.79130033 0.88096934 0 - 50 300 0.10737753 1.1963022 -0.082792461 1.7884718 1.7056794 0 - 60 300 0.12947297 1.3928167 -0.37659239 2.082261 1.7056686 0 - 70 300 0.15108895 1.7069009 -0.84571914 2.5518169 1.7060978 0 - 80 300 0.17378163 15.358343 -3.368063 22.960722 19.592659 0 - 90 300 0.19809985 42.280432 -2.1623864 63.209247 61.04686 0 - 100 300 0.22268319 41.48079 -0.89904529 62.013782 61.114736 0 -Loop time of 0.222696 on 2 procs for 100 steps with 300 atoms - -Performance: 193986.156 tau/day, 449.042 timesteps/s -98.4% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.1683e-05 | 1.5378e-05 | 1.9073e-05 | 0.0 | 0.01 -Kspace | 0.21627 | 0.2168 | 0.21734 | 0.1 | 97.35 -Neigh | 0.0016344 | 0.0021609 | 0.0026875 | 1.1 | 0.97 -Comm | 0.0022857 | 0.0023286 | 0.0023715 | 0.1 | 1.05 -Output | 0.00015521 | 0.00019228 | 0.00022936 | 0.0 | 0.09 -Modify | 0.00052834 | 0.00054049 | 0.00055265 | 0.0 | 0.24 -Other | | 0.0006541 | | | 0.29 - -Nlocal: 150 ave 159 max 141 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 392 ave 395 max 389 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 1229.5 ave 1773 max 686 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 2459 -Ave neighs/atom = 8.19667 -Neighbor list builds = 15 -Dangerous builds = 0 -Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.4 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.4 deleted file mode 100644 index 12c74993e9..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.4 +++ /dev/null @@ -1,99 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -units lj -atom_style charge - -read_data data.cloud_wall - orthogonal box = (0 0 0) to (10 10 10) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 300 atoms - -velocity all set 0.0 0.0 0.0 mom no - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -kspace_style scafacos fmm 1.0e-3 -kspace_modify scafacos tolerance energy_rel -kspace_modify scafacos fmm_tuning 1 -ScaFaCoS setting fmm inhomogen tuning ...3 - -timestep 0.005 - -thermo_style custom step atoms cpu temp pe ke etotal ecoul - -run_style verlet - -#dump simple all custom 1000 id x y z vx vy vz -#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass -#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass -#dump_modify dmpvtk pad 7 - -thermo 10 -run 100 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.333 | 3.333 | 3.333 Mbytes -Step Atoms CPU Temp PotEng KinEng TotEng E_coul - 0 300 0 0 0.49646402 0 0.49646402 0 - 10 300 0.017563343 0.015455559 0.47335833 0.02310606 0.49646439 0 - 20 300 0.034884214 0.06229069 0.40334177 0.093124582 0.49646635 0 - 30 300 0.052014828 0.14310163 0.28254277 0.21393694 0.49647971 0 - 40 300 0.069101095 0.52929788 0.089669015 0.79130033 0.88096934 0 - 50 300 0.085633039 1.1963022 -0.082792461 1.7884718 1.7056794 0 - 60 300 0.10165119 1.3928167 -0.37659239 2.082261 1.7056686 0 - 70 300 0.11729789 1.7069009 -0.84571914 2.5518169 1.7060978 0 - 80 300 0.1342802 15.358343 -3.368063 22.960722 19.592659 0 - 90 300 0.15266848 42.280432 -2.1623864 63.209247 61.04686 0 - 100 300 0.17004442 41.48079 -0.89904529 62.013782 61.114736 0 -Loop time of 0.170072 on 4 procs for 100 steps with 300 atoms - -Performance: 254010.216 tau/day, 587.987 timesteps/s -98.8% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.5497e-05 | 1.6868e-05 | 1.9789e-05 | 0.0 | 0.01 -Kspace | 0.16417 | 0.16472 | 0.16507 | 0.1 | 96.86 -Neigh | 0.00082564 | 0.0012031 | 0.0015855 | 0.9 | 0.71 -Comm | 0.0026572 | 0.0029335 | 0.003197 | 0.4 | 1.72 -Output | 0.00019169 | 0.00021791 | 0.00026536 | 0.0 | 0.13 -Modify | 0.00031304 | 0.00032955 | 0.00035334 | 0.0 | 0.19 -Other | | 0.0006474 | | | 0.38 - -Nlocal: 75 ave 81 max 70 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 282.5 ave 290 max 274 min -Histogram: 1 0 0 1 0 0 0 0 1 1 -Neighs: 614.75 ave 981 max 285 min -Histogram: 1 1 0 0 0 0 0 1 0 1 - -Total # of neighbors = 2459 -Ave neighs/atom = 8.19667 -Neighbor list builds = 15 -Dangerous builds = 0 -Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.8 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.8 deleted file mode 100644 index 1fea13cd13..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.fmm.8 +++ /dev/null @@ -1,99 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -units lj -atom_style charge - -read_data data.cloud_wall - orthogonal box = (0 0 0) to (10 10 10) - 2 by 2 by 2 MPI processor grid - reading atoms ... - 300 atoms - -velocity all set 0.0 0.0 0.0 mom no - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -kspace_style scafacos fmm 1.0e-3 -kspace_modify scafacos tolerance energy_rel -kspace_modify scafacos fmm_tuning 1 -ScaFaCoS setting fmm inhomogen tuning ...3 - -timestep 0.005 - -thermo_style custom step atoms cpu temp pe ke etotal ecoul - -run_style verlet - -#dump simple all custom 1000 id x y z vx vy vz -#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass -#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass -#dump_modify dmpvtk pad 7 - -thermo 10 -run 100 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.317 | 3.317 | 3.317 Mbytes -Step Atoms CPU Temp PotEng KinEng TotEng E_coul - 0 300 0 0 0.49646402 0 0.49646402 0 - 10 300 0.016258478 0.015455559 0.47335833 0.02310606 0.49646439 0 - 20 300 0.031442165 0.06229069 0.40334177 0.093124582 0.49646635 0 - 30 300 0.046462774 0.14310163 0.28254277 0.21393694 0.49647971 0 - 40 300 0.061176538 0.52929788 0.089669015 0.79130033 0.88096934 0 - 50 300 0.076244354 1.1963022 -0.082792461 1.7884718 1.7056794 0 - 60 300 0.091396809 1.3928167 -0.37659239 2.082261 1.7056686 0 - 70 300 0.10625911 1.7069009 -0.84571914 2.5518169 1.7060978 0 - 80 300 0.1204896 15.358343 -3.368063 22.960722 19.592659 0 - 90 300 0.13657618 42.280432 -2.1623864 63.209247 61.04686 0 - 100 300 0.15163732 41.48079 -0.89904529 62.013782 61.114736 0 -Loop time of 0.151654 on 8 procs for 100 steps with 300 atoms - -Performance: 284858.554 tau/day, 659.395 timesteps/s -97.7% CPU use with 8 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.3828e-05 | 1.6987e-05 | 1.955e-05 | 0.0 | 0.01 -Kspace | 0.14633 | 0.14689 | 0.14725 | 0.1 | 96.86 -Neigh | 0.00047135 | 0.00067887 | 0.00094771 | 0.0 | 0.45 -Comm | 0.0027649 | 0.0029218 | 0.0032592 | 0.3 | 1.93 -Output | 0.00022578 | 0.00024724 | 0.00030136 | 0.0 | 0.16 -Modify | 0.00018954 | 0.00021681 | 0.0002358 | 0.0 | 0.14 -Other | | 0.0006794 | | | 0.45 - -Nlocal: 37.5 ave 45 max 31 min -Histogram: 1 1 1 1 1 0 1 0 1 1 -Nghost: 200 ave 209 max 189 min -Histogram: 1 0 0 0 1 4 0 0 0 2 -Neighs: 307.375 ave 514 max 115 min -Histogram: 2 1 0 1 1 0 0 0 1 2 - -Total # of neighbors = 2459 -Ave neighs/atom = 8.19667 -Neighbor list builds = 15 -Dangerous builds = 0 -Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.1 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.1 deleted file mode 100644 index bd9325dc4b..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.1 +++ /dev/null @@ -1,92 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task - -units lj -atom_style charge - -read_data data.cloud_wall - orthogonal box = (0 0 0) to (10 10 10) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 300 atoms - -velocity all set 0.0 0.0 0.0 mom no - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 - -thermo_style custom step atoms cpu temp pe ke etotal ecoul - -run_style verlet - -#dump simple all custom 1000 id x y z vx vy vz -#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass -#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass -#dump_modify dmpvtk pad 7 - -thermo 10 -run 100 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.34 | 3.34 | 3.34 Mbytes -Step Atoms CPU Temp PotEng KinEng TotEng E_coul - 0 300 0 0 0.49683273 0 0.49683273 0 - 10 300 0.082981586 0.015479312 0.47369009 0.023141571 0.49683166 0 - 20 300 0.16677213 0.062386358 0.40356181 0.093267605 0.49682941 0 - 30 300 0.2506392 0.14331637 0.2825636 0.21425798 0.49682157 0 - 40 300 0.33466673 0.53041843 0.089505208 0.79297556 0.88248077 0 - 50 300 0.41812825 1.1948397 -0.083317439 1.7862853 1.7029679 0 - 60 300 0.50167894 1.3915614 -0.37745551 2.0803842 1.7029287 0 - 70 300 0.58574796 1.7061978 -0.84746071 2.5507657 1.703305 0 - 80 300 0.6700325 20.692093 -3.32971 30.93468 27.60497 0 - 90 300 0.75608635 48.999403 -2.1632167 73.254107 71.090891 0 - 100 300 0.84190726 51.199785 -0.81127924 76.543678 75.732399 0 -Loop time of 0.841921 on 1 procs for 100 steps with 300 atoms - -Performance: 51311.251 tau/day, 118.776 timesteps/s -100.0% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.1206e-05 | 1.1206e-05 | 1.1206e-05 | 0.0 | 0.00 -Kspace | 0.835 | 0.835 | 0.835 | 0.0 | 99.18 -Neigh | 0.0040102 | 0.0040102 | 0.0040102 | 0.0 | 0.48 -Comm | 0.0012431 | 0.0012431 | 0.0012431 | 0.0 | 0.15 -Output | 0.0001545 | 0.0001545 | 0.0001545 | 0.0 | 0.02 -Modify | 0.0010202 | 0.0010202 | 0.0010202 | 0.0 | 0.12 -Other | | 0.000484 | | | 0.06 - -Nlocal: 300 ave 300 max 300 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 381 ave 381 max 381 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 2461 ave 2461 max 2461 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 2461 -Ave neighs/atom = 8.20333 -Neighbor list builds = 15 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.16 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.16 deleted file mode 100644 index 1e385c5fda..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.16 +++ /dev/null @@ -1,92 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task - -units lj -atom_style charge - -read_data data.cloud_wall - orthogonal box = (0 0 0) to (10 10 10) - 2 by 2 by 4 MPI processor grid - reading atoms ... - 300 atoms - -velocity all set 0.0 0.0 0.0 mom no - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 - -thermo_style custom step atoms cpu temp pe ke etotal ecoul - -run_style verlet - -#dump simple all custom 1000 id x y z vx vy vz -#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass -#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass -#dump_modify dmpvtk pad 7 - -thermo 10 -run 100 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.313 | 3.501 | 3.689 Mbytes -Step Atoms CPU Temp PotEng KinEng TotEng E_coul - 0 300 0 0 0.49683273 0 0.49683273 0 - 10 300 0.029647827 0.015479312 0.47369009 0.023141571 0.49683166 0 - 20 300 0.059298515 0.062386358 0.40356181 0.093267605 0.49682941 0 - 30 300 0.088926077 0.14331637 0.2825636 0.21425798 0.49682157 0 - 40 300 0.11850166 0.53041843 0.089505208 0.79297556 0.88248077 0 - 50 300 0.14820433 1.1948397 -0.083317439 1.7862853 1.7029679 0 - 60 300 0.17807317 1.3915614 -0.37745551 2.0803842 1.7029287 0 - 70 300 0.20803642 1.7061978 -0.84746071 2.5507657 1.703305 0 - 80 300 0.23797083 20.692093 -3.32971 30.93468 27.60497 0 - 90 300 0.26835561 48.999403 -2.1632167 73.254107 71.090891 0 - 100 300 0.29766583 51.199785 -0.81127924 76.543678 75.732399 0 -Loop time of 0.297693 on 16 procs for 100 steps with 300 atoms - -Performance: 145116.000 tau/day, 335.917 timesteps/s -98.8% CPU use with 16 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.1683e-05 | 1.6928e-05 | 2.4557e-05 | 0.0 | 0.01 -Kspace | 0.29245 | 0.29325 | 0.29366 | 0.1 | 98.51 -Neigh | 0.00017214 | 0.00042973 | 0.0010228 | 0.0 | 0.14 -Comm | 0.0021176 | 0.0024613 | 0.0028479 | 0.5 | 0.83 -Output | 0.00028467 | 0.00033538 | 0.00041103 | 0.0 | 0.11 -Modify | 8.893e-05 | 0.00015014 | 0.00027537 | 0.0 | 0.05 -Other | | 0.001048 | | | 0.35 - -Nlocal: 18.75 ave 33 max 6 min -Histogram: 2 6 0 0 0 0 2 1 2 3 -Nghost: 128.875 ave 198 max 71 min -Histogram: 7 1 0 0 0 0 0 1 5 2 -Neighs: 153.812 ave 490 max 14 min -Histogram: 8 0 3 0 1 1 0 0 1 2 - -Total # of neighbors = 2461 -Ave neighs/atom = 8.20333 -Neighbor list builds = 15 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.2 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.2 deleted file mode 100644 index 3f54069ffd..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.2 +++ /dev/null @@ -1,92 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task - -units lj -atom_style charge - -read_data data.cloud_wall - orthogonal box = (0 0 0) to (10 10 10) - 1 by 1 by 2 MPI processor grid - reading atoms ... - 300 atoms - -velocity all set 0.0 0.0 0.0 mom no - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 - -thermo_style custom step atoms cpu temp pe ke etotal ecoul - -run_style verlet - -#dump simple all custom 1000 id x y z vx vy vz -#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass -#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass -#dump_modify dmpvtk pad 7 - -thermo 10 -run 100 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.354 | 3.354 | 3.355 Mbytes -Step Atoms CPU Temp PotEng KinEng TotEng E_coul - 0 300 0 0 0.49683273 0 0.49683273 0 - 10 300 0.049199581 0.015479312 0.47369009 0.023141571 0.49683166 0 - 20 300 0.09860301 0.062386358 0.40356181 0.093267605 0.49682941 0 - 30 300 0.14826894 0.14331637 0.2825636 0.21425798 0.49682157 0 - 40 300 0.19769144 0.53041843 0.089505208 0.79297556 0.88248077 0 - 50 300 0.24735355 1.1948397 -0.083317439 1.7862853 1.7029679 0 - 60 300 0.29692888 1.3915614 -0.37745551 2.0803842 1.7029287 0 - 70 300 0.34639764 1.7061978 -0.84746071 2.5507657 1.703305 0 - 80 300 0.39633083 20.692093 -3.32971 30.93468 27.60497 0 - 90 300 0.44779778 48.999403 -2.1632167 73.254107 71.090891 0 - 100 300 0.49988627 51.199785 -0.81127924 76.543678 75.732399 0 -Loop time of 0.499909 on 2 procs for 100 steps with 300 atoms - -Performance: 86415.782 tau/day, 200.037 timesteps/s -99.5% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 9.0599e-06 | 1.3709e-05 | 1.8358e-05 | 0.0 | 0.00 -Kspace | 0.49314 | 0.49365 | 0.49416 | 0.1 | 98.75 -Neigh | 0.0016146 | 0.0021083 | 0.0026021 | 1.1 | 0.42 -Comm | 0.002754 | 0.0028276 | 0.0029013 | 0.1 | 0.57 -Output | 0.00015783 | 0.00019348 | 0.00022912 | 0.0 | 0.04 -Modify | 0.00049257 | 0.00049472 | 0.00049686 | 0.0 | 0.10 -Other | | 0.0006217 | | | 0.12 - -Nlocal: 150 ave 157 max 143 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 399 ave 402 max 396 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 1230.5 ave 1756 max 705 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 2461 -Ave neighs/atom = 8.20333 -Neighbor list builds = 15 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.4 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.4 deleted file mode 100644 index 8b94402658..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.4 +++ /dev/null @@ -1,92 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task - -units lj -atom_style charge - -read_data data.cloud_wall - orthogonal box = (0 0 0) to (10 10 10) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 300 atoms - -velocity all set 0.0 0.0 0.0 mom no - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 - -thermo_style custom step atoms cpu temp pe ke etotal ecoul - -run_style verlet - -#dump simple all custom 1000 id x y z vx vy vz -#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass -#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass -#dump_modify dmpvtk pad 7 - -thermo 10 -run 100 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.333 | 3.333 | 3.333 Mbytes -Step Atoms CPU Temp PotEng KinEng TotEng E_coul - 0 300 0 0 0.49683273 0 0.49683273 0 - 10 300 0.031973124 0.015479312 0.47369009 0.023141571 0.49683166 0 - 20 300 0.064628601 0.062386358 0.40356181 0.093267605 0.49682941 0 - 30 300 0.096747875 0.14331637 0.2825636 0.21425798 0.49682157 0 - 40 300 0.12864041 0.53041843 0.089505208 0.79297556 0.88248077 0 - 50 300 0.161134 1.1948397 -0.083317439 1.7862853 1.7029679 0 - 60 300 0.19359422 1.3915614 -0.37745551 2.0803842 1.7029287 0 - 70 300 0.22573543 1.7061978 -0.84746071 2.5507657 1.703305 0 - 80 300 0.25922132 20.692093 -3.32971 30.93468 27.60497 0 - 90 300 0.29452014 48.999403 -2.1632167 73.254107 71.090891 0 - 100 300 0.33031607 51.199785 -0.81127924 76.543678 75.732399 0 -Loop time of 0.330333 on 4 procs for 100 steps with 300 atoms - -Performance: 130777.056 tau/day, 302.725 timesteps/s -99.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.0014e-05 | 1.3471e-05 | 1.5497e-05 | 0.0 | 0.00 -Kspace | 0.32504 | 0.3255 | 0.3258 | 0.1 | 98.54 -Neigh | 0.00083303 | 0.0011883 | 0.0015609 | 0.8 | 0.36 -Comm | 0.0024087 | 0.0025436 | 0.0026674 | 0.2 | 0.77 -Output | 0.00017405 | 0.00020278 | 0.00024986 | 0.0 | 0.06 -Modify | 0.00028658 | 0.00031012 | 0.00033331 | 0.0 | 0.09 -Other | | 0.0005748 | | | 0.17 - -Nlocal: 75 ave 81 max 69 min -Histogram: 1 0 0 0 1 1 0 0 0 1 -Nghost: 287 ave 296 max 278 min -Histogram: 1 0 1 0 0 0 0 1 0 1 -Neighs: 615.25 ave 964 max 286 min -Histogram: 1 1 0 0 0 0 0 1 0 1 - -Total # of neighbors = 2461 -Ave neighs/atom = 8.20333 -Neighbor list builds = 15 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.8 b/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.8 deleted file mode 100644 index 3de3c25017..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.cw.g++.p2nfft.8 +++ /dev/null @@ -1,92 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task - -units lj -atom_style charge - -read_data data.cloud_wall - orthogonal box = (0 0 0) to (10 10 10) - 2 by 2 by 2 MPI processor grid - reading atoms ... - 300 atoms - -velocity all set 0.0 0.0 0.0 mom no - -pair_style zero 1.0 -pair_coeff * * - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 - -thermo_style custom step atoms cpu temp pe ke etotal ecoul - -run_style verlet - -#dump simple all custom 1000 id x y z vx vy vz -#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass -#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass -#dump_modify dmpvtk pad 7 - -thermo 10 -run 100 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 10 10 10 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.317 | 3.317 | 3.317 Mbytes -Step Atoms CPU Temp PotEng KinEng TotEng E_coul - 0 300 0 0 0.49683273 0 0.49683273 0 - 10 300 0.023941755 0.015479312 0.47369009 0.023141571 0.49683166 0 - 20 300 0.047938108 0.062386358 0.40356181 0.093267605 0.49682941 0 - 30 300 0.071953773 0.14331637 0.2825636 0.21425798 0.49682157 0 - 40 300 0.095941782 0.53041843 0.089505208 0.79297556 0.88248077 0 - 50 300 0.12011361 1.1948397 -0.083317439 1.7862853 1.7029679 0 - 60 300 0.14433384 1.3915614 -0.37745551 2.0803842 1.7029287 0 - 70 300 0.16875505 1.7061978 -0.84746071 2.5507657 1.703305 0 - 80 300 0.193331 20.692093 -3.32971 30.93468 27.60497 0 - 90 300 0.21844888 48.999403 -2.1632167 73.254107 71.090891 0 - 100 300 0.24417853 51.199785 -0.81127924 76.543678 75.732399 0 -Loop time of 0.244198 on 8 procs for 100 steps with 300 atoms - -Performance: 176905.349 tau/day, 409.503 timesteps/s -99.7% CPU use with 8 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 9.7752e-06 | 1.4246e-05 | 1.955e-05 | 0.0 | 0.01 -Kspace | 0.23946 | 0.23972 | 0.24009 | 0.0 | 98.17 -Neigh | 0.00049043 | 0.00071204 | 0.00095773 | 0.0 | 0.29 -Comm | 0.0025063 | 0.0026675 | 0.0027597 | 0.2 | 1.09 -Output | 0.00019646 | 0.00021604 | 0.00026321 | 0.0 | 0.09 -Modify | 0.00017905 | 0.0001913 | 0.00020766 | 0.0 | 0.08 -Other | | 0.0006773 | | | 0.28 - -Nlocal: 37.5 ave 42 max 33 min -Histogram: 2 1 0 1 0 0 1 0 1 2 -Nghost: 202.25 ave 212 max 194 min -Histogram: 1 0 2 1 0 2 0 1 0 1 -Neighs: 307.625 ave 505 max 129 min -Histogram: 3 0 0 1 1 0 0 0 1 2 - -Total # of neighbors = 2461 -Ave neighs/atom = 8.20333 -Neighbor list builds = 15 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.16 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.16 deleted file mode 100644 index f2223064e0..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.16 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.NaCl - orthogonal box = (0 0 0) to (2 2 2) - 2 by 2 by 4 MPI processor grid - reading atoms ... - 8 atoms - -replicate 8 8 8 - orthogonal box = (0 0 0) to (16 16 16) - 2 by 2 by 4 MPI processor grid - 4096 atoms - Time spent = 0.000503302 secs - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos ewald 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 -thermo 10 - -run 100 -Setting up ScaFaCoS with solver ewald ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 16 16 16 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.401 | 3.401 | 3.401 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.87413076 0 1.3753199 1.4996338 - 10 1.5001167 -0.84976141 0 1.3998642 1.4997504 - 20 1.5002402 -0.84977464 0 1.4000363 1.499874 - 30 1.5003611 -0.84978325 0 1.4002089 1.4999948 - 40 1.5004736 -0.84977869 0 1.4003823 1.5001073 - 50 1.5005703 -0.8497468 0 1.4005591 1.5002039 - 60 1.5006418 -0.84967646 0 1.4007366 1.5002754 - 70 1.5006785 -0.84955497 0 1.4009132 1.5003121 - 80 1.5006711 -0.849369 0 1.4010881 1.5003047 - 90 1.500611 -0.84910811 0 1.4012589 1.5002446 - 100 1.5004911 -0.84870167 0 1.4014854 1.5001247 -Loop time of 46.4857 on 16 procs for 100 steps with 4096 atoms - -Performance: 929.317 tau/day, 2.151 timesteps/s -99.8% CPU use with 16 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00023437 | 0.00024788 | 0.00026894 | 0.0 | 0.00 -Kspace | 46.476 | 46.476 | 46.476 | 0.0 | 99.98 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0062859 | 0.0067717 | 0.0072649 | 0.3 | 0.01 -Output | 0.0004127 | 0.00044075 | 0.00050807 | 0.0 | 0.00 -Modify | 0.00099325 | 0.0010343 | 0.0010939 | 0.1 | 0.00 -Other | | 0.001459 | | | 0.00 - -Nlocal: 256 ave 256 max 256 min -Histogram: 16 0 0 0 0 0 0 0 0 0 -Nghost: 1265 ave 1265 max 1265 min -Histogram: 16 0 0 0 0 0 0 0 0 0 -Neighs: 4096 ave 4096 max 4096 min -Histogram: 16 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 65536 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:47 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.8 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.8 deleted file mode 100644 index 8d3702a8b3..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.g++.ewald.8 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.NaCl - orthogonal box = (0 0 0) to (2 2 2) - 2 by 2 by 2 MPI processor grid - reading atoms ... - 8 atoms - -replicate 8 8 8 - orthogonal box = (0 0 0) to (16 16 16) - 2 by 2 by 2 MPI processor grid - 4096 atoms - Time spent = 0.000281811 secs - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos ewald 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 -thermo 10 - -run 100 -Setting up ScaFaCoS with solver ewald ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 16 16 16 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.416 | 3.416 | 3.416 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.87413076 0 1.3753199 1.4996338 - 10 1.5001095 -0.85040058 0 1.3992143 1.4997433 - 20 1.5002258 -0.85039456 0 1.3993947 1.4998595 - 30 1.5003395 -0.85038368 0 1.3995761 1.4999732 - 40 1.5004452 -0.85035944 0 1.3997589 1.5000789 - 50 1.5005354 -0.85030783 0 1.3999457 1.500169 - 60 1.5006008 -0.85021779 0 1.4001339 1.5002344 - 70 1.500632 -0.8500769 0 1.4003215 1.5002656 - 80 1.5006197 -0.84987187 0 1.4005081 1.5002533 - 90 1.5005554 -0.84959251 0 1.400691 1.500189 - 100 1.500432 -0.84916846 0 1.4009301 1.5000657 -Loop time of 86.1477 on 8 procs for 100 steps with 4096 atoms - -Performance: 501.464 tau/day, 1.161 timesteps/s -99.9% CPU use with 8 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.000314 | 0.00033289 | 0.00035048 | 0.0 | 0.00 -Kspace | 86.136 | 86.136 | 86.136 | 0.0 | 99.99 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0069821 | 0.0073864 | 0.0077834 | 0.3 | 0.01 -Output | 0.00038719 | 0.00041264 | 0.00047517 | 0.0 | 0.00 -Modify | 0.0018711 | 0.0019454 | 0.0020905 | 0.1 | 0.00 -Other | | 0.001762 | | | 0.00 - -Nlocal: 512 ave 512 max 512 min -Histogram: 8 0 0 0 0 0 0 0 0 0 -Nghost: 1685 ave 1685 max 1685 min -Histogram: 8 0 0 0 0 0 0 0 0 0 -Neighs: 8192 ave 8192 max 8192 min -Histogram: 8 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 65536 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:01:28 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.1 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.1 deleted file mode 100644 index 0749de3832..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.1 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.NaCl - orthogonal box = (0 0 0) to (2 2 2) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 8 atoms - -replicate 8 8 8 - orthogonal box = (0 0 0) to (16 16 16) - 1 by 1 by 1 MPI processor grid - 4096 atoms - Time spent = 0.000584364 secs - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos fmm 0.001 -kspace_modify scafacos tolerance energy_rel - -timestep 0.005 -thermo 10 - -run 100 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 16 16 16 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.723 | 3.723 | 3.723 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.87378819 0 1.3756625 1.4996338 - 10 1.5000004 -0.87378882 0 1.3756625 1.4996342 - 20 1.4999998 -0.87378782 0 1.3756625 1.4996336 - 30 1.4999934 -0.87377823 0 1.3756625 1.4996272 - 40 1.4999745 -0.87374997 0 1.3756625 1.4996083 - 50 1.4999347 -0.87369019 0 1.3756625 1.4995685 - 60 1.4998637 -0.87358381 0 1.3756625 1.4994975 - 70 1.4997506 -0.87341428 0 1.3756624 1.4993845 - 80 1.4995842 -0.87316464 0 1.3756624 1.499218 - 90 1.4993536 -0.87281897 0 1.3756624 1.4989876 - 100 1.4990503 -0.87236411 0 1.3756624 1.4986843 -Loop time of 5.26537 on 1 procs for 100 steps with 4096 atoms - -Performance: 8204.550 tau/day, 18.992 timesteps/s -99.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0011349 | 0.0011349 | 0.0011349 | 0.0 | 0.02 -Kspace | 5.2375 | 5.2375 | 5.2375 | 0.0 | 99.47 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0090225 | 0.0090225 | 0.0090225 | 0.0 | 0.17 -Output | 0.0004127 | 0.0004127 | 0.0004127 | 0.0 | 0.01 -Modify | 0.012851 | 0.012851 | 0.012851 | 0.0 | 0.24 -Other | | 0.004441 | | | 0.08 - -Nlocal: 4096 ave 4096 max 4096 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 5165 ave 5165 max 5165 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 65536 ave 65536 max 65536 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 65536 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:06 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.16 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.16 deleted file mode 100644 index 6af26f7b81..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.16 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.NaCl - orthogonal box = (0 0 0) to (2 2 2) - 2 by 2 by 4 MPI processor grid - reading atoms ... - 8 atoms - -replicate 8 8 8 - orthogonal box = (0 0 0) to (16 16 16) - 2 by 2 by 4 MPI processor grid - 4096 atoms - Time spent = 0.000507593 secs - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos fmm 0.001 -kspace_modify scafacos tolerance energy_rel - -timestep 0.005 -thermo 10 - -run 100 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 16 16 16 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.401 | 3.401 | 3.401 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.87378819 0 1.3756625 1.4996338 - 10 1.5000004 -0.87378882 0 1.3756625 1.4996342 - 20 1.4999998 -0.87378782 0 1.3756625 1.4996336 - 30 1.4999934 -0.87377823 0 1.3756625 1.4996272 - 40 1.4999745 -0.87374997 0 1.3756625 1.4996083 - 50 1.4999347 -0.87369019 0 1.3756625 1.4995685 - 60 1.4998637 -0.87358381 0 1.3756625 1.4994975 - 70 1.4997506 -0.87341428 0 1.3756624 1.4993845 - 80 1.4995842 -0.87316464 0 1.3756624 1.499218 - 90 1.4993536 -0.87281897 0 1.3756624 1.4989876 - 100 1.4990503 -0.87236411 0 1.3756624 1.4986843 -Loop time of 0.570389 on 16 procs for 100 steps with 4096 atoms - -Performance: 75737.813 tau/day, 175.319 timesteps/s -99.3% CPU use with 16 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00024104 | 0.00025283 | 0.00029206 | 0.0 | 0.04 -Kspace | 0.56153 | 0.56176 | 0.56189 | 0.0 | 98.49 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0055203 | 0.0057825 | 0.0061858 | 0.2 | 1.01 -Output | 0.00038505 | 0.00040831 | 0.00048184 | 0.0 | 0.07 -Modify | 0.00096965 | 0.00099662 | 0.0010159 | 0.0 | 0.17 -Other | | 0.001192 | | | 0.21 - -Nlocal: 256 ave 256 max 256 min -Histogram: 16 0 0 0 0 0 0 0 0 0 -Nghost: 1265 ave 1265 max 1265 min -Histogram: 16 0 0 0 0 0 0 0 0 0 -Neighs: 4096 ave 4096 max 4096 min -Histogram: 16 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 65536 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.2 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.2 deleted file mode 100644 index bcc61485ca..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.2 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.NaCl - orthogonal box = (0 0 0) to (2 2 2) - 1 by 1 by 2 MPI processor grid - reading atoms ... - 8 atoms - -replicate 8 8 8 - orthogonal box = (0 0 0) to (16 16 16) - 1 by 1 by 2 MPI processor grid - 4096 atoms - Time spent = 0.000455141 secs - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos fmm 0.001 -kspace_modify scafacos tolerance energy_rel - -timestep 0.005 -thermo 10 - -run 100 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 16 16 16 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.634 | 3.634 | 3.634 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.87378819 0 1.3756625 1.4996338 - 10 1.5000004 -0.87378882 0 1.3756625 1.4996342 - 20 1.4999998 -0.87378782 0 1.3756625 1.4996336 - 30 1.4999934 -0.87377823 0 1.3756625 1.4996272 - 40 1.4999745 -0.87374997 0 1.3756625 1.4996083 - 50 1.4999347 -0.87369019 0 1.3756625 1.4995685 - 60 1.4998637 -0.87358381 0 1.3756625 1.4994975 - 70 1.4997506 -0.87341428 0 1.3756624 1.4993845 - 80 1.4995842 -0.87316464 0 1.3756624 1.499218 - 90 1.4993536 -0.87281897 0 1.3756624 1.4989876 - 100 1.4990503 -0.87236411 0 1.3756624 1.4986843 -Loop time of 2.73149 on 2 procs for 100 steps with 4096 atoms - -Performance: 15815.560 tau/day, 36.610 timesteps/s -99.7% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00070763 | 0.00071537 | 0.00072312 | 0.0 | 0.03 -Kspace | 2.7111 | 2.7112 | 2.7112 | 0.0 | 99.26 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0096555 | 0.0097489 | 0.0098424 | 0.1 | 0.36 -Output | 0.00036025 | 0.0003823 | 0.00040436 | 0.0 | 0.01 -Modify | 0.0063472 | 0.0064594 | 0.0065715 | 0.1 | 0.24 -Other | | 0.00299 | | | 0.11 - -Nlocal: 2048 ave 2048 max 2048 min -Histogram: 2 0 0 0 0 0 0 0 0 0 -Nghost: 3685 ave 3685 max 3685 min -Histogram: 2 0 0 0 0 0 0 0 0 0 -Neighs: 32768 ave 32768 max 32768 min -Histogram: 2 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 65536 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:04 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.4 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.4 deleted file mode 100644 index 54e010c8fd..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.4 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.NaCl - orthogonal box = (0 0 0) to (2 2 2) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 8 atoms - -replicate 8 8 8 - orthogonal box = (0 0 0) to (16 16 16) - 1 by 2 by 2 MPI processor grid - 4096 atoms - Time spent = 0.000329494 secs - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos fmm 0.001 -kspace_modify scafacos tolerance energy_rel - -timestep 0.005 -thermo 10 - -run 100 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 16 16 16 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.497 | 3.497 | 3.497 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.87378819 0 1.3756625 1.4996338 - 10 1.5000004 -0.87378882 0 1.3756625 1.4996342 - 20 1.4999998 -0.87378782 0 1.3756625 1.4996336 - 30 1.4999934 -0.87377823 0 1.3756625 1.4996272 - 40 1.4999745 -0.87374997 0 1.3756625 1.4996083 - 50 1.4999347 -0.87369019 0 1.3756625 1.4995685 - 60 1.4998637 -0.87358381 0 1.3756625 1.4994975 - 70 1.4997506 -0.87341428 0 1.3756624 1.4993845 - 80 1.4995842 -0.87316464 0 1.3756624 1.499218 - 90 1.4993536 -0.87281897 0 1.3756624 1.4989876 - 100 1.4990503 -0.87236411 0 1.3756624 1.4986843 -Loop time of 1.53742 on 4 procs for 100 steps with 4096 atoms - -Performance: 28099.005 tau/day, 65.044 timesteps/s -99.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00044894 | 0.00045562 | 0.0004611 | 0.0 | 0.03 -Kspace | 1.5223 | 1.5225 | 1.5225 | 0.0 | 99.03 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0085156 | 0.0086777 | 0.0088782 | 0.1 | 0.56 -Output | 0.00034738 | 0.0003686 | 0.0004015 | 0.0 | 0.02 -Modify | 0.0032606 | 0.0033693 | 0.0034289 | 0.1 | 0.22 -Other | | 0.002084 | | | 0.14 - -Nlocal: 1024 ave 1024 max 1024 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 2525 ave 2525 max 2525 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 16384 ave 16384 max 16384 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 65536 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.8 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.8 deleted file mode 100644 index d5d38d6804..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.g++.fmm.8 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.NaCl - orthogonal box = (0 0 0) to (2 2 2) - 2 by 2 by 2 MPI processor grid - reading atoms ... - 8 atoms - -replicate 8 8 8 - orthogonal box = (0 0 0) to (16 16 16) - 2 by 2 by 2 MPI processor grid - 4096 atoms - Time spent = 0.000284672 secs - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos fmm 0.001 -kspace_modify scafacos tolerance energy_rel - -timestep 0.005 -thermo 10 - -run 100 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 16 16 16 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.416 | 3.416 | 3.416 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.87378819 0 1.3756625 1.4996338 - 10 1.5000004 -0.87378882 0 1.3756625 1.4996342 - 20 1.4999998 -0.87378782 0 1.3756625 1.4996336 - 30 1.4999934 -0.87377823 0 1.3756625 1.4996272 - 40 1.4999745 -0.87374997 0 1.3756625 1.4996083 - 50 1.4999347 -0.87369019 0 1.3756625 1.4995685 - 60 1.4998637 -0.87358381 0 1.3756625 1.4994975 - 70 1.4997506 -0.87341428 0 1.3756624 1.4993845 - 80 1.4995842 -0.87316464 0 1.3756624 1.499218 - 90 1.4993536 -0.87281897 0 1.3756624 1.4989876 - 100 1.4990503 -0.87236411 0 1.3756624 1.4986843 -Loop time of 0.902102 on 8 procs for 100 steps with 4096 atoms - -Performance: 47888.152 tau/day, 110.852 timesteps/s -99.7% CPU use with 8 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00030732 | 0.00031349 | 0.00032663 | 0.0 | 0.03 -Kspace | 0.89112 | 0.89138 | 0.8916 | 0.0 | 98.81 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0064399 | 0.0066807 | 0.0070164 | 0.2 | 0.74 -Output | 0.00034571 | 0.00036666 | 0.00041723 | 0.0 | 0.04 -Modify | 0.0018673 | 0.0019273 | 0.0020192 | 0.1 | 0.21 -Other | | 0.001431 | | | 0.16 - -Nlocal: 512 ave 512 max 512 min -Histogram: 8 0 0 0 0 0 0 0 0 0 -Nghost: 1685 ave 1685 max 1685 min -Histogram: 8 0 0 0 0 0 0 0 0 0 -Neighs: 8192 ave 8192 max 8192 min -Histogram: 8 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 65536 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:02 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.1 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.1 deleted file mode 100644 index d8b782e41d..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.1 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.NaCl - orthogonal box = (0 0 0) to (2 2 2) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 8 atoms - -replicate 8 8 8 - orthogonal box = (0 0 0) to (16 16 16) - 1 by 1 by 1 MPI processor grid - 4096 atoms - Time spent = 0.000631332 secs - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 -thermo 10 - -run 100 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 16 16 16 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.723 | 3.723 | 3.723 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.87394226 0 1.3755084 1.4996338 - 10 1.5000144 -0.87365638 0 1.375816 1.4996482 - 20 1.5000284 -0.87366526 0 1.3758281 1.4996622 - 30 1.5000364 -0.87366516 0 1.3758401 1.4996702 - 40 1.5000313 -0.8736496 0 1.375848 1.4996651 - 50 1.5000039 -0.87360069 0 1.3758558 1.4996377 - 60 1.4999432 -0.87350118 0 1.3758644 1.499577 - 70 1.499838 -0.87333517 0 1.3758726 1.4994719 - 80 1.4996772 -0.87308644 0 1.3758801 1.4993111 - 90 1.4994505 -0.87274307 0 1.3758836 1.4990844 - 100 1.4991498 -0.8722911 0 1.3758846 1.4987838 -Loop time of 9.59682 on 1 procs for 100 steps with 4096 atoms - -Performance: 4501.489 tau/day, 10.420 timesteps/s -100.0% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0011375 | 0.0011375 | 0.0011375 | 0.0 | 0.01 -Kspace | 9.5688 | 9.5688 | 9.5688 | 0.0 | 99.71 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.009017 | 0.009017 | 0.009017 | 0.0 | 0.09 -Output | 0.0004344 | 0.0004344 | 0.0004344 | 0.0 | 0.00 -Modify | 0.012987 | 0.012987 | 0.012987 | 0.0 | 0.14 -Other | | 0.004481 | | | 0.05 - -Nlocal: 4096 ave 4096 max 4096 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 5165 ave 5165 max 5165 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 65536 ave 65536 max 65536 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 65536 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:10 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.16 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.16 deleted file mode 100644 index 43bcfb6770..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.16 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.NaCl - orthogonal box = (0 0 0) to (2 2 2) - 2 by 2 by 4 MPI processor grid - reading atoms ... - 8 atoms - -replicate 8 8 8 - orthogonal box = (0 0 0) to (16 16 16) - 2 by 2 by 4 MPI processor grid - 4096 atoms - Time spent = 0.000500917 secs - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 -thermo 10 - -run 100 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 16 16 16 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.401 | 3.401 | 3.401 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.87394226 0 1.3755084 1.4996338 - 10 1.5000144 -0.87365638 0 1.375816 1.4996482 - 20 1.5000284 -0.87366526 0 1.3758281 1.4996622 - 30 1.5000364 -0.87366516 0 1.3758401 1.4996702 - 40 1.5000313 -0.8736496 0 1.375848 1.4996651 - 50 1.5000039 -0.87360069 0 1.3758558 1.4996377 - 60 1.4999432 -0.87350118 0 1.3758644 1.499577 - 70 1.499838 -0.87333517 0 1.3758726 1.4994719 - 80 1.4996772 -0.87308644 0 1.3758801 1.4993111 - 90 1.4994505 -0.87274307 0 1.3758836 1.4990844 - 100 1.4991498 -0.8722911 0 1.3758846 1.4987838 -Loop time of 1.20528 on 16 procs for 100 steps with 4096 atoms - -Performance: 35842.175 tau/day, 82.968 timesteps/s -99.3% CPU use with 16 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00021839 | 0.00025332 | 0.00029278 | 0.0 | 0.02 -Kspace | 1.1945 | 1.1948 | 1.195 | 0.0 | 99.13 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0066545 | 0.0069329 | 0.0072389 | 0.2 | 0.58 -Output | 0.0003922 | 0.00042732 | 0.00054955 | 0.0 | 0.04 -Modify | 0.0010166 | 0.0011965 | 0.0014412 | 0.3 | 0.10 -Other | | 0.001724 | | | 0.14 - -Nlocal: 256 ave 256 max 256 min -Histogram: 16 0 0 0 0 0 0 0 0 0 -Nghost: 1265 ave 1265 max 1265 min -Histogram: 16 0 0 0 0 0 0 0 0 0 -Neighs: 4096 ave 4096 max 4096 min -Histogram: 16 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 65536 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.2 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.2 deleted file mode 100644 index 9f4f44153b..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.2 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.NaCl - orthogonal box = (0 0 0) to (2 2 2) - 1 by 1 by 2 MPI processor grid - reading atoms ... - 8 atoms - -replicate 8 8 8 - orthogonal box = (0 0 0) to (16 16 16) - 1 by 1 by 2 MPI processor grid - 4096 atoms - Time spent = 0.00044775 secs - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 -thermo 10 - -run 100 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 16 16 16 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.634 | 3.634 | 3.634 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.87394226 0 1.3755084 1.4996338 - 10 1.5000144 -0.87365638 0 1.375816 1.4996482 - 20 1.5000284 -0.87366526 0 1.3758281 1.4996622 - 30 1.5000364 -0.87366516 0 1.3758401 1.4996702 - 40 1.5000313 -0.8736496 0 1.375848 1.4996651 - 50 1.5000039 -0.87360069 0 1.3758558 1.4996377 - 60 1.4999432 -0.87350118 0 1.3758644 1.499577 - 70 1.499838 -0.87333517 0 1.3758726 1.4994719 - 80 1.4996772 -0.87308644 0 1.3758801 1.4993111 - 90 1.4994505 -0.87274307 0 1.3758836 1.4990844 - 100 1.4991498 -0.8722911 0 1.3758846 1.4987838 -Loop time of 5.14681 on 2 procs for 100 steps with 4096 atoms - -Performance: 8393.542 tau/day, 19.429 timesteps/s -99.9% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00070882 | 0.00072873 | 0.00074863 | 0.0 | 0.01 -Kspace | 5.1257 | 5.1258 | 5.1258 | 0.0 | 99.59 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.010188 | 0.010291 | 0.010394 | 0.1 | 0.20 -Output | 0.00042391 | 0.00044322 | 0.00046253 | 0.0 | 0.01 -Modify | 0.0063772 | 0.006551 | 0.0067248 | 0.2 | 0.13 -Other | | 0.003026 | | | 0.06 - -Nlocal: 2048 ave 2048 max 2048 min -Histogram: 2 0 0 0 0 0 0 0 0 0 -Nghost: 3685 ave 3685 max 3685 min -Histogram: 2 0 0 0 0 0 0 0 0 0 -Neighs: 32768 ave 32768 max 32768 min -Histogram: 2 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 65536 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:05 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.4 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.4 deleted file mode 100644 index d6a78bb193..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.4 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.NaCl - orthogonal box = (0 0 0) to (2 2 2) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 8 atoms - -replicate 8 8 8 - orthogonal box = (0 0 0) to (16 16 16) - 1 by 2 by 2 MPI processor grid - 4096 atoms - Time spent = 0.000317335 secs - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 -thermo 10 - -run 100 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 16 16 16 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.497 | 3.497 | 3.497 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.87394226 0 1.3755084 1.4996338 - 10 1.5000144 -0.87365638 0 1.375816 1.4996482 - 20 1.5000284 -0.87366526 0 1.3758281 1.4996622 - 30 1.5000364 -0.87366516 0 1.3758401 1.4996702 - 40 1.5000313 -0.8736496 0 1.375848 1.4996651 - 50 1.5000039 -0.87360069 0 1.3758558 1.4996377 - 60 1.4999432 -0.87350118 0 1.3758644 1.499577 - 70 1.499838 -0.87333517 0 1.3758726 1.4994719 - 80 1.4996772 -0.87308644 0 1.3758801 1.4993111 - 90 1.4994505 -0.87274307 0 1.3758836 1.4990844 - 100 1.4991498 -0.8722911 0 1.3758846 1.4987838 -Loop time of 2.94274 on 4 procs for 100 steps with 4096 atoms - -Performance: 14680.187 tau/day, 33.982 timesteps/s -99.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00048852 | 0.00049287 | 0.00050163 | 0.0 | 0.02 -Kspace | 2.9277 | 2.9279 | 2.928 | 0.0 | 99.49 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0081494 | 0.0083126 | 0.0084655 | 0.1 | 0.28 -Output | 0.00034475 | 0.00040233 | 0.00043464 | 0.0 | 0.01 -Modify | 0.0034239 | 0.0035145 | 0.0036252 | 0.1 | 0.12 -Other | | 0.00216 | | | 0.07 - -Nlocal: 1024 ave 1024 max 1024 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 2525 ave 2525 max 2525 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 16384 ave 16384 max 16384 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 65536 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.8 b/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.8 deleted file mode 100644 index 70716bbcbd..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.g++.p2nfft.8 +++ /dev/null @@ -1,102 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.NaCl - orthogonal box = (0 0 0) to (2 2 2) - 2 by 2 by 2 MPI processor grid - reading atoms ... - 8 atoms - -replicate 8 8 8 - orthogonal box = (0 0 0) to (16 16 16) - 2 by 2 by 2 MPI processor grid - 4096 atoms - Time spent = 0.000422239 secs - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance field - -timestep 0.005 -thermo 10 - -run 100 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 16 16 16 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.416 | 3.416 | 3.416 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.87394226 0 1.3755084 1.4996338 - 10 1.5000144 -0.87365638 0 1.375816 1.4996482 - 20 1.5000284 -0.87366526 0 1.3758281 1.4996622 - 30 1.5000364 -0.87366516 0 1.3758401 1.4996702 - 40 1.5000313 -0.8736496 0 1.375848 1.4996651 - 50 1.5000039 -0.87360069 0 1.3758558 1.4996377 - 60 1.4999432 -0.87350118 0 1.3758644 1.499577 - 70 1.499838 -0.87333517 0 1.3758726 1.4994719 - 80 1.4996772 -0.87308644 0 1.3758801 1.4993111 - 90 1.4994505 -0.87274307 0 1.3758836 1.4990844 - 100 1.4991498 -0.8722911 0 1.3758846 1.4987838 -Loop time of 1.75933 on 8 procs for 100 steps with 4096 atoms - -Performance: 24554.819 tau/day, 56.840 timesteps/s -99.4% CPU use with 8 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00030684 | 0.00031838 | 0.00032926 | 0.0 | 0.02 -Kspace | 1.7474 | 1.7477 | 1.748 | 0.0 | 99.34 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0068667 | 0.0072413 | 0.0075011 | 0.2 | 0.41 -Output | 0.00036955 | 0.00038695 | 0.00044942 | 0.0 | 0.02 -Modify | 0.0018206 | 0.0019438 | 0.0020213 | 0.1 | 0.11 -Other | | 0.001739 | | | 0.10 - -Nlocal: 512 ave 512 max 512 min -Histogram: 8 0 0 0 0 0 0 0 0 0 -Nghost: 1685 ave 1685 max 1685 min -Histogram: 8 0 0 0 0 0 0 0 0 0 -Neighs: 8192 ave 8192 max 8192 min -Histogram: 8 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 65536 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 -Total wall time: 0:00:02 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.1 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.1 deleted file mode 100644 index 37d12bb37d..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.1 +++ /dev/null @@ -1,105 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.hammersley_shphere - orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1000 atoms -change_box all boundary f f f - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos direct 0.001 - -timestep 0.005 -thermo 1 -run 20 -Setting up ScaFaCoS with solver direct ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 102 102 102 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 10.3 | 10.3 | 10.3 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.62417787 0 1.6235721 0.00141207 - 1 18.780041 -10.770002 0 17.371889 0.017679155 - 2 65.289192 -11.084705 0 86.751149 0.06146194 - 3 121.92987 -7.0625759 0 175.64933 0.11478234 - 4 185.78164 -5.8777512 0 272.51604 0.17489112 - 5 286.36222 -4.382053 0 424.73173 0.26957567 - 6 481.42206 -4.3095567 0 717.1014 0.4532011 - 7 488.59167 -3.8685194 0 728.2861 0.45995044 - 8 497.85287 -3.0417966 0 742.99073 0.46866874 - 9 499.61615 -3.419003 0 745.2558 0.47032866 - 10 502.63684 -2.8360961 0 750.36521 0.47317227 - 11 504.4846 -2.7628105 0 753.20736 0.47491172 - 12 506.54485 -2.8460356 0 756.21142 0.47685119 - 13 508.27211 -2.730935 0 758.91482 0.4784772 - 14 510.57045 -2.6094877 0 762.48033 0.48064081 - 15 513.14798 -2.7150827 0 766.23717 0.48306726 - 16 515.78124 -2.3961811 0 770.50201 0.48554615 - 17 515.70265 -2.2982683 0 770.48215 0.48547216 - 18 515.7081 -2.1515983 0 770.63699 0.4854773 - 19 515.74906 -2.0581436 0 770.79182 0.48551586 - 20 515.70883 -1.8922577 0 770.89742 0.48547798 -Loop time of 0.52055 on 1 procs for 20 steps with 1000 atoms - -Performance: 16597.836 tau/day, 38.421 timesteps/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00027752 | 0.00027752 | 0.00027752 | 0.0 | 0.05 -Kspace | 0.35879 | 0.35879 | 0.35879 | 0.0 | 68.93 -Neigh | 0.15946 | 0.15946 | 0.15946 | 0.0 | 30.63 -Comm | 0.00024056 | 0.00024056 | 0.00024056 | 0.0 | 0.05 -Output | 0.00034761 | 0.00034761 | 0.00034761 | 0.0 | 0.07 -Modify | 0.00071192 | 0.00071192 | 0.00071192 | 0.0 | 0.14 -Other | | 0.0007269 | | | 0.14 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 247817 ave 247817 max 247817 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 247817 -Ave neighs/atom = 247.817 -Neighbor list builds = 19 -Dangerous builds = 18 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.2 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.2 deleted file mode 100644 index 7a22e62bce..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.2 +++ /dev/null @@ -1,105 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.hammersley_shphere - orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) - 1 by 1 by 2 MPI processor grid - reading atoms ... - 1000 atoms -change_box all boundary f f f - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos direct 0.001 - -timestep 0.005 -thermo 1 -run 20 -Setting up ScaFaCoS with solver direct ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 102 102 102 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.48 | 6.861 | 7.243 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.62417787 0 1.6235721 0.00141207 - 1 18.780041 -10.770002 0 17.371889 0.017679155 - 2 65.289192 -11.084705 0 86.751149 0.06146194 - 3 121.92987 -7.0625759 0 175.64933 0.11478234 - 4 185.78164 -5.8777512 0 272.51604 0.17489112 - 5 286.36222 -4.382053 0 424.73173 0.26957567 - 6 481.42206 -4.3095567 0 717.1014 0.4532011 - 7 488.59167 -3.8685194 0 728.2861 0.45995044 - 8 497.85287 -3.0417966 0 742.99073 0.46866874 - 9 499.61615 -3.419003 0 745.2558 0.47032866 - 10 502.63684 -2.8360961 0 750.36521 0.47317227 - 11 504.4846 -2.7628105 0 753.20736 0.47491172 - 12 506.54485 -2.8460356 0 756.21142 0.47685119 - 13 508.27211 -2.730935 0 758.91482 0.4784772 - 14 510.57045 -2.6094877 0 762.48033 0.48064081 - 15 513.14798 -2.7150827 0 766.23717 0.48306726 - 16 515.78124 -2.3961811 0 770.50201 0.48554615 - 17 515.70265 -2.2982683 0 770.48215 0.48547216 - 18 515.7081 -2.1515983 0 770.63699 0.4854773 - 19 515.74906 -2.0581436 0 770.79182 0.48551586 - 20 515.70883 -1.8922577 0 770.89742 0.48547798 -Loop time of 0.330519 on 2 procs for 20 steps with 1000 atoms - -Performance: 26140.700 tau/day, 60.511 timesteps/s -99.6% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0002749 | 0.00027692 | 0.00027895 | 0.0 | 0.08 -Kspace | 0.21565 | 0.24173 | 0.26782 | 5.3 | 73.14 -Neigh | 0.058644 | 0.084906 | 0.11117 | 9.0 | 25.69 -Comm | 0.002033 | 0.0022832 | 0.0025334 | 0.5 | 0.69 -Output | 0.00035667 | 0.0004549 | 0.00055313 | 0.0 | 0.14 -Modify | 0.0004704 | 0.00050521 | 0.00054002 | 0.0 | 0.15 -Other | | 0.0003613 | | | 0.11 - -Nlocal: 500 ave 516 max 484 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 456.5 ave 475 max 438 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 123908 ave 172139 max 75678 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 247817 -Ave neighs/atom = 247.817 -Neighbor list builds = 19 -Dangerous builds = 18 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.4 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.4 deleted file mode 100644 index 51d0f8c47e..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.4 +++ /dev/null @@ -1,105 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.hammersley_shphere - orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 1000 atoms -change_box all boundary f f f - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos direct 0.001 - -timestep 0.005 -thermo 1 -run 20 -Setting up ScaFaCoS with solver direct ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 102 102 102 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.837 | 5.123 | 5.6 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.62417787 0 1.6235721 0.00141207 - 1 18.780041 -10.770002 0 17.371889 0.017679155 - 2 65.289192 -11.084705 0 86.751149 0.06146194 - 3 121.92987 -7.0625759 0 175.64933 0.11478234 - 4 185.78164 -5.8777512 0 272.51604 0.17489112 - 5 286.36222 -4.382053 0 424.73173 0.26957567 - 6 481.42206 -4.3095567 0 717.1014 0.4532011 - 7 488.59167 -3.8685194 0 728.2861 0.45995044 - 8 497.85287 -3.0417966 0 742.99073 0.46866874 - 9 499.61615 -3.419003 0 745.2558 0.47032866 - 10 502.63684 -2.8360961 0 750.36521 0.47317227 - 11 504.4846 -2.7628105 0 753.20736 0.47491172 - 12 506.54485 -2.8460356 0 756.21142 0.47685119 - 13 508.27211 -2.730935 0 758.91482 0.4784772 - 14 510.57045 -2.6094877 0 762.48033 0.48064081 - 15 513.14798 -2.7150827 0 766.23717 0.48306726 - 16 515.78124 -2.3961811 0 770.50201 0.48554615 - 17 515.70265 -2.2982683 0 770.48215 0.48547216 - 18 515.7081 -2.1515983 0 770.63699 0.4854773 - 19 515.74906 -2.0581436 0 770.79182 0.48551586 - 20 515.70883 -1.8922577 0 770.89742 0.48547798 -Loop time of 0.197141 on 4 procs for 20 steps with 1000 atoms - -Performance: 43826.435 tau/day, 101.450 timesteps/s -99.6% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0002718 | 0.00027621 | 0.00028539 | 0.0 | 0.14 -Kspace | 0.12861 | 0.14654 | 0.16542 | 3.7 | 74.33 -Neigh | 0.027906 | 0.046895 | 0.064943 | 6.6 | 23.79 -Comm | 0.0022087 | 0.0024236 | 0.0026295 | 0.4 | 1.23 -Output | 0.0003252 | 0.00044608 | 0.0006001 | 0.0 | 0.23 -Modify | 0.00016618 | 0.0001756 | 0.00018811 | 0.0 | 0.09 -Other | | 0.0003839 | | | 0.19 - -Nlocal: 250 ave 259 max 238 min -Histogram: 1 0 0 1 0 0 0 0 0 2 -Nghost: 672.25 ave 683 max 663 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Neighs: 61954.2 ave 97157 max 25016 min -Histogram: 1 0 0 1 0 0 1 0 0 1 - -Total # of neighbors = 247817 -Ave neighs/atom = 247.817 -Neighbor list builds = 19 -Dangerous builds = 18 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.8 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.8 deleted file mode 100644 index 90119a101b..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.direct.8 +++ /dev/null @@ -1,105 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.hammersley_shphere - orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) - 2 by 2 by 2 MPI processor grid - reading atoms ... - 1000 atoms -change_box all boundary f f f - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos direct 0.001 - -timestep 0.005 -thermo 1 -run 20 -Setting up ScaFaCoS with solver direct ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 102 102 102 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.164 | 4.26 | 4.546 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.62417787 0 1.6235721 0.00141207 - 1 18.780041 -10.770002 0 17.371889 0.017679155 - 2 65.289192 -11.084705 0 86.751149 0.06146194 - 3 121.92987 -7.0625759 0 175.64933 0.11478234 - 4 185.78164 -5.8777512 0 272.51604 0.17489112 - 5 286.36222 -4.382053 0 424.73173 0.26957567 - 6 481.42206 -4.3095567 0 717.1014 0.4532011 - 7 488.59167 -3.8685194 0 728.2861 0.45995044 - 8 497.85287 -3.0417966 0 742.99073 0.46866874 - 9 499.61615 -3.419003 0 745.2558 0.47032866 - 10 502.63684 -2.8360961 0 750.36521 0.47317227 - 11 504.4846 -2.7628105 0 753.20736 0.47491172 - 12 506.54485 -2.8460356 0 756.21142 0.47685119 - 13 508.27211 -2.730935 0 758.91482 0.4784772 - 14 510.57045 -2.6094877 0 762.48033 0.48064081 - 15 513.14798 -2.7150827 0 766.23717 0.48306726 - 16 515.78124 -2.3961811 0 770.50201 0.48554615 - 17 515.70265 -2.2982683 0 770.48215 0.48547216 - 18 515.7081 -2.1515983 0 770.63699 0.4854773 - 19 515.74906 -2.0581436 0 770.79182 0.48551586 - 20 515.70883 -1.8922577 0 770.89742 0.48547798 -Loop time of 0.107014 on 8 procs for 20 steps with 1000 atoms - -Performance: 80736.875 tau/day, 186.891 timesteps/s -98.8% CPU use with 8 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00027704 | 0.00029281 | 0.00035691 | 0.0 | 0.27 -Kspace | 0.069458 | 0.07877 | 0.089146 | 2.5 | 73.61 -Neigh | 0.013525 | 0.024156 | 0.033524 | 4.7 | 22.57 -Comm | 0.002552 | 0.0029828 | 0.0033691 | 0.5 | 2.79 -Output | 0.00037909 | 0.00051123 | 0.00070429 | 0.0 | 0.48 -Modify | 8.9645e-05 | 9.5487e-05 | 0.000103 | 0.0 | 0.09 -Other | | 0.0002059 | | | 0.19 - -Nlocal: 125 ave 133 max 113 min -Histogram: 2 0 0 0 0 1 1 0 2 2 -Nghost: 773.625 ave 788 max 764 min -Histogram: 1 1 2 1 1 0 0 0 1 1 -Neighs: 30977.1 ave 50690 max 10447 min -Histogram: 1 1 1 0 1 1 0 0 2 1 - -Total # of neighbors = 247817 -Ave neighs/atom = 247.817 -Neighbor list builds = 19 -Dangerous builds = 18 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.1 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.1 deleted file mode 100644 index 432ea72b67..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.1 +++ /dev/null @@ -1,109 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.hammersley_shphere - orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1000 atoms -change_box all boundary f f f - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos fmm 0.001 -kspace_modify scafacos tolerance energy_rel -kspace_modify scafacos fmm_tuning 1 -ScaFaCoS setting fmm inhomogen tuning ...3 - -timestep 0.005 -thermo 1 - -run 20 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 102 102 102 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 10.3 | 10.3 | 10.3 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.62417141 0 1.6235786 0.00141207 - 1 18.780412 -10.770009 0 17.372438 0.017679504 - 2 65.294131 -11.084501 0 86.758754 0.06146659 - 3 121.92555 -7.0612033 0 175.64423 0.11477827 - 4 185.71165 -5.8781334 0 272.41077 0.17482523 - 5 286.28339 -4.3800108 0 424.61565 0.26950146 - 6 481.28097 -4.3052012 0 716.89433 0.45306828 - 7 487.26022 -3.8672741 0 726.29216 0.45869703 - 8 493.65478 -3.0242687 0 736.71742 0.46471675 - 9 495.66203 -3.4336343 0 739.31592 0.46660633 - 10 498.41831 -2.8837072 0 743.99613 0.46920104 - 11 499.20944 -2.7724783 0 745.29287 0.46994579 - 12 500.97345 -2.8281484 0 747.88057 0.4716064 - 13 507.46412 -2.7752775 0 757.65971 0.47771658 - 14 525.35729 -2.5749814 0 784.67292 0.49456085 - 15 563.9578 -2.9982381 0 842.09253 0.5308986 - 16 645.47602 -2.5519203 0 964.69389 0.60763822 - 17 647.09276 -2.2568468 0 967.41166 0.60916019 - 18 647.12596 -2.2791003 0 967.43915 0.60919144 - 19 647.24862 -2.2495226 0 967.65253 0.60930691 - 20 647.51175 -2.0239179 0 968.27244 0.60955462 -Loop time of 0.644143 on 1 procs for 20 steps with 1000 atoms - -Performance: 13413.173 tau/day, 31.049 timesteps/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00027657 | 0.00027657 | 0.00027657 | 0.0 | 0.04 -Kspace | 0.4788 | 0.4788 | 0.4788 | 0.0 | 74.33 -Neigh | 0.16279 | 0.16279 | 0.16279 | 0.0 | 25.27 -Comm | 0.00021696 | 0.00021696 | 0.00021696 | 0.0 | 0.03 -Output | 0.00054836 | 0.00054836 | 0.00054836 | 0.0 | 0.09 -Modify | 0.00075102 | 0.00075102 | 0.00075102 | 0.0 | 0.12 -Other | | 0.000757 | | | 0.12 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 244342 ave 244342 max 244342 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 244342 -Ave neighs/atom = 244.342 -Neighbor list builds = 19 -Dangerous builds = 18 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.2 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.2 deleted file mode 100644 index 4d4b1100e3..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.2 +++ /dev/null @@ -1,109 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.hammersley_shphere - orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) - 1 by 1 by 2 MPI processor grid - reading atoms ... - 1000 atoms -change_box all boundary f f f - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos fmm 0.001 -kspace_modify scafacos tolerance energy_rel -kspace_modify scafacos fmm_tuning 1 -ScaFaCoS setting fmm inhomogen tuning ...3 - -timestep 0.005 -thermo 1 - -run 20 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 102 102 102 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.48 | 6.861 | 7.243 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.62417141 0 1.6235786 0.00141207 - 1 18.780412 -10.770009 0 17.372438 0.017679504 - 2 65.294131 -11.084501 0 86.758754 0.06146659 - 3 121.92555 -7.0612033 0 175.64423 0.11477827 - 4 185.71165 -5.8781334 0 272.41077 0.17482523 - 5 286.28339 -4.3800108 0 424.61565 0.26950146 - 6 481.28097 -4.3052012 0 716.89433 0.45306828 - 7 487.26022 -3.8672741 0 726.29216 0.45869703 - 8 493.65478 -3.0242687 0 736.71742 0.46471675 - 9 495.66203 -3.4336343 0 739.31592 0.46660633 - 10 498.41831 -2.8837072 0 743.99613 0.46920104 - 11 499.20944 -2.7724783 0 745.29287 0.46994579 - 12 500.97345 -2.8281484 0 747.88057 0.4716064 - 13 507.46412 -2.7752775 0 757.65971 0.47771658 - 14 525.35729 -2.5749814 0 784.67292 0.49456085 - 15 563.9578 -2.9982381 0 842.09253 0.5308986 - 16 645.47602 -2.5519203 0 964.69389 0.60763822 - 17 647.09276 -2.2568468 0 967.41166 0.60916019 - 18 647.12596 -2.2791003 0 967.43915 0.60919144 - 19 647.24862 -2.2495226 0 967.65253 0.60930691 - 20 647.51175 -2.0239179 0 968.27244 0.60955462 -Loop time of 0.563049 on 2 procs for 20 steps with 1000 atoms - -Performance: 15345.024 tau/day, 35.521 timesteps/s -99.4% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00024986 | 0.00026596 | 0.00028205 | 0.0 | 0.05 -Kspace | 0.45103 | 0.47692 | 0.50281 | 3.7 | 84.70 -Neigh | 0.055771 | 0.081813 | 0.10785 | 9.1 | 14.53 -Comm | 0.0022206 | 0.0024507 | 0.0026808 | 0.5 | 0.44 -Output | 0.00050044 | 0.00061882 | 0.00073719 | 0.0 | 0.11 -Modify | 0.00029945 | 0.00044227 | 0.00058508 | 0.0 | 0.08 -Other | | 0.0005381 | | | 0.10 - -Nlocal: 500 ave 509 max 491 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 455.5 ave 467 max 444 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 122171 ave 171834 max 72508 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 244342 -Ave neighs/atom = 244.342 -Neighbor list builds = 19 -Dangerous builds = 18 -Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.4 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.4 deleted file mode 100644 index 9634a0174b..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.4 +++ /dev/null @@ -1,109 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.hammersley_shphere - orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 1000 atoms -change_box all boundary f f f - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos fmm 0.001 -kspace_modify scafacos tolerance energy_rel -kspace_modify scafacos fmm_tuning 1 -ScaFaCoS setting fmm inhomogen tuning ...3 - -timestep 0.005 -thermo 1 - -run 20 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 102 102 102 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.837 | 5.123 | 5.6 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.62417141 0 1.6235786 0.00141207 - 1 18.780412 -10.770009 0 17.372438 0.017679504 - 2 65.294131 -11.084501 0 86.758754 0.06146659 - 3 121.92555 -7.0612033 0 175.64423 0.11477827 - 4 185.71165 -5.8781334 0 272.41077 0.17482523 - 5 286.28339 -4.3800108 0 424.61565 0.26950146 - 6 481.28097 -4.3052012 0 716.89433 0.45306828 - 7 487.26022 -3.8672741 0 726.29216 0.45869703 - 8 493.65478 -3.0242687 0 736.71742 0.46471675 - 9 495.66203 -3.4336343 0 739.31592 0.46660633 - 10 498.41831 -2.8837072 0 743.99613 0.46920104 - 11 499.20944 -2.7724783 0 745.29287 0.46994579 - 12 500.97345 -2.8281484 0 747.88057 0.4716064 - 13 507.46412 -2.7752775 0 757.65971 0.47771658 - 14 525.35729 -2.5749814 0 784.67292 0.49456085 - 15 563.9578 -2.9982381 0 842.09253 0.5308986 - 16 645.47602 -2.5519203 0 964.69389 0.60763822 - 17 647.09276 -2.2568468 0 967.41166 0.60916019 - 18 647.12596 -2.2791003 0 967.43915 0.60919144 - 19 647.24862 -2.2495226 0 967.65253 0.60930691 - 20 647.51175 -2.0239179 0 968.27244 0.60955462 -Loop time of 0.508149 on 4 procs for 20 steps with 1000 atoms - -Performance: 17002.884 tau/day, 39.359 timesteps/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00024509 | 0.00026453 | 0.00028753 | 0.0 | 0.05 -Kspace | 0.43933 | 0.45836 | 0.47734 | 2.2 | 90.20 -Neigh | 0.025956 | 0.045068 | 0.064242 | 7.2 | 8.87 -Comm | 0.002799 | 0.0030612 | 0.0033174 | 0.4 | 0.60 -Output | 0.00047231 | 0.00058293 | 0.00076509 | 0.0 | 0.11 -Modify | 0.00016856 | 0.0002442 | 0.00042009 | 0.0 | 0.05 -Other | | 0.0005655 | | | 0.11 - -Nlocal: 250 ave 259 max 240 min -Histogram: 1 0 0 0 0 2 0 0 0 1 -Nghost: 668.75 ave 679 max 657 min -Histogram: 1 0 0 0 0 1 1 0 0 1 -Neighs: 61085.5 ave 95363 max 24964 min -Histogram: 1 0 0 1 0 0 0 1 0 1 - -Total # of neighbors = 244342 -Ave neighs/atom = 244.342 -Neighbor list builds = 19 -Dangerous builds = 18 -Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.8 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.8 deleted file mode 100644 index a6a020b031..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.fmm.8 +++ /dev/null @@ -1,109 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.hammersley_shphere - orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) - 2 by 2 by 2 MPI processor grid - reading atoms ... - 1000 atoms -change_box all boundary f f f - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos fmm 0.001 -kspace_modify scafacos tolerance energy_rel -kspace_modify scafacos fmm_tuning 1 -ScaFaCoS setting fmm inhomogen tuning ...3 - -timestep 0.005 -thermo 1 - -run 20 -Setting up ScaFaCoS with solver fmm ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 102 102 102 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.164 | 4.26 | 4.546 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.62417141 0 1.6235786 0.00141207 - 1 18.780412 -10.770009 0 17.372438 0.017679504 - 2 65.294131 -11.084501 0 86.758754 0.06146659 - 3 121.92555 -7.0612033 0 175.64423 0.11477827 - 4 185.71165 -5.8781334 0 272.41077 0.17482523 - 5 286.28339 -4.3800108 0 424.61565 0.26950146 - 6 481.28097 -4.3052012 0 716.89433 0.45306828 - 7 487.26022 -3.8672741 0 726.29216 0.45869703 - 8 493.65478 -3.0242687 0 736.71742 0.46471675 - 9 495.66203 -3.4336343 0 739.31592 0.46660633 - 10 498.41831 -2.8837072 0 743.99613 0.46920104 - 11 499.20944 -2.7724783 0 745.29287 0.46994579 - 12 500.97345 -2.8281484 0 747.88057 0.4716064 - 13 507.46412 -2.7752775 0 757.65971 0.47771658 - 14 525.35729 -2.5749814 0 784.67292 0.49456085 - 15 563.9578 -2.9982381 0 842.09253 0.5308986 - 16 645.47602 -2.5519203 0 964.69389 0.60763822 - 17 647.09276 -2.2568468 0 967.41166 0.60916019 - 18 647.12596 -2.2791003 0 967.43915 0.60919144 - 19 647.24862 -2.2495226 0 967.65253 0.60930691 - 20 647.51175 -2.0239179 0 968.27244 0.60955462 -Loop time of 0.494261 on 8 procs for 20 steps with 1000 atoms - -Performance: 17480.630 tau/day, 40.464 timesteps/s -99.3% CPU use with 8 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00027752 | 0.00030088 | 0.0003736 | 0.0 | 0.06 -Kspace | 0.45443 | 0.46295 | 0.47316 | 1.0 | 93.67 -Neigh | 0.014408 | 0.02515 | 0.034048 | 4.6 | 5.09 -Comm | 0.0036254 | 0.0041741 | 0.0048032 | 0.6 | 0.84 -Output | 0.00072742 | 0.0009357 | 0.0012984 | 0.0 | 0.19 -Modify | 0.00011778 | 0.00015756 | 0.00019836 | 0.0 | 0.03 -Other | | 0.000589 | | | 0.12 - -Nlocal: 125 ave 137 max 111 min -Histogram: 1 1 0 0 0 2 2 1 0 1 -Nghost: 768.875 ave 788 max 761 min -Histogram: 4 0 2 0 0 0 1 0 0 1 -Neighs: 30542.8 ave 48077 max 10011 min -Histogram: 1 1 1 0 1 1 0 0 0 3 - -Total # of neighbors = 244342 -Ave neighs/atom = 244.342 -Neighbor list builds = 19 -Dangerous builds = 18 -Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.1 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.1 deleted file mode 100644 index f9192cdfaf..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.1 +++ /dev/null @@ -1,107 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.hammersley_shphere - orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1000 atoms -change_box all boundary f f f - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance potential - -timestep 0.005 -thermo 1 - -run 20 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 102 102 102 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 10.3 | 10.3 | 10.3 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.62417787 0 1.6235721 0.00141207 - 1 18.780041 -10.770002 0 17.371889 0.017679155 - 2 65.289192 -11.084705 0 86.751149 0.06146194 - 3 121.92987 -7.0625759 0 175.64933 0.11478234 - 4 185.78164 -5.8777511 0 272.51603 0.17489112 - 5 286.36221 -4.3820531 0 424.73172 0.26957566 - 6 481.42203 -4.3095567 0 717.10136 0.45320108 - 7 488.59165 -3.8685193 0 728.28607 0.45995042 - 8 497.85288 -3.0417938 0 742.99075 0.46866875 - 9 499.61619 -3.4190063 0 745.25585 0.47032869 - 10 502.63691 -2.8360951 0 750.36531 0.47317234 - 11 504.4847 -2.7628089 0 753.20751 0.47491181 - 12 506.54494 -2.8460319 0 756.21157 0.47685128 - 13 508.2722 -2.7309328 0 758.91497 0.47847729 - 14 510.57053 -2.6094792 0 762.48045 0.48064089 - 15 513.14804 -2.7150819 0 766.23726 0.48306731 - 16 515.78127 -2.3961749 0 770.50206 0.48554618 - 17 515.70267 -2.2982581 0 770.48219 0.48547219 - 18 515.70813 -2.1516075 0 770.63702 0.48547732 - 19 515.74908 -2.0581483 0 770.79185 0.48551588 - 20 515.70881 -1.892235 0 770.89742 0.48547797 -Loop time of 1.34132 on 1 procs for 20 steps with 1000 atoms - -Performance: 6441.409 tau/day, 14.911 timesteps/s -100.0% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00028849 | 0.00028849 | 0.00028849 | 0.0 | 0.02 -Kspace | 1.1744 | 1.1744 | 1.1744 | 0.0 | 87.56 -Neigh | 0.16435 | 0.16435 | 0.16435 | 0.0 | 12.25 -Comm | 0.00021219 | 0.00021219 | 0.00021219 | 0.0 | 0.02 -Output | 0.00051928 | 0.00051928 | 0.00051928 | 0.0 | 0.04 -Modify | 0.00079513 | 0.00079513 | 0.00079513 | 0.0 | 0.06 -Other | | 0.0007439 | | | 0.06 - -Nlocal: 1000 ave 1000 max 1000 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 247817 ave 247817 max 247817 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 247817 -Ave neighs/atom = 247.817 -Neighbor list builds = 19 -Dangerous builds = 18 -Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.2 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.2 deleted file mode 100644 index 4db3e28dbf..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.2 +++ /dev/null @@ -1,107 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.hammersley_shphere - orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) - 1 by 1 by 2 MPI processor grid - reading atoms ... - 1000 atoms -change_box all boundary f f f - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance potential - -timestep 0.005 -thermo 1 - -run 20 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 102 102 102 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.48 | 6.861 | 7.243 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.62417787 0 1.6235721 0.00141207 - 1 18.780041 -10.770002 0 17.371889 0.017679155 - 2 65.289192 -11.084705 0 86.751149 0.06146194 - 3 121.92987 -7.0625759 0 175.64933 0.11478234 - 4 185.78164 -5.8777511 0 272.51603 0.17489112 - 5 286.36221 -4.3820531 0 424.73172 0.26957566 - 6 481.42203 -4.3095567 0 717.10136 0.45320108 - 7 488.59165 -3.8685193 0 728.28607 0.45995042 - 8 497.85288 -3.0417938 0 742.99075 0.46866875 - 9 499.61619 -3.4190063 0 745.25585 0.47032869 - 10 502.63691 -2.8360951 0 750.36531 0.47317234 - 11 504.4847 -2.7628089 0 753.20751 0.47491181 - 12 506.54494 -2.8460319 0 756.21157 0.47685128 - 13 508.2722 -2.7309328 0 758.91497 0.47847729 - 14 510.57053 -2.6094792 0 762.48045 0.48064089 - 15 513.14804 -2.7150819 0 766.23726 0.48306731 - 16 515.78127 -2.3961749 0 770.50206 0.48554618 - 17 515.70267 -2.2982581 0 770.48219 0.48547219 - 18 515.70813 -2.1516075 0 770.63702 0.48547732 - 19 515.74908 -2.0581483 0 770.79185 0.48551588 - 20 515.70881 -1.892235 0 770.89742 0.48547797 -Loop time of 0.858675 on 2 procs for 20 steps with 1000 atoms - -Performance: 10062.016 tau/day, 23.292 timesteps/s -100.0% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00026321 | 0.00026667 | 0.00027013 | 0.0 | 0.03 -Kspace | 0.74531 | 0.77182 | 0.79833 | 3.0 | 89.89 -Neigh | 0.055915 | 0.082578 | 0.10924 | 9.3 | 9.62 -Comm | 0.0021703 | 0.002401 | 0.0026317 | 0.5 | 0.28 -Output | 0.00048423 | 0.00061262 | 0.000741 | 0.0 | 0.07 -Modify | 0.00034285 | 0.0004636 | 0.00058436 | 0.0 | 0.05 -Other | | 0.0005329 | | | 0.06 - -Nlocal: 500 ave 516 max 484 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 456.5 ave 475 max 438 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 123908 ave 172139 max 75678 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 247817 -Ave neighs/atom = 247.817 -Neighbor list builds = 19 -Dangerous builds = 18 -Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.4 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.4 deleted file mode 100644 index 3a2d653106..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.4 +++ /dev/null @@ -1,107 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.hammersley_shphere - orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 1000 atoms -change_box all boundary f f f - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance potential - -timestep 0.005 -thermo 1 - -run 20 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 102 102 102 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.837 | 5.123 | 5.6 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.62417787 0 1.6235721 0.00141207 - 1 18.780041 -10.770002 0 17.371889 0.017679155 - 2 65.289192 -11.084705 0 86.751149 0.06146194 - 3 121.92987 -7.0625759 0 175.64933 0.11478234 - 4 185.78164 -5.8777511 0 272.51603 0.17489112 - 5 286.36221 -4.3820531 0 424.73172 0.26957566 - 6 481.42203 -4.3095567 0 717.10136 0.45320108 - 7 488.59165 -3.8685193 0 728.28607 0.45995042 - 8 497.85288 -3.0417938 0 742.99075 0.46866875 - 9 499.61619 -3.4190063 0 745.25585 0.47032869 - 10 502.63691 -2.8360951 0 750.36531 0.47317234 - 11 504.4847 -2.7628089 0 753.20751 0.47491181 - 12 506.54494 -2.8460319 0 756.21157 0.47685128 - 13 508.2722 -2.7309328 0 758.91497 0.47847729 - 14 510.57053 -2.6094792 0 762.48045 0.48064089 - 15 513.14804 -2.7150819 0 766.23726 0.48306731 - 16 515.78127 -2.3961749 0 770.50206 0.48554618 - 17 515.70267 -2.2982581 0 770.48219 0.48547219 - 18 515.70813 -2.1516075 0 770.63702 0.48547732 - 19 515.74908 -2.0581483 0 770.79185 0.48551588 - 20 515.70881 -1.892235 0 770.89742 0.48547797 -Loop time of 0.540235 on 4 procs for 20 steps with 1000 atoms - -Performance: 15993.051 tau/day, 37.021 timesteps/s -99.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00025725 | 0.00028253 | 0.00031233 | 0.0 | 0.05 -Kspace | 0.47152 | 0.48989 | 0.50709 | 1.9 | 90.68 -Neigh | 0.028196 | 0.045694 | 0.064338 | 6.3 | 8.46 -Comm | 0.0026579 | 0.003028 | 0.0033965 | 0.5 | 0.56 -Output | 0.00049663 | 0.00064254 | 0.00084853 | 0.0 | 0.12 -Modify | 0.00019264 | 0.0002293 | 0.00030923 | 0.0 | 0.04 -Other | | 0.0004709 | | | 0.09 - -Nlocal: 250 ave 259 max 238 min -Histogram: 1 0 0 1 0 0 0 0 0 2 -Nghost: 672.25 ave 683 max 663 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Neighs: 61954.2 ave 97157 max 25016 min -Histogram: 1 0 0 1 0 0 1 0 0 1 - -Total # of neighbors = 247817 -Ave neighs/atom = 247.817 -Neighbor list builds = 19 -Dangerous builds = 18 -Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.8 b/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.8 deleted file mode 100644 index 08e68531a9..0000000000 --- a/examples/USER/scafacos/log.23Jul18.scafacos.hsph.g++.p2nfft.8 +++ /dev/null @@ -1,107 +0,0 @@ -LAMMPS (29 Jun 2018) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) - using 1 OpenMP thread(s) per MPI task -# Point dipoles in a 2d box - -units lj -atom_style charge - -read_data data.hammersley_shphere - orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) - 2 by 2 by 2 MPI processor grid - reading atoms ... - 1000 atoms -change_box all boundary f f f - -velocity all create 1.5 49893 - -neighbor 1.0 bin -neigh_modify delay 0 - -fix 1 all nve - -# LAMMPS computes pairwise and long-range Coulombics - -#pair_style coul/long 3.0 -#pair_coeff * * -#kspace_style pppm 1.0e-3 - -# Scafacos computes entire long-range Coulombics -# use dummy pair style to perform atom sorting - -pair_style zero 1.0 -pair_coeff * * - -#fix 2 all scafacos p3m tolerance field 0.001 - -kspace_style scafacos p2nfft 0.001 -kspace_modify scafacos tolerance potential - -timestep 0.005 -thermo 1 - -run 20 -Setting up ScaFaCoS with solver p2nfft ... -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2 - ghost atom cutoff = 2 - binsize = 1, bins = 102 102 102 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair zero, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.164 | 4.26 | 4.546 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1.5 -0.62417787 0 1.6235721 0.00141207 - 1 18.780041 -10.770002 0 17.371889 0.017679155 - 2 65.289192 -11.084705 0 86.751149 0.06146194 - 3 121.92987 -7.0625759 0 175.64933 0.11478234 - 4 185.78164 -5.8777511 0 272.51603 0.17489112 - 5 286.36221 -4.3820531 0 424.73172 0.26957566 - 6 481.42203 -4.3095567 0 717.10136 0.45320108 - 7 488.59165 -3.8685193 0 728.28607 0.45995042 - 8 497.85288 -3.0417938 0 742.99075 0.46866875 - 9 499.61619 -3.4190063 0 745.25585 0.47032869 - 10 502.63691 -2.8360951 0 750.36531 0.47317234 - 11 504.4847 -2.7628089 0 753.20751 0.47491181 - 12 506.54494 -2.8460319 0 756.21157 0.47685128 - 13 508.2722 -2.7309328 0 758.91497 0.47847729 - 14 510.57053 -2.6094792 0 762.48045 0.48064089 - 15 513.14804 -2.7150819 0 766.23726 0.48306731 - 16 515.78127 -2.3961749 0 770.50206 0.48554618 - 17 515.70267 -2.2982581 0 770.48219 0.48547219 - 18 515.70813 -2.1516075 0 770.63702 0.48547732 - 19 515.74908 -2.0581483 0 770.79185 0.48551588 - 20 515.70881 -1.892235 0 770.89742 0.48547797 -Loop time of 0.317433 on 8 procs for 20 steps with 1000 atoms - -Performance: 27218.342 tau/day, 63.005 timesteps/s -99.6% CPU use with 8 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.00027013 | 0.00028479 | 0.00029206 | 0.0 | 0.09 -Kspace | 0.27742 | 0.28666 | 0.29702 | 1.4 | 90.31 -Neigh | 0.014795 | 0.025382 | 0.03481 | 4.8 | 8.00 -Comm | 0.0034907 | 0.0038758 | 0.0042439 | 0.5 | 1.22 -Output | 0.00055361 | 0.00073573 | 0.0010755 | 0.0 | 0.23 -Modify | 0.00012279 | 0.00014156 | 0.00016165 | 0.0 | 0.04 -Other | | 0.0003535 | | | 0.11 - -Nlocal: 125 ave 133 max 113 min -Histogram: 2 0 0 0 0 1 1 0 2 2 -Nghost: 773.625 ave 788 max 764 min -Histogram: 1 1 2 1 1 0 0 0 1 1 -Neighs: 30977.1 ave 50690 max 10447 min -Histogram: 1 1 1 0 1 1 0 0 2 1 - -Total # of neighbors = 247817 -Ave neighs/atom = 247.817 -Neighbor list builds = 19 -Dangerous builds = 18 -Total wall time: 0:00:00 -- GitLab From fc93a79fdd04234f041aab2a9f7f07d5242585a0 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Wed, 8 Aug 2018 14:05:28 -0600 Subject: [PATCH 424/675] updated to support ScaFaCoS 1.0.1 --- cmake/CMakeLists.txt | 5 +++-- lib/scafacos/Install.py | 6 +++--- src/USER-SCAFACOS/scafacos.cpp | 22 ++++++++++++++++++++++ 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a03548c712..9f1f3a7526 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -360,8 +360,8 @@ if(PKG_USER-SCAFACOS) if(DOWNLOAD_SCAFACOS) include(ExternalProject) ExternalProject_Add(scafacos_build - URL https://github.com/scafacos/scafacos/releases/download/v1.0.0/scafacos-1.0.0.tar.gz - URL_MD5 c75d75d8a4cb9757faddb8b205a2b20f + URL https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz + URL_MD5 bd46d74e3296bd8a444d731bb10c1738 CONFIGURE_COMMAND /configure --prefix= --disable-doc --enable-fcs-solvers=fmm,p2nfft,direct,ewald,p3m @@ -389,6 +389,7 @@ if(PKG_USER-SCAFACOS) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_near.a) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_gridsort.a) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_resort.a) + list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_redist.a) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_common.a) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_pnfft.a) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_pfft.a) diff --git a/lib/scafacos/Install.py b/lib/scafacos/Install.py index 4e00e805d1..d23e8a3686 100644 --- a/lib/scafacos/Install.py +++ b/lib/scafacos/Install.py @@ -29,8 +29,8 @@ make lib-scafacos args="-p $HOME/scafacos" # use existing Scafacos installation # settings -version = "scafacos-1.0.0" -url = "https://github.com/scafacos/scafacos/releases/download/v1.0.0/scafacos-1.0.0.tar.gz" +version = "scafacos-1.0.1" +url = "https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz" #url = "https://gigamove.rz.rwth-aachen.de/d/id/CTzyApN76MXMJ6/dd/100" % version # print error message or help @@ -147,7 +147,7 @@ if buildflag: if buildflag: print("Building Scafacos ...") - cmd = 'cd "%s"; CC=mpicc FC=mpif90 CXX=mpicxx ./configure --prefix="`pwd`/build" --disable-doc --enable-fcs-solvers=fmm,p2nfft,direct,ewald > log.txt; make -j; make install' % homedir + cmd = 'cd "%s"; ./configure --prefix="`pwd`/build" --disable-doc --enable-fcs-solvers=fmm,p2nfft,direct,ewald,p3m --with-internal-fftw --with-internal-pfft --with-internal-pnfft CC=mpicc FC=mpif90 CXX=mpicxx F77= > log.txt; make -j; make install' % homedir txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) print(txt.decode('UTF-8')) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index fdbd5e34e0..5832f5b052 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -150,6 +150,17 @@ void Scafacos::init() fcs_fmm_set_internal_tuning(fcs,FCS_FMM_HOMOGENOUS_SYSTEM); } + // for the FMM at least one particle is required per process + if (strcmp(method,"fmm") == 0) + { + int empty = (nlocal==0)?1:0; + MPI_Allreduce(MPI_IN_PLACE,&empty,1,MPI_INT,MPI_SUM,world); + if (empty > 0) + fcs_set_redistribute(fcs,1); + else + fcs_set_redistribute(fcs,0); + } + result = fcs_tune(fcs,nlocal,&x[0][0],q); check_result(result); // more useful here, since the parameters should be tuned now @@ -172,6 +183,17 @@ void Scafacos::compute(int eflag, int vflag) const double qscale = qqrd2e; + // for the FMM at least one particle is required per process + if (strcmp(method,"fmm")) + { + int empty = (nlocal==0)?1:0; + MPI_Allreduce(MPI_IN_PLACE,&empty,1,MPI_INT,MPI_SUM,world); + if (empty > 0) + fcs_set_redistribute(fcs,1); + else + fcs_set_redistribute(fcs,0); + } + if (eflag || vflag) ev_setup(eflag,vflag); else { -- GitLab From 2a5e550bdacb74abba6136db9a8c4b80e147774f Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Wed, 8 Aug 2018 15:02:19 -0600 Subject: [PATCH 425/675] updated log files --- .../log.08Aug18.scafacos.cw.g++.ewald.16 | 92 +++++++++++++++ .../log.08Aug18.scafacos.cw.g++.ewald.8 | 92 +++++++++++++++ .../log.08Aug18.scafacos.cw.g++.fmm.1 | 99 ++++++++++++++++ .../log.08Aug18.scafacos.cw.g++.fmm.16 | 99 ++++++++++++++++ .../log.08Aug18.scafacos.cw.g++.fmm.2 | 99 ++++++++++++++++ .../log.08Aug18.scafacos.cw.g++.fmm.4 | 99 ++++++++++++++++ .../log.08Aug18.scafacos.cw.g++.fmm.8 | 99 ++++++++++++++++ .../log.08Aug18.scafacos.cw.g++.p2nfft.1 | 92 +++++++++++++++ .../log.08Aug18.scafacos.cw.g++.p2nfft.16 | 92 +++++++++++++++ .../log.08Aug18.scafacos.cw.g++.p2nfft.2 | 92 +++++++++++++++ .../log.08Aug18.scafacos.cw.g++.p2nfft.4 | 92 +++++++++++++++ .../log.08Aug18.scafacos.cw.g++.p2nfft.8 | 92 +++++++++++++++ .../scafacos/log.08Aug18.scafacos.g++.ewald.1 | 102 ++++++++++++++++ .../log.08Aug18.scafacos.g++.ewald.16 | 102 ++++++++++++++++ .../scafacos/log.08Aug18.scafacos.g++.ewald.2 | 102 ++++++++++++++++ .../scafacos/log.08Aug18.scafacos.g++.ewald.4 | 102 ++++++++++++++++ .../scafacos/log.08Aug18.scafacos.g++.ewald.8 | 102 ++++++++++++++++ .../scafacos/log.08Aug18.scafacos.g++.fmm.1 | 102 ++++++++++++++++ .../scafacos/log.08Aug18.scafacos.g++.fmm.16 | 102 ++++++++++++++++ .../scafacos/log.08Aug18.scafacos.g++.fmm.2 | 102 ++++++++++++++++ .../scafacos/log.08Aug18.scafacos.g++.fmm.4 | 102 ++++++++++++++++ .../scafacos/log.08Aug18.scafacos.g++.fmm.8 | 102 ++++++++++++++++ .../log.08Aug18.scafacos.g++.p2nfft.1 | 102 ++++++++++++++++ .../log.08Aug18.scafacos.g++.p2nfft.16 | 102 ++++++++++++++++ .../log.08Aug18.scafacos.g++.p2nfft.2 | 102 ++++++++++++++++ .../log.08Aug18.scafacos.g++.p2nfft.4 | 102 ++++++++++++++++ .../log.08Aug18.scafacos.g++.p2nfft.8 | 102 ++++++++++++++++ .../scafacos/log.08Aug18.scafacos.g++.p3m.2 | 0 .../log.08Aug18.scafacos.hsph.g++.direct.1 | 105 +++++++++++++++++ .../log.08Aug18.scafacos.hsph.g++.direct.2 | 105 +++++++++++++++++ .../log.08Aug18.scafacos.hsph.g++.direct.4 | 105 +++++++++++++++++ .../log.08Aug18.scafacos.hsph.g++.direct.8 | 105 +++++++++++++++++ .../log.08Aug18.scafacos.hsph.g++.fmm.1 | 109 ++++++++++++++++++ .../log.08Aug18.scafacos.hsph.g++.fmm.2 | 109 ++++++++++++++++++ .../log.08Aug18.scafacos.hsph.g++.fmm.4 | 109 ++++++++++++++++++ .../log.08Aug18.scafacos.hsph.g++.fmm.8 | 109 ++++++++++++++++++ .../log.08Aug18.scafacos.hsph.g++.p2nfft.1 | 107 +++++++++++++++++ .../log.08Aug18.scafacos.hsph.g++.p2nfft.2 | 107 +++++++++++++++++ .../log.08Aug18.scafacos.hsph.g++.p2nfft.4 | 107 +++++++++++++++++ .../log.08Aug18.scafacos.hsph.g++.p2nfft.8 | 107 +++++++++++++++++ 40 files changed, 3953 insertions(+) create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.ewald.16 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.ewald.8 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.1 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.16 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.2 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.4 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.8 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.1 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.16 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.2 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.4 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.8 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.1 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.16 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.2 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.4 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.8 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.1 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.16 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.2 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.4 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.8 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.1 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.16 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.2 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.4 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.8 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.g++.p3m.2 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.1 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.2 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.4 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.8 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.1 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.2 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.4 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.8 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.1 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.2 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.4 create mode 100644 examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.8 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.ewald.16 b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.ewald.16 new file mode 100644 index 0000000000..20d3faaf7f --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.ewald.16 @@ -0,0 +1,92 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 2 by 2 by 4 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos ewald 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul press + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver ewald ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.313 | 3.501 | 3.689 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul Press + 0 300 0 0 0.49647271 0 0.49647271 0 0 + 10 300 0.051135063 0.014582562 0.44286522 0.02180093 0.46466616 0 0.0043601861 + 20 300 0.10210872 0.058693359 0.37869251 0.087746571 0.46643909 0 0.017549314 + 30 300 0.15278506 0.13468789 0.26730177 0.2013584 0.46866017 0 0.040271679 + 40 300 0.19430375 0.50949535 0.083356437 0.76169555 0.84505198 0 0.15233911 + 50 300 0.23220921 1.1731116 -0.055261984 1.7538018 1.6985399 0 0.35076037 + 60 300 0.27002859 1.3589639 -0.33351524 2.031651 1.6981358 0 0.4063302 + 70 300 0.30781388 1.6482648 -0.76570045 2.4641559 1.6984554 0 0.49283118 + 80 300 0.34566283 2.8640899 -2.4038488 4.2818144 1.8779656 0 0.85636288 + 90 300 0.38424087 93.168442 -2.5911448 139.28682 136.69568 0 27.857364 + 100 300 0.42331123 94.146897 -1.3480439 140.74961 139.40157 0 28.149922 +Loop time of 0.423331 on 16 procs for 100 steps with 300 atoms + +Performance: 102047.913 tau/day, 236.222 timesteps/s +99.2% CPU use with 16 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.5988e-05 | 3.6508e-05 | 5.5075e-05 | 0.0 | 0.01 +Kspace | 0.41852 | 0.41925 | 0.41976 | 0.1 | 99.04 +Neigh | 0.00023413 | 0.00056887 | 0.0012875 | 0.0 | 0.13 +Comm | 0.0019519 | 0.0022772 | 0.0027158 | 0.5 | 0.54 +Output | 0.00028276 | 0.00030752 | 0.0003624 | 0.0 | 0.07 +Modify | 8.3685e-05 | 0.0001286 | 0.00018764 | 0.0 | 0.03 +Other | | 0.000758 | | | 0.18 + +Nlocal: 18.75 ave 39 max 6 min +Histogram: 6 1 1 0 1 2 2 1 1 1 +Nghost: 122.812 ave 195 max 63 min +Histogram: 8 0 0 0 0 0 0 1 3 4 +Neighs: 160.625 ave 598 max 13 min +Histogram: 8 2 1 1 1 0 0 2 0 1 + +Total # of neighbors = 2570 +Ave neighs/atom = 8.56667 +Neighbor list builds = 23 +Dangerous builds = 16 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.ewald.8 b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.ewald.8 new file mode 100644 index 0000000000..d26138522a --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.ewald.8 @@ -0,0 +1,92 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos ewald 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul press + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver ewald ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.317 | 3.317 | 3.317 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul Press + 0 300 0 0 0.49647271 0 0.49647271 0 0 + 10 300 0.057411432 0.014718629 0.45088339 0.02200435 0.47288774 0 0.00440087 + 20 300 0.11482716 0.05922597 0.38470912 0.088542825 0.47325194 0 0.017708565 + 30 300 0.17278481 0.13587829 0.27058048 0.20313804 0.47371852 0 0.040627608 + 40 300 0.23021507 0.51353118 0.088432648 0.76772911 0.85616176 0 0.15354582 + 50 300 0.28812647 1.1760001 -0.058088247 1.7581201 1.7000319 0 0.35162403 + 60 300 0.34651113 1.3627885 -0.33736672 2.0373688 1.7000021 0 0.40747376 + 70 300 0.40509939 1.6529365 -0.77082139 2.4711401 1.7003187 0 0.49422802 + 80 300 0.46342874 2.9569837 -2.4624654 4.4206907 1.9582253 0 0.88413814 + 90 300 0.52329254 81.642726 -2.5370215 122.05588 119.51885 0 24.411175 + 100 300 0.58335209 85.047974 -1.128107 127.14672 126.01861 0 25.429344 +Loop time of 0.583369 on 8 procs for 100 steps with 300 atoms + +Performance: 74052.598 tau/day, 171.418 timesteps/s +99.7% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.0531e-05 | 4.6492e-05 | 4.8876e-05 | 0.0 | 0.01 +Kspace | 0.57805 | 0.5785 | 0.57893 | 0.0 | 99.17 +Neigh | 0.00062275 | 0.00091892 | 0.0013313 | 0.0 | 0.16 +Comm | 0.002604 | 0.0028289 | 0.0031538 | 0.3 | 0.48 +Output | 0.0002265 | 0.0002434 | 0.00029039 | 0.0 | 0.04 +Modify | 0.00016117 | 0.00017747 | 0.00019884 | 0.0 | 0.03 +Other | | 0.00065 | | | 0.11 + +Nlocal: 37.5 ave 46 max 31 min +Histogram: 2 0 0 2 1 0 2 0 0 1 +Nghost: 203.875 ave 212 max 192 min +Histogram: 1 0 1 0 0 2 1 0 0 3 +Neighs: 321.625 ave 599 max 112 min +Histogram: 1 2 0 1 1 0 1 1 0 1 + +Total # of neighbors = 2573 +Ave neighs/atom = 8.57667 +Neighbor list builds = 23 +Dangerous builds = 16 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.1 b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.1 new file mode 100644 index 0000000000..714ce85a5f --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.1 @@ -0,0 +1,99 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +kspace_style scafacos fmm 1.0e-3 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ... + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul press + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.34 | 3.34 | 3.34 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul Press + 0 300 0 0 0.49646402 0 0.49646402 0 0.016548801 + 10 300 0.063865185 0.015455559 0.47335833 0.02310606 0.49646439 0 0.020399823 + 20 300 0.12760854 0.06229069 0.40334177 0.093124582 0.49646635 0 0.032069642 + 30 300 0.19143319 0.14310163 0.28254277 0.21393694 0.49647971 0 0.05220548 + 40 300 0.25553131 0.52929788 0.089669015 0.79130033 0.88096934 0 0.16124903 + 50 300 0.31961966 1.1963022 -0.082792461 1.7884718 1.7056794 0 0.35493462 + 60 300 0.38388991 1.3928167 -0.37659239 2.082261 1.7056686 0 0.40389911 + 70 300 0.44797421 1.7069009 -0.84571914 2.5518169 1.7060978 0 0.48217274 + 80 300 0.50961447 15.358343 -3.368063 22.960722 19.592659 0 4.4798757 + 90 300 0.57181501 42.280432 -2.1623864 63.209247 61.04686 0 12.56977 + 100 300 0.63501096 41.48079 -0.89904529 62.013782 61.114736 0 12.372788 +Loop time of 0.635022 on 1 procs for 100 steps with 300 atoms + +Performance: 68029.122 tau/day, 157.475 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 9.0837e-05 | 9.0837e-05 | 9.0837e-05 | 0.0 | 0.01 +Kspace | 0.62877 | 0.62877 | 0.62877 | 0.0 | 99.01 +Neigh | 0.0035319 | 0.0035319 | 0.0035319 | 0.0 | 0.56 +Comm | 0.0010211 | 0.0010211 | 0.0010211 | 0.0 | 0.16 +Output | 0.00014758 | 0.00014758 | 0.00014758 | 0.0 | 0.02 +Modify | 0.0010428 | 0.0010428 | 0.0010428 | 0.0 | 0.16 +Other | | 0.0004218 | | | 0.07 + +Nlocal: 300 ave 300 max 300 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 374 ave 374 max 374 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 2459 ave 2459 max 2459 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2459 +Ave neighs/atom = 8.19667 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.16 b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.16 new file mode 100644 index 0000000000..c9c1e0d155 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.16 @@ -0,0 +1,99 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 2 by 2 by 4 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +kspace_style scafacos fmm 1.0e-3 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ... + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul press + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.313 | 3.501 | 3.689 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul Press + 0 300 0 0 0.49646402 0 0.49646402 0 0.016548801 + 10 300 0.023007393 0.015455559 0.47335833 0.02310606 0.49646439 0 0.020399823 + 20 300 0.045746088 0.06229069 0.40334177 0.093124582 0.49646635 0 0.032069642 + 30 300 0.068123341 0.14310163 0.28254277 0.21393694 0.49647971 0 0.05220548 + 40 300 0.090359211 0.52929788 0.089669015 0.79130033 0.88096934 0 0.16124903 + 50 300 0.11304998 1.1963022 -0.082792461 1.7884718 1.7056794 0 0.35493462 + 60 300 0.13585806 1.3928167 -0.37659239 2.082261 1.7056686 0 0.40389911 + 70 300 0.15867376 1.7069009 -0.84571914 2.5518169 1.7060978 0 0.48217274 + 80 300 0.18324137 15.358343 -3.368063 22.960722 19.592659 0 4.4798757 + 90 300 0.20960689 42.280432 -2.1623864 63.209247 61.04686 0 12.56977 + 100 300 0.23539281 41.48079 -0.89904529 62.013782 61.114736 0 12.372788 +Loop time of 0.235411 on 16 procs for 100 steps with 300 atoms + +Performance: 183509.107 tau/day, 424.790 timesteps/s +97.9% CPU use with 16 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.2425e-05 | 4.4718e-05 | 6.1274e-05 | 0.0 | 0.02 +Kspace | 0.23097 | 0.23143 | 0.2318 | 0.1 | 98.31 +Neigh | 0.00015116 | 0.00035347 | 0.00075746 | 0.0 | 0.15 +Comm | 0.0020316 | 0.002282 | 0.0025339 | 0.3 | 0.97 +Output | 0.00034404 | 0.00037053 | 0.00042701 | 0.0 | 0.16 +Modify | 9.3937e-05 | 0.00014532 | 0.00018811 | 0.0 | 0.06 +Other | | 0.0007878 | | | 0.33 + +Nlocal: 18.75 ave 36 max 6 min +Histogram: 4 3 1 0 0 1 2 1 2 2 +Nghost: 127 ave 196 max 71 min +Histogram: 8 0 0 0 0 0 0 1 6 1 +Neighs: 153.688 ave 491 max 10 min +Histogram: 8 1 1 1 1 1 0 0 0 3 + +Total # of neighbors = 2459 +Ave neighs/atom = 8.19667 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.2 b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.2 new file mode 100644 index 0000000000..1a9bc77146 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.2 @@ -0,0 +1,99 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +kspace_style scafacos fmm 1.0e-3 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ... + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul press + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.354 | 3.354 | 3.355 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul Press + 0 300 0 0 0.49646402 0 0.49646402 0 0.016548801 + 10 300 0.038181543 0.015455559 0.47335833 0.02310606 0.49646439 0 0.020399823 + 20 300 0.076276302 0.06229069 0.40334177 0.093124582 0.49646635 0 0.032069642 + 30 300 0.11437607 0.14310163 0.28254277 0.21393694 0.49647971 0 0.05220548 + 40 300 0.15244293 0.52929788 0.089669015 0.79130033 0.88096934 0 0.16124903 + 50 300 0.19081283 1.1963022 -0.082792461 1.7884718 1.7056794 0 0.35493462 + 60 300 0.22923493 1.3928167 -0.37659239 2.082261 1.7056686 0 0.40389911 + 70 300 0.26754427 1.7069009 -0.84571914 2.5518169 1.7060978 0 0.48217274 + 80 300 0.30721259 15.358343 -3.368063 22.960722 19.592659 0 4.4798757 + 90 300 0.34865618 42.280432 -2.1623864 63.209247 61.04686 0 12.56977 + 100 300 0.39100981 41.48079 -0.89904529 62.013782 61.114736 0 12.372788 +Loop time of 0.391022 on 2 procs for 100 steps with 300 atoms + +Performance: 110479.760 tau/day, 255.740 timesteps/s +99.6% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 8.0109e-05 | 8.1539e-05 | 8.297e-05 | 0.0 | 0.02 +Kspace | 0.38534 | 0.38582 | 0.3863 | 0.1 | 98.67 +Neigh | 0.0014851 | 0.0019699 | 0.0024548 | 1.1 | 0.50 +Comm | 0.0019314 | 0.0020101 | 0.0020888 | 0.2 | 0.51 +Output | 0.00014496 | 0.00017297 | 0.00020099 | 0.0 | 0.04 +Modify | 0.0005033 | 0.00052273 | 0.00054216 | 0.0 | 0.13 +Other | | 0.0004461 | | | 0.11 + +Nlocal: 150 ave 159 max 141 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 392 ave 395 max 389 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 1229.5 ave 1773 max 686 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 2459 +Ave neighs/atom = 8.19667 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.4 b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.4 new file mode 100644 index 0000000000..eae3f2b840 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.4 @@ -0,0 +1,99 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +kspace_style scafacos fmm 1.0e-3 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ... + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul press + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.333 | 3.333 | 3.333 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul Press + 0 300 0 0 0.49646402 0 0.49646402 0 0.016548801 + 10 300 0.029414415 0.015455559 0.47335833 0.02310606 0.49646439 0 0.020399823 + 20 300 0.058616877 0.06229069 0.40334177 0.093124582 0.49646635 0 0.032069642 + 30 300 0.087769508 0.14310163 0.28254277 0.21393694 0.49647971 0 0.05220548 + 40 300 0.1168611 0.52929788 0.089669015 0.79130033 0.88096934 0 0.16124903 + 50 300 0.14482284 1.1963022 -0.082792461 1.7884718 1.7056794 0 0.35493462 + 60 300 0.17198443 1.3928167 -0.37659239 2.082261 1.7056686 0 0.40389911 + 70 300 0.19868851 1.7069009 -0.84571914 2.5518169 1.7060978 0 0.48217274 + 80 300 0.22835517 15.358343 -3.368063 22.960722 19.592659 0 4.4798757 + 90 300 0.26023602 42.280432 -2.1623864 63.209247 61.04686 0 12.56977 + 100 300 0.29043221 41.48079 -0.89904529 62.013782 61.114736 0 12.372788 +Loop time of 0.290448 on 4 procs for 100 steps with 300 atoms + +Performance: 148735.741 tau/day, 344.296 timesteps/s +99.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 5.9605e-05 | 6.187e-05 | 6.4135e-05 | 0.0 | 0.02 +Kspace | 0.28551 | 0.28584 | 0.28604 | 0.0 | 98.41 +Neigh | 0.00077796 | 0.0010615 | 0.0013225 | 0.7 | 0.37 +Comm | 0.002372 | 0.0024325 | 0.002497 | 0.1 | 0.84 +Output | 0.00025368 | 0.0002659 | 0.00029516 | 0.0 | 0.09 +Modify | 0.00030279 | 0.00031865 | 0.00033021 | 0.0 | 0.11 +Other | | 0.0004706 | | | 0.16 + +Nlocal: 75 ave 81 max 70 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 282.5 ave 290 max 274 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +Neighs: 614.75 ave 981 max 285 min +Histogram: 1 1 0 0 0 0 0 1 0 1 + +Total # of neighbors = 2459 +Ave neighs/atom = 8.19667 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.8 b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.8 new file mode 100644 index 0000000000..feb7e2a5a6 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.fmm.8 @@ -0,0 +1,99 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +kspace_style scafacos fmm 1.0e-3 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ... + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul press + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.317 | 3.317 | 3.317 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul Press + 0 300 0 0 0.49646402 0 0.49646402 0 0.016548801 + 10 300 0.026465416 0.015455559 0.47335833 0.02310606 0.49646439 0 0.020399823 + 20 300 0.057377338 0.06229069 0.40334177 0.093124582 0.49646635 0 0.032069642 + 30 300 0.088356495 0.14310163 0.28254277 0.21393694 0.49647971 0 0.05220548 + 40 300 0.11900806 0.52929788 0.089669015 0.79130033 0.88096934 0 0.16124903 + 50 300 0.15157914 1.1963022 -0.082792461 1.7884718 1.7056794 0 0.35493462 + 60 300 0.18608141 1.3928167 -0.37659239 2.082261 1.7056686 0 0.40389911 + 70 300 0.21956491 1.7069009 -0.84571914 2.5518169 1.7060978 0 0.48217274 + 80 300 0.24269128 15.358343 -3.368063 22.960722 19.592659 0 4.4798757 + 90 300 0.26847005 42.280432 -2.1623864 63.209247 61.04686 0 12.56977 + 100 300 0.29283834 41.48079 -0.89904529 62.013782 61.114736 0 12.372788 +Loop time of 0.292855 on 8 procs for 100 steps with 300 atoms + +Performance: 147513.337 tau/day, 341.466 timesteps/s +98.4% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.7207e-05 | 5.5045e-05 | 6.9618e-05 | 0.0 | 0.02 +Kspace | 0.28739 | 0.28773 | 0.2881 | 0.0 | 98.25 +Neigh | 0.00040698 | 0.00060901 | 0.00082922 | 0.0 | 0.21 +Comm | 0.0029533 | 0.0031788 | 0.0034056 | 0.3 | 1.09 +Output | 0.00029063 | 0.00030866 | 0.00035119 | 0.0 | 0.11 +Modify | 0.00018978 | 0.00022188 | 0.00026703 | 0.0 | 0.08 +Other | | 0.0007486 | | | 0.26 + +Nlocal: 37.5 ave 45 max 31 min +Histogram: 1 1 1 1 1 0 1 0 1 1 +Nghost: 200 ave 209 max 189 min +Histogram: 1 0 0 0 1 4 0 0 0 2 +Neighs: 307.375 ave 514 max 115 min +Histogram: 2 1 0 1 1 0 0 0 1 2 + +Total # of neighbors = 2459 +Ave neighs/atom = 8.19667 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.1 b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.1 new file mode 100644 index 0000000000..f47f24edee --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.1 @@ -0,0 +1,92 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul press + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.34 | 3.34 | 3.34 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul Press + 0 300 0 0 0.49683273 0 0.49683273 0 0.016561091 + 10 300 0.071435928 0.015479312 0.47369009 0.023141571 0.49683166 0 0.020417984 + 20 300 0.14302707 0.062386358 0.40356181 0.093267605 0.49682941 0 0.032105581 + 30 300 0.21480989 0.14331637 0.2825636 0.21425798 0.49682157 0 0.052270382 + 40 300 0.28638172 0.53041843 0.089505208 0.79297556 0.88248077 0 0.16157862 + 50 300 0.35810781 1.1948397 -0.083317439 1.7862853 1.7029679 0 0.35447982 + 60 300 0.42993116 1.3915614 -0.37745551 2.0803842 1.7029287 0 0.40349499 + 70 300 0.50181961 1.7061978 -0.84746071 2.5507657 1.703305 0 0.48190445 + 80 300 0.57404566 20.692093 -3.32971 30.93468 27.60497 0 6.0759456 + 90 300 0.64724708 48.999403 -2.1632167 73.254107 71.090891 0 14.578714 + 100 300 0.72128963 51.199785 -0.81127924 76.543678 75.732399 0 15.281693 +Loop time of 0.721302 on 1 procs for 100 steps with 300 atoms + +Performance: 59891.733 tau/day, 138.638 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 8.893e-05 | 8.893e-05 | 8.893e-05 | 0.0 | 0.01 +Kspace | 0.71502 | 0.71502 | 0.71502 | 0.0 | 99.13 +Neigh | 0.0035415 | 0.0035415 | 0.0035415 | 0.0 | 0.49 +Comm | 0.001024 | 0.001024 | 0.001024 | 0.0 | 0.14 +Output | 0.00015044 | 0.00015044 | 0.00015044 | 0.0 | 0.02 +Modify | 0.0010409 | 0.0010409 | 0.0010409 | 0.0 | 0.14 +Other | | 0.0004385 | | | 0.06 + +Nlocal: 300 ave 300 max 300 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 381 ave 381 max 381 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 2461 ave 2461 max 2461 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2461 +Ave neighs/atom = 8.20333 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.16 b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.16 new file mode 100644 index 0000000000..d6e7cbea37 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.16 @@ -0,0 +1,92 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 2 by 2 by 4 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul press + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.313 | 3.501 | 3.689 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul Press + 0 300 0 0 0.49683273 0 0.49683273 0 0.016561091 + 10 300 0.015678644 0.015479312 0.47369009 0.023141571 0.49683166 0 0.020417984 + 20 300 0.031283855 0.062386358 0.40356181 0.093267605 0.49682941 0 0.032105581 + 30 300 0.046878099 0.14331637 0.2825636 0.21425798 0.49682157 0 0.052270382 + 40 300 0.062416077 0.53041843 0.089505208 0.79297556 0.88248077 0 0.16157862 + 50 300 0.078029871 1.1948397 -0.083317439 1.7862853 1.7029679 0 0.35447982 + 60 300 0.093806505 1.3915614 -0.37745551 2.0803842 1.7029287 0 0.40349499 + 70 300 0.1096344 1.7061978 -0.84746071 2.5507657 1.703305 0 0.48190445 + 80 300 0.12532592 20.692093 -3.32971 30.93468 27.60497 0 6.0759456 + 90 300 0.14175463 48.999403 -2.1632167 73.254107 71.090891 0 14.578714 + 100 300 0.15838337 51.199785 -0.81127924 76.543678 75.732399 0 15.281693 +Loop time of 0.158406 on 16 procs for 100 steps with 300 atoms + +Performance: 272716.448 tau/day, 631.288 timesteps/s +99.4% CPU use with 16 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.718e-05 | 3.7491e-05 | 5.6744e-05 | 0.0 | 0.02 +Kspace | 0.15435 | 0.15482 | 0.15516 | 0.1 | 97.74 +Neigh | 0.00014806 | 0.0003508 | 0.00074744 | 0.0 | 0.22 +Comm | 0.0016866 | 0.0019967 | 0.0023787 | 0.5 | 1.26 +Output | 0.00027871 | 0.00033027 | 0.00038028 | 0.0 | 0.21 +Modify | 8.0347e-05 | 0.00011933 | 0.00016522 | 0.0 | 0.08 +Other | | 0.0007506 | | | 0.47 + +Nlocal: 18.75 ave 33 max 6 min +Histogram: 2 6 0 0 0 0 2 1 2 3 +Nghost: 128.875 ave 198 max 71 min +Histogram: 7 1 0 0 0 0 0 1 5 2 +Neighs: 153.812 ave 490 max 14 min +Histogram: 8 0 3 0 1 1 0 0 1 2 + +Total # of neighbors = 2461 +Ave neighs/atom = 8.20333 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.2 b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.2 new file mode 100644 index 0000000000..fb863797f3 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.2 @@ -0,0 +1,92 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul press + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.354 | 3.354 | 3.355 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul Press + 0 300 0 0 0.49683273 0 0.49683273 0 0.016561091 + 10 300 0.044083834 0.015479312 0.47369009 0.023141571 0.49683166 0 0.020417984 + 20 300 0.088379145 0.062386358 0.40356181 0.093267605 0.49682941 0 0.032105581 + 30 300 0.13264704 0.14331637 0.2825636 0.21425798 0.49682157 0 0.052270382 + 40 300 0.17687225 0.53041843 0.089505208 0.79297556 0.88248077 0 0.16157862 + 50 300 0.22116137 1.1948397 -0.083317439 1.7862853 1.7029679 0 0.35447982 + 60 300 0.26515126 1.3915614 -0.37745551 2.0803842 1.7029287 0 0.40349499 + 70 300 0.30891085 1.7061978 -0.84746071 2.5507657 1.703305 0 0.48190445 + 80 300 0.35292292 20.692093 -3.32971 30.93468 27.60497 0 6.0759456 + 90 300 0.39845228 48.999403 -2.1632167 73.254107 71.090891 0 14.578714 + 100 300 0.44492316 51.199785 -0.81127924 76.543678 75.732399 0 15.281693 +Loop time of 0.444937 on 2 procs for 100 steps with 300 atoms + +Performance: 97092.373 tau/day, 224.751 timesteps/s +100.0% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 7.7248e-05 | 7.844e-05 | 7.9632e-05 | 0.0 | 0.02 +Kspace | 0.43932 | 0.43979 | 0.44026 | 0.1 | 98.84 +Neigh | 0.0014915 | 0.0019662 | 0.0024409 | 1.1 | 0.44 +Comm | 0.0019331 | 0.0019941 | 0.0020552 | 0.1 | 0.45 +Output | 0.00013781 | 0.00016308 | 0.00018835 | 0.0 | 0.04 +Modify | 0.00050378 | 0.00050449 | 0.00050521 | 0.0 | 0.11 +Other | | 0.0004425 | | | 0.10 + +Nlocal: 150 ave 157 max 143 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 399 ave 402 max 396 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 1230.5 ave 1756 max 705 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 2461 +Ave neighs/atom = 8.20333 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.4 b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.4 new file mode 100644 index 0000000000..d5a07e0324 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.4 @@ -0,0 +1,92 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul press + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.333 | 3.333 | 3.333 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul Press + 0 300 0 0 0.49683273 0 0.49683273 0 0.016561091 + 10 300 0.02743125 0.015479312 0.47369009 0.023141571 0.49683166 0 0.020417984 + 20 300 0.05494833 0.062386358 0.40356181 0.093267605 0.49682941 0 0.032105581 + 30 300 0.082517862 0.14331637 0.2825636 0.21425798 0.49682157 0 0.052270382 + 40 300 0.11015558 0.53041843 0.089505208 0.79297556 0.88248077 0 0.16157862 + 50 300 0.13790298 1.1948397 -0.083317439 1.7862853 1.7029679 0 0.35447982 + 60 300 0.1660006 1.3915614 -0.37745551 2.0803842 1.7029287 0 0.40349499 + 70 300 0.1937964 1.7061978 -0.84746071 2.5507657 1.703305 0 0.48190445 + 80 300 0.22181106 20.692093 -3.32971 30.93468 27.60497 0 6.0759456 + 90 300 0.25105524 48.999403 -2.1632167 73.254107 71.090891 0 14.578714 + 100 300 0.28086019 51.199785 -0.81127924 76.543678 75.732399 0 15.281693 +Loop time of 0.280875 on 4 procs for 100 steps with 300 atoms + +Performance: 153805.254 tau/day, 356.031 timesteps/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 5.6744e-05 | 6.0022e-05 | 6.4135e-05 | 0.0 | 0.02 +Kspace | 0.27651 | 0.27682 | 0.27714 | 0.0 | 98.56 +Neigh | 0.00079465 | 0.001082 | 0.0014107 | 0.8 | 0.39 +Comm | 0.0019372 | 0.002014 | 0.0020835 | 0.1 | 0.72 +Output | 0.00018406 | 0.00019914 | 0.00023413 | 0.0 | 0.07 +Modify | 0.0002749 | 0.00028563 | 0.00029325 | 0.0 | 0.10 +Other | | 0.0004173 | | | 0.15 + +Nlocal: 75 ave 81 max 69 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Nghost: 287 ave 296 max 278 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Neighs: 615.25 ave 964 max 286 min +Histogram: 1 1 0 0 0 0 0 1 0 1 + +Total # of neighbors = 2461 +Ave neighs/atom = 8.20333 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.8 b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.8 new file mode 100644 index 0000000000..a6f9228673 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.cw.g++.p2nfft.8 @@ -0,0 +1,92 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task + +units lj +atom_style charge + +read_data data.cloud_wall + orthogonal box = (0 0 0) to (10 10 10) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 300 atoms + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul press + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.317 | 3.317 | 3.317 Mbytes +Step Atoms CPU Temp PotEng KinEng TotEng E_coul Press + 0 300 0 0 0.49683273 0 0.49683273 0 0.016561091 + 10 300 0.01961565 0.015479312 0.47369009 0.023141571 0.49683166 0 0.020417984 + 20 300 0.039346695 0.062386358 0.40356181 0.093267605 0.49682941 0 0.032105581 + 30 300 0.059037447 0.14331637 0.2825636 0.21425798 0.49682157 0 0.052270382 + 40 300 0.078732729 0.53041843 0.089505208 0.79297556 0.88248077 0 0.16157862 + 50 300 0.098586798 1.1948397 -0.083317439 1.7862853 1.7029679 0 0.35447982 + 60 300 0.11857247 1.3915614 -0.37745551 2.0803842 1.7029287 0 0.40349499 + 70 300 0.1385541 1.7061978 -0.84746071 2.5507657 1.703305 0 0.48190445 + 80 300 0.15850091 20.692093 -3.32971 30.93468 27.60497 0 6.0759456 + 90 300 0.17892075 48.999403 -2.1632167 73.254107 71.090891 0 14.578714 + 100 300 0.19964767 51.199785 -0.81127924 76.543678 75.732399 0 15.281693 +Loop time of 0.199664 on 8 procs for 100 steps with 300 atoms + +Performance: 216363.074 tau/day, 500.840 timesteps/s +99.4% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.5061e-05 | 4.7535e-05 | 5.3167e-05 | 0.0 | 0.02 +Kspace | 0.19551 | 0.19584 | 0.19611 | 0.0 | 98.08 +Neigh | 0.00041366 | 0.00060952 | 0.00082064 | 0.0 | 0.31 +Comm | 0.0021496 | 0.0022282 | 0.0024025 | 0.2 | 1.12 +Output | 0.0002346 | 0.00024167 | 0.00027847 | 0.0 | 0.12 +Modify | 0.00016665 | 0.00017652 | 0.0001924 | 0.0 | 0.09 +Other | | 0.0005245 | | | 0.26 + +Nlocal: 37.5 ave 42 max 33 min +Histogram: 2 1 0 1 0 0 1 0 1 2 +Nghost: 202.25 ave 212 max 194 min +Histogram: 1 0 2 1 0 2 0 1 0 1 +Neighs: 307.625 ave 505 max 129 min +Histogram: 3 0 0 1 1 0 0 0 1 2 + +Total # of neighbors = 2461 +Ave neighs/atom = 8.20333 +Neighbor list builds = 15 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.1 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.1 new file mode 100644 index 0000000000..13212ede0c --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.1 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 1 by 1 by 1 MPI processor grid + 4096 atoms + Time spent = 0.000498772 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos ewald 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver ewald ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.813 | 5.813 | 5.813 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7475938 0 0.50185691 11.99707 + 10 1.500011 -1.747529 0 0.50193816 11.997158 + 20 1.5000023 -1.7475152 0 0.50193898 11.997089 + 30 1.4999308 -1.747404 0 0.50194285 11.996517 + 40 1.4997722 -1.7471622 0 0.50194686 11.995248 + 50 1.4995835 -1.746878 0 0.50194808 11.993739 + 60 1.4996054 -1.7469114 0 0.50194749 11.993914 + 70 1.5004341 -1.7481558 0 0.50194592 12.000543 + 80 1.5033218 -1.7524875 0 0.50194458 12.023638 + 90 1.5108306 -1.7637462 0 0.50194636 12.083694 + 100 1.5292479 -1.7913449 0 0.50196695 12.230996 +Loop time of 1121.22 on 1 procs for 100 steps with 4096 atoms + +Performance: 38.530 tau/day, 0.089 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0015197 | 0.0015197 | 0.0015197 | 0.0 | 0.00 +Kspace | 1121.2 | 1121.2 | 1121.2 | 0.0 |100.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.013699 | 0.013699 | 0.013699 | 0.0 | 0.00 +Output | 0.00038314 | 0.00038314 | 0.00038314 | 0.0 | 0.00 +Modify | 0.011126 | 0.011126 | 0.011126 | 0.0 | 0.00 +Other | | 0.00418 | | | 0.00 + +Nlocal: 4096 ave 4096 max 4096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 9728 ave 9728 max 9728 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 524288 ave 524288 max 524288 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:18:57 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.16 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.16 new file mode 100644 index 0000000000..2fc46da3cd --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.16 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 2 by 2 by 4 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 2 by 2 by 4 MPI processor grid + 4096 atoms + Time spent = 0.000462294 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos ewald 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver ewald ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.501 | 3.501 | 3.501 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7475938 0 0.50185691 -nan + 10 1.500011 -1.747529 0 0.50193816 -nan + 20 1.5000023 -1.7475152 0 0.50193898 -nan + 30 1.4999308 -1.747404 0 0.50194285 -nan + 40 1.4997722 -1.7471622 0 0.50194686 -nan + 50 1.4995835 -1.746878 0 0.50194808 -nan + 60 1.4996054 -1.7469114 0 0.50194749 -nan + 70 1.5004341 -1.7481558 0 0.50194592 -nan + 80 1.5033218 -1.7524875 0 0.50194458 -nan + 90 1.5108306 -1.7637462 0 0.50194636 -nan + 100 1.5292479 -1.7913449 0 0.50196695 -nan +Loop time of 80.2777 on 16 procs for 100 steps with 4096 atoms + +Performance: 538.132 tau/day, 1.246 timesteps/s +99.8% CPU use with 16 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0003705 | 0.00039807 | 0.00048542 | 0.0 | 0.00 +Kspace | 80.262 | 80.263 | 80.264 | 0.0 | 99.98 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.010191 | 0.011419 | 0.012416 | 0.6 | 0.01 +Output | 0.00028253 | 0.00033158 | 0.0004065 | 0.0 | 0.00 +Modify | 0.00082541 | 0.0008464 | 0.00087833 | 0.0 | 0.00 +Other | | 0.001511 | | | 0.00 + +Nlocal: 256 ave 256 max 256 min +Histogram: 16 0 0 0 0 0 0 0 0 0 +Nghost: 2816 ave 2816 max 2816 min +Histogram: 16 0 0 0 0 0 0 0 0 0 +Neighs: 32768 ave 32768 max 32768 min +Histogram: 16 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:01:22 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.2 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.2 new file mode 100644 index 0000000000..b6bf41de24 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.2 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 1 by 1 by 2 MPI processor grid + 4096 atoms + Time spent = 0.000344753 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos ewald 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver ewald ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.574 | 4.574 | 4.574 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7475938 0 0.50185691 11.99707 + 10 1.500011 -1.747529 0 0.50193816 11.997158 + 20 1.5000023 -1.7475152 0 0.50193898 11.997089 + 30 1.4999308 -1.747404 0 0.50194285 11.996517 + 40 1.4997722 -1.7471622 0 0.50194686 11.995248 + 50 1.4995835 -1.746878 0 0.50194808 11.993739 + 60 1.4996054 -1.7469114 0 0.50194749 11.993914 + 70 1.5004341 -1.7481558 0 0.50194592 12.000543 + 80 1.5033218 -1.7524875 0 0.50194458 12.023638 + 90 1.5108306 -1.7637462 0 0.50194636 12.083694 + 100 1.5292479 -1.7913449 0 0.50196695 12.230996 +Loop time of 566.796 on 2 procs for 100 steps with 4096 atoms + +Performance: 76.218 tau/day, 0.176 timesteps/s +100.0% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0010231 | 0.0010413 | 0.0010595 | 0.1 | 0.00 +Kspace | 566.77 | 566.77 | 566.77 | 0.0 | 99.99 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.019707 | 0.01982 | 0.019932 | 0.1 | 0.00 +Output | 0.0002656 | 0.00029266 | 0.00031972 | 0.0 | 0.00 +Modify | 0.0055575 | 0.0055707 | 0.0055838 | 0.0 | 0.00 +Other | | 0.002497 | | | 0.00 + +Nlocal: 2048 ave 2048 max 2048 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 7168 ave 7168 max 7168 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 262144 ave 262144 max 262144 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:09:38 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.4 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.4 new file mode 100644 index 0000000000..26c1953afa --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.4 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 1 by 2 by 2 MPI processor grid + 4096 atoms + Time spent = 0.000261068 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos ewald 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver ewald ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.008 | 4.008 | 4.008 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7475938 0 0.50185691 -nan + 10 1.500011 -1.747529 0 0.50193816 -nan + 20 1.5000023 -1.7475152 0 0.50193898 -nan + 30 1.4999308 -1.747404 0 0.50194285 -nan + 40 1.4997722 -1.7471622 0 0.50194686 -nan + 50 1.4995835 -1.746878 0 0.50194808 -nan + 60 1.4996054 -1.7469114 0 0.50194749 -nan + 70 1.5004341 -1.7481558 0 0.50194592 -nan + 80 1.5033218 -1.7524875 0 0.50194458 -nan + 90 1.5108306 -1.7637462 0 0.50194636 -nan + 100 1.5292479 -1.7913449 0 0.50196695 -nan +Loop time of 295.996 on 4 procs for 100 steps with 4096 atoms + +Performance: 145.948 tau/day, 0.338 timesteps/s +99.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00071096 | 0.00071985 | 0.00072813 | 0.0 | 0.00 +Kspace | 295.98 | 295.98 | 295.98 | 0.0 | 99.99 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.013666 | 0.013736 | 0.013795 | 0.0 | 0.00 +Output | 0.00023484 | 0.00025135 | 0.00029254 | 0.0 | 0.00 +Modify | 0.0029099 | 0.002973 | 0.0030224 | 0.1 | 0.00 +Other | | 0.001821 | | | 0.00 + +Nlocal: 1024 ave 1024 max 1024 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 5120 ave 5120 max 5120 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 131072 ave 131072 max 131072 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:05:02 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.8 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.8 new file mode 100644 index 0000000000..4a1a5b91ed --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.ewald.8 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 2 by 2 by 2 MPI processor grid + 4096 atoms + Time spent = 0.000232935 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos ewald 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver ewald ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.508 | 3.508 | 3.508 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7475938 0 0.50185691 -nan + 10 1.500011 -1.747529 0 0.50193816 -nan + 20 1.5000023 -1.7475152 0 0.50193898 -nan + 30 1.4999308 -1.747404 0 0.50194285 -nan + 40 1.4997722 -1.7471622 0 0.50194686 -nan + 50 1.4995835 -1.746878 0 0.50194808 -nan + 60 1.4996054 -1.7469114 0 0.50194749 -nan + 70 1.5004341 -1.7481558 0 0.50194592 -nan + 80 1.5033218 -1.7524875 0 0.50194458 -nan + 90 1.5108306 -1.7637462 0 0.50194636 -nan + 100 1.5292479 -1.7913449 0 0.50196695 -nan +Loop time of 154.44 on 8 procs for 100 steps with 4096 atoms + +Performance: 279.720 tau/day, 0.647 timesteps/s +99.9% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00049257 | 0.00051311 | 0.00059295 | 0.0 | 0.00 +Kspace | 154.42 | 154.42 | 154.42 | 0.0 | 99.99 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.012076 | 0.013177 | 0.014308 | 0.8 | 0.01 +Output | 0.00025177 | 0.00028065 | 0.00030136 | 0.0 | 0.00 +Modify | 0.0015776 | 0.0017182 | 0.0018268 | 0.2 | 0.00 +Other | | 0.001309 | | | 0.00 + +Nlocal: 512 ave 512 max 512 min +Histogram: 8 0 0 0 0 0 0 0 0 0 +Nghost: 3584 ave 3584 max 3584 min +Histogram: 8 0 0 0 0 0 0 0 0 0 +Neighs: 65536 ave 65536 max 65536 min +Histogram: 8 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:02:38 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.1 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.1 new file mode 100644 index 0000000000..598585ae95 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.1 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 1 by 1 by 1 MPI processor grid + 4096 atoms + Time spent = 0.000518799 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.813 | 5.813 | 5.813 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7475646 0 0.50188608 10.44368 + 10 1.5000016 -1.7475671 0 0.50188602 10.44369 + 20 1.4999827 -1.7475388 0 0.50188592 10.443564 + 30 1.4999016 -1.7474173 0 0.5018858 10.443023 + 40 1.4997356 -1.7471685 0 0.50188572 10.441917 + 50 1.4995414 -1.7468771 0 0.5018858 10.440623 + 60 1.4995587 -1.7469027 0 0.50188622 10.440739 + 70 1.5003837 -1.7481389 0 0.50188727 10.446238 + 80 1.5032684 -1.7524625 0 0.50188958 10.465466 + 90 1.5107749 -1.763714 0 0.50189507 10.515502 + 100 1.52919 -1.791306 0 0.50191895 10.638261 +Loop time of 34.7058 on 1 procs for 100 steps with 4096 atoms + +Performance: 1244.749 tau/day, 2.881 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0015228 | 0.0015228 | 0.0015228 | 0.0 | 0.00 +Kspace | 34.675 | 34.675 | 34.675 | 0.0 | 99.91 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.013741 | 0.013741 | 0.013741 | 0.0 | 0.04 +Output | 0.00041246 | 0.00041246 | 0.00041246 | 0.0 | 0.00 +Modify | 0.01107 | 0.01107 | 0.01107 | 0.0 | 0.03 +Other | | 0.004232 | | | 0.01 + +Nlocal: 4096 ave 4096 max 4096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 9728 ave 9728 max 9728 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 524288 ave 524288 max 524288 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:35 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.16 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.16 new file mode 100644 index 0000000000..4bd0c3d4f3 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.16 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 2 by 2 by 4 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 2 by 2 by 4 MPI processor grid + 4096 atoms + Time spent = 0.000400543 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.501 | 3.501 | 3.501 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7475646 0 0.50188608 10.44368 + 10 1.5000016 -1.7475671 0 0.50188602 10.44369 + 20 1.4999827 -1.7475388 0 0.50188592 10.443564 + 30 1.4999016 -1.7474173 0 0.5018858 10.443023 + 40 1.4997356 -1.7471685 0 0.50188572 10.441917 + 50 1.4995414 -1.7468771 0 0.5018858 10.440623 + 60 1.4995587 -1.7469027 0 0.50188622 10.440739 + 70 1.5003837 -1.7481389 0 0.50188727 10.446238 + 80 1.5032684 -1.7524625 0 0.50188958 10.465466 + 90 1.5107749 -1.763714 0 0.50189507 10.515502 + 100 1.52919 -1.791306 0 0.50191895 10.638261 +Loop time of 4.23774 on 16 procs for 100 steps with 4096 atoms + +Performance: 10194.102 tau/day, 23.597 timesteps/s +99.6% CPU use with 16 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00038028 | 0.00040729 | 0.00046206 | 0.0 | 0.01 +Kspace | 4.2206 | 4.2211 | 4.2216 | 0.0 | 99.61 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.011439 | 0.012491 | 0.013172 | 0.4 | 0.29 +Output | 0.00042915 | 0.000489 | 0.00061274 | 0.0 | 0.01 +Modify | 0.00093102 | 0.00099151 | 0.0010982 | 0.0 | 0.02 +Other | | 0.002255 | | | 0.05 + +Nlocal: 256 ave 256 max 256 min +Histogram: 16 0 0 0 0 0 0 0 0 0 +Nghost: 2816 ave 2816 max 2816 min +Histogram: 16 0 0 0 0 0 0 0 0 0 +Neighs: 32768 ave 32768 max 32768 min +Histogram: 16 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:06 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.2 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.2 new file mode 100644 index 0000000000..50dcc99393 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.2 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 1 by 1 by 2 MPI processor grid + 4096 atoms + Time spent = 0.0003407 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.574 | 4.574 | 4.574 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7475646 0 0.50188608 10.44368 + 10 1.5000016 -1.7475671 0 0.50188602 10.44369 + 20 1.4999827 -1.7475388 0 0.50188592 10.443564 + 30 1.4999016 -1.7474173 0 0.5018858 10.443023 + 40 1.4997356 -1.7471685 0 0.50188572 10.441917 + 50 1.4995414 -1.7468771 0 0.5018858 10.440623 + 60 1.4995587 -1.7469027 0 0.50188622 10.440739 + 70 1.5003837 -1.7481389 0 0.50188727 10.446238 + 80 1.5032684 -1.7524625 0 0.50188958 10.465466 + 90 1.5107749 -1.763714 0 0.50189507 10.515502 + 100 1.52919 -1.791306 0 0.50191895 10.638261 +Loop time of 17.9401 on 2 procs for 100 steps with 4096 atoms + +Performance: 2408.014 tau/day, 5.574 timesteps/s +99.9% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0010042 | 0.0010235 | 0.0010428 | 0.1 | 0.01 +Kspace | 17.912 | 17.912 | 17.912 | 0.0 | 99.84 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.018252 | 0.018528 | 0.018804 | 0.2 | 0.10 +Output | 0.00034094 | 0.00035989 | 0.00037885 | 0.0 | 0.00 +Modify | 0.0055602 | 0.0056567 | 0.0057533 | 0.1 | 0.03 +Other | | 0.002716 | | | 0.02 + +Nlocal: 2048 ave 2048 max 2048 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 7168 ave 7168 max 7168 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 262144 ave 262144 max 262144 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:19 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.4 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.4 new file mode 100644 index 0000000000..27fdfcedcb --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.4 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 1 by 2 by 2 MPI processor grid + 4096 atoms + Time spent = 0.000270367 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.008 | 4.008 | 4.008 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7475646 0 0.50188608 10.44368 + 10 1.5000016 -1.7475671 0 0.50188602 10.44369 + 20 1.4999827 -1.7475388 0 0.50188592 10.443564 + 30 1.4999016 -1.7474173 0 0.5018858 10.443023 + 40 1.4997356 -1.7471685 0 0.50188572 10.441917 + 50 1.4995414 -1.7468771 0 0.5018858 10.440623 + 60 1.4995587 -1.7469027 0 0.50188622 10.440739 + 70 1.5003837 -1.7481389 0 0.50188727 10.446238 + 80 1.5032684 -1.7524625 0 0.50188958 10.465466 + 90 1.5107749 -1.763714 0 0.50189507 10.515502 + 100 1.52919 -1.791306 0 0.50191895 10.638261 +Loop time of 10.0781 on 4 procs for 100 steps with 4096 atoms + +Performance: 4286.533 tau/day, 9.923 timesteps/s +99.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00071096 | 0.00073177 | 0.00075269 | 0.0 | 0.01 +Kspace | 10.056 | 10.057 | 10.057 | 0.0 | 99.79 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.01492 | 0.015036 | 0.015207 | 0.1 | 0.15 +Output | 0.00036311 | 0.00039428 | 0.00046515 | 0.0 | 0.00 +Modify | 0.002944 | 0.0030704 | 0.0033708 | 0.3 | 0.03 +Other | | 0.002214 | | | 0.02 + +Nlocal: 1024 ave 1024 max 1024 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 5120 ave 5120 max 5120 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 131072 ave 131072 max 131072 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:11 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.8 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.8 new file mode 100644 index 0000000000..02a5528c59 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.fmm.8 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 2 by 2 by 2 MPI processor grid + 4096 atoms + Time spent = 0.000236988 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.508 | 3.508 | 3.508 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7475646 0 0.50188608 10.44368 + 10 1.5000016 -1.7475671 0 0.50188602 10.44369 + 20 1.4999827 -1.7475388 0 0.50188592 10.443564 + 30 1.4999016 -1.7474173 0 0.5018858 10.443023 + 40 1.4997356 -1.7471685 0 0.50188572 10.441917 + 50 1.4995414 -1.7468771 0 0.5018858 10.440623 + 60 1.4995587 -1.7469027 0 0.50188622 10.440739 + 70 1.5003837 -1.7481389 0 0.50188727 10.446238 + 80 1.5032684 -1.7524625 0 0.50188958 10.465466 + 90 1.5107749 -1.763714 0 0.50189507 10.515502 + 100 1.52919 -1.791306 0 0.50191895 10.638261 +Loop time of 5.96037 on 8 procs for 100 steps with 4096 atoms + +Performance: 7247.876 tau/day, 16.777 timesteps/s +99.8% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00049591 | 0.0005368 | 0.00056005 | 0.0 | 0.01 +Kspace | 5.94 | 5.941 | 5.9419 | 0.0 | 99.68 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.013702 | 0.014631 | 0.015768 | 0.6 | 0.25 +Output | 0.00044751 | 0.00048846 | 0.00058961 | 0.0 | 0.01 +Modify | 0.0016675 | 0.0017205 | 0.0017893 | 0.1 | 0.03 +Other | | 0.001971 | | | 0.03 + +Nlocal: 512 ave 512 max 512 min +Histogram: 8 0 0 0 0 0 0 0 0 0 +Nghost: 3584 ave 3584 max 3584 min +Histogram: 8 0 0 0 0 0 0 0 0 0 +Neighs: 65536 ave 65536 max 65536 min +Histogram: 8 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:07 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.1 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.1 new file mode 100644 index 0000000000..1876a0e52b --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.1 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 1 by 1 by 1 MPI processor grid + 4096 atoms + Time spent = 0.00049448 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.813 | 5.813 | 5.813 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7477245 0 0.50172614 10.443537 + 10 1.5000176 -1.7475898 0 0.50188725 10.443798 + 20 1.5000161 -1.7475262 0 0.50194874 10.443843 + 30 1.4999486 -1.7474019 0 0.50197176 10.443413 + 40 1.4997889 -1.7471525 0 0.50198161 10.442357 + 50 1.4995945 -1.7468614 0 0.50198122 10.441061 + 60 1.499609 -1.7468813 0 0.50198309 10.44116 + 70 1.5004314 -1.7481179 0 0.50197962 10.446638 + 80 1.5033149 -1.7524495 0 0.50197233 10.46585 + 90 1.5108219 -1.7637095 0 0.50197005 10.515883 + 100 1.529239 -1.7913105 0 0.501988 10.638649 +Loop time of 18.1113 on 1 procs for 100 steps with 4096 atoms + +Performance: 2385.257 tau/day, 5.521 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0014985 | 0.0014985 | 0.0014985 | 0.0 | 0.01 +Kspace | 18.079 | 18.079 | 18.079 | 0.0 | 99.82 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.014229 | 0.014229 | 0.014229 | 0.0 | 0.08 +Output | 0.0004642 | 0.0004642 | 0.0004642 | 0.0 | 0.00 +Modify | 0.011227 | 0.011227 | 0.011227 | 0.0 | 0.06 +Other | | 0.004455 | | | 0.02 + +Nlocal: 4096 ave 4096 max 4096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 9728 ave 9728 max 9728 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 524288 ave 524288 max 524288 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:21 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.16 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.16 new file mode 100644 index 0000000000..6e6e8f6e94 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.16 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 2 by 2 by 4 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 2 by 2 by 4 MPI processor grid + 4096 atoms + Time spent = 0.000361443 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.501 | 3.501 | 3.501 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7477245 0 0.50172614 10.443537 + 10 1.5000176 -1.7475898 0 0.50188725 10.443798 + 20 1.5000161 -1.7475262 0 0.50194874 10.443843 + 30 1.4999486 -1.7474019 0 0.50197176 10.443413 + 40 1.4997889 -1.7471525 0 0.50198161 10.442357 + 50 1.4995945 -1.7468614 0 0.50198122 10.441061 + 60 1.499609 -1.7468813 0 0.50198309 10.44116 + 70 1.5004314 -1.7481179 0 0.50197962 10.446638 + 80 1.5033149 -1.7524495 0 0.50197233 10.46585 + 90 1.5108219 -1.7637095 0 0.50197005 10.515883 + 100 1.529239 -1.7913105 0 0.501988 10.638649 +Loop time of 1.56685 on 16 procs for 100 steps with 4096 atoms + +Performance: 27571.239 tau/day, 63.822 timesteps/s +99.8% CPU use with 16 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00036407 | 0.00040755 | 0.00047517 | 0.0 | 0.03 +Kspace | 1.5521 | 1.553 | 1.5536 | 0.0 | 99.12 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.009537 | 0.010175 | 0.011894 | 0.6 | 0.65 +Output | 0.000319 | 0.00039139 | 0.00052881 | 0.0 | 0.02 +Modify | 0.00086999 | 0.00097834 | 0.0010362 | 0.0 | 0.06 +Other | | 0.001859 | | | 0.12 + +Nlocal: 256 ave 256 max 256 min +Histogram: 16 0 0 0 0 0 0 0 0 0 +Nghost: 2816 ave 2816 max 2816 min +Histogram: 16 0 0 0 0 0 0 0 0 0 +Neighs: 32768 ave 32768 max 32768 min +Histogram: 16 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.2 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.2 new file mode 100644 index 0000000000..72a53c48ff --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.2 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 1 by 1 by 2 MPI processor grid + 4096 atoms + Time spent = 0.0003438 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.574 | 4.574 | 4.574 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7477245 0 0.50172614 10.443537 + 10 1.5000176 -1.7475898 0 0.50188725 10.443798 + 20 1.5000161 -1.7475262 0 0.50194874 10.443843 + 30 1.4999486 -1.7474019 0 0.50197176 10.443413 + 40 1.4997889 -1.7471525 0 0.50198161 10.442357 + 50 1.4995945 -1.7468614 0 0.50198122 10.441061 + 60 1.499609 -1.7468813 0 0.50198309 10.44116 + 70 1.5004314 -1.7481179 0 0.50197962 10.446638 + 80 1.5033149 -1.7524495 0 0.50197233 10.46585 + 90 1.5108219 -1.7637095 0 0.50197005 10.515883 + 100 1.529239 -1.7913105 0 0.501988 10.638649 +Loop time of 9.38943 on 2 procs for 100 steps with 4096 atoms + +Performance: 4600.920 tau/day, 10.650 timesteps/s +99.9% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0010064 | 0.0010065 | 0.0010066 | 0.0 | 0.01 +Kspace | 9.3602 | 9.3603 | 9.3604 | 0.0 | 99.69 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.019444 | 0.01968 | 0.019916 | 0.2 | 0.21 +Output | 0.00033355 | 0.00035357 | 0.0003736 | 0.0 | 0.00 +Modify | 0.0055819 | 0.0056176 | 0.0056534 | 0.0 | 0.06 +Other | | 0.002495 | | | 0.03 + +Nlocal: 2048 ave 2048 max 2048 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 7168 ave 7168 max 7168 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 262144 ave 262144 max 262144 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:11 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.4 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.4 new file mode 100644 index 0000000000..bf4494df8b --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.4 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 1 by 2 by 2 MPI processor grid + 4096 atoms + Time spent = 0.000260592 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.008 | 4.008 | 4.008 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7477245 0 0.50172614 10.443537 + 10 1.5000176 -1.7475898 0 0.50188725 10.443798 + 20 1.5000161 -1.7475262 0 0.50194874 10.443843 + 30 1.4999486 -1.7474019 0 0.50197176 10.443413 + 40 1.4997889 -1.7471525 0 0.50198161 10.442357 + 50 1.4995945 -1.7468614 0 0.50198122 10.441061 + 60 1.499609 -1.7468813 0 0.50198309 10.44116 + 70 1.5004314 -1.7481179 0 0.50197962 10.446638 + 80 1.5033149 -1.7524495 0 0.50197233 10.46585 + 90 1.5108219 -1.7637095 0 0.50197005 10.515883 + 100 1.529239 -1.7913105 0 0.501988 10.638649 +Loop time of 5.09997 on 4 procs for 100 steps with 4096 atoms + +Performance: 8470.643 tau/day, 19.608 timesteps/s +99.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00069928 | 0.00071001 | 0.00073647 | 0.0 | 0.01 +Kspace | 5.0795 | 5.0796 | 5.0797 | 0.0 | 99.60 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.014101 | 0.014216 | 0.014331 | 0.1 | 0.28 +Output | 0.00030541 | 0.00033581 | 0.00039625 | 0.0 | 0.01 +Modify | 0.0030217 | 0.0030621 | 0.0030868 | 0.0 | 0.06 +Other | | 0.002036 | | | 0.04 + +Nlocal: 1024 ave 1024 max 1024 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 5120 ave 5120 max 5120 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 131072 ave 131072 max 131072 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:05 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.8 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.8 new file mode 100644 index 0000000000..b5e889dfc1 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.g++.p2nfft.8 @@ -0,0 +1,102 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + orthogonal box = (0 0 0) to (1 1 1) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 8 atoms + +replicate 8 8 8 + orthogonal box = (0 0 0) to (8 8 8) + 2 by 2 by 2 MPI processor grid + 4096 atoms + Time spent = 0.000324488 secs + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 8 8 8 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.508 | 3.508 | 3.508 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -1.7477245 0 0.50172614 10.443537 + 10 1.5000176 -1.7475898 0 0.50188725 10.443798 + 20 1.5000161 -1.7475262 0 0.50194874 10.443843 + 30 1.4999486 -1.7474019 0 0.50197176 10.443413 + 40 1.4997889 -1.7471525 0 0.50198161 10.442357 + 50 1.4995945 -1.7468614 0 0.50198122 10.441061 + 60 1.499609 -1.7468813 0 0.50198309 10.44116 + 70 1.5004314 -1.7481179 0 0.50197962 10.446638 + 80 1.5033149 -1.7524495 0 0.50197233 10.46585 + 90 1.5108219 -1.7637095 0 0.50197005 10.515883 + 100 1.529239 -1.7913105 0 0.501988 10.638649 +Loop time of 2.88506 on 8 procs for 100 steps with 4096 atoms + +Performance: 14973.700 tau/day, 34.661 timesteps/s +99.6% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.000489 | 0.00051507 | 0.00052857 | 0.0 | 0.02 +Kspace | 2.8657 | 2.866 | 2.8664 | 0.0 | 99.34 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.014354 | 0.014851 | 0.015097 | 0.2 | 0.51 +Output | 0.00037169 | 0.00042769 | 0.00054169 | 0.0 | 0.01 +Modify | 0.0015774 | 0.0016578 | 0.0018044 | 0.2 | 0.06 +Other | | 0.001645 | | | 0.06 + +Nlocal: 512 ave 512 max 512 min +Histogram: 8 0 0 0 0 0 0 0 0 0 +Nghost: 3584 ave 3584 max 3584 min +Histogram: 8 0 0 0 0 0 0 0 0 0 +Neighs: 65536 ave 65536 max 65536 min +Histogram: 8 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 524288 +Ave neighs/atom = 128 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.g++.p3m.2 b/examples/USER/scafacos/log.08Aug18.scafacos.g++.p3m.2 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.1 b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.1 new file mode 100644 index 0000000000..b0a47e4f98 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.1 @@ -0,0 +1,105 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos direct 0.001 + +timestep 0.005 +thermo 1 +run 20 +Setting up ScaFaCoS with solver direct ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 10.3 | 10.3 | 10.3 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.0015678854 + 1 18.780041 -10.770002 0 17.371889 0.016718957 + 2 65.289192 -11.084705 0 86.751149 0.060353634 + 3 121.92987 -7.0625759 0 175.64933 0.11404974 + 4 185.78164 -5.8777512 0 272.51604 0.17462195 + 5 286.36222 -4.382053 0 424.73173 0.26918926 + 6 481.42206 -4.3095567 0 717.1014 0.45274088 + 7 488.59167 -3.8685194 0 728.2861 0.45956866 + 8 497.85287 -3.0417966 0 742.99073 0.46838116 + 9 499.61615 -3.419003 0 745.2558 0.46983345 + 10 502.63684 -2.8360961 0 750.36521 0.47280809 + 11 504.4846 -2.7628105 0 753.20736 0.47462793 + 12 506.54485 -2.8460356 0 756.21142 0.47651441 + 13 508.27211 -2.730935 0 758.91482 0.47813752 + 14 510.57045 -2.6094877 0 762.48033 0.48031431 + 15 513.14798 -2.7150827 0 766.23717 0.48275229 + 16 515.78124 -2.3961811 0 770.50201 0.48526333 + 17 515.70265 -2.2982683 0 770.48215 0.48526617 + 18 515.7081 -2.1515983 0 770.63699 0.48530393 + 19 515.74906 -2.0581436 0 770.79182 0.48530977 + 20 515.70883 -1.8922577 0 770.89742 0.48527105 +Loop time of 0.465839 on 1 procs for 20 steps with 1000 atoms + +Performance: 18547.165 tau/day, 42.933 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00021982 | 0.00021982 | 0.00021982 | 0.0 | 0.05 +Kspace | 0.3218 | 0.3218 | 0.3218 | 0.0 | 69.08 +Neigh | 0.14249 | 0.14249 | 0.14249 | 0.0 | 30.59 +Comm | 0.00014853 | 0.00014853 | 0.00014853 | 0.0 | 0.03 +Output | 0.00026131 | 0.00026131 | 0.00026131 | 0.0 | 0.06 +Modify | 0.00055146 | 0.00055146 | 0.00055146 | 0.0 | 0.12 +Other | | 0.0003715 | | | 0.08 + +Nlocal: 1000 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 247817 ave 247817 max 247817 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.2 b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.2 new file mode 100644 index 0000000000..1ffab0ca6a --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.2 @@ -0,0 +1,105 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos direct 0.001 + +timestep 0.005 +thermo 1 +run 20 +Setting up ScaFaCoS with solver direct ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.48 | 6.861 | 7.243 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.0015678854 + 1 18.780041 -10.770002 0 17.371889 0.016718957 + 2 65.289192 -11.084705 0 86.751149 0.060353634 + 3 121.92987 -7.0625759 0 175.64933 0.11404974 + 4 185.78164 -5.8777512 0 272.51604 0.17462195 + 5 286.36222 -4.382053 0 424.73173 0.26918926 + 6 481.42206 -4.3095567 0 717.1014 0.45274088 + 7 488.59167 -3.8685194 0 728.2861 0.45956866 + 8 497.85287 -3.0417966 0 742.99073 0.46838116 + 9 499.61615 -3.419003 0 745.2558 0.46983345 + 10 502.63684 -2.8360961 0 750.36521 0.47280809 + 11 504.4846 -2.7628105 0 753.20736 0.47462793 + 12 506.54485 -2.8460356 0 756.21142 0.47651441 + 13 508.27211 -2.730935 0 758.91482 0.47813752 + 14 510.57045 -2.6094877 0 762.48033 0.48031431 + 15 513.14798 -2.7150827 0 766.23717 0.48275229 + 16 515.78124 -2.3961811 0 770.50201 0.48526333 + 17 515.70265 -2.2982683 0 770.48215 0.48526617 + 18 515.7081 -2.1515983 0 770.63699 0.48530393 + 19 515.74906 -2.0581436 0 770.79182 0.48530977 + 20 515.70883 -1.8922577 0 770.89742 0.48527105 +Loop time of 0.284007 on 2 procs for 20 steps with 1000 atoms + +Performance: 30421.778 tau/day, 70.421 timesteps/s +99.1% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00022578 | 0.00022626 | 0.00022674 | 0.0 | 0.08 +Kspace | 0.18253 | 0.20503 | 0.22752 | 5.0 | 72.19 +Neigh | 0.05363 | 0.076239 | 0.098848 | 8.2 | 26.84 +Comm | 0.0014737 | 0.0016443 | 0.0018148 | 0.4 | 0.58 +Output | 0.000247 | 0.00032353 | 0.00040007 | 0.0 | 0.11 +Modify | 0.00029159 | 0.00029731 | 0.00030303 | 0.0 | 0.10 +Other | | 0.0002506 | | | 0.09 + +Nlocal: 500 ave 516 max 484 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 456.5 ave 475 max 438 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 123908 ave 172139 max 75678 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.4 b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.4 new file mode 100644 index 0000000000..1235c0a3cd --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.4 @@ -0,0 +1,105 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos direct 0.001 + +timestep 0.005 +thermo 1 +run 20 +Setting up ScaFaCoS with solver direct ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.837 | 5.123 | 5.6 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.0015678854 + 1 18.780041 -10.770002 0 17.371889 0.016718957 + 2 65.289192 -11.084705 0 86.751149 0.060353634 + 3 121.92987 -7.0625759 0 175.64933 0.11404974 + 4 185.78164 -5.8777512 0 272.51604 0.17462195 + 5 286.36222 -4.382053 0 424.73173 0.26918926 + 6 481.42206 -4.3095567 0 717.1014 0.45274088 + 7 488.59167 -3.8685194 0 728.2861 0.45956866 + 8 497.85287 -3.0417966 0 742.99073 0.46838116 + 9 499.61615 -3.419003 0 745.2558 0.46983345 + 10 502.63684 -2.8360961 0 750.36521 0.47280809 + 11 504.4846 -2.7628105 0 753.20736 0.47462793 + 12 506.54485 -2.8460356 0 756.21142 0.47651441 + 13 508.27211 -2.730935 0 758.91482 0.47813752 + 14 510.57045 -2.6094877 0 762.48033 0.48031431 + 15 513.14798 -2.7150827 0 766.23717 0.48275229 + 16 515.78124 -2.3961811 0 770.50201 0.48526333 + 17 515.70265 -2.2982683 0 770.48215 0.48526617 + 18 515.7081 -2.1515983 0 770.63699 0.48530393 + 19 515.74906 -2.0581436 0 770.79182 0.48530977 + 20 515.70883 -1.8922577 0 770.89742 0.48527105 +Loop time of 0.161335 on 4 procs for 20 steps with 1000 atoms + +Performance: 53553.228 tau/day, 123.966 timesteps/s +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00022721 | 0.00023353 | 0.000247 | 0.0 | 0.14 +Kspace | 0.10295 | 0.11808 | 0.13377 | 3.5 | 73.19 +Neigh | 0.023849 | 0.039717 | 0.055031 | 6.1 | 24.62 +Comm | 0.0023148 | 0.0025774 | 0.0028391 | 0.4 | 1.60 +Output | 0.00029063 | 0.00038403 | 0.00050664 | 0.0 | 0.24 +Modify | 0.00015664 | 0.00015944 | 0.00016165 | 0.0 | 0.10 +Other | | 0.0001805 | | | 0.11 + +Nlocal: 250 ave 259 max 238 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Nghost: 672.25 ave 683 max 663 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Neighs: 61954.2 ave 97157 max 25016 min +Histogram: 1 0 0 1 0 0 1 0 0 1 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.8 b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.8 new file mode 100644 index 0000000000..e72ade73b5 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.direct.8 @@ -0,0 +1,105 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos direct 0.001 + +timestep 0.005 +thermo 1 +run 20 +Setting up ScaFaCoS with solver direct ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.164 | 4.26 | 4.546 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.0015678854 + 1 18.780041 -10.770002 0 17.371889 0.016718957 + 2 65.289192 -11.084705 0 86.751149 0.060353634 + 3 121.92987 -7.0625759 0 175.64933 0.11404974 + 4 185.78164 -5.8777512 0 272.51604 0.17462195 + 5 286.36222 -4.382053 0 424.73173 0.26918926 + 6 481.42206 -4.3095567 0 717.1014 0.45274088 + 7 488.59167 -3.8685194 0 728.2861 0.45956866 + 8 497.85287 -3.0417966 0 742.99073 0.46838116 + 9 499.61615 -3.419003 0 745.2558 0.46983345 + 10 502.63684 -2.8360961 0 750.36521 0.47280809 + 11 504.4846 -2.7628105 0 753.20736 0.47462793 + 12 506.54485 -2.8460356 0 756.21142 0.47651441 + 13 508.27211 -2.730935 0 758.91482 0.47813752 + 14 510.57045 -2.6094877 0 762.48033 0.48031431 + 15 513.14798 -2.7150827 0 766.23717 0.48275229 + 16 515.78124 -2.3961811 0 770.50201 0.48526333 + 17 515.70265 -2.2982683 0 770.48215 0.48526617 + 18 515.7081 -2.1515983 0 770.63699 0.48530393 + 19 515.74906 -2.0581436 0 770.79182 0.48530977 + 20 515.70883 -1.8922577 0 770.89742 0.48527105 +Loop time of 0.0883947 on 8 procs for 20 steps with 1000 atoms + +Performance: 97743.448 tau/day, 226.258 timesteps/s +99.2% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0002284 | 0.00024167 | 0.00029922 | 0.0 | 0.27 +Kspace | 0.055725 | 0.063153 | 0.071883 | 2.4 | 71.44 +Neigh | 0.012251 | 0.021348 | 0.029026 | 4.3 | 24.15 +Comm | 0.0025573 | 0.0029825 | 0.0034359 | 0.5 | 3.37 +Output | 0.00034451 | 0.00044149 | 0.00057721 | 0.0 | 0.50 +Modify | 7.8917e-05 | 8.437e-05 | 8.9407e-05 | 0.0 | 0.10 +Other | | 0.0001439 | | | 0.16 + +Nlocal: 125 ave 133 max 113 min +Histogram: 2 0 0 0 0 1 1 0 2 2 +Nghost: 773.625 ave 788 max 764 min +Histogram: 1 1 2 1 1 0 0 0 1 1 +Neighs: 30977.1 ave 50690 max 10447 min +Histogram: 1 1 1 0 1 1 0 0 2 1 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.1 b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.1 new file mode 100644 index 0000000000..4bef247e26 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.1 @@ -0,0 +1,109 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ... + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 10.3 | 10.3 | 10.3 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417141 0 1.6235786 0.0015676581 + 1 18.780412 -10.770009 0 17.372438 0.016719188 + 2 65.294131 -11.084501 0 86.758754 0.06035827 + 3 121.92555 -7.0612033 0 175.64423 0.1140457 + 4 185.71165 -5.8781334 0 272.41077 0.17455524 + 5 286.28339 -4.3800108 0 424.61565 0.26911306 + 6 481.28097 -4.3052012 0 716.89433 0.45262045 + 7 487.26022 -3.8672741 0 726.29216 0.45830216 + 8 493.65478 -3.0242687 0 736.71742 0.46443761 + 9 495.66203 -3.4336343 0 739.31592 0.46613014 + 10 498.41831 -2.8837072 0 743.99613 0.46887706 + 11 499.20944 -2.7724783 0 745.29287 0.46966875 + 12 500.97345 -2.8281484 0 747.88057 0.47126462 + 13 507.46412 -2.7752775 0 757.65971 0.47728761 + 14 525.35729 -2.5749814 0 784.67292 0.49422171 + 15 563.9578 -2.9982381 0 842.09253 0.53043696 + 16 645.47602 -2.5519203 0 964.69389 0.60730795 + 17 647.09276 -2.2568468 0 967.41166 0.60891914 + 18 647.12596 -2.2791003 0 967.43915 0.60900309 + 19 647.24862 -2.2495226 0 967.65253 0.60908339 + 20 647.51175 -2.0239179 0 968.27244 0.60932598 +Loop time of 0.797289 on 1 procs for 20 steps with 1000 atoms + +Performance: 10836.721 tau/day, 25.085 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00022364 | 0.00022364 | 0.00022364 | 0.0 | 0.03 +Kspace | 0.6524 | 0.6524 | 0.6524 | 0.0 | 81.83 +Neigh | 0.14312 | 0.14312 | 0.14312 | 0.0 | 17.95 +Comm | 0.00020337 | 0.00020337 | 0.00020337 | 0.0 | 0.03 +Output | 0.00036621 | 0.00036621 | 0.00036621 | 0.0 | 0.05 +Modify | 0.00058126 | 0.00058126 | 0.00058126 | 0.0 | 0.07 +Other | | 0.0003934 | | | 0.05 + +Nlocal: 1000 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 244342 ave 244342 max 244342 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 244342 +Ave neighs/atom = 244.342 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.2 b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.2 new file mode 100644 index 0000000000..e8e614004d --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.2 @@ -0,0 +1,109 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ... + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.48 | 6.861 | 7.243 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417141 0 1.6235786 0.0015676581 + 1 18.780412 -10.770009 0 17.372438 0.016719188 + 2 65.294131 -11.084501 0 86.758754 0.06035827 + 3 121.92555 -7.0612033 0 175.64423 0.1140457 + 4 185.71165 -5.8781334 0 272.41077 0.17455524 + 5 286.28339 -4.3800108 0 424.61565 0.26911306 + 6 481.28097 -4.3052012 0 716.89433 0.45262045 + 7 487.26022 -3.8672741 0 726.29216 0.45830216 + 8 493.65478 -3.0242687 0 736.71742 0.46443761 + 9 495.66203 -3.4336343 0 739.31592 0.46613014 + 10 498.41831 -2.8837072 0 743.99613 0.46887706 + 11 499.20944 -2.7724783 0 745.29287 0.46966875 + 12 500.97345 -2.8281484 0 747.88057 0.47126462 + 13 507.46412 -2.7752775 0 757.65971 0.47728761 + 14 525.35729 -2.5749814 0 784.67292 0.49422171 + 15 563.9578 -2.9982381 0 842.09253 0.53043696 + 16 645.47602 -2.5519203 0 964.69389 0.60730795 + 17 647.09276 -2.2568468 0 967.41166 0.60891914 + 18 647.12596 -2.2791003 0 967.43915 0.60900309 + 19 647.24862 -2.2495226 0 967.65253 0.60908339 + 20 647.51175 -2.0239179 0 968.27244 0.60932598 +Loop time of 0.701186 on 2 procs for 20 steps with 1000 atoms + +Performance: 12321.981 tau/day, 28.523 timesteps/s +99.7% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00022388 | 0.00022912 | 0.00023437 | 0.0 | 0.03 +Kspace | 0.60189 | 0.62405 | 0.64621 | 2.8 | 89.00 +Neigh | 0.051681 | 0.073973 | 0.096265 | 8.2 | 10.55 +Comm | 0.0016983 | 0.0018919 | 0.0020854 | 0.4 | 0.27 +Output | 0.00034356 | 0.00044572 | 0.00054789 | 0.0 | 0.06 +Modify | 0.00031281 | 0.0003171 | 0.00032139 | 0.0 | 0.05 +Other | | 0.0002786 | | | 0.04 + +Nlocal: 500 ave 509 max 491 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 455.5 ave 467 max 444 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 122171 ave 171834 max 72508 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 244342 +Ave neighs/atom = 244.342 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.4 b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.4 new file mode 100644 index 0000000000..e3f5bf44c9 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.4 @@ -0,0 +1,109 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ... + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.837 | 5.123 | 5.6 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417141 0 1.6235786 0.0015676581 + 1 18.780412 -10.770009 0 17.372438 0.016719188 + 2 65.294131 -11.084501 0 86.758754 0.06035827 + 3 121.92555 -7.0612033 0 175.64423 0.1140457 + 4 185.71165 -5.8781334 0 272.41077 0.17455524 + 5 286.28339 -4.3800108 0 424.61565 0.26911306 + 6 481.28097 -4.3052012 0 716.89433 0.45262045 + 7 487.26022 -3.8672741 0 726.29216 0.45830216 + 8 493.65478 -3.0242687 0 736.71742 0.46443761 + 9 495.66203 -3.4336343 0 739.31592 0.46613014 + 10 498.41831 -2.8837072 0 743.99613 0.46887706 + 11 499.20944 -2.7724783 0 745.29287 0.46966875 + 12 500.97345 -2.8281484 0 747.88057 0.47126462 + 13 507.46412 -2.7752775 0 757.65971 0.47728761 + 14 525.35729 -2.5749814 0 784.67292 0.49422171 + 15 563.9578 -2.9982381 0 842.09253 0.53043696 + 16 645.47602 -2.5519203 0 964.69389 0.60730795 + 17 647.09276 -2.2568468 0 967.41166 0.60891914 + 18 647.12596 -2.2791003 0 967.43915 0.60900309 + 19 647.24862 -2.2495226 0 967.65253 0.60908339 + 20 647.51175 -2.0239179 0 968.27244 0.60932598 +Loop time of 0.666895 on 4 procs for 20 steps with 1000 atoms + +Performance: 12955.555 tau/day, 29.990 timesteps/s +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0002284 | 0.00024879 | 0.00025725 | 0.0 | 0.04 +Kspace | 0.6085 | 0.62278 | 0.6386 | 1.6 | 93.38 +Neigh | 0.023998 | 0.040044 | 0.054552 | 6.2 | 6.00 +Comm | 0.0025489 | 0.0028656 | 0.0031898 | 0.4 | 0.43 +Output | 0.0004077 | 0.00053912 | 0.00071406 | 0.0 | 0.08 +Modify | 0.00017953 | 0.00018525 | 0.00020218 | 0.0 | 0.03 +Other | | 0.0002366 | | | 0.04 + +Nlocal: 250 ave 259 max 240 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 668.75 ave 679 max 657 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Neighs: 61085.5 ave 95363 max 24964 min +Histogram: 1 0 0 1 0 0 0 1 0 1 + +Total # of neighbors = 244342 +Ave neighs/atom = 244.342 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.8 b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.8 new file mode 100644 index 0000000000..22d1140813 --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.fmm.8 @@ -0,0 +1,109 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos fmm 0.001 +kspace_modify scafacos tolerance energy_rel +kspace_modify scafacos fmm_tuning 1 +ScaFaCoS setting fmm inhomogen tuning ... + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver fmm ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.164 | 4.26 | 4.546 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417141 0 1.6235786 0.0015676581 + 1 18.780412 -10.770009 0 17.372438 0.016719188 + 2 65.294131 -11.084501 0 86.758754 0.06035827 + 3 121.92555 -7.0612033 0 175.64423 0.1140457 + 4 185.71165 -5.8781334 0 272.41077 0.17455524 + 5 286.28339 -4.3800108 0 424.61565 0.26911306 + 6 481.28097 -4.3052012 0 716.89433 0.45262045 + 7 487.26022 -3.8672741 0 726.29216 0.45830216 + 8 493.65478 -3.0242687 0 736.71742 0.46443761 + 9 495.66203 -3.4336343 0 739.31592 0.46613014 + 10 498.41831 -2.8837072 0 743.99613 0.46887706 + 11 499.20944 -2.7724783 0 745.29287 0.46966875 + 12 500.97345 -2.8281484 0 747.88057 0.47126462 + 13 507.46412 -2.7752775 0 757.65971 0.47728761 + 14 525.35729 -2.5749814 0 784.67292 0.49422171 + 15 563.9578 -2.9982381 0 842.09253 0.53043696 + 16 645.47602 -2.5519203 0 964.69389 0.60730795 + 17 647.09276 -2.2568468 0 967.41166 0.60891914 + 18 647.12596 -2.2791003 0 967.43915 0.60900309 + 19 647.24862 -2.2495226 0 967.65253 0.60908339 + 20 647.51175 -2.0239179 0 968.27244 0.60932598 +Loop time of 0.569395 on 8 procs for 20 steps with 1000 atoms + +Performance: 15174.000 tau/day, 35.125 timesteps/s +99.3% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00021982 | 0.00023353 | 0.0002408 | 0.0 | 0.04 +Kspace | 0.53679 | 0.54466 | 0.55292 | 0.8 | 95.66 +Neigh | 0.011844 | 0.02033 | 0.028357 | 4.2 | 3.57 +Comm | 0.0028894 | 0.0031579 | 0.0034704 | 0.4 | 0.55 +Output | 0.0005579 | 0.00067073 | 0.0008719 | 0.0 | 0.12 +Modify | 0.0001018 | 0.00011405 | 0.00012612 | 0.0 | 0.02 +Other | | 0.0002268 | | | 0.04 + +Nlocal: 125 ave 137 max 111 min +Histogram: 1 1 0 0 0 2 2 1 0 1 +Nghost: 768.875 ave 788 max 761 min +Histogram: 4 0 2 0 0 0 1 0 0 1 +Neighs: 30542.8 ave 48077 max 10011 min +Histogram: 1 1 1 0 1 1 0 0 0 3 + +Total # of neighbors = 244342 +Ave neighs/atom = 244.342 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.1 b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.1 new file mode 100644 index 0000000000..f8a85c6c6b --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.1 @@ -0,0 +1,107 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance potential + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 10.3 | 10.3 | 10.3 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.0015678854 + 1 18.780041 -10.770002 0 17.371889 0.016718957 + 2 65.289192 -11.084705 0 86.751149 0.060353634 + 3 121.92987 -7.0625759 0 175.64933 0.11404974 + 4 185.78164 -5.8777511 0 272.51603 0.17462194 + 5 286.36221 -4.3820531 0 424.73172 0.26918925 + 6 481.42203 -4.3095567 0 717.10136 0.45274086 + 7 488.59165 -3.8685193 0 728.28607 0.45956865 + 8 497.85288 -3.0417938 0 742.99075 0.46838117 + 9 499.61619 -3.4190063 0 745.25585 0.46983349 + 10 502.63691 -2.8360951 0 750.36531 0.47280815 + 11 504.4847 -2.7628089 0 753.20751 0.47462802 + 12 506.54494 -2.8460319 0 756.21157 0.4765145 + 13 508.2722 -2.7309328 0 758.91497 0.47813761 + 14 510.57053 -2.6094792 0 762.48045 0.48031438 + 15 513.14804 -2.7150819 0 766.23726 0.48275234 + 16 515.78127 -2.3961749 0 770.50206 0.48526336 + 17 515.70267 -2.2982581 0 770.48219 0.48526619 + 18 515.70813 -2.1516075 0 770.63702 0.48530395 + 19 515.74908 -2.0581483 0 770.79185 0.48530979 + 20 515.70881 -1.892235 0 770.89742 0.48527104 +Loop time of 1.06008 on 1 procs for 20 steps with 1000 atoms + +Performance: 8150.306 tau/day, 18.866 timesteps/s +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00022078 | 0.00022078 | 0.00022078 | 0.0 | 0.02 +Kspace | 0.91611 | 0.91611 | 0.91611 | 0.0 | 86.42 +Neigh | 0.14232 | 0.14232 | 0.14232 | 0.0 | 13.43 +Comm | 0.00015092 | 0.00015092 | 0.00015092 | 0.0 | 0.01 +Output | 0.00033736 | 0.00033736 | 0.00033736 | 0.0 | 0.03 +Modify | 0.00056243 | 0.00056243 | 0.00056243 | 0.0 | 0.05 +Other | | 0.0003803 | | | 0.04 + +Nlocal: 1000 ave 1000 max 1000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 247817 ave 247817 max 247817 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:01 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.2 b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.2 new file mode 100644 index 0000000000..bd7e7fee1f --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.2 @@ -0,0 +1,107 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance potential + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.48 | 6.861 | 7.243 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.0015678854 + 1 18.780041 -10.770002 0 17.371889 0.016718957 + 2 65.289192 -11.084705 0 86.751149 0.060353634 + 3 121.92987 -7.0625759 0 175.64933 0.11404974 + 4 185.78164 -5.8777511 0 272.51603 0.17462194 + 5 286.36221 -4.3820531 0 424.73172 0.26918925 + 6 481.42203 -4.3095567 0 717.10136 0.45274086 + 7 488.59165 -3.8685193 0 728.28607 0.45956865 + 8 497.85288 -3.0417938 0 742.99075 0.46838117 + 9 499.61619 -3.4190063 0 745.25585 0.46983349 + 10 502.63691 -2.8360951 0 750.36531 0.47280815 + 11 504.4847 -2.7628089 0 753.20751 0.47462802 + 12 506.54494 -2.8460319 0 756.21157 0.4765145 + 13 508.2722 -2.7309328 0 758.91497 0.47813761 + 14 510.57053 -2.6094792 0 762.48045 0.48031438 + 15 513.14804 -2.7150819 0 766.23726 0.48275234 + 16 515.78127 -2.3961749 0 770.50206 0.48526336 + 17 515.70267 -2.2982581 0 770.48219 0.48526619 + 18 515.70813 -2.1516075 0 770.63702 0.48530395 + 19 515.74908 -2.0581483 0 770.79185 0.48530979 + 20 515.70881 -1.892235 0 770.89742 0.48527104 +Loop time of 0.701267 on 2 procs for 20 steps with 1000 atoms + +Performance: 12320.557 tau/day, 28.520 timesteps/s +99.6% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0002265 | 0.00022769 | 0.00022888 | 0.0 | 0.03 +Kspace | 0.60195 | 0.62374 | 0.64554 | 2.8 | 88.95 +Neigh | 0.05268 | 0.074592 | 0.096504 | 8.0 | 10.64 +Comm | 0.0015199 | 0.0016934 | 0.0018668 | 0.4 | 0.24 +Output | 0.00031519 | 0.00041544 | 0.0005157 | 0.0 | 0.06 +Modify | 0.00029492 | 0.00030565 | 0.00031638 | 0.0 | 0.04 +Other | | 0.000288 | | | 0.04 + +Nlocal: 500 ave 516 max 484 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 456.5 ave 475 max 438 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 123908 ave 172139 max 75678 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.4 b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.4 new file mode 100644 index 0000000000..8a7e591f9a --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.4 @@ -0,0 +1,107 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance potential + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.837 | 5.123 | 5.6 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.0015678854 + 1 18.780041 -10.770002 0 17.371889 0.016718957 + 2 65.289192 -11.084705 0 86.751149 0.060353634 + 3 121.92987 -7.0625759 0 175.64933 0.11404974 + 4 185.78164 -5.8777511 0 272.51603 0.17462194 + 5 286.36221 -4.3820531 0 424.73172 0.26918925 + 6 481.42203 -4.3095567 0 717.10136 0.45274086 + 7 488.59165 -3.8685193 0 728.28607 0.45956865 + 8 497.85288 -3.0417938 0 742.99075 0.46838117 + 9 499.61619 -3.4190063 0 745.25585 0.46983349 + 10 502.63691 -2.8360951 0 750.36531 0.47280815 + 11 504.4847 -2.7628089 0 753.20751 0.47462802 + 12 506.54494 -2.8460319 0 756.21157 0.4765145 + 13 508.2722 -2.7309328 0 758.91497 0.47813761 + 14 510.57053 -2.6094792 0 762.48045 0.48031438 + 15 513.14804 -2.7150819 0 766.23726 0.48275234 + 16 515.78127 -2.3961749 0 770.50206 0.48526336 + 17 515.70267 -2.2982581 0 770.48219 0.48526619 + 18 515.70813 -2.1516075 0 770.63702 0.48530395 + 19 515.74908 -2.0581483 0 770.79185 0.48530979 + 20 515.70881 -1.892235 0 770.89742 0.48527104 +Loop time of 0.427495 on 4 procs for 20 steps with 1000 atoms + +Performance: 20210.785 tau/day, 46.784 timesteps/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0002327 | 0.00023341 | 0.00023437 | 0.0 | 0.05 +Kspace | 0.36897 | 0.38411 | 0.39988 | 1.9 | 89.85 +Neigh | 0.023831 | 0.039796 | 0.055124 | 6.1 | 9.31 +Comm | 0.0022776 | 0.0025444 | 0.0028152 | 0.4 | 0.60 +Output | 0.00033784 | 0.0004344 | 0.00057077 | 0.0 | 0.10 +Modify | 0.00016117 | 0.00016713 | 0.00017095 | 0.0 | 0.04 +Other | | 0.0002093 | | | 0.05 + +Nlocal: 250 ave 259 max 238 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Nghost: 672.25 ave 683 max 663 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Neighs: 61954.2 ave 97157 max 25016 min +Histogram: 1 0 0 1 0 0 1 0 0 1 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 diff --git a/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.8 b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.8 new file mode 100644 index 0000000000..13922c09ac --- /dev/null +++ b/examples/USER/scafacos/log.08Aug18.scafacos.hsph.g++.p2nfft.8 @@ -0,0 +1,107 @@ +LAMMPS (2 Aug 2018) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87) + using 1 OpenMP thread(s) per MPI task +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.hammersley_shphere + orthogonal box = (-50.5 -50.5 -50.5) to (51.5 51.5 51.5) + 2 by 2 by 2 MPI processor grid + reading atoms ... + 1000 atoms +change_box all boundary f f f + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p2nfft 0.001 +kspace_modify scafacos tolerance potential + +timestep 0.005 +thermo 1 + +run 20 +Setting up ScaFaCoS with solver p2nfft ... +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2 + ghost atom cutoff = 2 + binsize = 1, bins = 102 102 102 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.164 | 4.26 | 4.546 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.5 -0.62417787 0 1.6235721 0.0015678854 + 1 18.780041 -10.770002 0 17.371889 0.016718957 + 2 65.289192 -11.084705 0 86.751149 0.060353634 + 3 121.92987 -7.0625759 0 175.64933 0.11404974 + 4 185.78164 -5.8777511 0 272.51603 0.17462194 + 5 286.36221 -4.3820531 0 424.73172 0.26918925 + 6 481.42203 -4.3095567 0 717.10136 0.45274086 + 7 488.59165 -3.8685193 0 728.28607 0.45956865 + 8 497.85288 -3.0417938 0 742.99075 0.46838117 + 9 499.61619 -3.4190063 0 745.25585 0.46983349 + 10 502.63691 -2.8360951 0 750.36531 0.47280815 + 11 504.4847 -2.7628089 0 753.20751 0.47462802 + 12 506.54494 -2.8460319 0 756.21157 0.4765145 + 13 508.2722 -2.7309328 0 758.91497 0.47813761 + 14 510.57053 -2.6094792 0 762.48045 0.48031438 + 15 513.14804 -2.7150819 0 766.23726 0.48275234 + 16 515.78127 -2.3961749 0 770.50206 0.48526336 + 17 515.70267 -2.2982581 0 770.48219 0.48526619 + 18 515.70813 -2.1516075 0 770.63702 0.48530395 + 19 515.74908 -2.0581483 0 770.79185 0.48530979 + 20 515.70881 -1.892235 0 770.89742 0.48527104 +Loop time of 0.242145 on 8 procs for 20 steps with 1000 atoms + +Performance: 35681.038 tau/day, 82.595 timesteps/s +99.2% CPU use with 8 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0002315 | 0.00023672 | 0.00024652 | 0.0 | 0.10 +Kspace | 0.20915 | 0.21666 | 0.22564 | 1.3 | 89.48 +Neigh | 0.012218 | 0.021341 | 0.029026 | 4.3 | 8.81 +Comm | 0.0028954 | 0.0031248 | 0.0033553 | 0.3 | 1.29 +Output | 0.00039291 | 0.00049406 | 0.00066066 | 0.0 | 0.20 +Modify | 8.7976e-05 | 9.2953e-05 | 9.7752e-05 | 0.0 | 0.04 +Other | | 0.0001938 | | | 0.08 + +Nlocal: 125 ave 133 max 113 min +Histogram: 2 0 0 0 0 1 1 0 2 2 +Nghost: 773.625 ave 788 max 764 min +Histogram: 1 1 2 1 1 0 0 0 1 1 +Neighs: 30977.1 ave 50690 max 10447 min +Histogram: 1 1 1 0 1 1 0 0 2 1 + +Total # of neighbors = 247817 +Ave neighs/atom = 247.817 +Neighbor list builds = 19 +Dangerous builds = 18 +Total wall time: 0:00:00 -- GitLab From e08aaa7e397987c370a836723126aca66db05932 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Wed, 8 Aug 2018 15:03:47 -0600 Subject: [PATCH 426/675] added examples for P3M with ScaFaCoS --- examples/USER/scafacos/in.scafacos.cw.p3m | 31 +++++++++++++++++++ examples/USER/scafacos/in.scafacos.p3m | 37 +++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 examples/USER/scafacos/in.scafacos.cw.p3m create mode 100644 examples/USER/scafacos/in.scafacos.p3m diff --git a/examples/USER/scafacos/in.scafacos.cw.p3m b/examples/USER/scafacos/in.scafacos.cw.p3m new file mode 100644 index 0000000000..50ff1a64a8 --- /dev/null +++ b/examples/USER/scafacos/in.scafacos.cw.p3m @@ -0,0 +1,31 @@ + +units lj +atom_style charge + +read_data data.cloud_wall + +velocity all set 0.0 0.0 0.0 mom no + +pair_style zero 1.0 +pair_coeff * * + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve +kspace_style scafacos p3m 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 + +thermo_style custom step atoms cpu temp pe ke etotal ecoul press + +run_style verlet + +#dump simple all custom 1000 id x y z vx vy vz +#dump dmp all custom 1000 part.dump id mol x y z vx vy vz fx fy fz q mass +#dump dmpvtk all vtk 1000 vtk/part_*.vtk id mol x y z vx vy vz fx fy fz q mass +#dump_modify dmpvtk pad 7 + +thermo 10 +run 100 diff --git a/examples/USER/scafacos/in.scafacos.p3m b/examples/USER/scafacos/in.scafacos.p3m new file mode 100644 index 0000000000..874b1d151a --- /dev/null +++ b/examples/USER/scafacos/in.scafacos.p3m @@ -0,0 +1,37 @@ +# Point dipoles in a 2d box + +units lj +atom_style charge + +read_data data.NaCl + +replicate 8 8 8 + +velocity all create 1.5 49893 + +neighbor 1.0 bin +neigh_modify delay 0 + +fix 1 all nve + +# LAMMPS computes pairwise and long-range Coulombics + +#pair_style coul/long 3.0 +#pair_coeff * * +#kspace_style pppm 1.0e-3 + +# Scafacos computes entire long-range Coulombics +# use dummy pair style to perform atom sorting + +pair_style zero 1.0 +pair_coeff * * + +#fix 2 all scafacos p3m tolerance field 0.001 + +kspace_style scafacos p3m 0.001 +kspace_modify scafacos tolerance field + +timestep 0.005 +thermo 10 + +run 100 -- GitLab From d8aa6d534b8025a16c9aec0f7499742ff5e04975 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 8 Aug 2018 16:09:41 -0600 Subject: [PATCH 427/675] Remove hardcoded GPU-direct in KOKKOS package --- doc/src/Speed_kokkos.txt | 9 +++---- doc/src/package.txt | 22 ++++++++++++----- src/KOKKOS/comm_kokkos.cpp | 24 ++++++++++++++++--- src/KOKKOS/gridcomm_kokkos.cpp | 43 ++++++++++++++++++++++++++++++---- src/KOKKOS/kokkos.cpp | 12 ++++++++-- src/KOKKOS/kokkos.h | 1 + 6 files changed, 90 insertions(+), 21 deletions(-) diff --git a/doc/src/Speed_kokkos.txt b/doc/src/Speed_kokkos.txt index d7ae35bc12..c389174db8 100644 --- a/doc/src/Speed_kokkos.txt +++ b/doc/src/Speed_kokkos.txt @@ -102,12 +102,9 @@ the case, especially when using pre-compiled MPI libraries provided by a Linux distribution. This is not a problem when using only a single GPU and a single MPI rank on a desktop. When running with multiple MPI ranks, you may see segmentation faults without GPU-direct support. -Many of those can be avoided by adding the flags '-pk kokkos comm no' -to the LAMMPS command line or using "package kokkos comm on"_package.html -in the input file, however for some KOKKOS enabled styles like -"EAM"_pair_eam.html or "PPPM"_kspace_style.html, this is not the case -and a GPU-direct enabled MPI library is REQUIRED. - +These can be avoided by adding the flags '-pk kokkos comm no gpu/direct no' +to the LAMMPS command line or using "package kokkos comm no gpu/direct no"_package.html +in the input file. Use a C++11 compatible compiler and set KOKKOS_ARCH variable in /src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi for both GPU and CPU as diff --git a/doc/src/package.txt b/doc/src/package.txt index 55f6c6d30f..f2c9e2abcb 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -84,6 +84,9 @@ args = arguments specific to the style :l no = perform communication pack/unpack in non-KOKKOS mode host = perform pack/unpack on host (e.g. with OpenMP threading) device = perform pack/unpack on device (e.g. on GPU) + {gpu/direct} = {off} or {on} + off = do not use GPU-direct + on = use GPU-direct (default) {omp} args = Nthreads keyword value ... Nthread = # of OpenMP threads to associate with each MPI process zero or more keyword/value pairs may be appended @@ -505,6 +508,13 @@ typically faster to let the host handle communication, by using the {host} value. Using {host} instead of {no} will enable use of multiple threads to pack/unpack communicated data. +The {gpu/direct} keyword chooses whether GPU-direct will be used. When +this keyword is set to {on}, buffers in GPU memory are passed directly +through MPI send/receive calls. This reduces overhead of first copying +the data to the host CPU. However GPU-direct is not supported on all +systems, which can lead to segmentation faults and would require +using a value of {off}. + :line The {omp} style invokes settings associated with the use of the @@ -611,12 +621,12 @@ is used. If it is not used, you must invoke the package intel command in your input script or or via the "-pk intel" "command-line switch"_Section_start.html#start_6. -For the KOKKOS package, the option defaults neigh = full, -neigh/qeq = full, newton = off, binsize = 0.0, and comm = device. -These settings are made automatically by the required "-k on" "command-line -switch"_Section_start.html#start_6. You can change them bu using the -package kokkos command in your input script or via the "-pk kokkos" -"command-line switch"_Section_start.html#start_6. +For the KOKKOS package, the option defaults neigh = full, neigh/qeq = +full, newton = off, binsize = 0.0, and comm = device, gpu/direct = on. +These settings are made automatically by the required "-k on" +"command-line switch"_Section_start.html#start_6. You can change them bu +using the package kokkos command in your input script or via the "-pk +kokkos" "command-line switch"_Section_start.html#start_6. For the OMP package, the default is Nthreads = 0 and the option defaults are neigh = yes. These settings are made automatically if diff --git a/src/KOKKOS/comm_kokkos.cpp b/src/KOKKOS/comm_kokkos.cpp index 96d1c64d0d..6190d71b25 100644 --- a/src/KOKKOS/comm_kokkos.cpp +++ b/src/KOKKOS/comm_kokkos.cpp @@ -404,12 +404,30 @@ void CommKokkos::forward_comm_pair_device(Pair *pair) // if self, set recv buffer to send buffer if (sendproc[iswap] != me) { - if (recvnum[iswap]) - MPI_Irecv(k_buf_recv_pair.view().data(),nsize*recvnum[iswap],MPI_DOUBLE, + double* buf_send_pair; + double* buf_recv_pair; + if (lmp->kokkos->gpu_direct) { + buf_send_pair = k_buf_send_pair.view().data(); + buf_recv_pair = k_buf_recv_pair.view().data(); + } else { + k_buf_send_pair.modify(); + k_buf_send_pair.sync(); + buf_send_pair = k_buf_send_pair.h_view.data(); + buf_recv_pair = k_buf_recv_pair.h_view.data(); + } + + if (recvnum[iswap]) { + MPI_Irecv(buf_recv_pair,nsize*recvnum[iswap],MPI_DOUBLE, recvproc[iswap],0,world,&request); + } if (sendnum[iswap]) - MPI_Send(k_buf_send_pair.view().data(),n,MPI_DOUBLE,sendproc[iswap],0,world); + MPI_Send(buf_send_pair,n,MPI_DOUBLE,sendproc[iswap],0,world); if (recvnum[iswap]) MPI_Wait(&request,MPI_STATUS_IGNORE); + + if (!lmp->kokkos->gpu_direct) { + k_buf_recv_pair.modify(); + k_buf_recv_pair.sync(); + } } else k_buf_recv_pair = k_buf_send_pair; // unpack buffer diff --git a/src/KOKKOS/gridcomm_kokkos.cpp b/src/KOKKOS/gridcomm_kokkos.cpp index 847fa5907a..55e31436d9 100644 --- a/src/KOKKOS/gridcomm_kokkos.cpp +++ b/src/KOKKOS/gridcomm_kokkos.cpp @@ -18,6 +18,7 @@ #include "memory_kokkos.h" #include "error.h" #include "kokkos_base.h" +#include "kokkos.h" using namespace LAMMPS_NS; @@ -526,11 +527,28 @@ void GridCommKokkos::forward_comm(KSpace *kspace, int which) DeviceType::fence(); if (swap[m].sendproc != me) { - MPI_Irecv(k_buf2.view().data(),nforward*swap[m].nunpack,MPI_FFT_SCALAR, + MPI_FFT_SCALAR* buf1; + MPI_FFT_SCALAR* buf2; + if (lmp->kokkos->gpu_direct) { + buf1 = k_buf1.view().data(); + buf2 = k_buf2.view().data(); + } else { + k_buf1.modify(); + k_buf1.sync(); + buf1 = k_buf1.h_view.data(); + buf2 = k_buf2.h_view.data(); + } + + MPI_Irecv(buf2,nforward*swap[m].nunpack,MPI_FFT_SCALAR, swap[m].recvproc,0,gridcomm,&request); - MPI_Send(k_buf1.view().data(),nforward*swap[m].npack,MPI_FFT_SCALAR, + MPI_Send(buf1,nforward*swap[m].npack,MPI_FFT_SCALAR, swap[m].sendproc,0,gridcomm); MPI_Wait(&request,MPI_STATUS_IGNORE); + + if (!lmp->kokkos->gpu_direct) { + k_buf2.modify(); + k_buf2.sync(); + } } kspaceKKBase->unpack_forward_kspace_kokkos(which,k_buf2,swap[m].nunpack,k_unpacklist,m); @@ -559,11 +577,28 @@ void GridCommKokkos::reverse_comm(KSpace *kspace, int which) DeviceType::fence(); if (swap[m].recvproc != me) { - MPI_Irecv(k_buf2.view().data(),nreverse*swap[m].npack,MPI_FFT_SCALAR, + MPI_FFT_SCALAR* buf1; + MPI_FFT_SCALAR* buf2; + if (lmp->kokkos->gpu_direct) { + buf1 = k_buf1.view().data(); + buf2 = k_buf2.view().data(); + } else { + k_buf1.modify(); + k_buf1.sync(); + buf1 = k_buf1.h_view.data(); + buf2 = k_buf2.h_view.data(); + } + + MPI_Irecv(buf2,nreverse*swap[m].npack,MPI_FFT_SCALAR, swap[m].sendproc,0,gridcomm,&request); - MPI_Send(k_buf1.view().data(),nreverse*swap[m].nunpack,MPI_FFT_SCALAR, + MPI_Send(buf1,nreverse*swap[m].nunpack,MPI_FFT_SCALAR, swap[m].recvproc,0,gridcomm); MPI_Wait(&request,MPI_STATUS_IGNORE); + + if (!lmp->kokkos->gpu_direct) { + k_buf2.modify(); + k_buf2.sync(); + } } kspaceKKBase->unpack_reverse_kspace_kokkos(which,k_buf2,swap[m].npack,k_packlist,m); diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 7acee89c81..825cf5db50 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -156,11 +156,11 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) } else if (-1 == have_gpu_direct() ) { error->warning(FLERR,"Kokkos with CUDA assumes GPU-direct is available," " but cannot determine if this is the case\n try" - " '-pk kokkos comm no' when getting segmentation faults"); + " '-pk kokkos comm no gpu/direct no' when getting segmentation faults"); } else if ( 0 == have_gpu_direct() ) { error->warning(FLERR,"GPU-direct is NOT available, but some parts of " "Kokkos with CUDA require it\n try" - " '-pk kokkos comm no' when getting segmentation faults"); + " '-pk kokkos comm no gpu/direct no' when getting segmentation faults"); } else { ; // should never get here } @@ -186,6 +186,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) exchange_comm_on_host = 0; forward_comm_on_host = 0; reverse_comm_on_host = 0; + gpu_direct = 0; #ifdef KILL_KOKKOS_ON_SIGSEGV signal(SIGSEGV, my_signal_handler); @@ -216,6 +217,7 @@ void KokkosLMP::accelerator(int narg, char **arg) double binsize = 0.0; exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 0; exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; + gpu_direct = 1; int iarg = 0; while (iarg < narg) { @@ -299,6 +301,12 @@ void KokkosLMP::accelerator(int narg, char **arg) reverse_comm_on_host = 0; } else error->all(FLERR,"Illegal package kokkos command"); iarg += 2; + } else if (strcmp(arg[iarg],"gpu/direct") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal package kokkos command"); + if (strcmp(arg[iarg+1],"off") == 0) gpu_direct = 0; + else if (strcmp(arg[iarg+1],"on") == 0) gpu_direct = 1; + else error->all(FLERR,"Illegal package kokkos command"); + iarg += 2; } else error->all(FLERR,"Illegal package kokkos command"); } diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index 846b7254af..c3c5d0d6e1 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -34,6 +34,7 @@ class KokkosLMP : protected Pointers { int num_threads,ngpu; int numa; int auto_sync; + int gpu_direct; KokkosLMP(class LAMMPS *, int, char **); ~KokkosLMP(); -- GitLab From 1c550d8f39ce3db88050333860395923f406726f Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 8 Aug 2018 16:46:36 -0600 Subject: [PATCH 428/675] Change defaults for GPU-direct to use comm host --- doc/src/Speed_kokkos.txt | 7 +++---- doc/src/package.txt | 11 ++++++----- src/KOKKOS/kokkos.cpp | 17 ++++++++++++++--- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/doc/src/Speed_kokkos.txt b/doc/src/Speed_kokkos.txt index c389174db8..6e64510e44 100644 --- a/doc/src/Speed_kokkos.txt +++ b/doc/src/Speed_kokkos.txt @@ -102,8 +102,8 @@ the case, especially when using pre-compiled MPI libraries provided by a Linux distribution. This is not a problem when using only a single GPU and a single MPI rank on a desktop. When running with multiple MPI ranks, you may see segmentation faults without GPU-direct support. -These can be avoided by adding the flags '-pk kokkos comm no gpu/direct no' -to the LAMMPS command line or using "package kokkos comm no gpu/direct no"_package.html +These can be avoided by adding the flags '-pk kokkos gpu/direct no' +to the LAMMPS command line or using "package kokkos gpu/direct no"_package.html in the input file. Use a C++11 compatible compiler and set KOKKOS_ARCH variable in @@ -273,8 +273,7 @@ to the same GPU with the KOKKOS package, but this is usually only faster if significant portions of the input script have not been ported to use Kokkos. Using CUDA MPS is recommended in this scenario. Using a CUDA-aware MPI library with support for GPU-direct -is highly recommended and for some KOKKOS-enabled styles even required. -Most GPU-direct use can be avoided by using "-pk kokkos comm no". +is highly recommended. GPU-direct use can be avoided by using "-pk kokkos gpu/direct no". As above for multi-core CPUs (and no GPU), if N is the number of physical cores/node, then the number of MPI tasks/node should not exceed N. diff --git a/doc/src/package.txt b/doc/src/package.txt index f2c9e2abcb..19a19156b7 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -489,10 +489,9 @@ packing/unpacking operation. The optimal choice for these keywords depends on the input script and the hardware used. The {no} value is useful for verifying that the -Kokkos-based {host} and {device} values are working correctly. The {no} -value should also be used, in case of using an MPI library that does -not support GPU-direct. It may also be the fastest choice when using -Kokkos styles in MPI-only mode (i.e. with a thread count of 1). +Kokkos-based {host} and {device} values are working correctly. +It may also be the fastest choice when using Kokkos styles in +MPI-only mode (i.e. with a thread count of 1). When running on CPUs or Xeon Phi, the {host} and {device} values work identically. When using GPUs, the {device} value will typically be @@ -513,7 +512,9 @@ this keyword is set to {on}, buffers in GPU memory are passed directly through MPI send/receive calls. This reduces overhead of first copying the data to the host CPU. However GPU-direct is not supported on all systems, which can lead to segmentation faults and would require -using a value of {off}. +using a value of {off}. When the {gpu/direct} keyword is set to {off} +while any of the {comm} keywords are set to {device}, the value for the +{comm} keywords will be automatically changed to {host}. :line diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 825cf5db50..153b011af4 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -156,11 +156,11 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) } else if (-1 == have_gpu_direct() ) { error->warning(FLERR,"Kokkos with CUDA assumes GPU-direct is available," " but cannot determine if this is the case\n try" - " '-pk kokkos comm no gpu/direct no' when getting segmentation faults"); + " '-pk kokkos gpu/direct no' when getting segmentation faults"); } else if ( 0 == have_gpu_direct() ) { error->warning(FLERR,"GPU-direct is NOT available, but some parts of " "Kokkos with CUDA require it\n try" - " '-pk kokkos comm no gpu/direct no' when getting segmentation faults"); + " '-pk kokkos gpu/direct no' when getting segmentation faults"); } else { ; // should never get here } @@ -186,7 +186,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) exchange_comm_on_host = 0; forward_comm_on_host = 0; reverse_comm_on_host = 0; - gpu_direct = 0; + gpu_direct = 1; #ifdef KILL_KOKKOS_ON_SIGSEGV signal(SIGSEGV, my_signal_handler); @@ -310,6 +310,17 @@ void KokkosLMP::accelerator(int narg, char **arg) } else error->all(FLERR,"Illegal package kokkos command"); } + // if "gpu/direct no" and "comm device", change to "comm host" + + if (!gpu_direct) { + if (exchange_comm_classic == 0 && exchange_comm_on_host == 0) + exchange_comm_on_host = 1; + if (forward_comm_classic == 0 && forward_comm_on_host == 0) + forward_comm_on_host = 1; + if (reverse_comm_classic == 0 && reverse_comm_on_host == 0) + reverse_comm_on_host = 1; + } + // set newton flags // set neighbor binsize, same as neigh_modify command -- GitLab From 32658c20d48340afa4fca9813c44a4a95b50c625 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 8 Aug 2018 17:07:12 -0600 Subject: [PATCH 429/675] Fix typo in gridcomm_kokkos --- src/KOKKOS/gridcomm_kokkos.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/KOKKOS/gridcomm_kokkos.cpp b/src/KOKKOS/gridcomm_kokkos.cpp index 55e31436d9..44795b569d 100644 --- a/src/KOKKOS/gridcomm_kokkos.cpp +++ b/src/KOKKOS/gridcomm_kokkos.cpp @@ -527,8 +527,8 @@ void GridCommKokkos::forward_comm(KSpace *kspace, int which) DeviceType::fence(); if (swap[m].sendproc != me) { - MPI_FFT_SCALAR* buf1; - MPI_FFT_SCALAR* buf2; + FFT_SCALAR* buf1; + FFT_SCALAR* buf2; if (lmp->kokkos->gpu_direct) { buf1 = k_buf1.view().data(); buf2 = k_buf2.view().data(); @@ -577,8 +577,8 @@ void GridCommKokkos::reverse_comm(KSpace *kspace, int which) DeviceType::fence(); if (swap[m].recvproc != me) { - MPI_FFT_SCALAR* buf1; - MPI_FFT_SCALAR* buf2; + FFT_SCALAR* buf1; + FFT_SCALAR* buf2; if (lmp->kokkos->gpu_direct) { buf1 = k_buf1.view().data(); buf2 = k_buf2.view().data(); -- GitLab From 6d60075d3bef9f874fed97ef2c3a7412b4a47e0a Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 9 Aug 2018 02:33:35 -0400 Subject: [PATCH 430/675] GPU Package: Use __shfl_xor_sync starting with CUDA 9 --- lib/gpu/lal_preprocessor.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/gpu/lal_preprocessor.h b/lib/gpu/lal_preprocessor.h index 69a8e61bd4..566a451c21 100644 --- a/lib/gpu/lal_preprocessor.h +++ b/lib/gpu/lal_preprocessor.h @@ -119,6 +119,8 @@ #define BLOCK_ELLIPSE 128 #define MAX_SHARED_TYPES 11 +#if (__CUDACC_VER_MAJOR__ < 9) + #ifdef _SINGLE_SINGLE #define shfl_xor __shfl_xor #else @@ -132,6 +134,25 @@ ucl_inline double shfl_xor(double var, int laneMask, int width) { } #endif +#else + +#ifdef _SINGLE_SINGLE +ucl_inline double shfl_xor(double var, int laneMask, int width) { + return __shfl_xor_sync(0xffffffff, var, laneMask, width); +} +#else +ucl_inline double shfl_xor(double var, int laneMask, int width) { + int2 tmp; + tmp.x = __double2hiint(var); + tmp.y = __double2loint(var); + tmp.x = __shfl_xor_sync(0xffffffff,tmp.x,laneMask,width); + tmp.y = __shfl_xor_sync(0xffffffff,tmp.y,laneMask,width); + return __hiloint2double(tmp.x,tmp.y); +} +#endif + +#endif + #endif #endif -- GitLab From 01b81347468fede39abc6e90845827572f116a1c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Aug 2018 09:35:11 +0200 Subject: [PATCH 431/675] Small tweak to GPU direct not available warning --- src/KOKKOS/kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 153b011af4..078b871473 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -159,7 +159,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) " '-pk kokkos gpu/direct no' when getting segmentation faults"); } else if ( 0 == have_gpu_direct() ) { error->warning(FLERR,"GPU-direct is NOT available, but some parts of " - "Kokkos with CUDA require it\n try" + "Kokkos with CUDA require it by default\n try" " '-pk kokkos gpu/direct no' when getting segmentation faults"); } else { ; // should never get here -- GitLab From 65d11171c4ee6afb14b72df7759828af0a700ddc Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 9 Aug 2018 03:36:21 -0400 Subject: [PATCH 432/675] Replace functions which were deprecated since CUDA 5 --- lib/gpu/geryon/nvd_device.h | 114 ++++++++++++++++++++---------------- 1 file changed, 65 insertions(+), 49 deletions(-) diff --git a/lib/gpu/geryon/nvd_device.h b/lib/gpu/geryon/nvd_device.h index 129bdbbdef..42f176bcbf 100644 --- a/lib/gpu/geryon/nvd_device.h +++ b/lib/gpu/geryon/nvd_device.h @@ -48,7 +48,18 @@ struct NVDProperties { int minor; CUDA_INT_TYPE totalGlobalMem; int multiProcessorCount; - CUdevprop_st p; + + int maxThreadsPerBlock; + int maxThreadsDim[3]; + int maxGridSize[3]; + int sharedMemPerBlock; + int totalConstantMemory; + int SIMDWidth; + int memPitch; + int regsPerBlock; + int clockRate; + int textureAlign; + int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; @@ -210,18 +221,18 @@ class UCL_Device { inline double clock_rate() { return clock_rate(_device); } /// Clock rate in GHz inline double clock_rate(const int i) - { return _properties[i].p.clockRate*1e-6;} + { return _properties[i].clockRate*1e-6;} /// Get the maximum number of threads per block inline size_t group_size() { return group_size(_device); } /// Get the maximum number of threads per block inline size_t group_size(const int i) - { return _properties[i].p.maxThreadsPerBlock; } + { return _properties[i].maxThreadsPerBlock; } /// Return the maximum memory pitch in bytes for current device inline size_t max_pitch() { return max_pitch(_device); } /// Return the maximum memory pitch in bytes - inline size_t max_pitch(const int i) { return _properties[i].p.memPitch; } + inline size_t max_pitch(const int i) { return _properties[i].memPitch; } /// Returns false if accelerator cannot be shared by multiple processes /** If it cannot be determined, true is returned **/ @@ -275,49 +286,54 @@ class UCL_Device { UCL_Device::UCL_Device() { CU_SAFE_CALL_NS(cuInit(0)); CU_SAFE_CALL_NS(cuDeviceGetCount(&_num_devices)); - for (int dev=0; dev<_num_devices; ++dev) { - CUdevice m; - CU_SAFE_CALL_NS(cuDeviceGet(&m,dev)); + for (int i=0; i<_num_devices; ++i) { + CUdevice dev; + CU_SAFE_CALL_NS(cuDeviceGet(&dev,i)); int major, minor; - CU_SAFE_CALL_NS(cuDeviceComputeCapability(&major,&minor,m)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&major, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&minor, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR, dev)); if (major==9999) continue; - _properties.push_back(NVDProperties()); - _properties.back().device_id=dev; - _properties.back().major=major; - _properties.back().minor=minor; + NVDProperties prop; + prop.device_id = i; + prop.major=major; + prop.minor=minor; char namecstr[1024]; - CU_SAFE_CALL_NS(cuDeviceGetName(namecstr,1024,m)); - _properties.back().name=namecstr; - - CU_SAFE_CALL_NS(cuDeviceTotalMem(&_properties.back().totalGlobalMem,m)); - CU_SAFE_CALL_NS(cuDeviceGetAttribute(&_properties.back().multiProcessorCount, - CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT, - m)); - CU_SAFE_CALL_NS(cuDeviceGetProperties(&_properties.back().p,m)); + CU_SAFE_CALL_NS(cuDeviceGetName(namecstr,1024,dev)); + prop.name=namecstr; + + CU_SAFE_CALL_NS(cuDeviceTotalMem(&prop.totalGlobalMem,dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.multiProcessorCount, CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT, dev)); + + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.maxThreadsPerBlock, CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.maxThreadsDim[0], CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.maxThreadsDim[1], CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.maxThreadsDim[2], CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.maxGridSize[0], CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.maxGridSize[1], CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.maxGridSize[2], CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.sharedMemPerBlock, CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.totalConstantMemory, CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.SIMDWidth, CU_DEVICE_ATTRIBUTE_WARP_SIZE, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.memPitch, CU_DEVICE_ATTRIBUTE_MAX_PITCH, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.regsPerBlock, CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.clockRate, CU_DEVICE_ATTRIBUTE_CLOCK_RATE, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.textureAlign, CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT, dev)); + #if CUDA_VERSION >= 2020 - CU_SAFE_CALL_NS(cuDeviceGetAttribute( - &_properties.back().kernelExecTimeoutEnabled, - CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT,dev)); - CU_SAFE_CALL_NS(cuDeviceGetAttribute( - &_properties.back().integrated, - CU_DEVICE_ATTRIBUTE_INTEGRATED, dev)); - CU_SAFE_CALL_NS(cuDeviceGetAttribute( - &_properties.back().canMapHostMemory, - CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY, dev)); - CU_SAFE_CALL_NS(cuDeviceGetAttribute(&_properties.back().computeMode, - CU_DEVICE_ATTRIBUTE_COMPUTE_MODE,dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.kernelExecTimeoutEnabled, CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT,dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.integrated, CU_DEVICE_ATTRIBUTE_INTEGRATED, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.canMapHostMemory, CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.computeMode, CU_DEVICE_ATTRIBUTE_COMPUTE_MODE,dev)); #endif #if CUDA_VERSION >= 3010 - CU_SAFE_CALL_NS(cuDeviceGetAttribute( - &_properties.back().concurrentKernels, - CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS, dev)); - CU_SAFE_CALL_NS(cuDeviceGetAttribute( - &_properties.back().ECCEnabled, - CU_DEVICE_ATTRIBUTE_ECC_ENABLED, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.concurrentKernels, CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS, dev)); + CU_SAFE_CALL_NS(cuDeviceGetAttribute(&prop.ECCEnabled, CU_DEVICE_ATTRIBUTE_ECC_ENABLED, dev)); #endif + + _properties.push_back(prop); } _device=-1; _cq.push_back(CUstream()); @@ -393,27 +409,27 @@ void UCL_Device::print_all(std::ostream &out) { << cores(i) << std::endl; #endif out << " Total amount of constant memory: " - << _properties[i].p.totalConstantMemory << " bytes\n"; + << _properties[i].totalConstantMemory << " bytes\n"; out << " Total amount of local/shared memory per block: " - << _properties[i].p.sharedMemPerBlock << " bytes\n"; + << _properties[i].sharedMemPerBlock << " bytes\n"; out << " Total number of registers available per block: " - << _properties[i].p.regsPerBlock << std::endl; + << _properties[i].regsPerBlock << std::endl; out << " Warp size: " - << _properties[i].p.SIMDWidth << std::endl; + << _properties[i].SIMDWidth << std::endl; out << " Maximum number of threads per block: " - << _properties[i].p.maxThreadsPerBlock << std::endl; + << _properties[i].maxThreadsPerBlock << std::endl; out << " Maximum group size (# of threads per block) " - << _properties[i].p.maxThreadsDim[0] << " x " - << _properties[i].p.maxThreadsDim[1] << " x " - << _properties[i].p.maxThreadsDim[2] << std::endl; + << _properties[i].maxThreadsDim[0] << " x " + << _properties[i].maxThreadsDim[1] << " x " + << _properties[i].maxThreadsDim[2] << std::endl; out << " Maximum item sizes (# threads for each dim) " - << _properties[i].p.maxGridSize[0] << " x " - << _properties[i].p.maxGridSize[1] << " x " - << _properties[i].p.maxGridSize[2] << std::endl; + << _properties[i].maxGridSize[0] << " x " + << _properties[i].maxGridSize[1] << " x " + << _properties[i].maxGridSize[2] << std::endl; out << " Maximum memory pitch: " << max_pitch(i) << " bytes\n"; out << " Texture alignment: " - << _properties[i].p.textureAlign << " bytes\n"; + << _properties[i].textureAlign << " bytes\n"; out << " Clock rate: " << clock_rate(i) << " GHz\n"; #if CUDA_VERSION >= 2020 -- GitLab From dd9fed11dc047ab3b1acd512e58666c51f0cdade Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Aug 2018 04:16:22 -0400 Subject: [PATCH 433/675] use '-pk kokkos gpu/direct on/off' consistently in comments and docs --- doc/src/Speed_kokkos.txt | 6 +++--- doc/src/package.txt | 20 ++++++++++---------- src/KOKKOS/kokkos.cpp | 8 ++++---- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/doc/src/Speed_kokkos.txt b/doc/src/Speed_kokkos.txt index 6e64510e44..597ed73e53 100644 --- a/doc/src/Speed_kokkos.txt +++ b/doc/src/Speed_kokkos.txt @@ -102,9 +102,9 @@ the case, especially when using pre-compiled MPI libraries provided by a Linux distribution. This is not a problem when using only a single GPU and a single MPI rank on a desktop. When running with multiple MPI ranks, you may see segmentation faults without GPU-direct support. -These can be avoided by adding the flags '-pk kokkos gpu/direct no' -to the LAMMPS command line or using "package kokkos gpu/direct no"_package.html -in the input file. +These can be avoided by adding the flags '-pk kokkos gpu/direct off' +to the LAMMPS command line or by using the command +"package kokkos gpu/direct off"_package.html in the input file. Use a C++11 compatible compiler and set KOKKOS_ARCH variable in /src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi for both GPU and CPU as diff --git a/doc/src/package.txt b/doc/src/package.txt index 19a19156b7..55bd111b50 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -507,10 +507,10 @@ typically faster to let the host handle communication, by using the {host} value. Using {host} instead of {no} will enable use of multiple threads to pack/unpack communicated data. -The {gpu/direct} keyword chooses whether GPU-direct will be used. When -this keyword is set to {on}, buffers in GPU memory are passed directly -through MPI send/receive calls. This reduces overhead of first copying -the data to the host CPU. However GPU-direct is not supported on all +The {gpu/direct} keyword chooses whether GPU-direct will be used. When +this keyword is set to {on}, buffers in GPU memory are passed directly +through MPI send/receive calls. This reduces overhead of first copying +the data to the host CPU. However GPU-direct is not supported on all systems, which can lead to segmentation faults and would require using a value of {off}. When the {gpu/direct} keyword is set to {off} while any of the {comm} keywords are set to {device}, the value for the @@ -622,12 +622,12 @@ is used. If it is not used, you must invoke the package intel command in your input script or or via the "-pk intel" "command-line switch"_Section_start.html#start_6. -For the KOKKOS package, the option defaults neigh = full, neigh/qeq = -full, newton = off, binsize = 0.0, and comm = device, gpu/direct = on. -These settings are made automatically by the required "-k on" -"command-line switch"_Section_start.html#start_6. You can change them bu -using the package kokkos command in your input script or via the "-pk -kokkos" "command-line switch"_Section_start.html#start_6. +For the KOKKOS package, the option defaults neigh = full, neigh/qeq = +full, newton = off, binsize = 0.0, and comm = device, gpu/direct = on. +These settings are made automatically by the required "-k on" +"command-line switch"_Section_start.html#start_6. You can change them by +using the package kokkos command in your input script or via the "-pk +kokkos" "command-line switch"_Section_start.html#start_6. For the OMP package, the default is Nthreads = 0 and the option defaults are neigh = yes. These settings are made automatically if diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 078b871473..050b1420d3 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -156,16 +156,16 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) } else if (-1 == have_gpu_direct() ) { error->warning(FLERR,"Kokkos with CUDA assumes GPU-direct is available," " but cannot determine if this is the case\n try" - " '-pk kokkos gpu/direct no' when getting segmentation faults"); + " '-pk kokkos gpu/direct off' when getting segmentation faults"); } else if ( 0 == have_gpu_direct() ) { error->warning(FLERR,"GPU-direct is NOT available, but some parts of " "Kokkos with CUDA require it by default\n try" - " '-pk kokkos gpu/direct no' when getting segmentation faults"); + " '-pk kokkos gpu/direct off' when getting segmentation faults"); } else { ; // should never get here } } - + #endif Kokkos::InitArguments args; @@ -310,7 +310,7 @@ void KokkosLMP::accelerator(int narg, char **arg) } else error->all(FLERR,"Illegal package kokkos command"); } - // if "gpu/direct no" and "comm device", change to "comm host" + // if "gpu/direct off" and "comm device", change to "comm host" if (!gpu_direct) { if (exchange_comm_classic == 0 && exchange_comm_on_host == 0) -- GitLab From 9521814441246f55c3d26087bc2e09b597c22978 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Aug 2018 04:46:31 -0400 Subject: [PATCH 434/675] rename Kokkos::gpu_direct to Kokkos::gpu_direct_flag This is for consistency with other parts of LAMMPS where such variables have "flag" in their name. Also reduces confusion with have_gpu_direct() function. When we can safely detect, that GPU-direct is not available, change the default setting of Kokkos::gpu_direct_flag from 1 to 0 --- doc/src/package.txt | 11 ++++++++--- src/KOKKOS/comm_kokkos.cpp | 4 ++-- src/KOKKOS/gridcomm_kokkos.cpp | 8 ++++---- src/KOKKOS/kokkos.cpp | 21 ++++++++++++--------- src/KOKKOS/kokkos.h | 2 +- 5 files changed, 27 insertions(+), 19 deletions(-) diff --git a/doc/src/package.txt b/doc/src/package.txt index 55bd111b50..3d25a64d31 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -512,9 +512,12 @@ this keyword is set to {on}, buffers in GPU memory are passed directly through MPI send/receive calls. This reduces overhead of first copying the data to the host CPU. However GPU-direct is not supported on all systems, which can lead to segmentation faults and would require -using a value of {off}. When the {gpu/direct} keyword is set to {off} -while any of the {comm} keywords are set to {device}, the value for the -{comm} keywords will be automatically changed to {host}. +using a value of {off}. If LAMMPS can safely detect that GPU-direct is +not available (currently only possible with OpenMPI v2.0.0 or later), +then the {gpu/direct} keyword is automatically set to {off} by default. +When the {gpu/direct} keyword is set to {off} while any of the {comm} +keywords are set to {device}, the value for these {comm} keywords will +be automatically changed to {host}. :line @@ -624,6 +627,8 @@ switch"_Section_start.html#start_6. For the KOKKOS package, the option defaults neigh = full, neigh/qeq = full, newton = off, binsize = 0.0, and comm = device, gpu/direct = on. +When LAMMPS can safely detect, that GPU-direct is not available, the +default value of gpu/direct becomes "off". These settings are made automatically by the required "-k on" "command-line switch"_Section_start.html#start_6. You can change them by using the package kokkos command in your input script or via the "-pk diff --git a/src/KOKKOS/comm_kokkos.cpp b/src/KOKKOS/comm_kokkos.cpp index 6190d71b25..21840b7c3e 100644 --- a/src/KOKKOS/comm_kokkos.cpp +++ b/src/KOKKOS/comm_kokkos.cpp @@ -406,7 +406,7 @@ void CommKokkos::forward_comm_pair_device(Pair *pair) if (sendproc[iswap] != me) { double* buf_send_pair; double* buf_recv_pair; - if (lmp->kokkos->gpu_direct) { + if (lmp->kokkos->gpu_direct_flag) { buf_send_pair = k_buf_send_pair.view().data(); buf_recv_pair = k_buf_recv_pair.view().data(); } else { @@ -424,7 +424,7 @@ void CommKokkos::forward_comm_pair_device(Pair *pair) MPI_Send(buf_send_pair,n,MPI_DOUBLE,sendproc[iswap],0,world); if (recvnum[iswap]) MPI_Wait(&request,MPI_STATUS_IGNORE); - if (!lmp->kokkos->gpu_direct) { + if (!lmp->kokkos->gpu_direct_flag) { k_buf_recv_pair.modify(); k_buf_recv_pair.sync(); } diff --git a/src/KOKKOS/gridcomm_kokkos.cpp b/src/KOKKOS/gridcomm_kokkos.cpp index 44795b569d..64a9d6992f 100644 --- a/src/KOKKOS/gridcomm_kokkos.cpp +++ b/src/KOKKOS/gridcomm_kokkos.cpp @@ -529,7 +529,7 @@ void GridCommKokkos::forward_comm(KSpace *kspace, int which) if (swap[m].sendproc != me) { FFT_SCALAR* buf1; FFT_SCALAR* buf2; - if (lmp->kokkos->gpu_direct) { + if (lmp->kokkos->gpu_direct_flag) { buf1 = k_buf1.view().data(); buf2 = k_buf2.view().data(); } else { @@ -545,7 +545,7 @@ void GridCommKokkos::forward_comm(KSpace *kspace, int which) swap[m].sendproc,0,gridcomm); MPI_Wait(&request,MPI_STATUS_IGNORE); - if (!lmp->kokkos->gpu_direct) { + if (!lmp->kokkos->gpu_direct_flag) { k_buf2.modify(); k_buf2.sync(); } @@ -579,7 +579,7 @@ void GridCommKokkos::reverse_comm(KSpace *kspace, int which) if (swap[m].recvproc != me) { FFT_SCALAR* buf1; FFT_SCALAR* buf2; - if (lmp->kokkos->gpu_direct) { + if (lmp->kokkos->gpu_direct_flag) { buf1 = k_buf1.view().data(); buf2 = k_buf2.view().data(); } else { @@ -595,7 +595,7 @@ void GridCommKokkos::reverse_comm(KSpace *kspace, int which) swap[m].recvproc,0,gridcomm); MPI_Wait(&request,MPI_STATUS_IGNORE); - if (!lmp->kokkos->gpu_direct) { + if (!lmp->kokkos->gpu_direct_flag) { k_buf2.modify(); k_buf2.sync(); } diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index 050b1420d3..fb6b8d8d45 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -158,14 +158,12 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) " but cannot determine if this is the case\n try" " '-pk kokkos gpu/direct off' when getting segmentation faults"); } else if ( 0 == have_gpu_direct() ) { - error->warning(FLERR,"GPU-direct is NOT available, but some parts of " - "Kokkos with CUDA require it by default\n try" - " '-pk kokkos gpu/direct off' when getting segmentation faults"); + error->warning(FLERR,"GPU-direct is NOT available, " + "using '-pk kokkos gpu/direct off' by default"); } else { ; // should never get here } } - #endif Kokkos::InitArguments args; @@ -186,7 +184,12 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) exchange_comm_on_host = 0; forward_comm_on_host = 0; reverse_comm_on_host = 0; - gpu_direct = 1; + gpu_direct_flag = 1; + +#if KOKKOS_USE_CUDA + // only if we can safely detect, that GPU-direct is not available, change default + if (0 == have_gpu_direct()) gpu_direct_flag = 0; +#endif #ifdef KILL_KOKKOS_ON_SIGSEGV signal(SIGSEGV, my_signal_handler); @@ -217,7 +220,7 @@ void KokkosLMP::accelerator(int narg, char **arg) double binsize = 0.0; exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 0; exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; - gpu_direct = 1; + gpu_direct_flag = 1; int iarg = 0; while (iarg < narg) { @@ -303,8 +306,8 @@ void KokkosLMP::accelerator(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg],"gpu/direct") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal package kokkos command"); - if (strcmp(arg[iarg+1],"off") == 0) gpu_direct = 0; - else if (strcmp(arg[iarg+1],"on") == 0) gpu_direct = 1; + if (strcmp(arg[iarg+1],"off") == 0) gpu_direct_flag = 0; + else if (strcmp(arg[iarg+1],"on") == 0) gpu_direct_flag = 1; else error->all(FLERR,"Illegal package kokkos command"); iarg += 2; } else error->all(FLERR,"Illegal package kokkos command"); @@ -312,7 +315,7 @@ void KokkosLMP::accelerator(int narg, char **arg) // if "gpu/direct off" and "comm device", change to "comm host" - if (!gpu_direct) { + if (!gpu_direct_flag) { if (exchange_comm_classic == 0 && exchange_comm_on_host == 0) exchange_comm_on_host = 1; if (forward_comm_classic == 0 && forward_comm_on_host == 0) diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index c3c5d0d6e1..cf209c0adb 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -34,7 +34,7 @@ class KokkosLMP : protected Pointers { int num_threads,ngpu; int numa; int auto_sync; - int gpu_direct; + int gpu_direct_flag; KokkosLMP(class LAMMPS *, int, char **); ~KokkosLMP(); -- GitLab From d5594350c4f57dae239ba5c3c00b1f831f3456e2 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Thu, 9 Aug 2018 08:50:11 -0600 Subject: [PATCH 435/675] change zero-size shrink box to original box --- doc/src/compute_property_local.txt | 14 +++++++------- src/balance.cpp | 31 +++++++++++++++++------------- src/rcb.cpp | 2 ++ 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/doc/src/compute_property_local.txt b/doc/src/compute_property_local.txt index e4e6f1ef1e..c4ad0afc95 100644 --- a/doc/src/compute_property_local.txt +++ b/doc/src/compute_property_local.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -48,10 +48,10 @@ compute 1 all property/local atype aatom2 :pre Define a computation that stores the specified attributes as local data so it can be accessed by other "output -commands"_Section_howto.html#howto_15. If the input attributes refer -to bond information, then the number of datums generated, aggregated -across all processors, equals the number of bonds in the system. -Ditto for pairs, angles, etc. +commands"_Howto_output.html. If the input attributes refer to bond +information, then the number of datums generated, aggregated across +all processors, equals the number of bonds in the system. Ditto for +pairs, angles, etc. If multiple attributes are specified then they must all generate the same amount of information, so that the resulting local array has the @@ -140,8 +140,8 @@ the array is the number of bonds, angles, etc. If a single input is specified, a local vector is produced. If two or more inputs are specified, a local array is produced where the number of columns = the number of inputs. The vector or array can be accessed by any command -that uses local values from a compute as input. See "this -section"_Section_howto.html#howto_15 for an overview of LAMMPS output +that uses local values from a compute as input. See the "Howto +output"_Howto_output.html doc page for an overview of LAMMPS output options. The vector or array values will be integers that correspond to the diff --git a/src/balance.cpp b/src/balance.cpp index ed44e3ee0e..2a953caf47 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -28,7 +28,6 @@ #include "rcb.h" #include "irregular.h" #include "domain.h" -#include "neighbor.h" #include "force.h" #include "update.h" #include "group.h" @@ -351,13 +350,13 @@ void Balance::command(int narg, char **arg) domain->set_local_box(); // move particles to new processors via irregular() + // set disable = 0, so weights migrate with atoms for imbfinal calculation if (domain->triclinic) domain->x2lamda(atom->nlocal); Irregular *irregular = new Irregular(lmp); if (wtflag) fixstore->disable = 0; if (style == BISECTION) irregular->migrate_atoms(1,1,rcb->sendproc); else irregular->migrate_atoms(1); - if (wtflag) fixstore->disable = 1; delete irregular; if (domain->triclinic) domain->lamda2x(atom->nlocal); @@ -378,9 +377,11 @@ void Balance::command(int narg, char **arg) } // imbfinal = final imbalance + // set disable = 1, so weights no longer migrate with atoms double maxfinal; double imbfinal = imbalance_factor(maxfinal); + if (wtflag) fixstore->disable = 1; // stats output @@ -541,6 +542,8 @@ void Balance::weight_storage(char *prefix) fixstore = (FixStore *) modify->fix[modify->nfix-1]; } else fixstore = (FixStore *) modify->fix[ifix]; + // do not carry weights with atoms during normal atom migration + fixstore->disable = 1; if (prefix) delete [] fixargs[0]; @@ -644,17 +647,19 @@ int *Balance::bisection(int sortflag) double *shrinklo = &shrinkall[0]; double *shrinkhi = &shrinkall[3]; - // ensure that that the box has at least some extent. - const double nproc_rt = domain->dimension == 3 ? - cbrt(static_cast(comm->nprocs)) : - sqrt(static_cast(comm->nprocs)); - const double min_extent = ceil(nproc_rt)*neighbor->skin; - for (int i = 0; i < domain->dimension; i++) { - if (shrinkall[3+i]-shrinkall[i] < min_extent) { - const double mid = 0.5*(shrinkall[3+i]+shrinkall[i]); - shrinkall[3+i] = std::min(mid + min_extent*0.5, boxhi[i]); - shrinkall[i] = std::max(mid - min_extent*0.5, boxlo[i]); - } + // if shrink size in any dim is zero, use box size in that dim + + if (shrinklo[0] == shrinkhi[0]) { + shrinklo[0] = boxlo[0]; + shrinkhi[0] = boxhi[0]; + } + if (shrinklo[1] == shrinkhi[1]) { + shrinklo[1] = boxlo[1]; + shrinkhi[1] = boxhi[1]; + } + if (shrinklo[2] == shrinkhi[2]) { + shrinklo[2] = boxlo[2]; + shrinkhi[2] = boxhi[2]; } // invoke RCB diff --git a/src/rcb.cpp b/src/rcb.cpp index 4ea70ee914..13e27b6fbf 100644 --- a/src/rcb.cpp +++ b/src/rcb.cpp @@ -241,6 +241,8 @@ void RCB::compute(int dimension, int n, double **x, double *wt, // dim_select = selected cut dimension // valuehalf_select = valuehalf in that dimension // dotmark_select = dot markings in that dimension + // initialize largest = -1.0 to insure a cut in some dim is accepted + // e.g. if current recursed box is size 0 in all dims int dim_select = -1; double largest = -1.0; -- GitLab From a97ad15d22699e22adb269df95aa9fc33ee85081 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Aug 2018 05:09:46 -0400 Subject: [PATCH 436/675] update .gitignore --- src/.gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/.gitignore b/src/.gitignore index 058833ffb3..df3a22a5cd 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -729,6 +729,8 @@ /pair_eam.h /pair_eam_alloy.cpp /pair_eam_alloy.h +/pair_eam_cd.cpp +/pair_eam_cd.h /pair_eam_fs.cpp /pair_eam_fs.h /pair_edip.cpp -- GitLab From df20fbbca499b9a86f65b16d7719929940f8c296 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Aug 2018 16:50:09 +0200 Subject: [PATCH 437/675] fix a bunch of broken linke or make links unique across files --- doc/src/Commands_bond.txt | 2 +- doc/src/Howto_tip4p.txt | 4 ++-- doc/src/Intro_features.txt | 4 ++-- doc/src/Manual.txt | 6 ++++-- doc/src/Packages_details.txt | 8 ++++---- doc/src/Packages_standard.txt | 4 ++-- doc/src/Python_install.txt | 2 +- doc/src/Python_shlib.txt | 3 ++- doc/src/fix_manifoldforce.txt | 2 +- doc/src/fix_property_atom.txt | 3 ++- doc/src/fix_wall_reflect.txt | 4 ++-- 11 files changed, 23 insertions(+), 19 deletions(-) diff --git a/doc/src/Commands_bond.txt b/doc/src/Commands_bond.txt index 314260cb14..48069d3120 100644 --- a/doc/src/Commands_bond.txt +++ b/doc/src/Commands_bond.txt @@ -9,7 +9,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c "Fix styles"_Commands_fix.html, "Compute styles"_Commands_compute.html, "Pair styles"_Commands_pair.html, -"Bond styles"_Commands_bond.html, +"Bond styles"_Commands_bond.html#bond, "Angle styles"_Commands_bond.html#angle, "Dihedral styles"_Commands_bond.html#dihedral, "Improper styles"_Commands_bond.html#improper, diff --git a/doc/src/Howto_tip4p.txt b/doc/src/Howto_tip4p.txt index f9e548e268..9f7f141314 100644 --- a/doc/src/Howto_tip4p.txt +++ b/doc/src/Howto_tip4p.txt @@ -31,7 +31,7 @@ using the "fix shake"_fix_shake.html command. These are the additional parameters (in real units) to set for O and H atoms and the water molecule to run a rigid TIP4P model with a cutoff -"(Jorgensen)"_#Jorgensen1. Note that the OM distance is specified in +"(Jorgensen)"_#Jorgensen5. Note that the OM distance is specified in the "pair_style"_pair_style.html command, not as part of the pair coefficients. @@ -107,6 +107,6 @@ models"_http://en.wikipedia.org/wiki/Water_model. :line -:link(Jorgensen1) +:link(Jorgensen5) [(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983). diff --git a/doc/src/Intro_features.txt b/doc/src/Intro_features.txt index 2bb7e25683..07c549c156 100644 --- a/doc/src/Intro_features.txt +++ b/doc/src/Intro_features.txt @@ -20,7 +20,7 @@ classes of functionality: "Integrators"_#integrate "Diagnostics"_#diag "Output"_#output -"Multi-replica models"_#replica +"Multi-replica models"_#replica1 "Pre- and post-processing"_#prepost "Specialized features (beyond MD itself)"_#special :ul @@ -154,7 +154,7 @@ Output :h4,link(output) time averaging of system-wide quantities atom snapshots in native, XYZ, XTC, DCD, CFG formats :ul -Multi-replica models :h4,link(replica) +Multi-replica models :h4,link(replica1) "nudged elastic band"_neb.html "parallel replica dynamics"_prd.html diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index a5e8b63640..5a70be5c50 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -8,6 +8,8 @@ +

      + "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c @@ -18,8 +20,6 @@ :line -

      - LAMMPS Documentation :c,h1 2 Aug 2018 version :c,h2 @@ -71,6 +71,7 @@ every LAMMPS command. :name: userdoc :includehidden: + Manual_version Intro Section_start Commands @@ -82,6 +83,7 @@ every LAMMPS command. Modify Python Errors + Build_manual .. toctree:: :caption: Index diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index eb92fe4dc4..8b28002c2e 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -49,7 +49,7 @@ as contained in the file name. "PYTHON"_#PYTHON, "QEQ"_#QEQ, "REAX"_#REAX, -"REPLICA"_#REPLICA, +"REPLICA"_#REPLICA2, "RIGID"_#RIGID, "SHOCK"_#SHOCK, "SNAP"_#SNAP, @@ -392,7 +392,7 @@ src/GPU: filenames -> commands src/GPU/README lib/gpu/README "Speed packages"_Speed_packages.html -"Speed gpu"_Speed_gpu.html.html +"Speed gpu"_Speed_gpu.html "Section 2.6 -sf gpu"_Section_start.html#start_6 "Section 2.6 -pk gpu"_Section_start.html#start_6 "package gpu"_package.html @@ -1225,7 +1225,7 @@ examples/reax :ul :line -REPLICA package :link(REPLICA),h4 +REPLICA package :link(REPLICA2),h4 [Contents:] @@ -1373,7 +1373,7 @@ make machine :pre [Supporting info:] src/SPIN: filenames -> commands -"Howto spin"_Howto_spin.html +"Howto spins"_Howto_spins.html "pair_style spin/dmi"_pair_spin_dmi.html "pair_style spin/exchange"_pair_spin_exchange.html "pair_style spin/magelec"_pair_spin_magelec.html diff --git a/doc/src/Packages_standard.txt b/doc/src/Packages_standard.txt index 7e64345602..56ec693185 100644 --- a/doc/src/Packages_standard.txt +++ b/doc/src/Packages_standard.txt @@ -57,9 +57,9 @@ Package, Description, Doc page, Example, Library "PYTHON"_Packages_details.html#PYTHON, embed Python code in an input script, "python"_python.html, python, sys "QEQ"_Packages_details.html#QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, - "REAX"_Packages_details.html#REAX, ReaxFF potential (Fortran), "pair_style reax"_pair_reax.html, reax, int -"REPLICA"_Packages_details.html#REPLICA, multi-replica methods, "Howto replica"_Howto_replica.html, tad, - +"REPLICA"_Packages_details.html#REPLICA2, multi-replica methods, "Howto replica"_Howto_replica.html, tad, - "RIGID"_Packages_details.html#RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, - "SHOCK"_Packages_details.html#SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, - "SNAP"_Packages_details.html#SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, - -"SPIN"_#SPIN, magnetic atomic spin dynamics, "Howto spin"_Howto_spin.html, SPIN, -"SRD"_Packages_details.html#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, - +"SPIN"_#SPIN, magnetic atomic spin dynamics, "Howto spins"_Howto_spins.html, SPIN, -"SRD"_Packages_details.html#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, - "VORONOI"_Packages_details.html#VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext :tb(ea=c,ca1=l) diff --git a/doc/src/Python_install.txt b/doc/src/Python_install.txt index 6591360ae2..85cf267de0 100644 --- a/doc/src/Python_install.txt +++ b/doc/src/Python_install.txt @@ -68,7 +68,7 @@ need to prefix this with "sudo". In this mode you cannot control which Python is invoked by root. Note that if you want Python to be able to load different versions of -the LAMMPS shared library (see "this section"_#py_5 below), you will +the LAMMPS shared library (see "this section"_Python_shlib.html), you will need to manually copy files like liblammps_g++.so into the appropriate system directory. This is not needed if you set the LD_LIBRARY_PATH environment variable as described above. diff --git a/doc/src/Python_shlib.txt b/doc/src/Python_shlib.txt index 1a921e4025..c3b81fa342 100644 --- a/doc/src/Python_shlib.txt +++ b/doc/src/Python_shlib.txt @@ -31,4 +31,5 @@ extra libraries must also be shared libraries. If the LAMMPS shared-library build fails with an error complaining about this, see "Section 2.4"_Section_start.html#start_4 for more details. -Also include CMake info on this +TODO: Also include CMake info on this + diff --git a/doc/src/fix_manifoldforce.txt b/doc/src/fix_manifoldforce.txt index aa32a875bf..2159d6211a 100644 --- a/doc/src/fix_manifoldforce.txt +++ b/doc/src/fix_manifoldforce.txt @@ -24,7 +24,7 @@ fix constrain all manifoldforce sphere 5.0 [Description:] -This fix subtracts each time step from the force the component along the normal of the specified "manifold"_manifolds.html. +This fix subtracts each time step from the force the component along the normal of the specified "manifold"_Howto_manifold.html. This can be used in combination with "minimize"_minimize.html to remove overlap between particles while keeping them (roughly) constrained to the given manifold, e.g. to set up a run with "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html. I have found that only {hftn} and {quickmin} with a very small time step perform adequately though. diff --git a/doc/src/fix_property_atom.txt b/doc/src/fix_property_atom.txt index 136ed6c15e..8a70cd8213 100644 --- a/doc/src/fix_property_atom.txt +++ b/doc/src/fix_property_atom.txt @@ -200,7 +200,8 @@ added classes. :line -:link(isotopes) Example for using per-atom masses with TIP4P water to +:link(isotopes) +Example for using per-atom masses with TIP4P water to study isotope effects. When setting up simulations with the "TIP4P pair styles"_Howto_tip4p.html for water, you have to provide exactly one atom type each to identify the water oxygen and hydrogen diff --git a/doc/src/fix_wall_reflect.txt b/doc/src/fix_wall_reflect.txt index 78be84eb63..e35fac6eeb 100644 --- a/doc/src/fix_wall_reflect.txt +++ b/doc/src/fix_wall_reflect.txt @@ -51,7 +51,7 @@ corresponding component of its velocity is flipped. When used in conjunction with "fix nve"_fix_nve.html and "run_style verlet"_run_style.html, the resultant time-integration algorithm is equivalent to the primitive splitting algorithm (PSA) described by -"Bond"_#Bond. Because each reflection event divides +"Bond"_#Bond1. Because each reflection event divides the corresponding timestep asymmetrically, energy conservation is only satisfied to O(dt), rather than to O(dt^2) as it would be for velocity-Verlet integration without reflective walls. @@ -179,5 +179,5 @@ error. :line -:link(Bond) +:link(Bond1) [(Bond)] Bond and Leimkuhler, SIAM J Sci Comput, 30, p 134 (2007). -- GitLab From a06514372388ad7e7d003259aa51990cda621518 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Aug 2018 16:50:36 +0200 Subject: [PATCH 438/675] create missing "Build_manual.txt" file from 'doc/README' --- doc/src/Build_manual.txt | 125 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 doc/src/Build_manual.txt diff --git a/doc/src/Build_manual.txt b/doc/src/Build_manual.txt new file mode 100644 index 0000000000..3dfc3d08b3 --- /dev/null +++ b/doc/src/Build_manual.txt @@ -0,0 +1,125 @@ +"Previous Section"_Errors.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Manual.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Building the LAMMPS Manual :h2 + +Depending on how you obtained LAMMPS, the doc directory has +2 or 3 sub-directories and optionally 2 PDF files and an ePUB file: + +src content files for LAMMPS documentation +html HTML version of the LAMMPS manual (see html/Manual.html) +tools tools and settings for building the documentation +Manual.pdf large PDF version of entire manual +Developer.pdf small PDF with info about how LAMMPS is structured +LAMMPS.epub Manual in ePUB format :pre + +If you downloaded LAMMPS as a tarball from the web site, all these +directories and files should be included. + +If you downloaded LAMMPS from the public SVN or Git repositories, then +the HTML and PDF files are not included. Instead you need to create +them, in one of three ways: + +(a) You can "fetch" the current HTML and PDF files from the LAMMPS web +site. Just type "make fetch". This should create a html_www dir and +Manual_www.pdf/Developer_www.pdf files. Note that if new LAMMPS +features have been added more recently than the date of your version, +the fetched documentation will include those changes (but your source +code will not, unless you update your local repository). + +(b) You can build the HTML and PDF files yourself, by typing "make +html" followed by "make pdf". Note that the PDF make requires the +HTML files already exist. This requires various tools including +Sphinx, which the build process will attempt to download and install +on your system, if not already available. See more details below. + +(c) You can genererate an older, simpler, less-fancy style of HTML +documentation by typing "make old". This will create an "old" +directory. This can be useful if (b) does not work on your box for +some reason, or you want to quickly view the HTML version of a doc +page you have created or edited yourself within the src directory. +E.g. if you are planning to submit a new feature to LAMMPS. + +:line + +The generation of all documentation is managed by the Makefile in +the doc dir. + +Documentation Build Options: :pre + +make html # generate HTML in html dir using Sphinx +make pdf # generate 2 PDF files (Manual.pdf,Developer.pdf) + # in doc dir via htmldoc and pdflatex +make old # generate old-style HTML pages in old dir via txt2html +make fetch # fetch HTML doc pages and 2 PDF files from web site + # as a tarball and unpack into html dir and 2 PDFs +make epub # generate LAMMPS.epub in ePUB format using Sphinx +make clean # remove intermediate RST files created by HTML build +make clean-all # remove entire build folder and any cached data :pre + +:line + +Installing prerequisites for HTML build :h3 + +To run the HTML documention build toolchain, Python 3 and virtualenv +have to be installed. Here are instructions for common setups: + +Ubuntu :h4 + +sudo apt-get install python-virtualenv :pre + +Fedora (up to version 21) and Red Hat Enterprise Linux or CentOS (up to version 7.x) :h4 + +sudo yum install python3-virtualenv :pre + +Fedora (since version 22) :h4 + +sudo dnf install python3-virtualenv pre + +MacOS X :h4 + +Python 3 :h5 + +Download the latest Python 3 MacOS X package from +"https://www.python.org"_https://www.python.org +and install it. This will install both Python 3 +and pip3. + +virtualenv :h5 + +Once Python 3 is installed, open a Terminal and type + +pip3 install virtualenv :pre + +This will install virtualenv from the Python Package Index. + +:line + +Installing prerequisites for PDF build + +[TBA] + +:line + +Installing prerequisites for epub build :h3 + +ePUB :h4 + +Same as for HTML. This uses the same tools and configuration +files as the HTML tree. + +For converting the generated ePUB file to a mobi format file +(for e-book readers like Kindle, that cannot read ePUB), you +also need to have the 'ebook-convert' tool from the "calibre" +software installed. "http://calibre-ebook.com/"_http://calibre-ebook.com/ +You first create the ePUB file with 'make epub' and then do: + +ebook-convert LAMMPS.epub LAMMPS.mobi :pre + -- GitLab From 1604f011d223b686ea493392568d629fa282d4dc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Aug 2018 16:58:05 +0200 Subject: [PATCH 439/675] fix a couple more broken links --- doc/src/Errors_common.txt | 2 +- doc/src/Howto_bioFF.txt | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/src/Errors_common.txt b/doc/src/Errors_common.txt index 43d1a85a7b..8d04d8b0b4 100644 --- a/doc/src/Errors_common.txt +++ b/doc/src/Errors_common.txt @@ -93,7 +93,7 @@ decide if the WARNING is important or not. A WARNING message that is generated in the middle of a run is only printed to the screen, not to the logfile, to avoid cluttering up thermodynamic output. If LAMMPS crashes or hangs without spitting out an error message first then it -could be a bug (see "this section"_#err_2) or one of the following +could be a bug (see "this section"_Errors_bugs.html) or one of the following cases: LAMMPS runs in the available memory a processor allows to be diff --git a/doc/src/Howto_bioFF.txt b/doc/src/Howto_bioFF.txt index afb8a84f2e..deb5b31441 100644 --- a/doc/src/Howto_bioFF.txt +++ b/doc/src/Howto_bioFF.txt @@ -96,6 +96,10 @@ documentation for the formula it computes. [(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). +:link(howto-Cornell) +[(Cornell)] Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, +Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). + :link(howto-Mayo) [(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 (1990). -- GitLab From f4ea28cd322399cced20b9bb30cbbf5de1e3da36 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Aug 2018 16:58:19 +0200 Subject: [PATCH 440/675] update src/lammps.book file with missing entries --- doc/src/lammps.book | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/lammps.book b/doc/src/lammps.book index c0ca357f21..75a44141df 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -1,6 +1,7 @@ #HTMLDOC 1.8.28 -t pdf14 -f "../Manual.pdf" --book --toclevels 4 --no-numbered --toctitle "Table of Contents" --title --textcolor #000000 --linkcolor #0000ff --linkstyle plain --bodycolor #ffffff --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --header1 ... --footer ..1 --nup 1 --tocheader .t. --tocfooter ..i --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=0 --fontsize 11.0 --fontspacing 1.2 --headingfont Sans --bodyfont Serif --headfootsize 11.0 --headfootfont Sans-Bold --charset iso-8859-15 --links --embedfonts --pagemode document --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 --no-strict --no-overflow Manual.html +Manual_version.html Intro.html Intro_overview.html Intro_features.html @@ -106,6 +107,7 @@ Errors_common.html Errors_bugs.html Errors_messages.html Errors_warnings.html +Build_manual.html lammps_commands.html atom_modify.html -- GitLab From 8e9ea1e4fadeb57268fcc378e3622a378b16cb35 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Aug 2018 17:07:45 +0200 Subject: [PATCH 441/675] formatting tweak for Build the manual page --- doc/src/Build_manual.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/src/Build_manual.txt b/doc/src/Build_manual.txt index 3dfc3d08b3..695ac21a13 100644 --- a/doc/src/Build_manual.txt +++ b/doc/src/Build_manual.txt @@ -13,12 +13,12 @@ Building the LAMMPS Manual :h2 Depending on how you obtained LAMMPS, the doc directory has 2 or 3 sub-directories and optionally 2 PDF files and an ePUB file: -src content files for LAMMPS documentation -html HTML version of the LAMMPS manual (see html/Manual.html) -tools tools and settings for building the documentation -Manual.pdf large PDF version of entire manual -Developer.pdf small PDF with info about how LAMMPS is structured -LAMMPS.epub Manual in ePUB format :pre +src # content files for LAMMPS documentation +html # HTML version of the LAMMPS manual (see html/Manual.html) +tools # tools and settings for building the documentation +Manual.pdf # large PDF version of entire manual +Developer.pdf # small PDF with info about how LAMMPS is structured +LAMMPS.epub # Manual in ePUB format :pre If you downloaded LAMMPS as a tarball from the web site, all these directories and files should be included. -- GitLab From bb25e5d98a8933ecbfb8b762e45759a2bdc4b0b4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 Aug 2018 17:07:57 +0200 Subject: [PATCH 442/675] adjust header levels for Tools section --- doc/src/Tools.txt | 60 +++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt index 85ee531cfd..aa4adb7dc1 100644 --- a/doc/src/Tools.txt +++ b/doc/src/Tools.txt @@ -77,7 +77,7 @@ own sub-directories with their own Makefiles and/or README files. :line :line -amber2lmp tool :h4,link(amber) +amber2lmp tool :h3,link(amber) The amber2lmp sub-directory contains two Python scripts for converting files back-and-forth between the AMBER MD code and LAMMPS. See the @@ -92,7 +92,7 @@ necessary modifications yourself. :line -binary2txt tool :h4,link(binary) +binary2txt tool :h3,link(binary) The file binary2txt.cpp converts one or more binary LAMMPS dump file into ASCII text files. The syntax for running the tool is @@ -105,7 +105,7 @@ since binary files are not compatible across all platforms. :line -ch2lmp tool :h4,link(charmm) +ch2lmp tool :h3,link(charmm) The ch2lmp sub-directory contains tools for converting files back-and-forth between the CHARMM MD code and LAMMPS. @@ -130,7 +130,7 @@ Chris Lorenz (chris.lorenz at kcl.ac.uk), King's College London. :line -chain tool :h4,link(chain) +chain tool :h3,link(chain) The file chain.f creates a LAMMPS data file containing bead-spring polymer chains and/or monomer solvent atoms. It uses a text file @@ -147,7 +147,7 @@ for the "chain benchmark"_Speed_bench.html. :line -colvars tools :h4,link(colvars) +colvars tools :h3,link(colvars) The colvars directory contains a collection of tools for postprocessing data produced by the colvars collective variable library. @@ -169,7 +169,7 @@ gmail.com) at ICTP, Italy. :line -createatoms tool :h4,link(createatoms) +createatoms tool :h3,link(createatoms) The tools/createatoms directory contains a Fortran program called createAtoms.f which can generate a variety of interesting crystal @@ -182,7 +182,7 @@ The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov. :line -doxygen tool :h4,link(doxygen) +doxygen tool :h3,link(doxygen) The tools/doxygen directory contains a shell script called doxygen.sh which can generate a call graph and API lists using @@ -194,7 +194,7 @@ The tool is authored by Nandor Tamaskovics, numericalfreedom at googlemail.com. :line -drude tool :h4,link(drude) +drude tool :h3,link(drude) The tools/drude directory contains a Python script called polarizer.py which can add Drude oscillators to a LAMMPS @@ -207,7 +207,7 @@ at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr :line -eam database tool :h4,link(eamdb) +eam database tool :h3,link(eamdb) The tools/eam_database directory contains a Fortran program that will generate EAM alloy setfl potential files for any combination of 16 @@ -223,7 +223,7 @@ X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, :line -eam generate tool :h4,link(eamgn) +eam generate tool :h3,link(eamgn) The tools/eam_generate directory contains several one-file C programs that convert an analytic formula into a tabulated "embedded atom @@ -236,7 +236,7 @@ The source files and potentials were provided by Gerolf Ziegenhain :line -eff tool :h4,link(eff) +eff tool :h3,link(eff) The tools/eff directory contains various scripts for generating structures and post-processing output for simulations using the @@ -247,7 +247,7 @@ These tools were provided by Andres Jaramillo-Botero at CalTech :line -emacs tool :h4,link(emacs) +emacs tool :h3,link(emacs) The tools/emacs directory contains an Emacs Lisp add-on file for GNU Emacs that enables a lammps-mode for editing input scripts when using GNU Emacs, @@ -258,7 +258,7 @@ These tools were provided by Aidan Thompson at Sandia :line -fep tool :h4,link(fep) +fep tool :h3,link(fep) The tools/fep directory contains Python scripts useful for post-processing results from performing free-energy perturbation @@ -271,7 +271,7 @@ See README file in the tools/fep directory. :line -i-pi tool :h4,link(ipi) +i-pi tool :h3,link(ipi) The tools/i-pi directory contains a version of the i-PI package, with all the LAMMPS-unrelated files removed. It is provided so that it can @@ -288,7 +288,7 @@ calculations with LAMMPS. :line -ipp tool :h4,link(ipp) +ipp tool :h3,link(ipp) The tools/ipp directory contains a Perl script ipp which can be used to facilitate the creation of a complicated file (say, a lammps input @@ -302,7 +302,7 @@ tools/createatoms tool's input file. :line -kate tool :h4,link(kate) +kate tool :h3,link(kate) The file in the tools/kate directory is an add-on to the Kate editor in the KDE suite that allow syntax highlighting of LAMMPS input @@ -313,7 +313,7 @@ The file was provided by Alessandro Luigi Sellerio :line -lmp2arc tool :h4,link(arc) +lmp2arc tool :h3,link(arc) The lmp2arc sub-directory contains a tool for converting LAMMPS output files to the format for Accelrys' Insight MD code (formerly @@ -329,7 +329,7 @@ Greathouse at Sandia (jagreat at sandia.gov). :line -lmp2cfg tool :h4,link(cfg) +lmp2cfg tool :h3,link(cfg) The lmp2cfg sub-directory contains a tool for converting LAMMPS output files into a series of *.cfg files which can be read into the @@ -340,7 +340,7 @@ This tool was written by Ara Kooser at Sandia (askoose at sandia.gov). :line -matlab tool :h4,link(matlab) +matlab tool :h3,link(matlab) The matlab sub-directory contains several "MATLAB"_matlabhome scripts for post-processing LAMMPS output. The scripts include readers for log @@ -358,7 +358,7 @@ These scripts were written by Arun Subramaniyan at Purdue Univ :line -micelle2d tool :h4,link(micelle) +micelle2d tool :h3,link(micelle) The file micelle2d.f creates a LAMMPS data file containing short lipid chains in a monomer solution. It uses a text file containing lipid @@ -375,7 +375,7 @@ definition file. This tool was used to create the system for the :line -moltemplate tool :h4,link(moltemplate) +moltemplate tool :h3,link(moltemplate) The moltemplate sub-directory contains a Python-based tool for building molecular systems based on a text-file description, and @@ -389,7 +389,7 @@ supports it. It has its own WWW page at :line -msi2lmp tool :h4,link(msi) +msi2lmp tool :h3,link(msi) The msi2lmp sub-directory contains a tool for creating LAMMPS template input and data files from BIOVIA's Materias Studio files (formerly Accelrys' @@ -406,7 +406,7 @@ See the README file in the tools/msi2lmp folder for more information. :line -phonon tool :h4,link(phonon) +phonon tool :h3,link(phonon) The phonon sub-directory contains a post-processing tool useful for analyzing the output of the "fix phonon"_fix_phonon.html command in @@ -421,7 +421,7 @@ University. :line -polybond tool :h4,link(polybond) +polybond tool :h3,link(polybond) The polybond sub-directory contains a Python-based tool useful for performing "programmable polymer bonding". The Python file @@ -435,7 +435,7 @@ This tool was written by Zachary Kraus at Georgia Tech. :line -pymol_asphere tool :h4,link(pymol) +pymol_asphere tool :h3,link(pymol) The pymol_asphere sub-directory contains a tool for converting a LAMMPS dump file that contains orientation info for ellipsoidal @@ -453,7 +453,7 @@ This tool was written by Mike Brown at Sandia. :line -python tool :h4,link(pythontools) +python tool :h3,link(pythontools) The python sub-directory contains several Python scripts that perform common LAMMPS post-processing tasks, such as: @@ -469,7 +469,7 @@ README for more info on Pizza.py and how to use these scripts. :line -reax tool :h4,link(reax_tool) +reax tool :h3,link(reax_tool) The reax sub-directory contains stand-alond codes that can post-process the output of the "fix reax/bonds"_fix_reax_bonds.html @@ -480,7 +480,7 @@ These tools were written by Aidan Thompson at Sandia. :line -smd tool :h4,link(smd) +smd tool :h3,link(smd) The smd sub-directory contains a C++ file dump2vtk_tris.cpp and Makefile which can be compiled and used to convert triangle output @@ -496,7 +496,7 @@ Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de). :line -vim tool :h4,link(vim) +vim tool :h3,link(vim) The files in the tools/vim directory are add-ons to the VIM editor that allow easier editing of LAMMPS input scripts. See the README.txt @@ -507,7 +507,7 @@ ziegenhain.com) :line -xmgrace tool :h4,link(xmgrace) +xmgrace tool :h3,link(xmgrace) The files in the tools/xmgrace directory can be used to plot the thermodynamic data in LAMMPS log files via the xmgrace plotting -- GitLab From c97e6537c805abcae1a6e8fd466b07f070b8d2c7 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Thu, 9 Aug 2018 10:19:10 -0600 Subject: [PATCH 443/675] changes to replace Section_start.txt --- doc/src/Build.txt | 50 + doc/src/Build_basics.txt | 318 ++++++ doc/src/Build_cmake.txt | 159 +++ doc/src/Build_extras.txt | 803 +++++++++++++++ doc/src/Build_link.txt | 85 ++ doc/src/Build_make.txt | 66 ++ doc/src/Build_package.txt | 182 ++++ doc/src/Build_settings.txt | 327 +++++++ doc/src/Install.txt | 64 ++ doc/src/Install_git.txt | 120 +++ doc/src/Install_linux.txt | 120 +++ doc/src/Install_mac.txt | 55 ++ doc/src/Install_patch.txt | 67 ++ doc/src/Install_svn.txt | 95 ++ doc/src/Install_tarball.txt | 64 ++ doc/src/Install_windows.txt | 52 + doc/src/Run.txt | 37 + doc/src/Run_basics.txt | 87 ++ doc/src/Run_options.txt | 470 +++++++++ doc/src/Run_output.txt | 176 ++++ doc/src/Run_windows.txt | 73 ++ doc/src/Section_start.txt | 1823 ----------------------------------- 22 files changed, 3470 insertions(+), 1823 deletions(-) create mode 100644 doc/src/Build.txt create mode 100644 doc/src/Build_basics.txt create mode 100644 doc/src/Build_cmake.txt create mode 100644 doc/src/Build_extras.txt create mode 100644 doc/src/Build_link.txt create mode 100644 doc/src/Build_make.txt create mode 100644 doc/src/Build_package.txt create mode 100644 doc/src/Build_settings.txt create mode 100644 doc/src/Install.txt create mode 100644 doc/src/Install_git.txt create mode 100644 doc/src/Install_linux.txt create mode 100644 doc/src/Install_mac.txt create mode 100644 doc/src/Install_patch.txt create mode 100644 doc/src/Install_svn.txt create mode 100644 doc/src/Install_tarball.txt create mode 100644 doc/src/Install_windows.txt create mode 100644 doc/src/Run.txt create mode 100644 doc/src/Run_basics.txt create mode 100644 doc/src/Run_options.txt create mode 100644 doc/src/Run_output.txt create mode 100644 doc/src/Run_windows.txt delete mode 100644 doc/src/Section_start.txt diff --git a/doc/src/Build.txt b/doc/src/Build.txt new file mode 100644 index 0000000000..653c217d4c --- /dev/null +++ b/doc/src/Build.txt @@ -0,0 +1,50 @@ +"Previous Section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Run.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Build LAMMPS :h2 + +LAMMPS can be built as an executable or library from source code via +either CMake or traditional make. As an alternative you can download +a pre-built executable file as described on the "Install"_Install.html +doc page. + + + + + +"Build LAMMPS with CMake"_Build_cmake.html +"Build LAMMPS with make"_Build_make.html +"Link LAMMPS as a library to another code"_Build_link.html :all(b) + +Build options: + +"Basic build options: serial/parallel, compilers, executable/library"_Build_basics.html +"Optional build settings"_Build_settings.html :all(b) +"Include packages in build"_Build_package.html +"Packages with extra build options"_Build_extras.html :all(b) + +If you have problems building LAMMPS, it is often due to software +issues on your local machine. If you can, find a local expert to +help. If you're still stuck, send an email to the "LAMMPS mail +list"_http://lammps.sandia.gov/mail.html. diff --git a/doc/src/Build_basics.txt b/doc/src/Build_basics.txt new file mode 100644 index 0000000000..b2816b7acb --- /dev/null +++ b/doc/src/Build_basics.txt @@ -0,0 +1,318 @@ +"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Basic build options :h3 + +The following topics are covered on this page, for building both with +CMake and make: + +"Serial vs parallel build"_#serial +"Choice of compiler and compile/link options"_#compile +"Build LAMMPS as an executable or a library"_#exe +"Build the LAMMPS documentation"_#doc +"Install LAMMPS after a build"_#install :ul + +:line +:line + +Serial vs parallel build :h3,link(serial) + +LAMMPS can be built to run in parallel using the ubiquitous "MPI +(message-passing +interface)"_https://en.wikipedia.org/wiki/Message_Passing_Interface +library. Or it can built to run on a single processor (serial) +without MPI. It can also be built with support for OpenMP threading +(see more discussion below). + +[CMake variables]: + +-D BUILD_MPI=value # yes or no, default is yes if CMake finds MPI, else no +-D BUILD_OMP=value # yes or no (default) +-D LAMMPS_MACHINE=name # name = mpi, serial, mybox, titan, laptop, etc + # no default value :pre + +The executable CMake creates (after running make) is lmp_name. If the +LAMMPS_MACHINE variable is not specified, the executable is just lmp. +Using BUILD_MPI=no will produce a serial executable. + +[Traditional make]: + +cd lammps/src +make mpi # parallel build, produces lmp_mpi using Makefile.mpi +make serial # serial build, produces lmp_serial using Makefile/serial +make mybox :pre # uses Makefile.mybox, produces lmp_mybox :pre + +Serial build (see src/MAKE/Makefile.serial): + +MPI_INC = -I../STUBS +MPI_PATH = -L../STUBS +MPI_LIB = -lmpi_stubs :pre + +For a parallel build, if MPI is installed on your system in the usual +place (e.g. under /usr/local), you do not need to specify the 3 +variables MPI_INC, MPI_PATH, MPI_LIB. The MPI wrapper on the compiler +(e.g. mpicxx, mpiCC) knows where to find the needed include and +library files. Failing this, these 3 variables can be used to specify +where the mpi.h file (MPI_INC), and the MPI library files (MPI_PATH) +are found, and the name of the library files (MPI_LIB). + +For a serial build, you need to specify the 3 varaibles, as shown +above. + +For a serial LAMMPS build, use the dummy MPI library provided in +src/STUBS. You also need to build the STUBS library for your platform +before making LAMMPS itself. A "make serial" build does this for. +Otherwise, type "make mpi-stubs" from the src directory, or "make" +from the src/STUBS dir. If the build fails, you will need to edit the +STUBS/Makefile for your platform. + +The file STUBS/mpi.c provides a CPU timer function called MPI_Wtime() +that calls gettimeofday() . If your system doesn't support +gettimeofday() , you'll need to insert code to call another timer. +Note that the ANSI-standard function clock() rolls over after an hour +or so, and is therefore insufficient for timing long LAMMPS +simulations. + +[CMake and make info]: + +If you are installing MPI yourself, we recommend Argonne's MPICH2 or +OpenMPI. MPICH can be downloaded from the "Argonne MPI +site"_http://www.mcs.anl.gov/research/projects/mpich2/. OpenMPI can +be downloaded from the "OpenMPI site"_http://www.open-mpi.org. Other +MPI packages should also work. If you are running on a large parallel +machine, your system admins or the vendor should have already +installed a version of MPI, which is likely to be faster than a +self-installed MPICH or OpenMPI, so find out how to build and link +with it. + +The majority of OpenMP (threading) support in LAMMPS is provided by +the USER-OMP package; see the "Speed omp"_Speed_omp.html doc page for +details. + +However, there are a few commands in LAMMPS that have native OpenMP +support. These are commands in the MPIIO, SNAP, USER-COLVARS, and +USER-DPD packages. See the "Packages details"_Packages_details.html +doc page for more info on these packages and the doc pages for their +respective commands for OpenMP threading info. + +TODO: is this the complete list of native OpenMP commands in LAMMPS? + +For CMake, if you use BUILD_OMP=yes, then you can use these packages +and turn on their native OpenMP support at run time, by first setting +the OMP_NUM_THREADS environment variable. + +For make, ... + +TODO: how do we build LAMMPS with make, to include OpenMP support +(separate from USER-OMP package). Akin to CMake with BUILD_OMP=yes. + +:line + +Choice of compiler and compile/link options :h3,link(compile) + +The choice of compiler and compiler flags can be important for +performance. Vendor compilers can produce faster code than +open-source compilers like GNU. On boxes with Intel CPUs, we suggest +trying the "Intel C++ compiler"_intel. + +:link(intel,https://software.intel.com/en-us/intel-compilers) + +On parallel clusters or supercomputers which use "modules" for their +compile/link environments, you can often access different compilers by +simply loading the appropriate module before building LAMMPS. + +[CMake variables]: + +-D CMAKE_CXX_COMPILER=name # name of C++ compiler +-D CMAKE_C_COMPILER=name # name of C compiler +-D CMAKE_Fortran_COMPILER=name # name of Fortran compiler :pre + +-D CMAKE_CXX_FlAGS=string # flags to use with C++ compiler +-D CMAKE_C_FlAGS=string # flags to use with C compiler +-D CMAKE_Fortran_FlAGS=string # flags to use with Fortran compiler :pre + +By default CMake will use a compiler it finds and it will use +optimization flags appropriate to that compiler and any "accelerator +packages"_Speed_packages.html you have included in the build. + +You can tell CMake to look for a specific compiler with these varaible +settings. Likewise you can specify the FLAGS variables if you want to +experiment with alternate optimization flags. You should specify all +3 compilers, so that the small number of LAMMPS source files written +in C or Fortran are built with a compiler consistent with the one used +for all the C++ files: + +Building with GNU Compilers: +cmake ../cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_Fortran_COMPILER=gfortran +Building with Intel Compilers: +cmake ../cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_Fortran_COMPILER=ifort +Building with LLVM/Clang Compilers: +cmake ../cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_Fortran_COMPILER=flang :pre + +NOTE: When the cmake command completes, it prints info to the screen +as to what compilers it is using, and what flags will be used in the +compilation. Note that if the top-level compiler is mpicxx, it is +simply a wrapper on a real compiler. The low-level compiler info is +also in the output. You should check to insure you are using the +compiler and optimization flags that are the ones you want. + +[Makefile.machine settings]: + +Parallel build (see src/MAKE/Makefile.mpi): + +CC = mpicxx +CCFLAGS = -g -O3 +LINK = mpicxx +LINKFLAGS = -g -O :pre + +Serial build (see src/MAKE/Makefile.serial): + +CC = g++ +CCFLAGS = -g -O3 +LINK = g++ +LINKFLAGS = -g -O :pre + +The "compiler/linker settings" section of a Makefile.machine lists +compiler and linker settings for your C++ compiler, including +optimization flags. You should always use mpicxx or mpiCC for +a parallel build, since these compiler wrappers will include +a variety of settings appropriate for your MPI installation. + +NOTE: If you build LAMMPS with any "accelerator +packages"_Speed_packages.html included, they have specific +optimization flags that are either required or recommended for optimal +performance. You need to include these in the CCFLAGS and LINKFLAGS +settings above. For details, see the individual package doc pages +listed on the "Speed packages"_Speed_packages.html doc page. Or +examine these files in the src/MAKE/OPTIONS directory. They +correspond to each of the 5 accelerator packages and their hardware +variants: + +Makefile.opt # OPT package +Makefile.omp # USER-OMP package +Makefile.intel_cpu # USER-INTEL package for CPUs +Makefile.intel_coprocessor # USER-INTEL package for KNLs +Makefile.gpu # GPU package +Makefile.kokkos_cuda_mpi # KOKKOS package for GPUs +Makefile.kokkos_omp # KOKKOS package for CPUs (OpenMP) +Makefile.kokkos_phi # KOKKOS package for KNLs (OpenMP) :pre + +NOTE: When you build LAMMPS for the first time, a long list of *.d +files will be printed out rapidly. This is not an error; it is the +Makefile doing its normal creation of dependencies. + +:line + +Build LAMMPS as an executable or a library :h3,link(exe) + +LAMMPS can be built as either an executable or as a static or shared +library. The library can be called from another application or a +scripting language. See the "Howto couple"_Howto_couple.html doc page +for more info on coupling LAMMPS to other codes. See the +"Python"_Python doc page for more info on wrapping and running LAMMPS +from Python. + +[CMake variables]: + +-D BUILD_EXE=value # yes (default) or no +-D BUILD_LIB=value # yes or no (default) +-D BUILD_SHARED_LIBS=value # yes or no (default) :pre + +Setting BUILD_EXE=no will not produce an executable. Setting +BUILD_LIB=yes will produce a static library named liblammps.a. +Setting both BUILD_LIB=yes and BUILD_SHARED_LIBS=yes will produce a +static library named liblammps.so. + +[Traditional make]: + +cd lammps/src +make machine # build LAMMPS executable lmp_machine +make mode=lib machine # build LAMMPS static lib liblammps_machine.a +make mode=shlib machine # build LAMMPS shared lib liblammps_machine.so :pre + +The two library builds also create generic links liblammps.a and +liblammps.so which point to the liblammps_machine files. + +[CMake and make info]: + +Note that for a shared library to be usable by a calling program, all +the auxiliary libraries it depends on must also exist as shared +libraries. This will be the case for libraries included with LAMMPS, +such as the dummy MPI library in src/STUBS or any package libraries in +lib/packages, since they are always built as shared libraries using +the -fPIC switch. However, if a library like MPI or FFTW does not +exist as a shared library, the shared library build will generate an +error. This means you will need to install a shared library version +of the auxiliary library. The build instructions for the library +should tell you how to do this. + +As an example, here is how to build and install the "MPICH +library"_mpich, a popular open-source version of MPI, distributed by +Argonne National Labs, as a shared library in the default +/usr/local/lib location: + +:link(mpich,http://www-unix.mcs.anl.gov/mpi) + +./configure --enable-shared +make +make install :pre + +You may need to use "sudo make install" in place of the last line if +you do not have write privileges for /usr/local/lib. The end result +should be the file /usr/local/lib/libmpich.so. + +:line + +Build the LAMMPS documentation :h3,link(doc) + +[CMake variable]: + +-D BUILD_DOC=value # yes or no (default) :pre + +This will create the HTML doc pages within the CMake build dir. The +reason to do this is if you want to "install" LAMMPS on a system after +the CMake build, and include the doc pages in the install. + +[Traditional make]: + +cd lammps/doc +make html # html doc pages +make pdf # single Manual.pdf file :pre + +This will create a lammps/doc/html dir with the HTML doc pages so that +you can browse them locally on your system. Type "make" from the the +lammps/doc dir to see other options. + +:line + +Install LAMMPS after a build :h3,link(install) + +After building LAMMPS, you may wish to copy the LAMMPS executable of +library, along with other LAMMPS files (library header, doc files) to +a globally visible place on your system, for others to access. Note +that you may need super-user priveleges (e.g. sudo) if the place you +want to copy files to is protected. + +[CMake variable]: + +cmake CMAKE_INSTALL_PREFIX=path \[options ...\] ~/lammps/cmake +make # perform make after CMake command +make install # perform the installation :pre + +Note that The CMAKE_INSTALL_PREFIX=path is not a -D variable like +other LAMMPS settings, but rather an option to the cmake command. The +path is where to install the LAMMPS files. + +TODO: is this sub-section correct? + +[Traditional make]: + +There is no "install" option in the src/Makefile for LAMMPS. If you +wish to do this you will need to build, then manually copy the +desired LAMMPS files to the appopriate system directories. diff --git a/doc/src/Build_cmake.txt b/doc/src/Build_cmake.txt new file mode 100644 index 0000000000..2bc10d1463 --- /dev/null +++ b/doc/src/Build_cmake.txt @@ -0,0 +1,159 @@ +"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Build LAMMPS with CMake :h3 + +This page is a short summary of how to use CMake to build LAMMPS. +Specific details on CMake variables that enable LAMMPS build options +are given on the pages linked to from the "Build"_Build.html doc page. + +Richard Berger (Temple U) has also written a more comprehensive guide +for how to use CMake to build LAMMPS. If you are new to CMake it is a +good place to start: + +"Bulding LAMMPS using +CMake"_https://github.com/rbberger/lammps/tree/cmake_documentation/cmake + +:line + +Building LAMMPS with CMake is a two-step process. First use CMake to +create a Makefile. Then use the standard make command to build +LAMMPS, which uses the created Makefile. + +mkdir mydir; cd mydir # create a new dir for build +cmake ~/lammps/cmake \[options ...\] # command-line version +ccmake ~/lammps/cmake # curses version (terminal-style menu) +cmake-gui ~/lammps/cmake # GUI version +make # traditional make command +make install # optional, copy LAMMPS executable & library elsewhere :pre + +The make command will compile and link LAMMPS, producing the +executable lmp and the library liblammps.a in mydir. + +If your machine has multiple cores (most do), using a command like +"make -j" will be much faster. + +:line + +There are 3 variants of CMake: a command-line verison, a curses +version (teminal-style menu), and a GUI version. You can use any of +them to build LAMMPS. All the versions produce a Makefile as their +output. See more details on each below. + +You can specify a variety of options with any of the 3 versions, which +affect how the build is performed and what is included in the LAMMPS +executable. Links to pages explaining all the options are listed on +the "Build"_Build.html doc page. + +Perform the build in a new directory you create. It can be a sub-dir +within lammps/cmake or anywhere you wish. You can perform separate +builds, with different options, in as many directories as you like. +All the auxiliary files created by the build (executable, object +files, log files, etc) are stored in that directory or sub-directories +within it that CMake creates. + +NOTE: To perform a CMake build, no packages can be installed in the +LAMMPS src dir. Likewise no style*.h or a lmpinstalledpkgs.h file can +exist, which are auto-generated by "building LAMMPS via traditional +make"_Build_make.html. CMake detects if this is not the case and +generates an error, telling you to type "make no-all purge" in the src +directory to un-install all packages. The purge removes all the +auto-generated *.h files. + +You must have CMake version 2.8 or later on your system to build +LAMMPS. If you include the GPU package, version 3.2 or later is +required. Installation instructions for CMake are below. + +After the initial build, if you edit LAMMPS source files, or add your +own new files to the source directory, you can just re-type make from +your build directory and it will re-compile only the files that have +changed. If you want to change CMake options, you can remove the +cache file CMakeCache.txt in the build directory and start over. Or +you can run cmake again from the same build directory and alter +various options; see details below. + +:line + +[Command-line version of CMake]: + +cmake \[options ...\] ~/lammps/cmake # build from any dir +cmake \[options ...\] .. # build from lammps/cmake/newdir :pre + +The cmake command takes one required argument, which is the LAMMPS +cmake directory which contains the CMakeLists.txt file. + +The argument can be preceeded or followed by various CMake +command-line options. Several useful ones are: + +CAKE_INSTALL_PREFIX=path # where to install LAMMPS executable/lib if desired +CMAKE_BUILD_TYPE=type # type = Release or Debug +-G output # style of output CMake generates +-DVARIABLE=value # setting for a LAMMPS feature to enable +-D VARIABLE=value # ditto, but cannot come after CMakeLists.txt dir + +All the LAMMPS-specific -D variables that a LAMMPS build supports are +described on the pages linked to from the "Build"_Build.html doc page. +All of these variable names are upper-case and their values are +lower-case, e.g. -D LAMMPS_SIZES=smallbig. For boolean values, any of +these forms can be used: yes/no, on/off, 1/0. + +By default CMake generates a Makefile to perform the LAMMPS build. +Alternate forms of build info can be generated via the -G switch, +e.g. Visual Studio on a Windows machine. Type "cmake --help" to see +the "Generator" styles of output your system supports. + +NOTE: When CMake runs, it prints configuration info to the screen. +You should scan this to verify all the features you requested were +enabled, including packages. You can also see what compiler and +compile options will be used for the build. Any errors will also be +flagged, e.g. mis-typed variable names or variable values. + +CMake creates a CMakeCache.txt file when it runs. This stores all the +settings, so that running CMake again from the same directory will +inherit those settings. + +TODO: explain how to change settings on a subsequent cmake in the same +build dir. In that case is "." the final arg of cmake? + +[Curses version (terminal-style menu) of CMake]: + +ccmake ~/lammps/cmake :pre + +TODO: give brief explanation of how to find and toggle options, how to +perform the generate, how to use it multiple times. + +[GUI version of CMake]: + +cmake-gui ~/lammps/cmake :pre + +TODO: give brief explanation of how to find and toggle options, how to +perform the generate, how to use it multiple times. + +:line + +[Installing CMake] + +Check if your machine already has CMake installed: + +which cmake # do you have it? +which cmake3 # version 3 may have this name +cmake --version # what specific version you have :pre + +On clusters or supercomputers which use modules to manage software +packages, do this: + +module list # is a cmake module is already loaded +module avail # is a cmake module available? +module load cmake3 # load cmake module with appropriate name :pre + +If you do not have CMake or a new enough version, you can install it +as follows: + +TODO: give install instructions for Linux, Mac, Windows + diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt new file mode 100644 index 0000000000..82f720791d --- /dev/null +++ b/doc/src/Build_extras.txt @@ -0,0 +1,803 @@ +"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Packages with extra build options :h3 + +When building with some packages, additional steps may be required, +beyond just "-D PKG_NAME=yes" for CMake or "make yes-name" for make, +as described on the "Build_package"_Build_package.html doc page. + +For a CMake build there may be additional variables that can be set. +For a build with make, a provided library under the lammps/lib +directory may need to be built first. Or an external library may need +to be downloaded and built, and you may need to tell LAMMPS where it +is found on your system. + +This is the list of packages that may require additional steps. + +"GPU"_#gpu, +"KIM"_#kim, +"KOKKOS"_#kokkos, +"LATTE"_#latte, +"MEAM"_#meam, +"MSCG"_#mscg, +"OPT"_#opt, +"POEMS"_#poems, +"PYTHON"_#python, +"REAX"_#reax, +"VORONOI"_#voronoi, +"USER-ATC"_#user-atc, +"USER-AWPMD"_#user-awpmd, +"USER-COLVARS"_#user-colvars, +"USER-H5MD"_#user-h5md, +"USER-INTEL"_#user-intel, +"USER-MOLFILE"_#user-molfile, +"USER-NETCDF"_#user-netcdf, +"USER-OMP"_#user-omp, +"USER-QMMM"_#user-qmmm, +"USER-QUIP"_#user-quip, +"USER-SMD"_#user-smd, +"USER-VTK"_#user-vtk :tb(c=6,ea=c) + +:line +:line + +COMPRESS package + +To build with this package you must have the zlib compression library +available on your system. + +[CMake build]: + +If CMake cannot find the library, you can set these variables: + +-D ZLIB_INCLUDE_DIR=path # path to zlib.h header file +-D ZLIB_LIBRARIES=path # path to libzlib.a (.so) file + +[Traditional make]: + +If make cannot find the library, you can edit the +lib/compress/Makefile.lammps file to specify the paths and library +name. + +:line + +GPU package :h3,link(gpu) + +To build with this package, you need to choose options for precision +and which GPU hardware to build for. To build with make you also need +to build the library in lib/gpu first. + +[CMake build]: + +-D GPU_API=value # value = opencl (default) or cuda +-D GPU_PREC=value # precision setting + # value = single or mixed (default) or double +-D OCL_TUNE=value # hardware choice for GPU_API=opencl + # generic (default) or intel (Intel CPU) or phi (Intel Xeon Phi) or fermi (NVIDIA) or kepler (NVIDIA) or cypress (NVIDIA) +-D GPU_ARCH=value # hardware choice for GPU_API=cuda + # value = sm20 (Fermi) or sm30 (Kepler) or sm50 (Maxwell) or sm60 (Pascal) or sm70 (Volta) + # default is Cuda-compiler dependent, but typically Fermi +-D CUDPP_OPT=value # optimization setting for GPU_API=cudea + # enables CUDA Performance Primitives Optimizations + # on (default) or off + +[Traditional make]: + +You must first build the GPU library in lib/gpu. You can do this +manually if you prefer; follow the instructions in lib/gpu/README. +Note that the GPU library uses MPI calls, so you must use the same MPI +library (or the STUBS library) settings as the main LAMMPS code. This +also applies to the -DLAMMPS_BIGBIG, -DLAMMPS_SMALLBIG, or +-DLAMMPS_SMALLSMALL settings in whichever Makefile you use. + +You can also build the library in one step from the lammps/src dir, +using a command like these, which simply invoke the lib/gpu/Install.py +script with the specified args: + +make lib-gpu # print help message +make lib-gpu args="-b" # build GPU library with default Makefile.linux +make lib-gpu args="-m xk7 -p single -o xk7.single" # create new Makefile.xk7.single, altered for single-precision +make lib-gpu args="-m mpi -p mixed -b" # build GPU library with mixed precision using settings in Makefile.mpi :pre + +Note that this procedure starts with a Makefile.machine in lib/gpu, as +specified by the "-m" switch. For your convenience, machine makefiles +for "mpi" and "serial" are provided, which have the same settings as +the corresponding machine makefiles in the main LAMMPS source +folder. In addition you can alter 4 important settings in the +Makefile.machine you start from, via the -h, -a, -p, -e switches, and +also save a copy of the new Makefile, if desired: + +CUDA_HOME = where NVIDIA CUDA software is installed on your system +CUDA_ARCH = what GPU hardware you have (see help message for details) +CUDA_PRECISION = precision (double, mixed, single) +EXTRAMAKE = which Makefile.lammps.* file to copy to Makefile.lammps :ul + +If the library build is successful, 3 files should be created: +lib/gpu/libgpu.a, lib/gpu/nvc_get_devices, and +lib/gpu/Makefile.lammps. The latter has settings that enable LAMMPS +to link with CUDA libraries. If the settings in Makefile.lammps for +your machine are not correct, the LAMMPS build will fail, and +lib/gpu/Makefile.lammps may need to be edited. + +NOTE: If you re-build the GPU library in lib/gpu, you should always +un-install the GPU package, then re-install it and re-build LAMMPS. +This is because the compilation of files in the GPU package use the +library settings from the lib/gpu/Makefile.machine used to build the +GPU library. + +:line + +KIM package :h3,link(kim) + +To build with this package, the KIM library must be downloaded and +built on your system. It must include the KIM models that you want to +use with LAMMPS. + +Note that in LAMMPS lingo, a KIM model driver is a pair style +(e.g. EAM or Tersoff). A KIM model is a pair style for a particular +element or alloy and set of parameters, e.g. EAM for Cu with a +specific EAM potential file. Also note that installing the KIM API +library with all its models, may take around 30 min to build. Of +course you only need to do that once. + +See the list of KIM model drivers here: +https://openkim.org/kim-items/model-drivers/alphabetical + +See the list of all KIM models here: +https://openkim.org/kim-items/models/by-model-drivers + +See the list of example KIM models included by default here: +https://openkim.org/kim-api on the "What is in the KIM API source +package?" page. + +[CMake build]: + +TODO: how to do this + +[Traditional make]: + +You can do download and build the KIM library manually if you prefer; +follow the instructions in lib/kim/README. You can also do it in one +step from the lammps/src dir, using a command like these, which simply +invoke the lib/kim/Install.py script with the specified args. + +make lib-kim # print help message +make lib-kim args="-b " # (re-)install KIM API lib with only example models +make lib-kim args="-b -a Glue_Ercolessi_Adams_Al__MO_324507536345_001" # ditto plus one model +make lib-kim args="-b -a everything" # install KIM API lib with all models +make lib-kim args="-n -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # add one model or model driver +make lib-kim args="-p /usr/local/kim-api" # use an existing KIM API installation at the provided location +make lib-kim args="-p /usr/local/kim-api -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver :pre + +:line + +KOKKOS package :h3,link(kokkos) + +To build with this package, you have to choose a Kokkos setting for +either CPU (multi-threading via OpenMP) or KNL (OpenMP) or GPU (Cuda) +support. + +[CMake build]: + +TODO: how to do this, how to select CPU vs KNL vs GPU, and other +traditional make settings + +[Traditional make]: + + how to choose these 3 things: mode archgpu=N archcpu=SNB + mode = omp or cuda or phi (def = KOKKOS_DEVICES setting in Makefile ) + archgpu = number like 35 (Kepler) or 21 (Fermi) (def = none) + sets KOKKOS_ARCH for GPU to appropriate value + archcpu = SNB or HSW or BGQ or Power7 or Power8 (def = none) + for CPU = SandyBridge, Haswell, BGQ, Power7, Power8 + sets KOKKOS_ARCH for GPU to appropriate value + +For the KOKKOS package, you have 3 choices when building. You can +build with either CPU or KNL or GPU support. Each choice requires +additional settings in your Makefile.machine for the KOKKOS_DEVICES +and KOKKOS_ARCH settings. See the src/MAKE/OPTIONS/Makefile.kokkos* +files for examples. + +For multicore CPUs using OpenMP: + +KOKKOS_DEVICES = OpenMP +KOKKOS_ARCH = HSW # HSW = Haswell, SNB = SandyBridge, BDW = Broadwell, etc :pre + +For Intel KNLs using OpenMP: + +KOKKOS_DEVICES = OpenMP +KOKKOS_ARCH = KNL :pre + +For NVIDIA GPUs using CUDA: + +KOKKOS_DEVICES = Cuda +KOKKOS_ARCH = Pascal60,Power8 # P100 hosted by an IBM Power8, etc +KOKKOS_ARCH = Kepler37,Power8 # K80 hosted by an IBM Power8, etc :pre + +For GPUs, you also need these 2 lines in your Makefile.machine before +the CC line is defined, in this case for use with OpenMPI mpicxx. The +2 lines define a nvcc wrapper compiler, which will use nvcc for +compiling CUDA files or use a C++ compiler for non-Kokkos, non-CUDA +files. + +KOKKOS_ABSOLUTE_PATH = $(shell cd $(KOKKOS_PATH); pwd) +export OMPI_CXX = $(KOKKOS_ABSOLUTE_PATH)/config/nvcc_wrapper +CC = mpicxx :pre + +Once you have an appropriate Makefile.machine, you can +install/un-install the package and build LAMMPS in the usual manner. +Note that you cannot build one executable to run on multiple hardware +targets (CPU or KNL or GPU). You need to build LAMMPS once for each +hardware target, to produce a separate executable. Also note that we +do not recommend building with other acceleration packages installed +(GPU, OPT, USER-INTEL, USER-OMP) when also building with KOKKOS. + +:line + +LATTE package :h3,link(latte) + +To build with this package, you must download and build the LATTE +library. + +[CMake build]: + +TODO: how to do this + +[Traditional make]: + +You can do this manually if you prefer; follow the instructions in +lib/latte/README. You can also do it in one step from the lammps/src +dir, using a command like these, which simply invokes the +lib/latte/Install.py script with the specified args: + +make lib-latte # print help message +make lib-latte args="-b" # download and build in lib/latte/LATTE-master +make lib-latte args="-p $HOME/latte" # use existing LATTE installation in $HOME/latte +make lib-latte args="-b -m gfortran" # download and build in lib/latte and + # copy Makefile.lammps.gfortran to Makefile.lammps +:pre + +Note that 3 symbolic (soft) links, "includelink" and "liblink" and +"filelink.o", are created in lib/latte to point into the LATTE home +dir. When LAMMPS builds in src it will use these links. You should +also check that the Makefile.lammps file you create is appropriate for +the compiler you use on your system to build LATTE. + +:line + +MEAM package :h3,link(meam) + +NOTE: You should test building the MEAM library with both the Intel +and GNU compilers to see if a simulation runs faster with one versus +the other on your system. + +[CMake build]: + +TODO: automatic, i.e. nothing to do? + +[Traditional make]: + +Before building LAMMPS with this package, you must first build the +MEAM library in lib/meam. You can do this manually if you prefer; +follow the instructions in lib/meam/README. You can also do it in one +step from the lammps/src dir, using a command like these, which simply +invoke the lib/meam/Install.py script with the specified args: + +make lib-meam # print help message +make lib-meam args="-m mpi" # build with default Fortran compiler compatible with your MPI library +make lib-meam args="-m serial" # build with compiler compatible with "make serial" (GNU Fortran) +make lib-meam args="-m ifort" # build with Intel Fortran compiler using Makefile.ifort :pre + +The build should produce two files: lib/meam/libmeam.a and +lib/meam/Makefile.lammps. The latter is copied from an existing +Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with +Fortran (MEAM library). Typically the two compilers used for LAMMPS +and the MEAM library need to be consistent (e.g. both Intel or both +GNU compilers). If necessary, you can edit/create a new +lib/meam/Makefile.machine file for your system, which should define an +EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine +file. + +:line + +MSCG package :h3,link(mscg) + +Before building LAMMPS with this package, you must first download and +build the MS-CG library. + +[CMake build]: + +TODO: how to do this + +[Traditional make]: + +Building the MS-CG library and using it from +LAMMPS requires a C++11 compatible compiler and that the GSL +(GNU Scientific Library) headers and libraries are installed on your +machine. See the lib/mscg/README and MSCG/Install files for more details. + +Assuming these libraries are in place, you can do the download and +build of MS-CG manually if you prefer; follow the instructions in +lib/mscg/README. You can also do it in one step from the lammps/src +dir, using a command like these, which simply invoke the +lib/mscg/Install.py script with the specified args: + +make lib-mscg # print help message +make lib-mscg args="-b -m serial" # download and build in lib/mscg/MSCG-release-master + # with the settings compatible with "make serial" +make lib-mscg args="-b -m mpi" # download and build in lib/mscg/MSCG-release-master + # with the settings compatible with "make mpi" +make lib-mscg args="-p /usr/local/mscg-release" # use the existing MS-CG installation in /usr/local/mscg-release :pre + +Note that 2 symbolic (soft) links, "includelink" and "liblink", will be created in lib/mscg +to point to the MS-CG src/installation dir. When LAMMPS is built in src it will use these links. +You should not need to edit the lib/mscg/Makefile.lammps file. + +:line + +OPT package :h3,link(opt) + +[CMake build]: + +TODO: automatic, i.e. nothing to do? + +[Traditional make]: + +NOTE: The compile flag "-restrict" must be used to build LAMMPS with +the OPT package when using Intel compilers. It should be added to +the CCFLAGS line of your Makefile.machine. See Makefile.opt in +src/MAKE/OPTIONS for an example. + +CCFLAGS: add -restrict for Intel compilers :ul + +:line + +POEMS package :h3,link(poems) + +[CMake build]: + +TODO: automatic, i.e. nothing to do? + +[Traditional make]: + +Before building LAMMPS with this package, you must first build the +POEMS library in lib/poems. You can do this manually if you prefer; +follow the instructions in lib/poems/README. You can also do it in +one step from the lammps/src dir, using a command like these, which +simply invoke the lib/poems/Install.py script with the specified args: + +make lib-poems # print help message +make lib-poems args="-m serial" # build with GNU g++ compiler (settings as with "make serial") +make lib-poems args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi") +make lib-poems args="-m icc" # build with Intel icc compiler :pre + +The build should produce two files: lib/poems/libpoems.a and +lib/poems/Makefile.lammps. The latter is copied from an existing +Makefile.lammps.* and has settings needed to build LAMMPS with the +POEMS library (though typically the settings are just blank). If +necessary, you can edit/create a new lib/poems/Makefile.machine file +for your system, which should define an EXTRAMAKE variable to specify +a corresponding Makefile.lammps.machine file. + +:line + +PYTHON package :h3,link(python) + +Building with the PYTHON package assumes you have a Python shared +library available on your system, which needs to be a Python 2 +version, 2.6 or later. Python 3 is not yet supported. See the +lib/python/README for more details. + +[CMake build]: + +TODO: automatic, i.e. nothing to do? + +[Traditional make]: + +The build uses the lib/python/Makefile.lammps file in the compile/link +process. You should only need to create a new Makefile.lammps.* file +(and copy it to Makefile.lammps) if the LAMMPS build fails. + +:line + +REAX package :h3,link(reax) + +[CMake build]: + +TODO: automatic, i.e. nothing to do? + +[Traditional make]: + +Before building LAMMPS with this package, you must first build the +REAX library in lib/reax. You can do this manually if you prefer; +follow the instructions in lib/reax/README. You can also do it in one +step from the lammps/src dir, using a command like these, which simply +invoke the lib/reax/Install.py script with the specified args: + +make lib-reax # print help message +make lib-reax args="-m serial" # build with GNU Fortran compiler (settings as with "make serial") +make lib-reax args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi") +make lib-reax args="-m ifort" # build with Intel ifort compiler :pre + +The build should produce two files: lib/reax/libreax.a and +lib/reax/Makefile.lammps. The latter is copied from an existing +Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with +Fortran (REAX library). Typically the two compilers used for LAMMPS +and the REAX library need to be consistent (e.g. both Intel or both +GNU compilers). If necessary, you can edit/create a new +lib/reax/Makefile.machine file for your system, which should define an +EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine +file. + +:line + +VORONOI package :h3,link(voronoi) + +[CMake build]: + +TODO: how to do this + +[Traditional make]: + +Before building LAMMPS with this package, you must first download and +build the Voro++ library. You can do this manually if you prefer; +follow the instructions in lib/voronoi/README. You can also do it in +one step from the lammps/src dir, using a command like these, which +simply invoke the lib/voronoi/Install.py script with the specified +args: + +make lib-voronoi # print help message +make lib-voronoi args="-b" # download and build the default version in lib/voronoi/voro++- +make lib-voronoi args="-p $HOME/voro++" # use existing Voro++ installation in $HOME/voro++ +make lib-voronoi args="-b -v voro++0.4.6" # download and build the 0.4.6 version in lib/voronoi/voro++-0.4.6 :pre + +Note that 2 symbolic (soft) links, "includelink" and "liblink", are +created in lib/voronoi to point to the Voro++ src dir. When LAMMPS +builds in src it will use these links. You should not need to edit +the lib/voronoi/Makefile.lammps file. + +:line +:line + +USER-ATC package :h3,link(user-atc) + +[CMake build]: + +TODO: automatic, i.e. nothing to do? + +[Traditional make]: + +Before building LAMMPS with this package, you must first build the ATC +library in lib/atc. You can do this manually if you prefer; follow +the instructions in lib/atc/README. You can also do it in one step +from the lammps/src dir, using a command like these, which simply +invoke the lib/atc/Install.py script with the specified args: + +make lib-atc # print help message +make lib-atc args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial") +make lib-atc args="-m mpi" # build with default MPI compiler (settings as with "make mpi") +make lib-atc args="-m icc" # build with Intel icc compiler :pre + +The build should produce two files: lib/atc/libatc.a and +lib/atc/Makefile.lammps. The latter is copied from an existing +Makefile.lammps.* and has settings needed to build LAMMPS with the ATC +library. If necessary, you can edit/create a new +lib/atc/Makefile.machine file for your system, which should define an +EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine +file. + +Note that the Makefile.lammps file has settings for the BLAS and +LAPACK linear algebra libraries. As explained in lib/atc/README these +can either exist on your system, or you can use the files provided in +lib/linalg. In the latter case you also need to build the library +in lib/linalg with a command like these: + +make lib-linalg # print help message +make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial") +make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi") +make lib-linalg args="-m gfortran" # build with GNU Fortran compiler :pre + + +:line + +USER-AWPMD package :h3,link(user-awpmd) + +[CMake build]: + +TODO: automatic, i.e. nothing to do? + +[Traditional make]: + +Before building LAMMPS with this package, you must first build the +AWPMD library in lib/awpmd. You can do this manually if you prefer; +follow the instructions in lib/awpmd/README. You can also do it in +one step from the lammps/src dir, using a command like these, which +simply invoke the lib/awpmd/Install.py script with the specified args: + +make lib-awpmd # print help message +make lib-awpmd args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial") +make lib-awpmd args="-m mpi" # build with default MPI compiler (settings as with "make mpi") +make lib-awpmd args="-m icc" # build with Intel icc compiler :pre + +The build should produce two files: lib/awpmd/libawpmd.a and +lib/awpmd/Makefile.lammps. The latter is copied from an existing +Makefile.lammps.* and has settings needed to build LAMMPS with the +AWPMD library. If necessary, you can edit/create a new +lib/awpmd/Makefile.machine file for your system, which should define +an EXTRAMAKE variable to specify a corresponding +Makefile.lammps.machine file. + +Note that the Makefile.lammps file has settings for the BLAS and +LAPACK linear algebra libraries. As explained in lib/awpmd/README +these can either exist on your system, or you can use the files +provided in lib/linalg. In the latter case you also need to build the +library in lib/linalg with a command like these: + +make lib-linalg # print help message +make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial") +make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi") +make lib-linalg args="-m gfortran" # build with GNU Fortran compiler :pre + +:line + +USER-COLVARS package :h3,link(user-colvars) + +[CMake build]: + +TODO: automatic, i.e. nothing to do? + +[Traditional make]: + +Before building LAMMPS with this package, you must first build the +COLVARS library in lib/colvars. You can do this manually if you +prefer; follow the instructions in lib/colvars/README. You can also +do it in one step from the lammps/src dir, using a command like these, +which simply invoke the lib/colvars/Install.py script with the +specified args: + +make lib-colvars # print help message +make lib-colvars args="-m serial" # build with GNU g++ compiler (settings as with "make serial") +make lib-colvars args="-m mpi" # build with default MPI compiler (settings as with "make mpi") +make lib-colvars args="-m g++-debug" # build with GNU g++ compiler and colvars debugging enabled :pre + +The build should produce two files: lib/colvars/libcolvars.a and +lib/colvars/Makefile.lammps. The latter is copied from an existing +Makefile.lammps.* and has settings needed to build LAMMPS with the +COLVARS library (though typically the settings are just blank). If +necessary, you can edit/create a new lib/colvars/Makefile.machine file +for your system, which should define an EXTRAMAKE variable to specify +a corresponding Makefile.lammps.machine file. + +:line + +USER-H5MD package :h3,link(user-h5md) + +[CMake build]: + +TODO: automatic, i.e. nothing to do? + +[Traditional make]: + +Note that to follow these steps to compile and link to the CH5MD +library, you need the standard HDF5 software package installed on your +system, which should include the h5cc compiler and the HDF5 library. + +Before building LAMMPS with this package, you must first build the +CH5MD library in lib/h5md. You can do this manually if you prefer; +follow the instructions in lib/h5md/README. You can also do it in one +step from the lammps/src dir, using a command like these, which simply +invoke the lib/h5md/Install.py script with the specified args: + +make lib-h5md # print help message +make lib-hm5d args="-m h5cc" # build with h5cc compiler :pre + +The build should produce two files: lib/h5md/libch5md.a and +lib/h5md/Makefile.lammps. The latter is copied from an existing +Makefile.lammps.* and has settings needed to build LAMMPS with the +system HDF5 library. If necessary, you can edit/create a new +lib/h5md/Makefile.machine file for your system, which should define an +EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine +file. + +:line + +USER-INTEL package :h3,link(user-intel) + +[CMake build]: + +TODO: how to choose CPU vs KNL ?? + +[Traditional make]: + +For the USER-INTEL package, you have 2 choices when building. You can +build with either CPU or KNL support. Each choice requires additional +settings in your Makefile.machine for CCFLAGS and LINKFLAGS and +optimized malloc libraries. See the +src/MAKE/OPTIONS/Makefile.intel_cpu and src/MAKE/OPTIONS/Makefile.knl +files for examples. + +For CPUs: + +OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits +CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload \ +-fno-alias -ansi-alias -restrict $(OPTFLAGS) +LINKFLAGS = -g -qopenmp $(OPTFLAGS) +LIB = -ltbbmalloc -ltbbmalloc_proxy :pre + +For KNLs: + +OPTFLAGS = -xMIC-AVX512 -O2 -fp-model fast=2 -no-prec-div -qoverride-limits +CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload \ +-fno-alias -ansi-alias -restrict $(OPTFLAGS) +LINKFLAGS = -g -qopenmp $(OPTFLAGS) +LIB = -ltbbmalloc :pre + +Once you have an appropriate Makefile.machine, you can +install/un-install the package and build LAMMPS in the usual manner. +Note that you cannot build one executable to run on multiple hardware +targets (Intel CPUs or KNL). You need to build LAMMPS once for each +hardware target, to produce a separate executable. + +You should also typically install the USER-OMP package, as it can be +used in tandem with the USER-INTEL package to good effect, as +explained on the "Speed intel"_Speed_intel.html doc page. + +:line + +USER-MOLFILE package :h3,link(user-molfile) + +[CMake build]: + +TODO: automatic, i.e. nothing to do? + +[Traditional make]: + +Note that the lib/molfile/Makefile.lammps file has a setting for a +dynamic loading library libdl.a that should is typically present on +all systems, which is required for LAMMPS to link with this package. +If the setting is not valid for your system, you will need to edit the +Makefile.lammps file. See lib/molfile/README and +lib/molfile/Makefile.lammps for details. + +:line + +USER-NETCDF package :h3,link(user-netcdf) + +[CMake build]: + +TODO: automatic, i.e. nothing to do? + +[Traditional make]: + +Note that to follow these steps, you need the standard NetCDF software +package installed on your system. The lib/netcdf/Makefile.lammps file +has settings for NetCDF include and library files that LAMMPS needs to +compile and linkk with this package. If the settings are not valid +for your system, you will need to edit the Makefile.lammps file. See +lib/netcdf/README for details. + +:line + +USER-OMP package :h3,link(user-omp) + +[CMake build]: + +TODO: automatic, i.e. nothing to do? + +[Traditional make]: + +CCFLAGS: add -fopenmp (and -restrict when using Intel compilers) +LINKFLAGS: add -fopenmp :ul + +:line + +USER-QMMM package :h3,link(user-qmmm) + +The LAMMPS executable these steps produce is not yet functional for a +QM/MM simulation. You must also build Quantum ESPRESSO and create a +new executable which links LAMMPS and Quantum ESPRESSO together. +These are steps 3 and 4 described in the lib/qmmm/README file. + +[CMake build]: + +TODO: how to do this + +[Traditional make]: + +Before building LAMMPS with this package, you must first build the +QMMM library in lib/qmmm. You can do this manually if you prefer; +follow the first two steps explained in lib/qmmm/README. You can +also do it in one step from the lammps/src dir, using a command like +these, which simply invoke the lib/qmmm/Install.py script with the +specified args: + +make lib-qmmm # print help message +make lib-qmmm args="-m serial" # build with GNU Fortran compiler (settings as in "make serial") +make lib-qmmm args="-m mpi" # build with default MPI compiler (settings as in "make mpi") +make lib-qmmm args="-m gfortran" # build with GNU Fortran compiler :pre + +The build should produce two files: lib/qmmm/libqmmm.a and +lib/qmmm/Makefile.lammps. The latter is copied from an existing +Makefile.lammps.* and has settings needed to build LAMMPS with the +QMMM library (though typically the settings are just blank). If +necessary, you can edit/create a new lib/qmmm/Makefile.machine file +for your system, which should define an EXTRAMAKE variable to specify +a corresponding Makefile.lammps.machine file. + +You can then install/un-install the package and build LAMMPS in the +usual manner: + +:line + +USER-QUIP package :h3,link(user-quip) + +[CMake build]: + +TODO: how to do this + +[Traditional make]: + +Note that to follow these steps to compile and link to the QUIP +library, you must first download and build QUIP on your systems. It +can be obtained from GitHub. See step 1 and step 1.1 in the +lib/quip/README file for details on how to do this. Note that it +requires setting two environment variables, QUIP_ROOT and QUIP_ARCH, +which will be accessed by the lib/quip/Makefile.lammps file which is +used when you compile and link LAMMPS with this package. You should +only need to edit this file if the LAMMPS build can not use its +settings to successfully build on your system. + +:line + +USER-SMD package :h3,link(user-smd) + +[CMake build]: + +-D EIGEN3_INCLUDE_DIR + +[Traditional make]: + +Before building LAMMPS with this package, you must first download the +Eigen library. Eigen is a template library, so you do not need to +build it, just download it. You can do this manually if you prefer; +follow the instructions in lib/smd/README. You can also do it in one +step from the lammps/src dir, using a command like these, which simply +invoke the lib/smd/Install.py script with the specified args: + +make lib-smd # print help message +make lib-smd args="-b" # download and build in default lib/smd/eigen-eigen-... +make lib-smd args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3 :pre + +Note that a symbolic (soft) link named "includelink" is created in +lib/smd to point to the Eigen dir. When LAMMPS builds it will use +this link. You should not need to edit the lib/smd/Makefile.lammps file. + +You can then install/un-install the package and build LAMMPS in the +usual manner: + +:line + +USER-VTK package :h3,link(user-vtk) + +[CMake build]: + +TODO: automatic, i.e. nothing to do? + +[Traditional make]: + +The lib/vtk/Makefile.lammps file has settings for accessing VTK files +and its library, which are required for LAMMPS to build and link with +this package. If the settings are not valid for your system, check if +one of the other lib/vtk/Makefile.lammps.* files is compatible and +copy it to Makefile.lammps. If none of the provided files work, you +will need to edit the Makefile.lammps file. + +You can then install/un-install the package and build LAMMPS in the +usual manner: diff --git a/doc/src/Build_link.txt b/doc/src/Build_link.txt new file mode 100644 index 0000000000..1a1b387f3f --- /dev/null +++ b/doc/src/Build_link.txt @@ -0,0 +1,85 @@ +"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Link LAMMPS as a library to another code :h3 + +LAMMPS can be used as a library by another application, including +Python scripts. The files src/library.cpp and library.h define the +C-style API for using LAMMPS as a library. See the "Howto +library"_Howto_library.html doc page for a description of the +interface and how to extend it for your needs. + +The "Build basics"_Build_basics.html doc page explains how to build +LAMMPS as either a shared or static library. This results in one of +these 2 files: + +liblammps.so # shared library +liblammps.a # static library + +:line + +[Link with LAMMPS as a static library]: + +The calling application can link to LAMMPS as a static library with a +link command like this: + +g++ caller.o -L/home/sjplimp/lammps/src -llammps -o caller + +The -L argument is the path to where the liblammps.a file is. The +-llammps argument is shorthand for the file liblammps.a. + +:line + +[Link with LAMMPS as a shared library]: + +If you wish to link to liblammps.so, the operating system finds shared +libraries to load at run-time using the environment variable +LD_LIBRARY_PATH. To enable this you can do one of two things: + +(1) Copy the liblammps.so file to a location the system can find it, +such as /usr/local/lib. I.e. a directory already listed in your +LD_LIBRARY_PATH variable. You can type + +printenv LD_LIBRARY_PATH :pre + +to see what directories are in that list. + +(2) Add the LAMMPS src directory (or the directory you perform CMake +build in) to your LD_LIBRARY_PATH, so that the current version of the +shared library is always available to programs that use it. + +For the csh or tcsh shells, you would add something like this to your +~/.cshrc file: + +setenv LD_LIBRARY_PATH $\{LD_LIBRARY_PATH\}:/home/sjplimp/lammps/src :pre + +:line + +[Calling the LAMMPS library]: + +Either flavor of library (static or shared) allows one or more LAMMPS +objects to be instantiated from the calling program. + +When used from a C++ program, all of LAMMPS is wrapped in a LAMMPS_NS +namespace; you can safely use any of its classes and methods from +within the calling code, as needed. + +When used from a C or Fortran program, the library has a simple +C-style interface, provided in src/library.cpp and src/library.h. + +See the "Python library"_Python_library.html doc page for a +description of the Python interface to LAMMPS, which wraps the C-style +interface. + +See the sample codes in examples/COUPLE/simple for examples of C++ and +C and Fortran codes that invoke LAMMPS thru its library interface. +Other examples in the COUPLE directory use coupling ideas discussed on +the "Howto couple"_Howto_couple.html doc page. + + diff --git a/doc/src/Build_make.txt b/doc/src/Build_make.txt new file mode 100644 index 0000000000..4603a986a3 --- /dev/null +++ b/doc/src/Build_make.txt @@ -0,0 +1,66 @@ +"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Build LAMMPS with make :h3 + +Building LAMMPS with traditional make requires you have a +Makefile.machine file in the src/MAKE directory appropriate for your +system (see below). It can list various options for what to +include/exclude in a LAMMPS build. To include LAMMPS packages you +must install them first, as discussed on the "Build +package"_Build_package.html doc page. If the packages use provided or +external libraries, you must build those libraries before building +LAMMPS. Building "LAMMPS with CMake"_Build_cmake.html can automate +all of this, so we suggest you try it first. + +These commands perform a default LAMMPS build, producing the LAMMPS +executable lmp_serial or lmp_mpi in lammps/src: + +cd lammps/src +make serial # build a serial LAMMPS executable +make mpi # build a parallel LAMMPS executable with MPI +make # see a variety of make options :pre + +If your machine has multiple cores (most do), using a command like +"make -j mpi" will be much faster. + +After the initial build, if you edit LAMMPS source files, or add new +files to the source directory, you can re-type make and it will only +re-compile the files that have changed. + +:line + +The lammps/src/MAKE directory contains all the Makefile.machine files +included in the LAMMPS distribution. Typing "make machine" uses +Makefile.machine. Thus the "make serial" or "make mpi" lines above +use Makefile.serial and Makefile.mpi. Others are in these dirs: + +OPTIONS # Makefiles which enable specific options +MACHINES # Makefiles for specific machines +MINE # customized Makefiles you create :pre + +Typing "make" lists all the available Makefile.machine files. A file +with the same name can appear in multiple dirs (not a good idea). The +order the dirs are searched is as follows: src/MAKE/MINE, src/MAKE, +src/MAKE/OPTIONS, src/MAKE/MACHINES. This gives preference to a +customized file you put in src/MAKE/MINE. + +Makefiles you may wish to try include these (some require a package +first be installed). Many of these include specific compiler flags +for optimized performance: + +make mac # build serial LAMMPS on a Mac +make mac_mpi # build parallel LAMMPS on a Mac +make intel_cpu # build with the USER-INTEL package optimized for CPUs +make knl # build with the USER-INTEL package optimized for KNLs +make opt # build with the OPT package optimized for CPUs +make omp # build with the USER-OMP package optimized for OpenMP +make kokkos_omp # build with the KOKKOS package for OpenMP +make kokkos_cuda_mpi # build with the KOKKOS package for GPUs +make kokkos_phi # build with the KOKKOS package for KNLs :pre diff --git a/doc/src/Build_package.txt b/doc/src/Build_package.txt new file mode 100644 index 0000000000..e59bf2b9d6 --- /dev/null +++ b/doc/src/Build_package.txt @@ -0,0 +1,182 @@ +"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Include packages in build :h3 + +In LAMMPS, a package is a group of files that enable a specific set of +features. For example, force fields for molecular systems or +rigid-body constraints are in packages. In the src directory, each +package is a sub-directory with the package name in capital letters. + +A complete list of packages with brief overviews of each are on the +"Packages details"_Packages_details.html doc page. + +When building LAMMPS, you can choose to include or exclude each +package. In general there is no need to include a package if you +never plan to use its features. + +If you get a run-time error that a LAMMPS command or style is +"Unknown", it is often because the command is contained in a package, +and your build did not include the package. Running LAMMPS with the +"-h command-line switch"_Run_options.html will print all the included +packages and commands for that executable. + +The mechanism for including packages is different for CMake versus a +traditional make. + +For the majority of packages, if you follow the single step below to +include it, you can then build LAMMPS exactly the same as you would +without any packages installed. A few packages may require additional +steps, as explained on the "Build extras"_Build_extras.html doc page. + +These links take you to the extra instructions for those select +packages: + +"GPU"_Build_extras.html#gpu, +"KIM"_Build_extras.html#kim, +"KOKKOS"_Build_extras.html#kokkos, +"LATTE"_Build_extras.html#latte, +"MEAM"_Build_extras.html#meam, +"MSCG"_Build_extras.html#mscg, +"OPT"_Build_extras.html#opt, +"POEMS"_Build_extras.html#poems, +"PYTHON"_Build_extras.html#python, +"REAX"_Build_extras.html#reax, +"VORONOI"_Build_extras.html#voronoi, +"USER-ATC"_Build_extras.html#user-atc, +"USER-AWPMD"_Build_extras.html#user-awpmd, +"USER-COLVARS"_Build_extras.html#user-colvars, +"USER-H5MD"_Build_extras.html#user-h5md, +"USER-INTEL"_Build_extras.html#user-intel, +"USER-MOLFILE"_Build_extras.html#user-molfile, +"USER-NETCDF"_Build_extras.html#user-netcdf, +"USER-OMP"_Build_extras.html#user-omp, +"USER-QMMM"_Build_extras.html#user-qmmm, +"USER-QUIP"_Build_extras.html#user-quip, +"USER-SMD"_Build_extras.html#user-smd, +"USER-VTK"_Build_extras.html#user-vtk :tb(c=6,ea=c) + +[CMake variables]: + +-D PKG_NAME=value # yes or no (default) :pre + +Examples: + +-D PKG_MANYBODY=yes +-D PKG_USER-INTEL=yes :pre + +All standard and user packages are included the same way. Note that +USER packages have a hyphen between USER and the rest of the package +name, not an underscore. + +NOTE: If you toggle back and forth between building with CMake vs +make, no packages in the src directory can be installed when you +invoke cmake. CMake will give an error if that is not the case, +indicating how you can un-install all packages in the src dir. + +[Traditional make]: + +cd lammps/src +make ps # check which packages are currently installed +make yes-name # install a package with name +make no-name # un-install a package with name +make mpi # build LAMMPS with whatever packages are now installed :pre + +Examples: + +make no-rigid +make yes-user-intel :pre + +All standard and user packages are included the same way. + +NOTE: You must always re-build LAMMPS (via make) after installing or +un-installing a package, for the action to take effect. + +NOTE: You cannot install or un-install packages and build LAMMPS in a +single make command with multiple targets, e.g. make yes-colloid mpi. +This is because the make procedure creates a list of source files that +will be out-of-date for the build if the package configuration changes +within the same command. You can include or exclude multiple packages +in a single make command, e.g. make yes-colloid no-manybody. + +[CMake and make info]: + +Any package can be included or excluded in a LAMMPS build, independent +of all other packages. However, some packages include files derived +from files in other packages. LAMMPS checks for this and does the +right thing. Individual files are only included if their dependencies +are already included. Likewise, if a package is excluded, other files +dependent on that package are also excluded. + +NOTE: The one exception is that for a build via make (ok via CMake), +we do not recommend building with the KOKKOS package installed along +with any of the other acceleration packages (GPU, OPT, USER-INTEL, +USER-OMP) also installed. This is because of how Kokkos sometimes +builds using a wrapper compiler which can make it difficult to invoke +all the compile/link flags correctly for both Kokkos and non-Kokkos +files. + +When you download a LAMMPS tarball, three packages are pre-installed +in the src directory: KSPACE, MANYBODY, MOLECULE. This is because +they are so commonly used. When you download LAMMPS source files from +the Git or SVN repositories, no packages are pre-installed. + +:line + +The following make commands are useful for managing package source +files and their installation when building LAMMPS via traditional +make. Just type "make" in lammps/src to see a one-line summary. + +These commands install/un-install sets of packages: + +make yes-all | install all packages +make no-all | un-install all packages +make yes-standard or make yes-std | install standard packages +make no-standard or make no-std| un-install standard packages +make yes-user | install user packages +make no-user | un-install user packages +make yes-lib | install packages that require extra libraries +make no-lib | un-install packages that require extra libraries +make yes-ext | install packages that require external libraries +make no-ext | un-install packages that require external libraries :tb(s=|,a=l) + +which install/un-install various sets of packages. Typing "make +package" will list all the these commands. + +NOTE: Installing or un-installing a package works by simply copying +files back and forth between the main src directory and +sub-directories with the package name (e.g. src/KSPACE, src/USER-ATC), +so that the files are included or excluded when LAMMPS is built. + +The following make commands help manage files that exist in both the +src directory and in package sub-directories. You do not normally +need to use these commands unless you are editing LAMMPS files or are +"installing a patch"_Install_patch.html downloaded from the LAMMPS web +site. + +Type "make package-status" or "make ps" to show which packages are +currently installed. For those that are installed, it will list any +files that are different in the src directory and package +sub-directory. + +Type "make package-installed" or "make pi" to show which packages are +currently installed, without listing the status of packages that are +not installed. + +Type "make package-update" or "make pu" to overwrite src files with +files from the package sub-directories if the package is installed. +It should be used after a "patch has been applied"_Install_patch.html, +since patches only update the files in the package sub-directory, but +not the src files. + +Type "make package-overwrite" to overwrite files in the package +sub-directories with src files. + +Type "make package-diff" to list all differences between pairs of +files in both the src dir and a package dir. diff --git a/doc/src/Build_settings.txt b/doc/src/Build_settings.txt new file mode 100644 index 0000000000..1969e9588b --- /dev/null +++ b/doc/src/Build_settings.txt @@ -0,0 +1,327 @@ +"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Optional build settings :h3 + +LAMMPS can be built with several optional settings. Each sub-section +explain how to do this for either a CMake build or traditional make. + +"FFT library"_#fft for use with "kspace_style pppm"_kspace_style.html command +"Size of LAMMPS data types"_#size +"Read or write compressed files"_#compress +"Output of JPG and PNG files"_#graphics via "dump image"_dump_image.html command +"Output of movie files"_#graphics via "dump_movie"_dump_image.html command +"Memory allocation alignment"_#align +"Workaround for long long integers"_#longlong +"Error handling exceptions"_#exceptions when using LAMMPS as a library :all(b) + +:line +:line + +FFT library :h3,link(fft) + +When the KSPACE package is included in a LAMMPS build, the +"kspace_style pppm"_kspace_style.html command performs 3d FFTs which +require use of an FFT library to compute 1d FFTs. The KISS FFT +library is included with LAMMPS but other libraries are typically +faster if they are available on your system. See details on other FFT +libraries below. + +[CMake variables]: + +-D FFT=value # kiss or fftw3 or fftw2 or mkl, default is fftw3 if found, else kiss +-D FFT_SINGLE=value # yes or no (default), no = double precision +-D FFT_PACK=value # array (default) or pointer or memcpy :pre + +Usually these settings are all that is needed. If CMake cannot find +the FFT library, you can set these variables: + +-D FFTW3_INCLUDE_DIRS=path # path to FFTW3 include files +-D FFTW2_LIBRARIES=path # path to FFTW3 libraries +-D FFTW2_INCLUDE_DIRS=path # ditto for FFTW2 +-D FFTW3_LIBRARIES=path +-D MKL_INCLUDE_DIRS=path # ditto for Intel MKL library +-D MKL_LIBRARIES=path :pre + +[Makefile.machine settings]: + +FFT_INC = -DFFT_FFTW3 # FFTW3, FFTW2, FFTW (same as FFTW3), MKL, or KISS + # default is KISS if not specified +FFT_INC = -DFFT_SINGLE # do not specify for double precision +FFT_INC = -DFFT_PACK_ARRAY # or -DFFT_PACK_POINTER or -DFFT_PACK_MEMCPY :pre + +TODO: change code to use FFT_PACK_OPTION + +FFT_INC = -I/usr/local/include +FFT_PATH = -L/usr/local/lib +FFT_LIB = -lfftw3 # FFTW3 double precision +FFT_LIB = -lfftw3 -lfftw3f # FFTW3 single precision +FFT_LIB = -lfftw # FFTW2 double precision, or -ldfftw +FFT_LIB = -lsfftw # FFTW2 single precision +FFT_LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core # MKL with Intel compiler +FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core # MKL with GNU compier :pre + +As with CMake, you do not need to set paths in FFT_INC or FFT_PATH, if +make can find the FFT header and library files. You must specify +FFT_LIB with the appropriate FFT libraries to include in the link. + +[CMake and make info]: + +The "KISS FFT library"_http://kissfft.sf.net is included in the LAMMPS +distribution, so not FFT_LIB setting is required. It is portable +across all platforms. + +FFTW is fast, portable library that should also work on any platform +and typically be faster than KISS FFT. You can download it from +"www.fftw.org"_http://www.fftw.org. Both the legacy version 2.1.X and +the newer 3.X versions are supported. Building FFTW for your box +should be as simple as ./configure; make; make install. The install +command typically requires root privileges (e.g. invoke it via sudo), +unless you specify a local directory with the "--prefix" option of +configure. Type "./configure --help" to see various options. + +The Intel MKL math library is part of the Intel compiler suite. It +can be used with the Intel or GNU compiler (see FFT_LIB setting above). + +3d FFTs can be computationally expensive. Their cost can be reduced +by performing single-precision FFTs instead of double precision. +Single precision means the real and imaginary parts of a complex datum +are 4-byte floats. Double precesion means they are 8-byte doubles. +Note that Fourier transform and related PPPM operations are somewhat +insensitive to floating point truncation errors and thus do not always +need to be performed in double precision. Using this setting trades +off a little accuracy for reduced memory use and parallel +communication costs for transposing 3d FFT data. + +When using -DFFT_SINGLE with FFTW3 or FFTW2, you may need to build the +FFTW library a second time with support for single-precision. + +For FFTW3, do the following, which should produce the additional +library libfftw3f.a + +make clean +./configure --enable-single; make; make install :pre + +For FFTW2, do the following, which should produce the additional +library libsfftw.a + +make clean +./configure --enable-float --enable-type-prefix; make; make install :pre + +Performing 3d FFTs requires communication to transpose the 3d FFT +grid. The data packing/unpacking for this can be done in one of 3 +modes (ARRAY, POINTER, MEMCPY) as set by the FFT_PACK syntax above. +Depending on the machine, the size of the FFT grid, the number of +processors used, one option may be slightly faster. The default is +ARRAY mode. + +:line + +Size of LAMMPS data types :h3,link(size) + +LAMMPS has a few integer data types which can be defined as 4-byte or +8-byte integers. The default setting of "smallbig" is almost always +adequate. + +[CMake variable]: + +-D LAMMPS_SIZES=value # smallbig (default) or bigbig or smallsmall :pre + +[Makefile.machine setting]: + +LMP_INC = -DLAMMPS_SMALLBIG # or -DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL :pre + +[CMake and make info]: + +The default "smallbig" setting allows for simulations with: + +total atom count = 2^63 atoms (about 9e18) +total timesteps = 2^63 (about 9e18) +atom IDs = 2^31 (about 2 billion) +image flags = roll over at 512 :ul + +The "bigbig" setting increases the latter two limits. It allows for: + +total atom count = 2^63 atoms (about 9e18) +total timesteps = 2^63 (about 9e18) +atom IDs = 2^63 (about 9e18) +image flags = roll over at about 1 million (2^20) :ul + +The "smallsmall" setting is only needed if your machine does not +support 8-byte integers. It allows for: + +total atom count = 2^31 atoms (about 2 billion) +total timesteps = 2^31 (about 2 billion) +atom IDs = 2^31 (about 2 billion) +image flags = roll over at 512 (2^9) :ul + +Atom IDs are not required for atomic systems which do not store bond +topology information, though IDs are enabled by default. The +"atom_modify id no"_atom_modify.html command will turn them off. Atom +IDs are required for molecular systems with bond topology (bonds, +angles, dihedrals, etc). Thus if you model a molecular system with +more than 2 billion atoms, you need the "bigbig" setting. + +Image flags store 3 values per atom which count the number of times an +atom has moved through the periodic box in each dimension. See the +"dump"_dump.html doc page for a discussion. If an atom moves through +the periodic box more than this limit, the value will "roll over", +e.g. from 511 to -512, which can cause diagnostics like the +mean-squared displacement, as calculated by the "compute +msd"_compute_msd.html command, to be faulty. + +Note that the USER-ATC package is not currently compatible with the +"bigbig" setting. + +Also note that the GPU package requires its lib/gpu library to be +compiled with the same size setting, or the link will fail. A CMake +build does this automatically. When building with make, the setting +in whichever lib/gpu/Makefile is used must be the same as above. + +:line + +Output of JPG, PNG, and movie files :h3,link(graphics) + +The "dump image"_dump_image.html command has options to output JPEG or +PNG image files. Likewise the "dump movie"_dump_image.html command +ouputs movie files in MPEG format. Using these options requires the +following settings: + +[CMake variables]: + +-D LAMMPS_JPEG=value # yes or no + # default = yes if CMake finds JPEG files, else no +-D LAMMPS_PNG=value # yes or no + # default = yes if CMake finds PNG and ZLIB files, else no +-D LAMMPS_FFMPEG=value # yes or no + # default = yes if CMake can find ffmpeg, else no :pre + +Usually these settings are all that is needed. If CMake cannot find +the graphics header, library, executuable files, you can set these +variables: + +-D JPEG_INCLUDE_DIR=path # path to jpeglib.h header file +-D JPEG_LIBRARIES=path # path to libjpeg.a (.so) file +-D PNG_INCLUDE_DIR=path # path to png.h header file +-D PNG_LIBRARIES=path # path to libpng.a (.so) file +-D ZLIB_INCLUDE_DIR=path # path to zlib.h header file +-D ZLIB_LIBRARIES=path # path to libzlib.a (.so) file +-D FFMPEG_EXECUTABLE=path # path to ffmpeg executable :pre + +[Makefile.machine settings]: + +LMP_INC = -DLAMMPS_JPEG +LMP_INC = -DLAMMPS_PNG +LMP_INC = -DLAMMPS_FFMPEG :pre + +JPG_INC = -I/usr/local/include # path to jpeglib.h, png.h, zlib.h header files if make cannot find them +JPG_PATH = -L/usr/lib # paths to libjpeg.a, libpng.a, libzlib.a (.so) files if make cannot find them +JPG_LIB = -ljpeg -lpng -lzlib # library names :pre + +As with CMake, you do not need to set JPG_INC or JPG_PATH, if make can +find the graphics header and library files. You must specify JPG_LIB +with a list of graphics libraries to include in the link. You must +insure ffmpeg is in a directory where LAMMPS can find it at runtime, +i.e. a dir in your PATH environment variable. + +[CMake and make info]: + +Using ffmpeg to output movie files requires that your machine +supports the "popen" function in the standard runtime library. + +NOTE: On some clusters with high-speed networks, using the fork() +library calls (required by popen()) can interfere with the fast +communication library and lead to simulations using ffmpeg to hang or +crash. + +:line + +Read or write compressed files :h3,link(compress) + +If this option is enabled, large files can be read or written with +gzip compression by several LAMMPS commands, including +"read_data"_read_data.html, "rerun"_rerun.html, and "dump"_dump.html. + +[CMake variables]: + +-D LAMMPS_GZIP=value # yes or no + # default is yes if CMake can find gzip, else no +-D GZIP_EXECUTABLE=path # path to gzip executable if CMake cannot find it + +[Makefile.machine setting]: + +LMP_INC = -DLAMMPS_GZIP :pre + +[CMake and make info]: + +This option requires that your machine supports the "popen()" function +in the standard runtime library and that a gzip executable can be +found by LAMMPS during a run. + +NOTE: On some clusters with high-speed networks, using the fork() +library calls (required by popen()) can interfere with the fast +communication library and lead to simulations using compressed output +or input to hang or crash. For selected operations, compressed file +I/O is also available using a compression library instead, which is +what the "COMPRESS package"_Packages.html enables. + +:line + +Memory allocation alignment :h3,link(align) + +This setting enables the use of the posix_memalign() call instead of +malloc() when LAMMPS allocates large chunks or memory. This can make +vector instructions on CPUs more efficient, if dynamically allocated +memory is aligned on larger-than-default byte boundaries. + +[CMake variable]: + +-D LAMMPS_MEMALIGN=value # 8, 16, 32, 64 (default) :pre + +[Makefile.machine setting]: + +LMP_INC = -DLAMMPS_MEMALIGN=value # 8, 16, 32, 64 :pre + +TODO: I think the make default (no LAMMPS_MEMALIGN) is to not +use posix_memalign(), just malloc(). Does a CMake build have +an equivalent option? I.e. none. + +:line + +Workaround for long long integers :h3,link(longlong) + +If your system or MPI version does not recognize "long long" data +types, the following setting will be needed. It converts "long long" +to a "long" data type, which should be the desired 8-byte integer on +those systems: + +[CMake variable]: + +-D LAMMPS_LONGLONG_TO_LONG=value # yes or no (default) :pre + +[Makefile.machine setting]: + +LMP_INC = -DLAMMPS_LONGLONG_TO_LONG :pre + +:line + +Exception handling when using LAMMPS as a library :h3,link(exceptions) + +This setting is useful when external codes drive LAMMPS as a library. +With this option enabled LAMMPS errors do not kill the caller. +Instead, the call stack is unwound and control returns to the caller, +e.g. to Python. + +[CMake variable]: + +-D LAMMPS_EXCEPTIONS=value # yes or no (default) :pre + +[Makefile.machine setting]: + +LMP_INC = -DLAMMPS_EXCEPTIONS :pre diff --git a/doc/src/Install.txt b/doc/src/Install.txt new file mode 100644 index 0000000000..d59c23d319 --- /dev/null +++ b/doc/src/Install.txt @@ -0,0 +1,64 @@ +"Previous Section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Build.html +:c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Install LAMMPS :h2 + +You can download LAMMPS as an executable or as source code. + +With source code, you also have to "build LAMMPS"_Build.html. But you +have more flexibility as to what features to include or exclude in the +build. If you plan to "modify or extend LAMMPS"_Modify.html, then you +need the source code. + + + + + +"Download an executable for Linux"_Install_linux.html +"Download an executable for Mac"_Install_mac.html +"Download an executable for Windows"_Install_windows.html :all(b) + +"Download source as a tarball"_Install_tarball.html +"Donwload source via Git"_Install_git.html +"Donwload source via SVN"_Install_svn.html +"Install patch files"_Install_patch.html :all(b) + + + +These are the files and sub-directories in the LAMMPS distribution: + +README: text file +LICENSE: GNU General Public License (GPL) +bench: benchmark problems +cmake: CMake build files +doc: documentation +examples: simple test problems +lib: additional provided or external libraries +potentials: interatomic potential files +python: Python wrapper on LAMMPS +src: source files +tools: pre- and post-processing tools :tb(s=:,a=l) + +You will have all of these if you download source. You will only have +some of them if you download executables, as explained on the pages +listed above. diff --git a/doc/src/Install_git.txt b/doc/src/Install_git.txt new file mode 100644 index 0000000000..1d043c30d2 --- /dev/null +++ b/doc/src/Install_git.txt @@ -0,0 +1,120 @@ +"Higher level section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Download source via Git :h3 + +All LAMMPS development is coordinated through the "LAMMPS GitHub +site". If you clone the LAMMPS repository onto your local machine, it +has several advantages: + +You can stay current with changes to LAMMPS with a single git +command. :ulb,l + +You can create your own development branches to add code to LAMMPS. :l + +You can submit your new features back to GitHub for inclusion in +LAMMPS. :l,ule + +You must have "Git"_git installed on your system to communicate with +the public Git server for LAMMPS. + +IMPORTANT NOTE: As of Oct 2016, the official home of public LAMMPS +development is on GitHub. The previously advertised LAMMPS git +repositories on git.lammps.org and bitbucket.org are now deprecated, +may not be up-to-date, and may go away at any time. + +:link(git,http://git-scm.com) + +You can follow LAMMPS development on 3 different Git branches: + +[stable] : this branch is updated with every stable release +[unstable] : this branch is updated with every patch release +[master] : this branch continuously follows ongoing development :ul + +To access the Git repositories on your box, use the clone command to +create a local copy of the LAMMPS repository with a command like: + +git clone -b unstable https://github.com/lammps/lammps.git mylammps :pre + +where "mylammps" is the name of the directory you wish to create on +your machine and "unstable" is one of the 3 branches listed above. +(Note that you actually download all 3 branches; you can switch +between them at any time using "git checkout ".) + +Once the command completes, your directory will contain the same files +as if you unpacked a current LAMMPS tarball, with two exceptions: + +1) No LAMMPS packages are initially installed in the src dir (a few +packages are installed by default in the tarball src dir). You can +install whichever packages you wish before building LAMMPS; type "make +package" from the src dir to see the options, and the +"Packages"_Packages.html doc page for a discussion of packages. + +2) The HTML documentation files are not included. They can be fetched +from the LAMMPS website by typing "make fetch" in the doc directory. +Or they can be generated from the content provided in doc/src by +typing "make html" from the the doc directory. + +After initial cloning, as bug fixes and new features are added to +LAMMPS, as listed on "this page"_bug.html, you can stay up-to-date by +typing the following Git commands from within the "mylammps" +directory: + +git checkout unstable # not needed if you always stay in this branch +git checkout stable # use one of the 3 checkout commands +git checkout master +git pull :pre + +Doing a "pull" will not change any files you have added to the LAMMPS +directory structure. It will also not change any existing LAMMPS +files you have edited, unless those files have changed in the +repository. In that case, Git will attempt to merge the new +repository file with your version of the file and tell you if there +are any conflicts. See the Git documentation for details. + +If you want to access a particular previous release version of LAMMPS, +you can instead "checkout" any version with a published tag. See the +output of "git tag -l" for the list of tags. The Git command to do +this is as follows. + +git checkout tagID :pre + +Stable versions and what tagID to use for a particular stable version +are discussed on "this page"_bug.html. Note that this command will +print some warnings, because in order to get back to the latest +revision and to be able to update with "git pull" again, you first +will need to first type "git checkout unstable" (or check out any +other desired branch). + +Once you have updated your local files with a "git pull" (or "git +checkout"), you still need to re-build LAMMPS if any source files have +changed. To do this, you should cd to the src directory and type: + +make purge # remove any deprecated src files +make package-update # sync package files with src files +make foo # re-build for your machine (mpi, serial, etc) :pre + +just as described on the "Install patch"_Install_patch.html doc page, +after a patch has been installed. + +IMPORTANT NOTE: If you wish to edit/change a src file that is from a +package, you should edit the version of the file inside the package +sub-directory with src, then re-install the package. The version in +the src dir is merely a copy and will be wiped out if you type "make +package-update". + +IMPORTANT NOTE: The GitHub servers support both the "git://" and +"https://" access protocols for anonymous read-only access. If you +have a correspondingly configured GitHub account, you may also use SSH +with "git@github.com:/lammps/lammps.git". + +The LAMMPS GitHub project is managed by Christoph Junghans (LANL, +junghans at lanl.gov), Axel Kohlmeyer (Temple U, akohlmey at +gmail.com) and Richard Berger (Temple U, richard.berger at +temple.edu). diff --git a/doc/src/Install_linux.txt b/doc/src/Install_linux.txt new file mode 100644 index 0000000000..10da3d933f --- /dev/null +++ b/doc/src/Install_linux.txt @@ -0,0 +1,120 @@ +"Higher level section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Download an executable for Linux :h3 + +Binaries are available for many different versions of Linux: + +"Pre-built binary RPMs for Fedora/RedHat/CentOS/openSUSE"_#rpm +"Pre-built Ubuntu Linux executables"_#unbuntu +"Pre-built Gentoo Linux executable"_#gentoo :all(b) + +:line +:line + +Pre-built binary RPMs for Fedora/RedHat/CentOS/openSUSE :h4,link(rpm) + +Pre-built LAMMPS executables for various Linux distributions +can be downloaded as binary RPM files from this site: + +"http://rpm.lammps.org"_http://rpm.lammps.org + +There are multiple package variants supporting serial, parallel and +Python wrapper versions. The LAMMPS binaries contain all optional +packages included in the source distribution except: GPU, KIM, REAX, +and USER-INTEL. + +Installation instructions for the various versions are here: + +"http://rpm.lammps.org/install.html"_http://rpm.lammps.org/install.html + +The instructions show how to enable the repository in the respective +system's package management system. Installing and updating are then +straightforward and automatic. + +Thanks to Axel Kohlmeyer (Temple U, akohlmey at gmail.com) for setting +up this RPM capability. + +:line + +Pre-built Ubuntu Linux executables :h4,link(ubuntu) + +A pre-built LAMMPS executable suitable for running on the latest +Ubuntu Linux versions, can be downloaded as a Debian package. This +allows you to install LAMMPS with a single command, and stay +up-to-date with the current version of LAMMPS by simply updating your +operating system. + +To install the appropriate personal-package archive (PPA), do the +following once: + +sudo add-apt-repository ppa:gladky-anton/lammps +sudo apt-get update :pre + +To install LAMMPS do the following once: + +sudo apt-get install lammps-daily :pre + +This downloads an executable named "lammps-daily" to your box, which +can then be used in the usual way to run input scripts: + +lammps-daily < in.lj :pre + +To update LAMMPS to the most current version, do the following: + +sudo apt-get update :pre + +which will also update other packages on your system. + +To get a copy of the current documentation and examples: + +sudo apt-get install lammps-daily-doc :pre + +which will download the doc files in +/usr/share/doc/lammps-daily-doc/doc and example problems in +/usr/share/doc/lammps-doc/examples. + +Note that you may still wish to download the tarball to get potential +files and auxiliary tools. + +To un-install LAMMPS, do the following: + +sudo apt-get remove lammps-daily :pre + +Note that the lammps-daily executable is built with the following +sequence of make commands, as if you had done the same with the +unpacked tarball files in the src directory: + +make yes-all; make no-lib; make openmpi + +Thus it builds with FFTW3 and OpenMPI. + +Thanks to Anton Gladky (gladky.anton at gmail.com) for setting up this +Ubuntu package capability. + +:line + +Pre-built Gentoo Linux executable :h4,link(gentoo) + +LAMMPS is part of Gentoo's main package tree and can be installed by +typing: + +% emerge --ask lammps :pre + +Note that in Gentoo the LAMMPS source is downloaded and the package is +built on the your machine. + +Certain LAMMPS packages can be enable via USE flags, type + +% equery uses lammps :pre + +for details. + +Thanks to Nicolas Bock and Christoph Junghans (LANL) for setting up +this Gentoo capability. diff --git a/doc/src/Install_mac.txt b/doc/src/Install_mac.txt new file mode 100644 index 0000000000..3fcc55b8ab --- /dev/null +++ b/doc/src/Install_mac.txt @@ -0,0 +1,55 @@ +"Higher level section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Download an executable for Mac :h3 + +LAMMPS can be downloaded, built, and configured for OS X on a Mac with +"Homebrew"_homebrew. Only four of the LAMMPS packages are unavailable +at this time because of additional needs not yet met: KIM, GPU, +USER-INTEL, USER-ATC. + +After installing Homebrew, you can install LAMMPS on your system with +the following commands: + +% brew tap homebrew/science +% brew install lammps # serial version +% brew install lammps --with-mpi # mpi support :pre + +This will install the executable "lammps", a python module named +"lammps", and additional resources with all the standard packages. To +get the location of the additional resources type this: + +% brew info lammps :pre + +This command also tells you additional installation options available. +The user-packages are available as options, just install them like +this example for the USER-OMP package: + +% brew install lammps --enable-user-omp :pre + +It is usually best to install LAMMPS with the most up to date source +files, which can be done with the "--HEAD" option: + +% brew install lammps --HEAD :pre + +To re-install the LAMMPS HEAD, run this command occasionally (make sure +to use the desired options). + +% brew install --force lammps --HEAD $\{options\} :pre + +Once LAMMPS is installed, you can test the installation with the +Lennard-Jones benchmark file: + +% brew test lammps -v :pre + +If you have problems with the installation you can post issues to +"this link"_https://github.com/Homebrew/homebrew-science/issues. + +Thanks to Derek Thomas (derekt at cello.t.u-tokyo.ac.jp) for setting +up the Homebrew capability. diff --git a/doc/src/Install_patch.txt b/doc/src/Install_patch.txt new file mode 100644 index 0000000000..3d0b27370e --- /dev/null +++ b/doc/src/Install_patch.txt @@ -0,0 +1,67 @@ +"Higher level section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Applying patches :h3 + +It is easy to stay current with the most recent LAMMPS patch releases +if you use Git or SVN to track LAMMPS development. Instructions for +how to stay current are on the "Install git"_Install_git.html and +"Install svn"_Install_svn.html doc pages. + +If you prefer to download a tarball, as described on the "Install +git"_Install_tarball.html doc page, you can stay current by +downloading "patch files" when new patch releases are made. A link to +a patch file is posted on the "bug and feature page"_bug of the +website, along with a list of changed files and details about what is +in the new patch release. This page explains how to apply the patch +file to your local LAMMPS directory. + +NOTE: You should not apply patch files to a local Git or SVN repo of +LAMMPS, only to an unpacked tarball. Use Git and SVN commands to +update repo versions of LAMMPS. + +Here are the steps to apply a patch file. Note that if your version +of LAMMPS is several patch releases behind, you need to apply all the +intervening patch files in succession to bring your version of LAMMPS +up to date. + +Download the patch file. You may have to shift-click in your browser +to download the file instead of display it. Patch files have names +like patch.12Dec16. :ulb,l + +Put the patch file in your top-level LAMMPS directory, where the +LICENSE and README files are. :l + +Apply the patch by typing the following command from your top-level +LAMMPS directory, where the redirected file is the name of the patch +file. :l + +patch -bp1 < patch.12Dec16 :pre + +A list of updated files print out to the screen. The -b switch +creates backup files of your originals (e.g. src/force.cpp.orig), so +you can manually undo the patch if something goes wrong. :l + +Type the following from the src directory, to enforce consistency +between the src and package directories. This is OK to do even if you +don't use one or more packages. If you are applying several patches +successively, you only need to type this once at the end. The purge +command removes deprecated src files if any were removed by the patch +from package sub-directories. :l + +make purge +make package-update :pre + +Re-build LAMMPS via the "make" command. :l,ule + +IMPORTANT NOTE: If you wish to edit/change a src file that is from a +package, you should edit the version of the file inside the package +sub-dir of src, then re-install the package. The version in the src +dir is merely a copy and will be wiped out if you type "make +package-update". diff --git a/doc/src/Install_svn.txt b/doc/src/Install_svn.txt new file mode 100644 index 0000000000..64fd1077cb --- /dev/null +++ b/doc/src/Install_svn.txt @@ -0,0 +1,95 @@ +"Higher level section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Download source via SVN :h3 + +IMPORTANT NOTE: As of Oct 2016, SVN support is now implemented via a +git-to-subversion interface service on GitHub and no longer through a +mirror of the internal SVN repository at Sandia. + +You must have the "Subversion (SVN) client software"_svn installed on +your system to communicate with the Git server in this mode. + +:link(svn,http://subversion.apache.org) + +You can follow LAMMPS development on 3 different SVN branches: + +[stable] : this branch is updated with every stable release +[unstable] : this branch is updated with every patch release +[master] : this branch continuously follows ongoing development :ul + +The corresponding command lines to do an initial checkout are as +follows. (Note that unlike Git, you must perform a separate checkout +into a unique directory for each of the 3 branches.) + +svn checkout https://github.com/lammps/lammps.git/branches/unstable mylammps +svn checkout https://github.com/lammps/lammps.git/branches/stable mylammps +svn checkout https://github.com/lammps/lammps.git/trunk mylammps :pre + +where "mylammps" is the name of the directory you wish to create on +your machine. + +Once the command completes, your directory will contain the same files +as if you unpacked a current LAMMPS tarball, with two exceptions: + +1) No LAMMPS packages are initially installed in the src dir (a few +packages are installed by default in the tarball src dir). You can +install whichever packages you wish before building LAMMPS; type "make +package" from the src dir to see the options, and the +"Packages"_Packages.html doc page for a discussion of packages. + +2) The HTML documentation files are not included. They can be fetched +from the LAMMPS website by typing "make fetch" in the doc directory. +Or they can be generated from the content provided in doc/src by +typing "make html" from the the doc directory. + +After initial checkout, as bug fixes and new features are added to +LAMMPS, as listed on "this page"_bug.html, you can stay up-to-date by +typing the following SVN commands from within the "mylammps" +directory: + +svn update :pre + +You can also check if there are any updates by typing: + +svn -qu status :pre + +Doing an "update" will not change any files you have added to the +LAMMPS directory structure. It will also not change any existing +LAMMPS files you have edited, unless those files have changed in the +repository. In that case, SVN will attempt to merge the new +repository file with your version of the file and tell you if there +are any conflicts. See the SVN documentation for details. + +Please refer to the "subversion client support help pages on +GitHub"_https://help.github.com/articles/support-for-subversion-clients +if you want to use advanced features like accessing particular +previous release versions via tags. + +Once you have updated your local files with an "svn update" (or "svn +co"), you still need to re-build LAMMPS if any source files have +changed. To do this, you should cd to the src directory and type: + +make purge # remove any deprecated src files +make package-update # sync package files with src files +make foo # re-build for your machine (mpi, serial, etc) :pre + +just as described on the "Install patch"_Install_patch.html doc page, +after a patch has been installed. + +IMPORTANT NOTE: If you wish to edit/change a src file that is from a +package, you should edit the version of the file inside the package +sub-directory with src, then re-install the package. The version in +the src dir is merely a copy and will be wiped out if you type "make +package-update". + +The LAMMPS GitHub project is managed by Christoph Junghans (LANL, +junghans at lanl.gov), Axel Kohlmeyer (Temple U, akohlmey at +gmail.com) and Richard Berger (Temple U, richard.berger at +temple.edu). diff --git a/doc/src/Install_tarball.txt b/doc/src/Install_tarball.txt new file mode 100644 index 0000000000..b672c5ff25 --- /dev/null +++ b/doc/src/Install_tarball.txt @@ -0,0 +1,64 @@ +"Higher level section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Download source as a tarball :h3 + +You can download a current LAMMPS tarball from the "download page"_download +of the "LAMMPS website"_lws. + +:link(download,http://lammps.sandia.gov/download.html) +:link(bug,http://lammps.sandia.gov/bug.html) +:link(older,http://lammps.sandia.gov/tars) + +You have two choices of tarballs, either the most recent stable +release or the most current patch release. Stable releases occur a +few times per year, and undergo more testing before release. Patch +releases occur a couple times per month. The new contents in all +releases are listed on the "bug and feature page"_bug of the website. + +Older versions of LAMMPS can also be downloaded from "this +page"_older. + +Once you have a tarball, unzip and untar it with the following +command: + +tar -xzvf lammps*.tar.gz :pre + +This will create a LAMMPS directory with the version date +in its name, e.g. lammps-23Jun18. + +:line + +You can also download a zip file via the "Clone or download" button on +the "LAMMPS GitHub site"_git. The file name will be lammps-master.zip +which can be unzipped with the following command, to create +a lammps-master dir: + +unzip lammps*.zip :pre + +This version is the most up-to-date LAMMPS development version. It +will have the date of the most recent patch release (see the file +src/version.h). But it will also include any new bug-fixes or +features added since the last patch release. They will be included in +the next patch release tarball. + +:link(git,https://github.com/lammps/lammps) + +:line + +If you download a current LAMMPS tarball, one way to stay current as +new patch tarballs are released, is to download a patch file which you +can apply to your local directory to update it for each new patch +release. (Or of course you could just download the newest tarball +periodically.) + +The patch files are posted on the "bug and feature page"_bug of the +website, along with a list of changed files and details about what is +in the new patch release. Instructions for applying a patch file are +on the "Install patch"_Install_patch.html doc page. diff --git a/doc/src/Install_windows.txt b/doc/src/Install_windows.txt new file mode 100644 index 0000000000..df87754c5f --- /dev/null +++ b/doc/src/Install_windows.txt @@ -0,0 +1,52 @@ +"Higher level section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Download an executable for Windows :h3 + +Pre-compiled Windows installers which install LAMMPS executables on a +Windows system can be downloaded from this site: + +"http://rpm.lammps.org/windows.html"_http://rpm.lammps.org/windows.html + +Note that each installer package has a date in its name, which +corresponds to the LAMMPS version of the same date. Installers for +current and older versions of LAMMPS are available. 32-bit and 64-bit +installers are available, and each installer contains both a serial +and parallel executable. The installer site also explains how to +install the Windows MPI package (MPICH2 from Argonne National Labs), +needed to run in parallel. + +The LAMMPS binaries contain all optional packages included in the +source distribution except: KIM, REAX, KOKKOS, USER-INTEL, +and USER-QMMM. The serial version also does not include the MPIIO and +USER-LB packages. GPU support is provided for OpenCL. + +The installer site also has instructions on how to run LAMMPS under +Windows, once it is installed, in both serial and parallel. + +When you download the installer package, you run it on your Windows +machine. It will then prompt you with a dialog, where you can choose +the installation directory, unpack and copy several executables, +potential files, documentation pdfs, selected example files, etc. It +will then update a few system settings (e.g. PATH, LAMMPS_POTENTIALS) +and add an entry into the Start Menu (with references to the +documentation, LAMMPS homepage and more). From that menu, there is +also a link to an uninstaller that removes the files and undoes the +environment manipulations. + +Note that to update to a newer version of LAMMPS, you should typically +uninstall the version you currently have, download a new installer, +and go thru the install procedure described above. I.e. the same +procedure for installing/updating most Windows programs. You can +install multiple versions of LAMMPS (in different directories), but +only the executable for the last-installed package will be found +automatically, so this should only be done for debugging purposes. + +Thanks to Axel Kohlmeyer (Temple U, akohlmey at gmail.com) for setting +up this Windows capability. diff --git a/doc/src/Run.txt b/doc/src/Run.txt new file mode 100644 index 0000000000..68c3f1e295 --- /dev/null +++ b/doc/src/Run.txt @@ -0,0 +1,37 @@ +"Previous Section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc - "Next +Section"_Commands.html :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Run LAMMPS :h2 + +These pages explain how to run LAMMPS once you have "installed an +executable"_Install.html or "downloaded the source code"_Install.html +and "built an executable"_Build.html. The "Commands"_Commands.html +doc page describes how input scripts are structured and the commands +they can contain. + + + + + +"Basics of running LAMMPS"_Run_basics.html +"Command-line options"_Run_options.html +"Screen and logfile output"_Run_output.html +"Running LAMMPS on Windows"_Run_windows.html :all(b) + + diff --git a/doc/src/Run_basics.txt b/doc/src/Run_basics.txt new file mode 100644 index 0000000000..1d4b570f21 --- /dev/null +++ b/doc/src/Run_basics.txt @@ -0,0 +1,87 @@ +"Higher level section"_Run.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Basics of running LAMMPS :h3 + +LAMMPS is run from the command line, reading commands from standard +input, which are typically listed in an input script: + +lmp_serial < in.file +lmp_serial -in in.file +~/lammps/src/lmp_serial < in.file +mpirun -np 4 lmp_mpi -in in.file +mpirun -np 8 ~/lammps/src/lmp_mpi -in in.file +mpirun -np 6 /usr/local/bin/lmp_mpi -in in.file :pre + +You normally run from the directory your input script is in. That is +also where output files are produced, unless you specify otherwise in +your input script. As in some of the examples above, the LAMMPS +executable can be elsewhere. + +NOTE: The redirection operator "<" can often be used with mpirun, but +some systems require the -in form. + +As LAMMPS runs it prints info to the screen and a logfile named +log.lammps. More info about output is given on the "Run +output"_Run_output.html doc page. + +If LAMMPS encounters errors in the input script or while running a +simulation it will print an ERROR message and stop or a WARNING +message and continue. See the "Errors"_Errors.html doc page for a +discussion of the various kinds of errors LAMMPS can or can't detect, +a list of all ERROR and WARNING messages, and what to do about them. + +:line + +LAMMPS can run the same problem on any number of processors, including +a single processor. In theory you should get identical answers on any +number of processors and on any machine. In practice, numerical +round-off can cause slight differences and eventual divergence of +molecular dynamics phase space trajectories. See the "Errors +common"_Errors_common.html doc page for discussion of this. + +LAMMPS can run as large a problem as will fit in the physical memory +of one or more processors. If you run out of memory, you must run on +more processors or define a smaller problem. + +If you run LAMMPS in parallel via mpirun, you should be aware of the +"processors"_processors.html command which controls how MPI tasks are +mapped to the simulation box, as well as mpirun options that control +how MPI tasks are assigned to physical cores of the node(s) of the +machine you are running on. These settings can improve performance, +though the defaults are often adequate. + +For example, it is often important to bind MPI tasks (processes) to +physical cores (processor affinity), so that the operating system does +not migrate them during a simulation. If this is not the default +behavior on your machine, the mpirun option "--bind-to core" (OpenMPI) +or "-bind-to core" (MPICH) can be used. + +If the LAMMPS command(s) you are using support multi-threading, you +can set the number of threads per MPI task via the environment +variable OMP_NUM_THREADS, before you launch LAMMPS: + +export OMP_NUM_THREADS=2 # bash +setenv OMP_NUM_THREADS 2 # csh or tcsh :pre + +This can also be done via the "package"_package.html command or via +the "-pk command-line switch"_Run_options.html which invokes the +package command. See the "package"_package.html command or +"Speed"_Speed.html doc pages for more details about which accerlarator +packages and which commands support multi-threading. + +:line + +You can experiment with running LAMMPS using any of the input scripts +provided in the examples or bench directory. Input scripts are named +in.* and sample outputs are named log.*.P where P is the number of +processors it was run on. + +Some of the examples or benchmarks require LAMMPS to be built with +optional packages. diff --git a/doc/src/Run_options.txt b/doc/src/Run_options.txt new file mode 100644 index 0000000000..b1c1e376da --- /dev/null +++ b/doc/src/Run_options.txt @@ -0,0 +1,470 @@ +"Higher level section"_Run.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Command-line options :h3 + +At run time, LAMMPS recognizes several optional command-line switches +which may be used in any order. Either the full word or a one-or-two +letter abbreviation can be used: + +"-e or -echo"_#echo +"-h or -help"_#help +"-i or -in"_#in +"-k or -kokkos"_#kokkos +"-l or -log"_#log +"-nc or -nocite"_#nocite +"-pk or -package"_#package +"-p or -partition"_#partition +"-pl or -plog"_#plot +"-ps or -pscreen"_#pscreen +"-r or -restart"_#restart +"-ro or -reorder"_#reorder +"-sc or -screen"_#screen +"-sf or -suffix"_#suffix +"-v or -var"_#var :ul + +For example, the lmp_mpi executable might be launched as follows: + +mpirun -np 16 lmp_mpi -v f tmp.out -l my.log -sc none -i in.alloy +mpirun -np 16 lmp_mpi -var f tmp.out -log my.log -screen none -in in.alloy :pre + +:line +:line + +[-echo style] :link(echo) + +Set the style of command echoing. The style can be {none} or {screen} +or {log} or {both}. Depending on the style, each command read from +the input script will be echoed to the screen and/or logfile. This +can be useful to figure out which line of your script is causing an +input error. The default value is {log}. The echo style can also be +set by using the "echo"_echo.html command in the input script itself. + +:line + +[-help] :link(help) + +Print a brief help summary and a list of options compiled into this +executable for each LAMMPS style (atom_style, fix, compute, +pair_style, bond_style, etc). This can tell you if the command you +want to use was included via the appropriate package at compile time. +LAMMPS will print the info and immediately exit if this switch is +used. + +:line + +[-in file] :link(file) + +Specify a file to use as an input script. This is an optional switch +when running LAMMPS in one-partition mode. If it is not specified, +LAMMPS reads its script from standard input, typically from a script +via I/O redirection; e.g. lmp_linux < in.run. I/O redirection should +also work in parallel, but if it does not (in the unlikely case that +an MPI implementation does not support it), then use the -in flag. +Note that this is a required switch when running LAMMPS in +multi-partition mode, since multiple processors cannot all read from +stdin. + +:line + +[-kokkos on/off keyword/value ...] :link(kokkos) + +Explicitly enable or disable KOKKOS support, as provided by the KOKKOS +package. Even if LAMMPS is built with this package, as described +above in "Section 2.3"_#start_3, this switch must be set to enable +running with the KOKKOS-enabled styles the package provides. If the +switch is not set (the default), LAMMPS will operate as if the KOKKOS +package were not installed; i.e. you can run standard LAMMPS or with +the GPU or USER-OMP packages, for testing or benchmarking purposes. + +Additional optional keyword/value pairs can be specified which +determine how Kokkos will use the underlying hardware on your +platform. These settings apply to each MPI task you launch via the +"mpirun" or "mpiexec" command. You may choose to run one or more MPI +tasks per physical node. Note that if you are running on a desktop +machine, you typically have one physical node. On a cluster or +supercomputer there may be dozens or 1000s of physical nodes. + +Either the full word or an abbreviation can be used for the keywords. +Note that the keywords do not use a leading minus sign. I.e. the +keyword is "t", not "-t". Also note that each of the keywords has a +default setting. Examples of when to use these options and what +settings to use on different platforms is given on the "Speed +kokkos"_Speed_kokkos.html doc page. + +d or device +g or gpus +t or threads +n or numa :ul + +device Nd :pre + +This option is only relevant if you built LAMMPS with CUDA=yes, you +have more than one GPU per node, and if you are running with only one +MPI task per node. The Nd setting is the ID of the GPU on the node to +run on. By default Nd = 0. If you have multiple GPUs per node, they +have consecutive IDs numbered as 0,1,2,etc. This setting allows you +to launch multiple independent jobs on the node, each with a single +MPI task per node, and assign each job to run on a different GPU. + +gpus Ng Ns :pre + +This option is only relevant if you built LAMMPS with CUDA=yes, you +have more than one GPU per node, and you are running with multiple MPI +tasks per node (up to one per GPU). The Ng setting is how many GPUs +you will use. The Ns setting is optional. If set, it is the ID of a +GPU to skip when assigning MPI tasks to GPUs. This may be useful if +your desktop system reserves one GPU to drive the screen and the rest +are intended for computational work like running LAMMPS. By default +Ng = 1 and Ns is not set. + +Depending on which flavor of MPI you are running, LAMMPS will look for +one of these 3 environment variables + +SLURM_LOCALID (various MPI variants compiled with SLURM support) +MV2_COMM_WORLD_LOCAL_RANK (Mvapich) +OMPI_COMM_WORLD_LOCAL_RANK (OpenMPI) :pre + +which are initialized by the "srun", "mpirun" or "mpiexec" commands. +The environment variable setting for each MPI rank is used to assign a +unique GPU ID to the MPI task. + +threads Nt :pre + +This option assigns Nt number of threads to each MPI task for +performing work when Kokkos is executing in OpenMP or pthreads mode. +The default is Nt = 1, which essentially runs in MPI-only mode. If +there are Np MPI tasks per physical node, you generally want Np*Nt = +the number of physical cores per node, to use your available hardware +optimally. This also sets the number of threads used by the host when +LAMMPS is compiled with CUDA=yes. + +numa Nm :pre + +This option is only relevant when using pthreads with hwloc support. +In this case Nm defines the number of NUMA regions (typically sockets) +on a node which will be utilized by a single MPI rank. By default Nm += 1. If this option is used the total number of worker-threads per +MPI rank is threads*numa. Currently it is always almost better to +assign at least one MPI rank per NUMA region, and leave numa set to +its default value of 1. This is because letting a single process span +multiple NUMA regions induces a significant amount of cross NUMA data +traffic which is slow. + +:line + +[-log file] :link(log) + +Specify a log file for LAMMPS to write status information to. In +one-partition mode, if the switch is not used, LAMMPS writes to the +file log.lammps. If this switch is used, LAMMPS writes to the +specified file. In multi-partition mode, if the switch is not used, a +log.lammps file is created with hi-level status information. Each +partition also writes to a log.lammps.N file where N is the partition +ID. If the switch is specified in multi-partition mode, the hi-level +logfile is named "file" and each partition also logs information to a +file.N. For both one-partition and multi-partition mode, if the +specified file is "none", then no log files are created. Using a +"log"_log.html command in the input script will override this setting. +Option -plog will override the name of the partition log files file.N. + +:line + +[-nocite] :link(nocite) + +Disable writing the log.cite file which is normally written to list +references for specific cite-able features used during a LAMMPS run. +See the "citation page"_http://lammps.sandia.gov/cite.html for more +details. + +:line + +[-package style args ....] :link(package) + +Invoke the "package"_package.html command with style and args. The +syntax is the same as if the command appeared at the top of the input +script. For example "-package gpu 2" or "-pk gpu 2" is the same as +"package gpu 2"_package.html in the input script. The possible styles +and args are documented on the "package"_package.html doc page. This +switch can be used multiple times, e.g. to set options for the +USER-INTEL and USER-OMP packages which can be used together. + +Along with the "-suffix" command-line switch, this is a convenient +mechanism for invoking accelerator packages and their options without +having to edit an input script. + +:line + +[-partition 8x2 4 5 ...] :link(partition) + +Invoke LAMMPS in multi-partition mode. When LAMMPS is run on P +processors and this switch is not used, LAMMPS runs in one partition, +i.e. all P processors run a single simulation. If this switch is +used, the P processors are split into separate partitions and each +partition runs its own simulation. The arguments to the switch +specify the number of processors in each partition. Arguments of the +form MxN mean M partitions, each with N processors. Arguments of the +form N mean a single partition with N processors. The sum of +processors in all partitions must equal P. Thus the command +"-partition 8x2 4 5" has 10 partitions and runs on a total of 25 +processors. + +Running with multiple partitions can be useful for running +"multi-replica simulations"_Howto_replica.html, where each replica +runs on on one or a few processors. Note that with MPI installed on a +machine (e.g. your desktop), you can run on more (virtual) processors +than you have physical processors. + +To run multiple independent simulations from one input script, using +multiple partitions, see the "Howto multiple"_Howto_multiple.html doc +page. World- and universe-style "variables"_variable.html are useful +in this context. + +:line + +[-plog file] :link(plog) + +Specify the base name for the partition log files, so partition N +writes log information to file.N. If file is none, then no partition +log files are created. This overrides the filename specified in the +-log command-line option. This option is useful when working with +large numbers of partitions, allowing the partition log files to be +suppressed (-plog none) or placed in a sub-directory (-plog +replica_files/log.lammps) If this option is not used the log file for +partition N is log.lammps.N or whatever is specified by the -log +command-line option. + +:line + +[-pscreen file] :link(pscreen) + +Specify the base name for the partition screen file, so partition N +writes screen information to file.N. If file is none, then no +partition screen files are created. This overrides the filename +specified in the -screen command-line option. This option is useful +when working with large numbers of partitions, allowing the partition +screen files to be suppressed (-pscreen none) or placed in a +sub-directory (-pscreen replica_files/screen). If this option is not +used the screen file for partition N is screen.N or whatever is +specified by the -screen command-line option. + +:line + +[-restart restartfile {remap} datafile keyword value ...] :link(restart) + +Convert the restart file into a data file and immediately exit. This +is the same operation as if the following 2-line input script were +run: + +read_restart restartfile {remap} +write_data datafile keyword value ... :pre + +Note that the specified restartfile and datafile can have wild-card +characters ("*",%") as described by the +"read_restart"_read_restart.html and "write_data"_write_data.html +commands. But a filename such as file.* will need to be enclosed in +quotes to avoid shell expansion of the "*" character. + +Note that following restartfile, the optional flag {remap} can be +used. This has the same effect as adding it to the +"read_restart"_read_restart.html command, as explained on its doc +page. This is only useful if the reading of the restart file triggers +an error that atoms have been lost. In that case, use of the remap +flag should allow the data file to still be produced. + +Also note that following datafile, the same optional keyword/value +pairs can be listed as used by the "write_data"_write_data.html +command. + +:line + +[-reorder] :link(reorder) + +This option has 2 forms: + +-reorder nth N +-reorder custom filename :pre + +Reorder the processors in the MPI communicator used to instantiate +LAMMPS, in one of several ways. The original MPI communicator ranks +all P processors from 0 to P-1. The mapping of these ranks to +physical processors is done by MPI before LAMMPS begins. It may be +useful in some cases to alter the rank order. E.g. to insure that +cores within each node are ranked in a desired order. Or when using +the "run_style verlet/split"_run_style.html command with 2 partitions +to insure that a specific Kspace processor (in the 2nd partition) is +matched up with a specific set of processors in the 1st partition. +See the "Speed tips"_Speed_tips.html doc page for more details. + +If the keyword {nth} is used with a setting {N}, then it means every +Nth processor will be moved to the end of the ranking. This is useful +when using the "run_style verlet/split"_run_style.html command with 2 +partitions via the -partition command-line switch. The first set of +processors will be in the first partition, the 2nd set in the 2nd +partition. The -reorder command-line switch can alter this so that +the 1st N procs in the 1st partition and one proc in the 2nd partition +will be ordered consecutively, e.g. as the cores on one physical node. +This can boost performance. For example, if you use "-reorder nth 4" +and "-partition 9 3" and you are running on 12 processors, the +processors will be reordered from + +0 1 2 3 4 5 6 7 8 9 10 11 :pre + +to + +0 1 2 4 5 6 8 9 10 3 7 11 :pre + +so that the processors in each partition will be + +0 1 2 4 5 6 8 9 10 +3 7 11 :pre + +See the "processors" command for how to insure processors from each +partition could then be grouped optimally for quad-core nodes. + +If the keyword is {custom}, then a file that specifies a permutation +of the processor ranks is also specified. The format of the reorder +file is as follows. Any number of initial blank or comment lines +(starting with a "#" character) can be present. These should be +followed by P lines of the form: + +I J :pre + +where P is the number of processors LAMMPS was launched with. Note +that if running in multi-partition mode (see the -partition switch +above) P is the total number of processors in all partitions. The I +and J values describe a permutation of the P processors. Every I and +J should be values from 0 to P-1 inclusive. In the set of P I values, +every proc ID should appear exactly once. Ditto for the set of P J +values. A single I,J pairing means that the physical processor with +rank I in the original MPI communicator will have rank J in the +reordered communicator. + +Note that rank ordering can also be specified by many MPI +implementations, either by environment variables that specify how to +order physical processors, or by config files that specify what +physical processors to assign to each MPI rank. The -reorder switch +simply gives you a portable way to do this without relying on MPI +itself. See the "processors out"_processors.html command for how +to output info on the final assignment of physical processors to +the LAMMPS simulation domain. + +:line + +[-screen file] :link(screen) + +Specify a file for LAMMPS to write its screen information to. In +one-partition mode, if the switch is not used, LAMMPS writes to the +screen. If this switch is used, LAMMPS writes to the specified file +instead and you will see no screen output. In multi-partition mode, +if the switch is not used, hi-level status information is written to +the screen. Each partition also writes to a screen.N file where N is +the partition ID. If the switch is specified in multi-partition mode, +the hi-level screen dump is named "file" and each partition also +writes screen information to a file.N. For both one-partition and +multi-partition mode, if the specified file is "none", then no screen +output is performed. Option -pscreen will override the name of the +partition screen files file.N. + +:line + +[-suffix style args] :link(suffix) + +Use variants of various styles if they exist. The specified style can +be {cuda}, {gpu}, {intel}, {kk}, {omp}, {opt}, or {hybrid}. These +refer to optional packages that LAMMPS can be built with, as described +above in "Section 2.3"_#start_3. The "gpu" style corresponds to the +GPU package, the "intel" style to the USER-INTEL package, the "kk" +style to the KOKKOS package, the "opt" style to the OPT package, and +the "omp" style to the USER-OMP package. The hybrid style is the only +style that accepts arguments. It allows for two packages to be +specified. The first package specified is the default and will be used +if it is available. If no style is available for the first package, +the style for the second package will be used if available. For +example, "-suffix hybrid intel omp" will use styles from the +USER-INTEL package if they are installed and available, but styles for +the USER-OMP package otherwise. + +Along with the "-package" command-line switch, this is a convenient +mechanism for invoking accelerator packages and their options without +having to edit an input script. + +As an example, all of the packages provide a "pair_style +lj/cut"_pair_lj.html variant, with style names lj/cut/gpu, +lj/cut/intel, lj/cut/kk, lj/cut/omp, and lj/cut/opt. A variant style +can be specified explicitly in your input script, e.g. pair_style +lj/cut/gpu. If the -suffix switch is used the specified suffix +(gpu,intel,kk,omp,opt) is automatically appended whenever your input +script command creates a new "atom"_atom_style.html, +"pair"_pair_style.html, "fix"_fix.html, "compute"_compute.html, or +"run"_run_style.html style. If the variant version does not exist, +the standard version is created. + +For the GPU package, using this command-line switch also invokes the +default GPU settings, as if the command "package gpu 1" were used at +the top of your input script. These settings can be changed by using +the "-package gpu" command-line switch or the "package +gpu"_package.html command in your script. + +For the USER-INTEL package, using this command-line switch also +invokes the default USER-INTEL settings, as if the command "package +intel 1" were used at the top of your input script. These settings +can be changed by using the "-package intel" command-line switch or +the "package intel"_package.html command in your script. If the +USER-OMP package is also installed, the hybrid style with "intel omp" +arguments can be used to make the omp suffix a second choice, if a +requested style is not available in the USER-INTEL package. It will +also invoke the default USER-OMP settings, as if the command "package +omp 0" were used at the top of your input script. These settings can +be changed by using the "-package omp" command-line switch or the +"package omp"_package.html command in your script. + +For the KOKKOS package, using this command-line switch also invokes +the default KOKKOS settings, as if the command "package kokkos" were +used at the top of your input script. These settings can be changed +by using the "-package kokkos" command-line switch or the "package +kokkos"_package.html command in your script. + +For the OMP package, using this command-line switch also invokes the +default OMP settings, as if the command "package omp 0" were used at +the top of your input script. These settings can be changed by using +the "-package omp" command-line switch or the "package +omp"_package.html command in your script. + +The "suffix"_suffix.html command can also be used within an input +script to set a suffix, or to turn off or back on any suffix setting +made via the command line. + +:line + +[-var name value1 value2 ...] :link(var) + +Specify a variable that will be defined for substitution purposes when +the input script is read. This switch can be used multiple times to +define multiple variables. "Name" is the variable name which can be a +single character (referenced as $x in the input script) or a full +string (referenced as $\{abc\}). An "index-style +variable"_variable.html will be created and populated with the +subsequent values, e.g. a set of filenames. Using this command-line +option is equivalent to putting the line "variable name index value1 +value2 ..." at the beginning of the input script. Defining an index +variable as a command-line argument overrides any setting for the same +index variable in the input script, since index variables cannot be +re-defined. + +See the "variable"_variable.html command for more info on defining +index and other kinds of variables and the "Commands +parse"_Commands_parse.html page for more info on using variables in +input scripts. + +NOTE: Currently, the command-line parser looks for arguments that +start with "-" to indicate new switches. Thus you cannot specify +multiple variable values if any of them start with a "-", e.g. a +negative numeric value. It is OK if the first value1 starts with a +"-", since it is automatically skipped. diff --git a/doc/src/Run_output.txt b/doc/src/Run_output.txt new file mode 100644 index 0000000000..a534ae7c7b --- /dev/null +++ b/doc/src/Run_output.txt @@ -0,0 +1,176 @@ +"Higher level section"_Run.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Screen and logfile output :h3 + +As LAMMPS reads an input script, it prints information to both the +screen and a log file about significant actions it takes to setup a +simulation. When the simulation is ready to begin, LAMMPS performs +various initializations, and prints info about the run it is about to +perform, including the amount of memory (in MBytes per processor) that +the simulation requires. It also prints details of the initial +thermodynamic state of the system. During the run itself, +thermodynamic information is printed periodically, every few +timesteps. When the run concludes, LAMMPS prints the final +thermodynamic state and a total run time for the simulation. It also +appends statistics about the CPU time and storage requirements for the +simulation. An example set of statistics is shown here: + +Loop time of 2.81192 on 4 procs for 300 steps with 2004 atoms :pre + +Performance: 18.436 ns/day 1.302 hours/ns 106.689 timesteps/s +97.0% CPU use with 4 MPI tasks x no OpenMP threads :pre + +MPI task timings breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.9808 | 2.0134 | 2.0318 | 1.4 | 71.60 +Bond | 0.0021894 | 0.0060319 | 0.010058 | 4.7 | 0.21 +Kspace | 0.3207 | 0.3366 | 0.36616 | 3.1 | 11.97 +Neigh | 0.28411 | 0.28464 | 0.28516 | 0.1 | 10.12 +Comm | 0.075732 | 0.077018 | 0.07883 | 0.4 | 2.74 +Output | 0.00030518 | 0.00042665 | 0.00078821 | 1.0 | 0.02 +Modify | 0.086606 | 0.086631 | 0.086668 | 0.0 | 3.08 +Other | | 0.007178 | | | 0.26 :pre + +Nlocal: 501 ave 508 max 490 min +Histogram: 1 0 0 0 0 0 1 1 0 1 +Nghost: 6586.25 ave 6628 max 6548 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Neighs: 177007 ave 180562 max 170212 min +Histogram: 1 0 0 0 0 0 0 1 1 1 :pre + +Total # of neighbors = 708028 +Ave neighs/atom = 353.307 +Ave special neighs/atom = 2.34032 +Neighbor list builds = 26 +Dangerous builds = 0 :pre + +:line + +The first section provides a global loop timing summary. The {loop +time} is the total wall-clock time for the simulation to run. The +{Performance} line is provided for convenience to help predict how +long it will take to run a desired physical simulation. The {CPU use} +line provides the CPU utilization per MPI task; it should be close to +100% times the number of OpenMP threads (or 1 of not using OpenMP). +Lower numbers correspond to delays due to file I/O or insufficient +thread utilization. + +:line + +The {MPI task} section gives the breakdown of the CPU run time (in +seconds) into major categories: + +{Pair} = non-bonded force computations +{Bond} = bonded interactions: bonds, angles, dihedrals, impropers +{Kspace} = long-range interactions: Ewald, PPPM, MSM +{Neigh} = neighbor list construction +{Comm} = inter-processor communication of atoms and their properties +{Output} = output of thermodynamic info and dump files +{Modify} = fixes and computes invoked by fixes +{Other} = all the remaining time :ul + +For each category, there is a breakdown of the least, average and most +amount of wall time any processor spent on this category of +computation. The "%varavg" is the percentage by which the max or min +varies from the average. This is an indication of load imbalance. A +percentage close to 0 is perfect load balance. A large percentage is +imbalance. The final "%total" column is the percentage of the total +loop time is spent in this category. + +When using the "timer full"_timer.html setting, an additional column +is added that also prints the CPU utilization in percent. In addition, +when using {timer full} and the "package omp"_package.html command are +active, a similar timing summary of time spent in threaded regions to +monitor thread utilization and load balance is provided. A new {Thread +timings} section is also added, which lists the time spent in reducing +the per-thread data elements to the storage for non-threaded +computation. These thread timings are measured for the first MPI rank +only and and thus, because the breakdown for MPI tasks can change from +MPI rank to MPI rank, this breakdown can be very different for +individual ranks. Here is an example output for this section: + +Thread timings breakdown (MPI rank 0): +Total threaded time 0.6846 / 90.6% +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.5127 | 0.5147 | 0.5167 | 0.3 | 75.18 +Bond | 0.0043139 | 0.0046779 | 0.0050418 | 0.5 | 0.68 +Kspace | 0.070572 | 0.074541 | 0.07851 | 1.5 | 10.89 +Neigh | 0.084778 | 0.086969 | 0.089161 | 0.7 | 12.70 +Reduce | 0.0036485 | 0.003737 | 0.0038254 | 0.1 | 0.55 :pre + +:line + +The third section above lists the number of owned atoms (Nlocal), +ghost atoms (Nghost), and pair-wise neighbors stored per processor. +The max and min values give the spread of these values across +processors with a 10-bin histogram showing the distribution. The total +number of histogram counts is equal to the number of processors. + +:line + +The last section gives aggregate statistics (across all processors) +for pair-wise neighbors and special neighbors that LAMMPS keeps track +of (see the "special_bonds"_special_bonds.html command). The number +of times neighbor lists were rebuilt is tallied, as is the number of +potentially {dangerous} rebuilds. If atom movement triggered neighbor +list rebuilding (see the "neigh_modify"_neigh_modify.html command), +then dangerous reneighborings are those that were triggered on the +first timestep atom movement was checked for. If this count is +non-zero you may wish to reduce the delay factor to insure no force +interactions are missed by atoms moving beyond the neighbor skin +distance before a rebuild takes place. + +:line + +If an energy minimization was performed via the +"minimize"_minimize.html command, additional information is printed, +e.g. + +Minimization stats: + Stopping criterion = linesearch alpha is zero + Energy initial, next-to-last, final = + -6372.3765206 -8328.46998942 -8328.46998942 + Force two-norm initial, final = 1059.36 5.36874 + Force max component initial, final = 58.6026 1.46872 + Final line search alpha, max atom move = 2.7842e-10 4.0892e-10 + Iterations, force evaluations = 701 1516 :pre + +The first line prints the criterion that determined minimization was +converged. The next line lists the initial and final energy, as well +as the energy on the next-to-last iteration. The next 2 lines give a +measure of the gradient of the energy (force on all atoms). The +2-norm is the "length" of this 3N-component force vector; the largest +component (x, y, or z) of force (infinity-norm) is also given. Then +information is provided about the line search and statistics on how +many iterations and force-evaluations the minimizer required. +Multiple force evaluations are typically done at each iteration to +perform a 1d line minimization in the search direction. See the +"minimize"_minimize.html doc page for more details. + +:line + +If a "kspace_style"_kspace_style.html long-range Coulombics solver +that performs FFTs was used during the run (PPPM, Ewald), then +additional information is printed, e.g. + +FFT time (% of Kspce) = 0.200313 (8.34477) +FFT Gflps 3d 1d-only = 2.31074 9.19989 :pre + +The first line is the time spent doing 3d FFTs (several per timestep) +and the fraction it represents of the total KSpace time (listed +above). Each 3d FFT requires computation (3 sets of 1d FFTs) and +communication (transposes). The total flops performed is 5Nlog_2(N), +where N is the number of points in the 3d grid. The FFTs are timed +with and without the communication and a Gflop rate is computed. The +3d rate is with communication; the 1d rate is without (just the 1d +FFTs). Thus you can estimate what fraction of your FFT time was spent +in communication, roughly 75% in the example above. diff --git a/doc/src/Run_windows.txt b/doc/src/Run_windows.txt new file mode 100644 index 0000000000..1151a4a2bb --- /dev/null +++ b/doc/src/Run_windows.txt @@ -0,0 +1,73 @@ +"Higher level section"_Run.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Running LAMMPS on Windows :h3 + +To run a serial (non-MPI) executable, follow these steps: + +Get a command prompt by going to Start->Run... , +then typing "cmd". :ulb,l + +Move to the directory where you have your input script, +(e.g. by typing: cd "Documents"). :l + +At the command prompt, type "lmp_serial -in in.file", where +in.file is the name of your LAMMPS input script. :l,ule + +Note that the serial executable includes support for multi-threading +parallelization from the styles in the USER-OMP packages. To run with +4 threads, you can type this: + +lmp_serial -in in.lj -pk omp 4 -sf omp :pre + +:line + +For the MPI executable, which allows you to run LAMMPS under Windows +in parallel, follow these steps. + +Download and install a compatible MPI library binary package: + +for 32-bit Windows: "mpich2-1.4.1p1-win-ia32.msi"_download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi +for 64-bit Windows: "mpich2-1.4.1p1-win-x86-64.msi"_download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi :ul + +The LAMMPS Windows installer packages will automatically adjust your +path for the default location of this MPI package. After the +installation of the MPICH2 software, it needs to be integrated into +the system. For this you need to start a Command Prompt in +{Administrator Mode} (right click on the icon and select it). Change +into the MPICH2 installation directory, then into the subdirectory +[bin] and execute [smpd.exe -install]. Exit the command window. + +Get a new, regular command prompt by going to Start->Run... , +then typing "cmd". :ulb,l + +Move to the directory where you have your input file +(e.g. by typing: cd "Documents"). :l,ule + +Then type something like this: + +mpiexec -localonly 4 lmp_mpi -in in.file +mpiexec -np 4 lmp_mpi -in in.file :pre + +where in.file is the name of your LAMMPS input script. For the latter +case, you may be prompted to enter your password. + +In this mode, output may not immediately show up on the screen, so if +your input script takes a long time to execute, you may need to be +patient before the output shows up. + +The parallel executable can also run on a single processor by typing +something like this: + +lmp_mpi -in in.lj :pre + +Note that the parallel executable also includes OpenMP +multi-threading, which can be combined with MPI using something like: + +mpiexec -localonly 2 lmp_mpi -in in.lj -pk omp 2 -sf omp :pre diff --git a/doc/src/Section_start.txt b/doc/src/Section_start.txt deleted file mode 100644 index 19a798d5df..0000000000 --- a/doc/src/Section_start.txt +++ /dev/null @@ -1,1823 +0,0 @@ -"Previous Section"_Intro.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Commands.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -2. Getting Started :h2 - -This section describes how to build and run LAMMPS, for both new and -experienced users. - -2.1 "What's in the LAMMPS distribution"_#start_1 -2.2 "Making LAMMPS"_#start_2 -2.3 "Making LAMMPS with optional packages"_#start_3 -2.4 "Building LAMMPS as a library"_#start_4 -2.5 "Running LAMMPS"_#start_5 -2.6 "Command-line options"_#start_6 -2.7 "Screen output"_#start_7 -2.8 "Tips for users of previous versions"_#start_8 :all(b) - -:line - -2.1 What's in the LAMMPS distribution :h3,link(start_1) - -When you download a LAMMPS tarball you will need to unzip and untar -the downloaded file with the following commands, after placing the -tarball in an appropriate directory. - -tar -xzvf lammps*.tar.gz :pre - -This will create a LAMMPS directory containing two files and several -sub-directories: - -README: text file -LICENSE: the GNU General Public License (GPL) -bench: benchmark problems -doc: documentation -examples: simple test problems -potentials: embedded atom method (EAM) potential files -src: source files -tools: pre- and post-processing tools :tb(s=:) - -Note that the "download page"_download also has links to download -pre-build Windows installers, as well as pre-built packages for -several widely used Linux distributions. It also has instructions -for how to download/install LAMMPS for Macs (via Homebrew), and to -download and update LAMMPS from SVN and Git repositories, which gives -you access to the up-to-date sources that are used by the LAMMPS -core developers. - -:link(download,http://lammps.sandia.gov/download.html) - -The Windows and Linux packages for serial or parallel include -only selected packages and bug-fixes/upgrades listed on "this -page"_http://lammps.sandia.gov/bug.html up to a certain date, as -stated on the download page. If you want an executable with -non-included packages or that is more current, then you'll need to -build LAMMPS yourself, as discussed in the next section. - -Skip to the "Running LAMMPS"_#start_6 sections for info on how to -launch a LAMMPS Windows executable on a Windows box. - -:line - -2.2 Making LAMMPS :h3,link(start_2) - -This section has the following sub-sections: - -2.2.1 "Read this first"_#start_2_1 -2.2.1 "Steps to build a LAMMPS executable"_#start_2_2 -2.2.3 "Common errors that can occur when making LAMMPS"_#start_2_3 -2.2.4 "Additional build tips"_#start_2_4 -2.2.5 "Building for a Mac"_#start_2_5 -2.2.6 "Building for Windows"_#start_2_6 :all(b) - -:line - -Read this first :h4,link(start_2_1) - -If you want to avoid building LAMMPS yourself, read the preceding -section about options available for downloading and installing -executables. Details are discussed on the "download"_download page. - -Building LAMMPS can be simple or not-so-simple. If all you need are -the default packages installed in LAMMPS, and MPI is already installed -on your machine, or you just want to run LAMMPS in serial, then you -can typically use the Makefile.mpi or Makefile.serial files in -src/MAKE by typing one of these lines (from the src dir): - -make mpi -make serial :pre - -Note that on a facility supercomputer, there are often "modules" -loaded in your environment that provide the compilers and MPI you -should use. In this case, the "mpicxx" compile/link command in -Makefile.mpi should simply work by accessing those modules. - -It may be the case that one of the other Makefile.machine files in the -src/MAKE sub-directories is a better match to your system (type "make" -to see a list), you can use it as-is by typing (for example): - -make stampede :pre - -If any of these builds (with an existing Makefile.machine) works on -your system, then you're done! - -If you need to install an optional package with a LAMMPS command you -want to use, and the package does not depend on an extra library, you -can simply type - -make name :pre - -before invoking (or re-invoking) the above steps. "Name" is the -lower-case name of the package, e.g. replica or user-misc. - -If you want to do one of the following: - -use a LAMMPS command that requires an extra library (e.g. "dump -image"_dump_image.html) build with a package that requires an extra -library build with an accelerator package that requires special -compiler/linker settings run on a machine that has its own compilers, -settings, or libraries :ul - -then building LAMMPS is more complicated. You may need to find where -extra libraries exist on your machine or install them if they don't. -You may need to build extra libraries that are included in the LAMMPS -distribution, before building LAMMPS itself. You may need to edit a -Makefile.machine file to make it compatible with your system. - -Please read the following sections carefully. If you are not -comfortable with makefiles, or building codes on a Unix platform, or -running an MPI job on your machine, please find a local expert to help -you. Many compilation, linking, and run problems users experience are -often not LAMMPS issues - they are peculiar to the user's system, -compilers, libraries, etc. Such questions are better answered by a -local expert. - -If you have a build problem that you are convinced is a LAMMPS issue -(e.g. the compiler complains about a line of LAMMPS source code), then -please post the issue to the "LAMMPS mail -list"_http://lammps.sandia.gov/mail.html. - -If you succeed in building LAMMPS on a new kind of machine, for which -there isn't a similar machine Makefile included in the -src/MAKE/MACHINES directory, then send it to the developers and we can -include it in the LAMMPS distribution. - -:line - -Steps to build a LAMMPS executable :h4,link(start_2_2) - -Step 0 :h5 - -The src directory contains the C++ source and header files for LAMMPS. -It also contains a top-level Makefile and a MAKE sub-directory with -low-level Makefile.* files for many systems and machines. See the -src/MAKE/README file for a quick overview of what files are available -and what sub-directories they are in. - -The src/MAKE dir has a few files that should work as-is on many -platforms. The src/MAKE/OPTIONS dir has more that invoke additional -compiler, MPI, and other setting options commonly used by LAMMPS, to -illustrate their syntax. The src/MAKE/MACHINES dir has many more that -have been tweaked or optimized for specific machines. These files are -all good starting points if you find you need to change them for your -machine. Put any file you edit into the src/MAKE/MINE directory and -it will be never be touched by any LAMMPS updates. - ->From within the src directory, type "make" or "gmake". You should see -a list of available choices from src/MAKE and all of its -sub-directories. If one of those has the options you want or is the -machine you want, you can type a command like: - -make mpi :pre -or - -make serial :pre -or - -gmake mac :pre - -Note that the corresponding Makefile.machine can exist in src/MAKE or -any of its sub-directories. If a file with the same name appears in -multiple places (not a good idea), the order they are used is as -follows: src/MAKE/MINE, src/MAKE, src/MAKE/OPTIONS, src/MAKE/MACHINES. -This gives preference to a file you have created/edited and put in -src/MAKE/MINE. - -Note that on a multi-processor or multi-core platform you can launch a -parallel make, by using the "-j" switch with the make command, which -will build LAMMPS more quickly. - -If you get no errors and an executable like [lmp_mpi] or [lmp_serial] -or [lmp_mac] is produced, then you're done; it's your lucky day. - -Note that by default only a few of LAMMPS optional packages are -installed. To build LAMMPS with optional packages, see "this -section"_#start_3 below. - -Step 1 :h5 - -If Step 0 did not work, you will need to create a low-level Makefile -for your machine, like Makefile.foo. You should make a copy of an -existing Makefile.* in src/MAKE or one of its sub-directories as a -starting point. The only portions of the file you need to edit are -the first line, the "compiler/linker settings" section, and the -"LAMMPS-specific settings" section. When it works, put the edited -file in src/MAKE/MINE and it will not be altered by any future LAMMPS -updates. - -Step 2 :h5 - -Change the first line of Makefile.foo to list the word "foo" after the -"#", and whatever other options it will set. This is the line you -will see if you just type "make". - -Step 3 :h5 - -The "compiler/linker settings" section lists compiler and linker -settings for your C++ compiler, including optimization flags. You can -use g++, the open-source GNU compiler, which is available on all Unix -systems. You can also use mpicxx which will typically be available if -MPI is installed on your system, though you should check which actual -compiler it wraps. Vendor compilers often produce faster code. On -boxes with Intel CPUs, we suggest using the Intel icc compiler, which -can be downloaded from "Intel's compiler site"_intel. - -:link(intel,http://www.intel.com/software/products/noncom) - -If building a C++ code on your machine requires additional libraries, -then you should list them as part of the LIB variable. You should -not need to do this if you use mpicxx. - -The DEPFLAGS setting is what triggers the C++ compiler to create a -dependency list for a source file. This speeds re-compilation when -source (*.cpp) or header (*.h) files are edited. Some compilers do -not support dependency file creation, or may use a different switch -than -D. GNU g++ and Intel icc works with -D. If your compiler can't -create dependency files, then you'll need to create a Makefile.foo -patterned after Makefile.storm, which uses different rules that do not -involve dependency files. Note that when you build LAMMPS for the -first time on a new platform, a long list of *.d files will be printed -out rapidly. This is not an error; it is the Makefile doing its -normal creation of dependencies. - -Step 4 :h5 - -The "system-specific settings" section has several parts. Note that -if you change any -D setting in this section, you should do a full -re-compile, after typing "make clean" (which will describe different -clean options). - -The LMP_INC variable is used to include options that turn on ifdefs -within the LAMMPS code. The options that are currently recognized are: - --DLAMMPS_GZIP --DLAMMPS_JPEG --DLAMMPS_PNG --DLAMMPS_FFMPEG --DLAMMPS_MEMALIGN --DLAMMPS_SMALLBIG --DLAMMPS_BIGBIG --DLAMMPS_SMALLSMALL --DLAMMPS_LONGLONG_TO_LONG --DLAMMPS_EXCEPTIONS --DPACK_ARRAY --DPACK_POINTER --DPACK_MEMCPY :ul - -The read_data and dump commands will read/write gzipped files if you -compile with -DLAMMPS_GZIP. It requires that your machine supports -the "popen()" function in the standard runtime library and that a gzip -executable can be found by LAMMPS during a run. - -NOTE: on some clusters with high-speed networks, using the fork() -library calls (required by popen()) can interfere with the fast -communication library and lead to simulations using compressed output -or input to hang or crash. For selected operations, compressed file -I/O is also available using a compression library instead, which are -provided in the COMPRESS package. From more details about compiling -LAMMPS with packages, please see below. - -If you use -DLAMMPS_JPEG, the "dump image"_dump_image.html command -will be able to write out JPEG image files. For JPEG files, you must -also link LAMMPS with a JPEG library, as described below. If you use --DLAMMPS_PNG, the "dump image"_dump.html command will be able to write -out PNG image files. For PNG files, you must also link LAMMPS with a -PNG library, as described below. If neither of those two defines are -used, LAMMPS will only be able to write out uncompressed PPM image -files. - -If you use -DLAMMPS_FFMPEG, the "dump movie"_dump_image.html command -will be available to support on-the-fly generation of rendered movies -the need to store intermediate image files. It requires that your -machines supports the "popen" function in the standard runtime library -and that an FFmpeg executable can be found by LAMMPS during the run. - -NOTE: Similar to the note above, this option can conflict with -high-speed networks, because it uses popen(). - -Using -DLAMMPS_MEMALIGN= enables the use of the -posix_memalign() call instead of malloc() when large chunks or memory -are allocated by LAMMPS. This can help to make more efficient use of -vector instructions of modern CPUS, since dynamically allocated memory -has to be aligned on larger than default byte boundaries (e.g. 16 -bytes instead of 8 bytes on x86 type platforms) for optimal -performance. - -Use at most one of the -DLAMMPS_SMALLBIG, -DLAMMPS_BIGBIG, --DLAMMPS_SMALLSMALL settings. The default is -DLAMMPS_SMALLBIG. These -settings refer to use of 4-byte (small) vs 8-byte (big) integers -within LAMMPS, as specified in src/lmptype.h. The only reason to use -the BIGBIG setting is to enable simulation of huge molecular systems -(which store bond topology info) with more than 2 billion atoms, or to -track the image flags of moving atoms that wrap around a periodic box -more than 512 times. Normally, the only reason to use SMALLSMALL is -if your machine does not support 64-bit integers, though you can use -SMALLSMALL setting if you are running in serial or on a desktop -machine or small cluster where you will never run large systems or for -long time (more than 2 billion atoms, more than 2 billion timesteps). -See the "Additional build tips"_#start_2_4 section below for more -details on these settings. - -Note that the USER-ATC package is not currently compatible with --DLAMMPS_BIGBIG. Also the GPU package requires the lib/gpu library to -be compiled with the same setting, or the link will fail. - -The -DLAMMPS_LONGLONG_TO_LONG setting may be needed if your system or -MPI version does not recognize "long long" data types. In this case a -"long" data type is likely already 64-bits, in which case this setting -will convert to that data type. - -The -DLAMMPS_EXCEPTIONS setting can be used to activate alternative -versions of error handling inside of LAMMPS. This is useful when -external codes drive LAMMPS as a library. Using this option, LAMMPS -errors do not kill the caller. Instead, the call stack is unwound and -control returns to the caller. The library interface provides the -lammps_has_error() and lammps_get_last_error_message() functions to -detect and find out more about a LAMMPS error. - -Using one of the -DPACK_ARRAY, -DPACK_POINTER, and -DPACK_MEMCPY -options can make for faster parallel FFTs (in the PPPM solver) on some -platforms. The -DPACK_ARRAY setting is the default. See the -"kspace_style"_kspace_style.html command for info about PPPM. See -Step 6 below for info about building LAMMPS with an FFT library. - -Step 5 :h5 - -The 3 MPI variables are used to specify an MPI library to build LAMMPS -with. Note that you do not need to set these if you use the MPI -compiler mpicxx for your CC and LINK setting in the section above. -The MPI wrapper knows where to find the needed files. - -If you want LAMMPS to run in parallel, you must have an MPI library -installed on your platform. If MPI is installed on your system in the -usual place (under /usr/local), you also may not need to specify these -3 variables, assuming /usr/local is in your path. On some large -parallel machines which use "modules" for their compile/link -environments, you may simply need to include the correct module in -your build environment, before building LAMMPS. Or the parallel -machine may have a vendor-provided MPI which the compiler has no -trouble finding. - -Failing this, these 3 variables can be used to specify where the mpi.h -file (MPI_INC) and the MPI library file (MPI_PATH) are found and the -name of the library file (MPI_LIB). - -If you are installing MPI yourself, we recommend Argonne's MPICH2 -or OpenMPI. MPICH can be downloaded from the "Argonne MPI -site"_http://www.mcs.anl.gov/research/projects/mpich2/. OpenMPI can -be downloaded from the "OpenMPI site"_http://www.open-mpi.org. -Other MPI packages should also work. If you are running on a big -parallel platform, your system people or the vendor should have -already installed a version of MPI, which is likely to be faster -than a self-installed MPICH or OpenMPI, so find out how to build -and link with it. If you use MPICH or OpenMPI, you will have to -configure and build it for your platform. The MPI configure script -should have compiler options to enable you to use the same compiler -you are using for the LAMMPS build, which can avoid problems that can -arise when linking LAMMPS to the MPI library. - -If you just want to run LAMMPS on a single processor, you can use the -dummy MPI library provided in src/STUBS, since you don't need a true -MPI library installed on your system. See src/MAKE/Makefile.serial -for how to specify the 3 MPI variables in this case. You will also -need to build the STUBS library for your platform before making LAMMPS -itself. Note that if you are building with src/MAKE/Makefile.serial, -e.g. by typing "make serial", then the STUBS library is built for you. - -To build the STUBS library from the src directory, type "make -mpi-stubs", or from the src/STUBS dir, type "make". This should -create a libmpi_stubs.a file suitable for linking to LAMMPS. If the -build fails, you will need to edit the STUBS/Makefile for your -platform. - -The file STUBS/mpi.c provides a CPU timer function called MPI_Wtime() -that calls gettimeofday() . If your system doesn't support -gettimeofday() , you'll need to insert code to call another timer. -Note that the ANSI-standard function clock() rolls over after an hour -or so, and is therefore insufficient for timing long LAMMPS -simulations. - -Step 6 :h5 - -The 3 FFT variables allow you to specify an FFT library which LAMMPS -uses (for performing 1d FFTs) when running the particle-particle -particle-mesh (PPPM) option for long-range Coulombics via the -"kspace_style"_kspace_style.html command. - -LAMMPS supports common open-source or vendor-supplied FFT libraries -for this purpose. If you leave these 3 variables blank, LAMMPS will -use the open-source "KISS FFT library"_http://kissfft.sf.net, which is -included in the LAMMPS distribution. This library is portable to all -platforms and for typical LAMMPS simulations is almost as fast as FFTW -or vendor optimized libraries. If you are not including the KSPACE -package in your build, you can also leave the 3 variables blank. - -Otherwise, select which kinds of FFTs to use as part of the FFT_INC -setting by a switch of the form -DFFT_XXX. Recommended values for XXX -are: MKL or FFTW3. FFTW2 and NONE are supported as legacy options. -Selecting -DFFT_FFTW will use the FFTW3 library and -DFFT_NONE will -use the KISS library described above. - -You may also need to set the FFT_INC, FFT_PATH, and FFT_LIB variables, -so the compiler and linker can find the needed FFT header and library -files. Note that on some large parallel machines which use "modules" -for their compile/link environments, you may simply need to include -the correct module in your build environment. Or the parallel machine -may have a vendor-provided FFT library which the compiler has no -trouble finding. See the src/MAKE/OPTIONS/Makefile.fftw file for an -example of how to specify these variables to use the FFTW3 library. - -FFTW is fast, portable library that should also work on any platform -and typically be faster than KISS FFT. You can download it from -"www.fftw.org"_http://www.fftw.org. Both the legacy version 2.1.X and -the newer 3.X versions are supported as -DFFT_FFTW2 or -DFFT_FFTW3. -Building FFTW for your box should be as simple as ./configure; make; -make install. The install command typically requires root privileges -(e.g. invoke it via sudo), unless you specify a local directory with -the "--prefix" option of configure. Type "./configure --help" to see -various options. - -If you wish to have FFTW support for single-precision FFTs (see below -about -DFFT_SINGLE) in addition to the default double-precision FFTs, -you will need to build FFTW a second time for single-precision. For -FFTW3, do this via: - -make clean -./configure --enable-single; make; make install :pre - -which should produce the additional library libfftw3f.a. - -For FFTW2, do this: - -make clean -./configure --enable-float --enable-type-prefix; make; make install :pre - -which should produce the additional library libsfftw.a and additional -include file sfttw.a. Note that on some platforms FFTW2 has been -pre-installed for both single- and double-precision, and may already -have these files as well as libdfftw.a and dfftw.h for double -precision. - -The FFT_INC variable also allows for a -DFFT_SINGLE setting that will -use single-precision FFTs with PPPM, which can speed-up long-range -calculations, particularly in parallel or on GPUs. Fourier transform -and related PPPM operations are somewhat insensitive to floating point -truncation errors and thus do not always need to be performed in -double precision. Using the -DFFT_SINGLE setting trades off a little -accuracy for reduced memory use and parallel communication costs for -transposing 3d FFT data. Note that single precision FFTs have only -been tested with the FFTW3, FFTW2, MKL, and KISS FFT options. - -When using -DFFT_SINGLE with FFTW3 or FFTW2, you need to build FFTW -with support for single-precision, as explained above. For FFTW3 you -also need to include -lfftw3f with the FFT_LIB setting, in addition to --lfftw3. For FFTW2, you also need to specify -DFFT_SIZE with the -FFT_INC setting and -lsfftw with the FFT_LIB setting (in place of --lfftw). Similarly, if FFTW2 has been pre-installed with an explicit -double-precision library (libdfftw.a and not the default libfftw.a), -then you can specify -DFFT_SIZE (and not -DFFT_SINGLE), and specify --ldfftw to use double-precision FFTs. - -Step 7 :h5 - -The 3 JPG variables allow you to specify a JPEG and/or PNG library -which LAMMPS uses when writing out JPEG or PNG files via the "dump -image"_dump_image.html command. These can be left blank if you do not -use the -DLAMMPS_JPEG or -DLAMMPS_PNG switches discussed above in Step -4, since in that case JPEG/PNG output will be disabled. - -A standard JPEG library usually goes by the name libjpeg.a or -libjpeg.so and has an associated header file jpeglib.h. Whichever -JPEG library you have on your platform, you'll need to set the -appropriate JPG_INC, JPG_PATH, and JPG_LIB variables, so that the -compiler and linker can find it. - -A standard PNG library usually goes by the name libpng.a or libpng.so -and has an associated header file png.h. Whichever PNG library you -have on your platform, you'll need to set the appropriate JPG_INC, -JPG_PATH, and JPG_LIB variables, so that the compiler and linker can -find it. - -As before, if these header and library files are in the usual place on -your machine, you may not need to set these variables. - -Step 8 :h5 - -Note that by default only a few of LAMMPS optional packages are -installed. To build LAMMPS with optional packages, see "this -section"_#start_3 below, before proceeding to Step 9. - -Step 9 :h5 - -That's it. Once you have a correct Makefile.foo, and you have -pre-built any other needed libraries (e.g. MPI, FFT, etc) all you need -to do from the src directory is type something like this: - -make foo -make -j N foo -gmake foo -gmake -j N foo :pre - -The -j or -j N switches perform a parallel build which can be much -faster, depending on how many cores your compilation machine has. N -is the number of cores the build runs on. - -You should get the executable lmp_foo when the build is complete. - -:line - -Errors that can occur when making LAMMPS :h4 :link(start_2_3) - -If an error occurs when building LAMMPS, the compiler or linker will -state very explicitly what the problem is. The error message should -give you a hint as to which of the steps above has failed, and what -you need to do in order to fix it. Building a code with a Makefile is -a very logical process. The compiler and linker need to find the -appropriate files and those files need to be compatible with LAMMPS -settings and source files. When a make fails, there is usually a very -simple reason, which you or a local expert will need to fix. - -Here are two non-obvious errors that can occur: - -(1) If the make command breaks immediately with errors that indicate -it can't find files with a "*" in their names, this can be because -your machine's native make doesn't support wildcard expansion in a -makefile. Try gmake instead of make. If that doesn't work, try using -a -f switch with your make command to use a pre-generated -Makefile.list which explicitly lists all the needed files, e.g. - -make makelist -make -f Makefile.list linux -gmake -f Makefile.list mac :pre - -The first "make" command will create a current Makefile.list with all -the file names in your src dir. The 2nd "make" command (make or -gmake) will use it to build LAMMPS. Note that you should -include/exclude any desired optional packages before using the "make -makelist" command. - -(2) If you get an error that says something like 'identifier "atoll" -is undefined', then your machine does not support "long long" -integers. Try using the -DLAMMPS_LONGLONG_TO_LONG setting described -above in Step 4. - -:line - -Additional build tips :h4,link(start_2_4) - -Building LAMMPS for multiple platforms. :h5 - -You can make LAMMPS for multiple platforms from the same src -directory. Each target creates its own object sub-directory called -Obj_target where it stores the system-specific *.o files. - -Cleaning up. :h5 - -Typing "make clean-all" or "make clean-machine" will delete *.o object -files created when LAMMPS is built, for either all builds or for a -particular machine. - -Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or -DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL :h5 - -As explained above, any of these 3 settings can be specified on the -LMP_INC line in your low-level src/MAKE/Makefile.foo. - -The default is -DLAMMPS_SMALLBIG which allows for systems with up to -2^63 atoms and 2^63 timesteps (about 9e18). The atom limit is for -atomic systems which do not store bond topology info and thus do not -require atom IDs. If you use atom IDs for atomic systems (which is -the default) or if you use a molecular model, which stores bond -topology info and thus requires atom IDs, the limit is 2^31 atoms -(about 2 billion). This is because the IDs are stored in 32-bit -integers. - -Likewise, with this setting, the 3 image flags for each atom (see the -"dump"_dump.html doc page for a discussion) are stored in a 32-bit -integer, which means the atoms can only wrap around a periodic box (in -each dimension) at most 512 times. If atoms move through the periodic -box more than this many times, the image flags will "roll over", -e.g. from 511 to -512, which can cause diagnostics like the -mean-squared displacement, as calculated by the "compute -msd"_compute_msd.html command, to be faulty. - -To allow for larger atomic systems with atom IDs or larger molecular -systems or larger image flags, compile with -DLAMMPS_BIGBIG. This -stores atom IDs and image flags in 64-bit integers. This enables -atomic or molecular systems with atom IDS of up to 2^63 atoms (about -9e18). And image flags will not "roll over" until they reach 2^20 = -1048576. - -If your system does not support 8-byte integers, you will need to -compile with the -DLAMMPS_SMALLSMALL setting. This will restrict the -total number of atoms (for atomic or molecular systems) and timesteps -to 2^31 (about 2 billion). Image flags will roll over at 2^9 = 512. - -Note that in src/lmptype.h there are definitions of all these data -types as well as the MPI data types associated with them. The MPI -types need to be consistent with the associated C data types, or else -LAMMPS will generate a run-time error. As far as we know, the -settings defined in src/lmptype.h are portable and work on every -current system. - -In all cases, the size of problem that can be run on a per-processor -basis is limited by 4-byte integer storage to 2^31 atoms per processor -(about 2 billion). This should not normally be a limitation since such -a problem would have a huge per-processor memory footprint due to -neighbor lists and would run very slowly in terms of CPU secs/timestep. - -:line - -Building for a Mac :h4,link(start_2_5) - -OS X is a derivative of BSD Unix, so it should just work. See the -src/MAKE/MACHINES/Makefile.mac and Makefile.mac_mpi files. - -:line - -Building for Windows :h4,link(start_2_6) - -If you want to build a Windows version of LAMMPS, you can build it -yourself, but it may require some effort. LAMMPS expects a Unix-like -build environment for the default build procedure. This can be done -using either Cygwin or MinGW; the latter also exists as a ready-to-use -Linux-to-Windows cross-compiler in several Linux distributions. In -these cases, you can do the installation after installing several -unix-style commands like make, grep, sed and bash with some shell -utilities. - -For Cygwin and the MinGW cross-compilers, suitable makefiles are -provided in src/MAKE/MACHINES. When using other compilers, like -Visual C++ or Intel compilers for Windows, you may have to implement -your own build system. Due to differences between the Windows OS -and Windows system libraries to Unix-like environments like Linux -or MacOS, when compiling for Windows a few adjustments may be needed: - -Do [not] set the -DLAMMPS_MEMALIGN define (see LMP_INC makefile variable) -Add -lwsock32 -lpsapi to the linker flags (see LIB makefile variable) -Try adding -static-libgcc or -static or both to the linker flags when your LAMMPS executable complains about missing .dll files :ul - -Since none of the current LAMMPS core developers has significant -experience building executables on Windows, we are happy to distribute -contributed instructions and modifications to improve the situation, -but we cannot provide support for those. - -With the so-called "Anniversary Update" to Windows 10, there is a -Ubuntu Linux subsystem available for Windows, that can be installed -and then used to compile/install LAMMPS as if you are running on a -Ubuntu Linux system instead of Windows. - -As an alternative, you can download pre-compiled installer packages from -"packages.lammps.org/windows.html"_http://packages.lammps.org/windows.html. -These executables are built with most optional packages included and the -download includes documentation, potential files, some tools and many -examples, but no source code. - -:line - -2.3 Making LAMMPS with optional packages :h3,link(start_3) - -This section has the following sub-sections: - -2.3.1 "Package basics"_#start_3_1 -2.3.2 "Including/excluding packages"_#start_3_2 -2.3.3 "Packages that require extra libraries"_#start_3_3 :all(b) - -:line - -Package basics: :h4,link(start_3_1) - -The source code for LAMMPS is structured as a set of core files which -are always included, plus optional packages. Packages are groups of -files that enable a specific set of features. For example, force -fields for molecular systems or granular systems are in packages. - -The "Packages"_Packages.html doc pages has details about all the -packages, which come in two flavors: [standard] and [user] -packages. It also has specific instructions for building LAMMPS with -any package which requires an extra library. General instructions are -below. - -You can see the list of all packages by typing "make package" from -within the src directory of the LAMMPS distribution. It will also -list various make commands that can be used to manage packages. - -If you use a command in a LAMMPS input script that is part of a -package, you must have built LAMMPS with that package, else you will -get an error that the style is invalid or the command is unknown. -Every command's doc page specifies if it is part of a package. You can -type - -lmp_machine -h :pre - -to run your executable with the optional "-h command-line -switch"_#start_6 for "help", which will list the styles and commands -known to your executable, and immediately exit. - -:line - -Including/excluding packages :h4,link(start_3_2) - -To use (or not use) a package you must install it (or un-install it) -before building LAMMPS. From the src directory, this is as simple as: - -make yes-colloid -make mpi :pre - -or - -make no-user-omp -make mpi :pre - -NOTE: You should NOT install/un-install packages and build LAMMPS in a -single make command using multiple targets, e.g. make yes-colloid mpi. -This is because the make procedure creates a list of source files that -will be out-of-date for the build if the package configuration changes -within the same command. - -Any package can be installed or not in a LAMMPS build, independent of -all other packages. However, some packages include files derived from -files in other packages. LAMMPS checks for this and does the right -thing. I.e. individual files are only included if their dependencies -are already included. Likewise, if a package is excluded, other files -dependent on that package are also excluded. - -NOTE: The one exception is that we do not recommend building with both -the KOKKOS package installed and any of the other acceleration -packages (GPU, OPT, USER-INTEL, USER-OMP) also installed. This is -because of how Kokkos sometimes builds using a wrapper compiler which -can make it difficult to invoke all the compile/link flags correctly -for both Kokkos and non-Kokkos files. - -If you will never run simulations that use the features in a -particular packages, there is no reason to include it in your build. -For some packages, this will keep you from having to build extra -libraries, and will also produce a smaller executable which may run a -bit faster. - -When you download a LAMMPS tarball, three packages are pre-installed -in the src directory -- KSPACE, MANYBODY, MOLECULE -- because they are -so commonly used. When you download LAMMPS source files from the SVN -or Git repositories, no packages are pre-installed. - -Packages are installed or un-installed by typing - -make yes-name -make no-name :pre - -where "name" is the name of the package in lower-case, e.g. name = -kspace for the KSPACE package or name = user-atc for the USER-ATC -package. You can also type any of these commands: - -make yes-all | install all packages -make no-all | un-install all packages -make yes-standard or make yes-std | install standard packages -make no-standard or make no-std| un-install standard packages -make yes-user | install user packages -make no-user | un-install user packages -make yes-lib | install packages that require extra libraries -make no-lib | un-install packages that require extra libraries -make yes-ext | install packages that require external libraries -make no-ext | un-install packages that require external libraries :tb(s=|) - -which install/un-install various sets of packages. Typing "make -package" will list all the these commands. - -NOTE: Installing or un-installing a package works by simply moving -files back and forth between the main src directory and -sub-directories with the package name (e.g. src/KSPACE, src/USER-ATC), -so that the files are included or excluded when LAMMPS is built. -After you have installed or un-installed a package, you must re-build -LAMMPS for the action to take effect. - -The following make commands help manage files that exist in both the -src directory and in package sub-directories. You do not normally -need to use these commands unless you are editing LAMMPS files or have -downloaded a patch from the LAMMPS web site. - -Typing "make package-status" or "make ps" will show which packages are -currently installed. For those that are installed, it will list any -files that are different in the src directory and package -sub-directory. - -Typing "make package-installed" or "make pi" will list which packages are -currently installed, without listing the status of packages that are not -installed. - -Typing "make package-update" or "make pu" will overwrite src files -with files from the package sub-directories if the package is -installed. It should be used after a patch has been applied, since -patches only update the files in the package sub-directory, but not -the src files. - -Typing "make package-overwrite" will overwrite files in the package -sub-directories with src files. - -Typing "make package-diff" lists all differences between these files. - -Again, just type "make package" to see all of the package-related make -options. - -:line - -Packages that require extra libraries :h4,link(start_3_3) - -A few of the standard and user packages require extra libraries. See -the "Packages"_Packages.html doc pages for two tables of packages -which indicate which ones require libraries. For each such package, -the Section 4 doc page gives details on how to build the extra -library, including how to download it if necessary. The basic ideas -are summarized here. - -[System libraries:] - -Packages in the standard and user tables of the -"Packages"_Packages.html doc pages with a "sys" in the last column -link to system libraries that typically already exist on your machine. -E.g. the python package links to a system Python library. If your -machine does not have the required library, you will have to download -and install it on your machine, in either the system or user space. - -[Internal libraries:] - -Packages in the standard and user tables of the -"Packages"_Packages.html doc pages with an "int" in the last column -link to internal libraries whose source code is included with LAMMPS, -in the lib/name directory where name is the package name. You must -first build the library in that directory before building LAMMPS with -that package installed. E.g. the gpu package links to a library you -build in the lib/gpu dir. You can often do the build in one step by -typing "make lib-name args=..." from the src dir, with appropriate -arguments. You can leave off the args to see a help message. See the -"Packages details"_Packages_details.html doc page for details for each -package. - -[External libraries:] - -Packages in the standard and user tables of the -"Packages"_Packages.html doc pages with an "ext" in the last column -link to external libraries whose source code is not included with -LAMMPS. You must first download and install the library before -building LAMMPS with that package installed. E.g. the voronoi package -links to the freely available "Voro++ library"_voro_home2. You can -often do the download/build in one step by typing "make lib-name -args=..." from the src dir, with appropriate arguments. You can leave -off the args to see a help message. See the "Packages -details"_Packages_details.html doc page for details for each package. - -:link(voro_home2,http://math.lbl.gov/voro++) - -[Possible errors:] - -There are various common errors which can occur when building extra -libraries or when building LAMMPS with packages that require the extra -libraries. - -If you cannot build the extra library itself successfully, you may -need to edit or create an appropriate Makefile for your machine, e.g. -with appropriate compiler or system settings. Provided makefiles are -typically in the lib/name directory. E.g. see the Makefile.* files in -lib/gpu. - -The LAMMPS build often uses settings in a lib/name/Makefile.lammps -file which either exists in the LAMMPS distribution or is created or -copied from a lib/name/Makefile.lammps.* file when the library is -built. If those settings are not correct for your machine you will -need to edit or create an appropriate Makefile.lammps file. - -Package-specific details for these steps are given on the "Packages -details"_Packages_details.html doc page and in README files in the -lib/name directories. - -[Compiler options needed for accelerator packages:] - -Several packages contain code that is optimized for specific hardware, -e.g. CPU, KNL, or GPU. These are the OPT, GPU, KOKKOS, USER-INTEL, -and USER-OMP packages. Compiling and linking the source files in -these accelerator packages for optimal performance requires specific -settings in the Makefile.machine file you use. - -A summary of the Makefile.machine settings needed for each of these -packages is given on the "Packages"_Packages.html doc pages. More -info is given on the doc pages that describe each package in detail: - -"USER-INTEL package"_Speed_intel.html -"GPU package"_Speed_gpu.html -"KOKKOS package"_Speed_kokkos.html -"USER-OMP package"_Speed_omp.html -"OPT package"_Speed_opt.html :all(b) - -You can also use or examine the following machine Makefiles in -src/MAKE/OPTIONS, which include the settings. Note that the -USER-INTEL and KOKKOS packages can use settings that build LAMMPS for -different hardware. The USER-INTEL package can be compiled for Intel -CPUs and KNLs; the KOKKOS package builds for CPUs (OpenMP), GPUs -(CUDA), and Intel KNLs. - -Makefile.intel_cpu -Makefile.intel_phi -Makefile.kokkos_omp -Makefile.kokkos_cuda_mpi -Makefile.kokkos_phi -Makefile.omp -Makefile.opt :ul - -:line - -2.4 Building LAMMPS as a library :h3,link(start_4) - -LAMMPS can be built as either a static or shared library, which can -then be called from another application or a scripting language. See -the "Howto couple"_Howto_couple.html doc page for more info on -coupling LAMMPS to other codes. See the "Python"_Python.html doc page -for more info on wrapping and running LAMMPS from Python. - -Static library :h4 - -To build LAMMPS as a static library (*.a file on Linux), type - -make foo mode=lib :pre - -where foo is the machine name. This kind of library is typically used -to statically link a driver application to LAMMPS, so that you can -insure all dependencies are satisfied at compile time. This will use -the ARCHIVE and ARFLAGS settings in src/MAKE/Makefile.foo. The build -will create the file liblammps_foo.a which another application can -link to. It will also create a soft link liblammps.a, which will -point to the most recently built static library. - -Shared library :h4 - -To build LAMMPS as a shared library (*.so file on Linux), which can be -dynamically loaded, e.g. from Python, type - -make foo mode=shlib :pre - -where foo is the machine name. This kind of library is required when -wrapping LAMMPS with Python; see the "Python"_Python.html doc page for -details. This will use the SHFLAGS and SHLIBFLAGS settings in -src/MAKE/Makefile.foo and perform the build in the directory -Obj_shared_foo. This is so that each file can be compiled with the --fPIC flag which is required for inclusion in a shared library. The -build will create the file liblammps_foo.so which another application -can link to dynamically. It will also create a soft link -liblammps.so, which will point to the most recently built shared -library. This is the file the Python wrapper loads by default. - -Note that for a shared library to be usable by a calling program, all -the auxiliary libraries it depends on must also exist as shared -libraries. This will be the case for libraries included with LAMMPS, -such as the dummy MPI library in src/STUBS or any package libraries in -lib/packages, since they are always built as shared libraries using -the -fPIC switch. However, if a library like MPI or FFTW does not -exist as a shared library, the shared library build will generate an -error. This means you will need to install a shared library version -of the auxiliary library. The build instructions for the library -should tell you how to do this. - -Here is an example of such errors when the system FFTW or provided -lib/colvars library have not been built as shared libraries: - -/usr/bin/ld: /usr/local/lib/libfftw3.a(mapflags.o): relocation -R_X86_64_32 against '.rodata' can not be used when making a shared -object; recompile with -fPIC -/usr/local/lib/libfftw3.a: could not read symbols: Bad value :pre - -/usr/bin/ld: ../../lib/colvars/libcolvars.a(colvarmodule.o): -relocation R_X86_64_32 against '__pthread_key_create' can not be used -when making a shared object; recompile with -fPIC -../../lib/colvars/libcolvars.a: error adding symbols: Bad value :pre - -As an example, here is how to build and install the "MPICH -library"_mpich, a popular open-source version of MPI, distributed by -Argonne National Labs, as a shared library in the default -/usr/local/lib location: - -:link(mpich,http://www-unix.mcs.anl.gov/mpi) - -./configure --enable-shared -make -make install :pre - -You may need to use "sudo make install" in place of the last line if -you do not have write privileges for /usr/local/lib. The end result -should be the file /usr/local/lib/libmpich.so. - -[Additional requirement for using a shared library:] :h4 - -The operating system finds shared libraries to load at run-time using -the environment variable LD_LIBRARY_PATH. So you may wish to copy the -file src/liblammps.so or src/liblammps_g++.so (for example) to a place -the system can find it by default, such as /usr/local/lib, or you may -wish to add the LAMMPS src directory to LD_LIBRARY_PATH, so that the -current version of the shared library is always available to programs -that use it. - -For the csh or tcsh shells, you would add something like this to your -~/.cshrc file: - -setenv LD_LIBRARY_PATH $\{LD_LIBRARY_PATH\}:/home/sjplimp/lammps/src :pre - -Calling the LAMMPS library :h4 - -Either flavor of library (static or shared) allows one or more LAMMPS -objects to be instantiated from the calling program. - -When used from a C++ program, all of LAMMPS is wrapped in a LAMMPS_NS -namespace; you can safely use any of its classes and methods from -within the calling code, as needed. - -When used from a C or Fortran program or a scripting language like -Python, the library has a simple function-style interface, provided in -src/library.cpp and src/library.h. - -See the sample codes in examples/COUPLE/simple for examples of C++ and -C and Fortran codes that invoke LAMMPS thru its library interface. -There are other examples as well in the COUPLE directory which use -coupling ideas discussed on the "Howto couple"_Howto_couple.html doc -page. See the "Python"_Python.html doc page for a description of the -Python wrapper provided with LAMMPS that operates through the LAMMPS -library interface. - -The files src/library.cpp and library.h define the C-style API for -using LAMMPS as a library. See the "Howto library"_Howto_library.html -doc page for a description of the interface and how to extend it for -your needs. - -:line - -2.5 Running LAMMPS :h3,link(start_5) - -By default, LAMMPS runs by reading commands from standard input. Thus -if you run the LAMMPS executable by itself, e.g. - -lmp_linux :pre - -it will simply wait, expecting commands from the keyboard. Typically -you should put commands in an input script and use I/O redirection, -e.g. - -lmp_linux < in.file :pre - -For parallel environments this should also work. If it does not, use -the '-in' command-line switch, e.g. - -lmp_linux -in in.file :pre - -The "Commands"_Commands.html doc page describes how input scripts are -structured and what commands they contain. - -You can test LAMMPS on any of the sample inputs provided in the -examples or bench directory. Input scripts are named in.* and sample -outputs are named log.*.name.P where name is a machine and P is the -number of processors it was run on. - -Here is how you might run a standard Lennard-Jones benchmark on a -Linux box, using mpirun to launch a parallel job: - -cd src -make linux -cp lmp_linux ../bench -cd ../bench -mpirun -np 4 lmp_linux -in in.lj :pre - -See "this page"_bench for timings for this and the other benchmarks on -various platforms. Note that some of the example scripts require -LAMMPS to be built with one or more of its optional packages. - -:link(bench,http://lammps.sandia.gov/bench.html) - -:line - -On a Windows box, you can skip making LAMMPS and simply download an -installer package from "here"_http://packages.lammps.org/windows.html - -For running the non-MPI executable, follow these steps: - -Get a command prompt by going to Start->Run... , -then typing "cmd". :ulb,l - -Move to the directory where you have your input, e.g. a copy of -the [in.lj] input from the bench folder. (e.g. by typing: cd "Documents"). :l - -At the command prompt, type "lmp_serial -in in.lj", replacing [in.lj] -with the name of your LAMMPS input script. :l - -The serial executable includes support for multi-threading -parallelization from the styles in the USER-OMP packages. - -To run with, e.g. 4 threads, type "lmp_serial -in in.lj -pk omp 4 -sf omp" -:ule - -For the MPI version, which allows you to run LAMMPS under Windows with -the more general message passing parallel library (LAMMPS has been -designed from ground up to use MPI efficiently), follow these steps: - -Download and install a compatible MPI library binary package: -for 32-bit Windows -"mpich2-1.4.1p1-win-ia32.msi"_download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi -and for 64-bit Windows -"mpich2-1.4.1p1-win-x86-64.msi"_download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi -:ulb,l - -The LAMMPS Windows installer packages will automatically adjust your -path for the default location of this MPI package. After the installation -of the MPICH2 software, it needs to be integrated into the system. -For this you need to start a Command Prompt in {Administrator Mode} -(right click on the icon and select it). Change into the MPICH2 -installation directory, then into the subdirectory [bin] and execute -[smpd.exe -install]. Exit the command window. - -Get a new, regular command prompt by going to Start->Run... , -then typing "cmd". :l - -Move to the directory where you have your input file -(e.g. by typing: cd "Documents"). :l - -Then type something like this: - -mpiexec -localonly 4 lmp_mpi -in in.lj :pre -or - -mpiexec -np 4 lmp_mpi -in in.lj :pre - -replacing [in.lj] with the name of your LAMMPS input script. For the latter -case, you may be prompted to enter your password. :l - -In this mode, output may not immediately show up on the screen, so if -your input script takes a long time to execute, you may need to be -patient before the output shows up. :l - -The parallel executable can also run on a single processor by typing -something like: - -lmp_mpi -in in.lj :pre - -And the parallel executable also includes OpenMP multi-threading, which -can be combined with MPI using something like: - -mpiexec -localonly 2 lmp_mpi -in in.lj -pk omp 2 -sf omp :pre - -:ule - -:line - -The screen output from LAMMPS is described in a section below. As it -runs, LAMMPS also writes a log.lammps file with the same information. - -Note that this sequence of commands copies the LAMMPS executable -(lmp_linux) to the directory with the input files. This may not be -necessary, but some versions of MPI reset the working directory to -where the executable is, rather than leave it as the directory where -you launch mpirun from (if you launch lmp_linux on its own and not -under mpirun). If that happens, LAMMPS will look for additional input -files and write its output files to the executable directory, rather -than your working directory, which is probably not what you want. - -If LAMMPS encounters errors in the input script or while running a -simulation it will print an ERROR message and stop or a WARNING -message and continue. See the "Errors"_Errors.html doc page for a -discussion of the various kinds of errors LAMMPS can or can't detect, -a list of all ERROR and WARNING messages, and what to do about them. - -LAMMPS can run a problem on any number of processors, including a -single processor. In theory you should get identical answers on any -number of processors and on any machine. In practice, numerical -round-off can cause slight differences and eventual divergence of -molecular dynamics phase space trajectories. - -LAMMPS can run as large a problem as will fit in the physical memory -of one or more processors. If you run out of memory, you must run on -more processors or setup a smaller problem. - -:line - -2.6 Command-line options :h3,link(start_6) - -At run time, LAMMPS recognizes several optional command-line switches -which may be used in any order. Either the full word or a one-or-two -letter abbreviation can be used: - --e or -echo --h or -help --i or -in --k or -kokkos --l or -log --nc or -nocite --pk or -package --p or -partition --pl or -plog --ps or -pscreen --r or -restart --ro or -reorder --sc or -screen --sf or -suffix --v or -var :ul - -For example, lmp_ibm might be launched as follows: - -mpirun -np 16 lmp_ibm -v f tmp.out -l my.log -sc none -in in.alloy -mpirun -np 16 lmp_ibm -var f tmp.out -log my.log -screen none -in in.alloy :pre - -Here are the details on the options: - --echo style :pre - -Set the style of command echoing. The style can be {none} or {screen} -or {log} or {both}. Depending on the style, each command read from -the input script will be echoed to the screen and/or logfile. This -can be useful to figure out which line of your script is causing an -input error. The default value is {log}. The echo style can also be -set by using the "echo"_echo.html command in the input script itself. - --help :pre - -Print a brief help summary and a list of options compiled into this -executable for each LAMMPS style (atom_style, fix, compute, -pair_style, bond_style, etc). This can tell you if the command you -want to use was included via the appropriate package at compile time. -LAMMPS will print the info and immediately exit if this switch is -used. - --in file :pre - -Specify a file to use as an input script. This is an optional switch -when running LAMMPS in one-partition mode. If it is not specified, -LAMMPS reads its script from standard input, typically from a script -via I/O redirection; e.g. lmp_linux < in.run. I/O redirection should -also work in parallel, but if it does not (in the unlikely case that -an MPI implementation does not support it), then use the -in flag. -Note that this is a required switch when running LAMMPS in -multi-partition mode, since multiple processors cannot all read from -stdin. - --kokkos on/off keyword/value ... :pre - -Explicitly enable or disable KOKKOS support, as provided by the KOKKOS -package. Even if LAMMPS is built with this package, as described -above in "Section 2.3"_#start_3, this switch must be set to enable -running with the KOKKOS-enabled styles the package provides. If the -switch is not set (the default), LAMMPS will operate as if the KOKKOS -package were not installed; i.e. you can run standard LAMMPS or with -the GPU or USER-OMP packages, for testing or benchmarking purposes. - -Additional optional keyword/value pairs can be specified which -determine how Kokkos will use the underlying hardware on your -platform. These settings apply to each MPI task you launch via the -"mpirun" or "mpiexec" command. You may choose to run one or more MPI -tasks per physical node. Note that if you are running on a desktop -machine, you typically have one physical node. On a cluster or -supercomputer there may be dozens or 1000s of physical nodes. - -Either the full word or an abbreviation can be used for the keywords. -Note that the keywords do not use a leading minus sign. I.e. the -keyword is "t", not "-t". Also note that each of the keywords has a -default setting. Example of when to use these options and what -settings to use on different platforms is given on the "Speed -kokkos"_Speed_kokkos.html doc page. - -d or device -g or gpus -t or threads -n or numa :ul - -device Nd :pre - -This option is only relevant if you built LAMMPS with CUDA=yes, you -have more than one GPU per node, and if you are running with only one -MPI task per node. The Nd setting is the ID of the GPU on the node to -run on. By default Nd = 0. If you have multiple GPUs per node, they -have consecutive IDs numbered as 0,1,2,etc. This setting allows you -to launch multiple independent jobs on the node, each with a single -MPI task per node, and assign each job to run on a different GPU. - -gpus Ng Ns :pre - -This option is only relevant if you built LAMMPS with CUDA=yes, you -have more than one GPU per node, and you are running with multiple MPI -tasks per node (up to one per GPU). The Ng setting is how many GPUs -you will use. The Ns setting is optional. If set, it is the ID of a -GPU to skip when assigning MPI tasks to GPUs. This may be useful if -your desktop system reserves one GPU to drive the screen and the rest -are intended for computational work like running LAMMPS. By default -Ng = 1 and Ns is not set. - -Depending on which flavor of MPI you are running, LAMMPS will look for -one of these 3 environment variables - -SLURM_LOCALID (various MPI variants compiled with SLURM support) -MV2_COMM_WORLD_LOCAL_RANK (Mvapich) -OMPI_COMM_WORLD_LOCAL_RANK (OpenMPI) :pre - -which are initialized by the "srun", "mpirun" or "mpiexec" commands. -The environment variable setting for each MPI rank is used to assign a -unique GPU ID to the MPI task. - -threads Nt :pre - -This option assigns Nt number of threads to each MPI task for -performing work when Kokkos is executing in OpenMP or pthreads mode. -The default is Nt = 1, which essentially runs in MPI-only mode. If -there are Np MPI tasks per physical node, you generally want Np*Nt = -the number of physical cores per node, to use your available hardware -optimally. This also sets the number of threads used by the host when -LAMMPS is compiled with CUDA=yes. - -numa Nm :pre - -This option is only relevant when using pthreads with hwloc support. -In this case Nm defines the number of NUMA regions (typically sockets) -on a node which will be utilized by a single MPI rank. By default Nm -= 1. If this option is used the total number of worker-threads per -MPI rank is threads*numa. Currently it is always almost better to -assign at least one MPI rank per NUMA region, and leave numa set to -its default value of 1. This is because letting a single process span -multiple NUMA regions induces a significant amount of cross NUMA data -traffic which is slow. - --log file :pre - -Specify a log file for LAMMPS to write status information to. In -one-partition mode, if the switch is not used, LAMMPS writes to the -file log.lammps. If this switch is used, LAMMPS writes to the -specified file. In multi-partition mode, if the switch is not used, a -log.lammps file is created with hi-level status information. Each -partition also writes to a log.lammps.N file where N is the partition -ID. If the switch is specified in multi-partition mode, the hi-level -logfile is named "file" and each partition also logs information to a -file.N. For both one-partition and multi-partition mode, if the -specified file is "none", then no log files are created. Using a -"log"_log.html command in the input script will override this setting. -Option -plog will override the name of the partition log files file.N. - --nocite :pre - -Disable writing the log.cite file which is normally written to list -references for specific cite-able features used during a LAMMPS run. -See the "citation page"_http://lammps.sandia.gov/cite.html for more -details. - --package style args .... :pre - -Invoke the "package"_package.html command with style and args. The -syntax is the same as if the command appeared at the top of the input -script. For example "-package gpu 2" or "-pk gpu 2" is the same as -"package gpu 2"_package.html in the input script. The possible styles -and args are documented on the "package"_package.html doc page. This -switch can be used multiple times, e.g. to set options for the -USER-INTEL and USER-OMP packages which can be used together. - -Along with the "-suffix" command-line switch, this is a convenient -mechanism for invoking accelerator packages and their options without -having to edit an input script. - --partition 8x2 4 5 ... :pre - -Invoke LAMMPS in multi-partition mode. When LAMMPS is run on P -processors and this switch is not used, LAMMPS runs in one partition, -i.e. all P processors run a single simulation. If this switch is -used, the P processors are split into separate partitions and each -partition runs its own simulation. The arguments to the switch -specify the number of processors in each partition. Arguments of the -form MxN mean M partitions, each with N processors. Arguments of the -form N mean a single partition with N processors. The sum of -processors in all partitions must equal P. Thus the command -"-partition 8x2 4 5" has 10 partitions and runs on a total of 25 -processors. - -Running with multiple partitions can be useful for running -"multi-replica simulations"_Howto_replica.html, where each replica -runs on on one or a few processors. Note that with MPI installed on a -machine (e.g. your desktop), you can run on more (virtual) processors -than you have physical processors. - -To run multiple independent simulations from one input script, using -multiple partitions, see the "Howto multiple"_Howto_multiple.html doc -page. World- and universe-style "variables"_variable.html are useful -in this context. - --plog file :pre - -Specify the base name for the partition log files, so partition N -writes log information to file.N. If file is none, then no partition -log files are created. This overrides the filename specified in the --log command-line option. This option is useful when working with -large numbers of partitions, allowing the partition log files to be -suppressed (-plog none) or placed in a sub-directory (-plog -replica_files/log.lammps) If this option is not used the log file for -partition N is log.lammps.N or whatever is specified by the -log -command-line option. - --pscreen file :pre - -Specify the base name for the partition screen file, so partition N -writes screen information to file.N. If file is none, then no -partition screen files are created. This overrides the filename -specified in the -screen command-line option. This option is useful -when working with large numbers of partitions, allowing the partition -screen files to be suppressed (-pscreen none) or placed in a -sub-directory (-pscreen replica_files/screen). If this option is not -used the screen file for partition N is screen.N or whatever is -specified by the -screen command-line option. - --restart restartfile {remap} datafile keyword value ... :pre - -Convert the restart file into a data file and immediately exit. This -is the same operation as if the following 2-line input script were -run: - -read_restart restartfile {remap} -write_data datafile keyword value ... :pre - -Note that the specified restartfile and datafile can have wild-card -characters ("*",%") as described by the -"read_restart"_read_restart.html and "write_data"_write_data.html -commands. But a filename such as file.* will need to be enclosed in -quotes to avoid shell expansion of the "*" character. - -Note that following restartfile, the optional flag {remap} can be -used. This has the same effect as adding it to the -"read_restart"_read_restart.html command, as explained on its doc -page. This is only useful if the reading of the restart file triggers -an error that atoms have been lost. In that case, use of the remap -flag should allow the data file to still be produced. - -Also note that following datafile, the same optional keyword/value -pairs can be listed as used by the "write_data"_write_data.html -command. - --reorder nth N --reorder custom filename :pre - -Reorder the processors in the MPI communicator used to instantiate -LAMMPS, in one of several ways. The original MPI communicator ranks -all P processors from 0 to P-1. The mapping of these ranks to -physical processors is done by MPI before LAMMPS begins. It may be -useful in some cases to alter the rank order. E.g. to insure that -cores within each node are ranked in a desired order. Or when using -the "run_style verlet/split"_run_style.html command with 2 partitions -to insure that a specific Kspace processor (in the 2nd partition) is -matched up with a specific set of processors in the 1st partition. -See the "Speed tips"_Speed_tips.html doc page for more details. - -If the keyword {nth} is used with a setting {N}, then it means every -Nth processor will be moved to the end of the ranking. This is useful -when using the "run_style verlet/split"_run_style.html command with 2 -partitions via the -partition command-line switch. The first set of -processors will be in the first partition, the 2nd set in the 2nd -partition. The -reorder command-line switch can alter this so that -the 1st N procs in the 1st partition and one proc in the 2nd partition -will be ordered consecutively, e.g. as the cores on one physical node. -This can boost performance. For example, if you use "-reorder nth 4" -and "-partition 9 3" and you are running on 12 processors, the -processors will be reordered from - -0 1 2 3 4 5 6 7 8 9 10 11 :pre - -to - -0 1 2 4 5 6 8 9 10 3 7 11 :pre - -so that the processors in each partition will be - -0 1 2 4 5 6 8 9 10 -3 7 11 :pre - -See the "processors" command for how to insure processors from each -partition could then be grouped optimally for quad-core nodes. - -If the keyword is {custom}, then a file that specifies a permutation -of the processor ranks is also specified. The format of the reorder -file is as follows. Any number of initial blank or comment lines -(starting with a "#" character) can be present. These should be -followed by P lines of the form: - -I J :pre - -where P is the number of processors LAMMPS was launched with. Note -that if running in multi-partition mode (see the -partition switch -above) P is the total number of processors in all partitions. The I -and J values describe a permutation of the P processors. Every I and -J should be values from 0 to P-1 inclusive. In the set of P I values, -every proc ID should appear exactly once. Ditto for the set of P J -values. A single I,J pairing means that the physical processor with -rank I in the original MPI communicator will have rank J in the -reordered communicator. - -Note that rank ordering can also be specified by many MPI -implementations, either by environment variables that specify how to -order physical processors, or by config files that specify what -physical processors to assign to each MPI rank. The -reorder switch -simply gives you a portable way to do this without relying on MPI -itself. See the "processors out"_processors.html command for how -to output info on the final assignment of physical processors to -the LAMMPS simulation domain. - --screen file :pre - -Specify a file for LAMMPS to write its screen information to. In -one-partition mode, if the switch is not used, LAMMPS writes to the -screen. If this switch is used, LAMMPS writes to the specified file -instead and you will see no screen output. In multi-partition mode, -if the switch is not used, hi-level status information is written to -the screen. Each partition also writes to a screen.N file where N is -the partition ID. If the switch is specified in multi-partition mode, -the hi-level screen dump is named "file" and each partition also -writes screen information to a file.N. For both one-partition and -multi-partition mode, if the specified file is "none", then no screen -output is performed. Option -pscreen will override the name of the -partition screen files file.N. - --suffix style args :pre - -Use variants of various styles if they exist. The specified style can -be {cuda}, {gpu}, {intel}, {kk}, {omp}, {opt}, or {hybrid}. These -refer to optional packages that LAMMPS can be built with, as described -above in "Section 2.3"_#start_3. The "gpu" style corresponds to the -GPU package, the "intel" style to the USER-INTEL package, the "kk" -style to the KOKKOS package, the "opt" style to the OPT package, and -the "omp" style to the USER-OMP package. The hybrid style is the only -style that accepts arguments. It allows for two packages to be -specified. The first package specified is the default and will be used -if it is available. If no style is available for the first package, -the style for the second package will be used if available. For -example, "-suffix hybrid intel omp" will use styles from the -USER-INTEL package if they are installed and available, but styles for -the USER-OMP package otherwise. - -Along with the "-package" command-line switch, this is a convenient -mechanism for invoking accelerator packages and their options without -having to edit an input script. - -As an example, all of the packages provide a "pair_style -lj/cut"_pair_lj.html variant, with style names lj/cut/gpu, -lj/cut/intel, lj/cut/kk, lj/cut/omp, and lj/cut/opt. A variant style -can be specified explicitly in your input script, e.g. pair_style -lj/cut/gpu. If the -suffix switch is used the specified suffix -(gpu,intel,kk,omp,opt) is automatically appended whenever your input -script command creates a new "atom"_atom_style.html, -"pair"_pair_style.html, "fix"_fix.html, "compute"_compute.html, or -"run"_run_style.html style. If the variant version does not exist, -the standard version is created. - -For the GPU package, using this command-line switch also invokes the -default GPU settings, as if the command "package gpu 1" were used at -the top of your input script. These settings can be changed by using -the "-package gpu" command-line switch or the "package -gpu"_package.html command in your script. - -For the USER-INTEL package, using this command-line switch also -invokes the default USER-INTEL settings, as if the command "package -intel 1" were used at the top of your input script. These settings -can be changed by using the "-package intel" command-line switch or -the "package intel"_package.html command in your script. If the -USER-OMP package is also installed, the hybrid style with "intel omp" -arguments can be used to make the omp suffix a second choice, if a -requested style is not available in the USER-INTEL package. It will -also invoke the default USER-OMP settings, as if the command "package -omp 0" were used at the top of your input script. These settings can -be changed by using the "-package omp" command-line switch or the -"package omp"_package.html command in your script. - -For the KOKKOS package, using this command-line switch also invokes -the default KOKKOS settings, as if the command "package kokkos" were -used at the top of your input script. These settings can be changed -by using the "-package kokkos" command-line switch or the "package -kokkos"_package.html command in your script. - -For the OMP package, using this command-line switch also invokes the -default OMP settings, as if the command "package omp 0" were used at -the top of your input script. These settings can be changed by using -the "-package omp" command-line switch or the "package -omp"_package.html command in your script. - -The "suffix"_suffix.html command can also be used within an input -script to set a suffix, or to turn off or back on any suffix setting -made via the command line. - --var name value1 value2 ... :pre - -Specify a variable that will be defined for substitution purposes when -the input script is read. This switch can be used multiple times to -define multiple variables. "Name" is the variable name which can be a -single character (referenced as $x in the input script) or a full -string (referenced as $\{abc\}). An "index-style -variable"_variable.html will be created and populated with the -subsequent values, e.g. a set of filenames. Using this command-line -option is equivalent to putting the line "variable name index value1 -value2 ..." at the beginning of the input script. Defining an index -variable as a command-line argument overrides any setting for the same -index variable in the input script, since index variables cannot be -re-defined. See the "variable"_variable.html command for more info on -defining index and other kinds of variables and the "Commands -parse"_Commands_parse.html page for more info on using variables in -input scripts. - -NOTE: Currently, the command-line parser looks for arguments that -start with "-" to indicate new switches. Thus you cannot specify -multiple variable values if any of they start with a "-", e.g. a -negative numeric value. It is OK if the first value1 starts with a -"-", since it is automatically skipped. - -:line - -2.7 LAMMPS screen output :h3,link(start_7) - -As LAMMPS reads an input script, it prints information to both the -screen and a log file about significant actions it takes to setup a -simulation. When the simulation is ready to begin, LAMMPS performs -various initializations and prints the amount of memory (in MBytes per -processor) that the simulation requires. It also prints details of -the initial thermodynamic state of the system. During the run itself, -thermodynamic information is printed periodically, every few -timesteps. When the run concludes, LAMMPS prints the final -thermodynamic state and a total run time for the simulation. It then -appends statistics about the CPU time and storage requirements for the -simulation. An example set of statistics is shown here: - -Loop time of 2.81192 on 4 procs for 300 steps with 2004 atoms :pre - -Performance: 18.436 ns/day 1.302 hours/ns 106.689 timesteps/s -97.0% CPU use with 4 MPI tasks x no OpenMP threads :pre - -MPI task timings breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.9808 | 2.0134 | 2.0318 | 1.4 | 71.60 -Bond | 0.0021894 | 0.0060319 | 0.010058 | 4.7 | 0.21 -Kspace | 0.3207 | 0.3366 | 0.36616 | 3.1 | 11.97 -Neigh | 0.28411 | 0.28464 | 0.28516 | 0.1 | 10.12 -Comm | 0.075732 | 0.077018 | 0.07883 | 0.4 | 2.74 -Output | 0.00030518 | 0.00042665 | 0.00078821 | 1.0 | 0.02 -Modify | 0.086606 | 0.086631 | 0.086668 | 0.0 | 3.08 -Other | | 0.007178 | | | 0.26 :pre - -Nlocal: 501 ave 508 max 490 min -Histogram: 1 0 0 0 0 0 1 1 0 1 -Nghost: 6586.25 ave 6628 max 6548 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Neighs: 177007 ave 180562 max 170212 min -Histogram: 1 0 0 0 0 0 0 1 1 1 :pre - -Total # of neighbors = 708028 -Ave neighs/atom = 353.307 -Ave special neighs/atom = 2.34032 -Neighbor list builds = 26 -Dangerous builds = 0 :pre - -The first section provides a global loop timing summary. The {loop time} -is the total wall time for the section. The {Performance} line is -provided for convenience to help predicting the number of loop -continuations required and for comparing performance with other, -similar MD codes. The {CPU use} line provides the CPU utilization per -MPI task; it should be close to 100% times the number of OpenMP -threads (or 1 of no OpenMP). Lower numbers correspond to delays due -to file I/O or insufficient thread utilization. - -The MPI task section gives the breakdown of the CPU run time (in -seconds) into major categories: - -{Pair} stands for all non-bonded force computation -{Bond} stands for bonded interactions: bonds, angles, dihedrals, impropers -{Kspace} stands for reciprocal space interactions: Ewald, PPPM, MSM -{Neigh} stands for neighbor list construction -{Comm} stands for communicating atoms and their properties -{Output} stands for writing dumps and thermo output -{Modify} stands for fixes and computes called by them -{Other} is the remaining time :ul - -For each category, there is a breakdown of the least, average and most -amount of wall time a processor spent on this section. Also you have the -variation from the average time. Together these numbers allow to gauge -the amount of load imbalance in this segment of the calculation. Ideally -the difference between minimum, maximum and average is small and thus -the variation from the average close to zero. The final column shows -the percentage of the total loop time is spent in this section. - -When using the "timer full"_timer.html setting, an additional column -is present that also prints the CPU utilization in percent. In -addition, when using {timer full} and the "package omp"_package.html -command are active, a similar timing summary of time spent in threaded -regions to monitor thread utilization and load balance is provided. A -new entry is the {Reduce} section, which lists the time spent in -reducing the per-thread data elements to the storage for non-threaded -computation. These thread timings are taking from the first MPI rank -only and and thus, as the breakdown for MPI tasks can change from MPI -rank to MPI rank, this breakdown can be very different for individual -ranks. Here is an example output for this section: - -Thread timings breakdown (MPI rank 0): -Total threaded time 0.6846 / 90.6% -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.5127 | 0.5147 | 0.5167 | 0.3 | 75.18 -Bond | 0.0043139 | 0.0046779 | 0.0050418 | 0.5 | 0.68 -Kspace | 0.070572 | 0.074541 | 0.07851 | 1.5 | 10.89 -Neigh | 0.084778 | 0.086969 | 0.089161 | 0.7 | 12.70 -Reduce | 0.0036485 | 0.003737 | 0.0038254 | 0.1 | 0.55 :pre - -The third section lists the number of owned atoms (Nlocal), ghost atoms -(Nghost), and pair-wise neighbors stored per processor. The max and min -values give the spread of these values across processors with a 10-bin -histogram showing the distribution. The total number of histogram counts -is equal to the number of processors. - -The last section gives aggregate statistics for pair-wise neighbors -and special neighbors that LAMMPS keeps track of (see the -"special_bonds"_special_bonds.html command). The number of times -neighbor lists were rebuilt during the run is given as well as the -number of potentially "dangerous" rebuilds. If atom movement -triggered neighbor list rebuilding (see the -"neigh_modify"_neigh_modify.html command), then dangerous -reneighborings are those that were triggered on the first timestep -atom movement was checked for. If this count is non-zero you may wish -to reduce the delay factor to insure no force interactions are missed -by atoms moving beyond the neighbor skin distance before a rebuild -takes place. - -If an energy minimization was performed via the -"minimize"_minimize.html command, additional information is printed, -e.g. - -Minimization stats: - Stopping criterion = linesearch alpha is zero - Energy initial, next-to-last, final = - -6372.3765206 -8328.46998942 -8328.46998942 - Force two-norm initial, final = 1059.36 5.36874 - Force max component initial, final = 58.6026 1.46872 - Final line search alpha, max atom move = 2.7842e-10 4.0892e-10 - Iterations, force evaluations = 701 1516 :pre - -The first line prints the criterion that determined the minimization -to be completed. The third line lists the initial and final energy, -as well as the energy on the next-to-last iteration. The next 2 lines -give a measure of the gradient of the energy (force on all atoms). -The 2-norm is the "length" of this force vector; the inf-norm is the -largest component. Then some information about the line search and -statistics on how many iterations and force-evaluations the minimizer -required. Multiple force evaluations are typically done at each -iteration to perform a 1d line minimization in the search direction. - -If a "kspace_style"_kspace_style.html long-range Coulombics solve was -performed during the run (PPPM, Ewald), then additional information is -printed, e.g. - -FFT time (% of Kspce) = 0.200313 (8.34477) -FFT Gflps 3d 1d-only = 2.31074 9.19989 :pre - -The first line gives the time spent doing 3d FFTs (4 per timestep) and -the fraction it represents of the total KSpace time (listed above). -Each 3d FFT requires computation (3 sets of 1d FFTs) and communication -(transposes). The total flops performed is 5Nlog_2(N), where N is the -number of points in the 3d grid. The FFTs are timed with and without -the communication and a Gflop rate is computed. The 3d rate is with -communication; the 1d rate is without (just the 1d FFTs). Thus you -can estimate what fraction of your FFT time was spent in -communication, roughly 75% in the example above. - -:line - -2.8 Tips for users of previous LAMMPS versions :h3,link(start_8) - -The current C++ began with a complete rewrite of LAMMPS 2001, which -was written in F90. Features of earlier versions of LAMMPS are listed -on the "History page"_http://lammps.sandia.gov/history.html of the -LAMMPS website. The F90 and F77 versions (2001 and 99) are also -freely distributed as open-source codes; check the "History -page"_http://lammps.sandia.gov/history.html of the LAMMPS website for -info about those versions. The 99 and 2001 versions are no longer -under active development; they do not have all the features of C++ -LAMMPS. - -If you are a previous user of LAMMPS 2001, these are the most -significant changes you will notice in C++ LAMMPS: - -(1) The names and arguments of many input script commands have -changed. All commands are now a single word (e.g. read_data instead -of read data). - -(2) All the functionality of LAMMPS 2001 is included in C++ LAMMPS, -but you may need to specify the relevant commands in different ways. - -(3) The format of the data file can be streamlined for some problems. -See the "read_data"_read_data.html command for details. The data file -section "Nonbond Coeff" has been renamed to "Pair Coeff" in C++ LAMMPS. - -(4) Binary restart files written by LAMMPS 2001 cannot be read by C++ -LAMMPS with a "read_restart"_read_restart.html command. This is -because they were output by F90 which writes in a different binary -format than C or C++ writes or reads. Use the {restart2data} tool -provided with LAMMPS 2001 to convert the 2001 restart file to a text -data file. Then edit the data file as necessary before using the C++ -LAMMPS "read_data"_read_data.html command to read it in. - -(5) There are numerous small numerical changes in C++ LAMMPS that mean -you will not get identical answers when comparing to a 2001 run. -However, your initial thermodynamic energy and MD trajectory should be -close if you have setup the problem for both codes the same. -- GitLab From cfc1b3a82399f636197d3271deeaaf522519f681 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Thu, 9 Aug 2018 10:20:02 -0600 Subject: [PATCH 444/675] more changes induced by removing Section_start.txt --- doc/src/Errors_common.txt | 6 +- doc/src/Errors_messages.txt | 4 +- doc/src/Examples.txt | 8 +- doc/src/Howto.txt | 6 +- doc/src/Howto_couple.txt | 21 +- doc/src/Howto_library.txt | 19 +- doc/src/Howto_multiple.txt | 3 +- doc/src/Howto_replica.txt | 17 +- doc/src/Howto_restart.txt | 4 +- doc/src/Howto_temperature.txt | 11 +- doc/src/Manual.txt | 25 +- doc/src/Modify_contribute.txt | 15 +- doc/src/Packages.txt | 8 +- doc/src/Packages_details.txt | 1175 ++--------------- doc/src/Python_shlib.txt | 13 +- doc/src/Python_test.txt | 8 +- doc/src/Speed_gpu.txt | 18 +- doc/src/Speed_intel.txt | 71 +- doc/src/Speed_kokkos.txt | 73 +- doc/src/Speed_measure.txt | 4 +- doc/src/Speed_omp.txt | 21 +- doc/src/Speed_opt.txt | 4 +- doc/src/Speed_packages.txt | 6 +- doc/src/angle_charmm.txt | 12 +- doc/src/angle_class2.txt | 12 +- doc/src/angle_cosine.txt | 12 +- doc/src/angle_cosine_buck6d.txt | 4 +- doc/src/angle_cosine_delta.txt | 12 +- doc/src/angle_cosine_periodic.txt | 12 +- doc/src/angle_cosine_shift.txt | 19 +- doc/src/angle_cosine_shift_exp.txt | 12 +- doc/src/angle_cosine_squared.txt | 12 +- doc/src/angle_dipole.txt | 12 +- doc/src/angle_fourier.txt | 12 +- doc/src/angle_fourier_simple.txt | 12 +- doc/src/angle_harmonic.txt | 12 +- doc/src/angle_hybrid.txt | 4 +- doc/src/angle_quartic.txt | 12 +- doc/src/angle_sdk.txt | 4 +- doc/src/angle_style.txt | 7 +- doc/src/angle_table.txt | 12 +- doc/src/atom_modify.txt | 6 +- doc/src/atom_style.txt | 12 +- doc/src/balance.txt | 10 +- doc/src/bond_class2.txt | 12 +- doc/src/bond_fene.txt | 14 +- doc/src/bond_fene_expand.txt | 14 +- doc/src/bond_gromos.txt | 14 +- doc/src/bond_harmonic.txt | 14 +- doc/src/bond_harmonic_shift.txt | 12 +- doc/src/bond_harmonic_shift_cut.txt | 12 +- doc/src/bond_hybrid.txt | 6 +- doc/src/bond_morse.txt | 14 +- doc/src/bond_nonlinear.txt | 14 +- doc/src/bond_oxdna.txt | 4 +- doc/src/bond_quartic.txt | 14 +- doc/src/bond_style.txt | 7 +- doc/src/bond_table.txt | 14 +- doc/src/compute_ackland_atom.txt | 4 +- doc/src/compute_basal_atom.txt | 4 +- doc/src/compute_cnp_atom.txt | 4 +- doc/src/compute_damage_atom.txt | 4 +- doc/src/compute_dilatation_atom.txt | 4 +- doc/src/compute_dpd.txt | 4 +- doc/src/compute_dpd_atom.txt | 4 +- doc/src/compute_edpd_temp_atom.txt | 4 +- doc/src/compute_entropy_atom.txt | 4 +- doc/src/compute_erotate_rigid.txt | 4 +- doc/src/compute_event_displace.txt | 4 +- doc/src/compute_fep.txt | 4 +- doc/src/compute_ke_atom_eff.txt | 4 +- doc/src/compute_ke_eff.txt | 4 +- doc/src/compute_ke_rigid.txt | 4 +- doc/src/compute_meso_e_atom.txt | 4 +- doc/src/compute_meso_rho_atom.txt | 4 +- doc/src/compute_meso_t_atom.txt | 4 +- doc/src/compute_msd_nongauss.txt | 6 +- doc/src/compute_plasticity_atom.txt | 4 +- doc/src/compute_pressure.txt | 8 +- doc/src/compute_pressure_uef.txt | 6 +- doc/src/compute_rigid_local.txt | 4 +- doc/src/compute_saed.txt | 4 +- doc/src/compute_smd_contact_radius.txt | 4 +- doc/src/compute_smd_damage.txt | 4 +- doc/src/compute_smd_hourglass_error.txt | 4 +- doc/src/compute_smd_internal_energy.txt | 8 +- doc/src/compute_smd_plastic_strain.txt | 8 +- doc/src/compute_smd_plastic_strain_rate.txt | 8 +- doc/src/compute_smd_rho.txt | 4 +- doc/src/compute_smd_tlsph_defgrad.txt | 8 +- doc/src/compute_smd_tlsph_dt.txt | 4 +- doc/src/compute_smd_tlsph_num_neighs.txt | 4 +- doc/src/compute_smd_tlsph_shape.txt | 4 +- doc/src/compute_smd_tlsph_strain.txt | 4 +- doc/src/compute_smd_tlsph_strain_rate.txt | 4 +- doc/src/compute_smd_tlsph_stress.txt | 4 +- .../compute_smd_triangle_mesh_vertices.txt | 4 +- doc/src/compute_smd_ulsph_num_neighs.txt | 8 +- doc/src/compute_smd_ulsph_strain.txt | 8 +- doc/src/compute_smd_ulsph_strain_rate.txt | 9 +- doc/src/compute_smd_ulsph_stress.txt | 8 +- doc/src/compute_smd_vol.txt | 4 +- doc/src/compute_sna_atom.txt | 4 +- doc/src/compute_spin.txt | 8 +- doc/src/compute_tally.txt | 6 +- doc/src/compute_tdpd_cc_atom.txt | 4 +- doc/src/compute_temp.txt | 8 +- doc/src/compute_temp_asphere.txt | 4 +- doc/src/compute_temp_body.txt | 4 +- doc/src/compute_temp_deform_eff.txt | 4 +- doc/src/compute_temp_eff.txt | 4 +- doc/src/compute_temp_partial.txt | 8 +- doc/src/compute_temp_region_eff.txt | 4 +- doc/src/compute_temp_rotate.txt | 4 +- doc/src/compute_temp_uef.txt | 6 +- doc/src/compute_ti.txt | 4 +- doc/src/compute_voronoi_atom.txt | 4 +- doc/src/compute_xrd.txt | 4 +- doc/src/dihedral_charmm.txt | 12 +- doc/src/dihedral_class2.txt | 12 +- doc/src/dihedral_cosine_shift_exp.txt | 12 +- doc/src/dihedral_fourier.txt | 12 +- doc/src/dihedral_harmonic.txt | 12 +- doc/src/dihedral_helix.txt | 12 +- doc/src/dihedral_hybrid.txt | 4 +- doc/src/dihedral_multi_harmonic.txt | 12 +- doc/src/dihedral_nharmonic.txt | 12 +- doc/src/dihedral_opls.txt | 12 +- doc/src/dihedral_quadratic.txt | 12 +- doc/src/dihedral_spherical.txt | 4 +- doc/src/dihedral_style.txt | 7 +- doc/src/dihedral_table.txt | 12 +- doc/src/dihedral_table_cut.txt | 4 +- doc/src/dump.txt | 21 +- doc/src/dump_cfg_uef.txt | 6 +- doc/src/dump_h5md.txt | 14 +- doc/src/dump_image.txt | 7 +- doc/src/dump_molfile.txt | 4 +- doc/src/dump_netcdf.txt | 4 +- doc/src/dump_vtk.txt | 6 +- doc/src/echo.txt | 4 +- doc/src/fix.txt | 6 +- doc/src/fix_addforce.txt | 8 +- doc/src/fix_addtorque.txt | 4 +- doc/src/fix_append_atoms.txt | 4 +- doc/src/fix_atom_swap.txt | 4 +- doc/src/fix_ave_correlate_long.txt | 4 +- doc/src/fix_aveforce.txt | 8 +- doc/src/fix_bocs.txt | 4 +- doc/src/fix_bond_break.txt | 4 +- doc/src/fix_bond_create.txt | 4 +- doc/src/fix_bond_react.txt | 4 +- doc/src/fix_bond_swap.txt | 4 +- doc/src/fix_cmap.txt | 4 +- doc/src/fix_colvars.txt | 4 +- doc/src/fix_deform.txt | 8 +- doc/src/fix_deposit.txt | 4 +- doc/src/fix_dpd_energy.txt | 12 +- doc/src/fix_dpd_source.txt | 4 +- doc/src/fix_efield.txt | 4 +- doc/src/fix_ehex.txt | 4 +- doc/src/fix_enforce2d.txt | 8 +- doc/src/fix_eos_cv.txt | 4 +- doc/src/fix_eos_table.txt | 4 +- doc/src/fix_eos_table_rx.txt | 12 +- doc/src/fix_evaporate.txt | 4 +- doc/src/fix_filter_corotate.txt | 4 +- doc/src/fix_flow_gauss.txt | 4 +- doc/src/fix_freeze.txt | 12 +- doc/src/fix_gcmc.txt | 4 +- doc/src/fix_gld.txt | 4 +- doc/src/fix_gle.txt | 6 +- doc/src/fix_gravity.txt | 8 +- doc/src/fix_grem.txt | 4 +- doc/src/fix_imd.txt | 4 +- doc/src/fix_ipi.txt | 6 +- doc/src/fix_langevin.txt | 8 +- doc/src/fix_langevin_eff.txt | 4 +- doc/src/fix_langevin_spin.txt | 6 +- doc/src/fix_latte.txt | 8 +- doc/src/fix_lb_fluid.txt | 4 +- doc/src/fix_lb_momentum.txt | 4 +- doc/src/fix_lb_pc.txt | 4 +- doc/src/fix_lb_rigid_pc_sphere.txt | 4 +- doc/src/fix_lb_viscous.txt | 4 +- doc/src/fix_manifoldforce.txt | 27 +- doc/src/fix_meso.txt | 4 +- doc/src/fix_meso_stationary.txt | 4 +- doc/src/fix_momentum.txt | 8 +- doc/src/fix_mscg.txt | 4 +- doc/src/fix_msst.txt | 4 +- doc/src/fix_mvv_dpd.txt | 4 +- doc/src/fix_neb.txt | 4 +- doc/src/fix_nh.txt | 8 +- doc/src/fix_nh_eff.txt | 4 +- doc/src/fix_nh_uef.txt | 4 +- doc/src/fix_nph_asphere.txt | 12 +- doc/src/fix_nph_body.txt | 12 +- doc/src/fix_nph_sphere.txt | 8 +- doc/src/fix_nphug.txt | 12 +- doc/src/fix_npt_asphere.txt | 12 +- doc/src/fix_npt_body.txt | 12 +- doc/src/fix_npt_sphere.txt | 8 +- doc/src/fix_nve.txt | 8 +- doc/src/fix_nve_asphere.txt | 12 +- doc/src/fix_nve_asphere_noforce.txt | 4 +- doc/src/fix_nve_body.txt | 4 +- doc/src/fix_nve_dot.txt | 4 +- doc/src/fix_nve_dotc_langevin.txt | 4 +- doc/src/fix_nve_eff.txt | 4 +- doc/src/fix_nve_line.txt | 4 +- doc/src/fix_nve_manifold_rattle.txt | 4 +- doc/src/fix_nve_sphere.txt | 8 +- doc/src/fix_nve_spin.txt | 6 +- doc/src/fix_nve_tri.txt | 4 +- doc/src/fix_nvk.txt | 6 +- doc/src/fix_nvt_asphere.txt | 12 +- doc/src/fix_nvt_body.txt | 12 +- doc/src/fix_nvt_manifold_rattle.txt | 14 +- doc/src/fix_nvt_sllod.txt | 8 +- doc/src/fix_nvt_sllod_eff.txt | 4 +- doc/src/fix_nvt_sphere.txt | 8 +- doc/src/fix_orient.txt | 4 +- doc/src/fix_phonon.txt | 8 +- doc/src/fix_pimd.txt | 4 +- doc/src/fix_poems.txt | 4 +- doc/src/fix_pour.txt | 4 +- doc/src/fix_precession_spin.txt | 8 +- doc/src/fix_python_invoke.txt | 6 +- doc/src/fix_python_move.txt | 4 +- doc/src/fix_qbmsst.txt | 4 +- doc/src/fix_qeq.txt | 4 +- doc/src/fix_qeq_comb.txt | 8 +- doc/src/fix_qeq_reax.txt | 12 +- doc/src/fix_qmmm.txt | 4 +- doc/src/fix_qtb.txt | 4 +- doc/src/fix_reax_bonds.txt | 12 +- doc/src/fix_reaxc_species.txt | 16 +- doc/src/fix_rhok.txt | 4 +- doc/src/fix_rigid.txt | 12 +- doc/src/fix_rx.txt | 12 +- doc/src/fix_setforce.txt | 8 +- doc/src/fix_shake.txt | 12 +- doc/src/fix_shardlow.txt | 12 +- doc/src/fix_smd.txt | 4 +- doc/src/fix_smd_adjust_dt.txt | 27 +- doc/src/fix_smd_integrate_tlsph.txt | 18 +- doc/src/fix_smd_integrate_ulsph.txt | 28 +- doc/src/fix_smd_move_triangulated_surface.txt | 34 +- doc/src/fix_smd_setvel.txt | 4 +- doc/src/fix_smd_wall_surface.txt | 45 +- doc/src/fix_srd.txt | 4 +- doc/src/fix_temp_rescale_eff.txt | 4 +- doc/src/fix_tfmc.txt | 4 +- doc/src/fix_thermal_conductivity.txt | 4 +- doc/src/fix_ti_spring.txt | 4 +- doc/src/fix_tmd.txt | 4 +- doc/src/fix_ttm.txt | 3 +- doc/src/fix_tune_kspace.txt | 6 +- doc/src/fix_viscosity.txt | 4 +- doc/src/fix_wall.txt | 8 +- doc/src/fix_wall_body_polygon.txt | 4 +- doc/src/fix_wall_body_polyhedron.txt | 6 +- doc/src/fix_wall_ees.txt | 4 +- doc/src/fix_wall_gran.txt | 4 +- doc/src/fix_wall_gran_region.txt | 4 +- doc/src/fix_wall_piston.txt | 4 +- doc/src/fix_wall_reflect.txt | 8 +- doc/src/group2ndx.txt | 4 +- doc/src/improper_class2.txt | 12 +- doc/src/improper_cossq.txt | 12 +- doc/src/improper_cvff.txt | 12 +- doc/src/improper_distance.txt | 4 +- doc/src/improper_fourier.txt | 12 +- doc/src/improper_harmonic.txt | 12 +- doc/src/improper_hybrid.txt | 4 +- doc/src/improper_inversion_harmonic.txt | 4 +- doc/src/improper_ring.txt | 12 +- doc/src/improper_style.txt | 7 +- doc/src/improper_umbrella.txt | 12 +- doc/src/jump.txt | 11 +- doc/src/kspace_style.txt | 20 +- doc/src/lammps.book | 22 +- doc/src/log.txt | 5 +- doc/src/neb.txt | 20 +- doc/src/neighbor.txt | 4 +- doc/src/next.txt | 10 +- doc/src/package.txt | 95 +- doc/src/pair_adp.txt | 8 +- doc/src/pair_agni.txt | 25 +- doc/src/pair_airebo.txt | 12 +- doc/src/pair_beck.txt | 8 +- doc/src/pair_body_nparticle.txt | 4 +- doc/src/pair_body_rounded_polygon.txt | 4 +- doc/src/pair_body_rounded_polyhedron.txt | 4 +- doc/src/pair_bop.txt | 5 +- doc/src/pair_born.txt | 12 +- doc/src/pair_brownian.txt | 12 +- doc/src/pair_buck.txt | 12 +- doc/src/pair_buck6d_coul_gauss.txt | 6 +- doc/src/pair_buck_long.txt | 14 +- doc/src/pair_charmm.txt | 14 +- doc/src/pair_class2.txt | 12 +- doc/src/pair_colloid.txt | 12 +- doc/src/pair_comb.txt | 14 +- doc/src/pair_coul.txt | 10 +- doc/src/pair_coul_diel.txt | 9 +- doc/src/pair_coul_shield.txt | 6 +- doc/src/pair_cs.txt | 4 +- doc/src/pair_dipole.txt | 16 +- doc/src/pair_dpd.txt | 8 +- doc/src/pair_dpd_fdt.txt | 12 +- doc/src/pair_dsmc.txt | 4 +- doc/src/pair_eam.txt | 12 +- doc/src/pair_edip.txt | 12 +- doc/src/pair_eff.txt | 4 +- doc/src/pair_eim.txt | 8 +- doc/src/pair_exp6_rx.txt | 12 +- doc/src/pair_gauss.txt | 12 +- doc/src/pair_gayberne.txt | 12 +- doc/src/pair_gran.txt | 12 +- doc/src/pair_gromacs.txt | 8 +- doc/src/pair_gw.txt | 4 +- doc/src/pair_hbond_dreiding.txt | 8 +- doc/src/pair_hybrid.txt | 12 +- doc/src/pair_ilp_graphene_hbn.txt | 4 +- doc/src/pair_kim.txt | 4 +- doc/src/pair_kolmogorov_crespi_full.txt | 4 +- doc/src/pair_kolmogorov_crespi_z.txt | 4 +- doc/src/pair_lcbop.txt | 4 +- doc/src/pair_line_lj.txt | 4 +- doc/src/pair_list.txt | 4 +- doc/src/pair_lj.txt | 14 +- doc/src/pair_lj96.txt | 8 +- doc/src/pair_lj_cubic.txt | 8 +- doc/src/pair_lj_expand.txt | 8 +- doc/src/pair_lj_long.txt | 14 +- doc/src/pair_lj_smooth.txt | 8 +- doc/src/pair_lj_smooth_linear.txt | 8 +- doc/src/pair_lj_soft.txt | 10 +- doc/src/pair_lubricate.txt | 12 +- doc/src/pair_lubricateU.txt | 4 +- doc/src/pair_mdf.txt | 4 +- doc/src/pair_meam.txt | 14 +- doc/src/pair_meam_spline.txt | 12 +- doc/src/pair_meam_sw_spline.txt | 5 +- doc/src/pair_meso.txt | 4 +- doc/src/pair_mgpt.txt | 4 +- doc/src/pair_momb.txt | 4 +- doc/src/pair_morse.txt | 16 +- doc/src/pair_multi_lucy.txt | 4 +- doc/src/pair_multi_lucy_rx.txt | 12 +- doc/src/pair_nb3b_harmonic.txt | 12 +- doc/src/pair_nm.txt | 12 +- doc/src/pair_oxdna.txt | 4 +- doc/src/pair_oxdna2.txt | 4 +- doc/src/pair_peri.txt | 12 +- doc/src/pair_polymorphic.txt | 4 +- doc/src/pair_python.txt | 4 +- doc/src/pair_quip.txt | 4 +- doc/src/pair_reaxc.txt | 12 +- doc/src/pair_resquared.txt | 12 +- doc/src/pair_sdk.txt | 18 +- doc/src/pair_smd_hertz.txt | 30 +- doc/src/pair_smd_tlsph.txt | 46 +- doc/src/pair_smd_triangulated_surface.txt | 24 +- doc/src/pair_smd_ulsph.txt | 54 +- doc/src/pair_smtbq.txt | 4 +- doc/src/pair_snap.txt | 14 +- doc/src/pair_soft.txt | 8 +- doc/src/pair_sph_heatconduction.txt | 4 +- doc/src/pair_sph_idealgas.txt | 4 +- doc/src/pair_sph_lj.txt | 4 +- doc/src/pair_sph_rhosum.txt | 4 +- doc/src/pair_sph_taitwater.txt | 4 +- doc/src/pair_sph_taitwater_morris.txt | 4 +- doc/src/pair_spin_dmi.txt | 8 +- doc/src/pair_spin_exchange.txt | 8 +- doc/src/pair_spin_magelec.txt | 8 +- doc/src/pair_spin_neel.txt | 8 +- doc/src/pair_style.txt | 7 +- doc/src/pair_sw.txt | 12 +- doc/src/pair_table.txt | 8 +- doc/src/pair_table_rx.txt | 12 +- doc/src/pair_tersoff.txt | 12 +- doc/src/pair_tersoff_mod.txt | 12 +- doc/src/pair_tersoff_zbl.txt | 12 +- doc/src/pair_thole.txt | 12 +- doc/src/pair_tri_lj.txt | 4 +- doc/src/pair_ufm.txt | 8 +- doc/src/pair_vashishta.txt | 12 +- doc/src/pair_yukawa.txt | 8 +- doc/src/pair_yukawa_colloid.txt | 12 +- doc/src/pair_zbl.txt | 8 +- doc/src/partition.txt | 7 +- doc/src/prd.txt | 22 +- doc/src/processors.txt | 29 +- doc/src/python.txt | 4 +- doc/src/read_data.txt | 8 +- doc/src/read_dump.txt | 6 +- doc/src/read_restart.txt | 3 +- doc/src/region.txt | 8 +- doc/src/rerun.txt | 4 +- doc/src/restart.txt | 3 +- doc/src/run_style.txt | 22 +- doc/src/suffix.txt | 16 +- doc/src/tad.txt | 4 +- doc/src/temper.txt | 25 +- doc/src/temper_grem.txt | 4 +- doc/src/temper_npt.txt | 4 +- doc/src/thermo_style.txt | 6 +- doc/src/timer.txt | 4 +- doc/src/variable.txt | 49 +- doc/src/write_data.txt | 2 +- doc/src/write_restart.txt | 3 +- 415 files changed, 2033 insertions(+), 2894 deletions(-) diff --git a/doc/src/Errors_common.txt b/doc/src/Errors_common.txt index 43d1a85a7b..8f26b22b3a 100644 --- a/doc/src/Errors_common.txt +++ b/doc/src/Errors_common.txt @@ -58,9 +58,9 @@ style", with ... being fix, compute, pair, etc, it means that you mistyped the style name or that the command is part of an optional package which was not compiled into your executable. The list of available styles in your executable can be listed by using "the -h -command-line argument"_Section_start.html#start_6. The installation -and compilation of optional packages is explained in the "installation -instructions"_Section_start.html#start_3. +command-line swith"_Run_options.html. The installation and +compilation of optional packages is explained on the "Build +packages"_Build_packages.html doc page. For a given command, LAMMPS expects certain arguments in a specified order. If you mess this up, LAMMPS will often flag the error, but it diff --git a/doc/src/Errors_messages.txt b/doc/src/Errors_messages.txt index 03fc25b561..d279b5e975 100644 --- a/doc/src/Errors_messages.txt +++ b/doc/src/Errors_messages.txt @@ -7911,8 +7911,8 @@ Atom IDs must be positive integers. :dd {One or more atom IDs is too big} :dt The limit on atom IDs is set by the SMALLBIG, BIGBIG, SMALLSMALL -setting in your Makefile. See Section_start 2.2 of the manual for -more details. :dd +setting in your LAMMPS build. See the "Build +settings"_Build_settings.html doc page for more info. :dd {One or more atom IDs is zero} :dt diff --git a/doc/src/Examples.txt b/doc/src/Examples.txt index 5bd8da2409..4b6db8a047 100644 --- a/doc/src/Examples.txt +++ b/doc/src/Examples.txt @@ -112,10 +112,10 @@ web site. If you uncomment the "dump image"_dump_image.html line(s) in the input script a series of JPG images will be produced by the run (assuming -you built LAMMPS with JPG support; see "Section -2.2"_Section_start.html#start_2 for details). These can be viewed -individually or turned into a movie or animated by tools like -ImageMagick or QuickTime or various Windows-based tools. See the +you built LAMMPS with JPG support; see the +"Build_settings"_Build_settings.html doc page for details). These can +be viewed individually or turned into a movie or animated by tools +like ImageMagick or QuickTime or various Windows-based tools. See the "dump image"_dump_image.html doc page for more details. E.g. this Imagemagick command would create a GIF file suitable for viewing in a browser. diff --git a/doc/src/Howto.txt b/doc/src/Howto.txt index d9a60d1ef4..6e434552e7 100644 --- a/doc/src/Howto.txt +++ b/doc/src/Howto.txt @@ -84,7 +84,7 @@ END_RST --> "Using GitHub with LAMMPS"_Howto_github.html "PyLAMMPS interface to LAMMPS"_Howto_pylammps.html -"Using LAMMPS with bash on Windows"_Howto_bash.html +"Using LAMMPS with bash on Windows"_Howto_bash.html :all(b) "Restart a simulation"_Howto_restart.html "Visualize LAMMPS snapshots"_Howto_viz.html @@ -121,8 +121,8 @@ END_RST --> "Polarizable models"_Howto_polarizable.html "Adiabatic core/shell model"_Howto_coreshell.html "Drude induced dipoles"_Howto_drude.html -"Drude induced dipoles (extended)"_Howto_drude2.html :all(b) +"Drude induced dipoles (extended)"_Howto_drude2.html "Manifolds (surfaces)"_Howto_manifold.html -"Magnetic spins"_Howto_spins.html +"Magnetic spins"_Howto_spins.html :all(b) diff --git a/doc/src/Howto_couple.txt b/doc/src/Howto_couple.txt index 38595a9d16..4c0f72a806 100644 --- a/doc/src/Howto_couple.txt +++ b/doc/src/Howto_couple.txt @@ -77,17 +77,16 @@ strain induced across grain boundaries :l :link(quest,http://dft.sandia.gov/Quest) :link(spparks,http://www.sandia.gov/~sjplimp/spparks.html) -"This section"_Section_start.html#start_5 of the documentation -describes how to build LAMMPS as a library. Once this is done, you -can interface with LAMMPS either via C++, C, Fortran, or Python (or -any other language that supports a vanilla C-like interface). For -example, from C++ you could create one (or more) "instances" of -LAMMPS, pass it an input script to process, or execute individual -commands, all by invoking the correct class methods in LAMMPS. From C -or Fortran you can make function calls to do the same things. See the -"Python"_Python.html doc pages for a description of the Python wrapper -provided with LAMMPS that operates through the LAMMPS library -interface. +The "Build basics"_Build_basics.html doc page describes how to build +LAMMPS as a library. Once this is done, you can interface with LAMMPS +either via C++, C, Fortran, or Python (or any other language that +supports a vanilla C-like interface). For example, from C++ you could +create one (or more) "instances" of LAMMPS, pass it an input script to +process, or execute individual commands, all by invoking the correct +class methods in LAMMPS. From C or Fortran you can make function +calls to do the same things. See the "Python"_Python.html doc pages +for a description of the Python wrapper provided with LAMMPS that +operates through the LAMMPS library interface. The files src/library.cpp and library.h contain the C-style interface to LAMMPS. See the "Howto library"_Howto_library.html doc page for a diff --git a/doc/src/Howto_library.txt b/doc/src/Howto_library.txt index 0d4852fbf2..8e99182f87 100644 --- a/doc/src/Howto_library.txt +++ b/doc/src/Howto_library.txt @@ -9,10 +9,10 @@ Documentation"_ld - "LAMMPS Commands"_lc :c Library interface to LAMMPS :h3 -As described in "Section 2.5"_Section_start.html#start_5, LAMMPS can -be built as a library, so that it can be called by another code, used -in a "coupled manner"_Howto_couple.html with other codes, or driven -through a "Python interface"_Python.html. +As described on the "Build basics"_Build_basics.html doc page, LAMMPS +can be built as a library, so that it can be called by another code, +used in a "coupled manner"_Howto_couple.html with other codes, or +driven through a "Python interface"_Python.html. All of these methodologies use a C-style interface to LAMMPS that is provided in the files src/library.cpp and src/library.h. The @@ -51,12 +51,11 @@ void lammps_free(void *) :pre The lammps_open() function is used to initialize LAMMPS, passing in a list of strings as if they were "command-line -arguments"_Section_start.html#start_6 when LAMMPS is run in -stand-alone mode from the command line, and a MPI communicator for -LAMMPS to run under. It returns a ptr to the LAMMPS object that is -created, and which is used in subsequent library calls. The -lammps_open() function can be called multiple times, to create -multiple instances of LAMMPS. +arguments"_Run_options.html when LAMMPS is run in stand-alone mode +from the command line, and a MPI communicator for LAMMPS to run under. +It returns a ptr to the LAMMPS object that is created, and which is +used in subsequent library calls. The lammps_open() function can be +called multiple times, to create multiple instances of LAMMPS. LAMMPS will run on the set of processors in the communicator. This means the calling code can run LAMMPS on all or a subset of diff --git a/doc/src/Howto_multiple.txt b/doc/src/Howto_multiple.txt index edcb8196cf..9ad872fedc 100644 --- a/doc/src/Howto_multiple.txt +++ b/doc/src/Howto_multiple.txt @@ -80,8 +80,7 @@ jump in.polymer :pre All of the above examples work whether you are running on 1 or multiple processors, but assumed you are running LAMMPS on a single partition of processors. LAMMPS can be run on multiple partitions via -the "-partition" command-line switch as described in "this -section"_Section_start.html#start_6 of the manual. +the "-partition command-line switch"_Run_options.html. In the last 2 examples, if LAMMPS were run on 3 partitions, the same scripts could be used if the "index" and "loop" variables were diff --git a/doc/src/Howto_replica.txt b/doc/src/Howto_replica.txt index 1b44fe5374..2135e52e0e 100644 --- a/doc/src/Howto_replica.txt +++ b/doc/src/Howto_replica.txt @@ -29,29 +29,28 @@ runs different replicas at a series of temperature to facilitate rare-event sampling. These commands can only be used if LAMMPS was built with the REPLICA -package. See the "Making LAMMPS"_Section_start.html#start_3 section -for more info on packages. +package. See the "Build package"_Build_package.html doc page for more +info. PIMD runs different replicas whose individual particles are coupled together by springs to model a system or ring-polymers. This commands can only be used if LAMMPS was built with the USER-MISC -package. See the "Making LAMMPS"_Section_start.html#start_3 section -for more info on packages. +package. See the "Build package"_Build_package.html doc page for more +info. In all these cases, you must run with one or more processors per replica. The processors assigned to each replica are determined at run-time by using the "-partition command-line -switch"_Section_start.html#start_6 to launch LAMMPS on multiple -partitions, which in this context are the same as replicas. E.g. -these commands: +switch"_Run_options.html to launch LAMMPS on multiple partitions, +which in this context are the same as replicas. E.g. these commands: mpirun -np 16 lmp_linux -partition 8x2 -in in.temper mpirun -np 8 lmp_linux -partition 8x1 -in in.neb :pre would each run 8 replicas, on either 16 or 8 processors. Note the use -of the "-in command-line switch"_Section_start.html#start_6 to specify -the input script which is required when running in multi-replica mode. +of the "-in command-line switch"_Run_options.html to specify the input +script which is required when running in multi-replica mode. Also note that with MPI installed on a machine (e.g. your desktop), you can run on more (virtual) processors than you have physical diff --git a/doc/src/Howto_restart.txt b/doc/src/Howto_restart.txt index b211775479..bc67daa78e 100644 --- a/doc/src/Howto_restart.txt +++ b/doc/src/Howto_restart.txt @@ -16,8 +16,8 @@ restart files can be saved to disk using the "restart"_restart.html command. At a later time, these binary files can be read via a "read_restart"_read_restart.html command in a new script. Or they can be converted to text data files using the "-r command-line -switch"_Section_start.html#start_6 and read by a -"read_data"_read_data.html command in a new script. +switch"_Run_options.html and read by a "read_data"_read_data.html +command in a new script. Here we give examples of 2 scripts that read either a binary restart file or a converted data file and then issue a new run command to diff --git a/doc/src/Howto_temperature.txt b/doc/src/Howto_temperature.txt index 7a318250cf..8a9e262da1 100644 --- a/doc/src/Howto_temperature.txt +++ b/doc/src/Howto_temperature.txt @@ -17,7 +17,10 @@ aggregate motion of particles) and its thermal velocity. The sum of the two is the particle's total velocity, but the latter is often what is wanted to compute a temperature. -LAMMPS has several options for computing temperatures, any of which can be used in "thermostatting"_Howto_thermostat.html and "barostatting"_Howto_barostat.html. These "compute commands"_compute.html calculate temperature: +LAMMPS has several options for computing temperatures, any of which +can be used in "thermostatting"_Howto_thermostat.html and +"barostatting"_Howto_barostat.html. These "compute +commands"_compute.html calculate temperature: "compute temp"_compute_temp.html "compute temp/sphere"_compute_temp_sphere.html @@ -35,6 +38,6 @@ velocities) that are removed when computing the thermal temperature. temp/asphere"_compute_temp_asphere.html compute kinetic energy for finite-size particles that includes rotational degrees of freedom. They both allow for velocity biases indirectly, via an optional extra -argument which is another temperature compute that subtracts a velocity bias. -This allows the translational velocity of spherical or aspherical -particles to be adjusted in prescribed ways. +argument which is another temperature compute that subtracts a +velocity bias. This allows the translational velocity of spherical or +aspherical particles to be adjusted in prescribed ways. diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index a5e8b63640..a3747465cd 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -72,7 +72,9 @@ every LAMMPS command. :includehidden: Intro - Section_start + Install + Build + Run Commands Packages Speed @@ -107,15 +109,9 @@ END_RST --> "Introduction"_Intro.html :olb,l -"Getting started"_Section_start.html :l - 2.1 "What's in the LAMMPS distribution"_start_1 :ulb,b - 2.2 "Making LAMMPS"_start_2 :b - 2.3 "Making LAMMPS with optional packages"_start_3 :b - 2.4 "Building LAMMPS as a library"_start_4 :b - 2.5 "Running LAMMPS"_start_5 :b - 2.6 "Command-line options"_start_6 :b - 2.7 "Screen output"_start_7 :b - 2.8 "Tips for users of previous versions"_start_8 :ule,b +"Install LAMMPS"_Install.html :l +"Build LAMMPS"_Build.html :l +"Run LAMMPS"_Run.html :l "Commands"_Commands.html :l "Optional packages"_Packages.html :l "Accelerate performance"_Speed.html :l @@ -127,15 +123,6 @@ END_RST --> "Errors"_Errors.html :l :ole -:link(start_1,Section_start.html#start_1) -:link(start_2,Section_start.html#start_2) -:link(start_3,Section_start.html#start_3) -:link(start_4,Section_start.html#start_4) -:link(start_5,Section_start.html#start_5) -:link(start_6,Section_start.html#start_6) -:link(start_7,Section_start.html#start_7) -:link(start_8,Section_start.html#start_8) - diff --git a/doc/src/Modify_contribute.txt b/doc/src/Modify_contribute.txt index ef9fe6a717..8cbea8bb31 100644 --- a/doc/src/Modify_contribute.txt +++ b/doc/src/Modify_contribute.txt @@ -44,13 +44,14 @@ compression, as this works well on all platforms. If the new features/files are broadly useful we may add them as core files to LAMMPS or as part of a "standard -package"_Section_start.html#start_3. Else we will add them as a -user-contributed file or package. Examples of user packages are in -src sub-directories that start with USER. The USER-MISC package is -simply a collection of (mostly) unrelated single files, which is the -simplest way to have your contribution quickly added to the LAMMPS -distribution. You can see a list of the both standard and user -packages by typing "make package" in the LAMMPS src directory. +package"_Packages_standard.html. Else we will add them as a +user-contributed file or "user package"_Packages_user.html. Examples +of user packages are in src sub-directories that start with USER. The +USER-MISC package is simply a collection of (mostly) unrelated single +files, which is the simplest way to have your contribution quickly +added to the LAMMPS distribution. All the standard and user packages +are listed and described on the "Packages +details"_Packages_details.html doc page. Note that by providing us files to release, you are agreeing to make them open-source, i.e. we can release them under the terms of the GPL, diff --git a/doc/src/Packages.txt b/doc/src/Packages.txt index a7f45a99b7..e48c947be3 100644 --- a/doc/src/Packages.txt +++ b/doc/src/Packages.txt @@ -13,12 +13,12 @@ Optional packages :h2 This section gives an overview of the optional packages that extend LAMMPS functionality. Packages are groups of files that enable a specific set of features. For example, force fields for molecular -systems or rigid-body constraint are in packages. You can see the +systems or rigid-body constraints are in packages. You can see the list of all packages and "make" commands to manage them by typing "make package" from within the src directory of the LAMMPS -distribution. "Section 2.3"_Section_start.html#start_3 gives general -info on how to install and un-install packages as part of the LAMMPS -build process. +distribution. The "Build package"_Build_package.html doc page gives +general info on how to install and un-install packages as part of the +LAMMPS build process. diff --git a/doc/src/Build_basics.txt b/doc/src/Build_basics.txt index b2816b7acb..454e5fbe35 100644 --- a/doc/src/Build_basics.txt +++ b/doc/src/Build_basics.txt @@ -301,15 +301,9 @@ want to copy files to is protected. [CMake variable]: -cmake CMAKE_INSTALL_PREFIX=path \[options ...\] ~/lammps/cmake +cmake -D CMAKE_INSTALL_PREFIX=path \[options ...\] ~/lammps/cmake make # perform make after CMake command -make install # perform the installation :pre - -Note that The CMAKE_INSTALL_PREFIX=path is not a -D variable like -other LAMMPS settings, but rather an option to the cmake command. The -path is where to install the LAMMPS files. - -TODO: is this sub-section correct? +make install # perform the installation into prefix :pre [Traditional make]: diff --git a/doc/src/Build_cmake.txt b/doc/src/Build_cmake.txt index 2bc10d1463..b4f160f371 100644 --- a/doc/src/Build_cmake.txt +++ b/doc/src/Build_cmake.txt @@ -91,8 +91,8 @@ cmake directory which contains the CMakeLists.txt file. The argument can be preceeded or followed by various CMake command-line options. Several useful ones are: -CAKE_INSTALL_PREFIX=path # where to install LAMMPS executable/lib if desired -CMAKE_BUILD_TYPE=type # type = Release or Debug +-D CMAKE_INSTALL_PREFIX=path # where to install LAMMPS executable/lib if desired +-D CMAKE_BUILD_TYPE=type # type = Release or Debug -G output # style of output CMake generates -DVARIABLE=value # setting for a LAMMPS feature to enable -D VARIABLE=value # ditto, but cannot come after CMakeLists.txt dir @@ -103,7 +103,7 @@ All of these variable names are upper-case and their values are lower-case, e.g. -D LAMMPS_SIZES=smallbig. For boolean values, any of these forms can be used: yes/no, on/off, 1/0. -By default CMake generates a Makefile to perform the LAMMPS build. +On Unix/Linux CMake generates a Makefile by default to perform the LAMMPS build. Alternate forms of build info can be generated via the -G switch, e.g. Visual Studio on a Windows machine. Type "cmake --help" to see the "Generator" styles of output your system supports. @@ -118,22 +118,22 @@ CMake creates a CMakeCache.txt file when it runs. This stores all the settings, so that running CMake again from the same directory will inherit those settings. -TODO: explain how to change settings on a subsequent cmake in the same -build dir. In that case is "." the final arg of cmake? +If you later want to change a setting you can rerun cmake in the build +directory with different setting. Please note that some automatically +detected variables will not change their value. In these cases it is +usually better to start with a fresh build directory. [Curses version (terminal-style menu) of CMake]: ccmake ~/lammps/cmake :pre -TODO: give brief explanation of how to find and toggle options, how to -perform the generate, how to use it multiple times. +Please see the "ccmake manual"_https://cmake.org/cmake/help/latest/manual/ccmake.1.html for more information. [GUI version of CMake]: cmake-gui ~/lammps/cmake :pre -TODO: give brief explanation of how to find and toggle options, how to -perform the generate, how to use it multiple times. +Please see the "cmake-gui manual"_https://cmake.org/cmake/help/latest/manual/cmake-gui.1.html for more information. :line @@ -152,8 +152,7 @@ module list # is a cmake module is already loaded module avail # is a cmake module available? module load cmake3 # load cmake module with appropriate name :pre -If you do not have CMake or a new enough version, you can install it -as follows: - -TODO: give install instructions for Linux, Mac, Windows - +If you do not have CMake or a new enough version, you can download the latest +version at "https://cmake.org/download/"_https://cmake.org/download/. +Instructions on how to install it on various platforms can be found +"here"_https://cmake.org/install/. diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt index d940ed23cd..9a03d0092f 100644 --- a/doc/src/Build_extras.txt +++ b/doc/src/Build_extras.txt @@ -68,7 +68,7 @@ name. :line -GPU package :h3,link(gpu) +GPU package :h4,link(gpu) To build with this package, you need to choose options for precision and which GPU hardware to build for. To build with make you also need @@ -134,7 +134,7 @@ GPU library. :line -KIM package :h3,link(kim) +KIM package :h4,link(kim) To build with this package, the KIM library must be downloaded and built on your system. It must include the KIM models that you want to @@ -178,7 +178,7 @@ make lib-kim args="-p /usr/local/kim-api -a EAM_Dynamo_Ackland_W__MO_14162719659 :line -KOKKOS package :h3,link(kokkos) +KOKKOS package :h4,link(kokkos) To build with this package, you have to choose a Kokkos setting for either CPU (multi-threading via OpenMP) or KNL (OpenMP) or GPU (Cuda) @@ -241,7 +241,7 @@ do not recommend building with other acceleration packages installed :line -LATTE package :h3,link(latte) +LATTE package :h4,link(latte) To build with this package, you must download and build the LATTE library. @@ -272,7 +272,7 @@ the compiler you use on your system to build LATTE. :line -MEAM package :h3,link(meam) +MEAM package :h4,link(meam) NOTE: You should test building the MEAM library with both the Intel and GNU compilers to see if a simulation runs faster with one versus @@ -307,7 +307,7 @@ file. :line -MSCG package :h3,link(mscg) +MSCG package :h4,link(mscg) Before building LAMMPS with this package, you must first download and build the MS-CG library. @@ -342,7 +342,7 @@ You should not need to edit the lib/mscg/Makefile.lammps file. :line -OPT package :h3,link(opt) +OPT package :h4,link(opt) [CMake build]: @@ -359,7 +359,7 @@ CCFLAGS: add -restrict for Intel compilers :ul :line -POEMS package :h3,link(poems) +POEMS package :h4,link(poems) [CMake build]: @@ -388,7 +388,7 @@ a corresponding Makefile.lammps.machine file. :line -PYTHON package :h3,link(python) +PYTHON package :h4,link(python) Building with the PYTHON package assumes you have a Python shared library available on your system, which needs to be a Python 2 @@ -407,7 +407,7 @@ process. You should only need to create a new Makefile.lammps.* file :line -REAX package :h3,link(reax) +REAX package :h4,link(reax) [CMake build]: @@ -438,7 +438,7 @@ file. :line -VORONOI package :h3,link(voronoi) +VORONOI package :h4,link(voronoi) [CMake build]: @@ -466,7 +466,7 @@ the lib/voronoi/Makefile.lammps file. :line :line -USER-ATC package :h3,link(user-atc) +USER-ATC package :h4,link(user-atc) [CMake build]: @@ -507,7 +507,7 @@ make lib-linalg args="-m gfortran" # build with GNU Fortran compiler :pre :line -USER-AWPMD package :h3,link(user-awpmd) +USER-AWPMD package :h4,link(user-awpmd) [CMake build]: @@ -547,7 +547,7 @@ make lib-linalg args="-m gfortran" # build with GNU Fortran compiler :pre :line -USER-COLVARS package :h3,link(user-colvars) +USER-COLVARS package :h4,link(user-colvars) [CMake build]: @@ -577,7 +577,7 @@ a corresponding Makefile.lammps.machine file. :line -USER-H5MD package :h3,link(user-h5md) +USER-H5MD package :h4,link(user-h5md) [CMake build]: @@ -608,7 +608,7 @@ file. :line -USER-INTEL package :h3,link(user-intel) +USER-INTEL package :h4,link(user-intel) [CMake build]: @@ -651,7 +651,7 @@ explained on the "Speed intel"_Speed_intel.html doc page. :line -USER-MOLFILE package :h3,link(user-molfile) +USER-MOLFILE package :h4,link(user-molfile) [CMake build]: @@ -668,7 +668,7 @@ lib/molfile/Makefile.lammps for details. :line -USER-NETCDF package :h3,link(user-netcdf) +USER-NETCDF package :h4,link(user-netcdf) [CMake build]: @@ -685,7 +685,7 @@ lib/netcdf/README for details. :line -USER-OMP package :h3,link(user-omp) +USER-OMP package :h4,link(user-omp) [CMake build]: @@ -698,7 +698,7 @@ LINKFLAGS: add -fopenmp :ul :line -USER-QMMM package :h3,link(user-qmmm) +USER-QMMM package :h4,link(user-qmmm) The LAMMPS executable these steps produce is not yet functional for a QM/MM simulation. You must also build Quantum ESPRESSO and create a @@ -736,7 +736,7 @@ usual manner: :line -USER-QUIP package :h3,link(user-quip) +USER-QUIP package :h4,link(user-quip) [CMake build]: @@ -756,11 +756,11 @@ settings to successfully build on your system. :line -USER-SMD package :h3,link(user-smd) +USER-SMD package :h4,link(user-smd) [CMake build]: --D EIGEN3_INCLUDE_DIR +-D EIGEN3_INCLUDE_DIR=path [Traditional make]: @@ -784,7 +784,7 @@ usual manner: :line -USER-VTK package :h3,link(user-vtk) +USER-VTK package :h4,link(user-vtk) [CMake build]: -- GitLab From edb535d36fad7ca1d2dd144f6659db7f77a534cf Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 9 Aug 2018 17:08:15 -0400 Subject: [PATCH 449/675] Fix some of the missing TODOs in cmake docs --- doc/src/Build_extras.txt | 68 +++++++++++++++++++++++++++++----------- 1 file changed, 50 insertions(+), 18 deletions(-) diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt index 9a03d0092f..d6b0d052b5 100644 --- a/doc/src/Build_extras.txt +++ b/doc/src/Build_extras.txt @@ -159,7 +159,10 @@ package?" page. [CMake build]: -TODO: how to do this +-D PKG_KIM=on # enable KIM package +-D DOWNLOAD_KIM=value # download OpenKIM API v1 for build, value = off (default) or on +-D KIM_LIBRARY=path # (only needed if at custom location) path to KIM shared library +-D KIM_INCLUDE_DIR=path # (only needed if at custom location) path to KIM include directory :pre [Traditional make]: @@ -248,7 +251,9 @@ library. [CMake build]: -TODO: how to do this +-D PKG_LATTE=on # enable LATTE package +-D DOWNLOAD_LATTE=value # download LATTE for build, value = off (default) or on +-D LATTE_LIBRARY=path # (only needed if at custom location) path to LATTE shared library :pre [Traditional make]: @@ -280,7 +285,7 @@ the other on your system. [CMake build]: -TODO: automatic, i.e. nothing to do? +-D PKG_MEAM=on # enable MEAM package :pre [Traditional make]: @@ -314,7 +319,10 @@ build the MS-CG library. [CMake build]: -TODO: how to do this +-D PKG_MSCG=on # enable MSCG package +-D DOWNLOAD_MSCG=value # download MSCG for build, value = off (default) or on +-D MSCG_LIBRARY=path # (only needed if at custom location) path to MSCG shared library +-D MSCG_INCLUDE_DIR=path # (only needed if at custom location) path to MSCG include directory :pre [Traditional make]: @@ -346,7 +354,7 @@ OPT package :h4,link(opt) [CMake build]: -TODO: automatic, i.e. nothing to do? +-D PKG_OPT=on # enable OPT package :pre [Traditional make]: @@ -363,7 +371,7 @@ POEMS package :h4,link(poems) [CMake build]: -TODO: automatic, i.e. nothing to do? +-D PKG_POEMS=on # enable POEMS package :pre [Traditional make]: @@ -397,7 +405,13 @@ lib/python/README for more details. [CMake build]: -TODO: automatic, i.e. nothing to do? +-D PKG_PYTHON=on # enable PYTHON package +-D PYTHON_EXECUTABLE=path # path to Python executable which should be used :pre + +If you want to use a different Python version other than your system default, you can +either create a virtualenv, activate it and then run cmake or use the PYTHON_EXECUTABLE +variable to specify which Python interpreter should be used. Please note that you will +also need to have the development headers installed, e.g. python2-devel. [Traditional make]: @@ -411,7 +425,7 @@ REAX package :h4,link(reax) [CMake build]: -TODO: automatic, i.e. nothing to do? +-D PKG_REAX=on # enable REAX package :pre [Traditional make]: @@ -442,7 +456,10 @@ VORONOI package :h4,link(voronoi) [CMake build]: -TODO: how to do this +-D PKG_VORONOI=on # enable VORONOI package +-D DOWNLOAD_VORO=value # download VORO for build, value = off (default) or on +-D VORO_LIBRARY=path # (only needed if at custom location) path to VORO shared library +-D VORO_INCLUDE_DIR=path # (only needed if at custom location) path to VORO include directory :pre [Traditional make]: @@ -470,7 +487,8 @@ USER-ATC package :h4,link(user-atc) [CMake build]: -TODO: automatic, i.e. nothing to do? +-D PKG_USER-ATC=on # enable USER-ATC package +-D PKG_MANYBODY=on # requires MANYBODY package :pre [Traditional make]: @@ -511,7 +529,7 @@ USER-AWPMD package :h4,link(user-awpmd) [CMake build]: -TODO: automatic, i.e. nothing to do? +-D PKG_USER-AWPMD=on # enable USER-AWPMD package :pre [Traditional make]: @@ -551,7 +569,7 @@ USER-COLVARS package :h4,link(user-colvars) [CMake build]: -TODO: automatic, i.e. nothing to do? +-D PKG_USER-COLVARS=on # enable USER-COLVARS package :pre [Traditional make]: @@ -581,7 +599,11 @@ USER-H5MD package :h4,link(user-h5md) [CMake build]: -TODO: automatic, i.e. nothing to do? +-D PKG_USER-H5MD=on # enable USER-H5MD package :pre + +This will autodetect the H5MD library if it is installed on your system at standard locations. +Several advanced H5MD options exist if you need to specify where it was installed. Run with +ccmake to see these options. [Traditional make]: @@ -655,7 +677,7 @@ USER-MOLFILE package :h4,link(user-molfile) [CMake build]: -TODO: automatic, i.e. nothing to do? +-D PKG_USER-MOLFILE=on # enable USER-MOLFILE package :pre [Traditional make]: @@ -672,7 +694,11 @@ USER-NETCDF package :h4,link(user-netcdf) [CMake build]: -TODO: automatic, i.e. nothing to do? +-D PKG_USER-NETCDF=on # enable USER-NETCDF package :pre + +This will autodetect the NETCDF library if it is installed on your system at standard locations. +Several advanced NETCDF options exist if you need to specify where it was installed. Run with +ccmake to see these options. [Traditional make]: @@ -689,7 +715,8 @@ USER-OMP package :h4,link(user-omp) [CMake build]: -TODO: automatic, i.e. nothing to do? +-D PKG_USER-OMP=on # enable USER-OMP package +-D BUILD_OMP=on # enable OpenMP support :pre [Traditional make]: @@ -760,7 +787,8 @@ USER-SMD package :h4,link(user-smd) [CMake build]: --D EIGEN3_INCLUDE_DIR=path +-D PKG_USER-SMD=on # enable USER-SMD package +-D EIGEN3_INCLUDE_DIR=path # path to include directory of Eigen library :pre [Traditional make]: @@ -788,7 +816,11 @@ USER-VTK package :h4,link(user-vtk) [CMake build]: -TODO: automatic, i.e. nothing to do? +-D PKG_USER-VTK=on # enable USER-VTK package :pre + +This will autodetect the VTK library if it is installed on your system at standard locations. +Several advanced VTK options exist if you need to specify where it was installed. Run with +ccmake to see these options. [Traditional make]: -- GitLab From 76289cd955d1bd6fc5397fa150a66cbdd0845b3b Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 9 Aug 2018 17:50:55 -0400 Subject: [PATCH 450/675] Add LAMMPS shared library instructions for CMake --- doc/src/Python_shlib.txt | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/doc/src/Python_shlib.txt b/doc/src/Python_shlib.txt index 18775cd2fd..206f56688c 100644 --- a/doc/src/Python_shlib.txt +++ b/doc/src/Python_shlib.txt @@ -9,6 +9,8 @@ Documentation"_ld - "LAMMPS Commands"_lc :c Build LAMMPS as a shared library :h3 +Build LAMMPS as a shared library using make :h4 + Instructions on how to build LAMMPS as a shared library are given on the "Build_basics"_Build_basics.html doc page. A shared library is one that is dynamically loadable, which is what Python requires to @@ -32,4 +34,40 @@ extra libraries must also be shared libraries. If the LAMMPS shared-library build fails with an error complaining about this, see the "Build_basics"_Build_basics.html doc page. -TODO: Also include CMake info on this +Build LAMMPS as a shared library using CMake :h4 + +When using CMake the following two options are necessary to generate the LAMMPS +shared library: + +-D BUILD_LIB=on # enable building LAMMPS as a library +-D BUILD_SHARED_LIBS=on # enable building of LAMMPS shared library (both options are needed!) :pre + +What this does is create a liblammps.so which contains the majority of LAMMPS +code. The generated lmp binary also dynamically links to this library. This +means that either this liblammps.so file has to be in the same directory, a system +library path (e.g. /usr/lib64/) or in the LD_LIBRARY_PATH. + +If you want to use the shared library with Python the recommended way is to create a virtualenv and use it as +CMAKE_INSTALL_PREFIX. + +# create virtualenv +virtualenv --python=$(which python3) myenv3 +source myenv3/bin/activate :pre + +# build library +mkdir build +cd build +cmake -D PKG_PYTHON=on -D BUILD_LIB=on -D BUILD_SHARED_LIBS=on -D CMAKE_INSTALL_PREFIX=$VIRTUAL_ENV ../cmake +make -j 4 :pre + +# install into prefix +make install :pre + +This will also install the Python module into your virtualenv. Since virtualenv +doesn't change your LD_LIBRARY_PATH, you still need to add its lib64 folder to +it, which contains the installed liblammps.so. + +export LD_LIBRARY_PATH=$VIRTUAL_ENV/lib64:$LD_LIBRARY_PATH :pre + +Starting Python outside (!) of your build directory, but with the virtualenv +enabled and with the LD_LIBRARY_PATH set gives you access to LAMMPS via Python. -- GitLab From 0b523cb48e2fcb884a273b3d76474d2c19ae5c33 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 10 Aug 2018 11:38:59 +0200 Subject: [PATCH 451/675] some rewording and updates for the traditional and cmake documentation --- doc/src/Build.txt | 8 ++- doc/src/Build_basics.txt | 2 +- doc/src/Build_cmake.txt | 138 ++++++++++++++++++++++++--------------- doc/src/Build_make.txt | 48 +++++++++----- doc/src/Run_basics.txt | 24 +++---- 5 files changed, 134 insertions(+), 86 deletions(-) diff --git a/doc/src/Build.txt b/doc/src/Build.txt index 287e151c31..76aa95de55 100644 --- a/doc/src/Build.txt +++ b/doc/src/Build.txt @@ -10,9 +10,11 @@ Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Run.html :c Build LAMMPS :h2 LAMMPS can be built as an executable or library from source code via -either CMake or traditional make. As an alternative you can download -a pre-built executable file as described on the "Install"_Install.html -doc page. +either traditional makefiles (which may require manual editing) +for use with GNU make or gmake, or a build environment generated by CMake +(Unix Makefiles, Xcode, Visual Studio, KDevelop or more). As an +alternative you can download a package with pre-built executables +as described on the "Install"_Install.html doc page. "Example scripts"_Examples.html :l "Auxiliary tools"_Tools.html :l "Modify & extend LAMMPS"_Modify.html :l -"Use Python with LAMMPS"_Python.html :l +"Use Python with LAMMPS"_Python_head.html :l "Errors"_Errors.html :l +"Building the LAMMPS manual"_Manual_build.html :l :ole diff --git a/doc/src/Manual_build.txt b/doc/src/Manual_build.txt index 2be4b98960..747a55a729 100644 --- a/doc/src/Manual_build.txt +++ b/doc/src/Manual_build.txt @@ -8,7 +8,7 @@ Section"_Manual.html :c :line -Building the LAMMPS Manual :h2 +Building the LAMMPS manual :h2 Depending on how you obtained LAMMPS, the doc directory has 2 or 3 sub-directories and optionally 2 PDF files and an ePUB file: diff --git a/doc/src/Modify.txt b/doc/src/Modify.txt index 6189b9ba3e..666aaba8a7 100644 --- a/doc/src/Modify.txt +++ b/doc/src/Modify.txt @@ -1,6 +1,6 @@ "Previous Section"_Tools.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Python.html :c +Section"_Python_head.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index ff0ce7844c..5ab85a80c8 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -763,8 +763,8 @@ A "python"_python.html command which allow you to execute Python code from a LAMMPS input script. The code can be in a separate file or embedded in the input script itself. See the "Python call"_Python_call.html doc page for an overview of using Python from -LAMMPS in this manner and all the "Python"_Python.html doc pages for -other ways to use LAMMPS and Python together. +LAMMPS in this manner and all the "Python"_Python_head.html doc pages +for other ways to use LAMMPS and Python together. NOTE: Building with the PYTHON package assumes you have a Python shared library available on your system, which needs to be a Python 2 @@ -780,7 +780,7 @@ extras"_Build_extras.html doc page. [Supporting info:] src/PYTHON: filenames -> commands -"Python call"_Python.html +"Python call"_Python_head.html lib/python/README examples/python :ul diff --git a/doc/src/Python_call.txt b/doc/src/Python_call.txt index 621f1fe241..029c8f831c 100644 --- a/doc/src/Python_call.txt +++ b/doc/src/Python_call.txt @@ -1,5 +1,5 @@ -"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Python_examples.txt b/doc/src/Python_examples.txt index 46e5fee2b9..f4b2197464 100644 --- a/doc/src/Python_examples.txt +++ b/doc/src/Python_examples.txt @@ -1,5 +1,5 @@ -"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Python.txt b/doc/src/Python_head.txt similarity index 100% rename from doc/src/Python.txt rename to doc/src/Python_head.txt diff --git a/doc/src/Python_install.txt b/doc/src/Python_install.txt index 85cf267de0..97f6bf3c3a 100644 --- a/doc/src/Python_install.txt +++ b/doc/src/Python_install.txt @@ -1,5 +1,5 @@ -"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Python_library.txt b/doc/src/Python_library.txt index 8d0c724a45..9a3ea93fc3 100644 --- a/doc/src/Python_library.txt +++ b/doc/src/Python_library.txt @@ -1,5 +1,5 @@ -"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Python_mpi.txt b/doc/src/Python_mpi.txt index 6e0a2ce319..96c42e0d0f 100644 --- a/doc/src/Python_mpi.txt +++ b/doc/src/Python_mpi.txt @@ -1,5 +1,5 @@ -"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Python_pylammps.txt b/doc/src/Python_pylammps.txt index d7baa93e2e..303ac21a27 100644 --- a/doc/src/Python_pylammps.txt +++ b/doc/src/Python_pylammps.txt @@ -1,5 +1,5 @@ -"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Python_run.txt b/doc/src/Python_run.txt index a94dc07f2d..963248efce 100644 --- a/doc/src/Python_run.txt +++ b/doc/src/Python_run.txt @@ -1,5 +1,5 @@ -"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Python_shlib.txt b/doc/src/Python_shlib.txt index 206f56688c..91c90d9a8f 100644 --- a/doc/src/Python_shlib.txt +++ b/doc/src/Python_shlib.txt @@ -1,5 +1,5 @@ -"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Python_test.txt b/doc/src/Python_test.txt index 3d52485aa8..2bfec91bd6 100644 --- a/doc/src/Python_test.txt +++ b/doc/src/Python_test.txt @@ -1,5 +1,5 @@ -"Higher level section"_Python.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c +"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - +"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/fix_external.txt b/doc/src/fix_external.txt index 1dec226414..dd7f7914e9 100644 --- a/doc/src/fix_external.txt +++ b/doc/src/fix_external.txt @@ -34,7 +34,7 @@ This fix allows external programs that are running LAMMPS through its "library interface"_Howto_library.html to modify certain LAMMPS properties on specific timesteps, similar to the way other fixes do. The external driver can be a "C/C++ or Fortran -program"_Howto_library.html or a "Python script"_Python.html. +program"_Howto_library.html or a "Python script"_Python_head.html. :line diff --git a/doc/src/python.txt b/doc/src/python.txt index 0c0a203ccd..54d18d2f60 100644 --- a/doc/src/python.txt +++ b/doc/src/python.txt @@ -100,7 +100,7 @@ be passed to various commands as arguments, so that the variable is evaluated during a simulation run. A broader overview of how Python can be used with LAMMPS is given on -the "Python"_Python.html doc page. There is an examples/python +the "Python"_Python_head.html doc page. There is an examples/python directory which illustrates use of the python command. :line @@ -483,8 +483,8 @@ building LAMMPS. LAMMPS must also be built as a shared library and your Python function must be able to to load the Python module in python/lammps.py that wraps the LAMMPS library interface. These are the same steps required to use Python by itself to wrap LAMMPS. -Details on these steps are explained on the "Python"_Python.html doc -page. Note that it is important that the stand-alone LAMMPS +Details on these steps are explained on the "Python"_Python_head.html +doc page. Note that it is important that the stand-alone LAMMPS executable and the LAMMPS shared library be consistent (built from the same source code files) in order for this to work. If the two have been built at different times using different source files, problems diff --git a/lib/gpu/Install.py b/lib/gpu/Install.py index 3b12db5091..d1024c0085 100644 --- a/lib/gpu/Install.py +++ b/lib/gpu/Install.py @@ -23,16 +23,17 @@ optionally copies Makefile.auto to a new Makefile.osuffix -m = use Makefile.machine as starting point, copy to Makefile.auto default machine = linux + default for -h, -a, -p, -e settings are those in -m Makefile -h = set CUDA_HOME variable in Makefile.auto to hdir hdir = path to NVIDIA Cuda software, e.g. /usr/local/cuda -a = set CUDA_ARCH variable in Makefile.auto to arch - use arch = 20 for Fermi (C2050/C2070, deprecated as of CUDA 8.0) - or GeForce GTX 580 or similar - use arch = 30 for Kepler (K10) - use arch = 35 for Kepler (K40) or GeForce GTX Titan or similar - use arch = 37 for Kepler (dual K80) - use arch = 60 for Pascal (P100) - use arch = 70 for Volta + use arch = sm_20 for Fermi (C2050/C2070, deprecated as of CUDA 8.0) + or GeForce GTX 580 or similar + use arch = sm_30 for Kepler (K10) + use arch = sm_35 for Kepler (K40) or GeForce GTX Titan or similar + use arch = sm_37 for Kepler (dual K80) + use arch = sm_60 for Pascal (P100) + use arch = sm_70 for Volta -p = set CUDA_PRECISION variable in Makefile.auto to precision use precision = double or mixed or single -e = set EXTRAMAKE variable in Makefile.auto to Makefile.lammps.esuffix @@ -47,7 +48,7 @@ Examples: make lib-gpu args="-b" # build GPU lib with default Makefile.linux make lib-gpu args="-m xk7 -p single -o xk7.single" # create new Makefile.xk7.single, altered for single-precision -make lib-gpu args="-m mpi -a 35 -p single -o mpi.mixed -b" # create new Makefile.mpi.mixed, also build GPU lib with these settings +make lib-gpu args="-m mpi -a sm_35 -p single -o mpi.mixed -b" # create new Makefile.mpi.mixed, also build GPU lib with these settings """ # print error message or help @@ -128,7 +129,7 @@ for line in lines: if hflag and words[0] == "CUDA_HOME" and words[1] == '=': line = line.replace(words[2],hdir) if aflag and words[0] == "CUDA_ARCH" and words[1] == '=': - line = line.replace(words[2],"-arch=sm_%s" % arch) + line = line.replace(words[2],"-arch=%s" % arch) if pflag and words[0] == "CUDA_PRECISION" and words[1] == '=': line = line.replace(words[2],precstr) if eflag and words[0] == "EXTRAMAKE" and words[1] == '=': diff --git a/lib/gpu/Makefile.linux b/lib/gpu/Makefile.linux index ed5b6092d3..9580bfd4ae 100644 --- a/lib/gpu/Makefile.linux +++ b/lib/gpu/Makefile.linux @@ -13,8 +13,8 @@ endif NVCC = nvcc -# Tesla CUDA -CUDA_ARCH = -arch=sm_21 +# older CUDA +#CUDA_ARCH = -arch=sm_21 # newer CUDA #CUDA_ARCH = -arch=sm_13 # older CUDA -- GitLab From 1f65150e16039e149881f0f5e09586e873f5d3e0 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 15 Aug 2018 07:34:20 -0600 Subject: [PATCH 487/675] 60 -> sm_60 for GPU_ARCH --- cmake/CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 1bd9eb22b1..2ee5d9e6d6 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -834,7 +834,7 @@ if(PKG_GPU) endif() option(CUDPP_OPT "Enable CUDPP_OPT" ON) - set(GPU_ARCH "30" CACHE STRING "LAMMPS GPU CUDA SM architecture (e.g. 60)") + set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM architecture (e.g. sm_60)") file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/*.cu) list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_pppm.cu) @@ -848,10 +848,10 @@ if(PKG_GPU) endif() cuda_compile_cubin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS - -DUNIX -O3 -Xptxas -v --use_fast_math -DNV_KERNEL -DUCL_CUDADR -arch=sm_${GPU_ARCH} -D_${GPU_PREC_SETTING}) + -DUNIX -O3 -Xptxas -v --use_fast_math -DNV_KERNEL -DUCL_CUDADR -arch=${GPU_ARCH} -D_${GPU_PREC_SETTING}) cuda_compile(GPU_OBJS ${GPU_LIB_CUDPP_CU} OPTIONS $<$:-Xcompiler=-fPIC> - -DUNIX -O3 -Xptxas -v --use_fast_math -DUCL_CUDADR -arch=sm_${GPU_ARCH} -D_${GPU_PREC_SETTING}) + -DUNIX -O3 -Xptxas -v --use_fast_math -DUCL_CUDADR -arch=${GPU_ARCH} -D_${GPU_PREC_SETTING}) foreach(CU_OBJ ${GPU_GEN_OBJS}) get_filename_component(CU_NAME ${CU_OBJ} NAME_WE) @@ -1160,7 +1160,7 @@ endif() if(PKG_GPU) message(STATUS "GPU Api: ${GPU_API}") if(GPU_API_DEFINE STREQUAL "CUDA") - message(STATUS "GPU Arch: sm_${GPU_ARCH}") + message(STATUS "GPU Arch: ${GPU_ARCH}") elseif(GPU_API_DEFINE STREQUAL "OPENCL") message(STATUS "OCL Tune: ${OCL_TUNE}") endif() -- GitLab From 6c904102600abb5c708b7a3351b31e95741e078c Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 15 Aug 2018 07:44:36 -0600 Subject: [PATCH 488/675] one more file I forgot to commit --- doc/src/Intro_nonfeatures.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/src/Intro_nonfeatures.txt b/doc/src/Intro_nonfeatures.txt index 87ab42e2ac..f7ca6b307e 100644 --- a/doc/src/Intro_nonfeatures.txt +++ b/doc/src/Intro_nonfeatures.txt @@ -68,11 +68,11 @@ page"_http://lammps.sandia.gov/viz.html page of the LAMMPS website for visualization packages that can use LAMMPS output data. :l Plotting: See the next bullet about Pizza.py as well as the -"Python"_Python_head.html doc page for examples of plotting LAMMPS output. -Scripts provided with the {python} tool in the tools directory will -extract and massage data in log and dump files to make it easier to -analyze and plot. See the "Tools"_Tools.html doc page for more -discussion of the various tools. :l +"Python"_Python_head.html doc page for examples of plotting LAMMPS +output. Scripts provided with the {python} tool in the tools +directory will extract and massage data in log and dump files to make +it easier to analyze and plot. See the "Tools"_Tools.html doc page +for more discussion of the various tools. :l Pizza.py: Our group has also written a separate toolkit called "Pizza.py"_http://pizza.sandia.gov which can do certain kinds of -- GitLab From 6eededb190eda084fc24dea5e70763631e201cab Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 15 Aug 2018 07:45:52 -0600 Subject: [PATCH 489/675] one more tweak --- doc/src/Intro_nonfeatures.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Intro_nonfeatures.txt b/doc/src/Intro_nonfeatures.txt index f7ca6b307e..2acf6db71f 100644 --- a/doc/src/Intro_nonfeatures.txt +++ b/doc/src/Intro_nonfeatures.txt @@ -55,9 +55,9 @@ info on how to add your own analysis code or algorithms to LAMMPS. For post-processing, LAMMPS output such as "dump file snapshots"_dump.html can be converted into formats used by other MD or post-processing codes. Some post-processing tools packaged with -LAMMPS will do these conversions. Scripts provided with the {python} -tool in the tools directory can extract and massage data in dump files -to make it easier to import into other programs. See the +LAMMPS will do these conversions. Scripts provided in the +tools/python directory can extract and massage data in dump files to +make it easier to import into other programs. See the "Tools"_Tools.html doc page for details on these various options. :l Visualization: LAMMPS can produce JPG or PNG snapshot images -- GitLab From 1823fc2bd183f661ec11fb394fdd38758848d204 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 15 Aug 2018 07:50:10 -0600 Subject: [PATCH 490/675] commands.txt -> commands_list.txt to avoid conflict with Commands.txt --- doc/src/Manual.txt | 2 +- doc/src/{commands.txt => commands_list.txt} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename doc/src/{commands.txt => commands_list.txt} (100%) diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index ca30f32311..c4dbf0415e 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -91,7 +91,7 @@ every LAMMPS command. :name: index :hidden: - commands + commands_list fixes computes pairs diff --git a/doc/src/commands.txt b/doc/src/commands_list.txt similarity index 100% rename from doc/src/commands.txt rename to doc/src/commands_list.txt -- GitLab From 95bfc3b536aa019b8f22d44c850da0080e73ac4a Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 15 Aug 2018 07:54:17 -0600 Subject: [PATCH 491/675] one more entry to lammps.book --- doc/src/lammps.book | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 66b3217561..c961004f83 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -111,7 +111,7 @@ Modify_region.html Modify_body.html Modify_thermo.html Modify_variable.html -Python.html +Python_head.html Python_overview.html Python_run.html Python_shlib.html -- GitLab From 60c9477e964c68fe012817f9db53223379871d15 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 15 Aug 2018 10:50:51 -0400 Subject: [PATCH 492/675] Add option validation and remove extra variables in CMakeLists.txt --- cmake/CMakeLists.txt | 89 +++++++++++++++++++++++++++++++------------- 1 file changed, 64 insertions(+), 25 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 2ee5d9e6d6..b75c029a51 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -17,6 +17,32 @@ file(GLOB LIB_SOURCES ${LAMMPS_SOURCE_DIR}/*.cpp) file(GLOB LMP_SOURCES ${LAMMPS_SOURCE_DIR}/main.cpp) list(REMOVE_ITEM LIB_SOURCES ${LMP_SOURCES}) +# Utility functions +function(list_to_bulletpoints result) + list(REMOVE_AT ARGV 0) + set(temp "") + foreach(item ${ARGV}) + set(temp "${temp}* ${item}\n") + endforeach() + set(${result} "${temp}" PARENT_SCOPE) +endfunction(list_to_bulletpoints) + +function(validate_option name values) + string(TOLOWER ${${name}} needle_lower) + string(TOUPPER ${${name}} needle_upper) + list(FIND ${values} ${needle_lower} IDX_LOWER) + list(FIND ${values} ${needle_upper} IDX_UPPER) + if(${IDX_LOWER} LESS 0 AND ${IDX_UPPER} LESS 0) + list_to_bulletpoints(POSSIBLE_VALUE_LIST ${${values}}) + message(FATAL_ERROR "\n########################################################################\n" + "Invalid value '${${name}}' for option '${name}'\n" + "\n" + "Possible values are:\n" + "${POSSIBLE_VALUE_LIST}" + "########################################################################") + endif() +endfunction(validate_option) + # Cmake modules/macros are in a subdirectory to keep this file cleaner set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules) @@ -131,11 +157,14 @@ else() list(APPEND LAMMPS_LINK_LIBS mpi_stubs) endif() + set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS size limit") -set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS smallbig bigbig smallsmall) -string(TOUPPER ${LAMMPS_SIZES} LAMMPS_SIZES_DEFINE) -add_definitions(-DLAMMPS_${LAMMPS_SIZES_DEFINE}) -set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -DLAMMPS_${LAMMPS_SIZES_DEFINE}") +set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall) +set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES}) +validate_option(LAMMPS_SIZES LAMMPS_SIZES_VALUES) +string(TOUPPER ${LAMMPS_SIZES} LAMMPS_SIZES) +add_definitions(-DLAMMPS_${LAMMPS_SIZES}) +set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -DLAMMPS_${LAMMPS_SIZES}") # posix_memalign is not available on Windows if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") @@ -219,7 +248,9 @@ if(PKG_KSPACE) else() set(FFT "KISS" CACHE STRING "FFT library for KSPACE package") endif() - set_property(CACHE FFT PROPERTY STRINGS KISS ${FFTW} MKL) + set(FFT_VALUES KISS ${FFTW} MKL) + set_property(CACHE FFT PROPERTY STRINGS ${FFT_VALUES}) + validate_option(FFT FFT_VALUES) if(NOT FFT STREQUAL "KISS") find_package(${FFT} REQUIRED) if(NOT FFT STREQUAL "FFTW3F") @@ -233,10 +264,12 @@ if(PKG_KSPACE) add_definitions(-DFFT_KISS) endif() set(FFT_PACK "array" CACHE STRING "Optimization for FFT") - set_property(CACHE FFT_PACK PROPERTY STRINGS array pointer memcpy) + set(FFT_PACK_VALUES array pointer memcpy) + set_property(CACHE FFT_PACK PROPERTY STRINGS ${FFT_PACK_VALUES}) + validate_option(FFT_PACK FFT_PACK_VALUES) if(NOT FFT_PACK STREQUAL "array") - string(TOUPPER ${FFT_PACK} FFT_PACK_DEFINE) - add_definitions(-DFFT_PACK_${FFT_PACK_DEFINE}) + string(TOUPPER ${FFT_PACK} FFT_PACK) + add_definitions(-DFFT_PACK_${FFT_PACK}) endif() endif() @@ -747,9 +780,9 @@ if(PKG_USER-INTEL) endif() set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)") - set_property(CACHE INTEL_ARCH PROPERTY STRINGS cpu knl) - - + set(INTEL_ARCH_VALUES cpu knl) + set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES}) + validate_option(INTEL_ARCH INTEL_ARCH_VALUES) if(INTEL_ARCH STREQUAL "knl") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload") @@ -808,25 +841,29 @@ if(PKG_GPU) ${GPU_SOURCES_DIR}/fix_gpu.cpp) set(GPU_API "opencl" CACHE STRING "API used by GPU package") - set_property(CACHE GPU_API PROPERTY STRINGS opencl cuda) - string(TOUPPER ${GPU_API} GPU_API_DEFINE) + set(GPU_API_VALUES opencl cuda) + set_property(CACHE GPU_API PROPERTY STRINGS ${GPU_API_VALUES}) + validate_option(GPU_API GPU_API_VALUES) + string(TOUPPER ${GPU_API} GPU_API) set(GPU_PREC "mixed" CACHE STRING "LAMMPS GPU precision") - set_property(CACHE GPU_PREC PROPERTY STRINGS double mixed single) - string(TOUPPER ${GPU_PREC} GPU_PREC_DEFINE) + set(GPU_PREC_VALUES double mixed single) + set_property(CACHE GPU_PREC PROPERTY STRINGS ${GPU_PREC_VALUES}) + validate_option(GPU_PREC GPU_PREC_VALUES) + string(TOUPPER ${GPU_PREC} GPU_PREC) - if(GPU_PREC_DEFINE STREQUAL "DOUBLE") + if(GPU_PREC STREQUAL "DOUBLE") set(GPU_PREC_SETTING "DOUBLE_DOUBLE") - elseif(GPU_PREC_DEFINE STREQUAL "MIXED") + elseif(GPU_PREC STREQUAL "MIXED") set(GPU_PREC_SETTING "SINGLE_DOUBLE") - elseif(GPU_PREC_DEFINE STREQUAL "SINGLE") + elseif(GPU_PREC STREQUAL "SINGLE") set(GPU_PREC_SETTING "SINGLE_SINGLE") endif() file(GLOB GPU_LIB_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cpp) file(MAKE_DIRECTORY ${LAMMPS_LIB_BINARY_DIR}/gpu) - if(GPU_API_DEFINE STREQUAL "CUDA") + if(GPU_API STREQUAL "CUDA") find_package(CUDA REQUIRED) find_program(BIN2C bin2c) if(NOT BIN2C) @@ -882,11 +919,13 @@ if(PKG_GPU) target_include_directories(nvc_get_devices PRIVATE ${CUDA_INCLUDE_DIRS}) - elseif(GPU_API_DEFINE STREQUAL "OPENCL") + elseif(GPU_API STREQUAL "OPENCL") find_package(OpenCL REQUIRED) set(OCL_TUNE "generic" CACHE STRING "OpenCL Device Tuning") - set_property(CACHE OCL_TUNE PROPERTY STRINGS intel fermi kepler cypress generic) - string(TOUPPER ${OCL_TUNE} OCL_TUNE_DEFINE) + set(OCL_TUNE_VALUES intel fermi kepler cypress generic) + set_property(CACHE OCL_TUNE PROPERTY STRINGS ${OCL_TUNE_VALUES}) + validate_option(OCL_TUNE OCL_TUNE_VALUES) + string(TOUPPER ${OCL_TUNE} OCL_TUNE) include(OpenCLUtils) set(OCL_COMMON_HEADERS ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_preprocessor.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_aux_fun1.h) @@ -908,7 +947,7 @@ if(PKG_GPU) add_library(gpu STATIC ${GPU_LIB_SOURCES}) target_link_libraries(gpu ${OpenCL_LIBRARIES}) target_include_directories(gpu PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/gpu ${OpenCL_INCLUDE_DIRS}) - target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -D${OCL_TUNE_DEFINE}_OCL -DMPI_GERYON -DUCL_NO_EXIT) + target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -D${OCL_TUNE}_OCL -DMPI_GERYON -DUCL_NO_EXIT) target_compile_definitions(gpu PRIVATE -DUSE_OPENCL) list(APPEND LAMMPS_LINK_LIBS gpu) @@ -1159,9 +1198,9 @@ if(BUILD_MPI) endif() if(PKG_GPU) message(STATUS "GPU Api: ${GPU_API}") - if(GPU_API_DEFINE STREQUAL "CUDA") + if(GPU_API STREQUAL "CUDA") message(STATUS "GPU Arch: ${GPU_ARCH}") - elseif(GPU_API_DEFINE STREQUAL "OPENCL") + elseif(GPU_API STREQUAL "OPENCL") message(STATUS "OCL Tune: ${OCL_TUNE}") endif() message(STATUS "GPU Precision: ${GPU_PREC}") -- GitLab From 3bb8fefb121c8e8abbb3cd41e80218722cfde880 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 15 Aug 2018 10:57:45 -0400 Subject: [PATCH 493/675] Little tweak to error message --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index b75c029a51..8d2038aea8 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -35,7 +35,7 @@ function(validate_option name values) if(${IDX_LOWER} LESS 0 AND ${IDX_UPPER} LESS 0) list_to_bulletpoints(POSSIBLE_VALUE_LIST ${${values}}) message(FATAL_ERROR "\n########################################################################\n" - "Invalid value '${${name}}' for option '${name}'\n" + "Invalid value '${${name}}' for option ${name}\n" "\n" "Possible values are:\n" "${POSSIBLE_VALUE_LIST}" -- GitLab From 1776ade72e216389915536295a296aab6f95530e Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 15 Aug 2018 11:23:02 -0400 Subject: [PATCH 494/675] Update CMake README.md --- cmake/README.md | 120 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 99 insertions(+), 21 deletions(-) diff --git a/cmake/README.md b/cmake/README.md index b6644ffda9..a401d5296e 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -62,7 +62,7 @@ should get you started. git clone https://github.com/lammps/lammps.git mkdir lammps/build cd lammps/build -cmake ../cmake [-DOPTION_A=VALUE_A -DOPTION_B=VALUE_B ...] +cmake [-D OPTION_A=VALUE_A -D OPTION_B=VALUE_B ...] ../cmake make ``` @@ -174,7 +174,7 @@ presets can be found in the `cmake/presets` folder. # build LAMMPS with all "standard" packages which don't use libraries and enable GPU package mkdir build cd build -cmake -C ../cmake/presets/std_nolib.cmake ../cmake -DPKG_GPU=on +cmake -C ../cmake/presets/std_nolib.cmake -D PKG_GPU=on ../cmake ``` # Reference @@ -265,6 +265,16 @@ cmake -C ../cmake/presets/std_nolib.cmake ../cmake -DPKG_GPU=on + + BUILD_LIB + control whether to build LAMMPS as a library + +
      +
      off (default)
      +
      on
      +
      + + BUILD_SHARED_LIBS control whether to build LAMMPS as a shared-library @@ -315,8 +325,8 @@ cmake -C ../cmake/presets/std_nolib.cmake ../cmake -DPKG_GPU=on `mpicxx` in your path and use this MPI implementation.
      -
      off (default)
      -
      on
      +
      on (default, if found)
      +
      off
      @@ -325,8 +335,8 @@ cmake -C ../cmake/presets/std_nolib.cmake ../cmake -DPKG_GPU=on control whether to build LAMMPS with OpenMP support.
      -
      off (default)
      -
      on
      +
      on (default, if found)
      +
      off
      @@ -1271,7 +1281,7 @@ providing the identical features and USER interface.

      -
      KISSFFT
      +
      KISS
      FFTW3
      FFTW2
      MKL
      @@ -1279,13 +1289,13 @@ providing the identical features and USER interface.

      - PACK_ARRAY + FFT_PACK Optimization for FFT
      -
      PACK_ARRAY
      -
      PACK_POINTER
      -
      PACK_MEMCPY
      +
      array (default)
      +
      pointer
      +
      memcpy
      @@ -1377,6 +1387,29 @@ TODO ### PYTHON Package +### USER-INTEL Package + + + + + + + + + + + + + + + + +
      OptionDescriptionValues
      INTEL_ARCHTarget architecture for USER-INTEL package +
      +
      cpu (default)
      +
      knl
      +
      +
      ### GPU Package The GPU package builds a support library which can either use OpenCL or CUDA as @@ -1396,8 +1429,8 @@ target API. API used by GPU package
      -
      OpenCL (default)
      -
      CUDA
      +
      opencl (default)
      +
      cuda
      @@ -1406,9 +1439,9 @@ target API. Precision size used by GPU package kernels
      -
      SINGLE_DOUBLE
      -
      SINGLE_SINGLE
      -
      DOUBLE_DOUBLE
      +
      mixed (default)
      +
      single
      +
      double
      @@ -1517,6 +1550,16 @@ Requires a Eigen3 installation + + WITH_JPEG + Enables/Disable JPEG support in LAMMPS + +
      +
      yes (default, if found)
      +
      no
      +
      + + JPEG_INCLUDE_DIR @@ -1544,6 +1587,16 @@ Requires a Eigen3 installation + + WITH_PNG + Enables/Disable PNG support in LAMMPS + +
      +
      yes (default, if found)
      +
      no
      +
      + + PNG_INCLUDE_DIR @@ -1572,6 +1625,16 @@ requires `gzip` to be in your `PATH` + + WITH_GZIP + Enables/Disable GZIP support in LAMMPS + +
      +
      yes (default, if found)
      +
      no
      +
      + + GZIP_EXECUTABLE @@ -1594,6 +1657,16 @@ requires `ffmpeg` to be in your `PATH` + + WITH_FFMPEG + Enables/Disable FFMPEG support in LAMMPS + +
      +
      yes (default, if found)
      +
      no
      +
      + + FFMPEG_EXECUTABLE @@ -1606,8 +1679,13 @@ requires `ffmpeg` to be in your `PATH` ## Compilers -By default, `cmake` will use your environment C/C++/Fortran compilers for a build. It uses the `CC`, `CXX` and `FC` environment variables to detect which compilers should be used. However, these values -will be cached after the first run of `cmake`. Subsequent runs of `cmake` will ignore changes in these environment variables. To ensure the correct values are used you avoid the cache by setting the `CMAKE_C_COMPILER`, `CMAKE_CXX_COMPILER`, `CMAKE_Fortran_COMPILER` options directly. +By default, `cmake` will use your environment C/C++/Fortran compilers for a +build. It uses the `CC`, `CXX` and `FC` environment variables to detect which +compilers should be used. However, these values will be cached after the first +run of `cmake`. Subsequent runs of `cmake` will ignore changes in these +environment variables. To ensure the correct values are used you avoid the +cache by setting the `CMAKE_C_COMPILER`, `CMAKE_CXX_COMPILER`, +`CMAKE_Fortran_COMPILER` options directly. @@ -1643,20 +1721,20 @@ will be cached after the first run of `cmake`. Subsequent runs of `cmake` will i ### Building with GNU Compilers ```bash -cmake ../cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_Fortran_COMPILER=gfortran +cmake -D CMAKE_C_COMPILER=gcc -D CMAKE_CXX_COMPILER=g++ -D CMAKE_Fortran_COMPILER=gfortran ../cmake ``` ### Building with Intel Compilers ```bash -cmake ../cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_Fortran_COMPILER=ifort +cmake -D CMAKE_C_COMPILER=icc -D CMAKE_CXX_COMPILER=icpc -D CMAKE_Fortran_COMPILER=ifort ../cmake ``` ### Building with LLVM/Clang Compilers ```bash -cmake ../cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_Fortran_COMPILER=flang +cmake -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_Fortran_COMPILER=flang ../cmake ``` -- GitLab From 023c8e5d6ee02a93f0d37e0bae7b5d5cfac68557 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 15 Aug 2018 11:31:22 -0400 Subject: [PATCH 495/675] Correct option values to lower case in README.md --- cmake/README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cmake/README.md b/cmake/README.md index a401d5296e..85375cd2aa 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -1450,12 +1450,12 @@ target API. -- GitLab From b9e2b26b65d98a4614ffdcb8f758ff9c42a9c8d2 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 15 Aug 2018 12:22:06 -0400 Subject: [PATCH 496/675] Simplified change --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 2f38cdd689..d9e60a5208 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -314,7 +314,7 @@ if(PKG_VORONOI) if(BUILD_SHARED_LIBS) set(VORO_BUILD_OPTIONS "CFLAGS=-fPIC") else() - set(VORO_BUILD_OPTIONS "") + set(VORO_BUILD_OPTIONS) endif() ExternalProject_Add(voro_build -- GitLab From c9131cf1de48a52fc2ad86dd67ffcbd91eaeaf9a Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 15 Aug 2018 13:54:37 -0600 Subject: [PATCH 497/675] drop FFTW2 support, and change doc pages --- doc/src/Build_settings.txt | 32 ++++++++------------------- src/KSPACE/fft3d.cpp | 14 +++++++++++- src/KSPACE/fft3d.h | 44 +++++++++++++++++++------------------- 3 files changed, 44 insertions(+), 46 deletions(-) diff --git a/doc/src/Build_settings.txt b/doc/src/Build_settings.txt index 6c36420f77..db281c0857 100644 --- a/doc/src/Build_settings.txt +++ b/doc/src/Build_settings.txt @@ -33,27 +33,25 @@ LAMMPS can use them if they are available on your system. [CMake variables]: --D FFT=value # KISS or FFTW3 or FFTW2 or MKL, default is FFTW3 if found, else KISS +-D FFT=value # FFTW3 or MKL or KISS, default is FFTW3 if found, else KISS -D FFT_SINGLE=value # yes or no (default), no = double precision -D FFT_PACK=value # array (default) or pointer or memcpy :pre -NOTE: The values for the FFT variable must be in upper-case. -This is an exception to the rule that all CMake variables can -be specified with lower-case values. +NOTE: The values for the FFT variable must be in upper-case. This is +an exception to the rule that all CMake variables can be specified +with lower-case values. Usually these settings are all that is needed. If CMake cannot find the FFT library, you can set these variables: -D FFTW3_INCLUDE_DIRS=path # path to FFTW3 include files -D FFTW3_LIBRARIES=path # path to FFTW3 libraries --D FFTW2_INCLUDE_DIRS=path # ditto for FFTW2 --D FFTW2_LIBRARIES=path -D MKL_INCLUDE_DIRS=path # ditto for Intel MKL library -D MKL_LIBRARIES=path :pre [Makefile.machine settings]: -FFT_INC = -DFFT_FFTW3 # -DFFT_FFTW3, -DFFT_FFTW2, -DFFT_FFTW (same as -DFFT_FFTW3), -DFFT_MKL, or -DFFT_KISS +FFT_INC = -DFFT_FFTW3 # -DFFT_FFTW3, -DFFT_FFTW (same as -DFFT_FFTW3), -DFFT_MKL, or -DFFT_KISS # default is KISS if not specified FFT_INC = -DFFT_SINGLE # do not specify for double precision FFT_INC = -DFFT_PACK_ARRAY # or -DFFT_PACK_POINTER or -DFFT_PACK_MEMCPY :pre @@ -63,8 +61,6 @@ FFT_INC = -I/usr/local/include FFT_PATH = -L/usr/local/lib FFT_LIB = -lfftw3 # FFTW3 double precision FFT_LIB = -lfftw3 -lfftw3f # FFTW3 single precision -FFT_LIB = -lfftw # FFTW2 double precision, or -ldfftw -FFT_LIB = -lsfftw # FFTW2 single precision FFT_LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core # MKL with Intel compiler FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core # MKL with GNU compier :pre @@ -89,13 +85,9 @@ details. FFTW is a fast, portable FFT library that should also work on any platform and can be faster than the KISS FFT library. You can -download it from "www.fftw.org"_http://www.fftw.org. Both the -(obsolete) legacy version 2.1.X and the newer 3.X versions are -supported. +download it from "www.fftw.org"_http://www.fftw.org. LAMMPS requires +version 3.X; the legacy version 2.1.X is no longer supported. -NOTE: FFTW2 has not been updated since 1999 and has been declared -obsolete by its developers. - Building FFTW for your box should be as simple as ./configure; make; make install. The install command typically requires root privileges (e.g. invoke it via sudo), unless you specify a local directory with @@ -116,8 +108,8 @@ error is less than the difference in precision. Using the -DFFT_SINGLE setting trades off a little accuracy for reduced memory use and parallel communication costs for transposing 3d FFT data. -When using -DFFT_SINGLE with FFTW3 or FFTW2, you may need to build the -FFTW library a second time with support for single-precision. +When using -DFFT_SINGLE with FFTW3 you may need to build the FFTW +library a second time with support for single-precision. For FFTW3, do the following, which should produce the additional library libfftw3f.a @@ -125,12 +117,6 @@ library libfftw3f.a make clean ./configure --enable-single; make; make install :pre -For FFTW2, do the following, which should produce the additional -library libsfftw.a - -make clean -./configure --enable-float --enable-type-prefix; make; make install :pre - Performing 3d FFTs requires communication to transpose the 3d FFT grid. The data packing/unpacking for this can be done in one of 3 modes (ARRAY, POINTER, MEMCPY) as set by the FFT_PACK syntax above. diff --git a/src/KSPACE/fft3d.cpp b/src/KSPACE/fft3d.cpp index db44feabcc..7d3c8c83f2 100644 --- a/src/KSPACE/fft3d.cpp +++ b/src/KSPACE/fft3d.cpp @@ -104,11 +104,13 @@ void fft_3d(FFT_DATA *in, FFT_DATA *out, int flag, struct fft_plan_3d *plan) DftiComputeForward(plan->handle_fast,data); else DftiComputeBackward(plan->handle_fast,data); + /* #elif defined(FFT_FFTW2) if (flag == -1) fftw(plan->plan_fast_forward,total/length,data,1,length,NULL,0,0); else - fftw(plan->plan_fast_backward,total/length,data,1,length,NULL,0,0); + fftw(plan->plan_fast_backward,total/length,data,1,length,NULL,0,0); + */ #elif defined(FFT_FFTW3) if (flag == -1) theplan=plan->plan_fast_forward; @@ -143,11 +145,13 @@ void fft_3d(FFT_DATA *in, FFT_DATA *out, int flag, struct fft_plan_3d *plan) DftiComputeForward(plan->handle_mid,data); else DftiComputeBackward(plan->handle_mid,data); + /* #elif defined(FFT_FFTW2) if (flag == -1) fftw(plan->plan_mid_forward,total/length,data,1,length,NULL,0,0); else fftw(plan->plan_mid_backward,total/length,data,1,length,NULL,0,0); + */ #elif defined(FFT_FFTW3) if (flag == -1) theplan=plan->plan_mid_forward; @@ -182,11 +186,13 @@ void fft_3d(FFT_DATA *in, FFT_DATA *out, int flag, struct fft_plan_3d *plan) DftiComputeForward(plan->handle_slow,data); else DftiComputeBackward(plan->handle_slow,data); + /* #elif defined(FFT_FFTW2) if (flag == -1) fftw(plan->plan_slow_forward,total/length,data,1,length,NULL,0,0); else fftw(plan->plan_slow_backward,total/length,data,1,length,NULL,0,0); + */ #elif defined(FFT_FFTW3) if (flag == -1) theplan=plan->plan_slow_forward; @@ -520,6 +526,7 @@ struct fft_plan_3d *fft_3d_create_plan( (out_khi-out_klo+1); } + /* #elif defined(FFT_FFTW2) plan->plan_fast_forward = @@ -561,6 +568,7 @@ struct fft_plan_3d *fft_3d_create_plan( plan->normnum = (out_ihi-out_ilo+1) * (out_jhi-out_jlo+1) * (out_khi-out_klo+1); } + */ #elif defined(FFT_FFTW3) plan->plan_fast_forward = @@ -660,6 +668,7 @@ void fft_3d_destroy_plan(struct fft_plan_3d *plan) DftiFreeDescriptor(&(plan->handle_fast)); DftiFreeDescriptor(&(plan->handle_mid)); DftiFreeDescriptor(&(plan->handle_slow)); + /* #elif defined(FFT_FFTW2) if (plan->plan_slow_forward != plan->plan_fast_forward && plan->plan_slow_forward != plan->plan_mid_forward) { @@ -672,6 +681,7 @@ void fft_3d_destroy_plan(struct fft_plan_3d *plan) } fftw_destroy_plan(plan->plan_fast_forward); fftw_destroy_plan(plan->plan_fast_backward); + */ #elif defined(FFT_FFTW3) FFTW_API(destroy_plan)(plan->plan_slow_forward); FFTW_API(destroy_plan)(plan->plan_slow_backward); @@ -809,6 +819,7 @@ void fft_1d_only(FFT_DATA *data, int nsize, int flag, struct fft_plan_3d *plan) DftiComputeBackward(plan->handle_mid,data); DftiComputeBackward(plan->handle_slow,data); } + /* #elif defined(FFT_FFTW2) if (flag == -1) { fftw(plan->plan_fast_forward,total1/length1,data,1,0,NULL,0,0); @@ -819,6 +830,7 @@ void fft_1d_only(FFT_DATA *data, int nsize, int flag, struct fft_plan_3d *plan) fftw(plan->plan_mid_backward,total2/length2,data,1,0,NULL,0,0); fftw(plan->plan_slow_backward,total3/length3,data,1,0,NULL,0,0); } + */ #elif defined(FFT_FFTW3) FFTW_API(plan) theplan; if (flag == -1) diff --git a/src/KSPACE/fft3d.h b/src/KSPACE/fft3d.h index ab3bca8358..a51818d986 100644 --- a/src/KSPACE/fft3d.h +++ b/src/KSPACE/fft3d.h @@ -24,7 +24,7 @@ typedef float FFT_SCALAR; typedef double FFT_SCALAR; #endif -// set default fftw library. switch to FFT_FFTW3 when convenient. +// if user set FFTW, it means FFTW3 #ifdef FFT_FFTW #define FFT_FFTW3 @@ -41,13 +41,13 @@ typedef double FFT_SCALAR; typedef float _Complex FFT_DATA; #define FFT_MKL_PREC DFTI_SINGLE -#elif defined(FFT_FFTW2) -#if defined(FFTW_SIZE) -#include "sfftw.h" -#else -#include "fftw.h" -#endif -typedef FFTW_COMPLEX FFT_DATA; +//#elif defined(FFT_FFTW2) +//#if defined(FFTW_SIZE) +//#include "sfftw.h" +//#else +//#include "fftw.h" +//#endif +//typedef FFTW_COMPLEX FFT_DATA; #elif defined(FFT_FFTW3) #include "fftw3.h" @@ -82,13 +82,13 @@ typedef struct kiss_fft_state* kiss_fft_cfg; typedef double _Complex FFT_DATA; #define FFT_MKL_PREC DFTI_DOUBLE -#elif defined(FFT_FFTW2) -#if defined(FFTW_SIZE) -#include "dfftw.h" -#else -#include "fftw.h" -#endif -typedef FFTW_COMPLEX FFT_DATA; +//#elif defined(FFT_FFTW2) +//#if defined(FFTW_SIZE) +//#include "dfftw.h" +//#else +//#include "fftw.h" +//#endif +//typedef FFTW_COMPLEX FFT_DATA; #elif defined(FFT_FFTW3) #include "fftw3.h" @@ -139,13 +139,13 @@ struct fft_plan_3d { DFTI_DESCRIPTOR *handle_fast; DFTI_DESCRIPTOR *handle_mid; DFTI_DESCRIPTOR *handle_slow; -#elif defined(FFT_FFTW2) - fftw_plan plan_fast_forward; - fftw_plan plan_fast_backward; - fftw_plan plan_mid_forward; - fftw_plan plan_mid_backward; - fftw_plan plan_slow_forward; - fftw_plan plan_slow_backward; +//#elif defined(FFT_FFTW2) +// fftw_plan plan_fast_forward; +// fftw_plan plan_fast_backward; +// fftw_plan plan_mid_forward; +// fftw_plan plan_mid_backward; +//fftw_plan plan_slow_forward; +//fftw_plan plan_slow_backward; #elif defined(FFT_FFTW3) FFTW_API(plan) plan_fast_forward; FFTW_API(plan) plan_fast_backward; -- GitLab From 6069d392a3dafa819786b0531383e3bffce12a2a Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 15 Aug 2018 16:44:31 -0400 Subject: [PATCH 498/675] favor qsort over mergesort for stable release --- src/lmptype.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/lmptype.h b/src/lmptype.h index 2be1d2ac38..7e359d2abe 100644 --- a/src/lmptype.h +++ b/src/lmptype.h @@ -46,6 +46,13 @@ #define PRId64 "ld" #endif +// favor qsort over mergesort for stable release +// TODO: to be removed after stable release + +#ifndef LMP_QSORT +#define LMP_QSORT +#endif + namespace LAMMPS_NS { // enum used for KOKKOS host/device flags -- GitLab From 9e154abba01c34a03c9679cc3f16c50453b67d39 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 15 Aug 2018 14:55:48 -0600 Subject: [PATCH 499/675] remove pre-install of 3 default packages from docs --- doc/src/Build_package.txt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/doc/src/Build_package.txt b/doc/src/Build_package.txt index 45626dbbae..dc8918c884 100644 --- a/doc/src/Build_package.txt +++ b/doc/src/Build_package.txt @@ -121,10 +121,14 @@ right thing. Individual files are only included if their dependencies are already included. Likewise, if a package is excluded, other files dependent on that package are also excluded. -When you download a LAMMPS tarball, three packages are pre-installed -in the src directory: KSPACE, MANYBODY, MOLECULE. This is because -they are so commonly used. When you download LAMMPS source files from -the Git or SVN repositories, no packages are pre-installed. +When you download a LAMMPS tarball or download LAMMPS source files +from the Git or SVN repositories, no packages are pre-installed in the +src directory. + +NOTE: Prior to Aug 2018, if you downloaded a tarball, 3 packages +(KSPACE, MANYBODY, MOLECULE) were pre-installed in the src directory. +That is no longer the case, so that CMake will build as-is without the +need to un-install those packages. :line -- GitLab From 46f1e63a196dace70150bb50297ef279447706b2 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 15 Aug 2018 15:14:01 -0600 Subject: [PATCH 500/675] update to Authors for CMake addition --- doc/src/Intro_authors.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/src/Intro_authors.txt b/doc/src/Intro_authors.txt index 8bb0fa9c22..06c86f6e3c 100644 --- a/doc/src/Intro_authors.txt +++ b/doc/src/Intro_authors.txt @@ -63,6 +63,7 @@ Jim Belak and Roy Pollock (LLNL) :ul Here is a timeline for when various individuals contributed to a new feature or command or tool added to LAMMPS: +Aug18 : CMake build option for LAMMPS : Christoph Junghans (LANL), Richard Berger, and Axel Kohlmeyer (Temple U) Jul18 : DEM polygonal and polyhedron particles : Trung Nguyen (Northwestern U) Jun18 : SPIN package : Julien Tranchida (Sandia and CEA) Jun18 : compute entropy/atom : Pablo Piaggi (EPLF, Switzerland) -- GitLab From ccc9fcda775d1751c9cd64a4d22f2733a9c27918 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 15 Aug 2018 16:22:26 -0600 Subject: [PATCH 501/675] tweaks to doc page formatting --- doc/src/Build.txt | 13 +------------ doc/src/Build_basics.txt | 10 +++++----- doc/src/Build_settings.txt | 14 +++++++------- doc/src/Intro_authors.txt | 2 +- doc/src/Modify.txt | 14 ++------------ doc/src/Python_head.txt | 14 ++------------ doc/src/Speed.txt | 19 +++++++------------ 7 files changed, 25 insertions(+), 61 deletions(-) diff --git a/doc/src/Build.txt b/doc/src/Build.txt index 218664897f..1deaa1bd36 100644 --- a/doc/src/Build.txt +++ b/doc/src/Build.txt @@ -24,17 +24,9 @@ as described on the "Install"_Install.html doc page. Build_cmake Build_make Build_link - -.. toctree:: - :maxdepth: 1 - Build_basics Build_settings Build_package - -.. toctree:: - :maxdepth: 1 - Build_extras END_RST --> @@ -43,10 +35,7 @@ END_RST --> "Build LAMMPS with CMake"_Build_cmake.html "Build LAMMPS with make"_Build_make.html -"Link LAMMPS as a library to another code"_Build_link.html :all(b) - -Build options: - +"Link LAMMPS as a library to another code"_Build_link.html "Basic build options: serial/parallel, compilers, executable/library"_Build_basics.html "Optional build settings"_Build_settings.html :all(b) "Include packages in build"_Build_package.html diff --git a/doc/src/Build_basics.txt b/doc/src/Build_basics.txt index 425266a35f..cee78aced3 100644 --- a/doc/src/Build_basics.txt +++ b/doc/src/Build_basics.txt @@ -20,7 +20,7 @@ CMake and make: :line -Serial vs parallel build :h3,link(serial) +Serial vs parallel build :h4,link(serial) LAMMPS can be built to run in parallel using the ubiquitous "MPI (message-passing @@ -118,7 +118,7 @@ please refer to its documentation. :line -Choice of compiler and compile/link options :h3,link(compile) +Choice of compiler and compile/link options :h4,link(compile) The choice of compiler and compiler flags can be important for performance. Vendor compilers can produce faster code than @@ -210,7 +210,7 @@ Makefile.kokkos_phi # KOKKOS package for KNLs (OpenMP) :pre :line -Build LAMMPS as an executable or a library :h3,link(exe) +Build LAMMPS as an executable or a library :h4,link(exe) LAMMPS can be built as either an executable or as a static or shared library. The LAMMPS library can be called from another application or @@ -271,7 +271,7 @@ should be the file /usr/local/lib/libmpich.so. :line -Build the LAMMPS documentation :h3,link(doc) +Build the LAMMPS documentation :h4,link(doc) [CMake variable]: @@ -294,7 +294,7 @@ lammps/doc dir to see other options. :line -Install LAMMPS after a build :h3,link(install) +Install LAMMPS after a build :h4,link(install) After building LAMMPS, you may wish to copy the LAMMPS executable of library, along with other LAMMPS files (library header, doc files) to diff --git a/doc/src/Build_settings.txt b/doc/src/Build_settings.txt index db281c0857..773217e3a0 100644 --- a/doc/src/Build_settings.txt +++ b/doc/src/Build_settings.txt @@ -23,7 +23,7 @@ explain how to do this for building both with CMake and make. :line -FFT library :h3,link(fft) +FFT library :h4,link(fft) When the KSPACE package is included in a LAMMPS build, the "kspace_style pppm"_kspace_style.html command performs 3d FFTs which @@ -126,7 +126,7 @@ ARRAY mode. :line -Size of LAMMPS data types :h3,link(size) +Size of LAMMPS data types :h4,link(size) LAMMPS has a few integer data types which can be defined as 4-byte or 8-byte integers. The default setting of "smallbig" is almost always @@ -189,7 +189,7 @@ in whichever lib/gpu/Makefile is used must be the same as above. :line -Output of JPG, PNG, and movie files :h3,link(graphics) +Output of JPG, PNG, and movie files :h4,link(graphics) The "dump image"_dump_image.html command has options to output JPEG or PNG image files. Likewise the "dump movie"_dump_image.html command @@ -245,7 +245,7 @@ crash. :line -Read or write compressed files :h3,link(gzip) +Read or write compressed files :h4,link(gzip) If this option is enabled, large files can be read or written with gzip compression by several LAMMPS commands, including @@ -276,7 +276,7 @@ what the "COMPRESS package"_Packages_details.html#PKG-COMPRESS enables. :line -Memory allocation alignment :h3,link(align) +Memory allocation alignment :h4,link(align) This setting enables the use of the posix_memalign() call instead of malloc() when LAMMPS allocates large chunks or memory. This can make @@ -308,7 +308,7 @@ manages its dynamical memory. :line -Workaround for long long integers :h3,link(longlong) +Workaround for long long integers :h4,link(longlong) If your system or MPI version does not recognize "long long" data types, the following setting will be needed. It converts "long long" @@ -325,7 +325,7 @@ LMP_INC = -DLAMMPS_LONGLONG_TO_LONG :pre :line -Exception handling when using LAMMPS as a library :h3,link(exceptions) +Exception handling when using LAMMPS as a library :h4,link(exceptions) This setting is useful when external codes drive LAMMPS as a library. With this option enabled LAMMPS errors do not kill the caller. diff --git a/doc/src/Intro_authors.txt b/doc/src/Intro_authors.txt index 06c86f6e3c..3e9c163eb2 100644 --- a/doc/src/Intro_authors.txt +++ b/doc/src/Intro_authors.txt @@ -30,7 +30,7 @@ the packages they have written are somewhat unique to LAMMPS and the code would not be as general-purpose as it is without their expertise and efforts. -Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM, USER-OMP, USER-COLVARS, USER-MOLFILE, USER-QMMM packages +Richard Berger (Temple U), GitHub site and Sphinx doc pages Roy Pollock (LLNL), Ewald and PPPM solvers Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL packages Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential diff --git a/doc/src/Modify.txt b/doc/src/Modify.txt index 666aaba8a7..38fbf17dd9 100644 --- a/doc/src/Modify.txt +++ b/doc/src/Modify.txt @@ -38,19 +38,11 @@ contribute"_Modify_contribute.html doc page. Modify_compute Modify_fix Modify_command - -.. toctree:: - :maxdepth: 1 - Modify_dump Modify_kspace Modify_min Modify_region Modify_body - -.. toctree:: - :maxdepth: 1 - Modify_thermo Modify_variable @@ -66,14 +58,12 @@ END_RST --> "Bond, angle, dihedral, improper styles"_Modify_bond.html "Compute styles"_Modify_compute.html "Fix styles"_Modify_fix.html -"Input script command styles"_Modify_command.html :all(b) - +"Input script command styles"_Modify_command.html "Dump styles"_Modify_dump.html "Kspace styles"_Modify_kspace.html "Minimization styles"_Modify_min.html "Region styles"_Modify_region.html -"Body styles"_Modify_body.html :all(b) - +"Body styles"_Modify_body.html "Thermodynamic output options"_Modify_thermo.html "Variable options"_Modify_variable.html :all(b) diff --git a/doc/src/Python_head.txt b/doc/src/Python_head.txt index b5d33c5daa..1f02368429 100644 --- a/doc/src/Python_head.txt +++ b/doc/src/Python_head.txt @@ -19,10 +19,6 @@ used together. :maxdepth: 1 Python_overview - -.. toctree:: - :maxdepth: 1 - Python_run Python_shlib Python_install @@ -31,18 +27,13 @@ used together. Python_library Python_pylammps Python_examples - -.. toctree:: - :maxdepth: 1 - Python_call END_RST --> -"Overview of Python and LAMMPS"_Python_overview.html :all(b) - +"Overview of Python and LAMMPS"_Python_overview.html "Run LAMMPS from Python"_Python_run.html "Build LAMMPS as a shared library"_Python_shlib.html "Install LAMMPS in Python"_Python_install.html @@ -50,8 +41,7 @@ END_RST --> "Test the Python/LAMMPS interface"_Python_test.html "Python library interface"_Python_library.html "PyLammps interface"_Python_pylammps.html -"Example Python scripts that use LAMMPS"_Python_examples.html :all(b) - +"Example Python scripts that use LAMMPS"_Python_examples.html "Call Python from a LAMMPS input script"_Python_call.html :all(b) diff --git a/doc/src/Speed.txt b/doc/src/Speed.txt index 7eac11ffa5..17d44e8365 100644 --- a/doc/src/Speed.txt +++ b/doc/src/Speed.txt @@ -35,16 +35,13 @@ hardware platforms. Speed_bench Speed_measure - -.. toctree:: - :maxdepth: 1 - Speed_tips - -.. toctree:: - :maxdepth: 1 - Speed_packages + Speed_gpu + Speed_intel + Speed_kokkos + Speed_omp + Speed_opt Speed_compare END_RST --> @@ -52,10 +49,8 @@ END_RST --> "Benchmarks"_Speed_bench.html -"Measuring performance"_Speed_measure.html :all(b) - -"General tips"_Speed_tips.html :all(b) - +"Measuring performance"_Speed_measure.html +"General tips"_Speed_tips.html "Accelerator packages"_Speed_packages.html "GPU package"_Speed_gpu.html "USER-INTEL package"_Speed_intel.html -- GitLab From 07cd194e27f7a8f3e68cb1031ee78c188db3c4e3 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 15 Aug 2018 16:27:39 -0600 Subject: [PATCH 502/675] tweaks to Manual formatting --- doc/src/Build.txt | 17 +++-------------- doc/src/Build_basics.txt | 10 +++++----- doc/src/Build_settings.txt | 14 +++++++------- doc/src/Intro_authors.txt | 2 +- doc/src/Modify.txt | 14 ++------------ doc/src/Python_head.txt | 14 ++------------ doc/src/Speed.txt | 19 +++++++------------ 7 files changed, 27 insertions(+), 63 deletions(-) diff --git a/doc/src/Build.txt b/doc/src/Build.txt index 218664897f..e62268b84b 100644 --- a/doc/src/Build.txt +++ b/doc/src/Build.txt @@ -24,17 +24,9 @@ as described on the "Install"_Install.html doc page. Build_cmake Build_make Build_link - -.. toctree:: - :maxdepth: 1 - Build_basics Build_settings Build_package - -.. toctree:: - :maxdepth: 1 - Build_extras END_RST --> @@ -43,12 +35,9 @@ END_RST --> "Build LAMMPS with CMake"_Build_cmake.html "Build LAMMPS with make"_Build_make.html -"Link LAMMPS as a library to another code"_Build_link.html :all(b) - -Build options: - -"Basic build options: serial/parallel, compilers, executable/library"_Build_basics.html -"Optional build settings"_Build_settings.html :all(b) +"Link LAMMPS as a library to another code"_Build_link.html +"Basic build options"_Build_basics.html +"Optional build settings"_Build_settings.html "Include packages in build"_Build_package.html "Packages with extra build options"_Build_extras.html :all(b) diff --git a/doc/src/Build_basics.txt b/doc/src/Build_basics.txt index 425266a35f..cee78aced3 100644 --- a/doc/src/Build_basics.txt +++ b/doc/src/Build_basics.txt @@ -20,7 +20,7 @@ CMake and make: :line -Serial vs parallel build :h3,link(serial) +Serial vs parallel build :h4,link(serial) LAMMPS can be built to run in parallel using the ubiquitous "MPI (message-passing @@ -118,7 +118,7 @@ please refer to its documentation. :line -Choice of compiler and compile/link options :h3,link(compile) +Choice of compiler and compile/link options :h4,link(compile) The choice of compiler and compiler flags can be important for performance. Vendor compilers can produce faster code than @@ -210,7 +210,7 @@ Makefile.kokkos_phi # KOKKOS package for KNLs (OpenMP) :pre :line -Build LAMMPS as an executable or a library :h3,link(exe) +Build LAMMPS as an executable or a library :h4,link(exe) LAMMPS can be built as either an executable or as a static or shared library. The LAMMPS library can be called from another application or @@ -271,7 +271,7 @@ should be the file /usr/local/lib/libmpich.so. :line -Build the LAMMPS documentation :h3,link(doc) +Build the LAMMPS documentation :h4,link(doc) [CMake variable]: @@ -294,7 +294,7 @@ lammps/doc dir to see other options. :line -Install LAMMPS after a build :h3,link(install) +Install LAMMPS after a build :h4,link(install) After building LAMMPS, you may wish to copy the LAMMPS executable of library, along with other LAMMPS files (library header, doc files) to diff --git a/doc/src/Build_settings.txt b/doc/src/Build_settings.txt index db281c0857..773217e3a0 100644 --- a/doc/src/Build_settings.txt +++ b/doc/src/Build_settings.txt @@ -23,7 +23,7 @@ explain how to do this for building both with CMake and make. :line -FFT library :h3,link(fft) +FFT library :h4,link(fft) When the KSPACE package is included in a LAMMPS build, the "kspace_style pppm"_kspace_style.html command performs 3d FFTs which @@ -126,7 +126,7 @@ ARRAY mode. :line -Size of LAMMPS data types :h3,link(size) +Size of LAMMPS data types :h4,link(size) LAMMPS has a few integer data types which can be defined as 4-byte or 8-byte integers. The default setting of "smallbig" is almost always @@ -189,7 +189,7 @@ in whichever lib/gpu/Makefile is used must be the same as above. :line -Output of JPG, PNG, and movie files :h3,link(graphics) +Output of JPG, PNG, and movie files :h4,link(graphics) The "dump image"_dump_image.html command has options to output JPEG or PNG image files. Likewise the "dump movie"_dump_image.html command @@ -245,7 +245,7 @@ crash. :line -Read or write compressed files :h3,link(gzip) +Read or write compressed files :h4,link(gzip) If this option is enabled, large files can be read or written with gzip compression by several LAMMPS commands, including @@ -276,7 +276,7 @@ what the "COMPRESS package"_Packages_details.html#PKG-COMPRESS enables. :line -Memory allocation alignment :h3,link(align) +Memory allocation alignment :h4,link(align) This setting enables the use of the posix_memalign() call instead of malloc() when LAMMPS allocates large chunks or memory. This can make @@ -308,7 +308,7 @@ manages its dynamical memory. :line -Workaround for long long integers :h3,link(longlong) +Workaround for long long integers :h4,link(longlong) If your system or MPI version does not recognize "long long" data types, the following setting will be needed. It converts "long long" @@ -325,7 +325,7 @@ LMP_INC = -DLAMMPS_LONGLONG_TO_LONG :pre :line -Exception handling when using LAMMPS as a library :h3,link(exceptions) +Exception handling when using LAMMPS as a library :h4,link(exceptions) This setting is useful when external codes drive LAMMPS as a library. With this option enabled LAMMPS errors do not kill the caller. diff --git a/doc/src/Intro_authors.txt b/doc/src/Intro_authors.txt index 06c86f6e3c..3e9c163eb2 100644 --- a/doc/src/Intro_authors.txt +++ b/doc/src/Intro_authors.txt @@ -30,7 +30,7 @@ the packages they have written are somewhat unique to LAMMPS and the code would not be as general-purpose as it is without their expertise and efforts. -Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM, USER-OMP, USER-COLVARS, USER-MOLFILE, USER-QMMM packages +Richard Berger (Temple U), GitHub site and Sphinx doc pages Roy Pollock (LLNL), Ewald and PPPM solvers Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL packages Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential diff --git a/doc/src/Modify.txt b/doc/src/Modify.txt index 666aaba8a7..38fbf17dd9 100644 --- a/doc/src/Modify.txt +++ b/doc/src/Modify.txt @@ -38,19 +38,11 @@ contribute"_Modify_contribute.html doc page. Modify_compute Modify_fix Modify_command - -.. toctree:: - :maxdepth: 1 - Modify_dump Modify_kspace Modify_min Modify_region Modify_body - -.. toctree:: - :maxdepth: 1 - Modify_thermo Modify_variable @@ -66,14 +58,12 @@ END_RST --> "Bond, angle, dihedral, improper styles"_Modify_bond.html "Compute styles"_Modify_compute.html "Fix styles"_Modify_fix.html -"Input script command styles"_Modify_command.html :all(b) - +"Input script command styles"_Modify_command.html "Dump styles"_Modify_dump.html "Kspace styles"_Modify_kspace.html "Minimization styles"_Modify_min.html "Region styles"_Modify_region.html -"Body styles"_Modify_body.html :all(b) - +"Body styles"_Modify_body.html "Thermodynamic output options"_Modify_thermo.html "Variable options"_Modify_variable.html :all(b) diff --git a/doc/src/Python_head.txt b/doc/src/Python_head.txt index b5d33c5daa..1f02368429 100644 --- a/doc/src/Python_head.txt +++ b/doc/src/Python_head.txt @@ -19,10 +19,6 @@ used together. :maxdepth: 1 Python_overview - -.. toctree:: - :maxdepth: 1 - Python_run Python_shlib Python_install @@ -31,18 +27,13 @@ used together. Python_library Python_pylammps Python_examples - -.. toctree:: - :maxdepth: 1 - Python_call END_RST --> -"Overview of Python and LAMMPS"_Python_overview.html :all(b) - +"Overview of Python and LAMMPS"_Python_overview.html "Run LAMMPS from Python"_Python_run.html "Build LAMMPS as a shared library"_Python_shlib.html "Install LAMMPS in Python"_Python_install.html @@ -50,8 +41,7 @@ END_RST --> "Test the Python/LAMMPS interface"_Python_test.html "Python library interface"_Python_library.html "PyLammps interface"_Python_pylammps.html -"Example Python scripts that use LAMMPS"_Python_examples.html :all(b) - +"Example Python scripts that use LAMMPS"_Python_examples.html "Call Python from a LAMMPS input script"_Python_call.html :all(b) diff --git a/doc/src/Speed.txt b/doc/src/Speed.txt index 7eac11ffa5..17d44e8365 100644 --- a/doc/src/Speed.txt +++ b/doc/src/Speed.txt @@ -35,16 +35,13 @@ hardware platforms. Speed_bench Speed_measure - -.. toctree:: - :maxdepth: 1 - Speed_tips - -.. toctree:: - :maxdepth: 1 - Speed_packages + Speed_gpu + Speed_intel + Speed_kokkos + Speed_omp + Speed_opt Speed_compare END_RST --> @@ -52,10 +49,8 @@ END_RST --> "Benchmarks"_Speed_bench.html -"Measuring performance"_Speed_measure.html :all(b) - -"General tips"_Speed_tips.html :all(b) - +"Measuring performance"_Speed_measure.html +"General tips"_Speed_tips.html "Accelerator packages"_Speed_packages.html "GPU package"_Speed_gpu.html "USER-INTEL package"_Speed_intel.html -- GitLab From 2137668c359201155be02be944a1c33206d0ee8d Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Wed, 15 Aug 2018 16:26:54 -0600 Subject: [PATCH 503/675] cmake: convert FFT and INTEL_ARCH --- cmake/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 12a496cc9f..9d816afa95 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -251,6 +251,7 @@ if(PKG_KSPACE) set(FFT_VALUES KISS ${FFTW} MKL) set_property(CACHE FFT PROPERTY STRINGS ${FFT_VALUES}) validate_option(FFT FFT_VALUES) + string(TOUPPER ${FFT} FFT) if(NOT FFT STREQUAL "KISS") find_package(${FFT} REQUIRED) if(NOT FFT STREQUAL "FFTW3F") @@ -790,6 +791,7 @@ if(PKG_USER-INTEL) set(INTEL_ARCH_VALUES cpu knl) set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES}) validate_option(INTEL_ARCH INTEL_ARCH_VALUES) + string(TOLOWER ${INTEL_ARCH} INTEL_ARCH) if(INTEL_ARCH STREQUAL "knl") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload") -- GitLab From 71227cb3c6f7b96b0b0ee2549b2d17649cf4eab4 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Wed, 15 Aug 2018 18:06:41 -0600 Subject: [PATCH 504/675] cmake: convert INTEL_ARCH to upper --- cmake/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 9d816afa95..fd06070ebf 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -791,9 +791,9 @@ if(PKG_USER-INTEL) set(INTEL_ARCH_VALUES cpu knl) set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES}) validate_option(INTEL_ARCH INTEL_ARCH_VALUES) - string(TOLOWER ${INTEL_ARCH} INTEL_ARCH) + string(TOUPPER ${INTEL_ARCH} INTEL_ARCH) - if(INTEL_ARCH STREQUAL "knl") + if(INTEL_ARCH STREQUAL "CPU") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload") set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"") add_compile_options(-xMIC-AVX512 -qoffload -fno-alias -ansi-alias -restrict -qoverride-limits ${MIC_OPTIONS}) -- GitLab From 481924fccc1f4610b1edc156eb341cd98bfda4d9 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Thu, 16 Aug 2018 05:50:10 -0600 Subject: [PATCH 505/675] Update CMakeLists.txt --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index fd06070ebf..68091e4ba7 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -793,7 +793,7 @@ if(PKG_USER-INTEL) validate_option(INTEL_ARCH INTEL_ARCH_VALUES) string(TOUPPER ${INTEL_ARCH} INTEL_ARCH) - if(INTEL_ARCH STREQUAL "CPU") + if(INTEL_ARCH STREQUAL "KNL") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload") set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"") add_compile_options(-xMIC-AVX512 -qoffload -fno-alias -ansi-alias -restrict -qoverride-limits ${MIC_OPTIONS}) -- GitLab From 8cea92d0bd292600a9fc59e667b4fb89cba6c6bc Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Thu, 16 Aug 2018 09:24:55 -0600 Subject: [PATCH 506/675] few more formatting issues --- doc/src/Build_extras.txt | 11 +++++------ doc/src/Build_package.txt | 1 + doc/src/Intro_authors.txt | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt index a3a05ed50e..6bbf504496 100644 --- a/doc/src/Build_extras.txt +++ b/doc/src/Build_extras.txt @@ -25,6 +25,7 @@ You may need to tell LAMMPS where it is found on your system. This is the list of packages that may require additional steps. +"COMPRESS"_#compress, "GPU"_#gpu, "KIM"_#kim, "KOKKOS"_#kokkos, @@ -231,7 +232,7 @@ Pascal61 = NVIDIA Pascal generation CC 6.1 :ul For multicore CPUs using OpenMP, set these 2 variables. --D KOKKOS_ARCH=archCPU # archCPU = CPU from list above :pre +-D KOKKOS_ARCH=archCPU # archCPU = CPU from list above -D KOKKOS_ENABLE_OPENMP=yes :pre For Intel KNLs using OpenMP, set these 2 variables: @@ -710,16 +711,14 @@ Makefile.knl files for examples. For CPUs: OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high -CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload \ - -fno-alias -ansi-alias -restrict $(OPTFLAGS) +CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS) LINKFLAGS = -g -qopenmp $(OPTFLAGS) LIB = -ltbbmalloc :pre For KNLs: OPTFLAGS = -xMIC-AVX512 -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload \ - -fno-alias -ansi-alias -restrict $(OPTFLAGS) +CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS) LINKFLAGS = -g -qopenmp $(OPTFLAGS) LIB = -ltbbmalloc :pre @@ -850,7 +849,7 @@ lib/quip/README file for details on how to do this. [CMake build]: --D QUIP_LIBRARIES=path # path to libquip.a (only needed if a custom location) +-D QUIP_LIBRARIES=path # path to libquip.a (only needed if a custom location) :pre CMake will not download and build the QUIP library. But once you have done that, a CMake build of LAMMPS with "-D PKG_USER-QUIP=yes" should diff --git a/doc/src/Build_package.txt b/doc/src/Build_package.txt index dc8918c884..0c7d1917de 100644 --- a/doc/src/Build_package.txt +++ b/doc/src/Build_package.txt @@ -36,6 +36,7 @@ steps, as explained on the "Build extras"_Build_extras.html doc page. These links take you to the extra instructions for those select packages: +"COMPRESS"_Build_extras.html#compress, "GPU"_Build_extras.html#gpu, "KIM"_Build_extras.html#kim, "KOKKOS"_Build_extras.html#kokkos, diff --git a/doc/src/Intro_authors.txt b/doc/src/Intro_authors.txt index 3e9c163eb2..5d9efb3077 100644 --- a/doc/src/Intro_authors.txt +++ b/doc/src/Intro_authors.txt @@ -30,7 +30,7 @@ the packages they have written are somewhat unique to LAMMPS and the code would not be as general-purpose as it is without their expertise and efforts. -Richard Berger (Temple U), GitHub site and Sphinx doc pages +Richard Berger (Temple U), Python interface, GitHub site, Sphinx doc pages Roy Pollock (LLNL), Ewald and PPPM solvers Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL packages Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential -- GitLab From b55f3162f49325272eabd69cc6fd49afe86d97cf Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Thu, 16 Aug 2018 09:41:04 -0600 Subject: [PATCH 507/675] date got lost somehow --- doc/src/Manual.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index c4dbf0415e..189ea795a3 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,7 +1,7 @@ LAMMPS Users Manual - + @@ -21,7 +21,7 @@ :line LAMMPS Documentation :c,h1 -2 Aug 2018 version :c,h2 +15 Aug 2018 version :c,h2 "What is a LAMMPS version?"_Manual_version.html -- GitLab From 47f02b323a64b22d055eeda71610a759d0d1f92d Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 16 Aug 2018 12:39:48 -0400 Subject: [PATCH 508/675] Undo change, would create inconsistent tocs --- doc/src/Speed.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/doc/src/Speed.txt b/doc/src/Speed.txt index 17d44e8365..dd2052bac1 100644 --- a/doc/src/Speed.txt +++ b/doc/src/Speed.txt @@ -37,11 +37,6 @@ hardware platforms. Speed_measure Speed_tips Speed_packages - Speed_gpu - Speed_intel - Speed_kokkos - Speed_omp - Speed_opt Speed_compare END_RST --> -- GitLab From b7d64e0374dab74ce40df4519cda5b5f26fef97b Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Thu, 16 Aug 2018 11:55:57 -0600 Subject: [PATCH 509/675] patch 16Aug18 --- doc/src/Manual.txt | 4 ++-- src/version.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index 189ea795a3..9bd346e8a0 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,7 +1,7 @@ LAMMPS Users Manual - + @@ -21,7 +21,7 @@ :line LAMMPS Documentation :c,h1 -15 Aug 2018 version :c,h2 +16 Aug 2018 version :c,h2 "What is a LAMMPS version?"_Manual_version.html diff --git a/src/version.h b/src/version.h index b95c259dd6..db73df1ad1 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "2 Aug 2018" +#define LAMMPS_VERSION "16 Aug 2018" -- GitLab From 4c3bd3909e25095edc96c0a187e949b9a66869de Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 16 Aug 2018 18:13:24 -0400 Subject: [PATCH 510/675] Add missing source file for KOKKOS with KSPACE --- cmake/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 68091e4ba7..0d8a4894bd 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -731,6 +731,11 @@ if(PKG_KOKKOS) ${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.cpp ${KOKKOS_PKG_SOURCES_DIR}/domain_kokkos.cpp ${KOKKOS_PKG_SOURCES_DIR}/modify_kokkos.cpp) + + if(PKG_KSPACE) + list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/gridcomm_kokkos.cpp) + endif() + set_property(GLOBAL PROPERTY "KOKKOS_PKG_SOURCES" "${KOKKOS_PKG_SOURCES}") # detects styles which have KOKKOS version -- GitLab From e05d4718699466351148bf28f06d20f61fa2aa4f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Aug 2018 22:33:13 -0400 Subject: [PATCH 511/675] fix typo --- doc/src/Manual_build.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Manual_build.txt b/doc/src/Manual_build.txt index 747a55a729..a6b881cb79 100644 --- a/doc/src/Manual_build.txt +++ b/doc/src/Manual_build.txt @@ -81,7 +81,7 @@ sudo yum install python3-virtualenv :pre Fedora (since version 22) :h4 -sudo dnf install python3-virtualenv pre +sudo dnf install python3-virtualenv :pre MacOS X :h4 -- GitLab From 73540e6b44caf5d1c6b33a78115888edad13569d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Aug 2018 22:33:38 -0400 Subject: [PATCH 512/675] remove unneeded comments --- src/USER-COLVARS/fix_colvars.h | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/USER-COLVARS/fix_colvars.h b/src/USER-COLVARS/fix_colvars.h index 509eca5de3..3029ba9db5 100644 --- a/src/USER-COLVARS/fix_colvars.h +++ b/src/USER-COLVARS/fix_colvars.h @@ -34,7 +34,6 @@ FixStyle(colvars,FixColvars) #define LMP_FIX_COLVARS_H #include "fix.h" -#include // forward declaration class colvarproxy_lammps; @@ -77,13 +76,6 @@ class FixColvars : public Fix { int num_coords; // total number of atoms controlled by this fix tagint *taglist; // list of all atom IDs referenced by colvars. - // TODO get rid of these - // std::vector *coords; // coordinates of colvar atoms - // std::vector *forces; // received forces of colvar atoms - // std::vector *oforce; // old total forces of colvar atoms - // std::vector *masses; - // std::vector *charges; - int nmax; // size of atom communication buffer. int size_one; // bytes per atom in communication buffer. struct commdata *comm_buf; // communication buffer -- GitLab From a8c687aee848f6822a134a94fa79f9ed48545219 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Aug 2018 22:41:48 -0400 Subject: [PATCH 513/675] cleaner formatting in Sphinx for package tables --- doc/src/Packages_standard.txt | 52 +++++++++++++++---------------- doc/src/Packages_user.txt | 58 +++++++++++++++++------------------ 2 files changed, 55 insertions(+), 55 deletions(-) diff --git a/doc/src/Packages_standard.txt b/doc/src/Packages_standard.txt index a79caae141..55d0d616f4 100644 --- a/doc/src/Packages_standard.txt +++ b/doc/src/Packages_standard.txt @@ -25,42 +25,42 @@ refers to the examples/USER/atc directory. The "Library" column indicates whether an extra library is needed to build and use the package: -dash = no library +no = no library sys = system library: you likely have it on your machine int = internal library: provided with LAMMPS, but you may need to build it ext = external library: you will need to download and install it on your machine :ul Package, Description, Doc page, Example, Library -"ASPHERE"_Packages_details.html#PKG-ASPHERE, aspherical particle models, "Howto spherical"_Howto_spherical.html, ellipse, - -"BODY"_Packages_details.html#PKG-BODY, body-style particles, "Howto body"_Howto_body.html, body, - -"CLASS2"_Packages_details.html#PKG-CLASS2, class 2 force fields, "pair_style lj/class2"_pair_class2.html, -, - -"COLLOID"_Packages_details.html#PKG-COLLOID, colloidal particles, "atom_style colloid"_atom_style.html, colloid, - -"COMPRESS"_Packages_details.html#PKG-COMPRESS, I/O compression, "dump */gz"_dump.html, -, sys -"CORESHELL"_Packages_details.html#PKG-CORESHELL, adiabatic core/shell model, "Howto coreshell"_Howto_coreshell.html, coreshell, - -"DIPOLE"_Packages_details.html#PKG-DIPOLE, point dipole particles, "pair_style dipole/cut"_pair_dipole.html, dipole, - +"ASPHERE"_Packages_details.html#PKG-ASPHERE, aspherical particle models, "Howto spherical"_Howto_spherical.html, ellipse, no +"BODY"_Packages_details.html#PKG-BODY, body-style particles, "Howto body"_Howto_body.html, body, no +"CLASS2"_Packages_details.html#PKG-CLASS2, class 2 force fields, "pair_style lj/class2"_pair_class2.html, n/a, no +"COLLOID"_Packages_details.html#PKG-COLLOID, colloidal particles, "atom_style colloid"_atom_style.html, colloid, no +"COMPRESS"_Packages_details.html#PKG-COMPRESS, I/O compression, "dump */gz"_dump.html, n/a, sys +"CORESHELL"_Packages_details.html#PKG-CORESHELL, adiabatic core/shell model, "Howto coreshell"_Howto_coreshell.html, coreshell, no +"DIPOLE"_Packages_details.html#PKG-DIPOLE, point dipole particles, "pair_style dipole/cut"_pair_dipole.html, dipole, no "GPU"_Packages_details.html#PKG-GPU, GPU-enabled styles, "Section gpu"_Speed_gpu.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, int -"GRANULAR"_Packages_details.html#PKG-GRANULAR, granular systems, "Howto granular"_Howto_granular.html, pour, - +"GRANULAR"_Packages_details.html#PKG-GRANULAR, granular systems, "Howto granular"_Howto_granular.html, pour, no "KIM"_Packages_details.html#PKG-KIM, OpenKIM wrapper, "pair_style kim"_pair_kim.html, kim, ext -"KOKKOS"_Packages_details.html#PKG-KOKKOS, Kokkos-enabled styles, "Speed kokkos"_Speed_kokkos.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - -"KSPACE"_Packages_details.html#PKG-KSPACE, long-range Coulombic solvers, "kspace_style"_kspace_style.html, peptide, - +"KOKKOS"_Packages_details.html#PKG-KOKKOS, Kokkos-enabled styles, "Speed kokkos"_Speed_kokkos.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no +"KSPACE"_Packages_details.html#PKG-KSPACE, long-range Coulombic solvers, "kspace_style"_kspace_style.html, peptide, no "LATTE"_Packages_details.html#PKG-LATTE, quantum DFTB forces via LATTE, "fix latte"_fix_latte.html, latte, ext -"MANYBODY"_Packages_details.html#PKG-MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, - -"MC"_Packages_details.html#PKG-MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, -, - +"MANYBODY"_Packages_details.html#PKG-MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, no +"MC"_Packages_details.html#PKG-MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, n/a, no "MEAM"_Packages_details.html#PKG-MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int -"MISC"_Packages_details.html#PKG-MISC, miscellanous single-file commands, -, -, - -"MOLECULE"_Packages_details.html#PKG-MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, - -"MPIIO"_Packages_details.html#PKG-MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, -, - +"MISC"_Packages_details.html#PKG-MISC, miscellanous single-file commands, n/a, no, no +"MOLECULE"_Packages_details.html#PKG-MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, no +"MPIIO"_Packages_details.html#PKG-MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, n/a, no "MSCG"_Packages_details.html#PKG-MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext -"OPT"_Packages_details.html#PKG-OPT, optimized pair styles, "Speed opt"_Speed_opt.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - -"PERI"_Packages_details.html#PKG-PERI, Peridynamics models, "pair_style peri"_pair_peri.html, peri, - +"OPT"_Packages_details.html#PKG-OPT, optimized pair styles, "Speed opt"_Speed_opt.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no +"PERI"_Packages_details.html#PKG-PERI, Peridynamics models, "pair_style peri"_pair_peri.html, peri, no "POEMS"_Packages_details.html#PKG-POEMS, coupled rigid body motion, "fix poems"_fix_poems.html, rigid, int "PYTHON"_Packages_details.html#PKG-PYTHON, embed Python code in an input script, "python"_python.html, python, sys -"QEQ"_Packages_details.html#PKG-QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, - +"QEQ"_Packages_details.html#PKG-QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, no "REAX"_Packages_details.html#PKG-REAX, ReaxFF potential (Fortran), "pair_style reax"_pair_reax.html, reax, int -"REPLICA"_Packages_details.html#PKG-REPLICA2, multi-replica methods, "Howto replica"_Howto_replica.html, tad, - -"RIGID"_Packages_details.html#PKG-RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, - -"SHOCK"_Packages_details.html#PKG-SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, - -"SNAP"_Packages_details.html#PKG-SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, - -"SPIN"_Packages_details.html#PKG-SPIN, magnetic atomic spin dynamics, "Howto spins"_Howto_spins.html, SPIN, - -"SRD"_Packages_details.html#PKG-SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, - -"VORONOI"_Packages_details.html#PKG-VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext :tb(ea=c,ca1=l) +"REPLICA"_Packages_details.html#PKG-REPLICA2, multi-replica methods, "Howto replica"_Howto_replica.html, tad, no +"RIGID"_Packages_details.html#PKG-RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, no +"SHOCK"_Packages_details.html#PKG-SHOCK, shock loading methods, "fix msst"_fix_msst.html, n/a, no +"SNAP"_Packages_details.html#PKG-SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, no +"SPIN"_Packages_details.html#PKG-SPIN, magnetic atomic spin dynamics, "Howto spins"_Howto_spins.html, SPIN, no +"SRD"_Packages_details.html#PKG-SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, no +"VORONOI"_Packages_details.html#PKG-VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, n/a, ext :tb(ea=c,ca1=l) diff --git a/doc/src/Packages_user.txt b/doc/src/Packages_user.txt index 7157ebead0..c1a52fd0d0 100644 --- a/doc/src/Packages_user.txt +++ b/doc/src/Packages_user.txt @@ -32,7 +32,7 @@ refers to the examples/USER/atc directory. The "Library" column indicates whether an extra library is needed to build and use the package: -dash = no library +no = no library sys = system library: you likely have it on your machine int = internal library: provided with LAMMPS, but you may need to build it ext = external library: you will need to download and install it on your machine :ul @@ -40,35 +40,35 @@ ext = external library: you will need to download and install it on your machine Package, Description, Doc page, Example, Library "USER-ATC"_Packages_details.html#PKG-USER-ATC, atom-to-continuum coupling, "fix atc"_fix_atc.html, USER/atc, int "USER-AWPMD"_Packages_details.html#PKG-USER-AWPMD, wave-packet MD, "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, int -"USER-BOCS"_Packages_details.html#PKG-USER-BOCS, BOCS bottom up coarse graining, "fix bocs"_fix_bocs.html, USER/bocs, - -"USER-CGDNA"_Packages_details.html#PKG-USER-CGDNA, coarse-grained DNA force fields, src/USER-CGDNA/README, USER/cgdna, - -"USER-CGSDK"_Packages_details.html#PKG-USER-CGSDK, SDK coarse-graining model, "pair_style lj/sdk"_pair_sdk.html, USER/cgsdk, - +"USER-BOCS"_Packages_details.html#PKG-USER-BOCS, BOCS bottom up coarse graining, "fix bocs"_fix_bocs.html, USER/bocs, no +"USER-CGDNA"_Packages_details.html#PKG-USER-CGDNA, coarse-grained DNA force fields, src/USER-CGDNA/README, USER/cgdna, no +"USER-CGSDK"_Packages_details.html#PKG-USER-CGSDK, SDK coarse-graining model, "pair_style lj/sdk"_pair_sdk.html, USER/cgsdk, no "USER-COLVARS"_Packages_details.html#PKG-USER-COLVARS, collective variables library, "fix colvars"_fix_colvars.html, USER/colvars, int -"USER-DIFFRACTION"_Packages_details.html#PKG-USER-DIFFRACTION, virtual x-ray and electron diffraction,"compute xrd"_compute_xrd.html, USER/diffraction, - -"USER-DPD"_Packages_details.html#PKG-USER-DPD, reactive dissipative particle dynamics, src/USER-DPD/README, USER/dpd, - -"USER-DRUDE"_Packages_details.html#PKG-USER-DRUDE, Drude oscillators, "Howto drude"_Howto_drude.html, USER/drude, - -"USER-EFF"_Packages_details.html#PKG-USER-EFF, electron force field,"pair_style eff/cut"_pair_eff.html, USER/eff, - -"USER-FEP"_Packages_details.html#PKG-USER-FEP, free energy perturbation,"compute fep"_compute_fep.html, USER/fep, - -"USER-H5MD"_Packages_details.html#PKG-USER-H5MD, dump output via HDF5,"dump h5md"_dump_h5md.html, -, ext -"USER-INTEL"_Packages_details.html#PKG-USER-INTEL, optimized Intel CPU and KNL styles,"Speed intel"_Speed_intel.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - -"USER-LB"_Packages_details.html#PKG-USER-LB, Lattice Boltzmann fluid,"fix lb/fluid"_fix_lb_fluid.html, USER/lb, - -"USER-MANIFOLD"_Packages_details.html#PKG-USER-MANIFOLD, motion on 2d surfaces,"fix manifoldforce"_fix_manifoldforce.html, USER/manifold, - -"USER-MEAMC"_Packages_details.html#PKG-USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meam.html, meam, - -"USER-MESO"_Packages_details.html#PKG-USER-MESO, mesoscale DPD models, "pair_style edpd"_pair_meso.html, USER/meso, - -"USER-MGPT"_Packages_details.html#PKG-USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, - -"USER-MISC"_Packages_details.html#PKG-USER-MISC, single-file contributions, USER-MISC/README, USER/misc, - -"USER-MOFFF"_Packages_details.html#PKG-USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, - -"USER-MOLFILE"_Packages_details.html#PKG-USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, -, ext -"USER-NETCDF"_Packages_details.html#PKG-USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, -, ext -"USER-OMP"_Packages_details.html#PKG-USER-OMP, OpenMP-enabled styles,"Speed omp"_Speed_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - -"USER-PHONON"_Packages_details.html#PKG-USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, - +"USER-DIFFRACTION"_Packages_details.html#PKG-USER-DIFFRACTION, virtual x-ray and electron diffraction,"compute xrd"_compute_xrd.html, USER/diffraction, no +"USER-DPD"_Packages_details.html#PKG-USER-DPD, reactive dissipative particle dynamics, src/USER-DPD/README, USER/dpd, no +"USER-DRUDE"_Packages_details.html#PKG-USER-DRUDE, Drude oscillators, "Howto drude"_Howto_drude.html, USER/drude, no +"USER-EFF"_Packages_details.html#PKG-USER-EFF, electron force field,"pair_style eff/cut"_pair_eff.html, USER/eff, no +"USER-FEP"_Packages_details.html#PKG-USER-FEP, free energy perturbation,"compute fep"_compute_fep.html, USER/fep, no +"USER-H5MD"_Packages_details.html#PKG-USER-H5MD, dump output via HDF5,"dump h5md"_dump_h5md.html, n/a, ext +"USER-INTEL"_Packages_details.html#PKG-USER-INTEL, optimized Intel CPU and KNL styles,"Speed intel"_Speed_intel.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no +"USER-LB"_Packages_details.html#PKG-USER-LB, Lattice Boltzmann fluid,"fix lb/fluid"_fix_lb_fluid.html, USER/lb, no +"USER-MANIFOLD"_Packages_details.html#PKG-USER-MANIFOLD, motion on 2d surfaces,"fix manifoldforce"_fix_manifoldforce.html, USER/manifold, no +"USER-MEAMC"_Packages_details.html#PKG-USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meam.html, meam, no +"USER-MESO"_Packages_details.html#PKG-USER-MESO, mesoscale DPD models, "pair_style edpd"_pair_meso.html, USER/meso, no +"USER-MGPT"_Packages_details.html#PKG-USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, no +"USER-MISC"_Packages_details.html#PKG-USER-MISC, single-file contributions, USER-MISC/README, USER/misc, no +"USER-MOFFF"_Packages_details.html#PKG-USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, no +"USER-MOLFILE"_Packages_details.html#PKG-USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, n/a, ext +"USER-NETCDF"_Packages_details.html#PKG-USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, n/a, ext +"USER-OMP"_Packages_details.html#PKG-USER-OMP, OpenMP-enabled styles,"Speed omp"_Speed_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no +"USER-PHONON"_Packages_details.html#PKG-USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, no "USER-QMMM"_Packages_details.html#PKG-USER-QMMM, QM/MM coupling,"fix qmmm"_fix_qmmm.html, USER/qmmm, ext -"USER-QTB"_Packages_details.html#PKG-USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, - +"USER-QTB"_Packages_details.html#PKG-USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, no "USER-QUIP"_Packages_details.html#PKG-USER-QUIP, QUIP/libatoms interface,"pair_style quip"_pair_quip.html, USER/quip, ext -"USER-REAXC"_Packages_details.html#PKG-USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, - +"USER-REAXC"_Packages_details.html#PKG-USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, no "USER-SMD"_Packages_details.html#PKG-USER-SMD, smoothed Mach dynamics,"SMD User Guide"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, ext -"USER-SMTBQ"_Packages_details.html#PKG-USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, - -"USER-SPH"_Packages_details.html#PKG-USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, - -"USER-TALLY"_Packages_details.html#PKG-USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, - -"USER-UEF"_Packages_details.html#PKG-USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, - -"USER-VTK"_Packages_details.html#PKG-USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, -, ext :tb(ea=c,ca1=l) +"USER-SMTBQ"_Packages_details.html#PKG-USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, no +"USER-SPH"_Packages_details.html#PKG-USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, no +"USER-TALLY"_Packages_details.html#PKG-USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, no +"USER-UEF"_Packages_details.html#PKG-USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, no +"USER-VTK"_Packages_details.html#PKG-USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, n/a, ext :tb(ea=c,ca1=l) -- GitLab From f8c9ab4a3e2aa2dc16bb02740051af30a0047b7c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 16 Aug 2018 23:47:00 -0400 Subject: [PATCH 514/675] some rewrite/update of the accelerator comparison page removing outdated info --- doc/src/Speed_compare.txt | 125 +++++++++++++++++++++++++------------- 1 file changed, 84 insertions(+), 41 deletions(-) diff --git a/doc/src/Speed_compare.txt b/doc/src/Speed_compare.txt index 1a17b39c79..c93407515e 100644 --- a/doc/src/Speed_compare.txt +++ b/doc/src/Speed_compare.txt @@ -9,65 +9,108 @@ Documentation"_ld - "LAMMPS Commands"_lc :c Comparison of various accelerator packages :h3 -NOTE: this section still needs to be re-worked with additional KOKKOS -and USER-INTEL information. - The next section compares and contrasts the various accelerator options, since there are multiple ways to perform OpenMP threading, -run on GPUs, and run on Intel Xeon Phi coprocessors. +run on GPUs, optimize for vector units on CPUs and run on Intel +Xeon Phi (co-)processors. -All 3 of these packages accelerate a LAMMPS calculation using NVIDIA -hardware, but they do it in different ways. +All of these packages can accelerate a LAMMPS calculation taking +advantage of hardware features, but they do it in different ways +and acceleration is not always guaranteed. As a consequence, for a particular simulation on specific hardware, -one package may be faster than the other. We give guidelines below, -but the best way to determine which package is faster for your input -script is to try both of them on your machine. See the benchmarking +one package may be faster than the other. We give some guidelines +below, but the best way to determine which package is faster for your +input script is to try multiple of them on your machine and experiment +with available performance tuning settings. See the benchmarking section below for examples where this has been done. [Guidelines for using each package optimally:] -The GPU package allows you to assign multiple CPUs (cores) to a single -GPU (a common configuration for "hybrid" nodes that contain multicore -CPU(s) and GPU(s)) and works effectively in this mode. :ulb,l - -The GPU package moves per-atom data (coordinates, forces) -back-and-forth between the CPU and GPU every timestep. The -KOKKOS/CUDA package only does this on timesteps when a CPU calculation -is required (e.g. to invoke a fix or compute that is non-GPU-ized). -Hence, if you can formulate your input script to only use GPU-ized -fixes and computes, and avoid doing I/O too often (thermo output, dump -file snapshots, restart files), then the data transfer cost of the -KOKKOS/CUDA package can be very low, causing it to run faster than the -GPU package. :l - -The GPU package is often faster than the KOKKOS/CUDA package, if the -number of atoms per GPU is smaller. The crossover point, in terms of -atoms/GPU at which the KOKKOS/CUDA package becomes faster depends -strongly on the pair style. For example, for a simple Lennard Jones +Both, the GPU and the KOKKOS package allows you to assign multiple +MPI ranks (= CPU cores) to the same GPU. For the GPU package, this +can lead to a speedup through better utilization of the GPU (by +overlapping computation and data transfer) and more efficient +computation of the non-GPU accelerated parts of LAMMPS through MPI +parallelization, as all system data is maintained and updated on +the host. For KOKKOS, there is less to no benefit from this, due +to its different memory management model, which tries to retain +data on the GPU. + :ulb,l + +The GPU package moves per-atom data (coordinates, forces, and +(optionally) neighbor list data, if not computed on the GPU) between +the CPU and GPU at every timestep. The KOKKOS/CUDA package only does +this on timesteps when a CPU calculation is required (e.g. to invoke +a fix or compute that is non-GPU-ized). Hence, if you can formulate +your input script to only use GPU-ized fixes and computes, and avoid +doing I/O too often (thermo output, dump file snapshots, restart files), +then the data transfer cost of the KOKKOS/CUDA package can be very low, +causing it to run faster than the GPU package. :l + +The GPU package is often faster than the KOKKOS/CUDA package, when the +number of atoms per GPU is on the smaller side. The crossover point, +in terms of atoms/GPU at which the KOKKOS/CUDA package becomes faster +depends strongly on the pair style. For example, for a simple Lennard Jones system the crossover (in single precision) is often about 50K-100K atoms per GPU. When performing double precision calculations the crossover point can be significantly smaller. :l -Both packages compute bonded interactions (bonds, angles, etc) on the -CPU. If the GPU package is running with several MPI processes +Both KOKKOS and GPU package compute bonded interactions (bonds, angles, +etc) on the CPU. If the GPU package is running with several MPI processes assigned to one GPU, the cost of computing the bonded interactions is -spread across more CPUs and hence the GPU package can run faster. :l - -When using the GPU package with multiple CPUs assigned to one GPU, its -performance depends to some extent on high bandwidth between the CPUs -and the GPU. Hence its performance is affected if full 16 PCIe lanes -are not available for each GPU. In HPC environments this can be the -case if S2050/70 servers are used, where two devices generally share -one PCIe 2.0 16x slot. Also many multi-GPU mainboards do not provide -full 16 lanes to each of the PCIe 2.0 16x slots. :l +spread across more CPUs and hence the GPU package can run faster in these +cases. :l + +When using LAMMPS with multiple MPI ranks assigned to the same GPU, its +performance depends to some extent on the available bandwidth between +the CPUs and the GPU. This can differ significantly based on the +available bus technology, capability of the host CPU and mainboard, +the wiring of the buses and whether switches are used to increase the +number of available bus slots, or if GPUs are housed in an external +enclosure. This can become quite complex. :l + +To achieve significant acceleration through GPUs, both KOKKOS and GPU +package require capable GPUs with fast on-device memory and efficient +data transfer rates. This requests capable upper mid-level to high-end +(desktop) GPUs. Using lower performance GPUs (e.g. on laptops) may +result in a slowdown instead. :l + +For the GPU package, specifically when running in parallel with MPI, +if it often more efficient to exclude the PPPM kspace style from GPU +acceleration and instead run it - concurrently with a GPU accelerated +pair style - on the CPU. This can often be easily achieved with placing +a {suffix off} command before and a {suffix on} command after the +{kspace_style pppm} command. :l + +The KOKKOS/OpenMP and USER-OMP package have different thread management +strategies, which should result in USER-OMP being more efficient for a +small number of threads with increasing overhead as the number of threads +per MPI rank grows. The KOKKOS/OpenMP kernels have less overhead in that +case, but have lower performance with few threads. :l + +The USER-INTEL package contains many options and settings for achieving +additional performance on Intel hardware (CPU and accelerator cards), but +to unlock this potential, an Intel compiler is required. The package code +will compile with GNU gcc, but it will not be as efficient. :l :ule -[Differences between the two packages:] +[Differences between the GPU and KOKKOS packages:] -The GPU package accelerates only pair force, neighbor list, and PPPM -calculations. :ulb,l +The GPU package accelerates only pair force, neighbor list, and (parts +of) PPPM calculations. The KOKKOS package attempts to run most of the +calculation on the GPU, but can transparently support non-accelerated +code (with a performance penalty due to having data transfers between +host and GPU). :ulb,l The GPU package requires neighbor lists to be built on the CPU when using exclusion lists, hybrid pair styles, or a triclinic simulation box. :l + +The GPU package can be compiled for CUDA or OpenCL and thus supports +both, Nvidia and AMD GPUs well. On Nvidia hardware, using CUDA is typically +resulting in equal or better performance over OpenCL. :l + +OpenCL in the GPU package does theoretically also support Intel CPUs or +Intel Xeon Phi, but the native support for those in KOKKOS (or USER-INTEL) +is superior. :l :ule -- GitLab From bfaa34553645216488274f18d69db6c96c8f94c6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 17 Aug 2018 00:09:39 -0400 Subject: [PATCH 515/675] add comment on KOKKOS compiler and platform support --- doc/src/Packages_details.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 5ab85a80c8..892774be38 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -382,6 +382,11 @@ switches"_Run_options.html. Also see the "GPU"_#PKG-GPU, "OPT"_#PKG-OPT, have styles optimized for CPUs, KNLs, and GPUs. You must have a C++11 compatible compiler to use this package. +KOKKOS makes extensive use of advanced C++ features, which can +expose compiler bugs, especially when compiling for maximum +performance at high optimization levels. Please see the file +lib/kokkos/README for a list of compilers and their respective +platforms, that are known to work. [Authors:] The KOKKOS package was created primarily by Christian Trott and Stan Moore (Sandia), with contributions from other folks as well. -- GitLab From eb7568a4fb005e131ea47491529d06de566c88f6 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 17 Aug 2018 10:13:19 -0400 Subject: [PATCH 516/675] Fixes issue #1058 --- doc/src/Build.txt | 2 +- doc/src/Commands.txt | 2 +- doc/src/Manual.txt | 2 +- doc/src/Run_basics.txt | 2 +- doc/src/Run_options.txt | 2 +- doc/src/Run_output.txt | 2 +- doc/src/Run_windows.txt | 2 +- doc/src/lammps.book | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/src/Build.txt b/doc/src/Build.txt index e62268b84b..1046171de1 100644 --- a/doc/src/Build.txt +++ b/doc/src/Build.txt @@ -1,5 +1,5 @@ "Previous Section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Run.html :c +Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Run_head.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) diff --git a/doc/src/Commands.txt b/doc/src/Commands.txt index 84eac285f7..a1a94c6d29 100644 --- a/doc/src/Commands.txt +++ b/doc/src/Commands.txt @@ -1,4 +1,4 @@ -"Previous Section"_Run.html - "LAMMPS WWW Site"_lws - +"Previous Section"_Run_head.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Packages.html :c diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index 9bd346e8a0..e63032f03b 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -112,7 +112,7 @@ END_RST --> "Introduction"_Intro.html :olb,l "Install LAMMPS"_Install.html :l "Build LAMMPS"_Build.html :l -"Run LAMMPS"_Run.html :l +"Run LAMMPS"_Run_head.html :l "Commands"_Commands.html :l "Optional packages"_Packages.html :l "Accelerate performance"_Speed.html :l diff --git a/doc/src/Run_basics.txt b/doc/src/Run_basics.txt index c83d17d6a9..02139a8c69 100644 --- a/doc/src/Run_basics.txt +++ b/doc/src/Run_basics.txt @@ -1,4 +1,4 @@ -"Higher level section"_Run.html - "LAMMPS WWW Site"_lws - "LAMMPS +"Higher level section"_Run_head.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) diff --git a/doc/src/Run_options.txt b/doc/src/Run_options.txt index 0704e3b619..9c862d7b8e 100644 --- a/doc/src/Run_options.txt +++ b/doc/src/Run_options.txt @@ -1,4 +1,4 @@ -"Higher level section"_Run.html - "LAMMPS WWW Site"_lws - "LAMMPS +"Higher level section"_Run_head.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) diff --git a/doc/src/Run_output.txt b/doc/src/Run_output.txt index a534ae7c7b..7d5a9e6ae6 100644 --- a/doc/src/Run_output.txt +++ b/doc/src/Run_output.txt @@ -1,4 +1,4 @@ -"Higher level section"_Run.html - "LAMMPS WWW Site"_lws - "LAMMPS +"Higher level section"_Run_head.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) diff --git a/doc/src/Run_windows.txt b/doc/src/Run_windows.txt index 1151a4a2bb..2b93cc7d49 100644 --- a/doc/src/Run_windows.txt +++ b/doc/src/Run_windows.txt @@ -1,4 +1,4 @@ -"Higher level section"_Run.html - "LAMMPS WWW Site"_lws - "LAMMPS +"Higher level section"_Run_head.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) diff --git a/doc/src/lammps.book b/doc/src/lammps.book index c961004f83..f1ff39d80b 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -25,7 +25,7 @@ Build_basics.html Build_settings.html Build_package.html Build_extras.html -Run.html +Run_head.html Run_basics.html Run_options.html Run_output.html -- GitLab From c0544ba346b78deae7f704a59b32657d37ba8d94 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 17 Aug 2018 10:34:17 -0400 Subject: [PATCH 517/675] Actually rename the file --- doc/src/Manual.txt | 2 +- doc/src/{Run.txt => Run_head.txt} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename doc/src/{Run.txt => Run_head.txt} (100%) diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index e63032f03b..30e1864106 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -74,7 +74,7 @@ every LAMMPS command. Intro Install Build - Run + Run_head Commands Packages Speed diff --git a/doc/src/Run.txt b/doc/src/Run_head.txt similarity index 100% rename from doc/src/Run.txt rename to doc/src/Run_head.txt -- GitLab From 7dac513235d2ca9ca23165960620fccfb9c13ee0 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 17 Aug 2018 09:15:21 -0600 Subject: [PATCH 518/675] doc typos and push author details back to website --- README | 15 +- doc/src/Build_cmake.txt | 8 +- doc/src/Build_extras.txt | 2 +- doc/src/Build_package.txt | 2 +- doc/src/Howto_diffusion.txt | 2 +- doc/src/Howto_dispersion.txt | 2 +- doc/src/Howto_temperature.txt | 2 +- doc/src/Intro_authors.txt | 364 +++------------------------------- 8 files changed, 44 insertions(+), 353 deletions(-) diff --git a/README b/README index 784b1cb13e..680986bf61 100644 --- a/README +++ b/README @@ -36,7 +36,14 @@ tools pre- and post-processing tools Point your browser at any of these files to get started: -doc/Manual.html the LAMMPS manual -doc/Section_intro.html hi-level introduction to LAMMPS -doc/Section_start.html how to build and use LAMMPS -doc/Developer.pdf LAMMPS developer guide +http://lammps.sandia.gov/doc/Manual.html the LAMMPS manual +http://lammps.sandia.gov/doc/Intro.html hi-level introduction +http://lammps.sandia.gov/doc/Build.html how to build LAMMPS +http://lammps.sandia.gov/doc/Run_head.html how to run LAMMPS +http://lammps.sandia.gov/doc/Developer.pdf LAMMPS developer guide + +You can also create these doc pages locally: + +% cd doc +% make html # creates HTML pages in doc/html +% make pdf # creates Manual.pdf and Developer.pdf diff --git a/doc/src/Build_cmake.txt b/doc/src/Build_cmake.txt index c42bb21c7e..38765c3d4e 100644 --- a/doc/src/Build_cmake.txt +++ b/doc/src/Build_cmake.txt @@ -13,12 +13,10 @@ This page is a short summary of how to use CMake to build LAMMPS. Details on CMake variables that enable specific LAMMPS build options are given on the pages linked to from the "Build"_Build.html doc page. -Richard Berger (Temple U) has also written a more comprehensive guide +Richard Berger (Temple U) has also written a "more comprehensive +guide"_https://github.com/lammps/lammps/blob/master/cmake/README.md for how to use CMake to build LAMMPS. If you are new to CMake it is a -good place to start: - -"Bulding LAMMPS using -CMake"_https://github.com/lammps/lammps/blob/master/cmake/README.md +good place to start. :line diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt index 6bbf504496..67c84e54b1 100644 --- a/doc/src/Build_extras.txt +++ b/doc/src/Build_extras.txt @@ -48,7 +48,7 @@ This is the list of packages that may require additional steps. "USER-QMMM"_#user-qmmm, "USER-QUIP"_#user-quip, "USER-SMD"_#user-smd, -"USER-VTK"_#user-vtk :tb(c=6,ea=c) +"USER-VTK"_#user-vtk :tb(c=6,ea=c,a=l) :line diff --git a/doc/src/Build_package.txt b/doc/src/Build_package.txt index 0c7d1917de..4f71e9eb18 100644 --- a/doc/src/Build_package.txt +++ b/doc/src/Build_package.txt @@ -59,7 +59,7 @@ packages: "USER-QMMM"_Build_extras.html#user-qmmm, "USER-QUIP"_Build_extras.html#user-quip, "USER-SMD"_Build_extras.html#user-smd, -"USER-VTK"_Build_extras.html#user-vtk :tb(c=6,ea=c) +"USER-VTK"_Build_extras.html#user-vtk :tb(c=6,ea=c,a=l) The mechanism for including packages is simple but different for CMake versus make. diff --git a/doc/src/Howto_diffusion.txt b/doc/src/Howto_diffusion.txt index 401c1e359c..6c920c9bc3 100644 --- a/doc/src/Howto_diffusion.txt +++ b/doc/src/Howto_diffusion.txt @@ -7,7 +7,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :line -Calculate a diffusion coefficient :h3 +Calculate diffusion coefficients :h3 The diffusion coefficient D of a material can be measured in at least 2 ways using various options in LAMMPS. See the examples/DIFFUSE diff --git a/doc/src/Howto_dispersion.txt b/doc/src/Howto_dispersion.txt index 4ea286258e..8a5953d84d 100644 --- a/doc/src/Howto_dispersion.txt +++ b/doc/src/Howto_dispersion.txt @@ -7,7 +7,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :line -Long-raage dispersion settings :h3 +Long-range dispersion settings :h3 The PPPM method computes interactions by splitting the pair potential into two parts, one of which is computed in a normal pairwise fashion, diff --git a/doc/src/Howto_temperature.txt b/doc/src/Howto_temperature.txt index 8a9e262da1..896cc96a40 100644 --- a/doc/src/Howto_temperature.txt +++ b/doc/src/Howto_temperature.txt @@ -7,7 +7,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :line -Calcalate temperature :h3 +Calculate temperature :h3 Temperature is computed as kinetic energy divided by some number of degrees of freedom (and the Boltzmann constant). Since kinetic energy diff --git a/doc/src/Intro_authors.txt b/doc/src/Intro_authors.txt index 5d9efb3077..d6258f85a0 100644 --- a/doc/src/Intro_authors.txt +++ b/doc/src/Intro_authors.txt @@ -7,7 +7,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :line -LAMMPS authors :h3 +Authors of LAMMPS :h3 The primary LAMMPS developers are at Sandia National Labs and Temple University: @@ -15,7 +15,8 @@ University: "Steve Plimpton"_sjp, sjplimp at sandia.gov Aidan Thompson, athomps at sandia.gov Stan Moore, stamoor at sandia.gov -Axel Kohlmeyer, akohlmey at gmail.com :ul +Axel Kohlmeyer, akohlmey at gmail.com +Richard Berger, richard.berger at temple.edu :ul :link(sjp,http://www.cs.sandia.gov/~sjplimp) @@ -24,26 +25,30 @@ and Ray Shan, now at Materials Design. :line -The following folks are responsible for significant contributions to -the code, or other aspects of the LAMMPS development effort. Many of -the packages they have written are somewhat unique to LAMMPS and the -code would not be as general-purpose as it is without their expertise -and efforts. +The "Authors page"_http://lammps.sandia.gov/authors.html of the +"LAMMPS website"_lws has a comprhensive list of all the individuals who +have contributed code for a new feature or command or tool to LAMMPS. -Richard Berger (Temple U), Python interface, GitHub site, Sphinx doc pages +:line + +The following folks deserve special recognition. Many of the packages +they have written are unique for an MD code and LAMMPS would not be as +general-purpose as it is without their expertise and efforts. + +Metin Aktulga (MSU), USER-REAXC package for C version of ReaxFF +Mike Brown (Intel), GPU and USER-INTEL packages +Colin Denniston (U Western Ontario), USER-LB package +Georg Ganzenmuller (EMI), USER-SMD and USER-SPH packages +Andres Jaramillo-Botero (Caltech), USER-EFF package for electron force field +Reese Jones (Sandia) and colleagues, USER-ATC package for atom/continuum coupling +Christoph Kloss (DCS Computing), LIGGGHTS code for granular materials, built on top of LAMMPS +Rudra Mukherjee (JPL), POEMS package for articulated rigid body motion +Trung Ngyuen (Northwestern U), GPU and RIGID and BODY packages +Mike Parks (Sandia), PERI package for Peridynamics Roy Pollock (LLNL), Ewald and PPPM solvers -Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL packages -Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential -Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics -Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion -Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling -Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD -Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA and KOKKOS packages -Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field -Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling -Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF -Georg Gunzenmueller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SMD and USER-SPH packages -Colin Denniston (U Western Ontario), cdennist at uwo.ca, USER-LB package :ul +Christian Trott (Sandia), USER-CUDA and KOKKOS packages +Ilya Valuev (JIHT), USER-AWPMD package for wave-packet MD +Greg Wagner (Northwestern U), MEAM package for MEAM potential :ul :line @@ -58,322 +63,3 @@ Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb) Steve Lustig (Dupont) Jim Belak and Roy Pollock (LLNL) :ul -:line - -Here is a timeline for when various individuals contributed to a new -feature or command or tool added to LAMMPS: - -Aug18 : CMake build option for LAMMPS : Christoph Junghans (LANL), Richard Berger, and Axel Kohlmeyer (Temple U) -Jul18 : DEM polygonal and polyhedron particles : Trung Nguyen (Northwestern U) -Jun18 : SPIN package : Julien Tranchida (Sandia and CEA) -Jun18 : compute entropy/atom : Pablo Piaggi (EPLF, Switzerland) -May18 : fix bond/react : Jake Gissinger (CU Boulder) -Apr18 : USER-BOCS package : Nicholas Dunn and Michael DeLyser (Penn State U) -Mar18: pair coul/shield, kolmogorov/crespi/full, ilp/graphene/hbn : Wengen Ouyang (Tel Aviv U) -Feb18 : pair lj/cut/coul/wolf : Vishal Boddu (U of Erlangen-Nuremberg) -Feb18 : USER-MOFFF package : Hendrik Heenen (Technical U of Munich) and Rochus Schmid (Ruhr-University Bochum) -Feb18 : pair ufm : Rodolfo Paula Leite and Maurice de Koning (Unicamp/Brazil) -Dec17 : fix python/move : Richard Berger (Temple U) -Nov17 : pair extep : Jaap Kroes (Radboud U) -Oct17 : USER-UEF package : David Nicholson (MIT) -Oct17 : fix rhok : Ulf Pederson (Roskilde U) -Oct17 : bond gromos : Axel Kohlmeyer (Temple U) -Oct17 : pair born/coul/wolf/cs and coul/wolf/cs : Vishal Boddu -Sep17 : fix latte : Christian Negre (LANL) -Sep17 : temper_npt : Amulya Pervaje and Cody Addington (NCSU) -Aug17 : USER-MESO package : Zhen Li (Brown University) -Aug17 : compute aggregate/atom & fragment/atom : Axel Kohlmeyer (Temple U) -Jul17 : pair meam/c : Sebastian Hutter (Otto-von-Guericke University) -Jun17 : pair reaxc/omp : Metin Aktulga (MSU) and Axel Kohlmeyer (Temple U) -Jun17 : pair vashishita/gpu : Anders Hafreager (UiO) -Jun17 : kspace pppm/disp/intel and pair lj/long/coul/long/intel : Mike Brown (Intel) and William McDoniel (RWTH Aachen U) -Jun17 : compute cnp/atom : Paulo Branicio (USC) -May17 : fix python and pair python : Richard Berger (Temple U) -May17 : pair edip/multi : Chao Jiang (U Wisconsin) -May17 : pair gw and gw/zbl : German Samolyuk (ORNL) -Mar17 : pair charmm fsw and fsh : Robert Meissner & Lucio Colombi Ciacchi (Bremen U), Robert Latour (Clemson U) -Mar17 : pair momb : Ya Zhou, Kristen Fichthorn, and Tonnam Balankura (PSU) -Mar17 : fix filter/corotate : Lukas Fath (KIT) -Mar17 : pair kolmogorov/crespi/z : Jaap Kroes (Radboud Universiteit) -Feb17 : Kokkos versions of the class2 bond/angle/dihedral/improper : Ray Shan (Materials Design) -Jan17 : USER-CGDNA package : Oliver Henrich (U Edinburgh) -Jan17 : fix mscg : Lauren Abbott (Sandia) -Nov16 : temper/grem and fix grem : David Stelter (BU), Edyta Malolepsza (Broad Institute), Tom Keyes (BU) -Nov16 : pair agni : Axel Kohlmeyer (Temple U) and Venkatesh Botu -Nov16 : pair tersoff/mod.c : Ganga P Purja Pun (George Mason University) -Nov16 : pair born/coul/dsf and pair born/coul/dsf/cs : Ariel Lozano -Nov16 : fix reaxc/species/kk & fix reaxc/bonds/kk : Stan Moore (Sandia) -Oct16 : fix wall/gran/region : Dan Bolintineanu (Sandia) -Sep16 : weight options for balance & fix balance : Axel Kohlmeyer (Temple U) & Iain Bethune (EPCC) -Sep16 : fix cmap : Xiaohu Hu (ORNL), David Hyde-Volpe & Tigran Abramyan & Robert Latour (Clemson U), Chris Lorenz (Kings College, London) -Sep16 : pair vashishta/table : Anders Hafreager (U Oslo) -Sep16 : kspace pppm/kk : Stan Moore (Sandia) -Aug16 : fix flow/gauss : Steve Strong and Joel Eaves (U Colorado) -Aug16 : fix controller : Aidan Thompson (Sandia) -Jul16 : dipole integration by DLM method : Iain Bethune (EPCC) -Jul16 : dihedral spherical : Andrew Jewett -Jun16 : pair reax/c/kk : Ray Shan (Materials Design), Stan Moore (Sandia) -Jun16 : fix orient/bcc : Tegar Wicaksono (UBC) -Jun16 : fix ehex : Peter Wirnsberger (University of Cambridge) -Jun16 : reactive DPD extensions to USER-DPD : James Larentzos (ARL), Timothy Mattox (Engility Corp), John Brennan (ARL), Christopher Stone (Computational Science & Engineering, LLC) -May16 : USER-MANIFOLD package : Stefan Paquay (Eindhoven U of Tech, The Netherlands) -Apr16 : write_coeff : Axel Kohlmeyer (Temple U) -Apr16 : pair morse/soft : Stefan Paquay (Eindhoven U of Tech, The Netherlands) -Apr16 : compute dipole/chunk : Axel Kohlmeyer (Temple U) -Apr16 : bond write : Axel Kohlmeyer (Temple U) -Mar16 : pair morse/smooth/linear : Stefan Paquay (Eindhoven U of Tech, The Netherlands) -Feb16 : pair/bond/angle/dihedral/improper zero : Carsten Svaneborg (SDU) -Feb16 : dump custom/vtk : Richard Berger (JKU) and Daniel Queteschiner (DCS Computing) -Feb16 : fix (nvt/npt/nph)/body and compute temp/body : Trung Nguyen -Feb16 : USER-DPD package : James Larentzos (ARL), Timothy Mattox (Engility Corp), John Brennan (ARL) -Dec15 : fix qeq/fire : Ray Shan (Sandia) -Dec15 : pair lj/mdf, pair lennard/mdf, pair buck/mdf, improper distance : Paolo Raiteri (Curtin University) -Nov15 : compute orientorder/atom : Aidan Thompson (Sandia) and Axel Kohlmeyer (U Temple) -Nov15 : compute hexorder/atom : Aidan Thompson (Sandia) -Oct15 : displace_atoms variable option : Reese Jones (Sandia) -Oct15 : pair mgpt & USER-MGPT package : Tomas Oppelstrup and John Moriarty (LLNL) -Oct15 : pair smtbq & USER-SMTBQ package : Nicolas Salles, Emile Maras, Olivier Politano, and Robert Tetot (LAAS-CNRS) -Oct15 : fix ave/correlate/long command : Jorge Ramirez (UPM) and Alexei Likhtman (U Reading) -Oct15 : pair vashishta command : Aidan Thompson (Sandia) and Yongnan Xiong (HNU) -Aug15 : USER-TALLY package : Axel Kohlmeyer (Temple U) -Aug15 : timer command : Axel Kohlmeyer (Temple U) -Aug15 : USER-H5MD package : Pierre de Buyl (KU Leuven) -Aug15 : COMPRESS package : Axel Kohlmeyer (Temple U) -Aug15 : USER-SMD package : Georg Gunzenmueller (EMI) -Jul15 : new HTML format for "doc pages"_Manual.html with search option : Richard Berger (JKU) -Jul15 : rRESPA with pair hybrid : Sam Genheden (U of Southampton) -Jul15 : pair_modify special : Axel Kohlmeyer (Temple U) -Jul15 : pair polymorphic : Xiaowang Zhou and Reese Jones (Sandia) -Jul15 : USER-DRUDE package : Alain Dequidt and Agilio Padua (U Blaise Pascal Clermont-Ferrand) and Julien Devemy (CNRS) -Jul15 : USER-QTB package : Yuan Shen, Tingting Qi, and Evan Reed (Stanford U) -Jul15 : USER-DIFFRACTION package : Shawn Coleman (ARL) -Mar15 : fix temp/csld : Axel Kohlmeyer (Temple U) -Mar15 : CORESHELL package : Hendrik Heenen (Technical University of Munich) -Feb15 : pair quip for GAP and other potentials : Albert Bartok-Partay (U Cambridge) -Feb15 : pair coul/streitz for Streitz-Mintmire potential : Ray Shan (Sandia) -Feb15 : fix tfmc : Kristof Bal (U of Antwerp) -Feb15 : fix ttm/mod : Sergey Starikov and Vasily Pisarev (JIHT of RAS) -Jan15 : fix atom/swap for MC swaps of atom types/charge : Paul Crozier (Sandia) -Nov14 : fix pimd for path-integral MD : Chris Knight and Yuxing Peng (U Chicago) -Nov14 : fix gle and fix ipi for path-integral MD : Michele Ceriotti (EPFL) -Nov14 : pair style srp : Tim Sirk (ARL) and Pieter in 't Veld (BASF) -Nov14 : fix ave/spatial/sphere : Niall Jackson (Imperial College) -Sep14 : QEQ package and several fix qeq/variant styles : Ray Shan (Sandia) -Sep14 : SNAP package and pair style : Aidan Thompson (Sandia) and collaborators -Aug14 : USER-INTEL package : Mike Brown (Intel) -May14 : KOKKOS pacakge : Christian Trott and Carter Edwards (Sandia) -May14 : USER-FEP pacakge : Agilio Padua (U Blaise Pascal Clermont-Ferrand) -Apr14 : fix rigid/small NVE/NVT/NPH/NPT : Trung Nguyen (ORNL) -Apr14 : fix qmmm for QM/MM coupling : Axel Kohlmeyer (Temple U) -Mar14 : kspace_modify collective for faster FFTs on BG/Q : Paul Coffman (IBM) -Mar14 : fix temp/csvr and fix oneway : Axel Kohlmeyer (Temple U) -Feb14 : pair peri/eps, compute dilatation/atom, compute plasticity/atom : Rezwanur Rahman and John Foster (UTSA) -Jan14 : MPI-IO options for dump and restart files : Paul Coffman (IBM) -Nov13 : USER-LB package for Lattice Boltzmann : Francis Mackay and Colin Denniston (U Western Ontario) -Nov13 : fix ti/rs and ti/spring : Rodrigo Freitas (UC Berkeley) -Nov13 : pair comb3 : Ray Shan (Sandia), Tao Liang and Dundar Yilmaz (U Florida) -Nov13 : write_dump and dump movie : Axel Kohlmeyer (Temple U) -Sep13 : xmgrace tool : Vikas Varshney -Sep13 : pair zbl : Aidan Thompson and Stephen Foiles (Sandia) -Aug13 : pair nm and variants : Julien Devemy (ICCF) -Aug13 : fix wall/lj1043 : Jonathan Lee (Sandia) -Jul13 : pair peri/ves : Rezwan Rahman, JT Foster (U Texas San Antonio) -Jul13 : pair tersoff/mod : Vitaly Dozhdikov (JIHT of RAS) -Jul13 : compute basal/atom : Christopher Barrett,(Mississippi State) -Jul13 : polybond tool : Zachary Kraus (Georgia Tech) -Jul13 : fix gld : Stephen Bond and Andrew Baczewski (Sandia) -Jun13 : pair nb3b/harmonic : Todd Zeitler (Sandia) -Jun13 : kspace_style pppm/stagger : Stan Moore (Sandia) -Jun13 : fix tune/kspace : Paul Crozier (Sandia) -Jun13 : long-range point dipoles : Stan Moore (Sandia) and Pieter in 't Veld (BASF) -May13 : compute msd/nongauss : Rob Hoy -May13 : pair list : Axel Kohlmeyer (Temple U) -May13 : triclinic support for long-range solvers : Stan Moore (Sandia) -Apr13 : dump_modify nfile and fileper : Christopher Knight -Mar13 : fix phonon : Ling-Ti Kong (Shanghai Jiao Tong University) -Mar13 : pair_style lj/cut/tip4p/cut : Pavel Elkind (Gothenburg University) -Feb13 : immediate variables in input script : Daniel Moller (Autonomous University of Barcelona) -Feb13 : fix species : Ray Shan (Sandia) -Jan13 : compute voronoi/atom : Daniel Schwen -Nov12 : pair_style mie/cut : Cassiano Aimoli Petrobras (U Notre Dame) -Oct12 : pair_style meam/sw/spline : Robert Rudd (LLNL) -Oct12 : angle_style fourier and fourier/simple and quartic : Loukas Peristeras (Scienomics) -Oct12 : dihedral_style fourier and nharmonic and quadratic : Loukas Peristeras (Scienomics) -Oct12 : improper_style fourier : Loukas Peristeras (Scienomics) -Oct12 : kspace_style pppm/disp for 1/r^6 : Rolf Isele-Holder (Aachen University) -Oct12 : moltemplate molecular builder tool : Andrew Jewett (UCSB) -Sep12 : pair_style lj/cut/coul/dsf and coul/dsf : Trung Nguyen (ORNL) -Sep12 : multi-level summation long-range solver : Stan Moore, Stephen Bond, and Paul Crozier (Sandia) -Aug12 : fix rigid/npt and fix rigid/nph : Trung Nguyen (ORNL) -Aug12 : Fortran wrapper on lib interface : Karl Hammond (UT, Knoxville) -Aug12 : kspace_modify diff for 2-FFT PPPM : Rolf Isele-Holder (Aachen University), Stan Moore (BYU), Paul Crozier (Sandia) -Jun12 : pair_style bop : Don Ward and Xiaowang Zhou (Sandia) -Jun12 : USER-MOLFILE package : Axel Kohlmeyer (U Temple) -Jun12 : USER-COLVARS package : Axel Kohlmeyer (U Temple) -May12 : read_dump : Tim Sirk (ARL) -May12 : improper_style cossq and ring : Georgios Vogiatzis (CoMSE, NTU Athens) -May12 : pair_style lcbop : Dominik Wojt (Wroclaw University of Technology) -Feb12 : PPPM per-atom energy/virial : Stan Moore (BYU) -Feb12 : Ewald per-atom energy/virial : German Samolyuk (ORNL), Stan Moore (BYU) -Feb12 : minimize forcezero linesearch : Asad Hasan (CMU) -Feb12 : pair_style beck : Jon Zimmerman (Sandia) -Feb12 : pair_style meam/spline : Alex Stukowski (LLNL) -Jan12 : pair_style kim : Valeriu Smirichinski, Ryan Elliott, Ellad Tadmor (U Minn) -Jan12 : dihedral_style table : Andrew Jewett (UCSB) -Jan12 : angle_style dipole : Mario Orsi -Jan12 : pair_style lj/smooth/linear : Jon Zimmerman (Sandia) -Jan12 : fix reax/c/bond : Tzu-Ray Shan (Sandia) -Dec11 : pair_style coul/wolf : Yongfeng Zhang (INL) -Dec11 : run_style verlet/split : Yuxing Peng and Chris Knight (U Chicago) -Dec11 : pair_style tersoff/table : Luca Ferraro (CASPUR) -Nov11 : per-atom energy/stress for reax/c : Tzu-Ray Shan (Sandia) -Oct11 : Fast Lubrication Dynamics (FLD) package: Amit Kumar, Michael Bybee, Jonathan Higdon (UIUC) -Oct11 : USER-OMP package : Axel Kohlmeyer (Temple U) -Sep11 : pair_style edip : Luca Ferraro (CASPUR) -Aug11 : USER-SPH package : Georg Ganzenmuller (FIHSD, EMI, Germany) -Aug11 : fix restrain : Craig Tenney (Sandia) -Aug11 : USER-CUDA package : Christian Trott (U Tech Ilmenau) -Aug11 : pair_style lj/sf : Laurent Joly (U Lyon) -Aug11 : bond_style harmonic/shift and harmonic/shift/cut : Carsten Svaneborg -Aug11 : angle_style cosine/shift and cosine/shift/exp : Carsten Svaneborg -Aug11 : dihedral_style cosine/shift/exp : Carsten Svaneborg -Aug11 : pair_style dipole/sf : Mario Orsi -Aug11 : fix addtorque and compute temp/rotate : Laurent Joly (U Lyon) -Aug11 : FFT support via FFTW3, MKL, ACML, KISS FFT libraries : \ - Axel Kohlmeyer (Temple U) -Jun11 : pair_style adp : Chris Weinberger (Sandia), Stephen Foiles (Sandia), \ - Chandra Veer Singh (Cornell) -Jun11 : Windows build option via Microsoft Visual Studio : \ - Ilya Valuev (JIHT, Moscow, Russia) -Jun11 : antisymmetrized wave packet MD : Ilya Valuev (JIHT, Moscow, Russia) -Jun11 : dump image : Nathan Fabian (Sandia) -May11 : pppm GPU single and double : Mike Brown (ORNL) -May11 : pair_style lj/expand/gpu : Inderaj Bains (NVIDIA) -2010 : pair_style reax/c and fix qeq/reax : Metin Aktulga (Purdue, now LBNL) -- : DREIDING force field, pair_style hbond/dreiding, etc : Tod Pascal (Caltech) -- : fix adapt and compute ti for thermodynamic integration for \ - free energies : Sai Jayaraman (Sandia) -- : pair_style born and gauss : Sai Jayaraman (Sandia) -- : stochastic rotation dynamics (SRD) via fix srd : \ - Jeremy Lechman (Sandia) and Pieter in 't Veld (BASF) -- : ipp Perl script tool : Reese Jones (Sandia) -- : eam_database and createatoms tools : Xiaowang Zhou (Sandia) -- : electron force field (eFF) : Andres Jaramillo-Botero and Julius Su (Caltech) -- : embedded ion method (EIM) potential : Xiaowang Zhou (Sandia) -- : COMB potential with charge equilibration : Tzu-Ray Shan (U Florida) -- : fix ave/correlate : Benoit Leblanc, Dave Rigby, \ - Paul Saxe (Materials Design) and Reese Jones (Sandia) -- : pair_style peri/lps : Mike Parks (Sandia) -- : fix msst : Lawrence Fried (LLNL), Evan Reed (LLNL, Stanford) -- : thermo_style custom tpcpu & spcpu keywords : Axel Kohlmeyer (Temple U) -- : fix rigid/nve, fix rigid/nvt : Tony Sheh and Trung Dac Nguyen (U Michigan) -- : public SVN & Git repositories for LAMMPS : \ - Axel Kohlmeyer (Temple U) and Bill Goldman (Sandia) -- : compute heat/flux : German Samolyuk (ORNL) and \ - Mario Pinto (Computational Research Lab, Pune, India) -- : pair_style yukawa/colloid : Randy Schunk (Sandia) -- : fix wall/colloid : Jeremy Lechman (Sandia) -2009 : fix imd for real-time viz and interactive MD : Axel Kohlmeyer (Temple Univ) -- : concentration-dependent EAM potential : \ - Alexander Stukowski (Technical University of Darmstadt) -- : parallel replica dymamics (PRD) : Mike Brown (Sandia) -- : min_style hftn : Todd Plantenga (Sandia) -- : fix atc : Reese Jones, Jon Zimmerman, Jeremy Templeton (Sandia) -- : dump cfg : Liang Wan (Chinese Academy of Sciences) -- : fix nvt with Nose/Hoover chains : Andy Ballard (U Maryland) -- : pair_style lj/cut/gpu, pair_style gayberne/gpu : Mike Brown (Sandia) -- : pair_style lj96/cut, bond_style table, angle_style table : Chuanfu Luo -- : fix langevin tally : Carolyn Phillips (U Michigan) -- : compute heat/flux for Green-Kubo : Reese Jones (Sandia), \ - Philip Howell (Siemens), Vikas Varsney (AFRL) -- : region cone : Pim Schravendijk -- : pair_style born/coul/long : Ahmed Ismail (Sandia) -- : fix ttm : Paul Crozier (Sandia) and Carolyn Phillips (U Michigan) -- : fix box/relax : Aidan Thompson and David Olmsted (Sandia) -- : ReaxFF potential : Aidan Thompson (Sandia) and Hansohl Cho (MIT) -- : compute cna/atom : Liang Wan (Chinese Academy of Sciences) -2008 : Tersoff/ZBL potential : Dave Farrell (Northwestern U) -- : peridynamics : Mike Parks (Sandia) -- : fix smd for steered MD : Axel Kohlmeyer (U Penn) -- : GROMACS pair potentials : Mark Stevens (Sandia) -- : lmp2vmd tool : Axel Kohlmeyer (U Penn) -- : compute group/group : Naveen Michaud-Agrawal (Johns Hopkins U) -- : USER-CG-CMM package for coarse-graining : Axel Kohlmeyer (U Penn) -- : cosine/delta angle potential : Axel Kohlmeyer (U Penn) -- : VIM editor add-ons for LAMMPS input scripts : Gerolf Ziegenhain -- : pair_style lubricate : Randy Schunk (Sandia) -- : compute ackland/atom : Gerolf Ziegenhain -- : kspace_style ewald/n, pair_style lj/coul, pair_style buck/coul : \ - Pieter in 't Veld (Sandia) -- : AI-REBO bond-order potential : Ase Henry (MIT) -- : making LAMMPS a true "object" that can be instantiated \ - multiple times, e.g. as a library : Ben FrantzDale (RPI) -- : pymol_asphere viz tool : Mike Brown (Sandia) -2007 : NEMD SLLOD integration : Pieter in 't Veld (Sandia) -- : tensile and shear deformations : Pieter in 't Veld (Sandia) -- : GayBerne potential : Mike Brown (Sandia) -- : ellipsoidal particles : Mike Brown (Sandia) -- : colloid potentials : Pieter in 't Veld (Sandia) -- : fix heat : Paul Crozier and Ed Webb (Sandia) -- : neighbor multi and communicate multi : Pieter in 't Veld (Sandia) -- : MATLAB post-processing scripts : Arun Subramaniyan (Purdue) -- : triclinic (non-orthogonal) simulation domains : Pieter in 't Veld (Sandia) -- : thermo_extract tool: Vikas Varshney (Wright Patterson AFB) -- : fix ave/time and fix ave/spatial : Pieter in 't Veld (Sandia) -- : MEAM potential : Greg Wagner (Sandia) -- : optimized pair potentials for lj/cut, charmm/long, eam, morse : \ - James Fischer (High Performance Technologies), \ - David Richie and Vincent Natoli (Stone Ridge Technologies) -2006 : fix wall/lj126 : Mark Stevens (Sandia) -- : Stillinger-Weber and Tersoff potentials : \ - Aidan Thompson and Xiaowang Zhou (Sandia) -- : region prism : Pieter in 't Veld (Sandia) -- : fix momentum and recenter : Naveen Michaud-Agrawal (Johns Hopkins U) -- : multi-letter variable names : Naveen Michaud-Agrawal (Johns Hopkins U) -- : OPLS dihedral potential: Mark Stevens (Sandia) -- : POEMS coupled rigid body integrator: Rudranarayan Mukherjee (RPI) -- : faster pair hybrid potential: James Fischer \ - (High Performance Technologies, Inc), Vincent Natoli and \ - David Richie (Stone Ridge Technology) -- : breakable bond quartic potential: Chris Lorenz and Mark Stevens (Sandia) -- : DCD and XTC dump styles: Naveen Michaud-Agrawal (Johns Hopkins U) -- : grain boundary orientation fix : Koenraad Janssens and \ - David Olmsted (Sandia) -- : pair_style lj/smooth potential : Craig Maloney (UCSB) -- : radius-of-gyration spring fix : Naveen Michaud-Agrawal \ - (Johns Hopkins U) and Paul Crozier (Sandia) -- : self spring fix : Naveen Michaud-Agrawal (Johns Hopkins U) -- : EAM CoAl and AlCu potentials : Kwang-Reoul Lee (KIST, Korea) -- : cosine/squared angle potential : Naveen Michaud-Agrawal (Johns Hopkins U) -- : helix dihedral potential : Naveen Michaud-Agrawal (Johns Hopkins U) and \ - Mark Stevens (Sandia) -- : Finnis/Sinclair EAM: Tim Lau (MIT) -- : dissipative particle dynamics (DPD) potentials: Kurt Smith (U Pitt) and \ - Frank van Swol (Sandia) -- : TIP4P potential (4-site water): Ahmed Ismail and \ - Amalie Frischknecht (Sandia) -2005 : uniaxial strain fix: Carsten Svaneborg (Max Planck Institute) -- : compressed dump files: Erik Luijten (U Illinois) -- : cylindrical indenter fix: Ravi Agrawal (Northwestern U) -- : electric field fix: Christina Payne (Vanderbilt U) -- : AMBER <-> LAMMPS tool: Keir Novik (Univ College London) and \ - Vikas Varshney (U Akron) -- : CHARMM <-> LAMMPS tool: Pieter in 't Veld and Paul Crozier (Sandia) -- : Morse bond potential: Jeff Greathouse (Sandia) -- : radial distribution functions: Paul Crozier & Jeff Greathouse (Sandia) -- : force tables for long-range Coulombics: Paul Crozier (Sandia) -2004 : targeted molecular dynamics (TMD): Paul Crozier (Sandia) and \ - Christian Burisch (Bochum University, Germany) -- : FFT support for SGI SCLS (Altix): Jim Shepherd (Ga Tech) -- : lmp2cfg and lmp2traj tools: Ara Kooser, Jeff Greathouse, \ - Andrey Kalinichev (Sandia) -- : parallel tempering: Mark Sears (Sandia) -earlier : granular force fields and BC: Leo Silbert & Gary Grest (Sandia) -- : multi-harmonic dihedral potential: Mathias Putz (Sandia) -- : embedded atom method (EAM) potential: Stephen Foiles (Sandia) -- : msi2lmp tool: Steve Lustig (Dupont), Mike Peachey & John Carpenter (Cray) -- : HTFN energy minimizer: Todd Plantenga (Sandia) -- : class 2 force fields: Eric Simon (Cray) -- : NVT/NPT integrators: Mark Stevens (Sandia) -- : rRESPA: Mark Stevens & Paul Crozier (Sandia) -- : Ewald and PPPM solvers: Roy Pollock (LLNL) : :tb(s=:,ca1=c) -- GitLab From 5436169c205438a54d250c7e05689a7503edbf51 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 17 Aug 2018 09:20:44 -0600 Subject: [PATCH 519/675] change format of Howto and Tools doc pages --- doc/src/Howto.txt | 143 +++++++++++++++++++++++----------------------- doc/src/Tools.txt | 139 ++++++++++++++++++++++++-------------------- 2 files changed, 146 insertions(+), 136 deletions(-) diff --git a/doc/src/Howto.txt b/doc/src/Howto.txt index fc7329aad5..bcfae46579 100644 --- a/doc/src/Howto.txt +++ b/doc/src/Howto.txt @@ -19,80 +19,14 @@ The example input scripts included in the examples dir of the LAMMPS distribution and highlighted on the "Examples"_Examples.html doc page also show how to setup and run various kinds of simulations. - - - +Tutorials howto :h3 "Using GitHub with LAMMPS"_Howto_github.html "PyLAMMPS interface to LAMMPS"_Howto_pylammps.html "Using LAMMPS with bash on Windows"_Howto_bash.html :all(b) +General howto :h3 + "Restart a simulation"_Howto_restart.html "Visualize LAMMPS snapshots"_Howto_viz.html "Run multiple simulations from one input script"_Howto_multiple.html @@ -100,30 +34,93 @@ END_RST --> "Library interface to LAMMPS"_Howto_library.html "Couple LAMMPS to other codes"_Howto_couple.html :all(b) -"Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_Howto_output.html -"Use chunks to calculate system properties"_Howto_chunk.html :all(b) +Settings howto :h3 "2d simulations"_Howto_2d.html "Triclinic (non-orthogonal) simulation boxes"_Howto_triclinic.html +"Thermostats"_Howto_thermostat.html +"Barostats"_Howto_barostat.html "Walls"_Howto_walls.html "NEMD simulations"_Howto_nemd.html -"Granular models"_Howto_granular.html -"Finite-size spherical and aspherical particles"_Howto_spherical.html "Long-range dispersion settings"_Howto_dispersion.html :all(b) +Analysis howto :h3 + +"Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_Howto_output.html +"Use chunks to calculate system properties"_Howto_chunk.html "Calculate temperature"_Howto_temperature.html +"Calculate elastic constants"_Howto_elastic.html +"Calculate thermal conductivity"_Howto_kappa.html +"Calculate viscosity"_Howto_viscosity.html +"Calculate diffusion coefficients"_Howto_diffusion.html :all(b) + +Force fields howto :h3 + +"CHARMM, AMBER, and DREIDING force fields"_Howto_bioFF.html +"TIP3P water model"_Howto_tip3p.html +"TIP4P water model"_Howto_tip4p.html +"SPC water model"_Howto_spc.html :all(b) + +Packages howto :h3 + +"Finite-size spherical and aspherical particles"_Howto_spherical.html +"Granular models"_Howto_granular.html +"Body style particles"_Howto_body.html +"Polarizable models"_Howto_polarizable.html +"Adiabatic core/shell model"_Howto_coreshell.html +"Drude induced dipoles"_Howto_drude.html +"Drude induced dipoles (extended)"_Howto_drude2.html +"Manifolds (surfaces)"_Howto_manifold.html +"Magnetic spins"_Howto_spins.html :all(b) + + + +External howto :h3 + +"Using GitHub with LAMMPS"_Howto_github.html +"PyLAMMPS interface to LAMMPS"_Howto_pylammps.html +"Using LAMMPS with bash on Windows"_Howto_bash.html :all(b) + +General howto :h3 + +"Restart a simulation"_Howto_restart.html +"Visualize LAMMPS snapshots"_Howto_viz.html +"Run multiple simulations from one input script"_Howto_multiple.html +"Multi-replica simulations"_Howto_replica.html +"Library interface to LAMMPS"_Howto_library.html +"Couple LAMMPS to other codes"_Howto_couple.html :all(b) + +Settings howto :h3 + +"2d simulations"_Howto_2d.html +"Triclinic (non-orthogonal) simulation boxes"_Howto_triclinic.html "Thermostats"_Howto_thermostat.html "Barostats"_Howto_barostat.html +"Walls"_Howto_walls.html +"NEMD simulations"_Howto_nemd.html +"Long-range dispersion settings"_Howto_dispersion.html :all(b) + +Analysis howto :h3 + +"Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_Howto_output.html +"Use chunks to calculate system properties"_Howto_chunk.html :all(b) +"Calculate temperature"_Howto_temperature.html "Calculate elastic constants"_Howto_elastic.html "Calculate thermal conductivity"_Howto_kappa.html "Calculate viscosity"_Howto_viscosity.html "Calculate a diffusion coefficient"_Howto_diffusion.html :all(b) +Force fields howto :h3 + "CHARMM, AMBER, and DREIDING force fields"_Howto_bioFF.html "TIP3P water model"_Howto_tip3p.html "TIP4P water model"_Howto_tip4p.html "SPC water model"_Howto_spc.html :all(b) +Packages howto :h3 + +"Finite-size spherical and aspherical particles"_Howto_spherical.html +"Granular models"_Howto_granular.html "Body style particles"_Howto_body.html "Polarizable models"_Howto_polarizable.html "Adiabatic core/shell model"_Howto_coreshell.html diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt index 8b4e779cbe..5e02e00715 100644 --- a/doc/src/Tools.txt +++ b/doc/src/Tools.txt @@ -43,40 +43,53 @@ to edit for your platform) which will build several of the tools which reside in that directory. Most of them are larger packages in their own sub-directories with their own Makefiles and/or README files. -"amber2lmp"_#amber -"binary2txt"_#binary -"ch2lmp"_#charmm -"chain"_#chain -"colvars"_#colvars -"createatoms"_#createatoms -"doxygen"_#doxygen -"drude"_#drude -"eam database"_#eamdb -"eam generate"_#eamgn -"eff"_#eff -"emacs"_#emacs -"fep"_#fep -"i-pi"_#ipi -"ipp"_#ipp -"kate"_#kate -"lmp2arc"_#arc -"lmp2cfg"_#cfg -"matlab"_#matlab -"micelle2d"_#micelle -"moltemplate"_#moltemplate -"msi2lmp"_#msi -"phonon"_#phonon -"polybond"_#polybond -"pymol_asphere"_#pymol -"python"_#pythontools -"reax"_#reax_tool -"smd"_#smd -"vim"_#vim -"xmgrace"_#xmgrace :ul - -:line - -amber2lmp tool :h3,link(amber) +:line + +Pre-processing tools :h3 + +"amber2lmp"_#amber, +"ch2lmp"_#charmm, +"chain"_#chain, +"createatoms"_#createatoms, +"drude"_#drude, +"eam database"_#eamdb, +"eam generate"_#eamgn, +"eff"_#eff, +"ipp"_#ipp, +"micelle2d"_#micelle, +"moltemplate"_#moltemplate, +"msi2lmp"_#msi, +"polybond"_#polybond :tb(c=6,ea=c,a=l) + +Post-processing tools :h3 + +"amber2lmp"_#amber, +"binary2txt"_#binary, +"ch2lmp"_#charmm, +"colvars"_#colvars, +"eff"_#eff, +"fep"_#fep, +"lmp2arc"_#arc, +"lmp2cfg"_#cfg, +"matlab"_#matlab, +"phonon"_#phonon, +"pymol_asphere"_#pymol, +"python"_#pythontools, +"reax"_#reax_tool, +"smd"_#smd, +"xmgrace"_#xmgrace :tb(c=6,ea=c,a=l) + +Miscellaneous tools :h3 + +"doxygen"_#doxygen, +"emacs"_#emacs, +"i-pi"_#ipi, +"kate"_#kate, +"vim"_#vim :tb(c=5,ea=c,a=l) + +:line + +amber2lmp tool :h4,link(amber) The amber2lmp sub-directory contains two Python scripts for converting files back-and-forth between the AMBER MD code and LAMMPS. See the @@ -91,7 +104,7 @@ necessary modifications yourself. :line -binary2txt tool :h3,link(binary) +binary2txt tool :h4,link(binary) The file binary2txt.cpp converts one or more binary LAMMPS dump file into ASCII text files. The syntax for running the tool is @@ -104,7 +117,7 @@ since binary files are not compatible across all platforms. :line -ch2lmp tool :h3,link(charmm) +ch2lmp tool :h4,link(charmm) The ch2lmp sub-directory contains tools for converting files back-and-forth between the CHARMM MD code and LAMMPS. @@ -129,7 +142,7 @@ Chris Lorenz (chris.lorenz at kcl.ac.uk), King's College London. :line -chain tool :h3,link(chain) +chain tool :h4,link(chain) The file chain.f creates a LAMMPS data file containing bead-spring polymer chains and/or monomer solvent atoms. It uses a text file @@ -146,7 +159,7 @@ for the "chain benchmark"_Speed_bench.html. :line -colvars tools :h3,link(colvars) +colvars tools :h4,link(colvars) The colvars directory contains a collection of tools for postprocessing data produced by the colvars collective variable library. @@ -168,7 +181,7 @@ gmail.com) at ICTP, Italy. :line -createatoms tool :h3,link(createatoms) +createatoms tool :h4,link(createatoms) The tools/createatoms directory contains a Fortran program called createAtoms.f which can generate a variety of interesting crystal @@ -181,7 +194,7 @@ The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov. :line -doxygen tool :h3,link(doxygen) +doxygen tool :h4,link(doxygen) The tools/doxygen directory contains a shell script called doxygen.sh which can generate a call graph and API lists using @@ -193,7 +206,7 @@ The tool is authored by Nandor Tamaskovics, numericalfreedom at googlemail.com. :line -drude tool :h3,link(drude) +drude tool :h4,link(drude) The tools/drude directory contains a Python script called polarizer.py which can add Drude oscillators to a LAMMPS @@ -206,7 +219,7 @@ at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr :line -eam database tool :h3,link(eamdb) +eam database tool :h4,link(eamdb) The tools/eam_database directory contains a Fortran program that will generate EAM alloy setfl potential files for any combination of 16 @@ -222,7 +235,7 @@ X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, :line -eam generate tool :h3,link(eamgn) +eam generate tool :h4,link(eamgn) The tools/eam_generate directory contains several one-file C programs that convert an analytic formula into a tabulated "embedded atom @@ -235,7 +248,7 @@ The source files and potentials were provided by Gerolf Ziegenhain :line -eff tool :h3,link(eff) +eff tool :h4,link(eff) The tools/eff directory contains various scripts for generating structures and post-processing output for simulations using the @@ -246,7 +259,7 @@ These tools were provided by Andres Jaramillo-Botero at CalTech :line -emacs tool :h3,link(emacs) +emacs tool :h4,link(emacs) The tools/emacs directory contains an Emacs Lisp add-on file for GNU Emacs that enables a lammps-mode for editing input scripts when using GNU Emacs, @@ -257,7 +270,7 @@ These tools were provided by Aidan Thompson at Sandia :line -fep tool :h3,link(fep) +fep tool :h4,link(fep) The tools/fep directory contains Python scripts useful for post-processing results from performing free-energy perturbation @@ -270,7 +283,7 @@ See README file in the tools/fep directory. :line -i-pi tool :h3,link(ipi) +i-pi tool :h4,link(ipi) The tools/i-pi directory contains a version of the i-PI package, with all the LAMMPS-unrelated files removed. It is provided so that it can @@ -287,7 +300,7 @@ calculations with LAMMPS. :line -ipp tool :h3,link(ipp) +ipp tool :h4,link(ipp) The tools/ipp directory contains a Perl script ipp which can be used to facilitate the creation of a complicated file (say, a lammps input @@ -301,7 +314,7 @@ tools/createatoms tool's input file. :line -kate tool :h3,link(kate) +kate tool :h4,link(kate) The file in the tools/kate directory is an add-on to the Kate editor in the KDE suite that allow syntax highlighting of LAMMPS input @@ -312,7 +325,7 @@ The file was provided by Alessandro Luigi Sellerio :line -lmp2arc tool :h3,link(arc) +lmp2arc tool :h4,link(arc) The lmp2arc sub-directory contains a tool for converting LAMMPS output files to the format for Accelrys' Insight MD code (formerly @@ -328,7 +341,7 @@ Greathouse at Sandia (jagreat at sandia.gov). :line -lmp2cfg tool :h3,link(cfg) +lmp2cfg tool :h4,link(cfg) The lmp2cfg sub-directory contains a tool for converting LAMMPS output files into a series of *.cfg files which can be read into the @@ -339,7 +352,7 @@ This tool was written by Ara Kooser at Sandia (askoose at sandia.gov). :line -matlab tool :h3,link(matlab) +matlab tool :h4,link(matlab) The matlab sub-directory contains several "MATLAB"_matlabhome scripts for post-processing LAMMPS output. The scripts include readers for log @@ -357,7 +370,7 @@ These scripts were written by Arun Subramaniyan at Purdue Univ :line -micelle2d tool :h3,link(micelle) +micelle2d tool :h4,link(micelle) The file micelle2d.f creates a LAMMPS data file containing short lipid chains in a monomer solution. It uses a text file containing lipid @@ -374,7 +387,7 @@ definition file. This tool was used to create the system for the :line -moltemplate tool :h3,link(moltemplate) +moltemplate tool :h4,link(moltemplate) The moltemplate sub-directory contains a Python-based tool for building molecular systems based on a text-file description, and @@ -388,7 +401,7 @@ supports it. It has its own WWW page at :line -msi2lmp tool :h3,link(msi) +msi2lmp tool :h4,link(msi) The msi2lmp sub-directory contains a tool for creating LAMMPS template input and data files from BIOVIA's Materias Studio files (formerly Accelrys' @@ -405,7 +418,7 @@ See the README file in the tools/msi2lmp folder for more information. :line -phonon tool :h3,link(phonon) +phonon tool :h4,link(phonon) The phonon sub-directory contains a post-processing tool useful for analyzing the output of the "fix phonon"_fix_phonon.html command in @@ -420,7 +433,7 @@ University. :line -polybond tool :h3,link(polybond) +polybond tool :h4,link(polybond) The polybond sub-directory contains a Python-based tool useful for performing "programmable polymer bonding". The Python file @@ -434,7 +447,7 @@ This tool was written by Zachary Kraus at Georgia Tech. :line -pymol_asphere tool :h3,link(pymol) +pymol_asphere tool :h4,link(pymol) The pymol_asphere sub-directory contains a tool for converting a LAMMPS dump file that contains orientation info for ellipsoidal @@ -452,7 +465,7 @@ This tool was written by Mike Brown at Sandia. :line -python tool :h3,link(pythontools) +python tool :h4,link(pythontools) The python sub-directory contains several Python scripts that perform common LAMMPS post-processing tasks, such as: @@ -468,7 +481,7 @@ README for more info on Pizza.py and how to use these scripts. :line -reax tool :h3,link(reax_tool) +reax tool :h4,link(reax_tool) The reax sub-directory contains stand-alond codes that can post-process the output of the "fix reax/bonds"_fix_reax_bonds.html @@ -479,7 +492,7 @@ These tools were written by Aidan Thompson at Sandia. :line -smd tool :h3,link(smd) +smd tool :h4,link(smd) The smd sub-directory contains a C++ file dump2vtk_tris.cpp and Makefile which can be compiled and used to convert triangle output @@ -495,7 +508,7 @@ Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de). :line -vim tool :h3,link(vim) +vim tool :h4,link(vim) The files in the tools/vim directory are add-ons to the VIM editor that allow easier editing of LAMMPS input scripts. See the README.txt @@ -506,7 +519,7 @@ ziegenhain.com) :line -xmgrace tool :h3,link(xmgrace) +xmgrace tool :h4,link(xmgrace) The files in the tools/xmgrace directory can be used to plot the thermodynamic data in LAMMPS log files via the xmgrace plotting -- GitLab From 703a795af851366233d700e05463ff9e59761993 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 20 Aug 2018 01:50:16 -0400 Subject: [PATCH 520/675] Modify Howto and Tools - add missing TOCs in Howto section - limit section numbering to maximum of 3 levels - add "Tool descriptions" header --- doc/src/Howto.txt | 156 +++++++++++++++++++++++++++++++-------------- doc/src/Manual.txt | 2 +- doc/src/Tools.txt | 2 + 3 files changed, 110 insertions(+), 50 deletions(-) diff --git a/doc/src/Howto.txt b/doc/src/Howto.txt index bcfae46579..9d385f23a4 100644 --- a/doc/src/Howto.txt +++ b/doc/src/Howto.txt @@ -21,67 +21,44 @@ also show how to setup and run various kinds of simulations. Tutorials howto :h3 -"Using GitHub with LAMMPS"_Howto_github.html -"PyLAMMPS interface to LAMMPS"_Howto_pylammps.html -"Using LAMMPS with bash on Windows"_Howto_bash.html :all(b) + -"2d simulations"_Howto_2d.html -"Triclinic (non-orthogonal) simulation boxes"_Howto_triclinic.html -"Thermostats"_Howto_thermostat.html -"Barostats"_Howto_barostat.html -"Walls"_Howto_walls.html -"NEMD simulations"_Howto_nemd.html -"Long-range dispersion settings"_Howto_dispersion.html :all(b) + -Analysis howto :h3 +"Using GitHub with LAMMPS"_Howto_github.html +"PyLAMMPS interface to LAMMPS"_Howto_pylammps.html +"Using LAMMPS with bash on Windows"_Howto_bash.html :all(b) -"Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_Howto_output.html -"Use chunks to calculate system properties"_Howto_chunk.html -"Calculate temperature"_Howto_temperature.html -"Calculate elastic constants"_Howto_elastic.html -"Calculate thermal conductivity"_Howto_kappa.html -"Calculate viscosity"_Howto_viscosity.html -"Calculate diffusion coefficients"_Howto_diffusion.html :all(b) + -Force fields howto :h3 +General howto :h3 -"CHARMM, AMBER, and DREIDING force fields"_Howto_bioFF.html -"TIP3P water model"_Howto_tip3p.html -"TIP4P water model"_Howto_tip4p.html -"SPC water model"_Howto_spc.html :all(b) + + Howto_restart + Howto_viz + Howto_multiple + Howto_replica + Howto_library + Howto_couple -External howto :h3 +END_RST --> -"Using GitHub with LAMMPS"_Howto_github.html -"PyLAMMPS interface to LAMMPS"_Howto_pylammps.html -"Using LAMMPS with bash on Windows"_Howto_bash.html :all(b) - -General howto :h3 + "Restart a simulation"_Howto_restart.html "Visualize LAMMPS snapshots"_Howto_viz.html @@ -90,8 +67,28 @@ General howto :h3 "Library interface to LAMMPS"_Howto_library.html "Couple LAMMPS to other codes"_Howto_couple.html :all(b) + + Settings howto :h3 + + + + "2d simulations"_Howto_2d.html "Triclinic (non-orthogonal) simulation boxes"_Howto_triclinic.html "Thermostats"_Howto_thermostat.html @@ -100,8 +97,29 @@ Settings howto :h3 "NEMD simulations"_Howto_nemd.html "Long-range dispersion settings"_Howto_dispersion.html :all(b) + + + Analysis howto :h3 + + + + "Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_Howto_output.html "Use chunks to calculate system properties"_Howto_chunk.html :all(b) "Calculate temperature"_Howto_temperature.html @@ -110,15 +128,55 @@ Analysis howto :h3 "Calculate viscosity"_Howto_viscosity.html "Calculate a diffusion coefficient"_Howto_diffusion.html :all(b) + + Force fields howto :h3 + + + + "CHARMM, AMBER, and DREIDING force fields"_Howto_bioFF.html "TIP3P water model"_Howto_tip3p.html "TIP4P water model"_Howto_tip4p.html "SPC water model"_Howto_spc.html :all(b) + + Packages howto :h3 + + + + + "Finite-size spherical and aspherical particles"_Howto_spherical.html "Granular models"_Howto_granular.html "Body style particles"_Howto_body.html diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index 30e1864106..c5e5aff61b 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -66,7 +66,7 @@ every LAMMPS command. .. toctree:: :maxdepth: 2 - :numbered: + :numbered: 3 :caption: User Documentation :name: userdoc :includehidden: diff --git a/doc/src/Tools.txt b/doc/src/Tools.txt index 5e02e00715..a9ad5032ce 100644 --- a/doc/src/Tools.txt +++ b/doc/src/Tools.txt @@ -89,6 +89,8 @@ Miscellaneous tools :h3 :line +Tool descriptions :h3 + amber2lmp tool :h4,link(amber) The amber2lmp sub-directory contains two Python scripts for converting -- GitLab From 353c004d6c1eda1e298208faab6b3dd609efa278 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Mon, 20 Aug 2018 10:07:49 -0600 Subject: [PATCH 521/675] cmake: required v3.7 for some DOWNLOAD options --- cmake/CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 0d8a4894bd..460d177c92 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -377,6 +377,9 @@ endif() if(PKG_LATTE) option(DOWNLOAD_LATTE "Download latte (instead of using the system's one)" OFF) if(DOWNLOAD_LATTE) + if (CMAKE_VERSION VERSION_LESS "3.7") # due to SOURCE_SUBDIR + message(FATAL_ERROR "For downlading LATTE you need at least cmake-3.7") + endif() message(STATUS "LATTE not found - we will build our own") include(ExternalProject) ExternalProject_Add(latte_build @@ -479,6 +482,9 @@ if(PKG_MSCG) find_package(GSL REQUIRED) option(DOWNLOAD_MSCG "Download latte (instead of using the system's one)" OFF) if(DOWNLOAD_MSCG) + if (CMAKE_VERSION VERSION_LESS "3.7") # due to SOURCE_SUBDIR + message(FATAL_ERROR "For downlading LATTE you need at least cmake-3.7") + endif() include(ExternalProject) if(NOT LAPACK_FOUND) set(EXTRA_MSCG_OPTS "-DLAPACK_LIBRARIES=${CMAKE_CURRENT_BINARY_DIR}/liblinalg.a") -- GitLab From f73ffb829ba9a3b4520f8c158be45e3aa41a40cb Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 20 Aug 2018 11:20:23 -0600 Subject: [PATCH 522/675] add a needed ifort flag for LAMMPS/LATTE link --- lib/latte/Makefile.lammps.ifort | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/latte/Makefile.lammps.ifort b/lib/latte/Makefile.lammps.ifort index 0491bdd8a5..b71b21cca8 100644 --- a/lib/latte/Makefile.lammps.ifort +++ b/lib/latte/Makefile.lammps.ifort @@ -4,9 +4,9 @@ latte_SYSINC = latte_SYSLIB = ../../lib/latte/filelink.o \ - -llatte -lifcore -lsvml -lompstub -limf -lmkl_intel_lp64 \ - -lmkl_intel_thread -lmkl_core -lmkl_intel_thread -lpthread \ - -openmp -O0 + -llatte -lifport -lifcore -lsvml -lompstub -limf \ + -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core \ + -lmkl_intel_thread -lpthread -openmp -O0 latte_SYSPATH = -openmp -L${MKLROOT}/lib/intel64 -lmkl_lapack95_lp64 \ -L/opt/intel/composer_xe_2013_sp1.2.144/compiler/lib/intel64 -- GitLab From 639573ff8735e8c8ca68eeb22b82cf088f2d4f6d Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 20 Aug 2018 13:10:26 -0600 Subject: [PATCH 523/675] more instructions on external lib downloads, and CMake versions --- doc/src/Build_cmake.txt | 5 +++-- doc/src/Build_extras.txt | 46 +++++++++++++++++++++++++++++++++------- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/doc/src/Build_cmake.txt b/doc/src/Build_cmake.txt index 38765c3d4e..08c1c72180 100644 --- a/doc/src/Build_cmake.txt +++ b/doc/src/Build_cmake.txt @@ -79,8 +79,9 @@ directory to un-install all packages. The purge removes all the *.h files auto-generated by make. You must have CMake version 2.8 or later on your system to build -LAMMPS. If you include the GPU or KOKKOS packages, CMake version 3.2 -or later is required. Installation instructions for CMake are below. +LAMMPS. A handful of LAMMPS packages (KOKKOS, LATTE, MSCG) require a +later version. CMake will print a message telling you if a later +version is required. Installation instructions for CMake are below. After the initial build, if you edit LAMMPS source files, or add your own new files to the source directory, you can just re-type make from diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt index 67c84e54b1..5c33a0a4d4 100644 --- a/doc/src/Build_extras.txt +++ b/doc/src/Build_extras.txt @@ -175,8 +175,15 @@ package?" page. [CMake build]: -D DOWNLOAD_KIM=value # download OpenKIM API v1 for build, value = no (default) or yes --D KIM_LIBRARY=path # path to KIM shared library (only needed if a custom location) --D KIM_INCLUDE_DIR=path # path to KIM include directory (only needed if a custom location) :pre +-D KIM_LIBRARY=path # KIM library file (only needed if a custom location) +-D KIM_INCLUDE_DIR=path # KIM include directory (only needed if a custom location) :pre + +If DOWNLOAD_KIM is set, the KIM library will be downloaded and built +inside the CMake build directory. If the KIM library is already on +your system (in a location CMake cannot find it), KIM_LIBRARY is the +filename (plus path) of the KIM library file, not the directory the +library file is in. KIM_INCLUDE_DIR is the directory the KIM include +file is in. [Traditional make]: @@ -296,7 +303,13 @@ library. [CMake build]: -D DOWNLOAD_LATTE=value # download LATTE for build, value = no (default) or yes --D LATTE_LIBRARY=path # path to LATTE shared library (only needed if a custom location) :pre +-D LATTE_LIBRARY=path # LATTE library file (only needed if a custom location) :pre + +If DOWNLOAD_LATTE is set, the LATTE library will be downloaded and +built inside the CMake build directory. If the LATTE library is +already on your system (in a location CMake cannot find it), +LATTE_LIBRARY is the filename (plus path) of the LATTE library file, +not the directory the library file is in. [Traditional make]: @@ -371,8 +384,15 @@ lib/mscg/README and MSCG/Install files for more details. [CMake build]: -D DOWNLOAD_MSCG=value # download MSCG for build, value = no (default) or yes --D MSCG_LIBRARY=path # path to MSCG shared library (only needed if a custom location) --D MSCG_INCLUDE_DIR=path # path to MSCG include directory (only needed if a custom location) :pre +-D MSCG_LIBRARY=path # MSCG library file (only needed if a custom location) +-D MSCG_INCLUDE_DIR=path # MSCG include directory (only needed if a custom location) :pre + +If DOWNLOAD_MSCG is set, the MSCG library will be downloaded and built +inside the CMake build directory. If the MSCG library is already on +your system (in a location CMake cannot find it), MSCG_LIBRARY is the +filename (plus path) of the MSCG library file, not the directory the +library file is in. MSCG_INCLUDE_DIR is the directory the MSCG +include file is in. [Traditional make]: @@ -515,8 +535,15 @@ library"_voro_home. [CMake build]: -D DOWNLOAD_VORO=value # download Voro++ for build, value = no (default) or yes --D VORO_LIBRARY=path # (only needed if at custom location) path to VORO shared library --D VORO_INCLUDE_DIR=path # (only needed if at custom location) path to VORO include directory :pre +-D VORO_LIBRARY=path # Voro++ library file (only needed if at custom location) +-D VORO_INCLUDE_DIR=path # Voro++ include directory (only needed if at custom location) :pre + +If DOWNLOAD_VORO is set, the Voro++ library will be downloaded and +built inside the CMake build directory. If the Voro++ library is +already on your system (in a location CMake cannot find it), +VORO_LIBRARY is the filename (plus path) of the Voro++ library file, +not the directory the library file is in. VORO_INCLUDE_DIR is the +directory the Voro++ include file is in. [Traditional make]: @@ -877,7 +904,10 @@ Eigen3 is a template library, so you do not need to build it. -D DOWNLOAD_EIGEN3 # download Eigen3, value = no (default) or yes -D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a custom location) :pre -Set EIGEN3_INCLUDE_DIR if CMake cannot find the Eigen3 library. +If DOWNLOAD_EIGEN3 is set, the Eigen3 library will be downloaded and +inside the CMake build directory. If the Eig3n3 library is already on +your system (in a location CMake cannot find it), EIGEN3_INCLUDE_DIR +is the directory the Eigen3++ include file is in. [Traditional make]: -- GitLab From e0fc050bf40563d69c1b1fa71e9c204ed02c618b Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Mon, 20 Aug 2018 15:12:05 -0400 Subject: [PATCH 524/675] Changes to linux makefile. --- lib/gpu/Makefile.linux | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/gpu/Makefile.linux b/lib/gpu/Makefile.linux index ed5b6092d3..be103d7f89 100644 --- a/lib/gpu/Makefile.linux +++ b/lib/gpu/Makefile.linux @@ -8,7 +8,7 @@ EXTRAMAKE = Makefile.lammps.standard ifeq ($(CUDA_HOME),) -CUDA_HOME = /usr/local/cuda +CUDA_HOME = /opt/cuda endif NVCC = nvcc @@ -19,7 +19,7 @@ CUDA_ARCH = -arch=sm_21 #CUDA_ARCH = -arch=sm_13 # older CUDA #CUDA_ARCH = -arch=sm_10 -DCUDA_PRE_THREE -CUDA_ARCH = -arch=sm_35 +CUDA_ARCH = -arch=sm_61 # this setting should match LAMMPS Makefile # one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL -- GitLab From 0ca0e0a93cbee9c68ede714cd9aa379af9f3773b Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 20 Aug 2018 13:36:44 -0600 Subject: [PATCH 525/675] mis-spelled word --- doc/src/Intro_authors.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/src/Intro_authors.txt b/doc/src/Intro_authors.txt index d6258f85a0..b909265a3e 100644 --- a/doc/src/Intro_authors.txt +++ b/doc/src/Intro_authors.txt @@ -26,8 +26,9 @@ and Ray Shan, now at Materials Design. :line The "Authors page"_http://lammps.sandia.gov/authors.html of the -"LAMMPS website"_lws has a comprhensive list of all the individuals who -have contributed code for a new feature or command or tool to LAMMPS. +"LAMMPS website"_lws has a comprehensive list of all the individuals +who have contributed code for a new feature or command or tool to +LAMMPS. :line -- GitLab From c719af8bcd6ae81030f2a0b655c95b4737e423cc Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 20 Aug 2018 13:42:34 -0600 Subject: [PATCH 526/675] remove wrong link optimization flag --- lib/latte/Makefile.lammps.ifort | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/latte/Makefile.lammps.ifort b/lib/latte/Makefile.lammps.ifort index b71b21cca8..90010210af 100644 --- a/lib/latte/Makefile.lammps.ifort +++ b/lib/latte/Makefile.lammps.ifort @@ -6,7 +6,7 @@ latte_SYSINC = latte_SYSLIB = ../../lib/latte/filelink.o \ -llatte -lifport -lifcore -lsvml -lompstub -limf \ -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core \ - -lmkl_intel_thread -lpthread -openmp -O0 + -lmkl_intel_thread -lpthread -openmp latte_SYSPATH = -openmp -L${MKLROOT}/lib/intel64 -lmkl_lapack95_lp64 \ -L/opt/intel/composer_xe_2013_sp1.2.144/compiler/lib/intel64 -- GitLab From f8faf4dfe22495a8e465ecb9f38ae0280422e6fe Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 20 Aug 2018 13:50:55 -0600 Subject: [PATCH 527/675] cosmetic tweak to Howto page --- doc/src/Howto.txt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/src/Howto.txt b/doc/src/Howto.txt index 9d385f23a4..438ea561a1 100644 --- a/doc/src/Howto.txt +++ b/doc/src/Howto.txt @@ -8,14 +8,13 @@ Section"_Examples.html :c :line -How to discussions :h2 +Howto discussions :h2 These doc pages describe how to perform various tasks with LAMMPS, both for users and developers. The "glossary"_http://lammps.sandia.gov website page also lists MD -terminology with links to corresponding LAMMPS manual pages. - -The example input scripts included in the examples dir of the LAMMPS +terminology with links to corresponding LAMMPS manual pages. The +example input scripts included in the examples dir of the LAMMPS distribution and highlighted on the "Examples"_Examples.html doc page also show how to setup and run various kinds of simulations. -- GitLab From 937d4707dc69f069d70c5d4cef1644bd521bc711 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 20 Aug 2018 15:03:21 -0600 Subject: [PATCH 528/675] proposed SJP changes for 2nd cutoff_triple --- doc/src/pair_atm.txt | 17 ++++++++++++----- src/MANYBODY/pair_atm.cpp | 24 ++++++++++++++++++++++-- src/MANYBODY/pair_atm.h | 3 ++- 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/doc/src/pair_atm.txt b/doc/src/pair_atm.txt index 2e961a1356..c2718973ad 100644 --- a/doc/src/pair_atm.txt +++ b/doc/src/pair_atm.txt @@ -10,16 +10,20 @@ pair_style atm command :h3 [Syntax:] -pair_style atm cutoff :pre +SJP: add an arg -cutoff = global cutoff for 3-body interactions (distance units) :ul +pair_style atm cutoff cutoff_triple :pre + +cutoff = cutoff for each pair in 3-body interaction (distance units) +cutoff_triple = additional cutoff applied to product of 3 pairwise distances (distance units) :ul [Examples:] -pair_style atm 2.5 +SJP: is 1.5 a good value? +pair_style atm 2.5 1.5 pair_coeff * * * 0.072 :pre -pair_style hybrid/overlay lj/cut 6.5 atm 2.5 +pair_style hybrid/overlay lj/cut 6.5 atm 2.5 1.5 pair_coeff * * lj/cut 1.0 1.0 pair_coeff 1 1 atm 1 0.064 pair_coeff 1 1 atm 2 0.080 @@ -50,7 +54,10 @@ potential using the "pair_style hybrid/overlay"_pair_hybrid.html command as in the example above. The potential for a triplet of atom is calculated only if all 3 -distances r12, r23, r31 between the 3 atoms satisfy rIJ < cutoff +distances r12, r23, r31 between the 3 atoms satisfy rIJ < cutoff. +SJP: In addition, the product of the 3 distances r12*r23*r31 < +cutoff_triple^3 is required, which limits the contribution of the +potential to ??? The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp index 9afa36b3c0..e960398ab3 100644 --- a/src/MANYBODY/pair_atm.cpp +++ b/src/MANYBODY/pair_atm.cpp @@ -92,6 +92,10 @@ void PairATM::compute(int eflag, int vflag) int *type = atom->type; double cutoff_squared = cut_global*cut_global; + // SJP: new cutoff + double triple = cut_triple*cut_triple*cut_triple; + double cutoff_triple_sixth = triple*triple; + inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; @@ -138,6 +142,10 @@ void PairATM::compute(int eflag, int vflag) rik2 = rik[0]*rik[0] + rik[1]*rik[1] + rik[2]*rik[2]; if (rik2 > cutoff_squared) continue; + // SJP: add this line? + + if (rij2*rjk2*rik2 > cutoff_triple_sixth) continue; + nu_local = nu[type[i]][type[j]][type[k]]; if (nu_local == 0.0) continue; @@ -192,9 +200,14 @@ void PairATM::allocate() void PairATM::settings(int narg, char **arg) { - if (narg != 1) error->all(FLERR,"Illegal pair_style command"); + // SJP: change to 2 args, require triple <= global + + if (narg != 2) error->all(FLERR,"Illegal pair_style command"); cut_global = force->numeric(FLERR,arg[0]); + cut_triple = force->numeric(FLERR,arg[1]); + + if (cut_triple > cut_global) error->all(FLERR,"Illegal pair_style command"); } /* ---------------------------------------------------------------------- @@ -311,6 +324,8 @@ void PairATM::read_restart(FILE *fp) void PairATM::write_restart_settings(FILE *fp) { fwrite(&cut_global,sizeof(double),1,fp); + // SJP: 2nd arg + fwrite(&cut_triple,sizeof(double),1,fp); } /* ---------------------------------------------------------------------- @@ -319,9 +334,14 @@ void PairATM::write_restart_settings(FILE *fp) void PairATM::read_restart_settings(FILE *fp) { + // SJP: 2nd arg int me = comm->me; - if (me == 0) fread(&cut_global,sizeof(double),1,fp); + if (me == 0) { + fread(&cut_global,sizeof(double),1,fp); + fread(&cut_triple,sizeof(double),1,fp); + } MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_triple,1,MPI_DOUBLE,0,world); } /* ---------------------------------------------------------------------- diff --git a/src/MANYBODY/pair_atm.h b/src/MANYBODY/pair_atm.h index 60d22348c3..cc868df832 100644 --- a/src/MANYBODY/pair_atm.h +++ b/src/MANYBODY/pair_atm.h @@ -39,7 +39,8 @@ class PairATM : public Pair { void read_restart_settings(FILE *); protected: - double cut_global, cutoff_squared; + // SJP: add 2nd cutoff + double cut_global,cut_triple; double ***nu; void allocate(); -- GitLab From d66d696dff4f6bacbd9254da0fe00887a9629f3e Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 20 Aug 2018 22:34:32 -0400 Subject: [PATCH 529/675] minor tweak --- doc/src/Speed_gpu.txt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/doc/src/Speed_gpu.txt b/doc/src/Speed_gpu.txt index 3ae4639dc2..4a075516ce 100644 --- a/doc/src/Speed_gpu.txt +++ b/doc/src/Speed_gpu.txt @@ -48,12 +48,11 @@ hardware. :l To use this package, you currently need to have an NVIDIA GPU and install the NVIDIA CUDA software on your system: -Check if you have an NVIDIA GPU: cat -/proc/driver/nvidia/gpus/0/information Go to -http://www.nvidia.com/object/cuda_get.html Install a driver and -toolkit appropriate for your system (SDK is not necessary) Run -lammps/lib/gpu/nvc_get_devices (after building the GPU library, see -below) to list supported devices and properties :ul +Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/*/information :ulb,l +Go to http://www.nvidia.com/object/cuda_get.html :l +Install a driver and toolkit appropriate for your system (SDK is not necessary) :l +Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) to +list supported devices and properties :ule,l [Building LAMMPS with the GPU package:] -- GitLab From 95d462e5d3dc456cce8ab14198d1a0010e7d1527 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Tue, 21 Aug 2018 02:28:53 -0600 Subject: [PATCH 530/675] bond/react: better template validity check now always throws error if a bond type changes, but both of of the involved atoms are too close to edge of template --- doc/src/fix_bond_react.txt | 8 +++---- src/USER-MISC/fix_bond_react.cpp | 40 ++++++++++++++++++++++++++++++-- 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/doc/src/fix_bond_react.txt b/doc/src/fix_bond_react.txt index 7317dd26bb..327088cb99 100644 --- a/doc/src/fix_bond_react.txt +++ b/doc/src/fix_bond_react.txt @@ -125,13 +125,13 @@ template. If both these conditions are met, the reaction site is modified to match the post-reaction template. A bonding atom pair will be identified if several conditions are met. -First, a pair of atoms within the specified react-group-ID of type -typei and typej must separated by a distance between {Rmin} and +First, a pair of atoms I,J within the specified react-group-ID of type +itype and jtype must separated by a distance between {Rmin} and {Rmax}. It is possible that multiple bonding atom pairs are identified: if the bonding atoms in the pre-reacted template are not 1-2, 1-3, or 1-4 neighbors, the closest bonding atom partner is set as its bonding partner; otherwise, the farthest potential partner is -chosen. Then, if both an atomi and atomj have each other as their +chosen. Then, if both an atom I and atom J have each other as their nearest bonding partners, these two atoms are identified as the bonding atom pair of the reaction site. Once this unique bonding atom pair is identified for each reaction, there could two or more @@ -323,7 +323,7 @@ bond/break"_fix_bond_break.html, "fix bond/swap"_fix_bond_swap.html, [Default:] -The option defaults are stabilization = no, stabilize_steps = 60 +The option defaults are stabilization = no, prob = 1.0, stabilize_steps = 60 :line diff --git a/src/USER-MISC/fix_bond_react.cpp b/src/USER-MISC/fix_bond_react.cpp index c72a1b027b..d529848e39 100644 --- a/src/USER-MISC/fix_bond_react.cpp +++ b/src/USER-MISC/fix_bond_react.cpp @@ -1063,8 +1063,8 @@ void FixBondReact::superimpose_algorithm() hang_catch++; // let's go ahead and catch the simplest of hangs //if (hang_catch > onemol->natoms*4) - if (hang_catch > atom->nlocal*3) { - error->all(FLERR,"Excessive iteration of superimpose algorithm"); + if (hang_catch > atom->nlocal*30) { + error->one(FLERR,"Excessive iteration of superimpose algorithm"); } } } @@ -1554,6 +1554,42 @@ void FixBondReact::find_landlocked_atoms(int myrxn) error->one(FLERR,"Atom affected by reaction too close to template edge"); } + // additionally, if a bond changes type, but neither involved atom is landlocked, bad + // would someone want to change an angle type but not bond or atom types? (etc.) ...hopefully not yet + for (int i = 0; i < twomol->natoms; i++) { + if (landlocked_atoms[i][myrxn] == 0) { + int twomol_atomi = i+1; + for (int j = 0; j < twomol->num_bond[i]; j++) { + int twomol_atomj = twomol->bond_atom[i][j]; + if (landlocked_atoms[twomol_atomj-1][myrxn] == 0) { + int onemol_atomi = equivalences[i][1][myrxn]; + int onemol_batom; + for (int m = 0; m < onemol->num_bond[onemol_atomi-1]; m++) { + onemol_batom = onemol->bond_atom[onemol_atomi-1][m]; + if (onemol_batom == equivalences[twomol_atomj-1][1][myrxn]) { + if (twomol->bond_type[i][j] != onemol->bond_type[onemol_atomi-1][m]) { + printf("%d and %d for rxn %d\n",twomol_atomi,twomol_atomj,myrxn); + error->one(FLERR,"Bond type affected by reaction too close to template edge"); + } + } + } + if (newton_bond) { + int onemol_atomj = equivalences[twomol_atomj-1][1][myrxn]; + for (int m = 0; m < onemol->num_bond[onemol_atomj-1]; m++) { + onemol_batom = onemol->bond_atom[onemol_atomj-1][m]; + if (onemol_batom == equivalences[i][1][myrxn]) { + if (twomol->bond_type[i][j] != onemol->bond_type[onemol_atomj-1][m]) { + printf("%d and %d for rxn %d\n",twomol_atomi,twomol_atomj,myrxn); + error->one(FLERR,"Bond type affected by reaction too close to template edge"); + } + } + } + } + } + } + } + } + // also, if atoms change number of bonds, but aren't landlocked, that could be bad if (me == 0) for (int i = 0; i < twomol->natoms; i++) { -- GitLab From 2b5618dc404c6ffa27bce91758986523a3acf86e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 21 Aug 2018 06:50:30 -0400 Subject: [PATCH 531/675] Updates for Speed_gpu.txt doc page This corrects some inaccurate statements about required hardware and briefly discusses some OpenCL related basics. also a typo is fixed --- doc/src/Speed_gpu.txt | 43 +++++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/doc/src/Speed_gpu.txt b/doc/src/Speed_gpu.txt index 4a075516ce..acef5bf6c1 100644 --- a/doc/src/Speed_gpu.txt +++ b/doc/src/Speed_gpu.txt @@ -9,17 +9,17 @@ Documentation"_ld - "LAMMPS Commands"_lc :c GPU package :h3 -The GPU package was developed by Mike Brown at ORNL and his -collaborators, particularly Trung Nguyen (ORNL). It provides GPU -versions of many pair styles, including the 3-body Stillinger-Weber -pair style, and for "kspace_style pppm"_kspace_style.html for -long-range Coulombics. It has the following general features: +The GPU package was developed by Mike Brown while at SNL and ORNL +and his collaborators, particularly Trung Nguyen (now at Northwestern). +It provides GPU versions of many pair styles and for parts of the +"kspace_style pppm"_kspace_style.html for long-range Coulombics. +It has the following general features: It is designed to exploit common GPU hardware configurations where one or more GPUs are coupled to many cores of one or more multi-core CPUs, e.g. within a node of a parallel machine. :ulb,l -Atom-based data (e.g. coordinates, forces) moves back-and-forth +Atom-based data (e.g. coordinates, forces) are moved back-and-forth between the CPU(s) and GPU every timestep. :l Neighbor lists can be built on the CPU or on the GPU :l @@ -28,8 +28,8 @@ The charge assignment and force interpolation portions of PPPM can be run on the GPU. The FFT portion, which requires MPI communication between processors, runs on the CPU. :l -Asynchronous force computations can be performed simultaneously on the -CPU(s) and GPU. :l +Force computations of different style (pair vs. bond/angle/dihedral/improper) +can be performed concurrently on the GPU and CPU(s), respectively. :l It allows for GPU computations to be performed in single or double precision, or in mixed-mode precision, where pairwise forces are @@ -39,14 +39,15 @@ force vectors. :l LAMMPS-specific code is in the GPU package. It makes calls to a generic GPU library in the lib/gpu directory. This library provides NVIDIA support as well as more general OpenCL support, so that the -same functionality can eventually be supported on a variety of GPU -hardware. :l +same functionality is supported on a variety of hardware. :l :ule [Required hardware/software:] -To use this package, you currently need to have an NVIDIA GPU and -install the NVIDIA CUDA software on your system: +To compile and use this package in CUDA mode, you currently need +to have an NVIDIA GPU and install the corresponding NVIDIA CUDA +toolkit software on your system (this is primarily tested on Linux +and completely unsupported on Windows): Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/*/information :ulb,l Go to http://www.nvidia.com/object/cuda_get.html :l @@ -54,6 +55,17 @@ Install a driver and toolkit appropriate for your system (SDK is not necessary) Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) to list supported devices and properties :ule,l +To compile and use this package in OpenCL mode, you currently need +to have the OpenCL headers and the (vendor neutral) OpenCL library installed. +In OpenCL mode, the acceleration depends on having an "OpenCL Installable Client +Driver (ICD)"_https://www.khronos.org/news/permalink/opencl-installable-client-driver-icd-loader +installed. There can be multiple of them for the same or different hardware +(GPUs, CPUs, Accelerators) installed at the same time. OpenCL refers to those +as 'platforms'. The GPU library will select the [first] suitable platform, +but this can be overridded using the device option of the "package"_package.html +command. run lammps/lib/gpu/ocl_get_devices to get a list of available +platforms and devices with a suitable ICD available. + [Building LAMMPS with the GPU package:] See the "Build extras"_Build_extras.html#gpu doc page for @@ -119,7 +131,10 @@ GPUs/node to use, as well as other options. The performance of a GPU versus a multi-core CPU is a function of your hardware, which pair style is used, the number of atoms/GPU, and the -precision used on the GPU (double, single, mixed). +precision used on the GPU (double, single, mixed). Using the GPU package +in OpenCL mode on CPUs (which uses vectorization and multithreading) is +usually resulting in inferior performance compared to using LAMMPS' native +threading and vectorization support in the USER-OMP and USER-INTEL packages. See the "Benchmark page"_http://lammps.sandia.gov/bench.html of the LAMMPS web site for performance of the GPU package on various @@ -145,7 +160,7 @@ The "package gpu"_package.html command has several options for tuning performance. Neighbor lists can be built on the GPU or CPU. Force calculations can be dynamically balanced across the CPU cores and GPUs. GPU-specific settings can be made which can be optimized -for different hardware. See the "packakge"_package.html command +for different hardware. See the "package"_package.html command doc page for details. :l As described by the "package gpu"_package.html command, GPU -- GitLab From fd788e5bbd4eb69ad5663012481c0d1402dffc0a Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Tue, 21 Aug 2018 09:25:06 -0600 Subject: [PATCH 532/675] cmake/README.md: add BUILD_EXE option --- cmake/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cmake/README.md b/cmake/README.md index 85375cd2aa..21e728c1f0 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -275,6 +275,16 @@ cmake -C ../cmake/presets/std_nolib.cmake -D PKG_GPU=on ../cmake + + + + + -- GitLab From fc7d9ff558482730137755ce86cfd26af1b37f77 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 21 Aug 2018 11:12:21 -0600 Subject: [PATCH 533/675] apply PBC to coords passed to scafacos --- src/USER-SCAFACOS/scafacos.cpp | 50 ++++++++++++++++++++++------------ src/USER-SCAFACOS/scafacos.h | 4 +-- 2 files changed, 34 insertions(+), 20 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index 5832f5b052..23d51b07b8 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -101,8 +101,8 @@ void Scafacos::init() if (logfile && me == 0) fprintf(logfile, "Setting up ScaFaCoS with solver %s ...\n",method); - if (!atom->q_flag) error->all(FLERR, - "Kspace style requires atom attribute q"); + if (!atom->q_flag) + error->all(FLERR,"Kspace style requires atom attribute q"); if (domain->dimension == 2) error->all(FLERR,"Cannot use ScaFaCoS with 2d simulation"); @@ -166,15 +166,12 @@ void Scafacos::init() // more useful here, since the parameters should be tuned now if (me == 0) fcs_print_parameters(fcs); } + initialized = 1; } /* ---------------------------------------------------------------------- */ -void Scafacos::setup() {} - -/* ---------------------------------------------------------------------- */ - void Scafacos::compute(int eflag, int vflag) { double **x = atom->x; @@ -209,20 +206,14 @@ void Scafacos::compute(int eflag, int vflag) check_result(result); } - // grow epot & efield if necessary - - if (nlocal == 0 && maxatom == 0) { - memory->destroy(epot); - memory->destroy(efield); - maxatom = 1; - memory->create(epot,maxatom,"scafacos:epot"); - memory->create(efield,maxatom,3,"scafacos:efield"); - } + // grow xpbc, epot, efield if necessary - if (nlocal > maxatom) { + if (nlocal > maxatom || maxatom == 0) { + memory->destroy(xpbc); memory->destroy(epot); memory->destroy(efield); maxatom = atom->nmax; + memory->create(xpbc,3*maxatom,"scafacos:xpbc"); memory->create(epot,maxatom,"scafacos:epot"); memory->create(efield,maxatom,3,"scafacos:efield"); } @@ -231,12 +222,27 @@ void Scafacos::compute(int eflag, int vflag) { fcs_set_compute_virial(fcs,1); if (strcmp(method,"p3m") == 0) - error->all(FLERR,"ScaFaCoS p3m does not support the computation of virial"); + error->all(FLERR,"ScaFaCoS p3m does not support computation of virial"); + } + + // pack coords into xpbc and apply PBC + + double **x = atom->x; + memcpy(xpbc,&x[0][0],3*nlocal*sizeof(double)); + + int j = 0; + for (int i = 0; i < nlocal; i++) { + domain->remap(&xpbc[j]); + j += 3; } - result = fcs_run(fcs,nlocal,&x[0][0],q,&efield[0][0],epot); + // invoke ScaFaCoS solver + + result = fcs_run(fcs,nlocal,xpbc,q,&efield[0][0],epot); check_result(result); + // extract virial + if (vflag_global) { fcs_get_virial(fcs,virial_int); @@ -272,6 +278,14 @@ void Scafacos::compute(int eflag, int vflag) MPI_Allreduce(&myeng,&energy,1,MPI_DOUBLE,MPI_SUM,world); } +/* ---------------------------------------------------------------------- + pack local coords into xpbc, enforcing PBC +------------------------------------------------------------------------- */ + +void Scafacos::pack_coords() +{ +} + /* ---------------------------------------------------------------------- */ int Scafacos::modify_param(int narg, char **arg) diff --git a/src/USER-SCAFACOS/scafacos.h b/src/USER-SCAFACOS/scafacos.h index 8f7c46dc6b..bf07b3b45a 100644 --- a/src/USER-SCAFACOS/scafacos.h +++ b/src/USER-SCAFACOS/scafacos.h @@ -30,7 +30,7 @@ class Scafacos : public KSpace { Scafacos(class LAMMPS *, int, char **); ~Scafacos(); void init(); - void setup(); + void setup() {} void compute(int, int); int modify_param(int, char **); double memory_usage(); @@ -40,7 +40,7 @@ class Scafacos : public KSpace { char *method; double tolerance; - double *epot,**efield; + double *xpbc,*epot,**efield; int tolerance_type; int initialized,maxatom; -- GitLab From 4b0382cadd10132f55e98fda4a5e7f710d5dbdf6 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 21 Aug 2018 14:45:01 -0400 Subject: [PATCH 534/675] Fixes issue #1069 --- python/lammps.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/python/lammps.py b/python/lammps.py index 2f4ffb642e..598e4c506f 100644 --- a/python/lammps.py +++ b/python/lammps.py @@ -173,6 +173,9 @@ class lammps(object): self.lib.lammps_open(narg,cargs,comm_val,byref(self.lmp)) else: + if lammps.has_mpi4py: + from mpi4py import MPI + self.comm = MPI.COMM_WORLD self.opened = 1 if cmdargs: cmdargs.insert(0,"lammps.py") @@ -862,6 +865,10 @@ class PyLammps(object): def run(self, *args, **kwargs): output = self.__getattr__('run')(*args, **kwargs) + + if(lammps.has_mpi4py): + output = self.lmp.comm.bcast(output, root=0) + self.runs += get_thermo_data(output) return output -- GitLab From 3573970e4a168c409d3cef2a6c6c3008504c6043 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Tue, 21 Aug 2018 17:04:52 -0600 Subject: [PATCH 535/675] fixed double definition, removed virial check for p3m and removed unused function definition Scafacos::pack... --- src/USER-SCAFACOS/scafacos.cpp | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index 23d51b07b8..d68d3db323 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -198,13 +198,6 @@ void Scafacos::compute(int eflag, int vflag) vflag_global = 0; } - // if simulation box has changed, call fcs_tune() - - if (box_has_changed()) { - setup_handle(); - result = fcs_tune(fcs,nlocal,&x[0][0],q); - check_result(result); - } // grow xpbc, epot, efield if necessary @@ -221,13 +214,11 @@ void Scafacos::compute(int eflag, int vflag) if (vflag_global) { fcs_set_compute_virial(fcs,1); - if (strcmp(method,"p3m") == 0) - error->all(FLERR,"ScaFaCoS p3m does not support computation of virial"); + //if (strcmp(method,"p3m") == 0) + // error->all(FLERR,"ScaFaCoS p3m does not support computation of virial"); } // pack coords into xpbc and apply PBC - - double **x = atom->x; memcpy(xpbc,&x[0][0],3*nlocal*sizeof(double)); int j = 0; @@ -236,6 +227,14 @@ void Scafacos::compute(int eflag, int vflag) j += 3; } + // if simulation box has changed, call fcs_tune() + + if (box_has_changed()) { + setup_handle(); + result = fcs_tune(fcs,nlocal,xpbc,q); + check_result(result); + } + // invoke ScaFaCoS solver result = fcs_run(fcs,nlocal,xpbc,q,&efield[0][0],epot); @@ -278,14 +277,6 @@ void Scafacos::compute(int eflag, int vflag) MPI_Allreduce(&myeng,&energy,1,MPI_DOUBLE,MPI_SUM,world); } -/* ---------------------------------------------------------------------- - pack local coords into xpbc, enforcing PBC -------------------------------------------------------------------------- */ - -void Scafacos::pack_coords() -{ -} - /* ---------------------------------------------------------------------- */ int Scafacos::modify_param(int narg, char **arg) -- GitLab From c23534019c5077ef208c3a36b439095e5376f5c6 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Tue, 21 Aug 2018 17:28:42 -0600 Subject: [PATCH 536/675] fixed typo in example file name --- .../{data.hammersley_shphere => data.hammersley_sphere} | 6 +++--- examples/USER/scafacos/in.scafacos.hsph.direct | 2 +- examples/USER/scafacos/in.scafacos.hsph.fmm | 2 +- examples/USER/scafacos/in.scafacos.hsph.p2nfft | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) rename examples/USER/scafacos/{data.hammersley_shphere => data.hammersley_sphere} (99%) diff --git a/examples/USER/scafacos/data.hammersley_shphere b/examples/USER/scafacos/data.hammersley_sphere similarity index 99% rename from examples/USER/scafacos/data.hammersley_shphere rename to examples/USER/scafacos/data.hammersley_sphere index e0d067adfb..0d238ebf8f 100644 --- a/examples/USER/scafacos/data.hammersley_shphere +++ b/examples/USER/scafacos/data.hammersley_sphere @@ -4,9 +4,9 @@ LAMMPS Description 1 atom types --50.5 51.5 xlo xhi --50.5 51.5 ylo yhi --50.5 51.5 zlo zhi +-51.5 51.5 xlo xhi +-51.5 51.5 ylo yhi +-51.5 51.5 zlo zhi Masses diff --git a/examples/USER/scafacos/in.scafacos.hsph.direct b/examples/USER/scafacos/in.scafacos.hsph.direct index 60448880ec..3688b5157c 100644 --- a/examples/USER/scafacos/in.scafacos.hsph.direct +++ b/examples/USER/scafacos/in.scafacos.hsph.direct @@ -3,7 +3,7 @@ units lj atom_style charge -read_data data.hammersley_shphere +read_data data.hammersley_sphere change_box all boundary f f f velocity all create 1.5 49893 diff --git a/examples/USER/scafacos/in.scafacos.hsph.fmm b/examples/USER/scafacos/in.scafacos.hsph.fmm index 515809dbde..48a60a4b8b 100644 --- a/examples/USER/scafacos/in.scafacos.hsph.fmm +++ b/examples/USER/scafacos/in.scafacos.hsph.fmm @@ -3,7 +3,7 @@ units lj atom_style charge -read_data data.hammersley_shphere +read_data data.hammersley_sphere change_box all boundary f f f velocity all create 1.5 49893 diff --git a/examples/USER/scafacos/in.scafacos.hsph.p2nfft b/examples/USER/scafacos/in.scafacos.hsph.p2nfft index d690a29e49..a91f8f91c7 100644 --- a/examples/USER/scafacos/in.scafacos.hsph.p2nfft +++ b/examples/USER/scafacos/in.scafacos.hsph.p2nfft @@ -3,7 +3,7 @@ units lj atom_style charge -read_data data.hammersley_shphere +read_data data.hammersley_sphere change_box all boundary f f f velocity all create 1.5 49893 -- GitLab From bfd711ad12e2a6fd56aba5ff69de7efc8d025fcc Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Tue, 21 Aug 2018 17:29:38 -0600 Subject: [PATCH 537/675] fixed missing initialization of xpbc as well as deallocation in constructor --- src/USER-SCAFACOS/scafacos.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index d68d3db323..f3e8ce64f7 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -74,6 +74,7 @@ Scafacos::Scafacos(LAMMPS *lmp, int narg, char **arg) : KSpace(lmp, narg, arg) initialized = 0; maxatom = 0; + xpbc = NULL; epot = NULL; efield = NULL; } @@ -84,6 +85,7 @@ Scafacos::~Scafacos() { delete [] method; + memory->destroy(xpbc); memory->destroy(epot); memory->destroy(efield); @@ -221,10 +223,12 @@ void Scafacos::compute(int eflag, int vflag) // pack coords into xpbc and apply PBC memcpy(xpbc,&x[0][0],3*nlocal*sizeof(double)); - int j = 0; + //int j = 0; for (int i = 0; i < nlocal; i++) { - domain->remap(&xpbc[j]); - j += 3; + if (domain->xperiodic) domain->remap(&xpbc[3*i]); + if (domain->yperiodic) domain->remap(&xpbc[3*i+1]); + if (domain->zperiodic) domain->remap(&xpbc[3*i+2]); + //j += 3; } // if simulation box has changed, call fcs_tune() -- GitLab From fd0b041e0e06091085afc4a9236abd44ff043eb8 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Tue, 21 Aug 2018 21:10:34 -0600 Subject: [PATCH 538/675] remove debugging comments --- src/USER-MISC/fix_bond_react.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/USER-MISC/fix_bond_react.cpp b/src/USER-MISC/fix_bond_react.cpp index d529848e39..d71a31f566 100644 --- a/src/USER-MISC/fix_bond_react.cpp +++ b/src/USER-MISC/fix_bond_react.cpp @@ -1568,7 +1568,6 @@ void FixBondReact::find_landlocked_atoms(int myrxn) onemol_batom = onemol->bond_atom[onemol_atomi-1][m]; if (onemol_batom == equivalences[twomol_atomj-1][1][myrxn]) { if (twomol->bond_type[i][j] != onemol->bond_type[onemol_atomi-1][m]) { - printf("%d and %d for rxn %d\n",twomol_atomi,twomol_atomj,myrxn); error->one(FLERR,"Bond type affected by reaction too close to template edge"); } } @@ -1579,7 +1578,6 @@ void FixBondReact::find_landlocked_atoms(int myrxn) onemol_batom = onemol->bond_atom[onemol_atomj-1][m]; if (onemol_batom == equivalences[i][1][myrxn]) { if (twomol->bond_type[i][j] != onemol->bond_type[onemol_atomj-1][m]) { - printf("%d and %d for rxn %d\n",twomol_atomi,twomol_atomj,myrxn); error->one(FLERR,"Bond type affected by reaction too close to template edge"); } } -- GitLab From 2baa0b34521f43d401930cffbb1abda1042b51d1 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Wed, 22 Aug 2018 03:32:17 -0600 Subject: [PATCH 539/675] nasty little bug --- src/USER-MISC/fix_bond_react.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/USER-MISC/fix_bond_react.cpp b/src/USER-MISC/fix_bond_react.cpp index d71a31f566..5ce1f11475 100644 --- a/src/USER-MISC/fix_bond_react.cpp +++ b/src/USER-MISC/fix_bond_react.cpp @@ -2101,7 +2101,7 @@ void FixBondReact::update_everything() nspecial[atom->map(update_mega_glove[jj+1][i])][1]++; nspecial[atom->map(update_mega_glove[jj+1][i])][2]++; } - for (int n = nspecial[atom->map(update_mega_glove[jj+1][i])][2]; n > insert_num; n--) { + for (int n = nspecial[atom->map(update_mega_glove[jj+1][i])][2]-1; n > insert_num; n--) { special[atom->map(update_mega_glove[jj+1][i])][n] = special[atom->map(update_mega_glove[jj+1][i])][n-1]; } special[atom->map(update_mega_glove[jj+1][i])][insert_num] = update_mega_glove[equivalences[twomol->special[j][k]-1][1][rxnID]][i]; -- GitLab From 87afaa44fdef4992d900864ee7519935287ef812 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 09:41:12 -0400 Subject: [PATCH 540/675] add notes on compiling LAMMPS for windows --- doc/src/Build.txt | 4 +- doc/src/Build_windows.txt | 83 +++++++++++++++++++++++++++++++++++++++ doc/src/lammps.book | 1 + 3 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 doc/src/Build_windows.txt diff --git a/doc/src/Build.txt b/doc/src/Build.txt index 1046171de1..df30af36f5 100644 --- a/doc/src/Build.txt +++ b/doc/src/Build.txt @@ -28,6 +28,7 @@ as described on the "Install"_Install.html doc page. Build_settings Build_package Build_extras + Build_windows END_RST --> @@ -39,7 +40,8 @@ END_RST --> "Basic build options"_Build_basics.html "Optional build settings"_Build_settings.html "Include packages in build"_Build_package.html -"Packages with extra build options"_Build_extras.html :all(b) +"Packages with extra build options"_Build_extras.html +"Notes for building LAMMPS on Windows"_Build_windows.html :all(b) If you have problems building LAMMPS, it is often due to software issues on your local machine. If you can, find a local expert to diff --git a/doc/src/Build_windows.txt b/doc/src/Build_windows.txt new file mode 100644 index 0000000000..4d4efb398f --- /dev/null +++ b/doc/src/Build_windows.txt @@ -0,0 +1,83 @@ +"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Notes for building LAMMPS on Windows :h3 + +"General remarks"_#general +"Running Linux on Windows"_#linux +"Using GNU GCC ported to Windows"_#gnu +"Using a cross-compiler"_#cross + +:line + +General remarks :h4,link(general) + +LAMMPS is developed and tested primarily on Linux machines. The vast +majority of HPC clusters and supercomputers today runs on Linux as well. +Thus portability to other platforms is desired, but not always achieved. +The LAMMPS developers strongly rely on LAMMPS users giving feedback and +providing assistance in resolving portability issues. This particularly +true for compiling LAMMPS on Windows, since this platform has significant +differences with some low-level functionality. + + +Running Linux on Windows :h4,link(linux) + +So before trying to build LAMMPS on Windows, please consider if using +the pre-compiled Windows binary packages are sufficient for your needs +(as an aside, those packages themselves are build on a Linux machine +using cross-compilers). If it is necessary for your to compile LAMMPS +on a Windows machine (e.g. because it is your main desktop), please also +consider using a virtual machine software and run a Linux virtual machine, +or - if have a recently updated Windows 10 installation - consider using +the Windows subsystem for Linux, which allows to run a bash shell from +Ubuntu and from there on, you can pretty much use that shell like you +are running on an Ubuntu Linux machine (e.g. installing software via +apt-get). For more details on that, please see "this tutorial"_Howto_bash.html + + +Using GNU GCC ported to Windows :h4,link(gnu) + +One option for compiling LAMMPS on Windows natively, that has been known +to work in the past is to install a bash shell, unix shell utilities, +perl, GNU make, and a GNU compiler ported to Windows. The Cygwin package +provides a unix/linux interface to low-level Windows functions, so LAMMPS +can be compiled on Windows. The necessary (minor) modifications to LAMMPS +are included, but may not always up-to-date for recently added functionality +and the corresponding new code. A machine makefile for using cygwin for +the old build system is provided. The CMake build system is untested +for this; you will have to request that makefiles are generated and +manually set the compiler. In case of problems, you are recommended to +contact somebody with experience in using cygwin. If you come across +portability problems requiring changes to the LAMMPS source code, or +figure out corrections yourself, please report them on the lammps-users +mailing list, or file them as an issue or pull request on the LAMMPS +github project. + + +Using a cross-compiler :h4,link(cross) + +If you need to provide custom LAMMPS binaries for Windows, but do not +need to do the compilation on Windows, please consider using a Linux +to Windows cross-compiler. This is how currently the Windows binary +packages are created by the LAMMPS developers. Because of that, this is +probably the currently best tested and supported way to build LAMMPS +executables for Windows. Please keep in mind, though, that this only +applies to compiling. Whether the resulting binaries do work correctly +is no tested. The LAMMPS developers rely on the feedback of the users +of the precompiled LAMMPS packages for Windows to become aware of +issues and then try to apply corrections, if possible. + + +Native Visual C++ support :h4,link(native) + +Support for the Visual C++ compilers is currently not available. The +CMake build system is capable of creating suitable a Visual Studio +style build environment, but the LAMMPS code itself is not fully ported +to support Visual C++. Volunteers to take on this task are welcome. diff --git a/doc/src/lammps.book b/doc/src/lammps.book index f1ff39d80b..47d05570be 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -25,6 +25,7 @@ Build_basics.html Build_settings.html Build_package.html Build_extras.html +Build_windows.html Run_head.html Run_basics.html Run_options.html -- GitLab From c4bda59f9ac8ea225a86131cd1781bc41a10dbf6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 09:41:29 -0400 Subject: [PATCH 541/675] make the statement, that the group id is ignored more visible --- doc/src/compute_pair.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/src/compute_pair.txt b/doc/src/compute_pair.txt index a2c25fcc8d..b309019e30 100644 --- a/doc/src/compute_pair.txt +++ b/doc/src/compute_pair.txt @@ -27,7 +27,9 @@ compute 1 all pair reax :pre Define a computation that extracts additional values calculated by a pair style, and makes them accessible for output or further processing -by other commands. The group specified for this command is ignored. +by other commands. + +NOTE: The group specified for this command is [ignored]. The specified {pstyle} must be a pair style used in your simulation either by itself or as a sub-style in a "pair_style hybrid or -- GitLab From fc47b8c6ddd462794018230c31979c7be4d1f1d8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 09:51:29 -0400 Subject: [PATCH 542/675] some more tweaks and epxlanations for windows support --- doc/src/Build_windows.txt | 40 ++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/doc/src/Build_windows.txt b/doc/src/Build_windows.txt index 4d4efb398f..e847711705 100644 --- a/doc/src/Build_windows.txt +++ b/doc/src/Build_windows.txt @@ -9,14 +9,14 @@ Documentation"_ld - "LAMMPS Commands"_lc :c Notes for building LAMMPS on Windows :h3 -"General remarks"_#general +"General remarks"_#generic "Running Linux on Windows"_#linux "Using GNU GCC ported to Windows"_#gnu "Using a cross-compiler"_#cross :line -General remarks :h4,link(general) +General remarks :h4,link(generic) LAMMPS is developed and tested primarily on Linux machines. The vast majority of HPC clusters and supercomputers today runs on Linux as well. @@ -53,12 +53,20 @@ are included, but may not always up-to-date for recently added functionality and the corresponding new code. A machine makefile for using cygwin for the old build system is provided. The CMake build system is untested for this; you will have to request that makefiles are generated and -manually set the compiler. In case of problems, you are recommended to -contact somebody with experience in using cygwin. If you come across -portability problems requiring changes to the LAMMPS source code, or -figure out corrections yourself, please report them on the lammps-users -mailing list, or file them as an issue or pull request on the LAMMPS -github project. +manually set the compiler. + +When compiling for Windows [not] set the -DLAMMPS_MEMALIGN define +in the LMP_INC makefile variable and add -lwsock32 -lpsapi to the linker +flags in LIB makefile variable. Try adding -static-libgcc or -static or +both to the linker flags when your resulting LAMMPS Windows executable +complains about missing .dll files. The CMake configuration should set +this up automatically, but is untested. + +In case of problems, you are recommended to contact somebody with +experience in using cygwin. If you do come across portability problems +requiring changes to the LAMMPS source code, or figure out corrections +yourself, please report them on the lammps-users mailing list, or file +them as an issue or pull request on the LAMMPS github project. Using a cross-compiler :h4,link(cross) @@ -68,11 +76,17 @@ need to do the compilation on Windows, please consider using a Linux to Windows cross-compiler. This is how currently the Windows binary packages are created by the LAMMPS developers. Because of that, this is probably the currently best tested and supported way to build LAMMPS -executables for Windows. Please keep in mind, though, that this only -applies to compiling. Whether the resulting binaries do work correctly -is no tested. The LAMMPS developers rely on the feedback of the users -of the precompiled LAMMPS packages for Windows to become aware of -issues and then try to apply corrections, if possible. +executables for Windows. There are makefiles provided for the +traditional build system, but CMake has also been successfully tested +using the mingw32-cmake and mingw64-cmake wrappers that are bundled +with the cross-compiler environment on Fedora machines. + +Please keep in mind, though, that this only applies to compiling LAMMPS. +Whether the resulting binaries do work correctly is no tested by the +LAMMPS developers. We instead rely on the feedback of the users +of these precompiled LAMMPS packages for Windows. We will try to resolve +issues to the best of our abilities if we become aware of them. However +this is subject to time constraints and focus on HPC platforms. Native Visual C++ support :h4,link(native) -- GitLab From 9d4994b38328030935dcdb5a6e6e5585a2719e96 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 22 Aug 2018 10:08:56 -0400 Subject: [PATCH 543/675] Add missing bullet points --- doc/src/Build_windows.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Build_windows.txt b/doc/src/Build_windows.txt index e847711705..da257ccbc8 100644 --- a/doc/src/Build_windows.txt +++ b/doc/src/Build_windows.txt @@ -12,7 +12,7 @@ Notes for building LAMMPS on Windows :h3 "General remarks"_#generic "Running Linux on Windows"_#linux "Using GNU GCC ported to Windows"_#gnu -"Using a cross-compiler"_#cross +"Using a cross-compiler"_#cross :ul :line -- GitLab From b47e49223377d4ff6779e712bae54bbddc3596cf Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 22 Aug 2018 08:45:41 -0600 Subject: [PATCH 544/675] patch 22Aug18 --- doc/src/Manual.txt | 4 ++-- src/version.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index c5e5aff61b..ad3e66a4b2 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,7 +1,7 @@ LAMMPS Users Manual - + @@ -21,7 +21,7 @@ :line LAMMPS Documentation :c,h1 -16 Aug 2018 version :c,h2 +22 Aug 2018 version :c,h2 "What is a LAMMPS version?"_Manual_version.html diff --git a/src/version.h b/src/version.h index db73df1ad1..2192b25d91 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "16 Aug 2018" +#define LAMMPS_VERSION "22 Aug 2018" -- GitLab From f466c6407129641e9e9c29ab57f99f826a68cb53 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 22 Aug 2018 09:21:54 -0600 Subject: [PATCH 545/675] enable merge to current GH master --- doc/src/Packages_details.txt | 1552 +++++++--------------------------- 1 file changed, 303 insertions(+), 1249 deletions(-) diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 4bbb235245..892774be38 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -17,100 +17,97 @@ library it requires. It also gives links to documentation, example scripts, and pictures/movies (if available) that illustrate use of the package. +The majority of packages can be included in a LAMMPS build with a +single setting (-D PGK_NAME for CMake) or command ("make yes-name" for +make). See the "Build package"_Build_package.html doc page for more +info. A few packages may require additional steps; this is indicated +in the descriptions below. The "Build extras"_Build_extras.html doc +page gives those details. + NOTE: To see the complete list of commands a package adds to LAMMPS, you can examine the files in its src directory, e.g. "ls src/GRANULAR". Files with names that start with fix, compute, atom, pair, bond, angle, etc correspond to commands with the same style name as contained in the file name. -"ASPHERE"_#ASPHERE, -"BODY"_#BODY, -"CLASS2"_#CLASS2, -"COLLOID"_#COLLOID, -"COMPRESS"_#COMPRESS, -"CORESHELL"_#CORESHELL, -"DIPOLE"_#DIPOLE, -"GPU"_#GPU, -"GRANULAR"_#GRANULAR, -"KIM"_#KIM, -"KOKKOS"_#KOKKOS, -"KSPACE"_#KSPACE, -"LATTE"_#LATTE, -"MANYBODY"_#MANYBODY, -"MC"_#MC, -"MEAM"_#MEAM, -"MISC"_#MISC, -"MOLECULE"_#MOLECULE, -"MPIIO"_#MPIIO, -"MSCG"_#MSCG, -"OPT"_#OPT, -"PERI"_#PERI, -"POEMS"_#POEMS, -"PYTHON"_#PYTHON, -"QEQ"_#QEQ, -"REAX"_#REAX, -"REPLICA"_#REPLICA, -"RIGID"_#RIGID, -"SHOCK"_#SHOCK, -"SNAP"_#SNAP, -"SPIN"_#SPIN, -"SRD"_#SRD, -"VORONOI"_#VORONOI :tb(c=6,ea=c) - -"USER-ATC"_#USER-ATC, -"USER-AWPMD"_#USER-AWPMD, -"USER-BOCS"_#USER-BOCS, -"USER-CGDNA"_#USER-CGDNA, -"USER-CGSDK"_#USER-CGSDK, -"USER-COLVARS"_#USER-COLVARS, -"USER-DIFFRACTION"_#USER-DIFFRACTION, -"USER-DPD"_#USER-DPD, -"USER-DRUDE"_#USER-DRUDE, -"USER-EFF"_#USER-EFF, -"USER-FEP"_#USER-FEP, -"USER-H5MD"_#USER-H5MD, -"USER-INTEL"_#USER-INTEL, -"USER-LB"_#USER-LB, -"USER-MANIFOLD"_#USER-MANIFOLD, -"USER-MEAMC"_#USER-MEAMC, -"USER-MESO"_#USER-MESO, -"USER-MGPT"_#USER-MGPT, -"USER-MISC"_#USER-MISC, -"USER-MOFFF"_#USER-MOFFF, -"USER-MOLFILE"_#USER-MOLFILE, -"USER-NETCDF"_#USER-NETCDF, -"USER-OMP"_#USER-OMP, -"USER-PHONON"_#USER-PHONON, -"USER-QMMM"_#USER-QMMM, -"USER-QTB"_#USER-QTB, -"USER-QUIP"_#USER-QUIP, -"USER-REAXC"_#USER-REAXC, -"USER-SCAFACOS"_#USER-SCAFACOS, -"USER-SMD"_#USER-SMD, -"USER-SMTBQ"_#USER-SMTBQ, -"USER-SPH"_#USER-SPH, -"USER-TALLY"_#USER-TALLY, -"USER-UEF"_#USER-UEF, -"USER-VTK"_#USER-VTK :tb(c=6,ea=c) - -:line -:line - -ASPHERE package :link(ASPHERE),h4 +"ASPHERE"_#PKG-ASPHERE, +"BODY"_#PKG-BODY, +"CLASS2"_#PKG-CLASS2, +"COLLOID"_#PKG-COLLOID, +"COMPRESS"_#PKG-COMPRESS, +"CORESHELL"_#PKG-CORESHELL, +"DIPOLE"_#PKG-DIPOLE, +"GPU"_#PKG-GPU, +"GRANULAR"_#PKG-GRANULAR, +"KIM"_#PKG-KIM, +"KOKKOS"_#PKG-KOKKOS, +"KSPACE"_#PKG-KSPACE, +"LATTE"_#PKG-LATTE, +"MANYBODY"_#PKG-MANYBODY, +"MC"_#PKG-MC, +"MEAM"_#PKG-MEAM, +"MISC"_#PKG-MISC, +"MOLECULE"_#PKG-MOLECULE, +"MPIIO"_#PKG-MPIIO, +"MSCG"_#PKG-MSCG, +"OPT"_#PKG-OPT, +"PERI"_#PKG-PERI, +"POEMS"_#PKG-POEMS, +"PYTHON"_#PKG-PYTHON, +"QEQ"_#PKG-QEQ, +"REAX"_#PKG-REAX, +"REPLICA"_#PKG-REPLICA2, +"RIGID"_#PKG-RIGID, +"SHOCK"_#PKG-SHOCK, +"SNAP"_#PKG-SNAP, +"SPIN"_#PKG-SPIN, +"SRD"_#PKG-SRD, +"VORONOI"_#PKG-VORONOI :tb(c=6,ea=c) + +"USER-ATC"_#PKG-USER-ATC, +"USER-AWPMD"_#PKG-USER-AWPMD, +"USER-BOCS"_#PKG-USER-BOCS, +"USER-CGDNA"_#PKG-USER-CGDNA, +"USER-CGSDK"_#PKG-USER-CGSDK, +"USER-COLVARS"_#PKG-USER-COLVARS, +"USER-DIFFRACTION"_#PKG-USER-DIFFRACTION, +"USER-DPD"_#PKG-USER-DPD, +"USER-DRUDE"_#PKG-USER-DRUDE, +"USER-EFF"_#PKG-USER-EFF, +"USER-FEP"_#PKG-USER-FEP, +"USER-H5MD"_#PKG-USER-H5MD, +"USER-INTEL"_#PKG-USER-INTEL, +"USER-LB"_#PKG-USER-LB, +"USER-MANIFOLD"_#PKG-USER-MANIFOLD, +"USER-MEAMC"_#PKG-USER-MEAMC, +"USER-MESO"_#PKG-USER-MESO, +"USER-MGPT"_#PKG-USER-MGPT, +"USER-MISC"_#PKG-USER-MISC, +"USER-MOFFF"_#PKG-USER-MOFFF, +"USER-MOLFILE"_#PKG-USER-MOLFILE, +"USER-NETCDF"_#PKG-USER-NETCDF, +"USER-OMP"_#PKG-USER-OMP, +"USER-PHONON"_#PKG-USER-PHONON, +"USER-QMMM"_#PKG-USER-QMMM, +"USER-QTB"_#PKG-USER-QTB, +"USER-QUIP"_#PKG-USER-QUIP, +"USER-REAXC"_#PKG-USER-REAXC, +"USER-SMD"_#PKG-USER-SMD, +"USER-SMTBQ"_#PKG-USER-SMTBQ, +"USER-SPH"_#PKG-USER-SPH, +"USER-TALLY"_#PKG-USER-TALLY, +"USER-UEF"_#PKG-USER-UEF, +"USER-VTK"_#PKG-USER-VTK :tb(c=6,ea=c) + +:line + +ASPHERE package :link(PKG-ASPHERE),h4 [Contents:] Computes, time-integration fixes, and pair styles for aspherical particle models including ellipsoids, 2d lines, and 3d triangles. -[Install or un-install:] - -make yes-asphere -make machine :pre - -make no-asphere -make machine :pre - [Supporting info:] src/ASPHERE: filenames -> commands @@ -126,7 +123,7 @@ http://lammps.sandia.gov/movies.html#tri :ul :line -BODY package :link(BODY),h4 +BODY package :link(PKG-BODY),h4 [Contents:] @@ -135,14 +132,6 @@ time-integration fixes, pair styles, as well as the body styles themselves. See the "Howto body"_Howto_body.html doc page for an overview. -[Install or un-install:] - -make yes-body -make machine :pre - -make no-body -make machine :pre - [Supporting info:] src/BODY filenames -> commands @@ -154,21 +143,13 @@ examples/body :ul :line -CLASS2 package :link(CLASS2),h4 +CLASS2 package :link(PKG-CLASS2),h4 [Contents:] Bond, angle, dihedral, improper, and pair styles for the COMPASS CLASS2 molecular force field. -[Install or un-install:] - -make yes-class2 -make machine :pre - -make no-class2 -make machine :pre - [Supporting info:] src/CLASS2: filenames -> commands @@ -180,7 +161,7 @@ src/CLASS2: filenames -> commands :line -COLLOID package :link(COLLOID),h4 +COLLOID package :link(PKG-COLLOID),h4 [Contents:] @@ -193,14 +174,6 @@ simplified approximation to Stokesian dynamics. which were created by Amit Kumar and Michael Bybee from Jonathan Higdon's group at UIUC. -[Install or un-install:] - -make yes-colloid -make machine :pre - -make no-colloid -make machine :pre - [Supporting info:] src/COLLOID: filenames -> commands @@ -215,7 +188,7 @@ examples/srd :ul :line -COMPRESS package :link(COMPRESS),h4 +COMPRESS package :link(PKG-COMPRESS),h4 [Contents:] @@ -227,19 +200,11 @@ available on your system. [Author:] Axel Kohlmeyer (Temple U). -[Install or un-install:] - -Note that building with this package assumes you have the zlib -compression library available on your system. The LAMMPS build uses -the settings in the lib/compress/Makefile.lammps file in the -compile/link process. You should only need to edit this file if the -LAMMPS build fails on your system. +[Install:] -make yes-compress -make machine :pre - -make no-compress -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -253,7 +218,7 @@ lib/compress/README :line -CORESHELL package :link(CORESHELL),h4 +CORESHELL package :link(PKG-CORESHELL),h4 [Contents:] @@ -267,14 +232,6 @@ this package. [Author:] Hendrik Heenen (Technical U of Munich). -[Install or un-install:] - -make yes-coreshell -make machine :pre - -make no-coreshell -make machine :pre - [Supporting info:] src/CORESHELL: filenames -> commands @@ -288,21 +245,13 @@ examples/coreshell :ul :line -DIPOLE package :link(DIPOLE),h4 +DIPOLE package :link(PKG-DIPOLE),h4 [Contents:] An atom style and several pair styles for point dipole models with short-range or long-range interactions. -[Install or un-install:] - -make yes-dipole -make machine :pre - -make no-dipole -make machine :pre - [Supporting info:] src/DIPOLE: filenames -> commands @@ -314,7 +263,7 @@ examples/dipole :ul :line -GPU package :link(GPU),h4 +GPU package :link(PKG-GPU),h4 [Contents:] @@ -326,66 +275,17 @@ and only the CUDA versions are regularly tested. The "Speed gpu"_Speed_gpu.html doc page gives details of what hardware and GPU software is required on your system, and details on how to build and use this package. Its styles can be invoked at run time via the "-sf -gpu" or "-suffix gpu" "command-line -switches"_Section_start.html#start_6. See also the "KOKKOS"_#KOKKOS -package, which has GPU-enabled styles. +gpu" or "-suffix gpu" "command-line switches"_Run_options.html. See +also the "KOKKOS"_#PKG-KOKKOS package, which has GPU-enabled styles. [Authors:] Mike Brown (Intel) while at Sandia and ORNL and Trung Nguyen (Northwestern U) while at ORNL. -[Install or un-install:] - -Before building LAMMPS with this package, you must first build the GPU -library in lib/gpu from a set of provided C and CUDA files. You can -do this manually if you prefer; follow the instructions in -lib/gpu/README. Please note, that the GPU library uses MPI calls, so -you have to make certain to use the same MPI library (or the STUBS -library) settings as the main LAMMPS code. That same applies to the --DLAMMPS_BIGBIG, -DLAMMPS_SMALLBIG, or -DLAMMPS_SMALLSMALL define. - -You can also do it in one step from the lammps/src -dir, using a command like these, which simply invoke the -lib/gpu/Install.py script with the specified args: - -make lib-gpu # print help message -make lib-gpu args="-b" # build GPU library with default Makefile.linux -make lib-gpu args="-m xk7 -p single -o xk7.single" # create new Makefile.xk7.single, altered for single-precision -make lib-gpu args="-m mpi -p mixed -b" # build GPU library with mixed precision using settings in Makefile.mpi :pre - -Note that this procedure through the '-m machine' flag starts with one of -the existing Makefile.machine files in lib/gpu. For your convenience, -machine makefiles for "mpi" and "serial" are provided, which have the -same settings as the corresponding machine makefiles in the main LAMMPS -source folder. In addition you can alter 4 important settings in that -Makefile, via the -h, -a, -p, -e switches, and also save a copy of the -new Makefile, if desired: - -CUDA_HOME = where NVIDIA CUDA software is installed on your system -CUDA_ARCH = what GPU hardware you have (see help message for details) -CUDA_PRECISION = precision (double, mixed, single) -EXTRAMAKE = which Makefile.lammps.* file to copy to Makefile.lammps :ul - -If the library build is successful, at least 3 files should be created: -lib/gpu/libgpu.a, lib/gpu/nvc_get_devices, and lib/gpu/Makefile.lammps. -The latter has settings that enable LAMMPS to link with CUDA libraries. -If the settings in Makefile.lammps for your machine are not correct, -the LAMMPS build will fail, and lib/gpu/Makefile.lammps may need to -be edited. +[Install:] -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-gpu -make machine :pre - -make no-gpu -make machine :pre - -NOTE: If you re-build the GPU library in lib/gpu, you should always -un-install the GPU package, then re-install it and re-build LAMMPS. -This is because the compilation of files in the GPU package use the -library settings from the lib/gpu/Makefile.machine used to build the -GPU library. +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -393,16 +293,16 @@ src/GPU: filenames -> commands src/GPU/README lib/gpu/README "Speed packages"_Speed_packages.html -"Speed gpu"_Speed_gpu.html.html -"Section 2.6 -sf gpu"_Section_start.html#start_6 -"Section 2.6 -pk gpu"_Section_start.html#start_6 +"Speed gpu"_Speed_gpu.html +"Section 2.6 -sf gpu"_Run_options.html +"Section 2.6 -pk gpu"_Run_options.html "package gpu"_package.html "Commands all"_Commands_all.html pages (pair,kspace) for styles followed by (g) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line -GRANULAR package :link(GRANULAR),h4 +GRANULAR package :link(PKG-GRANULAR),h4 [Contents:] @@ -410,14 +310,6 @@ Pair styles and fixes for finite-size granular particles, which interact with each other and boundaries via frictional and dissipative potentials. -[Install or un-install:] - -make yes-granular -make machine :pre - -make no-granular -make machine :pre - [Supporting info:] src/GRANULAR: filenames -> commands @@ -437,7 +329,7 @@ http://lammps.sandia.gov/movies.html#granregion :ul :line -KIM package :link(KIM),h4 +KIM package :link(PKG-KIM),h4 [Contents:] @@ -457,48 +349,11 @@ API which the "pair_style kim"_pair_kim.html command uses. He developed the pair style in collaboration with Valeriu Smirichinski (U Minnesota). -[Install or un-install:] - -Before building LAMMPS with this package, you must first download and -build the KIM library and include the KIM models that you want to -use. You can do this manually if you prefer; follow the instructions -in lib/kim/README. You can also do it in one step from the lammps/src -dir, using a command like these, which simply invoke the -lib/kim/Install.py script with the specified args. - -make lib-kim # print help message -make lib-kim args="-b " # (re-)install KIM API lib with only example models -make lib-kim args="-b -a Glue_Ercolessi_Adams_Al__MO_324507536345_001" # ditto plus one model -make lib-kim args="-b -a everything" # install KIM API lib with all models -make lib-kim args="-n -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # add one model or model driver -make lib-kim args="-p /usr/local/kim-api" # use an existing KIM API installation at the provided location -make lib-kim args="-p /usr/local/kim-api -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver :pre +[Install:] -Note that in LAMMPS lingo, a KIM model driver is a pair style -(e.g. EAM or Tersoff). A KIM model is a pair style for a particular -element or alloy and set of parameters, e.g. EAM for Cu with a -specific EAM potential file. Also note that installing the KIM API -library with all its models, may take around 30 min to build. Of -course you only need to do that once. - -See the list of KIM model drivers here: -https://openkim.org/kim-items/model-drivers/alphabetical - -See the list of all KIM models here: -https://openkim.org/kim-items/models/by-model-drivers - -See the list of example KIM models included by default here: -https://openkim.org/kim-api on the "What is in the KIM API source -package?" page. - -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-kim -make machine :pre - -make no-kim -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -510,7 +365,7 @@ examples/kim :ul :line -KOKKOS package :link(KOKKOS),h4 +KOKKOS package :link(PKG-KOKKOS),h4 [Contents:] @@ -522,11 +377,16 @@ style name. The "Speed kokkos"_Speed_kokkos.html doc page gives details of what hardware and software is required on your system, and how to build and use this package. Its styles can be invoked at run time via the "-sf kk" or "-suffix kk" "command-line -switches"_Section_start.html#start_6. Also see the "GPU"_#GPU, -"OPT"_#OPT, "USER-INTEL"_#USER-INTEL, and "USER-OMP"_#USER-OMP -packages, which have styles optimized for CPUs, KNLs, and GPUs. +switches"_Run_options.html. Also see the "GPU"_#PKG-GPU, "OPT"_#PKG-OPT, +"USER-INTEL"_#PKG-USER-INTEL, and "USER-OMP"_#PKG-USER-OMP packages, which +have styles optimized for CPUs, KNLs, and GPUs. You must have a C++11 compatible compiler to use this package. +KOKKOS makes extensive use of advanced C++ features, which can +expose compiler bugs, especially when compiling for maximum +performance at high optimization levels. Please see the file +lib/kokkos/README for a list of compilers and their respective +platforms, that are known to work. [Authors:] The KOKKOS package was created primarily by Christian Trott and Stan Moore (Sandia), with contributions from other folks as well. @@ -535,53 +395,11 @@ which was developed by Carter Edwards, Christian Trott, and others at Sandia, and which is included in the LAMMPS distribution in lib/kokkos. -[Install or un-install:] - -For the KOKKOS package, you have 3 choices when building. You can -build with either CPU or KNL or GPU support. Each choice requires -additional settings in your Makefile.machine for the KOKKOS_DEVICES -and KOKKOS_ARCH settings. See the src/MAKE/OPTIONS/Makefile.kokkos* -files for examples. - -For multicore CPUs using OpenMP: - -KOKKOS_DEVICES = OpenMP -KOKKOS_ARCH = HSW # HSW = Haswell, SNB = SandyBridge, BDW = Broadwell, etc :pre - -For Intel KNLs using OpenMP: - -KOKKOS_DEVICES = OpenMP -KOKKOS_ARCH = KNL :pre - -For NVIDIA GPUs using CUDA: - -KOKKOS_DEVICES = Cuda -KOKKOS_ARCH = Pascal60,Power8 # P100 hosted by an IBM Power8, etc -KOKKOS_ARCH = Kepler37,Power8 # K80 hosted by an IBM Power8, etc :pre - -For GPUs, you also need these 2 lines in your Makefile.machine before -the CC line is defined, in this case for use with OpenMPI mpicxx. The -2 lines define a nvcc wrapper compiler, which will use nvcc for -compiling CUDA files or use a C++ compiler for non-Kokkos, non-CUDA -files. - -KOKKOS_ABSOLUTE_PATH = $(shell cd $(KOKKOS_PATH); pwd) -export OMPI_CXX = $(KOKKOS_ABSOLUTE_PATH)/config/nvcc_wrapper -CC = mpicxx :pre - -Once you have an appropriate Makefile.machine, you can -install/un-install the package and build LAMMPS in the usual manner. -Note that you cannot build one executable to run on multiple hardware -targets (CPU or KNL or GPU). You need to build LAMMPS once for each -hardware target, to produce a separate executable. Also note that we -do not recommend building with other acceleration packages installed -(GPU, OPT, USER-INTEL, USER-OMP) when also building with KOKKOS. - -make yes-kokkos -make machine :pre +[Install:] -make no-kokkos -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -590,16 +408,16 @@ src/KOKKOS/README lib/kokkos/README "Speed packages"_Speed_packages.html "Speed kokkos"_Speed_kokkos.html -"Section 2.6 -k on ..."_Section_start.html#start_6 -"Section 2.6 -sf kk"_Section_start.html#start_6 -"Section 2.6 -pk kokkos"_Section_start.html#start_6 +"Section 2.6 -k on ..."_Run_options.html +"Section 2.6 -sf kk"_Run_options.html +"Section 2.6 -pk kokkos"_Run_options.html "package kokkos"_package.html "Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (k) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line -KSPACE package :link(KSPACE),h4 +KSPACE package :link(PKG-KSPACE),h4 [Contents:] @@ -608,20 +426,14 @@ which compute the corresponding short-range pairwise Coulombic interactions. These include Ewald, particle-particle particle-mesh (PPPM), and multilevel summation method (MSM) solvers. -[Install or un-install:] +[Install:] Building with this package requires a 1d FFT library be present on your system for use by the PPPM solvers. This can be the KISS FFT library provided with LAMMPS, 3rd party libraries like FFTW, or a -vendor-supplied FFT library. See step 6 of "Section -2.2.2"_Section_start.html#start_2_2 of the manual for details on how -to select different FFT options in your machine Makefile. - -make yes-kspace -make machine :pre - -make no-kspace -make machine :pre +vendor-supplied FFT library. See the "Build +settings"_Build_settings.html doc page for details on how to select +different FFT options for your LAMPMS build. [Supporting info:] @@ -638,7 +450,7 @@ bench/in.rhodo :ul :line -LATTE package :link(LATTE),h4 +LATTE package :link(PKG-LATTE),h4 [Contents:] @@ -656,36 +468,11 @@ description is given with the "fix latte"_fix_latte.html command. itself is developed at Los Alamos National Laboratory by Marc Cawkwell, Anders Niklasson, and Christian Negre. -[Install or un-install:] - -Before building LAMMPS with this package, you must first download and -build the LATTE library. You can do this manually if you prefer; -follow the instructions in lib/latte/README. You can also do it in -one step from the lammps/src dir, using a command like these, which -simply invokes the lib/latte/Install.py script with the specified -args: - -make lib-latte # print help message -make lib-latte args="-b" # download and build in lib/latte/LATTE-master -make lib-latte args="-p $HOME/latte" # use existing LATTE installation in $HOME/latte -make lib-latte args="-b -m gfortran" # download and build in lib/latte and - # copy Makefile.lammps.gfortran to Makefile.lammps -:pre +[Install:] -Note that 3 symbolic (soft) links, "includelink" and "liblink" and -"filelink.o", are created in lib/latte to point into the LATTE home dir. -When LAMMPS builds in src it will use these links. You should -also check that the Makefile.lammps file you create is appropriate -for the compiler you use on your system to build LATTE. - -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-latte -make machine :pre - -make no-latte -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -698,21 +485,13 @@ examples/latte :line -MANYBODY package :link(MANYBODY),h4 +MANYBODY package :link(PKG-MANYBODY),h4 [Contents:] A variety of manybody and bond-order potentials. These include (AI)REBO, BOP, EAM, EIM, Stillinger-Weber, and Tersoff potentials. -[Install or un-install:] - -make yes-manybody -make machine :pre - -make no-manybody -make machine :pre - [Supporting info:] src/MANYBODY: filenames -> commands @@ -727,7 +506,7 @@ bench/in.eam :ul :line -MC package :link(MC),h4 +MC package :link(PKG-MC),h4 [Contents:] @@ -736,14 +515,6 @@ attributes. These include fixes for creating, breaking, and swapping bonds, for performing atomic swaps, and performing grand-canonical MC (GCMC) in conjuction with dynamics. -[Install or un-install:] - -make yes-mc -make machine :pre - -make no-mc -make machine :pre - [Supporting info:] src/MC: filenames -> commands @@ -757,51 +528,26 @@ http://lammps.sandia.gov/movies.html#gcmc :ul :line -MEAM package :link(MEAM),h4 +MEAM package :link(PKG-MEAM),h4 [Contents:] A pair style for the modified embedded atom (MEAM) potential. -Please note that the MEAM package has been superseded by the -"USER-MEAMC"_#USER-MEAMC package, which is a direct translation -of the MEAM package to C++. USER-MEAMC contains additional -optimizations making it run faster than MEAM on most machines, -while providing the identical features and USER interface. +Please note that the use of the MEAM package is discouraged as +it has been superseded by the "USER-MEAMC"_#PKG-USER-MEAMC package, +which is a direct translation of the MEAM package to C++. +USER-MEAMC contains additional optimizations making it run faster +than MEAM on most machines, while providing the identical features +and user interface. [Author:] Greg Wagner (Northwestern U) while at Sandia. -[Install or un-install:] - -Before building LAMMPS with this package, you must first build the -MEAM library in lib/meam. You can do this manually if you prefer; -follow the instructions in lib/meam/README. You can also do it in one -step from the lammps/src dir, using a command like these, which simply -invoke the lib/meam/Install.py script with the specified args: - -make lib-meam # print help message -make lib-meam args="-m mpi" # build with default Fortran compiler compatible with your MPI library -make lib-meam args="-m serial" # build with compiler compatible with "make serial" (GNU Fortran) -make lib-meam args="-m ifort" # build with Intel Fortran compiler using Makefile.ifort :pre - -The build should produce two files: lib/meam/libmeam.a and -lib/meam/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with -Fortran (MEAM library). Typically the two compilers used for LAMMPS -and the MEAM library need to be consistent (e.g. both Intel or both -GNU compilers). If necessary, you can edit/create a new -lib/meam/Makefile.machine file for your system, which should define an -EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine -file. +[Install:] -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-meam -make machine :pre - -make no-meam -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. NOTE: You should test building the MEAM library with both the Intel and GNU compilers to see if a simulation runs faster with one versus @@ -817,7 +563,7 @@ examples/meam :ul :line -MISC package :link(MISC),h4 +MISC package :link(PKG-MISC),h4 [Contents:] @@ -828,14 +574,6 @@ listing, "ls src/MISC", to see the list of commands. NOTE: the MISC package contains styles that require using the -restrict flag, when compiling with Intel compilers. -[Install or un-install:] - -make yes-misc -make machine :pre - -make no-misc -make machine :pre - [Supporting info:] src/MISC: filenames -> commands @@ -852,7 +590,7 @@ http://lammps.sandia.gov/movies.html#evaporation :ul :line -MOLECULE package :link(MOLECULE),h4 +MOLECULE package :link(PKG-MOLECULE),h4 [Contents:] @@ -861,14 +599,6 @@ that are used to model molecular systems with fixed covalent bonds. The pair styles include the Dreiding (hydrogen-bonding) and CHARMM force fields, and a TIP4P water model. -[Install or un-install:] - -make yes-molecule -make machine :pre - -make no-molecule -make machine :pre - [Supporting info:] src/MOLECULE: filenames -> commands @@ -889,7 +619,7 @@ bench/in.rhodo :ul :line -MPIIO package :link(MPIIO),h4 +MPIIO package :link(PKG-MPIIO),h4 [Contents:] @@ -898,18 +628,6 @@ MPIIO library. It adds "dump styles"_dump.html with a "mpiio" in their style name. Restart files with an ".mpiio" suffix are also written and read in parallel. -[Install or un-install:] - -Note that MPIIO is part of the standard message-passing interface -(MPI) library, so you should not need any additional compiler or link -settings, beyond what LAMMPS normally uses for MPI on your system. - -make yes-mpiio -make machine :pre - -make no-mpiio -make machine :pre - [Supporting info:] src/MPIIO: filenames -> commands @@ -920,7 +638,7 @@ src/MPIIO: filenames -> commands :line -MSCG package :link(mscg),h4 +MSCG package :link(PKG-mscg),h4 [Contents:] @@ -937,39 +655,11 @@ system. library was developed by Jacob Wagner in Greg Voth's group at the University of Chicago. -[Install or un-install:] - -Before building LAMMPS with this package, you must first download and -build the MS-CG library. Building the MS-CG library and using it from -LAMMPS requires a C++11 compatible compiler and that the GSL -(GNU Scientific Library) headers and libraries are installed on your -machine. See the lib/mscg/README and MSCG/Install files for more details. - -Assuming these libraries are in place, you can do the download and -build of MS-CG manually if you prefer; follow the instructions in -lib/mscg/README. You can also do it in one step from the lammps/src -dir, using a command like these, which simply invoke the -lib/mscg/Install.py script with the specified args: - -make lib-mscg # print help message -make lib-mscg args="-b -m serial" # download and build in lib/mscg/MSCG-release-master - # with the settings compatible with "make serial" -make lib-mscg args="-b -m mpi" # download and build in lib/mscg/MSCG-release-master - # with the settings compatible with "make mpi" -make lib-mscg args="-p /usr/local/mscg-release" # use the existing MS-CG installation in /usr/local/mscg-release :pre - -Note that 2 symbolic (soft) links, "includelink" and "liblink", will be created in lib/mscg -to point to the MS-CG src/installation dir. When LAMMPS is built in src it will use these links. -You should not need to edit the lib/mscg/Makefile.lammps file. - -You can then install/un-install the package and build LAMMPS in the -usual manner: +[Install:] -make yes-mscg -make machine :pre - -make no-mscg -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -980,7 +670,7 @@ examples/mscg :ul :line -OPT package :link(OPT),h4 +OPT package :link(PKG-OPT),h4 [Contents:] @@ -990,40 +680,31 @@ CHARMM, and Morse potentials. The styles have an "opt" suffix in their style name. The "Speed opt"_Speed_opt.html doc page gives details of how to build and use this package. Its styles can be invoked at run time via the "-sf opt" or "-suffix opt" "command-line -switches"_Section_start.html#start_6. See also the "KOKKOS"_#KOKKOS, -"USER-INTEL"_#USER-INTEL, and "USER-OMP"_#USER-OMP packages, which +switches"_Run_options.html. See also the "KOKKOS"_#PKG-KOKKOS, +"USER-INTEL"_#PKG-USER-INTEL, and "USER-OMP"_#PKG-USER-OMP packages, which have styles optimized for CPU performance. [Authors:] James Fischer (High Performance Technologies), David Richie, and Vincent Natoli (Stone Ridge Technolgy). -[Install or un-install:] - -make yes-opt -make machine :pre - -make no-opt -make machine :pre +[Install:] -NOTE: The compile flag "-restrict" must be used to build LAMMPS with -the OPT package when using Intel compilers. It should be added to -the CCFLAGS line of your Makefile.machine. See Makefile.opt in -src/MAKE/OPTIONS for an example. - -CCFLAGS: add -restrict for Intel compilers :ul +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] src/OPT: filenames -> commands "Speed packages"_Speed_packages.html "Speed opt"_Speed_opt.html -"Section 2.6 -sf opt"_Section_start.html#start_6 +"Section 2.6 -sf opt"_Run_options.html "Commands pair"_Commands_pair.html for styles followed by (t) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line -PERI package :link(PERI),h4 +PERI package :link(PKG-PERI),h4 [Contents:] @@ -1036,14 +717,6 @@ model. Additional Peridynamics models were added by Rezwanur Rahman and John Foster (UTSA). -[Install or un-install:] - -make yes-peri -make machine :pre - -make no-peri -make machine :pre - [Supporting info:] src/PERI: filenames -> commands @@ -1059,7 +732,7 @@ http://lammps.sandia.gov/movies.html#peri :ul :line -POEMS package :link(POEMS),h4 +POEMS package :link(PKG-POEMS),h4 [Contents:] @@ -1071,35 +744,11 @@ connections at hinge points. [Author:] Rudra Mukherjee (JPL) while at RPI. -[Install or un-install:] - -Before building LAMMPS with this package, you must first build the -POEMS library in lib/poems. You can do this manually if you prefer; -follow the instructions in lib/poems/README. You can also do it in -one step from the lammps/src dir, using a command like these, which -simply invoke the lib/poems/Install.py script with the specified args: - -make lib-poems # print help message -make lib-poems args="-m serial" # build with GNU g++ compiler (settings as with "make serial") -make lib-poems args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi") -make lib-poems args="-m icc" # build with Intel icc compiler :pre +[Install:] -The build should produce two files: lib/poems/libpoems.a and -lib/poems/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.* and has settings needed to build LAMMPS with the -POEMS library (though typically the settings are just blank). If -necessary, you can edit/create a new lib/poems/Makefile.machine file -for your system, which should define an EXTRAMAKE variable to specify -a corresponding Makefile.lammps.machine file. - -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-poems -make machine :pre - -make no-meam -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -1111,7 +760,7 @@ examples/rigid :ul :line -PYTHON package :link(PYTHON),h4 +PYTHON package :link(PKG-PYTHON),h4 [Contents:] @@ -1119,35 +768,30 @@ A "python"_python.html command which allow you to execute Python code from a LAMMPS input script. The code can be in a separate file or embedded in the input script itself. See the "Python call"_Python_call.html doc page for an overview of using Python from -LAMMPS in this manner and all the "Python"_Python.html doc pages for -other ways to use LAMMPS and Python together. - -[Install or un-install:] - -make yes-python -make machine :pre - -make no-python -make machine :pre +LAMMPS in this manner and all the "Python"_Python_head.html doc pages +for other ways to use LAMMPS and Python together. NOTE: Building with the PYTHON package assumes you have a Python shared library available on your system, which needs to be a Python 2 version, 2.6 or later. Python 3 is not yet supported. See the -lib/python/README for more details. Note that the build uses the -lib/python/Makefile.lammps file in the compile/link process. You -should only need to create a new Makefile.lammps.* file (and copy it -to Makefile.lammps) if the LAMMPS build fails. +lib/python/README for more details. + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] src/PYTHON: filenames -> commands -"Python call"_Python.html +"Python call"_Python_head.html lib/python/README examples/python :ul :line -QEQ package :link(QEQ),h4 +QEQ package :link(PKG-QEQ),h4 [Contents:] @@ -1155,14 +799,6 @@ Several fixes for performing charge equilibration (QEq) via different algorithms. These can be used with pair styles that perform QEq as part of their formulation. -[Install or un-install:] - -make yes-qeq -make machine :pre - -make no-qeq -make machine :pre - [Supporting info:] src/QEQ: filenames -> commands @@ -1172,49 +808,27 @@ examples/streitz :ul :line -REAX package :link(REAX),h4 +REAX package :link(PKG-REAX),h4 [Contents:] +NOTE: the use of the REAX package is discouraged, as it is no longer +maintained. Please use the "USER-REAXC"_#PKG-USER-REAXC package instead, +and possibly the KOKKOS enabled variant of that, which has a more robust +memory management. + A pair style which wraps a Fortran library which implements the ReaxFF -potential, which is a universal reactive force field. See the -"USER-REAXC package"_#USER-REAXC for an alternate implementation in -C/C++. Also a "fix reax/bonds"_fix_reax_bonds.html command for -monitoring molecules as bonds are created and destroyed. +potential, which is a universal reactive force field. Also included is +a "fix reax/bonds"_fix_reax_bonds.html command for monitoring molecules +as bonds are created and destroyed. [Author:] Aidan Thompson (Sandia). -[Install or un-install:] - -Before building LAMMPS with this package, you must first build the -REAX library in lib/reax. You can do this manually if you prefer; -follow the instructions in lib/reax/README. You can also do it in one -step from the lammps/src dir, using a command like these, which simply -invoke the lib/reax/Install.py script with the specified args: - -make lib-reax # print help message -make lib-reax args="-m serial" # build with GNU Fortran compiler (settings as with "make serial") -make lib-reax args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi") -make lib-reax args="-m ifort" # build with Intel ifort compiler :pre - -The build should produce two files: lib/reax/libreax.a and -lib/reax/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with -Fortran (REAX library). Typically the two compilers used for LAMMPS -and the REAX library need to be consistent (e.g. both Intel or both -GNU compilers). If necessary, you can edit/create a new -lib/reax/Makefile.machine file for your system, which should define an -EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine -file. - -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-reax -make machine :pre +[Install:] -make no-reax -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -1226,7 +840,7 @@ examples/reax :ul :line -REPLICA package :link(REPLICA),h4 +REPLICA package :link(PKG-REPLICA2),h4 [Contents:] @@ -1240,14 +854,6 @@ verlet/split algorithm for performing long-range Coulombics on one set of processors, and the remainder of the force field calcalation on another set. -[Install or un-install:] - -make yes-replica -make machine :pre - -make no-replica -make machine :pre - [Supporting info:] src/REPLICA: filenames -> commands @@ -1263,7 +869,7 @@ examples/tad :ul :line -RIGID package :link(RIGID),h4 +RIGID package :link(PKG-RIGID),h4 [Contents:] @@ -1272,16 +878,6 @@ particles. This includes SHAKE and RATTLE, as well as varous rigid-body integrators for a few large bodies or many small bodies. Also several computes which calculate properties of rigid bodies. -To install/build: - -make yes-rigid -make machine :pre - -To un-install/re-build: - -make no-rigid -make machine :pre - [Supporting info:] src/RIGID: filenames -> commands @@ -1297,21 +893,13 @@ http://lammps.sandia.gov/movies.html#star :ul :line -SHOCK package :link(SHOCK),h4 +SHOCK package :link(PKG-SHOCK),h4 [Contents:] Fixes for running impact simulations where a shock-wave passes through a material. -[Install or un-install:] - -make yes-shock -make machine :pre - -make no-shock -make machine :pre - [Supporting info:] src/SHOCK: filenames -> commands @@ -1324,7 +912,7 @@ examples/msst :ul :line -SNAP package :link(SNAP),h4 +SNAP package :link(PKG-SNAP),h4 [Contents:] @@ -1335,14 +923,6 @@ computes which analyze attributes of the potential. [Author:] Aidan Thompson (Sandia). -[Install or un-install:] - -make yes-snap -make machine :pre - -make no-snap -make machine :pre - [Supporting info:] src/SNAP: filenames -> commands @@ -1354,7 +934,7 @@ examples/snap :ul :line -SPIN package :link(SPIN),h4 +SPIN package :link(PKG-SPIN),h4 [Contents:] @@ -1363,18 +943,10 @@ the usual manner via MD. Various pair, fix, and compute styles. [Author:] Julian Tranchida (Sandia). -[Install or un-install:] - -make yes-spin -make machine :pre - -make no-spin -make machine :pre - [Supporting info:] src/SPIN: filenames -> commands -"Howto spin"_Howto_spin.html +"Howto spins"_Howto_spins.html "pair_style spin/dmi"_pair_spin_dmi.html "pair_style spin/exchange"_pair_spin_exchange.html "pair_style spin/magelec"_pair_spin_magelec.html @@ -1386,7 +958,7 @@ examples/SPIN :ul :line -SRD package :link(SRD),h4 +SRD package :link(PKG-SRD),h4 [Contents:] @@ -1394,16 +966,6 @@ A pair of fixes which implement the Stochastic Rotation Dynamics (SRD) method for coarse-graining of a solvent, typically around large colloidal particles. -To install/build: - -make yes-srd -make machine :pre - -To un-install/re-build: - -make no-srd -make machine :pre - [Supporting info:] src/SRD: filenames -> commands @@ -1417,7 +979,7 @@ http://lammps.sandia.gov/movies.html#poly :ul :line -VORONOI package :link(VORONOI),h4 +VORONOI package :link(PKG-VORONOI),h4 [Contents:] @@ -1435,33 +997,11 @@ system. library was written by Chris Rycroft (Harvard U) while at UC Berkeley and LBNL. -[Install or un-install:] - -Before building LAMMPS with this package, you must first download and -build the Voro++ library. You can do this manually if you prefer; -follow the instructions in lib/voronoi/README. You can also do it in -one step from the lammps/src dir, using a command like these, which -simply invoke the lib/voronoi/Install.py script with the specified -args: - -make lib-voronoi # print help message -make lib-voronoi args="-b" # download and build the default version in lib/voronoi/voro++- -make lib-voronoi args="-p $HOME/voro++" # use existing Voro++ installation in $HOME/voro++ -make lib-voronoi args="-b -v voro++0.4.6" # download and build the 0.4.6 version in lib/voronoi/voro++-0.4.6 :pre - -Note that 2 symbolic (soft) links, "includelink" and "liblink", are -created in lib/voronoi to point to the Voro++ src dir. When LAMMPS -builds in src it will use these links. You should not need to edit -the lib/voronoi/Makefile.lammps file. - -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-voronoi -make machine :pre +[Install:] -make no-voronoi -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -1471,10 +1011,9 @@ lib/voronoi/README "compute voronoi/atom"_compute_voronoi_atom.html examples/voronoi :ul -:line :line -USER-ATC package :link(USER-ATC),h4 +USER-ATC package :link(PKG-USER-ATC),h4 [Contents:] @@ -1485,46 +1024,11 @@ atomic information to continuum fields. [Authors:] Reese Jones, Jeremy Templeton, Jon Zimmerman (Sandia). -[Install or un-install:] - -Before building LAMMPS with this package, you must first build the ATC -library in lib/atc. You can do this manually if you prefer; follow -the instructions in lib/atc/README. You can also do it in one step -from the lammps/src dir, using a command like these, which simply -invoke the lib/atc/Install.py script with the specified args: - -make lib-atc # print help message -make lib-atc args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial") -make lib-atc args="-m mpi" # build with default MPI compiler (settings as with "make mpi") -make lib-atc args="-m icc" # build with Intel icc compiler :pre - -The build should produce two files: lib/atc/libatc.a and -lib/atc/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.* and has settings needed to build LAMMPS with the ATC -library. If necessary, you can edit/create a new -lib/atc/Makefile.machine file for your system, which should define an -EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine -file. - -Note that the Makefile.lammps file has settings for the BLAS and -LAPACK linear algebra libraries. As explained in lib/atc/README these -can either exist on your system, or you can use the files provided in -lib/linalg. In the latter case you also need to build the library -in lib/linalg with a command like these: +[Install:] -make lib-linalg # print help message -make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial") -make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi") -make lib-linalg args="-m gfortran" # build with GNU Fortran compiler :pre - -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-user-atc -make machine :pre - -make no-user-atc -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -1536,7 +1040,7 @@ http://lammps.sandia.gov/pictures.html#atc :ul :line -USER-AWPMD package :link(USER-AWPMD),h4 +USER-AWPMD package :link(PKG-USER-AWPMD),h4 [Contents:] @@ -1547,46 +1051,11 @@ model. [Author:] Ilya Valuev (JIHT, Russia). -[Install or un-install:] - -Before building LAMMPS with this package, you must first build the -AWPMD library in lib/awpmd. You can do this manually if you prefer; -follow the instructions in lib/awpmd/README. You can also do it in -one step from the lammps/src dir, using a command like these, which -simply invoke the lib/awpmd/Install.py script with the specified args: +[Install:] -make lib-awpmd # print help message -make lib-awpmd args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial") -make lib-awpmd args="-m mpi" # build with default MPI compiler (settings as with "make mpi") -make lib-awpmd args="-m icc" # build with Intel icc compiler :pre - -The build should produce two files: lib/awpmd/libawpmd.a and -lib/awpmd/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.* and has settings needed to build LAMMPS with the -AWPMD library. If necessary, you can edit/create a new -lib/awpmd/Makefile.machine file for your system, which should define -an EXTRAMAKE variable to specify a corresponding -Makefile.lammps.machine file. - -Note that the Makefile.lammps file has settings for the BLAS and -LAPACK linear algebra libraries. As explained in lib/awpmd/README -these can either exist on your system, or you can use the files -provided in lib/linalg. In the latter case you also need to build the -library in lib/linalg with a command like these: - -make lib-linalg # print help message -make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial") -make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi") -make lib-linalg args="-m gfortran" # build with GNU Fortran compiler :pre - -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-user-awpmd -make machine :pre - -make no-user-awpmd -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -1597,7 +1066,7 @@ examples/USER/awpmd :ul :line -USER-BOCS package :link(USER-BOCS),h4 +USER-BOCS package :link(PKG-USER-BOCS),h4 [Contents:] @@ -1609,15 +1078,8 @@ N. J. H. Dunn and W. G. Noid, "Bottom-up coarse-grained models that accurately describe the structure, pressure, and compressibility of molecular liquids," J. Chem. Phys. 143, 243148 (2015). -[Authors:] Nicholas J. H. Dunn and Michael R. DeLyser (The Pennsylvania State University) - -[Install or un-install:] - -make yes-user-bocs -make machine :pre - -make no-user-bocs -make machine :pre +[Authors:] Nicholas J. H. Dunn and Michael R. DeLyser (The +Pennsylvania State University) [Supporting info:] @@ -1634,7 +1096,7 @@ Example inputs are in the examples/USER/bocs folder. :line -USER-CGDNA package :link(USER-CGDNA),h4 +USER-CGDNA package :link(PKG-USER-CGDNA),h4 [Contents:] @@ -1646,14 +1108,6 @@ stability. [Author:] Oliver Henrich (University of Strathclyde, Glasgow). -[Install or un-install:] - -make yes-user-cgdna -make machine :pre - -make no-user-cgdna -make machine :pre - [Supporting info:] src/USER-CGDNA: filenames -> commands @@ -1666,7 +1120,7 @@ src/USER-CGDNA: filenames -> commands :line -USER-CGSDK package :link(USER-CGSDK),h4 +USER-CGSDK package :link(PKG-USER-CGSDK),h4 [Contents:] @@ -1677,14 +1131,6 @@ acids. [Author:] Axel Kohlmeyer (Temple U). -[Install or un-install:] - -make yes-user-cgsdk -make machine :pre - -make no-user-cgsdk -make machine :pre - [Supporting info:] src/USER-CGSDK: filenames -> commands @@ -1696,7 +1142,7 @@ http://lammps.sandia.gov/pictures.html#cg :ul :line -USER-COLVARS package :link(USER-COLVARS),h4 +USER-COLVARS package :link(PKG-USER-COLVARS),h4 [Contents:] @@ -1713,36 +1159,11 @@ and Jerome Henin (LISM, CNRS, Marseille, France), originally for the NAMD MD code, but with portability in mind. Axel Kohlmeyer (Temple U) provided the interface to LAMMPS. -[Install or un-install:] - -Before building LAMMPS with this package, you must first build the -COLVARS library in lib/colvars. You can do this manually if you -prefer; follow the instructions in lib/colvars/README. You can also -do it in one step from the lammps/src dir, using a command like these, -which simply invoke the lib/colvars/Install.py script with the -specified args: - -make lib-colvars # print help message -make lib-colvars args="-m serial" # build with GNU g++ compiler (settings as with "make serial") -make lib-colvars args="-m mpi" # build with default MPI compiler (settings as with "make mpi") -make lib-colvars args="-m g++-debug" # build with GNU g++ compiler and colvars debugging enabled :pre - -The build should produce two files: lib/colvars/libcolvars.a and -lib/colvars/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.* and has settings needed to build LAMMPS with the -COLVARS library (though typically the settings are just blank). If -necessary, you can edit/create a new lib/colvars/Makefile.machine file -for your system, which should define an EXTRAMAKE variable to specify -a corresponding Makefile.lammps.machine file. +[Install:] -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-user-colvars -make machine :pre - -make no-user-colvars -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -1755,7 +1176,7 @@ examples/USER/colvars :ul :line -USER-DIFFRACTION package :link(USER-DIFFRACTION),h4 +USER-DIFFRACTION package :link(PKG-USER-DIFFRACTION),h4 [Contents:] @@ -1764,14 +1185,6 @@ intensities based on kinematic diffraction theory. [Author:] Shawn Coleman while at the U Arkansas. -[Install or un-install:] - -make yes-user-diffraction -make machine :pre - -make no-user-diffraction -make machine :pre - [Supporting info:] src/USER-DIFFRACTION: filenames -> commands @@ -1782,7 +1195,7 @@ examples/USER/diffraction :ul :line -USER-DPD package :link(USER-DPD),h4 +USER-DPD package :link(PKG-USER-DPD),h4 [Contents:] @@ -1799,14 +1212,6 @@ algorithm. [Authors:] Jim Larentzos (ARL), Tim Mattox (Engility Corp), and and John Brennan (ARL). -[Install or un-install:] - -make yes-user-dpd -make machine :pre - -make no-user-dpd -make machine :pre - [Supporting info:] src/USER-DPD: filenames -> commands @@ -1828,7 +1233,7 @@ examples/USER/dpd :ul :line -USER-DRUDE package :link(USER-DRUDE),h4 +USER-DRUDE package :link(PKG-USER-DRUDE),h4 [Contents:] @@ -1841,14 +1246,6 @@ for using this package in tools/drude. [Authors:] Alain Dequidt (U Blaise Pascal Clermont-Ferrand), Julien Devemy (CNRS), and Agilio Padua (U Blaise Pascal). -[Install or un-install:] - -make yes-user-drude -make machine :pre - -make no-user-drude -make machine :pre - [Supporting info:] src/USER-DRUDE: filenames -> commands @@ -1866,7 +1263,7 @@ tools/drude :ul :line -USER-EFF package :link(USER-EFF),h4 +USER-EFF package :link(PKG-USER-EFF),h4 [Contents:] @@ -1880,14 +1277,6 @@ tools/eff; see its README file. [Author:] Andres Jaramillo-Botero (CalTech). -[Install or un-install:] - -make yes-user-eff -make machine :pre - -make no-user-eff -make machine :pre - [Supporting info:] src/USER-EFF: filenames -> commands @@ -1907,7 +1296,7 @@ http://lammps.sandia.gov/movies.html#eff :ul :line -USER-FEP package :link(USER-FEP),h4 +USER-FEP package :link(PKG-USER-FEP),h4 [Contents:] @@ -1919,14 +1308,6 @@ for using this package in tools/fep; see its README file. [Author:] Agilio Padua (Universite Blaise Pascal Clermont-Ferrand) -[Install or un-install:] - -make yes-user-fep -make machine :pre - -make no-user-fep -make machine :pre - [Supporting info:] src/USER-FEP: filenames -> commands @@ -1940,7 +1321,7 @@ tools/fep :ul :line -USER-H5MD package :link(USER-H5MD),h4 +USER-H5MD package :link(PKG-USER-H5MD),h4 [Contents:] @@ -1958,37 +1339,11 @@ system. [Author:] Pierre de Buyl (KU Leuven) created both the package and the H5MD format. -[Install or un-install:] +[Install:] -Note that to follow these steps to compile and link to the CH5MD -library, you need the standard HDF5 software package installed on your -system, which should include the h5cc compiler and the HDF5 library. - -Before building LAMMPS with this package, you must first build the -CH5MD library in lib/h5md. You can do this manually if you prefer; -follow the instructions in lib/h5md/README. You can also do it in one -step from the lammps/src dir, using a command like these, which simply -invoke the lib/h5md/Install.py script with the specified args: - -make lib-h5md # print help message -make lib-hm5d args="-m h5cc" # build with h5cc compiler :pre - -The build should produce two files: lib/h5md/libch5md.a and -lib/h5md/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.* and has settings needed to build LAMMPS with the -system HDF5 library. If necessary, you can edit/create a new -lib/h5md/Makefile.machine file for your system, which should define an -EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine -file. - -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-user-h5md -make machine :pre - -make no-user-h5md -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -1999,7 +1354,7 @@ lib/h5md/README :line -USER-INTEL package :link(USER-INTEL),h4 +USER-INTEL package :link(PKG-USER-INTEL),h4 [Contents:] @@ -2009,9 +1364,9 @@ All of them have an "intel" in their style name. The "Speed intel"_Speed_intel.html doc page gives details of what hardware and compilers are required on your system, and how to build and use this package. Its styles can be invoked at run time via the "-sf intel" or -"-suffix intel" "command-line switches"_Section_start.html#start_6. -Also see the "KOKKOS"_#KOKKOS, "OPT"_#OPT, and "USER-OMP"_#USER-OMP -packages, which have styles optimized for CPUs and KNLs. +"-suffix intel" "command-line switches"_Run_options.html. Also see +the "KOKKOS"_#PKG-KOKKOS, "OPT"_#PKG-OPT, and "USER-OMP"_#PKG-USER-OMP packages, +which have styles optimized for CPUs and KNLs. You need to have an Intel compiler, version 14 or higher to take full advantage of this package. While compilation with GNU compilers is @@ -2020,49 +1375,13 @@ supported, performance will be suboptimal. NOTE: the USER-INTEL package contains styles that require using the -restrict flag, when compiling with Intel compilers. - [Author:] Mike Brown (Intel). -[Install or un-install:] - -For the USER-INTEL package, you have 2 choices when building. You can -build with either CPU or KNL support. Each choice requires additional -settings in your Makefile.machine for CCFLAGS and LINKFLAGS and -optimized malloc libraries. See the -src/MAKE/OPTIONS/Makefile.intel_cpu and src/MAKE/OPTIONS/Makefile.knl -files for examples. +[Install:] -For CPUs: - -OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload \ --fno-alias -ansi-alias -restrict $(OPTFLAGS) -LINKFLAGS = -g -qopenmp $(OPTFLAGS) -LIB = -ltbbmalloc -ltbbmalloc_proxy :pre - -For KNLs: - -OPTFLAGS = -xMIC-AVX512 -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload \ --fno-alias -ansi-alias -restrict $(OPTFLAGS) -LINKFLAGS = -g -qopenmp $(OPTFLAGS) -LIB = -ltbbmalloc :pre - -Once you have an appropriate Makefile.machine, you can -install/un-install the package and build LAMMPS in the usual manner. -Note that you cannot build one executable to run on multiple hardware -targets (Intel CPUs or KNL). You need to build LAMMPS once for each -hardware target, to produce a separate executable. - -You should also typically install the USER-OMP package, as it can be -used in tandem with the USER-INTEL package to good effect, as -explained on the "Speed intel"_Speed_intel.html doc page. - -make yes-user-intel yes-user-omp -make machine :pre - -make no-user-intel no-user-omp -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -2070,8 +1389,8 @@ src/USER-INTEL: filenames -> commands src/USER-INTEL/README "Speed packages"_Speed_packages.html "Speed intel"_Speed_intel.html -"Section 2.6 -sf intel"_Section_start.html#start_6 -"Section 2.6 -pk intel"_Section_start.html#start_6 +"Section 2.6 -sf intel"_Run_options.html +"Section 2.6 -pk intel"_Run_options.html "package intel"_package.html "Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (i) src/USER-INTEL/TEST @@ -2079,7 +1398,7 @@ src/USER-INTEL/TEST :line -USER-LB package :link(USER-LB),h4 +USER-LB package :link(PKG-USER-LB),h4 [Contents:] @@ -2089,14 +1408,6 @@ can be used to model MD particles influenced by hydrodynamic forces. [Authors:] Frances Mackay and Colin Denniston (University of Western Ontario). -[Install or un-install:] - -make yes-user-lb -make machine :pre - -make no-user-lb -make machine :pre - [Supporting info:] src/USER-LB: filenames -> commands @@ -2108,7 +1419,7 @@ examples/USER/lb :ul :line -USER-MGPT package :link(USER-MGPT),h4 +USER-MGPT package :link(PKG-USER-MGPT),h4 [Contents:] @@ -2123,14 +1434,6 @@ matrix-MGPT algorithm due to Tomas Oppelstrup at LLNL. [Authors:] Tomas Oppelstrup and John Moriarty (LLNL). -[Install or un-install:] - -make yes-user-mgpt -make machine :pre - -make no-user-mgpt -make machine :pre - [Supporting info:] src/USER-MGPT: filenames -> commands @@ -2140,7 +1443,7 @@ examples/USER/mgpt :ul :line -USER-MISC package :link(USER-MISC),h4 +USER-MISC package :link(PKG-USER-MISC),h4 [Contents:] @@ -2151,14 +1454,6 @@ dihedral, improper, or command style. [Authors:] The author for each style in the package is listed in the src/USER-MISC/README file. -[Install or un-install:] - -make yes-user-misc -make machine :pre - -make no-user-misc -make machine :pre - [Supporting info:] src/USER-MISC: filenames -> commands @@ -2168,7 +1463,7 @@ examples/USER/misc :ul :line -USER-MANIFOLD package :link(USER-MANIFOLD),h4 +USER-MANIFOLD package :link(PKG-USER-MANIFOLD),h4 [Contents:] @@ -2179,16 +1474,9 @@ algorithm to formulate single-particle constraint functions g(xi,yi,zi) = 0 and their derivative (i.e. the normal of the manifold) n = grad(g). -[Author:] Stefan Paquay (until 2017: Eindhoven University of Technology (TU/e), The -Netherlands; since 2017: Brandeis University, Waltham, MA, USA) - -[Install or un-install:] - -make yes-user-manifold -make machine :pre - -make no-user-manifold -make machine :pre +[Author:] Stefan Paquay (until 2017: Eindhoven University of +Technology (TU/e), The Netherlands; since 2017: Brandeis University, +Waltham, MA, USA) [Supporting info:] @@ -2203,7 +1491,7 @@ http://lammps.sandia.gov/movies.html#manifold :ul :line -USER-MEAMC package :link(USER-MEAMC),h4 +USER-MEAMC package :link(PKG-USER-MEAMC),h4 [Contents:] @@ -2217,14 +1505,6 @@ multiple times. based on the Fortran version of Greg Wagner (Northwestern U) while at Sandia. -[Install or un-install:] - -make yes-user-meamc -make machine :pre - -make no-user-meamc -make machine :pre - [Supporting info:] src/USER-MEAMC: filenames -> commands @@ -2234,7 +1514,7 @@ examples/meam :ul :line -USER-MESO package :link(USER-MESO),h4 +USER-MESO package :link(PKG-USER-MESO),h4 [Contents:] @@ -2248,14 +1528,6 @@ algorithm. [Author:] Zhen Li (Division of Applied Mathematics, Brown University) -[Install or un-install:] - -make yes-user-meso -make machine :pre - -make no-user-meso -make machine :pre - [Supporting info:] src/USER-MESO: filenames -> commands @@ -2270,7 +1542,7 @@ http://lammps.sandia.gov/movies.html#mesodpd :ul :line -USER-MOFFF package :link(USER-MOFFF),h4 +USER-MOFFF package :link(PKG-USER-MOFFF),h4 [Contents:] @@ -2288,14 +1560,6 @@ well as the "MOF+"_MOFplus website. [Author:] Hendrik Heenen (Technical U of Munich), Rochus Schmid (Ruhr-University Bochum). -[Install or un-install:] - -make yes-user-mofff -make machine :pre - -make no-user-mofff -make machine :pre - [Supporting info:] src/USER-MOFFF: filenames -> commands @@ -2308,7 +1572,7 @@ examples/USER/mofff :ul :line -USER-MOLFILE package :link(USER-MOLFILE),h4 +USER-MOLFILE package :link(PKG-USER-MOLFILE),h4 [Contents:] @@ -2336,20 +1600,11 @@ at [Author:] Axel Kohlmeyer (Temple U). -[Install or un-install:] - -Note that the lib/molfile/Makefile.lammps file has a setting for a -dynamic loading library libdl.a that should is typically present on -all systems, which is required for LAMMPS to link with this package. -If the setting is not valid for your system, you will need to edit the -Makefile.lammps file. See lib/molfile/README and -lib/molfile/Makefile.lammps for details. +[Install:] -make yes-user-molfile -make machine :pre - -make no-user-molfile -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -2360,7 +1615,7 @@ lib/molfile/README :line -USER-NETCDF package :link(USER-NETCDF),h4 +USER-NETCDF package :link(PKG-USER-NETCDF),h4 [Contents:] @@ -2384,20 +1639,11 @@ tools: [Author:] Lars Pastewka (Karlsruhe Institute of Technology). -[Install or un-install:] - -Note that to follow these steps, you need the standard NetCDF software -package installed on your system. The lib/netcdf/Makefile.lammps file -has settings for NetCDF include and library files that LAMMPS needs to -compile and linkk with this package. If the settings are not valid -for your system, you will need to edit the Makefile.lammps file. See -lib/netcdf/README for details. +[Install:] -make yes-user-netcdf -make machine :pre - -make no-user-netcdf -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -2408,7 +1654,7 @@ lib/netcdf/README :line -USER-OMP package :link(USER-OMP),h4 +USER-OMP package :link(PKG-USER-OMP),h4 [Contents:] @@ -2418,10 +1664,9 @@ via OpenMP directives. All of them have an "omp" in their style name. The "Speed omp"_Speed_omp.html doc page gives details of what hardware and compilers are required on your system, and how to build and use this package. Its styles can be invoked at run time via the "-sf omp" -or "-suffix omp" "command-line switches"_Section_start.html#start_6. -Also see the "KOKKOS"_#KOKKOS, "OPT"_#OPT, and -"USER-INTEL"_#USER-INTEL packages, which have styles optimized for -CPUs. +or "-suffix omp" "command-line switches"_Run_options.html. Also see +the "KOKKOS"_#PKG-KOKKOS, "OPT"_#PKG-OPT, and "USER-INTEL"_#PKG-USER-INTEL +packages, which have styles optimized for CPUs. [Author:] Axel Kohlmeyer (Temple U). @@ -2438,16 +1683,11 @@ See src/MAKE/OPTIONS/Makefile.omp for an example. Once you have an appropriate Makefile.machine, you can install/un-install the package and build LAMMPS in the usual manner: -[Install or un-install:] - -make yes-user-omp -make machine :pre +[Install:] -make no-user-omp -make machine :pre - -CCFLAGS: add -fopenmp (and -restrict when using Intel compilers) -LINKFLAGS: add -fopenmp :ul +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -2455,15 +1695,15 @@ src/USER-OMP: filenames -> commands src/USER-OMP/README "Speed packages"_Speed_packages.html "Speed omp"_Speed_omp.html -"Section 2.6 -sf omp"_Section_start.html#start_6 -"Section 2.6 -pk omp"_Section_start.html#start_6 +"Section 2.6 -sf omp"_Run_options.html +"Section 2.6 -pk omp"_Run_options.html "package omp"_package.html "Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (o) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line -USER-PHONON package :link(USER-PHONON),h4 +USER-PHONON package :link(PKG-USER-PHONON),h4 [Contents:] @@ -2473,14 +1713,6 @@ relations, directly from molecular dynamics simulations. [Author:] Ling-Ti Kong (Shanghai Jiao Tong University). -[Install or un-install:] - -make yes-user-phonon -make machine :pre - -make no-user-phonon -make machine :pre - [Supporting info:] src/USER-PHONON: filenames -> commands @@ -2490,7 +1722,7 @@ examples/USER/phonon :ul :line -USER-QMMM package :link(USER-QMMM),h4 +USER-QMMM package :link(PKG-USER-QMMM),h4 [Contents:] @@ -2511,42 +1743,11 @@ without changes to LAMMPS itself. [Author:] Axel Kohlmeyer (Temple U). -[Install or un-install:] - -Before building LAMMPS with this package, you must first build the -QMMM library in lib/qmmm. You can do this manually if you prefer; -follow the first two steps explained in lib/qmmm/README. You can -also do it in one step from the lammps/src dir, using a command like -these, which simply invoke the lib/qmmm/Install.py script with the -specified args: - -make lib-qmmm # print help message -make lib-qmmm args="-m serial" # build with GNU Fortran compiler (settings as in "make serial") -make lib-qmmm args="-m mpi" # build with default MPI compiler (settings as in "make mpi") -make lib-qmmm args="-m gfortran" # build with GNU Fortran compiler :pre +[Install:] -The build should produce two files: lib/qmmm/libqmmm.a and -lib/qmmm/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.* and has settings needed to build LAMMPS with the -QMMM library (though typically the settings are just blank). If -necessary, you can edit/create a new lib/qmmm/Makefile.machine file -for your system, which should define an EXTRAMAKE variable to specify -a corresponding Makefile.lammps.machine file. - -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-user-qmmm -make machine :pre - -make no-user-qmmm -make machine :pre - -NOTE: The LAMMPS executable these steps produce is not yet functional -for a QM/MM simulation. You must also build Quantum ESPRESSO and -create a new executable which links LAMMPS and Quantum ESPRESSO -together. These are steps 3 and 4 described in the lib/qmmm/README -file. +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -2559,7 +1760,7 @@ lib/qmmm/example-mc/README :ul :line -USER-QTB package :link(USER-QTB),h4 +USER-QTB package :link(PKG-USER-QTB),h4 [Contents:] @@ -2574,14 +1775,6 @@ simulation. [Author:] Yuan Shen (Stanford U). -[Install or un-install:] - -make yes-user-qtb -make machine :pre - -make no-user-qtb -make machine :pre - [Supporting info:] src/USER-QTB: filenames -> commands @@ -2592,7 +1785,7 @@ examples/USER/qtb :ul :line -USER-QUIP package :link(USER-QUIP),h4 +USER-QUIP package :link(PKG-USER-QUIP),h4 [Contents:] @@ -2608,26 +1801,11 @@ on your system. [Author:] Albert Bartok (Cambridge University) -[Install or un-install:] - -Note that to follow these steps to compile and link to the QUIP -library, you must first download and build QUIP on your systems. It -can be obtained from GitHub. See step 1 and step 1.1 in the -lib/quip/README file for details on how to do this. Note that it -requires setting two environment variables, QUIP_ROOT and QUIP_ARCH, -which will be accessed by the lib/quip/Makefile.lammps file which is -used when you compile and link LAMMPS with this package. You should -only need to edit this file if the LAMMPS build can not use its -settings to successfully build on your system. - -You can then install/un-install the package and build LAMMPS in the -usual manner: +[Install:] -make yes-user-quip -make machine :pre - -make no-user-quip -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -2638,26 +1816,18 @@ examples/USER/quip :ul :line -USER-REAXC package :link(USER-REAXC),h4 +USER-REAXC package :link(PKG-USER-REAXC),h4 [Contents:] A pair style which implements the ReaxFF potential in C/C++ (in -contrast to the "REAX package"_#REAX and its Fortran library). ReaxFF +contrast to the "REAX package"_#PKG-REAX and its Fortran library). ReaxFF is universal reactive force field. See the src/USER-REAXC/README file for more info on differences between the two packages. Also two fixes for monitoring molecules as bonds are created and destroyed. [Author:] Hasan Metin Aktulga (MSU) while at Purdue University. -[Install or un-install:] - -make yes-user-reaxc -make machine :pre - -make no-user-reaxc -make machine :pre - [Supporting info:] src/USER-REAXC: filenames -> commands @@ -2669,66 +1839,14 @@ examples/reax :ul :line -USER-SCAFACOS package :link(USER-SCAFACOS),h4 - -[Contents:] - -A KSpace style which wraps the "ScaFaCoS Coulomb solver -library"_http://www.scafacos.de. - -To use this package you must have the ScaFaCoS library available on -your system. It is available for download at "http://scafacos.de" or -can be cloned from the git-repository -"git://github.com/scafacos/scafacos.git". - -[Author:] Rene Halver (JSC) wrote the scafacos LAMMPS command. - -ScaFaCoS was developed by a consortium of German research facilities -with a BMBF (German Ministry of Science and Education) funded project -in 2009-2012. Participants of the consortium were the Universities of -Bonn, Chemnitz, Stuttgart, and Wuppertal as well as the -Forschungszentrum Juelich. - -[Install or un-install:] - -Before building LAMMPS with this package, you must first download and -build the ScaFaCoS library. You can do this manually if you prefer; -follow the instructions in lib/scafacos/README. You can also do it in -one step from the lammps/src dir, using a command like these, which -simply invoke the lib/scafacos/Install.py script with the specified -args: - -make lib-scafacos # print help message -make lib-scafacos args="-b" # download and build in lib/scafacos/scafacos- -make lib-scafacos args="-p $HOME/scafacos # use existing ScaFaCoS installation in $HOME/scafacos - -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-user-scafacos -make machine :pre - -make no-user-scafacos -make machine :pre - -[Supporting info:] - -src/USER-SCAFACOS: filenames -> commands -src/USER-SCAFACOS/README -"kspace_style scafacos"_kspace_style.html -"kspace_modify"_kspace_modify.html -examples/USER/scafacos :ul - -:line - -USER-SMD package :link(USER-SMD),h4 +USER-SMD package :link(PKG-USER-SMD),h4 [Contents:] An atom style, fixes, computes, and several pair styles which implements smoothed Mach dynamics (SMD) for solids, which is a model related to smoothed particle hydrodynamics (SPH) for liquids (see the -"USER-SPH package"_#USER-SPH). +"USER-SPH package"_#PKG-USER-SPH). This package solves solids mechanics problems via a state of the art stabilized meshless method with hourglass control. It can specify @@ -2742,31 +1860,11 @@ specified as surface geometries from *.STL files. [Author:] Georg Ganzenmuller (Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute, Germany). -[Install or un-install:] - -Before building LAMMPS with this package, you must first download the -Eigen library. Eigen is a template library, so you do not need to -build it, just download it. You can do this manually if you prefer; -follow the instructions in lib/smd/README. You can also do it in one -step from the lammps/src dir, using a command like these, which simply -invoke the lib/smd/Install.py script with the specified args: - -make lib-smd # print help message -make lib-smd args="-b" # download and build in default lib/smd/eigen-eigen-... -make lib-smd args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3 :pre - -Note that a symbolic (soft) link named "includelink" is created in -lib/smd to point to the Eigen dir. When LAMMPS builds it will use -this link. You should not need to edit the lib/smd/Makefile.lammps file. +[Install:] -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-user-smd -make machine :pre - -make no-user-smd -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] @@ -2778,7 +1876,7 @@ http://lammps.sandia.gov/movies.html#smd :ul :line -USER-SMTBQ package :link(USER-SMTBQ),h4 +USER-SMTBQ package :link(PKG-USER-SMTBQ),h4 [Contents:] @@ -2789,14 +1887,6 @@ ionocovalent bonds in oxides. [Authors:] Nicolas Salles, Emile Maras, Olivier Politano, and Robert Tetot (LAAS-CNRS, France). -[Install or un-install:] - -make yes-user-smtbq -make machine :pre - -make no-user-smtbq -make machine :pre - [Supporting info:] src/USER-SMTBQ: filenames -> commands @@ -2806,13 +1896,13 @@ examples/USER/smtbq :ul :line -USER-SPH package :link(USER-SPH),h4 +USER-SPH package :link(PKG-USER-SPH),h4 [Contents:] An atom style, fixes, computes, and several pair styles which implements smoothed particle hydrodynamics (SPH) for liquids. See the -related "USER-SMD package"_#USER-SMD package for smooth Mach dynamics +related "USER-SMD package"_#PKG-USER-SMD package for smooth Mach dynamics (SMD) for solids. This package contains ideal gas, Lennard-Jones equation of states, @@ -2828,14 +1918,6 @@ property/atom"_compute_property_atom.html command. [Author:] Georg Ganzenmuller (Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute, Germany). -[Install or un-install:] - -make yes-user-sph -make machine :pre - -make no-user-sph -make machine :pre - [Supporting info:] src/USER-SPH: filenames -> commands @@ -2846,7 +1928,7 @@ http://lammps.sandia.gov/movies.html#sph :ul :line -USER-TALLY package :link(USER-TALLY),h4 +USER-TALLY package :link(PKG-USER-TALLY),h4 [Contents:] @@ -2856,14 +1938,6 @@ stress, etc) about individual interactions. [Author:] Axel Kohlmeyer (Temple U). -[Install or un-install:] - -make yes-user-tally -make machine :pre - -make no-user-tally -make machine :pre - [Supporting info:] src/USER-TALLY: filenames -> commands @@ -2873,7 +1947,7 @@ examples/USER/tally :ul :line -USER-UEF package :link(USER-UEF),h4 +USER-UEF package :link(PKG-USER-UEF),h4 [Contents:] @@ -2883,14 +1957,6 @@ supporting compute styles and an output option. [Author:] David Nicholson (MIT). -[Install or un-install:] - -make yes-user-uef -make machine :pre - -make no-user-uef -make machine :pre - [Supporting info:] src/USER-UEF: filenames -> commands @@ -2904,7 +1970,7 @@ examples/uef :ul :line -USER-VTK package :link(USER-VTK),h4 +USER-VTK package :link(PKG-USER-VTK),h4 [Contents:] @@ -2920,23 +1986,11 @@ system. [Authors:] Richard Berger (JKU) and Daniel Queteschiner (DCS Computing). -[Install or un-install:] - -The lib/vtk/Makefile.lammps file has settings for accessing VTK files -and its library, which are required for LAMMPS to build and link with -this package. If the settings are not valid for your system, check if -one of the other lib/vtk/Makefile.lammps.* files is compatible and -copy it to Makefile.lammps. If none of the provided files work, you -will need to edit the Makefile.lammps file. - -You can then install/un-install the package and build LAMMPS in the -usual manner: - -make yes-user-vtk -make machine :pre +[Install:] -make no-user-vtk -make machine :pre +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. [Supporting info:] -- GitLab From a9fb8636adc555486d4ed3080d2a5766436539d5 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 22 Aug 2018 09:52:44 -0600 Subject: [PATCH 546/675] doc page updates and changed domain->remap() call --- doc/src/Build_extras.txt | 40 ++++++++++++++++++++++++++++++++++ doc/src/Build_package.txt | 1 + doc/src/Packages_details.txt | 36 ++++++++++++++++++++++++++++++ doc/src/Packages_user.txt | 1 + doc/src/kspace_style.txt | 4 ++-- src/USER-SCAFACOS/scafacos.cpp | 12 +++++++++- 6 files changed, 91 insertions(+), 3 deletions(-) diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt index 5c33a0a4d4..2fc0785227 100644 --- a/doc/src/Build_extras.txt +++ b/doc/src/Build_extras.txt @@ -47,6 +47,7 @@ This is the list of packages that may require additional steps. "USER-OMP"_#user-omp, "USER-QMMM"_#user-qmmm, "USER-QUIP"_#user-quip, +"USER-SCAFACOS"_#user-scafacos, "USER-SMD"_#user-smd, "USER-VTK"_#user-vtk :tb(c=6,ea=c,a=l) @@ -894,6 +895,45 @@ successfully build on your system. :line +USER-SCAFACOS package :h4,link(user-scafacos) + +To build with this package, you must download and build the "ScaFaCoS +Coulomb solver library"_scafacos_home + +:link(scafacos_home,http://www.scafacos.de) + +[CMake build]: + +-D DOWNLOAD_SCAFACOS=value # download ScaFaCoS for build, value = no (default) or yes +-D SCAFACOS_LIBRARY=path # ScaFaCos library file (only needed if at custom location) +-D SCAFACOS_INCLUDE_DIR=path # ScaFaCoS include directory (only needed if at custom location) :pre + +If DOWNLOAD_SCAFACOS is set, the ScaFaCoS library will be downloaded +and built inside the CMake build directory. If the ScaFaCoS library +is already on your system (in a location CMake cannot find it), +SCAFACOS_LIBRARY is the filename (plus path) of the ScaFaCoS library +file, not the directory the library file is in. SCAFACOS_INCLUDE_DIR +is the directory the ScaFaCoS include file is in. + +[Traditional make]: + +You can download and build the ScaFaCoS library manually if you +prefer; follow the instructions in lib/scafacos/README. You can also +do it in one step from the lammps/src dir, using a command like these, +which simply invoke the lib/scafacos/Install.py script with the +specified args: + +make lib-scafacos # print help message +make lib-scafacos args="-b" # download and build in lib/scafacos/scafacos- +make lib-scafacos args="-p $HOME/scafacos # use existing ScaFaCoS installation in $HOME/scafacos + +Note that 2 symbolic (soft) links, "includelink" and "liblink", are +created in lib/scafacos to point to the ScaFaCoS src dir. When LAMMPS +builds in src it will use these links. You should not need to edit +the lib/scafacos/Makefile.lammps file. + +:line + USER-SMD package :h4,link(user-smd) To build with this package, you must download the Eigen3 library. diff --git a/doc/src/Build_package.txt b/doc/src/Build_package.txt index 4f71e9eb18..fab987ea0d 100644 --- a/doc/src/Build_package.txt +++ b/doc/src/Build_package.txt @@ -58,6 +58,7 @@ packages: "USER-OMP"_Build_extras.html#user-omp, "USER-QMMM"_Build_extras.html#user-qmmm, "USER-QUIP"_Build_extras.html#user-quip, +"USER-SCAFACOS"_#Build_extras.html#user-scafacos, "USER-SMD"_Build_extras.html#user-smd, "USER-VTK"_Build_extras.html#user-vtk :tb(c=6,ea=c,a=l) diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 892774be38..c4c9043908 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -92,6 +92,7 @@ as contained in the file name. "USER-QTB"_#PKG-USER-QTB, "USER-QUIP"_#PKG-USER-QUIP, "USER-REAXC"_#PKG-USER-REAXC, +"USER-SCAFACOS"_#USER-SCAFACOS, "USER-SMD"_#PKG-USER-SMD, "USER-SMTBQ"_#PKG-USER-SMTBQ, "USER-SPH"_#PKG-USER-SPH, @@ -1839,6 +1840,41 @@ examples/reax :ul :line +USER-SCAFACOS package :link(USER-SCAFACOS),h4 + +[Contents:] + +A KSpace style which wraps the "ScaFaCoS Coulomb solver +library"_http://www.scafacos.de to compute long-range Coulombic +interactions. + +To use this package you must have the ScaFaCoS library available on +your system. + +[Author:] Rene Halver (JSC) wrote the scafacos LAMMPS command. + +ScaFaCoS itself was developed by a consortium of German research +facilities with a BMBF (German Ministry of Science and Education) +funded project in 2009-2012. Participants of the consortium were the +Universities of Bonn, Chemnitz, Stuttgart, and Wuppertal as well as +the Forschungszentrum Juelich. + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#user-scafacos on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/USER-SCAFACOS: filenames -> commands +src/USER-SCAFACOS/README +"kspace_style scafacos"_kspace_style.html +"kspace_modify"_kspace_modify.html +examples/USER/scafacos :ul + +:line + USER-SMD package :link(PKG-USER-SMD),h4 [Contents:] diff --git a/doc/src/Packages_user.txt b/doc/src/Packages_user.txt index c1a52fd0d0..5ed5c6f6d3 100644 --- a/doc/src/Packages_user.txt +++ b/doc/src/Packages_user.txt @@ -66,6 +66,7 @@ Package, Description, Doc page, Example, Library "USER-QTB"_Packages_details.html#PKG-USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, no "USER-QUIP"_Packages_details.html#PKG-USER-QUIP, QUIP/libatoms interface,"pair_style quip"_pair_quip.html, USER/quip, ext "USER-REAXC"_Packages_details.html#PKG-USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, no +"USER-SCAFACOS"_Packages_details.html#PKG-USER-SCAFACOS, wrapper on ScaFaCoS solver,"kspace_style scafacos"_kspace_style.html, USER/scafacos, ext "USER-SMD"_Packages_details.html#PKG-USER-SMD, smoothed Mach dynamics,"SMD User Guide"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, ext "USER-SMTBQ"_Packages_details.html#PKG-USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, no "USER-SPH"_Packages_details.html#PKG-USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, no diff --git a/doc/src/kspace_style.txt b/doc/src/kspace_style.txt index deb8d8ab51..ddf4e15703 100644 --- a/doc/src/kspace_style.txt +++ b/doc/src/kspace_style.txt @@ -252,7 +252,7 @@ These are the ScaFaCoS methods currently available from LAMMPS: {p2nfft} = FFT-based Coulomb solver {ewald} = Ewald summation {direct} = direct O(N^2) summation -{p3m} = PPPM +{p3m} = PPPM :ul We plan to support additional ScaFaCoS solvers from LAMMPS in the future. For an overview of the included solvers, refer to @@ -268,7 +268,7 @@ energy or the total Columic energy. To select from these options, see the "kspace_modify scafacos accuracy"_kspace_modify.html doc page. The "kspace_modify scafacos"_kspace_modify.html command also explains -all the ScaFaCoS options currently exposed to LAMMPS. +other ScaFaCoS options currently exposed to LAMMPS. :line diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index f3e8ce64f7..d047853b55 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -199,7 +199,6 @@ void Scafacos::compute(int eflag, int vflag) eflag_atom = 0; vflag_global = 0; } - // grow xpbc, epot, efield if necessary @@ -223,6 +222,8 @@ void Scafacos::compute(int eflag, int vflag) // pack coords into xpbc and apply PBC memcpy(xpbc,&x[0][0],3*nlocal*sizeof(double)); + // RENE: remove this section (see RENE below) + //int j = 0; for (int i = 0; i < nlocal; i++) { if (domain->xperiodic) domain->remap(&xpbc[3*i]); @@ -231,6 +232,15 @@ void Scafacos::compute(int eflag, int vflag) //j += 3; } + // RENE: I think the call to domain->remap needs to be this way + // b/c the remap() method checks for PBC and does all 3 dims at once + + int j = 0; + for (int i = 0; i < nlocal; i++) { + domain->remap(&xpbc[j]); + j += 3; + } + // if simulation box has changed, call fcs_tune() if (box_has_changed()) { -- GitLab From cb8482b0e6e9ac007ca79eb96a38dd86f5ce4673 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 22 Aug 2018 10:22:51 -0600 Subject: [PATCH 547/675] another doc change --- doc/src/Commands_kspace.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/src/Commands_kspace.txt b/doc/src/Commands_kspace.txt index a126344505..d56b7fa767 100644 --- a/doc/src/Commands_kspace.txt +++ b/doc/src/Commands_kspace.txt @@ -33,4 +33,5 @@ OPT. "pppm/disp (i)"_kspace_style.html, "pppm/disp/tip4p"_kspace_style.html, "pppm/stagger"_kspace_style.html, -"pppm/tip4p (o)"_kspace_style.html :tb(c=4,ea=c) +"pppm/tip4p (o)"_kspace_style.html, +"scafacos"_kspace_style.html :tb(c=4,ea=c) -- GitLab From c4b55385e20ebb84aa13f0d5e8dbe4703e11efd4 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 22 Aug 2018 10:40:39 -0600 Subject: [PATCH 548/675] doc updates --- doc/src/server_mc.txt | 39 +++++++++++++++++++-------------------- doc/src/server_md.txt | 41 ++++++++++++++++++++--------------------- lib/message/README | 4 ++-- 3 files changed, 41 insertions(+), 43 deletions(-) diff --git a/doc/src/server_mc.txt b/doc/src/server_mc.txt index 94545c8732..fba969d9ce 100644 --- a/doc/src/server_mc.txt +++ b/doc/src/server_mc.txt @@ -56,8 +56,7 @@ a conceptual sense. Python-style pseudo code for the library calls to the CSlib is shown, which performs the actual message exchange between the two codes. See the "CSlib website"_http://cslib.sandia.gov doc pages for more details on the actual library syntax. The "cs" object -in this pseudo code is an instance of the CSlib that both the client -and server codes store. +in this pseudo code is a pointer to an instance of the CSlib. See the src/MESSAGE/server_mc.cpp file for details on how LAMMPS uses these messages. See the examples/COUPLE/lammmps_mc/mc.cpp file for an @@ -67,35 +66,35 @@ Let NATOMS=1, EINIT=2, DISPLACE=3, ACCEPT=4, RUN=5. [Client sends one of these kinds of message]: -cs.send(NATOMS,0) # msgID = 1 with no fields :pre +cs->send(NATOMS,0) # msgID = 1 with no fields :pre -cs.send(EINIT,0) # msgID = 2 with no fields :pre +cs->send(EINIT,0) # msgID = 2 with no fields :pre -cs.send(DISPLACE,2) # msgID = 3 with 2 fields -cs.pack(1,1,ID) # 1st field = ID of atom to displace -cs.pack(2,3,xnew) # 2nd field = new xyz coords of displaced atom :pre +cs->send(DISPLACE,2) # msgID = 3 with 2 fields +cs->pack(1,1,ID) # 1st field = ID of atom to displace +cs->pack(2,3,xnew) # 2nd field = new xyz coords of displaced atom :pre -cs.send(ACCEPT,1) # msgID = 4 with 1 field -cs.pack(1,1,flag) # 1st field = accept/reject flag :pre +cs->send(ACCEPT,1) # msgID = 4 with 1 field +cs->pack(1,1,flag) # 1st field = accept/reject flag :pre -cs.send(RUN,1) # msgID = 5 with 1 field -cs.pack(1,1,nsteps) # 1st field = # of timesteps to run MD :pre +cs->send(RUN,1) # msgID = 5 with 1 field +cs->pack(1,1,nsteps) # 1st field = # of timesteps to run MD :pre [Server replies]: -cs.send(NATOMS,1) # msgID = 1 with 1 field -cs.pack(1,1,Natoms) # 1st field = number of atoms :pre +cs->send(NATOMS,1) # msgID = 1 with 1 field +cs->pack(1,1,Natoms) # 1st field = number of atoms :pre -cs.send(EINIT,2) # msgID = 2 with 2 fields -cs.pack(1,1,poteng) # 1st field = potential energy of system -cs.pack(2,3*Natoms,x) # 2nd field = 3N coords of Natoms :pre +cs->send(EINIT,2) # msgID = 2 with 2 fields +cs->pack(1,1,poteng) # 1st field = potential energy of system +cs->pack(2,3*Natoms,x) # 2nd field = 3N coords of Natoms :pre -cs.send(DISPLACE,1) # msgID = 3 with 1 field -cs.pack(1,1,poteng) # 1st field = new potential energy of system :pre +cs->send(DISPLACE,1) # msgID = 3 with 1 field +cs->pack(1,1,poteng) # 1st field = new potential energy of system :pre -cs.send(ACCEPT,0) # msgID = 4 with no fields +cs->send(ACCEPT,0) # msgID = 4 with no fields -cs.send(RUN,0) # msgID = 5 with no fields +cs->send(RUN,0) # msgID = 5 with no fields :line diff --git a/doc/src/server_md.txt b/doc/src/server_md.txt index 66534c1ad6..8c5d83bfb8 100644 --- a/doc/src/server_md.txt +++ b/doc/src/server_md.txt @@ -59,8 +59,7 @@ a conceptual sense. Python-style pseudo code for the library calls to the CSlib is shown, which performs the actual message exchange between the two codes. See the "CSlib website"_http://cslib.sandia.gov doc pages for more details on the actual library syntax. The "cs" object -in this pseudo code is an instance of the CSlib that both the client -and server codes store. +in this pseudo code is a pointer to an instance of the CSlib. See the src/MESSAGE/server_md.cpp and src/MESSAGE/fix_client_md.cpp files for details on how LAMMPS uses these messages. See the @@ -78,34 +77,34 @@ enum{FORCES=1,ENERGY,VIRIAL}; :pre # required fields: NATOMS, NTYPES, BOXLO, BOXHI, TYPES, COORDS # optional fields: others in 2nd enum above :pre -cs.send(SETUP,nfields) # msgID with nfields :pre +cs->send(SETUP,nfields) # msgID with nfields :pre -cs.pack_string(UNITS,units) # units = "lj", "real", "metal", etc -cs.pack_int(NATOMS,natoms) # total numer of atoms -cs.pack_int(NTYPES,ntypes) # number of atom types -cs.pack(BOXLO,3,boxlo) # 3-vector of lower box bounds -cs.pack(BOXHI,3,boxhi) # 3-vector of upper box bounds -cs.pack(BOXTILT,3,boxtilt) # 3-vector of tilt factors for triclinic boxes -cs.pack(TYPES,natoms,type) # vector of per-atom types -cs.pack(COORDS,3*natoms,x) # vector of 3N atom coords -cs.pack(CHARGE,natoms,q) # vector of per-atom charge :pre +cs->pack_string(UNITS,units) # units = "lj", "real", "metal", etc +cs->pack_int(NATOMS,natoms) # total numer of atoms +cs->pack_int(NTYPES,ntypes) # number of atom types +cs->pack(BOXLO,3,boxlo) # 3-vector of lower box bounds +cs->pack(BOXHI,3,boxhi) # 3-vector of upper box bounds +cs->pack(BOXTILT,3,boxtilt) # 3-vector of tilt factors for triclinic boxes +cs->pack(TYPES,natoms,type) # vector of per-atom types +cs->pack(COORDS,3*natoms,x) # vector of 3N atom coords +cs->pack(CHARGE,natoms,q) # vector of per-atom charge :pre # required fields: COORDS # optional fields: BOXLO, BOXHI, BOXTILT :pre -cs.send(STEP,nfields) # msgID with nfields :pre +cs->send(STEP,nfields) # msgID with nfields :pre -cs.pack_int(NATOMS,natoms) # total numer of atoms -cs.pack_int(NTYPES,ntypes) # number of atom types -cs.pack(BOXLO,3,boxlo) # 3-vector of lower box bounds -cs.pack(BOXTILT,3,boxtilt) # 3-vector of tilt factors for triclinic boxes :pre +cs->pack_int(NATOMS,natoms) # total numer of atoms +cs->pack_int(NTYPES,ntypes) # number of atom types +cs->pack(BOXLO,3,boxlo) # 3-vector of lower box bounds +cs->pack(BOXTILT,3,boxtilt) # 3-vector of tilt factors for triclinic boxes :pre [Server replies to either kind of message]: -cs.send(msgID,3) # msgID = 1 with 3 fields -cs.pack(FORCES,3*Natoms,f) # vector of 3N forces on atoms -cs.pack(ENERGY,1,poteng) # total potential energy of system -cs.pack(VIRIAL,6,virial) # global virial tensor (6-vector) :pre +cs->send(msgID,3) # msgID = 1 with 3 fields +cs->pack(FORCES,3*Natoms,f) # vector of 3N forces on atoms +cs->pack(ENERGY,1,poteng) # total potential energy of system +cs->pack(VIRIAL,6,virial) # global virial tensor (6-vector) :pre :line diff --git a/lib/message/README b/lib/message/README index c93ae81104..dafb94e9ef 100644 --- a/lib/message/README +++ b/lib/message/README @@ -4,7 +4,7 @@ in a LAMMPS input script. The CSlib libary is included in the LAMMPS distribution. A fuller version including documentation and test programs is available at -http:cslib.sandia.gov and was developed by Steve Plimpton at Sandia +http://cslib.sandia.gov. It was developed by Steve Plimpton at Sandia National Laboratories. You can type "make lib-message" from the src directory to see help on @@ -16,7 +16,7 @@ The CSlib can be optionally built with support for sockets using the open-source ZeroMQ (ZMQ) library. If it is not installed on your system, it is easy to download and install. -Go to this website: http://zeromq.org +Go to the ZMQ website for details: http://zeromq.org ----------------- -- GitLab From 4e13ce1d257f8b8d76131b6a8155f36e80688ecf Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 22 Aug 2018 11:21:14 -0600 Subject: [PATCH 549/675] add back in MESSAGE package info in CMakeLists.txt --- cmake/CMakeLists.txt | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 460d177c92..44ea64b1cd 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -478,6 +478,32 @@ if(PKG_KIM) include_directories(${KIM_INCLUDE_DIRS}) endif() +if(PKG_MESSAGE) + option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF) + file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.F + ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.c ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.cpp) + add_library(cslib STATIC ${cslib_SOURCES}) + + if(BUILD_MPI) + target_compile_definitions(cslib PRIVATE -DMPI_YES) + else() + target_compile_definitions(cslib PRIVATE -DMPI_NO) + endif() + + if(MESSAGE_ZMQ) + target_compile_definitions(cslib PRIVATE -DZMQ_YES) + find_package(ZMQ REQUIRED) + target_include_directories(cslib PRIVATE ${ZMQ_INCLUDE_DIRS}) + target_link_libraries(cslib PUBLIC ${ZMQ_LIBRARIES}) + else() + target_compile_definitions(cslib PRIVATE -DZMQ_NO) + target_include_directories(cslib PRIVATE ${LAMMPS_SOURCE_DIR}/message/cslib/src/STUBS_ZMQ) + endif() + + list(APPEND LAMMPS_LINK_LIBS cslib) + include_directories(${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src) +endif() + if(PKG_MSCG) find_package(GSL REQUIRED) option(DOWNLOAD_MSCG "Download latte (instead of using the system's one)" OFF) -- GitLab From 03b880a31c2306489ae9e2afda511429db0ebb5e Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 22 Aug 2018 11:42:41 -0600 Subject: [PATCH 550/675] more doc page updates --- doc/src/Build_extras.txt | 10 +++++++--- doc/src/Howto_client_server.txt | 2 +- doc/src/fix_client_md.txt | 22 +++++++++++----------- doc/src/message.txt | 29 ++++++++++++++++------------- doc/src/server.txt | 16 ++++++++-------- doc/src/server_mc.txt | 20 ++++++++++++-------- doc/src/server_md.txt | 16 ++++++++-------- examples/message/README | 7 ++++--- 8 files changed, 67 insertions(+), 55 deletions(-) diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt index 6ed54c0334..9f640aee78 100644 --- a/doc/src/Build_extras.txt +++ b/doc/src/Build_extras.txt @@ -380,9 +380,13 @@ file. MESSAGE package :h4,link(message) +This package can optionally include support for messaging via sockets, +using the open-source "ZeroMQ library"_http://zeromq.org, which must +be installed on your system. + [CMake build]: -No additional settings are needed besides "-D PKG_MESSAGE=yes". +-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes [Traditional make]: @@ -398,8 +402,8 @@ make lib-message args="-s" # build as serial lib with no ZMQ support The build should produce two files: lib/message/cslib/src/libmessage.a and lib/message/Makefile.lammps. The latter is copied from an -existing Makefile.lammps.* and has settings to link with the -open-source ZMQ library if requested in the build. +existing Makefile.lammps.* and has settings to link with the ZeroMQ +library if requested in the build. :line diff --git a/doc/src/Howto_client_server.txt b/doc/src/Howto_client_server.txt index 73d67bbffb..ce9bbc0763 100644 --- a/doc/src/Howto_client_server.txt +++ b/doc/src/Howto_client_server.txt @@ -40,7 +40,7 @@ package"_Packages_details.html#PKG-MESSAGE which implements several commands that enable LAMMPS to act as a client or server, as discussed below. The MESSAGE package also wraps a client/server library called CSlib which enables two codes to exchange messages in different ways, -either via files, a socket, or MPI. The CSlib is provided with LAMMPS +either via files, sockets, or MPI. The CSlib is provided with LAMMPS in the lib/message dir. The CSlib has its own "website"_http://cslib.sandia.gov with documentation and test programs. diff --git a/doc/src/fix_client_md.txt b/doc/src/fix_client_md.txt index 53cd7c36c2..1712e1615e 100644 --- a/doc/src/fix_client_md.txt +++ b/doc/src/fix_client_md.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -25,11 +25,11 @@ This fix style enables LAMMPS to run as a "client" code and communicate each timestep with a separate "server" code to perform an MD simulation together. -"This section"_Section_howto.html#howto_29 gives an overview of -client/server coupling of LAMMPS with another code where one code is -the "client" and sends request messages to a "server" code. The -server responds to each request with a reply message. This enables -the two codes to work in tandem to perform a simulation. +The "Howto client/server"_Howto_client_server.html doc page gives an +overview of client/server coupling of LAMMPS with another code where +one code is the "client" and sends request messages to a "server" +code. The server responds to each request with a reply message. This +enables the two codes to work in tandem to perform a simulation. When using this fix, LAMMPS (as the client code) passes the current coordinates of all particles to the server code each timestep, which @@ -80,9 +80,9 @@ virial as part of "thermodynamic output"_thermo_style.html. The default is {virial yes} This fix computes a global scalar which can be accessed by various -"output commands"_Section_howto.html#howto_15. The scalar is the -potential energy discussed above. The scalar value calculated by this -fix is "extensive". +"output commands"_Howto_output.html. The scalar is the potential +energy discussed above. The scalar value calculated by this fix is +"extensive". No parameter of this fix can be used with the {start/stop} keywords of the "run"_run.html command. This fix is not invoked during "energy @@ -91,8 +91,8 @@ minimization"_minimize.html. [Restrictions:] This fix is part of the MESSAGE package. It is only enabled if LAMMPS -was built with that package. See the "Making -LAMMPS"_Section_start.html#start_3 section for more info. +was built with that package. See the "Build +package"_Build_package.html doc page for more info. A script that uses this command must also use the "message"_message.html command to setup the messaging protocol with diff --git a/doc/src/message.txt b/doc/src/message.txt index bbea48f0f1..6c84f3135c 100644 --- a/doc/src/message.txt +++ b/doc/src/message.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Command_all.html) :line @@ -44,11 +44,11 @@ message server md mpi/two tmp.couple :pre Establish a messaging protocol between LAMMPS and another code for the purpose of client/server coupling. -"This section"_Section_howto.html#howto_29 gives an overview of -client/server coupling of LAMMPS with another code where one code is -the "client" and sends request messages to a "server" code. The -server responds to each request with a reply message. This enables -the two codes to work in tandem to perform a simulation. +The "Howto client/server"_Howto_client_server.html doc page gives an +overview of client/server coupling of LAMMPS with another code where +one code is the "client" and sends request messages to a "server" +code. The server responds to each request with a reply message. This +enables the two codes to work in tandem to perform a simulation. :line @@ -82,9 +82,12 @@ The filename can include a path. Both codes must be able to access the path/file in a common filesystem. For mode {zmq}, the 2 codes communicate via a socket on the server -code's machine. The client specifies an IP address (IPv4 format) or -the DNS name of the machine the server code is running on, followed by -a 4-digit port ID for the socket, separated by a colon. E.g. +code's machine. Support for socket messaging is provided by the +open-source "ZeroMQ library"_http://zeromq.org, which must be +installed on your system. The client specifies an IP address (IPv4 +format) or the DNS name of the machine the server code is running on, +followed by a 4-digit port ID for the socket, separated by a colon. +E.g. localhost:5555 # client and server running on same machine 192.168.1.1:5555 # server is 192.168.1.1 @@ -106,8 +109,8 @@ mpirun -np 2 lmp_mpi -mpi 2 -in in.client -log log.client : -np 4 othercode args mpirun -np 2 othercode args : -np 4 lmp_mpi -mpi 2 -in in.server # LAMMPS is server :pre Note the use of the "-mpi P" command-line argument with LAMMPS. See -the "command-line args"_Section_start.html#start_6 doc page for -further explanation. +the "command-line args"_Run_options.html doc page for further +explanation. For mode {mpi/two}, the 2 codes communicate via MPI, but are launched be 2 separate mpirun commands. The specified {filename} argument is a @@ -149,8 +152,8 @@ fix client or server command. [Restrictions:] This command is part of the MESSAGE package. It is only enabled if -LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#start_3 section for more info. +LAMMPS was built with that package. See the "Build +package"_Build_package.html doc page for more info. [Related commands:] diff --git a/doc/src/server.txt b/doc/src/server.txt index ba6daa7fcf..86fb68d012 100644 --- a/doc/src/server.txt +++ b/doc/src/server.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -26,11 +26,11 @@ message back to the client. The specified {protocol} determines the format and content of messages LAMMPS expects to receive and how it responds. -"This section"_Section_howto.html#howto_29 gives an overview of -client/server coupling of LAMMPS with another code where one code is -the "client" and sends request messages to a "server" code. The -server responds to each request with a reply message. This enables -the two codes to work in tandem to perform a simulation. +The "Howto client/server"_Howto_client_server.html doc page gives an +overview of client/server coupling of LAMMPS with another code where +one code is the "client" and sends request messages to a "server" +code. The server responds to each request with a reply message. This +enables the two codes to work in tandem to perform a simulation. When this command is invoked, LAMMPS will run in server mode in an endless loop, waiting for messages from the client code. The client @@ -57,8 +57,8 @@ mc"_server_mc.html doc page for details on the protocol. [Restrictions:] This command is part of the MESSAGE package. It is only enabled if -LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#start_3 section for more info. +LAMMPS was built with that package. See the "Build +package"_Build_package.html doc page for more info. A script that uses this command must also use the "message"_message.html command to setup the messaging protocol with diff --git a/doc/src/server_mc.txt b/doc/src/server_mc.txt index fba969d9ce..3c658187da 100644 --- a/doc/src/server_mc.txt +++ b/doc/src/server_mc.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -25,11 +25,11 @@ expect messages from a separate "client" code that match the {mc} protocol for format and content explained below. For each message LAMMPS receives it will send a message back to the client. -"This section"_Section_howto.html#howto_29 gives an overview of -client/server coupling of LAMMPS with another code where one code is -the "client" and sends request messages to a "server" code. The -server responds to each request with a reply message. This enables -the two codes to work in tandem to perform a simulation. +The "Howto client/server"_Howto_client_server.html doc page gives an +overview of client/server coupling of LAMMPS with another code where +one code is the "client" and sends request messages to a "server" +code. The server responds to each request with a reply message. This +enables the two codes to work in tandem to perform a simulation. When this command is invoked, LAMMPS will run in server mode in an endless loop, waiting for messages from the client code. The client @@ -101,8 +101,12 @@ cs->send(RUN,0) # msgID = 5 with no fields [Restrictions:] This command is part of the MESSAGE package. It is only enabled if -LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#start_3 section for more info. +LAMMPS was built with that package. See the "Build +package"_Build_package.html doc page for more info. + +A script that uses this command must also use the +"message"_message.html command to setup the messaging protocol with +the other client code. [Related commands:] diff --git a/doc/src/server_md.txt b/doc/src/server_md.txt index 8c5d83bfb8..4fe605f7a5 100644 --- a/doc/src/server_md.txt +++ b/doc/src/server_md.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -25,11 +25,11 @@ expect messages from a separate "client" code that match the {md} protocol for format and content explained below. For each message LAMMPS receives it will send a message back to the client. -"This section"_Section_howto.html#howto_29 gives an overview of -client/server coupling of LAMMPS with another code where one code is -the "client" and sends request messages to a "server" code. The -server responds to each request with a reply message. This enables -the two codes to work in tandem to perform a simulation. +The "Howto client/server"_Howto_client_server.html doc page gives an +overview of client/server coupling of LAMMPS with another code where +one code is the "client" and sends request messages to a "server" +code. The server responds to each request with a reply message. This +enables the two codes to work in tandem to perform a simulation. When this command is invoked, LAMMPS will run in server mode in an endless loop, waiting for messages from the client code. The client @@ -111,8 +111,8 @@ cs->pack(VIRIAL,6,virial) # global virial tensor (6-vector) :pre [Restrictions:] This command is part of the MESSAGE package. It is only enabled if -LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#start_3 section for more info. +LAMMPS was built with that package. See the "Build +package"_Build_package.html doc page for more info. [Related commands:] diff --git a/examples/message/README b/examples/message/README index 63055177a4..617a4249a5 100644 --- a/examples/message/README +++ b/examples/message/README @@ -11,9 +11,10 @@ LAMMPS as the server, e.g. a quantum code computing quantum forces, so that ab initio MD could be performed. See an example of the latter in examples/COUPLE/lammps_vasp. -See the MESSAGE package (doc/Section_messages.html#MESSAGE) -and Section_howto.html#howto10 for more details on how -client/server coupling works in LAMMPS. +See the doc pages for the "MESSAGE package" +(Package_details.html#PKG-MESSAGE) and "Howto client/server" +(Howto_client_server.html) for more details on how client/server +coupling works in LAMMPS. -------------- -- GitLab From fd56124a94288635c942ac33a8c4aacd60231d74 Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Wed, 22 Aug 2018 14:17:21 -0600 Subject: [PATCH 551/675] corrected remap call and logic for check if correct solver / tolerance combinations are set --- src/USER-SCAFACOS/scafacos.cpp | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index d047853b55..7c2dd0b68d 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -222,25 +222,14 @@ void Scafacos::compute(int eflag, int vflag) // pack coords into xpbc and apply PBC memcpy(xpbc,&x[0][0],3*nlocal*sizeof(double)); - // RENE: remove this section (see RENE below) - - //int j = 0; - for (int i = 0; i < nlocal; i++) { - if (domain->xperiodic) domain->remap(&xpbc[3*i]); - if (domain->yperiodic) domain->remap(&xpbc[3*i+1]); - if (domain->zperiodic) domain->remap(&xpbc[3*i+2]); - //j += 3; - } - - // RENE: I think the call to domain->remap needs to be this way - // b/c the remap() method checks for PBC and does all 3 dims at once int j = 0; - for (int i = 0; i < nlocal; i++) { - domain->remap(&xpbc[j]); - j += 3; + if (domain->xperiodic || domain -> yperiodic || domain -> zperiodic){ + for (int i = 0; i < nlocal; i++) { + domain->remap(&xpbc[j]); + j += 3; + } } - // if simulation box has changed, call fcs_tune() if (box_has_changed()) { @@ -328,20 +317,20 @@ int Scafacos::modify_param(int narg, char **arg) tolerance_type != FCS_TOLERANCE_TYPE_ENERGY && tolerance_type != FCS_TOLERANCE_TYPE_ENERGY_REL ) - ) && + ) || ( strcmp(method,"p2nfft") == 0 && ( tolerance_type != FCS_TOLERANCE_TYPE_FIELD && tolerance_type != FCS_TOLERANCE_TYPE_POTENTIAL ) - ) && + ) || ( strcmp(method,"p3m") == 0 && ( tolerance_type != FCS_TOLERANCE_TYPE_FIELD ) - ) && + ) || ( strcmp(method,"ewald") == 0 && ( -- GitLab From 8930a88e99d4c812f2eb78403b3ec37c9f7c8cba Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 22 Aug 2018 15:12:52 -0600 Subject: [PATCH 552/675] enrich the AIMD interface --- src/MESSAGE/fix_client_md.cpp | 97 ++++++++++++++++---------- src/MESSAGE/fix_client_md.h | 6 +- src/MESSAGE/server_md.cpp | 125 +++++++++++++++++++--------------- 3 files changed, 134 insertions(+), 94 deletions(-) diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp index 9ca6df4edc..9c270ac2c9 100644 --- a/src/MESSAGE/fix_client_md.cpp +++ b/src/MESSAGE/fix_client_md.cpp @@ -28,8 +28,9 @@ using namespace LAMMPS_NS; using namespace CSLIB_NS; using namespace FixConst; +enum{REAL,METAL} enum{SETUP=1,STEP}; -enum{UNITS=1,DIM,NATOMS,NTYPES,BOXLO,BOXHI,BOXTILT,TYPES,COORDS,CHARGE}; +enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,CHARGE}; enum{FORCES=1,ENERGY,VIRIAL}; /* ---------------------------------------------------------------------- */ @@ -44,14 +45,32 @@ FixClientMD::FixClientMD(LAMMPS *lmp, int narg, char **arg) : if (sizeof(tagint) != 4) error->all(FLERR,"Fix client/md requires 4-byte atom IDs"); + if (strcmp(update->unit_style,"real") == 0) units = REAL; + else if (strcmp(update->unit_style,"metal") == 0) units = METAL; + else error->all(FLERR,"Units must be real or metal for fix client/md"); + scalar_flag = 1; global_freq = 1; extscalar = 1; virial_flag = 1; thermo_virial = 1; + if (domain->dimension == 2) + box[0][2] = box[1][2] = box[2][0] = box[2][1] = box[2][2] = 0.0; + maxatom = 0; xpbc = NULL; + + // unit conversion factors + + double inv_nprocs = 1.0 / comm->nprocs; + + fconvert = econvert = vconvert = 1.0; + if (units == REAL) { + fconvert = 1.0; + econvert = 1.0; + vconvert = 1.0; + } } /* ---------------------------------------------------------------------- */ @@ -101,34 +120,28 @@ void FixClientMD::setup(int vflag) { CSlib *cs = (CSlib *) lmp->cslib; - // required fields: NATOMS, NTYPES, BOXLO, BOXHI, TYPES, COORDS + // required fields: DIM, PERIODICTY, ORIGIN, BOX, NATOMS, NTYPES, TYPES, COORDS // optional fields: others in enum above - int nfields = 6; - if (domain->dimension == 2) nfields++; - if (domain->triclinic) nfields++; + int nfields = 8; if (atom->q_flag) nfields++; cs->send(SETUP,nfields); + cs->pack_int(DIM,domain->dimension); + cs->pack(PERIODICITY,1,3,domain->periodicity); + + pack_box(); + cs->pack(ORIGIN,4,3,domain->boxlo); + cs->pack(BOX,4,9,&box[0][0]); + cs->pack_int(NATOMS,atom->natoms); cs->pack_int(NTYPES,atom->ntypes); - cs->pack(BOXLO,4,3,domain->boxlo); - cs->pack(BOXHI,4,3,domain->boxhi); + cs->pack_parallel(TYPES,1,atom->nlocal,atom->tag,1,atom->type); pack_coords(); cs->pack_parallel(COORDS,4,atom->nlocal,atom->tag,3,xpbc); - if (domain->dimension == 2) cs->pack_int(DIM,domain->dimension); - if (domain->triclinic) { - double boxtilt[3]; - boxtilt[0] = domain->xy; - if (domain->dimension == 3) { - boxtilt[1] = domain->xz; - boxtilt[2] = domain->yz; - } else boxtilt[1] = boxtilt[2] = 0.0; - cs->pack(BOXTILT,4,3,boxtilt); - } if (atom->q_flag) cs->pack_parallel(CHARGE,4,atom->nlocal,atom->tag,1,atom->q); @@ -156,7 +169,7 @@ void FixClientMD::post_force(int vflag) else evflag = 0; // required fields: COORDS - // optional fields: BOXLO, BOXHI, BOXTILT + // optional fields: ORIGIN, BOX // send coords @@ -164,7 +177,6 @@ void FixClientMD::post_force(int vflag) int nfields = 1; if (domain->box_change) nfields += 2; - if (domain->box_change && domain->triclinic) nfields++;; cs->send(STEP,nfields); @@ -172,17 +184,9 @@ void FixClientMD::post_force(int vflag) cs->pack_parallel(COORDS,4,atom->nlocal,atom->tag,3,xpbc); if (domain->box_change) { - cs->pack(BOXLO,4,3,domain->boxlo); - cs->pack(BOXHI,4,3,domain->boxhi); - if (domain->triclinic) { - double boxtilt[3]; - boxtilt[0] = domain->xy; - if (domain->dimension == 3) { - boxtilt[1] = domain->xz; - boxtilt[2] = domain->yz; - } else boxtilt[1] = boxtilt[2] = 0.0; - cs->pack(BOXTILT,4,3,boxtilt); - } + pack_box(); + cs->pack(ORIGIN,4,3,domain->boxlo); + cs->pack(BOX,4,9,&box[0][0]); } // recv forces, energy, virial @@ -230,6 +234,26 @@ void FixClientMD::pack_coords() } } +/* ---------------------------------------------------------------------- + pack box info into box = 3 edge vectors of simulation box +------------------------------------------------------------------------- */ + +void FixClientMD::pack_box() +{ + double *boxlo = domain->boxlo; + double *boxhi = domain->boxhi; + + box[0][0] = boxhi[0] - boxlo[0]; + box[0][1] = 0.0; + box[0][2] = 0.0; + box[1][0] = domain->xy; + box[1][1] = boxhi[1] - boxlo[1]; + box[1][2] = 0.0; + box[2][0] = domain->xz; + box[2][1] = domain->yz; + box[2][2] = boxhi[2] - boxlo[2]; +} + /* ---------------------------------------------------------------------- receive message from server with forces, energy, virial ------------------------------------------------------------------------- */ @@ -254,18 +278,17 @@ void FixClientMD::receive_fev(int vflag) m = atom->map(id); if (m < 0 || m >= nlocal) j += 3; else { - f[m][0] += forces[j++]; - f[m][1] += forces[j++]; - f[m][2] += forces[j++]; + f[m][0] += fconvert * forces[j++]; + f[m][1] += fconvert * forces[j++]; + f[m][2] += fconvert * forces[j++]; } } - eng = cs->unpack_double(ENERGY); - + eng = econvert * cs->unpack_double(ENERGY); + if (vflag) { double *v = (double *) cs->unpack(VIRIAL); - double invnprocs = 1.0 / comm->nprocs; for (int i = 0; i < 6; i++) - virial[i] = invnprocs*v[i]; + virial[i] = inv_nprocs * vconvert * v[i]; } } diff --git a/src/MESSAGE/fix_client_md.h b/src/MESSAGE/fix_client_md.h index 8e4ec0c6de..b6561bce41 100644 --- a/src/MESSAGE/fix_client_md.h +++ b/src/MESSAGE/fix_client_md.h @@ -38,10 +38,14 @@ class FixClientMD : public Fix { private: void *cslib; - int maxatom; + int maxatom,units; + double box[3][3]; double eng; double *xpbc; + double inv_nprocs; + double fconvert,econvert,vconvert; + void pack_coords(); void receive_fev(int ); }; diff --git a/src/MESSAGE/server_md.cpp b/src/MESSAGE/server_md.cpp index 9783383553..af93c3b4b0 100644 --- a/src/MESSAGE/server_md.cpp +++ b/src/MESSAGE/server_md.cpp @@ -33,8 +33,9 @@ using namespace LAMMPS_NS; using namespace CSLIB_NS; +enum{REAL,METAL} enum{SETUP=1,STEP}; -enum{UNITS=1,DIM,NATOMS,NTYPES,BOXLO,BOXHI,BOXTILT,TYPES,COORDS,CHARGE}; +enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,CHARGE}; enum{FORCES=1,ENERGY,VIRIAL}; // NOTE: features that could be added to this interface @@ -54,9 +55,13 @@ ServerMD::ServerMD(LAMMPS *lmp) : Pointers(lmp) if (domain->box_exist == 0) error->all(FLERR,"Server command before simulation box is defined"); - if (!atom->map_style) error->all(FLERR,"Server md mode requires atom map"); - if (atom->tag_enable == 0) error->all(FLERR,"Server md mode requires atom IDs"); + if (!atom->map_style) error->all(FLERR,"Server md requires atom map"); + if (atom->tag_enable == 0) error->all(FLERR,"Server md requires atom IDs"); if (sizeof(tagint) != 4) error->all(FLERR,"Server md requires 4-byte atom IDs"); + + if (strcmp(update->unit_style,"real") == 0) units = REAL; + else if (strcmp(update->unit_style,"metal") == 0) units = METAL; + else error->all(FLERR,"Units must be real or metal for server md"); } /* ---------------------------------------------------------------------- */ @@ -90,24 +95,31 @@ void ServerMD::loop() if (msgID == SETUP) { + int dim = 0; + int *periodicity = NULL; int natoms = -1; int ntypes = -1; - double *boxlo = NULL; - double *boxhi = NULL; - double *boxtilt = NULL; + double *origin = NULL; + double *box = NULL; int *types = NULL; double *coords = NULL; double *charge = NULL; for (int ifield = 0; ifield < nfield; ifield++) { - if (fieldID[ifield] == UNITS) { - char *units = cs->unpack_string(UNITS); - if (strcmp(units,update->unit_style) != 0) - error->all(FLERR,"Server md units mis-match with client"); - } else if (fieldID[ifield] == DIM) { - int dim = cs->unpack_int(DIM); - if (dim != domain->dimension) + if (fieldID[ifield] == DIM) { + dim = cs->unpack_int(DIM); + if (dim != domain->dimension) error->all(FLERR,"Server md dimension mis-match with client"); + } else if (fieldID[ifield] == PERIODICITY) { + periodicity = (int *) cs->unpack(PERIODICITY); + if (periodicity[0] != domain->periodicity[0] || + periodicity[1] != domain->periodicity[1] + periodicity[2] != domain->periodicity[2]) + error->all(FLERR,"Server md periodicity mis-match with client"); + } else if (fieldID[ifield] == ORIGIN) { + origin = (double *) cs->unpack(ORIGIN); + } else if (fieldID[ifield] == BOX) { + box = (double *) cs->unpack(BOX); } else if (fieldID[ifield] == NATOMS) { natoms = cs->unpack_int(NATOMS); if (3*natoms > INT_MAX) @@ -116,12 +128,6 @@ void ServerMD::loop() ntypes = cs->unpack_int(NTYPES); if (ntypes != atom->ntypes) error->all(FLERR,"Server md ntypes mis-match with client"); - } else if (fieldID[ifield] == BOXLO) { - boxlo = (double *) cs->unpack(BOXLO); - } else if (fieldID[ifield] == BOXHI) { - boxhi = (double *) cs->unpack(BOXHI); - } else if (fieldID[ifield] == BOXTILT) { - boxtilt = (double *) cs->unpack(BOXTILT); } else if (fieldID[ifield] == TYPES) { types = (int *) cs->unpack(TYPES); } else if (fieldID[ifield] == COORDS) { @@ -131,7 +137,8 @@ void ServerMD::loop() } else error->all(FLERR,"Server md setup field unknown"); } - if (natoms < 0 || ntypes < 0 || !boxlo || !boxhi || !types || !coords) + if (dim == 0 || !periodicity || !origin || !box || + natoms < 0 || ntypes < 0 || !types || !coords) error->all(FLERR,"Required server md setup field not received"); if (charge && atom->q_flag == 0) @@ -139,8 +146,12 @@ void ServerMD::loop() // reset box, global and local // reset proc decomposition + + if ((box[3] != 0.0 || box[6] != 0.0 || box[7] != 0.0) && + domain->triclinic == 0) + error->all(FLERR,"Server md is not initialized for a triclinic box"); - box_change(boxlo,boxhi,boxtilt); + box_change(origin,box); domain->set_initial_box(); domain->set_global_box(); @@ -166,7 +177,7 @@ void ServerMD::loop() int ntotal; MPI_Allreduce(&atom->nlocal,&ntotal,1,MPI_INT,MPI_SUM,world); if (ntotal != natoms) - error->all(FLERR,"Server md atom cound does not match client"); + error->all(FLERR,"Server md atom count does not match client"); atom->map_init(); atom->map_set(); @@ -190,29 +201,34 @@ void ServerMD::loop() } else if (msgID == STEP) { - double *boxlo = NULL; - double *boxhi = NULL; - double *boxtilt = NULL; double *coords = NULL; + double *origin = NULL; + double *box = NULL; for (int ifield = 0; ifield < nfield; ifield++) { - if (fieldID[ifield] == BOXLO) { - boxlo = (double *) cs->unpack(BOXLO); - } else if (fieldID[ifield] == BOXHI) { - boxhi = (double *) cs->unpack(BOXHI); - } else if (fieldID[ifield] == BOXTILT) { - boxtilt = (double *) cs->unpack(BOXTILT); - } else if (fieldID[ifield] == COORDS) { + if (fieldID[ifield] == COORDS) { coords = (double *) cs->unpack(COORDS); + } else if (fieldID[ifield] == ORIGIN) { + origin = (double *) cs->unpack(ORIGIN); + } else if (fieldID[ifield] == BOX) { + box = (double *) cs->unpack(BOX); } else error->all(FLERR,"Server md step field unknown"); } if (!coords) error->all(FLERR,"Required server md step field not received"); - // change box size/shape, only if both box lo/hi received + // change box size/shape, only if origin and box received + // reset global/local box like FixDeform at end_of_step() - if (boxlo && boxhi) box_change(boxlo,boxhi,boxtilt); + if (origin && box) { + if ((box[3] != 0.0 || box[6] != 0.0 || box[7] != 0.0) && + domain->triclinic == 0) + error->all(FLERR,"Server md is not initialized for a triclinic box"); + box_change(origin,box); + domain->set_global_box(); + domain->set_local_box(); + } // assign received coords to owned atoms // closest_image() insures xyz matches current server PBC @@ -231,9 +247,11 @@ void ServerMD::loop() } } - // if no need to reneighbor, just ghost comm - // else setup_minimal(1) which includes reneigh - // setup_minimal computes forces for 0 or 1 + // if no need to reneighbor: + // ghost comm + // setup_minimal(0) which just computes forces + // else: + // setup_minimal(1) for pbc, reset_box, reneigh, forces int nflag = neighbor->decide(); if (nflag == 0) { @@ -278,26 +296,21 @@ void ServerMD::loop() box change due to received message ------------------------------------------------------------------------- */ -void ServerMD::box_change(double *boxlo, double *boxhi, double *boxtilt) +void ServerMD::box_change(double *origin, double *box) { - domain->boxlo[0] = boxlo[0]; - domain->boxhi[0] = boxhi[0]; - domain->boxlo[1] = boxlo[1]; - domain->boxhi[1] = boxhi[1]; - if (domain->dimension == 3) { - domain->boxlo[2] = boxlo[2]; - domain->boxhi[2] = boxhi[2]; - } - - if (boxtilt) { - if (!domain->triclinic) - error->all(FLERR,"Server md not setup for triclinic box"); - domain->xy = boxtilt[0]; - if (domain->dimension == 3) { - domain->xz = boxtilt[1]; - domain->yz = boxtilt[2]; - } - } + domain->boxlo[0] = origin[0]; + domain->boxlo[1] = origin[1]; + domain->boxlo[2] = origin[2]; + + domain->boxhi[0] = origin[0] + box[0]; + domain->boxhi[1] = origin[1] + box[4]; + domain->boxhi[2] = origin[2] + box[8]; + + domain->xy = box[3]; + domain->xz = box[6]; + domain->yz = box[7]; + + } /* ---------------------------------------------------------------------- -- GitLab From a1098d5796e838540f7e1b2bf72777360024a668 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 18:45:32 -0400 Subject: [PATCH 553/675] fix broken and inconsistent links in the manual --- doc/src/Commands_bond.txt | 2 +- doc/src/Howto_spherical.txt | 2 +- doc/src/Packages_details.txt | 8 ++++---- doc/src/Python_call.txt | 2 +- doc/src/Speed_intel.txt | 2 +- doc/src/Speed_packages.txt | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/src/Commands_bond.txt b/doc/src/Commands_bond.txt index 48069d3120..0cf433d53a 100644 --- a/doc/src/Commands_bond.txt +++ b/doc/src/Commands_bond.txt @@ -95,7 +95,7 @@ OPT. "helix (o)"_dihedral_helix.html, "multi/harmonic (o)"_dihedral_multi_harmonic.html, "nharmonic (o)"_dihedral_nharmonic.html, -"opls (iko)"_dihedral_opls.htm;, +"opls (iko)"_dihedral_opls.html, "quadratic (o)"_dihedral_quadratic.html, "spherical (o)"_dihedral_spherical.html, "table (o)"_dihedral_table.html, diff --git a/doc/src/Howto_spherical.txt b/doc/src/Howto_spherical.txt index 1e737df655..4dfe4e2f6c 100644 --- a/doc/src/Howto_spherical.txt +++ b/doc/src/Howto_spherical.txt @@ -159,7 +159,7 @@ ellipsoidal particles: The advantage of these fixes is that those which thermostat the particles include the rotational degrees of freedom in the temperature -calculation and thermostatting. The "fix langevin"_fix_langevin +calculation and thermostatting. The "fix langevin"_fix_langevin.html command can also be used with its {omgea} or {angmom} options to thermostat the rotational degrees of freedom for spherical or ellipsoidal particles. Other thermostatting fixes only operate on the diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 892774be38..e4ca846cc3 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -297,7 +297,7 @@ lib/gpu/README "Section 2.6 -sf gpu"_Run_options.html "Section 2.6 -pk gpu"_Run_options.html "package gpu"_package.html -"Commands all"_Commands_all.html pages (pair,kspace) for styles followed by (g) +"Commands all"_lc pages (pair,kspace) for styles followed by (g) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line @@ -412,7 +412,7 @@ lib/kokkos/README "Section 2.6 -sf kk"_Run_options.html "Section 2.6 -pk kokkos"_Run_options.html "package kokkos"_package.html -"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (k) +"Commands all"_lc pages (fix,compute,pair,etc) for styles followed by (k) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line @@ -1392,7 +1392,7 @@ src/USER-INTEL/README "Section 2.6 -sf intel"_Run_options.html "Section 2.6 -pk intel"_Run_options.html "package intel"_package.html -"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (i) +"Commands all"_lc pages (fix,compute,pair,etc) for styles followed by (i) src/USER-INTEL/TEST "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul @@ -1698,7 +1698,7 @@ src/USER-OMP/README "Section 2.6 -sf omp"_Run_options.html "Section 2.6 -pk omp"_Run_options.html "package omp"_package.html -"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (o) +"Commands all"_lc pages (fix,compute,pair,etc) for styles followed by (o) "Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul :line diff --git a/doc/src/Python_call.txt b/doc/src/Python_call.txt index 029c8f831c..3854552188 100644 --- a/doc/src/Python_call.txt +++ b/doc/src/Python_call.txt @@ -59,7 +59,7 @@ and callbacks to LAMMPS. The "fix python/invoke"_fix_python_invoke.html command can execute Python code at selected timesteps during a simulation run. -The "pair_style python"_pair_python command allows you to define +The "pair_style python"_pair_python.html command allows you to define pairwise potentials as python code which encodes a single pairwise interaction. This is useful for rapid-developement and debugging of a new potential. diff --git a/doc/src/Speed_intel.txt b/doc/src/Speed_intel.txt index ef876a7d42..3b25ade4d2 100644 --- a/doc/src/Speed_intel.txt +++ b/doc/src/Speed_intel.txt @@ -400,7 +400,7 @@ within the input script to automatically append the "omp" suffix to styles when USER-INTEL styles are not available. NOTE: For simulations on higher node counts, add "processors * * * -grid numa"_processors.html" to the beginning of the input script for +grid numa"_processors.html to the beginning of the input script for better scalability. When running on many nodes, performance might be better when using diff --git a/doc/src/Speed_packages.txt b/doc/src/Speed_packages.txt index 6c837885cd..4c87091e7e 100644 --- a/doc/src/Speed_packages.txt +++ b/doc/src/Speed_packages.txt @@ -72,7 +72,7 @@ Lennard-Jones "pair_style lj/cut"_pair_lj.html: "pair_style lj/cut/opt"_pair_lj.html :ul To see what accelerate styles are currently available for a particular -style, find the style name in the "Commands_all"_Commands_all.html +style, find the style name in the "Commands_all"_lc style pages (fix,compute,pair,etc) and see what suffixes are listed (g,i,k,o,t) with it. The doc pages for individual commands (e.g. "pair lj/cut"_pair_lj.html or "fix nve"_fix_nve.html) also list -- GitLab From 4074c4c67f6a15d85fefcfb19eb83c25d404c34d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 19:08:07 -0400 Subject: [PATCH 554/675] correct some more broken or outdated links --- doc/src/Build_settings.txt | 4 ++-- doc/src/Packages_details.txt | 5 +++-- doc/src/Packages_user.txt | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/src/Build_settings.txt b/doc/src/Build_settings.txt index 773217e3a0..dfe2f900f3 100644 --- a/doc/src/Build_settings.txt +++ b/doc/src/Build_settings.txt @@ -80,8 +80,8 @@ per-timestep CPU cost, FFTs are only a portion of long-range Coulombics, and 1d FFTs are only a portion of the FFT cost (parallel communication can be costly). A breakdown of these timings is printed to the screen at the end of a run using the "kspace_style -pppm"_kspace_style.html command. The "Run output"_doc page gives more -details. +pppm"_kspace_style.html command. The "Run output"_Run_output.html +doc page gives more details. FFTW is a fast, portable FFT library that should also work on any platform and can be faster than the KISS FFT library. You can diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index e4ca846cc3..c415a4058c 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -1582,8 +1582,6 @@ molecular visualization and analysis program, to enable LAMMPS to dump snapshots in formats compatible with various molecular simulation tools. -:link(vmd_home,http://www.ks.uiuc.edu/Research/vmd) - To use this package you must have the desired VMD plugins available on your system. @@ -1635,6 +1633,7 @@ tools: "AtomEye"_atomeye (the libAtoms version of AtomEye contains a NetCDF reader not present in the standard distribution) :ul :link(ovito,http://www.ovito.org) +:link(vmd_home,https://www.ks.uiuc.edu/Research/vmd/) :link(atomeye,http://www.libatoms.org) [Author:] Lars Pastewka (Karlsruhe Institute of Technology). @@ -1998,3 +1997,5 @@ src/USER-VTK: filenames -> commands src/USER-VTK/README lib/vtk/README "dump vtk"_dump_vtk.html :ul + + diff --git a/doc/src/Packages_user.txt b/doc/src/Packages_user.txt index c1a52fd0d0..7db2fa895c 100644 --- a/doc/src/Packages_user.txt +++ b/doc/src/Packages_user.txt @@ -58,7 +58,7 @@ Package, Description, Doc page, Example, Library "USER-MGPT"_Packages_details.html#PKG-USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, no "USER-MISC"_Packages_details.html#PKG-USER-MISC, single-file contributions, USER-MISC/README, USER/misc, no "USER-MOFFF"_Packages_details.html#PKG-USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, no -"USER-MOLFILE"_Packages_details.html#PKG-USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, n/a, ext +"USER-MOLFILE"_Packages_details.html#PKG-USER-MOLFILE, "VMD"_https://www.ks.uiuc.edu/Research/vmd/ molfile plug-ins,"dump molfile"_dump_molfile.html, n/a, ext "USER-NETCDF"_Packages_details.html#PKG-USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, n/a, ext "USER-OMP"_Packages_details.html#PKG-USER-OMP, OpenMP-enabled styles,"Speed omp"_Speed_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no "USER-PHONON"_Packages_details.html#PKG-USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, no -- GitLab From 2aa4770e0decd7f4bf2c739c095db8b5519b9c5a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 19:16:11 -0400 Subject: [PATCH 555/675] correct link in AtC html docs --- doc/src/USER/atc/man_add_molecule.html | 2 +- doc/src/USER/atc/man_add_species.html | 2 +- doc/src/USER/atc/man_atom_element_map.html | 2 +- doc/src/USER/atc/man_atom_weight.html | 2 +- doc/src/USER/atc/man_atomic_charge.html | 2 +- doc/src/USER/atc/man_boundary.html | 2 +- doc/src/USER/atc/man_boundary_dynamics.html | 2 +- doc/src/USER/atc/man_boundary_faceset.html | 2 +- doc/src/USER/atc/man_boundary_integral.html | 2 +- doc/src/USER/atc/man_consistent_fe_initialization.html | 2 +- doc/src/USER/atc/man_contour_integral.html | 2 +- doc/src/USER/atc/man_control.html | 2 +- doc/src/USER/atc/man_control_momentum.html | 2 +- doc/src/USER/atc/man_control_thermal.html | 2 +- .../USER/atc/man_control_thermal_correction_max_iterations.html | 2 +- doc/src/USER/atc/man_decomposition.html | 2 +- doc/src/USER/atc/man_electron_integration.html | 2 +- doc/src/USER/atc/man_equilibrium_start.html | 2 +- doc/src/USER/atc/man_extrinsic_exchange.html | 2 +- doc/src/USER/atc/man_fe_md_boundary.html | 2 +- doc/src/USER/atc/man_fem_mesh.html | 2 +- doc/src/USER/atc/man_filter_scale.html | 2 +- doc/src/USER/atc/man_filter_type.html | 2 +- doc/src/USER/atc/man_fix_atc.html | 2 +- doc/src/USER/atc/man_fix_flux.html | 2 +- doc/src/USER/atc/man_fix_nodes.html | 2 +- doc/src/USER/atc/man_hardy_computes.html | 2 +- doc/src/USER/atc/man_hardy_fields.html | 2 +- doc/src/USER/atc/man_hardy_gradients.html | 2 +- doc/src/USER/atc/man_hardy_kernel.html | 2 +- doc/src/USER/atc/man_hardy_on_the_fly.html | 2 +- doc/src/USER/atc/man_hardy_rates.html | 2 +- doc/src/USER/atc/man_initial.html | 2 +- doc/src/USER/atc/man_internal_atom_integrate.html | 2 +- doc/src/USER/atc/man_internal_element_set.html | 2 +- doc/src/USER/atc/man_internal_quadrature.html | 2 +- doc/src/USER/atc/man_kernel_function.html | 2 +- doc/src/USER/atc/man_localized_lambda.html | 2 +- doc/src/USER/atc/man_lumped_lambda_solve.html | 2 +- doc/src/USER/atc/man_mask_direction.html | 2 +- doc/src/USER/atc/man_mass_matrix.html | 2 +- doc/src/USER/atc/man_material.html | 2 +- doc/src/USER/atc/man_mesh_add_to_nodeset.html | 2 +- doc/src/USER/atc/man_mesh_create.html | 2 +- doc/src/USER/atc/man_mesh_create_elementset.html | 2 +- doc/src/USER/atc/man_mesh_create_faceset_box.html | 2 +- doc/src/USER/atc/man_mesh_create_faceset_plane.html | 2 +- doc/src/USER/atc/man_mesh_create_nodeset.html | 2 +- doc/src/USER/atc/man_mesh_delete_elements.html | 2 +- doc/src/USER/atc/man_mesh_nodeset_to_elementset.html | 2 +- doc/src/USER/atc/man_mesh_output.html | 2 +- doc/src/USER/atc/man_mesh_quadrature.html | 2 +- doc/src/USER/atc/man_mesh_read.html | 2 +- doc/src/USER/atc/man_mesh_write.html | 2 +- doc/src/USER/atc/man_momentum_time_integration.html | 2 +- doc/src/USER/atc/man_output.html | 2 +- doc/src/USER/atc/man_output_elementset.html | 2 +- doc/src/USER/atc/man_output_nodeset.html | 2 +- doc/src/USER/atc/man_pair_interactions.html | 2 +- doc/src/USER/atc/man_poisson_solver.html | 2 +- doc/src/USER/atc/man_read_restart.html | 2 +- doc/src/USER/atc/man_remove_molecule.html | 2 +- doc/src/USER/atc/man_remove_source.html | 2 +- doc/src/USER/atc/man_remove_species.html | 2 +- doc/src/USER/atc/man_reset_atomic_reference_positions.html | 2 +- doc/src/USER/atc/man_reset_time.html | 2 +- doc/src/USER/atc/man_sample_frequency.html | 2 +- doc/src/USER/atc/man_set.html | 2 +- doc/src/USER/atc/man_source.html | 2 +- doc/src/USER/atc/man_source_integration.html | 2 +- doc/src/USER/atc/man_temperature_definition.html | 2 +- doc/src/USER/atc/man_thermal_time_integration.html | 2 +- doc/src/USER/atc/man_time_filter.html | 2 +- doc/src/USER/atc/man_track_displacement.html | 2 +- doc/src/USER/atc/man_unfix_flux.html | 2 +- doc/src/USER/atc/man_unfix_nodes.html | 2 +- doc/src/USER/atc/man_write_atom_weights.html | 2 +- doc/src/USER/atc/man_write_restart.html | 2 +- 78 files changed, 78 insertions(+), 78 deletions(-) diff --git a/doc/src/USER/atc/man_add_molecule.html b/doc/src/USER/atc/man_add_molecule.html index 8d9625e1bd..4e7810aa61 100644 --- a/doc/src/USER/atc/man_add_molecule.html +++ b/doc/src/USER/atc/man_add_molecule.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_add_species.html b/doc/src/USER/atc/man_add_species.html index 9beded1b16..a990ab626f 100644 --- a/doc/src/USER/atc/man_add_species.html +++ b/doc/src/USER/atc/man_add_species.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_atom_element_map.html b/doc/src/USER/atc/man_atom_element_map.html index 6725170928..a5707d280e 100644 --- a/doc/src/USER/atc/man_atom_element_map.html +++ b/doc/src/USER/atc/man_atom_element_map.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_atom_weight.html b/doc/src/USER/atc/man_atom_weight.html index 28bc90fa01..350ab13b92 100644 --- a/doc/src/USER/atc/man_atom_weight.html +++ b/doc/src/USER/atc/man_atom_weight.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_atomic_charge.html b/doc/src/USER/atc/man_atomic_charge.html index ef787f53ac..17e854a37f 100644 --- a/doc/src/USER/atc/man_atomic_charge.html +++ b/doc/src/USER/atc/man_atomic_charge.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_boundary.html b/doc/src/USER/atc/man_boundary.html index 61596d3b31..8dcf328dd3 100644 --- a/doc/src/USER/atc/man_boundary.html +++ b/doc/src/USER/atc/man_boundary.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_boundary_dynamics.html b/doc/src/USER/atc/man_boundary_dynamics.html index 40b82f3f61..335ff2d209 100644 --- a/doc/src/USER/atc/man_boundary_dynamics.html +++ b/doc/src/USER/atc/man_boundary_dynamics.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_boundary_faceset.html b/doc/src/USER/atc/man_boundary_faceset.html index 7eb950f78e..6c2fb84940 100644 --- a/doc/src/USER/atc/man_boundary_faceset.html +++ b/doc/src/USER/atc/man_boundary_faceset.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_boundary_integral.html b/doc/src/USER/atc/man_boundary_integral.html index 0663dba176..c4b0d4865e 100644 --- a/doc/src/USER/atc/man_boundary_integral.html +++ b/doc/src/USER/atc/man_boundary_integral.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_consistent_fe_initialization.html b/doc/src/USER/atc/man_consistent_fe_initialization.html index a731b09116..baa306a1c8 100644 --- a/doc/src/USER/atc/man_consistent_fe_initialization.html +++ b/doc/src/USER/atc/man_consistent_fe_initialization.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_contour_integral.html b/doc/src/USER/atc/man_contour_integral.html index 690f0fcc98..16f6d9abad 100644 --- a/doc/src/USER/atc/man_contour_integral.html +++ b/doc/src/USER/atc/man_contour_integral.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_control.html b/doc/src/USER/atc/man_control.html index 900952ba0b..e94a9a52ef 100644 --- a/doc/src/USER/atc/man_control.html +++ b/doc/src/USER/atc/man_control.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_control_momentum.html b/doc/src/USER/atc/man_control_momentum.html index 8f4f486595..e3074eae8f 100644 --- a/doc/src/USER/atc/man_control_momentum.html +++ b/doc/src/USER/atc/man_control_momentum.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_control_thermal.html b/doc/src/USER/atc/man_control_thermal.html index eab186f715..8d32f1c4f9 100644 --- a/doc/src/USER/atc/man_control_thermal.html +++ b/doc/src/USER/atc/man_control_thermal.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html b/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html index a337a495e0..d28ec334f5 100644 --- a/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html +++ b/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_decomposition.html b/doc/src/USER/atc/man_decomposition.html index d54a201034..98eedafa6c 100644 --- a/doc/src/USER/atc/man_decomposition.html +++ b/doc/src/USER/atc/man_decomposition.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_electron_integration.html b/doc/src/USER/atc/man_electron_integration.html index ab454c16d2..7cf40f6813 100644 --- a/doc/src/USER/atc/man_electron_integration.html +++ b/doc/src/USER/atc/man_electron_integration.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_equilibrium_start.html b/doc/src/USER/atc/man_equilibrium_start.html index d01253c4b3..8c81ce5925 100644 --- a/doc/src/USER/atc/man_equilibrium_start.html +++ b/doc/src/USER/atc/man_equilibrium_start.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_extrinsic_exchange.html b/doc/src/USER/atc/man_extrinsic_exchange.html index 4f1f5962d9..f4d1b01e88 100644 --- a/doc/src/USER/atc/man_extrinsic_exchange.html +++ b/doc/src/USER/atc/man_extrinsic_exchange.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_fe_md_boundary.html b/doc/src/USER/atc/man_fe_md_boundary.html index e517dd4855..e39ddd3cec 100644 --- a/doc/src/USER/atc/man_fe_md_boundary.html +++ b/doc/src/USER/atc/man_fe_md_boundary.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_fem_mesh.html b/doc/src/USER/atc/man_fem_mesh.html index b8ba584816..485b8c95a0 100644 --- a/doc/src/USER/atc/man_fem_mesh.html +++ b/doc/src/USER/atc/man_fem_mesh.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_filter_scale.html b/doc/src/USER/atc/man_filter_scale.html index 7a871f5c81..e2190dea21 100644 --- a/doc/src/USER/atc/man_filter_scale.html +++ b/doc/src/USER/atc/man_filter_scale.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_filter_type.html b/doc/src/USER/atc/man_filter_type.html index 2711d128e9..0928139d7d 100644 --- a/doc/src/USER/atc/man_filter_type.html +++ b/doc/src/USER/atc/man_filter_type.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_fix_atc.html b/doc/src/USER/atc/man_fix_atc.html index 7cc6cfea5b..f6f7b43a38 100644 --- a/doc/src/USER/atc/man_fix_atc.html +++ b/doc/src/USER/atc/man_fix_atc.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_fix_flux.html b/doc/src/USER/atc/man_fix_flux.html index 42815def6b..31bd5619a3 100644 --- a/doc/src/USER/atc/man_fix_flux.html +++ b/doc/src/USER/atc/man_fix_flux.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_fix_nodes.html b/doc/src/USER/atc/man_fix_nodes.html index 03cf86eb92..2245e32607 100644 --- a/doc/src/USER/atc/man_fix_nodes.html +++ b/doc/src/USER/atc/man_fix_nodes.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_hardy_computes.html b/doc/src/USER/atc/man_hardy_computes.html index b45b7dfb01..ec2dc3ccb9 100644 --- a/doc/src/USER/atc/man_hardy_computes.html +++ b/doc/src/USER/atc/man_hardy_computes.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_hardy_fields.html b/doc/src/USER/atc/man_hardy_fields.html index 17903aabd0..483e5be6bd 100644 --- a/doc/src/USER/atc/man_hardy_fields.html +++ b/doc/src/USER/atc/man_hardy_fields.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_hardy_gradients.html b/doc/src/USER/atc/man_hardy_gradients.html index 00935f0ae2..1874ad152e 100644 --- a/doc/src/USER/atc/man_hardy_gradients.html +++ b/doc/src/USER/atc/man_hardy_gradients.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_hardy_kernel.html b/doc/src/USER/atc/man_hardy_kernel.html index f97037784c..620b9b1d36 100644 --- a/doc/src/USER/atc/man_hardy_kernel.html +++ b/doc/src/USER/atc/man_hardy_kernel.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_hardy_on_the_fly.html b/doc/src/USER/atc/man_hardy_on_the_fly.html index 79c1006c97..04d24ff029 100644 --- a/doc/src/USER/atc/man_hardy_on_the_fly.html +++ b/doc/src/USER/atc/man_hardy_on_the_fly.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_hardy_rates.html b/doc/src/USER/atc/man_hardy_rates.html index e51cbc9873..337a92517e 100644 --- a/doc/src/USER/atc/man_hardy_rates.html +++ b/doc/src/USER/atc/man_hardy_rates.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_initial.html b/doc/src/USER/atc/man_initial.html index 41ae06eb8c..c8348c45ed 100644 --- a/doc/src/USER/atc/man_initial.html +++ b/doc/src/USER/atc/man_initial.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_internal_atom_integrate.html b/doc/src/USER/atc/man_internal_atom_integrate.html index dfa19474e5..f76607cc91 100644 --- a/doc/src/USER/atc/man_internal_atom_integrate.html +++ b/doc/src/USER/atc/man_internal_atom_integrate.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_internal_element_set.html b/doc/src/USER/atc/man_internal_element_set.html index 849e8f0671..a5d893f2a3 100644 --- a/doc/src/USER/atc/man_internal_element_set.html +++ b/doc/src/USER/atc/man_internal_element_set.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_internal_quadrature.html b/doc/src/USER/atc/man_internal_quadrature.html index 7f10e17076..6af543cbae 100644 --- a/doc/src/USER/atc/man_internal_quadrature.html +++ b/doc/src/USER/atc/man_internal_quadrature.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_kernel_function.html b/doc/src/USER/atc/man_kernel_function.html index 92db590198..cb02c05c23 100644 --- a/doc/src/USER/atc/man_kernel_function.html +++ b/doc/src/USER/atc/man_kernel_function.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_localized_lambda.html b/doc/src/USER/atc/man_localized_lambda.html index fd845d0a71..88442d63a1 100644 --- a/doc/src/USER/atc/man_localized_lambda.html +++ b/doc/src/USER/atc/man_localized_lambda.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_lumped_lambda_solve.html b/doc/src/USER/atc/man_lumped_lambda_solve.html index ade780ddee..89aabebd3c 100644 --- a/doc/src/USER/atc/man_lumped_lambda_solve.html +++ b/doc/src/USER/atc/man_lumped_lambda_solve.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mask_direction.html b/doc/src/USER/atc/man_mask_direction.html index 31c18b4f1f..ea5a6e357b 100644 --- a/doc/src/USER/atc/man_mask_direction.html +++ b/doc/src/USER/atc/man_mask_direction.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mass_matrix.html b/doc/src/USER/atc/man_mass_matrix.html index 140b745f09..fd744e5bbf 100644 --- a/doc/src/USER/atc/man_mass_matrix.html +++ b/doc/src/USER/atc/man_mass_matrix.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_material.html b/doc/src/USER/atc/man_material.html index c31ab4938d..1646abc671 100644 --- a/doc/src/USER/atc/man_material.html +++ b/doc/src/USER/atc/man_material.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mesh_add_to_nodeset.html b/doc/src/USER/atc/man_mesh_add_to_nodeset.html index 25a5c2cdae..c4976f699d 100644 --- a/doc/src/USER/atc/man_mesh_add_to_nodeset.html +++ b/doc/src/USER/atc/man_mesh_add_to_nodeset.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mesh_create.html b/doc/src/USER/atc/man_mesh_create.html index a7ee112614..98989bd015 100644 --- a/doc/src/USER/atc/man_mesh_create.html +++ b/doc/src/USER/atc/man_mesh_create.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mesh_create_elementset.html b/doc/src/USER/atc/man_mesh_create_elementset.html index 2ac383a974..735d462b73 100644 --- a/doc/src/USER/atc/man_mesh_create_elementset.html +++ b/doc/src/USER/atc/man_mesh_create_elementset.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mesh_create_faceset_box.html b/doc/src/USER/atc/man_mesh_create_faceset_box.html index e62a827a78..0ae68435e5 100644 --- a/doc/src/USER/atc/man_mesh_create_faceset_box.html +++ b/doc/src/USER/atc/man_mesh_create_faceset_box.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mesh_create_faceset_plane.html b/doc/src/USER/atc/man_mesh_create_faceset_plane.html index b1969cb79d..cd78816bae 100644 --- a/doc/src/USER/atc/man_mesh_create_faceset_plane.html +++ b/doc/src/USER/atc/man_mesh_create_faceset_plane.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mesh_create_nodeset.html b/doc/src/USER/atc/man_mesh_create_nodeset.html index 39bfffd119..0e3624cf8a 100644 --- a/doc/src/USER/atc/man_mesh_create_nodeset.html +++ b/doc/src/USER/atc/man_mesh_create_nodeset.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mesh_delete_elements.html b/doc/src/USER/atc/man_mesh_delete_elements.html index 60a2fe59a1..e39cc54d41 100644 --- a/doc/src/USER/atc/man_mesh_delete_elements.html +++ b/doc/src/USER/atc/man_mesh_delete_elements.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html b/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html index d05429ebab..66b55a48fb 100644 --- a/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html +++ b/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mesh_output.html b/doc/src/USER/atc/man_mesh_output.html index f768a29c41..1d2983afff 100644 --- a/doc/src/USER/atc/man_mesh_output.html +++ b/doc/src/USER/atc/man_mesh_output.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mesh_quadrature.html b/doc/src/USER/atc/man_mesh_quadrature.html index 46487fdce7..821e50e4cf 100644 --- a/doc/src/USER/atc/man_mesh_quadrature.html +++ b/doc/src/USER/atc/man_mesh_quadrature.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mesh_read.html b/doc/src/USER/atc/man_mesh_read.html index e0571ccf88..315180e1db 100644 --- a/doc/src/USER/atc/man_mesh_read.html +++ b/doc/src/USER/atc/man_mesh_read.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_mesh_write.html b/doc/src/USER/atc/man_mesh_write.html index 756cf49922..f709c02a84 100644 --- a/doc/src/USER/atc/man_mesh_write.html +++ b/doc/src/USER/atc/man_mesh_write.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_momentum_time_integration.html b/doc/src/USER/atc/man_momentum_time_integration.html index 60fbfcd888..ee0505847c 100644 --- a/doc/src/USER/atc/man_momentum_time_integration.html +++ b/doc/src/USER/atc/man_momentum_time_integration.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_output.html b/doc/src/USER/atc/man_output.html index aec1d5d55a..d0a08fa0da 100644 --- a/doc/src/USER/atc/man_output.html +++ b/doc/src/USER/atc/man_output.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_output_elementset.html b/doc/src/USER/atc/man_output_elementset.html index 54079027c5..18afe0aa97 100644 --- a/doc/src/USER/atc/man_output_elementset.html +++ b/doc/src/USER/atc/man_output_elementset.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_output_nodeset.html b/doc/src/USER/atc/man_output_nodeset.html index 2fc6e02681..7906c5fc52 100644 --- a/doc/src/USER/atc/man_output_nodeset.html +++ b/doc/src/USER/atc/man_output_nodeset.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_pair_interactions.html b/doc/src/USER/atc/man_pair_interactions.html index 2cb2cb6113..3ec2eecc60 100644 --- a/doc/src/USER/atc/man_pair_interactions.html +++ b/doc/src/USER/atc/man_pair_interactions.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_poisson_solver.html b/doc/src/USER/atc/man_poisson_solver.html index b6fabbb27c..3e22a51f3e 100644 --- a/doc/src/USER/atc/man_poisson_solver.html +++ b/doc/src/USER/atc/man_poisson_solver.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_read_restart.html b/doc/src/USER/atc/man_read_restart.html index 5fc21282f6..d13151a12e 100644 --- a/doc/src/USER/atc/man_read_restart.html +++ b/doc/src/USER/atc/man_read_restart.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_remove_molecule.html b/doc/src/USER/atc/man_remove_molecule.html index e6ad418de6..54e4e3419f 100644 --- a/doc/src/USER/atc/man_remove_molecule.html +++ b/doc/src/USER/atc/man_remove_molecule.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_remove_source.html b/doc/src/USER/atc/man_remove_source.html index acea7a5607..c15e0ca46d 100644 --- a/doc/src/USER/atc/man_remove_source.html +++ b/doc/src/USER/atc/man_remove_source.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_remove_species.html b/doc/src/USER/atc/man_remove_species.html index 561364518f..ee063ce57f 100644 --- a/doc/src/USER/atc/man_remove_species.html +++ b/doc/src/USER/atc/man_remove_species.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_reset_atomic_reference_positions.html b/doc/src/USER/atc/man_reset_atomic_reference_positions.html index 88e6748001..3c43861054 100644 --- a/doc/src/USER/atc/man_reset_atomic_reference_positions.html +++ b/doc/src/USER/atc/man_reset_atomic_reference_positions.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_reset_time.html b/doc/src/USER/atc/man_reset_time.html index a6429bf6d6..9607848e1a 100644 --- a/doc/src/USER/atc/man_reset_time.html +++ b/doc/src/USER/atc/man_reset_time.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_sample_frequency.html b/doc/src/USER/atc/man_sample_frequency.html index 4e48c4bb29..9a9a8e3a02 100644 --- a/doc/src/USER/atc/man_sample_frequency.html +++ b/doc/src/USER/atc/man_sample_frequency.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_set.html b/doc/src/USER/atc/man_set.html index cf775c9b36..55ad8d952b 100644 --- a/doc/src/USER/atc/man_set.html +++ b/doc/src/USER/atc/man_set.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_source.html b/doc/src/USER/atc/man_source.html index c7239f2c41..78fb1652eb 100644 --- a/doc/src/USER/atc/man_source.html +++ b/doc/src/USER/atc/man_source.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_source_integration.html b/doc/src/USER/atc/man_source_integration.html index 3f43340af8..3b261b7810 100644 --- a/doc/src/USER/atc/man_source_integration.html +++ b/doc/src/USER/atc/man_source_integration.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_temperature_definition.html b/doc/src/USER/atc/man_temperature_definition.html index a07ba29cab..c317c06c00 100644 --- a/doc/src/USER/atc/man_temperature_definition.html +++ b/doc/src/USER/atc/man_temperature_definition.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_thermal_time_integration.html b/doc/src/USER/atc/man_thermal_time_integration.html index fe293138be..830591921e 100644 --- a/doc/src/USER/atc/man_thermal_time_integration.html +++ b/doc/src/USER/atc/man_thermal_time_integration.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_time_filter.html b/doc/src/USER/atc/man_time_filter.html index 732eaa3a36..5000fb079d 100644 --- a/doc/src/USER/atc/man_time_filter.html +++ b/doc/src/USER/atc/man_time_filter.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_track_displacement.html b/doc/src/USER/atc/man_track_displacement.html index f5410816d7..2c7cf26150 100644 --- a/doc/src/USER/atc/man_track_displacement.html +++ b/doc/src/USER/atc/man_track_displacement.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_unfix_flux.html b/doc/src/USER/atc/man_unfix_flux.html index 95e1f4be5a..551896431a 100644 --- a/doc/src/USER/atc/man_unfix_flux.html +++ b/doc/src/USER/atc/man_unfix_flux.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_unfix_nodes.html b/doc/src/USER/atc/man_unfix_nodes.html index 78495c928a..4dfd9b3cfc 100644 --- a/doc/src/USER/atc/man_unfix_nodes.html +++ b/doc/src/USER/atc/man_unfix_nodes.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_write_atom_weights.html b/doc/src/USER/atc/man_write_atom_weights.html index 8a0e5b62a8..1722d74f67 100644 --- a/doc/src/USER/atc/man_write_atom_weights.html +++ b/doc/src/USER/atc/man_write_atom_weights.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      diff --git a/doc/src/USER/atc/man_write_restart.html b/doc/src/USER/atc/man_write_restart.html index 6dca57673b..74c6e2d289 100644 --- a/doc/src/USER/atc/man_write_restart.html +++ b/doc/src/USER/atc/man_write_restart.html @@ -11,7 +11,7 @@ LAMMPS Website     LAMMPS Manual     USER-AtC Manual     - Commands + Commands
      -- GitLab From 357ffef09cbb4c01cfe88ac729e8d47ea2afdd70 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 19:16:36 -0400 Subject: [PATCH 556/675] fix some more broken links detected by ebook conversion --- doc/src/compute_coord_atom.txt | 2 +- doc/src/compute_pressure_uef.txt | 4 ++-- doc/src/compute_temp_uef.txt | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/src/compute_coord_atom.txt b/doc/src/compute_coord_atom.txt index 66eecd195d..ddc4cc82d3 100644 --- a/doc/src/compute_coord_atom.txt +++ b/doc/src/compute_coord_atom.txt @@ -67,7 +67,7 @@ identify crystal-like atoms in a system, as discussed in "ten Wolde"_#tenWolde1. The ID of the previously specified "compute -orientorder/atom"_compute_orientorder/atom command is specified as +orientorder/atom"_compute_orientorder_atom.html command is specified as {orientorderID}. The compute must invoke its {components} option to calculate components of the {Ybar_lm} vector for each atoms, as described in its documentation. Note that orientorder/atom compute diff --git a/doc/src/compute_pressure_uef.txt b/doc/src/compute_pressure_uef.txt index c4c0fc405f..72ed0ba5c4 100644 --- a/doc/src/compute_pressure_uef.txt +++ b/doc/src/compute_pressure_uef.txt @@ -27,8 +27,8 @@ compute 2 all pressure/uef my_temp_uef virial :pre This command is used to compute the pressure tensor in the reference frame of the applied flow field when -"fix nvt/uef"_fix_nh_uef.html" or -"fix npt/uef"_fix_nh_uef.html" is used. +"fix nvt/uef"_fix_nh_uef.html or +"fix npt/uef"_fix_nh_uef.html is used. It is not necessary to use this command to compute the scalar value of the pressure. A "compute pressure"_compute_pressure.html may be used for that purpose. diff --git a/doc/src/compute_temp_uef.txt b/doc/src/compute_temp_uef.txt index 9a509da450..97e1d6e1ae 100644 --- a/doc/src/compute_temp_uef.txt +++ b/doc/src/compute_temp_uef.txt @@ -24,8 +24,8 @@ compute 2 sel temp/uef :pre This command is used to compute the kinetic energy tensor in the reference frame of the applied flow field when -"fix nvt/uef"_fix_nh_uef.html" or -"fix npt/uef"_fix_nh_uef.html" is used. +"fix nvt/uef"_fix_nh_uef.html or +"fix npt/uef"_fix_nh_uef.html is used. It is not necessary to use this command to compute the scalar value of the temperature. A "compute temp"_compute_temp.html may be used for that purpose. -- GitLab From d5089858bdb9ae85f8ba388070765616430cda8f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 19:17:21 -0400 Subject: [PATCH 557/675] add support for the conversion of ePUB to MOBI (compatible with Kindle) --- doc/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/Makefile b/doc/Makefile index 81f3623499..797095dfad 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -31,7 +31,7 @@ SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocess SOURCES=$(filter-out $(wildcard src/lammps_commands*.txt) src/lammps_support.txt src/lammps_tutorials.txt,$(wildcard src/*.txt)) OBJECTS=$(SOURCES:src/%.txt=$(RSTDIR)/%.rst) -.PHONY: help clean-all clean epub html pdf old venv spelling anchor_check +.PHONY: help clean-all clean epub mobi html pdf old venv spelling anchor_check # ------------------------------------------ @@ -42,6 +42,7 @@ help: @echo " old create old-style HTML doc pages in old dir" @echo " fetch fetch HTML and PDF files from LAMMPS web site" @echo " epub create ePUB format manual for e-book readers" + @echo " mobi create MOBI format manual for e-book readers (e.g. Kindle)" @echo " clean remove all intermediate RST files" @echo " clean-all reset the entire build environment" @echo " txt2html build txt2html tool" @@ -106,6 +107,11 @@ epub: $(OBJECTS) @rm -rf epub @echo "Build finished. The ePUB manual file is created." +mobi: epub + @rm -f LAMMPS.mobi + @ebook-convert LAMMPS.epub LAMMPS.mobi + @echo "Conversion finished. The MOBI manual file is created." + pdf: utils/txt2html/txt2html.exe @(\ set -e; \ -- GitLab From 01fe3569041f5f8c19b9f46ebf4600e110bcfeae Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Wed, 22 Aug 2018 17:18:36 -0600 Subject: [PATCH 558/675] first version of scafacos.h without the inclusion of the ScaFaCoS header --- src/USER-SCAFACOS/scafacos.cpp | 83 +++++++++++++++++++--------------- src/USER-SCAFACOS/scafacos.h | 19 ++++---- 2 files changed, 55 insertions(+), 47 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index 7c2dd0b68d..92d0612947 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -90,7 +90,7 @@ Scafacos::~Scafacos() memory->destroy(efield); // clean up of the ScaFaCoS handle and internal arrays - fcs_destroy(fcs); + fcs_destroy((FCS)fcs); } /* ---------------------------------------------------------------------- */ @@ -112,20 +112,24 @@ void Scafacos::init() if (domain->triclinic) error->all(FLERR,"Cannot use ScaFaCoS with triclinic domain yet"); - if (atom->natoms > INT_MAX && sizeof(fcs_int) != 8) + if (atom->natoms > INT_MAX && sizeof(int) != 8) error->all(FLERR,"Scafacos atom count exceeds 2B"); if (atom->molecular > 0) error->all(FLERR, "Cannot use Scafacos with molecular charged systems yet"); + FCSResult result; + // one-time initialization of ScaFaCoS qqrd2e = force->qqrd2e; if (!initialized) { - result = fcs_init(&fcs,method,world); - check_result(result); + printf("DEBUG: %p\n",&fcs); + result = fcs_init((FCS*)&fcs,method,world); + check_result((void*)&result); + printf("DEBUG: %p\n",&fcs); setup_handle(); @@ -136,8 +140,8 @@ void Scafacos::init() strcmp(method,"p2nfft") == 0 || strcmp(method,"ewald") == 0) { - result = fcs_set_tolerance(fcs,tolerance_type,tolerance); - check_result(result); + result = fcs_set_tolerance((FCS)fcs,tolerance_type,tolerance); + check_result((void*)&result); } double **x = atom->x; @@ -147,9 +151,9 @@ void Scafacos::init() if (strcmp(method,"fmm") == 0) { if (fmm_tuning_flag == 1) - fcs_fmm_set_internal_tuning(fcs,FCS_FMM_INHOMOGENOUS_SYSTEM); + fcs_fmm_set_internal_tuning((FCS)fcs,FCS_FMM_INHOMOGENOUS_SYSTEM); else - fcs_fmm_set_internal_tuning(fcs,FCS_FMM_HOMOGENOUS_SYSTEM); + fcs_fmm_set_internal_tuning((FCS)fcs,FCS_FMM_HOMOGENOUS_SYSTEM); } // for the FMM at least one particle is required per process @@ -158,15 +162,15 @@ void Scafacos::init() int empty = (nlocal==0)?1:0; MPI_Allreduce(MPI_IN_PLACE,&empty,1,MPI_INT,MPI_SUM,world); if (empty > 0) - fcs_set_redistribute(fcs,1); + fcs_set_redistribute((FCS)fcs,1); else - fcs_set_redistribute(fcs,0); + fcs_set_redistribute((FCS)fcs,0); } - result = fcs_tune(fcs,nlocal,&x[0][0],q); - check_result(result); + result = fcs_tune((FCS)fcs,nlocal,&x[0][0],q); + check_result((void*)&result); // more useful here, since the parameters should be tuned now - if (me == 0) fcs_print_parameters(fcs); + if (me == 0) fcs_print_parameters((FCS)fcs); } initialized = 1; @@ -181,6 +185,7 @@ void Scafacos::compute(int eflag, int vflag) int nlocal = atom->nlocal; const double qscale = qqrd2e; + FCSResult result; // for the FMM at least one particle is required per process if (strcmp(method,"fmm")) @@ -188,9 +193,9 @@ void Scafacos::compute(int eflag, int vflag) int empty = (nlocal==0)?1:0; MPI_Allreduce(MPI_IN_PLACE,&empty,1,MPI_INT,MPI_SUM,world); if (empty > 0) - fcs_set_redistribute(fcs,1); + fcs_set_redistribute((FCS)fcs,1); else - fcs_set_redistribute(fcs,0); + fcs_set_redistribute((FCS)fcs,0); } if (eflag || vflag) ev_setup(eflag,vflag); @@ -214,7 +219,7 @@ void Scafacos::compute(int eflag, int vflag) if (vflag_global) { - fcs_set_compute_virial(fcs,1); + fcs_set_compute_virial((FCS)fcs,1); //if (strcmp(method,"p3m") == 0) // error->all(FLERR,"ScaFaCoS p3m does not support computation of virial"); } @@ -223,8 +228,8 @@ void Scafacos::compute(int eflag, int vflag) memcpy(xpbc,&x[0][0],3*nlocal*sizeof(double)); - int j = 0; if (domain->xperiodic || domain -> yperiodic || domain -> zperiodic){ + int j = 0; for (int i = 0; i < nlocal; i++) { domain->remap(&xpbc[j]); j += 3; @@ -234,20 +239,20 @@ void Scafacos::compute(int eflag, int vflag) if (box_has_changed()) { setup_handle(); - result = fcs_tune(fcs,nlocal,xpbc,q); - check_result(result); + result = fcs_tune((FCS)fcs,nlocal,xpbc,q); + check_result((void*)&result); } // invoke ScaFaCoS solver - result = fcs_run(fcs,nlocal,xpbc,q,&efield[0][0],epot); - check_result(result); + result = fcs_run((FCS)fcs,nlocal,xpbc,q,&efield[0][0],epot); + check_result((void*)&result); // extract virial if (vflag_global) { - fcs_get_virial(fcs,virial_int); + fcs_get_virial((FCS)fcs,virial_int); virial[0] = virial_int[0]; virial[1] = virial_int[1]; virial[2] = virial_int[2]; @@ -380,6 +385,8 @@ double Scafacos::memory_usage() void Scafacos::setup_handle() { + FCSResult result; + // store simulation box params // setup periodicity @@ -404,23 +411,23 @@ void Scafacos::setup_handle() old_natoms = atom->natoms; // store parameters to ScaFaCoS handle - result = fcs_set_box_a(fcs,old_box_x); - check_result(result); + result = fcs_set_box_a((FCS)fcs,old_box_x); + check_result((void*)&result); - result = fcs_set_box_b(fcs,old_box_y); - check_result(result); + result = fcs_set_box_b((FCS)fcs,old_box_y); + check_result((void*)&result); - result = fcs_set_box_c(fcs,old_box_z); - check_result(result); + result = fcs_set_box_c((FCS)fcs,old_box_z); + check_result((void*)&result); - result = fcs_set_box_origin(fcs,old_origin); - check_result(result); + result = fcs_set_box_origin((FCS)fcs,old_origin); + check_result((void*)&result); - result = fcs_set_periodicity(fcs,old_periodicity); - check_result(result); + result = fcs_set_periodicity((FCS)fcs,old_periodicity); + check_result((void*)&result); - result = fcs_set_total_particles(fcs,old_natoms); - check_result(result); + result = fcs_set_total_particles((FCS)fcs,old_natoms); + check_result((void*)&result); // allow ScaFaCoS to calculate the near field computations for now // TODO: allow the delegation of the near field computations @@ -428,8 +435,8 @@ void Scafacos::setup_handle() // (near_field_flag = 1 -> enables the internal near field calcs // 0 -> disables the internal near field calcs int near_field_flag = 1; - result = fcs_set_near_field_flag(fcs,near_field_flag); - check_result(result); + result = fcs_set_near_field_flag((FCS)fcs,near_field_flag); + check_result((void*)&result); } /* ---------------------------------------------------------------------- @@ -460,8 +467,10 @@ bool Scafacos::box_has_changed() check ScaFaCoS result for error condition ------------------------------------------------------------------------- */ -void Scafacos::check_result(FCSResult result) +void Scafacos::check_result(void* result_p) { + FCSResult result = *(FCSResult*)result_p; + if (!result) return; std::stringstream ss; diff --git a/src/USER-SCAFACOS/scafacos.h b/src/USER-SCAFACOS/scafacos.h index bf07b3b45a..fdf15739a6 100644 --- a/src/USER-SCAFACOS/scafacos.h +++ b/src/USER-SCAFACOS/scafacos.h @@ -21,7 +21,7 @@ KSpaceStyle(scafacos,Scafacos) #define LMP_SCAFACOS_H #include "kspace.h" -#include "fcs.h" +//#include "fcs.h" namespace LAMMPS_NS { @@ -35,7 +35,7 @@ class Scafacos : public KSpace { int modify_param(int, char **); double memory_usage(); - private: + private: int me; char *method; @@ -46,20 +46,19 @@ class Scafacos : public KSpace { int fmm_tuning_flag; - FCS fcs; // ScaFaCoS handle - FCSResult result; // result for each ScaFaCoS call + void* fcs; // ScaFaCoS handle // simulation state: box, natoms // so ScaFaCoS can detect if changes, e.g. for NPT - fcs_float old_box_x[3],old_box_y[3],old_box_z[3]; - fcs_float old_origin[3]; - fcs_int old_periodicity[3]; - fcs_int old_natoms; + double old_box_x[3],old_box_y[3],old_box_z[3]; + double old_origin[3]; + int old_periodicity[3]; + int old_natoms; - fcs_float virial_int[9]; + double virial_int[9]; - void check_result(FCSResult); + void check_result(void*); void setup_handle(); bool box_has_changed(); }; -- GitLab From 0e292b397f02f1e2e472cbbff55a5cad963075de Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 19:41:44 -0400 Subject: [PATCH 559/675] even more broken links detected by ePUB to MOBI conversion --- doc/src/Build_basics.txt | 4 ++-- doc/src/Run_windows.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/src/Build_basics.txt b/doc/src/Build_basics.txt index cee78aced3..c9df7915e5 100644 --- a/doc/src/Build_basics.txt +++ b/doc/src/Build_basics.txt @@ -216,8 +216,8 @@ LAMMPS can be built as either an executable or as a static or shared library. The LAMMPS library can be called from another application or a scripting language. See the "Howto couple"_Howto_couple.html doc page for more info on coupling LAMMPS to other codes. See the -"Python"_Python doc page for more info on wrapping and running LAMMPS -from Python via its library interface. +"Python"_Python_head.html doc page for more info on wrapping and +running LAMMPS from Python via its library interface. [CMake variables]: diff --git a/doc/src/Run_windows.txt b/doc/src/Run_windows.txt index 2b93cc7d49..85c9a6550d 100644 --- a/doc/src/Run_windows.txt +++ b/doc/src/Run_windows.txt @@ -33,8 +33,8 @@ in parallel, follow these steps. Download and install a compatible MPI library binary package: -for 32-bit Windows: "mpich2-1.4.1p1-win-ia32.msi"_download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi -for 64-bit Windows: "mpich2-1.4.1p1-win-x86-64.msi"_download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi :ul +for 32-bit Windows: "mpich2-1.4.1p1-win-ia32.msi"_http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi +for 64-bit Windows: "mpich2-1.4.1p1-win-x86-64.msi"_http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi :ul The LAMMPS Windows installer packages will automatically adjust your path for the default location of this MPI package. After the -- GitLab From c8ac88dd8752ddf92fdfdbd4d7fb30748e3cd001 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 19:46:49 -0400 Subject: [PATCH 560/675] update link in LAMMPS theme for Sphinx --- doc/utils/sphinx-config/_themes/lammps_theme/breadcrumbs.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/utils/sphinx-config/_themes/lammps_theme/breadcrumbs.html b/doc/utils/sphinx-config/_themes/lammps_theme/breadcrumbs.html index 39ee684a0b..1eb53c70a2 100644 --- a/doc/utils/sphinx-config/_themes/lammps_theme/breadcrumbs.html +++ b/doc/utils/sphinx-config/_themes/lammps_theme/breadcrumbs.html @@ -18,7 +18,7 @@ View page source {% endif %} Website - Commands + Commands {% endif %} -- GitLab From 9e37ea16acfdc9fbb29c0856c145cc8af0e5838b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 20:35:35 -0400 Subject: [PATCH 561/675] fix some speelink ehrrors --- doc/src/Commands_parse.txt | 4 ++-- doc/src/pair_python.txt | 2 +- doc/src/pair_style.txt | 2 +- doc/src/reset_ids.txt | 2 +- doc/src/run_style.txt | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/src/Commands_parse.txt b/doc/src/Commands_parse.txt index cbe2261986..1d7c754fa7 100644 --- a/doc/src/Commands_parse.txt +++ b/doc/src/Commands_parse.txt @@ -14,7 +14,7 @@ LAMMPS commands are case sensitive. Command names are lower-case, as are specified command arguments. Upper case letters may be used in file names or user-chosen ID strings. -Here are 6 rulse for how each line in the input script is parsed by +Here are 6 rules for how each line in the input script is parsed by LAMMPS: (1) If the last printable character on the line is a "&" character, @@ -71,7 +71,7 @@ floating-point value. The format string is used to output the result of the variable expression evaluation. If a format string is not specified a high-precision "%.20g" is used as the default. -This can be useful for formatting print output to a desired precion: +This can be useful for formatting print output to a desired precision: print "Final energy per atom: $(pe/atoms:%10.3f) eV/atom" :pre diff --git a/doc/src/pair_python.txt b/doc/src/pair_python.txt index 23da86fc49..b7130c8a10 100644 --- a/doc/src/pair_python.txt +++ b/doc/src/pair_python.txt @@ -98,7 +98,7 @@ verify, that the potential definition in the python class and in the LAMMPS input match. Here is an example for a single type Lennard-Jones potential class -{LJCutMelt} in reducted units, which defines an atom type {lj} for +{LJCutMelt} in reduced units, which defines an atom type {lj} for which the parameters epsilon and sigma are both 1.0: class LJCutMelt(LAMMPSPairPotential): diff --git a/doc/src/pair_style.txt b/doc/src/pair_style.txt index b33897c5aa..1441da2b61 100644 --- a/doc/src/pair_style.txt +++ b/doc/src/pair_style.txt @@ -93,7 +93,7 @@ There are also additional accelerated pair styles (not listed here) included in the LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. The individual style names on the "Commands pair"_Commands_pair.html doc page are followed by one or more of -(g,i,k,o,t) to indicate which accerlerated styles exist. +(g,i,k,o,t) to indicate which accelerated styles exist. "pair_style none"_pair_none.html - turn off pairwise interactions "pair_style hybrid"_pair_hybrid.html - multiple styles of pairwise interactions diff --git a/doc/src/reset_ids.txt b/doc/src/reset_ids.txt index 391b51fde9..8b217c7b1c 100644 --- a/doc/src/reset_ids.txt +++ b/doc/src/reset_ids.txt @@ -23,7 +23,7 @@ for bond, angle, dihedral, improper topology data. This will create a set of IDs that are numbered contiguously from 1 to N for a N atoms system. -This can be useful to do after perfoming a "delete_atoms" command for +This can be useful to do after performing a "delete_atoms" command for a molecular system. The delete_atoms compress yes option will not perform this operation due to the existence of bond topology. It can also be useful to do after any simulation which has lost atoms, diff --git a/doc/src/run_style.txt b/doc/src/run_style.txt index 6dd9b56908..9defd1314e 100644 --- a/doc/src/run_style.txt +++ b/doc/src/run_style.txt @@ -318,7 +318,7 @@ bond forces = level 1 (innermost loop) angle forces = same level as bond forces dihedral forces = same level as angle forces improper forces = same level as dihedral forces -pair forces = leven N (outermost level) +pair forces = level N (outermost level) kspace forces = same level as pair forces inner, middle, outer forces = no default :ul -- GitLab From ffb1a9c46acfb03318a8ab56c9324391a090cd13 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 20:36:01 -0400 Subject: [PATCH 562/675] update link in lammps theme for sphinx --- doc/utils/converters/tests/test_lammps_filters.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/utils/converters/tests/test_lammps_filters.py b/doc/utils/converters/tests/test_lammps_filters.py index 6c25c23a79..8d2fa2e577 100644 --- a/doc/utils/converters/tests/test_lammps_filters.py +++ b/doc/utils/converters/tests/test_lammps_filters.py @@ -47,7 +47,7 @@ class TestStructuralFilters(unittest.TestCase): self.assertEqual("Title\n\n" "\n.. _lws: http://lammps.sandia.gov\n" ".. _ld: Manual.html\n" - ".. _lc: Section_commands.html#comm\n", s) + ".. _lc: Commands_all.html\n", s) def test_filter_multiple_horizontal_rules(self): s = self.txt2rst.convert(":hline\n" -- GitLab From 1bd56261406452cc6e3d601cac2883669b593d0e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 20:43:35 -0400 Subject: [PATCH 563/675] fix some more spelling issues --- doc/src/Build_basics.txt | 8 ++++---- doc/src/Build_cmake.txt | 2 +- doc/src/Build_extras.txt | 4 ++-- doc/src/Build_settings.txt | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/src/Build_basics.txt b/doc/src/Build_basics.txt index c9df7915e5..6924e73417 100644 --- a/doc/src/Build_basics.txt +++ b/doc/src/Build_basics.txt @@ -61,7 +61,7 @@ library files. Failing this, these 3 variables can be used to specify where the mpi.h file (MPI_INC), and the MPI library files (MPI_PATH) are found, and the name of the library files (MPI_LIB). -For a serial build, you need to specify the 3 varaibles, as shown +For a serial build, you need to specify the 3 variables, as shown above. For a serial LAMMPS build, use the dummy MPI library provided in @@ -145,7 +145,7 @@ By default CMake will use a compiler it finds and it will add optimization flags appropriate to that compiler and any "accelerator packages"_Speed_packages.html you have included in the build. -You can tell CMake to look for a specific compiler with these varaible +You can tell CMake to look for a specific compiler with these variable settings. Likewise you can specify the FLAGS variables if you want to experiment with alternate optimization flags. You should specify all 3 compilers, so that the small number of LAMMPS source files written @@ -247,7 +247,7 @@ Note that for a shared library to be usable by a calling program, all the auxiliary libraries it depends on must also exist as shared libraries. This will be the case for libraries included with LAMMPS, such as the dummy MPI library in src/STUBS or any package libraries in -the lib/packages directroy, since they are always built as shared +the lib/packages directory, since they are always built as shared libraries using the -fPIC switch. However, if a library like MPI or FFTW does not exist as a shared library, the shared library build will generate an error. This means you will need to install a shared @@ -299,7 +299,7 @@ Install LAMMPS after a build :h4,link(install) After building LAMMPS, you may wish to copy the LAMMPS executable of library, along with other LAMMPS files (library header, doc files) to a globally visible place on your system, for others to access. Note -that you may need super-user priveleges (e.g. sudo) if the directory +that you may need super-user privileges (e.g. sudo) if the directory you want to copy files to is protected. [CMake variable]: diff --git a/doc/src/Build_cmake.txt b/doc/src/Build_cmake.txt index 08c1c72180..6298ab2576 100644 --- a/doc/src/Build_cmake.txt +++ b/doc/src/Build_cmake.txt @@ -50,7 +50,7 @@ make install # optional, copy LAMMPS executable & library elsewhere :pre :line -There are 3 variants of CMake: a command-line verison (cmake), a text mode +There are 3 variants of CMake: a command-line version (cmake), a text mode UI version (ccmake), and a graphical GUI version (cmake-GUI). You can use any of them interchangeably to configure and create the LAMMPS build environment. On Linux all the versions produce a Makefile as their diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt index 5c33a0a4d4..2aa7de2b12 100644 --- a/doc/src/Build_extras.txt +++ b/doc/src/Build_extras.txt @@ -340,7 +340,7 @@ NOTE: the use of the MEAM package is discouraged, as it has been superseded by the USER-MEAMC package, which is a direct translation of the Fortran code in the MEAM library to C++. The code in USER-MEAMC should be functionally equivalent to the MEAM package, fully supports -use of "pair_style hybrid"_pair_hybrid.html (the MEAM packaged doesn +use of "pair_style hybrid"_pair_hybrid.html (the MEAM package does not), and has optimizations that make it significantly faster than the MEAM package. @@ -470,7 +470,7 @@ lib/python/README for more details. -D PYTHON_EXECUTABLE=path # path to Python executable to use :pre -Without this setting, CMake will ues the default Python on your +Without this setting, CMake will guess the default Python on your system. To use a different Python version, you can either create a virtualenv, activate it and then run cmake. Or you can set the PYTHON_EXECUTABLE variable to specify which Python interpreter should diff --git a/doc/src/Build_settings.txt b/doc/src/Build_settings.txt index dfe2f900f3..500130ecee 100644 --- a/doc/src/Build_settings.txt +++ b/doc/src/Build_settings.txt @@ -101,7 +101,7 @@ Performing 3d FFTs in parallel can be time consuming due to data access and required communication. This cost can be reduced by performing single-precision FFTs instead of double precision. Single precision means the real and imaginary parts of a complex datum are -4-byte floats. Double precesion means they are 8-byte doubles. Note +4-byte floats. Double precision means they are 8-byte doubles. Note that Fourier transform and related PPPM operations are somewhat less sensitive to floating point truncation errors and thus the resulting error is less than the difference in precision. Using the -DFFT_SINGLE @@ -193,7 +193,7 @@ Output of JPG, PNG, and movie files :h4,link(graphics) The "dump image"_dump_image.html command has options to output JPEG or PNG image files. Likewise the "dump movie"_dump_image.html command -ouputs movie files in MPEG format. Using these options requires the +outputs movie files in MPEG format. Using these options requires the following settings: [CMake variables]: @@ -206,7 +206,7 @@ following settings: # default = yes if CMake can find ffmpeg, else no :pre Usually these settings are all that is needed. If CMake cannot find -the graphics header, library, executuable files, you can set these +the graphics header, library, executable files, you can set these variables: -D JPEG_INCLUDE_DIR=path # path to jpeglib.h header file -- GitLab From e632acec297b1594723bfee2c1961b3db4470590 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 21:30:21 -0400 Subject: [PATCH 564/675] fix a bunch more spelling errors --- doc/src/Build_extras.txt | 2 +- doc/src/Build_make.txt | 4 ++-- doc/src/Errors_warnings.txt | 2 +- doc/src/Howto_barostat.txt | 6 +++--- doc/src/Howto_body.txt | 2 +- doc/src/Howto_library.txt | 8 ++++---- doc/src/Howto_spins.txt | 6 +++--- doc/src/Intro_overview.txt | 4 ++-- doc/src/Manual_build.txt | 18 +++++++++--------- doc/src/Modify_overview.txt | 2 +- doc/src/Packages_details.txt | 4 ++-- doc/src/Python_call.txt | 2 +- doc/src/Python_head.txt | 4 ++-- doc/src/Python_library.txt | 10 +++++----- doc/src/Run_basics.txt | 2 +- doc/src/Speed_bench.txt | 6 +++--- doc/src/Speed_gpu.txt | 2 +- doc/src/Speed_intel.txt | 2 +- doc/src/Speed_omp.txt | 2 +- doc/src/atom_modify.txt | 2 +- doc/src/compute.txt | 2 +- doc/src/compute_displace_atom.txt | 2 +- doc/src/compute_entropy_atom.txt | 10 +++++----- doc/src/compute_property_atom.txt | 2 +- doc/src/compute_spin.txt | 2 +- doc/src/delete_atoms.txt | 2 +- doc/src/dump_modify.txt | 2 +- doc/src/fix.txt | 4 ++-- doc/src/fix_filter_corotate.txt | 2 +- doc/src/fix_langevin_spin.txt | 2 +- doc/src/fix_latte.txt | 2 +- doc/src/fix_neb.txt | 2 +- doc/src/fix_nh_uef.txt | 2 +- doc/src/fix_surface_global.txt | 2 +- doc/src/pair_buck6d_coul_gauss.txt | 6 +++--- doc/src/pair_coeff.txt | 2 +- doc/src/pair_ilp_graphene_hbn.txt | 2 +- doc/src/pair_kolmogorov_crespi_z.txt | 2 +- doc/src/restart.txt | 2 +- doc/src/special_bonds.txt | 2 +- 40 files changed, 72 insertions(+), 72 deletions(-) diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt index 2aa7de2b12..e141c62a3a 100644 --- a/doc/src/Build_extras.txt +++ b/doc/src/Build_extras.txt @@ -905,7 +905,7 @@ Eigen3 is a template library, so you do not need to build it. -D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a custom location) :pre If DOWNLOAD_EIGEN3 is set, the Eigen3 library will be downloaded and -inside the CMake build directory. If the Eig3n3 library is already on +inside the CMake build directory. If the Eigen3 library is already on your system (in a location CMake cannot find it), EIGEN3_INCLUDE_DIR is the directory the Eigen3++ include file is in. diff --git a/doc/src/Build_make.txt b/doc/src/Build_make.txt index c00ce1f420..a18d812b59 100644 --- a/doc/src/Build_make.txt +++ b/doc/src/Build_make.txt @@ -71,8 +71,8 @@ Makefiles you may wish to try include these (some require a package first be installed). Many of these include specific compiler flags for optimized performance. Please note, however, that some of these customized machine Makefile are contributed by users. Since both -compilers, OS configs, and LAMMPS itself keep changing, their settings -may become outdated: +compilers, OS configurations, and LAMMPS itself keep changing, their +settings may become outdated: make mac # build serial LAMMPS on a Mac make mac_mpi # build parallel LAMMPS on a Mac diff --git a/doc/src/Errors_warnings.txt b/doc/src/Errors_warnings.txt index dd3402ba86..98b66f2aa5 100644 --- a/doc/src/Errors_warnings.txt +++ b/doc/src/Errors_warnings.txt @@ -13,7 +13,7 @@ This is an alphabetic list of the WARNING messages LAMMPS prints out and the reason why. If the explanation here is not sufficient, the documentation for the offending command may help. Warning messages also list the source file and line number where the warning was -generated. For example, a message lile this: +generated. For example, a message like this: WARNING: Bond atom missing in box size check (domain.cpp:187) :pre diff --git a/doc/src/Howto_barostat.txt b/doc/src/Howto_barostat.txt index 7c3db89152..3323334600 100644 --- a/doc/src/Howto_barostat.txt +++ b/doc/src/Howto_barostat.txt @@ -64,11 +64,11 @@ Thermodynamic output, which can be setup via the "thermo_style"_thermo_style.html command, often includes pressure values. As explained on the doc page for the "thermo_style"_thermo_style.html command, the default pressure is -setup by the thermo command itself. It is NOT the presure associated +setup by the thermo command itself. It is NOT the pressure associated with any barostatting fix you have defined or with any compute you -have defined that calculates a presure. The doc pages for the +have defined that calculates a pressure. The doc pages for the barostatting fixes explain the ID of the pressure compute they create. -Thus if you want to view these pressurse, you need to specify them +Thus if you want to view these pressures, you need to specify them explicitly via the "thermo_style custom"_thermo_style.html command. Or you can use the "thermo_modify"_thermo_modify.html command to re-define what pressure compute is used for default thermodynamic diff --git a/doc/src/Howto_body.txt b/doc/src/Howto_body.txt index 3535349b46..3e7db9bc8e 100644 --- a/doc/src/Howto_body.txt +++ b/doc/src/Howto_body.txt @@ -337,7 +337,7 @@ the sphere that surrounds each vertex. The diameter value can be different for each body particle. These floating-point values can be listed on as many lines as you wish; see the "read_data"_read_data.html command for more details. Because the -maxmimum vertices per face is hard-coded to be 4 +maximum number of vertices per face is hard-coded to be 4 (i.e. quadrilaterals), faces with more than 4 vertices need to be split into triangles or quadrilaterals. For triangular faces, the last vertex index should be set to -1. diff --git a/doc/src/Howto_library.txt b/doc/src/Howto_library.txt index 741078e7eb..9a9656784c 100644 --- a/doc/src/Howto_library.txt +++ b/doc/src/Howto_library.txt @@ -171,16 +171,16 @@ void lammps_create_atoms(void *, int, tagint *, int *, double *, double *, The gather functions collect peratom info of the requested type (atom coords, atom types, forces, etc) from all processors, and returns the -same vector of values to each callling processor. The scatter +same vector of values to each calling processor. The scatter functions do the inverse. They distribute a vector of peratom values, -passed by all calling processors, to invididual atoms, which may be -owned by different processos. +passed by all calling processors, to individual atoms, which may be +owned by different processors. The lammps_gather_atoms() function does this for all N atoms in the system, ordered by atom ID, from 1 to N. The lammps_gather_atoms_concat() function does it for all N atoms, but simply concatenates the subset of atoms owned by each processor. The -resulting vector is not ordered by atom ID. Atom IDs can be requetsed +resulting vector is not ordered by atom ID. Atom IDs can be requested by the same function if the caller needs to know the ordering. The lammps_gather_subset() function allows the caller to request values for only a subset of atoms (identified by ID). diff --git a/doc/src/Howto_spins.txt b/doc/src/Howto_spins.txt index 1b9adb49a5..b549f99be2 100644 --- a/doc/src/Howto_spins.txt +++ b/doc/src/Howto_spins.txt @@ -9,10 +9,10 @@ Documentation"_ld - "LAMMPS Commands"_lc :c Magnetic spins :h3 -The magnetic spin simualtions are enabled by the SPIN package, whose +The magnetic spin simulations are enabled by the SPIN package, whose implementation is detailed in "Tranchida"_#Tranchida7. -The model representents the simulation of atomic magnetic spins coupled +The model represents the simulation of atomic magnetic spins coupled to lattice vibrations. The dynamics of those magnetic spins can be used to simulate a broad range a phenomena related to magneto-elasticity, or or to study the influence of defects on the magnetic properties of @@ -43,7 +43,7 @@ langevin/spin"_fix_langevin_spin.html. It allows to either dissipate the thermal energy of the Langevin thermostat, or to perform a relaxation of the magnetic configuration toward an equilibrium state. -All the computed magnetic properties can be outputed by two main +All the computed magnetic properties can be output by two main commands. The first one is "compute spin"_compute_spin.html, that enables to evaluate magnetic averaged quantities, such as the total magnetization of the system along x, y, or z, the spin temperature, or diff --git a/doc/src/Intro_overview.txt b/doc/src/Intro_overview.txt index 49c14bc5f0..cd822c778f 100644 --- a/doc/src/Intro_overview.txt +++ b/doc/src/Intro_overview.txt @@ -17,7 +17,7 @@ variety of interatomic potentials (force fields) and boundary conditions. It can model 2d or 3d systems with only a few particles up to millions or billions. -LAMMPS can be built and run on a laptop or destop machine, but is +LAMMPS can be built and run on a laptop or desktop machine, but is designed for parallel computers. It will run on any parallel machine that supports the "MPI"_mpi message-passing library. This includes shared-memory boxes and distributed-memory clusters and @@ -45,7 +45,7 @@ nature; some long-range models are included as well. LAMMPS uses neighbor lists to keep track of nearby particles. The lists are optimized for systems with particles that are repulsive at short distances, so that the local density of particles never becomes -too large. This is in contrast to methods used for modeling plasmas +too large. This is in contrast to methods used for modeling plasma or gravitational bodies (e.g. galaxy formation). On parallel machines, LAMMPS uses spatial-decomposition techniques to diff --git a/doc/src/Manual_build.txt b/doc/src/Manual_build.txt index a6b881cb79..ac12dd7b2e 100644 --- a/doc/src/Manual_build.txt +++ b/doc/src/Manual_build.txt @@ -10,15 +10,16 @@ Section"_Manual.html :c Building the LAMMPS manual :h2 -Depending on how you obtained LAMMPS, the doc directory has -2 or 3 sub-directories and optionally 2 PDF files and an ePUB file: +Depending on how you obtained LAMMPS, the doc directory has 2 or 3 +sub-directories and optionally 2 PDF files and 2 e-book format files: src # content files for LAMMPS documentation html # HTML version of the LAMMPS manual (see html/Manual.html) tools # tools and settings for building the documentation Manual.pdf # large PDF version of entire manual Developer.pdf # small PDF with info about how LAMMPS is structured -LAMMPS.epub # Manual in ePUB format :pre +LAMMPS.epub # Manual in ePUB e-book format +LAMMPS.mobi # Manual in MOBI e-book format :pre If you downloaded LAMMPS as a tarball from the web site, all these directories and files should be included. @@ -40,7 +41,7 @@ HTML files already exist. This requires various tools including Sphinx, which the build process will attempt to download and install on your system, if not already available. See more details below. -(c) You can genererate an older, simpler, less-fancy style of HTML +(c) You can generate an older, simpler, less-fancy style of HTML documentation by typing "make old". This will create an "old" directory. This can be useful if (b) does not work on your box for some reason, or you want to quickly view the HTML version of a doc @@ -61,6 +62,7 @@ make old # generate old-style HTML pages in old dir via txt2html make fetch # fetch HTML doc pages and 2 PDF files from web site # as a tarball and unpack into html dir and 2 PDFs make epub # generate LAMMPS.epub in ePUB format using Sphinx +make mobi # generate LAMMPS.mobi in MOBI format using ebook-convert make clean # remove intermediate RST files created by HTML build make clean-all # remove entire build folder and any cached data :pre @@ -68,7 +70,7 @@ make clean-all # remove entire build folder and any cached data :pre Installing prerequisites for HTML build :h3 -To run the HTML documention build toolchain, Python 3 and virtualenv +To run the HTML documentation build toolchain, Python 3 and virtualenv have to be installed. Here are instructions for common setups: Ubuntu :h4 @@ -115,10 +117,8 @@ ePUB :h4 Same as for HTML. This uses the same tools and configuration files as the HTML tree. -For converting the generated ePUB file to a mobi format file +For converting the generated ePUB file to a MOBI format file (for e-book readers like Kindle, that cannot read ePUB), you also need to have the 'ebook-convert' tool from the "calibre" software installed. "http://calibre-ebook.com/"_http://calibre-ebook.com/ -You first create the ePUB file with 'make epub' and then do: - -ebook-convert LAMMPS.epub LAMMPS.mobi :pre +You first create the ePUB file and then convert it with 'make mobi' diff --git a/doc/src/Modify_overview.txt b/doc/src/Modify_overview.txt index cf94b40281..4ab1eddf21 100644 --- a/doc/src/Modify_overview.txt +++ b/doc/src/Modify_overview.txt @@ -10,7 +10,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c Overview :h3 The best way to add a new feature to LAMMPS is to find a similar -featureand look at the corresponding source and header files to figure +feature and look at the corresponding source and header files to figure out what it does. You will need some knowledge of C++ to be able to understand the hi-level structure of LAMMPS and its class organization, but functions (class methods) that do actual diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index c415a4058c..188081c8dd 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -851,7 +851,7 @@ multi-replica simulations in LAMMPS. Methods in the package include nudged elastic band (NEB), parallel replica dynamics (PRD), temperature accelerated dynamics (TAD), parallel tempering, and a verlet/split algorithm for performing long-range Coulombics on one set -of processors, and the remainder of the force field calcalation on +of processors, and the remainder of the force field calculation on another set. [Supporting info:] @@ -874,7 +874,7 @@ RIGID package :link(PKG-RIGID),h4 [Contents:] Fixes which enforce rigid constraints on collections of atoms or -particles. This includes SHAKE and RATTLE, as well as varous +particles. This includes SHAKE and RATTLE, as well as various rigid-body integrators for a few large bodies or many small bodies. Also several computes which calculate properties of rigid bodies. diff --git a/doc/src/Python_call.txt b/doc/src/Python_call.txt index 3854552188..3c382de1ba 100644 --- a/doc/src/Python_call.txt +++ b/doc/src/Python_call.txt @@ -61,7 +61,7 @@ Python code at selected timesteps during a simulation run. The "pair_style python"_pair_python.html command allows you to define pairwise potentials as python code which encodes a single pairwise -interaction. This is useful for rapid-developement and debugging of a +interaction. This is useful for rapid development and debugging of a new potential. To use any of these commands, you only need to build LAMMPS with the diff --git a/doc/src/Python_head.txt b/doc/src/Python_head.txt index 1f02368429..54f995c565 100644 --- a/doc/src/Python_head.txt +++ b/doc/src/Python_head.txt @@ -62,11 +62,11 @@ library interface provided in src/library.h and src/library.h. That interface is exposed to Python either when calling LAMMPS from Python or when calling Python from a LAMMPS input script and then calling back to LAMMPS from Python code. The library interface is designed to -be easy to add funcionality to. Thus the Python interface to LAMMPS +be easy to add functionality to. Thus the Python interface to LAMMPS is also easy to extend as well. If you create interesting Python scripts that run LAMMPS or interesting Python functions that can be called from a LAMMPS input -script, that you think would be genearlly useful, please post them as +script, that you think would be generally useful, please post them as a pull request to our "GitHub site"_https://github.com/lammps/lammps, and they can be added to the LAMMPS distribution or webpage. diff --git a/doc/src/Python_library.txt b/doc/src/Python_library.txt index 9a3ea93fc3..e76af83962 100644 --- a/doc/src/Python_library.txt +++ b/doc/src/Python_library.txt @@ -186,20 +186,20 @@ keyword as a float. The get_natoms() method returns the total number of atoms in the simulation, as an int. -The set_variable() methosd sets an existing string-style variable to a +The set_variable() method sets an existing string-style variable to a new string value, so that subsequent LAMMPS commands can access the variable. -The reset_box() emthods resets the size and shape of the simulation +The reset_box() method resets the size and shape of the simulation box, e.g. as part of restoring a previously extracted and saved state of a simulation. The gather methods collect peratom info of the requested type (atom coords, atom types, forces, etc) from all processors, and returns the -same vector of values to each callling processor. The scatter +same vector of values to each calling processor. The scatter functions do the inverse. They distribute a vector of peratom values, -passed by all calling processors, to invididual atoms, which may be -owned by different processos. +passed by all calling processors, to individual atoms, which may be +owned by different processors. Note that the data returned by the gather methods, e.g. gather_atoms("x"), is different from the data structure returned diff --git a/doc/src/Run_basics.txt b/doc/src/Run_basics.txt index 02139a8c69..1b7387b46b 100644 --- a/doc/src/Run_basics.txt +++ b/doc/src/Run_basics.txt @@ -75,7 +75,7 @@ setenv OMP_NUM_THREADS 2 # csh or tcsh :pre This can also be done via the "package"_package.html command or via the "-pk command-line switch"_Run_options.html which invokes the package command. See the "package"_package.html command or -"Speed"_Speed.html doc pages for more details about which accerlarator +"Speed"_Speed.html doc pages for more details about which accelerator packages and which commands support multi-threading. :line diff --git a/doc/src/Speed_bench.txt b/doc/src/Speed_bench.txt index 8e407d14ea..a3d0bf4f46 100644 --- a/doc/src/Speed_bench.txt +++ b/doc/src/Speed_bench.txt @@ -11,7 +11,7 @@ Benchmarks :h3 Current LAMMPS performance is discussed on the "Benchmarks page"_http://lammps.sandia.gov/bench.html of the "LAMMPS website"_lws -where timings and parallel efficiencies are listed. The page has +where timings and parallel efficiency are listed. The page has several sections, which are briefly described below: CPU performance on 5 standard problems, strong and weak scaling @@ -77,8 +77,8 @@ style, force field, cutoff, etc) can then be estimated. Performance on a parallel machine can also be predicted from one-core or one-node timings if the parallel efficiency can be estimated. The communication bandwidth and latency of a particular parallel machine -affects the efficiency. On most machines LAMMPS will give parallel -efficiencies on these benchmarks above 50% so long as the number of +affects the efficiency. On most machines LAMMPS will give a parallel +efficiency on these benchmarks above 50% so long as the number of atoms/core is a few 100 or greater, and closer to 100% for large numbers of atoms/core. This is for all-MPI mode with one MPI task per core. For nodes with accelerator options or hardware (OpenMP, GPU, diff --git a/doc/src/Speed_gpu.txt b/doc/src/Speed_gpu.txt index acef5bf6c1..bddefc5031 100644 --- a/doc/src/Speed_gpu.txt +++ b/doc/src/Speed_gpu.txt @@ -62,7 +62,7 @@ Driver (ICD)"_https://www.khronos.org/news/permalink/opencl-installable-client-d installed. There can be multiple of them for the same or different hardware (GPUs, CPUs, Accelerators) installed at the same time. OpenCL refers to those as 'platforms'. The GPU library will select the [first] suitable platform, -but this can be overridded using the device option of the "package"_package.html +but this can be overridden using the device option of the "package"_package.html command. run lammps/lib/gpu/ocl_get_devices to get a list of available platforms and devices with a suitable ICD available. diff --git a/doc/src/Speed_intel.txt b/doc/src/Speed_intel.txt index 3b25ade4d2..bf078fb576 100644 --- a/doc/src/Speed_intel.txt +++ b/doc/src/Speed_intel.txt @@ -68,7 +68,7 @@ In most molecular dynamics software, parallelization parameters to changing the order of operations with finite-precision calculations. The USER-INTEL package is deterministic. This means that the results should be reproducible from run to run with the -{same} parallel configurations and when using determinstic +{same} parallel configurations and when using deterministic libraries or library settings (MPI, OpenMP, FFT). However, there are differences in the USER-INTEL package that can change the order of operations compared to LAMMPS without acceleration: diff --git a/doc/src/Speed_omp.txt b/doc/src/Speed_omp.txt index 0abf54430e..238909d1b4 100644 --- a/doc/src/Speed_omp.txt +++ b/doc/src/Speed_omp.txt @@ -29,7 +29,7 @@ instructions. [Run with the USER-OMP package from the command line:] -These example asume one or more 16-core nodes. +These examples assume one or more 16-core nodes. env OMP_NUM_THREADS=16 lmp_omp -sf omp -in in.script # 1 MPI task, 16 threads according to OMP_NUM_THREADS lmp_mpi -sf omp -in in.script # 1 MPI task, no threads, optimized kernels diff --git a/doc/src/atom_modify.txt b/doc/src/atom_modify.txt index 4b4ac3862d..0f0b241b76 100644 --- a/doc/src/atom_modify.txt +++ b/doc/src/atom_modify.txt @@ -67,7 +67,7 @@ when required. An example are the bond (angle, etc) methods which need to find the local index of an atom with a specific global ID which is a bond (angle, etc) partner. LAMMPS performs this operation efficiently by creating a "map", which is either an {array} or {hash} -table, as descibed below. +table, as described below. When the {map} keyword is not specified in your input script, LAMMPS only creates a map for "atom_styles"_atom_style.html for molecular diff --git a/doc/src/compute.txt b/doc/src/compute.txt index 7d9e443e7d..8facb4de63 100644 --- a/doc/src/compute.txt +++ b/doc/src/compute.txt @@ -173,7 +173,7 @@ There are also additional accelerated compute styles included in the LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. The individual style names on the "Commands compute"_Commands_compute.html doc page are followed by one or more of -(g,i,k,o,t) to indicate which accerlerated styles exist. +(g,i,k,o,t) to indicate which accelerated styles exist. "aggregate/atom"_compute_cluster_atom.html - aggregate ID for each atom "angle/local"_compute_bond_local.html - theta and energy of each angle diff --git a/doc/src/compute_displace_atom.txt b/doc/src/compute_displace_atom.txt index 669ab9f7ca..7cea62c7b3 100644 --- a/doc/src/compute_displace_atom.txt +++ b/doc/src/compute_displace_atom.txt @@ -85,7 +85,7 @@ dump 1 all custom 100 tmp.dump id type x y z dump_modify 1 append yes thresh c_dsp[4] > ${Dhop} & refresh c_dsp delay 100 :pre -The "dump_modify thresh"_dump_modify.html command will only ouptut +The "dump_modify thresh"_dump_modify.html command will only output atoms that have displaced more than 0.6 Angstroms on each snapshot (assuming metal units). The dump_modify {refresh} option triggers a call to this compute at the end of every dump. diff --git a/doc/src/compute_entropy_atom.txt b/doc/src/compute_entropy_atom.txt index b3891841b8..04f0fd0b82 100644 --- a/doc/src/compute_entropy_atom.txt +++ b/doc/src/compute_entropy_atom.txt @@ -14,7 +14,7 @@ compute ID group-ID entropy/atom sigma cutoff keyword value ... :pre ID, group-ID are documented in "compute"_compute.html command :l entropy/atom = style name of this compute command :l -sigma = width of gaussians used in the g(r) smoothening :l +sigma = width of gaussians used in the g(r) smoothing :l cutoff = cutoff for the g(r) calculation :l one or more keyword/value pairs may be appended :l keyword = {avg} or {local} @@ -49,14 +49,14 @@ This parameter for atom i is computed using the following formula from where r is a distance, g(r) is the radial distribution function of atom i and rho is the density of the system. The g(r) computed for each -atom i can be noisy and therefore it is smoothened using: +atom i can be noisy and therefore it is smoothed using: :c,image(Eqs/pair_entropy2.jpg) where the sum in j goes through the neighbors of atom i, and sigma is a -parameter to control the smoothening. +parameter to control the smoothing. -The input parameters are {sigma} the smoothening parameter, and the +The input parameters are {sigma} the smoothing parameter, and the {cutoff} for the calculation of g(r). If the keyword {avg} has the setting {yes}, then this compute also @@ -82,7 +82,7 @@ If the {local yes} option is used, the g(r) is normalized by the local density around each atom, that is to say the density around each atom is the number of neighbors within the neighbor list cutoff divided by the corresponding volume. This option can be useful when dealing with -inhomogeneus systems such as those that have surfaces. +inhomogeneous systems such as those that have surfaces. Here are typical input parameters for fcc aluminum (lattice constant 4.05 Angstroms), diff --git a/doc/src/compute_property_atom.txt b/doc/src/compute_property_atom.txt index 512009093c..bc1e3049fa 100644 --- a/doc/src/compute_property_atom.txt +++ b/doc/src/compute_property_atom.txt @@ -158,7 +158,7 @@ corresponding attribute is in, e.g. velocity units for vx, charge units for q, etc. For the spin quantities, sp is in the units of the Bohr magneton, spx, -spy, and spz are adimentional quantities, and fmx, fmy and fmz are +spy, and spz are adimensional quantities, and fmx, fmy and fmz are given in rad.THz. [Restrictions:] none diff --git a/doc/src/compute_spin.txt b/doc/src/compute_spin.txt index 787ff8cdcf..e6185a2dd8 100644 --- a/doc/src/compute_spin.txt +++ b/doc/src/compute_spin.txt @@ -48,7 +48,7 @@ variable temp_mag equal c_out_mag\[6\] :pre thermo 10 thermo_style custom step v_mag_z v_mag_norm v_temp_mag :pre -This serie of commands evaluates the total magnetization along z, the norm of +This series of commands evaluates the total magnetization along z, the norm of the total magnetization, and the magnetic temperature. Three variables are assigned to those quantities. The thermo and thermo_style commands print them every 10 timesteps. diff --git a/doc/src/delete_atoms.txt b/doc/src/delete_atoms.txt index 57faf97ad1..a55288e1db 100644 --- a/doc/src/delete_atoms.txt +++ b/doc/src/delete_atoms.txt @@ -84,7 +84,7 @@ connectivity that has already been assigned. However, the "reset_ids"_reset_ids.html command can be used after this command to accomplish the same thing. -Note that the re-assignement of IDs is not really a compression, where +Note that the re-assignment of IDs is not really a compression, where gaps in atom IDs are removed by decrementing atom IDs that are larger. Instead the IDs for all atoms are erased, and new IDs are assigned so that the atoms owned by individual processors have consecutive IDs, as diff --git a/doc/src/dump_modify.txt b/doc/src/dump_modify.txt index 98bcbc5e55..72f4935916 100644 --- a/doc/src/dump_modify.txt +++ b/doc/src/dump_modify.txt @@ -914,7 +914,7 @@ flush = yes format = %d and %g for each integer or floating point value image = no label = ENTRIES -maxifiles = -1 +maxfiles = -1 nfile = 1 pad = 0 pbc = no diff --git a/doc/src/fix.txt b/doc/src/fix.txt index 9c3a1d0349..ee0d006fe8 100644 --- a/doc/src/fix.txt +++ b/doc/src/fix.txt @@ -30,7 +30,7 @@ Set a fix that will be applied to a group of atoms. In LAMMPS, a timestepping or minimization. Examples include updating of atom positions and velocities due to time integration, controlling temperature, applying constraint forces to atoms, enforcing boundary -conditions, computing diagnostics, etc. There are hundredes of fixes +conditions, computing diagnostics, etc. There are hundreds of fixes defined in LAMMPS and new ones can be added; see the "Modify"_Modify.html doc page for details. @@ -164,7 +164,7 @@ There are also additional accelerated fix styles included in the LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. The individual style names on the "Commands fix"_Commands_fix.html doc page are followed by one or more of (g,i,k,o,t) to indicate which -accerlerated styles exist. +accelerated styles exist. "adapt"_fix_adapt.html - change a simulation parameter over time "addforce"_fix_addforce.html - add a force to each atom diff --git a/doc/src/fix_filter_corotate.txt b/doc/src/fix_filter_corotate.txt index b30966c2f9..4868761d42 100644 --- a/doc/src/fix_filter_corotate.txt +++ b/doc/src/fix_filter_corotate.txt @@ -47,7 +47,7 @@ this can significantly accelerate the simulation. The filter computes a cluster decomposition of the molecular structure following the criteria indicated by the options a, b, t and m. This process is similar to the approach in "fix shake"_fix_shake.html, -however, the clusters are not kept contrained. Instead, the position +however, the clusters are not kept constrained. Instead, the position is slightly modified only for the computation of long-range forces. A good cluster decomposition constitutes in building clusters which contain the fastest covalent bonds inside clusters. diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index 7bb25e0a68..d4836706e2 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -34,7 +34,7 @@ the following stochastic differential equation: :c,image(Eqs/fix_langevin_spin_sLLG.jpg) -with lambda the transverse damping, and eta a random verctor. +with lambda the transverse damping, and eta a random vector. This equation is referred to as the stochastic Landau-Lifshitz-Gilbert (sLLG) equation. diff --git a/doc/src/fix_latte.txt b/doc/src/fix_latte.txt index bd61e29dcb..c97095bcfc 100644 --- a/doc/src/fix_latte.txt +++ b/doc/src/fix_latte.txt @@ -44,7 +44,7 @@ Once LAMMPS is built with the LATTE package, you can run the example input scripts for molecular dynamics or energy minimization that are found in examples/latte. -A step-by-step tutorial can be follwed at: "LAMMPS-LATTE +A step-by-step tutorial can be followed at: "LAMMPS-LATTE tutorial"_https://github.com/lanl/LATTE/wiki/Using-LATTE-through-LAMMPS The {peID} argument is not yet supported by fix latte, so it must be diff --git a/doc/src/fix_neb.txt b/doc/src/fix_neb.txt index d331d9ad75..521dfff12b 100644 --- a/doc/src/fix_neb.txt +++ b/doc/src/fix_neb.txt @@ -168,7 +168,7 @@ The difference between these two {estyle} options is as follows. When {estyle} is specified as {last/efirst}, no change is made to the inter-replica force applied to the intermediate replicas (neither first or last). If the initial path is too far from the MEP, an -intermediate repilica may relax "faster" and reach a lower energy than +intermediate replica may relax "faster" and reach a lower energy than the last replica. In this case the intermediate replica will be relaxing toward its own local minima. This behavior can be prevented by specifying {estyle} as {last/efirst/middle} which will alter the diff --git a/doc/src/fix_nh_uef.txt b/doc/src/fix_nh_uef.txt index ae403cafd1..dc05948de3 100644 --- a/doc/src/fix_nh_uef.txt +++ b/doc/src/fix_nh_uef.txt @@ -174,7 +174,7 @@ This fix can be used with the "fix_modify"_fix_modify.html {temp} and {press} options. The temperature and pressure computes used must be of type {temp/uef} and {pressure/uef}. -This fix computes the same global scalar and vecor quantities as "fix +This fix computes the same global scalar and vector quantities as "fix npt"_fix_nh.html. The fix is not invoked during "energy minimization"_minimize.html. diff --git a/doc/src/fix_surface_global.txt b/doc/src/fix_surface_global.txt index ade64d2056..2ee045141a 100644 --- a/doc/src/fix_surface_global.txt +++ b/doc/src/fix_surface_global.txt @@ -6,7 +6,7 @@ :line -fix wall/surface/globale command :h3 +fix wall/surface/global command :h3 [Description:] diff --git a/doc/src/pair_buck6d_coul_gauss.txt b/doc/src/pair_buck6d_coul_gauss.txt index 4c43978fe5..d9780e0320 100644 --- a/doc/src/pair_buck6d_coul_gauss.txt +++ b/doc/src/pair_buck6d_coul_gauss.txt @@ -52,18 +52,18 @@ The latter corrects for artifacts occurring at short distances which become an issue for soft vdW potentials. The {buck6d} styles include a smoothing function which is invoked -according to the global smooting parameter within the specified +according to the global smoothing parameter within the specified cutoff. Hereby a parameter of i.e. 0.9 invokes the smoothing within 90% of the cutoff. No smoothing is applied at a value of 1.0. For the {gauss/dsf} style this smoothing is only applicable for the dispersion damped Buckingham potential. For the {gauss/long} styles the smoothing function can also be invoked for the real -space coulomb interactions which enforce continous energies and +space coulomb interactions which enforce continuous energies and forces at the cutoff. Both styles {buck6d/coul/gauss/dsf} and {buck6d/coul/gauss/long} evaluate a Coulomb potential using spherical Gaussian type charge -distributions which effectively dampen electrostatic ineractions +distributions which effectively dampen electrostatic interactions for high charges at close distances. The electrostatic potential is thus evaluated as: diff --git a/doc/src/pair_coeff.txt b/doc/src/pair_coeff.txt index 63f85f23d5..88f95b5b2c 100644 --- a/doc/src/pair_coeff.txt +++ b/doc/src/pair_coeff.txt @@ -128,7 +128,7 @@ There are also additional accelerated pair styles (not listed on the distribution for faster performance on CPUs, GPUs, and KNLs. The individual style names on the "Commands pair"_Commands_pair.html doc page are followed by one or more of (g,i,k,o,t) to indicate which -accerlerated styles exist. +accelerated styles exist. :line diff --git a/doc/src/pair_ilp_graphene_hbn.txt b/doc/src/pair_ilp_graphene_hbn.txt index 02d0db7af2..c74028faa9 100644 --- a/doc/src/pair_ilp_graphene_hbn.txt +++ b/doc/src/pair_ilp_graphene_hbn.txt @@ -39,7 +39,7 @@ in "(Kolmogorov)"_#Kolmogorov2. Where Tap(r_ij) is the taper function which provides a continuous cutoff (up to third derivative) for interatomic separations larger than -r_c "(Maaravi)"_#Maaravi2. The definitons of each parameter in the above +r_c "(Maaravi)"_#Maaravi2. The definitions of each parameter in the above equation can be found in "(Leven)"_#Leven and "(Maaravi)"_#Maaravi2. It is important to include all the pairs to build the neighbor list for diff --git a/doc/src/pair_kolmogorov_crespi_z.txt b/doc/src/pair_kolmogorov_crespi_z.txt index f557e6c731..912fca1657 100644 --- a/doc/src/pair_kolmogorov_crespi_z.txt +++ b/doc/src/pair_kolmogorov_crespi_z.txt @@ -30,7 +30,7 @@ which is to take all normals along the z-axis. :c,image(Eqs/pair_kolmogorov_crespi_z.jpg) -It is important to have a suffiently large cutoff to ensure smooth forces. +It is important to have a sufficiently large cutoff to ensure smooth forces. Energies are shifted so that they go continously to zero at the cutoff assuming that the exponential part of {Vij} (first term) decays sufficiently fast. This shift is achieved by the last term in the equation for {Vij} above. diff --git a/doc/src/restart.txt b/doc/src/restart.txt index 7c034f36e0..e0fae3909d 100644 --- a/doc/src/restart.txt +++ b/doc/src/restart.txt @@ -49,7 +49,7 @@ as it writes successive restart files. Note that you can specify the restart command twice, once with a single filename and once with two filenames. This would allow you, for example, to write out archival restart files every 100000 steps -using a single filenname, and more frequent temporary restart files +using a single filename, and more frequent temporary restart files every 1000 steps, using two filenames. Using restart 0 will turn off both modes of output. diff --git a/doc/src/special_bonds.txt b/doc/src/special_bonds.txt index a57b61664d..47544b0b4e 100644 --- a/doc/src/special_bonds.txt +++ b/doc/src/special_bonds.txt @@ -64,7 +64,7 @@ e.g. when using the "pair_style hybrid"_pair_hybrid.html command. Thus LAMMPS ignores special_bonds settings when manybody potentials are calculated. Please note, that the existence of explicit bonds for atoms that are described by a manybody potential will alter the -neigborlist and thus can render the computation of those interactions +neighborlist and thus can render the computation of those interactions invalid, since those pairs are not only used to determine direct pairwise interactions but also neighbors of neighbors and more. The recommended course of action is to remove such bonds, or - if -- GitLab From 2d6d635ce0388964f9fdc407f40b1a1dbaa10cef Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 21:30:40 -0400 Subject: [PATCH 565/675] update list of false positives --- doc/utils/sphinx-config/false_positives.txt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index fb08e4e97e..0abd0d7de1 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -308,6 +308,8 @@ Clebsch Clermont clo Clovertown +cmake +CMake cmap Cmax cmdlist @@ -713,7 +715,10 @@ fhg Fi figshare Fij -filenname +filename +filenames +Filename +Filenames fileper Fincham Finchham @@ -1456,6 +1461,7 @@ Mtotal Muccioli Mukherjee Mulders +multi multibody Multibody multicenter @@ -2489,6 +2495,7 @@ velocites Verlag verlet Verlet +versa ves vhi vibrational @@ -2566,6 +2573,7 @@ whitespace Wi Wicaksono wih +wildcard Wirnsberger wirtes witin -- GitLab From 5da714bcc81cffe0723b210fa80232b21e3f8d7c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 21:33:40 -0400 Subject: [PATCH 566/675] fix another source of broken links inserted into processed files --- doc/utils/converters/lammpsdoc/lammps_filters.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/utils/converters/lammpsdoc/lammps_filters.py b/doc/utils/converters/lammpsdoc/lammps_filters.py index 11460185db..7b1481ceb9 100644 --- a/doc/utils/converters/lammpsdoc/lammps_filters.py +++ b/doc/utils/converters/lammpsdoc/lammps_filters.py @@ -64,7 +64,7 @@ def filter_file_header_until_first_horizontal_line(content): common_links = "\n.. _lws: http://lammps.sandia.gov\n" \ ".. _ld: Manual.html\n" \ - ".. _lc: Section_commands.html#comm\n" + ".. _lc: Commands_all.html\n" if first_hr >= 0: return content[first_hr+len(hr):].lstrip() + common_links -- GitLab From 4278a284e4b5fb19e8a694b29ccd2a1e95e5c9c0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 21:48:42 -0400 Subject: [PATCH 567/675] fix one more broken link --- doc/src/Install_patch.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/src/Install_patch.txt b/doc/src/Install_patch.txt index 3d0b27370e..ff9b14c12c 100644 --- a/doc/src/Install_patch.txt +++ b/doc/src/Install_patch.txt @@ -17,10 +17,11 @@ how to stay current are on the "Install git"_Install_git.html and If you prefer to download a tarball, as described on the "Install git"_Install_tarball.html doc page, you can stay current by downloading "patch files" when new patch releases are made. A link to -a patch file is posted on the "bug and feature page"_bug of the -website, along with a list of changed files and details about what is -in the new patch release. This page explains how to apply the patch -file to your local LAMMPS directory. +a patch file is posted on the "bug and feature +page"_http://lammps.sandia.gov/bug.html of the LAMMPS website, along +with a list of changed files and details about what is in the new patch +release. This page explains how to apply the patch file to your local +LAMMPS directory. NOTE: You should not apply patch files to a local Git or SVN repo of LAMMPS, only to an unpacked tarball. Use Git and SVN commands to -- GitLab From eca0487dafe1ea5e7df988c32681803966f624b2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 21:50:56 -0400 Subject: [PATCH 568/675] subdomain -> sub-domain --- doc/src/fix_lb_fluid.txt | 2 +- doc/src/replicate.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/fix_lb_fluid.txt b/doc/src/fix_lb_fluid.txt index 1a52397822..d9012d8cb3 100644 --- a/doc/src/fix_lb_fluid.txt +++ b/doc/src/fix_lb_fluid.txt @@ -187,7 +187,7 @@ NOTE: Care must be taken when choosing both a value for dx, and a simulation domain size. This fix uses the same subdivision of the simulation domain among processors as the main LAMMPS program. In order to uniformly cover the simulation domain with lattice sites, the -lengths of the individual LAMMPS subdomains must all be evenly +lengths of the individual LAMMPS sub-domains must all be evenly divisible by dx. If the simulation domain size is cubic, with equal lengths in all dimensions, and the default value for dx is used, this will automatically be satisfied. diff --git a/doc/src/replicate.txt b/doc/src/replicate.txt index 0195dce911..79a481746e 100644 --- a/doc/src/replicate.txt +++ b/doc/src/replicate.txt @@ -14,7 +14,7 @@ replicate nx ny nz {keyword} :pre nx,ny,nz = replication factors in each dimension :ulb optional {keyword} = {bbox} :l - {bbox} = only check atoms in replicas that overlap with a processor's subdomain :ule + {bbox} = only check atoms in replicas that overlap with a processor's sub-domain :ule [Examples:] @@ -46,7 +46,7 @@ image flags that differ by 1. This will allow the bond to be unwrapped appropriately. The optional keyword {bbox} uses a bounding box to only check atoms -in replicas that overlap with a processor's subdomain when assigning +in replicas that overlap with a processor's sub-domain when assigning atoms to processors, and thus can result in substantial speedups for calculations using a large number of processors. It does require temporarily using more memory. -- GitLab From 9a8c09288f04e00732dab2ba926ffd76bca1a15c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 21:54:41 -0400 Subject: [PATCH 569/675] use Hyper-Threading consistently --- doc/src/Speed_kokkos.txt | 14 +++++++------- doc/src/package.txt | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/src/Speed_kokkos.txt b/doc/src/Speed_kokkos.txt index eb787df5d6..c734d642ce 100644 --- a/doc/src/Speed_kokkos.txt +++ b/doc/src/Speed_kokkos.txt @@ -93,12 +93,12 @@ The "t Nt" option specifies how many OpenMP threads per MPI task to use with a node. The default is Nt = 1, which is MPI-only mode. Note that the product of MPI tasks * OpenMP threads/task should not exceed the physical number of cores (on a node), otherwise performance will -suffer. If hyperthreading is enabled, then the product of MPI tasks * -OpenMP threads/task should not exceed the physical number of cores * -hardware threads. The "-k on" switch also issues a "package kokkos" -command (with no additional arguments) which sets various KOKKOS -options to default values, as discussed on the "package"_package.html -command doc page. +suffer. If Hyper-Threading (HT) is enabled, then the product of MPI +tasks * OpenMP threads/task should not exceed the physical number of +cores * hardware threads. The "-k on" switch also issues a +"package kokkos" command (with no additional arguments) which sets +various KOKKOS options to default values, as discussed on the +"package"_package.html command doc page. The "-sf kk" "command-line switch"_Run_options.html will automatically append the "/kk" suffix to styles that support it. In this manner no @@ -149,7 +149,7 @@ Intel Knight's Landing (KNL) Xeon Phi: KNL Intel Phi chips have 68 physical cores. Typically 1 to 4 cores are reserved for the OS, and only 64 or 66 cores are used. Each core has 4 -hyperthreads,so there are effectively N = 256 (4*64) or N = 264 (4*66) +Hyper-Threads,so there are effectively N = 256 (4*64) or N = 264 (4*66) cores to run on. The product of MPI tasks * OpenMP threads/task should not exceed this limit, otherwise performance will suffer. Note that with the KOKKOS package you do not need to specify how many KNLs there diff --git a/doc/src/package.txt b/doc/src/package.txt index 8b0581929f..65117ba3c3 100644 --- a/doc/src/package.txt +++ b/doc/src/package.txt @@ -363,7 +363,7 @@ specified with the OMP_NUM_THREADS environment variable or the {omp} keyword). The extra thread is dedicated for performing part of the "PPPM solver"_kspace_style.html computations and communications. This can improve parallel performance on processors supporting -Simultaneous Multithreading (SMT) such as Hyperthreading on Intel +Simultaneous Multithreading (SMT) such as Hyper-Threading (HT) on Intel processors. In this mode, one additional thread is generated per MPI process. LAMMPS will generate a warning in the case that more threads are used than available in SMT hardware on a node. If the PPPM solver -- GitLab From fe6debfe9a0274bd84ef31f7d9987b6d2ba4b366 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 22:02:01 -0400 Subject: [PATCH 570/675] precompiled -> pre-compiled --- doc/src/Build_cmake.txt | 2 +- doc/src/Build_windows.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Build_cmake.txt b/doc/src/Build_cmake.txt index 6298ab2576..31f2cb549e 100644 --- a/doc/src/Build_cmake.txt +++ b/doc/src/Build_cmake.txt @@ -188,7 +188,7 @@ module list # is a cmake module already loaded? module avail # is a cmake module available? module load cmake3 # load cmake module with appropriate name :pre -Most Linux distributions offer precompiled cmake packages through +Most Linux distributions offer pre-compiled cmake packages through their package management system. If you do not have CMake or a new enough version, you can download the latest version at "https://cmake.org/download/"_https://cmake.org/download/. diff --git a/doc/src/Build_windows.txt b/doc/src/Build_windows.txt index da257ccbc8..0caad589fb 100644 --- a/doc/src/Build_windows.txt +++ b/doc/src/Build_windows.txt @@ -84,7 +84,7 @@ with the cross-compiler environment on Fedora machines. Please keep in mind, though, that this only applies to compiling LAMMPS. Whether the resulting binaries do work correctly is no tested by the LAMMPS developers. We instead rely on the feedback of the users -of these precompiled LAMMPS packages for Windows. We will try to resolve +of these pre-compiled LAMMPS packages for Windows. We will try to resolve issues to the best of our abilities if we become aware of them. However this is subject to time constraints and focus on HPC platforms. -- GitLab From 683c87347ccf07d7435e14a8bd5b43d7383f5f04 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 22:02:24 -0400 Subject: [PATCH 571/675] neighborlist -> neighbor list --- doc/src/Speed_kokkos.txt | 2 +- doc/src/special_bonds.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Speed_kokkos.txt b/doc/src/Speed_kokkos.txt index c734d642ce..04cf53691b 100644 --- a/doc/src/Speed_kokkos.txt +++ b/doc/src/Speed_kokkos.txt @@ -228,7 +228,7 @@ for details and default settings. Experimenting with its options can provide a speed-up for specific calculations. For example: mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos binsize 2.8 -in in.lj # Set binsize = neighbor ghost cutoff -mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighborlist, set binsize = neighbor ghost cutoff :pre +mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff :pre NOTE: For good performance of the KOKKOS package on GPUs, you must have Kepler generation GPUs (or later). The Kokkos library exploits diff --git a/doc/src/special_bonds.txt b/doc/src/special_bonds.txt index 47544b0b4e..07b4986673 100644 --- a/doc/src/special_bonds.txt +++ b/doc/src/special_bonds.txt @@ -64,7 +64,7 @@ e.g. when using the "pair_style hybrid"_pair_hybrid.html command. Thus LAMMPS ignores special_bonds settings when manybody potentials are calculated. Please note, that the existence of explicit bonds for atoms that are described by a manybody potential will alter the -neighborlist and thus can render the computation of those interactions +neighbor list and thus can render the computation of those interactions invalid, since those pairs are not only used to determine direct pairwise interactions but also neighbors of neighbors and more. The recommended course of action is to remove such bonds, or - if -- GitLab From 96bde51ae45d09fa01212ff08ce5510799ae212a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 22:03:53 -0400 Subject: [PATCH 572/675] autodetect -> auto-detect --- doc/src/Build_extras.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt index e141c62a3a..088ffd8972 100644 --- a/doc/src/Build_extras.txt +++ b/doc/src/Build_extras.txt @@ -687,7 +687,7 @@ the HDF5 library. No additional settings are needed besides "-D PKG_USER-H5MD=yes". -This should autodetect the H5MD library on your system. Several +This should auto-detect the H5MD library on your system. Several advanced CMake H5MD options exist if you need to specify where it is installed. Use the ccmake (terminal window) or cmake-gui (graphical) tools to see these options and set them interactively from their user @@ -777,7 +777,7 @@ on your system. No additional settings are needed besides "-D PKG_USER-NETCDF=yes". -This should autodetect the NETCDF library if it is installed on your +This should auto-detect the NETCDF library if it is installed on your system at standard locations. Several advanced CMake NETCDF options exist if you need to specify where it was installed. Use the ccmake (terminal window) or cmake-gui (graphical) tools to see these options @@ -936,7 +936,7 @@ your system. No additional settings are needed besides "-D PKG_USER-VTK=yes". -This should autodetect the VTK library if it is installed on your +This should auto-detect the VTK library if it is installed on your system at standard locations. Several advanced VTK options exist if you need to specify where it was installed. Use the ccmake (terminal window) or cmake-gui (graphical) tools to see these options and set -- GitLab From 193f46dd9fc92e6fc9a4a5a516fe0ea65e644045 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 22:04:03 -0400 Subject: [PATCH 573/675] spelling fix --- doc/src/Packages_standard.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Packages_standard.txt b/doc/src/Packages_standard.txt index 55d0d616f4..2feb4e142d 100644 --- a/doc/src/Packages_standard.txt +++ b/doc/src/Packages_standard.txt @@ -47,7 +47,7 @@ Package, Description, Doc page, Example, Library "MANYBODY"_Packages_details.html#PKG-MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, no "MC"_Packages_details.html#PKG-MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, n/a, no "MEAM"_Packages_details.html#PKG-MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int -"MISC"_Packages_details.html#PKG-MISC, miscellanous single-file commands, n/a, no, no +"MISC"_Packages_details.html#PKG-MISC, miscellaneous single-file commands, n/a, no, no "MOLECULE"_Packages_details.html#PKG-MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, no "MPIIO"_Packages_details.html#PKG-MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, n/a, no "MSCG"_Packages_details.html#PKG-MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext -- GitLab From 4b2629d8ba52cacf66de91681894de3ffeddcae8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 22:16:34 -0400 Subject: [PATCH 574/675] recompile/recompute/reinit -> re-compile/re-compute/re-init --- doc/src/Build_cmake.txt | 2 +- doc/src/Build_make.txt | 6 +++--- doc/src/Errors_messages.txt | 10 +++++----- doc/src/Howto_pylammps.txt | 2 +- doc/src/Packages_details.txt | 2 +- doc/src/Speed_measure.txt | 2 +- doc/src/compute_modify.txt | 2 +- doc/src/compute_rdf.txt | 2 +- doc/src/compute_smd_tlsph_dt.txt | 2 +- doc/src/delete_bonds.txt | 2 +- doc/src/dump_molfile.txt | 2 +- doc/src/fix_dt_reset.txt | 2 +- doc/src/fix_ipi.txt | 2 +- doc/src/fix_modify.txt | 2 +- doc/src/fix_rigid.txt | 6 +++--- doc/src/fix_smd.txt | 2 +- doc/src/pair_dsmc.txt | 2 +- doc/src/pair_python.txt | 2 +- doc/src/special_bonds.txt | 2 +- src/KSPACE/msm.cpp | 4 ++-- src/USER-MISC/pair_agni.cpp | 2 +- 21 files changed, 30 insertions(+), 30 deletions(-) diff --git a/doc/src/Build_cmake.txt b/doc/src/Build_cmake.txt index 31f2cb549e..f8b52056fc 100644 --- a/doc/src/Build_cmake.txt +++ b/doc/src/Build_cmake.txt @@ -40,7 +40,7 @@ executable called "lmp" and a library called "liblammps.a" in the If your machine has multiple CPU cores (most do these days), using a command like "make -jN" (with N being the number of available local CPU cores) can be much faster. If you plan to do development on -LAMMPS or need to recompile LAMMPS repeatedly, installation of the +LAMMPS or need to re-compile LAMMPS repeatedly, installation of the ccache (= Compiler Cache) software may speed up compilation even more. After compilation, you can optionally copy the LAMMPS executable and diff --git a/doc/src/Build_make.txt b/doc/src/Build_make.txt index a18d812b59..ad18695e46 100644 --- a/doc/src/Build_make.txt +++ b/doc/src/Build_make.txt @@ -35,16 +35,16 @@ This initial compilation can take a long time, since LAMMPS is a large project with many features. If your machine has multiple CPU cores (most do these days), using a command like "make -jN mpi" (with N = the number of available CPU cores) can be much faster. If you plan to -do development on LAMMPS or need to recompile LAMMPS repeatedly, the +do development on LAMMPS or need to re-compile LAMMPS repeatedly, the installation of the ccache (= Compiler Cache) software may speed up compilation even more. After the initial build, whenever you edit LAMMPS source files, or add or remove new files to the source directory (e.g. by installing or -uninstalling packages), you must recompile and relink the LAMMPS +uninstalling packages), you must re-compile and relink the LAMMPS executable with the same "make" command. This makefiles dependencies should insure that only the subset of files that need to be are -recompiled. +re-compiled. NOTE: When you build LAMMPS for the first time, a long list of *.d files will be printed out rapidly. This is not an error; it is the diff --git a/doc/src/Errors_messages.txt b/doc/src/Errors_messages.txt index d279b5e975..a74182967c 100644 --- a/doc/src/Errors_messages.txt +++ b/doc/src/Errors_messages.txt @@ -743,7 +743,7 @@ Self-explanatory. :dd Self-explanatory. :dd -{Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and recompile)} :dt +{Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and re-compile)} :dt Single precision cannot be used with MSM. :dd @@ -5078,7 +5078,7 @@ Self-explanatory. :dd Occurs when number of neighbor atoms for an atom increased too much during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and -recompile. :dd +re-compile. :dd {Fix qeq/point requires atom attribute q} :dt @@ -5092,7 +5092,7 @@ Self-explanatory. :dd Occurs when number of neighbor atoms for an atom increased too much during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and -recompile. :dd +re-compile. :dd {Fix qeq/shielded requires atom attribute q} :dt @@ -5110,7 +5110,7 @@ Self-explanatory. :dd Occurs when number of neighbor atoms for an atom increased too much during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and -recompile. :dd +re-compile. :dd {Fix qeq/slater requires atom attribute q} :dt @@ -5541,7 +5541,7 @@ See the package gpu command. :dd {GPUs are requested but Kokkos has not been compiled for CUDA} :dt -Recompile Kokkos with CUDA support to use GPUs. :dd +Re-compile Kokkos with CUDA support to use GPUs. :dd {Ghost velocity forward comm not yet implemented with Kokkos} :dt diff --git a/doc/src/Howto_pylammps.txt b/doc/src/Howto_pylammps.txt index 8be4b66e78..a12bf13f2e 100644 --- a/doc/src/Howto_pylammps.txt +++ b/doc/src/Howto_pylammps.txt @@ -73,7 +73,7 @@ that package into your current Python installation. cd $LAMMPS_DIR/python python install.py :pre -NOTE: Recompiling the shared library requires reinstalling the Python package +NOTE: Recompiling the shared library requires re-installing the Python package Installation inside of a virtualenv :h5 diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 188081c8dd..3519720911 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -1591,7 +1591,7 @@ plugin via the "dump molfile"_dump_molfile.html command. Plugins can be obtained from a VMD installation which has to match the platform that you are using to compile LAMMPS for. By adding plugins to VMD, support for new file formats can be added to LAMMPS (or VMD or other -programs that use them) without having to recompile the application +programs that use them) without having to re-compile the application itself. More information about the VMD molfile plugins can be found at "http://www.ks.uiuc.edu/Research/vmd/plugins/molfile"_http://www.ks.uiuc.edu/Research/vmd/plugins/molfile. diff --git a/doc/src/Speed_measure.txt b/doc/src/Speed_measure.txt index 647ff71e36..dd12685dc5 100644 --- a/doc/src/Speed_measure.txt +++ b/doc/src/Speed_measure.txt @@ -50,6 +50,6 @@ inaccurate relative timing data, because processors have to wait when communication occurs for other processors to catch up. Thus the reported times for "Communication" or "Other" may be higher than they really are, due to load-imbalance. If this is an issue, you can -uncomment the MPI_Barrier() lines in src/timer.cpp, and recompile +uncomment the MPI_Barrier() lines in src/timer.cpp, and re-compile LAMMPS, to obtain synchronized timings. diff --git a/doc/src/compute_modify.txt b/doc/src/compute_modify.txt index 192ea0bc9e..5ba2100fba 100644 --- a/doc/src/compute_modify.txt +++ b/doc/src/compute_modify.txt @@ -19,7 +19,7 @@ keyword = {extra/dof} or {extra} or {dynamic/dof} or {dynamic} :l N = # of extra degrees of freedom to subtract {extra} syntax is identical to {extra/dof}, will be disabled at some point {dynamic/dof} value = {yes} or {no} - yes/no = do or do not recompute the number of degrees of freedom (DOF) contributing to the temperature + yes/no = do or do not re-compute the number of degrees of freedom (DOF) contributing to the temperature {dynamic} syntax is identical to {dynamic/dof}, will be disabled at some point :pre :ule diff --git a/doc/src/compute_rdf.txt b/doc/src/compute_rdf.txt index 04b38682cc..d11ae9e3bf 100644 --- a/doc/src/compute_rdf.txt +++ b/doc/src/compute_rdf.txt @@ -182,7 +182,7 @@ change from zero to one at the location of the spike in g(r). NOTE: compute rdf can handle dynamic groups and systems where atoms are added or removed, but this causes that certain normalization -parameters need to be recomputed in every step and include collective +parameters need to be re-computed in every step and include collective communication operations. This will reduce performance and limit parallel efficiency and scaling. For systems, where only the type of atoms changes (e.g. when using "fix atom/swap"_fix_atom_swap.html), diff --git a/doc/src/compute_smd_tlsph_dt.txt b/doc/src/compute_smd_tlsph_dt.txt index 92f5923de0..e9ff2e739b 100644 --- a/doc/src/compute_smd_tlsph_dt.txt +++ b/doc/src/compute_smd_tlsph_dt.txt @@ -25,7 +25,7 @@ Define a computation that outputs the CFL-stable time increment per particle. This time increment is essentially given by the speed of sound, divided by the SPH smoothing length. Because both the speed of sound and the smoothing length typically change during the course of a -simulation, the stable time increment needs to be recomputed every +simulation, the stable time increment needs to be re-computed every time step. This calculation is performed automatically in the relevant SPH pair styles and this compute only serves to make the stable time increment accessible for output purposes. diff --git a/doc/src/delete_bonds.txt b/doc/src/delete_bonds.txt index b29fa82f2d..4e33604696 100644 --- a/doc/src/delete_bonds.txt +++ b/doc/src/delete_bonds.txt @@ -140,7 +140,7 @@ enough for a processor to acquire the ghost atoms its needs to compute bond, angle, etc interactions. If deleted bonds (angles, etc) are removed but the 1-2, 1-3, 1-4 -weighting list is not recomputed, this can cause a later "fix +weighting list is not re-computed, this can cause a later "fix shake"_fix_shake.html command to fail due to an atom's bonds being inconsistent with the weighting list. This should only happen if the group used in the fix command includes both atoms in the bond, in diff --git a/doc/src/dump_molfile.txt b/doc/src/dump_molfile.txt index dd2b212f0b..b5f157cf29 100644 --- a/doc/src/dump_molfile.txt +++ b/doc/src/dump_molfile.txt @@ -99,7 +99,7 @@ USER-MOLFILE package only provides the interface code, not the plugins. These can be obtained from a VMD installation which has to match the platform that you are using to compile LAMMPS for. By adding plugins to VMD, support for new file formats can be added to LAMMPS (or VMD -or other programs that use them) without having to recompile the +or other programs that use them) without having to re-compile the application itself. The plugins are installed in the directory: /plugins//molfile diff --git a/doc/src/fix_dt_reset.txt b/doc/src/fix_dt_reset.txt index be4fbd255b..0c5a4493ae 100644 --- a/doc/src/fix_dt_reset.txt +++ b/doc/src/fix_dt_reset.txt @@ -14,7 +14,7 @@ fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ... :pre ID, group-ID are documented in "fix"_fix.html command dt/reset = style name of this fix command -N = recompute dt every N timesteps +N = re-compute dt every N timesteps Tmin = minimum dt allowed which can be NULL (time units) Tmax = maximum dt allowed which can be NULL (time units) Xmax = maximum distance for an atom to move in one timestep (distance units) diff --git a/doc/src/fix_ipi.txt b/doc/src/fix_ipi.txt index b115aba7df..64486a9cc7 100644 --- a/doc/src/fix_ipi.txt +++ b/doc/src/fix_ipi.txt @@ -63,7 +63,7 @@ electrostatics, or that contain parameters that depend on box size: all of these options will be initialized based on the cell size in the LAMMPS-side initial configuration and kept constant during the run. This is required to e.g. obtain reproducible and conserved forces. -If the cell varies too wildly, it may be advisable to reinitialize +If the cell varies too wildly, it may be advisable to re-initialize these interactions at each call. This behavior can be requested by setting the {reset} switch. diff --git a/doc/src/fix_modify.txt b/doc/src/fix_modify.txt index ddb5f9a4cd..f50747948a 100644 --- a/doc/src/fix_modify.txt +++ b/doc/src/fix_modify.txt @@ -21,7 +21,7 @@ keyword = {temp} or {press} or {energy} or {virial} or {respa} or {dynamic/dof} {virial} value = {yes} or {no} {respa} value = {1} to {max respa level} or {0} (for outermost level) {dynamic/dof} value = {yes} or {no} - yes/no = do or do not recompute the number of degrees of freedom (DOF) contributing to the temperature + yes/no = do or do not re-compute the number of degrees of freedom (DOF) contributing to the temperature {bodyforces} value = {early} or {late} early/late = compute rigid-body forces/torques early or late in the timestep :pre :ule diff --git a/doc/src/fix_rigid.txt b/doc/src/fix_rigid.txt index d489762e80..5d65856735 100644 --- a/doc/src/fix_rigid.txt +++ b/doc/src/fix_rigid.txt @@ -442,11 +442,11 @@ couple none :pre The keyword/value option pairs are used in the following ways. The {reinit} keyword determines, whether the rigid body properties -are reinitialized between run commands. With the option {yes} (the +are re-initialized between run commands. With the option {yes} (the default) this is done, with the option {no} this is not done. Turning -off the reinitialization can be helpful to protect rigid bodies against +off the re-initialization can be helpful to protect rigid bodies against unphysical manipulations between runs or when properties cannot be -easily recomputed (e.g. when read from a file). When using the {infile} +easily re-computed (e.g. when read from a file). When using the {infile} keyword, the {reinit} option is automatically set to {no}. The {langevin} and {temp} and {tparam} keywords perform thermostatting diff --git a/doc/src/fix_smd.txt b/doc/src/fix_smd.txt index 644c04eadb..774842c7cf 100644 --- a/doc/src/fix_smd.txt +++ b/doc/src/fix_smd.txt @@ -77,7 +77,7 @@ normalized. But since it represents the {absolute} displacement of group-ID2 relative to the fix group, (1,1,0) is a different spring than (-1,-1,0). For each vector component, the displacement can be described with the {auto} parameter. In this case the direction is -recomputed in every step, which can be useful for steering a local +re-computed in every step, which can be useful for steering a local process where the whole object undergoes some other change. When the relative positions and distance between the two groups are not in equilibrium, the same spring force described above is applied to atoms diff --git a/doc/src/pair_dsmc.txt b/doc/src/pair_dsmc.txt index adaeeb8390..8b1ceab858 100644 --- a/doc/src/pair_dsmc.txt +++ b/doc/src/pair_dsmc.txt @@ -16,7 +16,7 @@ max_cell_size = global maximum cell size for DSMC interactions (distance units) seed = random # seed (positive integer) weighting = macroparticle weighting Tref = reference temperature (temperature units) -Nrecompute = recompute v*sigma_max every this many timesteps (timesteps) +Nrecompute = re-compute v*sigma_max every this many timesteps (timesteps) Nsample = sample this many times in recomputing v*sigma_max :ul [Examples:] diff --git a/doc/src/pair_python.txt b/doc/src/pair_python.txt index b7130c8a10..e8baf14d2e 100644 --- a/doc/src/pair_python.txt +++ b/doc/src/pair_python.txt @@ -29,7 +29,7 @@ The {python} pair style provides a way to define pairwise additive potential functions as python script code that is loaded into LAMMPS from a python file which must contain specific python class definitions. This allows to rapidly evaluate different potential functions without -having to modify and recompile LAMMPS. Due to python being an +having to modify and re-compile LAMMPS. Due to python being an interpreted language, however, the performance of this pair style is going to be significantly slower (often between 20x and 100x) than corresponding compiled code. This penalty can be significantly reduced diff --git a/doc/src/special_bonds.txt b/doc/src/special_bonds.txt index 07b4986673..283aad6c2d 100644 --- a/doc/src/special_bonds.txt +++ b/doc/src/special_bonds.txt @@ -110,7 +110,7 @@ simulation. The two exceptions to this rule are (a) if the {angle} or {dihedral} keywords are set to {yes} (see below), or (b) if the "delete_bonds"_delete_bonds.html command is used with the {special} -option that recomputes the 1-2,1-3,1-4 topologies after bonds are +option that re-computes the 1-2,1-3,1-4 topologies after bonds are deleted; see the "delete_bonds"_delete_bonds.html command for more details. diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index 9f3221449b..efa2c87296 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -177,7 +177,7 @@ void MSM::init() if (sizeof(FFT_SCALAR) != 8) error->all(FLERR,"Cannot (yet) use single precision with MSM " - "(remove -DFFT_SINGLE from Makefile and recompile)"); + "(remove -DFFT_SINGLE from Makefile and re-compile)"); // extract short-range Coulombic cutoff from pair style @@ -419,7 +419,7 @@ void MSM::setup() boxlo = domain->boxlo_lamda; // ghost grid points depend on direct sum interaction limits, - // so need to recompute local grid + // so need to re-compute local grid set_grid_local(); diff --git a/src/USER-MISC/pair_agni.cpp b/src/USER-MISC/pair_agni.cpp index 11bf2ae01e..785146a0d6 100644 --- a/src/USER-MISC/pair_agni.cpp +++ b/src/USER-MISC/pair_agni.cpp @@ -394,7 +394,7 @@ void PairAGNI::read_file(char *file) if (nwords == 0) continue; if (nwords > MAXWORD) - error->all(FLERR,"Increase MAXWORD and recompile"); + error->all(FLERR,"Increase MAXWORD and re-compile"); // words = ptrs to all words in line -- GitLab From b00046fd34a0af8e9ccd14a38ec8619f9af2d1c8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 22:18:27 -0400 Subject: [PATCH 575/675] fix typo --- doc/src/Commands_all.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Commands_all.txt b/doc/src/Commands_all.txt index 13db1272b9..aec5a9db8b 100644 --- a/doc/src/Commands_all.txt +++ b/doc/src/Commands_all.txt @@ -19,7 +19,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c All commands :h3 -An alphabetic list of all LAMMPS commmands. +An alphabetic list of all LAMMPS commands. "angle_coeff"_angle_coeff.html, "angle_style"_angle_style.html, -- GitLab From 0cd71ee582f7312f57f637064e4a7cf522946c84 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 22:18:35 -0400 Subject: [PATCH 576/675] more false positives --- doc/utils/sphinx-config/false_positives.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 0abd0d7de1..8eb37f6135 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -260,6 +260,7 @@ Caro cartesian Cates cbecker +ccmake CCu cd cdeam @@ -286,6 +287,9 @@ cgs Chalopin Champaign charmm +charmmfsw +charmmfsh +charmm CHARMM checkmark checkqeq @@ -412,6 +416,7 @@ Cval cvar cvff cwiggle +cygwin Cygwin Cyrot cyrstals @@ -587,6 +592,7 @@ ehanced ehex eHEX Ei +Eigen Eigensolve Eike eim @@ -1390,6 +1396,7 @@ Mikami Militzer Minary mincap +mingw minima minimizations minimizer -- GitLab From c0d9d96e09f93660cca2e2b8246c3579cd31f528 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 22:24:51 -0400 Subject: [PATCH 577/675] better help message in make file --- doc/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/Makefile b/doc/Makefile index 797095dfad..9069fa1d60 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -42,7 +42,8 @@ help: @echo " old create old-style HTML doc pages in old dir" @echo " fetch fetch HTML and PDF files from LAMMPS web site" @echo " epub create ePUB format manual for e-book readers" - @echo " mobi create MOBI format manual for e-book readers (e.g. Kindle)" + @echo " mobi convert ePUB to MOBI format manual for e-book readers (e.g. Kindle)" + @echo " (requires ebook-convert tool from calibre)" @echo " clean remove all intermediate RST files" @echo " clean-all reset the entire build environment" @echo " txt2html build txt2html tool" -- GitLab From af35c3bccafdb6e014bee669e209bc975a5fd111 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 22:28:53 -0400 Subject: [PATCH 578/675] atomID -> atom-ID --- doc/src/compute_rigid_local.txt | 2 +- doc/src/fix_bond_react.txt | 2 +- doc/src/read_data.txt | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/src/compute_rigid_local.txt b/doc/src/compute_rigid_local.txt index 9b829a70fc..67c6209bdf 100644 --- a/doc/src/compute_rigid_local.txt +++ b/doc/src/compute_rigid_local.txt @@ -92,7 +92,7 @@ dump 1 all local 1000 tmp.dump index c_1\[1\] c_1\[2\] c_1\[3\] c_1\[4\] c_1\[5\ This section explains the rigid body attributes that can be specified. -The {id} attribute is the atomID of the atom which owns the rigid body, which is +The {id} attribute is the atom-ID of the atom which owns the rigid body, which is assigned by the "fix rigid/small"_fix_rigid.html command. The {mol} attribute is the molecule ID of the rigid body. It should diff --git a/doc/src/fix_bond_react.txt b/doc/src/fix_bond_react.txt index 327088cb99..8e7cb1bdae 100644 --- a/doc/src/fix_bond_react.txt +++ b/doc/src/fix_bond_react.txt @@ -34,7 +34,7 @@ react = mandatory argument indicating new reaction specification :l Rmax = bonding pair atoms must be separated by less than Rmax to initiate reaction (distance units) :l template-ID(pre-reacted) = ID of a molecule template containing pre-reaction topology :l template-ID(post-reacted) = ID of a molecule template containing post-reaction topology :l - map_file = name of file specifying corresponding atomIDs in the pre- and post-reacted templates :l + map_file = name of file specifying corresponding atom-IDs in the pre- and post-reacted templates :l zero or more individual keyword/value pairs may be appended to each react argument :l individual_keyword = {prob} or {stabilize_steps} :l {prob} values = fraction seed diff --git a/doc/src/read_data.txt b/doc/src/read_data.txt index ef899a15b4..6aa30d9e63 100644 --- a/doc/src/read_data.txt +++ b/doc/src/read_data.txt @@ -124,14 +124,14 @@ bond atoms or bad dynamics. The three choices for the {add} argument affect how the atom IDs and molecule IDs of atoms in the data file are treated. If {append} is specified, atoms in the data file are added to the current system, -with their atom IDs reset so that an atomID = M in the data file -becomes atomID = N+M, where N is the largest atom ID in the current +with their atom IDs reset so that an atom-ID = M in the data file +becomes atom-ID = N+M, where N is the largest atom ID in the current system. This rule is applied to all occurrences of atom IDs in the data file, e.g. in the Velocity or Bonds section. This is also done for molecule IDs, if the atom style does support molecule IDs or they are enabled via fix property/atom. If {IDoffset} is specified, then {IDoffset} is a numeric value is given, e.g. 1000, so that an -atomID = M in the data file becomes atomID = 1000+M. For systems +atom-ID = M in the data file becomes atom-ID = 1000+M. For systems with enabled molecule IDs, another numerical argument {MOLoffset} is required representing the equivalent offset for molecule IDs. If {merge} is specified, the data file atoms @@ -139,7 +139,7 @@ are added to the current system without changing their IDs. They are assumed to merge (without duplication) with the currently defined atoms. It is up to you to insure there are no multiply defined atom IDs, as LAMMPS only performs an incomplete check that this is the case -by insuring the resulting max atomID >= the number of atoms. For +by insuring the resulting max atom-ID >= the number of atoms. For molecule IDs, there is no check done at all. The {offset} and {shift} keywords can only be used if the {add} -- GitLab From 440338d769b0dca022a884c11b6d1c0b3cd5af5e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 22 Aug 2018 22:35:35 -0400 Subject: [PATCH 579/675] last round of spelling fixes --- doc/src/Packages_details.txt | 2 +- doc/src/compute_ackland_atom.txt | 2 +- doc/src/fix_bocs.txt | 2 +- doc/src/fix_rhok.txt | 2 +- doc/src/neb.txt | 4 ++-- doc/utils/sphinx-config/false_positives.txt | 1 + 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 3519720911..381dc2e995 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -1370,7 +1370,7 @@ which have styles optimized for CPUs and KNLs. You need to have an Intel compiler, version 14 or higher to take full advantage of this package. While compilation with GNU compilers is -supported, performance will be suboptimal. +supported, performance will be sub-optimal. NOTE: the USER-INTEL package contains styles that require using the -restrict flag, when compiling with Intel compilers. diff --git a/doc/src/compute_ackland_atom.txt b/doc/src/compute_ackland_atom.txt index cda4a36b34..46db81eb9e 100644 --- a/doc/src/compute_ackland_atom.txt +++ b/doc/src/compute_ackland_atom.txt @@ -32,7 +32,7 @@ according to the formulation given in "(Ackland)"_#Ackland. Historically, LAMMPS had two, slightly different implementations of the algorithm from the paper. With the {legacy} keyword, it is possible to switch between the pre-2015 ({legacy yes}) and post-2015 -implemention ({legacy no}). The post-2015 variant is the default. +implementation ({legacy no}). The post-2015 variant is the default. In contrast to the "centro-symmetry parameter"_compute_centro_atom.html this method is stable against diff --git a/doc/src/fix_bocs.txt b/doc/src/fix_bocs.txt index 7acc22d702..b7d4e7badf 100644 --- a/doc/src/fix_bocs.txt +++ b/doc/src/fix_bocs.txt @@ -56,7 +56,7 @@ value and its corresponding pressure correction. The volumes in the file should be uniformly spaced. Both the volumes and the pressure corrections should be provided in the proper units, e.g. if you are using {units real}, the volumes should all be in cubic angstroms, and the pressure corrections -should all be in atomspheres. Furthermore, the table should start/end at a +should all be in atmospheres. Furthermore, the table should start/end at a volume considerably smaller/larger than you expect your system to sample during the simulation. If the system ever reaches a volume outside of the range provided, the simulation will stop. diff --git a/doc/src/fix_rhok.txt b/doc/src/fix_rhok.txt index a3d1ab702e..f013ebfae1 100644 --- a/doc/src/fix_rhok.txt +++ b/doc/src/fix_rhok.txt @@ -11,7 +11,7 @@ fix rhok command :h3 fix ID group-ID rhok nx ny nz K a :pre ID, group-ID are documented in "fix"_fix.html command -nx, ny, nz = k-vektor of collective density field +nx, ny, nz = k-vector of collective density field K = spring constant of bias potential a = anchor point of bias potential :ul diff --git a/doc/src/neb.txt b/doc/src/neb.txt index 57e122fdcd..75d199e0b4 100644 --- a/doc/src/neb.txt +++ b/doc/src/neb.txt @@ -338,9 +338,9 @@ energy gradient of image i. ReplicaForce is the two-norm of the 3N-length force vector (including nudging forces) for replica i. MaxAtomForce is the maximum force component of any atom in replica i. -When a NEB calculation does not converge properly, the suplementary +When a NEB calculation does not converge properly, the supplementary information can help understanding what is going wrong. For instance -when the path angle becomes accute the definition of tangent used in +when the path angle becomes accute, the definition of tangent used in the NEB calculation is questionable and the NEB cannot may diverge "(Maras)"_#Maras2. diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 8eb37f6135..febd5c20a0 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -260,6 +260,7 @@ Caro cartesian Cates cbecker +ccache ccmake CCu cd -- GitLab From 4f36f077ff8b451dc2b92a9bd80ff1791ee5bc1b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Aug 2018 10:08:36 -0400 Subject: [PATCH 580/675] whitespace cleanup --- doc/src/Eqs/pair_atm.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Eqs/pair_atm.tex b/doc/src/Eqs/pair_atm.tex index 0e05370faf..fce1db99b8 100644 --- a/doc/src/Eqs/pair_atm.tex +++ b/doc/src/Eqs/pair_atm.tex @@ -4,6 +4,6 @@ \begin{equation} E=\nu\frac{1+3\cos\gamma_1\cos\gamma_2\cos\gamma_3}{r_{12}^3r_{23}^3r_{31}^3} -\end{equation} +\end{equation} \end{document} -- GitLab From c5d3274222a86168312450ba4f6188bb3c47a50d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Aug 2018 10:13:06 -0400 Subject: [PATCH 581/675] restore files --- doc/src/Packages_details.txt | 2000 ++++++++++++++++++++++++++++++++++ doc/src/Speed_kokkos.txt | 381 +++++++ 2 files changed, 2381 insertions(+) create mode 100644 doc/src/Packages_details.txt create mode 100644 doc/src/Speed_kokkos.txt diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt new file mode 100644 index 0000000000..892774be38 --- /dev/null +++ b/doc/src/Packages_details.txt @@ -0,0 +1,2000 @@ +"Higher level section"_Packages.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Package details :h3 + +Here is a brief description of all the standard and user packages in +LAMMPS. It lists authors (if applicable) and summarizes the package +contents. It has specific instructions on how to install the package, +including, if necessary, info on how to download or build any extra +library it requires. It also gives links to documentation, example +scripts, and pictures/movies (if available) that illustrate use of the +package. + +The majority of packages can be included in a LAMMPS build with a +single setting (-D PGK_NAME for CMake) or command ("make yes-name" for +make). See the "Build package"_Build_package.html doc page for more +info. A few packages may require additional steps; this is indicated +in the descriptions below. The "Build extras"_Build_extras.html doc +page gives those details. + +NOTE: To see the complete list of commands a package adds to LAMMPS, +you can examine the files in its src directory, e.g. "ls +src/GRANULAR". Files with names that start with fix, compute, atom, +pair, bond, angle, etc correspond to commands with the same style name +as contained in the file name. + +"ASPHERE"_#PKG-ASPHERE, +"BODY"_#PKG-BODY, +"CLASS2"_#PKG-CLASS2, +"COLLOID"_#PKG-COLLOID, +"COMPRESS"_#PKG-COMPRESS, +"CORESHELL"_#PKG-CORESHELL, +"DIPOLE"_#PKG-DIPOLE, +"GPU"_#PKG-GPU, +"GRANULAR"_#PKG-GRANULAR, +"KIM"_#PKG-KIM, +"KOKKOS"_#PKG-KOKKOS, +"KSPACE"_#PKG-KSPACE, +"LATTE"_#PKG-LATTE, +"MANYBODY"_#PKG-MANYBODY, +"MC"_#PKG-MC, +"MEAM"_#PKG-MEAM, +"MISC"_#PKG-MISC, +"MOLECULE"_#PKG-MOLECULE, +"MPIIO"_#PKG-MPIIO, +"MSCG"_#PKG-MSCG, +"OPT"_#PKG-OPT, +"PERI"_#PKG-PERI, +"POEMS"_#PKG-POEMS, +"PYTHON"_#PKG-PYTHON, +"QEQ"_#PKG-QEQ, +"REAX"_#PKG-REAX, +"REPLICA"_#PKG-REPLICA2, +"RIGID"_#PKG-RIGID, +"SHOCK"_#PKG-SHOCK, +"SNAP"_#PKG-SNAP, +"SPIN"_#PKG-SPIN, +"SRD"_#PKG-SRD, +"VORONOI"_#PKG-VORONOI :tb(c=6,ea=c) + +"USER-ATC"_#PKG-USER-ATC, +"USER-AWPMD"_#PKG-USER-AWPMD, +"USER-BOCS"_#PKG-USER-BOCS, +"USER-CGDNA"_#PKG-USER-CGDNA, +"USER-CGSDK"_#PKG-USER-CGSDK, +"USER-COLVARS"_#PKG-USER-COLVARS, +"USER-DIFFRACTION"_#PKG-USER-DIFFRACTION, +"USER-DPD"_#PKG-USER-DPD, +"USER-DRUDE"_#PKG-USER-DRUDE, +"USER-EFF"_#PKG-USER-EFF, +"USER-FEP"_#PKG-USER-FEP, +"USER-H5MD"_#PKG-USER-H5MD, +"USER-INTEL"_#PKG-USER-INTEL, +"USER-LB"_#PKG-USER-LB, +"USER-MANIFOLD"_#PKG-USER-MANIFOLD, +"USER-MEAMC"_#PKG-USER-MEAMC, +"USER-MESO"_#PKG-USER-MESO, +"USER-MGPT"_#PKG-USER-MGPT, +"USER-MISC"_#PKG-USER-MISC, +"USER-MOFFF"_#PKG-USER-MOFFF, +"USER-MOLFILE"_#PKG-USER-MOLFILE, +"USER-NETCDF"_#PKG-USER-NETCDF, +"USER-OMP"_#PKG-USER-OMP, +"USER-PHONON"_#PKG-USER-PHONON, +"USER-QMMM"_#PKG-USER-QMMM, +"USER-QTB"_#PKG-USER-QTB, +"USER-QUIP"_#PKG-USER-QUIP, +"USER-REAXC"_#PKG-USER-REAXC, +"USER-SMD"_#PKG-USER-SMD, +"USER-SMTBQ"_#PKG-USER-SMTBQ, +"USER-SPH"_#PKG-USER-SPH, +"USER-TALLY"_#PKG-USER-TALLY, +"USER-UEF"_#PKG-USER-UEF, +"USER-VTK"_#PKG-USER-VTK :tb(c=6,ea=c) + +:line + +ASPHERE package :link(PKG-ASPHERE),h4 + +[Contents:] + +Computes, time-integration fixes, and pair styles for aspherical +particle models including ellipsoids, 2d lines, and 3d triangles. + +[Supporting info:] + +src/ASPHERE: filenames -> commands +"Howto spherical"_Howto_spherical.html +"pair_style gayberne"_pair_gayberne.html +"pair_style resquared"_pair_resquared.html +"doc/PDF/pair_gayberne_extra.pdf"_PDF/pair_gayberne_extra.pdf +"doc/PDF/pair_resquared_extra.pdf"_PDF/pair_resquared_extra.pdf +examples/ASPHERE +examples/ellipse +http://lammps.sandia.gov/movies.html#line +http://lammps.sandia.gov/movies.html#tri :ul + +:line + +BODY package :link(PKG-BODY),h4 + +[Contents:] + +Body-style particles with internal structure. Computes, +time-integration fixes, pair styles, as well as the body styles +themselves. See the "Howto body"_Howto_body.html doc page for an +overview. + +[Supporting info:] + +src/BODY filenames -> commands +"Howto_body"_Howto_body.html +"atom_style body"_atom_style.html +"fix nve/body"_fix_nve_body.html +"pair_style body/nparticle"_pair_body_nparticle.html +examples/body :ul + +:line + +CLASS2 package :link(PKG-CLASS2),h4 + +[Contents:] + +Bond, angle, dihedral, improper, and pair styles for the COMPASS +CLASS2 molecular force field. + +[Supporting info:] + +src/CLASS2: filenames -> commands +"bond_style class2"_bond_class2.html +"angle_style class2"_angle_class2.html +"dihedral_style class2"_dihedral_class2.html +"improper_style class2"_improper_class2.html +"pair_style lj/class2"_pair_class2.html :ul + +:line + +COLLOID package :link(PKG-COLLOID),h4 + +[Contents:] + +Coarse-grained finite-size colloidal particles. Pair styles and fix +wall styles for colloidal interactions. Includes the Fast Lubrication +Dynamics (FLD) method for hydrodynamic interactions, which is a +simplified approximation to Stokesian dynamics. + +[Authors:] This package includes Fast Lubrication Dynamics pair styles +which were created by Amit Kumar and Michael Bybee from Jonathan +Higdon's group at UIUC. + +[Supporting info:] + +src/COLLOID: filenames -> commands +"fix wall/colloid"_fix_wall.html +"pair_style colloid"_pair_colloid.html +"pair_style yukawa/colloid"_pair_yukawa_colloid.html +"pair_style brownian"_pair_brownian.html +"pair_style lubricate"_pair_lubricate.html +"pair_style lubricateU"_pair_lubricateU.html +examples/colloid +examples/srd :ul + +:line + +COMPRESS package :link(PKG-COMPRESS),h4 + +[Contents:] + +Compressed output of dump files via the zlib compression library, +using dump styles with a "gz" in their style name. + +To use this package you must have the zlib compression library +available on your system. + +[Author:] Axel Kohlmeyer (Temple U). + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/COMPRESS: filenames -> commands +src/COMPRESS/README +lib/compress/README +"dump atom/gz"_dump.html +"dump cfg/gz"_dump.html +"dump custom/gz"_dump.html +"dump xyz/gz"_dump.html :ul + +:line + +CORESHELL package :link(PKG-CORESHELL),h4 + +[Contents:] + +Compute and pair styles that implement the adiabatic core/shell model +for polarizability. The pair styles augment Born, Buckingham, and +Lennard-Jones styles with core/shell capabilities. The "compute +temp/cs"_compute_temp_cs.html command calculates the temperature of a +system with core/shell particles. See the "Howto +coreshell"_Howto_coreshell.html doc page for an overview of how to use +this package. + +[Author:] Hendrik Heenen (Technical U of Munich). + +[Supporting info:] + +src/CORESHELL: filenames -> commands +"Howto coreshell"_Howto_coreshell.html +"Howto polarizable"_Howto_polarizable.html +"compute temp/cs"_compute_temp_cs.html +"pair_style born/coul/long/cs"_pair_cs.html +"pair_style buck/coul/long/cs"_pair_cs.html +"pair_style lj/cut/coul/long/cs"_pair_lj.html +examples/coreshell :ul + +:line + +DIPOLE package :link(PKG-DIPOLE),h4 + +[Contents:] + +An atom style and several pair styles for point dipole models with +short-range or long-range interactions. + +[Supporting info:] + +src/DIPOLE: filenames -> commands +"atom_style dipole"_atom_style.html +"pair_style lj/cut/dipole/cut"_pair_dipole.html +"pair_style lj/cut/dipole/long"_pair_dipole.html +"pair_style lj/long/dipole/long"_pair_dipole.html +examples/dipole :ul + +:line + +GPU package :link(PKG-GPU),h4 + +[Contents:] + +Dozens of pair styles and a version of the PPPM long-range Coulombic +solver optimized for GPUs. All such styles have a "gpu" as a suffix +in their style name. The GPU code can be compiled with either CUDA or +OpenCL, however the OpenCL variants are no longer actively maintained +and only the CUDA versions are regularly tested. The "Speed +gpu"_Speed_gpu.html doc page gives details of what hardware and GPU +software is required on your system, and details on how to build and +use this package. Its styles can be invoked at run time via the "-sf +gpu" or "-suffix gpu" "command-line switches"_Run_options.html. See +also the "KOKKOS"_#PKG-KOKKOS package, which has GPU-enabled styles. + +[Authors:] Mike Brown (Intel) while at Sandia and ORNL and Trung Nguyen +(Northwestern U) while at ORNL. + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/GPU: filenames -> commands +src/GPU/README +lib/gpu/README +"Speed packages"_Speed_packages.html +"Speed gpu"_Speed_gpu.html +"Section 2.6 -sf gpu"_Run_options.html +"Section 2.6 -pk gpu"_Run_options.html +"package gpu"_package.html +"Commands all"_Commands_all.html pages (pair,kspace) for styles followed by (g) +"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul + +:line + +GRANULAR package :link(PKG-GRANULAR),h4 + +[Contents:] + +Pair styles and fixes for finite-size granular particles, which +interact with each other and boundaries via frictional and dissipative +potentials. + +[Supporting info:] + +src/GRANULAR: filenames -> commands +"Howto granular"_Howto_granular.html +"fix pour"_fix_pour.html +"fix wall/gran"_fix_wall_gran.html +"pair_style gran/hooke"_pair_gran.html +"pair_style gran/hertz/history"_pair_gran.html +examples/granregion +examples/pour +bench/in.chute +http://lammps.sandia.gov/pictures.html#jamming +http://lammps.sandia.gov/movies.html#hopper +http://lammps.sandia.gov/movies.html#dem +http://lammps.sandia.gov/movies.html#brazil +http://lammps.sandia.gov/movies.html#granregion :ul + +:line + +KIM package :link(PKG-KIM),h4 + +[Contents:] + +A "pair_style kim"_pair_kim.html command which is a wrapper on the +Knowledge Base for Interatomic Models (KIM) repository of interatomic +potentials, enabling any of them to be used in LAMMPS simulations. + +To use this package you must have the KIM library available on your +system. + +Information about the KIM project can be found at its website: +https://openkim.org. The KIM project is led by Ellad Tadmor and Ryan +Elliott (U Minnesota) and James Sethna (Cornell U). + +[Authors:] Ryan Elliott (U Minnesota) is the main developer for the KIM +API which the "pair_style kim"_pair_kim.html command uses. He +developed the pair style in collaboration with Valeriu Smirichinski (U +Minnesota). + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/KIM: filenames -> commands +src/KIM/README +lib/kim/README +"pair_style kim"_pair_kim.html +examples/kim :ul + +:line + +KOKKOS package :link(PKG-KOKKOS),h4 + +[Contents:] + +Dozens of atom, pair, bond, angle, dihedral, improper, fix, compute +styles adapted to compile using the Kokkos library which can convert +them to OpenMP or CUDA code so that they run efficiently on multicore +CPUs, KNLs, or GPUs. All the styles have a "kk" as a suffix in their +style name. The "Speed kokkos"_Speed_kokkos.html doc page gives +details of what hardware and software is required on your system, and +how to build and use this package. Its styles can be invoked at run +time via the "-sf kk" or "-suffix kk" "command-line +switches"_Run_options.html. Also see the "GPU"_#PKG-GPU, "OPT"_#PKG-OPT, +"USER-INTEL"_#PKG-USER-INTEL, and "USER-OMP"_#PKG-USER-OMP packages, which +have styles optimized for CPUs, KNLs, and GPUs. + +You must have a C++11 compatible compiler to use this package. +KOKKOS makes extensive use of advanced C++ features, which can +expose compiler bugs, especially when compiling for maximum +performance at high optimization levels. Please see the file +lib/kokkos/README for a list of compilers and their respective +platforms, that are known to work. + +[Authors:] The KOKKOS package was created primarily by Christian Trott +and Stan Moore (Sandia), with contributions from other folks as well. +It uses the open-source "Kokkos library"_https://github.com/kokkos +which was developed by Carter Edwards, Christian Trott, and others at +Sandia, and which is included in the LAMMPS distribution in +lib/kokkos. + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/KOKKOS: filenames -> commands +src/KOKKOS/README +lib/kokkos/README +"Speed packages"_Speed_packages.html +"Speed kokkos"_Speed_kokkos.html +"Section 2.6 -k on ..."_Run_options.html +"Section 2.6 -sf kk"_Run_options.html +"Section 2.6 -pk kokkos"_Run_options.html +"package kokkos"_package.html +"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (k) +"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul + +:line + +KSPACE package :link(PKG-KSPACE),h4 + +[Contents:] + +A variety of long-range Coulombic solvers, as well as pair styles +which compute the corresponding short-range pairwise Coulombic +interactions. These include Ewald, particle-particle particle-mesh +(PPPM), and multilevel summation method (MSM) solvers. + +[Install:] + +Building with this package requires a 1d FFT library be present on +your system for use by the PPPM solvers. This can be the KISS FFT +library provided with LAMMPS, 3rd party libraries like FFTW, or a +vendor-supplied FFT library. See the "Build +settings"_Build_settings.html doc page for details on how to select +different FFT options for your LAMPMS build. + +[Supporting info:] + +src/KSPACE: filenames -> commands +"kspace_style"_kspace_style.html +"doc/PDF/kspace.pdf"_PDF/kspace.pdf +"Howto tip3p"_Howto_tip3p.html +"Howto tip4p"_Howto_tip4p.html +"Howto spc"_Howto_spc.html +"pair_style coul"_pair_coul.html +"Commands pair"_Commands_pair.html page for styles with "long" or "msm" in name +examples/peptide +bench/in.rhodo :ul + +:line + +LATTE package :link(PKG-LATTE),h4 + +[Contents:] + +A fix command which wraps the LATTE DFTB code, so that molecular +dynamics can be run with LAMMPS using density-functional tight-binding +quantum forces calculated by LATTE. + +More information on LATTE can be found at this web site: +"https://github.com/lanl/LATTE"_latte_home. A brief technical +description is given with the "fix latte"_fix_latte.html command. + +:link(latte_home,https://github.com/lanl/LATTE) + +[Authors:] Christian Negre (LANL) and Steve Plimpton (Sandia). LATTE +itself is developed at Los Alamos National Laboratory by Marc +Cawkwell, Anders Niklasson, and Christian Negre. + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/LATTE: filenames -> commands +src/LATTE/README +lib/latte/README +"fix latte"_fix_latte.html +examples/latte +"LAMMPS-LATTE tutorial"_https://github.com/lanl/LATTE/wiki/Using-LATTE-through-LAMMPS :ul + +:line + +MANYBODY package :link(PKG-MANYBODY),h4 + +[Contents:] + +A variety of manybody and bond-order potentials. These include +(AI)REBO, BOP, EAM, EIM, Stillinger-Weber, and Tersoff potentials. + +[Supporting info:] + +src/MANYBODY: filenames -> commands +"Commands pair"_Commands_pair.html page +examples/comb +examples/eim +examples/nb3d +examples/shear +examples/streitz +examples/vashishta +bench/in.eam :ul + +:line + +MC package :link(PKG-MC),h4 + +[Contents:] + +Several fixes and a pair style that have Monte Carlo (MC) or MC-like +attributes. These include fixes for creating, breaking, and swapping +bonds, for performing atomic swaps, and performing grand-canonical MC +(GCMC) in conjuction with dynamics. + +[Supporting info:] + +src/MC: filenames -> commands +"fix atom/swap"_fix_atom_swap.html +"fix bond/break"_fix_bond_break.html +"fix bond/create"_fix_bond_create.html +"fix bond/swap"_fix_bond_swap.html +"fix gcmc"_fix_gcmc.html +"pair_style dsmc"_pair_dsmc.html +http://lammps.sandia.gov/movies.html#gcmc :ul + +:line + +MEAM package :link(PKG-MEAM),h4 + +[Contents:] + +A pair style for the modified embedded atom (MEAM) potential. + +Please note that the use of the MEAM package is discouraged as +it has been superseded by the "USER-MEAMC"_#PKG-USER-MEAMC package, +which is a direct translation of the MEAM package to C++. +USER-MEAMC contains additional optimizations making it run faster +than MEAM on most machines, while providing the identical features +and user interface. + +[Author:] Greg Wagner (Northwestern U) while at Sandia. + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +NOTE: You should test building the MEAM library with both the Intel +and GNU compilers to see if a simulation runs faster with one versus +the other on your system. + +[Supporting info:] + +src/MEAM: filenames -> commands +src/meam/README +lib/meam/README +"pair_style meam"_pair_meam.html +examples/meam :ul + +:line + +MISC package :link(PKG-MISC),h4 + +[Contents:] + +A variety of compute, fix, pair, dump styles with specialized +capabilities that don't align with other packages. Do a directory +listing, "ls src/MISC", to see the list of commands. + +NOTE: the MISC package contains styles that require using the +-restrict flag, when compiling with Intel compilers. + +[Supporting info:] + +src/MISC: filenames -> commands +"compute ti"_compute_ti.html +"fix evaporate"_fix_evaporate.html +"fix orient/fcc"_fix_orient.html +"fix ttm"_fix_ttm.html +"fix thermal/conductivity"_fix_thermal_conductivity.html +"fix viscosity"_fix_viscosity.html +examples/KAPPA +examples/VISCOSITY +http://lammps.sandia.gov/pictures.html#ttm +http://lammps.sandia.gov/movies.html#evaporation :ul + +:line + +MOLECULE package :link(PKG-MOLECULE),h4 + +[Contents:] + +A large number of atom, pair, bond, angle, dihedral, improper styles +that are used to model molecular systems with fixed covalent bonds. +The pair styles include the Dreiding (hydrogen-bonding) and CHARMM +force fields, and a TIP4P water model. + +[Supporting info:] + +src/MOLECULE: filenames -> commands +"atom_style"_atom_style.html +"bond_style"_bond_style.html +"angle_style"_angle_style.html +"dihedral_style"_dihedral_style.html +"improper_style"_improper_style.html +"pair_style hbond/dreiding/lj"_pair_hbond_dreiding.html +"pair_style lj/charmm/coul/charmm"_pair_charmm.html +"Howto bioFF"_Howto_bioFF.html +examples/cmap +examples/dreiding +examples/micelle, +examples/peptide +bench/in.chain +bench/in.rhodo :ul + +:line + +MPIIO package :link(PKG-MPIIO),h4 + +[Contents:] + +Support for parallel output/input of dump and restart files via the +MPIIO library. It adds "dump styles"_dump.html with a "mpiio" in +their style name. Restart files with an ".mpiio" suffix are also +written and read in parallel. + +[Supporting info:] + +src/MPIIO: filenames -> commands +"dump"_dump.html +"restart"_restart.html +"write_restart"_write_restart.html +"read_restart"_read_restart.html :ul + +:line + +MSCG package :link(PKG-mscg),h4 + +[Contents:] + +A "fix mscg"_fix_mscg.html command which can parameterize a +Multi-Scale Coarse-Graining (MSCG) model using the open-source "MS-CG +library"_mscg_home. + +:link(mscg_home,https://github.com/uchicago-voth/MSCG-release) + +To use this package you must have the MS-CG library available on your +system. + +[Authors:] The fix was written by Lauren Abbott (Sandia). The MS-CG +library was developed by Jacob Wagner in Greg Voth's group at the +University of Chicago. + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/MSCG: filenames -> commands +src/MSCG/README +lib/mscg/README +examples/mscg :ul + +:line + +OPT package :link(PKG-OPT),h4 + +[Contents:] + +A handful of pair styles which are optimized for improved CPU +performance on single or multiple cores. These include EAM, LJ, +CHARMM, and Morse potentials. The styles have an "opt" suffix in +their style name. The "Speed opt"_Speed_opt.html doc page gives +details of how to build and use this package. Its styles can be +invoked at run time via the "-sf opt" or "-suffix opt" "command-line +switches"_Run_options.html. See also the "KOKKOS"_#PKG-KOKKOS, +"USER-INTEL"_#PKG-USER-INTEL, and "USER-OMP"_#PKG-USER-OMP packages, which +have styles optimized for CPU performance. + +[Authors:] James Fischer (High Performance Technologies), David Richie, +and Vincent Natoli (Stone Ridge Technolgy). + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/OPT: filenames -> commands +"Speed packages"_Speed_packages.html +"Speed opt"_Speed_opt.html +"Section 2.6 -sf opt"_Run_options.html +"Commands pair"_Commands_pair.html for styles followed by (t) +"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul + +:line + +PERI package :link(PKG-PERI),h4 + +[Contents:] + +An atom style, several pair styles which implement different +Peridynamics materials models, and several computes which calculate +diagnostics. Peridynamics is a a particle-based meshless continuum +model. + +[Authors:] The original package was created by Mike Parks (Sandia). +Additional Peridynamics models were added by Rezwanur Rahman and John +Foster (UTSA). + +[Supporting info:] + +src/PERI: filenames -> commands +"doc/PDF/PDLammps_overview.pdf"_PDF/PDLammps_overview.pdf +"doc/PDF/PDLammps_EPS.pdf"_PDF/PDLammps_EPS.pdf +"doc/PDF/PDLammps_VES.pdf"_PDF/PDLammps_VES.pdf +"atom_style peri"_atom_style.html +"pair_style peri/*"_pair_peri.html +"compute damage/atom"_compute_damage_atom.html +"compute plasticity/atom"_compute_plasticity_atom.html +examples/peri +http://lammps.sandia.gov/movies.html#peri :ul + +:line + +POEMS package :link(PKG-POEMS),h4 + +[Contents:] + +A fix that wraps the Parallelizable Open source Efficient Multibody +Software (POEMS) library, which is able to simulate the dynamics of +articulated body systems. These are systems with multiple rigid +bodies (collections of particles) whose motion is coupled by +connections at hinge points. + +[Author:] Rudra Mukherjee (JPL) while at RPI. + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/POEMS: filenames -> commands +src/POEMS/README +lib/poems/README +"fix poems"_fix_poems.html +examples/rigid :ul + +:line + +PYTHON package :link(PKG-PYTHON),h4 + +[Contents:] + +A "python"_python.html command which allow you to execute Python code +from a LAMMPS input script. The code can be in a separate file or +embedded in the input script itself. See the "Python +call"_Python_call.html doc page for an overview of using Python from +LAMMPS in this manner and all the "Python"_Python_head.html doc pages +for other ways to use LAMMPS and Python together. + +NOTE: Building with the PYTHON package assumes you have a Python +shared library available on your system, which needs to be a Python 2 +version, 2.6 or later. Python 3 is not yet supported. See the +lib/python/README for more details. + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/PYTHON: filenames -> commands +"Python call"_Python_head.html +lib/python/README +examples/python :ul + +:line + +QEQ package :link(PKG-QEQ),h4 + +[Contents:] + +Several fixes for performing charge equilibration (QEq) via different +algorithms. These can be used with pair styles that perform QEq as +part of their formulation. + +[Supporting info:] + +src/QEQ: filenames -> commands +"fix qeq/*"_fix_qeq.html +examples/qeq +examples/streitz :ul + +:line + +REAX package :link(PKG-REAX),h4 + +[Contents:] + +NOTE: the use of the REAX package is discouraged, as it is no longer +maintained. Please use the "USER-REAXC"_#PKG-USER-REAXC package instead, +and possibly the KOKKOS enabled variant of that, which has a more robust +memory management. + +A pair style which wraps a Fortran library which implements the ReaxFF +potential, which is a universal reactive force field. Also included is +a "fix reax/bonds"_fix_reax_bonds.html command for monitoring molecules +as bonds are created and destroyed. + +[Author:] Aidan Thompson (Sandia). + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/REAX: filenames -> commands +lib/reax/README +"pair_style reax"_pair_reax.html +"fix reax/bonds"_fix_reax_bonds.html +examples/reax :ul + +:line + +REPLICA package :link(PKG-REPLICA2),h4 + +[Contents:] + +A collection of multi-replica methods which can be used when running +multiple LAMMPS simulations (replicas). See the "Howto +replica"_Howto_replica.html doc page for an overview of how to run +multi-replica simulations in LAMMPS. Methods in the package include +nudged elastic band (NEB), parallel replica dynamics (PRD), +temperature accelerated dynamics (TAD), parallel tempering, and a +verlet/split algorithm for performing long-range Coulombics on one set +of processors, and the remainder of the force field calcalation on +another set. + +[Supporting info:] + +src/REPLICA: filenames -> commands +"Howto replica"_Howto_replica.html +"neb"_neb.html +"prd"_prd.html +"tad"_tad.html +"temper"_temper.html, +"run_style verlet/split"_run_style.html +examples/neb +examples/prd +examples/tad :ul + +:line + +RIGID package :link(PKG-RIGID),h4 + +[Contents:] + +Fixes which enforce rigid constraints on collections of atoms or +particles. This includes SHAKE and RATTLE, as well as varous +rigid-body integrators for a few large bodies or many small bodies. +Also several computes which calculate properties of rigid bodies. + +[Supporting info:] + +src/RIGID: filenames -> commands +"compute erotate/rigid"_compute_erotate_rigid.html +fix shake"_fix_shake.html +"fix rattle"_fix_shake.html +"fix rigid/*"_fix_rigid.html +examples/ASPHERE +examples/rigid +bench/in.rhodo +http://lammps.sandia.gov/movies.html#box +http://lammps.sandia.gov/movies.html#star :ul + +:line + +SHOCK package :link(PKG-SHOCK),h4 + +[Contents:] + +Fixes for running impact simulations where a shock-wave passes through +a material. + +[Supporting info:] + +src/SHOCK: filenames -> commands +"fix append/atoms"_fix_append_atoms.html +"fix msst"_fix_msst.html +"fix nphug"_fix_nphug.html +"fix wall/piston"_fix_wall_piston.html +examples/hugoniostat +examples/msst :ul + +:line + +SNAP package :link(PKG-SNAP),h4 + +[Contents:] + +A pair style for the spectral neighbor analysis potential (SNAP). +SNAP is methodology for deriving a highly accurate classical potential +fit to a large archive of quantum mechanical (DFT) data. Also several +computes which analyze attributes of the potential. + +[Author:] Aidan Thompson (Sandia). + +[Supporting info:] + +src/SNAP: filenames -> commands +"pair_style snap"_pair_snap.html +"compute sna/atom"_compute_sna_atom.html +"compute snad/atom"_compute_sna_atom.html +"compute snav/atom"_compute_sna_atom.html +examples/snap :ul + +:line + +SPIN package :link(PKG-SPIN),h4 + +[Contents:] + +Model atomic magnetic spins classically, coupled to atoms moving in +the usual manner via MD. Various pair, fix, and compute styles. + +[Author:] Julian Tranchida (Sandia). + +[Supporting info:] + +src/SPIN: filenames -> commands +"Howto spins"_Howto_spins.html +"pair_style spin/dmi"_pair_spin_dmi.html +"pair_style spin/exchange"_pair_spin_exchange.html +"pair_style spin/magelec"_pair_spin_magelec.html +"pair_style spin/neel"_pair_spin_neel.html +"fix nve/spin"_fix_nve_spin.html +"fix precession/spin"_fix_precession_spin.html +"compute spin"_compute_spin.html +examples/SPIN :ul + +:line + +SRD package :link(PKG-SRD),h4 + +[Contents:] + +A pair of fixes which implement the Stochastic Rotation Dynamics (SRD) +method for coarse-graining of a solvent, typically around large +colloidal particles. + +[Supporting info:] + +src/SRD: filenames -> commands +"fix srd"_fix_srd.html +"fix wall/srd"_fix_wall_srd.html +examples/srd +examples/ASPHERE +http://lammps.sandia.gov/movies.html#tri +http://lammps.sandia.gov/movies.html#line +http://lammps.sandia.gov/movies.html#poly :ul + +:line + +VORONOI package :link(PKG-VORONOI),h4 + +[Contents:] + +A compute command which calculates the Voronoi tesselation of a +collection of atoms by wrapping the "Voro++ library"_voro_home. This +can be used to calculate the local volume or each atoms or its near +neighbors. + +:link(voro_home,http://math.lbl.gov/voro++) + +To use this package you must have the Voro++ library available on your +system. + +[Author:] Daniel Schwen (INL) while at LANL. The open-source Voro++ +library was written by Chris Rycroft (Harvard U) while at UC Berkeley +and LBNL. + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/VORONOI: filenames -> commands +src/VORONOI/README +lib/voronoi/README +"compute voronoi/atom"_compute_voronoi_atom.html +examples/voronoi :ul + +:line + +USER-ATC package :link(PKG-USER-ATC),h4 + +[Contents:] + +ATC stands for atoms-to-continuum. This package implements a "fix +atc"_fix_atc.html command to either couple molecular dynamics with +continuum finite element equations or perform on-the-fly conversion of +atomic information to continuum fields. + +[Authors:] Reese Jones, Jeremy Templeton, Jon Zimmerman (Sandia). + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/USER-ATC: filenames -> commands +src/USER-ATC/README +"fix atc"_fix_atc.html +examples/USER/atc +http://lammps.sandia.gov/pictures.html#atc :ul + +:line + +USER-AWPMD package :link(PKG-USER-AWPMD),h4 + +[Contents:] + +AWPMD stands for Antisymmetrized Wave Packet Molecular Dynamics. This +package implements an atom, pair, and fix style which allows electrons +to be treated as explicit particles in a classical molecular dynamics +model. + +[Author:] Ilya Valuev (JIHT, Russia). + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/USER-AWPMD: filenames -> commands +src/USER-AWPMD/README +"pair_style awpmd/cut"_pair_awpmd.html +examples/USER/awpmd :ul + +:line + +USER-BOCS package :link(PKG-USER-BOCS),h4 + +[Contents:] + +This package provides "fix bocs"_fix_bocs.html, a modified version +of "fix npt"_fix_nh.html which includes the pressure correction to +the barostat as outlined in: + +N. J. H. Dunn and W. G. Noid, "Bottom-up coarse-grained models that +accurately describe the structure, pressure, and compressibility of +molecular liquids," J. Chem. Phys. 143, 243148 (2015). + +[Authors:] Nicholas J. H. Dunn and Michael R. DeLyser (The +Pennsylvania State University) + +[Supporting info:] + +The USER-BOCS user package for LAMMPS is part of the BOCS software package: +"https://github.com/noid-group/BOCS"_https://github.com/noid-group/BOCS + +See the following reference for information about the entire package: + +Dunn, NJH; Lebold, KM; DeLyser, MR; Rudzinski, JF; Noid, WG. +"BOCS: Bottom-Up Open-Source Coarse-Graining Software." +J. Phys. Chem. B. 122, 13, 3363-3377 (2018). + +Example inputs are in the examples/USER/bocs folder. + +:line + +USER-CGDNA package :link(PKG-USER-CGDNA),h4 + +[Contents:] + +Several pair styles, a bond style, and integration fixes for +coarse-grained models of single- and double-stranded DNA based on the +oxDNA model of Doye, Louis and Ouldridge at the University of Oxford. +This includes Langevin-type rigid-body integrators with improved +stability. + +[Author:] Oliver Henrich (University of Strathclyde, Glasgow). + +[Supporting info:] + +src/USER-CGDNA: filenames -> commands +/src/USER-CGDNA/README +"pair_style oxdna/*"_pair_oxdna.html +"pair_style oxdna2/*"_pair_oxdna2.html +"bond_style oxdna/*"_bond_oxdna.html +"bond_style oxdna2/*"_bond_oxdna.html +"fix nve/dotc/langevin"_fix_nve_dotc_langevin.html :ul + +:line + +USER-CGSDK package :link(PKG-USER-CGSDK),h4 + +[Contents:] + +Several pair styles and an angle style which implement the +coarse-grained SDK model of Shinoda, DeVane, and Klein which enables +simulation of ionic liquids, electrolytes, lipids and charged amino +acids. + +[Author:] Axel Kohlmeyer (Temple U). + +[Supporting info:] + +src/USER-CGSDK: filenames -> commands +src/USER-CGSDK/README +"pair_style lj/sdk/*"_pair_sdk.html +"angle_style sdk"_angle_sdk.html +examples/USER/cgsdk +http://lammps.sandia.gov/pictures.html#cg :ul + +:line + +USER-COLVARS package :link(PKG-USER-COLVARS),h4 + +[Contents:] + +COLVARS stands for collective variables, which can be used to +implement various enhanced sampling methods, including Adaptive +Biasing Force, Metadynamics, Steered MD, Umbrella Sampling and +Restraints. A "fix colvars"_fix_colvars.html command is implemented +which wraps a COLVARS library, which implements these methods. +simulations. + +[Authors:] The COLVARS library is written and maintained by +Giacomo Fiorin (ICMS, Temple University, Philadelphia, PA, USA) +and Jerome Henin (LISM, CNRS, Marseille, France), originally for +the NAMD MD code, but with portability in mind. Axel Kohlmeyer +(Temple U) provided the interface to LAMMPS. + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/USER-COLVARS: filenames -> commands +"doc/PDF/colvars-refman-lammps.pdf"_PDF/colvars-refman-lammps.pdf +src/USER-COLVARS/README +lib/colvars/README +"fix colvars"_fix_colvars.html +examples/USER/colvars :ul + +:line + +USER-DIFFRACTION package :link(PKG-USER-DIFFRACTION),h4 + +[Contents:] + +Two computes and a fix for calculating x-ray and electron diffraction +intensities based on kinematic diffraction theory. + +[Author:] Shawn Coleman while at the U Arkansas. + +[Supporting info:] + +src/USER-DIFFRACTION: filenames -> commands +"compute saed"_compute_saed.html +"compute xrd"_compute_xrd.html +"fix saed/vtk"_fix_saed_vtk.html +examples/USER/diffraction :ul + +:line + +USER-DPD package :link(PKG-USER-DPD),h4 + +[Contents:] + +DPD stands for dissipative particle dynamics. This package implements +coarse-grained DPD-based models for energetic, reactive molecular +crystalline materials. It includes many pair styles specific to these +systems, including for reactive DPD, where each particle has internal +state for multiple species and a coupled set of chemical reaction ODEs +are integrated each timestep. Highly accurate time integrators for +isothermal, isoenergetic, isobaric and isenthalpic conditions are +included. These enable long timesteps via the Shardlow splitting +algorithm. + +[Authors:] Jim Larentzos (ARL), Tim Mattox (Engility Corp), and and John +Brennan (ARL). + +[Supporting info:] + +src/USER-DPD: filenames -> commands +/src/USER-DPD/README +"compute dpd"_compute_dpd.html +"compute dpd/atom"_compute_dpd_atom.html +"fix eos/cv"_fix_eos_table.html +"fix eos/table"_fix_eos_table.html +"fix eos/table/rx"_fix_eos_table_rx.html +"fix shardlow"_fix_shardlow.html +"fix rx"_fix_rx.html +"pair_style table/rx"_pair_table_rx.html +"pair_style dpd/fdt"_pair_dpd_fdt.html +"pair_style dpd/fdt/energy"_pair_dpd_fdt.html +"pair_style exp6/rx"_pair_exp6_rx.html +"pair_style multi/lucy"_pair_multi_lucy.html +"pair_style multi/lucy/rx"_pair_multi_lucy_rx.html +examples/USER/dpd :ul + +:line + +USER-DRUDE package :link(PKG-USER-DRUDE),h4 + +[Contents:] + +Fixes, pair styles, and a compute to simulate thermalized Drude +oscillators as a model of polarization. See the "Howto +drude"_Howto_drude.html and "Howto drude2"_Howto_drude2.html doc pages +for an overview of how to use the package. There are auxiliary tools +for using this package in tools/drude. + +[Authors:] Alain Dequidt (U Blaise Pascal Clermont-Ferrand), Julien +Devemy (CNRS), and Agilio Padua (U Blaise Pascal). + +[Supporting info:] + +src/USER-DRUDE: filenames -> commands +"Howto drude"_Howto_drude.html +"Howto drude2"_Howto_drude2.html +"Howto polarizable"_Howto_polarizable.html +src/USER-DRUDE/README +"fix drude"_fix_drude.html +"fix drude/transform/*"_fix_drude_transform.html +"compute temp/drude"_compute_temp_drude.html +"pair_style thole"_pair_thole.html +"pair_style lj/cut/thole/long"_pair_thole.html +examples/USER/drude +tools/drude :ul + +:line + +USER-EFF package :link(PKG-USER-EFF),h4 + +[Contents:] + +EFF stands for electron force field which allows a classical MD code +to model electrons as particles of variable radius. This package +contains atom, pair, fix and compute styles which implement the eFF as +described in A. Jaramillo-Botero, J. Su, Q. An, and W.A. Goddard III, +JCC, 2010. The eFF potential was first introduced by Su and Goddard, +in 2007. There are auxiliary tools for using this package in +tools/eff; see its README file. + +[Author:] Andres Jaramillo-Botero (CalTech). + +[Supporting info:] + +src/USER-EFF: filenames -> commands +src/USER-EFF/README +"atom_style electron"_atom_style.html +"fix nve/eff"_fix_nve_eff.html +"fix nvt/eff"_fix_nh_eff.html +"fix npt/eff"_fix_nh_eff.html +"fix langevin/eff"_fix_langevin_eff.html +"compute temp/eff"_compute_temp_eff.html +"pair_style eff/cut"_pair_eff.html +"pair_style eff/inline"_pair_eff.html +examples/USER/eff +tools/eff/README +tools/eff +http://lammps.sandia.gov/movies.html#eff :ul + +:line + +USER-FEP package :link(PKG-USER-FEP),h4 + +[Contents:] + +FEP stands for free energy perturbation. This package provides +methods for performing FEP simulations by using a "fix +adapt/fep"_fix_adapt_fep.html command with soft-core pair potentials, +which have a "soft" in their style name. There are auxiliary tools +for using this package in tools/fep; see its README file. + +[Author:] Agilio Padua (Universite Blaise Pascal Clermont-Ferrand) + +[Supporting info:] + +src/USER-FEP: filenames -> commands +src/USER-FEP/README +"fix adapt/fep"_fix_adapt_fep.html +"compute fep"_compute_fep.html +"pair_style */soft"_pair_lj_soft.html +examples/USER/fep +tools/fep/README +tools/fep :ul + +:line + +USER-H5MD package :link(PKG-USER-H5MD),h4 + +[Contents:] + +H5MD stands for HDF5 for MD. "HDF5"_HDF5 is a portable, binary, +self-describing file format, used by many scientific simulations. +H5MD is a format for molecular simulations, built on top of HDF5. +This package implements a "dump h5md"_dump_h5md.html command to output +LAMMPS snapshots in this format. + +:link(HDF5,http://www.hdfgroup.org/HDF5) + +To use this package you must have the HDF5 library available on your +system. + +[Author:] Pierre de Buyl (KU Leuven) created both the package and the +H5MD format. + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/USER-H5MD: filenames -> commands +src/USER-H5MD/README +lib/h5md/README +"dump h5md"_dump_h5md.html :ul + +:line + +USER-INTEL package :link(PKG-USER-INTEL),h4 + +[Contents:] + +Dozens of pair, fix, bond, angle, dihedral, improper, and kspace +styles which are optimized for Intel CPUs and KNLs (Knights Landing). +All of them have an "intel" in their style name. The "Speed +intel"_Speed_intel.html doc page gives details of what hardware and +compilers are required on your system, and how to build and use this +package. Its styles can be invoked at run time via the "-sf intel" or +"-suffix intel" "command-line switches"_Run_options.html. Also see +the "KOKKOS"_#PKG-KOKKOS, "OPT"_#PKG-OPT, and "USER-OMP"_#PKG-USER-OMP packages, +which have styles optimized for CPUs and KNLs. + +You need to have an Intel compiler, version 14 or higher to take full +advantage of this package. While compilation with GNU compilers is +supported, performance will be suboptimal. + +NOTE: the USER-INTEL package contains styles that require using the +-restrict flag, when compiling with Intel compilers. + +[Author:] Mike Brown (Intel). + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/USER-INTEL: filenames -> commands +src/USER-INTEL/README +"Speed packages"_Speed_packages.html +"Speed intel"_Speed_intel.html +"Section 2.6 -sf intel"_Run_options.html +"Section 2.6 -pk intel"_Run_options.html +"package intel"_package.html +"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (i) +src/USER-INTEL/TEST +"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul + +:line + +USER-LB package :link(PKG-USER-LB),h4 + +[Contents:] + +Fixes which implement a background Lattice-Boltzmann (LB) fluid, which +can be used to model MD particles influenced by hydrodynamic forces. + +[Authors:] Frances Mackay and Colin Denniston (University of Western +Ontario). + +[Supporting info:] + +src/USER-LB: filenames -> commands +src/USER-LB/README +"fix lb/fluid"_fix_lb_fluid.html +"fix lb/momentum"_fix_lb_momentum.html +"fix lb/viscous"_fix_lb_viscous.html +examples/USER/lb :ul + +:line + +USER-MGPT package :link(PKG-USER-MGPT),h4 + +[Contents:] + +A pair style which provides a fast implementation of the quantum-based +MGPT multi-ion potentials. The MGPT or model GPT method derives from +first-principles DFT-based generalized pseudopotential theory (GPT) +through a series of systematic approximations valid for mid-period +transition metals with nearly half-filled d bands. The MGPT method +was originally developed by John Moriarty at LLNL. The pair style in +this package calculates forces and energies using an optimized +matrix-MGPT algorithm due to Tomas Oppelstrup at LLNL. + +[Authors:] Tomas Oppelstrup and John Moriarty (LLNL). + +[Supporting info:] + +src/USER-MGPT: filenames -> commands +src/USER-MGPT/README +"pair_style mgpt"_pair_mgpt.html +examples/USER/mgpt :ul + +:line + +USER-MISC package :link(PKG-USER-MISC),h4 + +[Contents:] + +A potpourri of (mostly) unrelated features contributed to LAMMPS by +users. Each feature is a single fix, compute, pair, bond, angle, +dihedral, improper, or command style. + +[Authors:] The author for each style in the package is listed in the +src/USER-MISC/README file. + +[Supporting info:] + +src/USER-MISC: filenames -> commands +src/USER-MISC/README +one doc page per individual command listed in src/USER-MISC/README +examples/USER/misc :ul + +:line + +USER-MANIFOLD package :link(PKG-USER-MANIFOLD),h4 + +[Contents:] + +Several fixes and a "manifold" class which enable simulations of +particles constrained to a manifold (a 2D surface within the 3D +simulation box). This is done by applying the RATTLE constraint +algorithm to formulate single-particle constraint functions +g(xi,yi,zi) = 0 and their derivative (i.e. the normal of the manifold) +n = grad(g). + +[Author:] Stefan Paquay (until 2017: Eindhoven University of +Technology (TU/e), The Netherlands; since 2017: Brandeis University, +Waltham, MA, USA) + +[Supporting info:] + +src/USER-MANIFOLD: filenames -> commands +src/USER-MANIFOLD/README +"Howto manifold"_Howto_manifold.html +"fix manifoldforce"_fix_manifoldforce.html +"fix nve/manifold/rattle"_fix_nve_manifold_rattle.html +"fix nvt/manifold/rattle"_fix_nvt_manifold_rattle.html +examples/USER/manifold +http://lammps.sandia.gov/movies.html#manifold :ul + +:line + +USER-MEAMC package :link(PKG-USER-MEAMC),h4 + +[Contents:] + +A pair style for the modified embedded atom (MEAM) potential +translated from the Fortran version in the "MEAM"_MEAM package +to plain C++. In contrast to the MEAM package, no library +needs to be compiled and the pair style can be instantiated +multiple times. + +[Author:] Sebastian Huetter, (Otto-von-Guericke University Magdeburg) +based on the Fortran version of Greg Wagner (Northwestern U) while at +Sandia. + +[Supporting info:] + +src/USER-MEAMC: filenames -> commands +src/USER-MEAMC/README +"pair_style meam/c"_pair_meam.html +examples/meam :ul + +:line + +USER-MESO package :link(PKG-USER-MESO),h4 + +[Contents:] + +Several extensions of the the dissipative particle dynamics (DPD) +method. Specifically, energy-conserving DPD (eDPD) that can model +non-isothermal processes, many-body DPD (mDPD) for simulating +vapor-liquid coexistence, and transport DPD (tDPD) for modeling +advection-diffusion-reaction systems. The equations of motion of these +DPD extensions are integrated through a modified velocity-Verlet (MVV) +algorithm. + +[Author:] Zhen Li (Division of Applied Mathematics, Brown University) + +[Supporting info:] + +src/USER-MESO: filenames -> commands +src/USER-MESO/README +"atom_style edpd"_atom_style.html +"pair_style edpd"_pair_meso.html +"pair_style mdpd"_pair_meso.html +"pair_style tdpd"_pair_meso.html +"fix mvv/dpd"_fix_mvv_dpd.html +examples/USER/meso +http://lammps.sandia.gov/movies.html#mesodpd :ul + +:line + +USER-MOFFF package :link(PKG-USER-MOFFF),h4 + +[Contents:] + +Pair, angle and improper styles needed to employ the MOF-FF +force field by Schmid and coworkers with LAMMPS. +MOF-FF is a first principles derived force field with the primary aim +to simulate MOFs and related porous framework materials, using spherical +Gaussian charges. It is described in S. Bureekaew et al., Phys. Stat. Sol. B +2013, 250, 1128-1141. +For the usage of MOF-FF see the example in the example directory as +well as the "MOF+"_MOFplus website. + +:link(MOFplus,https://www.mofplus.org/content/show/MOF-FF) + +[Author:] Hendrik Heenen (Technical U of Munich), +Rochus Schmid (Ruhr-University Bochum). + +[Supporting info:] + +src/USER-MOFFF: filenames -> commands +src/USER-MOFFF/README +"pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html +"angle_style class2"_angle_class2.html +"angle_style cosine/buck6d"_angle_cosine_buck6d.html +"improper_style inversion/harmonic"_improper_inversion_harmonic.html +examples/USER/mofff :ul + +:line + +USER-MOLFILE package :link(PKG-USER-MOLFILE),h4 + +[Contents:] + +A "dump molfile"_dump_molfile.html command which uses molfile plugins +that are bundled with the "VMD"_vmd_home +molecular visualization and analysis program, to enable LAMMPS to dump +snapshots in formats compatible with various molecular simulation +tools. + +:link(vmd_home,http://www.ks.uiuc.edu/Research/vmd) + +To use this package you must have the desired VMD plugins available on +your system. + +Note that this package only provides the interface code, not the +plugins themselves, which will be accessed when requesting a specific +plugin via the "dump molfile"_dump_molfile.html command. Plugins can +be obtained from a VMD installation which has to match the platform +that you are using to compile LAMMPS for. By adding plugins to VMD, +support for new file formats can be added to LAMMPS (or VMD or other +programs that use them) without having to recompile the application +itself. More information about the VMD molfile plugins can be found +at +"http://www.ks.uiuc.edu/Research/vmd/plugins/molfile"_http://www.ks.uiuc.edu/Research/vmd/plugins/molfile. + +[Author:] Axel Kohlmeyer (Temple U). + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/USER-MOLFILE: filenames -> commands +src/USER-MOLFILE/README +lib/molfile/README +"dump molfile"_dump_molfile.html :ul + +:line + +USER-NETCDF package :link(PKG-USER-NETCDF),h4 + +[Contents:] + +Dump styles for writing NetCDF formatted dump files. NetCDF is a +portable, binary, self-describing file format developed on top of +HDF5. The file contents follow the AMBER NetCDF trajectory conventions +(http://ambermd.org/netcdf/nctraj.xhtml), but include extensions. + +To use this package you must have the NetCDF library available on your +system. + +Note that NetCDF files can be directly visualized with the following +tools: + +"Ovito"_ovito (Ovito supports the AMBER convention and the extensions mentioned above) +"VMD"_vmd_home +"AtomEye"_atomeye (the libAtoms version of AtomEye contains a NetCDF reader not present in the standard distribution) :ul + +:link(ovito,http://www.ovito.org) +:link(atomeye,http://www.libatoms.org) + +[Author:] Lars Pastewka (Karlsruhe Institute of Technology). + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/USER-NETCDF: filenames -> commands +src/USER-NETCDF/README +lib/netcdf/README +"dump netcdf"_dump_netcdf.html :ul + +:line + +USER-OMP package :link(PKG-USER-OMP),h4 + +[Contents:] + +Hundreds of pair, fix, compute, bond, angle, dihedral, improper, and +kspace styles which are altered to enable threading on many-core CPUs +via OpenMP directives. All of them have an "omp" in their style name. +The "Speed omp"_Speed_omp.html doc page gives details of what hardware +and compilers are required on your system, and how to build and use +this package. Its styles can be invoked at run time via the "-sf omp" +or "-suffix omp" "command-line switches"_Run_options.html. Also see +the "KOKKOS"_#PKG-KOKKOS, "OPT"_#PKG-OPT, and "USER-INTEL"_#PKG-USER-INTEL +packages, which have styles optimized for CPUs. + +[Author:] Axel Kohlmeyer (Temple U). + +NOTE: To enable multi-threading support the compile flag "-fopenmp" +and the link flag "-fopenmp" (for GNU compilers, you have to look up +the equivalent flags for other compilers) must be used to build LAMMPS. +When using Intel compilers, also the "-restrict" flag is required. +The USER-OMP package can be compiled without enabling OpenMP; then +all code will be compiled as serial and the only improvement over the +regular styles are some data access optimization. These flags should +be added to the CCFLAGS and LINKFLAGS lines of your Makefile.machine. +See src/MAKE/OPTIONS/Makefile.omp for an example. + +Once you have an appropriate Makefile.machine, you can +install/un-install the package and build LAMMPS in the usual manner: + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/USER-OMP: filenames -> commands +src/USER-OMP/README +"Speed packages"_Speed_packages.html +"Speed omp"_Speed_omp.html +"Section 2.6 -sf omp"_Run_options.html +"Section 2.6 -pk omp"_Run_options.html +"package omp"_package.html +"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (o) +"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul + +:line + +USER-PHONON package :link(PKG-USER-PHONON),h4 + +[Contents:] + +A "fix phonon"_fix_phonon.html command that calculates dynamical +matrices, which can then be used to compute phonon dispersion +relations, directly from molecular dynamics simulations. + +[Author:] Ling-Ti Kong (Shanghai Jiao Tong University). + +[Supporting info:] + +src/USER-PHONON: filenames -> commands +src/USER-PHONON/README +"fix phonon"_fix_phonon.html +examples/USER/phonon :ul + +:line + +USER-QMMM package :link(PKG-USER-QMMM),h4 + +[Contents:] + +A "fix qmmm"_fix_qmmm.html command which allows LAMMPS to be used in a +QM/MM simulation, currently only in combination with the "Quantum +ESPRESSO"_espresso package. + +:link(espresso,http://www.quantum-espresso.org) + +To use this package you must have Quantum ESPRESSO available on your +system. + +The current implementation only supports an ONIOM style mechanical +coupling to the Quantum ESPRESSO plane wave DFT package. +Electrostatic coupling is in preparation and the interface has been +written in a manner that coupling to other QM codes should be possible +without changes to LAMMPS itself. + +[Author:] Axel Kohlmeyer (Temple U). + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/USER-QMMM: filenames -> commands +src/USER-QMMM/README +lib/qmmm/README +"fix phonon"_fix_phonon.html +lib/qmmm/example-ec/README +lib/qmmm/example-mc/README :ul + +:line + +USER-QTB package :link(PKG-USER-QTB),h4 + +[Contents:] + +Two fixes which provide a self-consistent quantum treatment of +vibrational modes in a classical molecular dynamics simulation. By +coupling the MD simulation to a colored thermostat, it introduces zero +point energy into the system, altering the energy power spectrum and +the heat capacity to account for their quantum nature. This is useful +when modeling systems at temperatures lower than their classical +limits or when temperatures ramp across the classical limits in a +simulation. + +[Author:] Yuan Shen (Stanford U). + +[Supporting info:] + +src/USER-QTB: filenames -> commands +src/USER-QTB/README +"fix qtb"_fix_qtb.html +"fix qbmsst"_fix_qbmsst.html +examples/USER/qtb :ul + +:line + +USER-QUIP package :link(PKG-USER-QUIP),h4 + +[Contents:] + +A "pair_style quip"_pair_quip.html command which wraps the "QUIP +libAtoms library"_quip, which includes a variety of interatomic +potentials, including Gaussian Approximation Potential (GAP) models +developed by the Cambridge University group. + +:link(quip,https://github.com/libAtoms/QUIP) + +To use this package you must have the QUIP libAtoms library available +on your system. + +[Author:] Albert Bartok (Cambridge University) + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/USER-QUIP: filenames -> commands +src/USER-QUIP/README +"pair_style quip"_pair_quip.html +examples/USER/quip :ul + +:line + +USER-REAXC package :link(PKG-USER-REAXC),h4 + +[Contents:] + +A pair style which implements the ReaxFF potential in C/C++ (in +contrast to the "REAX package"_#PKG-REAX and its Fortran library). ReaxFF +is universal reactive force field. See the src/USER-REAXC/README file +for more info on differences between the two packages. Also two fixes +for monitoring molecules as bonds are created and destroyed. + +[Author:] Hasan Metin Aktulga (MSU) while at Purdue University. + +[Supporting info:] + +src/USER-REAXC: filenames -> commands +src/USER-REAXC/README +"pair_style reax/c"_pair_reaxc.html +"fix reax/c/bonds"_fix_reax_bonds.html +"fix reax/c/species"_fix_reaxc_species.html +examples/reax :ul + +:line + +USER-SMD package :link(PKG-USER-SMD),h4 + +[Contents:] + +An atom style, fixes, computes, and several pair styles which +implements smoothed Mach dynamics (SMD) for solids, which is a model +related to smoothed particle hydrodynamics (SPH) for liquids (see the +"USER-SPH package"_#PKG-USER-SPH). + +This package solves solids mechanics problems via a state of the art +stabilized meshless method with hourglass control. It can specify +hydrostatic interactions independently from material strength models, +i.e. pressure and deviatoric stresses are separated. It provides many +material models (Johnson-Cook, plasticity with hardening, +Mie-Grueneisen, Polynomial EOS) and allows new material models to be +added. It implements rigid boundary conditions (walls) which can be +specified as surface geometries from *.STL files. + +[Author:] Georg Ganzenmuller (Fraunhofer-Institute for High-Speed +Dynamics, Ernst Mach Institute, Germany). + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/USER-SMD: filenames -> commands +src/USER-SMD/README +doc/PDF/SMD_LAMMPS_userguide.pdf +examples/USER/smd +http://lammps.sandia.gov/movies.html#smd :ul + +:line + +USER-SMTBQ package :link(PKG-USER-SMTBQ),h4 + +[Contents:] + +A pair style which implements a Second Moment Tight Binding model with +QEq charge equilibration (SMTBQ) potential for the description of +ionocovalent bonds in oxides. + +[Authors:] Nicolas Salles, Emile Maras, Olivier Politano, and Robert +Tetot (LAAS-CNRS, France). + +[Supporting info:] + +src/USER-SMTBQ: filenames -> commands +src/USER-SMTBQ/README +"pair_style smtbq"_pair_smtbq.html +examples/USER/smtbq :ul + +:line + +USER-SPH package :link(PKG-USER-SPH),h4 + +[Contents:] + +An atom style, fixes, computes, and several pair styles which +implements smoothed particle hydrodynamics (SPH) for liquids. See the +related "USER-SMD package"_#PKG-USER-SMD package for smooth Mach dynamics +(SMD) for solids. + +This package contains ideal gas, Lennard-Jones equation of states, +Tait, and full support for complete (i.e. internal-energy dependent) +equations of state. It allows for plain or Monaghans XSPH integration +of the equations of motion. It has options for density continuity or +density summation to propagate the density field. It has +"set"_set.html command options to set the internal energy and density +of particles from the input script and allows the same quantities to +be output with thermodynamic output or to dump files via the "compute +property/atom"_compute_property_atom.html command. + +[Author:] Georg Ganzenmuller (Fraunhofer-Institute for High-Speed +Dynamics, Ernst Mach Institute, Germany). + +[Supporting info:] + +src/USER-SPH: filenames -> commands +src/USER-SPH/README +doc/PDF/SPH_LAMMPS_userguide.pdf +examples/USER/sph +http://lammps.sandia.gov/movies.html#sph :ul + +:line + +USER-TALLY package :link(PKG-USER-TALLY),h4 + +[Contents:] + +Several compute styles that can be called when pairwise interactions +are calculated to tally information (forces, heat flux, energy, +stress, etc) about individual interactions. + +[Author:] Axel Kohlmeyer (Temple U). + +[Supporting info:] + +src/USER-TALLY: filenames -> commands +src/USER-TALLY/README +"compute */tally"_compute_tally.html +examples/USER/tally :ul + +:line + +USER-UEF package :link(PKG-USER-UEF),h4 + +[Contents:] + +A fix style for the integration of the equations of motion under +extensional flow with proper boundary conditions, as well as several +supporting compute styles and an output option. + +[Author:] David Nicholson (MIT). + +[Supporting info:] + +src/USER-UEF: filenames -> commands +src/USER-UEF/README +"fix nvt/uef"_fix_nh_uef.html +"fix npt/uef"_fix_nh_uef.html +"compute pressure/uef"_compute_pressure_uef.html +"compute temp/uef"_compute_temp_uef.html +"dump cfg/uef"_dump_cfg_uef.html +examples/uef :ul + +:line + +USER-VTK package :link(PKG-USER-VTK),h4 + +[Contents:] + +A "dump vtk"_dump_vtk.html command which outputs snapshot info in the +"VTK format"_vtk, enabling visualization by "Paraview"_paraview or +other visualization packages. + +:link(vtk,http://www.vtk.org) +:link(paraview,http://www.paraview.org) + +To use this package you must have VTK library available on your +system. + +[Authors:] Richard Berger (JKU) and Daniel Queteschiner (DCS Computing). + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#gpu on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/USER-VTK: filenames -> commands +src/USER-VTK/README +lib/vtk/README +"dump vtk"_dump_vtk.html :ul diff --git a/doc/src/Speed_kokkos.txt b/doc/src/Speed_kokkos.txt new file mode 100644 index 0000000000..eb787df5d6 --- /dev/null +++ b/doc/src/Speed_kokkos.txt @@ -0,0 +1,381 @@ +"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +KOKKOS package :h3 + +Kokkos is a templated C++ library that provides abstractions to allow +a single implementation of an application kernel (e.g. a pair style) +to run efficiently on different kinds of hardware, such as GPUs, Intel +Xeon Phis, or many-core CPUs. Kokkos maps the C++ kernel onto +different backend languages such as CUDA, OpenMP, or Pthreads. The +Kokkos library also provides data abstractions to adjust (at compile +time) the memory layout of data structures like 2d and 3d arrays to +optimize performance on different hardware. For more information on +Kokkos, see "Github"_https://github.com/kokkos/kokkos. Kokkos is part +of "Trilinos"_http://trilinos.sandia.gov/packages/kokkos. The Kokkos +library was written primarily by Carter Edwards, Christian Trott, and +Dan Sunderland (all Sandia). + +The LAMMPS KOKKOS package contains versions of pair, fix, and atom +styles that use data structures and macros provided by the Kokkos +library, which is included with LAMMPS in /lib/kokkos. The KOKKOS +package was developed primarily by Christian Trott (Sandia) and Stan +Moore (Sandia) with contributions of various styles by others, +including Sikandar Mashayak (UIUC), Ray Shan (Sandia), and Dan Ibanez +(Sandia). For more information on developing using Kokkos abstractions +see the Kokkos programmers' guide at /lib/kokkos/doc/Kokkos_PG.pdf. + +Kokkos currently provides support for 3 modes of execution (per MPI +task). These are Serial (MPI-only for CPUs and Intel Phi), OpenMP +(threading for many-core CPUs and Intel Phi), and CUDA (for NVIDIA +GPUs). You choose the mode at build time to produce an executable +compatible with specific hardware. + +NOTE: Kokkos support within LAMMPS must be built with a C++11 compatible +compiler. This means GCC version 4.7.2 or later, Intel 14.0.4 or later, or +Clang 3.5.2 or later is required. + +NOTE: To build with Kokkos support for NVIDIA GPUs, NVIDIA CUDA +software version 7.5 or later must be installed on your system. See +the discussion for the "GPU package"_Speed_gpu.html for details of how +to check and do this. + +NOTE: Kokkos with CUDA currently implicitly assumes, that the MPI +library is CUDA-aware and has support for GPU-direct. This is not +always the case, especially when using pre-compiled MPI libraries +provided by a Linux distribution. This is not a problem when using +only a single GPU and a single MPI rank on a desktop. When running +with multiple MPI ranks, you may see segmentation faults without +GPU-direct support. These can be avoided by adding the flags "-pk +kokkos gpu/direct off"_Run_options.html to the LAMMPS command line or +by using the command "package kokkos gpu/direct off"_package.html in +the input file. + +[Building LAMMPS with the KOKKOS package:] + +See the "Build extras"_Build_extras.html#kokkos doc page for instructions. + +[Running LAMMPS with the KOKKOS package:] + +All Kokkos operations occur within the context of an individual MPI +task running on a single node of the machine. The total number of MPI +tasks used by LAMMPS (one or multiple per compute node) is set in the +usual manner via the mpirun or mpiexec commands, and is independent of +Kokkos. E.g. the mpirun command in OpenMPI does this via its -np and +-npernode switches. Ditto for MPICH via -np and -ppn. + +[Running on a multi-core CPU:] + +Here is a quick overview of how to use the KOKKOS package +for CPU acceleration, assuming one or more 16-core nodes. + +mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -in in.lj # 1 node, 16 MPI tasks/node, no multi-threading +mpirun -np 2 -ppn 1 lmp_kokkos_omp -k on t 16 -sf kk -in in.lj # 2 nodes, 1 MPI task/node, 16 threads/task +mpirun -np 2 lmp_kokkos_omp -k on t 8 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 8 threads/task +mpirun -np 32 -ppn 4 lmp_kokkos_omp -k on t 4 -sf kk -in in.lj # 8 nodes, 4 MPI tasks/node, 4 threads/task :pre + +To run using the KOKKOS package, use the "-k on", "-sf kk" and "-pk +kokkos" "command-line switches"_Run_options.html in your mpirun +command. You must use the "-k on" "command-line +switch"_Run_options.html to enable the KOKKOS package. It takes +additional arguments for hardware settings appropriate to your system. +For OpenMP use: + +-k on t Nt :pre + +The "t Nt" option specifies how many OpenMP threads per MPI task to +use with a node. The default is Nt = 1, which is MPI-only mode. Note +that the product of MPI tasks * OpenMP threads/task should not exceed +the physical number of cores (on a node), otherwise performance will +suffer. If hyperthreading is enabled, then the product of MPI tasks * +OpenMP threads/task should not exceed the physical number of cores * +hardware threads. The "-k on" switch also issues a "package kokkos" +command (with no additional arguments) which sets various KOKKOS +options to default values, as discussed on the "package"_package.html +command doc page. + +The "-sf kk" "command-line switch"_Run_options.html will automatically +append the "/kk" suffix to styles that support it. In this manner no +modification to the input script is needed. Alternatively, one can run +with the KOKKOS package by editing the input script as described +below. + +NOTE: The default for the "package kokkos"_package.html command is to +use "full" neighbor lists and set the Newton flag to "off" for both +pairwise and bonded interactions. However, when running on CPUs, it +will typically be faster to use "half" neighbor lists and set the +Newton flag to "on", just as is the case for non-accelerated pair +styles. It can also be faster to use non-threaded communication. Use +the "-pk kokkos" "command-line switch"_Run_options.html to change the +default "package kokkos"_package.html options. See its doc page for +details and default settings. Experimenting with its options can +provide a speed-up for specific calculations. For example: + +mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half comm no -in in.lj # Newton on, Half neighbor list, non-threaded comm :pre + +If the "newton"_newton.html command is used in the input +script, it can also override the Newton flag defaults. + +[Core and Thread Affinity:] + +When using multi-threading, it is important for performance to bind +both MPI tasks to physical cores, and threads to physical cores, so +they do not migrate during a simulation. + +If you are not certain MPI tasks are being bound (check the defaults +for your MPI installation), binding can be forced with these flags: + +OpenMPI 1.8: mpirun -np 2 --bind-to socket --map-by socket ./lmp_openmpi ... +Mvapich2 2.0: mpiexec -np 2 --bind-to socket --map-by socket ./lmp_mvapich ... :pre + +For binding threads with KOKKOS OpenMP, use thread affinity +environment variables to force binding. With OpenMP 3.1 (gcc 4.7 or +later, intel 12 or later) setting the environment variable +OMP_PROC_BIND=true should be sufficient. In general, for best +performance with OpenMP 4.0 or better set OMP_PROC_BIND=spread and +OMP_PLACES=threads. For binding threads with the KOKKOS pthreads +option, compile LAMMPS the KOKKOS HWLOC=yes option as described below. + +[Running on Knight's Landing (KNL) Intel Xeon Phi:] + +Here is a quick overview of how to use the KOKKOS package for the +Intel Knight's Landing (KNL) Xeon Phi: + +KNL Intel Phi chips have 68 physical cores. Typically 1 to 4 cores are +reserved for the OS, and only 64 or 66 cores are used. Each core has 4 +hyperthreads,so there are effectively N = 256 (4*64) or N = 264 (4*66) +cores to run on. The product of MPI tasks * OpenMP threads/task should +not exceed this limit, otherwise performance will suffer. Note that +with the KOKKOS package you do not need to specify how many KNLs there +are per node; each KNL is simply treated as running some number of MPI +tasks. + +Examples of mpirun commands that follow these rules are shown below. + +Intel KNL node with 68 cores (272 threads/node via 4x hardware threading): +mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -in in.lj # 1 node, 64 MPI tasks/node, 4 threads/task +mpirun -np 66 lmp_kokkos_phi -k on t 4 -sf kk -in in.lj # 1 node, 66 MPI tasks/node, 4 threads/task +mpirun -np 32 lmp_kokkos_phi -k on t 8 -sf kk -in in.lj # 1 node, 32 MPI tasks/node, 8 threads/task +mpirun -np 512 -ppn 64 lmp_kokkos_phi -k on t 4 -sf kk -in in.lj # 8 nodes, 64 MPI tasks/node, 4 threads/task :pre + +The -np setting of the mpirun command sets the number of MPI +tasks/node. The "-k on t Nt" command-line switch sets the number of +threads/task as Nt. The product of these two values should be N, i.e. +256 or 264. + +NOTE: The default for the "package kokkos"_package.html command is to +use "full" neighbor lists and set the Newton flag to "off" for both +pairwise and bonded interactions. When running on KNL, this will +typically be best for pair-wise potentials. For manybody potentials, +using "half" neighbor lists and setting the Newton flag to "on" may be +faster. It can also be faster to use non-threaded communication. Use +the "-pk kokkos" "command-line switch"_Run_options.html to change the +default "package kokkos"_package.html options. See its doc page for +details and default settings. Experimenting with its options can +provide a speed-up for specific calculations. For example: + +mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm no -in in.lj # Newton off, full neighbor list, non-threaded comm +mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton on neigh half comm no -in in.reax # Newton on, half neighbor list, non-threaded comm :pre + +NOTE: MPI tasks and threads should be bound to cores as described +above for CPUs. + +NOTE: To build with Kokkos support for Intel Xeon Phi coprocessors +such as Knight's Corner (KNC), your system must be configured to use +them in "native" mode, not "offload" mode like the USER-INTEL package +supports. + +[Running on GPUs:] + +Use the "-k" "command-line switch"_Run_options.html to +specify the number of GPUs per node. Typically the -np setting of the +mpirun command should set the number of MPI tasks/node to be equal to +the number of physical GPUs on the node. You can assign multiple MPI +tasks to the same GPU with the KOKKOS package, but this is usually +only faster if significant portions of the input script have not +been ported to use Kokkos. Using CUDA MPS is recommended in this +scenario. Using a CUDA-aware MPI library with support for GPU-direct +is highly recommended. GPU-direct use can be avoided by using +"-pk kokkos gpu/direct no"_package.html. +As above for multi-core CPUs (and no GPU), if N is the number of +physical cores/node, then the number of MPI tasks/node should not +exceed N. + +-k on g Ng :pre + +Here are examples of how to use the KOKKOS package for GPUs, assuming +one or more nodes, each with two GPUs: + +mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 2 GPUs/node +mpirun -np 32 -ppn 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 16 nodes, 2 MPI tasks/node, 2 GPUs/node (32 GPUs total) :pre + +NOTE: The default for the "package kokkos"_package.html command is to +use "full" neighbor lists and set the Newton flag to "off" for both +pairwise and bonded interactions, along with threaded communication. +When running on Maxwell or Kepler GPUs, this will typically be +best. For Pascal GPUs, using "half" neighbor lists and setting the +Newton flag to "on" may be faster. For many pair styles, setting the +neighbor binsize equal to the ghost atom cutoff will give speedup. +Use the "-pk kokkos" "command-line switch"_Run_options.html to change +the default "package kokkos"_package.html options. See its doc page +for details and default settings. Experimenting with its options can +provide a speed-up for specific calculations. For example: + +mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos binsize 2.8 -in in.lj # Set binsize = neighbor ghost cutoff +mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighborlist, set binsize = neighbor ghost cutoff :pre + +NOTE: For good performance of the KOKKOS package on GPUs, you must +have Kepler generation GPUs (or later). The Kokkos library exploits +texture cache options not supported by Telsa generation GPUs (or +older). + +NOTE: When using a GPU, you will achieve the best performance if your +input script does not use fix or compute styles which are not yet +Kokkos-enabled. This allows data to stay on the GPU for multiple +timesteps, without being copied back to the host CPU. Invoking a +non-Kokkos fix or compute, or performing I/O for +"thermo"_thermo_style.html or "dump"_dump.html output will cause data +to be copied back to the CPU incurring a performance penalty. + +NOTE: To get an accurate timing breakdown between time spend in pair, +kspace, etc., you must set the environment variable CUDA_LAUNCH_BLOCKING=1. +However, this will reduce performance and is not recommended for production runs. + +[Run with the KOKKOS package by editing an input script:] + +Alternatively the effect of the "-sf" or "-pk" switches can be +duplicated by adding the "package kokkos"_package.html or "suffix +kk"_suffix.html commands to your input script. + +The discussion above for building LAMMPS with the KOKKOS package, the +mpirun/mpiexec command, and setting appropriate thread are the same. + +You must still use the "-k on" "command-line switch"_Run_options.html +to enable the KOKKOS package, and specify its additional arguments for +hardware options appropriate to your system, as documented above. + +You can use the "suffix kk"_suffix.html command, or you can explicitly add a +"kk" suffix to individual styles in your input script, e.g. + +pair_style lj/cut/kk 2.5 :pre + +You only need to use the "package kokkos"_package.html command if you +wish to change any of its option defaults, as set by the "-k on" +"command-line switch"_Run_options.html. + +[Using OpenMP threading and CUDA together (experimental):] + +With the KOKKOS package, both OpenMP multi-threading and GPUs can be +used together in a few special cases. In the Makefile, the +KOKKOS_DEVICES variable must include both "Cuda" and "OpenMP", as is +the case for /src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi + +KOKKOS_DEVICES=Cuda,OpenMP :pre + +The suffix "/kk" is equivalent to "/kk/device", and for Kokkos CUDA, +using the "-sf kk" in the command line gives the default CUDA version +everywhere. However, if the "/kk/host" suffix is added to a specific +style in the input script, the Kokkos OpenMP (CPU) version of that +specific style will be used instead. Set the number of OpenMP threads +as "t Nt" and the number of GPUs as "g Ng" + +-k on t Nt g Ng :pre + +For example, the command to run with 1 GPU and 8 OpenMP threads is then: + +mpiexec -np 1 lmp_kokkos_cuda_openmpi -in in.lj -k on g 1 t 8 -sf kk :pre + +Conversely, if the "-sf kk/host" is used in the command line and then +the "/kk" or "/kk/device" suffix is added to a specific style in your +input script, then only that specific style will run on the GPU while +everything else will run on the CPU in OpenMP mode. Note that the +execution of the CPU and GPU styles will NOT overlap, except for a +special case: + +A kspace style and/or molecular topology (bonds, angles, etc.) running +on the host CPU can overlap with a pair style running on the +GPU. First compile with "--default-stream per-thread" added to CCFLAGS +in the Kokkos CUDA Makefile. Then explicitly use the "/kk/host" +suffix for kspace and bonds, angles, etc. in the input file and the +"kk" suffix (equal to "kk/device") on the command line. Also make +sure the environment variable CUDA_LAUNCH_BLOCKING is not set to "1" +so CPU/GPU overlap can occur. + +[Speed-ups to expect:] + +The performance of KOKKOS running in different modes is a function of +your hardware, which KOKKOS-enable styles are used, and the problem +size. + +Generally speaking, the following rules of thumb apply: + +When running on CPUs only, with a single thread per MPI task, +performance of a KOKKOS style is somewhere between the standard +(un-accelerated) styles (MPI-only mode), and those provided by the +USER-OMP package. However the difference between all 3 is small (less +than 20%). :ulb,l + +When running on CPUs only, with multiple threads per MPI task, +performance of a KOKKOS style is a bit slower than the USER-OMP +package. :l + +When running large number of atoms per GPU, KOKKOS is typically faster +than the GPU package. :l + +When running on Intel hardware, KOKKOS is not as fast as +the USER-INTEL package, which is optimized for that hardware. :l +:ule + +See the "Benchmark page"_http://lammps.sandia.gov/bench.html of the +LAMMPS web site for performance of the KOKKOS package on different +hardware. + +[Advanced Kokkos options:] + +There are other allowed options when building with the KOKKOS package. +As explained on the "Build extras"_Build_extras.html#kokkos doc page, +they can be set either as variables on the make command line or in +Makefile.machine, or they can be specified as CMake variables. Each +takes a value shown below. The default value is listed, which is set +in the lib/kokkos/Makefile.kokkos file. + +KOKKOS_DEBUG, values = {yes}, {no}, default = {no} +KOKKOS_USE_TPLS, values = {hwloc}, {librt}, {experimental_memkind}, default = {none} +KOKKOS_CXX_STANDARD, values = {c++11}, {c++1z}, default = {c++11} +KOKKOS_OPTIONS, values = {aggressive_vectorization}, {disable_profiling}, default = {none} +KOKKOS_CUDA_OPTIONS, values = {force_uvm}, {use_ldg}, {rdc}, {enable_lambda}, default = {enable_lambda} :ul + +KOKKOS_USE_TPLS=hwloc binds threads to hardware cores, so they do not +migrate during a simulation. KOKKOS_USE_TPLS=hwloc should always be +used if running with KOKKOS_DEVICES=Pthreads for pthreads. It is not +necessary for KOKKOS_DEVICES=OpenMP for OpenMP, because OpenMP +provides alternative methods via environment variables for binding +threads to hardware cores. More info on binding threads to cores is +given on the "Speed omp"_Speed_omp.html doc page. + +KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism +on most Unix platforms. This library is not available on all +platforms. + +KOKKOS_DEBUG is only useful when developing a Kokkos-enabled style +within LAMMPS. KOKKOS_DEBUG=yes enables printing of run-time +debugging information that can be useful. It also enables runtime +bounds checking on Kokkos data structures. + +KOKKOS_CXX_STANDARD and KOKKOS_OPTIONS are typically not changed when +building LAMMPS. + +KOKKOS_CUDA_OPTIONS are additional options for CUDA. The LAMMPS KOKKOS +package must be compiled with the {enable_lambda} option when using +GPUs. + +[Restrictions:] + +Currently, there are no precision options with the KOKKOS package. All +compilation and computation is performed in double precision. -- GitLab From 648d8c3d2ae418ef877938d295260b2c058b8b8b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Aug 2018 10:15:17 -0400 Subject: [PATCH 582/675] adapt docs to refactored manual --- doc/src/pair_atm.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/pair_atm.txt b/doc/src/pair_atm.txt index c2718973ad..e59efe86ab 100644 --- a/doc/src/pair_atm.txt +++ b/doc/src/pair_atm.txt @@ -2,7 +2,7 @@ :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) -:link(lc,Section_commands.html#comm) +:link(lc,Commands_all.html) :line @@ -150,8 +150,8 @@ This pair style can only be used via the {pair} keyword of the [Restrictions:] This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#start_3 section for more info. +if LAMMPS was built with that package. See the "Build +package"_Build_package.html doc page for more info. [Related commands:] -- GitLab From a04008cdfd5bd0f7212669b97fe7581eec771649 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Aug 2018 10:27:40 -0400 Subject: [PATCH 583/675] fully integrate atm pair style into manual --- doc/src/Commands_pair.txt | 1 + doc/src/lammps.book | 1 + doc/src/pairs.txt | 1 + 3 files changed, 3 insertions(+) diff --git a/doc/src/Commands_pair.txt b/doc/src/Commands_pair.txt index eaf2720613..33890df1fe 100644 --- a/doc/src/Commands_pair.txt +++ b/doc/src/Commands_pair.txt @@ -33,6 +33,7 @@ OPT. "agni (o)"_pair_agni.html, "airebo (oi)"_pair_airebo.html, "airebo/morse (oi)"_pair_airebo.html, +"atm"_pair_atm.html, "awpmd/cut"_pair_awpmd.html, "beck (go)"_pair_beck.html, "body/nparticle"_pair_body_nparticle.html, diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 47d05570be..c296ff4039 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -524,6 +524,7 @@ pair_write.html pair_adp.html pair_agni.html pair_airebo.html +pair_atm.html pair_awpmd.html pair_beck.html pair_body_nparticle.html diff --git a/doc/src/pairs.txt b/doc/src/pairs.txt index 4c3eef2cd1..d535798482 100644 --- a/doc/src/pairs.txt +++ b/doc/src/pairs.txt @@ -8,6 +8,7 @@ Pair Styles :h1 pair_adp pair_agni pair_airebo + pair_atm pair_awpmd pair_beck pair_body_nparticle -- GitLab From 59d3af44f2fbe29f2848bd9ef9694818afead2a6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 23 Aug 2018 10:27:51 -0400 Subject: [PATCH 584/675] use c++ style system headers --- src/MANYBODY/pair_atm.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp index e960398ab3..c23aa6560d 100644 --- a/src/MANYBODY/pair_atm.cpp +++ b/src/MANYBODY/pair_atm.cpp @@ -15,10 +15,10 @@ Contributing author: Sergey Lishchuk ------------------------------------------------------------------------- */ -#include "pair_atm.h" -#include +#include +#include "pair_atm.h" #include "atom.h" #include "citeme.h" #include "comm.h" -- GitLab From dd923edf15e40dbff7840167653e24882a857934 Mon Sep 17 00:00:00 2001 From: Daniel Schwen Date: Thu, 23 Aug 2018 09:20:02 -0600 Subject: [PATCH 585/675] Fix unused parameters in memory.h (#1076) --- src/memory.h | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/memory.h b/src/memory.h index f2faecf6e1..20ea426f90 100644 --- a/src/memory.h +++ b/src/memory.h @@ -50,7 +50,7 @@ class Memory : protected Pointers { } template - TYPE **create(TYPE **&array, int n, const char *name) + TYPE **create(TYPE **& /*array*/, int /*n*/, const char *name) {fail(name); return NULL;} /* ---------------------------------------------------------------------- @@ -68,7 +68,7 @@ class Memory : protected Pointers { } template - TYPE **grow(TYPE **&array, int n, const char *name) + TYPE **grow(TYPE **& /*array*/, int /*n*/, const char *name) {fail(name); return NULL;} /* ---------------------------------------------------------------------- @@ -96,7 +96,7 @@ class Memory : protected Pointers { } template - TYPE **create1d_offset(TYPE **&array, int nlo, int nhi, const char *name) + TYPE **create1d_offset(TYPE **& /*array*/, int /*nlo*/, int /*nhi*/, const char *name) {fail(name); return NULL;} /* ---------------------------------------------------------------------- @@ -131,7 +131,7 @@ class Memory : protected Pointers { } template - TYPE ***create(TYPE ***&array, int n1, int n2, const char *name) + TYPE ***create(TYPE ***& /*array*/, int /*n1*/, int /*n2*/, const char *name) {fail(name); return NULL;} /* ---------------------------------------------------------------------- @@ -158,7 +158,7 @@ class Memory : protected Pointers { } template - TYPE ***grow(TYPE ***&array, int n1, int n2, const char *name) + TYPE ***grow(TYPE ***& /*array*/, int /*n1*/, int /*n2*/, const char *name) {fail(name); return NULL;} /* ---------------------------------------------------------------------- @@ -198,7 +198,7 @@ class Memory : protected Pointers { } template - TYPE ***create_ragged(TYPE ***&array, int n1, int *n2, const char *name) + TYPE ***create_ragged(TYPE ***& /*array*/, int /*n1*/, int * /*n2*/, const char *name) {fail(name); return NULL;} /* ---------------------------------------------------------------------- @@ -217,7 +217,7 @@ class Memory : protected Pointers { } template - TYPE ***create2d_offset(TYPE ***&array, int n1, int n2lo, int n2hi, + TYPE ***create2d_offset(TYPE ***& /*array*/, int /*n1*/, int /*n2lo*/, int /*n2hi*/, const char *name) {fail(name); return NULL;} /* ---------------------------------------------------------------------- @@ -262,7 +262,7 @@ class Memory : protected Pointers { } template - TYPE ****create(TYPE ****&array, int n1, int n2, int n3, const char *name) + TYPE ****create(TYPE ****& /*array*/, int /*n1*/, int /*n2*/, int /*n3*/, const char *name) {fail(name); return NULL;} /* ---------------------------------------------------------------------- @@ -297,7 +297,7 @@ class Memory : protected Pointers { } template - TYPE ****grow(TYPE ****&array, int n1, int n2, int n3, const char *name) + TYPE ****grow(TYPE ****& /*array*/, int /*n1*/, int /*n2*/, int /*n3*/, const char *name) {fail(name); return NULL;} /* ---------------------------------------------------------------------- @@ -330,8 +330,8 @@ class Memory : protected Pointers { } template - TYPE ****create3d_offset(TYPE ****&array, int n1lo, int n1hi, - int n2, int n3, const char *name) + TYPE ****create3d_offset(TYPE ****& /*array*/, int /*n1lo*/, int /*n1hi*/, + int /*n2*/, int /*n3*/, const char *name) {fail(name); return NULL;} /* ---------------------------------------------------------------------- @@ -374,8 +374,8 @@ class Memory : protected Pointers { } template - TYPE ****create3d_offset(TYPE ****&array, int n1lo, int n1hi, - int n2lo, int n2hi, int n3lo, int n3hi, + TYPE ****create3d_offset(TYPE ****& /*array*/, int /*n1lo*/, int /*n1hi*/, + int /*n2lo*/, int /*n2hi*/, int /*n3lo*/, int /*n3hi*/, const char *name) {fail(name); return NULL;} @@ -432,7 +432,7 @@ class Memory : protected Pointers { } template - TYPE *****create(TYPE *****&array, int n1, int n2, int n3, int n4, + TYPE *****create(TYPE *****& /*array*/, int /*n1*/, int /*n2*/, int /*n3*/, int /*n4*/, const char *name) {fail(name); return NULL;} @@ -478,8 +478,8 @@ class Memory : protected Pointers { } template - TYPE ****create4d_offset(TYPE *****&array, int n1, int n2lo, int n2hi, - int n3lo, int n3hi, int n4lo, int n4hi, + TYPE ****create4d_offset(TYPE *****& /*array*/, int /*n1*/, int /*n2lo*/, int /*n2hi*/, + int /*n3lo*/, int /*n3hi*/, int /*n4lo*/, int /*n4hi*/, const char *name) {fail(name); return NULL;} @@ -546,8 +546,8 @@ class Memory : protected Pointers { } template - TYPE ******create(TYPE ******&array, int n1, int n2, int n3, int n4, - int n5, const char *name) + TYPE ******create(TYPE ******& /*array*/, int /*n1*/, int /*n2*/, int /*n3*/, int /*n4*/, + int /*n5*/, const char *name) {fail(name); return NULL;} /* ---------------------------------------------------------------------- -- GitLab From 9388ed8cd088fab37f8512729274f1bcf7405328 Mon Sep 17 00:00:00 2001 From: Daniel Schwen Date: Thu, 23 Aug 2018 09:25:20 -0600 Subject: [PATCH 586/675] Add build files and clang-format config to gitignore (#1076) --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 50b970249a..1ce415678e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ *~ *.o *.so +*.lo *.cu_o *.ptx *_ptx.h @@ -32,6 +33,7 @@ log.cite .Trashes ehthumbs.db Thumbs.db +.clang-format #cmake /build* -- GitLab From 2eeb8cecb2e658efa9adebe8db17e9634fcc743a Mon Sep 17 00:00:00 2001 From: Rene Halver Date: Thu, 23 Aug 2018 10:08:31 -0600 Subject: [PATCH 587/675] removed left-over debug messages --- src/USER-SCAFACOS/scafacos.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/USER-SCAFACOS/scafacos.cpp b/src/USER-SCAFACOS/scafacos.cpp index 92d0612947..52bb0e46c4 100644 --- a/src/USER-SCAFACOS/scafacos.cpp +++ b/src/USER-SCAFACOS/scafacos.cpp @@ -126,10 +126,8 @@ void Scafacos::init() qqrd2e = force->qqrd2e; if (!initialized) { - printf("DEBUG: %p\n",&fcs); result = fcs_init((FCS*)&fcs,method,world); check_result((void*)&result); - printf("DEBUG: %p\n",&fcs); setup_handle(); -- GitLab From 7238d4af941078ba17d37bf572efc58ff6b5ef25 Mon Sep 17 00:00:00 2001 From: Daniel Schwen Date: Thu, 23 Aug 2018 10:08:23 -0600 Subject: [PATCH 588/675] Fix logic warnings (#1076) --- src/dump_custom.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 4c3950c099..17ad4b89ef 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -1023,12 +1023,12 @@ int DumpCustom::count() } else if (thresh_op[ithresh] == XOR) { if (lastflag) { for (i = 0; i < nlocal; i++, ptr += nstride) - if (choose[i] && (*ptr == 0.0 && values[i] == 0.0) || + if ((choose[i] && *ptr == 0.0 && values[i] == 0.0) || (*ptr != 0.0 && values[i] != 0.0)) choose[i] = 0; } else { for (i = 0; i < nlocal; i++, ptr += nstride) - if (choose[i] && (*ptr == 0.0 && value == 0.0) || + if ((choose[i] && *ptr == 0.0 && value == 0.0) || (*ptr != 0.0 && value != 0.0)) choose[i] = 0; } -- GitLab From e9bc93909817b29a37f32d20fcb96bfa720e30d0 Mon Sep 17 00:00:00 2001 From: Daniel Schwen Date: Thu, 23 Aug 2018 09:26:00 -0600 Subject: [PATCH 589/675] Fix more unused parameter warnings (#1076) --- src/accelerator_kokkos.h | 4 ++-- src/angle_zero.cpp | 2 +- src/atom.cpp | 4 ++-- src/atom_vec.cpp | 2 +- src/atom_vec_body.cpp | 3 +++ src/body.cpp | 2 +- src/bond_zero.cpp | 4 ++-- src/comm_brick.cpp | 4 ++-- src/comm_tiled.cpp | 12 ++++++------ src/compute_aggregate_atom.cpp | 4 ++-- src/compute_bond_local.cpp | 2 +- src/compute_centro_atom.cpp | 2 +- src/compute_cluster_atom.cpp | 4 ++-- src/compute_cna_atom.cpp | 2 +- src/compute_contact_atom.cpp | 2 +- src/compute_coord_atom.cpp | 4 ++-- src/compute_fragment_atom.cpp | 2 +- src/compute_group_group.cpp | 2 +- src/compute_hexorder_atom.cpp | 2 +- src/compute_orientorder_atom.cpp | 3 +-- src/compute_pair_local.cpp | 2 +- src/compute_property_local.cpp | 2 +- src/compute_rdf.cpp | 2 +- src/compute_temp_com.cpp | 4 ++-- src/compute_temp_deform.cpp | 4 ++-- src/compute_temp_partial.cpp | 10 +++++----- src/compute_temp_ramp.cpp | 4 ++-- src/compute_temp_region.cpp | 4 ++-- src/dihedral_zero.cpp | 5 ++--- src/domain.cpp | 2 +- src/dump.cpp | 2 +- src/dump_image.cpp | 2 +- src/dump_local.cpp | 2 +- src/fix.cpp | 2 +- src/fix_adapt.cpp | 4 ++-- src/fix_addforce.cpp | 2 +- src/fix_ave_atom.cpp | 4 ++-- src/fix_ave_chunk.cpp | 2 +- src/fix_ave_correlate.cpp | 2 +- src/fix_ave_histo.cpp | 2 +- src/fix_ave_time.cpp | 2 +- src/fix_aveforce.cpp | 4 ++-- src/fix_balance.cpp | 2 +- src/fix_drag.cpp | 4 ++-- src/fix_dt_reset.cpp | 2 +- src/fix_enforce2d.cpp | 4 ++-- src/fix_external.cpp | 4 ++-- src/fix_gravity.cpp | 4 ++-- src/fix_group.cpp | 6 +++--- src/fix_indent.cpp | 4 ++-- src/fix_langevin.cpp | 6 +++--- src/fix_lineforce.cpp | 4 ++-- src/fix_minimize.cpp | 2 +- src/fix_move.cpp | 10 +++++----- src/fix_neigh_history.cpp | 2 +- src/fix_nh.cpp | 8 ++++---- src/fix_nve.cpp | 6 +++--- src/fix_nve_limit.cpp | 6 +++--- src/fix_nve_noforce.cpp | 2 +- src/fix_nve_sphere.cpp | 2 +- src/fix_planeforce.cpp | 4 ++-- src/fix_press_berendsen.cpp | 2 +- src/fix_property_atom.cpp | 16 ++++++++-------- src/fix_read_restart.cpp | 2 +- src/fix_recenter.cpp | 4 ++-- src/fix_respa.cpp | 2 +- src/fix_restrain.cpp | 4 ++-- src/fix_setforce.cpp | 4 ++-- src/fix_spring.cpp | 4 ++-- src/fix_spring_chunk.cpp | 4 ++-- src/fix_spring_rg.cpp | 4 ++-- src/fix_spring_self.cpp | 8 ++++---- src/fix_store.cpp | 4 ++-- src/fix_store_force.cpp | 4 ++-- src/fix_store_state.cpp | 6 +++--- src/fix_tmd.cpp | 4 ++-- src/fix_vector.cpp | 2 +- src/fix_viscous.cpp | 4 ++-- src/fix_wall.cpp | 2 +- src/fix_wall_region.cpp | 2 +- src/group.cpp | 2 +- src/image.cpp | 4 ++-- src/imbalance_var.cpp | 2 +- src/improper_zero.cpp | 4 ++-- src/integrate.cpp | 2 +- src/kspace.cpp | 2 +- src/library.cpp | 2 +- src/math_extra.cpp | 2 +- src/neighbor.cpp | 2 +- src/pair.cpp | 2 +- src/pair_beck.cpp | 4 ++-- src/pair_born.cpp | 4 ++-- src/pair_buck.cpp | 4 ++-- src/pair_coul_cut.cpp | 4 ++-- src/pair_coul_debye.cpp | 4 ++-- src/pair_coul_dsf.cpp | 6 +++--- src/pair_coul_wolf.cpp | 6 +++--- src/pair_dpd.cpp | 4 ++-- src/pair_gauss.cpp | 4 ++-- src/pair_hybrid.cpp | 2 +- src/pair_lj96_cut.cpp | 4 ++-- src/pair_lj_cubic.cpp | 6 +++--- src/pair_lj_cut.cpp | 4 ++-- src/pair_lj_expand.cpp | 4 ++-- src/pair_lj_gromacs.cpp | 4 ++-- src/pair_lj_smooth.cpp | 4 ++-- src/pair_lj_smooth_linear.cpp | 4 ++-- src/pair_mie_cut.cpp | 4 ++-- src/pair_morse.cpp | 4 ++-- src/pair_soft.cpp | 4 ++-- src/pair_table.cpp | 4 ++-- src/pair_ufm.cpp | 4 ++-- src/pair_yukawa.cpp | 4 ++-- src/pair_zbl.cpp | 4 ++-- src/rcb.cpp | 4 ++-- src/reader_xyz.cpp | 4 ++-- src/region.cpp | 2 +- src/reset_ids.cpp | 2 +- src/respa.cpp | 2 +- src/variable.cpp | 2 +- src/velocity.cpp | 8 ++++---- 121 files changed, 224 insertions(+), 223 deletions(-) diff --git a/src/accelerator_kokkos.h b/src/accelerator_kokkos.h index 8bbb6c4788..e64bde24be 100644 --- a/src/accelerator_kokkos.h +++ b/src/accelerator_kokkos.h @@ -66,8 +66,8 @@ class AtomKokkos : public Atom { tagint **k_special; AtomKokkos(class LAMMPS *lmp) : Atom(lmp) {} ~AtomKokkos() {} - void sync(const ExecutionSpace space, unsigned int mask) {} - void modified(const ExecutionSpace space, unsigned int mask) {} + void sync(const ExecutionSpace /*space*/, unsigned int /*mask*/) {} + void modified(const ExecutionSpace /*space*/, unsigned int /*mask*/) {} }; class CommKokkos : public CommBrick { diff --git a/src/angle_zero.cpp b/src/angle_zero.cpp index e5191c4fb2..d7b7c9cdb5 100644 --- a/src/angle_zero.cpp +++ b/src/angle_zero.cpp @@ -148,7 +148,7 @@ void AngleZero::write_data(FILE *fp) /* ---------------------------------------------------------------------- */ -double AngleZero::single(int type, int i1, int i2, int i3) +double AngleZero::single(int /*type*/, int /*i1*/, int /*i2*/, int /*i3*/) { return 0.0; } diff --git a/src/atom.cpp b/src/atom.cpp index cf4d20a71e..eb2f357890 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -99,7 +99,7 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) // SPIN package sp = fm = NULL; - + // USER-DPD uCond = uMech = uChem = uCG = uCGnew = NULL; @@ -1516,7 +1516,7 @@ void Atom::set_mass(const char *file, int line, int itype, double value) called from reading of input script ------------------------------------------------------------------------- */ -void Atom::set_mass(const char *file, int line, int narg, char **arg) +void Atom::set_mass(const char *file, int line, int /*narg*/, char **arg) { if (mass == NULL) error->all(file,line,"Cannot set mass for this atom style"); diff --git a/src/atom_vec.cpp b/src/atom_vec.cpp index b04bfba34c..a7ca6fcb19 100644 --- a/src/atom_vec.cpp +++ b/src/atom_vec.cpp @@ -66,7 +66,7 @@ void AtomVec::store_args(int narg, char **arg) no additional args by default ------------------------------------------------------------------------- */ -void AtomVec::process_args(int narg, char **arg) +void AtomVec::process_args(int narg, char ** /*arg*/) { if (narg) error->all(FLERR,"Invalid atom_style command"); } diff --git a/src/atom_vec_body.cpp b/src/atom_vec_body.cpp index 4d3b5643ae..5a277627ee 100644 --- a/src/atom_vec_body.cpp +++ b/src/atom_vec_body.cpp @@ -82,6 +82,9 @@ AtomVecBody::~AtomVecBody() void AtomVecBody::process_args(int narg, char **arg) { + // suppress unused parameter warning dependent on style_body.h + (void)(arg); + if (narg < 1) error->all(FLERR,"Invalid atom_style body command"); if (0) bptr = NULL; diff --git a/src/body.cpp b/src/body.cpp index 42f4ccbdd3..78e2f5d71b 100644 --- a/src/body.cpp +++ b/src/body.cpp @@ -21,7 +21,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -Body::Body(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) +Body::Body(LAMMPS *lmp, int /*narg*/, char **arg) : Pointers(lmp) { int n = strlen(arg[0]) + 1; style = new char[n]; diff --git a/src/bond_zero.cpp b/src/bond_zero.cpp index 9fd9d4a580..9fcf300b21 100644 --- a/src/bond_zero.cpp +++ b/src/bond_zero.cpp @@ -149,8 +149,8 @@ void BondZero::write_data(FILE *fp) /* ---------------------------------------------------------------------- */ -double BondZero::single(int type, double rsq, int i, int j, - double &fforce) +double BondZero::single(int /*type*/, double /*rsq*/, int /*i*/, int /*j*/, + double & /*fforce*/) { return 0.0; } diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index 3aa6d7748c..49c9db172f 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -88,7 +88,7 @@ CommBrick::~CommBrick() // The call to Comm::copy_arrays() then converts the shallow copy // into a deep copy of the class with the new layout. -CommBrick::CommBrick(LAMMPS *lmp, Comm *oldcomm) : Comm(*oldcomm) +CommBrick::CommBrick(LAMMPS * /*lmp*/, Comm *oldcomm) : Comm(*oldcomm) { if (oldcomm->layout == Comm::LAYOUT_TILED) error->all(FLERR,"Cannot change to comm_style brick from tiled layout"); @@ -457,7 +457,7 @@ int CommBrick::updown(int dim, int dir, int loc, other per-atom attributes may also be sent via pack/unpack routines ------------------------------------------------------------------------- */ -void CommBrick::forward_comm(int dummy) +void CommBrick::forward_comm(int /*dummy*/) { int n; MPI_Request request; diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 584be94bf3..d7d2e4725d 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -55,7 +55,7 @@ CommTiled::CommTiled(LAMMPS *lmp) : Comm(lmp) // The call to Comm::copy_arrays() then converts the shallow copy // into a deep copy of the class with the new layout. -CommTiled::CommTiled(LAMMPS *lmp, Comm *oldcomm) : Comm(*oldcomm) +CommTiled::CommTiled(LAMMPS * /*lmp*/, Comm *oldcomm) : Comm(*oldcomm) { style = 1; layout = oldcomm->layout; @@ -438,7 +438,7 @@ void CommTiled::setup() other per-atom attributes may also be sent via pack/unpack routines ------------------------------------------------------------------------- */ -void CommTiled::forward_comm(int dummy) +void CommTiled::forward_comm(int /*dummy*/) { int i,irecv,n,nsend,nrecv; AtomVec *avec = atom->avec; @@ -1164,7 +1164,7 @@ void CommTiled::reverse_comm_fix(Fix *fix, int size) NOTE: how to setup one big buf recv with correct offsets ?? ------------------------------------------------------------------------- */ -void CommTiled::reverse_comm_fix_variable(Fix *fix) +void CommTiled::reverse_comm_fix_variable(Fix * /*fix*/) { error->all(FLERR,"Reverse comm fix variable not yet supported by CommTiled"); } @@ -1428,7 +1428,7 @@ void CommTiled::forward_comm_array(int nsize, double **array) NOTE: this method is currently not used ------------------------------------------------------------------------- */ -int CommTiled::exchange_variable(int n, double *inbuf, double *&outbuf) +int CommTiled::exchange_variable(int n, double * /*inbuf*/, double *& /*outbuf*/) { int nrecv = n; return nrecv; @@ -1509,7 +1509,7 @@ void CommTiled::box_drop_brick(int idim, double *lo, double *hi, int &indexme) no need to split lo/hi box as recurse b/c OK if box extends outside RCB box ------------------------------------------------------------------------- */ -void CommTiled::box_drop_tiled(int idim, double *lo, double *hi, int &indexme) +void CommTiled::box_drop_tiled(int /*idim*/, double *lo, double *hi, int &indexme) { box_drop_tiled_recurse(lo,hi,0,nprocs-1,indexme); } @@ -1601,7 +1601,7 @@ void CommTiled::box_other_brick(int idim, int idir, return other box owned by proc as lo/hi corner pts ------------------------------------------------------------------------- */ -void CommTiled::box_other_tiled(int idim, int idir, +void CommTiled::box_other_tiled(int /*idim*/, int /*idir*/, int proc, double *lo, double *hi) { double (*split)[2] = rcbinfo[proc].mysplit; diff --git a/src/compute_aggregate_atom.cpp b/src/compute_aggregate_atom.cpp index 56855fcc29..6c8c8e5d9a 100644 --- a/src/compute_aggregate_atom.cpp +++ b/src/compute_aggregate_atom.cpp @@ -98,7 +98,7 @@ void ComputeAggregateAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeAggregateAtom::init_list(int id, NeighList *ptr) +void ComputeAggregateAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } @@ -231,7 +231,7 @@ void ComputeAggregateAtom::compute_peratom() /* ---------------------------------------------------------------------- */ int ComputeAggregateAtom::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/compute_bond_local.cpp b/src/compute_bond_local.cpp index 985e3ef075..56abb9b071 100644 --- a/src/compute_bond_local.cpp +++ b/src/compute_bond_local.cpp @@ -337,7 +337,7 @@ int ComputeBondLocal::compute_bonds(int flag) /* ---------------------------------------------------------------------- */ int ComputeBondLocal::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/compute_centro_atom.cpp b/src/compute_centro_atom.cpp index 48af453635..5096879b32 100644 --- a/src/compute_centro_atom.cpp +++ b/src/compute_centro_atom.cpp @@ -110,7 +110,7 @@ void ComputeCentroAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeCentroAtom::init_list(int id, NeighList *ptr) +void ComputeCentroAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/compute_cluster_atom.cpp b/src/compute_cluster_atom.cpp index 85934c5e6d..0c34b42671 100644 --- a/src/compute_cluster_atom.cpp +++ b/src/compute_cluster_atom.cpp @@ -89,7 +89,7 @@ void ComputeClusterAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeClusterAtom::init_list(int id, NeighList *ptr) +void ComputeClusterAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } @@ -209,7 +209,7 @@ void ComputeClusterAtom::compute_peratom() /* ---------------------------------------------------------------------- */ int ComputeClusterAtom::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/compute_cna_atom.cpp b/src/compute_cna_atom.cpp index a1b97d9404..b8ad3f0f64 100644 --- a/src/compute_cna_atom.cpp +++ b/src/compute_cna_atom.cpp @@ -100,7 +100,7 @@ void ComputeCNAAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeCNAAtom::init_list(int id, NeighList *ptr) +void ComputeCNAAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/compute_contact_atom.cpp b/src/compute_contact_atom.cpp index f3c4513b01..e60a51832a 100644 --- a/src/compute_contact_atom.cpp +++ b/src/compute_contact_atom.cpp @@ -80,7 +80,7 @@ void ComputeContactAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeContactAtom::init_list(int id, NeighList *ptr) +void ComputeContactAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/compute_coord_atom.cpp b/src/compute_coord_atom.cpp index b86d818d06..33b318ea17 100644 --- a/src/compute_coord_atom.cpp +++ b/src/compute_coord_atom.cpp @@ -153,7 +153,7 @@ void ComputeCoordAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeCoordAtom::init_list(int id, NeighList *ptr) +void ComputeCoordAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } @@ -311,7 +311,7 @@ void ComputeCoordAtom::compute_peratom() /* ---------------------------------------------------------------------- */ int ComputeCoordAtom::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int * /*pbc*/) { int i,m=0,j; for (i = 0; i < n; ++i) { diff --git a/src/compute_fragment_atom.cpp b/src/compute_fragment_atom.cpp index b9fb2331ec..bb273f3bdb 100644 --- a/src/compute_fragment_atom.cpp +++ b/src/compute_fragment_atom.cpp @@ -159,7 +159,7 @@ void ComputeFragmentAtom::compute_peratom() /* ---------------------------------------------------------------------- */ int ComputeFragmentAtom::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/compute_group_group.cpp b/src/compute_group_group.cpp index dc94db50f6..51f84b020d 100644 --- a/src/compute_group_group.cpp +++ b/src/compute_group_group.cpp @@ -173,7 +173,7 @@ void ComputeGroupGroup::init() /* ---------------------------------------------------------------------- */ -void ComputeGroupGroup::init_list(int id, NeighList *ptr) +void ComputeGroupGroup::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/compute_hexorder_atom.cpp b/src/compute_hexorder_atom.cpp index cb2946beba..6d17ae15bd 100644 --- a/src/compute_hexorder_atom.cpp +++ b/src/compute_hexorder_atom.cpp @@ -129,7 +129,7 @@ void ComputeHexOrderAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeHexOrderAtom::init_list(int id, NeighList *ptr) +void ComputeHexOrderAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/compute_orientorder_atom.cpp b/src/compute_orientorder_atom.cpp index f263fdfaed..8a0a525fdc 100644 --- a/src/compute_orientorder_atom.cpp +++ b/src/compute_orientorder_atom.cpp @@ -187,7 +187,7 @@ void ComputeOrientOrderAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeOrientOrderAtom::init_list(int id, NeighList *ptr) +void ComputeOrientOrderAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } @@ -542,4 +542,3 @@ double ComputeOrientOrderAtom::associated_legendre(int l, int m, double x) return p; } - diff --git a/src/compute_pair_local.cpp b/src/compute_pair_local.cpp index 3f1147ed27..e4cbabfd3d 100644 --- a/src/compute_pair_local.cpp +++ b/src/compute_pair_local.cpp @@ -139,7 +139,7 @@ void ComputePairLocal::init() /* ---------------------------------------------------------------------- */ -void ComputePairLocal::init_list(int id, NeighList *ptr) +void ComputePairLocal::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/compute_property_local.cpp b/src/compute_property_local.cpp index ad68459650..ddcf5913ca 100644 --- a/src/compute_property_local.cpp +++ b/src/compute_property_local.cpp @@ -308,7 +308,7 @@ void ComputePropertyLocal::init() /* ---------------------------------------------------------------------- */ -void ComputePropertyLocal::init_list(int id, NeighList *ptr) +void ComputePropertyLocal::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/compute_rdf.cpp b/src/compute_rdf.cpp index f2635c0948..0a0e8fb684 100644 --- a/src/compute_rdf.cpp +++ b/src/compute_rdf.cpp @@ -213,7 +213,7 @@ void ComputeRDF::init() /* ---------------------------------------------------------------------- */ -void ComputeRDF::init_list(int id, NeighList *ptr) +void ComputeRDF::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/compute_temp_com.cpp b/src/compute_temp_com.cpp index 35f4512ab2..f2ad40ea43 100644 --- a/src/compute_temp_com.cpp +++ b/src/compute_temp_com.cpp @@ -163,7 +163,7 @@ void ComputeTempCOM::compute_vector() remove velocity bias from atom I to leave thermal velocity ------------------------------------------------------------------------- */ -void ComputeTempCOM::remove_bias(int i, double *v) +void ComputeTempCOM::remove_bias(int /*i*/, double *v) { v[0] -= vbias[0]; v[1] -= vbias[1]; @@ -204,7 +204,7 @@ void ComputeTempCOM::remove_bias_all() assume remove_bias() was previously called ------------------------------------------------------------------------- */ -void ComputeTempCOM::restore_bias(int i, double *v) +void ComputeTempCOM::restore_bias(int /*i*/, double *v) { v[0] += vbias[0]; v[1] += vbias[1]; diff --git a/src/compute_temp_deform.cpp b/src/compute_temp_deform.cpp index 8729204e70..39780b5cf6 100644 --- a/src/compute_temp_deform.cpp +++ b/src/compute_temp_deform.cpp @@ -277,7 +277,7 @@ void ComputeTempDeform::remove_bias_all() assume remove_bias() was previously called ------------------------------------------------------------------------- */ -void ComputeTempDeform::restore_bias(int i, double *v) +void ComputeTempDeform::restore_bias(int /*i*/, double *v) { v[0] += vbias[0]; v[1] += vbias[1]; @@ -289,7 +289,7 @@ void ComputeTempDeform::restore_bias(int i, double *v) assume remove_bias_thr() was previously called with the same buffer b ------------------------------------------------------------------------- */ -void ComputeTempDeform::restore_bias_thr(int i, double *v, double *b) +void ComputeTempDeform::restore_bias_thr(int /*i*/, double *v, double *b) { v[0] += b[0]; v[1] += b[1]; diff --git a/src/compute_temp_partial.cpp b/src/compute_temp_partial.cpp index 4b87a2249e..4425aebdda 100644 --- a/src/compute_temp_partial.cpp +++ b/src/compute_temp_partial.cpp @@ -90,7 +90,7 @@ void ComputeTempPartial::dof_compute() /* ---------------------------------------------------------------------- */ -int ComputeTempPartial::dof_remove(int i) +int ComputeTempPartial::dof_remove(int /*i*/) { int nper = xflag+yflag+zflag; return (domain->dimension - nper); @@ -169,7 +169,7 @@ void ComputeTempPartial::compute_vector() remove velocity bias from atom I to leave thermal velocity ------------------------------------------------------------------------- */ -void ComputeTempPartial::remove_bias(int i, double *v) +void ComputeTempPartial::remove_bias(int /*i*/, double *v) { if (!xflag) { vbias[0] = v[0]; @@ -189,7 +189,7 @@ void ComputeTempPartial::remove_bias(int i, double *v) remove velocity bias from atom I to leave thermal velocity ------------------------------------------------------------------------- */ -void ComputeTempPartial::remove_bias_thr(int i, double *v, double *b) +void ComputeTempPartial::remove_bias_thr(int /*i*/, double *v, double *b) { if (!xflag) { b[0] = v[0]; @@ -275,7 +275,7 @@ void ComputeTempPartial::reapply_bias_all() assume remove_bias() was previously called ------------------------------------------------------------------------- */ -void ComputeTempPartial::restore_bias(int i, double *v) +void ComputeTempPartial::restore_bias(int /*i*/, double *v) { if (!xflag) v[0] += vbias[0]; if (!yflag) v[1] += vbias[1]; @@ -287,7 +287,7 @@ void ComputeTempPartial::restore_bias(int i, double *v) assume remove_bias_thr() was previously called with the same buffer b ------------------------------------------------------------------------- */ -void ComputeTempPartial::restore_bias_thr(int i, double *v, double *b) +void ComputeTempPartial::restore_bias_thr(int /*i*/, double *v, double *b) { if (!xflag) v[0] += b[0]; if (!yflag) v[1] += b[1]; diff --git a/src/compute_temp_ramp.cpp b/src/compute_temp_ramp.cpp index 42d258d8b2..ba572645f3 100644 --- a/src/compute_temp_ramp.cpp +++ b/src/compute_temp_ramp.cpp @@ -279,7 +279,7 @@ void ComputeTempRamp::remove_bias_all() assume remove_bias() was previously called ------------------------------------------------------------------------- */ -void ComputeTempRamp::restore_bias(int i, double *v) +void ComputeTempRamp::restore_bias(int /*i*/, double *v) { v[v_dim] += vbias[v_dim]; } @@ -289,7 +289,7 @@ void ComputeTempRamp::restore_bias(int i, double *v) assume remove_bias_thr() was previously called with the same buffer b ------------------------------------------------------------------------- */ -void ComputeTempRamp::restore_bias_thr(int i, double *v, double *b) +void ComputeTempRamp::restore_bias_thr(int /*i*/, double *v, double *b) { v[v_dim] += b[v_dim]; } diff --git a/src/compute_temp_region.cpp b/src/compute_temp_region.cpp index bde70a20f0..4aa4dac0a1 100644 --- a/src/compute_temp_region.cpp +++ b/src/compute_temp_region.cpp @@ -253,7 +253,7 @@ void ComputeTempRegion::remove_bias_all() assume remove_bias() was previously called ------------------------------------------------------------------------- */ -void ComputeTempRegion::restore_bias(int i, double *v) +void ComputeTempRegion::restore_bias(int /*i*/, double *v) { v[0] += vbias[0]; v[1] += vbias[1]; @@ -265,7 +265,7 @@ void ComputeTempRegion::restore_bias(int i, double *v) assume remove_bias_thr() was previously called with the same buffer b ------------------------------------------------------------------------- */ -void ComputeTempRegion::restore_bias_thr(int i, double *v, double *b) +void ComputeTempRegion::restore_bias_thr(int /*i*/, double *v, double *b) { v[0] += b[0]; v[1] += b[1]; diff --git a/src/dihedral_zero.cpp b/src/dihedral_zero.cpp index bdd2eaadd3..46facdb6db 100644 --- a/src/dihedral_zero.cpp +++ b/src/dihedral_zero.cpp @@ -99,13 +99,13 @@ void DihedralZero::coeff(int narg, char **arg) proc 0 writes out coeffs to restart file ------------------------------------------------------------------------- */ -void DihedralZero::write_restart(FILE *fp) {} +void DihedralZero::write_restart(FILE * /*fp*/) {} /* ---------------------------------------------------------------------- proc 0 reads coeffs from restart file, bcasts them ------------------------------------------------------------------------- */ -void DihedralZero::read_restart(FILE *fp) +void DihedralZero::read_restart(FILE * /*fp*/) { allocate(); for (int i = 1; i <= atom->ndihedraltypes; i++) setflag[i] = 1; @@ -119,4 +119,3 @@ void DihedralZero::write_data(FILE *fp) { for (int i = 1; i <= atom->ndihedraltypes; i++) fprintf(fp,"%d\n",i); } - diff --git a/src/domain.cpp b/src/domain.cpp index 4c1d12018b..1eb848fe06 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -1618,7 +1618,7 @@ void Domain::image_flip(int m, int n, int p) called from create_atoms() in library.cpp ------------------------------------------------------------------------- */ -int Domain::ownatom(int id, double *x, imageint *image, int shrinkexceed) +int Domain::ownatom(int /*id*/, double *x, imageint *image, int shrinkexceed) { double lamda[3]; double *coord,*blo,*bhi,*slo,*shi; diff --git a/src/dump.cpp b/src/dump.cpp index 7c171015bb..7cd80dcf71 100644 --- a/src/dump.cpp +++ b/src/dump.cpp @@ -45,7 +45,7 @@ enum{ASCEND,DESCEND}; /* ---------------------------------------------------------------------- */ -Dump::Dump(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) +Dump::Dump(LAMMPS *lmp, int /*narg*/, char **arg) : Pointers(lmp) { MPI_Comm_rank(world,&me); MPI_Comm_size(world,&nprocs); diff --git a/src/dump_image.cpp b/src/dump_image.cpp index 60a1f545c9..a488f65161 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -1193,7 +1193,7 @@ void DumpImage::create_image() /* ---------------------------------------------------------------------- */ int DumpImage::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/dump_local.cpp b/src/dump_local.cpp index 0d5172b5c1..8dc0554690 100644 --- a/src/dump_local.cpp +++ b/src/dump_local.cpp @@ -326,7 +326,7 @@ int DumpLocal::count() /* ---------------------------------------------------------------------- */ -void DumpLocal::pack(tagint *dummy) +void DumpLocal::pack(tagint * /*dummy*/) { for (int n = 0; n < size_one; n++) (this->*pack_choice[n])(n); } diff --git a/src/fix.cpp b/src/fix.cpp index a54e295798..051ac12bbe 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -31,7 +31,7 @@ int Fix::instance_total = 0; /* ---------------------------------------------------------------------- */ -Fix::Fix(LAMMPS *lmp, int narg, char **arg) : +Fix::Fix(LAMMPS *lmp, int /*narg*/, char **arg) : Pointers(lmp), id(NULL), style(NULL), extlist(NULL), vector_atom(NULL), array_atom(NULL), vector_local(NULL), array_local(NULL), eatom(NULL), vatom(NULL) diff --git a/src/fix_adapt.cpp b/src/fix_adapt.cpp index 42cd1bd199..950bc24253 100644 --- a/src/fix_adapt.cpp +++ b/src/fix_adapt.cpp @@ -476,7 +476,7 @@ void FixAdapt::init() /* ---------------------------------------------------------------------- */ -void FixAdapt::setup_pre_force(int vflag) +void FixAdapt::setup_pre_force(int /*vflag*/) { change_settings(); } @@ -491,7 +491,7 @@ void FixAdapt::setup_pre_force_respa(int vflag, int ilevel) /* ---------------------------------------------------------------------- */ -void FixAdapt::pre_force(int vflag) +void FixAdapt::pre_force(int /*vflag*/) { if (nevery == 0) return; if (update->ntimestep % nevery) return; diff --git a/src/fix_addforce.cpp b/src/fix_addforce.cpp index c2eedccd61..d66457a1f1 100644 --- a/src/fix_addforce.cpp +++ b/src/fix_addforce.cpp @@ -361,7 +361,7 @@ void FixAddForce::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixAddForce::post_force_respa(int vflag, int ilevel, int iloop) +void FixAddForce::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/fix_ave_atom.cpp b/src/fix_ave_atom.cpp index a8c3be07af..c8cbad75c9 100644 --- a/src/fix_ave_atom.cpp +++ b/src/fix_ave_atom.cpp @@ -283,7 +283,7 @@ void FixAveAtom::init() only does something if nvalid = current timestep ------------------------------------------------------------------------- */ -void FixAveAtom::setup(int vflag) +void FixAveAtom::setup(int /*vflag*/) { end_of_step(); } @@ -432,7 +432,7 @@ void FixAveAtom::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixAveAtom::copy_arrays(int i, int j, int delflag) +void FixAveAtom::copy_arrays(int i, int j, int /*delflag*/) { for (int m = 0; m < nvalues; m++) array[j][m] = array[i][m]; diff --git a/src/fix_ave_chunk.cpp b/src/fix_ave_chunk.cpp index 5f727fd3f7..1aead70644 100644 --- a/src/fix_ave_chunk.cpp +++ b/src/fix_ave_chunk.cpp @@ -557,7 +557,7 @@ void FixAveChunk::init() that nchunk may not track it ------------------------------------------------------------------------- */ -void FixAveChunk::setup(int vflag) +void FixAveChunk::setup(int /*vflag*/) { end_of_step(); } diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index 418464a248..198caf1514 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -404,7 +404,7 @@ void FixAveCorrelate::init() only does something if nvalid = current timestep ------------------------------------------------------------------------- */ -void FixAveCorrelate::setup(int vflag) +void FixAveCorrelate::setup(int /*vflag*/) { end_of_step(); } diff --git a/src/fix_ave_histo.cpp b/src/fix_ave_histo.cpp index 7aa5993899..ce32167b74 100644 --- a/src/fix_ave_histo.cpp +++ b/src/fix_ave_histo.cpp @@ -559,7 +559,7 @@ void FixAveHisto::init() only does something if nvalid = current timestep ------------------------------------------------------------------------- */ -void FixAveHisto::setup(int vflag) +void FixAveHisto::setup(int /*vflag*/) { end_of_step(); } diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp index c3ace29684..53354ee066 100644 --- a/src/fix_ave_time.cpp +++ b/src/fix_ave_time.cpp @@ -529,7 +529,7 @@ void FixAveTime::init() only does something if nvalid = current timestep ------------------------------------------------------------------------- */ -void FixAveTime::setup(int vflag) +void FixAveTime::setup(int /*vflag*/) { end_of_step(); } diff --git a/src/fix_aveforce.cpp b/src/fix_aveforce.cpp index 4432a5dd36..1c87ba5785 100644 --- a/src/fix_aveforce.cpp +++ b/src/fix_aveforce.cpp @@ -194,7 +194,7 @@ void FixAveForce::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixAveForce::post_force(int vflag) +void FixAveForce::post_force(int /*vflag*/) { // update region if necessary @@ -259,7 +259,7 @@ void FixAveForce::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixAveForce::post_force_respa(int vflag, int ilevel, int iloop) +void FixAveForce::post_force_respa(int vflag, int ilevel, int /*iloop*/) { // ave + extra force on selected RESPA level // just ave on all other levels diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp index e748e0ae31..8995a57afe 100644 --- a/src/fix_balance.cpp +++ b/src/fix_balance.cpp @@ -160,7 +160,7 @@ void FixBalance::init() /* ---------------------------------------------------------------------- */ -void FixBalance::setup(int vflag) +void FixBalance::setup(int /*vflag*/) { // compute final imbalance factor if setup_pre_exchange() invoked balancer // this is called at end of run setup, before output diff --git a/src/fix_drag.cpp b/src/fix_drag.cpp index 6a69dddbf5..e4cf12d1ff 100644 --- a/src/fix_drag.cpp +++ b/src/fix_drag.cpp @@ -90,7 +90,7 @@ void FixDrag::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixDrag::post_force(int vflag) +void FixDrag::post_force(int /*vflag*/) { // apply drag force to atoms in group of magnitude f_mag // apply in direction (r-r0) if atom is further than delta away @@ -132,7 +132,7 @@ void FixDrag::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixDrag::post_force_respa(int vflag, int ilevel, int iloop) +void FixDrag::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/fix_dt_reset.cpp b/src/fix_dt_reset.cpp index f2a50fd6d1..7566094b48 100644 --- a/src/fix_dt_reset.cpp +++ b/src/fix_dt_reset.cpp @@ -129,7 +129,7 @@ void FixDtReset::init() /* ---------------------------------------------------------------------- */ -void FixDtReset::setup(int vflag) +void FixDtReset::setup(int /*vflag*/) { end_of_step(); } diff --git a/src/fix_enforce2d.cpp b/src/fix_enforce2d.cpp index 791a52c50c..ef7eb3a0ef 100644 --- a/src/fix_enforce2d.cpp +++ b/src/fix_enforce2d.cpp @@ -112,7 +112,7 @@ void FixEnforce2D::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixEnforce2D::post_force(int vflag) +void FixEnforce2D::post_force(int /*vflag*/) { double **v = atom->v; double **f = atom->f; @@ -164,7 +164,7 @@ void FixEnforce2D::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixEnforce2D::post_force_respa(int vflag, int ilevel, int iloop) +void FixEnforce2D::post_force_respa(int vflag, int /*ilevel*/, int /*iloop*/) { post_force(vflag); } diff --git a/src/fix_external.cpp b/src/fix_external.cpp index 4fcc842f89..5ac9206e7f 100644 --- a/src/fix_external.cpp +++ b/src/fix_external.cpp @@ -129,7 +129,7 @@ void FixExternal::min_setup(int vflag) store eflag, so can use it in post_force to tally per-atom energies ------------------------------------------------------------------------- */ -void FixExternal::pre_reverse(int eflag, int vflag) +void FixExternal::pre_reverse(int eflag, int /*vflag*/) { eflag_caller = eflag; } @@ -305,7 +305,7 @@ void FixExternal::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixExternal::copy_arrays(int i, int j, int delflag) +void FixExternal::copy_arrays(int i, int j, int /*delflag*/) { fexternal[j][0] = fexternal[i][0]; fexternal[j][1] = fexternal[i][1]; diff --git a/src/fix_gravity.cpp b/src/fix_gravity.cpp index 9ace9d45ff..c3e73d86c9 100644 --- a/src/fix_gravity.cpp +++ b/src/fix_gravity.cpp @@ -247,7 +247,7 @@ void FixGravity::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixGravity::post_force(int vflag) +void FixGravity::post_force(int /*vflag*/) { // update gravity due to variables @@ -300,7 +300,7 @@ void FixGravity::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixGravity::post_force_respa(int vflag, int ilevel, int iloop) +void FixGravity::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/fix_group.cpp b/src/fix_group.cpp index 10736964e7..0980ff5456 100644 --- a/src/fix_group.cpp +++ b/src/fix_group.cpp @@ -176,7 +176,7 @@ void FixGroup::init() assign atoms to group ------------------------------------------------------------------------- */ -void FixGroup::setup(int vflag) +void FixGroup::setup(int /*vflag*/) { set_group(); } @@ -192,7 +192,7 @@ void FixGroup::post_integrate() /* ---------------------------------------------------------------------- */ -void FixGroup::post_integrate_respa(int ilevel, int iloop) +void FixGroup::post_integrate_respa(int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_integrate(); } @@ -259,7 +259,7 @@ void FixGroup::set_group() /* ---------------------------------------------------------------------- */ -void *FixGroup::extract(const char *str, int &unused) +void *FixGroup::extract(const char *str, int &/*unused*/) { if (strcmp(str,"property") == 0 && propflag) return (void *) idprop; if (strcmp(str,"variable") == 0 && varflag) return (void *) idvar; diff --git a/src/fix_indent.cpp b/src/fix_indent.cpp index ade8cee532..b8e07dfd53 100644 --- a/src/fix_indent.cpp +++ b/src/fix_indent.cpp @@ -182,7 +182,7 @@ void FixIndent::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixIndent::post_force(int vflag) +void FixIndent::post_force(int /*vflag*/) { // indenter values, 0 = energy, 1-3 = force components // wrap variable evaluations with clear/add @@ -357,7 +357,7 @@ void FixIndent::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixIndent::post_force_respa(int vflag, int ilevel, int iloop) +void FixIndent::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/fix_langevin.cpp b/src/fix_langevin.cpp index e4c36cc739..d829982274 100644 --- a/src/fix_langevin.cpp +++ b/src/fix_langevin.cpp @@ -298,7 +298,7 @@ void FixLangevin::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixLangevin::post_force(int vflag) +void FixLangevin::post_force(int /*vflag*/) { double *rmass = atom->rmass; @@ -441,7 +441,7 @@ void FixLangevin::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixLangevin::post_force_respa(int vflag, int ilevel, int iloop) +void FixLangevin::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_force(vflag); } @@ -896,7 +896,7 @@ void FixLangevin::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixLangevin::copy_arrays(int i, int j, int delflag) +void FixLangevin::copy_arrays(int i, int j, int /*delflag*/) { for (int m = 0; m < nvalues; m++) franprev[j][m] = franprev[i][m]; diff --git a/src/fix_lineforce.cpp b/src/fix_lineforce.cpp index e90152c4e1..aea1a2a25b 100644 --- a/src/fix_lineforce.cpp +++ b/src/fix_lineforce.cpp @@ -80,7 +80,7 @@ void FixLineForce::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixLineForce::post_force(int vflag) +void FixLineForce::post_force(int /*vflag*/) { double **f = atom->f; int *mask = atom->mask; @@ -98,7 +98,7 @@ void FixLineForce::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixLineForce::post_force_respa(int vflag, int ilevel, int iloop) +void FixLineForce::post_force_respa(int vflag, int /*ilevel*/, int /*iloop*/) { post_force(vflag); } diff --git a/src/fix_minimize.cpp b/src/fix_minimize.cpp index 06a3ac900d..fa39643a1b 100644 --- a/src/fix_minimize.cpp +++ b/src/fix_minimize.cpp @@ -184,7 +184,7 @@ void FixMinimize::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixMinimize::copy_arrays(int i, int j, int delflag) +void FixMinimize::copy_arrays(int i, int j, int /*delflag*/) { int m,iper,nper,ni,nj; diff --git a/src/fix_move.cpp b/src/fix_move.cpp index 9eadfa5ab4..2f9fb0ebaa 100644 --- a/src/fix_move.cpp +++ b/src/fix_move.cpp @@ -453,7 +453,7 @@ void FixMove::init() set x,v of particles ------------------------------------------------------------------------- */ -void FixMove::initial_integrate(int vflag) +void FixMove::initial_integrate(int /*vflag*/) { int flag; double ddotr,dx,dy,dz; @@ -945,7 +945,7 @@ void FixMove::final_integrate() /* ---------------------------------------------------------------------- */ -void FixMove::initial_integrate_respa(int vflag, int ilevel, int iloop) +void FixMove::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/) { // outermost level - update v and x // all other levels - nothing @@ -955,7 +955,7 @@ void FixMove::initial_integrate_respa(int vflag, int ilevel, int iloop) /* ---------------------------------------------------------------------- */ -void FixMove::final_integrate_respa(int ilevel, int iloop) +void FixMove::final_integrate_respa(int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) final_integrate(); } @@ -1019,7 +1019,7 @@ void FixMove::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixMove::copy_arrays(int i, int j, int delflag) +void FixMove::copy_arrays(int i, int j, int /*delflag*/) { xoriginal[j][0] = xoriginal[i][0]; xoriginal[j][1] = xoriginal[i][1]; @@ -1238,7 +1238,7 @@ int FixMove::maxsize_restart() size of atom nlocal's restart data ------------------------------------------------------------------------- */ -int FixMove::size_restart(int nlocal) +int FixMove::size_restart(int /*nlocal*/) { return nrestart; } diff --git a/src/fix_neigh_history.cpp b/src/fix_neigh_history.cpp index 3329b604ef..44c2003bf1 100644 --- a/src/fix_neigh_history.cpp +++ b/src/fix_neigh_history.cpp @@ -686,7 +686,7 @@ void FixNeighHistory::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixNeighHistory::copy_arrays(int i, int j, int delflag) +void FixNeighHistory::copy_arrays(int i, int j, int /*delflag*/) { // just copy pointers for partner and valuepartner // b/c can't overwrite chunk allocation inside ipage_atom,dpage_atom diff --git a/src/fix_nh.cpp b/src/fix_nh.cpp index 73c70420c5..a1a562f2bb 100644 --- a/src/fix_nh.cpp +++ b/src/fix_nh.cpp @@ -742,7 +742,7 @@ void FixNH::init() compute T,P before integrator starts ------------------------------------------------------------------------- */ -void FixNH::setup(int vflag) +void FixNH::setup(int /*vflag*/) { // tdof needed by compute_temp_target() @@ -827,7 +827,7 @@ void FixNH::setup(int vflag) 1st half of Verlet update ------------------------------------------------------------------------- */ -void FixNH::initial_integrate(int vflag) +void FixNH::initial_integrate(int /*vflag*/) { // update eta_press_dot @@ -922,7 +922,7 @@ void FixNH::final_integrate() /* ---------------------------------------------------------------------- */ -void FixNH::initial_integrate_respa(int vflag, int ilevel, int iloop) +void FixNH::initial_integrate_respa(int /*vflag*/, int ilevel, int /*iloop*/) { // set timesteps by level @@ -991,7 +991,7 @@ void FixNH::initial_integrate_respa(int vflag, int ilevel, int iloop) /* ---------------------------------------------------------------------- */ -void FixNH::final_integrate_respa(int ilevel, int iloop) +void FixNH::final_integrate_respa(int ilevel, int /*iloop*/) { // set timesteps by level diff --git a/src/fix_nve.cpp b/src/fix_nve.cpp index 58e33b9744..959483230e 100644 --- a/src/fix_nve.cpp +++ b/src/fix_nve.cpp @@ -62,7 +62,7 @@ void FixNVE::init() allow for both per-type and per-atom mass ------------------------------------------------------------------------- */ -void FixNVE::initial_integrate(int vflag) +void FixNVE::initial_integrate(int /*vflag*/) { double dtfm; @@ -143,7 +143,7 @@ void FixNVE::final_integrate() /* ---------------------------------------------------------------------- */ -void FixNVE::initial_integrate_respa(int vflag, int ilevel, int iloop) +void FixNVE::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/) { dtv = step_respa[ilevel]; dtf = 0.5 * step_respa[ilevel] * force->ftm2v; @@ -157,7 +157,7 @@ void FixNVE::initial_integrate_respa(int vflag, int ilevel, int iloop) /* ---------------------------------------------------------------------- */ -void FixNVE::final_integrate_respa(int ilevel, int iloop) +void FixNVE::final_integrate_respa(int ilevel, int /*iloop*/) { dtf = 0.5 * step_respa[ilevel] * force->ftm2v; final_integrate(); diff --git a/src/fix_nve_limit.cpp b/src/fix_nve_limit.cpp index f659597af7..b4fb43e56f 100644 --- a/src/fix_nve_limit.cpp +++ b/src/fix_nve_limit.cpp @@ -83,7 +83,7 @@ void FixNVELimit::init() allow for both per-type and per-atom mass ------------------------------------------------------------------------- */ -void FixNVELimit::initial_integrate(int vflag) +void FixNVELimit::initial_integrate(int /*vflag*/) { double dtfm,vsq,scale; @@ -202,7 +202,7 @@ void FixNVELimit::final_integrate() /* ---------------------------------------------------------------------- */ -void FixNVELimit::initial_integrate_respa(int vflag, int ilevel, int iloop) +void FixNVELimit::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/) { dtv = step_respa[ilevel]; dtf = 0.5 * step_respa[ilevel] * force->ftm2v; @@ -213,7 +213,7 @@ void FixNVELimit::initial_integrate_respa(int vflag, int ilevel, int iloop) /* ---------------------------------------------------------------------- */ -void FixNVELimit::final_integrate_respa(int ilevel, int iloop) +void FixNVELimit::final_integrate_respa(int ilevel, int /*iloop*/) { dtf = 0.5 * step_respa[ilevel] * force->ftm2v; final_integrate(); diff --git a/src/fix_nve_noforce.cpp b/src/fix_nve_noforce.cpp index 3403f4f5ec..d4fca9e676 100644 --- a/src/fix_nve_noforce.cpp +++ b/src/fix_nve_noforce.cpp @@ -54,7 +54,7 @@ void FixNVENoforce::init() /* ---------------------------------------------------------------------- */ -void FixNVENoforce::initial_integrate(int vflag) +void FixNVENoforce::initial_integrate(int /*vflag*/) { double **x = atom->x; double **v = atom->v; diff --git a/src/fix_nve_sphere.cpp b/src/fix_nve_sphere.cpp index fe37324cfb..0bee8b8685 100644 --- a/src/fix_nve_sphere.cpp +++ b/src/fix_nve_sphere.cpp @@ -97,7 +97,7 @@ void FixNVESphere::init() /* ---------------------------------------------------------------------- */ -void FixNVESphere::initial_integrate(int vflag) +void FixNVESphere::initial_integrate(int /*vflag*/) { double dtfm,dtirotate,msq,scale,s2,inv_len_mu; double g[3]; diff --git a/src/fix_planeforce.cpp b/src/fix_planeforce.cpp index f90be6a233..45dc782fcf 100644 --- a/src/fix_planeforce.cpp +++ b/src/fix_planeforce.cpp @@ -80,7 +80,7 @@ void FixPlaneForce::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixPlaneForce::post_force(int vflag) +void FixPlaneForce::post_force(int /*vflag*/) { double **f = atom->f; int *mask = atom->mask; @@ -98,7 +98,7 @@ void FixPlaneForce::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixPlaneForce::post_force_respa(int vflag, int ilevel, int iloop) +void FixPlaneForce::post_force_respa(int vflag, int /*ilevel*/, int /*iloop*/) { post_force(vflag); } diff --git a/src/fix_press_berendsen.cpp b/src/fix_press_berendsen.cpp index 792154e93f..95db004436 100644 --- a/src/fix_press_berendsen.cpp +++ b/src/fix_press_berendsen.cpp @@ -334,7 +334,7 @@ void FixPressBerendsen::init() compute T,P before integrator starts ------------------------------------------------------------------------- */ -void FixPressBerendsen::setup(int vflag) +void FixPressBerendsen::setup(int /*vflag*/) { // trigger virial computation on next timestep diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index 5ad4dfa4ba..fc99137c3d 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -292,7 +292,7 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, return # of lines in section of data file labeled by keyword ------------------------------------------------------------------------- */ -bigint FixPropertyAtom::read_data_skip_lines(char *keyword) +bigint FixPropertyAtom::read_data_skip_lines(char */*keyword*/) { return atom->natoms; } @@ -304,7 +304,7 @@ bigint FixPropertyAtom::read_data_skip_lines(char *keyword) ny = columns = tag + nvalues ------------------------------------------------------------------------- */ -void FixPropertyAtom::write_data_section_size(int mth, int &nx, int &ny) +void FixPropertyAtom::write_data_section_size(int /*mth*/, int &nx, int &ny) { nx = atom->nlocal; ny = nvalue + 1; @@ -315,7 +315,7 @@ void FixPropertyAtom::write_data_section_size(int mth, int &nx, int &ny) buf allocated by caller as Nlocal by Nvalues+1 ------------------------------------------------------------------------- */ -void FixPropertyAtom::write_data_section_pack(int mth, double **buf) +void FixPropertyAtom::write_data_section_pack(int /*mth*/, double **buf) { int i; @@ -354,7 +354,7 @@ void FixPropertyAtom::write_data_section_pack(int mth, double **buf) only called by proc 0 ------------------------------------------------------------------------- */ -void FixPropertyAtom::write_data_section_keyword(int mth, FILE *fp) +void FixPropertyAtom::write_data_section_keyword(int /*mth*/, FILE *fp) { if (nvalue == 1 && style[0] == MOLECULE) fprintf(fp,"\nMolecules\n\n"); else if (nvalue == 1 && style[0] == CHARGE) fprintf(fp,"\nCharges\n\n"); @@ -368,8 +368,8 @@ void FixPropertyAtom::write_data_section_keyword(int mth, FILE *fp) only called by proc 0 ------------------------------------------------------------------------- */ -void FixPropertyAtom::write_data_section(int mth, FILE *fp, - int n, double **buf, int index) +void FixPropertyAtom::write_data_section(int /*mth*/, FILE *fp, + int n, double **buf, int /*index*/) { int m; @@ -443,7 +443,7 @@ void FixPropertyAtom::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixPropertyAtom::copy_arrays(int i, int j, int delflag) +void FixPropertyAtom::copy_arrays(int i, int j, int /*delflag*/) { for (int m = 0; m < nvalue; m++) { if (style[m] == MOLECULE) @@ -644,7 +644,7 @@ int FixPropertyAtom::maxsize_restart() size of atom nlocal's restart data ------------------------------------------------------------------------- */ -int FixPropertyAtom::size_restart(int nlocal) +int FixPropertyAtom::size_restart(int /*nlocal*/) { return nvalue+1; } diff --git a/src/fix_read_restart.cpp b/src/fix_read_restart.cpp index b384234b99..3c3178f4af 100644 --- a/src/fix_read_restart.cpp +++ b/src/fix_read_restart.cpp @@ -96,7 +96,7 @@ void FixReadRestart::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixReadRestart::copy_arrays(int i, int j, int delflag) +void FixReadRestart::copy_arrays(int i, int j, int /*delflag*/) { count[j] = count[i]; for (int m = 0; m < count[i]; m++) extra[j][m] = extra[i][m]; diff --git a/src/fix_recenter.cpp b/src/fix_recenter.cpp index 49e370ac80..75b383d67a 100644 --- a/src/fix_recenter.cpp +++ b/src/fix_recenter.cpp @@ -149,7 +149,7 @@ void FixRecenter::init() /* ---------------------------------------------------------------------- */ -void FixRecenter::initial_integrate(int vflag) +void FixRecenter::initial_integrate(int /*vflag*/) { // target COM // bounding box around domain works for both orthogonal and triclinic @@ -211,7 +211,7 @@ void FixRecenter::initial_integrate(int vflag) /* ---------------------------------------------------------------------- */ -void FixRecenter::initial_integrate_respa(int vflag, int ilevel, int iloop) +void FixRecenter::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/) { // outermost level - operate recenter // all other levels - nothing diff --git a/src/fix_respa.cpp b/src/fix_respa.cpp index 3b9aad1286..64461ba7ca 100644 --- a/src/fix_respa.cpp +++ b/src/fix_respa.cpp @@ -93,7 +93,7 @@ void FixRespa::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixRespa::copy_arrays(int i, int j, int delflag) +void FixRespa::copy_arrays(int i, int j, int /*delflag*/) { for (int k = 0; k < nlevels; k++) { f_level[j][k][0] = f_level[i][k][0]; diff --git a/src/fix_restrain.cpp b/src/fix_restrain.cpp index 6ad229fea7..bb09116374 100644 --- a/src/fix_restrain.cpp +++ b/src/fix_restrain.cpp @@ -188,7 +188,7 @@ void FixRestrain::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixRestrain::post_force(int vflag) +void FixRestrain::post_force(int /*vflag*/) { energy = 0.0; @@ -204,7 +204,7 @@ void FixRestrain::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixRestrain::post_force_respa(int vflag, int ilevel, int iloop) +void FixRestrain::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/fix_setforce.cpp b/src/fix_setforce.cpp index 89b340b0ae..fc8b7aeb59 100644 --- a/src/fix_setforce.cpp +++ b/src/fix_setforce.cpp @@ -219,7 +219,7 @@ void FixSetForce::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixSetForce::post_force(int vflag) +void FixSetForce::post_force(int /*vflag*/) { double **x = atom->x; double **f = atom->f; @@ -293,7 +293,7 @@ void FixSetForce::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixSetForce::post_force_respa(int vflag, int ilevel, int iloop) +void FixSetForce::post_force_respa(int vflag, int ilevel, int /*iloop*/) { // set force to desired value on requested level, 0.0 on other levels diff --git a/src/fix_spring.cpp b/src/fix_spring.cpp index ecb84eeb0f..328a0eeafd 100644 --- a/src/fix_spring.cpp +++ b/src/fix_spring.cpp @@ -159,7 +159,7 @@ void FixSpring::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixSpring::post_force(int vflag) +void FixSpring::post_force(int /*vflag*/) { if (styleflag == TETHER) spring_tether(); else spring_couple(); @@ -335,7 +335,7 @@ void FixSpring::spring_couple() /* ---------------------------------------------------------------------- */ -void FixSpring::post_force_respa(int vflag, int ilevel, int iloop) +void FixSpring::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/fix_spring_chunk.cpp b/src/fix_spring_chunk.cpp index 53e9285a9c..5b5d95b111 100644 --- a/src/fix_spring_chunk.cpp +++ b/src/fix_spring_chunk.cpp @@ -144,7 +144,7 @@ void FixSpringChunk::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixSpringChunk::post_force(int vflag) +void FixSpringChunk::post_force(int /*vflag*/) { int i,m; double dx,dy,dz,r; @@ -231,7 +231,7 @@ void FixSpringChunk::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixSpringChunk::post_force_respa(int vflag, int ilevel, int iloop) +void FixSpringChunk::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/fix_spring_rg.cpp b/src/fix_spring_rg.cpp index c2e226a343..28c8969006 100644 --- a/src/fix_spring_rg.cpp +++ b/src/fix_spring_rg.cpp @@ -95,7 +95,7 @@ void FixSpringRG::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixSpringRG::post_force(int vflag) +void FixSpringRG::post_force(int /*vflag*/) { // compute current Rg and center-of-mass @@ -142,7 +142,7 @@ void FixSpringRG::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixSpringRG::post_force_respa(int vflag, int ilevel, int iloop) +void FixSpringRG::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/fix_spring_self.cpp b/src/fix_spring_self.cpp index 1a5c89c6a1..670883af41 100644 --- a/src/fix_spring_self.cpp +++ b/src/fix_spring_self.cpp @@ -148,7 +148,7 @@ void FixSpringSelf::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixSpringSelf::post_force(int vflag) +void FixSpringSelf::post_force(int /*vflag*/) { double **x = atom->x; double **f = atom->f; @@ -181,7 +181,7 @@ void FixSpringSelf::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixSpringSelf::post_force_respa(int vflag, int ilevel, int iloop) +void FixSpringSelf::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } @@ -227,7 +227,7 @@ void FixSpringSelf::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixSpringSelf::copy_arrays(int i, int j, int delflag) +void FixSpringSelf::copy_arrays(int i, int j, int /*delflag*/) { xoriginal[j][0] = xoriginal[i][0]; xoriginal[j][1] = xoriginal[i][1]; @@ -303,7 +303,7 @@ int FixSpringSelf::maxsize_restart() size of atom nlocal's restart data ------------------------------------------------------------------------- */ -int FixSpringSelf::size_restart(int nlocal) +int FixSpringSelf::size_restart(int /*nlocal*/) { return 4; } diff --git a/src/fix_store.cpp b/src/fix_store.cpp index 350e120972..9db65d0987 100644 --- a/src/fix_store.cpp +++ b/src/fix_store.cpp @@ -229,7 +229,7 @@ void FixStore::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixStore::copy_arrays(int i, int j, int delflag) +void FixStore::copy_arrays(int i, int j, int /*delflag*/) { if (disable) return; @@ -324,7 +324,7 @@ int FixStore::maxsize_restart() size of atom nlocal's restart data ------------------------------------------------------------------------- */ -int FixStore::size_restart(int nlocal) +int FixStore::size_restart(int /*nlocal*/) { if (disable) return 1; return nvalues+1; diff --git a/src/fix_store_force.cpp b/src/fix_store_force.cpp index 5e2150f68d..a841714098 100644 --- a/src/fix_store_force.cpp +++ b/src/fix_store_force.cpp @@ -95,7 +95,7 @@ void FixStoreForce::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixStoreForce::post_force(int vflag) +void FixStoreForce::post_force(int /*vflag*/) { if (atom->nmax > nmax) { nmax = atom->nmax; @@ -118,7 +118,7 @@ void FixStoreForce::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixStoreForce::post_force_respa(int vflag, int ilevel, int iloop) +void FixStoreForce::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_force(vflag); } diff --git a/src/fix_store_state.cpp b/src/fix_store_state.cpp index 3195e983e3..da899a173c 100644 --- a/src/fix_store_state.cpp +++ b/src/fix_store_state.cpp @@ -446,7 +446,7 @@ void FixStoreState::init() /* ---------------------------------------------------------------------- */ -void FixStoreState::setup(int vflag) +void FixStoreState::setup(int /*vflag*/) { // if first invocation, store current values for compute, fix, variable @@ -580,7 +580,7 @@ void FixStoreState::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixStoreState::copy_arrays(int i, int j, int delflag) +void FixStoreState::copy_arrays(int i, int j, int /*delflag*/) { for (int m = 0; m < nvalues; m++) values[j][m] = values[i][m]; } @@ -646,7 +646,7 @@ int FixStoreState::maxsize_restart() size of atom nlocal's restart data ------------------------------------------------------------------------- */ -int FixStoreState::size_restart(int nlocal) +int FixStoreState::size_restart(int /*nlocal*/) { return nvalues+1; } diff --git a/src/fix_tmd.cpp b/src/fix_tmd.cpp index 39d4173a63..ea448bd178 100644 --- a/src/fix_tmd.cpp +++ b/src/fix_tmd.cpp @@ -170,7 +170,7 @@ void FixTMD::init() /* ---------------------------------------------------------------------- */ -void FixTMD::initial_integrate(int vflag) +void FixTMD::initial_integrate(int /*vflag*/) { double a,b,c,d,e; double dx,dy,dz,dxkt,dykt,dzkt; @@ -335,7 +335,7 @@ void FixTMD::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixTMD::copy_arrays(int i, int j, int delflag) +void FixTMD::copy_arrays(int i, int j, int /*delflag*/) { xf[j][0] = xf[i][0]; xf[j][1] = xf[i][1]; diff --git a/src/fix_vector.cpp b/src/fix_vector.cpp index 9b7f016970..6387af7676 100644 --- a/src/fix_vector.cpp +++ b/src/fix_vector.cpp @@ -239,7 +239,7 @@ void FixVector::init() only does something if nvalid = current timestep ------------------------------------------------------------------------- */ -void FixVector::setup(int vflag) +void FixVector::setup(int /*vflag*/) { end_of_step(); } diff --git a/src/fix_viscous.cpp b/src/fix_viscous.cpp index 1d2609c8b6..e845142322 100644 --- a/src/fix_viscous.cpp +++ b/src/fix_viscous.cpp @@ -109,7 +109,7 @@ void FixViscous::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixViscous::post_force(int vflag) +void FixViscous::post_force(int /*vflag*/) { // apply drag force to atoms in group // direction is opposed to velocity vector @@ -134,7 +134,7 @@ void FixViscous::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixViscous::post_force_respa(int vflag, int ilevel, int iloop) +void FixViscous::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/fix_wall.cpp b/src/fix_wall.cpp index 096bbe618a..e84d01191d 100644 --- a/src/fix_wall.cpp +++ b/src/fix_wall.cpp @@ -343,7 +343,7 @@ void FixWall::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixWall::post_force_respa(int vflag, int ilevel, int iloop) +void FixWall::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/fix_wall_region.cpp b/src/fix_wall_region.cpp index ea1b62bfa5..ff147d7446 100644 --- a/src/fix_wall_region.cpp +++ b/src/fix_wall_region.cpp @@ -287,7 +287,7 @@ void FixWallRegion::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixWallRegion::post_force_respa(int vflag, int ilevel, int iloop) +void FixWallRegion::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/group.cpp b/src/group.cpp index dd5e53bb3c..3bc3f3d7bf 100644 --- a/src/group.cpp +++ b/src/group.cpp @@ -629,7 +629,7 @@ int Group::find_unused() do not include molID = 0 ------------------------------------------------------------------------- */ -void Group::add_molecules(int igroup, int bit) +void Group::add_molecules(int /*igroup*/, int bit) { // hash = unique molecule IDs of atoms already in group diff --git a/src/image.cpp b/src/image.cpp index 301a2af88f..7879a7035e 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -990,7 +990,7 @@ void Image::compute_SSAO() /* ---------------------------------------------------------------------- */ -void Image::write_JPG(FILE *fp) +void Image::write_JPG(FILE */*fp*/) { #ifdef LAMMPS_JPEG struct jpeg_compress_struct cinfo; @@ -1022,7 +1022,7 @@ void Image::write_JPG(FILE *fp) /* ---------------------------------------------------------------------- */ -void Image::write_PNG(FILE *fp) +void Image::write_PNG(FILE */*fp*/) { #ifdef LAMMPS_PNG png_structp png_ptr; diff --git a/src/imbalance_var.cpp b/src/imbalance_var.cpp index acb3da8d13..e089b1df0c 100644 --- a/src/imbalance_var.cpp +++ b/src/imbalance_var.cpp @@ -52,7 +52,7 @@ int ImbalanceVar::options(int narg, char **arg) /* -------------------------------------------------------------------- */ -void ImbalanceVar::init(int flag) +void ImbalanceVar::init(int /*flag*/) { id = input->variable->find(name); if (id < 0) { diff --git a/src/improper_zero.cpp b/src/improper_zero.cpp index 25ab3e7bba..86c724e17d 100644 --- a/src/improper_zero.cpp +++ b/src/improper_zero.cpp @@ -99,13 +99,13 @@ void ImproperZero::coeff(int narg, char **arg) proc 0 writes out coeffs to restart file ------------------------------------------------------------------------- */ -void ImproperZero::write_restart(FILE *fp) {} +void ImproperZero::write_restart(FILE */*fp*/) {} /* ---------------------------------------------------------------------- proc 0 reads coeffs from restart file, bcasts them ------------------------------------------------------------------------- */ -void ImproperZero::read_restart(FILE *fp) +void ImproperZero::read_restart(FILE */*fp*/) { allocate(); for (int i = 1; i <= atom->nimpropertypes; i++) setflag[i] = 1; diff --git a/src/integrate.cpp b/src/integrate.cpp index 97d28d6d7c..d6b27e042d 100644 --- a/src/integrate.cpp +++ b/src/integrate.cpp @@ -24,7 +24,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -Integrate::Integrate(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) +Integrate::Integrate(LAMMPS *lmp, int /*narg*/, char **/*arg*/) : Pointers(lmp) { elist_global = elist_atom = NULL; vlist_global = vlist_atom = NULL; diff --git a/src/kspace.cpp b/src/kspace.cpp index fc8b12288b..ad5c9e42f2 100644 --- a/src/kspace.cpp +++ b/src/kspace.cpp @@ -30,7 +30,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -KSpace::KSpace(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) +KSpace::KSpace(LAMMPS *lmp, int /*narg*/, char **/*arg*/) : Pointers(lmp) { order_allocated = 0; energy = 0.0; diff --git a/src/library.cpp b/src/library.cpp index 13e0756866..18f7005116 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -336,7 +336,7 @@ void lammps_free(void *ptr) customize by adding names ------------------------------------------------------------------------- */ -int lammps_extract_setting(void *ptr, char *name) +int lammps_extract_setting(void */*ptr*/, char *name) { if (strcmp(name,"bigint") == 0) return sizeof(bigint); if (strcmp(name,"tagint") == 0) return sizeof(tagint); diff --git a/src/math_extra.cpp b/src/math_extra.cpp index b70986ce91..0bba2ad401 100644 --- a/src/math_extra.cpp +++ b/src/math_extra.cpp @@ -590,7 +590,7 @@ void inertia_triangle(double *v0, double *v1, double *v2, return symmetric inertia tensor as 6-vector in Voigt notation ------------------------------------------------------------------------- */ -void inertia_triangle(double *idiag, double *quat, double mass, +void inertia_triangle(double *idiag, double *quat, double /*mass*/, double *inertia) { double p[3][3],ptrans[3][3],itemp[3][3],tensor[3][3]; diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 912a636227..759f84e29f 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -2193,7 +2193,7 @@ void Neighbor::set(int narg, char **arg) ditto for lastcall and last_setup_bins ------------------------------------------------------------------------- */ -void Neighbor::reset_timestep(bigint ntimestep) +void Neighbor::reset_timestep(bigint /*ntimestep*/) { for (int i = 0; i < nbin; i++) neigh_bin[i]->last_bin = -1; diff --git a/src/pair.cpp b/src/pair.cpp index 5c308cc7ce..18d561bdb5 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -301,7 +301,7 @@ void Pair::init_style() specific pair style can override this function ------------------------------------------------------------------------- */ -void Pair::init_list(int which, NeighList *ptr) +void Pair::init_list(int /*which*/, NeighList *ptr) { list = ptr; } diff --git a/src/pair_beck.cpp b/src/pair_beck.cpp index cc8e14bf2c..d9c0fb902c 100644 --- a/src/pair_beck.cpp +++ b/src/pair_beck.cpp @@ -327,9 +327,9 @@ void PairBeck::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairBeck::single(int i, int j, int itype, int jtype, +double PairBeck::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, + double /*factor_coul*/, double factor_lj, double &fforce) { double phi_beck,r,rinv; diff --git a/src/pair_born.cpp b/src/pair_born.cpp index ce7a255fd4..1a1db9dd90 100644 --- a/src/pair_born.cpp +++ b/src/pair_born.cpp @@ -407,8 +407,8 @@ void PairBorn::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairBorn::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, +double PairBorn::single(int /*i*/, int /*j*/, int itype, int jtype, + double rsq, double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,r6inv,r,rexp,forceborn,phiborn; diff --git a/src/pair_buck.cpp b/src/pair_buck.cpp index 450ce291cb..8b6d79234b 100644 --- a/src/pair_buck.cpp +++ b/src/pair_buck.cpp @@ -380,8 +380,8 @@ void PairBuck::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairBuck::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, +double PairBuck::single(int /*i*/, int /*j*/, int itype, int jtype, + double rsq, double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,r6inv,r,rexp,forcebuck,phibuck; diff --git a/src/pair_coul_cut.cpp b/src/pair_coul_cut.cpp index edcf26bffe..8741abdb89 100644 --- a/src/pair_coul_cut.cpp +++ b/src/pair_coul_cut.cpp @@ -284,8 +284,8 @@ void PairCoulCut::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairCoulCut::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, +double PairCoulCut::single(int i, int j, int /*itype*/, int /*jtype*/, + double rsq, double factor_coul, double /*factor_lj*/, double &fforce) { double r2inv,rinv,forcecoul,phicoul; diff --git a/src/pair_coul_debye.cpp b/src/pair_coul_debye.cpp index ee08ab3294..432a015598 100644 --- a/src/pair_coul_debye.cpp +++ b/src/pair_coul_debye.cpp @@ -163,8 +163,8 @@ void PairCoulDebye::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairCoulDebye::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, +double PairCoulDebye::single(int i, int j, int /*itype*/, int /*jtype*/, + double rsq, double factor_coul, double /*factor_lj*/, double &fforce) { double r2inv,r,rinv,forcecoul,phicoul,screening; diff --git a/src/pair_coul_dsf.cpp b/src/pair_coul_dsf.cpp index f20eae43bd..8cd5f7fece 100644 --- a/src/pair_coul_dsf.cpp +++ b/src/pair_coul_dsf.cpp @@ -221,7 +221,7 @@ void PairCoulDSF::init_style() init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairCoulDSF::init_one(int i, int j) +double PairCoulDSF::init_one(int /*i*/, int /*j*/) { return cut_coul; } @@ -291,8 +291,8 @@ void PairCoulDSF::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairCoulDSF::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairCoulDSF::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq, + double factor_coul, double /*factor_lj*/, double &fforce) { double r2inv,r,erfcc,erfcd,prefactor,t; diff --git a/src/pair_coul_wolf.cpp b/src/pair_coul_wolf.cpp index cd582f0693..762491166e 100644 --- a/src/pair_coul_wolf.cpp +++ b/src/pair_coul_wolf.cpp @@ -219,7 +219,7 @@ void PairCoulWolf::init_style() init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairCoulWolf::init_one(int i, int j) +double PairCoulWolf::init_one(int /*i*/, int /*j*/) { return cut_coul; } @@ -290,8 +290,8 @@ void PairCoulWolf::read_restart_settings(FILE *fp) only the pair part is calculated here ------------------------------------------------------------------------- */ -double PairCoulWolf::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairCoulWolf::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq, + double factor_coul, double /*factor_lj*/, double &fforce) { double r,prefactor; diff --git a/src/pair_dpd.cpp b/src/pair_dpd.cpp index c209de87ed..5c5fc4254b 100644 --- a/src/pair_dpd.cpp +++ b/src/pair_dpd.cpp @@ -390,8 +390,8 @@ void PairDPD::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairDPD::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_dpd, double &fforce) +double PairDPD::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_dpd, double &fforce) { double r,rinv,wd,phi; diff --git a/src/pair_gauss.cpp b/src/pair_gauss.cpp index fe53bcc9e1..426389753b 100644 --- a/src/pair_gauss.cpp +++ b/src/pair_gauss.cpp @@ -347,8 +347,8 @@ void PairGauss::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairGauss::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairGauss::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double /*factor_lj*/, double &fforce) { double philj = diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index dc74dd040d..03747e1de3 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -844,7 +844,7 @@ void PairHybrid::modify_params(int narg, char **arg) store a local per pair style override for special_lj and special_coul ------------------------------------------------------------------------- */ -void PairHybrid::modify_special(int m, int narg, char **arg) +void PairHybrid::modify_special(int m, int /*narg*/, char **arg) { double special[4]; int i; diff --git a/src/pair_lj96_cut.cpp b/src/pair_lj96_cut.cpp index 28677a393e..457eba0e79 100644 --- a/src/pair_lj96_cut.cpp +++ b/src/pair_lj96_cut.cpp @@ -678,8 +678,8 @@ void PairLJ96Cut::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairLJ96Cut::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairLJ96Cut::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,r3inv,r6inv,forcelj,philj; diff --git a/src/pair_lj_cubic.cpp b/src/pair_lj_cubic.cpp index 4b140e5f05..770caa6359 100644 --- a/src/pair_lj_cubic.cpp +++ b/src/pair_lj_cubic.cpp @@ -175,7 +175,7 @@ void PairLJCubic::allocate() global settings ------------------------------------------------------------------------- */ -void PairLJCubic::settings(int narg, char **arg) +void PairLJCubic::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); @@ -321,9 +321,9 @@ void PairLJCubic::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairLJCubic::single(int i, int j, int itype, int jtype, +double PairLJCubic::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, + double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,r6inv,forcelj,philj; diff --git a/src/pair_lj_cut.cpp b/src/pair_lj_cut.cpp index bb2db6aa2f..13a546f5a5 100644 --- a/src/pair_lj_cut.cpp +++ b/src/pair_lj_cut.cpp @@ -672,8 +672,8 @@ void PairLJCut::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairLJCut::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairLJCut::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,r6inv,forcelj,philj; diff --git a/src/pair_lj_expand.cpp b/src/pair_lj_expand.cpp index ba72d7d45f..9aa58b3b88 100644 --- a/src/pair_lj_expand.cpp +++ b/src/pair_lj_expand.cpp @@ -396,8 +396,8 @@ void PairLJExpand::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairLJExpand::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairLJExpand::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r,rshift,rshiftsq,r2inv,r6inv,forcelj,philj; diff --git a/src/pair_lj_gromacs.cpp b/src/pair_lj_gromacs.cpp index 6b2219d2c5..495e96c368 100644 --- a/src/pair_lj_gromacs.cpp +++ b/src/pair_lj_gromacs.cpp @@ -414,9 +414,9 @@ void PairLJGromacs::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairLJGromacs::single(int i, int j, int itype, int jtype, +double PairLJGromacs::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, + double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,r6inv,forcelj,philj; diff --git a/src/pair_lj_smooth.cpp b/src/pair_lj_smooth.cpp index 23256d486e..a12046bb3b 100644 --- a/src/pair_lj_smooth.cpp +++ b/src/pair_lj_smooth.cpp @@ -425,8 +425,8 @@ void PairLJSmooth::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairLJSmooth::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairLJSmooth::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,r6inv,forcelj,philj,r,t,tsq,fskin; diff --git a/src/pair_lj_smooth_linear.cpp b/src/pair_lj_smooth_linear.cpp index 592a7f6f41..17c789bcee 100644 --- a/src/pair_lj_smooth_linear.cpp +++ b/src/pair_lj_smooth_linear.cpp @@ -326,9 +326,9 @@ void PairLJSmoothLinear::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairLJSmoothLinear::single(int i, int j, int itype, int jtype, +double PairLJSmoothLinear::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, + double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,r6inv,forcelj,philj,r,rinv; diff --git a/src/pair_mie_cut.cpp b/src/pair_mie_cut.cpp index 1f9267ca30..c1e1c1ff50 100644 --- a/src/pair_mie_cut.cpp +++ b/src/pair_mie_cut.cpp @@ -682,8 +682,8 @@ void PairMIECut::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairMIECut::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_mie, +double PairMIECut::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_mie, double &fforce) { double r2inv,rgamR,rgamA,forcemie,phimie; diff --git a/src/pair_morse.cpp b/src/pair_morse.cpp index 32ddd723b2..c1031343e1 100644 --- a/src/pair_morse.cpp +++ b/src/pair_morse.cpp @@ -334,8 +334,8 @@ void PairMorse::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairMorse::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairMorse::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r,dr,dexp,phi; diff --git a/src/pair_soft.cpp b/src/pair_soft.cpp index f428893fd1..d1c51ac600 100644 --- a/src/pair_soft.cpp +++ b/src/pair_soft.cpp @@ -307,8 +307,8 @@ void PairSoft::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairSoft::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairSoft::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r,arg,philj; diff --git a/src/pair_table.cpp b/src/pair_table.cpp index 9e9e41a54c..5c43761cab 100644 --- a/src/pair_table.cpp +++ b/src/pair_table.cpp @@ -993,8 +993,8 @@ void PairTable::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairTable::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairTable::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { int itable; diff --git a/src/pair_ufm.cpp b/src/pair_ufm.cpp index 965fe0204e..a9f076f504 100644 --- a/src/pair_ufm.cpp +++ b/src/pair_ufm.cpp @@ -353,8 +353,8 @@ void PairUFM::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairUFM::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairUFM::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double expuf,phiuf; diff --git a/src/pair_yukawa.cpp b/src/pair_yukawa.cpp index 040664abec..af520fd3da 100644 --- a/src/pair_yukawa.cpp +++ b/src/pair_yukawa.cpp @@ -319,8 +319,8 @@ void PairYukawa::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairYukawa::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairYukawa::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,r,rinv,screening,forceyukawa,phi; diff --git a/src/pair_zbl.cpp b/src/pair_zbl.cpp index 98048f61d0..f23a1e5d56 100644 --- a/src/pair_zbl.cpp +++ b/src/pair_zbl.cpp @@ -267,8 +267,8 @@ double PairZBL::init_one(int i, int j) /* ---------------------------------------------------------------------- */ -double PairZBL::single(int i, int j, int itype, int jtype, double rsq, - double dummy1, double dummy2, +double PairZBL::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*dummy1*/, double /*dummy2*/, double &fforce) { double phi,r,t,eswitch,fswitch; diff --git a/src/rcb.cpp b/src/rcb.cpp index 13e27b6fbf..644f879c73 100644 --- a/src/rcb.cpp +++ b/src/rcb.cpp @@ -1108,7 +1108,7 @@ void RCB::compute_old(int dimension, int n, double **x, double *wt, merge of each component of an RCB bounding box ------------------------------------------------------------------------- */ -void box_merge(void *in, void *inout, int *len, MPI_Datatype *dptr) +void box_merge(void *in, void *inout, int */*len*/, MPI_Datatype */*dptr*/) { RCB::BBox *box1 = (RCB::BBox *) in; @@ -1138,7 +1138,7 @@ void box_merge(void *in, void *inout, int *len, MPI_Datatype *dptr) all procs must get same proclo,prochi ------------------------------------------------------------------------- */ -void median_merge(void *in, void *inout, int *len, MPI_Datatype *dptr) +void median_merge(void *in, void *inout, int */*len*/, MPI_Datatype */*dptr*/) { RCB::Median *med1 = (RCB::Median *) in; diff --git a/src/reader_xyz.cpp b/src/reader_xyz.cpp index 5cb3476510..37d30bd740 100644 --- a/src/reader_xyz.cpp +++ b/src/reader_xyz.cpp @@ -117,9 +117,9 @@ void ReaderXYZ::skip() only called by proc 0 ------------------------------------------------------------------------- */ -bigint ReaderXYZ::read_header(double box[3][3], int &triclinic, +bigint ReaderXYZ::read_header(double /*box*/[3][3], int &triclinic, int fieldinfo, int nfield, - int *fieldtype, char **fieldlabel, + int *fieldtype, char **/*fieldlabel*/, int scaleflag, int wrapflag, int &fieldflag, int &xflag, int &yflag, int &zflag) { diff --git a/src/region.cpp b/src/region.cpp index 88a414b134..c52c0181aa 100644 --- a/src/region.cpp +++ b/src/region.cpp @@ -28,7 +28,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -Region::Region(LAMMPS *lmp, int narg, char **arg) : +Region::Region(LAMMPS *lmp, int /*narg*/, char **arg) : Pointers(lmp), id(NULL), style(NULL), contact(NULL), list(NULL), xstr(NULL), ystr(NULL), zstr(NULL), tstr(NULL) diff --git a/src/reset_ids.cpp b/src/reset_ids.cpp index fd898bd3ab..b2cf7a9bbc 100644 --- a/src/reset_ids.cpp +++ b/src/reset_ids.cpp @@ -28,7 +28,7 @@ ResetIDs::ResetIDs(LAMMPS *lmp) : Pointers(lmp) {} /* ---------------------------------------------------------------------- */ -void ResetIDs::command(int narg, char **arg) +void ResetIDs::command(int narg, char **/*arg*/) { if (domain->box_exist == 0) error->all(FLERR,"Reset_ids command before simulation box is defined"); diff --git a/src/respa.cpp b/src/respa.cpp index 73e280b03d..26bae5a1cb 100644 --- a/src/respa.cpp +++ b/src/respa.cpp @@ -774,7 +774,7 @@ void Respa::recurse(int ilevel) clear other arrays as needed ------------------------------------------------------------------------- */ -void Respa::force_clear(int newtonflag) +void Respa::force_clear(int /*newtonflag*/) { if (external_force_clear) return; diff --git a/src/variable.cpp b/src/variable.cpp index f005221400..a596dedb2a 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -733,7 +733,7 @@ int Variable::find(char *name) called when atom is created ------------------------------------------------------------------------- */ -void Variable::set_arrays(int i) +void Variable::set_arrays(int /*i*/) { for (int i = 0; i < nvar; i++) if (reader[i] && style[i] == ATOMFILE) diff --git a/src/velocity.cpp b/src/velocity.cpp index f83f778f8b..3a0b95fb4d 100644 --- a/src/velocity.cpp +++ b/src/velocity.cpp @@ -410,7 +410,7 @@ void Velocity::create(double t_desired, int seed) /* ---------------------------------------------------------------------- */ -void Velocity::set(int narg, char **arg) +void Velocity::set(int /*narg*/, char **arg) { int xstyle,ystyle,zstyle,varflag; double vx,vy,vz; @@ -579,7 +579,7 @@ void Velocity::set(int narg, char **arg) rescale velocities of a group after computing its temperature ------------------------------------------------------------------------- */ -void Velocity::scale(int narg, char **arg) +void Velocity::scale(int /*narg*/, char **arg) { double t_desired = force->numeric(FLERR,arg[0]); @@ -628,7 +628,7 @@ void Velocity::scale(int narg, char **arg) apply a ramped set of velocities ------------------------------------------------------------------------- */ -void Velocity::ramp(int narg, char **arg) +void Velocity::ramp(int /*narg*/, char **arg) { // set scale factors @@ -705,7 +705,7 @@ void Velocity::ramp(int narg, char **arg) zero linear or angular momentum of a group ------------------------------------------------------------------------- */ -void Velocity::zero(int narg, char **arg) +void Velocity::zero(int /*narg*/, char **arg) { if (strcmp(arg[0],"linear") == 0) { if (rfix < 0) zero_momentum(); -- GitLab From 9eacabd821536f300184d0946d2dfdff9c15c1ac Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Thu, 23 Aug 2018 14:43:31 -0600 Subject: [PATCH 590/675] added manpage from debian package --- doc/lammps.1 | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 doc/lammps.1 diff --git a/doc/lammps.1 b/doc/lammps.1 new file mode 100644 index 0000000000..d0251bd2a6 --- /dev/null +++ b/doc/lammps.1 @@ -0,0 +1,41 @@ +.TH LAMMPS "2012-02-23" +.SH NAME +.B LAMMPS +\- Molecular Dynamics Simulator. + +.SH SYNOPSIS +.B lammps +< in.file + +or + +mpirun \-np 2 +.B lammps +< in.file + +.SH DESCRIPTION +.B LAMMPS +LAMMPS is a classical molecular dynamics code, and an acronym for Large-scale +Atomic/Molecular Massively Parallel Simulator. LAMMPS has potentials for soft +materials (biomolecules, polymers) and solid-state materials (metals, +semiconductors) and coarse-grained or mesoscopic systems. It can be used to +model atoms or, more generically, as a parallel particle simulator at the +atomic, meso, or continuum scale. + +See http://lammps.sandia.gov/ for documentation. + +.SH COPYRIGHT +© 2003--2012 Sandia Corporation + +This package is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This package is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. -- GitLab From a10bb4b96f40f3b5574b0fade2cfece8bf4c6fc9 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Thu, 23 Aug 2018 15:02:36 -0600 Subject: [PATCH 591/675] cmake: fix link issue with --as-needed --- cmake/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 460d177c92..51997593db 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -276,11 +276,14 @@ endif() if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE) find_package(LAPACK) - if(NOT LAPACK_FOUND) + find_package(BLAS) + if(NOT LAPACK_FOUND OR NOT BLAS_FOUND) enable_language(Fortran) file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/*.[fF]) add_library(linalg STATIC ${LAPACK_SOURCES}) set(LAPACK_LIBRARIES linalg) + else() + list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES}) endif() endif() -- GitLab From 3622cb9b2846f675ead2997fffdf5abb7a281475 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Thu, 23 Aug 2018 19:16:41 -0600 Subject: [PATCH 592/675] lammps.1: some update --- doc/lammps.1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/lammps.1 b/doc/lammps.1 index d0251bd2a6..0431aeca02 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,4 +1,4 @@ -.TH LAMMPS "2012-02-23" +.TH LAMMPS "2018-08-22" .SH NAME .B LAMMPS \- Molecular Dynamics Simulator. @@ -25,7 +25,7 @@ atomic, meso, or continuum scale. See http://lammps.sandia.gov/ for documentation. .SH COPYRIGHT -© 2003--2012 Sandia Corporation +© 2003--2018 Sandia Corporation This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -- GitLab From 9b4f7090d373de2f6f90bc7a51370ff89db2117f Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Thu, 23 Aug 2018 19:19:03 -0600 Subject: [PATCH 593/675] cmake: install manpage, too --- cmake/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 460d177c92..96f066a431 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1058,6 +1058,7 @@ if(BUILD_EXE) set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE}) install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(FILES ${LAMMPS_DOC_DIR}/lammps.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) if(ENABLE_TESTING) add_test(ShowHelp lmp${LAMMPS_MACHINE} -help) endif() -- GitLab From e1ef158b363f6b75a16f0c8ffd0da5c748fb580a Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Fri, 24 Aug 2018 06:52:50 -0600 Subject: [PATCH 594/675] cmake: rename manpage when installing --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 96f066a431..4db879b5b1 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1058,7 +1058,7 @@ if(BUILD_EXE) set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE}) install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR}) - install(FILES ${LAMMPS_DOC_DIR}/lammps.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) + install(FILES ${LAMMPS_DOC_DIR}/lammps.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 RENAME lmp${LAMMPS_MACHINE}.1) if(ENABLE_TESTING) add_test(ShowHelp lmp${LAMMPS_MACHINE} -help) endif() -- GitLab From bd1e89ac4c0f82be43484bfc16909104b6cf00bf Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Fri, 24 Aug 2018 06:55:59 -0600 Subject: [PATCH 595/675] lammps.1: use -in syntax --- doc/lammps.1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/lammps.1 b/doc/lammps.1 index 0431aeca02..8f0ba78fdd 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -4,14 +4,14 @@ \- Molecular Dynamics Simulator. .SH SYNOPSIS -.B lammps -< in.file +.B lmp +-in in.file or mpirun \-np 2 -.B lammps -< in.file +.B lmp +-in in.file .SH DESCRIPTION .B LAMMPS -- GitLab From 44bda245a60bcb273735a0c8cb3d71c12bfbf3e3 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 24 Aug 2018 09:36:39 -0600 Subject: [PATCH 596/675] resolution of cutoff issues --- doc/src/pair_atm.txt | 13 +++---- examples/atm/in.atm | 2 +- ...9Jul18.atm.g++.1 => log.23Aug18.atm.g++.1} | 36 +++++++++---------- ...9Jul18.atm.g++.4 => log.23Aug18.atm.g++.4} | 34 +++++++++--------- src/MANYBODY/pair_atm.cpp | 21 +++-------- src/MANYBODY/pair_atm.h | 3 +- 6 files changed, 47 insertions(+), 62 deletions(-) rename examples/atm/{log.9Jul18.atm.g++.1 => log.23Aug18.atm.g++.1} (67%) rename examples/atm/{log.9Jul18.atm.g++.4 => log.23Aug18.atm.g++.4} (69%) diff --git a/doc/src/pair_atm.txt b/doc/src/pair_atm.txt index e59efe86ab..63a450c51a 100644 --- a/doc/src/pair_atm.txt +++ b/doc/src/pair_atm.txt @@ -10,8 +10,6 @@ pair_style atm command :h3 [Syntax:] -SJP: add an arg - pair_style atm cutoff cutoff_triple :pre cutoff = cutoff for each pair in 3-body interaction (distance units) @@ -19,11 +17,10 @@ cutoff_triple = additional cutoff applied to product of 3 pairwise distances (di [Examples:] -SJP: is 1.5 a good value? -pair_style atm 2.5 1.5 +pair_style atm 4.5 2.5 pair_coeff * * * 0.072 :pre -pair_style hybrid/overlay lj/cut 6.5 atm 2.5 1.5 +pair_style hybrid/overlay lj/cut 6.5 atm 4.5 2.5 pair_coeff * * lj/cut 1.0 1.0 pair_coeff 1 1 atm 1 0.064 pair_coeff 1 1 atm 2 0.080 @@ -55,9 +52,9 @@ command as in the example above. The potential for a triplet of atom is calculated only if all 3 distances r12, r23, r31 between the 3 atoms satisfy rIJ < cutoff. -SJP: In addition, the product of the 3 distances r12*r23*r31 < -cutoff_triple^3 is required, which limits the contribution of the -potential to ??? +In addition, the product of the 3 distances r12*r23*r31 < +cutoff_triple^3 is required, which excludes from calculation the +triplets with small contribution to the interaction. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples diff --git a/examples/atm/in.atm b/examples/atm/in.atm index 52576c04c9..131528dce3 100644 --- a/examples/atm/in.atm +++ b/examples/atm/in.atm @@ -16,7 +16,7 @@ region box block 0 ${xx} 0 ${yy} 0 ${zz} create_box 1 box create_atoms 1 box -pair_style hybrid/overlay lj/cut 4.5 atm 2.5 +pair_style hybrid/overlay lj/cut 4.5 atm 4.5 2.5 pair_coeff * * lj/cut 1.0 1.0 pair_coeff * * atm * 0.072 diff --git a/examples/atm/log.9Jul18.atm.g++.1 b/examples/atm/log.23Aug18.atm.g++.1 similarity index 67% rename from examples/atm/log.9Jul18.atm.g++.1 rename to examples/atm/log.23Aug18.atm.g++.1 index 0613533f33..3373846b31 100644 --- a/examples/atm/log.9Jul18.atm.g++.1 +++ b/examples/atm/log.23Aug18.atm.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (29 Jun 2018) +LAMMPS (22 Aug 2018) # Axilrod-Teller-Muto potential example variable x index 1 @@ -26,9 +26,9 @@ Created orthogonal box = (0 0 0) to (18.3252 18.3252 18.3252) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 4000 atoms - Time spent = 0.00125098 secs + Time spent = 0.00126314 secs -pair_style hybrid/overlay lj/cut 4.5 atm 2.5 +pair_style hybrid/overlay lj/cut 4.5 atm 4.5 2.5 pair_coeff * * lj/cut 1.0 1.0 pair_coeff * * atm * 0.072 @@ -60,26 +60,26 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 11.47 | 11.47 | 11.47 Mbytes Step Temp E_pair E_mol TotEng Press - 0 1.033 -4.733482 0 -3.1843694 -3.924644 - 5 1.0335743 -4.7330528 0 -3.1830789 -3.9119065 - 10 1.0349987 -4.7346788 0 -3.1825689 -3.8769962 - 15 1.0362024 -4.7401425 0 -3.1862275 -3.8225106 - 20 1.0352365 -4.7459627 0 -3.1934962 -3.7403572 - 25 1.0295963 -4.7444397 0 -3.2004313 -3.6132651 -Loop time of 27.841 on 1 procs for 25 steps with 4000 atoms + 0 1.033 -4.8899813 0 -3.3408686 -4.2298176 + 5 1.0337853 -4.8928208 0 -3.3425304 -4.2233154 + 10 1.0358056 -4.8953304 0 -3.3420104 -4.1897183 + 15 1.0380938 -4.8990457 0 -3.3422942 -4.1310148 + 20 1.0389566 -4.9014345 0 -3.3433892 -4.0406616 + 25 1.0358313 -4.8989663 0 -3.3456079 -3.9093019 +Loop time of 12.2062 on 1 procs for 25 steps with 4000 atoms -Performance: 155.167 tau/day, 0.898 timesteps/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 353.920 tau/day, 2.048 timesteps/s +99.9% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 27.837 | 27.837 | 27.837 | 0.0 | 99.99 +Pair | 12.202 | 12.202 | 12.202 | 0.0 | 99.96 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0015321 | 0.0015321 | 0.0015321 | 0.0 | 0.01 -Output | 0.00016594 | 0.00016594 | 0.00016594 | 0.0 | 0.00 -Modify | 0.001785 | 0.001785 | 0.001785 | 0.0 | 0.01 -Other | | 0.0006731 | | | 0.00 +Comm | 0.0015621 | 0.0015621 | 0.0015621 | 0.0 | 0.01 +Output | 0.00020814 | 0.00020814 | 0.00020814 | 0.0 | 0.00 +Modify | 0.0019698 | 0.0019698 | 0.0019698 | 0.0 | 0.02 +Other | | 0.0007734 | | | 0.01 Nlocal: 4000 ave 4000 max 4000 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -97,4 +97,4 @@ Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:29 +Total wall time: 0:00:13 diff --git a/examples/atm/log.9Jul18.atm.g++.4 b/examples/atm/log.23Aug18.atm.g++.4 similarity index 69% rename from examples/atm/log.9Jul18.atm.g++.4 rename to examples/atm/log.23Aug18.atm.g++.4 index 5627348fab..d5edfe32ba 100644 --- a/examples/atm/log.9Jul18.atm.g++.4 +++ b/examples/atm/log.23Aug18.atm.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (29 Jun 2018) +LAMMPS (22 Aug 2018) # Axilrod-Teller-Muto potential example variable x index 1 @@ -26,9 +26,9 @@ Created orthogonal box = (0 0 0) to (18.3252 18.3252 18.3252) 1 by 2 by 2 MPI processor grid create_atoms 1 box Created 4000 atoms - Time spent = 0.000769138 secs + Time spent = 0.000785112 secs -pair_style hybrid/overlay lj/cut 4.5 atm 2.5 +pair_style hybrid/overlay lj/cut 4.5 atm 4.5 2.5 pair_coeff * * lj/cut 1.0 1.0 pair_coeff * * atm * 0.072 @@ -60,26 +60,26 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 5.532 | 5.532 | 5.532 Mbytes Step Temp E_pair E_mol TotEng Press - 0 1.033 -4.733482 0 -3.1843694 -3.924644 - 5 1.0335743 -4.7330528 0 -3.1830789 -3.9119065 - 10 1.0349987 -4.7346788 0 -3.1825689 -3.8769962 - 15 1.0362024 -4.7401425 0 -3.1862275 -3.8225106 - 20 1.0352365 -4.7459627 0 -3.1934962 -3.7403572 - 25 1.0295963 -4.7444397 0 -3.2004313 -3.6132651 -Loop time of 7.22029 on 4 procs for 25 steps with 4000 atoms + 0 1.033 -4.8921547 0 -3.343042 -4.2340557 + 5 1.0337949 -4.8947881 0 -3.3444835 -4.2271456 + 10 1.0358286 -4.8973178 0 -3.3439632 -4.1935779 + 15 1.0381322 -4.9010593 0 -3.3442503 -4.134913 + 20 1.0390107 -4.9034854 0 -3.3453589 -4.0446162 + 25 1.0358988 -4.9010506 0 -3.3475908 -3.9133006 +Loop time of 3.20632 on 4 procs for 25 steps with 4000 atoms -Performance: 598.314 tau/day, 3.462 timesteps/s +Performance: 1347.340 tau/day, 7.797 timesteps/s 100.0% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 7.1346 | 7.1684 | 7.1863 | 0.8 | 99.28 +Pair | 3.1207 | 3.1553 | 3.1859 | 1.5 | 98.41 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.032945 | 0.0509 | 0.084664 | 9.1 | 0.70 -Output | 0.00010133 | 0.00011051 | 0.00013804 | 0.0 | 0.00 -Modify | 0.00059557 | 0.00060683 | 0.00061274 | 0.0 | 0.01 -Other | | 0.000318 | | | 0.00 +Comm | 0.019466 | 0.05009 | 0.084602 | 12.0 | 1.56 +Output | 7.1049e-05 | 8.2076e-05 | 0.00011325 | 0.0 | 0.00 +Modify | 0.00056338 | 0.00057292 | 0.00058413 | 0.0 | 0.02 +Other | | 0.0003092 | | | 0.01 Nlocal: 1000 ave 1000 max 1000 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -97,4 +97,4 @@ Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:07 +Total wall time: 0:00:03 diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp index c23aa6560d..44587dfdff 100644 --- a/src/MANYBODY/pair_atm.cpp +++ b/src/MANYBODY/pair_atm.cpp @@ -15,9 +15,7 @@ Contributing author: Sergey Lishchuk ------------------------------------------------------------------------- */ - #include - #include "pair_atm.h" #include "atom.h" #include "citeme.h" @@ -92,7 +90,6 @@ void PairATM::compute(int eflag, int vflag) int *type = atom->type; double cutoff_squared = cut_global*cut_global; - // SJP: new cutoff double triple = cut_triple*cut_triple*cut_triple; double cutoff_triple_sixth = triple*triple; @@ -142,15 +139,14 @@ void PairATM::compute(int eflag, int vflag) rik2 = rik[0]*rik[0] + rik[1]*rik[1] + rik[2]*rik[2]; if (rik2 > cutoff_squared) continue; - // SJP: add this line? - - if (rij2*rjk2*rik2 > cutoff_triple_sixth) continue; + double r6 = rij2*rjk2*rik2; + if (r6 > cutoff_triple_sixth) continue; nu_local = nu[type[i]][type[j]][type[k]]; if (nu_local == 0.0) continue; interaction_ddd(nu_local, - rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl); + r6,rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl); f[i][0] -= fj[0] + fk[0]; f[i][1] -= fj[1] + fk[1]; @@ -200,14 +196,10 @@ void PairATM::allocate() void PairATM::settings(int narg, char **arg) { - // SJP: change to 2 args, require triple <= global - if (narg != 2) error->all(FLERR,"Illegal pair_style command"); cut_global = force->numeric(FLERR,arg[0]); cut_triple = force->numeric(FLERR,arg[1]); - - if (cut_triple > cut_global) error->all(FLERR,"Illegal pair_style command"); } /* ---------------------------------------------------------------------- @@ -324,7 +316,6 @@ void PairATM::read_restart(FILE *fp) void PairATM::write_restart_settings(FILE *fp) { fwrite(&cut_global,sizeof(double),1,fp); - // SJP: 2nd arg fwrite(&cut_triple,sizeof(double),1,fp); } @@ -334,7 +325,6 @@ void PairATM::write_restart_settings(FILE *fp) void PairATM::read_restart_settings(FILE *fp) { - // SJP: 2nd arg int me = comm->me; if (me == 0) { fread(&cut_global,sizeof(double),1,fp); @@ -348,13 +338,12 @@ void PairATM::read_restart_settings(FILE *fp) Axilrod-Teller-Muto (dipole-dipole-dipole) potential ------------------------------------------------------------------------- */ -void PairATM::interaction_ddd(double nu, +void PairATM::interaction_ddd(double nu, double r6, double rij2, double rik2, double rjk2, double *rij, double *rik, double *rjk, double *fj, double *fk, int eflag, double &eng) { - double r6,r5inv,rri,rrj,rrk,rrr; - r6 = rij2*rik2*rjk2; + double r5inv,rri,rrj,rrk,rrr; r5inv = nu / (r6*r6*sqrt(r6)); rri = rik[0]*rij[0] + rik[1]*rij[1] + rik[2]*rij[2]; rrj = rij[0]*rjk[0] + rij[1]*rjk[1] + rij[2]*rjk[2]; diff --git a/src/MANYBODY/pair_atm.h b/src/MANYBODY/pair_atm.h index cc868df832..70883a81c7 100644 --- a/src/MANYBODY/pair_atm.h +++ b/src/MANYBODY/pair_atm.h @@ -39,12 +39,11 @@ class PairATM : public Pair { void read_restart_settings(FILE *); protected: - // SJP: add 2nd cutoff double cut_global,cut_triple; double ***nu; void allocate(); - void interaction_ddd(double, double, double, double, double *, + void interaction_ddd(double, double, double, double, double, double *, double *, double *, double *, double *, int, double &); }; -- GitLab From 1abeec3a43e961694e11178cf39be77f707b0bb0 Mon Sep 17 00:00:00 2001 From: Daniel Schwen Date: Thu, 23 Aug 2018 11:13:52 -0600 Subject: [PATCH 597/675] Fix initialization order (#1076) --- src/USER-MANIFOLD/manifold_gaussian_bump.cpp | 2 +- src/fix_neigh_history.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/USER-MANIFOLD/manifold_gaussian_bump.cpp b/src/USER-MANIFOLD/manifold_gaussian_bump.cpp index a9ee35bbfc..cbb47ef92d 100644 --- a/src/USER-MANIFOLD/manifold_gaussian_bump.cpp +++ b/src/USER-MANIFOLD/manifold_gaussian_bump.cpp @@ -25,7 +25,6 @@ public: cubic_hermite( double x0, double x1, double y0, double y1, double yp0, double yp1, LAMMPS_NS::Error *err ) : - x0(x0), x1(x1), y0(y0), y1(y1), yp0(yp0), yp1(yp1), a( 2*x0 + 2 - 2*x1 ), b( -3*x0 - 3 + 3*x1 ), c( 1.0 ), @@ -34,6 +33,7 @@ public: u( -3*y0 + 3*y1 - 2*yp0 - yp1 ), v( yp0 ), w( y0 ), + x0(x0), x1(x1), y0(y0), y1(y1), yp0(yp0), yp1(yp1), err(err) { test(); diff --git a/src/fix_neigh_history.cpp b/src/fix_neigh_history.cpp index 44c2003bf1..9661409a6a 100644 --- a/src/fix_neigh_history.cpp +++ b/src/fix_neigh_history.cpp @@ -35,7 +35,7 @@ enum{DEFAULT,NPARTNER,PERPARTNER}; // also set in fix neigh/history/omp FixNeighHistory::FixNeighHistory(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), - npartner(NULL), partner(NULL), valuepartner(NULL), pair(NULL), + pair(NULL), npartner(NULL), partner(NULL), valuepartner(NULL), ipage_atom(NULL), dpage_atom(NULL), ipage_neigh(NULL), dpage_neigh(NULL) { if (narg != 4) error->all(FLERR,"Illegal fix NEIGH_HISTORY command"); -- GitLab From fd6792c6be42bad83cec2c42016883537c47ef6c Mon Sep 17 00:00:00 2001 From: Daniel Schwen Date: Thu, 23 Aug 2018 12:26:51 -0600 Subject: [PATCH 598/675] Fix unused params in GRANULAR (#1076) --- src/GRANULAR/fix_freeze.cpp | 4 ++-- src/GRANULAR/fix_wall_gran.cpp | 8 ++++---- src/GRANULAR/fix_wall_gran_region.cpp | 4 ++-- src/GRANULAR/pair_gran_hertz_history.cpp | 4 ++-- src/GRANULAR/pair_gran_hooke.cpp | 4 ++-- src/GRANULAR/pair_gran_hooke_history.cpp | 6 +++--- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/GRANULAR/fix_freeze.cpp b/src/GRANULAR/fix_freeze.cpp index 0f581be01c..73c1c9fc11 100644 --- a/src/GRANULAR/fix_freeze.cpp +++ b/src/GRANULAR/fix_freeze.cpp @@ -83,7 +83,7 @@ void FixFreeze::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixFreeze::post_force(int vflag) +void FixFreeze::post_force(int /*vflag*/) { double **f = atom->f; double **torque = atom->torque; @@ -110,7 +110,7 @@ void FixFreeze::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixFreeze::post_force_respa(int vflag, int ilevel, int iloop) +void FixFreeze::post_force_respa(int vflag, int /*ilevel*/, int /*iloop*/) { post_force(vflag); } diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 368ff99fb7..f0957423f9 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -302,7 +302,7 @@ void FixWallGran::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixWallGran::post_force(int vflag) +void FixWallGran::post_force(int /*vflag*/) { int i,j; double dx,dy,dz,del1,del2,delxy,delr,rsq,rwall,meff; @@ -446,7 +446,7 @@ void FixWallGran::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixWallGran::post_force_respa(int vflag, int ilevel, int iloop) +void FixWallGran::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_force(vflag); } @@ -1041,7 +1041,7 @@ void FixWallGran::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixWallGran::copy_arrays(int i, int j, int delflag) +void FixWallGran::copy_arrays(int i, int j, int /*delflag*/) { if (history) for (int m = 0; m < sheardim; m++) @@ -1136,7 +1136,7 @@ int FixWallGran::maxsize_restart() size of atom nlocal's restart data ------------------------------------------------------------------------- */ -int FixWallGran::size_restart(int nlocal) +int FixWallGran::size_restart(int /*nlocal*/) { if (!history) return 0; return 1 + sheardim; diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 12fa25714c..4a6be5f3c9 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -130,7 +130,7 @@ void FixWallGranRegion::init() /* ---------------------------------------------------------------------- */ -void FixWallGranRegion::post_force(int vflag) +void FixWallGranRegion::post_force(int /*vflag*/) { int i,m,nc,iwall; double dx,dy,dz,rsq,meff; @@ -347,7 +347,7 @@ void FixWallGranRegion::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixWallGranRegion::copy_arrays(int i, int j, int delflag) +void FixWallGranRegion::copy_arrays(int i, int j, int /*delflag*/) { int m,n,iwall; diff --git a/src/GRANULAR/pair_gran_hertz_history.cpp b/src/GRANULAR/pair_gran_hertz_history.cpp index 9d4f5c1a9b..d1f3c7bbe1 100644 --- a/src/GRANULAR/pair_gran_hertz_history.cpp +++ b/src/GRANULAR/pair_gran_hertz_history.cpp @@ -306,9 +306,9 @@ void PairGranHertzHistory::settings(int narg, char **arg) /* ---------------------------------------------------------------------- */ -double PairGranHertzHistory::single(int i, int j, int itype, int jtype, +double PairGranHertzHistory::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq, - double factor_coul, double factor_lj, + double /*factor_coul*/, double /*factor_lj*/, double &fforce) { double radi,radj,radsum; diff --git a/src/GRANULAR/pair_gran_hooke.cpp b/src/GRANULAR/pair_gran_hooke.cpp index 4937c2fe8b..5244396ead 100644 --- a/src/GRANULAR/pair_gran_hooke.cpp +++ b/src/GRANULAR/pair_gran_hooke.cpp @@ -219,8 +219,8 @@ void PairGranHooke::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -double PairGranHooke::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairGranHooke::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq, + double /*factor_coul*/, double /*factor_lj*/, double &fforce) { double radi,radj,radsum,r,rinv,rsqinv; diff --git a/src/GRANULAR/pair_gran_hooke_history.cpp b/src/GRANULAR/pair_gran_hooke_history.cpp index d70c7391e2..e74d7a0ea5 100644 --- a/src/GRANULAR/pair_gran_hooke_history.cpp +++ b/src/GRANULAR/pair_gran_hooke_history.cpp @@ -587,9 +587,9 @@ void PairGranHookeHistory::reset_dt() /* ---------------------------------------------------------------------- */ -double PairGranHookeHistory::single(int i, int j, int itype, int jtype, +double PairGranHookeHistory::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq, - double factor_coul, double factor_lj, + double /*factor_coul*/, double /*factor_lj*/, double &fforce) { double radi,radj,radsum; @@ -746,7 +746,7 @@ double PairGranHookeHistory::single(int i, int j, int itype, int jtype, /* ---------------------------------------------------------------------- */ int PairGranHookeHistory::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; -- GitLab From 7a2cb108647018b25e18983a53fe4dda3ab508ff Mon Sep 17 00:00:00 2001 From: Daniel Schwen Date: Thu, 23 Aug 2018 12:31:27 -0600 Subject: [PATCH 599/675] Remove unused variable (#1076) --- src/variable.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/variable.cpp b/src/variable.cpp index a596dedb2a..3c54eac1ef 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -3733,7 +3733,7 @@ int Variable::group_function(char *word, char *contents, Tree **tree, if (strcmp(word,"count") == 0) { if (narg == 1) value = group->count(igroup); - else if (narg == 2) + else if (narg == 2) value = group->count(igroup,region_function(args[1],ivar)); else print_var_error(FLERR,"Invalid group function in variable formula",ivar); @@ -3744,7 +3744,7 @@ int Variable::group_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"charge") == 0) { if (narg == 1) value = group->charge(igroup); - else if (narg == 2) + else if (narg == 2) value = group->charge(igroup,region_function(args[1],ivar)); else print_var_error(FLERR,"Invalid group function in variable formula",ivar); @@ -3795,7 +3795,7 @@ int Variable::group_function(char *word, char *contents, Tree **tree, } else if (strcmp(word,"bound") == 0) { double minmax[6]; if (narg == 2) group->bounds(igroup,minmax); - else if (narg == 3) + else if (narg == 3) group->bounds(igroup,minmax,region_function(args[2],ivar)); else print_var_error(FLERR,"Invalid group function in variable formula",ivar); if (strcmp(args[1],"xmin") == 0) value = minmax[0]; @@ -3959,7 +3959,7 @@ int Variable::special_function(char *word, char *contents, Tree **tree, double *argstack, int &nargstack, int ivar) { bigint sx,sxx; - double value,xvalue,sy,sxy; + double value,sy,sxy; // word not a match to any special function @@ -4055,7 +4055,7 @@ int Variable::special_function(char *word, char *contents, Tree **tree, } else index = 0; int ifix = modify->find_fix(&args[0][2]); - if (ifix < 0) + if (ifix < 0) print_var_error(FLERR,"Invalid fix ID in variable formula",ivar); fix = modify->fix[ifix]; if (index == 0 && fix->vector_flag) { -- GitLab From 19976bb94fb7e1a9f551a09a8c4cfac7fe6b5f0e Mon Sep 17 00:00:00 2001 From: Daniel Schwen Date: Thu, 23 Aug 2018 12:38:05 -0600 Subject: [PATCH 600/675] Fixup conditionally used params (#1076) --- src/image.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/image.cpp b/src/image.cpp index 7879a7035e..1e428921a2 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -990,8 +990,9 @@ void Image::compute_SSAO() /* ---------------------------------------------------------------------- */ -void Image::write_JPG(FILE */*fp*/) +void Image::write_JPG(FILE *fp) { + (void)(fp); // suppress unused parameter warning #ifdef LAMMPS_JPEG struct jpeg_compress_struct cinfo; struct jpeg_error_mgr jerr; @@ -1022,8 +1023,9 @@ void Image::write_JPG(FILE */*fp*/) /* ---------------------------------------------------------------------- */ -void Image::write_PNG(FILE */*fp*/) +void Image::write_PNG(FILE *fp) { + (void)(fp); // suppress unused parameter warning #ifdef LAMMPS_PNG png_structp png_ptr; png_infop info_ptr; -- GitLab From 92a4dc25b1f402a345c41e1f8791a60f6df5acd4 Mon Sep 17 00:00:00 2001 From: Daniel Schwen Date: Fri, 24 Aug 2018 09:51:38 -0600 Subject: [PATCH 601/675] Fix unused params in packages (#1076) --- src/ASPHERE/fix_nve_asphere.cpp | 2 +- src/ASPHERE/fix_nve_asphere_noforce.cpp | 2 +- src/ASPHERE/fix_nve_line.cpp | 2 +- src/ASPHERE/fix_nve_tri.cpp | 2 +- src/BODY/body_nparticle.cpp | 4 +-- src/BODY/body_rounded_polygon.cpp | 4 +-- src/BODY/body_rounded_polyhedron.cpp | 4 +-- src/BODY/fix_nve_body.cpp | 2 +- src/BODY/fix_wall_body_polygon.cpp | 4 +-- src/BODY/fix_wall_body_polyhedron.cpp | 12 ++++----- src/BODY/pair_body_rounded_polygon.cpp | 4 +-- src/CLASS2/bond_class2.cpp | 2 +- src/CLASS2/improper_class2.cpp | 2 +- src/CLASS2/pair_lj_class2.cpp | 4 +-- src/COLLOID/pair_colloid.cpp | 4 +-- src/COLLOID/pair_lubricate.cpp | 6 ++--- src/COLLOID/pair_lubricateU.cpp | 2 +- src/COLLOID/pair_yukawa_colloid.cpp | 4 +-- src/KSPACE/pair_coul_long.cpp | 4 +-- src/KSPACE/pair_coul_msm.cpp | 4 +-- src/KSPACE/pppm_disp.cpp | 2 +- src/KSPACE/remap.cpp | 2 +- src/LATTE/fix_latte.cpp | 6 ++--- src/MANYBODY/fix_qeq_comb.cpp | 6 ++--- src/MANYBODY/pair_adp.cpp | 6 ++--- src/MANYBODY/pair_airebo.cpp | 8 +++--- src/MANYBODY/pair_comb.cpp | 8 +++--- src/MANYBODY/pair_comb3.cpp | 20 +++++++------- src/MANYBODY/pair_eam.cpp | 6 ++--- src/MANYBODY/pair_eam_cd.cpp | 2 +- src/MANYBODY/pair_eim.cpp | 6 ++--- src/MANYBODY/pair_gw.cpp | 2 +- src/MANYBODY/pair_lcbop.cpp | 6 ++--- src/MANYBODY/pair_nb3b_harmonic.cpp | 4 +-- src/MANYBODY/pair_polymorphic.cpp | 2 +- src/MANYBODY/pair_rebo.cpp | 2 +- src/MANYBODY/pair_sw.cpp | 2 +- src/MANYBODY/pair_tersoff.cpp | 2 +- src/MANYBODY/pair_vashishta.cpp | 2 +- src/MC/fix_atom_swap.cpp | 2 +- src/MC/fix_bond_break.cpp | 4 +-- src/MC/fix_bond_create.cpp | 10 +++---- src/MC/fix_bond_swap.cpp | 2 +- src/MC/fix_tfmc.cpp | 2 +- src/MC/pair_dsmc.cpp | 6 ++--- src/MEAM/pair_meam.cpp | 6 ++--- src/MISC/fix_efield.cpp | 2 +- src/MISC/fix_gld.cpp | 10 +++---- src/MISC/fix_orient_bcc.cpp | 8 +++--- src/MISC/fix_orient_fcc.cpp | 8 +++--- src/MISC/fix_ttm.cpp | 10 +++---- src/MISC/pair_nm_cut.cpp | 4 +-- src/MISC/xdr_compat.cpp | 2 +- src/MOLECULE/angle_cosine.cpp | 2 +- src/MOLECULE/angle_cosine_periodic.cpp | 2 +- src/MOLECULE/bond_fene.cpp | 2 +- src/MOLECULE/bond_fene_expand.cpp | 2 +- src/MOLECULE/bond_gromos.cpp | 2 +- src/MOLECULE/bond_harmonic.cpp | 2 +- src/MOLECULE/bond_morse.cpp | 2 +- src/MOLECULE/bond_nonlinear.cpp | 2 +- src/MOLECULE/bond_quartic.cpp | 2 +- src/MOLECULE/bond_table.cpp | 2 +- src/MOLECULE/fix_cmap.cpp | 18 ++++++------- src/MOLECULE/pair_hbond_dreiding_lj.cpp | 2 +- src/MOLECULE/pair_hbond_dreiding_morse.cpp | 2 +- src/MOLECULE/pair_tip4p_cut.cpp | 2 +- src/PERI/fix_peri_neigh.cpp | 8 +++--- src/PERI/pair_peri_eps.cpp | 4 +-- src/PERI/pair_peri_lps.cpp | 4 +-- src/PERI/pair_peri_pmb.cpp | 4 +-- src/PERI/pair_peri_ves.cpp | 4 +-- src/QEQ/fix_qeq.cpp | 8 +++--- src/QEQ/fix_qeq_dynamic.cpp | 4 +-- src/QEQ/fix_qeq_fire.cpp | 4 +-- src/QEQ/fix_qeq_point.cpp | 2 +- src/QEQ/fix_qeq_shielded.cpp | 2 +- src/QEQ/fix_qeq_slater.cpp | 2 +- src/REPLICA/fix_event.cpp | 2 +- src/REPLICA/fix_neb.cpp | 2 +- src/RIGID/fix_rattle.cpp | 4 +-- src/RIGID/fix_rigid.cpp | 8 +++--- src/RIGID/fix_rigid_small.cpp | 8 +++--- src/RIGID/fix_shake.cpp | 4 +-- src/SHOCK/fix_append_atoms.cpp | 4 +-- src/SHOCK/fix_msst.cpp | 4 +-- src/SHOCK/fix_wall_piston.cpp | 2 +- src/SNAP/compute_sna_atom.cpp | 2 +- src/SNAP/compute_snad_atom.cpp | 2 +- src/SNAP/compute_snav_atom.cpp | 2 +- src/SNAP/sna.cpp | 2 +- src/SPIN/atom_vec_spin.cpp | 2 +- src/SPIN/fix_langevin_spin.cpp | 2 +- src/SPIN/fix_nve_spin.cpp | 2 +- src/SPIN/fix_precession_spin.cpp | 4 +-- src/SPIN/pair_spin.cpp | 2 +- src/SPIN/pair_spin_dmi.cpp | 2 +- src/SPIN/pair_spin_magelec.cpp | 2 +- src/SRD/fix_srd.cpp | 12 ++++----- src/USER-BOCS/fix_bocs.cpp | 8 +++--- src/USER-CGDNA/bond_oxdna_fene.cpp | 4 +-- src/USER-CGDNA/fix_nve_dot.cpp | 2 +- src/USER-CGDNA/fix_nve_dotc_langevin.cpp | 2 +- src/USER-CGDNA/pair_oxdna2_coaxstk.cpp | 2 +- src/USER-CGDNA/pair_oxdna2_dh.cpp | 2 +- src/USER-CGDNA/pair_oxdna_coaxstk.cpp | 2 +- src/USER-CGDNA/pair_oxdna_excv.cpp | 4 +-- src/USER-CGDNA/pair_oxdna_hbond.cpp | 2 +- src/USER-CGDNA/pair_oxdna_stk.cpp | 2 +- src/USER-CGDNA/pair_oxdna_xstk.cpp | 2 +- src/USER-DIFFRACTION/fix_saed_vtk.cpp | 2 +- src/USER-DPD/fix_dpd_energy.cpp | 2 +- src/USER-DPD/fix_eos_table_rx.cpp | 4 +-- src/USER-DPD/fix_rx.cpp | 12 ++++----- src/USER-DPD/fix_shardlow.cpp | 8 +++--- src/USER-DPD/pair_dpd_fdt.cpp | 4 +-- src/USER-DPD/pair_dpd_fdt_energy.cpp | 4 +-- src/USER-DPD/pair_multi_lucy.cpp | 2 +- src/USER-DPD/pair_multi_lucy_rx.cpp | 2 +- src/USER-DPD/pair_table_rx.cpp | 2 +- src/USER-DRUDE/fix_drude.cpp | 2 +- src/USER-DRUDE/fix_langevin_drude.cpp | 2 +- src/USER-DRUDE/pair_thole.cpp | 2 +- src/USER-EFF/compute_temp_deform_eff.cpp | 2 +- src/USER-EFF/compute_temp_region_eff.cpp | 2 +- src/USER-EFF/fix_langevin_eff.cpp | 2 +- src/USER-EFF/fix_nve_eff.cpp | 6 ++--- src/USER-EFF/pair_eff_cut.cpp | 6 ++--- src/USER-FEP/fix_adapt_fep.cpp | 4 +-- src/USER-FEP/pair_coul_cut_soft.cpp | 2 +- src/USER-FEP/pair_coul_long_soft.cpp | 2 +- src/USER-FEP/pair_lj_cut_soft.cpp | 4 +-- src/USER-FEP/pair_morse_soft.cpp | 4 +-- src/USER-INTEL/angle_charmm_intel.cpp | 2 +- src/USER-INTEL/angle_harmonic_intel.cpp | 2 +- src/USER-INTEL/bond_fene_intel.cpp | 2 +- src/USER-INTEL/bond_harmonic_intel.cpp | 2 +- src/USER-INTEL/dihedral_fourier_intel.cpp | 2 +- src/USER-INTEL/dihedral_harmonic_intel.cpp | 2 +- src/USER-INTEL/dihedral_opls_intel.cpp | 2 +- src/USER-INTEL/fix_intel.cpp | 8 +++--- src/USER-INTEL/fix_intel.h | 14 +++++----- src/USER-INTEL/fix_nve_asphere_intel.cpp | 2 +- src/USER-INTEL/fix_nve_intel.cpp | 2 +- src/USER-INTEL/improper_cvff_intel.cpp | 2 +- src/USER-INTEL/improper_harmonic_intel.cpp | 2 +- src/USER-INTEL/intel_buffers.cpp | 14 +++++----- src/USER-INTEL/intel_buffers.h | 10 +++---- src/USER-INTEL/intel_intrinsics_airebo.h | 4 +-- src/USER-INTEL/npair_full_bin_ghost_intel.cpp | 2 +- src/USER-INTEL/npair_intel.cpp | 4 +-- src/USER-INTEL/pair_airebo_intel.cpp | 14 +++++----- src/USER-INTEL/pair_eam_intel.cpp | 2 +- src/USER-INTEL/pair_rebo_intel.cpp | 2 +- src/USER-INTEL/pair_sw_intel.cpp | 2 +- src/USER-INTEL/pppm_disp_intel.cpp | 26 +++++++++---------- src/USER-INTEL/pppm_intel.cpp | 2 +- src/USER-LB/fix_lb_fluid.cpp | 8 +++--- src/USER-LB/fix_lb_pc.cpp | 4 +-- src/USER-LB/fix_lb_rigid_pc_sphere.cpp | 2 +- src/USER-LB/fix_lb_viscous.cpp | 4 +-- src/USER-MANIFOLD/fix_manifoldforce.cpp | 4 +-- src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp | 4 +-- src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp | 4 +-- src/USER-MANIFOLD/manifold.h | 2 +- src/USER-MANIFOLD/manifold_cylinder.cpp | 4 +-- src/USER-MANIFOLD/manifold_cylinder_dent.cpp | 4 +-- src/USER-MANIFOLD/manifold_dumbbell.cpp | 2 +- src/USER-MANIFOLD/manifold_ellipsoid.cpp | 2 +- src/USER-MANIFOLD/manifold_gaussian_bump.cpp | 2 +- src/USER-MANIFOLD/manifold_plane.cpp | 4 +-- src/USER-MANIFOLD/manifold_plane_wiggle.cpp | 2 +- src/USER-MANIFOLD/manifold_spine.cpp | 2 +- src/USER-MANIFOLD/manifold_thylakoid.cpp | 4 +-- src/USER-MANIFOLD/manifold_torus.cpp | 2 +- src/USER-MEAMC/meam_dens_final.cpp | 2 +- src/USER-MEAMC/meam_dens_init.cpp | 4 +-- src/USER-MEAMC/meam_force.cpp | 2 +- src/USER-MEAMC/meam_setup_global.cpp | 2 +- src/USER-MEAMC/pair_meamc.cpp | 6 ++--- src/USER-MESO/fix_edpd_source.cpp | 2 +- src/USER-MESO/fix_mvv_dpd.cpp | 2 +- src/USER-MESO/fix_mvv_edpd.cpp | 2 +- src/USER-MESO/fix_mvv_tdpd.cpp | 2 +- src/USER-MESO/fix_tdpd_source.cpp | 2 +- src/USER-MESO/pair_edpd.cpp | 2 +- src/USER-MESO/pair_mdpd_rhosum.cpp | 8 +++--- src/USER-MESO/pair_tdpd.cpp | 4 +-- src/USER-MGPT/pair_mgpt.cpp | 6 ++--- src/USER-MISC/angle_dipole.cpp | 2 +- src/USER-MISC/bond_harmonic_shift.cpp | 2 +- src/USER-MISC/bond_harmonic_shift_cut.cpp | 2 +- src/USER-MISC/compute_ackland_atom.cpp | 2 +- src/USER-MISC/compute_basal_atom.cpp | 2 +- src/USER-MISC/compute_cnp_atom.cpp | 2 +- src/USER-MISC/compute_entropy_atom.cpp | 2 +- src/USER-MISC/fix_addtorque.cpp | 4 +-- src/USER-MISC/fix_ave_correlate_long.cpp | 2 +- src/USER-MISC/fix_bond_react.cpp | 6 ++--- src/USER-MISC/fix_filter_corotate.cpp | 8 +++--- src/USER-MISC/fix_flow_gauss.cpp | 4 +-- src/USER-MISC/fix_gle.cpp | 10 +++---- src/USER-MISC/fix_grem.cpp | 2 +- src/USER-MISC/fix_imd.cpp | 4 +-- src/USER-MISC/fix_ipi.cpp | 2 +- src/USER-MISC/fix_nvk.cpp | 6 ++--- src/USER-MISC/fix_pimd.cpp | 10 +++---- src/USER-MISC/fix_rhok.cpp | 4 +-- src/USER-MISC/fix_smd.cpp | 2 +- src/USER-MISC/fix_srp.cpp | 8 +++--- src/USER-MISC/fix_ti_spring.cpp | 10 +++---- src/USER-MISC/fix_ttm_mod.cpp | 10 +++---- src/USER-MISC/fix_wall_region_ees.cpp | 4 +-- src/USER-MISC/pair_agni.cpp | 2 +- src/USER-MISC/pair_buck_mdf.cpp | 4 +-- src/USER-MISC/pair_coul_diel.cpp | 2 +- src/USER-MISC/pair_coul_shield.cpp | 2 +- src/USER-MISC/pair_edip.cpp | 2 +- src/USER-MISC/pair_edip_multi.cpp | 2 +- src/USER-MISC/pair_extep.cpp | 2 +- src/USER-MISC/pair_gauss_cut.cpp | 4 +-- src/USER-MISC/pair_ilp_graphene_hbn.cpp | 6 ++--- src/USER-MISC/pair_kolmogorov_crespi_full.cpp | 6 ++--- src/USER-MISC/pair_lennard_mdf.cpp | 4 +-- src/USER-MISC/pair_lj_mdf.cpp | 4 +-- src/USER-MISC/pair_meam_spline.cpp | 10 +++---- src/USER-MISC/pair_meam_sw_spline.cpp | 10 +++---- src/USER-MISC/pair_momb.cpp | 4 +-- src/USER-MISC/pair_morse_smooth_linear.cpp | 4 +-- src/USER-MISC/pair_tersoff_table.cpp | 2 +- src/USER-MOFFF/angle_cosine_buck6d.cpp | 2 +- src/USER-PHONON/fix_phonon.cpp | 2 +- src/USER-QTB/fix_qbmsst.cpp | 6 ++--- src/USER-QTB/fix_qtb.cpp | 6 ++--- src/USER-QUIP/pair_quip.cpp | 4 +-- src/USER-REAXC/fix_qeq_reax.cpp | 10 +++---- src/USER-REAXC/fix_reaxc.cpp | 4 +-- src/USER-REAXC/fix_reaxc_bonds.cpp | 6 ++--- src/USER-REAXC/fix_reaxc_species.cpp | 8 +++--- src/USER-REAXC/pair_reaxc.cpp | 2 +- src/USER-REAXC/reaxc_allocate.cpp | 14 +++++----- src/USER-REAXC/reaxc_bond_orders.cpp | 4 +-- src/USER-REAXC/reaxc_bonds.cpp | 4 +-- src/USER-REAXC/reaxc_forces.cpp | 20 +++++++------- src/USER-REAXC/reaxc_hydrogen_bonds.cpp | 2 +- src/USER-REAXC/reaxc_init_md.cpp | 12 ++++----- src/USER-REAXC/reaxc_io_tools.cpp | 2 +- src/USER-REAXC/reaxc_lookup.cpp | 2 +- src/USER-REAXC/reaxc_multi_body.cpp | 2 +- src/USER-REAXC/reaxc_nonbonded.cpp | 4 +-- src/USER-REAXC/reaxc_reset_tools.cpp | 2 +- src/USER-REAXC/reaxc_torsion_angles.cpp | 2 +- src/USER-REAXC/reaxc_traj.cpp | 6 ++--- src/USER-REAXC/reaxc_valence_angles.cpp | 2 +- src/USER-SMD/atom_vec_smd.cpp | 20 +++++++------- src/USER-SMD/fix_smd_adjust_dt.cpp | 4 +-- src/USER-SMD/fix_smd_integrate_tlsph.cpp | 2 +- src/USER-SMD/fix_smd_integrate_ulsph.cpp | 2 +- .../fix_smd_move_triangulated_surface.cpp | 4 +-- src/USER-SMD/fix_smd_setvel.cpp | 2 +- .../fix_smd_tlsph_reference_configuration.cpp | 8 +++--- src/USER-SMD/fix_smd_wall_surface.cpp | 2 +- src/USER-SMD/pair_smd_hertz.cpp | 2 +- src/USER-SMD/pair_smd_tlsph.cpp | 8 +++--- .../pair_smd_triangulated_surface.cpp | 2 +- src/USER-SMD/pair_smd_ulsph.cpp | 4 +-- src/USER-SMD/smd_material_models.cpp | 4 +-- src/USER-SMTBQ/pair_smtbq.cpp | 18 ++++++------- src/USER-SPH/fix_meso.cpp | 4 +-- src/USER-SPH/fix_meso_stationary.cpp | 2 +- src/USER-SPH/pair_sph_heatconduction.cpp | 6 ++--- src/USER-SPH/pair_sph_idealgas.cpp | 6 ++--- src/USER-SPH/pair_sph_lj.cpp | 6 ++--- src/USER-SPH/pair_sph_rhosum.cpp | 6 ++--- src/USER-SPH/pair_sph_taitwater.cpp | 6 ++--- src/USER-SPH/pair_sph_taitwater_morris.cpp | 6 ++--- src/USER-UEF/fix_nh_uef.cpp | 2 +- 277 files changed, 594 insertions(+), 594 deletions(-) diff --git a/src/ASPHERE/fix_nve_asphere.cpp b/src/ASPHERE/fix_nve_asphere.cpp index a33848f1a1..61e3c35293 100644 --- a/src/ASPHERE/fix_nve_asphere.cpp +++ b/src/ASPHERE/fix_nve_asphere.cpp @@ -62,7 +62,7 @@ void FixNVEAsphere::init() /* ---------------------------------------------------------------------- */ -void FixNVEAsphere::initial_integrate(int vflag) +void FixNVEAsphere::initial_integrate(int /*vflag*/) { double dtfm; double inertia[3],omega[3]; diff --git a/src/ASPHERE/fix_nve_asphere_noforce.cpp b/src/ASPHERE/fix_nve_asphere_noforce.cpp index d944b68f35..9cc430592a 100644 --- a/src/ASPHERE/fix_nve_asphere_noforce.cpp +++ b/src/ASPHERE/fix_nve_asphere_noforce.cpp @@ -64,7 +64,7 @@ void FixNVEAsphereNoforce::init() /* ---------------------------------------------------------------------- */ -void FixNVEAsphereNoforce::initial_integrate(int vflag) +void FixNVEAsphereNoforce::initial_integrate(int /*vflag*/) { AtomVecEllipsoid::Bonus *bonus; if (avec) bonus = avec->bonus; diff --git a/src/ASPHERE/fix_nve_line.cpp b/src/ASPHERE/fix_nve_line.cpp index c145e99fcb..51a502df89 100644 --- a/src/ASPHERE/fix_nve_line.cpp +++ b/src/ASPHERE/fix_nve_line.cpp @@ -81,7 +81,7 @@ void FixNVELine::init() /* ---------------------------------------------------------------------- */ -void FixNVELine::initial_integrate(int vflag) +void FixNVELine::initial_integrate(int /*vflag*/) { double dtfm,dtirotate,length,theta; diff --git a/src/ASPHERE/fix_nve_tri.cpp b/src/ASPHERE/fix_nve_tri.cpp index d06063d905..fb9bf64c58 100644 --- a/src/ASPHERE/fix_nve_tri.cpp +++ b/src/ASPHERE/fix_nve_tri.cpp @@ -75,7 +75,7 @@ void FixNVETri::init() /* ---------------------------------------------------------------------- */ -void FixNVETri::initial_integrate(int vflag) +void FixNVETri::initial_integrate(int /*vflag*/) { double dtfm; double omega[3]; diff --git a/src/BODY/body_nparticle.cpp b/src/BODY/body_nparticle.cpp index 684e5768da..10529ad3af 100644 --- a/src/BODY/body_nparticle.cpp +++ b/src/BODY/body_nparticle.cpp @@ -195,7 +195,7 @@ void BodyNparticle::data_body(int ibonus, int ninteger, int ndouble, called by Molecule class which needs single body size ------------------------------------------------------------------------- */ -double BodyNparticle::radius_body(int ninteger, int ndouble, +double BodyNparticle::radius_body(int /*ninteger*/, int ndouble, int *ifile, double *dfile) { int nsub = ifile[0]; @@ -258,7 +258,7 @@ void BodyNparticle::output(int ibonus, int m, double *values) /* ---------------------------------------------------------------------- */ -int BodyNparticle::image(int ibonus, double flag1, double flag2, +int BodyNparticle::image(int ibonus, double flag1, double /*flag2*/, int *&ivec, double **&darray) { double p[3][3]; diff --git a/src/BODY/body_rounded_polygon.cpp b/src/BODY/body_rounded_polygon.cpp index 1e232f0f3f..00a09c912d 100644 --- a/src/BODY/body_rounded_polygon.cpp +++ b/src/BODY/body_rounded_polygon.cpp @@ -323,7 +323,7 @@ void BodyRoundedPolygon::data_body(int ibonus, int ninteger, int ndouble, called by Molecule class which needs single body size ------------------------------------------------------------------------- */ -double BodyRoundedPolygon::radius_body(int ninteger, int ndouble, +double BodyRoundedPolygon::radius_body(int /*ninteger*/, int ndouble, int *ifile, double *dfile) { int nsub = ifile[0]; @@ -392,7 +392,7 @@ void BodyRoundedPolygon::output(int ibonus, int m, double *values) /* ---------------------------------------------------------------------- */ -int BodyRoundedPolygon::image(int ibonus, double flag1, double flag2, +int BodyRoundedPolygon::image(int ibonus, double flag1, double /*flag2*/, int *&ivec, double **&darray) { int j; diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp index 6a9b97ae23..5ba4bce8e8 100644 --- a/src/BODY/body_rounded_polyhedron.cpp +++ b/src/BODY/body_rounded_polyhedron.cpp @@ -381,7 +381,7 @@ void BodyRoundedPolyhedron::data_body(int ibonus, int ninteger, int ndouble, called by Molecule class which needs single body size ------------------------------------------------------------------------- */ -double BodyRoundedPolyhedron::radius_body(int ninteger, int ndouble, +double BodyRoundedPolyhedron::radius_body(int /*ninteger*/, int ndouble, int *ifile, double *dfile) { int nsub = ifile[0]; @@ -460,7 +460,7 @@ void BodyRoundedPolyhedron::output(int ibonus, int m, double *values) /* ---------------------------------------------------------------------- */ -int BodyRoundedPolyhedron::image(int ibonus, double flag1, double flag2, +int BodyRoundedPolyhedron::image(int ibonus, double flag1, double /*flag2*/, int *&ivec, double **&darray) { int j, nelements; diff --git a/src/BODY/fix_nve_body.cpp b/src/BODY/fix_nve_body.cpp index 0606723cb7..0c74facf34 100644 --- a/src/BODY/fix_nve_body.cpp +++ b/src/BODY/fix_nve_body.cpp @@ -54,7 +54,7 @@ void FixNVEBody::init() /* ---------------------------------------------------------------------- */ -void FixNVEBody::initial_integrate(int vflag) +void FixNVEBody::initial_integrate(int /*vflag*/) { double dtfm; double omega[3]; diff --git a/src/BODY/fix_wall_body_polygon.cpp b/src/BODY/fix_wall_body_polygon.cpp index 0e7aaea1e1..f217db774e 100644 --- a/src/BODY/fix_wall_body_polygon.cpp +++ b/src/BODY/fix_wall_body_polygon.cpp @@ -204,7 +204,7 @@ void FixWallBodyPolygon::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixWallBodyPolygon::post_force(int vflag) +void FixWallBodyPolygon::post_force(int /*vflag*/) { double vwall[3],dx,dy,dz,del1,del2,delxy,delr,rsq,eradi,rradi,wall_pos; int i,ni,npi,ifirst,nei,iefirst,side; @@ -475,7 +475,7 @@ void FixWallBodyPolygon::body2space(int i) int FixWallBodyPolygon::vertex_against_wall(int i, double wall_pos, double** x, double** f, double** torque, int side, - Contact* contact_list, int &num_contacts, double* facc) + Contact* contact_list, int &num_contacts, double* /*facc*/) { int ni, npi, ifirst, interact; double xpi[3], xpj[3], dist, eradi, rradi; diff --git a/src/BODY/fix_wall_body_polyhedron.cpp b/src/BODY/fix_wall_body_polyhedron.cpp index 17e9f0b8b5..b90731acf6 100644 --- a/src/BODY/fix_wall_body_polyhedron.cpp +++ b/src/BODY/fix_wall_body_polyhedron.cpp @@ -211,7 +211,7 @@ void FixWallBodyPolyhedron::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixWallBodyPolyhedron::post_force(int vflag) +void FixWallBodyPolyhedron::post_force(int /*vflag*/) { double vwall[3],dx,dy,dz,del1,del2,delxy,delr,rsq,eradi,rradi,wall_pos; int i,ni,npi,ifirst,nei,iefirst,nfi,iffirst,side; @@ -485,7 +485,7 @@ void FixWallBodyPolyhedron::body2space(int i) ---------------------------------------------------------------------- */ int FixWallBodyPolyhedron::sphere_against_wall(int i, double wall_pos, - int side, double* vwall, double** x, double** v, double** f, + int /*side*/, double* vwall, double** x, double** v, double** f, double** angmom, double** torque) { int mode; @@ -545,8 +545,8 @@ int FixWallBodyPolyhedron::sphere_against_wall(int i, double wall_pos, ---------------------------------------------------------------------- */ int FixWallBodyPolyhedron::edge_against_wall(int i, double wall_pos, - int side, double* vwall, double** x, double** f, double** torque, - Contact* contact_list, int &num_contacts, double* facc) + int side, double* vwall, double** x, double** /*f*/, double** /*torque*/, + Contact* /*contact_list*/, int &/*num_contacts*/, double* /*facc*/) { int ni, nei, mode, contact; double rradi; @@ -584,7 +584,7 @@ int FixWallBodyPolyhedron::edge_against_wall(int i, double wall_pos, int FixWallBodyPolyhedron::compute_distance_to_wall(int ibody, int edge_index, double *xmi, double rounded_radius_i, double wall_pos, - int side, double* vwall, int &contact) + int /*side*/, double* vwall, int &contact) { int mode,ifirst,iefirst,npi1,npi2; double d1,d2,xpi1[3],xpi2[3],hi[3]; @@ -698,7 +698,7 @@ int FixWallBodyPolyhedron::compute_distance_to_wall(int ibody, int edge_index, ------------------------------------------------------------------------- */ void FixWallBodyPolyhedron::contact_forces(int ibody, - double j_a, double *xi, double *xj, double delx, double dely, double delz, + double j_a, double *xi, double */*xj*/, double delx, double dely, double delz, double fx, double fy, double fz, double** x, double** v, double** angmom, double** f, double** torque, double* vwall) { diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 14ef70f476..97d3ad5606 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -598,7 +598,7 @@ void PairBodyRoundedPolygon::body2space(int i) void PairBodyRoundedPolygon::sphere_against_sphere(int i, int j, double delx, double dely, double delz, double rsq, - double k_n, double k_na, double** x, double** v, + double k_n, double k_na, double** /*x*/, double** v, double** f, int evflag) { double eradi,eradj,rradi,rradj; @@ -1166,7 +1166,7 @@ int PairBodyRoundedPolygon::compute_distance_to_vertex(int ibody, void PairBodyRoundedPolygon::contact_forces(Contact& contact, double j_a, double** x, double** v, double** angmom, double** f, - double** torque, double &evdwl, double* facc) + double** torque, double &/*evdwl*/, double* facc) { int ibody,jbody,ibonus,jbonus,ifirst,jefirst,ni,nj; double fx,fy,fz,delx,dely,delz,rsq,rsqinv; diff --git a/src/CLASS2/bond_class2.cpp b/src/CLASS2/bond_class2.cpp index c3dc09715c..af20313e0a 100644 --- a/src/CLASS2/bond_class2.cpp +++ b/src/CLASS2/bond_class2.cpp @@ -209,7 +209,7 @@ void BondClass2::write_data(FILE *fp) /* ---------------------------------------------------------------------- */ -double BondClass2::single(int type, double rsq, int i, int j, double &fforce) +double BondClass2::single(int type, double rsq, int /*i*/, int /*j*/, double &fforce) { double r = sqrt(rsq); double dr = r - r0[type]; diff --git a/src/CLASS2/improper_class2.cpp b/src/CLASS2/improper_class2.cpp index 3b3811584d..77f594af9d 100644 --- a/src/CLASS2/improper_class2.cpp +++ b/src/CLASS2/improper_class2.cpp @@ -633,7 +633,7 @@ void ImproperClass2::read_restart(FILE *fp) angle-angle interactions within improper ------------------------------------------------------------------------- */ -void ImproperClass2::angleangle(int eflag, int vflag) +void ImproperClass2::angleangle(int eflag, int /*vflag*/) { int i1,i2,i3,i4,i,j,k,n,type; double eimproper; diff --git a/src/CLASS2/pair_lj_class2.cpp b/src/CLASS2/pair_lj_class2.cpp index e255807ab6..6451921dc5 100644 --- a/src/CLASS2/pair_lj_class2.cpp +++ b/src/CLASS2/pair_lj_class2.cpp @@ -377,8 +377,8 @@ void PairLJClass2::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairLJClass2::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairLJClass2::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,rinv,r3inv,r6inv,forcelj,philj; diff --git a/src/COLLOID/pair_colloid.cpp b/src/COLLOID/pair_colloid.cpp index 4448d6e110..c16dbf41af 100644 --- a/src/COLLOID/pair_colloid.cpp +++ b/src/COLLOID/pair_colloid.cpp @@ -469,8 +469,8 @@ void PairColloid::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairColloid::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairColloid::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double K[9],h[4],g[4]; diff --git a/src/COLLOID/pair_lubricate.cpp b/src/COLLOID/pair_lubricate.cpp index f0f7ce8c14..fc1fa7acc5 100644 --- a/src/COLLOID/pair_lubricate.cpp +++ b/src/COLLOID/pair_lubricate.cpp @@ -749,7 +749,7 @@ void PairLubricate::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ int PairLubricate::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; @@ -797,7 +797,7 @@ void PairLubricate::unpack_forward_comm(int n, int first, double *buf) if type pair setting, return -2 if no type pairs are set ------------------------------------------------------------------------- */ -int PairLubricate::pre_adapt(char *name, int ilo, int ihi, int jlo, int jhi) +int PairLubricate::pre_adapt(char *name, int /*ilo*/, int /*ihi*/, int /*jlo*/, int /*jhi*/) { if (strcmp(name,"mu") == 0) return 0; return -1; @@ -809,7 +809,7 @@ int PairLubricate::pre_adapt(char *name, int ilo, int ihi, int jlo, int jhi) if type pair setting, set I-J and J-I coeffs ------------------------------------------------------------------------- */ -void PairLubricate::adapt(int which, int ilo, int ihi, int jlo, int jhi, +void PairLubricate::adapt(int /*which*/, int /*ilo*/, int /*ihi*/, int /*jlo*/, int /*jhi*/, double value) { mu = value; diff --git a/src/COLLOID/pair_lubricateU.cpp b/src/COLLOID/pair_lubricateU.cpp index 11fb213157..2d51f2e2b6 100644 --- a/src/COLLOID/pair_lubricateU.cpp +++ b/src/COLLOID/pair_lubricateU.cpp @@ -2010,7 +2010,7 @@ void PairLubricateU::copy_uo_vec(int inum, double **f, double **torque, /* ---------------------------------------------------------------------- */ int PairLubricateU::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/COLLOID/pair_yukawa_colloid.cpp b/src/COLLOID/pair_yukawa_colloid.cpp index 5965fd3aa8..d21bc43524 100644 --- a/src/COLLOID/pair_yukawa_colloid.cpp +++ b/src/COLLOID/pair_yukawa_colloid.cpp @@ -160,9 +160,9 @@ double PairYukawaColloid::init_one(int i, int j) /* ---------------------------------------------------------------------- */ -double PairYukawaColloid::single(int i, int j, int itype, int jtype, +double PairYukawaColloid::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, + double /*factor_coul*/, double factor_lj, double &fforce) { double r,rinv,screening,forceyukawa,phi; diff --git a/src/KSPACE/pair_coul_long.cpp b/src/KSPACE/pair_coul_long.cpp index 4b10782ee6..8db5979b39 100644 --- a/src/KSPACE/pair_coul_long.cpp +++ b/src/KSPACE/pair_coul_long.cpp @@ -338,9 +338,9 @@ void PairCoulLong::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairCoulLong::single(int i, int j, int itype, int jtype, +double PairCoulLong::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq, - double factor_coul, double factor_lj, + double factor_coul, double /*factor_lj*/, double &fforce) { double r2inv,r,grij,expm2,t,erfc,prefactor; diff --git a/src/KSPACE/pair_coul_msm.cpp b/src/KSPACE/pair_coul_msm.cpp index f5cd9a0445..ab59dfa4c1 100644 --- a/src/KSPACE/pair_coul_msm.cpp +++ b/src/KSPACE/pair_coul_msm.cpp @@ -169,9 +169,9 @@ void PairCoulMSM::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -double PairCoulMSM::single(int i, int j, int itype, int jtype, +double PairCoulMSM::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq, - double factor_coul, double factor_lj, + double factor_coul, double /*factor_lj*/, double &fforce) { double r2inv,r,egamma,fgamma,prefactor; diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index aea57da326..b8cd52c5fe 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -8052,7 +8052,7 @@ void PPPMDisp::compute_rho_coeff(FFT_SCALAR **coeff , FFT_SCALAR **dcoeff, extended to non-neutral systems (J. Chem. Phys. 131, 094107). ------------------------------------------------------------------------- */ -void PPPMDisp::slabcorr(int eflag) +void PPPMDisp::slabcorr(int /*eflag*/) { // compute local contribution to global dipole moment diff --git a/src/KSPACE/remap.cpp b/src/KSPACE/remap.cpp index 81dd692f4f..26541f121e 100644 --- a/src/KSPACE/remap.cpp +++ b/src/KSPACE/remap.cpp @@ -234,7 +234,7 @@ struct remap_plan_3d *remap_3d_create_plan( int in_klo, int in_khi, int out_ilo, int out_ihi, int out_jlo, int out_jhi, int out_klo, int out_khi, - int nqty, int permute, int memory, int precision, int usecollective) + int nqty, int permute, int memory, int /*precision*/, int usecollective) { diff --git a/src/LATTE/fix_latte.cpp b/src/LATTE/fix_latte.cpp index 18502dd013..c9dd0465f8 100644 --- a/src/LATTE/fix_latte.cpp +++ b/src/LATTE/fix_latte.cpp @@ -189,7 +189,7 @@ void FixLatte::init() /* ---------------------------------------------------------------------- */ -void FixLatte::init_list(int id, NeighList *ptr) +void FixLatte::init_list(int /*id*/, NeighList */*ptr*/) { // list = ptr; } @@ -223,13 +223,13 @@ void FixLatte::setup_pre_reverse(int eflag, int vflag) integrate electronic degrees of freedom ------------------------------------------------------------------------- */ -void FixLatte::initial_integrate(int vflag) {} +void FixLatte::initial_integrate(int /*vflag*/) {} /* ---------------------------------------------------------------------- store eflag, so can use it in post_force to tally per-atom energies ------------------------------------------------------------------------- */ -void FixLatte::pre_reverse(int eflag, int vflag) +void FixLatte::pre_reverse(int eflag, int /*vflag*/) { eflag_caller = eflag; } diff --git a/src/MANYBODY/fix_qeq_comb.cpp b/src/MANYBODY/fix_qeq_comb.cpp index b8d9c7e6df..61bf9bf11c 100644 --- a/src/MANYBODY/fix_qeq_comb.cpp +++ b/src/MANYBODY/fix_qeq_comb.cpp @@ -159,7 +159,7 @@ void FixQEQComb::min_post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixQEQComb::post_force(int vflag) +void FixQEQComb::post_force(int /*vflag*/) { int i,ii,iloop,loopmax,inum,*ilist; double heatpq,qmass,dtq,dtq2; @@ -276,7 +276,7 @@ void FixQEQComb::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixQEQComb::post_force_respa(int vflag, int ilevel, int iloop) +void FixQEQComb::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } @@ -293,7 +293,7 @@ double FixQEQComb::memory_usage() /* ---------------------------------------------------------------------- */ int FixQEQComb::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_adp.cpp b/src/MANYBODY/pair_adp.cpp index d0b4d19758..fd496fcae6 100644 --- a/src/MANYBODY/pair_adp.cpp +++ b/src/MANYBODY/pair_adp.cpp @@ -424,7 +424,7 @@ void PairADP::allocate() global settings ------------------------------------------------------------------------- */ -void PairADP::settings(int narg, char **arg) +void PairADP::settings(int narg, char **/*arg*/) { if (narg > 0) error->all(FLERR,"Illegal pair_style command"); } @@ -521,7 +521,7 @@ void PairADP::init_style() init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairADP::init_one(int i, int j) +double PairADP::init_one(int /*i*/, int /*j*/) { // single global cutoff = max of cut from all files read in // for funcfl could be multiple files @@ -935,7 +935,7 @@ void PairADP::grab(FILE *fp, int n, double *list) /* ---------------------------------------------------------------------- */ int PairADP::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp index 3be27354c1..ac3ed36a83 100644 --- a/src/MANYBODY/pair_airebo.cpp +++ b/src/MANYBODY/pair_airebo.cpp @@ -425,7 +425,7 @@ void PairAIREBO::REBO_neigh() REBO forces and energy ------------------------------------------------------------------------- */ -void PairAIREBO::FREBO(int eflag, int vflag) +void PairAIREBO::FREBO(int eflag, int /*vflag*/) { int i,j,k,m,ii,inum,itype,jtype; tagint itag,jtag; @@ -524,7 +524,7 @@ void PairAIREBO::FREBO(int eflag, int vflag) find 3- and 4-step paths between atoms I,J via REBO neighbor lists ------------------------------------------------------------------------- */ -void PairAIREBO::FLJ(int eflag, int vflag) +void PairAIREBO::FLJ(int eflag, int /*vflag*/) { int i,j,k,m,ii,jj,kk,mm,inum,jnum,itype,jtype,ktype,mtype; int atomi,atomj,atomk,atomm; @@ -893,7 +893,7 @@ void PairAIREBO::FLJ(int eflag, int vflag) torsional forces and energy ------------------------------------------------------------------------- */ -void PairAIREBO::TORSION(int eflag, int vflag) +void PairAIREBO::TORSION(int eflag, int /*vflag*/) { int i,j,k,l,ii,inum; tagint itag,jtag; @@ -2116,7 +2116,7 @@ but of the vector r_ij. */ -double PairAIREBO::bondorderLJ(int i, int j, double rij_mod[3], double rijmag_mod, +double PairAIREBO::bondorderLJ(int i, int j, double /*rij_mod*/[3], double rijmag_mod, double VA, double rij[3], double rijmag, double **f, int vflag_atom) { diff --git a/src/MANYBODY/pair_comb.cpp b/src/MANYBODY/pair_comb.cpp index de686d4bcf..b205fc46d3 100644 --- a/src/MANYBODY/pair_comb.cpp +++ b/src/MANYBODY/pair_comb.cpp @@ -432,7 +432,7 @@ void PairComb::allocate() global settings ------------------------------------------------------------------------- */ -void PairComb::settings(int narg, char **arg) +void PairComb::settings(int narg, char **/*arg*/) { if (narg > 0) error->all(FLERR,"Illegal pair_style command"); } @@ -1542,7 +1542,7 @@ void PairComb::potal_calc(double &calc1, double &calc2, double &calc3) void PairComb::tri_point(double rsq, int &mr1, int &mr2, int &mr3, double &sr1, double &sr2, - double &sr3, int &itype) + double &sr3, int &/*itype*/) { double r, rin, dr, dd, rr1, rridr, rridr2; @@ -1572,7 +1572,7 @@ void PairComb::tri_point(double rsq, int &mr1, int &mr2, void PairComb::direct(int inty, int mr1, int mr2, int mr3, double rsq, double sr1, double sr2, double sr3, double iq, double jq, - double potal, double fac11, double fac11e, + double /*potal*/, double fac11, double fac11e, double &pot_tmp, double &pot_d) { double r,erfcc,fafbn1,potij,sme2,esucon; @@ -2002,7 +2002,7 @@ void PairComb::Over_cor(Param *param, double rsq1, int NCoi, /* ---------------------------------------------------------------------- */ int PairComb::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_comb3.cpp b/src/MANYBODY/pair_comb3.cpp index b4f9c02206..54fd13029b 100644 --- a/src/MANYBODY/pair_comb3.cpp +++ b/src/MANYBODY/pair_comb3.cpp @@ -1569,7 +1569,7 @@ void PairComb3::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ void PairComb3::repulsive(Param *parami, Param *paramj, double rsq, - double &fforce,int eflag, double &eng, double iq, double jq) + double &fforce,int /*eflag*/, double &eng, double iq, double jq) { double r,tmp_fc,tmp_fc_d,Di,Dj; double caj,vrcs,fvrcs; @@ -1614,7 +1614,7 @@ void PairComb3::repulsive(Param *parami, Param *paramj, double rsq, /* ---------------------------------------------------------------------- */ double PairComb3::zeta(Param *parami, Param *paramj, double rsqij, - double rsqik, double *delrij, double *delrik, int i, double xcn) + double rsqik, double *delrij, double *delrik, int /*i*/, double xcn) { double rij,rik,costheta,arg,ex_delr,rlm3; @@ -1661,7 +1661,7 @@ void PairComb3::selfp6p(Param *parami, Param *paramj, double rsq, /* ---------------------------------------------------------------------- */ double PairComb3::ep6p(Param *paramj, Param *paramk, double rsqij, double rsqik, - double *delrij, double *delrik , double &zet_add) + double *delrij, double *delrik , double &/*zet_add*/) { double comtt; double pplp0 = paramj->p6p0; @@ -2109,7 +2109,7 @@ void PairComb3::coord(Param *param, double r, int i, void PairComb3::cntri_int(int tri_flag, double xval, double yval, double zval, int ixmin, int iymin, int izmin, double &vval, - double &dvalx, double &dvaly, double &dvalz, Param *param) + double &dvalx, double &dvaly, double &dvalz, Param */*param*/) { double x; vval = 0.0; dvalx = 0.0; dvaly = 0.0; dvalz = 0.0; @@ -2254,7 +2254,7 @@ void PairComb3::comb_gijk_d(double costheta, Param *param, double nco_tmp, void PairComb3::attractive(Param *parami, Param *paramj , Param *paramk, double prefac_ij1, double prefac_ij2, double prefac_ij3, double prefac_ij4, double prefac_ij5, double rsqij, double rsqik, double *delrij, - double *delrik, double *fi, double *fj,double *fk, int i, double xcn) + double *delrik, double *fi, double *fj,double *fk, int /*i*/, double xcn) { double rij_hat[3],rik_hat[3]; double rij,rijinv,rik,rikinv; @@ -2867,7 +2867,7 @@ void PairComb3::field(Param *parami, Param *paramj, double rsq, double iq, /* ---------------------------------------------------------------------- */ -double PairComb3::rad_init(double rsq2,Param *param,int i, +double PairComb3::rad_init(double rsq2,Param *param,int /*i*/, double &radtot, double cnconj) { double r, fc1k, radcut; @@ -2882,7 +2882,7 @@ double PairComb3::rad_init(double rsq2,Param *param,int i, /* ---------------------------------------------------------------------- */ void PairComb3::rad_calc(double r, Param *parami, Param *paramj, - double kconjug, double lconjug, int i, int j, double xcn, double ycn) + double kconjug, double lconjug, int /*i*/, int /*j*/, double xcn, double ycn) { int ixmin, iymin, izmin; int radindx; @@ -3061,7 +3061,7 @@ double PairComb3::bbtor1(int torindx, Param *paramk, Param *paraml, /* ---------------------------------------------------------------------- */ void PairComb3::tor_calc(double r, Param *parami, Param *paramj, - double kconjug, double lconjug, int i, int j, double xcn, double ycn) + double kconjug, double lconjug, int /*i*/, int /*j*/, double xcn, double ycn) { int ixmin, iymin, izmin; double vtor, dtorx, dtory, dtorz; @@ -3589,7 +3589,7 @@ void PairComb3::qfo_dipole(double fac11, int mr1, int mr2, int mr3, void PairComb3::qfo_short(Param *parami, Param *paramj, double rsq, double iq, double jq, double &fqij, double &fqji, - int i, int j, int nj) + int i, int /*j*/, int nj) { double r, tmp_fc; double Di, Dj, dDi, dDj, Bsi, Bsj, dBsi, dBsj; @@ -3863,7 +3863,7 @@ double PairComb3::switching_d(double rr) /* ---------------------------------------------------------------------- */ int PairComb3::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_eam.cpp b/src/MANYBODY/pair_eam.cpp index 9e70b19eea..a861f33824 100644 --- a/src/MANYBODY/pair_eam.cpp +++ b/src/MANYBODY/pair_eam.cpp @@ -347,7 +347,7 @@ void PairEAM::allocate() global settings ------------------------------------------------------------------------- */ -void PairEAM::settings(int narg, char **arg) +void PairEAM::settings(int narg, char **/*arg*/) { if (narg > 0) error->all(FLERR,"Illegal pair_style command"); } @@ -795,7 +795,7 @@ void PairEAM::grab(FILE *fptr, int n, double *list) /* ---------------------------------------------------------------------- */ double PairEAM::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, + double rsq, double /*factor_coul*/, double /*factor_lj*/, double &fforce) { int m; @@ -829,7 +829,7 @@ double PairEAM::single(int i, int j, int itype, int jtype, /* ---------------------------------------------------------------------- */ int PairEAM::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_eam_cd.cpp b/src/MANYBODY/pair_eam_cd.cpp index 66ebad6244..9b8fd29465 100644 --- a/src/MANYBODY/pair_eam_cd.cpp +++ b/src/MANYBODY/pair_eam_cd.cpp @@ -539,7 +539,7 @@ void PairEAMCD::read_h_coeff(char *filename) /* ---------------------------------------------------------------------- */ int PairEAMCD::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_eim.cpp b/src/MANYBODY/pair_eim.cpp index b810d444fc..cc35004778 100644 --- a/src/MANYBODY/pair_eim.cpp +++ b/src/MANYBODY/pair_eim.cpp @@ -342,7 +342,7 @@ void PairEIM::allocate() global settings ------------------------------------------------------------------------- */ -void PairEIM::settings(int narg, char **arg) +void PairEIM::settings(int narg, char **/*arg*/) { if (narg > 0) error->all(FLERR,"Illegal pair_style command"); } @@ -850,7 +850,7 @@ void PairEIM::array2spline() /* ---------------------------------------------------------------------- */ void PairEIM::interpolate(int n, double delta, double *f, - double **spline, double origin) + double **spline, double /*origin*/) { for (int m = 1; m <= n; m++) spline[m][6] = f[m]; @@ -1087,7 +1087,7 @@ double PairEIM::funccoul(int i, int j, double r) /* ---------------------------------------------------------------------- */ int PairEIM::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_gw.cpp b/src/MANYBODY/pair_gw.cpp index 35f092b580..0aff4970bb 100644 --- a/src/MANYBODY/pair_gw.cpp +++ b/src/MANYBODY/pair_gw.cpp @@ -257,7 +257,7 @@ void PairGW::allocate() global settings ------------------------------------------------------------------------- */ -void PairGW::settings(int narg, char **arg) +void PairGW::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } diff --git a/src/MANYBODY/pair_lcbop.cpp b/src/MANYBODY/pair_lcbop.cpp index d334defcc6..57373c4f85 100644 --- a/src/MANYBODY/pair_lcbop.cpp +++ b/src/MANYBODY/pair_lcbop.cpp @@ -121,7 +121,7 @@ void PairLCBOP::allocate() global settings ------------------------------------------------------------------------- */ -void PairLCBOP::settings(int narg, char **arg) { +void PairLCBOP::settings(int narg, char **/*arg*/) { if( narg != 0 ) error->all(FLERR,"Illegal pair_style command"); } @@ -353,7 +353,7 @@ void PairLCBOP::SR_neigh() Short range forces and energy ------------------------------------------------------------------------- */ -void PairLCBOP::FSR(int eflag, int vflag) +void PairLCBOP::FSR(int eflag, int /*vflag*/) { int i,j,jj,ii,inum; tagint itag,jtag; @@ -449,7 +449,7 @@ void PairLCBOP::FSR(int eflag, int vflag) compute long range forces and energy ------------------------------------------------------------------------- */ -void PairLCBOP::FLR(int eflag, int vflag) +void PairLCBOP::FLR(int eflag, int /*vflag*/) { int i,j,jj,ii; tagint itag,jtag; diff --git a/src/MANYBODY/pair_nb3b_harmonic.cpp b/src/MANYBODY/pair_nb3b_harmonic.cpp index 36be9c2b90..a09f8a23e6 100644 --- a/src/MANYBODY/pair_nb3b_harmonic.cpp +++ b/src/MANYBODY/pair_nb3b_harmonic.cpp @@ -174,7 +174,7 @@ void PairNb3bHarmonic::allocate() global settings ------------------------------------------------------------------------- */ -void PairNb3bHarmonic::settings(int narg, char **arg) +void PairNb3bHarmonic::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } @@ -454,7 +454,7 @@ void PairNb3bHarmonic::setup_params() /* ---------------------------------------------------------------------- */ -void PairNb3bHarmonic::threebody(Param *paramij, Param *paramik, +void PairNb3bHarmonic::threebody(Param */*paramij*/, Param */*paramik*/, Param *paramijk, double rsq1, double rsq2, double *delr1, double *delr2, diff --git a/src/MANYBODY/pair_polymorphic.cpp b/src/MANYBODY/pair_polymorphic.cpp index 2afb08b7a1..ce9af66d30 100644 --- a/src/MANYBODY/pair_polymorphic.cpp +++ b/src/MANYBODY/pair_polymorphic.cpp @@ -450,7 +450,7 @@ void PairPolymorphic::allocate() global settings ------------------------------------------------------------------------- */ -void PairPolymorphic::settings(int narg, char **arg) +void PairPolymorphic::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } diff --git a/src/MANYBODY/pair_rebo.cpp b/src/MANYBODY/pair_rebo.cpp index 37948f3038..1f31c0b0cd 100644 --- a/src/MANYBODY/pair_rebo.cpp +++ b/src/MANYBODY/pair_rebo.cpp @@ -24,7 +24,7 @@ PairREBO::PairREBO(LAMMPS *lmp) : PairAIREBO(lmp) {} global settings ------------------------------------------------------------------------- */ -void PairREBO::settings(int narg, char **arg) +void PairREBO::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); diff --git a/src/MANYBODY/pair_sw.cpp b/src/MANYBODY/pair_sw.cpp index 6fbc00204c..da470d568a 100644 --- a/src/MANYBODY/pair_sw.cpp +++ b/src/MANYBODY/pair_sw.cpp @@ -239,7 +239,7 @@ void PairSW::allocate() global settings ------------------------------------------------------------------------- */ -void PairSW::settings(int narg, char **arg) +void PairSW::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } diff --git a/src/MANYBODY/pair_tersoff.cpp b/src/MANYBODY/pair_tersoff.cpp index 507b07e29a..45068e5c2e 100644 --- a/src/MANYBODY/pair_tersoff.cpp +++ b/src/MANYBODY/pair_tersoff.cpp @@ -280,7 +280,7 @@ void PairTersoff::allocate() global settings ------------------------------------------------------------------------- */ -void PairTersoff::settings(int narg, char **arg) +void PairTersoff::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } diff --git a/src/MANYBODY/pair_vashishta.cpp b/src/MANYBODY/pair_vashishta.cpp index 8506c9a69f..54b184ea39 100644 --- a/src/MANYBODY/pair_vashishta.cpp +++ b/src/MANYBODY/pair_vashishta.cpp @@ -245,7 +245,7 @@ void PairVashishta::allocate() global settings ------------------------------------------------------------------------- */ -void PairVashishta::settings(int narg, char **arg) +void PairVashishta::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } diff --git a/src/MC/fix_atom_swap.cpp b/src/MC/fix_atom_swap.cpp index 4d9377022b..b795b71273 100644 --- a/src/MC/fix_atom_swap.cpp +++ b/src/MC/fix_atom_swap.cpp @@ -695,7 +695,7 @@ void FixAtomSwap::update_swap_atoms_list() /* ---------------------------------------------------------------------- */ -int FixAtomSwap::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) +int FixAtomSwap::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/MC/fix_bond_break.cpp b/src/MC/fix_bond_break.cpp index 9a5b59b601..203d6b589b 100644 --- a/src/MC/fix_bond_break.cpp +++ b/src/MC/fix_bond_break.cpp @@ -693,7 +693,7 @@ int FixBondBreak::dedup(int nstart, int nstop, tagint *copy) /* ---------------------------------------------------------------------- */ -void FixBondBreak::post_integrate_respa(int ilevel, int iloop) +void FixBondBreak::post_integrate_respa(int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_integrate(); } @@ -701,7 +701,7 @@ void FixBondBreak::post_integrate_respa(int ilevel, int iloop) /* ---------------------------------------------------------------------- */ int FixBondBreak::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,k,m,ns; diff --git a/src/MC/fix_bond_create.cpp b/src/MC/fix_bond_create.cpp index 8e9db6a18b..17ea7fb3f2 100644 --- a/src/MC/fix_bond_create.cpp +++ b/src/MC/fix_bond_create.cpp @@ -258,14 +258,14 @@ void FixBondCreate::init() /* ---------------------------------------------------------------------- */ -void FixBondCreate::init_list(int id, NeighList *ptr) +void FixBondCreate::init_list(int /*id*/, NeighList *ptr) { list = ptr; } /* ---------------------------------------------------------------------- */ -void FixBondCreate::setup(int vflag) +void FixBondCreate::setup(int /*vflag*/) { int i,j,m; @@ -1206,7 +1206,7 @@ int FixBondCreate::dedup(int nstart, int nstop, tagint *copy) /* ---------------------------------------------------------------------- */ -void FixBondCreate::post_integrate_respa(int ilevel, int iloop) +void FixBondCreate::post_integrate_respa(int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_integrate(); } @@ -1214,7 +1214,7 @@ void FixBondCreate::post_integrate_respa(int ilevel, int iloop) /* ---------------------------------------------------------------------- */ int FixBondCreate::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,k,m,ns; @@ -1347,7 +1347,7 @@ void FixBondCreate::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixBondCreate::copy_arrays(int i, int j, int delflag) +void FixBondCreate::copy_arrays(int i, int j, int /*delflag*/) { bondcount[j] = bondcount[i]; } diff --git a/src/MC/fix_bond_swap.cpp b/src/MC/fix_bond_swap.cpp index d6df4d9a96..9a72667907 100644 --- a/src/MC/fix_bond_swap.cpp +++ b/src/MC/fix_bond_swap.cpp @@ -182,7 +182,7 @@ void FixBondSwap::init() /* ---------------------------------------------------------------------- */ -void FixBondSwap::init_list(int id, NeighList *ptr) +void FixBondSwap::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/MC/fix_tfmc.cpp b/src/MC/fix_tfmc.cpp index b821710353..46c5e592ae 100644 --- a/src/MC/fix_tfmc.cpp +++ b/src/MC/fix_tfmc.cpp @@ -158,7 +158,7 @@ void FixTFMC::init() /* ---------------------------------------------------------------------- */ -void FixTFMC::initial_integrate(int vflag) +void FixTFMC::initial_integrate(int /*vflag*/) { double boltz = force->boltz; double **x = atom->x; diff --git a/src/MC/pair_dsmc.cpp b/src/MC/pair_dsmc.cpp index 02f9754c2a..c71eaa2295 100644 --- a/src/MC/pair_dsmc.cpp +++ b/src/MC/pair_dsmc.cpp @@ -65,7 +65,7 @@ PairDSMC::~PairDSMC() /* ---------------------------------------------------------------------- */ -void PairDSMC::compute(int eflag, int vflag) +void PairDSMC::compute(int /*eflag*/, int /*vflag*/) { double **x = atom->x; double *mass = atom->mass; @@ -405,7 +405,7 @@ void PairDSMC::read_restart_settings(FILE *fp) the next nrezero timesteps -------------------------------------------------------------------------*/ -void PairDSMC::recompute_V_sigma_max(int icell) +void PairDSMC::recompute_V_sigma_max(int /*icell*/) { int i,j,k; double Vsigma_max = 0; @@ -459,7 +459,7 @@ double PairDSMC::V_sigma(int i, int j) generate new velocities for collided particles -------------------------------------------------------------------------*/ -void PairDSMC::scatter_random(int i, int j, int icell) +void PairDSMC::scatter_random(int i, int j, int /*icell*/) { double mag_delv,cos_phi,cos_squared,r,theta; double delv[3],vcm[3]; diff --git a/src/MEAM/pair_meam.cpp b/src/MEAM/pair_meam.cpp index 687055aa6a..41f1f4ce37 100644 --- a/src/MEAM/pair_meam.cpp +++ b/src/MEAM/pair_meam.cpp @@ -325,7 +325,7 @@ void PairMEAM::allocate() global settings ------------------------------------------------------------------------- */ -void PairMEAM::settings(int narg, char **arg) +void PairMEAM::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } @@ -448,7 +448,7 @@ void PairMEAM::init_list(int id, NeighList *ptr) init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairMEAM::init_one(int i, int j) +double PairMEAM::init_one(int /*i*/, int /*j*/) { return cutmax; } @@ -734,7 +734,7 @@ void PairMEAM::read_files(char *globalfile, char *userfile) /* ---------------------------------------------------------------------- */ int PairMEAM::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,k,m; diff --git a/src/MISC/fix_efield.cpp b/src/MISC/fix_efield.cpp index 1fa141e2bf..004c8ad7bc 100644 --- a/src/MISC/fix_efield.cpp +++ b/src/MISC/fix_efield.cpp @@ -412,7 +412,7 @@ void FixEfield::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixEfield::post_force_respa(int vflag, int ilevel, int iloop) +void FixEfield::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/MISC/fix_gld.cpp b/src/MISC/fix_gld.cpp index 370730133e..2bf02889a5 100644 --- a/src/MISC/fix_gld.cpp +++ b/src/MISC/fix_gld.cpp @@ -217,7 +217,7 @@ void FixGLD::init() First half of a timestep (V^{n} -> V^{n+1/2}; X^{n} -> X^{n+1}) ------------------------------------------------------------------------- */ -void FixGLD::initial_integrate(int vflag) +void FixGLD::initial_integrate(int /*vflag*/) { double dtfm; double ftm2v = force->ftm2v; @@ -444,7 +444,7 @@ void FixGLD::final_integrate() /* ---------------------------------------------------------------------- */ -void FixGLD::initial_integrate_respa(int vflag, int ilevel, int iloop) +void FixGLD::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/) { dtv = step_respa[ilevel]; dtf = 0.5 * step_respa[ilevel] * (force->ftm2v); @@ -458,7 +458,7 @@ void FixGLD::initial_integrate_respa(int vflag, int ilevel, int iloop) /* ---------------------------------------------------------------------- */ -void FixGLD::final_integrate_respa(int ilevel, int iloop) +void FixGLD::final_integrate_respa(int ilevel, int /*iloop*/) { dtf = 0.5 * step_respa[ilevel] * (force->ftm2v); final_integrate(); @@ -507,7 +507,7 @@ void FixGLD::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixGLD::copy_arrays(int i, int j, int delflag) +void FixGLD::copy_arrays(int i, int j, int /*delflag*/) { for (int k = 0; k < 3*prony_terms; k++) { s_gld[j][k] = s_gld[i][k]; @@ -588,7 +588,7 @@ void FixGLD::unpack_restart(int nlocal, int nth) fixes on a given processor. ------------------------------------------------------------------------- */ -int FixGLD::size_restart(int nlocal) +int FixGLD::size_restart(int /*nlocal*/) { return 3*prony_terms+1; } diff --git a/src/MISC/fix_orient_bcc.cpp b/src/MISC/fix_orient_bcc.cpp index c5ba6514a9..9b22e571fe 100644 --- a/src/MISC/fix_orient_bcc.cpp +++ b/src/MISC/fix_orient_bcc.cpp @@ -230,7 +230,7 @@ void FixOrientBCC::init() /* ---------------------------------------------------------------------- */ -void FixOrientBCC::init_list(int id, NeighList *ptr) +void FixOrientBCC::init_list(int /*id*/, NeighList *ptr) { list = ptr; } @@ -250,7 +250,7 @@ void FixOrientBCC::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixOrientBCC::post_force(int vflag) +void FixOrientBCC::post_force(int /*vflag*/) { int i,j,k,ii,jj,inum,jnum,m,n,nn,nsort; tagint id_self; @@ -471,7 +471,7 @@ void FixOrientBCC::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixOrientBCC::post_force_respa(int vflag, int ilevel, int iloop) +void FixOrientBCC::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } @@ -488,7 +488,7 @@ double FixOrientBCC::compute_scalar() /* ---------------------------------------------------------------------- */ int FixOrientBCC::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,k,num; tagint id; diff --git a/src/MISC/fix_orient_fcc.cpp b/src/MISC/fix_orient_fcc.cpp index 5786571a89..b061627fd8 100644 --- a/src/MISC/fix_orient_fcc.cpp +++ b/src/MISC/fix_orient_fcc.cpp @@ -228,7 +228,7 @@ void FixOrientFCC::init() /* ---------------------------------------------------------------------- */ -void FixOrientFCC::init_list(int id, NeighList *ptr) +void FixOrientFCC::init_list(int /*id*/, NeighList *ptr) { list = ptr; } @@ -248,7 +248,7 @@ void FixOrientFCC::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixOrientFCC::post_force(int vflag) +void FixOrientFCC::post_force(int /*vflag*/) { int i,j,k,ii,jj,inum,jnum,m,n,nn,nsort; tagint id_self; @@ -469,7 +469,7 @@ void FixOrientFCC::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixOrientFCC::post_force_respa(int vflag, int ilevel, int iloop) +void FixOrientFCC::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } @@ -486,7 +486,7 @@ double FixOrientFCC::compute_scalar() /* ---------------------------------------------------------------------- */ int FixOrientFCC::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,k,num; tagint id; diff --git a/src/MISC/fix_ttm.cpp b/src/MISC/fix_ttm.cpp index 7ffd979e50..c8f33c73b7 100644 --- a/src/MISC/fix_ttm.cpp +++ b/src/MISC/fix_ttm.cpp @@ -235,7 +235,7 @@ void FixTTM::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixTTM::post_force(int vflag) +void FixTTM::post_force(int /*vflag*/) { double **x = atom->x; double **v = atom->v; @@ -287,7 +287,7 @@ void FixTTM::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixTTM::post_force_setup(int vflag) +void FixTTM::post_force_setup(int /*vflag*/) { double **f = atom->f; int *mask = atom->mask; @@ -306,14 +306,14 @@ void FixTTM::post_force_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixTTM::post_force_respa(int vflag, int ilevel, int iloop) +void FixTTM::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_force(vflag); } /* ---------------------------------------------------------------------- */ -void FixTTM::post_force_respa_setup(int vflag, int ilevel, int iloop) +void FixTTM::post_force_respa_setup(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_force_setup(vflag); } @@ -685,7 +685,7 @@ int FixTTM::maxsize_restart() size of atom nlocal's restart data ------------------------------------------------------------------------- */ -int FixTTM::size_restart(int nlocal) +int FixTTM::size_restart(int /*nlocal*/) { return 4; } diff --git a/src/MISC/pair_nm_cut.cpp b/src/MISC/pair_nm_cut.cpp index a778d7a5b6..ce077a7a04 100644 --- a/src/MISC/pair_nm_cut.cpp +++ b/src/MISC/pair_nm_cut.cpp @@ -401,8 +401,8 @@ void PairNMCut::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairNMCut::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, +double PairNMCut::single(int /*i*/, int /*j*/, int itype, int jtype, + double rsq, double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,r,forcenm,phinm; diff --git a/src/MISC/xdr_compat.cpp b/src/MISC/xdr_compat.cpp index 3987aa02fc..c67925d92a 100644 --- a/src/MISC/xdr_compat.cpp +++ b/src/MISC/xdr_compat.cpp @@ -650,7 +650,7 @@ xdrstdio_setpos (XDR *xdrs, unsigned int pos) } static xdr_int32_t * -xdrstdio_inline (XDR *xdrs, int len) +xdrstdio_inline (XDR */*xdrs*/, int /*len*/) { /* * Must do some work to implement this: must insure diff --git a/src/MOLECULE/angle_cosine.cpp b/src/MOLECULE/angle_cosine.cpp index e3472dfd7a..7fb7ce4c27 100644 --- a/src/MOLECULE/angle_cosine.cpp +++ b/src/MOLECULE/angle_cosine.cpp @@ -172,7 +172,7 @@ void AngleCosine::coeff(int narg, char **arg) /* ---------------------------------------------------------------------- */ -double AngleCosine::equilibrium_angle(int i) +double AngleCosine::equilibrium_angle(int /*i*/) { return MY_PI; } diff --git a/src/MOLECULE/angle_cosine_periodic.cpp b/src/MOLECULE/angle_cosine_periodic.cpp index 4e620b436e..e8dd970b3b 100644 --- a/src/MOLECULE/angle_cosine_periodic.cpp +++ b/src/MOLECULE/angle_cosine_periodic.cpp @@ -222,7 +222,7 @@ void AngleCosinePeriodic::coeff(int narg, char **arg) /* ---------------------------------------------------------------------- */ -double AngleCosinePeriodic::equilibrium_angle(int i) +double AngleCosinePeriodic::equilibrium_angle(int /*i*/) { return MY_PI; } diff --git a/src/MOLECULE/bond_fene.cpp b/src/MOLECULE/bond_fene.cpp index b6da72bfaf..671290b0ad 100644 --- a/src/MOLECULE/bond_fene.cpp +++ b/src/MOLECULE/bond_fene.cpp @@ -242,7 +242,7 @@ void BondFENE::write_data(FILE *fp) /* ---------------------------------------------------------------------- */ -double BondFENE::single(int type, double rsq, int i, int j, +double BondFENE::single(int type, double rsq, int /*i*/, int /*j*/, double &fforce) { double r0sq = r0[type] * r0[type]; diff --git a/src/MOLECULE/bond_fene_expand.cpp b/src/MOLECULE/bond_fene_expand.cpp index 26b699d7bf..3e191683fb 100644 --- a/src/MOLECULE/bond_fene_expand.cpp +++ b/src/MOLECULE/bond_fene_expand.cpp @@ -253,7 +253,7 @@ void BondFENEExpand::write_data(FILE *fp) /* ---------------------------------------------------------------------- */ -double BondFENEExpand::single(int type, double rsq, int i, int j, +double BondFENEExpand::single(int type, double rsq, int /*i*/, int /*j*/, double &fforce) { double r = sqrt(rsq); diff --git a/src/MOLECULE/bond_gromos.cpp b/src/MOLECULE/bond_gromos.cpp index 8e989259af..279f4fb2d4 100644 --- a/src/MOLECULE/bond_gromos.cpp +++ b/src/MOLECULE/bond_gromos.cpp @@ -190,7 +190,7 @@ void BondGromos::write_data(FILE *fp) /* ---------------------------------------------------------------------- */ -double BondGromos::single(int type, double rsq, int i, int j, +double BondGromos::single(int type, double rsq, int /*i*/, int /*j*/, double &fforce) { double dr = rsq - r0[type]*r0[type]; diff --git a/src/MOLECULE/bond_harmonic.cpp b/src/MOLECULE/bond_harmonic.cpp index e7f510d2de..f795610b37 100644 --- a/src/MOLECULE/bond_harmonic.cpp +++ b/src/MOLECULE/bond_harmonic.cpp @@ -190,7 +190,7 @@ void BondHarmonic::write_data(FILE *fp) /* ---------------------------------------------------------------------- */ -double BondHarmonic::single(int type, double rsq, int i, int j, +double BondHarmonic::single(int type, double rsq, int /*i*/, int /*j*/, double &fforce) { double r = sqrt(rsq); diff --git a/src/MOLECULE/bond_morse.cpp b/src/MOLECULE/bond_morse.cpp index 35be50e8df..06af28f2b0 100644 --- a/src/MOLECULE/bond_morse.cpp +++ b/src/MOLECULE/bond_morse.cpp @@ -196,7 +196,7 @@ void BondMorse::write_data(FILE *fp) /* ---------------------------------------------------------------------- */ -double BondMorse::single(int type, double rsq, int i, int j, +double BondMorse::single(int type, double rsq, int /*i*/, int /*j*/, double &fforce) { double r = sqrt(rsq); diff --git a/src/MOLECULE/bond_nonlinear.cpp b/src/MOLECULE/bond_nonlinear.cpp index 3926c3494b..645b081779 100644 --- a/src/MOLECULE/bond_nonlinear.cpp +++ b/src/MOLECULE/bond_nonlinear.cpp @@ -191,7 +191,7 @@ void BondNonlinear::write_data(FILE *fp) /* ---------------------------------------------------------------------- */ -double BondNonlinear::single(int type, double rsq, int i, int j, +double BondNonlinear::single(int type, double rsq, int /*i*/, int /*j*/, double &fforce) { double r = sqrt(rsq); diff --git a/src/MOLECULE/bond_quartic.cpp b/src/MOLECULE/bond_quartic.cpp index f581c7f331..f200030d6c 100644 --- a/src/MOLECULE/bond_quartic.cpp +++ b/src/MOLECULE/bond_quartic.cpp @@ -251,7 +251,7 @@ void BondQuartic::init_style() return an equilbrium bond length ------------------------------------------------------------------------- */ -double BondQuartic::equilibrium_distance(int i) +double BondQuartic::equilibrium_distance(int /*i*/) { return 0.97; } diff --git a/src/MOLECULE/bond_table.cpp b/src/MOLECULE/bond_table.cpp index 7515f713df..a5c579042b 100644 --- a/src/MOLECULE/bond_table.cpp +++ b/src/MOLECULE/bond_table.cpp @@ -244,7 +244,7 @@ void BondTable::read_restart(FILE *fp) /* ---------------------------------------------------------------------- */ -double BondTable::single(int type, double rsq, int i, int j, +double BondTable::single(int type, double rsq, int /*i*/, int /*j*/, double &fforce) { double r = sqrt(rsq); diff --git a/src/MOLECULE/fix_cmap.cpp b/src/MOLECULE/fix_cmap.cpp index 5ef2e662ab..2acb20de60 100644 --- a/src/MOLECULE/fix_cmap.cpp +++ b/src/MOLECULE/fix_cmap.cpp @@ -295,7 +295,7 @@ void FixCMAP::pre_neighbor() store eflag, so can use it in post_force to tally per-atom energies ------------------------------------------------------------------------- */ -void FixCMAP::pre_reverse(int eflag, int vflag) +void FixCMAP::pre_reverse(int eflag, int /*vflag*/) { eflag_caller = eflag; } @@ -604,7 +604,7 @@ void FixCMAP::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixCMAP::post_force_respa(int vflag, int ilevel, int iloop) +void FixCMAP::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_force(vflag); } @@ -1163,7 +1163,7 @@ void FixCMAP::read_data_section(char *keyword, int n, char *buf, /* ---------------------------------------------------------------------- */ -bigint FixCMAP::read_data_skip_lines(char *keyword) +bigint FixCMAP::read_data_skip_lines(char */*keyword*/) { return ncmap; } @@ -1173,7 +1173,7 @@ bigint FixCMAP::read_data_skip_lines(char *keyword) only called by proc 0 ------------------------------------------------------------------------- */ -void FixCMAP::write_data_header(FILE *fp, int mth) +void FixCMAP::write_data_header(FILE *fp, int /*mth*/) { fprintf(fp,BIGINT_FORMAT " cmap crossterms\n",ncmap); } @@ -1186,7 +1186,7 @@ void FixCMAP::write_data_header(FILE *fp, int mth) ny = columns = type + 5 atom IDs ------------------------------------------------------------------------- */ -void FixCMAP::write_data_section_size(int mth, int &nx, int &ny) +void FixCMAP::write_data_section_size(int /*mth*/, int &nx, int &ny) { int i,m; @@ -1206,7 +1206,7 @@ void FixCMAP::write_data_section_size(int mth, int &nx, int &ny) buf allocated by caller as owned crossterms by 6 ------------------------------------------------------------------------- */ -void FixCMAP::write_data_section_pack(int mth, double **buf) +void FixCMAP::write_data_section_pack(int /*mth*/, double **buf) { int i,m; @@ -1237,7 +1237,7 @@ void FixCMAP::write_data_section_pack(int mth, double **buf) only called by proc 0 ------------------------------------------------------------------------- */ -void FixCMAP::write_data_section_keyword(int mth, FILE *fp) +void FixCMAP::write_data_section_keyword(int /*mth*/, FILE *fp) { fprintf(fp,"\nCMAP\n\n"); } @@ -1249,7 +1249,7 @@ void FixCMAP::write_data_section_keyword(int mth, FILE *fp) only called by proc 0 ------------------------------------------------------------------------- */ -void FixCMAP::write_data_section(int mth, FILE *fp, +void FixCMAP::write_data_section(int /*mth*/, FILE *fp, int n, double **buf, int index) { for (int i = 0; i < n; i++) @@ -1383,7 +1383,7 @@ void FixCMAP::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixCMAP::copy_arrays(int i, int j, int delflag) +void FixCMAP::copy_arrays(int i, int j, int /*delflag*/) { num_crossterm[j] = num_crossterm[i]; diff --git a/src/MOLECULE/pair_hbond_dreiding_lj.cpp b/src/MOLECULE/pair_hbond_dreiding_lj.cpp index 26ff499dec..c0c885d4d4 100644 --- a/src/MOLECULE/pair_hbond_dreiding_lj.cpp +++ b/src/MOLECULE/pair_hbond_dreiding_lj.cpp @@ -468,7 +468,7 @@ double PairHbondDreidingLJ::init_one(int i, int j) double PairHbondDreidingLJ::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, + double /*factor_coul*/, double /*factor_lj*/, double &fforce) { int k,kk,ktype,knum,m; diff --git a/src/MOLECULE/pair_hbond_dreiding_morse.cpp b/src/MOLECULE/pair_hbond_dreiding_morse.cpp index 749053164c..f464d2c621 100644 --- a/src/MOLECULE/pair_hbond_dreiding_morse.cpp +++ b/src/MOLECULE/pair_hbond_dreiding_morse.cpp @@ -371,7 +371,7 @@ void PairHbondDreidingMorse::init_style() double PairHbondDreidingMorse::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, + double /*factor_coul*/, double /*factor_lj*/, double &fforce) { int k,kk,ktype,knum,m; diff --git a/src/MOLECULE/pair_tip4p_cut.cpp b/src/MOLECULE/pair_tip4p_cut.cpp index e9f52b8724..79dd79b180 100644 --- a/src/MOLECULE/pair_tip4p_cut.cpp +++ b/src/MOLECULE/pair_tip4p_cut.cpp @@ -443,7 +443,7 @@ void PairTIP4PCut::init_style() init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairTIP4PCut::init_one(int i, int j) +double PairTIP4PCut::init_one(int /*i*/, int /*j*/) { // include TIP4P qdist in full cutoff, qdist = 0.0 if not TIP4P diff --git a/src/PERI/fix_peri_neigh.cpp b/src/PERI/fix_peri_neigh.cpp index 42d86e14b2..2f5d4ac694 100644 --- a/src/PERI/fix_peri_neigh.cpp +++ b/src/PERI/fix_peri_neigh.cpp @@ -140,7 +140,7 @@ void FixPeriNeigh::init() /* ---------------------------------------------------------------------- */ -void FixPeriNeigh::init_list(int id, NeighList *ptr) +void FixPeriNeigh::init_list(int /*id*/, NeighList *ptr) { list = ptr; } @@ -159,7 +159,7 @@ void FixPeriNeigh::min_setup(int vflag) must be done in setup (not init) since fix init comes before neigh init ------------------------------------------------------------------------- */ -void FixPeriNeigh::setup(int vflag) +void FixPeriNeigh::setup(int /*vflag*/) { int i,j,ii,jj,itype,jtype,inum,jnum; double xtmp,ytmp,ztmp,delx,dely,delz,rsq; @@ -441,7 +441,7 @@ void FixPeriNeigh::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixPeriNeigh::copy_arrays(int i, int j, int delflag) +void FixPeriNeigh::copy_arrays(int i, int j, int /*delflag*/) { npartner[j] = npartner[i]; for (int m = 0; m < npartner[j]; m++) { @@ -514,7 +514,7 @@ int FixPeriNeigh::unpack_exchange(int nlocal, double *buf) /* ---------------------------------------------------------------------- */ int FixPeriNeigh::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/PERI/pair_peri_eps.cpp b/src/PERI/pair_peri_eps.cpp index 9950c36f41..fe2041d802 100644 --- a/src/PERI/pair_peri_eps.cpp +++ b/src/PERI/pair_peri_eps.cpp @@ -434,7 +434,7 @@ void PairPeriEPS::allocate() global settings ------------------------------------------------------------------------- */ -void PairPeriEPS::settings(int narg, char **arg) +void PairPeriEPS::settings(int narg, char **/*arg*/) { if (narg) error->all(FLERR,"Illegal pair_style command"); } @@ -799,7 +799,7 @@ double PairPeriEPS::compute_DeviatoricForceStateNorm(int i) ---------------------------------------------------------------------- */ int PairPeriEPS::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/PERI/pair_peri_lps.cpp b/src/PERI/pair_peri_lps.cpp index 4c48223b07..0ff0423801 100644 --- a/src/PERI/pair_peri_lps.cpp +++ b/src/PERI/pair_peri_lps.cpp @@ -364,7 +364,7 @@ void PairPeriLPS::allocate() global settings ------------------------------------------------------------------------- */ -void PairPeriLPS::settings(int narg, char **arg) +void PairPeriLPS::settings(int narg, char **/*arg*/) { if (narg) error->all(FLERR,"Illegal pair_style command"); } @@ -631,7 +631,7 @@ void PairPeriLPS::compute_dilatation() ---------------------------------------------------------------------- */ int PairPeriLPS::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/PERI/pair_peri_pmb.cpp b/src/PERI/pair_peri_pmb.cpp index 81461f0b83..772e47f2d6 100644 --- a/src/PERI/pair_peri_pmb.cpp +++ b/src/PERI/pair_peri_pmb.cpp @@ -297,7 +297,7 @@ void PairPeriPMB::allocate() global settings ------------------------------------------------------------------------- */ -void PairPeriPMB::settings(int narg, char **arg) +void PairPeriPMB::settings(int narg, char **/*arg*/) { if (narg) error->all(FLERR,"Illegal pair_style command"); } @@ -441,7 +441,7 @@ void PairPeriPMB::read_restart(FILE *fp) /* ---------------------------------------------------------------------- */ double PairPeriPMB::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, + double /*factor_coul*/, double /*factor_lj*/, double &fforce) { double delx0,dely0,delz0,rsq0; diff --git a/src/PERI/pair_peri_ves.cpp b/src/PERI/pair_peri_ves.cpp index a9f620ef4b..a41d55b593 100644 --- a/src/PERI/pair_peri_ves.cpp +++ b/src/PERI/pair_peri_ves.cpp @@ -411,7 +411,7 @@ void PairPeriVES::allocate() global settings ------------------------------------------------------------------------- */ -void PairPeriVES::settings(int narg, char **arg) +void PairPeriVES::settings(int narg, char **/*arg*/) { if (narg) error->all(FLERR,"Illegal pair_style command"); } @@ -697,7 +697,7 @@ void PairPeriVES::compute_dilatation() ---------------------------------------------------------------------- */ int PairPeriVES::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index 8acf4498f5..f6f41f57bd 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -274,7 +274,7 @@ void FixQEq::reallocate_matrix() /* ---------------------------------------------------------------------- */ -void FixQEq::init_list(int id, NeighList *ptr) +void FixQEq::init_list(int /*id*/, NeighList *ptr) { list = ptr; } @@ -329,7 +329,7 @@ void FixQEq::init_storage() /* ---------------------------------------------------------------------- */ -void FixQEq::pre_force_respa(int vflag, int ilevel, int iloop) +void FixQEq::pre_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) pre_force(vflag); } @@ -471,7 +471,7 @@ void FixQEq::calculate_Q() /* ---------------------------------------------------------------------- */ int FixQEq::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int m; @@ -552,7 +552,7 @@ void FixQEq::grow_arrays(int nmax) copy values within fictitious charge arrays ------------------------------------------------------------------------- */ -void FixQEq::copy_arrays(int i, int j, int delflag) +void FixQEq::copy_arrays(int i, int j, int /*delflag*/) { for (int m = 0; m < nprev; m++) { s_hist[j][m] = s_hist[i][m]; diff --git a/src/QEQ/fix_qeq_dynamic.cpp b/src/QEQ/fix_qeq_dynamic.cpp index aeb8dd2c59..82112c5c11 100644 --- a/src/QEQ/fix_qeq_dynamic.cpp +++ b/src/QEQ/fix_qeq_dynamic.cpp @@ -88,7 +88,7 @@ void FixQEqDynamic::init() /* ---------------------------------------------------------------------- */ -void FixQEqDynamic::pre_force(int vflag) +void FixQEqDynamic::pre_force(int /*vflag*/) { int i,ii,iloop,inum,*ilist; double qmass,dtq2; @@ -247,7 +247,7 @@ double FixQEqDynamic::compute_eneg() /* ---------------------------------------------------------------------- */ int FixQEqDynamic::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int m=0; diff --git a/src/QEQ/fix_qeq_fire.cpp b/src/QEQ/fix_qeq_fire.cpp index db63bec206..d1683aa020 100644 --- a/src/QEQ/fix_qeq_fire.cpp +++ b/src/QEQ/fix_qeq_fire.cpp @@ -104,7 +104,7 @@ void FixQEqFire::init() /* ---------------------------------------------------------------------- */ -void FixQEqFire::pre_force(int vflag) +void FixQEqFire::pre_force(int /*vflag*/) { int inum, *ilist; int i,ii,iloop; @@ -311,7 +311,7 @@ double FixQEqFire::compute_eneg() /* ---------------------------------------------------------------------- */ int FixQEqFire::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int m = 0; diff --git a/src/QEQ/fix_qeq_point.cpp b/src/QEQ/fix_qeq_point.cpp index bf7130c1d6..db2d800c06 100644 --- a/src/QEQ/fix_qeq_point.cpp +++ b/src/QEQ/fix_qeq_point.cpp @@ -67,7 +67,7 @@ void FixQEqPoint::init() /* ---------------------------------------------------------------------- */ -void FixQEqPoint::pre_force(int vflag) +void FixQEqPoint::pre_force(int /*vflag*/) { if (update->ntimestep % nevery) return; diff --git a/src/QEQ/fix_qeq_shielded.cpp b/src/QEQ/fix_qeq_shielded.cpp index 70898fd96c..88cd1ab3ad 100644 --- a/src/QEQ/fix_qeq_shielded.cpp +++ b/src/QEQ/fix_qeq_shielded.cpp @@ -111,7 +111,7 @@ void FixQEqShielded::init_shielding() /* ---------------------------------------------------------------------- */ -void FixQEqShielded::pre_force(int vflag) +void FixQEqShielded::pre_force(int /*vflag*/) { if (update->ntimestep % nevery) return; diff --git a/src/QEQ/fix_qeq_slater.cpp b/src/QEQ/fix_qeq_slater.cpp index 4ddcf06357..81fdc73241 100644 --- a/src/QEQ/fix_qeq_slater.cpp +++ b/src/QEQ/fix_qeq_slater.cpp @@ -107,7 +107,7 @@ void FixQEqSlater::extract_streitz() /* ---------------------------------------------------------------------- */ -void FixQEqSlater::pre_force(int vflag) +void FixQEqSlater::pre_force(int /*vflag*/) { if (update->ntimestep % nevery) return; diff --git a/src/REPLICA/fix_event.cpp b/src/REPLICA/fix_event.cpp index 3b9b49ac57..8fc5de6b16 100644 --- a/src/REPLICA/fix_event.cpp +++ b/src/REPLICA/fix_event.cpp @@ -241,7 +241,7 @@ void FixEvent::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixEvent::copy_arrays(int i, int j, int delflag) +void FixEvent::copy_arrays(int i, int j, int /*delflag*/) { xevent[j][0] = xevent[i][0]; xevent[j][1] = xevent[i][1]; diff --git a/src/REPLICA/fix_neb.cpp b/src/REPLICA/fix_neb.cpp index e5d24da392..dc86c70956 100644 --- a/src/REPLICA/fix_neb.cpp +++ b/src/REPLICA/fix_neb.cpp @@ -270,7 +270,7 @@ void FixNEB::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixNEB::min_post_force(int vflag) +void FixNEB::min_post_force(int /*vflag*/) { double vprev,vnext; double delxp,delyp,delzp,delxn,delyn,delzn; diff --git a/src/RIGID/fix_rattle.cpp b/src/RIGID/fix_rattle.cpp index 7ade8d6848..403f3091c6 100644 --- a/src/RIGID/fix_rattle.cpp +++ b/src/RIGID/fix_rattle.cpp @@ -185,7 +185,7 @@ void FixRattle::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixRattle::post_force_respa(int vflag, int ilevel, int iloop) +void FixRattle::post_force_respa(int vflag, int ilevel, int /*iloop*/) { // remember vflag for the coordinate correction in this->final_integrate @@ -625,7 +625,7 @@ void FixRattle::update_v_half_nocons() /* ---------------------------------------------------------------------- */ -void FixRattle::update_v_half_nocons_respa(int ilevel) +void FixRattle::update_v_half_nocons_respa(int /*ilevel*/) { // carry out unconstrained velocity update diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 7104d30849..c0f33346bb 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -1096,7 +1096,7 @@ void FixRigid::compute_forces_and_torques() /* ---------------------------------------------------------------------- */ -void FixRigid::post_force(int vflag) +void FixRigid::post_force(int /*vflag*/) { if (langflag) apply_langevin_thermostat(); if (earlyflag) compute_forces_and_torques(); @@ -1141,7 +1141,7 @@ void FixRigid::final_integrate() /* ---------------------------------------------------------------------- */ -void FixRigid::initial_integrate_respa(int vflag, int ilevel, int iloop) +void FixRigid::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/) { dtv = step_respa[ilevel]; dtf = 0.5 * step_respa[ilevel] * force->ftm2v; @@ -1153,7 +1153,7 @@ void FixRigid::initial_integrate_respa(int vflag, int ilevel, int iloop) /* ---------------------------------------------------------------------- */ -void FixRigid::final_integrate_respa(int ilevel, int iloop) +void FixRigid::final_integrate_respa(int ilevel, int /*iloop*/) { dtf = 0.5 * step_respa[ilevel] * force->ftm2v; final_integrate(); @@ -2478,7 +2478,7 @@ void FixRigid::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixRigid::copy_arrays(int i, int j, int delflag) +void FixRigid::copy_arrays(int i, int j, int /*delflag*/) { body[j] = body[i]; xcmimage[j] = xcmimage[i]; diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index c1de89efc7..b2dbd27c46 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -867,7 +867,7 @@ void FixRigidSmall::enforce2d() /* ---------------------------------------------------------------------- */ -void FixRigidSmall::post_force(int vflag) +void FixRigidSmall::post_force(int /*vflag*/) { if (langflag) apply_langevin_thermostat(); if (earlyflag) compute_forces_and_torques(); @@ -1004,7 +1004,7 @@ void FixRigidSmall::final_integrate() /* ---------------------------------------------------------------------- */ -void FixRigidSmall::initial_integrate_respa(int vflag, int ilevel, int iloop) +void FixRigidSmall::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/) { dtv = step_respa[ilevel]; dtf = 0.5 * step_respa[ilevel] * force->ftm2v; @@ -1016,7 +1016,7 @@ void FixRigidSmall::initial_integrate_respa(int vflag, int ilevel, int iloop) /* ---------------------------------------------------------------------- */ -void FixRigidSmall::final_integrate_respa(int ilevel, int iloop) +void FixRigidSmall::final_integrate_respa(int ilevel, int /*iloop*/) { dtf = 0.5 * step_respa[ilevel] * force->ftm2v; final_integrate(); @@ -2999,7 +2999,7 @@ int FixRigidSmall::unpack_exchange(int nlocal, double *buf) ------------------------------------------------------------------------- */ int FixRigidSmall::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j; double *xcm,*vcm,*quat,*omega,*ex_space,*ey_space,*ez_space,*conjqm; diff --git a/src/RIGID/fix_shake.cpp b/src/RIGID/fix_shake.cpp index 0beef3bfa2..5c0139737c 100644 --- a/src/RIGID/fix_shake.cpp +++ b/src/RIGID/fix_shake.cpp @@ -2451,7 +2451,7 @@ void FixShake::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixShake::copy_arrays(int i, int j, int delflag) +void FixShake::copy_arrays(int i, int j, int /*delflag*/) { int flag = shake_flag[j] = shake_flag[i]; if (flag == 1) { @@ -2528,7 +2528,7 @@ void FixShake::update_arrays(int i, int atom_offset) ------------------------------------------------------------------------- */ void FixShake::set_molecule(int nlocalprev, tagint tagprev, int imol, - double *xgeom, double *vcm, double *quat) + double */*xgeom*/, double */*vcm*/, double */*quat*/) { int m,flag; diff --git a/src/SHOCK/fix_append_atoms.cpp b/src/SHOCK/fix_append_atoms.cpp index d898d2a790..2e515839c5 100644 --- a/src/SHOCK/fix_append_atoms.cpp +++ b/src/SHOCK/fix_append_atoms.cpp @@ -231,7 +231,7 @@ int FixAppendAtoms::setmask() /* ---------------------------------------------------------------------- */ -void FixAppendAtoms::initial_integrate(int vflag) +void FixAppendAtoms::initial_integrate(int /*vflag*/) { if (update->ntimestep % freq == 0) next_reneighbor = update->ntimestep; } @@ -331,7 +331,7 @@ int FixAppendAtoms::get_spatial() /* ---------------------------------------------------------------------- */ -void FixAppendAtoms::post_force(int vflag) +void FixAppendAtoms::post_force(int /*vflag*/) { double **f = atom->f; double **v = atom->v; diff --git a/src/SHOCK/fix_msst.cpp b/src/SHOCK/fix_msst.cpp index a7890c3afa..c800e8a85d 100644 --- a/src/SHOCK/fix_msst.cpp +++ b/src/SHOCK/fix_msst.cpp @@ -357,7 +357,7 @@ void FixMSST::init() compute T,P before integrator starts ------------------------------------------------------------------------- */ -void FixMSST::setup(int vflag) +void FixMSST::setup(int /*vflag*/) { lagrangian_position = 0.0; @@ -442,7 +442,7 @@ void FixMSST::setup(int vflag) 1st half of Verlet update ------------------------------------------------------------------------- */ -void FixMSST::initial_integrate(int vflag) +void FixMSST::initial_integrate(int /*vflag*/) { int i,k; double p_msst; // MSST driving pressure diff --git a/src/SHOCK/fix_wall_piston.cpp b/src/SHOCK/fix_wall_piston.cpp index 7146b46c1e..eb89e19517 100644 --- a/src/SHOCK/fix_wall_piston.cpp +++ b/src/SHOCK/fix_wall_piston.cpp @@ -171,7 +171,7 @@ int FixWallPiston::setmask() /* ---------------------------------------------------------------------- */ -void FixWallPiston::initial_integrate(int vflag) +void FixWallPiston::initial_integrate(int /*vflag*/) { next_reneighbor = update->ntimestep; } diff --git a/src/SNAP/compute_sna_atom.cpp b/src/SNAP/compute_sna_atom.cpp index 0d8b0bae14..a2c1f55788 100644 --- a/src/SNAP/compute_sna_atom.cpp +++ b/src/SNAP/compute_sna_atom.cpp @@ -184,7 +184,7 @@ void ComputeSNAAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeSNAAtom::init_list(int id, NeighList *ptr) +void ComputeSNAAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/SNAP/compute_snad_atom.cpp b/src/SNAP/compute_snad_atom.cpp index b0fef8e1e3..800d1942e3 100644 --- a/src/SNAP/compute_snad_atom.cpp +++ b/src/SNAP/compute_snad_atom.cpp @@ -186,7 +186,7 @@ void ComputeSNADAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeSNADAtom::init_list(int id, NeighList *ptr) +void ComputeSNADAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/SNAP/compute_snav_atom.cpp b/src/SNAP/compute_snav_atom.cpp index cf66b1c136..2b823f7b8b 100644 --- a/src/SNAP/compute_snav_atom.cpp +++ b/src/SNAP/compute_snav_atom.cpp @@ -181,7 +181,7 @@ void ComputeSNAVAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeSNAVAtom::init_list(int id, NeighList *ptr) +void ComputeSNAVAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/SNAP/sna.cpp b/src/SNAP/sna.cpp index 3150573043..7ed1bc1e23 100644 --- a/src/SNAP/sna.cpp +++ b/src/SNAP/sna.cpp @@ -1231,7 +1231,7 @@ void SNA::compute_uarray(double x, double y, double z, } void SNA::compute_uarray_omp(double x, double y, double z, - double z0, double r, int sub_threads) + double z0, double r, int /*sub_threads*/) { double r0inv; double a_r, b_r, a_i, b_i; diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 6460a6185f..24c4480e04 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -943,7 +943,7 @@ bigint AtomVecSpin::memory_usage() return bytes; } -void AtomVecSpin::force_clear(int n, size_t nbytes) +void AtomVecSpin::force_clear(int /*n*/, size_t nbytes) { memset(&atom->f[0][0],0,3*nbytes); memset(&atom->fm[0][0],0,3*nbytes); diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index cb34465482..55b4d8dfec 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -192,7 +192,7 @@ void FixLangevinSpin::add_temperature(double fmi[3]) /* ---------------------------------------------------------------------- */ -void FixLangevinSpin::post_force_respa(int vflag, int ilevel, int iloop) +void FixLangevinSpin::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_force(vflag); } diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index b75f03212a..898eb95396 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -258,7 +258,7 @@ void FixNVESpin::init() /* ---------------------------------------------------------------------- */ -void FixNVESpin::initial_integrate(int vflag) +void FixNVESpin::initial_integrate(int /*vflag*/) { double dtfm; diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index b908478952..d3edb3ae8a 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -169,7 +169,7 @@ void FixPrecessionSpin::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixPrecessionSpin::post_force(int vflag) +void FixPrecessionSpin::post_force(int /*vflag*/) { // update mag field with time (potential improvement) @@ -245,7 +245,7 @@ void FixPrecessionSpin::compute_anisotropy(double spi[3], double fmi[3]) /* ---------------------------------------------------------------------- */ -void FixPrecessionSpin::post_force_respa(int vflag, int ilevel, int iloop) +void FixPrecessionSpin::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index 398206b26e..929b79bef3 100644 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -63,7 +63,7 @@ PairSpin::~PairSpin() {} global settings ------------------------------------------------------------------------- */ -void PairSpin::settings(int narg, char **arg) +void PairSpin::settings(int narg, char **/*arg*/) { if (narg < 1 || narg > 2) error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 08e2c63e7f..6f8114042e 100644 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -414,7 +414,7 @@ void PairSpinDmi::compute_dmi(int i, int j, double eij[3], double fmi[3], double compute the mechanical force due to the dmi interaction between atom i and atom j ------------------------------------------------------------------------- */ -void PairSpinDmi::compute_dmi_mech(int i, int j, double rsq, double eij[3], +void PairSpinDmi::compute_dmi_mech(int i, int j, double rsq, double /*eij*/[3], double fi[3], double spi[3], double spj[3]) { int *type = atom->type; diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp index 6bc1f71947..570c995754 100644 --- a/src/SPIN/pair_spin_magelec.cpp +++ b/src/SPIN/pair_spin_magelec.cpp @@ -380,7 +380,7 @@ void PairSpinMagelec::compute_single_pair(int ii, double fmi[3]) /* ---------------------------------------------------------------------- */ -void PairSpinMagelec::compute_magelec(int i, int j, double rsq, double eij[3], double fmi[3], double spj[3]) +void PairSpinMagelec::compute_magelec(int i, int j, double /*rsq*/, double eij[3], double fmi[3], double spj[3]) { int *type = atom->type; int itype, jtype; diff --git a/src/SRD/fix_srd.cpp b/src/SRD/fix_srd.cpp index 564c1e98d7..d6053f4aa4 100644 --- a/src/SRD/fix_srd.cpp +++ b/src/SRD/fix_srd.cpp @@ -440,7 +440,7 @@ void FixSRD::init() /* ---------------------------------------------------------------------- */ -void FixSRD::setup(int vflag) +void FixSRD::setup(int /*vflag*/) { setup_bounds(); @@ -703,7 +703,7 @@ void FixSRD::pre_neighbor() when collision occurs, change x,v of SRD, force,torque of BIG particle ------------------------------------------------------------------------- */ -void FixSRD::post_force(int vflag) +void FixSRD::post_force(int /*vflag*/) { int i,m,ix,iy,iz; @@ -2168,8 +2168,8 @@ void FixSRD::collision_ellipsoid_inexact(double *xs, double *xb, norm = surface normal of collision pt at time of collision ------------------------------------------------------------------------- */ -double FixSRD::collision_line_exact(double *xs, double *xb, - double *vs, double *vb, Big *big, +double FixSRD::collision_line_exact(double */*xs*/, double */*xb*/, + double */*vs*/, double */*vb*/, Big */*big*/, double dt_step, double *xscoll, double *xbcoll, double *norm) @@ -2197,8 +2197,8 @@ double FixSRD::collision_line_exact(double *xs, double *xb, norm = surface normal of collision pt at time of collision ------------------------------------------------------------------------- */ -double FixSRD::collision_tri_exact(double *xs, double *xb, - double *vs, double *vb, Big *big, +double FixSRD::collision_tri_exact(double */*xs*/, double */*xb*/, + double */*vs*/, double */*vb*/, Big */*big*/, double dt_step, double *xscoll, double *xbcoll, double *norm) diff --git a/src/USER-BOCS/fix_bocs.cpp b/src/USER-BOCS/fix_bocs.cpp index 7fb8a27110..eacfc83b40 100644 --- a/src/USER-BOCS/fix_bocs.cpp +++ b/src/USER-BOCS/fix_bocs.cpp @@ -790,7 +790,7 @@ void FixBocs::build_cubic_splines( double **data ) compute T,P before integrator starts ------------------------------------------------------------------------- */ -void FixBocs::setup(int vflag) +void FixBocs::setup(int /*vflag*/) { // tdof needed by compute_temp_target() @@ -875,7 +875,7 @@ void FixBocs::setup(int vflag) 1st half of Verlet update ------------------------------------------------------------------------- */ -void FixBocs::initial_integrate(int vflag) +void FixBocs::initial_integrate(int /*vflag*/) { // update eta_press_dot @@ -970,7 +970,7 @@ void FixBocs::final_integrate() /* ---------------------------------------------------------------------- */ -void FixBocs::initial_integrate_respa(int vflag, int ilevel, int iloop) +void FixBocs::initial_integrate_respa(int /*vflag*/, int ilevel, int /*iloop*/) { // set timesteps by level @@ -1039,7 +1039,7 @@ void FixBocs::initial_integrate_respa(int vflag, int ilevel, int iloop) /* ---------------------------------------------------------------------- */ -void FixBocs::final_integrate_respa(int ilevel, int iloop) +void FixBocs::final_integrate_respa(int ilevel, int /*iloop*/) { // set timesteps by level diff --git a/src/USER-CGDNA/bond_oxdna_fene.cpp b/src/USER-CGDNA/bond_oxdna_fene.cpp index 47d8d8f60b..34a25a9b5a 100644 --- a/src/USER-CGDNA/bond_oxdna_fene.cpp +++ b/src/USER-CGDNA/bond_oxdna_fene.cpp @@ -56,7 +56,7 @@ BondOxdnaFene::~BondOxdnaFene() compute vector COM-sugar-phosphate backbone interaction site in oxDNA ------------------------------------------------------------------------- */ void BondOxdnaFene::compute_interaction_sites(double e1[3], - double e2[3], double r[3]) + double /*e2*/[3], double r[3]) { double d_cs=-0.4; @@ -316,7 +316,7 @@ void BondOxdnaFene::write_data(FILE *fp) /* ---------------------------------------------------------------------- */ -double BondOxdnaFene::single(int type, double rsq, int i, int j, +double BondOxdnaFene::single(int type, double rsq, int /*i*/, int /*j*/, double &fforce) { double r = sqrt(rsq); diff --git a/src/USER-CGDNA/fix_nve_dot.cpp b/src/USER-CGDNA/fix_nve_dot.cpp index 63f38a4e12..72b3388793 100644 --- a/src/USER-CGDNA/fix_nve_dot.cpp +++ b/src/USER-CGDNA/fix_nve_dot.cpp @@ -62,7 +62,7 @@ void FixNVEDot::init() /* ---------------------------------------------------------------------- */ -void FixNVEDot::initial_integrate(int vflag) +void FixNVEDot::initial_integrate(int /*vflag*/) { double *shape,*quat; double fquat[4],conjqm[4],inertia[3]; diff --git a/src/USER-CGDNA/fix_nve_dotc_langevin.cpp b/src/USER-CGDNA/fix_nve_dotc_langevin.cpp index 90f7b1caeb..c73801c97a 100644 --- a/src/USER-CGDNA/fix_nve_dotc_langevin.cpp +++ b/src/USER-CGDNA/fix_nve_dotc_langevin.cpp @@ -127,7 +127,7 @@ void FixNVEDotcLangevin::compute_target() /* ---------------------------------------------------------------------- */ -void FixNVEDotcLangevin::initial_integrate(int vflag) +void FixNVEDotcLangevin::initial_integrate(int /*vflag*/) { double *shape,*quat; double fquat[4],conjqm[4],inertia[3]; diff --git a/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp b/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp index 151e752692..d31890ea52 100644 --- a/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp +++ b/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp @@ -542,7 +542,7 @@ void PairOxdna2Coaxstk::allocate() global settings ------------------------------------------------------------------------- */ -void PairOxdna2Coaxstk::settings(int narg, char **arg) +void PairOxdna2Coaxstk::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); diff --git a/src/USER-CGDNA/pair_oxdna2_dh.cpp b/src/USER-CGDNA/pair_oxdna2_dh.cpp index 974ade89c1..da6e1f8bbd 100644 --- a/src/USER-CGDNA/pair_oxdna2_dh.cpp +++ b/src/USER-CGDNA/pair_oxdna2_dh.cpp @@ -264,7 +264,7 @@ void PairOxdna2Dh::allocate() global settings ------------------------------------------------------------------------- */ -void PairOxdna2Dh::settings(int narg, char **arg) +void PairOxdna2Dh::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } diff --git a/src/USER-CGDNA/pair_oxdna_coaxstk.cpp b/src/USER-CGDNA/pair_oxdna_coaxstk.cpp index 0eb75fbb43..ca03bcb35c 100644 --- a/src/USER-CGDNA/pair_oxdna_coaxstk.cpp +++ b/src/USER-CGDNA/pair_oxdna_coaxstk.cpp @@ -666,7 +666,7 @@ void PairOxdnaCoaxstk::allocate() global settings ------------------------------------------------------------------------- */ -void PairOxdnaCoaxstk::settings(int narg, char **arg) +void PairOxdnaCoaxstk::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); diff --git a/src/USER-CGDNA/pair_oxdna_excv.cpp b/src/USER-CGDNA/pair_oxdna_excv.cpp index e2b8334078..719a63b5f4 100644 --- a/src/USER-CGDNA/pair_oxdna_excv.cpp +++ b/src/USER-CGDNA/pair_oxdna_excv.cpp @@ -92,7 +92,7 @@ PairOxdnaExcv::~PairOxdnaExcv() compute vector COM-excluded volume interaction sites in oxDNA ------------------------------------------------------------------------- */ void PairOxdnaExcv::compute_interaction_sites(double e1[3], - double e2[3], double rs[3], double rb[3]) + double /*e2*/[3], double rs[3], double rb[3]) { double d_cs=-0.4, d_cb=+0.4; @@ -441,7 +441,7 @@ void PairOxdnaExcv::allocate() global settings ------------------------------------------------------------------------- */ -void PairOxdnaExcv::settings(int narg, char **arg) +void PairOxdnaExcv::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); diff --git a/src/USER-CGDNA/pair_oxdna_hbond.cpp b/src/USER-CGDNA/pair_oxdna_hbond.cpp index ce1bfe036a..cb9f61bd7e 100644 --- a/src/USER-CGDNA/pair_oxdna_hbond.cpp +++ b/src/USER-CGDNA/pair_oxdna_hbond.cpp @@ -601,7 +601,7 @@ void PairOxdnaHbond::allocate() global settings ------------------------------------------------------------------------- */ -void PairOxdnaHbond::settings(int narg, char **arg) +void PairOxdnaHbond::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); diff --git a/src/USER-CGDNA/pair_oxdna_stk.cpp b/src/USER-CGDNA/pair_oxdna_stk.cpp index 8c4498e627..f713e4d27c 100644 --- a/src/USER-CGDNA/pair_oxdna_stk.cpp +++ b/src/USER-CGDNA/pair_oxdna_stk.cpp @@ -647,7 +647,7 @@ void PairOxdnaStk::allocate() global settings ------------------------------------------------------------------------- */ -void PairOxdnaStk::settings(int narg, char **arg) +void PairOxdnaStk::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); diff --git a/src/USER-CGDNA/pair_oxdna_xstk.cpp b/src/USER-CGDNA/pair_oxdna_xstk.cpp index e5b9de81c0..c4c23bf2c9 100644 --- a/src/USER-CGDNA/pair_oxdna_xstk.cpp +++ b/src/USER-CGDNA/pair_oxdna_xstk.cpp @@ -611,7 +611,7 @@ void PairOxdnaXstk::allocate() global settings ------------------------------------------------------------------------- */ -void PairOxdnaXstk::settings(int narg, char **arg) +void PairOxdnaXstk::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); diff --git a/src/USER-DIFFRACTION/fix_saed_vtk.cpp b/src/USER-DIFFRACTION/fix_saed_vtk.cpp index 45bfeca48b..ad9c76ac6b 100644 --- a/src/USER-DIFFRACTION/fix_saed_vtk.cpp +++ b/src/USER-DIFFRACTION/fix_saed_vtk.cpp @@ -325,7 +325,7 @@ void FixSAEDVTK::init() only does something if nvalid = current timestep ------------------------------------------------------------------------- */ -void FixSAEDVTK::setup(int vflag) +void FixSAEDVTK::setup(int /*vflag*/) { end_of_step(); } diff --git a/src/USER-DPD/fix_dpd_energy.cpp b/src/USER-DPD/fix_dpd_energy.cpp index d89ea7759a..5759a164f5 100644 --- a/src/USER-DPD/fix_dpd_energy.cpp +++ b/src/USER-DPD/fix_dpd_energy.cpp @@ -57,7 +57,7 @@ int FixDPDenergy::setmask() allow for both per-type and per-atom mass ------------------------------------------------------------------------- */ -void FixDPDenergy::initial_integrate(int vflag) +void FixDPDenergy::initial_integrate(int /*vflag*/) { int nlocal = atom->nlocal; if (igroup == atom->firstgroup) nlocal = atom->nfirst; diff --git a/src/USER-DPD/fix_eos_table_rx.cpp b/src/USER-DPD/fix_eos_table_rx.cpp index 73144c0a0f..0bb96d7664 100644 --- a/src/USER-DPD/fix_eos_table_rx.cpp +++ b/src/USER-DPD/fix_eos_table_rx.cpp @@ -178,7 +178,7 @@ int FixEOStableRX::setmask() /* ---------------------------------------------------------------------- */ -void FixEOStableRX::setup(int vflag) +void FixEOStableRX::setup(int /*vflag*/) { int nlocal = atom->nlocal; int *mask = atom->mask; @@ -803,7 +803,7 @@ void FixEOStableRX::temperature_lookup(int id, double ui, double &thetai) /* ---------------------------------------------------------------------- */ -int FixEOStableRX::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) +int FixEOStableRX::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { int ii,jj,m; double *uChem = atom->uChem; diff --git a/src/USER-DPD/fix_rx.cpp b/src/USER-DPD/fix_rx.cpp index be78989bb5..4dae89b491 100644 --- a/src/USER-DPD/fix_rx.cpp +++ b/src/USER-DPD/fix_rx.cpp @@ -668,7 +668,7 @@ void FixRX::init_list(int, class NeighList* ptr) /* ---------------------------------------------------------------------- */ -void FixRX::setup_pre_force(int vflag) +void FixRX::setup_pre_force(int /*vflag*/) { int nlocal = atom->nlocal; int nghost = atom->nghost; @@ -727,7 +727,7 @@ void FixRX::setup_pre_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixRX::pre_force(int vflag) +void FixRX::pre_force(int /*vflag*/) { TimerType timer_start = getTimeStamp(); @@ -1191,7 +1191,7 @@ void FixRX::rkf45_step (const int neq, const double h, double y[], double y_out[ return; } -int FixRX::rkf45_h0 (const int neq, const double t, const double t_stop, +int FixRX::rkf45_h0 (const int neq, const double t, const double /*t_stop*/, const double hmin, const double hmax, double& h0, double y[], double rwk[], void* v_params) { @@ -1668,7 +1668,7 @@ int FixRX::rhs(double t, const double *y, double *dydt, void *params) /* ---------------------------------------------------------------------- */ -int FixRX::rhs_dense(double t, const double *y, double *dydt, void *params) +int FixRX::rhs_dense(double /*t*/, const double *y, double *dydt, void *params) { UserRHSData *userData = (UserRHSData *) params; @@ -1702,7 +1702,7 @@ int FixRX::rhs_dense(double t, const double *y, double *dydt, void *params) /* ---------------------------------------------------------------------- */ -int FixRX::rhs_sparse(double t, const double *y, double *dydt, void *v_params) const +int FixRX::rhs_sparse(double /*t*/, const double *y, double *dydt, void *v_params) const { UserRHSData *userData = (UserRHSData *) v_params; @@ -1885,7 +1885,7 @@ void FixRX::computeLocalTemperature() /* ---------------------------------------------------------------------- */ -int FixRX::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) +int FixRX::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { int ii,jj,m; double tmp; diff --git a/src/USER-DPD/fix_shardlow.cpp b/src/USER-DPD/fix_shardlow.cpp index 7fe865c8e6..9e8ee41533 100644 --- a/src/USER-DPD/fix_shardlow.cpp +++ b/src/USER-DPD/fix_shardlow.cpp @@ -145,14 +145,14 @@ void FixShardlow::init() /* ---------------------------------------------------------------------- */ -void FixShardlow::init_list(int id, NeighList *ptr) +void FixShardlow::init_list(int /*id*/, NeighList *ptr) { list = ptr; } /* ---------------------------------------------------------------------- */ -void FixShardlow::setup(int vflag) +void FixShardlow::setup(int /*vflag*/) { bool fixShardlow = false; @@ -527,7 +527,7 @@ while (ct-- > 0) { rand_state[id] = RNGstate; } -void FixShardlow::initial_integrate(int vflag) +void FixShardlow::initial_integrate(int /*vflag*/) { int ii; @@ -646,7 +646,7 @@ fprintf(stdout, "\n%6d %6d,%6d %6d: " /* ---------------------------------------------------------------------- */ -int FixShardlow::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) +int FixShardlow::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { int ii,jj,m; double **v = atom->v; diff --git a/src/USER-DPD/pair_dpd_fdt.cpp b/src/USER-DPD/pair_dpd_fdt.cpp index aeade16e7c..12e6d9f257 100644 --- a/src/USER-DPD/pair_dpd_fdt.cpp +++ b/src/USER-DPD/pair_dpd_fdt.cpp @@ -433,8 +433,8 @@ void PairDPDfdt::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairDPDfdt::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_dpd, double &fforce) +double PairDPDfdt::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_dpd, double &fforce) { double r,rinv,wr,wd,phi; diff --git a/src/USER-DPD/pair_dpd_fdt_energy.cpp b/src/USER-DPD/pair_dpd_fdt_energy.cpp index 05dc52eac7..42c23e3ad2 100644 --- a/src/USER-DPD/pair_dpd_fdt_energy.cpp +++ b/src/USER-DPD/pair_dpd_fdt_energy.cpp @@ -534,8 +534,8 @@ void PairDPDfdtEnergy::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairDPDfdtEnergy::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_dpd, double &fforce) +double PairDPDfdtEnergy::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_dpd, double &fforce) { double r,rinv,wr,wd,phi; diff --git a/src/USER-DPD/pair_multi_lucy.cpp b/src/USER-DPD/pair_multi_lucy.cpp index 3d204a849e..a7701f4d93 100644 --- a/src/USER-DPD/pair_multi_lucy.cpp +++ b/src/USER-DPD/pair_multi_lucy.cpp @@ -781,7 +781,7 @@ void PairMultiLucy::computeLocalDensity() } /* ---------------------------------------------------------------------- */ -int PairMultiLucy::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) +int PairMultiLucy::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { int i,j,m; double *rho = atom->rho; diff --git a/src/USER-DPD/pair_multi_lucy_rx.cpp b/src/USER-DPD/pair_multi_lucy_rx.cpp index 0070ca82d9..744c1ff64d 100644 --- a/src/USER-DPD/pair_multi_lucy_rx.cpp +++ b/src/USER-DPD/pair_multi_lucy_rx.cpp @@ -1019,7 +1019,7 @@ void PairMultiLucyRX::getMixingWeights(int id, double &mixWtSite1old, double &mi /* ---------------------------------------------------------------------- */ -int PairMultiLucyRX::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) +int PairMultiLucyRX::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { int i,j,m; double *rho = atom->rho; diff --git a/src/USER-DPD/pair_table_rx.cpp b/src/USER-DPD/pair_table_rx.cpp index 221944edc5..1e7bc440d1 100644 --- a/src/USER-DPD/pair_table_rx.cpp +++ b/src/USER-DPD/pair_table_rx.cpp @@ -439,7 +439,7 @@ void PairTableRX::coeff(int narg, char **arg) /* ---------------------------------------------------------------------- */ double PairTableRX::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, + double /*factor_coul*/, double factor_lj, double &fforce) { int itable; diff --git a/src/USER-DRUDE/fix_drude.cpp b/src/USER-DRUDE/fix_drude.cpp index 19fd775715..7800efe7ff 100644 --- a/src/USER-DRUDE/fix_drude.cpp +++ b/src/USER-DRUDE/fix_drude.cpp @@ -235,7 +235,7 @@ void FixDrude::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixDrude::copy_arrays(int i, int j, int delflag) +void FixDrude::copy_arrays(int i, int j, int /*delflag*/) { drudeid[j] = drudeid[i]; } diff --git a/src/USER-DRUDE/fix_langevin_drude.cpp b/src/USER-DRUDE/fix_langevin_drude.cpp index 235c5d224b..b9d1139f83 100644 --- a/src/USER-DRUDE/fix_langevin_drude.cpp +++ b/src/USER-DRUDE/fix_langevin_drude.cpp @@ -157,7 +157,7 @@ void FixLangevinDrude::init() /* ---------------------------------------------------------------------- */ -void FixLangevinDrude::setup(int vflag) +void FixLangevinDrude::setup(int /*vflag*/) { if (!strstr(update->integrate_style,"verlet")) error->all(FLERR,"RESPA style not compatible with fix langevin/drude"); diff --git a/src/USER-DRUDE/pair_thole.cpp b/src/USER-DRUDE/pair_thole.cpp index 8c20ee8c42..6901ad1f2d 100644 --- a/src/USER-DRUDE/pair_thole.cpp +++ b/src/USER-DRUDE/pair_thole.cpp @@ -363,7 +363,7 @@ void PairThole::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ double PairThole::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, + double rsq, double factor_coul, double /*factor_lj*/, double &fforce) { double r2inv,rinv,r,phicoul; diff --git a/src/USER-EFF/compute_temp_deform_eff.cpp b/src/USER-EFF/compute_temp_deform_eff.cpp index d3856e431d..23abb4f99d 100644 --- a/src/USER-EFF/compute_temp_deform_eff.cpp +++ b/src/USER-EFF/compute_temp_deform_eff.cpp @@ -290,7 +290,7 @@ void ComputeTempDeformEff::remove_bias_all() assume remove_bias() was previously called ------------------------------------------------------------------------- */ -void ComputeTempDeformEff::restore_bias(int i, double *v) +void ComputeTempDeformEff::restore_bias(int /*i*/, double *v) { v[0] += vbias[0]; v[1] += vbias[1]; diff --git a/src/USER-EFF/compute_temp_region_eff.cpp b/src/USER-EFF/compute_temp_region_eff.cpp index 4548914ce1..659bdfca5e 100644 --- a/src/USER-EFF/compute_temp_region_eff.cpp +++ b/src/USER-EFF/compute_temp_region_eff.cpp @@ -263,7 +263,7 @@ void ComputeTempRegionEff::remove_bias_all() assume remove_bias() was previously called ------------------------------------------------------------------------- */ -void ComputeTempRegionEff::restore_bias(int i, double *v) +void ComputeTempRegionEff::restore_bias(int /*i*/, double *v) { v[0] += vbias[0]; v[1] += vbias[1]; diff --git a/src/USER-EFF/fix_langevin_eff.cpp b/src/USER-EFF/fix_langevin_eff.cpp index 2d0eef8e85..d362113997 100644 --- a/src/USER-EFF/fix_langevin_eff.cpp +++ b/src/USER-EFF/fix_langevin_eff.cpp @@ -63,7 +63,7 @@ FixLangevinEff::~FixLangevinEff() /* ---------------------------------------------------------------------- */ -void FixLangevinEff::post_force(int vflag) +void FixLangevinEff::post_force(int /*vflag*/) { if (tallyflag) post_force_tally(); else post_force_no_tally(); diff --git a/src/USER-EFF/fix_nve_eff.cpp b/src/USER-EFF/fix_nve_eff.cpp index 584714a44e..699dd9f949 100644 --- a/src/USER-EFF/fix_nve_eff.cpp +++ b/src/USER-EFF/fix_nve_eff.cpp @@ -68,7 +68,7 @@ void FixNVEEff::init() allow for both per-type and per-atom mass ------------------------------------------------------------------------- */ -void FixNVEEff::initial_integrate(int vflag) +void FixNVEEff::initial_integrate(int /*vflag*/) { double dtfm; @@ -145,7 +145,7 @@ void FixNVEEff::final_integrate() /* ---------------------------------------------------------------------- */ -void FixNVEEff::initial_integrate_respa(int vflag, int ilevel, int iloop) +void FixNVEEff::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/) { dtv = step_respa[ilevel]; dtf = 0.5 * step_respa[ilevel] * force->ftm2v; @@ -159,7 +159,7 @@ void FixNVEEff::initial_integrate_respa(int vflag, int ilevel, int iloop) /* ---------------------------------------------------------------------- */ -void FixNVEEff::final_integrate_respa(int ilevel, int iloop) +void FixNVEEff::final_integrate_respa(int ilevel, int /*iloop*/) { dtf = 0.5 * step_respa[ilevel] * force->ftm2v; final_integrate(); diff --git a/src/USER-EFF/pair_eff_cut.cpp b/src/USER-EFF/pair_eff_cut.cpp index 0379c0264b..b4e9011e33 100644 --- a/src/USER-EFF/pair_eff_cut.cpp +++ b/src/USER-EFF/pair_eff_cut.cpp @@ -1009,7 +1009,7 @@ void PairEffCut::read_restart_settings(FILE *fp) these arrays are stored locally by pair style ------------------------------------------------------------------------- */ -void PairEffCut::min_xf_pointers(int ignore, double **xextra, double **fextra) +void PairEffCut::min_xf_pointers(int /*ignore*/, double **xextra, double **fextra) { // grow arrays if necessary // need to be atom->nmax in length @@ -1031,7 +1031,7 @@ void PairEffCut::min_xf_pointers(int ignore, double **xextra, double **fextra) calculate and store in min_eradius and min_erforce ------------------------------------------------------------------------- */ -void PairEffCut::min_xf_get(int ignore) +void PairEffCut::min_xf_get(int /*ignore*/) { double *eradius = atom->eradius; double *erforce = atom->erforce; @@ -1050,7 +1050,7 @@ void PairEffCut::min_xf_get(int ignore) propagate the change back to eradius ------------------------------------------------------------------------- */ -void PairEffCut::min_x_set(int ignore) +void PairEffCut::min_x_set(int /*ignore*/) { double *eradius = atom->eradius; int *spin = atom->spin; diff --git a/src/USER-FEP/fix_adapt_fep.cpp b/src/USER-FEP/fix_adapt_fep.cpp index 3b8c9d4201..7304bc4ef6 100644 --- a/src/USER-FEP/fix_adapt_fep.cpp +++ b/src/USER-FEP/fix_adapt_fep.cpp @@ -387,7 +387,7 @@ void FixAdaptFEP::init() /* ---------------------------------------------------------------------- */ -void FixAdaptFEP::setup_pre_force(int vflag) +void FixAdaptFEP::setup_pre_force(int /*vflag*/) { change_settings(); } @@ -402,7 +402,7 @@ void FixAdaptFEP::setup_pre_force_respa(int vflag, int ilevel) /* ---------------------------------------------------------------------- */ -void FixAdaptFEP::pre_force(int vflag) +void FixAdaptFEP::pre_force(int /*vflag*/) { if (nevery == 0) return; diff --git a/src/USER-FEP/pair_coul_cut_soft.cpp b/src/USER-FEP/pair_coul_cut_soft.cpp index 5bcb5a7522..529ffe6b09 100644 --- a/src/USER-FEP/pair_coul_cut_soft.cpp +++ b/src/USER-FEP/pair_coul_cut_soft.cpp @@ -347,7 +347,7 @@ void PairCoulCutSoft::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ double PairCoulCutSoft::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, + double rsq, double factor_coul, double /*factor_lj*/, double &fforce) { double forcecoul,phicoul; diff --git a/src/USER-FEP/pair_coul_long_soft.cpp b/src/USER-FEP/pair_coul_long_soft.cpp index 94bb3659fa..e45dbe72d6 100644 --- a/src/USER-FEP/pair_coul_long_soft.cpp +++ b/src/USER-FEP/pair_coul_long_soft.cpp @@ -348,7 +348,7 @@ void PairCoulLongSoft::read_restart_settings(FILE *fp) double PairCoulLongSoft::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, + double factor_coul, double /*factor_lj*/, double &fforce) { double r,grij,expm2,t,erfc,prefactor; diff --git a/src/USER-FEP/pair_lj_cut_soft.cpp b/src/USER-FEP/pair_lj_cut_soft.cpp index 4aaa5c2925..a33445f6f8 100644 --- a/src/USER-FEP/pair_lj_cut_soft.cpp +++ b/src/USER-FEP/pair_lj_cut_soft.cpp @@ -735,8 +735,8 @@ void PairLJCutSoft::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairLJCutSoft::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairLJCutSoft::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double forcelj,philj; diff --git a/src/USER-FEP/pair_morse_soft.cpp b/src/USER-FEP/pair_morse_soft.cpp index 7a897e1870..965d570863 100644 --- a/src/USER-FEP/pair_morse_soft.cpp +++ b/src/USER-FEP/pair_morse_soft.cpp @@ -360,8 +360,8 @@ void PairMorseSoft::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairMorseSoft::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairMorseSoft::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r, dr, dexp, dexp2, dexp3, phi; diff --git a/src/USER-INTEL/angle_charmm_intel.cpp b/src/USER-INTEL/angle_charmm_intel.cpp index 672b70b6f6..eddef5bce8 100644 --- a/src/USER-INTEL/angle_charmm_intel.cpp +++ b/src/USER-INTEL/angle_charmm_intel.cpp @@ -332,7 +332,7 @@ void AngleCharmmIntel::init_style() template void AngleCharmmIntel::pack_force_const(ForceConst &fc, - IntelBuffers *buffers) + IntelBuffers */*buffers*/) { const int bp1 = atom->nangletypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/angle_harmonic_intel.cpp b/src/USER-INTEL/angle_harmonic_intel.cpp index 74639f3aeb..077825332c 100644 --- a/src/USER-INTEL/angle_harmonic_intel.cpp +++ b/src/USER-INTEL/angle_harmonic_intel.cpp @@ -314,7 +314,7 @@ void AngleHarmonicIntel::init_style() template void AngleHarmonicIntel::pack_force_const(ForceConst &fc, - IntelBuffers *buffers) + IntelBuffers */*buffers*/) { const int bp1 = atom->nangletypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/bond_fene_intel.cpp b/src/USER-INTEL/bond_fene_intel.cpp index 2d70049a89..88fa65f555 100644 --- a/src/USER-INTEL/bond_fene_intel.cpp +++ b/src/USER-INTEL/bond_fene_intel.cpp @@ -291,7 +291,7 @@ void BondFENEIntel::init_style() template void BondFENEIntel::pack_force_const(ForceConst &fc, - IntelBuffers *buffers) + IntelBuffers */*buffers*/) { const int bp1 = atom->nbondtypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/bond_harmonic_intel.cpp b/src/USER-INTEL/bond_harmonic_intel.cpp index ed9cab082e..f4ab991b1c 100644 --- a/src/USER-INTEL/bond_harmonic_intel.cpp +++ b/src/USER-INTEL/bond_harmonic_intel.cpp @@ -262,7 +262,7 @@ void BondHarmonicIntel::init_style() template void BondHarmonicIntel::pack_force_const(ForceConst &fc, - IntelBuffers *buffers) + IntelBuffers */*buffers*/) { const int bp1 = atom->nbondtypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/dihedral_fourier_intel.cpp b/src/USER-INTEL/dihedral_fourier_intel.cpp index 6ad25f1ce4..7494fef3bf 100644 --- a/src/USER-INTEL/dihedral_fourier_intel.cpp +++ b/src/USER-INTEL/dihedral_fourier_intel.cpp @@ -401,7 +401,7 @@ void DihedralFourierIntel::init_style() template void DihedralFourierIntel::pack_force_const(ForceConst &fc, - IntelBuffers *buffers) + IntelBuffers */*buffers*/) { const int bp1 = atom->ndihedraltypes + 1; fc.set_ntypes(bp1, setflag, nterms, memory); diff --git a/src/USER-INTEL/dihedral_harmonic_intel.cpp b/src/USER-INTEL/dihedral_harmonic_intel.cpp index b2bf54102c..57361b9527 100644 --- a/src/USER-INTEL/dihedral_harmonic_intel.cpp +++ b/src/USER-INTEL/dihedral_harmonic_intel.cpp @@ -396,7 +396,7 @@ void DihedralHarmonicIntel::init_style() template void DihedralHarmonicIntel::pack_force_const(ForceConst &fc, - IntelBuffers *buffers) + IntelBuffers */*buffers*/) { const int bp1 = atom->ndihedraltypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/dihedral_opls_intel.cpp b/src/USER-INTEL/dihedral_opls_intel.cpp index 832ce7ed50..ae2810f662 100644 --- a/src/USER-INTEL/dihedral_opls_intel.cpp +++ b/src/USER-INTEL/dihedral_opls_intel.cpp @@ -416,7 +416,7 @@ void DihedralOPLSIntel::init_style() template void DihedralOPLSIntel::pack_force_const(ForceConst &fc, - IntelBuffers *buffers) + IntelBuffers */*buffers*/) { const int bp1 = atom->ndihedraltypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/fix_intel.cpp b/src/USER-INTEL/fix_intel.cpp index 7a206f472a..4c703da833 100644 --- a/src/USER-INTEL/fix_intel.cpp +++ b/src/USER-INTEL/fix_intel.cpp @@ -349,7 +349,7 @@ void FixIntel::init() /* ---------------------------------------------------------------------- */ -void FixIntel::setup(int vflag) +void FixIntel::setup(int /*vflag*/) { if (neighbor->style != Neighbor::BIN) error->all(FLERR, @@ -539,7 +539,7 @@ void FixIntel::check_neighbor_intel() /* ---------------------------------------------------------------------- */ -void FixIntel::pre_reverse(int eflag, int vflag) +void FixIntel::pre_reverse(int /*eflag*/, int /*vflag*/) { if (_force_array_m != 0) { if (_need_reduce) { @@ -652,7 +652,7 @@ template void FixIntel::add_results(const ft * _noalias const f_in, const acc_t * _noalias const ev_global, const int eatom, const int vatom, - const int offload) { + const int /*offload*/) { start_watch(TIME_PACK); int f_length; #ifdef _LMP_INTEL_OFFLOAD @@ -719,7 +719,7 @@ void FixIntel::add_results(const ft * _noalias const f_in, template void FixIntel::add_oresults(const ft * _noalias const f_in, const acc_t * _noalias const ev_global, - const int eatom, const int vatom, + const int eatom, const int /*vatom*/, const int out_offset, const int nall) { lmp_ft * _noalias const f = (lmp_ft *) lmp->atom->f[0] + out_offset; if (atom->torque) { diff --git a/src/USER-INTEL/fix_intel.h b/src/USER-INTEL/fix_intel.h index 79fb23ab3d..e6e09be503 100644 --- a/src/USER-INTEL/fix_intel.h +++ b/src/USER-INTEL/fix_intel.h @@ -74,7 +74,7 @@ class FixIntel : public Fix { inline int nbor_pack_width() const { return _nbor_pack_width; } inline void nbor_pack_width(const int w) { _nbor_pack_width = w; } inline int three_body_neighbor() { return _three_body_neighbor; } - inline void three_body_neighbor(const int i) { _three_body_neighbor = 1; } + inline void three_body_neighbor(const int /*i*/) { _three_body_neighbor = 1; } inline int need_zero(const int tid) { if (_need_reduce == 0 && tid > 0) return 1; @@ -159,8 +159,8 @@ class FixIntel : public Fix { inline int host_start_neighbor() { return 0; } inline int host_start_pair() { return 0; } inline void zero_timers() {} - inline void start_watch(const int which) {} - inline double stop_watch(const int which) { return 0.0; } + inline void start_watch(const int /*which*/) {} + inline double stop_watch(const int /*which*/) { return 0.0; } double * off_watch_pair() { return NULL; } double * off_watch_neighbor() { return NULL; } inline void balance_stamp() {} @@ -238,7 +238,7 @@ class FixIntel : public Fix { /* ---------------------------------------------------------------------- */ -void FixIntel::get_buffern(const int offload, int &nlocal, int &nall, +void FixIntel::get_buffern(const int /*offload*/, int &nlocal, int &nall, int &minlocal) { #ifdef _LMP_INTEL_OFFLOAD if (_separate_buffers) { @@ -273,7 +273,7 @@ void FixIntel::get_buffern(const int offload, int &nlocal, int &nall, /* ---------------------------------------------------------------------- */ void FixIntel::add_result_array(IntelBuffers::vec3_acc_t *f_in, - double *ev_in, const int offload, + double *ev_in, const int /*offload*/, const int eatom, const int vatom, const int rflag) { #ifdef _LMP_INTEL_OFFLOAD @@ -301,7 +301,7 @@ void FixIntel::add_result_array(IntelBuffers::vec3_acc_t *f_in, /* ---------------------------------------------------------------------- */ void FixIntel::add_result_array(IntelBuffers::vec3_acc_t *f_in, - double *ev_in, const int offload, + double *ev_in, const int /*offload*/, const int eatom, const int vatom, const int rflag) { #ifdef _LMP_INTEL_OFFLOAD @@ -329,7 +329,7 @@ void FixIntel::add_result_array(IntelBuffers::vec3_acc_t *f_in, /* ---------------------------------------------------------------------- */ void FixIntel::add_result_array(IntelBuffers::vec3_acc_t *f_in, - float *ev_in, const int offload, + float *ev_in, const int /*offload*/, const int eatom, const int vatom, const int rflag) { #ifdef _LMP_INTEL_OFFLOAD diff --git a/src/USER-INTEL/fix_nve_asphere_intel.cpp b/src/USER-INTEL/fix_nve_asphere_intel.cpp index 17bbcff771..a83306def5 100644 --- a/src/USER-INTEL/fix_nve_asphere_intel.cpp +++ b/src/USER-INTEL/fix_nve_asphere_intel.cpp @@ -79,7 +79,7 @@ void FixNVEAsphereIntel::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixNVEAsphereIntel::initial_integrate(int vflag) +void FixNVEAsphereIntel::initial_integrate(int /*vflag*/) { double dtfm; double inertia[3],omega[3]; diff --git a/src/USER-INTEL/fix_nve_intel.cpp b/src/USER-INTEL/fix_nve_intel.cpp index c0f6da06ae..7dee31d2f4 100644 --- a/src/USER-INTEL/fix_nve_intel.cpp +++ b/src/USER-INTEL/fix_nve_intel.cpp @@ -56,7 +56,7 @@ void FixNVEIntel::setup(int vflag) allow for both per-type and per-atom mass ------------------------------------------------------------------------- */ -void FixNVEIntel::initial_integrate(int vflag) +void FixNVEIntel::initial_integrate(int /*vflag*/) { // update v and x of atoms in group diff --git a/src/USER-INTEL/improper_cvff_intel.cpp b/src/USER-INTEL/improper_cvff_intel.cpp index e0ef2162d1..025206dc67 100644 --- a/src/USER-INTEL/improper_cvff_intel.cpp +++ b/src/USER-INTEL/improper_cvff_intel.cpp @@ -428,7 +428,7 @@ void ImproperCvffIntel::init_style() template void ImproperCvffIntel::pack_force_const(ForceConst &fc, - IntelBuffers *buffers) + IntelBuffers */*buffers*/) { const int bp1 = atom->nimpropertypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/improper_harmonic_intel.cpp b/src/USER-INTEL/improper_harmonic_intel.cpp index 60cbe16358..dde67e1d76 100644 --- a/src/USER-INTEL/improper_harmonic_intel.cpp +++ b/src/USER-INTEL/improper_harmonic_intel.cpp @@ -384,7 +384,7 @@ void ImproperHarmonicIntel::init_style() template void ImproperHarmonicIntel::pack_force_const(ForceConst &fc, - IntelBuffers *buffers) + IntelBuffers */*buffers*/) { const int bp1 = atom->nimpropertypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/intel_buffers.cpp b/src/USER-INTEL/intel_buffers.cpp index 0f32cb48b2..ada70a18a4 100644 --- a/src/USER-INTEL/intel_buffers.cpp +++ b/src/USER-INTEL/intel_buffers.cpp @@ -109,7 +109,7 @@ void IntelBuffers::free_buffers() template void IntelBuffers::_grow(const int nall, const int nlocal, const int nthreads, - const int offload_end) + const int /*offload_end*/) { free_buffers(); _buf_size = static_cast(nall) * 1.1 + 1; @@ -200,7 +200,7 @@ void IntelBuffers::free_nmax() /* ---------------------------------------------------------------------- */ template -void IntelBuffers::_grow_nmax(const int offload_end) +void IntelBuffers::_grow_nmax(const int /*offload_end*/) { #ifdef _LMP_INTEL_OFFLOAD free_nmax(); @@ -264,7 +264,7 @@ void IntelBuffers::free_list_local() template void IntelBuffers::_grow_list_local(NeighList *list, - const int offload_end) + const int /*offload_end*/) { free_list_local(); int size = list->get_maxlocal(); @@ -310,10 +310,10 @@ void IntelBuffers::free_nbor_list() /* ---------------------------------------------------------------------- */ template -void IntelBuffers::_grow_nbor_list(NeighList *list, +void IntelBuffers::_grow_nbor_list(NeighList */*list*/, const int nlocal, const int nthreads, - const int offload_end, + const int /*offload_end*/, const int pack_width) { free_nbor_list(); @@ -382,7 +382,7 @@ void IntelBuffers::free_ccache() /* ---------------------------------------------------------------------- */ template -void IntelBuffers::grow_ccache(const int off_flag, +void IntelBuffers::grow_ccache(const int /*off_flag*/, const int nthreads, const int width) { @@ -481,7 +481,7 @@ void IntelBuffers::free_ncache() /* ---------------------------------------------------------------------- */ template -void IntelBuffers::grow_ncache(const int off_flag, +void IntelBuffers::grow_ncache(const int /*off_flag*/, const int nthreads) { const int nsize = get_max_nbors() * 3; diff --git a/src/USER-INTEL/intel_buffers.h b/src/USER-INTEL/intel_buffers.h index 8040715b2e..397fa77a7e 100644 --- a/src/USER-INTEL/intel_buffers.h +++ b/src/USER-INTEL/intel_buffers.h @@ -135,24 +135,24 @@ class IntelBuffers { void set_ntypes(const int ntypes, const int use_ghost_cut = 0); - inline int * firstneigh(const NeighList *list) { return _list_alloc; } - inline int * cnumneigh(const NeighList *list) { return _cnumneigh; } + inline int * firstneigh(const NeighList */*list*/) { return _list_alloc; } + inline int * cnumneigh(const NeighList */*list*/) { return _cnumneigh; } inline int * get_atombin() { return _atombin; } inline int * get_binpacked() { return _binpacked; } - inline atom_t * get_x(const int offload = 1) { + inline atom_t * get_x(const int /*offload*/ = 1) { #ifdef _LMP_INTEL_OFFLOAD if (_separate_buffers && offload == 0) return _host_x; #endif return _x; } - inline flt_t * get_q(const int offload = 1) { + inline flt_t * get_q(const int /*offload*/ = 1) { #ifdef _LMP_INTEL_OFFLOAD if (_separate_buffers && offload == 0) return _host_q; #endif return _q; } - inline quat_t * get_quat(const int offload = 1) { + inline quat_t * get_quat(const int /*offload*/ = 1) { #ifdef _LMP_INTEL_OFFLOAD if (_separate_buffers && offload == 0) return _host_quat; #endif diff --git a/src/USER-INTEL/intel_intrinsics_airebo.h b/src/USER-INTEL/intel_intrinsics_airebo.h index 4a86d8db29..2c86ad3520 100644 --- a/src/USER-INTEL/intel_intrinsics_airebo.h +++ b/src/USER-INTEL/intel_intrinsics_airebo.h @@ -2057,8 +2057,8 @@ public: } VEC_INLINE static ivec set( - int i15, int i14, int i13, int i12, int i11, int i10, int i9, int i8, - int i7, int i6, int i5, int i4, int i3, int i2, int i1, int i0 + int /*i15*/, int /*i14*/, int /*i13*/, int /*i12*/, int /*i11*/, int /*i10*/, int /*i9*/, int /*i8*/, + int /*i7*/, int /*i6*/, int /*i5*/, int /*i4*/, int /*i3*/, int /*i2*/, int /*i1*/, int i0 ) { return i0; } diff --git a/src/USER-INTEL/npair_full_bin_ghost_intel.cpp b/src/USER-INTEL/npair_full_bin_ghost_intel.cpp index ae961e84b5..8be2165deb 100644 --- a/src/USER-INTEL/npair_full_bin_ghost_intel.cpp +++ b/src/USER-INTEL/npair_full_bin_ghost_intel.cpp @@ -106,7 +106,7 @@ void NPairFullBinGhostIntel::fbi(NeighList * list, /* ---------------------------------------------------------------------- */ template -void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list, +void NPairFullBinGhostIntel::fbi(const int /*offload*/, NeighList * list, IntelBuffers * buffers, const int pstart, const int pend) { if (pend-pstart == 0) return; diff --git a/src/USER-INTEL/npair_intel.cpp b/src/USER-INTEL/npair_intel.cpp index 355c8db199..d59cd2304a 100644 --- a/src/USER-INTEL/npair_intel.cpp +++ b/src/USER-INTEL/npair_intel.cpp @@ -54,10 +54,10 @@ NPairIntel::~NPairIntel() { template -void NPairIntel::bin_newton(const int offload, NeighList *list, +void NPairIntel::bin_newton(const int /*offload*/, NeighList *list, IntelBuffers *buffers, const int astart, const int aend, - const int offload_end) { + const int /*offload_end*/) { if (aend-astart == 0) return; diff --git a/src/USER-INTEL/pair_airebo_intel.cpp b/src/USER-INTEL/pair_airebo_intel.cpp index 07f33f7ebe..601144a3c0 100644 --- a/src/USER-INTEL/pair_airebo_intel.cpp +++ b/src/USER-INTEL/pair_airebo_intel.cpp @@ -2200,7 +2200,7 @@ typedef typename intr_types::bvec bvec; VEC_INLINE inline static void aut_loadatoms_vec( AtomAIREBOT * atoms, ivec j_vec, - fvec *x, fvec * y, fvec * z, bvec * type_mask, int * map, ivec map_i, + fvec *x, fvec * y, fvec * z, bvec * type_mask, int * /*map*/, ivec map_i, ivec c_1 ) { const ivec c_4 = ivec::set1(4); @@ -2413,7 +2413,7 @@ static fvec aut_eval_poly_lin_pd_2(int n, flt_t * vals, ivec idx, fvec x, } static fvec aut_mask_gSpline_pd_2(KernelArgsAIREBOT * ka, - bvec active_mask, int itype, fvec cosjik, + bvec /*active_mask*/, int itype, fvec cosjik, fvec Nij, fvec *dgdc, fvec *dgdN) { int i; flt_t * gDom = NULL; @@ -2835,7 +2835,7 @@ static void aut_frebo_data_writeback( static void aut_frebo_N_spline_force( KernelArgsAIREBOT * _noalias ka, struct aut_frebo_data * _noalias data, int itype, int jtype, ivec vi, - ivec vj, fvec VA, fvec dN, fvec dNconj, fvec Nconj) { + ivec /*vj*/, fvec VA, fvec dN, fvec dNconj, fvec Nconj) { ivec c_i1 = ivec::set1(1); fvec c_2 = fvec::set1(2); fvec c_TOL = fvec::set1(TOL); @@ -2999,8 +2999,8 @@ static fvec aut_frebo_sum_omega( KernelArgsAIREBOT * _noalias ka, struct aut_frebo_data * _noalias i_data, struct aut_frebo_data * _noalias j_data, - int itype, int jtype, - ivec vi, ivec vj, + int /*itype*/, int /*jtype*/, + ivec /*vi*/, ivec /*vj*/, fvec r23x, fvec r23y, fvec r23z, fvec r23mag, fvec VA, fvec fij[3] ) { @@ -3284,7 +3284,7 @@ static void aut_torsion_vec( KernelArgsAIREBOT * ka, struct aut_frebo_data * i_data, struct aut_frebo_data * j_data, - ivec i, ivec j, fvec wij, fvec dwij + ivec /*i*/, ivec /*j*/, fvec wij, fvec dwij ) { AtomAIREBOT * x = ka->x; int * map = ka->map; @@ -4134,7 +4134,7 @@ exceed_limits: /* * Attempt to look up an element in the hash-map. */ -static fvec aut_airebo_lj_tap_test_path(KernelArgsAIREBOT * ka, +static fvec aut_airebo_lj_tap_test_path(KernelArgsAIREBOT * /*ka*/, struct aut_airebo_lj_test_path_result_data * test_path_result, bvec need_search, ivec i_bc, ivec j, LennardJonesPathAIREBOT path[fvec::VL] diff --git a/src/USER-INTEL/pair_eam_intel.cpp b/src/USER-INTEL/pair_eam_intel.cpp index 201277e68d..11ae442c0e 100644 --- a/src/USER-INTEL/pair_eam_intel.cpp +++ b/src/USER-INTEL/pair_eam_intel.cpp @@ -784,7 +784,7 @@ void PairEAMIntel::ForceConst::set_ntypes(const int ntypes, /* ---------------------------------------------------------------------- */ int PairEAMIntel::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) return pack_forward_comm(n, list, buf, fp); diff --git a/src/USER-INTEL/pair_rebo_intel.cpp b/src/USER-INTEL/pair_rebo_intel.cpp index bc7197000b..3decc0154b 100644 --- a/src/USER-INTEL/pair_rebo_intel.cpp +++ b/src/USER-INTEL/pair_rebo_intel.cpp @@ -28,7 +28,7 @@ PairREBOIntel::PairREBOIntel(LAMMPS *lmp) : PairAIREBOIntel(lmp) {} global settings ------------------------------------------------------------------------- */ -void PairREBOIntel::settings(int narg, char **arg) +void PairREBOIntel::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); diff --git a/src/USER-INTEL/pair_sw_intel.cpp b/src/USER-INTEL/pair_sw_intel.cpp index d1d52270be..aff8ba88a7 100644 --- a/src/USER-INTEL/pair_sw_intel.cpp +++ b/src/USER-INTEL/pair_sw_intel.cpp @@ -173,7 +173,7 @@ template void PairSWIntel::eval(const int offload, const int vflag, IntelBuffers *buffers, const ForceConst &fc, const int astart, - const int aend, const int pad_width) + const int aend, const int /*pad_width*/) { const int inum = aend - astart; if (inum == 0) return; diff --git a/src/USER-INTEL/pppm_disp_intel.cpp b/src/USER-INTEL/pppm_disp_intel.cpp index 0a41e5d8a5..c7edc15a49 100644 --- a/src/USER-INTEL/pppm_disp_intel.cpp +++ b/src/USER-INTEL/pppm_disp_intel.cpp @@ -723,7 +723,7 @@ void PPPMDispIntel::particle_map(double delx, double dely, double delz, double sft, int** p2g, int nup, int nlow, int nxlo, int nylo, int nzlo, int nxhi, int nyhi, int nzhi, - IntelBuffers *buffers) + IntelBuffers */*buffers*/) { int nlocal = atom->nlocal; int nthr = comm->nthreads; @@ -790,7 +790,7 @@ void PPPMDispIntel::particle_map(double delx, double dely, double delz, ------------------------------------------------------------------------- */ template -void PPPMDispIntel::make_rho_c(IntelBuffers *buffers) +void PPPMDispIntel::make_rho_c(IntelBuffers */*buffers*/) { // clear 3d density array @@ -940,7 +940,7 @@ void PPPMDispIntel::make_rho_c(IntelBuffers *buffers) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::make_rho_g(IntelBuffers *buffers) +void PPPMDispIntel::make_rho_g(IntelBuffers */*buffers*/) { // clear 3d density array @@ -1091,7 +1091,7 @@ void PPPMDispIntel::make_rho_g(IntelBuffers *buffers) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::make_rho_a(IntelBuffers *buffers) +void PPPMDispIntel::make_rho_a(IntelBuffers */*buffers*/) { // clear 3d density array @@ -1225,7 +1225,7 @@ void PPPMDispIntel::make_rho_a(IntelBuffers *buffers) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::make_rho_none(IntelBuffers *buffers) +void PPPMDispIntel::make_rho_none(IntelBuffers */*buffers*/) { FFT_SCALAR * _noalias global_density = &(density_brick_none[0][nzlo_out_6][nylo_out_6][nxlo_out_6]); @@ -1373,7 +1373,7 @@ void PPPMDispIntel::make_rho_none(IntelBuffers *buffers) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_c_ik(IntelBuffers *buffers) +void PPPMDispIntel::fieldforce_c_ik(IntelBuffers */*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -1520,7 +1520,7 @@ void PPPMDispIntel::fieldforce_c_ik(IntelBuffers *buffers) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_c_ad(IntelBuffers *buffers) +void PPPMDispIntel::fieldforce_c_ad(IntelBuffers */*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -1725,7 +1725,7 @@ void PPPMDispIntel::fieldforce_c_ad(IntelBuffers *buffers) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_g_ik(IntelBuffers *buffers) +void PPPMDispIntel::fieldforce_g_ik(IntelBuffers */*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -1869,7 +1869,7 @@ void PPPMDispIntel::fieldforce_g_ik(IntelBuffers *buffers) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_g_ad(IntelBuffers *buffers) +void PPPMDispIntel::fieldforce_g_ad(IntelBuffers */*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -2069,7 +2069,7 @@ void PPPMDispIntel::fieldforce_g_ad(IntelBuffers *buffers) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_a_ik(IntelBuffers *buffers) +void PPPMDispIntel::fieldforce_a_ik(IntelBuffers */*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -2282,7 +2282,7 @@ void PPPMDispIntel::fieldforce_a_ik(IntelBuffers *buffers) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_a_ad(IntelBuffers *buffers) +void PPPMDispIntel::fieldforce_a_ad(IntelBuffers */*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -2594,7 +2594,7 @@ void PPPMDispIntel::fieldforce_a_ad(IntelBuffers *buffers) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_none_ik(IntelBuffers *buffers) +void PPPMDispIntel::fieldforce_none_ik(IntelBuffers */*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -2755,7 +2755,7 @@ void PPPMDispIntel::fieldforce_none_ik(IntelBuffers *buffers) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_none_ad(IntelBuffers *buffers) +void PPPMDispIntel::fieldforce_none_ad(IntelBuffers */*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points // (nx,ny,nz) = global coords of grid pt to "lower left" of charge diff --git a/src/USER-INTEL/pppm_intel.cpp b/src/USER-INTEL/pppm_intel.cpp index 46a55e558a..e5540e6377 100644 --- a/src/USER-INTEL/pppm_intel.cpp +++ b/src/USER-INTEL/pppm_intel.cpp @@ -255,7 +255,7 @@ void PPPMIntel::compute_first(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -void PPPMIntel::compute_second(int eflag, int vflag) +void PPPMIntel::compute_second(int /*eflag*/, int /*vflag*/) { int i,j; diff --git a/src/USER-LB/fix_lb_fluid.cpp b/src/USER-LB/fix_lb_fluid.cpp index 7a0bd0572e..fecd6f2b25 100644 --- a/src/USER-LB/fix_lb_fluid.cpp +++ b/src/USER-LB/fix_lb_fluid.cpp @@ -646,7 +646,7 @@ void FixLbFluid::init(void) } -void FixLbFluid::setup(int vflag) +void FixLbFluid::setup(int /*vflag*/) { //-------------------------------------------------------------------------- // Need to calculate the force on the fluid for a restart run. @@ -655,7 +655,7 @@ void FixLbFluid::setup(int vflag) calc_fluidforce(); } -void FixLbFluid::initial_integrate(int vflag) +void FixLbFluid::initial_integrate(int /*vflag*/) { //-------------------------------------------------------------------------- // Print a header labelling any output printed to the screen. @@ -711,7 +711,7 @@ void FixLbFluid::initial_integrate(int vflag) streamout(); } -void FixLbFluid::post_force(int vflag) +void FixLbFluid::post_force(int /*vflag*/) { if(fixviscouslb==1) calc_fluidforce(); @@ -741,7 +741,7 @@ void FixLbFluid::grow_arrays(int nmax) //========================================================================== // copy values within local atom-based array //========================================================================== -void FixLbFluid::copy_arrays(int i, int j, int delflag) +void FixLbFluid::copy_arrays(int i, int j, int /*delflag*/) { hydroF[j][0] = hydroF[i][0]; hydroF[j][1] = hydroF[i][1]; diff --git a/src/USER-LB/fix_lb_pc.cpp b/src/USER-LB/fix_lb_pc.cpp index 9fd0dab51d..c5c12d6c11 100644 --- a/src/USER-LB/fix_lb_pc.cpp +++ b/src/USER-LB/fix_lb_pc.cpp @@ -118,7 +118,7 @@ void FixLbPC::init() } /* ---------------------------------------------------------------------- */ -void FixLbPC::initial_integrate(int vflag) { +void FixLbPC::initial_integrate(int /*vflag*/) { double dtfm; @@ -285,7 +285,7 @@ void FixLbPC::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixLbPC::copy_arrays(int i, int j, int delflag) +void FixLbPC::copy_arrays(int i, int j, int /*delflag*/) { force_old[j][0] = force_old[i][0]; diff --git a/src/USER-LB/fix_lb_rigid_pc_sphere.cpp b/src/USER-LB/fix_lb_rigid_pc_sphere.cpp index dddd060fa4..2601539727 100644 --- a/src/USER-LB/fix_lb_rigid_pc_sphere.cpp +++ b/src/USER-LB/fix_lb_rigid_pc_sphere.cpp @@ -1454,7 +1454,7 @@ void FixLbRigidPCSphere::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixLbRigidPCSphere::copy_arrays(int i, int j, int delflag) +void FixLbRigidPCSphere::copy_arrays(int i, int j, int /*delflag*/) { body[j] = body[i]; up[j][0] = up[i][0]; diff --git a/src/USER-LB/fix_lb_viscous.cpp b/src/USER-LB/fix_lb_viscous.cpp index 8ee4d8419e..afe23477be 100644 --- a/src/USER-LB/fix_lb_viscous.cpp +++ b/src/USER-LB/fix_lb_viscous.cpp @@ -109,7 +109,7 @@ void FixLbViscous::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixLbViscous::post_force(int vflag) +void FixLbViscous::post_force(int /*vflag*/) { // apply drag force to atoms in group // direction is opposed to velocity vector @@ -132,7 +132,7 @@ void FixLbViscous::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixLbViscous::post_force_respa(int vflag, int ilevel, int iloop) +void FixLbViscous::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_force(vflag); } diff --git a/src/USER-MANIFOLD/fix_manifoldforce.cpp b/src/USER-MANIFOLD/fix_manifoldforce.cpp index 04172d5c92..4e717ce556 100644 --- a/src/USER-MANIFOLD/fix_manifoldforce.cpp +++ b/src/USER-MANIFOLD/fix_manifoldforce.cpp @@ -149,7 +149,7 @@ void FixManifoldForce::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixManifoldForce::post_force(int vflag) +void FixManifoldForce::post_force(int /*vflag*/) { double **x = atom->x; double **f = atom->f; @@ -177,7 +177,7 @@ void FixManifoldForce::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixManifoldForce::post_force_respa(int vflag, int ilevel, int iloop) +void FixManifoldForce::post_force_respa(int vflag, int /*ilevel*/, int /*iloop*/) { post_force(vflag); } diff --git a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp b/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp index 4dcc3f9704..3c6c70f6df 100644 --- a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp +++ b/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp @@ -307,7 +307,7 @@ void FixNVEManifoldRattle::update_var_params() /* ----------------------------------------------------------------------------- ---------------------------------------------------------------------------*/ -int FixNVEManifoldRattle::dof(int igroup) +int FixNVEManifoldRattle::dof(int /*igroup*/) { int *mask = atom->mask; int nlocal = atom->nlocal; @@ -348,7 +348,7 @@ double FixNVEManifoldRattle::memory_usage() /* ----------------------------------------------------------------------------- ---------------------------------------------------------------------------*/ -void FixNVEManifoldRattle::initial_integrate(int vflag) +void FixNVEManifoldRattle::initial_integrate(int /*vflag*/) { update_var_params(); nve_x_rattle(igroup, groupbit); diff --git a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp b/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp index 973a5bcf43..2a204d2048 100644 --- a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp +++ b/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp @@ -229,7 +229,7 @@ void FixNVTManifoldRattle::init() -void FixNVTManifoldRattle::setup(int vflag) +void FixNVTManifoldRattle::setup(int /*vflag*/) { compute_temp_target(); @@ -371,7 +371,7 @@ void FixNVTManifoldRattle::nh_v_temp() // Most of this logic is based on fix_nh: -void FixNVTManifoldRattle::initial_integrate(int vflag) +void FixNVTManifoldRattle::initial_integrate(int /*vflag*/) { update_var_params(); diff --git a/src/USER-MANIFOLD/manifold.h b/src/USER-MANIFOLD/manifold.h index 6eb09010ef..b0727c346d 100644 --- a/src/USER-MANIFOLD/manifold.h +++ b/src/USER-MANIFOLD/manifold.h @@ -61,7 +61,7 @@ namespace user_manifold { virtual const char *id() = 0; - virtual void set_atom_id( tagint a_id ){} + virtual void set_atom_id( tagint /*a_id*/ ){} virtual int nparams() = 0; // double *get_params(){ return params; }; diff --git a/src/USER-MANIFOLD/manifold_cylinder.cpp b/src/USER-MANIFOLD/manifold_cylinder.cpp index c13581c640..28062d7a27 100644 --- a/src/USER-MANIFOLD/manifold_cylinder.cpp +++ b/src/USER-MANIFOLD/manifold_cylinder.cpp @@ -5,8 +5,8 @@ using namespace LAMMPS_NS; using namespace user_manifold; -manifold_cylinder::manifold_cylinder( LAMMPS *lmp, int argc, - char **argv ) : manifold(lmp) +manifold_cylinder::manifold_cylinder( LAMMPS *lmp, int /*argc*/, + char **/*argv*/ ) : manifold(lmp) {} diff --git a/src/USER-MANIFOLD/manifold_cylinder_dent.cpp b/src/USER-MANIFOLD/manifold_cylinder_dent.cpp index 21d4087d7c..4df4c833d3 100644 --- a/src/USER-MANIFOLD/manifold_cylinder_dent.cpp +++ b/src/USER-MANIFOLD/manifold_cylinder_dent.cpp @@ -8,8 +8,8 @@ using namespace LAMMPS_NS; using namespace user_manifold; -manifold_cylinder_dent::manifold_cylinder_dent( LAMMPS *lmp, int argc, - char **argv ) : manifold(lmp) +manifold_cylinder_dent::manifold_cylinder_dent( LAMMPS *lmp, int /*argc*/, + char **/*argv*/ ) : manifold(lmp) {} diff --git a/src/USER-MANIFOLD/manifold_dumbbell.cpp b/src/USER-MANIFOLD/manifold_dumbbell.cpp index fa7edc6e4a..c40a5fff9f 100644 --- a/src/USER-MANIFOLD/manifold_dumbbell.cpp +++ b/src/USER-MANIFOLD/manifold_dumbbell.cpp @@ -6,7 +6,7 @@ using namespace LAMMPS_NS; using namespace user_manifold; -manifold_dumbbell::manifold_dumbbell( LAMMPS *lmp, int argc, char **argv ) : manifold(lmp) +manifold_dumbbell::manifold_dumbbell( LAMMPS *lmp, int /*argc*/, char **/*argv*/ ) : manifold(lmp) {} diff --git a/src/USER-MANIFOLD/manifold_ellipsoid.cpp b/src/USER-MANIFOLD/manifold_ellipsoid.cpp index f590123dc3..d5e7bb146e 100644 --- a/src/USER-MANIFOLD/manifold_ellipsoid.cpp +++ b/src/USER-MANIFOLD/manifold_ellipsoid.cpp @@ -4,7 +4,7 @@ using namespace LAMMPS_NS; using namespace user_manifold; -manifold_ellipsoid::manifold_ellipsoid( LAMMPS *lmp, int narg, char **argv ) : manifold(lmp) +manifold_ellipsoid::manifold_ellipsoid( LAMMPS *lmp, int /*narg*/, char **/*argv*/ ) : manifold(lmp) {} diff --git a/src/USER-MANIFOLD/manifold_gaussian_bump.cpp b/src/USER-MANIFOLD/manifold_gaussian_bump.cpp index cbb47ef92d..b95162740b 100644 --- a/src/USER-MANIFOLD/manifold_gaussian_bump.cpp +++ b/src/USER-MANIFOLD/manifold_gaussian_bump.cpp @@ -133,7 +133,7 @@ public: // Manifold itself: manifold_gaussian_bump::manifold_gaussian_bump(class LAMMPS* lmp, - int narg, char **arg) + int /*narg*/, char **/*arg*/) : manifold(lmp), lut_z(NULL), lut_zp(NULL) {} diff --git a/src/USER-MANIFOLD/manifold_plane.cpp b/src/USER-MANIFOLD/manifold_plane.cpp index d33617fbfb..45a1f4b46e 100644 --- a/src/USER-MANIFOLD/manifold_plane.cpp +++ b/src/USER-MANIFOLD/manifold_plane.cpp @@ -4,7 +4,7 @@ using namespace LAMMPS_NS; using namespace user_manifold; -manifold_plane::manifold_plane( LAMMPS *lmp, int argc, char **argv ) : +manifold_plane::manifold_plane( LAMMPS *lmp, int /*argc*/, char **/*argv*/ ) : manifold(lmp) {} @@ -16,7 +16,7 @@ double manifold_plane::g( const double *x ) } -void manifold_plane::n( const double *x, double *n ) +void manifold_plane::n( const double */*x*/, double *n ) { n[0] = params[0]; n[1] = params[1]; diff --git a/src/USER-MANIFOLD/manifold_plane_wiggle.cpp b/src/USER-MANIFOLD/manifold_plane_wiggle.cpp index ccf0a794da..983702b6f3 100644 --- a/src/USER-MANIFOLD/manifold_plane_wiggle.cpp +++ b/src/USER-MANIFOLD/manifold_plane_wiggle.cpp @@ -5,7 +5,7 @@ using namespace LAMMPS_NS; using namespace user_manifold; -manifold_plane_wiggle::manifold_plane_wiggle( LAMMPS *lmp, int argc, char **argv ) : +manifold_plane_wiggle::manifold_plane_wiggle( LAMMPS *lmp, int /*argc*/, char **/*argv*/ ) : manifold(lmp) {} diff --git a/src/USER-MANIFOLD/manifold_spine.cpp b/src/USER-MANIFOLD/manifold_spine.cpp index 308190c528..0ca4c67002 100644 --- a/src/USER-MANIFOLD/manifold_spine.cpp +++ b/src/USER-MANIFOLD/manifold_spine.cpp @@ -8,7 +8,7 @@ using namespace user_manifold; -manifold_spine::manifold_spine( LAMMPS *lmp, int argc, char **argv ) +manifold_spine::manifold_spine( LAMMPS *lmp, int /*argc*/, char **/*argv*/ ) : manifold(lmp) { power = 4; diff --git a/src/USER-MANIFOLD/manifold_thylakoid.cpp b/src/USER-MANIFOLD/manifold_thylakoid.cpp index b7eb155ba2..16c4e696d5 100644 --- a/src/USER-MANIFOLD/manifold_thylakoid.cpp +++ b/src/USER-MANIFOLD/manifold_thylakoid.cpp @@ -12,7 +12,7 @@ using namespace LAMMPS_NS; using namespace user_manifold; -manifold_thylakoid::manifold_thylakoid( LAMMPS *lmp, int narg, char ** arg) +manifold_thylakoid::manifold_thylakoid( LAMMPS *lmp, int /*narg*/, char ** /*arg*/) : manifold(lmp) { // You can NOT depend on proper construction of the domains in @@ -117,7 +117,7 @@ void manifold_thylakoid::n( const double *x, double *n ) } } -thyla_part *manifold_thylakoid::get_thyla_part( const double *x, int *err_flag, std::size_t *idx ) +thyla_part *manifold_thylakoid::get_thyla_part( const double *x, int */*err_flag*/, std::size_t *idx ) { for( std::size_t i = 0; i < parts.size(); ++i ){ diff --git a/src/USER-MANIFOLD/manifold_torus.cpp b/src/USER-MANIFOLD/manifold_torus.cpp index 44a17725b5..0b4ca24370 100644 --- a/src/USER-MANIFOLD/manifold_torus.cpp +++ b/src/USER-MANIFOLD/manifold_torus.cpp @@ -6,7 +6,7 @@ using namespace LAMMPS_NS; using namespace user_manifold; -manifold_torus::manifold_torus( LAMMPS *lmp, int argc, char **argv ) : manifold(lmp) +manifold_torus::manifold_torus( LAMMPS *lmp, int /*argc*/, char **/*argv*/ ) : manifold(lmp) {} diff --git a/src/USER-MEAMC/meam_dens_final.cpp b/src/USER-MEAMC/meam_dens_final.cpp index de188e497d..2be215c282 100644 --- a/src/USER-MEAMC/meam_dens_final.cpp +++ b/src/USER-MEAMC/meam_dens_final.cpp @@ -5,7 +5,7 @@ using namespace LAMMPS_NS; void MEAM::meam_dens_final(int nlocal, int eflag_either, int eflag_global, int eflag_atom, double* eng_vdwl, - double* eatom, int ntype, int* type, int* fmap, int& errorflag) + double* eatom, int /*ntype*/, int* type, int* fmap, int& errorflag) { int i, elti; int m; diff --git a/src/USER-MEAMC/meam_dens_init.cpp b/src/USER-MEAMC/meam_dens_init.cpp index e1a7509ab3..4bbaa42596 100644 --- a/src/USER-MEAMC/meam_dens_init.cpp +++ b/src/USER-MEAMC/meam_dens_init.cpp @@ -93,7 +93,7 @@ MEAM::meam_dens_init(int i, int ntype, int* type, int* fmap, double** x, void MEAM::getscreen(int i, double* scrfcn, double* dscrfcn, double* fcpair, double** x, int numneigh, - int* firstneigh, int numneigh_full, int* firstneigh_full, int ntype, int* type, int* fmap) + int* firstneigh, int numneigh_full, int* firstneigh_full, int /*ntype*/, int* type, int* fmap) { int jn, j, kn, k; int elti, eltj, eltk; @@ -256,7 +256,7 @@ MEAM::getscreen(int i, double* scrfcn, double* dscrfcn, double* fcpair, double** // ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc void -MEAM::calc_rho1(int i, int ntype, int* type, int* fmap, double** x, int numneigh, int* firstneigh, +MEAM::calc_rho1(int i, int /*ntype*/, int* type, int* fmap, double** x, int numneigh, int* firstneigh, double* scrfcn, double* fcpair) { int jn, j, m, n, p, elti, eltj; diff --git a/src/USER-MEAMC/meam_force.cpp b/src/USER-MEAMC/meam_force.cpp index 85314dd8a2..06fbb57adb 100644 --- a/src/USER-MEAMC/meam_force.cpp +++ b/src/USER-MEAMC/meam_force.cpp @@ -7,7 +7,7 @@ using namespace LAMMPS_NS; void MEAM::meam_force(int i, int eflag_either, int eflag_global, int eflag_atom, int vflag_atom, double* eng_vdwl, - double* eatom, int ntype, int* type, int* fmap, double** x, int numneigh, int* firstneigh, + double* eatom, int /*ntype*/, int* type, int* fmap, double** x, int numneigh, int* firstneigh, int numneigh_full, int* firstneigh_full, int fnoffset, double** f, double** vatom) { int j, jn, k, kn, kk, m, n, p, q; diff --git a/src/USER-MEAMC/meam_setup_global.cpp b/src/USER-MEAMC/meam_setup_global.cpp index 7f8ad3d81f..503ee65496 100644 --- a/src/USER-MEAMC/meam_setup_global.cpp +++ b/src/USER-MEAMC/meam_setup_global.cpp @@ -3,7 +3,7 @@ using namespace LAMMPS_NS; void -MEAM::meam_setup_global(int nelt, lattice_t* lat, double* z, int* ielement, double* atwt, double* alpha, +MEAM::meam_setup_global(int nelt, lattice_t* lat, double* z, int* ielement, double* /*atwt*/, double* alpha, double* b0, double* b1, double* b2, double* b3, double* alat, double* esub, double* asub, double* t0, double* t1, double* t2, double* t3, double* rozero, int* ibar) diff --git a/src/USER-MEAMC/pair_meamc.cpp b/src/USER-MEAMC/pair_meamc.cpp index 027e4c27a7..da0e4c1d28 100644 --- a/src/USER-MEAMC/pair_meamc.cpp +++ b/src/USER-MEAMC/pair_meamc.cpp @@ -195,7 +195,7 @@ void PairMEAMC::allocate() global settings ------------------------------------------------------------------------- */ -void PairMEAMC::settings(int narg, char **arg) +void PairMEAMC::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } @@ -312,7 +312,7 @@ void PairMEAMC::init_list(int id, NeighList *ptr) init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairMEAMC::init_one(int i, int j) +double PairMEAMC::init_one(int /*i*/, int /*j*/) { return cutmax; } @@ -598,7 +598,7 @@ void PairMEAMC::read_files(char *globalfile, char *userfile) /* ---------------------------------------------------------------------- */ int PairMEAMC::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,k,m; diff --git a/src/USER-MESO/fix_edpd_source.cpp b/src/USER-MESO/fix_edpd_source.cpp index 8b03e05181..24bef2b1f7 100644 --- a/src/USER-MESO/fix_edpd_source.cpp +++ b/src/USER-MESO/fix_edpd_source.cpp @@ -87,7 +87,7 @@ void FixEDPDSource::init() /* ---------------------------------------------------------------------- */ -void FixEDPDSource::post_force(int vflag) +void FixEDPDSource::post_force(int /*vflag*/) { double **x = atom->x; double *edpd_flux = atom->edpd_flux; diff --git a/src/USER-MESO/fix_mvv_dpd.cpp b/src/USER-MESO/fix_mvv_dpd.cpp index c97a2d779c..f663165f78 100644 --- a/src/USER-MESO/fix_mvv_dpd.cpp +++ b/src/USER-MESO/fix_mvv_dpd.cpp @@ -72,7 +72,7 @@ void FixMvvDPD::init() allow for both per-type and per-atom mass ------------------------------------------------------------------------- */ -void FixMvvDPD::initial_integrate(int vflag) +void FixMvvDPD::initial_integrate(int /*vflag*/) { double dtfm; double **x = atom->x; diff --git a/src/USER-MESO/fix_mvv_edpd.cpp b/src/USER-MESO/fix_mvv_edpd.cpp index 89a831e121..8719d0d262 100644 --- a/src/USER-MESO/fix_mvv_edpd.cpp +++ b/src/USER-MESO/fix_mvv_edpd.cpp @@ -78,7 +78,7 @@ void FixMvvEDPD::init() allow for both per-type and per-atom mass ------------------------------------------------------------------------- */ -void FixMvvEDPD::initial_integrate(int vflag) +void FixMvvEDPD::initial_integrate(int /*vflag*/) { double dtfm,dtT; // update v and x and cc of atoms in group diff --git a/src/USER-MESO/fix_mvv_tdpd.cpp b/src/USER-MESO/fix_mvv_tdpd.cpp index e16171800b..24b1bbcf48 100644 --- a/src/USER-MESO/fix_mvv_tdpd.cpp +++ b/src/USER-MESO/fix_mvv_tdpd.cpp @@ -76,7 +76,7 @@ void FixMvvTDPD::init() allow for both per-type and per-atom mass ------------------------------------------------------------------------- */ -void FixMvvTDPD::initial_integrate(int vflag) +void FixMvvTDPD::initial_integrate(int /*vflag*/) { double dtfm; // update v and x and cc of atoms in group diff --git a/src/USER-MESO/fix_tdpd_source.cpp b/src/USER-MESO/fix_tdpd_source.cpp index 64964a4c98..89e8005b43 100644 --- a/src/USER-MESO/fix_tdpd_source.cpp +++ b/src/USER-MESO/fix_tdpd_source.cpp @@ -88,7 +88,7 @@ void FixTDPDSource::init() /* ---------------------------------------------------------------------- */ -void FixTDPDSource::post_force(int vflag) +void FixTDPDSource::post_force(int /*vflag*/) { double **x = atom->x; double **cc_flux = atom->cc_flux; diff --git a/src/USER-MESO/pair_edpd.cpp b/src/USER-MESO/pair_edpd.cpp index 351637a842..5ed63a2a8b 100644 --- a/src/USER-MESO/pair_edpd.cpp +++ b/src/USER-MESO/pair_edpd.cpp @@ -530,7 +530,7 @@ void PairEDPD::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ double PairEDPD::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_dpd, double &fforce) + double /*factor_coul*/, double factor_dpd, double &fforce) { double r,rinv,wc,phi; double *T = atom->edpd_temp; diff --git a/src/USER-MESO/pair_mdpd_rhosum.cpp b/src/USER-MESO/pair_mdpd_rhosum.cpp index 1264d03ed3..d705285584 100644 --- a/src/USER-MESO/pair_mdpd_rhosum.cpp +++ b/src/USER-MESO/pair_mdpd_rhosum.cpp @@ -186,7 +186,7 @@ void PairMDPDRhoSum::allocate() { global settings ------------------------------------------------------------------------- */ -void PairMDPDRhoSum::settings(int narg, char **arg) { +void PairMDPDRhoSum::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal number of setting arguments for pair_style mdpd/rhosum"); } @@ -236,8 +236,8 @@ double PairMDPDRhoSum::init_one(int i, int j) { /* ---------------------------------------------------------------------- */ -double PairMDPDRhoSum::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, double &fforce) { +double PairMDPDRhoSum::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, double /*rsq*/, + double /*factor_coul*/, double /*factor_lj*/, double &fforce) { fforce = 0.0; return 0.0; @@ -246,7 +246,7 @@ double PairMDPDRhoSum::single(int i, int j, int itype, int jtype, double rsq, /* ---------------------------------------------------------------------- */ int PairMDPDRhoSum::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) { + int /*pbc_flag*/, int */*pbc*/) { int i, j, m; double *rho = atom->rho; diff --git a/src/USER-MESO/pair_tdpd.cpp b/src/USER-MESO/pair_tdpd.cpp index b8bbf6d622..821d8c0486 100644 --- a/src/USER-MESO/pair_tdpd.cpp +++ b/src/USER-MESO/pair_tdpd.cpp @@ -465,8 +465,8 @@ void PairTDPD::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairTDPD::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_dpd, double &fforce) +double PairTDPD::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_dpd, double &fforce) { double r,rinv,wc,phi; diff --git a/src/USER-MGPT/pair_mgpt.cpp b/src/USER-MGPT/pair_mgpt.cpp index bac405bcbb..347bc9cc69 100644 --- a/src/USER-MGPT/pair_mgpt.cpp +++ b/src/USER-MGPT/pair_mgpt.cpp @@ -79,7 +79,7 @@ static double gettime(int x = 0) { return 0.0; } #else -static double gettime(int x = 0) { return 0.0; } +static double gettime(int /*x*/ = 0) { return 0.0; } #endif @@ -1805,7 +1805,7 @@ void PairMGPT::allocate() /* ---------------------------------------------------------------------- global settings ------------------------------------------------------------------------- */ -void PairMGPT::settings(int narg, char **arg) +void PairMGPT::settings(int narg, char **/*arg*/) { if(narg != 0) error->all(__FILE__,__LINE__,"Illegal pair_style command"); } @@ -2025,7 +2025,7 @@ void PairMGPT::init_list(int id, NeighList *ptr) /* ---------------------------------------------------------------------- init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairMGPT::init_one(int i, int j) +double PairMGPT::init_one(int /*i*/, int /*j*/) { return cutoff; } diff --git a/src/USER-MISC/angle_dipole.cpp b/src/USER-MISC/angle_dipole.cpp index bcb631c61f..c4186da472 100644 --- a/src/USER-MISC/angle_dipole.cpp +++ b/src/USER-MISC/angle_dipole.cpp @@ -229,7 +229,7 @@ void AngleDipole::write_data(FILE *fp) used by ComputeAngleLocal ------------------------------------------------------------------------- */ -double AngleDipole::single(int type, int iRef, int iDip, int iDummy) +double AngleDipole::single(int type, int iRef, int iDip, int /*iDummy*/) { double **x = atom->x; // position vector double **mu = atom->mu; // point-dipole components and moment magnitude diff --git a/src/USER-MISC/bond_harmonic_shift.cpp b/src/USER-MISC/bond_harmonic_shift.cpp index 7148c5438d..b34f71e888 100644 --- a/src/USER-MISC/bond_harmonic_shift.cpp +++ b/src/USER-MISC/bond_harmonic_shift.cpp @@ -203,7 +203,7 @@ void BondHarmonicShift::write_data(FILE *fp) /* ---------------------------------------------------------------------- */ -double BondHarmonicShift::single(int type, double rsq, int i, int j, +double BondHarmonicShift::single(int type, double rsq, int /*i*/, int /*j*/, double &fforce) { double r = sqrt(rsq); diff --git a/src/USER-MISC/bond_harmonic_shift_cut.cpp b/src/USER-MISC/bond_harmonic_shift_cut.cpp index 20c8a1a300..a58df70878 100644 --- a/src/USER-MISC/bond_harmonic_shift_cut.cpp +++ b/src/USER-MISC/bond_harmonic_shift_cut.cpp @@ -205,7 +205,7 @@ void BondHarmonicShiftCut::write_data(FILE *fp) /* ---------------------------------------------------------------------- */ -double BondHarmonicShiftCut::single(int type, double rsq, int i, int j, +double BondHarmonicShiftCut::single(int type, double rsq, int /*i*/, int /*j*/, double &fforce) { fforce = 0.0; diff --git a/src/USER-MISC/compute_ackland_atom.cpp b/src/USER-MISC/compute_ackland_atom.cpp index a17aefe71b..bcf41591eb 100644 --- a/src/USER-MISC/compute_ackland_atom.cpp +++ b/src/USER-MISC/compute_ackland_atom.cpp @@ -105,7 +105,7 @@ void ComputeAcklandAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeAcklandAtom::init_list(int id, NeighList *ptr) +void ComputeAcklandAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/USER-MISC/compute_basal_atom.cpp b/src/USER-MISC/compute_basal_atom.cpp index 4d8627a11f..3b9b38343d 100644 --- a/src/USER-MISC/compute_basal_atom.cpp +++ b/src/USER-MISC/compute_basal_atom.cpp @@ -85,7 +85,7 @@ void ComputeBasalAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeBasalAtom::init_list(int id, NeighList *ptr) +void ComputeBasalAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/USER-MISC/compute_cnp_atom.cpp b/src/USER-MISC/compute_cnp_atom.cpp index 51cf3ab07a..6fa16f1a9a 100644 --- a/src/USER-MISC/compute_cnp_atom.cpp +++ b/src/USER-MISC/compute_cnp_atom.cpp @@ -121,7 +121,7 @@ void ComputeCNPAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeCNPAtom::init_list(int id, NeighList *ptr) +void ComputeCNPAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/USER-MISC/compute_entropy_atom.cpp b/src/USER-MISC/compute_entropy_atom.cpp index 922f2aaf5e..4946bc437e 100644 --- a/src/USER-MISC/compute_entropy_atom.cpp +++ b/src/USER-MISC/compute_entropy_atom.cpp @@ -151,7 +151,7 @@ void ComputeEntropyAtom::init() /* ---------------------------------------------------------------------- */ -void ComputeEntropyAtom::init_list(int id, NeighList *ptr) +void ComputeEntropyAtom::init_list(int /*id*/, NeighList *ptr) { list = ptr; } diff --git a/src/USER-MISC/fix_addtorque.cpp b/src/USER-MISC/fix_addtorque.cpp index 654911769c..2cd1ac7527 100644 --- a/src/USER-MISC/fix_addtorque.cpp +++ b/src/USER-MISC/fix_addtorque.cpp @@ -164,7 +164,7 @@ void FixAddTorque::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixAddTorque::post_force(int vflag) +void FixAddTorque::post_force(int /*vflag*/) { double **x = atom->x; double **f = atom->f; @@ -252,7 +252,7 @@ void FixAddTorque::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixAddTorque::post_force_respa(int vflag, int ilevel, int iloop) +void FixAddTorque::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/USER-MISC/fix_ave_correlate_long.cpp b/src/USER-MISC/fix_ave_correlate_long.cpp index da6d041287..0ce6121bf9 100644 --- a/src/USER-MISC/fix_ave_correlate_long.cpp +++ b/src/USER-MISC/fix_ave_correlate_long.cpp @@ -412,7 +412,7 @@ void FixAveCorrelateLong::init() only does something if nvalid = current timestep ------------------------------------------------------------------------- */ -void FixAveCorrelateLong::setup(int vflag) +void FixAveCorrelateLong::setup(int /*vflag*/) { end_of_step(); } diff --git a/src/USER-MISC/fix_bond_react.cpp b/src/USER-MISC/fix_bond_react.cpp index 5ce1f11475..cd7918f4dd 100644 --- a/src/USER-MISC/fix_bond_react.cpp +++ b/src/USER-MISC/fix_bond_react.cpp @@ -588,7 +588,7 @@ void FixBondReact::init() /* ---------------------------------------------------------------------- */ -void FixBondReact::init_list(int id, NeighList *ptr) +void FixBondReact::init_list(int /*id*/, NeighList *ptr) { list = ptr; } @@ -2621,7 +2621,7 @@ double FixBondReact::compute_vector(int n) /* ---------------------------------------------------------------------- */ -void FixBondReact::post_integrate_respa(int ilevel, int iloop) +void FixBondReact::post_integrate_respa(int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_integrate(); } @@ -2629,7 +2629,7 @@ void FixBondReact::post_integrate_respa(int ilevel, int iloop) /* ---------------------------------------------------------------------- */ int FixBondReact::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,k,m,ns; diff --git a/src/USER-MISC/fix_filter_corotate.cpp b/src/USER-MISC/fix_filter_corotate.cpp index 91c7033513..4a6b3226d4 100644 --- a/src/USER-MISC/fix_filter_corotate.cpp +++ b/src/USER-MISC/fix_filter_corotate.cpp @@ -705,7 +705,7 @@ double FixFilterCorotate::compute_array(int,int) return 1; } -void FixFilterCorotate::pre_force_respa(int vflag, int ilevel, int iloop) +void FixFilterCorotate::pre_force_respa(int /*vflag*/, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) { @@ -717,7 +717,7 @@ void FixFilterCorotate::pre_force_respa(int vflag, int ilevel, int iloop) } } -void FixFilterCorotate::post_force_respa(int vflag, int ilevel, int iloop) +void FixFilterCorotate::post_force_respa(int /*vflag*/, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) { @@ -1699,7 +1699,7 @@ void FixFilterCorotate::general_cluster(int index, int index_in_list) } int FixFilterCorotate::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; double**f = atom->f; @@ -1839,7 +1839,7 @@ double FixFilterCorotate::memory_usage() * copy values within local atom-based arrays * ------------------------------------------------------------------------- */ -void FixFilterCorotate::copy_arrays(int i, int j, int delflag) +void FixFilterCorotate::copy_arrays(int i, int j, int /*delflag*/) { int flag = shake_flag[j] = shake_flag[i]; if (flag == 1) { diff --git a/src/USER-MISC/fix_flow_gauss.cpp b/src/USER-MISC/fix_flow_gauss.cpp index 6a1e508030..b6366ec509 100644 --- a/src/USER-MISC/fix_flow_gauss.cpp +++ b/src/USER-MISC/fix_flow_gauss.cpp @@ -155,7 +155,7 @@ void FixFlowGauss::setup(int vflag) /* ---------------------------------------------------------------------- this is where Gaussian dynamics constraint is applied ------------------------------------------------------------------------- */ -void FixFlowGauss::post_force(int vflag) +void FixFlowGauss::post_force(int /*vflag*/) { double **f = atom->f; double **v = atom->v; @@ -222,7 +222,7 @@ void FixFlowGauss::post_force(int vflag) } -void FixFlowGauss::post_force_respa(int vflag, int ilevel, int iloop) +void FixFlowGauss::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/USER-MISC/fix_gle.cpp b/src/USER-MISC/fix_gle.cpp index 584b33bfe7..0b08fab4ca 100644 --- a/src/USER-MISC/fix_gle.cpp +++ b/src/USER-MISC/fix_gle.cpp @@ -582,7 +582,7 @@ void FixGLE::gle_integrate() energy += deltae*0.5*force->mvv2e; } -void FixGLE::initial_integrate(int vflag) +void FixGLE::initial_integrate(int /*vflag*/) { double dtfm; @@ -685,7 +685,7 @@ void FixGLE::final_integrate() } /* ---------------------------------------------------------------------- */ -void FixGLE::initial_integrate_respa(int vflag, int ilevel, int iloop) +void FixGLE::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/) { dtv = step_respa[ilevel]; dtf = 0.5 * step_respa[ilevel] * force->ftm2v; @@ -699,7 +699,7 @@ void FixGLE::initial_integrate_respa(int vflag, int ilevel, int iloop) else { final_integrate();} } -void FixGLE::final_integrate_respa(int ilevel, int iloop) +void FixGLE::final_integrate_respa(int ilevel, int /*iloop*/) { dtv = step_respa[ilevel]; dtf = 0.5 * step_respa[ilevel] * force->ftm2v; @@ -793,7 +793,7 @@ void FixGLE::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixGLE::copy_arrays(int i, int j, int delflag) +void FixGLE::copy_arrays(int i, int j, int /*delflag*/) { for (int k = 0; k < 3*ns; k++) gle_s[j][k] = gle_s[i][k]; } @@ -868,7 +868,7 @@ void FixGLE::unpack_restart(int nlocal, int nth) fixes on a given processor. ------------------------------------------------------------------------- */ -int FixGLE::size_restart(int nlocal) +int FixGLE::size_restart(int /*nlocal*/) { return 3*ns+1; } diff --git a/src/USER-MISC/fix_grem.cpp b/src/USER-MISC/fix_grem.cpp index a5f8c34448..635acf705c 100644 --- a/src/USER-MISC/fix_grem.cpp +++ b/src/USER-MISC/fix_grem.cpp @@ -256,7 +256,7 @@ void FixGrem::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixGrem::post_force(int vflag) +void FixGrem::post_force(int /*vflag*/) { double **f = atom->f; int *mask = atom->mask; diff --git a/src/USER-MISC/fix_imd.cpp b/src/USER-MISC/fix_imd.cpp index abf9e7cb0b..1c3eafdc46 100644 --- a/src/USER-MISC/fix_imd.cpp +++ b/src/USER-MISC/fix_imd.cpp @@ -811,7 +811,7 @@ void FixIMD::ioworker() /* ---------------------------------------------------------------------- */ /* Main IMD protocol handler: * Send coodinates, energies, and add IMD forces to atoms. */ -void FixIMD::post_force(int vflag) +void FixIMD::post_force(int /*vflag*/) { /* check for reconnect */ if (imd_inactive) { @@ -1153,7 +1153,7 @@ void FixIMD::post_force(int vflag) } /* ---------------------------------------------------------------------- */ -void FixIMD::post_force_respa(int vflag, int ilevel, int iloop) +void FixIMD::post_force_respa(int vflag, int ilevel, int /*iloop*/) { /* only process IMD on the outmost RESPA level. */ if (ilevel == nlevels_respa-1) post_force(vflag); diff --git a/src/USER-MISC/fix_ipi.cpp b/src/USER-MISC/fix_ipi.cpp index c4750ce49e..32892d87a8 100644 --- a/src/USER-MISC/fix_ipi.cpp +++ b/src/USER-MISC/fix_ipi.cpp @@ -269,7 +269,7 @@ void FixIPI::init() neighbor->every = 1; } -void FixIPI::initial_integrate(int vflag) +void FixIPI::initial_integrate(int /*vflag*/) { /* This is called at the beginning of the integration loop, * and will be used to read positions from the socket. Then, diff --git a/src/USER-MISC/fix_nvk.cpp b/src/USER-MISC/fix_nvk.cpp index dbf7b56fe2..2ac2a7c9fc 100644 --- a/src/USER-MISC/fix_nvk.cpp +++ b/src/USER-MISC/fix_nvk.cpp @@ -94,7 +94,7 @@ void FixNVK::init() allow for both per-type and per-atom mass ------------------------------------------------------------------------- */ -void FixNVK::initial_integrate(int vflag) +void FixNVK::initial_integrate(int /*vflag*/) { double sm; double a,b,sqtb,s,sdot; @@ -190,7 +190,7 @@ void FixNVK::final_integrate() /* ---------------------------------------------------------------------- */ -void FixNVK::initial_integrate_respa(int vflag, int ilevel, int iloop) +void FixNVK::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/) { dtv = step_respa[ilevel]; dtf = 0.5 * step_respa[ilevel]; @@ -204,7 +204,7 @@ void FixNVK::initial_integrate_respa(int vflag, int ilevel, int iloop) /* ---------------------------------------------------------------------- */ -void FixNVK::final_integrate_respa(int ilevel, int iloop) +void FixNVK::final_integrate_respa(int ilevel, int /*iloop*/) { dtf = 0.5 * step_respa[ilevel]; final_integrate(); diff --git a/src/USER-MISC/fix_pimd.cpp b/src/USER-MISC/fix_pimd.cpp index e65ae6ae28..506590f02c 100644 --- a/src/USER-MISC/fix_pimd.cpp +++ b/src/USER-MISC/fix_pimd.cpp @@ -214,7 +214,7 @@ void FixPIMD::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixPIMD::initial_integrate(int vflag) +void FixPIMD::initial_integrate(int /*vflag*/) { nhc_update_v(); nhc_update_x(); @@ -229,7 +229,7 @@ void FixPIMD::final_integrate() /* ---------------------------------------------------------------------- */ -void FixPIMD::post_force(int flag) +void FixPIMD::post_force(int /*flag*/) { for(int i=0; inlocal; i++) for(int j=0; j<3; j++) atom->f[i][j] /= np; @@ -686,7 +686,7 @@ void FixPIMD::comm_exec(double **ptr) /* ---------------------------------------------------------------------- */ int FixPIMD::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; @@ -744,7 +744,7 @@ void FixPIMD::grow_arrays(int nmax) /* ---------------------------------------------------------------------- */ -void FixPIMD::copy_arrays(int i, int j, int delflag) +void FixPIMD::copy_arrays(int i, int j, int /*delflag*/) { int i_pos = i*3; int j_pos = j*3; @@ -832,7 +832,7 @@ int FixPIMD::maxsize_restart() /* ---------------------------------------------------------------------- */ -int FixPIMD::size_restart(int nlocal) +int FixPIMD::size_restart(int /*nlocal*/) { return size_peratom_cols+1; } diff --git a/src/USER-MISC/fix_rhok.cpp b/src/USER-MISC/fix_rhok.cpp index bbc4ce417a..78d63b79a8 100644 --- a/src/USER-MISC/fix_rhok.cpp +++ b/src/USER-MISC/fix_rhok.cpp @@ -144,7 +144,7 @@ FixRhok::min_setup( int inVFlag ) // Modify the forces calculated in the main force loop of ordinary MD void -FixRhok::post_force( int inVFlag ) +FixRhok::post_force( int /*inVFlag*/ ) { double **x = atom->x; double **f = atom->f; @@ -206,7 +206,7 @@ FixRhok::post_force( int inVFlag ) // Forces in RESPA loop void -FixRhok::post_force_respa( int inVFlag, int inILevel, int inILoop ) +FixRhok::post_force_respa( int inVFlag, int inILevel, int /*inILoop*/ ) { if( inILevel == mNLevelsRESPA - 1 ) post_force( inVFlag ); diff --git a/src/USER-MISC/fix_smd.cpp b/src/USER-MISC/fix_smd.cpp index a42690c280..cbebdebdbf 100644 --- a/src/USER-MISC/fix_smd.cpp +++ b/src/USER-MISC/fix_smd.cpp @@ -461,7 +461,7 @@ void FixSMD::restart(char *buf) /* ---------------------------------------------------------------------- */ -void FixSMD::post_force_respa(int vflag, int ilevel, int iloop) +void FixSMD::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == ilevel_respa) post_force(vflag); } diff --git a/src/USER-MISC/fix_srp.cpp b/src/USER-MISC/fix_srp.cpp index e4d85e8674..ebc161ff99 100644 --- a/src/USER-MISC/fix_srp.cpp +++ b/src/USER-MISC/fix_srp.cpp @@ -145,7 +145,7 @@ void FixSRP::init() insert bond particles ------------------------------------------------------------------------- */ -void FixSRP::setup_pre_force(int zz) +void FixSRP::setup_pre_force(int /*zz*/) { double **x = atom->x; double **xold; @@ -394,7 +394,7 @@ void FixSRP::grow_arrays(int nmax) called when move to new proc ------------------------------------------------------------------------- */ -void FixSRP::copy_arrays(int i, int j, int delflag) +void FixSRP::copy_arrays(int i, int j, int /*delflag*/) { for (int m = 0; m < 2; m++) array[j][m] = array[i][m]; @@ -589,7 +589,7 @@ int FixSRP::maxsize_restart() size of atom nlocal's restart data ------------------------------------------------------------------------- */ -int FixSRP::size_restart(int nlocal) +int FixSRP::size_restart(int /*nlocal*/) { return 3; } @@ -632,7 +632,7 @@ void FixSRP::restart(char *buf) pair srp sets the bond type in this fix ------------------------------------------------------------------------- */ -int FixSRP::modify_param(int narg, char **arg) +int FixSRP::modify_param(int /*narg*/, char **arg) { if (strcmp(arg[0],"btype") == 0) { btype = atoi(arg[1]); diff --git a/src/USER-MISC/fix_ti_spring.cpp b/src/USER-MISC/fix_ti_spring.cpp index 5812142763..305e29e033 100644 --- a/src/USER-MISC/fix_ti_spring.cpp +++ b/src/USER-MISC/fix_ti_spring.cpp @@ -167,7 +167,7 @@ void FixTISpring::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixTISpring::post_force(int vflag) +void FixTISpring::post_force(int /*vflag*/) { // do not calculate forces during equilibration if ((update->ntimestep - t0) < t_equil) return; @@ -200,7 +200,7 @@ void FixTISpring::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixTISpring::post_force_respa(int vflag, int ilevel, int iloop) +void FixTISpring::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_force(vflag); } @@ -214,7 +214,7 @@ void FixTISpring::min_post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixTISpring::initial_integrate(int vflag) +void FixTISpring::initial_integrate(int /*vflag*/) { // Update the coupling parameter value if needed if ((update->ntimestep - t0) < t_equil) return; @@ -278,7 +278,7 @@ void FixTISpring::grow_arrays(int nmax) copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixTISpring::copy_arrays(int i, int j, int delflag) +void FixTISpring::copy_arrays(int i, int j, int /*delflag*/) { xoriginal[j][0] = xoriginal[i][0]; xoriginal[j][1] = xoriginal[i][1]; @@ -354,7 +354,7 @@ int FixTISpring::maxsize_restart() size of atom nlocal's restart data ------------------------------------------------------------------------- */ -int FixTISpring::size_restart(int nlocal) +int FixTISpring::size_restart(int /*nlocal*/) { return 4; } diff --git a/src/USER-MISC/fix_ttm_mod.cpp b/src/USER-MISC/fix_ttm_mod.cpp index 1e1e62b638..65f8e90ec3 100644 --- a/src/USER-MISC/fix_ttm_mod.cpp +++ b/src/USER-MISC/fix_ttm_mod.cpp @@ -357,7 +357,7 @@ void FixTTMMod::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixTTMMod::post_force(int vflag) +void FixTTMMod::post_force(int /*vflag*/) { double **x = atom->x; double **v = atom->v; @@ -451,7 +451,7 @@ void FixTTMMod::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixTTMMod::post_force_setup(int vflag) +void FixTTMMod::post_force_setup(int /*vflag*/) { double **f = atom->f; int *mask = atom->mask; @@ -468,14 +468,14 @@ void FixTTMMod::post_force_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixTTMMod::post_force_respa(int vflag, int ilevel, int iloop) +void FixTTMMod::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_force(vflag); } /* ---------------------------------------------------------------------- */ -void FixTTMMod::post_force_respa_setup(int vflag, int ilevel, int iloop) +void FixTTMMod::post_force_respa_setup(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_force_setup(vflag); } @@ -916,7 +916,7 @@ int FixTTMMod::maxsize_restart() size of atom nlocal's restart data ------------------------------------------------------------------------- */ -int FixTTMMod::size_restart(int nlocal) +int FixTTMMod::size_restart(int /*nlocal*/) { return 4; } diff --git a/src/USER-MISC/fix_wall_region_ees.cpp b/src/USER-MISC/fix_wall_region_ees.cpp index 82a78d3e73..33bf636e64 100644 --- a/src/USER-MISC/fix_wall_region_ees.cpp +++ b/src/USER-MISC/fix_wall_region_ees.cpp @@ -149,7 +149,7 @@ void FixWallRegionEES::min_setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixWallRegionEES::post_force(int vflag) +void FixWallRegionEES::post_force(int /*vflag*/) { //sth is needed here, but I dont know what //that is calculation of sn @@ -246,7 +246,7 @@ void FixWallRegionEES::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixWallRegionEES::post_force_respa(int vflag, int ilevel, int iloop) +void FixWallRegionEES::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_force(vflag); } diff --git a/src/USER-MISC/pair_agni.cpp b/src/USER-MISC/pair_agni.cpp index 11bf2ae01e..3bba690e19 100644 --- a/src/USER-MISC/pair_agni.cpp +++ b/src/USER-MISC/pair_agni.cpp @@ -246,7 +246,7 @@ void PairAGNI::allocate() global settings ------------------------------------------------------------------------- */ -void PairAGNI::settings(int narg, char **arg) +void PairAGNI::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } diff --git a/src/USER-MISC/pair_buck_mdf.cpp b/src/USER-MISC/pair_buck_mdf.cpp index 457d75bc77..61d32892fc 100644 --- a/src/USER-MISC/pair_buck_mdf.cpp +++ b/src/USER-MISC/pair_buck_mdf.cpp @@ -391,8 +391,8 @@ void PairBuckMDF::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairBuckMDF::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, +double PairBuckMDF::single(int /*i*/, int /*j*/, int itype, int jtype, + double rsq, double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,r6inv,r,rexp,forcebuck,phibuck; diff --git a/src/USER-MISC/pair_coul_diel.cpp b/src/USER-MISC/pair_coul_diel.cpp index 3f07df3d98..0154e89731 100644 --- a/src/USER-MISC/pair_coul_diel.cpp +++ b/src/USER-MISC/pair_coul_diel.cpp @@ -326,7 +326,7 @@ void PairCoulDiel::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ double PairCoulDiel::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, + double rsq, double factor_coul, double /*factor_lj*/, double &fforce) { double r, rarg,forcedielec,phidielec; diff --git a/src/USER-MISC/pair_coul_shield.cpp b/src/USER-MISC/pair_coul_shield.cpp index deec7da81f..11df975c19 100644 --- a/src/USER-MISC/pair_coul_shield.cpp +++ b/src/USER-MISC/pair_coul_shield.cpp @@ -341,7 +341,7 @@ void PairCoulShield::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ double PairCoulShield::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, + double rsq, double factor_coul, double /*factor_lj*/, double &fforce) { double r, rarg,Vc,fvc,forcecoul,phishieldec; diff --git a/src/USER-MISC/pair_edip.cpp b/src/USER-MISC/pair_edip.cpp index 2976d7ad73..4716e271d7 100644 --- a/src/USER-MISC/pair_edip.cpp +++ b/src/USER-MISC/pair_edip.cpp @@ -621,7 +621,7 @@ void PairEDIP::allocate() global settings ------------------------------------------------------------------------- */ -void PairEDIP::settings(int narg, char **arg) +void PairEDIP::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } diff --git a/src/USER-MISC/pair_edip_multi.cpp b/src/USER-MISC/pair_edip_multi.cpp index 6be57eee74..fc76aadb0b 100644 --- a/src/USER-MISC/pair_edip_multi.cpp +++ b/src/USER-MISC/pair_edip_multi.cpp @@ -516,7 +516,7 @@ void PairEDIPMulti::allocate() global settings ------------------------------------------------------------------------- */ -void PairEDIPMulti::settings(int narg, char **arg) +void PairEDIPMulti::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } diff --git a/src/USER-MISC/pair_extep.cpp b/src/USER-MISC/pair_extep.cpp index 5a8cdf2884..49c562471f 100644 --- a/src/USER-MISC/pair_extep.cpp +++ b/src/USER-MISC/pair_extep.cpp @@ -442,7 +442,7 @@ void PairExTeP::allocate() global settings ------------------------------------------------------------------------- */ -void PairExTeP::settings(int narg, char **arg) +void PairExTeP::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } diff --git a/src/USER-MISC/pair_gauss_cut.cpp b/src/USER-MISC/pair_gauss_cut.cpp index 85f7c02887..a000eff028 100644 --- a/src/USER-MISC/pair_gauss_cut.cpp +++ b/src/USER-MISC/pair_gauss_cut.cpp @@ -374,8 +374,8 @@ void PairGaussCut::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairGaussCut::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairGaussCut::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r, rexp,ugauss,phigauss; diff --git a/src/USER-MISC/pair_ilp_graphene_hbn.cpp b/src/USER-MISC/pair_ilp_graphene_hbn.cpp index 30ee2e7a5a..2aecbe5d19 100644 --- a/src/USER-MISC/pair_ilp_graphene_hbn.cpp +++ b/src/USER-MISC/pair_ilp_graphene_hbn.cpp @@ -1010,8 +1010,8 @@ void PairILPGrapheneHBN::read_file(char *filename) /* ---------------------------------------------------------------------- */ -double PairILPGrapheneHBN::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairILPGrapheneHBN::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r,r2inv,r6inv,r8inv,forcelj,philj,fpair; @@ -1047,7 +1047,7 @@ double PairILPGrapheneHBN::single(int i, int j, int itype, int jtype, double rsq /* ---------------------------------------------------------------------- */ int PairILPGrapheneHBN::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m,id,ip,l; diff --git a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp index be0e81d48d..4c1f36c640 100644 --- a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp +++ b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp @@ -1015,8 +1015,8 @@ void PairKolmogorovCrespiFull::read_file(char *filename) /* ---------------------------------------------------------------------- */ -double PairKolmogorovCrespiFull::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairKolmogorovCrespiFull::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r,r2inv,r6inv,r8inv,forcelj,philj; @@ -1050,7 +1050,7 @@ double PairKolmogorovCrespiFull::single(int i, int j, int itype, int jtype, doub /* ---------------------------------------------------------------------- */ int PairKolmogorovCrespiFull::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m,l,ip,id; diff --git a/src/USER-MISC/pair_lennard_mdf.cpp b/src/USER-MISC/pair_lennard_mdf.cpp index f6e7f7f56b..45d0da4d83 100644 --- a/src/USER-MISC/pair_lennard_mdf.cpp +++ b/src/USER-MISC/pair_lennard_mdf.cpp @@ -352,9 +352,9 @@ void PairLJ_AB_MDF::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairLJ_AB_MDF::single(int i, int j, int itype, int jtype, +double PairLJ_AB_MDF::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, + double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,r6inv,forcelj,philj; diff --git a/src/USER-MISC/pair_lj_mdf.cpp b/src/USER-MISC/pair_lj_mdf.cpp index d43a6c3086..891239016b 100644 --- a/src/USER-MISC/pair_lj_mdf.cpp +++ b/src/USER-MISC/pair_lj_mdf.cpp @@ -352,9 +352,9 @@ void PairLJMDF::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairLJMDF::single(int i, int j, int itype, int jtype, +double PairLJMDF::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, + double /*factor_coul*/, double factor_lj, double &fforce) { double r2inv,r6inv,forcelj,philj; diff --git a/src/USER-MISC/pair_meam_spline.cpp b/src/USER-MISC/pair_meam_spline.cpp index 750f6ac5bb..1305891b33 100644 --- a/src/USER-MISC/pair_meam_spline.cpp +++ b/src/USER-MISC/pair_meam_spline.cpp @@ -360,7 +360,7 @@ void PairMEAMSpline::allocate() global settings ------------------------------------------------------------------------- */ -void PairMEAMSpline::settings(int narg, char **arg) +void PairMEAMSpline::settings(int narg, char **/*arg*/) { if(narg != 0) error->all(FLERR,"Illegal pair_style command"); } @@ -592,7 +592,7 @@ void PairMEAMSpline::init_list(int id, NeighList *ptr) /* ---------------------------------------------------------------------- init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairMEAMSpline::init_one(int i, int j) +double PairMEAMSpline::init_one(int /*i*/, int /*j*/) { return cutoff; } @@ -600,7 +600,7 @@ double PairMEAMSpline::init_one(int i, int j) /* ---------------------------------------------------------------------- */ int PairMEAMSpline::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int* list_iter = list; int* list_iter_end = list + n; @@ -618,14 +618,14 @@ void PairMEAMSpline::unpack_forward_comm(int n, int first, double *buf) /* ---------------------------------------------------------------------- */ -int PairMEAMSpline::pack_reverse_comm(int n, int first, double *buf) +int PairMEAMSpline::pack_reverse_comm(int /*n*/, int /*first*/, double */*buf*/) { return 0; } /* ---------------------------------------------------------------------- */ -void PairMEAMSpline::unpack_reverse_comm(int n, int *list, double *buf) +void PairMEAMSpline::unpack_reverse_comm(int /*n*/, int */*list*/, double */*buf*/) { } diff --git a/src/USER-MISC/pair_meam_sw_spline.cpp b/src/USER-MISC/pair_meam_sw_spline.cpp index f6b7212f9c..be0ac1c35b 100644 --- a/src/USER-MISC/pair_meam_sw_spline.cpp +++ b/src/USER-MISC/pair_meam_sw_spline.cpp @@ -372,7 +372,7 @@ void PairMEAMSWSpline::allocate() global settings ------------------------------------------------------------------------- */ -void PairMEAMSWSpline::settings(int narg, char **arg) +void PairMEAMSWSpline::settings(int narg, char **/*arg*/) { if(narg != 0) error->all(FLERR,"Illegal pair_style command"); } @@ -552,7 +552,7 @@ void PairMEAMSWSpline::init_list(int id, NeighList *ptr) /* ---------------------------------------------------------------------- init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairMEAMSWSpline::init_one(int i, int j) +double PairMEAMSWSpline::init_one(int /*i*/, int /*j*/) { return cutoff; } @@ -560,7 +560,7 @@ double PairMEAMSWSpline::init_one(int i, int j) /* ---------------------------------------------------------------------- */ int PairMEAMSWSpline::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int* list_iter = list; int* list_iter_end = list + n; @@ -578,14 +578,14 @@ void PairMEAMSWSpline::unpack_forward_comm(int n, int first, double *buf) /* ---------------------------------------------------------------------- */ -int PairMEAMSWSpline::pack_reverse_comm(int n, int first, double *buf) +int PairMEAMSWSpline::pack_reverse_comm(int /*n*/, int /*first*/, double */*buf*/) { return 0; } /* ---------------------------------------------------------------------- */ -void PairMEAMSWSpline::unpack_reverse_comm(int n, int *list, double *buf) +void PairMEAMSWSpline::unpack_reverse_comm(int /*n*/, int */*list*/, double */*buf*/) { } diff --git a/src/USER-MISC/pair_momb.cpp b/src/USER-MISC/pair_momb.cpp index 12a40bb08b..927181ebf6 100644 --- a/src/USER-MISC/pair_momb.cpp +++ b/src/USER-MISC/pair_momb.cpp @@ -365,8 +365,8 @@ void PairMomb::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairMomb::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairMomb::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r,dr,dexp,phi,r2inv,r6inv,ddexp,invexp; diff --git a/src/USER-MISC/pair_morse_smooth_linear.cpp b/src/USER-MISC/pair_morse_smooth_linear.cpp index 8a9c89cf69..328c1bd27b 100644 --- a/src/USER-MISC/pair_morse_smooth_linear.cpp +++ b/src/USER-MISC/pair_morse_smooth_linear.cpp @@ -337,8 +337,8 @@ void PairMorseSmoothLinear::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ -double PairMorseSmoothLinear::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, +double PairMorseSmoothLinear::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) { double r,dr,dexp,phi; diff --git a/src/USER-MISC/pair_tersoff_table.cpp b/src/USER-MISC/pair_tersoff_table.cpp index c2362b8de9..d7e28a1e40 100644 --- a/src/USER-MISC/pair_tersoff_table.cpp +++ b/src/USER-MISC/pair_tersoff_table.cpp @@ -719,7 +719,7 @@ void PairTersoffTable::allocate() global settings ------------------------------------------------------------------------- */ -void PairTersoffTable::settings(int narg, char **arg) +void PairTersoffTable::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); } diff --git a/src/USER-MOFFF/angle_cosine_buck6d.cpp b/src/USER-MOFFF/angle_cosine_buck6d.cpp index b5800db2be..352c28be4d 100644 --- a/src/USER-MOFFF/angle_cosine_buck6d.cpp +++ b/src/USER-MOFFF/angle_cosine_buck6d.cpp @@ -309,7 +309,7 @@ void AngleCosineBuck6d::init_style() /* ---------------------------------------------------------------------- */ -double AngleCosineBuck6d::equilibrium_angle(int i) +double AngleCosineBuck6d::equilibrium_angle(int /*i*/) { return MY_PI; } diff --git a/src/USER-PHONON/fix_phonon.cpp b/src/USER-PHONON/fix_phonon.cpp index 3a37c67a38..cdbe4068bc 100644 --- a/src/USER-PHONON/fix_phonon.cpp +++ b/src/USER-PHONON/fix_phonon.cpp @@ -299,7 +299,7 @@ void FixPhonon::init() /* ---------------------------------------------------------------------- */ -void FixPhonon::setup(int flag) +void FixPhonon::setup(int /*flag*/) { // initialize accumulating variables for (int i = 0; i < sysdim; ++i) TempSum[i] = 0.; diff --git a/src/USER-QTB/fix_qbmsst.cpp b/src/USER-QTB/fix_qbmsst.cpp index fa5ee75bcb..e8a4f85eaa 100644 --- a/src/USER-QTB/fix_qbmsst.cpp +++ b/src/USER-QTB/fix_qbmsst.cpp @@ -424,7 +424,7 @@ void FixQBMSST::init() /* ---------------------------------------------------------------------- compute T,P before integrator starts ------------------------------------------------------------------------- */ -void FixQBMSST::setup(int vflag) +void FixQBMSST::setup(int /*vflag*/) { lagrangian_position = 0.0; @@ -507,7 +507,7 @@ void FixQBMSST::setup(int vflag) /* ---------------------------------------------------------------------- 1st half of Verlet update ------------------------------------------------------------------------- */ -void FixQBMSST::initial_integrate(int vflag) +void FixQBMSST::initial_integrate(int /*vflag*/) { int sd; sd = direction; @@ -1157,7 +1157,7 @@ void FixQBMSST::grow_arrays(int nmax) /* ---------------------------------------------------------------------- copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixQBMSST::copy_arrays(int i, int j, int delflag) +void FixQBMSST::copy_arrays(int i, int j, int /*delflag*/) { for (int m = 0; m < 2*N_f; m++) { random_array_0[j][m] = random_array_0[i][m]; diff --git a/src/USER-QTB/fix_qtb.cpp b/src/USER-QTB/fix_qtb.cpp index 7f9a6510be..015f953b8e 100644 --- a/src/USER-QTB/fix_qtb.cpp +++ b/src/USER-QTB/fix_qtb.cpp @@ -239,7 +239,7 @@ void FixQTB::setup(int vflag) /* ---------------------------------------------------------------------- post_force ------------------------------------------------------------------------- */ -void FixQTB::post_force(int vflag) +void FixQTB::post_force(int /*vflag*/) { double gamma1,gamma3; @@ -334,7 +334,7 @@ void FixQTB::post_force(int vflag) /* ---------------------------------------------------------------------- post_force_respa ------------------------------------------------------------------------- */ -void FixQTB::post_force_respa(int vflag, int ilevel, int iloop) +void FixQTB::post_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) post_force(vflag); } @@ -392,7 +392,7 @@ void FixQTB::grow_arrays(int nmax) /* ---------------------------------------------------------------------- copy values within local atom-based array ------------------------------------------------------------------------- */ -void FixQTB::copy_arrays(int i, int j, int delflag) +void FixQTB::copy_arrays(int i, int j, int /*delflag*/) { for (int m = 0; m < 2*N_f; m++) { random_array_0[j][m] = random_array_0[i][m]; diff --git a/src/USER-QUIP/pair_quip.cpp b/src/USER-QUIP/pair_quip.cpp index 0c00a5ef59..6f5040d037 100644 --- a/src/USER-QUIP/pair_quip.cpp +++ b/src/USER-QUIP/pair_quip.cpp @@ -212,7 +212,7 @@ void PairQUIP::compute(int eflag, int vflag) global settings ------------------------------------------------------------------------- */ -void PairQUIP::settings(int narg, char **arg) +void PairQUIP::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR,"Illegal pair_style command"); if (strcmp(force->pair_style,"hybrid") == 0) @@ -315,7 +315,7 @@ void PairQUIP::init_style() init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairQUIP::init_one(int i, int j) +double PairQUIP::init_one(int /*i*/, int /*j*/) { return cutoff; } diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index a2f4d3d0e9..a6e59f7620 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -381,7 +381,7 @@ void FixQEqReax::init() /* ---------------------------------------------------------------------- */ -void FixQEqReax::init_list(int id, NeighList *ptr) +void FixQEqReax::init_list(int /*id*/, NeighList *ptr) { list = ptr; } @@ -485,7 +485,7 @@ void FixQEqReax::init_storage() /* ---------------------------------------------------------------------- */ -void FixQEqReax::pre_force(int vflag) +void FixQEqReax::pre_force(int /*vflag*/) { double t_start, t_end; @@ -518,7 +518,7 @@ void FixQEqReax::pre_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixQEqReax::pre_force_respa(int vflag, int ilevel, int iloop) +void FixQEqReax::pre_force_respa(int vflag, int ilevel, int /*iloop*/) { if (ilevel == nlevels_respa-1) pre_force(vflag); } @@ -833,7 +833,7 @@ void FixQEqReax::calculate_Q() /* ---------------------------------------------------------------------- */ int FixQEqReax::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int m; @@ -952,7 +952,7 @@ void FixQEqReax::grow_arrays(int nmax) copy values within fictitious charge arrays ------------------------------------------------------------------------- */ -void FixQEqReax::copy_arrays(int i, int j, int delflag) +void FixQEqReax::copy_arrays(int i, int j, int /*delflag*/) { for (int m = 0; m < nprev; m++) { s_hist[j][m] = s_hist[i][m]; diff --git a/src/USER-REAXC/fix_reaxc.cpp b/src/USER-REAXC/fix_reaxc.cpp index df06217993..df1d7db085 100644 --- a/src/USER-REAXC/fix_reaxc.cpp +++ b/src/USER-REAXC/fix_reaxc.cpp @@ -105,7 +105,7 @@ void FixReaxC::grow_arrays(int nmax) copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixReaxC::copy_arrays(int i, int j, int delflag) +void FixReaxC::copy_arrays(int i, int j, int /*delflag*/) { num_bonds[j] = num_bonds[i]; num_hbonds[j] = num_hbonds[i]; @@ -136,7 +136,7 @@ int FixReaxC::unpack_exchange(int nlocal, double *buf) /* ---------------------------------------------------------------------- */ int FixReaxC::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/USER-REAXC/fix_reaxc_bonds.cpp b/src/USER-REAXC/fix_reaxc_bonds.cpp index b38d137412..f3e592a682 100644 --- a/src/USER-REAXC/fix_reaxc_bonds.cpp +++ b/src/USER-REAXC/fix_reaxc_bonds.cpp @@ -112,7 +112,7 @@ int FixReaxCBonds::setmask() /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::setup(int vflag) +void FixReaxCBonds::setup(int /*vflag*/) { end_of_step(); } @@ -137,7 +137,7 @@ void FixReaxCBonds::end_of_step() /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::Output_ReaxC_Bonds(bigint ntimestep, FILE *fp) +void FixReaxCBonds::Output_ReaxC_Bonds(bigint /*ntimestep*/, FILE */*fp*/) { int i, j; @@ -185,7 +185,7 @@ void FixReaxCBonds::Output_ReaxC_Bonds(bigint ntimestep, FILE *fp) /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::FindBond(struct _reax_list *lists, int &numbonds) +void FixReaxCBonds::FindBond(struct _reax_list */*lists*/, int &numbonds) { int *ilist, i, ii, inum; int j, pj, nj; diff --git a/src/USER-REAXC/fix_reaxc_species.cpp b/src/USER-REAXC/fix_reaxc_species.cpp index 61b4cebf96..abb8708d8d 100644 --- a/src/USER-REAXC/fix_reaxc_species.cpp +++ b/src/USER-REAXC/fix_reaxc_species.cpp @@ -281,7 +281,7 @@ int FixReaxCSpecies::setmask() /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::setup(int vflag) +void FixReaxCSpecies::setup(int /*vflag*/) { ntotal = static_cast (atom->natoms); if (Name == NULL) @@ -427,7 +427,7 @@ void FixReaxCSpecies::create_fix() /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::init_list(int id, NeighList *ptr) +void FixReaxCSpecies::init_list(int /*id*/, NeighList *ptr) { list = ptr; } @@ -442,7 +442,7 @@ void FixReaxCSpecies::post_integrate() /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::Output_ReaxC_Bonds(bigint ntimestep, FILE *fp) +void FixReaxCSpecies::Output_ReaxC_Bonds(bigint ntimestep, FILE */*fp*/) { int Nmole, Nspec; @@ -946,7 +946,7 @@ int FixReaxCSpecies::nint(const double &r) /* ---------------------------------------------------------------------- */ int FixReaxCSpecies::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) + int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp index 7f77d875bc..378d20952c 100644 --- a/src/USER-REAXC/pair_reaxc.cpp +++ b/src/USER-REAXC/pair_reaxc.cpp @@ -751,7 +751,7 @@ int PairReaxC::write_reax_lists() /* ---------------------------------------------------------------------- */ -void PairReaxC::read_reax_forces(int vflag) +void PairReaxC::read_reax_forces(int /*vflag*/) { for( int i = 0; i < system->N; ++i ) { system->my_atoms[i].f[0] = workspace->f[i][0]; diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index a07f090f92..14906a2a9c 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -39,8 +39,8 @@ important: we cannot know the exact number of atoms that will fall into a process's box throughout the whole simulation. therefore we need to make upper bound estimates for various data structures */ -int PreAllocate_Space( reax_system *system, control_params *control, - storage *workspace, MPI_Comm comm ) +int PreAllocate_Space( reax_system *system, control_params */*control*/, + storage */*workspace*/, MPI_Comm comm ) { int mincap = system->mincap; double safezone = system->safezone; @@ -68,8 +68,8 @@ int PreAllocate_Space( reax_system *system, control_params *control, /************* system *************/ -int Allocate_System( reax_system *system, int local_cap, int total_cap, - char *msg ) +int Allocate_System( reax_system *system, int /*local_cap*/, int total_cap, + char */*msg*/ ) { system->my_atoms = (reax_atom*) realloc( system->my_atoms, total_cap*sizeof(reax_atom) ); @@ -116,7 +116,7 @@ void DeAllocate_System( reax_system *system ) /************* workspace *************/ -void DeAllocate_Workspace( control_params *control, storage *workspace ) +void DeAllocate_Workspace( control_params */*control*/, storage *workspace ) { int i; @@ -204,9 +204,9 @@ void DeAllocate_Workspace( control_params *control, storage *workspace ) } -int Allocate_Workspace( reax_system *system, control_params *control, +int Allocate_Workspace( reax_system */*system*/, control_params */*control*/, storage *workspace, int local_cap, int total_cap, - MPI_Comm comm, char *msg ) + MPI_Comm comm, char */*msg*/ ) { int i, total_real, total_rvec, local_rvec; diff --git a/src/USER-REAXC/reaxc_bond_orders.cpp b/src/USER-REAXC/reaxc_bond_orders.cpp index 468164a2c0..02df9ec518 100644 --- a/src/USER-REAXC/reaxc_bond_orders.cpp +++ b/src/USER-REAXC/reaxc_bond_orders.cpp @@ -359,8 +359,8 @@ int BOp( storage *workspace, reax_list *bonds, double bo_cut, } -void BO( reax_system *system, control_params *control, simulation_data *data, - storage *workspace, reax_list **lists, output_controls *out_control ) +void BO( reax_system *system, control_params */*control*/, simulation_data */*data*/, + storage *workspace, reax_list **lists, output_controls */*out_control*/ ) { int i, j, pj, type_i, type_j; int start_i, end_i, sym_index; diff --git a/src/USER-REAXC/reaxc_bonds.cpp b/src/USER-REAXC/reaxc_bonds.cpp index 9678addd6b..a26f70c543 100644 --- a/src/USER-REAXC/reaxc_bonds.cpp +++ b/src/USER-REAXC/reaxc_bonds.cpp @@ -31,9 +31,9 @@ #include "reaxc_tool_box.h" #include "reaxc_vector.h" -void Bonds( reax_system *system, control_params *control, +void Bonds( reax_system *system, control_params */*control*/, simulation_data *data, storage *workspace, reax_list **lists, - output_controls *out_control ) + output_controls */*out_control*/ ) { int i, j, pj, natoms; int start_i, end_i; diff --git a/src/USER-REAXC/reaxc_forces.cpp b/src/USER-REAXC/reaxc_forces.cpp index 00b29824ea..56501eeda0 100644 --- a/src/USER-REAXC/reaxc_forces.cpp +++ b/src/USER-REAXC/reaxc_forces.cpp @@ -41,9 +41,9 @@ interaction_function Interaction_Functions[NUM_INTRS]; -void Dummy_Interaction( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control ) +void Dummy_Interaction( reax_system */*system*/, control_params */*control*/, + simulation_data */*data*/, storage */*workspace*/, + reax_list **/*lists*/, output_controls */*out_control*/ ) { } @@ -68,7 +68,7 @@ void Init_Force_Functions( control_params *control ) void Compute_Bonded_Forces( reax_system *system, control_params *control, simulation_data *data, storage *workspace, reax_list **lists, output_controls *out_control, - MPI_Comm comm ) + MPI_Comm /*comm*/ ) { int i; @@ -83,7 +83,7 @@ void Compute_Bonded_Forces( reax_system *system, control_params *control, void Compute_NonBonded_Forces( reax_system *system, control_params *control, simulation_data *data, storage *workspace, reax_list **lists, output_controls *out_control, - MPI_Comm comm ) + MPI_Comm /*comm*/ ) { /* van der Waals and Coulomb interactions */ @@ -98,7 +98,7 @@ void Compute_NonBonded_Forces( reax_system *system, control_params *control, void Compute_Total_Force( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, mpi_datatypes *mpi_data ) + reax_list **lists, mpi_datatypes */*mpi_data*/ ) { int i, pj; reax_list *bonds = (*lists) + BONDS; @@ -114,8 +114,8 @@ void Compute_Total_Force( reax_system *system, control_params *control, } -void Validate_Lists( reax_system *system, storage *workspace, reax_list **lists, - int step, int n, int N, int numH, MPI_Comm comm ) +void Validate_Lists( reax_system *system, storage */*workspace*/, reax_list **lists, + int step, int /*n*/, int N, int numH, MPI_Comm comm ) { int i, comp, Hindex; reax_list *bonds, *hbonds; @@ -173,7 +173,7 @@ void Validate_Lists( reax_system *system, storage *workspace, reax_list **lists, void Init_Forces_noQEq( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control, + reax_list **lists, output_controls */*out_control*/, MPI_Comm comm ) { int i, j, pj; int start_i, end_i; @@ -317,7 +317,7 @@ void Init_Forces_noQEq( reax_system *system, control_params *control, void Estimate_Storages( reax_system *system, control_params *control, reax_list **lists, int *Htop, int *hb_top, - int *bond_top, int *num_3body, MPI_Comm comm ) + int *bond_top, int *num_3body, MPI_Comm /*comm*/ ) { int i, j, pj; int start_i, end_i; diff --git a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp index cb516b24f7..c0b3121a40 100644 --- a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp +++ b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp @@ -33,7 +33,7 @@ void Hydrogen_Bonds( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control ) + reax_list **lists, output_controls */*out_control*/ ) { int i, j, k, pi, pk; int type_i, type_j, type_k; diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index 4af21284f2..33614c7c68 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -36,7 +36,7 @@ #include "reaxc_tool_box.h" #include "reaxc_vector.h" -int Init_System( reax_system *system, control_params *control, char *msg ) +int Init_System( reax_system *system, control_params *control, char */*msg*/ ) { int i; reax_atom *atom; @@ -66,7 +66,7 @@ int Init_System( reax_system *system, control_params *control, char *msg ) int Init_Simulation_Data( reax_system *system, control_params *control, - simulation_data *data, char *msg ) + simulation_data *data, char */*msg*/ ) { Reset_Simulation_Data( data, control->virial ); @@ -139,8 +139,8 @@ int Init_Workspace( reax_system *system, control_params *control, /************** setup communication data structures **************/ -int Init_MPI_Datatypes( reax_system *system, storage *workspace, - mpi_datatypes *mpi_data, MPI_Comm comm, char *msg ) +int Init_MPI_Datatypes( reax_system *system, storage */*workspace*/, + mpi_datatypes *mpi_data, MPI_Comm comm, char */*msg*/ ) { /* setup the world */ @@ -151,8 +151,8 @@ int Init_MPI_Datatypes( reax_system *system, storage *workspace, } int Init_Lists( reax_system *system, control_params *control, - simulation_data *data, storage *workspace, reax_list **lists, - mpi_datatypes *mpi_data, char *msg ) + simulation_data */*data*/, storage */*workspace*/, reax_list **lists, + mpi_datatypes *mpi_data, char */*msg*/ ) { int i, total_hbonds, total_bonds, bond_cap, num_3body, cap_3body, Htop; int *hb_top, *bond_top; diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/USER-REAXC/reaxc_io_tools.cpp index 4d58f7514d..030912d4b7 100644 --- a/src/USER-REAXC/reaxc_io_tools.cpp +++ b/src/USER-REAXC/reaxc_io_tools.cpp @@ -88,7 +88,7 @@ int Init_Output_Files( reax_system *system, control_params *control, /************************ close output files ************************/ int Close_Output_Files( reax_system *system, control_params *control, - output_controls *out_control, mpi_datatypes *mpi_data ) + output_controls *out_control, mpi_datatypes */*mpi_data*/ ) { if( out_control->write_steps > 0 ) End_Traj( system->my_rank, out_control ); diff --git a/src/USER-REAXC/reaxc_lookup.cpp b/src/USER-REAXC/reaxc_lookup.cpp index 9db8b7b9f6..8cc1555c59 100644 --- a/src/USER-REAXC/reaxc_lookup.cpp +++ b/src/USER-REAXC/reaxc_lookup.cpp @@ -151,7 +151,7 @@ void Complete_Cubic_Spline( const double *h, const double *f, double v0, double int Init_Lookup_Tables( reax_system *system, control_params *control, - storage *workspace, mpi_datatypes *mpi_data, char *msg ) + storage *workspace, mpi_datatypes *mpi_data, char */*msg*/ ) { int i, j, r; int num_atom_types; diff --git a/src/USER-REAXC/reaxc_multi_body.cpp b/src/USER-REAXC/reaxc_multi_body.cpp index ce5b966529..e599a3d86e 100644 --- a/src/USER-REAXC/reaxc_multi_body.cpp +++ b/src/USER-REAXC/reaxc_multi_body.cpp @@ -32,7 +32,7 @@ void Atom_Energy( reax_system *system, control_params *control, simulation_data *data, storage *workspace, reax_list **lists, - output_controls *out_control ) + output_controls */*out_control*/ ) { int i, j, pj, type_i, type_j; double Delta_lpcorr, dfvl; diff --git a/src/USER-REAXC/reaxc_nonbonded.cpp b/src/USER-REAXC/reaxc_nonbonded.cpp index 9c223428a6..731b1602e9 100644 --- a/src/USER-REAXC/reaxc_nonbonded.cpp +++ b/src/USER-REAXC/reaxc_nonbonded.cpp @@ -33,7 +33,7 @@ void vdW_Coulomb_Energy( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control ) + reax_list **lists, output_controls */*out_control*/ ) { int i, j, pj, natoms; int start_i, end_i, flag; @@ -206,7 +206,7 @@ void vdW_Coulomb_Energy( reax_system *system, control_params *control, void Tabulated_vdW_Coulomb_Energy( reax_system *system,control_params *control, simulation_data *data, storage *workspace, reax_list **lists, - output_controls *out_control ) + output_controls */*out_control*/ ) { int i, j, pj, r, natoms; int type_i, type_j, tmin, tmax; diff --git a/src/USER-REAXC/reaxc_reset_tools.cpp b/src/USER-REAXC/reaxc_reset_tools.cpp index 4ec744e7b1..1b16f10aee 100644 --- a/src/USER-REAXC/reaxc_reset_tools.cpp +++ b/src/USER-REAXC/reaxc_reset_tools.cpp @@ -87,7 +87,7 @@ void Reset_Pressures( simulation_data *data ) } -void Reset_Simulation_Data( simulation_data* data, int virial ) +void Reset_Simulation_Data( simulation_data* data, int /*virial*/ ) { Reset_Energies( &data->my_en ); Reset_Energies( &data->sys_en ); diff --git a/src/USER-REAXC/reaxc_torsion_angles.cpp b/src/USER-REAXC/reaxc_torsion_angles.cpp index c5a7f23b30..d6f38d3765 100644 --- a/src/USER-REAXC/reaxc_torsion_angles.cpp +++ b/src/USER-REAXC/reaxc_torsion_angles.cpp @@ -41,7 +41,7 @@ double Calculate_Omega( rvec dvec_ij, double r_ij, three_body_interaction_data *p_jkl, rvec dcos_omega_di, rvec dcos_omega_dj, rvec dcos_omega_dk, rvec dcos_omega_dl, - output_controls *out_control ) + output_controls */*out_control*/ ) { double unnorm_cos_omega, unnorm_sin_omega, omega; double sin_ijk, cos_ijk, sin_jkl, cos_jkl; diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp index ae2bba2150..f980120a59 100644 --- a/src/USER-REAXC/reaxc_traj.cpp +++ b/src/USER-REAXC/reaxc_traj.cpp @@ -48,7 +48,7 @@ int Reallocate_Output_Buffer( output_controls *out_control, int req_space, } -void Write_Skip_Line( output_controls *out_control, mpi_datatypes *mpi_data, +void Write_Skip_Line( output_controls *out_control, mpi_datatypes */*mpi_data*/, int my_rank, int skip, int num_section ) { if( my_rank == MASTER_NODE ) @@ -259,7 +259,7 @@ int Write_Header( reax_system *system, control_params *control, } -int Write_Init_Desc( reax_system *system, control_params *control, +int Write_Init_Desc( reax_system *system, control_params */*control*/, output_controls *out_control, mpi_datatypes *mpi_data ) { int i, me, np, cnt, buffer_len, buffer_req; @@ -482,7 +482,7 @@ int Write_Frame_Header( reax_system *system, control_params *control, -int Write_Atoms( reax_system *system, control_params *control, +int Write_Atoms( reax_system *system, control_params */*control*/, output_controls *out_control, mpi_datatypes *mpi_data ) { int i, me, np, line_len, buffer_len, buffer_req, cnt; diff --git a/src/USER-REAXC/reaxc_valence_angles.cpp b/src/USER-REAXC/reaxc_valence_angles.cpp index c92996e56b..35342c9173 100644 --- a/src/USER-REAXC/reaxc_valence_angles.cpp +++ b/src/USER-REAXC/reaxc_valence_angles.cpp @@ -76,7 +76,7 @@ void Calculate_dCos_Theta( rvec dvec_ji, double d_ji, rvec dvec_jk, double d_jk, void Valence_Angles( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls *out_control ) + reax_list **lists, output_controls */*out_control*/ ) { int i, j, pi, k, pk, t; int type_i, type_j, type_k; diff --git a/src/USER-SMD/atom_vec_smd.cpp b/src/USER-SMD/atom_vec_smd.cpp index e99f3c5169..97a2fb0349 100644 --- a/src/USER-SMD/atom_vec_smd.cpp +++ b/src/USER-SMD/atom_vec_smd.cpp @@ -208,7 +208,7 @@ void AtomVecSMD::copy(int i, int j, int delflag) { /* ---------------------------------------------------------------------- */ -int AtomVecSMD::pack_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) { +int AtomVecSMD::pack_comm(int /*n*/, int */*list*/, double */*buf*/, int /*pbc_flag*/, int */*pbc*/) { error->one(FLERR, "atom vec tlsph can only be used with ghost velocities turned on"); return -1; } @@ -333,7 +333,7 @@ int AtomVecSMD::pack_comm_hybrid(int n, int *list, double *buf) { /* ---------------------------------------------------------------------- */ -void AtomVecSMD::unpack_comm(int n, int first, double *buf) { +void AtomVecSMD::unpack_comm(int /*n*/, int /*first*/, double */*buf*/) { error->one(FLERR, "atom vec tlsph can only be used with ghost velocities turned on"); } @@ -441,7 +441,7 @@ int AtomVecSMD::unpack_reverse_hybrid(int n, int *list, double *buf) { /* ---------------------------------------------------------------------- */ -int AtomVecSMD::pack_border(int n, int *list, double *buf, int pbc_flag, int *pbc) { +int AtomVecSMD::pack_border(int /*n*/, int */*list*/, double */*buf*/, int /*pbc_flag*/, int */*pbc*/) { error->one(FLERR, "atom vec tlsph can only be used with ghost velocities turned on"); return -1; } @@ -633,7 +633,7 @@ int AtomVecSMD::pack_border_hybrid(int n, int *list, double *buf) { /* ---------------------------------------------------------------------- */ -void AtomVecSMD::unpack_border(int n, int first, double *buf) { +void AtomVecSMD::unpack_border(int /*n*/, int /*first*/, double */*buf*/) { error->one(FLERR, "atom vec tlsph can only be used with ghost velocities turned on"); } @@ -1098,7 +1098,7 @@ void AtomVecSMD::data_atom(double *coord, imageint imagetmp, char **values) { initialize other atom quantities for this sub-style ------------------------------------------------------------------------- */ -int AtomVecSMD::data_atom_hybrid(int nlocal, char **values) { +int AtomVecSMD::data_atom_hybrid(int /*nlocal*/, char **/*values*/) { error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd"); return -1; } @@ -1120,7 +1120,7 @@ void AtomVecSMD::data_vel(int m, char **values) { unpack hybrid quantities from one line in Velocities section of data file ------------------------------------------------------------------------- */ -int AtomVecSMD::data_vel_hybrid(int m, char **values) { +int AtomVecSMD::data_vel_hybrid(int /*m*/, char **/*values*/) { error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd"); return 0; } @@ -1158,7 +1158,7 @@ void AtomVecSMD::pack_data(double **buf) { pack hybrid atom info for data file ------------------------------------------------------------------------- */ -int AtomVecSMD::pack_data_hybrid(int i, double *buf) { +int AtomVecSMD::pack_data_hybrid(int /*i*/, double */*buf*/) { error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd"); return -1; } @@ -1180,7 +1180,7 @@ void AtomVecSMD::write_data(FILE *fp, int n, double **buf) { write hybrid atom info to data file ------------------------------------------------------------------------- */ -int AtomVecSMD::write_data_hybrid(FILE *fp, double *buf) { +int AtomVecSMD::write_data_hybrid(FILE */*fp*/, double */*buf*/) { error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd"); return -1; } @@ -1203,7 +1203,7 @@ void AtomVecSMD::pack_vel(double **buf) { pack hybrid velocity info for data file ------------------------------------------------------------------------- */ -int AtomVecSMD::pack_vel_hybrid(int i, double *buf) { +int AtomVecSMD::pack_vel_hybrid(int /*i*/, double */*buf*/) { error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd"); return 0; } @@ -1222,7 +1222,7 @@ void AtomVecSMD::write_vel(FILE *fp, int n, double **buf) { write hybrid velocity info to data file ------------------------------------------------------------------------- */ -int AtomVecSMD::write_vel_hybrid(FILE *fp, double *buf) { +int AtomVecSMD::write_vel_hybrid(FILE */*fp*/, double */*buf*/) { error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd"); return 3; } diff --git a/src/USER-SMD/fix_smd_adjust_dt.cpp b/src/USER-SMD/fix_smd_adjust_dt.cpp index 3685248d5e..f015c6c4df 100644 --- a/src/USER-SMD/fix_smd_adjust_dt.cpp +++ b/src/USER-SMD/fix_smd_adjust_dt.cpp @@ -86,13 +86,13 @@ void FixSMDTlsphDtReset::init() { /* ---------------------------------------------------------------------- */ -void FixSMDTlsphDtReset::setup(int vflag) { +void FixSMDTlsphDtReset::setup(int /*vflag*/) { end_of_step(); } /* ---------------------------------------------------------------------- */ -void FixSMDTlsphDtReset::initial_integrate(int vflag) { +void FixSMDTlsphDtReset::initial_integrate(int /*vflag*/) { //printf("in adjust_dt: dt = %20.10f\n", update->dt); diff --git a/src/USER-SMD/fix_smd_integrate_tlsph.cpp b/src/USER-SMD/fix_smd_integrate_tlsph.cpp index 4668e673fc..1eae45161f 100644 --- a/src/USER-SMD/fix_smd_integrate_tlsph.cpp +++ b/src/USER-SMD/fix_smd_integrate_tlsph.cpp @@ -125,7 +125,7 @@ void FixSMDIntegrateTlsph::init() { /* ---------------------------------------------------------------------- ------------------------------------------------------------------------- */ -void FixSMDIntegrateTlsph::initial_integrate(int vflag) { +void FixSMDIntegrateTlsph::initial_integrate(int /*vflag*/) { double dtfm, vsq, scale; // update v and x of atoms in group diff --git a/src/USER-SMD/fix_smd_integrate_ulsph.cpp b/src/USER-SMD/fix_smd_integrate_ulsph.cpp index a145deeb61..685d6af5a8 100644 --- a/src/USER-SMD/fix_smd_integrate_ulsph.cpp +++ b/src/USER-SMD/fix_smd_integrate_ulsph.cpp @@ -158,7 +158,7 @@ void FixSMDIntegrateUlsph::init() { allow for both per-type and per-atom mass ------------------------------------------------------------------------- */ -void FixSMDIntegrateUlsph::initial_integrate(int vflag) { +void FixSMDIntegrateUlsph::initial_integrate(int /*vflag*/) { double **x = atom->x; double **v = atom->v; double **f = atom->f; diff --git a/src/USER-SMD/fix_smd_move_triangulated_surface.cpp b/src/USER-SMD/fix_smd_move_triangulated_surface.cpp index d4afbe0535..1515849c53 100644 --- a/src/USER-SMD/fix_smd_move_triangulated_surface.cpp +++ b/src/USER-SMD/fix_smd_move_triangulated_surface.cpp @@ -248,7 +248,7 @@ void FixSMDMoveTriSurf::init() { /* ---------------------------------------------------------------------- ------------------------------------------------------------------------- */ -void FixSMDMoveTriSurf::initial_integrate(int vflag) { +void FixSMDMoveTriSurf::initial_integrate(int /*vflag*/) { double **x = atom->x; double **x0 = atom->x0; double **v = atom->v; @@ -461,7 +461,7 @@ void FixSMDMoveTriSurf::reset_dt() { /* ---------------------------------------------------------------------- */ -int FixSMDMoveTriSurf::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) { +int FixSMDMoveTriSurf::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { int i, j, m; double **x0 = atom->x0; double **smd_data_9 = atom->smd_data_9; diff --git a/src/USER-SMD/fix_smd_setvel.cpp b/src/USER-SMD/fix_smd_setvel.cpp index 5e7cdbad38..4bc8b5127b 100644 --- a/src/USER-SMD/fix_smd_setvel.cpp +++ b/src/USER-SMD/fix_smd_setvel.cpp @@ -231,7 +231,7 @@ void FixSMDSetVel::min_setup(int vflag) { /* ---------------------------------------------------------------------- */ //void FixSMDSetVel::initial_integrate(int vflag) { -void FixSMDSetVel::post_force(int vflag) { +void FixSMDSetVel::post_force(int /*vflag*/) { double **x = atom->x; double **f = atom->f; double **v = atom->v; diff --git a/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp b/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp index 3e2812aa12..eba094da53 100644 --- a/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp +++ b/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp @@ -199,7 +199,7 @@ void FixSMD_TLSPH_ReferenceConfiguration::pre_exchange() { so can be migrated or stored with atoms ------------------------------------------------------------------------- */ -void FixSMD_TLSPH_ReferenceConfiguration::setup(int vflag) { +void FixSMD_TLSPH_ReferenceConfiguration::setup(int /*vflag*/) { int i, j, ii, jj, n, inum, jnum; int *ilist, *jlist, *numneigh, **firstneigh; double r, h, wf, wfd; @@ -386,7 +386,7 @@ void FixSMD_TLSPH_ReferenceConfiguration::grow_arrays(int nmax) { copy values within local atom-based arrays ------------------------------------------------------------------------- */ -void FixSMD_TLSPH_ReferenceConfiguration::copy_arrays(int i, int j, int delflag) { +void FixSMD_TLSPH_ReferenceConfiguration::copy_arrays(int i, int j, int /*delflag*/) { npartner[j] = npartner[i]; for (int m = 0; m < npartner[j]; m++) { partner[j][m] = partner[i][m]; @@ -470,7 +470,7 @@ int FixSMD_TLSPH_ReferenceConfiguration::pack_restart(int i, double *buf) { unpack values from atom->extra array to restart the fix ------------------------------------------------------------------------- */ -void FixSMD_TLSPH_ReferenceConfiguration::unpack_restart(int nlocal, int nth) { +void FixSMD_TLSPH_ReferenceConfiguration::unpack_restart(int /*nlocal*/, int /*nth*/) { // ipage = NULL if being called from granular pair style init() // skip to Nth set of extra values @@ -512,7 +512,7 @@ int FixSMD_TLSPH_ReferenceConfiguration::size_restart(int nlocal) { /* ---------------------------------------------------------------------- */ -int FixSMD_TLSPH_ReferenceConfiguration::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) { +int FixSMD_TLSPH_ReferenceConfiguration::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { int i, j, m; double *radius = atom->radius; double *vfrac = atom->vfrac; diff --git a/src/USER-SMD/fix_smd_wall_surface.cpp b/src/USER-SMD/fix_smd_wall_surface.cpp index 97c2ead5fc..4dd415f53e 100644 --- a/src/USER-SMD/fix_smd_wall_surface.cpp +++ b/src/USER-SMD/fix_smd_wall_surface.cpp @@ -110,7 +110,7 @@ void FixSMDWallSurface::min_setup(int vflag) { must be done in setup (not init) since fix init comes before neigh init ------------------------------------------------------------------------- */ -void FixSMDWallSurface::setup(int vflag) { +void FixSMDWallSurface::setup(int /*vflag*/) { if (!first) return; diff --git a/src/USER-SMD/pair_smd_hertz.cpp b/src/USER-SMD/pair_smd_hertz.cpp index 815db4a450..13f48e995e 100644 --- a/src/USER-SMD/pair_smd_hertz.cpp +++ b/src/USER-SMD/pair_smd_hertz.cpp @@ -373,7 +373,7 @@ double PairHertz::memory_usage() { return 0.0; } -void *PairHertz::extract(const char *str, int &i) { +void *PairHertz::extract(const char *str, int &/*i*/) { //printf("in PairTriSurf::extract\n"); if (strcmp(str, "smd/hertz/stable_time_increment_ptr") == 0) { return (void *) &stable_time_increment; diff --git a/src/USER-SMD/pair_smd_tlsph.cpp b/src/USER-SMD/pair_smd_tlsph.cpp index 4dd16c4d83..f9922ef222 100644 --- a/src/USER-SMD/pair_smd_tlsph.cpp +++ b/src/USER-SMD/pair_smd_tlsph.cpp @@ -1802,7 +1802,7 @@ double PairTlsph::memory_usage() { extract method to provide access to this class' data structures ------------------------------------------------------------------------- */ -void *PairTlsph::extract(const char *str, int &i) { +void *PairTlsph::extract(const char *str, int &/*i*/) { //printf("in PairTlsph::extract\n"); if (strcmp(str, "smd/tlsph/Fincr_ptr") == 0) { return (void *) Fincr; @@ -1839,7 +1839,7 @@ void *PairTlsph::extract(const char *str, int &i) { /* ---------------------------------------------------------------------- */ -int PairTlsph::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) { +int PairTlsph::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { int i, j, m; tagint *mol = atom->molecule; double *damage = atom->damage; @@ -1928,7 +1928,7 @@ void PairTlsph::unpack_forward_comm(int n, int first, double *buf) { ------------------------------------------------------------------------- */ void PairTlsph::effective_longitudinal_modulus(const int itype, const double dt, const double d_iso, const double p_rate, - const Matrix3d d_dev, const Matrix3d sigma_dev_rate, const double damage, double &K_eff, double &mu_eff, double &M_eff) { + const Matrix3d d_dev, const Matrix3d sigma_dev_rate, const double /*damage*/, double &K_eff, double &mu_eff, double &M_eff) { double M0; // initial longitudinal modulus double shear_rate_sq; @@ -2094,7 +2094,7 @@ void PairTlsph::ComputeStressDeviator(const int i, const Matrix3d sigmaInitial_d /* ---------------------------------------------------------------------- Compute damage. Called from AssembleStress(). ------------------------------------------------------------------------- */ -void PairTlsph::ComputeDamage(const int i, const Matrix3d strain, const Matrix3d stress, Matrix3d &stress_damaged) { +void PairTlsph::ComputeDamage(const int i, const Matrix3d strain, const Matrix3d stress, Matrix3d &/*stress_damaged*/) { double *eff_plastic_strain = atom->eff_plastic_strain; double *eff_plastic_strain_rate = atom->eff_plastic_strain_rate; double *radius = atom->radius; diff --git a/src/USER-SMD/pair_smd_triangulated_surface.cpp b/src/USER-SMD/pair_smd_triangulated_surface.cpp index b8bff7e799..e40c876ec3 100644 --- a/src/USER-SMD/pair_smd_triangulated_surface.cpp +++ b/src/USER-SMD/pair_smd_triangulated_surface.cpp @@ -834,7 +834,7 @@ double PairTriSurf::clamp(const double a, const double min, const double max) { } } -void *PairTriSurf::extract(const char *str, int &i) { +void *PairTriSurf::extract(const char *str, int &/*i*/) { //printf("in PairTriSurf::extract\n"); if (strcmp(str, "smd/tri_surface/stable_time_increment_ptr") == 0) { return (void *) &stable_time_increment; diff --git a/src/USER-SMD/pair_smd_ulsph.cpp b/src/USER-SMD/pair_smd_ulsph.cpp index 96eb912fae..aa88e125d6 100644 --- a/src/USER-SMD/pair_smd_ulsph.cpp +++ b/src/USER-SMD/pair_smd_ulsph.cpp @@ -1487,7 +1487,7 @@ double PairULSPH::memory_usage() { /* ---------------------------------------------------------------------- */ -int PairULSPH::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) { +int PairULSPH::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { double *vfrac = atom->vfrac; double *eff_plastic_strain = atom->eff_plastic_strain; int i, j, m; @@ -1562,7 +1562,7 @@ void PairULSPH::unpack_forward_comm(int n, int first, double *buf) { * EXTRACT */ -void *PairULSPH::extract(const char *str, int &i) { +void *PairULSPH::extract(const char *str, int &/*i*/) { //printf("in extract\n"); if (strcmp(str, "smd/ulsph/smoothVel_ptr") == 0) { return (void *) smoothVel; diff --git a/src/USER-SMD/smd_material_models.cpp b/src/USER-SMD/smd_material_models.cpp index e3deb199b6..4213428872 100644 --- a/src/USER-SMD/smd_material_models.cpp +++ b/src/USER-SMD/smd_material_models.cpp @@ -97,7 +97,7 @@ void ShockEOS(double rho, double rho0, double e, double e0, double c0, double S, final pressure pFinal ------------------------------------------------------------------------- */ -void polynomialEOS(double rho, double rho0, double e, double C0, double C1, double C2, double C3, double C4, double C5, double C6, +void polynomialEOS(double rho, double rho0, double /*e*/, double C0, double C1, double C2, double C3, double /*C4*/, double /*C5*/, double /*C6*/, double pInitial, double dt, double &pFinal, double &p_rate) { double mu = rho / rho0 - 1.0; @@ -307,7 +307,7 @@ void LinearPlasticStrength(const double G, const double yieldStress, const Matri output: sigmaFinal_dev, sigmaFinal_dev_rate__: final stress deviator and its rate. ------------------------------------------------------------------------- */ void JohnsonCookStrength(const double G, const double cp, const double espec, const double A, const double B, const double a, - const double C, const double epdot0, const double T0, const double Tmelt, const double M, const double dt, const double ep, + const double C, const double epdot0, const double T0, const double Tmelt, const double /*M*/, const double dt, const double ep, const double epdot, const Matrix3d sigmaInitial_dev, const Matrix3d d_dev, Matrix3d &sigmaFinal_dev__, Matrix3d &sigma_dev_rate__, double &plastic_strain_increment) { diff --git a/src/USER-SMTBQ/pair_smtbq.cpp b/src/USER-SMTBQ/pair_smtbq.cpp index 1028d8a897..9eee7d0728 100644 --- a/src/USER-SMTBQ/pair_smtbq.cpp +++ b/src/USER-SMTBQ/pair_smtbq.cpp @@ -242,7 +242,7 @@ void PairSMTBQ::allocate() global settings ------------------------------------------------------------------------- */ -void PairSMTBQ::settings(int narg, char **arg) +void PairSMTBQ::settings(int narg, char **/*arg*/) { if (narg > 0) error->all(FLERR,"Illegal pair_style command"); } @@ -1592,7 +1592,7 @@ void PairSMTBQ::tabqeq() /* ---------------------------------------------------------------------*/ void PairSMTBQ::potqeq(int i, int j, double qi, double qj, double rsq, - double &fforce, int eflag, double &eng) + double &fforce, int /*eflag*/, double &eng) { /* =================================================================== @@ -1840,7 +1840,7 @@ void PairSMTBQ::pot_ES2 (int i, int j, double rsq, double &pot) -------------------------------------------------------------------- */ void PairSMTBQ::rep_OO(Intparam *intparam, double rsq, double &fforce, - int eflag, double &eng) + int /*eflag*/, double &eng) { double r,tmp_exp,tmp; double A = intparam->abuck ; @@ -1858,7 +1858,7 @@ void PairSMTBQ::rep_OO(Intparam *intparam, double rsq, double &fforce, void PairSMTBQ::Attr_OO(Intparam *intparam, double rsq, double &fforce, - int eflag, double &eng) + int /*eflag*/, double &eng) { double r,tmp_exp; double aOO = intparam->aOO ; @@ -1980,8 +1980,8 @@ void PairSMTBQ::tabsm() /* -------------------------------------------------------------- */ -void PairSMTBQ::repulsive(Intparam *intparam, double rsq, int i, int j, - double &fforce, int eflag, double &eng) +void PairSMTBQ::repulsive(Intparam *intparam, double rsq, int /*i*/, int /*j*/, + double &fforce, int /*eflag*/, double &eng) { /* ================================================ @@ -2031,7 +2031,7 @@ void PairSMTBQ::repulsive(Intparam *intparam, double rsq, int i, int j, void PairSMTBQ::attractive(Intparam *intparam, double rsq, - int eflag, int i, double iq, int j, double jq) + int /*eflag*/, int i, double /*iq*/, int /*j*/, double /*jq*/) { int itype,l; double r,t1,t2,xi,sds; @@ -3334,7 +3334,7 @@ void PairSMTBQ::groupQEqAllParallel_QEq() /* ---------------------------------------------------------------------- */ -void PairSMTBQ::Init_charge(int *nQEq, int *nQEqa, int *nQEqc) +void PairSMTBQ::Init_charge(int */*nQEq*/, int */*nQEqa*/, int */*nQEqc*/) { int ii,i,gp,itype; int *ilist,test[nteam],init[nteam]; @@ -3391,7 +3391,7 @@ void PairSMTBQ::Init_charge(int *nQEq, int *nQEqa, int *nQEqc) * COMMUNICATION * ---------------------------------------------------------------------- */ -int PairSMTBQ::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) +int PairSMTBQ::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { int i,j,m; diff --git a/src/USER-SPH/fix_meso.cpp b/src/USER-SPH/fix_meso.cpp index d7a5d81517..b688eccfea 100644 --- a/src/USER-SPH/fix_meso.cpp +++ b/src/USER-SPH/fix_meso.cpp @@ -64,7 +64,7 @@ void FixMeso::init() { dtf = 0.5 * update->dt * force->ftm2v; } -void FixMeso::setup_pre_force(int vflag) +void FixMeso::setup_pre_force(int /*vflag*/) { // set vest equal to v double **v = atom->v; @@ -87,7 +87,7 @@ void FixMeso::setup_pre_force(int vflag) allow for both per-type and per-atom mass ------------------------------------------------------------------------- */ -void FixMeso::initial_integrate(int vflag) { +void FixMeso::initial_integrate(int /*vflag*/) { // update v and x and rho and e of atoms in group double **x = atom->x; diff --git a/src/USER-SPH/fix_meso_stationary.cpp b/src/USER-SPH/fix_meso_stationary.cpp index f5fc306320..29e8a1554c 100644 --- a/src/USER-SPH/fix_meso_stationary.cpp +++ b/src/USER-SPH/fix_meso_stationary.cpp @@ -67,7 +67,7 @@ void FixMesoStationary::init() { allow for both per-type and per-atom mass ------------------------------------------------------------------------- */ -void FixMesoStationary::initial_integrate(int vflag) { +void FixMesoStationary::initial_integrate(int /*vflag*/) { double *rho = atom->rho; double *drho = atom->drho; diff --git a/src/USER-SPH/pair_sph_heatconduction.cpp b/src/USER-SPH/pair_sph_heatconduction.cpp index 6f0cf7eca2..4a8990d6fd 100644 --- a/src/USER-SPH/pair_sph_heatconduction.cpp +++ b/src/USER-SPH/pair_sph_heatconduction.cpp @@ -155,7 +155,7 @@ void PairSPHHeatConduction::allocate() { global settings ------------------------------------------------------------------------- */ -void PairSPHHeatConduction::settings(int narg, char **arg) { +void PairSPHHeatConduction::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR, "Illegal number of setting arguments for pair_style sph/heatconduction"); @@ -211,8 +211,8 @@ double PairSPHHeatConduction::init_one(int i, int j) { /* ---------------------------------------------------------------------- */ -double PairSPHHeatConduction::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, double &fforce) { +double PairSPHHeatConduction::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, + double /*rsq*/, double /*factor_coul*/, double /*factor_lj*/, double &fforce) { fforce = 0.0; return 0.0; diff --git a/src/USER-SPH/pair_sph_idealgas.cpp b/src/USER-SPH/pair_sph_idealgas.cpp index 99fba05917..32b3e61233 100644 --- a/src/USER-SPH/pair_sph_idealgas.cpp +++ b/src/USER-SPH/pair_sph_idealgas.cpp @@ -197,7 +197,7 @@ void PairSPHIdealGas::allocate() { global settings ------------------------------------------------------------------------- */ -void PairSPHIdealGas::settings(int narg, char **arg) { +void PairSPHIdealGas::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR, "Illegal number of setting arguments for pair_style sph/idealgas"); @@ -252,8 +252,8 @@ double PairSPHIdealGas::init_one(int i, int j) { /* ---------------------------------------------------------------------- */ -double PairSPHIdealGas::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, double &fforce) { +double PairSPHIdealGas::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, + double /*rsq*/, double /*factor_coul*/, double /*factor_lj*/, double &fforce) { fforce = 0.0; return 0.0; diff --git a/src/USER-SPH/pair_sph_lj.cpp b/src/USER-SPH/pair_sph_lj.cpp index 5cefdf87c4..c382833baf 100644 --- a/src/USER-SPH/pair_sph_lj.cpp +++ b/src/USER-SPH/pair_sph_lj.cpp @@ -204,7 +204,7 @@ void PairSPHLJ::allocate() { global settings ------------------------------------------------------------------------- */ -void PairSPHLJ::settings(int narg, char **arg) { +void PairSPHLJ::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR, "Illegal number of setting arguments for pair_style sph/lj"); @@ -261,8 +261,8 @@ double PairSPHLJ::init_one(int i, int j) { /* ---------------------------------------------------------------------- */ -double PairSPHLJ::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, double &fforce) { +double PairSPHLJ::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, + double /*rsq*/, double /*factor_coul*/, double /*factor_lj*/, double &fforce) { fforce = 0.0; return 0.0; diff --git a/src/USER-SPH/pair_sph_rhosum.cpp b/src/USER-SPH/pair_sph_rhosum.cpp index 605187d3a7..9b5a535288 100644 --- a/src/USER-SPH/pair_sph_rhosum.cpp +++ b/src/USER-SPH/pair_sph_rhosum.cpp @@ -278,8 +278,8 @@ double PairSPHRhoSum::init_one(int i, int j) { /* ---------------------------------------------------------------------- */ -double PairSPHRhoSum::single(int i, int j, int itype, int jtype, double rsq, - double factor_coul, double factor_lj, double &fforce) { +double PairSPHRhoSum::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, double /*rsq*/, + double /*factor_coul*/, double /*factor_lj*/, double &fforce) { fforce = 0.0; return 0.0; @@ -288,7 +288,7 @@ double PairSPHRhoSum::single(int i, int j, int itype, int jtype, double rsq, /* ---------------------------------------------------------------------- */ int PairSPHRhoSum::pack_forward_comm(int n, int *list, double *buf, - int pbc_flag, int *pbc) { + int /*pbc_flag*/, int */*pbc*/) { int i, j, m; double *rho = atom->rho; diff --git a/src/USER-SPH/pair_sph_taitwater.cpp b/src/USER-SPH/pair_sph_taitwater.cpp index 00500b940d..42b318f2c9 100644 --- a/src/USER-SPH/pair_sph_taitwater.cpp +++ b/src/USER-SPH/pair_sph_taitwater.cpp @@ -225,7 +225,7 @@ void PairSPHTaitwater::allocate() { global settings ------------------------------------------------------------------------- */ -void PairSPHTaitwater::settings(int narg, char **arg) { +void PairSPHTaitwater::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR, "Illegal number of setting arguments for pair_style sph/taitwater"); @@ -293,8 +293,8 @@ double PairSPHTaitwater::init_one(int i, int j) { /* ---------------------------------------------------------------------- */ -double PairSPHTaitwater::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, double &fforce) { +double PairSPHTaitwater::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, + double /*rsq*/, double /*factor_coul*/, double /*factor_lj*/, double &fforce) { fforce = 0.0; return 0.0; diff --git a/src/USER-SPH/pair_sph_taitwater_morris.cpp b/src/USER-SPH/pair_sph_taitwater_morris.cpp index 80607cb333..8012895af8 100644 --- a/src/USER-SPH/pair_sph_taitwater_morris.cpp +++ b/src/USER-SPH/pair_sph_taitwater_morris.cpp @@ -225,7 +225,7 @@ void PairSPHTaitwaterMorris::allocate() { global settings ------------------------------------------------------------------------- */ -void PairSPHTaitwaterMorris::settings(int narg, char **arg) { +void PairSPHTaitwaterMorris::settings(int narg, char **/*arg*/) { if (narg != 0) error->all(FLERR, "Illegal number of setting arguments for pair_style sph/taitwater/morris"); @@ -289,8 +289,8 @@ double PairSPHTaitwaterMorris::init_one(int i, int j) { /* ---------------------------------------------------------------------- */ -double PairSPHTaitwaterMorris::single(int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, double &fforce) { +double PairSPHTaitwaterMorris::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, + double /*rsq*/, double /*factor_coul*/, double /*factor_lj*/, double &fforce) { fforce = 0.0; return 0.0; diff --git a/src/USER-UEF/fix_nh_uef.cpp b/src/USER-UEF/fix_nh_uef.cpp index bfa4549286..bffcd7849f 100644 --- a/src/USER-UEF/fix_nh_uef.cpp +++ b/src/USER-UEF/fix_nh_uef.cpp @@ -348,7 +348,7 @@ void FixNHUef::final_integrate() * at outer level: call this->final_integrate() * at other levels: rotate -> 2nd verlet step -> rotate back * ---------------------------------------------------------------------- */ -void FixNHUef::final_integrate_respa(int ilevel, int iloop) +void FixNHUef::final_integrate_respa(int ilevel, int /*iloop*/) { // set timesteps by level dtf = 0.5 * step_respa[ilevel] * force->ftm2v; -- GitLab From 735ec9de0babfc4fd9d781ac1e1dedbddcd66eb1 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 24 Aug 2018 10:53:05 -0600 Subject: [PATCH 602/675] more general MD c/s protocol --- src/MESSAGE/fix_client_md.cpp | 43 ++++++++++++++---- src/MESSAGE/server_md.cpp | 86 +++++++++++++++++++++++++---------- src/MESSAGE/server_md.h | 4 ++ 3 files changed, 100 insertions(+), 33 deletions(-) diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp index 9c270ac2c9..c4ee24d344 100644 --- a/src/MESSAGE/fix_client_md.cpp +++ b/src/MESSAGE/fix_client_md.cpp @@ -28,9 +28,9 @@ using namespace LAMMPS_NS; using namespace CSLIB_NS; using namespace FixConst; -enum{REAL,METAL} +enum{OTHER,REAL,METAL} enum{SETUP=1,STEP}; -enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,CHARGE}; +enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; enum{FORCES=1,ENERGY,VIRIAL}; /* ---------------------------------------------------------------------- */ @@ -47,7 +47,7 @@ FixClientMD::FixClientMD(LAMMPS *lmp, int narg, char **arg) : if (strcmp(update->unit_style,"real") == 0) units = REAL; else if (strcmp(update->unit_style,"metal") == 0) units = METAL; - else error->all(FLERR,"Units must be real or metal for fix client/md"); + else units = OTHER; scalar_flag = 1; global_freq = 1; @@ -55,18 +55,19 @@ FixClientMD::FixClientMD(LAMMPS *lmp, int narg, char **arg) : virial_flag = 1; thermo_virial = 1; + inv_nprocs = 1.0 / comm->nprocs; if (domain->dimension == 2) box[0][2] = box[1][2] = box[2][0] = box[2][1] = box[2][2] = 0.0; maxatom = 0; xpbc = NULL; - // unit conversion factors - - double inv_nprocs = 1.0 / comm->nprocs; + // unit conversion factors for REAL + // otherwise not needed fconvert = econvert = vconvert = 1.0; if (units == REAL) { + // NOTE: still need to set these fconvert = 1.0; econvert = 1.0; vconvert = 1.0; @@ -120,10 +121,12 @@ void FixClientMD::setup(int vflag) { CSlib *cs = (CSlib *) lmp->cslib; + // SETUP send at beginning of each run // required fields: DIM, PERIODICTY, ORIGIN, BOX, NATOMS, NTYPES, TYPES, COORDS // optional fields: others in enum above int nfields = 8; + if (units == OTHER) nfields++; if (atom->q_flag) nfields++; cs->send(SETUP,nfields); @@ -142,12 +145,20 @@ void FixClientMD::setup(int vflag) pack_coords(); cs->pack_parallel(COORDS,4,atom->nlocal,atom->tag,3,xpbc); + if (units == OTHER) cs->pack_string(UNITS,update->unit_style); + if (atom->q_flag) cs->pack_parallel(CHARGE,4,atom->nlocal,atom->tag,1,atom->q); // receive initial forces, energy, virial receive_fev(vflag); + + if (server_error) { + str = char[64]; + sprintf(str,"Fix client/md received server error %d\n",server_error); + error->all(FLERR,str); + } } /* ---------------------------------------------------------------------- */ @@ -168,6 +179,7 @@ void FixClientMD::post_force(int vflag) if (vflag) v_setup(vflag); else evflag = 0; + // STEP send every step // required fields: COORDS // optional fields: ORIGIN, BOX @@ -189,9 +201,15 @@ void FixClientMD::post_force(int vflag) cs->pack(BOX,4,9,&box[0][0]); } - // recv forces, energy, virial + // receive forces, energy, virial receive_fev(vflag); + + if (server_error) { + str = char[64]; + sprintf(str,"Fix client/md received server error %d\n",server_error); + error->all(FLERR,str); + } } /* ---------------------------------------------------------------------- */ @@ -202,7 +220,7 @@ void FixClientMD::min_post_force(int vflag) } /* ---------------------------------------------------------------------- - potential energy from QM code + potential energy from server ------------------------------------------------------------------------- */ double FixClientMD::compute_scalar() @@ -255,7 +273,9 @@ void FixClientMD::pack_box() } /* ---------------------------------------------------------------------- - receive message from server with forces, energy, virial + receive message from server + required fields: FORCES, ENERGY, VIRIAL + optional field: ERROR ------------------------------------------------------------------------- */ void FixClientMD::receive_fev(int vflag) @@ -291,4 +311,9 @@ void FixClientMD::receive_fev(int vflag) for (int i = 0; i < 6; i++) virial[i] = inv_nprocs * vconvert * v[i]; } + + // error return + + server_error = 0; + if (nfield == 4) server_error = cs->unpack_int(ERROR); } diff --git a/src/MESSAGE/server_md.cpp b/src/MESSAGE/server_md.cpp index af93c3b4b0..98ce71638d 100644 --- a/src/MESSAGE/server_md.cpp +++ b/src/MESSAGE/server_md.cpp @@ -33,21 +33,11 @@ using namespace LAMMPS_NS; using namespace CSLIB_NS; -enum{REAL,METAL} +enum{OTHER,REAL,METAL} enum{SETUP=1,STEP}; -enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,CHARGE}; +enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; enum{FORCES=1,ENERGY,VIRIAL}; -// NOTE: features that could be added to this interface -// allow client to set periodicity vs shrink-wrap -// currently just assume server is same as client -// test that triclinic boxes actually work -// send new box size/shape every step, for NPT client -// unit check between client/server with unit conversion if needed -// option for client to send other per-atom quantities, e.g. rmass -// more precise request of energy/virial (global or peratom) by client -// maybe Verlet should have a single(eflag,vflag) method to more easily comply - /* ---------------------------------------------------------------------- */ ServerMD::ServerMD(LAMMPS *lmp) : Pointers(lmp) @@ -61,7 +51,27 @@ ServerMD::ServerMD(LAMMPS *lmp) : Pointers(lmp) if (strcmp(update->unit_style,"real") == 0) units = REAL; else if (strcmp(update->unit_style,"metal") == 0) units = METAL; - else error->all(FLERR,"Units must be real or metal for server md"); + else units = OTHER; + + // unit conversion factors for REAL + // otherwise not needed + + fconvert = econvert = vconvert = 1.0; + if (units == REAL) { + // NOTE: still need to set these + fconvert = 1.0; + econvert = 1.0; + vconvert = 1.0; + } + + fcopy = NULL; +} + +/* ---------------------------------------------------------------------- */ + +ServerMD::~ServerMD(); +{ + memory->destroy(fcopy); } /* ---------------------------------------------------------------------- */ @@ -89,8 +99,9 @@ void ServerMD::loop() msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); if (msgID < 0) break; - // SETUP call at beginning of each run - // required fields: NATOMS, NTYPES, BOXLO, BOXHI, TYPES, COORDS + // SETUP receive at beginning of each run + // required fields: DIM, PERIODICTY, ORIGIN, BOX, + // NATOMS, NTYPES, TYPES, COORDS // optional fields: others in enum above if (msgID == SETUP) { @@ -103,6 +114,7 @@ void ServerMD::loop() double *box = NULL; int *types = NULL; double *coords = NULL; + char *units = NULL; double *charge = NULL; for (int ifield = 0; ifield < nfield; ifield++) { @@ -132,6 +144,9 @@ void ServerMD::loop() types = (int *) cs->unpack(TYPES); } else if (fieldID[ifield] == COORDS) { coords = (double *) cs->unpack(COORDS); + + } else if (fieldID[ifield] == UNITS) { + units = (char *) cs->unpack(UNITS); } else if (fieldID[ifield] == CHARGE) { charge = (double *) cs->unpack(CHARGE); } else error->all(FLERR,"Server md setup field unknown"); @@ -141,6 +156,9 @@ void ServerMD::loop() natoms < 0 || ntypes < 0 || !types || !coords) error->all(FLERR,"Required server md setup field not received"); + if (units && strcmp(units,update->unit_style) != 0) + error->all(FLERR,"Server md does not match client units"); + if (charge && atom->q_flag == 0) error->all(FLERR,"Server md does not define atom attribute q"); @@ -183,6 +201,13 @@ void ServerMD::loop() atom->map_set(); atom->natoms = natoms; + // allocate fcopy if needed + + if (units == REAL) { + memory->destroy(fcopy); + memory->create(fcopy,atom->nlocal,3,"server/md:fcopy"); + } + // perform system setup() for dynamics // also OK for minimization, since client runs minimizer // return forces, energy, virial to client @@ -195,7 +220,7 @@ void ServerMD::loop() send_fev(msgID); - // STEP call at each timestep of run or minimization + // STEP receive at each timestep of run or minimization // required fields: COORDS // optional fields: BOXLO, BOXHI, BOXTILT @@ -309,13 +334,13 @@ void ServerMD::box_change(double *origin, double *box) domain->xy = box[3]; domain->xz = box[6]; domain->yz = box[7]; - - } /* ---------------------------------------------------------------------- - send return message with forces, energy, pressure tensor - pressure tensor should be just pair style virial + return message with forces, energy, pressure tensor + pressure tensor should be just pair and KSpace contributions + required fields: FORCES, ENERGY, VIRIAL + optional field: ERROR (not ever sending) ------------------------------------------------------------------------- */ void ServerMD::send_fev(int msgID) @@ -325,12 +350,25 @@ void ServerMD::send_fev(int msgID) cs->send(msgID,3); double *forces = NULL; - if (atom->nlocal) forces = &atom->f[0][0]; + if (atom->nlocal) { + if (units != REAL) forces = &atom->f[0][0]; + else { + double **f = atom->f; + int nlocal = atom->nlocal; + for (i = 0; i < nlocal; i++) { + fcopy[i][0] = fconvert*f[i][0]; + fcopy[i][1] = fconvert*f[i][1]; + fcopy[i][2] = fconvert*f[i][2]; + } + forces = &fcopy[0][0]; + } + } cs->pack_parallel(FORCES,4,atom->nlocal,atom->tag,3,forces); - + double eng = force->pair->eng_vdwl + force->pair->eng_coul; double engall; MPI_Allreduce(&eng,&engall,1,MPI_DOUBLE,MPI_SUM,world); + engall *= econvert; cs->pack_double(ENERGY,engall); double v[6],vall[6]; @@ -339,8 +377,8 @@ void ServerMD::send_fev(int msgID) if (force->kspace) for (int i = 0; i < 6; i++) v[i] += force->kspace->virial[i]; - + + for (int i = 0; i < 6; i++) v[i] *= vconvert; MPI_Allreduce(&v,&vall,6,MPI_DOUBLE,MPI_SUM,world); cs->pack(VIRIAL,4,6,vall); } - diff --git a/src/MESSAGE/server_md.h b/src/MESSAGE/server_md.h index 70134cbff9..ecc713a4e8 100644 --- a/src/MESSAGE/server_md.h +++ b/src/MESSAGE/server_md.h @@ -21,9 +21,13 @@ namespace LAMMPS_NS { class ServerMD : protected Pointers { public: ServerMD(class LAMMPS *); + ~ServerMD(); void loop(); private: + int units; + double **fcopy; + void box_change(double *, double *, double *); void send_fev(int); }; -- GitLab From d8b087aeb4a3ab82974cb047dbeedfd9f352e4eb Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 24 Aug 2018 11:11:34 -0600 Subject: [PATCH 603/675] docs for MD protocol enhancements --- doc/src/server_mc.txt | 18 +++++++++--------- doc/src/server_md.txt | 35 ++++++++++++++++++----------------- src/MESSAGE/fix_client_md.cpp | 2 +- src/MESSAGE/fix_client_md.h | 1 - src/MESSAGE/server_md.cpp | 2 +- 5 files changed, 29 insertions(+), 29 deletions(-) diff --git a/doc/src/server_mc.txt b/doc/src/server_mc.txt index 3c658187da..3f7b3b8893 100644 --- a/doc/src/server_mc.txt +++ b/doc/src/server_mc.txt @@ -71,26 +71,26 @@ cs->send(NATOMS,0) # msgID = 1 with no fields :pre cs->send(EINIT,0) # msgID = 2 with no fields :pre cs->send(DISPLACE,2) # msgID = 3 with 2 fields -cs->pack(1,1,ID) # 1st field = ID of atom to displace +cs->pack_int(1,ID) # 1st field = ID of atom to displace cs->pack(2,3,xnew) # 2nd field = new xyz coords of displaced atom :pre cs->send(ACCEPT,1) # msgID = 4 with 1 field -cs->pack(1,1,flag) # 1st field = accept/reject flag :pre +cs->pack_int(1,flag) # 1st field = accept/reject flag :pre cs->send(RUN,1) # msgID = 5 with 1 field -cs->pack(1,1,nsteps) # 1st field = # of timesteps to run MD :pre +cs->pack_int(1,nsteps) # 1st field = # of timesteps to run MD :pre [Server replies]: cs->send(NATOMS,1) # msgID = 1 with 1 field -cs->pack(1,1,Natoms) # 1st field = number of atoms :pre +cs->pack_int(1,natoms) # 1st field = number of atoms :pre -cs->send(EINIT,2) # msgID = 2 with 2 fields -cs->pack(1,1,poteng) # 1st field = potential energy of system -cs->pack(2,3*Natoms,x) # 2nd field = 3N coords of Natoms :pre +cs->send(EINIT,2) # msgID = 2 with 2 fields +cs->pack_double(1,poteng) # 1st field = potential energy of system +cs->pack(2,3*natoms,x) # 2nd field = 3N coords of Natoms :pre -cs->send(DISPLACE,1) # msgID = 3 with 1 field -cs->pack(1,1,poteng) # 1st field = new potential energy of system :pre +cs->send(DISPLACE,1) # msgID = 3 with 1 field +cs->pack_double(1,poteng) # 1st field = new potential energy of system :pre cs->send(ACCEPT,0) # msgID = 4 with no fields diff --git a/doc/src/server_md.txt b/doc/src/server_md.txt index 4fe605f7a5..58dfa7f762 100644 --- a/doc/src/server_md.txt +++ b/doc/src/server_md.txt @@ -66,45 +66,46 @@ files for details on how LAMMPS uses these messages. See the examples/COUPLE/lammps_vasp/vasp_wrapper.py file for an example of how a quantum code (VASP) can use use these messages. -The following code uses these values, defined as enums in LAMMPS: +The following pseudo-code uses these values, defined as enums. enum{SETUP=1,STEP}; -enum{UNITS=1,DIM,NATOMS,NTYPES,BOXLO,BOXHI,BOXTILT,TYPES,COORDS,CHARGE}; -enum{FORCES=1,ENERGY,VIRIAL}; :pre +enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; +enum{FORCES=1,ENERGY,VIRIAL,ERROR}; :pre [Client sends 2 kinds of messages]: -# required fields: NATOMS, NTYPES, BOXLO, BOXHI, TYPES, COORDS -# optional fields: others in 2nd enum above :pre +# required fields: DIM, PERIODICTY, ORIGIN, BOX, NATOMS, NTYPES, TYPES, COORDS +# optional fields: UNITS, CHARGE :pre cs->send(SETUP,nfields) # msgID with nfields :pre -cs->pack_string(UNITS,units) # units = "lj", "real", "metal", etc -cs->pack_int(NATOMS,natoms) # total numer of atoms +cs->pack_int(DIM,dim) # dimension (2,3) of simulation +cs->pack(PERIODICITY,3,xyz) # periodicity flags in 3 dims +cs->pack(ORIGIN,3,origin) # lower-left corner of simulation box +cs->pack(BOX,9,box) # 3 edge vectors of simulation box +cs->pack_int(NATOMS,natoms) # total number of atoms cs->pack_int(NTYPES,ntypes) # number of atom types -cs->pack(BOXLO,3,boxlo) # 3-vector of lower box bounds -cs->pack(BOXHI,3,boxhi) # 3-vector of upper box bounds -cs->pack(BOXTILT,3,boxtilt) # 3-vector of tilt factors for triclinic boxes cs->pack(TYPES,natoms,type) # vector of per-atom types cs->pack(COORDS,3*natoms,x) # vector of 3N atom coords +cs->pack_string(UNITS,units) # units = "lj", "real", "metal", etc cs->pack(CHARGE,natoms,q) # vector of per-atom charge :pre # required fields: COORDS -# optional fields: BOXLO, BOXHI, BOXTILT :pre +# optional fields: ORIGIN, BOX :pre cs->send(STEP,nfields) # msgID with nfields :pre -cs->pack_int(NATOMS,natoms) # total numer of atoms -cs->pack_int(NTYPES,ntypes) # number of atom types -cs->pack(BOXLO,3,boxlo) # 3-vector of lower box bounds -cs->pack(BOXTILT,3,boxtilt) # 3-vector of tilt factors for triclinic boxes :pre +cs->pack(COORDS,3*natoms,x) # vector of 3N atom coords +cs->pack(ORIGIN,3,origin) # lower-left corner of simulation box +cs->pack(BOX,9,box) # 3 edge vectors of simulation box [Server replies to either kind of message]: -cs->send(msgID,3) # msgID = 1 with 3 fields +cs->send(msgID,nfields) # msgID with nfields cs->pack(FORCES,3*Natoms,f) # vector of 3N forces on atoms cs->pack(ENERGY,1,poteng) # total potential energy of system -cs->pack(VIRIAL,6,virial) # global virial tensor (6-vector) :pre +cs->pack(VIRIAL,6,virial) # global virial tensor (6-vector) +cs->pack(ERROR,6,virial) # server had an error (e.g. DFT non-convergence) :pre :line diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp index c4ee24d344..b85c7f8f76 100644 --- a/src/MESSAGE/fix_client_md.cpp +++ b/src/MESSAGE/fix_client_md.cpp @@ -31,7 +31,7 @@ using namespace FixConst; enum{OTHER,REAL,METAL} enum{SETUP=1,STEP}; enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; -enum{FORCES=1,ENERGY,VIRIAL}; +enum{FORCES=1,ENERGY,VIRIAL,ERROR}; /* ---------------------------------------------------------------------- */ diff --git a/src/MESSAGE/fix_client_md.h b/src/MESSAGE/fix_client_md.h index b6561bce41..9c70e4c026 100644 --- a/src/MESSAGE/fix_client_md.h +++ b/src/MESSAGE/fix_client_md.h @@ -37,7 +37,6 @@ class FixClientMD : public Fix { double compute_scalar(); private: - void *cslib; int maxatom,units; double box[3][3]; double eng; diff --git a/src/MESSAGE/server_md.cpp b/src/MESSAGE/server_md.cpp index 98ce71638d..acdc06a0e9 100644 --- a/src/MESSAGE/server_md.cpp +++ b/src/MESSAGE/server_md.cpp @@ -36,7 +36,7 @@ using namespace CSLIB_NS; enum{OTHER,REAL,METAL} enum{SETUP=1,STEP}; enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; -enum{FORCES=1,ENERGY,VIRIAL}; +enum{FORCES=1,ENERGY,VIRIAL,ERROR}; /* ---------------------------------------------------------------------- */ -- GitLab From c01fb5f701581cdde2ae2e5d966ab048b2cdd981 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 24 Aug 2018 14:33:06 -0600 Subject: [PATCH 604/675] new loop structure in pair ATM --- src/MANYBODY/pair_atm.cpp | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp index 44587dfdff..b63407dfe9 100644 --- a/src/MANYBODY/pair_atm.cpp +++ b/src/MANYBODY/pair_atm.cpp @@ -98,6 +98,10 @@ void PairATM::compute(int eflag, int vflag) numneigh = list->numneigh; firstneigh = list->firstneigh; + int count1 = 0; + int count2 = 0; + int count3 = 0; + for (ii = 0; ii < inum; ii++) { i = ilist[ii]; xi = x[i][0]; @@ -108,7 +112,10 @@ void PairATM::compute(int eflag, int vflag) jnum = numneigh[i]; jnumm1 = jnum - 1; - for (jj = 0; jj < jnumm1; jj++) { + // for (jj = 0; jj < jnumm1; jj++) { + // replace with this line: + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; j &= NEIGHMASK; rij[0] = x[j][0] - xi; @@ -118,9 +125,15 @@ void PairATM::compute(int eflag, int vflag) rij[2] = x[j][2] - zi; if (rij[0] == 0.0 and rij[1] == 0.0 and rij[2] < 0.0) continue; rij2 = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + count1++; if (rij2 > cutoff_squared) continue; + count2++; + + //for (kk = jj+1; kk < jnum; kk++) { + // replace with these two lines: + for (kk = 0; kk < jnum; kk++) { + if (kk == jj) continue; - for (kk = jj+1; kk < jnum; kk++) { k = jlist[kk]; k &= NEIGHMASK; @@ -145,6 +158,7 @@ void PairATM::compute(int eflag, int vflag) nu_local = nu[type[i]][type[j]][type[k]]; if (nu_local == 0.0) continue; + count3++; interaction_ddd(nu_local, r6,rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl); @@ -163,6 +177,15 @@ void PairATM::compute(int eflag, int vflag) } } + int count = count1; + MPI_Allreduce(&count,&count1,1,MPI_INT,MPI_SUM,world); + count = count2; + MPI_Allreduce(&count,&count2,1,MPI_INT,MPI_SUM,world); + count = count3; + MPI_Allreduce(&count,&count3,1,MPI_INT,MPI_SUM,world); + printf("FORCE %g %d %d %d\n",cutoff_squared,count1,count2,count3); + + if (vflag_fdotr) virial_fdotr_compute(); } -- GitLab From 0661a800a7dc4efb88b20366026f899bd316f480 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Fri, 24 Aug 2018 14:57:49 -0600 Subject: [PATCH 605/675] lammps.1: add options block --- doc/lammps.1 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/lammps.1 b/doc/lammps.1 index 8f0ba78fdd..d49650bfaa 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -24,6 +24,10 @@ atomic, meso, or continuum scale. See http://lammps.sandia.gov/ for documentation. +.SH OPTIONS +See https://lammps.sandia.gov/doc/Run_options.html for details on +command-line options. + .SH COPYRIGHT © 2003--2018 Sandia Corporation -- GitLab From 38a998c03cf539dfe7782329d509e501cd3d8a4b Mon Sep 17 00:00:00 2001 From: Daniel Schwen Date: Fri, 24 Aug 2018 13:09:36 -0600 Subject: [PATCH 606/675] Fix misc. warnings (#1076) --- src/BODY/body_rounded_polyhedron.cpp | 6 ++--- src/BODY/fix_wall_body_polygon.cpp | 16 +++++------- src/BODY/fix_wall_body_polyhedron.cpp | 15 ++++------- src/BODY/pair_body_rounded_polygon.cpp | 11 ++++---- src/BODY/pair_body_rounded_polyhedron.cpp | 19 +++++++------- src/RIGID/fix_rigid.cpp | 1 - src/RIGID/fix_rigid_nh.cpp | 4 +-- src/RIGID/fix_rigid_nh_small.cpp | 2 +- src/SNAP/compute_snav_atom.h | 1 - src/SPIN/compute_spin.h | 1 - src/USER-BOCS/fix_bocs.cpp | 2 -- src/USER-DPD/fix_rx.cpp | 4 +-- src/USER-INTEL/fix_intel.cpp | 2 ++ src/USER-INTEL/fix_nh_intel.cpp | 1 - src/USER-INTEL/fix_nve_asphere_intel.cpp | 7 ----- src/USER-INTEL/intel_intrinsics_airebo.h | 2 +- src/USER-INTEL/nbin_intel.cpp | 7 +---- src/USER-INTEL/npair_full_bin_ghost_intel.cpp | 8 ++---- src/USER-INTEL/npair_intel.cpp | 6 ++--- src/USER-MANIFOLD/manifold_sphere.h | 2 +- src/USER-MGPT/mgpt_linalg.cpp | 26 +++++++++---------- src/USER-MISC/fix_bond_react.cpp | 1 - src/USER-MOFFF/angle_cosine_buck6d.cpp | 2 +- .../improper_inversion_harmonic.cpp | 5 ++-- src/USER-SMD/fix_smd_setvel.h | 1 - .../fix_smd_tlsph_reference_configuration.cpp | 2 +- src/fix_halt.cpp | 2 +- src/library.cpp | 2 +- 28 files changed, 63 insertions(+), 95 deletions(-) diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp index 5ba4bce8e8..0e2ebbed83 100644 --- a/src/BODY/body_rounded_polyhedron.cpp +++ b/src/BODY/body_rounded_polyhedron.cpp @@ -96,7 +96,7 @@ int BodyRoundedPolyhedron::nedges(AtomVecBody::Bonus *bonus) { int nvertices = bonus->ivalue[0]; int nedges = bonus->ivalue[1]; - int nfaces = bonus->ivalue[2]; + //int nfaces = bonus->ivalue[2]; if (nvertices == 1) return 0; else if (nvertices == 2) return 1; return nedges; //(nvertices+nfaces-2); // Euler's polyon formula: V-E+F=2 @@ -463,7 +463,7 @@ void BodyRoundedPolyhedron::output(int ibonus, int m, double *values) int BodyRoundedPolyhedron::image(int ibonus, double flag1, double /*flag2*/, int *&ivec, double **&darray) { - int j, nelements; + int nelements; double p[3][3]; double *x, rrad; @@ -488,7 +488,7 @@ int BodyRoundedPolyhedron::image(int ibonus, double flag1, double /*flag2*/, nelements = nvertices; } else { - int nfaces = bonus->ivalue[2]; + //int nfaces = bonus->ivalue[2]; int nedges = bonus->ivalue[1]; //nvertices + nfaces - 2; if (nvertices == 2) nedges = 1; // special case: rods double* edge_ends = &bonus->dvalue[3*nvertices]; diff --git a/src/BODY/fix_wall_body_polygon.cpp b/src/BODY/fix_wall_body_polygon.cpp index f217db774e..3f8c08b6bd 100644 --- a/src/BODY/fix_wall_body_polygon.cpp +++ b/src/BODY/fix_wall_body_polygon.cpp @@ -310,9 +310,6 @@ void FixWallBodyPolygon::post_force(int /*vflag*/) rsq = dx*dx + dy*dy + dz*dz; if (rsq > radius[i]*radius[i]) continue; - double r = sqrt(rsq); - double rsqinv = 1.0 / rsq; - if (dnum[i] == 0) body2space(i); npi = dnum[i]; ifirst = dfirst[i]; @@ -478,9 +475,8 @@ int FixWallBodyPolygon::vertex_against_wall(int i, double wall_pos, Contact* contact_list, int &num_contacts, double* /*facc*/) { int ni, npi, ifirst, interact; - double xpi[3], xpj[3], dist, eradi, rradi; - double fx, fy, fz, rx, ry, rz; - int nlocal = atom->nlocal; + double xpi[3], eradi, rradi; + double fx, fy, fz; npi = dnum[i]; ifirst = dfirst[i]; @@ -499,9 +495,9 @@ int FixWallBodyPolygon::vertex_against_wall(int i, double wall_pos, xpi[1] = x[i][1] + discrete[ifirst+ni][1]; xpi[2] = x[i][2] + discrete[ifirst+ni][2]; - int mode, contact, p2vertex; - double d, R, hi[3], t, delx, dely, delz, fpair, shift; - double xj[3], rij; + int mode, contact; + double d, R, hi[3], delx, dely, delz, fpair; + double rij; // compute the distance from the vertex xpi to the wall @@ -671,7 +667,7 @@ void FixWallBodyPolygon::contact_forces(Contact& contact, double j_a, double** x, double** v, double** angmom, double** f, double** torque, double* vwall, double* facc) { - int ibody,ibonus,ifirst, jefirst, ni; + int ibody,ibonus,ifirst, ni; double fx,fy,fz,delx,dely,delz,rsq,rsqinv; double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; double fn[3],ft[3],vi[3]; diff --git a/src/BODY/fix_wall_body_polyhedron.cpp b/src/BODY/fix_wall_body_polyhedron.cpp index b90731acf6..5a066b88bb 100644 --- a/src/BODY/fix_wall_body_polyhedron.cpp +++ b/src/BODY/fix_wall_body_polyhedron.cpp @@ -213,7 +213,7 @@ void FixWallBodyPolyhedron::setup(int vflag) void FixWallBodyPolyhedron::post_force(int /*vflag*/) { - double vwall[3],dx,dy,dz,del1,del2,delxy,delr,rsq,eradi,rradi,wall_pos; + double vwall[3],dx,dy,dz,del1,del2,rsq,eradi,rradi,wall_pos; int i,ni,npi,ifirst,nei,iefirst,nfi,iffirst,side; double facc[3]; @@ -325,9 +325,6 @@ void FixWallBodyPolyhedron::post_force(int /*vflag*/) rsq = dx*dx + dy*dy + dz*dz; if (rsq > radius[i]*radius[i]) continue; - double r = sqrt(rsq); - double rsqinv = 1.0 / rsq; - if (dnum[i] == 0) body2space(i); npi = dnum[i]; ifirst = dfirst[i]; @@ -359,8 +356,7 @@ void FixWallBodyPolyhedron::post_force(int /*vflag*/) edge[iefirst+ni][5] = 0; } - int interact, num_contacts, done; - double delta_a, delta_ua, j_a; + int interact, num_contacts; Contact contact_list[MAX_CONTACTS]; num_contacts = 0; @@ -550,7 +546,6 @@ int FixWallBodyPolyhedron::edge_against_wall(int i, double wall_pos, { int ni, nei, mode, contact; double rradi; - int nlocal = atom->nlocal; nei = ednum[i]; rradi = rounded_radius[i]; @@ -702,10 +697,10 @@ void FixWallBodyPolyhedron::contact_forces(int ibody, double fx, double fy, double fz, double** x, double** v, double** angmom, double** f, double** torque, double* vwall) { - int ibonus,jbonus; + int ibonus; double fxt,fyt,fzt,rsq,rsqinv; double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; - double fn[3],ft[3],vi[3],vj[3]; + double fn[3],ft[3],vi[3]; double *quat, *inertia; AtomVecBody::Bonus *bonus; @@ -787,7 +782,7 @@ void FixWallBodyPolyhedron::contact_forces(Contact& contact, double j_a, double** x, double** v, double** angmom, double** f, double** torque, double* vwall, double* facc) { - int ibody,ibonus,ifirst, jefirst, ni; + int ibody,ibonus,ifirst,ni; double fx,fy,fz,delx,dely,delz,rsq,rsqinv; double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; double fn[3],ft[3],vi[3]; diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 97d3ad5606..6a176f1083 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -105,10 +105,9 @@ void PairBodyRoundedPolygon::compute(int eflag, int vflag) int i,j,ii,jj,inum,jnum,itype,jtype; int ni,nj,npi,npj,ifirst,jfirst; int nei,nej,iefirst,jefirst; - double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fx,fy,fz; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl; double rsq,rsqinv,r,radi,radj,eradi,eradj,rradi,rradj,k_nij,k_naij; - double xi[3],xj[3],fi[3],fj[3],ti[3],tj[3],facc[3]; - double *dxi,*dxj; + double xi[3],xj[3],facc[3]; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = 0.0; @@ -709,9 +708,8 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, int ni, npi, ifirst, nei, iefirst; int nj, npj, jfirst, nej, jefirst; double xpi[3], xpj[3], dist, eradi, eradj, rradi, rradj; - double fx, fy, fz, rx, ry, rz, energy; + double fx, fy, fz, energy; int interact; - int nlocal = atom->nlocal; npi = dnum[i]; ifirst = dfirst[i]; @@ -758,7 +756,7 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, int mode, contact, p2vertex; double d, R, hi[3], t, delx, dely, delz, fpair, shift; - double xj[3], rij; + double rij; // loop through body j's edges @@ -781,6 +779,7 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, if (mode == VERTEXI) p2vertex = edge[jefirst+nj][0]; else if (mode == VERTEXJ) p2vertex = edge[jefirst+nj][1]; + // double xj[3]; // p2.body2space(p2vertex, xj); xpj[0] = x[j][0] + discrete[jfirst+p2vertex][0]; xpj[1] = x[j][1] + discrete[jfirst+p2vertex][1]; diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 051be762e5..eea2aa3724 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -603,7 +603,7 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, { double rradi,rradj,contact_dist; double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; - double rij,rsqinv,R,fx,fy,fz,fn[3],ft[3],fpair,shift,energy; + double rij,rsqinv,R,fx,fy,fz,fn[3],ft[3],fpair,energy; int nlocal = atom->nlocal; int newton_pair = force->newton_pair; @@ -685,7 +685,7 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, { int ni,nei,ifirst,iefirst,npi1,npi2,ibonus; double xi1[3],xi2[3],vti[3],h[3],fn[3],ft[3],d,t; - double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; + double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,energy; double rradi,rradj,contact_dist; double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; double *quat, *inertia; @@ -835,7 +835,7 @@ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, { int ni,nfi,inside,ifirst,iffirst,npi1,npi2,npi3,ibonus,tmp; double xi1[3],xi2[3],xi3[3],ui[3],vi[3],vti[3],n[3],h[3],fn[3],ft[3],d; - double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; + double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,energy; double rradi,rradj,contact_dist; double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; double *quat, *inertia; @@ -988,7 +988,7 @@ int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, int itype, int jtype, double** x, Contact* contact_list, int &num_contacts, double &evdwl, double* facc) { - int ni,nei,nj,nej,contact,interact; + int ni,nei,nj,nej,interact; double rradi,rradj,energy; nei = ednum[ibody]; @@ -1045,7 +1045,7 @@ int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, int itype, int jtype, double** x, Contact* contact_list, int &num_contacts, double &evdwl, double* facc) { - int ni,nei,nj,nfj,contact,interact; + int ni,nei,nj,nfj,interact; double rradi,rradj,energy; nei = ednum[ibody]; @@ -1118,7 +1118,7 @@ int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, int ifirst,iefirst,jfirst,jefirst,npi1,npi2,npj1,npj2,interact; double xi1[3],xi2[3],xpj1[3],xpj2[3]; double r,t1,t2,h1[3],h2[3]; - double contact_dist, shift; + double contact_dist; double** x = atom->x; double** v = atom->v; @@ -1314,7 +1314,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, // determine the intersection of the edge to the face - double hi1[3], hi2[3], d1, d2, contact_dist, shift; + double hi1[3], hi2[3], d1, d2, contact_dist; int inside1 = 0; int inside2 = 0; @@ -2345,9 +2345,8 @@ void PairBodyRoundedPolyhedron::find_unique_contacts(Contact* contact_list, void PairBodyRoundedPolyhedron::sanity_check() { - double x1[3],x2[3],x3[3],x4[3],h_a[3],h_b[3],d_a,d_b,u[3],v[3],n[3]; + double x1[3],x2[3],x3[3],x4[3],h_a[3],h_b[3],d_a,d_b; double a[3],b[3],t_a,t_b; - int inside_a, inside_b; x1[0] = 0; x1[1] = 3; x1[2] = 0; x2[0] = 3; x2[1] = 0; x2[2] = 0; @@ -2364,9 +2363,11 @@ void PairBodyRoundedPolyhedron::sanity_check() h_a[0], h_a[1], h_a[2], h_b[0], h_b[1], h_b[2], t_a, t_b, d_a, d_b); */ /* + int inside_a, inside_b; int mode = edge_face_intersect(x1, x2, x3, a, b, h_a, h_b, d_a, d_b, inside_a, inside_b); + double u[3],v[3],n[3]; MathExtra::sub3(x2, x1, u); MathExtra::sub3(x3, x1, v); MathExtra::cross3(u, v, n); diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index c0f33346bb..c15a909ada 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -1030,7 +1030,6 @@ void FixRigid::enforce2d() void FixRigid::compute_forces_and_torques() { int i,ibody; - double dtfm; // sum over atoms to get force and torque on rigid body diff --git a/src/RIGID/fix_rigid_nh.cpp b/src/RIGID/fix_rigid_nh.cpp index 96c44d15b5..4dceb1b8b4 100644 --- a/src/RIGID/fix_rigid_nh.cpp +++ b/src/RIGID/fix_rigid_nh.cpp @@ -591,9 +591,9 @@ void FixRigidNH::initial_integrate(int vflag) void FixRigidNH::final_integrate() { - int i,ibody; + int ibody; double tmp,scale_t[3],scale_r; - double dtfm,xy,xz,yz; + double dtfm; double mbody[3],tbody[3],fquat[4]; double dtf2 = dtf * 2.0; diff --git a/src/RIGID/fix_rigid_nh_small.cpp b/src/RIGID/fix_rigid_nh_small.cpp index 135a1fb4bd..5016d3f168 100644 --- a/src/RIGID/fix_rigid_nh_small.cpp +++ b/src/RIGID/fix_rigid_nh_small.cpp @@ -618,7 +618,7 @@ void FixRigidNHSmall::initial_integrate(int vflag) void FixRigidNHSmall::final_integrate() { - int i,ibody; + int ibody; double tmp,scale_t[3],scale_r; double dtfm; double mbody[3],tbody[3],fquat[4]; diff --git a/src/SNAP/compute_snav_atom.h b/src/SNAP/compute_snav_atom.h index 2eb9fb804f..7d39786ef9 100644 --- a/src/SNAP/compute_snav_atom.h +++ b/src/SNAP/compute_snav_atom.h @@ -45,7 +45,6 @@ class ComputeSNAVAtom : public Compute { double *radelem; double *wjelem; class SNA** snaptr; - double cutmax; int quadraticflag; }; diff --git a/src/SPIN/compute_spin.h b/src/SPIN/compute_spin.h index 59f0ce2876..b57876b7a0 100644 --- a/src/SPIN/compute_spin.h +++ b/src/SPIN/compute_spin.h @@ -33,7 +33,6 @@ class ComputeSpin : public Compute { private: double kb,hbar; - int usecenter; void allocate(); }; diff --git a/src/USER-BOCS/fix_bocs.cpp b/src/USER-BOCS/fix_bocs.cpp index eacfc83b40..03fc94ae58 100644 --- a/src/USER-BOCS/fix_bocs.cpp +++ b/src/USER-BOCS/fix_bocs.cpp @@ -625,11 +625,9 @@ void FixBocs::init() // NJD MRD 2 functions int FixBocs::read_F_table( char *filename, int p_basis_type ) { - char separator = ','; FILE *fpi; int N_columns = 2, n_entries = 0, i; float f1, f2; - double n1, n2; int test_sscanf; double **data = (double **) calloc(N_columns,sizeof(double *)); char * line = (char *) calloc(200,sizeof(char)); diff --git a/src/USER-DPD/fix_rx.cpp b/src/USER-DPD/fix_rx.cpp index 4dae89b491..4a78bb30d2 100644 --- a/src/USER-DPD/fix_rx.cpp +++ b/src/USER-DPD/fix_rx.cpp @@ -729,7 +729,7 @@ void FixRX::setup_pre_force(int /*vflag*/) void FixRX::pre_force(int /*vflag*/) { - TimerType timer_start = getTimeStamp(); + //TimerType timer_start = getTimeStamp(); int nlocal = atom->nlocal; int nghost = atom->nghost; @@ -808,7 +808,7 @@ void FixRX::pre_force(int /*vflag*/) comm->forward_comm_fix(this); if(localTempFlag) delete [] dpdThetaLocal; - TimerType timer_stop = getTimeStamp(); + //TimerType timer_stop = getTimeStamp(); double time_ODE = getElapsedTime(timer_localTemperature, timer_ODE); diff --git a/src/USER-INTEL/fix_intel.cpp b/src/USER-INTEL/fix_intel.cpp index 4c703da833..3a67b60632 100644 --- a/src/USER-INTEL/fix_intel.cpp +++ b/src/USER-INTEL/fix_intel.cpp @@ -724,11 +724,13 @@ void FixIntel::add_oresults(const ft * _noalias const f_in, lmp_ft * _noalias const f = (lmp_ft *) lmp->atom->f[0] + out_offset; if (atom->torque) { if (f_in[1].w) + { if (f_in[1].w == 1) error->all(FLERR,"Bad matrix inversion in mldivide3"); else error->all(FLERR, "Sphere particles not yet supported for gayberne/intel"); + } } int packthreads; diff --git a/src/USER-INTEL/fix_nh_intel.cpp b/src/USER-INTEL/fix_nh_intel.cpp index 44253e8bb0..bf4764f104 100644 --- a/src/USER-INTEL/fix_nh_intel.cpp +++ b/src/USER-INTEL/fix_nh_intel.cpp @@ -464,7 +464,6 @@ void FixNHIntel::nve_x() { double * _noalias const x = atom->x[0]; double * _noalias const v = atom->v[0]; - const double * _noalias const f = atom->f[0]; // x update by full step only for atoms in group diff --git a/src/USER-INTEL/fix_nve_asphere_intel.cpp b/src/USER-INTEL/fix_nve_asphere_intel.cpp index a83306def5..7eeb8a1635 100644 --- a/src/USER-INTEL/fix_nve_asphere_intel.cpp +++ b/src/USER-INTEL/fix_nve_asphere_intel.cpp @@ -81,10 +81,6 @@ void FixNVEAsphereIntel::setup(int vflag) void FixNVEAsphereIntel::initial_integrate(int /*vflag*/) { - double dtfm; - double inertia[3],omega[3]; - double *shape,*quat; - AtomVecEllipsoid::Bonus *bonus = avec->bonus; int *ellipsoid = atom->ellipsoid; double * _noalias const x = atom->x[0]; @@ -94,7 +90,6 @@ void FixNVEAsphereIntel::initial_integrate(int /*vflag*/) double **angmom = atom->angmom; double **torque = atom->torque; - double *rmass = atom->rmass; int nlocal = atom->nlocal; if (igroup == atom->firstgroup) nlocal = atom->nfirst; @@ -143,8 +138,6 @@ void FixNVEAsphereIntel::final_integrate() { if (neighbor->ago == 0) reset_dt(); - double dtfm; - double * _noalias const v = atom->v[0]; const double * _noalias const f = atom->f[0]; double * _noalias const angmom = atom->angmom[0]; diff --git a/src/USER-INTEL/intel_intrinsics_airebo.h b/src/USER-INTEL/intel_intrinsics_airebo.h index 2c86ad3520..b20f9c8ad1 100644 --- a/src/USER-INTEL/intel_intrinsics_airebo.h +++ b/src/USER-INTEL/intel_intrinsics_airebo.h @@ -2243,7 +2243,7 @@ public: FVEC_BINOP(*, mul) FVEC_BINOP(/, div) - VEC_INLINE static void gather_prefetch0(const ivec &idx, const void * mem) {} + VEC_INLINE static void gather_prefetch0(const ivec & /*idx*/, const void * /*mem*/) {} }; class avec { diff --git a/src/USER-INTEL/nbin_intel.cpp b/src/USER-INTEL/nbin_intel.cpp index e071b141fe..789fa35b42 100644 --- a/src/USER-INTEL/nbin_intel.cpp +++ b/src/USER-INTEL/nbin_intel.cpp @@ -192,15 +192,10 @@ void NBinIntel::bin_atoms(IntelBuffers * buffers) { // ---------- Bin Atoms ------------- _fix->start_watch(TIME_HOST_NEIGHBOR); - const ATOM_T * _noalias const x = buffers->get_x(); + //const ATOM_T * _noalias const x = buffers->get_x(); int * _noalias const atombin = this->_atombin; int * _noalias const binpacked = this->_binpacked; - - const double sboxlo0 = bboxlo[0] + mbinxlo/bininvx; - const double sboxlo1 = bboxlo[1] + mbinylo/bininvy; - const double sboxlo2 = bboxlo[2] + mbinzlo/bininvz; - int i, ibin; for (i = 0; i < mbins; i++) binhead[i] = -1; diff --git a/src/USER-INTEL/npair_full_bin_ghost_intel.cpp b/src/USER-INTEL/npair_full_bin_ghost_intel.cpp index 8be2165deb..74a04f0e7d 100644 --- a/src/USER-INTEL/npair_full_bin_ghost_intel.cpp +++ b/src/USER-INTEL/npair_full_bin_ghost_intel.cpp @@ -115,7 +115,6 @@ void NPairFullBinGhostIntel::fbi(const int /*offload*/, NeighList * list, int nall_t = nall; const int aend = nall; - const int pack_width = _fix->nbor_pack_width(); const ATOM_T * _noalias const x = buffers->get_x(); int * _noalias const firstneigh = buffers->firstneigh(list); const int e_nall = nall_t; @@ -155,9 +154,6 @@ void NPairFullBinGhostIntel::fbi(const int /*offload*/, NeighList * list, tagint * const molecule = atom->molecule; #endif - int *molindex = atom->molindex; - int *molatom = atom->molatom; - Molecule **onemols = atom->avec->onemols; int moltemplate; if (molecular == 2) moltemplate = 1; else moltemplate = 0; @@ -167,8 +163,8 @@ void NPairFullBinGhostIntel::fbi(const int /*offload*/, NeighList * list, int tnum; int *overflow; - double *timer_compute; #ifdef _LMP_INTEL_OFFLOAD + double *timer_compute; if (offload) { timer_compute = _fix->off_watch_neighbor(); tnum = buffers->get_off_threads(); @@ -311,7 +307,7 @@ void NPairFullBinGhostIntel::fbi(const int /*offload*/, NeighList * list, int * _noalias const ttag = ncachetag + toffs; // loop over all atoms in other bins in stencil, store every pair - int istart, icount, ncount, oldbin = -9999999, lane, max_chunk; + int ncount, oldbin = -9999999; for (int i = ifrom; i < ito; i++) { const flt_t xtmp = x[i].x; const flt_t ytmp = x[i].y; diff --git a/src/USER-INTEL/npair_intel.cpp b/src/USER-INTEL/npair_intel.cpp index d59cd2304a..6d4529752a 100644 --- a/src/USER-INTEL/npair_intel.cpp +++ b/src/USER-INTEL/npair_intel.cpp @@ -109,8 +109,8 @@ void NPairIntel::bin_newton(const int /*offload*/, NeighList *list, int tnum; int *overflow; - double *timer_compute; #ifdef _LMP_INTEL_OFFLOAD + double *timer_compute; if (offload) { timer_compute = _fix->off_watch_neighbor(); tnum = buffers->get_off_threads(); @@ -265,8 +265,9 @@ void NPairIntel::bin_newton(const int /*offload*/, NeighList *list, int * _noalias itjtype; // loop over all atoms in other bins in stencil, store every pair - int istart, icount, ncount, oldbin = -9999999, lane, max_chunk; + int istart, icount, ncount, oldbin = -9999999; #ifdef LMP_INTEL_3BODY_FAST + int lane, max_chunk; if (THREE) { lane = 0; max_chunk = 0; @@ -579,7 +580,6 @@ void NPairIntel::bin_newton(const int /*offload*/, NeighList *list, int ns; if (THREE) { - int alln = n; ns = n - pack_offset; atombin[i] = ns; ns += n2 - pack_offset - maxnbors; diff --git a/src/USER-MANIFOLD/manifold_sphere.h b/src/USER-MANIFOLD/manifold_sphere.h index 5d4ae55fda..d9cd46c9c3 100644 --- a/src/USER-MANIFOLD/manifold_sphere.h +++ b/src/USER-MANIFOLD/manifold_sphere.h @@ -40,7 +40,7 @@ namespace user_manifold { nn[2] = 2*x[2]; } - virtual void H( double *x, double h[3][3] ) + virtual void H( double * /*x*/, double h[3][3] ) { h[0][1] = h[0][2] = h[1][0] = h[1][2] = h[2][0] = h[2][1] = 0.0; h[0][0] = h[1][1] = h[2][2] = 2.0; diff --git a/src/USER-MGPT/mgpt_linalg.cpp b/src/USER-MGPT/mgpt_linalg.cpp index 94a4e21ea6..68701037f4 100644 --- a/src/USER-MGPT/mgpt_linalg.cpp +++ b/src/USER-MGPT/mgpt_linalg.cpp @@ -81,8 +81,8 @@ #define const #endif static void transprod_generic(const double * restrict A, - const double * restrict B, - double * restrict C) { + const double * restrict B, + double * restrict C) { const int lda = 8,n = mgpt_linalg::matrix_size; int i,j,k; double s; @@ -90,15 +90,15 @@ static void transprod_generic(const double * restrict A, for(j = 0; jnatoms; i++) { if (landlocked_atoms[i][myrxn] == 0) { - int twomol_atomi = i+1; for (int j = 0; j < twomol->num_bond[i]; j++) { int twomol_atomj = twomol->bond_atom[i][j]; if (landlocked_atoms[twomol_atomj-1][myrxn] == 0) { diff --git a/src/USER-MOFFF/angle_cosine_buck6d.cpp b/src/USER-MOFFF/angle_cosine_buck6d.cpp index 352c28be4d..3f87aeb757 100644 --- a/src/USER-MOFFF/angle_cosine_buck6d.cpp +++ b/src/USER-MOFFF/angle_cosine_buck6d.cpp @@ -56,7 +56,7 @@ AngleCosineBuck6d::~AngleCosineBuck6d() void AngleCosineBuck6d::compute(int eflag, int vflag) { - int i,i1,i2,i3,n,type,itype,jtype; + int i1,i2,i3,n,type,itype,jtype; double delx1,dely1,delz1,delx2,dely2,delz2; double eangle,f1[3],f3[3]; double rsq1,rsq2,r1,r2,c,s,a,a11,a12,a22; diff --git a/src/USER-MOFFF/improper_inversion_harmonic.cpp b/src/USER-MOFFF/improper_inversion_harmonic.cpp index 53a7b4729a..9608d58054 100644 --- a/src/USER-MOFFF/improper_inversion_harmonic.cpp +++ b/src/USER-MOFFF/improper_inversion_harmonic.cpp @@ -139,7 +139,6 @@ void ImproperInversionHarmonic::invang(const int &i1,const int &i2, double upx,upy,upz,upn,rup,umx,umy,umz,umn,rum,wwr; double rucb,rudb,rvcb,rvdb,rupupn,rumumn; - double **x = atom->x; double **f = atom->f; int nlocal = atom->nlocal; int newton_bond = force->newton_bond; @@ -242,7 +241,7 @@ void ImproperInversionHarmonic::invang(const int &i1,const int &i2, f[i4][2] += f4[2]; } - double rb1x, rb1y, rb1z, rb2x, rb2y, rb2z, rb3x, rb3y, rb3z; + double rb3x, rb3y, rb3z; if (evflag) rb3x = vb1x - vb2x; @@ -253,7 +252,7 @@ void ImproperInversionHarmonic::invang(const int &i1,const int &i2, vb3x,vb3y,vb3z, vb2x,vb2y,vb2z, rb3x,rb3y,rb3z); - } +} /* ---------------------------------------------------------------------- */ diff --git a/src/USER-SMD/fix_smd_setvel.h b/src/USER-SMD/fix_smd_setvel.h index b987a56f6c..a3e650e682 100644 --- a/src/USER-SMD/fix_smd_setvel.h +++ b/src/USER-SMD/fix_smd_setvel.h @@ -56,7 +56,6 @@ class FixSMDSetVel : public Fix { int xvar,yvar,zvar,xstyle,ystyle,zstyle; double foriginal[3],foriginal_all[3]; int force_flag; - int nlevels_respa; int maxatom; double **sforce; diff --git a/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp b/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp index eba094da53..8af12acd99 100644 --- a/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp +++ b/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp @@ -149,7 +149,7 @@ void FixSMD_TLSPH_ReferenceConfiguration::pre_exchange() { if (updateFlag > 0) { if (comm->me == 0) { - printf("**** updating ref config at step: %ld\n", update->ntimestep); + printf("**** updating ref config at step: " BIGINT_FORMAT "\n", update->ntimestep); } for (i = 0; i < nlocal; i++) { diff --git a/src/fix_halt.cpp b/src/fix_halt.cpp index 7de09a0fa4..983f993ae8 100644 --- a/src/fix_halt.cpp +++ b/src/fix_halt.cpp @@ -184,7 +184,7 @@ void FixHalt::end_of_step() // print message with ID of fix halt in case multiple instances char str[128]; - sprintf(str,"Fix halt %s condition met on step %ld with value %g", + sprintf(str,"Fix halt %s condition met on step " BIGINT_FORMAT " with value %g", id,update->ntimestep,attvalue); if (eflag == HARD) { diff --git a/src/library.cpp b/src/library.cpp index 18f7005116..83e13efd08 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -1515,7 +1515,7 @@ void lammps_create_atoms(void *ptr, int n, tagint *id, int *type, if (lmp->atom->natoms != natoms_prev + n) { char str[128]; sprintf(str,"Library warning in lammps_create_atoms, " - "invalid total atoms %ld %ld",lmp->atom->natoms,natoms_prev+n); + "invalid total atoms " BIGINT_FORMAT " %lld",lmp->atom->natoms,natoms_prev+n); if (lmp->comm->me == 0) lmp->error->warning(FLERR,str); } -- GitLab From 9ed6d0a9d1bb1c385d079e3b3c231176a6662cf6 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Fri, 24 Aug 2018 15:27:15 -0600 Subject: [PATCH 607/675] cmake: sort package in header --- cmake/CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 460d177c92..c684c9df23 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1008,7 +1008,9 @@ include_directories(${LAMMPS_STYLE_HEADERS_DIR}) ###################################### set(temp "#ifndef LMP_INSTALLED_PKGS_H\n#define LMP_INSTALLED_PKGS_H\n") set(temp "${temp}const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n") -foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES}) +set(temp_PKG_LIST ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES}) +list(SORT temp_PKG_LIST) +foreach(PKG ${temp_PKG_LIST}) if(PKG_${PKG}) set(temp "${temp} \"${PKG}\",\n") endif() -- GitLab From c4771291650e032e4b67681a99416ebfc2913c1c Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 24 Aug 2018 16:17:07 -0600 Subject: [PATCH 608/675] real <-> metal unit conversion factors --- src/MESSAGE/fix_client_md.cpp | 7 +++---- src/MESSAGE/server_md.cpp | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp index b85c7f8f76..97d0436a27 100644 --- a/src/MESSAGE/fix_client_md.cpp +++ b/src/MESSAGE/fix_client_md.cpp @@ -64,13 +64,12 @@ FixClientMD::FixClientMD(LAMMPS *lmp, int narg, char **arg) : // unit conversion factors for REAL // otherwise not needed + // message received in METAL units, convert to local REAL units fconvert = econvert = vconvert = 1.0; if (units == REAL) { - // NOTE: still need to set these - fconvert = 1.0; - econvert = 1.0; - vconvert = 1.0; + fconvert = econvert = 23.06035; + vconvert = 0.986923; } } diff --git a/src/MESSAGE/server_md.cpp b/src/MESSAGE/server_md.cpp index acdc06a0e9..340431021b 100644 --- a/src/MESSAGE/server_md.cpp +++ b/src/MESSAGE/server_md.cpp @@ -55,13 +55,12 @@ ServerMD::ServerMD(LAMMPS *lmp) : Pointers(lmp) // unit conversion factors for REAL // otherwise not needed + // local computation in REAL units, send message in METAL units fconvert = econvert = vconvert = 1.0; if (units == REAL) { - // NOTE: still need to set these - fconvert = 1.0; - econvert = 1.0; - vconvert = 1.0; + fconvert = econvert = 1.0 / 23.06035; + vconvert = 1.0 / 0.986923; } fcopy = NULL; -- GitLab From b05aa62c49f27374281b56bd2f21330890b7e542 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sat, 25 Aug 2018 15:46:48 -0600 Subject: [PATCH 609/675] correctly exclude atoms from simultaneous competing reactions --- src/USER-MISC/fix_bond_react.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/USER-MISC/fix_bond_react.cpp b/src/USER-MISC/fix_bond_react.cpp index 5ce1f11475..c3865ce869 100644 --- a/src/USER-MISC/fix_bond_react.cpp +++ b/src/USER-MISC/fix_bond_react.cpp @@ -1862,13 +1862,13 @@ void FixBondReact::glove_ghostcheck() // noteworthy: it's only relevant for parallel // here we add glove to either local_mega_glove or ghostly_mega_glove - int ghostly = 0; - for (int i = 0; i < onemol->natoms; i++) { - if (atom->map(glove[i][1]) >= atom->nlocal) { - ghostly = 1; - break; - } - } + int ghostly = 1; + //for (int i = 0; i < onemol->natoms; i++) { + // if (atom->map(glove[i][1]) >= atom->nlocal) { + // ghostly = 1; + // break; + // } + //} if (ghostly == 1) { ghostly_mega_glove[0][ghostly_num_mega] = rxnID; -- GitLab From 5189bc4f4b8ba1dcc13dff36e903b296cc75f780 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Sun, 26 Aug 2018 07:57:49 -0600 Subject: [PATCH 610/675] cmake: fix install of potential files Add an '/' at the end avoids the double potentials/ subdir. --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 51997593db..76edcf858c 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1130,7 +1130,7 @@ endif() # Install potential files in data directory ############################################################################### set(LAMMPS_POTENTIALS_DIR ${CMAKE_INSTALL_FULL_DATADIR}/lammps/potentials) -install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../potentials DESTINATION ${CMAKE_INSTALL_DATADIR}/lammps/potentials) +install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../potentials/ DESTINATION ${LAMMPS_POTENTIALS_DIR}) configure_file(etc/profile.d/lammps.sh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.sh @ONLY) configure_file(etc/profile.d/lammps.csh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.csh @ONLY) -- GitLab From dbc0f0eea01d7ae7d83247cc20e2a52539b05a29 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 27 Aug 2018 12:17:57 -0400 Subject: [PATCH 611/675] Ensure generated style headers are sorted --- cmake/Modules/StyleHeaderUtils.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmake/Modules/StyleHeaderUtils.cmake b/cmake/Modules/StyleHeaderUtils.cmake index 29ea372597..2b00a81c8d 100644 --- a/cmake/Modules/StyleHeaderUtils.cmake +++ b/cmake/Modules/StyleHeaderUtils.cmake @@ -48,8 +48,13 @@ function(CreateStyleHeader path filename) set(temp "") if(ARGC GREATER 2) list(REMOVE_AT ARGV 0 1) + set(header_list) foreach(FNAME ${ARGV}) get_filename_component(FNAME ${FNAME} NAME) + list(APPEND header_list ${FNAME}) + endforeach() + list(SORT header_list) + foreach(FNAME ${header_list}) set(temp "${temp}#include \"${FNAME}\"\n") endforeach() endif() -- GitLab From 31ed3f7178a349b5d47827eb8fefea90b034e7cd Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 27 Aug 2018 17:09:59 -0600 Subject: [PATCH 612/675] more changes to insure each triplet IJK computed exactly once --- ...og.23Aug18.atm.g++.1 => log.27Aug18.g++.1} | 32 +++++------ ...og.23Aug18.atm.g++.4 => log.27Aug18.g++.4} | 32 +++++------ src/MANYBODY/pair_atm.cpp | 54 ++++++++----------- 3 files changed, 53 insertions(+), 65 deletions(-) rename examples/atm/{log.23Aug18.atm.g++.1 => log.27Aug18.g++.1} (69%) rename examples/atm/{log.23Aug18.atm.g++.4 => log.27Aug18.g++.4} (69%) diff --git a/examples/atm/log.23Aug18.atm.g++.1 b/examples/atm/log.27Aug18.g++.1 similarity index 69% rename from examples/atm/log.23Aug18.atm.g++.1 rename to examples/atm/log.27Aug18.g++.1 index 3373846b31..46215e108c 100644 --- a/examples/atm/log.23Aug18.atm.g++.1 +++ b/examples/atm/log.27Aug18.g++.1 @@ -26,7 +26,7 @@ Created orthogonal box = (0 0 0) to (18.3252 18.3252 18.3252) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 4000 atoms - Time spent = 0.00126314 secs + Time spent = 0.00139618 secs pair_style hybrid/overlay lj/cut 4.5 atm 4.5 2.5 pair_coeff * * lj/cut 1.0 1.0 @@ -60,26 +60,26 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 11.47 | 11.47 | 11.47 Mbytes Step Temp E_pair E_mol TotEng Press - 0 1.033 -4.8899813 0 -3.3408686 -4.2298176 - 5 1.0337853 -4.8928208 0 -3.3425304 -4.2233154 - 10 1.0358056 -4.8953304 0 -3.3420104 -4.1897183 - 15 1.0380938 -4.8990457 0 -3.3422942 -4.1310148 - 20 1.0389566 -4.9014345 0 -3.3433892 -4.0406616 - 25 1.0358313 -4.8989663 0 -3.3456079 -3.9093019 -Loop time of 12.2062 on 1 procs for 25 steps with 4000 atoms + 0 1.033 -4.8404387 0 -3.291326 -4.1332095 + 5 1.0337247 -4.8402263 0 -3.290027 -4.1207962 + 10 1.0355935 -4.8425889 0 -3.2895869 -4.0870158 + 15 1.0376519 -4.84599 0 -3.2899013 -4.0278711 + 20 1.0382257 -4.8478854 0 -3.2909361 -3.9368052 + 25 1.0347886 -4.84473 0 -3.2929351 -3.8044469 +Loop time of 15.95 on 1 procs for 25 steps with 4000 atoms -Performance: 353.920 tau/day, 2.048 timesteps/s -99.9% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 270.846 tau/day, 1.567 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 12.202 | 12.202 | 12.202 | 0.0 | 99.96 +Pair | 15.946 | 15.946 | 15.946 | 0.0 | 99.97 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0015621 | 0.0015621 | 0.0015621 | 0.0 | 0.01 -Output | 0.00020814 | 0.00020814 | 0.00020814 | 0.0 | 0.00 -Modify | 0.0019698 | 0.0019698 | 0.0019698 | 0.0 | 0.02 -Other | | 0.0007734 | | | 0.01 +Comm | 0.0015042 | 0.0015042 | 0.0015042 | 0.0 | 0.01 +Output | 0.00013781 | 0.00013781 | 0.00013781 | 0.0 | 0.00 +Modify | 0.0017776 | 0.0017776 | 0.0017776 | 0.0 | 0.01 +Other | | 0.0006771 | | | 0.00 Nlocal: 4000 ave 4000 max 4000 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -97,4 +97,4 @@ Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:13 +Total wall time: 0:00:16 diff --git a/examples/atm/log.23Aug18.atm.g++.4 b/examples/atm/log.27Aug18.g++.4 similarity index 69% rename from examples/atm/log.23Aug18.atm.g++.4 rename to examples/atm/log.27Aug18.g++.4 index d5edfe32ba..d84f17ee2b 100644 --- a/examples/atm/log.23Aug18.atm.g++.4 +++ b/examples/atm/log.27Aug18.g++.4 @@ -26,7 +26,7 @@ Created orthogonal box = (0 0 0) to (18.3252 18.3252 18.3252) 1 by 2 by 2 MPI processor grid create_atoms 1 box Created 4000 atoms - Time spent = 0.000785112 secs + Time spent = 0.000900984 secs pair_style hybrid/overlay lj/cut 4.5 atm 4.5 2.5 pair_coeff * * lj/cut 1.0 1.0 @@ -60,26 +60,26 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 5.532 | 5.532 | 5.532 Mbytes Step Temp E_pair E_mol TotEng Press - 0 1.033 -4.8921547 0 -3.343042 -4.2340557 - 5 1.0337949 -4.8947881 0 -3.3444835 -4.2271456 - 10 1.0358286 -4.8973178 0 -3.3439632 -4.1935779 - 15 1.0381322 -4.9010593 0 -3.3442503 -4.134913 - 20 1.0390107 -4.9034854 0 -3.3453589 -4.0446162 - 25 1.0358988 -4.9010506 0 -3.3475908 -3.9133006 -Loop time of 3.20632 on 4 procs for 25 steps with 4000 atoms + 0 1.033 -4.8404387 0 -3.291326 -4.1332095 + 5 1.0337247 -4.8402263 0 -3.290027 -4.1207962 + 10 1.0355935 -4.8425889 0 -3.2895869 -4.0870158 + 15 1.0376519 -4.84599 0 -3.2899013 -4.0278711 + 20 1.0382257 -4.8478854 0 -3.2909361 -3.9368052 + 25 1.0347886 -4.84473 0 -3.2929351 -3.8044469 +Loop time of 4.34636 on 4 procs for 25 steps with 4000 atoms -Performance: 1347.340 tau/day, 7.797 timesteps/s -100.0% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 993.935 tau/day, 5.752 timesteps/s +99.6% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.1207 | 3.1553 | 3.1859 | 1.5 | 98.41 +Pair | 3.9977 | 4.1036 | 4.209 | 4.9 | 94.41 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.019466 | 0.05009 | 0.084602 | 12.0 | 1.56 -Output | 7.1049e-05 | 8.2076e-05 | 0.00011325 | 0.0 | 0.00 -Modify | 0.00056338 | 0.00057292 | 0.00058413 | 0.0 | 0.02 -Other | | 0.0003092 | | | 0.01 +Comm | 0.13588 | 0.24134 | 0.34722 | 20.4 | 5.55 +Output | 0.00013757 | 0.00015104 | 0.00016761 | 0.0 | 0.00 +Modify | 0.00087953 | 0.00091547 | 0.00095582 | 0.0 | 0.02 +Other | | 0.0003656 | | | 0.01 Nlocal: 1000 ave 1000 max 1000 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -97,4 +97,4 @@ Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:03 +Total wall time: 0:00:04 diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp index b63407dfe9..a6e52faeba 100644 --- a/src/MANYBODY/pair_atm.cpp +++ b/src/MANYBODY/pair_atm.cpp @@ -98,9 +98,15 @@ void PairATM::compute(int eflag, int vflag) numneigh = list->numneigh; firstneigh = list->firstneigh; - int count1 = 0; - int count2 = 0; - int count3 = 0; + // triple loop over local atoms and neighbors twice + // must compute each IJK triplet interaction exactly once + // by proc that owns the triplet atom with smallest x coord + // special logic to break ties if multiple atoms have same x or y coords + // inner two loops for jj=1,Jnum and kk=jj+1,Jnum insure + // the pair of other 2 non-minimum-x atoms is only considered once + // triplet geometry criteria for calculation: + // each pair distance <= cutoff + // produce of 3 pair distances <= cutoff_triple^3 for (ii = 0; ii < inum; ii++) { i = ilist[ii]; @@ -112,12 +118,10 @@ void PairATM::compute(int eflag, int vflag) jnum = numneigh[i]; jnumm1 = jnum - 1; - // for (jj = 0; jj < jnumm1; jj++) { - // replace with this line: - for (jj = 0; jj < jnum; jj++) { - + for (jj = 0; jj < jnumm1; jj++) { j = jlist[jj]; j &= NEIGHMASK; + rij[0] = x[j][0] - xi; if (rij[0] < 0.0) continue; rij[1] = x[j][1] - yi; @@ -125,40 +129,33 @@ void PairATM::compute(int eflag, int vflag) rij[2] = x[j][2] - zi; if (rij[0] == 0.0 and rij[1] == 0.0 and rij[2] < 0.0) continue; rij2 = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - count1++; if (rij2 > cutoff_squared) continue; - count2++; - - //for (kk = jj+1; kk < jnum; kk++) { - // replace with these two lines: - for (kk = 0; kk < jnum; kk++) { - if (kk == jj) continue; + for (kk = jj+1; kk < jnum; kk++) { k = jlist[kk]; k &= NEIGHMASK; - rjk[0] = x[k][0] - x[j][0]; - if (rjk[0] < 0.0) continue; - rjk[1] = x[k][1] - x[j][1]; - if (rjk[0] == 0.0 and rjk[1] < 0.0) continue; - rjk[2] = x[k][2] - x[j][2]; - if (rjk[0] == 0.0 and rjk[1] == 0.0 and rjk[2] < 0.0) continue; - rjk2 = rjk[0]*rjk[0] + rjk[1]*rjk[1] + rjk[2]*rjk[2]; - if (rjk2 > cutoff_squared) continue; - rik[0] = x[k][0] - xi; + if (rik[0] < 0.0) continue; rik[1] = x[k][1] - yi; + if (rik[0] == 0.0 and rik[1] < 0.0) continue; rik[2] = x[k][2] - zi; + if (rik[0] == 0.0 and rik[1] == 0.0 and rik[2] < 0.0) continue; rik2 = rik[0]*rik[0] + rik[1]*rik[1] + rik[2]*rik[2]; if (rik2 > cutoff_squared) continue; + rjk[0] = x[k][0] - x[j][0]; + rjk[1] = x[k][1] - x[j][1]; + rjk[2] = x[k][2] - x[j][2]; + rjk2 = rjk[0]*rjk[0] + rjk[1]*rjk[1] + rjk[2]*rjk[2]; + if (rjk2 > cutoff_squared) continue; + double r6 = rij2*rjk2*rik2; if (r6 > cutoff_triple_sixth) continue; nu_local = nu[type[i]][type[j]][type[k]]; if (nu_local == 0.0) continue; - count3++; interaction_ddd(nu_local, r6,rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl); @@ -177,15 +174,6 @@ void PairATM::compute(int eflag, int vflag) } } - int count = count1; - MPI_Allreduce(&count,&count1,1,MPI_INT,MPI_SUM,world); - count = count2; - MPI_Allreduce(&count,&count2,1,MPI_INT,MPI_SUM,world); - count = count3; - MPI_Allreduce(&count,&count3,1,MPI_INT,MPI_SUM,world); - printf("FORCE %g %d %d %d\n",cutoff_squared,count1,count2,count3); - - if (vflag_fdotr) virial_fdotr_compute(); } -- GitLab From aac238503bbe70de24e3d2bc8f8544d5d178f8ca Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 27 Aug 2018 21:23:47 -0400 Subject: [PATCH 613/675] Add missing LMP_USER_OMP definition with CMake --- cmake/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index fe904938a3..78e18e489c 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -679,6 +679,7 @@ if(PKG_USER-OMP) ${USER-OMP_SOURCES_DIR}/thr_omp.cpp ${USER-OMP_SOURCES_DIR}/fix_nh_omp.cpp ${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp) + add_definitions(-DLMP_USER_OMP) set_property(GLOBAL PROPERTY "OMP_SOURCES" "${USER-OMP_SOURCES}") # detects styles which have USER-OMP version -- GitLab From a103bd4de296a418247be0c87d5bd0c9f0fb6e49 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 27 Aug 2018 21:25:48 -0400 Subject: [PATCH 614/675] Correct compilation error introduced by #1077 --- src/USER-REAXC/reaxc_allocate.cpp | 16 ++++++++++------ src/lmptype.h | 2 ++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp index 14906a2a9c..c6c103b6f4 100644 --- a/src/USER-REAXC/reaxc_allocate.cpp +++ b/src/USER-REAXC/reaxc_allocate.cpp @@ -39,8 +39,8 @@ important: we cannot know the exact number of atoms that will fall into a process's box throughout the whole simulation. therefore we need to make upper bound estimates for various data structures */ -int PreAllocate_Space( reax_system *system, control_params */*control*/, - storage */*workspace*/, MPI_Comm comm ) +int PreAllocate_Space( reax_system *system, control_params * /*control*/, + storage * workspace, MPI_Comm comm ) { int mincap = system->mincap; double safezone = system->safezone; @@ -60,6 +60,8 @@ int PreAllocate_Space( reax_system *system, control_params */*control*/, workspace->forceReduction = NULL; workspace->valence_angle_atom_myoffset = NULL; workspace->my_ext_pressReduction = NULL; +#else + LMP_UNUSED_PARAM(workspace); #endif return SUCCESS; @@ -69,7 +71,7 @@ int PreAllocate_Space( reax_system *system, control_params */*control*/, /************* system *************/ int Allocate_System( reax_system *system, int /*local_cap*/, int total_cap, - char */*msg*/ ) + char * /*msg*/ ) { system->my_atoms = (reax_atom*) realloc( system->my_atoms, total_cap*sizeof(reax_atom) ); @@ -116,7 +118,7 @@ void DeAllocate_System( reax_system *system ) /************* workspace *************/ -void DeAllocate_Workspace( control_params */*control*/, storage *workspace ) +void DeAllocate_Workspace( control_params * /*control*/, storage *workspace ) { int i; @@ -204,9 +206,9 @@ void DeAllocate_Workspace( control_params */*control*/, storage *workspace ) } -int Allocate_Workspace( reax_system */*system*/, control_params */*control*/, +int Allocate_Workspace( reax_system * /*system*/, control_params * control, storage *workspace, int local_cap, int total_cap, - MPI_Comm comm, char */*msg*/ ) + MPI_Comm comm, char * /*msg*/ ) { int i, total_real, total_rvec, local_rvec; @@ -307,6 +309,8 @@ int Allocate_Workspace( reax_system */*system*/, control_params */*control*/, workspace->valence_angle_atom_myoffset = (int *) scalloc(sizeof(int), total_cap, "valence_angle_atom_myoffset", comm); workspace->my_ext_pressReduction = (rvec *) calloc(sizeof(rvec), control->nthreads); +#else + LMP_UNUSED_PARAM(control); #endif return SUCCESS; diff --git a/src/lmptype.h b/src/lmptype.h index 7e359d2abe..e5c202aa87 100644 --- a/src/lmptype.h +++ b/src/lmptype.h @@ -213,4 +213,6 @@ typedef int bigint; #include "lmpwindows.h" #endif +#define LMP_UNUSED_PARAM(x) (void)x + #endif -- GitLab From 02f131c5446a60d74bc13b33fb03ccdd3caeb3b7 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 27 Aug 2018 22:11:15 -0400 Subject: [PATCH 615/675] Fix USER-OMP compilation with CMake --- cmake/CMakeLists.txt | 3 +- src/accelerator_omp.h | 88 +------------------------------------------ 2 files changed, 4 insertions(+), 87 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 78e18e489c..b1287661c0 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -678,7 +678,8 @@ if(PKG_USER-OMP) set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp ${USER-OMP_SOURCES_DIR}/thr_omp.cpp ${USER-OMP_SOURCES_DIR}/fix_nh_omp.cpp - ${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp) + ${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp + ${USER-OMP_SOURCES_DIR}/domain_omp.cpp) add_definitions(-DLMP_USER_OMP) set_property(GLOBAL PROPERTY "OMP_SOURCES" "${USER-OMP_SOURCES}") diff --git a/src/accelerator_omp.h b/src/accelerator_omp.h index 6caa0826fe..25910ae800 100644 --- a/src/accelerator_omp.h +++ b/src/accelerator_omp.h @@ -17,47 +17,6 @@ // true interface to USER-OMP -// this part is used inside the neighbor.h header file to -// add functions to the Neighbor class definition - -#ifdef LMP_INSIDE_NEIGHBOR_H - - void half_nsq_no_newton_omp(class NeighList *); - void half_nsq_no_newton_ghost_omp(class NeighList *); - void half_nsq_newton_omp(class NeighList *); - - void half_bin_no_newton_omp(class NeighList *); - void half_bin_no_newton_ghost_omp(class NeighList *); - void half_bin_newton_omp(class NeighList *); - void half_bin_newton_tri_omp(class NeighList *); - - void half_multi_no_newton_omp(class NeighList *); - void half_multi_newton_omp(class NeighList *); - void half_multi_newton_tri_omp(class NeighList *); - - void full_nsq_omp(class NeighList *); - void full_nsq_ghost_omp(class NeighList *); - void full_bin_omp(class NeighList *); - void full_bin_ghost_omp(class NeighList *); - void full_multi_omp(class NeighList *); - - void half_from_full_no_newton_omp(class NeighList *); - void half_from_full_newton_omp(class NeighList *); - - void granular_nsq_no_newton_omp(class NeighList *); - void granular_nsq_newton_omp(class NeighList *); - void granular_bin_no_newton_omp(class NeighList *); - void granular_bin_newton_omp(class NeighList *); - void granular_bin_newton_tri_omp(class NeighList *); - - void respa_nsq_no_newton_omp(class NeighList *); - void respa_nsq_newton_omp(class NeighList *); - void respa_bin_no_newton_omp(class NeighList *); - void respa_bin_newton_omp(class NeighList *); - void respa_bin_newton_tri_omp(class NeighList *); - -#else /* !LMP_INSIDE_NEIGHBOR_H */ - // provide a DomainOMP class with some overrides for Domain #include "domain.h" @@ -68,8 +27,8 @@ namespace LAMMPS_NS { class DomainOMP : public Domain { public: - DomainOMP(class LAMMPS *lmp) : Domain(lmp) {}; - virtual ~DomainOMP() {}; + DomainOMP(class LAMMPS *lmp) : Domain(lmp) {} + virtual ~DomainOMP() {} // multi-threaded versions virtual void pbc(); @@ -81,48 +40,5 @@ class DomainOMP : public Domain { } #endif /* LMP_DOMAIN_OMP_H */ -#endif /* !LMP_INSIDE_NEIGHBOR_H */ - -#else /* !LMP_USER_OMP */ - -// dummy interface to USER-OMP -// needed for compiling when USER-OMP is not installed - -#ifdef LMP_INSIDE_NEIGHBOR_H - - void half_nsq_no_newton_omp(class NeighList *) {} - void half_nsq_no_newton_ghost_omp(class NeighList *) {} - void half_nsq_newton_omp(class NeighList *) {} - - void half_bin_no_newton_omp(class NeighList *) {} - void half_bin_no_newton_ghost_omp(class NeighList *) {} - void half_bin_newton_omp(class NeighList *) {} - void half_bin_newton_tri_omp(class NeighList *) {} - - void half_multi_no_newton_omp(class NeighList *) {} - void half_multi_newton_omp(class NeighList *) {} - void half_multi_newton_tri_omp(class NeighList *) {} - - void full_nsq_omp(class NeighList *) {} - void full_nsq_ghost_omp(class NeighList *) {} - void full_bin_omp(class NeighList *) {} - void full_bin_ghost_omp(class NeighList *) {} - void full_multi_omp(class NeighList *) {} - - void half_from_full_no_newton_omp(class NeighList *) {} - void half_from_full_newton_omp(class NeighList *) {} - - void granular_nsq_no_newton_omp(class NeighList *) {} - void granular_nsq_newton_omp(class NeighList *) {} - void granular_bin_no_newton_omp(class NeighList *) {} - void granular_bin_newton_omp(class NeighList *) {} - void granular_bin_newton_tri_omp(class NeighList *) {} - - void respa_nsq_no_newton_omp(class NeighList *) {} - void respa_nsq_newton_omp(class NeighList *) {} - void respa_bin_no_newton_omp(class NeighList *) {} - void respa_bin_newton_omp(class NeighList *) {} - void respa_bin_newton_tri_omp(class NeighList *) {} -#endif #endif /* !LMP_USER_OMP */ -- GitLab From 71bc72ec13e579da37c1c156fceed7230193477c Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 27 Aug 2018 22:13:43 -0400 Subject: [PATCH 616/675] formatting: add additional space to avoid bad syntax highlights --- src/BODY/fix_wall_body_polyhedron.cpp | 2 +- src/COLLOID/pair_lubricate.cpp | 2 +- src/COLLOID/pair_lubricateU.cpp | 2 +- src/GRANULAR/pair_gran_hooke_history.cpp | 2 +- src/LATTE/fix_latte.cpp | 2 +- src/MANYBODY/fix_qeq_comb.cpp | 2 +- src/MANYBODY/pair_adp.cpp | 2 +- src/MANYBODY/pair_comb.cpp | 2 +- src/MANYBODY/pair_comb3.cpp | 4 +-- src/MANYBODY/pair_eam.cpp | 2 +- src/MANYBODY/pair_eam_cd.cpp | 2 +- src/MANYBODY/pair_eim.cpp | 2 +- src/MANYBODY/pair_nb3b_harmonic.cpp | 2 +- src/MC/fix_atom_swap.cpp | 2 +- src/MC/fix_bond_break.cpp | 2 +- src/MC/fix_bond_create.cpp | 2 +- src/MEAM/pair_meam.cpp | 2 +- src/MISC/fix_orient_bcc.cpp | 2 +- src/MISC/fix_orient_fcc.cpp | 2 +- src/MISC/xdr_compat.cpp | 2 +- src/MOLECULE/fix_cmap.cpp | 2 +- src/PERI/fix_peri_neigh.cpp | 2 +- src/PERI/pair_peri_eps.cpp | 2 +- src/PERI/pair_peri_lps.cpp | 2 +- src/PERI/pair_peri_ves.cpp | 2 +- src/QEQ/fix_qeq.cpp | 2 +- src/QEQ/fix_qeq_dynamic.cpp | 2 +- src/QEQ/fix_qeq_fire.cpp | 2 +- src/RIGID/fix_rigid_small.cpp | 2 +- src/RIGID/fix_shake.cpp | 2 +- src/SRD/fix_srd.cpp | 8 +++--- src/USER-DPD/fix_eos_table_rx.cpp | 2 +- src/USER-DPD/fix_rx.cpp | 2 +- src/USER-DPD/fix_shardlow.cpp | 2 +- src/USER-DPD/pair_multi_lucy.cpp | 2 +- src/USER-DPD/pair_multi_lucy_rx.cpp | 2 +- src/USER-INTEL/angle_charmm_intel.cpp | 2 +- src/USER-INTEL/angle_harmonic_intel.cpp | 2 +- src/USER-INTEL/bond_fene_intel.cpp | 2 +- src/USER-INTEL/bond_harmonic_intel.cpp | 2 +- src/USER-INTEL/dihedral_fourier_intel.cpp | 2 +- src/USER-INTEL/dihedral_harmonic_intel.cpp | 2 +- src/USER-INTEL/dihedral_opls_intel.cpp | 2 +- src/USER-INTEL/improper_cvff_intel.cpp | 2 +- src/USER-INTEL/improper_harmonic_intel.cpp | 2 +- src/USER-INTEL/intel_buffers.cpp | 2 +- src/USER-INTEL/intel_buffers.h | 4 +-- src/USER-INTEL/pair_eam_intel.cpp | 2 +- src/USER-INTEL/pppm_disp_intel.cpp | 26 +++++++++---------- src/USER-MANIFOLD/manifold_plane.cpp | 2 +- src/USER-MANIFOLD/manifold_thylakoid.cpp | 2 +- src/USER-MEAMC/pair_meamc.cpp | 2 +- src/USER-MESO/pair_mdpd_rhosum.cpp | 2 +- src/USER-MISC/fix_bond_react.cpp | 2 +- src/USER-MISC/fix_filter_corotate.cpp | 2 +- src/USER-MISC/fix_pimd.cpp | 2 +- src/USER-MISC/pair_ilp_graphene_hbn.cpp | 2 +- src/USER-MISC/pair_kolmogorov_crespi_full.cpp | 2 +- src/USER-MISC/pair_meam_spline.cpp | 6 ++--- src/USER-MISC/pair_meam_sw_spline.cpp | 6 ++--- src/USER-REAXC/fix_qeq_reax.cpp | 2 +- src/USER-REAXC/fix_reaxc.cpp | 2 +- src/USER-REAXC/fix_reaxc_bonds.cpp | 4 +-- src/USER-REAXC/fix_reaxc_species.cpp | 4 +-- src/USER-REAXC/reaxc_bond_orders.cpp | 4 +-- src/USER-REAXC/reaxc_bonds.cpp | 4 +-- src/USER-REAXC/reaxc_forces.cpp | 12 ++++----- src/USER-REAXC/reaxc_hydrogen_bonds.cpp | 2 +- src/USER-REAXC/reaxc_init_md.cpp | 12 ++++----- src/USER-REAXC/reaxc_io_tools.cpp | 2 +- src/USER-REAXC/reaxc_lookup.cpp | 2 +- src/USER-REAXC/reaxc_multi_body.cpp | 2 +- src/USER-REAXC/reaxc_nonbonded.cpp | 4 +-- src/USER-REAXC/reaxc_torsion_angles.cpp | 2 +- src/USER-REAXC/reaxc_traj.cpp | 6 ++--- src/USER-REAXC/reaxc_valence_angles.cpp | 2 +- src/USER-SMD/atom_vec_smd.cpp | 16 ++++++------ .../fix_smd_move_triangulated_surface.cpp | 2 +- .../fix_smd_tlsph_reference_configuration.cpp | 2 +- src/USER-SMD/pair_smd_tlsph.cpp | 2 +- src/USER-SMD/pair_smd_ulsph.cpp | 2 +- src/USER-SMTBQ/pair_smtbq.cpp | 4 +-- src/USER-SPH/pair_sph_rhosum.cpp | 2 +- src/fix_property_atom.cpp | 2 +- src/improper_zero.cpp | 4 +-- src/library.cpp | 2 +- src/rcb.cpp | 4 +-- 87 files changed, 135 insertions(+), 135 deletions(-) diff --git a/src/BODY/fix_wall_body_polyhedron.cpp b/src/BODY/fix_wall_body_polyhedron.cpp index 5a066b88bb..9504e256b4 100644 --- a/src/BODY/fix_wall_body_polyhedron.cpp +++ b/src/BODY/fix_wall_body_polyhedron.cpp @@ -693,7 +693,7 @@ int FixWallBodyPolyhedron::compute_distance_to_wall(int ibody, int edge_index, ------------------------------------------------------------------------- */ void FixWallBodyPolyhedron::contact_forces(int ibody, - double j_a, double *xi, double */*xj*/, double delx, double dely, double delz, + double j_a, double *xi, double * /*xj*/, double delx, double dely, double delz, double fx, double fy, double fz, double** x, double** v, double** angmom, double** f, double** torque, double* vwall) { diff --git a/src/COLLOID/pair_lubricate.cpp b/src/COLLOID/pair_lubricate.cpp index fc1fa7acc5..de53d91818 100644 --- a/src/COLLOID/pair_lubricate.cpp +++ b/src/COLLOID/pair_lubricate.cpp @@ -749,7 +749,7 @@ void PairLubricate::read_restart_settings(FILE *fp) /* ---------------------------------------------------------------------- */ int PairLubricate::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/COLLOID/pair_lubricateU.cpp b/src/COLLOID/pair_lubricateU.cpp index 2d51f2e2b6..35fe33c84e 100644 --- a/src/COLLOID/pair_lubricateU.cpp +++ b/src/COLLOID/pair_lubricateU.cpp @@ -2010,7 +2010,7 @@ void PairLubricateU::copy_uo_vec(int inum, double **f, double **torque, /* ---------------------------------------------------------------------- */ int PairLubricateU::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/GRANULAR/pair_gran_hooke_history.cpp b/src/GRANULAR/pair_gran_hooke_history.cpp index e74d7a0ea5..c014510fca 100644 --- a/src/GRANULAR/pair_gran_hooke_history.cpp +++ b/src/GRANULAR/pair_gran_hooke_history.cpp @@ -746,7 +746,7 @@ double PairGranHookeHistory::single(int i, int j, int /*itype*/, int /*jtype*/, /* ---------------------------------------------------------------------- */ int PairGranHookeHistory::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/LATTE/fix_latte.cpp b/src/LATTE/fix_latte.cpp index c9dd0465f8..a89be57bed 100644 --- a/src/LATTE/fix_latte.cpp +++ b/src/LATTE/fix_latte.cpp @@ -189,7 +189,7 @@ void FixLatte::init() /* ---------------------------------------------------------------------- */ -void FixLatte::init_list(int /*id*/, NeighList */*ptr*/) +void FixLatte::init_list(int /*id*/, NeighList * /*ptr*/) { // list = ptr; } diff --git a/src/MANYBODY/fix_qeq_comb.cpp b/src/MANYBODY/fix_qeq_comb.cpp index 61bf9bf11c..e46da9bfe7 100644 --- a/src/MANYBODY/fix_qeq_comb.cpp +++ b/src/MANYBODY/fix_qeq_comb.cpp @@ -293,7 +293,7 @@ double FixQEQComb::memory_usage() /* ---------------------------------------------------------------------- */ int FixQEQComb::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_adp.cpp b/src/MANYBODY/pair_adp.cpp index fd496fcae6..831f1d0efa 100644 --- a/src/MANYBODY/pair_adp.cpp +++ b/src/MANYBODY/pair_adp.cpp @@ -935,7 +935,7 @@ void PairADP::grab(FILE *fp, int n, double *list) /* ---------------------------------------------------------------------- */ int PairADP::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_comb.cpp b/src/MANYBODY/pair_comb.cpp index b205fc46d3..e7b0d27b6e 100644 --- a/src/MANYBODY/pair_comb.cpp +++ b/src/MANYBODY/pair_comb.cpp @@ -2002,7 +2002,7 @@ void PairComb::Over_cor(Param *param, double rsq1, int NCoi, /* ---------------------------------------------------------------------- */ int PairComb::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_comb3.cpp b/src/MANYBODY/pair_comb3.cpp index 54fd13029b..72360be5f0 100644 --- a/src/MANYBODY/pair_comb3.cpp +++ b/src/MANYBODY/pair_comb3.cpp @@ -2109,7 +2109,7 @@ void PairComb3::coord(Param *param, double r, int i, void PairComb3::cntri_int(int tri_flag, double xval, double yval, double zval, int ixmin, int iymin, int izmin, double &vval, - double &dvalx, double &dvaly, double &dvalz, Param */*param*/) + double &dvalx, double &dvaly, double &dvalz, Param * /*param*/) { double x; vval = 0.0; dvalx = 0.0; dvaly = 0.0; dvalz = 0.0; @@ -3863,7 +3863,7 @@ double PairComb3::switching_d(double rr) /* ---------------------------------------------------------------------- */ int PairComb3::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_eam.cpp b/src/MANYBODY/pair_eam.cpp index a861f33824..87bcebb111 100644 --- a/src/MANYBODY/pair_eam.cpp +++ b/src/MANYBODY/pair_eam.cpp @@ -829,7 +829,7 @@ double PairEAM::single(int i, int j, int itype, int jtype, /* ---------------------------------------------------------------------- */ int PairEAM::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_eam_cd.cpp b/src/MANYBODY/pair_eam_cd.cpp index 9b8fd29465..5b8b241b45 100644 --- a/src/MANYBODY/pair_eam_cd.cpp +++ b/src/MANYBODY/pair_eam_cd.cpp @@ -539,7 +539,7 @@ void PairEAMCD::read_h_coeff(char *filename) /* ---------------------------------------------------------------------- */ int PairEAMCD::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_eim.cpp b/src/MANYBODY/pair_eim.cpp index cc35004778..6703e159e6 100644 --- a/src/MANYBODY/pair_eim.cpp +++ b/src/MANYBODY/pair_eim.cpp @@ -1087,7 +1087,7 @@ double PairEIM::funccoul(int i, int j, double r) /* ---------------------------------------------------------------------- */ int PairEIM::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/MANYBODY/pair_nb3b_harmonic.cpp b/src/MANYBODY/pair_nb3b_harmonic.cpp index a09f8a23e6..01718d14cd 100644 --- a/src/MANYBODY/pair_nb3b_harmonic.cpp +++ b/src/MANYBODY/pair_nb3b_harmonic.cpp @@ -454,7 +454,7 @@ void PairNb3bHarmonic::setup_params() /* ---------------------------------------------------------------------- */ -void PairNb3bHarmonic::threebody(Param */*paramij*/, Param */*paramik*/, +void PairNb3bHarmonic::threebody(Param * /*paramij*/, Param * /*paramik*/, Param *paramijk, double rsq1, double rsq2, double *delr1, double *delr2, diff --git a/src/MC/fix_atom_swap.cpp b/src/MC/fix_atom_swap.cpp index b795b71273..3e981c5609 100644 --- a/src/MC/fix_atom_swap.cpp +++ b/src/MC/fix_atom_swap.cpp @@ -695,7 +695,7 @@ void FixAtomSwap::update_swap_atoms_list() /* ---------------------------------------------------------------------- */ -int FixAtomSwap::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) +int FixAtomSwap::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/MC/fix_bond_break.cpp b/src/MC/fix_bond_break.cpp index 203d6b589b..a1c9bb3ab0 100644 --- a/src/MC/fix_bond_break.cpp +++ b/src/MC/fix_bond_break.cpp @@ -701,7 +701,7 @@ void FixBondBreak::post_integrate_respa(int ilevel, int /*iloop*/) /* ---------------------------------------------------------------------- */ int FixBondBreak::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,k,m,ns; diff --git a/src/MC/fix_bond_create.cpp b/src/MC/fix_bond_create.cpp index 17ea7fb3f2..e1dd18cb5b 100644 --- a/src/MC/fix_bond_create.cpp +++ b/src/MC/fix_bond_create.cpp @@ -1214,7 +1214,7 @@ void FixBondCreate::post_integrate_respa(int ilevel, int /*iloop*/) /* ---------------------------------------------------------------------- */ int FixBondCreate::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,k,m,ns; diff --git a/src/MEAM/pair_meam.cpp b/src/MEAM/pair_meam.cpp index 41f1f4ce37..5aa13ab02e 100644 --- a/src/MEAM/pair_meam.cpp +++ b/src/MEAM/pair_meam.cpp @@ -734,7 +734,7 @@ void PairMEAM::read_files(char *globalfile, char *userfile) /* ---------------------------------------------------------------------- */ int PairMEAM::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,k,m; diff --git a/src/MISC/fix_orient_bcc.cpp b/src/MISC/fix_orient_bcc.cpp index 9b22e571fe..c614577933 100644 --- a/src/MISC/fix_orient_bcc.cpp +++ b/src/MISC/fix_orient_bcc.cpp @@ -488,7 +488,7 @@ double FixOrientBCC::compute_scalar() /* ---------------------------------------------------------------------- */ int FixOrientBCC::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,k,num; tagint id; diff --git a/src/MISC/fix_orient_fcc.cpp b/src/MISC/fix_orient_fcc.cpp index b061627fd8..5b394adde7 100644 --- a/src/MISC/fix_orient_fcc.cpp +++ b/src/MISC/fix_orient_fcc.cpp @@ -486,7 +486,7 @@ double FixOrientFCC::compute_scalar() /* ---------------------------------------------------------------------- */ int FixOrientFCC::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,k,num; tagint id; diff --git a/src/MISC/xdr_compat.cpp b/src/MISC/xdr_compat.cpp index c67925d92a..0f4d73cdd9 100644 --- a/src/MISC/xdr_compat.cpp +++ b/src/MISC/xdr_compat.cpp @@ -650,7 +650,7 @@ xdrstdio_setpos (XDR *xdrs, unsigned int pos) } static xdr_int32_t * -xdrstdio_inline (XDR */*xdrs*/, int /*len*/) +xdrstdio_inline (XDR * /*xdrs*/, int /*len*/) { /* * Must do some work to implement this: must insure diff --git a/src/MOLECULE/fix_cmap.cpp b/src/MOLECULE/fix_cmap.cpp index 2acb20de60..b527eef020 100644 --- a/src/MOLECULE/fix_cmap.cpp +++ b/src/MOLECULE/fix_cmap.cpp @@ -1163,7 +1163,7 @@ void FixCMAP::read_data_section(char *keyword, int n, char *buf, /* ---------------------------------------------------------------------- */ -bigint FixCMAP::read_data_skip_lines(char */*keyword*/) +bigint FixCMAP::read_data_skip_lines(char * /*keyword*/) { return ncmap; } diff --git a/src/PERI/fix_peri_neigh.cpp b/src/PERI/fix_peri_neigh.cpp index 2f5d4ac694..66137e6a01 100644 --- a/src/PERI/fix_peri_neigh.cpp +++ b/src/PERI/fix_peri_neigh.cpp @@ -514,7 +514,7 @@ int FixPeriNeigh::unpack_exchange(int nlocal, double *buf) /* ---------------------------------------------------------------------- */ int FixPeriNeigh::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/PERI/pair_peri_eps.cpp b/src/PERI/pair_peri_eps.cpp index fe2041d802..76267426c6 100644 --- a/src/PERI/pair_peri_eps.cpp +++ b/src/PERI/pair_peri_eps.cpp @@ -799,7 +799,7 @@ double PairPeriEPS::compute_DeviatoricForceStateNorm(int i) ---------------------------------------------------------------------- */ int PairPeriEPS::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/PERI/pair_peri_lps.cpp b/src/PERI/pair_peri_lps.cpp index 0ff0423801..383b91c6f5 100644 --- a/src/PERI/pair_peri_lps.cpp +++ b/src/PERI/pair_peri_lps.cpp @@ -631,7 +631,7 @@ void PairPeriLPS::compute_dilatation() ---------------------------------------------------------------------- */ int PairPeriLPS::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/PERI/pair_peri_ves.cpp b/src/PERI/pair_peri_ves.cpp index a41d55b593..7590077f0e 100644 --- a/src/PERI/pair_peri_ves.cpp +++ b/src/PERI/pair_peri_ves.cpp @@ -697,7 +697,7 @@ void PairPeriVES::compute_dilatation() ---------------------------------------------------------------------- */ int PairPeriVES::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index f6f41f57bd..0fe041209f 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -471,7 +471,7 @@ void FixQEq::calculate_Q() /* ---------------------------------------------------------------------- */ int FixQEq::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int m; diff --git a/src/QEQ/fix_qeq_dynamic.cpp b/src/QEQ/fix_qeq_dynamic.cpp index 82112c5c11..f496c7e6c0 100644 --- a/src/QEQ/fix_qeq_dynamic.cpp +++ b/src/QEQ/fix_qeq_dynamic.cpp @@ -247,7 +247,7 @@ double FixQEqDynamic::compute_eneg() /* ---------------------------------------------------------------------- */ int FixQEqDynamic::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int m=0; diff --git a/src/QEQ/fix_qeq_fire.cpp b/src/QEQ/fix_qeq_fire.cpp index d1683aa020..83c9907f1b 100644 --- a/src/QEQ/fix_qeq_fire.cpp +++ b/src/QEQ/fix_qeq_fire.cpp @@ -311,7 +311,7 @@ double FixQEqFire::compute_eneg() /* ---------------------------------------------------------------------- */ int FixQEqFire::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int m = 0; diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index b2dbd27c46..d5d3d36083 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -2999,7 +2999,7 @@ int FixRigidSmall::unpack_exchange(int nlocal, double *buf) ------------------------------------------------------------------------- */ int FixRigidSmall::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j; double *xcm,*vcm,*quat,*omega,*ex_space,*ey_space,*ez_space,*conjqm; diff --git a/src/RIGID/fix_shake.cpp b/src/RIGID/fix_shake.cpp index 5c0139737c..e0d1bf132b 100644 --- a/src/RIGID/fix_shake.cpp +++ b/src/RIGID/fix_shake.cpp @@ -2528,7 +2528,7 @@ void FixShake::update_arrays(int i, int atom_offset) ------------------------------------------------------------------------- */ void FixShake::set_molecule(int nlocalprev, tagint tagprev, int imol, - double */*xgeom*/, double */*vcm*/, double */*quat*/) + double * /*xgeom*/, double * /*vcm*/, double * /*quat*/) { int m,flag; diff --git a/src/SRD/fix_srd.cpp b/src/SRD/fix_srd.cpp index d6053f4aa4..186f51e06a 100644 --- a/src/SRD/fix_srd.cpp +++ b/src/SRD/fix_srd.cpp @@ -2168,8 +2168,8 @@ void FixSRD::collision_ellipsoid_inexact(double *xs, double *xb, norm = surface normal of collision pt at time of collision ------------------------------------------------------------------------- */ -double FixSRD::collision_line_exact(double */*xs*/, double */*xb*/, - double */*vs*/, double */*vb*/, Big */*big*/, +double FixSRD::collision_line_exact(double * /*xs*/, double * /*xb*/, + double * /*vs*/, double * /*vb*/, Big * /*big*/, double dt_step, double *xscoll, double *xbcoll, double *norm) @@ -2197,8 +2197,8 @@ double FixSRD::collision_line_exact(double */*xs*/, double */*xb*/, norm = surface normal of collision pt at time of collision ------------------------------------------------------------------------- */ -double FixSRD::collision_tri_exact(double */*xs*/, double */*xb*/, - double */*vs*/, double */*vb*/, Big */*big*/, +double FixSRD::collision_tri_exact(double * /*xs*/, double * /*xb*/, + double * /*vs*/, double * /*vb*/, Big * /*big*/, double dt_step, double *xscoll, double *xbcoll, double *norm) diff --git a/src/USER-DPD/fix_eos_table_rx.cpp b/src/USER-DPD/fix_eos_table_rx.cpp index 0bb96d7664..181c7dccfa 100644 --- a/src/USER-DPD/fix_eos_table_rx.cpp +++ b/src/USER-DPD/fix_eos_table_rx.cpp @@ -803,7 +803,7 @@ void FixEOStableRX::temperature_lookup(int id, double ui, double &thetai) /* ---------------------------------------------------------------------- */ -int FixEOStableRX::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) +int FixEOStableRX::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int ii,jj,m; double *uChem = atom->uChem; diff --git a/src/USER-DPD/fix_rx.cpp b/src/USER-DPD/fix_rx.cpp index 4a78bb30d2..1a9c43704d 100644 --- a/src/USER-DPD/fix_rx.cpp +++ b/src/USER-DPD/fix_rx.cpp @@ -1885,7 +1885,7 @@ void FixRX::computeLocalTemperature() /* ---------------------------------------------------------------------- */ -int FixRX::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) +int FixRX::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int ii,jj,m; double tmp; diff --git a/src/USER-DPD/fix_shardlow.cpp b/src/USER-DPD/fix_shardlow.cpp index 9e8ee41533..4e133480ad 100644 --- a/src/USER-DPD/fix_shardlow.cpp +++ b/src/USER-DPD/fix_shardlow.cpp @@ -646,7 +646,7 @@ fprintf(stdout, "\n%6d %6d,%6d %6d: " /* ---------------------------------------------------------------------- */ -int FixShardlow::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) +int FixShardlow::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int ii,jj,m; double **v = atom->v; diff --git a/src/USER-DPD/pair_multi_lucy.cpp b/src/USER-DPD/pair_multi_lucy.cpp index a7701f4d93..f911d8299e 100644 --- a/src/USER-DPD/pair_multi_lucy.cpp +++ b/src/USER-DPD/pair_multi_lucy.cpp @@ -781,7 +781,7 @@ void PairMultiLucy::computeLocalDensity() } /* ---------------------------------------------------------------------- */ -int PairMultiLucy::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) +int PairMultiLucy::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; double *rho = atom->rho; diff --git a/src/USER-DPD/pair_multi_lucy_rx.cpp b/src/USER-DPD/pair_multi_lucy_rx.cpp index 744c1ff64d..13c838fe01 100644 --- a/src/USER-DPD/pair_multi_lucy_rx.cpp +++ b/src/USER-DPD/pair_multi_lucy_rx.cpp @@ -1019,7 +1019,7 @@ void PairMultiLucyRX::getMixingWeights(int id, double &mixWtSite1old, double &mi /* ---------------------------------------------------------------------- */ -int PairMultiLucyRX::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) +int PairMultiLucyRX::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; double *rho = atom->rho; diff --git a/src/USER-INTEL/angle_charmm_intel.cpp b/src/USER-INTEL/angle_charmm_intel.cpp index eddef5bce8..f2542fc0c7 100644 --- a/src/USER-INTEL/angle_charmm_intel.cpp +++ b/src/USER-INTEL/angle_charmm_intel.cpp @@ -332,7 +332,7 @@ void AngleCharmmIntel::init_style() template void AngleCharmmIntel::pack_force_const(ForceConst &fc, - IntelBuffers */*buffers*/) + IntelBuffers * /*buffers*/) { const int bp1 = atom->nangletypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/angle_harmonic_intel.cpp b/src/USER-INTEL/angle_harmonic_intel.cpp index 077825332c..5777dad947 100644 --- a/src/USER-INTEL/angle_harmonic_intel.cpp +++ b/src/USER-INTEL/angle_harmonic_intel.cpp @@ -314,7 +314,7 @@ void AngleHarmonicIntel::init_style() template void AngleHarmonicIntel::pack_force_const(ForceConst &fc, - IntelBuffers */*buffers*/) + IntelBuffers * /*buffers*/) { const int bp1 = atom->nangletypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/bond_fene_intel.cpp b/src/USER-INTEL/bond_fene_intel.cpp index 88fa65f555..9d54269c05 100644 --- a/src/USER-INTEL/bond_fene_intel.cpp +++ b/src/USER-INTEL/bond_fene_intel.cpp @@ -291,7 +291,7 @@ void BondFENEIntel::init_style() template void BondFENEIntel::pack_force_const(ForceConst &fc, - IntelBuffers */*buffers*/) + IntelBuffers * /*buffers*/) { const int bp1 = atom->nbondtypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/bond_harmonic_intel.cpp b/src/USER-INTEL/bond_harmonic_intel.cpp index f4ab991b1c..65894efa05 100644 --- a/src/USER-INTEL/bond_harmonic_intel.cpp +++ b/src/USER-INTEL/bond_harmonic_intel.cpp @@ -262,7 +262,7 @@ void BondHarmonicIntel::init_style() template void BondHarmonicIntel::pack_force_const(ForceConst &fc, - IntelBuffers */*buffers*/) + IntelBuffers * /*buffers*/) { const int bp1 = atom->nbondtypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/dihedral_fourier_intel.cpp b/src/USER-INTEL/dihedral_fourier_intel.cpp index 7494fef3bf..6ccc165c61 100644 --- a/src/USER-INTEL/dihedral_fourier_intel.cpp +++ b/src/USER-INTEL/dihedral_fourier_intel.cpp @@ -401,7 +401,7 @@ void DihedralFourierIntel::init_style() template void DihedralFourierIntel::pack_force_const(ForceConst &fc, - IntelBuffers */*buffers*/) + IntelBuffers * /*buffers*/) { const int bp1 = atom->ndihedraltypes + 1; fc.set_ntypes(bp1, setflag, nterms, memory); diff --git a/src/USER-INTEL/dihedral_harmonic_intel.cpp b/src/USER-INTEL/dihedral_harmonic_intel.cpp index 57361b9527..ae5eb914e7 100644 --- a/src/USER-INTEL/dihedral_harmonic_intel.cpp +++ b/src/USER-INTEL/dihedral_harmonic_intel.cpp @@ -396,7 +396,7 @@ void DihedralHarmonicIntel::init_style() template void DihedralHarmonicIntel::pack_force_const(ForceConst &fc, - IntelBuffers */*buffers*/) + IntelBuffers * /*buffers*/) { const int bp1 = atom->ndihedraltypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/dihedral_opls_intel.cpp b/src/USER-INTEL/dihedral_opls_intel.cpp index ae2810f662..ef95cc75bb 100644 --- a/src/USER-INTEL/dihedral_opls_intel.cpp +++ b/src/USER-INTEL/dihedral_opls_intel.cpp @@ -416,7 +416,7 @@ void DihedralOPLSIntel::init_style() template void DihedralOPLSIntel::pack_force_const(ForceConst &fc, - IntelBuffers */*buffers*/) + IntelBuffers * /*buffers*/) { const int bp1 = atom->ndihedraltypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/improper_cvff_intel.cpp b/src/USER-INTEL/improper_cvff_intel.cpp index 025206dc67..c20c004657 100644 --- a/src/USER-INTEL/improper_cvff_intel.cpp +++ b/src/USER-INTEL/improper_cvff_intel.cpp @@ -428,7 +428,7 @@ void ImproperCvffIntel::init_style() template void ImproperCvffIntel::pack_force_const(ForceConst &fc, - IntelBuffers */*buffers*/) + IntelBuffers * /*buffers*/) { const int bp1 = atom->nimpropertypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/improper_harmonic_intel.cpp b/src/USER-INTEL/improper_harmonic_intel.cpp index dde67e1d76..167095150e 100644 --- a/src/USER-INTEL/improper_harmonic_intel.cpp +++ b/src/USER-INTEL/improper_harmonic_intel.cpp @@ -384,7 +384,7 @@ void ImproperHarmonicIntel::init_style() template void ImproperHarmonicIntel::pack_force_const(ForceConst &fc, - IntelBuffers */*buffers*/) + IntelBuffers * /*buffers*/) { const int bp1 = atom->nimpropertypes + 1; fc.set_ntypes(bp1,memory); diff --git a/src/USER-INTEL/intel_buffers.cpp b/src/USER-INTEL/intel_buffers.cpp index ada70a18a4..05176e1fd1 100644 --- a/src/USER-INTEL/intel_buffers.cpp +++ b/src/USER-INTEL/intel_buffers.cpp @@ -310,7 +310,7 @@ void IntelBuffers::free_nbor_list() /* ---------------------------------------------------------------------- */ template -void IntelBuffers::_grow_nbor_list(NeighList */*list*/, +void IntelBuffers::_grow_nbor_list(NeighList * /*list*/, const int nlocal, const int nthreads, const int /*offload_end*/, diff --git a/src/USER-INTEL/intel_buffers.h b/src/USER-INTEL/intel_buffers.h index 397fa77a7e..e8225a4a30 100644 --- a/src/USER-INTEL/intel_buffers.h +++ b/src/USER-INTEL/intel_buffers.h @@ -135,8 +135,8 @@ class IntelBuffers { void set_ntypes(const int ntypes, const int use_ghost_cut = 0); - inline int * firstneigh(const NeighList */*list*/) { return _list_alloc; } - inline int * cnumneigh(const NeighList */*list*/) { return _cnumneigh; } + inline int * firstneigh(const NeighList * /*list*/) { return _list_alloc; } + inline int * cnumneigh(const NeighList * /*list*/) { return _cnumneigh; } inline int * get_atombin() { return _atombin; } inline int * get_binpacked() { return _binpacked; } diff --git a/src/USER-INTEL/pair_eam_intel.cpp b/src/USER-INTEL/pair_eam_intel.cpp index 11ae442c0e..ce9ede69d6 100644 --- a/src/USER-INTEL/pair_eam_intel.cpp +++ b/src/USER-INTEL/pair_eam_intel.cpp @@ -784,7 +784,7 @@ void PairEAMIntel::ForceConst::set_ntypes(const int ntypes, /* ---------------------------------------------------------------------- */ int PairEAMIntel::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) return pack_forward_comm(n, list, buf, fp); diff --git a/src/USER-INTEL/pppm_disp_intel.cpp b/src/USER-INTEL/pppm_disp_intel.cpp index c7edc15a49..3b05658278 100644 --- a/src/USER-INTEL/pppm_disp_intel.cpp +++ b/src/USER-INTEL/pppm_disp_intel.cpp @@ -723,7 +723,7 @@ void PPPMDispIntel::particle_map(double delx, double dely, double delz, double sft, int** p2g, int nup, int nlow, int nxlo, int nylo, int nzlo, int nxhi, int nyhi, int nzhi, - IntelBuffers */*buffers*/) + IntelBuffers * /*buffers*/) { int nlocal = atom->nlocal; int nthr = comm->nthreads; @@ -790,7 +790,7 @@ void PPPMDispIntel::particle_map(double delx, double dely, double delz, ------------------------------------------------------------------------- */ template -void PPPMDispIntel::make_rho_c(IntelBuffers */*buffers*/) +void PPPMDispIntel::make_rho_c(IntelBuffers * /*buffers*/) { // clear 3d density array @@ -940,7 +940,7 @@ void PPPMDispIntel::make_rho_c(IntelBuffers */*buffers*/) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::make_rho_g(IntelBuffers */*buffers*/) +void PPPMDispIntel::make_rho_g(IntelBuffers * /*buffers*/) { // clear 3d density array @@ -1091,7 +1091,7 @@ void PPPMDispIntel::make_rho_g(IntelBuffers */*buffers*/) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::make_rho_a(IntelBuffers */*buffers*/) +void PPPMDispIntel::make_rho_a(IntelBuffers * /*buffers*/) { // clear 3d density array @@ -1225,7 +1225,7 @@ void PPPMDispIntel::make_rho_a(IntelBuffers */*buffers*/) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::make_rho_none(IntelBuffers */*buffers*/) +void PPPMDispIntel::make_rho_none(IntelBuffers * /*buffers*/) { FFT_SCALAR * _noalias global_density = &(density_brick_none[0][nzlo_out_6][nylo_out_6][nxlo_out_6]); @@ -1373,7 +1373,7 @@ void PPPMDispIntel::make_rho_none(IntelBuffers */*buffers*/) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_c_ik(IntelBuffers */*buffers*/) +void PPPMDispIntel::fieldforce_c_ik(IntelBuffers * /*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -1520,7 +1520,7 @@ void PPPMDispIntel::fieldforce_c_ik(IntelBuffers */*buffers*/) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_c_ad(IntelBuffers */*buffers*/) +void PPPMDispIntel::fieldforce_c_ad(IntelBuffers * /*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -1725,7 +1725,7 @@ void PPPMDispIntel::fieldforce_c_ad(IntelBuffers */*buffers*/) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_g_ik(IntelBuffers */*buffers*/) +void PPPMDispIntel::fieldforce_g_ik(IntelBuffers * /*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -1869,7 +1869,7 @@ void PPPMDispIntel::fieldforce_g_ik(IntelBuffers */*buffers*/) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_g_ad(IntelBuffers */*buffers*/) +void PPPMDispIntel::fieldforce_g_ad(IntelBuffers * /*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -2069,7 +2069,7 @@ void PPPMDispIntel::fieldforce_g_ad(IntelBuffers */*buffers*/) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_a_ik(IntelBuffers */*buffers*/) +void PPPMDispIntel::fieldforce_a_ik(IntelBuffers * /*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -2282,7 +2282,7 @@ void PPPMDispIntel::fieldforce_a_ik(IntelBuffers */*buffers*/) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_a_ad(IntelBuffers */*buffers*/) +void PPPMDispIntel::fieldforce_a_ad(IntelBuffers * /*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -2594,7 +2594,7 @@ void PPPMDispIntel::fieldforce_a_ad(IntelBuffers */*buffers*/) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_none_ik(IntelBuffers */*buffers*/) +void PPPMDispIntel::fieldforce_none_ik(IntelBuffers * /*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points @@ -2755,7 +2755,7 @@ void PPPMDispIntel::fieldforce_none_ik(IntelBuffers */*buffers*/) ------------------------------------------------------------------------- */ template -void PPPMDispIntel::fieldforce_none_ad(IntelBuffers */*buffers*/) +void PPPMDispIntel::fieldforce_none_ad(IntelBuffers * /*buffers*/) { // loop over my charges, interpolate electric field from nearby grid points // (nx,ny,nz) = global coords of grid pt to "lower left" of charge diff --git a/src/USER-MANIFOLD/manifold_plane.cpp b/src/USER-MANIFOLD/manifold_plane.cpp index 45a1f4b46e..6c3f17393a 100644 --- a/src/USER-MANIFOLD/manifold_plane.cpp +++ b/src/USER-MANIFOLD/manifold_plane.cpp @@ -16,7 +16,7 @@ double manifold_plane::g( const double *x ) } -void manifold_plane::n( const double */*x*/, double *n ) +void manifold_plane::n( const double * /*x*/, double *n ) { n[0] = params[0]; n[1] = params[1]; diff --git a/src/USER-MANIFOLD/manifold_thylakoid.cpp b/src/USER-MANIFOLD/manifold_thylakoid.cpp index 16c4e696d5..93cf60ad03 100644 --- a/src/USER-MANIFOLD/manifold_thylakoid.cpp +++ b/src/USER-MANIFOLD/manifold_thylakoid.cpp @@ -117,7 +117,7 @@ void manifold_thylakoid::n( const double *x, double *n ) } } -thyla_part *manifold_thylakoid::get_thyla_part( const double *x, int */*err_flag*/, std::size_t *idx ) +thyla_part *manifold_thylakoid::get_thyla_part( const double *x, int * /*err_flag*/, std::size_t *idx ) { for( std::size_t i = 0; i < parts.size(); ++i ){ diff --git a/src/USER-MEAMC/pair_meamc.cpp b/src/USER-MEAMC/pair_meamc.cpp index da0e4c1d28..eca1040c9c 100644 --- a/src/USER-MEAMC/pair_meamc.cpp +++ b/src/USER-MEAMC/pair_meamc.cpp @@ -598,7 +598,7 @@ void PairMEAMC::read_files(char *globalfile, char *userfile) /* ---------------------------------------------------------------------- */ int PairMEAMC::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,k,m; diff --git a/src/USER-MESO/pair_mdpd_rhosum.cpp b/src/USER-MESO/pair_mdpd_rhosum.cpp index d705285584..806a63f898 100644 --- a/src/USER-MESO/pair_mdpd_rhosum.cpp +++ b/src/USER-MESO/pair_mdpd_rhosum.cpp @@ -246,7 +246,7 @@ double PairMDPDRhoSum::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/ /* ---------------------------------------------------------------------- */ int PairMDPDRhoSum::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) { + int /*pbc_flag*/, int * /*pbc*/) { int i, j, m; double *rho = atom->rho; diff --git a/src/USER-MISC/fix_bond_react.cpp b/src/USER-MISC/fix_bond_react.cpp index 8a05a304f1..a4377e4ce8 100644 --- a/src/USER-MISC/fix_bond_react.cpp +++ b/src/USER-MISC/fix_bond_react.cpp @@ -2628,7 +2628,7 @@ void FixBondReact::post_integrate_respa(int ilevel, int /*iloop*/) /* ---------------------------------------------------------------------- */ int FixBondReact::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,k,m,ns; diff --git a/src/USER-MISC/fix_filter_corotate.cpp b/src/USER-MISC/fix_filter_corotate.cpp index 4a6b3226d4..56ab2b3df9 100644 --- a/src/USER-MISC/fix_filter_corotate.cpp +++ b/src/USER-MISC/fix_filter_corotate.cpp @@ -1699,7 +1699,7 @@ void FixFilterCorotate::general_cluster(int index, int index_in_list) } int FixFilterCorotate::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; double**f = atom->f; diff --git a/src/USER-MISC/fix_pimd.cpp b/src/USER-MISC/fix_pimd.cpp index 506590f02c..eba8ed5d0c 100644 --- a/src/USER-MISC/fix_pimd.cpp +++ b/src/USER-MISC/fix_pimd.cpp @@ -686,7 +686,7 @@ void FixPIMD::comm_exec(double **ptr) /* ---------------------------------------------------------------------- */ int FixPIMD::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/USER-MISC/pair_ilp_graphene_hbn.cpp b/src/USER-MISC/pair_ilp_graphene_hbn.cpp index 2aecbe5d19..7e11cdff4f 100644 --- a/src/USER-MISC/pair_ilp_graphene_hbn.cpp +++ b/src/USER-MISC/pair_ilp_graphene_hbn.cpp @@ -1047,7 +1047,7 @@ double PairILPGrapheneHBN::single(int /*i*/, int /*j*/, int itype, int jtype, do /* ---------------------------------------------------------------------- */ int PairILPGrapheneHBN::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m,id,ip,l; diff --git a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp index 4c1f36c640..bc3bfaeba9 100644 --- a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp +++ b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp @@ -1050,7 +1050,7 @@ double PairKolmogorovCrespiFull::single(int /*i*/, int /*j*/, int itype, int jty /* ---------------------------------------------------------------------- */ int PairKolmogorovCrespiFull::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m,l,ip,id; diff --git a/src/USER-MISC/pair_meam_spline.cpp b/src/USER-MISC/pair_meam_spline.cpp index 1305891b33..e6ea6c2ae4 100644 --- a/src/USER-MISC/pair_meam_spline.cpp +++ b/src/USER-MISC/pair_meam_spline.cpp @@ -600,7 +600,7 @@ double PairMEAMSpline::init_one(int /*i*/, int /*j*/) /* ---------------------------------------------------------------------- */ int PairMEAMSpline::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int* list_iter = list; int* list_iter_end = list + n; @@ -618,14 +618,14 @@ void PairMEAMSpline::unpack_forward_comm(int n, int first, double *buf) /* ---------------------------------------------------------------------- */ -int PairMEAMSpline::pack_reverse_comm(int /*n*/, int /*first*/, double */*buf*/) +int PairMEAMSpline::pack_reverse_comm(int /*n*/, int /*first*/, double * /*buf*/) { return 0; } /* ---------------------------------------------------------------------- */ -void PairMEAMSpline::unpack_reverse_comm(int /*n*/, int */*list*/, double */*buf*/) +void PairMEAMSpline::unpack_reverse_comm(int /*n*/, int * /*list*/, double * /*buf*/) { } diff --git a/src/USER-MISC/pair_meam_sw_spline.cpp b/src/USER-MISC/pair_meam_sw_spline.cpp index be0ac1c35b..891913ccfc 100644 --- a/src/USER-MISC/pair_meam_sw_spline.cpp +++ b/src/USER-MISC/pair_meam_sw_spline.cpp @@ -560,7 +560,7 @@ double PairMEAMSWSpline::init_one(int /*i*/, int /*j*/) /* ---------------------------------------------------------------------- */ int PairMEAMSWSpline::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int* list_iter = list; int* list_iter_end = list + n; @@ -578,14 +578,14 @@ void PairMEAMSWSpline::unpack_forward_comm(int n, int first, double *buf) /* ---------------------------------------------------------------------- */ -int PairMEAMSWSpline::pack_reverse_comm(int /*n*/, int /*first*/, double */*buf*/) +int PairMEAMSWSpline::pack_reverse_comm(int /*n*/, int /*first*/, double * /*buf*/) { return 0; } /* ---------------------------------------------------------------------- */ -void PairMEAMSWSpline::unpack_reverse_comm(int /*n*/, int */*list*/, double */*buf*/) +void PairMEAMSWSpline::unpack_reverse_comm(int /*n*/, int * /*list*/, double * /*buf*/) { } diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp index a6e59f7620..6f0b93235f 100644 --- a/src/USER-REAXC/fix_qeq_reax.cpp +++ b/src/USER-REAXC/fix_qeq_reax.cpp @@ -833,7 +833,7 @@ void FixQEqReax::calculate_Q() /* ---------------------------------------------------------------------- */ int FixQEqReax::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int m; diff --git a/src/USER-REAXC/fix_reaxc.cpp b/src/USER-REAXC/fix_reaxc.cpp index df1d7db085..c470173663 100644 --- a/src/USER-REAXC/fix_reaxc.cpp +++ b/src/USER-REAXC/fix_reaxc.cpp @@ -136,7 +136,7 @@ int FixReaxC::unpack_exchange(int nlocal, double *buf) /* ---------------------------------------------------------------------- */ int FixReaxC::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/USER-REAXC/fix_reaxc_bonds.cpp b/src/USER-REAXC/fix_reaxc_bonds.cpp index f3e592a682..fb40b2042e 100644 --- a/src/USER-REAXC/fix_reaxc_bonds.cpp +++ b/src/USER-REAXC/fix_reaxc_bonds.cpp @@ -137,7 +137,7 @@ void FixReaxCBonds::end_of_step() /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::Output_ReaxC_Bonds(bigint /*ntimestep*/, FILE */*fp*/) +void FixReaxCBonds::Output_ReaxC_Bonds(bigint /*ntimestep*/, FILE * /*fp*/) { int i, j; @@ -185,7 +185,7 @@ void FixReaxCBonds::Output_ReaxC_Bonds(bigint /*ntimestep*/, FILE */*fp*/) /* ---------------------------------------------------------------------- */ -void FixReaxCBonds::FindBond(struct _reax_list */*lists*/, int &numbonds) +void FixReaxCBonds::FindBond(struct _reax_list * /*lists*/, int &numbonds) { int *ilist, i, ii, inum; int j, pj, nj; diff --git a/src/USER-REAXC/fix_reaxc_species.cpp b/src/USER-REAXC/fix_reaxc_species.cpp index abb8708d8d..8ec7f4174f 100644 --- a/src/USER-REAXC/fix_reaxc_species.cpp +++ b/src/USER-REAXC/fix_reaxc_species.cpp @@ -442,7 +442,7 @@ void FixReaxCSpecies::post_integrate() /* ---------------------------------------------------------------------- */ -void FixReaxCSpecies::Output_ReaxC_Bonds(bigint ntimestep, FILE */*fp*/) +void FixReaxCSpecies::Output_ReaxC_Bonds(bigint ntimestep, FILE * /*fp*/) { int Nmole, Nspec; @@ -946,7 +946,7 @@ int FixReaxCSpecies::nint(const double &r) /* ---------------------------------------------------------------------- */ int FixReaxCSpecies::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) + int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/USER-REAXC/reaxc_bond_orders.cpp b/src/USER-REAXC/reaxc_bond_orders.cpp index 02df9ec518..572d27526c 100644 --- a/src/USER-REAXC/reaxc_bond_orders.cpp +++ b/src/USER-REAXC/reaxc_bond_orders.cpp @@ -359,8 +359,8 @@ int BOp( storage *workspace, reax_list *bonds, double bo_cut, } -void BO( reax_system *system, control_params */*control*/, simulation_data */*data*/, - storage *workspace, reax_list **lists, output_controls */*out_control*/ ) +void BO( reax_system *system, control_params * /*control*/, simulation_data * /*data*/, + storage *workspace, reax_list **lists, output_controls * /*out_control*/ ) { int i, j, pj, type_i, type_j; int start_i, end_i, sym_index; diff --git a/src/USER-REAXC/reaxc_bonds.cpp b/src/USER-REAXC/reaxc_bonds.cpp index a26f70c543..6fde18e5c2 100644 --- a/src/USER-REAXC/reaxc_bonds.cpp +++ b/src/USER-REAXC/reaxc_bonds.cpp @@ -31,9 +31,9 @@ #include "reaxc_tool_box.h" #include "reaxc_vector.h" -void Bonds( reax_system *system, control_params */*control*/, +void Bonds( reax_system *system, control_params * /*control*/, simulation_data *data, storage *workspace, reax_list **lists, - output_controls */*out_control*/ ) + output_controls * /*out_control*/ ) { int i, j, pj, natoms; int start_i, end_i; diff --git a/src/USER-REAXC/reaxc_forces.cpp b/src/USER-REAXC/reaxc_forces.cpp index 56501eeda0..dfcc9fd4ae 100644 --- a/src/USER-REAXC/reaxc_forces.cpp +++ b/src/USER-REAXC/reaxc_forces.cpp @@ -41,9 +41,9 @@ interaction_function Interaction_Functions[NUM_INTRS]; -void Dummy_Interaction( reax_system */*system*/, control_params */*control*/, - simulation_data */*data*/, storage */*workspace*/, - reax_list **/*lists*/, output_controls */*out_control*/ ) +void Dummy_Interaction( reax_system * /*system*/, control_params * /*control*/, + simulation_data * /*data*/, storage * /*workspace*/, + reax_list **/*lists*/, output_controls * /*out_control*/ ) { } @@ -98,7 +98,7 @@ void Compute_NonBonded_Forces( reax_system *system, control_params *control, void Compute_Total_Force( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, mpi_datatypes */*mpi_data*/ ) + reax_list **lists, mpi_datatypes * /*mpi_data*/ ) { int i, pj; reax_list *bonds = (*lists) + BONDS; @@ -114,7 +114,7 @@ void Compute_Total_Force( reax_system *system, control_params *control, } -void Validate_Lists( reax_system *system, storage */*workspace*/, reax_list **lists, +void Validate_Lists( reax_system *system, storage * /*workspace*/, reax_list **lists, int step, int /*n*/, int N, int numH, MPI_Comm comm ) { int i, comp, Hindex; @@ -173,7 +173,7 @@ void Validate_Lists( reax_system *system, storage */*workspace*/, reax_list **li void Init_Forces_noQEq( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls */*out_control*/, + reax_list **lists, output_controls * /*out_control*/, MPI_Comm comm ) { int i, j, pj; int start_i, end_i; diff --git a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp index c0b3121a40..6442dd47e9 100644 --- a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp +++ b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp @@ -33,7 +33,7 @@ void Hydrogen_Bonds( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls */*out_control*/ ) + reax_list **lists, output_controls * /*out_control*/ ) { int i, j, k, pi, pk; int type_i, type_j, type_k; diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp index 33614c7c68..88fb9cf17f 100644 --- a/src/USER-REAXC/reaxc_init_md.cpp +++ b/src/USER-REAXC/reaxc_init_md.cpp @@ -36,7 +36,7 @@ #include "reaxc_tool_box.h" #include "reaxc_vector.h" -int Init_System( reax_system *system, control_params *control, char */*msg*/ ) +int Init_System( reax_system *system, control_params *control, char * /*msg*/ ) { int i; reax_atom *atom; @@ -66,7 +66,7 @@ int Init_System( reax_system *system, control_params *control, char */*msg*/ ) int Init_Simulation_Data( reax_system *system, control_params *control, - simulation_data *data, char */*msg*/ ) + simulation_data *data, char * /*msg*/ ) { Reset_Simulation_Data( data, control->virial ); @@ -139,8 +139,8 @@ int Init_Workspace( reax_system *system, control_params *control, /************** setup communication data structures **************/ -int Init_MPI_Datatypes( reax_system *system, storage */*workspace*/, - mpi_datatypes *mpi_data, MPI_Comm comm, char */*msg*/ ) +int Init_MPI_Datatypes( reax_system *system, storage * /*workspace*/, + mpi_datatypes *mpi_data, MPI_Comm comm, char * /*msg*/ ) { /* setup the world */ @@ -151,8 +151,8 @@ int Init_MPI_Datatypes( reax_system *system, storage */*workspace*/, } int Init_Lists( reax_system *system, control_params *control, - simulation_data */*data*/, storage */*workspace*/, reax_list **lists, - mpi_datatypes *mpi_data, char */*msg*/ ) + simulation_data * /*data*/, storage * /*workspace*/, reax_list **lists, + mpi_datatypes *mpi_data, char * /*msg*/ ) { int i, total_hbonds, total_bonds, bond_cap, num_3body, cap_3body, Htop; int *hb_top, *bond_top; diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/USER-REAXC/reaxc_io_tools.cpp index 030912d4b7..b63fee2309 100644 --- a/src/USER-REAXC/reaxc_io_tools.cpp +++ b/src/USER-REAXC/reaxc_io_tools.cpp @@ -88,7 +88,7 @@ int Init_Output_Files( reax_system *system, control_params *control, /************************ close output files ************************/ int Close_Output_Files( reax_system *system, control_params *control, - output_controls *out_control, mpi_datatypes */*mpi_data*/ ) + output_controls *out_control, mpi_datatypes * /*mpi_data*/ ) { if( out_control->write_steps > 0 ) End_Traj( system->my_rank, out_control ); diff --git a/src/USER-REAXC/reaxc_lookup.cpp b/src/USER-REAXC/reaxc_lookup.cpp index 8cc1555c59..918099a631 100644 --- a/src/USER-REAXC/reaxc_lookup.cpp +++ b/src/USER-REAXC/reaxc_lookup.cpp @@ -151,7 +151,7 @@ void Complete_Cubic_Spline( const double *h, const double *f, double v0, double int Init_Lookup_Tables( reax_system *system, control_params *control, - storage *workspace, mpi_datatypes *mpi_data, char */*msg*/ ) + storage *workspace, mpi_datatypes *mpi_data, char * /*msg*/ ) { int i, j, r; int num_atom_types; diff --git a/src/USER-REAXC/reaxc_multi_body.cpp b/src/USER-REAXC/reaxc_multi_body.cpp index e599a3d86e..360a9431cf 100644 --- a/src/USER-REAXC/reaxc_multi_body.cpp +++ b/src/USER-REAXC/reaxc_multi_body.cpp @@ -32,7 +32,7 @@ void Atom_Energy( reax_system *system, control_params *control, simulation_data *data, storage *workspace, reax_list **lists, - output_controls */*out_control*/ ) + output_controls * /*out_control*/ ) { int i, j, pj, type_i, type_j; double Delta_lpcorr, dfvl; diff --git a/src/USER-REAXC/reaxc_nonbonded.cpp b/src/USER-REAXC/reaxc_nonbonded.cpp index 731b1602e9..b44632ec29 100644 --- a/src/USER-REAXC/reaxc_nonbonded.cpp +++ b/src/USER-REAXC/reaxc_nonbonded.cpp @@ -33,7 +33,7 @@ void vdW_Coulomb_Energy( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls */*out_control*/ ) + reax_list **lists, output_controls * /*out_control*/ ) { int i, j, pj, natoms; int start_i, end_i, flag; @@ -206,7 +206,7 @@ void vdW_Coulomb_Energy( reax_system *system, control_params *control, void Tabulated_vdW_Coulomb_Energy( reax_system *system,control_params *control, simulation_data *data, storage *workspace, reax_list **lists, - output_controls */*out_control*/ ) + output_controls * /*out_control*/ ) { int i, j, pj, r, natoms; int type_i, type_j, tmin, tmax; diff --git a/src/USER-REAXC/reaxc_torsion_angles.cpp b/src/USER-REAXC/reaxc_torsion_angles.cpp index d6f38d3765..2abfbde61d 100644 --- a/src/USER-REAXC/reaxc_torsion_angles.cpp +++ b/src/USER-REAXC/reaxc_torsion_angles.cpp @@ -41,7 +41,7 @@ double Calculate_Omega( rvec dvec_ij, double r_ij, three_body_interaction_data *p_jkl, rvec dcos_omega_di, rvec dcos_omega_dj, rvec dcos_omega_dk, rvec dcos_omega_dl, - output_controls */*out_control*/ ) + output_controls * /*out_control*/ ) { double unnorm_cos_omega, unnorm_sin_omega, omega; double sin_ijk, cos_ijk, sin_jkl, cos_jkl; diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp index f980120a59..c1f3e8ae8f 100644 --- a/src/USER-REAXC/reaxc_traj.cpp +++ b/src/USER-REAXC/reaxc_traj.cpp @@ -48,7 +48,7 @@ int Reallocate_Output_Buffer( output_controls *out_control, int req_space, } -void Write_Skip_Line( output_controls *out_control, mpi_datatypes */*mpi_data*/, +void Write_Skip_Line( output_controls *out_control, mpi_datatypes * /*mpi_data*/, int my_rank, int skip, int num_section ) { if( my_rank == MASTER_NODE ) @@ -259,7 +259,7 @@ int Write_Header( reax_system *system, control_params *control, } -int Write_Init_Desc( reax_system *system, control_params */*control*/, +int Write_Init_Desc( reax_system *system, control_params * /*control*/, output_controls *out_control, mpi_datatypes *mpi_data ) { int i, me, np, cnt, buffer_len, buffer_req; @@ -482,7 +482,7 @@ int Write_Frame_Header( reax_system *system, control_params *control, -int Write_Atoms( reax_system *system, control_params */*control*/, +int Write_Atoms( reax_system *system, control_params * /*control*/, output_controls *out_control, mpi_datatypes *mpi_data ) { int i, me, np, line_len, buffer_len, buffer_req, cnt; diff --git a/src/USER-REAXC/reaxc_valence_angles.cpp b/src/USER-REAXC/reaxc_valence_angles.cpp index 35342c9173..118735fbbd 100644 --- a/src/USER-REAXC/reaxc_valence_angles.cpp +++ b/src/USER-REAXC/reaxc_valence_angles.cpp @@ -76,7 +76,7 @@ void Calculate_dCos_Theta( rvec dvec_ji, double d_ji, rvec dvec_jk, double d_jk, void Valence_Angles( reax_system *system, control_params *control, simulation_data *data, storage *workspace, - reax_list **lists, output_controls */*out_control*/ ) + reax_list **lists, output_controls * /*out_control*/ ) { int i, j, pi, k, pk, t; int type_i, type_j, type_k; diff --git a/src/USER-SMD/atom_vec_smd.cpp b/src/USER-SMD/atom_vec_smd.cpp index 97a2fb0349..020284312b 100644 --- a/src/USER-SMD/atom_vec_smd.cpp +++ b/src/USER-SMD/atom_vec_smd.cpp @@ -208,7 +208,7 @@ void AtomVecSMD::copy(int i, int j, int delflag) { /* ---------------------------------------------------------------------- */ -int AtomVecSMD::pack_comm(int /*n*/, int */*list*/, double */*buf*/, int /*pbc_flag*/, int */*pbc*/) { +int AtomVecSMD::pack_comm(int /*n*/, int * /*list*/, double * /*buf*/, int /*pbc_flag*/, int * /*pbc*/) { error->one(FLERR, "atom vec tlsph can only be used with ghost velocities turned on"); return -1; } @@ -333,7 +333,7 @@ int AtomVecSMD::pack_comm_hybrid(int n, int *list, double *buf) { /* ---------------------------------------------------------------------- */ -void AtomVecSMD::unpack_comm(int /*n*/, int /*first*/, double */*buf*/) { +void AtomVecSMD::unpack_comm(int /*n*/, int /*first*/, double * /*buf*/) { error->one(FLERR, "atom vec tlsph can only be used with ghost velocities turned on"); } @@ -441,7 +441,7 @@ int AtomVecSMD::unpack_reverse_hybrid(int n, int *list, double *buf) { /* ---------------------------------------------------------------------- */ -int AtomVecSMD::pack_border(int /*n*/, int */*list*/, double */*buf*/, int /*pbc_flag*/, int */*pbc*/) { +int AtomVecSMD::pack_border(int /*n*/, int * /*list*/, double * /*buf*/, int /*pbc_flag*/, int * /*pbc*/) { error->one(FLERR, "atom vec tlsph can only be used with ghost velocities turned on"); return -1; } @@ -633,7 +633,7 @@ int AtomVecSMD::pack_border_hybrid(int n, int *list, double *buf) { /* ---------------------------------------------------------------------- */ -void AtomVecSMD::unpack_border(int /*n*/, int /*first*/, double */*buf*/) { +void AtomVecSMD::unpack_border(int /*n*/, int /*first*/, double * /*buf*/) { error->one(FLERR, "atom vec tlsph can only be used with ghost velocities turned on"); } @@ -1158,7 +1158,7 @@ void AtomVecSMD::pack_data(double **buf) { pack hybrid atom info for data file ------------------------------------------------------------------------- */ -int AtomVecSMD::pack_data_hybrid(int /*i*/, double */*buf*/) { +int AtomVecSMD::pack_data_hybrid(int /*i*/, double * /*buf*/) { error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd"); return -1; } @@ -1180,7 +1180,7 @@ void AtomVecSMD::write_data(FILE *fp, int n, double **buf) { write hybrid atom info to data file ------------------------------------------------------------------------- */ -int AtomVecSMD::write_data_hybrid(FILE */*fp*/, double */*buf*/) { +int AtomVecSMD::write_data_hybrid(FILE * /*fp*/, double * /*buf*/) { error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd"); return -1; } @@ -1203,7 +1203,7 @@ void AtomVecSMD::pack_vel(double **buf) { pack hybrid velocity info for data file ------------------------------------------------------------------------- */ -int AtomVecSMD::pack_vel_hybrid(int /*i*/, double */*buf*/) { +int AtomVecSMD::pack_vel_hybrid(int /*i*/, double * /*buf*/) { error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd"); return 0; } @@ -1222,7 +1222,7 @@ void AtomVecSMD::write_vel(FILE *fp, int n, double **buf) { write hybrid velocity info to data file ------------------------------------------------------------------------- */ -int AtomVecSMD::write_vel_hybrid(FILE */*fp*/, double */*buf*/) { +int AtomVecSMD::write_vel_hybrid(FILE * /*fp*/, double * /*buf*/) { error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd"); return 3; } diff --git a/src/USER-SMD/fix_smd_move_triangulated_surface.cpp b/src/USER-SMD/fix_smd_move_triangulated_surface.cpp index 1515849c53..b0944f1186 100644 --- a/src/USER-SMD/fix_smd_move_triangulated_surface.cpp +++ b/src/USER-SMD/fix_smd_move_triangulated_surface.cpp @@ -461,7 +461,7 @@ void FixSMDMoveTriSurf::reset_dt() { /* ---------------------------------------------------------------------- */ -int FixSMDMoveTriSurf::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { +int FixSMDMoveTriSurf::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int i, j, m; double **x0 = atom->x0; double **smd_data_9 = atom->smd_data_9; diff --git a/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp b/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp index 8af12acd99..a2813cc3ca 100644 --- a/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp +++ b/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp @@ -512,7 +512,7 @@ int FixSMD_TLSPH_ReferenceConfiguration::size_restart(int nlocal) { /* ---------------------------------------------------------------------- */ -int FixSMD_TLSPH_ReferenceConfiguration::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { +int FixSMD_TLSPH_ReferenceConfiguration::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int i, j, m; double *radius = atom->radius; double *vfrac = atom->vfrac; diff --git a/src/USER-SMD/pair_smd_tlsph.cpp b/src/USER-SMD/pair_smd_tlsph.cpp index f9922ef222..09fe3b1180 100644 --- a/src/USER-SMD/pair_smd_tlsph.cpp +++ b/src/USER-SMD/pair_smd_tlsph.cpp @@ -1839,7 +1839,7 @@ void *PairTlsph::extract(const char *str, int &/*i*/) { /* ---------------------------------------------------------------------- */ -int PairTlsph::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { +int PairTlsph::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int i, j, m; tagint *mol = atom->molecule; double *damage = atom->damage; diff --git a/src/USER-SMD/pair_smd_ulsph.cpp b/src/USER-SMD/pair_smd_ulsph.cpp index aa88e125d6..ff3720b2ff 100644 --- a/src/USER-SMD/pair_smd_ulsph.cpp +++ b/src/USER-SMD/pair_smd_ulsph.cpp @@ -1487,7 +1487,7 @@ double PairULSPH::memory_usage() { /* ---------------------------------------------------------------------- */ -int PairULSPH::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) { +int PairULSPH::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { double *vfrac = atom->vfrac; double *eff_plastic_strain = atom->eff_plastic_strain; int i, j, m; diff --git a/src/USER-SMTBQ/pair_smtbq.cpp b/src/USER-SMTBQ/pair_smtbq.cpp index 9eee7d0728..a8cce49749 100644 --- a/src/USER-SMTBQ/pair_smtbq.cpp +++ b/src/USER-SMTBQ/pair_smtbq.cpp @@ -3334,7 +3334,7 @@ void PairSMTBQ::groupQEqAllParallel_QEq() /* ---------------------------------------------------------------------- */ -void PairSMTBQ::Init_charge(int */*nQEq*/, int */*nQEqa*/, int */*nQEqc*/) +void PairSMTBQ::Init_charge(int * /*nQEq*/, int * /*nQEqa*/, int * /*nQEqc*/) { int ii,i,gp,itype; int *ilist,test[nteam],init[nteam]; @@ -3391,7 +3391,7 @@ void PairSMTBQ::Init_charge(int */*nQEq*/, int */*nQEqa*/, int */*nQEqc*/) * COMMUNICATION * ---------------------------------------------------------------------- */ -int PairSMTBQ::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int */*pbc*/) +int PairSMTBQ::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int i,j,m; diff --git a/src/USER-SPH/pair_sph_rhosum.cpp b/src/USER-SPH/pair_sph_rhosum.cpp index 9b5a535288..7a3c78efd0 100644 --- a/src/USER-SPH/pair_sph_rhosum.cpp +++ b/src/USER-SPH/pair_sph_rhosum.cpp @@ -288,7 +288,7 @@ double PairSPHRhoSum::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, /* ---------------------------------------------------------------------- */ int PairSPHRhoSum::pack_forward_comm(int n, int *list, double *buf, - int /*pbc_flag*/, int */*pbc*/) { + int /*pbc_flag*/, int * /*pbc*/) { int i, j, m; double *rho = atom->rho; diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index fc99137c3d..5b12b6def2 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -292,7 +292,7 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, return # of lines in section of data file labeled by keyword ------------------------------------------------------------------------- */ -bigint FixPropertyAtom::read_data_skip_lines(char */*keyword*/) +bigint FixPropertyAtom::read_data_skip_lines(char * /*keyword*/) { return atom->natoms; } diff --git a/src/improper_zero.cpp b/src/improper_zero.cpp index 86c724e17d..8a1fa529c6 100644 --- a/src/improper_zero.cpp +++ b/src/improper_zero.cpp @@ -99,13 +99,13 @@ void ImproperZero::coeff(int narg, char **arg) proc 0 writes out coeffs to restart file ------------------------------------------------------------------------- */ -void ImproperZero::write_restart(FILE */*fp*/) {} +void ImproperZero::write_restart(FILE * /*fp*/) {} /* ---------------------------------------------------------------------- proc 0 reads coeffs from restart file, bcasts them ------------------------------------------------------------------------- */ -void ImproperZero::read_restart(FILE */*fp*/) +void ImproperZero::read_restart(FILE * /*fp*/) { allocate(); for (int i = 1; i <= atom->nimpropertypes; i++) setflag[i] = 1; diff --git a/src/library.cpp b/src/library.cpp index 83e13efd08..245ae7ba84 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -336,7 +336,7 @@ void lammps_free(void *ptr) customize by adding names ------------------------------------------------------------------------- */ -int lammps_extract_setting(void */*ptr*/, char *name) +int lammps_extract_setting(void * /*ptr*/, char *name) { if (strcmp(name,"bigint") == 0) return sizeof(bigint); if (strcmp(name,"tagint") == 0) return sizeof(tagint); diff --git a/src/rcb.cpp b/src/rcb.cpp index 644f879c73..630cef309a 100644 --- a/src/rcb.cpp +++ b/src/rcb.cpp @@ -1108,7 +1108,7 @@ void RCB::compute_old(int dimension, int n, double **x, double *wt, merge of each component of an RCB bounding box ------------------------------------------------------------------------- */ -void box_merge(void *in, void *inout, int */*len*/, MPI_Datatype */*dptr*/) +void box_merge(void *in, void *inout, int * /*len*/, MPI_Datatype * /*dptr*/) { RCB::BBox *box1 = (RCB::BBox *) in; @@ -1138,7 +1138,7 @@ void box_merge(void *in, void *inout, int */*len*/, MPI_Datatype */*dptr*/) all procs must get same proclo,prochi ------------------------------------------------------------------------- */ -void median_merge(void *in, void *inout, int */*len*/, MPI_Datatype */*dptr*/) +void median_merge(void *in, void *inout, int * /*len*/, MPI_Datatype * /*dptr*/) { RCB::Median *med1 = (RCB::Median *) in; -- GitLab From a404da02d54d0c537a5c532eb545972ecb531f1a Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 27 Aug 2018 22:36:38 -0400 Subject: [PATCH 617/675] Use LMP_UNUSED_PARAM macro instead of existing workarounds --- src/image.cpp | 6 ++++-- src/lmptype.h | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/image.cpp b/src/image.cpp index 1e428921a2..3df167bbf6 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -992,7 +992,6 @@ void Image::compute_SSAO() void Image::write_JPG(FILE *fp) { - (void)(fp); // suppress unused parameter warning #ifdef LAMMPS_JPEG struct jpeg_compress_struct cinfo; struct jpeg_error_mgr jerr; @@ -1018,6 +1017,8 @@ void Image::write_JPG(FILE *fp) jpeg_finish_compress(&cinfo); jpeg_destroy_compress(&cinfo); +#else + LMP_UNUSED_PARAM(fp); #endif } @@ -1025,7 +1026,6 @@ void Image::write_JPG(FILE *fp) void Image::write_PNG(FILE *fp) { - (void)(fp); // suppress unused parameter warning #ifdef LAMMPS_PNG png_structp png_ptr; png_infop info_ptr; @@ -1076,6 +1076,8 @@ void Image::write_PNG(FILE *fp) png_destroy_write_struct(&png_ptr, &info_ptr); delete[] row_pointers; +#else + LMP_UNUSED_PARAM(fp); #endif } diff --git a/src/lmptype.h b/src/lmptype.h index e5c202aa87..7c3dbc1c3d 100644 --- a/src/lmptype.h +++ b/src/lmptype.h @@ -213,6 +213,8 @@ typedef int bigint; #include "lmpwindows.h" #endif -#define LMP_UNUSED_PARAM(x) (void)x +// suppress unused parameter warning + +#define LMP_UNUSED_PARAM(x) (void)(x) #endif -- GitLab From cb318f55e95e2cd237d4830ea7b3552d509b87ad Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 28 Aug 2018 10:11:16 -0400 Subject: [PATCH 618/675] Add missing or lost cmake changes --- cmake/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 076f1025dc..b0da29db26 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -195,7 +195,7 @@ set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM) set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU) -set(OTHER_PACKAGES CORESHELL QEQ) +set(OTHER_PACKAGES CORESHELL QEQ MESSAGE) foreach(PKG ${DEFAULT_PACKAGES}) option(PKG_${PKG} "Build ${PKG} Package" OFF) endforeach() @@ -1198,7 +1198,7 @@ endif() ############################################################################### # Print package summary ############################################################################### -foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES}) +foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES}) if(PKG_${PKG}) message(STATUS "Building package: ${PKG}") endif() -- GitLab From eb850c53264d83a5b11f79cd13f0d5ece2c34482 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Aug 2018 15:17:31 -0400 Subject: [PATCH 619/675] silence compiler warning about unused static function in shared include file --- src/USER-CGSDK/lj_sdk_common.h | 2 ++ src/USER-CGSDK/pair_lj_sdk.cpp | 1 + src/USER-CGSDK/pair_lj_sdk_coul_long.cpp | 1 + 3 files changed, 4 insertions(+) diff --git a/src/USER-CGSDK/lj_sdk_common.h b/src/USER-CGSDK/lj_sdk_common.h index c1f2cf215a..055d6228fc 100644 --- a/src/USER-CGSDK/lj_sdk_common.h +++ b/src/USER-CGSDK/lj_sdk_common.h @@ -27,6 +27,7 @@ namespace LJSDKParms { // LJ type flags. list of supported LJ exponent combinations enum {LJ_NOT_SET=0, LJ9_6, LJ12_4, LJ12_6, NUM_LJ_TYPES}; +#if defined(LMP_NEED_FIND_SDK_LJ_TYPE) static int find_lj_type(const char *label, const char * const * const list) { for (int i=0; i < NUM_LJ_TYPES; ++i) @@ -34,6 +35,7 @@ namespace LJSDKParms { return LJ_NOT_SET; } +#endif static const char * const lj_type_list[] = {"none", "lj9_6", "lj12_4", "lj12_6"}; static const double lj_prefact[] = {0.0, 6.75, 2.59807621135332, 4.0}; diff --git a/src/USER-CGSDK/pair_lj_sdk.cpp b/src/USER-CGSDK/pair_lj_sdk.cpp index cbcba7f6b2..d6e755aaab 100644 --- a/src/USER-CGSDK/pair_lj_sdk.cpp +++ b/src/USER-CGSDK/pair_lj_sdk.cpp @@ -33,6 +33,7 @@ #include "memory.h" #include "error.h" +#define LMP_NEED_FIND_SDK_LJ_TYPE 1 #include "lj_sdk_common.h" using namespace LAMMPS_NS; diff --git a/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp b/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp index 1d93363e20..e1be18c6a8 100644 --- a/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp +++ b/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp @@ -34,6 +34,7 @@ #include "memory.h" #include "error.h" +#define LMP_NEED_FIND_SDK_LJ_TYPE 1 #include "lj_sdk_common.h" using namespace LAMMPS_NS; -- GitLab From 03654b2b7f108064625961b41049c8f6ee24dcce Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 28 Aug 2018 15:19:07 -0400 Subject: [PATCH 620/675] rename define to better fit LAMMPS' logic --- src/USER-CGSDK/lj_sdk_common.h | 2 +- src/USER-CGSDK/pair_lj_sdk.cpp | 2 +- src/USER-CGSDK/pair_lj_sdk_coul_long.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/USER-CGSDK/lj_sdk_common.h b/src/USER-CGSDK/lj_sdk_common.h index 055d6228fc..51dcb4c2b7 100644 --- a/src/USER-CGSDK/lj_sdk_common.h +++ b/src/USER-CGSDK/lj_sdk_common.h @@ -27,7 +27,7 @@ namespace LJSDKParms { // LJ type flags. list of supported LJ exponent combinations enum {LJ_NOT_SET=0, LJ9_6, LJ12_4, LJ12_6, NUM_LJ_TYPES}; -#if defined(LMP_NEED_FIND_SDK_LJ_TYPE) +#if defined(LMP_NEED_SDK_FIND_LJ_TYPE) static int find_lj_type(const char *label, const char * const * const list) { for (int i=0; i < NUM_LJ_TYPES; ++i) diff --git a/src/USER-CGSDK/pair_lj_sdk.cpp b/src/USER-CGSDK/pair_lj_sdk.cpp index d6e755aaab..3404beb58a 100644 --- a/src/USER-CGSDK/pair_lj_sdk.cpp +++ b/src/USER-CGSDK/pair_lj_sdk.cpp @@ -33,7 +33,7 @@ #include "memory.h" #include "error.h" -#define LMP_NEED_FIND_SDK_LJ_TYPE 1 +#define LMP_NEED_SDK_FIND_LJ_TYPE 1 #include "lj_sdk_common.h" using namespace LAMMPS_NS; diff --git a/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp b/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp index e1be18c6a8..c51235518b 100644 --- a/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp +++ b/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp @@ -34,7 +34,7 @@ #include "memory.h" #include "error.h" -#define LMP_NEED_FIND_SDK_LJ_TYPE 1 +#define LMP_NEED_SDK_FIND_LJ_TYPE 1 #include "lj_sdk_common.h" using namespace LAMMPS_NS; -- GitLab From 30d45e6773e5eca5065c76c25ad8e0090b9a2cfd Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 28 Aug 2018 15:22:43 -0400 Subject: [PATCH 621/675] Ensure MESSAGE files are added to CMake compilation --- cmake/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index b0da29db26..f22df48afe 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -188,14 +188,14 @@ if(ENABLE_TESTING) endif(ENABLE_TESTING) set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR - KSPACE MANYBODY MC MEAM MISC MOLECULE PERI REAX REPLICA RIGID SHOCK SPIN SNAP + KSPACE MANYBODY MC MEAM MESSAGE MISC MOLECULE PERI REAX REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM) set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU) -set(OTHER_PACKAGES CORESHELL QEQ MESSAGE) +set(OTHER_PACKAGES CORESHELL QEQ) foreach(PKG ${DEFAULT_PACKAGES}) option(PKG_${PKG} "Build ${PKG} Package" OFF) endforeach() -- GitLab From 83d453e78bb6fdf52ab47d61a6e411c6e480b156 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Tue, 28 Aug 2018 17:08:52 -0600 Subject: [PATCH 622/675] updates to MD protocol and examples --- examples/COUPLE/lammps_mc/README | 20 +-- ...Jul18.zmq.g++.1 => log.28Aug18.file.g++.1} | 40 +++--- ...ul18.file.g++.4 => log.28Aug18.file.g++.4} | 40 +++--- ...Jul18.file.g++.1 => log.28Aug18.zmq.g++.1} | 24 ++-- ...3Jul18.zmq.g++.4 => log.28Aug18.zmq.g++.4} | 36 ++--- examples/COUPLE/lammps_mc/mc.cpp | 7 +- examples/COUPLE/lammps_mc/mc.h | 4 +- examples/COUPLE/lammps_vasp/README | 3 +- examples/COUPLE/lammps_vasp/vasp_wrap.py | 117 ++++++++++++---- examples/message/README | 17 ++- examples/message/Script.sh | 55 ++++++++ examples/message/in.message | 2 + examples/message/in.message.client | 3 + examples/message/in.message.tilt | 30 ++++ examples/message/in.message.tilt.client | 42 ++++++ examples/message/in.message.tilt.server | 31 +++++ ... => log.28Aug18.message.client.file.g++.1} | 21 +-- ... => log.28Aug18.message.client.file.g++.2} | 23 ++-- ...> log.28Aug18.message.client.mpione.g++.1} | 21 +-- ...> log.28Aug18.message.client.mpione.g++.2} | 23 ++-- ...> log.28Aug18.message.client.mpitwo.g++.1} | 25 ++-- ...> log.28Aug18.message.client.mpitwo.g++.2} | 25 ++-- ...1 => log.28Aug18.message.client.zmq.g++.1} | 25 ++-- ...2 => log.28Aug18.message.client.zmq.g++.2} | 25 ++-- ...essage.g++.1 => log.28Aug18.message.g++.1} | 24 ++-- ...essage.g++.4 => log.28Aug18.message.g++.4} | 24 ++-- ... => log.28Aug18.message.server.file.g++.1} | 2 +- ... => log.28Aug18.message.server.file.g++.4} | 2 +- ...> log.28Aug18.message.server.mpione.g++.1} | 2 +- ...> log.28Aug18.message.server.mpione.g++.4} | 2 +- ...> log.28Aug18.message.server.mpitwo.g++.1} | 2 +- ...> log.28Aug18.message.server.mpitwo.g++.4} | 2 +- ...1 => log.28Aug18.message.server.zmq.g++.1} | 2 +- ...4 => log.28Aug18.message.server.zmq.g++.4} | 2 +- ...g.28Aug18.message.tilt.client.mpione.g++.1 | 130 ++++++++++++++++++ ...g.28Aug18.message.tilt.client.mpione.g++.2 | 130 ++++++++++++++++++ ...g.28Aug18.message.tilt.client.mpitwo.g++.1 | 130 ++++++++++++++++++ ...g.28Aug18.message.tilt.client.mpitwo.g++.2 | 130 ++++++++++++++++++ .../log.28Aug18.message.tilt.client.zmq.g++.1 | 130 ++++++++++++++++++ .../log.28Aug18.message.tilt.client.zmq.g++.2 | 130 ++++++++++++++++++ .../message/log.28Aug18.message.tilt.g++.1 | 129 +++++++++++++++++ .../message/log.28Aug18.message.tilt.g++.4 | 129 +++++++++++++++++ ...g.28Aug18.message.tilt.server.mpione.g++.1 | 48 +++++++ ...g.28Aug18.message.tilt.server.mpione.g++.4 | 48 +++++++ ...g.28Aug18.message.tilt.server.mpitwo.g++.1 | 48 +++++++ ...g.28Aug18.message.tilt.server.mpitwo.g++.4 | 48 +++++++ .../log.28Aug18.message.tilt.server.zmq.g++.1 | 48 +++++++ .../log.28Aug18.message.tilt.server.zmq.g++.4 | 48 +++++++ src/MESSAGE/fix_client_md.cpp | 7 +- src/MESSAGE/fix_client_md.h | 10 +- src/MESSAGE/server_md.cpp | 17 +-- src/MESSAGE/server_md.h | 3 +- 52 files changed, 1847 insertions(+), 239 deletions(-) rename examples/COUPLE/lammps_mc/{log.23Jul18.zmq.g++.1 => log.28Aug18.file.g++.1} (91%) rename examples/COUPLE/lammps_mc/{log.23Jul18.file.g++.4 => log.28Aug18.file.g++.4} (88%) rename examples/COUPLE/lammps_mc/{log.23Jul18.file.g++.1 => log.28Aug18.zmq.g++.1} (95%) rename examples/COUPLE/lammps_mc/{log.23Jul18.zmq.g++.4 => log.28Aug18.zmq.g++.4} (90%) create mode 100644 examples/message/Script.sh create mode 100644 examples/message/in.message.tilt create mode 100644 examples/message/in.message.tilt.client create mode 100644 examples/message/in.message.tilt.server rename examples/message/{log.23Jul18.message.client.file.g++.1 => log.28Aug18.message.client.file.g++.1} (81%) rename examples/message/{log.23Jul18.message.client.file.g++.2 => log.28Aug18.message.client.file.g++.2} (78%) rename examples/message/{log.23Jul18.message.client.mpione.g++.1 => log.28Aug18.message.client.mpione.g++.1} (79%) rename examples/message/{log.23Jul18.message.client.mpione.g++.2 => log.28Aug18.message.client.mpione.g++.2} (77%) rename examples/message/{log.23Jul18.message.client.mpitwo.g++.1 => log.28Aug18.message.client.mpitwo.g++.1} (77%) rename examples/message/{log.23Jul18.message.client.mpitwo.g++.2 => log.28Aug18.message.client.mpitwo.g++.2} (76%) rename examples/message/{log.23Jul18.message.client.zmq.g++.1 => log.28Aug18.message.client.zmq.g++.1} (76%) rename examples/message/{log.23Jul18.message.client.zmq.g++.2 => log.28Aug18.message.client.zmq.g++.2} (76%) rename examples/message/{log.23Jul18.message.g++.1 => log.28Aug18.message.g++.1} (76%) rename examples/message/{log.23Jul18.message.g++.4 => log.28Aug18.message.g++.4} (76%) rename examples/message/{log.23Jul18.message.server.file.g++.1 => log.28Aug18.message.server.file.g++.1} (98%) rename examples/message/{log.23Jul18.message.server.file.g++.4 => log.28Aug18.message.server.file.g++.4} (98%) rename examples/message/{log.23Jul18.message.server.mpione.g++.1 => log.28Aug18.message.server.mpione.g++.1} (98%) rename examples/message/{log.23Jul18.message.server.mpione.g++.4 => log.28Aug18.message.server.mpione.g++.4} (98%) rename examples/message/{log.23Jul18.message.server.mpitwo.g++.1 => log.28Aug18.message.server.mpitwo.g++.1} (98%) rename examples/message/{log.23Jul18.message.server.mpitwo.g++.4 => log.28Aug18.message.server.mpitwo.g++.4} (98%) rename examples/message/{log.23Jul18.message.server.zmq.g++.1 => log.28Aug18.message.server.zmq.g++.1} (98%) rename examples/message/{log.23Jul18.message.server.zmq.g++.4 => log.28Aug18.message.server.zmq.g++.4} (98%) create mode 100644 examples/message/log.28Aug18.message.tilt.client.mpione.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.client.mpione.g++.2 create mode 100644 examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.2 create mode 100644 examples/message/log.28Aug18.message.tilt.client.zmq.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.client.zmq.g++.2 create mode 100644 examples/message/log.28Aug18.message.tilt.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.g++.4 create mode 100644 examples/message/log.28Aug18.message.tilt.server.mpione.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.server.mpione.g++.4 create mode 100644 examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.4 create mode 100644 examples/message/log.28Aug18.message.tilt.server.zmq.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.server.zmq.g++.4 diff --git a/examples/COUPLE/lammps_mc/README b/examples/COUPLE/lammps_mc/README index 512f7304de..af4d86f92f 100644 --- a/examples/COUPLE/lammps_mc/README +++ b/examples/COUPLE/lammps_mc/README @@ -26,21 +26,25 @@ Build LAMMPS and the MC client code First, build LAMMPS with its MESSAGE package installed: -cd lammps/lib/message -python Install.py -m -z # build CSlib with MPI and ZMQ support -cd lammps/src -make yes-message -make mpi +% cd lammps/lib/message +% python Install.py -m -z # build CSlib with MPI and ZMQ support +% python Install.py -s -z # also build serial lib and ZMQ support +% cd lammps/src +% make yes-message +% make mpi You can leave off the -z if you do not have ZMQ on your system. -Next build the MC client code: +Next build the MC client code, which will link with the serial CSlib. First edit the Makefile in this dir. The CSLIB variable should be the path to where the LAMMPS lib/message dir is on your system. If you built the CSlib without ZMQ support you will also need to -comment/uncomment two lines. Then you can just type "make" and you -should get an "mc" executable. +comment/uncomment two lines. Then you can just type + +% make + +and you should get an "mc" executable. ---------------- diff --git a/examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.1 b/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.1 similarity index 91% rename from examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.1 rename to examples/COUPLE/lammps_mc/log.28Aug18.file.g++.1 index 18af66d587..0d67c89cf1 100644 --- a/examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.1 +++ b/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.1 @@ -1,10 +1,10 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones Monte Carlo server script variable mode index file if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555" -message server mc zmq *:5555 +message server mc file tmp.couple variable x index 5 variable y index 5 variable z index 5 @@ -24,7 +24,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.000612974 secs + Time spent = 0.000649929 secs mass 1 1.0 pair_style lj/cut 2.5 @@ -58,7 +58,7 @@ Step Temp E_pair E_mol TotEng Press 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms -46.6% CPU use with 1 MPI tasks x no OpenMP threads +93.2% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -85,9 +85,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes Step Temp E_pair E_mol TotEng Press 0 1.44 -6.7723127 0 -4.6166327 -5.015531 -Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms +Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms -157.3% CPU use with 1 MPI tasks x no OpenMP threads +93.2% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -97,7 +97,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.907e-06 | | |100.00 +Other | | 2.146e-06 | | |100.00 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -119,9 +119,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes Step Temp E_pair E_mol TotEng Press 100 0.7565013 -5.7565768 0 -4.6240944 0.22436405 -Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms +Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms -209.7% CPU use with 1 MPI tasks x no OpenMP threads +157.3% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -131,7 +131,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 9.537e-07 | | |100.00 +Other | | 1.907e-06 | | |100.00 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -153,9 +153,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes Step Temp E_pair E_mol TotEng Press 200 0.73505651 -5.7181381 0 -4.6177585 0.37629943 -Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms +Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms -209.7% CPU use with 1 MPI tasks x no OpenMP threads +139.8% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -165,7 +165,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 9.537e-07 | | |100.00 +Other | | 2.146e-06 | | |100.00 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -187,9 +187,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes Step Temp E_pair E_mol TotEng Press 300 0.76300831 -5.768304 0 -4.6260806 0.15954325 -Loop time of 0 on 1 procs for 0 steps with 500 atoms +Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms -0.0% CPU use with 1 MPI tasks x no OpenMP threads +139.8% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -199,7 +199,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0 | | | 0.00 +Other | | 2.146e-06 | | |100.00 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -221,9 +221,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes Step Temp E_pair E_mol TotEng Press 400 0.72469448 -5.7077332 0 -4.6228655 0.47669832 -Loop time of 0 on 1 procs for 0 steps with 500 atoms +Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms -0.0% CPU use with 1 MPI tasks x no OpenMP threads +157.3% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -233,7 +233,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0 | | | 0.00 +Other | | 1.907e-06 | | |100.00 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -251,4 +251,4 @@ Step Temp E_pair E_mol TotEng Press 400 0.72469448 -5.713463 0 -4.6285954 0.44859547 450 0.75305735 -5.7518283 0 -4.6245015 0.34658587 500 0.73092571 -5.7206337 0 -4.6264379 0.43715809 -Total wall time: 0:00:00 +Total wall time: 0:00:02 diff --git a/examples/COUPLE/lammps_mc/log.23Jul18.file.g++.4 b/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.4 similarity index 88% rename from examples/COUPLE/lammps_mc/log.23Jul18.file.g++.4 rename to examples/COUPLE/lammps_mc/log.28Aug18.file.g++.4 index 3b73e52595..2ae51d2461 100644 --- a/examples/COUPLE/lammps_mc/log.23Jul18.file.g++.4 +++ b/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones Monte Carlo server script variable mode index file @@ -24,7 +24,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 2 by 2 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.000604868 secs + Time spent = 0.000592947 secs mass 1 1.0 pair_style lj/cut 2.5 @@ -56,9 +56,9 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes Step Temp E_pair E_mol TotEng Press 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 -Loop time of 3.09944e-06 on 4 procs for 0 steps with 500 atoms +Loop time of 3.8147e-06 on 4 procs for 0 steps with 500 atoms -72.6% CPU use with 4 MPI tasks x no OpenMP threads +59.0% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -68,7 +68,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 3.099e-06 | | |100.00 +Other | | 3.815e-06 | | |100.00 Nlocal: 125 ave 125 max 125 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -85,9 +85,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes Step Temp E_pair E_mol TotEng Press 0 1.44 -6.7723127 0 -4.6166327 -5.015531 -Loop time of 3.33786e-06 on 4 procs for 0 steps with 500 atoms +Loop time of 3.03984e-06 on 4 procs for 0 steps with 500 atoms -119.8% CPU use with 4 MPI tasks x no OpenMP threads +106.9% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -97,7 +97,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 3.338e-06 | | |100.00 +Other | | 3.04e-06 | | |100.00 Nlocal: 125 ave 125 max 125 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -119,9 +119,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes Step Temp E_pair E_mol TotEng Press 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291 -Loop time of 3.51667e-06 on 4 procs for 0 steps with 500 atoms +Loop time of 3.75509e-06 on 4 procs for 0 steps with 500 atoms -113.7% CPU use with 4 MPI tasks x no OpenMP threads +113.2% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -131,7 +131,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 3.517e-06 | | |100.00 +Other | | 3.755e-06 | | |100.00 Nlocal: 125 ave 126 max 124 min Histogram: 2 0 0 0 0 0 0 0 0 2 @@ -153,9 +153,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes Step Temp E_pair E_mol TotEng Press 200 0.73111257 -5.7143906 0 -4.6199151 0.37126023 -Loop time of 2.92063e-06 on 4 procs for 0 steps with 500 atoms +Loop time of 2.563e-06 on 4 procs for 0 steps with 500 atoms -119.8% CPU use with 4 MPI tasks x no OpenMP threads +117.1% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -165,7 +165,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 2.921e-06 | | |100.00 +Other | | 2.563e-06 | | |100.00 Nlocal: 125 ave 126 max 123 min Histogram: 1 0 0 0 0 0 1 0 0 2 @@ -187,9 +187,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes Step Temp E_pair E_mol TotEng Press 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628 -Loop time of 3.39746e-06 on 4 procs for 0 steps with 500 atoms +Loop time of 3.99351e-06 on 4 procs for 0 steps with 500 atoms -117.7% CPU use with 4 MPI tasks x no OpenMP threads +93.9% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -199,7 +199,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 3.397e-06 | | |100.00 +Other | | 3.994e-06 | | |100.00 Nlocal: 125 ave 128 max 121 min Histogram: 1 0 0 0 0 1 0 1 0 1 @@ -221,9 +221,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes Step Temp E_pair E_mol TotEng Press 400 0.7319047 -5.7158168 0 -4.6201554 0.49192039 -Loop time of 3.39746e-06 on 4 procs for 0 steps with 500 atoms +Loop time of 3.57628e-06 on 4 procs for 0 steps with 500 atoms -117.7% CPU use with 4 MPI tasks x no OpenMP threads +111.8% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -233,7 +233,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 3.397e-06 | | |100.00 +Other | | 3.576e-06 | | |100.00 Nlocal: 125 ave 132 max 118 min Histogram: 1 0 0 0 0 2 0 0 0 1 diff --git a/examples/COUPLE/lammps_mc/log.23Jul18.file.g++.1 b/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.1 similarity index 95% rename from examples/COUPLE/lammps_mc/log.23Jul18.file.g++.1 rename to examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.1 index 34e016e0c1..0565487bc6 100644 --- a/examples/COUPLE/lammps_mc/log.23Jul18.file.g++.1 +++ b/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.1 @@ -1,10 +1,10 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones Monte Carlo server script variable mode index file if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555" -message server mc file tmp.couple +message server mc zmq *:5555 variable x index 5 variable y index 5 variable z index 5 @@ -24,7 +24,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.000633001 secs + Time spent = 0.000741005 secs mass 1 1.0 pair_style lj/cut 2.5 @@ -85,9 +85,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes Step Temp E_pair E_mol TotEng Press 0 1.44 -6.7723127 0 -4.6166327 -5.015531 -Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms +Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms -46.6% CPU use with 1 MPI tasks x no OpenMP threads +52.4% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -97,7 +97,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 2.146e-06 | | |100.00 +Other | | 1.907e-06 | | |100.00 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -119,9 +119,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes Step Temp E_pair E_mol TotEng Press 100 0.7565013 -5.7565768 0 -4.6240944 0.22436405 -Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms +Loop time of 1.19209e-06 on 1 procs for 0 steps with 500 atoms -157.3% CPU use with 1 MPI tasks x no OpenMP threads +83.9% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -131,7 +131,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.907e-06 | | |100.00 +Other | | 1.192e-06 | | |100.00 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -189,7 +189,7 @@ Step Temp E_pair E_mol TotEng Press 300 0.76300831 -5.768304 0 -4.6260806 0.15954325 Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms -314.6% CPU use with 1 MPI tasks x no OpenMP threads +104.9% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -223,7 +223,7 @@ Step Temp E_pair E_mol TotEng Press 400 0.72469448 -5.7077332 0 -4.6228655 0.47669832 Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms -314.6% CPU use with 1 MPI tasks x no OpenMP threads +209.7% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -251,4 +251,4 @@ Step Temp E_pair E_mol TotEng Press 400 0.72469448 -5.713463 0 -4.6285954 0.44859547 450 0.75305735 -5.7518283 0 -4.6245015 0.34658587 500 0.73092571 -5.7206337 0 -4.6264379 0.43715809 -Total wall time: 0:00:02 +Total wall time: 0:00:00 diff --git a/examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.4 b/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.4 similarity index 90% rename from examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.4 rename to examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.4 index 480566635f..e74d03235d 100644 --- a/examples/COUPLE/lammps_mc/log.23Jul18.zmq.g++.4 +++ b/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones Monte Carlo server script variable mode index file @@ -24,7 +24,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 2 by 2 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.000566006 secs + Time spent = 0.000576019 secs mass 1 1.0 pair_style lj/cut 2.5 @@ -56,9 +56,9 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes Step Temp E_pair E_mol TotEng Press 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 -Loop time of 4.29153e-06 on 4 procs for 0 steps with 500 atoms +Loop time of 4.76837e-06 on 4 procs for 0 steps with 500 atoms -99.0% CPU use with 4 MPI tasks x no OpenMP threads +89.1% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -68,7 +68,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 4.292e-06 | | |100.00 +Other | | 4.768e-06 | | |100.00 Nlocal: 125 ave 125 max 125 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -85,9 +85,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes Step Temp E_pair E_mol TotEng Press 0 1.44 -6.7723127 0 -4.6166327 -5.015531 -Loop time of 3.57628e-06 on 4 procs for 0 steps with 500 atoms +Loop time of 3.45707e-06 on 4 procs for 0 steps with 500 atoms -97.9% CPU use with 4 MPI tasks x no OpenMP threads +94.0% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -97,7 +97,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 3.576e-06 | | |100.00 +Other | | 3.457e-06 | | |100.00 Nlocal: 125 ave 125 max 125 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -119,9 +119,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes Step Temp E_pair E_mol TotEng Press 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291 -Loop time of 3.09944e-06 on 4 procs for 0 steps with 500 atoms +Loop time of 3.03984e-06 on 4 procs for 0 steps with 500 atoms -121.0% CPU use with 4 MPI tasks x no OpenMP threads +115.1% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -131,7 +131,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 3.099e-06 | | |100.00 +Other | | 3.04e-06 | | |100.00 Nlocal: 125 ave 126 max 124 min Histogram: 2 0 0 0 0 0 0 0 0 2 @@ -153,9 +153,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes Step Temp E_pair E_mol TotEng Press 200 0.73111257 -5.7143906 0 -4.6199151 0.37126023 -Loop time of 2.14577e-06 on 4 procs for 0 steps with 500 atoms +Loop time of 2.38419e-06 on 4 procs for 0 steps with 500 atoms -139.8% CPU use with 4 MPI tasks x no OpenMP threads +125.8% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -165,7 +165,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 2.146e-06 | | |100.00 +Other | | 2.384e-06 | | |100.00 Nlocal: 125 ave 126 max 123 min Histogram: 1 0 0 0 0 0 1 0 0 2 @@ -187,9 +187,9 @@ run 0 Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes Step Temp E_pair E_mol TotEng Press 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628 -Loop time of 1.90735e-06 on 4 procs for 0 steps with 500 atoms +Loop time of 2.44379e-06 on 4 procs for 0 steps with 500 atoms -157.3% CPU use with 4 MPI tasks x no OpenMP threads +112.5% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -199,7 +199,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00 Comm | 0 | 0 | 0 | 0.0 | 0.00 Output | 0 | 0 | 0 | 0.0 | 0.00 Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 1.907e-06 | | |100.00 +Other | | 2.444e-06 | | |100.00 Nlocal: 125 ave 128 max 121 min Histogram: 1 0 0 0 0 1 0 1 0 1 @@ -223,7 +223,7 @@ Step Temp E_pair E_mol TotEng Press 400 0.7319047 -5.7158168 0 -4.6201554 0.49192039 Loop time of 2.14577e-06 on 4 procs for 0 steps with 500 atoms -151.5% CPU use with 4 MPI tasks x no OpenMP threads +139.8% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total diff --git a/examples/COUPLE/lammps_mc/mc.cpp b/examples/COUPLE/lammps_mc/mc.cpp index e62a786ac8..7c2e2ce039 100644 --- a/examples/COUPLE/lammps_mc/mc.cpp +++ b/examples/COUPLE/lammps_mc/mc.cpp @@ -92,9 +92,10 @@ CSlib *cs_create(char *mode, char *arg) // MC class // ---------------------------------------------------------------------- -MC::MC(char *mcfile, CSlib *cs_caller) +MC::MC(char *mcfile, void *cs_caller) +//MC::MC(char *mcfile, CSlib *cs_caller) { - cs = cs_caller; + cs_void = cs_caller; // setup MC params @@ -125,6 +126,8 @@ void MC::run() enum{NATOMS=1,EINIT,DISPLACE,ACCEPT,RUN}; + CSlib *cs = (CSlib *) cs_void; + // one-time request for atom count from MD // allocate 1d coord buffer diff --git a/examples/COUPLE/lammps_mc/mc.h b/examples/COUPLE/lammps_mc/mc.h index afeb3d06ab..e9d88523fc 100644 --- a/examples/COUPLE/lammps_mc/mc.h +++ b/examples/COUPLE/lammps_mc/mc.h @@ -14,7 +14,7 @@ class MC { int naccept; // # of accepted MC events int nattempt; // # of attempted MC events - MC(char *, class CSlib *); + MC(char *, void *); ~MC(); void run(); @@ -32,7 +32,7 @@ class MC { int seed; // RNG seed class RanPark *random; - class CSlib *cs; // messaging library + void *cs_void; // messaging library void options(char *); }; diff --git a/examples/COUPLE/lammps_vasp/README b/examples/COUPLE/lammps_vasp/README index 91a85975e6..b301bd779f 100644 --- a/examples/COUPLE/lammps_vasp/README +++ b/examples/COUPLE/lammps_vasp/README @@ -40,7 +40,8 @@ You can run the vasp_wrap.py script as-is to test that the coupling between it and LAMMPS is functional. This will use the included vasprun.xml file output by a previous VASP run. -But the as-is version of vasp_wrap.py will not attempt to run VASP. +But note that the as-is version of vasp_wrap.py will not attempt to +run VASP. To do this, you must edit the 1st vaspcmd line at the top of vasp_wrapper.py to be the launch command needed to run VASP on your diff --git a/examples/COUPLE/lammps_vasp/vasp_wrap.py b/examples/COUPLE/lammps_vasp/vasp_wrap.py index 30d449e31c..1e2c52aa46 100644 --- a/examples/COUPLE/lammps_vasp/vasp_wrap.py +++ b/examples/COUPLE/lammps_vasp/vasp_wrap.py @@ -13,18 +13,25 @@ # creates VASP inputs # invokes VASP to calculate self-consistent energy of that config # reads VASP outputs -# sends message with energy, forces, virial to client +# sends message with energy, forces, pressure to client # NOTES: # check to insure basic VASP input files are in place? -# worry about archiving VASP input/output in special filenames or dirs? -# how to get ordering (by type) of VASP atoms vs LAMMPS atoms -# create one initial permutation vector? +# could archive VASP input/output in special filenames or dirs? +# need to check that POTCAR file is consistent with atom ordering? # could make syntax for launching VASP more flexible # e.g. command-line arg for # of procs +# detect if VASP had an error and return ERROR field, e.g. non-convergence ?? -import sys,subprocess -import xml.etree.ElementTree as ET +from __future__ import print_function +import sys + +version = sys.version_info[0] +if version == 3: + sys.exit("The CSlib python wrapper does not yet support python 3") + +import subprocess +import xml.etree.ElementTree as ET from cslib import CSlib # comment out 2nd line once 1st line is correct for your system @@ -36,8 +43,8 @@ vaspcmd = "touch tmp" # enums matching FixClientMD class in LAMMPS SETUP,STEP = range(1,2+1) -UNITS,DIM,NATOMS,NTYPES,BOXLO,BOXHI,BOXTILT,TYPES,COORDS,CHARGE = range(1,10+1) -FORCES,ENERGY,VIRIAL = range(1,3+1) +DIM,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE = range(1,10+1) +FORCES,ENERGY,VIRIAL,ERROR = range(1,4+1) # ------------------------------------- # functions @@ -45,7 +52,7 @@ FORCES,ENERGY,VIRIAL = range(1,3+1) # error message and exit def error(txt): - print "ERROR:",txt + print("ERROR:",txt) sys.exit(1) # ------------------------------------- @@ -88,9 +95,9 @@ def poscar_write(poscar,natoms,ntypes,types,coords,box): psnew.write(psold[0]) psnew.write(psold[1]) - psnew.write("%g 0.0 0.0\n" % box[0]) - psnew.write("0.0 %g 0.0\n" % box[1]) - psnew.write("0.0 0.0 %g\n" % box[2]) + psnew.write("%g %g %g\n" % (box[0],box[1],box[2])) + psnew.write("%g %g %g\n" % (box[3],box[4],box[5])) + psnew.write("%g %g %g\n" % (box[6],box[7],box[8])) psnew.write(psold[5]) psnew.write(psold[6]) @@ -149,6 +156,7 @@ def vasprun_read(): sxx = stensor[0][0] syy = stensor[1][1] szz = stensor[2][2] + # symmetrize off-diagonal components sxy = 0.5 * (stensor[0][1] + stensor[1][0]) sxz = 0.5 * (stensor[0][2] + stensor[2][0]) syz = 0.5 * (stensor[1][2] + stensor[2][1]) @@ -164,7 +172,7 @@ def vasprun_read(): # command-line args if len(sys.argv) != 3: - print "Syntax: python vasp_wrap.py file/zmq POSCARfile" + print("Syntax: python vasp_wrap.py file/zmq POSCARfile") sys.exit(1) mode = sys.argv[1] @@ -173,7 +181,7 @@ poscar_template = sys.argv[2] if mode == "file": cs = CSlib(1,mode,"tmp.couple",None) elif mode == "zmq": cs = CSlib(1,mode,"*:5555",None) else: - print "Syntax: python vasp_wrap.py file/zmq POSCARfile" + print("Syntax: python vasp_wrap.py file/zmq POSCARfile") sys.exit(1) natoms,ntypes,box = vasp_setup(poscar_template) @@ -196,30 +204,87 @@ while 1: msgID,nfield,fieldID,fieldtype,fieldlen = cs.recv() if msgID < 0: break - # could generalize this to be more like ServerMD class - # allow for box size, atom types, natoms, etc + # SETUP receive at beginning of each run + # required fields: DIM, PERIODICTY, ORIGIN, BOX, + # NATOMS, NTYPES, TYPES, COORDS + # optional fields: others in enum above, but VASP ignores them + + if msgID == SETUP: + + origin = [] + box = [] + natoms_recv = ntypes_recv = 0 + types = [] + coords = [] + + for field in fieldID: + if field == DIM: + dim = cs.unpack_int(DIM) + if dim != 3: error("VASP only performs 3d simulations") + elif field == PERIODICITY: + periodicity = cs.unpack(PERIODICITY,1) + if not periodicity[0] or not periodicity[1] or not periodicity[2]: + error("VASP wrapper only currently supports fully periodic systems") + elif field == ORIGIN: + origin = cs.unpack(ORIGIN,1) + elif field == BOX: + box = cs.unpack(BOX,1) + elif field == NATOMS: + natoms_recv = cs.unpack_int(NATOMS) + if natoms != natoms_recv: + error("VASP wrapper mis-match in number of atoms") + elif field == NTYPES: + ntypes_recv = cs.unpack_int(NTYPES) + if ntypes != ntypes_recv: + error("VASP wrapper mis-match in number of atom types") + elif field == TYPES: + types = cs.unpack(TYPES,1) + elif field == COORDS: + coords = cs.unpack(COORDS,1) + + if not origin or not box or not natoms or not ntypes or \ + not types or not coords: + error("Required VASP wrapper setup field not received"); + + # STEP receive at each timestep of run or minimization + # required fields: COORDS + # optional fields: ORIGIN, BOX + + elif msgID == STEP: + + coords = [] + + for field in fieldID: + if field == COORDS: + coords = cs.unpack(COORDS,1) + elif field == ORIGIN: + origin = cs.unpack(ORIGIN,1) + elif field == BOX: + box = cs.unpack(BOX,1) + + if not coords: error("Required VASP wrapper step field not received"); + + else: error("VASP wrapper received unrecognized message") - # unpack coords from client - # create VASP input - # NOTE: generalize this for general list of atom types + # create POSCAR file - coords = cs.unpack(COORDS,1) - #types = cs.unpack(2); - types = 2*[1] - poscar_write(poscar_template,natoms,ntypes,types,coords,box) # invoke VASP - print "\nLaunching VASP ..." - print vaspcmd + print("\nLaunching VASP ...") + print(vaspcmd) subprocess.check_output(vaspcmd,stderr=subprocess.STDOUT,shell=True) # process VASP output energy,forces,virial = vasprun_read() - # return forces, energy, virial to client + # convert VASP kilobars to bars + + for i,value in enumerate(virial): virial[i] *= 1000.0 + + # return forces, energy, pressure to client cs.send(msgID,3); cs.pack(FORCES,4,3*natoms,forces) diff --git a/examples/message/README b/examples/message/README index 617a4249a5..34a5794e7a 100644 --- a/examples/message/README +++ b/examples/message/README @@ -26,6 +26,9 @@ lmp_mpi -v x 10 -v y 10 -v z 20 # 8000 particles This applies to either in.message or in.message.client +You can also run the in.message scripts with an NPT integrator +instead of NVE, if you comment/uncomment the correct lines. + The client and server script define a "mode" variable which can be set to file, zmq, mpi/one, or mpi/two, as illustrated below. @@ -38,6 +41,8 @@ do one of these: % lmp_serial < in.message % mpirun -np 4 lmp_mpi < in.message +Or run with in.message.tilt. + -------------- To run in client/server mode: @@ -75,6 +80,11 @@ processes together to exchange MPI messages between them. -------------- +NOTE: the Script.sh file has comands to perform all the +runs listed below. + +-------------- + File or ZMQ or mpi/two modes of messaging: % mpirun -np 1 lmp_mpi -v mode file -log log.client < in.message.client & @@ -86,13 +96,18 @@ File or ZMQ or mpi/two modes of messaging: % mpirun -np 2 lmp_mpi -v mode mpitwo -log log.client < in.message.client & % mpirun -np 4 lmp_mpi -v mode mpitwo -log log.server < in.message.server +Or run with in.message.tilt.client/server. +Don't run the tilt files with the "file" mode; they run too slow. + -------------- Mpi/one mode of messaging: Launch LAMMPS twice in a single mpirun command: -mpirun -np 2 lmp_mpi -mpi 0 -in in.message.client -v mode mpione -log log.client : -np 4 lmp_mpi -mpi 1 -in in.message.server -v mode mpione -log log.server +% mpirun -np 2 lmp_mpi -mpi 0 -in in.message.client -v mode mpione -log log.client : -np 4 lmp_mpi -mpi 1 -in in.message.server -v mode mpione -log log.server + +Or run with in.message.tilt.client/server. The two -np values determine how many procs the client and the server run on. diff --git a/examples/message/Script.sh b/examples/message/Script.sh new file mode 100644 index 0000000000..0125bdd500 --- /dev/null +++ b/examples/message/Script.sh @@ -0,0 +1,55 @@ +# sample launch script + +# message on 1 proc each + +mpirun -np 1 lmp_mpi -log log.message.g++.1 < in.message + +mpirun -np 1 lmp_mpi -v mode file -log log.message.client.file.g++.1 < in.message.client & +mpirun -np 1 lmp_mpi -v mode file -log log.message.server.file.g++.1 < in.message.server + +mpirun -np 1 lmp_mpi -v mode zmq -log log.message.client.zmq.g++.1 < in.message.client & +mpirun -np 1 lmp_mpi -v mode zmq -log log.message.server.zmq.g++.1 < in.message.server + +mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.client.mpitwo.g++.1 < in.message.client & +mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.server.mpitwo.g++.1 < in.message.server + +mpirun -np 1 lmp_mpi -mpi 0 -in in.message.client -v mode mpione -log log.message.client.mpione.g++.1 : -np 1 lmp_mpi -mpi 1 -in in.message.server -v mode mpione -log log.message.server.mpione.g++.1 + +# message on 2/4 procs each + +mpirun -np 4 lmp_mpi -log log.message.g++.4 < in.message + +mpirun -np 2 lmp_mpi -v mode file -log log.message.client.file.g++.2 < in.message.client & +mpirun -np 4 lmp_mpi -v mode file -log log.message.server.file.g++.4 < in.message.server + +mpirun -np 2 lmp_mpi -v mode zmq -log log.message.client.zmq.g++.2 < in.message.client & +mpirun -np 4 lmp_mpi -v mode zmq -log log.message.server.zmq.g++.4 < in.message.server + +mpirun -np 2 lmp_mpi -v mode mpitwo -log log.message.client.mpitwo.g++.2 < in.message.client & +mpirun -np 4 lmp_mpi -v mode mpitwo -log log.message.server.mpitwo.g++.4 < in.message.server + +mpirun -np 2 lmp_mpi -mpi 0 -in in.message.client -v mode mpione -log log.message.client.mpione.g++.2 : -np 4 lmp_mpi -mpi 1 -in in.message.server -v mode mpione -log log.message.server.mpione.g++.4 + +# message.tilt on 1 proc each + +mpirun -np 1 lmp_mpi -log log.message.tilt.g++.1 < in.message.tilt + +mpirun -np 1 lmp_mpi -v mode zmq -log log.message.tilt.client.zmq.g++.1 < in.message.tilt.client & +mpirun -np 1 lmp_mpi -v mode zmq -log log.message.tilt.server.zmq.g++.1 < in.message.tilt.server + +mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.tilt.client.mpitwo.g++.1 < in.message.tilt.client & +mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.tilt.server.mpitwo.g++.1 < in.message.tilt.server + +mpirun -np 1 lmp_mpi -mpi 0 -in in.message.tilt.client -v mode mpione -log log.message.tilt.client.mpione.g++.1 : -np 1 lmp_mpi -mpi 1 -in in.message.tilt.server -v mode mpione -log log.message.tilt.server.mpione.g++.1 + +# message.tilt on 2/4 procs each + +mpirun -np 1 lmp_mpi -log log.message.tilt.g++.4 < in.message.tilt + +mpirun -np 2 lmp_mpi -v mode zmq -log log.message.tilt.client.zmq.g++.2 < in.message.tilt.client & +mpirun -np 4 lmp_mpi -v mode zmq -log log.message.tilt.server.zmq.g++.4 < in.message.tilt.server + +mpirun -np 2 lmp_mpi -v mode mpitwo -log log.message.tilt.client.mpitwo.g++.2 < in.message.tilt.client & +mpirun -np 4 lmp_mpi -v mode mpitwo -log log.message.tilt.server.mpitwo.g++.4 < in.message.tilt.server + +mpirun -np 2 lmp_mpi -mpi 0 -in in.message.tilt.client -v mode mpione -log log.message.tilt.client.mpione.g++.2 : -np 4 lmp_mpi -mpi 1 -in in.message.tilt.server -v mode mpione -log log.message.tilt.server.mpione.g++.4 diff --git a/examples/message/in.message b/examples/message/in.message index 951ff95e3b..7fbbffc355 100644 --- a/examples/message/in.message +++ b/examples/message/in.message @@ -22,6 +22,8 @@ neighbor 0.3 bin neigh_modify delay 0 every 1 check yes fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 thermo 10 run 50 diff --git a/examples/message/in.message.client b/examples/message/in.message.client index 0c548ef2e5..f1ec644a80 100644 --- a/examples/message/in.message.client +++ b/examples/message/in.message.client @@ -31,6 +31,9 @@ neighbor 0.3 bin neigh_modify delay 0 every 1 check yes fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + fix 2 all client/md fix_modify 2 energy yes diff --git a/examples/message/in.message.tilt b/examples/message/in.message.tilt new file mode 100644 index 0000000000..51126eae1e --- /dev/null +++ b/examples/message/in.message.tilt @@ -0,0 +1,30 @@ +# 2d NEMD simulation - no client/server mode + +units lj +atom_style atomic +dimension 2 + +lattice sq2 0.8442 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +create_atoms 1 box +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 diff --git a/examples/message/in.message.tilt.client b/examples/message/in.message.tilt.client new file mode 100644 index 0000000000..b55bc6585b --- /dev/null +++ b/examples/message/in.message.tilt.client @@ -0,0 +1,42 @@ +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then & + "message client md file tmp.couple" & +elif "${mode} == zmq" & + "message client md zmq localhost:5555" & +elif "${mode} == mpione" & + "message client md mpi/one" & +elif "${mode} == mpitwo" & + "message client md mpi/two tmp.couple" + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +create_atoms 1 box +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 diff --git a/examples/message/in.message.tilt.server b/examples/message/in.message.tilt.server new file mode 100644 index 0000000000..ba211ed15f --- /dev/null +++ b/examples/message/in.message.tilt.server @@ -0,0 +1,31 @@ +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then & + "message server md file tmp.couple" & +elif "${mode} == zmq" & + "message server md zmq *:5555" & +elif "${mode} == mpione" & + "message server md mpi/one" & +elif "${mode} == mpitwo" & + "message server md mpi/two tmp.couple" + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +create_atoms 1 box +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md diff --git a/examples/message/log.23Jul18.message.client.file.g++.1 b/examples/message/log.28Aug18.message.client.file.g++.1 similarity index 81% rename from examples/message/log.23Jul18.message.client.file.g++.1 rename to examples/message/log.28Aug18.message.client.file.g++.1 index 0e05f6dfd5..bca1d37dd5 100644 --- a/examples/message/log.23Jul18.message.client.file.g++.1 +++ b/examples/message/log.28Aug18.message.client.file.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - client script variable mode index file @@ -25,7 +25,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.00067687 secs + Time spent = 0.000752926 secs mass 1 1.0 velocity all create 1.44 87287 loop geom @@ -34,6 +34,9 @@ neighbor 0.3 bin neigh_modify delay 0 every 1 check yes fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + fix 2 all client/md fix_modify 2 energy yes @@ -47,9 +50,9 @@ Step Temp E_pair E_mol TotEng Press 30 0.73767593 0 0 -4.6254647 0.49629637 40 0.69517962 0 0 -4.6253506 0.69303877 50 0.70150496 0 0 -4.6259832 0.59551518 -Loop time of 5.12413 on 1 procs for 50 steps with 500 atoms +Loop time of 5.0251 on 1 procs for 50 steps with 500 atoms -Performance: 4215.352 tau/day, 9.758 timesteps/s +Performance: 4298.421 tau/day, 9.950 timesteps/s 0.1% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: @@ -57,10 +60,10 @@ Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 9.7752e-06 | 9.7752e-06 | 9.7752e-06 | 0.0 | 0.00 -Comm | 0.0001719 | 0.0001719 | 0.0001719 | 0.0 | 0.00 -Output | 0.00022697 | 0.00022697 | 0.00022697 | 0.0 | 0.00 -Modify | 5.1232 | 5.1232 | 5.1232 | 0.0 | 99.98 -Other | | 0.0004876 | | | 0.01 +Comm | 0.00014925 | 0.00014925 | 0.00014925 | 0.0 | 0.00 +Output | 0.00023127 | 0.00023127 | 0.00023127 | 0.0 | 0.00 +Modify | 5.0242 | 5.0242 | 5.0242 | 0.0 | 99.98 +Other | | 0.0004668 | | | 0.01 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -73,4 +76,4 @@ Total # of neighbors = 0 Ave neighs/atom = 0 Neighbor list builds = 4 Dangerous builds = 0 -Total wall time: 0:00:19 +Total wall time: 0:00:05 diff --git a/examples/message/log.23Jul18.message.client.file.g++.2 b/examples/message/log.28Aug18.message.client.file.g++.2 similarity index 78% rename from examples/message/log.23Jul18.message.client.file.g++.2 rename to examples/message/log.28Aug18.message.client.file.g++.2 index 959c85439e..1c868dde37 100644 --- a/examples/message/log.23Jul18.message.client.file.g++.2 +++ b/examples/message/log.28Aug18.message.client.file.g++.2 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - client script variable mode index file @@ -25,7 +25,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 1 by 2 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.000554085 secs + Time spent = 0.000613928 secs mass 1 1.0 velocity all create 1.44 87287 loop geom @@ -34,6 +34,9 @@ neighbor 0.3 bin neigh_modify delay 0 every 1 check yes fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + fix 2 all client/md fix_modify 2 energy yes @@ -47,20 +50,20 @@ Step Temp E_pair E_mol TotEng Press 30 0.73767593 0 0 -4.6254647 0.49629637 40 0.69517962 0 0 -4.6253506 0.69303877 50 0.70150496 0 0 -4.6259832 0.59551518 -Loop time of 5.07392 on 2 procs for 50 steps with 500 atoms +Loop time of 5.02384 on 2 procs for 50 steps with 500 atoms -Performance: 4257.065 tau/day, 9.854 timesteps/s +Performance: 4299.499 tau/day, 9.953 timesteps/s 50.1% CPU use with 2 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 2.1458e-06 | 4.0531e-06 | 5.9605e-06 | 0.0 | 0.00 -Comm | 0.00022864 | 0.00023806 | 0.00024748 | 0.0 | 0.00 -Output | 0.00020814 | 0.00051165 | 0.00081515 | 0.0 | 0.01 -Modify | 5.0659 | 5.0695 | 5.073 | 0.2 | 99.91 -Other | | 0.003713 | | | 0.07 +Neigh | 1.9073e-06 | 3.3379e-06 | 4.7684e-06 | 0.0 | 0.00 +Comm | 0.00020742 | 0.00021136 | 0.00021529 | 0.0 | 0.00 +Output | 0.00026989 | 0.00048053 | 0.00069118 | 0.0 | 0.01 +Modify | 5.0171 | 5.0199 | 5.0228 | 0.1 | 99.92 +Other | | 0.003203 | | | 0.06 Nlocal: 250 ave 255 max 245 min Histogram: 1 0 0 0 0 0 0 0 0 1 @@ -73,4 +76,4 @@ Total # of neighbors = 0 Ave neighs/atom = 0 Neighbor list builds = 4 Dangerous builds = 0 -Total wall time: 0:00:07 +Total wall time: 0:00:05 diff --git a/examples/message/log.23Jul18.message.client.mpione.g++.1 b/examples/message/log.28Aug18.message.client.mpione.g++.1 similarity index 79% rename from examples/message/log.23Jul18.message.client.mpione.g++.1 rename to examples/message/log.28Aug18.message.client.mpione.g++.1 index 95a3f99ef5..78bee72fdf 100644 --- a/examples/message/log.23Jul18.message.client.mpione.g++.1 +++ b/examples/message/log.28Aug18.message.client.mpione.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - client script variable mode index file @@ -25,7 +25,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.000674009 secs + Time spent = 0.000540018 secs mass 1 1.0 velocity all create 1.44 87287 loop geom @@ -34,6 +34,9 @@ neighbor 0.3 bin neigh_modify delay 0 every 1 check yes fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + fix 2 all client/md fix_modify 2 energy yes @@ -47,20 +50,20 @@ Step Temp E_pair E_mol TotEng Press 30 0.73767593 0 0 -4.6254647 0.49629637 40 0.69517962 0 0 -4.6253506 0.69303877 50 0.70150496 0 0 -4.6259832 0.59551518 -Loop time of 0.0424271 on 1 procs for 50 steps with 500 atoms +Loop time of 0.0403891 on 1 procs for 50 steps with 500 atoms -Performance: 509109.009 tau/day, 1178.493 timesteps/s +Performance: 534798.272 tau/day, 1237.959 timesteps/s 99.9% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 8.1062e-06 | 8.1062e-06 | 8.1062e-06 | 0.0 | 0.02 -Comm | 8.2016e-05 | 8.2016e-05 | 8.2016e-05 | 0.0 | 0.19 -Output | 0.00010991 | 0.00010991 | 0.00010991 | 0.0 | 0.26 -Modify | 0.042014 | 0.042014 | 0.042014 | 0.0 | 99.03 -Other | | 0.0002129 | | | 0.50 +Neigh | 4.7684e-06 | 4.7684e-06 | 4.7684e-06 | 0.0 | 0.01 +Comm | 6.3181e-05 | 6.3181e-05 | 6.3181e-05 | 0.0 | 0.16 +Output | 9.5367e-05 | 9.5367e-05 | 9.5367e-05 | 0.0 | 0.24 +Modify | 0.040053 | 0.040053 | 0.040053 | 0.0 | 99.17 +Other | | 0.0001726 | | | 0.43 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/message/log.23Jul18.message.client.mpione.g++.2 b/examples/message/log.28Aug18.message.client.mpione.g++.2 similarity index 77% rename from examples/message/log.23Jul18.message.client.mpione.g++.2 rename to examples/message/log.28Aug18.message.client.mpione.g++.2 index 6ba653a2be..7d7af866e3 100644 --- a/examples/message/log.23Jul18.message.client.mpione.g++.2 +++ b/examples/message/log.28Aug18.message.client.mpione.g++.2 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - client script variable mode index file @@ -25,7 +25,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 1 by 2 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.000527859 secs + Time spent = 0.000475883 secs mass 1 1.0 velocity all create 1.44 87287 loop geom @@ -34,6 +34,9 @@ neighbor 0.3 bin neigh_modify delay 0 every 1 check yes fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + fix 2 all client/md fix_modify 2 energy yes @@ -47,20 +50,20 @@ Step Temp E_pair E_mol TotEng Press 30 0.73767593 0 0 -4.6254647 0.49629637 40 0.69517962 0 0 -4.6253506 0.69303877 50 0.70150496 0 0 -4.6259832 0.59551518 -Loop time of 0.027467 on 2 procs for 50 steps with 500 atoms +Loop time of 0.0208495 on 2 procs for 50 steps with 500 atoms -Performance: 786397.868 tau/day, 1820.365 timesteps/s -99.9% CPU use with 2 MPI tasks x no OpenMP threads +Performance: 1035997.740 tau/day, 2398.143 timesteps/s +99.1% CPU use with 2 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 4.0531e-06 | 4.1723e-06 | 4.2915e-06 | 0.0 | 0.02 -Comm | 0.00017691 | 0.00018024 | 0.00018358 | 0.0 | 0.66 -Output | 9.3222e-05 | 0.00012612 | 0.00015903 | 0.0 | 0.46 -Modify | 0.026678 | 0.02676 | 0.026841 | 0.0 | 97.42 -Other | | 0.0003968 | | | 1.44 +Neigh | 3.0994e-06 | 4.53e-06 | 5.9605e-06 | 0.0 | 0.02 +Comm | 0.00012422 | 0.00012457 | 0.00012493 | 0.0 | 0.60 +Output | 5.7697e-05 | 7.987e-05 | 0.00010204 | 0.0 | 0.38 +Modify | 0.020463 | 0.020464 | 0.020466 | 0.0 | 98.15 +Other | | 0.0001761 | | | 0.84 Nlocal: 250 ave 255 max 245 min Histogram: 1 0 0 0 0 0 0 0 0 1 diff --git a/examples/message/log.23Jul18.message.client.mpitwo.g++.1 b/examples/message/log.28Aug18.message.client.mpitwo.g++.1 similarity index 77% rename from examples/message/log.23Jul18.message.client.mpitwo.g++.1 rename to examples/message/log.28Aug18.message.client.mpitwo.g++.1 index 3822a0eb35..ee97e7bd1a 100644 --- a/examples/message/log.23Jul18.message.client.mpitwo.g++.1 +++ b/examples/message/log.28Aug18.message.client.mpitwo.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - client script variable mode index file @@ -25,7 +25,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.000490904 secs + Time spent = 0.000603914 secs mass 1 1.0 velocity all create 1.44 87287 loop geom @@ -34,6 +34,9 @@ neighbor 0.3 bin neigh_modify delay 0 every 1 check yes fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + fix 2 all client/md fix_modify 2 energy yes @@ -47,20 +50,20 @@ Step Temp E_pair E_mol TotEng Press 30 0.73767593 0 0 -4.6254647 0.49629637 40 0.69517962 0 0 -4.6253506 0.69303877 50 0.70150496 0 0 -4.6259832 0.59551518 -Loop time of 0.0624809 on 1 procs for 50 steps with 500 atoms +Loop time of 0.069119 on 1 procs for 50 steps with 500 atoms -Performance: 345705.501 tau/day, 800.244 timesteps/s -40.4% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 312504.627 tau/day, 723.390 timesteps/s +42.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 7.391e-06 | 7.391e-06 | 7.391e-06 | 0.0 | 0.01 -Comm | 8.5831e-05 | 8.5831e-05 | 8.5831e-05 | 0.0 | 0.14 -Output | 0.00011873 | 0.00011873 | 0.00011873 | 0.0 | 0.19 -Modify | 0.062024 | 0.062024 | 0.062024 | 0.0 | 99.27 -Other | | 0.0002449 | | | 0.39 +Neigh | 7.1526e-06 | 7.1526e-06 | 7.1526e-06 | 0.0 | 0.01 +Comm | 0.0001049 | 0.0001049 | 0.0001049 | 0.0 | 0.15 +Output | 0.00014019 | 0.00014019 | 0.00014019 | 0.0 | 0.20 +Modify | 0.068602 | 0.068602 | 0.068602 | 0.0 | 99.25 +Other | | 0.0002651 | | | 0.38 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -73,4 +76,4 @@ Total # of neighbors = 0 Ave neighs/atom = 0 Neighbor list builds = 4 Dangerous builds = 0 -Total wall time: 0:00:07 +Total wall time: 0:00:00 diff --git a/examples/message/log.23Jul18.message.client.mpitwo.g++.2 b/examples/message/log.28Aug18.message.client.mpitwo.g++.2 similarity index 76% rename from examples/message/log.23Jul18.message.client.mpitwo.g++.2 rename to examples/message/log.28Aug18.message.client.mpitwo.g++.2 index 058fc9dbf7..72db0198d5 100644 --- a/examples/message/log.23Jul18.message.client.mpitwo.g++.2 +++ b/examples/message/log.28Aug18.message.client.mpitwo.g++.2 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - client script variable mode index file @@ -25,7 +25,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 1 by 2 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.000692129 secs + Time spent = 0.000667095 secs mass 1 1.0 velocity all create 1.44 87287 loop geom @@ -34,6 +34,9 @@ neighbor 0.3 bin neigh_modify delay 0 every 1 check yes fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + fix 2 all client/md fix_modify 2 energy yes @@ -47,20 +50,20 @@ Step Temp E_pair E_mol TotEng Press 30 0.73767593 0 0 -4.6254647 0.49629637 40 0.69517962 0 0 -4.6253506 0.69303877 50 0.70150496 0 0 -4.6259832 0.59551518 -Loop time of 0.0186305 on 2 procs for 50 steps with 500 atoms +Loop time of 0.0190214 on 2 procs for 50 steps with 500 atoms -Performance: 1159388.887 tau/day, 2683.771 timesteps/s -50.7% CPU use with 2 MPI tasks x no OpenMP threads +Performance: 1135563.588 tau/day, 2628.619 timesteps/s +58.5% CPU use with 2 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 2.861e-06 | 3.8147e-06 | 4.7684e-06 | 0.0 | 0.02 -Comm | 0.00017023 | 0.00017631 | 0.00018239 | 0.0 | 0.95 -Output | 0.00010896 | 0.00013852 | 0.00016809 | 0.0 | 0.74 -Modify | 0.017709 | 0.017821 | 0.017933 | 0.1 | 95.66 -Other | | 0.0004908 | | | 2.63 +Neigh | 1.9073e-06 | 2.861e-06 | 3.8147e-06 | 0.0 | 0.02 +Comm | 0.00017238 | 0.00017989 | 0.0001874 | 0.0 | 0.95 +Output | 0.00012803 | 0.00015497 | 0.00018191 | 0.0 | 0.81 +Modify | 0.018065 | 0.018181 | 0.018297 | 0.1 | 95.58 +Other | | 0.0005029 | | | 2.64 Nlocal: 250 ave 255 max 245 min Histogram: 1 0 0 0 0 0 0 0 0 1 @@ -73,4 +76,4 @@ Total # of neighbors = 0 Ave neighs/atom = 0 Neighbor list builds = 4 Dangerous builds = 0 -Total wall time: 0:00:05 +Total wall time: 0:00:01 diff --git a/examples/message/log.23Jul18.message.client.zmq.g++.1 b/examples/message/log.28Aug18.message.client.zmq.g++.1 similarity index 76% rename from examples/message/log.23Jul18.message.client.zmq.g++.1 rename to examples/message/log.28Aug18.message.client.zmq.g++.1 index d895ee7556..23fa70c1be 100644 --- a/examples/message/log.23Jul18.message.client.zmq.g++.1 +++ b/examples/message/log.28Aug18.message.client.zmq.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - client script variable mode index file @@ -25,7 +25,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.000747919 secs + Time spent = 0.000734091 secs mass 1 1.0 velocity all create 1.44 87287 loop geom @@ -34,6 +34,9 @@ neighbor 0.3 bin neigh_modify delay 0 every 1 check yes fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + fix 2 all client/md fix_modify 2 energy yes @@ -47,20 +50,20 @@ Step Temp E_pair E_mol TotEng Press 30 0.73767593 0 0 -4.6254647 0.49629637 40 0.69517962 0 0 -4.6253506 0.69303877 50 0.70150496 0 0 -4.6259832 0.59551518 -Loop time of 0.0769799 on 1 procs for 50 steps with 500 atoms +Loop time of 0.0778341 on 1 procs for 50 steps with 500 atoms -Performance: 280592.815 tau/day, 649.520 timesteps/s -12.9% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 277513.222 tau/day, 642.392 timesteps/s +11.4% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 6.1989e-06 | 6.1989e-06 | 6.1989e-06 | 0.0 | 0.01 -Comm | 9.5129e-05 | 9.5129e-05 | 9.5129e-05 | 0.0 | 0.12 -Output | 0.00011516 | 0.00011516 | 0.00011516 | 0.0 | 0.15 -Modify | 0.076471 | 0.076471 | 0.076471 | 0.0 | 99.34 -Other | | 0.0002928 | | | 0.38 +Neigh | 7.8678e-06 | 7.8678e-06 | 7.8678e-06 | 0.0 | 0.01 +Comm | 8.3685e-05 | 8.3685e-05 | 8.3685e-05 | 0.0 | 0.11 +Output | 0.00011373 | 0.00011373 | 0.00011373 | 0.0 | 0.15 +Modify | 0.07734 | 0.07734 | 0.07734 | 0.0 | 99.37 +Other | | 0.0002885 | | | 0.37 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -73,4 +76,4 @@ Total # of neighbors = 0 Ave neighs/atom = 0 Neighbor list builds = 4 Dangerous builds = 0 -Total wall time: 0:00:08 +Total wall time: 0:00:00 diff --git a/examples/message/log.23Jul18.message.client.zmq.g++.2 b/examples/message/log.28Aug18.message.client.zmq.g++.2 similarity index 76% rename from examples/message/log.23Jul18.message.client.zmq.g++.2 rename to examples/message/log.28Aug18.message.client.zmq.g++.2 index 4bdb8abecc..7833befd21 100644 --- a/examples/message/log.23Jul18.message.client.zmq.g++.2 +++ b/examples/message/log.28Aug18.message.client.zmq.g++.2 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - client script variable mode index file @@ -25,7 +25,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 1 by 2 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.000608921 secs + Time spent = 0.000570059 secs mass 1 1.0 velocity all create 1.44 87287 loop geom @@ -34,6 +34,9 @@ neighbor 0.3 bin neigh_modify delay 0 every 1 check yes fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + fix 2 all client/md fix_modify 2 energy yes @@ -47,20 +50,20 @@ Step Temp E_pair E_mol TotEng Press 30 0.73767593 0 0 -4.6254647 0.49629637 40 0.69517962 0 0 -4.6253506 0.69303877 50 0.70150496 0 0 -4.6259832 0.59551518 -Loop time of 0.0453095 on 2 procs for 50 steps with 500 atoms +Loop time of 0.0416595 on 2 procs for 50 steps with 500 atoms -Performance: 476720.759 tau/day, 1103.520 timesteps/s -55.6% CPU use with 2 MPI tasks x no OpenMP threads +Performance: 518489.499 tau/day, 1200.207 timesteps/s +56.5% CPU use with 2 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 2.1458e-06 | 4.0531e-06 | 5.9605e-06 | 0.0 | 0.01 -Comm | 0.0001595 | 0.00015998 | 0.00016046 | 0.0 | 0.35 -Output | 8.893e-05 | 0.00011587 | 0.00014281 | 0.0 | 0.26 -Modify | 0.044439 | 0.044582 | 0.044724 | 0.1 | 98.39 -Other | | 0.0004481 | | | 0.99 +Neigh | 2.861e-06 | 3.3379e-06 | 3.8147e-06 | 0.0 | 0.01 +Comm | 0.00013399 | 0.00013685 | 0.00013971 | 0.0 | 0.33 +Output | 8.6784e-05 | 0.00011206 | 0.00013733 | 0.0 | 0.27 +Modify | 0.040948 | 0.04103 | 0.041112 | 0.0 | 98.49 +Other | | 0.0003769 | | | 0.90 Nlocal: 250 ave 255 max 245 min Histogram: 1 0 0 0 0 0 0 0 0 1 @@ -73,4 +76,4 @@ Total # of neighbors = 0 Ave neighs/atom = 0 Neighbor list builds = 4 Dangerous builds = 0 -Total wall time: 0:00:04 +Total wall time: 0:00:00 diff --git a/examples/message/log.23Jul18.message.g++.1 b/examples/message/log.28Aug18.message.g++.1 similarity index 76% rename from examples/message/log.23Jul18.message.g++.1 rename to examples/message/log.28Aug18.message.g++.1 index 53457c0129..c06af4e0d1 100644 --- a/examples/message/log.23Jul18.message.g++.1 +++ b/examples/message/log.28Aug18.message.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - no client/server mode variable x index 5 @@ -19,7 +19,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.000540972 secs + Time spent = 0.000682831 secs mass 1 1.0 velocity all create 1.44 87287 loop geom @@ -31,6 +31,8 @@ neighbor 0.3 bin neigh_modify delay 0 every 1 check yes fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 thermo 10 run 50 @@ -54,20 +56,20 @@ Step Temp E_pair E_mol TotEng Press 30 0.73767593 -5.7297655 0 -4.6254647 0.49629637 40 0.69517962 -5.6660345 0 -4.6253506 0.69303877 50 0.70150496 -5.6761362 0 -4.6259832 0.59551518 -Loop time of 0.037292 on 1 procs for 50 steps with 500 atoms +Loop time of 0.039681 on 1 procs for 50 steps with 500 atoms -Performance: 579212.643 tau/day, 1340.770 timesteps/s -99.9% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 544341.699 tau/day, 1260.050 timesteps/s +99.2% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.028156 | 0.028156 | 0.028156 | 0.0 | 75.50 -Neigh | 0.0069656 | 0.0069656 | 0.0069656 | 0.0 | 18.68 -Comm | 0.0011504 | 0.0011504 | 0.0011504 | 0.0 | 3.08 -Output | 0.00013399 | 0.00013399 | 0.00013399 | 0.0 | 0.36 -Modify | 0.00049257 | 0.00049257 | 0.00049257 | 0.0 | 1.32 -Other | | 0.0003934 | | | 1.05 +Pair | 0.029993 | 0.029993 | 0.029993 | 0.0 | 75.59 +Neigh | 0.0073051 | 0.0073051 | 0.0073051 | 0.0 | 18.41 +Comm | 0.0012736 | 0.0012736 | 0.0012736 | 0.0 | 3.21 +Output | 0.00012803 | 0.00012803 | 0.00012803 | 0.0 | 0.32 +Modify | 0.00053287 | 0.00053287 | 0.00053287 | 0.0 | 1.34 +Other | | 0.000448 | | | 1.13 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/message/log.23Jul18.message.g++.4 b/examples/message/log.28Aug18.message.g++.4 similarity index 76% rename from examples/message/log.23Jul18.message.g++.4 rename to examples/message/log.28Aug18.message.g++.4 index 09bd755380..695b51f166 100644 --- a/examples/message/log.23Jul18.message.g++.4 +++ b/examples/message/log.28Aug18.message.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - no client/server mode variable x index 5 @@ -19,7 +19,7 @@ Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) 1 by 2 by 2 MPI processor grid create_atoms 1 box Created 500 atoms - Time spent = 0.000635862 secs + Time spent = 0.000656843 secs mass 1 1.0 velocity all create 1.44 87287 loop geom @@ -31,6 +31,8 @@ neighbor 0.3 bin neigh_modify delay 0 every 1 check yes fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 thermo 10 run 50 @@ -54,20 +56,20 @@ Step Temp E_pair E_mol TotEng Press 30 0.73767593 -5.7297655 0 -4.6254647 0.49629637 40 0.69517962 -5.6660345 0 -4.6253506 0.69303877 50 0.70150496 -5.6761362 0 -4.6259832 0.59551518 -Loop time of 0.0152688 on 4 procs for 50 steps with 500 atoms +Loop time of 0.0131519 on 4 procs for 50 steps with 500 atoms -Performance: 1414649.236 tau/day, 3274.651 timesteps/s -99.9% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 1642350.242 tau/day, 3801.737 timesteps/s +97.9% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.006639 | 0.007916 | 0.0083909 | 0.8 | 51.84 -Neigh | 0.0015991 | 0.0018443 | 0.0019469 | 0.3 | 12.08 -Comm | 0.0041771 | 0.0047471 | 0.0063298 | 1.3 | 31.09 -Output | 9.6798e-05 | 0.00012475 | 0.00019407 | 0.0 | 0.82 -Modify | 0.00015974 | 0.0001967 | 0.00023103 | 0.0 | 1.29 -Other | | 0.0004399 | | | 2.88 +Pair | 0.006074 | 0.0065379 | 0.0072589 | 0.6 | 49.71 +Neigh | 0.0014219 | 0.0015552 | 0.0017018 | 0.3 | 11.82 +Comm | 0.003546 | 0.0043943 | 0.0049584 | 0.8 | 33.41 +Output | 0.000108 | 0.00012845 | 0.00016999 | 0.0 | 0.98 +Modify | 0.00014353 | 0.00014949 | 0.00015569 | 0.0 | 1.14 +Other | | 0.0003865 | | | 2.94 Nlocal: 125 ave 128 max 121 min Histogram: 1 0 0 0 1 0 0 0 1 1 diff --git a/examples/message/log.23Jul18.message.server.file.g++.1 b/examples/message/log.28Aug18.message.server.file.g++.1 similarity index 98% rename from examples/message/log.23Jul18.message.server.file.g++.1 rename to examples/message/log.28Aug18.message.server.file.g++.1 index 159332c2b4..cf1418d3c5 100644 --- a/examples/message/log.23Jul18.message.server.file.g++.1 +++ b/examples/message/log.28Aug18.message.server.file.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - server script variable mode index file diff --git a/examples/message/log.23Jul18.message.server.file.g++.4 b/examples/message/log.28Aug18.message.server.file.g++.4 similarity index 98% rename from examples/message/log.23Jul18.message.server.file.g++.4 rename to examples/message/log.28Aug18.message.server.file.g++.4 index f5ea67196f..c233bad692 100644 --- a/examples/message/log.23Jul18.message.server.file.g++.4 +++ b/examples/message/log.28Aug18.message.server.file.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - server script variable mode index file diff --git a/examples/message/log.23Jul18.message.server.mpione.g++.1 b/examples/message/log.28Aug18.message.server.mpione.g++.1 similarity index 98% rename from examples/message/log.23Jul18.message.server.mpione.g++.1 rename to examples/message/log.28Aug18.message.server.mpione.g++.1 index 245461d4b2..81e04aa923 100644 --- a/examples/message/log.23Jul18.message.server.mpione.g++.1 +++ b/examples/message/log.28Aug18.message.server.mpione.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - server script variable mode index file diff --git a/examples/message/log.23Jul18.message.server.mpione.g++.4 b/examples/message/log.28Aug18.message.server.mpione.g++.4 similarity index 98% rename from examples/message/log.23Jul18.message.server.mpione.g++.4 rename to examples/message/log.28Aug18.message.server.mpione.g++.4 index d4d9a98189..a185cb1c29 100644 --- a/examples/message/log.23Jul18.message.server.mpione.g++.4 +++ b/examples/message/log.28Aug18.message.server.mpione.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - server script variable mode index file diff --git a/examples/message/log.23Jul18.message.server.mpitwo.g++.1 b/examples/message/log.28Aug18.message.server.mpitwo.g++.1 similarity index 98% rename from examples/message/log.23Jul18.message.server.mpitwo.g++.1 rename to examples/message/log.28Aug18.message.server.mpitwo.g++.1 index 440a03bad7..973a08eb6a 100644 --- a/examples/message/log.23Jul18.message.server.mpitwo.g++.1 +++ b/examples/message/log.28Aug18.message.server.mpitwo.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - server script variable mode index file diff --git a/examples/message/log.23Jul18.message.server.mpitwo.g++.4 b/examples/message/log.28Aug18.message.server.mpitwo.g++.4 similarity index 98% rename from examples/message/log.23Jul18.message.server.mpitwo.g++.4 rename to examples/message/log.28Aug18.message.server.mpitwo.g++.4 index 0265bda54c..9e76e52d90 100644 --- a/examples/message/log.23Jul18.message.server.mpitwo.g++.4 +++ b/examples/message/log.28Aug18.message.server.mpitwo.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - server script variable mode index file diff --git a/examples/message/log.23Jul18.message.server.zmq.g++.1 b/examples/message/log.28Aug18.message.server.zmq.g++.1 similarity index 98% rename from examples/message/log.23Jul18.message.server.zmq.g++.1 rename to examples/message/log.28Aug18.message.server.zmq.g++.1 index 4fa9244bfe..ce5729878b 100644 --- a/examples/message/log.23Jul18.message.server.zmq.g++.1 +++ b/examples/message/log.28Aug18.message.server.zmq.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - server script variable mode index file diff --git a/examples/message/log.23Jul18.message.server.zmq.g++.4 b/examples/message/log.28Aug18.message.server.zmq.g++.4 similarity index 98% rename from examples/message/log.23Jul18.message.server.zmq.g++.4 rename to examples/message/log.28Aug18.message.server.zmq.g++.4 index f094153e83..b3201da4da 100644 --- a/examples/message/log.23Jul18.message.server.zmq.g++.4 +++ b/examples/message/log.28Aug18.message.server.zmq.g++.4 @@ -1,4 +1,4 @@ -LAMMPS (16 Jul 2018) +LAMMPS (22 Aug 2018) # 3d Lennard-Jones melt - server script variable mode index file diff --git a/examples/message/log.28Aug18.message.tilt.client.mpione.g++.1 b/examples/message/log.28Aug18.message.tilt.client.mpione.g++.1 new file mode 100644 index 0000000000..a290ec307b --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.client.mpione.g++.1 @@ -0,0 +1,130 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/one + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000485897 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 15.3919, bins = 1 1 1 + 0 neighbor lists, perpetual/occasional/extra = 0 0 0 +Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.0086399 0 1.3760711 6.8772078 0.61567613 + 2000 1.0707188 0 1.3744107 6.628097 1.2313523 + 3000 1.0627515 0 1.310096 6.1647179 1.8470284 + 4000 0.94091054 0 1.268976 6.4723215 2.4627045 + 5000 1.0218949 0 1.2430242 5.6945977 3.0783806 + 6000 0.98649481 0 1.1997565 5.2870413 3.6940568 + 7000 0.9047957 0 1.1461262 5.9291636 4.3097329 + 8000 0.85697614 0 1.0437412 5.0652097 4.925409 + 9000 0.84208329 0 1.109218 6.1749808 5.5410852 + 10000 0.86418108 0 1.1594773 6.2581867 6.1567613 + 11000 0.95136356 0 1.1650901 5.8389085 6.7724374 + 12000 0.94571583 0 1.2210342 6.2498816 7.3881135 + 13000 0.95994288 0 1.2172042 5.9608165 -7.3881135 + 14000 0.99053999 0 1.2925597 6.9994446 -6.7724374 + 15000 1.0316726 0 1.3346023 6.6902672 -6.1567613 + 16000 0.99537481 0 1.3227696 7.0301123 -5.5410852 + 17000 1.0306843 0 1.3101457 6.4750102 -4.925409 + 18000 1.071154 0 1.2947547 5.695888 -4.3097329 + 19000 0.97120752 0 1.3035465 7.3945362 -3.6940568 + 20000 0.97198994 0 1.2244663 6.0047605 -3.0783806 + 21000 0.97943545 0 1.2393394 6.3871012 -2.4627045 + 22000 0.98550707 0 1.1768148 5.019967 -1.8470284 + 23000 0.96920052 0 1.1730698 5.7944947 -1.2313523 + 24000 0.94069959 0 1.184119 5.8434876 -0.61567613 + 25000 0.91569312 0 1.1642118 5.668997 0 + 26000 0.98882932 0 1.1999248 5.0115507 0.61567613 + 27000 0.8972608 0 1.2556546 7.0837158 1.2313523 + 28000 0.93554756 0 1.2221911 5.9302841 1.8470284 + 29000 0.97894608 0 1.2168736 5.5766766 2.4627045 + 30000 0.97877055 0 1.2575839 6.4308887 3.0783806 + 31000 1.0002387 0 1.2338069 5.3873124 3.6940568 + 32000 0.89608618 0 1.2382021 6.7892204 4.3097329 + 33000 0.87439302 0 1.2252635 7.078134 4.925409 + 34000 1.076102 0 1.2991393 5.5556892 5.5410852 + 35000 1.0018689 0 1.272105 6.1320483 6.1567613 + 36000 0.93327214 0 1.2428039 7.0030867 6.7724374 + 37000 1.0770236 0 1.3002931 5.4996076 7.3881135 + 38000 0.98715132 0 1.215562 5.5958335 -7.3881135 + 39000 0.95028417 0 1.2566706 6.4133713 -6.7724374 + 40000 1.0445585 0 1.241151 5.3589806 -6.1567613 + 41000 0.93799713 0 1.2109086 6.4957845 -5.5410852 + 42000 0.99231038 0 1.2228781 5.9363471 -4.925409 + 43000 0.97913815 0 1.1854842 5.8837987 -4.3097329 + 44000 0.86748838 0 1.1616201 6.8991278 -3.6940568 + 45000 0.96284421 0 1.1549383 5.1226785 -3.0783806 + 46000 0.98701623 0 1.170581 4.9719567 -2.4627045 + 47000 0.92618683 0 1.2146576 6.7100075 -1.8470284 + 48000 1.0092593 0 1.2523988 5.7067864 -1.2313523 + 49000 1.0187472 0 1.271608 5.3355092 -0.61567613 + 50000 1.0194881 0 1.2831094 6.2449759 0 +Loop time of 1.74559 on 1 procs for 50000 steps with 160 atoms + +Performance: 12374053.445 tau/day, 28643.642 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0020533 | 0.0020533 | 0.0020533 | 0.0 | 0.12 +Comm | 0.015517 | 0.015517 | 0.015517 | 0.0 | 0.89 +Output | 0.00052404 | 0.00052404 | 0.00052404 | 0.0 | 0.03 +Modify | 1.6784 | 1.6784 | 1.6784 | 0.0 | 96.15 +Other | | 0.04905 | | | 2.81 + +Nlocal: 160 ave 160 max 160 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 5270 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/message/log.28Aug18.message.tilt.client.mpione.g++.2 b/examples/message/log.28Aug18.message.tilt.client.mpione.g++.2 new file mode 100644 index 0000000000..0089732355 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.client.mpione.g++.2 @@ -0,0 +1,130 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/one + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000453949 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 15.3919, bins = 1 1 1 + 0 neighbor lists, perpetual/occasional/extra = 0 0 0 +Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.0876599 0 1.3637783 6.063363 0.61567613 + 2000 1.0722996 0 1.4108622 7.0518942 1.2313523 + 3000 1.0580774 0 1.3845895 6.0395275 1.8470284 + 4000 1.0068006 0 1.3804387 7.0944598 2.4627045 + 5000 0.95391814 0 1.2578438 6.1878831 3.0783806 + 6000 0.93492945 0 1.2711287 7.0440517 3.6940568 + 7000 0.94107853 0 1.2384371 6.1438077 4.3097329 + 8000 0.89711744 0 1.145748 6.3558305 4.925409 + 9000 0.90190304 0 1.0860684 4.957098 5.5410852 + 10000 0.84255749 0 1.0376892 5.2351795 6.1567613 + 11000 0.90250882 0 1.0497695 4.3844838 6.7724374 + 12000 0.83461274 0 1.0281949 5.1534361 7.3881135 + 13000 0.80315331 0 1.0226333 5.757222 -7.3881135 + 14000 0.81820939 0 0.99276466 4.6943725 -6.7724374 + 15000 0.8239631 0 1.0408289 5.1669006 -6.1567613 + 16000 0.88908894 0 1.1554855 6.3510278 -5.5410852 + 17000 0.98268136 0 1.2086981 5.6302847 -4.925409 + 18000 1.0098162 0 1.3687676 7.5243587 -4.3097329 + 19000 1.0795086 0 1.4562691 7.639418 -3.6940568 + 20000 1.1932155 0 1.5278988 7.0668432 -3.0783806 + 21000 1.2424296 0 1.6048792 7.959585 -2.4627045 + 22000 1.297169 0 1.7421262 8.9432388 -1.8470284 + 23000 1.2863494 0 1.7236774 8.3584973 -1.2313523 + 24000 1.4084347 0 1.7370339 7.2729078 -0.61567613 + 25000 1.3339728 0 1.6883255 7.529098 0 + 26000 1.1483243 0 1.5155578 7.3869994 0.61567613 + 27000 1.1372606 0 1.4368323 7.0580136 1.2313523 + 28000 1.0518579 0 1.355311 6.478857 1.8470284 + 29000 1.0581145 0 1.2535509 5.3697479 2.4627045 + 30000 0.93612564 0 1.185532 5.5520142 3.0783806 + 31000 0.94387516 0 1.1716454 5.8655485 3.6940568 + 32000 0.83953515 0 1.0737746 5.5551953 4.3097329 + 33000 0.84862926 0 1.0564042 5.7795428 4.925409 + 34000 0.83621877 0 1.079387 5.7514243 5.5410852 + 35000 0.86938506 0 1.031783 4.5897825 6.1567613 + 36000 0.88990609 0 1.0807597 5.3751744 6.7724374 + 37000 0.89534631 0 1.1238882 5.2400355 7.3881135 + 38000 0.98545003 0 1.2121125 5.7783854 -7.3881135 + 39000 0.96737778 0 1.2472934 6.1139 -6.7724374 + 40000 1.0664194 0 1.2956811 5.7353661 -6.1567613 + 41000 1.0681494 0 1.3269435 6.3102722 -5.5410852 + 42000 1.0875422 0 1.3963739 7.1208066 -4.925409 + 43000 1.0968173 0 1.3388062 6.1704339 -4.3097329 + 44000 1.1182109 0 1.3773214 7.0872686 -3.6940568 + 45000 1.1243261 0 1.432186 6.884782 -3.0783806 + 46000 1.039713 0 1.4389721 7.5585257 -2.4627045 + 47000 1.0816108 0 1.4100361 6.4611126 -1.8470284 + 48000 0.97637127 0 1.3605389 7.3992744 -1.2313523 + 49000 1.0361978 0 1.2721873 5.8166109 -0.61567613 + 50000 0.92367087 0 1.1875669 6.4685214 0 +Loop time of 2.82785 on 2 procs for 50000 steps with 160 atoms + +Performance: 7638300.565 tau/day, 17681.251 timesteps/s +100.0% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0011888 | 0.0012611 | 0.0013335 | 0.2 | 0.04 +Comm | 0.024838 | 0.025075 | 0.025312 | 0.1 | 0.89 +Output | 0.0003581 | 0.00052559 | 0.00069308 | 0.0 | 0.02 +Modify | 2.7209 | 2.7263 | 2.7318 | 0.3 | 96.41 +Other | | 0.07465 | | | 2.64 + +Nlocal: 80 ave 80 max 80 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 5257 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.1 b/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.1 new file mode 100644 index 0000000000..814b3df1aa --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.1 @@ -0,0 +1,130 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/two tmp.couple + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000543118 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 15.3919, bins = 1 1 1 + 0 neighbor lists, perpetual/occasional/extra = 0 0 0 +Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.0086399 0 1.3760711 6.8772078 0.61567613 + 2000 1.0707188 0 1.3744107 6.628097 1.2313523 + 3000 1.0627515 0 1.310096 6.1647179 1.8470284 + 4000 0.94091054 0 1.268976 6.4723215 2.4627045 + 5000 1.0218949 0 1.2430242 5.6945977 3.0783806 + 6000 0.98649481 0 1.1997565 5.2870413 3.6940568 + 7000 0.9047957 0 1.1461262 5.9291636 4.3097329 + 8000 0.85697614 0 1.0437412 5.0652097 4.925409 + 9000 0.84208329 0 1.109218 6.1749808 5.5410852 + 10000 0.86418108 0 1.1594773 6.2581867 6.1567613 + 11000 0.95136356 0 1.1650901 5.8389085 6.7724374 + 12000 0.94571583 0 1.2210342 6.2498816 7.3881135 + 13000 0.95994288 0 1.2172042 5.9608165 -7.3881135 + 14000 0.99053999 0 1.2925597 6.9994446 -6.7724374 + 15000 1.0316726 0 1.3346023 6.6902672 -6.1567613 + 16000 0.99537481 0 1.3227696 7.0301123 -5.5410852 + 17000 1.0306843 0 1.3101457 6.4750102 -4.925409 + 18000 1.071154 0 1.2947547 5.695888 -4.3097329 + 19000 0.97120752 0 1.3035465 7.3945362 -3.6940568 + 20000 0.97198994 0 1.2244663 6.0047605 -3.0783806 + 21000 0.97943545 0 1.2393394 6.3871012 -2.4627045 + 22000 0.98550707 0 1.1768148 5.019967 -1.8470284 + 23000 0.96920052 0 1.1730698 5.7944947 -1.2313523 + 24000 0.94069959 0 1.184119 5.8434876 -0.61567613 + 25000 0.91569312 0 1.1642118 5.668997 0 + 26000 0.98882932 0 1.1999248 5.0115507 0.61567613 + 27000 0.8972608 0 1.2556546 7.0837158 1.2313523 + 28000 0.93554756 0 1.2221911 5.9302841 1.8470284 + 29000 0.97894608 0 1.2168736 5.5766766 2.4627045 + 30000 0.97877055 0 1.2575839 6.4308887 3.0783806 + 31000 1.0002387 0 1.2338069 5.3873124 3.6940568 + 32000 0.89608618 0 1.2382021 6.7892204 4.3097329 + 33000 0.87439302 0 1.2252635 7.078134 4.925409 + 34000 1.076102 0 1.2991393 5.5556892 5.5410852 + 35000 1.0018689 0 1.272105 6.1320483 6.1567613 + 36000 0.93327214 0 1.2428039 7.0030867 6.7724374 + 37000 1.0770236 0 1.3002931 5.4996076 7.3881135 + 38000 0.98715132 0 1.215562 5.5958335 -7.3881135 + 39000 0.95028417 0 1.2566706 6.4133713 -6.7724374 + 40000 1.0445585 0 1.241151 5.3589806 -6.1567613 + 41000 0.93799713 0 1.2109086 6.4957845 -5.5410852 + 42000 0.99231038 0 1.2228781 5.9363471 -4.925409 + 43000 0.97913815 0 1.1854842 5.8837987 -4.3097329 + 44000 0.86748838 0 1.1616201 6.8991278 -3.6940568 + 45000 0.96284421 0 1.1549383 5.1226785 -3.0783806 + 46000 0.98701623 0 1.170581 4.9719567 -2.4627045 + 47000 0.92618683 0 1.2146576 6.7100075 -1.8470284 + 48000 1.0092593 0 1.2523988 5.7067864 -1.2313523 + 49000 1.0187472 0 1.271608 5.3355092 -0.61567613 + 50000 1.0194881 0 1.2831094 6.2449759 0 +Loop time of 4.80282 on 1 procs for 50000 steps with 160 atoms + +Performance: 4497356.047 tau/day, 10410.546 timesteps/s +50.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0032325 | 0.0032325 | 0.0032325 | 0.0 | 0.07 +Comm | 0.033613 | 0.033613 | 0.033613 | 0.0 | 0.70 +Output | 0.00089812 | 0.00089812 | 0.00089812 | 0.0 | 0.02 +Modify | 4.6706 | 4.6706 | 4.6706 | 0.0 | 97.25 +Other | | 0.09449 | | | 1.97 + +Nlocal: 160 ave 160 max 160 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 5270 +Dangerous builds = 0 +Total wall time: 0:00:04 diff --git a/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.2 b/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.2 new file mode 100644 index 0000000000..7c172d3727 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.2 @@ -0,0 +1,130 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/two tmp.couple + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000574827 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 15.3919, bins = 1 1 1 + 0 neighbor lists, perpetual/occasional/extra = 0 0 0 +Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.0876599 0 1.3637783 6.063363 0.61567613 + 2000 1.0722996 0 1.4108622 7.0518942 1.2313523 + 3000 1.0580774 0 1.3845895 6.0395275 1.8470284 + 4000 1.0068006 0 1.3804387 7.0944598 2.4627045 + 5000 0.95391814 0 1.2578438 6.1878831 3.0783806 + 6000 0.93492945 0 1.2711287 7.0440517 3.6940568 + 7000 0.94107853 0 1.2384371 6.1438077 4.3097329 + 8000 0.89711744 0 1.145748 6.3558305 4.925409 + 9000 0.90190304 0 1.0860684 4.957098 5.5410852 + 10000 0.84255749 0 1.0376892 5.2351795 6.1567613 + 11000 0.90250882 0 1.0497695 4.3844838 6.7724374 + 12000 0.83461274 0 1.0281949 5.1534361 7.3881135 + 13000 0.80315331 0 1.0226333 5.757222 -7.3881135 + 14000 0.81820939 0 0.99276466 4.6943725 -6.7724374 + 15000 0.8239631 0 1.0408289 5.1669006 -6.1567613 + 16000 0.88908894 0 1.1554855 6.3510278 -5.5410852 + 17000 0.98268136 0 1.2086981 5.6302847 -4.925409 + 18000 1.0098162 0 1.3687676 7.5243587 -4.3097329 + 19000 1.0795086 0 1.4562691 7.639418 -3.6940568 + 20000 1.1932155 0 1.5278988 7.0668432 -3.0783806 + 21000 1.2424296 0 1.6048792 7.959585 -2.4627045 + 22000 1.297169 0 1.7421262 8.9432388 -1.8470284 + 23000 1.2863494 0 1.7236774 8.3584973 -1.2313523 + 24000 1.4084347 0 1.7370339 7.2729078 -0.61567613 + 25000 1.3339728 0 1.6883255 7.529098 0 + 26000 1.1483243 0 1.5155578 7.3869994 0.61567613 + 27000 1.1372606 0 1.4368323 7.0580136 1.2313523 + 28000 1.0518579 0 1.355311 6.478857 1.8470284 + 29000 1.0581145 0 1.2535509 5.3697479 2.4627045 + 30000 0.93612564 0 1.185532 5.5520142 3.0783806 + 31000 0.94387516 0 1.1716454 5.8655485 3.6940568 + 32000 0.83953515 0 1.0737746 5.5551953 4.3097329 + 33000 0.84862926 0 1.0564042 5.7795428 4.925409 + 34000 0.83621877 0 1.079387 5.7514243 5.5410852 + 35000 0.86938506 0 1.031783 4.5897825 6.1567613 + 36000 0.88990609 0 1.0807597 5.3751744 6.7724374 + 37000 0.89534631 0 1.1238882 5.2400355 7.3881135 + 38000 0.98545003 0 1.2121125 5.7783854 -7.3881135 + 39000 0.96737778 0 1.2472934 6.1139 -6.7724374 + 40000 1.0664194 0 1.2956811 5.7353661 -6.1567613 + 41000 1.0681494 0 1.3269435 6.3102722 -5.5410852 + 42000 1.0875422 0 1.3963739 7.1208066 -4.925409 + 43000 1.0968173 0 1.3388062 6.1704339 -4.3097329 + 44000 1.1182109 0 1.3773214 7.0872686 -3.6940568 + 45000 1.1243261 0 1.432186 6.884782 -3.0783806 + 46000 1.039713 0 1.4389721 7.5585257 -2.4627045 + 47000 1.0816108 0 1.4100361 6.4611126 -1.8470284 + 48000 0.97637127 0 1.3605389 7.3992744 -1.2313523 + 49000 1.0361978 0 1.2721873 5.8166109 -0.61567613 + 50000 0.92367087 0 1.1875669 6.4685214 0 +Loop time of 5.66536 on 2 procs for 50000 steps with 160 atoms + +Performance: 3812643.232 tau/day, 8825.563 timesteps/s +48.1% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0012836 | 0.0015377 | 0.0017917 | 0.6 | 0.03 +Comm | 0.037211 | 0.037922 | 0.038633 | 0.4 | 0.67 +Output | 0.00052023 | 0.00073683 | 0.00095344 | 0.0 | 0.01 +Modify | 5.5101 | 5.5105 | 5.511 | 0.0 | 97.27 +Other | | 0.1146 | | | 2.02 + +Nlocal: 80 ave 80 max 80 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 5257 +Dangerous builds = 0 +Total wall time: 0:00:06 diff --git a/examples/message/log.28Aug18.message.tilt.client.zmq.g++.1 b/examples/message/log.28Aug18.message.tilt.client.zmq.g++.1 new file mode 100644 index 0000000000..f5e2f220cd --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.client.zmq.g++.1 @@ -0,0 +1,130 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md zmq localhost:5555 + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000530005 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 15.3919, bins = 1 1 1 + 0 neighbor lists, perpetual/occasional/extra = 0 0 0 +Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.0086399 0 1.3760711 6.8772078 0.61567613 + 2000 1.0707188 0 1.3744107 6.628097 1.2313523 + 3000 1.0627515 0 1.310096 6.1647179 1.8470284 + 4000 0.94091054 0 1.268976 6.4723215 2.4627045 + 5000 1.0218949 0 1.2430242 5.6945977 3.0783806 + 6000 0.98649481 0 1.1997565 5.2870413 3.6940568 + 7000 0.9047957 0 1.1461262 5.9291636 4.3097329 + 8000 0.85697614 0 1.0437412 5.0652097 4.925409 + 9000 0.84208329 0 1.109218 6.1749808 5.5410852 + 10000 0.86418108 0 1.1594773 6.2581867 6.1567613 + 11000 0.95136356 0 1.1650901 5.8389085 6.7724374 + 12000 0.94571583 0 1.2210342 6.2498816 7.3881135 + 13000 0.95994288 0 1.2172042 5.9608165 -7.3881135 + 14000 0.99053999 0 1.2925597 6.9994446 -6.7724374 + 15000 1.0316726 0 1.3346023 6.6902672 -6.1567613 + 16000 0.99537481 0 1.3227696 7.0301123 -5.5410852 + 17000 1.0306843 0 1.3101457 6.4750102 -4.925409 + 18000 1.071154 0 1.2947547 5.695888 -4.3097329 + 19000 0.97120752 0 1.3035465 7.3945362 -3.6940568 + 20000 0.97198994 0 1.2244663 6.0047605 -3.0783806 + 21000 0.97943545 0 1.2393394 6.3871012 -2.4627045 + 22000 0.98550707 0 1.1768148 5.019967 -1.8470284 + 23000 0.96920052 0 1.1730698 5.7944947 -1.2313523 + 24000 0.94069959 0 1.184119 5.8434876 -0.61567613 + 25000 0.91569312 0 1.1642118 5.668997 0 + 26000 0.98882932 0 1.1999248 5.0115507 0.61567613 + 27000 0.8972608 0 1.2556546 7.0837158 1.2313523 + 28000 0.93554756 0 1.2221911 5.9302841 1.8470284 + 29000 0.97894608 0 1.2168736 5.5766766 2.4627045 + 30000 0.97877055 0 1.2575839 6.4308887 3.0783806 + 31000 1.0002387 0 1.2338069 5.3873124 3.6940568 + 32000 0.89608618 0 1.2382021 6.7892204 4.3097329 + 33000 0.87439302 0 1.2252635 7.078134 4.925409 + 34000 1.076102 0 1.2991393 5.5556892 5.5410852 + 35000 1.0018689 0 1.272105 6.1320483 6.1567613 + 36000 0.93327214 0 1.2428039 7.0030867 6.7724374 + 37000 1.0770236 0 1.3002931 5.4996076 7.3881135 + 38000 0.98715132 0 1.215562 5.5958335 -7.3881135 + 39000 0.95028417 0 1.2566706 6.4133713 -6.7724374 + 40000 1.0445585 0 1.241151 5.3589806 -6.1567613 + 41000 0.93799713 0 1.2109086 6.4957845 -5.5410852 + 42000 0.99231038 0 1.2228781 5.9363471 -4.925409 + 43000 0.97913815 0 1.1854842 5.8837987 -4.3097329 + 44000 0.86748838 0 1.1616201 6.8991278 -3.6940568 + 45000 0.96284421 0 1.1549383 5.1226785 -3.0783806 + 46000 0.98701623 0 1.170581 4.9719567 -2.4627045 + 47000 0.92618683 0 1.2146576 6.7100075 -1.8470284 + 48000 1.0092593 0 1.2523988 5.7067864 -1.2313523 + 49000 1.0187472 0 1.271608 5.3355092 -0.61567613 + 50000 1.0194881 0 1.2831094 6.2449759 0 +Loop time of 12.9652 on 1 procs for 50000 steps with 160 atoms + +Performance: 1666000.147 tau/day, 3856.482 timesteps/s +23.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0018659 | 0.0018659 | 0.0018659 | 0.0 | 0.01 +Comm | 0.020679 | 0.020679 | 0.020679 | 0.0 | 0.16 +Output | 0.00052547 | 0.00052547 | 0.00052547 | 0.0 | 0.00 +Modify | 12.871 | 12.871 | 12.871 | 0.0 | 99.28 +Other | | 0.07062 | | | 0.54 + +Nlocal: 160 ave 160 max 160 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 5270 +Dangerous builds = 0 +Total wall time: 0:00:12 diff --git a/examples/message/log.28Aug18.message.tilt.client.zmq.g++.2 b/examples/message/log.28Aug18.message.tilt.client.zmq.g++.2 new file mode 100644 index 0000000000..8fc570f5da --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.client.zmq.g++.2 @@ -0,0 +1,130 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md zmq localhost:5555 + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000673056 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 15.3919, bins = 1 1 1 + 0 neighbor lists, perpetual/occasional/extra = 0 0 0 +Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.0876599 0 1.3637783 6.063363 0.61567613 + 2000 1.0722996 0 1.4108622 7.0518942 1.2313523 + 3000 1.0580774 0 1.3845895 6.0395275 1.8470284 + 4000 1.0068006 0 1.3804387 7.0944598 2.4627045 + 5000 0.95391814 0 1.2578438 6.1878831 3.0783806 + 6000 0.93492945 0 1.2711287 7.0440517 3.6940568 + 7000 0.94107853 0 1.2384371 6.1438077 4.3097329 + 8000 0.89711744 0 1.145748 6.3558305 4.925409 + 9000 0.90190304 0 1.0860684 4.957098 5.5410852 + 10000 0.84255749 0 1.0376892 5.2351795 6.1567613 + 11000 0.90250882 0 1.0497695 4.3844838 6.7724374 + 12000 0.83461274 0 1.0281949 5.1534361 7.3881135 + 13000 0.80315331 0 1.0226333 5.757222 -7.3881135 + 14000 0.81820939 0 0.99276466 4.6943725 -6.7724374 + 15000 0.8239631 0 1.0408289 5.1669006 -6.1567613 + 16000 0.88908894 0 1.1554855 6.3510278 -5.5410852 + 17000 0.98268136 0 1.2086981 5.6302847 -4.925409 + 18000 1.0098162 0 1.3687676 7.5243587 -4.3097329 + 19000 1.0795086 0 1.4562691 7.639418 -3.6940568 + 20000 1.1932155 0 1.5278988 7.0668432 -3.0783806 + 21000 1.2424296 0 1.6048792 7.959585 -2.4627045 + 22000 1.297169 0 1.7421262 8.9432388 -1.8470284 + 23000 1.2863494 0 1.7236774 8.3584973 -1.2313523 + 24000 1.4084347 0 1.7370339 7.2729078 -0.61567613 + 25000 1.3339728 0 1.6883255 7.529098 0 + 26000 1.1483243 0 1.5155578 7.3869994 0.61567613 + 27000 1.1372606 0 1.4368323 7.0580136 1.2313523 + 28000 1.0518579 0 1.355311 6.478857 1.8470284 + 29000 1.0581145 0 1.2535509 5.3697479 2.4627045 + 30000 0.93612564 0 1.185532 5.5520142 3.0783806 + 31000 0.94387516 0 1.1716454 5.8655485 3.6940568 + 32000 0.83953515 0 1.0737746 5.5551953 4.3097329 + 33000 0.84862926 0 1.0564042 5.7795428 4.925409 + 34000 0.83621877 0 1.079387 5.7514243 5.5410852 + 35000 0.86938506 0 1.031783 4.5897825 6.1567613 + 36000 0.88990609 0 1.0807597 5.3751744 6.7724374 + 37000 0.89534631 0 1.1238882 5.2400355 7.3881135 + 38000 0.98545003 0 1.2121125 5.7783854 -7.3881135 + 39000 0.96737778 0 1.2472934 6.1139 -6.7724374 + 40000 1.0664194 0 1.2956811 5.7353661 -6.1567613 + 41000 1.0681494 0 1.3269435 6.3102722 -5.5410852 + 42000 1.0875422 0 1.3963739 7.1208066 -4.925409 + 43000 1.0968173 0 1.3388062 6.1704339 -4.3097329 + 44000 1.1182109 0 1.3773214 7.0872686 -3.6940568 + 45000 1.1243261 0 1.432186 6.884782 -3.0783806 + 46000 1.039713 0 1.4389721 7.5585257 -2.4627045 + 47000 1.0816108 0 1.4100361 6.4611126 -1.8470284 + 48000 0.97637127 0 1.3605389 7.3992744 -1.2313523 + 49000 1.0361978 0 1.2721873 5.8166109 -0.61567613 + 50000 0.92367087 0 1.1875669 6.4685214 0 +Loop time of 13.6129 on 2 procs for 50000 steps with 160 atoms + +Performance: 1586733.497 tau/day, 3672.994 timesteps/s +59.3% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0015125 | 0.0015551 | 0.0015976 | 0.1 | 0.01 +Comm | 0.026598 | 0.028413 | 0.030227 | 1.1 | 0.21 +Output | 0.00046492 | 0.00063884 | 0.00081277 | 0.0 | 0.00 +Modify | 13.465 | 13.483 | 13.501 | 0.5 | 99.04 +Other | | 0.0994 | | | 0.73 + +Nlocal: 80 ave 80 max 80 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 5257 +Dangerous builds = 0 +Total wall time: 0:00:13 diff --git a/examples/message/log.28Aug18.message.tilt.g++.1 b/examples/message/log.28Aug18.message.tilt.g++.1 new file mode 100644 index 0000000000..3f7cfc9da0 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.g++.1 @@ -0,0 +1,129 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - no client/server mode + +units lj +atom_style atomic +dimension 2 + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000437021 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.065 | 3.065 | 3.065 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.1326992 0.25863754 1.3842573 6.0588079 0.61567613 + 2000 1.0158438 0.33502643 1.3445212 7.2638652 1.2313523 + 3000 1.0968167 0.3149227 1.4048843 7.0653223 1.8470284 + 4000 1.0070993 0.40611915 1.4069241 7.7283521 2.4627045 + 5000 1.1153133 0.2674828 1.3758254 6.2949171 3.0783806 + 6000 1.0170665 0.25843673 1.2691466 6.049412 3.6940568 + 7000 1.0224605 0.20974914 1.2258193 5.5104976 4.3097329 + 8000 0.96149374 0.24035439 1.1958388 5.4179146 4.925409 + 9000 0.87759014 0.2590493 1.1311545 5.8711239 5.5410852 + 10000 0.83791968 0.23477897 1.0674617 5.666904 6.1567613 + 11000 0.87702487 0.22958877 1.1011322 5.9068062 6.7724374 + 12000 0.81507294 0.26375817 1.0737369 5.9166925 7.3881135 + 13000 0.85655284 0.24676491 1.0979643 5.6918734 -7.3881135 + 14000 0.84369293 0.27818471 1.1166046 6.4146184 -6.7724374 + 15000 0.90052173 0.19836095 1.0932544 5.2690913 -6.1567613 + 16000 0.83836874 0.26921637 1.1023453 5.9579526 -5.5410852 + 17000 0.90492897 0.21933098 1.1186041 5.6042194 -4.925409 + 18000 0.90113412 0.24880908 1.1443111 6.0634846 -4.3097329 + 19000 1.0160445 0.17252962 1.1822239 5.3149334 -3.6940568 + 20000 0.96217234 0.2414377 1.1975965 5.476653 -3.0783806 + 21000 0.98229664 0.27569118 1.2518485 5.9340174 -2.4627045 + 22000 1.0551763 0.26997615 1.3185576 6.2094112 -1.8470284 + 23000 1.051999 0.34076639 1.3861904 7.082385 -1.2313523 + 24000 1.1350071 0.23701844 1.3649317 6.1829742 -0.61567613 + 25000 1.0946409 0.33366032 1.4214597 7.1907559 0 + 26000 1.1511799 0.24626808 1.3902531 5.8469984 0.61567613 + 27000 1.1009203 0.25653085 1.3505704 6.1504287 1.2313523 + 28000 1.0521302 0.2876798 1.3332342 5.9906187 1.8470284 + 29000 1.0518465 0.21853 1.2638025 5.6577549 2.4627045 + 30000 0.97264625 0.28758145 1.2541487 6.5769804 3.0783806 + 31000 1.0133579 0.31575837 1.3227828 6.6650893 3.6940568 + 32000 1.0714324 0.28757036 1.3523063 6.2682059 4.3097329 + 33000 1.0739451 0.28062459 1.3478575 6.6862746 4.925409 + 34000 1.0056867 0.38289586 1.382297 7.1120131 5.5410852 + 35000 1.0911349 0.26370939 1.3480247 6.1476048 6.1567613 + 36000 1.0618618 0.28269593 1.3379211 6.9414608 6.7724374 + 37000 1.0704991 0.29974994 1.3635585 7.0834346 7.3881135 + 38000 1.1087507 0.2682201 1.3700411 5.8506019 -7.3881135 + 39000 1.1303733 0.22362416 1.3469326 5.2500269 -6.7724374 + 40000 1.0174248 0.28956571 1.3006316 6.4491571 -6.1567613 + 41000 0.95981887 0.29162143 1.2454414 6.4658646 -5.5410852 + 42000 0.88302144 0.30432252 1.1818251 6.7401923 -4.925409 + 43000 0.93164419 0.25110308 1.1769245 5.9067383 -4.3097329 + 44000 0.98352598 0.23322873 1.2106077 5.5606585 -3.6940568 + 45000 1.0247245 0.26503082 1.2833508 6.533394 -3.0783806 + 46000 0.93004532 0.32277782 1.2470104 6.4689179 -2.4627045 + 47000 1.0653176 0.29185413 1.3505135 6.9534569 -1.8470284 + 48000 1.0401524 0.3420245 1.3756759 6.8016042 -1.2313523 + 49000 1.0023407 0.31833091 1.314407 6.7385662 -0.61567613 + 50000 1.0566272 0.28657142 1.3365947 6.261203 0 +Loop time of 1.15672 on 1 procs for 50000 steps with 160 atoms + +Performance: 18673426.371 tau/day, 43225.524 timesteps/s +99.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.19267 | 0.19267 | 0.19267 | 0.0 | 16.66 +Neigh | 0.15156 | 0.15156 | 0.15156 | 0.0 | 13.10 +Comm | 0.044569 | 0.044569 | 0.044569 | 0.0 | 3.85 +Output | 0.00057936 | 0.00057936 | 0.00057936 | 0.0 | 0.05 +Modify | 0.71051 | 0.71051 | 0.71051 | 0.0 | 61.42 +Other | | 0.05684 | | | 4.91 + +Nlocal: 160 ave 160 max 160 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 71 ave 71 max 71 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 362 ave 362 max 362 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 362 +Ave neighs/atom = 2.2625 +Neighbor list builds = 5256 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/message/log.28Aug18.message.tilt.g++.4 b/examples/message/log.28Aug18.message.tilt.g++.4 new file mode 100644 index 0000000000..74061463f6 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.g++.4 @@ -0,0 +1,129 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - no client/server mode + +units lj +atom_style atomic +dimension 2 + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000396967 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.065 | 3.065 | 3.065 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.1326992 0.25863754 1.3842573 6.0588079 0.61567613 + 2000 1.0158438 0.33502643 1.3445212 7.2638652 1.2313523 + 3000 1.0968167 0.3149227 1.4048843 7.0653223 1.8470284 + 4000 1.0070993 0.40611915 1.4069241 7.7283521 2.4627045 + 5000 1.1153133 0.2674828 1.3758254 6.2949171 3.0783806 + 6000 1.0170665 0.25843673 1.2691466 6.049412 3.6940568 + 7000 1.0224605 0.20974914 1.2258193 5.5104976 4.3097329 + 8000 0.96149374 0.24035439 1.1958388 5.4179146 4.925409 + 9000 0.87759014 0.2590493 1.1311545 5.8711239 5.5410852 + 10000 0.83791968 0.23477897 1.0674617 5.666904 6.1567613 + 11000 0.87702487 0.22958877 1.1011322 5.9068062 6.7724374 + 12000 0.81507294 0.26375817 1.0737369 5.9166925 7.3881135 + 13000 0.85655284 0.24676491 1.0979643 5.6918734 -7.3881135 + 14000 0.84369293 0.27818471 1.1166046 6.4146184 -6.7724374 + 15000 0.90052173 0.19836095 1.0932544 5.2690913 -6.1567613 + 16000 0.83836874 0.26921637 1.1023453 5.9579526 -5.5410852 + 17000 0.90492897 0.21933098 1.1186041 5.6042194 -4.925409 + 18000 0.90113412 0.24880908 1.1443111 6.0634846 -4.3097329 + 19000 1.0160445 0.17252962 1.1822239 5.3149334 -3.6940568 + 20000 0.96217234 0.2414377 1.1975965 5.476653 -3.0783806 + 21000 0.98229664 0.27569118 1.2518485 5.9340174 -2.4627045 + 22000 1.0551763 0.26997615 1.3185576 6.2094112 -1.8470284 + 23000 1.051999 0.34076639 1.3861904 7.082385 -1.2313523 + 24000 1.1350071 0.23701844 1.3649317 6.1829742 -0.61567613 + 25000 1.0946409 0.33366032 1.4214597 7.1907559 0 + 26000 1.1511799 0.24626808 1.3902531 5.8469984 0.61567613 + 27000 1.1009203 0.25653085 1.3505704 6.1504287 1.2313523 + 28000 1.0521302 0.2876798 1.3332342 5.9906187 1.8470284 + 29000 1.0518465 0.21853 1.2638025 5.6577549 2.4627045 + 30000 0.97264625 0.28758145 1.2541487 6.5769804 3.0783806 + 31000 1.0133579 0.31575837 1.3227828 6.6650893 3.6940568 + 32000 1.0714324 0.28757036 1.3523063 6.2682059 4.3097329 + 33000 1.0739451 0.28062459 1.3478575 6.6862746 4.925409 + 34000 1.0056867 0.38289586 1.382297 7.1120131 5.5410852 + 35000 1.0911349 0.26370939 1.3480247 6.1476048 6.1567613 + 36000 1.0618618 0.28269593 1.3379211 6.9414608 6.7724374 + 37000 1.0704991 0.29974994 1.3635585 7.0834346 7.3881135 + 38000 1.1087507 0.2682201 1.3700411 5.8506019 -7.3881135 + 39000 1.1303733 0.22362416 1.3469326 5.2500269 -6.7724374 + 40000 1.0174248 0.28956571 1.3006316 6.4491571 -6.1567613 + 41000 0.95981887 0.29162143 1.2454414 6.4658646 -5.5410852 + 42000 0.88302144 0.30432252 1.1818251 6.7401923 -4.925409 + 43000 0.93164419 0.25110308 1.1769245 5.9067383 -4.3097329 + 44000 0.98352598 0.23322873 1.2106077 5.5606585 -3.6940568 + 45000 1.0247245 0.26503082 1.2833508 6.533394 -3.0783806 + 46000 0.93004532 0.32277782 1.2470104 6.4689179 -2.4627045 + 47000 1.0653176 0.29185413 1.3505135 6.9534569 -1.8470284 + 48000 1.0401524 0.3420245 1.3756759 6.8016042 -1.2313523 + 49000 1.0023407 0.31833091 1.314407 6.7385662 -0.61567613 + 50000 1.0566272 0.28657142 1.3365947 6.261203 0 +Loop time of 0.92653 on 1 procs for 50000 steps with 160 atoms + +Performance: 23312793.646 tau/day, 53964.800 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.15063 | 0.15063 | 0.15063 | 0.0 | 16.26 +Neigh | 0.11869 | 0.11869 | 0.11869 | 0.0 | 12.81 +Comm | 0.035839 | 0.035839 | 0.035839 | 0.0 | 3.87 +Output | 0.00064468 | 0.00064468 | 0.00064468 | 0.0 | 0.07 +Modify | 0.57422 | 0.57422 | 0.57422 | 0.0 | 61.98 +Other | | 0.0465 | | | 5.02 + +Nlocal: 160 ave 160 max 160 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 71 ave 71 max 71 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 362 ave 362 max 362 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 362 +Ave neighs/atom = 2.2625 +Neighbor list builds = 5256 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.tilt.server.mpione.g++.1 b/examples/message/log.28Aug18.message.tilt.server.mpione.g++.1 new file mode 100644 index 0000000000..428ff346ad --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.server.mpione.g++.1 @@ -0,0 +1,48 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/one + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000438929 secs +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Server MD calls = 50001 +Server MD reneighborings 5073 +Total wall time: 0:00:01 diff --git a/examples/message/log.28Aug18.message.tilt.server.mpione.g++.4 b/examples/message/log.28Aug18.message.tilt.server.mpione.g++.4 new file mode 100644 index 0000000000..3da50163ed --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.server.mpione.g++.4 @@ -0,0 +1,48 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/one + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000455141 secs +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 2 by 2 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Server MD calls = 50001 +Server MD reneighborings 5066 +Total wall time: 0:00:02 diff --git a/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.1 b/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.1 new file mode 100644 index 0000000000..fc29a6da63 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.1 @@ -0,0 +1,48 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/two tmp.couple + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000521898 secs +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Server MD calls = 50001 +Server MD reneighborings 5073 +Total wall time: 0:00:04 diff --git a/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.4 b/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.4 new file mode 100644 index 0000000000..758b84fe9d --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.4 @@ -0,0 +1,48 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/two tmp.couple + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000378847 secs +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 2 by 2 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Server MD calls = 50001 +Server MD reneighborings 5066 +Total wall time: 0:00:06 diff --git a/examples/message/log.28Aug18.message.tilt.server.zmq.g++.1 b/examples/message/log.28Aug18.message.tilt.server.zmq.g++.1 new file mode 100644 index 0000000000..78526ba748 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.server.zmq.g++.1 @@ -0,0 +1,48 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md zmq *:5555 + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000557184 secs +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Server MD calls = 50001 +Server MD reneighborings 5073 +Total wall time: 0:00:12 diff --git a/examples/message/log.28Aug18.message.tilt.server.zmq.g++.4 b/examples/message/log.28Aug18.message.tilt.server.zmq.g++.4 new file mode 100644 index 0000000000..b1ad768470 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.server.zmq.g++.4 @@ -0,0 +1,48 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md zmq *:5555 + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000586987 secs +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 2 by 2 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Server MD calls = 50001 +Server MD reneighborings 5066 +Total wall time: 0:00:13 diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp index 97d0436a27..bfcca4841b 100644 --- a/src/MESSAGE/fix_client_md.cpp +++ b/src/MESSAGE/fix_client_md.cpp @@ -14,6 +14,7 @@ #include #include #include "fix_client_md.h" +#include "update.h" #include "atom.h" #include "comm.h" #include "domain.h" @@ -28,7 +29,7 @@ using namespace LAMMPS_NS; using namespace CSLIB_NS; using namespace FixConst; -enum{OTHER,REAL,METAL} +enum{OTHER,REAL,METAL}; enum{SETUP=1,STEP}; enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; enum{FORCES=1,ENERGY,VIRIAL,ERROR}; @@ -154,7 +155,7 @@ void FixClientMD::setup(int vflag) receive_fev(vflag); if (server_error) { - str = char[64]; + char str[64]; sprintf(str,"Fix client/md received server error %d\n",server_error); error->all(FLERR,str); } @@ -205,7 +206,7 @@ void FixClientMD::post_force(int vflag) receive_fev(vflag); if (server_error) { - str = char[64]; + char str[64]; sprintf(str,"Fix client/md received server error %d\n",server_error); error->all(FLERR,str); } diff --git a/src/MESSAGE/fix_client_md.h b/src/MESSAGE/fix_client_md.h index 9c70e4c026..262a4736ed 100644 --- a/src/MESSAGE/fix_client_md.h +++ b/src/MESSAGE/fix_client_md.h @@ -37,16 +37,16 @@ class FixClientMD : public Fix { double compute_scalar(); private: - int maxatom,units; - double box[3][3]; + int maxatom,units,server_error; double eng; - double *xpbc; - double inv_nprocs; double fconvert,econvert,vconvert; + double box[3][3]; + double *xpbc; void pack_coords(); - void receive_fev(int ); + void pack_box(); + void receive_fev(int); }; } diff --git a/src/MESSAGE/server_md.cpp b/src/MESSAGE/server_md.cpp index 340431021b..e51571e972 100644 --- a/src/MESSAGE/server_md.cpp +++ b/src/MESSAGE/server_md.cpp @@ -24,6 +24,7 @@ #include "neighbor.h" #include "comm.h" #include "domain.h" +#include "memory.h" #include "error.h" // CSlib interface @@ -33,7 +34,7 @@ using namespace LAMMPS_NS; using namespace CSLIB_NS; -enum{OTHER,REAL,METAL} +enum{OTHER,REAL,METAL}; enum{SETUP=1,STEP}; enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; enum{FORCES=1,ENERGY,VIRIAL,ERROR}; @@ -68,7 +69,7 @@ ServerMD::ServerMD(LAMMPS *lmp) : Pointers(lmp) /* ---------------------------------------------------------------------- */ -ServerMD::~ServerMD(); +ServerMD::~ServerMD() { memory->destroy(fcopy); } @@ -113,7 +114,7 @@ void ServerMD::loop() double *box = NULL; int *types = NULL; double *coords = NULL; - char *units = NULL; + char *unit_style = NULL; double *charge = NULL; for (int ifield = 0; ifield < nfield; ifield++) { @@ -124,7 +125,7 @@ void ServerMD::loop() } else if (fieldID[ifield] == PERIODICITY) { periodicity = (int *) cs->unpack(PERIODICITY); if (periodicity[0] != domain->periodicity[0] || - periodicity[1] != domain->periodicity[1] + periodicity[1] != domain->periodicity[1] || periodicity[2] != domain->periodicity[2]) error->all(FLERR,"Server md periodicity mis-match with client"); } else if (fieldID[ifield] == ORIGIN) { @@ -145,7 +146,7 @@ void ServerMD::loop() coords = (double *) cs->unpack(COORDS); } else if (fieldID[ifield] == UNITS) { - units = (char *) cs->unpack(UNITS); + unit_style = (char *) cs->unpack(UNITS); } else if (fieldID[ifield] == CHARGE) { charge = (double *) cs->unpack(CHARGE); } else error->all(FLERR,"Server md setup field unknown"); @@ -155,7 +156,7 @@ void ServerMD::loop() natoms < 0 || ntypes < 0 || !types || !coords) error->all(FLERR,"Required server md setup field not received"); - if (units && strcmp(units,update->unit_style) != 0) + if (unit_style && strcmp(unit_style,update->unit_style) != 0) error->all(FLERR,"Server md does not match client units"); if (charge && atom->q_flag == 0) @@ -221,7 +222,7 @@ void ServerMD::loop() // STEP receive at each timestep of run or minimization // required fields: COORDS - // optional fields: BOXLO, BOXHI, BOXTILT + // optional fields: ORIGIN, BOX } else if (msgID == STEP) { @@ -354,7 +355,7 @@ void ServerMD::send_fev(int msgID) else { double **f = atom->f; int nlocal = atom->nlocal; - for (i = 0; i < nlocal; i++) { + for (int i = 0; i < nlocal; i++) { fcopy[i][0] = fconvert*f[i][0]; fcopy[i][1] = fconvert*f[i][1]; fcopy[i][2] = fconvert*f[i][2]; diff --git a/src/MESSAGE/server_md.h b/src/MESSAGE/server_md.h index ecc713a4e8..35daad8df0 100644 --- a/src/MESSAGE/server_md.h +++ b/src/MESSAGE/server_md.h @@ -26,9 +26,10 @@ class ServerMD : protected Pointers { private: int units; + double fconvert,econvert,vconvert; double **fcopy; - void box_change(double *, double *, double *); + void box_change(double *, double *); void send_fev(int); }; -- GitLab From 6ea33e3e893f4db561b50d46ebce383ff1460e48 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 29 Aug 2018 06:51:20 -0400 Subject: [PATCH 623/675] Fix typo and use ZMQ stubs in CMake when necessary --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index f22df48afe..9f6a31557f 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -500,7 +500,7 @@ if(PKG_MESSAGE) target_link_libraries(cslib PUBLIC ${ZMQ_LIBRARIES}) else() target_compile_definitions(cslib PRIVATE -DZMQ_NO) - target_include_directories(cslib PRIVATE ${LAMMPS_SOURCE_DIR}/message/cslib/src/STUBS_ZMQ) + target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_ZMQ) endif() list(APPEND LAMMPS_LINK_LIBS cslib) -- GitLab From 4c32a551bd62710628cfd04c8bb71c9f69555b32 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 29 Aug 2018 07:24:38 -0400 Subject: [PATCH 624/675] Rename to libcs.a --- cmake/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 9f6a31557f..5541d8367e 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -486,6 +486,7 @@ if(PKG_MESSAGE) file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.F ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.c ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.cpp) add_library(cslib STATIC ${cslib_SOURCES}) + set_target_properties(cslib PROPERTIES OUTPUT_NAME "cs") if(BUILD_MPI) target_compile_definitions(cslib PRIVATE -DMPI_YES) -- GitLab From a7e9076bc08c44a582224f50dab4a895b769722e Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 29 Aug 2018 07:30:53 -0400 Subject: [PATCH 625/675] Rename to libcsmpi/libcsnompi like in Makefile --- cmake/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 5541d8367e..d83289b178 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -486,12 +486,13 @@ if(PKG_MESSAGE) file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.F ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.c ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.cpp) add_library(cslib STATIC ${cslib_SOURCES}) - set_target_properties(cslib PROPERTIES OUTPUT_NAME "cs") if(BUILD_MPI) target_compile_definitions(cslib PRIVATE -DMPI_YES) + set_target_properties(cslib PROPERTIES OUTPUT_NAME "csmpi") else() target_compile_definitions(cslib PRIVATE -DMPI_NO) + set_target_properties(cslib PROPERTIES OUTPUT_NAME "csnompi") endif() if(MESSAGE_ZMQ) -- GitLab From 0860b9e674571d1735387dbb721b18636fc67d31 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 29 Aug 2018 07:52:16 -0400 Subject: [PATCH 626/675] Build cslib static or as shared --- cmake/CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index d83289b178..c61110bb46 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -485,7 +485,12 @@ if(PKG_MESSAGE) option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF) file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.F ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.c ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.cpp) - add_library(cslib STATIC ${cslib_SOURCES}) + + if(BUILD_SHARED_LIBS) + add_library(cslib SHARED ${cslib_SOURCES}) + else() + add_library(cslib STATIC ${cslib_SOURCES}) + endif() if(BUILD_MPI) target_compile_definitions(cslib PRIVATE -DMPI_YES) -- GitLab From c5861307f6f3d16570eea928d62a658608b0eaa3 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Wed, 29 Aug 2018 10:58:09 -0600 Subject: [PATCH 627/675] cmake: add FindLAMMPS.cmake.in --- cmake/CMakeLists.txt | 14 ++++++------ cmake/FindLAMMPS.cmake.in | 47 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 cmake/FindLAMMPS.cmake.in diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 3ef3e8d7f4..ec33f913e0 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1041,13 +1041,13 @@ if(BUILD_LIB) add_dependencies(lammps ${LAMMPS_DEPS}) endif() set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LIB_SUFFIX}) - if(BUILD_SHARED_LIBS) - set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION}) - install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps) - configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - endif() + set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION}) + install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps) + configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + configure_file(FindLAMMPS.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LIB_SUFFIX}.cmake @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LIB_SUFFIX}.cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Module) else() list(APPEND LMP_SOURCES ${LIB_SOURCES}) endif() diff --git a/cmake/FindLAMMPS.cmake.in b/cmake/FindLAMMPS.cmake.in new file mode 100644 index 0000000000..e8fac703af --- /dev/null +++ b/cmake/FindLAMMPS.cmake.in @@ -0,0 +1,47 @@ +# - Find liblammps +# Find the native liblammps headers and libraries. +# +# The following variables will set: +# LAMMPS_INCLUDE_DIRS - where to find lammps/library.h, etc. +# LAMMPS_LIBRARIES - List of libraries when using lammps. +# LAMMPS_VERSION - lammps library version +# LAMMPS_FOUND - True if liblammps found. +# +# In addition a LAMMPS::LAMMPS imported target is getting created. +# +# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +# http://lammps.sandia.gov, Sandia National Laboratories +# Steve Plimpton, sjplimp@sandia.gov +# +# Copyright (2003) Sandia Corporation. Under the terms of Contract +# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains +# certain rights in this software. This software is distributed under +# the GNU General Public License. +# +# See the README file in the top-level LAMMPS directory. +# + +find_package(PkgConfig) + +pkg_check_modules(PC_LAMMPS liblammps@LIB_SUFFIX@) +find_path(LAMMPS_INCLUDE_DIR lammps/library.h HINTS ${PC_LAMMPS_INCLUDE_DIRS} @CMAKE_INSTALL_FULL_INCLUDEDIR@) + +# TODO figure out library version from header +set(LAMMPS_VERSION 20180822) + +find_library(LAMMPS_LIBRARY NAMES lammps@LIB_SUFFIX@ HINTS ${PC_LAMMPS_LIBRARY_DIRS} @CMAKE_INSTALL_FULL_LIBDIR@) + +set(LAMMPS_INCLUDE_DIRS "${LAMMPS_INCLUDE_DIR}") +set(LAMMPS_LIBRARIES "${LAMMPS_LIBRARY}") + +include(FindPackageHandleStandardArgs) +# handle the QUIETLY and REQUIRED arguments and set LAMMPS_FOUND to TRUE +# if all listed variables are TRUE +find_package_handle_standard_args(LAMMPS REQUIRED_VARS LAMMPS_LIBRARY LAMMPS_INCLUDE_DIR VERSION_VAR LAMMPS_VERSION) + +mark_as_advanced(LAMMPS_INCLUDE_DIR LAMMPS_LIBRARY) + +if(LAMMPS_FOUND AND NOT TARGET LAMMPS::LAMMPS) + add_library(LAMMPS::LAMMPS UNKNOWN IMPORTED) + set_target_properties(LAMMPS::LAMMPS PROPERTIES IMPORTED_LOCATION ${LAMMPS_LIBRARY} INTERFACE_INCLUDE_DIRECTORIES ${LAMMPS_INCLUDE_DIR}) +endif() -- GitLab From 499ffa198d0a1c4b98507e11dc92fc053e12d284 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Wed, 29 Aug 2018 11:31:28 -0600 Subject: [PATCH 628/675] cmake: change too generic LIB_SUFFIX to LAMMPS_LIB_SUFFIX --- cmake/CMakeLists.txt | 18 +++++++++--------- cmake/FindLAMMPS.cmake.in | 4 ++-- cmake/pkgconfig/liblammps.pc.in | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index ec33f913e0..d3d5499ca8 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -121,10 +121,10 @@ if(BUILD_LIB) if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif() - set(LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file") - mark_as_advanced(LIB_SUFFIX) - if(LIB_SUFFIX) - set(LIB_SUFFIX "_${LIB_SUFFIX}") + set(LAMMPS_LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file") + mark_as_advanced(LAMMPS_LIB_SUFFIX) + if(LAMMPS_LIB_SUFFIX) + set(LAMMPS_LIB_SUFFIX "_${LAMMPS_LIB_SUFFIX}") endif() endif() @@ -1040,14 +1040,14 @@ if(BUILD_LIB) if(LAMMPS_DEPS) add_dependencies(lammps ${LAMMPS_DEPS}) endif() - set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LIB_SUFFIX}) + set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_LIB_SUFFIX}) set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION}) install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps) - configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - configure_file(FindLAMMPS.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LIB_SUFFIX}.cmake @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LIB_SUFFIX}.cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Module) + configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + configure_file(FindLAMMPS.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Module) else() list(APPEND LMP_SOURCES ${LIB_SOURCES}) endif() diff --git a/cmake/FindLAMMPS.cmake.in b/cmake/FindLAMMPS.cmake.in index e8fac703af..e816f63f43 100644 --- a/cmake/FindLAMMPS.cmake.in +++ b/cmake/FindLAMMPS.cmake.in @@ -23,13 +23,13 @@ find_package(PkgConfig) -pkg_check_modules(PC_LAMMPS liblammps@LIB_SUFFIX@) +pkg_check_modules(PC_LAMMPS liblammps@LAMMPS_LIB_SUFFIX@) find_path(LAMMPS_INCLUDE_DIR lammps/library.h HINTS ${PC_LAMMPS_INCLUDE_DIRS} @CMAKE_INSTALL_FULL_INCLUDEDIR@) # TODO figure out library version from header set(LAMMPS_VERSION 20180822) -find_library(LAMMPS_LIBRARY NAMES lammps@LIB_SUFFIX@ HINTS ${PC_LAMMPS_LIBRARY_DIRS} @CMAKE_INSTALL_FULL_LIBDIR@) +find_library(LAMMPS_LIBRARY NAMES lammps@LAMMPS_LIB_SUFFIX@ HINTS ${PC_LAMMPS_LIBRARY_DIRS} @CMAKE_INSTALL_FULL_LIBDIR@) set(LAMMPS_INCLUDE_DIRS "${LAMMPS_INCLUDE_DIR}") set(LAMMPS_LIBRARIES "${LAMMPS_LIBRARY}") diff --git a/cmake/pkgconfig/liblammps.pc.in b/cmake/pkgconfig/liblammps.pc.in index 400b7593cf..41431bb54a 100644 --- a/cmake/pkgconfig/liblammps.pc.in +++ b/cmake/pkgconfig/liblammps.pc.in @@ -13,6 +13,6 @@ Description: Large-scale Atomic/Molecular Massively Parallel Simulator Library URL: http://lammps.sandia.gov Version: Requires: -Libs: -L${libdir} -llammps@LIB_SUFFIX@@ +Libs: -L${libdir} -llammps@LAMMPS_LIB_SUFFIX@@ Libs.private: -lm Cflags: -I${includedir} @LAMMPS_API_DEFINES@ -- GitLab From 054abe280eabd73dc257941d002214674d5f52cd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 29 Aug 2018 14:55:36 -0400 Subject: [PATCH 629/675] squash some more compiler warnings --- src/fix_tmd.cpp | 2 +- src/library.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/fix_tmd.cpp b/src/fix_tmd.cpp index ea448bd178..dd11dfd0c7 100644 --- a/src/fix_tmd.cpp +++ b/src/fix_tmd.cpp @@ -412,7 +412,7 @@ void FixTMD::readfile(char *file) m++; } - MPI_Bcast(&eof,sizeof(char *)/sizeof(char),MPI_CHAR,0,world); + MPI_Bcast(&eof,sizeof(char *),MPI_CHAR,0,world); MPI_Bcast(&nlines,1,MPI_INT,0,world); MPI_Bcast(&m,1,MPI_INT,0,world); MPI_Bcast(buffer,m,MPI_CHAR,0,world); diff --git a/src/library.cpp b/src/library.cpp index 245ae7ba84..a46689da09 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -1515,7 +1515,8 @@ void lammps_create_atoms(void *ptr, int n, tagint *id, int *type, if (lmp->atom->natoms != natoms_prev + n) { char str[128]; sprintf(str,"Library warning in lammps_create_atoms, " - "invalid total atoms " BIGINT_FORMAT " %lld",lmp->atom->natoms,natoms_prev+n); + "invalid total atoms " BIGINT_FORMAT " " BIGINT_FORMAT, + lmp->atom->natoms,natoms_prev+n); if (lmp->comm->me == 0) lmp->error->warning(FLERR,str); } -- GitLab From 47b8a116a67b2971cdfe72a7bb3f0d858f6868ab Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Wed, 29 Aug 2018 13:20:04 -0600 Subject: [PATCH 630/675] liblammps.pc: fixed a typo --- cmake/pkgconfig/liblammps.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/pkgconfig/liblammps.pc.in b/cmake/pkgconfig/liblammps.pc.in index 41431bb54a..b9f35e9012 100644 --- a/cmake/pkgconfig/liblammps.pc.in +++ b/cmake/pkgconfig/liblammps.pc.in @@ -13,6 +13,6 @@ Description: Large-scale Atomic/Molecular Massively Parallel Simulator Library URL: http://lammps.sandia.gov Version: Requires: -Libs: -L${libdir} -llammps@LAMMPS_LIB_SUFFIX@@ +Libs: -L${libdir} -llammps@LAMMPS_LIB_SUFFIX@ Libs.private: -lm Cflags: -I${includedir} @LAMMPS_API_DEFINES@ -- GitLab From db180209b3faec15d72abccbaaff9ec52ddf4960 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Wed, 29 Aug 2018 13:20:25 -0600 Subject: [PATCH 631/675] FindLAMMPS.cmake: add LAMMPS_API_DEFINES --- cmake/FindLAMMPS.cmake.in | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmake/FindLAMMPS.cmake.in b/cmake/FindLAMMPS.cmake.in index e816f63f43..fc6dbb1a71 100644 --- a/cmake/FindLAMMPS.cmake.in +++ b/cmake/FindLAMMPS.cmake.in @@ -4,6 +4,7 @@ # The following variables will set: # LAMMPS_INCLUDE_DIRS - where to find lammps/library.h, etc. # LAMMPS_LIBRARIES - List of libraries when using lammps. +# LAMMPS_API_DEFINES - lammps library api defines # LAMMPS_VERSION - lammps library version # LAMMPS_FOUND - True if liblammps found. # @@ -26,8 +27,9 @@ find_package(PkgConfig) pkg_check_modules(PC_LAMMPS liblammps@LAMMPS_LIB_SUFFIX@) find_path(LAMMPS_INCLUDE_DIR lammps/library.h HINTS ${PC_LAMMPS_INCLUDE_DIRS} @CMAKE_INSTALL_FULL_INCLUDEDIR@) -# TODO figure out library version from header +# TODO figure these out library version from header set(LAMMPS_VERSION 20180822) +set(LAMMPS_API_DEFINES @LAMMPS_API_DEFINES@) find_library(LAMMPS_LIBRARY NAMES lammps@LAMMPS_LIB_SUFFIX@ HINTS ${PC_LAMMPS_LIBRARY_DIRS} @CMAKE_INSTALL_FULL_LIBDIR@) @@ -43,5 +45,5 @@ mark_as_advanced(LAMMPS_INCLUDE_DIR LAMMPS_LIBRARY) if(LAMMPS_FOUND AND NOT TARGET LAMMPS::LAMMPS) add_library(LAMMPS::LAMMPS UNKNOWN IMPORTED) - set_target_properties(LAMMPS::LAMMPS PROPERTIES IMPORTED_LOCATION ${LAMMPS_LIBRARY} INTERFACE_INCLUDE_DIRECTORIES ${LAMMPS_INCLUDE_DIR}) + set_target_properties(LAMMPS::LAMMPS PROPERTIES IMPORTED_LOCATION "${LAMMPS_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${LAMMPS_INCLUDE_DIR}" INTERFACE_COMPILE_DEFINITIONS "${LAMMPS_API_DEFINES}") endif() -- GitLab From b0f5400d52c2cbf2c261437f20a4ab986b632b46 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 29 Aug 2018 16:12:16 -0400 Subject: [PATCH 632/675] Add utility function to determine LAMMPS version in CMake --- cmake/CMakeLists.txt | 23 +++++++++++++++++++++++ cmake/FindLAMMPS.cmake.in | 3 +-- cmake/pkgconfig/liblammps.pc.in | 2 +- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index d3d5499ca8..53ac20f5d9 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -43,6 +43,29 @@ function(validate_option name values) endif() endfunction(validate_option) +function(get_lammps_version version_header variable) + file(READ ${version_header} line) + set(MONTHS x Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec) + string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\1" day "${line}") + string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\2" month "${line}") + string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\3" year "${line}") + string(STRIP ${day} day) + string(STRIP ${month} month) + string(STRIP ${year} year) + list(FIND MONTHS "${month}" month) + string(LENGTH ${day} day_length) + string(LENGTH ${month} month_length) + if(day_length EQUAL 1) + set(day "0${day}") + endif() + if(month_length EQUAL 1) + set(month "0${month}") + endif() + set(${variable} "${year}${month}${day}" PARENT_SCOPE) +endfunction() + +get_lammps_version(${LAMMPS_SOURCE_DIR}/version.h LAMMPS_VERSION) + # Cmake modules/macros are in a subdirectory to keep this file cleaner set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules) diff --git a/cmake/FindLAMMPS.cmake.in b/cmake/FindLAMMPS.cmake.in index fc6dbb1a71..586df83c2d 100644 --- a/cmake/FindLAMMPS.cmake.in +++ b/cmake/FindLAMMPS.cmake.in @@ -27,8 +27,7 @@ find_package(PkgConfig) pkg_check_modules(PC_LAMMPS liblammps@LAMMPS_LIB_SUFFIX@) find_path(LAMMPS_INCLUDE_DIR lammps/library.h HINTS ${PC_LAMMPS_INCLUDE_DIRS} @CMAKE_INSTALL_FULL_INCLUDEDIR@) -# TODO figure these out library version from header -set(LAMMPS_VERSION 20180822) +set(LAMMPS_VERSION @LAMMPS_VERSION@) set(LAMMPS_API_DEFINES @LAMMPS_API_DEFINES@) find_library(LAMMPS_LIBRARY NAMES lammps@LAMMPS_LIB_SUFFIX@ HINTS ${PC_LAMMPS_LIBRARY_DIRS} @CMAKE_INSTALL_FULL_LIBDIR@) diff --git a/cmake/pkgconfig/liblammps.pc.in b/cmake/pkgconfig/liblammps.pc.in index b9f35e9012..445b2ab29e 100644 --- a/cmake/pkgconfig/liblammps.pc.in +++ b/cmake/pkgconfig/liblammps.pc.in @@ -4,7 +4,7 @@ # after you added @CMAKE_INSTALL_FULL_LIBDIR@/pkg-config to PKG_CONFIG_PATH, # e.g. export PKG_CONFIG_PATH=@CMAKE_INSTALL_FULL_LIBDIR@/pkgconfig -prefix=@CMAKE_INSTALL_FULL_PREFIX@ +prefix=@CMAKE_INSTALL_PREFIX@ libdir=@CMAKE_INSTALL_FULL_LIBDIR@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ -- GitLab From 8f5512eafec70cfc11280bf705cd80978e987e9b Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 31 Aug 2018 09:49:35 -0600 Subject: [PATCH 633/675] patch 31Aug18 --- doc/src/Manual.txt | 4 ++-- src/version.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index ad3e66a4b2..e442aa1808 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,7 +1,7 @@ LAMMPS Users Manual - + @@ -21,7 +21,7 @@ :line LAMMPS Documentation :c,h1 -22 Aug 2018 version :c,h2 +31 Aug 2018 version :c,h2 "What is a LAMMPS version?"_Manual_version.html diff --git a/src/version.h b/src/version.h index 2192b25d91..fbeeabff8d 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "22 Aug 2018" +#define LAMMPS_VERSION "31 Aug 2018" -- GitLab From 41f0951d0ce05d6f394f09a00972f52df837fe38 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Fri, 31 Aug 2018 10:09:03 -0600 Subject: [PATCH 634/675] liblammps.pc: add lammps version --- cmake/pkgconfig/liblammps.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/pkgconfig/liblammps.pc.in b/cmake/pkgconfig/liblammps.pc.in index 445b2ab29e..7850972f3b 100644 --- a/cmake/pkgconfig/liblammps.pc.in +++ b/cmake/pkgconfig/liblammps.pc.in @@ -11,7 +11,7 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ Name: liblammps@LAMMPS_MACHINE@ Description: Large-scale Atomic/Molecular Massively Parallel Simulator Library URL: http://lammps.sandia.gov -Version: +Version: @LAMMPS_VERSION@ Requires: Libs: -L${libdir} -llammps@LAMMPS_LIB_SUFFIX@ Libs.private: -lm -- GitLab From c4c5f9a32eb556ad78be55bdf188d9eae8c4e56b Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 31 Aug 2018 13:44:49 -0600 Subject: [PATCH 635/675] 2 new computes: chunk/spread/atom and reduce/chunk --- doc/src/Commands_compute.txt | 2 + doc/src/Howto_chunk.txt | 45 ++- doc/src/compute.txt | 2 + doc/src/compute_chunk_atom.txt | 11 +- doc/src/compute_chunk_spread_atom.txt | 173 +++++++++ doc/src/compute_reduce.txt | 6 +- doc/src/compute_reduce_chunk.txt | 177 +++++++++ doc/src/computes.txt | 2 + doc/src/lammps.book | 2 + src/compute_chunk_spread_atom.cpp | 352 ++++++++++++++++++ src/compute_chunk_spread_atom.h | 61 +++ src/compute_reduce.cpp | 1 + src/compute_reduce_chunk.cpp | 512 ++++++++++++++++++++++++++ src/compute_reduce_chunk.h | 77 ++++ 14 files changed, 1407 insertions(+), 16 deletions(-) create mode 100644 doc/src/compute_chunk_spread_atom.txt create mode 100644 doc/src/compute_reduce_chunk.txt create mode 100644 src/compute_chunk_spread_atom.cpp create mode 100644 src/compute_chunk_spread_atom.h create mode 100644 src/compute_reduce_chunk.cpp create mode 100644 src/compute_reduce_chunk.h diff --git a/doc/src/Commands_compute.txt b/doc/src/Commands_compute.txt index 028e274c9b..6185634187 100644 --- a/doc/src/Commands_compute.txt +++ b/doc/src/Commands_compute.txt @@ -35,6 +35,7 @@ KOKKOS, o = USER-OMP, t = OPT. "bond/local"_compute_bond_local.html, "centro/atom"_compute_centro_atom.html, "chunk/atom"_compute_chunk_atom.html, +"chunk/spread/atom"_compute_chunk_spread_atom.html, "cluster/atom"_compute_cluster_atom.html, "cna/atom"_compute_cna_atom.html, "cnp/atom"_compute_cnp_atom.html, @@ -97,6 +98,7 @@ KOKKOS, o = USER-OMP, t = OPT. "property/local"_compute_property_local.html, "rdf"_compute_rdf.html, "reduce"_compute_reduce.html, +"reduce/chunk"_compute_reduce_chunk.html, "reduce/region"_compute_reduce.html, "rigid/local"_compute_rigid_local.html, "saed"_compute_saed.html, diff --git a/doc/src/Howto_chunk.txt b/doc/src/Howto_chunk.txt index 8e52acf4b8..611b71dac7 100644 --- a/doc/src/Howto_chunk.txt +++ b/doc/src/Howto_chunk.txt @@ -22,7 +22,7 @@ commands, to calculate various properties of a system: "fix ave/chunk"_fix_ave_chunk.html any of the "compute */chunk"_compute.html commands :ul -Here, each of the 3 kinds of chunk-related commands is briefly +Here, each of the 4 kinds of chunk-related commands is briefly overviewed. Then some examples are given of how to compute different properties with chunk commands. @@ -83,8 +83,9 @@ chunk. Compute */chunk commands: :h4 -Currently the following computes operate on chunks of atoms to produce -per-chunk values. +The following computes operate on chunks of atoms to produce per-chunk +values. Any compute whose style name ends in "/chunk" is in this +category: "compute com/chunk"_compute_com_chunk.html "compute gyration/chunk"_compute_gyration_chunk.html @@ -111,8 +112,8 @@ of a center of mass, which requires summing mass*position over the atoms and then dividing by summed mass. All of these computes produce a global vector or global array as -output, wih one or more values per chunk. They can be used -in various ways: +output, wih one or more values per chunk. The output can be used in +various ways: As input to the "fix ave/time"_fix_ave_time.html command, which can write the values to a file and optionally time average them. :ulb,l @@ -122,9 +123,27 @@ histogram values across chunks. E.g. a histogram of cluster sizes or molecule diffusion rates. :l As input to special functions of "equal-style -variables"_variable.html, like sum() and max(). E.g. to find the -largest cluster or fastest diffusing molecule. :l -:ule +variables"_variable.html, like sum() and max() and ave(). E.g. to +find the largest cluster or fastest diffusing molecule or average +radius-of-gyration of a set of molecules (chunks). :l :ule + +Other chunk commands: :h4 + +"compute chunk/spread/atom"_compute_chunk_spread_atom.html +"compute reduce/chunk"_compute_reduce_chunk.html :ul + +The "compute chunk/spread/atom"_compute_chunk_spread_atom.html command +spreads per-chunk values to each atom in the chunk, producing per-atom +values as its output. This can be useful for outputting per-chunk +values to a per-atom "dump file"_dump.html. Or for using an atom's +associated chunk value in an "atom-style variable"_variable.html. + +The "compute reduce/chunk"_compute_reduce_chunk.html command reduces a +peratom value across the atoms in each chunk to produce a value per +chunk. When used with the "compute +chunk/spread/atom"_compute_chunk_spread_atom.html command it can +create peratom values that induce a new set of chunks with a second +"compute chunk/atom"_compute_chunk_atom.html command. Example calculations with chunks :h4 @@ -164,3 +183,13 @@ compute cluster all cluster/atom 1.0 compute cc1 all chunk/atom c_cluster compress yes compute size all property/chunk cc1 count fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo :pre + +(6) An example of using a per-chunk value to apply per-atom forces to +compress individual polymer chains (molecules) in a mixture, is +explained on the "compute +chunk/spread/atom"_compute_chunk_spread_atom.html command doc page. + +(7) An example of using one set of per-chunk values for molecule +chunks, to create a 2nd set of micelle-scale chunks (clustered +molecules, due to hydrophobicity), is explained on the "compute +chunk/reduce"_compute_reduce_chunk.html command doc page. diff --git a/doc/src/compute.txt b/doc/src/compute.txt index 8facb4de63..72ea1c1930 100644 --- a/doc/src/compute.txt +++ b/doc/src/compute.txt @@ -183,6 +183,7 @@ compute"_Commands_compute.html doc page are followed by one or more of "bond/local"_compute_bond_local.html - distance and energy of each bond "centro/atom"_compute_centro_atom.html - centro-symmetry parameter for each atom "chunk/atom"_compute_chunk_atom.html - assign chunk IDs to each atom +"chunk/spread/atom"_compute_chunk_spread_atom.html - spreads chunk values to each atom in chunk "cluster/atom"_compute_cluster_atom.html - cluster ID for each atom "cna/atom"_compute_cna_atom.html - common neighbor analysis (CNA) for each atom "com"_compute_com.html - center-of-mass of group of atoms @@ -225,6 +226,7 @@ compute"_Commands_compute.html doc page are followed by one or more of "property/chunk"_compute_property_chunk.html - extract various per-chunk attributes "rdf"_compute_rdf.html - radial distribution function g(r) histogram of group of atoms "reduce"_compute_reduce.html - combine per-atom quantities into a single global value +"reduce/chunk"_compute_reduce_chunk.html - reduce per-atom quantities within each chunk "reduce/region"_compute_reduce.html - same as compute reduce, within a region "rigid/local"_compute_rigid_local.html - extract rigid body attributes "slice"_compute_slice.html - extract values from global vector or array diff --git a/doc/src/compute_chunk_atom.txt b/doc/src/compute_chunk_atom.txt index e76b51e6ec..c29a5600a9 100644 --- a/doc/src/compute_chunk_atom.txt +++ b/doc/src/compute_chunk_atom.txt @@ -14,7 +14,7 @@ compute ID group-ID chunk/atom style args keyword values ... :pre ID, group-ID are documented in "compute"_compute.html command :ulb,l chunk/atom = style name of this compute command :l -style = {bin/1d} or {bin/2d} or {bin/3d} or {bin/sphere} or {type} or {molecule} or {compute/fix/variable} +style = {bin/1d} or {bin/2d} or {bin/3d} or {bin/sphere} or {type} or {molecule} or c_ID, c_ID\[I\], f_ID, f_ID\[I\], v_name {bin/1d} args = dim origin delta dim = {x} or {y} or {z} origin = {lower} or {center} or {upper} or coordinate value (distance units) @@ -40,7 +40,7 @@ style = {bin/1d} or {bin/2d} or {bin/3d} or {bin/sphere} or {type} or {molecule} ncbin = # of concentric circle bins between rmin and rmax {type} args = none {molecule} args = none - {compute/fix/variable} = c_ID, c_ID\[I\], f_ID, f_ID\[I\], v_name with no args + c_ID, c_ID\[I\], f_ID, f_ID\[I\], v_name args = none c_ID = per-atom vector calculated by a compute with ID c_ID\[I\] = Ith column of per-atom array calculated by a compute with ID f_ID = per-atom vector calculated by a fix with ID @@ -85,7 +85,8 @@ compute 1 all chunk/atom bin/1d z lower 0.02 units reduced compute 1 all chunk/atom bin/2d z lower 1.0 y 0.0 2.5 compute 1 all chunk/atom molecule region sphere nchunk once ids once compress yes compute 1 all chunk/atom bin/sphere 5 5 5 2.0 5.0 5 discard yes -compute 1 all chunk/atom bin/cylinder z lower 2 10 10 2.0 5.0 3 discard yes :pre +compute 1 all chunk/atom bin/cylinder z lower 2 10 10 2.0 5.0 3 discard yes +compute 1 all chunk/atom c_cluster :pre [Description:] @@ -386,8 +387,8 @@ described below, which resets {Nchunk}. The {limit} keyword is then applied to the new {Nchunk} value, exactly as described in the preceding paragraph. Note that in this case, all atoms will end up with chunk IDs <= {Nc}, but their original values (e.g. molecule ID or -compute/fix/variable value) may have been > {Nc}, because of the -compression operation. +compute/fix/variable) may have been > {Nc}, because of the compression +operation. If {compress yes} is set, and the {compress} keyword comes after the {limit} keyword, then the {limit} value of {Nc} is applied first to diff --git a/doc/src/compute_chunk_spread_atom.txt b/doc/src/compute_chunk_spread_atom.txt new file mode 100644 index 0000000000..59662035e5 --- /dev/null +++ b/doc/src/compute_chunk_spread_atom.txt @@ -0,0 +1,173 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +compute chunk/spread/atom command :h3 + +[Syntax:] + +compute ID group-ID chunk/spread/atom chunkID input1 input2 ... :pre + +ID, group-ID are documented in "compute"_compute.html command :ulb,l +chunk/spread/atom = style name of this compute command :l +chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :l +one or more inputs can be listed :l +input = c_ID, c_ID\[N\], f_ID, f_ID\[N\] :l + c_ID = global vector calculated by a compute with ID + c_ID\[I\] = Ith column of global array calculated by a compute with ID, I can include wildcard (see below) + f_ID = global vector calculated by a fix with ID + f_ID\[I\] = Ith column of global array calculated by a fix with ID, I can include wildcard (see below) :pre +:ule + +[Examples:] + +compute 1 all chunk/spread/atom mychunk c_com[*] c_gyration :pre + +[Description:] + +Define a calculation that "spreads" one or more per-chunk values to +each atom in the chunk. This can be useful for creating a "dump +file"_dump.html where each atom lists info about the chunk it is in, +e.g. for post-processing purposes. It can also be used in "atom-style +variables"_variable.html that need info about the chunk each atom is +in. Examples are given below. + +In LAMMPS, chunks are collections of atoms defined by a "compute +chunk/atom"_compute_chunk_atom.html command, which assigns each atom +to a single chunk (or no chunk). The ID for this command is specified +as chunkID. For example, a single chunk could be the atoms in a +molecule or atoms in a spatial bin. See the "compute +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. + +For inputs that are computes, they must be a compute that calculates +per-chunk values. These are computes whose style names end in +"/chunk". + +For inputs that are fixes, they should be a a fix that calculates +per-chunk values. For example, "fix ave/chunk"_fix_ave_chunk.html or +"fix ave/time"_fix_ave_time.html (assuming it is time-averaging +per-chunk data). + +For each atom, this compute accesses its chunk ID from the specified +{chunkID} compute, then accesses the per-chunk value in each input. +Those values are copied to this compute to become the output for that +atom. + +The values generated by this compute will be 0.0 for atoms not in the +specified compute group {group-ID}. They will also be 0.0 if the atom +is not in a chunk, as assigned by the {chunkID} compute. They will +also be 0.0 if the current chunk ID for the atom is out-of-bounds with +respect to the number of chunks stored by a particular input compute +or fix. + +NOTE: LAMMPS does not check that a compute or fix which calculates +per-chunk values uses the same definition of chunks as this compute. +It's up to you to be consistent. Likewise, for a fix input, LAMMPS +does not check that it is per-chunk data. It only checks that the fix +produces a global vector or array. + +:line + +Each listed input is operated on independently. + +If a bracketed index I is used, it can be specified using a wildcard +asterisk with the index to effectively specify multiple values. This +takes the form "*" or "*n" or "n*" or "m*n". If N = the number of +columns in the array, then an asterisk with no numeric values means +all indices from 1 to N. A leading asterisk means all indices from 1 +to n (inclusive). A trailing asterisk means all indices from n to N +(inclusive). A middle asterisk means all indices from m to n +(inclusive). + +Using a wildcard is the same as if the individual columns of the array +had been listed one by one. E.g. these 2 compute chunk/spread/atom +commands are equivalent, since the "compute +com/chunk"_compute_com_chunk.html command creates a per-atom array +with 3 columns: + +compute com all com/chunk mychunk +compute 10 all chunk/spread/atom mychunk c_com\[*\] +compute 10 all chunk/spread/atom mychunk c_com\[1\] c_com\[2\] c_com\[3\] :pre + +:line + +Here is an example of writing a dump file the with the center-of-mass +(COM) for the chunk each atom is in: + +compute cmol all chunk/atom molecule +compute com all com/chunk cmol +compute comchunk all chunk/spread/atom cmol c_com[*] +dump 1 all custom 50 tmp.dump id mol type x y z c_comchunk[*] +dump_modify 1 sort id :pre + +The same per-chunk data for each atom could be used to define per-atom +forces for the "fix addforce"_fix_addforce.html command. In this +example the forces act to pull atoms of an extended polymer chain +towards its COM in an attractive manner. + +compute prop all property/atom xu yu zu +variable k equal 0.1 +variable fx atom v_k*(c_comchunk\[1\]-c_prop\[1\]) +variable fy atom v_k*(c_comchunk\[2\]-c_prop\[2\]) +variable fz atom v_k*(c_comchunk\[3\]-c_prop\[3\]) +fix 3 all addforce v_fx v_fy v_fz :pre + +Note that "compute property/atom"_compute_property_atom.html is used +to generate unwrapped coordinates for use in the per-atom force +calculation, so that the effect of periodic boundaries is accounted +for properly. + +Over time this applied force could shrink each polymer chain's radius +of gyration in a polymer mixture simulation. Here is output after +adding the above lines to the bench/in.chain script. The thermo +output is shown for 1000 steps, where the last column is the average +radius of gyration over all 320 chains in the 32000 atom system: + +compute gyr all gyration/chunk cmol +variable ave equal ave(c_gyr) +thermo_style custom step etotal press v_ave :pre + + 0 22.394765 4.6721833 5.128278 + 100 22.445002 4.8166709 5.0348372 + 200 22.500128 4.8790392 4.9364875 + 300 22.534686 4.9183766 4.8590693 + 400 22.557196 4.9492211 4.7937849 + 500 22.571017 4.9161853 4.7412008 + 600 22.573944 5.0229708 4.6931243 + 700 22.581804 5.0541301 4.6440647 + 800 22.584683 4.9691734 4.6000016 + 900 22.59128 5.0247538 4.5611513 + 1000 22.586832 4.94697 4.5238362 :pre + +:line + +[Output info:] + +This compute calculates a per-atom vector or array, which can be +accessed by any command that uses per-atom values from a compute as +input. See the "Howto output"_Howto_output.html doc page for an +overview of LAMMPS output options. + +The output is a per-atom vector if a single input value is specified, +otherwise a per-atom array is output. The number of columns in the +array is the number of inputs provided. The per-atom values for the +vector or each column of the array will be in whatever +"units"_units.html the corresponding input value is in. + +The vector or array values are "intensive". + +[Restrictions:] none + +[Related commands:] + +"compute chunk/atom"_compute_chunk_atom.html, "fix +ave/chunk"_fix_ave_chunk.html, "compute +reduce/chunk"_compute_reduce_chunk.html + +[Default:] none diff --git a/doc/src/compute_reduce.txt b/doc/src/compute_reduce.txt index ef3c7c6489..0bd2accf3c 100644 --- a/doc/src/compute_reduce.txt +++ b/doc/src/compute_reduce.txt @@ -97,9 +97,9 @@ equivalent, since the "compute stress/atom"_compute_stress_atom.html command creates a per-atom array with 6 columns: compute myPress all stress/atom NULL -compute 2 all reduce min myPress\[*\] -compute 2 all reduce min myPress\[1\] myPress\[2\] myPress\[3\] & - myPress\[4\] myPress\[5\] myPress\[6\] :pre +compute 2 all reduce min c_myPress\[*\] +compute 2 all reduce min c_myPress\[1\] c_myPress\[2\] c_myPress\[3\] & + c_myPress\[4\] c_myPress\[5\] c_myPress\[6\] :pre :line diff --git a/doc/src/compute_reduce_chunk.txt b/doc/src/compute_reduce_chunk.txt new file mode 100644 index 0000000000..3628c0f1ad --- /dev/null +++ b/doc/src/compute_reduce_chunk.txt @@ -0,0 +1,177 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +compute reduce/chunk command :h3 + +[Syntax:] + +compute ID group-ID reduce/chunk chunkID mode input1 input2 ... :pre + +ID, group-ID are documented in "compute"_compute.html command :ulb,l +reduce/chunk = style name of this compute command :l +chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :l +mode = {sum} or {min} or {max} :l +one or more inputs can be listed :l +input = c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_ID :l + c_ID = per-atom vector calculated by a compute with ID + c_ID\[I\] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below) + f_ID = per-atom vector calculated by a fix with ID + f_ID\[I\] = Ith column of per-atom array calculated by a fix with ID, I can include wildcard (see below) + v_name = per-atom vector calculated by an atom-style variable with name :pre +:ule + +[Examples:] + +compute 1 all reduce/chunk/atom mychunk min c_cluster :pre + +[Description:] + +Define a calculation that reduces one or more per-atom vectors into +per-chunk values. This can be useful for diagnostic output. Or when +used in conjunction with the "compute +chunk/spread/atom"_compute_chunk_spread_atom.html command it can be +used ot create per-atom values that induce a new set of chunks with a +second "compute chunk/atom"_compute_chunk_atom.html command. An +example is given below. + +In LAMMPS, chunks are collections of atoms defined by a "compute +chunk/atom"_compute_chunk_atom.html command, which assigns each atom +to a single chunk (or no chunk). The ID for this command is specified +as chunkID. For example, a single chunk could be the atoms in a +molecule or atoms in a spatial bin. See the "compute +chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html +doc pages for details of how chunks can be defined and examples of how +they can be used to measure properties of a system. + +For each atom, this compute accesses its chunk ID from the specified +{chunkID} compute. The per-atom value from an input contributes +to a per-chunk value corresponding the the chunk ID. + +The reduction operation is specified by the {mode} setting and is +performed over all the per-atom values from the atoms in each chunk. +The {sum} option adds the pre-atom values to a per-chunk total. The +{min} or {max} options find the minimum or maximum value of the +per-atom values for each chunk. + +Note that only atoms in the specified group contribute to the +reduction operation. If the {chunkID} compute returns a 0 for the +chunk ID of an atom (i.e. the atom is not in a chunk defined by the +"compute chunk/atom"_compute_chunk_atom.html command), that atom will +also not contribute to the reduction operation. An input that is a +compute or fix may define its own group which affects the quantities +it returns. For example, a compute with return a zero value for atoms +that are not in the group specified for that compute. + +Each listed input is operated on independently. Each input can be the +result of a "compute"_compute.html or "fix"_fix.html or the evaluation +of an atom-style "variable"_variable.html. + +Note that for values from a compute or fix, the bracketed index I can +be specified using a wildcard asterisk with the index to effectively +specify multiple values. This takes the form "*" or "*n" or "n*" or +"m*n". If N = the size of the vector (for {mode} = scalar) or the +number of columns in the array (for {mode} = vector), then an asterisk +with no numeric values means all indices from 1 to N. A leading +asterisk means all indices from 1 to n (inclusive). A trailing +asterisk means all indices from n to N (inclusive). A middle asterisk +means all indices from m to n (inclusive). + +Using a wildcard is the same as if the individual columns of the array +had been listed one by one. E.g. these 2 compute reduce/chunk +commands are equivalent, since the "compute +property/chunk"_compute_property_chunk.html command creates a per-atom +array with 3 columns: + +compute prop all property/atom vx vy vz +compute 10 all reduce/chunk mychunk max c_prop\[*\] +compute 10 all reduce/chunk mychunk max c_prop\[1\] c_prop\[2\] c_prop\[3\] :pre + +:line + +Here is an example of using this compute, in conjunction with the +compute chunk/spread/atom command to identify self-assembled micelles. +The commands below can be added to the examples/in.micelle script. + +Imagine a collection of polymer chains or small molecules with +hydrophobic end groups. All the hydrophobic (HP) atoms are assigned +to a group called "phobic". + +These commands will assign a unique cluster ID to all HP atoms within +a specified distance of each other. A cluster will contain all HP +atoms in a single molecule, but also the HP atoms in nearby molecules, +e.g. molecules that have clumped to form a micelle due to the +attraction induced by the hydrophobicity. The output of the +chunk/reduce command will be a cluster ID per chunk (molecule). +Molecules with the same cluster ID are in the same micelle. + +group phobic type 4 # specific to in.micelle model +compute cluster phobic cluster/atom 2.0 +compute cmol all chunk/atom molecule +compute reduce phobic reduce/chunk cmol min c_cluster :pre + +This per-chunk info could be output in at least two ways: + +fix 10 all ave/time 1000 1 1000 c_reduce file tmp.phobic mode vector :pre + +compute spread all chunk/spread/atom cmol c_reduce +dump 1 all custom 1000 tmp.dump id type mol x y z c_cluster c_spread +dump_modify 1 sort id :pre + +In the first case, each snapshot in the tmp.phobic file will contain +one line per molecule. Molecules with the same value are in the same +micelle. In the second case each dump snapshot contains all atoms, +each with a final field with the cluster ID of the micelle that the HP +atoms of that atom's molecule belong to. + +The result from compute chunk/spread/atom can be used to define a new +set of chunks, where all the atoms in all the molecules in the same +micelle are assigned to the same chunk, i.e. one chunk per micelle. + +compute micelle all chunk/atom c_spread compress yes :pre + +Further analysis on a per-micelle basis can now be performed using any +of the per-chunk computes listed on the "Howto chunk"_Howto_chunk.html +doc page. E.g. count the number of atoms in each micelle, calculate +its center or mass, shape (moments of intertia), radius of gyration, +etc. + +compute prop all property/chunk micelle count +fix 20 all ave/time 1000 1 1000 c_prop file tmp.micelle mode vector :pre + +Each snapshot in the tmp.micelle file will have one line per micelle +with its count of atoms, plus a first line for a chunk with all the +solvent atoms. By the time 50000 steps have elapsed there are a +handful of large micelles. + +:line + +[Output info:] + +This compute calculates a global vector if a single input value is +specified, otherwise a global array is output. The number of columns +in the array is the number of inputs provided. The length of the +vector or the number of vector elements or array rows = the number of +chunks {Nchunk} as calculated by the specified "compute +chunk/atom"_compute_chunk_atom.html command. The vector or array can +be accessed by any command that uses global values from a compute as +input. See the "Howto output"_Howto_output.html doc page for an +overview of LAMMPS output options. + +The per-atom values for the vector or each column of the array will be +in whatever "units"_units.html the corresponding input value is in. +The vector or array values are "intensive". + +[Restrictions:] none + +[Related commands:] + +"compute chunk/atom"_compute_chunk_atom.html, "compute +reduce"_compute_reduce.html, "compute +chunk/spread/atom"_compute_chunk_spread_atom.html + +[Default:] none diff --git a/doc/src/computes.txt b/doc/src/computes.txt index 46dd30f757..6528f78e40 100644 --- a/doc/src/computes.txt +++ b/doc/src/computes.txt @@ -15,6 +15,7 @@ Computes :h1 compute_bond_local compute_centro_atom compute_chunk_atom + compute_chunk_spread_atom compute_cluster_atom compute_cna_atom compute_cnp_atom @@ -72,6 +73,7 @@ Computes :h1 compute_property_local compute_rdf compute_reduce + compute_reduce_chunk compute_rigid_local compute_saed compute_slice diff --git a/doc/src/lammps.book b/doc/src/lammps.book index c296ff4039..c7f0b2fddd 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -406,6 +406,7 @@ compute_bond.html compute_bond_local.html compute_centro_atom.html compute_chunk_atom.html +compute_chunk_spread_atom.html compute_cluster_atom.html compute_cna_atom.html compute_cnp_atom.html @@ -463,6 +464,7 @@ compute_property_chunk.html compute_property_local.html compute_rdf.html compute_reduce.html +compute_reduce_chunk.html compute_rigid_local.html compute_saed.html compute_slice.html diff --git a/src/compute_chunk_spread_atom.cpp b/src/compute_chunk_spread_atom.cpp new file mode 100644 index 0000000000..93a4d30a2e --- /dev/null +++ b/src/compute_chunk_spread_atom.cpp @@ -0,0 +1,352 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include "compute_chunk_spread_atom.h" +#include "atom.h" +#include "update.h" +#include "modify.h" +#include "fix.h" +#include "compute.h" +#include "compute_chunk_atom.h" +#include "input.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +enum{COMPUTE,FIX}; + +#define INVOKED_VECTOR 2 +#define INVOKED_ARRAY 4 +#define INVOKED_PERATOM 8 + +/* ---------------------------------------------------------------------- */ + +ComputeChunkSpreadAtom:: +ComputeChunkSpreadAtom(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), + which(NULL), argindex(NULL), ids(NULL), value2index(NULL), idchunk(NULL) +{ + if (narg < 5) error->all(FLERR,"Illegal compute chunk/spread/atom command"); + + // ID of compute chunk/atom + + int n = strlen(arg[3]) + 1; + idchunk = new char[n]; + strcpy(idchunk,arg[3]); + init_chunk(); + + // expand args if any have wildcard character "*" + + int iarg = 4; + int expand = 0; + char **earg; + int nargnew = input->expand_args(narg-iarg,&arg[iarg],1,earg); + + if (earg != &arg[iarg]) expand = 1; + arg = earg; + + // parse values + + which = new int[nargnew]; + argindex = new int[nargnew]; + ids = new char*[nargnew]; + value2index = new int[nargnew]; + nvalues = 0; + + iarg = 0; + while (iarg < nargnew) { + ids[nvalues] = NULL; + + if (strncmp(arg[iarg],"c_",2) == 0 || + strncmp(arg[iarg],"f_",2) == 0) { + if (arg[iarg][0] == 'c') which[nvalues] = COMPUTE; + else if (arg[iarg][0] == 'f') which[nvalues] = FIX; + + int n = strlen(arg[iarg]); + char *suffix = new char[n]; + strcpy(suffix,&arg[iarg][2]); + + char *ptr = strchr(suffix,'['); + if (ptr) { + if (suffix[strlen(suffix)-1] != ']') + error->all(FLERR,"Illegal compute chunk/spread/atom command"); + argindex[nvalues] = atoi(ptr+1); + *ptr = '\0'; + } else argindex[nvalues] = 0; + + n = strlen(suffix) + 1; + ids[nvalues] = new char[n]; + strcpy(ids[nvalues],suffix); + nvalues++; + delete [] suffix; + + } else error->all(FLERR,"Illegal compute chunk/spread/atom command"); + + iarg++; + } + + // if wildcard expansion occurred, free earg memory from expand_args() + + if (expand) { + for (int i = 0; i < nargnew; i++) delete [] earg[i]; + memory->sfree(earg); + } + + // setup and error check + // for compute, must calculate per-chunk values, i.e. style ends in "/chunk" + // for fix, assume a global vector or array is per-chunk data + + for (int i = 0; i < nvalues; i++) { + if (which[i] == COMPUTE) { + int icompute = modify->find_compute(ids[i]); + if (icompute < 0) + error->all(FLERR,"Compute ID for compute chunk/spread/atom " + "does not exist"); + + char *ptr = strstr(modify->compute[icompute]->style,"/chunk"); + if (!ptr || (ptr != modify->compute[icompute]->style + + strlen(modify->compute[icompute]->style) - strlen("/chunk"))) + error->all(FLERR,"Compute for compute chunk/spread/atom " + "does not calculate per-chunk values"); + + if (argindex[i] == 0) { + if (!modify->compute[icompute]->vector_flag) + error->all(FLERR,"Compute chunk/spread/atom compute " + "does not calculate global vector"); + } else { + if (!modify->compute[icompute]->array_flag) + error->all(FLERR,"Compute chunk/spread/atom compute " + "does not calculate global array"); + if (argindex[i] > modify->compute[icompute]->size_array_cols) + error->all(FLERR,"Compute chunk/spread/atom compute array " + "is accessed out-of-range"); + } + + } else if (which[i] == FIX) { + int ifix = modify->find_fix(ids[i]); + if (ifix < 0) + error->all(FLERR,"Fix ID for compute chunk/spread/atom does not exist"); + if (argindex[i] == 0) { + if (!modify->fix[ifix]->vector_flag) + error->all(FLERR,"Compute chunk/spread/atom fix " + "does not calculate global vector"); + } else { + if (!modify->fix[ifix]->array_flag) + error->all(FLERR,"Compute chunk/spread/atom fix " + "does not calculate global array"); + if (argindex[i] > modify->fix[ifix]->size_array_cols) + error->all(FLERR,"Compute chunk/spread/atom fix array " + "is accessed out-of-range"); + } + } + } + + // this compute produces a peratom vector or array + + peratom_flag = 1; + if (nvalues == 1) size_peratom_cols = 0; + else size_peratom_cols = nvalues; + + // per-atom vector or array + + nmax = 0; + vector_atom = NULL; + array_atom = NULL; +} + +/* ---------------------------------------------------------------------- */ + +ComputeChunkSpreadAtom::~ComputeChunkSpreadAtom() +{ + delete [] idchunk; + + delete [] which; + delete [] argindex; + for (int i = 0; i < nvalues; i++) delete [] ids[i]; + delete [] ids; + delete [] value2index; + + memory->destroy(vector_atom); + memory->destroy(array_atom); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeChunkSpreadAtom::init() +{ + init_chunk(); + + // set indices of all computes,fixes,variables + + for (int m = 0; m < nvalues; m++) { + if (which[m] == COMPUTE) { + int icompute = modify->find_compute(ids[m]); + if (icompute < 0) + error->all(FLERR,"Compute ID for compute chunk/spread/atom " + "does not exist"); + value2index[m] = icompute; + + } else if (which[m] == FIX) { + int ifix = modify->find_fix(ids[m]); + if (ifix < 0) + error->all(FLERR,"Fix ID for compute chunk/spread/atom does not exist"); + value2index[m] = ifix; + } + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputeChunkSpreadAtom::init_chunk() +{ + int icompute = modify->find_compute(idchunk); + if (icompute < 0) + error->all(FLERR,"Chunk/atom compute does not exist for compute chunk/spread/atom"); + cchunk = (ComputeChunkAtom *) modify->compute[icompute]; + if (strcmp(cchunk->style,"chunk/atom") != 0) + error->all(FLERR,"Compute chunk/spread/atom does not use chunk/atom compute"); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeChunkSpreadAtom::compute_peratom() +{ + invoked_peratom = update->ntimestep; + + // grow local vector_atom or array_atom if necessary + + if (atom->nmax > nmax) { + if (nvalues == 1) { + memory->destroy(vector_atom); + nmax = atom->nmax; + memory->create(vector_atom,nmax,"chunk/spread/atom:vector_atom"); + } else { + memory->destroy(array_atom); + nmax = atom->nmax; + memory->create(array_atom,nmax,nvalues,"chunk/spread/atom:array_atom"); + } + } + + // compute chunk/atom assigns atoms to chunk IDs + // extract ichunk index vector from compute + // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms + + int nchunk = cchunk->setup_chunks(); + cchunk->compute_ichunk(); + int *ichunk = cchunk->ichunk; + + // loop over values, access compute or fix + // loop over atoms, use chunk ID of each atom to store value from compute/fix + + int *mask = atom->mask; + int nlocal = atom->nlocal; + + int i,m,n,index,nstride; + double *ptr; + + for (m = 0; m < nvalues; m++) { + n = value2index[m]; + + // copy compute/fix values into vector_atom or array_atom + // nstride between values for each atom + + if (nvalues == 1) { + ptr = vector_atom; + nstride = 1; + } else { + ptr = &array_atom[0][m]; + nstride = nvalues; + } + + // invoke compute if not previously invoked + + if (which[m] == COMPUTE) { + Compute *compute = modify->compute[n]; + + if (argindex[m] == 0) { + if (!(compute->invoked_flag & INVOKED_VECTOR)) { + compute->compute_vector(); + compute->invoked_flag |= INVOKED_VECTOR; + } + double *cvector = compute->vector; + for (i = 0; i < nlocal; i++, ptr += nstride) { + *ptr = 0.0; + if (!(mask[i] & groupbit)) continue; + index = ichunk[i]-1; + if (index < 0 || index >= nchunk) continue; + *ptr = cvector[index]; + } + + } else { + if (!(compute->invoked_flag & INVOKED_ARRAY)) { + compute->compute_array(); + compute->invoked_flag |= INVOKED_ARRAY; + } + int icol = argindex[m]-1; + double **carray = compute->array; + for (i = 0; i < nlocal; i++, ptr += nstride) { + *ptr = 0.0; + if (!(mask[i] & groupbit)) continue; + index = ichunk[i]-1; + if (index < 0 || index >= nchunk) continue; + *ptr = carray[index][icol]; + } + } + + // access fix data, check if fix frequency is a match + // are assuming the fix global vector/array is per-chunk data + // check if index exceeds fix output length/rows + + } else if (which[m] == FIX) { + Fix *fix = modify->fix[n]; + if (update->ntimestep % fix->global_freq) + error->all(FLERR,"Fix used in compute chunk/spread/atom not " + "computed at compatible time"); + + if (argindex[m] == 0) { + int nfix = fix->size_vector; + for (i = 0; i < nlocal; i++, ptr += nstride) { + *ptr = 0.0; + if (!(mask[i] & groupbit)) continue; + index = ichunk[i]-1; + if (index < 0 || index >= nchunk || index >= nfix) continue; + *ptr = fix->compute_vector(index); + } + + } else { + int icol = argindex[m]-1; + int nfix = fix->size_array_rows; + for (i = 0; i < nlocal; i++, ptr += nstride) { + *ptr = 0.0; + if (!(mask[i] & groupbit)) continue; + index = ichunk[i]-1; + if (index < 0 || index >= nchunk || index >= nfix) continue; + *ptr = fix->compute_array(index,icol); + } + } + } + } +} + +/* ---------------------------------------------------------------------- + memory usage of local atom-based array +------------------------------------------------------------------------- */ + +double ComputeChunkSpreadAtom::memory_usage() +{ + double bytes = nmax*nvalues * sizeof(double); + return bytes; +} diff --git a/src/compute_chunk_spread_atom.h b/src/compute_chunk_spread_atom.h new file mode 100644 index 0000000000..9a4df080ca --- /dev/null +++ b/src/compute_chunk_spread_atom.h @@ -0,0 +1,61 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS + +ComputeStyle(chunk/spread/atom,ComputeChunkSpreadAtom) + +#else + +#ifndef LMP_COMPUTE_CHUNK_SPREAD_ATOM_H +#define LMP_COMPUTE_CHUNK_SPREAD_ATOM_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputeChunkSpreadAtom : public Compute { + public: + ComputeChunkSpreadAtom(class LAMMPS *, int, char **); + ~ComputeChunkSpreadAtom(); + void init(); + void compute_peratom(); + double memory_usage(); + + protected: + int mode,nvalues; + char *idchunk; + + int *which,*argindex,*value2index; + char **ids; + + int nmax; + class ComputeChunkAtom *cchunk; + + void init_chunk(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ diff --git a/src/compute_reduce.cpp b/src/compute_reduce.cpp index 7c61d666b2..e3c3c5b70a 100644 --- a/src/compute_reduce.cpp +++ b/src/compute_reduce.cpp @@ -11,6 +11,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#include #include #include #include "compute_reduce.h" diff --git a/src/compute_reduce_chunk.cpp b/src/compute_reduce_chunk.cpp new file mode 100644 index 0000000000..40e9dad8dd --- /dev/null +++ b/src/compute_reduce_chunk.cpp @@ -0,0 +1,512 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include "compute_reduce_chunk.h" +#include "atom.h" +#include "update.h" +#include "modify.h" +#include "fix.h" +#include "compute.h" +#include "compute_chunk_atom.h" +#include "input.h" +#include "variable.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +enum{SUM,MINN,MAXX}; +enum{COMPUTE,FIX,VARIABLE}; + +#define INVOKED_PERATOM 8 + +#define BIG 1.0e20 + +/* ---------------------------------------------------------------------- */ + +ComputeReduceChunk::ComputeReduceChunk(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), + vlocal(NULL), vglobal(NULL), alocal(NULL), aglobal(NULL), varatom(NULL), + which(NULL), argindex(NULL), value2index(NULL), idchunk(NULL), ids(NULL) +{ + if (narg < 6) error->all(FLERR,"Illegal compute reduce/chunk command"); + + // ID of compute chunk/atom + + int n = strlen(arg[3]) + 1; + idchunk = new char[n]; + strcpy(idchunk,arg[3]); + init_chunk(); + + // mode + + if (strcmp(arg[4],"sum") == 0) mode = SUM; + else if (strcmp(arg[4],"min") == 0) mode = MINN; + else if (strcmp(arg[4],"max") == 0) mode = MAXX; + else error->all(FLERR,"Illegal compute reduce/chunk command"); + + int iarg = 5; + + // expand args if any have wildcard character "*" + + int expand = 0; + char **earg; + int nargnew = input->expand_args(narg-iarg,&arg[iarg],1,earg); + + if (earg != &arg[iarg]) expand = 1; + arg = earg; + + // parse values until one isn't recognized + + which = new int[nargnew]; + argindex = new int[nargnew]; + ids = new char*[nargnew]; + value2index = new int[nargnew]; + nvalues = 0; + + iarg = 0; + while (iarg < nargnew) { + ids[nvalues] = NULL; + + if (strncmp(arg[iarg],"c_",2) == 0 || + strncmp(arg[iarg],"f_",2) == 0 || + strncmp(arg[iarg],"v_",2) == 0) { + if (arg[iarg][0] == 'c') which[nvalues] = COMPUTE; + else if (arg[iarg][0] == 'f') which[nvalues] = FIX; + else if (arg[iarg][0] == 'v') which[nvalues] = VARIABLE; + + int n = strlen(arg[iarg]); + char *suffix = new char[n]; + strcpy(suffix,&arg[iarg][2]); + + char *ptr = strchr(suffix,'['); + if (ptr) { + if (suffix[strlen(suffix)-1] != ']') + error->all(FLERR,"Illegal compute reduce/chunk command"); + argindex[nvalues] = atoi(ptr+1); + *ptr = '\0'; + } else argindex[nvalues] = 0; + + n = strlen(suffix) + 1; + ids[nvalues] = new char[n]; + strcpy(ids[nvalues],suffix); + nvalues++; + delete [] suffix; + + } else error->all(FLERR,"Illegal compute reduce/chunk command"); + + iarg++; + } + + // if wildcard expansion occurred, free earg memory from expand_args() + + if (expand) { + for (int i = 0; i < nargnew; i++) delete [] earg[i]; + memory->sfree(earg); + } + + // error check + + for (int i = 0; i < nvalues; i++) { + if (which[i] == COMPUTE) { + int icompute = modify->find_compute(ids[i]); + if (icompute < 0) + error->all(FLERR,"Compute ID for compute reduce/chunk does not exist"); + if (!modify->compute[icompute]->peratom_flag) + error->all(FLERR,"Compute reduce/chunk compute does not " + "calculate per-atom values"); + if (argindex[i] == 0 && + modify->compute[icompute]->size_peratom_cols != 0) + error->all(FLERR,"Compute reduce/chunk compute does not " + "calculate a per-atom vector"); + if (argindex[i] && modify->compute[icompute]->size_peratom_cols == 0) + error->all(FLERR,"Compute reduce/chunk compute does not " + "calculate a per-atom array"); + if (argindex[i] && + argindex[i] > modify->compute[icompute]->size_peratom_cols) + error->all(FLERR, + "Compute reduce/chunk compute array is accessed out-of-range"); + + } else if (which[i] == FIX) { + int ifix = modify->find_fix(ids[i]); + if (ifix < 0) + error->all(FLERR,"Fix ID for compute reduce/chunk does not exist"); + if (!modify->fix[ifix]->peratom_flag) + error->all(FLERR,"Compute reduce/chunk fix does not " + "calculate per-atom values"); + if (argindex[i] == 0 && + modify->fix[ifix]->size_peratom_cols != 0) + error->all(FLERR,"Compute reduce/chunk fix does not " + "calculate a per-atom vector"); + if (argindex[i] && modify->fix[ifix]->size_peratom_cols == 0) + error->all(FLERR,"Compute reduce/chunk fix does not " + "calculate a per-atom array"); + if (argindex[i] && argindex[i] > modify->fix[ifix]->size_peratom_cols) + error->all(FLERR,"Compute reduce/chunk fix array is " + "accessed out-of-range"); + + } else if (which[i] == VARIABLE) { + int ivariable = input->variable->find(ids[i]); + if (ivariable < 0) + error->all(FLERR,"Variable name for compute reduce/chunk does not exist"); + if (input->variable->atomstyle(ivariable) == 0) + error->all(FLERR,"Compute reduce/chunk variable is " + "not atom-style variable"); + } + } + + // this compute produces either a vector or array + + if (nvalues == 1) { + vector_flag = 1; + size_vector_variable = 1; + extvector = 0; + } else { + array_flag = 1; + size_array_rows_variable = 1; + size_array_cols = nvalues; + extarray = 0; + } + + // setup + + if (mode == SUM) initvalue = 0.0; + else if (mode == MINN) initvalue = BIG; + else if (mode == MAXX) initvalue = -BIG; + + maxchunk = 0; + vlocal = vglobal = NULL; + alocal = aglobal = NULL; + + maxatom = 0; + varatom = NULL; +} + +/* ---------------------------------------------------------------------- */ + +ComputeReduceChunk::~ComputeReduceChunk() +{ + delete [] idchunk; + + delete [] which; + delete [] argindex; + for (int m = 0; m < nvalues; m++) delete [] ids[m]; + delete [] ids; + delete [] value2index; + + memory->destroy(vlocal); + memory->destroy(vglobal); + memory->destroy(alocal); + memory->destroy(aglobal); + + memory->destroy(varatom); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeReduceChunk::init() +{ + init_chunk(); + + // set indices of all computes,fixes,variables + + for (int m = 0; m < nvalues; m++) { + if (which[m] == COMPUTE) { + int icompute = modify->find_compute(ids[m]); + if (icompute < 0) + error->all(FLERR,"Compute ID for compute reduce/chunk does not exist"); + value2index[m] = icompute; + + } else if (which[m] == FIX) { + int ifix = modify->find_fix(ids[m]); + if (ifix < 0) + error->all(FLERR,"Fix ID for compute reduce/chunk does not exist"); + value2index[m] = ifix; + + } else if (which[m] == VARIABLE) { + int ivariable = input->variable->find(ids[m]); + if (ivariable < 0) + error->all(FLERR,"Variable name for compute reduce/chunk does not exist"); + value2index[m] = ivariable; + } + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputeReduceChunk::init_chunk() +{ + int icompute = modify->find_compute(idchunk); + if (icompute < 0) + error->all(FLERR,"Chunk/atom compute does not exist for " + "compute reduce/chunk"); + cchunk = (ComputeChunkAtom *) modify->compute[icompute]; + if (strcmp(cchunk->style,"chunk/atom") != 0) + error->all(FLERR,"Compute reduce/chunk does not use chunk/atom compute"); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeReduceChunk::compute_vector() +{ + invoked_vector = update->ntimestep; + + // compute chunk/atom assigns atoms to chunk IDs + // extract ichunk index vector from compute + // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms + + nchunk = cchunk->setup_chunks(); + cchunk->compute_ichunk(); + ichunk = cchunk->ichunk; + if (!nchunk) return; + + size_vector = nchunk; + + if (nchunk > maxchunk) { + memory->destroy(vlocal); + memory->destroy(vglobal); + maxchunk = nchunk; + memory->create(vlocal,maxchunk,"reduce/chunk:vlocal"); + memory->create(vglobal,maxchunk,"reduce/chunk:vglobal"); + vector = vglobal; + } + + // perform local reduction of single peratom value + + compute_one(0,vlocal,1); + + // reduce the per-chunk values across all procs + + if (mode == SUM) + MPI_Allreduce(vlocal,vglobal,nchunk,MPI_DOUBLE,MPI_SUM,world); + else if (mode == MINN) + MPI_Allreduce(vlocal,vglobal,nchunk,MPI_DOUBLE,MPI_MIN,world); + else if (mode == MAXX) + MPI_Allreduce(vlocal,vglobal,nchunk,MPI_DOUBLE,MPI_MAX,world); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeReduceChunk::compute_array() +{ + invoked_array = update->ntimestep; + + // compute chunk/atom assigns atoms to chunk IDs + // extract ichunk index vector from compute + // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms + + nchunk = cchunk->setup_chunks(); + cchunk->compute_ichunk(); + ichunk = cchunk->ichunk; + if (!nchunk) return; + + size_array_rows = nchunk; + + if (nchunk > maxchunk) { + memory->destroy(alocal); + memory->destroy(aglobal); + maxchunk = nchunk; + memory->create(alocal,maxchunk,nvalues,"reduce/chunk:alocal"); + memory->create(aglobal,maxchunk,nvalues,"reduce/chunk:aglobal"); + array = aglobal; + } + + // perform local reduction of all peratom values + + for (int m = 0; m < nvalues; m++) compute_one(m,&alocal[0][m],nvalues); + + // reduce the per-chunk values across all procs + + if (mode == SUM) + MPI_Allreduce(&alocal[0][0],&aglobal[0][0],nchunk*nvalues, + MPI_DOUBLE,MPI_SUM,world); + else if (mode == MINN) + MPI_Allreduce(&alocal[0][0],&aglobal[0][0],nchunk*nvalues, + MPI_DOUBLE,MPI_MIN,world); + else if (mode == MAXX) + MPI_Allreduce(&alocal[0][0],&aglobal[0][0],nchunk*nvalues, + MPI_DOUBLE,MPI_MAX,world); +} + +/* ---------------------------------------------------------------------- */ + +void ComputeReduceChunk::compute_one(int m, double *vchunk, int nstride) +{ + // initialize per-chunk values in accumulation vector + + for (int i = 0; i < nchunk; i += nstride) vchunk[i] = initvalue; + + // loop over my atoms + // use peratom input and chunk ID of each atom to update vector + + int *mask = atom->mask; + int nlocal = atom->nlocal; + + int index; + + if (which[m] == COMPUTE) { + Compute *compute = modify->compute[value2index[m]]; + + if (!(compute->invoked_flag & INVOKED_PERATOM)) { + compute->compute_peratom(); + compute->invoked_flag |= INVOKED_PERATOM; + } + + if (argindex[m] == 0) { + double *vcompute = compute->vector_atom; + for (int i = 0; i < nlocal; i++) { + if (!(mask[i] & groupbit)) continue; + index = ichunk[i]-1; + if (index < 0) continue; + combine(vchunk[index*nstride],vcompute[i]); + } + } else { + double **acompute = compute->array_atom; + int argindexm1 = argindex[m] - 1; + for (int i = 0; i < nlocal; i++) { + if (!(mask[i] & groupbit)) continue; + index = ichunk[i]-1; + if (index < 0) continue; + combine(vchunk[index*nstride],acompute[i][argindexm1]); + } + } + + // access fix fields, check if fix frequency is a match + + } else if (which[m] == FIX) { + Fix *fix = modify->fix[value2index[m]]; + if (update->ntimestep % fix->peratom_freq) + error->all(FLERR,"Fix used in compute reduce/chunk not " + "computed at compatible time"); + + if (argindex[m] == 0) { + double *vfix = fix->vector_atom; + for (int i = 0; i < nlocal; i++) { + if (!(mask[i] & groupbit)) continue; + index = ichunk[i]-1; + if (index < 0) continue; + combine(vchunk[index*nstride],vfix[i]); + } + } else { + double **afix = fix->array_atom; + int argindexm1 = argindex[m] - 1; + for (int i = 0; i < nlocal; i++) { + if (!(mask[i] & groupbit)) continue; + index = ichunk[i]-1; + if (index < 0) continue; + combine(vchunk[index*nstride],afix[i][argindexm1]); + } + } + + // evaluate atom-style variable + + } else if (which[m] == VARIABLE) { + if (atom->nmax > maxatom) { + memory->destroy(varatom); + maxatom = atom->nmax; + memory->create(varatom,maxatom,"reduce/chunk:varatom"); + } + + input->variable->compute_atom(value2index[m],igroup,varatom,1,0); + for (int i = 0; i < nlocal; i++) { + if (!(mask[i] & groupbit)) continue; + index = ichunk[i]-1; + if (index < 0) continue; + combine(vchunk[index*nstride],varatom[i]); + } + } +} + +/* ---------------------------------------------------------------------- + combine two values according to reduction mode +------------------------------------------------------------------------- */ + +void ComputeReduceChunk::combine(double &one, double two) +{ + if (mode == SUM) one += two; + else if (mode == MINN) { + if (two < one) one = two; + } else if (mode == MAXX) { + if (two > one) one = two; + } +} + +/* ---------------------------------------------------------------------- + lock methods: called by fix ave/time + these methods insure vector/array size is locked for Nfreq epoch + by passing lock info along to compute chunk/atom +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + increment lock counter +------------------------------------------------------------------------- */ + +void ComputeReduceChunk::lock_enable() +{ + cchunk->lockcount++; +} + +/* ---------------------------------------------------------------------- + decrement lock counter in compute chunk/atom, if it still exists +------------------------------------------------------------------------- */ + +void ComputeReduceChunk::lock_disable() +{ + int icompute = modify->find_compute(idchunk); + if (icompute >= 0) { + cchunk = (ComputeChunkAtom *) modify->compute[icompute]; + cchunk->lockcount--; + } +} + +/* ---------------------------------------------------------------------- + calculate and return # of chunks = length of vector/array +------------------------------------------------------------------------- */ + +int ComputeReduceChunk::lock_length() +{ + nchunk = cchunk->setup_chunks(); + return nchunk; +} + +/* ---------------------------------------------------------------------- + set the lock from startstep to stopstep +------------------------------------------------------------------------- */ + +void ComputeReduceChunk::lock(Fix *fixptr, bigint startstep, bigint stopstep) +{ + cchunk->lock(fixptr,startstep,stopstep); +} + +/* ---------------------------------------------------------------------- + unset the lock +------------------------------------------------------------------------- */ + +void ComputeReduceChunk::unlock(Fix *fixptr) +{ + cchunk->unlock(fixptr); +} + +/* ---------------------------------------------------------------------- + memory usage of local data +------------------------------------------------------------------------- */ + +double ComputeReduceChunk::memory_usage() +{ + double bytes = (bigint) maxatom * sizeof(double); + if (nvalues == 1) bytes += (bigint) maxchunk * 2 * sizeof(double); + else bytes += (bigint) maxchunk * nvalues * 2 * sizeof(double); + return bytes; +} diff --git a/src/compute_reduce_chunk.h b/src/compute_reduce_chunk.h new file mode 100644 index 0000000000..ac556907b7 --- /dev/null +++ b/src/compute_reduce_chunk.h @@ -0,0 +1,77 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMPUTE_CLASS + +ComputeStyle(reduce/chunk,ComputeReduceChunk) + +#else + +#ifndef LMP_COMPUTE_REDUCE_CHUNK_H +#define LMP_COMPUTE_REDUCE_CHUNK_H + +#include "compute.h" + +namespace LAMMPS_NS { + +class ComputeReduceChunk : public Compute { + public: + ComputeReduceChunk(class LAMMPS *, int, char **); + ~ComputeReduceChunk(); + void init(); + void compute_vector(); + void compute_array(); + + void lock_enable(); + void lock_disable(); + int lock_length(); + void lock(class Fix *, bigint, bigint); + void unlock(class Fix *); + + double memory_usage(); + + private: + int mode,nvalues; + int *which,*argindex,*value2index; + char *idchunk; + char **ids; + + int nchunk; + int maxchunk,maxatom; + double initvalue; + double *vlocal,*vglobal; + double **alocal,**aglobal; + double *varatom; + + class ComputeChunkAtom *cchunk; + int *ichunk; + + void init_chunk(); + void compute_one(int, double *, int); + void combine(double &, double); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ -- GitLab From e3ce702eec1c6d8b2d875827de642c68e6b4e77d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 31 Aug 2018 13:53:02 -0600 Subject: [PATCH 636/675] doc adjust --- doc/src/compute_chunk_spread_atom.txt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/src/compute_chunk_spread_atom.txt b/doc/src/compute_chunk_spread_atom.txt index 59662035e5..f84ef67974 100644 --- a/doc/src/compute_chunk_spread_atom.txt +++ b/doc/src/compute_chunk_spread_atom.txt @@ -98,7 +98,8 @@ compute 10 all chunk/spread/atom mychunk c_com\[1\] c_com\[2\] c_com\[3\] :pre :line Here is an example of writing a dump file the with the center-of-mass -(COM) for the chunk each atom is in: +(COM) for the chunk each atom is in. The commands below can be added +to the bench/in.chain script. compute cmol all chunk/atom molecule compute com all com/chunk cmol @@ -124,10 +125,10 @@ calculation, so that the effect of periodic boundaries is accounted for properly. Over time this applied force could shrink each polymer chain's radius -of gyration in a polymer mixture simulation. Here is output after -adding the above lines to the bench/in.chain script. The thermo -output is shown for 1000 steps, where the last column is the average -radius of gyration over all 320 chains in the 32000 atom system: +of gyration in a polymer mixture simulation. Here is output from the +bench/in.chain script. Thermo output is shown for 1000 steps, where +the last column is the average radius of gyration over all 320 chains +in the 32000 atom system: compute gyr all gyration/chunk cmol variable ave equal ave(c_gyr) -- GitLab From a989d04d09025e41770b2f71e9e8571c7ded95c0 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 31 Aug 2018 14:17:36 -0600 Subject: [PATCH 637/675] think this flag should not be set by this fix --- src/fix_ave_chunk.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/fix_ave_chunk.cpp b/src/fix_ave_chunk.cpp index 1aead70644..fc3ef6ed6e 100644 --- a/src/fix_ave_chunk.cpp +++ b/src/fix_ave_chunk.cpp @@ -63,7 +63,6 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : strcpy(idchunk,arg[6]); global_freq = nfreq; - peratom_freq = nfreq; no_change_box = 1; // expand args if any have wildcard character "*" -- GitLab From bc62002b1ca3f5fea860e95bab48346dc9f12ee4 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 31 Aug 2018 16:05:24 -0600 Subject: [PATCH 638/675] units and doc changes --- doc/src/fix_client_md.txt | 7 ++--- doc/src/server_mc.txt | 1 + doc/src/server_md.txt | 43 +++++++++++++++++++++++------- examples/COUPLE/README | 6 +++-- examples/COUPLE/lammps_mc/Makefile | 5 ++-- examples/COUPLE/lammps_mc/README | 34 +++++++++++++++++------ examples/COUPLE/lammps_vasp/README | 38 +++++++++++++++++++++++--- src/MESSAGE/fix_client_md.cpp | 19 ++++++++----- src/MESSAGE/server_md.cpp | 23 +++++++++------- 9 files changed, 132 insertions(+), 44 deletions(-) diff --git a/doc/src/fix_client_md.txt b/doc/src/fix_client_md.txt index 1712e1615e..5b62d5617d 100644 --- a/doc/src/fix_client_md.txt +++ b/doc/src/fix_client_md.txt @@ -44,10 +44,11 @@ running {ab initio} MD with quantum forces. The group associated with this fix is ignored. -The protocol for message format and content that LAMMPS exchanges with -the server code is defined on the "server md"_server_md.html doc page. +The protocol and "units"_units.html for message format and content +that LAMMPS exchanges with the server code is defined on the "server +md"_server_md.html doc page. -Note that when using LAMMPS in this mode, your LAMMPS input script +Note that when using LAMMPS as an MD client, your LAMMPS input script should not normally contain force field commands, like a "pair_style"_doc/pair_style.html, "bond_style"_doc/bond_style.html, or "kspace_style"_kspace_style.html commmand. However it is possible for diff --git a/doc/src/server_mc.txt b/doc/src/server_mc.txt index 3f7b3b8893..53ccfc8ecd 100644 --- a/doc/src/server_mc.txt +++ b/doc/src/server_mc.txt @@ -37,6 +37,7 @@ signals when it is done sending messages to LAMMPS, at which point the loop will exit, and the remainder of the LAMMPS script will be processed. +The "server"_server.html doc page gives other options for using LAMMPS See an example of how this command is used in examples/COUPLE/lammps_mc/in.server. diff --git a/doc/src/server_md.txt b/doc/src/server_md.txt index 58dfa7f762..0db7bbe16b 100644 --- a/doc/src/server_md.txt +++ b/doc/src/server_md.txt @@ -37,7 +37,8 @@ signals when it is done sending messages to LAMMPS, at which point the loop will exit, and the remainder of the LAMMPS script will be processed. -See an example of how this command is used in +The "server"_server.html doc page gives other options for using LAMMPS +in server mode. See an example of how this command is used in examples/message/in.message.server. :line @@ -45,13 +46,13 @@ examples/message/in.message.server. When using this command, LAMMPS (as the server code) receives the current coordinates of all particles from the client code each timestep, computes their interaction, and returns the energy, forces, -and virial for the interacting particles to the client code, so it can -complete the timestep. This command could also be used with a client -code that performs energy minimization, using the server to compute -forces and energy each iteration of its minimizer. +and pressure for the interacting particles to the client code, so it +can complete the timestep. This command could also be used with a +client code that performs energy minimization, using the server to +compute forces and energy each iteration of its minimizer. When using the "fix client/md" command, LAMMPS (as the client code) -does the timestepping and receives needed energy, forces, and virial +does the timestepping and receives needed energy, forces, and pressure values from the server code. The format and content of the exchanged messages are explained here in @@ -70,7 +71,7 @@ The following pseudo-code uses these values, defined as enums. enum{SETUP=1,STEP}; enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; -enum{FORCES=1,ENERGY,VIRIAL,ERROR}; :pre +enum{FORCES=1,ENERGY,PRESSURE,ERROR}; :pre [Client sends 2 kinds of messages]: @@ -101,11 +102,35 @@ cs->pack(BOX,9,box) # 3 edge vectors of simulation box [Server replies to either kind of message]: +# required fields: FORCES, ENERGY, PRESSURE +# optional fields: ERROR :pre + cs->send(msgID,nfields) # msgID with nfields cs->pack(FORCES,3*Natoms,f) # vector of 3N forces on atoms cs->pack(ENERGY,1,poteng) # total potential energy of system -cs->pack(VIRIAL,6,virial) # global virial tensor (6-vector) -cs->pack(ERROR,6,virial) # server had an error (e.g. DFT non-convergence) :pre +cs->pack(PRESSURE,6,press) # global pressure tensor (6-vector) +cs->pack_int(ERROR,flag) # server had an error (e.g. DFT non-convergence) :pre + +:line + +The units for various quantities that are sent and received iva +messages are defined for atomic-scale simulations in the table below. +The client and server codes (including LAMMPS) can use internal units +different than these (e.g. "real units"_units.html in LAMMPS), so long +as they convert to these units for meesaging. + +COORDS, ORIGIN, BOX = Angstroms +CHARGE = multiple of electron charge (1.0 is a proton) +ENERGY = eV +FORCES = eV/Angstrom +PRESSURE = bars :ul + +Note that these are "metal units"_units.html in LAMMPS. + +If you wish to run LAMMPS in another its non-atomic units, e.g. "lj +units"_units.html, then the client and server should exchange a UNITS +message as indicated above, and both the client and server should +agree on the units for the data they exchange. :line diff --git a/examples/COUPLE/README b/examples/COUPLE/README index 2d09ed7d4b..0e611befbd 100644 --- a/examples/COUPLE/README +++ b/examples/COUPLE/README @@ -34,11 +34,13 @@ These are the sub-directories included in this directory: simple simple example of driver code calling LAMMPS as a lib multiple example of driver code calling multiple instances of LAMMPS -lammps_mc client/server coupling Monte Carlo with LAMMPS MD +lammps_mc client/server coupling of Monte Carlo client + with LAMMPS server for energy evaluation lammps_quest MD with quantum forces, coupling to Quest DFT code lammps_spparks grain-growth Monte Carlo with strain via MD, coupling to SPPARKS kinetic MC code -lammps_vasp client/server coupling LAMMPS MD with VASP quantum DFT +lammps_vasp client/server coupling of LAMMPS client with + VASP quantum DFT as server for quantum forces library collection of useful inter-code communication routines fortran a simple wrapper on the LAMMPS library API that can be called from Fortran diff --git a/examples/COUPLE/lammps_mc/Makefile b/examples/COUPLE/lammps_mc/Makefile index 821eb58134..c75bd08c73 100644 --- a/examples/COUPLE/lammps_mc/Makefile +++ b/examples/COUPLE/lammps_mc/Makefile @@ -19,10 +19,9 @@ LINKFLAGS = -g -O -L$(CSLIB) # targets mc: $(OBJ) -# this line if built the CSlib within lib/message with ZMQ support -# note this is using the serial (no-mpi) version of the CSlib +# first line if built the CSlib within lib/message with ZMQ support +# second line if built the CSlib without ZMQ support $(LINK) $(LINKFLAGS) $(OBJ) -lcsnompi -lzmq -o mc -# this line if built the CSlib without ZMQ support # $(LINK) $(LINKFLAGS) $(OBJ) -lcsnompi -o mc clean: diff --git a/examples/COUPLE/lammps_mc/README b/examples/COUPLE/lammps_mc/README index af4d86f92f..c201a6351c 100644 --- a/examples/COUPLE/lammps_mc/README +++ b/examples/COUPLE/lammps_mc/README @@ -22,25 +22,43 @@ change, and to run dynamics between MC moves. ---------------- -Build LAMMPS and the MC client code +Build LAMMPS with its MESSAGE package installed: -First, build LAMMPS with its MESSAGE package installed: +See the Build extras doc page and its MESSAGE package +section for details. + +CMake: + +-D PKG_MESSAGE=yes # include the MESSAGE package +-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes + +Traditional make: % cd lammps/lib/message % python Install.py -m -z # build CSlib with MPI and ZMQ support -% python Install.py -s -z # also build serial lib and ZMQ support % cd lammps/src % make yes-message % make mpi You can leave off the -z if you do not have ZMQ on your system. -Next build the MC client code, which will link with the serial CSlib. +---------------- + +Build the MC client code + +The source files for the MC code are in this dir. It links with the +CSlib library in lib/message/cslib. + +You must first build the CSlib in serial mode, e.g. + +% cd lammps/lib/message/cslib/src +% make lib # build serial and parallel lib with ZMQ support +% make lib zmq=no # build serial and parallel lib without ZMQ support -First edit the Makefile in this dir. The CSLIB variable should be the -path to where the LAMMPS lib/message dir is on your system. If you -built the CSlib without ZMQ support you will also need to -comment/uncomment two lines. Then you can just type +Then edit the Makefile in this dir. The CSLIB variable should be the +path to where the LAMMPS lib/message/cslib/src dir is on your system. +If you built the CSlib without ZMQ support you will also need to +comment/uncomment one line. Then you can just type % make diff --git a/examples/COUPLE/lammps_vasp/README b/examples/COUPLE/lammps_vasp/README index b301bd779f..e942d52535 100644 --- a/examples/COUPLE/lammps_vasp/README +++ b/examples/COUPLE/lammps_vasp/README @@ -24,6 +24,16 @@ MPI. Build LAMMPS with its MESSAGE package installed: +See the Build extras doc page and its MESSAGE package +section for details. + +CMake: + +-D PKG_MESSAGE=yes # include the MESSAGE package +-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes + +Traditional make: + cd lammps/lib/message python Install.py -m -z # build CSlib with MPI and ZMQ support cd lammps/src @@ -34,6 +44,27 @@ You can leave off the -z if you do not have ZMQ on your system. ---------------- +Build the CSlib in a form usable by the vasp_wrapper.py script: + +% cd lammps/lib/message/cslib/src +% make shlib # build serial and parallel shared lib with ZMQ support +% make shlib zmq=no # build serial and parallel shared lib w/out ZMQ support + +This will make a shared library versions of the CSlib, which Python +requires. Python must be able to find both the cslib.py script and +the libcsnompi.so library in your lammps/lib/message/cslib/src +directory. If it is not able to do this, you will get an error when +you run vasp_wrapper.py. + +You can do this by augmenting two environment variables, either +from the command line, or in your shell start-up script. +Here is the sample syntax for the csh or tcsh shells: + +setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/lammps/lib/message/cslib/src +setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/lib/message/cslib/src + +---------------- + Prepare to use VASP and the vasp_wrapper.py script You can run the vasp_wrap.py script as-is to test that the coupling @@ -68,13 +99,14 @@ POSCAR_W matches in.client.W. Once you run VASP yourself, the vasprun.xml file will be overwritten. -NOTE: explain how vasp_wrapper.py finds the cslib.py wrapper on the -CSlib to import. - ---------------- To run in client/server mode: +NOTE: The vasp_wrap.py script must be run with Python version 2, not +3. This is because it used the CSlib python wrapper, which only +supports version 2. We plan to upgrade CSlib to support Python 3. + Both the client (LAMMPS) and server (vasp_wrap.py) must use the same messaging mode, namely file or zmq. This is an argument to the vasp_wrap.py code; it can be selected by setting the "mode" variable diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp index bfcca4841b..dbaada9b50 100644 --- a/src/MESSAGE/fix_client_md.cpp +++ b/src/MESSAGE/fix_client_md.cpp @@ -32,7 +32,7 @@ using namespace FixConst; enum{OTHER,REAL,METAL}; enum{SETUP=1,STEP}; enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; -enum{FORCES=1,ENERGY,VIRIAL,ERROR}; +enum{FORCES=1,ENERGY,PRESSURE,ERROR}; /* ---------------------------------------------------------------------- */ @@ -67,10 +67,10 @@ FixClientMD::FixClientMD(LAMMPS *lmp, int narg, char **arg) : // otherwise not needed // message received in METAL units, convert to local REAL units - fconvert = econvert = vconvert = 1.0; + fconvert = econvert = pconvert = 1.0; if (units == REAL) { - fconvert = econvert = 23.06035; - vconvert = 0.986923; + fconvert = econvert = 23.06035; // eV -> Kcal/mole + pconvert = 0.986923; // bars -> atmospheres } } @@ -274,7 +274,7 @@ void FixClientMD::pack_box() /* ---------------------------------------------------------------------- receive message from server - required fields: FORCES, ENERGY, VIRIAL + required fields: FORCES, ENERGY, PRESSURE optional field: ERROR ------------------------------------------------------------------------- */ @@ -307,9 +307,14 @@ void FixClientMD::receive_fev(int vflag) eng = econvert * cs->unpack_double(ENERGY); if (vflag) { - double *v = (double *) cs->unpack(VIRIAL); + double *v = (double *) cs->unpack(PRESSURE); + + double nktv2p = force->nktv2p; + double volume = domain->xprd * domain->yprd * domain->zprd; + double factor = inv_nprocs * pconvert * volume / nktv2p; + for (int i = 0; i < 6; i++) - virial[i] = inv_nprocs * vconvert * v[i]; + virial[i] = factor * v[i]; } // error return diff --git a/src/MESSAGE/server_md.cpp b/src/MESSAGE/server_md.cpp index e51571e972..aa771b7d46 100644 --- a/src/MESSAGE/server_md.cpp +++ b/src/MESSAGE/server_md.cpp @@ -37,7 +37,7 @@ using namespace CSLIB_NS; enum{OTHER,REAL,METAL}; enum{SETUP=1,STEP}; enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; -enum{FORCES=1,ENERGY,VIRIAL,ERROR}; +enum{FORCES=1,ENERGY,PRESSURE,ERROR}; /* ---------------------------------------------------------------------- */ @@ -58,10 +58,10 @@ ServerMD::ServerMD(LAMMPS *lmp) : Pointers(lmp) // otherwise not needed // local computation in REAL units, send message in METAL units - fconvert = econvert = vconvert = 1.0; + fconvert = econvert = pconvert = 1.0; if (units == REAL) { - fconvert = econvert = 1.0 / 23.06035; - vconvert = 1.0 / 0.986923; + fconvert = econvert = 1.0 / 23.06035; // Kcal/mole -> eV + pconvert = 1.0 / 0.986923; // atmospheres -> bars } fcopy = NULL; @@ -339,7 +339,7 @@ void ServerMD::box_change(double *origin, double *box) /* ---------------------------------------------------------------------- return message with forces, energy, pressure tensor pressure tensor should be just pair and KSpace contributions - required fields: FORCES, ENERGY, VIRIAL + required fields: FORCES, ENERGY, PRESSURE optional field: ERROR (not ever sending) ------------------------------------------------------------------------- */ @@ -374,11 +374,16 @@ void ServerMD::send_fev(int msgID) double v[6],vall[6]; for (int i = 0; i < 6; i++) v[i] = force->pair->virial[i]; + MPI_Allreduce(&v,&vall,6,MPI_DOUBLE,MPI_SUM,world); + if (force->kspace) for (int i = 0; i < 6; i++) - v[i] += force->kspace->virial[i]; + vall[i] += force->kspace->virial[i]; - for (int i = 0; i < 6; i++) v[i] *= vconvert; - MPI_Allreduce(&v,&vall,6,MPI_DOUBLE,MPI_SUM,world); - cs->pack(VIRIAL,4,6,vall); + double nktv2p = force->nktv2p; + double volume = domain->xprd * domain->yprd * domain->zprd; + double factor = pconvert / volume * nktv2p; + for (int i = 0; i < 6; i++) vall[i] *= factor; + + cs->pack(PRESSURE,4,6,vall); } -- GitLab From f66ce801ad23c42d28f56b776a859bf1993909c9 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 31 Aug 2018 16:21:45 -0600 Subject: [PATCH 639/675] final testing --- examples/COUPLE/lammps_vasp/log.client.output | 69 +++++++++++-------- src/MESSAGE/fix_client_md.cpp | 1 + src/MESSAGE/fix_client_md.h | 2 +- src/MESSAGE/server_md.h | 2 +- 4 files changed, 44 insertions(+), 30 deletions(-) diff --git a/examples/COUPLE/lammps_vasp/log.client.output b/examples/COUPLE/lammps_vasp/log.client.output index de37c7cbaf..fa8f4f920a 100644 --- a/examples/COUPLE/lammps_vasp/log.client.output +++ b/examples/COUPLE/lammps_vasp/log.client.output @@ -1,63 +1,76 @@ -LAMMPS (20 Apr 2018) +LAMMPS (22 Aug 2018) # small W unit cell for use with VASP -#message client aimd file tmp.couple -message client aimd zmq localhost:5555 -#message client aimd mpi/two tmp.couple -#message client aimd mpi/one tmp.couple +variable mode index file -units real +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" +message client md zmq localhost:5555 +variable x index 1 +variable y index 1 +variable z index 1 + +units metal atom_style atomic atom_modify sort 0 0.0 map yes read_data data.W orthogonal box = (0 0 0) to (3.16 3.16 3.16) - 1 by 1 by 1 MPI processor grid + 1 by 1 by 2 MPI processor grid reading atoms ... 2 atoms -mass 1 1.0 +mass 1 183.85 -#velocity all create 300.0 87287 loop geom +replicate $x $y $z +replicate 1 $y $z +replicate 1 1 $z +replicate 1 1 1 + orthogonal box = (0 0 0) to (3.16 3.16 3.16) + 1 by 1 by 2 MPI processor grid + 2 atoms + Time spent = 0.000148058 secs + +velocity all create 300.0 87287 loop geom neighbor 0.3 bin neigh_modify delay 0 every 10 check no fix 1 all nve -fix 2 all message/aimd +fix 2 all client/md fix_modify 2 energy yes thermo 1 -run 2 +run 3 Per MPI rank memory allocation (min/avg/max) = 1.8 | 1.8 | 1.8 Mbytes Step Temp E_pair E_mol TotEng Press - 0 0 0 0 -48.069571 -172694.2 - 1 0.063865861 0 0 -48.069381 -172693.93 - 2 0.25546344 0 0 -48.06881 -172693.1 -Loop time of 0.281842 on 1 procs for 2 steps with 2 atoms + 0 300 0 0 -48.030793 -78159.503 + 1 298.24318 0 0 -48.03102 -78167.19 + 2 296.85584 0 0 -48.031199 -78173.26 + 3 295.83795 0 0 -48.031331 -78177.714 +Loop time of 0.457491 on 2 procs for 3 steps with 2 atoms -Performance: 0.613 ns/day, 39.145 hours/ns, 7.096 timesteps/s -0.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.567 ns/day, 42.360 hours/ns, 6.558 timesteps/s +50.1% CPU use with 2 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- Pair | 0 | 0 | 0 | 0.0 | 0.00 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 3.0994e-06 | 3.0994e-06 | 3.0994e-06 | 0.0 | 0.00 -Output | 8.9169e-05 | 8.9169e-05 | 8.9169e-05 | 0.0 | 0.03 -Modify | 0.28174 | 0.28174 | 0.28174 | 0.0 | 99.97 -Other | | 5.96e-06 | | | 0.00 - -Nlocal: 2 ave 2 max 2 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 7 ave 7 max 7 min -Histogram: 1 0 0 0 0 0 0 0 0 0 +Comm | 1.3828e-05 | 2.9922e-05 | 4.6015e-05 | 0.0 | 0.01 +Output | 7.5817e-05 | 9.3937e-05 | 0.00011206 | 0.0 | 0.02 +Modify | 0.45735 | 0.45736 | 0.45736 | 0.0 | 99.97 +Other | | 1.204e-05 | | | 0.00 + +Nlocal: 1 ave 1 max 1 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 4 ave 4 max 4 min +Histogram: 2 0 0 0 0 0 0 0 0 0 Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 +Histogram: 2 0 0 0 0 0 0 0 0 0 Total # of neighbors = 0 Ave neighs/atom = 0 Neighbor list builds = 0 Dangerous builds not checked -Total wall time: 0:00:06 +Total wall time: 0:01:21 diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp index dbaada9b50..aca5cd41f9 100644 --- a/src/MESSAGE/fix_client_md.cpp +++ b/src/MESSAGE/fix_client_md.cpp @@ -18,6 +18,7 @@ #include "atom.h" #include "comm.h" #include "domain.h" +#include "force.h" #include "memory.h" #include "error.h" diff --git a/src/MESSAGE/fix_client_md.h b/src/MESSAGE/fix_client_md.h index 262a4736ed..1c874c7278 100644 --- a/src/MESSAGE/fix_client_md.h +++ b/src/MESSAGE/fix_client_md.h @@ -40,7 +40,7 @@ class FixClientMD : public Fix { int maxatom,units,server_error; double eng; double inv_nprocs; - double fconvert,econvert,vconvert; + double fconvert,econvert,pconvert; double box[3][3]; double *xpbc; diff --git a/src/MESSAGE/server_md.h b/src/MESSAGE/server_md.h index 35daad8df0..289d70bdd8 100644 --- a/src/MESSAGE/server_md.h +++ b/src/MESSAGE/server_md.h @@ -26,7 +26,7 @@ class ServerMD : protected Pointers { private: int units; - double fconvert,econvert,vconvert; + double fconvert,econvert,pconvert; double **fcopy; void box_change(double *, double *); -- GitLab From 5f0423b97d64ff06b9317ddb5c140c805cf8f1b6 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 31 Aug 2018 17:04:27 -0600 Subject: [PATCH 640/675] change -mpi to -mpicolor --- doc/src/Howto_client_server.txt | 11 ++++++----- doc/src/Run_options.txt | 4 ++-- doc/src/message.txt | 10 +++++----- examples/message/README | 8 ++++---- examples/message/Script.sh | 8 ++++---- src/lammps.cpp | 1 + 6 files changed, 22 insertions(+), 20 deletions(-) diff --git a/doc/src/Howto_client_server.txt b/doc/src/Howto_client_server.txt index ce9bbc0763..714c23f066 100644 --- a/doc/src/Howto_client_server.txt +++ b/doc/src/Howto_client_server.txt @@ -119,12 +119,13 @@ For message exchange in {mpi/one} mode: Launch both codes in a single mpirun command: -mpirun -np 2 lmp_mpi -mpi 2 -in in.message.client -log log.client : -np 4 lmp_mpi -mpi 2 -in in.message.server -log log.server +mpirun -np 2 lmp_mpi -mpicolor 0 -in in.message.client -log log.client : -np 4 lmp_mpi -mpicolor 1 -in in.message.server -log log.server The two -np values determine how many procs the client and the server run on. -A LAMMPS executable run in this manner must use the -mpi P -command-line option as their first option, where P is the number of -processors the first code in the mpirun command (client or server) is -running on. +A LAMMPS executable run in this manner must use the -mpicolor color +command-line option as their its option, where color is an integer +label that will be used to distinguish one executable from another in +the multiple executables that the mpirun command launches. In this +example the client was colored with a 0, and the server with a 1. diff --git a/doc/src/Run_options.txt b/doc/src/Run_options.txt index b58aaa16e1..27f436ed55 100644 --- a/doc/src/Run_options.txt +++ b/doc/src/Run_options.txt @@ -18,7 +18,7 @@ letter abbreviation can be used: "-i or -in"_#file "-k or -kokkos"_#run-kokkos "-l or -log"_#log -"-m or -mpi"_#mpi +"-m or -mpicolor"_#mpicolor "-nc or -nocite"_#nocite "-pk or -package"_#package "-p or -partition"_#partition @@ -176,7 +176,7 @@ Option -plog will override the name of the partition log files file.N. :line -[-mpi] color :link(mpi) +[-mpicolor] color :link(mpi) If used, this must be the first command-line argument after the LAMMPS executable name. It is only used when LAMMPS is launched by an mpirun diff --git a/doc/src/message.txt b/doc/src/message.txt index 6c84f3135c..cca1a5b369 100644 --- a/doc/src/message.txt +++ b/doc/src/message.txt @@ -105,12 +105,12 @@ mode on a parallel machine, e.g. a cluster with many nodes. For mode {mpi/one}, the 2 codes communicate via MPI and are launched by the same mpirun command, e.g. with this syntax for OpenMPI: -mpirun -np 2 lmp_mpi -mpi 2 -in in.client -log log.client : -np 4 othercode args # LAMMPS is client -mpirun -np 2 othercode args : -np 4 lmp_mpi -mpi 2 -in in.server # LAMMPS is server :pre +mpirun -np 2 lmp_mpi -mpicolor 0 -in in.client -log log.client : -np 4 othercode args # LAMMPS is client +mpirun -np 2 othercode args : -np 4 lmp_mpi -mpicolor 1 -in in.server # LAMMPS is server :pre -Note the use of the "-mpi P" command-line argument with LAMMPS. See -the "command-line args"_Run_options.html doc page for further -explanation. +Note the use of the "-mpicolor color" command-line argument with +LAMMPS. See the "command-line args"_Run_options.html doc page for +further explanation. For mode {mpi/two}, the 2 codes communicate via MPI, but are launched be 2 separate mpirun commands. The specified {filename} argument is a diff --git a/examples/message/README b/examples/message/README index 34a5794e7a..6cd99d5c09 100644 --- a/examples/message/README +++ b/examples/message/README @@ -105,13 +105,13 @@ Mpi/one mode of messaging: Launch LAMMPS twice in a single mpirun command: -% mpirun -np 2 lmp_mpi -mpi 0 -in in.message.client -v mode mpione -log log.client : -np 4 lmp_mpi -mpi 1 -in in.message.server -v mode mpione -log log.server +% mpirun -np 2 lmp_mpi -mpicolor 0 -in in.message.client -v mode mpione -log log.client : -np 4 lmp_mpi -mpicolor 1 -in in.message.server -v mode mpione -log log.server Or run with in.message.tilt.client/server. The two -np values determine how many procs the client and the server run on. -A LAMMPS executable run in this manner must use the -mpi color -command-line option as their first option, where color is set to -one integer value for the 1st app, and another value for the 2nd app. +A LAMMPS executable run in this manner must use the -mpicolor color +command-line option as its first option, where color is set to one +integer value for the 1st app, and another value for the 2nd app. diff --git a/examples/message/Script.sh b/examples/message/Script.sh index 0125bdd500..fdcd6f1188 100644 --- a/examples/message/Script.sh +++ b/examples/message/Script.sh @@ -13,7 +13,7 @@ mpirun -np 1 lmp_mpi -v mode zmq -log log.message.server.zmq.g++.1 < in.message. mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.client.mpitwo.g++.1 < in.message.client & mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.server.mpitwo.g++.1 < in.message.server -mpirun -np 1 lmp_mpi -mpi 0 -in in.message.client -v mode mpione -log log.message.client.mpione.g++.1 : -np 1 lmp_mpi -mpi 1 -in in.message.server -v mode mpione -log log.message.server.mpione.g++.1 +mpirun -np 1 lmp_mpi -m 0 -in in.message.client -v mode mpione -log log.message.client.mpione.g++.1 : -np 1 lmp_mpi -m 1 -in in.message.server -v mode mpione -log log.message.server.mpione.g++.1 # message on 2/4 procs each @@ -28,7 +28,7 @@ mpirun -np 4 lmp_mpi -v mode zmq -log log.message.server.zmq.g++.4 < in.message. mpirun -np 2 lmp_mpi -v mode mpitwo -log log.message.client.mpitwo.g++.2 < in.message.client & mpirun -np 4 lmp_mpi -v mode mpitwo -log log.message.server.mpitwo.g++.4 < in.message.server -mpirun -np 2 lmp_mpi -mpi 0 -in in.message.client -v mode mpione -log log.message.client.mpione.g++.2 : -np 4 lmp_mpi -mpi 1 -in in.message.server -v mode mpione -log log.message.server.mpione.g++.4 +mpirun -np 2 lmp_mpi -m 0 -in in.message.client -v mode mpione -log log.message.client.mpione.g++.2 : -np 4 lmp_mpi -m 1 -in in.message.server -v mode mpione -log log.message.server.mpione.g++.4 # message.tilt on 1 proc each @@ -40,7 +40,7 @@ mpirun -np 1 lmp_mpi -v mode zmq -log log.message.tilt.server.zmq.g++.1 < in.mes mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.tilt.client.mpitwo.g++.1 < in.message.tilt.client & mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.tilt.server.mpitwo.g++.1 < in.message.tilt.server -mpirun -np 1 lmp_mpi -mpi 0 -in in.message.tilt.client -v mode mpione -log log.message.tilt.client.mpione.g++.1 : -np 1 lmp_mpi -mpi 1 -in in.message.tilt.server -v mode mpione -log log.message.tilt.server.mpione.g++.1 +mpirun -np 1 lmp_mpi -m 0 -in in.message.tilt.client -v mode mpione -log log.message.tilt.client.mpione.g++.1 : -np 1 lmp_mpi -m 1 -in in.message.tilt.server -v mode mpione -log log.message.tilt.server.mpione.g++.1 # message.tilt on 2/4 procs each @@ -52,4 +52,4 @@ mpirun -np 4 lmp_mpi -v mode zmq -log log.message.tilt.server.zmq.g++.4 < in.mes mpirun -np 2 lmp_mpi -v mode mpitwo -log log.message.tilt.client.mpitwo.g++.2 < in.message.tilt.client & mpirun -np 4 lmp_mpi -v mode mpitwo -log log.message.tilt.server.mpitwo.g++.4 < in.message.tilt.server -mpirun -np 2 lmp_mpi -mpi 0 -in in.message.tilt.client -v mode mpione -log log.message.tilt.client.mpione.g++.2 : -np 4 lmp_mpi -mpi 1 -in in.message.tilt.server -v mode mpione -log log.message.tilt.server.mpione.g++.4 +mpirun -np 2 lmp_mpi -m 0 -in in.message.tilt.client -v mode mpione -log log.message.tilt.client.mpione.g++.2 : -np 4 lmp_mpi -m 1 -in in.message.tilt.server -v mode mpione -log log.message.tilt.server.mpione.g++.4 diff --git a/src/lammps.cpp b/src/lammps.cpp index dec4a57186..fcdfecf30a 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -879,6 +879,7 @@ void LAMMPS::help() "-in filename : read input from file, not stdin (-i)\n" "-kokkos on/off ... : turn KOKKOS mode on or off (-k)\n" "-log none/filename : where to send log output (-l)\n" + "-mpicolor color : which exe in a multi-exe mpirun cmd (-m)\n" "-nocite : disable writing log.cite file (-nc)\n" "-package style ... : invoke package command (-pk)\n" "-partition size1 size2 ... : assign partition sizes (-p)\n" -- GitLab From 9e03bf7db993ded945ac9e3a853e93814d349905 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 1 Sep 2018 19:12:46 -0400 Subject: [PATCH 641/675] make USER-DIFFRACTION input example fully consistent with output and remove additional input file --- examples/USER/diffraction/BulkNi.in | 5 ++-- examples/USER/diffraction/Output/BulkNi.in | 35 ---------------------- 2 files changed, 3 insertions(+), 37 deletions(-) delete mode 100644 examples/USER/diffraction/Output/BulkNi.in diff --git a/examples/USER/diffraction/BulkNi.in b/examples/USER/diffraction/BulkNi.in index 0fa9c1b74c..8315e57750 100644 --- a/examples/USER/diffraction/BulkNi.in +++ b/examples/USER/diffraction/BulkNi.in @@ -17,8 +17,9 @@ atom_modify sort 0 0 compute XRD all xrd 1.541838 Ni 2Theta 40 80 c 2 2 2 LP 1 echo -compute SAED all saed 0.0251 Ni Kmax 0.85 Zone 1 0 0 c 0.025 0.025 0.025 & - dR_Ewald 0.05 echo manual +compute SAED all saed 0.0251 Ni Kmax 0.85 & + Zone 0 0 0 c 0.025 0.025 0.025 & + dR_Ewald 0.01 echo manual fix 1 all ave/histo/weight 1 1 1 40 80 200 c_XRD[1] c_XRD[2] & mode vector file $A.hist.xrd diff --git a/examples/USER/diffraction/Output/BulkNi.in b/examples/USER/diffraction/Output/BulkNi.in deleted file mode 100644 index 8315e57750..0000000000 --- a/examples/USER/diffraction/Output/BulkNi.in +++ /dev/null @@ -1,35 +0,0 @@ -variable A string bulkNi -log $A.log - -boundary p p p - -units metal -timestep 0.001 - -lattice fcc 3.52 -region box block 0 20 0 20 0 20 -create_box 1 box -create_atoms 1 box - -pair_style none -mass * 58.71 -atom_modify sort 0 0 - -compute XRD all xrd 1.541838 Ni 2Theta 40 80 c 2 2 2 LP 1 echo - -compute SAED all saed 0.0251 Ni Kmax 0.85 & - Zone 0 0 0 c 0.025 0.025 0.025 & - dR_Ewald 0.01 echo manual - -fix 1 all ave/histo/weight 1 1 1 40 80 200 c_XRD[1] c_XRD[2] & - mode vector file $A.hist.xrd - -fix 2 all saed/vtk 1 1 1 c_SAED file $A_001.saed - -dump 1 all custom 1 $A.dump id x y z -run 0 - -unfix 1 -unfix 2 -uncompute XRD -uncompute SAED -- GitLab From a6dfab6f27573e82a9fc89dbd2899f91f9f770e6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 4 Sep 2018 09:13:22 -0400 Subject: [PATCH 642/675] recover some const'ness in Domain class, that was lost when merging MESSAGE package. fixes lib/atc compilation issue --- src/domain.cpp | 10 +++++----- src/domain.h | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/domain.cpp b/src/domain.cpp index 4e9b414050..8238ab7eea 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -1176,12 +1176,12 @@ int Domain::closest_image(int i, int j) if J is not a valid index like -1, just return it ------------------------------------------------------------------------- */ -int Domain::closest_image(double *pos, int j) +int Domain::closest_image(const double * const pos, int j) { if (j < 0) return j; - int *sametag = atom->sametag; - double **x = atom->x; + const int * const sametag = atom->sametag; + const double * const * const x = atom->x; int closest = j; double delx = pos[0] - x[j][0]; @@ -1208,10 +1208,10 @@ int Domain::closest_image(double *pos, int j) /* ---------------------------------------------------------------------- find and return Xj image = periodic image of Xj that is closest to Xi for triclinic, add/subtract tilt factors in other dims as needed - called by ServerMD class + called by ServerMD class and LammpsInterface in lib/atc. ------------------------------------------------------------------------- */ -void Domain::closest_image(double *xi, double *xj, double *xjimage) +void Domain::closest_image(const double * const xi, const double * const xj, double * const xjimage) { double dx = xj[0] - xi[0]; double dy = xj[1] - xi[1]; diff --git a/src/domain.h b/src/domain.h index ed24116cf4..9ebdd6ae94 100644 --- a/src/domain.h +++ b/src/domain.h @@ -115,8 +115,8 @@ class Domain : protected Pointers { void minimum_image(double *); void minimum_image_once(double *); int closest_image(int, int); - int closest_image(double *, int); - void closest_image(double *, double *, double *); + int closest_image(const double * const, int); + void closest_image(const double * const, const double * const, double * const); void remap(double *, imageint &); void remap(double *); void remap_near(double *, double *); -- GitLab From f18f12d1a6ab2a7cba28ff3eaed16f726d6b9d53 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 4 Sep 2018 09:14:42 -0400 Subject: [PATCH 643/675] Fix NETCDF include and libs in CMake --- cmake/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 0d4bab29f1..f1124fc127 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -435,8 +435,8 @@ endif() if(PKG_USER-NETCDF) find_package(NetCDF REQUIRED) - include_directories(NETCDF_INCLUDE_DIR) - list(APPEND LAMMPS_LINK_LIBS ${NETCDF_LIBRARY}) + include_directories(${NETCDF_INCLUDE_DIRS}) + list(APPEND LAMMPS_LINK_LIBS ${NETCDF_LIBRARIES}) add_definitions(-DLMP_HAS_NETCDF -DNC_64BIT_DATA=0x0020) endif() -- GitLab From 842136afc841e90720abae1fa32ef84bf73f8e52 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 4 Sep 2018 12:12:49 -0400 Subject: [PATCH 644/675] Add core tests to CMake --- cmake/CMakeLists.txt | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 0d4bab29f1..47a4075bcc 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -136,6 +136,7 @@ if(BUILD_EXE) if(LAMMPS_MACHINE) set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}") endif() + set(LAMMPS_BINARY lmp${LAMMPS_MACHINE}) endif() option(BUILD_LIB "Build LAMMPS library" OFF) @@ -208,6 +209,38 @@ option(CMAKE_VERBOSE_MAKEFILE "Verbose makefile" OFF) option(ENABLE_TESTING "Enable testing" OFF) if(ENABLE_TESTING) enable_testing() + + if (CMAKE_VERSION VERSION_GREATER "3.10.3") # due to FetchContent + include(FetchContent) + + + FetchContent_Declare(lammps-testing + GIT_REPOSITORY https://github.com/lammps/lammps-testing.git + GIT_TAG master + ) + + FetchContent_GetProperties(lammps-testing) + if(NOT lammps-testing_POPULATED) + message(STATUS "Downloading tests...") + FetchContent_Populate(lammps-testing) + endif() + message(STATUS "Running test discovery...") + + file(GLOB_RECURSE TEST_SCRIPTS ${lammps-testing_SOURCE_DIR}/tests/core/*/in.*) + foreach(script_path ${TEST_SCRIPTS}) + get_filename_component(TEST_NAME ${script_path} EXT) + get_filename_component(SCRIPT_NAME ${script_path} NAME) + get_filename_component(PARENT_DIR ${script_path} DIRECTORY) + string(SUBSTRING ${TEST_NAME} 1 -1 TEST_NAME) + string(REPLACE "-" "_" TEST_NAME ${TEST_NAME}) + string(REPLACE "+" "_" TEST_NAME ${TEST_NAME}) + set(TEST_NAME "test_core_${TEST_NAME}_serial") + add_test(${TEST_NAME} ${CMAKE_BINARY_DIR}/${LAMMPS_BINARY} -in ${SCRIPT_NAME}) + set_tests_properties(${TEST_NAME} PROPERTIES WORKING_DIRECTORY ${PARENT_DIR}) + endforeach() + else() + message(WARNING "Full test-suite requires CMake >= 3.11") + endif() endif(ENABLE_TESTING) set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR @@ -1119,11 +1152,11 @@ if(BUILD_EXE) endif() endif() - set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE}) + set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY}) install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR}) - install(FILES ${LAMMPS_DOC_DIR}/lammps.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 RENAME lmp${LAMMPS_MACHINE}.1) + install(FILES ${LAMMPS_DOC_DIR}/lammps.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 RENAME ${LAMMPS_BINARY}.1) if(ENABLE_TESTING) - add_test(ShowHelp lmp${LAMMPS_MACHINE} -help) + add_test(ShowHelp ${LAMMPS_BINARY} -help) endif() endif() -- GitLab From af4b2b935428b4e7738b17e78bcca96463e212eb Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 4 Sep 2018 15:37:32 -0400 Subject: [PATCH 645/675] Add LAMMPS_TESTING_SOURCE_DIR and LAMMPS_TESTING_GIT_TAG options --- cmake/CMakeLists.txt | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 47a4075bcc..0d8da8409d 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -209,14 +209,16 @@ option(CMAKE_VERBOSE_MAKEFILE "Verbose makefile" OFF) option(ENABLE_TESTING "Enable testing" OFF) if(ENABLE_TESTING) enable_testing() + option(LAMMPS_TESTING_SOURCE_DIR "Location of lammps-testing source directory" "") + option(LAMMPS_TESTING_GIT_TAG "Git tag of lammps-testing" "master") + mark_as_advanced(LAMMPS_TESTING_SOURCE_DIR LAMMPS_TESTING_GIT_TAG) - if (CMAKE_VERSION VERSION_GREATER "3.10.3") # due to FetchContent + if (CMAKE_VERSION VERSION_GREATER "3.10.3" AND NOT LAMMPS_TESTING_SOURCE_DIR) include(FetchContent) - FetchContent_Declare(lammps-testing GIT_REPOSITORY https://github.com/lammps/lammps-testing.git - GIT_TAG master + GIT_TAG ${LAMMPS_TESTING_GIT_TAG} ) FetchContent_GetProperties(lammps-testing) @@ -224,9 +226,17 @@ if(ENABLE_TESTING) message(STATUS "Downloading tests...") FetchContent_Populate(lammps-testing) endif() + + set(LAMMPS_TESTING_SOURCE_DIR ${lammps-testing_SOURCE_DIR}) + elseif(NOT LAMMPS_TESTING_SOURCE_DIR) + message(WARNING "Full test-suite requires CMake >= 3.11 or copy of\n" + "https://github.com/lammps/lammps-testing in LAMMPS_TESTING_SOURCE_DIR") + endif() + + if(EXISTS ${LAMMPS_TESTING_SOURCE_DIR}) message(STATUS "Running test discovery...") - file(GLOB_RECURSE TEST_SCRIPTS ${lammps-testing_SOURCE_DIR}/tests/core/*/in.*) + file(GLOB_RECURSE TEST_SCRIPTS ${LAMMPS_TESTING_SOURCE_DIR}/tests/core/*/in.*) foreach(script_path ${TEST_SCRIPTS}) get_filename_component(TEST_NAME ${script_path} EXT) get_filename_component(SCRIPT_NAME ${script_path} NAME) @@ -238,8 +248,9 @@ if(ENABLE_TESTING) add_test(${TEST_NAME} ${CMAKE_BINARY_DIR}/${LAMMPS_BINARY} -in ${SCRIPT_NAME}) set_tests_properties(${TEST_NAME} PROPERTIES WORKING_DIRECTORY ${PARENT_DIR}) endforeach() - else() - message(WARNING "Full test-suite requires CMake >= 3.11") + list(LENGTH TEST_SCRIPTS NUM_TESTS) + + message(STATUS "Found ${NUM_TESTS} tests.") endif() endif(ENABLE_TESTING) -- GitLab From bcecc0389e0607223383a8fa0713d73045d41ad9 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 4 Sep 2018 14:48:44 -0600 Subject: [PATCH 646/675] add variable option to compute bond/angle/dihedral local --- doc/src/compute_angle_local.txt | 66 ++++++-- doc/src/compute_bond_local.txt | 69 +++++++-- doc/src/compute_dihedral_local.txt | 64 +++++++- src/compute_angle_local.cpp | 205 ++++++++++++++++++------- src/compute_angle_local.h | 8 +- src/compute_bond_local.cpp | 111 ++++++++++++-- src/compute_bond_local.h | 9 +- src/compute_dihedral_local.cpp | 238 ++++++++++++++++++++--------- src/compute_dihedral_local.h | 8 +- 9 files changed, 611 insertions(+), 167 deletions(-) diff --git a/doc/src/compute_angle_local.txt b/doc/src/compute_angle_local.txt index 3a321965ef..8acaec94d5 100644 --- a/doc/src/compute_angle_local.txt +++ b/doc/src/compute_angle_local.txt @@ -10,20 +10,27 @@ compute angle/local command :h3 [Syntax:] -compute ID group-ID angle/local value1 value2 ... :pre +compute ID group-ID angle/local value1 value2 ... keyword args ... :pre ID, group-ID are documented in "compute"_compute.html command :ulb,l angle/local = style name of this compute command :l one or more values may be appended :l -value = {theta} or {eng} :l +value = {theta} or {eng} or {v_name} :l {theta} = tabulate angles - {eng} = tabulate angle energies :pre + {eng} = tabulate angle energies + {v_name} = equal-style variable with name (see below) :pre +zero or more keyword/args pairs may be appended :l +keyword = {set} :l + {set} args = theta name + theta = only currently allowed arg + name = name of variable to set with theta :pre :ule [Examples:] compute 1 all angle/local theta -compute 1 all angle/local eng theta :pre +compute 1 all angle/local eng theta +compute 1 all angle/local theta v_cos set theta t :pre [Description:] @@ -36,6 +43,47 @@ The value {theta} is the angle for the 3 atoms in the interaction. The value {eng} is the interaction energy for the angle. +The value {v_name} can be used together with the {set} keyword to +compute a user-specified function of the angle theta. The {name} +specified for the {v_name} value is the name of an "equal-style +variable"_variable.html which should evaluate a formula based on a +variable which will store the angle theta. This other variable must +be an "internal-style variable"_variable.html defined in the input +script; its initial numeric value can be anything. It must be an +internal-style variable, because this command resets its value +directly. The {set} keyword is used to identify the name of this +other variable associated with theta. + +Note that the value of theta for each angle which stored in the +internal variable is in radians, not degrees. + +As an example, these commands can be added to the bench/in.rhodo +script to compute the cosine and cosine^2 of every angle in the system +and output the statistics in various ways: + +variable t internal 0.0 +variable cos equal cos(v_t) +variable cossq equal cos(v_t)*cos(v_t) :pre + +compute 1 all property/local aatom1 aatom2 aatom3 atype +compute 2 all angle/local eng theta v_cos v_cossq set theta t +dump 1 all local 100 tmp.dump c_1[*] c_2[*] :pre + +compute 3 all reduce ave c_2[*] +thermo_style custom step temp press c_3[*] :pre + +fix 10 all ave/histo 10 10 100 -1 1 20 c_2[3] mode vector file tmp.histo :pre + +The "dump local"_dump.html command will output the energy, angle, +cosine(angle), cosine^2(angle) for every angle in the system. The +"thermo_style"_thermo_style.html command will print the average of +those quantities via the "compute reduce"_compute_reduce.html command +with thermo output. And the "fix ave/histo"_fix_ave_histo.html +command will histogram the cosine(angle) values and write them to a +file. + +:line + The local data stored by this command is generated by looping over all the atoms owned on a processor and their angles. An angle will only be included if all 3 atoms in the angle are in the specified compute @@ -65,12 +113,12 @@ dump 1 all local 1000 tmp.dump index c_1\[1\] c_1\[2\] c_1\[3\] c_1\[4\] c_2\[1\ [Output info:] This compute calculates a local vector or local array depending on the -number of keywords. The length of the vector or number of rows in the -array is the number of angles. If a single keyword is specified, a -local vector is produced. If two or more keywords are specified, a +number of values. The length of the vector or number of rows in the +array is the number of angles. If a single value is specified, a +local vector is produced. If two or more values are specified, a local array is produced where the number of columns = the number of -keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See the "Howto +values. The vector or array can be accessed by any command that uses +local values from a compute as input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. diff --git a/doc/src/compute_bond_local.txt b/doc/src/compute_bond_local.txt index c3dc1cc4af..4afd1aec40 100644 --- a/doc/src/compute_bond_local.txt +++ b/doc/src/compute_bond_local.txt @@ -10,12 +10,12 @@ compute bond/local command :h3 [Syntax:] -compute ID group-ID bond/local value1 value2 ... :pre +compute ID group-ID bond/local value1 value2 ... keyword args ... :pre ID, group-ID are documented in "compute"_compute.html command :ulb,l bond/local = style name of this compute command :l one or more values may be appended :l -value = {dist} or {engpot} or {force} or {engvib} or {engrot} or {engtrans} or {omega} or {velvib} :l +value = {dist} or {engpot} or {force} or {engvib} or {engrot} or {engtrans} or {omega} or {velvib} or {v_name} :l {dist} = bond distance {engpot} = bond potential energy {force} = bond force :pre @@ -23,13 +23,22 @@ value = {dist} or {engpot} or {force} or {engvib} or {engrot} or {engtrans} or { {engrot} = bond kinetic energy of rotation {engtrans} = bond kinetic energy of translation {omega} = magnitude of bond angular velocity - {velvib} = vibrational velocity along the bond length :pre + {velvib} = vibrational velocity along the bond length + {v_name} = equal-style variable with name (see below) :pre +zero or more keyword/args pairs may be appended :l +keyword = {set} :l + {set} args = dist name + dist = only currently allowed arg + name = name of variable to set with distance (dist) :pre +:ule + :ule [Examples:] compute 1 all bond/local engpot compute 1 all bond/local dist engpot force :pre +compute 1 all angle/local dist v_distsq set dist d :pre [Description:] @@ -38,6 +47,10 @@ interactions. The number of datums generated, aggregated across all processors, equals the number of bonds in the system, modified by the group parameter as explained below. +All these properties are computed for the pair of atoms in a bond, +whether the 2 atoms represent a simple diatomic molecule, or are part +of some larger molecule. + The value {dist} is the current length of the bond. The value {engpot} is the potential energy for the bond, @@ -79,9 +92,41 @@ two atoms in the bond towards each other. A negative value means the 2 atoms are moving toward each other; a positive value means they are moving apart. -Note that all these properties are computed for the pair of atoms in a -bond, whether the 2 atoms represent a simple diatomic molecule, or are -part of some larger molecule. +The value {v_name} can be used together with the {set} keyword to +compute a user-specified function of the bond distance. The {name} +specified for the {v_name} value is the name of an "equal-style +variable"_variable.html which should evaluate a formula based on a +variable which will store the bond distance. This other variable must +be an "internal-style variable"_variable.html defined in the input +script; its initial numeric value can be anything. It must be an +internal-style variable, because this command resets its value +directly. The {set} keyword is used to identify the name of this +other variable associated with theta. + +As an example, these commands can be added to the bench/in.rhodo +script to compute the distance^2 of every bond in the system and +output the statistics in various ways: + +variable d internal 0.0 +variable dsq equal v_d*v_d :pre + +compute 1 all property/local batom1 batom2 btype +compute 2 all bond/local engpot dist v_dsq set dist d +dump 1 all local 100 tmp.dump c_1[*] c_2[*] :pre + +compute 3 all reduce ave c_2[*] +thermo_style custom step temp press c_3[*] :pre + +fix 10 all ave/histo 10 10 100 0 6 20 c_2[3] mode vector file tmp.histo :pre + +The "dump local"_dump.html command will output the energy, distance, +distance^2 for every bond in the system. The +"thermo_style"_thermo_style.html command will print the average of +those quantities via the "compute reduce"_compute_reduce.html command +with thermo output. And the "fix ave/histo"_fix_ave_histo.html +command will histogram the distance^2 values and write them to a file. + +:line The local data stored by this command is generated by looping over all the atoms owned on a processor and their bonds. A bond will only be @@ -111,12 +156,12 @@ dump 1 all local 1000 tmp.dump index c_1\[*\] c_2\[*\] :pre [Output info:] This compute calculates a local vector or local array depending on the -number of keywords. The length of the vector or number of rows in the -array is the number of bonds. If a single keyword is specified, a -local vector is produced. If two or more keywords are specified, a -local array is produced where the number of columns = the number of -keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See the "Howto +number of values. The length of the vector or number of rows in the +array is the number of bonds. If a single value is specified, a local +vector is produced. If two or more values are specified, a local +array is produced where the number of columns = the number of values. +The vector or array can be accessed by any command that uses local +values from a compute as input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. diff --git a/doc/src/compute_dihedral_local.txt b/doc/src/compute_dihedral_local.txt index 77812699d3..951b360f19 100644 --- a/doc/src/compute_dihedral_local.txt +++ b/doc/src/compute_dihedral_local.txt @@ -10,18 +10,25 @@ compute dihedral/local command :h3 [Syntax:] -compute ID group-ID dihedral/local value1 value2 ... :pre +compute ID group-ID dihedral/local value1 value2 ... keyword args ... :pre ID, group-ID are documented in "compute"_compute.html command :ulb,l dihedral/local = style name of this compute command :l one or more values may be appended :l -value = {phi} :l - {phi} = tabulate dihedral angles :pre +value = {phi} or {v_name} :l + {phi} = tabulate dihedral angles + {v_name} = equal-style variable with name (see below) :pre +zero or more keyword/args pairs may be appended :l +keyword = {set} :l + {set} args = phi name + phi = only currently allowed arg + name = name of variable to set with phi :pre :ule [Examples:] compute 1 all dihedral/local phi :pre +compute 1 all dihedral/local phi v_cos set phi p :pre [Description:] @@ -33,6 +40,47 @@ by the group parameter as explained below. The value {phi} is the dihedral angle, as defined in the diagram on the "dihedral_style"_dihedral_style.html doc page. +The value {v_name} can be used together with the {set} keyword to +compute a user-specified function of the dihedral angle phi. The +{name} specified for the {v_name} value is the name of an "equal-style +variable"_variable.html which should evaluate a formula based on a +variable which will store the angle phi. This other variable must +be an "internal-style variable"_variable.html defined in the input +script; its initial numeric value can be anything. It must be an +internal-style variable, because this command resets its value +directly. The {set} keyword is used to identify the name of this +other variable associated with phi. + +Note that the value of phi for each angle which stored in the internal +variable is in radians, not degrees. + +As an example, these commands can be added to the bench/in.rhodo +script to compute the cosine and cosine^2 of every dihedral angle in +the system and output the statistics in various ways: + +variable p internal 0.0 +variable cos equal cos(v_p) +variable cossq equal cos(v_p)*cos(v_p) :pre + +compute 1 all property/local datom1 datom2 datom3 datom4 dtype +compute 2 all dihedral/local phi v_cos v_cossq set phi p +dump 1 all local 100 tmp.dump c_1[*] c_2[*] :pre + +compute 3 all reduce ave c_2[*] +thermo_style custom step temp press c_3[*] :pre + +fix 10 all ave/histo 10 10 100 -1 1 20 c_2[2] mode vector file tmp.histo :pre + +The "dump local"_dump.html command will output the angle, +cosine(angle), cosine^2(angle) for every dihedral in the system. The +"thermo_style"_thermo_style.html command will print the average of +those quantities via the "compute reduce"_compute_reduce.html command +with thermo output. And the "fix ave/histo"_fix_ave_histo.html +command will histogram the cosine(angle) values and write them to a +file. + +:line + The local data stored by this command is generated by looping over all the atoms owned on a processor and their dihedrals. A dihedral will only be included if all 4 atoms in the dihedral are in the specified @@ -57,12 +105,12 @@ dump 1 all local 1000 tmp.dump index c_1\[1\] c_1\[2\] c_1\[3\] c_1\[4\] c_1\[5\ [Output info:] This compute calculates a local vector or local array depending on the -number of keywords. The length of the vector or number of rows in the -array is the number of dihedrals. If a single keyword is specified, a -local vector is produced. If two or more keywords are specified, a +number of values. The length of the vector or number of rows in the +array is the number of dihedrals. If a single value is specified, a +local vector is produced. If two or more values are specified, a local array is produced where the number of columns = the number of -keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See the "Howto +values. The vector or array can be accessed by any command that uses +local values from a compute as input. See the "Howto output"_Howto_output.html doc page for an overview of LAMMPS output options. diff --git a/src/compute_angle_local.cpp b/src/compute_angle_local.cpp index 7137077158..95faad54ad 100644 --- a/src/compute_angle_local.cpp +++ b/src/compute_angle_local.cpp @@ -21,6 +21,8 @@ #include "domain.h" #include "force.h" #include "angle.h" +#include "input.h" +#include "variable.h" #include "math_const.h" #include "memory.h" #include "error.h" @@ -30,11 +32,13 @@ using namespace MathConst; #define DELTA 10000 +enum{THETA,ENG,VARIABLE}; + /* ---------------------------------------------------------------------- */ ComputeAngleLocal::ComputeAngleLocal(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), - vlocal(NULL), alocal(NULL) + bstyle(NULL), vstr(NULL), vvar(NULL), tstr(NULL), vlocal(NULL), alocal(NULL) { if (narg < 4) error->all(FLERR,"Illegal compute angle/local command"); @@ -42,19 +46,82 @@ ComputeAngleLocal::ComputeAngleLocal(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Compute angle/local used when angles are not allowed"); local_flag = 1; - nvalues = narg - 3; - if (nvalues == 1) size_local_cols = 0; - else size_local_cols = nvalues; - tflag = eflag = -1; + // style args + + nvalues = narg - 3; + bstyle = new int[nvalues]; + vstr = new char*[nvalues]; + vvar = new int[nvalues]; + nvalues = 0; + tflag = 0; + nvar = 0; + + int iarg; + for (iarg = 3; iarg < narg; iarg++) { + if (strcmp(arg[iarg],"theta") == 0) { + bstyle[nvalues++] = THETA; + tflag = 1; + } else if (strcmp(arg[iarg],"eng") == 0) { + bstyle[nvalues++] = ENG; + } else if (strncmp(arg[iarg],"v_",2) == 0) { + bstyle[nvalues++] = VARIABLE; + int n = strlen(arg[iarg]); + vstr[nvar] = new char[n]; + strcpy(vstr[nvar],&arg[iarg][2]); + nvar++; + } else break; + } - for (int iarg = 3; iarg < narg; iarg++) { - if (strcmp(arg[iarg],"theta") == 0) tflag = nvalues++; - else if (strcmp(arg[iarg],"eng") == 0) eflag = nvalues++; - else error->all(FLERR,"Invalid keyword in compute angle/local command"); + // optional args + + setflag = 0; + tstr = NULL; + + while (iarg < narg) { + if (strcmp(arg[iarg],"set") == 0) { + setflag = 1; + if (iarg+3 > narg) error->all(FLERR,"Illegal compute angle/local command"); + if (strcmp(arg[iarg+1],"theta") == 0) { + delete [] tstr; + int n = strlen(arg[iarg+2]) + 1; + tstr = new char[n]; + strcpy(tstr,arg[iarg+2]); + tflag = 1; + } else error->all(FLERR,"Illegal compute angle/local command"); + iarg += 3; + } else error->all(FLERR,"Illegal compute angle/local command"); } + // error check + + if (nvar) { + if (!setflag) + error->all(FLERR,"Compute angle/local variable requires a set variable"); + for (int i = 0; i < nvar; i++) { + vvar[i] = input->variable->find(vstr[i]); + if (vvar[i] < 0) + error->all(FLERR,"Variable name for copute angle/local does not exist"); + if (!input->variable->equalstyle(vvar[i])) + error->all(FLERR,"Variable for compute angle/local is invalid style"); + } + + if (tstr) { + tvar = input->variable->find(tstr); + if (tvar < 0) + error->all(FLERR,"Variable name for compute angle/local does not exist"); + if (!input->variable->internalstyle(tvar)) + error->all(FLERR,"Variable for compute angle/local is invalid style"); + } + } else if (setflag) + error->all(FLERR,"Compute angle/local set with no variable"); + + // initialize output + + if (nvalues == 1) size_local_cols = 0; + else size_local_cols = nvalues; + nmax = 0; vlocal = NULL; alocal = NULL; @@ -64,6 +131,13 @@ ComputeAngleLocal::ComputeAngleLocal(LAMMPS *lmp, int narg, char **arg) : ComputeAngleLocal::~ComputeAngleLocal() { + delete [] bstyle; + for (int i = 0; i < nvar; i++) delete [] vstr[i]; + delete [] vstr; + delete [] vvar; + + delete [] tstr; + memory->destroy(vlocal); memory->destroy(alocal); } @@ -75,6 +149,20 @@ void ComputeAngleLocal::init() if (force->angle == NULL) error->all(FLERR,"No angle style is defined for compute angle/local"); + if (nvar) { + for (int i = 0; i < nvar; i++) { + vvar[i] = input->variable->find(vstr[i]); + if (vvar[i] < 0) + error->all(FLERR,"Variable name for compute angle/local does not exist"); + } + + if (tstr) { + tvar = input->variable->find(tstr); + if (tvar < 0) + error->all(FLERR,"Variable name for compute angle/local does not exist"); + } + } + // do initial memory allocation so that memory_usage() is correct ncount = compute_angles(0); @@ -109,11 +197,11 @@ void ComputeAngleLocal::compute_local() int ComputeAngleLocal::compute_angles(int flag) { - int i,m,n,na,atom1,atom2,atom3,imol,iatom,atype; + int i,m,n,na,atom1,atom2,atom3,imol,iatom,atype,ivar; tagint tagprev; double delx1,dely1,delz1,delx2,dely2,delz2; - double rsq1,rsq2,r1,r2,c; - double *tbuf,*ebuf; + double rsq1,rsq2,r1,r2,c,theta; + double *ptr; double **x = atom->x; tagint *tag = atom->tag; @@ -131,17 +219,7 @@ int ComputeAngleLocal::compute_angles(int flag) int nlocal = atom->nlocal; int molecular = atom->molecular; - if (flag) { - if (nvalues == 1) { - if (tflag >= 0) tbuf = vlocal; - if (eflag >= 0) ebuf = vlocal; - } else { - if (tflag >= 0 && alocal) tbuf = &alocal[0][tflag]; - else tbuf = NULL; - if (eflag >= 0 && alocal) ebuf = &alocal[0][eflag]; - else ebuf = NULL; - } - } + // loop over all atoms and their angles Angle *angle = force->angle; @@ -175,39 +253,62 @@ int ComputeAngleLocal::compute_angles(int flag) if (atom3 < 0 || !(mask[atom3] & groupbit)) continue; if (atype == 0) continue; - if (flag) { - if (tflag >= 0) { - delx1 = x[atom1][0] - x[atom2][0]; - dely1 = x[atom1][1] - x[atom2][1]; - delz1 = x[atom1][2] - x[atom2][2]; - domain->minimum_image(delx1,dely1,delz1); - - rsq1 = delx1*delx1 + dely1*dely1 + delz1*delz1; - r1 = sqrt(rsq1); - - delx2 = x[atom3][0] - x[atom2][0]; - dely2 = x[atom3][1] - x[atom2][1]; - delz2 = x[atom3][2] - x[atom2][2]; - domain->minimum_image(delx2,dely2,delz2); - - rsq2 = delx2*delx2 + dely2*dely2 + delz2*delz2; - r2 = sqrt(rsq2); + if (!flag) { + m++; + continue; + } - // c = cosine of angle + // theta needed by one or more outputs + + if (tflag) { + delx1 = x[atom1][0] - x[atom2][0]; + dely1 = x[atom1][1] - x[atom2][1]; + delz1 = x[atom1][2] - x[atom2][2]; + domain->minimum_image(delx1,dely1,delz1); + + rsq1 = delx1*delx1 + dely1*dely1 + delz1*delz1; + r1 = sqrt(rsq1); + + delx2 = x[atom3][0] - x[atom2][0]; + dely2 = x[atom3][1] - x[atom2][1]; + delz2 = x[atom3][2] - x[atom2][2]; + domain->minimum_image(delx2,dely2,delz2); + + rsq2 = delx2*delx2 + dely2*dely2 + delz2*delz2; + r2 = sqrt(rsq2); + + // c = cosine of angle + // theta = angle in radians + + c = delx1*delx2 + dely1*dely2 + delz1*delz2; + c /= r1*r2; + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + theta = acos(c); + } - c = delx1*delx2 + dely1*dely2 + delz1*delz2; - c /= r1*r2; - if (c > 1.0) c = 1.0; - if (c < -1.0) c = -1.0; - tbuf[n] = 180.0*acos(c)/MY_PI; - } + if (nvalues == 1) ptr = &vlocal[m]; + else ptr = alocal[m]; + + if (nvar) { + ivar = 0; + if (tstr) input->variable->internal_set(tvar,theta); + } - if (eflag >= 0) { - if (atype > 0) - ebuf[n] = angle->single(atype,atom1,atom2,atom3); - else ebuf[n] = 0.0; + for (n = 0; n < nvalues; n++) { + switch (bstyle[n]) { + case THETA: + ptr[n] = 180.0*theta/MY_PI; + break; + case ENG: + if (atype > 0) ptr[n] = angle->single(atype,atom1,atom2,atom3); + else ptr[n] = 0.0; + break; + case VARIABLE: + ptr[n] = input->variable->compute_equal(vvar[ivar]); + ivar++; + break; } - n += nvalues; } m++; diff --git a/src/compute_angle_local.h b/src/compute_angle_local.h index 6f59d7f097..a95e23206d 100644 --- a/src/compute_angle_local.h +++ b/src/compute_angle_local.h @@ -33,8 +33,12 @@ class ComputeAngleLocal : public Compute { double memory_usage(); private: - int nvalues,tflag,eflag; - int ncount; + int nvalues,nvar,ncount,setflag,tflag; + + int tvar; + int *bstyle,*vvar; + char *tstr; + char **vstr; int nmax; double *vlocal; diff --git a/src/compute_bond_local.cpp b/src/compute_bond_local.cpp index 56abb9b071..6a179cf1b4 100644 --- a/src/compute_bond_local.cpp +++ b/src/compute_bond_local.cpp @@ -21,8 +21,10 @@ #include "domain.h" #include "force.h" #include "bond.h" -#include "math_extra.h" #include "comm.h" +#include "input.h" +#include "variable.h" +#include "math_extra.h" #include "memory.h" #include "error.h" @@ -31,13 +33,13 @@ using namespace LAMMPS_NS; #define DELTA 10000 #define EPSILON 1.0e-12 -enum{DIST,VELVIB,OMEGA,ENGTRANS,ENGVIB,ENGROT,ENGPOT,FORCE}; +enum{DIST,VELVIB,OMEGA,ENGTRANS,ENGVIB,ENGROT,ENGPOT,FORCE,VARIABLE}; /* ---------------------------------------------------------------------- */ ComputeBondLocal::ComputeBondLocal(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), - bstyle(NULL), vlocal(NULL), alocal(NULL) + bstyle(NULL), vstr(NULL), vvar(NULL), dstr(NULL), vlocal(NULL), alocal(NULL) { if (narg < 4) error->all(FLERR,"Illegal compute bond/local command"); @@ -47,14 +49,18 @@ ComputeBondLocal::ComputeBondLocal(LAMMPS *lmp, int narg, char **arg) : local_flag = 1; comm_forward = 3; - nvalues = narg - 3; - if (nvalues == 1) size_local_cols = 0; - else size_local_cols = nvalues; + // style args + nvalues = narg - 3; bstyle = new int[nvalues]; - + vstr = new char*[nvalues]; + vvar = new int[nvalues]; + nvalues = 0; - for (int iarg = 3; iarg < narg; iarg++) { + nvar = 0; + + int iarg; + for (iarg = 3; iarg < narg; iarg++) { if (strcmp(arg[iarg],"dist") == 0) bstyle[nvalues++] = DIST; else if (strcmp(arg[iarg],"engpot") == 0) bstyle[nvalues++] = ENGPOT; else if (strcmp(arg[iarg],"force") == 0) bstyle[nvalues++] = FORCE; @@ -63,9 +69,58 @@ ComputeBondLocal::ComputeBondLocal(LAMMPS *lmp, int narg, char **arg) : else if (strcmp(arg[iarg],"engtrans") == 0) bstyle[nvalues++] = ENGTRANS; else if (strcmp(arg[iarg],"omega") == 0) bstyle[nvalues++] = OMEGA; else if (strcmp(arg[iarg],"velvib") == 0) bstyle[nvalues++] = VELVIB; - else error->all(FLERR,"Invalid keyword in compute bond/local command"); + else if (strncmp(arg[iarg],"v_",2) == 0) { + bstyle[nvalues++] = VARIABLE; + int n = strlen(arg[iarg]); + vstr[nvar] = new char[n]; + strcpy(vstr[nvar],&arg[iarg][2]); + nvar++; + } else break; + } + + // optional args + + setflag = 0; + dstr = NULL; + + while (iarg < narg) { + if (strcmp(arg[iarg],"set") == 0) { + setflag = 1; + if (iarg+3 > narg) error->all(FLERR,"Illegal compute bond/local command"); + if (strcmp(arg[iarg+1],"dist") == 0) { + delete [] dstr; + int n = strlen(arg[iarg+2]) + 1; + dstr = new char[n]; + strcpy(dstr,arg[iarg+2]); + } else error->all(FLERR,"Illegal compute bond/local command"); + iarg += 3; + } else error->all(FLERR,"Illegal compute bond/local command"); } + // error check + + if (nvar) { + if (!setflag) + error->all(FLERR,"Compute bond/local variable requires a set variable"); + for (int i = 0; i < nvar; i++) { + vvar[i] = input->variable->find(vstr[i]); + if (vvar[i] < 0) + error->all(FLERR,"Variable name for copute bond/local does not exist"); + if (!input->variable->equalstyle(vvar[i])) + error->all(FLERR,"Variable for compute bond/local is invalid style"); + } + + if (dstr) { + dvar = input->variable->find(dstr); + if (dvar < 0) + error->all(FLERR,"Variable name for compute bond/local does not exist"); + if (!input->variable->internalstyle(dvar)) + error->all(FLERR,"Variable for compute bond/local is invalid style"); + } + } else if (setflag) + error->all(FLERR,"Compute bond/local set with no variable"); + + // set singleflag if need to call bond->single() // set velflag if compute any quantities based on velocities @@ -77,6 +132,11 @@ ComputeBondLocal::ComputeBondLocal(LAMMPS *lmp, int narg, char **arg) : bstyle[i] == ENGVIB || bstyle[i] == ENGROT) velflag = 1; } + // initialize output + + if (nvalues == 1) size_local_cols = 0; + else size_local_cols = nvalues; + nmax = 0; vlocal = NULL; alocal = NULL; @@ -86,9 +146,15 @@ ComputeBondLocal::ComputeBondLocal(LAMMPS *lmp, int narg, char **arg) : ComputeBondLocal::~ComputeBondLocal() { + delete [] bstyle; + for (int i = 0; i < nvar; i++) delete [] vstr[i]; + delete [] vstr; + delete [] vvar; + + delete [] dstr; + memory->destroy(vlocal); memory->destroy(alocal); - delete [] bstyle; } /* ---------------------------------------------------------------------- */ @@ -98,6 +164,20 @@ void ComputeBondLocal::init() if (force->bond == NULL) error->all(FLERR,"No bond style is defined for compute bond/local"); + if (nvar) { + for (int i = 0; i < nvar; i++) { + vvar[i] = input->variable->find(vstr[i]); + if (vvar[i] < 0) + error->all(FLERR,"Variable name for compute bond/local does not exist"); + } + + if (dstr) { + dvar = input->variable->find(dstr); + if (dvar < 0) + error->all(FLERR,"Variable name for compute bond/local does not exist"); + } + } + // set ghostvelflag if need to acquire ghost atom velocities if (velflag && !comm->ghost_velocity) ghostvelflag = 1; @@ -140,7 +220,7 @@ void ComputeBondLocal::compute_local() int ComputeBondLocal::compute_bonds(int flag) { - int i,m,n,nb,atom1,atom2,imol,iatom,btype; + int i,m,n,nb,atom1,atom2,imol,iatom,btype,ivar; tagint tagprev; double dx,dy,dz,rsq; double mass1,mass2,masstotal,invmasstotal; @@ -297,6 +377,11 @@ int ComputeBondLocal::compute_bonds(int flag) if (nvalues == 1) ptr = &vlocal[m]; else ptr = alocal[m]; + if (nvar) { + ivar = 0; + if (dstr) input->variable->internal_set(dvar,sqrt(rsq)); + } + for (n = 0; n < nvalues; n++) { switch (bstyle[n]) { case DIST: @@ -323,6 +408,10 @@ int ComputeBondLocal::compute_bonds(int flag) case VELVIB: ptr[n] = vvib; break; + case VARIABLE: + ptr[n] = input->variable->compute_equal(vvar[ivar]); + ivar++; + break; } } } diff --git a/src/compute_bond_local.h b/src/compute_bond_local.h index b3e99fc61b..17111a941c 100644 --- a/src/compute_bond_local.h +++ b/src/compute_bond_local.h @@ -35,10 +35,13 @@ class ComputeBondLocal : public Compute { double memory_usage(); private: - int nvalues; - int ncount; - int *bstyle; + int nvalues,nvar,ncount,setflag; + int singleflag,velflag,ghostvelflag,initflag; + int dvar; + int *bstyle,*vvar; + char *dstr; + char **vstr; int nmax; double *vlocal; diff --git a/src/compute_dihedral_local.cpp b/src/compute_dihedral_local.cpp index 42d1476ad2..7444630090 100644 --- a/src/compute_dihedral_local.cpp +++ b/src/compute_dihedral_local.cpp @@ -21,6 +21,9 @@ #include "domain.h" #include "force.h" #include "dihedral.h" +#include "input.h" +#include "variable.h" + #include "math_const.h" #include "memory.h" #include "error.h" @@ -31,11 +34,13 @@ using namespace MathConst; #define DELTA 10000 #define SMALL 0.001 +enum{PHI,VARIABLE}; + /* ---------------------------------------------------------------------- */ ComputeDihedralLocal::ComputeDihedralLocal(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), - vlocal(NULL), alocal(NULL) + bstyle(NULL), vstr(NULL), vvar(NULL), pstr(NULL), vlocal(NULL), alocal(NULL) { if (narg < 4) error->all(FLERR,"Illegal compute dihedral/local command"); @@ -44,18 +49,80 @@ ComputeDihedralLocal::ComputeDihedralLocal(LAMMPS *lmp, int narg, char **arg) : "Compute dihedral/local used when dihedrals are not allowed"); local_flag = 1; - nvalues = narg - 3; - if (nvalues == 1) size_local_cols = 0; - else size_local_cols = nvalues; - pflag = -1; + // style args + + nvalues = narg - 3; + bstyle = new int[nvalues]; + vstr = new char*[nvalues]; + vvar = new int[nvalues]; + nvalues = 0; + nvar = 0; + + int iarg; + for (iarg = 3; iarg < narg; iarg++) { + if (strcmp(arg[iarg],"phi") == 0) { + bstyle[nvalues++] = PHI; + } else if (strncmp(arg[iarg],"v_",2) == 0) { + bstyle[nvalues++] = VARIABLE; + int n = strlen(arg[iarg]); + vstr[nvar] = new char[n]; + strcpy(vstr[nvar],&arg[iarg][2]); + nvar++; + } else break; + } - for (int iarg = 3; iarg < narg; iarg++) { - if (strcmp(arg[iarg],"phi") == 0) pflag = nvalues++; - else error->all(FLERR,"Invalid keyword in compute dihedral/local command"); + // optional args + + setflag = 0; + pstr = NULL; + + while (iarg < narg) { + if (strcmp(arg[iarg],"set") == 0) { + setflag = 1; + if (iarg+3 > narg) + error->all(FLERR,"Illegal compute dihedral/local command"); + if (strcmp(arg[iarg+1],"phi") == 0) { + delete [] pstr; + int n = strlen(arg[iarg+2]) + 1; + pstr = new char[n]; + strcpy(pstr,arg[iarg+2]); + } else error->all(FLERR,"Illegal compute dihedral/local command"); + iarg += 3; + } else error->all(FLERR,"Illegal compute dihedral/local command"); } + // error check + + if (nvar) { + if (!setflag) + error->all(FLERR,"Compute dihedral/local variable requires a set variable"); + for (int i = 0; i < nvar; i++) { + vvar[i] = input->variable->find(vstr[i]); + if (vvar[i] < 0) + error->all(FLERR, + "Variable name for copute dihedral/local does not exist"); + if (!input->variable->equalstyle(vvar[i])) + error->all(FLERR,"Variable for compute dihedral/local is invalid style"); + } + + if (pstr) { + pvar = input->variable->find(pstr); + if (pvar < 0) + error->all(FLERR, + "Variable name for compute dihedral/local does not exist"); + if (!input->variable->internalstyle(pvar)) + error->all(FLERR,"Variable for compute dihedral/local is invalid style"); + } + } else if (setflag) + error->all(FLERR,"Compute dihedral/local set with no variable"); + + // initialize output + + if (nvalues == 1) size_local_cols = 0; + else size_local_cols = nvalues; + nmax = 0; vlocal = NULL; alocal = NULL; @@ -65,6 +132,13 @@ ComputeDihedralLocal::ComputeDihedralLocal(LAMMPS *lmp, int narg, char **arg) : ComputeDihedralLocal::~ComputeDihedralLocal() { + delete [] bstyle; + for (int i = 0; i < nvar; i++) delete [] vstr[i]; + delete [] vstr; + delete [] vvar; + + delete [] pstr; + memory->destroy(vlocal); memory->destroy(alocal); } @@ -76,6 +150,22 @@ void ComputeDihedralLocal::init() if (force->dihedral == NULL) error->all(FLERR,"No dihedral style is defined for compute dihedral/local"); + if (nvar) { + for (int i = 0; i < nvar; i++) { + vvar[i] = input->variable->find(vstr[i]); + if (vvar[i] < 0) + error->all(FLERR, + "Variable name for compute dihedral/local does not exist"); + } + + if (pstr) { + pvar = input->variable->find(pstr); + if (pvar < 0) + error->all(FLERR, + "Variable name for compute dihedral/local does not exist"); + } + } + // do initial memory allocation so that memory_usage() is correct ncount = compute_dihedrals(0); @@ -107,12 +197,12 @@ void ComputeDihedralLocal::compute_local() int ComputeDihedralLocal::compute_dihedrals(int flag) { - int i,m,n,nd,atom1,atom2,atom3,atom4,imol,iatom; + int i,m,n,nd,atom1,atom2,atom3,atom4,imol,iatom,ivar; tagint tagprev; double vb1x,vb1y,vb1z,vb2x,vb2y,vb2z,vb3x,vb3y,vb3z,vb2xm,vb2ym,vb2zm; double ax,ay,az,bx,by,bz,rasq,rbsq,rgsq,rg,ra2inv,rb2inv,rabinv; - double s,c; - double *pbuf; + double s,c,phi; + double *ptr; double **x = atom->x; tagint *tag = atom->tag; @@ -130,14 +220,7 @@ int ComputeDihedralLocal::compute_dihedrals(int flag) int nlocal = atom->nlocal; int molecular = atom->molecular; - if (flag) { - if (nvalues == 1) { - if (pflag >= 0) pbuf = vlocal; - } else { - if (pflag >= 0 && alocal) pbuf = &alocal[0][pflag]; - else pbuf = NULL; - } - } + // loop over all atoms and their dihedrals m = n = 0; for (atom2 = 0; atom2 < nlocal; atom2++) { @@ -169,56 +252,75 @@ int ComputeDihedralLocal::compute_dihedrals(int flag) if (atom3 < 0 || !(mask[atom3] & groupbit)) continue; if (atom4 < 0 || !(mask[atom4] & groupbit)) continue; - if (flag) { - - // phi calculation from dihedral style harmonic - - if (pflag >= 0) { - vb1x = x[atom1][0] - x[atom2][0]; - vb1y = x[atom1][1] - x[atom2][1]; - vb1z = x[atom1][2] - x[atom2][2]; - domain->minimum_image(vb1x,vb1y,vb1z); - - vb2x = x[atom3][0] - x[atom2][0]; - vb2y = x[atom3][1] - x[atom2][1]; - vb2z = x[atom3][2] - x[atom2][2]; - domain->minimum_image(vb2x,vb2y,vb2z); - - vb2xm = -vb2x; - vb2ym = -vb2y; - vb2zm = -vb2z; - domain->minimum_image(vb2xm,vb2ym,vb2zm); - - vb3x = x[atom4][0] - x[atom3][0]; - vb3y = x[atom4][1] - x[atom3][1]; - vb3z = x[atom4][2] - x[atom3][2]; - domain->minimum_image(vb3x,vb3y,vb3z); - - ax = vb1y*vb2zm - vb1z*vb2ym; - ay = vb1z*vb2xm - vb1x*vb2zm; - az = vb1x*vb2ym - vb1y*vb2xm; - bx = vb3y*vb2zm - vb3z*vb2ym; - by = vb3z*vb2xm - vb3x*vb2zm; - bz = vb3x*vb2ym - vb3y*vb2xm; - - rasq = ax*ax + ay*ay + az*az; - rbsq = bx*bx + by*by + bz*bz; - rgsq = vb2xm*vb2xm + vb2ym*vb2ym + vb2zm*vb2zm; - rg = sqrt(rgsq); - - ra2inv = rb2inv = 0.0; - if (rasq > 0) ra2inv = 1.0/rasq; - if (rbsq > 0) rb2inv = 1.0/rbsq; - rabinv = sqrt(ra2inv*rb2inv); - - c = (ax*bx + ay*by + az*bz)*rabinv; - s = rg*rabinv*(ax*vb3x + ay*vb3y + az*vb3z); - - if (c > 1.0) c = 1.0; - if (c < -1.0) c = -1.0; - pbuf[n] = 180.0*atan2(s,c)/MY_PI; + if (!flag) { + m++; + continue; + } + + // phi calculation from dihedral style harmonic + + vb1x = x[atom1][0] - x[atom2][0]; + vb1y = x[atom1][1] - x[atom2][1]; + vb1z = x[atom1][2] - x[atom2][2]; + domain->minimum_image(vb1x,vb1y,vb1z); + + vb2x = x[atom3][0] - x[atom2][0]; + vb2y = x[atom3][1] - x[atom2][1]; + vb2z = x[atom3][2] - x[atom2][2]; + domain->minimum_image(vb2x,vb2y,vb2z); + + vb2xm = -vb2x; + vb2ym = -vb2y; + vb2zm = -vb2z; + domain->minimum_image(vb2xm,vb2ym,vb2zm); + + vb3x = x[atom4][0] - x[atom3][0]; + vb3y = x[atom4][1] - x[atom3][1]; + vb3z = x[atom4][2] - x[atom3][2]; + domain->minimum_image(vb3x,vb3y,vb3z); + + ax = vb1y*vb2zm - vb1z*vb2ym; + ay = vb1z*vb2xm - vb1x*vb2zm; + az = vb1x*vb2ym - vb1y*vb2xm; + bx = vb3y*vb2zm - vb3z*vb2ym; + by = vb3z*vb2xm - vb3x*vb2zm; + bz = vb3x*vb2ym - vb3y*vb2xm; + + rasq = ax*ax + ay*ay + az*az; + rbsq = bx*bx + by*by + bz*bz; + rgsq = vb2xm*vb2xm + vb2ym*vb2ym + vb2zm*vb2zm; + rg = sqrt(rgsq); + + ra2inv = rb2inv = 0.0; + if (rasq > 0) ra2inv = 1.0/rasq; + if (rbsq > 0) rb2inv = 1.0/rbsq; + rabinv = sqrt(ra2inv*rb2inv); + + c = (ax*bx + ay*by + az*bz)*rabinv; + s = rg*rabinv*(ax*vb3x + ay*vb3y + az*vb3z); + + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + phi = atan2(s,c); + + if (nvalues == 1) ptr = &vlocal[m]; + else ptr = alocal[m]; + + if (nvar) { + ivar = 0; + if (pstr) input->variable->internal_set(pvar,phi); + } + + for (n = 0; n < nvalues; n++) { + switch (bstyle[n]) { + case PHI: + ptr[n] = 180.0*phi/MY_PI; + break; + case VARIABLE: + ptr[n] = input->variable->compute_equal(vvar[ivar]); + ivar++; + break; } - n += nvalues; } m++; diff --git a/src/compute_dihedral_local.h b/src/compute_dihedral_local.h index c077e52dbd..d5f6a64183 100644 --- a/src/compute_dihedral_local.h +++ b/src/compute_dihedral_local.h @@ -33,8 +33,12 @@ class ComputeDihedralLocal : public Compute { double memory_usage(); private: - int nvalues,pflag; - int ncount; + int nvalues,nvar,ncount,setflag,tflag; + + int pvar; + int *bstyle,*vvar; + char *pstr; + char **vstr; int nmax; double *vlocal; -- GitLab From 037420b611979f5fca9a1aeb360824294cb8ae64 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Tue, 4 Sep 2018 14:59:30 -0600 Subject: [PATCH 647/675] cmake: only add tests if exe is build --- cmake/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 0d8da8409d..d4701102f7 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -207,7 +207,7 @@ endif() option(CMAKE_VERBOSE_MAKEFILE "Verbose makefile" OFF) option(ENABLE_TESTING "Enable testing" OFF) -if(ENABLE_TESTING) +if(ENABLE_TESTING AND BUILD_EXE) enable_testing() option(LAMMPS_TESTING_SOURCE_DIR "Location of lammps-testing source directory" "") option(LAMMPS_TESTING_GIT_TAG "Git tag of lammps-testing" "master") @@ -252,7 +252,7 @@ if(ENABLE_TESTING) message(STATUS "Found ${NUM_TESTS} tests.") endif() -endif(ENABLE_TESTING) +endif() set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR KSPACE MANYBODY MC MEAM MESSAGE MISC MOLECULE PERI REAX REPLICA RIGID SHOCK SPIN SNAP -- GitLab From db7c2549d064c61c6f8b6a62acea5f04aa33e470 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Tue, 4 Sep 2018 17:05:59 -0600 Subject: [PATCH 648/675] cmake: inject with-pic into Scafacos --- cmake/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index b7bbd6e1ba..fcc547c5b1 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -416,6 +416,7 @@ if(PKG_USER-SCAFACOS) --with-internal-fftw --with-internal-pfft --with-internal-pnfft + $<$:--with-pic> FC=${CMAKE_MPI_Fortran_COMPILER} CXX=${CMAKE_MPI_CXX_COMPILER} CC=${CMAKE_MPI_C_COMPILER} -- GitLab From 8608b4f93c8e66d3e518c2ba783b775d978d6034 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 4 Sep 2018 21:31:08 -0400 Subject: [PATCH 649/675] Remove extra libm in LAMMPS_LINK_LIBS --- cmake/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index fcc547c5b1..e0f8d08a25 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -434,7 +434,6 @@ if(PKG_USER-SCAFACOS) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_p2nfft.a) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_p3m.a) list(APPEND LAMMPS_LINK_LIBS ${GSL_LIBRARIES}) - list(APPEND LAMMPS_LINK_LIBS m) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_near.a) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_gridsort.a) list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_resort.a) -- GitLab From a5f7b418dea73439d6cb4a56ccec4f312b582263 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Tue, 4 Sep 2018 22:06:49 -0600 Subject: [PATCH 650/675] bond/react: efficient competing reactions --- src/USER-MISC/fix_bond_react.cpp | 25 ++++++++++++++++++------- src/comm.h | 3 +++ src/comm_brick.cpp | 31 ++++++++++++++++++++++++++++++- src/comm_brick.h | 2 ++ 4 files changed, 53 insertions(+), 8 deletions(-) diff --git a/src/USER-MISC/fix_bond_react.cpp b/src/USER-MISC/fix_bond_react.cpp index 5ce1f11475..f369a9a10f 100644 --- a/src/USER-MISC/fix_bond_react.cpp +++ b/src/USER-MISC/fix_bond_react.cpp @@ -1858,16 +1858,27 @@ if so, flag for broadcasting for perusal by all processors void FixBondReact::glove_ghostcheck() { - // it appears this little loop was deemed important enough for its own function! - // noteworthy: it's only relevant for parallel - // here we add glove to either local_mega_glove or ghostly_mega_glove + // ghostly_mega_glove includes atoms that are ghosts, either of this proc or another + // 'ghosts of another' indication taken from comm->sendlist + int ghostly = 0; - for (int i = 0; i < onemol->natoms; i++) { - if (atom->map(glove[i][1]) >= atom->nlocal) { - ghostly = 1; - break; + if (comm->style == 0) { + int tmp; + int *localsendlist = (int *) comm->extract("localsendlist",tmp); + + // create an indexed sendlist + for (int i = 0; i < onemol->natoms; i++) { + int ilocal = atom->map(glove[i][1]); + if (ilocal >= atom->nlocal || localsendlist[ilocal] == 1) { + ghostly = 1; + break; + } } + } else { + #if !defined(MPI_STUBS) + ghostly = 1; + #endif } if (ghostly == 1) { diff --git a/src/comm.h b/src/comm.h index 298f435c3d..2579f9b283 100644 --- a/src/comm.h +++ b/src/comm.h @@ -112,6 +112,9 @@ class Comm : protected Pointers { int read_lines_from_file(FILE *, int, int, char *); int read_lines_from_file_universe(FILE *, int, int, char *); + // extract data useful to other classes + virtual void *extract(const char *, int &) {return NULL;} + protected: int bordergroup; // only communicate this group in borders diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index 3aa6d7748c..d179475345 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -55,7 +55,8 @@ CommBrick::CommBrick(LAMMPS *lmp) : size_reverse_send(NULL), size_reverse_recv(NULL), slablo(NULL), slabhi(NULL), multilo(NULL), multihi(NULL), cutghostmulti(NULL), pbc_flag(NULL), pbc(NULL), firstrecv(NULL), - sendlist(NULL), maxsendlist(NULL), buf_send(NULL), buf_recv(NULL) + sendlist(NULL), localsendlist(NULL), maxsendlist(NULL), + buf_send(NULL), buf_recv(NULL) { style = 0; layout = Comm::LAYOUT_UNIFORM; @@ -74,6 +75,7 @@ CommBrick::~CommBrick() } if (sendlist) for (int i = 0; i < maxswap; i++) memory->destroy(sendlist[i]); + if (localsendlist) memory->destroy(localsendlist); memory->sfree(sendlist); memory->destroy(maxsendlist); @@ -1469,6 +1471,33 @@ void CommBrick::free_multi() multilo = multihi = NULL; } +/* ---------------------------------------------------------------------- + extract data potentially useful to other classes +------------------------------------------------------------------------- */ + +void *CommBrick::extract(const char *str, int &dim) +{ + if (strcmp(str,"localsendlist") == 0) { + int i, iswap, isend; + if (!localsendlist) + memory->create(localsendlist,atom->nlocal,"comm:localsendlist"); + else + memory->grow(localsendlist,atom->nlocal,"comm:localsendlist"); + + for (i = 0; i < atom->nlocal; i++) + localsendlist[i] = 0; + + for (iswap = 0; iswap < nswap; iswap++) + for (isend = 0; isend < sendnum[iswap]; isend++) + if (sendlist[iswap][isend] < atom->nlocal) + localsendlist[sendlist[iswap][isend]] = 1; + + return (void *) localsendlist; + } + + return NULL; +} + /* ---------------------------------------------------------------------- return # of bytes of allocated memory ------------------------------------------------------------------------- */ diff --git a/src/comm_brick.h b/src/comm_brick.h index 461ee84b40..b3a3a7e094 100644 --- a/src/comm_brick.h +++ b/src/comm_brick.h @@ -46,6 +46,7 @@ class CommBrick : public Comm { void forward_comm_array(int, double **); // forward comm of array int exchange_variable(int, double *, double *&); // exchange on neigh stencil + void *extract(const char *,int &); virtual bigint memory_usage(); protected: @@ -67,6 +68,7 @@ class CommBrick : public Comm { int *firstrecv; // where to put 1st recv atom in each swap int **sendlist; // list of atoms to send in each swap + int *localsendlist; // indexed list of local sendlist atoms int *maxsendlist; // max size of send list for each swap double *buf_send; // send buffer for all comm -- GitLab From ae7b18fb772c17c6df105ba7f1f76fac420e998d Mon Sep 17 00:00:00 2001 From: jrgissing Date: Wed, 5 Sep 2018 00:11:50 -0600 Subject: [PATCH 651/675] only one call to extract needed --- src/USER-MISC/fix_bond_react.cpp | 8 ++++---- src/USER-MISC/fix_bond_react.h | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/USER-MISC/fix_bond_react.cpp b/src/USER-MISC/fix_bond_react.cpp index 469e1d6347..a6f08a7376 100644 --- a/src/USER-MISC/fix_bond_react.cpp +++ b/src/USER-MISC/fix_bond_react.cpp @@ -961,6 +961,10 @@ void FixBondReact::superimpose_algorithm() local_num_mega = 0; ghostly_num_mega = 0; + // indicates local ghosts of other procs + int tmp; + localsendlist = (int *) comm->extract("localsendlist",tmp); + // quick description of important global indices you'll see floating about: // 'pion' is the pioneer loop index // 'neigh' in the first neighbor index @@ -1863,10 +1867,6 @@ void FixBondReact::glove_ghostcheck() int ghostly = 0; if (comm->style == 0) { - int tmp; - int *localsendlist = (int *) comm->extract("localsendlist",tmp); - - // create an indexed sendlist for (int i = 0; i < onemol->natoms; i++) { int ilocal = atom->map(glove[i][1]); if (ilocal >= atom->nlocal || localsendlist[ilocal] == 1) { diff --git a/src/USER-MISC/fix_bond_react.h b/src/USER-MISC/fix_bond_react.h index 8ff71141f8..08756f8131 100644 --- a/src/USER-MISC/fix_bond_react.h +++ b/src/USER-MISC/fix_bond_react.h @@ -122,6 +122,7 @@ class FixBondReact : public Fix { tagint **local_mega_glove; // consolidation local of reaction instances tagint **ghostly_mega_glove; // consolidation nonlocal of reaction instances tagint **global_mega_glove; // consolidation (inter-processor) of gloves containing nonlocal atoms + int *localsendlist; // indicates ghosts of other procs int local_num_mega; // num of local reaction instances int ghostly_num_mega; // num of ghostly reaction instances int global_megasize; // num of reaction instances in global_mega_glove -- GitLab From d3d16882ca562b51476e7037949c6fdbfc260da5 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 5 Sep 2018 08:12:19 -0600 Subject: [PATCH 652/675] remove note for Rene --- examples/USER/scafacos/README | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 examples/USER/scafacos/README diff --git a/examples/USER/scafacos/README b/examples/USER/scafacos/README deleted file mode 100644 index 0ddd19d3ee..0000000000 --- a/examples/USER/scafacos/README +++ /dev/null @@ -1,10 +0,0 @@ -RENE: this dir needs a few short-running examples, -for both 1 and 4 procs, of using different Scafacos methods. -with sample log file outputs - so users can verify -they are running it correctly - -For each input script, there should be files like - -in.scafacos.fmm -log.20Jul18.scafacos.fmm.g++.1 -log.20Jul18.scafacos.fmm.g++.4 -- GitLab From 4a5e28af81ff62f33ca603fda26ebf609f3c4a2e Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 5 Sep 2018 10:32:11 -0400 Subject: [PATCH 653/675] Avoid unnecessary sorting in print_columns std::map is a sorted associative container. We don't need to first copy it into a vector and sort that one. print_columns has been refactored as a template function and makes use of this property. --- src/info.cpp | 156 ++++++++++----------------------------------------- 1 file changed, 30 insertions(+), 126 deletions(-) diff --git a/src/info.cpp b/src/info.cpp index 748354e878..672ce72b74 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -44,7 +44,7 @@ #include "error.h" #include -#include +#include #include #include @@ -117,7 +117,8 @@ static const char bstyles[] = "pfsm"; using namespace LAMMPS_NS; using namespace std; -static void print_columns(FILE* fp, vector & styles); +template +static void print_columns(FILE* fp, map * styles); /* ---------------------------------------------------------------------- */ @@ -686,196 +687,98 @@ void Info::available_styles(FILE * out, int flags) void Info::atom_styles(FILE * out) { fprintf(out, "\nAtom styles:\n"); - - vector styles; - - for(Atom::AtomVecCreatorMap::iterator it = atom->avec_map->begin(); it != atom->avec_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, atom->avec_map); fprintf(out, "\n\n\n"); } void Info::integrate_styles(FILE * out) { fprintf(out, "\nIntegrate styles:\n"); - - vector styles; - - for(Update::IntegrateCreatorMap::iterator it = update->integrate_map->begin(); it != update->integrate_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, update->integrate_map); fprintf(out, "\n\n\n"); } void Info::minimize_styles(FILE * out) { fprintf(out, "\nMinimize styles:\n"); - - vector styles; - - for(Update::MinimizeCreatorMap::iterator it = update->minimize_map->begin(); it != update->minimize_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, update->minimize_map); fprintf(out, "\n\n\n"); } void Info::pair_styles(FILE * out) { fprintf(out, "\nPair styles:\n"); - - vector styles; - - for(Force::PairCreatorMap::iterator it = force->pair_map->begin(); it != force->pair_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, force->pair_map); fprintf(out, "\n\n\n"); } void Info::bond_styles(FILE * out) { fprintf(out, "\nBond styles:\n"); - - vector styles; - - for(Force::BondCreatorMap::iterator it = force->bond_map->begin(); it != force->bond_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, force->bond_map); fprintf(out, "\n\n\n"); } void Info::angle_styles(FILE * out) { fprintf(out, "\nAngle styles:\n"); - - vector styles; - - for(Force::AngleCreatorMap::iterator it = force->angle_map->begin(); it != force->angle_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, force->angle_map); fprintf(out, "\n\n\n"); } void Info::dihedral_styles(FILE * out) { fprintf(out, "\nDihedral styles:\n"); - - vector styles; - - for(Force::DihedralCreatorMap::iterator it = force->dihedral_map->begin(); it != force->dihedral_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, force->dihedral_map); fprintf(out, "\n\n\n"); } void Info::improper_styles(FILE * out) { fprintf(out, "\nImproper styles:\n"); - - vector styles; - - for(Force::ImproperCreatorMap::iterator it = force->improper_map->begin(); it != force->improper_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, force->improper_map); fprintf(out, "\n\n\n"); } void Info::kspace_styles(FILE * out) { fprintf(out, "\nKSpace styles:\n"); - - vector styles; - - for(Force::KSpaceCreatorMap::iterator it = force->kspace_map->begin(); it != force->kspace_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, force->kspace_map); fprintf(out, "\n\n\n"); } void Info::fix_styles(FILE * out) { fprintf(out, "\nFix styles:\n"); - - vector styles; - - for(Modify::FixCreatorMap::iterator it = modify->fix_map->begin(); it != modify->fix_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, modify->fix_map); fprintf(out, "\n\n\n"); } void Info::compute_styles(FILE * out) { fprintf(out, "\nCompute styles:\n"); - - vector styles; - - for(Modify::ComputeCreatorMap::iterator it = modify->compute_map->begin(); it != modify->compute_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, modify->compute_map); fprintf(out, "\n\n\n"); } void Info::region_styles(FILE * out) { fprintf(out, "\nRegion styles:\n"); - - vector styles; - - for(Domain::RegionCreatorMap::iterator it = domain->region_map->begin(); it != domain->region_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, domain->region_map); fprintf(out, "\n\n\n"); } void Info::dump_styles(FILE * out) { fprintf(out, "\nDump styles:\n"); - - vector styles; - - for(Output::DumpCreatorMap::iterator it = output->dump_map->begin(); it != output->dump_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, output->dump_map); fprintf(out, "\n\n\n"); } void Info::command_styles(FILE * out) { fprintf(out, "\nCommand styles (add-on input script commands):\n"); - - vector styles; - - for(Input::CommandCreatorMap::iterator it = input->command_map->begin(); it != input->command_map->end(); ++it) { - styles.push_back(it->first); - } - - print_columns(out, styles); + print_columns(out, input->command_map); fprintf(out, "\n\n\n"); } @@ -1110,41 +1013,42 @@ bool Info::is_defined(const char *category, const char *name) return false; } -static void print_columns(FILE* fp, vector & styles) +template +static void print_columns(FILE* fp, map * styles) { - if (styles.size() == 0) { + if (styles->empty()) { fprintf(fp, "\nNone"); return; } - std::sort(styles.begin(), styles.end()); - + // std::map keys are already sorted int pos = 80; - for (int i = 0; i < styles.size(); ++i) { + for(typename map::iterator it = styles->begin(); it != styles->end(); ++it) { + const string & style_name = it->first; // skip "secret" styles - if (isupper(styles[i][0])) continue; + if (isupper(style_name[0])) continue; - int len = styles[i].length(); + int len = style_name.length(); if (pos + len > 80) { fprintf(fp,"\n"); pos = 0; } if (len < 16) { - fprintf(fp,"%-16s",styles[i].c_str()); + fprintf(fp,"%-16s", style_name.c_str()); pos += 16; } else if (len < 32) { - fprintf(fp,"%-32s",styles[i].c_str()); + fprintf(fp,"%-32s", style_name.c_str()); pos += 32; } else if (len < 48) { - fprintf(fp,"%-48s",styles[i].c_str()); + fprintf(fp,"%-48s", style_name.c_str()); pos += 48; } else if (len < 64) { - fprintf(fp,"%-64s",styles[i].c_str()); + fprintf(fp,"%-64s", style_name.c_str()); pos += 64; } else { - fprintf(fp,"%-80s",styles[i].c_str()); + fprintf(fp,"%-80s", style_name.c_str()); pos += 80; } } -- GitLab From 779f1bd0b1c45d622982759c578446694b8e2872 Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Wed, 5 Sep 2018 11:27:10 -0400 Subject: [PATCH 654/675] Fixes a bug in pair_morse_smooth_linear where the cutoff was not properly initialized. --- cmake/CMakeLists.txt | 84 +- cmake/FindLAMMPS.cmake.in | 48 + cmake/Modules/FindZMQ.cmake | 8 + cmake/pkgconfig/liblammps.pc.in | 6 +- doc/src/Build_extras.txt | 34 + doc/src/Build_package.txt | 1 + doc/src/Commands_all.txt | 2 + doc/src/Howto.txt | 4 +- doc/src/Howto_client_server.txt | 131 + doc/src/Howto_couple.txt | 14 +- doc/src/Manual.txt | 4 +- doc/src/Packages_details.txt | 29 +- doc/src/Packages_standard.txt | 1 + doc/src/Run_options.txt | 25 + doc/src/commands_list.txt | 2 + doc/src/fix_client_md.txt | 106 + doc/src/lammps.book | 5 + doc/src/message.txt | 162 + doc/src/server.txt | 71 + doc/src/server_mc.txt | 116 + doc/src/server_md.txt | 147 + examples/COUPLE/README | 5 + examples/COUPLE/lammps_mc/Makefile | 33 + examples/COUPLE/lammps_mc/README | 128 + examples/COUPLE/lammps_mc/in.mc | 7 + examples/COUPLE/lammps_mc/in.mc.server | 36 + .../COUPLE/lammps_mc/log.28Aug18.file.g++.1 | 254 + .../COUPLE/lammps_mc/log.28Aug18.file.g++.4 | 254 + .../COUPLE/lammps_mc/log.28Aug18.zmq.g++.1 | 254 + .../COUPLE/lammps_mc/log.28Aug18.zmq.g++.4 | 254 + examples/COUPLE/lammps_mc/mc.cpp | 263 + examples/COUPLE/lammps_mc/mc.h | 40 + examples/COUPLE/lammps_mc/random_park.cpp | 72 + examples/COUPLE/lammps_mc/random_park.h | 28 + examples/COUPLE/lammps_vasp/INCAR | 53 + examples/COUPLE/lammps_vasp/KPOINTS | 6 + examples/COUPLE/lammps_vasp/POSCAR_W | 11 + examples/COUPLE/lammps_vasp/README | 149 + examples/COUPLE/lammps_vasp/data.W | 15 + examples/COUPLE/lammps_vasp/in.client.W | 34 + examples/COUPLE/lammps_vasp/log.client.output | 76 + examples/COUPLE/lammps_vasp/vasp_wrap.py | 300 + examples/COUPLE/lammps_vasp/vasprun.xml | 12329 ++++++++++++++++ examples/README | 1 + examples/USER/diffraction/BulkNi.in | 5 +- examples/USER/diffraction/Output/BulkNi.in | 35 - examples/message/README | 117 + examples/message/Script.sh | 55 + examples/message/in.message | 29 + examples/message/in.message.client | 41 + examples/message/in.message.server | 29 + examples/message/in.message.tilt | 30 + examples/message/in.message.tilt.client | 42 + examples/message/in.message.tilt.server | 31 + .../log.28Aug18.message.client.file.g++.1 | 79 + .../log.28Aug18.message.client.file.g++.2 | 79 + .../log.28Aug18.message.client.mpione.g++.1 | 79 + .../log.28Aug18.message.client.mpione.g++.2 | 79 + .../log.28Aug18.message.client.mpitwo.g++.1 | 79 + .../log.28Aug18.message.client.mpitwo.g++.2 | 79 + .../log.28Aug18.message.client.zmq.g++.1 | 79 + .../log.28Aug18.message.client.zmq.g++.2 | 79 + examples/message/log.28Aug18.message.g++.1 | 85 + examples/message/log.28Aug18.message.g++.4 | 85 + .../log.28Aug18.message.server.file.g++.1 | 44 + .../log.28Aug18.message.server.file.g++.4 | 44 + .../log.28Aug18.message.server.mpione.g++.1 | 44 + .../log.28Aug18.message.server.mpione.g++.4 | 44 + .../log.28Aug18.message.server.mpitwo.g++.1 | 44 + .../log.28Aug18.message.server.mpitwo.g++.4 | 44 + .../log.28Aug18.message.server.zmq.g++.1 | 44 + .../log.28Aug18.message.server.zmq.g++.4 | 44 + ...g.28Aug18.message.tilt.client.mpione.g++.1 | 130 + ...g.28Aug18.message.tilt.client.mpione.g++.2 | 130 + ...g.28Aug18.message.tilt.client.mpitwo.g++.1 | 130 + ...g.28Aug18.message.tilt.client.mpitwo.g++.2 | 130 + .../log.28Aug18.message.tilt.client.zmq.g++.1 | 130 + .../log.28Aug18.message.tilt.client.zmq.g++.2 | 130 + .../message/log.28Aug18.message.tilt.g++.1 | 129 + .../message/log.28Aug18.message.tilt.g++.4 | 129 + ...g.28Aug18.message.tilt.server.mpione.g++.1 | 48 + ...g.28Aug18.message.tilt.server.mpione.g++.4 | 48 + ...g.28Aug18.message.tilt.server.mpitwo.g++.1 | 48 + ...g.28Aug18.message.tilt.server.mpitwo.g++.4 | 48 + .../log.28Aug18.message.tilt.server.zmq.g++.1 | 48 + .../log.28Aug18.message.tilt.server.zmq.g++.4 | 48 + lib/README | 2 + lib/message/Install.py | 118 + lib/message/Makefile.lammps.nozmq | 5 + lib/message/Makefile.lammps.zmq | 5 + lib/message/README | 51 + lib/message/cslib/LICENSE | 32 + lib/message/cslib/README | 23 + lib/message/cslib/src/Makefile | 107 + lib/message/cslib/src/STUBS_MPI/mpi.h | 96 + lib/message/cslib/src/STUBS_ZMQ/zmq.h | 36 + lib/message/cslib/src/cslib.cpp | 768 + lib/message/cslib/src/cslib.h | 87 + lib/message/cslib/src/cslib.py | 362 + lib/message/cslib/src/cslib_wrap.cpp | 239 + lib/message/cslib/src/cslib_wrap.f90 | 147 + lib/message/cslib/src/cslib_wrap.h | 54 + lib/message/cslib/src/msg.cpp | 110 + lib/message/cslib/src/msg.h | 52 + lib/message/cslib/src/msg_file.cpp | 143 + lib/message/cslib/src/msg_file.h | 40 + lib/message/cslib/src/msg_mpi_one.cpp | 82 + lib/message/cslib/src/msg_mpi_one.h | 38 + lib/message/cslib/src/msg_mpi_two.cpp | 81 + lib/message/cslib/src/msg_mpi_two.h | 35 + lib/message/cslib/src/msg_zmq.cpp | 140 + lib/message/cslib/src/msg_zmq.h | 38 + src/MESSAGE/Install.sh | 67 + src/MESSAGE/fix_client_md.cpp | 325 + src/MESSAGE/fix_client_md.h | 65 + src/MESSAGE/message.cpp | 90 + src/MESSAGE/message.h | 40 + src/MESSAGE/server.cpp | 50 + src/MESSAGE/server.h | 40 + src/MESSAGE/server_mc.cpp | 148 + src/MESSAGE/server_mc.h | 29 + src/MESSAGE/server_md.cpp | 389 + src/MESSAGE/server_md.h | 38 + src/Makefile | 6 +- src/USER-MISC/pair_morse_smooth_linear.cpp | 17 +- src/atom.cpp | 3 +- src/domain.cpp | 13 +- src/domain.h | 5 +- src/fix_tmd.cpp | 2 +- src/lammps.cpp | 225 +- src/lammps.h | 4 + src/library.cpp | 3 +- src/version.h | 2 +- 133 files changed, 22779 insertions(+), 169 deletions(-) create mode 100644 cmake/FindLAMMPS.cmake.in create mode 100644 cmake/Modules/FindZMQ.cmake create mode 100644 doc/src/Howto_client_server.txt create mode 100644 doc/src/fix_client_md.txt create mode 100644 doc/src/message.txt create mode 100644 doc/src/server.txt create mode 100644 doc/src/server_mc.txt create mode 100644 doc/src/server_md.txt create mode 100644 examples/COUPLE/lammps_mc/Makefile create mode 100644 examples/COUPLE/lammps_mc/README create mode 100644 examples/COUPLE/lammps_mc/in.mc create mode 100644 examples/COUPLE/lammps_mc/in.mc.server create mode 100644 examples/COUPLE/lammps_mc/log.28Aug18.file.g++.1 create mode 100644 examples/COUPLE/lammps_mc/log.28Aug18.file.g++.4 create mode 100644 examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.1 create mode 100644 examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.4 create mode 100644 examples/COUPLE/lammps_mc/mc.cpp create mode 100644 examples/COUPLE/lammps_mc/mc.h create mode 100644 examples/COUPLE/lammps_mc/random_park.cpp create mode 100644 examples/COUPLE/lammps_mc/random_park.h create mode 100644 examples/COUPLE/lammps_vasp/INCAR create mode 100644 examples/COUPLE/lammps_vasp/KPOINTS create mode 100644 examples/COUPLE/lammps_vasp/POSCAR_W create mode 100644 examples/COUPLE/lammps_vasp/README create mode 100644 examples/COUPLE/lammps_vasp/data.W create mode 100644 examples/COUPLE/lammps_vasp/in.client.W create mode 100644 examples/COUPLE/lammps_vasp/log.client.output create mode 100644 examples/COUPLE/lammps_vasp/vasp_wrap.py create mode 100644 examples/COUPLE/lammps_vasp/vasprun.xml delete mode 100644 examples/USER/diffraction/Output/BulkNi.in create mode 100644 examples/message/README create mode 100644 examples/message/Script.sh create mode 100644 examples/message/in.message create mode 100644 examples/message/in.message.client create mode 100644 examples/message/in.message.server create mode 100644 examples/message/in.message.tilt create mode 100644 examples/message/in.message.tilt.client create mode 100644 examples/message/in.message.tilt.server create mode 100644 examples/message/log.28Aug18.message.client.file.g++.1 create mode 100644 examples/message/log.28Aug18.message.client.file.g++.2 create mode 100644 examples/message/log.28Aug18.message.client.mpione.g++.1 create mode 100644 examples/message/log.28Aug18.message.client.mpione.g++.2 create mode 100644 examples/message/log.28Aug18.message.client.mpitwo.g++.1 create mode 100644 examples/message/log.28Aug18.message.client.mpitwo.g++.2 create mode 100644 examples/message/log.28Aug18.message.client.zmq.g++.1 create mode 100644 examples/message/log.28Aug18.message.client.zmq.g++.2 create mode 100644 examples/message/log.28Aug18.message.g++.1 create mode 100644 examples/message/log.28Aug18.message.g++.4 create mode 100644 examples/message/log.28Aug18.message.server.file.g++.1 create mode 100644 examples/message/log.28Aug18.message.server.file.g++.4 create mode 100644 examples/message/log.28Aug18.message.server.mpione.g++.1 create mode 100644 examples/message/log.28Aug18.message.server.mpione.g++.4 create mode 100644 examples/message/log.28Aug18.message.server.mpitwo.g++.1 create mode 100644 examples/message/log.28Aug18.message.server.mpitwo.g++.4 create mode 100644 examples/message/log.28Aug18.message.server.zmq.g++.1 create mode 100644 examples/message/log.28Aug18.message.server.zmq.g++.4 create mode 100644 examples/message/log.28Aug18.message.tilt.client.mpione.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.client.mpione.g++.2 create mode 100644 examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.2 create mode 100644 examples/message/log.28Aug18.message.tilt.client.zmq.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.client.zmq.g++.2 create mode 100644 examples/message/log.28Aug18.message.tilt.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.g++.4 create mode 100644 examples/message/log.28Aug18.message.tilt.server.mpione.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.server.mpione.g++.4 create mode 100644 examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.4 create mode 100644 examples/message/log.28Aug18.message.tilt.server.zmq.g++.1 create mode 100644 examples/message/log.28Aug18.message.tilt.server.zmq.g++.4 create mode 100644 lib/message/Install.py create mode 100644 lib/message/Makefile.lammps.nozmq create mode 100644 lib/message/Makefile.lammps.zmq create mode 100644 lib/message/README create mode 100644 lib/message/cslib/LICENSE create mode 100644 lib/message/cslib/README create mode 100644 lib/message/cslib/src/Makefile create mode 100644 lib/message/cslib/src/STUBS_MPI/mpi.h create mode 100644 lib/message/cslib/src/STUBS_ZMQ/zmq.h create mode 100644 lib/message/cslib/src/cslib.cpp create mode 100644 lib/message/cslib/src/cslib.h create mode 100644 lib/message/cslib/src/cslib.py create mode 100644 lib/message/cslib/src/cslib_wrap.cpp create mode 100644 lib/message/cslib/src/cslib_wrap.f90 create mode 100644 lib/message/cslib/src/cslib_wrap.h create mode 100644 lib/message/cslib/src/msg.cpp create mode 100644 lib/message/cslib/src/msg.h create mode 100644 lib/message/cslib/src/msg_file.cpp create mode 100644 lib/message/cslib/src/msg_file.h create mode 100644 lib/message/cslib/src/msg_mpi_one.cpp create mode 100644 lib/message/cslib/src/msg_mpi_one.h create mode 100644 lib/message/cslib/src/msg_mpi_two.cpp create mode 100644 lib/message/cslib/src/msg_mpi_two.h create mode 100644 lib/message/cslib/src/msg_zmq.cpp create mode 100644 lib/message/cslib/src/msg_zmq.h create mode 100644 src/MESSAGE/Install.sh create mode 100644 src/MESSAGE/fix_client_md.cpp create mode 100644 src/MESSAGE/fix_client_md.h create mode 100644 src/MESSAGE/message.cpp create mode 100644 src/MESSAGE/message.h create mode 100644 src/MESSAGE/server.cpp create mode 100644 src/MESSAGE/server.h create mode 100644 src/MESSAGE/server_mc.cpp create mode 100644 src/MESSAGE/server_mc.h create mode 100644 src/MESSAGE/server_md.cpp create mode 100644 src/MESSAGE/server_md.h diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 3ef3e8d7f4..0d4bab29f1 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -43,6 +43,29 @@ function(validate_option name values) endif() endfunction(validate_option) +function(get_lammps_version version_header variable) + file(READ ${version_header} line) + set(MONTHS x Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec) + string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\1" day "${line}") + string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\2" month "${line}") + string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\3" year "${line}") + string(STRIP ${day} day) + string(STRIP ${month} month) + string(STRIP ${year} year) + list(FIND MONTHS "${month}" month) + string(LENGTH ${day} day_length) + string(LENGTH ${month} month_length) + if(day_length EQUAL 1) + set(day "0${day}") + endif() + if(month_length EQUAL 1) + set(month "0${month}") + endif() + set(${variable} "${year}${month}${day}" PARENT_SCOPE) +endfunction() + +get_lammps_version(${LAMMPS_SOURCE_DIR}/version.h LAMMPS_VERSION) + # Cmake modules/macros are in a subdirectory to keep this file cleaner set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules) @@ -121,10 +144,10 @@ if(BUILD_LIB) if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif() - set(LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file") - mark_as_advanced(LIB_SUFFIX) - if(LIB_SUFFIX) - set(LIB_SUFFIX "_${LIB_SUFFIX}") + set(LAMMPS_LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file") + mark_as_advanced(LAMMPS_LIB_SUFFIX) + if(LAMMPS_LIB_SUFFIX) + set(LAMMPS_LIB_SUFFIX "_${LAMMPS_LIB_SUFFIX}") endif() endif() @@ -188,7 +211,7 @@ if(ENABLE_TESTING) endif(ENABLE_TESTING) set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR - KSPACE MANYBODY MC MEAM MISC MOLECULE PERI REAX REPLICA RIGID SHOCK SPIN SNAP + KSPACE MANYBODY MC MEAM MESSAGE MISC MOLECULE PERI REAX REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC @@ -481,6 +504,39 @@ if(PKG_KIM) include_directories(${KIM_INCLUDE_DIRS}) endif() +if(PKG_MESSAGE) + option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF) + file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.F + ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.c ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.cpp) + + if(BUILD_SHARED_LIBS) + add_library(cslib SHARED ${cslib_SOURCES}) + else() + add_library(cslib STATIC ${cslib_SOURCES}) + endif() + + if(BUILD_MPI) + target_compile_definitions(cslib PRIVATE -DMPI_YES) + set_target_properties(cslib PROPERTIES OUTPUT_NAME "csmpi") + else() + target_compile_definitions(cslib PRIVATE -DMPI_NO) + set_target_properties(cslib PROPERTIES OUTPUT_NAME "csnompi") + endif() + + if(MESSAGE_ZMQ) + target_compile_definitions(cslib PRIVATE -DZMQ_YES) + find_package(ZMQ REQUIRED) + target_include_directories(cslib PRIVATE ${ZMQ_INCLUDE_DIRS}) + target_link_libraries(cslib PUBLIC ${ZMQ_LIBRARIES}) + else() + target_compile_definitions(cslib PRIVATE -DZMQ_NO) + target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_ZMQ) + endif() + + list(APPEND LAMMPS_LINK_LIBS cslib) + include_directories(${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src) +endif() + if(PKG_MSCG) find_package(GSL REQUIRED) option(DOWNLOAD_MSCG "Download latte (instead of using the system's one)" OFF) @@ -1040,14 +1096,14 @@ if(BUILD_LIB) if(LAMMPS_DEPS) add_dependencies(lammps ${LAMMPS_DEPS}) endif() - set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LIB_SUFFIX}) - if(BUILD_SHARED_LIBS) - set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION}) - install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps) - configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - endif() + set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_LIB_SUFFIX}) + set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION}) + install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps) + configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + configure_file(FindLAMMPS.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Module) else() list(APPEND LMP_SOURCES ${LIB_SOURCES}) endif() @@ -1177,7 +1233,7 @@ endif() ############################################################################### # Print package summary ############################################################################### -foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES}) +foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES}) if(PKG_${PKG}) message(STATUS "Building package: ${PKG}") endif() diff --git a/cmake/FindLAMMPS.cmake.in b/cmake/FindLAMMPS.cmake.in new file mode 100644 index 0000000000..586df83c2d --- /dev/null +++ b/cmake/FindLAMMPS.cmake.in @@ -0,0 +1,48 @@ +# - Find liblammps +# Find the native liblammps headers and libraries. +# +# The following variables will set: +# LAMMPS_INCLUDE_DIRS - where to find lammps/library.h, etc. +# LAMMPS_LIBRARIES - List of libraries when using lammps. +# LAMMPS_API_DEFINES - lammps library api defines +# LAMMPS_VERSION - lammps library version +# LAMMPS_FOUND - True if liblammps found. +# +# In addition a LAMMPS::LAMMPS imported target is getting created. +# +# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +# http://lammps.sandia.gov, Sandia National Laboratories +# Steve Plimpton, sjplimp@sandia.gov +# +# Copyright (2003) Sandia Corporation. Under the terms of Contract +# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains +# certain rights in this software. This software is distributed under +# the GNU General Public License. +# +# See the README file in the top-level LAMMPS directory. +# + +find_package(PkgConfig) + +pkg_check_modules(PC_LAMMPS liblammps@LAMMPS_LIB_SUFFIX@) +find_path(LAMMPS_INCLUDE_DIR lammps/library.h HINTS ${PC_LAMMPS_INCLUDE_DIRS} @CMAKE_INSTALL_FULL_INCLUDEDIR@) + +set(LAMMPS_VERSION @LAMMPS_VERSION@) +set(LAMMPS_API_DEFINES @LAMMPS_API_DEFINES@) + +find_library(LAMMPS_LIBRARY NAMES lammps@LAMMPS_LIB_SUFFIX@ HINTS ${PC_LAMMPS_LIBRARY_DIRS} @CMAKE_INSTALL_FULL_LIBDIR@) + +set(LAMMPS_INCLUDE_DIRS "${LAMMPS_INCLUDE_DIR}") +set(LAMMPS_LIBRARIES "${LAMMPS_LIBRARY}") + +include(FindPackageHandleStandardArgs) +# handle the QUIETLY and REQUIRED arguments and set LAMMPS_FOUND to TRUE +# if all listed variables are TRUE +find_package_handle_standard_args(LAMMPS REQUIRED_VARS LAMMPS_LIBRARY LAMMPS_INCLUDE_DIR VERSION_VAR LAMMPS_VERSION) + +mark_as_advanced(LAMMPS_INCLUDE_DIR LAMMPS_LIBRARY) + +if(LAMMPS_FOUND AND NOT TARGET LAMMPS::LAMMPS) + add_library(LAMMPS::LAMMPS UNKNOWN IMPORTED) + set_target_properties(LAMMPS::LAMMPS PROPERTIES IMPORTED_LOCATION "${LAMMPS_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${LAMMPS_INCLUDE_DIR}" INTERFACE_COMPILE_DEFINITIONS "${LAMMPS_API_DEFINES}") +endif() diff --git a/cmake/Modules/FindZMQ.cmake b/cmake/Modules/FindZMQ.cmake new file mode 100644 index 0000000000..608ccda777 --- /dev/null +++ b/cmake/Modules/FindZMQ.cmake @@ -0,0 +1,8 @@ +find_path(ZMQ_INCLUDE_DIR zmq.h) +find_library(ZMQ_LIBRARY NAMES zmq) + +set(ZMQ_LIBRARIES ${ZMQ_LIBRARY}) +set(ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(ZMQ DEFAULT_MSG ZMQ_LIBRARY ZMQ_INCLUDE_DIR) diff --git a/cmake/pkgconfig/liblammps.pc.in b/cmake/pkgconfig/liblammps.pc.in index 400b7593cf..7850972f3b 100644 --- a/cmake/pkgconfig/liblammps.pc.in +++ b/cmake/pkgconfig/liblammps.pc.in @@ -4,15 +4,15 @@ # after you added @CMAKE_INSTALL_FULL_LIBDIR@/pkg-config to PKG_CONFIG_PATH, # e.g. export PKG_CONFIG_PATH=@CMAKE_INSTALL_FULL_LIBDIR@/pkgconfig -prefix=@CMAKE_INSTALL_FULL_PREFIX@ +prefix=@CMAKE_INSTALL_PREFIX@ libdir=@CMAKE_INSTALL_FULL_LIBDIR@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ Name: liblammps@LAMMPS_MACHINE@ Description: Large-scale Atomic/Molecular Massively Parallel Simulator Library URL: http://lammps.sandia.gov -Version: +Version: @LAMMPS_VERSION@ Requires: -Libs: -L${libdir} -llammps@LIB_SUFFIX@@ +Libs: -L${libdir} -llammps@LAMMPS_LIB_SUFFIX@ Libs.private: -lm Cflags: -I${includedir} @LAMMPS_API_DEFINES@ diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt index 088ffd8972..1e3744b7fb 100644 --- a/doc/src/Build_extras.txt +++ b/doc/src/Build_extras.txt @@ -31,6 +31,7 @@ This is the list of packages that may require additional steps. "KOKKOS"_#kokkos, "LATTE"_#latte, "MEAM"_#meam, +"MESSAGE"_#message, "MSCG"_#mscg, "OPT"_#opt, "POEMS"_#poems, @@ -361,6 +362,10 @@ make lib-meam args="-m mpi" # build with default Fortran compiler compatible make lib-meam args="-m serial" # build with compiler compatible with "make serial" (GNU Fortran) make lib-meam args="-m ifort" # build with Intel Fortran compiler using Makefile.ifort :pre +NOTE: You should test building the MEAM library with both the Intel +and GNU compilers to see if a simulation runs faster with one versus +the other on your system. + The build should produce two files: lib/meam/libmeam.a and lib/meam/Makefile.lammps. The latter is copied from an existing Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with @@ -373,6 +378,35 @@ file. :line +MESSAGE package :h4,link(message) + +This package can optionally include support for messaging via sockets, +using the open-source "ZeroMQ library"_http://zeromq.org, which must +be installed on your system. + +[CMake build]: + +-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes + +[Traditional make]: + +Before building LAMMPS, you must build the CSlib library in +lib/message. You can build the CSlib library manually if you prefer; +follow the instructions in lib/message/README. You can also do it in +one step from the lammps/src dir, using a command like these, which +simply invoke the lib/message/Install.py script with the specified args: + +make lib-message # print help message +make lib-message args="-m -z" # build with MPI and socket (ZMQ) support +make lib-message args="-s" # build as serial lib with no ZMQ support + +The build should produce two files: lib/message/cslib/src/libmessage.a +and lib/message/Makefile.lammps. The latter is copied from an +existing Makefile.lammps.* and has settings to link with the ZeroMQ +library if requested in the build. + +:line + MSCG package :h4,link(mscg) To build with this package, you must download and build the MS-CG diff --git a/doc/src/Build_package.txt b/doc/src/Build_package.txt index 4f71e9eb18..aaa340f302 100644 --- a/doc/src/Build_package.txt +++ b/doc/src/Build_package.txt @@ -42,6 +42,7 @@ packages: "KOKKOS"_Build_extras.html#kokkos, "LATTE"_Build_extras.html#latte, "MEAM"_Build_extras.html#meam, +"MESSAGE"_#Build_extras.html#message, "MSCG"_Build_extras.html#mscg, "OPT"_Build_extras.html#opt, "POEMS"_Build_extras.html#poems, diff --git a/doc/src/Commands_all.txt b/doc/src/Commands_all.txt index aec5a9db8b..6f54681342 100644 --- a/doc/src/Commands_all.txt +++ b/doc/src/Commands_all.txt @@ -71,6 +71,7 @@ An alphabetic list of all LAMMPS commands. "lattice"_lattice.html, "log"_log.html, "mass"_mass.html, +"message"_message.html, "minimize"_minimize.html, "min_modify"_min_modify.html, "min_style"_min_style.html, @@ -103,6 +104,7 @@ An alphabetic list of all LAMMPS commands. "restart"_restart.html, "run"_run.html, "run_style"_run_style.html, +"server"_server.html, "set"_set.html, "shell"_shell.html, "special_bonds"_special_bonds.html, diff --git a/doc/src/Howto.txt b/doc/src/Howto.txt index 438ea561a1..730b492699 100644 --- a/doc/src/Howto.txt +++ b/doc/src/Howto.txt @@ -54,6 +54,7 @@ General howto :h3 Howto_replica Howto_library Howto_couple + Howto_client_server END_RST --> @@ -64,7 +65,8 @@ END_RST --> "Run multiple simulations from one input script"_Howto_multiple.html "Multi-replica simulations"_Howto_replica.html "Library interface to LAMMPS"_Howto_library.html -"Couple LAMMPS to other codes"_Howto_couple.html :all(b) +"Couple LAMMPS to other codes"_Howto_couple.html +"Using LAMMPS in client/server mode"_Howto_client_server.html :all(b) diff --git a/doc/src/Howto_client_server.txt b/doc/src/Howto_client_server.txt new file mode 100644 index 0000000000..714c23f066 --- /dev/null +++ b/doc/src/Howto_client_server.txt @@ -0,0 +1,131 @@ +"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS +Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +Using LAMMPS in client/server mode + +Client/server coupling of two codes is where one code is the "client" +and sends request messages to a "server" code. The server responds to +each request with a reply message. This enables the two codes to work +in tandem to perform a simulation. LAMMPS can act as either a client +or server code. + +Some advantages of client/server coupling are that the two codes run +as stand-alone executables; they are not linked together. Thus +neither code needs to have a library interface. This often makes it +easier to run the two codes on different numbers of processors. If a +message protocol (format and content) is defined for a particular kind +of simulation, then in principle any code that implements the +client-side protocol can be used in tandem with any code that +implements the server-side protocol, without the two codes needing to +know anything more specific about each other. + +A simple example of client/server coupling is where LAMMPS is the +client code performing MD timestepping. Each timestep it sends a +message to a server quantum code containing current coords of all the +atoms. The quantum code computes energy and forces based on the +coords. It returns them as a message to LAMMPS, which completes the +timestep. + +Alternate methods for code coupling with LAMMPS are described on +the "Howto couple"_Howto_couple.html doc page. + +LAMMPS support for client/server coupling is in its "MESSAGE +package"_Packages_details.html#PKG-MESSAGE which implements several +commands that enable LAMMPS to act as a client or server, as discussed +below. The MESSAGE package also wraps a client/server library called +CSlib which enables two codes to exchange messages in different ways, +either via files, sockets, or MPI. The CSlib is provided with LAMMPS +in the lib/message dir. The CSlib has its own +"website"_http://cslib.sandia.gov with documentation and test +programs. + +NOTE: For client/server coupling to work between LAMMPS and another +code, the other code also has to use the CSlib. This can sometimes be +done without any modifications to the other code by simply wrapping it +with a Python script that exchanges CSlib messages with LAMMPS and +prepares input for or processes output from the other code. The other +code also has to implement a matching protocol for the format and +content of messages that LAMMPS exchanges with it. + +These are the commands currently in the MESSAGE package for two +protocols, MD and MC (Monte Carlo). New protocols can easily be +defined and added to this directory, where LAMMPS acts as either the +client or server. + +"message"_message.html +"fix client md"_fix_client_md.html = LAMMPS is a client for running MD +"server md"_server_md.html = LAMMPS is a server for computing MD forces +"server mc"_server_mc.html = LAMMPS is a server for computing a Monte Carlo energy + +The server doc files give details of the message protocols +for data that is exchanged bewteen the client and server. + +These example directories illustrate how to use LAMMPS as either a +client or server code: + +examples/message +examples/COUPLE/README +examples/COUPLE/lammps_mc +examples/COUPLE/lammps_vasp :ul + +The examples/message dir couples a client instance of LAMMPS to a +server instance of LAMMPS. + +The lammps_mc dir shows how to couple LAMMPS as a server to a simple +Monte Carlo client code as the driver. + +The lammps_vasp dir shows how to couple LAMMPS as a client code +running MD timestepping to VASP acting as a server providing quantum +DFT forces, thru a Python wrapper script on VASP. + +Here is how to launch a client and server code together for any of the +4 modes of message exchange that the "message"_message.html command +and the CSlib support. Here LAMMPS is used as both the client and +server code. Another code could be subsitituted for either. + +The examples below show launching both codes from the same window (or +batch script), using the "&" character to launch the first code in the +background. For all modes except {mpi/one}, you could also launch the +codes in separate windows on your desktop machine. It does not +matter whether you launch the client or server first. + +In these examples either code can be run on one or more processors. +If running in a non-MPI mode (file or zmq) you can launch a code on a +single processor without using mpirun. + +IMPORTANT: If you run in mpi/two mode, you must launch both codes via +mpirun, even if one or both of them runs on a single processor. This +is so that MPI can figure out how to connect both MPI processes +together to exchange MPI messages between them. + +For message exchange in {file}, {zmq}, or {mpi/two} modes: + +% mpirun -np 1 lmp_mpi -log log.client < in.client & +% mpirun -np 2 lmp_mpi -log log.server < in.server :pre + +% mpirun -np 4 lmp_mpi -log log.client < in.client & +% mpirun -np 1 lmp_mpi -log log.server < in.server :pre + +% mpirun -np 2 lmp_mpi -log log.client < in.client & +% mpirun -np 4 lmp_mpi -log log.server < in.server :pre + +For message exchange in {mpi/one} mode: + +Launch both codes in a single mpirun command: + +mpirun -np 2 lmp_mpi -mpicolor 0 -in in.message.client -log log.client : -np 4 lmp_mpi -mpicolor 1 -in in.message.server -log log.server + +The two -np values determine how many procs the client and the server +run on. + +A LAMMPS executable run in this manner must use the -mpicolor color +command-line option as their its option, where color is an integer +label that will be used to distinguish one executable from another in +the multiple executables that the mpirun command launches. In this +example the client was colored with a 0, and the server with a 1. diff --git a/doc/src/Howto_couple.txt b/doc/src/Howto_couple.txt index d7b4924d8c..0214db1ece 100644 --- a/doc/src/Howto_couple.txt +++ b/doc/src/Howto_couple.txt @@ -16,10 +16,12 @@ atoms and pass those forces to LAMMPS. Or a continuum finite element nodal points, compute a FE solution, and return interpolated forces on MD atoms. -LAMMPS can be coupled to other codes in at least 3 ways. Each has +LAMMPS can be coupled to other codes in at least 4 ways. Each has advantages and disadvantages, which you'll have to think about in the context of your application. +:line + (1) Define a new "fix"_fix.html command that calls the other code. In this scenario, LAMMPS is the driver code. During its timestepping, the fix is invoked, and can make library calls to the other code, @@ -32,6 +34,8 @@ LAMMPS. :link(poems,http://www.rpi.edu/~anderk5/lab) +:line + (2) Define a new LAMMPS command that calls the other code. This is conceptually similar to method (1), but in this case LAMMPS and the other code are on a more equal footing. Note that now the other code @@ -52,6 +56,8 @@ command writes and reads. See the "Modify command"_Modify_command.html doc page for info on how to add a new command to LAMMPS. +:line + (3) Use LAMMPS as a library called by another code. In this case the other code is the driver and calls LAMMPS as needed. Or a wrapper code could link and call both LAMMPS and another code as libraries. @@ -102,3 +108,9 @@ on all the processors. Or it might allocate half the processors to LAMMPS and half to the other code and run both codes simultaneously before syncing them up periodically. Or it might instantiate multiple instances of LAMMPS to perform different calculations. + +:line + +(4) Couple LAMMPS with another code in a client/server mode. This is +described on the "Howto client/server"_Howto_client_server.html doc +page. diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index ad3e66a4b2..e442aa1808 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,7 +1,7 @@ LAMMPS Users Manual - + @@ -21,7 +21,7 @@ :line LAMMPS Documentation :c,h1 -22 Aug 2018 version :c,h2 +31 Aug 2018 version :c,h2 "What is a LAMMPS version?"_Manual_version.html diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 381dc2e995..a4ed1e3ff4 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -549,10 +549,6 @@ This package has "specific installation instructions"_Build_extras.html#gpu on the "Build extras"_Build_extras.html doc page. -NOTE: You should test building the MEAM library with both the Intel -and GNU compilers to see if a simulation runs faster with one versus -the other on your system. - [Supporting info:] src/MEAM: filenames -> commands @@ -563,6 +559,31 @@ examples/meam :ul :line +MESSAGE package :link(PKG-MESSAGE),h4 + +[Contents:] + +Commands to use LAMMPS as either a client or server and couple it to +another application. + +[Install:] + +This package has "specific installation +instructions"_Build_extras.html#message on the "Build +extras"_Build_extras.html doc page. + +[Supporting info:] + +src/MESSAGE: filenames -> commands +lib/message/README +"message"_message.html +"fix client/md"_fix_client_md.html +"server md"_server_md.html +"server mc"_server_mc.html +examples/message :ul + +:line + MISC package :link(PKG-MISC),h4 [Contents:] diff --git a/doc/src/Packages_standard.txt b/doc/src/Packages_standard.txt index 2feb4e142d..583ecf39fe 100644 --- a/doc/src/Packages_standard.txt +++ b/doc/src/Packages_standard.txt @@ -47,6 +47,7 @@ Package, Description, Doc page, Example, Library "MANYBODY"_Packages_details.html#PKG-MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, no "MC"_Packages_details.html#PKG-MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, n/a, no "MEAM"_Packages_details.html#PKG-MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int +"MESSAGE"_Packages_details.html#PKG-MESSAGE, client/server messaging, "message"_message.html, message, int "MISC"_Packages_details.html#PKG-MISC, miscellaneous single-file commands, n/a, no, no "MOLECULE"_Packages_details.html#PKG-MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, no "MPIIO"_Packages_details.html#PKG-MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, n/a, no diff --git a/doc/src/Run_options.txt b/doc/src/Run_options.txt index 9c862d7b8e..27f436ed55 100644 --- a/doc/src/Run_options.txt +++ b/doc/src/Run_options.txt @@ -18,6 +18,7 @@ letter abbreviation can be used: "-i or -in"_#file "-k or -kokkos"_#run-kokkos "-l or -log"_#log +"-m or -mpicolor"_#mpicolor "-nc or -nocite"_#nocite "-pk or -package"_#package "-p or -partition"_#partition @@ -175,6 +176,30 @@ Option -plog will override the name of the partition log files file.N. :line +[-mpicolor] color :link(mpi) + +If used, this must be the first command-line argument after the LAMMPS +executable name. It is only used when LAMMPS is launched by an mpirun +command which also launches another executable(s) at the same time. +(The other executable could be LAMMPS as well.) The color is an +integer value which should be different for each executable (another +application may set this value in a different way). LAMMPS and the +other executable(s) perform an MPI_Comm_split() with their own colors +to shrink the MPI_COMM_WORLD communication to be the subset of +processors they are actually running on. + +Currently, this is only used in LAMMPS to perform client/server +messaging with another application. LAMMPS can act as either a client +or server (or both). More details are given on the "Howto +client/server"_Howto_client_server.html doc page. + +Specifically, this refers to the "mpi/one" mode of messaging provided +by the "message"_message.html command and the CSlib library LAMMPS +links with from the lib/message directory. See the +"message"_message.html command for more details. + +:line + [-nocite] :link(nocite) Disable writing the log.cite file which is normally written to list diff --git a/doc/src/commands_list.txt b/doc/src/commands_list.txt index 62b973e3a4..8fae57a718 100644 --- a/doc/src/commands_list.txt +++ b/doc/src/commands_list.txt @@ -56,6 +56,7 @@ Commands :h1 lattice log mass + message min_modify min_style minimize @@ -87,6 +88,7 @@ Commands :h1 restart run run_style + server set shell special_bonds diff --git a/doc/src/fix_client_md.txt b/doc/src/fix_client_md.txt new file mode 100644 index 0000000000..5b62d5617d --- /dev/null +++ b/doc/src/fix_client_md.txt @@ -0,0 +1,106 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +fix client/md command :h3 + +[Syntax:] + +fix ID group-ID client/md :pre + +ID, group-ID are documented in "fix"_fix.html command +client/md = style name of this fix command :ul + +[Examples:] + +fix 1 all client/md :pre + +[Description:] + +This fix style enables LAMMPS to run as a "client" code and +communicate each timestep with a separate "server" code to perform an +MD simulation together. + +The "Howto client/server"_Howto_client_server.html doc page gives an +overview of client/server coupling of LAMMPS with another code where +one code is the "client" and sends request messages to a "server" +code. The server responds to each request with a reply message. This +enables the two codes to work in tandem to perform a simulation. + +When using this fix, LAMMPS (as the client code) passes the current +coordinates of all particles to the server code each timestep, which +computes their interaction, and returns the energy, forces, and virial +for the interacting particles to LAMMPS, so it can complete the +timestep. + +The server code could be a quantum code, or another classical MD code +which encodes a force field (pair_style in LAMMPS lingo) which LAMMPS +does not have. In the quantum case, this fix is a mechanism for +running {ab initio} MD with quantum forces. + +The group associated with this fix is ignored. + +The protocol and "units"_units.html for message format and content +that LAMMPS exchanges with the server code is defined on the "server +md"_server_md.html doc page. + +Note that when using LAMMPS as an MD client, your LAMMPS input script +should not normally contain force field commands, like a +"pair_style"_doc/pair_style.html, "bond_style"_doc/bond_style.html, or +"kspace_style"_kspace_style.html commmand. However it is possible for +a server code to only compute a portion of the full force-field, while +LAMMPS computes the remaining part. Your LAMMPS script can also +specify boundary conditions or force constraints in the usual way, +which will be added to the per-atom forces returned by the server +code. + +See the examples/message dir for example scripts where LAMMPS is both +the "client" and/or "server" code for this kind of client/server MD +simulation. The examples/message/README file explains how to launch +LAMMPS and another code in tandem to perform a coupled simulation. + +:line + +[Restart, fix_modify, output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the potential energy computed by the server application to +the system's potential energy as part of "thermodynamic +output"_thermo_style.html. + +The "fix_modify"_fix_modify.html {virial} option is supported by this +fix to add the server application's contribution to the system's +virial as part of "thermodynamic output"_thermo_style.html. The +default is {virial yes} + +This fix computes a global scalar which can be accessed by various +"output commands"_Howto_output.html. The scalar is the potential +energy discussed above. The scalar value calculated by this fix is +"extensive". + +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + +[Restrictions:] + +This fix is part of the MESSAGE package. It is only enabled if LAMMPS +was built with that package. See the "Build +package"_Build_package.html doc page for more info. + +A script that uses this command must also use the +"message"_message.html command to setup the messaging protocol with +the other server code. + +[Related commands:] + +"message"_message.html, "server"_server.html + +[Default:] none diff --git a/doc/src/lammps.book b/doc/src/lammps.book index c296ff4039..72a07945e7 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -167,6 +167,7 @@ label.html lattice.html log.html mass.html +message.html min_modify.html min_style.html minimize.html @@ -194,6 +195,9 @@ reset_timestep.html restart.html run.html run_style.html +server.html +server_mc.html +server_md.html set.html shell.html special_bonds.html @@ -241,6 +245,7 @@ fix_bond_create.html fix_bond_react.html fix_bond_swap.html fix_box_relax.html +fix_client_md.html fix_cmap.html fix_colvars.html fix_controller.html diff --git a/doc/src/message.txt b/doc/src/message.txt new file mode 100644 index 0000000000..cca1a5b369 --- /dev/null +++ b/doc/src/message.txt @@ -0,0 +1,162 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Command_all.html) + +:line + +message command :h3 + +[Syntax:] + +message which protocol mode arg :pre + +which = {client} or {server} :ulb,l +protocol = {md} or {mc} :l +mode = {file} or {zmq} or {mpi/one} or {mpi/two} :l + {file} arg = filename + filename = file used for message exchanges + {zmq} arg = socket-ID + socket-ID for client = localhost:5555, see description below + socket-ID for server = *:5555, see description below + {mpi/one} arg = none + {mpi/two} arg = filename + filename = file used to establish communication bewteen 2 MPI jobs :pre +:ule + +[Examples:] + +message client md file tmp.couple +message server md file tmp.couple :pre + +message client md zmq localhost:5555 +message server md zmq *:5555 :pre + +message client md mpi/one +message server md mpi/one :pre + +message client md mpi/two tmp.couple +message server md mpi/two tmp.couple :pre + +[Description:] + +Establish a messaging protocol between LAMMPS and another code for the +purpose of client/server coupling. + +The "Howto client/server"_Howto_client_server.html doc page gives an +overview of client/server coupling of LAMMPS with another code where +one code is the "client" and sends request messages to a "server" +code. The server responds to each request with a reply message. This +enables the two codes to work in tandem to perform a simulation. + +:line + +The {which} argument defines LAMMPS to be the client or the server. + +:line + +The {protocol} argument defines the format and content of messages +that will be exchanged between the two codes. The current options +are: + +md = run dynamics with another code +mc = perform Monte Carlo moves with another code :ul + +For protocol {md}, LAMMPS can be either a client or server. See the +"server md"_server_md.html doc page for details on the protocol. + +For protocol {mc}, LAMMPS can be the server. See the "server +mc"_server_mc.html doc page for details on the protocol. + +:line + +The {mode} argument specifies how messages are exchanged between the +client and server codes. Both codes must use the same mode and use +consistent parameters. + +For mode {file}, the 2 codes communicate via binary files. They must +use the same filename, which is actually a file prefix. Several files +with that prefix will be created and deleted as a simulation runs. +The filename can include a path. Both codes must be able to access +the path/file in a common filesystem. + +For mode {zmq}, the 2 codes communicate via a socket on the server +code's machine. Support for socket messaging is provided by the +open-source "ZeroMQ library"_http://zeromq.org, which must be +installed on your system. The client specifies an IP address (IPv4 +format) or the DNS name of the machine the server code is running on, +followed by a 4-digit port ID for the socket, separated by a colon. +E.g. + +localhost:5555 # client and server running on same machine +192.168.1.1:5555 # server is 192.168.1.1 +deptbox.uni.edu:5555 # server is deptbox.uni.edu :pre + +The server specifes "*:5555" where "*" represents all available +interfaces on the server's machine, and the port ID must match +what the client specifies. + +NOTE: What are allowed port IDs? + +NOTE: Additional explanation is needed here about how to use the {zmq} +mode on a parallel machine, e.g. a cluster with many nodes. + +For mode {mpi/one}, the 2 codes communicate via MPI and are launched +by the same mpirun command, e.g. with this syntax for OpenMPI: + +mpirun -np 2 lmp_mpi -mpicolor 0 -in in.client -log log.client : -np 4 othercode args # LAMMPS is client +mpirun -np 2 othercode args : -np 4 lmp_mpi -mpicolor 1 -in in.server # LAMMPS is server :pre + +Note the use of the "-mpicolor color" command-line argument with +LAMMPS. See the "command-line args"_Run_options.html doc page for +further explanation. + +For mode {mpi/two}, the 2 codes communicate via MPI, but are launched +be 2 separate mpirun commands. The specified {filename} argument is a +file the 2 MPI processes will use to exchange info so that an MPI +inter-communicator can be established to enable the 2 codes to send +MPI messages to each other. Both codes must be able to access the +path/file in a common filesystem. + +:line + +Normally, the message command should be used at the top of a LAMMPS +input script. It performs an initial handshake with the other code to +setup messaging and to verify that both codes are using the same +message protocol and mode. Assuming both codes are launched at +(nearly) the same time, the other code should perform the same kind of +initialization. + +If LAMMPS is the client code, it will begin sending messages when a +LAMMPS client command begins its operation. E.g. for the "fix +client/md"_fix_client_md.html command, it is when a "run"_run.html +command is executed. + +If LAMMPS is the server code, it will begin receiving messages when +the "server"_server.html command is invoked. + +A fix client command will terminate its messaging with the server when +LAMMPS ends, or the fix is deleted via the "unfix"_unfix command. The +server command will terminate its messaging with the client when the +client signals it. Then the remainder of the LAMMPS input script will +be processed. + +If both codes do something similar, this means a new round of +client/server messaging can be initiated after termination by re-using +a 2nd message command in your LAMMPS input script, followed by a new +fix client or server command. + +:line + +[Restrictions:] + +This command is part of the MESSAGE package. It is only enabled if +LAMMPS was built with that package. See the "Build +package"_Build_package.html doc page for more info. + +[Related commands:] + +"server"_server.html, "fix client/md"_fix_client_md.html + +[Default:] none diff --git a/doc/src/server.txt b/doc/src/server.txt new file mode 100644 index 0000000000..86fb68d012 --- /dev/null +++ b/doc/src/server.txt @@ -0,0 +1,71 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +server command :h3 + +[Syntax:] + +server protocol :pre + +protocol = {md} or {mc} :ul + +[Examples:] + +server md :pre + +[Description:] + +This command starts LAMMPS running in "server" mode, where it receives +messages from a separate "client" code and responds by sending a reply +message back to the client. The specified {protocol} determines the +format and content of messages LAMMPS expects to receive and how it +responds. + +The "Howto client/server"_Howto_client_server.html doc page gives an +overview of client/server coupling of LAMMPS with another code where +one code is the "client" and sends request messages to a "server" +code. The server responds to each request with a reply message. This +enables the two codes to work in tandem to perform a simulation. + +When this command is invoked, LAMMPS will run in server mode in an +endless loop, waiting for messages from the client code. The client +signals when it is done sending messages to LAMMPS, at which point the +loop will exit, and the remainder of the LAMMPS script will be +processed. + +The {protocol} argument defines the format and content of messages +that will be exchanged between the two codes. The current options +are: + +"md"_server_md.html = run dynamics with another code +"mc"_server_mc.html = perform Monte Carlo moves with another code :ul + +For protocol {md}, LAMMPS can be either a client (via the "fix +client/md"_fix_client_md.html command) or server. See the "server +md"_server_md.html doc page for details on the protocol. + +For protocol {mc}, LAMMPS can be the server. See the "server +mc"_server_mc.html doc page for details on the protocol. + +:line + +[Restrictions:] + +This command is part of the MESSAGE package. It is only enabled if +LAMMPS was built with that package. See the "Build +package"_Build_package.html doc page for more info. + +A script that uses this command must also use the +"message"_message.html command to setup the messaging protocol with +the other client code. + +[Related commands:] + +"message"_message.html, "fix client/md"_fix_client_md.html + +[Default:] none diff --git a/doc/src/server_mc.txt b/doc/src/server_mc.txt new file mode 100644 index 0000000000..53ccfc8ecd --- /dev/null +++ b/doc/src/server_mc.txt @@ -0,0 +1,116 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +server mc command :h3 + +[Syntax:] + +server mc :pre + +mc = the protocol argument to the "server"_server.html command + +[Examples:] + +server mc :pre + +[Description:] + +This command starts LAMMPS running in "server" mode, where it will +expect messages from a separate "client" code that match the {mc} +protocol for format and content explained below. For each message +LAMMPS receives it will send a message back to the client. + +The "Howto client/server"_Howto_client_server.html doc page gives an +overview of client/server coupling of LAMMPS with another code where +one code is the "client" and sends request messages to a "server" +code. The server responds to each request with a reply message. This +enables the two codes to work in tandem to perform a simulation. + +When this command is invoked, LAMMPS will run in server mode in an +endless loop, waiting for messages from the client code. The client +signals when it is done sending messages to LAMMPS, at which point the +loop will exit, and the remainder of the LAMMPS script will be +processed. + +The "server"_server.html doc page gives other options for using LAMMPS +See an example of how this command is used in +examples/COUPLE/lammps_mc/in.server. + +:line + +When using this command, LAMMPS (as the server code) receives +instructions from a Monte Carlo (MC) driver to displace random atoms, +compute the energy before and after displacement, and run dynamics to +equilibrate the system. + +The MC driver performs the random displacements on random atoms, +accepts or rejects the move in an MC sense, and orchestrates the MD +runs. + +The format and content of the exchanged messages are explained here in +a conceptual sense. Python-style pseudo code for the library calls to +the CSlib is shown, which performs the actual message exchange between +the two codes. See the "CSlib website"_http://cslib.sandia.gov doc +pages for more details on the actual library syntax. The "cs" object +in this pseudo code is a pointer to an instance of the CSlib. + +See the src/MESSAGE/server_mc.cpp file for details on how LAMMPS uses +these messages. See the examples/COUPLE/lammmps_mc/mc.cpp file for an +example of how an MC driver code can use these messages. + +Let NATOMS=1, EINIT=2, DISPLACE=3, ACCEPT=4, RUN=5. + +[Client sends one of these kinds of message]: + +cs->send(NATOMS,0) # msgID = 1 with no fields :pre + +cs->send(EINIT,0) # msgID = 2 with no fields :pre + +cs->send(DISPLACE,2) # msgID = 3 with 2 fields +cs->pack_int(1,ID) # 1st field = ID of atom to displace +cs->pack(2,3,xnew) # 2nd field = new xyz coords of displaced atom :pre + +cs->send(ACCEPT,1) # msgID = 4 with 1 field +cs->pack_int(1,flag) # 1st field = accept/reject flag :pre + +cs->send(RUN,1) # msgID = 5 with 1 field +cs->pack_int(1,nsteps) # 1st field = # of timesteps to run MD :pre + +[Server replies]: + +cs->send(NATOMS,1) # msgID = 1 with 1 field +cs->pack_int(1,natoms) # 1st field = number of atoms :pre + +cs->send(EINIT,2) # msgID = 2 with 2 fields +cs->pack_double(1,poteng) # 1st field = potential energy of system +cs->pack(2,3*natoms,x) # 2nd field = 3N coords of Natoms :pre + +cs->send(DISPLACE,1) # msgID = 3 with 1 field +cs->pack_double(1,poteng) # 1st field = new potential energy of system :pre + +cs->send(ACCEPT,0) # msgID = 4 with no fields + +cs->send(RUN,0) # msgID = 5 with no fields + +:line + +[Restrictions:] + +This command is part of the MESSAGE package. It is only enabled if +LAMMPS was built with that package. See the "Build +package"_Build_package.html doc page for more info. + +A script that uses this command must also use the +"message"_message.html command to setup the messaging protocol with +the other client code. + +[Related commands:] + +"message"_message.html + +[Default:] none diff --git a/doc/src/server_md.txt b/doc/src/server_md.txt new file mode 100644 index 0000000000..0db7bbe16b --- /dev/null +++ b/doc/src/server_md.txt @@ -0,0 +1,147 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Commands_all.html) + +:line + +server md command :h3 + +[Syntax:] + +server md :pre + +md = the protocol argument to the "server"_server.html command + +[Examples:] + +server md :pre + +[Description:] + +This command starts LAMMPS running in "server" mode, where it will +expect messages from a separate "client" code that match the {md} +protocol for format and content explained below. For each message +LAMMPS receives it will send a message back to the client. + +The "Howto client/server"_Howto_client_server.html doc page gives an +overview of client/server coupling of LAMMPS with another code where +one code is the "client" and sends request messages to a "server" +code. The server responds to each request with a reply message. This +enables the two codes to work in tandem to perform a simulation. + +When this command is invoked, LAMMPS will run in server mode in an +endless loop, waiting for messages from the client code. The client +signals when it is done sending messages to LAMMPS, at which point the +loop will exit, and the remainder of the LAMMPS script will be +processed. + +The "server"_server.html doc page gives other options for using LAMMPS +in server mode. See an example of how this command is used in +examples/message/in.message.server. + +:line + +When using this command, LAMMPS (as the server code) receives the +current coordinates of all particles from the client code each +timestep, computes their interaction, and returns the energy, forces, +and pressure for the interacting particles to the client code, so it +can complete the timestep. This command could also be used with a +client code that performs energy minimization, using the server to +compute forces and energy each iteration of its minimizer. + +When using the "fix client/md" command, LAMMPS (as the client code) +does the timestepping and receives needed energy, forces, and pressure +values from the server code. + +The format and content of the exchanged messages are explained here in +a conceptual sense. Python-style pseudo code for the library calls to +the CSlib is shown, which performs the actual message exchange between +the two codes. See the "CSlib website"_http://cslib.sandia.gov doc +pages for more details on the actual library syntax. The "cs" object +in this pseudo code is a pointer to an instance of the CSlib. + +See the src/MESSAGE/server_md.cpp and src/MESSAGE/fix_client_md.cpp +files for details on how LAMMPS uses these messages. See the +examples/COUPLE/lammps_vasp/vasp_wrapper.py file for an example of how +a quantum code (VASP) can use use these messages. + +The following pseudo-code uses these values, defined as enums. + +enum{SETUP=1,STEP}; +enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; +enum{FORCES=1,ENERGY,PRESSURE,ERROR}; :pre + +[Client sends 2 kinds of messages]: + +# required fields: DIM, PERIODICTY, ORIGIN, BOX, NATOMS, NTYPES, TYPES, COORDS +# optional fields: UNITS, CHARGE :pre + +cs->send(SETUP,nfields) # msgID with nfields :pre + +cs->pack_int(DIM,dim) # dimension (2,3) of simulation +cs->pack(PERIODICITY,3,xyz) # periodicity flags in 3 dims +cs->pack(ORIGIN,3,origin) # lower-left corner of simulation box +cs->pack(BOX,9,box) # 3 edge vectors of simulation box +cs->pack_int(NATOMS,natoms) # total number of atoms +cs->pack_int(NTYPES,ntypes) # number of atom types +cs->pack(TYPES,natoms,type) # vector of per-atom types +cs->pack(COORDS,3*natoms,x) # vector of 3N atom coords +cs->pack_string(UNITS,units) # units = "lj", "real", "metal", etc +cs->pack(CHARGE,natoms,q) # vector of per-atom charge :pre + +# required fields: COORDS +# optional fields: ORIGIN, BOX :pre + +cs->send(STEP,nfields) # msgID with nfields :pre + +cs->pack(COORDS,3*natoms,x) # vector of 3N atom coords +cs->pack(ORIGIN,3,origin) # lower-left corner of simulation box +cs->pack(BOX,9,box) # 3 edge vectors of simulation box + +[Server replies to either kind of message]: + +# required fields: FORCES, ENERGY, PRESSURE +# optional fields: ERROR :pre + +cs->send(msgID,nfields) # msgID with nfields +cs->pack(FORCES,3*Natoms,f) # vector of 3N forces on atoms +cs->pack(ENERGY,1,poteng) # total potential energy of system +cs->pack(PRESSURE,6,press) # global pressure tensor (6-vector) +cs->pack_int(ERROR,flag) # server had an error (e.g. DFT non-convergence) :pre + +:line + +The units for various quantities that are sent and received iva +messages are defined for atomic-scale simulations in the table below. +The client and server codes (including LAMMPS) can use internal units +different than these (e.g. "real units"_units.html in LAMMPS), so long +as they convert to these units for meesaging. + +COORDS, ORIGIN, BOX = Angstroms +CHARGE = multiple of electron charge (1.0 is a proton) +ENERGY = eV +FORCES = eV/Angstrom +PRESSURE = bars :ul + +Note that these are "metal units"_units.html in LAMMPS. + +If you wish to run LAMMPS in another its non-atomic units, e.g. "lj +units"_units.html, then the client and server should exchange a UNITS +message as indicated above, and both the client and server should +agree on the units for the data they exchange. + +:line + +[Restrictions:] + +This command is part of the MESSAGE package. It is only enabled if +LAMMPS was built with that package. See the "Build +package"_Build_package.html doc page for more info. + +[Related commands:] + +"message"_message.html, "fix client/md"_fix_client_md.html + +[Default:] none diff --git a/examples/COUPLE/README b/examples/COUPLE/README index 83e7463531..0e611befbd 100644 --- a/examples/COUPLE/README +++ b/examples/COUPLE/README @@ -10,6 +10,7 @@ See these sections of the LAMMPS manaul for details: 2.5 Building LAMMPS as a library (doc/Section_start.html#start_5) 6.10 Coupling LAMMPS to other codes (doc/Section_howto.html#howto_10) +6.29 Using LAMMPS in client/server mode (doc/Section_howto.html#howto_29) In all of the examples included here, LAMMPS must first be built as a library. Basically, in the src dir you type one of @@ -33,9 +34,13 @@ These are the sub-directories included in this directory: simple simple example of driver code calling LAMMPS as a lib multiple example of driver code calling multiple instances of LAMMPS +lammps_mc client/server coupling of Monte Carlo client + with LAMMPS server for energy evaluation lammps_quest MD with quantum forces, coupling to Quest DFT code lammps_spparks grain-growth Monte Carlo with strain via MD, coupling to SPPARKS kinetic MC code +lammps_vasp client/server coupling of LAMMPS client with + VASP quantum DFT as server for quantum forces library collection of useful inter-code communication routines fortran a simple wrapper on the LAMMPS library API that can be called from Fortran diff --git a/examples/COUPLE/lammps_mc/Makefile b/examples/COUPLE/lammps_mc/Makefile new file mode 100644 index 0000000000..c75bd08c73 --- /dev/null +++ b/examples/COUPLE/lammps_mc/Makefile @@ -0,0 +1,33 @@ +# Makefile for MC + +SHELL = /bin/sh + +SRC = mc.cpp random_park.cpp +OBJ = $(SRC:.cpp=.o) + +# change this line for your machine to path for CSlib src dir + +CSLIB = /home/sjplimp/lammps/lib/message/cslib/src + +# compiler/linker settings + +CC = g++ +CCFLAGS = -g -O3 -I$(CSLIB) +LINK = g++ +LINKFLAGS = -g -O -L$(CSLIB) + +# targets + +mc: $(OBJ) +# first line if built the CSlib within lib/message with ZMQ support +# second line if built the CSlib without ZMQ support + $(LINK) $(LINKFLAGS) $(OBJ) -lcsnompi -lzmq -o mc +# $(LINK) $(LINKFLAGS) $(OBJ) -lcsnompi -o mc + +clean: + @rm -f *.o mc + +# rules + +%.o:%.cpp + $(CC) $(CCFLAGS) -c $< diff --git a/examples/COUPLE/lammps_mc/README b/examples/COUPLE/lammps_mc/README new file mode 100644 index 0000000000..c201a6351c --- /dev/null +++ b/examples/COUPLE/lammps_mc/README @@ -0,0 +1,128 @@ +Sample Monte Carlo (MC) wrapper on LAMMPS via client/server coupling + +See the MESSAGE package (doc/Section_messages.html#MESSAGE) +and Section_howto.html#howto10 for more details on how +client/server coupling works in LAMMPS. + +In this dir, the mc.cpp/h files are a standalone "client" MC code. It +should be run on a single processor, though it could become a parallel +program at some point. LAMMPS is also run as a standalone executable +as a "server" on as many processors as desired using its "server mc" +command; see it's doc page for details. + +Messages are exchanged between MC and LAMMPS via a client/server +library (CSlib), which is included in the LAMMPS distribution in +lib/message. As explained below you can choose to exchange data +between the two programs either via files or sockets (ZMQ). If the MC +program became parallel, data could also be exchanged via MPI. + +The MC code makes simple MC moves, by displacing a single random atom +by a small random amount. It uses LAMMPS to calculate the energy +change, and to run dynamics between MC moves. + +---------------- + +Build LAMMPS with its MESSAGE package installed: + +See the Build extras doc page and its MESSAGE package +section for details. + +CMake: + +-D PKG_MESSAGE=yes # include the MESSAGE package +-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes + +Traditional make: + +% cd lammps/lib/message +% python Install.py -m -z # build CSlib with MPI and ZMQ support +% cd lammps/src +% make yes-message +% make mpi + +You can leave off the -z if you do not have ZMQ on your system. + +---------------- + +Build the MC client code + +The source files for the MC code are in this dir. It links with the +CSlib library in lib/message/cslib. + +You must first build the CSlib in serial mode, e.g. + +% cd lammps/lib/message/cslib/src +% make lib # build serial and parallel lib with ZMQ support +% make lib zmq=no # build serial and parallel lib without ZMQ support + +Then edit the Makefile in this dir. The CSLIB variable should be the +path to where the LAMMPS lib/message/cslib/src dir is on your system. +If you built the CSlib without ZMQ support you will also need to +comment/uncomment one line. Then you can just type + +% make + +and you should get an "mc" executable. + +---------------- + +To run in client/server mode: + +Both the client (MC) and server (LAMMPS) must use the same messaging +mode, namely file or zmq. This is an argument to the MC code; it can +be selected by setting the "mode" variable when you run LAMMPS. The +default mode = file. + +Here we assume LAMMPS was built to run in parallel, and the MESSAGE +package was installed with socket (ZMQ) support. This means either of +the messaging modes can be used and LAMMPS can be run in serial or +parallel. The MC code is always run in serial. + +When you run, the server should print out thermodynamic info +for every MD run it performs (between MC moves). The client +will print nothing until the simulation ends, then it will +print stats about the accepted MC moves. + +The examples below are commands you should use in two different +terminal windows. The order of the two commands (client or server +launch) does not matter. You can run them both in the same window if +you append a "&" character to the first one to run it in the +background. + +-------------- + +File mode of messaging: + +% mpirun -np 1 mc in.mc file tmp.couple +% mpirun -np 1 lmp_mpi -v mode file < in.mc.server + +% mpirun -np 1 mc in.mc file tmp.couple +% mpirun -np 4 lmp_mpi -v mode file < in.mc.server + +ZMQ mode of messaging: + +% mpirun -np 1 mc in.mc zmq localhost:5555 +% mpirun -np 1 lmp_mpi -v mode zmq < in.mc.server + +% mpirun -np 1 mc in.mc zmq localhost:5555 +% mpirun -np 4 lmp_mpi -v mode zmq < in.mc.server + +-------------- + +The input script for the MC program is in.mc. You can edit it to run +longer simulations. + +500 nsteps = total # of steps of MD +100 ndynamics = # of MD steps between MC moves +0.1 delta = displacement size of MC move +1.0 temperature = used in MC Boltzman factor +12345 seed = random number seed + +-------------- + +The problem size that LAMMPS is computing the MC energy for and +running dynamics on is set by the x,y,z variables in the LAMMPS +in.mc.server script. The default size is 500 particles. You can +adjust the size as follows: + +lmp_mpi -v x 10 -v y 10 -v z 20 # 8000 particles diff --git a/examples/COUPLE/lammps_mc/in.mc b/examples/COUPLE/lammps_mc/in.mc new file mode 100644 index 0000000000..85052d09f1 --- /dev/null +++ b/examples/COUPLE/lammps_mc/in.mc @@ -0,0 +1,7 @@ +# MC params + +500 nsteps +100 ndynamics +0.1 delta +1.0 temperature +12345 seed diff --git a/examples/COUPLE/lammps_mc/in.mc.server b/examples/COUPLE/lammps_mc/in.mc.server new file mode 100644 index 0000000000..8b10bb0f7b --- /dev/null +++ b/examples/COUPLE/lammps_mc/in.mc.server @@ -0,0 +1,36 @@ +# 3d Lennard-Jones Monte Carlo server script + +variable mode index file + +if "${mode} == file" then & + "message server mc file tmp.couple" & +elif "${mode} == zmq" & + "message server mc zmq *:5555" & + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +velocity all create 1.44 87287 loop geom + +fix 1 all nve + +thermo 50 + +server mc diff --git a/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.1 b/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.1 new file mode 100644 index 0000000000..0d67c89cf1 --- /dev/null +++ b/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.1 @@ -0,0 +1,254 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones Monte Carlo server script + +variable mode index file + +if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555" +message server mc file tmp.couple +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000649929 secs +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +velocity all create 1.44 87287 loop geom + +fix 1 all nve + +thermo 50 + +server mc +run 0 +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 +Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms + +93.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.146e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19500 ave 19500 max 19500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19500 +Ave neighs/atom = 39 +Neighbor list builds = 0 +Dangerous builds not checked +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 +Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms + +93.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.146e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19501 ave 19501 max 19501 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19501 +Ave neighs/atom = 39.002 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 + 50 0.70239211 -5.6763152 0 -4.6248342 0.59544428 + 100 0.7565013 -5.757431 0 -4.6249485 0.21982657 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.7565013 -5.7565768 0 -4.6240944 0.22436405 +Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms + +157.3% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.907e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1939 ave 1939 max 1939 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18757 ave 18757 max 18757 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18757 +Ave neighs/atom = 37.514 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.7565013 -5.757431 0 -4.6249485 0.21982657 + 150 0.76110797 -5.7664315 0 -4.6270529 0.16005254 + 200 0.73505651 -5.7266069 0 -4.6262273 0.34189744 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73505651 -5.7181381 0 -4.6177585 0.37629943 +Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms + +139.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.146e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1899 ave 1899 max 1899 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18699 ave 18699 max 18699 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18699 +Ave neighs/atom = 37.398 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73505651 -5.7266069 0 -4.6262273 0.34189744 + 250 0.73052476 -5.7206316 0 -4.627036 0.39287516 + 300 0.76300831 -5.7675007 0 -4.6252773 0.16312925 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76300831 -5.768304 0 -4.6260806 0.15954325 +Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms + +139.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.146e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1903 ave 1903 max 1903 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18715 ave 18715 max 18715 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18715 +Ave neighs/atom = 37.43 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76300831 -5.768304 0 -4.6260806 0.15954325 + 350 0.72993309 -5.7193261 0 -4.6266162 0.3358374 + 400 0.72469448 -5.713463 0 -4.6285954 0.44859547 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.72469448 -5.7077332 0 -4.6228655 0.47669832 +Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms + +157.3% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.907e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1899 ave 1899 max 1899 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18683 ave 18683 max 18683 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18683 +Ave neighs/atom = 37.366 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.72469448 -5.713463 0 -4.6285954 0.44859547 + 450 0.75305735 -5.7518283 0 -4.6245015 0.34658587 + 500 0.73092571 -5.7206337 0 -4.6264379 0.43715809 +Total wall time: 0:00:02 diff --git a/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.4 b/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.4 new file mode 100644 index 0000000000..2ae51d2461 --- /dev/null +++ b/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.4 @@ -0,0 +1,254 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones Monte Carlo server script + +variable mode index file + +if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555" +message server mc file tmp.couple +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000592947 secs +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +velocity all create 1.44 87287 loop geom + +fix 1 all nve + +thermo 50 + +server mc +run 0 +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 +Loop time of 3.8147e-06 on 4 procs for 0 steps with 500 atoms + +59.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.815e-06 | | |100.00 + +Nlocal: 125 ave 125 max 125 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1099 ave 1099 max 1099 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 4875 ave 4875 max 4875 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19500 +Ave neighs/atom = 39 +Neighbor list builds = 0 +Dangerous builds not checked +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 +Loop time of 3.03984e-06 on 4 procs for 0 steps with 500 atoms + +106.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.04e-06 | | |100.00 + +Nlocal: 125 ave 125 max 125 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1099 ave 1099 max 1099 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 4875.25 ave 4885 max 4866 min +Histogram: 1 0 0 0 2 0 0 0 0 1 + +Total # of neighbors = 19501 +Ave neighs/atom = 39.002 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 + 50 0.70210225 -5.6759068 0 -4.6248598 0.59609192 + 100 0.75891559 -5.7611234 0 -4.6250267 0.20841608 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291 +Loop time of 3.75509e-06 on 4 procs for 0 steps with 500 atoms + +113.2% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.755e-06 | | |100.00 + +Nlocal: 125 ave 126 max 124 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 1085.25 ave 1089 max 1079 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Neighs: 4690.25 ave 4996 max 4401 min +Histogram: 1 0 0 1 0 1 0 0 0 1 + +Total # of neighbors = 18761 +Ave neighs/atom = 37.522 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291 + 150 0.75437991 -5.7558622 0 -4.6265555 0.20681722 + 200 0.73111257 -5.7193748 0 -4.6248993 0.35230715 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73111257 -5.7143906 0 -4.6199151 0.37126023 +Loop time of 2.563e-06 on 4 procs for 0 steps with 500 atoms + +117.1% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.563e-06 | | |100.00 + +Nlocal: 125 ave 126 max 123 min +Histogram: 1 0 0 0 0 0 1 0 0 2 +Nghost: 1068.5 ave 1076 max 1063 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Neighs: 4674.75 ave 4938 max 4419 min +Histogram: 1 0 0 0 1 1 0 0 0 1 + +Total # of neighbors = 18699 +Ave neighs/atom = 37.398 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73111257 -5.7193748 0 -4.6248993 0.35230715 + 250 0.73873144 -5.7312505 0 -4.6253696 0.33061033 + 300 0.76392796 -5.7719207 0 -4.6283206 0.18197874 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628 +Loop time of 3.99351e-06 on 4 procs for 0 steps with 500 atoms + +93.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.994e-06 | | |100.00 + +Nlocal: 125 ave 128 max 121 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 1069 ave 1080 max 1055 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Neighs: 4672 ave 4803 max 4600 min +Histogram: 2 0 0 1 0 0 0 0 0 1 + +Total # of neighbors = 18688 +Ave neighs/atom = 37.376 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628 + 350 0.71953041 -5.7041632 0 -4.6270261 0.44866153 + 400 0.7319047 -5.7216051 0 -4.6259438 0.46321355 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.7319047 -5.7158168 0 -4.6201554 0.49192039 +Loop time of 3.57628e-06 on 4 procs for 0 steps with 500 atoms + +111.8% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.576e-06 | | |100.00 + +Nlocal: 125 ave 132 max 118 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 1057.5 ave 1068 max 1049 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 4685.75 ave 5045 max 4229 min +Histogram: 1 0 0 1 0 0 0 0 0 2 + +Total # of neighbors = 18743 +Ave neighs/atom = 37.486 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.7319047 -5.7216051 0 -4.6259438 0.46321355 + 450 0.74503154 -5.7405318 0 -4.6252196 0.33211879 + 500 0.70570501 -5.6824439 0 -4.6260035 0.62020788 +Total wall time: 0:00:02 diff --git a/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.1 b/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.1 new file mode 100644 index 0000000000..0565487bc6 --- /dev/null +++ b/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.1 @@ -0,0 +1,254 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones Monte Carlo server script + +variable mode index file + +if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555" +message server mc zmq *:5555 +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000741005 secs +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +velocity all create 1.44 87287 loop geom + +fix 1 all nve + +thermo 50 + +server mc +run 0 +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 +Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms + +52.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.907e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19500 ave 19500 max 19500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19500 +Ave neighs/atom = 39 +Neighbor list builds = 0 +Dangerous builds not checked +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 +Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms + +52.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.907e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19501 ave 19501 max 19501 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19501 +Ave neighs/atom = 39.002 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 + 50 0.70239211 -5.6763152 0 -4.6248342 0.59544428 + 100 0.7565013 -5.757431 0 -4.6249485 0.21982657 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.7565013 -5.7565768 0 -4.6240944 0.22436405 +Loop time of 1.19209e-06 on 1 procs for 0 steps with 500 atoms + +83.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 1.192e-06 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1939 ave 1939 max 1939 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18757 ave 18757 max 18757 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18757 +Ave neighs/atom = 37.514 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.7565013 -5.757431 0 -4.6249485 0.21982657 + 150 0.76110797 -5.7664315 0 -4.6270529 0.16005254 + 200 0.73505651 -5.7266069 0 -4.6262273 0.34189744 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73505651 -5.7181381 0 -4.6177585 0.37629943 +Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms + +209.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.537e-07 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1899 ave 1899 max 1899 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18699 ave 18699 max 18699 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18699 +Ave neighs/atom = 37.398 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73505651 -5.7266069 0 -4.6262273 0.34189744 + 250 0.73052476 -5.7206316 0 -4.627036 0.39287516 + 300 0.76300831 -5.7675007 0 -4.6252773 0.16312925 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76300831 -5.768304 0 -4.6260806 0.15954325 +Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms + +104.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.537e-07 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1903 ave 1903 max 1903 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18715 ave 18715 max 18715 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18715 +Ave neighs/atom = 37.43 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76300831 -5.768304 0 -4.6260806 0.15954325 + 350 0.72993309 -5.7193261 0 -4.6266162 0.3358374 + 400 0.72469448 -5.713463 0 -4.6285954 0.44859547 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.72469448 -5.7077332 0 -4.6228655 0.47669832 +Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms + +209.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.537e-07 | | |100.00 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1899 ave 1899 max 1899 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18683 ave 18683 max 18683 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18683 +Ave neighs/atom = 37.366 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.72469448 -5.713463 0 -4.6285954 0.44859547 + 450 0.75305735 -5.7518283 0 -4.6245015 0.34658587 + 500 0.73092571 -5.7206337 0 -4.6264379 0.43715809 +Total wall time: 0:00:00 diff --git a/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.4 b/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.4 new file mode 100644 index 0000000000..e74d03235d --- /dev/null +++ b/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.4 @@ -0,0 +1,254 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones Monte Carlo server script + +variable mode index file + +if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555" +message server mc zmq *:5555 +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000576019 secs +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +velocity all create 1.44 87287 loop geom + +fix 1 all nve + +thermo 50 + +server mc +run 0 +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 +Loop time of 4.76837e-06 on 4 procs for 0 steps with 500 atoms + +89.1% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 4.768e-06 | | |100.00 + +Nlocal: 125 ave 125 max 125 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1099 ave 1099 max 1099 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 4875 ave 4875 max 4875 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19500 +Ave neighs/atom = 39 +Neighbor list builds = 0 +Dangerous builds not checked +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 +Loop time of 3.45707e-06 on 4 procs for 0 steps with 500 atoms + +94.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.457e-06 | | |100.00 + +Nlocal: 125 ave 125 max 125 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1099 ave 1099 max 1099 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 4875.25 ave 4885 max 4866 min +Histogram: 1 0 0 0 2 0 0 0 0 1 + +Total # of neighbors = 19501 +Ave neighs/atom = 39.002 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7723127 0 -4.6166327 -5.015531 + 50 0.70210225 -5.6759068 0 -4.6248598 0.59609192 + 100 0.75891559 -5.7611234 0 -4.6250267 0.20841608 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291 +Loop time of 3.03984e-06 on 4 procs for 0 steps with 500 atoms + +115.1% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 3.04e-06 | | |100.00 + +Nlocal: 125 ave 126 max 124 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 1085.25 ave 1089 max 1079 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Neighs: 4690.25 ave 4996 max 4401 min +Histogram: 1 0 0 1 0 1 0 0 0 1 + +Total # of neighbors = 18761 +Ave neighs/atom = 37.522 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291 + 150 0.75437991 -5.7558622 0 -4.6265555 0.20681722 + 200 0.73111257 -5.7193748 0 -4.6248993 0.35230715 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73111257 -5.7143906 0 -4.6199151 0.37126023 +Loop time of 2.38419e-06 on 4 procs for 0 steps with 500 atoms + +125.8% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.384e-06 | | |100.00 + +Nlocal: 125 ave 126 max 123 min +Histogram: 1 0 0 0 0 0 1 0 0 2 +Nghost: 1068.5 ave 1076 max 1063 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Neighs: 4674.75 ave 4938 max 4419 min +Histogram: 1 0 0 0 1 1 0 0 0 1 + +Total # of neighbors = 18699 +Ave neighs/atom = 37.398 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 200 0.73111257 -5.7193748 0 -4.6248993 0.35230715 + 250 0.73873144 -5.7312505 0 -4.6253696 0.33061033 + 300 0.76392796 -5.7719207 0 -4.6283206 0.18197874 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628 +Loop time of 2.44379e-06 on 4 procs for 0 steps with 500 atoms + +112.5% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.444e-06 | | |100.00 + +Nlocal: 125 ave 128 max 121 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 1069 ave 1080 max 1055 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Neighs: 4672 ave 4803 max 4600 min +Histogram: 2 0 0 1 0 0 0 0 0 1 + +Total # of neighbors = 18688 +Ave neighs/atom = 37.376 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628 + 350 0.71953041 -5.7041632 0 -4.6270261 0.44866153 + 400 0.7319047 -5.7216051 0 -4.6259438 0.46321355 +run 0 +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.7319047 -5.7158168 0 -4.6201554 0.49192039 +Loop time of 2.14577e-06 on 4 procs for 0 steps with 500 atoms + +139.8% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.146e-06 | | |100.00 + +Nlocal: 125 ave 132 max 118 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 1057.5 ave 1068 max 1049 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 4685.75 ave 5045 max 4229 min +Histogram: 1 0 0 1 0 0 0 0 0 2 + +Total # of neighbors = 18743 +Ave neighs/atom = 37.486 +Neighbor list builds = 0 +Dangerous builds not checked +Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes +Step Temp E_pair E_mol TotEng Press + 400 0.7319047 -5.7216051 0 -4.6259438 0.46321355 + 450 0.74503154 -5.7405318 0 -4.6252196 0.33211879 + 500 0.70570501 -5.6824439 0 -4.6260035 0.62020788 +Total wall time: 0:00:00 diff --git a/examples/COUPLE/lammps_mc/mc.cpp b/examples/COUPLE/lammps_mc/mc.cpp new file mode 100644 index 0000000000..7c2e2ce039 --- /dev/null +++ b/examples/COUPLE/lammps_mc/mc.cpp @@ -0,0 +1,263 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov +------------------------------------------------------------------------- */ + +// MC code used with LAMMPS in client/server mode +// MC is the client, LAMMPS is the server + +// Syntax: mc infile mode modearg +// mode = file, zmq +// modearg = filename for file, localhost:5555 for zmq + +#include +#include +#include +#include +#include "mc.h" +#include "random_park.h" + +#include "cslib.h" +using namespace CSLIB_NS; + +void error(const char *); +CSlib *cs_create(char *, char *); + +#define MAXLINE 256 + +/* ---------------------------------------------------------------------- */ + +// main program + +int main(int narg, char **arg) +{ + if (narg != 4) { + error("Syntax: mc infile mode modearg"); + exit(1); + } + + // initialize CSlib + + CSlib *cs = cs_create(arg[2],arg[3]); + + // create MC class and perform run + + MC *mc = new MC(arg[1],cs); + mc->run(); + + // final MC stats + + int naccept = mc->naccept; + int nattempt = mc->nattempt; + + printf("------ MC stats ------\n"); + printf("MC attempts = %d\n",nattempt); + printf("MC accepts = %d\n",naccept); + printf("Acceptance ratio = %g\n",1.0*naccept/nattempt); + + // clean up + + delete cs; + delete mc; +} + +/* ---------------------------------------------------------------------- */ + +void error(const char *str) +{ + printf("ERROR: %s\n",str); + exit(1); +} + +/* ---------------------------------------------------------------------- */ + +CSlib *cs_create(char *mode, char *arg) +{ + CSlib *cs = new CSlib(0,mode,arg,NULL); + + // initial handshake to agree on protocol + + cs->send(0,1); + cs->pack_string(1,(char *) "mc"); + + int msgID,nfield; + int *fieldID,*fieldtype,*fieldlen; + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + + return cs; +} + +// ---------------------------------------------------------------------- +// MC class +// ---------------------------------------------------------------------- + +MC::MC(char *mcfile, void *cs_caller) +//MC::MC(char *mcfile, CSlib *cs_caller) +{ + cs_void = cs_caller; + + // setup MC params + + options(mcfile); + + // random # generator + + random = new RanPark(seed); +} + +/* ---------------------------------------------------------------------- */ + +MC::~MC() +{ + free(x); + delete random; +} + +/* ---------------------------------------------------------------------- */ + +void MC::run() +{ + int iatom,accept,msgID,nfield; + double pe_initial,pe_final,edelta; + double dx,dy,dz; + double xold[3],xnew[3]; + int *fieldID,*fieldtype,*fieldlen; + + enum{NATOMS=1,EINIT,DISPLACE,ACCEPT,RUN}; + + CSlib *cs = (CSlib *) cs_void; + + // one-time request for atom count from MD + // allocate 1d coord buffer + + cs->send(NATOMS,0); + + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + natoms = cs->unpack_int(1); + + x = (double *) malloc(3*natoms*sizeof(double)); + + // loop over MC moves + + naccept = nattempt = 0; + + for (int iloop = 0; iloop < nloop; iloop++) { + + // request current energy from MD + // recv energy, coords from MD + + cs->send(EINIT,0); + + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + pe_initial = cs->unpack_double(1); + double *x = (double *) cs->unpack(2); + + // perform simple MC event + // displace a single atom by random amount + + iatom = (int) natoms*random->uniform(); + xold[0] = x[3*iatom+0]; + xold[1] = x[3*iatom+1]; + xold[2] = x[3*iatom+2]; + + dx = 2.0*delta*random->uniform() - delta; + dy = 2.0*delta*random->uniform() - delta; + dz = 2.0*delta*random->uniform() - delta; + + xnew[0] = xold[0] + dx; + xnew[1] = xold[1] + dx; + xnew[2] = xold[2] + dx; + + // send atom ID and its new coords to MD + // recv new energy + + cs->send(DISPLACE,2); + cs->pack_int(1,iatom+1); + cs->pack(2,4,3,xnew); + + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + pe_final = cs->unpack_double(1); + + // decide whether to accept/reject MC event + + if (pe_final <= pe_initial) accept = 1; + else if (temperature == 0.0) accept = 0; + else if (random->uniform() > + exp(natoms*(pe_initial-pe_final)/temperature)) accept = 0; + else accept = 1; + + nattempt++; + if (accept) naccept++; + + // send accept (1) or reject (0) flag to MD + + cs->send(ACCEPT,1); + cs->pack_int(1,accept); + + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + + // send dynamics timesteps + + cs->send(RUN,1); + cs->pack_int(1,ndynamics); + + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + } + + // send exit message to MD + + cs->send(-1,0); + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); +} + +/* ---------------------------------------------------------------------- */ + +void MC::options(char *filename) +{ + // default params + + nsteps = 0; + ndynamics = 100; + delta = 0.1; + temperature = 1.0; + seed = 12345; + + // read and parse file + + FILE *fp = fopen(filename,"r"); + if (fp == NULL) error("Could not open MC file"); + + char line[MAXLINE]; + char *keyword,*value; + char *eof = fgets(line,MAXLINE,fp); + + while (eof) { + if (line[0] == '#') { // comment line + eof = fgets(line,MAXLINE,fp); + continue; + } + + value = strtok(line," \t\n\r\f"); + if (value == NULL) { // blank line + eof = fgets(line,MAXLINE,fp); + continue; + } + + keyword = strtok(NULL," \t\n\r\f"); + if (keyword == NULL) error("Missing keyword in MC file"); + + if (strcmp(keyword,"nsteps") == 0) nsteps = atoi(value); + else if (strcmp(keyword,"ndynamics") == 0) ndynamics = atoi(value); + else if (strcmp(keyword,"delta") == 0) delta = atof(value); + else if (strcmp(keyword,"temperature") == 0) temperature = atof(value); + else if (strcmp(keyword,"seed") == 0) seed = atoi(value); + else error("Unknown param in MC file"); + + eof = fgets(line,MAXLINE,fp); + } + + // derived params + + nloop = nsteps/ndynamics; +} diff --git a/examples/COUPLE/lammps_mc/mc.h b/examples/COUPLE/lammps_mc/mc.h new file mode 100644 index 0000000000..e9d88523fc --- /dev/null +++ b/examples/COUPLE/lammps_mc/mc.h @@ -0,0 +1,40 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov +------------------------------------------------------------------------- */ + +#ifndef MC_H +#define MC_H + +/* ---------------------------------------------------------------------- */ + +class MC { + public: + int naccept; // # of accepted MC events + int nattempt; // # of attempted MC events + + MC(char *, void *); + ~MC(); + void run(); + + private: + int nsteps; // total # of MD steps + int ndynamics; // steps in one short dynamics run + int nloop; // nsteps/ndynamics + int natoms; // # of MD atoms + + double delta; // MC displacement distance + double temperature; // MC temperature for Boltzmann criterion + double *x; // atom coords as 3N 1d vector + double energy; // global potential energy + + int seed; // RNG seed + class RanPark *random; + + void *cs_void; // messaging library + + void options(char *); +}; + +#endif diff --git a/examples/COUPLE/lammps_mc/random_park.cpp b/examples/COUPLE/lammps_mc/random_park.cpp new file mode 100644 index 0000000000..61ac18c6c0 --- /dev/null +++ b/examples/COUPLE/lammps_mc/random_park.cpp @@ -0,0 +1,72 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +// Park/Miller RNG + +#include +#include "random_park.h" +//#include "error.h" + +#define IA 16807 +#define IM 2147483647 +#define AM (1.0/IM) +#define IQ 127773 +#define IR 2836 + +/* ---------------------------------------------------------------------- */ + +RanPark::RanPark(int seed_init) +{ + //if (seed_init <= 0) + // error->one(FLERR,"Invalid seed for Park random # generator"); + seed = seed_init; + save = 0; +} + +/* ---------------------------------------------------------------------- + uniform RN +------------------------------------------------------------------------- */ + +double RanPark::uniform() +{ + int k = seed/IQ; + seed = IA*(seed-k*IQ) - IR*k; + if (seed < 0) seed += IM; + double ans = AM*seed; + return ans; +} + +/* ---------------------------------------------------------------------- + gaussian RN +------------------------------------------------------------------------- */ + +double RanPark::gaussian() +{ + double first,v1,v2,rsq,fac; + + if (!save) { + do { + v1 = 2.0*uniform()-1.0; + v2 = 2.0*uniform()-1.0; + rsq = v1*v1 + v2*v2; + } while ((rsq >= 1.0) || (rsq == 0.0)); + fac = sqrt(-2.0*log(rsq)/rsq); + second = v1*fac; + first = v2*fac; + save = 1; + } else { + first = second; + save = 0; + } + return first; +} diff --git a/examples/COUPLE/lammps_mc/random_park.h b/examples/COUPLE/lammps_mc/random_park.h new file mode 100644 index 0000000000..0dc2081768 --- /dev/null +++ b/examples/COUPLE/lammps_mc/random_park.h @@ -0,0 +1,28 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef RANPARK_H +#define RANPARK_H + +class RanPark { + public: + RanPark(int); + double uniform(); + double gaussian(); + + private: + int seed,save; + double second; +}; + +#endif diff --git a/examples/COUPLE/lammps_vasp/INCAR b/examples/COUPLE/lammps_vasp/INCAR new file mode 100644 index 0000000000..ac2358e5fb --- /dev/null +++ b/examples/COUPLE/lammps_vasp/INCAR @@ -0,0 +1,53 @@ +# Startparameter for this run: + NWRITE = 2 write-flag & timer + PREC = normal normal or accurate (medium, high low for compatibility) + ISTART = 0 job : 0-new 1-cont 2-samecut + ICHARG = 2 charge: 1-file 2-atom 10-const + ISPIN = 1 spin polarized calculation? + LSORBIT = F spin-orbit coupling + INIWAV = 1 electr: 0-lowe 1-rand 2-diag + +# Electronic Relaxation 1 + ENCUT = 600.0 eV #Plane wave energy cutoff + ENINI = 600.0 initial cutoff + NELM = 100; NELMIN= 2; NELMDL= -5 # of ELM steps + EDIFF = 0.1E-05 stopping-criterion for ELM +# Ionic relaxation + EDIFFG = 0.1E-02 stopping-criterion for IOM + NSW = 0 number of steps for IOM + NBLOCK = 1; KBLOCK = 1 inner block; outer block + IBRION = -1 ionic relax: 0-MD 1-quasi-New 2-CG #No ion relaxation with -1 + NFREE = 0 steps in history (QN), initial steepest desc. (CG) + ISIF = 2 stress and relaxation # 2: F-yes Sts-yes RlxIon-yes cellshape-no cellvol-no + IWAVPR = 10 prediction: 0-non 1-charg 2-wave 3-comb # 10: TMPCAR stored in memory rather than file + + POTIM = 0.5000 time-step for ionic-motion + TEBEG = 3500.0; TEEND = 3500.0 temperature during run # Finite Temperature variables if AI-MD is on + SMASS = -3.00 Nose mass-parameter (am) + estimated Nose-frequenzy (Omega) = 0.10E-29 period in steps =****** mass= -0.366E-27a.u. + PSTRESS= 0.0 pullay stress + +# DOS related values: + EMIN = 10.00; EMAX =-10.00 energy-range for DOS + EFERMI = 0.00 + ISMEAR = 0; SIGMA = 0.10 broadening in eV -4-tet -1-fermi 0-gaus + +# Electronic relaxation 2 (details) + IALGO = 48 algorithm + +# Write flags + LWAVE = T write WAVECAR + LCHARG = T write CHGCAR + LVTOT = F write LOCPOT, total local potential + LVHAR = F write LOCPOT, Hartree potential only + LELF = F write electronic localiz. function (ELF) + +# Dipole corrections + LMONO = F monopole corrections only (constant potential shift) + LDIPOL = F correct potential (dipole corrections) + IDIPOL = 0 1-x, 2-y, 3-z, 4-all directions + EPSILON= 1.0000000 bulk dielectric constant + +# Exchange correlation treatment: + GGA = -- GGA type + diff --git a/examples/COUPLE/lammps_vasp/KPOINTS b/examples/COUPLE/lammps_vasp/KPOINTS new file mode 100644 index 0000000000..322509da30 --- /dev/null +++ b/examples/COUPLE/lammps_vasp/KPOINTS @@ -0,0 +1,6 @@ +K-Points + 0 +Monkhorst Pack + 15 15 15 + 0 0 0 + diff --git a/examples/COUPLE/lammps_vasp/POSCAR_W b/examples/COUPLE/lammps_vasp/POSCAR_W new file mode 100644 index 0000000000..aba5df54a0 --- /dev/null +++ b/examples/COUPLE/lammps_vasp/POSCAR_W @@ -0,0 +1,11 @@ +W unit cell +1.0 +3.16 0.00000000 0.00000000 +0.00000000 3.16 0.00000000 +0.00000000 0.00000000 3.16 +W +2 +Direct + 0.00000000 0.00000000 0.00000000 + 0.50000000 0.50000000 0.50000000 + diff --git a/examples/COUPLE/lammps_vasp/README b/examples/COUPLE/lammps_vasp/README new file mode 100644 index 0000000000..e942d52535 --- /dev/null +++ b/examples/COUPLE/lammps_vasp/README @@ -0,0 +1,149 @@ +Sample LAMMPS MD wrapper on VASP quantum DFT via client/server +coupling + +See the MESSAGE package (doc/Section_messages.html#MESSAGE) and +Section_howto.html#howto10 for more details on how client/server +coupling works in LAMMPS. + +In this dir, the vasp_wrap.py is a wrapper on the VASP quantum DFT +code so it can work as a "server" code which LAMMPS drives as a +"client" code to perform ab initio MD. LAMMPS performs the MD +timestepping, sends VASP a current set of coordinates each timestep, +VASP computes forces and energy and virial and returns that info to +LAMMPS. + +Messages are exchanged between MC and LAMMPS via a client/server +library (CSlib), which is included in the LAMMPS distribution in +lib/message. As explained below you can choose to exchange data +between the two programs either via files or sockets (ZMQ). If the +vasp_wrap.py program became parallel, or the CSlib library calls were +integrated into VASP directly, then data could also be exchanged via +MPI. + +---------------- + +Build LAMMPS with its MESSAGE package installed: + +See the Build extras doc page and its MESSAGE package +section for details. + +CMake: + +-D PKG_MESSAGE=yes # include the MESSAGE package +-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes + +Traditional make: + +cd lammps/lib/message +python Install.py -m -z # build CSlib with MPI and ZMQ support +cd lammps/src +make yes-message +make mpi + +You can leave off the -z if you do not have ZMQ on your system. + +---------------- + +Build the CSlib in a form usable by the vasp_wrapper.py script: + +% cd lammps/lib/message/cslib/src +% make shlib # build serial and parallel shared lib with ZMQ support +% make shlib zmq=no # build serial and parallel shared lib w/out ZMQ support + +This will make a shared library versions of the CSlib, which Python +requires. Python must be able to find both the cslib.py script and +the libcsnompi.so library in your lammps/lib/message/cslib/src +directory. If it is not able to do this, you will get an error when +you run vasp_wrapper.py. + +You can do this by augmenting two environment variables, either +from the command line, or in your shell start-up script. +Here is the sample syntax for the csh or tcsh shells: + +setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/lammps/lib/message/cslib/src +setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/lib/message/cslib/src + +---------------- + +Prepare to use VASP and the vasp_wrapper.py script + +You can run the vasp_wrap.py script as-is to test that the coupling +between it and LAMMPS is functional. This will use the included +vasprun.xml file output by a previous VASP run. + +But note that the as-is version of vasp_wrap.py will not attempt to +run VASP. + +To do this, you must edit the 1st vaspcmd line at the top of +vasp_wrapper.py to be the launch command needed to run VASP on your +system. It can be a command to run VASP in serial or in parallel, +e.g. an mpirun command. Then comment out the 2nd vaspcmd line +immediately following it. + +Insure you have the necessary VASP input files in this +directory, suitable for the VASP calculation you want to perform: + +INCAR +KPOINTS +POSCAR_template +POTCAR + +Examples of all but the POTCAR file are provided. As explained below, +POSCAR_W is an input file for a 2-atom unit cell of tungsten and can +be used to test the LAMMPS/VASP coupling. The POTCAR file is a +proprietary VASP file, so use one from your VASP installation. + +Note that the POSCAR_template file should be matched to the LAMMPS +input script (# of atoms and atom types, box size, etc). The provided +POSCAR_W matches in.client.W. + +Once you run VASP yourself, the vasprun.xml file will be overwritten. + +---------------- + +To run in client/server mode: + +NOTE: The vasp_wrap.py script must be run with Python version 2, not +3. This is because it used the CSlib python wrapper, which only +supports version 2. We plan to upgrade CSlib to support Python 3. + +Both the client (LAMMPS) and server (vasp_wrap.py) must use the same +messaging mode, namely file or zmq. This is an argument to the +vasp_wrap.py code; it can be selected by setting the "mode" variable +when you run LAMMPS. The default mode = file. + +Here we assume LAMMPS was built to run in parallel, and the MESSAGE +package was installed with socket (ZMQ) support. This means either of +the messaging modes can be used and LAMMPS can be run in serial or +parallel. The vasp_wrap.py code is always run in serial, but it +launches VASP from Python via an mpirun command which can run VASP +itself in parallel. + +When you run, the server should print out thermodynamic info every +timestep which corresponds to the forces and virial computed by VASP. +VASP will also generate output files each timestep. The vasp_wrapper.py +script could be generalized to archive these. + +The examples below are commands you should use in two different +terminal windows. The order of the two commands (client or server +launch) does not matter. You can run them both in the same window if +you append a "&" character to the first one to run it in the +background. + +-------------- + +File mode of messaging: + +% mpirun -np 1 lmp_mpi -v mode file < in.client.W +% python vasp_wrap.py file POSCAR_W + +% mpirun -np 2 lmp_mpi -v mode file < in.client.W +% python vasp_wrap.py file POSCAR_W + +ZMQ mode of messaging: + +% mpirun -np 1 lmp_mpi -v mode zmq < in.client.W +% python vasp_wrap.py zmq POSCAR_W + +% mpirun -np 2 lmp_mpi -v mode zmq < in.client.W +% python vasp_wrap.py zmq POSCAR_W diff --git a/examples/COUPLE/lammps_vasp/data.W b/examples/COUPLE/lammps_vasp/data.W new file mode 100644 index 0000000000..8accd9ca79 --- /dev/null +++ b/examples/COUPLE/lammps_vasp/data.W @@ -0,0 +1,15 @@ +LAMMPS W data file + +2 atoms + +1 atom types + +0.0 3.16 xlo xhi +0.0 3.16 ylo yhi +0.0 3.16 zlo zhi + +Atoms + +1 1 0.000 0.000 0.000 +2 1 1.58 1.58 1.58 + diff --git a/examples/COUPLE/lammps_vasp/in.client.W b/examples/COUPLE/lammps_vasp/in.client.W new file mode 100644 index 0000000000..3eaf99dcbb --- /dev/null +++ b/examples/COUPLE/lammps_vasp/in.client.W @@ -0,0 +1,34 @@ +# small W unit cell for use with VASP + +variable mode index file + +if "${mode} == file" then & + "message client md file tmp.couple" & +elif "${mode} == zmq" & + "message client md zmq localhost:5555" & + +variable x index 1 +variable y index 1 +variable z index 1 + +units metal +atom_style atomic +atom_modify sort 0 0.0 map yes + +read_data data.W +mass 1 183.85 + +replicate $x $y $z + +velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 1 +run 3 + diff --git a/examples/COUPLE/lammps_vasp/log.client.output b/examples/COUPLE/lammps_vasp/log.client.output new file mode 100644 index 0000000000..fa8f4f920a --- /dev/null +++ b/examples/COUPLE/lammps_vasp/log.client.output @@ -0,0 +1,76 @@ +LAMMPS (22 Aug 2018) +# small W unit cell for use with VASP + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" +message client md zmq localhost:5555 +variable x index 1 +variable y index 1 +variable z index 1 + +units metal +atom_style atomic +atom_modify sort 0 0.0 map yes + +read_data data.W + orthogonal box = (0 0 0) to (3.16 3.16 3.16) + 1 by 1 by 2 MPI processor grid + reading atoms ... + 2 atoms +mass 1 183.85 + +replicate $x $y $z +replicate 1 $y $z +replicate 1 1 $z +replicate 1 1 1 + orthogonal box = (0 0 0) to (3.16 3.16 3.16) + 1 by 1 by 2 MPI processor grid + 2 atoms + Time spent = 0.000148058 secs + +velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 1 +run 3 +Per MPI rank memory allocation (min/avg/max) = 1.8 | 1.8 | 1.8 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 300 0 0 -48.030793 -78159.503 + 1 298.24318 0 0 -48.03102 -78167.19 + 2 296.85584 0 0 -48.031199 -78173.26 + 3 295.83795 0 0 -48.031331 -78177.714 +Loop time of 0.457491 on 2 procs for 3 steps with 2 atoms + +Performance: 0.567 ns/day, 42.360 hours/ns, 6.558 timesteps/s +50.1% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 1.3828e-05 | 2.9922e-05 | 4.6015e-05 | 0.0 | 0.01 +Output | 7.5817e-05 | 9.3937e-05 | 0.00011206 | 0.0 | 0.02 +Modify | 0.45735 | 0.45736 | 0.45736 | 0.0 | 99.97 +Other | | 1.204e-05 | | | 0.00 + +Nlocal: 1 ave 1 max 1 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 4 ave 4 max 4 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds not checked + +Total wall time: 0:01:21 diff --git a/examples/COUPLE/lammps_vasp/vasp_wrap.py b/examples/COUPLE/lammps_vasp/vasp_wrap.py new file mode 100644 index 0000000000..1e2c52aa46 --- /dev/null +++ b/examples/COUPLE/lammps_vasp/vasp_wrap.py @@ -0,0 +1,300 @@ +#!/usr/bin/env python + +# ---------------------------------------------------------------------- +# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +# http://lammps.sandia.gov, Sandia National Laboratories +# Steve Plimpton, sjplimp@sandia.gov +# ---------------------------------------------------------------------- + +# Syntax: vasp_wrap.py file/zmq POSCARfile + +# wrapper on VASP to act as server program using CSlib +# receives message with list of coords from client +# creates VASP inputs +# invokes VASP to calculate self-consistent energy of that config +# reads VASP outputs +# sends message with energy, forces, pressure to client + +# NOTES: +# check to insure basic VASP input files are in place? +# could archive VASP input/output in special filenames or dirs? +# need to check that POTCAR file is consistent with atom ordering? +# could make syntax for launching VASP more flexible +# e.g. command-line arg for # of procs +# detect if VASP had an error and return ERROR field, e.g. non-convergence ?? + +from __future__ import print_function +import sys + +version = sys.version_info[0] +if version == 3: + sys.exit("The CSlib python wrapper does not yet support python 3") + +import subprocess +import xml.etree.ElementTree as ET +from cslib import CSlib + +# comment out 2nd line once 1st line is correct for your system + +vaspcmd = "srun -N 1 --ntasks-per-node=4 " + \ + "-n 4 /projects/vasp/2017-build/cts1/vasp5.4.4/vasp_tfermi/bin/vasp_std" +vaspcmd = "touch tmp" + +# enums matching FixClientMD class in LAMMPS + +SETUP,STEP = range(1,2+1) +DIM,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE = range(1,10+1) +FORCES,ENERGY,VIRIAL,ERROR = range(1,4+1) + +# ------------------------------------- +# functions + +# error message and exit + +def error(txt): + print("ERROR:",txt) + sys.exit(1) + +# ------------------------------------- +# read initial VASP POSCAR file to setup problem +# return natoms,ntypes,box + +def vasp_setup(poscar): + + ps = open(poscar,'r').readlines() + + # box size + + words = ps[2].split() + xbox = float(words[0]) + words = ps[3].split() + ybox = float(words[1]) + words = ps[4].split() + zbox = float(words[2]) + box = [xbox,ybox,zbox] + + ntypes = 0 + natoms = 0 + words = ps[6].split() + for word in words: + if word == '#': break + ntypes += 1 + natoms += int(word) + + return natoms,ntypes,box + +# ------------------------------------- +# write a new POSCAR file for VASP + +def poscar_write(poscar,natoms,ntypes,types,coords,box): + + psold = open(poscar,'r').readlines() + psnew = open("POSCAR",'w') + + # header, including box size + + psnew.write(psold[0]) + psnew.write(psold[1]) + psnew.write("%g %g %g\n" % (box[0],box[1],box[2])) + psnew.write("%g %g %g\n" % (box[3],box[4],box[5])) + psnew.write("%g %g %g\n" % (box[6],box[7],box[8])) + psnew.write(psold[5]) + psnew.write(psold[6]) + + # per-atom coords + # grouped by types + + psnew.write("Cartesian\n") + + for itype in range(1,ntypes+1): + for i in range(natoms): + if types[i] != itype: continue + x = coords[3*i+0] + y = coords[3*i+1] + z = coords[3*i+2] + aline = " %g %g %g\n" % (x,y,z) + psnew.write(aline) + + psnew.close() + +# ------------------------------------- +# read a VASP output vasprun.xml file +# uses ElementTree module +# see https://docs.python.org/2/library/xml.etree.elementtree.html + +def vasprun_read(): + tree = ET.parse('vasprun.xml') + root = tree.getroot() + + #fp = open("vasprun.xml","r") + #root = ET.parse(fp) + + scsteps = root.findall('calculation/scstep') + energy = scsteps[-1].find('energy') + for child in energy: + if child.attrib["name"] == "e_0_energy": + eout = float(child.text) + + fout = [] + sout = [] + + varrays = root.findall('calculation/varray') + for varray in varrays: + if varray.attrib["name"] == "forces": + forces = varray.findall("v") + for line in forces: + fxyz = line.text.split() + fxyz = [float(value) for value in fxyz] + fout += fxyz + if varray.attrib["name"] == "stress": + tensor = varray.findall("v") + stensor = [] + for line in tensor: + sxyz = line.text.split() + sxyz = [float(value) for value in sxyz] + stensor.append(sxyz) + sxx = stensor[0][0] + syy = stensor[1][1] + szz = stensor[2][2] + # symmetrize off-diagonal components + sxy = 0.5 * (stensor[0][1] + stensor[1][0]) + sxz = 0.5 * (stensor[0][2] + stensor[2][0]) + syz = 0.5 * (stensor[1][2] + stensor[2][1]) + sout = [sxx,syy,szz,sxy,sxz,syz] + + #fp.close() + + return eout,fout,sout + +# ------------------------------------- +# main program + +# command-line args + +if len(sys.argv) != 3: + print("Syntax: python vasp_wrap.py file/zmq POSCARfile") + sys.exit(1) + +mode = sys.argv[1] +poscar_template = sys.argv[2] + +if mode == "file": cs = CSlib(1,mode,"tmp.couple",None) +elif mode == "zmq": cs = CSlib(1,mode,"*:5555",None) +else: + print("Syntax: python vasp_wrap.py file/zmq POSCARfile") + sys.exit(1) + +natoms,ntypes,box = vasp_setup(poscar_template) + +# initial message for MD protocol + +msgID,nfield,fieldID,fieldtype,fieldlen = cs.recv() +if msgID != 0: error("Bad initial client/server handshake") +protocol = cs.unpack_string(1) +if protocol != "md": error("Mismatch in client/server protocol") +cs.send(0,0) + +# endless server loop + +while 1: + + # recv message from client + # msgID = 0 = all-done message + + msgID,nfield,fieldID,fieldtype,fieldlen = cs.recv() + if msgID < 0: break + + # SETUP receive at beginning of each run + # required fields: DIM, PERIODICTY, ORIGIN, BOX, + # NATOMS, NTYPES, TYPES, COORDS + # optional fields: others in enum above, but VASP ignores them + + if msgID == SETUP: + + origin = [] + box = [] + natoms_recv = ntypes_recv = 0 + types = [] + coords = [] + + for field in fieldID: + if field == DIM: + dim = cs.unpack_int(DIM) + if dim != 3: error("VASP only performs 3d simulations") + elif field == PERIODICITY: + periodicity = cs.unpack(PERIODICITY,1) + if not periodicity[0] or not periodicity[1] or not periodicity[2]: + error("VASP wrapper only currently supports fully periodic systems") + elif field == ORIGIN: + origin = cs.unpack(ORIGIN,1) + elif field == BOX: + box = cs.unpack(BOX,1) + elif field == NATOMS: + natoms_recv = cs.unpack_int(NATOMS) + if natoms != natoms_recv: + error("VASP wrapper mis-match in number of atoms") + elif field == NTYPES: + ntypes_recv = cs.unpack_int(NTYPES) + if ntypes != ntypes_recv: + error("VASP wrapper mis-match in number of atom types") + elif field == TYPES: + types = cs.unpack(TYPES,1) + elif field == COORDS: + coords = cs.unpack(COORDS,1) + + if not origin or not box or not natoms or not ntypes or \ + not types or not coords: + error("Required VASP wrapper setup field not received"); + + # STEP receive at each timestep of run or minimization + # required fields: COORDS + # optional fields: ORIGIN, BOX + + elif msgID == STEP: + + coords = [] + + for field in fieldID: + if field == COORDS: + coords = cs.unpack(COORDS,1) + elif field == ORIGIN: + origin = cs.unpack(ORIGIN,1) + elif field == BOX: + box = cs.unpack(BOX,1) + + if not coords: error("Required VASP wrapper step field not received"); + + else: error("VASP wrapper received unrecognized message") + + # create POSCAR file + + poscar_write(poscar_template,natoms,ntypes,types,coords,box) + + # invoke VASP + + print("\nLaunching VASP ...") + print(vaspcmd) + subprocess.check_output(vaspcmd,stderr=subprocess.STDOUT,shell=True) + + # process VASP output + + energy,forces,virial = vasprun_read() + + # convert VASP kilobars to bars + + for i,value in enumerate(virial): virial[i] *= 1000.0 + + # return forces, energy, pressure to client + + cs.send(msgID,3); + cs.pack(FORCES,4,3*natoms,forces) + cs.pack_double(ENERGY,energy) + cs.pack(VIRIAL,4,6,virial) + +# final reply to client + +cs.send(0,0) + +# clean-up + +del cs diff --git a/examples/COUPLE/lammps_vasp/vasprun.xml b/examples/COUPLE/lammps_vasp/vasprun.xml new file mode 100644 index 0000000000..0f15c871b4 --- /dev/null +++ b/examples/COUPLE/lammps_vasp/vasprun.xml @@ -0,0 +1,12329 @@ + + + + vasp + 5.4.4.18Apr17-6-g9f103f2a35 + (build Aug 01 2017 10:32:50) complex parallel + LinuxIFC + 2017 12 19 + 15:22:45 + + + 0 + normal normal or accurate (medium, h + 48 + F + 1 + 2 + 1 + 100 + -5 + 2 + -1 + 0 + 0.00000100 + 0.00100000 + 0 + 2 + 10 + 1 + 1 + 600.00000000 + 600.00000000 + 0.50000000 + 3500.00000000 + 3500.00000000 + -3.00000000 + 10.00000000 + -10.00000000 + 0.00000000 + 0 + 0.10000000 + 2 + 0.00000000 + T + T + F + F + F + -1 0 0 0 + 100 + -- GGA type + F + F + 0 + 1.00000000 + + + + + 3.66961100 0.00000000 0.00000000 + 0.00000000 3.55744000 0.00000000 + 0.00000000 0.00000000 3.17678100 + + 41.47103646 + + 0.27250845 0.00000000 0.00000000 + 0.00000000 0.28110102 0.00000000 + 0.00000000 0.00000000 0.31478405 + + + + 0.00000000 0.00000000 0.00000000 + 0.00000000 -0.50000000 -0.50000000 + -0.50000000 0.00000000 -0.50000000 + -0.50000000 -0.50000000 0.00000000 + + + + 1 + 2 + 3 + 4 + + + + 15 15 15 + 0.00000000 0.00000000 0.00000000 + 0.06666667 0.00000000 0.00000000 + 0.00000000 0.06666667 0.00000000 + 0.00000000 0.00000000 0.06666667 + 0.00000000 0.00000000 0.00000000 + + + 0.00000000 0.00000000 0.00000000 + 0.06666667 0.00000000 0.00000000 + 0.13333333 0.00000000 0.00000000 + 0.20000000 0.00000000 0.00000000 + 0.26666667 0.00000000 0.00000000 + 0.33333333 0.00000000 0.00000000 + 0.40000000 0.00000000 0.00000000 + 0.46666667 0.00000000 0.00000000 + 0.00000000 0.06666667 0.00000000 + 0.06666667 0.06666667 0.00000000 + 0.13333333 0.06666667 0.00000000 + 0.20000000 0.06666667 0.00000000 + 0.26666667 0.06666667 0.00000000 + 0.33333333 0.06666667 0.00000000 + 0.40000000 0.06666667 0.00000000 + 0.46666667 0.06666667 0.00000000 + 0.00000000 0.13333333 0.00000000 + 0.06666667 0.13333333 0.00000000 + 0.13333333 0.13333333 0.00000000 + 0.20000000 0.13333333 0.00000000 + 0.26666667 0.13333333 0.00000000 + 0.33333333 0.13333333 0.00000000 + 0.40000000 0.13333333 0.00000000 + 0.46666667 0.13333333 0.00000000 + 0.00000000 0.20000000 0.00000000 + 0.06666667 0.20000000 0.00000000 + 0.13333333 0.20000000 0.00000000 + 0.20000000 0.20000000 0.00000000 + 0.26666667 0.20000000 0.00000000 + 0.33333333 0.20000000 0.00000000 + 0.40000000 0.20000000 0.00000000 + 0.46666667 0.20000000 0.00000000 + 0.00000000 0.26666667 0.00000000 + 0.06666667 0.26666667 0.00000000 + 0.13333333 0.26666667 0.00000000 + 0.20000000 0.26666667 0.00000000 + 0.26666667 0.26666667 0.00000000 + 0.33333333 0.26666667 0.00000000 + 0.40000000 0.26666667 0.00000000 + 0.46666667 0.26666667 0.00000000 + 0.00000000 0.33333333 0.00000000 + 0.06666667 0.33333333 0.00000000 + 0.13333333 0.33333333 0.00000000 + 0.20000000 0.33333333 0.00000000 + 0.26666667 0.33333333 0.00000000 + 0.33333333 0.33333333 0.00000000 + 0.40000000 0.33333333 0.00000000 + 0.46666667 0.33333333 0.00000000 + 0.00000000 0.40000000 0.00000000 + 0.06666667 0.40000000 0.00000000 + 0.13333333 0.40000000 0.00000000 + 0.20000000 0.40000000 0.00000000 + 0.26666667 0.40000000 0.00000000 + 0.33333333 0.40000000 0.00000000 + 0.40000000 0.40000000 0.00000000 + 0.46666667 0.40000000 0.00000000 + 0.00000000 0.46666667 0.00000000 + 0.06666667 0.46666667 0.00000000 + 0.13333333 0.46666667 0.00000000 + 0.20000000 0.46666667 0.00000000 + 0.26666667 0.46666667 0.00000000 + 0.33333333 0.46666667 0.00000000 + 0.40000000 0.46666667 0.00000000 + 0.46666667 0.46666667 0.00000000 + 0.00000000 0.00000000 0.06666667 + 0.06666667 0.00000000 0.06666667 + 0.13333333 0.00000000 0.06666667 + 0.20000000 0.00000000 0.06666667 + 0.26666667 0.00000000 0.06666667 + 0.33333333 0.00000000 0.06666667 + 0.40000000 0.00000000 0.06666667 + 0.46666667 0.00000000 0.06666667 + 0.00000000 0.06666667 0.06666667 + 0.06666667 0.06666667 0.06666667 + 0.13333333 0.06666667 0.06666667 + 0.20000000 0.06666667 0.06666667 + 0.26666667 0.06666667 0.06666667 + 0.33333333 0.06666667 0.06666667 + 0.40000000 0.06666667 0.06666667 + 0.46666667 0.06666667 0.06666667 + 0.00000000 0.13333333 0.06666667 + 0.06666667 0.13333333 0.06666667 + 0.13333333 0.13333333 0.06666667 + 0.20000000 0.13333333 0.06666667 + 0.26666667 0.13333333 0.06666667 + 0.33333333 0.13333333 0.06666667 + 0.40000000 0.13333333 0.06666667 + 0.46666667 0.13333333 0.06666667 + 0.00000000 0.20000000 0.06666667 + 0.06666667 0.20000000 0.06666667 + 0.13333333 0.20000000 0.06666667 + 0.20000000 0.20000000 0.06666667 + 0.26666667 0.20000000 0.06666667 + 0.33333333 0.20000000 0.06666667 + 0.40000000 0.20000000 0.06666667 + 0.46666667 0.20000000 0.06666667 + 0.00000000 0.26666667 0.06666667 + 0.06666667 0.26666667 0.06666667 + 0.13333333 0.26666667 0.06666667 + 0.20000000 0.26666667 0.06666667 + 0.26666667 0.26666667 0.06666667 + 0.33333333 0.26666667 0.06666667 + 0.40000000 0.26666667 0.06666667 + 0.46666667 0.26666667 0.06666667 + 0.00000000 0.33333333 0.06666667 + 0.06666667 0.33333333 0.06666667 + 0.13333333 0.33333333 0.06666667 + 0.20000000 0.33333333 0.06666667 + 0.26666667 0.33333333 0.06666667 + 0.33333333 0.33333333 0.06666667 + 0.40000000 0.33333333 0.06666667 + 0.46666667 0.33333333 0.06666667 + 0.00000000 0.40000000 0.06666667 + 0.06666667 0.40000000 0.06666667 + 0.13333333 0.40000000 0.06666667 + 0.20000000 0.40000000 0.06666667 + 0.26666667 0.40000000 0.06666667 + 0.33333333 0.40000000 0.06666667 + 0.40000000 0.40000000 0.06666667 + 0.46666667 0.40000000 0.06666667 + 0.00000000 0.46666667 0.06666667 + 0.06666667 0.46666667 0.06666667 + 0.13333333 0.46666667 0.06666667 + 0.20000000 0.46666667 0.06666667 + 0.26666667 0.46666667 0.06666667 + 0.33333333 0.46666667 0.06666667 + 0.40000000 0.46666667 0.06666667 + 0.46666667 0.46666667 0.06666667 + 0.00000000 0.00000000 0.13333333 + 0.06666667 0.00000000 0.13333333 + 0.13333333 0.00000000 0.13333333 + 0.20000000 0.00000000 0.13333333 + 0.26666667 0.00000000 0.13333333 + 0.33333333 0.00000000 0.13333333 + 0.40000000 0.00000000 0.13333333 + 0.46666667 0.00000000 0.13333333 + 0.00000000 0.06666667 0.13333333 + 0.06666667 0.06666667 0.13333333 + 0.13333333 0.06666667 0.13333333 + 0.20000000 0.06666667 0.13333333 + 0.26666667 0.06666667 0.13333333 + 0.33333333 0.06666667 0.13333333 + 0.40000000 0.06666667 0.13333333 + 0.46666667 0.06666667 0.13333333 + 0.00000000 0.13333333 0.13333333 + 0.06666667 0.13333333 0.13333333 + 0.13333333 0.13333333 0.13333333 + 0.20000000 0.13333333 0.13333333 + 0.26666667 0.13333333 0.13333333 + 0.33333333 0.13333333 0.13333333 + 0.40000000 0.13333333 0.13333333 + 0.46666667 0.13333333 0.13333333 + 0.00000000 0.20000000 0.13333333 + 0.06666667 0.20000000 0.13333333 + 0.13333333 0.20000000 0.13333333 + 0.20000000 0.20000000 0.13333333 + 0.26666667 0.20000000 0.13333333 + 0.33333333 0.20000000 0.13333333 + 0.40000000 0.20000000 0.13333333 + 0.46666667 0.20000000 0.13333333 + 0.00000000 0.26666667 0.13333333 + 0.06666667 0.26666667 0.13333333 + 0.13333333 0.26666667 0.13333333 + 0.20000000 0.26666667 0.13333333 + 0.26666667 0.26666667 0.13333333 + 0.33333333 0.26666667 0.13333333 + 0.40000000 0.26666667 0.13333333 + 0.46666667 0.26666667 0.13333333 + 0.00000000 0.33333333 0.13333333 + 0.06666667 0.33333333 0.13333333 + 0.13333333 0.33333333 0.13333333 + 0.20000000 0.33333333 0.13333333 + 0.26666667 0.33333333 0.13333333 + 0.33333333 0.33333333 0.13333333 + 0.40000000 0.33333333 0.13333333 + 0.46666667 0.33333333 0.13333333 + 0.00000000 0.40000000 0.13333333 + 0.06666667 0.40000000 0.13333333 + 0.13333333 0.40000000 0.13333333 + 0.20000000 0.40000000 0.13333333 + 0.26666667 0.40000000 0.13333333 + 0.33333333 0.40000000 0.13333333 + 0.40000000 0.40000000 0.13333333 + 0.46666667 0.40000000 0.13333333 + 0.00000000 0.46666667 0.13333333 + 0.06666667 0.46666667 0.13333333 + 0.13333333 0.46666667 0.13333333 + 0.20000000 0.46666667 0.13333333 + 0.26666667 0.46666667 0.13333333 + 0.33333333 0.46666667 0.13333333 + 0.40000000 0.46666667 0.13333333 + 0.46666667 0.46666667 0.13333333 + 0.00000000 0.00000000 0.20000000 + 0.06666667 0.00000000 0.20000000 + 0.13333333 0.00000000 0.20000000 + 0.20000000 0.00000000 0.20000000 + 0.26666667 0.00000000 0.20000000 + 0.33333333 0.00000000 0.20000000 + 0.40000000 0.00000000 0.20000000 + 0.46666667 0.00000000 0.20000000 + 0.00000000 0.06666667 0.20000000 + 0.06666667 0.06666667 0.20000000 + 0.13333333 0.06666667 0.20000000 + 0.20000000 0.06666667 0.20000000 + 0.26666667 0.06666667 0.20000000 + 0.33333333 0.06666667 0.20000000 + 0.40000000 0.06666667 0.20000000 + 0.46666667 0.06666667 0.20000000 + 0.00000000 0.13333333 0.20000000 + 0.06666667 0.13333333 0.20000000 + 0.13333333 0.13333333 0.20000000 + 0.20000000 0.13333333 0.20000000 + 0.26666667 0.13333333 0.20000000 + 0.33333333 0.13333333 0.20000000 + 0.40000000 0.13333333 0.20000000 + 0.46666667 0.13333333 0.20000000 + 0.00000000 0.20000000 0.20000000 + 0.06666667 0.20000000 0.20000000 + 0.13333333 0.20000000 0.20000000 + 0.20000000 0.20000000 0.20000000 + 0.26666667 0.20000000 0.20000000 + 0.33333333 0.20000000 0.20000000 + 0.40000000 0.20000000 0.20000000 + 0.46666667 0.20000000 0.20000000 + 0.00000000 0.26666667 0.20000000 + 0.06666667 0.26666667 0.20000000 + 0.13333333 0.26666667 0.20000000 + 0.20000000 0.26666667 0.20000000 + 0.26666667 0.26666667 0.20000000 + 0.33333333 0.26666667 0.20000000 + 0.40000000 0.26666667 0.20000000 + 0.46666667 0.26666667 0.20000000 + 0.00000000 0.33333333 0.20000000 + 0.06666667 0.33333333 0.20000000 + 0.13333333 0.33333333 0.20000000 + 0.20000000 0.33333333 0.20000000 + 0.26666667 0.33333333 0.20000000 + 0.33333333 0.33333333 0.20000000 + 0.40000000 0.33333333 0.20000000 + 0.46666667 0.33333333 0.20000000 + 0.00000000 0.40000000 0.20000000 + 0.06666667 0.40000000 0.20000000 + 0.13333333 0.40000000 0.20000000 + 0.20000000 0.40000000 0.20000000 + 0.26666667 0.40000000 0.20000000 + 0.33333333 0.40000000 0.20000000 + 0.40000000 0.40000000 0.20000000 + 0.46666667 0.40000000 0.20000000 + 0.00000000 0.46666667 0.20000000 + 0.06666667 0.46666667 0.20000000 + 0.13333333 0.46666667 0.20000000 + 0.20000000 0.46666667 0.20000000 + 0.26666667 0.46666667 0.20000000 + 0.33333333 0.46666667 0.20000000 + 0.40000000 0.46666667 0.20000000 + 0.46666667 0.46666667 0.20000000 + 0.00000000 0.00000000 0.26666667 + 0.06666667 0.00000000 0.26666667 + 0.13333333 0.00000000 0.26666667 + 0.20000000 0.00000000 0.26666667 + 0.26666667 0.00000000 0.26666667 + 0.33333333 0.00000000 0.26666667 + 0.40000000 0.00000000 0.26666667 + 0.46666667 0.00000000 0.26666667 + 0.00000000 0.06666667 0.26666667 + 0.06666667 0.06666667 0.26666667 + 0.13333333 0.06666667 0.26666667 + 0.20000000 0.06666667 0.26666667 + 0.26666667 0.06666667 0.26666667 + 0.33333333 0.06666667 0.26666667 + 0.40000000 0.06666667 0.26666667 + 0.46666667 0.06666667 0.26666667 + 0.00000000 0.13333333 0.26666667 + 0.06666667 0.13333333 0.26666667 + 0.13333333 0.13333333 0.26666667 + 0.20000000 0.13333333 0.26666667 + 0.26666667 0.13333333 0.26666667 + 0.33333333 0.13333333 0.26666667 + 0.40000000 0.13333333 0.26666667 + 0.46666667 0.13333333 0.26666667 + 0.00000000 0.20000000 0.26666667 + 0.06666667 0.20000000 0.26666667 + 0.13333333 0.20000000 0.26666667 + 0.20000000 0.20000000 0.26666667 + 0.26666667 0.20000000 0.26666667 + 0.33333333 0.20000000 0.26666667 + 0.40000000 0.20000000 0.26666667 + 0.46666667 0.20000000 0.26666667 + 0.00000000 0.26666667 0.26666667 + 0.06666667 0.26666667 0.26666667 + 0.13333333 0.26666667 0.26666667 + 0.20000000 0.26666667 0.26666667 + 0.26666667 0.26666667 0.26666667 + 0.33333333 0.26666667 0.26666667 + 0.40000000 0.26666667 0.26666667 + 0.46666667 0.26666667 0.26666667 + 0.00000000 0.33333333 0.26666667 + 0.06666667 0.33333333 0.26666667 + 0.13333333 0.33333333 0.26666667 + 0.20000000 0.33333333 0.26666667 + 0.26666667 0.33333333 0.26666667 + 0.33333333 0.33333333 0.26666667 + 0.40000000 0.33333333 0.26666667 + 0.46666667 0.33333333 0.26666667 + 0.00000000 0.40000000 0.26666667 + 0.06666667 0.40000000 0.26666667 + 0.13333333 0.40000000 0.26666667 + 0.20000000 0.40000000 0.26666667 + 0.26666667 0.40000000 0.26666667 + 0.33333333 0.40000000 0.26666667 + 0.40000000 0.40000000 0.26666667 + 0.46666667 0.40000000 0.26666667 + 0.00000000 0.46666667 0.26666667 + 0.06666667 0.46666667 0.26666667 + 0.13333333 0.46666667 0.26666667 + 0.20000000 0.46666667 0.26666667 + 0.26666667 0.46666667 0.26666667 + 0.33333333 0.46666667 0.26666667 + 0.40000000 0.46666667 0.26666667 + 0.46666667 0.46666667 0.26666667 + 0.00000000 0.00000000 0.33333333 + 0.06666667 0.00000000 0.33333333 + 0.13333333 0.00000000 0.33333333 + 0.20000000 0.00000000 0.33333333 + 0.26666667 0.00000000 0.33333333 + 0.33333333 0.00000000 0.33333333 + 0.40000000 0.00000000 0.33333333 + 0.46666667 0.00000000 0.33333333 + 0.00000000 0.06666667 0.33333333 + 0.06666667 0.06666667 0.33333333 + 0.13333333 0.06666667 0.33333333 + 0.20000000 0.06666667 0.33333333 + 0.26666667 0.06666667 0.33333333 + 0.33333333 0.06666667 0.33333333 + 0.40000000 0.06666667 0.33333333 + 0.46666667 0.06666667 0.33333333 + 0.00000000 0.13333333 0.33333333 + 0.06666667 0.13333333 0.33333333 + 0.13333333 0.13333333 0.33333333 + 0.20000000 0.13333333 0.33333333 + 0.26666667 0.13333333 0.33333333 + 0.33333333 0.13333333 0.33333333 + 0.40000000 0.13333333 0.33333333 + 0.46666667 0.13333333 0.33333333 + 0.00000000 0.20000000 0.33333333 + 0.06666667 0.20000000 0.33333333 + 0.13333333 0.20000000 0.33333333 + 0.20000000 0.20000000 0.33333333 + 0.26666667 0.20000000 0.33333333 + 0.33333333 0.20000000 0.33333333 + 0.40000000 0.20000000 0.33333333 + 0.46666667 0.20000000 0.33333333 + 0.00000000 0.26666667 0.33333333 + 0.06666667 0.26666667 0.33333333 + 0.13333333 0.26666667 0.33333333 + 0.20000000 0.26666667 0.33333333 + 0.26666667 0.26666667 0.33333333 + 0.33333333 0.26666667 0.33333333 + 0.40000000 0.26666667 0.33333333 + 0.46666667 0.26666667 0.33333333 + 0.00000000 0.33333333 0.33333333 + 0.06666667 0.33333333 0.33333333 + 0.13333333 0.33333333 0.33333333 + 0.20000000 0.33333333 0.33333333 + 0.26666667 0.33333333 0.33333333 + 0.33333333 0.33333333 0.33333333 + 0.40000000 0.33333333 0.33333333 + 0.46666667 0.33333333 0.33333333 + 0.00000000 0.40000000 0.33333333 + 0.06666667 0.40000000 0.33333333 + 0.13333333 0.40000000 0.33333333 + 0.20000000 0.40000000 0.33333333 + 0.26666667 0.40000000 0.33333333 + 0.33333333 0.40000000 0.33333333 + 0.40000000 0.40000000 0.33333333 + 0.46666667 0.40000000 0.33333333 + 0.00000000 0.46666667 0.33333333 + 0.06666667 0.46666667 0.33333333 + 0.13333333 0.46666667 0.33333333 + 0.20000000 0.46666667 0.33333333 + 0.26666667 0.46666667 0.33333333 + 0.33333333 0.46666667 0.33333333 + 0.40000000 0.46666667 0.33333333 + 0.46666667 0.46666667 0.33333333 + 0.00000000 0.00000000 0.40000000 + 0.06666667 0.00000000 0.40000000 + 0.13333333 0.00000000 0.40000000 + 0.20000000 0.00000000 0.40000000 + 0.26666667 0.00000000 0.40000000 + 0.33333333 0.00000000 0.40000000 + 0.40000000 0.00000000 0.40000000 + 0.46666667 0.00000000 0.40000000 + 0.00000000 0.06666667 0.40000000 + 0.06666667 0.06666667 0.40000000 + 0.13333333 0.06666667 0.40000000 + 0.20000000 0.06666667 0.40000000 + 0.26666667 0.06666667 0.40000000 + 0.33333333 0.06666667 0.40000000 + 0.40000000 0.06666667 0.40000000 + 0.46666667 0.06666667 0.40000000 + 0.00000000 0.13333333 0.40000000 + 0.06666667 0.13333333 0.40000000 + 0.13333333 0.13333333 0.40000000 + 0.20000000 0.13333333 0.40000000 + 0.26666667 0.13333333 0.40000000 + 0.33333333 0.13333333 0.40000000 + 0.40000000 0.13333333 0.40000000 + 0.46666667 0.13333333 0.40000000 + 0.00000000 0.20000000 0.40000000 + 0.06666667 0.20000000 0.40000000 + 0.13333333 0.20000000 0.40000000 + 0.20000000 0.20000000 0.40000000 + 0.26666667 0.20000000 0.40000000 + 0.33333333 0.20000000 0.40000000 + 0.40000000 0.20000000 0.40000000 + 0.46666667 0.20000000 0.40000000 + 0.00000000 0.26666667 0.40000000 + 0.06666667 0.26666667 0.40000000 + 0.13333333 0.26666667 0.40000000 + 0.20000000 0.26666667 0.40000000 + 0.26666667 0.26666667 0.40000000 + 0.33333333 0.26666667 0.40000000 + 0.40000000 0.26666667 0.40000000 + 0.46666667 0.26666667 0.40000000 + 0.00000000 0.33333333 0.40000000 + 0.06666667 0.33333333 0.40000000 + 0.13333333 0.33333333 0.40000000 + 0.20000000 0.33333333 0.40000000 + 0.26666667 0.33333333 0.40000000 + 0.33333333 0.33333333 0.40000000 + 0.40000000 0.33333333 0.40000000 + 0.46666667 0.33333333 0.40000000 + 0.00000000 0.40000000 0.40000000 + 0.06666667 0.40000000 0.40000000 + 0.13333333 0.40000000 0.40000000 + 0.20000000 0.40000000 0.40000000 + 0.26666667 0.40000000 0.40000000 + 0.33333333 0.40000000 0.40000000 + 0.40000000 0.40000000 0.40000000 + 0.46666667 0.40000000 0.40000000 + 0.00000000 0.46666667 0.40000000 + 0.06666667 0.46666667 0.40000000 + 0.13333333 0.46666667 0.40000000 + 0.20000000 0.46666667 0.40000000 + 0.26666667 0.46666667 0.40000000 + 0.33333333 0.46666667 0.40000000 + 0.40000000 0.46666667 0.40000000 + 0.46666667 0.46666667 0.40000000 + 0.00000000 0.00000000 0.46666667 + 0.06666667 0.00000000 0.46666667 + 0.13333333 0.00000000 0.46666667 + 0.20000000 0.00000000 0.46666667 + 0.26666667 0.00000000 0.46666667 + 0.33333333 0.00000000 0.46666667 + 0.40000000 0.00000000 0.46666667 + 0.46666667 0.00000000 0.46666667 + 0.00000000 0.06666667 0.46666667 + 0.06666667 0.06666667 0.46666667 + 0.13333333 0.06666667 0.46666667 + 0.20000000 0.06666667 0.46666667 + 0.26666667 0.06666667 0.46666667 + 0.33333333 0.06666667 0.46666667 + 0.40000000 0.06666667 0.46666667 + 0.46666667 0.06666667 0.46666667 + 0.00000000 0.13333333 0.46666667 + 0.06666667 0.13333333 0.46666667 + 0.13333333 0.13333333 0.46666667 + 0.20000000 0.13333333 0.46666667 + 0.26666667 0.13333333 0.46666667 + 0.33333333 0.13333333 0.46666667 + 0.40000000 0.13333333 0.46666667 + 0.46666667 0.13333333 0.46666667 + 0.00000000 0.20000000 0.46666667 + 0.06666667 0.20000000 0.46666667 + 0.13333333 0.20000000 0.46666667 + 0.20000000 0.20000000 0.46666667 + 0.26666667 0.20000000 0.46666667 + 0.33333333 0.20000000 0.46666667 + 0.40000000 0.20000000 0.46666667 + 0.46666667 0.20000000 0.46666667 + 0.00000000 0.26666667 0.46666667 + 0.06666667 0.26666667 0.46666667 + 0.13333333 0.26666667 0.46666667 + 0.20000000 0.26666667 0.46666667 + 0.26666667 0.26666667 0.46666667 + 0.33333333 0.26666667 0.46666667 + 0.40000000 0.26666667 0.46666667 + 0.46666667 0.26666667 0.46666667 + 0.00000000 0.33333333 0.46666667 + 0.06666667 0.33333333 0.46666667 + 0.13333333 0.33333333 0.46666667 + 0.20000000 0.33333333 0.46666667 + 0.26666667 0.33333333 0.46666667 + 0.33333333 0.33333333 0.46666667 + 0.40000000 0.33333333 0.46666667 + 0.46666667 0.33333333 0.46666667 + 0.00000000 0.40000000 0.46666667 + 0.06666667 0.40000000 0.46666667 + 0.13333333 0.40000000 0.46666667 + 0.20000000 0.40000000 0.46666667 + 0.26666667 0.40000000 0.46666667 + 0.33333333 0.40000000 0.46666667 + 0.40000000 0.40000000 0.46666667 + 0.46666667 0.40000000 0.46666667 + 0.00000000 0.46666667 0.46666667 + 0.06666667 0.46666667 0.46666667 + 0.13333333 0.46666667 0.46666667 + 0.20000000 0.46666667 0.46666667 + 0.26666667 0.46666667 0.46666667 + 0.33333333 0.46666667 0.46666667 + 0.40000000 0.46666667 0.46666667 + 0.46666667 0.46666667 0.46666667 + + + 0.00029630 + 0.00059259 + 0.00059259 + 0.00059259 + 0.00059259 + 0.00059259 + 0.00059259 + 0.00059259 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00059259 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00118519 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + 0.00237037 + + + + + unknown system + F + + + normal + 600.00000000 + 1293.44900000 + 0.00000100 + 48 + 10 + 18 + 26.00000000 + 0 + 0 + 0 + 0 + 0.00000000 + + 0 + 0.10000000 + 0.50000000 + T + + + F + 0.00000000 0.00000000 + -100 + 2 + F + + + 0 + 2 + 1 + + + 1 + F + 1.00000000 1.00000000 1.00000000 1.00000000 + -1.00000000 + F + 0.00000000 0.00000000 1.00000000 + F + 0.00000000 0.00000000 0.00000000 + F + + + F + F + + + 100 + -5 + 2 + 600.00000000 + + T + F + 0.00000000 + 0.00000001 + 0.30000000 + 4 + 0.40000000 + + + + 0.40000000 + 1.00000000 + 0.10000000 + 1.60000000 + 1.00000000 + + 4 + F + -45 + 100.00000000 + 1 + 1 + 5 + + + + F + F + 0 + 1.00000000 + -100.00000000 -100.00000000 -100.00000000 + 0.00000000 + + + + 24 + 24 + 20 + 48 + 48 + 40 + F + + + 0 + -1 + 0 + 2 + 0.00000000 + 0.00100000 + 0 + 0.50000000 + -3.00000000 + 1.00000000 + + + 3500.00000000 + 3500.00000000 + 1 + 1 + 256 + 16.00000000 + + + 2 + 0.00001000 + + + 0 + -1.00000000 -1.00000000 + 301 + 10.00000000 + -10.00000000 + 0.00000000 + + + 2 + T + F + T + F + F + F + F + F + 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 + + + 9 + 4 + -1 + T + T + F + F + F + F + + + 3 + 0 + F + 183.85000000 9.01300000 + 0.00000000 0.00000000 + 1.00000000 1.00000000 + T + + T + F + 0 + F + 0 + + -- + 0 + F + + F + F + F + F + F + -1.00000000 + 0 + 0 + 0.00000000 + 0.00000000 + 0.00000000 + 1.00000000 + 1.00000000 + 1.00000000 + 1.00000000 + 1 + 1 + 1 + F + F + F + 0 + 0 + F + 0.00000000 + 0.00000000 + 0 + + + F + -0.84910000 + 0.12340000 + 1.00000000 + 0.00000000 + + + 0 + 6.22065547 + 1.00000000 + + + F + F + F + F + 0 + 0.10000000 + -1.00000000 + 0.00200000 + -0.10000000 + 0.00000000 + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 + + + F + 0.00000000 0.00000000 0.00000000 + T + F + F + F + T + 0 + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.00000000 + + + F + F + F + T + 0 + -1 0 0 0 + F + F + F + F + F + 2 + F + F + F + -2.00000000 + -2.00000000 + -1.00000000 + -1 + 0.00000000 + 0 + 0 + -1 + -1 + -1 + 100 + 1 + 3 + 0 + -30.00000000 + -30.00000000 + -200.00000000 + 140 + -0.10000000 + F + F + F + F + F + F + F + 1 + 1 + 1 + 2800 + 0 + 1 + -1 + 1.00000000 + + + 0.00000000 + 0.00000000 0.00000000 0.00000000 + 0.00000000 + 0.00000000 + 0.00000000 + + + + 4 + 2 + + ion + element + atomtype + + W 1 + Be 2 + Be 2 + Be 2 + + + + type + atomspertype + element + mass + valence + pseudopotential + + 1W 183.85000000 14.00000000 PAW_PBE W_sv_GW 23Mar2010 + 3Be 9.01300000 4.00000000 PAW_PBE Be_sv_GW 31Mar2010 + + + + + + + 3.66961100 0.00000000 0.00000000 + 0.00000000 3.55744000 0.00000000 + 0.00000000 0.00000000 3.17678100 + + 41.47103646 + + 0.27250845 0.00000000 0.00000000 + 0.00000000 0.28110102 0.00000000 + 0.00000000 0.00000000 0.31478405 + + + + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.50000000 0.50000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.50000000 0.00000000 + + + + + + + + + + 131.43308500 + -1959.85115532 + -527.41646070 + 35.33916255 + 1941.62980019 + -1939.43826086 + -0.00530052 + -1293.52360327 + 3036.59145287 + -575.24128006 + -575.23597954 + -575.23862980 + + + + + + + + + 102.38566418 + 102.39047960 + 102.38807189 + + + + + + + + + -28.97782713 + -28.97098459 + -28.97440586 + + + + + + + + + -49.69418359 + -49.68840810 + -49.69129585 + + + + + + + + + -51.91588940 + -51.91302415 + -51.91445678 + + + + + + + + + -48.35881744 + -48.35566410 + -48.35724077 + + + + + + + + + -48.54575148 + -48.54295784 + -48.54435466 + + + + + + + + + -48.07609882 + -48.07342458 + -48.07476170 + + + + + + + + + -48.12313644 + -48.12026988 + -48.12170316 + + + + + + + + + -48.09347519 + -48.09050147 + -48.09198833 + + + + + + + + + -48.07191482 + -48.06891772 + -48.07041627 + + + + + + + + + -48.07102791 + -48.06801376 + -48.06952083 + + + + + + + + + -48.07113736 + -48.06809293 + -48.06961515 + + + + + + + + + -48.07118539 + -48.06814100 + -48.06966319 + + + + + + + + + -48.07110546 + -48.06805494 + -48.06958020 + + + + + + + + + -48.07109869 + -48.06804980 + -48.06957425 + + + + + + + + + -48.07109883 + -48.06804872 + -48.06957377 + + + + + + + + + -48.07109628 + -48.06804655 + -48.06957141 + + + + + + + + + 131.43308500 + -1959.85115532 + -480.61520692 + 33.47431066 + 3204.45646866 + -3203.57677692 + -0.00304986 + -809.98022412 + 3036.59145287 + -48.07109596 + -48.06804610 + -48.06957103 + + + + + + 3.66961100 0.00000000 0.00000000 + 0.00000000 3.55744000 0.00000000 + 0.00000000 0.00000000 3.17678100 + + 41.47103646 + + 0.27250845 0.00000000 0.00000000 + 0.00000000 0.28110102 0.00000000 + 0.00000000 0.00000000 0.31478405 + + + + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.50000000 0.50000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.50000000 0.00000000 + + + + 0.1 -0.2 -0.3 + 0.4 -0.5 -0.6 + + + -214.84833704 0.00000000 0.00000000 + 0.00000000 -123.75352996 0.00000000 + 0.00000000 -0.00000000 100.18545515 + + + -48.07109596 + -48.06957103 + -0.00304986 + + + + + band + kpoint + spin + eigene + occ + + + + -91.8804 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7478 1.0000 + -30.0216 1.0000 + -29.9884 1.0000 + -29.8113 1.0000 + -2.0041 1.0000 + 4.4237 1.0000 + 4.8277 1.0000 + 6.4981 1.0000 + 6.9617 1.0000 + 8.1586 0.0000 + 8.8821 0.0000 + 8.9648 0.0000 + 9.0855 0.0000 + 13.1593 0.0000 + 14.6689 0.0000 + + + -91.8808 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7478 1.0000 + -30.0237 1.0000 + -29.9882 1.0000 + -29.8111 1.0000 + -1.9535 1.0000 + 4.3336 1.0000 + 4.8001 1.0000 + 6.5232 1.0000 + 6.7555 1.0000 + 8.3862 0.0000 + 8.4025 0.0000 + 8.9705 0.0000 + 9.5855 0.0000 + 13.3605 0.0000 + 14.6572 0.0000 + + + -91.8814 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7477 1.0000 + -30.0297 1.0000 + -29.9877 1.0000 + -29.8105 1.0000 + -1.8058 1.0000 + 4.0326 1.0000 + 4.7589 1.0000 + 6.3613 1.0000 + 6.6323 1.0000 + 7.8755 0.5410 + 8.8446 0.0000 + 8.9868 0.0000 + 10.1754 0.0000 + 14.0117 0.0000 + 14.7252 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7475 1.0000 + -30.0383 1.0000 + -29.9868 1.0000 + -29.8096 1.0000 + -1.5620 1.0000 + 3.5407 1.0000 + 4.7314 1.0000 + 5.9618 1.0000 + 6.8672 1.0000 + 7.4063 1.0000 + 9.0110 0.0000 + 9.3490 0.0000 + 10.7563 0.0000 + 14.0913 0.0000 + 15.1642 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7473 1.0000 + -30.0481 1.0000 + -29.9858 1.0000 + -29.8086 1.0000 + -1.2340 1.0000 + 2.9354 1.0000 + 4.7102 1.0000 + 5.6128 1.0000 + 7.0130 1.0000 + 7.2261 1.0000 + 9.0390 0.0000 + 9.8394 0.0000 + 11.3191 0.0000 + 14.0352 0.0000 + 15.4144 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7471 1.0000 + -30.0576 1.0000 + -29.9848 1.0000 + -29.8076 1.0000 + -0.8326 1.0000 + 2.2914 1.0000 + 4.6917 1.0000 + 5.3376 1.0000 + 6.7081 1.0000 + 7.6717 0.9986 + 9.0662 0.0000 + 10.2804 0.0000 + 11.8535 0.0000 + 13.4527 0.0000 + 14.9300 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7470 1.0000 + -30.0651 1.0000 + -29.9841 1.0000 + -29.8068 1.0000 + -0.3829 1.0000 + 1.6674 1.0000 + 4.6772 1.0000 + 5.1483 1.0000 + 6.5003 1.0000 + 8.1260 0.0003 + 9.0876 0.0000 + 10.6305 0.0000 + 12.3305 0.0000 + 12.9072 0.0000 + 15.1709 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7470 1.0000 + -30.0692 1.0000 + -29.9837 1.0000 + -29.8064 1.0000 + 0.0259 1.0000 + 1.1640 1.0000 + 4.6691 1.0000 + 5.0521 1.0000 + 6.3951 1.0000 + 8.4419 0.0000 + 9.0994 0.0000 + 10.8329 0.0000 + 12.5866 0.0000 + 12.7497 0.0000 + 15.0542 0.0000 + + + -91.8808 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7478 1.0000 + -30.0213 1.0000 + -29.9915 1.0000 + -29.8110 1.0000 + -1.9529 1.0000 + 4.3901 1.0000 + 4.7755 1.0000 + 6.3415 1.0000 + 6.9388 1.0000 + 8.3265 0.0000 + 8.4311 0.0000 + 8.8898 0.0000 + 9.6264 0.0000 + 13.5937 0.0000 + 14.7192 0.0000 + + + -91.8807 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7477 1.0000 + -30.0234 1.0000 + -29.9912 1.0000 + -29.8108 1.0000 + -1.9023 1.0000 + 4.3246 1.0000 + 4.7293 1.0000 + 6.2087 1.0000 + 6.9819 1.0000 + 8.2546 0.0000 + 8.4565 0.0000 + 8.8007 0.0000 + 9.9214 0.0000 + 13.6485 0.0000 + 14.6504 0.0000 + + + -91.8811 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7476 1.0000 + -30.0294 1.0000 + -29.9906 1.0000 + -29.8102 1.0000 + -1.7528 1.0000 + 4.0516 1.0000 + 4.6663 1.0000 + 5.9785 1.0000 + 7.0276 1.0000 + 7.8427 0.7144 + 8.7719 0.0000 + 8.8056 0.0000 + 10.4508 0.0000 + 14.3989 0.0000 + 15.1127 0.0000 + + + -91.8807 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7474 1.0000 + -30.0379 1.0000 + -29.9898 1.0000 + -29.8093 1.0000 + -1.5097 1.0000 + 3.5587 1.0000 + 4.6450 1.0000 + 5.7408 1.0000 + 7.1387 1.0000 + 7.4085 1.0000 + 8.7921 0.0000 + 9.2640 0.0000 + 11.0130 0.0000 + 14.0760 0.0000 + 15.2142 0.0000 + + + -91.8804 1.0000 + -91.4252 1.0000 + -91.2903 1.0000 + -65.7472 1.0000 + -30.0478 1.0000 + -29.9888 1.0000 + -29.8083 1.0000 + -1.1815 1.0000 + 2.9494 1.0000 + 4.6412 1.0000 + 5.4944 1.0000 + 7.0285 1.0000 + 7.3926 1.0000 + 8.8271 0.0000 + 9.7408 0.0000 + 11.5692 0.0000 + 13.8620 0.0000 + 14.8771 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7471 1.0000 + -30.0573 1.0000 + -29.9878 1.0000 + -29.8073 1.0000 + -0.7815 1.0000 + 2.3062 1.0000 + 4.6436 1.0000 + 5.2669 1.0000 + 6.7293 1.0000 + 7.7653 0.9516 + 8.8638 0.0000 + 10.1806 0.0000 + 12.1051 0.0000 + 13.3952 0.0000 + 14.8765 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7470 1.0000 + -30.0648 1.0000 + -29.9871 1.0000 + -29.8065 1.0000 + -0.3310 1.0000 + 1.6815 1.0000 + 4.6514 1.0000 + 5.0908 1.0000 + 6.5240 1.0000 + 8.1695 0.0000 + 8.8934 0.0000 + 10.5364 0.0000 + 12.5997 0.0000 + 12.8998 0.0000 + 15.5154 0.0000 + + + -91.8813 1.0000 + -91.4263 1.0000 + -91.2913 1.0000 + -65.7469 1.0000 + -30.0689 1.0000 + -29.9867 1.0000 + -29.8062 1.0000 + 0.0847 1.0000 + 1.1741 1.0000 + 4.6613 1.0000 + 4.9916 1.0000 + 6.4197 1.0000 + 8.4555 0.0000 + 8.9099 0.0000 + 10.7473 0.0000 + 12.4480 0.0000 + 12.9600 0.0000 + 14.8774 0.0000 + + + -91.8810 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7476 1.0000 + -30.0204 1.0000 + -29.9998 1.0000 + -29.8102 1.0000 + -1.7946 1.0000 + 4.2094 1.0000 + 4.6772 1.0000 + 5.9995 1.0000 + 6.9517 1.0000 + 7.8739 0.5498 + 8.7041 0.0000 + 8.9110 0.0000 + 10.2112 0.0000 + 14.2659 0.0000 + 14.8795 0.0000 + + + -91.8814 1.0000 + -91.4263 1.0000 + -91.2912 1.0000 + -65.7476 1.0000 + -30.0226 1.0000 + -29.9996 1.0000 + -29.8099 1.0000 + -1.7450 1.0000 + 4.2129 1.0000 + 4.5661 1.0000 + 5.8355 1.0000 + 7.1501 1.0000 + 7.8382 0.7357 + 8.7026 0.0000 + 8.7336 0.0000 + 10.4623 0.0000 + 13.8631 0.0000 + 14.8598 0.0000 + + + -91.8810 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7475 1.0000 + -30.0285 1.0000 + -29.9991 1.0000 + -29.8093 1.0000 + -1.5968 1.0000 + 4.0989 1.0000 + 4.3522 1.0000 + 5.6129 1.0000 + 7.4328 1.0000 + 7.6870 0.9972 + 8.4839 0.0000 + 8.7940 0.0000 + 10.9754 0.0000 + 14.1029 0.0000 + 15.2039 0.0000 + + + -91.8810 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7473 1.0000 + -30.0371 1.0000 + -29.9982 1.0000 + -29.8084 1.0000 + -1.3533 1.0000 + 3.5980 1.0000 + 4.3620 1.0000 + 5.4512 1.0000 + 7.3952 1.0000 + 7.5979 1.0000 + 8.3845 0.0000 + 9.0910 0.0000 + 11.5502 0.0000 + 14.7238 0.0000 + 15.9954 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7471 1.0000 + -30.0470 1.0000 + -29.9972 1.0000 + -29.8074 1.0000 + -1.0273 1.0000 + 2.9802 1.0000 + 4.4181 1.0000 + 5.2968 1.0000 + 7.0683 1.0000 + 7.7534 0.9663 + 8.3858 0.0000 + 9.5100 0.0000 + 12.1157 0.0000 + 13.7017 0.0000 + 16.0755 0.0000 + + + -91.8811 1.0000 + -91.4260 1.0000 + -91.2911 1.0000 + -65.7470 1.0000 + -30.0566 1.0000 + -29.9963 1.0000 + -29.8065 1.0000 + -0.6301 1.0000 + 2.3392 1.0000 + 4.4826 1.0000 + 5.1281 1.0000 + 6.7895 1.0000 + 7.9927 0.0600 + 8.4203 0.0000 + 9.9342 0.0000 + 12.6686 0.0000 + 14.6904 0.0000 + 16.3415 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7468 1.0000 + -30.0640 1.0000 + -29.9955 1.0000 + -29.8057 1.0000 + -0.1783 1.0000 + 1.7219 1.0000 + 4.5543 1.0000 + 4.9634 1.0000 + 6.5924 1.0000 + 8.2811 0.0000 + 8.4564 0.0000 + 10.2930 0.0000 + 12.6655 0.0000 + 13.2024 0.0000 + 15.4432 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7467 1.0000 + -30.0681 1.0000 + -29.9951 1.0000 + -29.8053 1.0000 + 0.2566 1.0000 + 1.2033 1.0000 + 4.6272 1.0000 + 4.8360 1.0000 + 6.4912 1.0000 + 8.4783 0.0000 + 8.4935 0.0000 + 10.5194 0.0000 + 12.2814 0.0000 + 13.6544 0.0000 + 14.8524 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7473 1.0000 + -30.0191 1.0000 + -30.0121 1.0000 + -29.8089 1.0000 + -1.5376 1.0000 + 3.7788 1.0000 + 4.6305 1.0000 + 5.6232 1.0000 + 7.1210 1.0000 + 7.3732 1.0000 + 8.9428 0.0000 + 9.1443 0.0000 + 10.7771 0.0000 + 14.0933 0.0000 + 15.6423 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7473 1.0000 + -30.0213 1.0000 + -30.0119 1.0000 + -29.8086 1.0000 + -1.4880 1.0000 + 3.7961 1.0000 + 4.5072 1.0000 + 5.5227 1.0000 + 7.3126 1.0000 + 7.3745 1.0000 + 8.7532 0.0000 + 9.0824 0.0000 + 11.0146 0.0000 + 13.9004 0.0000 + 15.4021 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7472 1.0000 + -30.0271 1.0000 + -30.0113 1.0000 + -29.8080 1.0000 + -1.3394 1.0000 + 3.8230 1.0000 + 4.1696 1.0000 + 5.3756 1.0000 + 7.3639 1.0000 + 7.6935 0.9963 + 8.3844 0.0000 + 8.9738 0.0000 + 11.5333 0.0000 + 14.0395 0.0000 + 15.4431 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7470 1.0000 + -30.0358 1.0000 + -30.0105 1.0000 + -29.8072 1.0000 + -1.1004 1.0000 + 3.5412 1.0000 + 4.0159 1.0000 + 5.2627 1.0000 + 7.2896 1.0000 + 7.9988 0.0504 + 8.0788 0.0028 + 9.0073 0.0000 + 12.1244 0.0000 + 13.7520 0.0000 + 16.7152 0.0000 + + + -91.8807 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7468 1.0000 + -30.0459 1.0000 + -30.0096 1.0000 + -29.8061 1.0000 + -0.7790 1.0000 + 2.9721 1.0000 + 4.1076 1.0000 + 5.1462 1.0000 + 7.1030 1.0000 + 7.9500 0.1708 + 8.1422 0.0001 + 9.2822 0.0000 + 12.7110 0.0000 + 13.3886 0.0000 + 15.6710 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7467 1.0000 + -30.0554 1.0000 + -30.0087 1.0000 + -29.8053 1.0000 + -0.3863 1.0000 + 2.3710 1.0000 + 4.2299 1.0000 + 5.0035 1.0000 + 6.8764 1.0000 + 7.9435 0.1954 + 8.2650 0.0000 + 9.6513 0.0000 + 12.8907 0.0000 + 13.2663 0.0000 + 15.5200 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7465 1.0000 + -30.0629 1.0000 + -30.0079 1.0000 + -29.8045 1.0000 + 0.0623 1.0000 + 1.7821 1.0000 + 4.3653 1.0000 + 4.8399 1.0000 + 6.6971 1.0000 + 7.9722 0.1031 + 8.4241 0.0000 + 9.9878 0.0000 + 12.3795 0.0000 + 13.7744 0.0000 + 15.4918 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7464 1.0000 + -30.0669 1.0000 + -30.0075 1.0000 + -29.8040 1.0000 + 0.5200 1.0000 + 1.2543 1.0000 + 4.5122 1.0000 + 4.6723 1.0000 + 6.6015 1.0000 + 7.9946 0.0570 + 8.5494 0.0000 + 10.2089 0.0000 + 12.0275 0.0000 + 14.4133 0.0000 + 15.6167 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2908 1.0000 + -65.7470 1.0000 + -30.0263 1.0000 + -30.0177 1.0000 + -29.8073 1.0000 + -1.1910 1.0000 + 3.1811 1.0000 + 4.6122 1.0000 + 5.2814 1.0000 + 6.9503 1.0000 + 7.4746 1.0000 + 8.9798 0.0000 + 9.5814 0.0000 + 11.3283 0.0000 + 13.6460 0.0000 + 15.5948 0.0000 + + + -91.8811 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7470 1.0000 + -30.0261 1.0000 + -30.0198 1.0000 + -29.8072 1.0000 + -1.1414 1.0000 + 3.1889 1.0000 + 4.5083 1.0000 + 5.2434 1.0000 + 6.9639 1.0000 + 7.6097 0.9999 + 8.7962 0.0000 + 9.4992 0.0000 + 11.5568 0.0000 + 13.6608 0.0000 + 15.2250 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7469 1.0000 + -30.0257 1.0000 + -30.0255 1.0000 + -29.8066 1.0000 + -0.9957 1.0000 + 3.1942 1.0000 + 4.2418 1.0000 + 5.1757 1.0000 + 7.0004 1.0000 + 7.9287 0.2579 + 8.4011 0.0000 + 9.3080 0.0000 + 12.0788 0.0000 + 13.5578 0.0000 + 15.2519 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7467 1.0000 + -30.0345 1.0000 + -30.0247 1.0000 + -29.8057 1.0000 + -0.7602 1.0000 + 3.1062 1.0000 + 3.9790 1.0000 + 5.1030 1.0000 + 7.0431 1.0000 + 7.9901 0.0646 + 8.2728 0.0000 + 9.1426 0.0000 + 12.6730 0.0000 + 13.3289 0.0000 + 15.7896 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7465 1.0000 + -30.0445 1.0000 + -30.0237 1.0000 + -29.8047 1.0000 + -0.4475 1.0000 + 2.8028 1.0000 + 3.9098 1.0000 + 5.0079 1.0000 + 7.0489 1.0000 + 7.6784 0.9981 + 8.4720 0.0000 + 9.1821 0.0000 + 12.9563 0.0000 + 13.5965 0.0000 + 17.2388 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7463 1.0000 + -30.0541 1.0000 + -30.0228 1.0000 + -29.8038 1.0000 + -0.0679 1.0000 + 2.3493 1.0000 + 3.9944 1.0000 + 4.8777 1.0000 + 6.9573 1.0000 + 7.5462 1.0000 + 8.5230 0.0000 + 9.4304 0.0000 + 12.4873 0.0000 + 13.6262 0.0000 + 16.0306 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2897 1.0000 + -65.7461 1.0000 + -30.0615 1.0000 + -30.0221 1.0000 + -29.8030 1.0000 + 0.3633 1.0000 + 1.8487 1.0000 + 4.1415 1.0000 + 4.7166 1.0000 + 6.8214 1.0000 + 7.5399 1.0000 + 8.5695 0.0000 + 9.7014 0.0000 + 12.0422 0.0000 + 13.9068 0.0000 + 16.1837 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7461 1.0000 + -30.0656 1.0000 + -30.0217 1.0000 + -29.8026 1.0000 + 0.8283 1.0000 + 1.3477 1.0000 + 4.3004 1.0000 + 4.5506 1.0000 + 6.7365 1.0000 + 7.5567 1.0000 + 8.6157 0.0000 + 9.8832 0.0000 + 11.7458 0.0000 + 14.0429 0.0000 + 16.0539 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7468 1.0000 + -30.0398 1.0000 + -30.0163 1.0000 + -29.8059 1.0000 + -0.7675 1.0000 + 2.5196 1.0000 + 4.5999 1.0000 + 5.0061 1.0000 + 6.6208 1.0000 + 7.9708 0.1066 + 9.0157 0.0000 + 9.9775 0.0000 + 11.8614 0.0000 + 13.1993 0.0000 + 15.3650 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7467 1.0000 + -30.0395 1.0000 + -30.0184 1.0000 + -29.8057 1.0000 + -0.7188 1.0000 + 2.5262 1.0000 + 4.5193 1.0000 + 4.9986 1.0000 + 6.6392 1.0000 + 8.0523 0.0083 + 8.8426 0.0000 + 9.8894 0.0000 + 12.0868 0.0000 + 13.1663 0.0000 + 16.1220 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7466 1.0000 + -30.0390 1.0000 + -30.0243 1.0000 + -29.8052 1.0000 + -0.5758 1.0000 + 2.5363 1.0000 + 4.3168 1.0000 + 4.9744 1.0000 + 6.6919 1.0000 + 8.2598 0.0000 + 8.4520 0.0000 + 9.6694 0.0000 + 12.6304 0.0000 + 13.0732 0.0000 + 15.6443 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7465 1.0000 + -30.0382 1.0000 + -30.0332 1.0000 + -29.8043 1.0000 + -0.3483 1.0000 + 2.5183 1.0000 + 4.0832 1.0000 + 4.9265 1.0000 + 6.7709 1.0000 + 8.0186 0.0274 + 8.5126 0.0000 + 9.4183 0.0000 + 12.8043 0.0000 + 13.1910 0.0000 + 15.7181 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7462 1.0000 + -30.0432 1.0000 + -30.0373 1.0000 + -29.8034 1.0000 + -0.0478 1.0000 + 2.4216 1.0000 + 3.9190 1.0000 + 4.8440 1.0000 + 6.8610 1.0000 + 7.6333 0.9998 + 8.7054 0.0000 + 9.2656 0.0000 + 12.4562 0.0000 + 13.6001 0.0000 + 16.2032 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7460 1.0000 + -30.0528 1.0000 + -30.0364 1.0000 + -29.8024 1.0000 + 0.3045 1.0000 + 2.2066 1.0000 + 3.8869 1.0000 + 4.7195 1.0000 + 6.9324 1.0000 + 7.3479 1.0000 + 8.7335 0.0000 + 9.3281 0.0000 + 12.0629 0.0000 + 13.7569 0.0000 + 16.5710 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7459 1.0000 + -30.0602 1.0000 + -30.0357 1.0000 + -29.8017 1.0000 + 0.6908 1.0000 + 1.8937 1.0000 + 3.9664 1.0000 + 4.5594 1.0000 + 6.9277 1.0000 + 7.2186 1.0000 + 8.6985 0.0000 + 9.4867 0.0000 + 11.7099 0.0000 + 13.7542 0.0000 + 16.7032 0.0000 + + + -91.8786 1.0000 + -91.4236 1.0000 + -91.2886 1.0000 + -65.7457 1.0000 + -30.0642 1.0000 + -30.0352 1.0000 + -29.8012 1.0000 + 1.0768 1.0000 + 1.5402 1.0000 + 4.0958 1.0000 + 4.3989 1.0000 + 6.8746 1.0000 + 7.2086 1.0000 + 8.6828 0.0000 + 9.6000 0.0000 + 11.4903 0.0000 + 13.7171 0.0000 + 16.6030 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7465 1.0000 + -30.0502 1.0000 + -30.0152 1.0000 + -29.8048 1.0000 + -0.2969 1.0000 + 1.8722 1.0000 + 4.5904 1.0000 + 4.8147 1.0000 + 6.3956 1.0000 + 8.5207 0.0000 + 9.0442 0.0000 + 10.2923 0.0000 + 12.3631 0.0000 + 12.6799 0.0000 + 15.4633 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7465 1.0000 + -30.0501 1.0000 + -30.0173 1.0000 + -29.8046 1.0000 + -0.2476 1.0000 + 1.8793 1.0000 + 4.5376 1.0000 + 4.8080 1.0000 + 6.4159 1.0000 + 8.5593 0.0000 + 8.8804 0.0000 + 10.2052 0.0000 + 12.5854 0.0000 + 12.5895 0.0000 + 14.7751 0.0000 + + + -91.8814 1.0000 + -91.4264 1.0000 + -91.2914 1.0000 + -65.7464 1.0000 + -30.0496 1.0000 + -30.0233 1.0000 + -29.8041 1.0000 + -0.1045 1.0000 + 1.8964 1.0000 + 4.3983 1.0000 + 4.7846 1.0000 + 6.4746 1.0000 + 8.5014 0.0000 + 8.6596 0.0000 + 9.9796 0.0000 + 12.4726 0.0000 + 13.1496 0.0000 + 15.1815 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7462 1.0000 + -30.0487 1.0000 + -30.0321 1.0000 + -29.8032 1.0000 + 0.1204 1.0000 + 1.9197 1.0000 + 4.2177 1.0000 + 4.7361 1.0000 + 6.5646 1.0000 + 8.0702 0.0040 + 8.7844 0.0000 + 9.6958 0.0000 + 12.2586 0.0000 + 13.7021 0.0000 + 15.4427 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7460 1.0000 + -30.0478 1.0000 + -30.0422 1.0000 + -29.8023 1.0000 + 0.4035 1.0000 + 1.9363 1.0000 + 4.0468 1.0000 + 4.6515 1.0000 + 6.6739 1.0000 + 7.6760 0.9983 + 8.8822 0.0000 + 9.4477 0.0000 + 11.9748 0.0000 + 13.8742 0.0000 + 16.0112 0.0000 + + + -91.8797 1.0000 + -91.4248 1.0000 + -91.2897 1.0000 + -65.7458 1.0000 + -30.0517 1.0000 + -30.0469 1.0000 + -29.8013 1.0000 + 0.7108 1.0000 + 1.9297 1.0000 + 3.9336 1.0000 + 4.5238 1.0000 + 6.7857 1.0000 + 7.3592 1.0000 + 8.8793 0.0000 + 9.3398 0.0000 + 11.6821 0.0000 + 13.7440 0.0000 + 16.5307 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7456 1.0000 + -30.0593 1.0000 + -30.0463 1.0000 + -29.8006 1.0000 + 0.9965 1.0000 + 1.8877 1.0000 + 3.9039 1.0000 + 4.3616 1.0000 + 6.8809 1.0000 + 7.1374 1.0000 + 8.7963 0.0000 + 9.3615 0.0000 + 11.4387 0.0000 + 13.5583 0.0000 + 16.9470 0.0000 + + + -91.8787 1.0000 + -91.4238 1.0000 + -91.2887 1.0000 + -65.7455 1.0000 + -30.0632 1.0000 + -30.0459 1.0000 + -29.8002 1.0000 + 1.1916 1.0000 + 1.8308 1.0000 + 3.9520 1.0000 + 4.2094 1.0000 + 6.9473 1.0000 + 7.0123 1.0000 + 8.7381 0.0000 + 9.3978 0.0000 + 11.2989 0.0000 + 13.4437 0.0000 + 16.5925 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7463 1.0000 + -30.0559 1.0000 + -30.0145 1.0000 + -29.8042 1.0000 + 0.1293 1.0000 + 1.3542 1.0000 + 4.5849 1.0000 + 4.7168 1.0000 + 6.2814 1.0000 + 8.9385 0.0000 + 9.0598 0.0000 + 10.4726 0.0000 + 12.1850 0.0000 + 12.8255 0.0000 + 15.1774 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7463 1.0000 + -30.0557 1.0000 + -30.0167 1.0000 + -29.8040 1.0000 + 0.1836 1.0000 + 1.3565 1.0000 + 4.5671 1.0000 + 4.6874 1.0000 + 6.3024 1.0000 + 8.9015 0.0000 + 8.9469 0.0000 + 10.3933 0.0000 + 12.1353 0.0000 + 13.0125 0.0000 + 15.3429 0.0000 + + + -91.8806 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7462 1.0000 + -30.0552 1.0000 + -30.0227 1.0000 + -29.8035 1.0000 + 0.3435 1.0000 + 1.3655 1.0000 + 4.4967 1.0000 + 4.6242 1.0000 + 6.3631 1.0000 + 8.5307 0.0000 + 8.9685 0.0000 + 10.1791 0.0000 + 12.0342 0.0000 + 13.5893 0.0000 + 16.0045 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7460 1.0000 + -30.0544 1.0000 + -30.0315 1.0000 + -29.8026 1.0000 + 0.5914 1.0000 + 1.3832 1.0000 + 4.3674 1.0000 + 4.5524 1.0000 + 6.4562 1.0000 + 8.1044 0.0009 + 8.9932 0.0000 + 9.8884 0.0000 + 11.8622 0.0000 + 14.2861 0.0000 + 15.0487 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7459 1.0000 + -30.0535 1.0000 + -30.0416 1.0000 + -29.8017 1.0000 + 0.8833 1.0000 + 1.4308 1.0000 + 4.2192 1.0000 + 4.4522 1.0000 + 6.5696 1.0000 + 7.7127 0.9919 + 9.0016 0.0000 + 9.5963 0.0000 + 11.6488 0.0000 + 14.0297 0.0000 + 15.9577 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7457 1.0000 + -30.0528 1.0000 + -30.0512 1.0000 + -29.8008 1.0000 + 1.1157 1.0000 + 1.5761 1.0000 + 4.0844 1.0000 + 4.3103 1.0000 + 6.6854 1.0000 + 7.3974 1.0000 + 8.9559 0.0000 + 9.3894 0.0000 + 11.4424 0.0000 + 13.7001 0.0000 + 16.5151 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7455 1.0000 + -30.0587 1.0000 + -30.0521 1.0000 + -29.8000 1.0000 + 1.2081 1.0000 + 1.8399 1.0000 + 3.9754 1.0000 + 4.1492 1.0000 + 6.7823 1.0000 + 7.1786 1.0000 + 8.8498 0.0000 + 9.3109 0.0000 + 11.2830 0.0000 + 13.4354 0.0000 + 16.6304 0.0000 + + + -91.8793 1.0000 + -91.4243 1.0000 + -91.2893 1.0000 + -65.7454 1.0000 + -30.0627 1.0000 + -30.0518 1.0000 + -29.7996 1.0000 + 1.2328 1.0000 + 2.0507 1.0000 + 3.8985 1.0000 + 4.0417 1.0000 + 6.8389 1.0000 + 7.0660 1.0000 + 8.7690 0.0000 + 9.2970 0.0000 + 11.2437 0.0000 + 14.1131 0.0000 + 18.0681 0.0000 + + + -91.8804 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7474 1.0000 + -30.0205 1.0000 + -29.9874 1.0000 + -29.8211 1.0000 + -1.9380 1.0000 + 4.4295 1.0000 + 4.8508 1.0000 + 6.3792 1.0000 + 6.8138 1.0000 + 8.1771 0.0000 + 8.8386 0.0000 + 8.9434 0.0000 + 9.0466 0.0000 + 13.4689 0.0000 + 14.8465 0.0000 + + + -91.8802 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7474 1.0000 + -30.0226 1.0000 + -29.9872 1.0000 + -29.8209 1.0000 + -1.8859 1.0000 + 4.3438 1.0000 + 4.8274 1.0000 + 6.3656 1.0000 + 6.6651 1.0000 + 8.2366 0.0000 + 8.4561 0.0000 + 9.1702 0.0000 + 9.3749 0.0000 + 14.6979 0.0000 + 15.1035 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7473 1.0000 + -30.0286 1.0000 + -29.9866 1.0000 + -29.8203 1.0000 + -1.7375 1.0000 + 4.0528 1.0000 + 4.7878 1.0000 + 6.3364 1.0000 + 6.3830 1.0000 + 8.0619 0.0057 + 8.3336 0.0000 + 9.5014 0.0000 + 9.9115 0.0000 + 14.1815 0.0000 + 14.9183 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7471 1.0000 + -30.0372 1.0000 + -29.9857 1.0000 + -29.8195 1.0000 + -1.4939 1.0000 + 3.5647 1.0000 + 4.7595 1.0000 + 5.9723 1.0000 + 6.4743 1.0000 + 7.7497 0.9700 + 8.4147 0.0000 + 9.9423 0.0000 + 10.4794 0.0000 + 14.3282 0.0000 + 15.0758 0.0000 + + + -91.8796 1.0000 + -91.4244 1.0000 + -91.2894 1.0000 + -65.7469 1.0000 + -30.0470 1.0000 + -29.9846 1.0000 + -29.8185 1.0000 + -1.1660 1.0000 + 2.9634 1.0000 + 4.7389 1.0000 + 5.6413 1.0000 + 6.5416 1.0000 + 7.6483 0.9995 + 8.4831 0.0000 + 10.4090 0.0000 + 11.0447 0.0000 + 15.0305 0.0000 + 15.6832 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7468 1.0000 + -30.0566 1.0000 + -29.9837 1.0000 + -29.8176 1.0000 + -0.7654 1.0000 + 2.3210 1.0000 + 4.7218 1.0000 + 5.3752 1.0000 + 6.4754 1.0000 + 7.8474 0.6915 + 8.5405 0.0000 + 10.8486 0.0000 + 11.5771 0.0000 + 13.5613 0.0000 + 15.1290 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7467 1.0000 + -30.0642 1.0000 + -29.9830 1.0000 + -29.8168 1.0000 + -0.3160 1.0000 + 1.6951 1.0000 + 4.7092 1.0000 + 5.1905 1.0000 + 6.3590 1.0000 + 8.1987 0.0000 + 8.5831 0.0000 + 11.2134 0.0000 + 12.0304 0.0000 + 12.9684 0.0000 + 14.5851 0.0000 + + + -91.8817 1.0000 + -91.4266 1.0000 + -91.2917 1.0000 + -65.7467 1.0000 + -30.0683 1.0000 + -29.9826 1.0000 + -29.8165 1.0000 + 0.1015 1.0000 + 1.1853 1.0000 + 4.7026 1.0000 + 5.0962 1.0000 + 6.2848 1.0000 + 8.4738 0.0000 + 8.6059 0.0000 + 11.4369 0.0000 + 12.3087 0.0000 + 12.6173 0.0000 + 14.4394 0.0000 + + + -91.8803 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7474 1.0000 + -30.0202 1.0000 + -29.9904 1.0000 + -29.8208 1.0000 + -1.8853 1.0000 + 4.3956 1.0000 + 4.8088 1.0000 + 6.2602 1.0000 + 6.7341 1.0000 + 8.1965 0.0000 + 8.5252 0.0000 + 9.0697 0.0000 + 9.4119 0.0000 + 13.8616 0.0000 + 15.2576 0.0000 + + + -91.8804 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7473 1.0000 + -30.0223 1.0000 + -29.9901 1.0000 + -29.8206 1.0000 + -1.8347 1.0000 + 4.3325 1.0000 + 4.7685 1.0000 + 6.1044 1.0000 + 6.8162 1.0000 + 7.9710 0.1061 + 8.7574 0.0000 + 8.9151 0.0000 + 9.6966 0.0000 + 13.8495 0.0000 + 14.8611 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7473 1.0000 + -30.0283 1.0000 + -29.9896 1.0000 + -29.8200 1.0000 + -1.6854 1.0000 + 4.0715 1.0000 + 4.7055 1.0000 + 5.8924 1.0000 + 6.8149 1.0000 + 7.7859 0.9146 + 8.5439 0.0000 + 9.2979 0.0000 + 10.1790 0.0000 + 14.4429 0.0000 + 14.9450 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7471 1.0000 + -30.0369 1.0000 + -29.9887 1.0000 + -29.8192 1.0000 + -1.4415 1.0000 + 3.5859 1.0000 + 4.6793 1.0000 + 5.7131 1.0000 + 6.7163 1.0000 + 7.7038 0.9943 + 8.3889 0.0000 + 9.7722 0.0000 + 10.7211 0.0000 + 14.3964 0.0000 + 15.0087 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7469 1.0000 + -30.0468 1.0000 + -29.9877 1.0000 + -29.8182 1.0000 + -1.1142 1.0000 + 2.9798 1.0000 + 4.6736 1.0000 + 5.5108 1.0000 + 6.6199 1.0000 + 7.7221 0.9885 + 8.3636 0.0000 + 10.2499 0.0000 + 11.2691 0.0000 + 14.1095 0.0000 + 16.1309 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7467 1.0000 + -30.0564 1.0000 + -29.9867 1.0000 + -29.8173 1.0000 + -0.7140 1.0000 + 2.3366 1.0000 + 4.6761 1.0000 + 5.3013 1.0000 + 6.5008 1.0000 + 7.9230 0.2850 + 8.3953 0.0000 + 10.6940 0.0000 + 11.7823 0.0000 + 13.5487 0.0000 + 15.0697 0.0000 + + + -91.8810 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7466 1.0000 + -30.0639 1.0000 + -29.9860 1.0000 + -29.8166 1.0000 + -0.2628 1.0000 + 1.7117 1.0000 + 4.6852 1.0000 + 5.1307 1.0000 + 6.3817 1.0000 + 8.2332 0.0000 + 8.4366 0.0000 + 11.0609 0.0000 + 12.1858 0.0000 + 13.0336 0.0000 + 14.9369 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2912 1.0000 + -65.7466 1.0000 + -30.0680 1.0000 + -29.9856 1.0000 + -29.8162 1.0000 + 0.1614 1.0000 + 1.1971 1.0000 + 4.6963 1.0000 + 5.0329 1.0000 + 6.3108 1.0000 + 8.4305 0.0000 + 8.5088 0.0000 + 11.2905 0.0000 + 12.2531 0.0000 + 13.6523 0.0000 + 15.0165 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7472 1.0000 + -30.0193 1.0000 + -29.9987 1.0000 + -29.8199 1.0000 + -1.7259 1.0000 + 4.2208 1.0000 + 4.7206 1.0000 + 5.9736 1.0000 + 6.6199 1.0000 + 8.1432 0.0001 + 8.2436 0.0000 + 9.3875 0.0000 + 9.9330 0.0000 + 14.2783 0.0000 + 14.9326 0.0000 + + + -91.8805 1.0000 + -91.4253 1.0000 + -91.2904 1.0000 + -65.7472 1.0000 + -30.0214 1.0000 + -29.9985 1.0000 + -29.8197 1.0000 + -1.6767 1.0000 + 4.2223 1.0000 + 4.6204 1.0000 + 5.7734 1.0000 + 6.8479 1.0000 + 7.7918 0.9010 + 8.5549 0.0000 + 9.2077 0.0000 + 10.1836 0.0000 + 14.6923 0.0000 + 15.0199 0.0000 + + + -91.8807 1.0000 + -91.4255 1.0000 + -91.2906 1.0000 + -65.7471 1.0000 + -30.0274 1.0000 + -29.9980 1.0000 + -29.8192 1.0000 + -1.5287 1.0000 + 4.1177 1.0000 + 4.4062 1.0000 + 5.5506 1.0000 + 7.1483 1.0000 + 7.4218 1.0000 + 8.7268 0.0000 + 9.0973 0.0000 + 10.6622 0.0000 + 14.4498 0.0000 + 15.1810 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7469 1.0000 + -30.0361 1.0000 + -29.9971 1.0000 + -29.8183 1.0000 + -1.2856 1.0000 + 3.6350 1.0000 + 4.3984 1.0000 + 5.4250 1.0000 + 6.9924 1.0000 + 7.5022 1.0000 + 8.4908 0.0000 + 9.4686 0.0000 + 11.2024 0.0000 + 14.4000 0.0000 + 15.1855 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7467 1.0000 + -30.0460 1.0000 + -29.9962 1.0000 + -29.8174 1.0000 + -0.9603 1.0000 + 3.0182 1.0000 + 4.4522 1.0000 + 5.3087 1.0000 + 6.7413 1.0000 + 7.7217 0.9886 + 8.3005 0.0000 + 9.9206 0.0000 + 11.7328 0.0000 + 13.9753 0.0000 + 15.3830 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7465 1.0000 + -30.0556 1.0000 + -29.9952 1.0000 + -29.8164 1.0000 + -0.5617 1.0000 + 2.3790 1.0000 + 4.5170 1.0000 + 5.1603 1.0000 + 6.5656 1.0000 + 7.9200 0.2994 + 8.2560 0.0000 + 10.3547 0.0000 + 12.1577 0.0000 + 13.5549 0.0000 + 17.9977 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7464 1.0000 + -30.0631 1.0000 + -29.9945 1.0000 + -29.8157 1.0000 + -0.1093 1.0000 + 1.7590 1.0000 + 4.5897 1.0000 + 5.0004 1.0000 + 6.4473 1.0000 + 8.0381 0.0140 + 8.3802 0.0000 + 10.7217 0.0000 + 12.2601 0.0000 + 13.3666 0.0000 + 15.0205 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7464 1.0000 + -30.0672 1.0000 + -29.9941 1.0000 + -29.8153 1.0000 + 0.3334 1.0000 + 1.2318 1.0000 + 4.6652 1.0000 + 4.8709 1.0000 + 6.3846 1.0000 + 8.0775 0.0029 + 8.5356 0.0000 + 10.9631 0.0000 + 12.0560 0.0000 + 14.6802 0.0000 + 15.7986 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7470 1.0000 + -30.0181 1.0000 + -30.0111 1.0000 + -29.8187 1.0000 + -1.4695 1.0000 + 3.7994 1.0000 + 4.6693 1.0000 + 5.6325 1.0000 + 6.5974 1.0000 + 7.8461 0.6978 + 8.3061 0.0000 + 9.7917 0.0000 + 10.4886 0.0000 + 14.2428 0.0000 + 15.3871 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7469 1.0000 + -30.0202 1.0000 + -30.0109 1.0000 + -29.8185 1.0000 + -1.4195 1.0000 + 3.8193 1.0000 + 4.5504 1.0000 + 5.5098 1.0000 + 6.7466 1.0000 + 7.7637 0.9539 + 8.3458 0.0000 + 9.6384 0.0000 + 10.7162 0.0000 + 14.2161 0.0000 + 15.3807 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7468 1.0000 + -30.0261 1.0000 + -30.0103 1.0000 + -29.8179 1.0000 + -1.2729 1.0000 + 3.8625 1.0000 + 4.2037 1.0000 + 5.3571 1.0000 + 6.9709 1.0000 + 7.5306 1.0000 + 8.5275 0.0000 + 9.3693 0.0000 + 11.1903 0.0000 + 14.9903 0.0000 + 31.3493 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7467 1.0000 + -30.0349 1.0000 + -30.0095 1.0000 + -29.8171 1.0000 + -1.0337 1.0000 + 3.6024 1.0000 + 4.0290 1.0000 + 5.2643 1.0000 + 7.0029 1.0000 + 7.3935 1.0000 + 8.6571 0.0000 + 9.2934 0.0000 + 11.7135 0.0000 + 14.0675 0.0000 + 15.4038 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7464 1.0000 + -30.0448 1.0000 + -30.0085 1.0000 + -29.8161 1.0000 + -0.7114 1.0000 + 3.0260 1.0000 + 4.1301 1.0000 + 5.1712 1.0000 + 6.8136 1.0000 + 7.4784 1.0000 + 8.5466 0.0000 + 9.5926 0.0000 + 12.1469 0.0000 + 13.8100 0.0000 + 15.8147 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7463 1.0000 + -30.0544 1.0000 + -30.0076 1.0000 + -29.8152 1.0000 + -0.3183 1.0000 + 2.4223 1.0000 + 4.2569 1.0000 + 5.0412 1.0000 + 6.6493 1.0000 + 7.5743 1.0000 + 8.4765 0.0000 + 9.9779 0.0000 + 12.2811 0.0000 + 13.6749 0.0000 + 15.6480 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7461 1.0000 + -30.0619 1.0000 + -30.0069 1.0000 + -29.8145 1.0000 + 0.1309 1.0000 + 1.8302 1.0000 + 4.3950 1.0000 + 4.8792 1.0000 + 6.5467 1.0000 + 7.6338 0.9998 + 8.5191 0.0000 + 10.3234 0.0000 + 12.0332 0.0000 + 13.9324 0.0000 + 15.8350 0.0000 + + + -91.8807 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7461 1.0000 + -30.0660 1.0000 + -30.0065 1.0000 + -29.8141 1.0000 + 0.5962 1.0000 + 1.2931 1.0000 + 4.5437 1.0000 + 4.7091 1.0000 + 6.4966 1.0000 + 7.6617 0.9991 + 8.5908 0.0000 + 10.5605 0.0000 + 11.7454 0.0000 + 14.3195 0.0000 + 15.4240 0.0000 + + + -91.8811 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7467 1.0000 + -30.0253 1.0000 + -30.0166 1.0000 + -29.8173 1.0000 + -1.1232 1.0000 + 3.2045 1.0000 + 4.6486 1.0000 + 5.3096 1.0000 + 6.5657 1.0000 + 7.8108 0.8458 + 8.3758 0.0000 + 10.2111 0.0000 + 11.0400 0.0000 + 13.9258 0.0000 + 15.5259 0.0000 + + + -91.8810 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7466 1.0000 + -30.0251 1.0000 + -30.0187 1.0000 + -29.8171 1.0000 + -1.0740 1.0000 + 3.2169 1.0000 + 4.5463 1.0000 + 5.2645 1.0000 + 6.6130 1.0000 + 7.8637 0.6062 + 8.2993 0.0000 + 10.0666 0.0000 + 11.2485 0.0000 + 13.8793 0.0000 + 15.1310 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7465 1.0000 + -30.0247 1.0000 + -30.0245 1.0000 + -29.8165 1.0000 + -0.9278 1.0000 + 3.2332 1.0000 + 4.2746 1.0000 + 5.1943 1.0000 + 6.7018 1.0000 + 7.7714 0.9424 + 8.3727 0.0000 + 9.7624 0.0000 + 11.6929 0.0000 + 13.8341 0.0000 + 15.2470 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7463 1.0000 + -30.0335 1.0000 + -30.0237 1.0000 + -29.8157 1.0000 + -0.6936 1.0000 + 3.1651 1.0000 + 3.9951 1.0000 + 5.1310 1.0000 + 6.7693 1.0000 + 7.5109 1.0000 + 8.6573 0.0000 + 9.4680 0.0000 + 12.1191 0.0000 + 13.7501 0.0000 + 16.2199 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7461 1.0000 + -30.0435 1.0000 + -30.0228 1.0000 + -29.8147 1.0000 + -0.3808 1.0000 + 2.8709 1.0000 + 3.9188 1.0000 + 5.0470 1.0000 + 6.7750 1.0000 + 7.3303 1.0000 + 8.7957 0.0000 + 9.4194 0.0000 + 12.2854 0.0000 + 15.1004 0.0000 + 16.6631 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7460 1.0000 + -30.0531 1.0000 + -30.0219 1.0000 + -29.8138 1.0000 + -0.0012 1.0000 + 2.4149 1.0000 + 4.0086 1.0000 + 4.9212 1.0000 + 6.7199 1.0000 + 7.2772 1.0000 + 8.7185 0.0000 + 9.6676 0.0000 + 12.0399 0.0000 + 13.9078 0.0000 + 16.1396 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7458 1.0000 + -30.0605 1.0000 + -30.0212 1.0000 + -29.8131 1.0000 + 0.4304 1.0000 + 1.9114 1.0000 + 4.1602 1.0000 + 4.7577 1.0000 + 6.6629 1.0000 + 7.2826 1.0000 + 8.6633 0.0000 + 9.9472 0.0000 + 11.6785 0.0000 + 15.2726 0.0000 + 16.0488 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7457 1.0000 + -30.0646 1.0000 + -30.0207 1.0000 + -29.8127 1.0000 + 0.8992 1.0000 + 1.4048 1.0000 + 4.3197 1.0000 + 4.5902 1.0000 + 6.6327 1.0000 + 7.2942 1.0000 + 8.6558 0.0000 + 10.1424 0.0000 + 11.4034 0.0000 + 14.2472 0.0000 + 41.7288 0.0000 + + + -91.8814 1.0000 + -91.4263 1.0000 + -91.2913 1.0000 + -65.7464 1.0000 + -30.0388 1.0000 + -30.0152 1.0000 + -29.8160 1.0000 + -0.7011 1.0000 + 2.5446 1.0000 + 4.6365 1.0000 + 5.0441 1.0000 + 6.4285 1.0000 + 8.1110 0.0006 + 8.4422 0.0000 + 10.6018 0.0000 + 11.5597 0.0000 + 13.3506 0.0000 + 15.1051 0.0000 + + + -91.8812 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7464 1.0000 + -30.0386 1.0000 + -30.0173 1.0000 + -29.8158 1.0000 + -0.6526 1.0000 + 2.5545 1.0000 + 4.5567 1.0000 + 5.0344 1.0000 + 6.4474 1.0000 + 8.1580 0.0000 + 8.3450 0.0000 + 10.4604 0.0000 + 11.7435 0.0000 + 13.3794 0.0000 + 15.8365 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7462 1.0000 + -30.0381 1.0000 + -30.0233 1.0000 + -29.8152 1.0000 + -0.5089 1.0000 + 2.5736 1.0000 + 4.3507 1.0000 + 5.0102 1.0000 + 6.4989 1.0000 + 7.9569 0.1473 + 8.4473 0.0000 + 10.1404 0.0000 + 12.0883 0.0000 + 13.4032 0.0000 + 15.1473 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7461 1.0000 + -30.0373 1.0000 + -30.0321 1.0000 + -29.8143 1.0000 + -0.2806 1.0000 + 2.5705 1.0000 + 4.1067 1.0000 + 4.9666 1.0000 + 6.5721 1.0000 + 7.6198 0.9999 + 8.7017 0.0000 + 9.7782 0.0000 + 12.2391 0.0000 + 13.5917 0.0000 + 15.4441 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7459 1.0000 + -30.0422 1.0000 + -30.0363 1.0000 + -29.8134 1.0000 + 0.0188 1.0000 + 2.4896 1.0000 + 3.9304 1.0000 + 4.8876 1.0000 + 6.6514 1.0000 + 7.3330 1.0000 + 8.9105 0.0000 + 9.5027 0.0000 + 12.0077 0.0000 + 14.3536 0.0000 + 16.5093 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7457 1.0000 + -30.0518 1.0000 + -30.0354 1.0000 + -29.8125 1.0000 + 0.3709 1.0000 + 2.2835 1.0000 + 3.8916 1.0000 + 4.7617 1.0000 + 6.7183 1.0000 + 7.1436 1.0000 + 8.9049 0.0000 + 9.4941 0.0000 + 11.7396 0.0000 + 15.6793 0.0000 + 16.9345 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7455 1.0000 + -30.0593 1.0000 + -30.0348 1.0000 + -29.8117 1.0000 + 0.7545 1.0000 + 1.9742 1.0000 + 3.9744 1.0000 + 4.5954 1.0000 + 6.7577 1.0000 + 7.0518 1.0000 + 8.7886 0.0000 + 9.6473 0.0000 + 11.3101 0.0000 + 14.0340 0.0000 + 16.7643 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7454 1.0000 + -30.0633 1.0000 + -30.0343 1.0000 + -29.8114 1.0000 + 1.1319 1.0000 + 1.6271 1.0000 + 4.1052 1.0000 + 4.4298 1.0000 + 6.7711 1.0000 + 7.0239 1.0000 + 8.7206 0.0000 + 9.7665 0.0000 + 11.0890 0.0000 + 13.9788 0.0000 + 16.9520 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7462 1.0000 + -30.0493 1.0000 + -30.0141 1.0000 + -29.8149 1.0000 + -0.2288 1.0000 + 1.8983 1.0000 + 4.6283 1.0000 + 4.8575 1.0000 + 6.2772 1.0000 + 8.4945 0.0000 + 8.5804 0.0000 + 10.9224 0.0000 + 11.9786 0.0000 + 12.7899 0.0000 + 14.9087 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7461 1.0000 + -30.0491 1.0000 + -30.0162 1.0000 + -29.8147 1.0000 + -0.1792 1.0000 + 1.9074 1.0000 + 4.5762 1.0000 + 4.8487 1.0000 + 6.2969 1.0000 + 8.3585 0.0000 + 8.6284 0.0000 + 10.7823 0.0000 + 12.0806 0.0000 + 12.8868 0.0000 + 15.2348 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7460 1.0000 + -30.0486 1.0000 + -30.0222 1.0000 + -29.8141 1.0000 + -0.0352 1.0000 + 1.9332 1.0000 + 4.4339 1.0000 + 4.8242 1.0000 + 6.3536 1.0000 + 8.0475 0.0099 + 8.7378 0.0000 + 10.4554 0.0000 + 12.1158 0.0000 + 13.2657 0.0000 + 14.9000 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7458 1.0000 + -30.0478 1.0000 + -30.0311 1.0000 + -29.8133 1.0000 + 0.1893 1.0000 + 1.9679 1.0000 + 4.2451 1.0000 + 4.7769 1.0000 + 6.4400 1.0000 + 7.6916 0.9966 + 8.8745 0.0000 + 10.0643 0.0000 + 11.9241 0.0000 + 13.8014 0.0000 + 15.2989 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7456 1.0000 + -30.0469 1.0000 + -30.0412 1.0000 + -29.8123 1.0000 + 0.4706 1.0000 + 1.9998 1.0000 + 4.0636 1.0000 + 4.6916 1.0000 + 6.5446 1.0000 + 7.3787 1.0000 + 8.9926 0.0000 + 9.6981 0.0000 + 11.6104 0.0000 + 14.1038 0.0000 + 15.9363 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7454 1.0000 + -30.0508 1.0000 + -30.0460 1.0000 + -29.8114 1.0000 + 0.7753 1.0000 + 2.0098 1.0000 + 3.9391 1.0000 + 4.5583 1.0000 + 6.6530 1.0000 + 7.1493 1.0000 + 9.0079 0.0000 + 9.4727 0.0000 + 11.2802 0.0000 + 14.0000 0.0000 + 16.5368 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7452 1.0000 + -30.0583 1.0000 + -30.0454 1.0000 + -29.8107 1.0000 + 1.0560 1.0000 + 1.9838 1.0000 + 3.9064 1.0000 + 4.3863 1.0000 + 6.7511 1.0000 + 7.0039 1.0000 + 8.8800 0.0000 + 9.4519 0.0000 + 11.0055 0.0000 + 13.8522 0.0000 + 16.8940 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2896 1.0000 + -65.7452 1.0000 + -30.0624 1.0000 + -30.0450 1.0000 + -29.8103 1.0000 + 1.2424 1.0000 + 1.9383 1.0000 + 3.9540 1.0000 + 4.2239 1.0000 + 6.8299 1.0000 + 6.9158 1.0000 + 8.7739 0.0000 + 9.4832 0.0000 + 10.8480 0.0000 + 13.7576 0.0000 + 16.7488 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7460 1.0000 + -30.0550 1.0000 + -30.0134 1.0000 + -29.8143 1.0000 + 0.2043 1.0000 + 1.3732 1.0000 + 4.6240 1.0000 + 4.7616 1.0000 + 6.1883 1.0000 + 8.5233 0.0000 + 8.9674 0.0000 + 11.1121 0.0000 + 12.0071 0.0000 + 12.6025 0.0000 + 14.7790 0.0000 + + + -91.8807 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7460 1.0000 + -30.0547 1.0000 + -30.0156 1.0000 + -29.8141 1.0000 + 0.2601 1.0000 + 1.3783 1.0000 + 4.6072 1.0000 + 4.7289 1.0000 + 6.2110 1.0000 + 8.3945 0.0000 + 8.9806 0.0000 + 10.9757 0.0000 + 11.9688 0.0000 + 12.8374 0.0000 + 14.6721 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7458 1.0000 + -30.0543 1.0000 + -30.0216 1.0000 + -29.8135 1.0000 + 0.4205 1.0000 + 1.3934 1.0000 + 4.5342 1.0000 + 4.6626 1.0000 + 6.2753 1.0000 + 8.0869 0.0019 + 9.0106 0.0000 + 10.6601 0.0000 + 11.8277 0.0000 + 13.4681 0.0000 + 14.6325 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7457 1.0000 + -30.0535 1.0000 + -30.0305 1.0000 + -29.8127 1.0000 + 0.6680 1.0000 + 1.4216 1.0000 + 4.3948 1.0000 + 4.5926 1.0000 + 6.3719 1.0000 + 7.7299 0.9847 + 9.0457 0.0000 + 10.2612 0.0000 + 11.5905 0.0000 + 14.2426 0.0000 + 14.7492 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7455 1.0000 + -30.0527 1.0000 + -30.0406 1.0000 + -29.8117 1.0000 + 0.9557 1.0000 + 1.4873 1.0000 + 4.2358 1.0000 + 4.4908 1.0000 + 6.4878 1.0000 + 7.4124 1.0000 + 9.0712 0.0000 + 9.8506 0.0000 + 11.3089 0.0000 + 14.3846 0.0000 + 15.5524 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7453 1.0000 + -30.0518 1.0000 + -30.0502 1.0000 + -29.8108 1.0000 + 1.1737 1.0000 + 1.6621 1.0000 + 4.0925 1.0000 + 4.3402 1.0000 + 6.6061 1.0000 + 7.1785 1.0000 + 9.0505 0.0000 + 9.5155 0.0000 + 11.0400 0.0000 + 13.9482 0.0000 + 16.5775 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7451 1.0000 + -30.0577 1.0000 + -30.0512 1.0000 + -29.8101 1.0000 + 1.2606 1.0000 + 1.9475 1.0000 + 3.9805 1.0000 + 4.1622 1.0000 + 6.7058 1.0000 + 7.0369 1.0000 + 8.9273 0.0000 + 9.3617 0.0000 + 10.8310 0.0000 + 13.7460 0.0000 + 17.0707 0.0000 + + + -91.8798 1.0000 + -91.4249 1.0000 + -91.2898 1.0000 + -65.7451 1.0000 + -30.0619 1.0000 + -30.0509 1.0000 + -29.8097 1.0000 + 1.2859 1.0000 + 2.1702 1.0000 + 3.8990 1.0000 + 4.0390 1.0000 + 6.7652 1.0000 + 6.9729 1.0000 + 8.8041 0.0000 + 9.3315 0.0000 + 10.7166 0.0000 + 13.6320 0.0000 + 16.7501 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7464 1.0000 + -30.0175 1.0000 + -29.9844 1.0000 + -29.8488 1.0000 + -1.7370 1.0000 + 4.4422 1.0000 + 4.8585 1.0000 + 6.0714 1.0000 + 6.4466 1.0000 + 8.2302 0.0000 + 8.3749 0.0000 + 9.1175 0.0000 + 9.2619 0.0000 + 14.1349 0.0000 + 15.4013 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7463 1.0000 + -30.0195 1.0000 + -29.9841 1.0000 + -29.8486 1.0000 + -1.6861 1.0000 + 4.3659 1.0000 + 4.8534 1.0000 + 5.9862 1.0000 + 6.3903 1.0000 + 8.0854 0.0021 + 8.4524 0.0000 + 9.1354 0.0000 + 9.5120 0.0000 + 14.3643 0.0000 + 15.3071 0.0000 + + + -91.8803 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7463 1.0000 + -30.0256 1.0000 + -29.9835 1.0000 + -29.8481 1.0000 + -1.5384 1.0000 + 4.0964 1.0000 + 4.8387 1.0000 + 5.8780 1.0000 + 6.2244 1.0000 + 7.8814 0.5077 + 8.4118 0.0000 + 9.4051 0.0000 + 10.0237 0.0000 + 14.7831 0.0000 + 15.5390 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7461 1.0000 + -30.0342 1.0000 + -29.9826 1.0000 + -29.8473 1.0000 + -1.2961 1.0000 + 3.6243 1.0000 + 4.8224 1.0000 + 5.8880 1.0000 + 5.9794 1.0000 + 7.7697 0.9451 + 8.2240 0.0000 + 9.9152 0.0000 + 10.6017 0.0000 + 14.8981 0.0000 + 15.7528 0.0000 + + + -91.8798 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7459 1.0000 + -30.0442 1.0000 + -29.9816 1.0000 + -29.8464 1.0000 + -0.9701 1.0000 + 3.0306 1.0000 + 4.8098 1.0000 + 5.7145 1.0000 + 5.9645 1.0000 + 7.7405 0.9779 + 8.1068 0.0008 + 10.4758 0.0000 + 11.1795 0.0000 + 14.4320 0.0000 + 15.4052 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7457 1.0000 + -30.0538 1.0000 + -29.9807 1.0000 + -29.8456 1.0000 + -0.5710 1.0000 + 2.3983 1.0000 + 4.8012 1.0000 + 5.4818 1.0000 + 6.0144 1.0000 + 7.7545 0.9652 + 8.1644 0.0000 + 11.0095 0.0000 + 11.7243 0.0000 + 13.7286 0.0000 + 15.7410 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7456 1.0000 + -30.0614 1.0000 + -29.9799 1.0000 + -29.8449 1.0000 + -0.1177 1.0000 + 1.7781 1.0000 + 4.7964 1.0000 + 5.3133 1.0000 + 6.0112 1.0000 + 7.7807 0.9256 + 8.3693 0.0000 + 11.4739 0.0000 + 12.2127 0.0000 + 12.9109 0.0000 + 14.6649 0.0000 + + + -91.8817 1.0000 + -91.4266 1.0000 + -91.2916 1.0000 + -65.7457 1.0000 + -30.0656 1.0000 + -29.9796 1.0000 + -29.8446 1.0000 + 0.3197 1.0000 + 1.2526 1.0000 + 4.7946 1.0000 + 5.2255 1.0000 + 5.9923 1.0000 + 7.7988 0.8824 + 8.5626 0.0000 + 11.8394 0.0000 + 12.3313 0.0000 + 12.5446 0.0000 + 14.3190 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7463 1.0000 + -30.0172 1.0000 + -29.9873 1.0000 + -29.8485 1.0000 + -1.6849 1.0000 + 4.4076 1.0000 + 4.8483 1.0000 + 6.0207 1.0000 + 6.2826 1.0000 + 8.0528 0.0081 + 8.5353 0.0000 + 9.2108 0.0000 + 9.3896 0.0000 + 14.3918 0.0000 + 15.3197 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2896 1.0000 + -65.7463 1.0000 + -30.0193 1.0000 + -29.9870 1.0000 + -29.8483 1.0000 + -1.6339 1.0000 + 4.3516 1.0000 + 4.8346 1.0000 + 5.7996 1.0000 + 6.4178 1.0000 + 7.7836 0.9196 + 8.8250 0.0000 + 9.1722 0.0000 + 9.5353 0.0000 + 14.5019 0.0000 + 15.3716 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7462 1.0000 + -30.0253 1.0000 + -29.9865 1.0000 + -29.8478 1.0000 + -1.4861 1.0000 + 4.1162 1.0000 + 4.7981 1.0000 + 5.5891 1.0000 + 6.4356 1.0000 + 7.5244 1.0000 + 8.7710 0.0000 + 9.5148 0.0000 + 9.9362 0.0000 + 15.1352 0.0000 + 15.4072 0.0000 + + + -91.8803 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7460 1.0000 + -30.0340 1.0000 + -29.9857 1.0000 + -29.8470 1.0000 + -1.2446 1.0000 + 3.6518 1.0000 + 4.7706 1.0000 + 5.5402 1.0000 + 6.2682 1.0000 + 7.4667 1.0000 + 8.5007 0.0000 + 10.0751 0.0000 + 10.4593 0.0000 + 14.9293 0.0000 + 15.7909 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7458 1.0000 + -30.0439 1.0000 + -29.9846 1.0000 + -29.8461 1.0000 + -0.9180 1.0000 + 3.0555 1.0000 + 4.7621 1.0000 + 5.5144 1.0000 + 6.0975 1.0000 + 7.5228 1.0000 + 8.3066 0.0000 + 10.6374 0.0000 + 11.0036 0.0000 + 14.3882 0.0000 + 15.7788 0.0000 + + + -91.8803 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7457 1.0000 + -30.0536 1.0000 + -29.9837 1.0000 + -29.8453 1.0000 + -0.5188 1.0000 + 2.4214 1.0000 + 4.7659 1.0000 + 5.3939 1.0000 + 6.0417 1.0000 + 7.5977 1.0000 + 8.2829 0.0000 + 11.1508 0.0000 + 11.5105 0.0000 + 13.7183 0.0000 + 14.9755 0.0000 + + + -91.8811 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7456 1.0000 + -30.0611 1.0000 + -29.9830 1.0000 + -29.8447 1.0000 + -0.0651 1.0000 + 1.8001 1.0000 + 4.7789 1.0000 + 5.2458 1.0000 + 6.0321 1.0000 + 7.6461 0.9996 + 8.4238 0.0000 + 11.5584 0.0000 + 11.9266 0.0000 + 13.0831 0.0000 + 15.6069 0.0000 + + + -91.8817 1.0000 + -91.4266 1.0000 + -91.2916 1.0000 + -65.7456 1.0000 + -30.0653 1.0000 + -29.9826 1.0000 + -29.8443 1.0000 + 0.3795 1.0000 + 1.2691 1.0000 + 4.7936 1.0000 + 5.1515 1.0000 + 6.0240 1.0000 + 7.6686 0.9988 + 8.5805 0.0000 + 11.7779 0.0000 + 12.1352 0.0000 + 12.7618 0.0000 + 14.3597 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2897 1.0000 + -65.7461 1.0000 + -30.0163 1.0000 + -29.9957 1.0000 + -29.8477 1.0000 + -1.5268 1.0000 + 4.2431 1.0000 + 4.8102 1.0000 + 5.8696 1.0000 + 6.0346 1.0000 + 7.8110 0.8450 + 8.5785 0.0000 + 9.3930 0.0000 + 9.9093 0.0000 + 14.8181 0.0000 + 15.3992 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7461 1.0000 + -30.0184 1.0000 + -29.9955 1.0000 + -29.8475 1.0000 + -1.4775 1.0000 + 4.2438 1.0000 + 4.7542 1.0000 + 5.5293 1.0000 + 6.3522 1.0000 + 7.5150 1.0000 + 8.8801 0.0000 + 9.4592 0.0000 + 9.8752 0.0000 + 15.2792 0.0000 + 15.6628 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7460 1.0000 + -30.0244 1.0000 + -29.9950 1.0000 + -29.8470 1.0000 + -1.3299 1.0000 + 4.1576 1.0000 + 4.5679 1.0000 + 5.2979 1.0000 + 6.6150 1.0000 + 7.0904 1.0000 + 9.1579 0.0000 + 9.5750 0.0000 + 10.0825 0.0000 + 15.1794 0.0000 + 15.4777 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7459 1.0000 + -30.0332 1.0000 + -29.9941 1.0000 + -29.8463 1.0000 + -1.0889 1.0000 + 3.7247 1.0000 + 4.5126 1.0000 + 5.2739 1.0000 + 6.5053 1.0000 + 7.0116 1.0000 + 8.9177 0.0000 + 10.0553 0.0000 + 10.5390 0.0000 + 14.9488 0.0000 + 15.7735 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7457 1.0000 + -30.0432 1.0000 + -29.9932 1.0000 + -29.8454 1.0000 + -0.7637 1.0000 + 3.1184 1.0000 + 4.5570 1.0000 + 5.2947 1.0000 + 6.2309 1.0000 + 7.1569 1.0000 + 8.6614 0.0000 + 10.5778 0.0000 + 11.0215 0.0000 + 14.3672 0.0000 + 16.4135 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7455 1.0000 + -30.0528 1.0000 + -29.9922 1.0000 + -29.8445 1.0000 + -0.3665 1.0000 + 2.4849 1.0000 + 4.6192 1.0000 + 5.2403 1.0000 + 6.0991 1.0000 + 7.2727 1.0000 + 8.5350 0.0000 + 11.0432 0.0000 + 11.4229 0.0000 + 13.8722 0.0000 + 15.2253 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7454 1.0000 + -30.0603 1.0000 + -29.9915 1.0000 + -29.8439 1.0000 + 0.0883 1.0000 + 1.8666 1.0000 + 4.6927 1.0000 + 5.1041 1.0000 + 6.0902 1.0000 + 7.3348 1.0000 + 8.5545 0.0000 + 11.3690 0.0000 + 11.6761 0.0000 + 13.4279 0.0000 + 14.9423 0.0000 + + + -91.8813 1.0000 + -91.4263 1.0000 + -91.2913 1.0000 + -65.7454 1.0000 + -30.0645 1.0000 + -29.9911 1.0000 + -29.8436 1.0000 + 0.5523 1.0000 + 1.3197 1.0000 + 4.7737 1.0000 + 4.9700 1.0000 + 6.1067 1.0000 + 7.3584 1.0000 + 8.6259 0.0000 + 11.4672 0.0000 + 11.8083 0.0000 + 13.3060 0.0000 + 14.7773 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7459 1.0000 + -30.0150 1.0000 + -30.0082 1.0000 + -29.8466 1.0000 + -1.2712 1.0000 + 3.8438 1.0000 + 4.7684 1.0000 + 5.6401 1.0000 + 5.9574 1.0000 + 7.6738 0.9984 + 8.3685 0.0000 + 9.9037 0.0000 + 10.4726 0.0000 + 15.0041 0.0000 + 15.6011 0.0000 + + + -91.8803 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7459 1.0000 + -30.0172 1.0000 + -30.0079 1.0000 + -29.8464 1.0000 + -1.2218 1.0000 + 3.8708 1.0000 + 4.6756 1.0000 + 5.4045 1.0000 + 6.1889 1.0000 + 7.4347 1.0000 + 8.5911 0.0000 + 10.0325 0.0000 + 10.3726 0.0000 + 14.9251 0.0000 + 15.8940 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7457 1.0000 + -30.0231 1.0000 + -30.0074 1.0000 + -29.8459 1.0000 + -1.0751 1.0000 + 3.9445 1.0000 + 4.3254 1.0000 + 5.2342 1.0000 + 6.4457 1.0000 + 7.0265 1.0000 + 8.9822 0.0000 + 9.9608 0.0000 + 10.5366 0.0000 + 15.3724 0.0000 + 16.2209 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7456 1.0000 + -30.0320 1.0000 + -30.0066 1.0000 + -29.8451 1.0000 + -0.8371 1.0000 + 3.7696 1.0000 + 4.0713 1.0000 + 5.2102 1.0000 + 6.5202 1.0000 + 6.7576 1.0000 + 9.2256 0.0000 + 9.8208 0.0000 + 10.9794 0.0000 + 14.6872 0.0000 + 16.0115 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7454 1.0000 + -30.0420 1.0000 + -30.0056 1.0000 + -29.8442 1.0000 + -0.5159 1.0000 + 3.1732 1.0000 + 4.2009 1.0000 + 5.2095 1.0000 + 6.2786 1.0000 + 6.8561 1.0000 + 9.0363 0.0000 + 10.1403 0.0000 + 11.3532 0.0000 + 14.1947 0.0000 + 15.7790 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2902 1.0000 + -65.7452 1.0000 + -30.0516 1.0000 + -30.0047 1.0000 + -29.8434 1.0000 + -0.1232 1.0000 + 2.5651 1.0000 + 4.3406 1.0000 + 5.1419 1.0000 + 6.1556 1.0000 + 6.9535 1.0000 + 8.8219 0.0000 + 10.5329 0.0000 + 11.5193 0.0000 + 13.9904 0.0000 + 15.7124 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7451 1.0000 + -30.0592 1.0000 + -30.0040 1.0000 + -29.8427 1.0000 + 0.3259 1.0000 + 1.9702 1.0000 + 4.4841 1.0000 + 4.9917 1.0000 + 6.1733 1.0000 + 7.0010 1.0000 + 8.7133 0.0000 + 10.8431 0.0000 + 11.4585 0.0000 + 13.9770 0.0000 + 15.7545 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7450 1.0000 + -30.0633 1.0000 + -30.0036 1.0000 + -29.8424 1.0000 + 0.8108 1.0000 + 1.4140 1.0000 + 4.6313 1.0000 + 4.8202 1.0000 + 6.2227 1.0000 + 7.0116 1.0000 + 8.6872 0.0000 + 11.0198 0.0000 + 11.3364 0.0000 + 14.1763 0.0000 + 15.9685 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7456 1.0000 + -30.0224 1.0000 + -30.0136 1.0000 + -29.8453 1.0000 + -0.9268 1.0000 + 3.2623 1.0000 + 4.7464 1.0000 + 5.3834 1.0000 + 5.9960 1.0000 + 7.6341 0.9998 + 8.2611 0.0000 + 10.4569 0.0000 + 11.0184 0.0000 + 14.2330 0.0000 + 15.5535 0.0000 + + + -91.8807 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7456 1.0000 + -30.0222 1.0000 + -30.0157 1.0000 + -29.8451 1.0000 + -0.8773 1.0000 + 3.2832 1.0000 + 4.6571 1.0000 + 5.2991 1.0000 + 6.0714 1.0000 + 7.4689 1.0000 + 8.4217 0.0000 + 10.5908 0.0000 + 10.8787 0.0000 + 14.2953 0.0000 + 16.5961 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7455 1.0000 + -30.0218 1.0000 + -30.0216 1.0000 + -29.8446 1.0000 + -0.7317 1.0000 + 3.3310 1.0000 + 4.3786 1.0000 + 5.2110 1.0000 + 6.1851 1.0000 + 7.1526 1.0000 + 8.7615 0.0000 + 10.4513 0.0000 + 10.9940 0.0000 + 14.2699 0.0000 + 15.4567 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7453 1.0000 + -30.0306 1.0000 + -30.0209 1.0000 + -29.8438 1.0000 + -0.4981 1.0000 + 3.3273 1.0000 + 4.0470 1.0000 + 5.1832 1.0000 + 6.2401 1.0000 + 6.8777 1.0000 + 9.1353 0.0000 + 10.0431 0.0000 + 11.3235 0.0000 + 14.1794 0.0000 + 15.5671 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7451 1.0000 + -30.0407 1.0000 + -30.0200 1.0000 + -29.8429 1.0000 + -0.1859 1.0000 + 3.0693 1.0000 + 3.9456 1.0000 + 5.1491 1.0000 + 6.2051 1.0000 + 6.7650 1.0000 + 9.2971 0.0000 + 9.8622 0.0000 + 11.4431 0.0000 + 14.0899 0.0000 + 16.4426 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7449 1.0000 + -30.0503 1.0000 + -30.0191 1.0000 + -29.8421 1.0000 + 0.1920 1.0000 + 2.6071 1.0000 + 4.0528 1.0000 + 5.0472 1.0000 + 6.1874 1.0000 + 6.7639 1.0000 + 9.0797 0.0000 + 10.0903 0.0000 + 11.2974 0.0000 + 14.2166 0.0000 + 15.6033 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7448 1.0000 + -30.0579 1.0000 + -30.0184 1.0000 + -29.8414 1.0000 + 0.6211 1.0000 + 2.0968 1.0000 + 4.2164 1.0000 + 4.8791 1.0000 + 6.2614 1.0000 + 6.7657 1.0000 + 8.8662 0.0000 + 10.3491 0.0000 + 11.0306 0.0000 + 14.4108 0.0000 + 15.3788 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7447 1.0000 + -30.0620 1.0000 + -30.0180 1.0000 + -29.8411 1.0000 + 1.0880 1.0000 + 1.5873 1.0000 + 4.3747 1.0000 + 4.7100 1.0000 + 6.3575 1.0000 + 6.7421 1.0000 + 8.7550 0.0000 + 10.5500 0.0000 + 10.7906 0.0000 + 14.5624 0.0000 + 15.1655 0.0000 + + + -91.8811 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7454 1.0000 + -30.0360 1.0000 + -30.0122 1.0000 + -29.8440 1.0000 + -0.5057 1.0000 + 2.6136 1.0000 + 4.7370 1.0000 + 5.1523 1.0000 + 6.0130 1.0000 + 7.6494 0.9995 + 8.3935 0.0000 + 10.9701 0.0000 + 11.5187 0.0000 + 13.5916 0.0000 + 15.0632 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7453 1.0000 + -30.0358 1.0000 + -30.0143 1.0000 + -29.8438 1.0000 + -0.4569 1.0000 + 2.6313 1.0000 + 4.6641 1.0000 + 5.1321 1.0000 + 6.0295 1.0000 + 7.5280 1.0000 + 8.4922 0.0000 + 11.0888 0.0000 + 11.3355 0.0000 + 13.6775 0.0000 + 15.0131 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7452 1.0000 + -30.0353 1.0000 + -30.0204 1.0000 + -29.8433 1.0000 + -0.3133 1.0000 + 2.6752 1.0000 + 4.4540 1.0000 + 5.1041 1.0000 + 6.0697 1.0000 + 7.2554 1.0000 + 8.7315 0.0000 + 10.8888 0.0000 + 11.3448 0.0000 + 13.6890 0.0000 + 15.8847 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7450 1.0000 + -30.0345 1.0000 + -30.0292 1.0000 + -29.8426 1.0000 + -0.0859 1.0000 + 2.7166 1.0000 + 4.1804 1.0000 + 5.0770 1.0000 + 6.1163 1.0000 + 6.9765 1.0000 + 9.0212 0.0000 + 10.3917 0.0000 + 11.4336 0.0000 + 13.9055 0.0000 + 15.2813 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7448 1.0000 + -30.0394 1.0000 + -30.0336 1.0000 + -29.8417 1.0000 + 0.2123 1.0000 + 2.6878 1.0000 + 3.9634 1.0000 + 5.0147 1.0000 + 6.1592 1.0000 + 6.7920 1.0000 + 9.2662 0.0000 + 9.9512 0.0000 + 11.2415 0.0000 + 14.1593 0.0000 + 15.4866 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7446 1.0000 + -30.0491 1.0000 + -30.0327 1.0000 + -29.8408 1.0000 + 0.5609 1.0000 + 2.5137 1.0000 + 3.9070 1.0000 + 4.8851 1.0000 + 6.2238 1.0000 + 6.7173 1.0000 + 9.2451 0.0000 + 9.8021 0.0000 + 10.8954 0.0000 + 14.4228 0.0000 + 16.8868 0.0000 + + + -91.8798 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7444 1.0000 + -30.0566 1.0000 + -30.0320 1.0000 + -29.8402 1.0000 + 0.9361 1.0000 + 2.2131 1.0000 + 3.9968 1.0000 + 4.7012 1.0000 + 6.3401 1.0000 + 6.6831 1.0000 + 8.9915 0.0000 + 9.9352 0.0000 + 10.5511 0.0000 + 14.6648 0.0000 + 16.6490 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7444 1.0000 + -30.0607 1.0000 + -30.0317 1.0000 + -29.8398 1.0000 + 1.2854 1.0000 + 1.8883 1.0000 + 4.1342 1.0000 + 4.5244 1.0000 + 6.4820 1.0000 + 6.6213 1.0000 + 8.8197 0.0000 + 10.0947 0.0000 + 10.2879 0.0000 + 14.4258 0.0000 + 16.1813 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7451 1.0000 + -30.0466 1.0000 + -30.0111 1.0000 + -29.8430 1.0000 + -0.0307 1.0000 + 1.9718 1.0000 + 4.7340 1.0000 + 4.9824 1.0000 + 5.9781 1.0000 + 7.6817 0.9978 + 8.7276 0.0000 + 11.3873 0.0000 + 11.9478 0.0000 + 12.7854 0.0000 + 23.9436 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7451 1.0000 + -30.0464 1.0000 + -30.0132 1.0000 + -29.8428 1.0000 + 0.0185 1.0000 + 1.9888 1.0000 + 4.6859 1.0000 + 4.9653 1.0000 + 5.9970 1.0000 + 7.5729 1.0000 + 8.7751 0.0000 + 11.4491 0.0000 + 11.7029 0.0000 + 13.0190 0.0000 + 14.7782 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7450 1.0000 + -30.0459 1.0000 + -30.0193 1.0000 + -29.8423 1.0000 + 0.1624 1.0000 + 2.0359 1.0000 + 4.5378 1.0000 + 4.9360 1.0000 + 6.0484 1.0000 + 7.3135 1.0000 + 8.8969 0.0000 + 11.2099 0.0000 + 11.4930 0.0000 + 13.3525 0.0000 + 14.7482 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7448 1.0000 + -30.0451 1.0000 + -30.0282 1.0000 + -29.8416 1.0000 + 0.3853 1.0000 + 2.1069 1.0000 + 4.3253 1.0000 + 4.8953 1.0000 + 6.1228 1.0000 + 7.0290 1.0000 + 9.0504 0.0000 + 10.6735 0.0000 + 11.2840 0.0000 + 13.8208 0.0000 + 15.4677 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7446 1.0000 + -30.0442 1.0000 + -30.0384 1.0000 + -29.8407 1.0000 + 0.6619 1.0000 + 2.1867 1.0000 + 4.1117 1.0000 + 4.8111 1.0000 + 6.2095 1.0000 + 6.8181 1.0000 + 9.1919 0.0000 + 10.1602 0.0000 + 10.8993 0.0000 + 15.1026 0.0000 + 15.8962 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7444 1.0000 + -30.0481 1.0000 + -30.0434 1.0000 + -29.8399 1.0000 + 0.9577 1.0000 + 2.2499 1.0000 + 3.9565 1.0000 + 4.6608 1.0000 + 6.3079 1.0000 + 6.7191 1.0000 + 9.2475 0.0000 + 9.7542 0.0000 + 10.4853 0.0000 + 14.4236 0.0000 + 15.9769 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2900 1.0000 + -65.7442 1.0000 + -30.0556 1.0000 + -30.0428 1.0000 + -29.8392 1.0000 + 1.2239 1.0000 + 2.2689 1.0000 + 3.9080 1.0000 + 4.4598 1.0000 + 6.4254 1.0000 + 6.6915 1.0000 + 9.0705 0.0000 + 9.6405 0.0000 + 10.1444 0.0000 + 14.3430 0.0000 + 17.2812 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7442 1.0000 + -30.0598 1.0000 + -30.0424 1.0000 + -29.8388 1.0000 + 1.3946 1.0000 + 2.2508 1.0000 + 3.9615 1.0000 + 4.2707 1.0000 + 6.5390 1.0000 + 6.6669 1.0000 + 8.8711 0.0000 + 9.6833 0.0000 + 9.9342 0.0000 + 14.2821 0.0000 + 16.8667 0.0000 + + + -91.8809 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7450 1.0000 + -30.0524 1.0000 + -30.0105 1.0000 + -29.8425 1.0000 + 0.4229 1.0000 + 1.4332 1.0000 + 4.7335 1.0000 + 4.8932 1.0000 + 5.9406 1.0000 + 7.7046 0.9941 + 9.0485 0.0000 + 11.6113 0.0000 + 12.2365 0.0000 + 12.4166 0.0000 + 14.4069 0.0000 + + + -91.8809 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7450 1.0000 + -30.0522 1.0000 + -30.0126 1.0000 + -29.8423 1.0000 + 0.4791 1.0000 + 1.4433 1.0000 + 4.7207 1.0000 + 4.8490 1.0000 + 5.9697 1.0000 + 7.5985 1.0000 + 9.0623 0.0000 + 11.5449 0.0000 + 11.9351 0.0000 + 12.6346 0.0000 + 14.4028 0.0000 + + + -91.8811 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7449 1.0000 + -30.0517 1.0000 + -30.0187 1.0000 + -29.8418 1.0000 + 0.6406 1.0000 + 1.4754 1.0000 + 4.6393 1.0000 + 4.7744 1.0000 + 6.0463 1.0000 + 7.3409 1.0000 + 9.0974 0.0000 + 11.2685 0.0000 + 11.5426 0.0000 + 13.2087 0.0000 + 14.4572 0.0000 + + + -91.8808 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7447 1.0000 + -30.0509 1.0000 + -30.0276 1.0000 + -29.8411 1.0000 + 0.8849 1.0000 + 1.5379 1.0000 + 4.4679 1.0000 + 4.7154 1.0000 + 6.1524 1.0000 + 7.0495 1.0000 + 9.1423 0.0000 + 10.8507 0.0000 + 11.0603 0.0000 + 14.0298 0.0000 + 14.7766 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7445 1.0000 + -30.0501 1.0000 + -30.0378 1.0000 + -29.8402 1.0000 + 1.1502 1.0000 + 1.6634 1.0000 + 4.2778 1.0000 + 4.6118 1.0000 + 6.2733 1.0000 + 6.8222 1.0000 + 9.1840 0.0000 + 10.3474 0.0000 + 10.5871 0.0000 + 14.4557 0.0000 + 15.2545 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7443 1.0000 + -30.0493 1.0000 + -30.0475 1.0000 + -29.8393 1.0000 + 1.3315 1.0000 + 1.9197 1.0000 + 4.1103 1.0000 + 4.4350 1.0000 + 6.3954 1.0000 + 6.7111 1.0000 + 9.1975 0.0000 + 9.8332 0.0000 + 10.1952 0.0000 + 14.3744 0.0000 + 15.8908 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7441 1.0000 + -30.0551 1.0000 + -30.0487 1.0000 + -29.8387 1.0000 + 1.4141 1.0000 + 2.2587 1.0000 + 3.9834 1.0000 + 4.2083 1.0000 + 6.5037 1.0000 + 6.7025 1.0000 + 9.0928 0.0000 + 9.5006 0.0000 + 9.9082 0.0000 + 14.2642 0.0000 + 16.9205 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7441 1.0000 + -30.0593 1.0000 + -30.0483 1.0000 + -29.8383 1.0000 + 1.4457 1.0000 + 2.5199 1.0000 + 3.9004 1.0000 + 4.0331 1.0000 + 6.5737 1.0000 + 6.7304 1.0000 + 8.8995 0.0000 + 9.4301 0.0000 + 9.7525 0.0000 + 14.2685 0.0000 + 34.2814 0.0000 + + + -91.8795 1.0000 + -91.4244 1.0000 + -91.2894 1.0000 + -65.7449 1.0000 + -30.0129 1.0000 + -29.9797 1.0000 + -29.8895 1.0000 + -1.4187 1.0000 + 4.4601 1.0000 + 4.6731 1.0000 + 5.6743 1.0000 + 5.9932 1.0000 + 8.1576 0.0001 + 8.3102 0.0000 + 9.3878 0.0000 + 9.5739 0.0000 + 14.6169 0.0000 + 15.2950 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2900 1.0000 + -65.7449 1.0000 + -30.0151 1.0000 + -29.9795 1.0000 + -29.8894 1.0000 + -1.3679 1.0000 + 4.3898 1.0000 + 4.6848 1.0000 + 5.5775 1.0000 + 5.9882 1.0000 + 8.0710 0.0039 + 8.3358 0.0000 + 9.2963 0.0000 + 9.8808 0.0000 + 14.7640 0.0000 + 15.2851 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7447 1.0000 + -30.0211 1.0000 + -29.9789 1.0000 + -29.8889 1.0000 + -1.2205 1.0000 + 4.1260 1.0000 + 4.7341 1.0000 + 5.4333 1.0000 + 5.9646 1.0000 + 7.6673 0.9988 + 8.7032 0.0000 + 9.1336 0.0000 + 10.4886 0.0000 + 14.8840 0.0000 + 16.1247 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2897 1.0000 + -65.7446 1.0000 + -30.0299 1.0000 + -29.9782 1.0000 + -29.8882 1.0000 + -0.9808 1.0000 + 3.6652 1.0000 + 4.7987 1.0000 + 5.3993 1.0000 + 5.9001 1.0000 + 7.3364 1.0000 + 8.6839 0.0000 + 9.4310 0.0000 + 11.1616 0.0000 + 14.7250 0.0000 + 16.1963 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2899 1.0000 + -65.7444 1.0000 + -30.0400 1.0000 + -29.9771 1.0000 + -29.8874 1.0000 + -0.6587 1.0000 + 3.0989 1.0000 + 4.8498 1.0000 + 5.4590 1.0000 + 5.7806 1.0000 + 7.1397 1.0000 + 8.5209 0.0000 + 9.9588 0.0000 + 11.8236 0.0000 + 14.2014 0.0000 + 16.2147 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7442 1.0000 + -30.0497 1.0000 + -29.9762 1.0000 + -29.8866 1.0000 + -0.2656 1.0000 + 2.4987 1.0000 + 4.8835 1.0000 + 5.5379 1.0000 + 5.6319 1.0000 + 7.0597 1.0000 + 8.4828 0.0000 + 10.4687 0.0000 + 12.4416 0.0000 + 13.3290 0.0000 + 15.1337 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7441 1.0000 + -30.0573 1.0000 + -29.9754 1.0000 + -29.8860 1.0000 + 0.1849 1.0000 + 1.9035 1.0000 + 4.9056 1.0000 + 5.5030 1.0000 + 5.5861 1.0000 + 7.0432 1.0000 + 8.5758 0.0000 + 10.9253 0.0000 + 12.5527 0.0000 + 13.0088 0.0000 + 14.8073 0.0000 + + + -91.8812 1.0000 + -91.4261 1.0000 + -91.2912 1.0000 + -65.7441 1.0000 + -30.0615 1.0000 + -29.9750 1.0000 + -29.8857 1.0000 + 0.6491 1.0000 + 1.3651 1.0000 + 4.9176 1.0000 + 5.4303 1.0000 + 5.6017 1.0000 + 7.0458 1.0000 + 8.6931 0.0000 + 11.3271 0.0000 + 11.9366 0.0000 + 13.5779 0.0000 + 14.3517 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7449 1.0000 + -30.0127 1.0000 + -29.9828 1.0000 + -29.8893 1.0000 + -1.3666 1.0000 + 4.4223 1.0000 + 4.6934 1.0000 + 5.6697 1.0000 + 5.8285 1.0000 + 8.0271 0.0206 + 8.3692 0.0000 + 9.4509 0.0000 + 9.7370 0.0000 + 14.9651 0.0000 + 15.3421 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2901 1.0000 + -65.7448 1.0000 + -30.0148 1.0000 + -29.9826 1.0000 + -29.8892 1.0000 + -1.3163 1.0000 + 4.3772 1.0000 + 4.7020 1.0000 + 5.4537 1.0000 + 5.9491 1.0000 + 7.7861 0.9142 + 8.5756 0.0000 + 9.5058 0.0000 + 9.8346 0.0000 + 15.0595 0.0000 + 16.2568 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2896 1.0000 + -65.7447 1.0000 + -30.0208 1.0000 + -29.9819 1.0000 + -29.8886 1.0000 + -1.1678 1.0000 + 4.1541 1.0000 + 4.7483 1.0000 + 5.2311 1.0000 + 6.0125 1.0000 + 7.4085 1.0000 + 8.9608 0.0000 + 9.3188 0.0000 + 10.3531 0.0000 + 15.1264 0.0000 + 15.6355 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7445 1.0000 + -30.0296 1.0000 + -29.9811 1.0000 + -29.8879 1.0000 + -0.9290 1.0000 + 3.7034 1.0000 + 4.8102 1.0000 + 5.1970 1.0000 + 5.9664 1.0000 + 7.1173 1.0000 + 8.9157 0.0000 + 9.5830 0.0000 + 14.0696 0.0000 + 15.5381 0.0000 + 16.0450 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7443 1.0000 + -30.0398 1.0000 + -29.9802 1.0000 + -29.8871 1.0000 + -0.6068 1.0000 + 3.1346 1.0000 + 4.8473 1.0000 + 5.3098 1.0000 + 5.8138 1.0000 + 6.9753 1.0000 + 8.6937 0.0000 + 10.0930 0.0000 + 11.5987 0.0000 + 14.2851 0.0000 + 15.4916 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7442 1.0000 + -30.0495 1.0000 + -29.9792 1.0000 + -29.8864 1.0000 + -0.2132 1.0000 + 2.5322 1.0000 + 4.8734 1.0000 + 5.4530 1.0000 + 5.6251 1.0000 + 6.9349 1.0000 + 8.5950 0.0000 + 10.5671 0.0000 + 12.1071 0.0000 + 13.6101 0.0000 + 15.2056 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7441 1.0000 + -30.0571 1.0000 + -29.9785 1.0000 + -29.8858 1.0000 + 0.2373 1.0000 + 1.9361 1.0000 + 4.9016 1.0000 + 5.4135 1.0000 + 5.6118 1.0000 + 6.9300 1.0000 + 8.6308 0.0000 + 10.9545 0.0000 + 12.2321 0.0000 + 13.3411 0.0000 + 14.6028 0.0000 + + + -91.8813 1.0000 + -91.4262 1.0000 + -91.2912 1.0000 + -65.7440 1.0000 + -30.0612 1.0000 + -29.9781 1.0000 + -29.8855 1.0000 + 0.7080 1.0000 + 1.3914 1.0000 + 4.9262 1.0000 + 5.3148 1.0000 + 5.6677 1.0000 + 6.9317 1.0000 + 8.7105 0.0000 + 11.2069 0.0000 + 11.9941 0.0000 + 13.6247 0.0000 + 14.2566 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7447 1.0000 + -30.0118 1.0000 + -29.9913 1.0000 + -29.8886 1.0000 + -1.2087 1.0000 + 4.2480 1.0000 + 4.7537 1.0000 + 5.5479 1.0000 + 5.6464 1.0000 + 7.5854 1.0000 + 8.8369 0.0000 + 9.1686 0.0000 + 10.3783 0.0000 + 15.1703 0.0000 + 16.5372 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7446 1.0000 + -30.0140 1.0000 + -29.9911 1.0000 + -29.8884 1.0000 + -1.1599 1.0000 + 4.2600 1.0000 + 4.7624 1.0000 + 5.1876 1.0000 + 5.8950 1.0000 + 7.3708 1.0000 + 9.0334 0.0000 + 9.3519 0.0000 + 10.2679 0.0000 + 15.3111 0.0000 + 15.6587 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7445 1.0000 + -30.0200 1.0000 + -29.9906 1.0000 + -29.8880 1.0000 + -1.0132 1.0000 + 4.2030 1.0000 + 4.7943 1.0000 + 4.8011 1.0000 + 6.0641 1.0000 + 6.9806 1.0000 + 9.4178 0.0000 + 9.6455 0.0000 + 10.1655 0.0000 + 15.5541 0.0000 + 16.0175 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7444 1.0000 + -30.0289 1.0000 + -29.9897 1.0000 + -29.8872 1.0000 + -0.7738 1.0000 + 3.8102 1.0000 + 4.7014 1.0000 + 4.8920 1.0000 + 6.0747 1.0000 + 6.6867 1.0000 + 9.3773 0.0000 + 9.9364 0.0000 + 10.5923 0.0000 + 15.0458 0.0000 + 15.9243 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7441 1.0000 + -30.0390 1.0000 + -29.9887 1.0000 + -29.8864 1.0000 + -0.4528 1.0000 + 3.2344 1.0000 + 4.7338 1.0000 + 5.0752 1.0000 + 5.8733 1.0000 + 6.6224 1.0000 + 9.0753 0.0000 + 10.3673 0.0000 + 11.1413 0.0000 + 14.3495 0.0000 + 16.6028 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7440 1.0000 + -30.0487 1.0000 + -29.9878 1.0000 + -29.8857 1.0000 + -0.0611 1.0000 + 2.6291 1.0000 + 4.7819 1.0000 + 5.2693 1.0000 + 5.6458 1.0000 + 6.6483 1.0000 + 8.8604 0.0000 + 10.6806 0.0000 + 11.6275 0.0000 + 13.8130 0.0000 + 15.2714 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7438 1.0000 + -30.0563 1.0000 + -29.9871 1.0000 + -29.8850 1.0000 + 0.3892 1.0000 + 2.0335 1.0000 + 4.8463 1.0000 + 5.2455 1.0000 + 5.6563 1.0000 + 6.6606 1.0000 + 8.7680 0.0000 + 10.8072 0.0000 + 11.9897 0.0000 + 13.5317 0.0000 + 14.8625 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7438 1.0000 + -30.0604 1.0000 + -29.9867 1.0000 + -29.8847 1.0000 + 0.8747 1.0000 + 1.4744 1.0000 + 4.9295 1.0000 + 5.1004 1.0000 + 5.7671 1.0000 + 6.6527 1.0000 + 8.7570 0.0000 + 10.8011 0.0000 + 12.1859 0.0000 + 13.5593 0.0000 + 14.6572 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7444 1.0000 + -30.0105 1.0000 + -30.0038 1.0000 + -29.8876 1.0000 + -0.9548 1.0000 + 3.8567 1.0000 + 4.8138 1.0000 + 5.4323 1.0000 + 5.5813 1.0000 + 7.2363 1.0000 + 8.8397 0.0000 + 9.4096 0.0000 + 11.0606 0.0000 + 14.9041 0.0000 + 15.9154 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7444 1.0000 + -30.0127 1.0000 + -30.0037 1.0000 + -29.8874 1.0000 + -0.9054 1.0000 + 3.8932 1.0000 + 4.8113 1.0000 + 5.0970 1.0000 + 5.8095 1.0000 + 7.0569 1.0000 + 9.0275 0.0000 + 9.5614 0.0000 + 10.9012 0.0000 + 15.3640 0.0000 + 16.2477 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7443 1.0000 + -30.0188 1.0000 + -30.0031 1.0000 + -29.8869 1.0000 + -0.7600 1.0000 + 3.9970 1.0000 + 4.5299 1.0000 + 4.9001 1.0000 + 6.0104 1.0000 + 6.6764 1.0000 + 9.4299 0.0000 + 9.9366 0.0000 + 10.5322 0.0000 + 15.0414 0.0000 + 15.7405 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7441 1.0000 + -30.0277 1.0000 + -30.0023 1.0000 + -29.8862 1.0000 + -0.5239 1.0000 + 3.9586 1.0000 + 4.1573 1.0000 + 4.9630 1.0000 + 6.1585 1.0000 + 6.2704 1.0000 + 9.7369 0.0000 + 10.1887 0.0000 + 10.4392 0.0000 + 14.6116 0.0000 + 15.8892 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7439 1.0000 + -30.0379 1.0000 + -30.0014 1.0000 + -29.8854 1.0000 + -0.2066 1.0000 + 3.3648 1.0000 + 4.3281 1.0000 + 5.0858 1.0000 + 5.8933 1.0000 + 6.2876 1.0000 + 9.4924 0.0000 + 10.3513 0.0000 + 10.9098 0.0000 + 14.1968 0.0000 + 15.6095 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7437 1.0000 + -30.0476 1.0000 + -30.0005 1.0000 + -29.8847 1.0000 + 0.1788 1.0000 + 2.7700 1.0000 + 4.4886 1.0000 + 5.2214 1.0000 + 5.6433 1.0000 + 6.3659 1.0000 + 9.1667 0.0000 + 10.4414 0.0000 + 11.3646 0.0000 + 13.8896 0.0000 + 16.6031 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7436 1.0000 + -30.0552 1.0000 + -29.9998 1.0000 + -29.8840 1.0000 + 0.6216 1.0000 + 2.1905 1.0000 + 4.6276 1.0000 + 5.1554 1.0000 + 5.7004 1.0000 + 6.3833 1.0000 + 8.9358 0.0000 + 10.3679 0.0000 + 11.7330 0.0000 + 13.7871 0.0000 + 15.4993 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2905 1.0000 + -65.7435 1.0000 + -30.0593 1.0000 + -29.9994 1.0000 + -29.8837 1.0000 + 1.1087 1.0000 + 1.6347 1.0000 + 4.7486 1.0000 + 4.9984 1.0000 + 5.8749 1.0000 + 6.3442 1.0000 + 8.8213 0.0000 + 10.2716 0.0000 + 11.9440 0.0000 + 13.8193 0.0000 + 14.8856 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2901 1.0000 + -65.7441 1.0000 + -30.0183 1.0000 + -30.0091 1.0000 + -29.8863 1.0000 + -0.6139 1.0000 + 3.3047 1.0000 + 4.8442 1.0000 + 5.4603 1.0000 + 5.4868 1.0000 + 7.0343 1.0000 + 8.6590 0.0000 + 9.9415 0.0000 + 11.7134 0.0000 + 14.2240 0.0000 + 15.8795 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7441 1.0000 + -30.0181 1.0000 + -30.0113 1.0000 + -29.8862 1.0000 + -0.5649 1.0000 + 3.3377 1.0000 + 4.8084 1.0000 + 5.2074 1.0000 + 5.6705 1.0000 + 6.9017 1.0000 + 8.8064 0.0000 + 10.0721 0.0000 + 11.5068 0.0000 + 14.3145 0.0000 + 15.6369 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7440 1.0000 + -30.0176 1.0000 + -30.0174 1.0000 + -29.8857 1.0000 + -0.4208 1.0000 + 3.4287 1.0000 + 4.5635 1.0000 + 5.0640 1.0000 + 5.7943 1.0000 + 6.6030 1.0000 + 9.1559 0.0000 + 10.3672 0.0000 + 11.0498 0.0000 + 14.3100 0.0000 + 15.6899 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7438 1.0000 + -30.0263 1.0000 + -30.0168 1.0000 + -29.8850 1.0000 + -0.1891 1.0000 + 3.5310 1.0000 + 4.1526 1.0000 + 5.0962 1.0000 + 5.8378 1.0000 + 6.3101 1.0000 + 9.5515 0.0000 + 10.4117 0.0000 + 10.7785 0.0000 + 14.0757 0.0000 + 16.4690 0.0000 + + + -91.8807 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7436 1.0000 + -30.0365 1.0000 + -30.0159 1.0000 + -29.8842 1.0000 + 0.1197 1.0000 + 3.3712 1.0000 + 3.9854 1.0000 + 5.1910 1.0000 + 5.7030 1.0000 + 6.2124 1.0000 + 9.7686 0.0000 + 10.0355 0.0000 + 10.9145 0.0000 + 13.9867 0.0000 + 15.9162 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7434 1.0000 + -30.0463 1.0000 + -30.0150 1.0000 + -29.8835 1.0000 + 0.4894 1.0000 + 2.9018 1.0000 + 4.1317 1.0000 + 5.2339 1.0000 + 5.5776 1.0000 + 6.2422 1.0000 + 9.4373 0.0000 + 9.9987 0.0000 + 11.0336 0.0000 + 14.2044 0.0000 + 15.5874 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7433 1.0000 + -30.0539 1.0000 + -30.0143 1.0000 + -29.8829 1.0000 + 0.9061 1.0000 + 2.3921 1.0000 + 4.3127 1.0000 + 5.0699 1.0000 + 5.7376 1.0000 + 6.2494 1.0000 + 9.0950 0.0000 + 9.8623 0.0000 + 11.1873 0.0000 + 15.0131 0.0000 + 17.2295 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7431 1.0000 + -30.0580 1.0000 + -30.0139 1.0000 + -29.8825 1.0000 + 1.3392 1.0000 + 1.9119 1.0000 + 4.4535 1.0000 + 4.9101 1.0000 + 5.9724 1.0000 + 6.1724 1.0000 + 8.8920 0.0000 + 9.7378 0.0000 + 11.2934 0.0000 + 14.5094 0.0000 + 14.9006 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7438 1.0000 + -30.0320 1.0000 + -30.0077 1.0000 + -29.8852 1.0000 + -0.1990 1.0000 + 2.6933 1.0000 + 4.8622 1.0000 + 5.3088 1.0000 + 5.5698 1.0000 + 6.9576 1.0000 + 8.6840 0.0000 + 10.4231 0.0000 + 12.3103 0.0000 + 13.3388 0.0000 + 15.0063 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7438 1.0000 + -30.0318 1.0000 + -30.0099 1.0000 + -29.8850 1.0000 + -0.1505 1.0000 + 2.7229 1.0000 + 4.8168 1.0000 + 5.2487 1.0000 + 5.5888 1.0000 + 6.8570 1.0000 + 8.7830 0.0000 + 10.5162 0.0000 + 12.0017 0.0000 + 13.5605 0.0000 + 14.9311 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2902 1.0000 + -65.7436 1.0000 + -30.0312 1.0000 + -30.0160 1.0000 + -29.8846 1.0000 + -0.0083 1.0000 + 2.8063 1.0000 + 4.6280 1.0000 + 5.1868 1.0000 + 5.6156 1.0000 + 6.6210 1.0000 + 9.0297 0.0000 + 10.6548 0.0000 + 11.4979 0.0000 + 13.6805 0.0000 + 16.1680 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7435 1.0000 + -30.0305 1.0000 + -30.0249 1.0000 + -29.8838 1.0000 + 0.2176 1.0000 + 2.9196 1.0000 + 4.3150 1.0000 + 5.2001 1.0000 + 5.6107 1.0000 + 6.3844 1.0000 + 9.3223 0.0000 + 10.4868 0.0000 + 11.1488 0.0000 + 13.7394 0.0000 + 15.2525 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7433 1.0000 + -30.0353 1.0000 + -30.0296 1.0000 + -29.8831 1.0000 + 0.5095 1.0000 + 2.9934 1.0000 + 4.0235 1.0000 + 5.2081 1.0000 + 5.5733 1.0000 + 6.2653 1.0000 + 9.5540 0.0000 + 10.0537 0.0000 + 10.8460 0.0000 + 14.0317 0.0000 + 16.9865 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7431 1.0000 + -30.0450 1.0000 + -30.0288 1.0000 + -29.8823 1.0000 + 0.8493 1.0000 + 2.8878 1.0000 + 3.9281 1.0000 + 5.0740 1.0000 + 5.6506 1.0000 + 6.2584 1.0000 + 9.5863 0.0000 + 9.6119 0.0000 + 10.5896 0.0000 + 14.5477 0.0000 + 16.1231 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7430 1.0000 + -30.0527 1.0000 + -30.0281 1.0000 + -29.8818 1.0000 + 1.2065 1.0000 + 2.5979 1.0000 + 4.0342 1.0000 + 4.8601 1.0000 + 5.8427 1.0000 + 6.2709 1.0000 + 9.2185 0.0000 + 9.4083 0.0000 + 10.5443 0.0000 + 14.9799 0.0000 + 16.9946 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7429 1.0000 + -30.0568 1.0000 + -30.0277 1.0000 + -29.8814 1.0000 + 1.5149 1.0000 + 2.3015 1.0000 + 4.1783 1.0000 + 4.6820 1.0000 + 6.0499 1.0000 + 6.2287 1.0000 + 8.9581 0.0000 + 9.2598 0.0000 + 10.5742 0.0000 + 14.8199 0.0000 + 15.4551 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2912 1.0000 + -65.7436 1.0000 + -30.0427 1.0000 + -30.0068 1.0000 + -29.8843 1.0000 + 0.2722 1.0000 + 2.0800 1.0000 + 4.8773 1.0000 + 5.1767 1.0000 + 5.6077 1.0000 + 6.9482 1.0000 + 8.9102 0.0000 + 10.8202 0.0000 + 12.5032 0.0000 + 12.8741 0.0000 + 14.6540 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7436 1.0000 + -30.0425 1.0000 + -30.0088 1.0000 + -29.8842 1.0000 + 0.3219 1.0000 + 2.1086 1.0000 + 4.8435 1.0000 + 5.1373 1.0000 + 5.6282 1.0000 + 6.8548 1.0000 + 8.9591 0.0000 + 10.8385 0.0000 + 12.1616 0.0000 + 13.3887 0.0000 + 14.7173 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7434 1.0000 + -30.0420 1.0000 + -30.0149 1.0000 + -29.8837 1.0000 + 0.4637 1.0000 + 2.1902 1.0000 + 4.6998 1.0000 + 5.0929 1.0000 + 5.6713 1.0000 + 6.6315 1.0000 + 9.0845 0.0000 + 10.7099 0.0000 + 11.8347 0.0000 + 13.3260 0.0000 + 14.8037 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2904 1.0000 + -65.7433 1.0000 + -30.0412 1.0000 + -30.0239 1.0000 + -29.8830 1.0000 + 0.6817 1.0000 + 2.3190 1.0000 + 4.4554 1.0000 + 5.0740 1.0000 + 5.7125 1.0000 + 6.4023 1.0000 + 9.2380 0.0000 + 10.3235 0.0000 + 11.4656 0.0000 + 13.6342 0.0000 + 15.3546 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7431 1.0000 + -30.0404 1.0000 + -30.0342 1.0000 + -29.8822 1.0000 + 0.9487 1.0000 + 2.4808 1.0000 + 4.1899 1.0000 + 5.0008 1.0000 + 5.7567 1.0000 + 6.2838 1.0000 + 9.3589 0.0000 + 9.8771 0.0000 + 10.8863 0.0000 + 14.2986 0.0000 + 15.7162 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7429 1.0000 + -30.0441 1.0000 + -30.0396 1.0000 + -29.8814 1.0000 + 1.2299 1.0000 + 2.6376 1.0000 + 3.9806 1.0000 + 4.8199 1.0000 + 5.8594 1.0000 + 6.2868 1.0000 + 9.3046 0.0000 + 9.5580 0.0000 + 10.2980 0.0000 + 14.7255 0.0000 + 15.1041 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7427 1.0000 + -30.0517 1.0000 + -30.0390 1.0000 + -29.8808 1.0000 + 1.4810 1.0000 + 2.7241 1.0000 + 3.9050 1.0000 + 4.5774 1.0000 + 6.0293 1.0000 + 6.3312 1.0000 + 9.0511 0.0000 + 9.2924 0.0000 + 9.9968 0.0000 + 14.8542 0.0000 + 17.0014 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7427 1.0000 + -30.0559 1.0000 + -30.0387 1.0000 + -29.8806 1.0000 + 1.6404 1.0000 + 2.7265 1.0000 + 3.9706 1.0000 + 4.3593 1.0000 + 6.1919 1.0000 + 6.3459 1.0000 + 8.8868 0.0000 + 9.0124 0.0000 + 9.9580 0.0000 + 16.6992 0.0000 + 18.2794 0.0000 + + + -91.8816 1.0000 + -91.4266 1.0000 + -91.2915 1.0000 + -65.7435 1.0000 + -30.0485 1.0000 + -30.0062 1.0000 + -29.8839 1.0000 + 0.7508 1.0000 + 1.5290 1.0000 + 4.8872 1.0000 + 5.1019 1.0000 + 5.6111 1.0000 + 6.9563 1.0000 + 9.1684 0.0000 + 11.0963 0.0000 + 11.8845 0.0000 + 13.4542 0.0000 + 13.9816 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7434 1.0000 + -30.0483 1.0000 + -30.0082 1.0000 + -29.8836 1.0000 + 0.8074 1.0000 + 1.5503 1.0000 + 4.8837 1.0000 + 5.0282 1.0000 + 5.6611 1.0000 + 6.8614 1.0000 + 9.1821 0.0000 + 10.9712 0.0000 + 11.9443 0.0000 + 13.3175 0.0000 + 14.0111 0.0000 + + + -91.8809 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7433 1.0000 + -30.0478 1.0000 + -30.0143 1.0000 + -29.8832 1.0000 + 0.9654 1.0000 + 1.6153 1.0000 + 4.7866 1.0000 + 4.9431 1.0000 + 5.7637 1.0000 + 6.6281 1.0000 + 9.2181 0.0000 + 10.6031 0.0000 + 12.0239 0.0000 + 13.2393 0.0000 + 14.3926 0.0000 + + + -91.8809 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7432 1.0000 + -30.0471 1.0000 + -30.0234 1.0000 + -29.8825 1.0000 + 1.1904 1.0000 + 1.7430 1.0000 + 4.5650 1.0000 + 4.9174 1.0000 + 5.8769 1.0000 + 6.3717 1.0000 + 9.2652 0.0000 + 10.1220 0.0000 + 11.6464 0.0000 + 13.6165 0.0000 + 14.7417 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7430 1.0000 + -30.0463 1.0000 + -30.0337 1.0000 + -29.8817 1.0000 + 1.4108 1.0000 + 1.9753 1.0000 + 4.3324 1.0000 + 4.8220 1.0000 + 5.9828 1.0000 + 6.2221 1.0000 + 9.3061 0.0000 + 9.6403 0.0000 + 10.9581 0.0000 + 14.3215 0.0000 + 14.8365 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7428 1.0000 + -30.0455 1.0000 + -30.0435 1.0000 + -29.8809 1.0000 + 1.5658 1.0000 + 2.3279 1.0000 + 4.1275 1.0000 + 4.6077 1.0000 + 6.0847 1.0000 + 6.2409 1.0000 + 9.1753 0.0000 + 9.3638 0.0000 + 10.2421 0.0000 + 14.7264 0.0000 + 15.1864 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7426 1.0000 + -30.0512 1.0000 + -30.0449 1.0000 + -29.8803 1.0000 + 1.6627 1.0000 + 2.7320 1.0000 + 3.9747 1.0000 + 4.3124 1.0000 + 6.2217 1.0000 + 6.3335 1.0000 + 8.8577 0.0000 + 9.2736 0.0000 + 9.7144 0.0000 + 14.6891 0.0000 + 16.0466 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7426 1.0000 + -30.0554 1.0000 + -30.0446 1.0000 + -29.8800 1.0000 + 1.7108 1.0000 + 3.0627 1.0000 + 3.8918 1.0000 + 4.0425 1.0000 + 6.3299 1.0000 + 6.4187 1.0000 + 8.6764 0.0000 + 9.0361 0.0000 + 9.5744 0.0000 + 15.1073 0.0000 + 16.7779 0.0000 + + + -91.8791 1.0000 + -91.4239 1.0000 + -91.2890 1.0000 + -65.7431 1.0000 + -30.0077 1.0000 + -29.9745 1.0000 + -29.9360 1.0000 + -0.9922 1.0000 + 4.1697 1.0000 + 4.4791 1.0000 + 5.2762 1.0000 + 5.5520 1.0000 + 8.4050 0.0000 + 8.4412 0.0000 + 9.7376 0.0000 + 9.9653 0.0000 + 14.6114 0.0000 + 15.5437 0.0000 + + + -91.8795 1.0000 + -91.4244 1.0000 + -91.2894 1.0000 + -65.7431 1.0000 + -30.0099 1.0000 + -29.9743 1.0000 + -29.9359 1.0000 + -0.9433 1.0000 + 4.1493 1.0000 + 4.4316 1.0000 + 5.2543 1.0000 + 5.5665 1.0000 + 8.1472 0.0001 + 8.5627 0.0000 + 9.6381 0.0000 + 10.2814 0.0000 + 14.5670 0.0000 + 16.3874 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7431 1.0000 + -30.0160 1.0000 + -29.9738 1.0000 + -29.9355 1.0000 + -0.7997 1.0000 + 3.9591 1.0000 + 4.4276 1.0000 + 5.2220 1.0000 + 5.6067 1.0000 + 7.6690 0.9988 + 8.8770 0.0000 + 9.3920 0.0000 + 10.9261 0.0000 + 14.5052 0.0000 + 15.8789 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7429 1.0000 + -30.0250 1.0000 + -29.9729 1.0000 + -29.9348 1.0000 + -0.5652 1.0000 + 3.5680 1.0000 + 4.5355 1.0000 + 5.2114 1.0000 + 5.6623 1.0000 + 7.2067 1.0000 + 9.1059 0.0000 + 9.2908 0.0000 + 11.6363 0.0000 + 14.1697 0.0000 + 15.7589 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7427 1.0000 + -30.0353 1.0000 + -29.9719 1.0000 + -29.9341 1.0000 + -0.2521 1.0000 + 3.0868 1.0000 + 4.6814 1.0000 + 5.2185 1.0000 + 5.7142 1.0000 + 6.8332 1.0000 + 8.8793 0.0000 + 9.7265 0.0000 + 12.2929 0.0000 + 13.5685 0.0000 + 16.1058 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7425 1.0000 + -30.0450 1.0000 + -29.9710 1.0000 + -29.9334 1.0000 + 0.1257 1.0000 + 2.5716 1.0000 + 4.8261 1.0000 + 5.2273 1.0000 + 5.7364 1.0000 + 6.5820 1.0000 + 8.7708 0.0000 + 10.1434 0.0000 + 12.7927 0.0000 + 12.8308 0.0000 + 15.4481 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7424 1.0000 + -30.0526 1.0000 + -29.9703 1.0000 + -29.9329 1.0000 + 0.5574 1.0000 + 2.0489 1.0000 + 4.9438 1.0000 + 5.2220 1.0000 + 5.7179 1.0000 + 6.4574 1.0000 + 8.7837 0.0000 + 10.5245 0.0000 + 12.1279 0.0000 + 13.0743 0.0000 + 15.2254 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7423 1.0000 + -30.0568 1.0000 + -29.9699 1.0000 + -29.9325 1.0000 + 1.0239 1.0000 + 1.5364 1.0000 + 5.0194 1.0000 + 5.2031 1.0000 + 5.6900 1.0000 + 6.4177 1.0000 + 8.8427 0.0000 + 10.8611 0.0000 + 11.5754 0.0000 + 13.1725 0.0000 + 14.7884 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2897 1.0000 + -65.7431 1.0000 + -30.0075 1.0000 + -29.9776 1.0000 + -29.9357 1.0000 + -0.9418 1.0000 + 4.1601 1.0000 + 4.4633 1.0000 + 5.2925 1.0000 + 5.4803 1.0000 + 8.1369 0.0002 + 8.5843 0.0000 + 9.8748 0.0000 + 14.2706 0.0000 + 16.6056 0.0000 + 16.6825 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2896 1.0000 + -65.7431 1.0000 + -30.0097 1.0000 + -29.9774 1.0000 + -29.9356 1.0000 + -0.8921 1.0000 + 4.1617 1.0000 + 4.4064 1.0000 + 5.2343 1.0000 + 5.5218 1.0000 + 7.8744 0.5472 + 8.6852 0.0000 + 9.8973 0.0000 + 10.2230 0.0000 + 14.6840 0.0000 + 15.1549 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2897 1.0000 + -65.7430 1.0000 + -30.0157 1.0000 + -29.9768 1.0000 + -29.9352 1.0000 + -0.7465 1.0000 + 4.0060 1.0000 + 4.3910 1.0000 + 5.1646 1.0000 + 5.5823 1.0000 + 7.4453 1.0000 + 8.9926 0.0000 + 9.6515 0.0000 + 10.7842 0.0000 + 14.7401 0.0000 + 15.9068 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7428 1.0000 + -30.0247 1.0000 + -29.9759 1.0000 + -29.9346 1.0000 + -0.5124 1.0000 + 3.6173 1.0000 + 4.5175 1.0000 + 5.1467 1.0000 + 5.6283 1.0000 + 7.0241 1.0000 + 9.3214 0.0000 + 9.4009 0.0000 + 11.4365 0.0000 + 14.2651 0.0000 + 15.7142 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7426 1.0000 + -30.0350 1.0000 + -29.9750 1.0000 + -29.9339 1.0000 + -0.2008 1.0000 + 3.1352 1.0000 + 4.6826 1.0000 + 5.1753 1.0000 + 5.6422 1.0000 + 6.6940 1.0000 + 9.0514 0.0000 + 9.8080 0.0000 + 13.0238 0.0000 + 15.4136 0.0000 + 16.0797 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7424 1.0000 + -30.0447 1.0000 + -29.9741 1.0000 + -29.9332 1.0000 + 0.1782 1.0000 + 2.6185 1.0000 + 4.8334 1.0000 + 5.2268 1.0000 + 5.6216 1.0000 + 6.4836 1.0000 + 8.8850 0.0000 + 10.1806 0.0000 + 12.1773 0.0000 + 13.4647 0.0000 + 15.3704 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7423 1.0000 + -30.0524 1.0000 + -29.9734 1.0000 + -29.9327 1.0000 + 0.6080 1.0000 + 2.0944 1.0000 + 4.9487 1.0000 + 5.2360 1.0000 + 5.6214 1.0000 + 6.3720 1.0000 + 8.8398 0.0000 + 10.4741 0.0000 + 11.9232 0.0000 + 13.5675 0.0000 + 15.0575 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7422 1.0000 + -30.0566 1.0000 + -29.9730 1.0000 + -29.9323 1.0000 + 1.0767 1.0000 + 1.5797 1.0000 + 5.0331 1.0000 + 5.1824 1.0000 + 5.6559 1.0000 + 6.3220 1.0000 + 8.8601 0.0000 + 10.6497 0.0000 + 11.6448 0.0000 + 13.4921 0.0000 + 14.9068 0.0000 + + + -91.8794 1.0000 + -91.4243 1.0000 + -91.2893 1.0000 + -65.7429 1.0000 + -30.0066 1.0000 + -29.9862 1.0000 + -29.9351 1.0000 + -0.7866 1.0000 + 4.0335 1.0000 + 4.4889 1.0000 + 5.3371 1.0000 + 5.3463 1.0000 + 7.5604 1.0000 + 8.8667 0.0000 + 9.5757 0.0000 + 10.8119 0.0000 + 15.0193 0.0000 + 16.5679 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2896 1.0000 + -65.7429 1.0000 + -30.0088 1.0000 + -29.9860 1.0000 + -29.9350 1.0000 + -0.7381 1.0000 + 4.0728 1.0000 + 4.4246 1.0000 + 5.1607 1.0000 + 5.4807 1.0000 + 7.3825 1.0000 + 8.9797 0.0000 + 9.7876 0.0000 + 10.6899 0.0000 + 14.8927 0.0000 + 16.0636 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7428 1.0000 + -30.0149 1.0000 + -29.9854 1.0000 + -29.9346 1.0000 + -0.5926 1.0000 + 4.1214 1.0000 + 4.2640 1.0000 + 5.0156 1.0000 + 5.5704 1.0000 + 7.0120 1.0000 + 9.2675 0.0000 + 10.0834 0.0000 + 10.5691 0.0000 + 14.8072 0.0000 + 15.6699 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2899 1.0000 + -65.7426 1.0000 + -30.0239 1.0000 + -29.9846 1.0000 + -29.9340 1.0000 + -0.3590 1.0000 + 3.7621 1.0000 + 4.4212 1.0000 + 4.9587 1.0000 + 5.6136 1.0000 + 6.6438 1.0000 + 9.6171 0.0000 + 9.8168 0.0000 + 11.0150 0.0000 + 14.3910 0.0000 + 16.1444 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7424 1.0000 + -30.0342 1.0000 + -29.9837 1.0000 + -29.9333 1.0000 + -0.0480 1.0000 + 3.2758 1.0000 + 4.6646 1.0000 + 4.9722 1.0000 + 5.5802 1.0000 + 6.3794 1.0000 + 9.4388 0.0000 + 9.9520 0.0000 + 11.4875 0.0000 + 13.9130 0.0000 + 15.6021 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7422 1.0000 + -30.0440 1.0000 + -29.9828 1.0000 + -29.9326 1.0000 + 0.3278 1.0000 + 2.7560 1.0000 + 4.8584 1.0000 + 5.1054 1.0000 + 5.4544 1.0000 + 6.2435 1.0000 + 9.1535 0.0000 + 10.1417 0.0000 + 11.7635 0.0000 + 13.9583 0.0000 + 15.3074 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7421 1.0000 + -30.0516 1.0000 + -29.9821 1.0000 + -29.9320 1.0000 + 0.7545 1.0000 + 2.2317 1.0000 + 4.9434 1.0000 + 5.2715 1.0000 + 5.3901 1.0000 + 6.1613 1.0000 + 8.9788 0.0000 + 10.1660 0.0000 + 11.8759 0.0000 + 14.0401 0.0000 + 14.7589 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7421 1.0000 + -30.0559 1.0000 + -29.9817 1.0000 + -29.9317 1.0000 + 1.2187 1.0000 + 1.7187 1.0000 + 5.0186 1.0000 + 5.1440 1.0000 + 5.6004 1.0000 + 6.0785 1.0000 + 8.9071 0.0000 + 10.1124 0.0000 + 11.9295 0.0000 + 14.1658 0.0000 + 14.5853 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7427 1.0000 + -30.0054 1.0000 + -29.9989 1.0000 + -29.9343 1.0000 + -0.5379 1.0000 + 3.7030 1.0000 + 4.6090 1.0000 + 5.2630 1.0000 + 5.3959 1.0000 + 7.0695 1.0000 + 9.0908 0.0000 + 9.4357 0.0000 + 11.5575 0.0000 + 14.3516 0.0000 + 16.3601 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7426 1.0000 + -30.0076 1.0000 + -29.9987 1.0000 + -29.9341 1.0000 + -0.4887 1.0000 + 3.7492 1.0000 + 4.5743 1.0000 + 5.0985 1.0000 + 5.4857 1.0000 + 6.9239 1.0000 + 9.2263 0.0000 + 9.5939 0.0000 + 11.3727 0.0000 + 14.7170 0.0000 + 16.1538 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7426 1.0000 + -30.0138 1.0000 + -29.9982 1.0000 + -29.9337 1.0000 + -0.3455 1.0000 + 3.8851 1.0000 + 4.3963 1.0000 + 4.8981 1.0000 + 5.5780 1.0000 + 6.6012 1.0000 + 9.5131 0.0000 + 9.9903 0.0000 + 10.9583 0.0000 + 15.0569 0.0000 + 16.3985 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7424 1.0000 + -30.0228 1.0000 + -29.9974 1.0000 + -29.9331 1.0000 + -0.1133 1.0000 + 3.9680 1.0000 + 4.1423 1.0000 + 4.8263 1.0000 + 5.6458 1.0000 + 6.2595 1.0000 + 9.7738 0.0000 + 10.2498 0.0000 + 10.7319 0.0000 + 13.9527 0.0000 + 15.3880 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7422 1.0000 + -30.0330 1.0000 + -29.9965 1.0000 + -29.9323 1.0000 + 0.1946 1.0000 + 3.4921 1.0000 + 4.4185 1.0000 + 4.8251 1.0000 + 5.6324 1.0000 + 6.0245 1.0000 + 9.7715 0.0000 + 9.9943 0.0000 + 11.1510 0.0000 + 13.7014 0.0000 + 16.5495 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7420 1.0000 + -30.0429 1.0000 + -29.9956 1.0000 + -29.9316 1.0000 + 0.5628 1.0000 + 2.9731 1.0000 + 4.7045 1.0000 + 4.9098 1.0000 + 5.4759 1.0000 + 5.9673 1.0000 + 9.4317 0.0000 + 9.8472 0.0000 + 11.5921 0.0000 + 13.6688 0.0000 + 15.3116 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7418 1.0000 + -30.0505 1.0000 + -29.9949 1.0000 + -29.9311 1.0000 + 0.9775 1.0000 + 2.4579 1.0000 + 4.7922 1.0000 + 5.2187 1.0000 + 5.3117 1.0000 + 5.9343 1.0000 + 9.1395 0.0000 + 9.6338 0.0000 + 11.9354 0.0000 + 13.8117 0.0000 + 15.0790 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7418 1.0000 + -30.0548 1.0000 + -29.9946 1.0000 + -29.9308 1.0000 + 1.4086 1.0000 + 1.9761 1.0000 + 4.8168 1.0000 + 5.2061 1.0000 + 5.5597 1.0000 + 5.8151 1.0000 + 8.9724 0.0000 + 9.4790 0.0000 + 12.1291 0.0000 + 14.1071 0.0000 + 15.6601 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2903 1.0000 + -65.7424 1.0000 + -30.0135 1.0000 + -30.0040 1.0000 + -29.9332 1.0000 + -0.2065 1.0000 + 3.2450 1.0000 + 4.7589 1.0000 + 5.2488 1.0000 + 5.4433 1.0000 + 6.6906 1.0000 + 8.9578 0.0000 + 9.7562 0.0000 + 12.2284 0.0000 + 13.6467 0.0000 + 15.6738 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7424 1.0000 + -30.0133 1.0000 + -30.0062 1.0000 + -29.9330 1.0000 + -0.1582 1.0000 + 3.2898 1.0000 + 4.7575 1.0000 + 5.1144 1.0000 + 5.4721 1.0000 + 6.5804 1.0000 + 9.0982 0.0000 + 9.8501 0.0000 + 11.9458 0.0000 + 13.9323 0.0000 + 15.6257 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7422 1.0000 + -30.0128 1.0000 + -30.0124 1.0000 + -29.9326 1.0000 + -0.0156 1.0000 + 3.4223 1.0000 + 4.6865 1.0000 + 4.8536 1.0000 + 5.5334 1.0000 + 6.3183 1.0000 + 9.4083 0.0000 + 10.0693 0.0000 + 11.4327 0.0000 + 13.8385 0.0000 + 15.3753 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7421 1.0000 + -30.0214 1.0000 + -30.0120 1.0000 + -29.9320 1.0000 + 0.2115 1.0000 + 3.6251 1.0000 + 4.2944 1.0000 + 4.8274 1.0000 + 5.6180 1.0000 + 6.0093 1.0000 + 9.6312 0.0000 + 10.2757 0.0000 + 11.0215 0.0000 + 13.6105 0.0000 + 15.5689 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7418 1.0000 + -30.0317 1.0000 + -30.0111 1.0000 + -29.9313 1.0000 + 0.5117 1.0000 + 3.6756 1.0000 + 4.0282 1.0000 + 4.8696 1.0000 + 5.6990 1.0000 + 5.7349 1.0000 + 9.5362 0.0000 + 10.2061 0.0000 + 11.0080 0.0000 + 13.5324 0.0000 + 15.5343 0.0000 + + + -91.8804 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7417 1.0000 + -30.0416 1.0000 + -30.0103 1.0000 + -29.9306 1.0000 + 0.8642 1.0000 + 3.2318 1.0000 + 4.2558 1.0000 + 4.9684 1.0000 + 5.4836 1.0000 + 5.8019 1.0000 + 9.2565 0.0000 + 9.8056 0.0000 + 11.2920 0.0000 + 13.6768 0.0000 + 15.4872 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7415 1.0000 + -30.0493 1.0000 + -30.0096 1.0000 + -29.9300 1.0000 + 1.2490 1.0000 + 2.7560 1.0000 + 4.4489 1.0000 + 5.1394 1.0000 + 5.3565 1.0000 + 5.8359 1.0000 + 8.9975 0.0000 + 9.3530 0.0000 + 11.5665 0.0000 + 14.0109 0.0000 + 15.4805 0.0000 + + + -91.8796 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7414 1.0000 + -30.0535 1.0000 + -30.0091 1.0000 + -29.9298 1.0000 + 1.6087 1.0000 + 2.3515 1.0000 + 4.5288 1.0000 + 5.1724 1.0000 + 5.4938 1.0000 + 5.7819 1.0000 + 8.8529 0.0000 + 9.0524 0.0000 + 11.7104 0.0000 + 14.0573 0.0000 + 15.0900 0.0000 + + + -91.8814 1.0000 + -91.4264 1.0000 + -91.2914 1.0000 + -65.7422 1.0000 + -30.0274 1.0000 + -30.0027 1.0000 + -29.9322 1.0000 + 0.1919 1.0000 + 2.7296 1.0000 + 4.8887 1.0000 + 5.2689 1.0000 + 5.4479 1.0000 + 6.4571 1.0000 + 8.9309 0.0000 + 10.1141 0.0000 + 12.7287 0.0000 + 12.8456 0.0000 + 15.3170 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7421 1.0000 + -30.0272 1.0000 + -30.0048 1.0000 + -29.9320 1.0000 + 0.2409 1.0000 + 2.7729 1.0000 + 4.8898 1.0000 + 5.2223 1.0000 + 5.3965 1.0000 + 6.3796 1.0000 + 9.0274 0.0000 + 10.1593 0.0000 + 12.1501 0.0000 + 13.4325 0.0000 + 15.0368 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7419 1.0000 + -30.0267 1.0000 + -30.0110 1.0000 + -29.9316 1.0000 + 0.3806 1.0000 + 2.8996 1.0000 + 4.8497 1.0000 + 5.0127 1.0000 + 5.3985 1.0000 + 6.1868 1.0000 + 9.2455 0.0000 + 10.1860 0.0000 + 11.6938 0.0000 + 13.6620 0.0000 + 14.8455 0.0000 + + + -91.8809 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7418 1.0000 + -30.0259 1.0000 + -30.0201 1.0000 + -29.9310 1.0000 + 0.6011 1.0000 + 3.0992 1.0000 + 4.5252 1.0000 + 4.9705 1.0000 + 5.4410 1.0000 + 5.9674 1.0000 + 9.3795 0.0000 + 10.0938 0.0000 + 11.4215 0.0000 + 13.4946 0.0000 + 15.3249 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7416 1.0000 + -30.0305 1.0000 + -30.0251 1.0000 + -29.9303 1.0000 + 0.8844 1.0000 + 3.3282 1.0000 + 4.1307 1.0000 + 4.9976 1.0000 + 5.4432 1.0000 + 5.8368 1.0000 + 9.1709 0.0000 + 10.0960 0.0000 + 11.0760 0.0000 + 13.6019 0.0000 + 15.5760 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7414 1.0000 + -30.0404 1.0000 + -30.0242 1.0000 + -29.9296 1.0000 + 1.2071 1.0000 + 3.3733 1.0000 + 3.9450 1.0000 + 5.0033 1.0000 + 5.4115 1.0000 + 5.8500 1.0000 + 8.8027 0.0000 + 9.9189 0.0000 + 10.8392 0.0000 + 13.9632 0.0000 + 15.2363 0.0000 + + + -91.8810 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7413 1.0000 + -30.0482 1.0000 + -30.0236 1.0000 + -29.9291 1.0000 + 1.5374 1.0000 + 3.0788 1.0000 + 4.0952 1.0000 + 4.9405 1.0000 + 5.4963 1.0000 + 5.8970 1.0000 + 8.4845 0.0000 + 9.4593 0.0000 + 10.8758 0.0000 + 14.4053 0.0000 + 17.6986 0.0000 + + + -91.8806 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7411 1.0000 + -30.0524 1.0000 + -30.0233 1.0000 + -29.9289 1.0000 + 1.8017 1.0000 + 2.7984 1.0000 + 4.2319 1.0000 + 4.8727 1.0000 + 5.6545 1.0000 + 5.8902 1.0000 + 8.3046 0.0000 + 9.1174 0.0000 + 10.9361 0.0000 + 14.6714 0.0000 + 15.1061 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7419 1.0000 + -30.0381 1.0000 + -30.0016 1.0000 + -29.9314 1.0000 + 0.6438 1.0000 + 2.1972 1.0000 + 4.9816 1.0000 + 5.2821 1.0000 + 5.4079 1.0000 + 6.3587 1.0000 + 9.0891 0.0000 + 10.4109 0.0000 + 12.0762 0.0000 + 12.9720 0.0000 + 14.7931 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7418 1.0000 + -30.0379 1.0000 + -30.0038 1.0000 + -29.9312 1.0000 + 0.6917 1.0000 + 2.2385 1.0000 + 4.9684 1.0000 + 5.2605 1.0000 + 5.3795 1.0000 + 6.2871 1.0000 + 9.1342 0.0000 + 10.3626 0.0000 + 11.8755 0.0000 + 13.5638 0.0000 + 14.7415 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7417 1.0000 + -30.0374 1.0000 + -30.0100 1.0000 + -29.9308 1.0000 + 0.8289 1.0000 + 2.3628 1.0000 + 4.8680 1.0000 + 5.2167 1.0000 + 5.3487 1.0000 + 6.1151 1.0000 + 9.2333 0.0000 + 10.1098 0.0000 + 11.7864 0.0000 + 13.8645 0.0000 + 14.5821 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7415 1.0000 + -30.0368 1.0000 + -30.0191 1.0000 + -29.9302 1.0000 + 1.0385 1.0000 + 2.5659 1.0000 + 4.6184 1.0000 + 5.2494 1.0000 + 5.2935 1.0000 + 5.9474 1.0000 + 9.2299 0.0000 + 9.7805 0.0000 + 11.7623 0.0000 + 14.6669 0.0000 + 33.9627 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7413 1.0000 + -30.0360 1.0000 + -30.0295 1.0000 + -29.9295 1.0000 + 1.2933 1.0000 + 2.8351 1.0000 + 4.3053 1.0000 + 5.1462 1.0000 + 5.3500 1.0000 + 5.8888 1.0000 + 8.8751 0.0000 + 9.7440 0.0000 + 11.2586 0.0000 + 13.7436 0.0000 + 15.3267 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7412 1.0000 + -30.0394 1.0000 + -30.0352 1.0000 + -29.9289 1.0000 + 1.5626 1.0000 + 3.1227 1.0000 + 4.0176 1.0000 + 4.9307 1.0000 + 5.5039 1.0000 + 5.9329 1.0000 + 8.4289 0.0000 + 9.7601 0.0000 + 10.6018 0.0000 + 14.2919 0.0000 + 15.0899 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7410 1.0000 + -30.0472 1.0000 + -30.0346 1.0000 + -29.9284 1.0000 + 1.8088 1.0000 + 3.2901 1.0000 + 3.8891 1.0000 + 4.7082 1.0000 + 5.7010 1.0000 + 6.0056 1.0000 + 8.0678 0.0044 + 9.5108 0.0000 + 10.2464 0.0000 + 14.9130 0.0000 + 15.6767 0.0000 + + + -91.8813 1.0000 + -91.4263 1.0000 + -91.2912 1.0000 + -65.7409 1.0000 + -30.0515 1.0000 + -30.0343 1.0000 + -29.9281 1.0000 + 1.9715 1.0000 + 3.2549 1.0000 + 3.9834 1.0000 + 4.5315 1.0000 + 5.8883 1.0000 + 6.0297 1.0000 + 7.8661 0.5933 + 9.1689 0.0000 + 10.2004 0.0000 + 15.0616 0.0000 + 32.0644 0.0000 + + + -91.8815 1.0000 + -91.4266 1.0000 + -91.2915 1.0000 + -65.7418 1.0000 + -30.0440 1.0000 + -30.0011 1.0000 + -29.9310 1.0000 + 1.1269 1.0000 + 1.6721 1.0000 + 5.0342 1.0000 + 5.2771 1.0000 + 5.3683 1.0000 + 6.3348 1.0000 + 9.3061 0.0000 + 10.6059 0.0000 + 11.5175 0.0000 + 13.0325 0.0000 + 14.6615 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7417 1.0000 + -30.0438 1.0000 + -30.0032 1.0000 + -29.9308 1.0000 + 1.1784 1.0000 + 1.7101 1.0000 + 5.0365 1.0000 + 5.1518 1.0000 + 5.4647 1.0000 + 6.2520 1.0000 + 9.3181 0.0000 + 10.4031 0.0000 + 11.5903 0.0000 + 13.3633 0.0000 + 14.5583 0.0000 + + + -91.8801 1.0000 + -91.4252 1.0000 + -91.2901 1.0000 + -65.7415 1.0000 + -30.0433 1.0000 + -30.0093 1.0000 + -29.9303 1.0000 + 1.3163 1.0000 + 1.8312 1.0000 + 4.8941 1.0000 + 5.1190 1.0000 + 5.5631 1.0000 + 6.0425 1.0000 + 9.3454 0.0000 + 9.9129 0.0000 + 12.0493 0.0000 + 13.9108 0.0000 + 14.3729 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7414 1.0000 + -30.0427 1.0000 + -30.0185 1.0000 + -29.9297 1.0000 + 1.5003 1.0000 + 2.0569 1.0000 + 4.6455 1.0000 + 5.1693 1.0000 + 5.5995 1.0000 + 5.8371 1.0000 + 9.2378 0.0000 + 9.4800 0.0000 + 11.9139 0.0000 + 13.5604 0.0000 + 14.7551 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7412 1.0000 + -30.0419 1.0000 + -30.0289 1.0000 + -29.9291 1.0000 + 1.6855 1.0000 + 2.3977 1.0000 + 4.3844 1.0000 + 5.1110 1.0000 + 5.5521 1.0000 + 5.8491 1.0000 + 8.7124 0.0000 + 9.4831 0.0000 + 11.3760 0.0000 + 13.8572 0.0000 + 14.9892 0.0000 + + + -91.8810 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7410 1.0000 + -30.0411 1.0000 + -30.0389 1.0000 + -29.9285 1.0000 + 1.8550 1.0000 + 2.8180 1.0000 + 4.1421 1.0000 + 4.8462 1.0000 + 5.6803 1.0000 + 5.9491 1.0000 + 8.2154 0.0000 + 9.5095 0.0000 + 10.5843 0.0000 + 14.5072 0.0000 + 15.0778 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7409 1.0000 + -30.0467 1.0000 + -30.0406 1.0000 + -29.9280 1.0000 + 1.9950 1.0000 + 3.2581 1.0000 + 3.9509 1.0000 + 4.5226 1.0000 + 5.8957 1.0000 + 6.0587 1.0000 + 7.8278 0.7815 + 9.4491 0.0000 + 9.9344 0.0000 + 15.0260 0.0000 + 18.3727 0.0000 + + + -91.8815 1.0000 + -91.4265 1.0000 + -91.2915 1.0000 + -65.7408 1.0000 + -30.0510 1.0000 + -30.0402 1.0000 + -29.9277 1.0000 + 2.0780 1.0000 + 3.6286 1.0000 + 3.8595 1.0000 + 4.2059 1.0000 + 6.0817 1.0000 + 6.1302 1.0000 + 7.6065 1.0000 + 9.1931 0.0000 + 9.7385 0.0000 + 15.0476 0.0000 + 16.6319 0.0000 + + + -91.8793 1.0000 + -91.4243 1.0000 + -91.2893 1.0000 + -65.7415 1.0000 + -30.0028 1.0000 + -29.9802 1.0000 + -29.9695 1.0000 + -0.4815 1.0000 + 3.4597 1.0000 + 4.4964 1.0000 + 4.9371 1.0000 + 5.1831 1.0000 + 8.4989 0.0000 + 9.1550 0.0000 + 10.1399 0.0000 + 10.4152 0.0000 + 14.2974 0.0000 + 14.8308 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2897 1.0000 + -65.7415 1.0000 + -30.0050 1.0000 + -29.9801 1.0000 + -29.9693 1.0000 + -0.4342 1.0000 + 3.4391 1.0000 + 4.4529 1.0000 + 4.9676 1.0000 + 5.2040 1.0000 + 8.2556 0.0000 + 9.2125 0.0000 + 10.0413 0.0000 + 10.7194 0.0000 + 14.2965 0.0000 + 15.1176 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7414 1.0000 + -30.0112 1.0000 + -29.9796 1.0000 + -29.9688 1.0000 + -0.2928 1.0000 + 3.3540 1.0000 + 4.3881 1.0000 + 5.0261 1.0000 + 5.2648 1.0000 + 7.7736 0.9387 + 9.3605 0.0000 + 9.8023 0.0000 + 11.3678 0.0000 + 13.9531 0.0000 + 14.9554 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7412 1.0000 + -30.0203 1.0000 + -29.9791 1.0000 + -29.9679 1.0000 + -0.0672 1.0000 + 3.1662 1.0000 + 4.3914 1.0000 + 5.0790 1.0000 + 5.3596 1.0000 + 7.2805 1.0000 + 9.4059 0.0000 + 9.6783 0.0000 + 12.0688 0.0000 + 13.4792 0.0000 + 15.2550 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7411 1.0000 + -30.0306 1.0000 + -29.9785 1.0000 + -29.9670 1.0000 + 0.2282 1.0000 + 2.8837 1.0000 + 4.4758 1.0000 + 5.1145 1.0000 + 5.4784 1.0000 + 6.8477 1.0000 + 9.1811 0.0000 + 9.8874 0.0000 + 12.5970 0.0000 + 12.9048 0.0000 + 15.2176 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7408 1.0000 + -30.0404 1.0000 + -29.9778 1.0000 + -29.9661 1.0000 + 0.5762 1.0000 + 2.5428 1.0000 + 4.6037 1.0000 + 5.1264 1.0000 + 5.6095 1.0000 + 6.4965 1.0000 + 9.0211 0.0000 + 10.1220 0.0000 + 12.3062 0.0000 + 12.7724 0.0000 + 15.5499 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7407 1.0000 + -30.0482 1.0000 + -29.9773 1.0000 + -29.9654 1.0000 + 0.9542 1.0000 + 2.1721 1.0000 + 4.7324 1.0000 + 5.1121 1.0000 + 5.7425 1.0000 + 6.2291 1.0000 + 8.9691 0.0000 + 10.3317 0.0000 + 11.7644 0.0000 + 12.7021 0.0000 + 15.1622 0.0000 + + + -91.8793 1.0000 + -91.4243 1.0000 + -91.2893 1.0000 + -65.7406 1.0000 + -30.0524 1.0000 + -29.9770 1.0000 + -29.9649 1.0000 + 1.3325 1.0000 + 1.8005 1.0000 + 4.8244 1.0000 + 5.0841 1.0000 + 5.8749 1.0000 + 6.0344 1.0000 + 8.9800 0.0000 + 10.4848 0.0000 + 11.3991 0.0000 + 12.6194 0.0000 + 17.5491 0.0000 + + + -91.8794 1.0000 + -91.4244 1.0000 + -91.2894 1.0000 + -65.7415 1.0000 + -30.0025 1.0000 + -29.9799 1.0000 + -29.9726 1.0000 + -0.4309 1.0000 + 3.4495 1.0000 + 4.4823 1.0000 + 4.9614 1.0000 + 5.1769 1.0000 + 8.1972 0.0000 + 9.2037 0.0000 + 10.3016 0.0000 + 10.5059 0.0000 + 14.3943 0.0000 + 15.2824 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7414 1.0000 + -30.0047 1.0000 + -29.9798 1.0000 + -29.9724 1.0000 + -0.3827 1.0000 + 3.4372 1.0000 + 4.4369 1.0000 + 4.9880 1.0000 + 5.1943 1.0000 + 7.9855 0.0733 + 9.2633 0.0000 + 10.3201 0.0000 + 10.6409 0.0000 + 14.3071 0.0000 + 15.7382 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7413 1.0000 + -30.0109 1.0000 + -29.9795 1.0000 + -29.9718 1.0000 + -0.2406 1.0000 + 3.3744 1.0000 + 4.3644 1.0000 + 5.0412 1.0000 + 5.2443 1.0000 + 7.5476 1.0000 + 9.4153 0.0000 + 10.0599 0.0000 + 11.2380 0.0000 + 14.8208 0.0000 + 16.0819 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7412 1.0000 + -30.0200 1.0000 + -29.9789 1.0000 + -29.9710 1.0000 + -0.0152 1.0000 + 3.2090 1.0000 + 4.3636 1.0000 + 5.0929 1.0000 + 5.3207 1.0000 + 7.0926 1.0000 + 9.5502 0.0000 + 9.7938 0.0000 + 11.8036 0.0000 + 13.5951 0.0000 + 14.9192 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7410 1.0000 + -30.0303 1.0000 + -29.9783 1.0000 + -29.9700 1.0000 + 0.2806 1.0000 + 2.9377 1.0000 + 4.4563 1.0000 + 5.1302 1.0000 + 5.4164 1.0000 + 6.6996 1.0000 + 9.3444 0.0000 + 9.9025 0.0000 + 12.0852 0.0000 + 13.4362 0.0000 + 15.8291 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7407 1.0000 + -30.0402 1.0000 + -29.9776 1.0000 + -29.9691 1.0000 + 0.6271 1.0000 + 2.6012 1.0000 + 4.5958 1.0000 + 5.1415 1.0000 + 5.5298 1.0000 + 6.3932 1.0000 + 9.1313 0.0000 + 10.0660 0.0000 + 11.8833 0.0000 + 13.3141 0.0000 + 15.1866 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7406 1.0000 + -30.0479 1.0000 + -29.9771 1.0000 + -29.9684 1.0000 + 1.0037 1.0000 + 2.2324 1.0000 + 4.7288 1.0000 + 5.1208 1.0000 + 5.6641 1.0000 + 6.1656 1.0000 + 9.0233 0.0000 + 10.1524 0.0000 + 11.6108 0.0000 + 13.1453 0.0000 + 15.2752 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2900 1.0000 + -65.7405 1.0000 + -30.0521 1.0000 + -29.9768 1.0000 + -29.9680 1.0000 + 1.3741 1.0000 + 1.8670 1.0000 + 4.8158 1.0000 + 5.0875 1.0000 + 5.8147 1.0000 + 5.9871 1.0000 + 8.9976 0.0000 + 10.1607 0.0000 + 11.4588 0.0000 + 13.0058 0.0000 + 15.0515 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7413 1.0000 + -30.0017 1.0000 + -29.9814 1.0000 + -29.9793 1.0000 + -0.2798 1.0000 + 3.3917 1.0000 + 4.4650 1.0000 + 5.0319 1.0000 + 5.1692 1.0000 + 7.6464 0.9996 + 9.3147 0.0000 + 10.0458 0.0000 + 11.2372 0.0000 + 14.4922 0.0000 + 15.3633 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7412 1.0000 + -30.0039 1.0000 + -29.9812 1.0000 + -29.9792 1.0000 + -0.2318 1.0000 + 3.4031 1.0000 + 4.4148 1.0000 + 5.0453 1.0000 + 5.1799 1.0000 + 7.4709 1.0000 + 9.3790 0.0000 + 10.2465 0.0000 + 11.0981 0.0000 + 14.1220 0.0000 + 16.8656 0.0000 + + + -91.8797 1.0000 + -91.4246 1.0000 + -91.2896 1.0000 + -65.7411 1.0000 + -30.0101 1.0000 + -29.9806 1.0000 + -29.9788 1.0000 + -0.0888 1.0000 + 3.4098 1.0000 + 4.3128 1.0000 + 5.0782 1.0000 + 5.2075 1.0000 + 7.0931 1.0000 + 9.5240 0.0000 + 10.5314 0.0000 + 10.9313 0.0000 + 13.8315 0.0000 + 14.9563 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7410 1.0000 + -30.0192 1.0000 + -29.9798 1.0000 + -29.9782 1.0000 + 0.1365 1.0000 + 3.3258 1.0000 + 4.2788 1.0000 + 5.1226 1.0000 + 5.2385 1.0000 + 6.6994 1.0000 + 9.6594 0.0000 + 10.2232 0.0000 + 11.3212 0.0000 + 13.9202 0.0000 + 16.2795 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7408 1.0000 + -30.0296 1.0000 + -29.9790 1.0000 + -29.9776 1.0000 + 0.4308 1.0000 + 3.0973 1.0000 + 4.3838 1.0000 + 5.1738 1.0000 + 5.2576 1.0000 + 6.3799 1.0000 + 9.6051 0.0000 + 9.9623 0.0000 + 11.5706 0.0000 + 13.6078 0.0000 + 14.8495 0.0000 + + + -91.8796 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7405 1.0000 + -30.0394 1.0000 + -29.9782 1.0000 + -29.9768 1.0000 + 0.7749 1.0000 + 2.7747 1.0000 + 4.5617 1.0000 + 5.1803 1.0000 + 5.3158 1.0000 + 6.1636 1.0000 + 9.3464 0.0000 + 9.8339 0.0000 + 11.6131 0.0000 + 13.9966 0.0000 + 14.7722 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7404 1.0000 + -30.0472 1.0000 + -29.9775 1.0000 + -29.9763 1.0000 + 1.1431 1.0000 + 2.4134 1.0000 + 4.7126 1.0000 + 5.1290 1.0000 + 5.4671 1.0000 + 6.0157 1.0000 + 9.1396 0.0000 + 9.6449 0.0000 + 11.6446 0.0000 + 14.7531 0.0000 + 45.4682 0.0000 + + + -91.8802 1.0000 + -91.4251 1.0000 + -91.2902 1.0000 + -65.7404 1.0000 + -30.0514 1.0000 + -29.9772 1.0000 + -29.9760 1.0000 + 1.4899 1.0000 + 2.0701 1.0000 + 4.7840 1.0000 + 5.0904 1.0000 + 5.6669 1.0000 + 5.8686 1.0000 + 9.0434 0.0000 + 9.4853 0.0000 + 11.6814 0.0000 + 13.7976 0.0000 + 15.2308 0.0000 + + + -91.8796 1.0000 + -91.4246 1.0000 + -91.2896 1.0000 + -65.7410 1.0000 + -30.0005 1.0000 + -29.9942 1.0000 + -29.9785 1.0000 + -0.0384 1.0000 + 3.2400 1.0000 + 4.4989 1.0000 + 5.1411 1.0000 + 5.1734 1.0000 + 7.1079 1.0000 + 9.3512 0.0000 + 9.8771 0.0000 + 11.9958 0.0000 + 13.6113 0.0000 + 21.7136 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7410 1.0000 + -30.0027 1.0000 + -29.9940 1.0000 + -29.9784 1.0000 + 0.0097 1.0000 + 3.2752 1.0000 + 4.4507 1.0000 + 5.1290 1.0000 + 5.1813 1.0000 + 6.9619 1.0000 + 9.4416 0.0000 + 10.0172 0.0000 + 11.7522 0.0000 + 13.6423 0.0000 + 14.9614 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7409 1.0000 + -30.0089 1.0000 + -29.9935 1.0000 + -29.9780 1.0000 + 0.1509 1.0000 + 3.3699 1.0000 + 4.3172 1.0000 + 5.1057 1.0000 + 5.2032 1.0000 + 6.6401 1.0000 + 9.5752 0.0000 + 10.3957 0.0000 + 11.2701 0.0000 + 13.5268 0.0000 + 14.8940 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7407 1.0000 + -30.0180 1.0000 + -29.9927 1.0000 + -29.9775 1.0000 + 0.3757 1.0000 + 3.4547 1.0000 + 4.1789 1.0000 + 5.0808 1.0000 + 5.2321 1.0000 + 6.3094 1.0000 + 9.5872 0.0000 + 10.6701 0.0000 + 10.9785 0.0000 + 13.3361 0.0000 + 16.3021 0.0000 + + + -91.8798 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7405 1.0000 + -30.0284 1.0000 + -29.9918 1.0000 + -29.9768 1.0000 + 0.6661 1.0000 + 3.3528 1.0000 + 4.2329 1.0000 + 5.0410 1.0000 + 5.2587 1.0000 + 6.0667 1.0000 + 9.4049 0.0000 + 10.2926 0.0000 + 11.3119 0.0000 + 13.8752 0.0000 + 38.4800 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7403 1.0000 + -30.0384 1.0000 + -29.9910 1.0000 + -29.9762 1.0000 + 1.0012 1.0000 + 3.0611 1.0000 + 4.4746 1.0000 + 4.9804 1.0000 + 5.2893 1.0000 + 5.9349 1.0000 + 9.1205 0.0000 + 9.8404 0.0000 + 11.5936 0.0000 + 13.6823 0.0000 + 15.1706 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7401 1.0000 + -30.0461 1.0000 + -29.9903 1.0000 + -29.9758 1.0000 + 1.3562 1.0000 + 2.7118 1.0000 + 4.6771 1.0000 + 4.9797 1.0000 + 5.3623 1.0000 + 5.8533 1.0000 + 8.8711 0.0000 + 9.4054 0.0000 + 11.8042 0.0000 + 14.1600 0.0000 + 14.8362 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7401 1.0000 + -30.0504 1.0000 + -29.9899 1.0000 + -29.9755 1.0000 + 1.6624 1.0000 + 2.4033 1.0000 + 4.7026 1.0000 + 5.0589 1.0000 + 5.5288 1.0000 + 5.7361 1.0000 + 8.7332 0.0000 + 9.1257 0.0000 + 11.9246 0.0000 + 14.4000 0.0000 + 14.8474 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7407 1.0000 + -30.0089 1.0000 + -29.9991 1.0000 + -29.9776 1.0000 + 0.2750 1.0000 + 2.9834 1.0000 + 4.6018 1.0000 + 5.1861 1.0000 + 5.2760 1.0000 + 6.6473 1.0000 + 9.2218 0.0000 + 9.9612 0.0000 + 12.7917 0.0000 + 14.6660 0.0000 + 37.0432 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7407 1.0000 + -30.0087 1.0000 + -30.0013 1.0000 + -29.9775 1.0000 + 0.3237 1.0000 + 3.0324 1.0000 + 4.5699 1.0000 + 5.1962 1.0000 + 5.2285 1.0000 + 6.5349 1.0000 + 9.3249 0.0000 + 10.0206 0.0000 + 12.0589 0.0000 + 13.6356 0.0000 + 16.3395 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7406 1.0000 + -30.0082 1.0000 + -30.0075 1.0000 + -29.9771 1.0000 + 0.4629 1.0000 + 3.1773 1.0000 + 4.4588 1.0000 + 5.1107 1.0000 + 5.2302 1.0000 + 6.2832 1.0000 + 9.4510 0.0000 + 10.2180 0.0000 + 11.5408 0.0000 + 13.5178 0.0000 + 14.9785 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7404 1.0000 + -30.0167 1.0000 + -30.0075 1.0000 + -29.9766 1.0000 + 0.6833 1.0000 + 3.4070 1.0000 + 4.2516 1.0000 + 4.9747 1.0000 + 5.2836 1.0000 + 6.0299 1.0000 + 9.3115 0.0000 + 10.5371 0.0000 + 11.2041 0.0000 + 13.5198 0.0000 + 16.1069 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7402 1.0000 + -30.0271 1.0000 + -30.0066 1.0000 + -29.9760 1.0000 + 0.9662 1.0000 + 3.6247 1.0000 + 4.0527 1.0000 + 4.8364 1.0000 + 5.3481 1.0000 + 5.8553 1.0000 + 8.9510 0.0000 + 10.5646 0.0000 + 11.1623 0.0000 + 13.2954 0.0000 + 15.4682 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7400 1.0000 + -30.0371 1.0000 + -30.0058 1.0000 + -29.9754 1.0000 + 1.2872 1.0000 + 3.4438 1.0000 + 4.2743 1.0000 + 4.7030 1.0000 + 5.4051 1.0000 + 5.7716 1.0000 + 8.5488 0.0000 + 10.0763 0.0000 + 11.4481 0.0000 + 13.4035 0.0000 + 15.3922 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7398 1.0000 + -30.0450 1.0000 + -30.0051 1.0000 + -29.9749 1.0000 + 1.6159 1.0000 + 3.1051 1.0000 + 4.5944 1.0000 + 4.6676 1.0000 + 5.4494 1.0000 + 5.7286 1.0000 + 8.2204 0.0000 + 9.5427 0.0000 + 11.6960 0.0000 + 13.7216 0.0000 + 15.3053 0.0000 + + + -91.8805 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7398 1.0000 + -30.0492 1.0000 + -30.0047 1.0000 + -29.9747 1.0000 + 1.8783 1.0000 + 2.8300 1.0000 + 4.5354 1.0000 + 4.9641 1.0000 + 5.5125 1.0000 + 5.6496 1.0000 + 8.0373 0.0144 + 9.1984 0.0000 + 11.8323 0.0000 + 13.9270 0.0000 + 15.3527 0.0000 + + + -91.8801 1.0000 + -91.4252 1.0000 + -91.2901 1.0000 + -65.7404 1.0000 + -30.0228 1.0000 + -29.9977 1.0000 + -29.9766 1.0000 + 0.6424 1.0000 + 2.6545 1.0000 + 4.7408 1.0000 + 5.1925 1.0000 + 5.4185 1.0000 + 6.2853 1.0000 + 9.1528 0.0000 + 10.1154 0.0000 + 12.2959 0.0000 + 12.6644 0.0000 + 15.1835 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7404 1.0000 + -30.0228 1.0000 + -30.0000 1.0000 + -29.9766 1.0000 + 0.6883 1.0000 + 2.7077 1.0000 + 4.7264 1.0000 + 5.2034 1.0000 + 5.3412 1.0000 + 6.2150 1.0000 + 9.2183 0.0000 + 10.0975 0.0000 + 11.8514 0.0000 + 13.2505 0.0000 + 15.4538 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7403 1.0000 + -30.0223 1.0000 + -30.0062 1.0000 + -29.9762 1.0000 + 0.8257 1.0000 + 2.8686 1.0000 + 4.6756 1.0000 + 5.1155 1.0000 + 5.2552 1.0000 + 6.0553 1.0000 + 9.2590 0.0000 + 10.0607 0.0000 + 11.5620 0.0000 + 14.3861 0.0000 + 15.3778 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7401 1.0000 + -30.0215 1.0000 + -30.0154 1.0000 + -29.9757 1.0000 + 1.0393 1.0000 + 3.1357 1.0000 + 4.5429 1.0000 + 4.8526 1.0000 + 5.3235 1.0000 + 5.8912 1.0000 + 8.9678 0.0000 + 10.1859 0.0000 + 11.4775 0.0000 + 13.5169 0.0000 + 15.2678 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7399 1.0000 + -30.0259 1.0000 + -30.0207 1.0000 + -29.9751 1.0000 + 1.3079 1.0000 + 3.4975 1.0000 + 4.2537 1.0000 + 4.6695 1.0000 + 5.4215 1.0000 + 5.7678 1.0000 + 8.4790 0.0000 + 10.3583 0.0000 + 11.2562 0.0000 + 13.7957 0.0000 + 15.4576 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2903 1.0000 + -65.7397 1.0000 + -30.0359 1.0000 + -30.0199 1.0000 + -29.9745 1.0000 + 1.6071 1.0000 + 3.8504 1.0000 + 3.9497 1.0000 + 4.5723 1.0000 + 5.5290 1.0000 + 5.6928 1.0000 + 7.9970 0.0531 + 10.1882 0.0000 + 11.0596 0.0000 + 13.6172 0.0000 + 15.4580 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7395 1.0000 + -30.0438 1.0000 + -30.0193 1.0000 + -29.9740 1.0000 + 1.9028 1.0000 + 3.5236 1.0000 + 4.2368 1.0000 + 4.6294 1.0000 + 5.6020 1.0000 + 5.6607 1.0000 + 7.6208 0.9999 + 9.6622 0.0000 + 11.1234 0.0000 + 13.9670 0.0000 + 15.5268 0.0000 + + + -91.8808 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7395 1.0000 + -30.0481 1.0000 + -30.0189 1.0000 + -29.9738 1.0000 + 2.1226 1.0000 + 3.2739 1.0000 + 4.2868 1.0000 + 4.8744 1.0000 + 5.6116 1.0000 + 5.6455 1.0000 + 7.4201 1.0000 + 9.2695 0.0000 + 11.1923 0.0000 + 14.0391 0.0000 + 15.3789 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7402 1.0000 + -30.0338 1.0000 + -29.9968 1.0000 + -29.9759 1.0000 + 1.0386 1.0000 + 2.2838 1.0000 + 4.8741 1.0000 + 5.1768 1.0000 + 5.5479 1.0000 + 6.0278 1.0000 + 9.2474 0.0000 + 10.2163 0.0000 + 11.7129 0.0000 + 12.5232 0.0000 + 15.0058 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7401 1.0000 + -30.0336 1.0000 + -29.9990 1.0000 + -29.9758 1.0000 + 1.0849 1.0000 + 2.3392 1.0000 + 4.8595 1.0000 + 5.1791 1.0000 + 5.4792 1.0000 + 5.9945 1.0000 + 9.2635 0.0000 + 10.0727 0.0000 + 11.5584 0.0000 + 12.9761 0.0000 + 14.9006 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7400 1.0000 + -30.0331 1.0000 + -30.0052 1.0000 + -29.9755 1.0000 + 1.2159 1.0000 + 2.5063 1.0000 + 4.8118 1.0000 + 5.1287 1.0000 + 5.3567 1.0000 + 5.9132 1.0000 + 9.1604 0.0000 + 9.8071 0.0000 + 11.5723 0.0000 + 13.7995 0.0000 + 14.5522 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7399 1.0000 + -30.0325 1.0000 + -30.0144 1.0000 + -29.9750 1.0000 + 1.4162 1.0000 + 2.7831 1.0000 + 4.7111 1.0000 + 4.9082 1.0000 + 5.3719 1.0000 + 5.8226 1.0000 + 8.6841 0.0000 + 9.8145 0.0000 + 11.6802 0.0000 + 13.7580 0.0000 + 15.0949 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7397 1.0000 + -30.0317 1.0000 + -30.0249 1.0000 + -29.9744 1.0000 + 1.6606 1.0000 + 3.1538 1.0000 + 4.4685 1.0000 + 4.7356 1.0000 + 5.4606 1.0000 + 5.7551 1.0000 + 8.0965 0.0013 + 9.9238 0.0000 + 11.4526 0.0000 + 13.4892 0.0000 + 15.4328 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7394 1.0000 + -30.0350 1.0000 + -30.0309 1.0000 + -29.9738 1.0000 + 1.9273 1.0000 + 3.5628 1.0000 + 4.1380 1.0000 + 4.6730 1.0000 + 5.5708 1.0000 + 5.7308 1.0000 + 7.5590 1.0000 + 9.9659 0.0000 + 10.8523 0.0000 + 14.1412 0.0000 + 15.3603 0.0000 + + + -91.8813 1.0000 + -91.4263 1.0000 + -91.2912 1.0000 + -65.7394 1.0000 + -30.0429 1.0000 + -30.0304 1.0000 + -29.9734 1.0000 + 2.1834 1.0000 + 3.8283 1.0000 + 3.8862 1.0000 + 4.7204 1.0000 + 5.6527 1.0000 + 5.7690 1.0000 + 7.1423 1.0000 + 9.7054 0.0000 + 10.4694 0.0000 + 14.5817 0.0000 + 17.9482 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2912 1.0000 + -65.7393 1.0000 + -30.0472 1.0000 + -30.0300 1.0000 + -29.9732 1.0000 + 2.3655 1.0000 + 3.6194 1.0000 + 4.0214 1.0000 + 4.8461 1.0000 + 5.7172 1.0000 + 5.7917 1.0000 + 6.9188 1.0000 + 9.3231 0.0000 + 10.4174 0.0000 + 14.4421 0.0000 + 15.8976 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7400 1.0000 + -30.0397 1.0000 + -29.9962 1.0000 + -29.9755 1.0000 + 1.4380 1.0000 + 1.9003 1.0000 + 4.9695 1.0000 + 5.1428 1.0000 + 5.6423 1.0000 + 5.8766 1.0000 + 9.4326 0.0000 + 10.2038 0.0000 + 11.3534 0.0000 + 12.4003 0.0000 + 15.1798 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7400 1.0000 + -30.0396 1.0000 + -29.9984 1.0000 + -29.9754 1.0000 + 1.4775 1.0000 + 1.9610 1.0000 + 4.9344 1.0000 + 5.1436 1.0000 + 5.6222 1.0000 + 5.8407 1.0000 + 9.4328 0.0000 + 9.9118 0.0000 + 11.4086 0.0000 + 12.7786 0.0000 + 14.7529 0.0000 + + + -91.8802 1.0000 + -91.4253 1.0000 + -91.2902 1.0000 + -65.7399 1.0000 + -30.0391 1.0000 + -30.0046 1.0000 + -29.9751 1.0000 + 1.5884 1.0000 + 2.1473 1.0000 + 4.8263 1.0000 + 5.1395 1.0000 + 5.5663 1.0000 + 5.7671 1.0000 + 9.1881 0.0000 + 9.5548 0.0000 + 11.6103 0.0000 + 13.5641 0.0000 + 14.7151 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2902 1.0000 + -65.7397 1.0000 + -30.0384 1.0000 + -30.0138 1.0000 + -29.9746 1.0000 + 1.7510 1.0000 + 2.4554 1.0000 + 4.6493 1.0000 + 5.1054 1.0000 + 5.5016 1.0000 + 5.7219 1.0000 + 8.5259 0.0000 + 9.5738 0.0000 + 11.7986 0.0000 + 14.0607 0.0000 + 14.5081 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2904 1.0000 + -65.7395 1.0000 + -30.0377 1.0000 + -30.0244 1.0000 + -29.9740 1.0000 + 1.9503 1.0000 + 2.8575 1.0000 + 4.4232 1.0000 + 5.0190 1.0000 + 5.4953 1.0000 + 5.7259 1.0000 + 7.8787 0.5228 + 9.6218 0.0000 + 11.5688 0.0000 + 13.6440 0.0000 + 15.2299 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7393 1.0000 + -30.0369 1.0000 + -30.0345 1.0000 + -29.9735 1.0000 + 2.1724 1.0000 + 3.2887 1.0000 + 4.1759 1.0000 + 4.9222 1.0000 + 5.5665 1.0000 + 5.7737 1.0000 + 7.3144 1.0000 + 9.6562 0.0000 + 10.8484 0.0000 + 13.8758 0.0000 + 15.6076 0.0000 + + + -91.8813 1.0000 + -91.4263 1.0000 + -91.2913 1.0000 + -65.7392 1.0000 + -30.0424 1.0000 + -30.0364 1.0000 + -29.9731 1.0000 + 2.3889 1.0000 + 3.6451 1.0000 + 3.9430 1.0000 + 4.8684 1.0000 + 5.6997 1.0000 + 5.8611 1.0000 + 6.8688 1.0000 + 9.6086 0.0000 + 10.1393 0.0000 + 15.1730 0.0000 + 16.3079 0.0000 + + + -91.8813 1.0000 + -91.4263 1.0000 + -91.2913 1.0000 + -65.7391 1.0000 + -30.0467 1.0000 + -30.0360 1.0000 + -29.9728 1.0000 + 2.5397 1.0000 + 3.7856 1.0000 + 3.8326 1.0000 + 4.8610 1.0000 + 5.8430 1.0000 + 5.9453 1.0000 + 6.5965 1.0000 + 9.3465 0.0000 + 9.8978 0.0000 + 15.1892 0.0000 + 16.2199 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2900 1.0000 + -65.7403 1.0000 + -30.0144 1.0000 + -29.9990 1.0000 + -29.9656 1.0000 + 0.0785 1.0000 + 2.7125 1.0000 + 4.5094 1.0000 + 4.6940 1.0000 + 4.9214 1.0000 + 8.5745 0.0000 + 10.1269 0.0000 + 10.5365 0.0000 + 10.8704 0.0000 + 13.9768 0.0000 + 14.6979 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7402 1.0000 + -30.0143 1.0000 + -30.0012 1.0000 + -29.9654 1.0000 + 0.1273 1.0000 + 2.6983 1.0000 + 4.4779 1.0000 + 4.7369 1.0000 + 4.9443 1.0000 + 8.3529 0.0000 + 10.1419 0.0000 + 10.4344 0.0000 + 11.1645 0.0000 + 13.6110 0.0000 + 14.5556 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7401 1.0000 + -30.0140 1.0000 + -30.0074 1.0000 + -29.9649 1.0000 + 0.2683 1.0000 + 2.6518 1.0000 + 4.4352 1.0000 + 4.8169 1.0000 + 5.0107 1.0000 + 7.8922 0.4469 + 10.1231 0.0000 + 10.2307 0.0000 + 11.8214 0.0000 + 13.2548 0.0000 + 14.5906 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7399 1.0000 + -30.0165 1.0000 + -30.0135 1.0000 + -29.9640 1.0000 + 0.4880 1.0000 + 2.5740 1.0000 + 4.4223 1.0000 + 4.8957 1.0000 + 5.1141 1.0000 + 7.4082 1.0000 + 9.8145 0.0000 + 10.2589 0.0000 + 12.5295 0.0000 + 12.7207 0.0000 + 14.5641 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7397 1.0000 + -30.0269 1.0000 + -30.0129 1.0000 + -29.9631 1.0000 + 0.7614 1.0000 + 2.4691 1.0000 + 4.4450 1.0000 + 4.9606 1.0000 + 5.2429 1.0000 + 6.9802 1.0000 + 9.4992 0.0000 + 10.2989 0.0000 + 12.2571 0.0000 + 12.7704 0.0000 + 14.6183 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7395 1.0000 + -30.0369 1.0000 + -30.0123 1.0000 + -29.9621 1.0000 + 1.0553 1.0000 + 2.3467 1.0000 + 4.4910 1.0000 + 5.0061 1.0000 + 5.3805 1.0000 + 6.6366 1.0000 + 9.2609 0.0000 + 10.3038 0.0000 + 11.8735 0.0000 + 12.5601 0.0000 + 15.5151 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7394 1.0000 + -30.0447 1.0000 + -30.0119 1.0000 + -29.9614 1.0000 + 1.3266 1.0000 + 2.2198 1.0000 + 4.5371 1.0000 + 5.0314 1.0000 + 5.5048 1.0000 + 6.3900 1.0000 + 9.1261 0.0000 + 10.2612 0.0000 + 11.5989 0.0000 + 12.2895 0.0000 + 15.2894 0.0000 + + + -91.8792 1.0000 + -91.4242 1.0000 + -91.2892 1.0000 + -65.7392 1.0000 + -30.0489 1.0000 + -30.0116 1.0000 + -29.9610 1.0000 + 1.5141 1.0000 + 2.1185 1.0000 + 4.5650 1.0000 + 5.0425 1.0000 + 5.5850 1.0000 + 6.2547 1.0000 + 9.0783 0.0000 + 10.2059 0.0000 + 11.4660 0.0000 + 12.1310 0.0000 + 14.9984 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7402 1.0000 + -30.0143 1.0000 + -29.9987 1.0000 + -29.9687 1.0000 + 0.1308 1.0000 + 2.7052 1.0000 + 4.5062 1.0000 + 4.7211 1.0000 + 4.9341 1.0000 + 8.2944 0.0000 + 10.1322 0.0000 + 10.7510 0.0000 + 10.8939 0.0000 + 14.0685 0.0000 + 19.2975 0.0000 + + + -91.8799 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7402 1.0000 + -30.0141 1.0000 + -30.0009 1.0000 + -29.9685 1.0000 + 0.1799 1.0000 + 2.6961 1.0000 + 4.4700 1.0000 + 4.7546 1.0000 + 4.9662 1.0000 + 8.0964 0.0013 + 10.1465 0.0000 + 10.7223 0.0000 + 11.0608 0.0000 + 13.4843 0.0000 + 14.7098 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7400 1.0000 + -30.0138 1.0000 + -30.0071 1.0000 + -29.9680 1.0000 + 0.3214 1.0000 + 2.6647 1.0000 + 4.4164 1.0000 + 4.8132 1.0000 + 5.0527 1.0000 + 7.6707 0.9986 + 10.1672 0.0000 + 10.4384 0.0000 + 11.6127 0.0000 + 13.1255 0.0000 + 15.0675 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7399 1.0000 + -30.0163 1.0000 + -30.0133 1.0000 + -29.9671 1.0000 + 0.5403 1.0000 + 2.6055 1.0000 + 4.3962 1.0000 + 4.8703 1.0000 + 5.1699 1.0000 + 7.2169 1.0000 + 9.9996 0.0000 + 10.2485 0.0000 + 11.9915 0.0000 + 13.4963 0.0000 + 14.9307 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7397 1.0000 + -30.0266 1.0000 + -30.0127 1.0000 + -29.9662 1.0000 + 0.8138 1.0000 + 2.5179 1.0000 + 4.4217 1.0000 + 4.9184 1.0000 + 5.2999 1.0000 + 6.8210 1.0000 + 9.6472 0.0000 + 10.2064 0.0000 + 11.8412 0.0000 + 13.2636 0.0000 + 14.4602 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7395 1.0000 + -30.0366 1.0000 + -30.0121 1.0000 + -29.9653 1.0000 + 1.1061 1.0000 + 2.4089 1.0000 + 4.4770 1.0000 + 4.9499 1.0000 + 5.4309 1.0000 + 6.5164 1.0000 + 9.3564 0.0000 + 10.0920 0.0000 + 11.6293 0.0000 + 13.0657 0.0000 + 15.1621 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7393 1.0000 + -30.0444 1.0000 + -30.0117 1.0000 + -29.9646 1.0000 + 1.3737 1.0000 + 2.2928 1.0000 + 4.5311 1.0000 + 4.9651 1.0000 + 5.5497 1.0000 + 6.3103 1.0000 + 9.1728 0.0000 + 9.9154 0.0000 + 11.5234 0.0000 + 12.7770 0.0000 + 15.3120 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7392 1.0000 + -30.0487 1.0000 + -30.0114 1.0000 + -29.9642 1.0000 + 1.5535 1.0000 + 2.2004 1.0000 + 4.5595 1.0000 + 4.9718 1.0000 + 5.6296 1.0000 + 6.2011 1.0000 + 9.0958 0.0000 + 9.7761 0.0000 + 11.4975 0.0000 + 12.5932 0.0000 + 15.0907 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7400 1.0000 + -30.0138 1.0000 + -29.9979 1.0000 + -29.9775 1.0000 + 0.2825 1.0000 + 2.6761 1.0000 + 4.5064 1.0000 + 4.8000 1.0000 + 4.9688 1.0000 + 7.7564 0.9630 + 10.1137 0.0000 + 10.4867 0.0000 + 11.6479 0.0000 + 13.3919 0.0000 + 14.4508 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7400 1.0000 + -30.0137 1.0000 + -30.0001 1.0000 + -29.9773 1.0000 + 0.3313 1.0000 + 2.6826 1.0000 + 4.4604 1.0000 + 4.8061 1.0000 + 5.0256 1.0000 + 7.5867 1.0000 + 10.1283 0.0000 + 10.6729 0.0000 + 11.4680 0.0000 + 13.1394 0.0000 + 14.3328 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2897 1.0000 + -65.7398 1.0000 + -30.0133 1.0000 + -30.0063 1.0000 + -29.9768 1.0000 + 0.4736 1.0000 + 2.6942 1.0000 + 4.3753 1.0000 + 4.8323 1.0000 + 5.1415 1.0000 + 7.2084 1.0000 + 10.1072 0.0000 + 10.9314 0.0000 + 11.2329 0.0000 + 12.9608 0.0000 + 14.6853 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2900 1.0000 + -65.7397 1.0000 + -30.0155 1.0000 + -30.0128 1.0000 + -29.9760 1.0000 + 0.6917 1.0000 + 2.6939 1.0000 + 4.3211 1.0000 + 4.8693 1.0000 + 5.2665 1.0000 + 6.8005 1.0000 + 9.9630 0.0000 + 10.5675 0.0000 + 11.4806 0.0000 + 13.0652 0.0000 + 14.4338 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7395 1.0000 + -30.0259 1.0000 + -30.0122 1.0000 + -29.9751 1.0000 + 0.9628 1.0000 + 2.6633 1.0000 + 4.3343 1.0000 + 4.8939 1.0000 + 5.3859 1.0000 + 6.4620 1.0000 + 9.6578 0.0000 + 10.1908 0.0000 + 11.5257 0.0000 + 13.6164 0.0000 + 15.5505 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7393 1.0000 + -30.0359 1.0000 + -30.0116 1.0000 + -29.9742 1.0000 + 1.2487 1.0000 + 2.5974 1.0000 + 4.4087 1.0000 + 4.8823 1.0000 + 5.5018 1.0000 + 6.2380 1.0000 + 9.3183 0.0000 + 9.7979 0.0000 + 11.5299 0.0000 + 13.8800 0.0000 + 14.6587 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7391 1.0000 + -30.0437 1.0000 + -30.0112 1.0000 + -29.9735 1.0000 + 1.5051 1.0000 + 2.5119 1.0000 + 4.4950 1.0000 + 4.8424 1.0000 + 5.6205 1.0000 + 6.1187 1.0000 + 9.0647 0.0000 + 9.4200 0.0000 + 11.5701 0.0000 + 13.6103 0.0000 + 15.8073 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7390 1.0000 + -30.0480 1.0000 + -30.0110 1.0000 + -29.9731 1.0000 + 1.6705 1.0000 + 2.4419 1.0000 + 4.5400 1.0000 + 4.8182 1.0000 + 5.7164 1.0000 + 6.0601 1.0000 + 8.9498 0.0000 + 9.1654 0.0000 + 11.6090 0.0000 + 13.4604 0.0000 + 15.4612 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7397 1.0000 + -30.0130 1.0000 + -29.9967 1.0000 + -29.9905 1.0000 + 0.5171 1.0000 + 2.6203 1.0000 + 4.5293 1.0000 + 4.9234 1.0000 + 5.0169 1.0000 + 7.2171 1.0000 + 9.9208 0.0000 + 10.3388 0.0000 + 12.4204 0.0000 + 12.7407 0.0000 + 14.2892 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7397 1.0000 + -30.0129 1.0000 + -29.9989 1.0000 + -29.9903 1.0000 + 0.5656 1.0000 + 2.6459 1.0000 + 4.4784 1.0000 + 4.8801 1.0000 + 5.1125 1.0000 + 7.0689 1.0000 + 9.9752 0.0000 + 10.4280 0.0000 + 12.5187 0.0000 + 32.9739 0.0000 + 35.7387 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7396 1.0000 + -30.0125 1.0000 + -30.0051 1.0000 + -29.9898 1.0000 + 0.7061 1.0000 + 2.7176 1.0000 + 4.3568 1.0000 + 4.8822 1.0000 + 5.2415 1.0000 + 6.7298 1.0000 + 9.8871 0.0000 + 10.7646 0.0000 + 11.4466 0.0000 + 14.5915 0.0000 + 38.5493 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2900 1.0000 + -65.7394 1.0000 + -30.0143 1.0000 + -30.0120 1.0000 + -29.9890 1.0000 + 0.9230 1.0000 + 2.8144 1.0000 + 4.2395 1.0000 + 4.9255 1.0000 + 5.3419 1.0000 + 6.3667 1.0000 + 9.5538 0.0000 + 11.0084 0.0000 + 11.1693 0.0000 + 13.0107 0.0000 + 14.8133 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7392 1.0000 + -30.0248 1.0000 + -30.0115 1.0000 + -29.9881 1.0000 + 1.1884 1.0000 + 2.8932 1.0000 + 4.1953 1.0000 + 4.9555 1.0000 + 5.3985 1.0000 + 6.1037 1.0000 + 9.0980 0.0000 + 10.5664 0.0000 + 11.4010 0.0000 + 13.2814 0.0000 + 14.7039 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7390 1.0000 + -30.0349 1.0000 + -30.0110 1.0000 + -29.9873 1.0000 + 1.4648 1.0000 + 2.9108 1.0000 + 4.2604 1.0000 + 4.8930 1.0000 + 5.4670 1.0000 + 5.9927 1.0000 + 8.6547 0.0000 + 10.0335 0.0000 + 11.5522 0.0000 + 13.8640 0.0000 + 14.7888 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7389 1.0000 + -30.0427 1.0000 + -30.0105 1.0000 + -29.9866 1.0000 + 1.7087 1.0000 + 2.8704 1.0000 + 4.3914 1.0000 + 4.7599 1.0000 + 5.6061 1.0000 + 5.9584 1.0000 + 8.3087 0.0000 + 9.5375 0.0000 + 11.6648 0.0000 + 14.4457 0.0000 + 14.7936 0.0000 + + + -91.8810 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7388 1.0000 + -30.0470 1.0000 + -30.0104 1.0000 + -29.9863 1.0000 + 1.8594 1.0000 + 2.8218 1.0000 + 4.4916 1.0000 + 4.6640 1.0000 + 5.7708 1.0000 + 5.9044 1.0000 + 8.1176 0.0004 + 9.2281 0.0000 + 11.7299 0.0000 + 14.3458 0.0000 + 15.1540 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7395 1.0000 + -30.0121 1.0000 + -30.0053 1.0000 + -29.9953 1.0000 + 0.8079 1.0000 + 2.5334 1.0000 + 4.5838 1.0000 + 5.0666 1.0000 + 5.0783 1.0000 + 6.7500 1.0000 + 9.6333 0.0000 + 10.3108 0.0000 + 12.2505 0.0000 + 12.6826 0.0000 + 14.7554 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7394 1.0000 + -30.0120 1.0000 + -30.0051 1.0000 + -29.9975 1.0000 + 0.8563 1.0000 + 2.5778 1.0000 + 4.5415 1.0000 + 4.9542 1.0000 + 5.2219 1.0000 + 6.6261 1.0000 + 9.6800 0.0000 + 10.3030 0.0000 + 11.8282 0.0000 + 13.2292 0.0000 + 14.7293 0.0000 + + + -91.8806 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7393 1.0000 + -30.0117 1.0000 + -30.0046 1.0000 + -30.0037 1.0000 + 0.9944 1.0000 + 2.7079 1.0000 + 4.4058 1.0000 + 4.9318 1.0000 + 5.3400 1.0000 + 6.3377 1.0000 + 9.5130 0.0000 + 10.4672 0.0000 + 11.4998 0.0000 + 13.8778 0.0000 + 18.0925 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7391 1.0000 + -30.0130 1.0000 + -30.0112 1.0000 + -30.0039 1.0000 + 1.2055 1.0000 + 2.9156 1.0000 + 4.2276 1.0000 + 4.9929 1.0000 + 5.3616 1.0000 + 6.0549 1.0000 + 9.0232 0.0000 + 10.8076 0.0000 + 11.3166 0.0000 + 13.1705 0.0000 + 14.8540 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7389 1.0000 + -30.0235 1.0000 + -30.0107 1.0000 + -30.0030 1.0000 + 1.4620 1.0000 + 3.1623 1.0000 + 4.0828 1.0000 + 5.0864 1.0000 + 5.2214 1.0000 + 5.9363 1.0000 + 8.4563 0.0000 + 10.8355 0.0000 + 11.2520 0.0000 + 13.1419 0.0000 + 15.5800 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7387 1.0000 + -30.0336 1.0000 + -30.0102 1.0000 + -30.0022 1.0000 + 1.7297 1.0000 + 3.3337 1.0000 + 4.0790 1.0000 + 4.9123 1.0000 + 5.2921 1.0000 + 5.9385 1.0000 + 7.9391 0.2131 + 10.2850 0.0000 + 11.4643 0.0000 + 13.4225 0.0000 + 15.4710 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7386 1.0000 + -30.0415 1.0000 + -30.0098 1.0000 + -30.0016 1.0000 + 1.9664 1.0000 + 3.3331 1.0000 + 4.2564 1.0000 + 4.6894 1.0000 + 5.4784 1.0000 + 5.9482 1.0000 + 7.5447 1.0000 + 9.6945 0.0000 + 11.6252 0.0000 + 13.7684 0.0000 + 15.1176 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7385 1.0000 + -30.0458 1.0000 + -30.0096 1.0000 + -30.0012 1.0000 + 2.1159 1.0000 + 3.2777 1.0000 + 4.4136 1.0000 + 4.5730 1.0000 + 5.6529 1.0000 + 5.9143 1.0000 + 7.3340 1.0000 + 9.3087 0.0000 + 11.7152 0.0000 + 14.2992 0.0000 + 15.1018 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7391 1.0000 + -30.0194 1.0000 + -30.0113 1.0000 + -29.9940 1.0000 + 1.1188 1.0000 + 2.4225 1.0000 + 4.6599 1.0000 + 5.1059 1.0000 + 5.2458 1.0000 + 6.3781 1.0000 + 9.4462 0.0000 + 10.2515 0.0000 + 11.8462 0.0000 + 12.3849 0.0000 + 15.2872 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7391 1.0000 + -30.0192 1.0000 + -30.0112 1.0000 + -29.9962 1.0000 + 1.1663 1.0000 + 2.4798 1.0000 + 4.6338 1.0000 + 5.0065 1.0000 + 5.3465 1.0000 + 6.2884 1.0000 + 9.4413 0.0000 + 10.1362 0.0000 + 11.5983 0.0000 + 12.9221 0.0000 + 14.9830 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7390 1.0000 + -30.0187 1.0000 + -30.0108 1.0000 + -30.0025 1.0000 + 1.2998 1.0000 + 2.6535 1.0000 + 4.5224 1.0000 + 4.9355 1.0000 + 5.4403 1.0000 + 6.0847 1.0000 + 9.1320 0.0000 + 10.1355 0.0000 + 11.4935 0.0000 + 14.1593 0.0000 + 15.0031 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7388 1.0000 + -30.0181 1.0000 + -30.0118 1.0000 + -30.0103 1.0000 + 1.5018 1.0000 + 2.9434 1.0000 + 4.3332 1.0000 + 4.9416 1.0000 + 5.4009 1.0000 + 5.9358 1.0000 + 8.5164 0.0000 + 10.3690 0.0000 + 11.4796 0.0000 + 13.6233 0.0000 + 15.4168 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7386 1.0000 + -30.0224 1.0000 + -30.0173 1.0000 + -30.0098 1.0000 + 1.7486 1.0000 + 3.3382 1.0000 + 4.1257 1.0000 + 4.9091 1.0000 + 5.2805 1.0000 + 5.9294 1.0000 + 7.8705 0.5687 + 10.5822 0.0000 + 11.3190 0.0000 + 14.4746 0.0000 + 15.4084 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7384 1.0000 + -30.0325 1.0000 + -30.0165 1.0000 + -30.0094 1.0000 + 2.0137 1.0000 + 3.7924 1.0000 + 3.9366 1.0000 + 4.7182 1.0000 + 5.3253 1.0000 + 5.9653 1.0000 + 7.2969 1.0000 + 10.3874 0.0000 + 11.1648 0.0000 + 13.7918 0.0000 + 15.7649 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7383 1.0000 + -30.0404 1.0000 + -30.0159 1.0000 + -30.0090 1.0000 + 2.2614 1.0000 + 3.7478 1.0000 + 4.2324 1.0000 + 4.5462 1.0000 + 5.4530 1.0000 + 5.9817 1.0000 + 6.8661 1.0000 + 9.8164 0.0000 + 11.2354 0.0000 + 13.3824 0.0000 + 15.4946 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7382 1.0000 + -30.0447 1.0000 + -30.0156 1.0000 + -30.0087 1.0000 + 2.4276 1.0000 + 3.6308 1.0000 + 4.3095 1.0000 + 4.6704 1.0000 + 5.5414 1.0000 + 5.9604 1.0000 + 6.6554 1.0000 + 9.3847 0.0000 + 11.2998 0.0000 + 13.4998 0.0000 + 15.5406 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7389 1.0000 + -30.0304 1.0000 + -30.0107 1.0000 + -29.9930 1.0000 + 1.4059 1.0000 + 2.2991 1.0000 + 4.7303 1.0000 + 5.1280 1.0000 + 5.4014 1.0000 + 6.1085 1.0000 + 9.4200 0.0000 + 10.1068 0.0000 + 11.5735 0.0000 + 12.0510 0.0000 + 15.2640 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7389 1.0000 + -30.0302 1.0000 + -30.0105 1.0000 + -29.9952 1.0000 + 1.4496 1.0000 + 2.3666 1.0000 + 4.7143 1.0000 + 5.0343 1.0000 + 5.4738 1.0000 + 6.0596 1.0000 + 9.3470 0.0000 + 9.8894 0.0000 + 11.4911 0.0000 + 12.5501 0.0000 + 15.0042 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7387 1.0000 + -30.0298 1.0000 + -30.0102 1.0000 + -30.0014 1.0000 + 1.5741 1.0000 + 2.5692 1.0000 + 4.6449 1.0000 + 4.8922 1.0000 + 5.5587 1.0000 + 5.9560 1.0000 + 8.8420 0.0000 + 9.8198 0.0000 + 11.5326 0.0000 + 13.4548 0.0000 + 15.3070 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2903 1.0000 + -65.7385 1.0000 + -30.0291 1.0000 + -30.0108 1.0000 + -30.0097 1.0000 + 1.7645 1.0000 + 2.9023 1.0000 + 4.5006 1.0000 + 4.7818 1.0000 + 5.5503 1.0000 + 5.9099 1.0000 + 8.1185 0.0004 + 9.9431 0.0000 + 11.5982 0.0000 + 14.1559 0.0000 + 15.5155 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7383 1.0000 + -30.0283 1.0000 + -30.0214 1.0000 + -30.0092 1.0000 + 2.0055 1.0000 + 3.3368 1.0000 + 4.3451 1.0000 + 4.6481 1.0000 + 5.4981 1.0000 + 5.9423 1.0000 + 7.4143 1.0000 + 10.0772 0.0000 + 11.5013 0.0000 + 14.0698 0.0000 + 15.1813 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7382 1.0000 + -30.0316 1.0000 + -30.0276 1.0000 + -30.0088 1.0000 + 2.2811 1.0000 + 3.7459 1.0000 + 4.2885 1.0000 + 4.4782 1.0000 + 5.5123 1.0000 + 5.9815 1.0000 + 6.7976 1.0000 + 10.1223 0.0000 + 10.9975 0.0000 + 13.3162 0.0000 + 35.4508 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7380 1.0000 + -30.0395 1.0000 + -30.0270 1.0000 + -30.0084 1.0000 + 2.5605 1.0000 + 3.8201 1.0000 + 4.2232 1.0000 + 4.6720 1.0000 + 5.5887 1.0000 + 5.9853 1.0000 + 6.3304 1.0000 + 9.8542 0.0000 + 10.6312 0.0000 + 13.3008 0.0000 + 15.9780 0.0000 + + + -91.8815 1.0000 + -91.4265 1.0000 + -91.2915 1.0000 + -65.7380 1.0000 + -30.0439 1.0000 + -30.0268 1.0000 + -30.0082 1.0000 + 2.7690 1.0000 + 3.7318 1.0000 + 4.1082 1.0000 + 5.0768 1.0000 + 5.5474 1.0000 + 5.9652 1.0000 + 6.1318 1.0000 + 9.4421 0.0000 + 10.5773 0.0000 + 13.3598 0.0000 + 15.6239 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7388 1.0000 + -30.0364 1.0000 + -30.0103 1.0000 + -29.9924 1.0000 + 1.6041 1.0000 + 2.1949 1.0000 + 4.7707 1.0000 + 5.1368 1.0000 + 5.5104 1.0000 + 5.9515 1.0000 + 9.5274 0.0000 + 9.9063 0.0000 + 11.4475 0.0000 + 11.8572 0.0000 + 14.7311 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7387 1.0000 + -30.0362 1.0000 + -30.0101 1.0000 + -29.9946 1.0000 + 1.6419 1.0000 + 2.2709 1.0000 + 4.7507 1.0000 + 5.0499 1.0000 + 5.5743 1.0000 + 5.9294 1.0000 + 9.4032 0.0000 + 9.6388 0.0000 + 11.4753 0.0000 + 12.3145 0.0000 + 15.0586 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7386 1.0000 + -30.0358 1.0000 + -30.0099 1.0000 + -30.0009 1.0000 + 1.7525 1.0000 + 2.4947 1.0000 + 4.6872 1.0000 + 4.8807 1.0000 + 5.6780 1.0000 + 5.8786 1.0000 + 8.6877 0.0000 + 9.6263 0.0000 + 11.5761 0.0000 + 13.1883 0.0000 + 15.0368 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2909 1.0000 + -65.7384 1.0000 + -30.0351 1.0000 + -30.0103 1.0000 + -30.0094 1.0000 + 1.9301 1.0000 + 2.8492 1.0000 + 4.5787 1.0000 + 4.7121 1.0000 + 5.7281 1.0000 + 5.8578 1.0000 + 7.8952 0.4304 + 9.6755 0.0000 + 11.6667 0.0000 + 14.3103 0.0000 + 38.9176 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7382 1.0000 + -30.0344 1.0000 + -30.0209 1.0000 + -30.0089 1.0000 + 2.1704 1.0000 + 3.2839 1.0000 + 4.4368 1.0000 + 4.5966 1.0000 + 5.6971 1.0000 + 5.9055 1.0000 + 7.1618 1.0000 + 9.7305 0.0000 + 11.5519 0.0000 + 13.7092 0.0000 + 15.1518 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7380 1.0000 + -30.0336 1.0000 + -30.0310 1.0000 + -30.0084 1.0000 + 2.4625 1.0000 + 3.6552 1.0000 + 4.2572 1.0000 + 4.6667 1.0000 + 5.6659 1.0000 + 5.9462 1.0000 + 6.5416 1.0000 + 9.7701 0.0000 + 11.0159 0.0000 + 13.7528 0.0000 + 15.5596 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7379 1.0000 + -30.0390 1.0000 + -30.0331 1.0000 + -30.0080 1.0000 + 2.7831 1.0000 + 3.7889 1.0000 + 4.0361 1.0000 + 5.0350 1.0000 + 5.6638 1.0000 + 5.9246 1.0000 + 6.1048 1.0000 + 9.7327 0.0000 + 10.2984 0.0000 + 13.3147 0.0000 + 15.4211 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2912 1.0000 + -65.7378 1.0000 + -30.0434 1.0000 + -30.0328 1.0000 + -30.0078 1.0000 + 3.0626 1.0000 + 3.7463 1.0000 + 3.8683 1.0000 + 5.4341 1.0000 + 5.6823 1.0000 + 5.7756 1.0000 + 5.9556 1.0000 + 9.4675 0.0000 + 10.0217 0.0000 + 13.3491 0.0000 + 16.1206 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7397 1.0000 + -30.0332 1.0000 + -29.9970 1.0000 + -29.9635 1.0000 + 0.5736 1.0000 + 2.1119 1.0000 + 4.5165 1.0000 + 4.5676 1.0000 + 4.7863 1.0000 + 8.6168 0.0000 + 10.8092 0.0000 + 11.1222 0.0000 + 11.2007 0.0000 + 14.0197 0.0000 + 39.2698 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7395 1.0000 + -30.0330 1.0000 + -29.9991 1.0000 + -29.9633 1.0000 + 0.6291 1.0000 + 2.0977 1.0000 + 4.5093 1.0000 + 4.5944 1.0000 + 4.8096 1.0000 + 8.4094 0.0000 + 10.7035 0.0000 + 11.1656 0.0000 + 11.6529 0.0000 + 14.1405 0.0000 + 41.5789 0.0000 + + + -91.8796 1.0000 + -91.4247 1.0000 + -91.2896 1.0000 + -65.7394 1.0000 + -30.0326 1.0000 + -30.0053 1.0000 + -29.9627 1.0000 + 0.7865 1.0000 + 2.0532 1.0000 + 4.5078 1.0000 + 4.6507 1.0000 + 4.8773 1.0000 + 7.9670 0.1168 + 10.4342 0.0000 + 11.1229 0.0000 + 12.2041 0.0000 + 12.2648 0.0000 + 14.3078 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7392 1.0000 + -30.0322 1.0000 + -30.0144 1.0000 + -29.9619 1.0000 + 1.0275 1.0000 + 1.9962 1.0000 + 4.5159 1.0000 + 4.7211 1.0000 + 4.9818 1.0000 + 7.4959 1.0000 + 10.0943 0.0000 + 11.0206 0.0000 + 11.8767 0.0000 + 13.0219 0.0000 + 14.6524 0.0000 + + + -91.8795 1.0000 + -91.4245 1.0000 + -91.2895 1.0000 + -65.7390 1.0000 + -30.0316 1.0000 + -30.0249 1.0000 + -29.9609 1.0000 + 1.3090 1.0000 + 1.9542 1.0000 + 4.5205 1.0000 + 4.7985 1.0000 + 5.1102 1.0000 + 7.0804 1.0000 + 9.7491 0.0000 + 10.7814 0.0000 + 12.7825 0.0000 + 14.2666 0.0000 + 40.5060 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7388 1.0000 + -30.0349 1.0000 + -30.0311 1.0000 + -29.9600 1.0000 + 1.5312 1.0000 + 1.9991 1.0000 + 4.5052 1.0000 + 4.8754 1.0000 + 5.2431 1.0000 + 6.7527 1.0000 + 9.4493 0.0000 + 10.4582 0.0000 + 11.6293 0.0000 + 12.3813 0.0000 + 15.5445 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7387 1.0000 + -30.0428 1.0000 + -30.0307 1.0000 + -29.9593 1.0000 + 1.5968 1.0000 + 2.1802 1.0000 + 4.4669 1.0000 + 4.9394 1.0000 + 5.3556 1.0000 + 6.5274 1.0000 + 9.2375 0.0000 + 10.2067 0.0000 + 12.0084 0.0000 + 14.2385 0.0000 + 36.2448 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2901 1.0000 + -65.7386 1.0000 + -30.0470 1.0000 + -30.0305 1.0000 + -29.9589 1.0000 + 1.5982 1.0000 + 2.3352 1.0000 + 4.4290 1.0000 + 4.9767 1.0000 + 5.4211 1.0000 + 6.4124 1.0000 + 9.1302 0.0000 + 10.0506 0.0000 + 11.6269 0.0000 + 11.8418 0.0000 + 15.0676 0.0000 + + + -91.8800 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7395 1.0000 + -30.0330 1.0000 + -29.9966 1.0000 + -29.9665 1.0000 + 0.6330 1.0000 + 2.1018 1.0000 + 4.5271 1.0000 + 4.5956 1.0000 + 4.7951 1.0000 + 8.3518 0.0000 + 11.1089 0.0000 + 11.1684 0.0000 + 13.7806 0.0000 + 14.1363 0.0000 + 19.9386 0.0000 + + + -91.8801 1.0000 + -91.4251 1.0000 + -91.2900 1.0000 + -65.7395 1.0000 + -30.0328 1.0000 + -29.9988 1.0000 + -29.9664 1.0000 + 0.6878 1.0000 + 2.0898 1.0000 + 4.5140 1.0000 + 4.6007 1.0000 + 4.8434 1.0000 + 8.1649 0.0000 + 10.9818 0.0000 + 11.1274 0.0000 + 11.4259 0.0000 + 13.4427 0.0000 + 14.6883 0.0000 + + + -91.8794 1.0000 + -91.4244 1.0000 + -91.2894 1.0000 + -65.7393 1.0000 + -30.0325 1.0000 + -30.0049 1.0000 + -29.9658 1.0000 + 0.8465 1.0000 + 2.0591 1.0000 + 4.4969 1.0000 + 4.6223 1.0000 + 4.9548 1.0000 + 7.7541 0.9656 + 10.6858 0.0000 + 11.0717 0.0000 + 11.8125 0.0000 + 12.3245 0.0000 + 14.7406 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2898 1.0000 + -65.7392 1.0000 + -30.0320 1.0000 + -30.0142 1.0000 + -29.9650 1.0000 + 1.0875 1.0000 + 2.0159 1.0000 + 4.4997 1.0000 + 4.6561 1.0000 + 5.0929 1.0000 + 7.3100 1.0000 + 10.3059 0.0000 + 10.8388 0.0000 + 11.7195 0.0000 + 13.5031 0.0000 + 14.7149 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2896 1.0000 + -65.7389 1.0000 + -30.0315 1.0000 + -30.0246 1.0000 + -29.9641 1.0000 + 1.3668 1.0000 + 1.9926 1.0000 + 4.5154 1.0000 + 4.6963 1.0000 + 5.2390 1.0000 + 6.9228 1.0000 + 9.9077 0.0000 + 10.4464 0.0000 + 11.5965 0.0000 + 13.3203 0.0000 + 14.3775 0.0000 + + + -91.8799 1.0000 + -91.4249 1.0000 + -91.2899 1.0000 + -65.7388 1.0000 + -30.0347 1.0000 + -30.0310 1.0000 + -29.9632 1.0000 + 1.5777 1.0000 + 2.0640 1.0000 + 4.5124 1.0000 + 4.7455 1.0000 + 5.3763 1.0000 + 6.6315 1.0000 + 9.5524 0.0000 + 10.0473 0.0000 + 12.1279 0.0000 + 14.4175 0.0000 + 15.1742 0.0000 + + + -91.8801 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7386 1.0000 + -30.0425 1.0000 + -30.0306 1.0000 + -29.9625 1.0000 + 1.6379 1.0000 + 2.2630 1.0000 + 4.4722 1.0000 + 4.7995 1.0000 + 5.4863 1.0000 + 6.4480 1.0000 + 9.2884 0.0000 + 9.7273 0.0000 + 11.6147 0.0000 + 12.5272 0.0000 + 15.4126 0.0000 + + + -91.8798 1.0000 + -91.4248 1.0000 + -91.2898 1.0000 + -65.7385 1.0000 + -30.0468 1.0000 + -30.0303 1.0000 + -29.9621 1.0000 + 1.6405 1.0000 + 2.4253 1.0000 + 4.4262 1.0000 + 4.8365 1.0000 + 5.5489 1.0000 + 6.3631 1.0000 + 9.1487 0.0000 + 9.5497 0.0000 + 11.6341 0.0000 + 12.3538 0.0000 + 15.2479 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7394 1.0000 + -30.0325 1.0000 + -29.9959 1.0000 + -29.9755 1.0000 + 0.8009 1.0000 + 2.0701 1.0000 + 4.5572 1.0000 + 4.6768 1.0000 + 4.8227 1.0000 + 7.8284 0.7789 + 10.7722 0.0000 + 11.2548 0.0000 + 12.1273 0.0000 + 13.8872 0.0000 + 19.3208 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7393 1.0000 + -30.0324 1.0000 + -29.9980 1.0000 + -29.9752 1.0000 + 0.8570 1.0000 + 2.0712 1.0000 + 4.5273 1.0000 + 4.6328 1.0000 + 4.9304 1.0000 + 7.6670 0.9989 + 10.9814 0.0000 + 11.0519 0.0000 + 11.6948 0.0000 + 14.0784 0.0000 + 42.2456 0.0000 + + + -91.8797 1.0000 + -91.4247 1.0000 + -91.2896 1.0000 + -65.7391 1.0000 + -30.0320 1.0000 + -30.0042 1.0000 + -29.9747 1.0000 + 1.0176 1.0000 + 2.0713 1.0000 + 4.4474 1.0000 + 4.6405 1.0000 + 5.1016 1.0000 + 7.2990 1.0000 + 10.7764 0.0000 + 11.1820 0.0000 + 11.3580 0.0000 + 12.3963 0.0000 + 14.3579 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2899 1.0000 + -65.7390 1.0000 + -30.0316 1.0000 + -30.0134 1.0000 + -29.9739 1.0000 + 1.2586 1.0000 + 2.0756 1.0000 + 4.3961 1.0000 + 4.6691 1.0000 + 5.2775 1.0000 + 6.8932 1.0000 + 10.2551 0.0000 + 10.7808 0.0000 + 11.4976 0.0000 + 12.8877 0.0000 + 15.8667 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7388 1.0000 + -30.0310 1.0000 + -30.0239 1.0000 + -29.9730 1.0000 + 1.5255 1.0000 + 2.1140 1.0000 + 4.3949 1.0000 + 4.6822 1.0000 + 5.4431 1.0000 + 6.5515 1.0000 + 9.6939 0.0000 + 10.3186 0.0000 + 11.5514 0.0000 + 13.6887 0.0000 + 13.9888 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2903 1.0000 + -65.7386 1.0000 + -30.0340 1.0000 + -30.0305 1.0000 + -29.9721 1.0000 + 1.7053 1.0000 + 2.2618 1.0000 + 4.4314 1.0000 + 4.6508 1.0000 + 5.5873 1.0000 + 6.3317 1.0000 + 9.2060 0.0000 + 9.8463 0.0000 + 11.5922 0.0000 + 13.7036 0.0000 + 15.4834 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7384 1.0000 + -30.0418 1.0000 + -30.0301 1.0000 + -29.9715 1.0000 + 1.7590 1.0000 + 2.5073 1.0000 + 4.4571 1.0000 + 4.5923 1.0000 + 5.6986 1.0000 + 6.2426 1.0000 + 8.8451 0.0000 + 9.4436 0.0000 + 11.9279 0.0000 + 13.5539 0.0000 + 15.7128 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7384 1.0000 + -30.0461 1.0000 + -30.0299 1.0000 + -29.9711 1.0000 + 1.7660 1.0000 + 2.6912 1.0000 + 4.4142 1.0000 + 4.5895 1.0000 + 5.7615 1.0000 + 6.2306 1.0000 + 8.6509 0.0000 + 9.2035 0.0000 + 11.6476 0.0000 + 14.2805 0.0000 + 19.5232 0.0000 + + + -91.8815 1.0000 + -91.4265 1.0000 + -91.2914 1.0000 + -65.7392 1.0000 + -30.0318 1.0000 + -29.9947 1.0000 + -29.9885 1.0000 + 1.0577 1.0000 + 2.0304 1.0000 + 4.6009 1.0000 + 4.8033 1.0000 + 4.8693 1.0000 + 7.2978 1.0000 + 10.4120 0.0000 + 10.9345 0.0000 + 11.8493 0.0000 + 12.9361 0.0000 + 14.3082 0.0000 + + + -91.8811 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7391 1.0000 + -30.0317 1.0000 + -29.9968 1.0000 + -29.9883 1.0000 + 1.1137 1.0000 + 2.0461 1.0000 + 4.5591 1.0000 + 4.6899 1.0000 + 5.0505 1.0000 + 7.1547 1.0000 + 10.5597 0.0000 + 10.7725 0.0000 + 11.6641 0.0000 + 12.9304 0.0000 + 41.7172 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2904 1.0000 + -65.7389 1.0000 + -30.0313 1.0000 + -30.0030 1.0000 + -29.9878 1.0000 + 1.2740 1.0000 + 2.0929 1.0000 + 4.4116 1.0000 + 4.7042 1.0000 + 5.2624 1.0000 + 6.8170 1.0000 + 10.1893 0.0000 + 11.0104 0.0000 + 11.7700 0.0000 + 13.5929 0.0000 + 14.2934 0.0000 + + + -91.8800 1.0000 + -91.4250 1.0000 + -91.2900 1.0000 + -65.7387 1.0000 + -30.0309 1.0000 + -30.0122 1.0000 + -29.9870 1.0000 + 1.5073 1.0000 + 2.1781 1.0000 + 4.2861 1.0000 + 4.7582 1.0000 + 5.4598 1.0000 + 6.4336 1.0000 + 9.5343 0.0000 + 11.2013 0.0000 + 11.3387 0.0000 + 13.1060 0.0000 + 38.3097 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7385 1.0000 + -30.0304 1.0000 + -30.0228 1.0000 + -29.9861 1.0000 + 1.7426 1.0000 + 2.3312 1.0000 + 4.2213 1.0000 + 4.7949 1.0000 + 5.6281 1.0000 + 6.1217 1.0000 + 8.8998 0.0000 + 10.7235 0.0000 + 11.4983 0.0000 + 13.3139 0.0000 + 14.5418 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7383 1.0000 + -30.0329 1.0000 + -30.0299 1.0000 + -29.9853 1.0000 + 1.8915 1.0000 + 2.5903 1.0000 + 4.2222 1.0000 + 4.7435 1.0000 + 5.7550 1.0000 + 5.9846 1.0000 + 8.3534 0.0000 + 10.1446 0.0000 + 11.5765 0.0000 + 14.0941 0.0000 + 31.5297 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7382 1.0000 + -30.0408 1.0000 + -30.0295 1.0000 + -29.9846 1.0000 + 1.9545 1.0000 + 2.8962 1.0000 + 4.2674 1.0000 + 4.5842 1.0000 + 5.8671 1.0000 + 6.0058 1.0000 + 7.9444 0.1919 + 9.6138 0.0000 + 12.3662 0.0000 + 14.4968 0.0000 + 35.5494 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7381 1.0000 + -30.0451 1.0000 + -30.0292 1.0000 + -29.9843 1.0000 + 1.9749 1.0000 + 3.1170 1.0000 + 4.3238 1.0000 + 4.4181 1.0000 + 5.9578 1.0000 + 6.0552 1.0000 + 7.7216 0.9887 + 9.2780 0.0000 + 11.6484 0.0000 + 14.1912 0.0000 + 15.2729 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2906 1.0000 + -65.7387 1.0000 + -30.0309 1.0000 + -30.0033 1.0000 + -29.9932 1.0000 + 1.3568 1.0000 + 2.0050 1.0000 + 4.6470 1.0000 + 4.9310 1.0000 + 4.9604 1.0000 + 6.8399 1.0000 + 10.0603 0.0000 + 10.6095 0.0000 + 11.6789 0.0000 + 12.7079 0.0000 + 14.2313 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7387 1.0000 + -30.0309 1.0000 + -30.0032 1.0000 + -29.9955 1.0000 + 1.4097 1.0000 + 2.0396 1.0000 + 4.6145 1.0000 + 4.7530 1.0000 + 5.1891 1.0000 + 6.7162 1.0000 + 10.1096 0.0000 + 10.3876 0.0000 + 11.6000 0.0000 + 13.1316 0.0000 + 37.6273 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7386 1.0000 + -30.0305 1.0000 + -30.0027 1.0000 + -30.0017 1.0000 + 1.5583 1.0000 + 2.1490 1.0000 + 4.4268 1.0000 + 4.7673 1.0000 + 5.4207 1.0000 + 6.4119 1.0000 + 9.5620 0.0000 + 10.6052 0.0000 + 11.5431 0.0000 + 13.8192 0.0000 + 14.7273 0.0000 + + + -91.8807 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7384 1.0000 + -30.0301 1.0000 + -30.0110 1.0000 + -30.0020 1.0000 + 1.7596 1.0000 + 2.3479 1.0000 + 4.2353 1.0000 + 4.8561 1.0000 + 5.6156 1.0000 + 6.0522 1.0000 + 8.8319 0.0000 + 10.9690 0.0000 + 11.4301 0.0000 + 13.3676 0.0000 + 14.5676 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7382 1.0000 + -30.0296 1.0000 + -30.0216 1.0000 + -30.0011 1.0000 + 1.9573 1.0000 + 2.6478 1.0000 + 4.0985 1.0000 + 4.9571 1.0000 + 5.6139 1.0000 + 5.8909 1.0000 + 8.1389 0.0001 + 10.9883 0.0000 + 11.3423 0.0000 + 13.7094 0.0000 + 15.7553 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2906 1.0000 + -65.7380 1.0000 + -30.0317 1.0000 + -30.0291 1.0000 + -30.0003 1.0000 + 2.1129 1.0000 + 3.0175 1.0000 + 4.0379 1.0000 + 4.9190 1.0000 + 5.5211 1.0000 + 5.9990 1.0000 + 7.5405 1.0000 + 10.3988 0.0000 + 11.4577 0.0000 + 13.7122 0.0000 + 15.9308 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7379 1.0000 + -30.0397 1.0000 + -30.0287 1.0000 + -29.9997 1.0000 + 2.2149 1.0000 + 3.3832 1.0000 + 4.0564 1.0000 + 4.6690 1.0000 + 5.6796 1.0000 + 6.0916 1.0000 + 7.0870 1.0000 + 9.7752 0.0000 + 11.5424 0.0000 + 14.3066 0.0000 + 15.5761 0.0000 + + + -91.8814 1.0000 + -91.4264 1.0000 + -91.2914 1.0000 + -65.7378 1.0000 + -30.0440 1.0000 + -30.0285 1.0000 + -29.9994 1.0000 + 2.2640 1.0000 + 3.6435 1.0000 + 4.1382 1.0000 + 4.4048 1.0000 + 5.8558 1.0000 + 6.1352 1.0000 + 6.8387 1.0000 + 9.3618 0.0000 + 11.5772 0.0000 + 14.3099 0.0000 + 14.9653 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7384 1.0000 + -30.0302 1.0000 + -30.0174 1.0000 + -29.9919 1.0000 + 1.5922 1.0000 + 2.0622 1.0000 + 4.6783 1.0000 + 4.9977 1.0000 + 5.1255 1.0000 + 6.4823 1.0000 + 9.7866 0.0000 + 10.2382 0.0000 + 11.6423 0.0000 + 12.1724 0.0000 + 15.1696 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7384 1.0000 + -30.0300 1.0000 + -30.0172 1.0000 + -29.9941 1.0000 + 1.6356 1.0000 + 2.1225 1.0000 + 4.6697 1.0000 + 4.8109 1.0000 + 5.3294 1.0000 + 6.3879 1.0000 + 9.7035 0.0000 + 10.0257 0.0000 + 11.6040 0.0000 + 12.6587 0.0000 + 14.9940 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2901 1.0000 + -65.7382 1.0000 + -30.0297 1.0000 + -30.0168 1.0000 + -30.0004 1.0000 + 1.7553 1.0000 + 2.3064 1.0000 + 4.4915 1.0000 + 4.7800 1.0000 + 5.5639 1.0000 + 6.1473 1.0000 + 9.0130 0.0000 + 10.2004 0.0000 + 11.5878 0.0000 + 13.4966 0.0000 + 14.8358 0.0000 + + + -91.8807 1.0000 + -91.4258 1.0000 + -91.2907 1.0000 + -65.7381 1.0000 + -30.0293 1.0000 + -30.0162 1.0000 + -30.0097 1.0000 + 1.9268 1.0000 + 2.6143 1.0000 + 4.2587 1.0000 + 4.8639 1.0000 + 5.7056 1.0000 + 5.8972 1.0000 + 8.2193 0.0000 + 10.4809 0.0000 + 11.5381 0.0000 + 13.9612 0.0000 + 14.5546 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7379 1.0000 + -30.0288 1.0000 + -30.0204 1.0000 + -30.0154 1.0000 + 2.1305 1.0000 + 3.0221 1.0000 + 4.0628 1.0000 + 5.0039 1.0000 + 5.4474 1.0000 + 5.9945 1.0000 + 7.4712 1.0000 + 10.6874 0.0000 + 11.3421 0.0000 + 13.4783 0.0000 + 15.3783 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2909 1.0000 + -65.7377 1.0000 + -30.0306 1.0000 + -30.0283 1.0000 + -30.0147 1.0000 + 2.3416 1.0000 + 3.4734 1.0000 + 3.9279 1.0000 + 5.1088 1.0000 + 5.2297 1.0000 + 6.1260 1.0000 + 6.8189 1.0000 + 10.4946 0.0000 + 11.1842 0.0000 + 13.1952 0.0000 + 15.7397 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2912 1.0000 + -65.7376 1.0000 + -30.0385 1.0000 + -30.0280 1.0000 + -30.0141 1.0000 + 2.5238 1.0000 + 3.8199 1.0000 + 3.9375 1.0000 + 4.8268 1.0000 + 5.4778 1.0000 + 6.2123 1.0000 + 6.3224 1.0000 + 9.8991 0.0000 + 11.2407 0.0000 + 13.1926 0.0000 + 15.5369 0.0000 + + + -91.8814 1.0000 + -91.4264 1.0000 + -91.2914 1.0000 + -65.7375 1.0000 + -30.0429 1.0000 + -30.0278 1.0000 + -30.0137 1.0000 + 2.6290 1.0000 + 3.8380 1.0000 + 4.2279 1.0000 + 4.5865 1.0000 + 5.6574 1.0000 + 6.0663 1.0000 + 6.2635 1.0000 + 9.4409 0.0000 + 11.2887 0.0000 + 13.2397 0.0000 + 15.7505 0.0000 + + + -91.8809 1.0000 + -91.4259 1.0000 + -91.2908 1.0000 + -65.7382 1.0000 + -30.0295 1.0000 + -30.0285 1.0000 + -29.9909 1.0000 + 1.6678 1.0000 + 2.2476 1.0000 + 4.6819 1.0000 + 5.0573 1.0000 + 5.2677 1.0000 + 6.2372 1.0000 + 9.6320 0.0000 + 9.9258 0.0000 + 11.6498 0.0000 + 11.7641 0.0000 + 15.1177 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2910 1.0000 + -65.7382 1.0000 + -30.0294 1.0000 + -30.0284 1.0000 + -29.9931 1.0000 + 1.7064 1.0000 + 2.3241 1.0000 + 4.6780 1.0000 + 4.8714 1.0000 + 5.4482 1.0000 + 6.1821 1.0000 + 9.3944 0.0000 + 9.7662 0.0000 + 11.6283 0.0000 + 12.2592 0.0000 + 15.0447 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7380 1.0000 + -30.0291 1.0000 + -30.0279 1.0000 + -29.9994 1.0000 + 1.8197 1.0000 + 2.5512 1.0000 + 4.5747 1.0000 + 4.7174 1.0000 + 5.6795 1.0000 + 6.0408 1.0000 + 8.5996 0.0000 + 9.8664 0.0000 + 11.6305 0.0000 + 13.1616 0.0000 + 14.9422 0.0000 + + + -91.8802 1.0000 + -91.4252 1.0000 + -91.2902 1.0000 + -65.7378 1.0000 + -30.0287 1.0000 + -30.0272 1.0000 + -30.0087 1.0000 + 2.0020 1.0000 + 2.9149 1.0000 + 4.3358 1.0000 + 4.7172 1.0000 + 5.7999 1.0000 + 5.9420 1.0000 + 7.7512 0.9686 + 10.0198 0.0000 + 11.6232 0.0000 + 14.2345 0.0000 + 15.3681 0.0000 + + + -91.8805 1.0000 + -91.4255 1.0000 + -91.2905 1.0000 + -65.7376 1.0000 + -30.0283 1.0000 + -30.0265 1.0000 + -30.0194 1.0000 + 2.2449 1.0000 + 3.3771 1.0000 + 4.1205 1.0000 + 4.7396 1.0000 + 5.6457 1.0000 + 6.0882 1.0000 + 6.9514 1.0000 + 10.1586 0.0000 + 11.4369 0.0000 + 13.6407 0.0000 + 15.4695 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7374 1.0000 + -30.0297 1.0000 + -30.0278 1.0000 + -30.0258 1.0000 + 2.5344 1.0000 + 3.8121 1.0000 + 3.9855 1.0000 + 4.8087 1.0000 + 5.5213 1.0000 + 6.1981 1.0000 + 6.2633 1.0000 + 10.2073 0.0000 + 11.0454 0.0000 + 13.0519 0.0000 + 15.5984 0.0000 + + + -91.8811 1.0000 + -91.4261 1.0000 + -91.2911 1.0000 + -65.7373 1.0000 + -30.0377 1.0000 + -30.0274 1.0000 + -30.0252 1.0000 + 2.8336 1.0000 + 3.8000 1.0000 + 4.1712 1.0000 + 4.9751 1.0000 + 5.5168 1.0000 + 5.6776 1.0000 + 6.3079 1.0000 + 9.9354 0.0000 + 10.7127 0.0000 + 12.8003 0.0000 + 15.8356 0.0000 + + + -91.8814 1.0000 + -91.4264 1.0000 + -91.2914 1.0000 + -65.7372 1.0000 + -30.0421 1.0000 + -30.0272 1.0000 + -30.0249 1.0000 + 3.0541 1.0000 + 3.7465 1.0000 + 4.2239 1.0000 + 5.1222 1.0000 + 5.2997 1.0000 + 5.6922 1.0000 + 6.3453 1.0000 + 9.5016 0.0000 + 10.6605 0.0000 + 12.7227 0.0000 + 15.5675 0.0000 + + + -91.8803 1.0000 + -91.4253 1.0000 + -91.2903 1.0000 + -65.7380 1.0000 + -30.0345 1.0000 + -30.0292 1.0000 + -29.9902 1.0000 + 1.6740 1.0000 + 2.4018 1.0000 + 4.6707 1.0000 + 5.0946 1.0000 + 5.3522 1.0000 + 6.1117 1.0000 + 9.6010 0.0000 + 9.7207 0.0000 + 11.5419 0.0000 + 11.6546 0.0000 + 14.9372 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7380 1.0000 + -30.0344 1.0000 + -30.0291 1.0000 + -29.9926 1.0000 + 1.7129 1.0000 + 2.4847 1.0000 + 4.6554 1.0000 + 4.9171 1.0000 + 5.5191 1.0000 + 6.0879 1.0000 + 9.2253 0.0000 + 9.6369 0.0000 + 11.6608 0.0000 + 12.0478 0.0000 + 14.9557 0.0000 + + + -91.8807 1.0000 + -91.4257 1.0000 + -91.2907 1.0000 + -65.7379 1.0000 + -30.0339 1.0000 + -30.0288 1.0000 + -29.9989 1.0000 + 1.8315 1.0000 + 2.7302 1.0000 + 4.6082 1.0000 + 4.6655 1.0000 + 5.7492 1.0000 + 6.0255 1.0000 + 8.3737 0.0000 + 9.6738 0.0000 + 11.6583 0.0000 + 12.9796 0.0000 + 15.0184 0.0000 + + + -91.8808 1.0000 + -91.4258 1.0000 + -91.2908 1.0000 + -65.7377 1.0000 + -30.0333 1.0000 + -30.0284 1.0000 + -30.0082 1.0000 + 2.0272 1.0000 + 3.1247 1.0000 + 4.4101 1.0000 + 4.5557 1.0000 + 5.9249 1.0000 + 5.9750 1.0000 + 7.4900 1.0000 + 9.7287 0.0000 + 11.6418 0.0000 + 13.9974 0.0000 + 15.0437 0.0000 + + + -91.8804 1.0000 + -91.4254 1.0000 + -91.2904 1.0000 + -65.7375 1.0000 + -30.0326 1.0000 + -30.0279 1.0000 + -30.0189 1.0000 + 2.2989 1.0000 + 3.6250 1.0000 + 4.2181 1.0000 + 4.4835 1.0000 + 5.8518 1.0000 + 6.1331 1.0000 + 6.6571 1.0000 + 9.7868 0.0000 + 11.4865 0.0000 + 14.5147 0.0000 + 15.4164 0.0000 + + + -91.8806 1.0000 + -91.4256 1.0000 + -91.2905 1.0000 + -65.7373 1.0000 + -30.0318 1.0000 + -30.0291 1.0000 + -30.0275 1.0000 + 2.6408 1.0000 + 3.9091 1.0000 + 4.2522 1.0000 + 4.5325 1.0000 + 5.7034 1.0000 + 5.9787 1.0000 + 6.2621 1.0000 + 9.8299 0.0000 + 11.0556 0.0000 + 13.0395 0.0000 + 15.4657 0.0000 + + + -91.8810 1.0000 + -91.4260 1.0000 + -91.2910 1.0000 + -65.7372 1.0000 + -30.0372 1.0000 + -30.0313 1.0000 + -30.0271 1.0000 + 3.0409 1.0000 + 3.8298 1.0000 + 4.2195 1.0000 + 5.0235 1.0000 + 5.2301 1.0000 + 5.8071 1.0000 + 6.3436 1.0000 + 9.8006 0.0000 + 10.3862 0.0000 + 12.6747 0.0000 + 15.4656 0.0000 + + + -91.8812 1.0000 + -91.4262 1.0000 + -91.2911 1.0000 + -65.7371 1.0000 + -30.0416 1.0000 + -30.0310 1.0000 + -30.0269 1.0000 + 3.4531 1.0000 + 3.7372 1.0000 + 4.0740 1.0000 + 4.7709 1.0000 + 5.5707 1.0000 + 5.7646 1.0000 + 6.3738 1.0000 + 9.5306 0.0000 + 10.0845 0.0000 + 12.5702 0.0000 + 15.4251 0.0000 + + + + + + + 0.00000000 0.00000000 0.00000000 + + + 7.88278638 + + + gridpoints + spin + energy + total + integrated + + + -98.7492 0.0000 0.0000 + -98.2456 0.0000 0.0000 + -97.7420 0.0000 0.0000 + -97.2383 0.0000 0.0000 + -96.7347 0.0000 0.0000 + -96.2311 0.0000 0.0000 + -95.7275 0.0000 0.0000 + -95.2239 0.0000 0.0000 + -94.7203 0.0000 0.0000 + -94.2166 0.0000 0.0000 + -93.7130 0.0000 0.0000 + -93.2094 0.0000 0.0000 + -92.7058 0.0000 0.0000 + -92.2022 0.0000 0.0000 + -91.6986 3.9514 1.9900 + -91.1949 7.6087 5.8219 + -90.6913 0.3536 6.0000 + -90.1877 0.0000 6.0000 + -89.6841 0.0000 6.0000 + -89.1805 0.0000 6.0000 + -88.6769 0.0000 6.0000 + -88.1732 0.0000 6.0000 + -87.6696 0.0000 6.0000 + -87.1660 0.0000 6.0000 + -86.6624 0.0000 6.0000 + -86.1588 0.0000 6.0000 + -85.6552 0.0000 6.0000 + -85.1515 0.0000 6.0000 + -84.6479 0.0000 6.0000 + -84.1443 0.0000 6.0000 + -83.6407 0.0000 6.0000 + -83.1371 0.0000 6.0000 + -82.6335 0.0000 6.0000 + -82.1299 0.0000 6.0000 + -81.6262 0.0000 6.0000 + -81.1226 0.0000 6.0000 + -80.6190 0.0000 6.0000 + -80.1154 0.0000 6.0000 + -79.6118 0.0000 6.0000 + -79.1082 0.0000 6.0000 + -78.6045 0.0000 6.0000 + -78.1009 0.0000 6.0000 + -77.5973 0.0000 6.0000 + -77.0937 0.0000 6.0000 + -76.5901 0.0000 6.0000 + -76.0865 0.0000 6.0000 + -75.5828 0.0000 6.0000 + -75.0792 0.0000 6.0000 + -74.5756 0.0000 6.0000 + -74.0720 0.0000 6.0000 + -73.5684 0.0000 6.0000 + -73.0648 0.0000 6.0000 + -72.5611 0.0000 6.0000 + -72.0575 0.0000 6.0000 + -71.5539 0.0000 6.0000 + -71.0503 0.0000 6.0000 + -70.5467 0.0000 6.0000 + -70.0431 0.0000 6.0000 + -69.5394 0.0000 6.0000 + -69.0358 0.0000 6.0000 + -68.5322 0.0000 6.0000 + -68.0286 0.0000 6.0000 + -67.5250 0.0000 6.0000 + -67.0214 0.0000 6.0000 + -66.5178 0.0000 6.0000 + -66.0141 0.0002 6.0001 + -65.5105 3.9689 7.9989 + -65.0069 0.0021 8.0000 + -64.5033 0.0000 8.0000 + -63.9997 0.0000 8.0000 + -63.4961 0.0000 8.0000 + -62.9924 0.0000 8.0000 + -62.4888 0.0000 8.0000 + -61.9852 0.0000 8.0000 + -61.4816 0.0000 8.0000 + -60.9780 0.0000 8.0000 + -60.4744 0.0000 8.0000 + -59.9707 0.0000 8.0000 + -59.4671 0.0000 8.0000 + -58.9635 0.0000 8.0000 + -58.4599 0.0000 8.0000 + -57.9563 0.0000 8.0000 + -57.4527 0.0000 8.0000 + -56.9490 0.0000 8.0000 + -56.4454 0.0000 8.0000 + -55.9418 0.0000 8.0000 + -55.4382 0.0000 8.0000 + -54.9346 0.0000 8.0000 + -54.4310 0.0000 8.0000 + -53.9273 0.0000 8.0000 + -53.4237 0.0000 8.0000 + -52.9201 0.0000 8.0000 + -52.4165 0.0000 8.0000 + -51.9129 0.0000 8.0000 + -51.4093 0.0000 8.0000 + -50.9057 0.0000 8.0000 + -50.4020 0.0000 8.0000 + -49.8984 0.0000 8.0000 + -49.3948 0.0000 8.0000 + -48.8912 0.0000 8.0000 + -48.3876 0.0000 8.0000 + -47.8840 0.0000 8.0000 + -47.3803 0.0000 8.0000 + -46.8767 0.0000 8.0000 + -46.3731 0.0000 8.0000 + -45.8695 0.0000 8.0000 + -45.3659 0.0000 8.0000 + -44.8623 0.0000 8.0000 + -44.3586 0.0000 8.0000 + -43.8550 0.0000 8.0000 + -43.3514 0.0000 8.0000 + -42.8478 0.0000 8.0000 + -42.3442 0.0000 8.0000 + -41.8406 0.0000 8.0000 + -41.3369 0.0000 8.0000 + -40.8333 0.0000 8.0000 + -40.3297 0.0000 8.0000 + -39.8261 0.0000 8.0000 + -39.3225 0.0000 8.0000 + -38.8189 0.0000 8.0000 + -38.3152 0.0000 8.0000 + -37.8116 0.0000 8.0000 + -37.3080 0.0000 8.0000 + -36.8044 0.0000 8.0000 + -36.3008 0.0000 8.0000 + -35.7972 0.0000 8.0000 + -35.2936 0.0000 8.0000 + -34.7899 0.0000 8.0000 + -34.2863 0.0000 8.0000 + -33.7827 0.0000 8.0000 + -33.2791 0.0000 8.0000 + -32.7755 0.0000 8.0000 + -32.2719 0.0000 8.0000 + -31.7682 0.0000 8.0000 + -31.2646 0.0000 8.0000 + -30.7610 0.0000 8.0000 + -30.2574 0.0062 8.0031 + -29.7538 11.6675 13.8791 + -29.2502 0.2401 14.0000 + -28.7465 0.0000 14.0000 + -28.2429 0.0000 14.0000 + -27.7393 0.0000 14.0000 + -27.2357 0.0000 14.0000 + -26.7321 0.0000 14.0000 + -26.2285 0.0000 14.0000 + -25.7248 0.0000 14.0000 + -25.2212 0.0000 14.0000 + -24.7176 0.0000 14.0000 + -24.2140 0.0000 14.0000 + -23.7104 0.0000 14.0000 + -23.2068 0.0000 14.0000 + -22.7031 0.0000 14.0000 + -22.1995 0.0000 14.0000 + -21.6959 0.0000 14.0000 + -21.1923 0.0000 14.0000 + -20.6887 0.0000 14.0000 + -20.1851 0.0000 14.0000 + -19.6815 0.0000 14.0000 + -19.1778 0.0000 14.0000 + -18.6742 0.0000 14.0000 + -18.1706 0.0000 14.0000 + -17.6670 0.0000 14.0000 + -17.1634 0.0000 14.0000 + -16.6598 0.0000 14.0000 + -16.1561 0.0000 14.0000 + -15.6525 0.0000 14.0000 + -15.1489 0.0000 14.0000 + -14.6453 0.0000 14.0000 + -14.1417 0.0000 14.0000 + -13.6381 0.0000 14.0000 + -13.1344 0.0000 14.0000 + -12.6308 0.0000 14.0000 + -12.1272 0.0000 14.0000 + -11.6236 0.0000 14.0000 + -11.1200 0.0000 14.0000 + -10.6164 0.0000 14.0000 + -10.1127 0.0000 14.0000 + -9.6091 0.0000 14.0000 + -9.1055 0.0000 14.0000 + -8.6019 0.0000 14.0000 + -8.0983 0.0000 14.0000 + -7.5947 0.0000 14.0000 + -7.0910 0.0000 14.0000 + -6.5874 0.0000 14.0000 + -6.0838 0.0000 14.0000 + -5.5802 0.0000 14.0000 + -5.0766 0.0000 14.0000 + -4.5730 0.0000 14.0000 + -4.0694 0.0000 14.0000 + -3.5657 0.0000 14.0000 + -3.0621 0.0000 14.0000 + -2.5585 0.0000 14.0000 + -2.0549 0.0009 14.0005 + -1.5513 0.1132 14.0574 + -1.0477 0.2483 14.1825 + -0.5440 0.3448 14.3561 + -0.0404 0.4543 14.5849 + 0.4632 0.5588 14.8664 + 0.9668 0.6103 15.1737 + 1.4704 0.8493 15.6014 + 1.9740 1.0615 16.1360 + 2.4777 1.1259 16.7031 + 2.9813 0.9778 17.1955 + 3.4849 0.7572 17.5768 + 3.9885 0.9446 18.0526 + 4.4921 2.2831 19.2023 + 4.9957 3.6694 21.0503 + 5.4994 2.8044 22.4627 + 6.0030 2.3933 23.6680 + 6.5066 1.9045 24.6271 + 7.0102 1.3513 25.3077 + 7.5138 0.8062 25.7137 + 8.0174 0.7272 26.0799 + 8.5211 0.8382 26.5020 + 9.0247 1.4316 27.2230 + 9.5283 1.9155 28.1877 + 10.0319 1.7300 29.0590 + 10.5355 1.5459 29.8375 + 11.0391 1.1419 30.4126 + 11.5427 1.3555 31.0952 + 12.0464 1.2953 31.7476 + 12.5500 0.5429 32.0210 + 13.0536 0.4473 32.2462 + 13.5572 0.8282 32.6634 + 14.0608 1.1877 33.2615 + 14.5644 1.1003 33.8156 + 15.0681 1.3090 34.4749 + 15.5717 1.4011 35.1805 + 16.0753 0.7368 35.5516 + 16.5789 0.3354 35.7205 + 17.0825 0.2344 35.8385 + 17.5861 0.0350 35.8561 + 18.0898 0.0355 35.8740 + 18.5934 0.0265 35.8874 + 19.0970 0.0000 35.8874 + 19.6006 0.0175 35.8962 + 20.1042 0.0059 35.8992 + 20.6078 0.0000 35.8993 + 21.1115 0.0000 35.8993 + 21.6151 0.0004 35.8995 + 22.1187 0.0043 35.9016 + 22.6223 0.0000 35.9016 + 23.1259 0.0000 35.9016 + 23.6295 0.0000 35.9016 + 24.1332 0.0047 35.9040 + 24.6368 0.0000 35.9040 + 25.1404 0.0000 35.9040 + 25.6440 0.0000 35.9040 + 26.1476 0.0000 35.9040 + 26.6512 0.0000 35.9040 + 27.1548 0.0000 35.9040 + 27.6585 0.0000 35.9040 + 28.1621 0.0000 35.9040 + 28.6657 0.0000 35.9040 + 29.1693 0.0000 35.9040 + 29.6729 0.0000 35.9040 + 30.1765 0.0000 35.9040 + 30.6802 0.0000 35.9040 + 31.1838 0.0001 35.9040 + 31.6874 0.0186 35.9134 + 32.1910 0.0092 35.9180 + 32.6946 0.0003 35.9182 + 33.1982 0.0094 35.9230 + 33.7019 0.0000 35.9230 + 34.2055 0.0107 35.9284 + 34.7091 0.0081 35.9324 + 35.2127 0.0000 35.9324 + 35.7163 0.0223 35.9437 + 36.2199 0.0077 35.9475 + 36.7236 0.0030 35.9490 + 37.2272 0.0047 35.9514 + 37.7308 0.0088 35.9558 + 38.2344 0.0020 35.9568 + 38.7380 0.0269 35.9704 + 39.2416 0.0102 35.9755 + 39.7453 0.0015 35.9763 + 40.2489 0.0000 35.9763 + 40.7525 0.0047 35.9787 + 41.2561 0.0000 35.9787 + 41.7597 0.0178 35.9876 + 42.2633 0.0114 35.9934 + 42.7670 0.0038 35.9953 + 43.2706 0.0000 35.9953 + 43.7742 0.0000 35.9953 + 44.2778 0.0000 35.9953 + 44.7814 0.0000 35.9953 + 45.2850 0.0000 35.9953 + 45.7886 0.0094 36.0000 + 46.2923 0.0000 36.0000 + 46.7959 0.0000 36.0000 + 47.2995 0.0000 36.0000 + 47.8031 0.0000 36.0000 + 48.3067 0.0000 36.0000 + 48.8103 0.0000 36.0000 + 49.3140 0.0000 36.0000 + 49.8176 0.0000 36.0000 + 50.3212 0.0000 36.0000 + 50.8248 0.0000 36.0000 + 51.3284 0.0000 36.0000 + 51.8320 0.0000 36.0000 + 52.3357 0.0000 36.0000 + + + + + + + + + + 3.66961100 0.00000000 0.00000000 + 0.00000000 3.55744000 0.00000000 + 0.00000000 0.00000000 3.17678100 + + 41.47103646 + + 0.27250845 0.00000000 0.00000000 + 0.00000000 0.28110102 0.00000000 + 0.00000000 0.00000000 0.31478405 + + + + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.50000000 0.50000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.50000000 0.00000000 + + + diff --git a/examples/README b/examples/README index d6c946725f..3c9c299819 100644 --- a/examples/README +++ b/examples/README @@ -83,6 +83,7 @@ kim: use of potentials in Knowledge Base for Interatomic Models (KIM) latte: use of LATTE density-functional tight-binding quantum code meam: MEAM test for SiC and shear (same as shear examples) melt: rapid melt of 3d LJ system +message: client/server coupling of 2 codes micelle: self-assembly of small lipid-like molecules into 2d bilayers min: energy minimization of 2d LJ melt mscg: parameterize a multi-scale coarse-graining (MSCG) model diff --git a/examples/USER/diffraction/BulkNi.in b/examples/USER/diffraction/BulkNi.in index 0fa9c1b74c..8315e57750 100644 --- a/examples/USER/diffraction/BulkNi.in +++ b/examples/USER/diffraction/BulkNi.in @@ -17,8 +17,9 @@ atom_modify sort 0 0 compute XRD all xrd 1.541838 Ni 2Theta 40 80 c 2 2 2 LP 1 echo -compute SAED all saed 0.0251 Ni Kmax 0.85 Zone 1 0 0 c 0.025 0.025 0.025 & - dR_Ewald 0.05 echo manual +compute SAED all saed 0.0251 Ni Kmax 0.85 & + Zone 0 0 0 c 0.025 0.025 0.025 & + dR_Ewald 0.01 echo manual fix 1 all ave/histo/weight 1 1 1 40 80 200 c_XRD[1] c_XRD[2] & mode vector file $A.hist.xrd diff --git a/examples/USER/diffraction/Output/BulkNi.in b/examples/USER/diffraction/Output/BulkNi.in deleted file mode 100644 index 8315e57750..0000000000 --- a/examples/USER/diffraction/Output/BulkNi.in +++ /dev/null @@ -1,35 +0,0 @@ -variable A string bulkNi -log $A.log - -boundary p p p - -units metal -timestep 0.001 - -lattice fcc 3.52 -region box block 0 20 0 20 0 20 -create_box 1 box -create_atoms 1 box - -pair_style none -mass * 58.71 -atom_modify sort 0 0 - -compute XRD all xrd 1.541838 Ni 2Theta 40 80 c 2 2 2 LP 1 echo - -compute SAED all saed 0.0251 Ni Kmax 0.85 & - Zone 0 0 0 c 0.025 0.025 0.025 & - dR_Ewald 0.01 echo manual - -fix 1 all ave/histo/weight 1 1 1 40 80 200 c_XRD[1] c_XRD[2] & - mode vector file $A.hist.xrd - -fix 2 all saed/vtk 1 1 1 c_SAED file $A_001.saed - -dump 1 all custom 1 $A.dump id x y z -run 0 - -unfix 1 -unfix 2 -uncompute XRD -uncompute SAED diff --git a/examples/message/README b/examples/message/README new file mode 100644 index 0000000000..6cd99d5c09 --- /dev/null +++ b/examples/message/README @@ -0,0 +1,117 @@ +This dir contains scripts that demonstrate how to use LAMMPS as both a +client and server code to run a simple MD simulation. LAMMPS as a +client performs the MD timestepping. LAMMPS as a server provides the +energy and forces between interacting particles. Every timestep the +LAMMPS client sends a message to the LAMMPS server and receives a +response message in return. + +Another code could replace LAMMPS as the client, e.g. another MD code +which wants to use a LAMMPS potential. Another code could replace +LAMMPS as the server, e.g. a quantum code computing quantum forces, so +that ab initio MD could be performed. See an example of the latter in +examples/COUPLE/lammps_vasp. + +See the doc pages for the "MESSAGE package" +(Package_details.html#PKG-MESSAGE) and "Howto client/server" +(Howto_client_server.html) for more details on how client/server +coupling works in LAMMPS. + +-------------- + +Note that you can adjust the problem size run by these scripts by +setting "x,y,z" variables when you run LAMMPS. The default problem size +is x = y = z = 5, which is 500 particles. + +lmp_mpi -v x 10 -v y 10 -v z 20 # 8000 particles + +This applies to either in.message or in.message.client + +You can also run the in.message scripts with an NPT integrator +instead of NVE, if you comment/uncomment the correct lines. + +The client and server script define a "mode" variable +which can be set to file, zmq, mpi/one, or mpi/two, +as illustrated below. + +-------------- + +To run this problem in the traditional way (no client/server coupling) +do one of these: + +% lmp_serial < in.message +% mpirun -np 4 lmp_mpi < in.message + +Or run with in.message.tilt. + +-------------- + +To run in client/server mode: + +Both the client and server script must use the same messaging mode. +This can be selected by setting the "mode" variable when you run +LAMMPS. The default mode = file. The other options for the mode +variable are zmq, mpione, mpitwo. + +Here we assume LAMMPS was built to run in parallel, and the MESSAGE +package was installed with socket (ZMQ) support. This means any of +the 4 messaging modes can be used. + +The next sections illustrate how to launch LAMMPS twice, once as a +client, once as a server, for each of the messaging modes. + +In all cases, the client should print out thermodynamic info for 50 +steps. The server should print out setup info, print nothing until +the client exits, at which point the server should also exit. + +The examples below show launching LAMMPS twice from the same window +(or batch script), using the "&" character to launch the first time in +the background. For all modes except {mpi/one}, you could also launch +twice in separate windows on your desktop machine. It does not matter +whether you launch the client or server first. + +In these examples either the client or server can be run on one or +more processors. If running in a non-MPI mode (file or zmq) you can +launch LAMMPS on a single processor without using mpirun. + +IMPORTANT: If you run in mpi/two mode, you must launch LAMMPS both +times via mpirun, even if one or both of them runs on a single +processor. This is so that MPI can figure out how to connect both MPI +processes together to exchange MPI messages between them. + +-------------- + +NOTE: the Script.sh file has comands to perform all the +runs listed below. + +-------------- + +File or ZMQ or mpi/two modes of messaging: + +% mpirun -np 1 lmp_mpi -v mode file -log log.client < in.message.client & +% mpirun -np 2 lmp_mpi -v mode file -log log.server < in.message.server + +% mpirun -np 4 lmp_mpi -v mode zmq -log log.client < in.message.client & +% mpirun -np 1 lmp_mpi -v mode zmq -log log.server < in.message.server + +% mpirun -np 2 lmp_mpi -v mode mpitwo -log log.client < in.message.client & +% mpirun -np 4 lmp_mpi -v mode mpitwo -log log.server < in.message.server + +Or run with in.message.tilt.client/server. +Don't run the tilt files with the "file" mode; they run too slow. + +-------------- + +Mpi/one mode of messaging: + +Launch LAMMPS twice in a single mpirun command: + +% mpirun -np 2 lmp_mpi -mpicolor 0 -in in.message.client -v mode mpione -log log.client : -np 4 lmp_mpi -mpicolor 1 -in in.message.server -v mode mpione -log log.server + +Or run with in.message.tilt.client/server. + +The two -np values determine how many procs the client and the server +run on. + +A LAMMPS executable run in this manner must use the -mpicolor color +command-line option as its first option, where color is set to one +integer value for the 1st app, and another value for the 2nd app. diff --git a/examples/message/Script.sh b/examples/message/Script.sh new file mode 100644 index 0000000000..fdcd6f1188 --- /dev/null +++ b/examples/message/Script.sh @@ -0,0 +1,55 @@ +# sample launch script + +# message on 1 proc each + +mpirun -np 1 lmp_mpi -log log.message.g++.1 < in.message + +mpirun -np 1 lmp_mpi -v mode file -log log.message.client.file.g++.1 < in.message.client & +mpirun -np 1 lmp_mpi -v mode file -log log.message.server.file.g++.1 < in.message.server + +mpirun -np 1 lmp_mpi -v mode zmq -log log.message.client.zmq.g++.1 < in.message.client & +mpirun -np 1 lmp_mpi -v mode zmq -log log.message.server.zmq.g++.1 < in.message.server + +mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.client.mpitwo.g++.1 < in.message.client & +mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.server.mpitwo.g++.1 < in.message.server + +mpirun -np 1 lmp_mpi -m 0 -in in.message.client -v mode mpione -log log.message.client.mpione.g++.1 : -np 1 lmp_mpi -m 1 -in in.message.server -v mode mpione -log log.message.server.mpione.g++.1 + +# message on 2/4 procs each + +mpirun -np 4 lmp_mpi -log log.message.g++.4 < in.message + +mpirun -np 2 lmp_mpi -v mode file -log log.message.client.file.g++.2 < in.message.client & +mpirun -np 4 lmp_mpi -v mode file -log log.message.server.file.g++.4 < in.message.server + +mpirun -np 2 lmp_mpi -v mode zmq -log log.message.client.zmq.g++.2 < in.message.client & +mpirun -np 4 lmp_mpi -v mode zmq -log log.message.server.zmq.g++.4 < in.message.server + +mpirun -np 2 lmp_mpi -v mode mpitwo -log log.message.client.mpitwo.g++.2 < in.message.client & +mpirun -np 4 lmp_mpi -v mode mpitwo -log log.message.server.mpitwo.g++.4 < in.message.server + +mpirun -np 2 lmp_mpi -m 0 -in in.message.client -v mode mpione -log log.message.client.mpione.g++.2 : -np 4 lmp_mpi -m 1 -in in.message.server -v mode mpione -log log.message.server.mpione.g++.4 + +# message.tilt on 1 proc each + +mpirun -np 1 lmp_mpi -log log.message.tilt.g++.1 < in.message.tilt + +mpirun -np 1 lmp_mpi -v mode zmq -log log.message.tilt.client.zmq.g++.1 < in.message.tilt.client & +mpirun -np 1 lmp_mpi -v mode zmq -log log.message.tilt.server.zmq.g++.1 < in.message.tilt.server + +mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.tilt.client.mpitwo.g++.1 < in.message.tilt.client & +mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.tilt.server.mpitwo.g++.1 < in.message.tilt.server + +mpirun -np 1 lmp_mpi -m 0 -in in.message.tilt.client -v mode mpione -log log.message.tilt.client.mpione.g++.1 : -np 1 lmp_mpi -m 1 -in in.message.tilt.server -v mode mpione -log log.message.tilt.server.mpione.g++.1 + +# message.tilt on 2/4 procs each + +mpirun -np 1 lmp_mpi -log log.message.tilt.g++.4 < in.message.tilt + +mpirun -np 2 lmp_mpi -v mode zmq -log log.message.tilt.client.zmq.g++.2 < in.message.tilt.client & +mpirun -np 4 lmp_mpi -v mode zmq -log log.message.tilt.server.zmq.g++.4 < in.message.tilt.server + +mpirun -np 2 lmp_mpi -v mode mpitwo -log log.message.tilt.client.mpitwo.g++.2 < in.message.tilt.client & +mpirun -np 4 lmp_mpi -v mode mpitwo -log log.message.tilt.server.mpitwo.g++.4 < in.message.tilt.server + +mpirun -np 2 lmp_mpi -m 0 -in in.message.tilt.client -v mode mpione -log log.message.tilt.client.mpione.g++.2 : -np 4 lmp_mpi -m 1 -in in.message.tilt.server -v mode mpione -log log.message.tilt.server.mpione.g++.4 diff --git a/examples/message/in.message b/examples/message/in.message new file mode 100644 index 0000000000..7fbbffc355 --- /dev/null +++ b/examples/message/in.message @@ -0,0 +1,29 @@ +# 3d Lennard-Jones melt - no client/server mode + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + +thermo 10 +run 50 diff --git a/examples/message/in.message.client b/examples/message/in.message.client new file mode 100644 index 0000000000..f1ec644a80 --- /dev/null +++ b/examples/message/in.message.client @@ -0,0 +1,41 @@ +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then & + "message client md file tmp.couple" & +elif "${mode} == zmq" & + "message client md zmq localhost:5555" & +elif "${mode} == mpione" & + "message client md mpi/one" & +elif "${mode} == mpitwo" & + "message client md mpi/two tmp.couple" + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +region box block 0 $x 0 $y 0 $z +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 diff --git a/examples/message/in.message.server b/examples/message/in.message.server new file mode 100644 index 0000000000..2fedd2ae00 --- /dev/null +++ b/examples/message/in.message.server @@ -0,0 +1,29 @@ +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then & + "message server md file tmp.couple" & +elif "${mode} == zmq" & + "message server md zmq *:5555" & +elif "${mode} == mpione" & + "message server md mpi/one" & +elif "${mode} == mpitwo" & + "message server md mpi/two tmp.couple" + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +region box block 0 1 0 1 0 1 +create_box 1 box +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md diff --git a/examples/message/in.message.tilt b/examples/message/in.message.tilt new file mode 100644 index 0000000000..51126eae1e --- /dev/null +++ b/examples/message/in.message.tilt @@ -0,0 +1,30 @@ +# 2d NEMD simulation - no client/server mode + +units lj +atom_style atomic +dimension 2 + +lattice sq2 0.8442 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +create_atoms 1 box +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 diff --git a/examples/message/in.message.tilt.client b/examples/message/in.message.tilt.client new file mode 100644 index 0000000000..b55bc6585b --- /dev/null +++ b/examples/message/in.message.tilt.client @@ -0,0 +1,42 @@ +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then & + "message client md file tmp.couple" & +elif "${mode} == zmq" & + "message client md zmq localhost:5555" & +elif "${mode} == mpione" & + "message client md mpi/one" & +elif "${mode} == mpitwo" & + "message client md mpi/two tmp.couple" + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +create_atoms 1 box +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 diff --git a/examples/message/in.message.tilt.server b/examples/message/in.message.tilt.server new file mode 100644 index 0000000000..ba211ed15f --- /dev/null +++ b/examples/message/in.message.tilt.server @@ -0,0 +1,31 @@ +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then & + "message server md file tmp.couple" & +elif "${mode} == zmq" & + "message server md zmq *:5555" & +elif "${mode} == mpione" & + "message server md mpi/one" & +elif "${mode} == mpitwo" & + "message server md mpi/two tmp.couple" + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +create_atoms 1 box +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md diff --git a/examples/message/log.28Aug18.message.client.file.g++.1 b/examples/message/log.28Aug18.message.client.file.g++.1 new file mode 100644 index 0000000000..bca1d37dd5 --- /dev/null +++ b/examples/message/log.28Aug18.message.client.file.g++.1 @@ -0,0 +1,79 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md file tmp.couple + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000752926 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.303 | 2.303 | 2.303 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 5.0251 on 1 procs for 50 steps with 500 atoms + +Performance: 4298.421 tau/day, 9.950 timesteps/s +0.1% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 9.7752e-06 | 9.7752e-06 | 9.7752e-06 | 0.0 | 0.00 +Comm | 0.00014925 | 0.00014925 | 0.00014925 | 0.0 | 0.00 +Output | 0.00023127 | 0.00023127 | 0.00023127 | 0.0 | 0.00 +Modify | 5.0242 | 5.0242 | 5.0242 | 0.0 | 99.98 +Other | | 0.0004668 | | | 0.01 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:05 diff --git a/examples/message/log.28Aug18.message.client.file.g++.2 b/examples/message/log.28Aug18.message.client.file.g++.2 new file mode 100644 index 0000000000..1c868dde37 --- /dev/null +++ b/examples/message/log.28Aug18.message.client.file.g++.2 @@ -0,0 +1,79 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md file tmp.couple + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000613928 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 5.02384 on 2 procs for 50 steps with 500 atoms + +Performance: 4299.499 tau/day, 9.953 timesteps/s +50.1% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 1.9073e-06 | 3.3379e-06 | 4.7684e-06 | 0.0 | 0.00 +Comm | 0.00020742 | 0.00021136 | 0.00021529 | 0.0 | 0.00 +Output | 0.00026989 | 0.00048053 | 0.00069118 | 0.0 | 0.01 +Modify | 5.0171 | 5.0199 | 5.0228 | 0.1 | 99.92 +Other | | 0.003203 | | | 0.06 + +Nlocal: 250 ave 255 max 245 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:05 diff --git a/examples/message/log.28Aug18.message.client.mpione.g++.1 b/examples/message/log.28Aug18.message.client.mpione.g++.1 new file mode 100644 index 0000000000..78bee72fdf --- /dev/null +++ b/examples/message/log.28Aug18.message.client.mpione.g++.1 @@ -0,0 +1,79 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/one + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000540018 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.303 | 2.303 | 2.303 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 0.0403891 on 1 procs for 50 steps with 500 atoms + +Performance: 534798.272 tau/day, 1237.959 timesteps/s +99.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 4.7684e-06 | 4.7684e-06 | 4.7684e-06 | 0.0 | 0.01 +Comm | 6.3181e-05 | 6.3181e-05 | 6.3181e-05 | 0.0 | 0.16 +Output | 9.5367e-05 | 9.5367e-05 | 9.5367e-05 | 0.0 | 0.24 +Modify | 0.040053 | 0.040053 | 0.040053 | 0.0 | 99.17 +Other | | 0.0001726 | | | 0.43 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.client.mpione.g++.2 b/examples/message/log.28Aug18.message.client.mpione.g++.2 new file mode 100644 index 0000000000..7d7af866e3 --- /dev/null +++ b/examples/message/log.28Aug18.message.client.mpione.g++.2 @@ -0,0 +1,79 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/one + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000475883 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 0.0208495 on 2 procs for 50 steps with 500 atoms + +Performance: 1035997.740 tau/day, 2398.143 timesteps/s +99.1% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 3.0994e-06 | 4.53e-06 | 5.9605e-06 | 0.0 | 0.02 +Comm | 0.00012422 | 0.00012457 | 0.00012493 | 0.0 | 0.60 +Output | 5.7697e-05 | 7.987e-05 | 0.00010204 | 0.0 | 0.38 +Modify | 0.020463 | 0.020464 | 0.020466 | 0.0 | 98.15 +Other | | 0.0001761 | | | 0.84 + +Nlocal: 250 ave 255 max 245 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.client.mpitwo.g++.1 b/examples/message/log.28Aug18.message.client.mpitwo.g++.1 new file mode 100644 index 0000000000..ee97e7bd1a --- /dev/null +++ b/examples/message/log.28Aug18.message.client.mpitwo.g++.1 @@ -0,0 +1,79 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/two tmp.couple + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000603914 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.303 | 2.303 | 2.303 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 0.069119 on 1 procs for 50 steps with 500 atoms + +Performance: 312504.627 tau/day, 723.390 timesteps/s +42.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 7.1526e-06 | 7.1526e-06 | 7.1526e-06 | 0.0 | 0.01 +Comm | 0.0001049 | 0.0001049 | 0.0001049 | 0.0 | 0.15 +Output | 0.00014019 | 0.00014019 | 0.00014019 | 0.0 | 0.20 +Modify | 0.068602 | 0.068602 | 0.068602 | 0.0 | 99.25 +Other | | 0.0002651 | | | 0.38 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.client.mpitwo.g++.2 b/examples/message/log.28Aug18.message.client.mpitwo.g++.2 new file mode 100644 index 0000000000..72db0198d5 --- /dev/null +++ b/examples/message/log.28Aug18.message.client.mpitwo.g++.2 @@ -0,0 +1,79 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/two tmp.couple + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000667095 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 0.0190214 on 2 procs for 50 steps with 500 atoms + +Performance: 1135563.588 tau/day, 2628.619 timesteps/s +58.5% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 1.9073e-06 | 2.861e-06 | 3.8147e-06 | 0.0 | 0.02 +Comm | 0.00017238 | 0.00017989 | 0.0001874 | 0.0 | 0.95 +Output | 0.00012803 | 0.00015497 | 0.00018191 | 0.0 | 0.81 +Modify | 0.018065 | 0.018181 | 0.018297 | 0.1 | 95.58 +Other | | 0.0005029 | | | 2.64 + +Nlocal: 250 ave 255 max 245 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/message/log.28Aug18.message.client.zmq.g++.1 b/examples/message/log.28Aug18.message.client.zmq.g++.1 new file mode 100644 index 0000000000..23fa70c1be --- /dev/null +++ b/examples/message/log.28Aug18.message.client.zmq.g++.1 @@ -0,0 +1,79 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md zmq localhost:5555 + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000734091 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.303 | 2.303 | 2.303 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 0.0778341 on 1 procs for 50 steps with 500 atoms + +Performance: 277513.222 tau/day, 642.392 timesteps/s +11.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 7.8678e-06 | 7.8678e-06 | 7.8678e-06 | 0.0 | 0.01 +Comm | 8.3685e-05 | 8.3685e-05 | 8.3685e-05 | 0.0 | 0.11 +Output | 0.00011373 | 0.00011373 | 0.00011373 | 0.0 | 0.15 +Modify | 0.07734 | 0.07734 | 0.07734 | 0.0 | 99.37 +Other | | 0.0002885 | | | 0.37 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.client.zmq.g++.2 b/examples/message/log.28Aug18.message.client.zmq.g++.2 new file mode 100644 index 0000000000..7833befd21 --- /dev/null +++ b/examples/message/log.28Aug18.message.client.zmq.g++.2 @@ -0,0 +1,79 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md zmq localhost:5555 + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic +atom_modify sort 0 0.0 map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000570059 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + +fix 2 all client/md +fix_modify 2 energy yes + +thermo 10 +run 50 +Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 0 0 -4.6176881 -5.0221006 + 10 1.1347688 0 0 -4.6166043 -2.6072847 + 20 0.628166 0 0 -4.62213 1.0186262 + 30 0.73767593 0 0 -4.6254647 0.49629637 + 40 0.69517962 0 0 -4.6253506 0.69303877 + 50 0.70150496 0 0 -4.6259832 0.59551518 +Loop time of 0.0416595 on 2 procs for 50 steps with 500 atoms + +Performance: 518489.499 tau/day, 1200.207 timesteps/s +56.5% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 2.861e-06 | 3.3379e-06 | 3.8147e-06 | 0.0 | 0.01 +Comm | 0.00013399 | 0.00013685 | 0.00013971 | 0.0 | 0.33 +Output | 8.6784e-05 | 0.00011206 | 0.00013733 | 0.0 | 0.27 +Modify | 0.040948 | 0.04103 | 0.041112 | 0.0 | 98.49 +Other | | 0.0003769 | | | 0.90 + +Nlocal: 250 ave 255 max 245 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.g++.1 b/examples/message/log.28Aug18.message.g++.1 new file mode 100644 index 0000000000..c06af4e0d1 --- /dev/null +++ b/examples/message/log.28Aug18.message.g++.1 @@ -0,0 +1,85 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - no client/server mode + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000682831 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + +thermo 10 +run 50 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.143 | 3.143 | 3.143 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 + 10 1.1347688 -6.3153532 0 -4.6166043 -2.6072847 + 20 0.628166 -5.5624945 0 -4.62213 1.0186262 + 30 0.73767593 -5.7297655 0 -4.6254647 0.49629637 + 40 0.69517962 -5.6660345 0 -4.6253506 0.69303877 + 50 0.70150496 -5.6761362 0 -4.6259832 0.59551518 +Loop time of 0.039681 on 1 procs for 50 steps with 500 atoms + +Performance: 544341.699 tau/day, 1260.050 timesteps/s +99.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.029993 | 0.029993 | 0.029993 | 0.0 | 75.59 +Neigh | 0.0073051 | 0.0073051 | 0.0073051 | 0.0 | 18.41 +Comm | 0.0012736 | 0.0012736 | 0.0012736 | 0.0 | 3.21 +Output | 0.00012803 | 0.00012803 | 0.00012803 | 0.0 | 0.32 +Modify | 0.00053287 | 0.00053287 | 0.00053287 | 0.0 | 1.34 +Other | | 0.000448 | | | 1.13 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1946 ave 1946 max 1946 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 18820 ave 18820 max 18820 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 18820 +Ave neighs/atom = 37.64 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.g++.4 b/examples/message/log.28Aug18.message.g++.4 new file mode 100644 index 0000000000..695b51f166 --- /dev/null +++ b/examples/message/log.28Aug18.message.g++.4 @@ -0,0 +1,85 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - no client/server mode + +variable x index 5 +variable y index 5 +variable z index 5 + +units lj +atom_style atomic + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 $x 0 $y 0 $z +region box block 0 5 0 $y 0 $z +region box block 0 5 0 5 0 $z +region box block 0 5 0 5 0 5 +create_box 1 box +Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + Time spent = 0.000656843 secs +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +# same with NPT +#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0 + +thermo 10 +run 50 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.109 | 3.109 | 3.109 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6176881 -5.0221006 + 10 1.1347688 -6.3153532 0 -4.6166043 -2.6072847 + 20 0.628166 -5.5624945 0 -4.62213 1.0186262 + 30 0.73767593 -5.7297655 0 -4.6254647 0.49629637 + 40 0.69517962 -5.6660345 0 -4.6253506 0.69303877 + 50 0.70150496 -5.6761362 0 -4.6259832 0.59551518 +Loop time of 0.0131519 on 4 procs for 50 steps with 500 atoms + +Performance: 1642350.242 tau/day, 3801.737 timesteps/s +97.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.006074 | 0.0065379 | 0.0072589 | 0.6 | 49.71 +Neigh | 0.0014219 | 0.0015552 | 0.0017018 | 0.3 | 11.82 +Comm | 0.003546 | 0.0043943 | 0.0049584 | 0.8 | 33.41 +Output | 0.000108 | 0.00012845 | 0.00016999 | 0.0 | 0.98 +Modify | 0.00014353 | 0.00014949 | 0.00015569 | 0.0 | 1.14 +Other | | 0.0003865 | | | 2.94 + +Nlocal: 125 ave 128 max 121 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Nghost: 1091 ave 1094 max 1089 min +Histogram: 1 0 1 0 1 0 0 0 0 1 +Neighs: 4705 ave 4849 max 4648 min +Histogram: 2 1 0 0 0 0 0 0 0 1 + +Total # of neighbors = 18820 +Ave neighs/atom = 37.64 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.server.file.g++.1 b/examples/message/log.28Aug18.message.server.file.g++.1 new file mode 100644 index 0000000000..cf1418d3c5 --- /dev/null +++ b/examples/message/log.28Aug18.message.server.file.g++.1 @@ -0,0 +1,44 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md file tmp.couple + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 1 by 1 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:05 diff --git a/examples/message/log.28Aug18.message.server.file.g++.4 b/examples/message/log.28Aug18.message.server.file.g++.4 new file mode 100644 index 0000000000..c233bad692 --- /dev/null +++ b/examples/message/log.28Aug18.message.server.file.g++.4 @@ -0,0 +1,44 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md file tmp.couple + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 2 by 2 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 2 by 2 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:05 diff --git a/examples/message/log.28Aug18.message.server.mpione.g++.1 b/examples/message/log.28Aug18.message.server.mpione.g++.1 new file mode 100644 index 0000000000..81e04aa923 --- /dev/null +++ b/examples/message/log.28Aug18.message.server.mpione.g++.1 @@ -0,0 +1,44 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/one + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 1 by 1 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.server.mpione.g++.4 b/examples/message/log.28Aug18.message.server.mpione.g++.4 new file mode 100644 index 0000000000..a185cb1c29 --- /dev/null +++ b/examples/message/log.28Aug18.message.server.mpione.g++.4 @@ -0,0 +1,44 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/one + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 2 by 2 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 2 by 2 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.server.mpitwo.g++.1 b/examples/message/log.28Aug18.message.server.mpitwo.g++.1 new file mode 100644 index 0000000000..973a08eb6a --- /dev/null +++ b/examples/message/log.28Aug18.message.server.mpitwo.g++.1 @@ -0,0 +1,44 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/two tmp.couple + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 1 by 1 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.server.mpitwo.g++.4 b/examples/message/log.28Aug18.message.server.mpitwo.g++.4 new file mode 100644 index 0000000000..9e76e52d90 --- /dev/null +++ b/examples/message/log.28Aug18.message.server.mpitwo.g++.4 @@ -0,0 +1,44 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/two tmp.couple + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 2 by 2 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 2 by 2 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.server.zmq.g++.1 b/examples/message/log.28Aug18.message.server.zmq.g++.1 new file mode 100644 index 0000000000..ce5729878b --- /dev/null +++ b/examples/message/log.28Aug18.message.server.zmq.g++.1 @@ -0,0 +1,44 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md zmq *:5555 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 1 by 1 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.server.zmq.g++.4 b/examples/message/log.28Aug18.message.server.zmq.g++.4 new file mode 100644 index 0000000000..b3201da4da --- /dev/null +++ b/examples/message/log.28Aug18.message.server.zmq.g++.4 @@ -0,0 +1,44 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md zmq *:5555 + +units lj +atom_style atomic +atom_modify map yes + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +region box block 0 1 0 1 0 1 +create_box 1 box +Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796) + 1 by 2 by 2 MPI processor grid +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 2 by 2 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 6 6 6 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Server MD calls = 51 +Server MD reneighborings 5 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.tilt.client.mpione.g++.1 b/examples/message/log.28Aug18.message.tilt.client.mpione.g++.1 new file mode 100644 index 0000000000..a290ec307b --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.client.mpione.g++.1 @@ -0,0 +1,130 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/one + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000485897 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 15.3919, bins = 1 1 1 + 0 neighbor lists, perpetual/occasional/extra = 0 0 0 +Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.0086399 0 1.3760711 6.8772078 0.61567613 + 2000 1.0707188 0 1.3744107 6.628097 1.2313523 + 3000 1.0627515 0 1.310096 6.1647179 1.8470284 + 4000 0.94091054 0 1.268976 6.4723215 2.4627045 + 5000 1.0218949 0 1.2430242 5.6945977 3.0783806 + 6000 0.98649481 0 1.1997565 5.2870413 3.6940568 + 7000 0.9047957 0 1.1461262 5.9291636 4.3097329 + 8000 0.85697614 0 1.0437412 5.0652097 4.925409 + 9000 0.84208329 0 1.109218 6.1749808 5.5410852 + 10000 0.86418108 0 1.1594773 6.2581867 6.1567613 + 11000 0.95136356 0 1.1650901 5.8389085 6.7724374 + 12000 0.94571583 0 1.2210342 6.2498816 7.3881135 + 13000 0.95994288 0 1.2172042 5.9608165 -7.3881135 + 14000 0.99053999 0 1.2925597 6.9994446 -6.7724374 + 15000 1.0316726 0 1.3346023 6.6902672 -6.1567613 + 16000 0.99537481 0 1.3227696 7.0301123 -5.5410852 + 17000 1.0306843 0 1.3101457 6.4750102 -4.925409 + 18000 1.071154 0 1.2947547 5.695888 -4.3097329 + 19000 0.97120752 0 1.3035465 7.3945362 -3.6940568 + 20000 0.97198994 0 1.2244663 6.0047605 -3.0783806 + 21000 0.97943545 0 1.2393394 6.3871012 -2.4627045 + 22000 0.98550707 0 1.1768148 5.019967 -1.8470284 + 23000 0.96920052 0 1.1730698 5.7944947 -1.2313523 + 24000 0.94069959 0 1.184119 5.8434876 -0.61567613 + 25000 0.91569312 0 1.1642118 5.668997 0 + 26000 0.98882932 0 1.1999248 5.0115507 0.61567613 + 27000 0.8972608 0 1.2556546 7.0837158 1.2313523 + 28000 0.93554756 0 1.2221911 5.9302841 1.8470284 + 29000 0.97894608 0 1.2168736 5.5766766 2.4627045 + 30000 0.97877055 0 1.2575839 6.4308887 3.0783806 + 31000 1.0002387 0 1.2338069 5.3873124 3.6940568 + 32000 0.89608618 0 1.2382021 6.7892204 4.3097329 + 33000 0.87439302 0 1.2252635 7.078134 4.925409 + 34000 1.076102 0 1.2991393 5.5556892 5.5410852 + 35000 1.0018689 0 1.272105 6.1320483 6.1567613 + 36000 0.93327214 0 1.2428039 7.0030867 6.7724374 + 37000 1.0770236 0 1.3002931 5.4996076 7.3881135 + 38000 0.98715132 0 1.215562 5.5958335 -7.3881135 + 39000 0.95028417 0 1.2566706 6.4133713 -6.7724374 + 40000 1.0445585 0 1.241151 5.3589806 -6.1567613 + 41000 0.93799713 0 1.2109086 6.4957845 -5.5410852 + 42000 0.99231038 0 1.2228781 5.9363471 -4.925409 + 43000 0.97913815 0 1.1854842 5.8837987 -4.3097329 + 44000 0.86748838 0 1.1616201 6.8991278 -3.6940568 + 45000 0.96284421 0 1.1549383 5.1226785 -3.0783806 + 46000 0.98701623 0 1.170581 4.9719567 -2.4627045 + 47000 0.92618683 0 1.2146576 6.7100075 -1.8470284 + 48000 1.0092593 0 1.2523988 5.7067864 -1.2313523 + 49000 1.0187472 0 1.271608 5.3355092 -0.61567613 + 50000 1.0194881 0 1.2831094 6.2449759 0 +Loop time of 1.74559 on 1 procs for 50000 steps with 160 atoms + +Performance: 12374053.445 tau/day, 28643.642 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0020533 | 0.0020533 | 0.0020533 | 0.0 | 0.12 +Comm | 0.015517 | 0.015517 | 0.015517 | 0.0 | 0.89 +Output | 0.00052404 | 0.00052404 | 0.00052404 | 0.0 | 0.03 +Modify | 1.6784 | 1.6784 | 1.6784 | 0.0 | 96.15 +Other | | 0.04905 | | | 2.81 + +Nlocal: 160 ave 160 max 160 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 5270 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/message/log.28Aug18.message.tilt.client.mpione.g++.2 b/examples/message/log.28Aug18.message.tilt.client.mpione.g++.2 new file mode 100644 index 0000000000..0089732355 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.client.mpione.g++.2 @@ -0,0 +1,130 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/one + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000453949 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 15.3919, bins = 1 1 1 + 0 neighbor lists, perpetual/occasional/extra = 0 0 0 +Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.0876599 0 1.3637783 6.063363 0.61567613 + 2000 1.0722996 0 1.4108622 7.0518942 1.2313523 + 3000 1.0580774 0 1.3845895 6.0395275 1.8470284 + 4000 1.0068006 0 1.3804387 7.0944598 2.4627045 + 5000 0.95391814 0 1.2578438 6.1878831 3.0783806 + 6000 0.93492945 0 1.2711287 7.0440517 3.6940568 + 7000 0.94107853 0 1.2384371 6.1438077 4.3097329 + 8000 0.89711744 0 1.145748 6.3558305 4.925409 + 9000 0.90190304 0 1.0860684 4.957098 5.5410852 + 10000 0.84255749 0 1.0376892 5.2351795 6.1567613 + 11000 0.90250882 0 1.0497695 4.3844838 6.7724374 + 12000 0.83461274 0 1.0281949 5.1534361 7.3881135 + 13000 0.80315331 0 1.0226333 5.757222 -7.3881135 + 14000 0.81820939 0 0.99276466 4.6943725 -6.7724374 + 15000 0.8239631 0 1.0408289 5.1669006 -6.1567613 + 16000 0.88908894 0 1.1554855 6.3510278 -5.5410852 + 17000 0.98268136 0 1.2086981 5.6302847 -4.925409 + 18000 1.0098162 0 1.3687676 7.5243587 -4.3097329 + 19000 1.0795086 0 1.4562691 7.639418 -3.6940568 + 20000 1.1932155 0 1.5278988 7.0668432 -3.0783806 + 21000 1.2424296 0 1.6048792 7.959585 -2.4627045 + 22000 1.297169 0 1.7421262 8.9432388 -1.8470284 + 23000 1.2863494 0 1.7236774 8.3584973 -1.2313523 + 24000 1.4084347 0 1.7370339 7.2729078 -0.61567613 + 25000 1.3339728 0 1.6883255 7.529098 0 + 26000 1.1483243 0 1.5155578 7.3869994 0.61567613 + 27000 1.1372606 0 1.4368323 7.0580136 1.2313523 + 28000 1.0518579 0 1.355311 6.478857 1.8470284 + 29000 1.0581145 0 1.2535509 5.3697479 2.4627045 + 30000 0.93612564 0 1.185532 5.5520142 3.0783806 + 31000 0.94387516 0 1.1716454 5.8655485 3.6940568 + 32000 0.83953515 0 1.0737746 5.5551953 4.3097329 + 33000 0.84862926 0 1.0564042 5.7795428 4.925409 + 34000 0.83621877 0 1.079387 5.7514243 5.5410852 + 35000 0.86938506 0 1.031783 4.5897825 6.1567613 + 36000 0.88990609 0 1.0807597 5.3751744 6.7724374 + 37000 0.89534631 0 1.1238882 5.2400355 7.3881135 + 38000 0.98545003 0 1.2121125 5.7783854 -7.3881135 + 39000 0.96737778 0 1.2472934 6.1139 -6.7724374 + 40000 1.0664194 0 1.2956811 5.7353661 -6.1567613 + 41000 1.0681494 0 1.3269435 6.3102722 -5.5410852 + 42000 1.0875422 0 1.3963739 7.1208066 -4.925409 + 43000 1.0968173 0 1.3388062 6.1704339 -4.3097329 + 44000 1.1182109 0 1.3773214 7.0872686 -3.6940568 + 45000 1.1243261 0 1.432186 6.884782 -3.0783806 + 46000 1.039713 0 1.4389721 7.5585257 -2.4627045 + 47000 1.0816108 0 1.4100361 6.4611126 -1.8470284 + 48000 0.97637127 0 1.3605389 7.3992744 -1.2313523 + 49000 1.0361978 0 1.2721873 5.8166109 -0.61567613 + 50000 0.92367087 0 1.1875669 6.4685214 0 +Loop time of 2.82785 on 2 procs for 50000 steps with 160 atoms + +Performance: 7638300.565 tau/day, 17681.251 timesteps/s +100.0% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0011888 | 0.0012611 | 0.0013335 | 0.2 | 0.04 +Comm | 0.024838 | 0.025075 | 0.025312 | 0.1 | 0.89 +Output | 0.0003581 | 0.00052559 | 0.00069308 | 0.0 | 0.02 +Modify | 2.7209 | 2.7263 | 2.7318 | 0.3 | 96.41 +Other | | 0.07465 | | | 2.64 + +Nlocal: 80 ave 80 max 80 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 5257 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.1 b/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.1 new file mode 100644 index 0000000000..814b3df1aa --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.1 @@ -0,0 +1,130 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/two tmp.couple + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000543118 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 15.3919, bins = 1 1 1 + 0 neighbor lists, perpetual/occasional/extra = 0 0 0 +Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.0086399 0 1.3760711 6.8772078 0.61567613 + 2000 1.0707188 0 1.3744107 6.628097 1.2313523 + 3000 1.0627515 0 1.310096 6.1647179 1.8470284 + 4000 0.94091054 0 1.268976 6.4723215 2.4627045 + 5000 1.0218949 0 1.2430242 5.6945977 3.0783806 + 6000 0.98649481 0 1.1997565 5.2870413 3.6940568 + 7000 0.9047957 0 1.1461262 5.9291636 4.3097329 + 8000 0.85697614 0 1.0437412 5.0652097 4.925409 + 9000 0.84208329 0 1.109218 6.1749808 5.5410852 + 10000 0.86418108 0 1.1594773 6.2581867 6.1567613 + 11000 0.95136356 0 1.1650901 5.8389085 6.7724374 + 12000 0.94571583 0 1.2210342 6.2498816 7.3881135 + 13000 0.95994288 0 1.2172042 5.9608165 -7.3881135 + 14000 0.99053999 0 1.2925597 6.9994446 -6.7724374 + 15000 1.0316726 0 1.3346023 6.6902672 -6.1567613 + 16000 0.99537481 0 1.3227696 7.0301123 -5.5410852 + 17000 1.0306843 0 1.3101457 6.4750102 -4.925409 + 18000 1.071154 0 1.2947547 5.695888 -4.3097329 + 19000 0.97120752 0 1.3035465 7.3945362 -3.6940568 + 20000 0.97198994 0 1.2244663 6.0047605 -3.0783806 + 21000 0.97943545 0 1.2393394 6.3871012 -2.4627045 + 22000 0.98550707 0 1.1768148 5.019967 -1.8470284 + 23000 0.96920052 0 1.1730698 5.7944947 -1.2313523 + 24000 0.94069959 0 1.184119 5.8434876 -0.61567613 + 25000 0.91569312 0 1.1642118 5.668997 0 + 26000 0.98882932 0 1.1999248 5.0115507 0.61567613 + 27000 0.8972608 0 1.2556546 7.0837158 1.2313523 + 28000 0.93554756 0 1.2221911 5.9302841 1.8470284 + 29000 0.97894608 0 1.2168736 5.5766766 2.4627045 + 30000 0.97877055 0 1.2575839 6.4308887 3.0783806 + 31000 1.0002387 0 1.2338069 5.3873124 3.6940568 + 32000 0.89608618 0 1.2382021 6.7892204 4.3097329 + 33000 0.87439302 0 1.2252635 7.078134 4.925409 + 34000 1.076102 0 1.2991393 5.5556892 5.5410852 + 35000 1.0018689 0 1.272105 6.1320483 6.1567613 + 36000 0.93327214 0 1.2428039 7.0030867 6.7724374 + 37000 1.0770236 0 1.3002931 5.4996076 7.3881135 + 38000 0.98715132 0 1.215562 5.5958335 -7.3881135 + 39000 0.95028417 0 1.2566706 6.4133713 -6.7724374 + 40000 1.0445585 0 1.241151 5.3589806 -6.1567613 + 41000 0.93799713 0 1.2109086 6.4957845 -5.5410852 + 42000 0.99231038 0 1.2228781 5.9363471 -4.925409 + 43000 0.97913815 0 1.1854842 5.8837987 -4.3097329 + 44000 0.86748838 0 1.1616201 6.8991278 -3.6940568 + 45000 0.96284421 0 1.1549383 5.1226785 -3.0783806 + 46000 0.98701623 0 1.170581 4.9719567 -2.4627045 + 47000 0.92618683 0 1.2146576 6.7100075 -1.8470284 + 48000 1.0092593 0 1.2523988 5.7067864 -1.2313523 + 49000 1.0187472 0 1.271608 5.3355092 -0.61567613 + 50000 1.0194881 0 1.2831094 6.2449759 0 +Loop time of 4.80282 on 1 procs for 50000 steps with 160 atoms + +Performance: 4497356.047 tau/day, 10410.546 timesteps/s +50.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0032325 | 0.0032325 | 0.0032325 | 0.0 | 0.07 +Comm | 0.033613 | 0.033613 | 0.033613 | 0.0 | 0.70 +Output | 0.00089812 | 0.00089812 | 0.00089812 | 0.0 | 0.02 +Modify | 4.6706 | 4.6706 | 4.6706 | 0.0 | 97.25 +Other | | 0.09449 | | | 1.97 + +Nlocal: 160 ave 160 max 160 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 5270 +Dangerous builds = 0 +Total wall time: 0:00:04 diff --git a/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.2 b/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.2 new file mode 100644 index 0000000000..7c172d3727 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.2 @@ -0,0 +1,130 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md mpi/two tmp.couple + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000574827 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 15.3919, bins = 1 1 1 + 0 neighbor lists, perpetual/occasional/extra = 0 0 0 +Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.0876599 0 1.3637783 6.063363 0.61567613 + 2000 1.0722996 0 1.4108622 7.0518942 1.2313523 + 3000 1.0580774 0 1.3845895 6.0395275 1.8470284 + 4000 1.0068006 0 1.3804387 7.0944598 2.4627045 + 5000 0.95391814 0 1.2578438 6.1878831 3.0783806 + 6000 0.93492945 0 1.2711287 7.0440517 3.6940568 + 7000 0.94107853 0 1.2384371 6.1438077 4.3097329 + 8000 0.89711744 0 1.145748 6.3558305 4.925409 + 9000 0.90190304 0 1.0860684 4.957098 5.5410852 + 10000 0.84255749 0 1.0376892 5.2351795 6.1567613 + 11000 0.90250882 0 1.0497695 4.3844838 6.7724374 + 12000 0.83461274 0 1.0281949 5.1534361 7.3881135 + 13000 0.80315331 0 1.0226333 5.757222 -7.3881135 + 14000 0.81820939 0 0.99276466 4.6943725 -6.7724374 + 15000 0.8239631 0 1.0408289 5.1669006 -6.1567613 + 16000 0.88908894 0 1.1554855 6.3510278 -5.5410852 + 17000 0.98268136 0 1.2086981 5.6302847 -4.925409 + 18000 1.0098162 0 1.3687676 7.5243587 -4.3097329 + 19000 1.0795086 0 1.4562691 7.639418 -3.6940568 + 20000 1.1932155 0 1.5278988 7.0668432 -3.0783806 + 21000 1.2424296 0 1.6048792 7.959585 -2.4627045 + 22000 1.297169 0 1.7421262 8.9432388 -1.8470284 + 23000 1.2863494 0 1.7236774 8.3584973 -1.2313523 + 24000 1.4084347 0 1.7370339 7.2729078 -0.61567613 + 25000 1.3339728 0 1.6883255 7.529098 0 + 26000 1.1483243 0 1.5155578 7.3869994 0.61567613 + 27000 1.1372606 0 1.4368323 7.0580136 1.2313523 + 28000 1.0518579 0 1.355311 6.478857 1.8470284 + 29000 1.0581145 0 1.2535509 5.3697479 2.4627045 + 30000 0.93612564 0 1.185532 5.5520142 3.0783806 + 31000 0.94387516 0 1.1716454 5.8655485 3.6940568 + 32000 0.83953515 0 1.0737746 5.5551953 4.3097329 + 33000 0.84862926 0 1.0564042 5.7795428 4.925409 + 34000 0.83621877 0 1.079387 5.7514243 5.5410852 + 35000 0.86938506 0 1.031783 4.5897825 6.1567613 + 36000 0.88990609 0 1.0807597 5.3751744 6.7724374 + 37000 0.89534631 0 1.1238882 5.2400355 7.3881135 + 38000 0.98545003 0 1.2121125 5.7783854 -7.3881135 + 39000 0.96737778 0 1.2472934 6.1139 -6.7724374 + 40000 1.0664194 0 1.2956811 5.7353661 -6.1567613 + 41000 1.0681494 0 1.3269435 6.3102722 -5.5410852 + 42000 1.0875422 0 1.3963739 7.1208066 -4.925409 + 43000 1.0968173 0 1.3388062 6.1704339 -4.3097329 + 44000 1.1182109 0 1.3773214 7.0872686 -3.6940568 + 45000 1.1243261 0 1.432186 6.884782 -3.0783806 + 46000 1.039713 0 1.4389721 7.5585257 -2.4627045 + 47000 1.0816108 0 1.4100361 6.4611126 -1.8470284 + 48000 0.97637127 0 1.3605389 7.3992744 -1.2313523 + 49000 1.0361978 0 1.2721873 5.8166109 -0.61567613 + 50000 0.92367087 0 1.1875669 6.4685214 0 +Loop time of 5.66536 on 2 procs for 50000 steps with 160 atoms + +Performance: 3812643.232 tau/day, 8825.563 timesteps/s +48.1% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0012836 | 0.0015377 | 0.0017917 | 0.6 | 0.03 +Comm | 0.037211 | 0.037922 | 0.038633 | 0.4 | 0.67 +Output | 0.00052023 | 0.00073683 | 0.00095344 | 0.0 | 0.01 +Modify | 5.5101 | 5.5105 | 5.511 | 0.0 | 97.27 +Other | | 0.1146 | | | 2.02 + +Nlocal: 80 ave 80 max 80 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 5257 +Dangerous builds = 0 +Total wall time: 0:00:06 diff --git a/examples/message/log.28Aug18.message.tilt.client.zmq.g++.1 b/examples/message/log.28Aug18.message.tilt.client.zmq.g++.1 new file mode 100644 index 0000000000..f5e2f220cd --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.client.zmq.g++.1 @@ -0,0 +1,130 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md zmq localhost:5555 + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000530005 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 15.3919, bins = 1 1 1 + 0 neighbor lists, perpetual/occasional/extra = 0 0 0 +Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.0086399 0 1.3760711 6.8772078 0.61567613 + 2000 1.0707188 0 1.3744107 6.628097 1.2313523 + 3000 1.0627515 0 1.310096 6.1647179 1.8470284 + 4000 0.94091054 0 1.268976 6.4723215 2.4627045 + 5000 1.0218949 0 1.2430242 5.6945977 3.0783806 + 6000 0.98649481 0 1.1997565 5.2870413 3.6940568 + 7000 0.9047957 0 1.1461262 5.9291636 4.3097329 + 8000 0.85697614 0 1.0437412 5.0652097 4.925409 + 9000 0.84208329 0 1.109218 6.1749808 5.5410852 + 10000 0.86418108 0 1.1594773 6.2581867 6.1567613 + 11000 0.95136356 0 1.1650901 5.8389085 6.7724374 + 12000 0.94571583 0 1.2210342 6.2498816 7.3881135 + 13000 0.95994288 0 1.2172042 5.9608165 -7.3881135 + 14000 0.99053999 0 1.2925597 6.9994446 -6.7724374 + 15000 1.0316726 0 1.3346023 6.6902672 -6.1567613 + 16000 0.99537481 0 1.3227696 7.0301123 -5.5410852 + 17000 1.0306843 0 1.3101457 6.4750102 -4.925409 + 18000 1.071154 0 1.2947547 5.695888 -4.3097329 + 19000 0.97120752 0 1.3035465 7.3945362 -3.6940568 + 20000 0.97198994 0 1.2244663 6.0047605 -3.0783806 + 21000 0.97943545 0 1.2393394 6.3871012 -2.4627045 + 22000 0.98550707 0 1.1768148 5.019967 -1.8470284 + 23000 0.96920052 0 1.1730698 5.7944947 -1.2313523 + 24000 0.94069959 0 1.184119 5.8434876 -0.61567613 + 25000 0.91569312 0 1.1642118 5.668997 0 + 26000 0.98882932 0 1.1999248 5.0115507 0.61567613 + 27000 0.8972608 0 1.2556546 7.0837158 1.2313523 + 28000 0.93554756 0 1.2221911 5.9302841 1.8470284 + 29000 0.97894608 0 1.2168736 5.5766766 2.4627045 + 30000 0.97877055 0 1.2575839 6.4308887 3.0783806 + 31000 1.0002387 0 1.2338069 5.3873124 3.6940568 + 32000 0.89608618 0 1.2382021 6.7892204 4.3097329 + 33000 0.87439302 0 1.2252635 7.078134 4.925409 + 34000 1.076102 0 1.2991393 5.5556892 5.5410852 + 35000 1.0018689 0 1.272105 6.1320483 6.1567613 + 36000 0.93327214 0 1.2428039 7.0030867 6.7724374 + 37000 1.0770236 0 1.3002931 5.4996076 7.3881135 + 38000 0.98715132 0 1.215562 5.5958335 -7.3881135 + 39000 0.95028417 0 1.2566706 6.4133713 -6.7724374 + 40000 1.0445585 0 1.241151 5.3589806 -6.1567613 + 41000 0.93799713 0 1.2109086 6.4957845 -5.5410852 + 42000 0.99231038 0 1.2228781 5.9363471 -4.925409 + 43000 0.97913815 0 1.1854842 5.8837987 -4.3097329 + 44000 0.86748838 0 1.1616201 6.8991278 -3.6940568 + 45000 0.96284421 0 1.1549383 5.1226785 -3.0783806 + 46000 0.98701623 0 1.170581 4.9719567 -2.4627045 + 47000 0.92618683 0 1.2146576 6.7100075 -1.8470284 + 48000 1.0092593 0 1.2523988 5.7067864 -1.2313523 + 49000 1.0187472 0 1.271608 5.3355092 -0.61567613 + 50000 1.0194881 0 1.2831094 6.2449759 0 +Loop time of 12.9652 on 1 procs for 50000 steps with 160 atoms + +Performance: 1666000.147 tau/day, 3856.482 timesteps/s +23.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0018659 | 0.0018659 | 0.0018659 | 0.0 | 0.01 +Comm | 0.020679 | 0.020679 | 0.020679 | 0.0 | 0.16 +Output | 0.00052547 | 0.00052547 | 0.00052547 | 0.0 | 0.00 +Modify | 12.871 | 12.871 | 12.871 | 0.0 | 99.28 +Other | | 0.07062 | | | 0.54 + +Nlocal: 160 ave 160 max 160 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 5270 +Dangerous builds = 0 +Total wall time: 0:00:12 diff --git a/examples/message/log.28Aug18.message.tilt.client.zmq.g++.2 b/examples/message/log.28Aug18.message.tilt.client.zmq.g++.2 new file mode 100644 index 0000000000..8fc570f5da --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.client.zmq.g++.2 @@ -0,0 +1,130 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - client script + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple" +message client md zmq localhost:5555 + +units lj +atom_style atomic +dimension 2 +atom_modify sort 0 0.0 map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000673056 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +fix 3 all client/md +fix_modify 3 energy yes + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0 + ghost atom cutoff = 0 + binsize = 15.3919, bins = 1 1 1 + 0 neighbor lists, perpetual/occasional/extra = 0 0 0 +Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.0876599 0 1.3637783 6.063363 0.61567613 + 2000 1.0722996 0 1.4108622 7.0518942 1.2313523 + 3000 1.0580774 0 1.3845895 6.0395275 1.8470284 + 4000 1.0068006 0 1.3804387 7.0944598 2.4627045 + 5000 0.95391814 0 1.2578438 6.1878831 3.0783806 + 6000 0.93492945 0 1.2711287 7.0440517 3.6940568 + 7000 0.94107853 0 1.2384371 6.1438077 4.3097329 + 8000 0.89711744 0 1.145748 6.3558305 4.925409 + 9000 0.90190304 0 1.0860684 4.957098 5.5410852 + 10000 0.84255749 0 1.0376892 5.2351795 6.1567613 + 11000 0.90250882 0 1.0497695 4.3844838 6.7724374 + 12000 0.83461274 0 1.0281949 5.1534361 7.3881135 + 13000 0.80315331 0 1.0226333 5.757222 -7.3881135 + 14000 0.81820939 0 0.99276466 4.6943725 -6.7724374 + 15000 0.8239631 0 1.0408289 5.1669006 -6.1567613 + 16000 0.88908894 0 1.1554855 6.3510278 -5.5410852 + 17000 0.98268136 0 1.2086981 5.6302847 -4.925409 + 18000 1.0098162 0 1.3687676 7.5243587 -4.3097329 + 19000 1.0795086 0 1.4562691 7.639418 -3.6940568 + 20000 1.1932155 0 1.5278988 7.0668432 -3.0783806 + 21000 1.2424296 0 1.6048792 7.959585 -2.4627045 + 22000 1.297169 0 1.7421262 8.9432388 -1.8470284 + 23000 1.2863494 0 1.7236774 8.3584973 -1.2313523 + 24000 1.4084347 0 1.7370339 7.2729078 -0.61567613 + 25000 1.3339728 0 1.6883255 7.529098 0 + 26000 1.1483243 0 1.5155578 7.3869994 0.61567613 + 27000 1.1372606 0 1.4368323 7.0580136 1.2313523 + 28000 1.0518579 0 1.355311 6.478857 1.8470284 + 29000 1.0581145 0 1.2535509 5.3697479 2.4627045 + 30000 0.93612564 0 1.185532 5.5520142 3.0783806 + 31000 0.94387516 0 1.1716454 5.8655485 3.6940568 + 32000 0.83953515 0 1.0737746 5.5551953 4.3097329 + 33000 0.84862926 0 1.0564042 5.7795428 4.925409 + 34000 0.83621877 0 1.079387 5.7514243 5.5410852 + 35000 0.86938506 0 1.031783 4.5897825 6.1567613 + 36000 0.88990609 0 1.0807597 5.3751744 6.7724374 + 37000 0.89534631 0 1.1238882 5.2400355 7.3881135 + 38000 0.98545003 0 1.2121125 5.7783854 -7.3881135 + 39000 0.96737778 0 1.2472934 6.1139 -6.7724374 + 40000 1.0664194 0 1.2956811 5.7353661 -6.1567613 + 41000 1.0681494 0 1.3269435 6.3102722 -5.5410852 + 42000 1.0875422 0 1.3963739 7.1208066 -4.925409 + 43000 1.0968173 0 1.3388062 6.1704339 -4.3097329 + 44000 1.1182109 0 1.3773214 7.0872686 -3.6940568 + 45000 1.1243261 0 1.432186 6.884782 -3.0783806 + 46000 1.039713 0 1.4389721 7.5585257 -2.4627045 + 47000 1.0816108 0 1.4100361 6.4611126 -1.8470284 + 48000 0.97637127 0 1.3605389 7.3992744 -1.2313523 + 49000 1.0361978 0 1.2721873 5.8166109 -0.61567613 + 50000 0.92367087 0 1.1875669 6.4685214 0 +Loop time of 13.6129 on 2 procs for 50000 steps with 160 atoms + +Performance: 1586733.497 tau/day, 3672.994 timesteps/s +59.3% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0.0015125 | 0.0015551 | 0.0015976 | 0.1 | 0.01 +Comm | 0.026598 | 0.028413 | 0.030227 | 1.1 | 0.21 +Output | 0.00046492 | 0.00063884 | 0.00081277 | 0.0 | 0.00 +Modify | 13.465 | 13.483 | 13.501 | 0.5 | 99.04 +Other | | 0.0994 | | | 0.73 + +Nlocal: 80 ave 80 max 80 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 5257 +Dangerous builds = 0 +Total wall time: 0:00:13 diff --git a/examples/message/log.28Aug18.message.tilt.g++.1 b/examples/message/log.28Aug18.message.tilt.g++.1 new file mode 100644 index 0000000000..3f7cfc9da0 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.g++.1 @@ -0,0 +1,129 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - no client/server mode + +units lj +atom_style atomic +dimension 2 + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000437021 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.065 | 3.065 | 3.065 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.1326992 0.25863754 1.3842573 6.0588079 0.61567613 + 2000 1.0158438 0.33502643 1.3445212 7.2638652 1.2313523 + 3000 1.0968167 0.3149227 1.4048843 7.0653223 1.8470284 + 4000 1.0070993 0.40611915 1.4069241 7.7283521 2.4627045 + 5000 1.1153133 0.2674828 1.3758254 6.2949171 3.0783806 + 6000 1.0170665 0.25843673 1.2691466 6.049412 3.6940568 + 7000 1.0224605 0.20974914 1.2258193 5.5104976 4.3097329 + 8000 0.96149374 0.24035439 1.1958388 5.4179146 4.925409 + 9000 0.87759014 0.2590493 1.1311545 5.8711239 5.5410852 + 10000 0.83791968 0.23477897 1.0674617 5.666904 6.1567613 + 11000 0.87702487 0.22958877 1.1011322 5.9068062 6.7724374 + 12000 0.81507294 0.26375817 1.0737369 5.9166925 7.3881135 + 13000 0.85655284 0.24676491 1.0979643 5.6918734 -7.3881135 + 14000 0.84369293 0.27818471 1.1166046 6.4146184 -6.7724374 + 15000 0.90052173 0.19836095 1.0932544 5.2690913 -6.1567613 + 16000 0.83836874 0.26921637 1.1023453 5.9579526 -5.5410852 + 17000 0.90492897 0.21933098 1.1186041 5.6042194 -4.925409 + 18000 0.90113412 0.24880908 1.1443111 6.0634846 -4.3097329 + 19000 1.0160445 0.17252962 1.1822239 5.3149334 -3.6940568 + 20000 0.96217234 0.2414377 1.1975965 5.476653 -3.0783806 + 21000 0.98229664 0.27569118 1.2518485 5.9340174 -2.4627045 + 22000 1.0551763 0.26997615 1.3185576 6.2094112 -1.8470284 + 23000 1.051999 0.34076639 1.3861904 7.082385 -1.2313523 + 24000 1.1350071 0.23701844 1.3649317 6.1829742 -0.61567613 + 25000 1.0946409 0.33366032 1.4214597 7.1907559 0 + 26000 1.1511799 0.24626808 1.3902531 5.8469984 0.61567613 + 27000 1.1009203 0.25653085 1.3505704 6.1504287 1.2313523 + 28000 1.0521302 0.2876798 1.3332342 5.9906187 1.8470284 + 29000 1.0518465 0.21853 1.2638025 5.6577549 2.4627045 + 30000 0.97264625 0.28758145 1.2541487 6.5769804 3.0783806 + 31000 1.0133579 0.31575837 1.3227828 6.6650893 3.6940568 + 32000 1.0714324 0.28757036 1.3523063 6.2682059 4.3097329 + 33000 1.0739451 0.28062459 1.3478575 6.6862746 4.925409 + 34000 1.0056867 0.38289586 1.382297 7.1120131 5.5410852 + 35000 1.0911349 0.26370939 1.3480247 6.1476048 6.1567613 + 36000 1.0618618 0.28269593 1.3379211 6.9414608 6.7724374 + 37000 1.0704991 0.29974994 1.3635585 7.0834346 7.3881135 + 38000 1.1087507 0.2682201 1.3700411 5.8506019 -7.3881135 + 39000 1.1303733 0.22362416 1.3469326 5.2500269 -6.7724374 + 40000 1.0174248 0.28956571 1.3006316 6.4491571 -6.1567613 + 41000 0.95981887 0.29162143 1.2454414 6.4658646 -5.5410852 + 42000 0.88302144 0.30432252 1.1818251 6.7401923 -4.925409 + 43000 0.93164419 0.25110308 1.1769245 5.9067383 -4.3097329 + 44000 0.98352598 0.23322873 1.2106077 5.5606585 -3.6940568 + 45000 1.0247245 0.26503082 1.2833508 6.533394 -3.0783806 + 46000 0.93004532 0.32277782 1.2470104 6.4689179 -2.4627045 + 47000 1.0653176 0.29185413 1.3505135 6.9534569 -1.8470284 + 48000 1.0401524 0.3420245 1.3756759 6.8016042 -1.2313523 + 49000 1.0023407 0.31833091 1.314407 6.7385662 -0.61567613 + 50000 1.0566272 0.28657142 1.3365947 6.261203 0 +Loop time of 1.15672 on 1 procs for 50000 steps with 160 atoms + +Performance: 18673426.371 tau/day, 43225.524 timesteps/s +99.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.19267 | 0.19267 | 0.19267 | 0.0 | 16.66 +Neigh | 0.15156 | 0.15156 | 0.15156 | 0.0 | 13.10 +Comm | 0.044569 | 0.044569 | 0.044569 | 0.0 | 3.85 +Output | 0.00057936 | 0.00057936 | 0.00057936 | 0.0 | 0.05 +Modify | 0.71051 | 0.71051 | 0.71051 | 0.0 | 61.42 +Other | | 0.05684 | | | 4.91 + +Nlocal: 160 ave 160 max 160 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 71 ave 71 max 71 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 362 ave 362 max 362 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 362 +Ave neighs/atom = 2.2625 +Neighbor list builds = 5256 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/message/log.28Aug18.message.tilt.g++.4 b/examples/message/log.28Aug18.message.tilt.g++.4 new file mode 100644 index 0000000000..74061463f6 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.g++.4 @@ -0,0 +1,129 @@ +LAMMPS (22 Aug 2018) +# 2d NEMD simulation - no client/server mode + +units lj +atom_style atomic +dimension 2 + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000396967 secs +mass * 1.0 + +velocity all create 1.44 87287 loop geom + +region slice block 4 6 INF INF INF INF +set region slice type 2 + 40 settings made for type + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1 +fix 2 all deform 1 xy erate 0.01 remap v + +thermo_style custom step temp epair etotal press xy + +thermo 1000 +run 50000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.065 | 3.065 | 3.065 Mbytes +Step Temp E_pair TotEng Press Xy + 0 1.44 0 1.431 1.2080502 0 + 1000 1.1326992 0.25863754 1.3842573 6.0588079 0.61567613 + 2000 1.0158438 0.33502643 1.3445212 7.2638652 1.2313523 + 3000 1.0968167 0.3149227 1.4048843 7.0653223 1.8470284 + 4000 1.0070993 0.40611915 1.4069241 7.7283521 2.4627045 + 5000 1.1153133 0.2674828 1.3758254 6.2949171 3.0783806 + 6000 1.0170665 0.25843673 1.2691466 6.049412 3.6940568 + 7000 1.0224605 0.20974914 1.2258193 5.5104976 4.3097329 + 8000 0.96149374 0.24035439 1.1958388 5.4179146 4.925409 + 9000 0.87759014 0.2590493 1.1311545 5.8711239 5.5410852 + 10000 0.83791968 0.23477897 1.0674617 5.666904 6.1567613 + 11000 0.87702487 0.22958877 1.1011322 5.9068062 6.7724374 + 12000 0.81507294 0.26375817 1.0737369 5.9166925 7.3881135 + 13000 0.85655284 0.24676491 1.0979643 5.6918734 -7.3881135 + 14000 0.84369293 0.27818471 1.1166046 6.4146184 -6.7724374 + 15000 0.90052173 0.19836095 1.0932544 5.2690913 -6.1567613 + 16000 0.83836874 0.26921637 1.1023453 5.9579526 -5.5410852 + 17000 0.90492897 0.21933098 1.1186041 5.6042194 -4.925409 + 18000 0.90113412 0.24880908 1.1443111 6.0634846 -4.3097329 + 19000 1.0160445 0.17252962 1.1822239 5.3149334 -3.6940568 + 20000 0.96217234 0.2414377 1.1975965 5.476653 -3.0783806 + 21000 0.98229664 0.27569118 1.2518485 5.9340174 -2.4627045 + 22000 1.0551763 0.26997615 1.3185576 6.2094112 -1.8470284 + 23000 1.051999 0.34076639 1.3861904 7.082385 -1.2313523 + 24000 1.1350071 0.23701844 1.3649317 6.1829742 -0.61567613 + 25000 1.0946409 0.33366032 1.4214597 7.1907559 0 + 26000 1.1511799 0.24626808 1.3902531 5.8469984 0.61567613 + 27000 1.1009203 0.25653085 1.3505704 6.1504287 1.2313523 + 28000 1.0521302 0.2876798 1.3332342 5.9906187 1.8470284 + 29000 1.0518465 0.21853 1.2638025 5.6577549 2.4627045 + 30000 0.97264625 0.28758145 1.2541487 6.5769804 3.0783806 + 31000 1.0133579 0.31575837 1.3227828 6.6650893 3.6940568 + 32000 1.0714324 0.28757036 1.3523063 6.2682059 4.3097329 + 33000 1.0739451 0.28062459 1.3478575 6.6862746 4.925409 + 34000 1.0056867 0.38289586 1.382297 7.1120131 5.5410852 + 35000 1.0911349 0.26370939 1.3480247 6.1476048 6.1567613 + 36000 1.0618618 0.28269593 1.3379211 6.9414608 6.7724374 + 37000 1.0704991 0.29974994 1.3635585 7.0834346 7.3881135 + 38000 1.1087507 0.2682201 1.3700411 5.8506019 -7.3881135 + 39000 1.1303733 0.22362416 1.3469326 5.2500269 -6.7724374 + 40000 1.0174248 0.28956571 1.3006316 6.4491571 -6.1567613 + 41000 0.95981887 0.29162143 1.2454414 6.4658646 -5.5410852 + 42000 0.88302144 0.30432252 1.1818251 6.7401923 -4.925409 + 43000 0.93164419 0.25110308 1.1769245 5.9067383 -4.3097329 + 44000 0.98352598 0.23322873 1.2106077 5.5606585 -3.6940568 + 45000 1.0247245 0.26503082 1.2833508 6.533394 -3.0783806 + 46000 0.93004532 0.32277782 1.2470104 6.4689179 -2.4627045 + 47000 1.0653176 0.29185413 1.3505135 6.9534569 -1.8470284 + 48000 1.0401524 0.3420245 1.3756759 6.8016042 -1.2313523 + 49000 1.0023407 0.31833091 1.314407 6.7385662 -0.61567613 + 50000 1.0566272 0.28657142 1.3365947 6.261203 0 +Loop time of 0.92653 on 1 procs for 50000 steps with 160 atoms + +Performance: 23312793.646 tau/day, 53964.800 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.15063 | 0.15063 | 0.15063 | 0.0 | 16.26 +Neigh | 0.11869 | 0.11869 | 0.11869 | 0.0 | 12.81 +Comm | 0.035839 | 0.035839 | 0.035839 | 0.0 | 3.87 +Output | 0.00064468 | 0.00064468 | 0.00064468 | 0.0 | 0.07 +Modify | 0.57422 | 0.57422 | 0.57422 | 0.0 | 61.98 +Other | | 0.0465 | | | 5.02 + +Nlocal: 160 ave 160 max 160 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 71 ave 71 max 71 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 362 ave 362 max 362 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 362 +Ave neighs/atom = 2.2625 +Neighbor list builds = 5256 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/message/log.28Aug18.message.tilt.server.mpione.g++.1 b/examples/message/log.28Aug18.message.tilt.server.mpione.g++.1 new file mode 100644 index 0000000000..428ff346ad --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.server.mpione.g++.1 @@ -0,0 +1,48 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/one + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000438929 secs +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Server MD calls = 50001 +Server MD reneighborings 5073 +Total wall time: 0:00:01 diff --git a/examples/message/log.28Aug18.message.tilt.server.mpione.g++.4 b/examples/message/log.28Aug18.message.tilt.server.mpione.g++.4 new file mode 100644 index 0000000000..3da50163ed --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.server.mpione.g++.4 @@ -0,0 +1,48 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/one + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000455141 secs +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 2 by 2 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Server MD calls = 50001 +Server MD reneighborings 5066 +Total wall time: 0:00:02 diff --git a/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.1 b/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.1 new file mode 100644 index 0000000000..fc29a6da63 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.1 @@ -0,0 +1,48 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/two tmp.couple + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000521898 secs +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Server MD calls = 50001 +Server MD reneighborings 5073 +Total wall time: 0:00:04 diff --git a/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.4 b/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.4 new file mode 100644 index 0000000000..758b84fe9d --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.4 @@ -0,0 +1,48 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md mpi/two tmp.couple + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000378847 secs +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 2 by 2 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Server MD calls = 50001 +Server MD reneighborings 5066 +Total wall time: 0:00:06 diff --git a/examples/message/log.28Aug18.message.tilt.server.zmq.g++.1 b/examples/message/log.28Aug18.message.tilt.server.zmq.g++.1 new file mode 100644 index 0000000000..78526ba748 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.server.zmq.g++.1 @@ -0,0 +1,48 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md zmq *:5555 + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000557184 secs +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 1 by 1 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Server MD calls = 50001 +Server MD reneighborings 5073 +Total wall time: 0:00:12 diff --git a/examples/message/log.28Aug18.message.tilt.server.zmq.g++.4 b/examples/message/log.28Aug18.message.tilt.server.zmq.g++.4 new file mode 100644 index 0000000000..b1ad768470 --- /dev/null +++ b/examples/message/log.28Aug18.message.tilt.server.zmq.g++.4 @@ -0,0 +1,48 @@ +LAMMPS (22 Aug 2018) +# 3d Lennard-Jones melt - server script + +variable mode index file + +if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple" +message server md zmq *:5555 + +units lj +atom_style atomic +dimension 2 +atom_modify map yes + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box prism 0 10 0 8 -0.5 0.5 0 0 0 +create_box 2 box +Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 160 atoms + Time spent = 0.000586987 secs +mass * 1.0 # masses not used by server + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 1.0 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +server md + 2 by 2 by 1 MPI processor grid +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.3 + ghost atom cutoff = 1.3 + binsize = 0.65, bins = 24 19 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/2d/newton/tri + bin: standard +Server MD calls = 50001 +Server MD reneighborings 5066 +Total wall time: 0:00:13 diff --git a/lib/README b/lib/README index 3c8f46dd0a..12c27b2a39 100644 --- a/lib/README +++ b/lib/README @@ -35,6 +35,8 @@ linalg set of BLAS and LAPACK routines needed by USER-ATC package from Axel Kohlmeyer (Temple U) meam modified embedded atom method (MEAM) potential, MEAM package from Greg Wagner (Sandia) +message client/server communication library via MPI, sockets, files + from Steve Plimpton (Sandia) molfile hooks to VMD molfile plugins, used by the USER-MOLFILE package from Axel Kohlmeyer (Temple U) and the VMD development team mscg hooks to the MSCG library, used by fix_mscg command diff --git a/lib/message/Install.py b/lib/message/Install.py new file mode 100644 index 0000000000..d3f31c986f --- /dev/null +++ b/lib/message/Install.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python + +# Install.py tool to build the CSlib library +# used to automate the steps described in the README file in this dir + +from __future__ import print_function +import sys,os,re,subprocess + +# help message + +help = """ +Syntax from src dir: make lib-message args="-m" + or: make lib-message args="-s -z" +Syntax from lib dir: python Install.py -m + or: python Install.py -s -z + +specify zero or more options, order does not matter + + -m = parallel build of CSlib library + -s = serial build of CSlib library + -z = build CSlib library with ZMQ socket support, default = no ZMQ support + +Example: + +make lib-message args="-m -z" # build parallel CSlib with ZMQ support +make lib-message args="-s" # build serial CSlib with no ZMQ support +""" + +# print error message or help + +def error(str=None): + if not str: print(help) + else: print("ERROR",str) + sys.exit() + +# expand to full path name +# process leading '~' or relative path + +def fullpath(path): + return os.path.abspath(os.path.expanduser(path)) + +def which(program): + def is_exe(fpath): + return os.path.isfile(fpath) and os.access(fpath, os.X_OK) + + fpath, fname = os.path.split(program) + if fpath: + if is_exe(program): + return program + else: + for path in os.environ["PATH"].split(os.pathsep): + path = path.strip('"') + exe_file = os.path.join(path, program) + if is_exe(exe_file): + return exe_file + + return None + +# parse args + +args = sys.argv[1:] +nargs = len(args) +if nargs == 0: error() + +mpiflag = False +serialflag = False +zmqflag = False + +iarg = 0 +while iarg < nargs: + if args[iarg] == "-m": + mpiflag = True + iarg += 1 + elif args[iarg] == "-s": + serialflag = True + iarg += 1 + elif args[iarg] == "-z": + zmqflag = True + iarg += 1 + else: error() + +if (not mpiflag and not serialflag): + error("Must use either -m or -s flag") + +if (mpiflag and serialflag): + error("Cannot use -m and -s flag at the same time") + +# build CSlib +# copy resulting lib to cslib/src/libmessage.a +# copy appropriate Makefile.lammps.* to Makefile.lammps + +print("Building CSlib ...") +srcdir = fullpath("./cslib/src") + +if mpiflag and zmqflag: + cmd = "cd %s; make lib_parallel" % srcdir +elif mpiflag and not zmqflag: + cmd = "cd %s; make lib_parallel zmq=no" % srcdir +elif not mpiflag and zmqflag: + cmd = "cd %s; make lib_serial" % srcdir +elif not mpiflag and not zmqflag: + cmd = "cd %s; make lib_serial zmq=no" % srcdir + +print(cmd) +txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) +print(txt.decode('UTF-8')) + +if mpiflag: cmd = "cd %s; cp libcsmpi.a libmessage.a" % srcdir +else: cmd = "cd %s; cp libcsnompi.a libmessage.a" % srcdir +print(cmd) +txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) +print(txt.decode('UTF-8')) + +if zmqflag: cmd = "cp Makefile.lammps.zmq Makefile.lammps" +else: cmd = "cp Makefile.lammps.nozmq Makefile.lammps" +print(cmd) +txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) +print(txt.decode('UTF-8')) diff --git a/lib/message/Makefile.lammps.nozmq b/lib/message/Makefile.lammps.nozmq new file mode 100644 index 0000000000..1bb10cc988 --- /dev/null +++ b/lib/message/Makefile.lammps.nozmq @@ -0,0 +1,5 @@ +# Settings that the LAMMPS build will import when this package library is used + +message_SYSINC = +message_SYSLIB = +message_SYSPATH = diff --git a/lib/message/Makefile.lammps.zmq b/lib/message/Makefile.lammps.zmq new file mode 100644 index 0000000000..759f2ce04b --- /dev/null +++ b/lib/message/Makefile.lammps.zmq @@ -0,0 +1,5 @@ +# Settings that the LAMMPS build will import when this package library is used + +message_SYSINC = +message_SYSLIB = -lzmq +message_SYSPATH = diff --git a/lib/message/README b/lib/message/README new file mode 100644 index 0000000000..dafb94e9ef --- /dev/null +++ b/lib/message/README @@ -0,0 +1,51 @@ +This directory contains the CSlib library which is required +to use the MESSAGE package and its client/server commands +in a LAMMPS input script. + +The CSlib libary is included in the LAMMPS distribution. A fuller +version including documentation and test programs is available at +http://cslib.sandia.gov. It was developed by Steve Plimpton at Sandia +National Laboratories. + +You can type "make lib-message" from the src directory to see help on +how to build this library via make commands, or you can do the same +thing by typing "python Install.py" from within this directory, or you +can do it manually by following the instructions below. + +The CSlib can be optionally built with support for sockets using +the open-source ZeroMQ (ZMQ) library. If it is not installed +on your system, it is easy to download and install. + +Go to the ZMQ website for details: http://zeromq.org + +----------------- + +Instructions: + +1. Compile CSlib from within cslib/src with one of the following: + % make lib_parallel # build parallel library with ZMQ socket support + % make lib_serial # build serial library with ZMQ support + % make lib_parallel zmq=no # build parallel lib with no ZMQ support + % make lib_serial zmq=no # build serial lib with no ZMQ support + +2. Copy the produced cslib/src/libcsmpi.a or libscnompi.a file to + cslib/src/libmessage.a + +3. Copy either lib/message/Makefile.lammps.zmq or Makefile.lammps.nozmq + to lib/message/Makefile.lammps, depending on whether you + build the library with ZMQ support or not. + If your ZMQ library is not in a place your shell path finds, + you can set the INCLUDE and PATH variables in Makefile.lammps + to point to the dirs where the ZMQ include and library files are. + +----------------- + +When these steps are complete you can build LAMMPS +with the MESSAGAE package installed: + +% cd lammps/src +% make yes-message +% make mpi (or whatever target you wish) + +Note that if you download and unpack a new LAMMPS tarball, you will +need to re-build the CSlib in this dir. diff --git a/lib/message/cslib/LICENSE b/lib/message/cslib/LICENSE new file mode 100644 index 0000000000..7a36e21daf --- /dev/null +++ b/lib/message/cslib/LICENSE @@ -0,0 +1,32 @@ +Program: CSlib client/server coupling library + +Copyright 2018 National Technology & Engineering Solutions of Sandia, +LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the +U.S. Government retains certain rights in this software. This +software is distributed under the modified Berkeley Software +Distribution (BSD) License. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of Sandia Corporation nor the names of contributors + to this software may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/lib/message/cslib/README b/lib/message/cslib/README new file mode 100644 index 0000000000..37f4a97d54 --- /dev/null +++ b/lib/message/cslib/README @@ -0,0 +1,23 @@ +This is the the Client/Server messaging library (CSlib). + +Only the source directory and license file are included here as part +of the LAMMPS distribution. The full CSlib distribution, including +documentation and test codes, can be found at the website: +http://cslib.sandia.gov (as of Aug 2018). + +The contact author is + +Steve Plimpton +Sandia National Laboratories +sjplimp@sandia.gov +http://www.sandia.gov/~sjplimp + +The CSlib is distributed as open-source code under the modified +Berkeley Software Distribution (BSD) License. See the accompanying +LICENSE file. + +This directory contains the following: + +README this file +LICENSE GNU LGPL license +src source files for library diff --git a/lib/message/cslib/src/Makefile b/lib/message/cslib/src/Makefile new file mode 100644 index 0000000000..83cf902220 --- /dev/null +++ b/lib/message/cslib/src/Makefile @@ -0,0 +1,107 @@ +# Makefile for CSlib = client/server messaging library +# type "make help" for options + +SHELL = /bin/sh + +# ---------------------------------------- +# should only need to change this section +# compiler/linker settings +# ---------------------------------------- + +CC = g++ +CCFLAGS = -g -O3 -DZMQ_$(ZMQ) -DMPI_$(MPI) +SHFLAGS = -fPIC +ARCHIVE = ar +ARCHFLAGS = -rc +SHLIBFLAGS = -shared + +# files + +LIB = libcsmpi.a +SHLIB = libcsmpi.so +SRC = $(wildcard *.cpp) +INC = $(wildcard *.h) +OBJ = $(SRC:.cpp=.o) + +# build with ZMQ support or not + +zmq = yes +ZMQ = $(shell echo $(zmq) | tr a-z A-Z) + +ifeq ($(ZMQ),YES) + ZMQLIB = -lzmq +else + CCFLAGS += -I./STUBS_ZMQ +endif + +# build with MPI support or not + +mpi = yes +MPI = $(shell echo $(mpi) | tr a-z A-Z) + +ifeq ($(MPI),YES) + CC = mpicxx +else + CCFLAGS += -I./STUBS_MPI + LIB = libcsnompi.a + SHLIB = libcsnompi.so +endif + +# targets + +shlib: shlib_parallel shlib_serial + +lib: lib_parallel lib_serial + +all: shlib lib + +help: + @echo 'make default = shlib' + @echo 'make shlib build 2 shared CSlibs: parallel & serial' + @echo 'make lib build 2 static CSlibs: parallel & serial' + @echo 'make all build 4 CSlibs: shlib and lib' + @echo 'make shlib_parallel build shared parallel CSlib' + @echo 'make shlib_serial build shared serial CSlib' + @echo 'make lib_parallel build static parallel CSlib' + @echo 'make lib_serial build static serial CSlib' + @echo 'make ... zmq=no build w/out ZMQ support' + @echo 'make clean remove all *.o files' + @echo 'make clean-all remove *.o and lib files' + @echo 'make tar create a tarball, 2 levels up' + +shlib_parallel: + $(MAKE) clean + $(MAKE) shared zmq=$(zmq) mpi=yes + +shlib_serial: + $(MAKE) clean + $(MAKE) shared zmq=$(zmq) mpi=no + +lib_parallel: + $(MAKE) clean + $(MAKE) static zmq=$(zmq) mpi=yes + +lib_serial: + $(MAKE) clean + $(MAKE) static zmq=$(zmq) mpi=no + +static: $(OBJ) + $(ARCHIVE) $(ARCHFLAGS) $(LIB) $(OBJ) + +shared: $(OBJ) + $(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) -o $(SHLIB) $(OBJ) $(ZMQLIB) + +clean: + @rm -f *.o *.pyc + +clean-all: + @rm -f *.o *.pyc lib*.a lib*.so + +tar: + cd ../..; tar cvf cslib.tar cslib/README cslib/LICENSE \ + cslib/doc cslib/src cslib/test + +# rules + +%.o:%.cpp + $(CC) $(CCFLAGS) $(SHFLAGS) -c $< diff --git a/lib/message/cslib/src/STUBS_MPI/mpi.h b/lib/message/cslib/src/STUBS_MPI/mpi.h new file mode 100644 index 0000000000..2919e4c3a2 --- /dev/null +++ b/lib/message/cslib/src/STUBS_MPI/mpi.h @@ -0,0 +1,96 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +// MPI constants and dummy functions + +#ifndef MPI_DUMMY_H +#define MPI_DUMMY_H + +#include +#include +#include + +namespace CSLIB_NS { + +typedef int MPI_Comm; +typedef int MPI_Fint; +typedef int MPI_Datatype; +typedef int MPI_Status; +typedef int MPI_Op; +typedef int MPI_Info; + +#define MPI_COMM_WORLD 0 +#define MPI_MAX_PORT_NAME 0 +#define MPI_INFO_NULL 0 +#define MPI_INT 1 +#define MPI_LONG_LONG 2 +#define MPI_FLOAT 3 +#define MPI_DOUBLE 4 +#define MPI_CHAR 5 +#define MPI_SUM 0 + +static void MPI_Init(int *, char ***) {} +static MPI_Comm MPI_Comm_f2c(MPI_Comm world) {return world;} +static void MPI_Comm_rank(MPI_Comm, int *) {} +static void MPI_Comm_size(MPI_Comm, int *) {} + +static void MPI_Open_port(MPI_Info, char *) {} +static void MPI_Close_port(const char *) {} +static void MPI_Comm_accept(const char *, MPI_Info, int, + MPI_Comm, MPI_Comm *) {} +static void MPI_Comm_connect(const char *, MPI_Info, int, + MPI_Comm, MPI_Comm *) {} + +static void MPI_Comm_split(MPI_Comm, int, int, MPI_Comm *) {} +static void MPI_Comm_free(MPI_Comm *) {} + +static void MPI_Send(const void *, int, MPI_Datatype, int, int, MPI_Comm) {} +static void MPI_Recv(void *, int, MPI_Datatype, int, int, + MPI_Comm, MPI_Status *) {} + +static void MPI_Allreduce(const void *in, void *out, int, MPI_Datatype type, + MPI_Op op, MPI_Comm) +{ + if (type == MPI_INT) *((int *) out) = *((int *) in); +} +static void MPI_Scan(const void *in, void *out, int, MPI_Datatype intype, + MPI_Op op,MPI_Comm) +{ + if (intype == MPI_INT) *((int *) out) = *((int *) in); +} + +static void MPI_Bcast(void *, int, MPI_Datatype, int, MPI_Comm) {} +static void MPI_Allgather(const void *in, int incount, MPI_Datatype intype, + void *out, int, MPI_Datatype, MPI_Comm) +{ + // assuming incount = 1 + if (intype == MPI_INT) *((int *) out) = *((int *) in); +} +static void MPI_Allgatherv(const void *in, int incount, MPI_Datatype intype, + void *out, const int *, const int *, + MPI_Datatype, MPI_Comm) +{ + if (intype == MPI_INT) memcpy(out,in,incount*sizeof(int)); + else if (intype == MPI_LONG_LONG) memcpy(out,in,incount*sizeof(int64_t)); + else if (intype == MPI_FLOAT) memcpy(out,in,incount*sizeof(float)); + else if (intype == MPI_DOUBLE) memcpy(out,in,incount*sizeof(double)); + else if (intype == MPI_CHAR) memcpy(out,in,incount*sizeof(char)); +} + +static void MPI_Abort(MPI_Comm, int) {exit(1);} +static void MPI_Finalize() {} + +} + +#endif diff --git a/lib/message/cslib/src/STUBS_ZMQ/zmq.h b/lib/message/cslib/src/STUBS_ZMQ/zmq.h new file mode 100644 index 0000000000..2f02eb4035 --- /dev/null +++ b/lib/message/cslib/src/STUBS_ZMQ/zmq.h @@ -0,0 +1,36 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +// ZMQ constants and dummy functions + +#ifndef ZMQ_DUMMY_H +#define ZMQ_DUMMY_H + +namespace CSLIB_NS { + +#define ZMQ_REQ 0 +#define ZMQ_REP 0 + +static void *zmq_ctx_new() {return NULL;} +static void *zmq_connect(void *, char *) {return NULL;} +static int zmq_bind(void *, char *) {return 0;} +static void *zmq_socket(void *,int) {return NULL;} +static void zmq_close(void *) {} +static void zmq_ctx_destroy(void *) {} +static void zmq_send(void *, void *, int, int) {} +static void zmq_recv(void *, void *, int, int) {} + +}; + +#endif diff --git a/lib/message/cslib/src/cslib.cpp b/lib/message/cslib/src/cslib.cpp new file mode 100644 index 0000000000..874333607e --- /dev/null +++ b/lib/message/cslib/src/cslib.cpp @@ -0,0 +1,768 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include + +#include "cslib.h" +#include "msg_file.h" +#include "msg_zmq.h" +#include "msg_mpi_one.h" +#include "msg_mpi_two.h" + +using namespace CSLIB_NS; + +#define MAXTYPE 5 // # of defined field data types + +/* ---------------------------------------------------------------------- */ + +CSlib::CSlib(int csflag, const char *mode, const void *ptr, const void *pcomm) +{ + if (pcomm) myworld = (uint64_t) *((MPI_Comm *) pcomm); + else myworld = 0; + +#ifdef MPI_NO + if (pcomm) + error_all("constructor(): CSlib invoked with MPI_Comm " + "but built w/out MPI support"); +#endif +#ifdef MPI_YES // NOTE: this could be OK to allow ?? + // would allow a parallel app to invoke CSlib + // in parallel and/or in serial + if (!pcomm) + error_all("constructor(): CSlib invoked w/out MPI_Comm " + "but built with MPI support"); +#endif + + client = server = 0; + if (csflag == 0) client = 1; + else if (csflag == 1) server = 1; + else error_all("constructor(): Invalid client/server arg"); + + if (pcomm == NULL) { + me = 0; + nprocs = 1; + + if (strcmp(mode,"file") == 0) msg = new MsgFile(csflag,ptr); + else if (strcmp(mode,"zmq") == 0) msg = new MsgZMQ(csflag,ptr); + else if (strcmp(mode,"mpi/one") == 0) + error_all("constructor(): No mpi/one mode for serial lib usage"); + else if (strcmp(mode,"mpi/two") == 0) + error_all("constructor(): No mpi/two mode for serial lib usage"); + else error_all("constructor(): Unknown mode"); + + } else if (pcomm) { + MPI_Comm world = (MPI_Comm) myworld; + MPI_Comm_rank(world,&me); + MPI_Comm_size(world,&nprocs); + + if (strcmp(mode,"file") == 0) msg = new MsgFile(csflag,ptr,world); + else if (strcmp(mode,"zmq") == 0) msg = new MsgZMQ(csflag,ptr,world); + else if (strcmp(mode,"mpi/one") == 0) msg = new MsgMPIOne(csflag,ptr,world); + else if (strcmp(mode,"mpi/two") == 0) msg = new MsgMPITwo(csflag,ptr,world); + else error_all("constructor(): Unknown mode"); + } + + maxfield = 0; + fieldID = fieldtype = fieldlen = fieldoffset = NULL; + maxheader = 0; + header = NULL; + maxbuf = 0; + buf = NULL; + + recvcounts = displs = NULL; + maxglobal = 0; + allids = NULL; + maxfieldbytes = 0; + fielddata = NULL; + + pad = "\0\0\0\0\0\0\0"; // just length 7 since will have trailing NULL + + nsend = nrecv = 0; +} + +/* ---------------------------------------------------------------------- */ + +CSlib::~CSlib() +{ + deallocate_fields(); + sfree(header); + sfree(buf); + + sfree(recvcounts); + sfree(displs); + sfree(allids); + sfree(fielddata); + + delete msg; +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::send(int msgID_caller, int nfield_caller) +{ + if (nfield_caller < 0) error_all("send(): Invalid nfield"); + + msgID = msgID_caller; + nfield = nfield_caller; + allocate_fields(); + + fieldcount = 0; + nbuf = 0; + + if (fieldcount == nfield) send_message(); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack_int(int id, int value) +{ + pack(id,1,1,&value); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack_int64(int id, int64_t value) +{ + pack(id,2,1,&value); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack_float(int id, float value) +{ + pack(id,3,1,&value); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack_double(int id, double value) +{ + pack(id,4,1,&value); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack_string(int id, char *value) +{ + pack(id,5,strlen(value)+1,value); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack(int id, int ftype, int flen, void *data) +{ + if (find_field(id,fieldcount) >= 0) + error_all("pack(): Reuse of field ID"); + if (ftype < 1 || ftype > MAXTYPE) error_all("pack(): Invalid ftype"); + if (flen < 0) error_all("pack(): Invalid flen"); + + fieldID[fieldcount] = id; + fieldtype[fieldcount] = ftype; + fieldlen[fieldcount] = flen; + + int nbytes,nbytesround; + onefield(ftype,flen,nbytes,nbytesround); + + memcpy(&buf[nbuf],data,nbytes); + memcpy(&buf[nbuf+nbytes],pad,nbytesround-nbytes); + nbuf += nbytesround; + + fieldcount++; + if (fieldcount == nfield) send_message(); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::pack_parallel(int id, int ftype, + int nlocal, int *ids, int nper, void *data) +{ + int i,j,k,m; + + if (find_field(id,fieldcount) >= 0) + error_all("pack_parallel(): Reuse of field ID"); + if (ftype < 1 || ftype > MAXTYPE) error_all("pack_parallel(): Invalid ftype"); + if (nlocal < 0) error_all("pack_parallel(): Invalid nlocal"); + if (nper < 1) error_all("pack_parallel(): Invalid nper"); + + MPI_Comm world = (MPI_Comm) myworld; + + // NOTE: check for overflow of maxglobal and flen + + int nglobal; + MPI_Allreduce(&nlocal,&nglobal,1,MPI_INT,MPI_SUM,world); + int flen = nper*nglobal; + + fieldID[fieldcount] = id; + fieldtype[fieldcount] = ftype; + fieldlen[fieldcount] = flen; + + // nlocal datums, each of nper length, from all procs + // final data in buf = datums for all natoms, ordered by ids + + if (recvcounts == NULL) { + recvcounts = (int *) smalloc(nprocs*sizeof(int)); + displs = (int *) smalloc(nprocs*sizeof(int)); + } + + MPI_Allgather(&nlocal,1,MPI_INT,recvcounts,1,MPI_INT,world); + + displs[0] = 0; + for (int iproc = 1; iproc < nprocs; iproc++) + displs[iproc] = displs[iproc-1] + recvcounts[iproc-1]; + + if (ids && nglobal > maxglobal) { + sfree(allids); + maxglobal = nglobal; + // NOTE: maxglobal*sizeof(int) could overflow int + allids = (int *) smalloc(maxglobal*sizeof(int)); + } + + MPI_Allgatherv(ids,nlocal,MPI_INT,allids, + recvcounts,displs,MPI_INT,world); + + int nlocalsize = nper*nlocal; + MPI_Allgather(&nlocalsize,1,MPI_INT,recvcounts,1,MPI_INT,world); + + displs[0] = 0; + for (int iproc = 1; iproc < nprocs; iproc++) + displs[iproc] = displs[iproc-1] + recvcounts[iproc-1]; + + int nbytes,nbytesround; + onefield(ftype,flen,nbytes,nbytesround); + + if (ftype == 1) { + int *alldata; + if (ids) { + if (nbytes > maxfieldbytes) { + sfree(fielddata); + maxfieldbytes = nbytes; + fielddata = (char *) smalloc(maxfieldbytes); + } + alldata = (int *) fielddata; + } else alldata = (int *) &buf[nbuf]; + MPI_Allgatherv(data,nlocalsize,MPI_INT,alldata, + recvcounts,displs,MPI_INT,world); + if (ids) { + int *bufptr = (int *) &buf[nbuf]; + m = 0; + for (i = 0; i < nglobal; i++) { + j = (allids[i]-1) * nper; + if (nper == 1) bufptr[j] = alldata[m++]; + else + for (k = 0; k < nper; k++) + bufptr[j++] = alldata[m++]; + } + } + + } else if (ftype == 2) { + int64_t *alldata; + if (ids) { + if (nbytes > maxfieldbytes) { + sfree(fielddata); + maxfieldbytes = nbytes; + fielddata = (char *) smalloc(maxfieldbytes); + } + alldata = (int64_t *) fielddata; + } else alldata = (int64_t *) &buf[nbuf]; + // NOTE: may be just MPI_LONG on some machines + MPI_Allgatherv(data,nlocalsize,MPI_LONG_LONG,alldata, + recvcounts,displs,MPI_LONG_LONG,world); + if (ids) { + int64_t *bufptr = (int64_t *) &buf[nbuf]; + m = 0; + for (i = 0; i < nglobal; i++) { + j = (allids[i]-1) * nper; + if (nper == 1) bufptr[j] = alldata[m++]; + else + for (k = 0; k < nper; k++) + bufptr[j++] = alldata[m++]; + } + } + + } else if (ftype == 3) { + float *alldata; + if (ids) { + if (nbytes > maxfieldbytes) { + sfree(fielddata); + maxfieldbytes = nbytes; + fielddata = (char *) smalloc(maxfieldbytes); + } + alldata = (float *) fielddata; + } else alldata = (float *) &buf[nbuf]; + MPI_Allgatherv(data,nlocalsize,MPI_FLOAT,alldata, + recvcounts,displs,MPI_FLOAT,world); + if (ids) { + float *bufptr = (float *) &buf[nbuf]; + m = 0; + for (i = 0; i < nglobal; i++) { + j = (allids[i]-1) * nper; + if (nper == 1) bufptr[j] = alldata[m++]; + else + for (k = 0; k < nper; k++) + bufptr[j++] = alldata[m++]; + } + } + + } else if (ftype == 4) { + double *alldata; + if (ids) { + if (nbytes > maxfieldbytes) { + sfree(fielddata); + maxfieldbytes = nbytes; + fielddata = (char *) smalloc(maxfieldbytes); + } + alldata = (double *) fielddata; + } else alldata = (double *) &buf[nbuf]; + MPI_Allgatherv(data,nlocalsize,MPI_DOUBLE,alldata, + recvcounts,displs,MPI_DOUBLE,world); + if (ids) { + double *bufptr = (double *) &buf[nbuf]; + m = 0; + for (i = 0; i < nglobal; i++) { + j = (allids[i]-1) * nper; + if (nper == 1) bufptr[j] = alldata[m++]; + else + for (k = 0; k < nper; k++) + bufptr[j++] = alldata[m++]; + } + } + + /* eventually ftype = BYTE, but not yet + } else if (ftype == 5) { + char *alldata; + if (ids) { + if (nbytes > maxfieldbytes) { + sfree(fielddata); + maxfieldbytes = nbytes; + fielddata = (char *) smalloc(maxfieldbytes); + } + alldata = (char *) fielddata; + } else alldata = (char *) &buf[nbuf]; + MPI_Allgatherv(data,nlocalsize,MPI_CHAR,alldata, + recvcounts,displs,MPI_CHAR,world); + if (ids) { + char *bufptr = (char *) &buf[nbuf]; + m = 0; + for (i = 0; i < nglobal; i++) { + j = (allids[i]-1) * nper; + memcpy(&bufptr[j],&alldata[m],nper); + m += nper; + } + } + */ + } + + memcpy(&buf[nbuf+nbytes],pad,nbytesround-nbytes); + nbuf += nbytesround; + + fieldcount++; + if (fieldcount == nfield) send_message(); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::send_message() +{ + // setup header message + + int m = 0; + header[m++] = msgID; + header[m++] = nfield; + for (int ifield = 0; ifield < nfield; ifield++) { + header[m++] = fieldID[ifield]; + header[m++] = fieldtype[ifield]; + header[m++] = fieldlen[ifield]; + } + + msg->send(nheader,header,nbuf,buf); + nsend++; +} + +/* ---------------------------------------------------------------------- */ + +int CSlib::recv(int &nfield_caller, int *&fieldID_caller, + int *&fieldtype_caller, int *&fieldlen_caller) +{ + msg->recv(maxheader,header,maxbuf,buf); + nrecv++; + + // unpack header message + + int m = 0; + msgID = header[m++]; + nfield = header[m++]; + allocate_fields(); + + int nbytes,nbytesround; + + nbuf = 0; + for (int ifield = 0; ifield < nfield; ifield++) { + fieldID[ifield] = header[m++]; + fieldtype[ifield] = header[m++]; + fieldlen[ifield] = header[m++]; + fieldoffset[ifield] = nbuf; + onefield(fieldtype[ifield],fieldlen[ifield],nbytes,nbytesround); + nbuf += nbytesround; + } + + // return message parameters + + nfield_caller = nfield; + fieldID_caller = fieldID; + fieldtype_caller = fieldtype; + fieldlen_caller = fieldlen; + + return msgID; +} + +/* ---------------------------------------------------------------------- */ + +int CSlib::unpack_int(int id) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack_int(): Unknown field ID"); + if (fieldtype[ifield] != 1) error_all("unpack_int(): Mis-match of ftype"); + if (fieldlen[ifield] != 1) error_all("unpack_int(): Flen is not 1"); + + int *ptr = (int *) unpack(id); + return *ptr; +} + +/* ---------------------------------------------------------------------- */ + +int64_t CSlib::unpack_int64(int id) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack_int64(): Unknown field ID"); + if (fieldtype[ifield] != 2) error_all("unpack_int64(): Mis-match of ftype"); + if (fieldlen[ifield] != 1) error_all("unpack_int64(): Flen is not 1"); + + int64_t *ptr = (int64_t *) unpack(id); + return *ptr; +} + +/* ---------------------------------------------------------------------- */ + +float CSlib::unpack_float(int id) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack_float(): Unknown field ID"); + if (fieldtype[ifield] != 3) error_all("unpack_float(): Mis-match of ftype"); + if (fieldlen[ifield] != 1) error_all("unpack_float(): Flen is not 1"); + + float *ptr = (float *) unpack(id); + return *ptr; +} + +/* ---------------------------------------------------------------------- */ + +double CSlib::unpack_double(int id) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack_double(): Unknown field ID"); + if (fieldtype[ifield] != 4) error_all("unpack_double(): Mis-match of ftype"); + if (fieldlen[ifield] != 1) error_all("unpack_double(): Flen is not 1"); + + double *ptr = (double *) unpack(id); + return *ptr; +} + +/* ---------------------------------------------------------------------- */ + +char *CSlib::unpack_string(int id) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack_string(): Unknown field ID"); + if (fieldtype[ifield] != 5) error_all("unpack_string(): Mis-match of ftype"); + + char *ptr = (char *) unpack(id); + return ptr; +} + +/* ---------------------------------------------------------------------- */ + +void *CSlib::unpack(int id) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack(): Unknown field ID"); + return &buf[fieldoffset[ifield]]; +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::unpack(int id, void *data) +{ + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack(): Unknown field ID"); + + int ftype = fieldtype[ifield]; + int nbytes = fieldlen[ifield]; + if (ftype == 1) nbytes *= sizeof(int); + else if (ftype == 2) nbytes *= sizeof(int64_t); + else if (ftype == 3) nbytes *= sizeof(float); + else if (ftype == 4) nbytes *= sizeof(double); + memcpy(data,&buf[fieldoffset[ifield]],nbytes); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::unpack_parallel(int id, int nlocal, int *ids, int nper, void *data) +{ + int i,j,k,m; + + int ifield = find_field(id,nfield); + if (ifield < 0) error_all("unpack_parallel(): Unknown field ID"); + if (nlocal < 0) error_all("unpack_parallel(): Invalid nlocal"); + if (nper < 1) error_all("pack_parallel(): Invalid nper"); + + MPI_Comm world = (MPI_Comm) myworld; + + int upto; + if (!ids) { + MPI_Scan(&nlocal,&upto,1,MPI_INT,MPI_SUM,world); + upto -= nlocal; + } + + if (fieldtype[ifield] == 1) { + int *local = (int *) data; + int *global = (int *) &buf[fieldoffset[ifield]]; + if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(int)); + else { + m = 0; + for (i = 0; i < nlocal; i++) { + j = (ids[i]-1) * nper; + if (nper == 1) local[m++] = global[j]; + else + for (k = 0; k < nper; k++) + local[m++] = global[j++]; + } + } + + } else if (fieldtype[ifield] == 2) { + int64_t *local = (int64_t *) data; + int64_t *global = (int64_t *) &buf[fieldoffset[ifield]]; + if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(int64_t)); + else { + m = 0; + for (i = 0; i < nlocal; i++) { + j = (ids[i]-1) * nper; + if (nper == 1) local[m++] = global[j]; + else + for (k = 0; k < nper; k++) + local[m++] = global[j++]; + } + } + + } else if (fieldtype[ifield] == 3) { + float *local = (float *) data; + float *global = (float *) &buf[fieldoffset[ifield]]; + if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(float)); + else { + m = 0; + for (i = 0; i < nlocal; i++) { + j = (ids[i]-1) * nper; + if (nper == 1) local[m++] = global[j]; + else + for (k = 0; k < nper; k++) + local[m++] = global[j++]; + } + } + + } else if (fieldtype[ifield] == 4) { + double *local = (double *) data; + double *global = (double *) &buf[fieldoffset[ifield]]; + if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(double)); + else { + m = 0; + for (i = 0; i < nlocal; i++) { + j = (ids[i]-1) * nper; + if (nper == 1) local[m++] = global[j]; + else + for (k = 0; k < nper; k++) + local[m++] = global[j++]; + } + } + + /* eventually ftype = BYTE, but not yet + } else if (fieldtype[ifield] == 5) { + char *local = (char *) data; + char *global = (char *) &buf[fieldoffset[ifield]]; + if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(char)); + else { + m = 0; + for (i = 0; i < nlocal; i++) { + j = (ids[i]-1) * nper; + memcpy(&local[m],&global[j],nper); + m += nper; + } + } + */ + } +} + +/* ---------------------------------------------------------------------- */ + +int CSlib::extract(int flag) +{ + if (flag == 1) return nsend; + if (flag == 2) return nrecv; + error_all("extract(): Invalid flag"); + return 0; +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::onefield(int ftype, int flen, int &nbytes, int &nbytesround) +{ + int64_t bigbytes,bigbytesround; + int64_t biglen = flen; + + if (ftype == 1) bigbytes = biglen * sizeof(int); + else if (ftype == 2) bigbytes = biglen * sizeof(int64_t); + else if (ftype == 3) bigbytes = biglen * sizeof(float); + else if (ftype == 4) bigbytes = biglen * sizeof(double); + else if (ftype == 5) bigbytes = biglen * sizeof(char); + bigbytesround = roundup(bigbytes,8); + + if (nbuf + bigbytesround > INT_MAX) + error_all("pack(): Message size exceeds 32-bit integer limit"); + + nbytes = (int) bigbytes; + nbytesround = (int) bigbytesround; + if (nbuf + nbytesround > maxbuf) { + maxbuf = nbuf + nbytesround; + buf = (char *) srealloc(buf,maxbuf); + } +} + +/* ---------------------------------------------------------------------- */ + +int CSlib::find_field(int id, int n) +{ + int ifield; + for (ifield = 0; ifield < n; ifield++) + if (id == fieldID[ifield]) return ifield; + return -1; +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::allocate_fields() +{ + int64_t bigbytes = (2 + 3*((int64_t) nfield)) * sizeof(int); + if (bigbytes > INT_MAX) + error_all("send(): Message header size exceeds 32-bit integer limit"); + + nheader = 2; + nheader += 3 * nfield; + + if (nfield > maxfield) { + deallocate_fields(); + maxfield = nfield; + fieldID = new int[maxfield]; + fieldtype = new int[maxfield]; + fieldlen = new int[maxfield]; + fieldoffset = new int[maxfield]; + } + + if (nheader > maxheader) { + sfree(header); + maxheader = nheader; + header = (int *) smalloc(maxheader*sizeof(int)); + } +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::deallocate_fields() +{ + delete [] fieldID; + delete [] fieldtype; + delete [] fieldlen; + delete [] fieldoffset; +} + +/* ---------------------------------------------------------------------- */ + +void *CSlib::smalloc(int nbytes) +{ + if (nbytes == 0) return NULL; + void *ptr = malloc(nbytes); + if (ptr == NULL) { + char str[128]; + sprintf(str,"malloc(): Failed to allocate %d bytes",nbytes); + error_one(str); + } + return ptr; +} + +/* ---------------------------------------------------------------------- */ + +void *CSlib::srealloc(void *ptr, int nbytes) +{ + if (nbytes == 0) { + sfree(ptr); + return NULL; + } + + ptr = realloc(ptr,nbytes); + if (ptr == NULL) { + char str[128]; + sprintf(str,"realloc(): Failed to reallocate %d bytes",nbytes); + error_one(str); + } + return ptr; +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::sfree(void *ptr) +{ + if (ptr == NULL) return; + free(ptr); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::error_all(const char *str) +{ + if (me == 0) printf("CSlib ERROR: %s\n",str); + MPI_Comm world = (MPI_Comm) myworld; + MPI_Abort(world,1); +} + +/* ---------------------------------------------------------------------- */ + +void CSlib::error_one(const char *str) +{ + printf("CSlib ERROR: %s\n",str); + MPI_Comm world = (MPI_Comm) myworld; + MPI_Abort(world,1); +} + +/* ---------------------------------------------------------------------- + round N up to multiple of nalign and return it + NOTE: see mapreduce/src/keyvalue.cpp for doing this as uint64_t +------------------------------------------------------------------------- */ + +int64_t CSlib::roundup(int64_t n, int nalign) +{ + if (n % nalign == 0) return n; + n = (n/nalign + 1) * nalign; + return n; +} diff --git a/lib/message/cslib/src/cslib.h b/lib/message/cslib/src/cslib.h new file mode 100644 index 0000000000..b4da968026 --- /dev/null +++ b/lib/message/cslib/src/cslib.h @@ -0,0 +1,87 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#ifndef CSLIB_H +#define CSLIB_H + +#include + +namespace CSLIB_NS { + +class CSlib { + public: + int nsend,nrecv; + + CSlib(int, const char *, const void *, const void *); + ~CSlib(); + + void send(int, int); + + void pack_int(int, int); + void pack_int64(int, int64_t); + void pack_float(int, float); + void pack_double(int, double); + void pack_string(int, char *); + void pack(int, int, int, void *); + void pack_parallel(int, int, int, int *, int, void *); + + int recv(int &, int *&, int *&, int *&); + + int unpack_int(int); + int64_t unpack_int64(int); + float unpack_float(int); + double unpack_double(int); + char *unpack_string(int); + void *unpack(int); + void unpack(int, void *); + void unpack_parallel(int, int, int *, int, void *); + + int extract(int); + + private: + uint64_t myworld; // really MPI_Comm, but avoids use of mpi.h in this file + // so apps can include this file w/ no MPI on system + int me,nprocs; + int client,server; + int nfield,maxfield; + int msgID,fieldcount; + int nheader,maxheader; + int nbuf,maxbuf; + int maxglobal,maxfieldbytes; + int *fieldID,*fieldtype,*fieldlen,*fieldoffset; + int *header; + int *recvcounts,*displs; // nprocs size for Allgathers + int *allids; // nglobal size for pack_parallel() + char *buf; // maxbuf size for msg with all fields + char *fielddata; // maxfieldbytes size for one global field + const char *pad; + + class Msg *msg; + + void send_message(); + void onefield(int, int, int &, int &); + int find_field(int, int); + void allocate_fields(); + void deallocate_fields(); + int64_t roundup(int64_t, int); + void *smalloc(int); + void *srealloc(void *, int); + void sfree(void *); + void error_all(const char *); + void error_one(const char *); +}; + +} + +#endif diff --git a/lib/message/cslib/src/cslib.py b/lib/message/cslib/src/cslib.py new file mode 100644 index 0000000000..0ba3516255 --- /dev/null +++ b/lib/message/cslib/src/cslib.py @@ -0,0 +1,362 @@ +# ------------------------------------------------------------------------ +# CSlib - Client/server library for code coupling +# http://cslib.sandia.gov, Sandia National Laboratories +# Steve Plimpton, sjplimp@sandia.gov +# +# Copyright 2018 National Technology & Engineering Solutions of +# Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with +# NTESS, the U.S. Government retains certain rights in this software. +# This software is distributed under the modified Berkeley Software +# Distribution (BSD) License. +# +# See the README file in the top-level CSlib directory. +# ------------------------------------------------------------------------- + +# Python wrapper on CSlib library via ctypes + +# ctypes and Numpy data types: +# 32-bit int = c_int = np.intc = np.int32 +# 64-bit int = c_longlong = np.int64 +# 32-bit floating point = c_float = np.float32 +# 64-bit floating point = c_double = np.float = np.float64 + +import sys,traceback +from ctypes import * + +# Numpy and mpi4py packages may not exist + +try: + import numpy as np + numpyflag = 1 +except: + numpyflag = 0 + +try: + from mpi4py import MPI + mpi4pyflag = 1 +except: + mpi4pyflag = 0 + +# wrapper class + +class CSlib: + + # instantiate CSlib thru its C-interface + + def __init__(self,csflag,mode,ptr,comm): + + # load libcslib.so + + try: + if comm: self.lib = CDLL("libcsmpi.so",RTLD_GLOBAL) + else: self.lib = CDLL("libcsnompi.so",RTLD_GLOBAL) + except: + etype,value,tb = sys.exc_info() + traceback.print_exception(etype,value,tb) + raise OSError,"Could not load CSlib dynamic library" + + # define ctypes API for each library method + + self.lib.cslib_open.argtypes = [c_int,c_char_p,c_void_p,c_void_p, + POINTER(c_void_p)] + self.lib.cslib_open.restype = None + + self.lib.cslib_close.argtypes = [c_void_p] + self.lib.cslib_close.restype = None + + self.lib.cslib_send.argtypes = [c_void_p,c_int,c_int] + self.lib.cslib_send.restype = None + + self.lib.cslib_pack_int.argtypes = [c_void_p,c_int,c_int] + self.lib.cslib_pack_int.restype = None + + self.lib.cslib_pack_int64.argtypes = [c_void_p,c_int,c_longlong] + self.lib.cslib_pack_int64.restype = None + + self.lib.cslib_pack_float.argtypes = [c_void_p,c_int,c_float] + self.lib.cslib_pack_float.restype = None + + self.lib.cslib_pack_double.argtypes = [c_void_p,c_int,c_double] + self.lib.cslib_pack_double.restype = None + + self.lib.cslib_pack_string.argtypes = [c_void_p,c_int,c_char_p] + self.lib.cslib_pack_string.restype = None + + self.lib.cslib_pack.argtypes = [c_void_p,c_int,c_int,c_int,c_void_p] + self.lib.cslib_pack.restype = None + + self.lib.cslib_pack_parallel.argtypes = [c_void_p,c_int,c_int,c_int, + POINTER(c_int),c_int,c_void_p] + self.lib.cslib_pack_parallel.restype = None + + self.lib.cslib_recv.argtypes = [c_void_p,POINTER(c_int), + POINTER(POINTER(c_int)), + POINTER(POINTER(c_int)), + POINTER(POINTER(c_int))] + self.lib.cslib_recv.restype = c_int + + self.lib.cslib_unpack_int.argtypes = [c_void_p,c_int] + self.lib.cslib_unpack_int.restype = c_int + + self.lib.cslib_unpack_int64.argtypes = [c_void_p,c_int] + self.lib.cslib_unpack_int64.restype = c_longlong + + self.lib.cslib_unpack_float.argtypes = [c_void_p,c_int] + self.lib.cslib_unpack_float.restype = c_float + + self.lib.cslib_unpack_double.argtypes = [c_void_p,c_int] + self.lib.cslib_unpack_double.restype = c_double + + self.lib.cslib_unpack_string.argtypes = [c_void_p,c_int] + self.lib.cslib_unpack_string.restype = c_char_p + + # override return in unpack() + self.lib.cslib_unpack.argtypes = [c_void_p,c_int] + self.lib.cslib_unpack.restype = c_void_p + + self.lib.cslib_unpack_data.argtypes = [c_void_p,c_int,c_void_p] + self.lib.cslib_unpack_data.restype = None + + # override last arg in unpack_parallel() + self.lib.cslib_unpack_parallel.argtypes = [c_void_p,c_int,c_int, + POINTER(c_int),c_int,c_void_p] + self.lib.cslib_unpack_parallel.restype = None + + self.lib.cslib_extract.argtypes = [c_void_p,c_int] + self.lib.cslib_extract.restype = c_int + + # create an instance of CSlib with or w/out MPI communicator + + self.cs = c_void_p() + + if not comm: + self.lib.cslib_open(csflag,mode,ptr,None,byref(self.cs)) + elif not mpi4pyflag: + print "Cannot pass MPI communicator to CSlib w/out mpi4py package" + sys.exit() + else: + address = MPI._addressof(comm) + comm_ptr = c_void_p(address) + if mode == "mpi/one": + address = MPI._addressof(ptr) + ptrcopy = c_void_p(address) + else: ptrcopy = ptr + self.lib.cslib_open(csflag,mode,ptrcopy,comm_ptr,byref(self.cs)) + + # destroy instance of CSlib + + def __del__(self): + if self.cs: self.lib.cslib_close(self.cs) + + def close(self): + self.lib.cslib_close(self.cs) + self.lib = None + + # send a message + + def send(self,msgID,nfield): + self.nfield = nfield + self.lib.cslib_send(self.cs,msgID,nfield) + + # pack one field of message + + def pack_int(self,id,value): + self.lib.cslib_pack_int(self.cs,id,value) + + def pack_int64(self,id,value): + self.lib.cslib_pack_int64(self.cs,id,value) + + def pack_float(self,id,value): + self.lib.cslib_pack_float(self.cs,id,value) + + def pack_double(self,id,value): + self.lib.cslib_pack_double(self.cs,id,value) + + def pack_string(self,id,value): + self.lib.cslib_pack_string(self.cs,id,value) + + def pack(self,id,ftype,flen,data): + cdata = self.data_convert(ftype,flen,data) + self.lib.cslib_pack(self.cs,id,ftype,flen,cdata) + + def pack_parallel(self,id,ftype,nlocal,ids,nper,data): + cids = self.data_convert(1,nlocal,ids) + cdata = self.data_convert(ftype,nper*nlocal,data) + self.lib.cslib_pack_parallel(self.cs,id,ftype,nlocal,cids,nper,cdata) + + # convert input data to a ctypes vector to pass to CSlib + + def data_convert(self,ftype,flen,data): + + # tflag = type of data + # tflag = 1 if data is list or tuple + # tflag = 2 if data is Numpy array + # tflag = 3 if data is ctypes vector + # same usage of tflag as in unpack function + + txttype = str(type(data)) + if "numpy" in txttype: tflag = 2 + elif "c_" in txttype: tflag = 3 + else: tflag = 1 + + # create ctypes vector out of data to pass to lib + # cdata = ctypes vector to return + # NOTE: error check on ftype and tflag everywhere, also flen + + if ftype == 1: + if tflag == 1: cdata = (flen * c_int)(*data) + elif tflag == 2: cdata = data.ctypes.data_as(POINTER(c_int)) + elif tflag == 3: cdata = data + elif ftype == 2: + if tflag == 1: cdata = (flen * c_longlong)(*data) + elif tflag == 2: cdata = data.ctypes.data_as(POINTER(c_longlong)) + elif tflag == 3: cdata = data + elif ftype == 3: + if tflag == 1: cdata = (flen * c_float)(*data) + elif tflag == 2: cdata = data.ctypes.data_as(POINTER(c_float)) + elif tflag == 3: cdata = data + elif ftype == 4: + if tflag == 1: cdata = (flen * c_double)(*data) + elif tflag == 2: cdata = data.ctypes.data_as(POINTER(c_double)) + elif tflag == 3: cdata = data + + return cdata + + # receive a message + + def recv(self): + self.lib.cslib_recv.restype = c_int + nfield = c_int() + fieldID = POINTER(c_int)() + fieldtype = POINTER(c_int)() + fieldlen = POINTER(c_int)() + msgID = self.lib.cslib_recv(self.cs,byref(nfield), + byref(fieldID),byref(fieldtype),byref(fieldlen)) + + # copy returned C args to native Python int and lists + # store them in class so unpack() methods can access the info + + self.nfield = nfield = nfield.value + self.fieldID = fieldID[:nfield] + self.fieldtype = fieldtype[:nfield] + self.fieldlen = fieldlen[:nfield] + + return msgID,self.nfield,self.fieldID,self.fieldtype,self.fieldlen + + # unpack one field of message + # tflag = type of data to return + # 3 = ctypes vector is default, since no conversion required + + def unpack_int(self,id): + return self.lib.cslib_unpack_int(self.cs,id) + + def unpack_int64(self,id): + return self.lib.cslib_unpack_int64(self.cs,id) + + def unpack_float(self,id): + return self.lib.cslib_unpack_float(self.cs,id) + + def unpack_double(self,id): + return self.lib.cslib_unpack_double(self.cs,id) + + def unpack_string(self,id): + return self.lib.cslib_unpack_string(self.cs,id) + + def unpack(self,id,tflag=3): + index = self.fieldID.index(id) + + # reset data type of return so can morph by tflag + # cannot do this for the generic c_void_p returned by CSlib + + if self.fieldtype[index] == 1: + self.lib.cslib_unpack.restype = POINTER(c_int) + elif self.fieldtype[index] == 2: + self.lib.cslib_unpack.restype = POINTER(c_longlong) + elif self.fieldtype[index] == 3: + self.lib.cslib_unpack.restype = POINTER(c_float) + elif self.fieldtype[index] == 4: + self.lib.cslib_unpack.restype = POINTER(c_double) + #elif self.fieldtype[index] == 5: + # self.lib.cslib_unpack.restype = POINTER(c_char) + + cdata = self.lib.cslib_unpack(self.cs,id) + + # tflag = user-requested type of data to return + # tflag = 1 to return data as list + # tflag = 2 to return data as Numpy array + # tflag = 3 to return data as ctypes vector + # same usage of tflag as in pack functions + # tflag = 2,3 should NOT perform a data copy + + if tflag == 1: + data = cdata[:self.fieldlen[index]] + elif tflag == 2: + if numpyflag == 0: + print "Cannot return Numpy array w/out numpy package" + sys.exit() + data = np.ctypeslib.as_array(cdata,shape=(self.fieldlen[index],)) + elif tflag == 3: + data = cdata + + return data + + # handle data array like pack() or unpack_parallel() ?? + + def unpack_data(self,id,tflag=3): + index = self.fieldID.index(id) + + # unpack one field of message in parallel + # tflag = type of data to return + # 3 = ctypes vector is default, since no conversion required + # NOTE: allow direct use of user array (e.g. Numpy), if user provides data arg? + # as opposed to creating this cdata + # does that make any performance difference ? + # e.g. should we allow CSlib to populate an existing Numpy array's memory + + def unpack_parallel(self,id,nlocal,ids,nper,tflag=3): + cids = self.data_convert(1,nlocal,ids) + + # allocate memory for the returned data + # pass cdata ptr to the memory to CSlib unpack_parallel() + # this resets data type of last unpack_parallel() arg + + index = self.fieldID.index(id) + if self.fieldtype[index] == 1: cdata = (nper*nlocal * c_int)() + elif self.fieldtype[index] == 2: cdata = (nlocal*nper * c_longlong)() + elif self.fieldtype[index] == 3: cdata = (nlocal*nper * c_float)() + elif self.fieldtype[index] == 4: cdata = (nlocal*nper * c_double)() + #elif self.fieldtype[index] == 5: cdata = (nlocal*nper * c_char)() + + self.lib.cslib_unpack_parallel(self.cs,id,nlocal,cids,nper,cdata) + + # tflag = user-requested type of data to return + # tflag = 1 to return data as list + # tflag = 2 to return data as Numpy array + # tflag = 3 to return data as ctypes vector + # same usage of tflag as in pack functions + + if tflag == 1: + data = cdata[:nper*nlocal] + elif tflag == 2: + if numpyflag == 0: + print "Cannot return Numpy array w/out numpy package" + sys.exit() + # NOTE: next line gives ctypes warning for fieldtype = 2 = 64-bit int + # not sure why, reported as bug between ctypes and Numpy here: + # https://stackoverflow.com/questions/4964101/pep-3118- + # warning-when-using-ctypes-array-as-numpy-array + # but why not same warning when just using unpack() ?? + # in Python these lines give same warning: + # >>> import ctypes,numpy + # >>> a = (10 * ctypes.c_longlong)() + # >>> b = numpy.ctypeslib.as_array(a) + data = np.ctypeslib.as_array(cdata,shape=(nlocal*nper,)) + elif tflag == 3: + data = cdata + + return data + + # extract a library value + + def extract(self,flag): + return self.lib.cslib_extract(self.cs,flag) diff --git a/lib/message/cslib/src/cslib_wrap.cpp b/lib/message/cslib/src/cslib_wrap.cpp new file mode 100644 index 0000000000..c2d69eaf0d --- /dev/null +++ b/lib/message/cslib/src/cslib_wrap.cpp @@ -0,0 +1,239 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +// C style library interface to CSlib class + +#include +#include +#include +#include +#include + +#include "cslib_wrap.h" +#include "cslib.h" + +using namespace CSLIB_NS; + +// ---------------------------------------------------------------------- + +void cslib_open(int csflag, const char *mode, const void *ptr, + const void *pcomm, void **csptr) +{ + CSlib *cs = new CSlib(csflag,mode,ptr,pcomm); + *csptr = (void *) cs; +} + +// ---------------------------------------------------------------------- + +void cslib_open_fortran(int csflag, const char *mode, const char *str, + const void *pcomm, void **csptr) +{ + MPI_Comm ccomm; + void *pccomm = NULL; + + if (pcomm) { + MPI_Fint *fcomm = (MPI_Fint *) pcomm; + ccomm = MPI_Comm_f2c(*fcomm); + pccomm = &ccomm; + } + + CSlib *cs = new CSlib(csflag,mode,str,pccomm); + *csptr = (void *) cs; +} + +// ---------------------------------------------------------------------- + +void cslib_open_fortran_mpi_one(int csflag, const char *mode, + const void *pboth, const void *pcomm, + void **csptr) +{ + MPI_Comm ccomm,cboth; + void *pccomm,*pcboth; + + MPI_Fint *fcomm = (MPI_Fint *) pcomm; + ccomm = MPI_Comm_f2c(*fcomm); + pccomm = &ccomm; + + MPI_Fint *fboth = (MPI_Fint *) pboth; + cboth = MPI_Comm_f2c(*fboth); + pcboth = &cboth; + + CSlib *cs = new CSlib(csflag,mode,pcboth,pccomm); + *csptr = (void *) cs; +} + +// ---------------------------------------------------------------------- + +void cslib_close(void *ptr) +{ + CSlib *cs = (CSlib *) ptr; + delete cs; +} + +// ---------------------------------------------------------------------- + +void cslib_send(void *ptr, int msgID, int nfield) +{ + CSlib *cs = (CSlib *) ptr; + cs->send(msgID,nfield); +} + +// ---------------------------------------------------------------------- + +void cslib_pack_int(void *ptr, int id, int value) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack_int(id,value); +} + +// ---------------------------------------------------------------------- + +void cslib_pack_int64(void *ptr, int id, int64_t value) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack_int64(id,value); +} + +// ---------------------------------------------------------------------- + +void cslib_pack_float(void *ptr, int id, float value) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack_float(id,value); +} + +// ---------------------------------------------------------------------- + +void cslib_pack_double(void *ptr, int id, double value) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack_double(id,value); +} + +// ---------------------------------------------------------------------- + +void cslib_pack_string(void *ptr, int id, char *value) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack_string(id,value); +} + +// ---------------------------------------------------------------------- + +void cslib_pack(void *ptr, int id, int ftype, int flen, void *data) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack(id,ftype,flen,data); +} + +// ---------------------------------------------------------------------- + +void cslib_pack_parallel(void *ptr, int id, int ftype, + int nlocal, int *ids, int nper, void *data) +{ + CSlib *cs = (CSlib *) ptr; + cs->pack_parallel(id,ftype,nlocal,ids,nper,data); +} + +// ---------------------------------------------------------------------- + +int cslib_recv(void *ptr, int *nfield_caller, + int **fieldID_caller, int **fieldtype_caller, + int **fieldlen_caller) +{ + CSlib *cs = (CSlib *) ptr; + + int nfield; + int *fieldID,*fieldtype,*fieldlen; + int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + + *nfield_caller = nfield; + *fieldID_caller = fieldID; + *fieldtype_caller = fieldtype; + *fieldlen_caller = fieldlen; + + return msgID; +} + +// ---------------------------------------------------------------------- + +int cslib_unpack_int(void *ptr, int id) +{ + CSlib *cs = (CSlib *) ptr; + return cs->unpack_int(id); +} +// ---------------------------------------------------------------------- + +int64_t cslib_unpack_int64(void *ptr, int id) +{ + CSlib *cs = (CSlib *) ptr; + return cs->unpack_int64(id); +} + +// ---------------------------------------------------------------------- + +float cslib_unpack_float(void *ptr, int id) +{ + CSlib *cs = (CSlib *) ptr; + return cs->unpack_float(id); +} + +// ---------------------------------------------------------------------- + +double cslib_unpack_double(void *ptr, int id) +{ + CSlib *cs = (CSlib *) ptr; + return cs->unpack_double(id); +} + +// ---------------------------------------------------------------------- + +char *cslib_unpack_string(void *ptr, int id) +{ + CSlib *cs = (CSlib *) ptr; + return cs->unpack_string(id); +} + +// ---------------------------------------------------------------------- + +void *cslib_unpack(void *ptr, int id) +{ + CSlib *cs = (CSlib *) ptr; + return cs->unpack(id); +} + +// ---------------------------------------------------------------------- + +void cslib_unpack_data(void *ptr, int id, void *data) +{ + CSlib *cs = (CSlib *) ptr; + cs->unpack(id,data); +} + +// ---------------------------------------------------------------------- + +void cslib_unpack_parallel(void *ptr, int id, int nlocal, int *ids, + int nper, void *data) +{ + CSlib *cs = (CSlib *) ptr; + cs->unpack_parallel(id,nlocal,ids,nper,data); +} + +// ---------------------------------------------------------------------- + +int cslib_extract(void *ptr, int flag) +{ + CSlib *cs = (CSlib *) ptr; + return cs->extract(flag); +} diff --git a/lib/message/cslib/src/cslib_wrap.f90 b/lib/message/cslib/src/cslib_wrap.f90 new file mode 100644 index 0000000000..cd2e058b78 --- /dev/null +++ b/lib/message/cslib/src/cslib_wrap.f90 @@ -0,0 +1,147 @@ +! ISO_C_binding wrapper on CSlib C interface + +module cslib_wrap + +interface + subroutine cslib_open_fortran(csflag,mode,str,pcomm,ptr) bind(c) + use iso_c_binding + integer(c_int), value :: csflag + character(c_char) :: mode(*),str(*) + type(c_ptr), value :: pcomm + type(c_ptr) :: ptr + end subroutine cslib_open_fortran + + subroutine cslib_open_fortran_mpi_one(csflag,mode,pboth,pcomm,ptr) bind(c) + use iso_c_binding + integer(c_int), value :: csflag + character(c_char) :: mode(*) + type(c_ptr), value :: pboth,pcomm + type(c_ptr) :: ptr + end subroutine cslib_open_fortran_mpi_one + + subroutine cslib_close(ptr) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + end subroutine cslib_close + + subroutine cslib_send(ptr,msgID,nfield) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: msgID,nfield + end subroutine cslib_send + + subroutine cslib_pack_int(ptr,id,value) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id + integer(c_int), value :: value + end subroutine cslib_pack_int + + subroutine cslib_pack_int64(ptr,id,value) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id + integer(c_int64_t), value :: value + end subroutine cslib_pack_int64 + + subroutine cslib_pack_float(ptr,id,value) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id + real(c_float), value :: value + end subroutine cslib_pack_float + + subroutine cslib_pack_double(ptr,id,value) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id + real(c_double), value :: value + end subroutine cslib_pack_double + + subroutine cslib_pack_string(ptr,id,value) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id + character(c_char) :: value(*) + end subroutine cslib_pack_string + + subroutine cslib_pack(ptr,id,ftype,flen,data) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id,ftype,flen + type(c_ptr), value :: data + end subroutine cslib_pack + + subroutine cslib_pack_parallel(ptr,id,ftype,nlocal,ids,nper,data) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id,ftype,nlocal,nper + type(c_ptr), value :: ids,data + end subroutine cslib_pack_parallel + + function cslib_recv(ptr,nfield,fieldID,fieldtype,fieldlen) bind(c) + use iso_c_binding + integer(c_int) :: cslib_recv + type(c_ptr), value :: ptr + integer(c_int) :: nfield + type(c_ptr) :: fieldID,fieldtype,fieldlen + end function cslib_recv + + function cslib_unpack_int(ptr,id) bind(c) + use iso_c_binding + integer(c_int) :: cslib_unpack_int + type(c_ptr), value :: ptr + integer(c_int), value :: id + end function cslib_unpack_int + + function cslib_unpack_int64(ptr,id) bind(c) + use iso_c_binding + integer(c_int64_t) :: cslib_unpack_int64 + type(c_ptr), value :: ptr + integer(c_int), value :: id + end function cslib_unpack_int64 + + function cslib_unpack_float(ptr,id) bind(c) + use iso_c_binding + real(c_float) :: cslib_unpack_float + type(c_ptr), value :: ptr + integer(c_int), value :: id + end function cslib_unpack_float + + function cslib_unpack_double(ptr,id) bind(c) + use iso_c_binding + real(c_double) :: cslib_unpack_double + type(c_ptr), value :: ptr + integer(c_int), value :: id + end function cslib_unpack_double + + function cslib_unpack_string(ptr,id) bind(c) + use iso_c_binding + type(c_ptr) :: cslib_unpack_string + type(c_ptr), value :: ptr + integer(c_int), value :: id + end function cslib_unpack_string + + function cslib_unpack(ptr,id) bind(c) + use iso_c_binding + type(c_ptr) :: cslib_unpack + type(c_ptr), value :: ptr + integer(c_int), value :: id + end function cslib_unpack + + subroutine cslib_unpack_parallel(ptr,id,nlocal,ids,nper,data) bind(c) + use iso_c_binding + type(c_ptr), value :: ptr + integer(c_int), value :: id,nlocal,nper + type(c_ptr), value :: ids,data + end subroutine cslib_unpack_parallel + + function cslib_extract(ptr,flag) bind(c) + use iso_c_binding + integer(c_int) :: cslib_extract + type(c_ptr), value :: ptr + integer(c_int), value :: flag + end function cslib_extract +end interface + +end module cslib_wrap diff --git a/lib/message/cslib/src/cslib_wrap.h b/lib/message/cslib/src/cslib_wrap.h new file mode 100644 index 0000000000..bf7df029c3 --- /dev/null +++ b/lib/message/cslib/src/cslib_wrap.h @@ -0,0 +1,54 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +/* C style library interface to CSlib class + ifdefs allow this file to be included in a C program +*/ + +#ifdef __cplusplus +extern "C" { +#endif + +void cslib_open(int, const char *, const void *, const void *, void **); +void cslib_open_fortran(int, const char *, const char *, const void *, void **); +void cslib_open_fortran_mpi_one(int, const char *, const void *, + const void *, void **); +void cslib_close(void *); + +void cslib_send(void *, int, int); + +void cslib_pack_int(void *, int, int); +void cslib_pack_int64(void *, int, int64_t); +void cslib_pack_float(void *, int, float); +void cslib_pack_double(void *, int, double); +void cslib_pack_string(void *, int, char *); +void cslib_pack(void *, int, int, int, void *); +void cslib_pack_parallel(void *, int, int, int, int *, int, void *); + +int cslib_recv(void *, int *, int **, int **, int **); + +int cslib_unpack_int(void *, int); +int64_t cslib_unpack_int64(void *, int); +float cslib_unpack_float(void *, int); +double cslib_unpack_double(void *, int); +char *cslib_unpack_string(void *, int); +void *cslib_unpack(void *, int); +void cslib_unpack_data(void *, int, void *); +void cslib_unpack_parallel(void *, int, int, int *, int, void *); + +int cslib_extract(void *, int); + +#ifdef __cplusplus +} +#endif diff --git a/lib/message/cslib/src/msg.cpp b/lib/message/cslib/src/msg.cpp new file mode 100644 index 0000000000..c67e4a5c8c --- /dev/null +++ b/lib/message/cslib/src/msg.cpp @@ -0,0 +1,110 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include + +#include "msg.h" + +using namespace CSLIB_NS; + +/* ---------------------------------------------------------------------- */ + +Msg::Msg(int csflag, const void *ptr, MPI_Comm cworld) +{ + world = cworld; + MPI_Comm_rank(world,&me); + MPI_Comm_size(world,&nprocs); + + init(csflag); +} + +/* ---------------------------------------------------------------------- */ + +Msg::Msg(int csflag, const void *ptr) +{ + world = 0; + me = 0; + nprocs = 1; + + init(csflag); +} + +/* ---------------------------------------------------------------------- */ + +void Msg::init(int csflag) +{ + client = server = 0; + if (csflag == 0) client = 1; + else if (csflag == 1) server = 1; + + nsend = nrecv = 0; +} + +/* ---------------------------------------------------------------------- */ + +void Msg::allocate(int nheader, int &maxheader, int *&header, + int nbuf, int &maxbuf, char *&buf) +{ + if (nheader > maxheader) { + sfree(header); + maxheader = nheader; + header = (int *) smalloc(maxheader*sizeof(int)); + } + + if (nbuf > maxbuf) { + sfree(buf); + maxbuf = nbuf; + buf = (char *) smalloc(maxbuf*sizeof(char)); + } +} + +/* ---------------------------------------------------------------------- */ + +void *Msg::smalloc(int nbytes) +{ + if (nbytes == 0) return NULL; + void *ptr = (void *) malloc(nbytes); + if (ptr == NULL) { + char str[128]; + sprintf(str,"Failed to allocate %d bytes",nbytes); + } + return ptr; +} + +/* ---------------------------------------------------------------------- */ + +void Msg::sfree(void *ptr) +{ + if (ptr == NULL) return; + free(ptr); +} + +/* ---------------------------------------------------------------------- */ + +void Msg::error_all(const char *str) +{ + if (me == 0) printf("CSlib ERROR: %s\n",str); + MPI_Abort(world,1); +} + +/* ---------------------------------------------------------------------- */ + +void Msg::error_one(const char *str) +{ + printf("CSlib ERROR: %s\n",str); + MPI_Abort(world,1); +} diff --git a/lib/message/cslib/src/msg.h b/lib/message/cslib/src/msg.h new file mode 100644 index 0000000000..f75942b027 --- /dev/null +++ b/lib/message/cslib/src/msg.h @@ -0,0 +1,52 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#ifndef MSG_H +#define MSG_H + +#include + +namespace CSLIB_NS { + +class Msg { + public: + int nsend,nrecv; + MPI_Comm world; + + Msg(int, const void *, MPI_Comm); + Msg(int, const void *); + virtual ~Msg() {} + virtual void send(int, int *, int, char *) = 0; + virtual void recv(int &, int *&, int &, char *&) = 0; + + protected: + int me,nprocs; + int client,server; + + int nfield; + int *fieldID,*fieldtype,*fieldlen; + int lengths[2]; + + void init(int); + void allocate(int, int &, int *&, int, int &, char *&); + void *smalloc(int); + void sfree(void *); + void error_all(const char *); + void error_one(const char *); +}; + + +} + +#endif diff --git a/lib/message/cslib/src/msg_file.cpp b/lib/message/cslib/src/msg_file.cpp new file mode 100644 index 0000000000..d97e249fad --- /dev/null +++ b/lib/message/cslib/src/msg_file.cpp @@ -0,0 +1,143 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include +#include + +#include "msg_file.h" + +using namespace CSLIB_NS; + +#define MAXLINE 256 +#define SLEEP 0.1 // delay in CPU secs to check for message file + +/* ---------------------------------------------------------------------- */ + +MsgFile::MsgFile(int csflag, const void *ptr, MPI_Comm cworld) : + Msg(csflag, ptr, cworld) +{ + char *filename = (char *) ptr; + init(filename); +} + +/* ---------------------------------------------------------------------- */ + +MsgFile::MsgFile(int csflag, const void *ptr) : Msg(csflag, ptr) +{ + char *filename = (char *) ptr; + init(filename); +} + +/* ---------------------------------------------------------------------- */ + +MsgFile::~MsgFile() +{ + delete [] fileroot; +} + +/* ---------------------------------------------------------------------- */ + +void MsgFile::init(char *filename) +{ + int n = strlen(filename) + 1; + fileroot = new char[n]; + strcpy(fileroot,filename); +} + +/* ---------------------------------------------------------------------- */ + +void MsgFile::send(int nheader, int *header, int nbuf, char *buf) +{ + char filename[MAXLINE]; + + lengths[0] = nheader; + lengths[1] = nbuf; + + if (me == 0) { + if (client) sprintf(filename,"%s.%s",fileroot,"client"); + else if (server) sprintf(filename,"%s.%s",fileroot,"server"); + + fp = fopen(filename,"wb"); + if (!fp) error_one("send(): Could not open send message file"); + fwrite(lengths,sizeof(int),2,fp); + fwrite(header,sizeof(int),nheader,fp); + fwrite(buf,1,nbuf,fp); + fclose(fp); + } + + // create empty signal file + + if (me == 0) { + if (client) sprintf(filename,"%s.%s",fileroot,"client.signal"); + else if (server) sprintf(filename,"%s.%s",fileroot,"server.signal"); + fp = fopen(filename,"w"); + fclose(fp); + } +} + +/* ---------------------------------------------------------------------- */ + +void MsgFile::recv(int &maxheader, int *&header, int &maxbuf, char *&buf) +{ + char filename[MAXLINE]; + + // wait until signal file exists to open message file + + if (me == 0) { + if (client) sprintf(filename,"%s.%s",fileroot,"server.signal"); + else if (server) sprintf(filename,"%s.%s",fileroot,"client.signal"); + + int delay = (int) (1000000 * SLEEP); + while (1) { + fp = fopen(filename,"r"); + if (fp) break; + usleep(delay); + } + fclose(fp); + + if (client) sprintf(filename,"%s.%s",fileroot,"server"); + else if (server) sprintf(filename,"%s.%s",fileroot,"client"); + fp = fopen(filename,"rb"); + if (!fp) error_one("recv(): Could not open recv message file"); + } + + // read and broadcast data + + if (me == 0) fread(lengths,sizeof(int),2,fp); + if (nprocs > 1) MPI_Bcast(lengths,2,MPI_INT,0,world); + + int nheader = lengths[0]; + int nbuf = lengths[1]; + allocate(nheader,maxheader,header,nbuf,maxbuf,buf); + + if (me == 0) fread(header,sizeof(int),nheader,fp); + if (nprocs > 1) MPI_Bcast(header,nheader,MPI_INT,0,world); + + if (me == 0) fread(buf,1,nbuf,fp); + if (nprocs > 1) MPI_Bcast(buf,nbuf,MPI_CHAR,0,world); + + // delete both message and signal file + + if (me == 0) { + fclose(fp); + unlink(filename); + if (client) sprintf(filename,"%s.%s",fileroot,"server.signal"); + else if (server) sprintf(filename,"%s.%s",fileroot,"client.signal"); + unlink(filename); + } +} diff --git a/lib/message/cslib/src/msg_file.h b/lib/message/cslib/src/msg_file.h new file mode 100644 index 0000000000..d6bd802607 --- /dev/null +++ b/lib/message/cslib/src/msg_file.h @@ -0,0 +1,40 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#ifndef MSG_FILE_H +#define MSG_FILE_H + +#include +#include "msg.h" + +namespace CSLIB_NS { + +class MsgFile : public Msg { + public: + MsgFile(int, const void *, MPI_Comm); + MsgFile(int, const void *); + ~MsgFile(); + void send(int, int *, int, char *); + void recv(int &, int *&, int &, char *&); + + private: + char *fileroot; + FILE *fp; + + void init(char *); +}; + +} + +#endif diff --git a/lib/message/cslib/src/msg_mpi_one.cpp b/lib/message/cslib/src/msg_mpi_one.cpp new file mode 100644 index 0000000000..db11735b27 --- /dev/null +++ b/lib/message/cslib/src/msg_mpi_one.cpp @@ -0,0 +1,82 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include +#include + +#include "msg_mpi_one.h" + +using namespace CSLIB_NS; + +/* ---------------------------------------------------------------------- */ + +MsgMPIOne::MsgMPIOne(int csflag, const void *ptr, MPI_Comm cworld) : + Msg(csflag, ptr, cworld) +{ + // NOTE: ideally would skip this call if mpi/two + init(ptr); +} + +/* ---------------------------------------------------------------------- */ + +void MsgMPIOne::init(const void *ptr) +{ + MPI_Comm *pbothcomm = (MPI_Comm *) ptr; + bothcomm = *pbothcomm; + + if (client) { + MPI_Comm_size(world,&nprocs); + otherroot = nprocs; + } else if (server) { + otherroot = 0; + } +} + +/* ---------------------------------------------------------------------- */ + +void MsgMPIOne::send(int nheader, int *header, int nbuf, char *buf) +{ + lengths[0] = nheader; + lengths[1] = nbuf; + + if (me == 0) { + MPI_Send(lengths,2,MPI_INT,otherroot,0,bothcomm); + MPI_Send(header,nheader,MPI_INT,otherroot,0,bothcomm); + MPI_Send(buf,nbuf,MPI_CHAR,otherroot,0,bothcomm); + } +} + +/* ---------------------------------------------------------------------- */ + +void MsgMPIOne::recv(int &maxheader, int *&header, int &maxbuf, char *&buf) +{ + MPI_Status status; + + if (me == 0) MPI_Recv(lengths,2,MPI_INT,otherroot,0,bothcomm,&status); + if (nprocs > 1) MPI_Bcast(lengths,2,MPI_INT,0,world); + + int nheader = lengths[0]; + int nbuf = lengths[1]; + allocate(nheader,maxheader,header,nbuf,maxbuf,buf); + + if (me == 0) MPI_Recv(header,nheader,MPI_INT,otherroot,0,bothcomm,&status); + if (nprocs > 1) MPI_Bcast(header,nheader,MPI_INT,0,world); + + if (me == 0) MPI_Recv(buf,nbuf,MPI_CHAR,otherroot,0,bothcomm,&status); + if (nprocs > 1) MPI_Bcast(buf,nbuf,MPI_CHAR,0,world); +} diff --git a/lib/message/cslib/src/msg_mpi_one.h b/lib/message/cslib/src/msg_mpi_one.h new file mode 100644 index 0000000000..4b4140a3f7 --- /dev/null +++ b/lib/message/cslib/src/msg_mpi_one.h @@ -0,0 +1,38 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#ifndef MSG_MPI_ONE_H +#define MSG_MPI_ONE_H + +#include "msg.h" + +namespace CSLIB_NS { + +class MsgMPIOne : public Msg { + public: + MsgMPIOne(int, const void *, MPI_Comm); + virtual ~MsgMPIOne() {} + void send(int, int *, int, char *); + void recv(int &, int *&, int &, char *&); + + protected: + MPI_Comm bothcomm; + int otherroot; + + void init(const void *); +}; + +} + +#endif diff --git a/lib/message/cslib/src/msg_mpi_two.cpp b/lib/message/cslib/src/msg_mpi_two.cpp new file mode 100644 index 0000000000..e9a9e87eeb --- /dev/null +++ b/lib/message/cslib/src/msg_mpi_two.cpp @@ -0,0 +1,81 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include +#include + +#include "msg_mpi_two.h" + +using namespace CSLIB_NS; + +/* ---------------------------------------------------------------------- */ + +MsgMPITwo::MsgMPITwo(int csflag, const void *ptr, MPI_Comm cworld) : + MsgMPIOne(csflag, ptr, cworld) +{ + char *filename = (char *) ptr; + init(filename); +} + +/* ---------------------------------------------------------------------- */ + +MsgMPITwo::~MsgMPITwo() +{ + // free the inter comm that spans both client and server + + MPI_Comm_free(&bothcomm); + MPI_Close_port(port); +} + +/* ---------------------------------------------------------------------- */ + +void MsgMPITwo::init(char *filename) +{ + if (client) { + if (me == 0) { + FILE *fp = NULL; + while (!fp) { + fp = fopen(filename,"r"); + if (!fp) sleep(1); + } + fgets(port,MPI_MAX_PORT_NAME,fp); + //printf("Client port: %s\n",port); + fclose(fp); + } + + MPI_Bcast(port,MPI_MAX_PORT_NAME,MPI_CHAR,0,world); + MPI_Comm_connect(port,MPI_INFO_NULL,0,world,&bothcomm); + //if (me == 0) printf("CLIENT comm connect\n"); + if (me == 0) unlink(filename); + + } else if (server) { + MPI_Open_port(MPI_INFO_NULL,port); + + if (me == 0) { + //printf("Server name: %s\n",port); + FILE *fp = fopen(filename,"w"); + fprintf(fp,"%s",port); + fclose(fp); + } + + MPI_Comm_accept(port,MPI_INFO_NULL,0,world,&bothcomm); + //if (me == 0) printf("SERVER comm accept\n"); + } + + otherroot = 0; +} diff --git a/lib/message/cslib/src/msg_mpi_two.h b/lib/message/cslib/src/msg_mpi_two.h new file mode 100644 index 0000000000..7b31db5a63 --- /dev/null +++ b/lib/message/cslib/src/msg_mpi_two.h @@ -0,0 +1,35 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#ifndef MSG_MPI_TWO_H +#define MSG_MPI_TWO_H + +#include "msg_mpi_one.h" + +namespace CSLIB_NS { + +class MsgMPITwo : public MsgMPIOne { + public: + MsgMPITwo(int, const void *, MPI_Comm); + ~MsgMPITwo(); + + private: + char port[MPI_MAX_PORT_NAME]; + + void init(char *); +}; + +} + +#endif diff --git a/lib/message/cslib/src/msg_zmq.cpp b/lib/message/cslib/src/msg_zmq.cpp new file mode 100644 index 0000000000..c2d408f3a5 --- /dev/null +++ b/lib/message/cslib/src/msg_zmq.cpp @@ -0,0 +1,140 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include +#include + +#include "msg_zmq.h" + +using namespace CSLIB_NS; + +/* ---------------------------------------------------------------------- */ + +MsgZMQ::MsgZMQ(int csflag, const void *ptr, MPI_Comm cworld) : + Msg(csflag, ptr, cworld) +{ + char *port = (char *) ptr; + init(port); +} + +MsgZMQ::MsgZMQ(int csflag, const void *ptr) : Msg(csflag, ptr) +{ + char *port = (char *) ptr; + init(port); +} + +/* ---------------------------------------------------------------------- */ + +MsgZMQ::~MsgZMQ() +{ + if (me == 0) { + zmq_close(socket); + zmq_ctx_destroy(context); + } +} + +/* ---------------------------------------------------------------------- */ + +void MsgZMQ::init(char *port) +{ +#ifdef ZMQ_NO + error_all("constructor(): Library not built with ZMQ support"); +#endif + + if (me == 0) { + int n = strlen(port) + 8; + char *socket_name = new char[n]; + strcpy(socket_name,"tcp://"); + strcat(socket_name,port); + + if (client) { + context = zmq_ctx_new(); + socket = zmq_socket(context,ZMQ_REQ); + zmq_connect(socket,socket_name); + } else if (server) { + context = zmq_ctx_new(); + socket = zmq_socket(context,ZMQ_REP); + int rc = zmq_bind(socket,socket_name); + if (rc) error_one("constructor(): Server could not make socket connection"); + } + + delete [] socket_name; + } +} + +/* ---------------------------------------------------------------------- + client/server sockets (REQ/REP) must follow this protocol: + client sends request (REQ) which server receives + server sends response (REP) which client receives + every exchange is of this form, server cannot initiate a send + thus each ZMQ send below has a following ZMQ recv, except last one + if client calls send(), it will next call recv() + if server calls send(), it will next call recv() from its wait loop + in either case, recv() issues a ZMQ recv to match last ZMQ send here +------------------------------------------------------------------------- */ + +void MsgZMQ::send(int nheader, int *header, int nbuf, char *buf) +{ + lengths[0] = nheader; + lengths[1] = nbuf; + + if (me == 0) { + zmq_send(socket,lengths,2*sizeof(int),0); + zmq_recv(socket,NULL,0,0); + } + + if (me == 0) { + zmq_send(socket,header,nheader*sizeof(int),0); + zmq_recv(socket,NULL,0,0); + } + + if (me == 0) zmq_send(socket,buf,nbuf,0); +} + +/* ---------------------------------------------------------------------- + client/server sockets (REQ/REP) must follow this protocol: + client sends request (REQ) which server receives + server sends response (REP) which client receives + every exchange is of this form, server cannot initiate a send + thus each ZMQ recv below has a following ZMQ send, except last one + if client calls recv(), it will next call send() to ping server again, + if server calls recv(), it will next call send() to respond to client + in either case, send() issues a ZMQ send to match last ZMQ recv here +------------------------------------------------------------------------- */ + +void MsgZMQ::recv(int &maxheader, int *&header, int &maxbuf, char *&buf) +{ + if (me == 0) { + zmq_recv(socket,lengths,2*sizeof(int),0); + zmq_send(socket,NULL,0,0); + } + if (nprocs > 1) MPI_Bcast(lengths,2,MPI_INT,0,world); + + int nheader = lengths[0]; + int nbuf = lengths[1]; + allocate(nheader,maxheader,header,nbuf,maxbuf,buf); + + if (me == 0) { + zmq_recv(socket,header,nheader*sizeof(int),0); + zmq_send(socket,NULL,0,0); + } + if (nprocs > 1) MPI_Bcast(header,nheader,MPI_INT,0,world); + + if (me == 0) zmq_recv(socket,buf,nbuf,0); + if (nprocs > 1) MPI_Bcast(buf,nbuf,MPI_CHAR,0,world); +} diff --git a/lib/message/cslib/src/msg_zmq.h b/lib/message/cslib/src/msg_zmq.h new file mode 100644 index 0000000000..c0621a26ff --- /dev/null +++ b/lib/message/cslib/src/msg_zmq.h @@ -0,0 +1,38 @@ +/* ---------------------------------------------------------------------- + CSlib - Client/server library for code coupling + http://cslib.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright 2018 National Technology & Engineering Solutions of + Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + NTESS, the U.S. Government retains certain rights in this software. + This software is distributed under the modified Berkeley Software + Distribution (BSD) License. + + See the README file in the top-level CSlib directory. +------------------------------------------------------------------------- */ + +#ifndef MSG_ZMQ_H +#define MSG_ZMQ_H + +#include "msg.h" + +namespace CSLIB_NS { + +class MsgZMQ : public Msg { + public: + MsgZMQ(int, const void *, MPI_Comm); + MsgZMQ(int, const void *); + ~MsgZMQ(); + void send(int, int *, int, char *); + void recv(int &, int *&, int &, char *&); + + private: + void *context,*socket; + + void init(char *); +}; + +} + +#endif diff --git a/src/MESSAGE/Install.sh b/src/MESSAGE/Install.sh new file mode 100644 index 0000000000..853dbddcdd --- /dev/null +++ b/src/MESSAGE/Install.sh @@ -0,0 +1,67 @@ +# Install/unInstall package files in LAMMPS +# mode = 0/1/2 for uninstall/install/update + +mode=$1 + +# arg1 = file, arg2 = file it depends on + +# enforce using portable C locale +LC_ALL=C +export LC_ALL + +action () { + if (test $mode = 0) then + rm -f ../$1 + elif (! cmp -s $1 ../$1) then + if (test -z "$2" || test -e ../$2) then + cp $1 .. + if (test $mode = 2) then + echo " updating src/$1" + fi + fi + elif (test -n "$2") then + if (test ! -e ../$2) then + rm -f ../$1 + fi + fi +} + +# all package files with no dependencies + +for file in *.cpp *.h; do + test -f ${file} && action $file +done + +# edit 2 Makefile.package files to include/exclude package info + +if (test $1 = 1) then + + if (test -e ../Makefile.package) then + sed -i -e 's/[^ \t]*message[^ \t]* //' ../Makefile.package + sed -i -e 's|^PKG_INC =[ \t]*|&-I../../lib/message/cslib/src |' ../Makefile.package + sed -i -e 's|^PKG_PATH =[ \t]*|&-L../../lib/message/cslib/src |' ../Makefile.package + sed -i -e 's|^PKG_LIB =[ \t]*|&-lmessage |' ../Makefile.package + sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(message_SYSINC) |' ../Makefile.package + sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(message_SYSLIB) |' ../Makefile.package + sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(message_SYSPATH) |' ../Makefile.package + fi + + if (test -e ../Makefile.package.settings) then + sed -i -e '/^include.*message.*$/d' ../Makefile.package.settings + # multiline form needed for BSD sed on Macs + sed -i -e '4 i \ +include ..\/..\/lib\/message\/Makefile.lammps +' ../Makefile.package.settings + fi + +elif (test $1 = 0) then + + if (test -e ../Makefile.package) then + sed -i -e 's/[^ \t]*message[^ \t]* //' ../Makefile.package + fi + + if (test -e ../Makefile.package.settings) then + sed -i -e '/^include.*message.*$/d' ../Makefile.package.settings + fi + +fi diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp new file mode 100644 index 0000000000..aca5cd41f9 --- /dev/null +++ b/src/MESSAGE/fix_client_md.cpp @@ -0,0 +1,325 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include "fix_client_md.h" +#include "update.h" +#include "atom.h" +#include "comm.h" +#include "domain.h" +#include "force.h" +#include "memory.h" +#include "error.h" + +// CSlib interface + +#include "cslib.h" + +using namespace LAMMPS_NS; +using namespace CSLIB_NS; +using namespace FixConst; + +enum{OTHER,REAL,METAL}; +enum{SETUP=1,STEP}; +enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; +enum{FORCES=1,ENERGY,PRESSURE,ERROR}; + +/* ---------------------------------------------------------------------- */ + +FixClientMD::FixClientMD(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + if (lmp->clientserver != 1) + error->all(FLERR,"Fix client/md requires LAMMPS be running as a client"); + if (!atom->map_style) error->all(FLERR,"Fix client/md requires atom map"); + + if (sizeof(tagint) != 4) + error->all(FLERR,"Fix client/md requires 4-byte atom IDs"); + + if (strcmp(update->unit_style,"real") == 0) units = REAL; + else if (strcmp(update->unit_style,"metal") == 0) units = METAL; + else units = OTHER; + + scalar_flag = 1; + global_freq = 1; + extscalar = 1; + virial_flag = 1; + thermo_virial = 1; + + inv_nprocs = 1.0 / comm->nprocs; + if (domain->dimension == 2) + box[0][2] = box[1][2] = box[2][0] = box[2][1] = box[2][2] = 0.0; + + maxatom = 0; + xpbc = NULL; + + // unit conversion factors for REAL + // otherwise not needed + // message received in METAL units, convert to local REAL units + + fconvert = econvert = pconvert = 1.0; + if (units == REAL) { + fconvert = econvert = 23.06035; // eV -> Kcal/mole + pconvert = 0.986923; // bars -> atmospheres + } +} + +/* ---------------------------------------------------------------------- */ + +FixClientMD::~FixClientMD() +{ + memory->destroy(xpbc); + + CSlib *cs = (CSlib *) lmp->cslib; + + // all-done message to server + + cs->send(-1,0); + + int nfield; + int *fieldID,*fieldtype,*fieldlen; + int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + + // clean-up + + delete cs; + lmp->cslib = NULL; +} + +/* ---------------------------------------------------------------------- */ + +int FixClientMD::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + mask |= MIN_POST_FORCE; + mask |= THERMO_ENERGY; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixClientMD::init() +{ + if (3*atom->natoms > INT_MAX) + error->all(FLERR,"Fix client/md max atoms is 1/3 of 2^31"); +} + +/* ---------------------------------------------------------------------- */ + +void FixClientMD::setup(int vflag) +{ + CSlib *cs = (CSlib *) lmp->cslib; + + // SETUP send at beginning of each run + // required fields: DIM, PERIODICTY, ORIGIN, BOX, NATOMS, NTYPES, TYPES, COORDS + // optional fields: others in enum above + + int nfields = 8; + if (units == OTHER) nfields++; + if (atom->q_flag) nfields++; + + cs->send(SETUP,nfields); + + cs->pack_int(DIM,domain->dimension); + cs->pack(PERIODICITY,1,3,domain->periodicity); + + pack_box(); + cs->pack(ORIGIN,4,3,domain->boxlo); + cs->pack(BOX,4,9,&box[0][0]); + + cs->pack_int(NATOMS,atom->natoms); + cs->pack_int(NTYPES,atom->ntypes); + + cs->pack_parallel(TYPES,1,atom->nlocal,atom->tag,1,atom->type); + pack_coords(); + cs->pack_parallel(COORDS,4,atom->nlocal,atom->tag,3,xpbc); + + if (units == OTHER) cs->pack_string(UNITS,update->unit_style); + + if (atom->q_flag) + cs->pack_parallel(CHARGE,4,atom->nlocal,atom->tag,1,atom->q); + + // receive initial forces, energy, virial + + receive_fev(vflag); + + if (server_error) { + char str[64]; + sprintf(str,"Fix client/md received server error %d\n",server_error); + error->all(FLERR,str); + } +} + +/* ---------------------------------------------------------------------- */ + +void FixClientMD::min_setup(int vflag) +{ + setup(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixClientMD::post_force(int vflag) +{ + int i,j,m; + + // energy and virial setup + + if (vflag) v_setup(vflag); + else evflag = 0; + + // STEP send every step + // required fields: COORDS + // optional fields: ORIGIN, BOX + + // send coords + + CSlib *cs = (CSlib *) lmp->cslib; + + int nfields = 1; + if (domain->box_change) nfields += 2; + + cs->send(STEP,nfields); + + pack_coords(); + cs->pack_parallel(COORDS,4,atom->nlocal,atom->tag,3,xpbc); + + if (domain->box_change) { + pack_box(); + cs->pack(ORIGIN,4,3,domain->boxlo); + cs->pack(BOX,4,9,&box[0][0]); + } + + // receive forces, energy, virial + + receive_fev(vflag); + + if (server_error) { + char str[64]; + sprintf(str,"Fix client/md received server error %d\n",server_error); + error->all(FLERR,str); + } +} + +/* ---------------------------------------------------------------------- */ + +void FixClientMD::min_post_force(int vflag) +{ + post_force(vflag); +} + +/* ---------------------------------------------------------------------- + potential energy from server +------------------------------------------------------------------------- */ + +double FixClientMD::compute_scalar() +{ + return eng; +} + +/* ---------------------------------------------------------------------- + pack local coords into xpbc, enforcing PBC +------------------------------------------------------------------------- */ + +void FixClientMD::pack_coords() +{ + double **x = atom->x; + int nlocal = atom->nlocal; + + if (nlocal > maxatom) { + memory->destroy(xpbc); + maxatom = atom->nmax; + memory->create(xpbc,3*maxatom,"message:xpbc"); + } + + memcpy(xpbc,&x[0][0],3*nlocal*sizeof(double)); + + int j = 0; + for (int i = 0; i < nlocal; i++) { + domain->remap(&xpbc[j]); + j += 3; + } +} + +/* ---------------------------------------------------------------------- + pack box info into box = 3 edge vectors of simulation box +------------------------------------------------------------------------- */ + +void FixClientMD::pack_box() +{ + double *boxlo = domain->boxlo; + double *boxhi = domain->boxhi; + + box[0][0] = boxhi[0] - boxlo[0]; + box[0][1] = 0.0; + box[0][2] = 0.0; + box[1][0] = domain->xy; + box[1][1] = boxhi[1] - boxlo[1]; + box[1][2] = 0.0; + box[2][0] = domain->xz; + box[2][1] = domain->yz; + box[2][2] = boxhi[2] - boxlo[2]; +} + +/* ---------------------------------------------------------------------- + receive message from server + required fields: FORCES, ENERGY, PRESSURE + optional field: ERROR +------------------------------------------------------------------------- */ + +void FixClientMD::receive_fev(int vflag) +{ + CSlib *cs = (CSlib *) lmp->cslib; + + int nfield; + int *fieldID,*fieldtype,*fieldlen; + + int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + + double *forces = (double *) cs->unpack(FORCES); + double **f = atom->f; + int nlocal = atom->nlocal; + bigint natoms = atom->natoms; + int m; + + int j = 0; + for (tagint id = 1; id <= natoms; id++) { + m = atom->map(id); + if (m < 0 || m >= nlocal) j += 3; + else { + f[m][0] += fconvert * forces[j++]; + f[m][1] += fconvert * forces[j++]; + f[m][2] += fconvert * forces[j++]; + } + } + + eng = econvert * cs->unpack_double(ENERGY); + + if (vflag) { + double *v = (double *) cs->unpack(PRESSURE); + + double nktv2p = force->nktv2p; + double volume = domain->xprd * domain->yprd * domain->zprd; + double factor = inv_nprocs * pconvert * volume / nktv2p; + + for (int i = 0; i < 6; i++) + virial[i] = factor * v[i]; + } + + // error return + + server_error = 0; + if (nfield == 4) server_error = cs->unpack_int(ERROR); +} diff --git a/src/MESSAGE/fix_client_md.h b/src/MESSAGE/fix_client_md.h new file mode 100644 index 0000000000..1c874c7278 --- /dev/null +++ b/src/MESSAGE/fix_client_md.h @@ -0,0 +1,65 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(client/md,FixClientMD) + +#else + +#ifndef LMP_FIX_CLIENT_MD_H +#define LMP_FIX_CLIENT_MD_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixClientMD : public Fix { + public: + FixClientMD(class LAMMPS *, int, char **); + ~FixClientMD(); + int setmask(); + void init(); + void setup(int); + void min_setup(int); + void post_force(int); + void min_post_force(int); + double compute_scalar(); + + private: + int maxatom,units,server_error; + double eng; + double inv_nprocs; + double fconvert,econvert,pconvert; + double box[3][3]; + double *xpbc; + + void pack_coords(); + void pack_box(); + void receive_fev(int); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +*/ diff --git a/src/MESSAGE/message.cpp b/src/MESSAGE/message.cpp new file mode 100644 index 0000000000..329ce1fbd9 --- /dev/null +++ b/src/MESSAGE/message.cpp @@ -0,0 +1,90 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include "message.h" +#include "error.h" + +// CSlib interface + +#include "cslib.h" + +using namespace LAMMPS_NS; +using namespace CSLIB_NS; + +// customize by adding a new server protocol enum + +enum{MD,MC}; + +/* ---------------------------------------------------------------------- */ + +void Message::command(int narg, char **arg) +{ + if (narg < 3) error->all(FLERR,"Illegal message command"); + + int clientserver; + if (strcmp(arg[0],"client") == 0) clientserver = 1; + else if (strcmp(arg[0],"server") == 0) clientserver = 2; + else error->all(FLERR,"Illegal message command"); + lmp->clientserver = clientserver; + + // customize by adding a new server protocol + + int protocol; + if (strcmp(arg[1],"md") == 0) protocol = MD; + else if (strcmp(arg[1],"mc") == 0) protocol = MC; + else error->all(FLERR,"Unknown message protocol"); + + // instantiate CSlib with chosen communication mode + + if (strcmp(arg[2],"file") == 0 || strcmp(arg[2],"zmq") == 0 || + strcmp(arg[2],"mpi/two") == 0) { + if (narg != 4) error->all(FLERR,"Illegal message command"); + lmp->cslib = new CSlib(clientserver-1,arg[2],arg[3],&world); + + } else if (strcmp(arg[2],"mpi/one") == 0) { + if (narg != 3) error->all(FLERR,"Illegal message command"); + if (!lmp->cscomm) + error->all(FLERR,"Message mpi/one mode, but -mpi cmdline arg not used"); + lmp->cslib = new CSlib(clientserver-1,arg[2],&lmp->cscomm,&world); + + } else error->all(FLERR,"Illegal message command"); + + // perform initial handshake between client and server + // other code being coupled to must perform similar operation + // client sends protocol with msgID = 0 + // server matches it and replies + + CSlib *cs = (CSlib *) lmp->cslib; + + if (clientserver == 1) { + cs->send(0,1); + cs->pack_string(1,arg[1]); + + int nfield; + int *fieldID,*fieldtype,*fieldlen; + int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + if (msgID != 0) error->one(FLERR,"Bad initial client/server handshake"); + + } else { + int nfield; + int *fieldID,*fieldtype,*fieldlen; + int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + if (msgID != 0) error->one(FLERR,"Bad initial client/server handshake"); + char *pstr = cs->unpack_string(1); + if (strcmp(pstr,arg[1]) != 0) + error->one(FLERR,"Mismatch in client/server protocol"); + + cs->send(0,0); + } +} diff --git a/src/MESSAGE/message.h b/src/MESSAGE/message.h new file mode 100644 index 0000000000..c384a5a7b7 --- /dev/null +++ b/src/MESSAGE/message.h @@ -0,0 +1,40 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMMAND_CLASS + +CommandStyle(message,Message) + +#else + +#ifndef LMP_MESSAGE_H +#define LMP_MESSAGE_H + +#include "pointers.h" + +namespace LAMMPS_NS { + +class Message : protected Pointers { + public: + Message(class LAMMPS *lmp) : Pointers(lmp) {}; + void command(int, char **); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/MESSAGE/server.cpp b/src/MESSAGE/server.cpp new file mode 100644 index 0000000000..f587fb76df --- /dev/null +++ b/src/MESSAGE/server.cpp @@ -0,0 +1,50 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include "server.h" +#include "error.h" + +// customize by adding a new server protocol include and enum + +#include "server_md.h" +#include "server_mc.h" + +using namespace LAMMPS_NS; + +enum{MD,MC}; + +/* ---------------------------------------------------------------------- */ + +void Server::command(int narg, char **arg) +{ + if (narg != 1) error->all(FLERR,"Illegal server command"); + + if (lmp->clientserver != 2) + error->all(FLERR,"Message command not used to setup LAMMPS as a server"); + + // customize by adding a new server protocol + + int protocol; + if (strcmp(arg[0],"md") == 0) protocol = MD; + else if (strcmp(arg[0],"mc") == 0) protocol = MC; + else error->all(FLERR,"Unknown message protocol"); + + if (protocol == MD) { + ServerMD *server = new ServerMD(lmp); + server->loop(); + } else if (protocol == MC) { + ServerMC *server = new ServerMC(lmp); + server->loop(); + } +} diff --git a/src/MESSAGE/server.h b/src/MESSAGE/server.h new file mode 100644 index 0000000000..579f6ab6f1 --- /dev/null +++ b/src/MESSAGE/server.h @@ -0,0 +1,40 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef COMMAND_CLASS + +CommandStyle(server,Server) + +#else + +#ifndef LMP_SERVER_H +#define LMP_SERVER_H + +#include "pointers.h" + +namespace LAMMPS_NS { + +class Server : protected Pointers { + public: + Server(class LAMMPS *lmp) : Pointers(lmp) {}; + void command(int, char **); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +*/ diff --git a/src/MESSAGE/server_mc.cpp b/src/MESSAGE/server_mc.cpp new file mode 100644 index 0000000000..8a7344e86b --- /dev/null +++ b/src/MESSAGE/server_mc.cpp @@ -0,0 +1,148 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "server_mc.h" +#include "atom.h" +#include "update.h" +#include "integrate.h" +#include "input.h" +#include "output.h" +#include "thermo.h" +#include "error.h" + +// CSlib interface + +#include "cslib.h" + +using namespace LAMMPS_NS; +using namespace CSLIB_NS; + +enum{NATOMS=1,EINIT,DISPLACE,ACCEPT,RUN}; + +/* ---------------------------------------------------------------------- */ + +ServerMC::ServerMC(LAMMPS *lmp) : Pointers(lmp) {} + +/* ---------------------------------------------------------------------- */ + +void ServerMC::loop() +{ + int i,j,m; + double xold[3],xnew[3]; + tagint atomid; + + CSlib *cs = (CSlib *) lmp->cslib; + + // require atom map + + if (!atom->map_style) error->all(FLERR,"Server mode requires atom map"); + + // initialize LAMMPS for dynamics + + input->one("run 0"); + + //update->whichflag = 1; + //lmp->init(); + + // loop on messages + // receive a message, process it, send return message if necessary + + int msgID,nfield; + int *fieldID,*fieldtype,*fieldlen; + + while (1) { + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + if (msgID < 0) break; + + if (msgID == NATOMS) { + + cs->send(msgID,1); + cs->pack_int(1,atom->natoms); + + } else if (msgID == EINIT) { + + double dval; + output->thermo->evaluate_keyword((char *) "pe",&dval); + + cs->send(msgID,2); + cs->pack_double(1,dval); + double *coords = NULL; + if (atom->nlocal) coords = &atom->x[0][0]; + cs->pack_parallel(2,4,atom->nlocal,atom->tag,3,coords); + + } else if (msgID == DISPLACE) { + + atomid = cs->unpack_int(1); + double *xnew = (double *) cs->unpack(2); + double **x = atom->x; + + m = atom->map(atomid); + if (m >= 0 && m < atom->nlocal) { + xold[0] = x[m][0]; + xold[1] = x[m][1]; + xold[2] = x[m][2]; + x[m][0] = xnew[0]; + x[m][1] = xnew[1]; + x[m][2] = xnew[2]; + } + + input->one("run 0"); + double dval; + output->thermo->evaluate_keyword((char *) "pe",&dval); + + cs->send(msgID,1); + cs->pack_double(1,dval); + + } else if (msgID == ACCEPT) { + + int accept = cs->unpack_int(1); + double **x = atom->x; + + if (!accept) { + m = atom->map(atomid); + if (m >= 0 && m < atom->nlocal) { + x[m][0] = xold[0]; + x[m][1] = xold[1]; + x[m][2] = xold[2]; + } + } + + cs->send(msgID,0); + + } else if (msgID == RUN) { + + int nsteps = cs->unpack_int(1); + + //input->one("run 100"); + + update->nsteps = nsteps; + update->firststep = update->ntimestep; + update->laststep = update->ntimestep + nsteps; + + update->integrate->setup(1); + update->integrate->run(nsteps); + + cs->send(msgID,0); + + } else error->all(FLERR,"Server received unrecognized message"); + } + + // final reply to client + + cs->send(0,0); + + // clean up + + delete cs; + lmp->cslib = NULL; +} diff --git a/src/MESSAGE/server_mc.h b/src/MESSAGE/server_mc.h new file mode 100644 index 0000000000..d0fb489429 --- /dev/null +++ b/src/MESSAGE/server_mc.h @@ -0,0 +1,29 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_SERVER_MC_H +#define LMP_SERVER_MC_H + +#include "pointers.h" + +namespace LAMMPS_NS { + +class ServerMC : protected Pointers { + public: + ServerMC(class LAMMPS *); + void loop(); +}; + +} + +#endif diff --git a/src/MESSAGE/server_md.cpp b/src/MESSAGE/server_md.cpp new file mode 100644 index 0000000000..aa771b7d46 --- /dev/null +++ b/src/MESSAGE/server_md.cpp @@ -0,0 +1,389 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include +#include +#include "server_md.h" +#include "atom.h" +#include "atom_vec.h" +#include "update.h" +#include "integrate.h" +#include "kspace.h" +#include "force.h" +#include "pair.h" +#include "neighbor.h" +#include "comm.h" +#include "domain.h" +#include "memory.h" +#include "error.h" + +// CSlib interface + +#include "cslib.h" + +using namespace LAMMPS_NS; +using namespace CSLIB_NS; + +enum{OTHER,REAL,METAL}; +enum{SETUP=1,STEP}; +enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; +enum{FORCES=1,ENERGY,PRESSURE,ERROR}; + +/* ---------------------------------------------------------------------- */ + +ServerMD::ServerMD(LAMMPS *lmp) : Pointers(lmp) +{ + if (domain->box_exist == 0) + error->all(FLERR,"Server command before simulation box is defined"); + + if (!atom->map_style) error->all(FLERR,"Server md requires atom map"); + if (atom->tag_enable == 0) error->all(FLERR,"Server md requires atom IDs"); + if (sizeof(tagint) != 4) error->all(FLERR,"Server md requires 4-byte atom IDs"); + + if (strcmp(update->unit_style,"real") == 0) units = REAL; + else if (strcmp(update->unit_style,"metal") == 0) units = METAL; + else units = OTHER; + + // unit conversion factors for REAL + // otherwise not needed + // local computation in REAL units, send message in METAL units + + fconvert = econvert = pconvert = 1.0; + if (units == REAL) { + fconvert = econvert = 1.0 / 23.06035; // Kcal/mole -> eV + pconvert = 1.0 / 0.986923; // atmospheres -> bars + } + + fcopy = NULL; +} + +/* ---------------------------------------------------------------------- */ + +ServerMD::~ServerMD() +{ + memory->destroy(fcopy); +} + +/* ---------------------------------------------------------------------- */ + +void ServerMD::loop() +{ + int i,j,m; + + // cs = instance of CSlib + + CSlib *cs = (CSlib *) lmp->cslib; + + // counters + + int forcecalls = 0; + int neighcalls = 0; + + // loop on messages + // receive a message, process it, send return message + + int msgID,nfield; + int *fieldID,*fieldtype,*fieldlen; + + while (1) { + msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen); + if (msgID < 0) break; + + // SETUP receive at beginning of each run + // required fields: DIM, PERIODICTY, ORIGIN, BOX, + // NATOMS, NTYPES, TYPES, COORDS + // optional fields: others in enum above + + if (msgID == SETUP) { + + int dim = 0; + int *periodicity = NULL; + int natoms = -1; + int ntypes = -1; + double *origin = NULL; + double *box = NULL; + int *types = NULL; + double *coords = NULL; + char *unit_style = NULL; + double *charge = NULL; + + for (int ifield = 0; ifield < nfield; ifield++) { + if (fieldID[ifield] == DIM) { + dim = cs->unpack_int(DIM); + if (dim != domain->dimension) + error->all(FLERR,"Server md dimension mis-match with client"); + } else if (fieldID[ifield] == PERIODICITY) { + periodicity = (int *) cs->unpack(PERIODICITY); + if (periodicity[0] != domain->periodicity[0] || + periodicity[1] != domain->periodicity[1] || + periodicity[2] != domain->periodicity[2]) + error->all(FLERR,"Server md periodicity mis-match with client"); + } else if (fieldID[ifield] == ORIGIN) { + origin = (double *) cs->unpack(ORIGIN); + } else if (fieldID[ifield] == BOX) { + box = (double *) cs->unpack(BOX); + } else if (fieldID[ifield] == NATOMS) { + natoms = cs->unpack_int(NATOMS); + if (3*natoms > INT_MAX) + error->all(FLERR,"Server md max atoms is 1/3 of 2^31"); + } else if (fieldID[ifield] == NTYPES) { + ntypes = cs->unpack_int(NTYPES); + if (ntypes != atom->ntypes) + error->all(FLERR,"Server md ntypes mis-match with client"); + } else if (fieldID[ifield] == TYPES) { + types = (int *) cs->unpack(TYPES); + } else if (fieldID[ifield] == COORDS) { + coords = (double *) cs->unpack(COORDS); + + } else if (fieldID[ifield] == UNITS) { + unit_style = (char *) cs->unpack(UNITS); + } else if (fieldID[ifield] == CHARGE) { + charge = (double *) cs->unpack(CHARGE); + } else error->all(FLERR,"Server md setup field unknown"); + } + + if (dim == 0 || !periodicity || !origin || !box || + natoms < 0 || ntypes < 0 || !types || !coords) + error->all(FLERR,"Required server md setup field not received"); + + if (unit_style && strcmp(unit_style,update->unit_style) != 0) + error->all(FLERR,"Server md does not match client units"); + + if (charge && atom->q_flag == 0) + error->all(FLERR,"Server md does not define atom attribute q"); + + // reset box, global and local + // reset proc decomposition + + if ((box[3] != 0.0 || box[6] != 0.0 || box[7] != 0.0) && + domain->triclinic == 0) + error->all(FLERR,"Server md is not initialized for a triclinic box"); + + box_change(origin,box); + + domain->set_initial_box(); + domain->set_global_box(); + comm->set_proc_grid(); + domain->set_local_box(); + + // clear all atoms + + atom->nlocal = 0; + atom->nghost = 0; + + // add atoms that are in my sub-box + + int nlocal = 0; + for (int i = 0; i < natoms; i++) { + if (!domain->ownatom(i+1,&coords[3*i],NULL,0)) continue; + atom->avec->create_atom(types[i],&coords[3*i]); + atom->tag[nlocal] = i+1; + if (charge) atom->q[nlocal] = charge[i]; + nlocal++; + } + + int ntotal; + MPI_Allreduce(&atom->nlocal,&ntotal,1,MPI_INT,MPI_SUM,world); + if (ntotal != natoms) + error->all(FLERR,"Server md atom count does not match client"); + + atom->map_init(); + atom->map_set(); + atom->natoms = natoms; + + // allocate fcopy if needed + + if (units == REAL) { + memory->destroy(fcopy); + memory->create(fcopy,atom->nlocal,3,"server/md:fcopy"); + } + + // perform system setup() for dynamics + // also OK for minimization, since client runs minimizer + // return forces, energy, virial to client + + update->whichflag = 1; + lmp->init(); + update->integrate->setup_minimal(1); + neighcalls++; + forcecalls++; + + send_fev(msgID); + + // STEP receive at each timestep of run or minimization + // required fields: COORDS + // optional fields: ORIGIN, BOX + + } else if (msgID == STEP) { + + double *coords = NULL; + double *origin = NULL; + double *box = NULL; + + for (int ifield = 0; ifield < nfield; ifield++) { + if (fieldID[ifield] == COORDS) { + coords = (double *) cs->unpack(COORDS); + } else if (fieldID[ifield] == ORIGIN) { + origin = (double *) cs->unpack(ORIGIN); + } else if (fieldID[ifield] == BOX) { + box = (double *) cs->unpack(BOX); + } else error->all(FLERR,"Server md step field unknown"); + } + + if (!coords) + error->all(FLERR,"Required server md step field not received"); + + // change box size/shape, only if origin and box received + // reset global/local box like FixDeform at end_of_step() + + if (origin && box) { + if ((box[3] != 0.0 || box[6] != 0.0 || box[7] != 0.0) && + domain->triclinic == 0) + error->all(FLERR,"Server md is not initialized for a triclinic box"); + box_change(origin,box); + domain->set_global_box(); + domain->set_local_box(); + } + + // assign received coords to owned atoms + // closest_image() insures xyz matches current server PBC + + double **x = atom->x; + int nlocal = atom->nlocal; + int nall = atom->natoms; + + j = 0; + for (tagint id = 1; id <= nall; id++) { + m = atom->map(id); + if (m < 0 || m >= nlocal) j += 3; + else { + domain->closest_image(x[m],&coords[j],x[m]); + j += 3; + } + } + + // if no need to reneighbor: + // ghost comm + // setup_minimal(0) which just computes forces + // else: + // setup_minimal(1) for pbc, reset_box, reneigh, forces + + int nflag = neighbor->decide(); + if (nflag == 0) { + comm->forward_comm(); + update->integrate->setup_minimal(0); + } else { + update->integrate->setup_minimal(1); + neighcalls++; + } + + forcecalls++; + + send_fev(msgID); + + } else error->all(FLERR,"Server MD received unrecognized message"); + } + + // final reply to client + + cs->send(0,0); + + // stats + + if (comm->me == 0) { + if (screen) { + fprintf(screen,"Server MD calls = %d\n",forcecalls); + fprintf(screen,"Server MD reneighborings = %d\n",neighcalls); + } + if (logfile) { + fprintf(logfile,"Server MD calls = %d\n",forcecalls); + fprintf(logfile,"Server MD reneighborings %d\n",neighcalls); + } + } + + // clean up + + delete cs; + lmp->cslib = NULL; +} + +/* ---------------------------------------------------------------------- + box change due to received message +------------------------------------------------------------------------- */ + +void ServerMD::box_change(double *origin, double *box) +{ + domain->boxlo[0] = origin[0]; + domain->boxlo[1] = origin[1]; + domain->boxlo[2] = origin[2]; + + domain->boxhi[0] = origin[0] + box[0]; + domain->boxhi[1] = origin[1] + box[4]; + domain->boxhi[2] = origin[2] + box[8]; + + domain->xy = box[3]; + domain->xz = box[6]; + domain->yz = box[7]; +} + +/* ---------------------------------------------------------------------- + return message with forces, energy, pressure tensor + pressure tensor should be just pair and KSpace contributions + required fields: FORCES, ENERGY, PRESSURE + optional field: ERROR (not ever sending) +------------------------------------------------------------------------- */ + +void ServerMD::send_fev(int msgID) +{ + CSlib *cs = (CSlib *) lmp->cslib; + + cs->send(msgID,3); + + double *forces = NULL; + if (atom->nlocal) { + if (units != REAL) forces = &atom->f[0][0]; + else { + double **f = atom->f; + int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; i++) { + fcopy[i][0] = fconvert*f[i][0]; + fcopy[i][1] = fconvert*f[i][1]; + fcopy[i][2] = fconvert*f[i][2]; + } + forces = &fcopy[0][0]; + } + } + cs->pack_parallel(FORCES,4,atom->nlocal,atom->tag,3,forces); + + double eng = force->pair->eng_vdwl + force->pair->eng_coul; + double engall; + MPI_Allreduce(&eng,&engall,1,MPI_DOUBLE,MPI_SUM,world); + engall *= econvert; + cs->pack_double(ENERGY,engall); + + double v[6],vall[6]; + for (int i = 0; i < 6; i++) + v[i] = force->pair->virial[i]; + MPI_Allreduce(&v,&vall,6,MPI_DOUBLE,MPI_SUM,world); + + if (force->kspace) + for (int i = 0; i < 6; i++) + vall[i] += force->kspace->virial[i]; + + double nktv2p = force->nktv2p; + double volume = domain->xprd * domain->yprd * domain->zprd; + double factor = pconvert / volume * nktv2p; + for (int i = 0; i < 6; i++) vall[i] *= factor; + + cs->pack(PRESSURE,4,6,vall); +} diff --git a/src/MESSAGE/server_md.h b/src/MESSAGE/server_md.h new file mode 100644 index 0000000000..289d70bdd8 --- /dev/null +++ b/src/MESSAGE/server_md.h @@ -0,0 +1,38 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_SERVER_MD_H +#define LMP_SERVER_MD_H + +#include "pointers.h" + +namespace LAMMPS_NS { + +class ServerMD : protected Pointers { + public: + ServerMD(class LAMMPS *); + ~ServerMD(); + void loop(); + + private: + int units; + double fconvert,econvert,pconvert; + double **fcopy; + + void box_change(double *, double *); + void send_fev(int); +}; + +} + +#endif diff --git a/src/Makefile b/src/Makefile index 948d203cfe..b9cabfd67b 100644 --- a/src/Makefile +++ b/src/Makefile @@ -53,7 +53,7 @@ endif # PACKEXT = subset that require an external (downloaded) library PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ - granular kim kokkos kspace latte manybody mc meam misc \ + granular kim kokkos kspace latte manybody mc meam message misc \ molecule mpiio mscg opt peri poems \ python qeq reax replica rigid shock snap spin srd voronoi @@ -65,14 +65,14 @@ PACKUSER = user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \ user-quip user-reaxc user-smd user-smtbq user-sph user-tally \ user-uef user-vtk -PACKLIB = compress gpu kim kokkos latte meam mpiio mscg poems \ +PACKLIB = compress gpu kim kokkos latte meam message mpiio mscg poems \ python reax voronoi \ user-atc user-awpmd user-colvars user-h5md user-lb user-molfile \ user-netcdf user-qmmm user-quip user-smd user-vtk PACKSYS = compress mpiio python user-lb -PACKINT = gpu kokkos meam poems reax user-atc user-awpmd user-colvars +PACKINT = gpu kokkos meam message poems reax user-atc user-awpmd user-colvars PACKEXT = kim mscg voronoi \ user-h5md user-molfile user-netcdf user-qmmm user-quip \ diff --git a/src/USER-MISC/pair_morse_smooth_linear.cpp b/src/USER-MISC/pair_morse_smooth_linear.cpp index 328c1bd27b..4181fd5479 100644 --- a/src/USER-MISC/pair_morse_smooth_linear.cpp +++ b/src/USER-MISC/pair_morse_smooth_linear.cpp @@ -30,7 +30,6 @@ using namespace LAMMPS_NS; PairMorseSmoothLinear::PairMorseSmoothLinear(LAMMPS *lmp) : Pair(lmp) { writedata = 1; - } /* ---------------------------------------------------------------------- */ @@ -117,7 +116,7 @@ void PairMorseSmoothLinear::compute(int eflag, int vflag) if (eflag) { evdwl = d0[itype][jtype] * (dexp*dexp - 2.0*dexp) - - offset[itype][jtype]; + offset[itype][jtype]; evdwl -= ( r - cut[itype][jtype] ) * der_at_cutoff[itype][jtype]; evdwl *= factor_lj; } @@ -203,6 +202,14 @@ void PairMorseSmoothLinear::coeff(int narg, char **arg) alpha[i][j] = alpha_one; r0[i][j] = r0_one; cut[i][j] = cut_one; + + morse1[i][j] = 2.0*d0[i][j]*alpha[i][j]; + + double alpha_dr = -alpha[i][j] * (cut[i][j] - r0[i][j]); + + offset[i][j] = d0[i][j] * (exp(2.0*alpha_dr) - 2.0*exp(alpha_dr)); + der_at_cutoff[i][j] = -2.0*alpha[i][j]*d0[i][j] * (exp(2.0*alpha_dr) - exp(alpha_dr)); + setflag[i][j] = 1; count++; } @@ -222,17 +229,13 @@ double PairMorseSmoothLinear::init_one(int i, int j) morse1[i][j] = 2.0*d0[i][j]*alpha[i][j]; - double alpha_dr = -alpha[i][j] * (cut[i][j] - r0[i][j]); - - offset[i][j] = d0[i][j] * (exp(2.0*alpha_dr) - 2.0*exp(alpha_dr)); - der_at_cutoff[i][j] = -2.0*alpha[i][j]*d0[i][j] * (exp(2.0*alpha_dr) - exp(alpha_dr)); - d0[j][i] = d0[i][j]; alpha[j][i] = alpha[i][j]; r0[j][i] = r0[i][j]; morse1[j][i] = morse1[i][j]; der_at_cutoff[j][i] = der_at_cutoff[i][j]; offset[j][i] = offset[i][j]; + cut[j][i] = cut[i][j]; return cut[i][j]; } diff --git a/src/atom.cpp b/src/atom.cpp index eb2f357890..95f5406d95 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1533,7 +1533,8 @@ void Atom::set_mass(const char *file, int line, int /*narg*/, char **arg) } /* ---------------------------------------------------------------------- - set all masses as read in from restart file + set all masses + called from reading of restart file, also from ServerMD ------------------------------------------------------------------------- */ void Atom::set_mass(double *values) diff --git a/src/domain.cpp b/src/domain.cpp index 1eb848fe06..8238ab7eea 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -1176,12 +1176,12 @@ int Domain::closest_image(int i, int j) if J is not a valid index like -1, just return it ------------------------------------------------------------------------- */ -int Domain::closest_image(double *pos, int j) +int Domain::closest_image(const double * const pos, int j) { if (j < 0) return j; - int *sametag = atom->sametag; - double **x = atom->x; + const int * const sametag = atom->sametag; + const double * const * const x = atom->x; int closest = j; double delx = pos[0] - x[j][0]; @@ -1208,13 +1208,10 @@ int Domain::closest_image(double *pos, int j) /* ---------------------------------------------------------------------- find and return Xj image = periodic image of Xj that is closest to Xi for triclinic, add/subtract tilt factors in other dims as needed - not currently used (Jan 2017): - used to be called by pair TIP4P styles but no longer, - due to use of other closest_image() method + called by ServerMD class and LammpsInterface in lib/atc. ------------------------------------------------------------------------- */ -void Domain::closest_image(const double * const xi, const double * const xj, - double * const xjimage) +void Domain::closest_image(const double * const xi, const double * const xj, double * const xjimage) { double dx = xj[0] - xi[0]; double dy = xj[1] - xi[1]; diff --git a/src/domain.h b/src/domain.h index 5581f9a45f..9ebdd6ae94 100644 --- a/src/domain.h +++ b/src/domain.h @@ -115,9 +115,8 @@ class Domain : protected Pointers { void minimum_image(double *); void minimum_image_once(double *); int closest_image(int, int); - int closest_image(double *, int); - void closest_image(const double * const, const double * const, - double * const); + int closest_image(const double * const, int); + void closest_image(const double * const, const double * const, double * const); void remap(double *, imageint &); void remap(double *); void remap_near(double *, double *); diff --git a/src/fix_tmd.cpp b/src/fix_tmd.cpp index ea448bd178..dd11dfd0c7 100644 --- a/src/fix_tmd.cpp +++ b/src/fix_tmd.cpp @@ -412,7 +412,7 @@ void FixTMD::readfile(char *file) m++; } - MPI_Bcast(&eof,sizeof(char *)/sizeof(char),MPI_CHAR,0,world); + MPI_Bcast(&eof,sizeof(char *),MPI_CHAR,0,world); MPI_Bcast(&nlines,1,MPI_INT,0,world); MPI_Bcast(&m,1,MPI_INT,0,world); MPI_Bcast(buffer,m,MPI_CHAR,0,world); diff --git a/src/lammps.cpp b/src/lammps.cpp index b73b62537f..21335065f4 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -47,8 +47,8 @@ #include "accelerator_omp.h" #include "timer.h" #include "python.h" -#include "memory.h" #include "version.h" +#include "memory.h" #include "error.h" #include "lmpinstalledpkgs.h" @@ -73,12 +73,46 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) output = NULL; python = NULL; + clientserver = 0; + cslib = NULL; + cscomm = 0; + screen = NULL; logfile = NULL; infile = NULL; initclock = MPI_Wtime(); + // check if -mpi is first arg + // if so, then 2 apps were launched with one mpirun command + // this means passed communicator (e.g. MPI_COMM_WORLD) is bigger than LAMMPS + // e.g. for client/server coupling with another code + // in the future LAMMPS might leverage this in other ways + // universe communicator needs to shrink to be just LAMMPS + // syntax: -mpi color + // color = integer for this app, different than other app(s) + // do the following: + // perform an MPI_Comm_split() to create a new LAMMPS-only subcomm + // NOTE: this assumes other app(s) does same thing, else will hang! + // re-create universe with subcomm + // store full multi-app comm in cscomm + // cscomm is used by CSLIB package to exchange messages w/ other app + + int iarg = 1; + if (narg-iarg >= 2 && (strcmp(arg[iarg],"-mpi") == 0 || + strcmp(arg[iarg],"-m") == 0)) { + int me,nprocs; + MPI_Comm_rank(communicator,&me); + MPI_Comm_size(communicator,&nprocs); + int color = atoi(arg[iarg+1]); + MPI_Comm subcomm; + MPI_Comm_split(communicator,color,me,&subcomm); + cscomm = communicator; + communicator = subcomm; + delete universe; + universe = new Universe(this,communicator); + } + // parse input switches int inflag = 0; @@ -107,59 +141,30 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) int *pfirst = NULL; int *plast = NULL; - int iarg = 1; + iarg = 1; while (iarg < narg) { - if (strcmp(arg[iarg],"-partition") == 0 || - strcmp(arg[iarg],"-p") == 0) { - universe->existflag = 1; + + if (strcmp(arg[iarg],"-echo") == 0 || + strcmp(arg[iarg],"-e") == 0) { if (iarg+2 > narg) error->universe_all(FLERR,"Invalid command-line argument"); - iarg++; - while (iarg < narg && arg[iarg][0] != '-') { - universe->add_world(arg[iarg]); - iarg++; - } + iarg += 2; + + } else if (strcmp(arg[iarg],"-help") == 0 || + strcmp(arg[iarg],"-h") == 0) { + if (iarg+1 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + helpflag = 1; + citeflag = 0; + iarg += 1; + } else if (strcmp(arg[iarg],"-in") == 0 || strcmp(arg[iarg],"-i") == 0) { if (iarg+2 > narg) error->universe_all(FLERR,"Invalid command-line argument"); inflag = iarg + 1; iarg += 2; - } else if (strcmp(arg[iarg],"-screen") == 0 || - strcmp(arg[iarg],"-sc") == 0) { - if (iarg+2 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - screenflag = iarg + 1; - iarg += 2; - } else if (strcmp(arg[iarg],"-log") == 0 || - strcmp(arg[iarg],"-l") == 0) { - if (iarg+2 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - logflag = iarg + 1; - iarg += 2; - } else if (strcmp(arg[iarg],"-var") == 0 || - strcmp(arg[iarg],"-v") == 0) { - if (iarg+3 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - iarg += 3; - while (iarg < narg && arg[iarg][0] != '-') iarg++; - } else if (strcmp(arg[iarg],"-echo") == 0 || - strcmp(arg[iarg],"-e") == 0) { - if (iarg+2 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - iarg += 2; - } else if (strcmp(arg[iarg],"-pscreen") == 0 || - strcmp(arg[iarg],"-ps") == 0) { - if (iarg+2 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - partscreenflag = iarg + 1; - iarg += 2; - } else if (strcmp(arg[iarg],"-plog") == 0 || - strcmp(arg[iarg],"-pl") == 0) { - if (iarg+2 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - partlogflag = iarg + 1; - iarg += 2; + } else if (strcmp(arg[iarg],"-kokkos") == 0 || strcmp(arg[iarg],"-k") == 0) { if (iarg+2 > narg) @@ -172,6 +177,26 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) kkfirst = iarg; while (iarg < narg && arg[iarg][0] != '-') iarg++; kklast = iarg; + + } else if (strcmp(arg[iarg],"-log") == 0 || + strcmp(arg[iarg],"-l") == 0) { + if (iarg+2 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + logflag = iarg + 1; + iarg += 2; + + } else if (strcmp(arg[iarg],"-mpi") == 0 || + strcmp(arg[iarg],"-m") == 0) { + if (iarg+2 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + if (iarg != 1) error->universe_all(FLERR,"Invalid command-line argument"); + iarg += 2; + + } else if (strcmp(arg[iarg],"-nocite") == 0 || + strcmp(arg[iarg],"-nc") == 0) { + citeflag = 0; + iarg++; + } else if (strcmp(arg[iarg],"-package") == 0 || strcmp(arg[iarg],"-pk") == 0) { if (iarg+2 > narg) @@ -188,31 +213,32 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) else break; } plast[npack++] = iarg; - } else if (strcmp(arg[iarg],"-suffix") == 0 || - strcmp(arg[iarg],"-sf") == 0) { + + } else if (strcmp(arg[iarg],"-partition") == 0 || + strcmp(arg[iarg],"-p") == 0) { + universe->existflag = 1; if (iarg+2 > narg) error->universe_all(FLERR,"Invalid command-line argument"); - delete [] suffix; - delete [] suffix2; - suffix2 = NULL; - suffix_enable = 1; - // hybrid option to set fall-back for suffix2 - if (strcmp(arg[iarg+1],"hybrid") == 0) { - if (iarg+4 > narg) - error->universe_all(FLERR,"Invalid command-line argument"); - int n = strlen(arg[iarg+2]) + 1; - suffix = new char[n]; - strcpy(suffix,arg[iarg+2]); - n = strlen(arg[iarg+3]) + 1; - suffix2 = new char[n]; - strcpy(suffix2,arg[iarg+3]); - iarg += 4; - } else { - int n = strlen(arg[iarg+1]) + 1; - suffix = new char[n]; - strcpy(suffix,arg[iarg+1]); - iarg += 2; + iarg++; + while (iarg < narg && arg[iarg][0] != '-') { + universe->add_world(arg[iarg]); + iarg++; } + + } else if (strcmp(arg[iarg],"-plog") == 0 || + strcmp(arg[iarg],"-pl") == 0) { + if (iarg+2 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + partlogflag = iarg + 1; + iarg += 2; + + } else if (strcmp(arg[iarg],"-pscreen") == 0 || + strcmp(arg[iarg],"-ps") == 0) { + if (iarg+2 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + partscreenflag = iarg + 1; + iarg += 2; + } else if (strcmp(arg[iarg],"-reorder") == 0 || strcmp(arg[iarg],"-ro") == 0) { if (iarg+3 > narg) @@ -221,6 +247,7 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) error->universe_all(FLERR,"Cannot use -reorder after -partition"); universe->reorder(arg[iarg+1],arg[iarg+2]); iarg += 3; + } else if (strcmp(arg[iarg],"-restart") == 0 || strcmp(arg[iarg],"-r") == 0) { if (iarg+3 > narg) @@ -241,22 +268,47 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) wdfirst = iarg; while (iarg < narg && arg[iarg][0] != '-') iarg++; wdlast = iarg; - } else if (strcmp(arg[iarg],"-nocite") == 0 || - strcmp(arg[iarg],"-nc") == 0) { - citeflag = 0; - iarg++; - } else if (strcmp(arg[iarg],"-help") == 0 || - strcmp(arg[iarg],"-h") == 0) { - if (iarg+1 > narg) + + } else if (strcmp(arg[iarg],"-screen") == 0 || + strcmp(arg[iarg],"-sc") == 0) { + if (iarg+2 > narg) error->universe_all(FLERR,"Invalid command-line argument"); - helpflag = 1; - citeflag = 0; - iarg += 1; - } else { - char msg[2048]; - sprintf( msg, "Invalid command-line argument \"%s\"\n", arg[iarg] ); - error->universe_all(FLERR,msg); - } + screenflag = iarg + 1; + iarg += 2; + + } else if (strcmp(arg[iarg],"-suffix") == 0 || + strcmp(arg[iarg],"-sf") == 0) { + if (iarg+2 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + delete [] suffix; + delete [] suffix2; + suffix2 = NULL; + suffix_enable = 1; + // hybrid option to set fall-back for suffix2 + if (strcmp(arg[iarg+1],"hybrid") == 0) { + if (iarg+4 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + int n = strlen(arg[iarg+2]) + 1; + suffix = new char[n]; + strcpy(suffix,arg[iarg+2]); + n = strlen(arg[iarg+3]) + 1; + suffix2 = new char[n]; + strcpy(suffix2,arg[iarg+3]); + iarg += 4; + } else { + int n = strlen(arg[iarg+1]) + 1; + suffix = new char[n]; + strcpy(suffix,arg[iarg+1]); + iarg += 2; + } + + } else if (strcmp(arg[iarg],"-var") == 0 || + strcmp(arg[iarg],"-v") == 0) { + if (iarg+3 > narg) + error->universe_all(FLERR,"Invalid command-line argument"); + iarg += 3; + while (iarg < narg && arg[iarg][0] != '-') iarg++; + } // if no partition command-line switch, universe is one world with all procs @@ -599,6 +651,14 @@ LAMMPS::~LAMMPS() delete [] suffix; delete [] suffix2; + // free the MPI comm created by -mpi command-line arg processed in constructor + // it was passed to universe as if original universe world + // may have been split later by partitions, universe will free the splits + // free a copy of uorig here, so check in universe destructor will still work + + MPI_Comm copy = universe->uorig; + if (cscomm) MPI_Comm_free(©); + delete input; delete universe; delete error; @@ -818,6 +878,7 @@ void LAMMPS::help() "-in filename : read input from file, not stdin (-i)\n" "-kokkos on/off ... : turn KOKKOS mode on or off (-k)\n" "-log none/filename : where to send log output (-l)\n" + "-mpicolor color : which exe in a multi-exe mpirun cmd (-m)\n" "-nocite : disable writing log.cite file (-nc)\n" "-package style ... : invoke package command (-pk)\n" "-partition size1 size2 ... : assign partition sizes (-p)\n" diff --git a/src/lammps.h b/src/lammps.h index b2c8673471..5ccef3026e 100644 --- a/src/lammps.h +++ b/src/lammps.h @@ -51,6 +51,10 @@ class LAMMPS { int num_package; // number of cmdline package commands int cite_enable; // 1 if generating log.cite, 0 if disabled + int clientserver; // 0 = neither, 1 = client, 2 = server + void *cslib; // client/server messaging via CSlib + MPI_Comm cscomm; // MPI comm for client+server in mpi/one mode + class KokkosLMP *kokkos; // KOKKOS accelerator class class AtomKokkos *atomKK; // KOKKOS version of Atom class class MemoryKokkos *memoryKK; // KOKKOS version of Memory class diff --git a/src/library.cpp b/src/library.cpp index 245ae7ba84..a46689da09 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -1515,7 +1515,8 @@ void lammps_create_atoms(void *ptr, int n, tagint *id, int *type, if (lmp->atom->natoms != natoms_prev + n) { char str[128]; sprintf(str,"Library warning in lammps_create_atoms, " - "invalid total atoms " BIGINT_FORMAT " %lld",lmp->atom->natoms,natoms_prev+n); + "invalid total atoms " BIGINT_FORMAT " " BIGINT_FORMAT, + lmp->atom->natoms,natoms_prev+n); if (lmp->comm->me == 0) lmp->error->warning(FLERR,str); } diff --git a/src/version.h b/src/version.h index 2192b25d91..fbeeabff8d 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "22 Aug 2018" +#define LAMMPS_VERSION "31 Aug 2018" -- GitLab From c192236a7e50a4a83e0fdca78fffa9174f1ee790 Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Wed, 5 Sep 2018 11:28:06 -0400 Subject: [PATCH 655/675] Commit before switching to old master. --- src/lammps.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lammps.cpp b/src/lammps.cpp index 21335065f4..fcdfecf30a 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -309,6 +309,7 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) iarg += 3; while (iarg < narg && arg[iarg][0] != '-') iarg++; + } else error->universe_all(FLERR,"Invalid command-line argument"); } // if no partition command-line switch, universe is one world with all procs -- GitLab From 1c8feed69fa0d364c752ac768af263263c297db2 Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Wed, 5 Sep 2018 11:38:04 -0400 Subject: [PATCH 656/675] Removed gpu makefile from wrong branch. --- lib/gpu/Makefile.linux | 52 ------------------------------------------ 1 file changed, 52 deletions(-) delete mode 100644 lib/gpu/Makefile.linux diff --git a/lib/gpu/Makefile.linux b/lib/gpu/Makefile.linux deleted file mode 100644 index b0218c8d39..0000000000 --- a/lib/gpu/Makefile.linux +++ /dev/null @@ -1,52 +0,0 @@ -# /* ---------------------------------------------------------------------- -# Generic Linux Makefile for CUDA -# - Change CUDA_ARCH for your GPU -# ------------------------------------------------------------------------- */ - -# which file will be copied to Makefile.lammps - -EXTRAMAKE = Makefile.lammps.standard - -ifeq ($(CUDA_HOME),) -CUDA_HOME = /opt/cuda -endif - -NVCC = nvcc - -# older CUDA -#CUDA_ARCH = -arch=sm_21 -# newer CUDA -#CUDA_ARCH = -arch=sm_13 -# older CUDA -#CUDA_ARCH = -arch=sm_10 -DCUDA_PRE_THREE -CUDA_ARCH = -arch=sm_61 - -# this setting should match LAMMPS Makefile -# one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL - -LMP_INC = -DLAMMPS_SMALLBIG - -# precision for GPU calculations -# -D_SINGLE_SINGLE # Single precision for all calculations -# -D_DOUBLE_DOUBLE # Double precision for all calculations -# -D_SINGLE_DOUBLE # Accumulation of forces, etc. in double - -CUDA_PRECISION = -D_SINGLE_DOUBLE - -CUDA_INCLUDE = -I$(CUDA_HOME)/include -CUDA_LIB = -L$(CUDA_HOME)/lib64 -CUDA_OPTS = -DUNIX -O3 -Xptxas -v --use_fast_math $(LMP_INC) -Xcompiler -fPIC - -CUDR_CPP = mpicxx -DMPI_GERYON -DUCL_NO_EXIT -DMPICH_IGNORE_CXX_SEEK -DOMPI_SKIP_MPICXX=1 -fPIC -CUDR_OPTS = -O2 $(LMP_INC) # -xHost -no-prec-div -ansi-alias - -BIN_DIR = ./ -OBJ_DIR = ./ -LIB_DIR = ./ -AR = ar -BSH = /bin/sh - -CUDPP_OPT = -DUSE_CUDPP -Icudpp_mini - -include Nvidia.makefile - -- GitLab From 9b38a5b359f1622d68d9946119ee1053882c1a4b Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Wed, 5 Sep 2018 11:39:41 -0400 Subject: [PATCH 657/675] Replaced gpu Makefile with the one from upstream so as not to delete it. --- lib/gpu/Makefile.linux | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 lib/gpu/Makefile.linux diff --git a/lib/gpu/Makefile.linux b/lib/gpu/Makefile.linux new file mode 100644 index 0000000000..9580bfd4ae --- /dev/null +++ b/lib/gpu/Makefile.linux @@ -0,0 +1,52 @@ +# /* ---------------------------------------------------------------------- +# Generic Linux Makefile for CUDA +# - Change CUDA_ARCH for your GPU +# ------------------------------------------------------------------------- */ + +# which file will be copied to Makefile.lammps + +EXTRAMAKE = Makefile.lammps.standard + +ifeq ($(CUDA_HOME),) +CUDA_HOME = /usr/local/cuda +endif + +NVCC = nvcc + +# older CUDA +#CUDA_ARCH = -arch=sm_21 +# newer CUDA +#CUDA_ARCH = -arch=sm_13 +# older CUDA +#CUDA_ARCH = -arch=sm_10 -DCUDA_PRE_THREE +CUDA_ARCH = -arch=sm_35 + +# this setting should match LAMMPS Makefile +# one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL + +LMP_INC = -DLAMMPS_SMALLBIG + +# precision for GPU calculations +# -D_SINGLE_SINGLE # Single precision for all calculations +# -D_DOUBLE_DOUBLE # Double precision for all calculations +# -D_SINGLE_DOUBLE # Accumulation of forces, etc. in double + +CUDA_PRECISION = -D_SINGLE_DOUBLE + +CUDA_INCLUDE = -I$(CUDA_HOME)/include +CUDA_LIB = -L$(CUDA_HOME)/lib64 +CUDA_OPTS = -DUNIX -O3 -Xptxas -v --use_fast_math $(LMP_INC) -Xcompiler -fPIC + +CUDR_CPP = mpicxx -DMPI_GERYON -DUCL_NO_EXIT -DMPICH_IGNORE_CXX_SEEK -DOMPI_SKIP_MPICXX=1 -fPIC +CUDR_OPTS = -O2 $(LMP_INC) # -xHost -no-prec-div -ansi-alias + +BIN_DIR = ./ +OBJ_DIR = ./ +LIB_DIR = ./ +AR = ar +BSH = /bin/sh + +CUDPP_OPT = -DUSE_CUDPP -Icudpp_mini + +include Nvidia.makefile + -- GitLab From 5003354fba49486aba084ca9af97cea5649e7414 Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Wed, 5 Sep 2018 11:42:48 -0400 Subject: [PATCH 658/675] Replaced a tab with whitespace. --- src/USER-MISC/pair_morse_smooth_linear.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/USER-MISC/pair_morse_smooth_linear.cpp b/src/USER-MISC/pair_morse_smooth_linear.cpp index 4181fd5479..a88e7a1a27 100644 --- a/src/USER-MISC/pair_morse_smooth_linear.cpp +++ b/src/USER-MISC/pair_morse_smooth_linear.cpp @@ -116,7 +116,7 @@ void PairMorseSmoothLinear::compute(int eflag, int vflag) if (eflag) { evdwl = d0[itype][jtype] * (dexp*dexp - 2.0*dexp) - - offset[itype][jtype]; + offset[itype][jtype]; evdwl -= ( r - cut[itype][jtype] ) * der_at_cutoff[itype][jtype]; evdwl *= factor_lj; } -- GitLab From 510e09f4ef002cf633a1060497fef4e92c735904 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 5 Sep 2018 13:39:18 -0400 Subject: [PATCH 659/675] patch 5Sep18 --- doc/src/Manual.txt | 4 ++-- src/version.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index e442aa1808..5af157d8ea 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,7 +1,7 @@ LAMMPS Users Manual - + @@ -21,7 +21,7 @@ :line LAMMPS Documentation :c,h1 -31 Aug 2018 version :c,h2 +5 Sep 2018 version :c,h2 "What is a LAMMPS version?"_Manual_version.html diff --git a/src/version.h b/src/version.h index fbeeabff8d..0b8c1e8736 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "31 Aug 2018" +#define LAMMPS_VERSION "5 Sep 2018" -- GitLab From ad498811b1f254e946edc6812f64e827d44e63d1 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 5 Sep 2018 16:04:35 -0400 Subject: [PATCH 660/675] cmake: add missing fix_omp.h and fix_omp.cpp to compilation --- cmake/CMakeLists.txt | 3 ++- cmake/Modules/StyleHeaderUtils.cmake | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 3634138747..62a2fbdef4 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -777,6 +777,7 @@ if(PKG_USER-OMP) set(USER-OMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-OMP) set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp ${USER-OMP_SOURCES_DIR}/thr_omp.cpp + ${USER-OMP_SOURCES_DIR}/fix_omp.cpp ${USER-OMP_SOURCES_DIR}/fix_nh_omp.cpp ${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp ${USER-OMP_SOURCES_DIR}/domain_omp.cpp) @@ -785,7 +786,7 @@ if(PKG_USER-OMP) # detects styles which have USER-OMP version RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES) - + RegisterFixStyle("${USER-OMP_SOURCES_DIR}/fix_omp.h") get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES) diff --git a/cmake/Modules/StyleHeaderUtils.cmake b/cmake/Modules/StyleHeaderUtils.cmake index 2b00a81c8d..d621e4c9c0 100644 --- a/cmake/Modules/StyleHeaderUtils.cmake +++ b/cmake/Modules/StyleHeaderUtils.cmake @@ -85,6 +85,10 @@ function(RegisterNPairStyle path) AddStyleHeader(${path} NPAIR) endfunction(RegisterNPairStyle) +function(RegisterFixStyle path) + AddStyleHeader(${path} FIX) +endfunction(RegisterFixStyle) + function(RegisterStyles search_path) FindStyleHeaders(${search_path} ANGLE_CLASS angle_ ANGLE ) # angle ) # force FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid -- GitLab From ba1c5d3191da1effbcd8af6ab0df56b886578527 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 5 Sep 2018 21:39:09 -0400 Subject: [PATCH 661/675] Avoid buffer overflow during errors with long filenames --- src/error.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/error.cpp b/src/error.cpp index 3feaf1d1ac..913239ac49 100644 --- a/src/error.cpp +++ b/src/error.cpp @@ -75,7 +75,7 @@ void Error::universe_all(const char *file, int line, const char *str) update->whichflag = 0; char msg[100]; - sprintf(msg, "ERROR: %s (%s:%d)\n", str, file, line); + snprintf(msg, 100, "ERROR: %s (%s:%d)\n", str, truncpath(file), line); throw LAMMPSException(msg); #else MPI_Finalize(); @@ -100,7 +100,7 @@ void Error::universe_one(const char *file, int line, const char *str) update->whichflag = 0; char msg[100]; - sprintf(msg, "ERROR: %s (%s:%d)\n", str, file, line); + snprintf(msg, 100, "ERROR: %s (%s:%d)\n", str, truncpath(file), line); throw LAMMPSAbortException(msg, universe->uworld); #else MPI_Abort(universe->uworld,1); @@ -151,7 +151,7 @@ void Error::all(const char *file, int line, const char *str) update->whichflag = 0; char msg[100]; - sprintf(msg, "ERROR: %s (%s:%d)\n", str, file, line); + snprintf(msg, 100, "ERROR: %s (%s:%d)\n", str, truncpath(file), line); if (universe->nworlds > 1) { throw LAMMPSAbortException(msg, universe->uworld); @@ -201,7 +201,7 @@ void Error::one(const char *file, int line, const char *str) update->whichflag = 0; char msg[100]; - sprintf(msg, "ERROR on proc %d: %s (%s:%d)\n", me, str, file, line); + snprintf(msg, 100, "ERROR on proc %d: %s (%s:%d)\n", me, str, truncpath(file), line); throw LAMMPSAbortException(msg, world); #else MPI_Abort(world,1); -- GitLab From b3079f3aec02e74ce14616b6fdf91454e2bd35f2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 6 Sep 2018 12:05:32 -0400 Subject: [PATCH 662/675] rename files and classes for pair style eam/cd/omp to follow the rename of the non-threaded classes --- src/Purge.list | 3 +++ ...pair_cdeam_omp.cpp => pair_eam_cd_omp.cpp} | 14 ++++++------ .../{pair_cdeam_omp.h => pair_eam_cd_omp.h} | 22 +++++++++---------- 3 files changed, 21 insertions(+), 18 deletions(-) rename src/USER-OMP/{pair_cdeam_omp.cpp => pair_eam_cd_omp.cpp} (97%) rename src/USER-OMP/{pair_cdeam_omp.h => pair_eam_cd_omp.h} (71%) diff --git a/src/Purge.list b/src/Purge.list index cb98636b1c..c70392c935 100644 --- a/src/Purge.list +++ b/src/Purge.list @@ -24,6 +24,9 @@ style_nstencil.h style_ntopo.h # other auto-generated files lmpinstalledpkgs.h +# renamed on 6 September 2018 +pair_cdeam_omp.h +pair_cdeam_omp.cpp # renamed on 31 July 2018 pair_cdeam.h pair_cdeam.cpp diff --git a/src/USER-OMP/pair_cdeam_omp.cpp b/src/USER-OMP/pair_eam_cd_omp.cpp similarity index 97% rename from src/USER-OMP/pair_cdeam_omp.cpp rename to src/USER-OMP/pair_eam_cd_omp.cpp index c3a9454567..68c01c83d2 100644 --- a/src/USER-OMP/pair_cdeam_omp.cpp +++ b/src/USER-OMP/pair_eam_cd_omp.cpp @@ -15,7 +15,7 @@ #include #include -#include "pair_cdeam_omp.h" +#include "pair_eam_cd_omp.h" #include "atom.h" #include "comm.h" #include "error.h" @@ -44,8 +44,8 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairCDEAMOMP::PairCDEAMOMP(LAMMPS *lmp, int _cdeamVersion) : - PairEAM(lmp), PairCDEAM(lmp,_cdeamVersion), ThrOMP(lmp, THR_PAIR) +PairEAMCDOMP::PairEAMCDOMP(LAMMPS *lmp, int _cdeamVersion) : + PairEAM(lmp), PairEAMCD(lmp,_cdeamVersion), ThrOMP(lmp, THR_PAIR) { suffix_flag |= Suffix::OMP; respa_enable = 0; @@ -53,7 +53,7 @@ PairCDEAMOMP::PairCDEAMOMP(LAMMPS *lmp, int _cdeamVersion) : /* ---------------------------------------------------------------------- */ -void PairCDEAMOMP::compute(int eflag, int vflag) +void PairEAMCDOMP::compute(int eflag, int vflag) { if (eflag || vflag) { ev_setup(eflag,vflag); @@ -143,7 +143,7 @@ void PairCDEAMOMP::compute(int eflag, int vflag) } template -void PairCDEAMOMP::eval(int iifrom, int iito, ThrData * const thr) +void PairEAMCDOMP::eval(int iifrom, int iito, ThrData * const thr) { int i,j,ii,jj,jnum,itype,jtype; double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; @@ -534,10 +534,10 @@ void PairCDEAMOMP::eval(int iifrom, int iito, ThrData * const thr) /* ---------------------------------------------------------------------- */ -double PairCDEAMOMP::memory_usage() +double PairEAMCDOMP::memory_usage() { double bytes = memory_usage_thr(); - bytes += PairCDEAM::memory_usage(); + bytes += PairEAMCD::memory_usage(); return bytes; } diff --git a/src/USER-OMP/pair_cdeam_omp.h b/src/USER-OMP/pair_eam_cd_omp.h similarity index 71% rename from src/USER-OMP/pair_cdeam_omp.h rename to src/USER-OMP/pair_eam_cd_omp.h index 2839ab0ed0..d46a5383f5 100644 --- a/src/USER-OMP/pair_cdeam_omp.h +++ b/src/USER-OMP/pair_eam_cd_omp.h @@ -17,23 +17,23 @@ #ifdef PAIR_CLASS -PairStyle(eam/cd/omp,PairCDEAM_OneSiteOMP) -PairStyle(eam/cd/old/omp,PairCDEAM_TwoSiteOMP) +PairStyle(eam/cd/omp,PairEAMCD_OneSiteOMP) +PairStyle(eam/cd/old/omp,PairEAMCD_TwoSiteOMP) #else -#ifndef LMP_PAIR_CDEAM_OMP_H -#define LMP_PAIR_CDEAM_OMP_H +#ifndef LMP_PAIR_EAM_CD_OMP_H +#define LMP_PAIR_EAM_CD_OMP_H -#include "pair_cdeam.h" +#include "pair_eam_cd.h" #include "thr_omp.h" namespace LAMMPS_NS { -class PairCDEAMOMP : public PairCDEAM, public ThrOMP { +class PairEAMCDOMP : public PairEAMCD, public ThrOMP { public: - PairCDEAMOMP(class LAMMPS *, int); + PairEAMCDOMP(class LAMMPS *, int); virtual void compute(int, int); virtual double memory_usage(); @@ -44,19 +44,19 @@ class PairCDEAMOMP : public PairCDEAM, public ThrOMP { }; /// The one-site concentration formulation of CD-EAM. - class PairCDEAM_OneSiteOMP : public PairCDEAMOMP + class PairEAMCD_OneSiteOMP : public PairEAMCDOMP { public: /// Constructor. - PairCDEAM_OneSiteOMP(class LAMMPS* lmp) : PairEAM(lmp), PairCDEAMOMP(lmp, 1) {} + PairEAMCD_OneSiteOMP(class LAMMPS* lmp) : PairEAM(lmp), PairEAMCDOMP(lmp, 1) {} }; /// The two-site concentration formulation of CD-EAM. - class PairCDEAM_TwoSiteOMP : public PairCDEAMOMP + class PairEAMCD_TwoSiteOMP : public PairEAMCDOMP { public: /// Constructor. - PairCDEAM_TwoSiteOMP(class LAMMPS* lmp) : PairEAM(lmp), PairCDEAMOMP(lmp, 2) {} + PairEAMCD_TwoSiteOMP(class LAMMPS* lmp) : PairEAM(lmp), PairEAMCDOMP(lmp, 2) {} }; } -- GitLab From efd582fb21d11dcb32c10a6cc4267b9578ece81d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 6 Sep 2018 13:13:20 -0400 Subject: [PATCH 663/675] update list of code owners for automatic review requests. started assigning core files --- .github/CODEOWNERS | 67 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b91e58a83f..4f561a4c19 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -17,6 +17,7 @@ src/GPU/* @ndtrung81 src/KOKKOS/* @stanmoore1 src/KIM/* @ellio167 src/LATTE/* @cnegre +src/MESSAGE/* @sjplimp src/SPIN/* @julient31 src/USER-CGDNA/* @ohenrich src/USER-CGSDK/* @akohlmey @@ -32,16 +33,82 @@ src/USER-PHONON/* @lingtikong src/USER-OMP/* @akohlmey src/USER-QMMM/* @akohlmey src/USER-REAXC/* @hasanmetin +src/USER-SCAFACOS/* @rhalver src/USER-TALLY/* @akohlmey src/USER-UEF/* @danicholson src/USER-VTK/* @rbberger + # individual files in packages src/GPU/pair_vashishta_gpu.* @andeplane src/KOKKOS/pair_vashishta_kokkos.* @andeplane src/MANYBODY/pair_vashishta_table.* @andeplane +src/MANYBODY/pair_atm.* @sergeylishchuk src/USER-MISC/fix_bond_react.* @jrgissing src/USER-MISC/*_grem.* @dstelter92 +src/USER-MISC/compute_stress_mop*.* @RomainVermorel + +# core LAMMPS classes +src/lammps.* @sjplimp +src/pointers.h @sjplimp +src/atom.* @sjplimp +src/atom_vec.* @sjplimp +src/angle.* @sjplimp +src/bond.* @sjplimp +src/comm*.* @sjplimp +src/compute.* @sjplimp +src/dihedral.* @sjplimp +src/domain.* @sjplimp +src/dump*.* @sjplimp +src/error.* @sjplimp +src/finish.* @sjplimp +src/fix.* @sjplimp +src/force.* @sjplimp +src/group.* @sjplimp +src/improper.* @sjplimp +src/kspace.* @sjplimp +src/lmptyp.h @sjplimp +src/library.* @sjplimp +src/main.cpp @sjplimp +src/memory.* @sjplimp +src/modify.* @sjplimp +src/molecule.* @sjplimp +src/my_page.h @sjplimp +src/my_pool_chunk.h @sjplimp +src/npair*.* @sjplimp +src/ntopo*.* @sjplimp +src/nstencil*.* @sjplimp +src/neighbor.* @sjplimp +src/nbin*.* @sjplimp +src/neigh_*.* @sjplimp +src/output.* @sjplimp +src/pair.* @sjplimp +src/rcb.* @sjplimp +src/random_*.* @sjplimp +src/region*.* @sjplimp +src/rcb.* @sjplimp +src/read*.* @sjplimp +src/rerun.* @sjplimp +src/run.* @sjplimp +src/respa.* @sjplimp +src/set.* @sjplimp +src/special.* @sjplimp +src/suffix.h @sjplimp +src/thermo.* @sjplimp +src/universe.* @sjplimp +src/update.* @sjplimp +src/variable.* @sjplimp +src/verlet.* @sjplimp +src/velocity.* @sjplimp +src/write_data.* @sjplimp +src/write_restart.* @sjplimp + +# overrides for specific files +src/dump_movie.* @akohlmey +src/exceptions.h @rbberger +src/fix_nh.* @athomps +src/info.* @akohlmey @rbberger +src/timer.* @akohlmey # tools tools/msi2lmp/* @akohlmey -- GitLab From d7b00f86f88cb2266de9eaaf3a8ef0729f9ce42a Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Thu, 6 Sep 2018 14:18:28 -0600 Subject: [PATCH 664/675] cmake: fix Eigen3 detection For some reason FindEigen3.cmake defines all cap. variables, i.e. Eigen3_FOUND -> EIGEN3_FOUND --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 2e238cdf2b..149f9da817 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -551,7 +551,7 @@ if(PKG_USER-SMD) list(APPEND LAMMPS_DEPS Eigen3_build) else() find_package(Eigen3) - if(NOT Eigen3_FOUND) + if(NOT EIGEN3_FOUND) message(FATAL_ERROR "Eigen3 not found, help CMake to find it by setting EIGEN3_INCLUDE_DIR, or set DOWNLOAD_EIGEN3=ON to download it") endif() endif() -- GitLab From 8f8aee65d20f9b11ab4e7f70e9412202ae9fdfc5 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Thu, 6 Sep 2018 14:37:08 -0600 Subject: [PATCH 665/675] cmake: fix globbing of emacs files Done by: sed -i '/GLOB/s@/\*\.@/[^.]*.@g' CMakeLists.txt --- cmake/CMakeLists.txt | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 2e238cdf2b..45e6870ce8 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -13,7 +13,7 @@ get_filename_component(LAMMPS_DOC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../doc ABSOLUT # To avoid conflicts with the conventional Makefile build system, we build everything here -file(GLOB LIB_SOURCES ${LAMMPS_SOURCE_DIR}/*.cpp) +file(GLOB LIB_SOURCES ${LAMMPS_SOURCE_DIR}/[^.]*.cpp) file(GLOB LMP_SOURCES ${LAMMPS_SOURCE_DIR}/main.cpp) list(REMOVE_ITEM LIB_SOURCES ${LMP_SOURCES}) @@ -348,7 +348,7 @@ if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE) find_package(BLAS) if(NOT LAPACK_FOUND OR NOT BLAS_FOUND) enable_language(Fortran) - file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/*.[fF]) + file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/[^.]*.[fF]) add_library(linalg STATIC ${LAPACK_SOURCES}) set(LAPACK_LIBRARIES linalg) else() @@ -603,7 +603,7 @@ endif() if(PKG_MESSAGE) option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF) - file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.F + file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.F ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.c ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.cpp) if(BUILD_SHARED_LIBS) @@ -720,8 +720,8 @@ RegisterStyles(${LAMMPS_SOURCE_DIR}) foreach(PKG ${DEFAULT_PACKAGES}) set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG}) - file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/*.cpp) - file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/*.h) + file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/[^.]*.cpp) + file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/[^.]*.h) # check for package files in src directory due to old make system DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS}) @@ -739,8 +739,8 @@ endforeach() foreach(PKG ${ACCEL_PACKAGES}) set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG}) - file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/*.cpp) - file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/*.h) + file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/[^.]*.cpp) + file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/[^.]*.h) # check for package files in src directory due to old make system DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS}) @@ -754,7 +754,7 @@ foreach(SIMPLE_LIB REAX MEAM POEMS USER-ATC USER-AWPMD USER-COLVARS USER-H5MD if(PKG_${SIMPLE_LIB}) string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}") string(TOLOWER "${PKG_LIB}" PKG_LIB) - file(GLOB_RECURSE ${PKG_LIB}_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.F + file(GLOB_RECURSE ${PKG_LIB}_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.F ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.c ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.cpp) add_library(${PKG_LIB} STATIC ${${PKG_LIB}_SOURCES}) list(APPEND LAMMPS_LINK_LIBS ${PKG_LIB}) @@ -1039,7 +1039,7 @@ if(PKG_GPU) set(GPU_PREC_SETTING "SINGLE_SINGLE") endif() - file(GLOB GPU_LIB_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cpp) + file(GLOB GPU_LIB_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cpp) file(MAKE_DIRECTORY ${LAMMPS_LIB_BINARY_DIR}/gpu) if(GPU_API STREQUAL "CUDA") @@ -1052,15 +1052,15 @@ if(PKG_GPU) set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM architecture (e.g. sm_60)") - file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/*.cu) + file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/[^.]*.cu) list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_pppm.cu) cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu ${LAMMPS_LIB_BINARY_DIR}/gpu) if(CUDPP_OPT) cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini) - file(GLOB GPU_LIB_CUDPP_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/*.cpp) - file(GLOB GPU_LIB_CUDPP_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/*.cu) + file(GLOB GPU_LIB_CUDPP_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cpp) + file(GLOB GPU_LIB_CUDPP_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cu) endif() cuda_compile_cubin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS @@ -1109,7 +1109,7 @@ if(PKG_GPU) include(OpenCLUtils) set(OCL_COMMON_HEADERS ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_preprocessor.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_aux_fun1.h) - file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cu) + file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu) list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu) foreach(GPU_KERNEL ${GPU_LIB_CU}) @@ -1236,7 +1236,7 @@ if(BUILD_DOC) set(VIRTUALENV ${PYTHON_EXECUTABLE} -m virtualenv) - file(GLOB DOC_SOURCES ${LAMMPS_DOC_DIR}/src/*.txt) + file(GLOB DOC_SOURCES ${LAMMPS_DOC_DIR}/src/[^.]*.txt) file(GLOB PDF_EXTRA_SOURCES ${LAMMPS_DOC_DIR}/src/lammps_commands*.txt ${LAMMPS_DOC_DIR}/src/lammps_support.txt ${LAMMPS_DOC_DIR}/src/lammps_tutorials.txt) list(REMOVE_ITEM DOC_SOURCES ${PDF_EXTRA_SOURCES}) -- GitLab From dd64c063cf804205bfb5ea90ed1be325243814d9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 6 Sep 2018 22:28:20 -0400 Subject: [PATCH 666/675] various fixes for the manual to address breakage from merging MESSAGE and USER-SCAFACOS packages --- doc/src/Build_package.txt | 4 ++-- doc/src/Howto_client_server.txt | 2 +- doc/src/Packages_details.txt | 4 ++-- doc/src/Run_options.txt | 2 +- doc/src/commands_list.txt | 2 ++ doc/src/fix_client_md.txt | 2 +- doc/src/fixes.txt | 1 + doc/src/kspace_modify.txt | 2 +- doc/src/kspace_style.txt | 4 ++-- doc/src/lammps.book | 1 + 10 files changed, 14 insertions(+), 10 deletions(-) diff --git a/doc/src/Build_package.txt b/doc/src/Build_package.txt index 285220e6c6..f1aa4bb671 100644 --- a/doc/src/Build_package.txt +++ b/doc/src/Build_package.txt @@ -42,7 +42,7 @@ packages: "KOKKOS"_Build_extras.html#kokkos, "LATTE"_Build_extras.html#latte, "MEAM"_Build_extras.html#meam, -"MESSAGE"_#Build_extras.html#message, +"MESSAGE"_Build_extras.html#message, "MSCG"_Build_extras.html#mscg, "OPT"_Build_extras.html#opt, "POEMS"_Build_extras.html#poems, @@ -59,7 +59,7 @@ packages: "USER-OMP"_Build_extras.html#user-omp, "USER-QMMM"_Build_extras.html#user-qmmm, "USER-QUIP"_Build_extras.html#user-quip, -"USER-SCAFACOS"_#Build_extras.html#user-scafacos, +"USER-SCAFACOS"_Build_extras.html#user-scafacos, "USER-SMD"_Build_extras.html#user-smd, "USER-VTK"_Build_extras.html#user-vtk :tb(c=6,ea=c,a=l) diff --git a/doc/src/Howto_client_server.txt b/doc/src/Howto_client_server.txt index 714c23f066..061c4efb68 100644 --- a/doc/src/Howto_client_server.txt +++ b/doc/src/Howto_client_server.txt @@ -7,7 +7,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :line -Using LAMMPS in client/server mode +Using LAMMPS in client/server mode :h3 Client/server coupling of two codes is where one code is the "client" and sends request messages to a "server" code. The server responds to diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 443d78922c..b0b72f1f13 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -92,7 +92,7 @@ as contained in the file name. "USER-QTB"_#PKG-USER-QTB, "USER-QUIP"_#PKG-USER-QUIP, "USER-REAXC"_#PKG-USER-REAXC, -"USER-SCAFACOS"_#USER-SCAFACOS, +"USER-SCAFACOS"_#PKG-USER-SCAFACOS, "USER-SMD"_#PKG-USER-SMD, "USER-SMTBQ"_#PKG-USER-SMTBQ, "USER-SPH"_#PKG-USER-SPH, @@ -1860,7 +1860,7 @@ examples/reax :ul :line -USER-SCAFACOS package :link(USER-SCAFACOS),h4 +USER-SCAFACOS package :link(PKG-USER-SCAFACOS),h4 [Contents:] diff --git a/doc/src/Run_options.txt b/doc/src/Run_options.txt index 27f436ed55..1fc00bc2e3 100644 --- a/doc/src/Run_options.txt +++ b/doc/src/Run_options.txt @@ -176,7 +176,7 @@ Option -plog will override the name of the partition log files file.N. :line -[-mpicolor] color :link(mpi) +[-mpicolor] color :link(mpicolor) If used, this must be the first command-line argument after the LAMMPS executable name. It is only used when LAMMPS is launched by an mpirun diff --git a/doc/src/commands_list.txt b/doc/src/commands_list.txt index 8fae57a718..db3ef36ddf 100644 --- a/doc/src/commands_list.txt +++ b/doc/src/commands_list.txt @@ -89,6 +89,8 @@ Commands :h1 run run_style server + server_mc + server_md set shell special_bonds diff --git a/doc/src/fix_client_md.txt b/doc/src/fix_client_md.txt index 5b62d5617d..77f6b82c5e 100644 --- a/doc/src/fix_client_md.txt +++ b/doc/src/fix_client_md.txt @@ -50,7 +50,7 @@ md"_server_md.html doc page. Note that when using LAMMPS as an MD client, your LAMMPS input script should not normally contain force field commands, like a -"pair_style"_doc/pair_style.html, "bond_style"_doc/bond_style.html, or +"pair_style"_pair_style.html, "bond_style"_bond_style.html, or "kspace_style"_kspace_style.html commmand. However it is possible for a server code to only compute a portion of the full force-field, while LAMMPS computes the remaining part. Your LAMMPS script can also diff --git a/doc/src/fixes.txt b/doc/src/fixes.txt index 7a45ed8086..f2f257b134 100644 --- a/doc/src/fixes.txt +++ b/doc/src/fixes.txt @@ -26,6 +26,7 @@ Fixes :h1 fix_bond_swap fix_bond_react fix_box_relax + fix_client_md fix_cmap fix_colvars fix_controller diff --git a/doc/src/kspace_modify.txt b/doc/src/kspace_modify.txt index 7e40323664..41973601d7 100644 --- a/doc/src/kspace_modify.txt +++ b/doc/src/kspace_modify.txt @@ -133,7 +133,7 @@ the code will stop with an error message. When this option is set to For a typical application, using the automatic parameter generation will provide simulations that are either inaccurate or slow. Using this option is thus not recommended. For guidelines on how to obtain good -parameters, see the "How-To"_Section_howto.html#howto_24 discussion. +parameters, see the "How-To"_Howto_dispersion.html discussion. :line diff --git a/doc/src/kspace_style.txt b/doc/src/kspace_style.txt index ddf4e15703..6d8a289470 100644 --- a/doc/src/kspace_style.txt +++ b/doc/src/kspace_style.txt @@ -383,8 +383,8 @@ dimensions. The only exception is if the slab option is set with must be periodic and the z dimension must be non-periodic. The scafacos KSpace style will only be enabled if LAMMPS is built with -the USER-SCAFACOS package. See the "Making -LAMMPS"_Section_start.html#start_3 section for more info. +the USER-SCAFACOS package. See the "Build package"_Build_package.html +doc page for more info. The use of ScaFaCos in LAMMPS does not yet support molecular charged systems where the short-range Coulombic interactions between atoms in diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 72a07945e7..828863ae67 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -67,6 +67,7 @@ Howto_multiple.html Howto_replica.html Howto_library.html Howto_couple.html +Howto_client_server.html Howto_output.html Howto_chunk.html Howto_2d.html -- GitLab From 861a7acdf0b9de61dade59ef873e1f338673a9d2 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Fri, 7 Sep 2018 06:40:06 -0600 Subject: [PATCH 667/675] cmake: fix globbing in some more places --- cmake/CMakeLists.txt | 9 ++++++--- cmake/Modules/StyleHeaderUtils.cmake | 6 +++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 45e6870ce8..21170a384d 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -604,7 +604,8 @@ endif() if(PKG_MESSAGE) option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF) file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.F - ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.c ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.cpp) + ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.c + ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.cpp) if(BUILD_SHARED_LIBS) add_library(cslib SHARED ${cslib_SOURCES}) @@ -754,8 +755,10 @@ foreach(SIMPLE_LIB REAX MEAM POEMS USER-ATC USER-AWPMD USER-COLVARS USER-H5MD if(PKG_${SIMPLE_LIB}) string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}") string(TOLOWER "${PKG_LIB}" PKG_LIB) - file(GLOB_RECURSE ${PKG_LIB}_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.F - ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.c ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.cpp) + file(GLOB_RECURSE ${PKG_LIB}_SOURCES + ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.F + ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.c + ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.cpp) add_library(${PKG_LIB} STATIC ${${PKG_LIB}_SOURCES}) list(APPEND LAMMPS_LINK_LIBS ${PKG_LIB}) if(PKG_LIB STREQUAL awpmd) diff --git a/cmake/Modules/StyleHeaderUtils.cmake b/cmake/Modules/StyleHeaderUtils.cmake index d621e4c9c0..a89d098dd0 100644 --- a/cmake/Modules/StyleHeaderUtils.cmake +++ b/cmake/Modules/StyleHeaderUtils.cmake @@ -94,14 +94,14 @@ function(RegisterStyles search_path) FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid FindStyleHeaders(${search_path} BODY_CLASS body_ BODY ) # body ) # atom_vec_body FindStyleHeaders(${search_path} BOND_CLASS bond_ BOND ) # bond ) # force - FindStyleHeaders(${search_path} COMMAND_CLASS "" COMMAND ) # command ) # input + FindStyleHeaders(${search_path} COMMAND_CLASS "[^.]" COMMAND ) # command ) # input FindStyleHeaders(${search_path} COMPUTE_CLASS compute_ COMPUTE ) # compute ) # modify FindStyleHeaders(${search_path} DIHEDRAL_CLASS dihedral_ DIHEDRAL ) # dihedral ) # force FindStyleHeaders(${search_path} DUMP_CLASS dump_ DUMP ) # dump ) # output write_dump FindStyleHeaders(${search_path} FIX_CLASS fix_ FIX ) # fix ) # modify FindStyleHeaders(${search_path} IMPROPER_CLASS improper_ IMPROPER ) # improper ) # force - FindStyleHeaders(${search_path} INTEGRATE_CLASS "" INTEGRATE ) # integrate ) # update - FindStyleHeaders(${search_path} KSPACE_CLASS "" KSPACE ) # kspace ) # force + FindStyleHeaders(${search_path} INTEGRATE_CLASS "[^.]" INTEGRATE ) # integrate ) # update + FindStyleHeaders(${search_path} KSPACE_CLASS "[^.]" KSPACE ) # kspace ) # force FindStyleHeaders(${search_path} MINIMIZE_CLASS min_ MINIMIZE ) # minimize ) # update FindStyleHeaders(${search_path} NBIN_CLASS nbin_ NBIN ) # nbin ) # neighbor FindStyleHeaders(${search_path} NPAIR_CLASS npair_ NPAIR ) # npair ) # neighbor -- GitLab From 25907c856e1463cf4986de98e61b3cafd422b3d5 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 7 Sep 2018 09:56:03 -0600 Subject: [PATCH 668/675] small doc page changes, format and content on doc page tarballs --- doc/src/Build_basics.txt | 4 ++++ doc/src/Howto_client_server.txt | 2 +- doc/src/Install_tarball.txt | 6 +++++- doc/src/Packages_details.txt | 1 + 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/doc/src/Build_basics.txt b/doc/src/Build_basics.txt index 6924e73417..4b3a347bf1 100644 --- a/doc/src/Build_basics.txt +++ b/doc/src/Build_basics.txt @@ -292,6 +292,10 @@ This will create a lammps/doc/html dir with the HTML doc pages so that you can browse them locally on your system. Type "make" from the lammps/doc dir to see other options. +NOTE: You can also download a tarball of the documention for the +current LAMMPS version (HTML and PDF files), from the website +"download page"_http://lammps.sandia.gov/download.html. + :line Install LAMMPS after a build :h4,link(install) diff --git a/doc/src/Howto_client_server.txt b/doc/src/Howto_client_server.txt index 714c23f066..061c4efb68 100644 --- a/doc/src/Howto_client_server.txt +++ b/doc/src/Howto_client_server.txt @@ -7,7 +7,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :line -Using LAMMPS in client/server mode +Using LAMMPS in client/server mode :h3 Client/server coupling of two codes is where one code is the "client" and sends request messages to a "server" code. The server responds to diff --git a/doc/src/Install_tarball.txt b/doc/src/Install_tarball.txt index b672c5ff25..7ba5d15ac4 100644 --- a/doc/src/Install_tarball.txt +++ b/doc/src/Install_tarball.txt @@ -7,7 +7,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c :line -Download source as a tarball :h3 +Download source and documentation as a tarball :h3 You can download a current LAMMPS tarball from the "download page"_download of the "LAMMPS website"_lws. @@ -22,6 +22,10 @@ few times per year, and undergo more testing before release. Patch releases occur a couple times per month. The new contents in all releases are listed on the "bug and feature page"_bug of the website. +Both tarballs include LAMMPS documentation (HTML and PDF files) +corresponding to that version. The download page also has an option +to download the current-version LAMMPS documentation by itself. + Older versions of LAMMPS can also be downloaded from "this page"_older. diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 443d78922c..1fb0549c8d 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -46,6 +46,7 @@ as contained in the file name. "MANYBODY"_#PKG-MANYBODY, "MC"_#PKG-MC, "MEAM"_#PKG-MEAM, +"MESSAGE"_#PKG-MESSAGE, "MISC"_#PKG-MISC, "MOLECULE"_#PKG-MOLECULE, "MPIIO"_#PKG-MPIIO, -- GitLab From 0384ef89670de96f83b0f7821c4e22484d491ed9 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 7 Sep 2018 14:00:39 -0600 Subject: [PATCH 669/675] more tweaks to client/server doc pages --- doc/src/Howto_client_server.txt | 4 ++-- doc/src/server_mc.txt | 6 +++--- doc/src/server_md.txt | 16 +++++++++------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/doc/src/Howto_client_server.txt b/doc/src/Howto_client_server.txt index 061c4efb68..aa6b8eab76 100644 --- a/doc/src/Howto_client_server.txt +++ b/doc/src/Howto_client_server.txt @@ -61,7 +61,7 @@ client or server. "message"_message.html "fix client md"_fix_client_md.html = LAMMPS is a client for running MD "server md"_server_md.html = LAMMPS is a server for computing MD forces -"server mc"_server_mc.html = LAMMPS is a server for computing a Monte Carlo energy +"server mc"_server_mc.html = LAMMPS is a server for computing a Monte Carlo energy :ul The server doc files give details of the message protocols for data that is exchanged bewteen the client and server. @@ -119,7 +119,7 @@ For message exchange in {mpi/one} mode: Launch both codes in a single mpirun command: -mpirun -np 2 lmp_mpi -mpicolor 0 -in in.message.client -log log.client : -np 4 lmp_mpi -mpicolor 1 -in in.message.server -log log.server +mpirun -np 2 lmp_mpi -mpicolor 0 -in in.message.client -log log.client : -np 4 lmp_mpi -mpicolor 1 -in in.message.server -log log.server :pre The two -np values determine how many procs the client and the server run on. diff --git a/doc/src/server_mc.txt b/doc/src/server_mc.txt index 53ccfc8ecd..58ca415be3 100644 --- a/doc/src/server_mc.txt +++ b/doc/src/server_mc.txt @@ -63,7 +63,7 @@ See the src/MESSAGE/server_mc.cpp file for details on how LAMMPS uses these messages. See the examples/COUPLE/lammmps_mc/mc.cpp file for an example of how an MC driver code can use these messages. -Let NATOMS=1, EINIT=2, DISPLACE=3, ACCEPT=4, RUN=5. +Define NATOMS=1, EINIT=2, DISPLACE=3, ACCEPT=4, RUN=5. [Client sends one of these kinds of message]: @@ -93,9 +93,9 @@ cs->pack(2,3*natoms,x) # 2nd field = 3N coords of Natoms :pre cs->send(DISPLACE,1) # msgID = 3 with 1 field cs->pack_double(1,poteng) # 1st field = new potential energy of system :pre -cs->send(ACCEPT,0) # msgID = 4 with no fields +cs->send(ACCEPT,0) # msgID = 4 with no fields :pre -cs->send(RUN,0) # msgID = 5 with no fields +cs->send(RUN,0) # msgID = 5 with no fields :pre :line diff --git a/doc/src/server_md.txt b/doc/src/server_md.txt index 0db7bbe16b..753542dc75 100644 --- a/doc/src/server_md.txt +++ b/doc/src/server_md.txt @@ -51,9 +51,9 @@ can complete the timestep. This command could also be used with a client code that performs energy minimization, using the server to compute forces and energy each iteration of its minimizer. -When using the "fix client/md" command, LAMMPS (as the client code) -does the timestepping and receives needed energy, forces, and pressure -values from the server code. +When using the "fix client/md"_fix_client_md.html command, LAMMPS (as +the client code) does the timestepping and receives needed energy, +forces, and pressure values from the server code. The format and content of the exchanged messages are explained here in a conceptual sense. Python-style pseudo code for the library calls to @@ -69,9 +69,11 @@ a quantum code (VASP) can use use these messages. The following pseudo-code uses these values, defined as enums. -enum{SETUP=1,STEP}; -enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE}; -enum{FORCES=1,ENERGY,PRESSURE,ERROR}; :pre +Define: + +SETUP=1, STEP=2 +DIM=1, PERIODICITY=2, ORIGIN=3, BOX=4, NATOMS=5, NTYPES=6, TYPES=7, COORDS=8, UNITS-9, CHARGE=10 +FORCES=1, ENERGY=2, PRESSURE=3, ERROR=4 :pre [Client sends 2 kinds of messages]: @@ -98,7 +100,7 @@ cs->send(STEP,nfields) # msgID with nfields :pre cs->pack(COORDS,3*natoms,x) # vector of 3N atom coords cs->pack(ORIGIN,3,origin) # lower-left corner of simulation box -cs->pack(BOX,9,box) # 3 edge vectors of simulation box +cs->pack(BOX,9,box) # 3 edge vectors of simulation box :pre [Server replies to either kind of message]: -- GitLab From b488f1072e17e6f574cb45a479572783bc147fca Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 7 Sep 2018 14:22:38 -0600 Subject: [PATCH 670/675] recent package links --- doc/src/Packages_details.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt index 1fb0549c8d..494f393a16 100644 --- a/doc/src/Packages_details.txt +++ b/doc/src/Packages_details.txt @@ -93,7 +93,7 @@ as contained in the file name. "USER-QTB"_#PKG-USER-QTB, "USER-QUIP"_#PKG-USER-QUIP, "USER-REAXC"_#PKG-USER-REAXC, -"USER-SCAFACOS"_#USER-SCAFACOS, +"USER-SCAFACOS"_#PKG-USER-SCAFACOS, "USER-SMD"_#PKG-USER-SMD, "USER-SMTBQ"_#PKG-USER-SMTBQ, "USER-SPH"_#PKG-USER-SPH, @@ -1861,7 +1861,7 @@ examples/reax :ul :line -USER-SCAFACOS package :link(USER-SCAFACOS),h4 +USER-SCAFACOS package :link(PKG-USER-SCAFACOS),h4 [Contents:] -- GitLab From 3b073de3572a41f476243c3aa56ce28a9532fd6e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 9 Sep 2018 01:21:37 -0400 Subject: [PATCH 671/675] make it less likely to have people get confused by Eigen3_DIR --- cmake/CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 149f9da817..80eb035fee 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -538,6 +538,13 @@ if(PKG_USER-NETCDF) endif() if(PKG_USER-SMD) + # hack alert! + # something defines the Eigen3_DIR variable, but it has no effect + # yet shows up in the TUI/GUI display as "not found". + # and due to not being marked as advanced, it can mislead people + # as the EIGEN3_INCLUDE_DIR variable which does have an effect + # is marked as advanced. Tested on Fedora28 with Eigen3-3.3.5 rpm. + mark_as_advanced(Eigen3_DIR) option(DOWNLOAD_EIGEN3 "Download Eigen3 (instead of using the system's one)" OFF) if(DOWNLOAD_EIGEN3) include(ExternalProject) -- GitLab From 46b87518b8b62fac583e8718b9a9b3b5baf7417f Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 10 Sep 2018 00:35:55 -0400 Subject: [PATCH 672/675] cmake: use NO_MODULE for Eigen3 --- cmake/CMakeLists.txt | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 80eb035fee..7bfd7905f2 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -538,13 +538,6 @@ if(PKG_USER-NETCDF) endif() if(PKG_USER-SMD) - # hack alert! - # something defines the Eigen3_DIR variable, but it has no effect - # yet shows up in the TUI/GUI display as "not found". - # and due to not being marked as advanced, it can mislead people - # as the EIGEN3_INCLUDE_DIR variable which does have an effect - # is marked as advanced. Tested on Fedora28 with Eigen3-3.3.5 rpm. - mark_as_advanced(Eigen3_DIR) option(DOWNLOAD_EIGEN3 "Download Eigen3 (instead of using the system's one)" OFF) if(DOWNLOAD_EIGEN3) include(ExternalProject) @@ -557,7 +550,8 @@ if(PKG_USER-SMD) set(EIGEN3_INCLUDE_DIR ${SOURCE_DIR}) list(APPEND LAMMPS_DEPS Eigen3_build) else() - find_package(Eigen3) + find_package(Eigen3 NO_MODULE) + mark_as_advanced(Eigen3_DIR) if(NOT EIGEN3_FOUND) message(FATAL_ERROR "Eigen3 not found, help CMake to find it by setting EIGEN3_INCLUDE_DIR, or set DOWNLOAD_EIGEN3=ON to download it") endif() -- GitLab From 02b653c0cea83448cdeda39d231f423836d35fdf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 10 Sep 2018 22:22:42 -0400 Subject: [PATCH 673/675] correct end of itemized list to be compatible with txt2rst conversion --- doc/src/Howto_chunk.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Howto_chunk.txt b/doc/src/Howto_chunk.txt index 611b71dac7..82a4450d17 100644 --- a/doc/src/Howto_chunk.txt +++ b/doc/src/Howto_chunk.txt @@ -125,7 +125,7 @@ molecule diffusion rates. :l As input to special functions of "equal-style variables"_variable.html, like sum() and max() and ave(). E.g. to find the largest cluster or fastest diffusing molecule or average -radius-of-gyration of a set of molecules (chunks). :l :ule +radius-of-gyration of a set of molecules (chunks). :l,ule Other chunk commands: :h4 -- GitLab From 3d2c7317092a9952b88ac4e6c6e16193c333093a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 10 Sep 2018 22:32:56 -0400 Subject: [PATCH 674/675] avoid class initialization order warnings --- src/compute_chunk_spread_atom.cpp | 2 +- src/compute_chunk_spread_atom.h | 3 +-- src/compute_reduce_chunk.cpp | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/compute_chunk_spread_atom.cpp b/src/compute_chunk_spread_atom.cpp index 93a4d30a2e..c5fd27b0c1 100644 --- a/src/compute_chunk_spread_atom.cpp +++ b/src/compute_chunk_spread_atom.cpp @@ -37,7 +37,7 @@ enum{COMPUTE,FIX}; ComputeChunkSpreadAtom:: ComputeChunkSpreadAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), - which(NULL), argindex(NULL), ids(NULL), value2index(NULL), idchunk(NULL) + idchunk(NULL), ids(NULL), which(NULL), argindex(NULL), value2index(NULL) { if (narg < 5) error->all(FLERR,"Illegal compute chunk/spread/atom command"); diff --git a/src/compute_chunk_spread_atom.h b/src/compute_chunk_spread_atom.h index 9a4df080ca..80ee186450 100644 --- a/src/compute_chunk_spread_atom.h +++ b/src/compute_chunk_spread_atom.h @@ -35,9 +35,8 @@ class ComputeChunkSpreadAtom : public Compute { protected: int mode,nvalues; char *idchunk; - - int *which,*argindex,*value2index; char **ids; + int *which,*argindex,*value2index; int nmax; class ComputeChunkAtom *cchunk; diff --git a/src/compute_reduce_chunk.cpp b/src/compute_reduce_chunk.cpp index 40e9dad8dd..beebc5f411 100644 --- a/src/compute_reduce_chunk.cpp +++ b/src/compute_reduce_chunk.cpp @@ -38,8 +38,8 @@ enum{COMPUTE,FIX,VARIABLE}; ComputeReduceChunk::ComputeReduceChunk(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), - vlocal(NULL), vglobal(NULL), alocal(NULL), aglobal(NULL), varatom(NULL), - which(NULL), argindex(NULL), value2index(NULL), idchunk(NULL), ids(NULL) + which(NULL), argindex(NULL), value2index(NULL), idchunk(NULL), ids(NULL), + vlocal(NULL), vglobal(NULL), alocal(NULL), aglobal(NULL), varatom(NULL) { if (narg < 6) error->all(FLERR,"Illegal compute reduce/chunk command"); -- GitLab From 0305cca1df30b355f60799bed967e7456e2a3bac Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 10 Sep 2018 22:47:45 -0400 Subject: [PATCH 675/675] make certain that *_freq flags are initialized. use -1 instead of 0 to avoid division by zero --- src/fix.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/fix.cpp b/src/fix.cpp index 051ac12bbe..634bc2393d 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -81,6 +81,7 @@ Fix::Fix(LAMMPS *lmp, int /*narg*/, char **arg) : scalar_flag = vector_flag = array_flag = 0; peratom_flag = local_flag = 0; + global_freq = local_freq = peratom_freq = -1; size_vector_variable = size_array_rows_variable = 0; comm_forward = comm_reverse = comm_border = 0; -- GitLab
      Tuning target for OpenCL driver code
      -
      GENERIC (default)
      -
      INTEL (Intel CPU)
      -
      PHI (Intel Xeon Phi)
      -
      FERMI (NVIDIA)
      -
      KEPLER (NVIDIA)
      -
      CYPRESS (AMD)
      +
      generic (default)
      +
      intel (Intel CPU)
      +
      phi (Intel Xeon Phi)
      +
      fermi (NVIDIA)
      +
      kepler (NVIDIA)
      +
      cypress (AMD)
      BUILD_EXEcontrol whether to build LAMMPS executable +
      +
      on (default)
      +
      off
      +
      +
      BUILD_SHARED_LIBS control whether to build LAMMPS as a shared-library

      S^%Ht=jPtto}Ztx+Bp3j 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⁣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 z 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 +3F(^z_+OM^4{^JK1gc^L-m`1Vc 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

      LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +

      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Ξ5E!{fa(xDd1CScC>u^m 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 YvN*D;;WYQZs68Bv3=I75>i^#a0BFY@`~Uy| literal 21251 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 h9=@ diff --git a/doc/src/fix_integration_spin.txt b/doc/src/fix_integration_spin.txt index d4e568a4f4..f03ddab79e 100644 --- a/doc/src/fix_integration_spin.txt +++ b/doc/src/fix_integration_spin.txt @@ -40,8 +40,8 @@ the equations of motion of the spin lattice system, following the scheme: according to the implementation reported in "(Omelyan)"_#Omelyan1. A sectoring enables this scheme for parallel calculations. -The implementation of this sectoring algorithm is reported in -"(Tranchida)"_#Tranchida1. +The implementation of this sectoring algorithm is reported +in "(Tranchida)"_#Tranchida1. :line @@ -51,7 +51,6 @@ This fix style can only be used if LAMMPS was built with the SPIN package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info on packages. - [Related commands:] "atom_style spin"_atom_style.html, "fix nve"_fix_nve.html @@ -61,9 +60,8 @@ section for more info on packages. :line :link(Omelyan1) -[(Omelyan)] I.P. Omelyan, I.M. Mryglod, R. Folk. Phys. Rev. Lett. -86(5), 898. (2001) +[(Omelyan)] Omelyan, Mryglod, and Folk. Phys. Rev. Lett. +86(5), 898. (2001). :link(Tranchida1) -[(Tranchida)] J. Tranchida, S.J. Plimpton, P. Thibaudeau, A.P. Thompson. -arXiv preprint arXiv:1801.10233. (2018) +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson. diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index f7e7e5a66c..8507f4aa4f 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -42,7 +42,7 @@ The components of eta are drawn from a Gaussian probability law. Their amplitude is defined as a proportion of the temperature of the external thermostat T (in K in metal units). -More details about this implementation are reported in "(Tranchida)"_#Tranchida1. +More details about this implementation are reported in "(Tranchida)"_#Tranchida2. Note: due to the form of the sLLG equation, this fix has to be the last defined magnetic fix before the integration/spin fix. As an example: @@ -97,6 +97,5 @@ This fix has to be the last defined magnetic fix before the integration fix :link(Mayergoyz1) [(Mayergoyz)] I.D. Mayergoyz, G. Bertotti, C. Serpico (2009). Elsevier (2009) -:link(Tranchida1) -[(Tranchida)] J. Tranchida, S.J. Plimpton, P. Thibaudeau, A.P. Thompson. -arXiv preprint arXiv:1801.10233. (2018) +:link(Tranchida2) +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson. diff --git a/doc/src/fix_rigid.txt b/doc/src/fix_rigid.txt index eced602c4b..24642a23ac 100644 --- a/doc/src/fix_rigid.txt +++ b/doc/src/fix_rigid.txt @@ -118,8 +118,8 @@ Examples of large rigid bodies are a colloidal particle, or portions of a biomolecule such as a protein. Example of small rigid bodies are patchy nanoparticles, such as those -modeled in "this paper"_#Zhang1 by Sharon Glotzer's group, clumps of -granular particles, lipid molecules consisting of one or more point +modeled in "this paper"_#Zhang3 by Sharon Glotzer's group, clumps of +granular particles, lipid molecules consiting of one or more point dipoles connected to other spheroids or ellipsoids, irregular particles built from line segments (2d) or triangles (3d), and coarse-grain models of nano or colloidal particles consisting of a @@ -851,5 +851,5 @@ Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117. [(Miller)] Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, J Chem Phys, 116, 8649 (2002). -:link(Zhang1) +:link(Zhang3) [(Zhang)] Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004). diff --git a/doc/src/fix_thermal_conductivity.txt b/doc/src/fix_thermal_conductivity.txt index 0353c095b2..17631ac7f5 100644 --- a/doc/src/fix_thermal_conductivity.txt +++ b/doc/src/fix_thermal_conductivity.txt @@ -136,7 +136,7 @@ kinetic energy of atoms that are in constrained molecules, e.g. via "fix shake"_fix_shake.html or "fix rigid"_fix_rigid.html. This is because application of the constraints will alter the amount of transferred momentum. You should, however, be able to use flexible -molecules. See the "Zhang paper"_#Zhang2 for a discussion and results +molecules. See the "Zhang paper"_#Zhang1 for a discussion and results of this idea. When running a simulation with large, massive particles or molecules @@ -158,6 +158,6 @@ The option defaults are swap = 1. :link(Muller-Plathe1) [(Muller-Plathe)] Muller-Plathe, J Chem Phys, 106, 6082 (1997). -:link(Zhang2) +:link(Zhang1) [(Zhang)] Zhang, Lussetti, de Souza, Muller-Plathe, J Phys Chem B, 109, 15060-15067 (2005). diff --git a/doc/src/pair_gran.txt b/doc/src/pair_gran.txt index d7e87af013..93aab51e5c 100644 --- a/doc/src/pair_gran.txt +++ b/doc/src/pair_gran.txt @@ -45,7 +45,7 @@ pair_style gran/hooke 200000.0 70000.0 50.0 30.0 0.5 0 :pre The {gran} styles use the following formulas for the frictional force between two granular particles, as described in "(Brilliantov)"_#Brilliantov, "(Silbert)"_#Silbert, and -"(Zhang)"_#Zhang3, when the distance r between two particles of radii +"(Zhang)"_#Zhang4, when the distance r between two particles of radii Ri and Rj is less than their contact distance d = Ri + Rj. There is no force between the particles when r > d. @@ -115,7 +115,7 @@ gamma_t is in units of (1/(time*distance)). Note that in the Hookean case, Kn can be thought of as a linear spring constant with units of force/distance. In the Hertzian case, Kn is like a non-linear spring constant with units of force/area or -pressure, and as shown in the "(Zhang)"_#Zhang3 paper, Kn = 4G / +pressure, and as shown in the "(Zhang)"_#Zhang4 paper, Kn = 4G / (3(1-nu)) where nu = the Poisson ratio, G = shear modulus = E / (2(1+nu)), and E = Young's modulus. Similarly, Kt = 4G / (2-nu). (NOTE: in an earlier version of the manual, we incorrectly stated that @@ -267,5 +267,5 @@ p 5382-5392 (1996). [(Silbert)] Silbert, Ertas, Grest, Halsey, Levine, Plimpton, Phys Rev E, 64, p 051302 (2001). -:link(Zhang3) +:link(Zhang4) [(Zhang)] Zhang and Makse, Phys Rev E, 72, p 011301 (2005). diff --git a/doc/src/pair_meam_spline.txt b/doc/src/pair_meam_spline.txt index 6653b397a0..086854a0eb 100644 --- a/doc/src/pair_meam_spline.txt +++ b/doc/src/pair_meam_spline.txt @@ -164,5 +164,9 @@ for more info. Kress, Modelling Simulation Materials Science Engineering, 8, 825 (2000). +<<<<<<< HEAD :link(Zhang4) +======= +:link(Zhang2) +>>>>>>> Documentation V1 [(Zhang)] Zhang and Trinkle, Computational Materials Science, 124, 204-210 (2016). diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index 01bd2edc31..c1b20dfe94 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -45,7 +45,7 @@ The coefficients a, b, and d need to be fitted so that the function above matche the value of the exchange interaction for the N neighbor shells taken into account. Examples and more explanations about this function and its parametrization are reported -in "(Tranchida)"_#Tranchida1. +in "(Tranchida)"_#Tranchida3. From this exchange interaction, each spin i will be submitted to a magnetic torque omega, and its associated atom can be submitted to a @@ -57,7 +57,7 @@ force F for spin-lattice calculations (see with h the Planck constant (in metal units). More details about the derivation of these torques/forces are reported in -"(Tranchida)"_#Tranchida1. +"(Tranchida)"_#Tranchida3. :line @@ -77,6 +77,5 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :line -:link(Tranchida1) -[(Tranchida)]https://arxiv.org/abs/1801.10233 - +:link(Tranchida3) +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson. diff --git a/doc/src/pair_spin_me.txt b/doc/src/pair_spin_me.txt index 149a4c5f2c..8b3b69fdee 100644 --- a/doc/src/pair_spin_me.txt +++ b/doc/src/pair_spin_me.txt @@ -45,7 +45,7 @@ force F for spin-lattice calculations (see with h the Planck constant (in metal units). More details about the derivation of these torques/forces are reported in -"(Tranchida)"_#Tranchida1. +"(Tranchida)"_#Tranchida4. :line @@ -68,6 +68,5 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :link(Katsura1) [(Katsura)] H. Katsura, N. Nagaosa, A.V. Balatsky. Phys. Rev. Lett., 95(5), 057205. (2005) -:link(Tranchida1) -[(Tranchida)] J. Tranchida, S.J. Plimpton, P. Thibaudeau, A.P. Thompson. -arXiv preprint arXiv:1801.10233. (2018) +:link(Tranchida4) +[(Tranchida)] Tranchida, Plimpton, Thibaudeau, and Thompson. diff --git a/doc/src/pair_spin_soc_dmi.txt b/doc/src/pair_spin_soc_dmi.txt index e669b7ccfd..acbd5148ad 100644 --- a/doc/src/pair_spin_soc_dmi.txt +++ b/doc/src/pair_spin_soc_dmi.txt @@ -49,7 +49,7 @@ the value of the DM interaction for the N neighbor shells taken into account. Examples and more explanations about this function and its parametrization are reported -in "(Tranchida)"_#Tranchida1. +in "(Tranchida)"_#Tranchida5. From this DM interaction, each spin i will be submitted to a magnetic torque omega and its associated atom to a force F (for spin-lattice calculations only), @@ -60,7 +60,7 @@ such as: with h the Planck constant (in metal units). More details about the derivation of these torques/forces are reported in -"(Tranchida)"_#Tranchida1. +"(Tranchida)"_#Tranchida5. :line @@ -80,6 +80,5 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :line -:link(Tranchida1) -[(Tranchida)]https://arxiv.org/abs/1801.10233 - +:link(Tranchida5) +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson. diff --git a/doc/src/pair_spin_soc_neel.txt b/doc/src/pair_spin_soc_neel.txt index 5f24234d0c..ffe0fed3c2 100644 --- a/doc/src/pair_spin_soc_neel.txt +++ b/doc/src/pair_spin_soc_neel.txt @@ -49,7 +49,7 @@ the value of the DM interaction for the N neighbor shells taken into account. Examples and more explanations about this function and its parametrization are reported -in "(Tranchida)"_#Tranchida1. +in "(Tranchida)"_#Tranchida6. From this DM interaction, each spin i will be submitted to a magnetic torque omega and its associated atom to a force F (for spin-lattice calculations only), @@ -60,7 +60,7 @@ such as: with h the Planck constant (in metal units). More details about the derivation of these torques/forces are reported in -"(Tranchida)"_#Tranchida1. +"(Tranchida)"_#Tranchida6. :line @@ -80,6 +80,6 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :line -:link(Tranchida1) -[(Tranchida)]https://arxiv.org/abs/1801.10233 +:link(Tranchida6) +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson. -- GitLab From 65b7e43a912e5894f953ffba836bec56890e3954 Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 21 Mar 2018 07:55:41 -0600 Subject: [PATCH 084/675] Examples and docs --- examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc | 1 + .../Co_PurjaPun_2012.eam.alloy | 6006 ----------------- examples/SPIN/curie_temperature/compliance.py | 95 - examples/SPIN/curie_temperature/displace.mod | 142 - .../SPIN/curie_temperature/in.spin.cobalt | 59 - .../in.spin.curie_temperature | 204 - examples/SPIN/curie_temperature/init.mod | 55 - examples/SPIN/curie_temperature/potential.mod | 30 - examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy | 6006 ----------------- examples/SPIN/dev/in.spin.cobalt | 129 - examples/SPIN/dev/in.spin.kagome | 126 - .../exchange_fit_fcc_ni/exchange_fcc_ni.dat | 5 + .../exchange_fit_fcc_ni/exchange_fit.py | 32 + examples/SPIN/nickel/in.spin.nickel | 14 +- examples/SPIN/skyrmion/in.spin.skyrmion | 81 - 15 files changed, 45 insertions(+), 12940 deletions(-) delete mode 100644 examples/SPIN/curie_temperature/Co_PurjaPun_2012.eam.alloy delete mode 100755 examples/SPIN/curie_temperature/compliance.py delete mode 100644 examples/SPIN/curie_temperature/displace.mod delete mode 100644 examples/SPIN/curie_temperature/in.spin.cobalt delete mode 100644 examples/SPIN/curie_temperature/in.spin.curie_temperature delete mode 100644 examples/SPIN/curie_temperature/init.mod delete mode 100644 examples/SPIN/curie_temperature/potential.mod delete mode 100644 examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy delete mode 100644 examples/SPIN/dev/in.spin.cobalt delete mode 100644 examples/SPIN/dev/in.spin.kagome create mode 100644 examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni.dat create mode 100644 examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fit.py delete mode 100644 examples/SPIN/skyrmion/in.spin.skyrmion diff --git a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc index 5f74afbd5b..8428e1fe9e 100644 --- a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc +++ b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc @@ -36,6 +36,7 @@ fix 3 all integration/spin lattice yes timestep 0.0001 +# compute and output options compute out_mag all compute/spin compute out_pe all pe diff --git a/examples/SPIN/curie_temperature/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/curie_temperature/Co_PurjaPun_2012.eam.alloy deleted file mode 100644 index 3af058baf7..0000000000 --- a/examples/SPIN/curie_temperature/Co_PurjaPun_2012.eam.alloy +++ /dev/null @@ -1,6006 +0,0 @@ -Cobalt EAM potential: G. P. Purja Pun and Y. Mishin, Phys. Rev. B xx, 004100 (2012) (in press) -Data below r = 1.5 A is extrapolated. F(Rho) data not extrapolated. -Created on Wed Sep 26 17:29:54 2012 -1 Co -10000 4.788742913000000e-04 10000 6.499539000000001e-04 6.499539000000000e+00 -27 5.893320000000000e+01 2.507000000000000e+00 hcp - -1.680303080000000e-02 -1.879913964471138e-02 -2.091739081044659e-02 -2.303564197615629e-02 -2.503175082079116e-02 - -2.681996612041136e-02 -2.846010103933253e-02 -3.003179469400266e-02 -3.154842562124295e-02 -3.300931506782415e-02 - -3.442381570000001e-02 -3.580233366714632e-02 -3.714945763166951e-02 -3.846832763111274e-02 -3.976210669053554e-02 - -4.103374908125148e-02 -4.228535107207521e-02 -4.351872320172212e-02 -4.473539109100971e-02 -4.593674531110434e-02 - -4.712392115246503e-02 -4.829795108118731e-02 -4.945971154662068e-02 -5.061001094949964e-02 -5.174954151284258e-02 - -5.287894548568519e-02 -5.399878139884967e-02 -5.510957102742049e-02 -5.621177284174523e-02 -5.730581735016625e-02 - -5.839208651773948e-02 -5.947094067448531e-02 -6.054270215356945e-02 -6.160767623453070e-02 -6.266613797925552e-02 - -6.371834880435967e-02 -6.476454576302854e-02 -6.580495483863194e-02 -6.683978209870683e-02 -6.786922452279202e-02 - -6.889346265426707e-02 -6.991266949659354e-02 -7.092700432972064e-02 -7.193662011890395e-02 -7.294165829413661e-02 - -7.394225494811188e-02 -7.493853635958479e-02 -7.593062425993033e-02 -7.691863200494162e-02 -7.790266905197404e-02 - -7.888283764021425e-02 -7.985923664258643e-02 -8.083195868513401e-02 -8.180109346997461e-02 -8.276672525040257e-02 - -8.372893572415932e-02 -8.468780181559693e-02 -8.564339820511864e-02 -8.659579537072190e-02 -8.754506181558984e-02 - -8.849126234605453e-02 -8.943446001410092e-02 -9.037471455117625e-02 -9.131208412841478e-02 -9.224662399623559e-02 - -9.317838801321032e-02 -9.410742739123597e-02 -9.503379209498646e-02 -9.595752974691800e-02 -9.687868684755546e-02 - -9.779730775191570e-02 -9.871343580120046e-02 -9.962711242685958e-02 -1.005383781439554e-01 -1.014472717117523e-01 - -1.023538310651938e-01 -1.032580925977369e-01 -1.041600919387366e-01 -1.050598632026273e-01 -1.059574398208095e-01 - -1.068528540074704e-01 -1.077461373458066e-01 -1.086373201122683e-01 -1.095264320028559e-01 -1.104135016985198e-01 - -1.112985573626335e-01 -1.121816261033156e-01 -1.130627345294291e-01 -1.139419083080692e-01 -1.148191726662944e-01 - -1.156945520127823e-01 -1.165680703406650e-01 -1.174397507992727e-01 -1.183096161572101e-01 -1.191776885039839e-01 - -1.200439895800373e-01 -1.209085404086571e-01 -1.217713616730546e-01 -1.226324734132936e-01 -1.234918953788508e-01 - -1.243496468000000e-01 -1.252057466264230e-01 -1.260602132046348e-01 -1.269130646065986e-01 -1.277643184092350e-01 - -1.286139919512837e-01 -1.294621021138015e-01 -1.303086655551642e-01 -1.311536985007052e-01 -1.319972169590798e-01 - -1.328392365052704e-01 -1.336797725161469e-01 -1.345188400098036e-01 -1.353564538215464e-01 -1.361926284143060e-01 - -1.370273780803152e-01 -1.378607168013910e-01 -1.386926583917836e-01 -1.395232163058920e-01 -1.403524038515728e-01 - -1.411802341103638e-01 -1.420067200256853e-01 -1.428318742148069e-01 -1.436557091565456e-01 -1.444782371020595e-01 - -1.452994701862315e-01 -1.461194203065015e-01 -1.469380992388567e-01 -1.477555185109162e-01 -1.485716895480879e-01 - -1.493866236153044e-01 -1.502003318703277e-01 -1.510128252027127e-01 -1.518241144121522e-01 -1.526342102070998e-01 - -1.534431232126203e-01 -1.542508638114616e-01 -1.550574422930448e-01 -1.558628688157988e-01 -1.566671534698807e-01 - -1.574703062033520e-01 -1.582723368973844e-01 -1.590732553076882e-01 -1.598730711132973e-01 -1.606717938120008e-01 - -1.614694328459875e-01 -1.622659976162905e-01 -1.630614974730487e-01 -1.638559416039789e-01 -1.646493391351259e-01 - -1.654416991082678e-01 -1.662330305252601e-01 -1.670233423125346e-01 -1.678126433512354e-01 -1.686009424167802e-01 - -1.693882482431861e-01 -1.701745695045948e-01 -1.709599148401449e-01 -1.717442928088396e-01 -1.725277119385885e-01 - -1.733101807130639e-01 -1.740917075837066e-01 -1.748723009172683e-01 -1.756519690655456e-01 -1.764307204052008e-01 - -1.772085632840185e-01 -1.779855059094047e-01 -1.787615564692287e-01 -1.795367232135896e-01 -1.803110143830451e-01 - -1.810844381177561e-01 -1.818570025406103e-01 -1.826287158057983e-01 -1.833995860626770e-01 -1.841696214099643e-01 - -1.849388299454831e-01 -1.857072198141128e-01 -1.864747991526175e-01 -1.872415760182443e-01 -1.880075584641173e-01 - -1.887727546063884e-01 -1.895371725773110e-01 -1.903008205105196e-01 -1.910637065418589e-01 -1.918258388146347e-01 - -1.925872254807121e-01 -1.933478747187342e-01 -1.941077947209150e-01 -1.948669937069724e-01 -1.956254799127480e-01 - -1.963832616110719e-01 -1.971403470967068e-01 -1.978967447151567e-01 -1.986524628291068e-01 -1.994075098192274e-01 - -2.001618941005484e-01 -2.009156242075518e-01 -2.016687086990372e-01 -2.024211561116226e-01 -2.031729750127928e-01 - -2.039241741156804e-01 -2.046747621691974e-01 -2.054247479197256e-01 -2.061741401521784e-01 -2.069229478081280e-01 - -2.076711798806499e-01 -2.084188454121736e-01 -2.091659534755806e-01 -2.099125132162076e-01 -2.106585338443872e-01 - -2.114040247579823e-01 -2.121489953974893e-01 -2.128934551864067e-01 -2.136374136027109e-01 -2.143808803592873e-01 - -2.151238652468154e-01 -2.158663781322411e-01 -2.166084289346303e-01 -2.173500277052638e-01 -2.180911845646947e-01 - -2.188319097783510e-01 -2.195722136949507e-01 -2.203121068514981e-01 -2.210515998518519e-01 -2.217907033790026e-01 - -2.225294282016381e-01 -2.232677853521022e-01 -2.240057859531163e-01 -2.247434412252567e-01 -2.254807624804862e-01 - -2.262177612984613e-01 -2.269544493586047e-01 -2.276908384717110e-01 -2.284269405581227e-01 -2.291627678450005e-01 - -2.298983326532392e-01 -2.306336473718499e-01 -2.313687245044682e-01 -2.321035769451089e-01 -2.328382177230701e-01 - -2.335726600184018e-01 -2.343069171312917e-01 -2.350410026917230e-01 -2.357749304696442e-01 -2.365087144650665e-01 - -2.372423688046511e-01 -2.379759078915950e-01 -2.387093462817347e-01 -2.394426988649284e-01 -2.401759806938325e-01 - -2.409092071382775e-01 -2.416423937275558e-01 -2.423755563116356e-01 -2.431087109081851e-01 -2.438418738849959e-01 - -2.445750618045980e-01 -2.453082916583512e-01 -2.460415806101058e-01 -2.467749460848467e-01 -2.475084057095742e-01 - -2.482419776582159e-01 -2.489756803241430e-01 -2.497095324315720e-01 -2.504435529132133e-01 -2.511777612049070e-01 - -2.519121769824342e-01 -2.526468203782122e-01 -2.533817117688987e-01 -2.541168720514789e-01 -2.548523223627430e-01 - -2.555880842783758e-01 -2.563241796571988e-01 -2.570606310516858e-01 -2.577974612919421e-01 -2.585346936249472e-01 - -2.592723515924181e-01 -2.600104594981498e-01 -2.607490419576605e-01 -2.614881240712832e-01 -2.622277312727207e-01 - -2.629678898443362e-01 -2.637086264051527e-01 -2.644499680721714e-01 -2.651919423187013e-01 -2.659345775453039e-01 - -2.666779025531186e-01 -2.674219468183432e-01 -2.681667401972407e-01 -2.689123133912765e-01 -2.696586975492495e-01 - -2.704059247640904e-01 -2.711540275538941e-01 -2.719030391932789e-01 -2.726529934197978e-01 -2.734039250662187e-01 - -2.741558694758598e-01 -2.749088629390239e-01 -2.756629422674556e-01 -2.764181454116789e-01 -2.771745108563868e-01 - -2.779320780841674e-01 -2.786908871694924e-01 -2.794509795564719e-01 -2.802123972949423e-01 -2.809751834880072e-01 - -2.817393818716988e-01 -2.825050376604960e-01 -2.832721967688652e-01 -2.840409064327807e-01 -2.848112145951165e-01 - -2.855831707048412e-01 -2.863568249759762e-01 -2.871322291766564e-01 -2.879094358829076e-01 -2.886884993482028e-01 - -2.894694746623641e-01 -2.902524185831628e-01 -2.910373887617654e-01 -2.918244447549689e-01 -2.926136470970381e-01 - -2.934050583264800e-01 -2.941987419693519e-01 -2.949947634976693e-01 -2.957931894604184e-01 -2.965940887685082e-01 - -2.973975314584912e-01 -2.982035897075678e-01 -2.990123368838905e-01 -2.998238489787670e-01 -3.006382032814213e-01 - -3.014554796495834e-01 -3.022757592753754e-01 -3.030991261199829e-01 -3.039256655881672e-01 -3.047554660899296e-01 - -3.055886175640754e-01 -3.064252130593845e-01 -3.072653472379187e-01 -3.081091181048918e-01 -3.089566254021406e-01 - -3.098079724748395e-01 -3.106632645082006e-01 -3.115226104442510e-01 -3.123861211846884e-01 -3.132539117130802e-01 - -3.141260990998875e-01 -3.150028046812773e-01 -3.158841520361693e-01 -3.167702694487885e-01 -3.176612875689104e-01 - -3.185573418032087e-01 -3.194585700942650e-01 -3.203651157713922e-01 -3.212771249044592e-01 -3.221947491388281e-01 - -3.231181430183639e-01 -3.240474671054514e-01 -3.249828850672117e-01 -3.259245669711927e-01 -3.268726862299913e-01 - -3.278274232359761e-01 -3.287889619469540e-01 -3.297574936027157e-01 -3.307332132733838e-01 -3.317163240684192e-01 - -3.327070332351553e-01 -3.337055565330767e-01 -3.347121141277095e-01 -3.357269352965953e-01 -3.367502540927247e-01 - -3.377823145588749e-01 -3.388233658450175e-01 -3.398736675401181e-01 -3.409334847493447e-01 -3.420030942036733e-01 - -3.430827786115977e-01 -3.441728329658748e-01 -3.452735586625544e-01 -3.463852704265985e-01 -3.475082899277179e-01 - -3.486429532857090e-01 -3.497896041380748e-01 -3.509486017430585e-01 -3.521203134619261e-01 -3.533051234472958e-01 - -3.545034246605078e-01 -3.557156285064298e-01 -3.569421559513399e-01 -3.581834477636310e-01 -3.594399550688090e-01 - -3.607121506187135e-01 -3.620005184199024e-01 -3.633055658714727e-01 -3.646278119965309e-01 -3.659677989216845e-01 - -3.673260803339768e-01 -3.687032330586966e-01 -3.700998457090232e-01 -3.715165309114429e-01 -3.729539131544640e-01 - -3.744126403613781e-01 -3.758933720658462e-01 -3.773967908082255e-01 -3.789235902651524e-01 -3.804744856516886e-01 - -3.820502023195389e-01 -3.836514846285581e-01 -3.852790856353807e-01 -3.869337741756033e-01 -3.886163256972291e-01 - -3.903275263189269e-01 -3.920681658458204e-01 -3.938390381581898e-01 -3.956409370872805e-01 -3.974746521930466e-01 - -3.993409682701225e-01 -4.012406553231547e-01 -4.031744727439548e-01 -4.051431522629808e-01 -4.071474082130475e-01 - -4.091879129977703e-01 -4.112653138348391e-01 -4.133801991274390e-01 -4.155331235094092e-01 -4.177245653517079e-01 - -4.199549603385881e-01 -4.222246496703586e-01 -4.245339230260172e-01 -4.268829584832519e-01 -4.292718744431503e-01 - -4.317006622016948e-01 -4.341692468068394e-01 -4.366774154195978e-01 -4.392248845800756e-01 -4.418112262316757e-01 - -4.444359401252420e-01 -4.470983818380713e-01 -4.497978365893122e-01 -4.525334523390530e-01 -4.553043120100788e-01 - -4.581093756350076e-01 -4.609475466791835e-01 -4.638176252290113e-01 -4.667183660407072e-01 -4.696484459287199e-01 - -4.726065094563343e-01 -4.755911501239359e-01 -4.786009429283761e-01 -4.816344399152602e-01 -4.846901882843556e-01 - -4.877667388033212e-01 -4.908626497957108e-01 -4.939765062407663e-01 -4.971069114027755e-01 -5.002525150305011e-01 - -5.034119937007041e-01 -5.065840848176727e-01 -5.097675587133593e-01 -5.129612566028576e-01 -5.161640565945169e-01 - -5.193749134865747e-01 -5.225928209640586e-01 -5.258168515692775e-01 -5.290461169135583e-01 -5.322798060270272e-01 - -5.355171460831645e-01 -5.387574394100244e-01 -5.420000245805213e-01 -5.452443099924439e-01 -5.484897376520451e-01 - -5.517358141745681e-01 -5.549820769247875e-01 -5.582281216566209e-01 -5.614735718423751e-01 -5.647181034387753e-01 - -5.679614169890416e-01 -5.712032588979591e-01 -5.744433972991336e-01 -5.776816413798681e-01 -5.809178193507762e-01 - -5.841517944620215e-01 -5.873834463985003e-01 -5.906126855444893e-01 -5.938394364748391e-01 -5.970636498273136e-01 - -6.002852884426439e-01 -6.035043379105128e-01 -6.067207941645156e-01 -6.099346717649501e-01 -6.131459940881434e-01 - -6.163548011478311e-01 -6.195611404873568e-01 -6.227650731310865e-01 -6.259666663617727e-01 -6.291659990146931e-01 - -6.323631552654742e-01 -6.355582290986170e-01 -6.387513188871106e-01 -6.419425307490256e-01 -6.451319745539882e-01 - -6.483197674327603e-01 -6.515060293214946e-01 -6.546908841167685e-01 -6.578744572836812e-01 -6.610568766009968e-01 - -6.642382709221243e-01 -6.674187710853904e-01 -6.705985088370179e-01 -6.737776175698923e-01 -6.769562312911304e-01 - -6.801344848181089e-01 -6.833125134999645e-01 -6.864904540026142e-01 -6.896684434132225e-01 -6.928466191871651e-01 - -6.960251190039876e-01 -6.992040810717012e-01 -7.023836437724149e-01 -7.055639456561626e-01 -7.087451254024176e-01 - -7.119273220404884e-01 -7.151106745784721e-01 -7.182953215897911e-01 -7.214814016245582e-01 -7.246690535743215e-01 - -7.278584163200112e-01 -7.310496283586513e-01 -7.342428280442573e-01 -7.374381535427195e-01 -7.406357429444993e-01 - -7.438357342264661e-01 -7.470382651689156e-01 -7.502434728794412e-01 -7.534514943101106e-01 -7.566624664635970e-01 - -7.598765262236051e-01 -7.630938099473661e-01 -7.663144537782537e-01 -7.695385935306881e-01 -7.727663648349232e-01 - -7.759979029135046e-01 -7.792333428394971e-01 -7.824728194957561e-01 -7.857164675195603e-01 -7.889644207560909e-01 - -7.922168128628783e-01 -7.954737775389469e-01 -7.987354483417761e-01 -8.020019582211745e-01 -8.052734399002169e-01 - -8.085500258027153e-01 -8.118318481538471e-01 -8.151190386835121e-01 -8.184117289678831e-01 -8.217100504635063e-01 - -8.250141343769457e-01 -8.283241110344656e-01 -8.316401105683494e-01 -8.349622632152548e-01 -8.382906990624389e-01 - -8.416255474951805e-01 -8.449669376504778e-01 -8.483149983741850e-01 -8.516698583310095e-01 -8.550316457522134e-01 - -8.584004886419279e-01 -8.617765145292081e-01 -8.651598508088844e-01 -8.685506248139727e-01 -8.719489622521989e-01 - -8.753549823919468e-01 -8.787687997490927e-01 -8.821905162688262e-01 -8.856202278084699e-01 -8.890580184445617e-01 - -8.925039663319011e-01 -8.959581377191167e-01 -8.994205926453692e-01 -9.028913782181163e-01 -9.063705352609543e-01 - -9.098580923937473e-01 -9.133540718558304e-01 -9.168584825681617e-01 -9.203713268261465e-01 -9.238925937413506e-01 - -9.274222656928153e-01 -9.309603113133150e-01 -9.345066924037853e-01 -9.380613571840678e-01 -9.416242468397124e-01 - -9.451952880001965e-01 -9.487744002152808e-01 -9.523614892719469e-01 -9.559564538973973e-01 -9.595591783425093e-01 - -9.631695396882074e-01 -9.667874008119273e-01 -9.704126174878044e-01 -9.740450312802591e-01 -9.776844767743714e-01 - -9.813307748475731e-01 -9.849837394560669e-01 -9.886431705787867e-01 -9.923088615430331e-01 -9.959805930468456e-01 - -9.996581394281877e-01 -1.003341262213973e+00 -1.007029716826452e+00 -1.010723247080268e+00 -1.014421591236032e+00 - -1.018124476945841e+00 -1.021831626529500e+00 -1.025542751586175e+00 -1.029257558992056e+00 -1.032975747452084e+00 - -1.036697011770175e+00 -1.040421039317395e+00 -1.044147513860548e+00 -1.047876112182243e+00 -1.051606508161453e+00 - -1.055338371046766e+00 -1.059071368055605e+00 -1.062805162911107e+00 -1.066539417837194e+00 -1.070273792555226e+00 - -1.074007946119602e+00 -1.077741537419413e+00 -1.081474225260823e+00 -1.085205668283577e+00 -1.088935525821090e+00 - -1.092663460147868e+00 -1.096389134999202e+00 -1.100112217012435e+00 -1.103832374788097e+00 -1.107549281877421e+00 - -1.111262614364874e+00 -1.114972053517157e+00 -1.118677283811066e+00 -1.122377997381517e+00 -1.126073890115035e+00 - -1.129764665246453e+00 -1.133450029987863e+00 -1.137129700112097e+00 -1.140803395884355e+00 -1.144470846978575e+00 - -1.148131787996958e+00 -1.151785963846005e+00 -1.155433124321719e+00 -1.159073028473816e+00 -1.162705440550504e+00 - -1.166330136340245e+00 -1.169946897198408e+00 -1.173555515207745e+00 -1.177155787675114e+00 -1.180747522076412e+00 - -1.184330531453910e+00 -1.187904640946331e+00 -1.191469681045491e+00 -1.195025491559137e+00 -1.198571917630371e+00 - -1.202108816427798e+00 -1.205636050425976e+00 -1.209153491297797e+00 -1.212661015717853e+00 -1.216158511169199e+00 - -1.219645870103956e+00 -1.223122994042052e+00 -1.226589789250444e+00 -1.230046171916402e+00 -1.233492062734542e+00 - -1.236927390508550e+00 -1.240352088211073e+00 -1.243766097381527e+00 -1.247169363751694e+00 -1.250561841256042e+00 - -1.253943487695246e+00 -1.257314268132119e+00 -1.260674151007197e+00 -1.264023111009775e+00 -1.267361126327042e+00 - -1.270688182889021e+00 -1.274004269717549e+00 -1.277309380458899e+00 -1.280603511471348e+00 -1.283886665336751e+00 - -1.287158847447705e+00 -1.290420068216200e+00 -1.293670340397085e+00 -1.296909681097245e+00 -1.300138109654688e+00 - -1.303355649979877e+00 -1.306562327924205e+00 -1.309758172530325e+00 -1.312943214678930e+00 -1.316117489411603e+00 - -1.319281033477409e+00 -1.322433886294459e+00 -1.325576088655014e+00 -1.328707684178879e+00 -1.331828717822939e+00 - -1.334939237064845e+00 -1.338039290534788e+00 -1.341128928952336e+00 -1.344208204044806e+00 -1.347277169481128e+00 - -1.350335879836220e+00 -1.353384391367341e+00 -1.356422761075585e+00 -1.359451047255056e+00 -1.362469308854003e+00 - -1.365477606144248e+00 -1.368475999956682e+00 -1.371464552034891e+00 -1.374443324607048e+00 -1.377412380926959e+00 - -1.380371784452904e+00 -1.383321598435415e+00 -1.386261886043311e+00 -1.389192710326296e+00 -1.392114134331963e+00 - -1.395026221218571e+00 -1.397929034013782e+00 -1.400822635112213e+00 -1.403707086730599e+00 -1.406582451007194e+00 - -1.409448790047375e+00 -1.412306165903488e+00 -1.415154640386279e+00 -1.417994274393129e+00 -1.420825128672226e+00 - -1.423647264288326e+00 -1.426460742270041e+00 -1.429265623184807e+00 -1.432061967292326e+00 -1.434849834082543e+00 - -1.437629282863016e+00 -1.440400372981510e+00 -1.443163163644870e+00 -1.445917713456040e+00 -1.448664080745027e+00 - -1.451402323353998e+00 -1.454132498983212e+00 -1.456854665253158e+00 -1.459568879518891e+00 -1.462275198153495e+00 - -1.464973677286479e+00 -1.467664373054985e+00 -1.470347341460922e+00 -1.473022637957602e+00 -1.475690317602213e+00 - -1.478350434416031e+00 -1.481003042251009e+00 -1.483648195317718e+00 -1.486285947650543e+00 -1.488916352220507e+00 - -1.491539461636770e+00 -1.494155328124374e+00 -1.496764003712290e+00 -1.499365540029296e+00 -1.501959988475343e+00 - -1.504547399935251e+00 -1.507127824972320e+00 -1.509701313378898e+00 -1.512267914702716e+00 -1.514827678283996e+00 - -1.517380653263305e+00 -1.519926888190102e+00 -1.522466431291609e+00 -1.524999330097196e+00 -1.527525631932397e+00 - -1.530045384005255e+00 -1.532558633226744e+00 -1.535065425437065e+00 -1.537565806237489e+00 -1.540059821344337e+00 - -1.542547516227056e+00 -1.545028935252552e+00 -1.547504122520188e+00 -1.549973122161691e+00 -1.552435978060152e+00 - -1.554892733071735e+00 -1.557343429814709e+00 -1.559788110982664e+00 -1.562226819032855e+00 -1.564659595401864e+00 - -1.567086481207361e+00 -1.569507517312065e+00 -1.571922744465970e+00 -1.574332203223133e+00 -1.576735933784567e+00 - -1.579133975135047e+00 -1.581526366095511e+00 -1.583913146047792e+00 -1.586294354132112e+00 -1.588670027961349e+00 - -1.591040204840321e+00 -1.593404922368944e+00 -1.595764217997401e+00 -1.598118128281829e+00 -1.600466689560657e+00 - -1.602809938195509e+00 -1.605147910317183e+00 -1.607480641109968e+00 -1.609808165462235e+00 -1.612130518025190e+00 - -1.614447733364541e+00 -1.616759845941160e+00 -1.619066889913862e+00 -1.621368898338053e+00 -1.623665904067572e+00 - -1.625957940253400e+00 -1.628245039905108e+00 -1.630527235169479e+00 -1.632804557955816e+00 -1.635077040086276e+00 - -1.637344713164072e+00 -1.639607608003776e+00 -1.641865755216986e+00 -1.644119185392045e+00 -1.646367929030376e+00 - -1.648612016308968e+00 -1.650851477080719e+00 -1.653086340226579e+00 -1.655316634503563e+00 -1.657542389144867e+00 - -1.659763633269537e+00 -1.661980395063818e+00 -1.664192702419508e+00 -1.666400582983419e+00 -1.668604064251645e+00 - -1.670803173362428e+00 -1.672997937236383e+00 -1.675188382281491e+00 -1.677374534802169e+00 -1.679556421201192e+00 - -1.681734067628149e+00 -1.683907499121518e+00 -1.686076740528519e+00 -1.688241817042459e+00 -1.690402753749855e+00 - -1.692559574964003e+00 -1.694712304797627e+00 -1.696860967334408e+00 -1.699005586454806e+00 -1.701146185255449e+00 - -1.703282786721620e+00 -1.705415414177082e+00 -1.707544090831449e+00 -1.709668839099297e+00 -1.711789681156861e+00 - -1.713906639022084e+00 -1.716019734585396e+00 -1.718128989385494e+00 -1.720234424849230e+00 -1.722336062307809e+00 - -1.724433922917529e+00 -1.726528027230686e+00 -1.728618395721282e+00 -1.730705049154116e+00 -1.732788008101886e+00 - -1.734867292078088e+00 -1.736942920442919e+00 -1.739014913002594e+00 -1.741083289547465e+00 -1.743148069358425e+00 - -1.745209271450225e+00 -1.747266914282488e+00 -1.749321016270471e+00 -1.751371596207075e+00 -1.753418672811714e+00 - -1.755462264132180e+00 -1.757502388000569e+00 -1.759539062057792e+00 -1.761572303881055e+00 -1.763602130983907e+00 - -1.765628560778196e+00 -1.767651610332621e+00 -1.769671296580689e+00 -1.771687636258316e+00 -1.773700645994041e+00 - -1.775710342184503e+00 -1.777716741146727e+00 -1.779719859111176e+00 -1.781719712181211e+00 -1.783716316038327e+00 - -1.785709686327057e+00 -1.787699838965949e+00 -1.789686789700248e+00 -1.791670553307960e+00 -1.793651144443631e+00 - -1.795628578235185e+00 -1.797602869852874e+00 -1.799574034162875e+00 -1.801542085839167e+00 -1.803507039091021e+00 - -1.805468908052258e+00 -1.807427707019619e+00 -1.809383450209764e+00 -1.811336151356113e+00 -1.813285824110837e+00 - -1.815232482284336e+00 -1.817176139592257e+00 -1.819116809213001e+00 -1.821054504262256e+00 -1.822989238142106e+00 - -1.824921024174149e+00 -1.826849875071642e+00 -1.828775803432498e+00 -1.830698822001605e+00 -1.832618943490715e+00 - -1.834536180332052e+00 -1.836450544855570e+00 -1.838362049261658e+00 -1.840270705693083e+00 -1.842176526191684e+00 - -1.844079522732226e+00 -1.845979707122125e+00 -1.847877091069540e+00 -1.849771686052976e+00 -1.851663503515020e+00 - -1.853552554984233e+00 -1.855438851906239e+00 -1.857322405308933e+00 -1.859203226114476e+00 -1.861081325239847e+00 - -1.862956713608023e+00 -1.864829402171162e+00 -1.866699401811557e+00 -1.868566723102871e+00 -1.870431376467943e+00 - -1.872293372034969e+00 -1.874152719980291e+00 -1.876009430967454e+00 -1.877863515541558e+00 -1.879714983286677e+00 - -1.881563843740828e+00 -1.883410107218835e+00 -1.885253783963326e+00 -1.887094883151373e+00 -1.888933413891583e+00 - -1.890769386084288e+00 -1.892602809677417e+00 -1.894433694017575e+00 -1.896262048252058e+00 -1.898087881332244e+00 - -1.899911202238771e+00 -1.901732020265218e+00 -1.903550344662578e+00 -1.905366184198560e+00 -1.907179547502340e+00 - -1.908990443132265e+00 -1.910798879695625e+00 -1.912604866066330e+00 -1.914408411061036e+00 -1.916209523000752e+00 - -1.918008210058423e+00 -1.919804480310377e+00 -1.921598341888620e+00 -1.923389803244497e+00 -1.925178872754823e+00 - -1.926965558178970e+00 -1.928749867237572e+00 -1.930531808113790e+00 -1.932311388923252e+00 -1.934088617048956e+00 - -1.935863499807747e+00 -1.937636044984464e+00 -1.939406260367225e+00 -1.941174153289245e+00 -1.942939731044444e+00 - -1.944703001224463e+00 -1.946463971324967e+00 -1.948222648160018e+00 -1.949979038559213e+00 -1.951733150095908e+00 - -1.953484990331042e+00 -1.955234566032130e+00 -1.956981883796339e+00 -1.958726950332857e+00 -1.960469772453529e+00 - -1.962210357268799e+00 -1.963948711773954e+00 -1.965684842205069e+00 -1.967418754747339e+00 -1.969150456141664e+00 - -1.970879953151972e+00 -1.972607252078582e+00 -1.974332359180596e+00 -1.976055281015821e+00 -1.977776024078765e+00 - -1.979494594312026e+00 -1.981210997612849e+00 -1.982925240248993e+00 -1.984637328483028e+00 -1.986347268186276e+00 - -1.988055065135925e+00 -1.989760725123873e+00 -1.991464254028801e+00 -1.993165658061782e+00 -1.994864943305917e+00 - -1.996562115000000e+00 -1.998257178352118e+00 -1.999950139291834e+00 -2.001641003786081e+00 -2.003329777229788e+00 - -2.005016464899233e+00 -2.006701072168050e+00 -2.008383604435580e+00 -2.010064067106614e+00 -2.011742465557514e+00 - -2.013418805045480e+00 -2.015093090790721e+00 -2.016765327984645e+00 -2.018435521788566e+00 -2.020103677272243e+00 - -2.021769799450648e+00 -2.023433893211152e+00 -2.025095963440481e+00 -2.026756015150358e+00 -2.028414053372033e+00 - -2.030070083089858e+00 -2.031724109167109e+00 -2.033376136029651e+00 -2.035026168111125e+00 -2.036674210313675e+00 - -2.038320267543339e+00 -2.039964344253219e+00 -2.041606444873179e+00 -2.043246574193053e+00 -2.044884736927830e+00 - -2.046520937133174e+00 -2.048155178894251e+00 -2.049787467073582e+00 -2.051417806490505e+00 -2.053046201014273e+00 - -2.054672654449746e+00 -2.056297171294283e+00 -2.057919756136151e+00 -2.059540413234731e+00 -2.061159146675282e+00 - -2.062775960175462e+00 -2.064390857518372e+00 -2.066003843116474e+00 -2.067614921377108e+00 -2.069224096057763e+00 - -2.070831370870978e+00 -2.072436749999330e+00 -2.074040237602111e+00 -2.075641837275425e+00 -2.077241552544816e+00 - -2.078839387216755e+00 -2.080435345153352e+00 -2.082029430158359e+00 -2.083621645967183e+00 -2.085211996100236e+00 - -2.086800484128769e+00 -2.088387114042385e+00 -2.089971889736969e+00 -2.091554814315162e+00 -2.093135890870968e+00 - -2.094715123257078e+00 -2.096292515329556e+00 -2.097868070199266e+00 -2.099441790929908e+00 -2.101013681141721e+00 - -2.102583744473837e+00 -2.104151984084442e+00 -2.105718403103298e+00 -2.107283005027429e+00 -2.108845793364375e+00 - -2.110406771296459e+00 -2.111965941910842e+00 -2.113523308239219e+00 -2.115078873308544e+00 -2.116632640182243e+00 - -2.118184611994434e+00 -2.119734792125529e+00 -2.121283183887100e+00 -2.122829790069075e+00 -2.124374613416041e+00 - -2.125917657012881e+00 -2.127458923984833e+00 -2.128998417278243e+00 -2.130536139767974e+00 -2.132072094221826e+00 - -2.133606283403289e+00 -2.135138710165668e+00 -2.136669377406417e+00 -2.138198288109766e+00 -2.139725445172409e+00 - -2.141250851054121e+00 -2.142774508270670e+00 -2.144296419998729e+00 -2.145816589318136e+00 -2.147335018260493e+00 - -2.148851708859426e+00 -2.150366664204882e+00 -2.151879887475646e+00 -2.153391381149525e+00 -2.154901147551277e+00 - -2.156409189094421e+00 -2.157915508301146e+00 -2.159420108039566e+00 -2.160922991060322e+00 -2.162424159298261e+00 - -2.163923614721020e+00 -2.165421360243191e+00 -2.166917398765767e+00 -2.168411732188371e+00 -2.169904362385663e+00 - -2.171395292133801e+00 -2.172884524283159e+00 -2.174372061079477e+00 -2.175857904621596e+00 -2.177342057025400e+00 - -2.178824520458782e+00 -2.180305297280612e+00 -2.181784389836284e+00 -2.183261800226323e+00 -2.184737530553230e+00 - -2.186211583172279e+00 -2.187683960396664e+00 -2.189154664118480e+00 -2.190623696232450e+00 -2.192091059064924e+00 - -2.193556754973807e+00 -2.195020786011611e+00 -2.196483154140098e+00 -2.197943861263397e+00 -2.199402909290797e+00 - -2.200860300209873e+00 -2.202316036078389e+00 -2.203770119156592e+00 -2.205222551620105e+00 -2.206673335103553e+00 - -2.208122471221687e+00 -2.209569962050753e+00 -2.211015809743800e+00 -2.212460016299604e+00 -2.213902583604158e+00 - -2.215343513246597e+00 -2.216782806815468e+00 -2.218220466193829e+00 -2.219656493330310e+00 -2.221090890141300e+00 - -2.222523658493742e+00 -2.223954800089009e+00 -2.225384316635711e+00 -2.226812210036953e+00 -2.228238482128524e+00 - -2.229663134282465e+00 -2.231086167933421e+00 -2.232507585230206e+00 -2.233927388263609e+00 -2.235345578178182e+00 - -2.236762156112363e+00 -2.238177124126393e+00 -2.239590484325721e+00 -2.241002238074839e+00 -2.242412386688506e+00 - -2.243820932023517e+00 -2.245227875877045e+00 -2.246633219265731e+00 -2.248036963296034e+00 -2.249439110214208e+00 - -2.250839662216949e+00 -2.252238620162919e+00 -2.253635984842608e+00 -2.255031758111861e+00 -2.256425941987018e+00 - -2.257818538061035e+00 -2.259209547728066e+00 -2.260598972010440e+00 -2.261986811976363e+00 -2.263373069249392e+00 - -2.264757745520950e+00 -2.266140842198597e+00 -2.267522360622610e+00 -2.268902302148032e+00 -2.270280668153553e+00 - -2.271657460097697e+00 -2.273032679375423e+00 -2.274406327047590e+00 -2.275778404191426e+00 -2.277148912283742e+00 - -2.278517852852843e+00 -2.279885227233438e+00 -2.281251036662961e+00 -2.282615282183361e+00 -2.283977964870765e+00 - -2.285339086133513e+00 -2.286698647429660e+00 -2.288056650083893e+00 -2.289413095312870e+00 -2.290767984034498e+00 - -2.292121317209354e+00 -2.293473096267451e+00 -2.294823322630535e+00 -2.296171997217860e+00 -2.297519120939147e+00 - -2.298864695168495e+00 -2.300208721271999e+00 -2.301551200119357e+00 -2.302892132586471e+00 -2.304231520070443e+00 - -2.305569363951571e+00 -2.306905665021753e+00 -2.308240424043668e+00 -2.309573642251534e+00 -2.310905320943594e+00 - -2.312235461202651e+00 -2.313564064009707e+00 -2.314891130153991e+00 -2.316216660462560e+00 -2.317540656105554e+00 - -2.318863118293744e+00 -2.320184048057342e+00 -2.321503446385586e+00 -2.322821314284393e+00 -2.324137652689092e+00 - -2.325452462235987e+00 -2.326765743634779e+00 -2.328077498187803e+00 -2.329387727168217e+00 -2.330696431139842e+00 - -2.332003610675342e+00 -2.333309267092103e+00 -2.334613401701304e+00 -2.335916015044585e+00 -2.337217107588464e+00 - -2.338516680268511e+00 -2.339814734134101e+00 -2.341111270220800e+00 -2.342406289434137e+00 -2.343699792173311e+00 - -2.344991778936741e+00 -2.346282251126043e+00 -2.347571210092017e+00 -2.348858656078995e+00 -2.350144589310363e+00 - -2.351429011032167e+00 -2.352711922533504e+00 -2.353993324252988e+00 -2.355273216536063e+00 -2.356551600205969e+00 - -2.357828476165661e+00 -2.359103845159169e+00 -2.360377707896761e+00 -2.361650065112589e+00 -2.362920917562625e+00 - -2.364190266066228e+00 -2.365458111389245e+00 -2.366724454020086e+00 -2.367989294422349e+00 -2.369252633237819e+00 - -2.370514471195048e+00 -2.371774809191487e+00 -2.373033648052395e+00 -2.374290988145372e+00 -2.375546829856004e+00 - -2.376801174099476e+00 -2.378054021758188e+00 -2.379305373053798e+00 -2.380555228228685e+00 -2.381803588268867e+00 - -2.383050454170042e+00 -2.384295826222999e+00 -2.385539704659158e+00 -2.386782090177350e+00 -2.388022983519428e+00 - -2.389262385131917e+00 -2.390500295440986e+00 -2.391736715086700e+00 -2.392971644747536e+00 -2.394205085041701e+00 - -2.395437036486230e+00 -2.396667499253712e+00 -2.397896473568759e+00 -2.399123960208524e+00 -2.400349959968320e+00 - -2.401574473163553e+00 -2.402797500049246e+00 -2.404019041118798e+00 -2.405239096931802e+00 -2.406457668074259e+00 - -2.407674755052769e+00 -2.408890358029935e+00 -2.410104477201394e+00 -2.411317113238899e+00 -2.412528266823138e+00 - -2.413737938194389e+00 -2.414946127524263e+00 -2.416152835150093e+00 -2.417358061488310e+00 -2.418561807106014e+00 - -2.419764072540869e+00 -2.420964858062149e+00 -2.422164163883997e+00 -2.423361990268478e+00 -2.424558337539998e+00 - -2.425753206224426e+00 -2.426946596778449e+00 -2.428138509180588e+00 -2.429328943436301e+00 -2.430517900136966e+00 - -2.431705379929064e+00 -2.432891383093559e+00 -2.434075909789072e+00 -2.435258960050367e+00 -2.436440534002261e+00 - -2.437620632253666e+00 -2.438799255363957e+00 -2.439976403210287e+00 -2.441152075652963e+00 -2.442326273167121e+00 - -2.443498996281469e+00 -2.444670245124171e+00 -2.445840019720089e+00 -2.447008320081434e+00 -2.448175146330043e+00 - -2.449340499038912e+00 -2.450504378726154e+00 -2.451666785239187e+00 -2.452827718349615e+00 -2.453987178196479e+00 - -2.455145165027037e+00 -2.456301679153984e+00 -2.457456720843679e+00 -2.458610290111703e+00 -2.459762386895362e+00 - -2.460913011069636e+00 -2.462062162618941e+00 -2.463209842027783e+00 -2.464356049701044e+00 -2.465500785225038e+00 - -2.466644048210323e+00 -2.467785839182998e+00 -2.468926158651886e+00 -2.470065006141172e+00 -2.471202381154697e+00 - -2.472338284099561e+00 -2.473472715451581e+00 -2.474605675058163e+00 -2.475737162666682e+00 -2.476867178252799e+00 - -2.477995721814551e+00 -2.479122793211214e+00 -2.480248392312651e+00 -2.481372519169843e+00 -2.482495173828069e+00 - -2.483616356128687e+00 -2.484736065895716e+00 -2.485854303087743e+00 -2.486971067738408e+00 -2.488086360047014e+00 - -2.489200180083995e+00 -2.490312527238630e+00 -2.491423400907520e+00 -2.492532801197714e+00 -2.493640728315912e+00 - -2.494747182157012e+00 -2.495852162518061e+00 -2.496955669116524e+00 -2.498057701682506e+00 -2.499158260076250e+00 - -2.500257344205291e+00 -2.501354954036191e+00 -2.502451089487258e+00 -2.503545750224782e+00 -2.504638935878569e+00 - -2.505730646184535e+00 -2.506820880947837e+00 -2.507909640144502e+00 -2.508996923692245e+00 -2.510082731104683e+00 - -2.511167061905791e+00 -2.512249916065080e+00 -2.513331293568936e+00 -2.514411194025691e+00 -2.515489616993924e+00 - -2.516566562211253e+00 -2.517642029416175e+00 -2.518716018171676e+00 -2.519788528087044e+00 -2.520859559132313e+00 - -2.521929111272669e+00 -2.522997184093166e+00 -2.524063777123772e+00 -2.525128890054233e+00 -2.526192522577199e+00 - -2.527254674237163e+00 -2.528315344566595e+00 -2.529374533198041e+00 -2.530432239809303e+00 -2.531488464159136e+00 - -2.532543206017777e+00 -2.533596465120445e+00 -2.534648241083385e+00 -2.535698533081969e+00 -2.536747340380982e+00 - -2.537794663043710e+00 -2.538840501172024e+00 -2.539884854223596e+00 -2.540927721482817e+00 -2.541969102185147e+00 - -2.543008995720672e+00 -2.544047402146914e+00 -2.545084321505733e+00 -2.546119753108897e+00 -2.547153696148885e+00 - -2.548186150071097e+00 -2.549217114438763e+00 -2.550246589033513e+00 -2.551274573561718e+00 -2.552301067210345e+00 - -2.553326069170913e+00 -2.554349579172571e+00 -2.555371597001575e+00 -2.556392122135012e+00 -2.557411153995589e+00 - -2.558428692097672e+00 -2.559444735964176e+00 -2.560459285060548e+00 -2.561472338773803e+00 -2.562483896234721e+00 - -2.563493956701396e+00 -2.564502520197407e+00 -2.565509586690590e+00 -2.566515155160310e+00 -2.567519224484451e+00 - -2.568521794123430e+00 -2.569522863722881e+00 -2.570522433086768e+00 -2.571520501879673e+00 -2.572517069050324e+00 - -2.573512133570669e+00 -2.574505695221420e+00 -2.575497753777856e+00 -2.576488308184784e+00 -2.577477357385580e+00 - -2.578464901148367e+00 -2.579450939304331e+00 -2.580435471112168e+00 -2.581418495678755e+00 -2.582400012076188e+00 - -2.583380019545771e+00 -2.584358518040427e+00 -2.585335507388502e+00 -2.586310986208430e+00 -2.587284953146766e+00 - -2.588257408172476e+00 -2.589228351266687e+00 -2.590197781136742e+00 -2.591165696464199e+00 -2.592132097101227e+00 - -2.593096982965479e+00 -2.594060353065933e+00 -2.595022206300420e+00 -2.595982542030859e+00 -2.596941359648237e+00 - -2.597898658195753e+00 -2.598854436786441e+00 -2.599808695160485e+00 -2.600761432999720e+00 -2.601712649125437e+00 - -2.602662342322502e+00 -2.603610512090611e+00 -2.604557157983472e+00 -2.605502279056006e+00 -2.606445874333086e+00 - -2.607387943218189e+00 -2.608328485131743e+00 -2.609267499183389e+00 -2.610204984445080e+00 -2.611140940148811e+00 - -2.612075365584592e+00 -2.613008260114454e+00 -2.613939623006402e+00 -2.614869453080320e+00 -2.615797749224179e+00 - -2.616724511046408e+00 -2.617649738126216e+00 -2.618573429205448e+00 -2.619495583026503e+00 -2.620416199171340e+00 - -2.621335277249019e+00 -2.622252816137456e+00 -2.623168814653865e+00 -2.624083272103795e+00 -2.624996187859330e+00 - -2.625907561070358e+00 -2.626817390806325e+00 -2.627725676037143e+00 -2.628632415761536e+00 -2.629537609193020e+00 - -2.630441255587996e+00 -2.631343354159609e+00 -2.632243904045731e+00 -2.633142904126422e+00 -2.634040353337229e+00 - -2.634936251093461e+00 -2.635830596765059e+00 -2.636723389060725e+00 -2.637614626713354e+00 -2.638504309213838e+00 - -2.639392436080191e+00 -2.640279006180904e+00 -2.641164018251881e+00 -2.642047471148195e+00 -2.642929363899640e+00 - -2.643809696115713e+00 -2.644688467316341e+00 -2.645565676083456e+00 -2.646441320932559e+00 -2.647315401051427e+00 - -2.648187915755844e+00 -2.649058864201336e+00 -2.649928245427330e+00 -2.650796058169106e+00 -2.651662301248424e+00 - -2.652526974137104e+00 -2.653390076247662e+00 -2.654251606105329e+00 -2.655111562238285e+00 -2.655969944073783e+00 - -2.656826751086593e+00 -2.657681982042466e+00 -2.658535635661370e+00 -2.659387711189145e+00 -2.660238207837736e+00 - -2.661087124157626e+00 -2.661934458755756e+00 -2.662780211126336e+00 -2.663624380741185e+00 -2.664466966095276e+00 - -2.665307965694397e+00 -2.666147379064445e+00 -2.666985205710447e+00 -2.667821444033845e+00 -2.668656092405469e+00 - -2.669489150177272e+00 -2.670320616801000e+00 -2.671150491146469e+00 -2.671978771965001e+00 -2.672805458115896e+00 - -2.673630548501148e+00 -2.674454042085555e+00 -2.675275937884819e+00 -2.676096235055446e+00 -2.676914932653945e+00 - -2.677732029196031e+00 -2.678547523253807e+00 -2.679361414165717e+00 -2.680173701269736e+00 -2.680984383135636e+00 - -2.681793458321363e+00 -2.682600926105787e+00 -2.683406785794135e+00 -2.684211036076172e+00 -2.685013675548027e+00 - -2.685814703046789e+00 -2.686614117528503e+00 -2.687411918184072e+00 -2.688208104155523e+00 -2.689002674154484e+00 - -2.689795626844247e+00 -2.690586961125131e+00 -2.691376675931391e+00 -2.692164770096012e+00 -2.692951242468673e+00 - -2.693736092067127e+00 -2.694519317933390e+00 -2.695300919038479e+00 -2.696080894259941e+00 -2.696859242172434e+00 - -2.697635961409562e+00 -2.698411051143577e+00 -2.699184510529523e+00 -2.699956338114957e+00 -2.700726532498006e+00 - -2.701495093086574e+00 -2.702262019208106e+00 -2.703027309058428e+00 -2.703790960874505e+00 -2.704552974189474e+00 - -2.705313348537555e+00 -2.706072082161119e+00 -2.706829173257158e+00 -2.707584621133000e+00 -2.708338425191227e+00 - -2.709090584105120e+00 -2.709841096442358e+00 -2.710589961077480e+00 -2.711337176962203e+00 -2.712082743050078e+00 - -2.712826658235913e+00 -2.713568921177743e+00 -2.714309530527581e+00 -2.715048485150131e+00 -2.715785783993005e+00 - -2.716521426122757e+00 -2.717255410569124e+00 -2.717987736095623e+00 -2.718718401385704e+00 -2.719447405068731e+00 - -2.720174745881186e+00 -2.720900423042079e+00 -2.721624435690877e+00 -2.722346782166338e+00 -2.723067460855530e+00 - -2.723786471139474e+00 -2.724503812410580e+00 -2.725219483112852e+00 -2.725933481634188e+00 -2.726645807086471e+00 - -2.727356458650697e+00 -2.728065435060333e+00 -2.728772734953498e+00 -2.729478357034439e+00 -2.730182300087997e+00 - -2.730884563155262e+00 -2.731585145263588e+00 -2.732284045129153e+00 -2.732981261442558e+00 -2.733676793103288e+00 - -2.734370639038562e+00 -2.735062798077667e+00 -2.735753269071118e+00 -2.736442051052291e+00 -2.737129142959769e+00 - -2.737814543170111e+00 -2.738498250131983e+00 -2.739180263144520e+00 -2.739860581563291e+00 -2.740539204119172e+00 - -2.741216129405992e+00 -2.741891356094071e+00 -2.742564882952538e+00 -2.743236709069217e+00 -2.743906833523784e+00 - -2.744575255044610e+00 -2.745241972311204e+00 -2.745906984158941e+00 -2.746570289467025e+00 -2.747231887134115e+00 - -2.747891776057501e+00 -2.748549955109537e+00 -2.749206423158993e+00 -2.749861179085207e+00 -2.750514221765824e+00 - -2.751165550061125e+00 -2.751815162841771e+00 -2.752463059037292e+00 -2.753109237554207e+00 -2.753753697148108e+00 - -2.754396436622574e+00 -2.755037455124055e+00 -2.755676751755156e+00 -2.756314325100252e+00 -2.756950173779785e+00 - -2.757584297076699e+00 -2.758216694281619e+00 -2.758847364053396e+00 -2.759476305000437e+00 -2.760103516161140e+00 - -2.760728996610216e+00 -2.761352745137616e+00 -2.761974760563591e+00 -2.762595042114344e+00 -2.763213589016364e+00 - -2.763830400091322e+00 -2.764445474113015e+00 -2.765058810068553e+00 -2.765670407011266e+00 -2.766280264046035e+00 - -2.766888380201558e+00 -2.767494754150214e+00 -2.768099384646222e+00 -2.768702271127474e+00 -2.769303413030783e+00 - -2.769902809104988e+00 -2.770500458053093e+00 -2.771096359082754e+00 -2.771690511445131e+00 -2.772282914060774e+00 - -2.772873565847032e+00 -2.773462466039048e+00 -2.774049613856528e+00 -2.774635008139637e+00 -2.775218647762881e+00 - -2.775800532117688e+00 -2.776380660598635e+00 -2.776959032095993e+00 -2.777535645483684e+00 -2.778110500074552e+00 - -2.778683595228330e+00 -2.779254930053368e+00 -2.779824503611819e+00 -2.780392315032438e+00 -2.780958363471580e+00 - -2.781522648129417e+00 -2.782085168237396e+00 -2.782645923108263e+00 -2.783204912027138e+00 -2.783762134087364e+00 - -2.784317588365996e+00 -2.784871274066723e+00 -2.785423190471204e+00 -2.785973337046338e+00 -2.786521713227682e+00 - -2.787068318140169e+00 -2.787613150927563e+00 -2.788156211119559e+00 -2.788697498201977e+00 -2.789237011099205e+00 - -2.789774748795882e+00 -2.790310711079109e+00 -2.790844897774500e+00 -2.791377308059270e+00 -2.791907941021321e+00 - -2.792436796039691e+00 -2.792963872575855e+00 -2.793489170129877e+00 -2.794012688183935e+00 -2.794534426110070e+00 - -2.795054383269529e+00 -2.795572559090522e+00 -2.796088953089790e+00 -2.796603565071232e+00 -2.797116394731634e+00 - -2.797627441052200e+00 -2.798136703104035e+00 -2.798644181033428e+00 -2.799149874997305e+00 -2.799653784119957e+00 - -2.800155907491874e+00 -2.800656245100958e+00 -2.801154796934787e+00 -2.801651562082218e+00 -2.802146539693571e+00 - -2.802639730063738e+00 -2.803131133478864e+00 -2.803620749045517e+00 -2.804108575856467e+00 -2.804594614128865e+00 - -2.805078864118387e+00 -2.805561325110418e+00 -2.806041996375143e+00 -2.806520878092229e+00 -2.806997970489045e+00 - -2.807473273074300e+00 -2.807946785293329e+00 -2.808418507056632e+00 -2.808888438355500e+00 -2.809356579039224e+00 - -2.809822928959404e+00 -2.810287488118900e+00 -2.810750256531227e+00 -2.811211234101264e+00 -2.811670420689050e+00 - -2.812127816083888e+00 -2.812583420143096e+00 -2.813037233066774e+00 -2.813489255065615e+00 -2.813939486049919e+00 - -2.814387925944586e+00 -2.814834575033324e+00 -2.815279433542374e+00 -2.815722501109326e+00 -2.816163777438837e+00 - -2.816603263092504e+00 -2.817040958671196e+00 -2.817476864075942e+00 -2.817910979131784e+00 -2.818343304059641e+00 - -2.818773839208482e+00 -2.819202585043600e+00 -2.819629541969078e+00 -2.820054710027820e+00 -2.820478089265513e+00 - -2.820899680100151e+00 -2.821319482977751e+00 -2.821737498084143e+00 -2.822153725615352e+00 -2.822568166068396e+00 - -2.822980820018520e+00 -2.823391688052908e+00 -2.823800770674544e+00 -2.824208068037681e+00 -2.824613580315654e+00 - -2.825017308106835e+00 -2.825419252121360e+00 -2.825819413091381e+00 -2.826217791658008e+00 -2.826614388076187e+00 - -2.827009202624378e+00 -2.827402236061253e+00 -2.827793489256864e+00 -2.828182963046578e+00 -2.828570658171722e+00 - -2.828956575032161e+00 -2.829340714052488e+00 -2.829723076097664e+00 -2.830103662132774e+00 -2.830482473083023e+00 - -2.830859509823491e+00 -2.831234773068641e+00 -2.831608263528317e+00 -2.831979982054516e+00 -2.832349929557777e+00 - -2.832718107040651e+00 -2.833084515526141e+00 -2.833449156027042e+00 -2.833812029550204e+00 -2.834173137088914e+00 - -2.834532479620883e+00 -2.834890058075082e+00 -2.835245873448821e+00 -2.835599927061508e+00 -2.835952220243667e+00 - -2.836302754048190e+00 -2.836651529530672e+00 -2.836998548035129e+00 -2.837343810883671e+00 -2.837687319022324e+00 - -2.838029073490917e+00 -2.838369076080591e+00 -2.838707328586376e+00 -2.839043832067564e+00 -2.839378587474163e+00 - -2.839711596054793e+00 -2.840042859259108e+00 -2.840372379042276e+00 -2.840700157280677e+00 -2.841026195030013e+00 - -2.841350493343512e+00 -2.841673054085180e+00 -2.841993879190829e+00 -2.842312970072699e+00 -2.842630328108386e+00 - -2.842945955060471e+00 -2.843259852775203e+00 -2.843572023048496e+00 -2.843882467617769e+00 -2.844191188036773e+00 - -2.844498185884593e+00 -2.844803463025301e+00 -2.845107021413000e+00 -2.845408863076932e+00 -2.845708990020076e+00 - -2.846007404065244e+00 -2.846304107050338e+00 -2.846599101053807e+00 -2.846892388135785e+00 -2.847183970042619e+00 - -2.847473848570861e+00 -2.847762026031680e+00 -2.848048504803730e+00 -2.848333287020989e+00 -2.848616374754612e+00 - -2.848897770069131e+00 -2.849177475073159e+00 -2.849455492058227e+00 -2.849731823327478e+00 -2.850006471047571e+00 - -2.850279437434387e+00 -2.850550725037162e+00 -2.850820336439234e+00 -2.851088274026996e+00 -2.851354540133094e+00 - -2.851619137072155e+00 -2.851882067200814e+00 -2.852143333061782e+00 -2.852402937208544e+00 -2.852660882051651e+00 - -2.852917170055367e+00 -2.853171804041764e+00 -2.853424786850297e+00 -2.853676121032120e+00 -2.853925809140160e+00 - -2.854173854022716e+00 -2.854420258509995e+00 -2.854665025064492e+00 -2.854908156206457e+00 -2.855149655054884e+00 - -2.855389524765914e+00 -2.855627768045515e+00 -2.855864387531145e+00 -2.856099386036384e+00 -2.856332766480263e+00 - -2.856564532027491e+00 -2.856794685864488e+00 -2.857023231018833e+00 -2.857250170456676e+00 -2.857475507057297e+00 - -2.857699243787178e+00 -2.857921384048440e+00 -2.858141931205942e+00 -2.858360888039817e+00 -2.858578257403886e+00 - -2.858794043031427e+00 -2.859008248642304e+00 -2.859220877023269e+00 -2.859431930941042e+00 -2.859641414015340e+00 - -2.859849329964776e+00 -2.860055682050569e+00 -2.860260473522559e+00 -2.860463708042447e+00 -2.860665389218646e+00 - -2.860865520034553e+00 -2.861064103583913e+00 -2.861261144026887e+00 -2.861456645505078e+00 -2.861650611019446e+00 - -2.861843043539793e+00 -2.862033947051935e+00 -2.862223325674870e+00 -2.862411183044306e+00 -2.862597522669464e+00 - -2.862782348036900e+00 -2.862965662765951e+00 -2.863147471029718e+00 -2.863327776966641e+00 -2.863506584022756e+00 - -2.863683895649960e+00 -2.863859716016013e+00 -2.864034049304372e+00 -2.864206899045429e+00 -2.864378268816853e+00 - -2.864548163038503e+00 -2.864716586175495e+00 -2.864883542031795e+00 -2.865049034317118e+00 -2.865213067025303e+00 - -2.865375644227383e+00 -2.865536770019026e+00 -2.865696448531390e+00 -2.865854684012960e+00 -2.866011480747103e+00 - -2.866166843039399e+00 -2.866320775137251e+00 -2.866473281033156e+00 -2.866624364792500e+00 -2.866774031027124e+00 - -2.866922284373643e+00 -2.867069129021301e+00 -2.867214569108258e+00 -2.867358609015685e+00 -2.867501253183005e+00 - -2.867642506039625e+00 -2.867782372075631e+00 -2.867920856033839e+00 -2.868057962606175e+00 -2.868193696028257e+00 - -2.868328060561013e+00 -2.868461061022879e+00 -2.868592702303233e+00 -2.868722989017701e+00 -2.868851925722842e+00 - -2.868979517012722e+00 -2.869105767524959e+00 -2.869230682033886e+00 -2.869354265317122e+00 -2.869476522028743e+00 - -2.869597456891174e+00 -2.869717075023798e+00 -2.869835381525858e+00 -2.869952381019048e+00 -2.870068078133983e+00 - -2.870182478014490e+00 -2.870295585788873e+00 -2.870407406010122e+00 -2.870517943287246e+00 -2.870627203028626e+00 - -2.870735190678368e+00 -2.870841911024103e+00 -2.870947368779615e+00 -2.871051569019769e+00 -2.871154516959833e+00 - -2.871256218015620e+00 -2.871356677487263e+00 -2.871455900011655e+00 -2.871553890297982e+00 -2.871650654007871e+00 - -2.871746196881877e+00 -2.871840524023838e+00 -2.871933640394619e+00 -2.872025551019907e+00 -2.872116261043417e+00 - -2.872205776016155e+00 -2.872294101539941e+00 -2.872381243012580e+00 -2.872467205758066e+00 -2.872551995009178e+00 - -2.872635615995248e+00 -2.872718074023048e+00 -2.872799374482606e+00 -2.872879523019508e+00 -2.872958525324841e+00 - -2.873036387016140e+00 -2.873113113575017e+00 -2.873188710012942e+00 -2.873263181462381e+00 -2.873336534009911e+00 - -2.873408773769060e+00 -2.873479906007045e+00 -2.873549935889074e+00 -2.873618869018622e+00 -2.873686711126628e+00 - -2.873753468015626e+00 -2.873819145455355e+00 -2.873883749012791e+00 -2.873947284262238e+00 -2.874009757010115e+00 - -2.874071173064448e+00 -2.874131538007598e+00 -2.874190857408149e+00 -2.874249137005235e+00 -2.874306382592947e+00 - -2.874362600014657e+00 -2.874417795154723e+00 -2.874471974012172e+00 -2.874525142492177e+00 -2.874577306009839e+00 - -2.874628470067637e+00 -2.874678641007656e+00 -2.874727825164796e+00 -2.874776028005620e+00 -2.874823254939239e+00 - -2.874869512013286e+00 -2.874914805384953e+00 -2.874959141011137e+00 -2.875002524843012e+00 -2.875044963009132e+00 - -2.875086461553842e+00 -2.875127026007268e+00 -2.875166661990855e+00 -2.875205376005544e+00 -2.875243174521211e+00 - -2.875280063003956e+00 -2.875316046953741e+00 -2.875351133009737e+00 -2.875385327829893e+00 -2.875418637008044e+00 - -2.875451066029114e+00 -2.875482621006486e+00 -2.875513308222273e+00 -2.875543134005058e+00 -2.875572104616458e+00 - -2.875600226003760e+00 -2.875627504088381e+00 -2.875653945002586e+00 -2.875679554924722e+00 -2.875704340006628e+00 - -2.875728306365356e+00 -2.875751460005359e+00 -2.875773807024162e+00 -2.875795354004213e+00 -2.875816107441742e+00 - -2.875836073003188e+00 -2.875855256356105e+00 -2.875873664002281e+00 -2.875891302525273e+00 -2.875908178001488e+00 - -2.875924296429527e+00 -2.875939664003940e+00 -2.875954287022889e+00 -2.875968172003060e+00 -2.875981325374513e+00 - -2.875993753002293e+00 -2.876005460745149e+00 -2.876016455001635e+00 -2.876026742281703e+00 -2.876036329001085e+00 - -2.876045221511428e+00 -2.876053426002279e+00 -2.876060948682664e+00 -2.876067796001651e+00 -2.876073974394489e+00 - -2.876079490001126e+00 -2.876084348997735e+00 -2.876088558000703e+00 -2.876092123620084e+00 -2.876095052000378e+00 - -2.876097349275196e+00 -2.876099022000147e+00 -2.876100076780735e+00 -2.876100520000039e+00 -2.876100357977497e+00 - -2.876099597000405e+00 -2.876098243435337e+00 -2.876096303998139e+00 -2.876093785401991e+00 -2.876090694000126e+00 - -2.876087036076098e+00 -2.876082817994697e+00 -2.876078046153286e+00 -2.876072726998279e+00 -2.876066867041051e+00 - -2.876060473003754e+00 -2.876053551562065e+00 -2.876046108994973e+00 -2.876038151582050e+00 -2.876029686001908e+00 - -2.876020718975022e+00 -2.876011256990315e+00 -2.876001306494705e+00 -2.875990873998654e+00 -2.875979966015766e+00 - -2.875968589008655e+00 -2.875956749461299e+00 -2.875944453994101e+00 -2.875931709272467e+00 -2.875918522005370e+00 - -2.875904898821941e+00 -2.875890845988358e+00 -2.875876369796106e+00 -2.875861477000839e+00 -2.875846174460938e+00 - -2.875830468981534e+00 -2.875814367182402e+00 -2.875797874995170e+00 -2.875780998493851e+00 -2.875763745010153e+00 - -2.875746121853747e+00 -2.875728134988475e+00 -2.875709790337169e+00 -2.875691095004476e+00 -2.875672056151185e+00 - -2.875652679980860e+00 -2.875632972639220e+00 -2.875612940997824e+00 -2.875592591983200e+00 -2.875571932015899e+00 - -2.875550967463832e+00 -2.875529704990307e+00 -2.875508151305197e+00 -2.875486313009207e+00 -2.875464196688727e+00 - -2.875441808982035e+00 -2.875419156538716e+00 -2.875396246001703e+00 -2.875373083982446e+00 -2.875349676973115e+00 - -2.875326031456047e+00 -2.875302153993497e+00 -2.875278051224424e+00 -2.875253730014671e+00 -2.875229197164465e+00 - -2.875204458984698e+00 -2.875179521740897e+00 -2.875154392006447e+00 -2.875129076470253e+00 -2.875103581975416e+00 - -2.875077915323747e+00 -2.875052082997684e+00 -2.875026091410789e+00 -2.874999947020509e+00 -2.874973656330889e+00 - -2.874947225988491e+00 -2.874920662667701e+00 -2.874893973011697e+00 -2.874867163623783e+00 -2.874840240978976e+00 - -2.874813211559227e+00 -2.874786082002508e+00 -2.874758858958694e+00 -2.874731548969249e+00 -2.874704158521300e+00 - -2.874676693993052e+00 -2.874649161850167e+00 -2.874621569017096e+00 -2.874593922351292e+00 -2.874566227983435e+00 - -2.874538491996276e+00 -2.874510721007613e+00 -2.874482921761722e+00 -2.874455100973768e+00 -2.874427265275985e+00 - -2.874399420998023e+00 -2.874371574431975e+00 -2.874343732022288e+00 -2.874315900299783e+00 -2.874288085988434e+00 - -2.874260295776052e+00 -2.874232536012641e+00 -2.874204812974258e+00 -2.874177132978955e+00 -2.874149502426689e+00 - -2.874121928003048e+00 -2.874094416390038e+00 -2.874066973969692e+00 -2.874039607056358e+00 -2.874012321993617e+00 - -2.873985125156578e+00 -2.873958023017241e+00 -2.873931022092817e+00 -2.873904128984454e+00 -2.873877350227203e+00 - -2.873850692007775e+00 -2.873824160475146e+00 -2.873797761975665e+00 -2.873771502947487e+00 -2.873745389998629e+00 - -2.873719429664607e+00 -2.873693628021065e+00 -2.873667991196405e+00 -2.873642525989910e+00 -2.873617239207638e+00 - -2.873592137011854e+00 -2.873567225478465e+00 -2.873542510981722e+00 -2.873517999984164e+00 -2.873493699003122e+00 - -2.873469614539558e+00 -2.873445752974173e+00 -2.873422120664412e+00 -2.873398723994974e+00 -2.873375569341346e+00 - -2.873352663014937e+00 -2.873330011368907e+00 -2.873307620987516e+00 -2.873285498440290e+00 -2.873263650006746e+00 - -2.873242081977908e+00 -2.873220800980854e+00 -2.873199813610778e+00 -2.873179125999297e+00 -2.873158744269642e+00 - -2.873138674975094e+00 -2.873118924733721e+00 -2.873099499992696e+00 -2.873080407078925e+00 -2.873061652009151e+00 - -2.873043240951156e+00 -2.873025180987050e+00 -2.873007479104932e+00 -2.872990141002529e+00 -2.872973172348110e+00 - -2.872956579982463e+00 -2.872940370832477e+00 -2.872924550996914e+00 -2.872909126514257e+00 -2.872894104009989e+00 - -2.872879490127201e+00 -2.872865290992410e+00 -2.872851512733995e+00 -2.872838162004323e+00 -2.872825245427317e+00 - -2.872812768989124e+00 -2.872800738661925e+00 -2.872789160999820e+00 -2.872778042642130e+00 -2.872767389987160e+00 - -2.872757209355336e+00 -2.872747506996586e+00 -2.872738289140315e+00 -2.872729562004331e+00 -2.872721331833777e+00 - -2.872713604994726e+00 -2.872706387896571e+00 -2.872699687001068e+00 -2.872693508692679e+00 -2.872687858994343e+00 - -2.872682743943764e+00 -2.872678169999229e+00 -2.872674143639194e+00 -2.872670671002211e+00 -2.872667758252759e+00 - -2.872665411998920e+00 -2.872663638727966e+00 -2.872662444000314e+00 -2.872661833458480e+00 -2.872661814000242e+00 - -2.872662392564575e+00 -2.872663574999996e+00 -2.872665367034357e+00 -2.872667775003300e+00 -2.872670805307676e+00 - -2.872674464001362e+00 -2.872678757122995e+00 -2.872683690997219e+00 -2.872689271947241e+00 -2.872695506004511e+00 - -2.872702399218003e+00 -2.872709957998547e+00 -2.872718188690384e+00 -2.872727097009549e+00 -2.872736688669513e+00 - -2.872746970001709e+00 -2.872757947412680e+00 -2.872769626991446e+00 -2.872782014787135e+00 -2.872795117006809e+00 - -2.872808939808297e+00 -2.872823488994544e+00 -2.872838770359238e+00 -2.872854790013944e+00 -2.872871554154958e+00 - -2.872889068999627e+00 -2.872907340687168e+00 -2.872926375023218e+00 -2.872946177789640e+00 -2.872966755006795e+00 - -2.872988112738970e+00 -2.873010256987659e+00 -2.873033193743455e+00 -2.873056929016149e+00 -2.873081468798353e+00 - -2.873106818994782e+00 -2.873132985471494e+00 -2.873159974027786e+00 -2.873187790508094e+00 -2.873216441004140e+00 - -2.873245931584463e+00 -2.873276267977569e+00 -2.873307455856915e+00 -2.873339501015828e+00 -2.873372409342765e+00 - -2.873406186986854e+00 -2.873440840030674e+00 -2.873476374029945e+00 -2.873512794459630e+00 -2.873550106998518e+00 - -2.873588317466817e+00 -2.873627432046586e+00 -2.873667456808100e+00 -2.873708397012657e+00 -2.873750257967860e+00 - -2.873793045975522e+00 -2.873836767295967e+00 -2.873881427029366e+00 -2.873927030237608e+00 -2.873973582989610e+00 - -2.874021091436191e+00 -2.874069561048740e+00 -2.874118997257345e+00 -2.874169406006314e+00 -2.874220793186470e+00 - -2.874273163960479e+00 -2.874326523535612e+00 -2.874380878025728e+00 -2.874436233504353e+00 -2.874492594977105e+00 - -2.874549967456173e+00 -2.874608357047944e+00 -2.874667769870749e+00 -2.874728210996486e+00 -2.874789685444839e+00 - -2.874852199073056e+00 -2.874915757808161e+00 -2.874980367018717e+00 -2.875046031956011e+00 -2.875112757960702e+00 - -2.875180550448241e+00 -2.875249415043884e+00 -2.875319357389408e+00 -2.875390382982873e+00 -2.875462497200150e+00 - -2.875535705072081e+00 -2.875610011724477e+00 -2.875685423008027e+00 -2.875761944747628e+00 -2.875839581940104e+00 - -2.875918339524430e+00 -2.875998223036253e+00 -2.876079238083328e+00 -2.876161389965175e+00 -2.876244683897332e+00 - -2.876329125067640e+00 -2.876414718675390e+00 -2.876501469993362e+00 -2.876589384334920e+00 -2.876678467102276e+00 - -2.876768723646439e+00 -2.876860159024752e+00 -2.876952778311590e+00 -2.877046586943105e+00 -2.877141590285005e+00 - -2.877237793059432e+00 -2.877335200055582e+00 -2.877433816974432e+00 -2.877533649470098e+00 -2.877634702097487e+00 - -2.877736979404358e+00 -2.877840487009089e+00 -2.877945230580227e+00 -2.878051214916385e+00 -2.878158444703550e+00 - -2.878266925047163e+00 -2.878376661120778e+00 -2.878487657950954e+00 -2.878599920558564e+00 -2.878713454088738e+00 - -2.878828263638601e+00 -2.878944353988982e+00 -2.879061729871082e+00 -2.879180396133895e+00 -2.879300357745253e+00 - -2.879421620030550e+00 -2.879544188234639e+00 -2.879668066922659e+00 -2.879793260582870e+00 -2.879919774075741e+00 - -2.880047612428619e+00 -2.880176780964157e+00 -2.880307284823274e+00 -2.880439128124635e+00 -2.880572315044195e+00 - -2.880706851009318e+00 -2.880842741491739e+00 -2.880979990889281e+00 -2.881118603470176e+00 -2.881258584058220e+00 - -2.881399937594580e+00 -2.881542668934350e+00 -2.881686782880171e+00 -2.881832284110943e+00 -2.881979177270132e+00 - -2.882127466983199e+00 -2.882277157822698e+00 -2.882428254167564e+00 -2.882580760515876e+00 -2.882734682035907e+00 - -2.882890023809088e+00 -2.883046789899305e+00 -2.883204984344022e+00 -2.883364612092550e+00 -2.883525678164890e+00 - -2.883688186951939e+00 -2.883852142755886e+00 -2.884017550153203e+00 -2.884184413751485e+00 -2.884352738008543e+00 - -2.884522527349429e+00 -2.884693786217942e+00 -2.884866519029743e+00 -2.885040730069195e+00 -2.885216423722596e+00 - -2.885393604915286e+00 -2.885572278454246e+00 -2.885752448133968e+00 -2.885934117732660e+00 -2.886117291975880e+00 - -2.886301975695701e+00 -2.886488173202934e+00 -2.886675888645447e+00 -2.886865126040629e+00 -2.887055889528861e+00 - -2.887248183873006e+00 -2.887442013779875e+00 -2.887637383109605e+00 -2.887834295673936e+00 -2.888032755937675e+00 - -2.888232768417303e+00 -2.888434337182880e+00 -2.888637466267979e+00 -2.888842160006608e+00 -2.889048422705334e+00 - -2.889256258260521e+00 -2.889465670586525e+00 -2.889676664079871e+00 -2.889889243164732e+00 -2.890103411893701e+00 - -2.890319174230825e+00 -2.890536534157536e+00 -2.890755495690120e+00 -2.890976062966901e+00 -2.891198240133124e+00 - -2.891422031239666e+00 -2.891647440271526e+00 -2.891874471044534e+00 -2.892103127449178e+00 -2.892333413843735e+00 - -2.892565334531329e+00 -2.892798893126666e+00 -2.893034093211137e+00 -2.893270938921286e+00 -2.893509434394119e+00 - -2.893749583213363e+00 -2.893991388990754e+00 -2.894234856003367e+00 -2.894479988544211e+00 -2.894726790304690e+00 - -2.894975264880993e+00 -2.895225416090045e+00 -2.895477247800793e+00 -2.895730763869547e+00 -2.895985968110420e+00 - -2.896242864181383e+00 -2.896501455784724e+00 -2.896761746956156e+00 -2.897023741664482e+00 -2.897287443277443e+00 - -2.897552855132549e+00 -2.897819981047455e+00 -2.898088824960355e+00 -2.898359390811481e+00 -2.898631682423090e+00 - -2.898905703143506e+00 -2.899181456336644e+00 -2.899458945902694e+00 -2.899738175745144e+00 -2.900019149244370e+00 - -2.900301869748365e+00 -2.900586340998689e+00 -2.900872566741790e+00 -2.901160550350105e+00 -2.901450295205248e+00 - -2.901741805099525e+00 -2.902035083835090e+00 -2.902330134842785e+00 -2.902626961482952e+00 -2.902925567205262e+00 - -2.903225955501619e+00 -2.903528129943548e+00 -2.903832094083243e+00 -2.904137851315957e+00 -2.904445404943298e+00 - -2.904754758049239e+00 -2.905065913908475e+00 -2.905378876776237e+00 -2.905693650730528e+00 -2.906010238159916e+00 - -2.906328641477237e+00 -2.906648864881840e+00 -2.906970912612057e+00 -2.907294787275635e+00 -2.907620491421319e+00 - -2.907948028992455e+00 -2.908277404008211e+00 -2.908608619396449e+00 -2.908941677961907e+00 -2.909276583108139e+00 - -2.909613338320582e+00 -2.909951946813384e+00 -2.910292411733319e+00 -2.910634736228945e+00 -2.910978923497479e+00 - -2.911324976928991e+00 -2.911672899876866e+00 -2.912022695354926e+00 -2.912374366346152e+00 -2.912727916049746e+00 - -2.913083347735332e+00 -2.913440664738005e+00 -2.913799870293631e+00 -2.914160967175702e+00 -2.914523958205600e+00 - -2.914888846858668e+00 -2.915255636613397e+00 -2.915624330306910e+00 -2.915994930711883e+00 -2.916367440984558e+00 - -2.916741864289805e+00 -2.917118203443422e+00 -2.917496461287171e+00 -2.917876641115726e+00 -2.918258746264796e+00 - -2.918642779781321e+00 -2.919028744569610e+00 -2.919416643252220e+00 -2.919806478556714e+00 -2.920198253912409e+00 - -2.920591972698769e+00 -2.920987637394092e+00 -2.921385250442034e+00 -2.921784815048848e+00 -2.922186334507697e+00 - -2.922589811696789e+00 -2.922995249368979e+00 -2.923402650190686e+00 -2.923812016928122e+00 -2.924223352833133e+00 - -2.924636661116357e+00 -2.925051944337972e+00 -2.925469204994078e+00 -2.925888445974902e+00 -2.926309670222330e+00 - -2.926732880490753e+00 -2.927158079512877e+00 -2.927585270122142e+00 -2.928014455203420e+00 -2.928445637746579e+00 - -2.928878820641719e+00 -2.929314006274898e+00 -2.929751197043434e+00 -2.930190395893735e+00 -2.930631605816839e+00 - -2.931074829433217e+00 -2.931520069294359e+00 -2.931967328046430e+00 -2.932416608452995e+00 -2.932867913652596e+00 - -2.933321246608101e+00 -2.933776609204709e+00 -2.934234003435805e+00 -2.934693432805196e+00 -2.935154900804807e+00 - -2.935618409368617e+00 -2.936083960365691e+00 -2.936551556963400e+00 -2.937021202354904e+00 -2.937492898538196e+00 - -2.937966647468766e+00 -2.938442452127255e+00 -2.938920315642269e+00 -2.939400240709141e+00 -2.939882229846171e+00 - -2.940366285296803e+00 -2.940852409365155e+00 -2.941340604872910e+00 -2.941830874578781e+00 -2.942323220472084e+00 - -2.942817644603974e+00 -2.943314150042391e+00 -2.943812739919231e+00 -2.944313416605433e+00 -2.944816182292809e+00 - -2.945321039217627e+00 -2.945827989752984e+00 -2.946337036774817e+00 -2.946848183049044e+00 -2.947361430398659e+00 - -2.947876780695535e+00 -2.948394236949976e+00 -2.948913802216184e+00 -2.949435478585527e+00 -2.949959268045502e+00 - -2.950485173130951e+00 -2.951013196489051e+00 -2.951543340668991e+00 -2.952075608036040e+00 -2.952610000317780e+00 - -2.953146519451356e+00 -2.953685168849877e+00 -2.954225951787981e+00 -2.954768869510503e+00 -2.955313923227115e+00 - -2.955861116036636e+00 -2.956410451196468e+00 -2.956961930709160e+00 -2.957515556348660e+00 -2.958071330229310e+00 - -2.958629254704319e+00 -2.959189332741965e+00 -2.959751567143614e+00 -2.960315959427935e+00 -2.960882511105170e+00 - -2.961451224934558e+00 -2.962022103774683e+00 -2.962595149632548e+00 -2.963170364371659e+00 -2.963747750133120e+00 - -2.964327309260061e+00 -2.964909044626116e+00 -2.965492958892178e+00 -2.966079053337689e+00 -2.966667329311879e+00 - -2.967257789824588e+00 -2.967850437973655e+00 -2.968445275548303e+00 -2.969042304161408e+00 -2.969641526029084e+00 - -2.970242943489398e+00 -2.970846558764995e+00 -2.971452374012471e+00 -2.972060391239641e+00 -2.972670612566008e+00 - -2.973283040706606e+00 -2.973897678221620e+00 -2.974514526456296e+00 -2.975133586785449e+00 -2.975754861917081e+00 - -2.976378354633252e+00 -2.977004066679083e+00 -2.977631999719257e+00 -2.978262156133669e+00 -2.978894538388579e+00 - -2.979529148580497e+00 -2.980165988659094e+00 -2.980805060356407e+00 -2.981446365534977e+00 -2.982089906796993e+00 - -2.982735686662750e+00 -2.983383706585328e+00 -2.984033968085205e+00 -2.984686474019655e+00 -2.985341227187940e+00 - -2.985998228820469e+00 -2.986657480057624e+00 -2.987318983248517e+00 -2.987982740990944e+00 -2.988648755668708e+00 - -2.989317029403636e+00 -2.989987563483614e+00 -2.990660359350691e+00 -2.991335419897486e+00 -2.992012747963469e+00 - -2.992692344724977e+00 -2.993374211287029e+00 -2.994058350132512e+00 -2.994744763907397e+00 -2.995433454532118e+00 - -2.996124423756546e+00 -2.996817673373822e+00 -2.997513205283444e+00 -2.998211021767050e+00 -2.998911125033880e+00 - -2.999613516621449e+00 -3.000318198120732e+00 -3.001025172008281e+00 -3.001734440748973e+00 -3.002446005875424e+00 - -3.003159868783688e+00 -3.003876031255844e+00 -3.004594495323234e+00 -3.005315263628241e+00 -3.006038338638268e+00 - -3.006763721509772e+00 -3.007491413411925e+00 -3.008221416875716e+00 -3.008953734497098e+00 -3.009688367770095e+00 - -3.010425318036306e+00 -3.011164587129571e+00 -3.011906177113799e+00 -3.012650090480955e+00 -3.013396329533748e+00 - -3.014144895389836e+00 -3.014895789237767e+00 -3.015649013734712e+00 -3.016404571515447e+00 -3.017162463656545e+00 - -3.017922691248400e+00 -3.018685256994897e+00 -3.019450163571901e+00 -3.020217411929727e+00 -3.020987002987051e+00 - -3.021758939261538e+00 -3.022533223477289e+00 -3.023309857585168e+00 -3.024088843221124e+00 -3.024870181534668e+00 - -3.025653873871900e+00 -3.026439922851719e+00 -3.027228331077071e+00 -3.028019099814318e+00 -3.028812230192102e+00 - -3.029607724124773e+00 -3.030405583764245e+00 -3.031205811426982e+00 -3.032008409239547e+00 -3.032813378404362e+00 - -3.033620720145768e+00 -3.034430436699938e+00 -3.035242530366928e+00 -3.036057002690514e+00 -3.036873855182042e+00 - -3.037693089979441e+00 -3.038514709166424e+00 -3.039338713983260e+00 -3.040165105664532e+00 -3.040993886265523e+00 - -3.041825058080565e+00 -3.042658623539453e+00 -3.043494584770202e+00 -3.044332942558215e+00 -3.045173697755793e+00 - -3.046016852825442e+00 -3.046862410359265e+00 -3.047710371857544e+00 -3.048560738605269e+00 -3.049413512118055e+00 - -3.050268694173960e+00 -3.051126287370169e+00 -3.051986294136892e+00 -3.052848715417321e+00 -3.053713552140092e+00 - -3.054580806662679e+00 -3.055450481419417e+00 -3.056322577723267e+00 -3.057197096839233e+00 -3.058074040961857e+00 - -3.058953412280709e+00 -3.059835212035924e+00 -3.060719441405425e+00 -3.061606102267731e+00 -3.062495196777212e+00 - -3.063386727491054e+00 -3.064280696619269e+00 -3.065177104580330e+00 -3.066075951959016e+00 -3.066977241796834e+00 - -3.067880977177860e+00 -3.068787158899685e+00 -3.069695787543252e+00 -3.070606865109353e+00 -3.071520393938529e+00 - -3.072436376310475e+00 -3.073354814200677e+00 -3.074275708428639e+00 -3.075199059975246e+00 -3.076124871622891e+00 - -3.077053146054635e+00 -3.077983883754724e+00 -3.078917085313194e+00 -3.079852753942089e+00 -3.080790892784741e+00 - -3.081731502087634e+00 -3.082674582011150e+00 -3.083620135268097e+00 -3.084568164866139e+00 -3.085518672439932e+00 - -3.086471659270948e+00 -3.087427126600947e+00 -3.088385075921834e+00 -3.089345509765843e+00 -3.090308430518810e+00 - -3.091273838940665e+00 -3.092241735746584e+00 -3.093212123098609e+00 -3.094185003484481e+00 -3.095160379247863e+00 - -3.096138252358965e+00 -3.097118623438258e+00 -3.098101493262150e+00 -3.099086864580523e+00 -3.100074740150514e+00 - -3.101065120784818e+00 -3.102058007230942e+00 -3.103053401920080e+00 -3.104051307417155e+00 -3.105051725138318e+00 - -3.106054656274756e+00 -3.107060102266563e+00 -3.108068064811119e+00 -3.109078546386035e+00 -3.110091549326776e+00 - -3.111107074619999e+00 -3.112125123273996e+00 -3.113145697732417e+00 -3.114168800386244e+00 -3.115194431980418e+00 - -3.116222593318652e+00 -3.117253287085768e+00 -3.118286516039464e+00 -3.119322281347848e+00 -3.120360583948459e+00 - -3.121401425446115e+00 -3.122444807777008e+00 -3.123490733535526e+00 -3.124539205035892e+00 -3.125590222813487e+00 - -3.126643787500575e+00 -3.127699901895779e+00 -3.128758568841378e+00 -3.129819789187914e+00 -3.130883563634097e+00 - -3.131949894263071e+00 -3.133018783446947e+00 -3.134090233329311e+00 -3.135164245759380e+00 -3.136240821637432e+00 - -3.137319962039862e+00 -3.138401669696502e+00 -3.139485947209752e+00 -3.140572795018887e+00 -3.141662213641400e+00 - -3.142754206070774e+00 -3.143848775370422e+00 -3.144945922407469e+00 -3.146045647810740e+00 -3.147147953452156e+00 - -3.148252841552866e+00 -3.149360314487843e+00 -3.150470374336312e+00 -3.151583021840677e+00 -3.152698257836541e+00 - -3.153816084869129e+00 -3.154936505573740e+00 -3.156059521236365e+00 -3.157185132934072e+00 -3.158313342257567e+00 - -3.159444151127381e+00 -3.160577562269707e+00 -3.161713578058511e+00 -3.162852198653188e+00 -3.163993424406347e+00 - -3.165137258658042e+00 -3.166283704751602e+00 -3.167432763056018e+00 -3.168584433853514e+00 -3.169738720053572e+00 - -3.170895624664928e+00 -3.172055148466089e+00 -3.173217292044841e+00 -3.174382057456326e+00 -3.175549447119023e+00 - -3.176719463437418e+00 -3.177892108465135e+00 -3.179067382866334e+00 -3.180245287430775e+00 -3.181425824840074e+00 - -3.182608997807819e+00 -3.183794807283624e+00 -3.184983254083125e+00 -3.186174340249998e+00 -3.187368068149750e+00 - -3.188564440207163e+00 -3.189763458501066e+00 -3.190965123667219e+00 -3.192169436468204e+00 -3.193376399616980e+00 - -3.194586015855556e+00 -3.195798286091764e+00 -3.197013211234878e+00 -3.198230794034108e+00 -3.199451037209393e+00 - -3.200673941523666e+00 -3.201899507599942e+00 -3.203127737458575e+00 -3.204358633517069e+00 -3.205592198384193e+00 - -3.206828434306502e+00 -3.208067341890413e+00 -3.209308921829809e+00 -3.210553176808560e+00 -3.211800109598040e+00 - -3.213049721329648e+00 -3.214302012941719e+00 -3.215556986240311e+00 -3.216814643392485e+00 -3.218074987141617e+00 - -3.219338019837523e+00 -3.220603741679474e+00 -3.221872153094758e+00 -3.223143257573258e+00 -3.224417058543514e+00 - -3.225693556126080e+00 -3.226972750453261e+00 -3.228254645012327e+00 -3.229539243310538e+00 -3.230826545580160e+00 - -3.232116551831102e+00 -3.233409264458852e+00 -3.234704686394765e+00 -3.236002820328103e+00 -3.237303668413965e+00 - -3.238607230912866e+00 -3.239913508296335e+00 -3.241222503774527e+00 -3.242534220589764e+00 -3.243848659374397e+00 - -3.245165820540432e+00 -3.246485706228452e+00 -3.247808319087641e+00 -3.249133662073000e+00 -3.250461737608715e+00 - -3.251792545689908e+00 -3.253126086515263e+00 -3.254462363526813e+00 -3.255801380232294e+00 -3.257143137158927e+00 - -3.258487634736825e+00 -3.259834875988172e+00 -3.261184864013611e+00 -3.262537599635538e+00 -3.263893083453904e+00 - -3.265251317457108e+00 -3.266612304094287e+00 -3.267976046269084e+00 -3.269342546452898e+00 -3.270711804933652e+00 - -3.272083822201368e+00 -3.273458601737915e+00 -3.274836147008249e+00 -3.276216458417835e+00 -3.277599536106921e+00 - -3.278985382214368e+00 -3.280373999474050e+00 -3.281765391001240e+00 -3.283159559381294e+00 -3.284556504698475e+00 - -3.285956227223949e+00 -3.287358730477579e+00 -3.288764018003004e+00 -3.290172090190266e+00 -3.291582947391597e+00 - -3.292996592961586e+00 -3.294413030263101e+00 -3.295832259689772e+00 -3.297254281509102e+00 -3.298679098453292e+00 - -3.300106713632883e+00 -3.301537129207062e+00 -3.302970346938195e+00 -3.304406367952729e+00 -3.305845193592728e+00 - -3.307286826698660e+00 -3.308731270022015e+00 -3.310178524459931e+00 -3.311628590794006e+00 -3.313081471198005e+00 - -3.314537168271639e+00 -3.315995684926260e+00 -3.317457023622331e+00 -3.318921184705128e+00 -3.320388168757214e+00 - -3.321857979425488e+00 -3.323330620242623e+00 -3.324806091220061e+00 -3.326284392457951e+00 -3.327765527932510e+00 - -3.329249501635255e+00 -3.330736313742837e+00 -3.332225964151081e+00 -3.333718455447356e+00 -3.335213790816533e+00 - -3.336711973141963e+00 -3.338213004741188e+00 -3.339716885970061e+00 -3.341223617428788e+00 -3.342733202656698e+00 - -3.344245645175923e+00 -3.345760945500658e+00 -3.347279103963591e+00 -3.348800123179309e+00 -3.350324006237700e+00 - -3.351850755847976e+00 -3.353380374190363e+00 -3.354912861709826e+00 -3.356448219173252e+00 -3.357986450370467e+00 - -3.359527558984502e+00 -3.361071545248283e+00 -3.362618409368982e+00 -3.364168154900880e+00 -3.365720785489059e+00 - -3.367276301794712e+00 -3.368834704260551e+00 -3.370395995439248e+00 -3.371960178388195e+00 -3.373527256073704e+00 - -3.375097230883950e+00 -3.376670102985606e+00 -3.378245872877927e+00 -3.379824544611959e+00 -3.381406122149057e+00 - -3.382990605539988e+00 -3.384577994855671e+00 -3.386168294158221e+00 -3.387761507524905e+00 -3.389357635102426e+00 - -3.390956676825633e+00 -3.392558635712520e+00 -3.394163515324364e+00 -3.395771318312439e+00 -3.397382046745834e+00 - -3.398995701274896e+00 -3.400612282828281e+00 -3.402231794866633e+00 -3.403854240867662e+00 -3.405479621845378e+00 - -3.407107938586081e+00 -3.408739193428916e+00 -3.410373389185216e+00 -3.412010529002203e+00 -3.413650615518111e+00 - -3.415293648999326e+00 -3.416939629995896e+00 -3.418588562564371e+00 -3.420240450691449e+00 -3.421895294577897e+00 - -3.423553094414080e+00 -3.425213854134680e+00 -3.426877577792018e+00 -3.428544266164663e+00 -3.430213919689846e+00 - -3.431886540713168e+00 -3.433562132145608e+00 -3.435240697251321e+00 -3.436922238808692e+00 -3.438606757299870e+00 - -3.440294253397158e+00 -3.441984730829699e+00 -3.443678193368453e+00 -3.445374641894819e+00 -3.447074077051543e+00 - -3.448776501416308e+00 -3.450481918039497e+00 -3.452190329927366e+00 -3.453901739641781e+00 -3.455616148011183e+00 - -3.457333556082980e+00 -3.459053967513855e+00 -3.460777385853499e+00 -3.462503811614361e+00 -3.464233245386620e+00 - -3.465965691108627e+00 -3.467701152771073e+00 -3.469439631225878e+00 -3.471181127031554e+00 -3.472925642711720e+00 - -3.474673181335264e+00 -3.476423746187027e+00 -3.478177340029919e+00 -3.479933963323171e+00 -3.481693616824597e+00 - -3.483456304790008e+00 -3.485222031388338e+00 -3.486990796943019e+00 -3.488762601570069e+00 -3.490537448401365e+00 - -3.492315341151373e+00 -3.494096282849095e+00 -3.495880275915030e+00 -3.497667321021135e+00 -3.499457419173128e+00 - -3.501250574460328e+00 -3.503046790838973e+00 -3.504846068649357e+00 -3.506648408298966e+00 -3.508453814079994e+00 - -3.510262290280344e+00 -3.512073837286068e+00 -3.513888455301771e+00 -3.515706147708129e+00 -3.517526918395819e+00 - -3.519350770119465e+00 -3.521177705073145e+00 -3.523007724344773e+00 -3.524840829328240e+00 -3.526677023747485e+00 - -3.528516311267811e+00 -3.530358692989965e+00 -3.532204169811781e+00 -3.534052744384031e+00 -3.535904419874647e+00 - -3.537759199767289e+00 -3.539617087002065e+00 -3.541478082029144e+00 -3.543342185630307e+00 -3.545209402403708e+00 - -3.547079736777425e+00 -3.548953188682862e+00 -3.550829758143615e+00 -3.552709450048714e+00 -3.554592269345012e+00 - -3.556478216345227e+00 -3.558367291032073e+00 -3.560259496702344e+00 -3.562154837300620e+00 -3.564053316048536e+00 - -3.565954935512961e+00 -3.567859696364639e+00 -3.569767599635964e+00 -3.571678649702049e+00 -3.573592850895430e+00 - -3.575510204035641e+00 -3.577430709619281e+00 -3.579354370364244e+00 -3.581281189700099e+00 -3.583211171681835e+00 - -3.585144319721653e+00 -3.587080634035166e+00 -3.589020115063184e+00 -3.590962767343901e+00 -3.592908595415016e+00 - -3.594857599714854e+00 -3.596809780701911e+00 -3.598765143014713e+00 -3.600723691343250e+00 -3.602685426403352e+00 - -3.604650348553174e+00 -3.606618460694309e+00 -3.608589766473437e+00 -3.610564269974137e+00 -3.612541974573128e+00 - -3.614522880382737e+00 -3.616506987803558e+00 -3.618494301653613e+00 -3.620484826823921e+00 -3.622478564080036e+00 - -3.624475513850586e+00 -3.626475679341938e+00 -3.628479064392689e+00 -3.630485672592619e+00 -3.632495506905407e+00 - -3.634508568039156e+00 -3.636524857004877e+00 -3.638544378280809e+00 -3.640567136287224e+00 -3.642593131745308e+00 - -3.644622365423449e+00 -3.646654841977913e+00 -3.648690566065893e+00 -3.650729538460438e+00 -3.652771759626902e+00 - -3.654817232683972e+00 -3.656865961450936e+00 -3.658917949896158e+00 -3.660973201344661e+00 -3.663031716399031e+00 - -3.665093495929850e+00 -3.667158544602091e+00 -3.669226867066577e+00 -3.671298464123134e+00 -3.673373336353373e+00 - -3.675451487317045e+00 -3.677532921173144e+00 -3.679617641499514e+00 -3.681705651197185e+00 -3.683796951041065e+00 - -3.685891542158701e+00 -3.687989429214330e+00 -3.690090616811484e+00 -3.692195105774196e+00 -3.694302896934788e+00 - -3.696413994938233e+00 -3.698528404463948e+00 -3.700646126516483e+00 -3.702767161822413e+00 -3.704891513671268e+00 - -3.707019186005269e+00 -3.709150182814482e+00 -3.711284507419287e+00 -3.713422160413482e+00 -3.715563142750310e+00 - -3.717707459547388e+00 -3.719855115839397e+00 -3.722006112164920e+00 -3.724160448777861e+00 -3.726318129289493e+00 - -3.728479158099316e+00 -3.730643539402395e+00 -3.732811276589775e+00 -3.734982370040845e+00 -3.737156820495128e+00 - -3.739334633144358e+00 -3.741515813112657e+00 -3.743700360801490e+00 -3.745888276640612e+00 -3.748079565895588e+00 - -3.750274233918474e+00 -3.752472281571475e+00 -3.754673709335501e+00 -3.756878520656135e+00 -3.759086719721971e+00 - -3.761298310728990e+00 -3.763513297133539e+00 -3.765731679426046e+00 -3.767953458457793e+00 -3.770178639489403e+00 - -3.772407227784000e+00 -3.774639224205367e+00 -3.776874629489326e+00 -3.779113448259203e+00 -3.781355685279774e+00 - -3.783601341994148e+00 -3.785850419525435e+00 -3.788102921038436e+00 -3.790358850378410e+00 -3.792618212070778e+00 - -3.794881010002580e+00 -3.797147244827153e+00 -3.799416917428862e+00 -3.801690032849888e+00 -3.803966596190487e+00 - -3.806246608625402e+00 -3.808530070983860e+00 -3.810816986638503e+00 -3.813107359693981e+00 -3.815401194639556e+00 - -3.817698495297397e+00 -3.819999262436677e+00 -3.822303497093916e+00 -3.824611204428034e+00 -3.826922389548483e+00 - -3.829237053244454e+00 -3.831555196353405e+00 -3.833876824226091e+00 -3.836201942201953e+00 -3.838530551061888e+00 - -3.840862651326505e+00 -3.843198247033778e+00 -3.845537342919513e+00 -3.847879942993476e+00 -3.850226050562932e+00 - -3.852575666851148e+00 -3.854928793361406e+00 -3.857285434801036e+00 -3.859645595950435e+00 -3.862009278678248e+00 - -3.864376484523473e+00 -3.866747216618300e+00 -3.869121478726629e+00 -3.871499275546047e+00 -3.873880611182955e+00 - -3.876265486445322e+00 -3.878653902389424e+00 -3.881045864363169e+00 -3.883441377687285e+00 -3.885840443282151e+00 - -3.888243062046155e+00 -3.890649239190073e+00 -3.893058980047241e+00 -3.895472286128841e+00 -3.897889158595383e+00 - -3.900309601026809e+00 -3.902733617656517e+00 -3.905161212912323e+00 -3.907592390603840e+00 -3.910027151873432e+00 - -3.912465498159137e+00 -3.914907434748928e+00 -3.917352966879188e+00 -3.919802095729995e+00 -3.922254822259626e+00 - -3.924711150595445e+00 -3.927171085542605e+00 -3.929634631448325e+00 -3.932101791843537e+00 -3.934572567451927e+00 - -3.937046959532740e+00 -3.939524974294695e+00 -3.942006617767883e+00 -3.944491890318428e+00 -3.946980792233828e+00 - -3.949473329151056e+00 -3.951969506957779e+00 -3.954469327195002e+00 -3.956972790971958e+00 -3.959479902017460e+00 - -3.961990664762499e+00 -3.964505083827194e+00 -3.967023163167552e+00 -3.969544903893966e+00 -3.972070307479498e+00 - -3.974599379693463e+00 -3.977132126179292e+00 -3.979668547780628e+00 -3.982208645099321e+00 -3.984752422569858e+00 - -3.987299885436030e+00 -3.989851038346246e+00 -3.992405885069993e+00 -3.994964426456437e+00 -3.997526663815754e+00 - -4.000092603222488e+00 -4.002662250581340e+00 -4.005235606353252e+00 -4.007812671084819e+00 -4.010393451108941e+00 - -4.012977952843547e+00 -4.015566177260363e+00 -4.018158124897606e+00 -4.020753800005660e+00 -4.023353207686703e+00 - -4.025956352737950e+00 -4.028563239140089e+00 -4.031173867912699e+00 -4.033788240453579e+00 -4.036406362634527e+00 - -4.039028240314873e+00 -4.041653874830120e+00 -4.044283267179555e+00 -4.046916421541453e+00 -4.049553342894448e+00 - -4.052194036239657e+00 -4.054838505774454e+00 -4.057486752458788e+00 -4.060138777601743e+00 -4.062794587146426e+00 - -4.065454187011838e+00 -4.068117578386588e+00 -4.070784762448621e+00 -4.073455745063631e+00 -4.076130532171974e+00 - -4.078809125324914e+00 -4.081491525652789e+00 -4.084177736991329e+00 -4.086867764089578e+00 -4.089561612644448e+00 - -4.092259287473573e+00 -4.094960788929582e+00 -4.097666117736884e+00 -4.100375280572002e+00 -4.103088284211306e+00 - -4.105805129878449e+00 -4.108525818267906e+00 -4.111250353510137e+00 -4.113978740671802e+00 -4.116710985128399e+00 - -4.119447091422845e+00 -4.122187060458915e+00 -4.124930893522407e+00 -4.127678597066370e+00 -4.130430177441071e+00 - -4.133185635418395e+00 -4.135944971791250e+00 -4.138708193015015e+00 -4.141475305696859e+00 -4.144246311388639e+00 - -4.147021211130915e+00 -4.149800008974389e+00 -4.152582709893380e+00 -4.155369319546537e+00 -4.158159842709882e+00 - -4.160954279944561e+00 -4.163752632239020e+00 -4.166554906505763e+00 -4.169361109687737e+00 -4.172171242925584e+00 - -4.174985306927709e+00 -4.177803306475812e+00 -4.180625247195196e+00 -4.183451134012302e+00 -4.186280970992621e+00 - -4.189114759456745e+00 -4.191952501240072e+00 -4.194794202982180e+00 -4.197639871116617e+00 -4.200489506448629e+00 - -4.203343109834506e+00 -4.206200687962978e+00 -4.209062247657938e+00 -4.211927790451525e+00 -4.214797317400862e+00 - -4.217670832954751e+00 -4.220548342457539e+00 -4.223429851444060e+00 -4.226315364591702e+00 -4.229204882957573e+00 - -4.232098408004153e+00 -4.234995946435681e+00 -4.237897504949240e+00 -4.240803084971501e+00 -4.243712687544032e+00 - -4.246626317438374e+00 -4.249543980343883e+00 -4.252465681891192e+00 -4.255391426705907e+00 -4.258321215452209e+00 - -4.261255049361277e+00 -4.264192935893713e+00 -4.267134882389568e+00 -4.270080889477248e+00 -4.273030957691918e+00 - -4.275985093907401e+00 -4.278943305249538e+00 -4.281905593513557e+00 -4.284871959946388e+00 -4.287842408932329e+00 - -4.290816945777364e+00 -4.293795576336856e+00 -4.296778305653331e+00 -4.299765134968560e+00 -4.302756065899131e+00 - -4.305751105361620e+00 -4.308750260118541e+00 -4.311753531016159e+00 -4.314760919008608e+00 -4.317772431397722e+00 - -4.320788075591533e+00 -4.323807853075197e+00 -4.326831764792573e+00 -4.329859815445223e+00 -4.332892010759197e+00 - -4.335928356800809e+00 -4.338968858700405e+00 -4.342013517504197e+00 -4.345062334602749e+00 -4.348115316848165e+00 - -4.351172471198577e+00 -4.354233799574710e+00 -4.357299303495111e+00 -4.360368987907023e+00 -4.363442858590077e+00 - -4.366520921224746e+00 -4.369603180592436e+00 -4.372689637977453e+00 -4.375780295145305e+00 -4.378875159283436e+00 - -4.381974237486932e+00 -4.385077531059527e+00 -4.388185041309383e+00 -4.391296775353732e+00 -4.394412740393244e+00 - -4.397532938153312e+00 -4.400657369887305e+00 -4.403786040435705e+00 -4.406918955633090e+00 -4.410056121703311e+00 - -4.413197543940346e+00 -4.416343223529426e+00 -4.419493162052248e+00 -4.422647366785128e+00 -4.425805845047289e+00 - -4.428968598634965e+00 -4.432135628892382e+00 -4.435306940878729e+00 -4.438482540596634e+00 -4.441662434107552e+00 - -4.444846626509031e+00 -4.448035118984182e+00 -4.451227913265940e+00 -4.454425017200977e+00 -4.457626438485681e+00 - -4.460832178101560e+00 -4.464042236947444e+00 -4.467256622306292e+00 -4.470475341701105e+00 -4.473698397230936e+00 - -4.476925790483307e+00 -4.480157526423565e+00 -4.483393610985775e+00 -4.486634050601043e+00 -4.489878850742320e+00 - -4.493128012552872e+00 -4.496381537630165e+00 -4.499639433718156e+00 -4.502901708553144e+00 -4.506168363694287e+00 - -4.509439400268067e+00 -4.512714823847340e+00 -4.515994641019672e+00 -4.519278857985080e+00 -4.522567479881829e+00 - -4.525860507988668e+00 -4.529157944122721e+00 -4.532459796114085e+00 -4.535766071688615e+00 -4.539076772142213e+00 - -4.542391898765175e+00 -4.545711459255270e+00 -4.549035461446213e+00 -4.552363907308053e+00 -4.555696798263391e+00 - -4.559034139408705e+00 -4.562375936904542e+00 -4.565722197493832e+00 -4.569072926948550e+00 -4.572428126574475e+00 - -4.575787798129616e+00 -4.579151949647104e+00 -4.582520589075836e+00 -4.585893717752653e+00 -4.589271336639746e+00 - -4.592653451812744e+00 -4.596040070428725e+00 -4.599431198857142e+00 -4.602826842289216e+00 -4.606227001990830e+00 - -4.609631679831751e+00 -4.613040884022596e+00 -4.616454622677202e+00 -4.619872897181441e+00 -4.623295708819967e+00 - -4.626723065200532e+00 -4.630154974192006e+00 -4.633591438384649e+00 -4.637032459790966e+00 -4.640478043391029e+00 - -4.643928195196958e+00 -4.647382922381489e+00 -4.650842231139545e+00 -4.654306122594169e+00 -4.657774598295235e+00 - -4.661247666571815e+00 -4.664725335805659e+00 -4.668207607810025e+00 -4.671694483876048e+00 -4.675185969774820e+00 - -4.678682072408495e+00 -4.682182798723523e+00 -4.685688154522786e+00 -4.689198140990583e+00 -4.692712759891060e+00 - -4.696232019926335e+00 -4.699755929666950e+00 -4.703284490219185e+00 -4.706817702626076e+00 -4.710355575141943e+00 - -4.713898116290367e+00 -4.717445328460708e+00 -4.720997213393779e+00 -4.724553776370427e+00 -4.728115023824750e+00 - -4.731680963263822e+00 -4.735251601139764e+00 -4.738826938611875e+00 -4.742406977241646e+00 -4.745991725492132e+00 - -4.749581191958943e+00 -4.753175378866366e+00 -4.756774287871428e+00 -4.760377924733439e+00 -4.763986296289299e+00 - -4.767599409584012e+00 -4.771217270615820e+00 -4.774839880987831e+00 -4.778467242836293e+00 -4.782099364825118e+00 - -4.785736255481164e+00 -4.789377916255392e+00 -4.793024348603915e+00 -4.796675561079348e+00 -4.800331562360717e+00 - -4.803992354536202e+00 -4.807657939173200e+00 -4.811328322346788e+00 -4.815003511262576e+00 -4.818683513140625e+00 - -4.822368334073276e+00 -4.826057975627521e+00 -4.829752439872078e+00 -4.833451735407881e+00 -4.837155870922971e+00 - -4.840864848921632e+00 -4.844578671297884e+00 -4.848297343688468e+00 -4.852020872870312e+00 -4.855749266438375e+00 - -4.859482530948563e+00 -4.863220667982479e+00 -4.866963679596293e+00 -4.870711574718753e+00 -4.874464362148352e+00 - -4.878222043289993e+00 -4.881984619584831e+00 -4.885752100012597e+00 -4.889524493673498e+00 -4.893301802611106e+00 - -4.897084028340568e+00 -4.900871177319985e+00 -4.904663257144151e+00 -4.908460275011687e+00 -4.912262236942902e+00 - -4.916069144641015e+00 -4.919881000415621e+00 -4.923697813318887e+00 -4.927519592402767e+00 -4.931346339975771e+00 - -4.935178057730553e+00 -4.939014751639765e+00 -4.942856428895341e+00 -4.946703097286389e+00 -4.950554763469543e+00 - -4.954411428974413e+00 -4.958273095882141e+00 -4.962139773607051e+00 -4.966011471374763e+00 -4.969888190322918e+00 - -4.973769931656962e+00 -4.977656704941523e+00 -4.981548519919207e+00 -4.985445378685372e+00 -4.989347282670139e+00 - -4.993254238289898e+00 -4.997166253181426e+00 -5.001083334876794e+00 -5.005005489750602e+00 -5.008932719652265e+00 - -5.012865027026571e+00 -5.016802421224969e+00 -5.020744911403345e+00 -5.024692499028711e+00 -5.028645185619313e+00 - -5.032602980587180e+00 -5.036565893470627e+00 -5.040533926419334e+00 -5.044507081015939e+00 -5.048485363963517e+00 - -5.052468783200935e+00 -5.056457346489804e+00 -5.060451060330298e+00 -5.064449926354071e+00 -5.068453946757710e+00 - -5.072463130865962e+00 -5.076477488052552e+00 -5.080497020758939e+00 -5.084521730904982e+00 -5.088551625256381e+00 - -5.092586711696772e+00 -5.096626997735727e+00 -5.100672489712744e+00 -5.104723189661156e+00 -5.108779100266077e+00 - -5.112840231125939e+00 -5.116906591587866e+00 -5.120978183080382e+00 -5.125055007124604e+00 -5.129137073530554e+00 - -5.133224392250169e+00 -5.137316965514153e+00 -5.141414794882011e+00 -5.145517886949661e+00 -5.149626249667421e+00 - -5.153739891366810e+00 -5.157858819095347e+00 -5.161983034383363e+00 -5.166112539324860e+00 -5.170247343785729e+00 - -5.174387457616170e+00 -5.178532882831751e+00 -5.182683620936045e+00 -5.186839679219287e+00 -5.191001066208124e+00 - -5.195167789588259e+00 -5.199339855740569e+00 -5.203517266667578e+00 -5.207700025095241e+00 -5.211888141021600e+00 - -5.216081624199723e+00 -5.220280476130696e+00 -5.224484698310884e+00 -5.228694300469721e+00 -5.232909292611727e+00 - -5.237129677608738e+00 -5.241355457600706e+00 -5.245586638932716e+00 -5.249823229255573e+00 -5.254065237237846e+00 - -5.258312670369801e+00 -5.262565530410686e+00 -5.266823819583928e+00 -5.271087547700648e+00 -5.275356724632263e+00 - -5.279631352903723e+00 -5.283911434448228e+00 -5.288196976178466e+00 -5.292487986327965e+00 -5.296784473434150e+00 - -5.301086444698075e+00 -5.305393901671405e+00 -5.309706846569482e+00 -5.314025289911748e+00 -5.318349242027271e+00 - -5.322678704179561e+00 -5.327013677718438e+00 -5.331354173404511e+00 -5.335700202105029e+00 -5.340051765703035e+00 - -5.344408865432155e+00 -5.348771508912536e+00 -5.353139705124518e+00 -5.357513462102698e+00 -5.361892786505948e+00 - -5.366277680435933e+00 -5.370668146715638e+00 -5.375064195610523e+00 -5.379465837274747e+00 -5.383873073974794e+00 - -5.388285907439377e+00 -5.392704345133761e+00 -5.397128395890300e+00 -5.401558068273167e+00 -5.405993369375257e+00 - -5.410434300672517e+00 -5.414880864443758e+00 -5.419333071796174e+00 -5.423790933634701e+00 -5.428254451226888e+00 - -5.432723625834648e+00 -5.437198468334746e+00 -5.441678989715544e+00 -5.446165191796978e+00 -5.450657075821366e+00 - -5.455154649888983e+00 -5.459657923508107e+00 -5.464166904961132e+00 -5.468681600997277e+00 -5.473202013458992e+00 - -5.477728145011161e+00 -5.482260006515158e+00 -5.486797608759512e+00 -5.491340954044872e+00 -5.495890044003880e+00 - -5.500444886085005e+00 -5.505005489175888e+00 -5.509571862105057e+00 -5.514144012303452e+00 -5.518721941670775e+00 - -5.523305652810777e+00 -5.527895156674663e+00 -5.532490463993778e+00 -5.537091576272570e+00 -5.541698495053784e+00 - -5.546311231260242e+00 -5.550929796018560e+00 -5.555554191890502e+00 -5.560184420697174e+00 -5.564820489861896e+00 - -5.569462408240030e+00 -5.574110184812914e+00 -5.578763827204064e+00 -5.583423337479740e+00 -5.588088718319627e+00 - -5.592759980414353e+00 -5.597437134453794e+00 -5.602120183113874e+00 -5.606809128447821e+00 -5.611503978032022e+00 - -5.616204740842362e+00 -5.620911425929568e+00 -5.625624040919794e+00 -5.630342587666039e+00 -5.635067068763208e+00 - -5.639797495546991e+00 -5.644533879170592e+00 -5.649276221316504e+00 -5.654024523642824e+00 -5.658778797180806e+00 - -5.663539053129186e+00 -5.668305293983524e+00 -5.673077521581335e+00 -5.677855743831122e+00 -5.682639970117403e+00 - -5.687430209657800e+00 -5.692226470164904e+00 -5.697028753498052e+00 -5.701837062188433e+00 -5.706651407307890e+00 - -5.711471800003379e+00 -5.716298243181697e+00 -5.721130739014699e+00 -5.725969294974640e+00 -5.730813920019088e+00 - -5.735664623746429e+00 -5.740521414337008e+00 -5.745384293658165e+00 -5.750253264219532e+00 -5.755128337412918e+00 - -5.760009524502356e+00 -5.764896827358567e+00 -5.769790247833362e+00 -5.774689797096235e+00 -5.779595486532854e+00 - -5.784507319075965e+00 -5.789425296924678e+00 -5.794349427796488e+00 -5.799279720850703e+00 -5.804216185495535e+00 - -5.809158829710795e+00 -5.814107655513784e+00 -5.819062665706917e+00 -5.824023872195552e+00 -5.828991286593848e+00 - -5.833964910248241e+00 -5.838944744496904e+00 -5.843930800912663e+00 -5.848923091405570e+00 -5.853921618999967e+00 - -5.858926385866531e+00 -5.863937399646989e+00 -5.868954669511408e+00 -5.873978205272220e+00 -5.879008015280387e+00 - -5.884044101398642e+00 -5.889086466127434e+00 -5.894135121006329e+00 -5.899190077679159e+00 -5.904251339167730e+00 - -5.909318907675908e+00 -5.914392790757818e+00 -5.919472997569684e+00 -5.924559538325873e+00 -5.929652421747786e+00 - -5.934751649526802e+00 -5.939857223994977e+00 -5.944969157077114e+00 -5.950087460588470e+00 -5.955212136313389e+00 - -5.960343186070434e+00 -5.965480621845905e+00 -5.970624455737114e+00 -5.975774690117698e+00 -5.980931326619691e+00 - -5.986094373632355e+00 -5.991263841186835e+00 -5.996439739124646e+00 -6.001622075628632e+00 -6.006810852436582e+00 - -6.012006072105073e+00 -6.017207746910874e+00 -6.022415889122929e+00 -6.027630501258702e+00 -6.032851585034692e+00 - -6.038079148714933e+00 -6.043313202169935e+00 -6.048553755148549e+00 -6.053800815867540e+00 -6.059054386536941e+00 - -6.064314470164098e+00 -6.069581078952353e+00 -6.074854224823474e+00 -6.080133909377011e+00 -6.085420134277816e+00 - -6.090712911774160e+00 -6.096012254273324e+00 -6.101318164235261e+00 -6.106630643404864e+00 -6.111949700614082e+00 - -6.117275346267099e+00 -6.122607589969956e+00 -6.127946439669295e+00 -6.133291897472249e+00 -6.138643966380033e+00 - -6.144002658809652e+00 -6.149367987035877e+00 -6.154739953348771e+00 -6.160118559324411e+00 -6.165503813667637e+00 - -6.170895726810269e+00 -6.176294308963303e+00 -6.181699568610070e+00 -6.187111507544039e+00 -6.192530128394146e+00 - -6.197955443821025e+00 -6.203387466288188e+00 -6.208826197438971e+00 -6.214271638855750e+00 -6.219723802697215e+00 - -6.225182701452046e+00 -6.230648338352550e+00 -6.236120715733020e+00 -6.241599841591995e+00 -6.247085725644578e+00 - -6.252578378807894e+00 -6.258077810320607e+00 -6.263584021505486e+00 -6.269097014385768e+00 -6.274616801702433e+00 - -6.280143396389799e+00 -6.285676801437800e+00 -6.291217018848358e+00 -6.296764056615736e+00 -6.302317924554712e+00 - -6.307878633769864e+00 -6.313446193664602e+00 -6.319020605547922e+00 -6.324601871487839e+00 -6.330190004682891e+00 - -6.335785018206249e+00 -6.341386913499118e+00 -6.346995691980793e+00 -6.352611366614864e+00 -6.358233950592316e+00 - -6.363863446469443e+00 -6.369499855900457e+00 -6.375143187565898e+00 -6.380793451939097e+00 -6.386450659638202e+00 - -6.392114819555641e+00 -6.397785933536126e+00 -6.403464004233896e+00 -6.409149044588990e+00 -6.414841067513965e+00 - -6.420540075525660e+00 -6.426246070301758e+00 -6.431959060559017e+00 -6.437679056917068e+00 -6.443406070567963e+00 - -6.449140110779302e+00 -6.454881178548420e+00 -6.460629275812415e+00 -6.466384416537711e+00 -6.472146614484319e+00 - -6.477915870557313e+00 -6.483692185657911e+00 -6.489475573526882e+00 -6.495266048141532e+00 -6.501063611585819e+00 - -6.506868264986595e+00 -6.512680017535606e+00 -6.518498880384615e+00 -6.524324864460620e+00 -6.530157978732819e+00 - -6.535998224564008e+00 -6.541845604255500e+00 -6.547700131469085e+00 -6.553561819849423e+00 -6.559430671612207e+00 - -6.565306688088189e+00 -6.571189878497283e+00 -6.577080253965905e+00 -6.582977825357318e+00 -6.588882601649868e+00 - -6.594794584545345e+00 -6.600713776640095e+00 -6.606640191385222e+00 -6.612573842086468e+00 -6.618514730613387e+00 - -6.624462858757332e+00 -6.630418239433046e+00 -6.636380885778538e+00 -6.642350800701542e+00 -6.648327986279747e+00 - -6.654312451500913e+00 -6.660304207148021e+00 -6.666303264274883e+00 -6.672309632144893e+00 -6.678323312588955e+00 - -6.684344308236361e+00 -6.690372632342481e+00 -6.696408298209058e+00 -6.702451308697293e+00 -6.708501665794167e+00 - -6.714559378430309e+00 -6.720624457416141e+00 -6.726696914137652e+00 -6.732776758078630e+00 -6.738863990538500e+00 - -6.744958613795213e+00 -6.751060642225177e+00 -6.757170089911689e+00 -6.763286957667176e+00 -6.769411246357500e+00 - -6.775542970333119e+00 -6.781682144164359e+00 -6.787828769816468e+00 -6.793982848306231e+00 -6.800144389461610e+00 - -6.806313405086916e+00 -6.812489906080716e+00 -6.818673901333698e+00 -6.824865392610781e+00 -6.831064382650163e+00 - -6.837270885208925e+00 -6.843484914029985e+00 -6.849706471780753e+00 -6.855935560196301e+00 -6.862172188357874e+00 - -6.868416367348060e+00 -6.874668108908677e+00 -6.880927422841348e+00 -6.887194310527692e+00 -6.893468774218006e+00 - -6.899750828057308e+00 -6.906040486046904e+00 -6.912337749718504e+00 -6.918642620544160e+00 -6.924955112226868e+00 - -6.931275238742860e+00 -6.937603002930438e+00 -6.943938406703657e+00 -6.950281459417487e+00 -6.956632172330878e+00 - -6.962990556877839e+00 -6.969356622516854e+00 -6.975730370629293e+00 -6.982111803620415e+00 -6.988500936068168e+00 - -6.994897782349220e+00 -7.001302343862422e+00 -7.007714621896787e+00 -7.014134630279748e+00 -7.020562383120512e+00 - -7.026997883116998e+00 -7.033441132058707e+00 -7.039892139512705e+00 -7.046350916975187e+00 -7.052817475881351e+00 - -7.059291825658977e+00 -7.065773967767182e+00 -7.072263904706783e+00 -7.078761651114045e+00 -7.085267221537997e+00 - -7.091780618043302e+00 -7.098301841735545e+00 -7.104830902368316e+00 -7.111367811800725e+00 -7.117912581665987e+00 - -7.124465221496127e+00 -7.131025732644298e+00 -7.137594117517873e+00 -7.144170390919956e+00 -7.150754567380619e+00 - -7.157346647942116e+00 -7.163946633668109e+00 -7.170554539195697e+00 -7.177170379365883e+00 -7.183794156261903e+00 - -7.190425870988396e+00 -7.197065533493338e+00 -7.203713155838439e+00 -7.210368749697043e+00 -7.217032324589560e+00 - -7.223703881813015e+00 -7.230383423705708e+00 -7.237070964994412e+00 -7.243766520390449e+00 -7.250470092154861e+00 - -7.257181681552523e+00 -7.263901298313877e+00 -7.270628954301988e+00 -7.277364661444877e+00 -7.284108429522252e+00 - -7.290860259655573e+00 -7.297620154032538e+00 -7.304388127764033e+00 -7.311164195737019e+00 -7.317948359019635e+00 - -7.324740618617562e+00 -7.331540989105481e+00 -7.338349485298712e+00 -7.345166109406192e+00 -7.351990862719772e+00 - -7.358823755469352e+00 -7.365664799915581e+00 -7.372514007504119e+00 -7.379371387574386e+00 -7.386236941855793e+00 - -7.393110673113762e+00 -7.399992595867711e+00 -7.406882724521767e+00 -7.413781061264927e+00 -7.420687607444220e+00 - -7.427602373253923e+00 -7.434525370953283e+00 -7.441456612214240e+00 -7.448396106579596e+00 -7.455343855662903e+00 - -7.462299862106879e+00 -7.469264140600134e+00 -7.476236705537742e+00 -7.483217558094771e+00 -7.490206699573982e+00 - -7.497204145008848e+00 -7.504209909607961e+00 -7.511223995549668e+00 -7.518246403916826e+00 -7.525277144440522e+00 - -7.532316229110418e+00 -7.539363670302306e+00 -7.546419478207750e+00 -7.553483653895294e+00 -7.560556199398457e+00 - -7.567637129733686e+00 -7.574726459966183e+00 -7.581824192373288e+00 -7.588930328179804e+00 -7.596044877188221e+00 - -7.603167851392376e+00 -7.610299262973792e+00 -7.617439121971403e+00 -7.624587429666054e+00 -7.631744188388593e+00 - -7.638909413427992e+00 -7.646083119762239e+00 -7.653265308167305e+00 -7.660455979470388e+00 -7.667655148905554e+00 - -7.674862831955687e+00 -7.682079030692125e+00 -7.689303746121935e+00 -7.696536988406601e+00 -7.703778769965018e+00 - -7.711029103091334e+00 -7.718287997777487e+00 -7.725555454931286e+00 -7.732831476489904e+00 -7.740116077592081e+00 - -7.747409273463959e+00 -7.754711066479733e+00 -7.762021457991705e+00 -7.769340458116517e+00 -7.776668079072852e+00 - -7.784004332723263e+00 -7.791349228774319e+00 -7.798702768664788e+00 -7.806064954991001e+00 -7.813435803247359e+00 - -7.820815328504128e+00 -7.828203531237023e+00 -7.835600412067597e+00 -7.843005986795347e+00 -7.850420271453628e+00 - -7.857843267833355e+00 -7.865274976500961e+00 -7.872715407367362e+00 -7.880164572827870e+00 -7.887622485870939e+00 - -7.895089157097287e+00 -7.902564586963549e+00 -7.910048776908389e+00 -7.917541742442640e+00 -7.925043499243823e+00 - -7.932554049584044e+00 -7.940073394568305e+00 -7.947601544038569e+00 -7.955138510136092e+00 -7.962684305462377e+00 - -7.970238940357911e+00 -7.977802415658878e+00 -7.985374733292938e+00 -7.992955909057959e+00 -8.000545958501995e+00 - -8.008144882303682e+00 -8.015752681155906e+00 -8.023369370677967e+00 -8.030994966700497e+00 -8.038629470973136e+00 - -8.046272884117311e+00 -8.053925216322545e+00 -8.061586480220186e+00 -8.069256688640843e+00 -8.076935852017314e+00 - -8.084623970991846e+00 -8.092321047230506e+00 -8.100027096285098e+00 -8.107742133772728e+00 -8.115466161685978e+00 - -8.123199180963685e+00 -8.130941201954130e+00 -8.138692237272345e+00 -8.146452299190864e+00 -8.154221397655556e+00 - -8.161999533648068e+00 -8.169786709369063e+00 -8.177582940859525e+00 -8.185388243772254e+00 -8.193202618367051e+00 - -8.201026064968486e+00 -8.208858599553158e+00 -8.216700238370747e+00 -8.224550983111227e+00 -8.232410834288519e+00 - -8.240279802271914e+00 -8.248157899820946e+00 -8.256045139400785e+00 -8.263941531127587e+00 -8.271847076015916e+00 - -8.279761776165609e+00 -8.287685647119202e+00 -8.295618704371698e+00 -8.303560949785306e+00 -8.311512384182917e+00 - -8.319473017862927e+00 -8.327442863513763e+00 -8.335421933908444e+00 -8.343410239406900e+00 -8.351407780632112e+00 - -8.359414559352070e+00 -8.367430591651793e+00 -8.375455893292965e+00 -8.383490464426892e+00 -8.391534305333888e+00 - -8.399587432420665e+00 -8.407649862295598e+00 -8.415721596247392e+00 -8.423802634359653e+00 -8.431892987215194e+00 - -8.439992667917126e+00 -8.448101689150496e+00 -8.456220061058572e+00 -8.464347784035521e+00 -8.472484859778373e+00 - -8.480631304944675e+00 -8.488787135775029e+00 -8.496952351881781e+00 -8.505126952972617e+00 -8.513310955764712e+00 - -8.521504377280520e+00 -8.529707218754108e+00 -8.537919480083488e+00 -8.546141171610756e+00 -8.554372306334406e+00 - -8.562612897434500e+00 -8.570862955488629e+00 -8.579122480482935e+00 -8.587391473585072e+00 -8.595669951280222e+00 - -8.603957930092136e+00 -8.612255411381385e+00 -8.620562395277888e+00 -8.628878892152137e+00 -8.637204914976417e+00 - -8.645540476889700e+00 -8.653885588365707e+00 -8.662240249050400e+00 -8.670604460002718e+00 -8.678978238761259e+00 - -8.687361602440037e+00 -8.695754549975142e+00 -8.704157080317993e+00 -8.712569210659231e+00 -8.720990958572770e+00 - -8.729422324926496e+00 -8.737863309144757e+00 -8.746313921583734e+00 -8.754774175423437e+00 -8.763244084207386e+00 - -8.771723658743657e+00 -8.780212898534927e+00 -8.788711804325507e+00 -8.797220393131562e+00 -8.805738681960509e+00 - -8.814266671512945e+00 -8.822804361262596e+00 -8.831351762082482e+00 -8.839908887544672e+00 -8.848475750618142e+00 - -8.857052361519681e+00 -8.865638720060298e+00 -8.874234827408518e+00 -8.882840700568694e+00 -8.891456356239988e+00 - -8.900081794065120e+00 -8.908717013654563e+00 -8.917362031546196e+00 -8.926016864607513e+00 -8.934681514097109e+00 - -8.943355979966887e+00 -8.952040272550780e+00 -8.960734404827180e+00 -8.969438389970174e+00 -8.978152238557112e+00 - -8.986875950582608e+00 -8.995609527224275e+00 -9.004352984974421e+00 -9.013106340348738e+00 -9.021869594641789e+00 - -9.030642747850949e+00 -9.039425810005964e+00 -9.048218793898496e+00 -9.057021713335553e+00 -9.065834579375275e+00 - -9.074657391064932e+00 -9.083490148798390e+00 -9.092332870366718e+00 -9.101185573233034e+00 -9.110048256151465e+00 - -9.118920917820537e+00 -9.127803575425368e+00 -9.136696246597257e+00 -9.145598932265708e+00 -9.154511631860180e+00 - -9.163434355511646e+00 -9.172367116215408e+00 -9.181309927722621e+00 -9.190262801063124e+00 -9.199225735625708e+00 - -9.208198731948572e+00 -9.217181806808554e+00 -9.226174977077383e+00 -9.235178243767663e+00 -9.244191606592038e+00 - -9.253215075922315e+00 -9.262248664894432e+00 -9.271292387041701e+00 -9.280346253080740e+00 -9.289410262064051e+00 - -9.298484414471314e+00 -9.307568728155069e+00 -9.316663220573421e+00 -9.325767890233902e+00 -9.334882735648362e+00 - -9.344007774296474e+00 -9.353143024056331e+00 -9.362288485431986e+00 -9.371444157433135e+00 -9.380610050466057e+00 - -9.389786177888119e+00 -9.398972553464475e+00 -9.408169188076664e+00 -9.417376080663951e+00 -9.426593231436920e+00 - -9.435820657633688e+00 -9.445058376575700e+00 -9.454306388890288e+00 -9.463564693828612e+00 -9.472833301831271e+00 - -9.482112226230582e+00 -9.491401480736307e+00 -9.500701076124317e+00 -9.510011011057383e+00 -9.519331285649606e+00 - -9.528661917933491e+00 -9.538002925632075e+00 -9.547354307312132e+00 -9.556716061430350e+00 -9.566088205159264e+00 - -9.575470756067922e+00 -9.584863714595665e+00 -9.594267079809105e+00 -9.603680862413734e+00 -9.613105076017005e+00 - -9.622539734195460e+00 -9.631984847535897e+00 -9.641440414697058e+00 -9.650906435763309e+00 -9.660382928449559e+00 - -9.669869910482992e+00 -9.679367382009378e+00 -9.688875341677877e+00 -9.698393799732578e+00 -9.707922769547205e+00 - -9.717462265419133e+00 -9.727012298576232e+00 -9.736572867044643e+00 -9.746143970285512e+00 -9.755725626701739e+00 - -9.765317854403191e+00 -9.774920651385886e+00 -9.784534015610914e+00 -9.794157965013451e+00 -9.803792517858509e+00 - -9.813437673756464e+00 -9.823093430886084e+00 -9.832759800354408e+00 -9.842436796281985e+00 -9.852124431915341e+00 - -9.861822717446652e+00 -9.871531651724764e+00 -9.881251235098006e+00 -9.890981485255914e+00 -9.900722419735771e+00 - -9.910474038124631e+00 -9.920236338721825e+00 -9.930009332625946e+00 -9.939793033953066e+00 -9.949587456089942e+00 - -9.959392609292857e+00 -9.969208492025555e+00 -9.979035104343238e+00 -9.988872464459540e+00 -9.998720590171930e+00 - -1.000857947945488e+01 -1.001844913033355e+01 -1.002832956085879e+01 -1.003822078906736e+01 -1.004812281291406e+01 - -1.005803562971182e+01 -1.006795925428782e+01 -1.007789370360111e+01 -1.008783898562387e+01 -1.009779510571246e+01 - -1.010776206774677e+01 -1.011773987740720e+01 -1.012772854905251e+01 -1.013772809631413e+01 -1.014773852123577e+01 - -1.015775982444731e+01 -1.016779201251112e+01 -1.017783509576905e+01 -1.018788909374848e+01 -1.019795402262726e+01 - -1.020802987599985e+01 -1.021811664796306e+01 -1.022821435720666e+01 -1.023832302389762e+01 -1.024844264951883e+01 - -1.025857323411911e+01 -1.026871479069502e+01 -1.027886733277511e+01 -1.028903086306819e+01 -1.029920538356622e+01 - -1.030939090421369e+01 -1.031958743714735e+01 -1.032979499532081e+01 -1.034001358910991e+01 -1.035024321776280e+01 - -1.036048388191000e+01 -1.037073559883907e+01 -1.038099838556339e+01 -1.039127224134250e+01 -1.040155716512729e+01 - -1.041185317238784e+01 -1.042216027887615e+01 -1.043247848495290e+01 -1.044280779013644e+01 -1.045314820596725e+01 - -1.046349974688984e+01 -1.047386242694284e+01 -1.048423625623699e+01 -1.049462122957744e+01 -1.050501734396915e+01 - -1.051542462052187e+01 -1.052584308069211e+01 -1.053627272321853e+01 -1.054671354447971e+01 -1.055716555413174e+01 - -1.056762876571201e+01 -1.057810319500591e+01 -1.058858885406686e+01 -1.059908573777257e+01 -1.060959384260205e+01 - -1.062011318861535e+01 -1.063064379594653e+01 -1.064118566144451e+01 -1.065173878128750e+01 -1.066230317225584e+01 - -1.067287885251234e+01 -1.068346582514766e+01 -1.069406409086973e+01 -1.070467365592747e+01 -1.071529452946521e+01 - -1.072592672666786e+01 -1.073657026057826e+01 -1.074722512963040e+01 -1.075789133336255e+01 -1.076856889033910e+01 - -1.077925781838790e+01 -1.078995811336476e+01 -1.080066977044343e+01 -1.081139280404170e+01 -1.082212723175914e+01 - -1.083287306467895e+01 -1.084363031023443e+01 -1.085439896777578e+01 -1.086517903841335e+01 -1.087597053838113e+01 - -1.088677348334085e+01 -1.089758787154147e+01 -1.090841370173705e+01 -1.091925099211483e+01 -1.093009976068779e+01 - -1.094096000533889e+01 -1.095183172286895e+01 -1.096271492588021e+01 -1.097360962990334e+01 -1.098451584638146e+01 - -1.099543358339704e+01 -1.100636283967740e+01 -1.101730361593110e+01 -1.102825593014644e+01 -1.103921979985815e+01 - -1.105019522350652e+01 -1.106118219809120e+01 -1.107218073394329e+01 -1.108319084475604e+01 -1.109421254433972e+01 - -1.110524584310812e+01 -1.111629073777213e+01 -1.112734722664297e+01 -1.113841532813614e+01 -1.114949506055284e+01 - -1.116058642163307e+01 -1.117168940919924e+01 -1.118280404196459e+01 -1.119393033845125e+01 -1.120506829552628e+01 - -1.121621790821428e+01 -1.122737918582522e+01 -1.123855214233318e+01 -1.124973679608346e+01 -1.126093316109601e+01 - -1.127214122971816e+01 -1.128336099568353e+01 -1.129459247994368e+01 -1.130583570391351e+01 -1.131709066364352e+01 - -1.132835735316995e+01 -1.133963578383626e+01 -1.135092597165251e+01 -1.136222793398803e+01 -1.137354168289046e+01 - -1.138486720776133e+01 -1.139620450077960e+01 -1.140755358788016e+01 -1.141891449467379e+01 -1.143028721171902e+01 - -1.144167172931863e+01 -1.145306807180483e+01 -1.146447626363145e+01 -1.147589629570943e+01 -1.148732815744427e+01 - -1.149877186576219e+01 -1.151022744176966e+01 -1.152169489577362e+01 -1.153317423307527e+01 -1.154466544975234e+01 - -1.155616854500299e+01 -1.156768353973055e+01 -1.157921045411968e+01 -1.159074928377541e+01 -1.160230002278200e+01 - -1.161386268372032e+01 -1.162543728297182e+01 -1.163702383362365e+01 -1.164862234413445e+01 -1.166023280774309e+01 - -1.167185522083641e+01 -1.168348960761297e+01 -1.169513599109641e+01 -1.170679436179895e+01 -1.171846471050954e+01 - -1.173014706163534e+01 -1.174184143967664e+01 -1.175354783588804e+01 -1.176526623959987e+01 -1.177699666569085e+01 - -1.178873913359907e+01 -1.180049365545172e+01 -1.181226023874721e+01 -1.182403887977966e+01 -1.183582957710202e+01 - -1.184763234950681e+01 -1.185944721571250e+01 -1.187127417390187e+01 -1.188311322026980e+01 -1.189496436359524e+01 - -1.190682761635663e+01 -1.191870299324639e+01 -1.193059050542573e+01 -1.194249014771712e+01 -1.195440191732676e+01 - -1.196632583733436e+01 -1.197826192918009e+01 -1.199021018187259e+01 -1.200217058481946e+01 -1.201414316145583e+01 - -1.202612793653577e+01 -1.203812490606177e+01 -1.205013406283600e+01 -1.206215541561094e+01 -1.207418897775090e+01 - -1.208623476511758e+01 -1.209829279023755e+01 -1.211036304979982e+01 -1.212244554104682e+01 -1.213454027927224e+01 - -1.214664728029985e+01 -1.215876654402256e+01 -1.217089806888390e+01 -1.218304186346073e+01 -1.219519793969503e+01 - -1.220736631285608e+01 -1.221954699446002e+01 -1.223173997768314e+01 -1.224394525782826e+01 -1.225616285704409e+01 - -1.226839279716718e+01 -1.228063507193962e+01 -1.229288967419984e+01 -1.230515662126608e+01 -1.231743593190913e+01 - -1.232972760623024e+01 -1.234203164189830e+01 -1.235434804552219e+01 -1.236667682754052e+01 -1.237901800477097e+01 - -1.239137159078778e+01 -1.240373757981251e+01 -1.241611596680448e+01 -1.242850676902663e+01 -1.244091000477032e+01 - -1.245332567413717e+01 -1.246575377485128e+01 -1.247819431331654e+01 -1.249064729993889e+01 -1.250311275245252e+01 - -1.251559068470151e+01 -1.252808108764087e+01 -1.254058395403090e+01 -1.255309930674196e+01 -1.256562716858205e+01 - -1.257816753199971e+01 -1.259072038911156e+01 -1.260328576106586e+01 -1.261586366917709e+01 -1.262845410639316e+01 - -1.264105706405277e+01 -1.265367255542431e+01 -1.266630059802175e+01 -1.267894120441173e+01 -1.269159438291520e+01 - -1.270426012981745e+01 -1.271693844300063e+01 -1.272962933876972e+01 -1.274233283335257e+01 -1.275504892424538e+01 - -1.276777760888006e+01 -1.278051890316245e+01 -1.279327282335948e+01 -1.280603936870822e+01 -1.281881853703964e+01 - -1.283161033759003e+01 -1.284441478278821e+01 -1.285723188642777e+01 -1.287006165845383e+01 -1.288290409205257e+01 - -1.289575918258311e+01 -1.290862695085492e+01 -1.292150741744502e+01 -1.293440057655018e+01 -1.294730642109768e+01 - -1.296022496531707e+01 -1.297315622664438e+01 -1.298610021403966e+01 -1.299905693252094e+01 -1.301202637981436e+01 - -1.302500855607946e+01 -1.303800347850134e+01 -1.305101116311717e+01 -1.306403160434687e+01 -1.307706479749205e+01 - -1.309011076299821e+01 -1.310316952145874e+01 -1.311624106891474e+01 -1.312932539865738e+01 -1.314242251753035e+01 - -1.315553243732881e+01 -1.316865517610136e+01 -1.318179074759510e+01 -1.319493914209791e+01 -1.320810035188408e+01 - -1.322127440063306e+01 -1.323446131182036e+01 -1.324766107670098e+01 -1.326087368408213e+01 -1.327409914520021e+01 - -1.328733747660298e+01 -1.330058869365459e+01 -1.331385280702646e+01 -1.332712980980294e+01 -1.334041969690924e+01 - -1.335372248822127e+01 -1.336703820316815e+01 -1.338036683444133e+01 -1.339370837465144e+01 -1.340706284282357e+01 - -1.342043025877972e+01 -1.343381061911550e+01 -1.344720391854233e+01 -1.346061016746156e+01 -1.347402937953320e+01 - -1.348746156576247e+01 -1.350090673400032e+01 -1.351436488213541e+01 -1.352783600940468e+01 -1.354132013040003e+01 - -1.355481725974633e+01 -1.356832739684519e+01 -1.358185053959114e+01 -1.359538669507347e+01 -1.360893587411229e+01 - -1.362249809325635e+01 -1.363607336498644e+01 -1.364966167978290e+01 -1.366326303005515e+01 -1.367687743792930e+01 - -1.369050492543861e+01 -1.370414548452841e+01 -1.371779910680898e+01 -1.373146581263829e+01 -1.374514562258463e+01 - -1.375883852931014e+01 -1.377254452369323e+01 -1.378626361738342e+01 -1.379999582664259e+01 -1.381374116541099e+01 - -1.382749964295472e+01 -1.384127125216480e+01 -1.385505598801133e+01 -1.386885387015567e+01 -1.388266491822051e+01 - -1.389648912698253e+01 -1.391032648926665e+01 -1.392417701493663e+01 -1.393804071810552e+01 -1.395191761284479e+01 - -1.396580770902492e+01 -1.397971099975399e+01 -1.399362747983656e+01 -1.400755716762526e+01 -1.402150008127576e+01 - -1.403545621460787e+01 -1.404942556175519e+01 -1.406340814244217e+01 -1.407740397661280e+01 -1.409141305949836e+01 - -1.410543538386059e+01 -1.411947095729565e+01 -1.413351979216372e+01 -1.414758190504674e+01 -1.416165730817942e+01 - -1.417574599218579e+01 -1.418984794931155e+01 -1.420396319989974e+01 -1.421809176459019e+01 -1.423223363711269e+01 - -1.424638880961032e+01 -1.426055729478944e+01 -1.427473910897708e+01 -1.428893426241975e+01 -1.430314276106135e+01 - -1.431736459971596e+01 -1.433159977568000e+01 -1.434584830730895e+01 -1.436011021230267e+01 -1.437438548467938e+01 - -1.438867411856965e+01 -1.440297613223502e+01 -1.441729154417122e+01 -1.443162034967981e+01 -1.444596254173529e+01 - -1.446031812719803e+01 -1.447468711827448e+01 -1.448906953466952e+01 -1.450346539077074e+01 -1.451787467219810e+01 - -1.453229736674074e+01 -1.454673349963205e+01 -1.456118309651608e+01 -1.457564614723534e+01 -1.459012263904241e+01 - -1.460461258463169e+01 -1.461911600163362e+01 -1.463363290198108e+01 -1.464816329304780e+01 -1.466270716966852e+01 - -1.467726452861927e+01 -1.469183538698022e+01 -1.470641976118071e+01 -1.472101764474266e+01 -1.473562903182180e+01 - -1.475025394201659e+01 -1.476489239431922e+01 -1.477954437985420e+01 -1.479420988900897e+01 -1.480888893709030e+01 - -1.482358154289730e+01 -1.483828771427918e+01 -1.485300745484606e+01 -1.486774076220148e+01 -1.488248763590571e+01 - -1.489724808935241e+01 -1.491202213620220e+01 -1.492680977735018e+01 -1.494161101188853e+01 -1.495642584446314e+01 - -1.497125428281713e+01 -1.498609634152866e+01 -1.500095203243959e+01 -1.501582134961145e+01 -1.503070428834008e+01 - -1.504560086663885e+01 -1.506051110171047e+01 -1.507543498479744e+01 -1.509037250787217e+01 -1.510532369178669e+01 - -1.512028855781273e+01 -1.513526710002122e+01 -1.515025931004586e+01 -1.516526519697226e+01 -1.518028477406786e+01 - -1.519531805387558e+01 -1.521036504514735e+01 -1.522542574219565e+01 -1.524050014105165e+01 -1.525558825906066e+01 - -1.527069011317451e+01 -1.528580569745696e+01 -1.530093500454836e+01 -1.531607804428359e+01 -1.533123483115148e+01 - -1.534640538106230e+01 -1.536158970459035e+01 -1.537678778954449e+01 -1.539199962605270e+01 -1.540722523628471e+01 - -1.542246464244602e+01 -1.543771783484346e+01 -1.545298480379291e+01 -1.546826557154514e+01 -1.548356016030771e+01 - -1.549886856018057e+01 -1.551419075889859e+01 -1.552952676684366e+01 -1.554487659991805e+01 -1.556024027345857e+01 - -1.557561779759322e+01 -1.559100916218038e+01 -1.560641435912106e+01 -1.562183340875659e+01 -1.563726633124305e+01 - -1.565271311755539e+01 -1.566817375858786e+01 -1.568364827409284e+01 -1.569913668435983e+01 -1.571463898296877e+01 - -1.573015516140282e+01 -1.574568522946743e+01 -1.576122920078429e+01 -1.577678708591764e+01 -1.579235889192325e+01 - -1.580794461488044e+01 -1.582354425266206e+01 -1.583915782129173e+01 -1.585478533595468e+01 -1.587042679033195e+01 - -1.588608217713541e+01 -1.590175150670428e+01 -1.591743479377280e+01 -1.593313205302798e+01 -1.594884329356461e+01 - -1.596456850215542e+01 -1.598030766876410e+01 -1.599606081844003e+01 -1.601182797567503e+01 -1.602760912764517e+01 - -1.604340426053651e+01 -1.605921339389068e+01 -1.607503654929621e+01 -1.609087372317365e+01 -1.610672490846679e+01 - -1.612259010938000e+01 -1.613846933535691e+01 -1.615436260553746e+01 -1.617026993400350e+01 -1.618619130490810e+01 - -1.620212670496088e+01 -1.621807616102629e+01 -1.623403970021593e+01 -1.625001731047507e+01 -1.626600897617460e+01 - -1.628201470655392e+01 -1.629803451699528e+01 -1.631406842258372e+01 -1.633011643368945e+01 -1.634617854212047e+01 - -1.636225474110459e+01 -1.637834504811086e+01 -1.639444948009596e+01 -1.641056802772599e+01 -1.642670068226715e+01 - -1.644284746367691e+01 -1.645900839255391e+01 -1.647518346337059e+01 -1.649137266740475e+01 -1.650757600928198e+01 - -1.652379349905581e+01 -1.654002515514406e+01 -1.655627099138395e+01 -1.657253099492616e+01 -1.658880515436409e+01 - -1.660509349074862e+01 -1.662139602569388e+01 -1.663771275060954e+01 -1.665404365442992e+01 -1.667038874639235e+01 - -1.668674804082613e+01 -1.670312155212567e+01 -1.671950928959044e+01 -1.673591124207530e+01 -1.675232740091000e+01 - -1.676875778776886e+01 -1.678520242381186e+01 -1.680166129779755e+01 -1.681813439803682e+01 -1.683462174345131e+01 - -1.685112335404732e+01 -1.686763922355921e+01 -1.688416934305047e+01 -1.690071371917313e+01 -1.691727236387981e+01 - -1.693384529473730e+01 -1.695043252373442e+01 -1.696703403493436e+01 -1.698364981519248e+01 -1.700027989045860e+01 - -1.701692428668450e+01 -1.703358299073511e+01 -1.705025598664567e+01 -1.706694328621936e+01 -1.708364490699094e+01 - -1.710036086165371e+01 -1.711709115711999e+01 -1.713383578201967e+01 -1.715059472804424e+01 -1.716736801741393e+01 - -1.718415567151382e+01 -1.720095767785962e+01 -1.721777402421613e+01 -1.723460473321376e+01 -1.725144982735173e+01 - -1.726830929373925e+01 -1.728518311723097e+01 -1.730207130905323e+01 -1.731897388644410e+01 -1.733589086431708e+01 - -1.735282225151622e+01 -1.736976803493245e+01 -1.738672820398455e+01 -1.740370278015603e+01 -1.742069178532102e+01 - -1.743769521085149e+01 -1.745471304524893e+01 -1.747174529603476e+01 -1.748879197614670e+01 -1.750585310116775e+01 - -1.752292868122209e+01 -1.754001870195336e+01 -1.755712315207324e+01 -1.757424205704595e+01 -1.759137544124289e+01 - -1.760852328791187e+01 -1.762568558032359e+01 -1.764286234296404e+01 -1.766005360135051e+01 -1.767725934391039e+01 - -1.769447955614261e+01 -1.771171424892207e+01 -1.772896343807829e+01 -1.774622713388326e+01 -1.776350534196338e+01 - -1.778079805492016e+01 -1.779810526797336e+01 -1.781542699984077e+01 -1.783276326793605e+01 -1.785011406095838e+01 - -1.786747936642481e+01 -1.788485919583838e+01 -1.790225356596892e+01 -1.791966249066770e+01 -1.793708597750879e+01 - -1.795452401187612e+01 -1.797197658287230e+01 -1.798944371666477e+01 -1.800692543788475e+01 -1.802442172795408e+01 - -1.804193256819016e+01 -1.805945798270200e+01 -1.807699799758296e+01 -1.809455260407236e+01 -1.811212178929598e+01 - -1.812970555877947e+01 -1.814730392419934e+01 -1.816491690343573e+01 -1.818254450889657e+01 -1.820018672489731e+01 - -1.821784353770839e+01 -1.823551496951270e+01 -1.825320104351004e+01 -1.827090175105552e+01 -1.828861707995103e+01 - -1.830634703563002e+01 -1.832409162961503e+01 -1.834185088015348e+01 -1.835962479982180e+01 -1.837741337178776e+01 - -1.839521658191638e+01 -1.841303445627024e+01 -1.843086702044687e+01 -1.844871425798603e+01 -1.846657615155986e+01 - -1.848445272242748e+01 -1.850234399331442e+01 -1.852024995422484e+01 -1.853817059263430e+01 -1.855610591862525e+01 - -1.857405594751762e+01 -1.859202069297440e+01 -1.861000016303027e+01 -1.862799434486363e+01 -1.864600322762024e+01 - -1.866402682917165e+01 -1.868206516860479e+01 -1.870011824114266e+01 -1.871818603889838e+01 -1.873626856540951e+01 - -1.875436582948875e+01 -1.877247784962497e+01 -1.879060463922456e+01 -1.880874618168810e+01 -1.882690246254704e+01 - -1.884507350586227e+01 -1.886325933574866e+01 -1.888145993800745e+01 -1.889967529731236e+01 -1.891790543214035e+01 - -1.893615036295555e+01 -1.895441008436764e+01 -1.897268458788422e+01 -1.899097387845919e+01 -1.900927796546465e+01 - -1.902759686249918e+01 -1.904593057916082e+01 -1.906427910481893e+01 -1.908264243109121e+01 -1.910102057881749e+01 - -1.911941356739387e+01 -1.913782138121961e+01 -1.915624400568942e+01 -1.917468146517671e+01 -1.919313378404767e+01 - -1.921160094766128e+01 -1.923008293912871e+01 -1.924857977157690e+01 -1.926709146357444e+01 -1.928561802544077e+01 - -1.930415946120927e+01 -1.932271575801813e+01 -1.934128690695999e+01 -1.935987293184044e+01 -1.937847385553680e+01 - -1.939708966450047e+01 -1.941572034241033e+01 -1.943436589828115e+01 -1.945302634705033e+01 -1.947170170200994e+01 - -1.949039197138318e+01 -1.950909714476303e+01 -1.952781721398065e+01 -1.954655219845012e+01 -1.956530211609402e+01 - -1.958406695128608e+01 -1.960284668959667e+01 -1.962164135493148e+01 -1.964045097168231e+01 -1.965927552785040e+01 - -1.967811500826448e+01 -1.969696942145404e+01 -1.971583878200212e+01 -1.973472310500559e+01 -1.975362239928199e+01 - -1.977253664801789e+01 -1.979146583743514e+01 -1.981040999152762e+01 -1.982936913462439e+01 -1.984834325462312e+01 - -1.986733233626431e+01 -1.988633638809098e+01 -1.990535542475069e+01 -1.992438946150660e+01 -1.994343850724086e+01 - -1.996250254469571e+01 -1.998158155988759e+01 -2.000067557806942e+01 -2.001978462401460e+01 -2.003890868134189e+01 - -2.005804773353269e+01 -2.007720180467363e+01 -2.009637091866160e+01 -2.011555505802958e+01 -2.013475420367532e+01 - -2.015396837131929e+01 -2.017319758216888e+01 -2.019244184455664e+01 -2.021170116029698e+01 -2.023097551800653e+01 - -2.025026491057744e+01 -2.026956936120177e+01 -2.028888889127859e+01 -2.030822348473533e+01 -2.032757312336421e+01 - -2.034693781788847e+01 -2.036631758558183e+01 -2.038571244098909e+01 -2.040512239225047e+01 -2.042454742461679e+01 - -2.044398752597867e+01 -2.046344271767523e+01 -2.048291302072143e+01 -2.050239842138679e+01 -2.052189890581644e+01 - -2.054141449440303e+01 -2.056094520839277e+01 -2.058049103819856e+01 -2.060005197091200e+01 -2.061962801117254e+01 - -2.063921916971323e+01 -2.065882546409381e+01 -2.067844690614864e+01 -2.069808347798381e+01 -2.071773516441981e+01 - -2.073740199086278e+01 -2.075708398272239e+01 -2.077678112483692e+01 -2.079649339928443e+01 -2.081622081767353e+01 - -2.083596339752241e+01 -2.085572115045732e+01 -2.087549408142252e+01 -2.089528217452614e+01 -2.091508541798258e+01 - -2.093490383726751e+01 -2.095473745703866e+01 -2.097458626142068e+01 -2.099445023367205e+01 -2.101432939411960e+01 - -2.103422376365449e+01 -2.105413332835716e+01 -2.107405807288499e+01 -2.109399801101360e+01 -2.111395316146354e+01 - -2.113392353361706e+01 -2.115390913036233e+01 -2.117390993794961e+01 -2.119392594678185e+01 -2.121395718051052e+01 - -2.123400366165125e+01 -2.125406537492771e+01 -2.127414230292253e+01 -2.129423445744600e+01 -2.131434185603574e+01 - -2.133446450991120e+01 -2.135460242400538e+01 -2.137475558442359e+01 -2.139492398094176e+01 -2.141510763684612e+01 - -2.143530657354728e+01 -2.145552077144329e+01 -2.147575021223202e+01 -2.149599492382317e+01 -2.151625493458459e+01 - -2.153653022850520e+01 -2.155682078515937e+01 -2.157712661084235e+01 -2.159744772002078e+01 -2.161778413312624e+01 - -2.163813586321833e+01 -2.165850288790379e+01 -2.167888518769065e+01 -2.169928279014487e+01 -2.171969572392566e+01 - -2.174012397500749e+01 -2.176056752455845e+01 -2.178102637720577e+01 -2.180150054539059e+01 -2.182199004935065e+01 - -2.184249490264348e+01 -2.186301508430896e+01 -2.188355057625899e+01 -2.190410140641098e+01 -2.192466760199104e+01 - -2.194524914145450e+01 -2.196584600311797e+01 -2.198645821351363e+01 -2.200708580045210e+01 -2.202772874864248e+01 - -2.204838703903658e+01 -2.206906068065864e+01 -2.208974968965916e+01 -2.211045408262128e+01 -2.213117386881762e+01 - -2.215190902784613e+01 -2.217265954271720e+01 -2.219342543976576e+01 -2.221420674565993e+01 -2.223500344507609e+01 - -2.225581551916326e+01 -2.227664297695268e+01 -2.229748583458740e+01 -2.231834410877561e+01 -2.233921780886325e+01 - -2.236010691418214e+01 -2.238101140757746e+01 -2.240193131596196e+01 -2.242286666626994e+01 -2.244381744145418e+01 - -2.246478362333585e+01 -2.248576523319086e+01 -2.250676229308250e+01 -2.252777478876882e+01 -2.254880270395783e+01 - -2.256984605046237e+01 -2.259090484578745e+01 -2.261197910210208e+01 -2.263306882483333e+01 -2.265417399777652e+01 - -2.267529460825966e+01 -2.269643067937303e+01 -2.271758223358744e+01 -2.273874925513337e+01 -2.275993172840441e+01 - -2.278112967668665e+01 -2.280234312326570e+01 -2.282357205253301e+01 -2.284481644618636e+01 -2.286607631404299e+01 - -2.288735167241803e+01 -2.290864253549898e+01 -2.292994891082159e+01 -2.295127078144212e+01 -2.297260813386354e+01 - -2.299396099285480e+01 -2.301532938287575e+01 -2.303671328888409e+01 -2.305811269234469e+01 -2.307952760025338e+01 - -2.310095802706863e+01 -2.312240399156859e+01 -2.314386550544134e+01 -2.316534254769484e+01 -2.318683510020089e+01 - -2.320834318896662e+01 -2.322986684000025e+01 -2.325140603517923e+01 -2.327296075598023e+01 -2.329453102640753e+01 - -2.331611687084991e+01 -2.333771827270656e+01 -2.335933521295700e+01 -2.338096770389138e+01 -2.340261576396985e+01 - -2.342427940502197e+01 -2.344595863230511e+01 -2.346765343141823e+01 -2.348936379112492e+01 -2.351108973250527e+01 - -2.353283127622654e+01 -2.355458840898814e+01 -2.357636111469370e+01 -2.359814940003157e+01 -2.361995327887107e+01 - -2.364177277102066e+01 -2.366360788867084e+01 -2.368545860760097e+01 -2.370732490730504e+01 -2.372920681854641e+01 - -2.375110437181196e+01 -2.377301754521346e+01 -2.379494631547129e+01 -2.381689070611525e+01 -2.383885074279985e+01 - -2.386082641286912e+01 -2.388281770027697e+01 -2.390482461372720e+01 -2.392684716763744e+01 -2.394888537453080e+01 - -2.397093924094647e+01 -2.399300875138237e+01 -2.401509389381072e+01 -2.403719469214220e+01 -2.405931116939521e+01 - -2.408144330908079e+01 -2.410359109227195e+01 -2.412575452979684e+01 -2.414793363861520e+01 -2.417012843045825e+01 - -2.419233891107258e+01 -2.421456506749473e+01 -2.423680688969797e+01 -2.425906439811232e+01 -2.428133761196757e+01 - -2.430362651523593e+01 -2.432593109247103e+01 -2.434825136580965e+01 -2.437058735754595e+01 -2.439293905302052e+01 - -2.441530643508021e+01 -2.443768951355032e+01 -2.446008830475372e+01 -2.448250282402539e+01 -2.450493307947941e+01 - -2.452737905133441e+01 -2.454984072340254e+01 -2.457231812176549e+01 -2.459481127247106e+01 -2.461732015916192e+01 - -2.463984476198997e+01 -2.466238508954903e+01 -2.468494115731883e+01 -2.470751297988127e+01 -2.473010056541401e+01 - -2.475270389737600e+01 -2.477532296279144e+01 -2.479795778766421e+01 -2.482060839605179e+01 -2.484327476524651e+01 - -2.486595687297807e+01 -2.488865474549064e+01 -2.491136841050829e+01 -2.493409785316058e+01 -2.495684305468689e+01 - -2.497960402336061e+01 -2.500238077436705e+01 -2.502517332350563e+01 -2.504798167938967e+01 -2.507080582127416e+01 - -2.509364573240812e+01 -2.511650144137505e+01 -2.513937297643642e+01 -2.516226031923135e+01 -2.518516344740990e+01 - -2.520808236928804e+01 -2.523101710100030e+01 -2.525396765928963e+01 -2.527693405405919e+01 -2.529991626724470e+01 - -2.532291428361040e+01 -2.534592812720204e+01 -2.536895782110043e+01 -2.539200334524508e+01 -2.541506468057373e+01 - -2.543814185515816e+01 -2.546123489657537e+01 -2.548434378328921e+01 -2.550746849096137e+01 -2.553060903315797e+01 - -2.555376543163097e+01 -2.557693770297151e+01 -2.560012585444837e+01 -2.562332986120158e+01 -2.564654970308929e+01 - -2.566978541097076e+01 -2.569303701597250e+01 -2.571630449928904e+01 -2.573958783754457e+01 -2.576288703901380e+01 - -2.578620212017663e+01 -2.580953309868325e+01 -2.583287998467666e+01 -2.585624275710073e+01 -2.587962139846310e+01 - -2.590301593672573e+01 -2.592642639921134e+01 -2.594985276523152e+01 -2.597329501305775e+01 -2.599675316481207e+01 - -2.602022724494944e+01 -2.604371724340627e+01 -2.606722314554395e+01 -2.609074495294231e+01 -2.611428267453130e+01 - -2.613783633242288e+01 -2.616140594232113e+01 -2.618499148111656e+01 -2.620859292804694e+01 -2.623221031055255e+01 - -2.625584365675950e+01 -2.627949294933480e+01 -2.630315816707157e+01 -2.632683931872623e+01 -2.635053642045652e+01 - -2.637424948806206e+01 -2.639797853015353e+01 -2.642172352694394e+01 -2.644548446269175e+01 -2.646926136623515e+01 - -2.649305426487780e+01 -2.651686313520573e+01 -2.654068795336410e+01 -2.656452874445229e+01 -2.658838553565089e+01 - -2.661225831351167e+01 -2.663614706041860e+01 -2.666005178271351e+01 -2.668397249386109e+01 -2.670790921185966e+01 - -2.673186194785124e+01 -2.675583068101895e+01 -2.677981539336416e+01 -2.680381611012034e+01 -2.682783285712106e+01 - -2.685186561936856e+01 -2.687591437786270e+01 -2.689997913842517e+01 -2.692405991477839e+01 -2.694815672742597e+01 - -2.697226958936361e+01 -2.699639847677425e+01 -2.702054336911223e+01 -2.704470429573021e+01 -2.706888128546201e+01 - -2.709307431516761e+01 -2.711728336172764e+01 -2.714150845407871e+01 -2.716574962162754e+01 -2.719000684360529e+01 - -2.721428009605862e+01 -2.723856939247152e+01 -2.726287475352885e+01 -2.728719619128178e+01 -2.731153370993099e+01 - -2.733588729090867e+01 -2.736025692081293e+01 -2.738464262967399e+01 -2.740904444482641e+01 -2.743346233939021e+01 - -2.745789628706843e+01 -2.748234631811058e+01 -2.750681246441337e+01 -2.753129470791622e+01 -2.755579302585287e+01 - -2.758030742659158e+01 -2.760483792680023e+01 -2.762938454521084e+01 -2.765394729250735e+01 -2.767852614511706e+01 - -2.770312108289846e+01 -2.772773213369129e+01 -2.775235932608502e+01 -2.777700264368704e+01 -2.780166206614083e+01 - -2.782633760221619e+01 -2.785102926812099e+01 -2.787573708068912e+01 -2.790046104903706e+01 -2.792520115078565e+01 - -2.794995736764946e+01 -2.797472972921345e+01 -2.799951826412358e+01 -2.802432294939970e+01 -2.804914376169005e+01 - -2.807398072778233e+01 -2.809883387567351e+01 -2.812370318805837e+01 -2.814858864438241e+01 -2.817349025639583e+01 - -2.819840804241009e+01 -2.822334201467696e+01 -2.824829217820057e+01 -2.827325851505399e+01 -2.829824101147483e+01 - -2.832323969328987e+01 -2.834825458594292e+01 -2.837328567375688e+01 -2.839833293713809e+01 -2.842339638194745e+01 - -2.844847602232610e+01 -2.847357188008160e+01 -2.849868396869187e+01 -2.852381226064981e+01 -2.854895673259501e+01 - -2.857411741873861e+01 -2.859929435285462e+01 -2.862448750939692e+01 -2.864969686163745e+01 -2.867492243744038e+01 - -2.870016426611871e+01 -2.872542232818885e+01 -2.875069660076976e+01 -2.877598709618692e+01 -2.880129383482867e+01 - -2.882661683412842e+01 -2.885195610246809e+01 -2.887731161497835e+01 -2.890268335136361e+01 -2.892807134287440e+01 - -2.895347562064698e+01 -2.897889616381469e+01 -2.900433294736006e+01 -2.902978598166526e+01 -2.905525528595928e+01 - -2.908074087945912e+01 -2.910624277257485e+01 -2.913176094050105e+01 -2.915729536236611e+01 -2.918284606824940e+01 - -2.920841308797334e+01 -2.923399639938179e+01 -2.925959597987842e+01 -2.928521185708459e+01 -2.931084405942344e+01 - -2.933649256830759e+01 -2.936215736109871e+01 -2.938783844596477e+01 -2.941353583979598e+01 -2.943924956356517e+01 - -2.946497963001566e+01 -2.949072601489006e+01 -2.951648869675137e+01 -2.954226770244480e+01 -2.956806305999476e+01 - -2.959387475386040e+01 -2.961970276467950e+01 -2.964554710136948e+01 -2.967140778023144e+01 -2.969728481882160e+01 - -2.972317822671904e+01 -2.974908798033929e+01 -2.977501406036931e+01 -2.980095649774566e+01 -2.982691532231985e+01 - -2.985289050935425e+01 -2.987888203414534e+01 -2.990488992671488e+01 -2.993091421806754e+01 -2.995695488841446e+01 - -2.998301191396682e+01 -3.000908530572931e+01 -3.003517508294127e+01 -3.006128126298706e+01 -3.008740385472813e+01 - -3.011354283478899e+01 -3.013969818396866e+01 -3.016586993200092e+01 -3.019205810852835e+01 -3.021826269389396e+01 - -3.024448366459688e+01 -3.027072103106001e+01 -3.029697481234801e+01 -3.032324502816885e+01 -3.034953168930138e+01 - -3.037583477016444e+01 -3.040215424919064e+01 -3.042849015722735e+01 -3.045484252487287e+01 -3.048121132931426e+01 - -3.050759654718701e+01 -3.053399820633122e+01 -3.056041633582694e+01 -3.058685091850949e+01 -3.061330193277164e+01 - -3.063976938548045e+01 -3.066625329189824e+01 -3.069275367239408e+01 -3.071927054017274e+01 -3.074580387467516e+01 - -3.077235365736276e+01 -3.079891991154272e+01 -3.082550266154129e+01 -3.085210189391538e+01 -3.087871759159065e+01 - -3.090534976073683e+01 -3.093199841535169e+01 -3.095866357750086e+01 -3.098534526117247e+01 -3.101204343997652e+01 - -3.103875809113482e+01 -3.106548924669440e+01 -3.109223693806243e+01 -3.111900113926174e+01 -3.114578182447812e+01 - -3.117257902593346e+01 -3.119939277712214e+01 -3.122622305859262e+01 -3.125306984560579e+01 -3.127993314521812e+01 - -3.130681297362548e+01 -3.133370935178603e+01 -3.136062229292185e+01 -3.138755177454848e+01 -3.141449777743489e+01 - -3.144146033107010e+01 -3.146843946420585e+01 -3.149543515392452e+01 -3.152244737446985e+01 -3.154947614039987e+01 - -3.157652147508332e+01 -3.160358339681746e+01 -3.163066191390917e+01 -3.165775699977537e+01 -3.168486863280270e+01 - -3.171199684614663e+01 -3.173914167265754e+01 -3.176630308919665e+01 -3.179348107134120e+01 -3.182067564552154e+01 - -3.184788683989369e+01 -3.187511463866380e+01 -3.190235902163426e+01 -3.192961999494226e+01 -3.195689757352222e+01 - -3.198419178116283e+01 -3.201150263346307e+01 -3.203883010440887e+01 -3.206617417058478e+01 -3.209353486058297e+01 - -3.212091220418486e+01 -3.214830618392138e+01 -3.217571677868305e+01 -3.220314400004898e+01 -3.223058786708538e+01 - -3.225804839611857e+01 -3.228552559489243e+01 -3.231301943956095e+01 -3.234052991162765e+01 -3.236805704558397e+01 - -3.239560087404328e+01 -3.242316136911894e+01 -3.245073850255218e+01 -3.247833230509534e+01 -3.250594280965240e+01 - -3.253356999872297e+01 -3.256121385028732e+01 -3.258887437465276e+01 -3.261655158960600e+01 -3.264424551052439e+01 - -3.267195614529539e+01 -3.269968347425627e+01 -3.272742748229857e+01 -3.275518820008119e+01 -3.278296565603427e+01 - -3.281075982390590e+01 -3.283857067801981e+01 -3.286639824968410e+01 -3.289424257141810e+01 -3.292210362360176e+01 - -3.294998138240963e+01 -3.297787585933321e+01 -3.300578707421773e+01 -3.303371504500630e+01 -3.306165978102434e+01 - -3.308962125902853e+01 -3.311759946003357e+01 -3.314559441465483e+01 -3.317360615365304e+01 -3.320163465877013e+01 - -3.322967990687330e+01 -3.325774190434956e+01 -3.328582066713852e+01 -3.331391621987054e+01 -3.334202857831301e+01 - -3.337015771409062e+01 -3.339830360273710e+01 -3.342646627956469e+01 -3.345464577921614e+01 -3.348284207387808e+01 - -3.351105513572078e+01 -3.353928499930519e+01 -3.356753169996216e+01 -3.359579521371194e+01 -3.362407551222610e+01 - -3.365237260909204e+01 -3.368068652715969e+01 -3.370901728441355e+01 -3.373736488954338e+01 -3.376572931892538e+01 - -3.379411055342771e+01 -3.382250862419983e+01 -3.385092356238306e+01 -3.387935534880526e+01 -3.390780395979943e+01 - -3.393626940403256e+01 -3.396475169950308e+01 -3.399325086920118e+01 -3.402176692682492e+01 -3.405029984391190e+01 - -3.407884959628061e+01 -3.410741621903333e+01 -3.413599974690003e+01 -3.416460015383780e+01 -3.419321741347679e+01 - -3.422185155891206e+01 -3.425050262370409e+01 -3.427917058381036e+01 -3.430785541111823e+01 -3.433655711883738e+01 - -3.436527572977491e+01 -3.439401126380553e+01 -3.442276373145798e+01 -3.445153310880944e+01 -3.448031937598221e+01 - -3.450912256373026e+01 -3.453794270224409e+01 -3.456677976882821e+01 -3.459563373771100e+01 -3.462450462370172e+01 - -3.465339245071625e+01 -3.468229723851619e+01 -3.471121899611902e+01 -3.474015769371995e+01 -3.476911330776019e+01 - -3.479808587848705e+01 -3.482707544447295e+01 -3.485608197378501e+01 -3.488510543365825e+01 -3.491414585850467e+01 - -3.494320328527482e+01 -3.497227769389696e+01 -3.500136905869145e+01 -3.503047738856913e+01 -3.505960270226024e+01 - -3.508874502318216e+01 -3.511790436512474e+01 -3.514708069868058e+01 -3.517627399907308e+01 -3.520548430324607e+01 - -3.523471164812467e+01 -3.526395600883895e+01 -3.529321735592740e+01 -3.532249570335686e+01 -3.535179107461137e+01 - -3.538110348781549e+01 -3.541043295179184e+01 -3.543977944351469e+01 -3.546914294470585e+01 -3.549852348792567e+01 - -3.552792110371767e+01 -3.555733576371960e+01 -3.558676744035331e+01 -3.561621616808287e+01 -3.564568198278825e+01 - -3.567516486397158e+01 -3.570466478590109e+01 -3.573418175828719e+01 -3.576371580017962e+01 -3.579326693254331e+01 - -3.582283516733191e+01 -3.585242047853867e+01 -3.588202284498269e+01 -3.591164230274704e+01 -3.594127888660625e+01 - -3.597093256883734e+01 -3.600060331833949e+01 -3.603029115299790e+01 -3.605999610029281e+01 -3.608971817709886e+01 - -3.611945738978410e+01 -3.614921371329605e+01 -3.617898712799953e+01 -3.620877766734910e+01 -3.623858536391516e+01 - -3.626841019364145e+01 -3.629825213180558e+01 -3.632811120764664e+01 -3.635798745148868e+01 -3.638788084403422e+01 - -3.641779136227628e+01 -3.644771901799147e+01 -3.647766383142195e+01 -3.650762582188893e+01 -3.653760499949427e+01 - -3.656760133838370e+01 -3.659761481766282e+01 -3.662764547223315e+01 -3.665769333671685e+01 -3.668775838882340e+01 - -3.671784060113342e+01 -3.674793998262476e+01 -3.677805655273779e+01 -3.680819033636626e+01 -3.683834134900049e+01 - -3.686850956306390e+01 -3.689869495454472e+01 -3.692889755675729e+01 -3.695911740229619e+01 -3.698935446355054e+01 - -3.701960871343802e+01 -3.704988018719579e+01 -3.708016892120266e+01 -3.711047489408478e+01 -3.714079807933708e+01 - -3.717113848768184e+01 -3.720149613882988e+01 -3.723187105121882e+01 -3.726226323497034e+01 -3.729267266821555e+01 - -3.732309933333587e+01 -3.735354326170426e+01 -3.738400448395760e+01 -3.741448297879693e+01 -3.744497872108128e+01 - -3.747549172223736e+01 -3.750602200310610e+01 -3.753656958561755e+01 -3.756713448177913e+01 -3.759771666281819e+01 - -3.762831610507856e+01 -3.765893284615005e+01 -3.768956692232328e+01 -3.772021830344675e+01 -3.775088695941269e+01 - -3.778157292673024e+01 -3.781227624306894e+01 -3.784299688412320e+01 -3.787373482086582e+01 -3.790449006735824e+01 - -3.793526264738479e+01 -3.796605258053289e+01 -3.799685987630166e+01 -3.802768450803411e+01 -3.805852645435349e+01 - -3.808938575116029e+01 -3.812026243387959e+01 -3.815115647875793e+01 -3.818206785737669e+01 -3.821299658183555e+01 - -3.824394267407146e+01 -3.827490615485264e+01 -3.830588703573063e+01 -3.833688529255877e+01 -3.836790090523419e+01 - -3.839893390552727e+01 -3.842998432385276e+01 -3.846105213333004e+01 -3.849213730842061e+01 -3.852323988624988e+01 - -3.855435990371658e+01 -3.858549733414936e+01 -3.861665214665468e+01 -3.864782435702053e+01 -3.867901399128823e+01 - -3.871022106983104e+01 -3.874144560188923e+01 -3.877268755783931e+01 -3.880394691415978e+01 -3.883522371060106e+01 - -3.886651798555487e+01 -3.889782970870629e+01 -3.892915884903668e+01 -3.896050544141922e+01 -3.899186952243698e+01 - -3.902325106962145e+01 -3.905465005558139e+01 -3.908606649228560e+01 -3.911750040150871e+01 -3.914895180488885e+01 - -3.918042071436301e+01 -3.921190710320024e+01 -3.924341094905042e+01 -3.927493228575462e+01 -3.930647114756201e+01 - -3.933802751416320e+01 -3.936960136044893e+01 -3.940119269666864e+01 -3.943280154239230e+01 -3.946442791911308e+01 - -3.949607183932866e+01 -3.952773327763106e+01 -3.955941221301939e+01 -3.959110868002649e+01 -3.962282271157864e+01 - -3.965455427864192e+01 -3.968630335291520e+01 -3.971806997098832e+01 -3.974985417066340e+01 -3.978165592970123e+01 - -3.981347522024374e+01 -3.984531205199855e+01 -3.987716644515135e+01 -3.990903842423468e+01 -3.994092800366619e+01 - -3.997283515305731e+01 -4.000475984705376e+01 -4.003670212524431e+01 -4.006866202678586e+01 -4.010063952416471e+01 - -4.013263458527370e+01 -4.016464722630246e+01 -4.019667747391531e+01 -4.022872534837892e+01 -4.026079085897078e+01 - -4.029287397740929e+01 -4.032497468131004e+01 -4.035709300943645e+01 -4.038922899883853e+01 -4.042138261856475e+01 - -4.045355383733334e+01 -4.048574269054266e+01 -4.051794921541258e+01 -4.055017338976896e+01 -4.058241518694505e+01 - -4.061467462169752e+01 -4.064695171778673e+01 -4.067924649356458e+01 -4.071155895737036e+01 -4.074388908290122e+01 - -4.077623684962312e+01 -4.080860229471885e+01 -4.084098545450960e+01 -4.087338630415373e+01 -4.090580481395003e+01 - -4.093824099592192e+01 -4.097069487270115e+01 -4.100316646762842e+01 -4.103565579436854e+01 -4.106816282717386e+01 - -4.110068754422534e+01 -4.113322997883087e+01 -4.116579016300655e+01 -4.119836806847471e+01 -4.123096366815907e+01 - -4.126357700008218e+01 -4.129620810254014e+01 -4.132885694982463e+01 -4.136152351139461e+01 -4.139420780138244e+01 - -4.142690984447184e+01 -4.145962966287846e+01 -4.149236726828771e+01 -4.152512263273182e+01 -4.155789573295193e+01 - -4.159068660417814e+01 -4.162349528189675e+01 -4.165632174413023e+01 -4.168916596438000e+01 -4.172202795552684e+01 - -4.175490773972726e+01 -4.178780533686147e+01 -4.182072075745918e+01 -4.185365397692470e+01 -4.188660497553830e+01 - -4.191957378820953e+01 -4.195256044830271e+01 -4.198556492837179e+01 -4.201858720098863e+01 -4.205162729960676e+01 - -4.208468525919077e+01 -4.211776105986812e+01 -4.215085467691669e+01 -4.218396612105321e+01 -4.221709541226407e+01 - -4.225024257217616e+01 -4.228340761361360e+01 -4.231659051254899e+01 -4.234979124870078e+01 -4.238300985362200e+01 - -4.241624635885866e+01 -4.244950074409413e+01 -4.248277298525672e+01 -4.251606309511715e+01 -4.254937109530931e+01 - -4.258269700607782e+01 -4.261604083828603e+01 -4.264940256666174e+01 -4.268278217100897e+01 -4.271617968757233e+01 - -4.274959515039267e+01 -4.278302852825576e+01 -4.281647979114838e+01 -4.284994897911630e+01 -4.288343613339240e+01 - -4.291694122989936e+01 -4.295046423857267e+01 -4.298400517070971e+01 -4.301756404788966e+01 -4.305114089145757e+01 - -4.308473571388112e+01 -4.311834849235274e+01 -4.315197920801049e+01 -4.318562789305037e+01 -4.321929457904871e+01 - -4.325297924404543e+01 -4.328668186207582e+01 -4.332040244469275e+01 -4.335414101381126e+01 -4.338789759527743e+01 - -4.342167220389723e+01 -4.345546480638487e+01 -4.348927537558045e+01 -4.352310395691921e+01 -4.355695059370569e+01 - -4.359081524812669e+01 -4.362469788222823e+01 -4.365859853861065e+01 -4.369251726260594e+01 -4.372645402991838e+01 - -4.376040880917880e+01 -4.379438161035186e+01 -4.382837245512241e+01 -4.386238137072252e+01 -4.389640837367813e+01 - -4.393045343214298e+01 -4.396451651875527e+01 -4.399859767246311e+01 -4.403269693263155e+01 -4.406681427398399e+01 - -4.410094966630350e+01 -4.413510312425358e+01 -4.416927467295284e+01 -4.420346433446015e+01 -4.423767212069691e+01 - -4.427189800609401e+01 -4.430614196966567e+01 -4.434040404624994e+01 -4.437468426893484e+01 -4.440898260798443e+01 - -4.444329903479183e+01 -4.447763358808973e+01 -4.451198630763288e+01 -4.454635716992501e+01 -4.458074614621454e+01 - -4.461515324997958e+01 -4.464957850449220e+01 -4.468402192997090e+01 -4.471848353715485e+01 -4.475296330191956e+01 - -4.478746120505344e+01 -4.482197728186011e+01 -4.485651156648301e+01 -4.489106403390974e+01 -4.492563465506775e+01 - -4.496022344379944e+01 -4.499483042484561e+01 -4.502945562362576e+01 -4.506409905435962e+01 -4.509876068578905e+01 - -4.513344049220396e+01 -4.516813851556444e+01 -4.520285479589762e+01 -4.523758929782897e+01 -4.527234198687941e+01 - -4.530711290755342e+01 -4.534190210524451e+01 -4.537670954991925e+01 -4.541153520580425e+01 -4.544637908959269e+01 - -4.548124122972980e+01 -4.551612164920255e+01 -4.555102035951307e+01 -4.558593733168242e+01 -4.562087254236648e+01 - -4.565582603124118e+01 -4.569079783605451e+01 -4.572578792382265e+01 -4.576079626235065e+01 -4.579582289333027e+01 - -4.583086785976433e+01 -4.586593113601344e+01 -4.590101269036680e+01 -4.593611253546989e+01 -4.597123069530716e+01 - -4.600636719486254e+01 -4.604152204856955e+01 -4.607669522766013e+01 -4.611188670797630e+01 -4.614709652700154e+01 - -4.618232472227299e+01 -4.621757126990104e+01 -4.625283614113306e+01 -4.628811934919114e+01 -4.632342091751210e+01 - -4.635874086841728e+01 -4.639407921460932e+01 -4.642943593143147e+01 -4.646481099859044e+01 -4.650020445060623e+01 - -4.653561632090474e+01 -4.657104658372261e+01 -4.660649521327068e+01 -4.664196224284595e+01 -4.667744770698098e+01 - -4.671295158606459e+01 -4.674847385553061e+01 -4.678401452513644e+01 -4.681957361522331e+01 -4.685515115414413e+01 - -4.689074715945064e+01 -4.692636159747788e+01 -4.696199443933372e+01 -4.699764572643400e+01 -4.703331550121288e+01 - -4.706900373987032e+01 -4.710471041222129e+01 -4.714043552877479e+01 -4.717617911151273e+01 -4.721194118761495e+01 - -4.724772177397794e+01 -4.728352084116666e+01 -4.731933836391387e+01 -4.735517437995513e+01 -4.739102892624472e+01 - -4.742690197360956e+01 -4.746279349304486e+01 -4.749870352234630e+01 -4.753463210070628e+01 -4.757057920610364e+01 - -4.760654481072343e+01 -4.764252892478859e+01 -4.767853156968457e+01 -4.771455277340900e+01 -4.775059255327958e+01 - -4.778665087728216e+01 -4.782272771801416e+01 -4.785882311585065e+01 -4.789493711157514e+01 -4.793106967982698e+01 - -4.796722079021173e+01 -4.800339045834357e+01 -4.803957871014897e+01 -4.807578556679541e+01 -4.811201103905631e+01 - -4.814825510088780e+01 -4.818451773166895e+01 -4.822079896928767e+01 -4.825709884980719e+01 -4.829341734348342e+01 - -4.832975442115909e+01 -4.836611012183125e+01 -4.840248448526336e+01 -4.843887748613056e+01 -4.847528909416636e+01 - -4.851171932442625e+01 -4.854816820273300e+01 -4.858463575265701e+01 -4.862112198691646e+01 -4.865762687707282e+01 - -4.869415040003414e+01 -4.873069259525141e+01 -4.876725350118260e+01 -4.880383308977095e+01 -4.884043132904604e+01 - -4.887704823789731e+01 -4.891368384608068e+01 -4.895033817595851e+01 -4.898701123776245e+01 -4.902370300059485e+01 - -4.906041344002308e+01 -4.909714259860375e+01 -4.913389051725400e+01 -4.917065716334413e+01 -4.920744250429804e+01 - -4.924424658130064e+01 -4.928106943700116e+01 -4.931791104614518e+01 -4.935477137752828e+01 -4.939165044404930e+01 - -4.942854827009338e+01 -4.946546488188807e+01 -4.950240029454247e+01 -4.953935447684974e+01 -4.957632740294361e+01 - -4.961331911463601e+01 -4.965032965315336e+01 -4.968735898970213e+01 -4.972440709120082e+01 -4.976147397743583e+01 - -4.979855967878247e+01 -4.983566421510402e+01 -4.987278759472007e+01 -4.990992979028766e+01 -4.994709078100569e+01 - -4.998427060790318e+01 -5.002146930959274e+01 -5.005868685319148e+01 -5.009592320640078e+01 -5.013317841075434e+01 - -5.017045250915469e+01 -5.020774547614742e+01 -5.024505728017924e+01 -5.028238793365752e+01 -5.031973746104961e+01 - -5.035710589110189e+01 -5.039449324090066e+01 -5.043189947661289e+01 -5.046932456973549e+01 -5.050676856400442e+01 - -5.054423150327239e+01 -5.058171335962052e+01 -5.061921409929316e+01 -5.065673373695915e+01 -5.069427229950105e+01 - -5.073182981423184e+01 -5.076940629607507e+01 -5.080700170996615e+01 -5.084461602753602e+01 -5.088224929718589e+01 - -5.091990156525010e+01 -5.095757279302548e+01 -5.099526294209112e+01 -5.103297206019221e+01 -5.107070019605169e+01 - -5.110844731613729e+01 -5.114621338143406e+01 -5.118399841325091e+01 -5.122180244526444e+01 -5.125962550029841e+01 - -5.129746758802490e+01 -5.133532867636215e+01 -5.137320874011100e+01 -5.141110782335645e+01 -5.144902596945006e+01 - -5.148696314952589e+01 -5.152491932947918e+01 -5.156289452646703e+01 -5.160088876945014e+01 -5.163890208334180e+01 - -5.167693448081514e+01 -5.171498592963017e+01 -5.175305640369855e+01 -5.179114594645165e+01 -5.182925460014935e+01 - -5.186738233284598e+01 -5.190552911234031e+01 -5.194369497961412e+01 -5.198187997663295e+01 -5.202008407611459e+01 - -5.205830724580739e+01 -5.209654950282933e+01 -5.213481087573764e+01 -5.217309138947744e+01 -5.221139105690054e+01 - -5.224970984609732e+01 -5.228804773087789e+01 -5.232640475269200e+01 -5.236478095346914e+01 -5.240317630941821e+01 - -5.244159079031952e+01 -5.248002440595931e+01 -5.251847717885386e+01 -5.255694914243367e+01 -5.259544031823210e+01 - -5.263395066927961e+01 -5.267248016335085e+01 -5.271102884570031e+01 -5.274959676081755e+01 -5.278818387265291e+01 - -5.282679014593192e+01 -5.286541562901994e+01 -5.290406037048660e+01 -5.294272433607927e+01 -5.298140748616263e+01 - -5.302010984239256e+01 -5.305883143892672e+01 -5.309757229863885e+01 -5.313633243133304e+01 -5.317511180581835e+01 - -5.321391039785607e+01 -5.325272825201081e+01 -5.329156541074357e+01 -5.333042183929739e+01 -5.336929750308754e+01 - -5.340819244543594e+01 -5.344710671111962e+01 -5.348604027282968e+01 -5.352499309722418e+01 -5.356396519891433e+01 - -5.360295660504364e+01 -5.364196734493171e+01 -5.368099743556814e+01 -5.372004684244607e+01 -5.375911553606044e+01 - -5.379820355840945e+01 -5.383731095277006e+01 -5.387643769603123e+01 -5.391558375867469e+01 -5.395474915194053e+01 - -5.399393389872404e+01 -5.403313802778240e+01 -5.407236155707715e+01 -5.411160445552515e+01 -5.415086669663323e+01 - -5.419014832131279e+01 -5.422944936941720e+01 -5.426876980916325e+01 -5.430810960961936e+01 -5.434746881489674e+01 - -5.438684746929877e+01 -5.442624554285502e+01 -5.446566300018413e+01 -5.450509985853421e+01 -5.454455614758906e+01 - -5.458403189414573e+01 -5.462352711279953e+01 -5.466304177222543e+01 -5.470257584656953e+01 -5.474212937778257e+01 - -5.478170240720980e+01 -5.482129490597043e+01 -5.486090684084346e+01 -5.490053823147309e+01 -5.494018910890276e+01 - -5.497985949690793e+01 -5.501954940653937e+01 -5.505925880521750e+01 -5.509898766755921e+01 -5.513873604059781e+01 - -5.517850396943321e+01 -5.521829141901578e+01 -5.525809835354192e+01 -5.529792481434151e+01 -5.533777084523449e+01 - -5.537763642286803e+01 -5.541752151714192e+01 -5.545742613813913e+01 -5.549735030880384e+01 -5.553729406334213e+01 - -5.557725742375872e+01 -5.561724035199087e+01 -5.565724281465346e+01 -5.569726485713910e+01 -5.573730652628086e+01 - -5.577736779589668e+01 -5.581744863307357e+01 -5.585754905099014e+01 -5.589766907536871e+01 -5.593780873601526e+01 - -5.597796805069111e+01 -5.601814698489535e+01 -5.605834550959182e+01 -5.609856366986563e+01 -5.613880151023810e+01 - -5.617905899885479e+01 -5.621933610311022e+01 -5.625963286377015e+01 -5.629994932270948e+01 -5.634028545286861e+01 - -5.638064122221132e+01 -5.642101664772899e+01 -5.646141175844968e+01 -5.650182658252075e+01 -5.654226113528433e+01 - -5.658271538174220e+01 -5.662318929319503e+01 -5.666368291647893e+01 -5.670419629786259e+01 -5.674472940580990e+01 - -5.678528220346420e+01 -5.682585471049146e+01 -5.686644695909487e+01 -5.690705897510426e+01 -5.694769077129006e+01 - -5.698834231455854e+01 -5.702901357847642e+01 -5.706970460911611e+01 -5.711041545084194e+01 -5.715114606868026e+01 - -5.719189642778805e+01 -5.723266657318249e+01 -5.727345655110785e+01 -5.731426633285666e+01 -5.735509588339112e+01 - -5.739594521730356e+01 -5.743681436264626e+01 -5.747770335168147e+01 -5.751861220364783e+01 -5.755954088147938e+01 - -5.760048935348805e+01 -5.764145766580183e+01 -5.768244586550730e+01 -5.772345392571002e+01 -5.776448181276131e+01 - -5.780552953997691e+01 -5.784659713354442e+01 -5.788768462417462e+01 -5.792879202998626e+01 -5.796991931420698e+01 - -5.801106644664837e+01 -5.805223347834903e+01 -5.809342045860209e+01 -5.813462734849197e+01 -5.817585410820936e+01 - -5.821710078257841e+01 -5.825836741928538e+01 -5.829965399283203e+01 -5.834096047087346e+01 -5.838228686686274e+01 - -5.842363320676851e+01 -5.846499952082397e+01 -5.850638582715609e+01 -5.854779209120221e+01 -5.858921828442874e+01 - -5.863066445510763e+01 -5.867213065032231e+01 -5.871361683559694e+01 -5.875512297138874e+01 -5.879664907944645e+01 - -5.883819519466417e+01 -5.887976134322624e+01 -5.892134753756825e+01 -5.896295374384051e+01 -5.900457993500612e+01 - -5.904622615756436e+01 -5.908789245663575e+01 -5.912957879828990e+01 -5.917128514850664e+01 -5.921301155195771e+01 - -5.925475805384439e+01 -5.929652462279476e+01 -5.933831122286624e+01 -5.938011787640643e+01 -5.942194461763230e+01 - -5.946379146994821e+01 -5.950565844408734e+01 -5.954754551091072e+01 -5.958945264733813e+01 -5.963137989439624e+01 - -5.967332729249499e+01 -5.971529481547052e+01 -5.975728243227523e+01 -5.979929015889982e+01 -5.984131802305070e+01 - -5.988336605225896e+01 -5.992543426246962e+01 -5.996752262345901e+01 -6.000963111046766e+01 -6.005175976676178e+01 - -6.009390863383608e+01 -6.013607767807394e+01 -6.017826686618813e+01 -6.022047624132026e+01 -6.026270584835797e+01 - -6.030495566274465e+01 -6.034722565381767e+01 -6.038951583593452e+01 -6.043182623512069e+01 -6.047415687905394e+01 - -6.051650778421003e+01 -6.055887892060463e+01 -6.060127026325783e+01 -6.064368185366749e+01 -6.068611373308907e+01 - -6.072856587533070e+01 -6.077103824887340e+01 -6.081353086833690e+01 -6.085604376132918e+01 -6.089857696127247e+01 - -6.094113048823596e+01 -6.098370430306234e+01 -6.102629837247437e+01 -6.106891274594116e+01 -6.111154747264118e+01 - -6.115420251784390e+01 -6.119687784580902e+01 -6.123957350066591e+01 -6.128228952841628e+01 -6.132502590268162e+01 - -6.136778259056138e+01 -6.141055960544676e+01 -6.145335697380811e+01 -6.149617472814099e+01 -6.153901288864162e+01 - -6.158187142028389e+01 -6.162475029314290e+01 -6.166764955292113e+01 -6.171056924466600e+01 -6.175350933517737e+01 - -6.179646979123154e+01 -6.183945065775757e+01 -6.188245198047678e+01 -6.192547373012725e+01 -6.196851587175868e+01 - -6.201157842265037e+01 -6.205466141333163e+01 -6.209776487510229e+01 -6.214088882566958e+01 -6.218403322759970e+01 - -6.222719804958889e+01 -6.227038333999444e+01 -6.231358914752139e+01 -6.235681544260558e+01 -6.240006218936849e+01 - -6.244332940494305e+01 -6.248661712010740e+01 -6.252992536720910e+01 -6.257325416420860e+01 -6.261660346994837e+01 - -6.265997325077347e+01 -6.270336356215701e+01 -6.274677445777788e+01 -6.279020589501037e+01 -6.283365783085999e+01 - -6.287713031716163e+01 -6.292062340781234e+01 -6.296413707012920e+01 -6.300767126475596e+01 -6.305122601222295e+01 - -6.309480134635203e+01 -6.313839729424505e+01 -6.318201386936521e+01 -6.322565103734121e+01 -6.326930877093868e+01 - -6.331298711930568e+01 -6.335668613058504e+01 -6.340040577251647e+01 -6.344414600718050e+01 -6.348790685442323e+01 - -6.353168834759008e+01 -6.357549051625812e+01 -6.361931337593239e+01 -6.366315688959789e+01 -6.370702102749119e+01 - -6.375090584137499e+01 -6.379481138078580e+01 -6.383873760482961e+01 -6.388268447297220e+01 -6.392665203654889e+01 - -6.397064034897519e+01 -6.401464938011861e+01 -6.405867909237229e+01 -6.410272950177993e+01 -6.414680063823367e+01 - -6.419089253336912e+01 -6.423500520539493e+01 -6.427913861706836e+01 -6.432329273774181e+01 -6.436746761859949e+01 - -6.441166331065573e+01 -6.445587978241413e+01 -6.450011699516882e+01 -6.454437496388719e+01 -6.458865371852110e+01 - -6.463295329528786e+01 -6.467727371608086e+01 -6.472161493923234e+01 -6.476597692945877e+01 -6.481035974057480e+01 - -6.485476342551981e+01 -6.489918794463497e+01 -6.494363325783405e+01 -6.498809941591921e+01 -6.503258647107099e+01 - -6.507709439009531e+01 -6.512162313341831e+01 -6.516617272132122e+01 -6.521074318787740e+01 -6.525533456247440e+01 - -6.529994686059398e+01 -6.534458004678092e+01 -6.538923409250538e+01 -6.543390904787570e+01 -6.547860496211884e+01 - -6.552332180229843e+01 -6.556805952953434e+01 -6.561281816333469e+01 -6.565759773746066e+01 -6.570239828429803e+01 - -6.574721982146080e+01 -6.579206230885156e+01 -6.583692571363754e+01 -6.588181008975629e+01 -6.592671548982709e+01 - -6.597164187442638e+01 -6.601658920334479e+01 -6.606155752527242e+01 -6.610654689090467e+01 -6.615155727005924e+01 - -6.619658862652422e+01 -6.624164098084657e+01 -6.628671436645676e+01 -6.633180881156068e+01 -6.637692433038681e+01 - -6.642206088647883e+01 -6.646721845110714e+01 -6.651239707713407e+01 -6.655759681603797e+01 -6.660281763216933e+01 - -6.664805948389387e+01 -6.669332239276561e+01 -6.673860639512726e+01 -6.678391152328841e+01 -6.682923779433044e+01 - -6.687458516845543e+01 -6.691995361277515e+01 -6.696534317891920e+01 -6.701075391795754e+01 -6.705618579420361e+01 - -6.710163877100581e+01 -6.714711289460833e+01 -6.719260821321966e+01 -6.723812470001026e+01 -6.728366232121398e+01 - -6.732922109035582e+01 -6.737480103488133e+01 -6.742040219062761e+01 -6.746602458035952e+01 -6.751166816616187e+01 - -6.755733291529161e+01 -6.760301887637438e+01 -6.764872609859751e+01 -6.769445455202660e+01 -6.774020420051386e+01 - -6.778597506217976e+01 -6.783176716876942e+01 -6.787758055225885e+01 -6.792341523092826e+01 -6.796927116804379e+01 - -6.801514833341810e+01 -6.806104677806347e+01 -6.810696655123587e+01 -6.815290761396663e+01 -6.819886992772128e+01 - -6.824485354392678e+01 -6.829085851532395e+01 -6.833688480994840e+01 -6.838293238885097e+01 -6.842900126984890e+01 - -6.847509148538957e+01 -6.852120306967514e+01 -6.856733604269469e+01 -6.861349036583006e+01 -6.865966600658993e+01 - -6.870586301559659e+01 -6.875208144399036e+01 -6.879832126187024e+01 -6.884458243234171e+01 -6.889086497157696e+01 - -6.893716890990422e+01 -6.898349428120915e+01 -6.902984110598732e+01 -6.907620934761650e+01 -6.912259897511596e+01 - -6.916901003718877e+01 -6.921544258172949e+01 -6.926189657371528e+01 -6.930837197817074e+01 -6.935486884322755e+01 - -6.940138721768092e+01 -6.944792706987337e+01 -6.949448836290087e+01 -6.954107111932564e+01 -6.958767537490402e+01 - -6.963430115870300e+01 -6.968094848498497e+01 -6.972761731548312e+01 -6.977430762020695e+01 -6.982101945480034e+01 - -6.986775287255249e+01 -6.991450783170005e+01 -6.996128429032680e+01 -7.000808230095708e+01 -7.005490191787665e+01 - -7.010174310797666e+01 -7.014860583121035e+01 -7.019549010717337e+01 -7.024239597049470e+01 -7.028932345629492e+01 - -7.033627258446040e+01 -7.038324331344937e+01 -7.043023560838913e+01 -7.047724952251053e+01 -7.052428510987777e+01 - -7.057134233978515e+01 -7.061842117397924e+01 -7.066552162878578e+01 -7.071264373512433e+01 -7.075978752771100e+01 - -7.080695302731498e+01 -7.085414019512091e+01 -7.090134899910394e+01 -7.094857949398551e+01 -7.099583173235354e+01 - -7.104310567151599e+01 -7.109040126922885e+01 -7.113771858031990e+01 -7.118505766125368e+01 -7.123241847797109e+01 - -7.127980098937178e+01 -7.132720521671429e+01 -7.137463119544236e+01 -7.142207895538176e+01 -7.146954851252747e+01 - -7.151703983316882e+01 -7.156455289009196e+01 -7.161208773177542e+01 -7.165964440570248e+01 -7.170722287968356e+01 - -7.175482311646741e+01 -7.180244513822917e+01 -7.185008898098621e+01 -7.189775467669884e+01 -7.194544224180910e+01 - -7.199315163474331e+01 -7.204088282234626e+01 -7.208863586315185e+01 -7.213641081375658e+01 -7.218420763131780e+01 - -7.223202627227879e+01 -7.227986678966526e+01 -7.232772923884254e+01 -7.237561358795277e+01 -7.242351979769759e+01 - -7.247144788623903e+01 -7.251939788668284e+01 -7.256736983444897e+01 -7.261536375015235e+01 -7.266337959287341e+01 - -7.271141732841731e+01 -7.275947701102203e+01 -7.280755869538000e+01 -7.285566234956853e+01 -7.290378793432680e+01 - -7.295193546765573e+01 -7.300010498266862e+01 -7.304829651566631e+01 -7.309651008753943e+01 -7.314474565435016e+01 - -7.319300317971540e+01 -7.324128272229925e+01 -7.328958433981238e+01 -7.333790799110540e+01 -7.338625363374130e+01 - -7.343462131899291e+01 -7.348301110053259e+01 -7.353142294792167e+01 -7.357985682361442e+01 -7.362831274574745e+01 - -7.367679074711965e+01 -7.372529086349638e+01 -7.377381311579366e+01 -7.382235746256312e+01 -7.387092386912651e+01 - -7.391951239025020e+01 -7.396812308115555e+01 -7.401675590943988e+01 -7.406541083531380e+01 -7.411408787706513e+01 - -7.416278706814910e+01 -7.421150844461324e+01 -7.426025202733783e+01 -7.430901777394124e+01 -7.435780564940528e+01 - -7.440661571142732e+01 -7.445544801616209e+01 -7.450430252087864e+01 -7.455317918285648e+01 -7.460207805830268e+01 - -7.465099920497126e+01 -7.469994258787753e+01 -7.474890816454140e+01 -7.479789595523943e+01 -7.484690599592756e+01 - -7.489593832252380e+01 -7.494499295533201e+01 -7.499406985223764e+01 -7.504316897827101e+01 -7.509229038945979e+01 - -7.514143414169166e+01 -7.519060019929748e+01 -7.523978851997632e+01 -7.528899912645726e+01 -7.533823205657275e+01 - -7.538748734353926e+01 -7.543676500532445e+01 -7.548606500351643e+01 -7.553538730703876e+01 -7.558473197053598e+01 - -7.563409904619321e+01 -7.568348849063742e+01 -7.573290026170078e+01 -7.578233441759443e+01 -7.583179101796470e+01 - -7.588127002782028e+01 -7.593077140392674e+01 -7.598029516471465e+01 -7.602984134475692e+01 -7.607940998153097e+01 - -7.612900109746634e+01 -7.617861465189691e+01 -7.622825061065345e+01 -7.627790902865043e+01 -7.632758996032740e+01 - -7.637729336914126e+01 -7.642701921265419e+01 -7.647676751583191e+01 -7.652653831849052e+01 -7.657633165244424e+01 - -7.662614753370475e+01 -7.667598592307560e+01 -7.672584678949215e+01 -7.677573018962489e+01 -7.682563617769370e+01 - -7.687556471038147e+01 -7.692551574474433e+01 -7.697548933686781e+01 -7.702548554509247e+01 -7.707550433774978e+01 - -7.712554567498073e+01 -7.717560957417300e+01 -7.722569606768573e+01 -7.727580519051753e+01 -7.732593696392289e+01 - -7.737609135154067e+01 -7.742626832278943e+01 -7.747646792782194e+01 -7.752669021677298e+01 -7.757693515897095e+01 - -7.762720271798948e+01 -7.767749291518889e+01 -7.772780578562232e+01 -7.777814136132783e+01 -7.782849965970544e+01 - -7.787888064261847e+01 -7.792928427988689e+01 -7.797971062869398e+01 -7.803015974345008e+01 -7.808063158011076e+01 - -7.813112609521906e+01 -7.818164334612277e+01 -7.823218339188995e+01 -7.828274619766600e+01 -7.833333172107952e+01 - -7.838393998361434e+01 -7.843457102192369e+01 -7.848522486948340e+01 -7.853590154498607e+01 -7.858660101116894e+01 - -7.863732323758104e+01 -7.868806827697425e+01 -7.873883618163512e+01 -7.878962691878654e+01 -7.884044044940295e+01 - -7.889127679452803e+01 -7.894213598992800e+01 -7.899301807018992e+01 -7.904392305456564e+01 -7.909485090214494e+01 - -7.914580158005610e+01 -7.919677514774288e+01 -7.924777166238927e+01 -7.929879107982515e+01 -7.934983335558289e+01 - -7.940089854535901e+01 -7.945198670709752e+01 -7.950309780756868e+01 -7.955423180605224e+01 -7.960538872303847e+01 - -7.965656859466247e+01 -7.970777145842827e+01 -7.975899733555858e+01 -7.981024618078136e+01 -7.986151795697417e+01 - -7.991281272610696e+01 -7.996413054847572e+01 -8.001547137858779e+01 -8.006683517069925e+01 -8.011822198384908e+01 - -8.016963187855384e+01 -8.022106481645797e+01 -8.027252075224854e+01 -8.032399971165485e+01 -8.037550173585385e+01 - -8.042702685677139e+01 -8.047857509055929e+01 -8.053014639952434e+01 -8.058174075328817e+01 -8.063335820457638e+01 - -8.068499880610621e+01 -8.073666252745771e+01 -8.078834933088126e+01 -8.084005923244513e+01 -8.089179226408041e+01 - -8.094354846735196e+01 -8.099532786819320e+01 -8.104713042037783e+01 -8.109895608507813e+01 -8.115080492521992e+01 - -8.120267700205356e+01 -8.125457226837462e+01 -8.130649067623317e+01 -8.135843228315183e+01 -8.141039715010918e+01 - -8.146238524643556e+01 -8.151439653208425e+01 -8.156643102114791e+01 -8.161848874447259e+01 -8.167056974577932e+01 - -8.172267405314662e+01 -8.177480161920819e+01 -8.182695240289546e+01 -8.187912646377457e+01 -8.193132386298609e+01 - -8.198354456733288e+01 -8.203578853472443e+01 -8.208805578183410e+01 -8.214034634197473e+01 -8.219266025625411e+01 - -8.224499755029157e+01 -8.229735817995817e+01 -8.234974210798764e+01 -8.240214939431286e+01 -8.245458009683706e+01 - -8.250703416814667e+01 -8.255951156203467e+01 -8.261201234243612e+01 -8.266453657428882e+01 -8.271708421639993e+01 - -8.276965521981012e+01 -8.282224961062391e+01 -8.287486743131451e+01 -8.292750871476633e+01 -8.298017347733835e+01 - -8.303286167887651e+01 -8.308557328775250e+01 -8.313830836295337e+01 -8.319106696215761e+01 -8.324384904719405e+01 - -8.329665457280116e+01 -8.334948356120523e+01 -8.340233605179664e+01 -8.345521208513452e+01 -8.350811168407860e+01 - -8.356103479952203e+01 -8.361398139085040e+01 -8.366695152338559e+01 -8.371994526125894e+01 -8.377296255790387e+01 - -8.382600336547402e+01 -8.387906774170159e+01 -8.393215574692768e+01 -8.398526734635097e+01 -8.403840249721476e+01 - -8.409156122008268e+01 -8.414474355213920e+01 -8.419794953373223e+01 -8.425117918830632e+01 -8.430443246852916e+01 - -8.435770933516140e+01 -8.441100985211256e+01 -8.446433408298962e+01 -8.451768198704093e+01 -8.457105351533237e+01 - -8.462444869055821e+01 -8.467786755329161e+01 -8.473131014399300e+01 -8.478477648534972e+01 -8.483826652906932e+01 - -8.489178023573824e+01 -8.494531767243778e+01 -8.499887890373510e+01 -8.505246387764603e+01 -8.510607254206460e+01 - -8.515970496094809e+01 -8.521336120130535e+01 -8.526704122628841e+01 -8.532074498941530e+01 -8.537447250952404e+01 - -8.542822382319736e+01 -8.548199897267675e+01 -8.553579798342942e+01 -8.558962080816578e+01 -8.564346740685433e+01 - -8.569733784125194e+01 -8.575123217367282e+01 -8.580515036687339e+01 -8.585909237532205e+01 -8.591305821989287e+01 - -8.596704793875205e+01 -8.602106157282915e+01 -8.607509914567974e+01 -8.612916060859980e+01 -8.618324592155754e+01 - -8.623735515146925e+01 -8.629148836331387e+01 -8.634564550737286e+01 -8.639982653295500e+01 -8.645403150017543e+01 - -8.650826047252751e+01 -8.656251341621210e+01 -8.661679028858919e+01 -8.667109110894766e+01 -8.672541591317201e+01 - -8.677976474159972e+01 -8.683413761829634e+01 -8.688853449778628e+01 -8.694295534179228e+01 -8.699740021037117e+01 - -8.705186916402354e+01 -8.710636216669133e+01 -8.716087917454270e+01 -8.721542020920894e+01 -8.726998530877070e+01 - -8.732457451164281e+01 -8.737918783967393e+01 -8.743382524811331e+01 -8.748848670054353e+01 -8.754317226047976e+01 - -8.759788198894785e+01 -8.765261583708421e+01 -8.770737375634857e+01 -8.776215580938322e+01 -8.781696206132678e+01 - -8.787179247612183e+01 -8.792664700860111e+01 -8.798152567835336e+01 -8.803642852212045e+01 -8.809135558050070e+01 - -8.814630687756171e+01 -8.820128236739042e+01 -8.825628201129771e+01 -8.831130586947003e+01 -8.836635400284558e+01 - -8.842142637649435e+01 -8.847652294770472e+01 -8.853164373850628e+01 -8.858678878695027e+01 -8.864195813043362e+01 - -8.869715178945941e+01 -8.875236971760948e+01 -8.880761187808301e+01 -8.886287833946902e+01 -8.891816916696094e+01 - -8.897348430677987e+01 -8.902882370531137e+01 -8.908418742857141e+01 -8.913957554536425e+01 -8.919498801601753e+01 - -8.925042479199006e+01 -8.930588589774098e+01 -8.936137137472512e+01 -8.941688125937962e+01 -8.947241557120560e+01 - -8.952797426697802e+01 -8.958355731201681e+01 -8.963916476854843e+01 -8.969479669732335e+01 -8.975045305628245e+01 - -8.980613379692392e+01 -8.986183894778455e+01 -8.991756855389235e+01 -8.997332264920152e+01 -9.002910125051302e+01 - -9.008490431708829e+01 -9.014073181666647e+01 -9.019658380843681e+01 -9.025246034941333e+01 -9.030836139645970e+01 - -9.036428690661128e+01 -9.042023693773967e+01 -9.047621154925669e+01 -9.053221070589892e+01 -9.058823436476921e+01 - -9.064428254711031e+01 -9.070035529106499e+01 -9.075645263823618e+01 -9.081257461289793e+01 -9.086872116654884e+01 - -9.092489225918972e+01 -9.098108795760594e+01 -9.103730832657459e+01 -9.109355331605536e+01 -9.114982287548730e+01 - -9.120611706704364e+01 -9.126243595579022e+01 -9.131877950563008e+01 -9.137514767186437e+01 -9.143154047654943e+01 - -9.148795795857168e+01 -9.154440015738282e+01 -9.160086709537343e+01 -9.165735872612346e+01 -9.171387501169491e+01 - -9.177041601688784e+01 -9.182698180564800e+01 -9.188357233576582e+01 -9.194018755741556e+01 -9.199682749646104e+01 - -9.205349219658670e+01 -9.211018169707003e+01 -9.216689601912306e+01 -9.222363511610273e+01 -9.228039895018067e+01 - -9.233718758664240e+01 -9.239400108840672e+01 -9.245083940581294e+01 -9.250770248979978e+01 -9.256459040628322e+01 - -9.262150322244982e+01 -9.267844089559186e+01 -9.273540337476760e+01 -9.279239068599267e+01 -9.284940287335907e+01 - -9.290643997630693e+01 -9.296350201607783e+01 -9.302058894577094e+01 -9.307770072730455e+01 -9.313483742601555e+01 - -9.319199910633068e+01 -9.324918572561810e+01 -9.330639723351504e+01 -9.336363365579297e+01 -9.342089503640302e+01 - -9.347818141588093e+01 -9.353549281584256e+01 -9.359282918563940e+01 -9.365019048477910e+01 -9.370757678565749e+01 - -9.376498815769901e+01 -9.382242454555492e+01 -9.387988589305337e+01 -9.393737226550313e+01 -9.399488373202897e+01 - -9.405242025553964e+01 -9.410998178945039e+01 -9.416756835541781e+01 -9.422517999301114e+01 -9.428281674520871e+01 - -9.434047863667399e+01 -9.439816561540189e+01 -9.445587763836596e+01 -9.451361477512259e+01 -9.457137709520302e+01 - -9.462916455545547e+01 -9.468697710379740e+01 -9.474481476510589e+01 -9.480267758244509e+01 -9.486056559466863e+01 - -9.491847882335075e+01 -9.497641722515867e+01 -9.503438076487508e+01 -9.509236950465109e+01 -9.515038350409563e+01 - -9.520842271528107e+01 -9.526648709103007e+01 -9.532457669470300e+01 -9.538269159175374e+01 -9.544083174547335e+01 - -9.549899710997526e+01 -9.555718770482461e+01 -9.561540356780063e+01 -9.567364474408794e+01 -9.573191126075703e+01 - -9.579020306501620e+01 -9.584852011272490e+01 -9.590686247420874e+01 -9.596523021978578e+01 -9.602362330527772e+01 - -9.608204167783254e+01 -9.614048536439948e+01 -9.619895441016116e+01 -9.625744885343293e+01 -9.631596871403326e+01 - -9.637451394466026e+01 -9.643308450797647e+01 -9.649168047362274e+01 -9.655030190767742e+01 -9.660894875499127e+01 - -9.666762096089710e+01 -9.672631859388268e+01 -9.678504172537357e+01 -9.684379031539257e+01 -9.690256431417546e+01 - -9.696136374421286e+01 -9.702018864639355e+01 -9.707903906294442e+01 -9.713791501832830e+01 -9.719681646461351e+01 - -9.725574336170810e+01 -9.731469577327378e+01 -9.737367376351882e+01 -9.743267729508464e+01 -9.749170632178308e+01 - -9.755076086367355e+01 -9.760984095895955e+01 -9.766894665217343e+01 -9.772807797034233e+01 -9.778723486414395e+01 - -9.784641729236439e+01 -9.790562532257231e+01 -9.796485902036660e+01 -9.802411833468516e+01 -9.808340321418262e+01 - -9.814271372304191e+01 -9.820204992860188e+01 -9.826141179529722e+01 -9.832079927766843e+01 -9.838021239358226e+01 - -9.843965117935535e+01 -9.849911568177785e+01 -9.855860593025675e+01 -9.861812187419362e+01 -9.867766347002308e+01 - -9.873723078231735e+01 -9.879682387670165e+01 -9.885644271487612e+01 -9.891608724974174e+01 -9.897575750292785e+01 - -9.903545351466867e+01 -9.909517533088989e+01 -9.915492297862031e+01 -9.921469640360959e+01 -9.927449556058966e+01 - -9.933432052149955e+01 -9.939417135686639e+01 -9.945404801436261e+01 -9.951395044077229e+01 -9.957387870218038e+01 - -9.963383286719130e+01 -9.969381289518709e+01 -9.975381873630593e+01 -9.981385041293248e+01 -9.987390796877466e+01 - -9.993399146058783e+01 -9.999410091983435e+01 -1.000542362637563e+02 -1.001143974249114e+02 -1.001745845113392e+02 - -1.002347976270743e+02 -1.002950366846517e+02 -1.003553015922550e+02 -1.004155924321621e+02 -1.004759093011103e+02 - -1.005362521795820e+02 -1.005966210292817e+02 -1.006570158530568e+02 -1.007174366671700e+02 -1.007778835004040e+02 - -1.008383563749385e+02 -1.008988552740233e+02 -1.009593801813489e+02 -1.010199311212978e+02 -1.010805081231472e+02 - -1.011411111950619e+02 -1.012017403376325e+02 -1.012623955422635e+02 -1.013230768099676e+02 -1.013837841893743e+02 - -1.014445177207514e+02 -1.015052773633014e+02 -1.015660630775449e+02 -1.016268749103392e+02 -1.016877129150088e+02 - -1.017485770844115e+02 -1.018094673966629e+02 -1.018703838313761e+02 -1.019313263923028e+02 -1.019922951782496e+02 - -1.020532902664119e+02 -1.021143115524854e+02 -1.021753589342455e+02 -1.022364324992857e+02 -1.022975323519374e+02 - -1.023586584736673e+02 -1.024198108268543e+02 -1.024809894203941e+02 -1.025421942728475e+02 -1.026034253949216e+02 - -1.026646827901934e+02 -1.027259664415750e+02 -1.027872763473731e+02 -1.028486125881369e+02 -1.029099752254547e+02 - -1.029713641628286e+02 -1.030327793161952e+02 -1.030942208093169e+02 -1.031556887637190e+02 -1.032171830841550e+02 - -1.032787036718354e+02 -1.033402506305696e+02 -1.034018240681317e+02 -1.034634239055545e+02 -1.035250500515010e+02 - -1.035867025518952e+02 -1.036483814821213e+02 -1.037100868981441e+02 -1.037718188237329e+02 -1.038335771732939e+02 - -1.038953618747522e+02 -1.039571730194689e+02 -1.040190107055651e+02 -1.040808748947658e+02 -1.041427655331822e+02 - -1.042046826408667e+02 -1.042666262524425e+02 -1.043285963868752e+02 -1.043905930564436e+02 -1.044526162623378e+02 - -1.045146660069125e+02 -1.045767423082721e+02 -1.046388451777543e+02 -1.047009745838822e+02 -1.047631305085241e+02 - -1.048253130297424e+02 -1.048875222165416e+02 -1.049497580055002e+02 -1.050120203310284e+02 -1.050743092512860e+02 - -1.051366248384456e+02 -1.051989670969791e+02 -1.052613360137520e+02 -1.053237315729033e+02 -1.053861537661844e+02 - -1.054486026185219e+02 -1.055110781583045e+02 -1.055735803945944e+02 -1.056361093274371e+02 -1.056986649401382e+02 - -1.057612472323176e+02 -1.058238562855892e+02 -1.058864921618116e+02 -1.059491547618286e+02 -1.060118440001799e+02 - -1.060745600072047e+02 -1.061373029070868e+02 -1.062000725835928e+02 -1.062628689188559e+02 -1.063256920288941e+02 - -1.063885420424685e+02 -1.064514189054312e+02 -1.065143225392365e+02 -1.065772529506575e+02 -1.066402101774261e+02 - -1.067031942957903e+02 -1.067662053568374e+02 -1.068292432724951e+02 -1.068923079625714e+02 -1.069553995175528e+02 - -1.070185180380394e+02 -1.070816634944072e+02 -1.071448358336418e+02 -1.072080350393896e+02 -1.072712611247882e+02 - -1.073345141842783e+02 -1.073977942922143e+02 -1.074611013613008e+02 -1.075244353055826e+02 -1.075877962061142e+02 - -1.076511841502191e+02 -1.077145990832866e+02 -1.077780409492339e+02 -1.078415098280245e+02 -1.079050057992970e+02 - -1.079685288053471e+02 -1.080320787786834e+02 -1.080956557500093e+02 -1.081592597729443e+02 -1.082228908945775e+02 - -1.082865491424036e+02 -1.083502344720692e+02 -1.084139468448718e+02 -1.084776863165616e+02 -1.085414529440200e+02 - -1.086052466942038e+02 -1.086690675238350e+02 -1.087329154386204e+02 -1.087967904674474e+02 -1.088606926829425e+02 - -1.089246221377382e+02 -1.089885787607543e+02 -1.090525624876805e+02 -1.091165734050004e+02 -1.091806115963225e+02 - -1.092446769829633e+02 -1.093087694909110e+02 -1.093728892271333e+02 -1.094370362953419e+02 -1.095012106052476e+02 - -1.095654120623545e+02 -1.096296407493415e+02 -1.096938967647426e+02 -1.097581800933404e+02 -1.098224906984946e+02 - -1.098868285716250e+02 -1.099511937236656e+02 -1.100155862155477e+02 -1.100800060933800e+02 -1.101444532939841e+02 - -1.102089277564002e+02 -1.102734295378303e+02 -1.103379587096266e+02 -1.104025152815812e+02 -1.104670992426730e+02 - -1.105317105601886e+02 -1.105963492199813e+02 -1.106610153038629e+02 -1.107257088820756e+02 -1.107904298826226e+02 - -1.108551782361634e+02 -1.109199540262203e+02 -1.109847573373186e+02 -1.110495881051325e+02 -1.111144462586115e+02 - -1.111793318486534e+02 -1.112442449476576e+02 -1.113091855920787e+02 -1.113741537899001e+02 -1.114391494711626e+02 - -1.115041725824562e+02 -1.115692232145109e+02 -1.116343014623147e+02 -1.116994072937479e+02 -1.117645406555522e+02 - -1.118297015370191e+02 -1.118948899532702e+02 -1.119601059801944e+02 -1.120253496750247e+02 -1.120906209596036e+02 - -1.121559197660155e+02 -1.122212462027017e+02 -1.122866003728487e+02 -1.123519821822644e+02 -1.124173915349786e+02 - -1.124828285252852e+02 -1.125482932599049e+02 -1.126137857050017e+02 -1.126793058037530e+02 -1.127448535479451e+02 - -1.128104289543148e+02 -1.128760320907921e+02 -1.129416630123176e+02 -1.130073216706816e+02 -1.130730080183262e+02 - -1.131387221134510e+02 -1.132044640167948e+02 -1.132702336934948e+02 -1.133360310978225e+02 -1.134018562361866e+02 - -1.134677091387784e+02 -1.135335898787815e+02 -1.135994985091588e+02 -1.136654349589990e+02 -1.137313991629182e+02 - -1.137973912015162e+02 -1.138634111582333e+02 -1.139294589818884e+02 -1.139955346168527e+02 -1.140616381243277e+02 - -1.141277695680233e+02 -1.141939289048548e+02 -1.142601160860919e+02 -1.143263311472162e+02 -1.143925741390390e+02 - -1.144588450894802e+02 -1.145251440101338e+02 -1.145914708701818e+02 -1.146578256494022e+02 -1.147242084123678e+02 - -1.147906192149256e+02 -1.148570579932248e+02 -1.149235246826633e+02 -1.149900193353325e+02 -1.150565420227369e+02 - -1.151230927773426e+02 -1.151896716067799e+02 -1.152562784583746e+02 -1.153229132947855e+02 -1.153895762003063e+02 - -1.154562672526404e+02 -1.155229863814943e+02 -1.155897335150450e+02 -1.156565087233475e+02 -1.157233120892246e+02 - -1.157901436046917e+02 -1.158570032371645e+02 -1.159238909464663e+02 -1.159908067231330e+02 -1.160577506881430e+02 - -1.161247229415995e+02 -1.161917233696630e+02 -1.162587518588770e+02 -1.163258085112608e+02 -1.163928934406831e+02 - -1.164600065929374e+02 -1.165271479034755e+02 -1.165943174344564e+02 -1.166615152526160e+02 -1.167287413162901e+02 - -1.167959955757904e+02 -1.168632780577301e+02 -1.169305888112216e+02 -1.169979278990717e+02 -1.170652953548001e+02 - -1.171326910810820e+02 -1.172001149975291e+02 -1.172675672223445e+02 -1.173350478778825e+02 -1.174025569045121e+02 - -1.174700942215011e+02 -1.175376598456954e+02 -1.176052538191002e+02 -1.176728761867799e+02 -1.177405269796691e+02 - -1.178082061691247e+02 -1.178759137299273e+02 -1.179436497101298e+02 -1.180114141509050e+02 -1.180792069926326e+02 - -1.181470281872303e+02 -1.182148778335583e+02 -1.182827560287664e+02 -1.183506627162192e+02 -1.184185978220269e+02 - -1.184865613570652e+02 -1.185545533602401e+02 -1.186225738978121e+02 -1.186906230193939e+02 -1.187587006806511e+02 - -1.188268068350639e+02 -1.188949415213182e+02 -1.189631047837780e+02 -1.190312966043158e+02 -1.190995169567162e+02 - -1.191677658449030e+02 -1.192360432941998e+02 -1.193043493853908e+02 -1.193726841751893e+02 -1.194410475685670e+02 - -1.195094394794060e+02 -1.195778600089746e+02 -1.196463092648311e+02 -1.197147871923100e+02 -1.197832937276135e+02 - -1.198518289326376e+02 -1.199203928745778e+02 -1.199889855161324e+02 -1.200576068078755e+02 -1.201262567563797e+02 - -1.201949353935382e+02 -1.202636427965272e+02 -1.203323790196208e+02 -1.204011439802014e+02 -1.204699376081542e+02 - -1.205387600202684e+02 -1.206076113241917e+02 -1.206764914041025e+02 -1.207454001431820e+02 -1.208143376440890e+02 - -1.208833040296615e+02 -1.209522992839752e+02 -1.210213233653680e+02 -1.210903762679893e+02 -1.211594580022500e+02 - -1.212285686077949e+02 -1.212977081155049e+02 -1.213668764919694e+02 -1.214360737100132e+02 -1.215052998316942e+02 - -1.215745549154533e+02 -1.216438389160294e+02 -1.217131517838345e+02 -1.217824935556734e+02 -1.218518642837182e+02 - -1.219212639952166e+02 -1.219906927020717e+02 -1.220601503797327e+02 -1.221296370078328e+02 -1.221991526191948e+02 - -1.222686972509000e+02 -1.223382709038720e+02 -1.224078735702578e+02 -1.224775052432531e+02 -1.225471659287695e+02 - -1.226168556825330e+02 -1.226865745477072e+02 -1.227563224673916e+02 -1.228260993926653e+02 -1.228959054065903e+02 - -1.229657405910973e+02 -1.230356048916106e+02 -1.231054982500379e+02 -1.231754207307278e+02 -1.232453724007864e+02 - -1.233153532159101e+02 -1.233853631242201e+02 -1.234554021549459e+02 -1.235254703591199e+02 -1.235955677938801e+02 - -1.236656944915691e+02 -1.237358503792446e+02 -1.238060353939673e+02 -1.238762496180971e+02 -1.239464931371069e+02 - -1.240167659036240e+02 -1.240870678602586e+02 -1.241573990423949e+02 -1.242277595040581e+02 -1.242981492810638e+02 - -1.243685683872523e+02 -1.244390167667736e+02 -1.245094943779347e+02 -1.245800013053605e+02 -1.246505376299316e+02 - -1.247211032912332e+02 -1.247916982296097e+02 -1.248623225297382e+02 -1.249329762770640e+02 -1.250036594157741e+02 - -1.250743718736609e+02 -1.251451136541969e+02 -1.252158847947410e+02 -1.252866853925174e+02 -1.253575155184925e+02 - -1.254283750787370e+02 -1.254992639825418e+02 -1.255701823169751e+02 -1.256411301759969e+02 -1.257121075033584e+02 - -1.257831142369608e+02 -1.258541504415142e+02 -1.259252161922362e+02 -1.259963114795672e+02 -1.260674362758903e+02 - -1.261385905661348e+02 -1.262097743537985e+02 -1.262809877041053e+02 -1.263522306696565e+02 -1.264235031908370e+02 - -1.264948052148923e+02 -1.265661368287249e+02 -1.266374981169807e+02 -1.267088890156212e+02 -1.267803094502130e+02 - -1.268517594534262e+02 -1.269232390831601e+02 -1.269947483911282e+02 -1.270662874069690e+02 -1.271378560782095e+02 - -1.272094543594662e+02 -1.272810823158284e+02 -1.273527400123002e+02 -1.274244274030747e+02 -1.274961444355319e+02 - -1.275678911406106e+02 -1.276396675704015e+02 -1.277114737780431e+02 -1.277833097950603e+02 -1.278551755654751e+02 - -1.279270710424012e+02 -1.279989963028243e+02 -1.280709514152536e+02 -1.281429362904217e+02 -1.282149508513121e+02 - -1.282869952276877e+02 -1.283590695463467e+02 -1.284311737154509e+02 -1.285033076302067e+02 -1.285754713526335e+02 - -1.286476649682441e+02 -1.287198884897120e+02 -1.287921419051992e+02 -1.288644251776617e+02 -1.289367382880697e+02 - -1.290090813146567e+02 -1.290814543319980e+02 -1.291538573027727e+02 -1.292262901737162e+02 -1.292987529396840e+02 - -1.293712456190937e+02 -1.294437682764910e+02 -1.295163209673579e+02 -1.295889036647941e+02 -1.296615163353197e+02 - -1.297341590015173e+02 -1.298068316903185e+02 -1.298795343899871e+02 -1.299522670904091e+02 -1.300250298266263e+02 - -1.300978226354063e+02 -1.301706455152632e+02 -1.302434984561237e+02 -1.303163814518184e+02 -1.303892945098205e+02 - -1.304622376882688e+02 -1.305352110313897e+02 -1.306082144770936e+02 -1.306812479731976e+02 -1.307543116134598e+02 - -1.308274054850011e+02 -1.309005295024521e+02 -1.309736835845235e+02 -1.310468678387340e+02 -1.311200823754845e+02 - -1.311933271278942e+02 -1.312666020134129e+02 -1.313399070640916e+02 -1.314132423401880e+02 -1.314866079001839e+02 - -1.315600037753056e+02 -1.316334298895329e+02 -1.317068861777292e+02 -1.317803727255405e+02 -1.318538896215189e+02 - -1.319274368150577e+02 -1.320010142454794e+02 -1.320746219509807e+02 -1.321482599879661e+02 -1.322219283867981e+02 - -1.322956271602158e+02 -1.323693562765047e+02 -1.324431157110688e+02 -1.325169055122373e+02 -1.325907257242561e+02 - -1.326645763021127e+02 -1.327384572099461e+02 -1.328123685377604e+02 -1.328863103680995e+02 -1.329602826278048e+02 - -1.330342852393407e+02 -1.331083182633673e+02 -1.331823817787306e+02 -1.332564757988239e+02 -1.333306003141445e+02 - -1.334047552890586e+02 -1.334789407033280e+02 -1.335531566244299e+02 -1.336274031130300e+02 -1.337016801148342e+02 - -1.337759875748336e+02 -1.338503255501201e+02 -1.339246941130952e+02 -1.339990932852997e+02 -1.340735230609586e+02 - -1.341479833758948e+02 -1.342224741891434e+02 -1.342969956109889e+02 -1.343715477431406e+02 -1.344461305017541e+02 - -1.345207438015131e+02 -1.345953877367626e+02 -1.346700624038786e+02 -1.347447677276981e+02 -1.348195036263442e+02 - -1.348942701626209e+02 -1.349690674171868e+02 -1.350438953974369e+02 -1.351187540921076e+02 -1.351936434885642e+02 - -1.352685635848754e+02 -1.353435144232942e+02 -1.354184960414874e+02 -1.354935084145923e+02 -1.355685515128237e+02 - -1.356436253492364e+02 -1.357187299541088e+02 -1.357938653837732e+02 -1.358690316768758e+02 -1.359442287752637e+02 - -1.360194566279880e+02 -1.360947153097144e+02 -1.361700048911278e+02 -1.362453253013760e+02 -1.363206764782614e+02 - -1.363960585357406e+02 -1.364714715821978e+02 -1.365469155275740e+02 -1.366223902703805e+02 -1.366978958618521e+02 - -1.367734323848502e+02 -1.368489998960226e+02 -1.369245984210613e+02 -1.370002278880492e+02 -1.370758882331093e+02 - -1.371515795221331e+02 -1.372273018270698e+02 -1.373030551143317e+02 -1.373788393429953e+02 -1.374546545483291e+02 - -1.375305007816427e+02 -1.376063780822184e+02 -1.376822864668756e+02 -1.377582258746108e+02 -1.378341962588316e+02 - -1.379101977084133e+02 -1.379862303093919e+02 -1.380622940009784e+02 -1.381383887192652e+02 -1.382145145346940e+02 - -1.382906715205862e+02 -1.383668596274320e+02 -1.384430787972570e+02 -1.385193290610606e+02 -1.385956104734610e+02 - -1.386719230945808e+02 -1.387482669582360e+02 -1.388246419875133e+02 -1.389010481148665e+02 -1.389774854209464e+02 - -1.390539539951986e+02 -1.391304538140523e+02 -1.392069848343242e+02 -1.392835470473980e+02 -1.393601404693719e+02 - -1.394367651806349e+02 -1.395134212422815e+02 -1.395901085739362e+02 -1.396668271002043e+02 -1.397435769070855e+02 - -1.398203580874878e+02 -1.398971706005607e+02 -1.399740143977720e+02 -1.400508895336226e+02 -1.401277960614956e+02 - -1.402047339272718e+02 -1.402817030764181e+02 -1.403587035602461e+02 -1.404357354502877e+02 -1.405127987931110e+02 - -1.405898936026113e+02 -1.406670197869564e+02 -1.407441772794584e+02 -1.408213662197336e+02 -1.408985867371466e+02 - -1.409758387137537e+02 -1.410531220224061e+02 -1.411304367464428e+02 -1.412077829961380e+02 -1.412851607790223e+02 - -1.413625700771281e+02 -1.414400108732392e+02 -1.415174831646232e+02 -1.415949870057306e+02 -1.416725224388105e+02 - -1.417500894001226e+02 -1.418276878351835e+02 -1.419053178325258e+02 -1.419829794809226e+02 -1.420606727270934e+02 - -1.421383975074728e+02 -1.422161538594082e+02 -1.422939418408956e+02 -1.423717614916131e+02 -1.424496128273150e+02 - -1.425274957863782e+02 -1.426054103213069e+02 -1.426833565184944e+02 -1.427613344645970e+02 -1.428393441134355e+02 - -1.429173854035838e+02 -1.429954583454632e+02 -1.430735629773860e+02 -1.431516993773805e+02 -1.432298676007922e+02 - -1.433080675725197e+02 -1.433862992191345e+02 -1.434645626043482e+02 -1.435428578032951e+02 -1.436211847996638e+02 - -1.436995435672099e+02 -1.437779341314036e+02 -1.438563565210897e+02 -1.439348107268960e+02 -1.440132967358192e+02 - -1.440918145585468e+02 -1.441703642214681e+02 -1.442489457900865e+02 -1.443275593072134e+02 -1.444062046857781e+02 - -1.444848818522611e+02 -1.445635909172288e+02 -1.446423319927847e+02 -1.447211050130976e+02 -1.447999098925679e+02 - -1.448787466444589e+02 -1.449576153140356e+02 -1.450365159757091e+02 -1.451154486823820e+02 -1.451944133717774e+02 - -1.452734099863848e+02 -1.453524386029381e+02 -1.454314992962476e+02 -1.455105919991844e+02 -1.455897166474813e+02 - -1.456688733302556e+02 -1.457480621396693e+02 -1.458272830266799e+02 -1.459065359271370e+02 -1.459858208576615e+02 - -1.460651378591126e+02 -1.461444869885314e+02 -1.462238682831965e+02 -1.463032816851561e+02 -1.463827271416525e+02 - -1.464622047159361e+02 -1.465417144784923e+02 -1.466212564127396e+02 -1.467008304928943e+02 -1.467804367434297e+02 - -1.468600751934606e+02 -1.469397458404120e+02 -1.470194486722770e+02 -1.470991836710121e+02 -1.471789508433917e+02 - -1.472587503015001e+02 -1.473385821300154e+02 -1.474184461986837e+02 -1.474983423870870e+02 -1.475782708290815e+02 - -1.476582316674545e+02 -1.477382248264445e+02 -1.478182502096616e+02 -1.478983078567520e+02 -1.479783978350921e+02 - -1.480585201869469e+02 -1.481386749269736e+02 -1.482188619845118e+02 -1.482990813088785e+02 -1.483793330146163e+02 - -1.484596172099193e+02 -1.485399338123612e+02 -1.486202827323657e+02 -1.487006640423751e+02 -1.487810778248495e+02 - -1.488615240403001e+02 -1.489420026412511e+02 -1.490225136702235e+02 -1.491030571832025e+02 -1.491836332000337e+02 - -1.492642417202360e+02 -1.493448826981615e+02 -1.494255561054278e+02 -1.495062620278810e+02 -1.495870005487025e+02 - -1.496677716261896e+02 -1.497485751994623e+02 -1.498294112558179e+02 -1.499102798158717e+02 -1.499911809853331e+02 - -1.500721148441144e+02 -1.501530812838450e+02 -1.502340802026938e+02 -1.503151117132690e+02 -1.503961759364751e+02 - -1.504772728119622e+02 -1.505584022645880e+02 -1.506395643412949e+02 -1.507207591024668e+02 -1.508019865401696e+02 - -1.508832466324269e+02 -1.509645393694111e+02 -1.510458647628492e+02 -1.511272228985386e+02 -1.512086138412552e+02 - -1.512900374976176e+02 -1.513714937855876e+02 -1.514529828266537e+02 -1.515345047392310e+02 -1.516160594259147e+02 - -1.516976467776822e+02 -1.517792668548592e+02 -1.518609197460578e+02 -1.519426054836894e+02 -1.520243240750476e+02 - -1.521060754831553e+02 -1.521878596792744e+02 -1.522696767118938e+02 -1.523515266305248e+02 -1.524334094115421e+02 - -1.525153250314230e+02 -1.525972735401888e+02 -1.526792549864990e+02 -1.527612693400200e+02 -1.528433165631959e+02 - -1.529253966685747e+02 -1.530075096900777e+02 -1.530896556970147e+02 -1.531718347321965e+02 -1.532540466970516e+02 - -1.533362915133235e+02 -1.534185693253995e+02 -1.535008802693854e+02 -1.535832242256197e+02 -1.536656010621809e+02 - -1.537480108538752e+02 -1.538304537113657e+02 -1.539129296820158e+02 -1.539954387715506e+02 -1.540779808824423e+02 - -1.541605559457948e+02 -1.542431641104905e+02 -1.543258055115917e+02 -1.544084800111010e+02 -1.544911874726015e+02 - -1.545739280390565e+02 -1.546567018609975e+02 -1.547395088398511e+02 -1.548223488576198e+02 -1.549052219677139e+02 - -1.549881282595875e+02 -1.550710677954614e+02 -1.551540406026988e+02 -1.552370465964632e+02 -1.553200857053796e+02 - -1.554031580241178e+02 -1.554862636500489e+02 -1.555694025253043e+02 -1.556525745801794e+02 -1.557357798528659e+02 - -1.558190184045264e+02 -1.559022902803117e+02 -1.559855954979769e+02 -1.560689339817060e+02 -1.561523056771075e+02 - -1.562357107090587e+02 -1.563191491909100e+02 -1.564026210106382e+02 -1.564861260558312e+02 -1.565696644378976e+02 - -1.566532362813955e+02 -1.567368415396626e+02 -1.568204801387562e+02 -1.569041520668287e+02 -1.569878573487146e+02 - -1.570715960938785e+02 -1.571553683828581e+02 -1.572391740958522e+02 -1.573230131265335e+02 -1.574068856228085e+02 - -1.574907917295132e+02 -1.575747313249683e+02 -1.576587042737324e+02 -1.577427106518309e+02 -1.578267505715277e+02 - -1.579108240785769e+02 -1.579949311783184e+02 -1.580790717809458e+02 -1.581632458187553e+02 -1.582474534075981e+02 - -1.583316946623155e+02 -1.584159695101536e+02 -1.585002778727259e+02 -1.585846198367120e+02 -1.586689954874005e+02 - -1.587534047394542e+02 -1.588378475061590e+02 -1.589223238659185e+02 -1.590068339195322e+02 -1.590913776922658e+02 - -1.591759551748261e+02 -1.592605662952183e+02 -1.593452110061037e+02 -1.594298894214712e+02 -1.595146016508511e+02 - -1.595993476246111e+02 -1.596841272537272e+02 -1.597689405507699e+02 -1.598537875632453e+02 -1.599386683768111e+02 - -1.600235830481832e+02 -1.601085314801616e+02 -1.601935135899282e+02 -1.602785295061083e+02 -1.603635793509372e+02 - -1.604486630096468e+02 -1.605337803660765e+02 -1.606189315354990e+02 -1.607041166452176e+02 -1.607893356392255e+02 - -1.608745884397152e+02 -1.609598750649831e+02 -1.610451955612870e+02 -1.611305499906227e+02 -1.612159383917271e+02 - -1.613013606945609e+02 -1.613868168398436e+02 -1.614723069201057e+02 -1.615578310304217e+02 -1.616433891242326e+02 - -1.617289811339727e+02 -1.618146070496823e+02 -1.619002668955830e+02 -1.619859607750138e+02 -1.620716887676450e+02 - -1.621574507793529e+02 -1.622432467219253e+02 -1.623290767045893e+02 -1.624149408340039e+02 -1.625008390091176e+02 - -1.625867711331680e+02 -1.626727373342588e+02 -1.627587377384768e+02 -1.628447722389764e+02 -1.629308407201184e+02 - -1.630169432640222e+02 -1.631030799800713e+02 -1.631892508889492e+02 -1.632754559784962e+02 -1.633616951938801e+02 - -1.634479685044198e+02 -1.635342760187116e+02 -1.636206178291233e+02 -1.637069938238325e+02 -1.637934038942077e+02 - -1.638798481485683e+02 -1.639663267112721e+02 -1.640528395538795e+02 -1.641393866180353e+02 -1.642259678785196e+02 - -1.643125833411851e+02 -1.643992331030405e+02 -1.644859172470150e+02 -1.645726357085657e+02 -1.646593884180614e+02 - -1.647461754329907e+02 -1.648329968179324e+02 -1.649198525387065e+02 -1.650067425502886e+02 -1.650936668630355e+02 - -1.651806255134507e+02 -1.652676185872448e+02 -1.653546461444497e+02 -1.654417080931755e+02 -1.655288043499995e+02 - -1.656159350172886e+02 -1.657031001994683e+02 -1.657902998234105e+02 -1.658775338117127e+02 -1.659648022474274e+02 - -1.660521052162188e+02 -1.661394426537408e+02 -1.662268144894047e+02 -1.663142207776613e+02 -1.664016615975541e+02 - -1.664891370014617e+02 -1.665766470055737e+02 -1.666641915079906e+02 -1.667517704334961e+02 -1.668393839316945e+02 - -1.669270321420214e+02 -1.670147149384157e+02 -1.671024321837371e+02 -1.671901839620226e+02 -1.672779703889409e+02 - -1.673657914855093e+02 -1.674536472385115e+02 -1.675415375924466e+02 -1.676294625158688e+02 -1.677174221158364e+02 - -1.678054164853866e+02 -1.678934455229663e+02 -1.679815091339810e+02 -1.680696074462591e+02 -1.681577405863894e+02 - -1.682459084535819e+02 -1.683341109324726e+02 -1.684223480767776e+02 -1.685106199767677e+02 -1.685989266998525e+02 - -1.686872682758898e+02 -1.687756446073924e+02 -1.688640556163956e+02 -1.689525014303699e+02 -1.690409821718389e+02 - -1.691294977381033e+02 -1.692180480141565e+02 -1.693066330609834e+02 -1.693952529706734e+02 -1.694839077837423e+02 - -1.695725975104607e+02 -1.696613220916933e+02 -1.697500814887782e+02 -1.698388758143547e+02 -1.699277051650943e+02 - -1.700165694224996e+02 -1.701054684738952e+02 -1.701944024450633e+02 -1.702833714670375e+02 -1.703723754534025e+02 - -1.704614143033400e+02 -1.705504880758685e+02 -1.706395968591658e+02 -1.707287406982126e+02 -1.708179196055015e+02 - -1.709071335067704e+02 -1.709963823462651e+02 -1.710856662290167e+02 -1.711749852543236e+02 -1.712643393377691e+02 - -1.713537283867857e+02 -1.714431524599174e+02 -1.715326116432521e+02 -1.716221059819435e+02 -1.717116354891412e+02 - -1.718012000909151e+02 -1.718907997312464e+02 -1.719804345128430e+02 -1.720701045346718e+02 -1.721598097220100e+02 - -1.722495499971131e+02 -1.723393254438396e+02 -1.724291361494486e+02 -1.725189820532021e+02 -1.726088630837053e+02 - -1.726987792749333e+02 -1.727887306891670e+02 -1.728787173965418e+02 -1.729687394350333e+02 -1.730587967061244e+02 - -1.731488891286860e+02 -1.732390168276344e+02 -1.733291799265234e+02 -1.734193783374131e+02 -1.735096119603506e+02 - -1.735998808588243e+02 -1.736901851222248e+02 -1.737805247801124e+02 -1.738708998286339e+02 -1.739613101901119e+02 - -1.740517558114003e+02 -1.741422368113012e+02 -1.742327533050288e+02 -1.743233052214973e+02 -1.744138924793676e+02 - -1.745045151425876e+02 -1.745951732822802e+02 -1.746858668529805e+02 -1.747765958032038e+02 -1.748673601739718e+02 - -1.749581600245709e+02 -1.750489953948396e+02 -1.751398663036498e+02 -1.752307727054541e+02 -1.753217145616989e+02 - -1.754126919262226e+02 -1.755037048571098e+02 -1.755947533370347e+02 -1.756858373371216e+02 -1.757769568577038e+02 - -1.758681119173357e+02 -1.759593025782490e+02 -1.760505288876894e+02 -1.761417907892832e+02 -1.762330882344909e+02 - -1.763244213097290e+02 -1.764157900964081e+02 -1.765071945209611e+02 -1.765986345094344e+02 -1.766901101413071e+02 - -1.767816215026837e+02 -1.768731685527375e+02 -1.769647512369523e+02 -1.770563695729838e+02 -1.771480236027573e+02 - -1.772397133931058e+02 -1.773314389867134e+02 -1.774232003047593e+02 -1.775149972814722e+02 -1.776068300247813e+02 - -1.776986986385443e+02 -1.777906030366335e+02 -1.778825431235826e+02 -1.779745189565556e+02 -1.780665306226855e+02 - -1.781585781763529e+02 -1.782506616334199e+02 -1.783427808884287e+02 -1.784349358629673e+02 -1.785271267081259e+02 - -1.786193535668995e+02 -1.787116163204012e+02 -1.788039148425030e+02 -1.788962492399977e+02 -1.789886196318098e+02 - -1.790810259524725e+02 -1.791734681201561e+02 -1.792659461719689e+02 -1.793584601742520e+02 -1.794510101913400e+02 - -1.795435962594126e+02 -1.796362183040394e+02 -1.797288762617232e+02 -1.798215702233099e+02 -1.799143002757676e+02 - -1.800070663362093e+02 -1.800998683262517e+02 -1.801927063553792e+02 -1.802855805315161e+02 -1.803784907684791e+02 - -1.804714369692463e+02 -1.805644191875481e+02 -1.806574375103104e+02 -1.807504920064915e+02 -1.808435827084130e+02 - -1.809367095198169e+02 -1.810298723599504e+02 -1.811230713386593e+02 -1.812163065647390e+02 -1.813095779521854e+02 - -1.814028854036152e+02 -1.814962289709267e+02 -1.815896087407728e+02 -1.816830247895420e+02 -1.817764771515762e+02 - -1.818699657032943e+02 -1.819634903439186e+02 -1.820570512218083e+02 -1.821506484855823e+02 -1.822442820357622e+02 - -1.823379517614509e+02 -1.824316577541746e+02 -1.825254001134493e+02 -1.826191787683301e+02 -1.827129936397535e+02 - -1.828068447866412e+02 -1.829007322929544e+02 -1.829946562048259e+02 -1.830886165373395e+02 -1.831826132192083e+02 - -1.832766461922778e+02 -1.833707155372913e+02 -1.834648213380734e+02 -1.835589635518759e+02 -1.836531421229175e+02 - -1.837473570698571e+02 -1.838416084358642e+02 -1.839358962877114e+02 -1.840302206684350e+02 -1.841245815025237e+02 - -1.842189787235884e+02 -1.843134124202761e+02 -1.844078826806361e+02 -1.845023894352911e+02 -1.845969326205561e+02 - -1.846915123529413e+02 -1.847861287393624e+02 -1.848807816681596e+02 -1.849754710227848e+02 -1.850701968857076e+02 - -1.851649593688754e+02 -1.852597585031284e+02 -1.853545942804591e+02 -1.854494666185751e+02 -1.855443754618861e+02 - -1.856393209358935e+02 -1.857343031604275e+02 -1.858293220515437e+02 -1.859243775087027e+02 -1.860194695687597e+02 - -1.861145983033516e+02 -1.862097637858479e+02 -1.863049660540466e+02 -1.864002050017272e+02 -1.864954805431744e+02 - -1.865907928187129e+02 -1.866861419596013e+02 -1.867815278347963e+02 -1.868769503164351e+02 -1.869724095516791e+02 - -1.870679056966096e+02 -1.871634386679672e+02 -1.872590083560524e+02 -1.873546147847470e+02 -1.874502580123688e+02 - -1.875459381013990e+02 -1.876416550903780e+02 -1.877374089179168e+02 -1.878331995340542e+02 -1.879290270344656e+02 - -1.880248915055781e+02 -1.881207928511883e+02 -1.882167309755823e+02 -1.883127059676341e+02 -1.884087179360091e+02 - -1.885047668839511e+02 -1.886008527852007e+02 -1.886969756009047e+02 -1.887931353152428e+02 -1.888893320171184e+02 - -1.889855657829229e+02 -1.890818365342772e+02 -1.891781441947396e+02 -1.892744888503877e+02 -1.893708705921393e+02 - -1.894672893677523e+02 -1.895637451161106e+02 -1.896602378837592e+02 -1.897567677352667e+02 -1.898533346996371e+02 - -1.899499387807097e+02 -1.900465799172331e+02 -1.901432580674921e+02 -1.902399733330072e+02 -1.903367258125687e+02 - -1.904335154508099e+02 -1.905303421711713e+02 -1.906272059664800e+02 -1.907241068668330e+02 -1.908210449820209e+02 - -1.909180203947948e+02 -1.910150330000556e+02 -1.911120827002041e+02 -1.912091696154924e+02 -1.913062938635582e+02 - -1.914034553337337e+02 -1.915006539182285e+02 -1.915978897490666e+02 -1.916951629619544e+02 -1.917924734675151e+02 - -1.918898211586861e+02 -1.919872060827436e+02 -1.920846283161583e+02 -1.921820878978424e+02 -1.922795848438701e+02 - -1.923771191165239e+02 -1.924746906889474e+02 -1.925722996315181e+02 -1.926699460069926e+02 -1.927676297504074e+02 - -1.928653507913461e+02 -1.929631091652971e+02 -1.930609049367203e+02 -1.931587381800568e+02 -1.932566089358633e+02 - -1.933545170991796e+02 -1.934524625825225e+02 -1.935504455138344e+02 -1.936484660231147e+02 -1.937465240331655e+02 - -1.938446194535055e+02 -1.939427523477156e+02 -1.940409227930324e+02 -1.941391307672549e+02 -1.942373762317632e+02 - -1.943356591817002e+02 -1.944339796386271e+02 -1.945323376960147e+02 -1.946307334225392e+02 -1.947291667157886e+02 - -1.948276374816129e+02 -1.949261458299981e+02 -1.950246918758956e+02 -1.951232755499811e+02 -1.952218967672293e+02 - -1.953205555640852e+02 -1.954192520091347e+02 -1.955179861780584e+02 -1.956167581109271e+02 -1.957155676982765e+02 - -1.958144148511486e+02 -1.959132997121442e+02 -1.960122224157670e+02 -1.961111828325720e+02 -1.962101808324193e+02 - -1.963092165463342e+02 -1.964082901163006e+02 -1.965074014669716e+02 -1.966065505047830e+02 -1.967057372806285e+02 - -1.968049618689787e+02 -1.969042242941536e+02 -1.970035245570506e+02 -1.971028626150270e+02 -1.972022384428475e+02 - -1.973016521284466e+02 -1.974011037520065e+02 -1.975005932495305e+02 -1.976001205455443e+02 -1.976996856628438e+02 - -1.977992886519515e+02 -1.978989295760255e+02 -1.979986084767589e+02 -1.980983252973461e+02 -1.981980799861144e+02 - -1.982978726104215e+02 -1.983977032396124e+02 -1.984975718319531e+02 -1.985974783450467e+02 -1.986974228449224e+02 - -1.987974053983538e+02 -1.988974259666649e+02 -1.989974844962869e+02 -1.990975809795281e+02 -1.991977154414513e+02 - -1.992978879922588e+02 -1.993980987169082e+02 -1.994983475142392e+02 -1.995986342853965e+02 -1.996989591268633e+02 - -1.997993221398394e+02 -1.998997232490551e+02 -2.000001623829878e+02 -2.001006396615730e+02 -2.002011551976202e+02 - -2.003017088839768e+02 -2.004023006006677e+02 -2.005029303963877e+02 -2.006035983645368e+02 -2.007043046086661e+02 - -2.008050491826254e+02 -2.009058319313084e+02 -2.010066527248718e+02 -2.011075117434797e+02 -2.012084091672780e+02 - -2.013093448663347e+02 -2.014103186854462e+02 -2.015113306783989e+02 -2.016123809487723e+02 -2.017134695903300e+02 - -2.018145966520298e+02 -2.019157620134241e+02 -2.020169655668574e+02 -2.021182074252480e+02 -2.022194877090834e+02 - -2.023208063485549e+02 -2.024221632682046e+02 -2.025235585602719e+02 -2.026249923196053e+02 -2.027264644837921e+02 - -2.028279749730532e+02 -2.029295237954015e+02 -2.030311109992572e+02 -2.031327367068774e+02 -2.032344010007734e+02 - -2.033361037306376e+02 -2.034378447601810e+02 -2.035396242420057e+02 -2.036414423389593e+02 -2.037432989659801e+02 - -2.038451940079258e+02 -2.039471274772405e+02 -2.040490994323931e+02 -2.041511099883670e+02 -2.042531592234435e+02 - -2.043552470125819e+02 -2.044573732391661e+02 -2.045595380236004e+02 -2.046617414909655e+02 -2.047639835480296e+02 - -2.048662640993485e+02 -2.049685832589404e+02 -2.050709411450770e+02 -2.051733376835843e+02 -2.052757727854042e+02 - -2.053782464943871e+02 -2.054807588829732e+02 -2.055833100050551e+02 -2.056858998827895e+02 -2.057885284299405e+02 - -2.058911955783421e+02 -2.059939014405005e+02 -2.060966461276917e+02 -2.061994295656012e+02 -2.063022516666823e+02 - -2.064051124760526e+02 -2.065080120661920e+02 -2.066109504863692e+02 -2.067139277576765e+02 -2.068169438117121e+02 - -2.069199985973326e+02 -2.070230922219201e+02 -2.071262247789163e+02 -2.072293961474789e+02 -2.073326062201854e+02 - -2.074358551575783e+02 -2.075391431180403e+02 -2.076424699833530e+02 -2.077458356179337e+02 -2.078492400933438e+02 - -2.079526835133251e+02 -2.080561659031989e+02 -2.081596872578975e+02 -2.082632475292167e+02 -2.083668466898186e+02 - -2.084704848389632e+02 -2.085741620623951e+02 -2.086778782651976e+02 -2.087816333480700e+02 -2.088854273748348e+02 - -2.089892604383302e+02 -2.090931325843364e+02 -2.091970438282278e+02 -2.093009941108145e+02 -2.094049833841979e+02 - -2.095090117202067e+02 -2.096130791905716e+02 -2.097171857469022e+02 -2.098213313423286e+02 -2.099255160561849e+02 - -2.100297399619016e+02 -2.101340029830976e+02 -2.102383050403986e+02 -2.103426461922712e+02 -2.104470265253758e+02 - -2.105514461013085e+02 -2.106559049410852e+02 -2.107604029284658e+02 -2.108649399745926e+02 -2.109695162373935e+02 - -2.110741318706494e+02 -2.111787867647689e+02 -2.112834807867834e+02 -2.113882139735869e+02 -2.114929864074473e+02 - -2.115977981822681e+02 -2.117026493533424e+02 -2.118075398098887e+02 -2.119124694556393e+02 -2.120174384184601e+02 - -2.121224468216736e+02 -2.122274945462991e+02 -2.123325814769304e+02 -2.124377077547605e+02 -2.125428735238108e+02 - -2.126480786828185e+02 -2.127533231155498e+02 -2.128586068911697e+02 -2.129639301084739e+02 -2.130692927993837e+02 - -2.131746949622090e+02 -2.132801365276879e+02 -2.133856174488912e+02 -2.134911378357916e+02 -2.135966977951921e+02 - -2.137022972643151e+02 -2.138079361581469e+02 -2.139136144723085e+02 -2.140193322420075e+02 -2.141250895801643e+02 - -2.142308865713384e+02 -2.143367231089345e+02 -2.144425990899214e+02 -2.145485146166798e+02 -2.146544697958461e+02 - -2.147604645456698e+02 -2.148664987887291e+02 -2.149725726533044e+02 -2.150786862586875e+02 -2.151848394825147e+02 - -2.152910321964648e+02 -2.153972644900385e+02 -2.155035364828845e+02 -2.156098481974242e+02 -2.157161996246267e+02 - -2.158225907268823e+02 -2.159290214790141e+02 -2.160354919341570e+02 -2.161420021424622e+02 -2.162485520638355e+02 - -2.163551416576007e+02 -2.164617709709994e+02 -2.165684400663080e+02 -2.166751489780245e+02 -2.167818977145845e+02 - -2.168886862079515e+02 -2.169955144082682e+02 -2.171023824148656e+02 -2.172092903208214e+02 -2.173162380450137e+02 - -2.174232255130703e+02 -2.175302528518165e+02 -2.176373201799158e+02 -2.177444273821862e+02 -2.178515743317612e+02 - -2.179587610888773e+02 -2.180659877532527e+02 -2.181732543954297e+02 -2.182805610486399e+02 -2.183879076260487e+02 - -2.184952940541088e+02 -2.186027204324891e+02 -2.187101868605661e+02 -2.188176932633304e+02 -2.189252395535715e+02 - -2.190328257696591e+02 -2.191404519835346e+02 -2.192481182758485e+02 -2.193558246894080e+02 -2.194635711069396e+02 - -2.195713574321837e+02 -2.196791838130171e+02 -2.197870503917547e+02 -2.198949570443306e+02 -2.200029036478261e+02 - -2.201108903502962e+02 -2.202189173008489e+02 -2.203269843818326e+02 -2.204350914576510e+02 -2.205432385876858e+02 - -2.206514258738742e+02 -2.207596533933995e+02 -2.208679211808499e+02 -2.209762291251867e+02 -2.210845771334710e+02 - -2.211929653307878e+02 -2.213013938407175e+02 -2.214098625627986e+02 -2.215183713969045e+02 -2.216269204682873e+02 - -2.217355099024502e+02 -2.218441396005216e+02 -2.219528094497077e+02 -2.220615195058979e+02 -2.221702698646027e+02 - -2.222790606111339e+02 -2.223878917838657e+02 -2.224967632436199e+02 -2.226056748766821e+02 -2.227146268487432e+02 - -2.228236193240230e+02 -2.229326521814535e+02 -2.230417252803019e+02 -2.231508386864637e+02 -2.232599925050409e+02 - -2.233691867913336e+02 -2.234784215614204e+02 -2.235876967242961e+02 -2.236970122086523e+02 -2.238063681290529e+02 - -2.239157646015454e+02 -2.240252015622403e+02 -2.241346789340316e+02 -2.242441967668838e+02 -2.243537551247286e+02 - -2.244633540002964e+02 -2.245729933685804e+02 -2.246826732048266e+02 -2.247923935126906e+02 -2.249021544092157e+02 - -2.250119559889259e+02 -2.251217981428817e+02 -2.252316807628839e+02 -2.253416039471573e+02 -2.254515678046834e+02 - -2.255615722810486e+02 -2.256716173029860e+02 -2.257817028852108e+02 -2.258918290784169e+02 -2.260019959892315e+02 - -2.261122036854213e+02 -2.262224520233766e+02 -2.263327408802082e+02 -2.264430704272837e+02 -2.265534408332552e+02 - -2.266638519616550e+02 -2.267743036660735e+02 -2.268847960654481e+02 -2.269953292962885e+02 -2.271059033000460e+02 - -2.272165179952407e+02 -2.273271734037251e+02 -2.274378695801794e+02 -2.275486066072624e+02 -2.276593845334010e+02 - -2.277702032421150e+02 -2.278810626343348e+02 -2.279919628455381e+02 -2.281029040172474e+02 -2.282138860806176e+02 - -2.283249089376286e+02 -2.284359725839265e+02 -2.285470770593814e+02 -2.286582224870930e+02 -2.287694089544078e+02 - -2.288806363224278e+02 -2.289919044640359e+02 -2.291032135254801e+02 -2.292145636582007e+02 -2.293259547610424e+02 - -2.294373867252146e+02 -2.295488596639802e+02 -2.296603736910369e+02 -2.297719286997702e+02 -2.298835245768747e+02 - -2.299951614025932e+02 -2.301068392919157e+02 -2.302185583052736e+02 -2.303303184582155e+02 -2.304421196413199e+02 - -2.305539617649887e+02 -2.306658449438852e+02 -2.307777692999738e+02 -2.308897347801602e+02 -2.310017413072381e+02 - -2.311137888826106e+02 -2.312258775426401e+02 -2.313380073849178e+02 -2.314501784790464e+02 -2.315623907214496e+02 - -2.316746440227619e+02 -2.317869385236417e+02 -2.318992743527083e+02 -2.320116513604021e+02 -2.321240694060221e+02 - -2.322365286624793e+02 -2.323490293043759e+02 -2.324615711994689e+02 -2.325741541998047e+02 -2.326867784014305e+02 - -2.327994439322068e+02 -2.329121508032486e+02 -2.330248989898164e+02 -2.331376884404961e+02 -2.332505191272475e+02 - -2.333633911421986e+02 -2.334763045743060e+02 -2.335892593796759e+02 -2.337022554911374e+02 -2.338152928812627e+02 - -2.339283715644559e+02 -2.340414916827054e+02 -2.341546533474617e+02 -2.342678564204413e+02 -2.343811007676228e+02 - -2.344943865217682e+02 -2.346077138212040e+02 -2.347210825597340e+02 -2.348344926295532e+02 -2.349479441609453e+02 - -2.350614372851493e+02 -2.351749718991416e+02 -2.352885478850955e+02 -2.354021653002366e+02 -2.355158242429473e+02 - -2.356295248011875e+02 -2.357432670145577e+02 -2.358570507396431e+02 -2.359708758587992e+02 -2.360847425404777e+02 - -2.361986509531367e+02 -2.363126009791645e+02 -2.364265924750662e+02 -2.365406254798825e+02 -2.366547000814751e+02 - -2.367688163804559e+02 -2.368829744348273e+02 -2.369971741194025e+02 -2.371114153287764e+02 -2.372256982198593e+02 - -2.373400229428812e+02 -2.374543893590377e+02 -2.375687973238754e+02 -2.376832469593778e+02 -2.377977384043928e+02 - -2.379122715987879e+02 -2.380268464580362e+02 -2.381414629990116e+02 -2.382561212769444e+02 -2.383708213990897e+02 - -2.384855634334210e+02 -2.386003472387607e+02 -2.387151726904082e+02 -2.388300399387221e+02 -2.389449491374237e+02 - -2.390599001786255e+02 -2.391748929369255e+02 -2.392899274784697e+02 -2.394050039061344e+02 -2.395201222781684e+02 - -2.396352826134916e+02 -2.397504848183333e+02 -2.398657288168898e+02 -2.399810147179146e+02 -2.400963426277219e+02 - -2.402117124583125e+02 -2.403271241258893e+02 -2.404425777577767e+02 -2.405580734795174e+02 -2.406736111984077e+02 - -2.407891907995794e+02 -2.409048122977546e+02 -2.410204757554728e+02 -2.411361812969551e+02 -2.412519290053517e+02 - -2.413677187378485e+02 -2.414835503650167e+02 -2.415994240369316e+02 -2.417153399089511e+02 -2.418312978780588e+02 - -2.419472978191357e+02 -2.420633397770240e+02 -2.421794238369657e+02 -2.422955500758429e+02 -2.424117185344053e+02 - -2.425279291172331e+02 -2.426441817421263e+02 -2.427604765159341e+02 -2.428768135466203e+02 -2.429931927575585e+02 - -2.431096140668555e+02 -2.432260775561414e+02 -2.433425833145866e+02 -2.434591312980004e+02 -2.435757214497087e+02 - -2.436923537964655e+02 -2.438090283895336e+02 -2.439257452947832e+02 -2.440425045463603e+02 -2.441593060369063e+02 - -2.442761496825792e+02 -2.443930356351059e+02 -2.445099640393889e+02 -2.446269347774639e+02 -2.447439477225602e+02 - -2.448610029755453e+02 -2.449781006544274e+02 -2.450952407181387e+02 -2.452124231032676e+02 -2.453296478161015e+02 - -2.454469148921256e+02 -2.455642244139170e+02 -2.456815764363974e+02 -2.457989708567751e+02 -2.459164075868465e+02 - -2.460338867544718e+02 -2.461514084874868e+02 -2.462689726975661e+02 -2.463865792818051e+02 -2.465042282951439e+02 - -2.466219198202147e+02 -2.467396538925739e+02 -2.468574305187124e+02 -2.469752496359336e+02 -2.470931112029433e+02 - -2.472110153332446e+02 -2.473289621270786e+02 -2.474469514768406e+02 -2.475649832814832e+02 -2.476830576740329e+02 - -2.478011747871381e+02 -2.479193345178656e+02 -2.480375367456449e+02 -2.481557815149384e+02 -2.482740689103307e+02 - -2.483923990118631e+02 -2.485107718618152e+02 -2.486291873559622e+02 -2.487476454083695e+02 -2.488661461527674e+02 - -2.489846897184250e+02 -2.491032759971039e+02 -2.492219048675295e+02 -2.493405763937896e+02 -2.494592906781626e+02 - -2.495780477903268e+02 -2.496968477531592e+02 -2.498156904349301e+02 -2.499345757349562e+02 -2.500535038313474e+02 - -2.501724748933778e+02 -2.502914887761886e+02 -2.504105453266259e+02 -2.505296446724864e+02 -2.506487869586733e+02 - -2.507679721175656e+02 -2.508872000588222e+02 -2.510064708137437e+02 -2.511257844438344e+02 -2.512451410097723e+02 - -2.513645405425343e+02 -2.514839829551193e+02 -2.516034681806881e+02 -2.517229963510282e+02 -2.518425675906852e+02 - -2.519621817966139e+02 -2.520818388494823e+02 -2.522015387924022e+02 -2.523212817096907e+02 -2.524410676880414e+02 - -2.525608967718439e+02 -2.526807688338955e+02 -2.528006837687293e+02 -2.529206417294141e+02 -2.530406428681973e+02 - -2.531606870755077e+02 -2.532807742357317e+02 -2.534009044709059e+02 -2.535210779031462e+02 -2.536412944172385e+02 - -2.537615538911017e+02 -2.538818564125164e+02 -2.540022021028112e+02 -2.541225910076441e+02 -2.542430231270507e+02 - -2.543634983542462e+02 -2.544840166121418e+02 -2.546045780492533e+02 -2.547251828099108e+02 -2.548458307960956e+02 - -2.549665218842466e+02 -2.550872560909815e+02 -2.552080334828205e+02 -2.553288541857174e+02 -2.554497182835964e+02 - -2.555706256328296e+02 -2.556915761009198e+02 -2.558125698274442e+02 -2.559336069560756e+02 -2.560546873747970e+02 - -2.561758109689862e+02 -2.562969778692906e+02 -2.564181882127723e+02 -2.565394419168841e+02 -2.566607388759341e+02 - -2.567820791112567e+02 -2.569034626862424e+02 -2.570248897054782e+02 -2.571463602359873e+02 -2.572678741533426e+02 - -2.573894313462550e+02 -2.575110319474426e+02 -2.576326760938784e+02 -2.577543636955484e+02 -2.578760946446893e+02 - -2.579978689895271e+02 -2.581196868133063e+02 -2.582415481833543e+02 -2.583634531275302e+02 -2.584854015317316e+02 - -2.586073933093156e+02 -2.587294286254374e+02 -2.588515076317444e+02 -2.589736301740566e+02 -2.590957960996737e+02 - -2.592180055676404e+02 -2.593402587446819e+02 -2.594625555165019e+02 -2.595848957490105e+02 -2.597072795099639e+02 - -2.598297069067293e+02 -2.599521780032740e+02 -2.600746928207452e+02 -2.601972512524080e+02 -2.603198532148209e+02 - -2.604424988455961e+02 -2.605651882765137e+02 -2.606879213949725e+02 -2.608106980758151e+02 -2.609335183880386e+02 - -2.610563824372016e+02 -2.611792902809524e+02 -2.613022419394243e+02 -2.614252373306019e+02 -2.615482763897488e+02 - -2.616713592233935e+02 -2.617944859260970e+02 -2.619176563732862e+02 -2.620408704583867e+02 -2.621641283659552e+02 - -2.622874302706103e+02 -2.624107760160917e+02 -2.625341654302978e+02 -2.626575986086381e+02 -2.627810756876698e+02 - -2.629045967010318e+02 -2.630281616427657e+02 -2.631517704514422e+02 -2.632754230861743e+02 -2.633991196437133e+02 - -2.635228602105341e+02 -2.636466446943674e+02 -2.637704729984163e+02 -2.638943451865159e+02 -2.640182613561179e+02 - -2.641422215785110e+02 -2.642662258795402e+02 -2.643902741294400e+02 -2.645143662245587e+02 -2.646385023213122e+02 - -2.647626825745115e+02 -2.648869068724856e+02 -2.650111750962730e+02 -2.651354873642347e+02 -2.652598438005879e+02 - -2.653842443156531e+02 -2.655086888035231e+02 -2.656331773072787e+02 -2.657577099091213e+02 -2.658822866987512e+02 - -2.660069077230897e+02 -2.661315728504449e+02 -2.662562819710931e+02 -2.663810352417937e+02 -2.665058328192844e+02 - -2.666306745937331e+02 -2.667555604333347e+02 -2.668804903849584e+02 -2.670054645383429e+02 -2.671304829760297e+02 - -2.672555457413816e+02 -2.673806527282453e+02 -2.675058038464400e+02 -2.676309992191929e+02 -2.677562389652032e+02 - -2.678815229716541e+02 -2.680068511277727e+02 -2.681322235624782e+02 -2.682576404136338e+02 -2.683831016151858e+02 - -2.685086070756685e+02 -2.686341568058856e+02 -2.687597508516357e+02 -2.688853892964312e+02 -2.690110721950252e+02 - -2.691367994494158e+02 -2.692625709807897e+02 -2.693883869398372e+02 -2.695142474621058e+02 -2.696401523930688e+02 - -2.697661015819900e+02 -2.698920951833660e+02 -2.700181333642693e+02 -2.701442160368443e+02 -2.702703430840482e+02 - -2.703965145270174e+02 -2.705227304331903e+02 -2.706489909170355e+02 -2.707752960482972e+02 -2.709016456707917e+02 - -2.710280396495872e+02 -2.711544781606855e+02 -2.712809613853167e+02 -2.714074892146895e+02 -2.715340615102555e+02 - -2.716606783044584e+02 -2.717873396730564e+02 -2.719140456940721e+02 -2.720407964136753e+02 -2.721675917483545e+02 - -2.722944316245073e+02 -2.724213161378437e+02 -2.725482453844213e+02 -2.726752192923742e+02 -2.728022377909456e+02 - -2.729293009817382e+02 -2.730564089616648e+02 -2.731835616365174e+02 -2.733107589046467e+02 -2.734380008257563e+02 - -2.735652874983575e+02 -2.736926190148396e+02 -2.738199954194386e+02 -2.739474165698984e+02 -2.740748823405867e+02 - -2.742023928588563e+02 -2.743299482670098e+02 -2.744575485141638e+02 -2.745851935229188e+02 -2.747128833029967e+02 - -2.748406178969678e+02 -2.749683973916734e+02 -2.750962218440648e+02 -2.752240911472609e+02 -2.753520052060601e+02 - -2.754799641358123e+02 -2.756079680559450e+02 -2.757360168916492e+02 -2.758641105650285e+02 -2.759922491800748e+02 - -2.761204328366440e+02 -2.762486614361617e+02 -2.763769348745897e+02 -2.765052532244616e+02 -2.766336165883748e+02 - -2.767620250126050e+02 -2.768904785041199e+02 -2.770189769689730e+02 -2.771475203398639e+02 -2.772761087569904e+02 - -2.774047423518460e+02 -2.775334210136085e+02 -2.776621446145333e+02 -2.777909132015001e+02 -2.779197268642361e+02 - -2.780485856892346e+02 -2.781774897218528e+02 -2.783064388461343e+02 -2.784354329669438e+02 -2.785644722337429e+02 - -2.786935567875348e+02 -2.788226864908934e+02 -2.789518612068105e+02 -2.790810810783757e+02 -2.792103462555617e+02 - -2.793396566357773e+02 -2.794690121008859e+02 -2.795984127231330e+02 -2.797278586088501e+02 -2.798573498103315e+02 - -2.799868863353985e+02 -2.801164680680156e+02 -2.802460949220819e+02 -2.803757670550874e+02 -2.805054846206144e+02 - -2.806352475130235e+02 -2.807650555997772e+02 -2.808949088999684e+02 -2.810248074853591e+02 -2.811547514867556e+02 - -2.812847409903677e+02 -2.814147758449749e+02 -2.815448559108459e+02 -2.816749813316353e+02 -2.818051522586102e+02 - -2.819353685901064e+02 -2.820656302199222e+02 -2.821959372766401e+02 -2.823262898869716e+02 -2.824566879353637e+02 - -2.825871312931868e+02 -2.827176200217700e+02 -2.828481542276227e+02 -2.829787340080183e+02 -2.831093594072626e+02 - -2.832400302670260e+02 -2.833707464559445e+02 -2.835015081531469e+02 -2.836323155420096e+02 -2.837631685124079e+02 - -2.838940669226656e+02 -2.840250107984012e+02 -2.841560002155769e+02 -2.842870352842360e+02 -2.844181160721325e+02 - -2.845492424437817e+02 -2.846804142799303e+02 -2.848116317294889e+02 -2.849428949404899e+02 -2.850742037892878e+02 - -2.852055581519247e+02 -2.853369581748677e+02 -2.854684040068092e+02 -2.855998955349205e+02 -2.857314326251873e+02 - -2.858630153203723e+02 -2.859946437114748e+02 -2.861263179056654e+02 -2.862580379663874e+02 -2.863898037660037e+02 - -2.865216151879669e+02 -2.866534723511688e+02 -2.867853753832939e+02 -2.869173242117615e+02 -2.870493187426322e+02 - -2.871813589967982e+02 -2.873134450373917e+02 -2.874455769816758e+02 -2.875777549027032e+02 -2.877099786425546e+02 - -2.878422480619707e+02 -2.879745633273037e+02 -2.881069246090204e+02 -2.882393317884377e+02 -2.883717847366556e+02 - -2.885042835730584e+02 -2.886368284288774e+02 -2.887694192344474e+02 -2.889020558953364e+02 -2.890347384189399e+02 - -2.891674668528066e+02 -2.893002413032724e+02 -2.894330618447220e+02 -2.895659283649483e+02 -2.896988407604515e+02 - -2.898317991491523e+02 -2.899648036558058e+02 -2.900978542110840e+02 -2.902309507220182e+02 -2.903640931951591e+02 - -2.904972816775983e+02 -2.906305162790740e+02 -2.907637970750559e+02 -2.908971239412933e+02 -2.910304967707643e+02 - -2.911639157250792e+02 -2.912973809535366e+02 -2.914308922875549e+02 -2.915644495654761e+02 -2.916980529712119e+02 - -2.918317026983915e+02 -2.919653986339440e+02 -2.920991406314096e+02 -2.922329287174719e+02 -2.923667629702973e+02 - -2.925006435008390e+02 -2.926345703772706e+02 -2.927685434638595e+02 -2.929025626397000e+02 -2.930366280470975e+02 - -2.931707398343328e+02 -2.933048979103752e+02 -2.934391021578708e+02 -2.935733525934834e+02 -2.937076492857184e+02 - -2.938419923764308e+02 -2.939763819565550e+02 -2.941108178399977e+02 -2.942452998623305e+02 -2.943798282228154e+02 - -2.945144031200941e+02 -2.946490243866398e+02 -2.947836918481424e+02 -2.949184056693277e+02 -2.950531660302706e+02 - -2.951879728334102e+02 -2.953228259514730e+02 -2.954577254159683e+02 -2.955926713017622e+02 -2.957276636983648e+02 - -2.958627026572042e+02 -2.959977880627373e+02 -2.961329198152110e+02 -2.962680980450039e+02 -2.964033228802077e+02 - -2.965385942096344e+02 -2.966739119278574e+02 -2.968092761917713e+02 -2.969446871501122e+02 -2.970801446566606e+02 - -2.972156485544735e+02 -2.973511989386669e+02 -2.974867959450954e+02 -2.976224396205114e+02 -2.977581299655766e+02 - -2.978938668856917e+02 -2.980296503111913e+02 -2.981654803674056e+02 -2.983013571739824e+02 -2.984372806328453e+02 - -2.985732506311156e+02 -2.987092672144286e+02 -2.988453304703744e+02 -2.989814404958496e+02 -2.991175973412398e+02 - -2.992538008615809e+02 -2.993900509369414e+02 -2.995263477428711e+02 -2.996626914493826e+02 -2.997990819088619e+02 - -2.999355189707111e+02 -3.000720027900217e+02 -3.002085335269560e+02 -3.003451110562723e+02 -3.004817352353309e+02 - -3.006184061373012e+02 -3.007551238767678e+02 -3.008918885181671e+02 -3.010287000846923e+02 -3.011655584847104e+02 - -3.013024636430795e+02 -3.014394156654455e+02 -3.015764146559894e+02 -3.017134605322491e+02 -3.018505532010304e+02 - -3.019876927128527e+02 -3.021248791518991e+02 -3.022621125932933e+02 -3.023993930706231e+02 -3.025367204603900e+02 - -3.026740946641424e+02 -3.028115158406990e+02 -3.029489841386069e+02 -3.030864994080570e+02 -3.032240615026816e+02 - -3.033616705882347e+02 -3.034993268395738e+02 -3.036370301558538e+02 -3.037747804087723e+02 -3.039125776359002e+02 - -3.040504219146317e+02 -3.041883133157825e+02 -3.043262518737324e+02 -3.044642374836954e+02 -3.046022700638564e+02 - -3.047403497634464e+02 -3.048784767248004e+02 -3.050166508316213e+02 -3.051548719471290e+02 -3.052931401112401e+02 - -3.054314554166776e+02 -3.055698179906950e+02 -3.057082279030724e+02 -3.058466849591645e+02 -3.059851889955948e+02 - -3.061237402384871e+02 -3.062623389075358e+02 -3.064009848072192e+02 -3.065396777363650e+02 -3.066784178864098e+02 - -3.068172054654241e+02 -3.069560403554044e+02 -3.070949224023651e+02 -3.072338516344630e+02 -3.073728281334552e+02 - -3.075118520133569e+02 -3.076509233435525e+02 -3.077900419826468e+02 -3.079292078053290e+02 -3.080684209614084e+02 - -3.082076816048298e+02 -3.083469896309615e+02 -3.084863449149456e+02 -3.086257475095906e+02 -3.087651975081579e+02 - -3.089046949880547e+02 -3.090442399817611e+02 -3.091838323579038e+02 -3.093234720151574e+02 -3.094631591362355e+02 - -3.096028938900603e+02 -3.097426761063483e+02 -3.098825056148365e+02 -3.100223825845469e+02 -3.101623071983122e+02 - -3.103022793549238e+02 -3.104422989228102e+02 -3.105823659329897e+02 -3.107224804626276e+02 -3.108626426108901e+02 - -3.110028524323948e+02 -3.111431097815640e+02 -3.112834145351391e+02 -3.114237668593314e+02 -3.115641669247677e+02 - -3.117046146302696e+02 -3.118451098470761e+02 -3.119856526079039e+02 -3.121262429897644e+02 -3.122668810853719e+02 - -3.124075669478935e+02 -3.125483004566077e+02 -3.126890815070839e+02 -3.128299102339429e+02 -3.129707867704560e+02 - -3.131117110054437e+02 -3.132526828292356e+02 -3.133937023826453e+02 -3.135347698019019e+02 -3.136758849544115e+02 - -3.138170476993112e+02 -3.139582581314797e+02 -3.140995163841689e+02 -3.142408225083815e+02 -3.143821765079714e+02 - -3.145235782804463e+02 -3.146650277504123e+02 -3.148065250572144e+02 -3.149480703283944e+02 -3.150896634295446e+02 - -3.152313042212708e+02 -3.153729928061792e+02 -3.155147293192109e+02 -3.156565137826469e+02 -3.157983461803634e+02 - -3.159402264552761e+02 -3.160821545730877e+02 -3.162241306316100e+02 -3.163661547129774e+02 -3.165082267045055e+02 - -3.166503465083330e+02 -3.167925142807053e+02 -3.169347301718565e+02 -3.170769940538677e+02 -3.172193057829434e+02 - -3.173616654299331e+02 -3.175040731106142e+02 -3.176465289058318e+02 -3.177890328440690e+02 -3.179315847792938e+02 - -3.180741845934695e+02 -3.182168324550577e+02 -3.183595285351408e+02 -3.185022727287870e+02 -3.186450649049847e+02 - -3.187879051044167e+02 -3.189307934072479e+02 -3.190737298798787e+02 -3.192167145562098e+02 -3.193597473539087e+02 - -3.195028282067584e+02 -3.196459572292360e+02 -3.197891345287240e+02 -3.199323600035334e+02 -3.200756335516368e+02 - -3.202189552787263e+02 -3.203623252990410e+02 -3.205057435532916e+02 -3.206492099607363e+02 -3.207927245283494e+02 - -3.209362873029775e+02 -3.210798984032395e+02 -3.212235579095965e+02 -3.213672656781062e+02 -3.215110215776564e+02 - -3.216548257528610e+02 -3.217986783602123e+02 -3.219425793279964e+02 -3.220865285490494e+02 -3.222305260026159e+02 - -3.223745717228416e+02 -3.225186658770672e+02 -3.226628085862362e+02 -3.228069996525048e+02 -3.229512388959131e+02 - -3.230955265268207e+02 -3.232398627556209e+02 -3.233842474025269e+02 -3.235286802821290e+02 -3.236731615767077e+02 - -3.238176914785998e+02 -3.239622698526831e+02 -3.241068965416273e+02 -3.242515716267282e+02 -3.243962952303619e+02 - -3.245410674006047e+02 -3.246858881442026e+02 -3.248307573768830e+02 -3.249756750377737e+02 -3.251206412506237e+02 - -3.252656561247559e+02 -3.254107195271718e+02 -3.255558313340717e+02 -3.257009917007768e+02 -3.258462007853361e+02 - -3.259914584775946e+02 -3.261367646471811e+02 -3.262821193510638e+02 -3.264275226864755e+02 -3.265729747243638e+02 - -3.267184754961565e+02 -3.268640249014856e+02 -3.270096228564299e+02 -3.271552694746495e+02 -3.273009648690628e+02 - -3.274467089520415e+02 -3.275925016223748e+02 -3.277383429250694e+02 -3.278842329472037e+02 -3.280301717979274e+02 - -3.281761595333842e+02 -3.283221959756238e+02 -3.284682809773962e+02 -3.286144147483458e+02 -3.287605974914733e+02 - -3.289068290263132e+02 -3.290531091681708e+02 -3.291994380988984e+02 -3.293458160115122e+02 -3.294922427771376e+02 - -3.296387182388717e+02 -3.297852424495862e+02 -3.299318155124273e+02 -3.300784375218649e+02 -3.302251085265343e+02 - -3.303718284004092e+02 -3.305185970357408e+02 -3.306654145725511e+02 -3.308122811494171e+02 -3.309591966513669e+02 - -3.311061609508276e+02 -3.312531741233722e+02 -3.314002362831168e+02 -3.315473474952068e+02 -3.316945077733321e+02 - -3.318417169743284e+02 -3.319889749946440e+02 -3.321362820460264e+02 -3.322836383216903e+02 -3.324310436254205e+02 - -3.325784977579187e+02 -3.327260008969810e+02 -3.328735532388732e+02 -3.330211546766479e+02 -3.331688050699581e+02 - -3.333165044480712e+02 -3.334642528918999e+02 -3.336120505193238e+02 -3.337598974031960e+02 -3.339077933992973e+02 - -3.340557383761620e+02 -3.342037324704123e+02 -3.343517758263186e+02 -3.344998683506588e+02 -3.346480099317598e+02 - -3.347962006216366e+02 -3.349444405123485e+02 -3.350927296924430e+02 -3.352410681997821e+02 -3.353894558729969e+02 - -3.355378925848257e+02 -3.356863785436656e+02 -3.358349139484366e+02 -3.359834986244929e+02 -3.361321323883865e+02 - -3.362808153950241e+02 -3.364295478191028e+02 -3.365783295761255e+02 -3.367271605486342e+02 -3.368760407465185e+02 - -3.370249702279324e+02 -3.371739491167402e+02 -3.373229774932894e+02 -3.374720551981496e+02 -3.376211820935624e+02 - -3.377703583682330e+02 -3.379195842066430e+02 -3.380688594499171e+02 -3.382181839217990e+02 -3.383675577198622e+02 - -3.385169809890102e+02 -3.386664537896355e+02 -3.388159761271593e+02 -3.389655478716282e+02 -3.391151689236262e+02 - -3.392648394412631e+02 -3.394145595795439e+02 -3.395643292235305e+02 -3.397141482525620e+02 -3.398640167930273e+02 - -3.400139349724158e+02 -3.401639026755699e+02 -3.403139197760493e+02 -3.404639863449279e+02 -3.406141024957107e+02 - -3.407642683141136e+02 -3.409144838324194e+02 -3.410647488969659e+02 -3.412150633828331e+02 -3.413654274660125e+02 - -3.415158413252182e+02 -3.416663048491409e+02 -3.418168178992377e+02 -3.419673805180489e+02 -3.421179927901010e+02 - -3.422686547867838e+02 -3.424193665441726e+02 -3.425701279702224e+02 -3.427209389917095e+02 -3.428717997388184e+02 - -3.430227103286458e+02 -3.431736706225328e+02 -3.433246804902436e+02 -3.434757400909901e+02 -3.436268495884827e+02 - -3.437780088749811e+02 -3.439292178162220e+02 -3.440804764432992e+02 -3.442317848369893e+02 -3.443831431114438e+02 - -3.445345513395477e+02 -3.446860093957458e+02 -3.448375171638715e+02 -3.449890747637513e+02 -3.451406823209921e+02 - -3.452923397483303e+02 -3.454440469383874e+02 -3.455958039161959e+02 -3.457476107544265e+02 -3.458994675838882e+02 - -3.460513744837874e+02 -3.462033312687789e+02 -3.463553377809081e+02 -3.465073942363314e+02 -3.466595008454457e+02 - -3.468116574214998e+02 -3.469638637732855e+02 -3.471161200889126e+02 -3.472684265676839e+02 -3.474207830743587e+02 - -3.475731894457752e+02 -3.477256457416318e+02 -3.478781520698926e+02 -3.480307085087305e+02 -3.481833150905516e+02 - -3.483359716944890e+02 -3.484886782275422e+02 -3.486414348614480e+02 -3.487942417546251e+02 -3.489470987474849e+02 - -3.491000056682386e+02 -3.492529626143035e+02 -3.494059697303613e+02 -3.495590270809477e+02 -3.497121346735108e+02 - -3.498652923672977e+02 -3.500185000578142e+02 -3.501717579338015e+02 -3.503250661735650e+02 -3.504784246204307e+02 - -3.506318331106053e+02 -3.507852917867942e+02 -3.509388008057230e+02 -3.510923600737020e+02 -3.512459694729739e+02 - -3.513996290399252e+02 -3.515533388531561e+02 -3.517070990059733e+02 -3.518609095547224e+02 -3.520147703931951e+02 - -3.521686814254426e+02 -3.523226427591028e+02 -3.524766545004363e+02 -3.526307165466042e+02 -3.527848288024159e+02 - -3.529389914123712e+02 -3.530932045168612e+02 -3.532474680001527e+02 -3.534017817301934e+02 -3.535561457657783e+02 - -3.537105602073667e+02 -3.538650251312291e+02 -3.540195405716707e+02 -3.541741064193253e+02 -3.543287225825957e+02 - -3.544833891846346e+02 -3.546381063473606e+02 -3.547928739730113e+02 -3.549476919508821e+02 -3.551025603381796e+02 - -3.552574792297605e+02 -3.554124487031720e+02 -3.555674687945711e+02 -3.557225393918643e+02 -3.558776604020463e+02 - -3.560328319567154e+02 -3.561880541805177e+02 -3.563433269456882e+02 -3.564986501330765e+02 -3.566540239103983e+02 - -3.568094484429710e+02 -3.569649235996524e+02 -3.571204492251743e+02 -3.572760253642205e+02 -3.574316521198430e+02 - -3.575873296286128e+02 -3.577430579645793e+02 -3.578988369181832e+02 -3.580546663122107e+02 -3.582105463824335e+02 - -3.583664773634632e+02 -3.585224590722860e+02 -3.586784912980774e+02 -3.588345741363943e+02 -3.589907077420278e+02 - -3.591468922003262e+02 -3.593031275347307e+02 -3.594594135904955e+02 -3.596157502414973e+02 -3.597721376542854e+02 - -3.599285759961583e+02 -3.600850651447366e+02 -3.602416049709182e+02 -3.603981956083848e+02 -3.605548371920680e+02 - -3.607115295991184e+02 -3.608682726958015e+02 -3.610250665626241e+02 -3.611819113190277e+02 -3.613388070259530e+02 - -3.614957536972620e+02 -3.616527512170044e+02 -3.618097994957786e+02 -3.619668986801910e+02 -3.621240489112448e+02 - -3.622812500715253e+02 -3.624385020268735e+02 -3.625958048345691e+02 -3.627531585959862e+02 -3.629105633974360e+02 - -3.630680192762735e+02 -3.632255260890885e+02 -3.633830837209757e+02 -3.635406923518125e+02 -3.636983521500620e+02 - -3.638560629437486e+02 -3.640138245654421e+02 -3.641716372063300e+02 -3.643295010634408e+02 -3.644874159985495e+02 - -3.646453818454157e+02 -3.648033986609884e+02 -3.649614665547653e+02 -3.651195856232492e+02 -3.652777559169987e+02 - -3.654359773157880e+02 -3.655942497193339e+02 -3.657525732779061e+02 -3.659109481367831e+02 -3.660693741707290e+02 - -3.662278512419212e+02 -3.663863794327037e+02 -3.665449588644519e+02 -3.667035895945005e+02 -3.668622716357800e+02 - -3.670210048876434e+02 -3.671797892763418e+02 -3.673386249492966e+02 -3.674975120447079e+02 -3.676564504427247e+02 - -3.678154400208724e+02 -3.679744809042344e+02 -3.681335732252156e+02 -3.682927168979475e+02 -3.684519118222935e+02 - -3.686111580593141e+02 -3.687704557033292e+02 -3.689298048205014e+02 -3.690892054329191e+02 -3.692486574145354e+02 - -3.694081606700869e+02 -3.695677153755793e+02 -3.697273216946131e+02 -3.698869794698993e+02 -3.700466885253786e+02 - -3.702064489307988e+02 -3.703662608017668e+02 -3.705261241915196e+02 -3.706860391012269e+02 -3.708460053861607e+02 - -3.710060229388483e+02 -3.711660919467376e+02 -3.713262125796104e+02 -3.714863846416646e+02 -3.716466079328989e+02 - -3.718068826020972e+02 -3.719672088201144e+02 -3.721275864973102e+02 -3.722880155098476e+02 -3.724484958575989e+02 - -3.726090275883345e+02 -3.727696108177087e+02 -3.729302456171431e+02 -3.730909318132427e+02 -3.732516692484294e+02 - -3.734124580732086e+02 -3.735732984485285e+02 -3.737341902690280e+02 -3.738951333966488e+02 -3.740561278288502e+02 - -3.742171736164895e+02 -3.743782708884933e+02 -3.745394197314636e+02 -3.747006199846337e+02 -3.748618715145197e+02 - -3.750231745441332e+02 -3.751845292967938e+02 -3.753459356405600e+02 -3.755073934398666e+02 -3.756689028999150e+02 - -3.758304642401999e+02 -3.759920773966298e+02 -3.761537422764503e+02 -3.763154589558405e+02 -3.764772275566993e+02 - -3.766390482148706e+02 -3.768009210261144e+02 -3.769628459119104e+02 -3.771248228066682e+02 -3.772868518707951e+02 - -3.774489332703654e+02 -3.776110669681248e+02 -3.777732529036114e+02 -3.779354911268638e+02 -3.780977817328078e+02 - -3.782601248854201e+02 -3.784225207068740e+02 -3.785849690830777e+02 -3.787474699201715e+02 -3.789100234414875e+02 - -3.790726298611719e+02 -3.792352890394379e+02 -3.793980008403989e+02 -3.795607654977005e+02 -3.797235832511840e+02 - -3.798864539959452e+02 -3.800493775732837e+02 -3.802123539540593e+02 -3.803753831256555e+02 -3.805384650119894e+02 - -3.807015994897982e+02 -3.808647863105625e+02 -3.810280252452890e+02 -3.811913162683451e+02 -3.813546593533040e+02 - -3.815180542672069e+02 -3.816815007606327e+02 -3.818449987248433e+02 -3.820085480876401e+02 -3.821721487823003e+02 - -3.823358007029311e+02 -3.824995035814819e+02 -3.826632571794644e+02 -3.828270615387958e+02 -3.829909166775790e+02 - -3.831548222382581e+02 -3.833187778788636e+02 -3.834827836954302e+02 -3.836468397830658e+02 -3.838109457951704e+02 - -3.839751013606573e+02 -3.841393064522010e+02 -3.843035610985582e+02 -3.844678652090594e+02 -3.846322186342679e+02 - -3.847966211091070e+02 -3.849610723938522e+02 -3.851255724658270e+02 -3.852901213276589e+02 -3.854547188661456e+02 - -3.856193651039130e+02 -3.857840607227301e+02 -3.859488064858506e+02 -3.861136028233281e+02 -3.862784501283425e+02 - -3.864433489797775e+02 -3.866083000045549e+02 -3.867733038360474e+02 -3.869383610689728e+02 -3.871034721369783e+02 - -3.872686374886131e+02 -3.874338577931016e+02 -3.875991337168530e+02 -3.877644656943423e+02 -3.879298541437876e+02 - -3.880952996503134e+02 -3.882608028487801e+02 -3.884263644060860e+02 -3.885919849359946e+02 -3.887576648076931e+02 - -3.889234044110585e+02 -3.890892044633024e+02 -3.892550656828005e+02 -3.894209884652491e+02 -3.895869732058733e+02 - -3.897530206206903e+02 -3.899191314265681e+02 -3.900853060229904e+02 -3.902515447813749e+02 -3.904178482782592e+02 - -3.905842171832736e+02 -3.907506523333024e+02 -3.909171542011455e+02 -3.910837216360146e+02 -3.912503530200719e+02 - -3.914170464908692e+02 -3.915838000867597e+02 -3.917506116939103e+02 -3.919174791997058e+02 -3.920844006485843e+02 - -3.922513741233318e+02 -3.924183977030698e+02 -3.925854694180132e+02 -3.927525871064144e+02 -3.929197486330507e+02 - -3.930869521607613e+02 -3.932541958513385e+02 -3.934214775643266e+02 -3.935887951493436e+02 -3.937561467185514e+02 - -3.939235303999417e+02 -3.940909441222876e+02 -3.942583857858931e+02 -3.944258533764072e+02 -3.945933449213566e+02 - -3.947608585304349e+02 -3.949283922804248e+02 -3.950959440342958e+02 -3.952635116636291e+02 -3.954310932882606e+02 - -3.955986870327357e+02 -3.957662907921835e+02 -3.959339024467546e+02 -3.961015200461023e+02 -3.962691416638499e+02 - 1.070000000000000e-01 1.069682658750319e-01 1.069365186252596e-01 1.069047582677665e-01 1.068729848196356e-01 - 1.068411982979503e-01 1.068093987197937e-01 1.067775861022493e-01 1.067457604624000e-01 1.067139218173294e-01 - 1.066820701841205e-01 1.066502055798566e-01 1.066183280216209e-01 1.065864375264968e-01 1.065545341115673e-01 - 1.065226177939159e-01 1.064906885906257e-01 1.064587465187799e-01 1.064267915954618e-01 1.063948238377547e-01 - 1.063628432627417e-01 1.063308498875062e-01 1.062988437291314e-01 1.062668248047005e-01 1.062347931312967e-01 - 1.062027487260033e-01 1.061706916059036e-01 1.061386217880807e-01 1.061065392896180e-01 1.060744441275985e-01 - 1.060423363191058e-01 1.060102158812228e-01 1.059780828310330e-01 1.059459371856195e-01 1.059137789620655e-01 - 1.058816081774544e-01 1.058494248488693e-01 1.058172289933936e-01 1.057850206281103e-01 1.057527997701029e-01 - 1.057205664364545e-01 1.056883206442483e-01 1.056560624105677e-01 1.056237917524958e-01 1.055915086871159e-01 - 1.055592132315112e-01 1.055269054027650e-01 1.054945852179606e-01 1.054622526941811e-01 1.054299078485097e-01 - 1.053975506980299e-01 1.053651812598247e-01 1.053327995509774e-01 1.053004055885713e-01 1.052679993896897e-01 - 1.052355809714157e-01 1.052031503508325e-01 1.051707075450236e-01 1.051382525710719e-01 1.051057854460610e-01 - 1.050733061870738e-01 1.050408148111938e-01 1.050083113355042e-01 1.049757957770881e-01 1.049432681530288e-01 - 1.049107284804097e-01 1.048781767763138e-01 1.048456130578245e-01 1.048130373420250e-01 1.047804496459986e-01 - 1.047478499868284e-01 1.047152383815977e-01 1.046826148473898e-01 1.046499794012880e-01 1.046173320603753e-01 - 1.045846728417352e-01 1.045520017624508e-01 1.045193188396054e-01 1.044866240902822e-01 1.044539175315645e-01 - 1.044211991805354e-01 1.043884690542783e-01 1.043557271698764e-01 1.043229735444130e-01 1.042902081949712e-01 - 1.042574311386343e-01 1.042246423924855e-01 1.041918419736082e-01 1.041590298990855e-01 1.041262061860007e-01 - 1.040933708514369e-01 1.040605239124776e-01 1.040276653862059e-01 1.039947952897050e-01 1.039619136400582e-01 - 1.039290204543487e-01 1.038961157496599e-01 1.038631995430748e-01 1.038302718516768e-01 1.037973326925491e-01 - 1.037643820827749e-01 1.037314200394375e-01 1.036984465796201e-01 1.036654617204061e-01 1.036324654788785e-01 - 1.035994578721206e-01 1.035664389172158e-01 1.035334086312472e-01 1.035003670312980e-01 1.034673141344516e-01 - 1.034342499577912e-01 1.034011745183999e-01 1.033680878333612e-01 1.033349899197580e-01 1.033018807946739e-01 - 1.032687604751918e-01 1.032356289783953e-01 1.032024863213673e-01 1.031693325211913e-01 1.031361675949504e-01 - 1.031029915597278e-01 1.030698044326069e-01 1.030366062306709e-01 1.030033969710030e-01 1.029701766706864e-01 - 1.029369453468044e-01 1.029037030164402e-01 1.028704496966771e-01 1.028371854045984e-01 1.028039101572872e-01 - 1.027706239718267e-01 1.027373268653004e-01 1.027040188547913e-01 1.026706999573827e-01 1.026373701901580e-01 - 1.026040295702002e-01 1.025706781145926e-01 1.025373158404186e-01 1.025039427647613e-01 1.024705589047040e-01 - 1.024371642773299e-01 1.024037588997223e-01 1.023703427889643e-01 1.023369159621393e-01 1.023034784363305e-01 - 1.022700302286212e-01 1.022365713560945e-01 1.022031018358337e-01 1.021696216849221e-01 1.021361309204428e-01 - 1.021026295594792e-01 1.020691176191145e-01 1.020355951164319e-01 1.020020620685147e-01 1.019685184924461e-01 - 1.019349644053093e-01 1.019013998241876e-01 1.018678247661643e-01 1.018342392483225e-01 1.018006432877456e-01 - 1.017670369015167e-01 1.017334201067191e-01 1.016997929204361e-01 1.016661553597508e-01 1.016325074417466e-01 - 1.015988491835066e-01 1.015651806021141e-01 1.015315017146524e-01 1.014978125382047e-01 1.014641130898543e-01 - 1.014304033866843e-01 1.013966834457780e-01 1.013629532842187e-01 1.013292129190896e-01 1.012954623674739e-01 - 1.012617016464549e-01 1.012279307731159e-01 1.011941497645400e-01 1.011603586378106e-01 1.011265574100107e-01 - 1.010927460982239e-01 1.010589247195331e-01 1.010250932910217e-01 1.009912518297729e-01 1.009574003528701e-01 - 1.009235388773963e-01 1.008896674204348e-01 1.008557859990690e-01 1.008218946303820e-01 1.007879933314571e-01 - 1.007540821193774e-01 1.007201610112264e-01 1.006862300240872e-01 1.006522891750429e-01 1.006183384811770e-01 - 1.005843779595726e-01 1.005504076273130e-01 1.005164275014813e-01 1.004824375991610e-01 1.004484379374351e-01 - 1.004144285333870e-01 1.003804094040999e-01 1.003463805666569e-01 1.003123420381414e-01 1.002782938356367e-01 - 1.002442359762259e-01 1.002101684769922e-01 1.001760913550190e-01 1.001420046273895e-01 1.001079083111869e-01 - 1.000738024234945e-01 1.000396869813954e-01 1.000055620019730e-01 9.997142750231042e-02 9.993728349949102e-02 - 9.990313001059796e-02 9.986896705271456e-02 9.983479464292398e-02 9.980061279830947e-02 9.976642153595434e-02 - 9.973222087294174e-02 9.969801082635499e-02 9.966379141327726e-02 9.962956265079187e-02 9.959532455598200e-02 - 9.956107714593093e-02 9.952682043772192e-02 9.949255444843813e-02 9.945827919516288e-02 9.942399469497937e-02 - 9.938970096497086e-02 9.935539802222057e-02 9.932108588381178e-02 9.928676456682770e-02 9.925243408835159e-02 - 9.921809446546671e-02 9.918374571525623e-02 9.914938785480347e-02 9.911502090119163e-02 9.908064487150398e-02 - 9.904625978282372e-02 9.901186565223413e-02 9.897746249681845e-02 9.894305033365988e-02 9.890862917984172e-02 - 9.887419905244718e-02 9.883975996855951e-02 9.880531194526194e-02 9.877085499963774e-02 9.873638914877009e-02 - 9.870191440974231e-02 9.866743079963761e-02 9.863293833553920e-02 9.859843703453038e-02 9.856392691369432e-02 - 9.852940799011436e-02 9.849488028087365e-02 9.846034380305550e-02 9.842579857374308e-02 9.839124461001970e-02 - 9.835668192896858e-02 9.832211054767293e-02 9.828753048321603e-02 9.825294175268109e-02 9.821834437315143e-02 - 9.818373836171017e-02 9.814912373544066e-02 9.811450051142606e-02 9.807986870674969e-02 9.804522833849474e-02 - 9.801057942374444e-02 9.797592197958208e-02 9.794125602309085e-02 9.790658157135405e-02 9.787189864145487e-02 - 9.783720725047659e-02 9.780250741550246e-02 9.776779915361565e-02 9.773308248189948e-02 9.769835741743713e-02 - 9.766362397731190e-02 9.762888217860698e-02 9.759413203840565e-02 9.755937357379113e-02 9.752460680184671e-02 - 9.748983173965557e-02 9.745504840430097e-02 9.742025681286617e-02 9.738545698243438e-02 9.735064893008888e-02 - 9.731583267291286e-02 9.728100822798963e-02 9.724617561240236e-02 9.721133484323437e-02 9.717648593756885e-02 - 9.714162891248904e-02 9.710676378507821e-02 9.707189057241956e-02 9.703700929159639e-02 9.700211995969188e-02 - 9.696722259378933e-02 9.693231721097194e-02 9.689740382832296e-02 9.686248246292567e-02 9.682755313186324e-02 - 9.679261585221899e-02 9.675767064107609e-02 9.672271751551782e-02 9.668775649262741e-02 9.665278758948814e-02 - 9.661781082318323e-02 9.658282621079586e-02 9.654783376940938e-02 9.651283351610694e-02 9.647782546797186e-02 - 9.644280964208730e-02 9.640778605553657e-02 9.637275472540287e-02 9.633771566876947e-02 9.630266890271960e-02 - 9.626761444433649e-02 9.623255231070338e-02 9.619748251890356e-02 9.616240508602021e-02 9.612732002913663e-02 - 9.609222736533599e-02 9.605712711170160e-02 9.602201928531666e-02 9.598690390326445e-02 9.595178098262819e-02 - 9.591665054049109e-02 9.588151259393644e-02 9.584636716004745e-02 9.581121425590743e-02 9.577605389859950e-02 - 9.574088610520702e-02 9.570571089281314e-02 9.567052827850117e-02 9.563533827935435e-02 9.560014091245586e-02 - 9.556493619488900e-02 9.552972414373699e-02 9.549450477608308e-02 9.545927810901049e-02 9.542404415960248e-02 - 9.538880294494230e-02 9.535355448211316e-02 9.531829878819836e-02 9.528303588028109e-02 9.524776577544461e-02 - 9.521248849077216e-02 9.517720404334697e-02 9.514191245025229e-02 9.510661372857139e-02 9.507130789538748e-02 - 9.503599496778380e-02 9.500067496284360e-02 9.496534789765015e-02 9.493001378928664e-02 9.489467265483635e-02 - 9.485932451138250e-02 9.482396937600834e-02 9.478860726579713e-02 9.475323819783207e-02 9.471786218919645e-02 - 9.468247925697347e-02 9.464708941824643e-02 9.461169269009850e-02 9.457628908961296e-02 9.454087863387305e-02 - 9.450546133996199e-02 9.447003722496307e-02 9.443460630595948e-02 9.439916860003450e-02 9.436372412427137e-02 - 9.432827289575330e-02 9.429281493156354e-02 9.425735024878537e-02 9.422187886450198e-02 9.418640079579664e-02 - 9.415091605975259e-02 9.411542467345307e-02 9.407992665398136e-02 9.404442201842063e-02 9.400891078385415e-02 - 9.397339296736518e-02 9.393786858603695e-02 9.390233765695270e-02 9.386680019719568e-02 9.383125622384911e-02 - 9.379570575399625e-02 9.376014880472036e-02 9.372458539310466e-02 9.368901553623238e-02 9.365343925118678e-02 - 9.361785655505112e-02 9.358226746490858e-02 9.354667199784246e-02 9.351107017093598e-02 9.347546200127239e-02 - 9.343984750593494e-02 9.340422670200685e-02 9.336859960657137e-02 9.333296623671174e-02 9.329732660951121e-02 - 9.326168074205300e-02 9.322602865142039e-02 9.319037035469660e-02 9.315470586896488e-02 9.311903521130845e-02 - 9.308335839881057e-02 9.304767544855448e-02 9.301198637762342e-02 9.297629120310064e-02 9.294058994206936e-02 - 9.290488261161287e-02 9.286916922881436e-02 9.283344981075708e-02 9.279772437452428e-02 9.276199293719922e-02 - 9.272625551586512e-02 9.269051212760523e-02 9.265476278950278e-02 9.261900751864104e-02 9.258324633210324e-02 - 9.254747924697261e-02 9.251170628033240e-02 9.247592744926583e-02 9.244014277085617e-02 9.240435226218666e-02 - 9.236855594034055e-02 9.233275382240104e-02 9.229694592545142e-02 9.226113226657491e-02 9.222531286285476e-02 - 9.218948773137420e-02 9.215365688921646e-02 9.211782035346482e-02 9.208197814120249e-02 9.204613026951274e-02 - 9.201027675547878e-02 9.197441761618388e-02 9.193855286871126e-02 9.190268253014419e-02 9.186680661756588e-02 - 9.183092514805957e-02 9.179503813870854e-02 9.175914560659600e-02 9.172324756880521e-02 9.168734404241941e-02 - 9.165143504452181e-02 9.161552059219569e-02 9.157960070252427e-02 9.154367539259080e-02 9.150774467947854e-02 - 9.147180858027071e-02 9.143586711205055e-02 9.139992029190132e-02 9.136396813690625e-02 9.132801066414858e-02 - 9.129204789071155e-02 9.125607983367841e-02 9.122010651013239e-02 9.118412793715676e-02 9.114814413183472e-02 - 9.111215511124955e-02 9.107616089248448e-02 9.104016149262276e-02 9.100415692874760e-02 9.096814721794225e-02 - 9.093213237728998e-02 9.089611242387401e-02 9.086008737477760e-02 9.082405724708396e-02 9.078802205787638e-02 - 9.075198182423806e-02 9.071593656325225e-02 9.067988629200220e-02 9.064383102757116e-02 9.060777078704237e-02 - 9.057170558749904e-02 9.053563544602444e-02 9.049956037970180e-02 9.046348040561442e-02 9.042739554084545e-02 - 9.039130580247817e-02 9.035521120759583e-02 9.031911177328168e-02 9.028300751661894e-02 9.024689845469086e-02 - 9.021078460458068e-02 9.017466598337168e-02 9.013854260814702e-02 9.010241449599002e-02 9.006628166398388e-02 - 9.003014412921184e-02 8.999400190875718e-02 8.995785501970310e-02 8.992170347913286e-02 8.988554730412972e-02 - 8.984938651177689e-02 8.981322111915761e-02 8.977705114335516e-02 8.974087660145275e-02 8.970469751053363e-02 - 8.966851388768103e-02 8.963232574997822e-02 8.959613311450842e-02 8.955993599835491e-02 8.952373441860086e-02 - 8.948752839232957e-02 8.945131793662427e-02 8.941510306856817e-02 8.937888380524456e-02 8.934266016373665e-02 - 8.930643216112769e-02 8.927019981450095e-02 8.923396314093963e-02 8.919772215752698e-02 8.916147688134625e-02 - 8.912522732948071e-02 8.908897351901354e-02 8.905271546702803e-02 8.901645319060740e-02 8.898018670683491e-02 - 8.894391603279379e-02 8.890764118556729e-02 8.887136218223864e-02 8.883507903989107e-02 8.879879177560786e-02 - 8.876250040647221e-02 8.872620494956741e-02 8.868990542197666e-02 8.865360184078323e-02 8.861729422307035e-02 - 8.858098258592126e-02 8.854466694641919e-02 8.850834732164740e-02 8.847202372868912e-02 8.843569618462761e-02 - 8.839936470654611e-02 8.836302931152785e-02 8.832669001665606e-02 8.829034683901400e-02 8.825399979568492e-02 - 8.821764890375206e-02 8.818129418029862e-02 8.814493564240788e-02 8.810857330716310e-02 8.807220719164749e-02 - 8.803583731294432e-02 8.799946368813677e-02 8.796308633430815e-02 8.792670526854167e-02 8.789032050792057e-02 - 8.785393206952812e-02 8.781753997044753e-02 8.778114422776205e-02 8.774474485855495e-02 8.770834187990943e-02 - 8.767193530890875e-02 8.763552516263615e-02 8.759911145817488e-02 8.756269421260816e-02 8.752627344301928e-02 - 8.748984916649143e-02 8.745342140010788e-02 8.741699016095185e-02 8.738055546610660e-02 8.734411733265539e-02 - 8.730767577768141e-02 8.727123081826793e-02 8.723478247149821e-02 8.719833075445547e-02 8.716187568422298e-02 - 8.712541727788393e-02 8.708895555252159e-02 8.705249052521923e-02 8.701602221306004e-02 8.697955063312730e-02 - 8.694307580250422e-02 8.690659773827408e-02 8.687011645752010e-02 8.683363197732555e-02 8.679714431477362e-02 - 8.676065348694757e-02 8.672415951093065e-02 8.668766240380611e-02 8.665116218265721e-02 8.661465886456714e-02 - 8.657815246661917e-02 8.654164300589655e-02 8.650513049948251e-02 8.646861496446030e-02 8.643209641791315e-02 - 8.639557487692430e-02 8.635905035857701e-02 8.632252287995451e-02 8.628599245814005e-02 8.624945911021686e-02 - 8.621292285326819e-02 8.617638370437727e-02 8.613984168062737e-02 8.610329679910171e-02 8.606674907688353e-02 - 8.603019853105608e-02 8.599364517870259e-02 8.595708903690633e-02 8.592053012275053e-02 8.588396845331842e-02 - 8.584740404569323e-02 8.581083691695822e-02 8.577426708419665e-02 8.573769456449173e-02 8.570111937492672e-02 - 8.566454153258486e-02 8.562796105454940e-02 8.559137795790356e-02 8.555479225973059e-02 8.551820397711374e-02 - 8.548161312713624e-02 8.544501972688134e-02 8.540842379343229e-02 8.537182534387232e-02 8.533522439528468e-02 - 8.529862096475260e-02 8.526201506935933e-02 8.522540672618811e-02 8.518879595232219e-02 8.515218276484479e-02 - 8.511556718083918e-02 8.507894921738858e-02 8.504232889157626e-02 8.500570622048544e-02 8.496908122119934e-02 - 8.493245391080124e-02 8.489582430637438e-02 8.485919242500198e-02 8.482255828376728e-02 8.478592189975355e-02 - 8.474928329004400e-02 8.471264247172190e-02 8.467599946187047e-02 8.463935427757298e-02 8.460270693591267e-02 - 8.456605745397273e-02 8.452940584883646e-02 8.449275213758706e-02 8.445609633730780e-02 8.441943846508193e-02 - 8.438277853799266e-02 8.434611657312326e-02 8.430945258755695e-02 8.427278659837699e-02 8.423611862266661e-02 - 8.419944867750905e-02 8.416277677998756e-02 8.412610294718537e-02 8.408942719618576e-02 8.405274954407191e-02 - 8.401607000792713e-02 8.397938860483460e-02 8.394270535187759e-02 8.390602026613936e-02 8.386933336470312e-02 - 8.383264466465212e-02 8.379595418306962e-02 8.375926193703884e-02 8.372256794364304e-02 8.368587221996546e-02 - 8.364917478308932e-02 8.361247565009787e-02 8.357577483807437e-02 8.353907236410206e-02 8.350236824526415e-02 - 8.346566249864391e-02 8.342895514132459e-02 8.339224619038943e-02 8.335553566292164e-02 8.331882357600448e-02 - 8.328210994672121e-02 8.324539479215504e-02 8.320867812938924e-02 8.317195997550704e-02 8.313524034759166e-02 - 8.309851926272641e-02 8.306179673799445e-02 8.302507279047908e-02 8.298834743726349e-02 8.295162069543097e-02 - 8.291489258206473e-02 8.287816311424805e-02 8.284143230906414e-02 8.280470018359624e-02 8.276796675492762e-02 - 8.273123204014149e-02 8.269449605632111e-02 8.265775882054972e-02 8.262102034991055e-02 8.258428066148686e-02 - 8.254753977236187e-02 8.251079769961885e-02 8.247405446034105e-02 8.243731007161166e-02 8.240056455051395e-02 - 8.236381791413117e-02 8.232707017954656e-02 8.229032136384334e-02 8.225357148410478e-02 8.221682055741411e-02 - 8.218006860085458e-02 8.214331563150944e-02 8.210656166646188e-02 8.206980672279519e-02 8.203305081759260e-02 - 8.199629396793737e-02 8.195953619091272e-02 8.192277750360188e-02 8.188601792308813e-02 8.184925746645468e-02 - 8.181249615078479e-02 8.177573399316168e-02 8.173897101066861e-02 8.170220722038883e-02 8.166544263940556e-02 - 8.162867728480205e-02 8.159191117366156e-02 8.155514432306732e-02 8.151837675010254e-02 8.148160847185050e-02 - 8.144483950539445e-02 8.140806986781760e-02 8.137129957620320e-02 8.133452864763450e-02 8.129775709919475e-02 - 8.126098494796720e-02 8.122421221103504e-02 8.118743890548155e-02 8.115066504838998e-02 8.111389065684355e-02 - 8.107711574792552e-02 8.104034033871912e-02 8.100356444630759e-02 8.096678808777417e-02 8.093001128020215e-02 - 8.089323404067471e-02 8.085645638627510e-02 8.081967833408658e-02 8.078289990119239e-02 8.074612110467576e-02 - 8.070934196161997e-02 8.067256248910820e-02 8.063578270422375e-02 8.059900262404983e-02 8.056222226566968e-02 - 8.052544164616657e-02 8.048866078262369e-02 8.045187969212433e-02 8.041509839175172e-02 8.037831689858911e-02 - 8.034153522971973e-02 8.030475340222681e-02 8.026797143319361e-02 8.023118933970336e-02 8.019440713883932e-02 - 8.015762484768471e-02 8.012084248332278e-02 8.008406006283678e-02 8.004727760330994e-02 8.001049512182555e-02 - 7.997371263546676e-02 7.993693016131688e-02 7.990014771645915e-02 7.986336531797676e-02 7.982658298295300e-02 - 7.978980072847111e-02 7.975301857161432e-02 7.971623652946590e-02 7.967945461910902e-02 7.964267285762699e-02 - 7.960589126210302e-02 7.956910984962039e-02 7.953232863726228e-02 7.949554764211197e-02 7.945876688125271e-02 - 7.942198637176773e-02 7.938520613074028e-02 7.934842617525358e-02 7.931164652239087e-02 7.927486718923542e-02 - 7.923808819287045e-02 7.920130955037924e-02 7.916453127884499e-02 7.912775339535094e-02 7.909097591698037e-02 - 7.905419886081648e-02 7.901742224394255e-02 7.898064608344180e-02 7.894387039639746e-02 7.890709519989279e-02 - 7.887032051101103e-02 7.883354634683543e-02 7.879677272444922e-02 7.875999966093565e-02 7.872322717337794e-02 - 7.868645527885937e-02 7.864968399446313e-02 7.861291333727252e-02 7.857614332437074e-02 7.853937397284104e-02 - 7.850260529976670e-02 7.846583732223091e-02 7.842907005731693e-02 7.839230352210801e-02 7.835553773368738e-02 - 7.831877270913830e-02 7.828200846554398e-02 7.824524501998768e-02 7.820848238955266e-02 7.817172059132216e-02 - 7.813495964237939e-02 7.809819955980761e-02 7.806144036069006e-02 7.802468206210998e-02 7.798792468115062e-02 - 7.795116823489523e-02 7.791441274042703e-02 7.787765821482928e-02 7.784090467518520e-02 7.780415213857807e-02 - 7.776740062209107e-02 7.773065014280750e-02 7.769390071781057e-02 7.765715236418354e-02 7.762040509900967e-02 - 7.758365893937215e-02 7.754691390235426e-02 7.751017000503922e-02 7.747342726451029e-02 7.743668569785070e-02 - 7.739994532214370e-02 7.736320615447252e-02 7.732646821192042e-02 7.728973151157063e-02 7.725299607050642e-02 - 7.721626190581099e-02 7.717952903456758e-02 7.714279747385946e-02 7.710606724076986e-02 7.706933835238206e-02 - 7.703261082577922e-02 7.699588467804465e-02 7.695915992626157e-02 7.692243658751323e-02 7.688571467888285e-02 - 7.684899421745368e-02 7.681227522030898e-02 7.677555770453198e-02 7.673884168720593e-02 7.670212718541405e-02 - 7.666541421623961e-02 7.662870279676583e-02 7.659199294407595e-02 7.655528467525324e-02 7.651857800738091e-02 - 7.648187295754222e-02 7.644516954282041e-02 7.640846778029871e-02 7.637176768706039e-02 7.633506928018867e-02 - 7.629837257676678e-02 7.626167759387799e-02 7.622498434860552e-02 7.618829285803264e-02 7.615160313924255e-02 - 7.611491520931853e-02 7.607822908534380e-02 7.604154478440163e-02 7.600486232357523e-02 7.596818171994783e-02 - 7.593150299060271e-02 7.589482615262309e-02 7.585815122309225e-02 7.582147821909338e-02 7.578480715770973e-02 - 7.574813805602458e-02 7.571147093112113e-02 7.567480580008265e-02 7.563814267999236e-02 7.560148158793352e-02 - 7.556482254098935e-02 7.552816555624312e-02 7.549151065077807e-02 7.545485784167741e-02 7.541820714602442e-02 - 7.538155858090231e-02 7.534491216339434e-02 7.530826791058375e-02 7.527162583955378e-02 7.523498596738766e-02 - 7.519834831116866e-02 7.516171288797999e-02 7.512507971490495e-02 7.508844880902671e-02 7.505182018742854e-02 - 7.501519386719367e-02 7.497856986540538e-02 7.494194819914687e-02 7.490532888550142e-02 7.486871194155223e-02 - 7.483209738438257e-02 7.479548523107570e-02 7.475887549871482e-02 7.472226820438319e-02 7.468566336516404e-02 - 7.464906099814063e-02 7.461246112039621e-02 7.457586374901400e-02 7.453926890107723e-02 7.450267659366919e-02 - 7.446608684387307e-02 7.442949966877216e-02 7.439291508544965e-02 7.435633311098883e-02 7.431975376247291e-02 - 7.428317705698513e-02 7.424660301160878e-02 7.421003164342704e-02 7.417346296952319e-02 7.413689700698045e-02 - 7.410033377288210e-02 7.406377328431132e-02 7.402721555835140e-02 7.399066061208556e-02 7.395410846259706e-02 - 7.391755912696915e-02 7.388101262228504e-02 7.384446896562798e-02 7.380792817408122e-02 7.377139026472800e-02 - 7.373485525465158e-02 7.369832316093516e-02 7.366179400066203e-02 7.362526779091538e-02 7.358874454877849e-02 - 7.355222429133459e-02 7.351570703566694e-02 7.347919279885876e-02 7.344268159799329e-02 7.340617345015378e-02 - 7.336966837242348e-02 7.333316638188561e-02 7.329666749562345e-02 7.326017173072021e-02 7.322367910425913e-02 - 7.318718963332346e-02 7.315070333499644e-02 7.311422022636133e-02 7.307774032450136e-02 7.304126364649975e-02 - 7.300479020943977e-02 7.296832003040465e-02 7.293185312647765e-02 7.289538951474199e-02 7.285892921228092e-02 - 7.282247223617767e-02 7.278601860351550e-02 7.274956833137766e-02 7.271312143684736e-02 7.267667793700786e-02 - 7.264023784894239e-02 7.260380118973422e-02 7.256736797646657e-02 7.253093822622268e-02 7.249451195608582e-02 - 7.245808918313920e-02 7.242166992446607e-02 7.238525419714967e-02 7.234884201827325e-02 7.231243340492007e-02 - 7.227602837417331e-02 7.223962694311627e-02 7.220322912883217e-02 7.216683494840427e-02 7.213044441891579e-02 - 7.209405755744998e-02 7.205767438109009e-02 7.202129490691934e-02 7.198491915202099e-02 7.194854713347830e-02 - 7.191217886837446e-02 7.187581437379276e-02 7.183945366681642e-02 7.180309676452867e-02 7.176674368401278e-02 - 7.173039444235199e-02 7.169404905662952e-02 7.165770754392863e-02 7.162136992133256e-02 7.158503620592453e-02 - 7.154870641478780e-02 7.151238056500563e-02 7.147605867366123e-02 7.143974075783785e-02 7.140342683461876e-02 - 7.136711692108716e-02 7.133081103432631e-02 7.129450919141947e-02 7.125821140944985e-02 7.122191770550071e-02 - 7.118562809665530e-02 7.114934259999683e-02 7.111306123260858e-02 7.107678401157377e-02 7.104051095397565e-02 - 7.100424207689746e-02 7.096797739742244e-02 7.093171693263382e-02 7.089546069961486e-02 7.085920871544882e-02 - 7.082296099721888e-02 7.078671756200834e-02 7.075047842690044e-02 7.071424360897838e-02 7.067801312532543e-02 - 7.064178699302483e-02 7.060556522915983e-02 7.056934785081363e-02 7.053313487506954e-02 7.049692631901075e-02 - 7.046072219972052e-02 7.042452253428211e-02 7.038832733977872e-02 7.035213663329361e-02 7.031595043191004e-02 - 7.027976875271123e-02 7.024359161278042e-02 7.020741902920087e-02 7.017125101905583e-02 7.013508759942851e-02 - 7.009892878740216e-02 7.006277460006004e-02 7.002662505448538e-02 6.999048016776144e-02 6.995433995697144e-02 - 6.991820443919861e-02 6.988207363152622e-02 6.984594755103750e-02 6.980982621481568e-02 6.977370963994402e-02 - 6.973759784350578e-02 6.970149084258416e-02 6.966538865426242e-02 6.962929129562380e-02 6.959319878375156e-02 - 6.955711113572893e-02 6.952102836863913e-02 6.948495049956542e-02 6.944887754559105e-02 6.941280952379927e-02 - 6.937674645127329e-02 6.934068834509637e-02 6.930463522235174e-02 6.926858710012268e-02 6.923254399549238e-02 - 6.919650592554411e-02 6.916047290736112e-02 6.912444495802665e-02 6.908842209462392e-02 6.905240433423616e-02 - 6.901639169394666e-02 6.898038419083864e-02 6.894438184199533e-02 6.890838466449999e-02 6.887239267543585e-02 - 6.883640589188617e-02 6.880042433093415e-02 6.876444800966307e-02 6.872847694515619e-02 6.869251115449670e-02 - 6.865655065476786e-02 6.862059546305292e-02 6.858464559643512e-02 6.854870107199770e-02 6.851276190682393e-02 - 6.847682811799699e-02 6.844089972260017e-02 6.840497673771671e-02 6.836905918042983e-02 6.833314706782279e-02 - 6.829724041697882e-02 6.826133924498116e-02 6.822544356891308e-02 6.818955340585779e-02 6.815366877289854e-02 - 6.811778968711857e-02 6.808191616560114e-02 6.804604822542948e-02 6.801018588368681e-02 6.797432915745642e-02 - 6.793847806382150e-02 6.790263261986533e-02 6.786679284267115e-02 6.783095874932217e-02 6.779513035690166e-02 - 6.775930768249286e-02 6.772349074317900e-02 6.768767955604332e-02 6.765187413816909e-02 6.761607450663952e-02 - 6.758028067853786e-02 6.754449267094738e-02 6.750871050095128e-02 6.747293418563281e-02 6.743716374207524e-02 - 6.740139918736179e-02 6.736564053857570e-02 6.732988781280023e-02 6.729414102711860e-02 6.725840019861405e-02 - 6.722266534436987e-02 6.718693648146923e-02 6.715121362699542e-02 6.711549679803168e-02 6.707978601166123e-02 - 6.704408128496732e-02 6.700838263503321e-02 6.697269007894212e-02 6.693700363377729e-02 6.690132331662198e-02 - 6.686564914455943e-02 6.682998113467287e-02 6.679431930404556e-02 6.675866366976070e-02 6.672301424890158e-02 - 6.668737105855144e-02 6.665173411579348e-02 6.661610343771096e-02 6.658047904138716e-02 6.654486094390526e-02 - 6.650924916234854e-02 6.647364371380024e-02 6.643804461534360e-02 6.640245188406185e-02 6.636686553703826e-02 - 6.633128559135604e-02 6.629571206409844e-02 6.626014497234871e-02 6.622458433319009e-02 6.618903016370581e-02 - 6.615348248097914e-02 6.611794130209329e-02 6.608240664413152e-02 6.604687852417708e-02 6.601135695931318e-02 - 6.597584196662311e-02 6.594033356319007e-02 6.590483176609731e-02 6.586933659242808e-02 6.583384805926563e-02 - 6.579836618369318e-02 6.576289098279399e-02 6.572742247365128e-02 6.569196067334833e-02 6.565650559896835e-02 - 6.562105726759460e-02 6.558561569631030e-02 6.555018090219872e-02 6.551475290234308e-02 6.547933171382664e-02 - 6.544391735373260e-02 6.540850983914427e-02 6.537310918714484e-02 6.533771541481756e-02 6.530232853924568e-02 - 6.526694857751246e-02 6.523157554670111e-02 6.519620946389489e-02 6.516085034617702e-02 6.512549821063078e-02 - 6.509015307433939e-02 6.505481495438609e-02 6.501948386785412e-02 6.498415983182672e-02 6.494884286338716e-02 - 6.491353297961865e-02 6.487823019760443e-02 6.484293453442776e-02 6.480764600717190e-02 6.477236463292005e-02 - 6.473709042875546e-02 6.470182341176141e-02 6.466656359902111e-02 6.463131100761778e-02 6.459606565463470e-02 - 6.456082755715510e-02 6.452559673226224e-02 6.449037319703932e-02 6.445515696856961e-02 6.441994806393636e-02 - 6.438474650022280e-02 6.434955229451217e-02 6.431436546388770e-02 6.427918602543267e-02 6.424401399623028e-02 - 6.420884939336380e-02 6.417369223391646e-02 6.413854253497149e-02 6.410340031361215e-02 6.406826558692170e-02 - 6.403313837198334e-02 6.399801868588033e-02 6.396290654569593e-02 6.392780196851335e-02 6.389270497141585e-02 - 6.385761557148667e-02 6.382253378580906e-02 6.378745963146625e-02 6.375239312554147e-02 6.371733428511799e-02 - 6.368228312727903e-02 6.364723966910786e-02 6.361220392768768e-02 6.357717592010177e-02 6.354215566343337e-02 - 6.350714317476568e-02 6.347213847118198e-02 6.343714156976551e-02 6.340215248759951e-02 6.336717124176720e-02 - 6.333219784935186e-02 6.329723232743668e-02 6.326227469310496e-02 6.322732496343991e-02 6.319238315552476e-02 - 6.315744928644278e-02 6.312252337327721e-02 6.308760543311126e-02 6.305269548302821e-02 6.301779354011129e-02 - 6.298289962144372e-02 6.294801374410877e-02 6.291313592518968e-02 6.287826618176968e-02 6.284340453093201e-02 - 6.280855098975993e-02 6.277370557533665e-02 6.273886830474544e-02 6.270403919506955e-02 6.266921826339220e-02 - 6.263440552679662e-02 6.259960100236607e-02 6.256480470718381e-02 6.253001665833306e-02 6.249523687289707e-02 - 6.246046536795907e-02 6.242570216060229e-02 6.239094726791002e-02 6.235620070696547e-02 6.232146249485187e-02 - 6.228673264865250e-02 6.225201118545055e-02 6.221729812232930e-02 6.218259347637199e-02 6.214789726466187e-02 - 6.211320950428215e-02 6.207853021231610e-02 6.204385940584693e-02 6.200919710195792e-02 6.197454331773228e-02 - 6.193989807025328e-02 6.190526137660414e-02 6.187063325386812e-02 6.183601371912845e-02 6.180140278946837e-02 - 6.176680048197113e-02 6.173220681371997e-02 6.169762180179813e-02 6.166304546328885e-02 6.162847781527538e-02 - 6.159391887484095e-02 6.155936865906880e-02 6.152482718504219e-02 6.149029446984435e-02 6.145577053055853e-02 - 6.142125538426796e-02 6.138674904805590e-02 6.135225153900557e-02 6.131776287420022e-02 6.128328307072310e-02 - 6.124881214565744e-02 6.121435011608650e-02 6.117989699909349e-02 6.114545281176169e-02 6.111101757117431e-02 - 6.107659129441460e-02 6.104217399856583e-02 6.100776570071121e-02 6.097336641793399e-02 6.093897616731742e-02 - 6.090459496594473e-02 6.087022283089916e-02 6.083585977926396e-02 6.080150582812238e-02 6.076716099455765e-02 - 6.073282529565302e-02 6.069849874849172e-02 6.066418137015700e-02 6.062987317773211e-02 6.059557418830027e-02 - 6.056128441894475e-02 6.052700388674876e-02 6.049273260879557e-02 6.045847060216841e-02 6.042421788395052e-02 - 6.038997447122514e-02 6.035574038107552e-02 6.032151563058490e-02 6.028730023683652e-02 6.025309421691362e-02 - 6.021889758789946e-02 6.018471036687725e-02 6.015053257093025e-02 6.011636421714171e-02 6.008220532259485e-02 - 6.004805590437293e-02 6.001391597955918e-02 5.997978556523686e-02 5.994566467848918e-02 5.991155333639943e-02 - 5.987745155605081e-02 5.984335935452657e-02 5.980927674890997e-02 5.977520375628423e-02 5.974114039373261e-02 - 5.970708667833834e-02 5.967304262718466e-02 5.963900825735483e-02 5.960498358593206e-02 5.957096862999962e-02 - 5.953696340664075e-02 5.950296793293869e-02 5.946898222597666e-02 5.943500630283793e-02 5.940104018060574e-02 - 5.936708387636331e-02 5.933313740719390e-02 5.929920079018074e-02 5.926527404240709e-02 5.923135718095618e-02 - 5.919745022291125e-02 5.916355318535554e-02 5.912966608537230e-02 5.909578894004478e-02 5.906192176645620e-02 - 5.902806458168981e-02 5.899421740282887e-02 5.896038024695659e-02 5.892655313115624e-02 5.889273607251104e-02 - 5.885892908810425e-02 5.882513219501910e-02 5.879134541033884e-02 5.875756875114671e-02 5.872380223452595e-02 - 5.869004587755981e-02 5.865629969733151e-02 5.862256371092430e-02 5.858883793542144e-02 5.855512238790617e-02 - 5.852141708546170e-02 5.848772204517131e-02 5.845403728411822e-02 5.842036281938568e-02 5.838669866805692e-02 - 5.835304484721521e-02 5.831940137394376e-02 5.828576826532585e-02 5.825214553844467e-02 5.821853321038349e-02 - 5.818493129822556e-02 5.815133981905412e-02 5.811775878995240e-02 5.808418822800365e-02 5.805062815029110e-02 - 5.801707857389801e-02 5.798353951590760e-02 5.795001099340315e-02 5.791649302346786e-02 5.788298562318499e-02 - 5.784948880963779e-02 5.781600259990949e-02 5.778252701108333e-02 5.774906206024256e-02 5.771560776447041e-02 - 5.768216414085015e-02 5.764873120646499e-02 5.761530897839819e-02 5.758189747373298e-02 5.754849670955262e-02 - 5.751510670294033e-02 5.748172747097936e-02 5.744835903075296e-02 5.741500139934437e-02 5.738165459383683e-02 - 5.734831863131357e-02 5.731499352885785e-02 5.728167930355290e-02 5.724837597248197e-02 5.721508355272830e-02 - 5.718180206137512e-02 5.714853151550570e-02 5.711527193220325e-02 5.708202332855103e-02 5.704878572163228e-02 - 5.701555912853024e-02 5.698234356632816e-02 5.694913905210926e-02 5.691594560295680e-02 5.688276323595402e-02 - 5.684959196818416e-02 5.681643181673045e-02 5.678328279867616e-02 5.675014493110452e-02 5.671701823109875e-02 - 5.668390271574211e-02 5.665079840211785e-02 5.661770530730920e-02 5.658462344839940e-02 5.655155284247171e-02 - 5.651849350660935e-02 5.648544545789557e-02 5.645240871341362e-02 5.641938329024674e-02 5.638636920547815e-02 - 5.635336647619112e-02 5.632037511946889e-02 5.628739515239468e-02 5.625442659205174e-02 5.622146945552333e-02 - 5.618852375989267e-02 5.615558952224302e-02 5.612266675965761e-02 5.608975548921968e-02 5.605685572801247e-02 - 5.602396749311925e-02 5.599109080162322e-02 5.595822567060765e-02 5.592537211715578e-02 5.589253015835084e-02 - 5.585969981127608e-02 5.582688109301474e-02 5.579407402065006e-02 5.576127861126528e-02 5.572849488194366e-02 - 5.569572284976842e-02 5.566296253182280e-02 5.563021394519008e-02 5.559747710695345e-02 5.556475203419618e-02 - 5.553203874400151e-02 5.549933725345269e-02 5.546664757963294e-02 5.543396973962551e-02 5.540130375051366e-02 - 5.536864962938060e-02 5.533600739330961e-02 5.530337705938389e-02 5.527075864468672e-02 5.523815216630132e-02 - 5.520555764131094e-02 5.517297508679882e-02 5.514040451984819e-02 5.510784595754230e-02 5.507529941696442e-02 - 5.504276491519774e-02 5.501024246932555e-02 5.497773209643106e-02 5.494523381359754e-02 5.491274763790820e-02 - 5.488027358644629e-02 5.484781167629507e-02 5.481536192453777e-02 5.478292434825763e-02 5.475049896453790e-02 - 5.471808579046181e-02 5.468568484311261e-02 5.465329613957354e-02 5.462091969692785e-02 5.458855553225877e-02 - 5.455620366264955e-02 5.452386410518342e-02 5.449153687694363e-02 5.445922199501343e-02 5.442691947647604e-02 - 5.439462933841474e-02 5.436235159791274e-02 5.433008627205328e-02 5.429783337791962e-02 5.426559293259499e-02 - 5.423336495316264e-02 5.420114945670580e-02 5.416894646030773e-02 5.413675598105167e-02 5.410457803602083e-02 - 5.407241264229849e-02 5.404025981696787e-02 5.400811957711223e-02 5.397599193981480e-02 5.394387692215881e-02 - 5.391177454122753e-02 5.387968481410418e-02 5.384760775787202e-02 5.381554338961427e-02 5.378349172641418e-02 - 5.375145278535501e-02 5.371942658351998e-02 5.368741313799234e-02 5.365541246585533e-02 5.362342458419220e-02 - 5.359144951008617e-02 5.355948726062051e-02 5.352753785287844e-02 5.349560130394321e-02 5.346367763089808e-02 - 5.343176685082626e-02 5.339986898081100e-02 5.336798403793557e-02 5.333611203928318e-02 5.330425300193709e-02 - 5.327240694298052e-02 5.324057387949673e-02 5.320875382856897e-02 5.317694680728046e-02 5.314515283271445e-02 - 5.311337192195419e-02 5.308160409208292e-02 5.304984936018387e-02 5.301810774334029e-02 5.298637925860694e-02 - 5.295466392210174e-02 5.292296174881576e-02 5.289127275367324e-02 5.285959695159842e-02 5.282793435751552e-02 - 5.279628498634878e-02 5.276464885302243e-02 5.273302597246069e-02 5.270141635958780e-02 5.266982002932800e-02 - 5.263823699660550e-02 5.260666727634453e-02 5.257511088346935e-02 5.254356783290417e-02 5.251203813957321e-02 - 5.248052181840073e-02 5.244901888431094e-02 5.241752935222807e-02 5.238605323707637e-02 5.235459055378005e-02 - 5.232314131726334e-02 5.229170554245050e-02 5.226028324426572e-02 5.222887443763326e-02 5.219747913747734e-02 - 5.216609735872220e-02 5.213472911629205e-02 5.210337442511115e-02 5.207203330010370e-02 5.204070575619395e-02 - 5.200939180830615e-02 5.197809147136448e-02 5.194680476029321e-02 5.191553169001656e-02 5.188427227545876e-02 - 5.185302653154403e-02 5.182179447319664e-02 5.179057611534077e-02 5.175937147290068e-02 5.172818056080060e-02 - 5.169700339396475e-02 5.166583998731737e-02 5.163469035578269e-02 5.160355451428494e-02 5.157243247774834e-02 - 5.154132426109714e-02 5.151022987925555e-02 5.147914934714782e-02 5.144808267969817e-02 5.141702989183084e-02 - 5.138599099847005e-02 5.135496601454004e-02 5.132395495496503e-02 5.129295783466926e-02 5.126197466857695e-02 - 5.123100547161235e-02 5.120005025869967e-02 5.116910904476317e-02 5.113818184472704e-02 5.110726867351554e-02 - 5.107636954605289e-02 5.104548447726333e-02 5.101461348207109e-02 5.098375657540039e-02 5.095291377217546e-02 - 5.092208508732055e-02 5.089127053575987e-02 5.086047013241765e-02 5.082968389221815e-02 5.079891183008556e-02 - 5.076815396094415e-02 5.073741029971812e-02 5.070668086133172e-02 5.067596566070917e-02 5.064526471277472e-02 - 5.061457803245257e-02 5.058390563466697e-02 5.055324753434216e-02 5.052260374640234e-02 5.049197428577178e-02 - 5.046135916737467e-02 5.043075840613528e-02 5.040017201697781e-02 5.036960001482652e-02 5.033904241460560e-02 - 5.030849923123931e-02 5.027797047965189e-02 5.024745617476754e-02 5.021695633151052e-02 5.018647096480505e-02 - 5.015600008957535e-02 5.012554372074565e-02 5.009510187324022e-02 5.006467456198324e-02 5.003426180189897e-02 - 5.000386360791163e-02 4.997347999494546e-02 4.994311097792468e-02 4.991275657177353e-02 4.988241679141623e-02 - 4.985209165177702e-02 4.982178116778014e-02 4.979148535434980e-02 4.976120422641023e-02 4.973093779888569e-02 - 4.970068608670038e-02 4.967044910477855e-02 4.964022686804442e-02 4.961001939142222e-02 4.957982668983620e-02 - 4.954964877821057e-02 4.951948567146956e-02 4.948933738453741e-02 4.945920393233836e-02 4.942908532979662e-02 - 4.939898159183643e-02 4.936889273338203e-02 4.933881876935763e-02 4.930875971468749e-02 4.927871558429582e-02 - 4.924868639310685e-02 4.921867215604481e-02 4.918867288803395e-02 4.915868860399848e-02 4.912871931886263e-02 - 4.909876504755066e-02 4.906882580498677e-02 4.903890160609520e-02 4.900899246580018e-02 4.897909839902595e-02 - 4.894921942069672e-02 4.891935554573676e-02 4.888950678907025e-02 4.885967316562146e-02 4.882985469031461e-02 - 4.880005137807392e-02 4.877026324382362e-02 4.874049030248797e-02 4.871073256899117e-02 4.868099005825745e-02 - 4.865126278521108e-02 4.862155076477624e-02 4.859185401187720e-02 4.856217254143816e-02 4.853250636838338e-02 - 4.850285550763707e-02 4.847321997412347e-02 4.844359978276680e-02 4.841399494849130e-02 4.838440548622121e-02 - 4.835483141088075e-02 4.832527273739414e-02 4.829572948068564e-02 4.826620165567946e-02 4.823668927729983e-02 - 4.820719236047098e-02 4.817771092011715e-02 4.814824497116257e-02 4.811879452853147e-02 4.808935960714807e-02 - 4.805994022193662e-02 4.803053638782134e-02 4.800114811972645e-02 4.797177543257621e-02 4.794241834129482e-02 - 4.791307686080653e-02 4.788375100603556e-02 4.785444079190614e-02 4.782514623334252e-02 4.779586734526891e-02 - 4.776660414260955e-02 4.773735664028868e-02 4.770812485323050e-02 4.767890879635927e-02 4.764970848459921e-02 - 4.762052393287456e-02 4.759135515610954e-02 4.756220216922838e-02 4.753306498715533e-02 4.750394362481459e-02 - 4.747483809713041e-02 4.744574841902701e-02 4.741667460542864e-02 4.738761667125952e-02 4.735857463144388e-02 - 4.732954850090595e-02 4.730053829456995e-02 4.727154402736015e-02 4.724256571420073e-02 4.721360337001596e-02 - 4.718465700973005e-02 4.715572664826723e-02 4.712681230055175e-02 4.709791398150782e-02 4.706903170605968e-02 - 4.704016548913156e-02 4.701131534564769e-02 4.698248129053231e-02 4.695366333870963e-02 4.692486150510391e-02 - 4.689607580463934e-02 4.686730625224018e-02 4.683855286283068e-02 4.680981565133503e-02 4.678109463267748e-02 - 4.675238982178226e-02 4.672370123357359e-02 4.669502888297572e-02 4.666637278491287e-02 4.663773295430927e-02 - 4.660910940608916e-02 4.658050215517676e-02 4.655191121649629e-02 4.652333660497202e-02 4.649477833552815e-02 - 4.646623642308891e-02 4.643771088257853e-02 4.640920172892127e-02 4.638070897704132e-02 4.635223264186294e-02 - 4.632377273831036e-02 4.629532928130779e-02 4.626690228577947e-02 4.623849176664965e-02 4.621009773884253e-02 - 4.618172021728237e-02 4.615335921689338e-02 4.612501475259979e-02 4.609668683932586e-02 4.606837549199577e-02 - 4.604008072553380e-02 4.601180255486416e-02 4.598354099491107e-02 4.595529606059879e-02 4.592706776685152e-02 - 4.589885612859351e-02 4.587066116074899e-02 4.584248287824218e-02 4.581432129599732e-02 4.578617642893863e-02 - 4.575804829199037e-02 4.572993690007673e-02 4.570184226812196e-02 4.567376441105030e-02 4.564570334378597e-02 - 4.561765908125320e-02 4.558963163837623e-02 4.556162103007928e-02 4.553362727128659e-02 4.550565037692238e-02 - 4.547769036191089e-02 4.544974724117636e-02 4.542182102964300e-02 4.539391174223504e-02 4.536601939387674e-02 - 4.533814399949231e-02 4.531028557400597e-02 4.528244413234197e-02 4.525461968942453e-02 4.522681226017790e-02 - 4.519902185952628e-02 4.517124850239393e-02 4.514349220370505e-02 4.511575297838390e-02 4.508803084135470e-02 - 4.506032580754168e-02 4.503263789186907e-02 4.500496710926111e-02 4.497731347464200e-02 4.494967700293602e-02 - 4.492205770906736e-02 4.489445560796028e-02 4.486687071453899e-02 4.483930304372771e-02 4.481175261045071e-02 - 4.478421942963219e-02 4.475670351619640e-02 4.472920488506756e-02 4.470172355116988e-02 4.467425952942764e-02 - 4.464681283476502e-02 4.461938348210628e-02 4.459197148637566e-02 4.456457686249737e-02 4.453719962539564e-02 - 4.450983978999472e-02 4.448249737121881e-02 4.445517238399217e-02 4.442786484323902e-02 4.440057476388359e-02 - 4.437330216085012e-02 4.434604704906282e-02 4.431880944344595e-02 4.429158935892372e-02 4.426438681042035e-02 - 4.423720181286010e-02 4.421003438116718e-02 4.418288453026584e-02 4.415575227508029e-02 4.412863763053477e-02 - 4.410154061155352e-02 4.407446123306075e-02 4.404739950998071e-02 4.402035545723762e-02 4.399332908975571e-02 - 4.396632042245923e-02 4.393932947027238e-02 4.391235624811941e-02 4.388540077092456e-02 4.385846305361203e-02 - 4.383154311110608e-02 4.380464095833093e-02 4.377775661021081e-02 4.375089008166996e-02 4.372404138763258e-02 - 4.369721054302294e-02 4.367039756276526e-02 4.364360246178376e-02 4.361682525500267e-02 4.359006595734623e-02 - 4.356332458373868e-02 4.353660114910423e-02 4.350989566836711e-02 4.348320815645158e-02 4.345653862828184e-02 - 4.342988709878214e-02 4.340325358287669e-02 4.337663809548974e-02 4.335004065154552e-02 4.332346126596825e-02 - 4.329689995368217e-02 4.327035672961151e-02 4.324383160868049e-02 4.321732460581335e-02 4.319083573593433e-02 - 4.316436501396765e-02 4.313791245483754e-02 4.311147807346823e-02 4.308506188478395e-02 4.305866390370894e-02 - 4.303228414516742e-02 4.300592262408363e-02 4.297957935538180e-02 4.295325435398616e-02 4.292694763482094e-02 - 4.290065921281035e-02 4.287438910287866e-02 4.284813731995007e-02 4.282190387894883e-02 4.279568879479917e-02 - 4.276949208242530e-02 4.274331375675147e-02 4.271715383270192e-02 4.269101232520085e-02 4.266488924917250e-02 - 4.263878461954113e-02 4.261269845123093e-02 4.258663075916616e-02 4.256058155827103e-02 4.253455086346980e-02 - 4.250853868968667e-02 4.248254505184589e-02 4.245656996487169e-02 4.243061344368828e-02 4.240467550321991e-02 - 4.237875615839081e-02 4.235285542412521e-02 4.232697331534734e-02 4.230110984698143e-02 4.227526503395169e-02 - 4.224943889118240e-02 4.222363143359775e-02 4.219784267612198e-02 4.217207263367933e-02 4.214632132119402e-02 - 4.212058875359029e-02 4.209487494579236e-02 4.206917991272448e-02 4.204350366931086e-02 4.201784623047573e-02 - 4.199220761114335e-02 4.196658782623791e-02 4.194098689068368e-02 4.191540481940486e-02 4.188984162732570e-02 - 4.186429732937041e-02 4.183877194046326e-02 4.181326547552844e-02 4.178777794949019e-02 4.176230937727277e-02 - 4.173685977380037e-02 4.171142915399725e-02 4.168601753278764e-02 4.166062492509574e-02 4.163525134584580e-02 - 4.160989680996207e-02 4.158456133236876e-02 4.155924492799010e-02 4.153394761175032e-02 4.150866939857367e-02 - 4.148341030338436e-02 4.145817034110662e-02 4.143294952666470e-02 4.140774787498282e-02 4.138256540098521e-02 - 4.135740211959609e-02 4.133225804573972e-02 4.130713319434030e-02 4.128202758032209e-02 4.125694121860929e-02 - 4.123187412412615e-02 4.120682631179690e-02 4.118179779654577e-02 4.115678859329698e-02 4.113179871697477e-02 - 4.110682818250337e-02 4.108187700480702e-02 4.105694519880994e-02 4.103203277943635e-02 4.100713976161051e-02 - 4.098226616025662e-02 4.095741199029894e-02 4.093257726666168e-02 4.090776200426908e-02 4.088296621804536e-02 - 4.085818992291476e-02 4.083343313380151e-02 4.080869586562985e-02 4.078397813332400e-02 4.075927995180818e-02 - 4.073460133600665e-02 4.070994230084361e-02 4.068530286124331e-02 4.066068303212998e-02 4.063608282842784e-02 - 4.061150226506113e-02 4.058694135695408e-02 4.056240011903092e-02 4.053787856621588e-02 4.051337671343318e-02 - 4.048889457560707e-02 4.046443216766178e-02 4.043998950452153e-02 4.041556660111054e-02 4.039116347235307e-02 - 4.036678013317334e-02 4.034241659849556e-02 4.031807288324400e-02 4.029374900234285e-02 4.026944497071637e-02 - 4.024516080328877e-02 4.022089651498431e-02 4.019665212072718e-02 4.017242763544165e-02 4.014822307405193e-02 - 4.012403845148225e-02 4.009987378265685e-02 4.007572908249996e-02 4.005160436593580e-02 4.002749964788860e-02 - 4.000341494328261e-02 3.997935026862905e-02 3.995530565020248e-02 3.993128111798760e-02 3.990727670197625e-02 - 3.988329243216027e-02 3.985932833853151e-02 3.983538445108181e-02 3.981146079980302e-02 3.978755741468697e-02 - 3.976367432572553e-02 3.973981156291052e-02 3.971596915623379e-02 3.969214713568721e-02 3.966834553126258e-02 - 3.964456437295178e-02 3.962080369074663e-02 3.959706351463900e-02 3.957334387462071e-02 3.954964480068362e-02 - 3.952596632281957e-02 3.950230847102040e-02 3.947867127527795e-02 3.945505476558409e-02 3.943145897193063e-02 - 3.940788392430945e-02 3.938432965271236e-02 3.936079618713123e-02 3.933728355755788e-02 3.931379179398419e-02 - 3.929032092640197e-02 3.926687098480308e-02 3.924344199917935e-02 3.922003399952266e-02 3.919664701582481e-02 - 3.917328107807769e-02 3.914993621627309e-02 3.912661246040292e-02 3.910330984045896e-02 3.908002838643308e-02 - 3.905676812831715e-02 3.903352909610298e-02 3.901031131978242e-02 3.898711482934733e-02 3.896393965478955e-02 - 3.894078582610091e-02 3.891765337327326e-02 3.889454232629846e-02 3.887145271516833e-02 3.884838456987474e-02 - 3.882533792040951e-02 3.880231279676451e-02 3.877930922893155e-02 3.875632724690252e-02 3.873336688066923e-02 - 3.871042816022353e-02 3.868751111555727e-02 3.866461577666229e-02 3.864174217353044e-02 3.861889033615356e-02 - 3.859606029452349e-02 3.857325207863209e-02 3.855046571847119e-02 3.852770124403264e-02 3.850495868530828e-02 - 3.848223807228996e-02 3.845953943496952e-02 3.843686280333881e-02 3.841420820738967e-02 3.839157567711395e-02 - 3.836896524250349e-02 3.834637693355013e-02 3.832381078024572e-02 3.830126681258209e-02 3.827874506055112e-02 - 3.825624555414461e-02 3.823376832335444e-02 3.821131339817244e-02 3.818888080859045e-02 3.816647058460032e-02 - 3.814408275619389e-02 3.812171735336303e-02 3.809937440609954e-02 3.807705394439530e-02 3.805475599824214e-02 - 3.803248059763190e-02 3.801022777255643e-02 3.798799755300758e-02 3.796578996897719e-02 3.794360505045710e-02 - 3.792144282743916e-02 3.789930332991522e-02 3.787718658787710e-02 3.785509263131667e-02 3.783302149022577e-02 - 3.781097319459624e-02 3.778894777441992e-02 3.776694525968866e-02 3.774496568039430e-02 3.772300906652870e-02 - 3.770107544808367e-02 3.767916485505110e-02 3.765727731742280e-02 3.763541286519063e-02 3.761357152834642e-02 - 3.759175333688204e-02 3.756995832078931e-02 3.754818651006007e-02 3.752643793468620e-02 3.750471262465951e-02 - 3.748301060997186e-02 3.746133192061509e-02 3.743967658658105e-02 3.741804463786157e-02 3.739643610444850e-02 - 3.737485101633371e-02 3.735328940350900e-02 3.733175129596625e-02 3.731023672369729e-02 3.728874571669397e-02 - 3.726727830494812e-02 3.724583451845160e-02 3.722441438719625e-02 3.720301794117391e-02 3.718164521037644e-02 - 3.716029622479566e-02 3.713897101442343e-02 3.711766960925159e-02 3.709639203927199e-02 3.707513833447647e-02 - 3.705390852485687e-02 3.703270264040504e-02 3.701152071111283e-02 3.699036276697207e-02 3.696922883797462e-02 - 3.694811895411231e-02 3.692703314537699e-02 3.690597144176051e-02 3.688493387325471e-02 3.686392046985143e-02 - 3.684293126154253e-02 3.682196627831984e-02 3.680102555017520e-02 3.678010910710046e-02 3.675921697908748e-02 - 3.673834919612807e-02 3.671750578821411e-02 3.669668678533742e-02 3.667589221748987e-02 3.665512211466327e-02 - 3.663437650684950e-02 3.661365542404037e-02 3.659295889622776e-02 3.657228695340348e-02 3.655163962555941e-02 - 3.653101694268735e-02 3.651041893477919e-02 3.648984563182674e-02 3.646929706382188e-02 3.644877326075641e-02 - 3.642827425262220e-02 3.640780006941109e-02 3.638735074111494e-02 3.636692629772557e-02 3.634652676923484e-02 - 3.632615218563458e-02 3.630580257691665e-02 3.628547797307289e-02 3.626517840409513e-02 3.624490389997524e-02 - 3.622465449070505e-02 3.620443020627639e-02 3.618423107668113e-02 3.616405713191111e-02 3.614390840195816e-02 - 3.612378491681414e-02 3.610368670647089e-02 3.608361380092025e-02 3.606356623015406e-02 3.604354402416417e-02 - 3.602354721294244e-02 3.600357582648069e-02 3.598362989477077e-02 3.596370944780453e-02 3.594381451557382e-02 - 3.592394512807047e-02 3.590410131528634e-02 3.588428310721326e-02 3.586449053384308e-02 3.584472362516764e-02 - 3.582498241117880e-02 3.580526692186839e-02 3.578557718722826e-02 3.576591323725024e-02 3.574627510192620e-02 - 3.572666281124797e-02 3.570707639520740e-02 3.568751588379632e-02 3.566798130700659e-02 3.564847269483005e-02 - 3.562899007725854e-02 3.560953348428391e-02 3.559010294589800e-02 3.557069849209266e-02 3.555132015285974e-02 - 3.553196795819106e-02 3.551264193807849e-02 3.549334212251386e-02 3.547406854148901e-02 3.545482122499580e-02 - 3.543560020302607e-02 3.541640550557167e-02 3.539723716262443e-02 3.537809520417620e-02 3.535897966021882e-02 - 3.533989056074414e-02 3.532082793574401e-02 3.530179181521027e-02 3.528278222913475e-02 3.526379920750932e-02 - 3.524484278032580e-02 3.522591297757607e-02 3.520700982925193e-02 3.518813336534525e-02 3.516928361584787e-02 - 3.515046061075164e-02 3.513166438004838e-02 3.511289495372998e-02 3.509415236178823e-02 3.507543663421501e-02 - 3.505674780100216e-02 3.503808589214152e-02 3.501945093762493e-02 3.500084296744425e-02 3.498226201159130e-02 - 3.496370810005795e-02 3.494518126283602e-02 3.492668152991737e-02 3.490820893129385e-02 3.488976349695729e-02 - 3.487134525689954e-02 3.485295424111245e-02 3.483459047958785e-02 3.481625400231760e-02 3.479794483929353e-02 - 3.477966302050750e-02 3.476140857595134e-02 3.474318153561690e-02 3.472498192949603e-02 3.470680978758058e-02 - 3.468866513986237e-02 3.467054801633326e-02 3.465245844698509e-02 3.463439646180971e-02 3.461636209079897e-02 - 3.459835536394470e-02 3.458037631123875e-02 3.456242496267296e-02 3.454450134823919e-02 3.452660549792927e-02 - 3.450873744173504e-02 3.449089720964835e-02 3.447308483166107e-02 3.445530033776500e-02 3.443754375795202e-02 - 3.441981512221395e-02 3.440211446054266e-02 3.438444180292995e-02 3.436679717936773e-02 3.434918061984778e-02 - 3.433159215436199e-02 3.431403181290218e-02 3.429649962546020e-02 3.427899562202789e-02 3.426151983259711e-02 - 3.424407228715969e-02 3.422665301570748e-02 3.420926204823232e-02 3.419189941472606e-02 3.417456514518054e-02 - 3.415725926958761e-02 3.413998181793911e-02 3.412273282022688e-02 3.410551230644278e-02 3.408832030657864e-02 - 3.407115685062630e-02 3.405402196857762e-02 3.403691569042444e-02 3.401983804615860e-02 3.400278906577194e-02 - 3.398576877925633e-02 3.396877721660357e-02 3.395181440780554e-02 3.393488038285408e-02 3.391797517174103e-02 - 3.390109880445821e-02 3.388425131099751e-02 3.386743272135074e-02 3.385064306550976e-02 3.383388237346641e-02 - 3.381715067521254e-02 3.380044800073998e-02 3.378377438004059e-02 3.376712984310620e-02 3.375051441992868e-02 - 3.373392814049984e-02 3.371737103481155e-02 3.370084313285564e-02 3.368434446462396e-02 3.366787506010836e-02 - 3.365143466564878e-02 3.363501887624541e-02 3.361862209777612e-02 3.360224500875989e-02 3.358588827878357e-02 - 3.356955147090725e-02 3.355323458431880e-02 3.353693766165054e-02 3.352066065506343e-02 3.350440352193865e-02 - 3.348816624199871e-02 3.347194881659273e-02 3.345575121630599e-02 3.343957340404732e-02 3.342341535303144e-02 - 3.340727704441876e-02 3.339115845430404e-02 3.337505954322636e-02 3.335898029706669e-02 3.334292070921326e-02 - 3.332688074834195e-02 3.331086037969291e-02 3.329485957414917e-02 3.327887831864652e-02 3.326291658484171e-02 - 3.324697433542376e-02 3.323105156623186e-02 3.321514826023114e-02 3.319926437839098e-02 3.318339989412266e-02 - 3.316755478754796e-02 3.315172903929034e-02 3.313592261295018e-02 3.312013548124740e-02 3.310436764153749e-02 - 3.308861906981869e-02 3.307288973180764e-02 3.305717959801665e-02 3.304148865245999e-02 3.302581687574703e-02 - 3.301016422142487e-02 3.299453067800234e-02 3.297891624809741e-02 3.296332088425066e-02 3.294774455685354e-02 - 3.293218725810471e-02 3.291664896225673e-02 3.290112963401578e-02 3.288562923879117e-02 3.287014777263271e-02 - 3.285468522369568e-02 3.283924155670871e-02 3.282381674440858e-02 3.280841076589561e-02 3.279302360243119e-02 - 3.277765521941309e-02 3.276230558706894e-02 3.274697470113698e-02 3.273166254219040e-02 3.271636907936865e-02 - 3.270109428250347e-02 3.268583813280482e-02 3.267060061307020e-02 3.265538168459424e-02 3.264018132671115e-02 - 3.262499953449712e-02 3.260983628233858e-02 3.259469153939318e-02 3.257956527754512e-02 3.256445748091834e-02 - 3.254936812698490e-02 3.253429718174427e-02 3.251924463148387e-02 3.250421046229880e-02 3.248919464552218e-02 - 3.247419715298105e-02 3.245921796288541e-02 3.244425706251369e-02 3.242931441545717e-02 3.241438998652282e-02 - 3.239948378141620e-02 3.238459577882156e-02 3.236972593925531e-02 3.235487424670715e-02 3.234004068301546e-02 - 3.232522522137563e-02 3.231042782696456e-02 3.229564848261764e-02 3.228088718700101e-02 3.226614390644563e-02 - 3.225141860917057e-02 3.223671128042128e-02 3.222202190260593e-02 3.220735044835789e-02 3.219269687989033e-02 - 3.217806118663362e-02 3.216344336205739e-02 3.214884337811092e-02 3.213426120193776e-02 3.211969680852602e-02 - 3.210515019435922e-02 3.209062132655478e-02 3.207611016186721e-02 3.206161670288540e-02 3.204714093648681e-02 - 3.203268282961075e-02 3.201824236239234e-02 3.200381951210604e-02 3.198941424912934e-02 3.197502654604618e-02 - 3.196065638811887e-02 3.194630377248257e-02 3.193196866763873e-02 3.191765104079724e-02 3.190335087680102e-02 - 3.188906815766901e-02 3.187480285784819e-02 3.186055494296534e-02 3.184632440204734e-02 3.183211122836238e-02 - 3.181791538780577e-02 3.180373685568510e-02 3.178957561657719e-02 3.177543165075891e-02 3.176130492904844e-02 - 3.174719542079285e-02 3.173310312097031e-02 3.171902801589959e-02 3.170497007535993e-02 3.169092927256592e-02 - 3.167690558660036e-02 3.166289900092451e-02 3.164890948767075e-02 3.163493702375719e-02 3.162098160094597e-02 - 3.160704320149037e-02 3.159312179836957e-02 3.157921735868882e-02 3.156532987076624e-02 3.155145932224658e-02 - 3.153760566663864e-02 3.152376889172848e-02 3.150994900180672e-02 3.149614595827410e-02 3.148235973399625e-02 - 3.146859031868535e-02 3.145483769408502e-02 3.144110182886523e-02 3.142738268687409e-02 3.141368026942635e-02 - 3.139999456778463e-02 3.138632554513814e-02 3.137267318073906e-02 3.135903745883740e-02 3.134541835839263e-02 - 3.133181584694165e-02 3.131822989974722e-02 3.130466051752389e-02 3.129110768114365e-02 3.127757136018487e-02 - 3.126405153214003e-02 3.125054818119363e-02 3.123706128835145e-02 3.122359081277034e-02 3.121013674152311e-02 - 3.119669908223311e-02 3.118327780512727e-02 3.116987287740892e-02 3.115648427590923e-02 3.114311198755302e-02 - 3.112975599208620e-02 3.111641625878769e-02 3.110309278026453e-02 3.108978554429882e-02 3.107649451605467e-02 - 3.106321967573116e-02 3.104996101093369e-02 3.103671850522385e-02 3.102349212552239e-02 3.101028184118182e-02 - 3.099708765215899e-02 3.098390954305432e-02 3.097074748653887e-02 3.095760146577434e-02 3.094447145973171e-02 - 3.093135744175442e-02 3.091825938652267e-02 3.090517727892404e-02 3.089211111199125e-02 3.087906086415095e-02 - 3.086602651045607e-02 3.085300802884278e-02 3.084000540267990e-02 3.082701861024971e-02 3.081404762072755e-02 - 3.080109242772720e-02 3.078815302348911e-02 3.077522937271052e-02 3.076232145526043e-02 3.074942925853004e-02 - 3.073655275969265e-02 3.072369193358731e-02 3.071084675893487e-02 3.069801722815575e-02 3.068520332655950e-02 - 3.067240502926292e-02 3.065962230727411e-02 3.064685514336771e-02 3.063410352936318e-02 3.062136743092317e-02 - 3.060864682743443e-02 3.059594172387181e-02 3.058325209340110e-02 3.057057790484611e-02 3.055791914232513e-02 - 3.054527578866520e-02 3.053264782274670e-02 3.052003521936738e-02 3.050743796632342e-02 3.049485605420712e-02 - 3.048228945948342e-02 3.046973815764381e-02 3.045720212753895e-02 3.044468135532321e-02 3.043217582076147e-02 - 3.041968549967531e-02 3.040721038082923e-02 3.039475044749309e-02 3.038230567464306e-02 3.036987604544383e-02 - 3.035746154526919e-02 3.034506215632694e-02 3.033267784558463e-02 3.032030859116679e-02 3.030795439680851e-02 - 3.029561524020229e-02 3.028329109283977e-02 3.027098194217670e-02 3.025868776986960e-02 3.024640855125834e-02 - 3.023414425922958e-02 3.022189488753165e-02 3.020966043396606e-02 3.019744085927903e-02 3.018523614254973e-02 - 3.017304628070488e-02 3.016087124712451e-02 3.014871101490015e-02 3.013656556629268e-02 3.012443489643160e-02 - 3.011231899192166e-02 3.010021782348693e-02 3.008813136953290e-02 3.007605961443153e-02 3.006400254477032e-02 - 3.005196013216448e-02 3.003993235442936e-02 3.002791921520012e-02 3.001592069144608e-02 3.000393675083135e-02 - 2.999196738372897e-02 2.998001257673401e-02 2.996807230790781e-02 2.995614654679549e-02 2.994423528130847e-02 - 2.993233851118915e-02 2.992045620999083e-02 2.990858835120550e-02 2.989673491731453e-02 2.988489589805536e-02 - 2.987307127537464e-02 2.986126102011340e-02 2.984946511909828e-02 2.983768356331996e-02 2.982591633787642e-02 - 2.981416341477938e-02 2.980242477098497e-02 2.979070040412034e-02 2.977899028736241e-02 2.976729439085326e-02 - 2.975561271768286e-02 2.974394525020974e-02 2.973229195799546e-02 2.972065283153817e-02 2.970902785474345e-02 - 2.969741700233630e-02 2.968582025251779e-02 2.967423759388233e-02 2.966266902120933e-02 2.965111450751603e-02 - 2.963957402972690e-02 2.962804757853395e-02 2.961653513685447e-02 2.960503668212408e-02 2.959355219023237e-02 - 2.958208165129883e-02 2.957062505724755e-02 2.955918238857859e-02 2.954775362079399e-02 2.953633873283637e-02 - 2.952493771681483e-02 2.951355054848872e-02 2.950217720053436e-02 2.949081767862442e-02 2.947947196700992e-02 - 2.946814003034778e-02 2.945682185755054e-02 2.944551743582863e-02 2.943422674341014e-02 2.942294975870480e-02 - 2.941168646812421e-02 2.940043686618776e-02 2.938920093147064e-02 2.937797864134186e-02 2.936676998172867e-02 - 2.935557493479196e-02 2.934439347979633e-02 2.933322559583284e-02 2.932207127373048e-02 2.931093050463312e-02 - 2.929980326285230e-02 2.928868953142686e-02 2.927758929945683e-02 2.926650254799867e-02 2.925542925398767e-02 - 2.924436939550082e-02 2.923332296415483e-02 2.922228995044700e-02 2.921127033783603e-02 2.920026410004271e-02 - 2.918927122033416e-02 2.917829169471517e-02 2.916732549176795e-02 2.915637258777840e-02 2.914543298801943e-02 - 2.913450667577263e-02 2.912359362430894e-02 2.911269381274288e-02 2.910180723305731e-02 2.909093387402745e-02 - 2.908007369930849e-02 2.906922669822638e-02 2.905839287303405e-02 2.904757219714476e-02 2.903676465199738e-02 - 2.902597022808873e-02 2.901518890157972e-02 2.900442065055892e-02 2.899366546087253e-02 2.898292332562971e-02 - 2.897219423070421e-02 2.896147815085827e-02 2.895077507160809e-02 2.894008498122344e-02 2.892940786384609e-02 - 2.891874369517828e-02 2.890809245634708e-02 2.889745414621765e-02 2.888682874769054e-02 2.887621623583590e-02 - 2.886561659425123e-02 2.885502981116054e-02 2.884445587294774e-02 2.883389475319686e-02 2.882334643970105e-02 - 2.881281093000496e-02 2.880228819979298e-02 2.879177822929067e-02 2.878128100842524e-02 2.877079651898801e-02 - 2.876032473884395e-02 2.874986564740009e-02 2.873941924390505e-02 2.872898552052601e-02 2.871856444638324e-02 - 2.870815600507148e-02 2.869776018641480e-02 2.868737697516582e-02 2.867700634591397e-02 2.866664827916806e-02 - 2.865630278319325e-02 2.864596983917359e-02 2.863564941328856e-02 2.862534149829953e-02 2.861504608429113e-02 - 2.860476315234840e-02 2.859449267740666e-02 2.858423464566411e-02 2.857398905422620e-02 2.856375588402207e-02 - 2.855353511594846e-02 2.854332673804624e-02 2.853313073796621e-02 2.852294709429606e-02 2.851277577543872e-02 - 2.850261678440491e-02 2.849247012219593e-02 2.848233575178603e-02 2.847221365657614e-02 2.846210383116990e-02 - 2.845200625935100e-02 2.844192091752946e-02 2.843184778466237e-02 2.842178686053369e-02 2.841173813547823e-02 - 2.840170158739025e-02 2.839167719418843e-02 2.838166494245600e-02 2.837166482484053e-02 2.836167681707307e-02 - 2.835170090137019e-02 2.834173707461769e-02 2.833178532393912e-02 2.832184563033358e-02 2.831191797277370e-02 - 2.830200233825938e-02 2.829209871310940e-02 2.828220707523810e-02 2.827232741579271e-02 2.826245972853687e-02 - 2.825260399229306e-02 2.824276019064247e-02 2.823292831178126e-02 2.822310834132040e-02 2.821330025651807e-02 - 2.820350403438503e-02 2.819371967866794e-02 2.818394718049788e-02 2.817418651237375e-02 2.816443766090156e-02 - 2.815470061416237e-02 2.814497535504664e-02 2.813526186206681e-02 2.812556012131105e-02 2.811587013236315e-02 - 2.810619188120791e-02 2.809652534562629e-02 2.808687050311100e-02 2.807722734684383e-02 2.806759586949595e-02 - 2.805797603975531e-02 2.804836784541272e-02 2.803877128655403e-02 2.802918634812817e-02 2.801961300908425e-02 - 2.801005124931340e-02 2.800050106254358e-02 2.799096243185147e-02 2.798143533065562e-02 2.797191976200169e-02 - 2.796241571829330e-02 2.795292316767612e-02 2.794344209750147e-02 2.793397250080147e-02 2.792451436474921e-02 - 2.791506766429417e-02 2.790563238187514e-02 2.789620852426368e-02 2.788679607109519e-02 2.787739499448651e-02 - 2.786800529276515e-02 2.785862695250820e-02 2.784925995023579e-02 2.783990426851568e-02 2.783055990112446e-02 - 2.782122684523413e-02 2.781190507602721e-02 2.780259457625915e-02 2.779329533996523e-02 2.778400734510273e-02 - 2.777473057425486e-02 2.776546502209671e-02 2.775621067523501e-02 2.774696751775778e-02 2.773773553529171e-02 - 2.772851471226555e-02 2.771930503638066e-02 2.771010650156085e-02 2.770091908311444e-02 2.769174275675288e-02 - 2.768257752750487e-02 2.767342338343482e-02 2.766428030170250e-02 2.765514827509389e-02 2.764602728937508e-02 - 2.763691732224667e-02 2.762781835629091e-02 2.761873038318760e-02 2.760965340016332e-02 2.760058738918467e-02 - 2.759153233095657e-02 2.758248821223181e-02 2.757345502668101e-02 2.756443275844788e-02 2.755542137569210e-02 - 2.754642087861812e-02 2.753743126859248e-02 2.752845251726651e-02 2.751948461051369e-02 2.751052754088128e-02 - 2.750158129051000e-02 2.749264584112846e-02 2.748372117908398e-02 2.747480730190011e-02 2.746590419839729e-02 - 2.745701184777745e-02 2.744813023052759e-02 2.743925933666562e-02 2.743039916197098e-02 2.742154968107790e-02 - 2.741271087850060e-02 2.740388275814067e-02 2.739506530469222e-02 2.738625849608251e-02 2.737746231424592e-02 - 2.736867675514432e-02 2.735990180809817e-02 2.735113743878892e-02 2.734238364845174e-02 2.733364044336462e-02 - 2.732490778587926e-02 2.731618566204183e-02 2.730747407386686e-02 2.729877300249025e-02 2.729008242908668e-02 - 2.728140234030172e-02 2.727273272900814e-02 2.726407358354408e-02 2.725542488697956e-02 2.724678662927163e-02 - 2.723815879907967e-02 2.722954137935252e-02 2.722093434732608e-02 2.721233769152850e-02 2.720375141931018e-02 - 2.719517551218435e-02 2.718660994644712e-02 2.717805471481514e-02 2.716950980584153e-02 2.716097520393317e-02 - 2.715245089289530e-02 2.714393686286031e-02 2.713543310581999e-02 2.712693960497614e-02 2.711845634782483e-02 - 2.710998332519429e-02 2.710152051958041e-02 2.709306791441093e-02 2.708462549834906e-02 2.707619326918369e-02 - 2.706777121480425e-02 2.705935930907671e-02 2.705095754483260e-02 2.704256591454058e-02 2.703418439795306e-02 - 2.702581298145425e-02 2.701745165546447e-02 2.700910041075726e-02 2.700075923746808e-02 2.699242812272907e-02 - 2.698410704764140e-02 2.697579599978723e-02 2.696749496984126e-02 2.695920394125775e-02 2.695092290187428e-02 - 2.694265184396634e-02 2.693439075649869e-02 2.692613962541774e-02 2.691789843589869e-02 2.690966718080280e-02 - 2.690144584430361e-02 2.689323440003169e-02 2.688503284907665e-02 2.687684119009101e-02 2.686865940030225e-02 - 2.686048746353486e-02 2.685232536881714e-02 2.684417310662326e-02 2.683603066151065e-02 2.682789801897943e-02 - 2.681977517552054e-02 2.681166212021913e-02 2.680355883616239e-02 2.679546530889016e-02 2.678738152752996e-02 - 2.677930748200765e-02 2.677124315479004e-02 2.676318853591112e-02 2.675514362231527e-02 2.674710839396962e-02 - 2.673908283555094e-02 2.673106694339361e-02 2.672306070150655e-02 2.671506409151823e-02 2.670707710108217e-02 - 2.669909972943648e-02 2.669113197027321e-02 2.668317379682501e-02 2.667522519875436e-02 2.666728617090520e-02 - 2.665935669311371e-02 2.665143675159882e-02 2.664352634032146e-02 2.663562545659268e-02 2.662773408361464e-02 - 2.661985219717407e-02 2.661197979572226e-02 2.660411687169956e-02 2.659626340488144e-02 2.658841937631547e-02 - 2.658058477937751e-02 2.657275961893512e-02 2.656494387358596e-02 2.655713752275513e-02 2.654934056348008e-02 - 2.654155298332925e-02 2.653377476657220e-02 2.652600590198415e-02 2.651824638075199e-02 2.651049619255404e-02 - 2.650275532091429e-02 2.649502375487615e-02 2.648730148802552e-02 2.647958851263073e-02 2.647188480891689e-02 - 2.646419035368700e-02 2.645650515131691e-02 2.644882919484906e-02 2.644116246069965e-02 2.643350494181170e-02 - 2.642585663084689e-02 2.641821751242615e-02 2.641058756892747e-02 2.640296679007395e-02 2.639535517653221e-02 - 2.638775271175803e-02 2.638015937698240e-02 2.637257516664822e-02 2.636500007332271e-02 2.635743408373907e-02 - 2.634987717633525e-02 2.634232934391862e-02 2.633479058525924e-02 2.632726088227431e-02 2.631974022390311e-02 - 2.631222860499385e-02 2.630472600717760e-02 2.629723241433261e-02 2.628974781674581e-02 2.628227220621198e-02 - 2.627480557677242e-02 2.626734792215179e-02 2.625989921852152e-02 2.625245945041883e-02 2.624502862403611e-02 - 2.623760671958282e-02 2.623019371536040e-02 2.622278961237779e-02 2.621539440295659e-02 2.620800807254220e-02 - 2.620063060674004e-02 2.619326199404739e-02 2.618590222410475e-02 2.617855128386046e-02 2.617120916522779e-02 - 2.616387586230346e-02 2.615655135861502e-02 2.614923564213544e-02 2.614192870720641e-02 2.613463054125929e-02 - 2.612734112755428e-02 2.612006044964381e-02 2.611278850871195e-02 2.610552530050819e-02 2.609827080222275e-02 - 2.609102500359168e-02 2.608378789925431e-02 2.607655947900249e-02 2.606933972466179e-02 2.606212861946312e-02 - 2.605492616097670e-02 2.604773234503024e-02 2.604054716124884e-02 2.603337058950191e-02 2.602620261873257e-02 - 2.601904324395194e-02 2.601189244598317e-02 2.600475021758196e-02 2.599761656283118e-02 2.599049145836681e-02 - 2.598337488632347e-02 2.597626684662969e-02 2.596916733159564e-02 2.596207632537513e-02 2.595499380688753e-02 - 2.594791977426907e-02 2.594085422650568e-02 2.593379714560815e-02 2.592674851872178e-02 2.591970833661526e-02 - 2.591267658830654e-02 2.590565326173340e-02 2.589863834578747e-02 2.589163183398775e-02 2.588463371701131e-02 - 2.587764398252935e-02 2.587066261956569e-02 2.586368961749470e-02 2.585672496539723e-02 2.584976865103265e-02 - 2.584282066471713e-02 2.583588100000093e-02 2.582894964599770e-02 2.582202659070586e-02 2.581511182332461e-02 - 2.580820533343631e-02 2.580130710958863e-02 2.579441713875388e-02 2.578753541579036e-02 2.578066193633965e-02 - 2.577379668579866e-02 2.576693964640701e-02 2.576009080523955e-02 2.575325016689414e-02 2.574641771694009e-02 - 2.573959342940173e-02 2.573277731100565e-02 2.572596935753856e-02 2.571916954588383e-02 2.571237786264848e-02 - 2.570559430241213e-02 2.569881886299849e-02 2.569205152414907e-02 2.568529227185872e-02 2.567854111122693e-02 - 2.567179802594942e-02 2.566506299732867e-02 2.565833602386073e-02 2.565161709921462e-02 2.564490620914589e-02 - 2.563820333139000e-02 2.563150846268354e-02 2.562482160754986e-02 2.561814274902439e-02 2.561147187258114e-02 - 2.560480896924013e-02 2.559815402833877e-02 2.559150703774291e-02 2.558486798572520e-02 2.557823686789989e-02 - 2.557161367849433e-02 2.556499840587265e-02 2.555839103232124e-02 2.555179154834854e-02 2.554519995829834e-02 - 2.553861624178350e-02 2.553204037844031e-02 2.552547237202886e-02 2.551891221538829e-02 2.551235989397021e-02 - 2.550581539575596e-02 2.549927871458803e-02 2.549274984258965e-02 2.548622875540724e-02 2.547971544999134e-02 - 2.547320993631275e-02 2.546671219025347e-02 2.546022219347805e-02 2.545373994243675e-02 2.544726542971977e-02 - 2.544079864501286e-02 2.543433957656028e-02 2.542788821576999e-02 2.542144455508066e-02 2.541500858637495e-02 - 2.540858030019949e-02 2.540215968413957e-02 2.539574672197945e-02 2.538934140646816e-02 2.538294373410821e-02 - 2.537655369660362e-02 2.537017128263758e-02 2.536379648098229e-02 2.535742928550868e-02 2.535106968465225e-02 - 2.534471766277936e-02 2.533837321084466e-02 2.533203632423742e-02 2.532570699881585e-02 2.531938521813243e-02 - 2.531307097096266e-02 2.530676425602581e-02 2.530046505932213e-02 2.529417336607690e-02 2.528788916915281e-02 - 2.528161246489754e-02 2.527534324609989e-02 2.526908149634068e-02 2.526282720495094e-02 2.525658036572961e-02 - 2.525034097275206e-02 2.524410901058027e-02 2.523788446449190e-02 2.523166734234336e-02 2.522545763237074e-02 - 2.521925530838600e-02 2.521306037097086e-02 2.520687281776321e-02 2.520069263496993e-02 2.519451980442291e-02 - 2.518835431925369e-02 2.518219618546694e-02 2.517604538654039e-02 2.516990190396150e-02 2.516376573127799e-02 - 2.515763686639562e-02 2.515151530112912e-02 2.514540101358030e-02 2.513929399756280e-02 2.513319425347670e-02 - 2.512710177240427e-02 2.512101654329324e-02 2.511493855506050e-02 2.510886779787783e-02 2.510280425830826e-02 - 2.509674792451250e-02 2.509069880343641e-02 2.508465688466923e-02 2.507862214067907e-02 2.507259457630134e-02 - 2.506657418922008e-02 2.506056095604422e-02 2.505455486579475e-02 2.504855591546334e-02 2.504256410459500e-02 - 2.503657941982099e-02 2.503060184642849e-02 2.502463137903613e-02 2.501866800626509e-02 2.501271171663477e-02 - 2.500676250820755e-02 2.500082037092928e-02 2.499488529135626e-02 2.498895726677344e-02 2.498303628979692e-02 - 2.497712234741346e-02 2.497121542814719e-02 2.496531552247531e-02 2.495942262282587e-02 2.495353672310340e-02 - 2.494765781766853e-02 2.494178589943900e-02 2.493592095223772e-02 2.493006296439117e-02 2.492421193524048e-02 - 2.491836784922406e-02 2.491253069345717e-02 2.490670047398909e-02 2.490087718065651e-02 2.489506079631419e-02 - 2.488925131370227e-02 2.488344872747560e-02 2.487765302865731e-02 2.487186419727612e-02 2.486608223223404e-02 - 2.486030714174834e-02 2.485453889875117e-02 2.484877749156952e-02 2.484302292908405e-02 2.483727519324232e-02 - 2.483153426549052e-02 2.482580013961989e-02 2.482007281919668e-02 2.481435229933991e-02 2.480863855780388e-02 - 2.480293158683973e-02 2.479723138421890e-02 2.479153794250162e-02 2.478585124573938e-02 2.478017128120043e-02 - 2.477449805440481e-02 2.476883155587847e-02 2.476317176818658e-02 2.475751868877601e-02 2.475187231076201e-02 - 2.474623262098153e-02 2.474059960704484e-02 2.473497326224523e-02 2.472935358498410e-02 2.472374056978996e-02 - 2.471813420423485e-02 2.471253447111526e-02 2.470694136984621e-02 2.470135489678424e-02 2.469577503399494e-02 - 2.469020177298829e-02 2.468463511029760e-02 2.467907504169421e-02 2.467352155791407e-02 2.466797464651026e-02 - 2.466243429488579e-02 2.465690049712254e-02 2.465137324948606e-02 2.464585254039273e-02 2.464033836402688e-02 - 2.463483071739735e-02 2.462932958374225e-02 2.462383495186045e-02 2.461834681928389e-02 2.461286517898853e-02 - 2.460739002108202e-02 2.460192133524253e-02 2.459645911917798e-02 2.459100336526309e-02 2.458555405446716e-02 - 2.458011118496141e-02 2.457467475465895e-02 2.456924474486533e-02 2.456382114921245e-02 2.455840396700115e-02 - 2.455299319041756e-02 2.454758880740113e-02 2.454219080674820e-02 2.453679918638537e-02 2.453141393576077e-02 - 2.452603503863916e-02 2.452066249180092e-02 2.451529629410615e-02 2.450993644073534e-02 2.450458291517292e-02 - 2.449923570627392e-02 2.449389481263279e-02 2.448856022075961e-02 2.448323192252920e-02 2.447790992354739e-02 - 2.447259420740984e-02 2.446728475663024e-02 2.446198157303190e-02 2.445668465268695e-02 2.445139398411770e-02 - 2.444610955000165e-02 2.444083134675017e-02 2.443555937646448e-02 2.443029362647454e-02 2.442503408583922e-02 - 2.441978074770511e-02 2.441453360513738e-02 2.440929264714783e-02 2.440405786136508e-02 2.439882924944217e-02 - 2.439360680824694e-02 2.438839052372590e-02 2.438318038826778e-02 2.437797639360750e-02 2.437277852674977e-02 - 2.436758678074824e-02 2.436240115296091e-02 2.435722164202054e-02 2.435204823529888e-02 2.434688091817521e-02 - 2.434171968740183e-02 2.433656453724402e-02 2.433141545805634e-02 2.432627243782077e-02 2.432113546933723e-02 - 2.431600455029639e-02 2.431087967900234e-02 2.430576084399959e-02 2.430064802749307e-02 2.429554123205279e-02 - 2.429044044976694e-02 2.428534565606734e-02 2.428025685952290e-02 2.427517406275088e-02 2.427009724038350e-02 - 2.426502638834353e-02 2.425996150697585e-02 2.425490258288459e-02 2.424984960255012e-02 2.424480255754471e-02 - 2.423976144931379e-02 2.423472627405213e-02 2.422969702193537e-02 2.422467367993699e-02 2.421965624107330e-02 - 2.421464470176334e-02 2.420963904926960e-02 2.420463927567678e-02 2.419964537946393e-02 2.419465735323985e-02 - 2.418967518800793e-02 2.418469887545246e-02 2.417972840901141e-02 2.417476377855392e-02 2.416980496962540e-02 - 2.416485198688481e-02 2.415990483049387e-02 2.415496347565664e-02 2.415002792020104e-02 2.414509816788697e-02 - 2.414017420064829e-02 2.413525600526027e-02 2.413034357711665e-02 2.412543691925479e-02 2.412053602209589e-02 - 2.411564086852338e-02 2.411075145960207e-02 2.410586778967854e-02 2.410098984367492e-02 2.409611761892932e-02 - 2.409125110932578e-02 2.408639030144091e-02 2.408153519631380e-02 2.407668578962185e-02 2.407184206146642e-02 - 2.406700400909483e-02 2.406217163125833e-02 2.405734491326586e-02 2.405252385052364e-02 2.404770844026444e-02 - 2.404289866819192e-02 2.403809452984102e-02 2.403329602484744e-02 2.402850314011094e-02 2.402371586479471e-02 - 2.401893419282938e-02 2.401415812045089e-02 2.400938764313821e-02 2.400462275334547e-02 2.399986343578922e-02 - 2.399510968520409e-02 2.399036150812855e-02 2.398561888480285e-02 2.398088180164008e-02 2.397615026865237e-02 - 2.397142427338870e-02 2.396670380040281e-02 2.396198885088599e-02 2.395727942113068e-02 2.395257549962209e-02 - 2.394787706723708e-02 2.394318412617158e-02 2.393849668455232e-02 2.393381472012022e-02 2.392913822141401e-02 - 2.392446719065216e-02 2.391980162598514e-02 2.391514151312970e-02 2.391048683154523e-02 2.390583758880722e-02 - 2.390119378770886e-02 2.389655541357522e-02 2.389192245255953e-02 2.388729489743550e-02 2.388267274893805e-02 - 2.387805599705324e-02 2.387344463051915e-02 2.386883864637205e-02 2.386423804212813e-02 2.385964281176755e-02 - 2.385505294183017e-02 2.385046842474073e-02 2.384588925674739e-02 2.384131543037479e-02 2.383674693675093e-02 - 2.383218376863605e-02 2.382762592698097e-02 2.382307340607612e-02 2.381852619200930e-02 2.381398427584630e-02 - 2.380944765139419e-02 2.380491631418275e-02 2.380039026147703e-02 2.379586948695320e-02 2.379135397827495e-02 - 2.378684372855616e-02 2.378233873403001e-02 2.377783899070361e-02 2.377334448688785e-02 2.376885521259772e-02 - 2.376437117173840e-02 2.375989235311110e-02 2.375541874056297e-02 2.375095033967465e-02 2.374648714507580e-02 - 2.374202914136664e-02 2.373757632537944e-02 2.373312869288914e-02 2.372868623536894e-02 2.372424894471153e-02 - 2.371981681484819e-02 2.371538984133524e-02 2.371096801501392e-02 2.370655132827953e-02 2.370213977833190e-02 - 2.369773335765337e-02 2.369333205880069e-02 2.368893587883010e-02 2.368454481046802e-02 2.368015884444250e-02 - 2.367577797334512e-02 2.367140218742613e-02 2.366703147963686e-02 2.366266585606776e-02 2.365830530976384e-02 - 2.365394982335759e-02 2.364959939168465e-02 2.364525401200215e-02 2.364091367903051e-02 2.363657837870221e-02 - 2.363224810602428e-02 2.362792286773459e-02 2.362360264929340e-02 2.361928743769403e-02 2.361497723470610e-02 - 2.361067203383207e-02 2.360637182449869e-02 2.360207659794005e-02 2.359778635431920e-02 2.359350109143980e-02 - 2.358922079027601e-02 2.358494544772182e-02 2.358067506765588e-02 2.357640963547734e-02 2.357214914179353e-02 - 2.356789358468287e-02 2.356364296127548e-02 2.355939726289868e-02 2.355515647729875e-02 2.355092060314220e-02 - 2.354668963726047e-02 2.354246356971432e-02 2.353824239065819e-02 2.353402609608870e-02 2.352981468856027e-02 - 2.352560815209497e-02 2.352140647526573e-02 2.351720967050562e-02 2.351301772305351e-02 2.350883061252196e-02 - 2.350464834642137e-02 2.350047092197861e-02 2.349629832802946e-02 2.349213055910952e-02 2.348796760574937e-02 - 2.348380945835795e-02 2.347965612326723e-02 2.347550759163322e-02 2.347136384068571e-02 2.346722487769892e-02 - 2.346309070523777e-02 2.345896130833473e-02 2.345483667635093e-02 2.345071680463291e-02 2.344660169327714e-02 - 2.344249133136094e-02 2.343838570884467e-02 2.343428482723373e-02 2.343018868068117e-02 2.342609726030811e-02 - 2.342201056195244e-02 2.341792857876926e-02 2.341385130156056e-02 2.340977872164902e-02 2.340571083589386e-02 - 2.340164764377465e-02 2.339758913684304e-02 2.339353530825718e-02 2.338948615385810e-02 2.338544166438565e-02 - 2.338140183238109e-02 2.337736665460082e-02 2.337333612670094e-02 2.336931024309368e-02 2.336528899670786e-02 - 2.336127237782067e-02 2.335726037932775e-02 2.335325300092871e-02 2.334925023614406e-02 2.334525207670920e-02 - 2.334125851951941e-02 2.333726955725296e-02 2.333328518197435e-02 2.332930539416707e-02 2.332533018620607e-02 - 2.332135954429912e-02 2.331739346348105e-02 2.331343194297124e-02 2.330947498175055e-02 2.330552256758802e-02 - 2.330157469245372e-02 2.329763135682490e-02 2.329369255310137e-02 2.328975827131819e-02 2.328582850377367e-02 - 2.328190324900185e-02 2.327798250467623e-02 2.327406626164597e-02 2.327015451465238e-02 2.326624725851670e-02 - 2.326234448228765e-02 2.325844618291867e-02 2.325455236057939e-02 2.325066300636415e-02 2.324677811186985e-02 - 2.324289767062798e-02 2.323902167622130e-02 2.323515012509116e-02 2.323128301561370e-02 2.322742034088871e-02 - 2.322356209250113e-02 2.321970826255392e-02 2.321585884544971e-02 2.321201383858435e-02 2.320817324137425e-02 - 2.320433704277431e-02 2.320050523099401e-02 2.319667780275936e-02 2.319285475700314e-02 2.318903609087885e-02 - 2.318522179577433e-02 2.318141186586264e-02 2.317760629632794e-02 2.317380507773795e-02 2.317000820301008e-02 - 2.316621566880872e-02 2.316242747510807e-02 2.315864361575457e-02 2.315486407850317e-02 2.315108885694486e-02 - 2.314731794816131e-02 2.314355135044316e-02 2.313978905662257e-02 2.313603105913640e-02 2.313227735329952e-02 - 2.312852793585061e-02 2.312478280157292e-02 2.312104194073204e-02 2.311730534704967e-02 2.311357301587891e-02 - 2.310984494137890e-02 2.310612112341407e-02 2.310240155989217e-02 2.309868623130452e-02 2.309497513592190e-02 - 2.309126828241582e-02 2.308756565023808e-02 2.308386723175103e-02 2.308017303542274e-02 2.307648304592169e-02 - 2.307279725617671e-02 2.306911567493640e-02 2.306543828441958e-02 2.306176507302976e-02 2.305809605235563e-02 - 2.305443121050249e-02 2.305077053229759e-02 2.304711401909808e-02 2.304346166830784e-02 2.303981347406350e-02 - 2.303616943085239e-02 2.303252953349069e-02 2.302889377643319e-02 2.302526215247478e-02 2.302163465435939e-02 - 2.301801127709388e-02 2.301439202296127e-02 2.301077688440331e-02 2.300716584594829e-02 2.300355891234385e-02 - 2.299995607931316e-02 2.299635732709070e-02 2.299276266087610e-02 2.298917208378683e-02 2.298558558107965e-02 - 2.298200314503575e-02 2.297842477288603e-02 2.297485046311076e-02 2.297128020911345e-02 2.296771400315858e-02 - 2.296415184168031e-02 2.296059371667762e-02 2.295703962066644e-02 2.295348955785851e-02 2.294994352217295e-02 - 2.294640149900077e-02 2.294286348264926e-02 2.293932947451599e-02 2.293579947717141e-02 2.293227347444131e-02 - 2.292875145668869e-02 2.292523342863249e-02 2.292171938675970e-02 2.291820932208030e-02 2.291470322329688e-02 - 2.291120108573121e-02 2.290770290936340e-02 2.290420869564250e-02 2.290071843254762e-02 2.289723210840996e-02 - 2.289374972996874e-02 2.289027128684278e-02 2.288679676284003e-02 2.288332616596880e-02 2.287985949623025e-02 - 2.287639674290211e-02 2.287293789614104e-02 2.286948295143698e-02 2.286603190794522e-02 2.286258475709644e-02 - 2.285914149325583e-02 2.285570211629635e-02 2.285226661817064e-02 2.284883499242224e-02 2.284540723897847e-02 - 2.284198334984975e-02 2.283856331588243e-02 2.283514713353579e-02 2.283173480111027e-02 2.282832631556901e-02 - 2.282492166909090e-02 2.282152085461623e-02 2.281812386736860e-02 2.281473070606539e-02 2.281134136558116e-02 - 2.280795583769253e-02 2.280457411713410e-02 2.280119619914733e-02 2.279782207936136e-02 2.279445175627783e-02 - 2.279108522557549e-02 2.278772247795469e-02 2.278436350274908e-02 2.278100829770330e-02 2.277765687156956e-02 - 2.277430921150676e-02 2.277096530368425e-02 2.276762515226868e-02 2.276428875675497e-02 2.276095610802096e-02 - 2.275762718728153e-02 2.275430199700514e-02 2.275098054723153e-02 2.274766282325953e-02 2.274434881806882e-02 - 2.274103853245654e-02 2.273773195657694e-02 2.273442908251650e-02 2.273112990748000e-02 2.272783443024632e-02 - 2.272454264587135e-02 2.272125454541999e-02 2.271797012768606e-02 2.271468938883630e-02 2.271141231743784e-02 - 2.270813891155475e-02 2.270486917113991e-02 2.270160309030139e-02 2.269834065991423e-02 2.269508187421201e-02 - 2.269182673791773e-02 2.268857524219826e-02 2.268532737305624e-02 2.268208313254210e-02 2.267884251722086e-02 - 2.267560551920548e-02 2.267237214108131e-02 2.266914237609957e-02 2.266591620883689e-02 2.266269364166427e-02 - 2.265947467384046e-02 2.265625929499294e-02 2.265304750285308e-02 2.264983929495161e-02 2.264663466331073e-02 - 2.264343359962570e-02 2.264023610100446e-02 2.263704217283995e-02 2.263385180078203e-02 2.263066497176033e-02 - 2.262748170200772e-02 2.262430198020481e-02 2.262112578516977e-02 2.261795313211606e-02 2.261478401664109e-02 - 2.261161841743119e-02 2.260845633522814e-02 2.260529777070043e-02 2.260214271924124e-02 2.259899117823321e-02 - 2.259584314154298e-02 2.259269859890657e-02 2.258955754741791e-02 2.258641998536936e-02 2.258328590829124e-02 - 2.258015531052365e-02 2.257702818646037e-02 2.257390453172050e-02 2.257078434461123e-02 2.256766762198980e-02 - 2.256455435398716e-02 2.256144453344060e-02 2.255833815784602e-02 2.255523523027356e-02 2.255213574452021e-02 - 2.254903968810603e-02 2.254594705829782e-02 2.254285785514665e-02 2.253977207653749e-02 2.253668970834607e-02 - 2.253361074658835e-02 2.253053520058667e-02 2.252746305460894e-02 2.252439429792020e-02 2.252132894054988e-02 - 2.251826697539277e-02 2.251520839162438e-02 2.251215318778324e-02 2.250910135797150e-02 2.250605289615611e-02 - 2.250300780314812e-02 2.249996607511807e-02 2.249692770517706e-02 2.249389268897849e-02 2.249086101912092e-02 - 2.248783268793952e-02 2.248480769791340e-02 2.248178604607573e-02 2.247876772289102e-02 2.247575272657626e-02 - 2.247274105420605e-02 2.246973269884927e-02 2.246672765673356e-02 2.246372592391256e-02 2.246072749418018e-02 - 2.245773236145919e-02 2.245474052366870e-02 2.245175198466864e-02 2.244876673416187e-02 2.244578475935081e-02 - 2.244280606154297e-02 2.243983064008646e-02 2.243685849064164e-02 2.243388960632717e-02 2.243092397966235e-02 - 2.242796160524575e-02 2.242500248562306e-02 2.242204661762487e-02 2.241909399183298e-02 2.241614460666303e-02 - 2.241319845819517e-02 2.241025553754803e-02 2.240731584245553e-02 2.240437937032112e-02 2.240144611432051e-02 - 2.239851607018801e-02 2.239558923444239e-02 2.239266560299412e-02 2.238974517661811e-02 2.238682795331298e-02 - 2.238391391839321e-02 2.238100306495051e-02 2.237809539304577e-02 2.237519090301935e-02 2.237228958954325e-02 - 2.236939144530989e-02 2.236649647337483e-02 2.236360466636645e-02 2.236071600836286e-02 2.235783050633204e-02 - 2.235494816009726e-02 2.235206895420678e-02 2.234919288912077e-02 2.234631996540050e-02 2.234345017408028e-02 - 2.234058350741709e-02 2.233771996217690e-02 2.233485954108143e-02 2.233200223848051e-02 2.232914804618978e-02 - 2.232629696222737e-02 2.232344898389008e-02 2.232060410657171e-02 2.231776232362639e-02 2.231492363175558e-02 - 2.231208802922137e-02 2.230925550831191e-02 2.230642606279709e-02 2.230359969032392e-02 2.230077639232617e-02 - 2.229795616382932e-02 2.229513899284023e-02 2.229232488215048e-02 2.228951382986107e-02 2.228670582046145e-02 - 2.228390085767177e-02 2.228109894426768e-02 2.227830006461064e-02 2.227550421765863e-02 2.227271140560883e-02 - 2.226992161633195e-02 2.226713484518715e-02 2.226435109357777e-02 2.226157036041665e-02 2.225879263594571e-02 - 2.225601790864145e-02 2.225324618600033e-02 2.225047746610503e-02 2.224771173578603e-02 2.224494899695189e-02 - 2.224218924606724e-02 2.223943246967720e-02 2.223667867147697e-02 2.223392785229840e-02 2.223117999944780e-02 - 2.222843510958861e-02 2.222569318138216e-02 2.222295420869658e-02 2.222021819230338e-02 2.221748513172378e-02 - 2.221475501403353e-02 2.221202783347761e-02 2.220930358964832e-02 2.220658227937696e-02 2.220386389978368e-02 - 2.220114844711944e-02 2.219843591216284e-02 2.219572629440826e-02 2.219301959936691e-02 2.219031581219321e-02 - 2.218761492468887e-02 2.218491694233576e-02 2.218222185562244e-02 2.217952965986671e-02 2.217684036403281e-02 - 2.217415395419634e-02 2.217147041795686e-02 2.216878976537657e-02 2.216611199005385e-02 2.216343708084910e-02 - 2.216076504044857e-02 2.215809586407636e-02 2.215542954392592e-02 2.215276608232491e-02 2.215010547339664e-02 - 2.214744770611955e-02 2.214479278225410e-02 2.214214070177000e-02 2.213949145934428e-02 2.213684504847090e-02 - 2.213420146383213e-02 2.213156070201421e-02 2.212892275987791e-02 2.212628763520102e-02 2.212365532631548e-02 - 2.212102582567219e-02 2.211839912707401e-02 2.211577523186081e-02 2.211315413883962e-02 2.211053584219323e-02 - 2.210792033053083e-02 2.210530760247808e-02 2.210269766011106e-02 2.210009049378774e-02 2.209748609987134e-02 - 2.209488448015577e-02 2.209228563063591e-02 2.208968954607055e-02 2.208709622107550e-02 2.208450564887732e-02 - 2.208191782589816e-02 2.207933275252874e-02 2.207675042560285e-02 2.207417084119970e-02 2.207159399606388e-02 - 2.206901988424427e-02 2.206644850045388e-02 2.206387984291528e-02 2.206131390816773e-02 2.205875069196218e-02 - 2.205619019101501e-02 2.205363240248722e-02 2.205107732226570e-02 2.204852494231603e-02 2.204597526222870e-02 - 2.204342828418220e-02 2.204088399409952e-02 2.203834238815479e-02 2.203580347352047e-02 2.203326724064265e-02 - 2.203073368487589e-02 2.202820281109562e-02 2.202567460568826e-02 2.202314905892956e-02 2.202062617713913e-02 - 2.201810595951965e-02 2.201558839960293e-02 2.201307348855861e-02 2.201056122699519e-02 2.200805161543166e-02 - 2.200554464185156e-02 2.200304030240887e-02 2.200053859846551e-02 2.199803952619762e-02 2.199554308107517e-02 - 2.199304925941878e-02 2.199055805969111e-02 2.198806947716193e-02 2.198558350490501e-02 2.198310014348315e-02 - 2.198061939050182e-02 2.197814123774413e-02 2.197566568143648e-02 2.197319271829654e-02 2.197072234409288e-02 - 2.196825456242376e-02 2.196578937054303e-02 2.196332674903257e-02 2.196086670076693e-02 2.195840923401799e-02 - 2.195595433798292e-02 2.195350200785295e-02 2.195105224287541e-02 2.194860503638501e-02 2.194616038337459e-02 - 2.194371828086876e-02 2.194127872478465e-02 2.193884171275727e-02 2.193640724439015e-02 2.193397531871202e-02 - 2.193154592984012e-02 2.192911906730429e-02 2.192669472874541e-02 2.192427291582612e-02 2.192185362988310e-02 - 2.191943685926103e-02 2.191702259589666e-02 2.191461084837004e-02 2.191220161094460e-02 2.190979487232746e-02 - 2.190739062981033e-02 2.190498888177591e-02 2.190258962778606e-02 2.190019287048831e-02 2.189779860038415e-02 - 2.189540680312951e-02 2.189301748590321e-02 2.189063064823816e-02 2.188824627921663e-02 2.188586438035036e-02 - 2.188348494945867e-02 2.188110797669410e-02 2.187873346273279e-02 2.187636140793982e-02 2.187399180563438e-02 - 2.187162464701073e-02 2.186925992764394e-02 2.186689765219864e-02 2.186453782016761e-02 2.186218042520733e-02 - 2.185982545624109e-02 2.185747291143151e-02 2.185512279286289e-02 2.185277509428750e-02 2.185042981497303e-02 - 2.184808695595145e-02 2.184574650317918e-02 2.184340845337333e-02 2.184107281435048e-02 2.183873957690715e-02 - 2.183640873122354e-02 2.183408027442373e-02 2.183175421068970e-02 2.182943053984947e-02 2.182710925220595e-02 - 2.182479034512406e-02 2.182247381639650e-02 2.182015965839264e-02 2.181784786935527e-02 2.181553844939510e-02 - 2.181323139439093e-02 2.181092669994856e-02 2.180862436262286e-02 2.180632438083940e-02 2.180402674952244e-02 - 2.180173146217098e-02 2.179943851892379e-02 2.179714791838810e-02 2.179485965603752e-02 2.179257372764807e-02 - 2.179029013045416e-02 2.178800886254997e-02 2.178572991731780e-02 2.178345329019238e-02 2.178117898198011e-02 - 2.177890698980304e-02 2.177663730909087e-02 2.177436993586566e-02 2.177210486810286e-02 2.176984210277431e-02 - 2.176758163245009e-02 2.176532345522340e-02 2.176306757137086e-02 2.176081397536724e-02 2.175856266623576e-02 - 2.175631364444715e-02 2.175406689861889e-02 2.175182242380624e-02 2.174958022311289e-02 2.174734029291431e-02 - 2.174510262809328e-02 2.174286722491656e-02 2.174063408336708e-02 2.173840320169586e-02 2.173617457340815e-02 - 2.173394819180500e-02 2.173172405255836e-02 2.172950215559655e-02 2.172728250040623e-02 2.172506508580887e-02 - 2.172284990969628e-02 2.172063696250313e-02 2.171842623537083e-02 2.171621773566752e-02 2.171401146093844e-02 - 2.171180740120238e-02 2.170960555830954e-02 2.170740592901658e-02 2.170520850408856e-02 2.170301328419004e-02 - 2.170082027006994e-02 2.169862945830807e-02 2.169644084240343e-02 2.169425441572978e-02 2.169207017401216e-02 - 2.168988812007480e-02 2.168770825534887e-02 2.168553057272023e-02 2.168335506533793e-02 2.168118172867985e-02 - 2.167901056214399e-02 2.167684156632982e-02 2.167467473989915e-02 2.167251007478243e-02 2.167034756604321e-02 - 2.166818721221639e-02 2.166602901099679e-02 2.166387295840019e-02 2.166171905012346e-02 2.165956728718834e-02 - 2.165741766632386e-02 2.165527017845730e-02 2.165312482355555e-02 2.165098160273919e-02 2.164884051303741e-02 - 2.164670154730472e-02 2.164456469954934e-02 2.164242996946321e-02 2.164029735885670e-02 2.163816686523918e-02 - 2.163603847533059e-02 2.163391219068715e-02 2.163178801684997e-02 2.162966593882407e-02 2.162754595404139e-02 - 2.162542806873079e-02 2.162331227177066e-02 2.162119856181649e-02 2.161908694674025e-02 2.161697741144211e-02 - 2.161486994763257e-02 2.161276456243416e-02 2.161066125301312e-02 2.160856001324272e-02 2.160646083892226e-02 - 2.160436373197112e-02 2.160226869104043e-02 2.160017570438035e-02 2.159808476849354e-02 2.159599588501710e-02 - 2.159390905460169e-02 2.159182427010056e-02 2.158974152429478e-02 2.158766082444429e-02 2.158558216760809e-02 - 2.158350554187339e-02 2.158143094233737e-02 2.157935837033232e-02 2.157728782941571e-02 2.157521931196140e-02 - 2.157315281164952e-02 2.157108832745493e-02 2.156902585566251e-02 2.156696539445298e-02 2.156490694526656e-02 - 2.156285049964247e-02 2.156079605212440e-02 2.155874360997529e-02 2.155669316474123e-02 2.155464470676604e-02 - 2.155259824484399e-02 2.155055377365348e-02 2.154851128035285e-02 2.154647076406023e-02 2.154443222886153e-02 - 2.154239567713112e-02 2.154036109691455e-02 2.153832848380287e-02 2.153629784162443e-02 2.153426916110383e-02 - 2.153224243839968e-02 2.153021767928900e-02 2.152819487735599e-02 2.152617402486068e-02 2.152415511969989e-02 - 2.152213816346627e-02 2.152012315489333e-02 2.151811008517867e-02 2.151609895106827e-02 2.151408975350627e-02 - 2.151208249405811e-02 2.151007716412923e-02 2.150807375412716e-02 2.150607227139823e-02 2.150407271389111e-02 - 2.150207507178008e-02 2.150007934512424e-02 2.149808553345600e-02 2.149609363244227e-02 2.149410363369511e-02 - 2.149211553597770e-02 2.149012934592863e-02 2.148814505588094e-02 2.148616265955859e-02 2.148418215959600e-02 - 2.148220354775919e-02 2.148022681859241e-02 2.147825198020547e-02 2.147627902590631e-02 2.147430794498996e-02 - 2.147233873858447e-02 2.147037140717467e-02 2.146840594879004e-02 2.146644235912430e-02 2.146448063553682e-02 - 2.146252077578778e-02 2.146056277288728e-02 2.145860662318243e-02 2.145665232726965e-02 2.145469988438242e-02 - 2.145274929256557e-02 2.145080054831608e-02 2.144885364454498e-02 2.144690857746641e-02 2.144496534942983e-02 - 2.144302395654175e-02 2.144108439499599e-02 2.143914666610025e-02 2.143721076355154e-02 2.143527668029283e-02 - 2.143334441800114e-02 2.143141397685691e-02 2.142948535268880e-02 2.142755853497146e-02 2.142563352602930e-02 - 2.142371033388222e-02 2.142178894500280e-02 2.141986935358769e-02 2.141795156402302e-02 2.141603556793572e-02 - 2.141412136230918e-02 2.141220895321441e-02 2.141029833297722e-02 2.140838949470163e-02 2.140648244009975e-02 - 2.140457716697424e-02 2.140267367166504e-02 2.140077195168551e-02 2.139887200433115e-02 2.139697382547902e-02 - 2.139507740888590e-02 2.139318275720074e-02 2.139128987343195e-02 2.138939874415982e-02 2.138750936775835e-02 - 2.138562175102568e-02 2.138373588641631e-02 2.138185176599392e-02 2.137996938652284e-02 2.137808875223814e-02 - 2.137620986251236e-02 2.137433270909064e-02 2.137245728978030e-02 2.137058360186242e-02 2.136871163953864e-02 - 2.136684140688612e-02 2.136497290390506e-02 2.136310611597474e-02 2.136124104345297e-02 2.135937769212130e-02 - 2.135751605860686e-02 2.135565613610374e-02 2.135379791822062e-02 2.135194140402438e-02 2.135008659417071e-02 - 2.134823348788390e-02 2.134638207760105e-02 2.134453236032835e-02 2.134268433814086e-02 2.134083800772077e-02 - 2.133899336411597e-02 2.133715040305821e-02 2.133530912424798e-02 2.133346952672500e-02 2.133163160670673e-02 - 2.132979536297411e-02 2.132796079152963e-02 2.132612788229375e-02 2.132429663915477e-02 2.132246706798375e-02 - 2.132063916037057e-02 2.131881290769116e-02 2.131698830582932e-02 2.131516535978050e-02 2.131334407028698e-02 - 2.131152443198118e-02 2.130970643552249e-02 2.130789007885127e-02 2.130607536669811e-02 2.130426229682303e-02 - 2.130245086421657e-02 2.130064106313053e-02 2.129883288837854e-02 2.129702633875496e-02 2.129522141788389e-02 - 2.129341812290223e-02 2.129161644909972e-02 2.128981639414264e-02 2.128801795585396e-02 2.128622113110773e-02 - 2.128442591509673e-02 2.128263230760480e-02 2.128084030772261e-02 2.127904990395241e-02 2.127726109953179e-02 - 2.127547390424031e-02 2.127368830171838e-02 2.127190428479188e-02 2.127012186038021e-02 2.126834102886177e-02 - 2.126656178481652e-02 2.126478411995624e-02 2.126300803603507e-02 2.126123353191450e-02 2.125946059821390e-02 - 2.125768923851055e-02 2.125591945439615e-02 2.125415123382016e-02 2.125238457915817e-02 2.125061949358618e-02 - 2.124885596288304e-02 2.124709398735697e-02 2.124533357303348e-02 2.124357470952245e-02 2.124181739435340e-02 - 2.124006163206048e-02 2.123830741948956e-02 2.123655475001017e-02 2.123480361731545e-02 2.123305402409987e-02 - 2.123130596739953e-02 2.122955943693203e-02 2.122781443910126e-02 2.122607097723360e-02 2.122432904130337e-02 - 2.122258862659696e-02 2.122084973282204e-02 2.121911236175234e-02 2.121737650789419e-02 2.121564216387619e-02 - 2.121390932803162e-02 2.121217800425756e-02 2.121044819455527e-02 2.120871988671843e-02 2.120699307684077e-02 - 2.120526776795157e-02 2.120354395552526e-02 2.120182163603621e-02 2.120010080901829e-02 2.119838147500087e-02 - 2.119666363123091e-02 2.119494727091758e-02 2.119323238927472e-02 2.119151898655034e-02 2.118980706773010e-02 - 2.118809662574528e-02 2.118638765303925e-02 2.118468015121633e-02 2.118297411864271e-02 2.118126955146517e-02 - 2.117956644637810e-02 2.117786480292237e-02 2.117616462067450e-02 2.117446589411339e-02 2.117276862084477e-02 - 2.117107280130004e-02 2.116937843379139e-02 2.116768551256503e-02 2.116599403067535e-02 2.116430399205533e-02 - 2.116261539753040e-02 2.116092824074994e-02 2.115924251858398e-02 2.115755822756320e-02 2.115587536308644e-02 - 2.115419393062315e-02 2.115251393109511e-02 2.115083534999197e-02 2.114915818684827e-02 2.114748244571777e-02 - 2.114580812117730e-02 2.114413521000233e-02 2.114246371011731e-02 2.114079361630021e-02 2.113912493113981e-02 - 2.113745765864524e-02 2.113579178347091e-02 2.113412730283017e-02 2.113246422731517e-02 2.113080255018658e-02 - 2.112914226466844e-02 2.112748336987266e-02 2.112582586239263e-02 2.112416973838773e-02 2.112251499585494e-02 - 2.112086163946853e-02 2.111920966923609e-02 2.111755907231158e-02 2.111590984741022e-02 2.111426199652882e-02 - 2.111261551330255e-02 2.111097039854193e-02 2.110932665501722e-02 2.110768427494188e-02 2.110604325159932e-02 - 2.110440358337455e-02 2.110276527755971e-02 2.110112832954347e-02 2.109949272542061e-02 2.109785847270291e-02 - 2.109622557382813e-02 2.109459401840321e-02 2.109296380279178e-02 2.109133492634166e-02 2.108970738897449e-02 - 2.108808119187406e-02 2.108645633261542e-02 2.108483280177793e-02 2.108321059649476e-02 2.108158971816587e-02 - 2.107997016818712e-02 2.107835194176262e-02 2.107673503228282e-02 2.107511943992769e-02 2.107350516482023e-02 - 2.107189220511111e-02 2.107028055587330e-02 2.106867021606288e-02 2.106706118735907e-02 2.106545346293816e-02 - 2.106384703796383e-02 2.106224191316689e-02 2.106063808955507e-02 2.105903556250238e-02 2.105743432153898e-02 - 2.105583437513380e-02 2.105423572746437e-02 2.105263836035830e-02 2.105104227142354e-02 2.104944746729932e-02 - 2.104785395134047e-02 2.104626171573087e-02 2.104467074966839e-02 2.104308105452007e-02 2.104149263222363e-02 - 2.103990548218236e-02 2.103831959968388e-02 2.103673498293864e-02 2.103515163200819e-02 2.103356953798411e-02 - 2.103198869775456e-02 2.103040911733209e-02 2.102883079574534e-02 2.102725372695269e-02 2.102567790273802e-02 - 2.102410332486244e-02 2.102252999507990e-02 2.102095790737760e-02 2.101938706174730e-02 2.101781745879964e-02 - 2.101624909192282e-02 2.101468195450770e-02 2.101311604447429e-02 2.101155137000445e-02 2.100998792857284e-02 - 2.100842571064132e-02 2.100686471849675e-02 2.100530495078897e-02 2.100374640001838e-02 2.100218906014547e-02 - 2.100063293273019e-02 2.099907802537045e-02 2.099752433031871e-02 2.099597184169578e-02 2.099442056340826e-02 - 2.099287048844137e-02 2.099132161182849e-02 2.098977394056553e-02 2.098822746767990e-02 2.098668218492037e-02 - 2.098513809937855e-02 2.098359520656010e-02 2.098205349870481e-02 2.098051298433238e-02 2.097897365788888e-02 - 2.097743550607582e-02 2.097589853771057e-02 2.097436275317134e-02 2.097282814179318e-02 2.097129470444368e-02 - 2.096976244194844e-02 2.096823135057212e-02 2.096670142502171e-02 2.096517266432222e-02 2.096364507294766e-02 - 2.096211864290872e-02 2.096059336882086e-02 2.095906925902597e-02 2.095754630598820e-02 2.095602449947026e-02 - 2.095450384463222e-02 2.095298434369944e-02 2.095146599313072e-02 2.094994878341327e-02 2.094843271500539e-02 - 2.094691779352117e-02 2.094540401073429e-02 2.094389136288097e-02 2.094237985194064e-02 2.094086947133280e-02 - 2.093936021927527e-02 2.093785210108921e-02 2.093634511142213e-02 2.093483924325246e-02 2.093333449385128e-02 - 2.093183086645815e-02 2.093032836253444e-02 2.092882697593887e-02 2.092732670311165e-02 2.092582754108962e-02 - 2.092432948474122e-02 2.092283253800634e-02 2.092133670446908e-02 2.091984196956714e-02 2.091834833166288e-02 - 2.091685579922333e-02 2.091536436905392e-02 2.091387403364116e-02 2.091238478662568e-02 2.091089663391256e-02 - 2.090940957508328e-02 2.090792359986955e-02 2.090643871032298e-02 2.090495490818039e-02 2.090347218811059e-02 - 2.090199054718417e-02 2.090050998308706e-02 2.089903049243704e-02 2.089755207414248e-02 2.089607472810411e-02 - 2.089459845325996e-02 2.089312324594328e-02 2.089164910255710e-02 2.089017602427597e-02 2.088870401009232e-02 - 2.088723305634642e-02 2.088576315893389e-02 2.088429431601771e-02 2.088282652696964e-02 2.088135978615913e-02 - 2.087989409321534e-02 2.087842945395569e-02 2.087696586275656e-02 2.087550331287119e-02 2.087404180207852e-02 - 2.087258132736208e-02 2.087112188861259e-02 2.086966349090147e-02 2.086820612891688e-02 2.086674979608584e-02 - 2.086529449590395e-02 2.086384022331517e-02 2.086238697045790e-02 2.086093474039187e-02 2.085948353444753e-02 - 2.085803335091995e-02 2.085658418796912e-02 2.085513604081134e-02 2.085368890289571e-02 2.085224277300881e-02 - 2.085079765267601e-02 2.084935354393509e-02 2.084791044341373e-02 2.084646834711395e-02 2.084502725286095e-02 - 2.084358715744794e-02 2.084214805848912e-02 2.084070995598070e-02 2.083927284909677e-02 2.083783673573611e-02 - 2.083640161226469e-02 2.083496747523998e-02 2.083353432223483e-02 2.083210215303235e-02 2.083067096927498e-02 - 2.082924077044086e-02 2.082781154460241e-02 2.082638329211299e-02 2.082495602309350e-02 2.082352972509603e-02 - 2.082210439277076e-02 2.082068003454410e-02 2.081925664261260e-02 2.081783421113447e-02 2.081641274508624e-02 - 2.081499224082686e-02 2.081357269450268e-02 2.081215410878219e-02 2.081073647873721e-02 2.080931979776872e-02 - 2.080790406592918e-02 2.080648928500749e-02 2.080507545608266e-02 2.080366257645188e-02 2.080225063919177e-02 - 2.080083963814898e-02 2.079942957984240e-02 2.079802046255642e-02 2.079661227641324e-02 2.079520502452446e-02 - 2.079379870732677e-02 2.079239331877295e-02 2.079098886066600e-02 2.078958533155146e-02 2.078818272238310e-02 - 2.078678103594075e-02 2.078538027480030e-02 2.078398043169412e-02 2.078258150517176e-02 2.078118349582184e-02 - 2.077978640032045e-02 2.077839021518007e-02 2.077699493798996e-02 2.077560056860569e-02 2.077420710626992e-02 - 2.077281454908150e-02 2.077142289397691e-02 2.077003213665487e-02 2.076864227381708e-02 2.076725331084939e-02 - 2.076586524753700e-02 2.076447807479244e-02 2.076309178893910e-02 2.076170639200464e-02 2.076032188924749e-02 - 2.075893827075576e-02 2.075755552867013e-02 2.075617367037054e-02 2.075479269394757e-02 2.075341259415677e-02 - 2.075203337133167e-02 2.075065502119062e-02 2.074927754004291e-02 2.074790093527532e-02 2.074652520196147e-02 - 2.074515032814618e-02 2.074377631824518e-02 2.074240317461906e-02 2.074103089389617e-02 2.073965947285912e-02 - 2.073828890806665e-02 2.073691919635770e-02 2.073555033844026e-02 2.073418233381763e-02 2.073281517823886e-02 - 2.073144886803073e-02 2.073008340377233e-02 2.072871879147831e-02 2.072735502222402e-02 2.072599208688765e-02 - 2.072462999392301e-02 2.072326873860233e-02 2.072190831224300e-02 2.072054872378210e-02 2.071918997148765e-02 - 2.071783204556565e-02 2.071647494755481e-02 2.071511867766477e-02 2.071376323196711e-02 2.071240860565183e-02 - 2.071105479791370e-02 2.070970181180314e-02 2.070834964331268e-02 2.070699828917085e-02 2.070564775075080e-02 - 2.070429802727900e-02 2.070294911380581e-02 2.070160100113699e-02 2.070025369244763e-02 2.069890719322030e-02 - 2.069756149841416e-02 2.069621660331007e-02 2.069487250616514e-02 2.069352920972353e-02 2.069218670843115e-02 - 2.069084499406914e-02 2.068950407478504e-02 2.068816395008570e-02 2.068682460979861e-02 2.068548605525363e-02 - 2.068414828647597e-02 2.068281129879088e-02 2.068147509294542e-02 2.068013966727868e-02 2.067880501481977e-02 - 2.067747113766845e-02 2.067613803889334e-02 2.067480571527677e-02 2.067347415977921e-02 2.067214336769299e-02 - 2.067081334319025e-02 2.066948408776949e-02 2.066815559807265e-02 2.066682786498898e-02 2.066550088830383e-02 - 2.066417467341183e-02 2.066284921698086e-02 2.066152451475288e-02 2.066020056372571e-02 2.065887736182303e-02 - 2.065755490839281e-02 2.065623320354572e-02 2.065491224367795e-02 2.065359202675738e-02 2.065227255436574e-02 - 2.065095382314874e-02 2.064963582941213e-02 2.064831857270797e-02 2.064700204957123e-02 2.064568625651786e-02 - 2.064437119414936e-02 2.064305686324694e-02 2.064174326345409e-02 2.064043039179931e-02 2.063911824280925e-02 - 2.063780681176866e-02 2.063649610237503e-02 2.063518611610314e-02 2.063387684909248e-02 2.063256829217405e-02 - 2.063126044539576e-02 2.062995331851188e-02 2.062864690334512e-02 2.062734119190086e-02 2.062603618600375e-02 - 2.062473188642144e-02 2.062342829221786e-02 2.062212540064643e-02 2.062082320714733e-02 2.061952170915304e-02 - 2.061822091004314e-02 2.061692080716460e-02 2.061562139605911e-02 2.061432267954307e-02 2.061302465323251e-02 - 2.061172730955065e-02 2.061043065371613e-02 2.060913468523504e-02 2.060783939685846e-02 2.060654478913799e-02 - 2.060525086119714e-02 2.060395760866959e-02 2.060266503271371e-02 2.060137313244415e-02 2.060008190215519e-02 - 2.059879134465455e-02 2.059750146004468e-02 2.059621223782829e-02 2.059492368052522e-02 2.059363579225837e-02 - 2.059234856405708e-02 2.059106199328788e-02 2.058977608130871e-02 2.058849082556723e-02 2.058720622498806e-02 - 2.058592227959311e-02 2.058463898696043e-02 2.058335634281647e-02 2.058207434376584e-02 2.058079299573017e-02 - 2.057951229614279e-02 2.057823223269817e-02 2.057695281356401e-02 2.057567404187197e-02 2.057439590387300e-02 - 2.057311839681732e-02 2.057184152455586e-02 2.057056529173392e-02 2.056928969078429e-02 2.056801471376779e-02 - 2.056674036634529e-02 2.056546664830153e-02 2.056419355486686e-02 2.056292108306100e-02 2.056164923170236e-02 - 2.056037800067255e-02 2.055910738924650e-02 2.055783739340399e-02 2.055656800859636e-02 2.055529924146672e-02 - 2.055403109005562e-02 2.055276354110791e-02 2.055149659755915e-02 2.055023026272679e-02 2.054896453244645e-02 - 2.054769940766287e-02 2.054643488681757e-02 2.054517096062926e-02 2.054390763218316e-02 2.054264490512525e-02 - 2.054138276915942e-02 2.054012122328143e-02 2.053886027085424e-02 2.053759990682471e-02 2.053634012878631e-02 - 2.053508093799464e-02 2.053382233647706e-02 2.053256431985532e-02 2.053130687980379e-02 2.053005001911220e-02 - 2.052879373804411e-02 2.052753803104820e-02 2.052628289842169e-02 2.052502834052905e-02 2.052377435424499e-02 - 2.052252093383405e-02 2.052126807833591e-02 2.052001579579881e-02 2.051876408076618e-02 2.051751292558091e-02 - 2.051626233431153e-02 2.051501230108543e-02 2.051376281904528e-02 2.051251389905356e-02 2.051126553806812e-02 - 2.051001772450580e-02 2.050877046477720e-02 2.050752375748313e-02 2.050627759308629e-02 2.050503197764233e-02 - 2.050378691120845e-02 2.050254238346269e-02 2.050129839647772e-02 2.050005495152270e-02 2.049881204279591e-02 - 2.049756967049427e-02 2.049632783497685e-02 2.049508653204386e-02 2.049384576061373e-02 2.049260552085964e-02 - 2.049136581124810e-02 2.049012662828215e-02 2.048888796855573e-02 2.048764983217528e-02 2.048641222055239e-02 - 2.048517513365279e-02 2.048393856449956e-02 2.048270250702790e-02 2.048146696002243e-02 2.048023193267689e-02 - 2.047899742444990e-02 2.047776342204647e-02 2.047652992557144e-02 2.047529693666283e-02 2.047406445284291e-02 - 2.047283247820367e-02 2.047160101124722e-02 2.047037003705319e-02 2.046913955996649e-02 2.046790958805229e-02 - 2.046668011290463e-02 2.046545112747173e-02 2.046422263048016e-02 2.046299462941648e-02 2.046176712182623e-02 - 2.046054009863872e-02 2.045931356011635e-02 2.045808750875261e-02 2.045686194483555e-02 2.045563685869128e-02 - 2.045441224888558e-02 2.045318812405373e-02 2.045196447539730e-02 2.045074129851060e-02 2.044951860203706e-02 - 2.044829637561388e-02 2.044707461146781e-02 2.044585332076453e-02 2.044463250090934e-02 2.044341214478788e-02 - 2.044219225389736e-02 2.044097282684260e-02 2.043975385980242e-02 2.043853534979080e-02 2.043731729516990e-02 - 2.043609969584751e-02 2.043488255365452e-02 2.043366586840525e-02 2.043244963622695e-02 2.043123384788510e-02 - 2.043001850356880e-02 2.042880361352058e-02 2.042758917125052e-02 2.042637516923373e-02 2.042516160738241e-02 - 2.042394848596822e-02 2.042273580364956e-02 2.042152355668345e-02 2.042031174421715e-02 2.041910036711696e-02 - 2.041788942589821e-02 2.041667891618270e-02 2.041546883283581e-02 2.041425917723074e-02 2.041304994671302e-02 - 2.041184113736942e-02 2.041063275507356e-02 2.040942479864618e-02 2.040821725911453e-02 2.040701013329647e-02 - 2.040580342336421e-02 2.040459713364973e-02 2.040339125626194e-02 2.040218578748979e-02 2.040098073437600e-02 - 2.039977609190064e-02 2.039857185194057e-02 2.039736801200263e-02 2.039616457948628e-02 2.039496155847034e-02 - 2.039375893548800e-02 2.039255670811317e-02 2.039135487906758e-02 2.039015344139171e-02 2.038895239754324e-02 - 2.038775175394349e-02 2.038655150008423e-02 2.038535163468296e-02 2.038415216492024e-02 2.038295307932101e-02 - 2.038175437156158e-02 2.038055604740632e-02 2.037935811014152e-02 2.037816055719221e-02 2.037696338008003e-02 - 2.037576657774965e-02 2.037457015197002e-02 2.037337410306159e-02 2.037217842811476e-02 2.037098312337542e-02 - 2.036978818702816e-02 2.036859361901312e-02 2.036739941883561e-02 2.036620558232109e-02 2.036501210897116e-02 - 2.036381899981477e-02 2.036262624936801e-02 2.036143385733716e-02 2.036024182706139e-02 2.035905014947786e-02 - 2.035785882153747e-02 2.035666784977269e-02 2.035547723079831e-02 2.035428696142468e-02 2.035309704319765e-02 - 2.035190747134853e-02 2.035071824110532e-02 2.034952935293085e-02 2.034834080749865e-02 2.034715260430401e-02 - 2.034596474052595e-02 2.034477721202228e-02 2.034359001578161e-02 2.034240315367684e-02 2.034121662664043e-02 - 2.034003043357028e-02 2.033884457132868e-02 2.033765903741480e-02 2.033647382949949e-02 2.033528894162872e-02 - 2.033410437471255e-02 2.033292013620119e-02 2.033173621775026e-02 2.033055261459435e-02 2.032936933387398e-02 - 2.032818637173341e-02 2.032700371995237e-02 2.032582137330103e-02 2.032463934032926e-02 2.032345762721536e-02 - 2.032227621977112e-02 2.032109511380310e-02 2.031991431266943e-02 2.031873381713771e-02 2.031755362367381e-02 - 2.031637372822898e-02 2.031519413522404e-02 2.031401484060572e-02 2.031283583475656e-02 2.031165712768451e-02 - 2.031047872082618e-02 2.030930060067025e-02 2.030812276414845e-02 2.030694521582938e-02 2.030576796297434e-02 - 2.030459099391277e-02 2.030341430130414e-02 2.030223789822972e-02 2.030106177803277e-02 2.029988592949474e-02 - 2.029871035725545e-02 2.029753506661443e-02 2.029636005659757e-02 2.029518531267896e-02 2.029401083596470e-02 - 2.029283663654064e-02 2.029166270589052e-02 2.029048903923464e-02 2.028931563858370e-02 2.028814250195392e-02 - 2.028696962711050e-02 2.028579701358946e-02 2.028462466440920e-02 2.028345257575578e-02 2.028228073462766e-02 - 2.028110914546667e-02 2.027993781542017e-02 2.027876674182124e-02 2.027759591671596e-02 2.027642533515473e-02 - 2.027525500323221e-02 2.027408491983729e-02 2.027291508043819e-02 2.027174548650143e-02 2.027057613494678e-02 - 2.026940701983228e-02 2.026823814087089e-02 2.026706949898955e-02 2.026590109425394e-02 2.026473292320746e-02 - 2.026356498366547e-02 2.026239727592488e-02 2.026122979922282e-02 2.026006255023894e-02 2.025889552388743e-02 - 2.025772872449768e-02 2.025656215399196e-02 2.025539580342713e-02 2.025422967119250e-02 2.025306375830951e-02 - 2.025189806183918e-02 2.025073258129647e-02 2.024956731656576e-02 2.024840226339874e-02 2.024723742127980e-02 - 2.024607279125879e-02 2.024490836776212e-02 2.024374415071052e-02 2.024258014353189e-02 2.024141633571028e-02 - 2.024025272656142e-02 2.023908932762591e-02 2.023792612793740e-02 2.023676312010299e-02 2.023560031179207e-02 - 2.023443769779265e-02 2.023327527310789e-02 2.023211304323675e-02 2.023095100708355e-02 2.022978916007167e-02 - 2.022862749919407e-02 2.022746602379288e-02 2.022630473371739e-02 2.022514362648272e-02 2.022398270121405e-02 - 2.022282195791762e-02 2.022166139402294e-02 2.022050100551405e-02 2.021934078921764e-02 2.021818074920451e-02 - 2.021702088593813e-02 2.021586119314628e-02 2.021470166428228e-02 2.021354230080554e-02 2.021238311308448e-02 - 2.021122409287018e-02 2.021006523025651e-02 2.020890652716039e-02 2.020774798484683e-02 2.020658960393083e-02 - 2.020543138529554e-02 2.020427332378045e-02 2.020311541298552e-02 2.020195765397637e-02 2.020080004744672e-02 - 2.019964259236717e-02 2.019848528642001e-02 2.019732812869024e-02 2.019617111926010e-02 2.019501425544548e-02 - 2.019385753379127e-02 2.019270095135025e-02 2.019154450793482e-02 2.019038820298517e-02 2.018923203417478e-02 - 2.018807600019563e-02 2.018692010151906e-02 2.018576433995726e-02 2.018460870891364e-02 2.018345320296787e-02 - 2.018229782843392e-02 2.018114258172615e-02 2.017998745649097e-02 2.017883245877245e-02 2.017767758620927e-02 - 2.017652283054322e-02 2.017536819223788e-02 2.017421367319040e-02 2.017305927292809e-02 2.017190498313902e-02 - 2.017075080461503e-02 2.016959674752286e-02 2.016844280049332e-02 2.016728895684716e-02 2.016613522539111e-02 - 2.016498159847723e-02 2.016382807033869e-02 2.016267465040216e-02 2.016152133310211e-02 2.016036811076429e-02 - 2.015921498985646e-02 2.015806197025070e-02 2.015690904702832e-02 2.015575621731957e-02 2.015460347791708e-02 - 2.015345082711757e-02 2.015229826996444e-02 2.015114580452791e-02 2.014999342256183e-02 2.014884112402139e-02 - 2.014768891079059e-02 2.014653678283008e-02 2.014538473229735e-02 2.014423275838842e-02 2.014308087159530e-02 - 2.014192906336537e-02 2.014077732405132e-02 2.013962565684693e-02 2.013847406112768e-02 2.013732253607323e-02 - 2.013617108558620e-02 2.013501970367529e-02 2.013386838304751e-02 2.013271713092954e-02 2.013156594450895e-02 - 2.013041481517404e-02 2.012926374836556e-02 2.012811274375330e-02 2.012696179396415e-02 2.012581089842930e-02 - 2.012466005832842e-02 2.012350927388322e-02 2.012235854139777e-02 2.012120785897021e-02 2.012005722808521e-02 - 2.011890664240422e-02 2.011775609861771e-02 2.011660560342765e-02 2.011545514995805e-02 2.011430473248947e-02 - 2.011315436328775e-02 2.011200403690588e-02 2.011085374071231e-02 2.010970347811273e-02 2.010855325123000e-02 - 2.010740305829795e-02 2.010625289543029e-02 2.010510276184403e-02 2.010395265874816e-02 2.010280258124321e-02 - 2.010165252783862e-02 2.010050250168409e-02 2.009935249835288e-02 2.009820251528310e-02 2.009705255512517e-02 - 2.009590261098061e-02 2.009475267797075e-02 2.009360276160796e-02 2.009245286068316e-02 2.009130297235736e-02 - 2.009015309860190e-02 2.008900323371492e-02 2.008785337125678e-02 2.008670351711407e-02 2.008555367122358e-02 - 2.008440382812401e-02 2.008325398588614e-02 2.008210414433437e-02 2.008095430334925e-02 2.007980445913736e-02 - 2.007865461009197e-02 2.007750475755383e-02 2.007635489836262e-02 2.007520502856765e-02 2.007405514609401e-02 - 2.007290525369839e-02 2.007175535352643e-02 2.007060544261636e-02 2.006945551378952e-02 2.006830556246986e-02 - 2.006715559358176e-02 2.006600560685722e-02 2.006485559907452e-02 2.006370557035152e-02 2.006255552017783e-02 - 2.006140544519211e-02 2.006025533608720e-02 2.005910519424486e-02 2.005795502866486e-02 2.005680483150780e-02 - 2.005565460068358e-02 2.005450434307724e-02 2.005335404752871e-02 2.005220370751987e-02 2.005105333078331e-02 - 2.004990291380246e-02 2.004875245256121e-02 2.004760195075808e-02 2.004645140541610e-02 2.004530081249103e-02 - 2.004415017386308e-02 2.004299948719255e-02 2.004184874893760e-02 2.004069796075558e-02 2.003954711861807e-02 - 2.003839621652469e-02 2.003724525928808e-02 2.003609424691447e-02 2.003494317431652e-02 2.003379204407136e-02 - 2.003264085311753e-02 2.003148959193977e-02 2.003033826577724e-02 2.002918687817827e-02 2.002803542325049e-02 - 2.002688389828578e-02 2.002573230084169e-02 2.002458062668545e-02 2.002342887779152e-02 2.002227705716231e-02 - 2.002112516254241e-02 2.001997318998642e-02 2.001882113644655e-02 2.001766900292078e-02 2.001651678857442e-02 - 2.001536448981540e-02 2.001421210083374e-02 2.001305962366636e-02 2.001190706486020e-02 2.001075441600587e-02 - 2.000960167234195e-02 2.000844883687991e-02 2.000729590520412e-02 2.000614287591466e-02 2.000498975435740e-02 - 2.000383653574291e-02 2.000268321490327e-02 2.000152979351511e-02 2.000037626872929e-02 1.999922263743778e-02 - 1.999806890154111e-02 1.999691505794393e-02 1.999576110265488e-02 1.999460703886217e-02 1.999345286480270e-02 - 1.999229857569377e-02 1.999114417297134e-02 1.998998965543275e-02 1.998883501902821e-02 1.998768026399775e-02 - 1.998652538946059e-02 1.998537039260291e-02 1.998421527483334e-02 1.998306003351848e-02 1.998190465988335e-02 - 1.998074915750420e-02 1.997959352937345e-02 1.997843776879367e-02 1.997728187765045e-02 1.997612585705249e-02 - 1.997496969649909e-02 1.997381339760593e-02 1.997265696528752e-02 1.997150039002939e-02 1.997034367059401e-02 - 1.996918681208352e-02 1.996802981226081e-02 1.996687266788810e-02 1.996571537594770e-02 1.996455793197006e-02 - 1.996340033608642e-02 1.996224259309599e-02 1.996108470119043e-02 1.995992665416334e-02 1.995876844505867e-02 - 1.995761008193637e-02 1.995645156786617e-02 1.995529288784624e-02 1.995413404457776e-02 1.995297504246996e-02 - 1.995181586885687e-02 1.995065652904149e-02 1.994949703248385e-02 1.994833736513130e-02 1.994717752162546e-02 - 1.994601750553184e-02 1.994485731663886e-02 1.994369695406686e-02 1.994253641736701e-02 1.994137570693218e-02 - 1.994021481716852e-02 1.993905373876526e-02 1.993789248152490e-02 1.993673104732284e-02 1.993556942048493e-02 - 1.993440760773439e-02 1.993324561433191e-02 1.993208342679873e-02 1.993092104568069e-02 1.992975847582151e-02 - 1.992859571315939e-02 1.992743275300710e-02 1.992626959353599e-02 1.992510623927749e-02 1.992394268911061e-02 - 1.992277893654564e-02 1.992161497535049e-02 1.992045080942924e-02 1.991928644769617e-02 1.991812187931771e-02 - 1.991695709651699e-02 1.991579210148713e-02 1.991462689658082e-02 1.991346148075462e-02 1.991229584907280e-02 - 1.991113000189043e-02 1.990996393932216e-02 1.990879765723607e-02 1.990763115454515e-02 1.990646443148474e-02 - 1.990529748687400e-02 1.990413031580006e-02 1.990296291532720e-02 1.990179529310021e-02 1.990062744303953e-02 - 1.989945935329500e-02 1.989829103342642e-02 1.989712248515872e-02 1.989595370004318e-02 1.989478467737964e-02 - 1.989361541884726e-02 1.989244592499573e-02 1.989127618925862e-02 1.989010620674421e-02 1.988893597834538e-02 - 1.988776550466197e-02 1.988659478703524e-02 1.988542382727661e-02 1.988425261506333e-02 1.988308114268849e-02 - 1.988190942098788e-02 1.988073745006194e-02 1.987956522359536e-02 1.987839274079954e-02 1.987722000000555e-02 - 1.987604699732070e-02 1.987487372670402e-02 1.987370019241589e-02 1.987252640362364e-02 1.987135234678179e-02 - 1.987017801708705e-02 1.986900342417090e-02 1.986782856130232e-02 1.986665342124566e-02 1.986547800516037e-02 - 1.986430231940191e-02 1.986312636323797e-02 1.986195012209680e-02 1.986077359858922e-02 1.985959679883774e-02 - 1.985841971608161e-02 1.985724235007767e-02 1.985606470192896e-02 1.985488676268764e-02 1.985370853173279e-02 - 1.985253001389235e-02 1.985135120589531e-02 1.985017210671596e-02 1.984899271721913e-02 1.984781303008921e-02 - 1.984663304141680e-02 1.984545275323681e-02 1.984427216416261e-02 1.984309127447186e-02 1.984191008724042e-02 - 1.984072859600846e-02 1.983954679442092e-02 1.983836468369445e-02 1.983718226650526e-02 1.983599954091759e-02 - 1.983481649574990e-02 1.983363313683907e-02 1.983244947316962e-02 1.983126549121019e-02 1.983008118452795e-02 - 1.982889655650101e-02 1.982771161407836e-02 1.982652635127155e-02 1.982534075477381e-02 1.982415483542671e-02 - 1.982296859699974e-02 1.982178202865004e-02 1.982059512679342e-02 1.981940789099672e-02 1.981822032140366e-02 - 1.981703241807743e-02 1.981584417989424e-02 1.981465560415464e-02 1.981346669171603e-02 1.981227744136961e-02 - 1.981108784415540e-02 1.980989790130036e-02 1.980870761757638e-02 1.980751698807925e-02 1.980632600934410e-02 - 1.980513468056937e-02 1.980394300171975e-02 1.980275097143216e-02 1.980155858653555e-02 1.980036584235624e-02 - 1.979917273943820e-02 1.979797928262491e-02 1.979678546489206e-02 1.979559128379798e-02 1.979439674657348e-02 - 1.979320184217468e-02 1.979200656369760e-02 1.979081092352834e-02 1.978961491694981e-02 1.978841853542797e-02 - 1.978722178317891e-02 1.978602465925507e-02 1.978482715855289e-02 1.978362927697639e-02 1.978243101628911e-02 - 1.978123238058121e-02 1.978003336668686e-02 1.977883396860304e-02 1.977763418131442e-02 1.977643400902304e-02 - 1.977523345232920e-02 1.977403250607500e-02 1.977283117205557e-02 1.977162944865208e-02 1.977042732702634e-02 - 1.976922480613855e-02 1.976802188997964e-02 1.976681858355301e-02 1.976561487769950e-02 1.976441076369096e-02 - 1.976320624890566e-02 1.976200133147697e-02 1.976079600616600e-02 1.975959027757971e-02 1.975838414138116e-02 - 1.975717758909272e-02 1.975597062600439e-02 1.975476325369590e-02 1.975355546738499e-02 1.975234726242962e-02 - 1.975113863825908e-02 1.974992959762522e-02 1.974872013640206e-02 1.974751025163228e-02 1.974629994489470e-02 - 1.974508921425132e-02 1.974387805573186e-02 1.974266646519683e-02 1.974145444319864e-02 1.974024199150465e-02 - 1.973902910920840e-02 1.973781579519036e-02 1.973660204598839e-02 1.973538785240977e-02 1.973417321684443e-02 - 1.973295814730416e-02 1.973174263781577e-02 1.973052668253849e-02 1.972931027913797e-02 1.972809342747564e-02 - 1.972687612827085e-02 1.972565838187941e-02 1.972444018482310e-02 1.972322153363352e-02 1.972200242687443e-02 - 1.972078286440720e-02 1.971956284541047e-02 1.971834236691286e-02 1.971712142485657e-02 1.971590001741145e-02 - 1.971467814826898e-02 1.971345581852119e-02 1.971223302479186e-02 1.971100975804211e-02 1.970978601823674e-02 - 1.970856181065497e-02 1.970733713228995e-02 1.970611197806177e-02 1.970488634450282e-02 1.970366023582840e-02 - 1.970243364879734e-02 1.970120657299705e-02 1.969997901837739e-02 1.969875098677333e-02 1.969752246217473e-02 - 1.969629345274012e-02 1.969506396226801e-02 1.969383397141272e-02 1.969260348756574e-02 1.969137252109090e-02 - 1.969014105730648e-02 1.968890909233832e-02 1.968767662961491e-02 1.968644366805134e-02 1.968521020635475e-02 - 1.968397624286150e-02 1.968274177331172e-02 1.968150679588088e-02 1.968027131148579e-02 1.967903532058098e-02 - 1.967779882218197e-02 1.967656181292412e-02 1.967532428489620e-02 1.967408623811289e-02 1.967284768294825e-02 - 1.967160860971293e-02 1.967036900987211e-02 1.966912889102269e-02 1.966788825153749e-02 1.966664708600774e-02 - 1.966540539310703e-02 1.966416317292449e-02 1.966292042476060e-02 1.966167714455673e-02 1.966043333167102e-02 - 1.965918898702837e-02 1.965794410650064e-02 1.965669868705162e-02 1.965545272765306e-02 1.965420622710374e-02 - 1.965295918609461e-02 1.965171160585919e-02 1.965046347855766e-02 1.964921480087875e-02 1.964796557872257e-02 - 1.964671580769246e-02 1.964546548231519e-02 1.964421460325605e-02 1.964296317129598e-02 1.964171118580111e-02 - 1.964045864365522e-02 1.963920554157133e-02 1.963795187629582e-02 1.963669764477085e-02 1.963544284945441e-02 - 1.963418749362842e-02 1.963293156932153e-02 1.963167507295046e-02 1.963041800662418e-02 1.962916036936736e-02 - 1.962790216073956e-02 1.962664338014056e-02 1.962538401760687e-02 1.962412407160046e-02 1.962286355381917e-02 - 1.962160245501161e-02 1.962034076606272e-02 1.961907849332115e-02 1.961781563715828e-02 1.961655219371613e-02 - 1.961528815879130e-02 1.961402353224150e-02 1.961275831461461e-02 1.961149250160691e-02 1.961022609250104e-02 - 1.960895908768241e-02 1.960769148013132e-02 1.960642326897369e-02 1.960515445887448e-02 1.960388504699325e-02 - 1.960261502901453e-02 1.960134440209794e-02 1.960007316755673e-02 1.959880132269796e-02 1.959752885956289e-02 - 1.959625578572781e-02 1.959498210471557e-02 1.959370780282661e-02 1.959243287776576e-02 1.959115733236078e-02 - 1.958988116575855e-02 1.958860437570835e-02 1.958732696070351e-02 1.958604892230215e-02 1.958477025538254e-02 - 1.958349095293616e-02 1.958221102005211e-02 1.958093045820349e-02 1.957964926225915e-02 1.957836742427244e-02 - 1.957708494595253e-02 1.957580183693370e-02 1.957451808573694e-02 1.957323368588814e-02 1.957194864588927e-02 - 1.957066295908808e-02 1.956937661864716e-02 1.956808962863577e-02 1.956680198857452e-02 1.956551369740821e-02 - 1.956422475810978e-02 1.956293516289206e-02 1.956164490198652e-02 1.956035397935251e-02 1.955906239928264e-02 - 1.955777016187055e-02 1.955647725858155e-02 1.955518368630142e-02 1.955388944730695e-02 1.955259453790914e-02 - 1.955129895574477e-02 1.955000270138056e-02 1.954870577278503e-02 1.954740816848287e-02 1.954610988870274e-02 - 1.954481093111385e-02 1.954351129226784e-02 1.954221096901902e-02 1.954090996078360e-02 1.953960826724446e-02 - 1.953830588603245e-02 1.953700281656794e-02 1.953569905855491e-02 1.953439460897686e-02 1.953308946443935e-02 - 1.953178362233442e-02 1.953047708245082e-02 1.952916984426731e-02 1.952786190592496e-02 1.952655326324738e-02 - 1.952524391408689e-02 1.952393385929222e-02 1.952262309949111e-02 1.952131163370209e-02 1.951999945844595e-02 - 1.951868656751035e-02 1.951737295829730e-02 1.951605863555755e-02 1.951474359789877e-02 1.951342784097203e-02 - 1.951211136184995e-02 1.951079415956861e-02 1.950947623396647e-02 1.950815758387342e-02 1.950683820574165e-02 - 1.950551809587482e-02 1.950419725560715e-02 1.950287568354725e-02 1.950155337574423e-02 1.950023033242808e-02 - 1.949890655251627e-02 1.949758203322258e-02 1.949625677745909e-02 1.949493078034667e-02 1.949360402739089e-02 - 1.949227653112452e-02 1.949094829757290e-02 1.948961930480046e-02 1.948828955781861e-02 1.948695906691206e-02 - 1.948562782150981e-02 1.948429581598615e-02 1.948296304982478e-02 1.948162952319633e-02 1.948029523591830e-02 - 1.947896018726217e-02 1.947762437581102e-02 1.947628779922486e-02 1.947495045397724e-02 1.947361233489661e-02 - 1.947227344348770e-02 1.947093378593678e-02 1.946959335022997e-02 1.946825212971076e-02 1.946691013283964e-02 - 1.946556736109183e-02 1.946422381089845e-02 1.946287947598024e-02 1.946153435147304e-02 1.946018843640089e-02 - 1.945884173551620e-02 1.945749424593349e-02 1.945614596164208e-02 1.945479688244431e-02 1.945344700980195e-02 - 1.945209634356683e-02 1.945074487666461e-02 1.944939260492236e-02 1.944803952905332e-02 1.944668565282712e-02 - 1.944533097303948e-02 1.944397548026850e-02 1.944261917903520e-02 1.944126207147254e-02 1.943990414971487e-02 - 1.943854540610747e-02 1.943718584222317e-02 1.943582547177293e-02 1.943446428245481e-02 1.943310226105812e-02 - 1.943173942068859e-02 1.943037575924362e-02 1.942901126749138e-02 1.942764594793762e-02 1.942627979717840e-02 - 1.942491280913776e-02 1.942354498868186e-02 1.942217633546996e-02 1.942080684436220e-02 1.941943651933332e-02 - 1.941806535493775e-02 1.941669333695301e-02 1.941532047644210e-02 1.941394677715704e-02 1.941257222315028e-02 - 1.941119681542690e-02 1.940982056035791e-02 1.940844345901757e-02 1.940706550055424e-02 1.940568667678698e-02 - 1.940430699663802e-02 1.940292645883611e-02 1.940154505765652e-02 1.940016279578962e-02 1.939877966977487e-02 - 1.939739567223053e-02 1.939601080219835e-02 1.939462506233509e-02 1.939323845462366e-02 1.939185096971125e-02 - 1.939046260516801e-02 1.938907336764642e-02 1.938768325184633e-02 1.938629225021856e-02 1.938490035911401e-02 - 1.938350758330235e-02 1.938211392651081e-02 1.938071938447496e-02 1.937932394922459e-02 1.937792761695239e-02 - 1.937653039473651e-02 1.937513227779157e-02 1.937373325789699e-02 1.937233333934693e-02 1.937093252080456e-02 - 1.936953079702195e-02 1.936812816928827e-02 1.936672463690015e-02 1.936532019607867e-02 1.936391484345597e-02 - 1.936250857586552e-02 1.936110139138094e-02 1.935969329410197e-02 1.935828428412852e-02 1.935687435366041e-02 - 1.935546349795341e-02 1.935405171682407e-02 1.935263901452006e-02 1.935122538845629e-02 1.934981083240821e-02 - 1.934839534117787e-02 1.934697891910190e-02 1.934556156924906e-02 1.934414327695751e-02 1.934272404361874e-02 - 1.934130387854031e-02 1.933988276959641e-02 1.933846071416343e-02 1.933703771882020e-02 1.933561377409585e-02 - 1.933418887831357e-02 1.933276303945045e-02 1.933133624375953e-02 1.932990848653697e-02 1.932847978247962e-02 - 1.932705012296452e-02 1.932561949662077e-02 1.932418790536504e-02 1.932275535526071e-02 1.932132184669807e-02 - 1.931988736608416e-02 1.931845191123332e-02 1.931701548648173e-02 1.931557809132799e-02 1.931413972218449e-02 - 1.931270037603072e-02 1.931126005688787e-02 1.930981875761609e-02 1.930837646527647e-02 1.930693319154590e-02 - 1.930548893938918e-02 1.930404369700001e-02 1.930259746628386e-02 1.930115024647330e-02 1.929970202824377e-02 - 1.929825281461415e-02 1.929680260792617e-02 1.929535140092010e-02 1.929389919235001e-02 1.929244598266550e-02 - 1.929099176842190e-02 1.928953654639375e-02 1.928808031414528e-02 1.928662307035359e-02 1.928516481711372e-02 - 1.928370555611205e-02 1.928224527966380e-02 1.928078398206115e-02 1.927932166173262e-02 1.927785831899656e-02 - 1.927639395364510e-02 1.927492856464996e-02 1.927346215243780e-02 1.927199471282116e-02 1.927052623652251e-02 - 1.926905672766994e-02 1.926758618873705e-02 1.926611461056382e-02 1.926464199150991e-02 1.926316833245443e-02 - 1.926169363057714e-02 1.926021788634381e-02 1.925874109903830e-02 1.925726325940621e-02 1.925578436860509e-02 - 1.925430443199749e-02 1.925282343948819e-02 1.925134138889128e-02 1.924985828498051e-02 1.924837411847957e-02 - 1.924688888599618e-02 1.924540259377309e-02 1.924391524090012e-02 1.924242682077230e-02 1.924093732460676e-02 - 1.923944675829762e-02 1.923795512510602e-02 1.923646241448938e-02 1.923496862521413e-02 1.923347375911634e-02 - 1.923197781292445e-02 1.923048078180134e-02 1.922898266296426e-02 1.922748346006174e-02 1.922598317069195e-02 - 1.922448178990142e-02 1.922297932164773e-02 1.922147575963824e-02 1.921997109174737e-02 1.921846532805457e-02 - 1.921695846861228e-02 1.921545049993734e-02 1.921394143207274e-02 1.921243126559395e-02 1.921091998083786e-02 - 1.920940758472120e-02 1.920789408374423e-02 1.920637946562360e-02 1.920486373146851e-02 1.920334688393281e-02 - 1.920182891329169e-02 1.920030981699324e-02 1.919878959725658e-02 1.919726825432456e-02 1.919574578635056e-02 - 1.919422218928470e-02 1.919269745661605e-02 1.919117158884151e-02 1.918964459045353e-02 1.918811645370936e-02 - 1.918658717454346e-02 1.918505675553962e-02 1.918352519296369e-02 1.918199248296462e-02 1.918045862469436e-02 - 1.917892361805418e-02 1.917738746182788e-02 1.917585015265352e-02 1.917431168820606e-02 1.917277206550804e-02 - 1.917123127946213e-02 1.916968933132487e-02 1.916814622316750e-02 1.916660194885779e-02 1.916505650873668e-02 - 1.916350990423480e-02 1.916196212155291e-02 1.916041316033273e-02 1.915886303062994e-02 1.915731172194125e-02 - 1.915575922930148e-02 1.915420555876758e-02 1.915265070860661e-02 1.915109467332810e-02 1.914953744666585e-02 - 1.914797902645569e-02 1.914641941412443e-02 1.914485861314037e-02 1.914329661713828e-02 1.914173341932142e-02 - 1.914016902223032e-02 1.913860342379879e-02 1.913703662029905e-02 1.913546861279183e-02 1.913389939805644e-02 - 1.913232897075573e-02 1.913075733118505e-02 1.912918447844714e-02 1.912761040908805e-02 1.912603511839811e-02 - 1.912445860715432e-02 1.912288088009771e-02 1.912130192853472e-02 1.911972174626816e-02 1.911814033569584e-02 - 1.911655769224527e-02 1.911497381452394e-02 1.911338870990516e-02 1.911180236957772e-02 1.911021478317005e-02 - 1.910862595492130e-02 1.910703588697045e-02 1.910544457683553e-02 1.910385201685182e-02 1.910225820527016e-02 - 1.910066314375077e-02 1.909906682830796e-02 1.909746925477876e-02 1.909587042200599e-02 1.909427033688354e-02 - 1.909266899402551e-02 1.909106637643193e-02 1.908946249114346e-02 1.908785734491775e-02 1.908625093213804e-02 - 1.908464324204344e-02 1.908303427175084e-02 1.908142403234494e-02 1.907981251534393e-02 1.907819971100440e-02 - 1.907658562789714e-02 1.907497026158614e-02 1.907335360333112e-02 1.907173565762024e-02 1.907011642370295e-02 - 1.906849589616872e-02 1.906687407274958e-02 1.906525095073851e-02 1.906362652703246e-02 1.906200080112851e-02 - 1.906037377260159e-02 1.905874543999789e-02 1.905711580005939e-02 1.905548484883143e-02 1.905385258297056e-02 - 1.905221900422594e-02 1.905058411108648e-02 1.904894789413228e-02 1.904731035325132e-02 1.904567149183364e-02 - 1.904403130952197e-02 1.904238980136186e-02 1.904074696113758e-02 1.903910278612417e-02 1.903745727544392e-02 - 1.903581042868199e-02 1.903416224385271e-02 1.903251272055347e-02 1.903086185871027e-02 1.902920965236104e-02 - 1.902755609551852e-02 1.902590118543579e-02 1.902424492713456e-02 1.902258731926820e-02 1.902092835050054e-02 - 1.901926802409253e-02 1.901760634215130e-02 1.901594329530476e-02 1.901427888303375e-02 1.901261310655987e-02 - 1.901094596056572e-02 1.900927744335199e-02 1.900760755425454e-02 1.900593628837979e-02 1.900426364429972e-02 - 1.900258962310978e-02 1.900091422355684e-02 1.899923743835855e-02 1.899755925950979e-02 1.899587969656637e-02 - 1.899419874741247e-02 1.899251639645128e-02 1.899083265299966e-02 1.898914752052511e-02 1.898746098477085e-02 - 1.898577304386013e-02 1.898408369969058e-02 1.898239295076986e-02 1.898070079269564e-02 1.897900722255288e-02 - 1.897731224261929e-02 1.897561584849886e-02 1.897391803334516e-02 1.897221879605241e-02 1.897051814026927e-02 - 1.896881606767167e-02 1.896711256470153e-02 1.896540762798833e-02 1.896370126437186e-02 1.896199347193909e-02 - 1.896028424413336e-02 1.895857357350164e-02 1.895686146124061e-02 1.895514791045918e-02 1.895343292131205e-02 - 1.895171648302300e-02 1.894999858923527e-02 1.894827924721451e-02 1.894655845419708e-02 1.894483620522033e-02 - 1.894311250187257e-02 1.894138733732357e-02 1.893966070463249e-02 1.893793261072514e-02 1.893620305335951e-02 - 1.893447202418282e-02 1.893273952309081e-02 1.893100555094376e-02 1.892927010627177e-02 1.892753318110494e-02 - 1.892579477108063e-02 1.892405487784487e-02 1.892231350329449e-02 1.892057064453369e-02 1.891882629307712e-02 - 1.891708044683251e-02 1.891533310610873e-02 1.891358427035544e-02 1.891183393696100e-02 1.891008210291091e-02 - 1.890832876617924e-02 1.890657392211156e-02 1.890481756749361e-02 1.890305970669826e-02 1.890130033664154e-02 - 1.889953944876527e-02 1.889777703845312e-02 1.889601310905792e-02 1.889424766560776e-02 1.889248069356991e-02 - 1.889071219005931e-02 1.888894216610460e-02 1.888717060771540e-02 1.888539750970531e-02 1.888362288621832e-02 - 1.888184672351093e-02 1.888006901097801e-02 1.887828976119468e-02 1.887650896887177e-02 1.887472662448569e-02 - 1.887294273026847e-02 1.887115728373587e-02 1.886937028132879e-02 1.886758172601296e-02 1.886579161241305e-02 - 1.886399993232671e-02 1.886220669095003e-02 1.886041188581822e-02 1.885861550746470e-02 1.885681755698847e-02 - 1.885501803485419e-02 1.885321693733238e-02 1.885141425906957e-02 1.884960999916156e-02 1.884780416185130e-02 - 1.884599674103886e-02 1.884418772927479e-02 1.884237712445391e-02 1.884056492700234e-02 1.883875113673901e-02 - 1.883693574995443e-02 1.883511876102816e-02 1.883330016667216e-02 1.883147997149076e-02 1.882965817385698e-02 - 1.882783476601560e-02 1.882600973926643e-02 1.882418309568715e-02 1.882235484340025e-02 1.882052497417560e-02 - 1.881869348031539e-02 1.881686035975185e-02 1.881502561164409e-02 1.881318923741505e-02 1.881135123913003e-02 - 1.880951160558249e-02 1.880767032900146e-02 1.880582741534564e-02 1.880398286136111e-02 1.880213666245483e-02 - 1.880028882149621e-02 1.879843933370182e-02 1.879658819228311e-02 1.879473539862031e-02 1.879288094991765e-02 - 1.879102484097325e-02 1.878916707209326e-02 1.878730764191372e-02 1.878544654683108e-02 1.878358378459472e-02 - 1.878171935183507e-02 1.877985324430765e-02 1.877798546179407e-02 1.877611600228067e-02 1.877424486050507e-02 - 1.877237203778229e-02 1.877049753324887e-02 1.876862133863330e-02 1.876674345293673e-02 1.876486387617420e-02 - 1.876298260257535e-02 1.876109963059111e-02 1.875921496034764e-02 1.875732858848502e-02 1.875544051216185e-02 - 1.875355072885378e-02 1.875165923449702e-02 1.874976602623304e-02 1.874787110336161e-02 1.874597446797304e-02 - 1.874407611425766e-02 1.874217603022874e-02 1.874027422146802e-02 1.873837068906284e-02 1.873646542198345e-02 - 1.873455842189881e-02 1.873264969164939e-02 1.873073922656172e-02 1.872882701964194e-02 1.872691306648714e-02 - 1.872499736923527e-02 1.872307992509612e-02 1.872116072949887e-02 1.871923978227258e-02 1.871731708186487e-02 - 1.871539262387551e-02 1.871346640021372e-02 1.871153841041527e-02 1.870960865979342e-02 1.870767714578883e-02 - 1.870574386089293e-02 1.870380879685916e-02 1.870187195798613e-02 1.869993334446320e-02 1.869799294696750e-02 - 1.869605076691687e-02 1.869410680376838e-02 1.869216104730458e-02 1.869021349836844e-02 1.868826416022470e-02 - 1.868631302853863e-02 1.868436009644664e-02 1.868240535897862e-02 1.868044881818047e-02 1.867849047172725e-02 - 1.867653031474529e-02 1.867456834731333e-02 1.867260456736053e-02 1.867063897034608e-02 1.866867155351236e-02 - 1.866670231459311e-02 1.866473125095620e-02 1.866275835809391e-02 1.866078363356833e-02 1.865880707775009e-02 - 1.865682868564128e-02 1.865484845476688e-02 1.865286638889887e-02 1.865088247751579e-02 1.864889671303901e-02 - 1.864690910747520e-02 1.864491965354244e-02 1.864292833855512e-02 1.864093516946379e-02 1.863894014384585e-02 - 1.863694325319922e-02 1.863494449952898e-02 1.863294388193027e-02 1.863094139526787e-02 1.862893703607748e-02 - 1.862693080034535e-02 1.862492268387857e-02 1.862291268732941e-02 1.862090081042848e-02 1.861888704957227e-02 - 1.861687140151818e-02 1.861485386231105e-02 1.861283442704270e-02 1.861081309610335e-02 1.860878986806025e-02 - 1.860676473338590e-02 1.860473769529663e-02 1.860270875778476e-02 1.860067790615180e-02 1.859864513789995e-02 - 1.859661045850656e-02 1.859457386260990e-02 1.859253534675110e-02 1.859049490946049e-02 1.858845254228221e-02 - 1.858640824383296e-02 1.858436201966219e-02 1.858231386031445e-02 1.858026376148910e-02 1.857821173011040e-02 - 1.857615775674864e-02 1.857410183289329e-02 1.857204396224591e-02 1.856998414158087e-02 1.856792236630606e-02 - 1.856585863699762e-02 1.856379295088432e-02 1.856172530348682e-02 1.855965569223371e-02 1.855758411493529e-02 - 1.855551056872843e-02 1.855343504862798e-02 1.855135755357239e-02 1.854927808391809e-02 1.854719662999937e-02 - 1.854511318947389e-02 1.854302776884543e-02 1.854094036342127e-02 1.853885096469986e-02 1.853675956540365e-02 - 1.853466616668727e-02 1.853257077183708e-02 1.853047338096206e-02 1.852837398473379e-02 1.852627257507170e-02 - 1.852416915520061e-02 1.852206372211816e-02 1.851995627104085e-02 1.851784680396669e-02 1.851573531468755e-02 - 1.851362179508880e-02 1.851150625260910e-02 1.850938868433302e-02 1.850726907790290e-02 1.850514743267316e-02 - 1.850302375022463e-02 1.850089802974987e-02 1.849877026321467e-02 1.849664044568886e-02 1.849450857919205e-02 - 1.849237466328984e-02 1.849023869225825e-02 1.848810065567833e-02 1.848596056072587e-02 1.848381841125062e-02 - 1.848167418759208e-02 1.847952788817062e-02 1.847737952020788e-02 1.847522908039946e-02 1.847307656165976e-02 - 1.847092195736722e-02 1.846876526733367e-02 1.846660649126623e-02 1.846444562782898e-02 1.846228267641075e-02 - 1.846011763022634e-02 1.845795047822359e-02 1.845578122357826e-02 1.845360986824314e-02 1.845143640646702e-02 - 1.844926083412144e-02 1.844708314829677e-02 1.844490334652741e-02 1.844272142526039e-02 1.844053738232335e-02 - 1.843835121884711e-02 1.843616292877729e-02 1.843397250473794e-02 1.843177994759022e-02 1.842958525561723e-02 - 1.842738842512387e-02 1.842518945510765e-02 1.842298833954339e-02 1.842078507029563e-02 1.841857965103055e-02 - 1.841637208298309e-02 1.841416236088061e-02 1.841195047731196e-02 1.840973642948215e-02 1.840752022011446e-02 - 1.840530184216091e-02 1.840308128892246e-02 1.840085856103635e-02 1.839863365911139e-02 1.839640658087383e-02 - 1.839417731924000e-02 1.839194587083986e-02 1.838971223370895e-02 1.838747640300020e-02 1.838523837692452e-02 - 1.838299815548432e-02 1.838075573582631e-02 1.837851111106092e-02 1.837626427462707e-02 1.837401523350234e-02 - 1.837176398539980e-02 1.836951051641877e-02 1.836725482529124e-02 1.836499691387402e-02 1.836273678151691e-02 - 1.836047442118306e-02 1.835820982858270e-02 1.835594300692513e-02 1.835367394977665e-02 1.835140264983480e-02 - 1.834912910825698e-02 1.834685332362546e-02 1.834457529066184e-02 1.834229500068380e-02 1.834001245612868e-02 - 1.833772766191195e-02 1.833544060380268e-02 1.833315127769170e-02 1.833085968975407e-02 1.832856583633842e-02 - 1.832626971106521e-02 1.832397130817964e-02 1.832167062581619e-02 1.831936766045366e-02 1.831706240632338e-02 - 1.831475486820015e-02 1.831244504576387e-02 1.831013292472488e-02 1.830781850356614e-02 1.830550178468002e-02 - 1.830318276421879e-02 1.830086143845657e-02 1.829853780375753e-02 1.829621185558813e-02 1.829388359300937e-02 - 1.829155301569956e-02 1.828922011662799e-02 1.828688489153528e-02 1.828454733892483e-02 1.828220745351499e-02 - 1.827986523367206e-02 1.827752068069898e-02 1.827517378500067e-02 1.827282454323407e-02 1.827047296291425e-02 - 1.826811903643735e-02 1.826576275326505e-02 1.826340410954280e-02 1.826104310998728e-02 1.825867975496676e-02 - 1.825631402943589e-02 1.825394593365713e-02 1.825157547349511e-02 1.824920264235266e-02 1.824682743095013e-02 - 1.824444983334214e-02 1.824206985531418e-02 1.823968749396920e-02 1.823730273947125e-02 1.823491559405069e-02 - 1.823252605635143e-02 1.823013411851380e-02 1.822773977727079e-02 1.822534302885856e-02 1.822294386817581e-02 - 1.822054229933361e-02 1.821813832218229e-02 1.821573192447362e-02 1.821332310276354e-02 1.821091185568656e-02 - 1.820849817689734e-02 1.820608206836350e-02 1.820366353310689e-02 1.820124256311412e-02 1.819881915016099e-02 - 1.819639328969794e-02 1.819396498477247e-02 1.819153423068764e-02 1.818910101812068e-02 1.818666535246774e-02 - 1.818422723286477e-02 1.818178664914423e-02 1.817934360000525e-02 1.817689808189780e-02 1.817445008627356e-02 - 1.817199961756547e-02 1.816954667558178e-02 1.816709124568389e-02 1.816463332917677e-02 1.816217292950077e-02 - 1.815971003769815e-02 1.815724465123547e-02 1.815477676809149e-02 1.815230637650250e-02 1.814983348051392e-02 - 1.814735808823705e-02 1.814488018072306e-02 1.814239975267995e-02 1.813991681262074e-02 1.813743135508509e-02 - 1.813494337086823e-02 1.813245285281114e-02 1.812995980445686e-02 1.812746422731492e-02 1.812496611573551e-02 - 1.812246546481565e-02 1.811996226848969e-02 1.811745651920204e-02 1.811494821957559e-02 1.811243737133842e-02 - 1.810992396481434e-02 1.810740799805441e-02 1.810488947142559e-02 1.810236837745802e-02 1.809984471224923e-02 - 1.809731847419077e-02 1.809478965788605e-02 1.809225826197647e-02 1.808972428730369e-02 1.808718772623545e-02 - 1.808464857219165e-02 1.808210682315950e-02 1.807956248210254e-02 1.807701554512131e-02 1.807446599893149e-02 - 1.807191384222250e-02 1.806935907649996e-02 1.806680169977935e-02 1.806424171112906e-02 1.806167910639137e-02 - 1.805911387430984e-02 1.805654601234490e-02 1.805397552118165e-02 1.805140239539148e-02 1.804882663464111e-02 - 1.804624823872755e-02 1.804366719439020e-02 1.804108350087335e-02 1.803849716547347e-02 1.803590817366155e-02 - 1.803331652090480e-02 1.803072221546651e-02 1.802812524400898e-02 1.802552559998909e-02 1.802292329257977e-02 - 1.802031831251088e-02 1.801771065083283e-02 1.801510031065072e-02 1.801248728509480e-02 1.800987156794499e-02 - 1.800725316456288e-02 1.800463207196059e-02 1.800200828229563e-02 1.799938179038418e-02 1.799675259135415e-02 - 1.799412068157979e-02 1.799148606152016e-02 1.798884872978088e-02 1.798620868169797e-02 1.798356590941466e-02 - 1.798092041139825e-02 1.797827219073602e-02 1.797562123473000e-02 1.797296753674024e-02 1.797031110360818e-02 - 1.796765193280976e-02 1.796499001786419e-02 1.796232535287627e-02 1.795965793501132e-02 1.795698776183851e-02 - 1.795431482887613e-02 1.795163913285315e-02 1.794896067070983e-02 1.794627943785036e-02 1.794359543174794e-02 - 1.794090865000600e-02 1.793821908548673e-02 1.793552673496832e-02 1.793283159877326e-02 1.793013367385930e-02 - 1.792743295577707e-02 1.792472944026945e-02 1.792202312682011e-02 1.791931400976357e-02 1.791660207728341e-02 - 1.791388733234035e-02 1.791116977642004e-02 1.790844939977351e-02 1.790572620127331e-02 1.790300018053203e-02 - 1.790027132960331e-02 1.789753964610457e-02 1.789480512776976e-02 1.789206776371137e-02 1.788932755546883e-02 - 1.788658450796398e-02 1.788383860557862e-02 1.788108984645815e-02 1.787833823870088e-02 1.787558376650758e-02 - 1.787282642238153e-02 1.787006621288861e-02 1.786730313584615e-02 1.786453718506033e-02 1.786176835331611e-02 - 1.785899663566110e-02 1.785622203220682e-02 1.785344454733639e-02 1.785066416506327e-02 1.784788087479271e-02 - 1.784509469481547e-02 1.784230561688990e-02 1.783951362363962e-02 1.783671871969004e-02 1.783392090351773e-02 - 1.783112016693977e-02 1.782831650359620e-02 1.782550991644932e-02 1.782270041052123e-02 1.781988796773664e-02 - 1.781707258188517e-02 1.781425426228424e-02 1.781143299909701e-02 1.780860878344276e-02 1.780578161636334e-02 - 1.780295150019453e-02 1.780011843142990e-02 1.779728239750767e-02 1.779444339320670e-02 1.779160141853593e-02 - 1.778875647528820e-02 1.778590855799184e-02 1.778305765851556e-02 1.778020377358821e-02 1.777734690358035e-02 - 1.777448704738365e-02 1.777162419310320e-02 1.776875833746895e-02 1.776588948369731e-02 1.776301762263940e-02 - 1.776014274927566e-02 1.775726486578331e-02 1.775438397030816e-02 1.775150005486545e-02 1.774861310790110e-02 - 1.774572313526677e-02 1.774283013776283e-02 1.773993409898065e-02 1.773703502220879e-02 1.773413291089222e-02 - 1.773122774923129e-02 1.772831953604024e-02 1.772540827370780e-02 1.772249394894422e-02 1.771957656009896e-02 - 1.771665611194296e-02 1.771373259698992e-02 1.771080600888477e-02 1.770787634473108e-02 1.770494360249459e-02 - 1.770200777818149e-02 1.769906886558849e-02 1.769612685929023e-02 1.769318175770428e-02 1.769023356261796e-02 - 1.768728226707501e-02 1.768432786370409e-02 1.768137035050212e-02 1.767840972761326e-02 1.767544598996190e-02 - 1.767247912224100e-02 1.766950912887429e-02 1.766653601772543e-02 1.766355977437013e-02 1.766058039164660e-02 - 1.765759786981226e-02 1.765461220736955e-02 1.765162339764906e-02 1.764863143247870e-02 1.764563631444012e-02 - 1.764263804044564e-02 1.763963660052613e-02 1.763663199590508e-02 1.763362422648862e-02 1.763061328532627e-02 - 1.762759916389677e-02 1.762458185742205e-02 1.762156136756127e-02 1.761853769290762e-02 1.761551082691653e-02 - 1.761248075761478e-02 1.760944748669641e-02 1.760641101894919e-02 1.760337134551661e-02 1.760032845807722e-02 - 1.759728235211478e-02 1.759423302856655e-02 1.759118048266074e-02 1.758812470690578e-02 1.758506570645847e-02 - 1.758200347417691e-02 1.757893799151254e-02 1.757586926700291e-02 1.757279730534286e-02 1.756972209521438e-02 - 1.756664362962799e-02 1.756356190543487e-02 1.756047692143249e-02 1.755738866974527e-02 1.755429714394244e-02 - 1.755120234663686e-02 1.754810427470094e-02 1.754500292288027e-02 1.754189829041229e-02 1.753879037098419e-02 - 1.753567915477636e-02 1.753256463576890e-02 1.752944681640228e-02 1.752632570156945e-02 1.752320127895599e-02 - 1.752007354011609e-02 1.751694248500407e-02 1.751380811099548e-02 1.751067041466748e-02 1.750752939229762e-02 - 1.750438503712632e-02 1.750123734468025e-02 1.749808631552286e-02 1.749493194526630e-02 1.749177422703599e-02 - 1.748861315463852e-02 1.748544872591071e-02 1.748228094036503e-02 1.747910979560325e-02 1.747593528635296e-02 - 1.747275740493088e-02 1.746957614261004e-02 1.746639150171011e-02 1.746320348827029e-02 1.746001208402579e-02 - 1.745681728232032e-02 1.745361909228664e-02 1.745041750587895e-02 1.744721251527593e-02 1.744400411995098e-02 - 1.744079231626219e-02 1.743757709612158e-02 1.743435844889677e-02 1.743113638300998e-02 1.742791090294012e-02 - 1.742468198827393e-02 1.742144963687445e-02 1.741821385208018e-02 1.741497462017237e-02 1.741173194001650e-02 - 1.740848581625378e-02 1.740523623716524e-02 1.740198319673262e-02 1.739872669626729e-02 1.739546673433575e-02 - 1.739220330474240e-02 1.738893639777237e-02 1.738566600801745e-02 1.738239213410604e-02 1.737911477739739e-02 - 1.737583393441487e-02 1.737254959973500e-02 1.736926176792087e-02 1.736597043319887e-02 1.736267559029083e-02 - 1.735937723525189e-02 1.735607536431420e-02 1.735276997535949e-02 1.734946106967137e-02 1.734614863942214e-02 - 1.734283267462293e-02 1.733951317984790e-02 1.733619014933173e-02 1.733286356952035e-02 1.732953344236944e-02 - 1.732619976822115e-02 1.732286254123125e-02 1.731952175476255e-02 1.731617740506982e-02 1.731282949118149e-02 - 1.730947800429541e-02 1.730612293897103e-02 1.730276429900506e-02 1.729940207772190e-02 1.729603626710180e-02 - 1.729266686687025e-02 1.728929387127552e-02 1.728591727431661e-02 1.728253707811547e-02 1.727915327486350e-02 - 1.727576585445017e-02 1.727237482415143e-02 1.726898017713387e-02 1.726558189725253e-02 1.726217999255776e-02 - 1.725877446141184e-02 1.725536528836806e-02 1.725195247427305e-02 1.724853602088567e-02 1.724511592318061e-02 - 1.724169217016580e-02 1.723826475637563e-02 1.723483368674653e-02 1.723139894995541e-02 1.722796053633534e-02 - 1.722451845482723e-02 1.722107270070567e-02 1.721762326419149e-02 1.721417014587169e-02 1.721071333868621e-02 - 1.720725283251134e-02 1.720378862838028e-02 1.720032072298445e-02 1.719684910908383e-02 1.719337378669194e-02 - 1.718989475327181e-02 1.718641200187306e-02 1.718292552719872e-02 1.717943532374793e-02 1.717594138625576e-02 - 1.717244371734551e-02 1.716894231509765e-02 1.716543716617480e-02 1.716192826455456e-02 1.715841561099909e-02 - 1.715489920993168e-02 1.715137904713604e-02 1.714785510917266e-02 1.714432741097788e-02 1.714079594608009e-02 - 1.713726069602739e-02 1.713372166332687e-02 1.713017885016558e-02 1.712663225240283e-02 1.712308185705881e-02 - 1.711952765873538e-02 1.711596966109396e-02 1.711240786053498e-02 1.710884225051524e-02 1.710527282476134e-02 - 1.710169958307061e-02 1.709812252022495e-02 1.709454162136748e-02 1.709095688985418e-02 1.708736832996113e-02 - 1.708377593024533e-02 1.708017968752960e-02 1.707657960032946e-02 1.707297565703870e-02 1.706936785401023e-02 - 1.706575619189593e-02 1.706214066346443e-02 1.705852126552140e-02 1.705489799818787e-02 1.705127085519305e-02 - 1.704763983091843e-02 1.704400492089210e-02 1.704036611449886e-02 1.703672340943711e-02 1.703307681394708e-02 - 1.702942631772786e-02 1.702577190966809e-02 1.702211358937508e-02 1.701845135582294e-02 1.701478520463906e-02 - 1.701111512687454e-02 1.700744111902223e-02 1.700376317991698e-02 1.700008130526762e-02 1.699639548886451e-02 - 1.699270572517141e-02 1.698901201362202e-02 1.698531434790372e-02 1.698161271901581e-02 1.697790713038581e-02 - 1.697419757947398e-02 1.697048405591379e-02 1.696676655885514e-02 1.696304508413142e-02 1.695931962055792e-02 - 1.695559016575875e-02 1.695185672007940e-02 1.694811928170539e-02 1.694437784303563e-02 1.694063239701608e-02 - 1.693688294268234e-02 1.693312947555357e-02 1.692937198914621e-02 1.692561047849961e-02 1.692184494218333e-02 - 1.691807537819241e-02 1.691430177590003e-02 1.691052413380094e-02 1.690674245501956e-02 1.690295672392027e-02 - 1.689916693403359e-02 1.689537309141036e-02 1.689157519031890e-02 1.688777322481082e-02 1.688396719247375e-02 - 1.688015708323470e-02 1.687634289028026e-02 1.687252461641300e-02 1.686870225976892e-02 1.686487581335405e-02 - 1.686104526641643e-02 1.685721061978611e-02 1.685337187596560e-02 1.684952902423863e-02 1.684568205626177e-02 - 1.684183096806695e-02 1.683797575916921e-02 1.683411642637722e-02 1.683025296370582e-02 1.682638536598722e-02 - 1.682251363071521e-02 1.681863775630957e-02 1.681475773295268e-02 1.681087355358095e-02 1.680698521822956e-02 - 1.680309272743823e-02 1.679919607564722e-02 1.679529524908240e-02 1.679139024683375e-02 1.678748107079098e-02 - 1.678356771499038e-02 1.677965016895157e-02 1.677572842703558e-02 1.677180249929987e-02 1.676787237703614e-02 - 1.676393804299063e-02 1.675999950051788e-02 1.675605674951069e-02 1.675210978219402e-02 1.674815858725950e-02 - 1.674420316518524e-02 1.674024352454331e-02 1.673627964747038e-02 1.673231152527195e-02 1.672833916857912e-02 - 1.672436256552257e-02 1.672038170373856e-02 1.671639658470834e-02 1.671240720840105e-02 1.670841357063555e-02 - 1.670441566220705e-02 1.670041347959014e-02 1.669640702110204e-02 1.669239628051189e-02 1.668838125191250e-02 - 1.668436193143650e-02 1.668033831890629e-02 1.667631040878886e-02 1.667227819212758e-02 1.666824166734860e-02 - 1.666420083129591e-02 1.666015567735254e-02 1.665610620005455e-02 1.665205239678242e-02 1.664799426695549e-02 - 1.664393180284348e-02 1.663986499713315e-02 1.663579384792829e-02 1.663171835503466e-02 1.662763851356003e-02 - 1.662355430939835e-02 1.661946574092143e-02 1.661537281150426e-02 1.661127551677910e-02 1.660717384720702e-02 - 1.660306779425839e-02 1.659895736095696e-02 1.659484254425630e-02 1.659072333444665e-02 1.658659972465595e-02 - 1.658247171530552e-02 1.657833931027815e-02 1.657420249617699e-02 1.657006126301349e-02 1.656591561144095e-02 - 1.656176553662080e-02 1.655761103381663e-02 1.655345210211223e-02 1.654928873901935e-02 1.654512093811135e-02 - 1.654094868807454e-02 1.653677198858015e-02 1.653259084096055e-02 1.652840523447503e-02 1.652421516561530e-02 - 1.652002063436291e-02 1.651582163151349e-02 1.651161815099949e-02 1.650741019156900e-02 1.650319775344297e-02 - 1.649898082810461e-02 1.649475940168675e-02 1.649053348141889e-02 1.648630306850305e-02 1.648206814836095e-02 - 1.647782871114676e-02 1.647358475732917e-02 1.646933629656457e-02 1.646508330893651e-02 1.646082578033714e-02 - 1.645656373337251e-02 1.645229715576629e-02 1.644802602626009e-02 1.644375035674409e-02 1.643947014097659e-02 - 1.643518536281393e-02 1.643089602671802e-02 1.642660213310334e-02 1.642230367492405e-02 1.641800064388943e-02 - 1.641369303446324e-02 1.640938084474308e-02 1.640506407467653e-02 1.640074271742540e-02 1.639641675907646e-02 - 1.639208620097271e-02 1.638775104513307e-02 1.638341128505268e-02 1.637906691499287e-02 1.637471792980197e-02 - 1.637036432400064e-02 1.636600609175647e-02 1.636164322915392e-02 1.635727573684415e-02 1.635290360792794e-02 - 1.634852683359730e-02 1.634414541697593e-02 1.633975935494602e-02 1.633536863669590e-02 1.633097325119221e-02 - 1.632657319870386e-02 1.632216848742881e-02 1.631775910539292e-02 1.631334504210032e-02 1.630892629731235e-02 - 1.630450287107613e-02 1.630007475715268e-02 1.629564194133085e-02 1.629120442381021e-02 1.628676220752001e-02 - 1.628231528645751e-02 1.627786365361661e-02 1.627340730437480e-02 1.626894623909321e-02 1.626448044809207e-02 - 1.626000991935131e-02 1.625553465710418e-02 1.625105466086324e-02 1.624656992364918e-02 1.624208044008659e-02 - 1.623758620493278e-02 1.623308721259990e-02 1.622858345750622e-02 1.622407493651434e-02 1.621956164908100e-02 - 1.621504359102545e-02 1.621052075671857e-02 1.620599314061202e-02 1.620146073758967e-02 1.619692354185834e-02 - 1.619238154678624e-02 1.618783475477294e-02 1.618328316706134e-02 1.617872676957040e-02 1.617416555535298e-02 - 1.616959952441603e-02 1.616502867670949e-02 1.616045300241566e-02 1.615587248863419e-02 1.615128714307292e-02 - 1.614669696726644e-02 1.614210195036420e-02 1.613750207990814e-02 1.613289735436475e-02 1.612828778261194e-02 - 1.612367334765880e-02 1.611905403879705e-02 1.611442986870223e-02 1.610980082722066e-02 1.610516690212456e-02 - 1.610052809916244e-02 1.609588441136000e-02 1.609123582829610e-02 1.608658235171540e-02 1.608192397521171e-02 - 1.607726068992654e-02 1.607259250083978e-02 1.606791940362701e-02 1.606324138657220e-02 1.605855844962495e-02 - 1.605387058768025e-02 1.604917779011535e-02 1.604448006054786e-02 1.603977739874237e-02 1.603506979420087e-02 - 1.603035723984084e-02 1.602563973257448e-02 1.602091727188371e-02 1.601618984720332e-02 1.601145745295015e-02 - 1.600672010067149e-02 1.600197777942985e-02 1.599723047266619e-02 1.599247818462375e-02 1.598772091449355e-02 - 1.598295865408641e-02 1.597819139147786e-02 1.597341912912636e-02 1.596864187530068e-02 1.596385961058315e-02 - 1.595907232771693e-02 1.595428003613896e-02 1.594948272828454e-02 1.594468039178993e-02 1.593987301780130e-02 - 1.593506061365002e-02 1.593024318102167e-02 1.592542070422077e-02 1.592059317798925e-02 1.591576060279083e-02 - 1.591092297799217e-02 1.590608029141302e-02 1.590123253274349e-02 1.589637971157846e-02 1.589152182656434e-02 - 1.588665886609507e-02 1.588179081847464e-02 1.587691768450550e-02 1.587203947045915e-02 1.586715616213467e-02 - 1.586226775168990e-02 1.585737424168921e-02 1.585247562649581e-02 1.584757190117160e-02 1.584266306445842e-02 - 1.583774911091078e-02 1.583283003450806e-02 1.582790583090947e-02 1.582297649499978e-02 1.581804202355953e-02 - 1.581310241701619e-02 1.580815766650671e-02 1.580320776320766e-02 1.579825271139450e-02 1.579329250537274e-02 - 1.578832713506978e-02 1.578335660262603e-02 1.577838090296324e-02 1.577340002574811e-02 1.576841397243399e-02 - 1.576342274326813e-02 1.575842633194578e-02 1.575342472205075e-02 1.574841791148685e-02 1.574340591569888e-02 - 1.573838872006093e-02 1.573336631006632e-02 1.572833869008299e-02 1.572330586230670e-02 1.571826781924578e-02 - 1.571322454052314e-02 1.570817603062760e-02 1.570312230059812e-02 1.569806333998715e-02 1.569299913693516e-02 - 1.568792968457186e-02 1.568285498663007e-02 1.567777503779379e-02 1.567268982728102e-02 1.566759935997030e-02 - 1.566250363482262e-02 1.565740264102256e-02 1.565229637077196e-02 1.564718482295817e-02 1.564206800099241e-02 - 1.563694589151567e-02 1.563181848599405e-02 1.562668579194260e-02 1.562154780177149e-02 1.561640450642917e-02 - 1.561125590888111e-02 1.560610200797837e-02 1.560094279515962e-02 1.559577825343192e-02 1.559060838842812e-02 - 1.558543321151646e-02 1.558025270088283e-02 1.557506685188879e-02 1.556987567405825e-02 1.556467915294808e-02 - 1.555947727806998e-02 1.555427005014520e-02 1.554905747326830e-02 1.554383954557267e-02 1.553861625685508e-02 - 1.553338760005679e-02 1.552815357203842e-02 1.552291417232042e-02 1.551766939022104e-02 1.551241921985975e-02 - 1.550716367246923e-02 1.550190274051892e-02 1.549663640983429e-02 1.549136467943576e-02 1.548608754911306e-02 - 1.548080501516420e-02 1.547551706650131e-02 1.547022370107663e-02 1.546492492363977e-02 1.545962073006300e-02 - 1.545431111106912e-02 1.544899605692932e-02 1.544367557060635e-02 1.543834964941066e-02 1.543301828099291e-02 - 1.542768146907574e-02 1.542233921474585e-02 1.541699150599057e-02 1.541163833967913e-02 1.540627971422265e-02 - 1.540091562222576e-02 1.539554606062004e-02 1.539017102808156e-02 1.538479052048013e-02 1.537940453376258e-02 - 1.537401306270197e-02 1.536861609811398e-02 1.536321364249661e-02 1.535780570199338e-02 1.535239225620149e-02 - 1.534697329939463e-02 1.534154884369051e-02 1.533611887960563e-02 1.533068339829330e-02 1.532524239983298e-02 - 1.531979587995433e-02 1.531434383110085e-02 1.530888624554550e-02 1.530342313142362e-02 1.529795449144603e-02 - 1.529248030485156e-02 1.528700056732233e-02 1.528151528324413e-02 1.527602445059826e-02 1.527052806021316e-02 - 1.526502610370102e-02 1.525951858764995e-02 1.525400550804322e-02 1.524848685322667e-02 1.524296262660809e-02 - 1.523743282528689e-02 1.523189743753784e-02 1.522635646012132e-02 1.522080989370855e-02 1.521525773883866e-02 - 1.520969998584297e-02 1.520413662809972e-02 1.519856766896251e-02 1.519299310438481e-02 1.518741292689401e-02 - 1.518182713051541e-02 1.517623571498702e-02 1.517063867977171e-02 1.516503601659771e-02 1.515942772580205e-02 - 1.515381380882217e-02 1.514819425008754e-02 1.514256904339338e-02 1.513693819284546e-02 1.513130169987854e-02 - 1.512565955837021e-02 1.512001175774349e-02 1.511435830052952e-02 1.510869918485496e-02 1.510303439909880e-02 - 1.509736393861015e-02 1.509168780464220e-02 1.508600600178219e-02 1.508031852355242e-02 1.507462535986425e-02 - 1.506892650464710e-02 1.506322195838325e-02 1.505751172137055e-02 1.505179578553525e-02 1.504607414992266e-02 - 1.504034681527993e-02 1.503461377008154e-02 1.502887501067205e-02 1.502313053999477e-02 1.501738035243006e-02 - 1.501162444030474e-02 1.500586279803602e-02 1.500009542963074e-02 1.499432233574762e-02 1.498854350912934e-02 - 1.498275894315130e-02 1.497696863387312e-02 1.497117258012378e-02 1.496537077480856e-02 1.495956321394884e-02 - 1.495374990400090e-02 1.494793083920974e-02 1.494210600904758e-02 1.493627541059610e-02 1.493043904648383e-02 - 1.492459691659297e-02 1.491874900408085e-02 1.491289530722370e-02 1.490703583623931e-02 1.490117058646935e-02 - 1.489529954725381e-02 1.488942270892006e-02 1.488354007804980e-02 1.487765165385858e-02 1.487175742273507e-02 - 1.486585738883519e-02 1.485995155398175e-02 1.485403990610964e-02 1.484812243988829e-02 1.484219915557141e-02 - 1.483627005584607e-02 1.483033513203473e-02 1.482439437542072e-02 1.481844779264578e-02 1.481249538141862e-02 - 1.480653713381494e-02 1.480057304868135e-02 1.479460312202780e-02 1.478862734716873e-02 1.478264572087699e-02 - 1.477665824308106e-02 1.477066491441443e-02 1.476466572742758e-02 1.475866067903805e-02 1.475264977269339e-02 - 1.474663299844858e-02 1.474061034872640e-02 1.473458182710518e-02 1.472854743115566e-02 1.472250715651883e-02 - 1.471646100132783e-02 1.471040896256117e-02 1.470435103749897e-02 1.469828722554372e-02 1.469221751827344e-02 - 1.468614190646898e-02 1.468006039547928e-02 1.467397298615093e-02 1.466787967378610e-02 1.466178045636883e-02 - 1.465567533041493e-02 1.464956428982840e-02 1.464344732703370e-02 1.463732444018100e-02 1.463119563426315e-02 - 1.462506090797482e-02 1.461892025637629e-02 1.461277367320199e-02 1.460662115516677e-02 1.460046270026797e-02 - 1.459429830605704e-02 1.458812796887011e-02 1.458195168595082e-02 1.457576945823491e-02 1.456958128559711e-02 - 1.456338716422361e-02 1.455718708308891e-02 1.455098103823577e-02 1.454476903226018e-02 1.453855106504101e-02 - 1.453232713525658e-02 1.452609724028033e-02 1.451986137384772e-02 1.451361953112174e-02 1.450737171027855e-02 - 1.450111790831084e-02 1.449485812287890e-02 1.448859235383744e-02 1.448232060352556e-02 1.447604287018101e-02 - 1.446975914267516e-02 1.446346941597466e-02 1.445717368938523e-02 1.445087196279080e-02 1.444456423724572e-02 - 1.443825051237331e-02 1.443193078136921e-02 1.442560503975330e-02 1.441927328581930e-02 1.441293551683267e-02 - 1.440659172970616e-02 1.440024192165075e-02 1.439388609177658e-02 1.438752424156573e-02 1.438115637277796e-02 - 1.437478247503487e-02 1.436840254149195e-02 1.436201657648160e-02 1.435562457263202e-02 1.434922652522855e-02 - 1.434282244486077e-02 1.433641232984850e-02 1.432999617114929e-02 1.432357396196595e-02 1.431714570255755e-02 - 1.431071139387867e-02 1.430427102559402e-02 1.429782460021014e-02 1.429137212732056e-02 1.428491359501307e-02 - 1.427844899676062e-02 1.427197833606156e-02 1.426550161130239e-02 1.425901881685885e-02 1.425252994564961e-02 - 1.424603499980085e-02 1.423953398385027e-02 1.423302689906778e-02 1.422651373475527e-02 1.421999448399202e-02 - 1.421346915585374e-02 1.420693774198730e-02 1.420040023237321e-02 1.419385663850131e-02 1.418730696003290e-02 - 1.418075118751426e-02 1.417418931634679e-02 1.416762135086922e-02 1.416104729584521e-02 1.415446713263836e-02 - 1.414788085973522e-02 1.414128849363525e-02 1.413469002361970e-02 1.412808544052846e-02 1.412147474772301e-02 - 1.411485794712882e-02 1.410823503604182e-02 1.410160600672222e-02 1.409497085818714e-02 1.408832959214252e-02 - 1.408168220875668e-02 1.407502870564407e-02 1.406836907961611e-02 1.406170332864153e-02 1.405503144837146e-02 - 1.404835343608425e-02 1.404166929852345e-02 1.403497903248639e-02 1.402828262916828e-02 1.402158009603205e-02 - 1.401487143048169e-02 1.400815661918214e-02 1.400143566703935e-02 1.399470857625501e-02 1.398797534046779e-02 - 1.398123596549795e-02 1.397449045134991e-02 1.396773878380821e-02 1.396098096640959e-02 1.395421700271061e-02 - 1.394744688102961e-02 1.394067060648909e-02 1.393388818692338e-02 1.392709961198955e-02 1.392030488001634e-02 - 1.391350399327543e-02 1.390669694254475e-02 1.389988372719557e-02 1.389306435287330e-02 1.388623881438261e-02 - 1.387940711188756e-02 1.387256925103053e-02 1.386572522405790e-02 1.385887502683316e-02 1.385201866296698e-02 - 1.384515612379329e-02 1.383828740611332e-02 1.383141252098464e-02 1.382453146615934e-02 1.381764423695148e-02 - 1.381075083621117e-02 1.380385125926009e-02 1.379694549932224e-02 1.379003355634722e-02 1.378311543405784e-02 - 1.377619113577579e-02 1.376926065784134e-02 1.376232399626086e-02 1.375538114862362e-02 1.374843211529037e-02 - 1.374147689626999e-02 1.373451549097131e-02 1.372754790081035e-02 1.372057412482435e-02 1.371359415880417e-02 - 1.370660800191563e-02 1.369961565562416e-02 1.369261712158748e-02 1.368561239160383e-02 1.367860146147292e-02 - 1.367158434223160e-02 1.366456103295884e-02 1.365753152816715e-02 1.365049582984413e-02 1.364345393626983e-02 - 1.363640584363454e-02 1.362935155197557e-02 1.362229106201978e-02 1.361522437421294e-02 1.360815148809621e-02 - 1.360107240365773e-02 1.359398712117658e-02 1.358689563898480e-02 1.357979795217255e-02 1.357269405533802e-02 - 1.356558396017600e-02 1.355846767355538e-02 1.355134518540141e-02 1.354421648973967e-02 1.353708158728038e-02 - 1.352994048497773e-02 1.352279317412557e-02 1.351563964921714e-02 1.350847993234027e-02 1.350131401794928e-02 - 1.349414188812881e-02 1.348696355361660e-02 1.347977901858603e-02 1.347258827670450e-02 1.346539132112732e-02 - 1.345818815687027e-02 1.345097879723517e-02 1.344376323611521e-02 1.343654146470481e-02 1.342931348024562e-02 - 1.342207929164266e-02 1.341483890125029e-02 1.340759229714105e-02 1.340033948592649e-02 1.339308047488992e-02 - 1.338581525615185e-02 1.337854383232506e-02 1.337126620737807e-02 1.336398237245951e-02 1.335669232490426e-02 - 1.334939606999042e-02 1.334209361886319e-02 1.333478496691931e-02 1.332747010093965e-02 1.332014902896288e-02 - 1.331282175723704e-02 1.330548828381385e-02 1.329814860211957e-02 1.329080271412866e-02 1.328345063097246e-02 - 1.327609234424045e-02 1.326872784914616e-02 1.326135715657202e-02 1.325398026514318e-02 1.324659716972378e-02 - 1.323920787031880e-02 1.323181236976987e-02 1.322441067219326e-02 1.321700278123619e-02 1.320958869473772e-02 - 1.320216840889533e-02 1.319474192647233e-02 1.318730924299288e-02 1.317987035320805e-02 1.317242527523754e-02 - 1.316497401404441e-02 1.315751655750498e-02 1.315005290457417e-02 1.314258305915991e-02 1.313510702533477e-02 - 1.312762479749873e-02 1.312013637454663e-02 1.311264176674524e-02 1.310514097528989e-02 1.309763399743803e-02 - 1.309012083240218e-02 1.308260148524151e-02 1.307507595779872e-02 1.306754423810231e-02 1.306000633130083e-02 - 1.305246225068735e-02 1.304491199415833e-02 1.303735555888092e-02 1.302979294561730e-02 1.302222416114251e-02 - 1.301464920127586e-02 1.300706805512286e-02 1.299948074007148e-02 1.299188726392925e-02 1.298428761376350e-02 - 1.297668178953030e-02 1.296906979917289e-02 1.296145165196894e-02 1.295382733572278e-02 1.294619684321666e-02 - 1.293856019418804e-02 1.293091739361701e-02 1.292326843600229e-02 1.291561331594024e-02 1.290795203962965e-02 - 1.290028461406370e-02 1.289261102589192e-02 1.288493127982097e-02 1.287724539399148e-02 1.286955336728896e-02 - 1.286185519483855e-02 1.285415087393522e-02 1.284644040779901e-02 1.283872379943217e-02 1.283100105007112e-02 - 1.282327216499671e-02 1.281553714651719e-02 1.280779599126801e-02 1.280004870582322e-02 1.279229529551004e-02 - 1.278453575462785e-02 1.277677008230648e-02 1.276899828322272e-02 1.276122036637128e-02 1.275343633303281e-02 - 1.274564618082443e-02 1.273784991358546e-02 1.273004753391990e-02 1.272223904101719e-02 1.271442442957637e-02 - 1.270660370794978e-02 1.269877689384363e-02 1.269094397773904e-02 1.268310495443295e-02 1.267525983383190e-02 - 1.266740862159357e-02 1.265955131610305e-02 1.265168790986125e-02 1.264381841321034e-02 1.263594283614933e-02 - 1.262806117310012e-02 1.262017342951705e-02 1.261227961209872e-02 1.260437971406514e-02 1.259647373729069e-02 - 1.258856168925583e-02 1.258064357239260e-02 1.257271939240096e-02 1.256478915520078e-02 1.255685285459754e-02 - 1.254891049173029e-02 1.254096207570647e-02 1.253300760376554e-02 1.252504707668881e-02 1.251708050378790e-02 - 1.250910789128773e-02 1.250112924190730e-02 1.249314455497329e-02 1.248515382942968e-02 1.247715706626537e-02 - 1.246915427066142e-02 1.246114545004359e-02 1.245313061093009e-02 1.244510975519442e-02 1.243708288271855e-02 - 1.242904999334644e-02 1.242101108960597e-02 1.241296617602342e-02 1.240491525784085e-02 1.239685833832253e-02 - 1.238879542265411e-02 1.238072651672425e-02 1.237265161832934e-02 1.236457072972670e-02 1.235648385971585e-02 - 1.234839100475330e-02 1.234029216644840e-02 1.233218735967670e-02 1.232407658450629e-02 1.231595983825897e-02 - 1.230783712734204e-02 1.229970846199802e-02 1.229157384500942e-02 1.228343326032102e-02 1.227528672233900e-02 - 1.226713425500730e-02 1.225897584359588e-02 1.225081148758153e-02 1.224264120133804e-02 1.223446498720786e-02 - 1.222628284514866e-02 1.221809477711035e-02 1.220990079161559e-02 1.220170089405064e-02 1.219349508434973e-02 - 1.218528336781141e-02 1.217706575082829e-02 1.216884223701085e-02 1.216061282093886e-02 1.215237750559525e-02 - 1.214413631491834e-02 1.213588924765066e-02 1.212763629639266e-02 1.211937747504947e-02 1.211111278696468e-02 - 1.210284222899338e-02 1.209456580676226e-02 1.208628352659129e-02 1.207799539529086e-02 1.206970142400196e-02 - 1.206140161359375e-02 1.205309595715539e-02 1.204478446558403e-02 1.203646714593309e-02 1.202814399601385e-02 - 1.201981502726849e-02 1.201148024892713e-02 1.200313965960066e-02 1.199479326438714e-02 1.198644106975963e-02 - 1.197808307814890e-02 1.196971928979660e-02 1.196134970757412e-02 1.195297434273665e-02 1.194459320579336e-02 - 1.193620630286995e-02 1.192781363156250e-02 1.191941519457288e-02 1.191101099930699e-02 1.190260104978759e-02 - 1.189418535108248e-02 1.188576391078268e-02 1.187733673904143e-02 1.186890383909906e-02 1.186046520717658e-02 - 1.185202085452967e-02 1.184357078721630e-02 1.183511499765447e-02 1.182665350164435e-02 1.181818631619212e-02 - 1.180971343948878e-02 1.180123487113532e-02 1.179275061618258e-02 1.178426068678883e-02 1.177576508273127e-02 - 1.176726380098327e-02 1.175875685721244e-02 1.175024426443667e-02 1.174172602804813e-02 1.173320214474543e-02 - 1.172467261918110e-02 1.171613746318596e-02 1.170759667473828e-02 1.169905025976067e-02 1.169049823639713e-02 - 1.168194060529573e-02 1.167337736787376e-02 1.166480853596695e-02 1.165623411322526e-02 1.164765410079015e-02 - 1.163906850325271e-02 1.163047732858534e-02 1.162188058835008e-02 1.161327829716097e-02 1.160467045202270e-02 - 1.159605704763531e-02 1.158743810702480e-02 1.157881363156412e-02 1.157018361041755e-02 1.156154807040710e-02 - 1.155290702254676e-02 1.154426045745637e-02 1.153560838867705e-02 1.152695082724772e-02 1.151828777265603e-02 - 1.150961922666123e-02 1.150094519786783e-02 1.149226570234640e-02 1.148358074611148e-02 1.147489033148848e-02 - 1.146619446355201e-02 1.145749315215113e-02 1.144878640491215e-02 1.144007421936342e-02 1.143135660500108e-02 - 1.142263357779597e-02 1.141390514531738e-02 1.140517131031360e-02 1.139643207471360e-02 1.138768744746770e-02 - 1.137893743736065e-02 1.137018205114591e-02 1.136142129485616e-02 1.135265517811921e-02 1.134388371322748e-02 - 1.133510690045416e-02 1.132632474439678e-02 1.131753726104511e-02 1.130874445081251e-02 1.129994631541456e-02 - 1.129114287234474e-02 1.128233413053084e-02 1.127352009524980e-02 1.126470077646612e-02 1.125587617975814e-02 - 1.124704630615814e-02 1.123821115477194e-02 1.122937074388692e-02 1.122052509984340e-02 1.121167421843202e-02 - 1.120281809651728e-02 1.119395674175946e-02 1.118509017235879e-02 1.117621839625571e-02 1.116734140890626e-02 - 1.115845922925729e-02 1.114957187162777e-02 1.114067933143962e-02 1.113178161769016e-02 1.112287874451852e-02 - 1.111397072153178e-02 1.110505754694771e-02 1.109613922373310e-02 1.108721577854856e-02 1.107828721826434e-02 - 1.106935353946150e-02 1.106041475521090e-02 1.105147087839408e-02 1.104252191603393e-02 1.103356786436798e-02 - 1.102460873384026e-02 1.101564454870664e-02 1.100667531791245e-02 1.099770104268406e-02 1.098872172333136e-02 - 1.097973737703280e-02 1.097074801492989e-02 1.096175363206450e-02 1.095275424291130e-02 1.094374986633713e-02 - 1.093474051123777e-02 1.092572618232803e-02 1.091670688531980e-02 1.090768263148204e-02 1.089865342255811e-02 - 1.088961926240844e-02 1.088058018050034e-02 1.087153618780464e-02 1.086248727940419e-02 1.085343346361914e-02 - 1.084437475261139e-02 1.083531115780061e-02 1.082624268419920e-02 1.081716934144050e-02 1.080809114559821e-02 - 1.079900810312026e-02 1.078992022093278e-02 1.078082751184906e-02 1.077172998533364e-02 1.076262764813011e-02 - 1.075352050586474e-02 1.074440857092024e-02 1.073529185762834e-02 1.072617037570664e-02 1.071704413251609e-02 - 1.070791313635956e-02 1.069877740113652e-02 1.068963693244828e-02 1.068049173224424e-02 1.067134181766250e-02 - 1.066218720670161e-02 1.065302791162099e-02 1.064386393117340e-02 1.063469527249458e-02 1.062552195483164e-02 - 1.061634397913101e-02 1.060716135205155e-02 1.059797409807024e-02 1.058878223029125e-02 1.057958575437316e-02 - 1.057038467384018e-02 1.056117900039964e-02 1.055196874533382e-02 1.054275390960051e-02 1.053353451406393e-02 - 1.052431058354873e-02 1.051508211263400e-02 1.050584910821505e-02 1.049661158906674e-02 1.048736956269110e-02 - 1.047812303544552e-02 1.046887201730896e-02 1.045961652742825e-02 1.045035657823219e-02 1.044109217270465e-02 - 1.043182332652317e-02 1.042255005238709e-02 1.041327235213399e-02 1.040399023555266e-02 1.039470371859749e-02 - 1.038541282005145e-02 1.037611754740451e-02 1.036681790639924e-02 1.035751391340543e-02 1.034820558036888e-02 - 1.033889291336949e-02 1.032957591435120e-02 1.032025460242317e-02 1.031092900384275e-02 1.030159911688449e-02 - 1.029226495054825e-02 1.028292652729243e-02 1.027358385071069e-02 1.026423692589549e-02 1.025488576741323e-02 - 1.024553039300053e-02 1.023617081698821e-02 1.022680704740226e-02 1.021743909457171e-02 1.020806697035185e-02 - 1.019869068658227e-02 1.018931025066223e-02 1.017992567348438e-02 1.017053697875713e-02 1.016114417776936e-02 - 1.015174727399650e-02 1.014234627700861e-02 1.013294120450803e-02 1.012353207457940e-02 1.011411888599992e-02 - 1.010470164920459e-02 1.009528038851809e-02 1.008585511657422e-02 1.007642584330934e-02 1.006699257991301e-02 - 1.005755533847607e-02 1.004811412861271e-02 1.003866895746225e-02 1.002921984502842e-02 1.001976681035788e-02 - 1.001030986009602e-02 1.000084900502786e-02 9.991384259025663e-03 9.981915635495017e-03 9.972443141719819e-03 - 9.962966786689603e-03 9.953486595586885e-03 9.944002583039199e-03 9.934514754395770e-03 9.925023122335749e-03 - 9.915527701693664e-03 9.906028505794947e-03 9.896525539473492e-03 9.887018817044350e-03 9.877508364713565e-03 - 9.867994191756903e-03 9.858476305769829e-03 9.848954721540815e-03 9.839429453723526e-03 9.829900512927632e-03 - 9.820367904529967e-03 9.810831649938153e-03 9.801291772225836e-03 9.791748277276684e-03 9.782201174956444e-03 - 9.772650480173910e-03 9.763096209214261e-03 9.753538370443265e-03 9.743976971083063e-03 9.734412038356991e-03 - 9.724843589152831e-03 9.715271627378256e-03 9.705696167153652e-03 9.696117225097080e-03 9.686534815487291e-03 - 9.676948943754414e-03 9.667359623576509e-03 9.657766883492007e-03 9.648170733986708e-03 9.638571181819185e-03 - 9.628968243024477e-03 9.619361933494769e-03 9.609752265452595e-03 9.600139245296816e-03 9.590522893495216e-03 - 9.580903234511828e-03 9.571280275331249e-03 9.561654026946651e-03 9.552024506017841e-03 9.542391727779683e-03 - 9.532755702177183e-03 9.523116437885958e-03 9.513473960404769e-03 9.503828289303256e-03 9.494179431678001e-03 - 9.484527400058637e-03 9.474872210511853e-03 9.465213879778082e-03 9.455552415295903e-03 9.445887829718797e-03 - 9.436220151655284e-03 9.426549394486200e-03 9.416875565725477e-03 9.407198681221749e-03 9.397518758018270e-03 - 9.387835810148322e-03 9.378149843813783e-03 9.368460878589471e-03 9.358768941430739e-03 9.349074041571485e-03 - 9.339376189353358e-03 9.329675400879622e-03 9.319971694171958e-03 9.310265081086165e-03 9.300555568605354e-03 - 9.290843182951191e-03 9.281127946492163e-03 9.271409865969660e-03 9.261688954922952e-03 9.251965230660204e-03 - 9.242238709904914e-03 9.232509401801155e-03 9.222777318787652e-03 9.213042489474691e-03 9.203304930168641e-03 - 9.193564649383718e-03 9.183821661973759e-03 9.174075985705271e-03 9.164327637046287e-03 9.154576623077591e-03 - 9.144822962285418e-03 9.135066683045857e-03 9.125307796249328e-03 9.115546312613307e-03 9.105782249286811e-03 - 9.096015624756502e-03 9.086246452281876e-03 9.076474739187750e-03 9.066700510968253e-03 9.056923792083085e-03 - 9.047144590189744e-03 9.037362919662660e-03 9.027578799121916e-03 9.017792245480461e-03 9.008003268928564e-03 - 8.998211881680073e-03 8.988418113610518e-03 8.978621982540696e-03 8.968823496265647e-03 8.959022672124209e-03 - 8.949219528590024e-03 8.939414081469170e-03 8.929606339864140e-03 8.919796321979990e-03 8.909984056877767e-03 - 8.900169557867096e-03 8.890352835957138e-03 8.880533907981049e-03 8.870712793191068e-03 8.860889506593549e-03 - 8.851064055633283e-03 8.841236465905915e-03 8.831406764712287e-03 8.821574959648875e-03 8.811741064546590e-03 - 8.801905099237244e-03 8.792067082696866e-03 8.782227026145442e-03 8.772384940188230e-03 8.762540855386065e-03 - 8.752694792574688e-03 8.742846759945761e-03 8.732996774006149e-03 8.723144854408183e-03 8.713291019755398e-03 - 8.703435278608567e-03 8.693577647775636e-03 8.683718159456632e-03 8.673856827661263e-03 8.663993662505663e-03 - 8.654128683145933e-03 8.644261909320558e-03 8.634393356690426e-03 8.624523033451901e-03 8.614650964506795e-03 - 8.604777179373340e-03 8.594901686657006e-03 8.585024500118565e-03 8.575145640490715e-03 8.565265126670765e-03 - 8.555382971806235e-03 8.545499187654319e-03 8.535613803632294e-03 8.525726842250045e-03 8.515838312646278e-03 - 8.505948232174527e-03 8.496056621077198e-03 8.486163497882877e-03 8.476268872748003e-03 8.466372762116349e-03 - 8.456475199094931e-03 8.446576199856061e-03 8.436675774300739e-03 8.426773941795081e-03 8.416870722731803e-03 - 8.406966134358667e-03 8.397060186389057e-03 8.387152901959176e-03 8.377244311160385e-03 8.367334425300299e-03 - 8.357423258296441e-03 8.347510830980188e-03 8.337597163605794e-03 8.327682270401855e-03 8.317766161869340e-03 - 8.307848867754637e-03 8.297930413816063e-03 8.288010810083676e-03 8.278090072673102e-03 8.268168221765407e-03 - 8.258245278027963e-03 8.248321253600945e-03 8.238396163758082e-03 8.228470040664376e-03 8.218542903042886e-03 - 8.208614761992156e-03 8.198685637447353e-03 8.188755549837494e-03 8.178824516773604e-03 8.168892549578916e-03 - 8.158959670459199e-03 8.149025910256038e-03 8.139091282816925e-03 8.129155801857130e-03 8.119219487437710e-03 - 8.109282361690508e-03 8.099344440765549e-03 8.089405733754036e-03 8.079466270417937e-03 8.069526079135253e-03 - 8.059585169010465e-03 8.049643556954327e-03 8.039701265060109e-03 8.029758314127560e-03 8.019814717074126e-03 - 8.009870488264625e-03 7.999925660293698e-03 7.989980254561855e-03 7.980034282561204e-03 7.970087763203990e-03 - 7.960140717914167e-03 7.950193166721423e-03 7.940245120231920e-03 7.930296599391260e-03 7.920347637831796e-03 - 7.910398250263278e-03 7.900448449763646e-03 7.890498257622273e-03 7.880547695356892e-03 7.870596780430528e-03 - 7.860645524802819e-03 7.850693955430419e-03 7.840742100859013e-03 7.830789973961963e-03 7.820837591210042e-03 - 7.810884973654219e-03 7.800932143705464e-03 7.790979115476222e-03 7.781025902060369e-03 7.771072537550891e-03 - 7.761119045304192e-03 7.751165435253132e-03 7.741211727248220e-03 7.731257943744334e-03 7.721304105116559e-03 - 7.711350222852130e-03 7.701396316987202e-03 7.691442422531397e-03 7.681488555826352e-03 7.671534729460651e-03 - 7.661580965493510e-03 7.651627286213397e-03 7.641673709645761e-03 7.631720246474624e-03 7.621766924002147e-03 - 7.611813774300424e-03 7.601860809420407e-03 7.591908045212342e-03 7.581955503946372e-03 7.572003208680656e-03 - 7.562051174726026e-03 7.552099414296815e-03 7.542147961065804e-03 7.532196840825635e-03 7.522246063843738e-03 - 7.512295650102864e-03 7.502345622322073e-03 7.492396000716249e-03 7.482446799189802e-03 7.472498037196947e-03 - 7.462549747897286e-03 7.452601950331629e-03 7.442654658211039e-03 7.432707892744488e-03 7.422761676416634e-03 - 7.412816028768508e-03 7.402870961455420e-03 7.392926500328647e-03 7.382982678429822e-03 7.373039508794957e-03 - 7.363097007225734e-03 7.353155196864952e-03 7.343214100532815e-03 7.333273734782904e-03 7.323334112197604e-03 - 7.313395265021593e-03 7.303457220900774e-03 7.293519991033275e-03 7.283583594600794e-03 7.273648054943689e-03 - 7.263713394446934e-03 7.253779626580373e-03 7.243846768480717e-03 7.233914855435080e-03 7.223983908518886e-03 - 7.214053940460562e-03 7.204124972417771e-03 7.194197027491048e-03 7.184270126394881e-03 7.174344280726286e-03 - 7.164419514784642e-03 7.154495863236941e-03 7.144573340914020e-03 7.134651962993328e-03 7.124731752265264e-03 - 7.114812732100897e-03 7.104894920638768e-03 7.094978330575343e-03 7.085062992246606e-03 7.075148934793896e-03 - 7.065236171017366e-03 7.055324719420953e-03 7.045414603125002e-03 7.035505845669364e-03 7.025598461448587e-03 - 7.015692466009597e-03 7.005787894887785e-03 6.995884771371198e-03 6.985983107977662e-03 6.976082925249031e-03 - 6.966184246523457e-03 6.956287093797063e-03 6.946391479271966e-03 6.936497425652844e-03 6.926604968509339e-03 - 6.916714124366364e-03 6.906824907731460e-03 6.896937340931554e-03 6.887051448149962e-03 6.877167248699087e-03 - 6.867284753979424e-03 6.857403994050719e-03 6.847525000658012e-03 6.837647785670592e-03 6.827772367409923e-03 - 6.817898770109592e-03 6.808027016717447e-03 6.798157122708669e-03 6.788289103240300e-03 6.778422992931511e-03 - 6.768558816798320e-03 6.758696587557012e-03 6.748836325648165e-03 6.738978054348659e-03 6.729121795949092e-03 - 6.719267563927435e-03 6.709415379633438e-03 6.699565278400954e-03 6.689717278120727e-03 6.679871393303892e-03 - 6.670027647355804e-03 6.660186063525513e-03 6.650346660981845e-03 6.640509452367944e-03 6.630674466396449e-03 - 6.620841735868644e-03 6.611011273308148e-03 6.601183096392477e-03 6.591357229649247e-03 6.581533696087914e-03 - 6.571712512145987e-03 6.561893692372858e-03 6.552077270290561e-03 6.542263272668194e-03 6.532451712617284e-03 - 6.522642609933696e-03 6.512835987879551e-03 6.503031869590782e-03 6.493230268870023e-03 6.483431205156500e-03 - 6.473634714105858e-03 6.463840816056773e-03 6.454049525191551e-03 6.444260863046832e-03 6.434474853362258e-03 - 6.424691517208967e-03 6.414910866799055e-03 6.405132928351729e-03 6.395357735592168e-03 6.385585303753894e-03 - 6.375815649717760e-03 6.366048796411005e-03 6.356284767471845e-03 6.346523580477974e-03 6.336765248927921e-03 - 6.327009805730009e-03 6.317257279178600e-03 6.307507681412946e-03 6.297761032647583e-03 6.288017356862164e-03 - 6.278276676438099e-03 6.268539005625230e-03 6.258804362658888e-03 6.249072783406197e-03 6.239344289504087e-03 - 6.229618894349891e-03 6.219896619699197e-03 6.210177489065160e-03 6.200461523673893e-03 6.190748736475173e-03 - 6.181039151999554e-03 6.171332804226705e-03 6.161629709556120e-03 6.151929884103313e-03 6.142233350147177e-03 - 6.132540131644584e-03 6.122850247356021e-03 6.113163710170625e-03 6.103480551213418e-03 6.093800800141988e-03 - 6.084124469547710e-03 6.074451578566364e-03 6.064782150905211e-03 6.055116209626953e-03 6.045453769994722e-03 - 6.035794848740185e-03 6.026139480474754e-03 6.016487688229946e-03 6.006839485237500e-03 5.997194892776407e-03 - 5.987553934341584e-03 5.977916631713333e-03 5.968282997802390e-03 5.958653055343909e-03 5.949026838944569e-03 - 5.939404365780911e-03 5.929785651209331e-03 5.920170717549854e-03 5.910559587858684e-03 5.900952281370824e-03 - 5.891348811852907e-03 5.881749208142844e-03 5.872153500225121e-03 5.862561701850070e-03 5.852973831530551e-03 - 5.843389912374926e-03 5.833809966833203e-03 5.824234011006907e-03 5.814662060999971e-03 5.805094150375409e-03 - 5.795530303292347e-03 5.785970532524381e-03 5.776414859211175e-03 5.766863306294991e-03 5.757315894674337e-03 - 5.747772638659374e-03 5.738233559732430e-03 5.728698691311226e-03 5.719168051719483e-03 5.709641656042984e-03 - 5.700119526414031e-03 5.690601685377130e-03 5.681088152168133e-03 5.671578940158426e-03 5.662074076665564e-03 - 5.652573592801510e-03 5.643077502877857e-03 5.633585823810169e-03 5.624098577633230e-03 5.614615788052954e-03 - 5.605137471831965e-03 5.595663642810052e-03 5.586194333773162e-03 5.576729570469775e-03 5.567269364923084e-03 - 5.557813736696195e-03 5.548362708847973e-03 5.538916303890826e-03 5.529474534822445e-03 5.520037420561356e-03 - 5.510604996543656e-03 5.501177281279281e-03 5.491754287530179e-03 5.482336037985177e-03 5.472922555453679e-03 - 5.463513859119052e-03 5.454109961206277e-03 5.444710887376439e-03 5.435316669896643e-03 5.425927322428118e-03 - 5.416542861379438e-03 5.407163309793553e-03 5.397788689388935e-03 5.388419016905312e-03 5.379054306533677e-03 - 5.369694588817857e-03 5.360339890208465e-03 5.350990223294556e-03 5.341645606645782e-03 5.332306062415535e-03 - 5.322971612709802e-03 5.313642271564683e-03 5.304318056285795e-03 5.294999000250198e-03 5.285685123732157e-03 - 5.276376439554206e-03 5.267072968338082e-03 5.257774732353860e-03 5.248481751732874e-03 5.239194038865901e-03 - 5.229911616755654e-03 5.220634516968343e-03 5.211362754853240e-03 5.202096346092698e-03 5.192835312362628e-03 - 5.183579674966123e-03 5.174329450821569e-03 5.165084652994387e-03 5.155845310548846e-03 5.146611450951191e-03 - 5.137383086378589e-03 5.128160234647254e-03 5.118942917508807e-03 5.109731156137037e-03 5.100524965000140e-03 - 5.091324360054826e-03 5.082129373049942e-03 5.072940025255639e-03 5.063756329149303e-03 5.054578304260502e-03 - 5.045405972366202e-03 5.036239353680495e-03 5.027078459118392e-03 5.017923310123222e-03 5.008773940483098e-03 - 4.999630364315774e-03 4.990492594829337e-03 4.981360654331298e-03 4.972234563790402e-03 4.963114339923834e-03 - 4.953999995020500e-03 4.944891556281875e-03 4.935789051765770e-03 4.926692493194353e-03 4.917601897109304e-03 - 4.908517284729773e-03 4.899438676825864e-03 4.890366088012707e-03 4.881299532722441e-03 4.872239041569468e-03 - 4.863184636415129e-03 4.854136328649667e-03 4.845094137498133e-03 4.836058083872883e-03 4.827028186746977e-03 - 4.818004458681770e-03 4.808986918914880e-03 4.799975597861264e-03 4.790970512088721e-03 4.781971675128856e-03 - 4.772979106768043e-03 4.763992827229902e-03 4.755012853632298e-03 4.746039197549013e-03 4.737071883993436e-03 - 4.728110941197518e-03 4.719156380399636e-03 4.710208217424537e-03 4.701266473663848e-03 4.692331168251817e-03 - 4.683402315353613e-03 4.674479928383867e-03 4.665564036556664e-03 4.656654662394768e-03 4.647751816371710e-03 - 4.638855516650367e-03 4.629965783672686e-03 4.621082635909843e-03 4.612206084994354e-03 4.603336148102954e-03 - 4.594472856159325e-03 4.585616225744373e-03 4.576766268345947e-03 4.567923003199363e-03 4.559086450091263e-03 - 4.550256626033265e-03 4.541433541986122e-03 4.532617220194613e-03 4.523807688535670e-03 4.515004959722835e-03 - 4.506209047920159e-03 4.497419972185719e-03 4.488637751873642e-03 4.479862401381760e-03 4.471093932025212e-03 - 4.462332371280023e-03 4.453577742726973e-03 4.444830056583276e-03 4.436089328917552e-03 4.427355578888171e-03 - 4.418628824988929e-03 4.409909078668640e-03 4.401196354933857e-03 4.392490684030716e-03 4.383792083151365e-03 - 4.375100562120779e-03 4.366416138313078e-03 4.357738831525952e-03 4.349068659591380e-03 4.340405630957790e-03 - 4.331749765364269e-03 4.323101091949651e-03 4.314459623208851e-03 4.305825371349630e-03 4.297198354190413e-03 - 4.288578590720092e-03 4.279966095343473e-03 4.271360877578565e-03 4.262762963097229e-03 4.254172376200769e-03 - 4.245589126222103e-03 4.237013227440267e-03 4.228444697962537e-03 4.219883556022182e-03 4.211329813254019e-03 - 4.202783482548908e-03 4.194244591796649e-03 4.185713159116739e-03 4.177189194188086e-03 4.168672712320958e-03 - 4.160163731860882e-03 4.151662270610665e-03 4.143168336754119e-03 4.134681947397693e-03 4.126203130809124e-03 - 4.117731899759874e-03 4.109268265260960e-03 4.100812244167818e-03 4.092363854125291e-03 4.083923109325604e-03 - 4.075490018959178e-03 4.067064605609816e-03 4.058646892914489e-03 4.050236890474988e-03 4.041834611549669e-03 - 4.033440073099425e-03 4.025053291802670e-03 4.016674279190388e-03 4.008303046950822e-03 3.999939621219669e-03 - 3.991584019864232e-03 3.983236251035503e-03 3.974896329846703e-03 3.966564273682151e-03 3.958240098637734e-03 - 3.949923812376889e-03 3.941615430268695e-03 3.933314980874398e-03 3.925022475755094e-03 3.916737923312982e-03 - 3.908461340476090e-03 3.900192744628528e-03 3.891932149238224e-03 3.883679560814138e-03 3.875435000263637e-03 - 3.867198492508630e-03 3.858970045729460e-03 3.850749670926077e-03 3.842537384120139e-03 3.834333202377867e-03 - 3.826137136626801e-03 3.817949195349815e-03 3.809769403427763e-03 3.801597779587331e-03 3.793434330750140e-03 - 3.785279069923421e-03 3.777132013373491e-03 3.768993177352847e-03 3.760862568898475e-03 3.752740200334732e-03 - 3.744626099044159e-03 3.736520277340854e-03 3.728422742215669e-03 3.720333508785603e-03 3.712252593018920e-03 - 3.704180008090329e-03 3.696115760631814e-03 3.688059868276574e-03 3.680012354362612e-03 3.671973228138760e-03 - 3.663942499526064e-03 3.655920182566113e-03 3.647906292785413e-03 3.639900840938008e-03 3.631903834337251e-03 - 3.623915295229000e-03 3.615935242250758e-03 3.607963681828620e-03 3.600000626081414e-03 3.592046089865790e-03 - 3.584100087061132e-03 3.576162625323692e-03 3.568233715505030e-03 3.560313381862740e-03 3.552401637255495e-03 - 3.544498488187401e-03 3.536603947761108e-03 3.528718030587010e-03 3.520840749407267e-03 3.512972109975055e-03 - 3.505112127471606e-03 3.497260824593953e-03 3.489418209893856e-03 3.481584291815555e-03 3.473759083632174e-03 - 3.465942599385497e-03 3.458134849136788e-03 3.450335838875430e-03 3.442545588595099e-03 3.434764116831954e-03 - 3.426991428902786e-03 3.419227535146918e-03 3.411472449427477e-03 3.403726185233638e-03 3.395988749408295e-03 - 3.388260149964055e-03 3.380540409506120e-03 3.372829541439428e-03 3.365127551327278e-03 3.357434450344299e-03 - 3.349750251864305e-03 3.342074968176267e-03 3.334408603200120e-03 3.326751169911567e-03 3.319102691777129e-03 - 3.311463175183513e-03 3.303832626198486e-03 3.296211059114474e-03 3.288598486024217e-03 3.280994915398627e-03 - 3.273400352769854e-03 3.265814815709593e-03 3.258238322074859e-03 3.250670876135365e-03 3.243112486983179e-03 - 3.235563167624456e-03 3.228022929479646e-03 3.220491779361285e-03 3.212969724272006e-03 3.205456783570964e-03 - 3.197952970426890e-03 3.190458290104943e-03 3.182972751519780e-03 3.175496366385864e-03 3.168029146873250e-03 - 3.160571096621216e-03 3.153122225636278e-03 3.145682555500280e-03 3.138252093348739e-03 3.130830843615626e-03 - 3.123418817816768e-03 3.116016027518625e-03 3.108622481356378e-03 3.101238183229207e-03 3.093863147897005e-03 - 3.086497392737253e-03 3.079140921752824e-03 3.071793741871484e-03 3.064455864252268e-03 3.057127299904285e-03 - 3.049808055146270e-03 3.042498134791386e-03 3.035197556645182e-03 3.027906333235584e-03 3.020624467536793e-03 - 3.013351968343262e-03 3.006088846580162e-03 2.998835112089031e-03 2.991590768047797e-03 2.984355822285627e-03 - 2.977130294631421e-03 2.969914192263928e-03 2.962707518230782e-03 2.955510282832787e-03 2.948322496039390e-03 - 2.941144165204636e-03 2.933975293458325e-03 2.926815893073326e-03 2.919665980487675e-03 2.912525559332239e-03 - 2.905394635071103e-03 2.898273217656210e-03 2.891161316595433e-03 2.884058936906487e-03 2.876966081111658e-03 - 2.869882766189157e-03 2.862809005041444e-03 2.855744798230348e-03 2.848690153100023e-03 2.841645079496137e-03 - 2.834609585256340e-03 2.827583673848185e-03 2.820567351490293e-03 2.813560634590312e-03 2.806563530531927e-03 - 2.799576041999259e-03 2.792598177467573e-03 2.785629945309582e-03 2.778671351607254e-03 2.771722398039775e-03 - 2.764783095014263e-03 2.757853459091809e-03 2.750933492568204e-03 2.744023198517816e-03 2.737122585640385e-03 - 2.730231662189404e-03 2.723350432970404e-03 2.716478899800820e-03 2.709617075896625e-03 2.702764973241287e-03 - 2.695922593060963e-03 2.689089940152226e-03 2.682267022316270e-03 2.675453847914084e-03 2.668650418902243e-03 - 2.661856738145520e-03 2.655072822033232e-03 2.648298678030288e-03 2.641534306206961e-03 2.634779712258937e-03 - 2.628034904058933e-03 2.621299888635041e-03 2.614574665771587e-03 2.607859242632423e-03 2.601153634957146e-03 - 2.594457844452072e-03 2.587771872555374e-03 2.581095727373358e-03 2.574429415266960e-03 2.567772939497474e-03 - 2.561126300777387e-03 2.554489510835181e-03 2.547862581281132e-03 2.541245510713479e-03 2.534638303078699e-03 - 2.528040966193904e-03 2.521453505493298e-03 2.514875922225054e-03 2.508308218200437e-03 2.501750407164573e-03 - 2.495202496081871e-03 2.488664484118587e-03 2.482136376281468e-03 2.475618178705269e-03 2.469109895957427e-03 - 2.462611527825166e-03 2.456123079328407e-03 2.449644563898542e-03 2.443175984269443e-03 2.436717340526153e-03 - 2.430268636964234e-03 2.423829879853036e-03 2.417401073311931e-03 2.410982215756923e-03 2.404573315098301e-03 - 2.398174382071132e-03 2.391785416912405e-03 2.385406421217447e-03 2.379037399546287e-03 2.372678357701878e-03 - 2.366329296305038e-03 2.359990214012962e-03 2.353661123666590e-03 2.347342032379030e-03 2.341032936953993e-03 - 2.334733840455562e-03 2.328444748068140e-03 2.322165663885325e-03 2.315896586946297e-03 2.309637519733881e-03 - 2.303388473653537e-03 2.297149451184649e-03 2.290920451297887e-03 2.284701476927273e-03 2.278492533074980e-03 - 2.272293622898508e-03 2.266104742447669e-03 2.259925897918875e-03 2.253757100645447e-03 2.247598348619136e-03 - 2.241449641489242e-03 2.235310983406359e-03 2.229182378556762e-03 2.223063827011661e-03 2.216955326220785e-03 - 2.210856885615230e-03 2.204768511855369e-03 2.198690202073136e-03 2.192621957162963e-03 2.186563780523993e-03 - 2.180515675851768e-03 2.174477640514074e-03 2.168449674335647e-03 2.162431789038673e-03 2.156423986093689e-03 - 2.150426261719325e-03 2.144438618887063e-03 2.138461061015507e-03 2.132493589319895e-03 2.126536199820428e-03 - 2.120588896234097e-03 2.114651688169617e-03 2.108724573757348e-03 2.102807551461262e-03 2.096900623831682e-03 - 2.091003792760502e-03 2.085117057433877e-03 2.079240415028002e-03 2.073373872799373e-03 2.067517436442142e-03 - 2.061671101563673e-03 2.055834867994772e-03 2.050008738194652e-03 2.044192713868095e-03 2.038386792128391e-03 - 2.032590971333173e-03 2.026805260662020e-03 2.021029661329869e-03 2.015264168518725e-03 2.009508783500123e-03 - 2.003763508166370e-03 1.998028342654997e-03 1.992303282805534e-03 1.986588330078225e-03 1.980883492165770e-03 - 1.975188767039759e-03 1.969504151730439e-03 1.963829647004430e-03 1.958165254218237e-03 1.952510971963634e-03 - 1.946866794889960e-03 1.941232728159857e-03 1.935608777640074e-03 1.929994938329363e-03 1.924391207914093e-03 - 1.918797587114099e-03 1.913214077256622e-03 1.907640674795718e-03 1.902077375557082e-03 1.896524186430478e-03 - 1.890981108949087e-03 1.885448138032121e-03 1.879925272541809e-03 1.874412513138102e-03 1.868909859971047e-03 - 1.863417306389931e-03 1.857934851379391e-03 1.852462503653811e-03 1.847000259754348e-03 1.841548114039762e-03 - 1.836106066817225e-03 1.830674118529854e-03 1.825252266916765e-03 1.819840505202892e-03 1.814438836319749e-03 - 1.809047265638602e-03 1.803665787133681e-03 1.798294397101445e-03 1.792933095135866e-03 1.787581880369786e-03 - 1.782240749155103e-03 1.776909697172910e-03 1.771588728179710e-03 1.766277842767543e-03 1.760977035675204e-03 - 1.755686304337379e-03 1.750405647484752e-03 1.745135063548007e-03 1.739874546386865e-03 1.734624093589025e-03 - 1.729383711586370e-03 1.724153396315838e-03 1.718933140719367e-03 1.713722944309894e-03 1.708522806163372e-03 - 1.703332722978997e-03 1.698152687791741e-03 1.692982700783420e-03 1.687822765464940e-03 1.682672875794938e-03 - 1.677533027054054e-03 1.672403217813849e-03 1.667283446525115e-03 1.662173708173832e-03 1.657073995739192e-03 - 1.651984312946546e-03 1.646904660364047e-03 1.641835029387390e-03 1.636775416468660e-03 1.631725820220986e-03 - 1.626686238226539e-03 1.621656663682810e-03 1.616637091835148e-03 1.611627526662728e-03 1.606627964700548e-03 - 1.601638398623349e-03 1.596658825754688e-03 1.591689243408400e-03 1.586729647378206e-03 1.581780030725023e-03 - 1.576840391697073e-03 1.571910732264727e-03 1.566991046477593e-03 1.562081328242421e-03 1.557181574037859e-03 - 1.552291781114454e-03 1.547411944138861e-03 1.542542055154552e-03 1.537682115822498e-03 1.532832126356767e-03 - 1.527992077470792e-03 1.523161963747274e-03 1.518341782422417e-03 1.513531530571088e-03 1.508731200913292e-03 - 1.503940786876937e-03 1.499160290964809e-03 1.494389709200610e-03 1.489629032745148e-03 1.484878257820629e-03 - 1.480137381279299e-03 1.475406398389162e-03 1.470685299850305e-03 1.465974082141071e-03 1.461272748080975e-03 - 1.456581290224651e-03 1.451899700275850e-03 1.447227974089072e-03 1.442566108566721e-03 1.437914097994959e-03 - 1.433271932504185e-03 1.428639611034298e-03 1.424017133356480e-03 1.419404490680891e-03 1.414801676491448e-03 - 1.410208686553135e-03 1.405625516589791e-03 1.401052158609908e-03 1.396488604511052e-03 1.391934855472548e-03 - 1.387390907364871e-03 1.382856750165021e-03 1.378332378783991e-03 1.373817788890047e-03 1.369312974750468e-03 - 1.364817927255285e-03 1.360332641059443e-03 1.355857116711623e-03 1.351391347026849e-03 1.346935323100728e-03 - 1.342489039284644e-03 1.338052491255308e-03 1.333625672740901e-03 1.329208572800934e-03 1.324801188462658e-03 - 1.320403519143769e-03 1.316015555822497e-03 1.311637290544184e-03 1.307268717472159e-03 1.302909831116118e-03 - 1.298560623326278e-03 1.294221085253892e-03 1.289891216124110e-03 1.285571011566486e-03 1.281260461060531e-03 - 1.276959557618139e-03 1.272668295740209e-03 1.268386669608614e-03 1.264114669618853e-03 1.259852288349743e-03 - 1.255599524419093e-03 1.251356371085625e-03 1.247122819189722e-03 1.242898861265979e-03 1.238684491359706e-03 - 1.234479702756933e-03 1.230284484841117e-03 1.226098832748256e-03 1.221922744434409e-03 1.217756210326720e-03 - 1.213599221362577e-03 1.209451770765583e-03 1.205313852635065e-03 1.201185458480448e-03 1.197066577985755e-03 - 1.192957208640432e-03 1.188857345511447e-03 1.184766976969275e-03 1.180686095693037e-03 1.176614695732404e-03 - 1.172552769621902e-03 1.168500307042727e-03 1.164457299537124e-03 1.160423745213695e-03 1.156399636114517e-03 - 1.152384961360659e-03 1.148379714206853e-03 1.144383887440774e-03 1.140397472403066e-03 1.136420458871837e-03 - 1.132452840804467e-03 1.128494614815977e-03 1.124545770440235e-03 1.120606297984056e-03 1.116676190709075e-03 - 1.112755440623707e-03 1.108844038267568e-03 1.104941973598277e-03 1.101049242215234e-03 1.097165838523137e-03 - 1.093291750933755e-03 1.089426970747485e-03 1.085571490835547e-03 1.081725303225761e-03 1.077888396808512e-03 - 1.074060761522748e-03 1.070242395009795e-03 1.066433289590875e-03 1.062633433332422e-03 1.058842817553080e-03 - 1.055061434373011e-03 1.051289275348505e-03 1.047526329409495e-03 1.043772588486000e-03 1.040028047931513e-03 - 1.036292698203525e-03 1.032566529042292e-03 1.028849531681517e-03 1.025141697676040e-03 1.021443017315572e-03 - 1.017753479165712e-03 1.014073077446178e-03 1.010401806565697e-03 1.006739654876394e-03 1.003086612170896e-03 - 9.994426698862881e-04 9.958078198244436e-04 9.921820510029489e-04 9.885653522799815e-04 9.849577193159157e-04 - 9.813591440739670e-04 9.777696142556011e-04 9.741891204675346e-04 9.706176542328248e-04 9.670552065524777e-04 - 9.635017651512704e-04 9.599573207794398e-04 9.564218691437683e-04 9.528953995809905e-04 9.493779002331982e-04 - 9.458693621672339e-04 9.423697766254766e-04 9.388791334439822e-04 9.353974200435674e-04 9.319246293443443e-04 - 9.284607555133966e-04 9.250057861419034e-04 9.215597102726345e-04 9.181225189615299e-04 9.146942031524666e-04 - 9.112747514066988e-04 9.078641516289516e-04 9.044623983719834e-04 9.010694834242857e-04 8.976853937790154e-04 - 8.943101192935385e-04 8.909436508104612e-04 8.875859786393426e-04 8.842370902316334e-04 8.808969751654204e-04 - 8.775656281905130e-04 8.742430385918343e-04 8.709291937982416e-04 8.676240840155020e-04 8.643276998573467e-04 - 8.610400308208924e-04 8.577610636611962e-04 8.544907899714905e-04 8.512292035626933e-04 8.479762917886125e-04 - 8.447320428739457e-04 8.414964471843920e-04 8.382694949325988e-04 8.350511744137459e-04 8.318414728923707e-04 - 8.286403836395943e-04 8.254478982373706e-04 8.222640032931049e-04 8.190886878204532e-04 8.159219419987107e-04 - 8.127637556794064e-04 8.096141160179775e-04 8.064730115089579e-04 8.033404360997527e-04 8.002163789609624e-04 - 7.971008268111541e-04 7.939937692507287e-04 7.908951962853333e-04 7.878050969946667e-04 7.847234577702081e-04 - 7.816502689905088e-04 7.785855239466778e-04 7.755292098590464e-04 7.724813142232633e-04 7.694418267842021e-04 - 7.664107372089749e-04 7.633880335334087e-04 7.603737023812342e-04 7.573677358642847e-04 7.543701253849379e-04 - 7.513808572285544e-04 7.483999196962093e-04 7.454273024026923e-04 7.424629947358947e-04 7.395069836664074e-04 - 7.365592567622367e-04 7.336198070174806e-04 7.306886236388442e-04 7.277656929130117e-04 7.248510036837761e-04 - 7.219445453636994e-04 7.190463067357669e-04 7.161562739946586e-04 7.132744364309508e-04 7.104007867132190e-04 - 7.075353120392018e-04 7.046779992824802e-04 7.018288375861283e-04 6.989878161882759e-04 6.961549229362052e-04 - 6.933301438820412e-04 6.905134700383686e-04 6.877048926511914e-04 6.849043978549774e-04 6.821119732944710e-04 - 6.793276080246700e-04 6.765512910034699e-04 6.737830090783149e-04 6.710227490756584e-04 6.682705030776122e-04 - 6.655262603091742e-04 6.627900067379164e-04 6.600617305924390e-04 6.573414207627890e-04 6.546290656955580e-04 - 6.519246513982958e-04 6.492281662548372e-04 6.465396024423735e-04 6.438589471596415e-04 6.411861867028291e-04 - 6.385213096762252e-04 6.358643049114898e-04 6.332151601148890e-04 6.305738609661260e-04 6.279403974635571e-04 - 6.253147606410383e-04 6.226969365620930e-04 6.200869123319087e-04 6.174846765257772e-04 6.148902176504979e-04 - 6.123035224628875e-04 6.097245772740803e-04 6.071533733723410e-04 6.045898999580564e-04 6.020341426510520e-04 - 5.994860891934145e-04 5.969457280748620e-04 5.944130474177512e-04 5.918880332091087e-04 5.893706730594447e-04 - 5.868609584534629e-04 5.843588766665737e-04 5.818644136544619e-04 5.793775576682911e-04 5.768982970317317e-04 - 5.744266191686133e-04 5.719625097277512e-04 5.695059578510202e-04 5.670569542308351e-04 5.646154849082753e-04 - 5.621815365284883e-04 5.597550972743215e-04 5.573361553519681e-04 5.549246974872960e-04 5.525207095632259e-04 - 5.501241820142805e-04 5.477351040267441e-04 5.453534610951853e-04 5.429792405131840e-04 5.406124304314462e-04 - 5.382530187447214e-04 5.359009913605971e-04 5.335563351904396e-04 5.312190411682156e-04 5.288890968140364e-04 - 5.265664878332606e-04 5.242512018091515e-04 5.219432267978740e-04 5.196425502978362e-04 5.173491576918976e-04 - 5.150630373381158e-04 5.127841797796618e-04 5.105125710953982e-04 5.082481974966798e-04 5.059910467933278e-04 - 5.037411069671739e-04 5.014983647643853e-04 4.992628057533249e-04 4.970344196034297e-04 4.948131954905409e-04 - 4.925991188614672e-04 4.903921766298550e-04 4.881923566574878e-04 4.859996466359864e-04 4.838140324815327e-04 - 4.816355005995136e-04 4.794640414647377e-04 4.772996426854546e-04 4.751422896755638e-04 4.729919697488023e-04 - 4.708486707166207e-04 4.687123799720691e-04 4.665830828962369e-04 4.644607671738101e-04 4.623454230212830e-04 - 4.602370366779194e-04 4.581355941018685e-04 4.560410828358216e-04 4.539534906171381e-04 4.518728041821612e-04 - 4.497990089033435e-04 4.477320938149108e-04 4.456720481170030e-04 4.436188572707195e-04 4.415725078895158e-04 - 4.395329875976124e-04 4.375002838422590e-04 4.354743826722610e-04 4.334552702201095e-04 4.314429363226086e-04 - 4.294373687059989e-04 4.274385527576286e-04 4.254464755700176e-04 4.234611247199864e-04 4.214824874479911e-04 - 4.195105492176435e-04 4.175452972239935e-04 4.155867214135851e-04 4.136348082067204e-04 4.116895433467350e-04 - 4.097509141339746e-04 4.078189081189173e-04 4.058935120995524e-04 4.039747114386321e-04 4.020624945699733e-04 - 4.001568506324645e-04 3.982577652062802e-04 3.963652246433777e-04 3.944792163840573e-04 3.925997278951708e-04 - 3.907267452820787e-04 3.888602542761684e-04 3.870002443827855e-04 3.851467035420477e-04 3.832996170232135e-04 - 3.814589716941001e-04 3.796247550166885e-04 3.777969542187427e-04 3.759755548771444e-04 3.741605437648361e-04 - 3.723519105456335e-04 3.705496418343326e-04 3.687537232626712e-04 3.669641420580878e-04 3.651808856652343e-04 - 3.634039408935104e-04 3.616332930379869e-04 3.598689301103073e-04 3.581108413327368e-04 3.563590123412032e-04 - 3.546134293224166e-04 3.528740796868620e-04 3.511409507353364e-04 3.494140287293094e-04 3.476932993968030e-04 - 3.459787517007610e-04 3.442703736842207e-04 3.425681507579447e-04 3.408720696736798e-04 3.391821178070990e-04 - 3.374982823340253e-04 3.358205489790399e-04 3.341489042294683e-04 3.324833375391577e-04 3.308238358267097e-04 - 3.291703846864138e-04 3.275229711235071e-04 3.258815824857735e-04 3.242462057388915e-04 3.226168264116891e-04 - 3.209934320343741e-04 3.193760116170641e-04 3.177645512713499e-04 3.161590371207419e-04 3.145594562690266e-04 - 3.129657961319975e-04 3.113780432227079e-04 3.097961831114660e-04 3.082202043645004e-04 3.066500952444524e-04 - 3.050858414009347e-04 3.035274294402161e-04 3.019748466354355e-04 3.004280802320956e-04 2.988871162192853e-04 - 2.973519409077311e-04 2.958225434173786e-04 2.942989109163873e-04 2.927810290941792e-04 2.912688849504159e-04 - 2.897624658129895e-04 2.882617587216531e-04 2.867667493909568e-04 2.852774250910157e-04 2.837937747837379e-04 - 2.823157848000407e-04 2.808434412718301e-04 2.793767313619733e-04 2.779156424588856e-04 2.764601612241833e-04 - 2.750102732798498e-04 2.735659669757869e-04 2.721272307826111e-04 2.706940504177620e-04 2.692664125118005e-04 - 2.678443044384447e-04 2.664277133531666e-04 2.650166254907073e-04 2.636110271946842e-04 2.622109073508727e-04 - 2.608162534146021e-04 2.594270512444905e-04 2.580432877716125e-04 2.566649503351083e-04 2.552920261463284e-04 - 2.539245011192165e-04 2.525623623480746e-04 2.512055988243127e-04 2.498541971146173e-04 2.485081433825346e-04 - 2.471674249383843e-04 2.458320291468696e-04 2.445019428356345e-04 2.431771519464020e-04 2.418576445147758e-04 - 2.405434090455539e-04 2.392344316436903e-04 2.379306989304936e-04 2.366321982706708e-04 2.353389171046539e-04 - 2.340508418959193e-04 2.327679588365217e-04 2.314902568213100e-04 2.302177235947735e-04 2.289503450019842e-04 - 2.276881081822984e-04 2.264310006278554e-04 2.251790095285085e-04 2.239321211178975e-04 2.226903224828012e-04 - 2.214536025966827e-04 2.202219483393713e-04 2.189953459440866e-04 2.177737827672056e-04 2.165572463172210e-04 - 2.153457236927424e-04 2.141392010208329e-04 2.129376661694288e-04 2.117411078009580e-04 2.105495123800498e-04 - 2.093628666254358e-04 2.081811579562958e-04 2.070043738711933e-04 2.058325011765904e-04 2.046655262979033e-04 - 2.035034378928387e-04 2.023462239716796e-04 2.011938707312936e-04 2.000463653117907e-04 1.989036953143001e-04 - 1.977658482429478e-04 1.966328105707422e-04 1.955045692837424e-04 1.943811134060168e-04 1.932624302421221e-04 - 1.921485062157297e-04 1.910393287336514e-04 1.899348854684124e-04 1.888351638115297e-04 1.877401500482506e-04 - 1.866498319949601e-04 1.855641985831636e-04 1.844832365124926e-04 1.834069326310023e-04 1.823352746298841e-04 - 1.812682501147551e-04 1.802058461455679e-04 1.791480493724017e-04 1.780948483852737e-04 1.770462314872484e-04 - 1.760021851824818e-04 1.749626967491274e-04 1.739277539439587e-04 1.728973444305181e-04 1.718714550470096e-04 - 1.708500728855944e-04 1.698331869571933e-04 1.688207849549946e-04 1.678128535713188e-04 1.668093803524777e-04 - 1.658103531111011e-04 1.648157594964937e-04 1.638255861976382e-04 1.628398210066413e-04 1.618584529166454e-04 - 1.608814690931768e-04 1.599088565742865e-04 1.589406031206167e-04 1.579766966509897e-04 1.570171246224424e-04 - 1.560618738321770e-04 1.551109328208930e-04 1.541642902068764e-04 1.532219328717612e-04 1.522838482661923e-04 - 1.513500243337891e-04 1.504204489591066e-04 1.494951093483970e-04 1.485739927662749e-04 1.476570882997282e-04 - 1.467443839796364e-04 1.458358667202351e-04 1.449315243896633e-04 1.440313449862068e-04 1.431353162531848e-04 - 1.422434254066872e-04 1.413556604013758e-04 1.404720102486319e-04 1.395924625558734e-04 1.387170046489957e-04 - 1.378456244430427e-04 1.369783100559194e-04 1.361150493062282e-04 1.352558293490397e-04 1.344006387024136e-04 - 1.335494662293593e-04 1.327022993333140e-04 1.318591256583063e-04 1.310199332689028e-04 1.301847103692820e-04 - 1.293534446013900e-04 1.285261234477974e-04 1.277027359881715e-04 1.268832706365997e-04 1.260677147052468e-04 - 1.252560562359565e-04 1.244482834803957e-04 1.236443845356053e-04 1.228443469528238e-04 1.220481588198588e-04 - 1.212558093699401e-04 1.204672865809282e-04 1.196825780471873e-04 1.189016720308052e-04 1.181245568536085e-04 - 1.173512205995857e-04 1.165816508484800e-04 1.158158362776897e-04 1.150537660210759e-04 1.142954277590100e-04 - 1.135408094568152e-04 1.127898995954114e-04 1.120426864956402e-04 1.112991581353023e-04 1.105593024093304e-04 - 1.098231085283700e-04 1.090905652465313e-04 1.083616601800625e-04 1.076363816399760e-04 1.069147182196831e-04 - 1.061966583782502e-04 1.054821899944032e-04 1.047713013150353e-04 1.040639818640637e-04 1.033602200082437e-04 - 1.026600035826387e-04 1.019633211976323e-04 1.012701615275282e-04 1.005805130149820e-04 9.989436355203399e-05 - 9.921170194739147e-05 9.853251765411631e-05 9.785679881782247e-05 9.718453366352614e-05 9.651571091087277e-05 - 9.585031930594751e-05 9.518834724915350e-05 9.452978284703146e-05 9.387461543789448e-05 9.322283420353250e-05 - 9.257442723618249e-05 9.192938310286574e-05 9.128769066247626e-05 9.064933872161225e-05 9.001431561187756e-05 - 8.938260983500139e-05 8.875421104519957e-05 8.812910809646098e-05 8.750728925694059e-05 8.688874335824857e-05 - 8.627345936363417e-05 8.566142611724158e-05 8.505263195150667e-05 8.444706587898619e-05 8.384471762172232e-05 - 8.324557578035348e-05 8.264962891132210e-05 8.205686604727953e-05 8.146727626544971e-05 8.088084838175318e-05 - 8.029757088191735e-05 7.971743327705584e-05 7.914042512047892e-05 7.856653495630607e-05 7.799575166346450e-05 - 7.742806441871695e-05 7.686346239245813e-05 7.630193435494130e-05 7.574346911053080e-05 7.518805653837606e-05 - 7.463568593117825e-05 7.408634594826592e-05 7.354002575090044e-05 7.299671464423979e-05 7.245640185167563e-05 - 7.191907614532941e-05 7.138472679150608e-05 7.085334380230530e-05 7.032491623916224e-05 6.979943301854977e-05 - 6.927688351841825e-05 6.875725716877753e-05 6.824054320182008e-05 6.772673050550591e-05 6.721580881996242e-05 - 6.670776807704407e-05 6.620259726868480e-05 6.570028562031883e-05 6.520082266140781e-05 6.470419793220322e-05 - 6.421040064958054e-05 6.371941996817583e-05 6.323124601185380e-05 6.274586851226631e-05 6.226327655003573e-05 - 6.178345963615301e-05 6.130640743984757e-05 6.083210957777482e-05 6.036055527561582e-05 5.989173409263222e-05 - 5.942563633391719e-05 5.896225154191688e-05 5.850156903007261e-05 5.804357852627766e-05 5.758826983099529e-05 - 5.713563260712647e-05 5.668565617514362e-05 5.623833053838233e-05 5.579364600051564e-05 5.535159201768813e-05 - 5.491215819134343e-05 5.447533442712218e-05 5.404111064124177e-05 5.360947650466450e-05 5.318042157160001e-05 - 5.275393622516995e-05 5.233001062811153e-05 5.190863431238880e-05 5.148979716458554e-05 5.107348923404401e-05 - 5.065970053025621e-05 5.024842074849432e-05 4.983963979263951e-05 4.943334827635427e-05 4.902953621108006e-05 - 4.862819332553702e-05 4.822930973793706e-05 4.783287562882953e-05 4.743888107972067e-05 4.704731588033618e-05 - 4.665817033540254e-05 4.627143510842172e-05 4.588710014690383e-05 4.550515545082771e-05 4.512559130332447e-05 - 4.474839802715817e-05 4.437356575264515e-05 4.400108444300858e-05 4.363094478314062e-05 4.326313737450849e-05 - 4.289765220307346e-05 4.253447954450777e-05 4.217360984935306e-05 4.181503354031293e-05 4.145874078526325e-05 - 4.110472186234567e-05 4.075296770939578e-05 4.040346881442376e-05 4.005621534517384e-05 3.971119780891244e-05 - 3.936840678851008e-05 3.902783280379881e-05 3.868946611492773e-05 3.835329736378580e-05 3.801931758461789e-05 - 3.768751721520911e-05 3.735788667634669e-05 3.703041665089796e-05 3.670509786268472e-05 3.638192090588934e-05 - 3.606087620758478e-05 3.574195476070656e-05 3.542514758568229e-05 3.511044516462031e-05 3.479783817623805e-05 - 3.448731747191980e-05 3.417887390941621e-05 3.387249813623169e-05 3.356818082938366e-05 3.326591326488256e-05 - 3.296568640239042e-05 3.266749086476883e-05 3.237131756688427e-05 3.207715751232477e-05 3.178500166911470e-05 - 3.149484077201404e-05 3.120666582870710e-05 3.092046825328168e-05 3.063623897047349e-05 3.035396883732847e-05 - 3.007364895961203e-05 2.979527048619034e-05 2.951882447255356e-05 2.924430180184470e-05 2.897169381596313e-05 - 2.870099196601076e-05 2.843218722351712e-05 2.816527069305565e-05 2.790023364581556e-05 2.763706736588794e-05 - 2.737576298520704e-05 2.711631161938774e-05 2.685870489191871e-05 2.660293422952212e-05 2.634899073350601e-05 - 2.609686574272242e-05 2.584655068622352e-05 2.559803697386157e-05 2.535131582907573e-05 2.510637865851451e-05 - 2.486321726016628e-05 2.462182305120829e-05 2.438218734168926e-05 2.414430166313400e-05 2.390815760058303e-05 - 2.367374667612129e-05 2.344106023464476e-05 2.321008999935892e-05 2.298082786356460e-05 2.275326527748312e-05 - 2.252739378233606e-05 2.230320509258137e-05 2.208069093512809e-05 2.185984291941186e-05 2.164065260635458e-05 - 2.142311199522572e-05 2.120721298028661e-05 2.099294714303281e-05 2.078030625998752e-05 2.056928220029127e-05 - 2.035986682231265e-05 2.015205183896797e-05 1.994582907956633e-05 1.974119073954575e-05 1.953812872162773e-05 - 1.933663479825456e-05 1.913670094979531e-05 1.893831919578259e-05 1.874148151575467e-05 1.854617976080873e-05 - 1.835240605058427e-05 1.816015268982217e-05 1.796941162992672e-05 1.778017486956627e-05 1.759243456762222e-05 - 1.740618289118282e-05 1.722141193137039e-05 1.703811372777776e-05 1.685628066375182e-05 1.667590509374455e-05 - 1.649697910104339e-05 1.631949489857415e-05 1.614344479286407e-05 1.596882111103627e-05 1.579561606259506e-05 - 1.562382191518076e-05 1.545343126338709e-05 1.528443649706141e-05 1.511682986511545e-05 1.495060379262073e-05 - 1.478575075387210e-05 1.462226320346460e-05 1.446013347627832e-05 1.429935410828208e-05 1.413991783947596e-05 - 1.398181711799591e-05 1.382504440087988e-05 1.366959229690567e-05 1.351545344207288e-05 1.336262041089977e-05 - 1.321108569966174e-05 1.306084210743495e-05 1.291188246012095e-05 1.276419932540445e-05 1.261778537439798e-05 - 1.247263337350260e-05 1.232873611168182e-05 1.218608628547451e-05 1.204467661277090e-05 1.190450010670460e-05 - 1.176554964839514e-05 1.162781797531038e-05 1.149129796332477e-05 1.135598253898601e-05 1.122186462622714e-05 - 1.108893706038782e-05 1.095719281332111e-05 1.082662505098182e-05 1.069722672643097e-05 1.056899077370047e-05 - 1.044191025341683e-05 1.031597825830204e-05 1.019118784797653e-05 1.006753201372614e-05 9.945003972957807e-06 - 9.823597003224701e-06 9.703304169766936e-06 9.584118614966616e-06 9.466033570975281e-06 9.349042284940899e-06 - 9.233137946012443e-06 9.118313747892748e-06 9.004563126071509e-06 8.891879438415634e-06 8.780255908737012e-06 - 8.669685879934477e-06 8.560162746518096e-06 8.451679906731882e-06 8.344230688978416e-06 8.237808513777729e-06 - 8.132406985376577e-06 8.028019552616531e-06 7.924639629701503e-06 7.822260741691212e-06 7.720876445763237e-06 - 7.620480284148957e-06 7.521065743540658e-06 7.422626477381218e-06 7.325156218634066e-06 7.228648532638821e-06 - 7.133097034958690e-06 7.038495423985100e-06 6.944837416133499e-06 6.852116691729515e-06 6.760326924607246e-06 - 6.669461983453847e-06 6.579515704432944e-06 6.490481806747385e-06 6.402354101863004e-06 6.315126452251840e-06 - 6.228792731669073e-06 6.143346764859859e-06 6.058782435540508e-06 5.975093791198315e-06 5.892274772590937e-06 - 5.810319279027480e-06 5.729221306547671e-06 5.648974882411472e-06 5.569574030477156e-06 5.491012732167998e-06 - 5.413285091010444e-06 5.336385298912571e-06 5.260307420244722e-06 5.185045547999291e-06 5.110593849728286e-06 - 5.036946516955677e-06 4.964097720721464e-06 4.892041619202182e-06 4.820772525961763e-06 4.750284753859853e-06 - 4.680572517390150e-06 4.611630102585562e-06 4.543451844884654e-06 4.476032095169469e-06 4.409365173309600e-06 - 4.343445435493855e-06 4.278267378107974e-06 4.213825432046252e-06 4.150113986510229e-06 4.087127510654963e-06 - 4.024860505544460e-06 3.963307478207591e-06 3.902462905546128e-06 3.842321351732513e-06 3.782877469285005e-06 - 3.724125818875267e-06 3.666060976275786e-06 3.608677584308628e-06 3.551970310325800e-06 3.495933813913828e-06 - 3.440562742860537e-06 3.385851865026623e-06 3.331795968547279e-06 3.278389763636986e-06 3.225628015585682e-06 - 3.173505536483180e-06 3.122017155106099e-06 3.071157684657154e-06 3.020921961442045e-06 2.971304937503200e-06 - 2.922301530764381e-06 2.873906622400171e-06 2.826115159163556e-06 2.778922119160790e-06 2.732322492500433e-06 - 2.686311250918327e-06 2.640883427466542e-06 2.596034137909800e-06 2.551758437600915e-06 2.508051388712647e-06 - 2.464908112415978e-06 2.422323753722291e-06 2.380293459852445e-06 2.338812372063220e-06 2.297875719562253e-06 - 2.257478763762930e-06 2.217616712073996e-06 2.178284811840686e-06 2.139478353112250e-06 2.101192645402220e-06 - 2.063422994293474e-06 2.026164721213360e-06 1.989413239181793e-06 1.953163950788084e-06 1.917412231009713e-06 - 1.882153506609316e-06 1.847383234461138e-06 1.813096887995954e-06 1.779289933937322e-06 1.745957881749227e-06 - 1.713096313387221e-06 1.680700776153704e-06 1.648766820412035e-06 1.617290047665242e-06 1.586266083282953e-06 - 1.555690561349229e-06 1.525559115412809e-06 1.495867444877275e-06 1.466611286844381e-06 1.437786342321971e-06 - 1.409388342689011e-06 1.381413059137875e-06 1.353856283643994e-06 1.326713811980504e-06 1.299981452903499e-06 - 1.273655087535907e-06 1.247730601634883e-06 1.222203862466376e-06 1.197070780161529e-06 1.172327293218336e-06 - 1.147969358200551e-06 1.123992934949297e-06 1.100394014305713e-06 1.077168647815731e-06 1.054312872343777e-06 - 1.031822727943270e-06 1.009694299029158e-06 9.879236928228051e-07 9.665070295488333e-07 9.454404356909418e-07 - 9.247200854784831e-07 9.043421911847067e-07 8.843029477247774e-07 8.645985728173436e-07 8.452253193362285e-07 - 8.261794626052351e-07 8.074572875932502e-07 7.890550921071068e-07 7.709692301619030e-07 7.531960701353248e-07 - 7.357319715620587e-07 7.185733287203112e-07 7.017165630618881e-07 6.851581162834306e-07 6.688944388625421e-07 - 6.529220052598067e-07 6.372373411274385e-07 6.218369717692920e-07 6.067174274527125e-07 5.918752755194360e-07 - 5.773071063798692e-07 5.630095271034721e-07 5.489791556312369e-07 5.352126455394792e-07 5.217066864180125e-07 - 5.084579644193884e-07 4.954631845887763e-07 4.827190834887087e-07 4.702224204045173e-07 4.579699684713550e-07 - 4.459585154334098e-07 4.341848919935187e-07 4.226459485782965e-07 4.113385363883691e-07 4.002595352312233e-07 - 3.894058504065020e-07 3.787744086301839e-07 3.683621500987016e-07 3.581660355932383e-07 3.481830676805770e-07 - 3.384102581524441e-07 3.288446273745833e-07 3.194832275224818e-07 3.103231330843525e-07 3.013614373207315e-07 - 2.925952486098954e-07 2.840217031010630e-07 2.756379695267500e-07 2.674412234106971e-07 2.594286576386206e-07 - 2.515974937029081e-07 2.439449754383926e-07 2.364683632309526e-07 2.291649345383248e-07 2.220320002407473e-07 - 2.150668931442167e-07 2.082669548865648e-07 2.016295514473211e-07 1.951520727682157e-07 1.888319311586693e-07 - 1.826665552837694e-07 1.766533931743509e-07 1.707899271779558e-07 1.650736547045015e-07 1.595020857916059e-07 - 1.540727581256184e-07 1.487832309302349e-07 1.436310837043274e-07 1.386139140291348e-07 1.337293426531939e-07 - 1.289750194034745e-07 1.243486077550924e-07 1.198477884856861e-07 1.154702687444825e-07 1.112137774078364e-07 - 1.070760615754017e-07 1.030548878714015e-07 9.914804983102429e-08 9.535336319532080e-08 9.166865877274502e-08 - 8.809178921148019e-08 8.462062987184363e-08 8.125307865123530e-08 7.798705169188094e-08 7.482048486743137e-08 - 7.175134265372113e-08 6.877760756933380e-08 6.589727849023001e-08 6.310837918621049e-08 6.040895419177239e-08 - 5.779706919084610e-08 5.527080986023133e-08 5.282828275733461e-08 5.046762055622123e-08 4.818697371034567e-08 - 4.598451068334482e-08 4.385842456607357e-08 4.180692971968811e-08 3.982825980405518e-08 3.792066966127786e-08 - 3.608243718277188e-08 3.431186206040581e-08 3.260726312426322e-08 3.096697968233847e-08 2.938937298745983e-08 - 2.787282684203093e-08 2.641574418968914e-08 2.501654849393015e-08 2.367368813134603e-08 2.238563078881267e-08 - 2.115086344400587e-08 1.996789606940446e-08 1.883525886916157e-08 1.775150390948272e-08 1.671520402936120e-08 - 1.572495208680648e-08 1.477936511938296e-08 1.387707990026544e-08 1.301675220490221e-08 1.219706138041649e-08 - 1.141670750179082e-08 1.067441065312196e-08 9.968913113355902e-09 9.298978133402818e-09 8.663390331238368e-09 - 8.060955677291694e-09 7.490500025975069e-09 6.950870854385858e-09 6.440937996309972e-09 5.959590797852082e-09 - 5.505739944416565e-09 5.078318901633865e-09 4.676280806472903e-09 4.298600029449081e-09 3.944272776496124e-09 - 3.612315204086912e-09 3.301765808464261e-09 3.011683971683484e-09 2.741149022073358e-09 2.489263438950313e-09 - 2.255150010734707e-09 2.037951439802415e-09 1.836833426869985e-09 1.650981924522248e-09 1.479603458288696e-09 - 1.321927088896133e-09 1.177201927023745e-09 1.044698361371603e-09 9.237089042804517e-10 8.135457713165132e-10 - 7.135428727606122e-10 6.230561233086797e-10 5.414610837010692e-10 4.681552957722881e-10 4.025579739718386e-10 - 3.441080911031397e-10 2.922668865200973e-10 2.465167169238545e-10 2.063598966733955e-10 1.713213823559041e-10 - 1.409467301732644e-10 1.148017117805301e-10 9.247489436372923e-11 7.357503403670199e-11 5.773147403071901e-11 - 4.459623415664643e-11 3.384125546419585e-11 2.515956035071991e-11 1.826656159304613e-11 1.289741553721677e-11 - 8.808852910154413e-12 5.779611749592996e-12 3.608107240050744e-12 2.114775563702074e-12 1.141629414770904e-12 - 5.504076981088132e-13 2.252028793998774e-13 7.135404618680312e-14 1.400208835054596e-14 2.858282411901289e-16 - 0.000000000000000e+00 3.280907692410757e+00 6.559093802140417e+00 9.834554467967374e+00 1.310728583537977e+01 - 1.637728405657552e+01 1.964454529046227e+01 2.290906570265743e+01 2.617084146548816e+01 2.942986875799139e+01 - 3.268614376591378e+01 3.593966268171175e+01 3.919042170455148e+01 4.243841704030890e+01 4.568364490156970e+01 - 4.892610150762930e+01 5.216578308449292e+01 5.540268586487547e+01 5.863680608820168e+01 6.186814000060598e+01 - 6.509668385493259e+01 6.832243391073550e+01 7.154538643427834e+01 7.476553769853463e+01 7.798288398318758e+01 - 8.119742157463018e+01 8.440914676596513e+01 8.761805585700493e+01 9.082414515427180e+01 9.402741097099775e+01 - 9.722784962712448e+01 1.004254574493035e+02 1.036202307708961e+02 1.068121659319733e+02 1.100012592793157e+02 - 1.131875071664140e+02 1.163709059534683e+02 1.195514520073887e+02 1.227291417017950e+02 1.259039714170167e+02 - 1.290759375400930e+02 1.322450364647731e+02 1.354112645915156e+02 1.385746183274891e+02 1.417350940865720e+02 - 1.448926882893522e+02 1.480473973631275e+02 1.511992177419055e+02 1.543481458664036e+02 1.574941781840487e+02 - 1.606373111489777e+02 1.637775412220371e+02 1.669148648707833e+02 1.700492785694823e+02 1.731807787991100e+02 - 1.763093620473519e+02 1.794350248086033e+02 1.825577635839695e+02 1.856775748812652e+02 1.887944552150149e+02 - 1.919084011064531e+02 1.950194090835239e+02 1.981274756808810e+02 2.012325974398883e+02 2.043347709086188e+02 - 2.074339926418558e+02 2.105302592010923e+02 2.136235671545306e+02 2.167139130770834e+02 2.198012935503726e+02 - 2.228857051627302e+02 2.259671445091978e+02 2.290456081915269e+02 2.321210928181784e+02 2.351935950043234e+02 - 2.382631113718425e+02 2.413296385493261e+02 2.443931731720744e+02 2.474537118820972e+02 2.505112513281143e+02 - 2.535657881655549e+02 2.566173190565586e+02 2.596658406699738e+02 2.627113496813596e+02 2.657538427729843e+02 - 2.687933166338259e+02 2.718297679595726e+02 2.748631934526219e+02 2.778935898220815e+02 2.809209537837683e+02 - 2.839452820602094e+02 2.869665713806416e+02 2.899848184810112e+02 2.930000201039745e+02 2.960121729988974e+02 - 2.990212739218558e+02 3.020273196356349e+02 3.050303069097302e+02 3.080302325203465e+02 3.110270932503987e+02 - 3.140208858895110e+02 3.170116072340180e+02 3.199992540869634e+02 3.229838232581013e+02 3.259653115638948e+02 - 3.289437158275174e+02 3.319190328788521e+02 3.348912595544916e+02 3.378603926977383e+02 3.408264291586049e+02 - 3.437893657938130e+02 3.467491994667945e+02 3.497059270476910e+02 3.526595454133537e+02 3.556100514473437e+02 - 3.585574420399318e+02 3.615017140880985e+02 3.644428644955341e+02 3.673808901726388e+02 3.703157880365222e+02 - 3.732475550110041e+02 3.761761880266134e+02 3.791016840205897e+02 3.820240399368814e+02 3.849432527261474e+02 - 3.878593193457557e+02 3.907722367597846e+02 3.936820019390219e+02 3.965886118609651e+02 3.994920635098217e+02 - 4.023923538765087e+02 4.052894799586530e+02 4.081834387605912e+02 4.110742272933696e+02 4.139618425747443e+02 - 4.168462816291812e+02 4.197275414878559e+02 4.226056191886540e+02 4.254805117761704e+02 4.283522163017099e+02 - 4.312207298232872e+02 4.340860494056267e+02 4.369481721201628e+02 4.398070950450389e+02 4.426628152651090e+02 - 4.455153298719365e+02 4.483646359637945e+02 4.512107306456656e+02 4.540536110292430e+02 4.568932742329288e+02 - 4.597297173818351e+02 4.625629376077841e+02 4.653929320493071e+02 4.682196978516460e+02 4.710432321667516e+02 - 4.738635321532851e+02 4.766805949766169e+02 4.794944178088276e+02 4.823049978287075e+02 4.851123322217564e+02 - 4.879164181801841e+02 4.907172529029099e+02 4.935148335955632e+02 4.963091574704831e+02 4.991002217467178e+02 - 5.018880236500261e+02 5.046725604128764e+02 5.074538292744463e+02 5.102318274806237e+02 5.130065522840063e+02 - 5.157780009439010e+02 5.185461707263250e+02 5.213110589040049e+02 5.240726627563774e+02 5.268309795695885e+02 - 5.295860066364945e+02 5.323377412566609e+02 5.350861807363634e+02 5.378313223885873e+02 5.405731635330272e+02 - 5.433117014960885e+02 5.460469336108854e+02 5.487788572172420e+02 5.515074696616928e+02 5.542327682974811e+02 - 5.569547504845609e+02 5.596734135895950e+02 5.623887549859570e+02 5.651007720537292e+02 5.678094621797045e+02 - 5.705148227573850e+02 5.732168511869830e+02 5.759155448754203e+02 5.786109012363282e+02 5.813029176900482e+02 - 5.839915916636313e+02 5.866769205908384e+02 5.893589019121401e+02 5.920375330747167e+02 5.947128115324583e+02 - 5.973847347459648e+02 6.000533001825459e+02 6.027185053162206e+02 6.053803476277183e+02 6.080388246044777e+02 - 6.106939337406476e+02 6.133456725370861e+02 6.159940385013617e+02 6.186390291477520e+02 6.212806419972447e+02 - 6.239188745775372e+02 6.265537244230364e+02 6.291851890748597e+02 6.318132660808333e+02 6.344379529954938e+02 - 6.370592473800871e+02 6.396771468025696e+02 6.422916488376064e+02 6.449027510665734e+02 6.475104510775553e+02 - 6.501147464653474e+02 6.527156348314542e+02 6.553131137840901e+02 6.579071809381794e+02 6.604978339153558e+02 - 6.630850703439634e+02 6.656688878590552e+02 6.682492841023947e+02 6.708262567224546e+02 6.733998033744177e+02 - 6.759699217201766e+02 6.785366094283333e+02 6.810998641742000e+02 6.836596836397980e+02 6.862160655138592e+02 - 6.887690074918247e+02 6.913185072758453e+02 6.938645625747821e+02 6.964071711042051e+02 6.989463305863949e+02 - 7.014820387503412e+02 7.040142933317441e+02 7.065430920730126e+02 7.090684327232666e+02 7.115903130383348e+02 - 7.141087307807558e+02 7.166236837197782e+02 7.191351696313601e+02 7.216431862981700e+02 7.241477315095852e+02 - 7.266488030616937e+02 7.291463987572921e+02 7.316405164058881e+02 7.341311538236981e+02 7.366183088336488e+02 - 7.391019792653765e+02 7.415821629552270e+02 7.440588577462564e+02 7.465320614882301e+02 7.490017720376235e+02 - 7.514679872576214e+02 7.539307050181191e+02 7.563899231957208e+02 7.588456396737411e+02 7.612978523422037e+02 - 7.637465590978424e+02 7.661917578441014e+02 7.686334464911333e+02 7.710716229558018e+02 7.735062851616793e+02 - 7.759374310390485e+02 7.783650585249019e+02 7.807891655629417e+02 7.832097501035795e+02 7.856268101039369e+02 - 7.880403435278453e+02 7.904503483458460e+02 7.928568225351897e+02 7.952597640798369e+02 7.976591709704585e+02 - 8.000550412044341e+02 8.024473727858536e+02 8.048361637255169e+02 8.072214120409334e+02 8.096031157563222e+02 - 8.119812729026120e+02 8.143558815174417e+02 8.167269396451593e+02 8.190944453368236e+02 8.214583966502021e+02 - 8.238187916497725e+02 8.261756284067224e+02 8.285289049989487e+02 8.308786195110586e+02 8.332247700343684e+02 - 8.355673546669050e+02 8.379063715134042e+02 8.402418186853124e+02 8.425736943007848e+02 8.449019964846872e+02 - 8.472267233685945e+02 8.495478730907921e+02 8.518654437962743e+02 8.541794336367457e+02 8.564898407706205e+02 - 8.587966633630226e+02 8.610998995857861e+02 8.633995476174539e+02 8.656956056432798e+02 8.679880718552264e+02 - 8.702769444519665e+02 8.725622216388828e+02 8.748439016280670e+02 8.771219826383219e+02 8.793964628951586e+02 - 8.816673406307990e+02 8.839346140841741e+02 8.861982815009252e+02 8.884583411334027e+02 8.907147912406675e+02 - 8.929676300884897e+02 8.952168559493493e+02 8.974624671024361e+02 8.997044618336495e+02 9.019428384355992e+02 - 9.041775952076036e+02 9.064087304556922e+02 9.086362424926032e+02 9.108601296377846e+02 9.130803902173951e+02 - 9.152970225643020e+02 9.175100250180832e+02 9.197193959250255e+02 9.219251336381268e+02 9.241272365170935e+02 - 9.263257029283417e+02 9.285205312449986e+02 9.307117198468995e+02 9.328992671205907e+02 9.350831714593277e+02 - 9.372634312630761e+02 9.394400449385104e+02 9.416130108990160e+02 9.437823275646871e+02 9.459479933623287e+02 - 9.481100067254541e+02 9.502683660942876e+02 9.524230699157629e+02 9.545741166435229e+02 9.567215047379214e+02 - 9.588652326660207e+02 9.610052989015940e+02 9.631417019251231e+02 9.652744402238004e+02 9.674035122915279e+02 - 9.695289166289172e+02 9.716506517432896e+02 9.737687161486764e+02 9.758831083658184e+02 9.779938269221661e+02 - 9.801008703518804e+02 9.822042371958310e+02 9.843039260015983e+02 9.863999353234714e+02 9.884922637224498e+02 - 9.905809097662435e+02 9.926658720292703e+02 9.947471490926598e+02 9.968247395442500e+02 9.988986419785891e+02 - 1.000968854996935e+03 1.003035377207256e+03 1.005098207224229e+03 1.007157343669241e+03 1.009212785170389e+03 - 1.011264530362480e+03 1.013312577887031e+03 1.015356926392268e+03 1.017397574533126e+03 1.019434520971252e+03 - 1.021467764375000e+03 1.023497303419437e+03 1.025523136786337e+03 1.027545263164185e+03 1.029563681248175e+03 - 1.031578389740212e+03 1.033589387348909e+03 1.035596672789591e+03 1.037600244784291e+03 1.039600102061752e+03 - 1.041596243357428e+03 1.043588667413480e+03 1.045577372978782e+03 1.047562358808916e+03 1.049543623666173e+03 - 1.051521166319557e+03 1.053494985544777e+03 1.055465080124256e+03 1.057431448847125e+03 1.059394090509224e+03 - 1.061353003913104e+03 1.063308187868025e+03 1.065259641189957e+03 1.067207362701581e+03 1.069151351232285e+03 - 1.071091605618170e+03 1.073028124702043e+03 1.074960907333424e+03 1.076889952368542e+03 1.078815258670335e+03 - 1.080736825108451e+03 1.082654650559248e+03 1.084568733905793e+03 1.086479074037864e+03 1.088385669851947e+03 - 1.090288520251241e+03 1.092187624145651e+03 1.094082980451794e+03 1.095974588092995e+03 1.097862445999292e+03 - 1.099746553107428e+03 1.101626908360861e+03 1.103503510709754e+03 1.105376359110983e+03 1.107245452528133e+03 - 1.109110789931497e+03 1.110972370298081e+03 1.112830192611597e+03 1.114684255862470e+03 1.116534559047833e+03 - 1.118381101171529e+03 1.120223881244111e+03 1.122062898282842e+03 1.123898151311694e+03 1.125729639361349e+03 - 1.127557361469200e+03 1.129381316679347e+03 1.131201504042604e+03 1.133017922616489e+03 1.134830571465235e+03 - 1.136639449659783e+03 1.138444556277782e+03 1.140245890403593e+03 1.142043451128286e+03 1.143837237549640e+03 - 1.145627248772146e+03 1.147413483907002e+03 1.149195942072117e+03 1.150974622392110e+03 1.152749523998310e+03 - 1.154520646028755e+03 1.156287987628192e+03 1.158051547948079e+03 1.159811326146585e+03 1.161567321388586e+03 - 1.163319532845669e+03 1.165067959696131e+03 1.166812601124979e+03 1.168553456323928e+03 1.170290524491405e+03 - 1.172023804832545e+03 1.173753296559195e+03 1.175478998889909e+03 1.177200911049953e+03 1.178919032271301e+03 - 1.180633361792637e+03 1.182343898859357e+03 1.184050642723563e+03 1.185753592644071e+03 1.187452747886402e+03 - 1.189148107722792e+03 1.190839671432183e+03 1.192527438300227e+03 1.194211407619287e+03 1.195891578688435e+03 - 1.197567950813455e+03 1.199240523306837e+03 1.200909295487783e+03 1.202574266682204e+03 1.204235436222721e+03 - 1.205892803448666e+03 1.207546367706079e+03 1.209196128347710e+03 1.210842084733019e+03 1.212484236228177e+03 - 1.214122582206062e+03 1.215757122046265e+03 1.217387855135084e+03 1.219014780865528e+03 1.220637898637316e+03 - 1.222257207856876e+03 1.223872707937346e+03 1.225484398298575e+03 1.227092278367119e+03 1.228696347576247e+03 - 1.230296605365935e+03 1.231893051182870e+03 1.233485684480449e+03 1.235074504718779e+03 1.236659511364675e+03 - 1.238240703891664e+03 1.239818081779981e+03 1.241391644516571e+03 1.242961391595090e+03 1.244527322515903e+03 - 1.246089436786084e+03 1.247647733919417e+03 1.249202213436398e+03 1.250752874864230e+03 1.252299717736826e+03 - 1.253842741594810e+03 1.255381945985516e+03 1.256917330462986e+03 1.258448894587972e+03 1.259976637927938e+03 - 1.261500560057056e+03 1.263020660556207e+03 1.264536939012984e+03 1.266049395021687e+03 1.267558028183329e+03 - 1.269062838105629e+03 1.270563824403019e+03 1.272060986696640e+03 1.273554324614341e+03 1.275043837790682e+03 - 1.276529525866934e+03 1.278011388491075e+03 1.279489425317796e+03 1.280963636008494e+03 1.282434020231280e+03 - 1.283900577660971e+03 1.285363307979095e+03 1.286822210873891e+03 1.288277286040307e+03 1.289728533179999e+03 - 1.291175952001336e+03 1.292619542219393e+03 1.294059303555960e+03 1.295495235739530e+03 1.296927338505312e+03 - 1.298355611595221e+03 1.299780054757883e+03 1.301200667748633e+03 1.302617450329516e+03 1.304030402269289e+03 - 1.305439523343415e+03 1.306844813334069e+03 1.308246272030136e+03 1.309643899227210e+03 1.311037694727594e+03 - 1.312427658340302e+03 1.313813789881058e+03 1.315196089172293e+03 1.316574556043153e+03 1.317949190329488e+03 - 1.319319991873862e+03 1.320686960525546e+03 1.322050096140523e+03 1.323409398581483e+03 1.324764867717829e+03 - 1.326116503425671e+03 1.327464305587830e+03 1.328808274093838e+03 1.330148408839934e+03 1.331484709729068e+03 - 1.332817176670901e+03 1.334145809581802e+03 1.335470608384850e+03 1.336791573009835e+03 1.338108703393256e+03 - 1.339421999478320e+03 1.340731461214948e+03 1.342037088559766e+03 1.343338881476113e+03 1.344636839934036e+03 - 1.345930963910293e+03 1.347221253388351e+03 1.348507708358388e+03 1.349790328817288e+03 1.351069114768650e+03 - 1.352344066222779e+03 1.353615183196692e+03 1.354882465714113e+03 1.356145913805479e+03 1.357405527507935e+03 - 1.358661306865335e+03 1.359913251928245e+03 1.361161362753938e+03 1.362405639406399e+03 1.363646081956323e+03 - 1.364882690481112e+03 1.366115465064880e+03 1.367344405798451e+03 1.368569512779358e+03 1.369790786111843e+03 - 1.371008225906858e+03 1.372221832282067e+03 1.373431605361840e+03 1.374637545277261e+03 1.375839652166119e+03 - 1.377037926172918e+03 1.378232367448867e+03 1.379422976151887e+03 1.380609752446609e+03 1.381792696504374e+03 - 1.382971808503231e+03 1.384147088627939e+03 1.385318537069970e+03 1.386486154027501e+03 1.387649939705423e+03 - 1.388809894315333e+03 1.389966018075540e+03 1.391118311211063e+03 1.392266773953630e+03 1.393411406541678e+03 - 1.394552209220356e+03 1.395689182241520e+03 1.396822325863737e+03 1.397951640352285e+03 1.399077125979150e+03 - 1.400198783023028e+03 1.401316611769325e+03 1.402430612510158e+03 1.403540785544351e+03 1.404647131177441e+03 - 1.405749649721672e+03 1.406848341496000e+03 1.407943206826088e+03 1.409034246044311e+03 1.410121459489754e+03 - 1.411204847508209e+03 1.412284410452182e+03 1.413360148680885e+03 1.414432062560241e+03 1.415500152462884e+03 - 1.416564418768155e+03 1.417624861862108e+03 1.418681482137504e+03 1.419734279993815e+03 1.420783255837224e+03 - 1.421828410080621e+03 1.422869743143608e+03 1.423907255452495e+03 1.424940947440303e+03 1.425970819546763e+03 - 1.426996872218314e+03 1.428019105908108e+03 1.429037521076003e+03 1.430052118188569e+03 1.431062897719085e+03 - 1.432069860147540e+03 1.433073005960632e+03 1.434072335651771e+03 1.435067849721075e+03 1.436059548675370e+03 - 1.437047433028196e+03 1.438031503299800e+03 1.439011760017138e+03 1.439988203713878e+03 1.440960834930396e+03 - 1.441929654213780e+03 1.442894662117825e+03 1.443855859203037e+03 1.444813246036631e+03 1.445766823192535e+03 - 1.446716591251382e+03 1.447662550800518e+03 1.448604702433997e+03 1.449543046752585e+03 1.450477584363755e+03 - 1.451408315881691e+03 1.452335241927287e+03 1.453258363128147e+03 1.454177680118583e+03 1.455093193539620e+03 - 1.456004904038989e+03 1.456912812271134e+03 1.457816918897206e+03 1.458717224585068e+03 1.459613730009291e+03 - 1.460506435851157e+03 1.461395342798658e+03 1.462280451546494e+03 1.463161762796076e+03 1.464039277255525e+03 - 1.464912995639670e+03 1.465782918670054e+03 1.466649047074924e+03 1.467511381589240e+03 1.468369922954673e+03 - 1.469224671919600e+03 1.470075629239112e+03 1.470922795675006e+03 1.471766171995790e+03 1.472605758976684e+03 - 1.473441557399614e+03 1.474273568053219e+03 1.475101791732846e+03 1.475926229240551e+03 1.476746881385102e+03 - 1.477563748981976e+03 1.478376832853358e+03 1.479186133828146e+03 1.479991652741944e+03 1.480793390437068e+03 - 1.481591347762545e+03 1.482385525574108e+03 1.483175924734204e+03 1.483962546111986e+03 1.484745390583318e+03 - 1.485524459030776e+03 1.486299752343644e+03 1.487071271417914e+03 1.487839017156289e+03 1.488602990468185e+03 - 1.489363192269722e+03 1.490119623483735e+03 1.490872285039765e+03 1.491621177874064e+03 1.492366302929595e+03 - 1.493107661156030e+03 1.493845253509749e+03 1.494579080953843e+03 1.495309144458115e+03 1.496035444999074e+03 - 1.496757983559942e+03 1.497476761130647e+03 1.498191778707831e+03 1.498903037294843e+03 1.499610537901742e+03 - 1.500314281545298e+03 1.501014269248990e+03 1.501710502043006e+03 1.502402980964245e+03 1.503091707056315e+03 - 1.503776681369534e+03 1.504457904960931e+03 1.505135378894241e+03 1.505809104239914e+03 1.506479082075105e+03 - 1.507145313483682e+03 1.507807799556220e+03 1.508466541390007e+03 1.509121540089038e+03 1.509772796764020e+03 - 1.510420312532367e+03 1.511064088518205e+03 1.511704125852369e+03 1.512340425672404e+03 1.512972989122564e+03 - 1.513601817353814e+03 1.514226911523828e+03 1.514848272796989e+03 1.515465902344391e+03 1.516079801343838e+03 - 1.516689970979842e+03 1.517296412443626e+03 1.517899126933124e+03 1.518498115652977e+03 1.519093379814537e+03 - 1.519684920635866e+03 1.520272739341736e+03 1.520856837163628e+03 1.521437215339733e+03 1.522013875114953e+03 - 1.522586817740897e+03 1.523156044475887e+03 1.523721556584951e+03 1.524283355339831e+03 1.524841442018975e+03 - 1.525395817907543e+03 1.525946484297405e+03 1.526493442487138e+03 1.527036693782033e+03 1.527576239494086e+03 - 1.528112080942007e+03 1.528644219451213e+03 1.529172656353831e+03 1.529697392988700e+03 1.530218430701367e+03 - 1.530735770844087e+03 1.531249414775829e+03 1.531759363862268e+03 1.532265619475790e+03 1.532768182995492e+03 - 1.533267055807180e+03 1.533762239303368e+03 1.534253734883281e+03 1.534741543952856e+03 1.535225667924735e+03 - 1.535706108218275e+03 1.536182866259539e+03 1.536655943481301e+03 1.537125341323045e+03 1.537591061230964e+03 - 1.538053104657961e+03 1.538511473063650e+03 1.538966167914353e+03 1.539417190683102e+03 1.539864542849641e+03 - 1.540308225900420e+03 1.540748241328602e+03 1.541184590634058e+03 1.541617275323370e+03 1.542046296909827e+03 - 1.542471656913432e+03 1.542893356860894e+03 1.543311398285634e+03 1.543725782727782e+03 1.544136511734178e+03 - 1.544543586858370e+03 1.544947009660620e+03 1.545346781707894e+03 1.545742904573873e+03 1.546135379838945e+03 - 1.546524209090207e+03 1.546909393921469e+03 1.547290935933248e+03 1.547668836732771e+03 1.548043097933976e+03 - 1.548413721157510e+03 1.548780708030729e+03 1.549144060187701e+03 1.549503779269201e+03 1.549859866922715e+03 - 1.550212324802440e+03 1.550561154569281e+03 1.550906357890854e+03 1.551247936441483e+03 1.551585891902203e+03 - 1.551920225960758e+03 1.552250940311604e+03 1.552578036655905e+03 1.552901516701533e+03 1.553221382163073e+03 - 1.553537634761818e+03 1.553850276225772e+03 1.554159308289647e+03 1.554464732694865e+03 1.554766551189559e+03 - 1.555064765528572e+03 1.555359377473454e+03 1.555650388792468e+03 1.555937801260586e+03 1.556221616659488e+03 - 1.556501836777564e+03 1.556778463409917e+03 1.557051498358356e+03 1.557320943431401e+03 1.557586800444283e+03 - 1.557849071218940e+03 1.558107757584023e+03 1.558362861374890e+03 1.558614384433611e+03 1.558862328608964e+03 - 1.559106695756438e+03 1.559347487738230e+03 1.559584706423249e+03 1.559818353687112e+03 1.560048431412147e+03 - 1.560274941487391e+03 1.560497885808591e+03 1.560717266278204e+03 1.560933084805396e+03 1.561145343306044e+03 - 1.561354043702732e+03 1.561559187924758e+03 1.561760777908126e+03 1.561958815595552e+03 1.562153302936461e+03 - 1.562344241886987e+03 1.562531634409975e+03 1.562715482474979e+03 1.562895788058264e+03 1.563072553142803e+03 - 1.563245779718279e+03 1.563415469781085e+03 1.563581625334326e+03 1.563744248387813e+03 1.563903340958068e+03 - 1.564058905068325e+03 1.564210942748526e+03 1.564359456035321e+03 1.564504446972073e+03 1.564645917608853e+03 - 1.564783870002442e+03 1.564918306216331e+03 1.565049228320720e+03 1.565176638392519e+03 1.565300538515349e+03 - 1.565420930779540e+03 1.565537817282130e+03 1.565651200126870e+03 1.565761081424219e+03 1.565867463291344e+03 - 1.565970347852125e+03 1.566069737237150e+03 1.566165633583717e+03 1.566258039035835e+03 1.566346955744220e+03 - 1.566432385866300e+03 1.566514331566212e+03 1.566592795014803e+03 1.566667778389629e+03 1.566739283874957e+03 - 1.566807313661764e+03 1.566871869947734e+03 1.566932954937263e+03 1.566990570841457e+03 1.567044719878131e+03 - 1.567095404271811e+03 1.567142626253729e+03 1.567186388061831e+03 1.567226691940771e+03 1.567263540141913e+03 - 1.567296934923331e+03 1.567326878549808e+03 1.567353373292836e+03 1.567376421430620e+03 1.567396025248071e+03 - 1.567412187036812e+03 1.567424909095176e+03 1.567434193728203e+03 1.567440043247646e+03 1.567442459971967e+03 - 1.567441446226336e+03 1.567437004342634e+03 1.567429136659453e+03 1.567417845522091e+03 1.567403133282561e+03 - 1.567385002299581e+03 1.567363454938582e+03 1.567338493571702e+03 1.567310120577791e+03 1.567278338342408e+03 - 1.567243149257822e+03 1.567204555723011e+03 1.567162560143663e+03 1.567117164932177e+03 1.567068372507660e+03 - 1.567016185295929e+03 1.566960605729512e+03 1.566901636247646e+03 1.566839279296277e+03 1.566773537328063e+03 - 1.566704412802369e+03 1.566631908185271e+03 1.566556025949555e+03 1.566476768574717e+03 1.566394138546961e+03 - 1.566308138359204e+03 1.566218770511069e+03 1.566126037508891e+03 1.566029941865714e+03 1.565930486101294e+03 - 1.565827672742092e+03 1.565721504321283e+03 1.565611983378751e+03 1.565499112461087e+03 1.565382894121595e+03 - 1.565263330920288e+03 1.565140425423888e+03 1.565014180205826e+03 1.564884597846246e+03 1.564751680931997e+03 - 1.564615432056643e+03 1.564475853820452e+03 1.564332948830408e+03 1.564186719700199e+03 1.564037169050227e+03 - 1.563884299507601e+03 1.563728113706142e+03 1.563568614286379e+03 1.563405803895550e+03 1.563239685187607e+03 - 1.563070260823207e+03 1.562897533469719e+03 1.562721505801220e+03 1.562542180498501e+03 1.562359560249057e+03 - 1.562173647747097e+03 1.561984445693539e+03 1.561791956796009e+03 1.561596183768845e+03 1.561397129333092e+03 - 1.561194796216507e+03 1.560989187153558e+03 1.560780304885418e+03 1.560568152159974e+03 1.560352731731822e+03 - 1.560134046362267e+03 1.559912098819323e+03 1.559686891877715e+03 1.559458428318879e+03 1.559226710930956e+03 - 1.558991742508803e+03 1.558753525853981e+03 1.558512063774766e+03 1.558267359086140e+03 1.558019414609795e+03 - 1.557768233174136e+03 1.557513817614273e+03 1.557256170772030e+03 1.556995295495938e+03 1.556731194641239e+03 - 1.556463871069885e+03 1.556193327650536e+03 1.555919567258564e+03 1.555642592776049e+03 1.555362407091783e+03 - 1.555079013101264e+03 1.554792413706704e+03 1.554502611817021e+03 1.554209610347846e+03 1.553913412221517e+03 - 1.553614020367084e+03 1.553311437720305e+03 1.553005667223649e+03 1.552696711826295e+03 1.552384574484129e+03 - 1.552069258159750e+03 1.551750765822466e+03 1.551429100448294e+03 1.551104265019960e+03 1.550776262526902e+03 - 1.550445095965265e+03 1.550110768337907e+03 1.549773282654394e+03 1.549432641931000e+03 1.549088849190713e+03 - 1.548741907463227e+03 1.548391819784946e+03 1.548038589198987e+03 1.547682218755173e+03 1.547322711510039e+03 - 1.546960070526829e+03 1.546594298875496e+03 1.546225399632705e+03 1.545853375881829e+03 1.545478230712950e+03 - 1.545099967222861e+03 1.544718588515066e+03 1.544334097699777e+03 1.543946497893915e+03 1.543555792221112e+03 - 1.543161983811711e+03 1.542765075802762e+03 1.542365071338026e+03 1.541961973567975e+03 1.541555785649789e+03 - 1.541146510747358e+03 1.540734152031283e+03 1.540318712678874e+03 1.539900195874149e+03 1.539478604807839e+03 - 1.539053942677383e+03 1.538626212686929e+03 1.538195418047336e+03 1.537761561976173e+03 1.537324647697717e+03 - 1.536884678442957e+03 1.536441657449592e+03 1.535995587962026e+03 1.535546473231378e+03 1.535094316515475e+03 - 1.534639121078853e+03 1.534180890192759e+03 1.533719627135150e+03 1.533255335190690e+03 1.532788017650757e+03 - 1.532317677813435e+03 1.531844318983518e+03 1.531367944472514e+03 1.530888557598635e+03 1.530406161686807e+03 - 1.529920760068664e+03 1.529432356082550e+03 1.528940953073517e+03 1.528446554393331e+03 1.527949163400464e+03 - 1.527448783460099e+03 1.526945417944129e+03 1.526439070231157e+03 1.525929743706494e+03 1.525417441762163e+03 - 1.524902167796895e+03 1.524383925216131e+03 1.523862717432025e+03 1.523338547863434e+03 1.522811419935932e+03 - 1.522281337081799e+03 1.521748302740024e+03 1.521212320356308e+03 1.520673393383061e+03 1.520131525279401e+03 - 1.519586719511159e+03 1.519038979550873e+03 1.518488308877793e+03 1.517934710977876e+03 1.517378189343791e+03 - 1.516818747474916e+03 1.516256388877339e+03 1.515691117063858e+03 1.515122935553979e+03 1.514551847873920e+03 - 1.513977857556607e+03 1.513400968141679e+03 1.512821183175479e+03 1.512238506211065e+03 1.511652940808203e+03 - 1.511064490533368e+03 1.510473158959745e+03 1.509878949667230e+03 1.509281866242427e+03 1.508681912278651e+03 - 1.508079091375926e+03 1.507473407140987e+03 1.506864863187277e+03 1.506253463134950e+03 1.505639210610869e+03 - 1.505022109248608e+03 1.504402162688449e+03 1.503779374577385e+03 1.503153748569118e+03 1.502525288324061e+03 - 1.501893997509335e+03 1.501259879798773e+03 1.500622938872914e+03 1.499983178419011e+03 1.499340602131025e+03 - 1.498695213709626e+03 1.498047016862194e+03 1.497396015302820e+03 1.496742212752304e+03 1.496085612938155e+03 - 1.495426219594593e+03 1.494764036462547e+03 1.494099067289655e+03 1.493431315830267e+03 1.492760785845442e+03 - 1.492087481102946e+03 1.491411405377259e+03 1.490732562449567e+03 1.490050956107769e+03 1.489366590146471e+03 - 1.488679468366991e+03 1.487989594577355e+03 1.487296972592300e+03 1.486601606233272e+03 1.485903499328426e+03 - 1.485202655712629e+03 1.484499079227457e+03 1.483792773721193e+03 1.483083743048834e+03 1.482371991072084e+03 - 1.481657521659358e+03 1.480940338685780e+03 1.480220446033183e+03 1.479497847590113e+03 1.478772547251821e+03 - 1.478044548920272e+03 1.477313856504138e+03 1.476580473918802e+03 1.475844405086357e+03 1.475105653935605e+03 - 1.474364224402058e+03 1.473620120427938e+03 1.472873345962177e+03 1.472123904960415e+03 1.471371801385004e+03 - 1.470617039205005e+03 1.469859622396187e+03 1.469099554941032e+03 1.468336840828730e+03 1.467571484055180e+03 - 1.466803488622991e+03 1.466032858541484e+03 1.465259597826687e+03 1.464483710501340e+03 1.463705200594890e+03 - 1.462924072143496e+03 1.462140329190026e+03 1.461353975784058e+03 1.460565015981880e+03 1.459773453846489e+03 - 1.458979293447591e+03 1.458182538861605e+03 1.457383194171656e+03 1.456581263467582e+03 1.455776750845927e+03 - 1.454969660409948e+03 1.454159996269611e+03 1.453347762541590e+03 1.452532963349272e+03 1.451715602822750e+03 - 1.450895685098830e+03 1.450073214321026e+03 1.449248194639563e+03 1.448420630211373e+03 1.447590525200101e+03 - 1.446757883776100e+03 1.445922710116434e+03 1.445085008404874e+03 1.444244782831905e+03 1.443402037594718e+03 - 1.442556776897215e+03 1.441709004950008e+03 1.440858725970420e+03 1.440005944182481e+03 1.439150663816933e+03 - 1.438292889111226e+03 1.437432624309523e+03 1.436569873662692e+03 1.435704641428314e+03 1.434836931870678e+03 - 1.433966749260786e+03 1.433094097876346e+03 1.432218982001777e+03 1.431341405928208e+03 1.430461373953479e+03 - 1.429578890382137e+03 1.428693959525441e+03 1.427806585701360e+03 1.426916773234569e+03 1.426024526456458e+03 - 1.425129849705122e+03 1.424232747325370e+03 1.423333223668719e+03 1.422431283093393e+03 1.421526929964331e+03 - 1.420620168653178e+03 1.419711003538289e+03 1.418799439004731e+03 1.417885479444278e+03 1.416969129255415e+03 - 1.416050392843337e+03 1.415129274619950e+03 1.414205779003866e+03 1.413279910420411e+03 1.412351673301618e+03 - 1.411421072086230e+03 1.410488111219700e+03 1.409552795154193e+03 1.408615128348581e+03 1.407675115268446e+03 - 1.406732760386080e+03 1.405788068180486e+03 1.404841043137375e+03 1.403891689749170e+03 1.402940012515001e+03 - 1.401986015940709e+03 1.401029704538846e+03 1.400071082828672e+03 1.399110155336157e+03 1.398146926593981e+03 - 1.397181401141535e+03 1.396213583524918e+03 1.395243478296938e+03 1.394271090017116e+03 1.393296423251680e+03 - 1.392319482573570e+03 1.391340272562432e+03 1.390358797804626e+03 1.389375062893219e+03 1.388389072427989e+03 - 1.387400831015423e+03 1.386410343268718e+03 1.385417613807782e+03 1.384422647259231e+03 1.383425448256391e+03 - 1.382426021439299e+03 1.381424371454700e+03 1.380420502956051e+03 1.379414420603515e+03 1.378406129063970e+03 - 1.377395633010999e+03 1.376382937124898e+03 1.375368046092671e+03 1.374350964608031e+03 1.373331697371403e+03 - 1.372310249089921e+03 1.371286624477428e+03 1.370260828254477e+03 1.369232865148331e+03 1.368202739892964e+03 - 1.367170457229056e+03 1.366136021904002e+03 1.365099438671902e+03 1.364060712293568e+03 1.363019847536522e+03 - 1.361976849174995e+03 1.360931721989928e+03 1.359884470768972e+03 1.358835100306487e+03 1.357783615403544e+03 - 1.356730020867921e+03 1.355674321514110e+03 1.354616522163310e+03 1.353556627643430e+03 1.352494642789090e+03 - 1.351430572441617e+03 1.350364421449050e+03 1.349296194666138e+03 1.348225896954338e+03 1.347153533181818e+03 - 1.346079108223457e+03 1.345002626960841e+03 1.343924094282267e+03 1.342843515082743e+03 1.341760894263984e+03 - 1.340676236734416e+03 1.339589547409177e+03 1.338500831210112e+03 1.337410093065776e+03 1.336317337911434e+03 - 1.335222570689062e+03 1.334125796347346e+03 1.333027019841677e+03 1.331926246134163e+03 1.330823480193616e+03 - 1.329718726995561e+03 1.328611991522230e+03 1.327503278762568e+03 1.326392593712228e+03 1.325279941373571e+03 - 1.324165326755672e+03 1.323048754874311e+03 1.321930230751983e+03 1.320809759417887e+03 1.319687345907936e+03 - 1.318562995264752e+03 1.317436712537665e+03 1.316308502782716e+03 1.315178371062656e+03 1.314046322446946e+03 - 1.312912362011755e+03 1.311776494839963e+03 1.310638726021160e+03 1.309499060651645e+03 1.308357503834428e+03 - 1.307214060679228e+03 1.306068736302473e+03 1.304921535827301e+03 1.303772464383560e+03 1.302621527107810e+03 - 1.301468729143317e+03 1.300314075640058e+03 1.299157571754721e+03 1.297999222650704e+03 1.296839033498112e+03 - 1.295677009473761e+03 1.294513155761180e+03 1.293347477550602e+03 1.292179980038974e+03 1.291010668429951e+03 - 1.289839547933899e+03 1.288666623767893e+03 1.287491901155716e+03 1.286315385327865e+03 1.285137081521542e+03 - 1.283956994980662e+03 1.282775130955849e+03 1.281591494704436e+03 1.280406091490466e+03 1.279218926584693e+03 - 1.278030005264579e+03 1.276839332814297e+03 1.275646914524728e+03 1.274452755693465e+03 1.273256861624810e+03 - 1.272059237629775e+03 1.270859889026079e+03 1.269658821138155e+03 1.268456039297144e+03 1.267251548840895e+03 - 1.266045355113969e+03 1.264837463467636e+03 1.263627879259876e+03 1.262416607855379e+03 1.261203654625543e+03 - 1.259989024948479e+03 1.258772724209004e+03 1.257554757798647e+03 1.256335131115646e+03 1.255113849564950e+03 - 1.253890918558217e+03 1.252666343513813e+03 1.251440129856817e+03 1.250212283019015e+03 1.248982808438904e+03 - 1.247751711561691e+03 1.246518997839292e+03 1.245284672730334e+03 1.244048741700151e+03 1.242811210220790e+03 - 1.241572083771006e+03 1.240331367836264e+03 1.239089067908740e+03 1.237845189487317e+03 1.236599738077590e+03 - 1.235352719191863e+03 1.234104138349150e+03 1.232854001075175e+03 1.231602312902370e+03 1.230349079369880e+03 - 1.229094306023557e+03 1.227837998415964e+03 1.226580162106373e+03 1.225320802660766e+03 1.224059925651835e+03 - 1.222797536658982e+03 1.221533641268318e+03 1.220268245072664e+03 1.219001353671552e+03 1.217732972671222e+03 - 1.216463107684624e+03 1.215191764331420e+03 1.213918948237977e+03 1.212644665037377e+03 1.211368920369408e+03 - 1.210091719880570e+03 1.208813069224072e+03 1.207532974059833e+03 1.206251440054480e+03 1.204968472881353e+03 - 1.203684078220499e+03 1.202398261758676e+03 1.201111029189351e+03 1.199822386212701e+03 1.198532338535615e+03 - 1.197240891871687e+03 1.195948051941225e+03 1.194653824471246e+03 1.193358215195474e+03 1.192061229854346e+03 - 1.190762874195007e+03 1.189463153971313e+03 1.188162074943828e+03 1.186859642879827e+03 1.185555863553295e+03 - 1.184250742744927e+03 1.182944286242125e+03 1.181636499839004e+03 1.180327389336388e+03 1.179016960541809e+03 - 1.177705219269511e+03 1.176392171340446e+03 1.175077822582277e+03 1.173762178829377e+03 1.172445245922827e+03 - 1.171127029710419e+03 1.169807536046655e+03 1.168486770792745e+03 1.167164739816612e+03 1.165841448992886e+03 - 1.164516904202907e+03 1.163191111334726e+03 1.161864076283103e+03 1.160535804949508e+03 1.159206303242120e+03 - 1.157875577075829e+03 1.156543632372233e+03 1.155210475059642e+03 1.153876111073074e+03 1.152540546354257e+03 - 1.151203786851631e+03 1.149865838520342e+03 1.148526707322247e+03 1.147186399225916e+03 1.145844920206624e+03 - 1.144502276246358e+03 1.143158473333815e+03 1.141813517464402e+03 1.140467414640234e+03 1.139120170870139e+03 - 1.137771792169650e+03 1.136422284561014e+03 1.135071654073185e+03 1.133719906741829e+03 1.132367048609320e+03 - 1.131013085724743e+03 1.129658024143891e+03 1.128301869929270e+03 1.126944629150092e+03 1.125586307882280e+03 - 1.124226912208469e+03 1.122866448218001e+03 1.121504922006928e+03 1.120142339678013e+03 1.118778707340729e+03 - 1.117414031111256e+03 1.116048317112488e+03 1.114681571474025e+03 1.113313800332179e+03 1.111945009829970e+03 - 1.110575206117129e+03 1.109204395350097e+03 1.107832583692024e+03 1.106459777312770e+03 1.105085982388904e+03 - 1.103711205103706e+03 1.102335451647166e+03 1.100958728215983e+03 1.099581041013564e+03 1.098202396250028e+03 - 1.096822800142205e+03 1.095442258913632e+03 1.094060778794555e+03 1.092678366021934e+03 1.091295026839436e+03 - 1.089910767497437e+03 1.088525594253023e+03 1.087139513369993e+03 1.085752531118851e+03 1.084364653776815e+03 - 1.082975887627809e+03 1.081586238962469e+03 1.080195714078142e+03 1.078804319278880e+03 1.077412060875450e+03 - 1.076018945185327e+03 1.074624978532693e+03 1.073230167248444e+03 1.071834517670182e+03 1.070438036142223e+03 - 1.069040729015589e+03 1.067642602648012e+03 1.066243663403937e+03 1.064843917654515e+03 1.063443371777609e+03 - 1.062042032157791e+03 1.060639905186343e+03 1.059236997261256e+03 1.057833314787232e+03 1.056428864175682e+03 - 1.055023651844726e+03 1.053617684219196e+03 1.052210967730631e+03 1.050803508817282e+03 1.049395313897890e+03 - 1.047986388534756e+03 1.046576737255851e+03 1.045166364529164e+03 1.043755274824231e+03 1.042343472612131e+03 - 1.040930962365484e+03 1.039517748558457e+03 1.038103835666756e+03 1.036689228167636e+03 1.035273930539893e+03 - 1.033857947263865e+03 1.032441282821436e+03 1.031023941696033e+03 1.029605928372625e+03 1.028187247337727e+03 - 1.026767903079397e+03 1.025347900087235e+03 1.023927242852386e+03 1.022505935867538e+03 1.021083983626923e+03 - 1.019661390626317e+03 1.018238161363038e+03 1.016814300335948e+03 1.015389812045455e+03 1.013964700993507e+03 - 1.012538971683598e+03 1.011112628620765e+03 1.009685676311588e+03 1.008258119264191e+03 1.006829961988242e+03 - 1.005401208994952e+03 1.003971864797076e+03 1.002541933908912e+03 1.001111420846301e+03 9.996803301266303e+02 - 9.982486662688275e+02 9.968164337933661e+02 9.953836372222621e+02 9.939502810790750e+02 9.925163698889086e+02 - 9.910819081784098e+02 9.896469004757686e+02 9.882113513107199e+02 9.867752652145410e+02 9.853386467200531e+02 - 9.839015003616214e+02 9.824638306751541e+02 9.810256421981031e+02 9.795869394694643e+02 9.781477270297768e+02 - 9.767080094211232e+02 9.752677911871300e+02 9.738270768729670e+02 9.723858710253478e+02 9.709441781925295e+02 - 9.695020029243127e+02 9.680593497720415e+02 9.666162232886040e+02 9.651726280284314e+02 9.637285685474986e+02 - 9.622840494033246e+02 9.608390751549712e+02 9.593936503630440e+02 9.579477795896925e+02 9.565014673986094e+02 - 9.550547183550314e+02 9.536075370257383e+02 9.521599279790540e+02 9.507118957848456e+02 9.492634450145238e+02 - 9.478145802410424e+02 9.463653060389005e+02 9.449156269841388e+02 9.434655476543426e+02 9.420150726286407e+02 - 9.405642064877048e+02 9.391129538137513e+02 9.376613191905399e+02 9.362093072033728e+02 9.347569224390970e+02 - 9.333041694861028e+02 9.318510529343232e+02 9.303975773752362e+02 9.289437474018629e+02 9.274895676087672e+02 - 9.260350425920570e+02 9.245801769493847e+02 9.231249752799448e+02 9.216694421844763e+02 9.202135822652619e+02 - 9.187574001261273e+02 9.173009003724419e+02 9.158440876111187e+02 9.143869664506148e+02 9.129295415009306e+02 - 9.114718173736089e+02 9.100137986817383e+02 9.085554900399494e+02 9.070968960644165e+02 9.056380213728581e+02 - 9.041788705845360e+02 9.027194483202552e+02 9.012597592023648e+02 8.997998078547574e+02 8.983395989028686e+02 - 8.968791369736786e+02 8.954184266957105e+02 8.939574726990309e+02 8.924962796152502e+02 8.910348520775226e+02 - 8.895731947205452e+02 8.881113121805595e+02 8.866492090953504e+02 8.851868901042455e+02 8.837243598481174e+02 - 8.822616229693809e+02 8.807986841119955e+02 8.793355479214636e+02 8.778722190448314e+02 8.764087021306887e+02 - 8.749450018291686e+02 8.734811227919481e+02 8.720170696722481e+02 8.705528471248323e+02 8.690884598060085e+02 - 8.676239123736278e+02 8.661592094870851e+02 8.646943558073189e+02 8.632293559968109e+02 8.617642147195870e+02 - 8.602989366412162e+02 8.588335264288111e+02 8.573679887510280e+02 8.559023282780669e+02 8.544365496816713e+02 - 8.529706576351281e+02 8.515046568132680e+02 8.500385518924651e+02 8.485723475506371e+02 8.471060484672456e+02 - 8.456396593232956e+02 8.441731848013352e+02 8.427066295854568e+02 8.412399983612960e+02 8.397732958160319e+02 - 8.383065266383875e+02 8.368396955186294e+02 8.353728071485672e+02 8.339058662215547e+02 8.324388774324890e+02 - 8.309718454778108e+02 8.295047750555044e+02 8.280376708650979e+02 8.265705376076626e+02 8.251033799858133e+02 - 8.236362027037090e+02 8.221690104670519e+02 8.207018079830875e+02 8.192345999606056e+02 8.177673911099388e+02 - 8.163001861429635e+02 8.148329897731001e+02 8.133658067153123e+02 8.118986416861073e+02 8.104314994035359e+02 - 8.089643845871925e+02 8.074973019582153e+02 8.060302562392853e+02 8.045632521546285e+02 8.030962944300132e+02 - 8.016293877927517e+02 8.001625369717000e+02 7.986957466972576e+02 7.972290217013673e+02 7.957623667175162e+02 - 7.942957864807344e+02 7.928292857275953e+02 7.913628691962167e+02 7.898965416262595e+02 7.884303077589279e+02 - 7.869641723369706e+02 7.854981401046790e+02 7.840322158078881e+02 7.825664041939773e+02 7.811007100118686e+02 - 7.796351380120283e+02 7.781696929464658e+02 7.767043795687346e+02 7.752392026339312e+02 7.737741668986956e+02 - 7.723092771212124e+02 7.708445380612087e+02 7.693799544799557e+02 7.679155311402681e+02 7.664512728065041e+02 - 7.649871842445651e+02 7.635232702218972e+02 7.620595355074889e+02 7.605959848718730e+02 7.591326230871256e+02 - 7.576694549268664e+02 7.562064851662584e+02 7.547437185820088e+02 7.532811599523681e+02 7.518188140571300e+02 - 7.503566856776325e+02 7.488947795967565e+02 7.474331005989271e+02 7.459716534701122e+02 7.445104429978242e+02 - 7.430494739711182e+02 7.415887511805935e+02 7.401282794183929e+02 7.386680634782024e+02 7.372081081552518e+02 - 7.357484182463149e+02 7.342889985497084e+02 7.328298538652926e+02 7.313709889944722e+02 7.299124087401947e+02 - 7.284541179069513e+02 7.269961213007771e+02 7.255384237292504e+02 7.240810300014931e+02 7.226239449281712e+02 - 7.211671733214938e+02 7.197107199952134e+02 7.182545897646269e+02 7.167987874465738e+02 7.153433178594373e+02 - 7.138881858231457e+02 7.124333961591685e+02 7.109789536905207e+02 7.095248632417597e+02 7.080711296389870e+02 - 7.066177577098478e+02 7.051647522835304e+02 7.037121181907675e+02 7.022598602638342e+02 7.008079833365500e+02 - 6.993564922442782e+02 6.979053918239249e+02 6.964546869139400e+02 6.950043823543177e+02 6.935544829865950e+02 - 6.921049936538523e+02 6.906559192007142e+02 6.892072644733491e+02 6.877590343194680e+02 6.863112335883264e+02 - 6.848638671307228e+02 6.834169397989994e+02 6.819704564470420e+02 6.805244219302806e+02 6.790788411056876e+02 - 6.776337188317796e+02 6.761890599686175e+02 6.747448693778041e+02 6.733011519224871e+02 6.718579124673579e+02 - 6.704151558786504e+02 6.689728870241429e+02 6.675311107731571e+02 6.660898319965579e+02 6.646490555667547e+02 - 6.632087863576994e+02 6.617690292448882e+02 6.603297891053608e+02 6.588910708177000e+02 6.574528792620325e+02 - 6.560152193200289e+02 6.545780958749028e+02 6.531415138114120e+02 6.517054780158572e+02 6.502699933760831e+02 - 6.488350647814780e+02 6.474006971229736e+02 6.459668952930450e+02 6.445336641857116e+02 6.431010086965356e+02 - 6.416689337226230e+02 6.402374441626239e+02 6.388065449167315e+02 6.373762408866819e+02 6.359465369757564e+02 - 6.345174380887786e+02 6.330889491321157e+02 6.316610750136796e+02 6.302338206429247e+02 6.288071909308491e+02 - 6.273811907899951e+02 6.259558251344477e+02 6.245310988798360e+02 6.231070169433332e+02 6.216835842436550e+02 - 6.202608057010611e+02 6.188386862373554e+02 6.174172307758844e+02 6.159964442415383e+02 6.145763315607522e+02 - 6.131568976615030e+02 6.117381474733122e+02 6.103200859272448e+02 6.089027179559087e+02 6.074860484934565e+02 - 6.060700824755835e+02 6.046548248395288e+02 6.032402805240755e+02 6.018264544695495e+02 6.004133516178208e+02 - 5.990009769123031e+02 5.975893352979532e+02 5.961784317212720e+02 5.947682711303036e+02 5.933588584746357e+02 - 5.919501987053994e+02 5.905422967752705e+02 5.891351576384668e+02 5.877287862507508e+02 5.863231875694282e+02 - 5.849183665533477e+02 5.835143281629030e+02 5.821110773600302e+02 5.807086191082091e+02 5.793069583724634e+02 - 5.779061001193606e+02 5.765060493170109e+02 5.751068109350690e+02 5.737083899447330e+02 5.723107913187440e+02 - 5.709140200313871e+02 5.695180810584912e+02 5.681229793774282e+02 5.667287199671144e+02 5.653353078080089e+02 - 5.639427478821145e+02 5.625510451729782e+02 5.611602046656897e+02 5.597702313468828e+02 5.583811302047351e+02 - 5.569929062289672e+02 5.556055644108436e+02 5.542191097431725e+02 5.528335472203050e+02 5.514488818381369e+02 - 5.500651185941068e+02 5.486822624871968e+02 5.473003185179330e+02 5.459192916883851e+02 5.445391870021655e+02 - 5.431600094644319e+02 5.417817640818839e+02 5.404044558627653e+02 5.390280898168637e+02 5.376526709555103e+02 - 5.362782042915790e+02 5.349046948394886e+02 5.335321476152006e+02 5.321605676362202e+02 5.307899599215965e+02 - 5.294203294919217e+02 5.280516813693320e+02 5.266840205775071e+02 5.253173521416702e+02 5.239516810885877e+02 - 5.225870124465707e+02 5.212233512454725e+02 5.198607025166908e+02 5.184990712931668e+02 5.171384626093851e+02 - 5.157788815013741e+02 5.144203330067055e+02 5.130628221644946e+02 5.117063540154008e+02 5.103509336016263e+02 - 5.089965659669175e+02 5.076432561565640e+02 5.062910092173990e+02 5.049398301977998e+02 5.035897241476866e+02 - 5.022406961185235e+02 5.008927511633182e+02 4.995458943366220e+02 4.982001306945292e+02 4.968554652946787e+02 - 4.955119031962524e+02 4.941694494599757e+02 4.928281091481178e+02 4.914878873244913e+02 4.901487890544524e+02 - 4.888108194049014e+02 4.874739834442815e+02 4.861382862425793e+02 4.848037328713260e+02 4.834703284035954e+02 - 4.821380779140055e+02 4.808069864787175e+02 4.794770591754360e+02 4.781483010834104e+02 4.768207172834317e+02 - 4.754943128578365e+02 4.741690928905032e+02 4.728450624668552e+02 4.715222266738587e+02 4.702005906000235e+02 - 4.688801593354034e+02 4.675609379715956e+02 4.662429316017405e+02 4.649261453205227e+02 4.636105842241698e+02 - 4.622962534104534e+02 4.609831579786886e+02 4.596713030297340e+02 4.583606936659914e+02 4.570513349914071e+02 - 4.557432321114703e+02 4.544363901332138e+02 4.531308141652141e+02 4.518265093175915e+02 4.505234807020092e+02 - 4.492217334316751e+02 4.479212726213398e+02 4.466221033872973e+02 4.453242308473862e+02 4.440276601209875e+02 - 4.427323963290266e+02 4.414384445939725e+02 4.401458100398370e+02 4.388544977921764e+02 4.375645129780900e+02 - 4.362758607262207e+02 4.349885461667554e+02 4.337025744314242e+02 4.324179506535007e+02 4.311346799678025e+02 - 4.298527675106906e+02 4.285722184200691e+02 4.272930378353866e+02 4.260152308976346e+02 4.247388027493482e+02 - 4.234637585346064e+02 4.221901033990317e+02 4.209178424897899e+02 4.196469809555908e+02 4.183775239466873e+02 - 4.171094766148764e+02 4.158428441134982e+02 4.145776315974367e+02 4.133138442231195e+02 4.120514871485177e+02 - 4.107905655331455e+02 4.095310845380616e+02 4.082730493258674e+02 4.070164650607085e+02 4.057613369082738e+02 - 4.045076700357962e+02 4.032554696120511e+02 4.020047408073589e+02 4.007554887935824e+02 3.995077187441286e+02 - 3.982614358339480e+02 3.970166452395346e+02 3.957733521389259e+02 3.945315617117033e+02 3.932912791389912e+02 - 3.920525096034583e+02 3.908152582893162e+02 3.895795303823206e+02 3.883453310697706e+02 3.871126655405087e+02 - 3.858815389849212e+02 3.846519565949380e+02 3.834239235640323e+02 3.821974450872211e+02 3.809725263610652e+02 - 3.797491725836686e+02 3.785273889546788e+02 3.773071806752873e+02 3.760885529482291e+02 3.748715109777822e+02 - 3.736560599697692e+02 3.724422051315553e+02 3.712299516720498e+02 3.700193048017055e+02 3.688102697325187e+02 - 3.676028516780295e+02 3.663970558533210e+02 3.651928874750207e+02 3.639903517612993e+02 3.627894539318706e+02 - 3.615901992079928e+02 3.603925928124674e+02 3.591966399696389e+02 3.580023459053963e+02 3.568097158471716e+02 - 3.556187550239405e+02 3.544294686662223e+02 3.532418620060801e+02 3.520559402771199e+02 3.508717087144923e+02 - 3.496891725548904e+02 3.485083370365518e+02 3.473292073992571e+02 3.461517888843309e+02 3.449760867346407e+02 - 3.438021061945983e+02 3.426298525101589e+02 3.414593309288210e+02 3.402905466996269e+02 3.391235050731623e+02 - 3.379582113015570e+02 3.367946706384836e+02 3.356328883391590e+02 3.344728696603431e+02 3.333146198603399e+02 - 3.321581441989965e+02 3.310034479377038e+02 3.298505363393963e+02 3.286994146685523e+02 3.275500881911931e+02 - 3.264025621748842e+02 3.252568418887342e+02 3.241129326033955e+02 3.229708395910641e+02 3.218305681254797e+02 - 3.206921234819250e+02 3.195555109372272e+02 3.184207357697562e+02 3.172878032594259e+02 3.161567186876940e+02 - 3.150274873375612e+02 3.139001144935722e+02 3.127746054418153e+02 3.116509654699221e+02 3.105291998670680e+02 - 3.094093139239718e+02 3.082913129328962e+02 3.071752021876472e+02 3.060609869835743e+02 3.049486726175709e+02 - 3.038382643880739e+02 3.027297675950632e+02 3.016231875400634e+02 3.005185295261418e+02 2.994157988579094e+02 - 2.983150008415209e+02 2.972161407846750e+02 2.961192239966130e+02 2.950242557881208e+02 2.939312414715272e+02 - 2.928401863607048e+02 2.917510957710699e+02 2.906639750195822e+02 2.895788294247451e+02 2.884956643066055e+02 - 2.874144849867538e+02 2.863352967883243e+02 2.852581050359946e+02 2.841829150559857e+02 2.831097321760628e+02 - 2.820385617255341e+02 2.809694090352515e+02 2.799022794376108e+02 2.788371782665511e+02 2.777741108575549e+02 - 2.767130825476488e+02 2.756540986754025e+02 2.745971645809293e+02 2.735422856058867e+02 2.724894670934750e+02 - 2.714387143884384e+02 2.703900328370648e+02 2.693434277871856e+02 2.682989045881756e+02 2.672564685909533e+02 - 2.662161251479810e+02 2.651778796132642e+02 2.641417373423522e+02 2.631077036923379e+02 2.620757840218578e+02 - 2.610459836910915e+02 2.600183080617631e+02 2.589927624971394e+02 2.579693523620314e+02 2.569480830227931e+02 - 2.559289598473227e+02 2.549119882050614e+02 2.538971734669946e+02 2.528845210056507e+02 2.518740361951020e+02 - 2.508657244109642e+02 2.498595910303967e+02 2.488556414321026e+02 2.478538809963281e+02 2.468543151048638e+02 - 2.458569491410431e+02 2.448617884897432e+02 2.438688385373852e+02 2.428781046719333e+02 2.418895922828956e+02 - 2.409033067613238e+02 2.399192534998131e+02 2.389374378925019e+02 2.379578653350729e+02 2.369805412247519e+02 - 2.360054709603084e+02 2.350326599420553e+02 2.340621135718494e+02 2.330938372530911e+02 2.321278363907239e+02 - 2.311641163912353e+02 2.302026826626565e+02 2.292435406145617e+02 2.282866956580692e+02 2.273321532058407e+02 - 2.263799186720815e+02 2.254299974725404e+02 2.244823950245099e+02 2.235371167468261e+02 2.225941680598685e+02 - 2.216535543855603e+02 2.207152811473682e+02 2.197793537703028e+02 2.188457776809178e+02 2.179145583073106e+02 - 2.169857010791227e+02 2.160592114275385e+02 2.151350947852860e+02 2.142133565866376e+02 2.132940022674083e+02 - 2.123770372649571e+02 2.114624670181867e+02 2.105502969675431e+02 2.096405325550162e+02 2.087331792241393e+02 - 2.078282424199890e+02 2.069257275891860e+02 2.060256401798943e+02 2.051279856418216e+02 2.042327694262190e+02 - 2.033399969858813e+02 2.024496737751469e+02 2.015618052498977e+02 2.006763968675590e+02 1.997934540871004e+02 - 1.989129823690343e+02 1.980349871754169e+02 1.971594739698481e+02 1.962864482174713e+02 1.954159153849736e+02 - 1.945478809405854e+02 1.936823503540812e+02 1.928193290967781e+02 1.919588226415381e+02 1.911008364627658e+02 - 1.902453760364096e+02 1.893924468399617e+02 1.885420543524577e+02 1.876942040544768e+02 1.868489014281417e+02 - 1.860061519571189e+02 1.851659611266184e+02 1.843283344233937e+02 1.834932773357418e+02 1.826607953535034e+02 - 1.818308939680629e+02 1.810035786723481e+02 1.801788549608304e+02 1.793567283295249e+02 1.785372042759901e+02 - 1.777202882993282e+02 1.769059859001850e+02 1.760943025807497e+02 1.752852438447554e+02 1.744788151974785e+02 - 1.736750221457390e+02 1.728738701979007e+02 1.720753648638706e+02 1.712795116550998e+02 1.704863160845825e+02 - 1.696957836668566e+02 1.689079199180039e+02 1.681227303556493e+02 1.673402204989617e+02 1.665603958686532e+02 - 1.657832619869799e+02 1.650088243777409e+02 1.642370885662795e+02 1.634680600794823e+02 1.627017444457793e+02 - 1.619381471951445e+02 1.611772738590951e+02 1.604191299706921e+02 1.596637210645399e+02 1.589110526767867e+02 - 1.581611303451241e+02 1.574139596087874e+02 1.566695460085554e+02 1.559278950867503e+02 1.551890123872385e+02 - 1.544529034554292e+02 1.537195738382757e+02 1.529890290842748e+02 1.522612747434666e+02 1.515363163674351e+02 - 1.508141595093076e+02 1.500948097237555e+02 1.493782725669932e+02 1.486645535967789e+02 1.479536583724143e+02 - 1.472455924547449e+02 1.465403614061596e+02 1.458379707905909e+02 1.451384261735148e+02 1.444417331219514e+02 - 1.437478972044633e+02 1.430569239911578e+02 1.423688190536853e+02 1.416835879652396e+02 1.410012363005585e+02 - 1.403217696359229e+02 1.396451935491577e+02 1.389715136196312e+02 1.383007354282553e+02 1.376328645574854e+02 - 1.369679065913208e+02 1.363058671153038e+02 1.356467517165207e+02 1.349905659836014e+02 1.343373155067194e+02 - 1.336870058775913e+02 1.330396426894780e+02 1.323952315371832e+02 1.317537780170550e+02 1.311152877269845e+02 - 1.304797662664065e+02 1.298472192362996e+02 1.292176522391855e+02 1.285910708791301e+02 1.279674807617425e+02 - 1.273468874941753e+02 1.267292966851250e+02 1.261147139448316e+02 1.255031448850783e+02 1.248945951191923e+02 - 1.242890702620443e+02 1.236865759300485e+02 1.230871177411627e+02 1.224907013148884e+02 1.218973322722703e+02 - 1.213070162358971e+02 1.207197588299010e+02 1.201355656799576e+02 1.195544424132864e+02 1.189763946586499e+02 - 1.184014280463548e+02 1.178295482082510e+02 1.172607607777323e+02 1.166950713897357e+02 1.161324856807421e+02 - 1.155730092887757e+02 1.150166478534045e+02 1.144634070157400e+02 1.139132924184372e+02 1.133663097056950e+02 - 1.128224645232555e+02 1.122817625184044e+02 1.117442093399712e+02 1.112098106383290e+02 1.106785720653942e+02 - 1.101504843345202e+02 1.096253193854976e+02 1.091027814759659e+02 1.085828903190926e+02 1.080656662057070e+02 - 1.075510744401853e+02 1.070391017583160e+02 1.065297369211215e+02 1.060229642403793e+02 1.055187689946627e+02 - 1.050171373101604e+02 1.045180558156006e+02 1.040215103049707e+02 1.035274865113781e+02 1.030359706887152e+02 - 1.025469492169604e+02 1.020604083357866e+02 1.015763340040288e+02 1.010947131078929e+02 1.006155327791835e+02 - 1.001387792631148e+02 9.966443911893010e+01 9.919249927205091e+01 9.872294669690289e+01 9.825576811144268e+01 - 9.779095024426459e+01 9.732848086108395e+01 9.686834738339628e+01 9.641053663288847e+01 9.595503591883143e+01 - 9.550183276437639e+01 9.505091470489599e+01 9.460226894357737e+01 9.415588307372171e+01 9.371174549820027e+01 - 9.326984390100915e+01 9.283016578095182e+01 9.239269910989660e+01 9.195743199867270e+01 9.152435246657959e+01 - 9.109344822825337e+01 9.066470776170968e+01 9.023811990175319e+01 8.981367265385576e+01 8.939135422700863e+01 - 8.897115319588202e+01 8.855305819940260e+01 8.813705766268812e+01 8.772313993524557e+01 8.731129428898021e+01 - 8.690150981214184e+01 8.649377498492467e+01 8.608807868460502e+01 8.568441000539183e+01 8.528275807208179e+01 - 8.488311171021131e+01 8.448546000255536e+01 8.408979283578468e+01 8.369609949978657e+01 8.330436902264381e+01 - 8.291459088961614e+01 8.252675470341519e+01 8.214085000107356e+01 8.175686603719873e+01 8.137479266933553e+01 - 8.099462018292702e+01 8.061633811896954e+01 8.023993612969721e+01 7.986540422509246e+01 7.949273245617202e+01 - 7.912191071864751e+01 7.875292880591886e+01 7.838577728963824e+01 7.802044667908689e+01 7.765692688210476e+01 - 7.729520814701189e+01 7.693528093921003e+01 7.657713574044320e+01 7.622076279877933e+01 7.586615250876412e+01 - 7.551329599462582e+01 7.516218394284439e+01 7.481280673973237e+01 7.446515517211270e+01 7.411922012543234e+01 - 7.377499243991551e+01 7.343246273248482e+01 7.309162206375170e+01 7.275246194060588e+01 7.241497325488510e+01 - 7.207914691168762e+01 7.174497413637995e+01 7.141244624067238e+01 7.108155440657860e+01 7.075228964021176e+01 - 7.042464364044737e+01 7.009860816502822e+01 6.977417437950896e+01 6.945133371117183e+01 6.913007780419414e+01 - 6.881039831641085e+01 6.849228672098478e+01 6.817573455985929e+01 6.786073404036127e+01 6.754727706019318e+01 - 6.723535518365489e+01 6.692496029976250e+01 6.661608442214438e+01 6.630871955818391e+01 6.600285747074972e+01 - 6.569849025826812e+01 6.539561050984807e+01 6.509421028016476e+01 6.479428156422156e+01 6.449581665898590e+01 - 6.419880794007263e+01 6.390324769379086e+01 6.360912802573969e+01 6.331644161216560e+01 6.302518126952705e+01 - 6.273533924838438e+01 6.244690800283556e+01 6.215988021335375e+01 6.187424856554645e+01 6.159000558852496e+01 - 6.130714382209544e+01 6.102565642873360e+01 6.074553634647369e+01 6.046677613965124e+01 6.018936867893675e+01 - 5.991330696615304e+01 5.963858400265185e+01 5.936519255461710e+01 5.909312563142009e+01 5.882237675846172e+01 - 5.855293899151076e+01 5.828480526925385e+01 5.801796883717194e+01 5.775242299813667e+01 5.748816098906929e+01 - 5.722517588172157e+01 5.696346118973321e+01 5.670301063052477e+01 5.644381744585571e+01 5.618587497447161e+01 - 5.592917675378749e+01 5.567371639288440e+01 5.541948735564524e+01 5.516648303666721e+01 5.491469740133566e+01 - 5.466412430128952e+01 5.441475721341882e+01 5.416658984866251e+01 5.391961604526729e+01 5.367382965707854e+01 - 5.342922435049869e+01 5.318579394824101e+01 5.294353276046760e+01 5.270243471566913e+01 5.246249358126801e+01 - 5.222370341980431e+01 5.198605834991378e+01 5.174955243603662e+01 5.151417956992881e+01 5.127993401538280e+01 - 5.104681029539683e+01 5.081480246751264e+01 5.058390465007635e+01 5.035411117607305e+01 5.012541641928832e+01 - 4.989781463692880e+01 4.967129999443014e+01 4.944586717469857e+01 4.922151081792142e+01 4.899822516393252e+01 - 4.877600466591702e+01 4.855484391176263e+01 4.833473749525371e+01 4.811567985888949e+01 4.789766553100244e+01 - 4.768068948486052e+01 4.746474643299185e+01 4.724983089968822e+01 4.703593761581940e+01 4.682306140175855e+01 - 4.661119706938157e+01 4.640033923440899e+01 4.619048280117971e+01 4.598162297433280e+01 4.577375454810339e+01 - 4.556687232031752e+01 4.536097129194708e+01 4.515604651624491e+01 4.495209295916556e+01 4.474910546848848e+01 - 4.454707932343867e+01 4.434600983627007e+01 4.414589194663536e+01 4.394672075425581e+01 4.374849149110094e+01 - 4.355119939554362e+01 4.335483958155968e+01 4.315940720272008e+01 4.296489783321342e+01 4.277130684141869e+01 - 4.257862938067940e+01 4.238686082011235e+01 4.219599659307687e+01 4.200603211268383e+01 4.181696265307154e+01 - 4.162878369849639e+01 4.144149102922540e+01 4.125508008000694e+01 4.106954625154178e+01 4.088488514080404e+01 - 4.070109237453877e+01 4.051816351991027e+01 4.033609404369983e+01 4.015487975529847e+01 3.997451654390139e+01 - 3.979499995457292e+01 3.961632565249730e+01 3.943848943565658e+01 3.926148710146721e+01 3.908531435163689e+01 - 3.890996689581685e+01 3.873544082272831e+01 3.856173207783515e+01 3.838883637414560e+01 3.821674961156019e+01 - 3.804546776546066e+01 3.787498680517137e+01 3.770530255859592e+01 3.753641100849845e+01 3.736830845518836e+01 - 3.720099088344971e+01 3.703445420945200e+01 3.686869456603723e+01 3.670370808841574e+01 3.653949085950763e+01 - 3.637603888796111e+01 3.621334844811717e+01 3.605141592615973e+01 3.589023740445852e+01 3.572980904042850e+01 - 3.557012712196481e+01 3.541118795282225e+01 3.525298774403768e+01 3.509552267323749e+01 3.493878928773343e+01 - 3.478278404343990e+01 3.462750313614663e+01 3.447294293878365e+01 3.431909990161546e+01 3.416597046087814e+01 - 3.401355094900445e+01 3.386183779648810e+01 3.371082772101448e+01 3.356051721064496e+01 3.341090265530899e+01 - 3.326198061398263e+01 3.311374767636361e+01 3.296620040125966e+01 3.281933525310492e+01 3.267314891432770e+01 - 3.252763821351709e+01 3.238279969616838e+01 3.223862995512887e+01 3.209512571750849e+01 3.195228370249094e+01 - 3.181010057023420e+01 3.166857295105629e+01 3.152769775432829e+01 3.138747186368265e+01 3.124789194582367e+01 - 3.110895478177638e+01 3.097065722333928e+01 3.083299612203396e+01 3.069596823521478e+01 3.055957038379009e+01 - 3.042379968490992e+01 3.028865305190764e+01 3.015412726448298e+01 3.002021927954454e+01 2.988692608783410e+01 - 2.975424465393443e+01 2.962217185358958e+01 2.949070472525562e+01 2.935984046863818e+01 2.922957605244617e+01 - 2.909990844798608e+01 2.897083474125067e+01 2.884235205411202e+01 2.871445744621140e+01 2.858714789194334e+01 - 2.846042066311678e+01 2.833427304434733e+01 2.820870204788112e+01 2.808370481822039e+01 2.795927858955916e+01 - 2.783542056310479e+01 2.771212788710439e+01 2.758939774558937e+01 2.746722754519704e+01 2.734561457842300e+01 - 2.722455602005491e+01 2.710404915757552e+01 2.698409131619408e+01 2.686467981339180e+01 2.674581188504884e+01 - 2.662748489299116e+01 2.650969637323688e+01 2.639244364869198e+01 2.627572402574995e+01 2.615953493480668e+01 - 2.604387380499337e+01 2.592873803144385e+01 2.581412497154068e+01 2.570003216993883e+01 2.558645721031992e+01 - 2.547339748309297e+01 2.536085044648649e+01 2.524881363723968e+01 2.513728460374055e+01 2.502626081142699e+01 - 2.491573971820056e+01 2.480571905896494e+01 2.469619646153339e+01 2.458716938319504e+01 2.447863542000312e+01 - 2.437059221927192e+01 2.426303741725681e+01 2.415596854366440e+01 2.404938323139217e+01 2.394327933047775e+01 - 2.383765447837906e+01 2.373250626120992e+01 2.362783239922733e+01 2.352363062421024e+01 2.341989863680159e+01 - 2.331663407933185e+01 2.321383475989216e+01 2.311149855755017e+01 2.300962316438995e+01 2.290820631357202e+01 - 2.280724581327735e+01 2.270673948178020e+01 2.260668508940155e+01 2.250708039173678e+01 2.240792334786956e+01 - 2.230921186720802e+01 2.221094371595302e+01 2.211311674173436e+01 2.201572884123411e+01 2.191877792312015e+01 - 2.182226182065280e+01 2.172617842216956e+01 2.163052579410284e+01 2.153530186271772e+01 2.144050449256298e+01 - 2.134613164544727e+01 2.125218130870039e+01 2.115865145244560e+01 2.106553997668644e+01 2.097284492087666e+01 - 2.088056441996010e+01 2.078869643251129e+01 2.069723893213309e+01 2.060618996606658e+01 2.051554761096601e+01 - 2.042530989859754e+01 2.033547481777502e+01 2.024604054022628e+01 2.015700522393599e+01 2.006836688994228e+01 - 1.998012363072147e+01 1.989227358045817e+01 1.980481486918973e+01 1.971774557717947e+01 1.963106382303616e+01 - 1.954476789103884e+01 1.945885594703988e+01 1.937332608222908e+01 1.928817649453870e+01 1.920340539662878e+01 - 1.911901098077130e+01 1.903499138773951e+01 1.895134486255558e+01 1.886806974988112e+01 1.878516424109755e+01 - 1.870262653275597e+01 1.862045489823334e+01 1.853864761644500e+01 1.845720293609644e+01 1.837611907561623e+01 - 1.829539441141390e+01 1.821502731690405e+01 1.813501600648008e+01 1.805535878852776e+01 1.797605402680784e+01 - 1.789710004813803e+01 1.781849513976010e+01 1.774023761822760e+01 1.766232596769640e+01 1.758475857461898e+01 - 1.750753373031707e+01 1.743064982368309e+01 1.735410526816905e+01 1.727789846424588e+01 1.720202775432962e+01 - 1.712649156263800e+01 1.705128842771503e+01 1.697641675133914e+01 1.690187492053174e+01 1.682766139576636e+01 - 1.675377465125957e+01 1.668021313537254e+01 1.660697525047803e+01 1.653405953620346e+01 1.646146456303875e+01 - 1.638918876353225e+01 1.631723061252691e+01 1.624558863577738e+01 1.617426136715184e+01 1.610324729276991e+01 - 1.603254489420701e+01 1.596215281065743e+01 1.589206962268447e+01 1.582229381597797e+01 1.575282394813798e+01 - 1.568365860435203e+01 1.561479636559848e+01 1.554623575841051e+01 1.547797536749664e+01 1.541001389568697e+01 - 1.534234992945672e+01 1.527498202635700e+01 1.520790881496337e+01 1.514112893627654e+01 1.507464101206718e+01 - 1.500844361854594e+01 1.494253544400039e+01 1.487691522461213e+01 1.481158156982783e+01 1.474653311471545e+01 - 1.468176854391490e+01 1.461728655322583e+01 1.455308580005108e+01 1.448916492494823e+01 1.442552270891503e+01 - 1.436215789907635e+01 1.429906914560298e+01 1.423625515786986e+01 1.417371467503432e+01 1.411144643634281e+01 - 1.404944913182382e+01 1.398772148936426e+01 1.392626235467004e+01 1.386507047757601e+01 1.380414456703780e+01 - 1.374348339923097e+01 1.368308576360786e+01 1.362295043539383e+01 1.356307614411792e+01 1.350346171009224e+01 - 1.344410601461897e+01 1.338500782259274e+01 1.332616591200318e+01 1.326757911048049e+01 1.320924625504148e+01 - 1.315116615215319e+01 1.309333758418828e+01 1.303575945915385e+01 1.297843067064863e+01 1.292135001185642e+01 - 1.286451632934388e+01 1.280792850075226e+01 1.275158540067995e+01 1.269548586414703e+01 1.263962874841400e+01 - 1.258401302186647e+01 1.252863758019894e+01 1.247350127006052e+01 1.241860299544399e+01 1.236394167532885e+01 - 1.230951622025856e+01 1.225532549825102e+01 1.220136844757296e+01 1.214764407513537e+01 1.209415128431592e+01 - 1.204088897936275e+01 1.198785611322907e+01 1.193505164847797e+01 1.188247452422181e+01 1.183012365035161e+01 - 1.177799804372636e+01 1.172609672645034e+01 1.167441862559045e+01 1.162296270435431e+01 1.157172795813644e+01 - 1.152071338824009e+01 1.146991795771504e+01 1.141934063624516e+01 1.136898050295155e+01 1.131883658051165e+01 - 1.126890783457083e+01 1.121919328583311e+01 1.116969196974251e+01 1.112040291453270e+01 1.107132511138846e+01 - 1.102245760367597e+01 1.097379950683186e+01 1.092534984778681e+01 1.087710764406476e+01 1.082907196010627e+01 - 1.078124186863284e+01 1.073361642501848e+01 1.068619465441603e+01 1.063897567074718e+01 1.059195860734133e+01 - 1.054514250814830e+01 1.049852644360809e+01 1.045210951602862e+01 1.040589083229813e+01 1.035986946911022e+01 - 1.031404450080543e+01 1.026841510170119e+01 1.022298040707346e+01 1.017773949095798e+01 1.013269147478631e+01 - 1.008783549702620e+01 1.004317069189082e+01 9.998696157456914e+00 9.954411030186206e+00 9.910314523784715e+00 - 9.866405774945729e+00 9.822683900561229e+00 9.779148062474189e+00 9.735797433007823e+00 9.692631171490490e+00 - 9.649648402951970e+00 9.606848328743531e+00 9.564230182014787e+00 9.521793107635142e+00 9.479536270440141e+00 - 9.437458869806633e+00 9.395560106559989e+00 9.353839157926716e+00 9.312295192835592e+00 9.270927467731591e+00 - 9.229735216231479e+00 9.188717610212938e+00 9.147873860369382e+00 9.107203196336844e+00 9.066704846764596e+00 - 9.026378005702853e+00 8.986221892357717e+00 8.946235805206038e+00 8.906418978693665e+00 8.866770619316361e+00 - 8.827289975974383e+00 8.787976307390357e+00 8.748828863538764e+00 8.709846863139358e+00 8.671029583554503e+00 - 8.632376341244221e+00 8.593886376949055e+00 8.555558939921891e+00 8.517393311170933e+00 8.479388776756116e+00 - 8.441544603229096e+00 8.403860042243403e+00 8.366334424744339e+00 8.328967072292842e+00 8.291757243124138e+00 - 8.254704227472720e+00 8.217807335382002e+00 8.181065876905594e+00 8.144479133106664e+00 8.108046399433587e+00 - 8.071767047639053e+00 8.035640397926882e+00 7.999665736506032e+00 7.963842390434660e+00 7.928169696145141e+00 - 7.892646983285742e+00 7.857273552651162e+00 7.822048750599857e+00 7.786971968025827e+00 7.752042529333232e+00 - 7.717259758863888e+00 7.682623011133142e+00 7.648131647347260e+00 7.613785013617140e+00 7.579582436948184e+00 - 7.545523312250220e+00 7.511607037617057e+00 7.477832951167176e+00 7.444200413093294e+00 7.410708803334905e+00 - 7.377357505498556e+00 7.344145878673218e+00 7.311073286547245e+00 7.278139163173499e+00 7.245342906306997e+00 - 7.212683876663248e+00 7.180161467446147e+00 7.147775082852699e+00 7.115524124234772e+00 7.083407965702390e+00 - 7.051426016132217e+00 7.019577732801474e+00 6.987862512275252e+00 6.956279745475502e+00 6.924828855941318e+00 - 6.893509269882150e+00 6.862320401692200e+00 6.831261647888545e+00 6.800332460884749e+00 6.769532305211046e+00 - 6.738860589806862e+00 6.708316738463165e+00 6.677900193977888e+00 6.647610403615440e+00 6.617446795946176e+00 - 6.587408797932629e+00 6.557495898186097e+00 6.527707560796614e+00 6.498043211862364e+00 6.468502306113241e+00 - 6.439084309299234e+00 6.409788685242900e+00 6.380614873655190e+00 6.351562339061567e+00 6.322630595895343e+00 - 6.293819108127046e+00 6.265127326375664e+00 6.236554729526047e+00 6.208100805116588e+00 6.179765032202197e+00 - 6.151546864740690e+00 6.123445807150094e+00 6.095461385258917e+00 6.067593067877628e+00 6.039840335121551e+00 - 6.012202688508743e+00 5.984679633169969e+00 5.957270656961056e+00 5.929975240292937e+00 5.902792923627279e+00 - 5.875723232013562e+00 5.848765648702115e+00 5.821919682493143e+00 5.795184854142510e+00 5.768560683026402e+00 - 5.742046666390822e+00 5.715642318587924e+00 5.689347205919744e+00 5.663160851223163e+00 5.637082758311135e+00 - 5.611112458697719e+00 5.585249491519008e+00 5.559493390584049e+00 5.533843667789125e+00 5.508299872311603e+00 - 5.482861578646651e+00 5.457528314665947e+00 5.432299611523626e+00 5.407175018586152e+00 5.382154093094761e+00 - 5.357236378022760e+00 5.332421403106363e+00 5.307708752059064e+00 5.283098003376689e+00 5.258588694187007e+00 - 5.234180379291222e+00 5.209872626694981e+00 5.185665008050016e+00 5.161557074183171e+00 5.137548383980142e+00 - 5.113638545797982e+00 5.089827134282968e+00 5.066113702430728e+00 5.042497830741953e+00 5.018979105007048e+00 - 4.995557105455633e+00 4.972231392615168e+00 4.949001558388967e+00 4.925867224885915e+00 4.902827967986653e+00 - 4.879883363679411e+00 4.857033008673309e+00 4.834276503129009e+00 4.811613436797770e+00 4.789043387081744e+00 - 4.766565977795326e+00 4.744180833573695e+00 4.721887536130310e+00 4.699685684376157e+00 4.677574891583497e+00 - 4.655554772271826e+00 4.633624922898647e+00 4.611784942911348e+00 4.590034481232405e+00 4.568373160121153e+00 - 4.546800575450856e+00 4.525316347519302e+00 4.503920103923871e+00 4.482611469298424e+00 4.461390048788094e+00 - 4.440255471271009e+00 4.419207398665950e+00 4.398245451269402e+00 4.377369245425554e+00 4.356578419383048e+00 - 4.335872613273037e+00 4.315251459075552e+00 4.294714576337845e+00 4.274261622204341e+00 4.253892261314030e+00 - 4.233606119889290e+00 4.213402835603544e+00 4.193282059746365e+00 4.173243445650493e+00 4.153286631923412e+00 - 4.133411255497697e+00 4.113616998652003e+00 4.093903524786619e+00 4.074270469191258e+00 4.054717490515994e+00 - 4.035244253601178e+00 4.015850419023907e+00 3.996535633568783e+00 3.977299560905666e+00 3.958141896495164e+00 - 3.939062301025637e+00 3.920060427447142e+00 3.901135950094528e+00 3.882288544897898e+00 3.863517881118590e+00 - 3.844823615448907e+00 3.826205437051391e+00 3.807663047653544e+00 3.789196110563124e+00 3.770804297342049e+00 - 3.752487294212357e+00 3.734244789018890e+00 3.716076457976182e+00 3.697981972490954e+00 3.679961043694115e+00 - 3.662013372248035e+00 3.644138631063968e+00 3.626336509775109e+00 3.608606705542072e+00 3.590948914412318e+00 - 3.573362819793663e+00 3.555848115085657e+00 3.538404523614169e+00 3.521031745026515e+00 3.503729467883798e+00 - 3.486497394134707e+00 3.469335231734055e+00 3.452242686325544e+00 3.435219448952052e+00 3.418265234650198e+00 - 3.401379774604279e+00 3.384562769850576e+00 3.367813923930398e+00 3.351132951883403e+00 3.334519571031865e+00 - 3.317973491801103e+00 3.301494419647167e+00 3.285082090084510e+00 3.268736234671993e+00 3.252456560777042e+00 - 3.236242786971220e+00 3.220094639575606e+00 3.204011846234647e+00 3.187994121490988e+00 3.172041185626448e+00 - 3.156152791161071e+00 3.140328668842820e+00 3.124568535295174e+00 3.108872124034968e+00 3.093239171871656e+00 - 3.077669412161458e+00 3.062162565910707e+00 3.046718374098970e+00 3.031336596904380e+00 3.016016966139392e+00 - 3.000759212810465e+00 2.985563079528153e+00 2.970428312130104e+00 2.955354650145179e+00 2.940341825152254e+00 - 2.925389598488303e+00 2.910497731503551e+00 2.895665957526404e+00 2.880894022713473e+00 2.866181682137055e+00 - 2.851528688498591e+00 2.836934785005289e+00 2.822399718118186e+00 2.807923264019232e+00 2.793505182293368e+00 - 2.779145216423770e+00 2.764843124903896e+00 2.750598669795774e+00 2.736411610868753e+00 2.722281698431688e+00 - 2.708208697067331e+00 2.694192390113966e+00 2.680232535961204e+00 2.666328890540199e+00 2.652481222662398e+00 - 2.638689303226956e+00 2.624952898002155e+00 2.611271764144950e+00 2.597645683492627e+00 2.584074442444535e+00 - 2.570557801667266e+00 2.557095530257868e+00 2.543687406599445e+00 2.530333209423413e+00 2.517032707379746e+00 - 2.503785668122807e+00 2.490591889861845e+00 2.477451158950901e+00 2.464363243138197e+00 2.451327922049569e+00 - 2.438344980862380e+00 2.425414204994132e+00 2.412535368413293e+00 2.399708255484590e+00 2.386932671907132e+00 - 2.374208401602455e+00 2.361535223009603e+00 2.348912926727443e+00 2.336341305706971e+00 2.323820149408004e+00 - 2.311349238873846e+00 2.298928374328811e+00 2.286557363678248e+00 2.274235992966902e+00 2.261964052364815e+00 - 2.249741340335214e+00 2.237567658215990e+00 2.225442798573621e+00 2.213366549457367e+00 2.201338726388740e+00 - 2.189359138707274e+00 2.177427577694549e+00 2.165543843493499e+00 2.153707741170415e+00 2.141919076444355e+00 - 2.130177647034976e+00 2.118483256831743e+00 2.106835728234196e+00 2.095234867960482e+00 2.083680476325080e+00 - 2.072172364176171e+00 2.060710343839133e+00 2.049294224696878e+00 2.037923808395575e+00 2.026598913260298e+00 - 2.015319367985618e+00 2.004084979196668e+00 1.992895556108562e+00 1.981750916950703e+00 1.970650881000152e+00 - 1.959595261684839e+00 1.948583868145923e+00 1.937616532016987e+00 1.926693081878526e+00 1.915813328267264e+00 - 1.904977090405082e+00 1.894184192977273e+00 1.883434460875044e+00 1.872727710477953e+00 1.862063762090873e+00 - 1.851442457083682e+00 1.840863622251705e+00 1.830327074965862e+00 1.819832643502570e+00 1.809380158797907e+00 - 1.798969449793061e+00 1.788600336572885e+00 1.778272652771865e+00 1.767986244795942e+00 1.757740938619203e+00 - 1.747536560606076e+00 1.737372946411540e+00 1.727249932639099e+00 1.717167351154095e+00 1.707125028541288e+00 - 1.697122811212298e+00 1.687160545804055e+00 1.677238060829077e+00 1.667355192130723e+00 1.657511781312863e+00 - 1.647707669880958e+00 1.637942692337234e+00 1.628216684763444e+00 1.618529503053863e+00 1.608880992276723e+00 - 1.599270986915247e+00 1.589699330823691e+00 1.580165870897195e+00 1.570670452975510e+00 1.561212914561866e+00 - 1.551793103249197e+00 1.542410880472349e+00 1.533066090216831e+00 1.523758574579748e+00 1.514488184288800e+00 - 1.505254771462676e+00 1.496058184704016e+00 1.486898266759950e+00 1.477774877044576e+00 1.468687878023066e+00 - 1.459637114930725e+00 1.450622438289068e+00 1.441643704572125e+00 1.432700770639202e+00 1.423793487269355e+00 - 1.414921704769478e+00 1.406085292220042e+00 1.397284110913275e+00 1.388518010515092e+00 1.379786849127615e+00 - 1.371090488107240e+00 1.362428788219066e+00 1.353801602746353e+00 1.345208792137069e+00 1.336650231141558e+00 - 1.328125779708811e+00 1.319635294146069e+00 1.311178639017341e+00 1.302755680403749e+00 1.294366281732825e+00 - 1.286010300246468e+00 1.277687607130681e+00 1.269398079017509e+00 1.261141576506052e+00 1.252917963373013e+00 - 1.244727109229262e+00 1.236568884548108e+00 1.228443154841189e+00 1.220349783647821e+00 1.212288651549746e+00 - 1.204259634287000e+00 1.196262595500517e+00 1.188297406122070e+00 1.180363940507803e+00 1.172462072687314e+00 - 1.164591670206239e+00 1.156752605274376e+00 1.148944764287503e+00 1.141168021685895e+00 1.133422246839356e+00 - 1.125707316556084e+00 1.118023109341937e+00 1.110369501923575e+00 1.102746365022667e+00 1.095153580538906e+00 - 1.087591037394418e+00 1.080058609806265e+00 1.072556173728377e+00 1.065083611042832e+00 1.057640804167975e+00 - 1.050227631677888e+00 1.042843969448370e+00 1.035489708218281e+00 1.028164736497249e+00 1.020868930712798e+00 - 1.013602173363602e+00 1.006364350528145e+00 9.991553480860069e-01 9.919750464549014e-01 9.848233287198007e-01 - 9.777000916381701e-01 9.706052224312447e-01 9.635386022157533e-01 9.565001191688937e-01 9.494896630661879e-01 - 9.425071223228538e-01 9.355523797940184e-01 9.286253271866921e-01 9.217258644183214e-01 9.148538781303724e-01 - 9.080092551050607e-01 9.011918879859632e-01 8.944016703005543e-01 8.876384924746002e-01 8.809022413584221e-01 - 8.741928168976413e-01 8.675101190938330e-01 8.608540359442419e-01 8.542244603473701e-01 8.476212889430066e-01 - 8.410444181391276e-01 8.344937399710189e-01 8.279691476350027e-01 8.214705470141707e-01 8.149978368018493e-01 - 8.085509088588196e-01 8.021296614287111e-01 7.957339944800463e-01 7.893638070383275e-01 7.830189931350516e-01 - 7.766994532966268e-01 7.704050967403675e-01 7.641358215802615e-01 7.578915247022724e-01 7.516721083807270e-01 - 7.454774759379389e-01 7.393075284143857e-01 7.331621629407183e-01 7.270412875750237e-01 7.209448123528730e-01 - 7.148726361079928e-01 7.088246610576617e-01 7.028007931997213e-01 6.968009387204053e-01 6.908250000358214e-01 - 6.848728793751606e-01 6.789444908271167e-01 6.730397435251165e-01 6.671585392499849e-01 6.613007849024644e-01 - 6.554663896318030e-01 6.496552624588109e-01 6.438673070778183e-01 6.381024319556428e-01 6.323605552121262e-01 - 6.266415850605696e-01 6.209454272475601e-01 6.152719929073242e-01 6.096211942955035e-01 6.039929419697414e-01 - 5.983871423673978e-01 5.928037109278776e-01 5.872425665727200e-01 5.817036179262789e-01 5.761867757580472e-01 - 5.706919545755328e-01 5.652190691753797e-01 5.597680312855905e-01 5.543387515608681e-01 5.489311514266204e-01 - 5.435451491959484e-01 5.381806555529779e-01 5.328375858091706e-01 5.275158573424954e-01 5.222153871968650e-01 - 5.169360885007255e-01 5.116778775087658e-01 5.064406794925096e-01 5.012244118255510e-01 4.960289886382637e-01 - 4.908543290552675e-01 4.857003532629381e-01 4.805669801867241e-01 4.754541247133137e-01 4.703617092625736e-01 - 4.652896609026711e-01 4.602378967146020e-01 4.552063350475851e-01 4.501948983226124e-01 4.452035092771810e-01 - 4.402320879227842e-01 4.352805523654864e-01 4.303488309750054e-01 4.254368504386150e-01 4.205445290166767e-01 - 4.156717895856258e-01 4.108185573527897e-01 4.059847567861119e-01 4.011703090912549e-01 3.963751374739253e-01 - 3.915991740467544e-01 3.868423443729578e-01 3.821045699452743e-01 3.773857771630841e-01 3.726858934536713e-01 - 3.680048452743795e-01 3.633425553945757e-01 3.586989523890614e-01 3.540739701811214e-01 3.494675340422360e-01 - 3.448795694018267e-01 3.403100055229290e-01 3.357587720701978e-01 3.312257966625470e-01 3.267110046986084e-01 - 3.222143302305144e-01 3.177357072575733e-01 3.132750617821559e-01 3.088323230437107e-01 3.044074228278458e-01 - 3.000002929514869e-01 2.956108619814004e-01 2.912390591663653e-01 2.868848226223222e-01 2.825480855369588e-01 - 2.782287763584979e-01 2.739268276304007e-01 2.696421732978619e-01 2.653747469077652e-01 2.611244782932083e-01 - 2.568913016367161e-01 2.526751570146955e-01 2.484759769388697e-01 2.442936932048949e-01 2.401282413902519e-01 - 2.359795575701045e-01 2.318475761710866e-01 2.277322290127450e-01 2.236334554284879e-01 2.195511960314929e-01 - 2.154853836729677e-01 2.114359536211432e-01 2.074028437636633e-01 2.033859920182897e-01 1.993853337119912e-01 - 1.954008040589642e-01 1.914323463143237e-01 1.874799002688242e-01 1.835434007181165e-01 1.796227861758036e-01 - 1.757179964922509e-01 1.718289711649378e-01 1.679556465242757e-01 1.640979620393169e-01 1.602558632656972e-01 - 1.564292893436780e-01 1.526181778855338e-01 1.488224700413446e-01 1.450421075715582e-01 1.412770310767497e-01 - 1.375271785489454e-01 1.337924939887067e-01 1.300729236356154e-01 1.263684067750867e-01 1.226788841702678e-01 - 1.190042991249222e-01 1.153445951805052e-01 1.116997137432381e-01 1.080695954417651e-01 1.044541881911586e-01 - 1.008534377603918e-01 9.726728475975084e-02 9.369567294988820e-02 9.013854752144720e-02 8.659585347215112e-02 - 8.306753302147955e-02 7.955353046975124e-02 7.605379621791922e-02 7.256827534889604e-02 6.909691079142652e-02 - 6.563964883225221e-02 6.219643640409570e-02 5.876721959493493e-02 5.535194193553600e-02 5.195055179453398e-02 - 4.856300050562060e-02 4.518923308325209e-02 4.182919528191363e-02 3.848283536820589e-02 3.515010193539807e-02 - 3.183094185890936e-02 2.852530077920949e-02 2.523313079087341e-02 2.195438300307553e-02 1.868900335629075e-02 - 1.543694036357313e-02 1.219814405293583e-02 8.972564385828061e-03 5.760148923624660e-03 2.560846417529306e-03 - -6.253884489496408e-04 -3.798605206001689e-03 -6.958856024607482e-03 -1.010619000899848e-02 -1.324065554473652e-02 - -1.636230159824732e-02 -1.947117958312726e-02 -2.256733711284757e-02 -2.565081832749929e-02 -2.872167302619957e-02 - -3.177995089902724e-02 -3.482569914268617e-02 -3.785896464500105e-02 -4.087979562235380e-02 -4.388824175488684e-02 - -4.688434717766576e-02 -4.986815604286890e-02 -5.283971753775529e-02 -5.579907881824794e-02 -5.874628546589089e-02 - -6.168138307363240e-02 -6.460441923558070e-02 -6.751544105442296e-02 -7.041449003639784e-02 -7.330161087707579e-02 - -7.617685125406765e-02 -7.904025608548425e-02 -8.189186951723537e-02 -8.473173608907363e-02 -8.755990257827875e-02 - -9.037641289395969e-02 -9.318130717201861e-02 -9.597463047763352e-02 -9.875642835115833e-02 -1.015267439140877e-01 - -1.042856199263307e-01 -1.070331001684683e-01 -1.097692300567918e-01 -1.124940502948268e-01 -1.152076007898061e-01 - -1.179099262631479e-01 -1.206010699593113e-01 -1.232810735016665e-01 -1.259499784255051e-01 -1.286078279418341e-01 - -1.312546653333709e-01 -1.338905286984875e-01 -1.365154583874092e-01 -1.391294979538990e-01 -1.417326885345280e-01 - -1.443250704192513e-01 -1.469066841433861e-01 -1.494775722507627e-01 -1.520377752494497e-01 -1.545873297590701e-01 - -1.571262765202916e-01 -1.596546572452540e-01 -1.621725113907878e-01 -1.646798779801165e-01 -1.671767967821347e-01 - -1.696633092874520e-01 -1.721394530811854e-01 -1.746052643091513e-01 -1.770607836101869e-01 -1.795060506428017e-01 - -1.819411034225526e-01 -1.843659798390828e-01 -1.867807191554161e-01 -1.891853611111403e-01 -1.915799407499077e-01 - -1.939644945120454e-01 -1.963390621459183e-01 -1.987036813730624e-01 -2.010583889984393e-01 -2.034032219467188e-01 - -2.057382189127211e-01 -2.080634172465200e-01 -2.103788504106409e-01 -2.126845552585028e-01 -2.149805700057577e-01 - -2.172669307458855e-01 -2.195436731393316e-01 -2.218108333786645e-01 -2.240684493062661e-01 -2.263165556286022e-01 - -2.285551851690127e-01 -2.307843748874083e-01 -2.330041611277884e-01 -2.352145785311434e-01 -2.374156618282909e-01 - -2.396074467707450e-01 -2.417899696732801e-01 -2.439632627554057e-01 -2.461273590292558e-01 -2.482822949571798e-01 - -2.504281050002428e-01 -2.525648226666662e-01 -2.546924818382261e-01 -2.568111176810049e-01 -2.589207645010757e-01 - -2.610214530059819e-01 -2.631132165202481e-01 -2.651960899948890e-01 -2.672701065219724e-01 -2.693352987894519e-01 - -2.713916998229662e-01 -2.734393439668777e-01 -2.754782632038173e-01 -2.775084874639143e-01 -2.795300503441993e-01 - -2.815429852855671e-01 -2.835473240274155e-01 -2.855430981234691e-01 -2.875303400246380e-01 -2.895090831627840e-01 - -2.914793573631382e-01 -2.934411924374482e-01 -2.953946213942734e-01 -2.973396760049649e-01 -2.992763870705049e-01 - -3.012047853752455e-01 -3.031249029054077e-01 -3.050367713048046e-01 -3.069404187491607e-01 -3.088358754333808e-01 - -3.107231733999588e-01 -3.126023429151826e-01 -3.144734138246973e-01 -3.163364162512183e-01 -3.181913814969073e-01 - -3.200383391593082e-01 -3.218773166629695e-01 -3.237083442965246e-01 -3.255314526206347e-01 -3.273466708133588e-01 - -3.291540279174764e-01 -3.309535535062730e-01 -3.327452779044484e-01 -3.345292286746930e-01 -3.363054329977739e-01 - -3.380739209920870e-01 -3.398347217688169e-01 -3.415878634526212e-01 -3.433333743100879e-01 -3.450712833788954e-01 - -3.468016195958206e-01 -3.485244091566739e-01 -3.502396793974815e-01 -3.519474593420066e-01 -3.536477770380763e-01 - -3.553406598299846e-01 -3.570261348354672e-01 -3.587042307855341e-01 -3.603749751839582e-01 -3.620383929731605e-01 - -3.636945116923384e-01 -3.653433594409278e-01 -3.669849628231984e-01 -3.686193482790397e-01 -3.702465427747400e-01 - -3.718665743211436e-01 -3.734794684043725e-01 -3.750852495624684e-01 -3.766839451194457e-01 -3.782755819189342e-01 - -3.798601858648072e-01 -3.814377826321034e-01 -3.830083986549013e-01 -3.845720606417443e-01 -3.861287926090124e-01 - -3.876786193539286e-01 -3.892215675502101e-01 -3.907576628594260e-01 -3.922869303026715e-01 -3.938093947284727e-01 - -3.953250822556230e-01 -3.968340182497304e-01 -3.983362256494206e-01 -3.998317293097848e-01 -4.013205549386248e-01 - -4.028027272117153e-01 -4.042782703087232e-01 -4.057472086115670e-01 -4.072095677082399e-01 -4.086653712889545e-01 - -4.101146418277140e-01 -4.115574040934622e-01 -4.129936826934361e-01 -4.144235014035024e-01 -4.158468836578273e-01 - -4.172638535617268e-01 -4.186744357650895e-01 -4.200786523524958e-01 -4.214765258006608e-01 -4.228680805923657e-01 - -4.242533401481378e-01 -4.256323273241845e-01 -4.270050650780072e-01 -4.283715771591216e-01 -4.297318868367957e-01 - -4.310860152683936e-01 -4.324339850671611e-01 -4.337758197699306e-01 -4.351115419219263e-01 -4.364411736856622e-01 - -4.377647373653272e-01 -4.390822563519974e-01 -4.403937525793140e-01 -4.416992465950099e-01 -4.429987609092939e-01 - -4.442923180804305e-01 -4.455799398898891e-01 -4.468616477876415e-01 -4.481374637930542e-01 -4.494074106490894e-01 - -4.506715085877422e-01 -4.519297779021105e-01 -4.531822412097039e-01 -4.544289201442401e-01 -4.556698355752103e-01 - -4.569050083194456e-01 -4.581344599890250e-01 -4.593582121055255e-01 -4.605762842891920e-01 -4.617886970897419e-01 - -4.629954719556403e-01 -4.641966295426422e-01 -4.653921902577345e-01 -4.665821746143150e-01 -4.677666038635413e-01 - -4.689454981292748e-01 -4.701188761476531e-01 -4.712867586709557e-01 -4.724491664926360e-01 -4.736061192593240e-01 - -4.747576368456714e-01 -4.759037394682022e-01 -4.770444475543998e-01 -4.781797800875144e-01 -4.793097558338887e-01 - -4.804343950164401e-01 -4.815537175042383e-01 -4.826677426390972e-01 -4.837764894228364e-01 -4.848799775883490e-01 - -4.859782270303963e-01 -4.870712557287352e-01 -4.881590823344398e-01 -4.892417265305033e-01 -4.903192072931410e-01 - -4.913915433426016e-01 -4.924587534540600e-01 -4.935208569593936e-01 -4.945778724869024e-01 -4.956298174121960e-01 - -4.966767104426105e-01 -4.977185705977166e-01 -4.987554161795947e-01 -4.997872652579317e-01 -5.008141361357437e-01 - -5.018360477540788e-01 -5.028530175622089e-01 -5.038650625463708e-01 -5.048722015765362e-01 -5.058744527800632e-01 - -5.068718334710337e-01 -5.078643614554021e-01 -5.088520548881869e-01 -5.098349318298798e-01 -5.108130088001350e-01 - -5.117863028619736e-01 -5.127548322161382e-01 -5.137186142245088e-01 -5.146776659499980e-01 -5.156320045833772e-01 - -5.165816478015819e-01 -5.175266128170244e-01 -5.184669156304091e-01 -5.194025733016244e-01 -5.203336032597101e-01 - -5.212600221732120e-01 -5.221818466804444e-01 -5.230990936596679e-01 -5.240117804553392e-01 -5.249199232262068e-01 - -5.258235374392936e-01 -5.267226400387954e-01 -5.276172478389746e-01 -5.285073771019844e-01 -5.293930438910602e-01 - -5.302742646986305e-01 -5.311510563423283e-01 -5.320234339437281e-01 -5.328914129379527e-01 -5.337550101355577e-01 - -5.346142414983102e-01 -5.354691226448078e-01 -5.363196694209366e-01 -5.371658979374595e-01 -5.380078240078261e-01 - -5.388454624615836e-01 -5.396788287704753e-01 -5.405079388378121e-01 -5.413328081929075e-01 -5.421534521210617e-01 - -5.429698859177164e-01 -5.437821254261226e-01 -5.445901856060492e-01 -5.453940806517681e-01 -5.461938261275164e-01 - -5.469894375147514e-01 -5.477809296410460e-01 -5.485683172596564e-01 -5.493516154047422e-01 -5.501308394233321e-01 - -5.509060035978606e-01 -5.516771220917993e-01 -5.524442098036262e-01 -5.532072816062331e-01 -5.539663521228516e-01 - -5.547214355736525e-01 -5.554725467511782e-01 -5.562197004144761e-01 -5.569629099559865e-01 -5.577021895124128e-01 - -5.584375539231472e-01 -5.591690174427206e-01 -5.598965939391384e-01 -5.606202972403660e-01 -5.613401421520022e-01 - -5.620561426054913e-01 -5.627683113219669e-01 -5.634766626491997e-01 -5.641812109417922e-01 -5.648819696019924e-01 - -5.655789522526887e-01 -5.662721727674018e-01 -5.669616451334641e-01 -5.676473824290281e-01 -5.683293976251365e-01 - -5.690077046537543e-01 -5.696823171027902e-01 -5.703532481968968e-01 -5.710205111045815e-01 -5.716841193018837e-01 - -5.723440862989044e-01 -5.730004247377283e-01 -5.736531475408438e-01 -5.743022680808630e-01 -5.749477994635019e-01 - -5.755897545119250e-01 -5.762281459317424e-01 -5.768629872133108e-01 -5.774942912813225e-01 -5.781220698864685e-01 - -5.787463360372200e-01 -5.793671029370097e-01 -5.799843829591812e-01 -5.805981885004621e-01 -5.812085322229668e-01 - -5.818154271777390e-01 -5.824188854500640e-01 -5.830189187855023e-01 -5.836155400127914e-01 -5.842087616519486e-01 - -5.847985957903102e-01 -5.853850545399070e-01 -5.859681502822114e-01 -5.865478954643482e-01 -5.871243015837295e-01 - -5.876973804424807e-01 -5.882671445115567e-01 -5.888336058093040e-01 -5.893967761301214e-01 -5.899566672475657e-01 - -5.905132912554449e-01 -5.910666600004119e-01 -5.916167846344484e-01 -5.921636769312483e-01 -5.927073488739303e-01 - -5.932478119884005e-01 -5.937850777230974e-01 -5.943191576345895e-01 -5.948500635775013e-01 -5.953778067525587e-01 - -5.959023980172641e-01 -5.964238491804477e-01 -5.969421717317064e-01 -5.974573766302176e-01 -5.979694750153504e-01 - -5.984784782975928e-01 -5.989843980133127e-01 -5.994872448737363e-01 -5.999870296226286e-01 -6.004837635008013e-01 - -6.009774575116591e-01 -6.014681225640990e-01 -6.019557696406324e-01 -6.024404098188824e-01 -6.029220539582525e-01 - -6.034007123251734e-01 -6.038763957092128e-01 -6.043491151546724e-01 -6.048188811990667e-01 -6.052857043294740e-01 - -6.057495951725935e-01 -6.062105647034982e-01 -6.066686232996821e-01 -6.071237808282512e-01 -6.075760480581535e-01 - -6.080254356249652e-01 -6.084719536597242e-01 -6.089156123708600e-01 -6.093564221655233e-01 -6.097943936088406e-01 - -6.102295366277345e-01 -6.106618611466814e-01 -6.110913776082281e-01 -6.115180960018122e-01 -6.119420262061138e-01 - -6.123631785057825e-01 -6.127815629923925e-01 -6.131971895415724e-01 -6.136100679122567e-01 -6.140202079254689e-01 - -6.144276194632986e-01 -6.148323123693087e-01 -6.152342964516117e-01 -6.156335814880438e-01 -6.160301772367670e-01 - -6.164240932773791e-01 -6.168153390131846e-01 -6.172039241057757e-01 -6.175898582479540e-01 -6.179731510100582e-01 - -6.183538118537011e-01 -6.187318502245757e-01 -6.191072755983122e-01 -6.194800972241303e-01 -6.198503243163954e-01 - -6.202179663089392e-01 -6.205830326036273e-01 -6.209455324825972e-01 -6.213054750121583e-01 -6.216628693834372e-01 - -6.220177248671027e-01 -6.223700505100402e-01 -6.227198553511943e-01 -6.230671484590707e-01 -6.234119388224310e-01 - -6.237542354039819e-01 -6.240940471906395e-01 -6.244313833278470e-01 -6.247662526956897e-01 -6.250986637315333e-01 - -6.254286253149073e-01 -6.257561464374979e-01 -6.260812358699522e-01 -6.264039022632663e-01 -6.267241542804416e-01 - -6.270420007239386e-01 -6.273574502418447e-01 -6.276705113436000e-01 -6.279811924920996e-01 -6.282895022600340e-01 - -6.285954492669960e-01 -6.288990419377586e-01 -6.292002887596219e-01 -6.294991982474318e-01 -6.297957785295903e-01 - -6.300900379535952e-01 -6.303819851813233e-01 -6.306716282540937e-01 -6.309589752809680e-01 -6.312440348023121e-01 - -6.315268150763020e-01 -6.318073241903770e-01 -6.320855701836068e-01 -6.323615610879741e-01 -6.326353050044859e-01 - -6.329068101802829e-01 -6.331760846635813e-01 -6.334431363818833e-01 -6.337079733473078e-01 -6.339706034520735e-01 - -6.342310345121693e-01 -6.344892744839461e-01 -6.347453312805855e-01 -6.349992127114430e-01 -6.352509264768633e-01 - -6.355004804526597e-01 -6.357478826585540e-01 -6.359931404400122e-01 -6.362362612918424e-01 -6.364772532644518e-01 - -6.367161239398067e-01 -6.369528807876881e-01 -6.371875315012039e-01 -6.374200836672138e-01 -6.376505447719858e-01 - -6.378789222449943e-01 -6.381052236017390e-01 -6.383294563385360e-01 -6.385516277126226e-01 -6.387717451483415e-01 - -6.389898161925324e-01 -6.392058481779943e-01 -6.394198483013303e-01 -6.396318237129481e-01 -6.398417817583982e-01 - -6.400497298004382e-01 -6.402556751053731e-01 -6.404596246811356e-01 -6.406615856182318e-01 -6.408615652398488e-01 - -6.410595705960431e-01 -6.412556087124355e-01 -6.414496867908267e-01 -6.416418117430738e-01 -6.418319904244396e-01 - -6.420202299552208e-01 -6.422065373268501e-01 -6.423909194238488e-01 -6.425733831564441e-01 -6.427539354568388e-01 - -6.429325832107947e-01 -6.431093330874931e-01 -6.432841919278923e-01 -6.434571667152847e-01 -6.436282640341581e-01 - -6.437974905134223e-01 -6.439648529819666e-01 -6.441303582355420e-01 -6.442940129046214e-01 -6.444558234243410e-01 - -6.446157964842297e-01 -6.447739387669796e-01 -6.449302567289288e-01 -6.450847570451982e-01 -6.452374463418470e-01 - -6.453883308317777e-01 -6.455374170518916e-01 -6.456847116523639e-01 -6.458302208459006e-01 -6.459739509825424e-01 - -6.461159085765001e-01 -6.462561000624228e-01 -6.463945317857885e-01 -6.465312099893501e-01 -6.466661407794220e-01 - -6.467993305071421e-01 -6.469307857586633e-01 -6.470605124176557e-01 -6.471885165505020e-01 -6.473148048129491e-01 - -6.474393831451855e-01 -6.475622574433044e-01 -6.476834341411803e-01 -6.478029193005811e-01 -6.479207188186653e-01 - -6.480368387749067e-01 -6.481512852365653e-01 -6.482640642356557e-01 -6.483751817763184e-01 -6.484846438333333e-01 - -6.485924563559199e-01 -6.486986252696630e-01 -6.488031563964390e-01 -6.489060555062011e-01 -6.490073285956434e-01 - -6.491069816182633e-01 -6.492050203757027e-01 -6.493014505946639e-01 -6.493962779796888e-01 -6.494895082497514e-01 - -6.495811472172135e-01 -6.496712006463234e-01 -6.497596741452655e-01 -6.498465734697708e-01 -6.499319043537729e-01 - -6.500156722751166e-01 -6.500978828758883e-01 -6.501785418212779e-01 -6.502576544563589e-01 -6.503352264336196e-01 - -6.504112635780723e-01 -6.504857712206107e-01 -6.505587548117625e-01 -6.506302199692129e-01 -6.507001719669850e-01 - -6.507686161481057e-01 -6.508355580770583e-01 -6.509010033515999e-01 -6.509649573333303e-01 -6.510274250599254e-01 - -6.510884119408136e-01 -6.511479234691252e-01 -6.512059649357221e-01 -6.512625414820176e-01 -6.513176583196066e-01 - -6.513713209657690e-01 -6.514235346566493e-01 -6.514743044494572e-01 -6.515236355351222e-01 -6.515715331668240e-01 - -6.516180025498758e-01 -6.516630486086969e-01 -6.517066764698182e-01 -6.517488914696901e-01 -6.517896986474616e-01 - -6.518291029696229e-01 -6.518671094474887e-01 -6.519037232298822e-01 -6.519389493677847e-01 -6.519727927034696e-01 - -6.520052582102593e-01 -6.520363509344871e-01 -6.520660759114448e-01 -6.520944379877177e-01 -6.521214419863292e-01 - -6.521470929034477e-01 -6.521713955379932e-01 -6.521943546611896e-01 -6.522159753870301e-01 -6.522362625000242e-01 - -6.522552205660485e-01 -6.522728545508729e-01 -6.522891692872490e-01 -6.523041693781095e-01 -6.523178594474156e-01 - -6.523302443147758e-01 -6.523413289626511e-01 -6.523511179648659e-01 -6.523596158248584e-01 -6.523668271884714e-01 - -6.523727568212391e-01 -6.523774093997819e-01 -6.523807893579161e-01 -6.523829012952149e-01 -6.523837498990516e-01 - -6.523833397960367e-01 -6.523816754611410e-01 -6.523787613199525e-01 -6.523746019358498e-01 -6.523692018302728e-01 - -6.523625654555820e-01 -6.523546972248629e-01 -6.523456017173497e-01 -6.523352835702680e-01 -6.523237468711672e-01 - -6.523109959032295e-01 -6.522970353197415e-01 -6.522818693382445e-01 -6.522655022842732e-01 -6.522479388337681e-01 - -6.522291831409690e-01 -6.522092393163972e-01 -6.521881118419591e-01 -6.521658050464721e-01 -6.521423231008568e-01 - -6.521176700882644e-01 -6.520918504277817e-01 -6.520648685798258e-01 -6.520367284462982e-01 -6.520074341903623e-01 - -6.519769901852531e-01 -6.519454004576026e-01 -6.519126690272374e-01 -6.518788000417296e-01 -6.518437978790763e-01 - -6.518076667685843e-01 -6.517704106505043e-01 -6.517320333460206e-01 -6.516925389358605e-01 -6.516519318553129e-01 - -6.516102158220000e-01 -6.515673946405215e-01 -6.515234728464969e-01 -6.514784543315630e-01 -6.514323427842886e-01 - -6.513851423523833e-01 -6.513368570527661e-01 -6.512874907235414e-01 -6.512370470939771e-01 -6.511855301990920e-01 - -6.511329442190841e-01 -6.510792928715797e-01 -6.510245798816351e-01 -6.509688091361985e-01 -6.509119847142907e-01 - -6.508541103488035e-01 -6.507951894034477e-01 -6.507352259931611e-01 -6.506742241942834e-01 -6.506121876059120e-01 - -6.505491199228429e-01 -6.504850249436106e-01 -6.504199065016956e-01 -6.503537680222150e-01 -6.502866130342899e-01 - -6.502184457971011e-01 -6.501492700279957e-01 -6.500790890906794e-01 -6.500079066129352e-01 -6.499357263329657e-01 - -6.498625519683058e-01 -6.497883869826074e-01 -6.497132350047277e-01 -6.496370998048885e-01 -6.495599847614121e-01 - -6.494818934475555e-01 -6.494028297363450e-01 -6.493227969968260e-01 -6.492417985197620e-01 -6.491598378013752e-01 - -6.490769185970405e-01 -6.489930446200032e-01 -6.489082192796405e-01 -6.488224457999440e-01 -6.487357275334984e-01 - -6.486480682838258e-01 -6.485594713376021e-01 -6.484699398068251e-01 -6.483794774339799e-01 -6.482880877536140e-01 - -6.481957740532812e-01 -6.481025397024727e-01 -6.480083880017639e-01 -6.479133221889776e-01 -6.478173456351086e-01 - -6.477204618036257e-01 -6.476226741599570e-01 -6.475239858039916e-01 -6.474243999826228e-01 -6.473239202990485e-01 - -6.472225498463482e-01 -6.471202916312221e-01 -6.470171489638400e-01 -6.469131252405815e-01 -6.468082238277443e-01 - -6.467024479420175e-01 -6.465958006550642e-01 -6.464882850509053e-01 -6.463799044773618e-01 -6.462706620382276e-01 - -6.461605607272912e-01 -6.460496040101232e-01 -6.459377950690467e-01 -6.458251367734501e-01 -6.457116323868038e-01 - -6.455972850655802e-01 -6.454820977029684e-01 -6.453660732942879e-01 -6.452492150754419e-01 -6.451315264887545e-01 - -6.450130102914885e-01 -6.448936692680686e-01 -6.447735068128447e-01 -6.446525260129213e-01 -6.445307296530088e-01 - -6.444081203587793e-01 -6.442847014715996e-01 -6.441604765089356e-01 -6.440354480546840e-01 -6.439096188724848e-01 - -6.437829920095609e-01 -6.436555704731397e-01 -6.435273570693492e-01 -6.433983545533010e-01 -6.432685663163126e-01 - -6.431379953365300e-01 -6.430066439769492e-01 -6.428745153347271e-01 -6.427416124750638e-01 -6.426079380140648e-01 - -6.424734947555180e-01 -6.423382856273998e-01 -6.422023135830728e-01 -6.420655814260000e-01 -6.419280919255173e-01 - -6.417898479598759e-01 -6.416508523135933e-01 -6.415111076305331e-01 -6.413706163966455e-01 -6.412293816393564e-01 - -6.410874066048897e-01 -6.409446936267265e-01 -6.408012453136449e-01 -6.406570646910840e-01 -6.405121544270317e-01 - -6.403665170374713e-01 -6.402201550644944e-01 -6.400730715072882e-01 -6.399252691822962e-01 -6.397767504407681e-01 - -6.396275180930010e-01 -6.394775749890055e-01 -6.393269236107165e-01 -6.391755662191552e-01 -6.390235053902433e-01 - -6.388707445708105e-01 -6.387172861694177e-01 -6.385631322023312e-01 -6.384082857966726e-01 -6.382527494896121e-01 - -6.380965253642142e-01 -6.379396162401521e-01 -6.377820248167250e-01 -6.376237535602883e-01 -6.374648052204416e-01 - -6.373051823107587e-01 -6.371448870124290e-01 -6.369839218821269e-01 -6.368222895078627e-01 -6.366599923302766e-01 - -6.364970329561520e-01 -6.363334139746031e-01 -6.361691377885151e-01 -6.360042067688202e-01 -6.358386233547334e-01 - -6.356723901317635e-01 -6.355055093799952e-01 -6.353379833438523e-01 -6.351698147827204e-01 -6.350010061497325e-01 - -6.348315596278746e-01 -6.346614776297652e-01 -6.344907627044540e-01 -6.343194173354602e-01 -6.341474433478579e-01 - -6.339748431233465e-01 -6.338016197812808e-01 -6.336277753787244e-01 -6.334533118997744e-01 -6.332782318265875e-01 - -6.331025376588558e-01 -6.329262316544187e-01 -6.327493157114107e-01 -6.325717923863455e-01 -6.323936643403999e-01 - -6.322149336030685e-01 -6.320356024195775e-01 -6.318556731749607e-01 -6.316751480498738e-01 -6.314940290711796e-01 - -6.313123183267710e-01 -6.311300184615836e-01 -6.309471319109403e-01 -6.307636607640942e-01 -6.305796070902886e-01 - -6.303949730482692e-01 -6.302097608691579e-01 -6.300239725606558e-01 -6.298376103756032e-01 -6.296506769748604e-01 - -6.294631743864889e-01 -6.292751044804592e-01 -6.290864694027335e-01 -6.288972714311484e-01 -6.287075127245377e-01 - -6.285171950849623e-01 -6.283263208775478e-01 -6.281348926187029e-01 -6.279429120773061e-01 -6.277503812180564e-01 - -6.275573022752827e-01 -6.273636774541002e-01 -6.271695087389834e-01 -6.269747979757735e-01 -6.267795473573458e-01 - -6.265837591630624e-01 -6.263874355834504e-01 -6.261905784094625e-01 -6.259931895045528e-01 -6.257952710369122e-01 - -6.255968250363517e-01 -6.253978534898084e-01 -6.251983584520242e-01 -6.249983420853732e-01 -6.247978064572296e-01 - -6.245967533125147e-01 -6.243951846742302e-01 -6.241931026018996e-01 -6.239905086686763e-01 -6.237874050561640e-01 - -6.235837942608177e-01 -6.233796778475696e-01 -6.231750576026635e-01 -6.229699356978790e-01 -6.227643140512986e-01 - -6.225581944126894e-01 -6.223515785171654e-01 -6.221444686516174e-01 -6.219368669106876e-01 -6.217287748516653e-01 - -6.215201944179222e-01 -6.213111276341791e-01 -6.211015763012264e-01 -6.208915420627059e-01 -6.206810267189914e-01 - -6.204700325606027e-01 -6.202585614407183e-01 -6.200466150025669e-01 -6.198341952555039e-01 -6.196213039807257e-01 - -6.194079427661365e-01 -6.191941133919308e-01 -6.189798178811384e-01 -6.187650583625046e-01 -6.185498365366234e-01 - -6.183341539791172e-01 -6.181180123373080e-01 -6.179014136693182e-01 -6.176843597571294e-01 -6.174668518753883e-01 - -6.172488922358068e-01 -6.170304830078728e-01 -6.168116255085183e-01 -6.165923213940302e-01 -6.163725725542526e-01 - -6.161523808379610e-01 -6.159317477445455e-01 -6.157106747923912e-01 -6.154891641891720e-01 -6.152672177134336e-01 - -6.150448367622374e-01 -6.148220230127394e-01 -6.145987783325538e-01 -6.143751045698781e-01 -6.141510029326600e-01 - -6.139264750393221e-01 -6.137015231470567e-01 -6.134761489851926e-01 -6.132503540152313e-01 -6.130241396532106e-01 - -6.127975076851865e-01 -6.125704598048077e-01 -6.123429972989166e-01 -6.121151221351967e-01 -6.118868363314907e-01 - -6.116581411278224e-01 -6.114290380220153e-01 -6.111995287783158e-01 -6.109696151823703e-01 -6.107392985450728e-01 - -6.105085801024925e-01 -6.102774622058419e-01 -6.100459465922933e-01 -6.098140342484372e-01 -6.095817267256873e-01 - -6.093490257933440e-01 -6.091159331809802e-01 -6.088824500709522e-01 -6.086485779905337e-01 -6.084143191489354e-01 - -6.081796748129595e-01 -6.079446461968719e-01 -6.077092351925356e-01 -6.074734432434898e-01 -6.072372716150822e-01 - -6.070007218360295e-01 -6.067637956065657e-01 -6.065264946232775e-01 -6.062888203126375e-01 -6.060507740692458e-01 - -6.058123573561740e-01 -6.055735718185850e-01 -6.053344188005130e-01 -6.050948994718379e-01 -6.048550157592759e-01 - -6.046147693250087e-01 -6.043741612917217e-01 -6.041331930896253e-01 -6.038918662688606e-01 -6.036501823335466e-01 - -6.034081424814672e-01 -6.031657481058161e-01 -6.029230011393863e-01 -6.026799028730719e-01 -6.024364544399844e-01 - -6.021926574869638e-01 -6.019485136055120e-01 -6.017040241022006e-01 -6.014591897708976e-01 -6.012140122415236e-01 - -6.009684936432825e-01 -6.007226351565053e-01 -6.004764378633045e-01 -6.002299030368295e-01 -5.999830322604393e-01 - -5.997358269112610e-01 -5.994882881008079e-01 -5.992404174674395e-01 -5.989922165630734e-01 -5.987436865327392e-01 - -5.984948286273432e-01 -5.982456442781595e-01 -5.979961350600861e-01 -5.977463018616249e-01 -5.974961457245347e-01 - -5.972456688462123e-01 -5.969948725706038e-01 -5.967437577688297e-01 -5.964923259025159e-01 -5.962405782771161e-01 - -5.959885160038786e-01 -5.957361402849749e-01 -5.954834525607696e-01 -5.952304544228757e-01 -5.949771471628894e-01 - -5.947235319540697e-01 -5.944696099654433e-01 -5.942153825546195e-01 -5.939608509107162e-01 -5.937060159741117e-01 - -5.934508794411635e-01 -5.931954428951332e-01 -5.929397071302310e-01 -5.926836734445704e-01 -5.924273432987167e-01 - -5.921707177793331e-01 -5.919137978828047e-01 -5.916565847753502e-01 -5.913990801532651e-01 -5.911412853604616e-01 - -5.908832013941032e-01 -5.906248293335863e-01 -5.903661704565201e-01 -5.901072261246485e-01 -5.898479972855557e-01 - -5.895884850905705e-01 -5.893286910470348e-01 -5.890686164387193e-01 -5.888082623596927e-01 -5.885476297953414e-01 - -5.882867200485414e-01 -5.880255342895034e-01 -5.877640732646211e-01 -5.875023385228563e-01 -5.872403317009627e-01 - -5.869780535979796e-01 -5.867155052441069e-01 -5.864526878805291e-01 -5.861896026754034e-01 -5.859262506932092e-01 - -5.856626329801135e-01 -5.853987507817091e-01 -5.851346053972879e-01 -5.848701980701103e-01 -5.846055297559873e-01 - -5.843406014627009e-01 -5.840754143260567e-01 -5.838099692919883e-01 -5.835442675863415e-01 -5.832783108438364e-01 - -5.830120998737411e-01 -5.827456354637697e-01 -5.824789190313094e-01 -5.822119517157962e-01 -5.819447343999242e-01 - -5.816772678604962e-01 -5.814095534384316e-01 -5.811415926659900e-01 -5.808733865100626e-01 -5.806049358083534e-01 - -5.803362414940428e-01 -5.800673049021045e-01 -5.797981269727348e-01 -5.795287083747186e-01 -5.792590507223763e-01 - -5.789891553127540e-01 -5.787190227795775e-01 -5.784486540773595e-01 -5.781780503537821e-01 -5.779072127885909e-01 - -5.776361421027820e-01 -5.773648392415993e-01 -5.770933058481036e-01 -5.768215427543451e-01 -5.765495506173008e-01 - -5.762773307782053e-01 -5.760048843724456e-01 -5.757322122309633e-01 -5.754593149355522e-01 -5.751861936930261e-01 - -5.749128500443350e-01 -5.746392847733658e-01 -5.743654986749642e-01 -5.740914927526973e-01 -5.738172681170074e-01 - -5.735428256834612e-01 -5.732681661997935e-01 -5.729932909950833e-01 -5.727182011898047e-01 -5.724428973589288e-01 - -5.721673806475209e-01 -5.718916522032619e-01 -5.716157126986885e-01 -5.713395629769044e-01 -5.710632040862346e-01 - -5.707866372440725e-01 -5.705098634203313e-01 -5.702328834166335e-01 -5.699556980810941e-01 -5.696783084118523e-01 - -5.694007154024264e-01 -5.691229196446771e-01 -5.688449222662509e-01 -5.685667247951188e-01 -5.682883277592247e-01 - -5.680097317796297e-01 -5.677309379467054e-01 -5.674519473718960e-01 -5.671727608332666e-01 -5.668933787438524e-01 - -5.666138024324125e-01 -5.663340332775648e-01 -5.660540719736767e-01 -5.657739191147048e-01 -5.654935755198692e-01 - -5.652130424887296e-01 -5.649323205844615e-01 -5.646514102596061e-01 -5.643703131320561e-01 -5.640890302500955e-01 - -5.638075621229782e-01 -5.635259096013298e-01 -5.632440735413435e-01 -5.629620547371306e-01 -5.626798540413637e-01 - -5.623974724401825e-01 -5.621149109968532e-01 -5.618321704141040e-01 -5.615492514232792e-01 -5.612661549867731e-01 - -5.609828820346520e-01 -5.606994332802816e-01 -5.604158091721365e-01 -5.601320109850756e-01 -5.598480400285579e-01 - -5.595638966628304e-01 -5.592795815381203e-01 -5.589950956088516e-01 -5.587104398719418e-01 -5.584256150214867e-01 - -5.581406216413944e-01 -5.578554608147975e-01 -5.575701335442586e-01 -5.572846406020895e-01 -5.569989825973618e-01 - -5.567131602740183e-01 -5.564271745453506e-01 -5.561410260628522e-01 -5.558547156725416e-01 -5.555682445647333e-01 - -5.552816133007876e-01 -5.549948224318785e-01 -5.547078730025937e-01 -5.544207659049382e-01 -5.541335017868810e-01 - -5.538460810525171e-01 -5.535585047530838e-01 -5.532707741030544e-01 -5.529828895161875e-01 -5.526948516856666e-01 - -5.524066615722431e-01 -5.521183198617187e-01 -5.518298271294942e-01 -5.515411840216864e-01 -5.512523916981388e-01 - -5.509634510475757e-01 -5.506743625070015e-01 -5.503851268106821e-01 -5.500957448096843e-01 -5.498062173123895e-01 - -5.495165448046009e-01 -5.492267279674086e-01 -5.489367680360671e-01 -5.486466657159732e-01 -5.483564214808752e-01 - -5.480660360175322e-01 -5.477755101695411e-01 -5.474848446983241e-01 -5.471940399297857e-01 -5.469030967097296e-01 - -5.466120162347039e-01 -5.463207992130580e-01 -5.460294461220425e-01 -5.457379574365921e-01 -5.454463341419615e-01 - -5.451545769787555e-01 -5.448626863052353e-01 -5.445706629798505e-01 -5.442785079610155e-01 -5.439862220351145e-01 - -5.436938056623958e-01 -5.434012594168094e-01 -5.431085842649811e-01 -5.428157805859503e-01 -5.425228488112607e-01 - -5.422297902211034e-01 -5.419366056396356e-01 -5.416432955189590e-01 -5.413498603513526e-01 -5.410563008101139e-01 - -5.407626176406882e-01 -5.404688113584152e-01 -5.401748827259091e-01 -5.398808327262222e-01 -5.395866619984641e-01 - -5.392923710452394e-01 -5.389979603718316e-01 -5.387034307479797e-01 -5.384087828255361e-01 -5.381140170098579e-01 - -5.378191341794292e-01 -5.375241352697128e-01 -5.372290208939874e-01 -5.369337913756430e-01 -5.366384472427702e-01 - -5.363429897090184e-01 -5.360474189692397e-01 -5.357517350808286e-01 -5.354559397287709e-01 -5.351600336380363e-01 - -5.348640167550405e-01 -5.345678898586708e-01 -5.342716537895550e-01 -5.339753091509816e-01 -5.336788560795809e-01 - -5.333822952812678e-01 -5.330856281219807e-01 -5.327888549366336e-01 -5.324919760228772e-01 -5.321949921530423e-01 - -5.318979038948367e-01 -5.316007117591099e-01 -5.313034163655616e-01 -5.310060185016283e-01 -5.307085188690476e-01 - -5.304109178113635e-01 -5.301132159560333e-01 -5.298154141057816e-01 -5.295175129068631e-01 -5.292195125739295e-01 - -5.289214133220888e-01 -5.286232164928936e-01 -5.283249229043371e-01 -5.280265326905970e-01 -5.277280463629660e-01 - -5.274294646406563e-01 -5.271307882435877e-01 -5.268320172699235e-01 -5.265331522204252e-01 -5.262341943956992e-01 - -5.259351442515741e-01 -5.256360020246456e-01 -5.253367683007200e-01 -5.250374438802079e-01 -5.247380293156688e-01 - -5.244385244793137e-01 -5.241389303158239e-01 -5.238392481089597e-01 -5.235394779437145e-01 -5.232396201567239e-01 - -5.229396754457293e-01 -5.226396444439171e-01 -5.223395275325885e-01 -5.220393250130385e-01 -5.217390378529512e-01 - -5.214386667612969e-01 -5.211382119631184e-01 -5.208376739941909e-01 -5.205370535049869e-01 -5.202363510969753e-01 - -5.199355670763710e-01 -5.196347019022574e-01 -5.193337564915598e-01 -5.190327313042545e-01 -5.187316266472318e-01 - -5.184304431068453e-01 -5.181291813913007e-01 -5.178278420262173e-01 -5.175264249304404e-01 -5.172249309061349e-01 - -5.169233612064826e-01 -5.166217158673360e-01 -5.163199951550123e-01 -5.160181998004911e-01 -5.157163303784532e-01 - -5.154143871836301e-01 -5.151123703899823e-01 -5.148102810445049e-01 -5.145081200022412e-01 -5.142058873966443e-01 - -5.139035834879907e-01 -5.136012088439446e-01 -5.132987643470369e-01 -5.129962500176725e-01 -5.126936660139045e-01 - -5.123910137907831e-01 -5.120882937169244e-01 -5.117855056864241e-01 -5.114826505830118e-01 -5.111797289351894e-01 - -5.108767409175631e-01 -5.105736869791608e-01 -5.102705678009448e-01 -5.099673841164564e-01 -5.096641361609235e-01 - -5.093608243087677e-01 -5.090574492425100e-01 -5.087540114820200e-01 -5.084505112619658e-01 -5.081469486274651e-01 - -5.078433245912960e-01 -5.075396400795943e-01 -5.072358951124865e-01 -5.069320899536702e-01 -5.066282251477461e-01 - -5.063243014155288e-01 -5.060203189866231e-01 -5.057162780382299e-01 -5.054121795257869e-01 -5.051080240346536e-01 - -5.048038117428125e-01 -5.044995428560932e-01 -5.041952179946867e-01 -5.038908379779851e-01 -5.035864027540428e-01 - -5.032819126747086e-01 -5.029773687584369e-01 -5.026727713803431e-01 -5.023681207203433e-01 -5.020634170773620e-01 - -5.017586611304518e-01 -5.014538534087800e-01 -5.011489939472488e-01 -5.008440834008399e-01 -5.005391225202214e-01 - -5.002341114848970e-01 -4.999290507534227e-01 -4.996239408965545e-01 -4.993187821357916e-01 -4.990135746184980e-01 - -4.987083187010172e-01 -4.984030154770353e-01 -4.980976654859903e-01 -4.977922686591017e-01 -4.974868253646026e-01 - -4.971813362150598e-01 -4.968758018164073e-01 -4.965702219796178e-01 -4.962645970518764e-01 -4.959589283986423e-01 - -4.956532161259331e-01 -4.953474601672504e-01 -4.950416611894621e-01 -4.947358197709370e-01 -4.944299362131679e-01 - -4.941240104625670e-01 -4.938180432013966e-01 -4.935120353360559e-01 -4.932059869696777e-01 -4.928998983832586e-01 - -4.925937700937396e-01 -4.922876025288242e-01 -4.919813957951697e-01 -4.916751499430368e-01 -4.913688660561277e-01 - -4.910625447982750e-01 -4.907561860728009e-01 -4.904497902858990e-01 -4.901433579647613e-01 -4.898368894758774e-01 - -4.895303847877975e-01 -4.892238442443610e-01 -4.889172690570770e-01 -4.886106594399146e-01 -4.883040152916479e-01 - -4.879973371198497e-01 -4.876906255185612e-01 -4.873838808516193e-01 -4.870771028969680e-01 -4.867702923235035e-01 - -4.864634502410182e-01 -4.861565765237592e-01 -4.858496713307078e-01 -4.855427352755911e-01 -4.852357685536697e-01 - -4.849287714451036e-01 -4.846217444589359e-01 -4.843146879997467e-01 -4.840076025123002e-01 -4.837004885060202e-01 - -4.833933461066379e-01 -4.830861755003688e-01 -4.827789772517898e-01 -4.824717516127337e-01 -4.821644988235214e-01 - -4.818572195031119e-01 -4.815499140763169e-01 -4.812425828318353e-01 -4.809352261296052e-01 -4.806278443199989e-01 - -4.803204376463540e-01 -4.800130060714603e-01 -4.797055501717924e-01 -4.793980709573083e-01 -4.790905684347367e-01 - -4.787830426340720e-01 -4.784754939887473e-01 -4.781679231200341e-01 -4.778603302286951e-01 -4.775527150015833e-01 - -4.772450784284375e-01 -4.769374213667171e-01 -4.766297434623847e-01 -4.763220450397429e-01 -4.760143266869929e-01 - -4.757065886153464e-01 -4.753988310011543e-01 -4.750910541528841e-01 -4.747832586964973e-01 -4.744754450010169e-01 - -4.741676132522562e-01 -4.738597638648681e-01 -4.735518971269201e-01 -4.732440131603057e-01 -4.729361121339242e-01 - -4.726281945136708e-01 -4.723202610280838e-01 -4.720123119889466e-01 -4.717043475548789e-01 -4.713963678930571e-01 - -4.710883732580126e-01 -4.707803639362851e-01 -4.704723402372425e-01 -4.701643027667922e-01 -4.698562520096238e-01 - -4.695481878708884e-01 -4.692401107063794e-01 -4.689320210638210e-01 -4.686239190614940e-01 -4.683158048406638e-01 - -4.680076787162389e-01 -4.676995413185929e-01 -4.673913930202820e-01 -4.670832339045677e-01 -4.667750641928977e-01 - -4.664668842720264e-01 -4.661586945788764e-01 -4.658504950199774e-01 -4.655422858974875e-01 -4.652340682220931e-01 - -4.649258420178881e-01 -4.646176071935555e-01 -4.643093642460228e-01 -4.640011135361189e-01 -4.636928552533583e-01 - -4.633845894780055e-01 -4.630763167063440e-01 -4.627680375263447e-01 -4.624597520114774e-01 -4.621514604268375e-01 - -4.618431632080228e-01 -4.615348605890552e-01 -4.612265525685530e-01 -4.609182391698630e-01 -4.606099213200685e-01 - -4.603015994943055e-01 -4.599932734377760e-01 -4.596849434943749e-01 -4.593766101319814e-01 -4.590682736286037e-01 - -4.587599339472412e-01 -4.584515913122191e-01 -4.581432465762054e-01 -4.578348999443045e-01 -4.575265513883392e-01 - -4.572182012155285e-01 -4.569098498253546e-01 -4.566014974456956e-01 -4.562931438038699e-01 -4.559847894939479e-01 - -4.556764355440957e-01 -4.553680818446301e-01 -4.550597283221777e-01 -4.547513752454754e-01 -4.544430231318768e-01 - -4.541346721146189e-01 -4.538263219879204e-01 -4.535179736207505e-01 -4.532096276207381e-01 -4.529012837320638e-01 - -4.525929421989657e-01 -4.522846033793929e-01 -4.519762674029318e-01 -4.516679344715044e-01 -4.513596049388520e-01 - -4.510512793496801e-01 -4.507429578901284e-01 -4.504346405869434e-01 -4.501263277269192e-01 -4.498180196893253e-01 - -4.495097167463535e-01 -4.492014186979058e-01 -4.488931259139300e-01 -4.485848392328776e-01 -4.482765586745183e-01 - -4.479682843350483e-01 -4.476600166157323e-01 -4.473517555800268e-01 -4.470435013321629e-01 -4.467352542154915e-01 - -4.464270145748750e-01 -4.461187827567155e-01 -4.458105590951706e-01 -4.455023436689998e-01 -4.451941365719282e-01 - -4.448859382022067e-01 -4.445777486373541e-01 -4.442695679571050e-01 -4.439613968717006e-01 -4.436532356916815e-01 - -4.433450843880059e-01 -4.430369431657580e-01 -4.427288122616561e-01 -4.424206918620519e-01 -4.421125820372482e-01 - -4.418044832064567e-01 -4.414963960811867e-01 -4.411883204960218e-01 -4.408802564087612e-01 -4.405722043668788e-01 - -4.402641646390490e-01 -4.399561373068210e-01 -4.396481224088197e-01 -4.393401203468038e-01 -4.390321316119934e-01 - -4.387241564347777e-01 -4.384161947343386e-01 -4.381082465266398e-01 -4.378003125430411e-01 -4.374923928277115e-01 - -4.371844871230922e-01 -4.368765963346815e-01 -4.365687207997857e-01 -4.362608601883623e-01 -4.359530147661063e-01 - -4.356451849773876e-01 -4.353373711547212e-01 -4.350295729831375e-01 -4.347217906709347e-01 -4.344140253247259e-01 - -4.341062767701542e-01 -4.337985447574569e-01 -4.334908298973194e-01 -4.331831324142745e-01 -4.328754522838512e-01 - -4.325677895304312e-01 -4.322601446380396e-01 -4.319525182069930e-01 -4.316449103351276e-01 -4.313373209430619e-01 - -4.310297500384340e-01 -4.307221981580691e-01 -4.304146654764764e-01 -4.301071518609876e-01 -4.297996578556980e-01 - -4.294921838432407e-01 -4.291847298181669e-01 -4.288772959356691e-01 -4.285698824691314e-01 -4.282624896947286e-01 - -4.279551173581843e-01 -4.276477655542056e-01 -4.273404353166645e-01 -4.270331268873108e-01 -4.267258400671970e-01 - -4.264185747737768e-01 -4.261113314513503e-01 -4.258041105111009e-01 -4.254969114260224e-01 -4.251897346526543e-01 - -4.248825811839114e-01 -4.245754507348872e-01 -4.242683433304872e-01 -4.239612594489042e-01 -4.236541990429175e-01 - -4.233471621233121e-01 -4.230401489624036e-01 -4.227331599159186e-01 -4.224261953202194e-01 -4.221192554076946e-01 - -4.218123401221037e-01 -4.215054495276057e-01 -4.211985840665567e-01 -4.208917437341202e-01 -4.205849285470991e-01 - -4.202781391077526e-01 -4.199713756820169e-01 -4.196646382796324e-01 -4.193579269625680e-01 -4.190512419898234e-01 - -4.187445835885104e-01 -4.184379514023820e-01 -4.181313458657921e-01 -4.178247679943504e-01 -4.175182174706034e-01 - -4.172116941638125e-01 -4.169051985589959e-01 -4.165987308801878e-01 -4.162922910262470e-01 -4.159858787333477e-01 - -4.156794948456864e-01 -4.153731400237493e-01 -4.150668138055245e-01 -4.147605162480433e-01 -4.144542477033889e-01 - -4.141480084083939e-01 -4.138417983331389e-01 -4.135356175072968e-01 -4.132294665425894e-01 -4.129233456523720e-01 - -4.126172547353913e-01 -4.123111939769975e-01 -4.120051637027982e-01 -4.116991641480549e-01 -4.113931948631621e-01 - -4.110872561089984e-01 -4.107813489720965e-01 -4.104754732505308e-01 -4.101696286974395e-01 -4.098638156566466e-01 - -4.095580344057681e-01 -4.092522850492459e-01 -4.089465675148873e-01 -4.086408821301867e-01 -4.083352292811099e-01 - -4.080296090087697e-01 -4.077240214925531e-01 -4.074184669621912e-01 -4.071129454474836e-01 -4.068074568206541e-01 - -4.065020011172992e-01 -4.061965792344674e-01 -4.058911914234347e-01 -4.055858372701102e-01 -4.052805169731385e-01 - -4.049752308691225e-01 -4.046699791746853e-01 -4.043647616984872e-01 -4.040595785275335e-01 -4.037544302850327e-01 - -4.034493171430220e-01 -4.031442391412985e-01 -4.028391964411297e-01 -4.025341890399178e-01 -4.022292169515432e-01 - -4.019242804318620e-01 -4.016193797575413e-01 -4.013145151618574e-01 -4.010096867767989e-01 -4.007048946739946e-01 - -4.004001389575452e-01 -4.000954199442892e-01 -3.997907376333255e-01 -3.994860918450180e-01 -3.991814831388100e-01 - -3.988769118682245e-01 -3.985723779299208e-01 -3.982678813725196e-01 -3.979634224118638e-01 -3.976590013430957e-01 - -3.973546179557737e-01 -3.970502723184750e-01 -3.967459652757308e-01 -3.964416967373386e-01 -3.961374664325438e-01 - -3.958332748416728e-01 -3.955291221412219e-01 -3.952250082276700e-01 -3.949209329883424e-01 -3.946168969005399e-01 - -3.943129006192436e-01 -3.940089438207542e-01 -3.937050264421336e-01 -3.934011488327164e-01 -3.930973111392007e-01 - -3.927935133510078e-01 -3.924897554398895e-01 -3.921860379028622e-01 -3.918823611410527e-01 -3.915787251272155e-01 - -3.912751296302741e-01 -3.909715747221262e-01 -3.906680610479274e-01 -3.903645884467465e-01 -3.900611567141484e-01 - -3.897577665105899e-01 -3.894544180732338e-01 -3.891511112918067e-01 -3.888478460867855e-01 -3.885446227676595e-01 - -3.882414417069796e-01 -3.879383024897914e-01 -3.876352053351357e-01 -3.873321510269954e-01 -3.870291394376005e-01 - -3.867261704550462e-01 -3.864232442776043e-01 -3.861203610538394e-01 -3.858175208256477e-01 -3.855147235659399e-01 - -3.852119696012977e-01 -3.849092593053318e-01 -3.846065928280623e-01 -3.843039700003283e-01 -3.840013907871894e-01 - -3.836988557264463e-01 -3.833963646642737e-01 -3.830939173673272e-01 -3.827915146861536e-01 -3.824891567344230e-01 - -3.821868431312930e-01 -3.818845742897094e-01 -3.815823505036508e-01 -3.812801717050347e-01 -3.809780375081945e-01 - -3.806759481537249e-01 -3.803739045452896e-01 -3.800719066553854e-01 -3.797699542729503e-01 -3.794680474344709e-01 - -3.791661864151066e-01 -3.788643713579414e-01 -3.785626020610045e-01 -3.782608787892401e-01 -3.779592019649877e-01 - -3.776575717504184e-01 -3.773559879986245e-01 -3.770544506277551e-01 -3.767529601718599e-01 -3.764515165488658e-01 - -3.761501194541416e-01 -3.758487697291592e-01 -3.755474675286999e-01 -3.752462123142175e-01 -3.749450044400430e-01 - -3.746438442933219e-01 -3.743427319385532e-01 -3.740416670860849e-01 -3.737406497610264e-01 -3.734396805632812e-01 - -3.731387597991040e-01 -3.728378873981389e-01 -3.725370629746288e-01 -3.722362869751284e-01 -3.719355598195744e-01 - -3.716348809475082e-01 -3.713342505611615e-01 -3.710336692885385e-01 -3.707331373206220e-01 -3.704326544188714e-01 - -3.701322203470578e-01 -3.698318357923215e-01 -3.695315007664240e-01 -3.692312147431765e-01 -3.689309784821330e-01 - -3.686307923312130e-01 -3.683306558583173e-01 -3.680305692832940e-01 -3.677305328772401e-01 -3.674305466155561e-01 - -3.671306102835627e-01 -3.668307239979260e-01 -3.665308885123383e-01 -3.662311039528895e-01 -3.659313700864294e-01 - -3.656316867340536e-01 -3.653320542170925e-01 -3.650324728818179e-01 -3.647329423252613e-01 -3.644334627823841e-01 - -3.641340348652060e-01 -3.638346584224414e-01 -3.635353333854674e-01 -3.632360599381753e-01 -3.629368383087880e-01 - -3.626376683911322e-01 -3.623385498640058e-01 -3.620394834143431e-01 -3.617404694429358e-01 -3.614415075289109e-01 - -3.611425978472304e-01 -3.608437406892576e-01 -3.605449360396625e-01 -3.602461837170217e-01 -3.599474837636126e-01 - -3.596488368123176e-01 -3.593502429497555e-01 -3.590517019950174e-01 -3.587532141258951e-01 -3.584547794364419e-01 - -3.581563978967544e-01 -3.578580694598877e-01 -3.575597943932133e-01 -3.572615731273898e-01 -3.569634054963255e-01 - -3.566652915450074e-01 -3.563672316398869e-01 -3.560692255181004e-01 -3.557712730433470e-01 -3.554733745722332e-01 - -3.551755304325120e-01 -3.548777407381354e-01 -3.545800053200450e-01 -3.542823243820459e-01 -3.539846981602633e-01 - -3.536871265064687e-01 -3.533896092936707e-01 -3.530921466577667e-01 -3.527947392696623e-01 -3.524973870763591e-01 - -3.522000896417020e-01 -3.519028473926252e-01 -3.516056606257513e-01 -3.513085292624320e-01 -3.510114529438408e-01 - -3.507144318797571e-01 -3.504174668509267e-01 -3.501205576763053e-01 -3.498237041407538e-01 -3.495269064579332e-01 - -3.492301648012658e-01 -3.489334792023763e-01 -3.486368495320163e-01 -3.483402759532310e-01 -3.480437587608516e-01 - -3.477472981563033e-01 -3.474508940116457e-01 -3.471545462266357e-01 -3.468582552838557e-01 -3.465620210594309e-01 - -3.462658431862374e-01 -3.459697223261950e-01 -3.456736587298253e-01 -3.453776521244075e-01 -3.450817025977070e-01 - -3.447858103250944e-01 -3.444899754033867e-01 -3.441941976114102e-01 -3.438984770490408e-01 -3.436028143288083e-01 - -3.433072093931014e-01 -3.430116620696204e-01 -3.427161725111446e-01 -3.424207408695913e-01 -3.421253671506906e-01 - -3.418300511322294e-01 -3.415347931565998e-01 -3.412395936962896e-01 -3.409444525560181e-01 -3.406493696743920e-01 - -3.403543451949735e-01 -3.400593792856730e-01 -3.397644718554241e-01 -3.394696227303268e-01 -3.391748324448361e-01 - -3.388801012525273e-01 -3.385854289098167e-01 -3.382908154719833e-01 -3.379962610967925e-01 -3.377017658856785e-01 - -3.374073296405456e-01 -3.371129523992028e-01 -3.368186347618567e-01 -3.365243767275647e-01 -3.362301780997549e-01 - -3.359360390044588e-01 -3.356419595939377e-01 -3.353479398983790e-01 -3.350539796822969e-01 -3.347600792157354e-01 - -3.344662390001809e-01 -3.341724588683134e-01 -3.338787387386647e-01 -3.335850787505256e-01 -3.332914790393797e-01 - -3.329979395469141e-01 -3.327044601082655e-01 -3.324110411740308e-01 -3.321176830325031e-01 -3.318243854727410e-01 - -3.315311485033696e-01 -3.312379722613320e-01 -3.309448568815591e-01 -3.306518021855764e-01 -3.303588081394571e-01 - -3.300658753265905e-01 -3.297730038003383e-01 -3.294801933460689e-01 -3.291874440822869e-01 -3.288947561448500e-01 - -3.286021295596533e-01 -3.283095641084477e-01 -3.280170600152969e-01 -3.277246178092963e-01 -3.274322373144385e-01 - -3.271399184133136e-01 -3.268476612759387e-01 -3.265554660369243e-01 -3.262633326374516e-01 -3.259712608638953e-01 - -3.256792511518811e-01 -3.253873038511834e-01 -3.250954187049387e-01 -3.248035957166725e-01 -3.245118350464998e-01 - -3.242201368055027e-01 -3.239285008232202e-01 -3.236369270127419e-01 -3.233454159517716e-01 -3.230539677655248e-01 - -3.227625822208953e-01 -3.224712593689608e-01 -3.221799993547627e-01 -3.218888022707884e-01 -3.215976678728723e-01 - -3.213065962862219e-01 -3.210155880538063e-01 -3.207246430922022e-01 -3.204337612603162e-01 -3.201429426545060e-01 - -3.198521874188910e-01 -3.195614955407240e-01 -3.192708667833873e-01 -3.189803015317205e-01 -3.186898001852494e-01 - -3.183993624745159e-01 -3.181089883645859e-01 -3.178186780215274e-01 -3.175284315788672e-01 -3.172382488912609e-01 - -3.169481298117736e-01 -3.166580748847834e-01 -3.163680842820584e-01 -3.160781577505636e-01 -3.157882953403168e-01 - -3.154984971942622e-01 -3.152087634033934e-01 -3.149190937439705e-01 -3.146294882798918e-01 -3.143399475483734e-01 - -3.140504715109739e-01 -3.137610600081304e-01 -3.134717131245625e-01 -3.131824310053718e-01 -3.128932136614712e-01 - -3.126040608259110e-01 -3.123149728003283e-01 -3.120259500284038e-01 -3.117369923103007e-01 -3.114480995811182e-01 - -3.111592719695180e-01 -3.108705096041851e-01 -3.105818123704323e-01 -3.102931800853200e-01 -3.100046132424714e-01 - -3.097161120700553e-01 -3.094276763275429e-01 -3.091393060498078e-01 -3.088510013669117e-01 -3.085627623567511e-01 - -3.082745888090075e-01 -3.079864807413559e-01 -3.076984387104112e-01 -3.074104627037881e-01 -3.071225525229602e-01 - -3.068347082674415e-01 -3.065469300647063e-01 -3.062592179233167e-01 -3.059715715883658e-01 -3.056839913222955e-01 - -3.053964776128304e-01 -3.051090302429263e-01 -3.048216491115613e-01 -3.045343343664140e-01 -3.042470861256498e-01 - -3.039599042912569e-01 -3.036727886539801e-01 -3.033857396783212e-01 -3.030987576532087e-01 -3.028118423290159e-01 - -3.025249936916685e-01 -3.022382118572411e-01 -3.019514969324824e-01 -3.016648487319269e-01 -3.013782672163520e-01 - -3.010917529380510e-01 -3.008053059332530e-01 -3.005189259718208e-01 -3.002326131255288e-01 -2.999463675243501e-01 - -2.996601892115071e-01 -2.993740779431134e-01 -2.990880338991673e-01 -2.988020575697556e-01 -2.985161488129333e-01 - -2.982303074956766e-01 -2.979445337070337e-01 -2.976588275957710e-01 -2.973731891105994e-01 -2.970876179949718e-01 - -2.968021146693378e-01 -2.965166794729635e-01 -2.962313121299224e-01 -2.959460126205053e-01 -2.956607810824475e-01 - -2.953756176130727e-01 -2.950905220348498e-01 -2.948054942542040e-01 -2.945205348259674e-01 -2.942356438398593e-01 - -2.939508210351428e-01 -2.936660664737455e-01 -2.933813802767271e-01 -2.930967624892026e-01 -2.928122128931882e-01 - -2.925277316158055e-01 -2.922433191494531e-01 -2.919589753765323e-01 -2.916747001400424e-01 -2.913904935350139e-01 - -2.911063557118664e-01 -2.908222866434848e-01 -2.905382860439090e-01 -2.902543542778646e-01 -2.899704917370004e-01 - -2.896866981425306e-01 -2.894029734511842e-01 -2.891193178139609e-01 -2.888357313345801e-01 -2.885522138545054e-01 - -2.882687652243500e-01 -2.879853859636904e-01 -2.877020762131379e-01 -2.874188357014512e-01 -2.871356645025479e-01 - -2.868525627422169e-01 -2.865695304469716e-01 -2.862865673963798e-01 -2.860036736642309e-01 -2.857208497673618e-01 - -2.854380956360413e-01 -2.851554110854154e-01 -2.848727961880673e-01 -2.845902510831507e-01 -2.843077757793696e-01 - -2.840253700094237e-01 -2.837430340397069e-01 -2.834607682748240e-01 -2.831785725328111e-01 -2.828964467316310e-01 - -2.826143909542473e-01 -2.823324053101364e-01 -2.820504896922502e-01 -2.817686439371250e-01 -2.814868685136343e-01 - -2.812051636152371e-01 -2.809235289745332e-01 -2.806419646055033e-01 -2.803604706362606e-01 -2.800790471610514e-01 - -2.797976939416736e-01 -2.795164109639519e-01 -2.792351987736799e-01 -2.789540573481899e-01 -2.786729864814172e-01 - -2.783919862645312e-01 -2.781110567914744e-01 -2.778301980476193e-01 -2.775494098202491e-01 -2.772686923282846e-01 - -2.769880459823117e-01 -2.767074706347814e-01 -2.764269661749121e-01 -2.761465326612197e-01 -2.758661702373058e-01 - -2.755858788282252e-01 -2.753056582075042e-01 -2.750255088041456e-01 -2.747454308713073e-01 -2.744654241403574e-01 - -2.741854886058927e-01 -2.739056243892176e-01 -2.736258315782464e-01 -2.733461099674180e-01 -2.730664595012521e-01 - -2.727868807168794e-01 -2.725073736368404e-01 -2.722279380246611e-01 -2.719485739535283e-01 -2.716692815376729e-01 - -2.713900607905190e-01 -2.711109114418696e-01 -2.708318336740216e-01 -2.705528279896257e-01 -2.702738942089605e-01 - -2.699950321750810e-01 -2.697162419812612e-01 -2.694375237750356e-01 -2.691588774953904e-01 -2.688803028674867e-01 - -2.686018002777490e-01 -2.683233700490228e-01 -2.680450119322323e-01 -2.677667258920440e-01 -2.674885120321642e-01 - -2.672103704327183e-01 -2.669323009240009e-01 -2.666543034142266e-01 -2.663763784024609e-01 -2.660985259744725e-01 - -2.658207458961011e-01 -2.655430381891060e-01 -2.652654029648259e-01 -2.649878402880381e-01 -2.647103499069445e-01 - -2.644329319184849e-01 -2.641555868035665e-01 -2.638783144422805e-01 -2.636011146840161e-01 -2.633239876271375e-01 - -2.630469333706403e-01 -2.627699518665801e-01 -2.624930428881614e-01 -2.622162067361601e-01 -2.619394437425979e-01 - -2.616627537197243e-01 -2.613861365959049e-01 -2.611095924398818e-01 -2.608331213683194e-01 -2.605567232565551e-01 - -2.602803979638560e-01 -2.600041459185203e-01 -2.597279672559259e-01 -2.594518617711524e-01 -2.591758294668244e-01 - -2.588998704444723e-01 -2.586239847880919e-01 -2.583481722507706e-01 -2.580724328621725e-01 -2.577967671126083e-01 - -2.575211749406902e-01 -2.572456561780725e-01 -2.569702108956164e-01 -2.566948391959332e-01 -2.564195410517088e-01 - -2.561443162003717e-01 -2.558691649278121e-01 -2.555940876367002e-01 -2.553190840839927e-01 -2.550441541814838e-01 - -2.547692980445108e-01 -2.544945157803290e-01 -2.542198072584164e-01 -2.539451722830000e-01 -2.536706112997469e-01 - -2.533961245035316e-01 -2.531217116489478e-01 -2.528473727232912e-01 -2.525731078267265e-01 -2.522989170513077e-01 - -2.520248001810547e-01 -2.517507572028029e-01 -2.514767886096237e-01 -2.512028943623831e-01 -2.509290742545349e-01 - -2.506553283625735e-01 -2.503816568034038e-01 -2.501080595782905e-01 -2.498345364108095e-01 -2.495610875124447e-01 - -2.492877133133172e-01 -2.490144136112123e-01 -2.487411882994743e-01 -2.484680374856057e-01 -2.481949612635986e-01 - -2.479219595287280e-01 -2.476490320734136e-01 -2.473761793087864e-01 -2.471034014703498e-01 -2.468306982957061e-01 - -2.465580697844871e-01 -2.462855160432138e-01 -2.460130371204629e-01 -2.457406328233614e-01 -2.454683031113906e-01 - -2.451960484794311e-01 -2.449238689415910e-01 -2.446517642712055e-01 -2.443797345227543e-01 -2.441077797933181e-01 - -2.438359000947776e-01 -2.435640951889690e-01 -2.432923652315951e-01 -2.430207106571287e-01 -2.427491313175689e-01 - -2.424776270783986e-01 -2.422061980074125e-01 -2.419348442072336e-01 -2.416635656192684e-01 -2.413923620306189e-01 - -2.411212337762792e-01 -2.408501811283544e-01 -2.405792038734625e-01 -2.403083019688687e-01 -2.400374754936993e-01 - -2.397667245256450e-01 -2.394960488977194e-01 -2.392254485194238e-01 -2.389549238762380e-01 -2.386844750244205e-01 - -2.384141017100180e-01 -2.381438039886236e-01 -2.378735819631148e-01 -2.376034356560101e-01 -2.373333648418426e-01 - -2.370633696160408e-01 -2.367934504134751e-01 -2.365236071336530e-01 -2.362538396334552e-01 -2.359841479713349e-01 - -2.357145322333765e-01 -2.354449923780104e-01 -2.351755281955192e-01 -2.349061399838227e-01 -2.346368280467886e-01 - -2.343675921502802e-01 -2.340984322401892e-01 -2.338293484224673e-01 -2.335603407944267e-01 -2.332914091991481e-01 - -2.330225534791031e-01 -2.327537740958542e-01 -2.324850711724544e-01 -2.322164444575208e-01 -2.319478939696494e-01 - -2.316794198107119e-01 -2.314110220364787e-01 -2.311427004172850e-01 -2.308744549913938e-01 -2.306062862221652e-01 - -2.303381940399467e-01 -2.300701782673901e-01 -2.298022389505013e-01 -2.295343762055658e-01 -2.292665900251787e-01 - -2.289988801367178e-01 -2.287312467963517e-01 -2.284636903804389e-01 -2.281962106639611e-01 -2.279288075702767e-01 - -2.276614812041137e-01 -2.273942316314865e-01 -2.271270587234099e-01 -2.268599623216859e-01 -2.265929428586625e-01 - -2.263260004971463e-01 -2.260591349680134e-01 -2.257923462859340e-01 -2.255256345570404e-01 -2.252589998316905e-01 - -2.249924418873443e-01 -2.247259607239798e-01 -2.244595568451081e-01 -2.241932301870257e-01 -2.239269805236896e-01 - -2.236608079513920e-01 -2.233947125724077e-01 -2.231286943677930e-01 -2.228627530899186e-01 -2.225968889349937e-01 - -2.223311022938890e-01 -2.220653929888047e-01 -2.217997609137618e-01 -2.215342061492806e-01 -2.212687287997047e-01 - -2.210033287645195e-01 -2.207380058226258e-01 -2.204727603658667e-01 -2.202075926188733e-01 -2.199425023254976e-01 - -2.196774894791217e-01 -2.194125541827232e-01 -2.191476964953657e-01 -2.188829162198361e-01 -2.186182133017065e-01 - -2.183535882155842e-01 -2.180890409721393e-01 -2.178245713492862e-01 -2.175601793915103e-01 -2.172958651996608e-01 - -2.170316287941991e-01 -2.167674699222372e-01 -2.165033887351043e-01 -2.162393856655618e-01 -2.159754605317784e-01 - -2.157116131976179e-01 -2.154478437626437e-01 -2.151841523053365e-01 -2.149205387568082e-01 -2.146570029331132e-01 - -2.143935451423346e-01 -2.141301656253313e-01 -2.138668641770334e-01 -2.136036407648879e-01 -2.133404954698548e-01 - -2.130774283590253e-01 -2.128144392711416e-01 -2.125515281171839e-01 -2.122886953403734e-01 -2.120259409959825e-01 - -2.117632648531722e-01 -2.115006669388265e-01 -2.112381473557379e-01 -2.109757061544524e-01 -2.107133431005909e-01 - -2.104510582708100e-01 -2.101888520817322e-01 -2.099267244352251e-01 -2.096646751892664e-01 -2.094027043922436e-01 - -2.091408121382980e-01 -2.088789983898283e-01 -2.086172629233026e-01 -2.083556060294393e-01 -2.080940280081475e-01 - -2.078325286261216e-01 -2.075711078316715e-01 -2.073097657230958e-01 -2.070485023681648e-01 -2.067873176254528e-01 - -2.065262113703670e-01 -2.062651840261599e-01 -2.060042356935543e-01 -2.057433661320316e-01 -2.054825753736384e-01 - -2.052218635119340e-01 -2.049612305777034e-01 -2.047006763593381e-01 -2.044402009029163e-01 -2.041798046444743e-01 - -2.039194875091236e-01 -2.036592493288050e-01 -2.033990901597007e-01 -2.031390101041152e-01 -2.028790091364410e-01 - -2.026190869860804e-01 -2.023592439213894e-01 -2.020994803209571e-01 -2.018397959336108e-01 -2.015801906636277e-01 - -2.013206646163115e-01 -2.010612178968381e-01 -2.008018503846473e-01 -2.005425618909167e-01 -2.002833527994660e-01 - -2.000242232866459e-01 -1.997651731545872e-01 -1.995062023757428e-01 -1.992473110134654e-01 -1.989884991329442e-01 - -1.987297665552775e-01 -1.984711132804359e-01 -1.982125397288479e-01 -1.979540458641874e-01 -1.976956315048893e-01 - -1.974372966986851e-01 -1.971790415364275e-01 -1.969208660181268e-01 -1.966627699138122e-01 -1.964047534115951e-01 - -1.961468168792641e-01 -1.958889601415059e-01 -1.956311830976701e-01 -1.953734858227050e-01 -1.951158683885618e-01 - -1.948583307060198e-01 -1.946008726082255e-01 -1.943434944554087e-01 -1.940861964418109e-01 -1.938289783248288e-01 - -1.935718400929853e-01 -1.933147818435645e-01 -1.930578036445209e-01 -1.928009053047615e-01 -1.925440867668252e-01 - -1.922873484836986e-01 -1.920306904586313e-01 -1.917741124759950e-01 -1.915176145882685e-01 -1.912611968971867e-01 - -1.910048594156118e-01 -1.907486018758652e-01 -1.904924244300230e-01 -1.902363275204000e-01 -1.899803109613821e-01 - -1.897243746214878e-01 -1.894685186111405e-01 -1.892127429944364e-01 -1.889570476814606e-01 -1.887014324762902e-01 - -1.884458977092228e-01 -1.881904436322386e-01 -1.879350700181010e-01 -1.876797768445363e-01 -1.874245641980662e-01 - -1.871694321106837e-01 -1.869143804464632e-01 -1.866594091449939e-01 -1.864045185802509e-01 -1.861497088150435e-01 - -1.858949796742653e-01 -1.856403311585743e-01 -1.853857633524328e-01 -1.851312763093270e-01 -1.848768697910832e-01 - -1.846225438828809e-01 -1.843682990131126e-01 -1.841141350478542e-01 -1.838600518410295e-01 -1.836060494900988e-01 - -1.833521280737523e-01 -1.830982875326949e-01 -1.828445276569093e-01 -1.825908487213151e-01 -1.823372510073639e-01 - -1.820837342990139e-01 -1.818302985608840e-01 -1.815769438919524e-01 -1.813236703339543e-01 -1.810704777470943e-01 - -1.808173660274447e-01 -1.805643355946649e-01 -1.803113865319381e-01 -1.800585185867421e-01 -1.798057318207557e-01 - -1.795530263298101e-01 -1.793004021140676e-01 -1.790478589821669e-01 -1.787953969871552e-01 -1.785430165333783e-01 - -1.782907175616041e-01 -1.780384999147782e-01 -1.777863636186671e-01 -1.775343087850783e-01 -1.772823354138563e-01 - -1.770304432439544e-01 -1.767786324996124e-01 -1.765269035206169e-01 -1.762752561209628e-01 -1.760236902365481e-01 - -1.757722059508868e-01 -1.755208033072168e-01 -1.752694821962465e-01 -1.750182424985018e-01 -1.747670845873172e-01 - -1.745160085943736e-01 -1.742650142826787e-01 -1.740141016708582e-01 -1.737632708599284e-01 -1.735125219002990e-01 - -1.732618545819516e-01 -1.730112688968157e-01 -1.727607652962038e-01 -1.725103437360838e-01 -1.722600040199003e-01 - -1.720097462053399e-01 -1.717595703957765e-01 -1.715094765937824e-01 -1.712594645505801e-01 -1.710095344617568e-01 - -1.707596867053610e-01 -1.705099210652020e-01 -1.702602374503936e-01 -1.700106359820640e-01 -1.697611167032507e-01 - -1.695116795170456e-01 -1.692623242857098e-01 -1.690130513415946e-01 -1.687638608735592e-01 -1.685147526839133e-01 - -1.682657267304136e-01 -1.680167830834059e-01 -1.677679218434041e-01 -1.675191428301483e-01 -1.672704459776749e-01 - -1.670218317162355e-01 -1.667733000505553e-01 -1.665248507843929e-01 -1.662764839848620e-01 -1.660281997331086e-01 - -1.657799980211539e-01 -1.655318786421316e-01 -1.652838417439954e-01 -1.650358877061586e-01 -1.647880163635810e-01 - -1.645402275978841e-01 -1.642925215033296e-01 -1.640448981629310e-01 -1.637973575048030e-01 -1.635498993322754e-01 - -1.633025239587731e-01 -1.630552316214122e-01 -1.628080220971913e-01 -1.625608953706327e-01 -1.623138515347123e-01 - -1.620668906280902e-01 -1.618200125176413e-01 -1.615732171440627e-01 -1.613265048790783e-01 -1.610798757703294e-01 - -1.608333296326273e-01 -1.605868664946396e-01 -1.603404864451659e-01 -1.600941895233320e-01 -1.598479755194739e-01 - -1.596018445089071e-01 -1.593557968710357e-01 -1.591098325274174e-01 -1.588639513462271e-01 -1.586181533501567e-01 - -1.583724386633118e-01 -1.581268072684121e-01 -1.578812589110151e-01 -1.576357938605635e-01 -1.573904124176000e-01 - -1.571451143885420e-01 -1.568998997115455e-01 -1.566547684551118e-01 -1.564097207009810e-01 -1.561647563377750e-01 - -1.559198752534892e-01 -1.556750777971572e-01 -1.554303640753041e-01 -1.551857339241298e-01 -1.549411873472499e-01 - -1.546967244117141e-01 -1.544523451583313e-01 -1.542080493972972e-01 -1.539638371771692e-01 -1.537197089019022e-01 - -1.534756644902717e-01 -1.532317037874507e-01 -1.529878268669247e-01 -1.527440338285302e-01 -1.525003246495042e-01 - -1.522566990917994e-01 -1.520131573865194e-01 -1.517696998607227e-01 -1.515263263105132e-01 -1.512830366842278e-01 - -1.510398310896279e-01 -1.507967095609423e-01 -1.505536719818633e-01 -1.503107182379510e-01 -1.500678487166025e-01 - -1.498250635429138e-01 -1.495823624607518e-01 -1.493397455183047e-01 -1.490972128240516e-01 -1.488547643939502e-01 - -1.486124000468938e-01 -1.483701197975273e-01 -1.481279240643807e-01 -1.478858128086334e-01 -1.476437858541442e-01 - -1.474018432575297e-01 -1.471599850901578e-01 -1.469182113447434e-01 -1.466765218581870e-01 -1.464349167991909e-01 - -1.461933964691583e-01 -1.459519607332137e-01 -1.457106095126376e-01 -1.454693428712828e-01 -1.452281609001614e-01 - -1.449870635167667e-01 -1.447460505411944e-01 -1.445051223204885e-01 -1.442642790465533e-01 -1.440235204958664e-01 - -1.437828466645076e-01 -1.435422576460715e-01 -1.433017535021517e-01 -1.430613340788666e-01 -1.428209993367665e-01 - -1.425807496580667e-01 -1.423405850452980e-01 -1.421005053276286e-01 -1.418605105748216e-01 -1.416206008760722e-01 - -1.413807762310167e-01 -1.411410364179444e-01 -1.409013815814383e-01 -1.406618121114770e-01 -1.404223278620860e-01 - -1.401829287142080e-01 -1.399436147388266e-01 -1.397043860171121e-01 -1.394652424999606e-01 -1.392261840277533e-01 - -1.389872108800275e-01 -1.387483232704581e-01 -1.385095210193419e-01 -1.382708041155041e-01 -1.380321726381191e-01 - -1.377936266235328e-01 -1.375551659356028e-01 -1.373167905196480e-01 -1.370785007699294e-01 -1.368402967462084e-01 - -1.366021782602805e-01 -1.363641453151502e-01 -1.361261980034910e-01 -1.358883363925467e-01 -1.356505602730137e-01 - -1.354128697173978e-01 -1.351752651019714e-01 -1.349377463365720e-01 -1.347003133096952e-01 -1.344629660943524e-01 - -1.342257047644556e-01 -1.339885292721434e-01 -1.337514394288152e-01 -1.335144355004790e-01 -1.332775177574095e-01 - -1.330406860095451e-01 -1.328039402156265e-01 -1.325672804621033e-01 -1.323307068237664e-01 -1.320942191803451e-01 - -1.318578174250235e-01 -1.316215019436967e-01 -1.313852728254415e-01 -1.311491298574344e-01 -1.309130730812647e-01 - -1.306771025967214e-01 -1.304412184433993e-01 -1.302054204167683e-01 -1.299697085633917e-01 -1.297340833011096e-01 - -1.294985445422908e-01 -1.292630921400970e-01 -1.290277262032818e-01 -1.287924468024440e-01 -1.285572538860320e-01 - -1.283221472565841e-01 -1.280871271607027e-01 -1.278521939245786e-01 -1.276173473594251e-01 -1.273825873815436e-01 - -1.271479140654554e-01 -1.269133275291332e-01 -1.266788276689478e-01 -1.264444143112885e-01 -1.262100878411512e-01 - -1.259758484249543e-01 -1.257416958580221e-01 -1.255076301118343e-01 -1.252736512740011e-01 -1.250397594556589e-01 - -1.248059544551782e-01 -1.245722362561283e-01 -1.243386053032582e-01 -1.241050615437150e-01 -1.238716047916152e-01 - -1.236382351439431e-01 -1.234049527007845e-01 -1.231717574487822e-01 -1.229386491649988e-01 -1.227056280466961e-01 - -1.224726944551588e-01 -1.222398481939305e-01 -1.220070891810755e-01 -1.217744175349468e-01 -1.215418333321439e-01 - -1.213093364896874e-01 -1.210769268543440e-01 -1.208446047468073e-01 -1.206123703546746e-01 -1.203802234985189e-01 - -1.201481641556592e-01 -1.199161924040098e-01 -1.196843083373426e-01 -1.194525118101599e-01 -1.192208027778711e-01 - -1.189891816158967e-01 -1.187576483334740e-01 -1.185262027772708e-01 -1.182948450325541e-01 -1.180635751718018e-01 - -1.178323931740712e-01 -1.176012988598141e-01 -1.173702923768903e-01 -1.171393740841554e-01 -1.169085438684581e-01 - -1.166778016318426e-01 -1.164471474323627e-01 -1.162165813372163e-01 -1.159861033094216e-01 -1.157557132288848e-01 - -1.155254113554128e-01 -1.152951978878259e-01 -1.150650726784410e-01 -1.148350356935617e-01 -1.146050869998271e-01 - -1.143752266983624e-01 -1.141454546633286e-01 -1.139157708150553e-01 -1.136861755297615e-01 -1.134566688685596e-01 - -1.132272506625232e-01 -1.129979209389772e-01 -1.127686797968139e-01 -1.125395272939830e-01 -1.123104632216639e-01 - -1.120814876598629e-01 -1.118526009932446e-01 -1.116238031362107e-01 -1.113950939743172e-01 -1.111664735714766e-01 - -1.109379420230661e-01 -1.107094992989161e-01 -1.104811452047023e-01 -1.102528800189790e-01 -1.100247040176238e-01 - -1.097966169898620e-01 -1.095686189066022e-01 -1.093407098806465e-01 -1.091128899944971e-01 -1.088851591239916e-01 - -1.086575171512236e-01 -1.084299644451029e-01 -1.082025011238454e-01 -1.079751270251657e-01 -1.077478421434466e-01 - -1.075206465724022e-01 -1.072935404061887e-01 -1.070665234272605e-01 -1.068395956686409e-01 -1.066127575621145e-01 - -1.063860090403522e-01 -1.061593499609373e-01 -1.059327804074918e-01 -1.057063004552603e-01 -1.054799100848440e-01 - -1.052536091459819e-01 -1.050273978363624e-01 -1.048012764247322e-01 -1.045752447992682e-01 -1.043493029044653e-01 - -1.041234507912105e-01 -1.038976885616201e-01 -1.036720161437409e-01 -1.034464334142674e-01 -1.032209407082870e-01 - -1.029955381585720e-01 -1.027702255852857e-01 -1.025450030256683e-01 -1.023198705766582e-01 -1.020948282803886e-01 - -1.018698759615270e-01 -1.016450136357437e-01 -1.014202417243671e-01 -1.011955602054591e-01 -1.009709689162001e-01 - -1.007464679013254e-01 -1.005220572777319e-01 -1.002977370772110e-01 -1.000735070732387e-01 -9.984936745539402e-02 - -9.962531858349888e-02 -9.940136027998529e-02 -9.917749246814733e-02 -9.895371525770333e-02 -9.873002873335845e-02 - -9.850643282337790e-02 -9.828292738770521e-02 -9.805951276903688e-02 -9.783618914357473e-02 -9.761295629040607e-02 - -9.738981424317925e-02 -9.716676311420755e-02 -9.694380293900719e-02 -9.672093359332221e-02 -9.649815506782670e-02 - -9.627546771326484e-02 -9.605287156919239e-02 -9.583036651098850e-02 -9.560795255252680e-02 -9.538562978098189e-02 - -9.516339824129488e-02 -9.494125774199282e-02 -9.471920843970391e-02 -9.449725071216948e-02 -9.427538438593883e-02 - -9.405360936874554e-02 -9.383192580278800e-02 -9.361033376064058e-02 -9.338883317577901e-02 -9.316742389906425e-02 - -9.294610622995669e-02 -9.272488039403920e-02 -9.250374621386263e-02 -9.228270367992475e-02 -9.206175287916113e-02 - -9.184089387273792e-02 -9.162012656935895e-02 -9.139945093572596e-02 -9.117886729658348e-02 -9.095837571294788e-02 - -9.073797605928635e-02 -9.051766837713708e-02 -9.029745274779008e-02 -9.007732920697027e-02 -8.985729759887780e-02 - -8.963735802530043e-02 -8.941751083887589e-02 -8.919775594907166e-02 -8.897809325953572e-02 -8.875852286193828e-02 - -8.853904483959285e-02 -8.831965916578795e-02 -8.810036569419880e-02 -8.788116467295366e-02 -8.766205635082600e-02 - -8.744304058057480e-02 -8.722411733824492e-02 -8.700528670561582e-02 -8.678654875532379e-02 -8.656790339361393e-02 - -8.634935054757228e-02 -8.613089058374623e-02 -8.591252359970507e-02 -8.569424942256174e-02 -8.547606809595372e-02 - -8.525797972327777e-02 -8.503998436304407e-02 -8.482208183975883e-02 -8.460427219735964e-02 -8.438655581333676e-02 - -8.416893266387415e-02 -8.395140264416648e-02 -8.373396580036768e-02 -8.351662221748458e-02 -8.329937190808817e-02 - -8.308221474187347e-02 -8.286515089972675e-02 -8.264818063381729e-02 -8.243130387381740e-02 -8.221452057360500e-02 - -8.199783077068876e-02 -8.178123458056528e-02 -8.156473193866548e-02 -8.134832272179610e-02 -8.113200727104515e-02 - -8.091578573554094e-02 -8.069965795549490e-02 -8.048362394306618e-02 -8.026768379237301e-02 -8.005183759034226e-02 - -7.983608519016389e-02 -7.962042660317335e-02 -7.940486220827629e-02 -7.918939199917317e-02 -7.897401585103307e-02 - -7.875873382193239e-02 -7.854354599947752e-02 -7.832845240531904e-02 -7.811345290511561e-02 -7.789854765910142e-02 - -7.768373695009409e-02 -7.746902070156129e-02 -7.725439886068521e-02 -7.703987147751143e-02 -7.682543865920169e-02 - -7.661110037032860e-02 -7.639685648697914e-02 -7.618270730319152e-02 -7.596865299784139e-02 -7.575469343456721e-02 - -7.554082861289950e-02 -7.532705861915691e-02 -7.511338355056779e-02 -7.489980327273796e-02 -7.468631776375068e-02 - -7.447292742489155e-02 -7.425963225373161e-02 -7.404643208981297e-02 -7.383332706618533e-02 -7.362031725942129e-02 - -7.340740264369265e-02 -7.319458312424655e-02 -7.298185885257603e-02 -7.276923011698885e-02 -7.255669681825400e-02 - -7.234425890125808e-02 -7.213191646645117e-02 -7.191966959969415e-02 -7.170751827394115e-02 -7.149546237742448e-02 - -7.128350216363183e-02 -7.107163782537941e-02 -7.085986923051370e-02 -7.064819639413342e-02 -7.043661941815849e-02 - -7.022513838389523e-02 -7.001375316964638e-02 -6.980246372359999e-02 -6.959127044971054e-02 -6.938017339783993e-02 - -6.916917238807876e-02 -6.895826751099868e-02 -6.874745887832359e-02 -6.853674652264935e-02 -6.832613029387129e-02 - -6.811561029537151e-02 -6.790518687416305e-02 -6.769485994872884e-02 -6.748462944761908e-02 -6.727449549181348e-02 - -6.706445814195625e-02 -6.685451736224034e-02 -6.664467305023641e-02 -6.643492546019260e-02 -6.622527482862205e-02 - -6.601572100856345e-02 -6.580626400049541e-02 -6.559690390732385e-02 -6.538764078471235e-02 -6.517847455920224e-02 - -6.496940519404462e-02 -6.476043303620643e-02 -6.455155816426872e-02 -6.434278041275177e-02 -6.413409988235154e-02 - -6.392551667227454e-02 -6.371703078482928e-02 -6.350864213121965e-02 -6.330035079826633e-02 -6.309215709125325e-02 - -6.288406097171770e-02 -6.267606236590158e-02 -6.246816137578116e-02 -6.226035810132791e-02 -6.205265253482506e-02 - -6.184504450634240e-02 -6.163753424009603e-02 -6.143012204113525e-02 -6.122280779495761e-02 -6.101559145710207e-02 - -6.080847310111580e-02 -6.060145284620669e-02 -6.039453063876327e-02 -6.018770637541451e-02 -5.998098039534337e-02 - -5.977435284136760e-02 -5.956782355675167e-02 -5.936139258218223e-02 -5.915506002510895e-02 -5.894882595975996e-02 - -5.874269025717062e-02 -5.853665294379332e-02 -5.833071438748900e-02 -5.812487459491447e-02 -5.791913345983549e-02 - -5.771349104248068e-02 -5.750794745476003e-02 -5.730250273990040e-02 -5.709715674449271e-02 -5.689190963313420e-02 - -5.668676170442684e-02 -5.648171287301057e-02 -5.627676311138611e-02 -5.607191251359627e-02 -5.586716116856662e-02 - -5.566250902085241e-02 -5.545795595276776e-02 -5.525350230977423e-02 -5.504914828197500e-02 -5.484489368806074e-02 - -5.464073856561743e-02 -5.443668303623681e-02 -5.423272717677420e-02 -5.402887087270093e-02 -5.382511411736842e-02 - -5.362145727556954e-02 -5.341790037997223e-02 -5.321444331788154e-02 -5.301108618236487e-02 -5.280782907094528e-02 - -5.260467200594416e-02 -5.240161485390568e-02 -5.219865776343095e-02 -5.199580105954085e-02 -5.179304465507040e-02 - -5.159038850941820e-02 -5.138783273765680e-02 -5.118537740030552e-02 -5.098302246878324e-02 -5.078076787428482e-02 - -5.057861387937131e-02 -5.037656068404879e-02 -5.017460818262723e-02 -4.997275637519877e-02 -4.977100534878579e-02 - -4.956935521374012e-02 -4.936780587637167e-02 -4.916635729330274e-02 -4.896500983679772e-02 -4.876376358063662e-02 - -4.856261839799727e-02 -4.836157437280066e-02 -4.816063160553166e-02 -4.795979012910388e-02 -4.775904981223175e-02 - -4.755841077230219e-02 -4.735787336181510e-02 -4.715743752596301e-02 -4.695710319390285e-02 -4.675687045398216e-02 - -4.655673941737810e-02 -4.635671009364274e-02 -4.615678236145827e-02 -4.595695644691457e-02 -4.575723258610617e-02 - -4.555761069075770e-02 -4.535809077212207e-02 -4.515867291944397e-02 -4.495935719937229e-02 -4.476014355843901e-02 - -4.456103197632578e-02 -4.436202279051898e-02 -4.416311608901573e-02 -4.396431172960501e-02 -4.376560979706327e-02 - -4.356701040970479e-02 -4.336851362154585e-02 -4.317011930970618e-02 -4.297182755295056e-02 -4.277363871130811e-02 - -4.257555275870079e-02 -4.237756961321195e-02 -4.217968936488893e-02 -4.198191211978222e-02 -4.178423789759614e-02 - -4.158666657665847e-02 -4.138919837391426e-02 -4.119183356383482e-02 -4.099457203865310e-02 -4.079741379048268e-02 - -4.060035892668235e-02 -4.040340754077800e-02 -4.020655958670875e-02 -4.000981499812348e-02 -3.981317410229721e-02 - -3.961663704352115e-02 -3.942020369405195e-02 -3.922387410519079e-02 -3.902764838570288e-02 -3.883152661169272e-02 - -3.863550868276464e-02 -3.843959464464100e-02 -3.824378485096525e-02 -3.804807931112070e-02 -3.785247793879744e-02 - -3.765698082240899e-02 -3.746158806803077e-02 -3.726629970906549e-02 -3.707111562537097e-02 -3.687603600301111e-02 - -3.668106114329449e-02 -3.648619095542227e-02 -3.629142541706046e-02 -3.609676463615045e-02 -3.590220871216067e-02 - -3.570775761915167e-02 -3.551341127587861e-02 -3.531916998478909e-02 -3.512503392646860e-02 -3.493100298239093e-02 - -3.473707719308593e-02 -3.454325666569649e-02 -3.434954148093054e-02 -3.415593156072503e-02 -3.396242692622412e-02 - -3.376902792182854e-02 -3.357573459185429e-02 -3.338254684613227e-02 -3.318946476737597e-02 -3.299648846264201e-02 - -3.280361798076661e-02 -3.261085320981364e-02 -3.241819429994710e-02 -3.222564156785773e-02 -3.203319495411584e-02 - -3.184085442350271e-02 -3.164862007407277e-02 -3.145649201602077e-02 -3.126447024597763e-02 -3.107255466700169e-02 - -3.088074555671056e-02 -3.068904313085425e-02 -3.049744727803826e-02 -3.030595802638682e-02 -3.011457548570120e-02 - -2.992329974875160e-02 -2.973213075050443e-02 -2.954106848293515e-02 -2.935011329195715e-02 -2.915926525661732e-02 - -2.896852427673346e-02 -2.877789042941862e-02 -2.858736382466336e-02 -2.839694452567641e-02 -2.820663243092813e-02 - -2.801642765839682e-02 -2.782633053619610e-02 -2.763634102981755e-02 -2.744645909471058e-02 -2.725668483048721e-02 - -2.706701834793413e-02 -2.687745966148872e-02 -2.668800867127078e-02 -2.649866562411629e-02 -2.630943076513501e-02 - -2.612030399888650e-02 -2.593128533989631e-02 -2.574237489560391e-02 -2.555357276907920e-02 -2.536487891525730e-02 - -2.517629330290238e-02 -2.498781626631630e-02 -2.479944791947400e-02 -2.461118815951395e-02 -2.442303705775731e-02 - -2.423499472682666e-02 -2.404706124098910e-02 -2.385923651050157e-02 -2.367152062237768e-02 -2.348391391197065e-02 - -2.329641637680258e-02 -2.310902796361102e-02 -2.292174876507744e-02 -2.273457889435020e-02 -2.254751838574287e-02 - -2.236056713942959e-02 -2.217372537079298e-02 -2.198699334983061e-02 -2.180037099746794e-02 -2.161385831877313e-02 - -2.142745542221016e-02 -2.124116241611923e-02 -2.105497927356034e-02 -2.086890594375282e-02 -2.068294274565517e-02 - -2.049708982965088e-02 -2.031134709508492e-02 -2.012571460207244e-02 -1.994019246558534e-02 -1.975478077426674e-02 - -1.956947944878238e-02 -1.938428854559868e-02 -1.919920840769478e-02 -1.901423906121075e-02 -1.882938044349050e-02 - -1.864463264867233e-02 -1.845999578941159e-02 -1.827546991282947e-02 -1.809105492490821e-02 -1.790675101318496e-02 - -1.772255847013706e-02 -1.753847723077995e-02 -1.735450728912205e-02 -1.717064875577919e-02 -1.698690174123156e-02 - -1.680326624034783e-02 -1.661974219495428e-02 -1.643632989539235e-02 -1.625302952284425e-02 -1.606984099009794e-02 - -1.588676434582367e-02 -1.570379970237604e-02 -1.552094715767664e-02 -1.533820665109939e-02 -1.515557821470722e-02 - -1.497306218983010e-02 -1.479065863118324e-02 -1.460836746737021e-02 -1.442618879376636e-02 -1.424412272699600e-02 - -1.406216932715821e-02 -1.388032850365394e-02 -1.369860041414062e-02 -1.351698537084881e-02 -1.333548332713773e-02 - -1.315409426742165e-02 -1.297281830737383e-02 -1.279165555870565e-02 -1.261060603011550e-02 -1.242966965324022e-02 - -1.224884670128487e-02 -1.206813738892206e-02 -1.188754163203305e-02 -1.170705946859269e-02 -1.152669101347058e-02 - -1.134643637569507e-02 -1.116629550991553e-02 -1.098626842139487e-02 -1.080635544822676e-02 -1.062655668128806e-02 - -1.044687204494093e-02 -1.026730162280993e-02 -1.008784553433474e-02 -9.908503858526582e-03 -9.729276511698201e-03 - -9.550163618928804e-03 -9.371165505355611e-03 -9.192282154920128e-03 -9.013513542246960e-03 -8.834859775588668e-03 - -8.656320970291077e-03 -8.477897155130903e-03 -8.299588259899083e-03 -8.121394531144674e-03 -7.943316209259341e-03 - -7.765353219198069e-03 -7.587505591333328e-03 -7.409773443860054e-03 -7.232156891183837e-03 -7.054655906230881e-03 - -6.877270474033493e-03 -6.700000921715352e-03 -6.522847372218281e-03 -6.345809748257097e-03 -6.168888131399519e-03 - -5.992082642122597e-03 -5.815393366379400e-03 -5.638820235869921e-03 -5.462363348533388e-03 -5.286023033805962e-03 - -5.109799304673499e-03 -4.933692127821829e-03 -4.757701606393674e-03 -4.581827861470766e-03 -4.406070940931505e-03 - -4.230430770274698e-03 -4.054907567997104e-03 -3.879501600335772e-03 -3.704212807069328e-03 -3.529041210474627e-03 - -3.353986930090703e-03 -3.179050081041732e-03 -3.004230655593028e-03 -2.829528626659512e-03 -2.654944304289923e-03 - -2.480477843039907e-03 -2.306129168890747e-03 -2.131898354626704e-03 -1.957785522367332e-03 -1.783790769612464e-03 - -1.609914041309663e-03 -1.436155409326836e-03 -1.262515208025358e-03 -1.088993476198761e-03 -9.155901719868249e-04 - -7.423054008843995e-04 -5.691392854771952e-04 -3.960918865957833e-04 -2.231631331613931e-04 -5.035321608514060e-05 - 1.223375771945329e-04 2.949092895407656e-04 4.673619084872533e-04 6.396953140537370e-04 8.119093865188150e-04 - 9.840041155727759e-04 1.155979539871523e-03 1.327835367602612e-03 1.499571413663267e-03 1.671187748049661e-03 - 1.842684305331169e-03 2.014060960896812e-03 2.185317608856639e-03 2.356454289147141e-03 2.527470954200780e-03 - 2.698367270832486e-03 2.869143169831049e-03 3.039798698561594e-03 3.210333755176400e-03 3.380748214685887e-03 - 3.551042001872539e-03 3.721215182132198e-03 3.891267592694254e-03 4.061198929412137e-03 4.231009214636464e-03 - 4.400698444839332e-03 4.570266499650065e-03 4.739713256426893e-03 4.909038688279234e-03 5.078242841339914e-03 - 5.247325443294046e-03 5.416286280121805e-03 5.585125417934797e-03 5.753842797319914e-03 5.922438289361948e-03 - 6.090911784292105e-03 6.259263304936011e-03 6.427492823105761e-03 6.595600012759487e-03 6.763584774419725e-03 - 6.931447157908777e-03 7.099187064683324e-03 7.266804368739545e-03 7.434298984071849e-03 7.601670964899477e-03 - 7.768920175905106e-03 7.936046303989365e-03 8.103049345026314e-03 8.269929303195386e-03 8.436686062480435e-03 - 8.603319496825714e-03 8.769829559891583e-03 8.936216298209541e-03 9.102479469308070e-03 9.268618835503980e-03 - 9.434634442417017e-03 9.600526244002849e-03 9.766294116521254e-03 9.931937936947469e-03 1.009745771049027e-02 - 1.026285342997890e-02 1.042812477681206e-02 1.059327162144324e-02 1.075829401681754e-02 1.092319186819127e-02 - 1.108796504594824e-02 1.125261345370748e-02 1.141713713772357e-02 1.158153598704318e-02 1.174580967555363e-02 - 1.190995817803677e-02 1.207398151021485e-02 1.223787955540131e-02 1.240165218070774e-02 1.256529932365555e-02 - 1.272882103806231e-02 1.289221710280211e-02 1.305548725320952e-02 1.321863152957668e-02 1.338164989105289e-02 - 1.354454220587777e-02 1.370730835288826e-02 1.386994832163190e-02 1.403246211588375e-02 1.419484943187744e-02 - 1.435711010999991e-02 1.451924419921884e-02 1.468125161270911e-02 1.484313222013652e-02 1.500488591571896e-02 - 1.516651273046586e-02 1.532801257754355e-02 1.548938513124086e-02 1.565063033579857e-02 1.581174821092933e-02 - 1.597273864701365e-02 1.613360150922888e-02 1.629433671764488e-02 1.645494432276120e-02 1.661542413184349e-02 - 1.677577586209575e-02 1.693599953321696e-02 1.709609511287956e-02 1.725606247097126e-02 1.741590148147653e-02 - 1.757561211738663e-02 1.773519439308624e-02 1.789464801957598e-02 1.805397280960725e-02 1.821316881163111e-02 - 1.837223594327105e-02 1.853117406905512e-02 1.868998307594014e-02 1.884866298214414e-02 1.900721372338833e-02 - 1.916563497459167e-02 1.932392665507269e-02 1.948208878919649e-02 1.964012126059438e-02 1.979802393750615e-02 - 1.995579673545799e-02 2.011343968946751e-02 2.027095263124555e-02 2.042833526879373e-02 2.058558759933038e-02 - 2.074270959919291e-02 2.089970114286997e-02 2.105656209513535e-02 2.121329241031374e-02 2.136989211400533e-02 - 2.152636093833320e-02 2.168269866776463e-02 2.183890534086288e-02 2.199498088647827e-02 2.215092516911965e-02 - 2.230673806408907e-02 2.246241957468516e-02 2.261796965793072e-02 2.277338799181243e-02 2.292867446749406e-02 - 2.308382911412376e-02 2.323885181888266e-02 2.339374244699652e-02 2.354850090287507e-02 2.370312721409915e-02 - 2.385762123470989e-02 2.401198266010886e-02 2.416621147301771e-02 2.432030765671687e-02 2.447427107682733e-02 - 2.462810160176357e-02 2.478179917471193e-02 2.493536381795363e-02 2.508879528739230e-02 2.524209334527653e-02 - 2.539525801488748e-02 2.554828923354157e-02 2.570118686847216e-02 2.585395079171064e-02 2.600658098606827e-02 - 2.615907742012537e-02 2.631143978762620e-02 2.646366795301069e-02 2.661576194257877e-02 2.676772164859378e-02 - 2.691954693391293e-02 2.707123769272043e-02 2.722279394328245e-02 2.737421556407061e-02 2.752550224474631e-02 - 2.767665393933695e-02 2.782767063812680e-02 2.797855221700411e-02 2.812929853552858e-02 2.827990951702357e-02 - 2.843038519104858e-02 2.858072533585580e-02 2.873092969062032e-02 2.888099827101270e-02 2.903093101911967e-02 - 2.918072779556083e-02 2.933038847140823e-02 2.947991301658642e-02 2.962930141213865e-02 2.977855336278226e-02 - 2.992766870509821e-02 3.007664746318324e-02 3.022548953626840e-02 3.037419478553557e-02 3.052276309616091e-02 - 3.067119447416764e-02 3.081948881896879e-02 3.096764581778017e-02 3.111566540198458e-02 3.126354756710210e-02 - 3.141129218718559e-02 3.155889912410548e-02 3.170636829125183e-02 3.185369970791438e-02 3.200089317518744e-02 - 3.214794841776677e-02 3.229486543634106e-02 3.244164418203412e-02 3.258828451581320e-02 3.273478630264194e-02 - 3.288114949586567e-02 3.302737408530167e-02 3.317345979235018e-02 3.331940642975919e-02 3.346521401820098e-02 - 3.361088246101045e-02 3.375641161607764e-02 3.390180136352038e-02 3.404705169548587e-02 3.419216253016829e-02 - 3.433713355905806e-02 3.448196468652563e-02 3.462665590981111e-02 3.477120710939272e-02 3.491561814527116e-02 - 3.505988891618091e-02 3.520401943397326e-02 3.534800952666442e-02 3.549185891051008e-02 3.563556756111654e-02 - 3.577913543618631e-02 3.592256240340591e-02 3.606584831947614e-02 3.620899312153205e-02 3.635199681091714e-02 - 3.649485912620978e-02 3.663757985375464e-02 3.678015900636063e-02 3.692259649832257e-02 3.706489218607827e-02 - 3.720704593508108e-02 3.734905772908955e-02 3.749092751022131e-02 3.763265496742431e-02 3.777423997951684e-02 - 3.791568254953915e-02 3.805698256030369e-02 3.819813986869797e-02 3.833915436267914e-02 3.848002605018682e-02 - 3.862075477984065e-02 3.876134025391093e-02 3.890178243600422e-02 3.904208129158644e-02 3.918223668100989e-02 - 3.932224846044379e-02 3.946211655605483e-02 3.960184097189857e-02 3.974142146457355e-02 3.988085779819951e-02 - 4.002014997942075e-02 4.015929792921669e-02 4.029830150192959e-02 4.043716055991190e-02 4.057587507004282e-02 - 4.071444498657769e-02 4.085287001066611e-02 4.099114999824743e-02 4.112928495212512e-02 4.126727475679569e-02 - 4.140511926665246e-02 4.154281836167219e-02 4.168037204269245e-02 4.181778018003033e-02 4.195504246778908e-02 - 4.209215884913708e-02 4.222912929605258e-02 4.236595366776428e-02 4.250263182248033e-02 4.263916367566677e-02 - 4.277554922465009e-02 4.291178824859961e-02 4.304788049654025e-02 4.318382596138427e-02 4.331962457087349e-02 - 4.345527617981602e-02 4.359078064797250e-02 4.372613792550029e-02 4.386134797486977e-02 4.399641051415262e-02 - 4.413132537776133e-02 4.426609256403441e-02 4.440071196061698e-02 4.453518342174363e-02 4.466950682320869e-02 - 4.480368214879805e-02 4.493770928728694e-02 4.507158793990715e-02 4.520531802497359e-02 4.533889951667943e-02 - 4.547233228082954e-02 4.560561616979211e-02 4.573875108353129e-02 4.587173702317195e-02 4.600457379177124e-02 - 4.613726112101928e-02 4.626979898466685e-02 4.640218731770854e-02 4.653442597807410e-02 4.666651481740990e-02 - 4.679845378497393e-02 4.693024287357150e-02 4.706188178521280e-02 4.719337030512012e-02 4.732470843170088e-02 - 4.745589609974604e-02 4.758693317708736e-02 4.771781949014568e-02 4.784855500276729e-02 4.797913963655120e-02 - 4.810957311625792e-02 4.823985532440599e-02 4.836998622519359e-02 4.849996572088229e-02 4.862979364778694e-02 - 4.875946986129576e-02 4.888899438454671e-02 4.901836703838853e-02 4.914758752328308e-02 4.927665585368439e-02 - 4.940557196434897e-02 4.953433564666962e-02 4.966294680168561e-02 4.979140536998770e-02 4.991971127467005e-02 - 5.004786430086550e-02 5.017586426593462e-02 5.030371111424699e-02 5.043140473941395e-02 5.055894500969876e-02 - 5.068633180855401e-02 5.081356509387767e-02 5.094064477169723e-02 5.106757053524139e-02 5.119434226596677e-02 - 5.132095996453229e-02 5.144742351517578e-02 5.157373274644007e-02 5.169988750799723e-02 5.182588783131492e-02 - 5.195173357105356e-02 5.207742440366903e-02 5.220296027189056e-02 5.232834113948501e-02 5.245356688434039e-02 - 5.257863735375337e-02 5.270355244318054e-02 5.282831211610928e-02 5.295291615700908e-02 5.307736435753736e-02 - 5.320165668494783e-02 5.332579302368824e-02 5.344977322479061e-02 5.357359720391287e-02 5.369726488407797e-02 - 5.382077614890905e-02 5.394413077320572e-02 5.406732861255047e-02 5.419036960275756e-02 5.431325364836510e-02 - 5.443598061485443e-02 5.455855035736775e-02 5.468096283548277e-02 5.480321791614200e-02 5.492531533836561e-02 - 5.504725504027442e-02 5.516903696522249e-02 5.529066094250196e-02 5.541212681912044e-02 5.553343451105355e-02 - 5.565458402054679e-02 5.577557512714444e-02 5.589640757833542e-02 5.601708136214176e-02 5.613759637012277e-02 - 5.625795242697428e-02 5.637814944133901e-02 5.649818735356010e-02 5.661806606948155e-02 5.673778531909066e-02 - 5.685734496106067e-02 5.697674499811992e-02 5.709598525886500e-02 5.721506557962035e-02 5.733398588420521e-02 - 5.745274613557275e-02 5.757134619305772e-02 5.768978576165893e-02 5.780806477237931e-02 5.792618319490116e-02 - 5.804414085654030e-02 5.816193759992416e-02 5.827957333255503e-02 5.839704805764100e-02 5.851436157058919e-02 - 5.863151359019340e-02 5.874850407742044e-02 5.886533297606138e-02 5.898200016057164e-02 5.909850545490182e-02 - 5.921484876799358e-02 5.933103006596772e-02 5.944704910278828e-02 5.956290569090495e-02 5.967859979076014e-02 - 5.979413129454921e-02 5.990950006107775e-02 6.002470595625681e-02 6.013974894676900e-02 6.025462892974234e-02 - 6.036934559538653e-02 6.048389882575328e-02 6.059828859366181e-02 6.071251478747773e-02 6.082657726499330e-02 - 6.094047589468096e-02 6.105421060960093e-02 6.116778124880510e-02 6.128118760026364e-02 6.139442960439424e-02 - 6.150750715787331e-02 6.162042008748835e-02 6.173316829355946e-02 6.184575170612789e-02 6.195817023946892e-02 - 6.207042366308074e-02 6.218251178412997e-02 6.229443455021107e-02 6.240619187345142e-02 6.251778362644587e-02 - 6.262920965673664e-02 6.274046989094115e-02 6.285156423838029e-02 6.296249246083868e-02 6.307325441937692e-02 - 6.318385004239983e-02 6.329427920287174e-02 6.340454177652059e-02 6.351463766120390e-02 6.362456678994362e-02 - 6.373432899407734e-02 6.384392402667542e-02 6.395335181995393e-02 6.406261231361865e-02 6.417170537725830e-02 - 6.428063082883417e-02 6.438938856382127e-02 6.449797859582693e-02 6.460640069400744e-02 6.471465460887021e-02 - 6.482274028565467e-02 6.493065766530991e-02 6.503840663024645e-02 6.514598697176463e-02 6.525339863731919e-02 - 6.536064160053869e-02 6.546771556229376e-02 6.557462036169828e-02 6.568135597564134e-02 6.578792228094754e-02 - 6.589431913461476e-02 6.600054641494822e-02 6.610660407274732e-02 6.621249195669229e-02 6.631820979208959e-02 - 6.642375751800587e-02 6.652913508526218e-02 6.663434233390064e-02 6.673937912206085e-02 6.684424535139094e-02 - 6.694894096694531e-02 6.705346576057515e-02 6.715781952052316e-02 6.726200223606826e-02 6.736601378290344e-02 - 6.746985396850236e-02 6.757352270136854e-02 6.767701992273348e-02 6.778034554033589e-02 6.788349929667206e-02 - 6.798648102682574e-02 6.808929069330329e-02 6.819192820375723e-02 6.829439341428477e-02 6.839668615716293e-02 - 6.849880637697058e-02 6.860075397106770e-02 6.870252870886938e-02 6.880413046413429e-02 6.890555915577500e-02 - 6.900681468090485e-02 6.910789689150486e-02 6.920880565820778e-02 6.930954094436353e-02 6.941010257623929e-02 - 6.951049032497619e-02 6.961070411466443e-02 6.971074386483528e-02 6.981060945693285e-02 6.991030074013053e-02 - 7.000981760721879e-02 7.010915998226322e-02 7.020832768385020e-02 7.030732053981503e-02 7.040613843777971e-02 - 7.050478130476578e-02 7.060324902125202e-02 7.070154139632766e-02 7.079965841104072e-02 7.089759998592053e-02 - 7.099536579014293e-02 7.109295574922263e-02 7.119036986301433e-02 7.128760792254588e-02 7.138466979343019e-02 - 7.148155540894172e-02 7.157826467726322e-02 7.167479742578257e-02 7.177115345207208e-02 7.186733268619028e-02 - 7.196333504975572e-02 7.205916041090092e-02 7.215480858692887e-02 7.225027948023270e-02 7.234557308374470e-02 - 7.244068916926014e-02 7.253562753252076e-02 7.263038813284139e-02 7.272497087062332e-02 7.281937559790036e-02 - 7.291360215228662e-02 7.300765049821943e-02 7.310152057265214e-02 7.319521208383468e-02 7.328872490709243e-02 - 7.338205901635925e-02 7.347521425841259e-02 7.356819049091311e-02 7.366098761637971e-02 7.375360558736099e-02 - 7.384604424623381e-02 7.393830334347133e-02 7.403038279875497e-02 7.412228254437477e-02 7.421400245985316e-02 - 7.430554241104276e-02 7.439690229021774e-02 7.448808202204141e-02 7.457908141717452e-02 7.466990029970315e-02 - 7.476053861745356e-02 7.485099625058683e-02 7.494127304678436e-02 7.503136889191833e-02 7.512128371784581e-02 - 7.521101743547498e-02 7.530056981436373e-02 7.538994071268737e-02 7.547913007544443e-02 7.556813780083994e-02 - 7.565696374971752e-02 7.574560777501017e-02 7.583406981695588e-02 7.592234975180168e-02 7.601044736291800e-02 - 7.609836256769248e-02 7.618609528331391e-02 7.627364535037680e-02 7.636101265407126e-02 7.644819711937149e-02 - 7.653519868718589e-02 7.662201715447789e-02 7.670865230880411e-02 7.679510411035856e-02 7.688137246970578e-02 - 7.696745724207896e-02 7.705335828035317e-02 7.713907552614908e-02 7.722460893765626e-02 7.730995825366380e-02 - 7.739512330293280e-02 7.748010405365591e-02 7.756490042829636e-02 7.764951228919105e-02 7.773393946198498e-02 - 7.781818189157449e-02 7.790223948237281e-02 7.798611201876808e-02 7.806979939436651e-02 7.815330154059554e-02 - 7.823661834982702e-02 7.831974966729814e-02 7.840269536418043e-02 7.848545542109749e-02 7.856802968700778e-02 - 7.865041794492959e-02 7.873262009221961e-02 7.881463606524114e-02 7.889646578364969e-02 7.897810905385311e-02 - 7.905956578813299e-02 7.914083598393755e-02 7.922191938944982e-02 7.930281582198326e-02 7.938352526916173e-02 - 7.946404763288464e-02 7.954438277705837e-02 7.962453057021987e-02 7.970449093695484e-02 7.978426377009373e-02 - 7.986384886265184e-02 7.994324611178145e-02 8.002245546069972e-02 8.010147680163558e-02 8.018030998339011e-02 - 8.025895486859348e-02 8.033741142939121e-02 8.041567953647351e-02 8.049375898816008e-02 8.057164970191152e-02 - 8.064935159117341e-02 8.072686453538828e-02 8.080418841559016e-02 8.088132313650849e-02 8.095826861741187e-02 - 8.103502469212946e-02 8.111159121525567e-02 8.118796811657426e-02 8.126415526945288e-02 8.134015254787534e-02 - 8.141595988122388e-02 8.149157718184835e-02 8.156700432424771e-02 8.164224113093393e-02 8.171728750211138e-02 - 8.179214337283539e-02 8.186680860558979e-02 8.194128308109257e-02 8.201556671181809e-02 8.208965942384167e-02 - 8.216356107347705e-02 8.223727146913333e-02 8.231079055026533e-02 8.238411825286719e-02 8.245725445426123e-02 - 8.253019901019013e-02 8.260295182089074e-02 8.267551284923887e-02 8.274788192985057e-02 8.282005889192648e-02 - 8.289204367192234e-02 8.296383619751495e-02 8.303543635380874e-02 8.310684396376640e-02 8.317805898151856e-02 - 8.324908138250064e-02 8.331991092178788e-02 8.339054746670159e-02 8.346099098907200e-02 8.353124136246602e-02 - 8.360129848004999e-02 8.367116227251760e-02 8.374083263302687e-02 8.381030943134427e-02 8.387959252741883e-02 - 8.394868181167527e-02 8.401757720093640e-02 8.408627862550171e-02 8.415478594369409e-02 8.422309904154775e-02 - 8.429121790707177e-02 8.435914237533512e-02 8.442687225429805e-02 8.449440750560887e-02 8.456174803803686e-02 - 8.462889372267089e-02 8.469584447602406e-02 8.476260023136410e-02 8.482916090148240e-02 8.489552630009754e-02 - 8.496169630228255e-02 8.502767086164854e-02 8.509344988672647e-02 8.515903326018803e-02 8.522442086136313e-02 - 8.528961263471936e-02 8.535460848680074e-02 8.541940824041729e-02 8.548401181612168e-02 8.554841915131453e-02 - 8.561263012321893e-02 8.567664461211427e-02 8.574046253447680e-02 8.580408386832587e-02 8.586750845589863e-02 - 8.593073610333024e-02 8.599376680387132e-02 8.605660047760594e-02 8.611923696874126e-02 8.618167618396408e-02 - 8.624391807608472e-02 8.630596259724549e-02 8.636780954833972e-02 8.642945878839840e-02 8.649091029427977e-02 - 8.655216396695875e-02 8.661321970043215e-02 8.667407742210617e-02 8.673473702989365e-02 8.679519841504303e-02 - 8.685546148336530e-02 8.691552612855238e-02 8.697539224666265e-02 8.703505975750943e-02 8.709452857692032e-02 - 8.715379861893667e-02 8.721286980508075e-02 8.727174201224434e-02 8.733041510377958e-02 8.738888903629666e-02 - 8.744716372671989e-02 8.750523904187274e-02 8.756311491392924e-02 8.762079127795709e-02 8.767826803995526e-02 - 8.773554506310657e-02 8.779262223690780e-02 8.784949951260017e-02 8.790617682173207e-02 8.796265406226209e-02 - 8.801893109931651e-02 8.807500788687952e-02 8.813088437660771e-02 8.818656039674132e-02 8.824203585227545e-02 - 8.829731070095961e-02 8.835238486000704e-02 8.840725822106667e-02 8.846193068214857e-02 8.851640221803356e-02 - 8.857067273700293e-02 8.862474207580676e-02 8.867861014722141e-02 8.873227689758616e-02 8.878574227696898e-02 - 8.883900618220902e-02 8.889206851560667e-02 8.894492921167085e-02 8.899758815302622e-02 8.905004524008538e-02 - 8.910230044719054e-02 8.915435367300073e-02 8.920620479173334e-02 8.925785373448247e-02 8.930930045917142e-02 - 8.936054490961548e-02 8.941158695191696e-02 8.946242647641844e-02 8.951306341364354e-02 8.956349771969928e-02 - 8.961372931388180e-02 8.966375808278661e-02 8.971358396554302e-02 8.976320688963368e-02 8.981262675341668e-02 - 8.986184348935064e-02 8.991085703129179e-02 8.995966729258320e-02 9.000827417122792e-02 9.005667759770250e-02 - 9.010487756379584e-02 9.015287394264000e-02 9.020066659275561e-02 9.024825550203337e-02 9.029564061179933e-02 - 9.034282181894199e-02 9.038979902630290e-02 9.043657218570805e-02 9.048314126656666e-02 9.052950615463343e-02 - 9.057566675480395e-02 9.062162300961238e-02 9.066737484935303e-02 9.071292219781772e-02 9.075826498061153e-02 - 9.080340315127385e-02 9.084833664156222e-02 9.089306533771581e-02 9.093758915627431e-02 9.098190804149961e-02 - 9.102602195783284e-02 9.106993084471440e-02 9.111363462196023e-02 9.115713320054021e-02 9.120042650346059e-02 - 9.124351446434358e-02 9.128639702175202e-02 9.132907412994692e-02 9.137154573427010e-02 9.141381170435277e-02 - 9.145587198962597e-02 9.149772660800266e-02 9.153937542844172e-02 9.158081834977004e-02 9.162205535599281e-02 - 9.166308637778346e-02 9.170391133536025e-02 9.174453017072061e-02 9.178494285856946e-02 9.182514933661440e-02 - 9.186514945794547e-02 9.190494319482566e-02 9.194453054665523e-02 9.198391140758180e-02 9.202308569543158e-02 - 9.206205336702038e-02 9.210081441034919e-02 9.213936875086109e-02 9.217771627651770e-02 9.221585694962209e-02 - 9.225379072840771e-02 9.229151754885842e-02 9.232903734819613e-02 9.236635007909103e-02 9.240345570404732e-02 - 9.244035413434255e-02 9.247704529963750e-02 9.251352918345666e-02 9.254980573968512e-02 9.258587489795035e-02 - 9.262173657649034e-02 9.265739073985793e-02 9.269283735974691e-02 9.272807636276849e-02 9.276310769047050e-02 - 9.279793130272118e-02 9.283254716719631e-02 9.286695521394739e-02 9.290115536246511e-02 9.293514761281572e-02 - 9.296893192325742e-02 9.300250819824006e-02 9.303587638369953e-02 9.306903645092859e-02 9.310198837852499e-02 - 9.313473209662422e-02 9.316726755984403e-02 9.319959477466139e-02 9.323171364631608e-02 9.326362408592948e-02 - 9.329532610133226e-02 9.332681964339190e-02 9.335810464438972e-02 9.338918108249107e-02 9.342004893308628e-02 - 9.345070815580041e-02 9.348115868437977e-02 9.351140046962789e-02 9.354143348306601e-02 9.357125770365762e-02 - 9.360087308621738e-02 9.363027956518245e-02 9.365947710363894e-02 9.368846567300493e-02 9.371724524372237e-02 - 9.374581578300241e-02 9.377417725111503e-02 9.380232960142115e-02 9.383027280206080e-02 9.385800682788301e-02 - 9.388553164914089e-02 9.391284719773688e-02 9.393995342276806e-02 9.396685035781838e-02 9.399353796706621e-02 - 9.402001617537038e-02 9.404628495786660e-02 9.407234429781461e-02 9.409819417117830e-02 9.412383453169183e-02 - 9.414926534580341e-02 9.417448659641373e-02 9.419949825736050e-02 9.422430029380560e-02 9.424889267135104e-02 - 9.427327539998738e-02 9.429744844865905e-02 9.432141171534560e-02 9.434516522540957e-02 9.436870900006604e-02 - 9.439204294634228e-02 9.441516705436934e-02 9.443808133745002e-02 9.446078573953387e-02 9.448328023801857e-02 - 9.450556483411636e-02 9.452763950923013e-02 9.454950421611270e-02 9.457115890701832e-02 9.459260360830167e-02 - 9.461383832574666e-02 9.463486302352626e-02 9.465567765409444e-02 9.467628220109425e-02 9.469667668274938e-02 - 9.471686106967921e-02 9.473683533004949e-02 9.475659945563136e-02 9.477615343325803e-02 9.479549725292793e-02 - 9.481463091432241e-02 9.483355439545672e-02 9.485226766778346e-02 9.487077071788189e-02 9.488906353992572e-02 - 9.490714613644993e-02 9.492501852119042e-02 9.494268066964073e-02 9.496013253895599e-02 9.497737414244060e-02 - 9.499440547543551e-02 9.501122651272445e-02 9.502783728094538e-02 9.504423778187990e-02 9.506042797340242e-02 - 9.507640785191551e-02 9.509217742006319e-02 9.510773667189122e-02 9.512308563868060e-02 9.513822432123879e-02 - 9.515315264231193e-02 9.516787063845662e-02 9.518237836728226e-02 9.519667577724227e-02 9.521076284349063e-02 - 9.522463958294539e-02 9.523830604498588e-02 9.525176221483619e-02 9.526500804718509e-02 9.527804359769618e-02 - 9.529086886623650e-02 9.530348379689602e-02 9.531588845120076e-02 9.532808286166987e-02 9.534006699012688e-02 - 9.535184085361241e-02 9.536340447105748e-02 9.537475783364874e-02 9.538590095359538e-02 9.539683385237334e-02 - 9.540755654711666e-02 9.541806903829181e-02 9.542837132640679e-02 9.543846343230179e-02 9.544834536597921e-02 - 9.545801714100983e-02 9.546747880593646e-02 9.547673036184304e-02 9.548577178084619e-02 9.549460309483834e-02 - 9.550322434581640e-02 9.551163556335956e-02 9.551983673903520e-02 9.552782788036314e-02 9.553560902903191e-02 - 9.554318022933674e-02 9.555054148771730e-02 9.555769276632298e-02 9.556463412975340e-02 9.557136563747151e-02 - 9.557788725689133e-02 9.558419903459103e-02 9.559030102901959e-02 9.559619321427665e-02 9.560187562136102e-02 - 9.560734830883322e-02 9.561261127917654e-02 9.561766456108449e-02 9.562250820572099e-02 9.562714223416331e-02 - 9.563156666435306e-02 9.563578152405575e-02 9.563978686682097e-02 9.564358272631937e-02 9.564716910782914e-02 - 9.565054604965099e-02 9.565371359980702e-02 9.565667179877529e-02 9.565942066526258e-02 9.566196023293236e-02 - 9.566429057683135e-02 9.566641172752892e-02 9.566832368940979e-02 9.567002647518966e-02 9.567152016429874e-02 - 9.567280484915060e-02 9.567388053004788e-02 9.567474721294261e-02 9.567540493730267e-02 9.567585379392737e-02 - 9.567609383300600e-02 9.567612506298810e-02 9.567594754568214e-02 9.567556133790830e-02 9.567496647244744e-02 - 9.567416299512438e-02 9.567315095370396e-02 9.567193039196389e-02 9.567050136232016e-02 9.566886392120964e-02 - 9.566701812558283e-02 9.566496403827787e-02 9.566270170884209e-02 9.566023115264767e-02 9.565755243736668e-02 - 9.565466564791879e-02 9.565157080775241e-02 9.564826797386157e-02 9.564475723264595e-02 9.564103864027859e-02 - 9.563711223757489e-02 9.563297806735498e-02 9.562863621895812e-02 9.562408675116861e-02 9.561932968250994e-02 - 9.561436511583814e-02 9.560919313325968e-02 9.560381374743886e-02 9.559822704785555e-02 9.559243313048145e-02 - 9.558643203289170e-02 9.558022378864620e-02 9.557380846466877e-02 9.556718619530349e-02 9.556035703327785e-02 - 9.555332100122134e-02 9.554607821247386e-02 9.553862873475936e-02 9.553097259908433e-02 9.552310989218279e-02 - 9.551504070130773e-02 9.550676510186747e-02 9.549828317393894e-02 9.548959500356741e-02 9.548070067318166e-02 - 9.547160021295119e-02 9.546229369018946e-02 9.545278124506257e-02 9.544306292579091e-02 9.543313878273989e-02 - 9.542300894892854e-02 9.541267351639289e-02 9.540213254817664e-02 9.539138610562420e-02 9.538043425774057e-02 - 9.536927709152246e-02 9.535791472882026e-02 9.534634726779553e-02 9.533457478138217e-02 9.532259734256758e-02 - 9.531041503990305e-02 9.529802797105680e-02 9.528543620462085e-02 9.527263983869082e-02 9.525963900525855e-02 - 9.524643375927100e-02 9.523302417643500e-02 9.521941040061487e-02 9.520559252291068e-02 9.519157060486365e-02 - 9.517734471153570e-02 9.516291499670615e-02 9.514828160467456e-02 9.513344455080376e-02 9.511840393248631e-02 - 9.510315989360162e-02 9.508771251519674e-02 9.507206189457258e-02 9.505620814925633e-02 9.504015138530268e-02 - 9.502389169582724e-02 9.500742917228551e-02 9.499076394524120e-02 9.497389612890822e-02 9.495682580659018e-02 - 9.493955308203066e-02 9.492207807526097e-02 9.490440091330225e-02 9.488652168366014e-02 9.486844048723730e-02 - 9.485015747906970e-02 9.483167277063544e-02 9.481298644119306e-02 9.479409856622809e-02 9.477500930738031e-02 - 9.475571884085587e-02 9.473622721810367e-02 9.471653454723004e-02 9.469664098786204e-02 9.467654664635866e-02 - 9.465625162221861e-02 9.463575602621152e-02 9.461505999415500e-02 9.459416367044585e-02 9.457306719633034e-02 - 9.455177068421998e-02 9.453027423759350e-02 9.450857796468222e-02 9.448668199276268e-02 9.446458647203468e-02 - 9.444229157255099e-02 9.441979739649474e-02 9.439710403006842e-02 9.437421161454676e-02 9.435112031829759e-02 - 9.432783029179438e-02 9.430434160094567e-02 9.428065438538669e-02 9.425676883924589e-02 9.423268508508292e-02 - 9.420840322981890e-02 9.418392339716981e-02 9.415924578030670e-02 9.413437051700123e-02 9.410929767030043e-02 - 9.408402741009517e-02 9.405855992335012e-02 9.403289535840260e-02 9.400703383941893e-02 9.398097549341558e-02 - 9.395472046838550e-02 9.392826889502673e-02 9.390162091553057e-02 9.387477672023849e-02 9.384773645864139e-02 - 9.382050025947151e-02 9.379306828457251e-02 9.376544068778003e-02 9.373761760606118e-02 9.370959916011609e-02 - 9.368138552427184e-02 9.365297690930323e-02 9.362437342817573e-02 9.359557520850639e-02 9.356658243379877e-02 - 9.353739529945312e-02 9.350801394425273e-02 9.347843843855524e-02 9.344866901272440e-02 9.341870589097585e-02 - 9.338854915644307e-02 9.335819897637819e-02 9.332765555734250e-02 9.329691906420928e-02 9.326598960092489e-02 - 9.323486729288316e-02 9.320355242698486e-02 9.317204517635257e-02 9.314034562740874e-02 9.310845398153604e-02 - 9.307637042858882e-02 9.304409511565054e-02 9.301162817412864e-02 9.297896979469056e-02 9.294612022999450e-02 - 9.291307963943660e-02 9.287984815938743e-02 9.284642594887814e-02 9.281281319942865e-02 9.277901009754375e-02 - 9.274501679883909e-02 9.271083349621308e-02 9.267646039527271e-02 9.264189767811302e-02 9.260714551564306e-02 - 9.257220408228978e-02 9.253707357624473e-02 9.250175417101536e-02 9.246624602802385e-02 9.243054935165987e-02 - 9.239466434718238e-02 9.235859120974489e-02 9.232233012999355e-02 9.228588129454922e-02 9.224924488066757e-02 - 9.221242103323031e-02 9.217540995047416e-02 9.213821191347883e-02 9.210082709355732e-02 9.206325564930115e-02 - 9.202549780755387e-02 9.198755374602623e-02 9.194942363528436e-02 9.191110769995278e-02 9.187260614753277e-02 - 9.183391917841241e-02 9.179504701848260e-02 9.175598985687712e-02 9.171674785963810e-02 9.167732123351167e-02 - 9.163771019528422e-02 9.159791495855178e-02 9.155793572040530e-02 9.151777270193290e-02 9.147742614628342e-02 - 9.143689622063791e-02 9.139618310892414e-02 9.135528705455570e-02 9.131420824439858e-02 9.127294688450004e-02 - 9.123150325806001e-02 9.118987755991119e-02 9.114806996063474e-02 9.110608069642255e-02 9.106390998608170e-02 - 9.102155802996120e-02 9.097902503011562e-02 9.093631123402490e-02 9.089341690732793e-02 9.085034224655422e-02 - 9.080708743846595e-02 9.076365269164367e-02 9.072003828369785e-02 9.067624443485320e-02 9.063227129485288e-02 - 9.058811915193726e-02 9.054378827004000e-02 9.049927881221763e-02 9.045459103770109e-02 9.040972520178260e-02 - 9.036468147234690e-02 9.031946007844127e-02 9.027406127956829e-02 9.022848531585773e-02 9.018273243214560e-02 - 9.013680287341128e-02 9.009069686920407e-02 9.004441462623869e-02 8.999795635152021e-02 8.995132231203949e-02 - 8.990451276610797e-02 8.985752795281814e-02 8.981036812557305e-02 8.976303351703613e-02 8.971552434037033e-02 - 8.966784087291869e-02 8.961998334831080e-02 8.957195192338249e-02 8.952374693198487e-02 8.947536869631613e-02 - 8.942681737354224e-02 8.937809319632291e-02 8.932919644498671e-02 8.928012738635183e-02 8.923088623240803e-02 - 8.918147319450437e-02 8.913188858291199e-02 8.908213269254797e-02 8.903220577223506e-02 8.898210800726358e-02 - 8.893183965769864e-02 8.888140104180198e-02 8.883079233855783e-02 8.878001380541380e-02 8.872906581842580e-02 - 8.867794859494142e-02 8.862666233412557e-02 8.857520730323154e-02 8.852358381153494e-02 8.847179212845252e-02 - 8.841983243253916e-02 8.836770502123131e-02 8.831541022882371e-02 8.826294830990469e-02 8.821031949641793e-02 - 8.815752403748606e-02 8.810456224863354e-02 8.805143437639511e-02 8.799814063336710e-02 8.794468134879541e-02 - 8.789105684257616e-02 8.783726738270531e-02 8.778331316928159e-02 8.772919447874153e-02 8.767491167446911e-02 - 8.762046495069514e-02 8.756585454037039e-02 8.751108081839833e-02 8.745614408581825e-02 8.740104459021790e-02 - 8.734578256007368e-02 8.729035830815834e-02 8.723477214343743e-02 8.717902426868683e-02 8.712311501918556e-02 - 8.706704476846663e-02 8.701081371877695e-02 8.695442211628683e-02 8.689787027644420e-02 8.684115853767592e-02 - 8.678428714435096e-02 8.672725629439892e-02 8.667006642064547e-02 8.661271785522098e-02 8.655521075244504e-02 - 8.649754543067346e-02 8.643972223965939e-02 8.638174147222141e-02 8.632360334916610e-02 8.626530814542391e-02 - 8.620685627786050e-02 8.614824804295058e-02 8.608948367410735e-02 8.603056343813603e-02 8.597148768708160e-02 - 8.591225676580187e-02 8.585287085352321e-02 8.579333027004854e-02 8.573363543090719e-02 8.567378659419787e-02 - 8.561378404241062e-02 8.555362810687137e-02 8.549331906471129e-02 8.543285719635127e-02 8.537224281446841e-02 - 8.531147627953188e-02 8.525055791649624e-02 8.518948798167383e-02 8.512826679756995e-02 8.506689470133286e-02 - 8.500537199311337e-02 8.494369892596923e-02 8.488187579804041e-02 8.481990305210670e-02 8.475778099074194e-02 - 8.469550984763315e-02 8.463308996695838e-02 8.457052168539449e-02 8.450780530789033e-02 8.444494110975011e-02 - 8.438192942971584e-02 8.431877065438623e-02 8.425546507059704e-02 8.419201297696736e-02 8.412841471805475e-02 - 8.406467061549007e-02 8.400078097306259e-02 8.393674609180030e-02 8.387256634619757e-02 8.380824209666674e-02 - 8.374377362095807e-02 8.367916122870038e-02 8.361440526888680e-02 8.354950611900661e-02 8.348446403538942e-02 - 8.341927927704872e-02 8.335395233905314e-02 8.328848356223681e-02 8.322287316371958e-02 8.315712149574238e-02 - 8.309122893699929e-02 8.302519583647612e-02 8.295902243510637e-02 8.289270907781640e-02 8.282625623697057e-02 - 8.275966417678003e-02 8.269293318851907e-02 8.262606370095599e-02 8.255905601211083e-02 8.249191039312886e-02 - 8.242462718945633e-02 8.235720681988298e-02 8.228964967784431e-02 8.222195602541869e-02 8.215412621284769e-02 - 8.208616062445039e-02 8.201805954142698e-02 8.194982329150195e-02 8.188145225476894e-02 8.181294680713293e-02 - 8.174430731452863e-02 8.167553412282050e-02 8.160662752890076e-02 8.153758789030935e-02 8.146841562526554e-02 - 8.139911098330359e-02 8.132967428676124e-02 8.126010603531450e-02 8.119040656216225e-02 8.112057615694021e-02 - 8.105061517994502e-02 8.098052402265073e-02 8.091030303880128e-02 8.083995248093376e-02 8.076947276447492e-02 - 8.069886435754116e-02 8.062812754457355e-02 8.055726265736828e-02 8.048627008799529e-02 8.041515020636995e-02 - 8.034390332540668e-02 8.027252974489747e-02 8.020102993492553e-02 8.012940431195667e-02 8.005765317555476e-02 - 7.998577686939379e-02 7.991377577220368e-02 7.984165027334414e-02 7.976940065907111e-02 7.969702727793032e-02 - 7.962453065567111e-02 7.955191112254574e-02 7.947916895239987e-02 7.940630455590227e-02 7.933331833212637e-02 - 7.926021063894960e-02 7.918698178217287e-02 7.911363216326053e-02 7.904016223823181e-02 7.896657235187955e-02 - 7.889286283938438e-02 7.881903406306398e-02 7.874508643443230e-02 7.867102031060058e-02 7.859683599526633e-02 - 7.852253395767629e-02 7.844811463098400e-02 7.837357831424305e-02 7.829892537205134e-02 7.822415619643758e-02 - 7.814927116484589e-02 7.807427062910767e-02 7.799915496813195e-02 7.792392464520610e-02 7.784858004657273e-02 - 7.777312150359181e-02 7.769754936428309e-02 7.762186403791040e-02 7.754606594385612e-02 7.747015537442642e-02 - 7.739413273994507e-02 7.731799855521804e-02 7.724175314852555e-02 7.716539684747571e-02 7.708893004657069e-02 - 7.701235315053030e-02 7.693566653742440e-02 7.685887055661017e-02 7.678196565918903e-02 7.670495227727288e-02 - 7.662783073280909e-02 7.655060142689749e-02 7.647326478202995e-02 7.639582115595660e-02 7.631827089499127e-02 - 7.624061438211467e-02 7.616285210329320e-02 7.608498447266238e-02 7.600701183814436e-02 7.592893457493513e-02 - 7.585075308733022e-02 7.577246778116596e-02 7.569407897223836e-02 7.561558707997214e-02 7.553699264667676e-02 - 7.545829602219666e-02 7.537949752159374e-02 7.530059752746436e-02 7.522159652110559e-02 7.514249491290788e-02 - 7.506329293711217e-02 7.498399108869409e-02 7.490458989985715e-02 7.482508965268882e-02 7.474549074308040e-02 - 7.466579363230305e-02 7.458599868473173e-02 7.450610623924510e-02 7.442611667561436e-02 7.434603053570255e-02 - 7.426584824442337e-02 7.418557009969678e-02 7.410519651333995e-02 7.402472793153594e-02 7.394416477978479e-02 - 7.386350736456949e-02 7.378275607823381e-02 7.370191147772952e-02 7.362097394239986e-02 7.353994380500382e-02 - 7.345882147239775e-02 7.337760740248925e-02 7.329630201371148e-02 7.321490559729334e-02 7.313341861868546e-02 - 7.305184160923943e-02 7.297017492620234e-02 7.288841893034562e-02 7.280657402242413e-02 7.272464064227188e-02 - 7.264261917439505e-02 7.256050997585588e-02 7.247831356170273e-02 7.239603038649280e-02 7.231366079163171e-02 - 7.223120520116612e-02 7.214866404160214e-02 7.206603769517569e-02 7.198332653777370e-02 7.190053098792457e-02 - 7.181765153838118e-02 7.173468863077177e-02 7.165164265282598e-02 7.156851395212357e-02 7.148530298289761e-02 - 7.140201021117390e-02 7.131863593482980e-02 7.123518058493326e-02 7.115164469180060e-02 7.106802866653637e-02 - 7.098433289103630e-02 7.090055775733806e-02 7.081670370962735e-02 7.073277114629017e-02 7.064876042084919e-02 - 7.056467204467058e-02 7.048050649359339e-02 7.039626411522021e-02 7.031194531783586e-02 7.022755055007633e-02 - 7.014308026270048e-02 7.005853477507426e-02 6.997391445865883e-02 6.988921994223606e-02 6.980445161374127e-02 - 6.971960976161336e-02 6.963469490630880e-02 6.954970749457975e-02 6.946464787470261e-02 6.937951638488904e-02 - 6.929431352344900e-02 6.920903988440608e-02 6.912369577614699e-02 6.903828154824053e-02 6.895279768813133e-02 - 6.886724462309453e-02 6.878162274040467e-02 6.869593242264821e-02 6.861017418575431e-02 6.852434851303352e-02 - 6.843845573229547e-02 6.835249626715924e-02 6.826647058722328e-02 6.818037912112360e-02 6.809422221022603e-02 - 6.800800023353686e-02 6.792171381432285e-02 6.783536337902803e-02 6.774894920974223e-02 6.766247176656806e-02 - 6.757593152448671e-02 6.748932891036163e-02 6.740266425451470e-02 6.731593799992638e-02 6.722915072040272e-02 - 6.714230278026269e-02 6.705539454984789e-02 6.696842651283096e-02 6.688139909018249e-02 6.679431266253504e-02 - 6.670716761081900e-02 6.661996446504156e-02 6.653270374249923e-02 6.644538575792285e-02 6.635801090742725e-02 - 6.627057965598744e-02 6.618309245387675e-02 6.609554968705872e-02 6.600795173819872e-02 6.592029914958422e-02 - 6.583259238307172e-02 6.574483179767340e-02 6.565701780669353e-02 6.556915085921187e-02 6.548123140723705e-02 - 6.539325979064996e-02 6.530523643565112e-02 6.521716192687264e-02 6.512903665438342e-02 6.504086097557776e-02 - 6.495263535156262e-02 6.486436022769713e-02 6.477603601048113e-02 6.468766306269763e-02 6.459924187637454e-02 - 6.451077298036002e-02 6.442225675573160e-02 6.433369358016772e-02 6.424508387319842e-02 6.415642813133042e-02 - 6.406772674084167e-02 6.397898002556264e-02 6.389018858464109e-02 6.380135290132970e-02 6.371247325592760e-02 - 6.362355010153516e-02 6.353458392277617e-02 6.344557514446422e-02 6.335652411846264e-02 6.326743126079815e-02 - 6.317829713990436e-02 6.308912216326193e-02 6.299990668862973e-02 6.291065117630994e-02 6.282135608306753e-02 - 6.273202182393535e-02 6.264264873955985e-02 6.255323731562341e-02 6.246378810230178e-02 6.237430143094801e-02 - 6.228477769978175e-02 6.219521740601344e-02 6.210562097707054e-02 6.201598879095212e-02 6.192632121693314e-02 - 6.183661876812600e-02 6.174688193928092e-02 6.165711112558074e-02 6.156730673780070e-02 6.147746920022401e-02 - 6.138759893800432e-02 6.129769633241683e-02 6.120776180293847e-02 6.111779589683188e-02 6.102779903735479e-02 - 6.093777158500626e-02 6.084771398591046e-02 6.075762667844817e-02 6.066751007308262e-02 6.057736455111417e-02 - 6.048719057054321e-02 6.039698864588414e-02 6.030675917961215e-02 6.021650256672047e-02 6.012621923377075e-02 - 6.003590961818356e-02 5.994557411659043e-02 5.985521308639186e-02 5.976482706463886e-02 5.967441656528669e-02 - 5.958398192281734e-02 5.949352353003544e-02 5.940304183449088e-02 5.931253730252380e-02 5.922201027916447e-02 - 5.913146112197507e-02 5.904089044032181e-02 5.895029868043596e-02 5.885968615096351e-02 5.876905326755812e-02 - 5.867840050492581e-02 5.858772833116550e-02 5.849703703991720e-02 5.840632705235495e-02 5.831559896255584e-02 - 5.822485314806121e-02 5.813408997000494e-02 5.804330987759122e-02 5.795251328764216e-02 5.786170059865808e-02 - 5.777087221384987e-02 5.768002859772193e-02 5.758917021647553e-02 5.749829746896256e-02 5.740741077575853e-02 - 5.731651056875526e-02 5.722559725171274e-02 5.713467118430270e-02 5.704373274635539e-02 5.695278249332581e-02 - 5.686182088614487e-02 5.677084826809927e-02 5.667986504336005e-02 5.658887165217444e-02 5.649786853613976e-02 - 5.640685602792318e-02 5.631583453941855e-02 5.622480462822738e-02 5.613376666437993e-02 5.604272100502515e-02 - 5.595166813210956e-02 5.586060845174765e-02 5.576954232437998e-02 5.567847012652845e-02 5.558739236715193e-02 - 5.549630955542323e-02 5.540522197136583e-02 5.531413002536285e-02 5.522303422299683e-02 5.513193492275553e-02 - 5.504083247717721e-02 5.494972729209355e-02 5.485861988753332e-02 5.476751071228679e-02 5.467640010379995e-02 - 5.458528846418693e-02 5.449417622493567e-02 5.440306381105370e-02 5.431195155656662e-02 5.422083985771245e-02 - 5.412972927459819e-02 5.403862019627870e-02 5.394751295390937e-02 5.385640797531270e-02 5.376530569364821e-02 - 5.367420650537214e-02 5.358311072889269e-02 5.349201882499156e-02 5.340093132499041e-02 5.330984856991542e-02 - 5.321877091980749e-02 5.312769879767464e-02 5.303663263591166e-02 5.294557280318667e-02 5.285451962473617e-02 - 5.276347361952855e-02 5.267243525955664e-02 5.258140485845194e-02 5.249038280640431e-02 5.239936952998326e-02 - 5.230836544276557e-02 5.221737088032564e-02 5.212638621732711e-02 5.203541199430900e-02 5.194444860919033e-02 - 5.185349638284296e-02 5.176255572471577e-02 5.167162705674897e-02 5.158071077330502e-02 5.148980718747074e-02 - 5.139891673261619e-02 5.130803993485430e-02 5.121717713356427e-02 5.112632867301793e-02 5.103549496777923e-02 - 5.094467643725986e-02 5.085387344650644e-02 5.076308630673339e-02 5.067231551219451e-02 5.058156153920812e-02 - 5.049082469322039e-02 5.040010534612100e-02 5.030940391348503e-02 5.021872080090227e-02 5.012805633824483e-02 - 5.003741087422633e-02 4.994678493647212e-02 4.985617892926745e-02 4.976559315779018e-02 4.967502801470126e-02 - 4.958448390876292e-02 4.949396122643934e-02 4.940346027599988e-02 4.931298146262254e-02 4.922252530167843e-02 - 4.913209213539834e-02 4.904168229174269e-02 4.895129616994274e-02 4.886093417404704e-02 4.877059666413559e-02 - 4.868028394034647e-02 4.858999646754281e-02 4.849973472130898e-02 4.840949900241633e-02 4.831928966152828e-02 - 4.822910709871525e-02 4.813895171199074e-02 4.804882382564480e-02 4.795872376124456e-02 4.786865202942978e-02 - 4.777860903855367e-02 4.768859507592742e-02 4.759861051627762e-02 4.750865575639699e-02 4.741873117406014e-02 - 4.732883706721817e-02 4.723897381137243e-02 4.714914191200375e-02 4.705934171189571e-02 4.696957351961628e-02 - 4.687983771740974e-02 4.679013469431771e-02 4.670046480338604e-02 4.661082833156779e-02 4.652122571187634e-02 - 4.643165741520618e-02 4.634212373882778e-02 4.625262501422293e-02 4.616316162482947e-02 4.607373395212459e-02 - 4.598434231610999e-02 4.589498701904484e-02 4.580566854223844e-02 4.571638729424802e-02 4.562714355109129e-02 - 4.553793766452621e-02 4.544877001582995e-02 4.535964097502848e-02 4.527055082898004e-02 4.518149992236756e-02 - 4.509248874970542e-02 4.500351765014129e-02 4.491458690878355e-02 4.482569689376779e-02 4.473684797939540e-02 - 4.464804050747698e-02 4.455927474828068e-02 4.447055110499822e-02 4.438187004531898e-02 4.429323185876936e-02 - 4.420463685202721e-02 4.411608538888854e-02 4.402757783926076e-02 4.393911451733543e-02 4.385069570127949e-02 - 4.376232184208732e-02 4.367399334643604e-02 4.358571047769912e-02 4.349747356709084e-02 4.340928298020802e-02 - 4.332113907381294e-02 4.323304212320113e-02 4.314499244129432e-02 4.305699050668390e-02 4.296903665620930e-02 - 4.288113115167341e-02 4.279327434447749e-02 4.270546659199307e-02 4.261770822231841e-02 4.252999949469098e-02 - 4.244234077853745e-02 4.235473252680039e-02 4.226717502474875e-02 4.217966855846760e-02 4.209221347273914e-02 - 4.200481011967518e-02 4.191745880279663e-02 4.183015977695443e-02 4.174291346429643e-02 4.165572027077732e-02 - 4.156858044734360e-02 4.148149429654668e-02 4.139446216241891e-02 4.130748439363172e-02 4.122056125606220e-02 - 4.113369302794675e-02 4.104688016346336e-02 4.096012300095512e-02 4.087342178434451e-02 4.078677683583759e-02 - 4.070018849668031e-02 4.061365708919899e-02 4.052718285106741e-02 4.044076611819490e-02 4.035440733833207e-02 - 4.026810678092279e-02 4.018186470341873e-02 4.009568143909095e-02 4.000955732298062e-02 3.992349264534106e-02 - 3.983748763759326e-02 3.975154269055037e-02 3.966565820546299e-02 3.957983441649049e-02 3.949407160357907e-02 - 3.940837009289332e-02 3.932273021031552e-02 3.923715221270428e-02 3.915163635394041e-02 3.906618306202975e-02 - 3.898079266950179e-02 3.889546539672872e-02 3.881020154253283e-02 3.872500143016262e-02 3.863986536923758e-02 - 3.855479358615301e-02 3.846978637959592e-02 3.838484417257106e-02 3.829996723484980e-02 3.821515580420295e-02 - 3.813041018714970e-02 3.804573069687705e-02 3.796111761198420e-02 3.787657114752344e-02 3.779209165765486e-02 - 3.770767953120019e-02 3.762333499040284e-02 3.753905829251161e-02 3.745484974542636e-02 3.737070965331050e-02 - 3.728663825939783e-02 3.720263578933122e-02 3.711870264209954e-02 3.703483914671073e-02 3.695104550519348e-02 - 3.686732199057993e-02 3.678366890490292e-02 3.670008654113079e-02 3.661657511036890e-02 3.653313487804630e-02 - 3.644976625150438e-02 3.636646948823320e-02 3.628324479604935e-02 3.620009246605282e-02 3.611701279349350e-02 - 3.603400604041686e-02 3.595107239910939e-02 3.586821219020735e-02 3.578542579441001e-02 3.570271341631447e-02 - 3.562007528519529e-02 3.553751169069794e-02 3.545502291550906e-02 3.537260919186706e-02 3.529027072401183e-02 - 3.520800787214007e-02 3.512582095428173e-02 3.504371015751370e-02 3.496167573051010e-02 3.487971795476078e-02 - 3.479783710598274e-02 3.471603337811516e-02 3.463430699965583e-02 3.455265835796009e-02 3.447108770848941e-02 - 3.438959523450754e-02 3.430818119554624e-02 3.422684586511945e-02 3.414558949343227e-02 3.406441225419257e-02 - 3.398331443038755e-02 3.390229638782512e-02 3.382135832287533e-02 3.374050043789544e-02 3.365972299780525e-02 - 3.357902626321113e-02 3.349841045119794e-02 3.341787574130316e-02 3.333742246166845e-02 3.325705092272905e-02 - 3.317676129391954e-02 3.309655379649919e-02 3.301642868788483e-02 3.293638622159571e-02 3.285642658240021e-02 - 3.277654996949401e-02 3.269675673538998e-02 3.261704712715797e-02 3.253742130855802e-02 3.245787951722746e-02 - 3.237842200259459e-02 3.229904899349424e-02 3.221976065258773e-02 3.214055722659278e-02 3.206143905506719e-02 - 3.198240632628265e-02 3.190345921865954e-02 3.182459797365254e-02 3.174582282841434e-02 3.166713398447476e-02 - 3.158853160183031e-02 3.151001597036992e-02 3.143158738592136e-02 3.135324600516137e-02 3.127499202279022e-02 - 3.119682567104914e-02 3.111874718036912e-02 3.104075672462514e-02 3.096285447683152e-02 3.088504075536903e-02 - 3.080731579690068e-02 3.072967974437236e-02 3.065213281019982e-02 3.057467522135681e-02 3.049730718652442e-02 - 3.042002885157935e-02 3.034284042889533e-02 3.026574223701538e-02 3.018873445294931e-02 3.011181722724549e-02 - 3.003499077734359e-02 2.995825532248887e-02 2.988161104857855e-02 2.980505808548691e-02 2.972859668986686e-02 - 2.965222714891759e-02 2.957594959806504e-02 2.949976420500935e-02 2.942367118266701e-02 2.934767073798247e-02 - 2.927176302885600e-02 2.919594820074298e-02 2.912022654108078e-02 2.904459827654108e-02 2.896906352751058e-02 - 2.889362247668933e-02 2.881827533028623e-02 2.874302228403363e-02 2.866786346167200e-02 2.859279903706265e-02 - 2.851782931145582e-02 2.844295445253672e-02 2.836817458182308e-02 2.829348988995876e-02 2.821890057629359e-02 - 2.814440681221589e-02 2.807000870175516e-02 2.799570646465742e-02 2.792150037589211e-02 2.784739055623231e-02 - 2.777337714638600e-02 2.769946033688953e-02 2.762564030841585e-02 2.755191720229608e-02 2.747829114116882e-02 - 2.740476237631904e-02 2.733133112357609e-02 2.725799748998750e-02 2.718476162641247e-02 2.711162371095654e-02 - 2.703858392279279e-02 2.696564237390275e-02 2.689279920452167e-02 2.682005468428394e-02 2.674740897239565e-02 - 2.667486216835663e-02 2.660241443488607e-02 2.653006594727732e-02 2.645781686062815e-02 2.638566726160998e-02 - 2.631361733435826e-02 2.624166733570949e-02 2.616981737012440e-02 2.609806754771221e-02 2.602641803533937e-02 - 2.595486900051258e-02 2.588342056814261e-02 2.581207282360541e-02 2.574082599292273e-02 2.566968028470076e-02 - 2.559863577456860e-02 2.552769259041796e-02 2.545685089381796e-02 2.538611083889939e-02 2.531547252137675e-02 - 2.524493605061727e-02 2.517450166747065e-02 2.510416952086314e-02 2.503393968681819e-02 2.496381230163825e-02 - 2.489378751859868e-02 2.482386547683629e-02 2.475404624292582e-02 2.468432996264991e-02 2.461471687229032e-02 - 2.454520706873932e-02 2.447580063686782e-02 2.440649771598710e-02 2.433729844997764e-02 2.426820294893469e-02 - 2.419921127712116e-02 2.413032362216684e-02 2.406154017790910e-02 2.399286100816565e-02 2.392428621229386e-02 - 2.385581592554643e-02 2.378745028409909e-02 2.371918936700126e-02 2.365103325041379e-02 2.358298215018098e-02 - 2.351503620457756e-02 2.344719546326070e-02 2.337946004127276e-02 2.331183006962702e-02 2.324430566419196e-02 - 2.317688687789637e-02 2.310957382435168e-02 2.304236671579298e-02 2.297526563441205e-02 2.290827063843882e-02 - 2.284138184722980e-02 2.277459938171355e-02 2.270792333404544e-02 2.264135374860772e-02 2.257489077729924e-02 - 2.250853459738779e-02 2.244228525780410e-02 2.237614283279474e-02 2.231010743473913e-02 2.224417917668724e-02 - 2.217835812285958e-02 2.211264432248330e-02 2.204703795931322e-02 2.198153916317220e-02 2.191614796666107e-02 - 2.185086445220271e-02 2.178568872592581e-02 2.172062089111306e-02 2.165566098457172e-02 2.159080908357505e-02 - 2.152606537366001e-02 2.146142993110024e-02 2.139690279242156e-02 2.133248404619538e-02 2.126817379406035e-02 - 2.120397211607284e-02 2.113987903003668e-02 2.107589465469217e-02 2.101201915594272e-02 2.094825256288664e-02 - 2.088459492231405e-02 2.082104632696408e-02 2.075760686991806e-02 2.069427660166107e-02 2.063105554609518e-02 - 2.056794384972622e-02 2.050494162894281e-02 2.044204890243054e-02 2.037926573000831e-02 2.031659219454509e-02 - 2.025402837653619e-02 2.019157429898307e-02 2.012923000978476e-02 2.006699566765361e-02 2.000487133731908e-02 - 1.994285703240835e-02 1.988095281849638e-02 1.981915877663429e-02 1.975747497137283e-02 1.969590139839621e-02 - 1.963443814246610e-02 1.957308535571834e-02 1.951184305296579e-02 1.945071125524195e-02 1.938969003470093e-02 - 1.932877945979973e-02 1.926797956444602e-02 1.920729035294688e-02 1.914671194302782e-02 1.908624443873623e-02 - 1.902588783798898e-02 1.896564217312377e-02 1.890550750534374e-02 1.884548390173623e-02 1.878557136933607e-02 - 1.872576992282937e-02 1.866607969751645e-02 1.860650074902563e-02 1.854703306920867e-02 1.848767670108510e-02 - 1.842843170242723e-02 1.836929811895166e-02 1.831027593341436e-02 1.825136519709141e-02 1.819256603897189e-02 - 1.813387846842225e-02 1.807530248298604e-02 1.801683812530333e-02 1.795848544988909e-02 1.790024447932676e-02 - 1.784211518704799e-02 1.778409766075985e-02 1.772619199567190e-02 1.766839817113224e-02 1.761071619932593e-02 - 1.755314612276550e-02 1.749568797940397e-02 1.743834176385679e-02 1.738110747126647e-02 1.732398520795971e-02 - 1.726697501687009e-02 1.721007686976607e-02 1.715329079150987e-02 1.709661681774517e-02 1.704005496995066e-02 - 1.698360522175755e-02 1.692726759648597e-02 1.687104219632033e-02 1.681492902190890e-02 1.675892805218375e-02 - 1.670303930866012e-02 1.664726282100333e-02 1.659159859573434e-02 1.653604659349284e-02 1.648060687061485e-02 - 1.642527950537791e-02 1.637006446137386e-02 1.631496172845883e-02 1.625997133117372e-02 1.620509328829045e-02 - 1.615032758053278e-02 1.609567417924041e-02 1.604113316306734e-02 1.598670456411958e-02 1.593238833576510e-02 - 1.587818448257840e-02 1.582409302120838e-02 1.577011395254391e-02 1.571624723647299e-02 1.566249287063067e-02 - 1.560885093721684e-02 1.555532142372995e-02 1.550190428691725e-02 1.544859953345741e-02 1.539540716895692e-02 - 1.534232718045593e-02 1.528935952298772e-02 1.523650422043375e-02 1.518376132655854e-02 1.513113080051426e-02 - 1.507861261080395e-02 1.502620675643192e-02 1.497391324399307e-02 1.492173204313831e-02 1.486966309840608e-02 - 1.481770646058926e-02 1.476586215324725e-02 1.471413011485714e-02 1.466251032223325e-02 1.461100277337298e-02 - 1.455960746411957e-02 1.450832433725036e-02 1.445715335761371e-02 1.440609458945226e-02 1.435514801148310e-02 - 1.430431355790390e-02 1.425359121341204e-02 1.420298097105418e-02 1.415248280845771e-02 1.410209665546564e-02 - 1.405182250942155e-02 1.400166041623447e-02 1.395161031395394e-02 1.390167215017196e-02 1.385184591619880e-02 - 1.380213159317199e-02 1.375252913341631e-02 1.370303846818604e-02 1.365365962256361e-02 1.360439260851619e-02 - 1.355523734898775e-02 1.350619380184460e-02 1.345726194685572e-02 1.340844175819677e-02 1.335973317080697e-02 - 1.331113613029375e-02 1.326265067233158e-02 1.321427676765317e-02 1.316601433678336e-02 1.311786334248669e-02 - 1.306982375879771e-02 1.302189555021592e-02 1.297407863461756e-02 1.292637298076667e-02 1.287877861455418e-02 - 1.283129547339001e-02 1.278392348592105e-02 1.273666261347862e-02 1.268951282495219e-02 1.264247406704279e-02 - 1.259554625321822e-02 1.254872937642621e-02 1.250202343522368e-02 1.245542834900525e-02 1.240894405313941e-02 - 1.236257050462080e-02 1.231630767029411e-02 1.227015547343941e-02 1.222411383176151e-02 1.217818275998809e-02 - 1.213236222220244e-02 1.208665212384520e-02 1.204105241018576e-02 1.199556303854240e-02 1.195018395838791e-02 - 1.190491507365890e-02 1.185975632952753e-02 1.181470773836339e-02 1.176976922480089e-02 1.172494069835479e-02 - 1.168022211004454e-02 1.163561340968965e-02 1.159111452823667e-02 1.154672536811994e-02 1.150244589927961e-02 - 1.145827610670764e-02 1.141421589534856e-02 1.137026518661645e-02 1.132642392502224e-02 1.128269205281729e-02 - 1.123906948383837e-02 1.119555612518262e-02 1.115215196588227e-02 1.110885695891592e-02 1.106567099667937e-02 - 1.102259400831050e-02 1.097962593601935e-02 1.093676671505125e-02 1.089401623812122e-02 1.085137442757511e-02 - 1.080884127911701e-02 1.076641671182367e-02 1.072410061923310e-02 1.068189293399554e-02 1.063979359231152e-02 - 1.059780251428707e-02 1.055591958418482e-02 1.051414475108346e-02 1.047247799305691e-02 1.043091920126454e-02 - 1.038946827795377e-02 1.034812515386981e-02 1.030688975996647e-02 1.026576200007446e-02 1.022474176231751e-02 - 1.018382901647819e-02 1.014302370834395e-02 1.010232571551464e-02 1.006173495028295e-02 1.002125134058496e-02 - 9.980874808217161e-03 9.940605238090998e-03 9.900442533803457e-03 9.860386673211879e-03 9.820437566105797e-03 - 9.780595089730604e-03 9.740859166502601e-03 9.701229717604148e-03 9.661706648486619e-03 9.622289837555094e-03 - 9.582979211676392e-03 9.543774731762645e-03 9.504676285752028e-03 9.465683761437204e-03 9.426797070527869e-03 - 9.388016130061547e-03 9.349340837763126e-03 9.310771071700266e-03 9.272306774287777e-03 9.233947879847340e-03 - 9.195694263233465e-03 9.157545820041815e-03 9.119502462398593e-03 9.081564104605406e-03 9.043730620594144e-03 - 9.006001891771507e-03 8.968377884117109e-03 8.930858503326412e-03 8.893443610144467e-03 8.856133108771761e-03 - 8.818926910576046e-03 8.781824915337199e-03 8.744826984807866e-03 8.707933026764444e-03 8.671142997995955e-03 - 8.634456771198624e-03 8.597874217863410e-03 8.561395247729468e-03 8.525019762147885e-03 8.488747643810387e-03 - 8.452578758551675e-03 8.416513035074836e-03 8.380550402064440e-03 8.344690718755845e-03 8.308933866062409e-03 - 8.273279745485652e-03 8.237728259206089e-03 8.202279277607399e-03 8.166932668725525e-03 8.131688373197346e-03 - 8.096546291813443e-03 8.061506280849479e-03 8.026568229604077e-03 7.991732033790425e-03 7.956997581179438e-03 - 7.922364735477982e-03 7.887833385768220e-03 7.853403460644042e-03 7.819074838170454e-03 7.784847385209607e-03 - 7.750720988388416e-03 7.716695538073770e-03 7.682770912288046e-03 7.648946965667346e-03 7.615223607644973e-03 - 7.581600758648286e-03 7.548078272068747e-03 7.514656018308716e-03 7.481333888256649e-03 7.448111767084748e-03 - 7.414989518558892e-03 7.381967002509678e-03 7.349044141005179e-03 7.316220829119200e-03 7.283496916229069e-03 - 7.250872276568530e-03 7.218346796125786e-03 7.185920358959778e-03 7.153592811909379e-03 7.121364026156801e-03 - 7.089233934032213e-03 7.057202401526107e-03 7.025269274784423e-03 6.993434437254338e-03 6.961697770726437e-03 - 6.930059144137623e-03 6.898518406074085e-03 6.867075445461445e-03 6.835730169890301e-03 6.804482436531050e-03 - 6.773332103630715e-03 6.742279042830752e-03 6.711323134446215e-03 6.680464239400761e-03 6.649702204950062e-03 - 6.619036937093537e-03 6.588468325547939e-03 6.557996212108587e-03 6.527620458965777e-03 6.497340941897300e-03 - 6.467157538628341e-03 6.437070090473932e-03 6.407078453159759e-03 6.377182548096138e-03 6.347382238649846e-03 - 6.317677359750170e-03 6.288067782822399e-03 6.258553381641384e-03 6.229134019133821e-03 6.199809533909972e-03 - 6.170579803332374e-03 6.141444731866248e-03 6.112404164377095e-03 6.083457948651627e-03 6.054605954063168e-03 - 6.025848047899531e-03 5.997184082520315e-03 5.968613898555075e-03 5.940137388272029e-03 5.911754435973001e-03 - 5.883464876798197e-03 5.855268565478542e-03 5.827165369238958e-03 5.799155152943781e-03 5.771237757858197e-03 - 5.743413031370796e-03 5.715680873423079e-03 5.688041146137241e-03 5.660493683352233e-03 5.633038344713090e-03 - 5.605674994693767e-03 5.578403490874967e-03 5.551223666073857e-03 5.524135383482108e-03 5.497138538622371e-03 - 5.470232973711985e-03 5.443418527865922e-03 5.416695061766649e-03 5.390062436684385e-03 5.363520500801443e-03 - 5.337069085950208e-03 5.310708070645691e-03 5.284437334686721e-03 5.258256709167105e-03 5.232166039984466e-03 - 5.206165186351173e-03 5.180254006079314e-03 5.154432337116667e-03 5.128700017566677e-03 5.103056934758595e-03 - 5.077502948400768e-03 5.052037887552509e-03 5.026661602896529e-03 5.001373950974750e-03 4.976174783805283e-03 - 4.951063931174483e-03 4.926041244835856e-03 4.901106610871052e-03 4.876259869861805e-03 4.851500854152867e-03 - 4.826829416485723e-03 4.802245411238555e-03 4.777748682676776e-03 4.753339057595283e-03 4.729016402174706e-03 - 4.704780591018902e-03 4.680631452386119e-03 4.656568824906738e-03 4.632592561043116e-03 4.608702512089780e-03 - 4.584898512841469e-03 4.561180394112987e-03 4.537548032865621e-03 4.514001286180084e-03 4.490539978046344e-03 - 4.467163952568486e-03 4.443873060291688e-03 4.420667147623122e-03 4.397546041481102e-03 4.374509584352294e-03 - 4.351557654555007e-03 4.328690090868674e-03 4.305906719484884e-03 4.283207387010587e-03 4.260591942258349e-03 - 4.238060226010617e-03 4.215612060889534e-03 4.193247302342208e-03 4.170965820265097e-03 4.148767441443334e-03 - 4.126651998168965e-03 4.104619336614093e-03 4.082669303050944e-03 4.060801730082235e-03 4.039016442831475e-03 - 4.017313308452854e-03 3.995692181792875e-03 3.974152883344686e-03 3.952695251163741e-03 3.931319130911208e-03 - 3.910024364917125e-03 3.888810777810686e-03 3.867678204037116e-03 3.846626514691173e-03 3.825655547709963e-03 - 3.804765124734014e-03 3.783955087456414e-03 3.763225279741349e-03 3.742575538839424e-03 3.722005684569956e-03 - 3.701515563829318e-03 3.681105042529648e-03 3.660773945892437e-03 3.640522100973796e-03 3.620349349516141e-03 - 3.600255533338096e-03 3.580240483202974e-03 3.560304020332013e-03 3.540446002992503e-03 3.520666284206718e-03 - 3.500964682823155e-03 3.481341031384374e-03 3.461795171007476e-03 3.442326941040924e-03 3.422936165061433e-03 - 3.403622671201535e-03 3.384386323473485e-03 3.365226959961049e-03 3.346144399498565e-03 3.327138478378434e-03 - 3.308209036536853e-03 3.289355909461925e-03 3.270578915351533e-03 3.251877893639187e-03 3.233252706195778e-03 - 3.214703178029928e-03 3.196229132118811e-03 3.177830406368320e-03 3.159506839403438e-03 3.141258260810600e-03 - 3.123084488811596e-03 3.104985374197366e-03 3.086960768611876e-03 3.069010490077185e-03 3.051134366997480e-03 - 3.033332237019262e-03 3.015603936903380e-03 2.997949290147841e-03 2.980368120588831e-03 2.962860285290425e-03 - 2.945425622240710e-03 2.928063948810786e-03 2.910775098113858e-03 2.893558906982335e-03 2.876415208617919e-03 - 2.859343821344898e-03 2.842344578930633e-03 2.825417338731532e-03 2.808561926446875e-03 2.791778162629514e-03 - 2.775065882662152e-03 2.758424922052246e-03 2.741855109318431e-03 2.725356262118107e-03 2.708928224810950e-03 - 2.692570847204586e-03 2.676283947708203e-03 2.660067352018658e-03 2.643920895408666e-03 2.627844412630983e-03 - 2.611837727127577e-03 2.595900659591014e-03 2.580033062057212e-03 2.564234773200918e-03 2.548505609580814e-03 - 2.532845401329118e-03 2.517253983314282e-03 2.501731188088862e-03 2.486276834298587e-03 2.470890751027053e-03 - 2.455572791828030e-03 2.440322784214469e-03 2.425140547489158e-03 2.410025914370114e-03 2.394978718743150e-03 - 2.379998789312335e-03 2.365085943631231e-03 2.350240020749269e-03 2.335460868942443e-03 2.320748308349550e-03 - 2.306102163022297e-03 2.291522266200105e-03 2.277008450857895e-03 2.262560541519312e-03 2.248178358404482e-03 - 2.233861748393963e-03 2.219610550590767e-03 2.205424582540762e-03 2.191303672653564e-03 2.177247654150935e-03 - 2.163256358437406e-03 2.149329606085116e-03 2.135467224025938e-03 2.121669062135428e-03 2.107934949596006e-03 - 2.094264705479671e-03 2.080658161247730e-03 2.067115150052171e-03 2.053635501035216e-03 2.040219032033609e-03 - 2.026865578574763e-03 2.013574988607888e-03 2.000347084189316e-03 1.987181688126059e-03 1.974078632294973e-03 - 1.961037750159034e-03 1.948058867783843e-03 1.935141804192390e-03 1.922286403096425e-03 1.909492504980594e-03 - 1.896759928265229e-03 1.884088500763132e-03 1.871478055631251e-03 1.858928424089599e-03 1.846439428400912e-03 - 1.834010894228015e-03 1.821642669213327e-03 1.809334584628213e-03 1.797086460037203e-03 1.784898126770644e-03 - 1.772769417737367e-03 1.760700162615002e-03 1.748690181778845e-03 1.736739308394668e-03 1.724847388831493e-03 - 1.713014248130287e-03 1.701239709792772e-03 1.689523605558227e-03 1.677865768960374e-03 1.666266027776910e-03 - 1.654724201747776e-03 1.643240132443950e-03 1.631813662093462e-03 1.620444610863358e-03 1.609132806416696e-03 - 1.597878082462674e-03 1.586680271167799e-03 1.575539197124769e-03 1.564454685806544e-03 1.553426583192850e-03 - 1.542454723186195e-03 1.531538926942232e-03 1.520679025889417e-03 1.509874853790604e-03 1.499126242122267e-03 - 1.488433013507451e-03 1.477795000037597e-03 1.467212048115432e-03 1.456683985464255e-03 1.446210636719452e-03 - 1.435791835117153e-03 1.425427414393694e-03 1.415117204211151e-03 1.404861027594662e-03 1.394658724273689e-03 - 1.384510137356095e-03 1.374415090575271e-03 1.364373412382042e-03 1.354384937246215e-03 1.344449499301808e-03 - 1.334566925970926e-03 1.324737043332181e-03 1.314959696939330e-03 1.305234723823342e-03 1.295561947265019e-03 - 1.285941199528206e-03 1.276372315963847e-03 1.266855130463658e-03 1.257389468322312e-03 1.247975161599065e-03 - 1.238612057815808e-03 1.229299987951490e-03 1.220038778115428e-03 1.210828263449681e-03 1.201668279419893e-03 - 1.192558658328712e-03 1.183499226491516e-03 1.174489822883548e-03 1.165530291825810e-03 1.156620461345326e-03 - 1.147760161971411e-03 1.138949229776032e-03 1.130187500878873e-03 1.121474806129454e-03 1.112810973708310e-03 - 1.104195848566657e-03 1.095629271185936e-03 1.087111069073448e-03 1.078641075658101e-03 1.070219127753748e-03 - 1.061845062287274e-03 1.053518708913237e-03 1.045239900848634e-03 1.037008485418972e-03 1.028824298155823e-03 - 1.020687168641753e-03 1.012596933141099e-03 1.004553429894111e-03 9.965564952721074e-04 9.886059579764911e-04 - 9.807016577383673e-04 9.728434421263681e-04 9.650311428619217e-04 9.572645925441391e-04 9.495436296868831e-04 - 9.418680934992058e-04 9.342378189983833e-04 9.266526374013966e-04 9.191123940951565e-04 9.116169327210938e-04 - 9.041660846048507e-04 8.967596865276394e-04 8.893975784458786e-04 8.820795994475233e-04 8.748055834052338e-04 - 8.675753662309574e-04 8.603887967412885e-04 8.532457145816050e-04 8.461459528881801e-04 8.390893515597134e-04 - 8.320757512954288e-04 8.251049910410551e-04 8.181769052102455e-04 8.112913354889369e-04 8.044481307476467e-04 - 7.976471276304203e-04 7.908881626723219e-04 7.841710779271092e-04 7.774957151422038e-04 7.708619131557394e-04 - 7.642695077220146e-04 7.577183458379644e-04 7.512082748417916e-04 7.447391309361296e-04 7.383107537219758e-04 - 7.319229861740803e-04 7.255756719189899e-04 7.192686493738265e-04 7.130017570250109e-04 7.067748463319056e-04 - 7.005877618919097e-04 6.944403408515077e-04 6.883324261093659e-04 6.822638623160529e-04 6.762344932684062e-04 - 6.702441573916524e-04 6.642926986443232e-04 6.583799694858947e-04 6.525058122102392e-04 6.466700672293728e-04 - 6.408725793807691e-04 6.351131947715911e-04 6.293917574305099e-04 6.237081070877600e-04 6.180620932909059e-04 - 6.124535677685099e-04 6.068823714677426e-04 6.013483481700967e-04 5.958513451670206e-04 5.903912096703989e-04 - 5.849677853780454e-04 5.795809154020751e-04 5.742304534677881e-04 5.689162489783443e-04 5.636381442526738e-04 - 5.583959863498279e-04 5.531896240506697e-04 5.480189055622431e-04 5.428836748799696e-04 5.377837797240800e-04 - 5.327190759830209e-04 5.276894110958636e-04 5.226946300477827e-04 5.177345825024617e-04 5.128091188465486e-04 - 5.079180879528710e-04 5.030613351067660e-04 4.982387130290541e-04 4.934500776624026e-04 4.886952758062522e-04 - 4.839741558713263e-04 4.792865695826084e-04 4.746323688630657e-04 4.700114029595036e-04 4.654235198613055e-04 - 4.608685766627245e-04 4.563464280591107e-04 4.518569219186994e-04 4.473999099762359e-04 4.429752457691277e-04 - 4.385827824909558e-04 4.342223700107388e-04 4.298938604566902e-04 4.255971135329090e-04 4.213319826090788e-04 - 4.170983180859963e-04 4.128959744299958e-04 4.087248069577171e-04 4.045846700338900e-04 4.004754147907325e-04 - 3.963968979642262e-04 3.923489801919561e-04 3.883315144592717e-04 3.843443544269981e-04 3.803873568608614e-04 - 3.764603788261386e-04 3.725632754784107e-04 3.686959004384349e-04 3.648581147870281e-04 3.610497787686854e-04 - 3.572707463878945e-04 3.535208745539621e-04 3.498000220657478e-04 3.461080477383748e-04 3.424448076363575e-04 - 3.388101589386426e-04 3.352039657815740e-04 3.316260877532703e-04 3.280763812137888e-04 3.245547060139738e-04 - 3.210609229167205e-04 3.175948921405597e-04 3.141564711604799e-04 3.107455215081982e-04 3.073619088757455e-04 - 3.040054927848886e-04 3.006761327105527e-04 2.973736909925681e-04 2.940980303881470e-04 2.908490123115160e-04 - 2.876264965105581e-04 2.844303488008553e-04 2.812604353029198e-04 2.781166164989417e-04 2.749987551423296e-04 - 2.719067158817455e-04 2.688403633742989e-04 2.657995602462465e-04 2.627841695326067e-04 2.597940603791381e-04 - 2.568290988582687e-04 2.538891477672460e-04 2.509740728301346e-04 2.480837407612393e-04 2.452180180501483e-04 - 2.423767689150773e-04 2.395598604007145e-04 2.367671637065971e-04 2.339985452156380e-04 2.312538707417314e-04 - 2.285330086975239e-04 2.258358279521211e-04 2.231621965330517e-04 2.205119809474630e-04 2.178850522930381e-04 - 2.152812827957872e-04 2.127005401044592e-04 2.101426932429596e-04 2.076076129630843e-04 2.050951703707553e-04 - 2.026052350574154e-04 2.001376764695323e-04 1.976923692963255e-04 1.952691863631026e-04 1.928679973631469e-04 - 1.904886744667185e-04 1.881310908124045e-04 1.857951194428946e-04 1.834806317739651e-04 1.811875010647571e-04 - 1.789156043640377e-04 1.766648152326652e-04 1.744350063601967e-04 1.722260526922104e-04 1.700378296945535e-04 - 1.678702123432160e-04 1.657230742438847e-04 1.635962925697728e-04 1.614897461072756e-04 1.594033097074569e-04 - 1.573368592094730e-04 1.552902721810668e-04 1.532634264532060e-04 1.512561988693490e-04 1.492684659352835e-04 - 1.473001083560244e-04 1.453510059716440e-04 1.434210358729406e-04 1.415100771164913e-04 1.396180097223186e-04 - 1.377447137267307e-04 1.358900680130841e-04 1.340539526362652e-04 1.322362510498252e-04 1.304368442346035e-04 - 1.286556121626104e-04 1.268924368411170e-04 1.251472007379926e-04 1.234197860690376e-04 1.217100740639766e-04 - 1.200179485071157e-04 1.183432949752447e-04 1.166859960758634e-04 1.150459349477667e-04 1.134229962637926e-04 - 1.118170649981152e-04 1.102280255615328e-04 1.086557620076939e-04 1.071001616642248e-04 1.055611117192228e-04 - 1.040384970703678e-04 1.025322040262462e-04 1.010421198490596e-04 9.956813202096472e-05 9.811012722455996e-05 - 9.666799283658755e-05 9.524161921027426e-05 9.383089505710078e-05 9.243570803818307e-05 9.105594759252440e-05 - 8.969150364397068e-05 8.834226604286881e-05 8.700812397260034e-05 8.568896841419017e-05 8.438469212608002e-05 - 8.309518568825200e-05 8.182033994906239e-05 8.056004718218619e-05 7.931419998170841e-05 7.808269064296404e-05 - 7.686541112857092e-05 7.566225594198306e-05 7.447311991364301e-05 7.329789600792314e-05 7.213647827366786e-05 - 7.098876170896106e-05 6.985464163907488e-05 6.873401282606521e-05 6.762677039259616e-05 6.653281205307769e-05 - 6.545203459530543e-05 6.438433381335806e-05 6.332960688869456e-05 6.228775159650499e-05 6.125866586213212e-05 - 6.024224709312662e-05 5.923839394811549e-05 5.824700680510711e-05 5.726798458845817e-05 5.630122626966778e-05 - 5.534663202079377e-05 5.440410243697520e-05 5.347353805513213e-05 5.255483915897720e-05 5.164790790372327e-05 - 5.075264706713765e-05 4.986895809670387e-05 4.899674321102013e-05 4.813590548272275e-05 4.728634834520723e-05 - 4.644797500988253e-05 4.562068892036128e-05 4.480439551815946e-05 4.399899988301035e-05 4.320440633696577e-05 - 4.242052030402665e-05 4.164724778526068e-05 4.088449502887978e-05 4.013216802138054e-05 3.939017361734100e-05 - 3.865842020891389e-05 3.793681530287127e-05 3.722526637683801e-05 3.652368195642655e-05 3.583197100166348e-05 - 3.515004257550265e-05 3.447780563338777e-05 3.381517049939420e-05 3.316204825033269e-05 3.251834908257212e-05 - 3.188398376275541e-05 3.125886384349450e-05 3.064290126992314e-05 3.003600797392098e-05 2.943809607683111e-05 - 2.884907925556903e-05 2.826887119646782e-05 2.769738505988399e-05 2.713453488302094e-05 2.658023526748751e-05 - 2.603440114263312e-05 2.549694738792051e-05 2.496778949423694e-05 2.444684425976710e-05 2.393402805764408e-05 - 2.342925723948219e-05 2.293244905822871e-05 2.244352120797989e-05 2.196239159983278e-05 2.148897818423003e-05 - 2.102319990982268e-05 2.056497650699234e-05 2.011422722229805e-05 1.967087173846936e-05 1.923483045310688e-05 - 1.880602417859793e-05 1.838437386840237e-05 1.796980069033951e-05 1.756222699777835e-05 1.716157539169325e-05 - 1.676776819323897e-05 1.638072842752046e-05 1.600037965967140e-05 1.562664583506045e-05 1.525945101785764e-05 - 1.489871974108943e-05 1.454437762041471e-05 1.419635018600421e-05 1.385456300630342e-05 1.351894241351905e-05 - 1.318941519258516e-05 1.286590843459537e-05 1.254834939298960e-05 1.223666606495489e-05 1.193078719950152e-05 - 1.163064137727749e-05 1.133615754527981e-05 1.104726530816775e-05 1.076389469662666e-05 1.048597599093073e-05 - 1.021343974753131e-05 9.946217419267380e-06 9.684240838620889e-06 9.427441790773100e-06 9.175752643853506e-06 - 8.929106280098344e-06 8.687435997194528e-06 8.450675338936148e-06 8.218758257424963e-06 7.991619584870982e-06 - 7.769194298227330e-06 7.551417507621627e-06 7.338224987041431e-06 7.129552955942858e-06 6.925337997222138e-06 - 6.725516977155444e-06 6.530027335862672e-06 6.338807194551445e-06 6.151794769434223e-06 5.968928615355085e-06 - 5.790147878391894e-06 5.615392155261267e-06 5.444601365246586e-06 5.277715758699128e-06 5.114676291438329e-06 - 4.955424365336747e-06 4.799901525655197e-06 4.648049820836300e-06 4.499811793985402e-06 4.355130438087899e-06 - 4.213949069835453e-06 4.076211399540344e-06 3.941861865039729e-06 3.810845196499976e-06 3.683106361660463e-06 - 3.558590910585118e-06 3.437244835818923e-06 3.319014541070219e-06 3.203846795533912e-06 3.091688852089737e-06 - 2.982488579295818e-06 2.876194109656037e-06 2.772753925582794e-06 2.672117063800105e-06 2.574233014808049e-06 - 2.479051643033932e-06 2.386523210361943e-06 2.296598552297165e-06 2.209228971591383e-06 2.124366069775506e-06 - 2.041961906232304e-06 1.961969019732135e-06 1.884340423438541e-06 1.809029507182080e-06 1.735990071613592e-06 - 1.665176534356502e-06 1.596543687803830e-06 1.530046658503296e-06 1.465641105678908e-06 1.403283128309336e-06 - 1.342929271825179e-06 1.284536503035511e-06 1.228062233226246e-06 1.173464436795038e-06 1.120701460082181e-06 - 1.069732028902882e-06 1.020515399241352e-06 9.730112822753146e-07 9.271798002921477e-07 8.829815278752155e-07 - 8.403775374680640e-07 7.993293716485992e-07 7.597989809176624e-07 7.217487560416926e-07 6.851415619710593e-07 - 6.499407524191172e-07 6.161100929136179e-07 5.836137918783888e-07 5.524166028233452e-07 5.224836968385216e-07 - 4.937806609639881e-07 4.662735849361845e-07 4.399289991547822e-07 4.147139110260500e-07 3.905957813609555e-07 - 3.675425084859321e-07 3.455225231396512e-07 3.245046871736890e-07 3.044582778536548e-07 2.853530928283095e-07 - 2.671593859185241e-07 2.498478511400059e-07 2.333896726605378e-07 2.177564985206194e-07 2.029204500538344e-07 - 1.888541210793108e-07 1.755305458522738e-07 1.629232393506973e-07 1.510062144201093e-07 1.397539174372155e-07 - 1.291412703741045e-07 1.191437050672961e-07 1.097370923617762e-07 1.008977778162274e-07 9.260259669902208e-08 - 8.482883141984319e-08 7.755426670738778e-08 7.075715683240311e-08 6.441620467100832e-08 5.851063608240125e-08 - 5.302013495440350e-08 4.792483459927075e-08 4.320538955913144e-08 3.884291294265582e-08 3.481898425658018e-08 - 3.111569527451850e-08 2.771559342817648e-08 2.460171067137196e-08 2.175758348333717e-08 1.916719757773861e-08 - 1.681503457183268e-08 1.468607978947252e-08 1.276576812429566e-08 1.104003874048358e-08 9.495328649625366e-09 - 8.118528715645258e-09 6.897042498203040e-09 5.818760232281117e-09 4.872032311209139e-09 4.045732447740840e-09 - 3.329210679517489e-09 2.712284881132093e-09 2.185301687016959e-09 1.739076161987666e-09 1.364901589086205e-09 - 1.054599065845252e-09 8.004535320102697e-10 5.952414597054672e-10 4.322622496028902e-10 3.052766304104823e-10 - 2.085502003918036e-10 1.368642901349301e-10 8.546164059834664e-11 5.010215808832263e-11 2.705311520847365e-11 - 1.304599438344934e-11 5.339090781311160e-12 1.692041320615927e-12 3.321208355096226e-13 6.781366937015517e-15 diff --git a/examples/SPIN/curie_temperature/compliance.py b/examples/SPIN/curie_temperature/compliance.py deleted file mode 100755 index 6ef35be553..0000000000 --- a/examples/SPIN/curie_temperature/compliance.py +++ /dev/null @@ -1,95 +0,0 @@ -#!/usr/bin/env python - -# This file reads in the file log.lammps generated by the script ELASTIC/in.elastic -# It prints out the 6x6 tensor of elastic constants Cij -# followed by the 6x6 tensor of compliance constants Sij -# It uses the same conventions as described in: -# Sprik, Impey and Klein PRB (1984). -# The units of Cij are whatever was used in log.lammps (usually GPa) -# The units of Sij are the inverse of that (usually 1/GPa) - -from numpy import zeros -from numpy.linalg import inv - -# define logfile layout - -nvals = 21 -valpos = 4 -valstr = '\nElastic Constant C' - -# define order of Cij in logfile - -cindices = [0]*nvals -cindices[0] = (0,0) -cindices[1] = (1,1) -cindices[2] = (2,2) -cindices[3] = (0,1) -cindices[4] = (0,2) -cindices[5] = (1,2) -cindices[6] = (3,3) -cindices[7] = (4,4) -cindices[8] = (5,5) -cindices[9] = (0,3) -cindices[10] = (0,4) -cindices[11] = (0,5) -cindices[12] = (1,3) -cindices[13] = (1,4) -cindices[14] = (1,5) -cindices[15] = (2,3) -cindices[16] = (2,4) -cindices[17] = (2,5) -cindices[18] = (3,4) -cindices[19] = (3,5) -cindices[20] = (4,5) - -# open logfile - -logfile = open("log.lammps",'r') - -txt = logfile.read() - -# search for 21 elastic constants - -c = zeros((6,6)) -s2 = 0 - -for ival in range(nvals): - s1 = txt.find(valstr,s2) - if (s1 == -1): - print "Failed to find elastic constants in log file" - exit(1) - s1 += 1 - s2 = txt.find("\n",s1) - line = txt[s1:s2] -# print line - words = line.split() - (i1,i2) = cindices[ival] - c[i1,i2] = float(words[valpos]) - c[i2,i1] = c[i1,i2] - -print "C tensor [GPa]" -for i in range(6): - for j in range(6): - print "%10.8g " % c[i][j], - print - -# apply factor of 2 to columns of off-diagonal elements - -for i in range(6): - for j in range(3,6): - c[i][j] *= 2.0 - -s = inv(c) - -# apply factor of 1/2 to columns of off-diagonal elements - -for i in range(6): - for j in range(3,6): - s[i][j] *= 0.5 - -print "S tensor [1/GPa]" -for i in range(6): - for j in range(6): - print "%10.8g " % s[i][j], - print - diff --git a/examples/SPIN/curie_temperature/displace.mod b/examples/SPIN/curie_temperature/displace.mod deleted file mode 100644 index 9664fa8d0d..0000000000 --- a/examples/SPIN/curie_temperature/displace.mod +++ /dev/null @@ -1,142 +0,0 @@ -# NOTE: This script should not need to be -# modified. See in.elastic for more info. -# -# Find which reference length to use - -if "${dir} == 1" then & - "variable len0 equal ${lx0}" -if "${dir} == 2" then & - "variable len0 equal ${ly0}" -if "${dir} == 3" then & - "variable len0 equal ${lz0}" -if "${dir} == 4" then & - "variable len0 equal ${lz0}" -if "${dir} == 5" then & - "variable len0 equal ${lz0}" -if "${dir} == 6" then & - "variable len0 equal ${ly0}" - -# Reset box and simulation parameters - -clear -box tilt large -read_restart restart.equil -include potential.mod - -# Negative deformation - -variable delta equal -${up}*${len0} -variable deltaxy equal -${up}*xy -variable deltaxz equal -${up}*xz -variable deltayz equal -${up}*yz -if "${dir} == 1" then & - "change_box all x delta 0 ${delta} xy delta ${deltaxy} xz delta ${deltaxz} remap units box" -if "${dir} == 2" then & - "change_box all y delta 0 ${delta} yz delta ${deltayz} remap units box" -if "${dir} == 3" then & - "change_box all z delta 0 ${delta} remap units box" -if "${dir} == 4" then & - "change_box all yz delta ${delta} remap units box" -if "${dir} == 5" then & - "change_box all xz delta ${delta} remap units box" -if "${dir} == 6" then & - "change_box all xy delta ${delta} remap units box" - -# Relax atoms positions - -minimize ${etol} ${ftol} ${maxiter} ${maxeval} - -# Obtain new stress tensor - -variable tmp equal pxx -variable pxx1 equal ${tmp} -variable tmp equal pyy -variable pyy1 equal ${tmp} -variable tmp equal pzz -variable pzz1 equal ${tmp} -variable tmp equal pxy -variable pxy1 equal ${tmp} -variable tmp equal pxz -variable pxz1 equal ${tmp} -variable tmp equal pyz -variable pyz1 equal ${tmp} - -# Compute elastic constant from pressure tensor - -variable C1neg equal ${d1} -variable C2neg equal ${d2} -variable C3neg equal ${d3} -variable C4neg equal ${d4} -variable C5neg equal ${d5} -variable C6neg equal ${d6} - -# Reset box and simulation parameters - -clear -box tilt large -read_restart restart.equil -include potential.mod - -# Positive deformation - -variable delta equal ${up}*${len0} -variable deltaxy equal ${up}*xy -variable deltaxz equal ${up}*xz -variable deltayz equal ${up}*yz -if "${dir} == 1" then & - "change_box all x delta 0 ${delta} xy delta ${deltaxy} xz delta ${deltaxz} remap units box" -if "${dir} == 2" then & - "change_box all y delta 0 ${delta} yz delta ${deltayz} remap units box" -if "${dir} == 3" then & - "change_box all z delta 0 ${delta} remap units box" -if "${dir} == 4" then & - "change_box all yz delta ${delta} remap units box" -if "${dir} == 5" then & - "change_box all xz delta ${delta} remap units box" -if "${dir} == 6" then & - "change_box all xy delta ${delta} remap units box" - -# Relax atoms positions - -minimize ${etol} ${ftol} ${maxiter} ${maxeval} - -# Obtain new stress tensor - -variable tmp equal pe -variable e1 equal ${tmp} -variable tmp equal press -variable p1 equal ${tmp} -variable tmp equal pxx -variable pxx1 equal ${tmp} -variable tmp equal pyy -variable pyy1 equal ${tmp} -variable tmp equal pzz -variable pzz1 equal ${tmp} -variable tmp equal pxy -variable pxy1 equal ${tmp} -variable tmp equal pxz -variable pxz1 equal ${tmp} -variable tmp equal pyz -variable pyz1 equal ${tmp} - -# Compute elastic constant from pressure tensor - -variable C1pos equal ${d1} -variable C2pos equal ${d2} -variable C3pos equal ${d3} -variable C4pos equal ${d4} -variable C5pos equal ${d5} -variable C6pos equal ${d6} - -# Combine positive and negative - -variable C1${dir} equal 0.5*(${C1neg}+${C1pos}) -variable C2${dir} equal 0.5*(${C2neg}+${C2pos}) -variable C3${dir} equal 0.5*(${C3neg}+${C3pos}) -variable C4${dir} equal 0.5*(${C4neg}+${C4pos}) -variable C5${dir} equal 0.5*(${C5neg}+${C5pos}) -variable C6${dir} equal 0.5*(${C6neg}+${C6pos}) - -# Delete dir to make sure it is not reused - -variable dir delete diff --git a/examples/SPIN/curie_temperature/in.spin.cobalt b/examples/SPIN/curie_temperature/in.spin.cobalt deleted file mode 100644 index 682baf9418..0000000000 --- a/examples/SPIN/curie_temperature/in.spin.cobalt +++ /dev/null @@ -1,59 +0,0 @@ -# fcc cobalt in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary p p p - -# check why? -atom_modify map array - -lattice fcc 3.54 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -create_atoms 1 box - -# setting mass, mag. moments, and interactions for cobalt - -mass 1 58.93 - -set group all spin/random 31 1.72 -velocity all create 100 4928459 rot yes dist gaussian - -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.1 21 - -fix 3 all integration/spin lattice yes - -timestep 0.0001 - - -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] -variable mag_force equal f_1 - -thermo_style custom step time v_magnorm v_emag temp etotal -thermo 10 - -#dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz - -run 1000 - diff --git a/examples/SPIN/curie_temperature/in.spin.curie_temperature b/examples/SPIN/curie_temperature/in.spin.curie_temperature deleted file mode 100644 index 15db19913e..0000000000 --- a/examples/SPIN/curie_temperature/in.spin.curie_temperature +++ /dev/null @@ -1,204 +0,0 @@ -# Compute elastic constant tensor for a crystal -# -# Written by Aidan Thompson (Sandia, athomps@sandia.gov) -# -# This script uses the following three include files. -# -# init.mod (must be modified for different crystal structures) -# Define units, deformation parameters and initial -# configuration of the atoms and simulation cell. -# -# -# potential.mod (must be modified for different pair styles) -# Define pair style and other attributes -# not stored in restart file -# -# -# displace.mod (displace.mod should not need to be modified) -# Perform positive and negative box displacements -# in direction ${dir} and size ${up}. -# It uses the resultant changes -# in stress to compute one -# row of the elastic stiffness tensor -# -# Inputs variables: -# dir = the Voigt deformation component -# (1,2,3,4,5,6) -# Global constants: -# up = the deformation magnitude (strain units) -# cfac = conversion from LAMMPS pressure units to -# output units for elastic constants -# -# -# To run this on a different system, it should only be necessary to -# modify the files init.mod and potential.mod. In order to calculate -# the elastic constants correctly, care must be taken to specify -# the correct units in init.mod (units, cfac and cunits). It is also -# important to verify that the minimization of energy w.r.t atom -# positions in the deformed cell is fully converged. -# One indication of this is that the elastic constants are insensitive -# to the choice of the variable ${up} in init.mod. Another is to check -# the final max and two-norm forces reported in the log file. If you know -# that minimization is not required, you can set maxiter = 0.0 in -# init.mod. -# - -include init.mod -include potential.mod - -# Compute initial state -fix 3 all box/relax aniso 0.0 -minimize ${etol} ${ftol} ${maxiter} ${maxeval} - -variable tmp equal pxx -variable pxx0 equal ${tmp} -variable tmp equal pyy -variable pyy0 equal ${tmp} -variable tmp equal pzz -variable pzz0 equal ${tmp} -variable tmp equal pyz -variable pyz0 equal ${tmp} -variable tmp equal pxz -variable pxz0 equal ${tmp} -variable tmp equal pxy -variable pxy0 equal ${tmp} - -variable tmp equal lx -variable lx0 equal ${tmp} -variable tmp equal ly -variable ly0 equal ${tmp} -variable tmp equal lz -variable lz0 equal ${tmp} - -# These formulas define the derivatives w.r.t. strain components -# Constants uses $, variables use v_ -variable d1 equal -(v_pxx1-${pxx0})/(v_delta/v_len0)*${cfac} -variable d2 equal -(v_pyy1-${pyy0})/(v_delta/v_len0)*${cfac} -variable d3 equal -(v_pzz1-${pzz0})/(v_delta/v_len0)*${cfac} -variable d4 equal -(v_pyz1-${pyz0})/(v_delta/v_len0)*${cfac} -variable d5 equal -(v_pxz1-${pxz0})/(v_delta/v_len0)*${cfac} -variable d6 equal -(v_pxy1-${pxy0})/(v_delta/v_len0)*${cfac} - -displace_atoms all random ${atomjiggle} ${atomjiggle} ${atomjiggle} 87287 units box - -# Write restart -unfix 3 -write_restart restart.equil - -# uxx Perturbation - -variable dir equal 1 -include displace.mod - -# uyy Perturbation - -variable dir equal 2 -include displace.mod - -# uzz Perturbation - -variable dir equal 3 -include displace.mod - -# uyz Perturbation - -variable dir equal 4 -include displace.mod - -# uxz Perturbation - -variable dir equal 5 -include displace.mod - -# uxy Perturbation - -variable dir equal 6 -include displace.mod - -# Output final values - -variable C11all equal ${C11} -variable C22all equal ${C22} -variable C33all equal ${C33} - -variable C12all equal 0.5*(${C12}+${C21}) -variable C13all equal 0.5*(${C13}+${C31}) -variable C23all equal 0.5*(${C23}+${C32}) - -variable C44all equal ${C44} -variable C55all equal ${C55} -variable C66all equal ${C66} - -variable C14all equal 0.5*(${C14}+${C41}) -variable C15all equal 0.5*(${C15}+${C51}) -variable C16all equal 0.5*(${C16}+${C61}) - -variable C24all equal 0.5*(${C24}+${C42}) -variable C25all equal 0.5*(${C25}+${C52}) -variable C26all equal 0.5*(${C26}+${C62}) - -variable C34all equal 0.5*(${C34}+${C43}) -variable C35all equal 0.5*(${C35}+${C53}) -variable C36all equal 0.5*(${C36}+${C63}) - -variable C45all equal 0.5*(${C45}+${C54}) -variable C46all equal 0.5*(${C46}+${C64}) -variable C56all equal 0.5*(${C56}+${C65}) - -# Average moduli for cubic crystals - -variable C11cubic equal (${C11all}+${C22all}+${C33all})/3.0 -variable C12cubic equal (${C12all}+${C13all}+${C23all})/3.0 -variable C44cubic equal (${C44all}+${C55all}+${C66all})/3.0 - -variable bulkmodulus equal (${C11cubic}+2*${C12cubic})/3.0 -variable shearmodulus1 equal ${C44cubic} -variable shearmodulus2 equal (${C11cubic}-${C12cubic})/2.0 -variable poissonratio equal 1.0/(1.0+${C11cubic}/${C12cubic}) - -# For Stillinger-Weber silicon, the analytical results -# are known to be (E. R. Cowley, 1988): -# C11 = 151.4 GPa -# C12 = 76.4 GPa -# C44 = 56.4 GPa - -print "=========================================" -print "Components of the Elastic Constant Tensor" -print "=========================================" - -print "Elastic Constant C11all = ${C11all} ${cunits}" -print "Elastic Constant C22all = ${C22all} ${cunits}" -print "Elastic Constant C33all = ${C33all} ${cunits}" - -print "Elastic Constant C12all = ${C12all} ${cunits}" -print "Elastic Constant C13all = ${C13all} ${cunits}" -print "Elastic Constant C23all = ${C23all} ${cunits}" - -print "Elastic Constant C44all = ${C44all} ${cunits}" -print "Elastic Constant C55all = ${C55all} ${cunits}" -print "Elastic Constant C66all = ${C66all} ${cunits}" - -print "Elastic Constant C14all = ${C14all} ${cunits}" -print "Elastic Constant C15all = ${C15all} ${cunits}" -print "Elastic Constant C16all = ${C16all} ${cunits}" - -print "Elastic Constant C24all = ${C24all} ${cunits}" -print "Elastic Constant C25all = ${C25all} ${cunits}" -print "Elastic Constant C26all = ${C26all} ${cunits}" - -print "Elastic Constant C34all = ${C34all} ${cunits}" -print "Elastic Constant C35all = ${C35all} ${cunits}" -print "Elastic Constant C36all = ${C36all} ${cunits}" - -print "Elastic Constant C45all = ${C45all} ${cunits}" -print "Elastic Constant C46all = ${C46all} ${cunits}" -print "Elastic Constant C56all = ${C56all} ${cunits}" - -print "=========================================" -print "Average properties for a cubic crystal" -print "=========================================" - -print "Bulk Modulus = ${bulkmodulus} ${cunits}" -print "Shear Modulus 1 = ${shearmodulus1} ${cunits}" -print "Shear Modulus 2 = ${shearmodulus2} ${cunits}" -print "Poisson Ratio = ${poissonratio}" diff --git a/examples/SPIN/curie_temperature/init.mod b/examples/SPIN/curie_temperature/init.mod deleted file mode 100644 index 09ff27367d..0000000000 --- a/examples/SPIN/curie_temperature/init.mod +++ /dev/null @@ -1,55 +0,0 @@ -# NOTE: This script can be modified for different atomic structures, -# units, etc. See in.spin.curie_temperature for more info. -# - -# Define the finite deformation size. Try several values of this -# variable to verify that results do not depend on it. -variable up equal 1.0e-6 - -# Define the amount of random jiggle for atoms -# This prevents atoms from staying on saddle points -variable atomjiggle equal 1.0e-5 - -# Uncomment one of these blocks, depending on what units -# you are using in LAMMPS and for output - -# metal units, elastic constants in eV/A^3 -#units metal -#variable cfac equal 6.2414e-7 -#variable cunits string eV/A^3 - -# metal units, elastic constants in GPa -units metal -variable cfac equal 1.0e-4 -variable cunits string GPa - -# real units, elastic constants in GPa -#units real -#variable cfac equal 1.01325e-4 -#variable cunits string GPa - -# Define minimization parameters -variable etol equal 0.0 -variable ftol equal 1.0e-10 -variable maxiter equal 100 -variable maxeval equal 1000 -variable dmax equal 1.0e-2 - -# generate the box and atom positions using a diamond lattice -variable a equal 5.43 - -boundary p p p - -lattice fcc 3.54 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -create_atoms 1 box - -#lattice diamond $a -#region box prism 0 2.0 0 3.0 0 4.0 0.0 0.0 0.0 -#create_box 1 box -#create_atoms 1 box - -# Need to set mass (even for fixed lattice calculation, just to satisfy LAMMPS) -mass 1 58.93 - diff --git a/examples/SPIN/curie_temperature/potential.mod b/examples/SPIN/curie_temperature/potential.mod deleted file mode 100644 index efdf3ff643..0000000000 --- a/examples/SPIN/curie_temperature/potential.mod +++ /dev/null @@ -1,30 +0,0 @@ -# NOTE: This script can be modified for different pair styles -# See in.elastic for more info. - -# Choose potentials (spin or spin-lattice) -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy Co -air_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 - -# Setup neighbor style -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -# Setup minimization style -min_style cg -min_modify dmax ${dmax} line quadratic - -# Setup output -compute out_mag all compute/spin -compute out_temp all temp - -variable magnorm equal c_out_mag[5] -variable tmag equal c_out_mag[7] - -thermo_style custom step time v_magnorm v_tmag temp -thermo 1 - - -#thermo 1 -#thermo_style custom step temp pe press pxx pyy pzz pxy pxz pyz lx ly lz vol -#thermo_modify norm no diff --git a/examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy deleted file mode 100644 index 3af058baf7..0000000000 --- a/examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy +++ /dev/null @@ -1,6006 +0,0 @@ -Cobalt EAM potential: G. P. Purja Pun and Y. Mishin, Phys. Rev. B xx, 004100 (2012) (in press) -Data below r = 1.5 A is extrapolated. F(Rho) data not extrapolated. -Created on Wed Sep 26 17:29:54 2012 -1 Co -10000 4.788742913000000e-04 10000 6.499539000000001e-04 6.499539000000000e+00 -27 5.893320000000000e+01 2.507000000000000e+00 hcp - -1.680303080000000e-02 -1.879913964471138e-02 -2.091739081044659e-02 -2.303564197615629e-02 -2.503175082079116e-02 - -2.681996612041136e-02 -2.846010103933253e-02 -3.003179469400266e-02 -3.154842562124295e-02 -3.300931506782415e-02 - -3.442381570000001e-02 -3.580233366714632e-02 -3.714945763166951e-02 -3.846832763111274e-02 -3.976210669053554e-02 - -4.103374908125148e-02 -4.228535107207521e-02 -4.351872320172212e-02 -4.473539109100971e-02 -4.593674531110434e-02 - -4.712392115246503e-02 -4.829795108118731e-02 -4.945971154662068e-02 -5.061001094949964e-02 -5.174954151284258e-02 - -5.287894548568519e-02 -5.399878139884967e-02 -5.510957102742049e-02 -5.621177284174523e-02 -5.730581735016625e-02 - -5.839208651773948e-02 -5.947094067448531e-02 -6.054270215356945e-02 -6.160767623453070e-02 -6.266613797925552e-02 - -6.371834880435967e-02 -6.476454576302854e-02 -6.580495483863194e-02 -6.683978209870683e-02 -6.786922452279202e-02 - -6.889346265426707e-02 -6.991266949659354e-02 -7.092700432972064e-02 -7.193662011890395e-02 -7.294165829413661e-02 - -7.394225494811188e-02 -7.493853635958479e-02 -7.593062425993033e-02 -7.691863200494162e-02 -7.790266905197404e-02 - -7.888283764021425e-02 -7.985923664258643e-02 -8.083195868513401e-02 -8.180109346997461e-02 -8.276672525040257e-02 - -8.372893572415932e-02 -8.468780181559693e-02 -8.564339820511864e-02 -8.659579537072190e-02 -8.754506181558984e-02 - -8.849126234605453e-02 -8.943446001410092e-02 -9.037471455117625e-02 -9.131208412841478e-02 -9.224662399623559e-02 - -9.317838801321032e-02 -9.410742739123597e-02 -9.503379209498646e-02 -9.595752974691800e-02 -9.687868684755546e-02 - -9.779730775191570e-02 -9.871343580120046e-02 -9.962711242685958e-02 -1.005383781439554e-01 -1.014472717117523e-01 - -1.023538310651938e-01 -1.032580925977369e-01 -1.041600919387366e-01 -1.050598632026273e-01 -1.059574398208095e-01 - -1.068528540074704e-01 -1.077461373458066e-01 -1.086373201122683e-01 -1.095264320028559e-01 -1.104135016985198e-01 - -1.112985573626335e-01 -1.121816261033156e-01 -1.130627345294291e-01 -1.139419083080692e-01 -1.148191726662944e-01 - -1.156945520127823e-01 -1.165680703406650e-01 -1.174397507992727e-01 -1.183096161572101e-01 -1.191776885039839e-01 - -1.200439895800373e-01 -1.209085404086571e-01 -1.217713616730546e-01 -1.226324734132936e-01 -1.234918953788508e-01 - -1.243496468000000e-01 -1.252057466264230e-01 -1.260602132046348e-01 -1.269130646065986e-01 -1.277643184092350e-01 - -1.286139919512837e-01 -1.294621021138015e-01 -1.303086655551642e-01 -1.311536985007052e-01 -1.319972169590798e-01 - -1.328392365052704e-01 -1.336797725161469e-01 -1.345188400098036e-01 -1.353564538215464e-01 -1.361926284143060e-01 - -1.370273780803152e-01 -1.378607168013910e-01 -1.386926583917836e-01 -1.395232163058920e-01 -1.403524038515728e-01 - -1.411802341103638e-01 -1.420067200256853e-01 -1.428318742148069e-01 -1.436557091565456e-01 -1.444782371020595e-01 - -1.452994701862315e-01 -1.461194203065015e-01 -1.469380992388567e-01 -1.477555185109162e-01 -1.485716895480879e-01 - -1.493866236153044e-01 -1.502003318703277e-01 -1.510128252027127e-01 -1.518241144121522e-01 -1.526342102070998e-01 - -1.534431232126203e-01 -1.542508638114616e-01 -1.550574422930448e-01 -1.558628688157988e-01 -1.566671534698807e-01 - -1.574703062033520e-01 -1.582723368973844e-01 -1.590732553076882e-01 -1.598730711132973e-01 -1.606717938120008e-01 - -1.614694328459875e-01 -1.622659976162905e-01 -1.630614974730487e-01 -1.638559416039789e-01 -1.646493391351259e-01 - -1.654416991082678e-01 -1.662330305252601e-01 -1.670233423125346e-01 -1.678126433512354e-01 -1.686009424167802e-01 - -1.693882482431861e-01 -1.701745695045948e-01 -1.709599148401449e-01 -1.717442928088396e-01 -1.725277119385885e-01 - -1.733101807130639e-01 -1.740917075837066e-01 -1.748723009172683e-01 -1.756519690655456e-01 -1.764307204052008e-01 - -1.772085632840185e-01 -1.779855059094047e-01 -1.787615564692287e-01 -1.795367232135896e-01 -1.803110143830451e-01 - -1.810844381177561e-01 -1.818570025406103e-01 -1.826287158057983e-01 -1.833995860626770e-01 -1.841696214099643e-01 - -1.849388299454831e-01 -1.857072198141128e-01 -1.864747991526175e-01 -1.872415760182443e-01 -1.880075584641173e-01 - -1.887727546063884e-01 -1.895371725773110e-01 -1.903008205105196e-01 -1.910637065418589e-01 -1.918258388146347e-01 - -1.925872254807121e-01 -1.933478747187342e-01 -1.941077947209150e-01 -1.948669937069724e-01 -1.956254799127480e-01 - -1.963832616110719e-01 -1.971403470967068e-01 -1.978967447151567e-01 -1.986524628291068e-01 -1.994075098192274e-01 - -2.001618941005484e-01 -2.009156242075518e-01 -2.016687086990372e-01 -2.024211561116226e-01 -2.031729750127928e-01 - -2.039241741156804e-01 -2.046747621691974e-01 -2.054247479197256e-01 -2.061741401521784e-01 -2.069229478081280e-01 - -2.076711798806499e-01 -2.084188454121736e-01 -2.091659534755806e-01 -2.099125132162076e-01 -2.106585338443872e-01 - -2.114040247579823e-01 -2.121489953974893e-01 -2.128934551864067e-01 -2.136374136027109e-01 -2.143808803592873e-01 - -2.151238652468154e-01 -2.158663781322411e-01 -2.166084289346303e-01 -2.173500277052638e-01 -2.180911845646947e-01 - -2.188319097783510e-01 -2.195722136949507e-01 -2.203121068514981e-01 -2.210515998518519e-01 -2.217907033790026e-01 - -2.225294282016381e-01 -2.232677853521022e-01 -2.240057859531163e-01 -2.247434412252567e-01 -2.254807624804862e-01 - -2.262177612984613e-01 -2.269544493586047e-01 -2.276908384717110e-01 -2.284269405581227e-01 -2.291627678450005e-01 - -2.298983326532392e-01 -2.306336473718499e-01 -2.313687245044682e-01 -2.321035769451089e-01 -2.328382177230701e-01 - -2.335726600184018e-01 -2.343069171312917e-01 -2.350410026917230e-01 -2.357749304696442e-01 -2.365087144650665e-01 - -2.372423688046511e-01 -2.379759078915950e-01 -2.387093462817347e-01 -2.394426988649284e-01 -2.401759806938325e-01 - -2.409092071382775e-01 -2.416423937275558e-01 -2.423755563116356e-01 -2.431087109081851e-01 -2.438418738849959e-01 - -2.445750618045980e-01 -2.453082916583512e-01 -2.460415806101058e-01 -2.467749460848467e-01 -2.475084057095742e-01 - -2.482419776582159e-01 -2.489756803241430e-01 -2.497095324315720e-01 -2.504435529132133e-01 -2.511777612049070e-01 - -2.519121769824342e-01 -2.526468203782122e-01 -2.533817117688987e-01 -2.541168720514789e-01 -2.548523223627430e-01 - -2.555880842783758e-01 -2.563241796571988e-01 -2.570606310516858e-01 -2.577974612919421e-01 -2.585346936249472e-01 - -2.592723515924181e-01 -2.600104594981498e-01 -2.607490419576605e-01 -2.614881240712832e-01 -2.622277312727207e-01 - -2.629678898443362e-01 -2.637086264051527e-01 -2.644499680721714e-01 -2.651919423187013e-01 -2.659345775453039e-01 - -2.666779025531186e-01 -2.674219468183432e-01 -2.681667401972407e-01 -2.689123133912765e-01 -2.696586975492495e-01 - -2.704059247640904e-01 -2.711540275538941e-01 -2.719030391932789e-01 -2.726529934197978e-01 -2.734039250662187e-01 - -2.741558694758598e-01 -2.749088629390239e-01 -2.756629422674556e-01 -2.764181454116789e-01 -2.771745108563868e-01 - -2.779320780841674e-01 -2.786908871694924e-01 -2.794509795564719e-01 -2.802123972949423e-01 -2.809751834880072e-01 - -2.817393818716988e-01 -2.825050376604960e-01 -2.832721967688652e-01 -2.840409064327807e-01 -2.848112145951165e-01 - -2.855831707048412e-01 -2.863568249759762e-01 -2.871322291766564e-01 -2.879094358829076e-01 -2.886884993482028e-01 - -2.894694746623641e-01 -2.902524185831628e-01 -2.910373887617654e-01 -2.918244447549689e-01 -2.926136470970381e-01 - -2.934050583264800e-01 -2.941987419693519e-01 -2.949947634976693e-01 -2.957931894604184e-01 -2.965940887685082e-01 - -2.973975314584912e-01 -2.982035897075678e-01 -2.990123368838905e-01 -2.998238489787670e-01 -3.006382032814213e-01 - -3.014554796495834e-01 -3.022757592753754e-01 -3.030991261199829e-01 -3.039256655881672e-01 -3.047554660899296e-01 - -3.055886175640754e-01 -3.064252130593845e-01 -3.072653472379187e-01 -3.081091181048918e-01 -3.089566254021406e-01 - -3.098079724748395e-01 -3.106632645082006e-01 -3.115226104442510e-01 -3.123861211846884e-01 -3.132539117130802e-01 - -3.141260990998875e-01 -3.150028046812773e-01 -3.158841520361693e-01 -3.167702694487885e-01 -3.176612875689104e-01 - -3.185573418032087e-01 -3.194585700942650e-01 -3.203651157713922e-01 -3.212771249044592e-01 -3.221947491388281e-01 - -3.231181430183639e-01 -3.240474671054514e-01 -3.249828850672117e-01 -3.259245669711927e-01 -3.268726862299913e-01 - -3.278274232359761e-01 -3.287889619469540e-01 -3.297574936027157e-01 -3.307332132733838e-01 -3.317163240684192e-01 - -3.327070332351553e-01 -3.337055565330767e-01 -3.347121141277095e-01 -3.357269352965953e-01 -3.367502540927247e-01 - -3.377823145588749e-01 -3.388233658450175e-01 -3.398736675401181e-01 -3.409334847493447e-01 -3.420030942036733e-01 - -3.430827786115977e-01 -3.441728329658748e-01 -3.452735586625544e-01 -3.463852704265985e-01 -3.475082899277179e-01 - -3.486429532857090e-01 -3.497896041380748e-01 -3.509486017430585e-01 -3.521203134619261e-01 -3.533051234472958e-01 - -3.545034246605078e-01 -3.557156285064298e-01 -3.569421559513399e-01 -3.581834477636310e-01 -3.594399550688090e-01 - -3.607121506187135e-01 -3.620005184199024e-01 -3.633055658714727e-01 -3.646278119965309e-01 -3.659677989216845e-01 - -3.673260803339768e-01 -3.687032330586966e-01 -3.700998457090232e-01 -3.715165309114429e-01 -3.729539131544640e-01 - -3.744126403613781e-01 -3.758933720658462e-01 -3.773967908082255e-01 -3.789235902651524e-01 -3.804744856516886e-01 - -3.820502023195389e-01 -3.836514846285581e-01 -3.852790856353807e-01 -3.869337741756033e-01 -3.886163256972291e-01 - -3.903275263189269e-01 -3.920681658458204e-01 -3.938390381581898e-01 -3.956409370872805e-01 -3.974746521930466e-01 - -3.993409682701225e-01 -4.012406553231547e-01 -4.031744727439548e-01 -4.051431522629808e-01 -4.071474082130475e-01 - -4.091879129977703e-01 -4.112653138348391e-01 -4.133801991274390e-01 -4.155331235094092e-01 -4.177245653517079e-01 - -4.199549603385881e-01 -4.222246496703586e-01 -4.245339230260172e-01 -4.268829584832519e-01 -4.292718744431503e-01 - -4.317006622016948e-01 -4.341692468068394e-01 -4.366774154195978e-01 -4.392248845800756e-01 -4.418112262316757e-01 - -4.444359401252420e-01 -4.470983818380713e-01 -4.497978365893122e-01 -4.525334523390530e-01 -4.553043120100788e-01 - -4.581093756350076e-01 -4.609475466791835e-01 -4.638176252290113e-01 -4.667183660407072e-01 -4.696484459287199e-01 - -4.726065094563343e-01 -4.755911501239359e-01 -4.786009429283761e-01 -4.816344399152602e-01 -4.846901882843556e-01 - -4.877667388033212e-01 -4.908626497957108e-01 -4.939765062407663e-01 -4.971069114027755e-01 -5.002525150305011e-01 - -5.034119937007041e-01 -5.065840848176727e-01 -5.097675587133593e-01 -5.129612566028576e-01 -5.161640565945169e-01 - -5.193749134865747e-01 -5.225928209640586e-01 -5.258168515692775e-01 -5.290461169135583e-01 -5.322798060270272e-01 - -5.355171460831645e-01 -5.387574394100244e-01 -5.420000245805213e-01 -5.452443099924439e-01 -5.484897376520451e-01 - -5.517358141745681e-01 -5.549820769247875e-01 -5.582281216566209e-01 -5.614735718423751e-01 -5.647181034387753e-01 - -5.679614169890416e-01 -5.712032588979591e-01 -5.744433972991336e-01 -5.776816413798681e-01 -5.809178193507762e-01 - -5.841517944620215e-01 -5.873834463985003e-01 -5.906126855444893e-01 -5.938394364748391e-01 -5.970636498273136e-01 - -6.002852884426439e-01 -6.035043379105128e-01 -6.067207941645156e-01 -6.099346717649501e-01 -6.131459940881434e-01 - -6.163548011478311e-01 -6.195611404873568e-01 -6.227650731310865e-01 -6.259666663617727e-01 -6.291659990146931e-01 - -6.323631552654742e-01 -6.355582290986170e-01 -6.387513188871106e-01 -6.419425307490256e-01 -6.451319745539882e-01 - -6.483197674327603e-01 -6.515060293214946e-01 -6.546908841167685e-01 -6.578744572836812e-01 -6.610568766009968e-01 - -6.642382709221243e-01 -6.674187710853904e-01 -6.705985088370179e-01 -6.737776175698923e-01 -6.769562312911304e-01 - -6.801344848181089e-01 -6.833125134999645e-01 -6.864904540026142e-01 -6.896684434132225e-01 -6.928466191871651e-01 - -6.960251190039876e-01 -6.992040810717012e-01 -7.023836437724149e-01 -7.055639456561626e-01 -7.087451254024176e-01 - -7.119273220404884e-01 -7.151106745784721e-01 -7.182953215897911e-01 -7.214814016245582e-01 -7.246690535743215e-01 - -7.278584163200112e-01 -7.310496283586513e-01 -7.342428280442573e-01 -7.374381535427195e-01 -7.406357429444993e-01 - -7.438357342264661e-01 -7.470382651689156e-01 -7.502434728794412e-01 -7.534514943101106e-01 -7.566624664635970e-01 - -7.598765262236051e-01 -7.630938099473661e-01 -7.663144537782537e-01 -7.695385935306881e-01 -7.727663648349232e-01 - -7.759979029135046e-01 -7.792333428394971e-01 -7.824728194957561e-01 -7.857164675195603e-01 -7.889644207560909e-01 - -7.922168128628783e-01 -7.954737775389469e-01 -7.987354483417761e-01 -8.020019582211745e-01 -8.052734399002169e-01 - -8.085500258027153e-01 -8.118318481538471e-01 -8.151190386835121e-01 -8.184117289678831e-01 -8.217100504635063e-01 - -8.250141343769457e-01 -8.283241110344656e-01 -8.316401105683494e-01 -8.349622632152548e-01 -8.382906990624389e-01 - -8.416255474951805e-01 -8.449669376504778e-01 -8.483149983741850e-01 -8.516698583310095e-01 -8.550316457522134e-01 - -8.584004886419279e-01 -8.617765145292081e-01 -8.651598508088844e-01 -8.685506248139727e-01 -8.719489622521989e-01 - -8.753549823919468e-01 -8.787687997490927e-01 -8.821905162688262e-01 -8.856202278084699e-01 -8.890580184445617e-01 - -8.925039663319011e-01 -8.959581377191167e-01 -8.994205926453692e-01 -9.028913782181163e-01 -9.063705352609543e-01 - -9.098580923937473e-01 -9.133540718558304e-01 -9.168584825681617e-01 -9.203713268261465e-01 -9.238925937413506e-01 - -9.274222656928153e-01 -9.309603113133150e-01 -9.345066924037853e-01 -9.380613571840678e-01 -9.416242468397124e-01 - -9.451952880001965e-01 -9.487744002152808e-01 -9.523614892719469e-01 -9.559564538973973e-01 -9.595591783425093e-01 - -9.631695396882074e-01 -9.667874008119273e-01 -9.704126174878044e-01 -9.740450312802591e-01 -9.776844767743714e-01 - -9.813307748475731e-01 -9.849837394560669e-01 -9.886431705787867e-01 -9.923088615430331e-01 -9.959805930468456e-01 - -9.996581394281877e-01 -1.003341262213973e+00 -1.007029716826452e+00 -1.010723247080268e+00 -1.014421591236032e+00 - -1.018124476945841e+00 -1.021831626529500e+00 -1.025542751586175e+00 -1.029257558992056e+00 -1.032975747452084e+00 - -1.036697011770175e+00 -1.040421039317395e+00 -1.044147513860548e+00 -1.047876112182243e+00 -1.051606508161453e+00 - -1.055338371046766e+00 -1.059071368055605e+00 -1.062805162911107e+00 -1.066539417837194e+00 -1.070273792555226e+00 - -1.074007946119602e+00 -1.077741537419413e+00 -1.081474225260823e+00 -1.085205668283577e+00 -1.088935525821090e+00 - -1.092663460147868e+00 -1.096389134999202e+00 -1.100112217012435e+00 -1.103832374788097e+00 -1.107549281877421e+00 - -1.111262614364874e+00 -1.114972053517157e+00 -1.118677283811066e+00 -1.122377997381517e+00 -1.126073890115035e+00 - -1.129764665246453e+00 -1.133450029987863e+00 -1.137129700112097e+00 -1.140803395884355e+00 -1.144470846978575e+00 - -1.148131787996958e+00 -1.151785963846005e+00 -1.155433124321719e+00 -1.159073028473816e+00 -1.162705440550504e+00 - -1.166330136340245e+00 -1.169946897198408e+00 -1.173555515207745e+00 -1.177155787675114e+00 -1.180747522076412e+00 - -1.184330531453910e+00 -1.187904640946331e+00 -1.191469681045491e+00 -1.195025491559137e+00 -1.198571917630371e+00 - -1.202108816427798e+00 -1.205636050425976e+00 -1.209153491297797e+00 -1.212661015717853e+00 -1.216158511169199e+00 - -1.219645870103956e+00 -1.223122994042052e+00 -1.226589789250444e+00 -1.230046171916402e+00 -1.233492062734542e+00 - -1.236927390508550e+00 -1.240352088211073e+00 -1.243766097381527e+00 -1.247169363751694e+00 -1.250561841256042e+00 - -1.253943487695246e+00 -1.257314268132119e+00 -1.260674151007197e+00 -1.264023111009775e+00 -1.267361126327042e+00 - -1.270688182889021e+00 -1.274004269717549e+00 -1.277309380458899e+00 -1.280603511471348e+00 -1.283886665336751e+00 - -1.287158847447705e+00 -1.290420068216200e+00 -1.293670340397085e+00 -1.296909681097245e+00 -1.300138109654688e+00 - -1.303355649979877e+00 -1.306562327924205e+00 -1.309758172530325e+00 -1.312943214678930e+00 -1.316117489411603e+00 - -1.319281033477409e+00 -1.322433886294459e+00 -1.325576088655014e+00 -1.328707684178879e+00 -1.331828717822939e+00 - -1.334939237064845e+00 -1.338039290534788e+00 -1.341128928952336e+00 -1.344208204044806e+00 -1.347277169481128e+00 - -1.350335879836220e+00 -1.353384391367341e+00 -1.356422761075585e+00 -1.359451047255056e+00 -1.362469308854003e+00 - -1.365477606144248e+00 -1.368475999956682e+00 -1.371464552034891e+00 -1.374443324607048e+00 -1.377412380926959e+00 - -1.380371784452904e+00 -1.383321598435415e+00 -1.386261886043311e+00 -1.389192710326296e+00 -1.392114134331963e+00 - -1.395026221218571e+00 -1.397929034013782e+00 -1.400822635112213e+00 -1.403707086730599e+00 -1.406582451007194e+00 - -1.409448790047375e+00 -1.412306165903488e+00 -1.415154640386279e+00 -1.417994274393129e+00 -1.420825128672226e+00 - -1.423647264288326e+00 -1.426460742270041e+00 -1.429265623184807e+00 -1.432061967292326e+00 -1.434849834082543e+00 - -1.437629282863016e+00 -1.440400372981510e+00 -1.443163163644870e+00 -1.445917713456040e+00 -1.448664080745027e+00 - -1.451402323353998e+00 -1.454132498983212e+00 -1.456854665253158e+00 -1.459568879518891e+00 -1.462275198153495e+00 - -1.464973677286479e+00 -1.467664373054985e+00 -1.470347341460922e+00 -1.473022637957602e+00 -1.475690317602213e+00 - -1.478350434416031e+00 -1.481003042251009e+00 -1.483648195317718e+00 -1.486285947650543e+00 -1.488916352220507e+00 - -1.491539461636770e+00 -1.494155328124374e+00 -1.496764003712290e+00 -1.499365540029296e+00 -1.501959988475343e+00 - -1.504547399935251e+00 -1.507127824972320e+00 -1.509701313378898e+00 -1.512267914702716e+00 -1.514827678283996e+00 - -1.517380653263305e+00 -1.519926888190102e+00 -1.522466431291609e+00 -1.524999330097196e+00 -1.527525631932397e+00 - -1.530045384005255e+00 -1.532558633226744e+00 -1.535065425437065e+00 -1.537565806237489e+00 -1.540059821344337e+00 - -1.542547516227056e+00 -1.545028935252552e+00 -1.547504122520188e+00 -1.549973122161691e+00 -1.552435978060152e+00 - -1.554892733071735e+00 -1.557343429814709e+00 -1.559788110982664e+00 -1.562226819032855e+00 -1.564659595401864e+00 - -1.567086481207361e+00 -1.569507517312065e+00 -1.571922744465970e+00 -1.574332203223133e+00 -1.576735933784567e+00 - -1.579133975135047e+00 -1.581526366095511e+00 -1.583913146047792e+00 -1.586294354132112e+00 -1.588670027961349e+00 - -1.591040204840321e+00 -1.593404922368944e+00 -1.595764217997401e+00 -1.598118128281829e+00 -1.600466689560657e+00 - -1.602809938195509e+00 -1.605147910317183e+00 -1.607480641109968e+00 -1.609808165462235e+00 -1.612130518025190e+00 - -1.614447733364541e+00 -1.616759845941160e+00 -1.619066889913862e+00 -1.621368898338053e+00 -1.623665904067572e+00 - -1.625957940253400e+00 -1.628245039905108e+00 -1.630527235169479e+00 -1.632804557955816e+00 -1.635077040086276e+00 - -1.637344713164072e+00 -1.639607608003776e+00 -1.641865755216986e+00 -1.644119185392045e+00 -1.646367929030376e+00 - -1.648612016308968e+00 -1.650851477080719e+00 -1.653086340226579e+00 -1.655316634503563e+00 -1.657542389144867e+00 - -1.659763633269537e+00 -1.661980395063818e+00 -1.664192702419508e+00 -1.666400582983419e+00 -1.668604064251645e+00 - -1.670803173362428e+00 -1.672997937236383e+00 -1.675188382281491e+00 -1.677374534802169e+00 -1.679556421201192e+00 - -1.681734067628149e+00 -1.683907499121518e+00 -1.686076740528519e+00 -1.688241817042459e+00 -1.690402753749855e+00 - -1.692559574964003e+00 -1.694712304797627e+00 -1.696860967334408e+00 -1.699005586454806e+00 -1.701146185255449e+00 - -1.703282786721620e+00 -1.705415414177082e+00 -1.707544090831449e+00 -1.709668839099297e+00 -1.711789681156861e+00 - -1.713906639022084e+00 -1.716019734585396e+00 -1.718128989385494e+00 -1.720234424849230e+00 -1.722336062307809e+00 - -1.724433922917529e+00 -1.726528027230686e+00 -1.728618395721282e+00 -1.730705049154116e+00 -1.732788008101886e+00 - -1.734867292078088e+00 -1.736942920442919e+00 -1.739014913002594e+00 -1.741083289547465e+00 -1.743148069358425e+00 - -1.745209271450225e+00 -1.747266914282488e+00 -1.749321016270471e+00 -1.751371596207075e+00 -1.753418672811714e+00 - -1.755462264132180e+00 -1.757502388000569e+00 -1.759539062057792e+00 -1.761572303881055e+00 -1.763602130983907e+00 - -1.765628560778196e+00 -1.767651610332621e+00 -1.769671296580689e+00 -1.771687636258316e+00 -1.773700645994041e+00 - -1.775710342184503e+00 -1.777716741146727e+00 -1.779719859111176e+00 -1.781719712181211e+00 -1.783716316038327e+00 - -1.785709686327057e+00 -1.787699838965949e+00 -1.789686789700248e+00 -1.791670553307960e+00 -1.793651144443631e+00 - -1.795628578235185e+00 -1.797602869852874e+00 -1.799574034162875e+00 -1.801542085839167e+00 -1.803507039091021e+00 - -1.805468908052258e+00 -1.807427707019619e+00 -1.809383450209764e+00 -1.811336151356113e+00 -1.813285824110837e+00 - -1.815232482284336e+00 -1.817176139592257e+00 -1.819116809213001e+00 -1.821054504262256e+00 -1.822989238142106e+00 - -1.824921024174149e+00 -1.826849875071642e+00 -1.828775803432498e+00 -1.830698822001605e+00 -1.832618943490715e+00 - -1.834536180332052e+00 -1.836450544855570e+00 -1.838362049261658e+00 -1.840270705693083e+00 -1.842176526191684e+00 - -1.844079522732226e+00 -1.845979707122125e+00 -1.847877091069540e+00 -1.849771686052976e+00 -1.851663503515020e+00 - -1.853552554984233e+00 -1.855438851906239e+00 -1.857322405308933e+00 -1.859203226114476e+00 -1.861081325239847e+00 - -1.862956713608023e+00 -1.864829402171162e+00 -1.866699401811557e+00 -1.868566723102871e+00 -1.870431376467943e+00 - -1.872293372034969e+00 -1.874152719980291e+00 -1.876009430967454e+00 -1.877863515541558e+00 -1.879714983286677e+00 - -1.881563843740828e+00 -1.883410107218835e+00 -1.885253783963326e+00 -1.887094883151373e+00 -1.888933413891583e+00 - -1.890769386084288e+00 -1.892602809677417e+00 -1.894433694017575e+00 -1.896262048252058e+00 -1.898087881332244e+00 - -1.899911202238771e+00 -1.901732020265218e+00 -1.903550344662578e+00 -1.905366184198560e+00 -1.907179547502340e+00 - -1.908990443132265e+00 -1.910798879695625e+00 -1.912604866066330e+00 -1.914408411061036e+00 -1.916209523000752e+00 - -1.918008210058423e+00 -1.919804480310377e+00 -1.921598341888620e+00 -1.923389803244497e+00 -1.925178872754823e+00 - -1.926965558178970e+00 -1.928749867237572e+00 -1.930531808113790e+00 -1.932311388923252e+00 -1.934088617048956e+00 - -1.935863499807747e+00 -1.937636044984464e+00 -1.939406260367225e+00 -1.941174153289245e+00 -1.942939731044444e+00 - -1.944703001224463e+00 -1.946463971324967e+00 -1.948222648160018e+00 -1.949979038559213e+00 -1.951733150095908e+00 - -1.953484990331042e+00 -1.955234566032130e+00 -1.956981883796339e+00 -1.958726950332857e+00 -1.960469772453529e+00 - -1.962210357268799e+00 -1.963948711773954e+00 -1.965684842205069e+00 -1.967418754747339e+00 -1.969150456141664e+00 - -1.970879953151972e+00 -1.972607252078582e+00 -1.974332359180596e+00 -1.976055281015821e+00 -1.977776024078765e+00 - -1.979494594312026e+00 -1.981210997612849e+00 -1.982925240248993e+00 -1.984637328483028e+00 -1.986347268186276e+00 - -1.988055065135925e+00 -1.989760725123873e+00 -1.991464254028801e+00 -1.993165658061782e+00 -1.994864943305917e+00 - -1.996562115000000e+00 -1.998257178352118e+00 -1.999950139291834e+00 -2.001641003786081e+00 -2.003329777229788e+00 - -2.005016464899233e+00 -2.006701072168050e+00 -2.008383604435580e+00 -2.010064067106614e+00 -2.011742465557514e+00 - -2.013418805045480e+00 -2.015093090790721e+00 -2.016765327984645e+00 -2.018435521788566e+00 -2.020103677272243e+00 - -2.021769799450648e+00 -2.023433893211152e+00 -2.025095963440481e+00 -2.026756015150358e+00 -2.028414053372033e+00 - -2.030070083089858e+00 -2.031724109167109e+00 -2.033376136029651e+00 -2.035026168111125e+00 -2.036674210313675e+00 - -2.038320267543339e+00 -2.039964344253219e+00 -2.041606444873179e+00 -2.043246574193053e+00 -2.044884736927830e+00 - -2.046520937133174e+00 -2.048155178894251e+00 -2.049787467073582e+00 -2.051417806490505e+00 -2.053046201014273e+00 - -2.054672654449746e+00 -2.056297171294283e+00 -2.057919756136151e+00 -2.059540413234731e+00 -2.061159146675282e+00 - -2.062775960175462e+00 -2.064390857518372e+00 -2.066003843116474e+00 -2.067614921377108e+00 -2.069224096057763e+00 - -2.070831370870978e+00 -2.072436749999330e+00 -2.074040237602111e+00 -2.075641837275425e+00 -2.077241552544816e+00 - -2.078839387216755e+00 -2.080435345153352e+00 -2.082029430158359e+00 -2.083621645967183e+00 -2.085211996100236e+00 - -2.086800484128769e+00 -2.088387114042385e+00 -2.089971889736969e+00 -2.091554814315162e+00 -2.093135890870968e+00 - -2.094715123257078e+00 -2.096292515329556e+00 -2.097868070199266e+00 -2.099441790929908e+00 -2.101013681141721e+00 - -2.102583744473837e+00 -2.104151984084442e+00 -2.105718403103298e+00 -2.107283005027429e+00 -2.108845793364375e+00 - -2.110406771296459e+00 -2.111965941910842e+00 -2.113523308239219e+00 -2.115078873308544e+00 -2.116632640182243e+00 - -2.118184611994434e+00 -2.119734792125529e+00 -2.121283183887100e+00 -2.122829790069075e+00 -2.124374613416041e+00 - -2.125917657012881e+00 -2.127458923984833e+00 -2.128998417278243e+00 -2.130536139767974e+00 -2.132072094221826e+00 - -2.133606283403289e+00 -2.135138710165668e+00 -2.136669377406417e+00 -2.138198288109766e+00 -2.139725445172409e+00 - -2.141250851054121e+00 -2.142774508270670e+00 -2.144296419998729e+00 -2.145816589318136e+00 -2.147335018260493e+00 - -2.148851708859426e+00 -2.150366664204882e+00 -2.151879887475646e+00 -2.153391381149525e+00 -2.154901147551277e+00 - -2.156409189094421e+00 -2.157915508301146e+00 -2.159420108039566e+00 -2.160922991060322e+00 -2.162424159298261e+00 - -2.163923614721020e+00 -2.165421360243191e+00 -2.166917398765767e+00 -2.168411732188371e+00 -2.169904362385663e+00 - -2.171395292133801e+00 -2.172884524283159e+00 -2.174372061079477e+00 -2.175857904621596e+00 -2.177342057025400e+00 - -2.178824520458782e+00 -2.180305297280612e+00 -2.181784389836284e+00 -2.183261800226323e+00 -2.184737530553230e+00 - -2.186211583172279e+00 -2.187683960396664e+00 -2.189154664118480e+00 -2.190623696232450e+00 -2.192091059064924e+00 - -2.193556754973807e+00 -2.195020786011611e+00 -2.196483154140098e+00 -2.197943861263397e+00 -2.199402909290797e+00 - -2.200860300209873e+00 -2.202316036078389e+00 -2.203770119156592e+00 -2.205222551620105e+00 -2.206673335103553e+00 - -2.208122471221687e+00 -2.209569962050753e+00 -2.211015809743800e+00 -2.212460016299604e+00 -2.213902583604158e+00 - -2.215343513246597e+00 -2.216782806815468e+00 -2.218220466193829e+00 -2.219656493330310e+00 -2.221090890141300e+00 - -2.222523658493742e+00 -2.223954800089009e+00 -2.225384316635711e+00 -2.226812210036953e+00 -2.228238482128524e+00 - -2.229663134282465e+00 -2.231086167933421e+00 -2.232507585230206e+00 -2.233927388263609e+00 -2.235345578178182e+00 - -2.236762156112363e+00 -2.238177124126393e+00 -2.239590484325721e+00 -2.241002238074839e+00 -2.242412386688506e+00 - -2.243820932023517e+00 -2.245227875877045e+00 -2.246633219265731e+00 -2.248036963296034e+00 -2.249439110214208e+00 - -2.250839662216949e+00 -2.252238620162919e+00 -2.253635984842608e+00 -2.255031758111861e+00 -2.256425941987018e+00 - -2.257818538061035e+00 -2.259209547728066e+00 -2.260598972010440e+00 -2.261986811976363e+00 -2.263373069249392e+00 - -2.264757745520950e+00 -2.266140842198597e+00 -2.267522360622610e+00 -2.268902302148032e+00 -2.270280668153553e+00 - -2.271657460097697e+00 -2.273032679375423e+00 -2.274406327047590e+00 -2.275778404191426e+00 -2.277148912283742e+00 - -2.278517852852843e+00 -2.279885227233438e+00 -2.281251036662961e+00 -2.282615282183361e+00 -2.283977964870765e+00 - -2.285339086133513e+00 -2.286698647429660e+00 -2.288056650083893e+00 -2.289413095312870e+00 -2.290767984034498e+00 - -2.292121317209354e+00 -2.293473096267451e+00 -2.294823322630535e+00 -2.296171997217860e+00 -2.297519120939147e+00 - -2.298864695168495e+00 -2.300208721271999e+00 -2.301551200119357e+00 -2.302892132586471e+00 -2.304231520070443e+00 - -2.305569363951571e+00 -2.306905665021753e+00 -2.308240424043668e+00 -2.309573642251534e+00 -2.310905320943594e+00 - -2.312235461202651e+00 -2.313564064009707e+00 -2.314891130153991e+00 -2.316216660462560e+00 -2.317540656105554e+00 - -2.318863118293744e+00 -2.320184048057342e+00 -2.321503446385586e+00 -2.322821314284393e+00 -2.324137652689092e+00 - -2.325452462235987e+00 -2.326765743634779e+00 -2.328077498187803e+00 -2.329387727168217e+00 -2.330696431139842e+00 - -2.332003610675342e+00 -2.333309267092103e+00 -2.334613401701304e+00 -2.335916015044585e+00 -2.337217107588464e+00 - -2.338516680268511e+00 -2.339814734134101e+00 -2.341111270220800e+00 -2.342406289434137e+00 -2.343699792173311e+00 - -2.344991778936741e+00 -2.346282251126043e+00 -2.347571210092017e+00 -2.348858656078995e+00 -2.350144589310363e+00 - -2.351429011032167e+00 -2.352711922533504e+00 -2.353993324252988e+00 -2.355273216536063e+00 -2.356551600205969e+00 - -2.357828476165661e+00 -2.359103845159169e+00 -2.360377707896761e+00 -2.361650065112589e+00 -2.362920917562625e+00 - -2.364190266066228e+00 -2.365458111389245e+00 -2.366724454020086e+00 -2.367989294422349e+00 -2.369252633237819e+00 - -2.370514471195048e+00 -2.371774809191487e+00 -2.373033648052395e+00 -2.374290988145372e+00 -2.375546829856004e+00 - -2.376801174099476e+00 -2.378054021758188e+00 -2.379305373053798e+00 -2.380555228228685e+00 -2.381803588268867e+00 - -2.383050454170042e+00 -2.384295826222999e+00 -2.385539704659158e+00 -2.386782090177350e+00 -2.388022983519428e+00 - -2.389262385131917e+00 -2.390500295440986e+00 -2.391736715086700e+00 -2.392971644747536e+00 -2.394205085041701e+00 - -2.395437036486230e+00 -2.396667499253712e+00 -2.397896473568759e+00 -2.399123960208524e+00 -2.400349959968320e+00 - -2.401574473163553e+00 -2.402797500049246e+00 -2.404019041118798e+00 -2.405239096931802e+00 -2.406457668074259e+00 - -2.407674755052769e+00 -2.408890358029935e+00 -2.410104477201394e+00 -2.411317113238899e+00 -2.412528266823138e+00 - -2.413737938194389e+00 -2.414946127524263e+00 -2.416152835150093e+00 -2.417358061488310e+00 -2.418561807106014e+00 - -2.419764072540869e+00 -2.420964858062149e+00 -2.422164163883997e+00 -2.423361990268478e+00 -2.424558337539998e+00 - -2.425753206224426e+00 -2.426946596778449e+00 -2.428138509180588e+00 -2.429328943436301e+00 -2.430517900136966e+00 - -2.431705379929064e+00 -2.432891383093559e+00 -2.434075909789072e+00 -2.435258960050367e+00 -2.436440534002261e+00 - -2.437620632253666e+00 -2.438799255363957e+00 -2.439976403210287e+00 -2.441152075652963e+00 -2.442326273167121e+00 - -2.443498996281469e+00 -2.444670245124171e+00 -2.445840019720089e+00 -2.447008320081434e+00 -2.448175146330043e+00 - -2.449340499038912e+00 -2.450504378726154e+00 -2.451666785239187e+00 -2.452827718349615e+00 -2.453987178196479e+00 - -2.455145165027037e+00 -2.456301679153984e+00 -2.457456720843679e+00 -2.458610290111703e+00 -2.459762386895362e+00 - -2.460913011069636e+00 -2.462062162618941e+00 -2.463209842027783e+00 -2.464356049701044e+00 -2.465500785225038e+00 - -2.466644048210323e+00 -2.467785839182998e+00 -2.468926158651886e+00 -2.470065006141172e+00 -2.471202381154697e+00 - -2.472338284099561e+00 -2.473472715451581e+00 -2.474605675058163e+00 -2.475737162666682e+00 -2.476867178252799e+00 - -2.477995721814551e+00 -2.479122793211214e+00 -2.480248392312651e+00 -2.481372519169843e+00 -2.482495173828069e+00 - -2.483616356128687e+00 -2.484736065895716e+00 -2.485854303087743e+00 -2.486971067738408e+00 -2.488086360047014e+00 - -2.489200180083995e+00 -2.490312527238630e+00 -2.491423400907520e+00 -2.492532801197714e+00 -2.493640728315912e+00 - -2.494747182157012e+00 -2.495852162518061e+00 -2.496955669116524e+00 -2.498057701682506e+00 -2.499158260076250e+00 - -2.500257344205291e+00 -2.501354954036191e+00 -2.502451089487258e+00 -2.503545750224782e+00 -2.504638935878569e+00 - -2.505730646184535e+00 -2.506820880947837e+00 -2.507909640144502e+00 -2.508996923692245e+00 -2.510082731104683e+00 - -2.511167061905791e+00 -2.512249916065080e+00 -2.513331293568936e+00 -2.514411194025691e+00 -2.515489616993924e+00 - -2.516566562211253e+00 -2.517642029416175e+00 -2.518716018171676e+00 -2.519788528087044e+00 -2.520859559132313e+00 - -2.521929111272669e+00 -2.522997184093166e+00 -2.524063777123772e+00 -2.525128890054233e+00 -2.526192522577199e+00 - -2.527254674237163e+00 -2.528315344566595e+00 -2.529374533198041e+00 -2.530432239809303e+00 -2.531488464159136e+00 - -2.532543206017777e+00 -2.533596465120445e+00 -2.534648241083385e+00 -2.535698533081969e+00 -2.536747340380982e+00 - -2.537794663043710e+00 -2.538840501172024e+00 -2.539884854223596e+00 -2.540927721482817e+00 -2.541969102185147e+00 - -2.543008995720672e+00 -2.544047402146914e+00 -2.545084321505733e+00 -2.546119753108897e+00 -2.547153696148885e+00 - -2.548186150071097e+00 -2.549217114438763e+00 -2.550246589033513e+00 -2.551274573561718e+00 -2.552301067210345e+00 - -2.553326069170913e+00 -2.554349579172571e+00 -2.555371597001575e+00 -2.556392122135012e+00 -2.557411153995589e+00 - -2.558428692097672e+00 -2.559444735964176e+00 -2.560459285060548e+00 -2.561472338773803e+00 -2.562483896234721e+00 - -2.563493956701396e+00 -2.564502520197407e+00 -2.565509586690590e+00 -2.566515155160310e+00 -2.567519224484451e+00 - -2.568521794123430e+00 -2.569522863722881e+00 -2.570522433086768e+00 -2.571520501879673e+00 -2.572517069050324e+00 - -2.573512133570669e+00 -2.574505695221420e+00 -2.575497753777856e+00 -2.576488308184784e+00 -2.577477357385580e+00 - -2.578464901148367e+00 -2.579450939304331e+00 -2.580435471112168e+00 -2.581418495678755e+00 -2.582400012076188e+00 - -2.583380019545771e+00 -2.584358518040427e+00 -2.585335507388502e+00 -2.586310986208430e+00 -2.587284953146766e+00 - -2.588257408172476e+00 -2.589228351266687e+00 -2.590197781136742e+00 -2.591165696464199e+00 -2.592132097101227e+00 - -2.593096982965479e+00 -2.594060353065933e+00 -2.595022206300420e+00 -2.595982542030859e+00 -2.596941359648237e+00 - -2.597898658195753e+00 -2.598854436786441e+00 -2.599808695160485e+00 -2.600761432999720e+00 -2.601712649125437e+00 - -2.602662342322502e+00 -2.603610512090611e+00 -2.604557157983472e+00 -2.605502279056006e+00 -2.606445874333086e+00 - -2.607387943218189e+00 -2.608328485131743e+00 -2.609267499183389e+00 -2.610204984445080e+00 -2.611140940148811e+00 - -2.612075365584592e+00 -2.613008260114454e+00 -2.613939623006402e+00 -2.614869453080320e+00 -2.615797749224179e+00 - -2.616724511046408e+00 -2.617649738126216e+00 -2.618573429205448e+00 -2.619495583026503e+00 -2.620416199171340e+00 - -2.621335277249019e+00 -2.622252816137456e+00 -2.623168814653865e+00 -2.624083272103795e+00 -2.624996187859330e+00 - -2.625907561070358e+00 -2.626817390806325e+00 -2.627725676037143e+00 -2.628632415761536e+00 -2.629537609193020e+00 - -2.630441255587996e+00 -2.631343354159609e+00 -2.632243904045731e+00 -2.633142904126422e+00 -2.634040353337229e+00 - -2.634936251093461e+00 -2.635830596765059e+00 -2.636723389060725e+00 -2.637614626713354e+00 -2.638504309213838e+00 - -2.639392436080191e+00 -2.640279006180904e+00 -2.641164018251881e+00 -2.642047471148195e+00 -2.642929363899640e+00 - -2.643809696115713e+00 -2.644688467316341e+00 -2.645565676083456e+00 -2.646441320932559e+00 -2.647315401051427e+00 - -2.648187915755844e+00 -2.649058864201336e+00 -2.649928245427330e+00 -2.650796058169106e+00 -2.651662301248424e+00 - -2.652526974137104e+00 -2.653390076247662e+00 -2.654251606105329e+00 -2.655111562238285e+00 -2.655969944073783e+00 - -2.656826751086593e+00 -2.657681982042466e+00 -2.658535635661370e+00 -2.659387711189145e+00 -2.660238207837736e+00 - -2.661087124157626e+00 -2.661934458755756e+00 -2.662780211126336e+00 -2.663624380741185e+00 -2.664466966095276e+00 - -2.665307965694397e+00 -2.666147379064445e+00 -2.666985205710447e+00 -2.667821444033845e+00 -2.668656092405469e+00 - -2.669489150177272e+00 -2.670320616801000e+00 -2.671150491146469e+00 -2.671978771965001e+00 -2.672805458115896e+00 - -2.673630548501148e+00 -2.674454042085555e+00 -2.675275937884819e+00 -2.676096235055446e+00 -2.676914932653945e+00 - -2.677732029196031e+00 -2.678547523253807e+00 -2.679361414165717e+00 -2.680173701269736e+00 -2.680984383135636e+00 - -2.681793458321363e+00 -2.682600926105787e+00 -2.683406785794135e+00 -2.684211036076172e+00 -2.685013675548027e+00 - -2.685814703046789e+00 -2.686614117528503e+00 -2.687411918184072e+00 -2.688208104155523e+00 -2.689002674154484e+00 - -2.689795626844247e+00 -2.690586961125131e+00 -2.691376675931391e+00 -2.692164770096012e+00 -2.692951242468673e+00 - -2.693736092067127e+00 -2.694519317933390e+00 -2.695300919038479e+00 -2.696080894259941e+00 -2.696859242172434e+00 - -2.697635961409562e+00 -2.698411051143577e+00 -2.699184510529523e+00 -2.699956338114957e+00 -2.700726532498006e+00 - -2.701495093086574e+00 -2.702262019208106e+00 -2.703027309058428e+00 -2.703790960874505e+00 -2.704552974189474e+00 - -2.705313348537555e+00 -2.706072082161119e+00 -2.706829173257158e+00 -2.707584621133000e+00 -2.708338425191227e+00 - -2.709090584105120e+00 -2.709841096442358e+00 -2.710589961077480e+00 -2.711337176962203e+00 -2.712082743050078e+00 - -2.712826658235913e+00 -2.713568921177743e+00 -2.714309530527581e+00 -2.715048485150131e+00 -2.715785783993005e+00 - -2.716521426122757e+00 -2.717255410569124e+00 -2.717987736095623e+00 -2.718718401385704e+00 -2.719447405068731e+00 - -2.720174745881186e+00 -2.720900423042079e+00 -2.721624435690877e+00 -2.722346782166338e+00 -2.723067460855530e+00 - -2.723786471139474e+00 -2.724503812410580e+00 -2.725219483112852e+00 -2.725933481634188e+00 -2.726645807086471e+00 - -2.727356458650697e+00 -2.728065435060333e+00 -2.728772734953498e+00 -2.729478357034439e+00 -2.730182300087997e+00 - -2.730884563155262e+00 -2.731585145263588e+00 -2.732284045129153e+00 -2.732981261442558e+00 -2.733676793103288e+00 - -2.734370639038562e+00 -2.735062798077667e+00 -2.735753269071118e+00 -2.736442051052291e+00 -2.737129142959769e+00 - -2.737814543170111e+00 -2.738498250131983e+00 -2.739180263144520e+00 -2.739860581563291e+00 -2.740539204119172e+00 - -2.741216129405992e+00 -2.741891356094071e+00 -2.742564882952538e+00 -2.743236709069217e+00 -2.743906833523784e+00 - -2.744575255044610e+00 -2.745241972311204e+00 -2.745906984158941e+00 -2.746570289467025e+00 -2.747231887134115e+00 - -2.747891776057501e+00 -2.748549955109537e+00 -2.749206423158993e+00 -2.749861179085207e+00 -2.750514221765824e+00 - -2.751165550061125e+00 -2.751815162841771e+00 -2.752463059037292e+00 -2.753109237554207e+00 -2.753753697148108e+00 - -2.754396436622574e+00 -2.755037455124055e+00 -2.755676751755156e+00 -2.756314325100252e+00 -2.756950173779785e+00 - -2.757584297076699e+00 -2.758216694281619e+00 -2.758847364053396e+00 -2.759476305000437e+00 -2.760103516161140e+00 - -2.760728996610216e+00 -2.761352745137616e+00 -2.761974760563591e+00 -2.762595042114344e+00 -2.763213589016364e+00 - -2.763830400091322e+00 -2.764445474113015e+00 -2.765058810068553e+00 -2.765670407011266e+00 -2.766280264046035e+00 - -2.766888380201558e+00 -2.767494754150214e+00 -2.768099384646222e+00 -2.768702271127474e+00 -2.769303413030783e+00 - -2.769902809104988e+00 -2.770500458053093e+00 -2.771096359082754e+00 -2.771690511445131e+00 -2.772282914060774e+00 - -2.772873565847032e+00 -2.773462466039048e+00 -2.774049613856528e+00 -2.774635008139637e+00 -2.775218647762881e+00 - -2.775800532117688e+00 -2.776380660598635e+00 -2.776959032095993e+00 -2.777535645483684e+00 -2.778110500074552e+00 - -2.778683595228330e+00 -2.779254930053368e+00 -2.779824503611819e+00 -2.780392315032438e+00 -2.780958363471580e+00 - -2.781522648129417e+00 -2.782085168237396e+00 -2.782645923108263e+00 -2.783204912027138e+00 -2.783762134087364e+00 - -2.784317588365996e+00 -2.784871274066723e+00 -2.785423190471204e+00 -2.785973337046338e+00 -2.786521713227682e+00 - -2.787068318140169e+00 -2.787613150927563e+00 -2.788156211119559e+00 -2.788697498201977e+00 -2.789237011099205e+00 - -2.789774748795882e+00 -2.790310711079109e+00 -2.790844897774500e+00 -2.791377308059270e+00 -2.791907941021321e+00 - -2.792436796039691e+00 -2.792963872575855e+00 -2.793489170129877e+00 -2.794012688183935e+00 -2.794534426110070e+00 - -2.795054383269529e+00 -2.795572559090522e+00 -2.796088953089790e+00 -2.796603565071232e+00 -2.797116394731634e+00 - -2.797627441052200e+00 -2.798136703104035e+00 -2.798644181033428e+00 -2.799149874997305e+00 -2.799653784119957e+00 - -2.800155907491874e+00 -2.800656245100958e+00 -2.801154796934787e+00 -2.801651562082218e+00 -2.802146539693571e+00 - -2.802639730063738e+00 -2.803131133478864e+00 -2.803620749045517e+00 -2.804108575856467e+00 -2.804594614128865e+00 - -2.805078864118387e+00 -2.805561325110418e+00 -2.806041996375143e+00 -2.806520878092229e+00 -2.806997970489045e+00 - -2.807473273074300e+00 -2.807946785293329e+00 -2.808418507056632e+00 -2.808888438355500e+00 -2.809356579039224e+00 - -2.809822928959404e+00 -2.810287488118900e+00 -2.810750256531227e+00 -2.811211234101264e+00 -2.811670420689050e+00 - -2.812127816083888e+00 -2.812583420143096e+00 -2.813037233066774e+00 -2.813489255065615e+00 -2.813939486049919e+00 - -2.814387925944586e+00 -2.814834575033324e+00 -2.815279433542374e+00 -2.815722501109326e+00 -2.816163777438837e+00 - -2.816603263092504e+00 -2.817040958671196e+00 -2.817476864075942e+00 -2.817910979131784e+00 -2.818343304059641e+00 - -2.818773839208482e+00 -2.819202585043600e+00 -2.819629541969078e+00 -2.820054710027820e+00 -2.820478089265513e+00 - -2.820899680100151e+00 -2.821319482977751e+00 -2.821737498084143e+00 -2.822153725615352e+00 -2.822568166068396e+00 - -2.822980820018520e+00 -2.823391688052908e+00 -2.823800770674544e+00 -2.824208068037681e+00 -2.824613580315654e+00 - -2.825017308106835e+00 -2.825419252121360e+00 -2.825819413091381e+00 -2.826217791658008e+00 -2.826614388076187e+00 - -2.827009202624378e+00 -2.827402236061253e+00 -2.827793489256864e+00 -2.828182963046578e+00 -2.828570658171722e+00 - -2.828956575032161e+00 -2.829340714052488e+00 -2.829723076097664e+00 -2.830103662132774e+00 -2.830482473083023e+00 - -2.830859509823491e+00 -2.831234773068641e+00 -2.831608263528317e+00 -2.831979982054516e+00 -2.832349929557777e+00 - -2.832718107040651e+00 -2.833084515526141e+00 -2.833449156027042e+00 -2.833812029550204e+00 -2.834173137088914e+00 - -2.834532479620883e+00 -2.834890058075082e+00 -2.835245873448821e+00 -2.835599927061508e+00 -2.835952220243667e+00 - -2.836302754048190e+00 -2.836651529530672e+00 -2.836998548035129e+00 -2.837343810883671e+00 -2.837687319022324e+00 - -2.838029073490917e+00 -2.838369076080591e+00 -2.838707328586376e+00 -2.839043832067564e+00 -2.839378587474163e+00 - -2.839711596054793e+00 -2.840042859259108e+00 -2.840372379042276e+00 -2.840700157280677e+00 -2.841026195030013e+00 - -2.841350493343512e+00 -2.841673054085180e+00 -2.841993879190829e+00 -2.842312970072699e+00 -2.842630328108386e+00 - -2.842945955060471e+00 -2.843259852775203e+00 -2.843572023048496e+00 -2.843882467617769e+00 -2.844191188036773e+00 - -2.844498185884593e+00 -2.844803463025301e+00 -2.845107021413000e+00 -2.845408863076932e+00 -2.845708990020076e+00 - -2.846007404065244e+00 -2.846304107050338e+00 -2.846599101053807e+00 -2.846892388135785e+00 -2.847183970042619e+00 - -2.847473848570861e+00 -2.847762026031680e+00 -2.848048504803730e+00 -2.848333287020989e+00 -2.848616374754612e+00 - -2.848897770069131e+00 -2.849177475073159e+00 -2.849455492058227e+00 -2.849731823327478e+00 -2.850006471047571e+00 - -2.850279437434387e+00 -2.850550725037162e+00 -2.850820336439234e+00 -2.851088274026996e+00 -2.851354540133094e+00 - -2.851619137072155e+00 -2.851882067200814e+00 -2.852143333061782e+00 -2.852402937208544e+00 -2.852660882051651e+00 - -2.852917170055367e+00 -2.853171804041764e+00 -2.853424786850297e+00 -2.853676121032120e+00 -2.853925809140160e+00 - -2.854173854022716e+00 -2.854420258509995e+00 -2.854665025064492e+00 -2.854908156206457e+00 -2.855149655054884e+00 - -2.855389524765914e+00 -2.855627768045515e+00 -2.855864387531145e+00 -2.856099386036384e+00 -2.856332766480263e+00 - -2.856564532027491e+00 -2.856794685864488e+00 -2.857023231018833e+00 -2.857250170456676e+00 -2.857475507057297e+00 - -2.857699243787178e+00 -2.857921384048440e+00 -2.858141931205942e+00 -2.858360888039817e+00 -2.858578257403886e+00 - -2.858794043031427e+00 -2.859008248642304e+00 -2.859220877023269e+00 -2.859431930941042e+00 -2.859641414015340e+00 - -2.859849329964776e+00 -2.860055682050569e+00 -2.860260473522559e+00 -2.860463708042447e+00 -2.860665389218646e+00 - -2.860865520034553e+00 -2.861064103583913e+00 -2.861261144026887e+00 -2.861456645505078e+00 -2.861650611019446e+00 - -2.861843043539793e+00 -2.862033947051935e+00 -2.862223325674870e+00 -2.862411183044306e+00 -2.862597522669464e+00 - -2.862782348036900e+00 -2.862965662765951e+00 -2.863147471029718e+00 -2.863327776966641e+00 -2.863506584022756e+00 - -2.863683895649960e+00 -2.863859716016013e+00 -2.864034049304372e+00 -2.864206899045429e+00 -2.864378268816853e+00 - -2.864548163038503e+00 -2.864716586175495e+00 -2.864883542031795e+00 -2.865049034317118e+00 -2.865213067025303e+00 - -2.865375644227383e+00 -2.865536770019026e+00 -2.865696448531390e+00 -2.865854684012960e+00 -2.866011480747103e+00 - -2.866166843039399e+00 -2.866320775137251e+00 -2.866473281033156e+00 -2.866624364792500e+00 -2.866774031027124e+00 - -2.866922284373643e+00 -2.867069129021301e+00 -2.867214569108258e+00 -2.867358609015685e+00 -2.867501253183005e+00 - -2.867642506039625e+00 -2.867782372075631e+00 -2.867920856033839e+00 -2.868057962606175e+00 -2.868193696028257e+00 - -2.868328060561013e+00 -2.868461061022879e+00 -2.868592702303233e+00 -2.868722989017701e+00 -2.868851925722842e+00 - -2.868979517012722e+00 -2.869105767524959e+00 -2.869230682033886e+00 -2.869354265317122e+00 -2.869476522028743e+00 - -2.869597456891174e+00 -2.869717075023798e+00 -2.869835381525858e+00 -2.869952381019048e+00 -2.870068078133983e+00 - -2.870182478014490e+00 -2.870295585788873e+00 -2.870407406010122e+00 -2.870517943287246e+00 -2.870627203028626e+00 - -2.870735190678368e+00 -2.870841911024103e+00 -2.870947368779615e+00 -2.871051569019769e+00 -2.871154516959833e+00 - -2.871256218015620e+00 -2.871356677487263e+00 -2.871455900011655e+00 -2.871553890297982e+00 -2.871650654007871e+00 - -2.871746196881877e+00 -2.871840524023838e+00 -2.871933640394619e+00 -2.872025551019907e+00 -2.872116261043417e+00 - -2.872205776016155e+00 -2.872294101539941e+00 -2.872381243012580e+00 -2.872467205758066e+00 -2.872551995009178e+00 - -2.872635615995248e+00 -2.872718074023048e+00 -2.872799374482606e+00 -2.872879523019508e+00 -2.872958525324841e+00 - -2.873036387016140e+00 -2.873113113575017e+00 -2.873188710012942e+00 -2.873263181462381e+00 -2.873336534009911e+00 - -2.873408773769060e+00 -2.873479906007045e+00 -2.873549935889074e+00 -2.873618869018622e+00 -2.873686711126628e+00 - -2.873753468015626e+00 -2.873819145455355e+00 -2.873883749012791e+00 -2.873947284262238e+00 -2.874009757010115e+00 - -2.874071173064448e+00 -2.874131538007598e+00 -2.874190857408149e+00 -2.874249137005235e+00 -2.874306382592947e+00 - -2.874362600014657e+00 -2.874417795154723e+00 -2.874471974012172e+00 -2.874525142492177e+00 -2.874577306009839e+00 - -2.874628470067637e+00 -2.874678641007656e+00 -2.874727825164796e+00 -2.874776028005620e+00 -2.874823254939239e+00 - -2.874869512013286e+00 -2.874914805384953e+00 -2.874959141011137e+00 -2.875002524843012e+00 -2.875044963009132e+00 - -2.875086461553842e+00 -2.875127026007268e+00 -2.875166661990855e+00 -2.875205376005544e+00 -2.875243174521211e+00 - -2.875280063003956e+00 -2.875316046953741e+00 -2.875351133009737e+00 -2.875385327829893e+00 -2.875418637008044e+00 - -2.875451066029114e+00 -2.875482621006486e+00 -2.875513308222273e+00 -2.875543134005058e+00 -2.875572104616458e+00 - -2.875600226003760e+00 -2.875627504088381e+00 -2.875653945002586e+00 -2.875679554924722e+00 -2.875704340006628e+00 - -2.875728306365356e+00 -2.875751460005359e+00 -2.875773807024162e+00 -2.875795354004213e+00 -2.875816107441742e+00 - -2.875836073003188e+00 -2.875855256356105e+00 -2.875873664002281e+00 -2.875891302525273e+00 -2.875908178001488e+00 - -2.875924296429527e+00 -2.875939664003940e+00 -2.875954287022889e+00 -2.875968172003060e+00 -2.875981325374513e+00 - -2.875993753002293e+00 -2.876005460745149e+00 -2.876016455001635e+00 -2.876026742281703e+00 -2.876036329001085e+00 - -2.876045221511428e+00 -2.876053426002279e+00 -2.876060948682664e+00 -2.876067796001651e+00 -2.876073974394489e+00 - -2.876079490001126e+00 -2.876084348997735e+00 -2.876088558000703e+00 -2.876092123620084e+00 -2.876095052000378e+00 - -2.876097349275196e+00 -2.876099022000147e+00 -2.876100076780735e+00 -2.876100520000039e+00 -2.876100357977497e+00 - -2.876099597000405e+00 -2.876098243435337e+00 -2.876096303998139e+00 -2.876093785401991e+00 -2.876090694000126e+00 - -2.876087036076098e+00 -2.876082817994697e+00 -2.876078046153286e+00 -2.876072726998279e+00 -2.876066867041051e+00 - -2.876060473003754e+00 -2.876053551562065e+00 -2.876046108994973e+00 -2.876038151582050e+00 -2.876029686001908e+00 - -2.876020718975022e+00 -2.876011256990315e+00 -2.876001306494705e+00 -2.875990873998654e+00 -2.875979966015766e+00 - -2.875968589008655e+00 -2.875956749461299e+00 -2.875944453994101e+00 -2.875931709272467e+00 -2.875918522005370e+00 - -2.875904898821941e+00 -2.875890845988358e+00 -2.875876369796106e+00 -2.875861477000839e+00 -2.875846174460938e+00 - -2.875830468981534e+00 -2.875814367182402e+00 -2.875797874995170e+00 -2.875780998493851e+00 -2.875763745010153e+00 - -2.875746121853747e+00 -2.875728134988475e+00 -2.875709790337169e+00 -2.875691095004476e+00 -2.875672056151185e+00 - -2.875652679980860e+00 -2.875632972639220e+00 -2.875612940997824e+00 -2.875592591983200e+00 -2.875571932015899e+00 - -2.875550967463832e+00 -2.875529704990307e+00 -2.875508151305197e+00 -2.875486313009207e+00 -2.875464196688727e+00 - -2.875441808982035e+00 -2.875419156538716e+00 -2.875396246001703e+00 -2.875373083982446e+00 -2.875349676973115e+00 - -2.875326031456047e+00 -2.875302153993497e+00 -2.875278051224424e+00 -2.875253730014671e+00 -2.875229197164465e+00 - -2.875204458984698e+00 -2.875179521740897e+00 -2.875154392006447e+00 -2.875129076470253e+00 -2.875103581975416e+00 - -2.875077915323747e+00 -2.875052082997684e+00 -2.875026091410789e+00 -2.874999947020509e+00 -2.874973656330889e+00 - -2.874947225988491e+00 -2.874920662667701e+00 -2.874893973011697e+00 -2.874867163623783e+00 -2.874840240978976e+00 - -2.874813211559227e+00 -2.874786082002508e+00 -2.874758858958694e+00 -2.874731548969249e+00 -2.874704158521300e+00 - -2.874676693993052e+00 -2.874649161850167e+00 -2.874621569017096e+00 -2.874593922351292e+00 -2.874566227983435e+00 - -2.874538491996276e+00 -2.874510721007613e+00 -2.874482921761722e+00 -2.874455100973768e+00 -2.874427265275985e+00 - -2.874399420998023e+00 -2.874371574431975e+00 -2.874343732022288e+00 -2.874315900299783e+00 -2.874288085988434e+00 - -2.874260295776052e+00 -2.874232536012641e+00 -2.874204812974258e+00 -2.874177132978955e+00 -2.874149502426689e+00 - -2.874121928003048e+00 -2.874094416390038e+00 -2.874066973969692e+00 -2.874039607056358e+00 -2.874012321993617e+00 - -2.873985125156578e+00 -2.873958023017241e+00 -2.873931022092817e+00 -2.873904128984454e+00 -2.873877350227203e+00 - -2.873850692007775e+00 -2.873824160475146e+00 -2.873797761975665e+00 -2.873771502947487e+00 -2.873745389998629e+00 - -2.873719429664607e+00 -2.873693628021065e+00 -2.873667991196405e+00 -2.873642525989910e+00 -2.873617239207638e+00 - -2.873592137011854e+00 -2.873567225478465e+00 -2.873542510981722e+00 -2.873517999984164e+00 -2.873493699003122e+00 - -2.873469614539558e+00 -2.873445752974173e+00 -2.873422120664412e+00 -2.873398723994974e+00 -2.873375569341346e+00 - -2.873352663014937e+00 -2.873330011368907e+00 -2.873307620987516e+00 -2.873285498440290e+00 -2.873263650006746e+00 - -2.873242081977908e+00 -2.873220800980854e+00 -2.873199813610778e+00 -2.873179125999297e+00 -2.873158744269642e+00 - -2.873138674975094e+00 -2.873118924733721e+00 -2.873099499992696e+00 -2.873080407078925e+00 -2.873061652009151e+00 - -2.873043240951156e+00 -2.873025180987050e+00 -2.873007479104932e+00 -2.872990141002529e+00 -2.872973172348110e+00 - -2.872956579982463e+00 -2.872940370832477e+00 -2.872924550996914e+00 -2.872909126514257e+00 -2.872894104009989e+00 - -2.872879490127201e+00 -2.872865290992410e+00 -2.872851512733995e+00 -2.872838162004323e+00 -2.872825245427317e+00 - -2.872812768989124e+00 -2.872800738661925e+00 -2.872789160999820e+00 -2.872778042642130e+00 -2.872767389987160e+00 - -2.872757209355336e+00 -2.872747506996586e+00 -2.872738289140315e+00 -2.872729562004331e+00 -2.872721331833777e+00 - -2.872713604994726e+00 -2.872706387896571e+00 -2.872699687001068e+00 -2.872693508692679e+00 -2.872687858994343e+00 - -2.872682743943764e+00 -2.872678169999229e+00 -2.872674143639194e+00 -2.872670671002211e+00 -2.872667758252759e+00 - -2.872665411998920e+00 -2.872663638727966e+00 -2.872662444000314e+00 -2.872661833458480e+00 -2.872661814000242e+00 - -2.872662392564575e+00 -2.872663574999996e+00 -2.872665367034357e+00 -2.872667775003300e+00 -2.872670805307676e+00 - -2.872674464001362e+00 -2.872678757122995e+00 -2.872683690997219e+00 -2.872689271947241e+00 -2.872695506004511e+00 - -2.872702399218003e+00 -2.872709957998547e+00 -2.872718188690384e+00 -2.872727097009549e+00 -2.872736688669513e+00 - -2.872746970001709e+00 -2.872757947412680e+00 -2.872769626991446e+00 -2.872782014787135e+00 -2.872795117006809e+00 - -2.872808939808297e+00 -2.872823488994544e+00 -2.872838770359238e+00 -2.872854790013944e+00 -2.872871554154958e+00 - -2.872889068999627e+00 -2.872907340687168e+00 -2.872926375023218e+00 -2.872946177789640e+00 -2.872966755006795e+00 - -2.872988112738970e+00 -2.873010256987659e+00 -2.873033193743455e+00 -2.873056929016149e+00 -2.873081468798353e+00 - -2.873106818994782e+00 -2.873132985471494e+00 -2.873159974027786e+00 -2.873187790508094e+00 -2.873216441004140e+00 - -2.873245931584463e+00 -2.873276267977569e+00 -2.873307455856915e+00 -2.873339501015828e+00 -2.873372409342765e+00 - -2.873406186986854e+00 -2.873440840030674e+00 -2.873476374029945e+00 -2.873512794459630e+00 -2.873550106998518e+00 - -2.873588317466817e+00 -2.873627432046586e+00 -2.873667456808100e+00 -2.873708397012657e+00 -2.873750257967860e+00 - -2.873793045975522e+00 -2.873836767295967e+00 -2.873881427029366e+00 -2.873927030237608e+00 -2.873973582989610e+00 - -2.874021091436191e+00 -2.874069561048740e+00 -2.874118997257345e+00 -2.874169406006314e+00 -2.874220793186470e+00 - -2.874273163960479e+00 -2.874326523535612e+00 -2.874380878025728e+00 -2.874436233504353e+00 -2.874492594977105e+00 - -2.874549967456173e+00 -2.874608357047944e+00 -2.874667769870749e+00 -2.874728210996486e+00 -2.874789685444839e+00 - -2.874852199073056e+00 -2.874915757808161e+00 -2.874980367018717e+00 -2.875046031956011e+00 -2.875112757960702e+00 - -2.875180550448241e+00 -2.875249415043884e+00 -2.875319357389408e+00 -2.875390382982873e+00 -2.875462497200150e+00 - -2.875535705072081e+00 -2.875610011724477e+00 -2.875685423008027e+00 -2.875761944747628e+00 -2.875839581940104e+00 - -2.875918339524430e+00 -2.875998223036253e+00 -2.876079238083328e+00 -2.876161389965175e+00 -2.876244683897332e+00 - -2.876329125067640e+00 -2.876414718675390e+00 -2.876501469993362e+00 -2.876589384334920e+00 -2.876678467102276e+00 - -2.876768723646439e+00 -2.876860159024752e+00 -2.876952778311590e+00 -2.877046586943105e+00 -2.877141590285005e+00 - -2.877237793059432e+00 -2.877335200055582e+00 -2.877433816974432e+00 -2.877533649470098e+00 -2.877634702097487e+00 - -2.877736979404358e+00 -2.877840487009089e+00 -2.877945230580227e+00 -2.878051214916385e+00 -2.878158444703550e+00 - -2.878266925047163e+00 -2.878376661120778e+00 -2.878487657950954e+00 -2.878599920558564e+00 -2.878713454088738e+00 - -2.878828263638601e+00 -2.878944353988982e+00 -2.879061729871082e+00 -2.879180396133895e+00 -2.879300357745253e+00 - -2.879421620030550e+00 -2.879544188234639e+00 -2.879668066922659e+00 -2.879793260582870e+00 -2.879919774075741e+00 - -2.880047612428619e+00 -2.880176780964157e+00 -2.880307284823274e+00 -2.880439128124635e+00 -2.880572315044195e+00 - -2.880706851009318e+00 -2.880842741491739e+00 -2.880979990889281e+00 -2.881118603470176e+00 -2.881258584058220e+00 - -2.881399937594580e+00 -2.881542668934350e+00 -2.881686782880171e+00 -2.881832284110943e+00 -2.881979177270132e+00 - -2.882127466983199e+00 -2.882277157822698e+00 -2.882428254167564e+00 -2.882580760515876e+00 -2.882734682035907e+00 - -2.882890023809088e+00 -2.883046789899305e+00 -2.883204984344022e+00 -2.883364612092550e+00 -2.883525678164890e+00 - -2.883688186951939e+00 -2.883852142755886e+00 -2.884017550153203e+00 -2.884184413751485e+00 -2.884352738008543e+00 - -2.884522527349429e+00 -2.884693786217942e+00 -2.884866519029743e+00 -2.885040730069195e+00 -2.885216423722596e+00 - -2.885393604915286e+00 -2.885572278454246e+00 -2.885752448133968e+00 -2.885934117732660e+00 -2.886117291975880e+00 - -2.886301975695701e+00 -2.886488173202934e+00 -2.886675888645447e+00 -2.886865126040629e+00 -2.887055889528861e+00 - -2.887248183873006e+00 -2.887442013779875e+00 -2.887637383109605e+00 -2.887834295673936e+00 -2.888032755937675e+00 - -2.888232768417303e+00 -2.888434337182880e+00 -2.888637466267979e+00 -2.888842160006608e+00 -2.889048422705334e+00 - -2.889256258260521e+00 -2.889465670586525e+00 -2.889676664079871e+00 -2.889889243164732e+00 -2.890103411893701e+00 - -2.890319174230825e+00 -2.890536534157536e+00 -2.890755495690120e+00 -2.890976062966901e+00 -2.891198240133124e+00 - -2.891422031239666e+00 -2.891647440271526e+00 -2.891874471044534e+00 -2.892103127449178e+00 -2.892333413843735e+00 - -2.892565334531329e+00 -2.892798893126666e+00 -2.893034093211137e+00 -2.893270938921286e+00 -2.893509434394119e+00 - -2.893749583213363e+00 -2.893991388990754e+00 -2.894234856003367e+00 -2.894479988544211e+00 -2.894726790304690e+00 - -2.894975264880993e+00 -2.895225416090045e+00 -2.895477247800793e+00 -2.895730763869547e+00 -2.895985968110420e+00 - -2.896242864181383e+00 -2.896501455784724e+00 -2.896761746956156e+00 -2.897023741664482e+00 -2.897287443277443e+00 - -2.897552855132549e+00 -2.897819981047455e+00 -2.898088824960355e+00 -2.898359390811481e+00 -2.898631682423090e+00 - -2.898905703143506e+00 -2.899181456336644e+00 -2.899458945902694e+00 -2.899738175745144e+00 -2.900019149244370e+00 - -2.900301869748365e+00 -2.900586340998689e+00 -2.900872566741790e+00 -2.901160550350105e+00 -2.901450295205248e+00 - -2.901741805099525e+00 -2.902035083835090e+00 -2.902330134842785e+00 -2.902626961482952e+00 -2.902925567205262e+00 - -2.903225955501619e+00 -2.903528129943548e+00 -2.903832094083243e+00 -2.904137851315957e+00 -2.904445404943298e+00 - -2.904754758049239e+00 -2.905065913908475e+00 -2.905378876776237e+00 -2.905693650730528e+00 -2.906010238159916e+00 - -2.906328641477237e+00 -2.906648864881840e+00 -2.906970912612057e+00 -2.907294787275635e+00 -2.907620491421319e+00 - -2.907948028992455e+00 -2.908277404008211e+00 -2.908608619396449e+00 -2.908941677961907e+00 -2.909276583108139e+00 - -2.909613338320582e+00 -2.909951946813384e+00 -2.910292411733319e+00 -2.910634736228945e+00 -2.910978923497479e+00 - -2.911324976928991e+00 -2.911672899876866e+00 -2.912022695354926e+00 -2.912374366346152e+00 -2.912727916049746e+00 - -2.913083347735332e+00 -2.913440664738005e+00 -2.913799870293631e+00 -2.914160967175702e+00 -2.914523958205600e+00 - -2.914888846858668e+00 -2.915255636613397e+00 -2.915624330306910e+00 -2.915994930711883e+00 -2.916367440984558e+00 - -2.916741864289805e+00 -2.917118203443422e+00 -2.917496461287171e+00 -2.917876641115726e+00 -2.918258746264796e+00 - -2.918642779781321e+00 -2.919028744569610e+00 -2.919416643252220e+00 -2.919806478556714e+00 -2.920198253912409e+00 - -2.920591972698769e+00 -2.920987637394092e+00 -2.921385250442034e+00 -2.921784815048848e+00 -2.922186334507697e+00 - -2.922589811696789e+00 -2.922995249368979e+00 -2.923402650190686e+00 -2.923812016928122e+00 -2.924223352833133e+00 - -2.924636661116357e+00 -2.925051944337972e+00 -2.925469204994078e+00 -2.925888445974902e+00 -2.926309670222330e+00 - -2.926732880490753e+00 -2.927158079512877e+00 -2.927585270122142e+00 -2.928014455203420e+00 -2.928445637746579e+00 - -2.928878820641719e+00 -2.929314006274898e+00 -2.929751197043434e+00 -2.930190395893735e+00 -2.930631605816839e+00 - -2.931074829433217e+00 -2.931520069294359e+00 -2.931967328046430e+00 -2.932416608452995e+00 -2.932867913652596e+00 - -2.933321246608101e+00 -2.933776609204709e+00 -2.934234003435805e+00 -2.934693432805196e+00 -2.935154900804807e+00 - -2.935618409368617e+00 -2.936083960365691e+00 -2.936551556963400e+00 -2.937021202354904e+00 -2.937492898538196e+00 - -2.937966647468766e+00 -2.938442452127255e+00 -2.938920315642269e+00 -2.939400240709141e+00 -2.939882229846171e+00 - -2.940366285296803e+00 -2.940852409365155e+00 -2.941340604872910e+00 -2.941830874578781e+00 -2.942323220472084e+00 - -2.942817644603974e+00 -2.943314150042391e+00 -2.943812739919231e+00 -2.944313416605433e+00 -2.944816182292809e+00 - -2.945321039217627e+00 -2.945827989752984e+00 -2.946337036774817e+00 -2.946848183049044e+00 -2.947361430398659e+00 - -2.947876780695535e+00 -2.948394236949976e+00 -2.948913802216184e+00 -2.949435478585527e+00 -2.949959268045502e+00 - -2.950485173130951e+00 -2.951013196489051e+00 -2.951543340668991e+00 -2.952075608036040e+00 -2.952610000317780e+00 - -2.953146519451356e+00 -2.953685168849877e+00 -2.954225951787981e+00 -2.954768869510503e+00 -2.955313923227115e+00 - -2.955861116036636e+00 -2.956410451196468e+00 -2.956961930709160e+00 -2.957515556348660e+00 -2.958071330229310e+00 - -2.958629254704319e+00 -2.959189332741965e+00 -2.959751567143614e+00 -2.960315959427935e+00 -2.960882511105170e+00 - -2.961451224934558e+00 -2.962022103774683e+00 -2.962595149632548e+00 -2.963170364371659e+00 -2.963747750133120e+00 - -2.964327309260061e+00 -2.964909044626116e+00 -2.965492958892178e+00 -2.966079053337689e+00 -2.966667329311879e+00 - -2.967257789824588e+00 -2.967850437973655e+00 -2.968445275548303e+00 -2.969042304161408e+00 -2.969641526029084e+00 - -2.970242943489398e+00 -2.970846558764995e+00 -2.971452374012471e+00 -2.972060391239641e+00 -2.972670612566008e+00 - -2.973283040706606e+00 -2.973897678221620e+00 -2.974514526456296e+00 -2.975133586785449e+00 -2.975754861917081e+00 - -2.976378354633252e+00 -2.977004066679083e+00 -2.977631999719257e+00 -2.978262156133669e+00 -2.978894538388579e+00 - -2.979529148580497e+00 -2.980165988659094e+00 -2.980805060356407e+00 -2.981446365534977e+00 -2.982089906796993e+00 - -2.982735686662750e+00 -2.983383706585328e+00 -2.984033968085205e+00 -2.984686474019655e+00 -2.985341227187940e+00 - -2.985998228820469e+00 -2.986657480057624e+00 -2.987318983248517e+00 -2.987982740990944e+00 -2.988648755668708e+00 - -2.989317029403636e+00 -2.989987563483614e+00 -2.990660359350691e+00 -2.991335419897486e+00 -2.992012747963469e+00 - -2.992692344724977e+00 -2.993374211287029e+00 -2.994058350132512e+00 -2.994744763907397e+00 -2.995433454532118e+00 - -2.996124423756546e+00 -2.996817673373822e+00 -2.997513205283444e+00 -2.998211021767050e+00 -2.998911125033880e+00 - -2.999613516621449e+00 -3.000318198120732e+00 -3.001025172008281e+00 -3.001734440748973e+00 -3.002446005875424e+00 - -3.003159868783688e+00 -3.003876031255844e+00 -3.004594495323234e+00 -3.005315263628241e+00 -3.006038338638268e+00 - -3.006763721509772e+00 -3.007491413411925e+00 -3.008221416875716e+00 -3.008953734497098e+00 -3.009688367770095e+00 - -3.010425318036306e+00 -3.011164587129571e+00 -3.011906177113799e+00 -3.012650090480955e+00 -3.013396329533748e+00 - -3.014144895389836e+00 -3.014895789237767e+00 -3.015649013734712e+00 -3.016404571515447e+00 -3.017162463656545e+00 - -3.017922691248400e+00 -3.018685256994897e+00 -3.019450163571901e+00 -3.020217411929727e+00 -3.020987002987051e+00 - -3.021758939261538e+00 -3.022533223477289e+00 -3.023309857585168e+00 -3.024088843221124e+00 -3.024870181534668e+00 - -3.025653873871900e+00 -3.026439922851719e+00 -3.027228331077071e+00 -3.028019099814318e+00 -3.028812230192102e+00 - -3.029607724124773e+00 -3.030405583764245e+00 -3.031205811426982e+00 -3.032008409239547e+00 -3.032813378404362e+00 - -3.033620720145768e+00 -3.034430436699938e+00 -3.035242530366928e+00 -3.036057002690514e+00 -3.036873855182042e+00 - -3.037693089979441e+00 -3.038514709166424e+00 -3.039338713983260e+00 -3.040165105664532e+00 -3.040993886265523e+00 - -3.041825058080565e+00 -3.042658623539453e+00 -3.043494584770202e+00 -3.044332942558215e+00 -3.045173697755793e+00 - -3.046016852825442e+00 -3.046862410359265e+00 -3.047710371857544e+00 -3.048560738605269e+00 -3.049413512118055e+00 - -3.050268694173960e+00 -3.051126287370169e+00 -3.051986294136892e+00 -3.052848715417321e+00 -3.053713552140092e+00 - -3.054580806662679e+00 -3.055450481419417e+00 -3.056322577723267e+00 -3.057197096839233e+00 -3.058074040961857e+00 - -3.058953412280709e+00 -3.059835212035924e+00 -3.060719441405425e+00 -3.061606102267731e+00 -3.062495196777212e+00 - -3.063386727491054e+00 -3.064280696619269e+00 -3.065177104580330e+00 -3.066075951959016e+00 -3.066977241796834e+00 - -3.067880977177860e+00 -3.068787158899685e+00 -3.069695787543252e+00 -3.070606865109353e+00 -3.071520393938529e+00 - -3.072436376310475e+00 -3.073354814200677e+00 -3.074275708428639e+00 -3.075199059975246e+00 -3.076124871622891e+00 - -3.077053146054635e+00 -3.077983883754724e+00 -3.078917085313194e+00 -3.079852753942089e+00 -3.080790892784741e+00 - -3.081731502087634e+00 -3.082674582011150e+00 -3.083620135268097e+00 -3.084568164866139e+00 -3.085518672439932e+00 - -3.086471659270948e+00 -3.087427126600947e+00 -3.088385075921834e+00 -3.089345509765843e+00 -3.090308430518810e+00 - -3.091273838940665e+00 -3.092241735746584e+00 -3.093212123098609e+00 -3.094185003484481e+00 -3.095160379247863e+00 - -3.096138252358965e+00 -3.097118623438258e+00 -3.098101493262150e+00 -3.099086864580523e+00 -3.100074740150514e+00 - -3.101065120784818e+00 -3.102058007230942e+00 -3.103053401920080e+00 -3.104051307417155e+00 -3.105051725138318e+00 - -3.106054656274756e+00 -3.107060102266563e+00 -3.108068064811119e+00 -3.109078546386035e+00 -3.110091549326776e+00 - -3.111107074619999e+00 -3.112125123273996e+00 -3.113145697732417e+00 -3.114168800386244e+00 -3.115194431980418e+00 - -3.116222593318652e+00 -3.117253287085768e+00 -3.118286516039464e+00 -3.119322281347848e+00 -3.120360583948459e+00 - -3.121401425446115e+00 -3.122444807777008e+00 -3.123490733535526e+00 -3.124539205035892e+00 -3.125590222813487e+00 - -3.126643787500575e+00 -3.127699901895779e+00 -3.128758568841378e+00 -3.129819789187914e+00 -3.130883563634097e+00 - -3.131949894263071e+00 -3.133018783446947e+00 -3.134090233329311e+00 -3.135164245759380e+00 -3.136240821637432e+00 - -3.137319962039862e+00 -3.138401669696502e+00 -3.139485947209752e+00 -3.140572795018887e+00 -3.141662213641400e+00 - -3.142754206070774e+00 -3.143848775370422e+00 -3.144945922407469e+00 -3.146045647810740e+00 -3.147147953452156e+00 - -3.148252841552866e+00 -3.149360314487843e+00 -3.150470374336312e+00 -3.151583021840677e+00 -3.152698257836541e+00 - -3.153816084869129e+00 -3.154936505573740e+00 -3.156059521236365e+00 -3.157185132934072e+00 -3.158313342257567e+00 - -3.159444151127381e+00 -3.160577562269707e+00 -3.161713578058511e+00 -3.162852198653188e+00 -3.163993424406347e+00 - -3.165137258658042e+00 -3.166283704751602e+00 -3.167432763056018e+00 -3.168584433853514e+00 -3.169738720053572e+00 - -3.170895624664928e+00 -3.172055148466089e+00 -3.173217292044841e+00 -3.174382057456326e+00 -3.175549447119023e+00 - -3.176719463437418e+00 -3.177892108465135e+00 -3.179067382866334e+00 -3.180245287430775e+00 -3.181425824840074e+00 - -3.182608997807819e+00 -3.183794807283624e+00 -3.184983254083125e+00 -3.186174340249998e+00 -3.187368068149750e+00 - -3.188564440207163e+00 -3.189763458501066e+00 -3.190965123667219e+00 -3.192169436468204e+00 -3.193376399616980e+00 - -3.194586015855556e+00 -3.195798286091764e+00 -3.197013211234878e+00 -3.198230794034108e+00 -3.199451037209393e+00 - -3.200673941523666e+00 -3.201899507599942e+00 -3.203127737458575e+00 -3.204358633517069e+00 -3.205592198384193e+00 - -3.206828434306502e+00 -3.208067341890413e+00 -3.209308921829809e+00 -3.210553176808560e+00 -3.211800109598040e+00 - -3.213049721329648e+00 -3.214302012941719e+00 -3.215556986240311e+00 -3.216814643392485e+00 -3.218074987141617e+00 - -3.219338019837523e+00 -3.220603741679474e+00 -3.221872153094758e+00 -3.223143257573258e+00 -3.224417058543514e+00 - -3.225693556126080e+00 -3.226972750453261e+00 -3.228254645012327e+00 -3.229539243310538e+00 -3.230826545580160e+00 - -3.232116551831102e+00 -3.233409264458852e+00 -3.234704686394765e+00 -3.236002820328103e+00 -3.237303668413965e+00 - -3.238607230912866e+00 -3.239913508296335e+00 -3.241222503774527e+00 -3.242534220589764e+00 -3.243848659374397e+00 - -3.245165820540432e+00 -3.246485706228452e+00 -3.247808319087641e+00 -3.249133662073000e+00 -3.250461737608715e+00 - -3.251792545689908e+00 -3.253126086515263e+00 -3.254462363526813e+00 -3.255801380232294e+00 -3.257143137158927e+00 - -3.258487634736825e+00 -3.259834875988172e+00 -3.261184864013611e+00 -3.262537599635538e+00 -3.263893083453904e+00 - -3.265251317457108e+00 -3.266612304094287e+00 -3.267976046269084e+00 -3.269342546452898e+00 -3.270711804933652e+00 - -3.272083822201368e+00 -3.273458601737915e+00 -3.274836147008249e+00 -3.276216458417835e+00 -3.277599536106921e+00 - -3.278985382214368e+00 -3.280373999474050e+00 -3.281765391001240e+00 -3.283159559381294e+00 -3.284556504698475e+00 - -3.285956227223949e+00 -3.287358730477579e+00 -3.288764018003004e+00 -3.290172090190266e+00 -3.291582947391597e+00 - -3.292996592961586e+00 -3.294413030263101e+00 -3.295832259689772e+00 -3.297254281509102e+00 -3.298679098453292e+00 - -3.300106713632883e+00 -3.301537129207062e+00 -3.302970346938195e+00 -3.304406367952729e+00 -3.305845193592728e+00 - -3.307286826698660e+00 -3.308731270022015e+00 -3.310178524459931e+00 -3.311628590794006e+00 -3.313081471198005e+00 - -3.314537168271639e+00 -3.315995684926260e+00 -3.317457023622331e+00 -3.318921184705128e+00 -3.320388168757214e+00 - -3.321857979425488e+00 -3.323330620242623e+00 -3.324806091220061e+00 -3.326284392457951e+00 -3.327765527932510e+00 - -3.329249501635255e+00 -3.330736313742837e+00 -3.332225964151081e+00 -3.333718455447356e+00 -3.335213790816533e+00 - -3.336711973141963e+00 -3.338213004741188e+00 -3.339716885970061e+00 -3.341223617428788e+00 -3.342733202656698e+00 - -3.344245645175923e+00 -3.345760945500658e+00 -3.347279103963591e+00 -3.348800123179309e+00 -3.350324006237700e+00 - -3.351850755847976e+00 -3.353380374190363e+00 -3.354912861709826e+00 -3.356448219173252e+00 -3.357986450370467e+00 - -3.359527558984502e+00 -3.361071545248283e+00 -3.362618409368982e+00 -3.364168154900880e+00 -3.365720785489059e+00 - -3.367276301794712e+00 -3.368834704260551e+00 -3.370395995439248e+00 -3.371960178388195e+00 -3.373527256073704e+00 - -3.375097230883950e+00 -3.376670102985606e+00 -3.378245872877927e+00 -3.379824544611959e+00 -3.381406122149057e+00 - -3.382990605539988e+00 -3.384577994855671e+00 -3.386168294158221e+00 -3.387761507524905e+00 -3.389357635102426e+00 - -3.390956676825633e+00 -3.392558635712520e+00 -3.394163515324364e+00 -3.395771318312439e+00 -3.397382046745834e+00 - -3.398995701274896e+00 -3.400612282828281e+00 -3.402231794866633e+00 -3.403854240867662e+00 -3.405479621845378e+00 - -3.407107938586081e+00 -3.408739193428916e+00 -3.410373389185216e+00 -3.412010529002203e+00 -3.413650615518111e+00 - -3.415293648999326e+00 -3.416939629995896e+00 -3.418588562564371e+00 -3.420240450691449e+00 -3.421895294577897e+00 - -3.423553094414080e+00 -3.425213854134680e+00 -3.426877577792018e+00 -3.428544266164663e+00 -3.430213919689846e+00 - -3.431886540713168e+00 -3.433562132145608e+00 -3.435240697251321e+00 -3.436922238808692e+00 -3.438606757299870e+00 - -3.440294253397158e+00 -3.441984730829699e+00 -3.443678193368453e+00 -3.445374641894819e+00 -3.447074077051543e+00 - -3.448776501416308e+00 -3.450481918039497e+00 -3.452190329927366e+00 -3.453901739641781e+00 -3.455616148011183e+00 - -3.457333556082980e+00 -3.459053967513855e+00 -3.460777385853499e+00 -3.462503811614361e+00 -3.464233245386620e+00 - -3.465965691108627e+00 -3.467701152771073e+00 -3.469439631225878e+00 -3.471181127031554e+00 -3.472925642711720e+00 - -3.474673181335264e+00 -3.476423746187027e+00 -3.478177340029919e+00 -3.479933963323171e+00 -3.481693616824597e+00 - -3.483456304790008e+00 -3.485222031388338e+00 -3.486990796943019e+00 -3.488762601570069e+00 -3.490537448401365e+00 - -3.492315341151373e+00 -3.494096282849095e+00 -3.495880275915030e+00 -3.497667321021135e+00 -3.499457419173128e+00 - -3.501250574460328e+00 -3.503046790838973e+00 -3.504846068649357e+00 -3.506648408298966e+00 -3.508453814079994e+00 - -3.510262290280344e+00 -3.512073837286068e+00 -3.513888455301771e+00 -3.515706147708129e+00 -3.517526918395819e+00 - -3.519350770119465e+00 -3.521177705073145e+00 -3.523007724344773e+00 -3.524840829328240e+00 -3.526677023747485e+00 - -3.528516311267811e+00 -3.530358692989965e+00 -3.532204169811781e+00 -3.534052744384031e+00 -3.535904419874647e+00 - -3.537759199767289e+00 -3.539617087002065e+00 -3.541478082029144e+00 -3.543342185630307e+00 -3.545209402403708e+00 - -3.547079736777425e+00 -3.548953188682862e+00 -3.550829758143615e+00 -3.552709450048714e+00 -3.554592269345012e+00 - -3.556478216345227e+00 -3.558367291032073e+00 -3.560259496702344e+00 -3.562154837300620e+00 -3.564053316048536e+00 - -3.565954935512961e+00 -3.567859696364639e+00 -3.569767599635964e+00 -3.571678649702049e+00 -3.573592850895430e+00 - -3.575510204035641e+00 -3.577430709619281e+00 -3.579354370364244e+00 -3.581281189700099e+00 -3.583211171681835e+00 - -3.585144319721653e+00 -3.587080634035166e+00 -3.589020115063184e+00 -3.590962767343901e+00 -3.592908595415016e+00 - -3.594857599714854e+00 -3.596809780701911e+00 -3.598765143014713e+00 -3.600723691343250e+00 -3.602685426403352e+00 - -3.604650348553174e+00 -3.606618460694309e+00 -3.608589766473437e+00 -3.610564269974137e+00 -3.612541974573128e+00 - -3.614522880382737e+00 -3.616506987803558e+00 -3.618494301653613e+00 -3.620484826823921e+00 -3.622478564080036e+00 - -3.624475513850586e+00 -3.626475679341938e+00 -3.628479064392689e+00 -3.630485672592619e+00 -3.632495506905407e+00 - -3.634508568039156e+00 -3.636524857004877e+00 -3.638544378280809e+00 -3.640567136287224e+00 -3.642593131745308e+00 - -3.644622365423449e+00 -3.646654841977913e+00 -3.648690566065893e+00 -3.650729538460438e+00 -3.652771759626902e+00 - -3.654817232683972e+00 -3.656865961450936e+00 -3.658917949896158e+00 -3.660973201344661e+00 -3.663031716399031e+00 - -3.665093495929850e+00 -3.667158544602091e+00 -3.669226867066577e+00 -3.671298464123134e+00 -3.673373336353373e+00 - -3.675451487317045e+00 -3.677532921173144e+00 -3.679617641499514e+00 -3.681705651197185e+00 -3.683796951041065e+00 - -3.685891542158701e+00 -3.687989429214330e+00 -3.690090616811484e+00 -3.692195105774196e+00 -3.694302896934788e+00 - -3.696413994938233e+00 -3.698528404463948e+00 -3.700646126516483e+00 -3.702767161822413e+00 -3.704891513671268e+00 - -3.707019186005269e+00 -3.709150182814482e+00 -3.711284507419287e+00 -3.713422160413482e+00 -3.715563142750310e+00 - -3.717707459547388e+00 -3.719855115839397e+00 -3.722006112164920e+00 -3.724160448777861e+00 -3.726318129289493e+00 - -3.728479158099316e+00 -3.730643539402395e+00 -3.732811276589775e+00 -3.734982370040845e+00 -3.737156820495128e+00 - -3.739334633144358e+00 -3.741515813112657e+00 -3.743700360801490e+00 -3.745888276640612e+00 -3.748079565895588e+00 - -3.750274233918474e+00 -3.752472281571475e+00 -3.754673709335501e+00 -3.756878520656135e+00 -3.759086719721971e+00 - -3.761298310728990e+00 -3.763513297133539e+00 -3.765731679426046e+00 -3.767953458457793e+00 -3.770178639489403e+00 - -3.772407227784000e+00 -3.774639224205367e+00 -3.776874629489326e+00 -3.779113448259203e+00 -3.781355685279774e+00 - -3.783601341994148e+00 -3.785850419525435e+00 -3.788102921038436e+00 -3.790358850378410e+00 -3.792618212070778e+00 - -3.794881010002580e+00 -3.797147244827153e+00 -3.799416917428862e+00 -3.801690032849888e+00 -3.803966596190487e+00 - -3.806246608625402e+00 -3.808530070983860e+00 -3.810816986638503e+00 -3.813107359693981e+00 -3.815401194639556e+00 - -3.817698495297397e+00 -3.819999262436677e+00 -3.822303497093916e+00 -3.824611204428034e+00 -3.826922389548483e+00 - -3.829237053244454e+00 -3.831555196353405e+00 -3.833876824226091e+00 -3.836201942201953e+00 -3.838530551061888e+00 - -3.840862651326505e+00 -3.843198247033778e+00 -3.845537342919513e+00 -3.847879942993476e+00 -3.850226050562932e+00 - -3.852575666851148e+00 -3.854928793361406e+00 -3.857285434801036e+00 -3.859645595950435e+00 -3.862009278678248e+00 - -3.864376484523473e+00 -3.866747216618300e+00 -3.869121478726629e+00 -3.871499275546047e+00 -3.873880611182955e+00 - -3.876265486445322e+00 -3.878653902389424e+00 -3.881045864363169e+00 -3.883441377687285e+00 -3.885840443282151e+00 - -3.888243062046155e+00 -3.890649239190073e+00 -3.893058980047241e+00 -3.895472286128841e+00 -3.897889158595383e+00 - -3.900309601026809e+00 -3.902733617656517e+00 -3.905161212912323e+00 -3.907592390603840e+00 -3.910027151873432e+00 - -3.912465498159137e+00 -3.914907434748928e+00 -3.917352966879188e+00 -3.919802095729995e+00 -3.922254822259626e+00 - -3.924711150595445e+00 -3.927171085542605e+00 -3.929634631448325e+00 -3.932101791843537e+00 -3.934572567451927e+00 - -3.937046959532740e+00 -3.939524974294695e+00 -3.942006617767883e+00 -3.944491890318428e+00 -3.946980792233828e+00 - -3.949473329151056e+00 -3.951969506957779e+00 -3.954469327195002e+00 -3.956972790971958e+00 -3.959479902017460e+00 - -3.961990664762499e+00 -3.964505083827194e+00 -3.967023163167552e+00 -3.969544903893966e+00 -3.972070307479498e+00 - -3.974599379693463e+00 -3.977132126179292e+00 -3.979668547780628e+00 -3.982208645099321e+00 -3.984752422569858e+00 - -3.987299885436030e+00 -3.989851038346246e+00 -3.992405885069993e+00 -3.994964426456437e+00 -3.997526663815754e+00 - -4.000092603222488e+00 -4.002662250581340e+00 -4.005235606353252e+00 -4.007812671084819e+00 -4.010393451108941e+00 - -4.012977952843547e+00 -4.015566177260363e+00 -4.018158124897606e+00 -4.020753800005660e+00 -4.023353207686703e+00 - -4.025956352737950e+00 -4.028563239140089e+00 -4.031173867912699e+00 -4.033788240453579e+00 -4.036406362634527e+00 - -4.039028240314873e+00 -4.041653874830120e+00 -4.044283267179555e+00 -4.046916421541453e+00 -4.049553342894448e+00 - -4.052194036239657e+00 -4.054838505774454e+00 -4.057486752458788e+00 -4.060138777601743e+00 -4.062794587146426e+00 - -4.065454187011838e+00 -4.068117578386588e+00 -4.070784762448621e+00 -4.073455745063631e+00 -4.076130532171974e+00 - -4.078809125324914e+00 -4.081491525652789e+00 -4.084177736991329e+00 -4.086867764089578e+00 -4.089561612644448e+00 - -4.092259287473573e+00 -4.094960788929582e+00 -4.097666117736884e+00 -4.100375280572002e+00 -4.103088284211306e+00 - -4.105805129878449e+00 -4.108525818267906e+00 -4.111250353510137e+00 -4.113978740671802e+00 -4.116710985128399e+00 - -4.119447091422845e+00 -4.122187060458915e+00 -4.124930893522407e+00 -4.127678597066370e+00 -4.130430177441071e+00 - -4.133185635418395e+00 -4.135944971791250e+00 -4.138708193015015e+00 -4.141475305696859e+00 -4.144246311388639e+00 - -4.147021211130915e+00 -4.149800008974389e+00 -4.152582709893380e+00 -4.155369319546537e+00 -4.158159842709882e+00 - -4.160954279944561e+00 -4.163752632239020e+00 -4.166554906505763e+00 -4.169361109687737e+00 -4.172171242925584e+00 - -4.174985306927709e+00 -4.177803306475812e+00 -4.180625247195196e+00 -4.183451134012302e+00 -4.186280970992621e+00 - -4.189114759456745e+00 -4.191952501240072e+00 -4.194794202982180e+00 -4.197639871116617e+00 -4.200489506448629e+00 - -4.203343109834506e+00 -4.206200687962978e+00 -4.209062247657938e+00 -4.211927790451525e+00 -4.214797317400862e+00 - -4.217670832954751e+00 -4.220548342457539e+00 -4.223429851444060e+00 -4.226315364591702e+00 -4.229204882957573e+00 - -4.232098408004153e+00 -4.234995946435681e+00 -4.237897504949240e+00 -4.240803084971501e+00 -4.243712687544032e+00 - -4.246626317438374e+00 -4.249543980343883e+00 -4.252465681891192e+00 -4.255391426705907e+00 -4.258321215452209e+00 - -4.261255049361277e+00 -4.264192935893713e+00 -4.267134882389568e+00 -4.270080889477248e+00 -4.273030957691918e+00 - -4.275985093907401e+00 -4.278943305249538e+00 -4.281905593513557e+00 -4.284871959946388e+00 -4.287842408932329e+00 - -4.290816945777364e+00 -4.293795576336856e+00 -4.296778305653331e+00 -4.299765134968560e+00 -4.302756065899131e+00 - -4.305751105361620e+00 -4.308750260118541e+00 -4.311753531016159e+00 -4.314760919008608e+00 -4.317772431397722e+00 - -4.320788075591533e+00 -4.323807853075197e+00 -4.326831764792573e+00 -4.329859815445223e+00 -4.332892010759197e+00 - -4.335928356800809e+00 -4.338968858700405e+00 -4.342013517504197e+00 -4.345062334602749e+00 -4.348115316848165e+00 - -4.351172471198577e+00 -4.354233799574710e+00 -4.357299303495111e+00 -4.360368987907023e+00 -4.363442858590077e+00 - -4.366520921224746e+00 -4.369603180592436e+00 -4.372689637977453e+00 -4.375780295145305e+00 -4.378875159283436e+00 - -4.381974237486932e+00 -4.385077531059527e+00 -4.388185041309383e+00 -4.391296775353732e+00 -4.394412740393244e+00 - -4.397532938153312e+00 -4.400657369887305e+00 -4.403786040435705e+00 -4.406918955633090e+00 -4.410056121703311e+00 - -4.413197543940346e+00 -4.416343223529426e+00 -4.419493162052248e+00 -4.422647366785128e+00 -4.425805845047289e+00 - -4.428968598634965e+00 -4.432135628892382e+00 -4.435306940878729e+00 -4.438482540596634e+00 -4.441662434107552e+00 - -4.444846626509031e+00 -4.448035118984182e+00 -4.451227913265940e+00 -4.454425017200977e+00 -4.457626438485681e+00 - -4.460832178101560e+00 -4.464042236947444e+00 -4.467256622306292e+00 -4.470475341701105e+00 -4.473698397230936e+00 - -4.476925790483307e+00 -4.480157526423565e+00 -4.483393610985775e+00 -4.486634050601043e+00 -4.489878850742320e+00 - -4.493128012552872e+00 -4.496381537630165e+00 -4.499639433718156e+00 -4.502901708553144e+00 -4.506168363694287e+00 - -4.509439400268067e+00 -4.512714823847340e+00 -4.515994641019672e+00 -4.519278857985080e+00 -4.522567479881829e+00 - -4.525860507988668e+00 -4.529157944122721e+00 -4.532459796114085e+00 -4.535766071688615e+00 -4.539076772142213e+00 - -4.542391898765175e+00 -4.545711459255270e+00 -4.549035461446213e+00 -4.552363907308053e+00 -4.555696798263391e+00 - -4.559034139408705e+00 -4.562375936904542e+00 -4.565722197493832e+00 -4.569072926948550e+00 -4.572428126574475e+00 - -4.575787798129616e+00 -4.579151949647104e+00 -4.582520589075836e+00 -4.585893717752653e+00 -4.589271336639746e+00 - -4.592653451812744e+00 -4.596040070428725e+00 -4.599431198857142e+00 -4.602826842289216e+00 -4.606227001990830e+00 - -4.609631679831751e+00 -4.613040884022596e+00 -4.616454622677202e+00 -4.619872897181441e+00 -4.623295708819967e+00 - -4.626723065200532e+00 -4.630154974192006e+00 -4.633591438384649e+00 -4.637032459790966e+00 -4.640478043391029e+00 - -4.643928195196958e+00 -4.647382922381489e+00 -4.650842231139545e+00 -4.654306122594169e+00 -4.657774598295235e+00 - -4.661247666571815e+00 -4.664725335805659e+00 -4.668207607810025e+00 -4.671694483876048e+00 -4.675185969774820e+00 - -4.678682072408495e+00 -4.682182798723523e+00 -4.685688154522786e+00 -4.689198140990583e+00 -4.692712759891060e+00 - -4.696232019926335e+00 -4.699755929666950e+00 -4.703284490219185e+00 -4.706817702626076e+00 -4.710355575141943e+00 - -4.713898116290367e+00 -4.717445328460708e+00 -4.720997213393779e+00 -4.724553776370427e+00 -4.728115023824750e+00 - -4.731680963263822e+00 -4.735251601139764e+00 -4.738826938611875e+00 -4.742406977241646e+00 -4.745991725492132e+00 - -4.749581191958943e+00 -4.753175378866366e+00 -4.756774287871428e+00 -4.760377924733439e+00 -4.763986296289299e+00 - -4.767599409584012e+00 -4.771217270615820e+00 -4.774839880987831e+00 -4.778467242836293e+00 -4.782099364825118e+00 - -4.785736255481164e+00 -4.789377916255392e+00 -4.793024348603915e+00 -4.796675561079348e+00 -4.800331562360717e+00 - -4.803992354536202e+00 -4.807657939173200e+00 -4.811328322346788e+00 -4.815003511262576e+00 -4.818683513140625e+00 - -4.822368334073276e+00 -4.826057975627521e+00 -4.829752439872078e+00 -4.833451735407881e+00 -4.837155870922971e+00 - -4.840864848921632e+00 -4.844578671297884e+00 -4.848297343688468e+00 -4.852020872870312e+00 -4.855749266438375e+00 - -4.859482530948563e+00 -4.863220667982479e+00 -4.866963679596293e+00 -4.870711574718753e+00 -4.874464362148352e+00 - -4.878222043289993e+00 -4.881984619584831e+00 -4.885752100012597e+00 -4.889524493673498e+00 -4.893301802611106e+00 - -4.897084028340568e+00 -4.900871177319985e+00 -4.904663257144151e+00 -4.908460275011687e+00 -4.912262236942902e+00 - -4.916069144641015e+00 -4.919881000415621e+00 -4.923697813318887e+00 -4.927519592402767e+00 -4.931346339975771e+00 - -4.935178057730553e+00 -4.939014751639765e+00 -4.942856428895341e+00 -4.946703097286389e+00 -4.950554763469543e+00 - -4.954411428974413e+00 -4.958273095882141e+00 -4.962139773607051e+00 -4.966011471374763e+00 -4.969888190322918e+00 - -4.973769931656962e+00 -4.977656704941523e+00 -4.981548519919207e+00 -4.985445378685372e+00 -4.989347282670139e+00 - -4.993254238289898e+00 -4.997166253181426e+00 -5.001083334876794e+00 -5.005005489750602e+00 -5.008932719652265e+00 - -5.012865027026571e+00 -5.016802421224969e+00 -5.020744911403345e+00 -5.024692499028711e+00 -5.028645185619313e+00 - -5.032602980587180e+00 -5.036565893470627e+00 -5.040533926419334e+00 -5.044507081015939e+00 -5.048485363963517e+00 - -5.052468783200935e+00 -5.056457346489804e+00 -5.060451060330298e+00 -5.064449926354071e+00 -5.068453946757710e+00 - -5.072463130865962e+00 -5.076477488052552e+00 -5.080497020758939e+00 -5.084521730904982e+00 -5.088551625256381e+00 - -5.092586711696772e+00 -5.096626997735727e+00 -5.100672489712744e+00 -5.104723189661156e+00 -5.108779100266077e+00 - -5.112840231125939e+00 -5.116906591587866e+00 -5.120978183080382e+00 -5.125055007124604e+00 -5.129137073530554e+00 - -5.133224392250169e+00 -5.137316965514153e+00 -5.141414794882011e+00 -5.145517886949661e+00 -5.149626249667421e+00 - -5.153739891366810e+00 -5.157858819095347e+00 -5.161983034383363e+00 -5.166112539324860e+00 -5.170247343785729e+00 - -5.174387457616170e+00 -5.178532882831751e+00 -5.182683620936045e+00 -5.186839679219287e+00 -5.191001066208124e+00 - -5.195167789588259e+00 -5.199339855740569e+00 -5.203517266667578e+00 -5.207700025095241e+00 -5.211888141021600e+00 - -5.216081624199723e+00 -5.220280476130696e+00 -5.224484698310884e+00 -5.228694300469721e+00 -5.232909292611727e+00 - -5.237129677608738e+00 -5.241355457600706e+00 -5.245586638932716e+00 -5.249823229255573e+00 -5.254065237237846e+00 - -5.258312670369801e+00 -5.262565530410686e+00 -5.266823819583928e+00 -5.271087547700648e+00 -5.275356724632263e+00 - -5.279631352903723e+00 -5.283911434448228e+00 -5.288196976178466e+00 -5.292487986327965e+00 -5.296784473434150e+00 - -5.301086444698075e+00 -5.305393901671405e+00 -5.309706846569482e+00 -5.314025289911748e+00 -5.318349242027271e+00 - -5.322678704179561e+00 -5.327013677718438e+00 -5.331354173404511e+00 -5.335700202105029e+00 -5.340051765703035e+00 - -5.344408865432155e+00 -5.348771508912536e+00 -5.353139705124518e+00 -5.357513462102698e+00 -5.361892786505948e+00 - -5.366277680435933e+00 -5.370668146715638e+00 -5.375064195610523e+00 -5.379465837274747e+00 -5.383873073974794e+00 - -5.388285907439377e+00 -5.392704345133761e+00 -5.397128395890300e+00 -5.401558068273167e+00 -5.405993369375257e+00 - -5.410434300672517e+00 -5.414880864443758e+00 -5.419333071796174e+00 -5.423790933634701e+00 -5.428254451226888e+00 - -5.432723625834648e+00 -5.437198468334746e+00 -5.441678989715544e+00 -5.446165191796978e+00 -5.450657075821366e+00 - -5.455154649888983e+00 -5.459657923508107e+00 -5.464166904961132e+00 -5.468681600997277e+00 -5.473202013458992e+00 - -5.477728145011161e+00 -5.482260006515158e+00 -5.486797608759512e+00 -5.491340954044872e+00 -5.495890044003880e+00 - -5.500444886085005e+00 -5.505005489175888e+00 -5.509571862105057e+00 -5.514144012303452e+00 -5.518721941670775e+00 - -5.523305652810777e+00 -5.527895156674663e+00 -5.532490463993778e+00 -5.537091576272570e+00 -5.541698495053784e+00 - -5.546311231260242e+00 -5.550929796018560e+00 -5.555554191890502e+00 -5.560184420697174e+00 -5.564820489861896e+00 - -5.569462408240030e+00 -5.574110184812914e+00 -5.578763827204064e+00 -5.583423337479740e+00 -5.588088718319627e+00 - -5.592759980414353e+00 -5.597437134453794e+00 -5.602120183113874e+00 -5.606809128447821e+00 -5.611503978032022e+00 - -5.616204740842362e+00 -5.620911425929568e+00 -5.625624040919794e+00 -5.630342587666039e+00 -5.635067068763208e+00 - -5.639797495546991e+00 -5.644533879170592e+00 -5.649276221316504e+00 -5.654024523642824e+00 -5.658778797180806e+00 - -5.663539053129186e+00 -5.668305293983524e+00 -5.673077521581335e+00 -5.677855743831122e+00 -5.682639970117403e+00 - -5.687430209657800e+00 -5.692226470164904e+00 -5.697028753498052e+00 -5.701837062188433e+00 -5.706651407307890e+00 - -5.711471800003379e+00 -5.716298243181697e+00 -5.721130739014699e+00 -5.725969294974640e+00 -5.730813920019088e+00 - -5.735664623746429e+00 -5.740521414337008e+00 -5.745384293658165e+00 -5.750253264219532e+00 -5.755128337412918e+00 - -5.760009524502356e+00 -5.764896827358567e+00 -5.769790247833362e+00 -5.774689797096235e+00 -5.779595486532854e+00 - -5.784507319075965e+00 -5.789425296924678e+00 -5.794349427796488e+00 -5.799279720850703e+00 -5.804216185495535e+00 - -5.809158829710795e+00 -5.814107655513784e+00 -5.819062665706917e+00 -5.824023872195552e+00 -5.828991286593848e+00 - -5.833964910248241e+00 -5.838944744496904e+00 -5.843930800912663e+00 -5.848923091405570e+00 -5.853921618999967e+00 - -5.858926385866531e+00 -5.863937399646989e+00 -5.868954669511408e+00 -5.873978205272220e+00 -5.879008015280387e+00 - -5.884044101398642e+00 -5.889086466127434e+00 -5.894135121006329e+00 -5.899190077679159e+00 -5.904251339167730e+00 - -5.909318907675908e+00 -5.914392790757818e+00 -5.919472997569684e+00 -5.924559538325873e+00 -5.929652421747786e+00 - -5.934751649526802e+00 -5.939857223994977e+00 -5.944969157077114e+00 -5.950087460588470e+00 -5.955212136313389e+00 - -5.960343186070434e+00 -5.965480621845905e+00 -5.970624455737114e+00 -5.975774690117698e+00 -5.980931326619691e+00 - -5.986094373632355e+00 -5.991263841186835e+00 -5.996439739124646e+00 -6.001622075628632e+00 -6.006810852436582e+00 - -6.012006072105073e+00 -6.017207746910874e+00 -6.022415889122929e+00 -6.027630501258702e+00 -6.032851585034692e+00 - -6.038079148714933e+00 -6.043313202169935e+00 -6.048553755148549e+00 -6.053800815867540e+00 -6.059054386536941e+00 - -6.064314470164098e+00 -6.069581078952353e+00 -6.074854224823474e+00 -6.080133909377011e+00 -6.085420134277816e+00 - -6.090712911774160e+00 -6.096012254273324e+00 -6.101318164235261e+00 -6.106630643404864e+00 -6.111949700614082e+00 - -6.117275346267099e+00 -6.122607589969956e+00 -6.127946439669295e+00 -6.133291897472249e+00 -6.138643966380033e+00 - -6.144002658809652e+00 -6.149367987035877e+00 -6.154739953348771e+00 -6.160118559324411e+00 -6.165503813667637e+00 - -6.170895726810269e+00 -6.176294308963303e+00 -6.181699568610070e+00 -6.187111507544039e+00 -6.192530128394146e+00 - -6.197955443821025e+00 -6.203387466288188e+00 -6.208826197438971e+00 -6.214271638855750e+00 -6.219723802697215e+00 - -6.225182701452046e+00 -6.230648338352550e+00 -6.236120715733020e+00 -6.241599841591995e+00 -6.247085725644578e+00 - -6.252578378807894e+00 -6.258077810320607e+00 -6.263584021505486e+00 -6.269097014385768e+00 -6.274616801702433e+00 - -6.280143396389799e+00 -6.285676801437800e+00 -6.291217018848358e+00 -6.296764056615736e+00 -6.302317924554712e+00 - -6.307878633769864e+00 -6.313446193664602e+00 -6.319020605547922e+00 -6.324601871487839e+00 -6.330190004682891e+00 - -6.335785018206249e+00 -6.341386913499118e+00 -6.346995691980793e+00 -6.352611366614864e+00 -6.358233950592316e+00 - -6.363863446469443e+00 -6.369499855900457e+00 -6.375143187565898e+00 -6.380793451939097e+00 -6.386450659638202e+00 - -6.392114819555641e+00 -6.397785933536126e+00 -6.403464004233896e+00 -6.409149044588990e+00 -6.414841067513965e+00 - -6.420540075525660e+00 -6.426246070301758e+00 -6.431959060559017e+00 -6.437679056917068e+00 -6.443406070567963e+00 - -6.449140110779302e+00 -6.454881178548420e+00 -6.460629275812415e+00 -6.466384416537711e+00 -6.472146614484319e+00 - -6.477915870557313e+00 -6.483692185657911e+00 -6.489475573526882e+00 -6.495266048141532e+00 -6.501063611585819e+00 - -6.506868264986595e+00 -6.512680017535606e+00 -6.518498880384615e+00 -6.524324864460620e+00 -6.530157978732819e+00 - -6.535998224564008e+00 -6.541845604255500e+00 -6.547700131469085e+00 -6.553561819849423e+00 -6.559430671612207e+00 - -6.565306688088189e+00 -6.571189878497283e+00 -6.577080253965905e+00 -6.582977825357318e+00 -6.588882601649868e+00 - -6.594794584545345e+00 -6.600713776640095e+00 -6.606640191385222e+00 -6.612573842086468e+00 -6.618514730613387e+00 - -6.624462858757332e+00 -6.630418239433046e+00 -6.636380885778538e+00 -6.642350800701542e+00 -6.648327986279747e+00 - -6.654312451500913e+00 -6.660304207148021e+00 -6.666303264274883e+00 -6.672309632144893e+00 -6.678323312588955e+00 - -6.684344308236361e+00 -6.690372632342481e+00 -6.696408298209058e+00 -6.702451308697293e+00 -6.708501665794167e+00 - -6.714559378430309e+00 -6.720624457416141e+00 -6.726696914137652e+00 -6.732776758078630e+00 -6.738863990538500e+00 - -6.744958613795213e+00 -6.751060642225177e+00 -6.757170089911689e+00 -6.763286957667176e+00 -6.769411246357500e+00 - -6.775542970333119e+00 -6.781682144164359e+00 -6.787828769816468e+00 -6.793982848306231e+00 -6.800144389461610e+00 - -6.806313405086916e+00 -6.812489906080716e+00 -6.818673901333698e+00 -6.824865392610781e+00 -6.831064382650163e+00 - -6.837270885208925e+00 -6.843484914029985e+00 -6.849706471780753e+00 -6.855935560196301e+00 -6.862172188357874e+00 - -6.868416367348060e+00 -6.874668108908677e+00 -6.880927422841348e+00 -6.887194310527692e+00 -6.893468774218006e+00 - -6.899750828057308e+00 -6.906040486046904e+00 -6.912337749718504e+00 -6.918642620544160e+00 -6.924955112226868e+00 - -6.931275238742860e+00 -6.937603002930438e+00 -6.943938406703657e+00 -6.950281459417487e+00 -6.956632172330878e+00 - -6.962990556877839e+00 -6.969356622516854e+00 -6.975730370629293e+00 -6.982111803620415e+00 -6.988500936068168e+00 - -6.994897782349220e+00 -7.001302343862422e+00 -7.007714621896787e+00 -7.014134630279748e+00 -7.020562383120512e+00 - -7.026997883116998e+00 -7.033441132058707e+00 -7.039892139512705e+00 -7.046350916975187e+00 -7.052817475881351e+00 - -7.059291825658977e+00 -7.065773967767182e+00 -7.072263904706783e+00 -7.078761651114045e+00 -7.085267221537997e+00 - -7.091780618043302e+00 -7.098301841735545e+00 -7.104830902368316e+00 -7.111367811800725e+00 -7.117912581665987e+00 - -7.124465221496127e+00 -7.131025732644298e+00 -7.137594117517873e+00 -7.144170390919956e+00 -7.150754567380619e+00 - -7.157346647942116e+00 -7.163946633668109e+00 -7.170554539195697e+00 -7.177170379365883e+00 -7.183794156261903e+00 - -7.190425870988396e+00 -7.197065533493338e+00 -7.203713155838439e+00 -7.210368749697043e+00 -7.217032324589560e+00 - -7.223703881813015e+00 -7.230383423705708e+00 -7.237070964994412e+00 -7.243766520390449e+00 -7.250470092154861e+00 - -7.257181681552523e+00 -7.263901298313877e+00 -7.270628954301988e+00 -7.277364661444877e+00 -7.284108429522252e+00 - -7.290860259655573e+00 -7.297620154032538e+00 -7.304388127764033e+00 -7.311164195737019e+00 -7.317948359019635e+00 - -7.324740618617562e+00 -7.331540989105481e+00 -7.338349485298712e+00 -7.345166109406192e+00 -7.351990862719772e+00 - -7.358823755469352e+00 -7.365664799915581e+00 -7.372514007504119e+00 -7.379371387574386e+00 -7.386236941855793e+00 - -7.393110673113762e+00 -7.399992595867711e+00 -7.406882724521767e+00 -7.413781061264927e+00 -7.420687607444220e+00 - -7.427602373253923e+00 -7.434525370953283e+00 -7.441456612214240e+00 -7.448396106579596e+00 -7.455343855662903e+00 - -7.462299862106879e+00 -7.469264140600134e+00 -7.476236705537742e+00 -7.483217558094771e+00 -7.490206699573982e+00 - -7.497204145008848e+00 -7.504209909607961e+00 -7.511223995549668e+00 -7.518246403916826e+00 -7.525277144440522e+00 - -7.532316229110418e+00 -7.539363670302306e+00 -7.546419478207750e+00 -7.553483653895294e+00 -7.560556199398457e+00 - -7.567637129733686e+00 -7.574726459966183e+00 -7.581824192373288e+00 -7.588930328179804e+00 -7.596044877188221e+00 - -7.603167851392376e+00 -7.610299262973792e+00 -7.617439121971403e+00 -7.624587429666054e+00 -7.631744188388593e+00 - -7.638909413427992e+00 -7.646083119762239e+00 -7.653265308167305e+00 -7.660455979470388e+00 -7.667655148905554e+00 - -7.674862831955687e+00 -7.682079030692125e+00 -7.689303746121935e+00 -7.696536988406601e+00 -7.703778769965018e+00 - -7.711029103091334e+00 -7.718287997777487e+00 -7.725555454931286e+00 -7.732831476489904e+00 -7.740116077592081e+00 - -7.747409273463959e+00 -7.754711066479733e+00 -7.762021457991705e+00 -7.769340458116517e+00 -7.776668079072852e+00 - -7.784004332723263e+00 -7.791349228774319e+00 -7.798702768664788e+00 -7.806064954991001e+00 -7.813435803247359e+00 - -7.820815328504128e+00 -7.828203531237023e+00 -7.835600412067597e+00 -7.843005986795347e+00 -7.850420271453628e+00 - -7.857843267833355e+00 -7.865274976500961e+00 -7.872715407367362e+00 -7.880164572827870e+00 -7.887622485870939e+00 - -7.895089157097287e+00 -7.902564586963549e+00 -7.910048776908389e+00 -7.917541742442640e+00 -7.925043499243823e+00 - -7.932554049584044e+00 -7.940073394568305e+00 -7.947601544038569e+00 -7.955138510136092e+00 -7.962684305462377e+00 - -7.970238940357911e+00 -7.977802415658878e+00 -7.985374733292938e+00 -7.992955909057959e+00 -8.000545958501995e+00 - -8.008144882303682e+00 -8.015752681155906e+00 -8.023369370677967e+00 -8.030994966700497e+00 -8.038629470973136e+00 - -8.046272884117311e+00 -8.053925216322545e+00 -8.061586480220186e+00 -8.069256688640843e+00 -8.076935852017314e+00 - -8.084623970991846e+00 -8.092321047230506e+00 -8.100027096285098e+00 -8.107742133772728e+00 -8.115466161685978e+00 - -8.123199180963685e+00 -8.130941201954130e+00 -8.138692237272345e+00 -8.146452299190864e+00 -8.154221397655556e+00 - -8.161999533648068e+00 -8.169786709369063e+00 -8.177582940859525e+00 -8.185388243772254e+00 -8.193202618367051e+00 - -8.201026064968486e+00 -8.208858599553158e+00 -8.216700238370747e+00 -8.224550983111227e+00 -8.232410834288519e+00 - -8.240279802271914e+00 -8.248157899820946e+00 -8.256045139400785e+00 -8.263941531127587e+00 -8.271847076015916e+00 - -8.279761776165609e+00 -8.287685647119202e+00 -8.295618704371698e+00 -8.303560949785306e+00 -8.311512384182917e+00 - -8.319473017862927e+00 -8.327442863513763e+00 -8.335421933908444e+00 -8.343410239406900e+00 -8.351407780632112e+00 - -8.359414559352070e+00 -8.367430591651793e+00 -8.375455893292965e+00 -8.383490464426892e+00 -8.391534305333888e+00 - -8.399587432420665e+00 -8.407649862295598e+00 -8.415721596247392e+00 -8.423802634359653e+00 -8.431892987215194e+00 - -8.439992667917126e+00 -8.448101689150496e+00 -8.456220061058572e+00 -8.464347784035521e+00 -8.472484859778373e+00 - -8.480631304944675e+00 -8.488787135775029e+00 -8.496952351881781e+00 -8.505126952972617e+00 -8.513310955764712e+00 - -8.521504377280520e+00 -8.529707218754108e+00 -8.537919480083488e+00 -8.546141171610756e+00 -8.554372306334406e+00 - -8.562612897434500e+00 -8.570862955488629e+00 -8.579122480482935e+00 -8.587391473585072e+00 -8.595669951280222e+00 - -8.603957930092136e+00 -8.612255411381385e+00 -8.620562395277888e+00 -8.628878892152137e+00 -8.637204914976417e+00 - -8.645540476889700e+00 -8.653885588365707e+00 -8.662240249050400e+00 -8.670604460002718e+00 -8.678978238761259e+00 - -8.687361602440037e+00 -8.695754549975142e+00 -8.704157080317993e+00 -8.712569210659231e+00 -8.720990958572770e+00 - -8.729422324926496e+00 -8.737863309144757e+00 -8.746313921583734e+00 -8.754774175423437e+00 -8.763244084207386e+00 - -8.771723658743657e+00 -8.780212898534927e+00 -8.788711804325507e+00 -8.797220393131562e+00 -8.805738681960509e+00 - -8.814266671512945e+00 -8.822804361262596e+00 -8.831351762082482e+00 -8.839908887544672e+00 -8.848475750618142e+00 - -8.857052361519681e+00 -8.865638720060298e+00 -8.874234827408518e+00 -8.882840700568694e+00 -8.891456356239988e+00 - -8.900081794065120e+00 -8.908717013654563e+00 -8.917362031546196e+00 -8.926016864607513e+00 -8.934681514097109e+00 - -8.943355979966887e+00 -8.952040272550780e+00 -8.960734404827180e+00 -8.969438389970174e+00 -8.978152238557112e+00 - -8.986875950582608e+00 -8.995609527224275e+00 -9.004352984974421e+00 -9.013106340348738e+00 -9.021869594641789e+00 - -9.030642747850949e+00 -9.039425810005964e+00 -9.048218793898496e+00 -9.057021713335553e+00 -9.065834579375275e+00 - -9.074657391064932e+00 -9.083490148798390e+00 -9.092332870366718e+00 -9.101185573233034e+00 -9.110048256151465e+00 - -9.118920917820537e+00 -9.127803575425368e+00 -9.136696246597257e+00 -9.145598932265708e+00 -9.154511631860180e+00 - -9.163434355511646e+00 -9.172367116215408e+00 -9.181309927722621e+00 -9.190262801063124e+00 -9.199225735625708e+00 - -9.208198731948572e+00 -9.217181806808554e+00 -9.226174977077383e+00 -9.235178243767663e+00 -9.244191606592038e+00 - -9.253215075922315e+00 -9.262248664894432e+00 -9.271292387041701e+00 -9.280346253080740e+00 -9.289410262064051e+00 - -9.298484414471314e+00 -9.307568728155069e+00 -9.316663220573421e+00 -9.325767890233902e+00 -9.334882735648362e+00 - -9.344007774296474e+00 -9.353143024056331e+00 -9.362288485431986e+00 -9.371444157433135e+00 -9.380610050466057e+00 - -9.389786177888119e+00 -9.398972553464475e+00 -9.408169188076664e+00 -9.417376080663951e+00 -9.426593231436920e+00 - -9.435820657633688e+00 -9.445058376575700e+00 -9.454306388890288e+00 -9.463564693828612e+00 -9.472833301831271e+00 - -9.482112226230582e+00 -9.491401480736307e+00 -9.500701076124317e+00 -9.510011011057383e+00 -9.519331285649606e+00 - -9.528661917933491e+00 -9.538002925632075e+00 -9.547354307312132e+00 -9.556716061430350e+00 -9.566088205159264e+00 - -9.575470756067922e+00 -9.584863714595665e+00 -9.594267079809105e+00 -9.603680862413734e+00 -9.613105076017005e+00 - -9.622539734195460e+00 -9.631984847535897e+00 -9.641440414697058e+00 -9.650906435763309e+00 -9.660382928449559e+00 - -9.669869910482992e+00 -9.679367382009378e+00 -9.688875341677877e+00 -9.698393799732578e+00 -9.707922769547205e+00 - -9.717462265419133e+00 -9.727012298576232e+00 -9.736572867044643e+00 -9.746143970285512e+00 -9.755725626701739e+00 - -9.765317854403191e+00 -9.774920651385886e+00 -9.784534015610914e+00 -9.794157965013451e+00 -9.803792517858509e+00 - -9.813437673756464e+00 -9.823093430886084e+00 -9.832759800354408e+00 -9.842436796281985e+00 -9.852124431915341e+00 - -9.861822717446652e+00 -9.871531651724764e+00 -9.881251235098006e+00 -9.890981485255914e+00 -9.900722419735771e+00 - -9.910474038124631e+00 -9.920236338721825e+00 -9.930009332625946e+00 -9.939793033953066e+00 -9.949587456089942e+00 - -9.959392609292857e+00 -9.969208492025555e+00 -9.979035104343238e+00 -9.988872464459540e+00 -9.998720590171930e+00 - -1.000857947945488e+01 -1.001844913033355e+01 -1.002832956085879e+01 -1.003822078906736e+01 -1.004812281291406e+01 - -1.005803562971182e+01 -1.006795925428782e+01 -1.007789370360111e+01 -1.008783898562387e+01 -1.009779510571246e+01 - -1.010776206774677e+01 -1.011773987740720e+01 -1.012772854905251e+01 -1.013772809631413e+01 -1.014773852123577e+01 - -1.015775982444731e+01 -1.016779201251112e+01 -1.017783509576905e+01 -1.018788909374848e+01 -1.019795402262726e+01 - -1.020802987599985e+01 -1.021811664796306e+01 -1.022821435720666e+01 -1.023832302389762e+01 -1.024844264951883e+01 - -1.025857323411911e+01 -1.026871479069502e+01 -1.027886733277511e+01 -1.028903086306819e+01 -1.029920538356622e+01 - -1.030939090421369e+01 -1.031958743714735e+01 -1.032979499532081e+01 -1.034001358910991e+01 -1.035024321776280e+01 - -1.036048388191000e+01 -1.037073559883907e+01 -1.038099838556339e+01 -1.039127224134250e+01 -1.040155716512729e+01 - -1.041185317238784e+01 -1.042216027887615e+01 -1.043247848495290e+01 -1.044280779013644e+01 -1.045314820596725e+01 - -1.046349974688984e+01 -1.047386242694284e+01 -1.048423625623699e+01 -1.049462122957744e+01 -1.050501734396915e+01 - -1.051542462052187e+01 -1.052584308069211e+01 -1.053627272321853e+01 -1.054671354447971e+01 -1.055716555413174e+01 - -1.056762876571201e+01 -1.057810319500591e+01 -1.058858885406686e+01 -1.059908573777257e+01 -1.060959384260205e+01 - -1.062011318861535e+01 -1.063064379594653e+01 -1.064118566144451e+01 -1.065173878128750e+01 -1.066230317225584e+01 - -1.067287885251234e+01 -1.068346582514766e+01 -1.069406409086973e+01 -1.070467365592747e+01 -1.071529452946521e+01 - -1.072592672666786e+01 -1.073657026057826e+01 -1.074722512963040e+01 -1.075789133336255e+01 -1.076856889033910e+01 - -1.077925781838790e+01 -1.078995811336476e+01 -1.080066977044343e+01 -1.081139280404170e+01 -1.082212723175914e+01 - -1.083287306467895e+01 -1.084363031023443e+01 -1.085439896777578e+01 -1.086517903841335e+01 -1.087597053838113e+01 - -1.088677348334085e+01 -1.089758787154147e+01 -1.090841370173705e+01 -1.091925099211483e+01 -1.093009976068779e+01 - -1.094096000533889e+01 -1.095183172286895e+01 -1.096271492588021e+01 -1.097360962990334e+01 -1.098451584638146e+01 - -1.099543358339704e+01 -1.100636283967740e+01 -1.101730361593110e+01 -1.102825593014644e+01 -1.103921979985815e+01 - -1.105019522350652e+01 -1.106118219809120e+01 -1.107218073394329e+01 -1.108319084475604e+01 -1.109421254433972e+01 - -1.110524584310812e+01 -1.111629073777213e+01 -1.112734722664297e+01 -1.113841532813614e+01 -1.114949506055284e+01 - -1.116058642163307e+01 -1.117168940919924e+01 -1.118280404196459e+01 -1.119393033845125e+01 -1.120506829552628e+01 - -1.121621790821428e+01 -1.122737918582522e+01 -1.123855214233318e+01 -1.124973679608346e+01 -1.126093316109601e+01 - -1.127214122971816e+01 -1.128336099568353e+01 -1.129459247994368e+01 -1.130583570391351e+01 -1.131709066364352e+01 - -1.132835735316995e+01 -1.133963578383626e+01 -1.135092597165251e+01 -1.136222793398803e+01 -1.137354168289046e+01 - -1.138486720776133e+01 -1.139620450077960e+01 -1.140755358788016e+01 -1.141891449467379e+01 -1.143028721171902e+01 - -1.144167172931863e+01 -1.145306807180483e+01 -1.146447626363145e+01 -1.147589629570943e+01 -1.148732815744427e+01 - -1.149877186576219e+01 -1.151022744176966e+01 -1.152169489577362e+01 -1.153317423307527e+01 -1.154466544975234e+01 - -1.155616854500299e+01 -1.156768353973055e+01 -1.157921045411968e+01 -1.159074928377541e+01 -1.160230002278200e+01 - -1.161386268372032e+01 -1.162543728297182e+01 -1.163702383362365e+01 -1.164862234413445e+01 -1.166023280774309e+01 - -1.167185522083641e+01 -1.168348960761297e+01 -1.169513599109641e+01 -1.170679436179895e+01 -1.171846471050954e+01 - -1.173014706163534e+01 -1.174184143967664e+01 -1.175354783588804e+01 -1.176526623959987e+01 -1.177699666569085e+01 - -1.178873913359907e+01 -1.180049365545172e+01 -1.181226023874721e+01 -1.182403887977966e+01 -1.183582957710202e+01 - -1.184763234950681e+01 -1.185944721571250e+01 -1.187127417390187e+01 -1.188311322026980e+01 -1.189496436359524e+01 - -1.190682761635663e+01 -1.191870299324639e+01 -1.193059050542573e+01 -1.194249014771712e+01 -1.195440191732676e+01 - -1.196632583733436e+01 -1.197826192918009e+01 -1.199021018187259e+01 -1.200217058481946e+01 -1.201414316145583e+01 - -1.202612793653577e+01 -1.203812490606177e+01 -1.205013406283600e+01 -1.206215541561094e+01 -1.207418897775090e+01 - -1.208623476511758e+01 -1.209829279023755e+01 -1.211036304979982e+01 -1.212244554104682e+01 -1.213454027927224e+01 - -1.214664728029985e+01 -1.215876654402256e+01 -1.217089806888390e+01 -1.218304186346073e+01 -1.219519793969503e+01 - -1.220736631285608e+01 -1.221954699446002e+01 -1.223173997768314e+01 -1.224394525782826e+01 -1.225616285704409e+01 - -1.226839279716718e+01 -1.228063507193962e+01 -1.229288967419984e+01 -1.230515662126608e+01 -1.231743593190913e+01 - -1.232972760623024e+01 -1.234203164189830e+01 -1.235434804552219e+01 -1.236667682754052e+01 -1.237901800477097e+01 - -1.239137159078778e+01 -1.240373757981251e+01 -1.241611596680448e+01 -1.242850676902663e+01 -1.244091000477032e+01 - -1.245332567413717e+01 -1.246575377485128e+01 -1.247819431331654e+01 -1.249064729993889e+01 -1.250311275245252e+01 - -1.251559068470151e+01 -1.252808108764087e+01 -1.254058395403090e+01 -1.255309930674196e+01 -1.256562716858205e+01 - -1.257816753199971e+01 -1.259072038911156e+01 -1.260328576106586e+01 -1.261586366917709e+01 -1.262845410639316e+01 - -1.264105706405277e+01 -1.265367255542431e+01 -1.266630059802175e+01 -1.267894120441173e+01 -1.269159438291520e+01 - -1.270426012981745e+01 -1.271693844300063e+01 -1.272962933876972e+01 -1.274233283335257e+01 -1.275504892424538e+01 - -1.276777760888006e+01 -1.278051890316245e+01 -1.279327282335948e+01 -1.280603936870822e+01 -1.281881853703964e+01 - -1.283161033759003e+01 -1.284441478278821e+01 -1.285723188642777e+01 -1.287006165845383e+01 -1.288290409205257e+01 - -1.289575918258311e+01 -1.290862695085492e+01 -1.292150741744502e+01 -1.293440057655018e+01 -1.294730642109768e+01 - -1.296022496531707e+01 -1.297315622664438e+01 -1.298610021403966e+01 -1.299905693252094e+01 -1.301202637981436e+01 - -1.302500855607946e+01 -1.303800347850134e+01 -1.305101116311717e+01 -1.306403160434687e+01 -1.307706479749205e+01 - -1.309011076299821e+01 -1.310316952145874e+01 -1.311624106891474e+01 -1.312932539865738e+01 -1.314242251753035e+01 - -1.315553243732881e+01 -1.316865517610136e+01 -1.318179074759510e+01 -1.319493914209791e+01 -1.320810035188408e+01 - -1.322127440063306e+01 -1.323446131182036e+01 -1.324766107670098e+01 -1.326087368408213e+01 -1.327409914520021e+01 - -1.328733747660298e+01 -1.330058869365459e+01 -1.331385280702646e+01 -1.332712980980294e+01 -1.334041969690924e+01 - -1.335372248822127e+01 -1.336703820316815e+01 -1.338036683444133e+01 -1.339370837465144e+01 -1.340706284282357e+01 - -1.342043025877972e+01 -1.343381061911550e+01 -1.344720391854233e+01 -1.346061016746156e+01 -1.347402937953320e+01 - -1.348746156576247e+01 -1.350090673400032e+01 -1.351436488213541e+01 -1.352783600940468e+01 -1.354132013040003e+01 - -1.355481725974633e+01 -1.356832739684519e+01 -1.358185053959114e+01 -1.359538669507347e+01 -1.360893587411229e+01 - -1.362249809325635e+01 -1.363607336498644e+01 -1.364966167978290e+01 -1.366326303005515e+01 -1.367687743792930e+01 - -1.369050492543861e+01 -1.370414548452841e+01 -1.371779910680898e+01 -1.373146581263829e+01 -1.374514562258463e+01 - -1.375883852931014e+01 -1.377254452369323e+01 -1.378626361738342e+01 -1.379999582664259e+01 -1.381374116541099e+01 - -1.382749964295472e+01 -1.384127125216480e+01 -1.385505598801133e+01 -1.386885387015567e+01 -1.388266491822051e+01 - -1.389648912698253e+01 -1.391032648926665e+01 -1.392417701493663e+01 -1.393804071810552e+01 -1.395191761284479e+01 - -1.396580770902492e+01 -1.397971099975399e+01 -1.399362747983656e+01 -1.400755716762526e+01 -1.402150008127576e+01 - -1.403545621460787e+01 -1.404942556175519e+01 -1.406340814244217e+01 -1.407740397661280e+01 -1.409141305949836e+01 - -1.410543538386059e+01 -1.411947095729565e+01 -1.413351979216372e+01 -1.414758190504674e+01 -1.416165730817942e+01 - -1.417574599218579e+01 -1.418984794931155e+01 -1.420396319989974e+01 -1.421809176459019e+01 -1.423223363711269e+01 - -1.424638880961032e+01 -1.426055729478944e+01 -1.427473910897708e+01 -1.428893426241975e+01 -1.430314276106135e+01 - -1.431736459971596e+01 -1.433159977568000e+01 -1.434584830730895e+01 -1.436011021230267e+01 -1.437438548467938e+01 - -1.438867411856965e+01 -1.440297613223502e+01 -1.441729154417122e+01 -1.443162034967981e+01 -1.444596254173529e+01 - -1.446031812719803e+01 -1.447468711827448e+01 -1.448906953466952e+01 -1.450346539077074e+01 -1.451787467219810e+01 - -1.453229736674074e+01 -1.454673349963205e+01 -1.456118309651608e+01 -1.457564614723534e+01 -1.459012263904241e+01 - -1.460461258463169e+01 -1.461911600163362e+01 -1.463363290198108e+01 -1.464816329304780e+01 -1.466270716966852e+01 - -1.467726452861927e+01 -1.469183538698022e+01 -1.470641976118071e+01 -1.472101764474266e+01 -1.473562903182180e+01 - -1.475025394201659e+01 -1.476489239431922e+01 -1.477954437985420e+01 -1.479420988900897e+01 -1.480888893709030e+01 - -1.482358154289730e+01 -1.483828771427918e+01 -1.485300745484606e+01 -1.486774076220148e+01 -1.488248763590571e+01 - -1.489724808935241e+01 -1.491202213620220e+01 -1.492680977735018e+01 -1.494161101188853e+01 -1.495642584446314e+01 - -1.497125428281713e+01 -1.498609634152866e+01 -1.500095203243959e+01 -1.501582134961145e+01 -1.503070428834008e+01 - -1.504560086663885e+01 -1.506051110171047e+01 -1.507543498479744e+01 -1.509037250787217e+01 -1.510532369178669e+01 - -1.512028855781273e+01 -1.513526710002122e+01 -1.515025931004586e+01 -1.516526519697226e+01 -1.518028477406786e+01 - -1.519531805387558e+01 -1.521036504514735e+01 -1.522542574219565e+01 -1.524050014105165e+01 -1.525558825906066e+01 - -1.527069011317451e+01 -1.528580569745696e+01 -1.530093500454836e+01 -1.531607804428359e+01 -1.533123483115148e+01 - -1.534640538106230e+01 -1.536158970459035e+01 -1.537678778954449e+01 -1.539199962605270e+01 -1.540722523628471e+01 - -1.542246464244602e+01 -1.543771783484346e+01 -1.545298480379291e+01 -1.546826557154514e+01 -1.548356016030771e+01 - -1.549886856018057e+01 -1.551419075889859e+01 -1.552952676684366e+01 -1.554487659991805e+01 -1.556024027345857e+01 - -1.557561779759322e+01 -1.559100916218038e+01 -1.560641435912106e+01 -1.562183340875659e+01 -1.563726633124305e+01 - -1.565271311755539e+01 -1.566817375858786e+01 -1.568364827409284e+01 -1.569913668435983e+01 -1.571463898296877e+01 - -1.573015516140282e+01 -1.574568522946743e+01 -1.576122920078429e+01 -1.577678708591764e+01 -1.579235889192325e+01 - -1.580794461488044e+01 -1.582354425266206e+01 -1.583915782129173e+01 -1.585478533595468e+01 -1.587042679033195e+01 - -1.588608217713541e+01 -1.590175150670428e+01 -1.591743479377280e+01 -1.593313205302798e+01 -1.594884329356461e+01 - -1.596456850215542e+01 -1.598030766876410e+01 -1.599606081844003e+01 -1.601182797567503e+01 -1.602760912764517e+01 - -1.604340426053651e+01 -1.605921339389068e+01 -1.607503654929621e+01 -1.609087372317365e+01 -1.610672490846679e+01 - -1.612259010938000e+01 -1.613846933535691e+01 -1.615436260553746e+01 -1.617026993400350e+01 -1.618619130490810e+01 - -1.620212670496088e+01 -1.621807616102629e+01 -1.623403970021593e+01 -1.625001731047507e+01 -1.626600897617460e+01 - -1.628201470655392e+01 -1.629803451699528e+01 -1.631406842258372e+01 -1.633011643368945e+01 -1.634617854212047e+01 - -1.636225474110459e+01 -1.637834504811086e+01 -1.639444948009596e+01 -1.641056802772599e+01 -1.642670068226715e+01 - -1.644284746367691e+01 -1.645900839255391e+01 -1.647518346337059e+01 -1.649137266740475e+01 -1.650757600928198e+01 - -1.652379349905581e+01 -1.654002515514406e+01 -1.655627099138395e+01 -1.657253099492616e+01 -1.658880515436409e+01 - -1.660509349074862e+01 -1.662139602569388e+01 -1.663771275060954e+01 -1.665404365442992e+01 -1.667038874639235e+01 - -1.668674804082613e+01 -1.670312155212567e+01 -1.671950928959044e+01 -1.673591124207530e+01 -1.675232740091000e+01 - -1.676875778776886e+01 -1.678520242381186e+01 -1.680166129779755e+01 -1.681813439803682e+01 -1.683462174345131e+01 - -1.685112335404732e+01 -1.686763922355921e+01 -1.688416934305047e+01 -1.690071371917313e+01 -1.691727236387981e+01 - -1.693384529473730e+01 -1.695043252373442e+01 -1.696703403493436e+01 -1.698364981519248e+01 -1.700027989045860e+01 - -1.701692428668450e+01 -1.703358299073511e+01 -1.705025598664567e+01 -1.706694328621936e+01 -1.708364490699094e+01 - -1.710036086165371e+01 -1.711709115711999e+01 -1.713383578201967e+01 -1.715059472804424e+01 -1.716736801741393e+01 - -1.718415567151382e+01 -1.720095767785962e+01 -1.721777402421613e+01 -1.723460473321376e+01 -1.725144982735173e+01 - -1.726830929373925e+01 -1.728518311723097e+01 -1.730207130905323e+01 -1.731897388644410e+01 -1.733589086431708e+01 - -1.735282225151622e+01 -1.736976803493245e+01 -1.738672820398455e+01 -1.740370278015603e+01 -1.742069178532102e+01 - -1.743769521085149e+01 -1.745471304524893e+01 -1.747174529603476e+01 -1.748879197614670e+01 -1.750585310116775e+01 - -1.752292868122209e+01 -1.754001870195336e+01 -1.755712315207324e+01 -1.757424205704595e+01 -1.759137544124289e+01 - -1.760852328791187e+01 -1.762568558032359e+01 -1.764286234296404e+01 -1.766005360135051e+01 -1.767725934391039e+01 - -1.769447955614261e+01 -1.771171424892207e+01 -1.772896343807829e+01 -1.774622713388326e+01 -1.776350534196338e+01 - -1.778079805492016e+01 -1.779810526797336e+01 -1.781542699984077e+01 -1.783276326793605e+01 -1.785011406095838e+01 - -1.786747936642481e+01 -1.788485919583838e+01 -1.790225356596892e+01 -1.791966249066770e+01 -1.793708597750879e+01 - -1.795452401187612e+01 -1.797197658287230e+01 -1.798944371666477e+01 -1.800692543788475e+01 -1.802442172795408e+01 - -1.804193256819016e+01 -1.805945798270200e+01 -1.807699799758296e+01 -1.809455260407236e+01 -1.811212178929598e+01 - -1.812970555877947e+01 -1.814730392419934e+01 -1.816491690343573e+01 -1.818254450889657e+01 -1.820018672489731e+01 - -1.821784353770839e+01 -1.823551496951270e+01 -1.825320104351004e+01 -1.827090175105552e+01 -1.828861707995103e+01 - -1.830634703563002e+01 -1.832409162961503e+01 -1.834185088015348e+01 -1.835962479982180e+01 -1.837741337178776e+01 - -1.839521658191638e+01 -1.841303445627024e+01 -1.843086702044687e+01 -1.844871425798603e+01 -1.846657615155986e+01 - -1.848445272242748e+01 -1.850234399331442e+01 -1.852024995422484e+01 -1.853817059263430e+01 -1.855610591862525e+01 - -1.857405594751762e+01 -1.859202069297440e+01 -1.861000016303027e+01 -1.862799434486363e+01 -1.864600322762024e+01 - -1.866402682917165e+01 -1.868206516860479e+01 -1.870011824114266e+01 -1.871818603889838e+01 -1.873626856540951e+01 - -1.875436582948875e+01 -1.877247784962497e+01 -1.879060463922456e+01 -1.880874618168810e+01 -1.882690246254704e+01 - -1.884507350586227e+01 -1.886325933574866e+01 -1.888145993800745e+01 -1.889967529731236e+01 -1.891790543214035e+01 - -1.893615036295555e+01 -1.895441008436764e+01 -1.897268458788422e+01 -1.899097387845919e+01 -1.900927796546465e+01 - -1.902759686249918e+01 -1.904593057916082e+01 -1.906427910481893e+01 -1.908264243109121e+01 -1.910102057881749e+01 - -1.911941356739387e+01 -1.913782138121961e+01 -1.915624400568942e+01 -1.917468146517671e+01 -1.919313378404767e+01 - -1.921160094766128e+01 -1.923008293912871e+01 -1.924857977157690e+01 -1.926709146357444e+01 -1.928561802544077e+01 - -1.930415946120927e+01 -1.932271575801813e+01 -1.934128690695999e+01 -1.935987293184044e+01 -1.937847385553680e+01 - -1.939708966450047e+01 -1.941572034241033e+01 -1.943436589828115e+01 -1.945302634705033e+01 -1.947170170200994e+01 - -1.949039197138318e+01 -1.950909714476303e+01 -1.952781721398065e+01 -1.954655219845012e+01 -1.956530211609402e+01 - -1.958406695128608e+01 -1.960284668959667e+01 -1.962164135493148e+01 -1.964045097168231e+01 -1.965927552785040e+01 - -1.967811500826448e+01 -1.969696942145404e+01 -1.971583878200212e+01 -1.973472310500559e+01 -1.975362239928199e+01 - -1.977253664801789e+01 -1.979146583743514e+01 -1.981040999152762e+01 -1.982936913462439e+01 -1.984834325462312e+01 - -1.986733233626431e+01 -1.988633638809098e+01 -1.990535542475069e+01 -1.992438946150660e+01 -1.994343850724086e+01 - -1.996250254469571e+01 -1.998158155988759e+01 -2.000067557806942e+01 -2.001978462401460e+01 -2.003890868134189e+01 - -2.005804773353269e+01 -2.007720180467363e+01 -2.009637091866160e+01 -2.011555505802958e+01 -2.013475420367532e+01 - -2.015396837131929e+01 -2.017319758216888e+01 -2.019244184455664e+01 -2.021170116029698e+01 -2.023097551800653e+01 - -2.025026491057744e+01 -2.026956936120177e+01 -2.028888889127859e+01 -2.030822348473533e+01 -2.032757312336421e+01 - -2.034693781788847e+01 -2.036631758558183e+01 -2.038571244098909e+01 -2.040512239225047e+01 -2.042454742461679e+01 - -2.044398752597867e+01 -2.046344271767523e+01 -2.048291302072143e+01 -2.050239842138679e+01 -2.052189890581644e+01 - -2.054141449440303e+01 -2.056094520839277e+01 -2.058049103819856e+01 -2.060005197091200e+01 -2.061962801117254e+01 - -2.063921916971323e+01 -2.065882546409381e+01 -2.067844690614864e+01 -2.069808347798381e+01 -2.071773516441981e+01 - -2.073740199086278e+01 -2.075708398272239e+01 -2.077678112483692e+01 -2.079649339928443e+01 -2.081622081767353e+01 - -2.083596339752241e+01 -2.085572115045732e+01 -2.087549408142252e+01 -2.089528217452614e+01 -2.091508541798258e+01 - -2.093490383726751e+01 -2.095473745703866e+01 -2.097458626142068e+01 -2.099445023367205e+01 -2.101432939411960e+01 - -2.103422376365449e+01 -2.105413332835716e+01 -2.107405807288499e+01 -2.109399801101360e+01 -2.111395316146354e+01 - -2.113392353361706e+01 -2.115390913036233e+01 -2.117390993794961e+01 -2.119392594678185e+01 -2.121395718051052e+01 - -2.123400366165125e+01 -2.125406537492771e+01 -2.127414230292253e+01 -2.129423445744600e+01 -2.131434185603574e+01 - -2.133446450991120e+01 -2.135460242400538e+01 -2.137475558442359e+01 -2.139492398094176e+01 -2.141510763684612e+01 - -2.143530657354728e+01 -2.145552077144329e+01 -2.147575021223202e+01 -2.149599492382317e+01 -2.151625493458459e+01 - -2.153653022850520e+01 -2.155682078515937e+01 -2.157712661084235e+01 -2.159744772002078e+01 -2.161778413312624e+01 - -2.163813586321833e+01 -2.165850288790379e+01 -2.167888518769065e+01 -2.169928279014487e+01 -2.171969572392566e+01 - -2.174012397500749e+01 -2.176056752455845e+01 -2.178102637720577e+01 -2.180150054539059e+01 -2.182199004935065e+01 - -2.184249490264348e+01 -2.186301508430896e+01 -2.188355057625899e+01 -2.190410140641098e+01 -2.192466760199104e+01 - -2.194524914145450e+01 -2.196584600311797e+01 -2.198645821351363e+01 -2.200708580045210e+01 -2.202772874864248e+01 - -2.204838703903658e+01 -2.206906068065864e+01 -2.208974968965916e+01 -2.211045408262128e+01 -2.213117386881762e+01 - -2.215190902784613e+01 -2.217265954271720e+01 -2.219342543976576e+01 -2.221420674565993e+01 -2.223500344507609e+01 - -2.225581551916326e+01 -2.227664297695268e+01 -2.229748583458740e+01 -2.231834410877561e+01 -2.233921780886325e+01 - -2.236010691418214e+01 -2.238101140757746e+01 -2.240193131596196e+01 -2.242286666626994e+01 -2.244381744145418e+01 - -2.246478362333585e+01 -2.248576523319086e+01 -2.250676229308250e+01 -2.252777478876882e+01 -2.254880270395783e+01 - -2.256984605046237e+01 -2.259090484578745e+01 -2.261197910210208e+01 -2.263306882483333e+01 -2.265417399777652e+01 - -2.267529460825966e+01 -2.269643067937303e+01 -2.271758223358744e+01 -2.273874925513337e+01 -2.275993172840441e+01 - -2.278112967668665e+01 -2.280234312326570e+01 -2.282357205253301e+01 -2.284481644618636e+01 -2.286607631404299e+01 - -2.288735167241803e+01 -2.290864253549898e+01 -2.292994891082159e+01 -2.295127078144212e+01 -2.297260813386354e+01 - -2.299396099285480e+01 -2.301532938287575e+01 -2.303671328888409e+01 -2.305811269234469e+01 -2.307952760025338e+01 - -2.310095802706863e+01 -2.312240399156859e+01 -2.314386550544134e+01 -2.316534254769484e+01 -2.318683510020089e+01 - -2.320834318896662e+01 -2.322986684000025e+01 -2.325140603517923e+01 -2.327296075598023e+01 -2.329453102640753e+01 - -2.331611687084991e+01 -2.333771827270656e+01 -2.335933521295700e+01 -2.338096770389138e+01 -2.340261576396985e+01 - -2.342427940502197e+01 -2.344595863230511e+01 -2.346765343141823e+01 -2.348936379112492e+01 -2.351108973250527e+01 - -2.353283127622654e+01 -2.355458840898814e+01 -2.357636111469370e+01 -2.359814940003157e+01 -2.361995327887107e+01 - -2.364177277102066e+01 -2.366360788867084e+01 -2.368545860760097e+01 -2.370732490730504e+01 -2.372920681854641e+01 - -2.375110437181196e+01 -2.377301754521346e+01 -2.379494631547129e+01 -2.381689070611525e+01 -2.383885074279985e+01 - -2.386082641286912e+01 -2.388281770027697e+01 -2.390482461372720e+01 -2.392684716763744e+01 -2.394888537453080e+01 - -2.397093924094647e+01 -2.399300875138237e+01 -2.401509389381072e+01 -2.403719469214220e+01 -2.405931116939521e+01 - -2.408144330908079e+01 -2.410359109227195e+01 -2.412575452979684e+01 -2.414793363861520e+01 -2.417012843045825e+01 - -2.419233891107258e+01 -2.421456506749473e+01 -2.423680688969797e+01 -2.425906439811232e+01 -2.428133761196757e+01 - -2.430362651523593e+01 -2.432593109247103e+01 -2.434825136580965e+01 -2.437058735754595e+01 -2.439293905302052e+01 - -2.441530643508021e+01 -2.443768951355032e+01 -2.446008830475372e+01 -2.448250282402539e+01 -2.450493307947941e+01 - -2.452737905133441e+01 -2.454984072340254e+01 -2.457231812176549e+01 -2.459481127247106e+01 -2.461732015916192e+01 - -2.463984476198997e+01 -2.466238508954903e+01 -2.468494115731883e+01 -2.470751297988127e+01 -2.473010056541401e+01 - -2.475270389737600e+01 -2.477532296279144e+01 -2.479795778766421e+01 -2.482060839605179e+01 -2.484327476524651e+01 - -2.486595687297807e+01 -2.488865474549064e+01 -2.491136841050829e+01 -2.493409785316058e+01 -2.495684305468689e+01 - -2.497960402336061e+01 -2.500238077436705e+01 -2.502517332350563e+01 -2.504798167938967e+01 -2.507080582127416e+01 - -2.509364573240812e+01 -2.511650144137505e+01 -2.513937297643642e+01 -2.516226031923135e+01 -2.518516344740990e+01 - -2.520808236928804e+01 -2.523101710100030e+01 -2.525396765928963e+01 -2.527693405405919e+01 -2.529991626724470e+01 - -2.532291428361040e+01 -2.534592812720204e+01 -2.536895782110043e+01 -2.539200334524508e+01 -2.541506468057373e+01 - -2.543814185515816e+01 -2.546123489657537e+01 -2.548434378328921e+01 -2.550746849096137e+01 -2.553060903315797e+01 - -2.555376543163097e+01 -2.557693770297151e+01 -2.560012585444837e+01 -2.562332986120158e+01 -2.564654970308929e+01 - -2.566978541097076e+01 -2.569303701597250e+01 -2.571630449928904e+01 -2.573958783754457e+01 -2.576288703901380e+01 - -2.578620212017663e+01 -2.580953309868325e+01 -2.583287998467666e+01 -2.585624275710073e+01 -2.587962139846310e+01 - -2.590301593672573e+01 -2.592642639921134e+01 -2.594985276523152e+01 -2.597329501305775e+01 -2.599675316481207e+01 - -2.602022724494944e+01 -2.604371724340627e+01 -2.606722314554395e+01 -2.609074495294231e+01 -2.611428267453130e+01 - -2.613783633242288e+01 -2.616140594232113e+01 -2.618499148111656e+01 -2.620859292804694e+01 -2.623221031055255e+01 - -2.625584365675950e+01 -2.627949294933480e+01 -2.630315816707157e+01 -2.632683931872623e+01 -2.635053642045652e+01 - -2.637424948806206e+01 -2.639797853015353e+01 -2.642172352694394e+01 -2.644548446269175e+01 -2.646926136623515e+01 - -2.649305426487780e+01 -2.651686313520573e+01 -2.654068795336410e+01 -2.656452874445229e+01 -2.658838553565089e+01 - -2.661225831351167e+01 -2.663614706041860e+01 -2.666005178271351e+01 -2.668397249386109e+01 -2.670790921185966e+01 - -2.673186194785124e+01 -2.675583068101895e+01 -2.677981539336416e+01 -2.680381611012034e+01 -2.682783285712106e+01 - -2.685186561936856e+01 -2.687591437786270e+01 -2.689997913842517e+01 -2.692405991477839e+01 -2.694815672742597e+01 - -2.697226958936361e+01 -2.699639847677425e+01 -2.702054336911223e+01 -2.704470429573021e+01 -2.706888128546201e+01 - -2.709307431516761e+01 -2.711728336172764e+01 -2.714150845407871e+01 -2.716574962162754e+01 -2.719000684360529e+01 - -2.721428009605862e+01 -2.723856939247152e+01 -2.726287475352885e+01 -2.728719619128178e+01 -2.731153370993099e+01 - -2.733588729090867e+01 -2.736025692081293e+01 -2.738464262967399e+01 -2.740904444482641e+01 -2.743346233939021e+01 - -2.745789628706843e+01 -2.748234631811058e+01 -2.750681246441337e+01 -2.753129470791622e+01 -2.755579302585287e+01 - -2.758030742659158e+01 -2.760483792680023e+01 -2.762938454521084e+01 -2.765394729250735e+01 -2.767852614511706e+01 - -2.770312108289846e+01 -2.772773213369129e+01 -2.775235932608502e+01 -2.777700264368704e+01 -2.780166206614083e+01 - -2.782633760221619e+01 -2.785102926812099e+01 -2.787573708068912e+01 -2.790046104903706e+01 -2.792520115078565e+01 - -2.794995736764946e+01 -2.797472972921345e+01 -2.799951826412358e+01 -2.802432294939970e+01 -2.804914376169005e+01 - -2.807398072778233e+01 -2.809883387567351e+01 -2.812370318805837e+01 -2.814858864438241e+01 -2.817349025639583e+01 - -2.819840804241009e+01 -2.822334201467696e+01 -2.824829217820057e+01 -2.827325851505399e+01 -2.829824101147483e+01 - -2.832323969328987e+01 -2.834825458594292e+01 -2.837328567375688e+01 -2.839833293713809e+01 -2.842339638194745e+01 - -2.844847602232610e+01 -2.847357188008160e+01 -2.849868396869187e+01 -2.852381226064981e+01 -2.854895673259501e+01 - -2.857411741873861e+01 -2.859929435285462e+01 -2.862448750939692e+01 -2.864969686163745e+01 -2.867492243744038e+01 - -2.870016426611871e+01 -2.872542232818885e+01 -2.875069660076976e+01 -2.877598709618692e+01 -2.880129383482867e+01 - -2.882661683412842e+01 -2.885195610246809e+01 -2.887731161497835e+01 -2.890268335136361e+01 -2.892807134287440e+01 - -2.895347562064698e+01 -2.897889616381469e+01 -2.900433294736006e+01 -2.902978598166526e+01 -2.905525528595928e+01 - -2.908074087945912e+01 -2.910624277257485e+01 -2.913176094050105e+01 -2.915729536236611e+01 -2.918284606824940e+01 - -2.920841308797334e+01 -2.923399639938179e+01 -2.925959597987842e+01 -2.928521185708459e+01 -2.931084405942344e+01 - -2.933649256830759e+01 -2.936215736109871e+01 -2.938783844596477e+01 -2.941353583979598e+01 -2.943924956356517e+01 - -2.946497963001566e+01 -2.949072601489006e+01 -2.951648869675137e+01 -2.954226770244480e+01 -2.956806305999476e+01 - -2.959387475386040e+01 -2.961970276467950e+01 -2.964554710136948e+01 -2.967140778023144e+01 -2.969728481882160e+01 - -2.972317822671904e+01 -2.974908798033929e+01 -2.977501406036931e+01 -2.980095649774566e+01 -2.982691532231985e+01 - -2.985289050935425e+01 -2.987888203414534e+01 -2.990488992671488e+01 -2.993091421806754e+01 -2.995695488841446e+01 - -2.998301191396682e+01 -3.000908530572931e+01 -3.003517508294127e+01 -3.006128126298706e+01 -3.008740385472813e+01 - -3.011354283478899e+01 -3.013969818396866e+01 -3.016586993200092e+01 -3.019205810852835e+01 -3.021826269389396e+01 - -3.024448366459688e+01 -3.027072103106001e+01 -3.029697481234801e+01 -3.032324502816885e+01 -3.034953168930138e+01 - -3.037583477016444e+01 -3.040215424919064e+01 -3.042849015722735e+01 -3.045484252487287e+01 -3.048121132931426e+01 - -3.050759654718701e+01 -3.053399820633122e+01 -3.056041633582694e+01 -3.058685091850949e+01 -3.061330193277164e+01 - -3.063976938548045e+01 -3.066625329189824e+01 -3.069275367239408e+01 -3.071927054017274e+01 -3.074580387467516e+01 - -3.077235365736276e+01 -3.079891991154272e+01 -3.082550266154129e+01 -3.085210189391538e+01 -3.087871759159065e+01 - -3.090534976073683e+01 -3.093199841535169e+01 -3.095866357750086e+01 -3.098534526117247e+01 -3.101204343997652e+01 - -3.103875809113482e+01 -3.106548924669440e+01 -3.109223693806243e+01 -3.111900113926174e+01 -3.114578182447812e+01 - -3.117257902593346e+01 -3.119939277712214e+01 -3.122622305859262e+01 -3.125306984560579e+01 -3.127993314521812e+01 - -3.130681297362548e+01 -3.133370935178603e+01 -3.136062229292185e+01 -3.138755177454848e+01 -3.141449777743489e+01 - -3.144146033107010e+01 -3.146843946420585e+01 -3.149543515392452e+01 -3.152244737446985e+01 -3.154947614039987e+01 - -3.157652147508332e+01 -3.160358339681746e+01 -3.163066191390917e+01 -3.165775699977537e+01 -3.168486863280270e+01 - -3.171199684614663e+01 -3.173914167265754e+01 -3.176630308919665e+01 -3.179348107134120e+01 -3.182067564552154e+01 - -3.184788683989369e+01 -3.187511463866380e+01 -3.190235902163426e+01 -3.192961999494226e+01 -3.195689757352222e+01 - -3.198419178116283e+01 -3.201150263346307e+01 -3.203883010440887e+01 -3.206617417058478e+01 -3.209353486058297e+01 - -3.212091220418486e+01 -3.214830618392138e+01 -3.217571677868305e+01 -3.220314400004898e+01 -3.223058786708538e+01 - -3.225804839611857e+01 -3.228552559489243e+01 -3.231301943956095e+01 -3.234052991162765e+01 -3.236805704558397e+01 - -3.239560087404328e+01 -3.242316136911894e+01 -3.245073850255218e+01 -3.247833230509534e+01 -3.250594280965240e+01 - -3.253356999872297e+01 -3.256121385028732e+01 -3.258887437465276e+01 -3.261655158960600e+01 -3.264424551052439e+01 - -3.267195614529539e+01 -3.269968347425627e+01 -3.272742748229857e+01 -3.275518820008119e+01 -3.278296565603427e+01 - -3.281075982390590e+01 -3.283857067801981e+01 -3.286639824968410e+01 -3.289424257141810e+01 -3.292210362360176e+01 - -3.294998138240963e+01 -3.297787585933321e+01 -3.300578707421773e+01 -3.303371504500630e+01 -3.306165978102434e+01 - -3.308962125902853e+01 -3.311759946003357e+01 -3.314559441465483e+01 -3.317360615365304e+01 -3.320163465877013e+01 - -3.322967990687330e+01 -3.325774190434956e+01 -3.328582066713852e+01 -3.331391621987054e+01 -3.334202857831301e+01 - -3.337015771409062e+01 -3.339830360273710e+01 -3.342646627956469e+01 -3.345464577921614e+01 -3.348284207387808e+01 - -3.351105513572078e+01 -3.353928499930519e+01 -3.356753169996216e+01 -3.359579521371194e+01 -3.362407551222610e+01 - -3.365237260909204e+01 -3.368068652715969e+01 -3.370901728441355e+01 -3.373736488954338e+01 -3.376572931892538e+01 - -3.379411055342771e+01 -3.382250862419983e+01 -3.385092356238306e+01 -3.387935534880526e+01 -3.390780395979943e+01 - -3.393626940403256e+01 -3.396475169950308e+01 -3.399325086920118e+01 -3.402176692682492e+01 -3.405029984391190e+01 - -3.407884959628061e+01 -3.410741621903333e+01 -3.413599974690003e+01 -3.416460015383780e+01 -3.419321741347679e+01 - -3.422185155891206e+01 -3.425050262370409e+01 -3.427917058381036e+01 -3.430785541111823e+01 -3.433655711883738e+01 - -3.436527572977491e+01 -3.439401126380553e+01 -3.442276373145798e+01 -3.445153310880944e+01 -3.448031937598221e+01 - -3.450912256373026e+01 -3.453794270224409e+01 -3.456677976882821e+01 -3.459563373771100e+01 -3.462450462370172e+01 - -3.465339245071625e+01 -3.468229723851619e+01 -3.471121899611902e+01 -3.474015769371995e+01 -3.476911330776019e+01 - -3.479808587848705e+01 -3.482707544447295e+01 -3.485608197378501e+01 -3.488510543365825e+01 -3.491414585850467e+01 - -3.494320328527482e+01 -3.497227769389696e+01 -3.500136905869145e+01 -3.503047738856913e+01 -3.505960270226024e+01 - -3.508874502318216e+01 -3.511790436512474e+01 -3.514708069868058e+01 -3.517627399907308e+01 -3.520548430324607e+01 - -3.523471164812467e+01 -3.526395600883895e+01 -3.529321735592740e+01 -3.532249570335686e+01 -3.535179107461137e+01 - -3.538110348781549e+01 -3.541043295179184e+01 -3.543977944351469e+01 -3.546914294470585e+01 -3.549852348792567e+01 - -3.552792110371767e+01 -3.555733576371960e+01 -3.558676744035331e+01 -3.561621616808287e+01 -3.564568198278825e+01 - -3.567516486397158e+01 -3.570466478590109e+01 -3.573418175828719e+01 -3.576371580017962e+01 -3.579326693254331e+01 - -3.582283516733191e+01 -3.585242047853867e+01 -3.588202284498269e+01 -3.591164230274704e+01 -3.594127888660625e+01 - -3.597093256883734e+01 -3.600060331833949e+01 -3.603029115299790e+01 -3.605999610029281e+01 -3.608971817709886e+01 - -3.611945738978410e+01 -3.614921371329605e+01 -3.617898712799953e+01 -3.620877766734910e+01 -3.623858536391516e+01 - -3.626841019364145e+01 -3.629825213180558e+01 -3.632811120764664e+01 -3.635798745148868e+01 -3.638788084403422e+01 - -3.641779136227628e+01 -3.644771901799147e+01 -3.647766383142195e+01 -3.650762582188893e+01 -3.653760499949427e+01 - -3.656760133838370e+01 -3.659761481766282e+01 -3.662764547223315e+01 -3.665769333671685e+01 -3.668775838882340e+01 - -3.671784060113342e+01 -3.674793998262476e+01 -3.677805655273779e+01 -3.680819033636626e+01 -3.683834134900049e+01 - -3.686850956306390e+01 -3.689869495454472e+01 -3.692889755675729e+01 -3.695911740229619e+01 -3.698935446355054e+01 - -3.701960871343802e+01 -3.704988018719579e+01 -3.708016892120266e+01 -3.711047489408478e+01 -3.714079807933708e+01 - -3.717113848768184e+01 -3.720149613882988e+01 -3.723187105121882e+01 -3.726226323497034e+01 -3.729267266821555e+01 - -3.732309933333587e+01 -3.735354326170426e+01 -3.738400448395760e+01 -3.741448297879693e+01 -3.744497872108128e+01 - -3.747549172223736e+01 -3.750602200310610e+01 -3.753656958561755e+01 -3.756713448177913e+01 -3.759771666281819e+01 - -3.762831610507856e+01 -3.765893284615005e+01 -3.768956692232328e+01 -3.772021830344675e+01 -3.775088695941269e+01 - -3.778157292673024e+01 -3.781227624306894e+01 -3.784299688412320e+01 -3.787373482086582e+01 -3.790449006735824e+01 - -3.793526264738479e+01 -3.796605258053289e+01 -3.799685987630166e+01 -3.802768450803411e+01 -3.805852645435349e+01 - -3.808938575116029e+01 -3.812026243387959e+01 -3.815115647875793e+01 -3.818206785737669e+01 -3.821299658183555e+01 - -3.824394267407146e+01 -3.827490615485264e+01 -3.830588703573063e+01 -3.833688529255877e+01 -3.836790090523419e+01 - -3.839893390552727e+01 -3.842998432385276e+01 -3.846105213333004e+01 -3.849213730842061e+01 -3.852323988624988e+01 - -3.855435990371658e+01 -3.858549733414936e+01 -3.861665214665468e+01 -3.864782435702053e+01 -3.867901399128823e+01 - -3.871022106983104e+01 -3.874144560188923e+01 -3.877268755783931e+01 -3.880394691415978e+01 -3.883522371060106e+01 - -3.886651798555487e+01 -3.889782970870629e+01 -3.892915884903668e+01 -3.896050544141922e+01 -3.899186952243698e+01 - -3.902325106962145e+01 -3.905465005558139e+01 -3.908606649228560e+01 -3.911750040150871e+01 -3.914895180488885e+01 - -3.918042071436301e+01 -3.921190710320024e+01 -3.924341094905042e+01 -3.927493228575462e+01 -3.930647114756201e+01 - -3.933802751416320e+01 -3.936960136044893e+01 -3.940119269666864e+01 -3.943280154239230e+01 -3.946442791911308e+01 - -3.949607183932866e+01 -3.952773327763106e+01 -3.955941221301939e+01 -3.959110868002649e+01 -3.962282271157864e+01 - -3.965455427864192e+01 -3.968630335291520e+01 -3.971806997098832e+01 -3.974985417066340e+01 -3.978165592970123e+01 - -3.981347522024374e+01 -3.984531205199855e+01 -3.987716644515135e+01 -3.990903842423468e+01 -3.994092800366619e+01 - -3.997283515305731e+01 -4.000475984705376e+01 -4.003670212524431e+01 -4.006866202678586e+01 -4.010063952416471e+01 - -4.013263458527370e+01 -4.016464722630246e+01 -4.019667747391531e+01 -4.022872534837892e+01 -4.026079085897078e+01 - -4.029287397740929e+01 -4.032497468131004e+01 -4.035709300943645e+01 -4.038922899883853e+01 -4.042138261856475e+01 - -4.045355383733334e+01 -4.048574269054266e+01 -4.051794921541258e+01 -4.055017338976896e+01 -4.058241518694505e+01 - -4.061467462169752e+01 -4.064695171778673e+01 -4.067924649356458e+01 -4.071155895737036e+01 -4.074388908290122e+01 - -4.077623684962312e+01 -4.080860229471885e+01 -4.084098545450960e+01 -4.087338630415373e+01 -4.090580481395003e+01 - -4.093824099592192e+01 -4.097069487270115e+01 -4.100316646762842e+01 -4.103565579436854e+01 -4.106816282717386e+01 - -4.110068754422534e+01 -4.113322997883087e+01 -4.116579016300655e+01 -4.119836806847471e+01 -4.123096366815907e+01 - -4.126357700008218e+01 -4.129620810254014e+01 -4.132885694982463e+01 -4.136152351139461e+01 -4.139420780138244e+01 - -4.142690984447184e+01 -4.145962966287846e+01 -4.149236726828771e+01 -4.152512263273182e+01 -4.155789573295193e+01 - -4.159068660417814e+01 -4.162349528189675e+01 -4.165632174413023e+01 -4.168916596438000e+01 -4.172202795552684e+01 - -4.175490773972726e+01 -4.178780533686147e+01 -4.182072075745918e+01 -4.185365397692470e+01 -4.188660497553830e+01 - -4.191957378820953e+01 -4.195256044830271e+01 -4.198556492837179e+01 -4.201858720098863e+01 -4.205162729960676e+01 - -4.208468525919077e+01 -4.211776105986812e+01 -4.215085467691669e+01 -4.218396612105321e+01 -4.221709541226407e+01 - -4.225024257217616e+01 -4.228340761361360e+01 -4.231659051254899e+01 -4.234979124870078e+01 -4.238300985362200e+01 - -4.241624635885866e+01 -4.244950074409413e+01 -4.248277298525672e+01 -4.251606309511715e+01 -4.254937109530931e+01 - -4.258269700607782e+01 -4.261604083828603e+01 -4.264940256666174e+01 -4.268278217100897e+01 -4.271617968757233e+01 - -4.274959515039267e+01 -4.278302852825576e+01 -4.281647979114838e+01 -4.284994897911630e+01 -4.288343613339240e+01 - -4.291694122989936e+01 -4.295046423857267e+01 -4.298400517070971e+01 -4.301756404788966e+01 -4.305114089145757e+01 - -4.308473571388112e+01 -4.311834849235274e+01 -4.315197920801049e+01 -4.318562789305037e+01 -4.321929457904871e+01 - -4.325297924404543e+01 -4.328668186207582e+01 -4.332040244469275e+01 -4.335414101381126e+01 -4.338789759527743e+01 - -4.342167220389723e+01 -4.345546480638487e+01 -4.348927537558045e+01 -4.352310395691921e+01 -4.355695059370569e+01 - -4.359081524812669e+01 -4.362469788222823e+01 -4.365859853861065e+01 -4.369251726260594e+01 -4.372645402991838e+01 - -4.376040880917880e+01 -4.379438161035186e+01 -4.382837245512241e+01 -4.386238137072252e+01 -4.389640837367813e+01 - -4.393045343214298e+01 -4.396451651875527e+01 -4.399859767246311e+01 -4.403269693263155e+01 -4.406681427398399e+01 - -4.410094966630350e+01 -4.413510312425358e+01 -4.416927467295284e+01 -4.420346433446015e+01 -4.423767212069691e+01 - -4.427189800609401e+01 -4.430614196966567e+01 -4.434040404624994e+01 -4.437468426893484e+01 -4.440898260798443e+01 - -4.444329903479183e+01 -4.447763358808973e+01 -4.451198630763288e+01 -4.454635716992501e+01 -4.458074614621454e+01 - -4.461515324997958e+01 -4.464957850449220e+01 -4.468402192997090e+01 -4.471848353715485e+01 -4.475296330191956e+01 - -4.478746120505344e+01 -4.482197728186011e+01 -4.485651156648301e+01 -4.489106403390974e+01 -4.492563465506775e+01 - -4.496022344379944e+01 -4.499483042484561e+01 -4.502945562362576e+01 -4.506409905435962e+01 -4.509876068578905e+01 - -4.513344049220396e+01 -4.516813851556444e+01 -4.520285479589762e+01 -4.523758929782897e+01 -4.527234198687941e+01 - -4.530711290755342e+01 -4.534190210524451e+01 -4.537670954991925e+01 -4.541153520580425e+01 -4.544637908959269e+01 - -4.548124122972980e+01 -4.551612164920255e+01 -4.555102035951307e+01 -4.558593733168242e+01 -4.562087254236648e+01 - -4.565582603124118e+01 -4.569079783605451e+01 -4.572578792382265e+01 -4.576079626235065e+01 -4.579582289333027e+01 - -4.583086785976433e+01 -4.586593113601344e+01 -4.590101269036680e+01 -4.593611253546989e+01 -4.597123069530716e+01 - -4.600636719486254e+01 -4.604152204856955e+01 -4.607669522766013e+01 -4.611188670797630e+01 -4.614709652700154e+01 - -4.618232472227299e+01 -4.621757126990104e+01 -4.625283614113306e+01 -4.628811934919114e+01 -4.632342091751210e+01 - -4.635874086841728e+01 -4.639407921460932e+01 -4.642943593143147e+01 -4.646481099859044e+01 -4.650020445060623e+01 - -4.653561632090474e+01 -4.657104658372261e+01 -4.660649521327068e+01 -4.664196224284595e+01 -4.667744770698098e+01 - -4.671295158606459e+01 -4.674847385553061e+01 -4.678401452513644e+01 -4.681957361522331e+01 -4.685515115414413e+01 - -4.689074715945064e+01 -4.692636159747788e+01 -4.696199443933372e+01 -4.699764572643400e+01 -4.703331550121288e+01 - -4.706900373987032e+01 -4.710471041222129e+01 -4.714043552877479e+01 -4.717617911151273e+01 -4.721194118761495e+01 - -4.724772177397794e+01 -4.728352084116666e+01 -4.731933836391387e+01 -4.735517437995513e+01 -4.739102892624472e+01 - -4.742690197360956e+01 -4.746279349304486e+01 -4.749870352234630e+01 -4.753463210070628e+01 -4.757057920610364e+01 - -4.760654481072343e+01 -4.764252892478859e+01 -4.767853156968457e+01 -4.771455277340900e+01 -4.775059255327958e+01 - -4.778665087728216e+01 -4.782272771801416e+01 -4.785882311585065e+01 -4.789493711157514e+01 -4.793106967982698e+01 - -4.796722079021173e+01 -4.800339045834357e+01 -4.803957871014897e+01 -4.807578556679541e+01 -4.811201103905631e+01 - -4.814825510088780e+01 -4.818451773166895e+01 -4.822079896928767e+01 -4.825709884980719e+01 -4.829341734348342e+01 - -4.832975442115909e+01 -4.836611012183125e+01 -4.840248448526336e+01 -4.843887748613056e+01 -4.847528909416636e+01 - -4.851171932442625e+01 -4.854816820273300e+01 -4.858463575265701e+01 -4.862112198691646e+01 -4.865762687707282e+01 - -4.869415040003414e+01 -4.873069259525141e+01 -4.876725350118260e+01 -4.880383308977095e+01 -4.884043132904604e+01 - -4.887704823789731e+01 -4.891368384608068e+01 -4.895033817595851e+01 -4.898701123776245e+01 -4.902370300059485e+01 - -4.906041344002308e+01 -4.909714259860375e+01 -4.913389051725400e+01 -4.917065716334413e+01 -4.920744250429804e+01 - -4.924424658130064e+01 -4.928106943700116e+01 -4.931791104614518e+01 -4.935477137752828e+01 -4.939165044404930e+01 - -4.942854827009338e+01 -4.946546488188807e+01 -4.950240029454247e+01 -4.953935447684974e+01 -4.957632740294361e+01 - -4.961331911463601e+01 -4.965032965315336e+01 -4.968735898970213e+01 -4.972440709120082e+01 -4.976147397743583e+01 - -4.979855967878247e+01 -4.983566421510402e+01 -4.987278759472007e+01 -4.990992979028766e+01 -4.994709078100569e+01 - -4.998427060790318e+01 -5.002146930959274e+01 -5.005868685319148e+01 -5.009592320640078e+01 -5.013317841075434e+01 - -5.017045250915469e+01 -5.020774547614742e+01 -5.024505728017924e+01 -5.028238793365752e+01 -5.031973746104961e+01 - -5.035710589110189e+01 -5.039449324090066e+01 -5.043189947661289e+01 -5.046932456973549e+01 -5.050676856400442e+01 - -5.054423150327239e+01 -5.058171335962052e+01 -5.061921409929316e+01 -5.065673373695915e+01 -5.069427229950105e+01 - -5.073182981423184e+01 -5.076940629607507e+01 -5.080700170996615e+01 -5.084461602753602e+01 -5.088224929718589e+01 - -5.091990156525010e+01 -5.095757279302548e+01 -5.099526294209112e+01 -5.103297206019221e+01 -5.107070019605169e+01 - -5.110844731613729e+01 -5.114621338143406e+01 -5.118399841325091e+01 -5.122180244526444e+01 -5.125962550029841e+01 - -5.129746758802490e+01 -5.133532867636215e+01 -5.137320874011100e+01 -5.141110782335645e+01 -5.144902596945006e+01 - -5.148696314952589e+01 -5.152491932947918e+01 -5.156289452646703e+01 -5.160088876945014e+01 -5.163890208334180e+01 - -5.167693448081514e+01 -5.171498592963017e+01 -5.175305640369855e+01 -5.179114594645165e+01 -5.182925460014935e+01 - -5.186738233284598e+01 -5.190552911234031e+01 -5.194369497961412e+01 -5.198187997663295e+01 -5.202008407611459e+01 - -5.205830724580739e+01 -5.209654950282933e+01 -5.213481087573764e+01 -5.217309138947744e+01 -5.221139105690054e+01 - -5.224970984609732e+01 -5.228804773087789e+01 -5.232640475269200e+01 -5.236478095346914e+01 -5.240317630941821e+01 - -5.244159079031952e+01 -5.248002440595931e+01 -5.251847717885386e+01 -5.255694914243367e+01 -5.259544031823210e+01 - -5.263395066927961e+01 -5.267248016335085e+01 -5.271102884570031e+01 -5.274959676081755e+01 -5.278818387265291e+01 - -5.282679014593192e+01 -5.286541562901994e+01 -5.290406037048660e+01 -5.294272433607927e+01 -5.298140748616263e+01 - -5.302010984239256e+01 -5.305883143892672e+01 -5.309757229863885e+01 -5.313633243133304e+01 -5.317511180581835e+01 - -5.321391039785607e+01 -5.325272825201081e+01 -5.329156541074357e+01 -5.333042183929739e+01 -5.336929750308754e+01 - -5.340819244543594e+01 -5.344710671111962e+01 -5.348604027282968e+01 -5.352499309722418e+01 -5.356396519891433e+01 - -5.360295660504364e+01 -5.364196734493171e+01 -5.368099743556814e+01 -5.372004684244607e+01 -5.375911553606044e+01 - -5.379820355840945e+01 -5.383731095277006e+01 -5.387643769603123e+01 -5.391558375867469e+01 -5.395474915194053e+01 - -5.399393389872404e+01 -5.403313802778240e+01 -5.407236155707715e+01 -5.411160445552515e+01 -5.415086669663323e+01 - -5.419014832131279e+01 -5.422944936941720e+01 -5.426876980916325e+01 -5.430810960961936e+01 -5.434746881489674e+01 - -5.438684746929877e+01 -5.442624554285502e+01 -5.446566300018413e+01 -5.450509985853421e+01 -5.454455614758906e+01 - -5.458403189414573e+01 -5.462352711279953e+01 -5.466304177222543e+01 -5.470257584656953e+01 -5.474212937778257e+01 - -5.478170240720980e+01 -5.482129490597043e+01 -5.486090684084346e+01 -5.490053823147309e+01 -5.494018910890276e+01 - -5.497985949690793e+01 -5.501954940653937e+01 -5.505925880521750e+01 -5.509898766755921e+01 -5.513873604059781e+01 - -5.517850396943321e+01 -5.521829141901578e+01 -5.525809835354192e+01 -5.529792481434151e+01 -5.533777084523449e+01 - -5.537763642286803e+01 -5.541752151714192e+01 -5.545742613813913e+01 -5.549735030880384e+01 -5.553729406334213e+01 - -5.557725742375872e+01 -5.561724035199087e+01 -5.565724281465346e+01 -5.569726485713910e+01 -5.573730652628086e+01 - -5.577736779589668e+01 -5.581744863307357e+01 -5.585754905099014e+01 -5.589766907536871e+01 -5.593780873601526e+01 - -5.597796805069111e+01 -5.601814698489535e+01 -5.605834550959182e+01 -5.609856366986563e+01 -5.613880151023810e+01 - -5.617905899885479e+01 -5.621933610311022e+01 -5.625963286377015e+01 -5.629994932270948e+01 -5.634028545286861e+01 - -5.638064122221132e+01 -5.642101664772899e+01 -5.646141175844968e+01 -5.650182658252075e+01 -5.654226113528433e+01 - -5.658271538174220e+01 -5.662318929319503e+01 -5.666368291647893e+01 -5.670419629786259e+01 -5.674472940580990e+01 - -5.678528220346420e+01 -5.682585471049146e+01 -5.686644695909487e+01 -5.690705897510426e+01 -5.694769077129006e+01 - -5.698834231455854e+01 -5.702901357847642e+01 -5.706970460911611e+01 -5.711041545084194e+01 -5.715114606868026e+01 - -5.719189642778805e+01 -5.723266657318249e+01 -5.727345655110785e+01 -5.731426633285666e+01 -5.735509588339112e+01 - -5.739594521730356e+01 -5.743681436264626e+01 -5.747770335168147e+01 -5.751861220364783e+01 -5.755954088147938e+01 - -5.760048935348805e+01 -5.764145766580183e+01 -5.768244586550730e+01 -5.772345392571002e+01 -5.776448181276131e+01 - -5.780552953997691e+01 -5.784659713354442e+01 -5.788768462417462e+01 -5.792879202998626e+01 -5.796991931420698e+01 - -5.801106644664837e+01 -5.805223347834903e+01 -5.809342045860209e+01 -5.813462734849197e+01 -5.817585410820936e+01 - -5.821710078257841e+01 -5.825836741928538e+01 -5.829965399283203e+01 -5.834096047087346e+01 -5.838228686686274e+01 - -5.842363320676851e+01 -5.846499952082397e+01 -5.850638582715609e+01 -5.854779209120221e+01 -5.858921828442874e+01 - -5.863066445510763e+01 -5.867213065032231e+01 -5.871361683559694e+01 -5.875512297138874e+01 -5.879664907944645e+01 - -5.883819519466417e+01 -5.887976134322624e+01 -5.892134753756825e+01 -5.896295374384051e+01 -5.900457993500612e+01 - -5.904622615756436e+01 -5.908789245663575e+01 -5.912957879828990e+01 -5.917128514850664e+01 -5.921301155195771e+01 - -5.925475805384439e+01 -5.929652462279476e+01 -5.933831122286624e+01 -5.938011787640643e+01 -5.942194461763230e+01 - -5.946379146994821e+01 -5.950565844408734e+01 -5.954754551091072e+01 -5.958945264733813e+01 -5.963137989439624e+01 - -5.967332729249499e+01 -5.971529481547052e+01 -5.975728243227523e+01 -5.979929015889982e+01 -5.984131802305070e+01 - -5.988336605225896e+01 -5.992543426246962e+01 -5.996752262345901e+01 -6.000963111046766e+01 -6.005175976676178e+01 - -6.009390863383608e+01 -6.013607767807394e+01 -6.017826686618813e+01 -6.022047624132026e+01 -6.026270584835797e+01 - -6.030495566274465e+01 -6.034722565381767e+01 -6.038951583593452e+01 -6.043182623512069e+01 -6.047415687905394e+01 - -6.051650778421003e+01 -6.055887892060463e+01 -6.060127026325783e+01 -6.064368185366749e+01 -6.068611373308907e+01 - -6.072856587533070e+01 -6.077103824887340e+01 -6.081353086833690e+01 -6.085604376132918e+01 -6.089857696127247e+01 - -6.094113048823596e+01 -6.098370430306234e+01 -6.102629837247437e+01 -6.106891274594116e+01 -6.111154747264118e+01 - -6.115420251784390e+01 -6.119687784580902e+01 -6.123957350066591e+01 -6.128228952841628e+01 -6.132502590268162e+01 - -6.136778259056138e+01 -6.141055960544676e+01 -6.145335697380811e+01 -6.149617472814099e+01 -6.153901288864162e+01 - -6.158187142028389e+01 -6.162475029314290e+01 -6.166764955292113e+01 -6.171056924466600e+01 -6.175350933517737e+01 - -6.179646979123154e+01 -6.183945065775757e+01 -6.188245198047678e+01 -6.192547373012725e+01 -6.196851587175868e+01 - -6.201157842265037e+01 -6.205466141333163e+01 -6.209776487510229e+01 -6.214088882566958e+01 -6.218403322759970e+01 - -6.222719804958889e+01 -6.227038333999444e+01 -6.231358914752139e+01 -6.235681544260558e+01 -6.240006218936849e+01 - -6.244332940494305e+01 -6.248661712010740e+01 -6.252992536720910e+01 -6.257325416420860e+01 -6.261660346994837e+01 - -6.265997325077347e+01 -6.270336356215701e+01 -6.274677445777788e+01 -6.279020589501037e+01 -6.283365783085999e+01 - -6.287713031716163e+01 -6.292062340781234e+01 -6.296413707012920e+01 -6.300767126475596e+01 -6.305122601222295e+01 - -6.309480134635203e+01 -6.313839729424505e+01 -6.318201386936521e+01 -6.322565103734121e+01 -6.326930877093868e+01 - -6.331298711930568e+01 -6.335668613058504e+01 -6.340040577251647e+01 -6.344414600718050e+01 -6.348790685442323e+01 - -6.353168834759008e+01 -6.357549051625812e+01 -6.361931337593239e+01 -6.366315688959789e+01 -6.370702102749119e+01 - -6.375090584137499e+01 -6.379481138078580e+01 -6.383873760482961e+01 -6.388268447297220e+01 -6.392665203654889e+01 - -6.397064034897519e+01 -6.401464938011861e+01 -6.405867909237229e+01 -6.410272950177993e+01 -6.414680063823367e+01 - -6.419089253336912e+01 -6.423500520539493e+01 -6.427913861706836e+01 -6.432329273774181e+01 -6.436746761859949e+01 - -6.441166331065573e+01 -6.445587978241413e+01 -6.450011699516882e+01 -6.454437496388719e+01 -6.458865371852110e+01 - -6.463295329528786e+01 -6.467727371608086e+01 -6.472161493923234e+01 -6.476597692945877e+01 -6.481035974057480e+01 - -6.485476342551981e+01 -6.489918794463497e+01 -6.494363325783405e+01 -6.498809941591921e+01 -6.503258647107099e+01 - -6.507709439009531e+01 -6.512162313341831e+01 -6.516617272132122e+01 -6.521074318787740e+01 -6.525533456247440e+01 - -6.529994686059398e+01 -6.534458004678092e+01 -6.538923409250538e+01 -6.543390904787570e+01 -6.547860496211884e+01 - -6.552332180229843e+01 -6.556805952953434e+01 -6.561281816333469e+01 -6.565759773746066e+01 -6.570239828429803e+01 - -6.574721982146080e+01 -6.579206230885156e+01 -6.583692571363754e+01 -6.588181008975629e+01 -6.592671548982709e+01 - -6.597164187442638e+01 -6.601658920334479e+01 -6.606155752527242e+01 -6.610654689090467e+01 -6.615155727005924e+01 - -6.619658862652422e+01 -6.624164098084657e+01 -6.628671436645676e+01 -6.633180881156068e+01 -6.637692433038681e+01 - -6.642206088647883e+01 -6.646721845110714e+01 -6.651239707713407e+01 -6.655759681603797e+01 -6.660281763216933e+01 - -6.664805948389387e+01 -6.669332239276561e+01 -6.673860639512726e+01 -6.678391152328841e+01 -6.682923779433044e+01 - -6.687458516845543e+01 -6.691995361277515e+01 -6.696534317891920e+01 -6.701075391795754e+01 -6.705618579420361e+01 - -6.710163877100581e+01 -6.714711289460833e+01 -6.719260821321966e+01 -6.723812470001026e+01 -6.728366232121398e+01 - -6.732922109035582e+01 -6.737480103488133e+01 -6.742040219062761e+01 -6.746602458035952e+01 -6.751166816616187e+01 - -6.755733291529161e+01 -6.760301887637438e+01 -6.764872609859751e+01 -6.769445455202660e+01 -6.774020420051386e+01 - -6.778597506217976e+01 -6.783176716876942e+01 -6.787758055225885e+01 -6.792341523092826e+01 -6.796927116804379e+01 - -6.801514833341810e+01 -6.806104677806347e+01 -6.810696655123587e+01 -6.815290761396663e+01 -6.819886992772128e+01 - -6.824485354392678e+01 -6.829085851532395e+01 -6.833688480994840e+01 -6.838293238885097e+01 -6.842900126984890e+01 - -6.847509148538957e+01 -6.852120306967514e+01 -6.856733604269469e+01 -6.861349036583006e+01 -6.865966600658993e+01 - -6.870586301559659e+01 -6.875208144399036e+01 -6.879832126187024e+01 -6.884458243234171e+01 -6.889086497157696e+01 - -6.893716890990422e+01 -6.898349428120915e+01 -6.902984110598732e+01 -6.907620934761650e+01 -6.912259897511596e+01 - -6.916901003718877e+01 -6.921544258172949e+01 -6.926189657371528e+01 -6.930837197817074e+01 -6.935486884322755e+01 - -6.940138721768092e+01 -6.944792706987337e+01 -6.949448836290087e+01 -6.954107111932564e+01 -6.958767537490402e+01 - -6.963430115870300e+01 -6.968094848498497e+01 -6.972761731548312e+01 -6.977430762020695e+01 -6.982101945480034e+01 - -6.986775287255249e+01 -6.991450783170005e+01 -6.996128429032680e+01 -7.000808230095708e+01 -7.005490191787665e+01 - -7.010174310797666e+01 -7.014860583121035e+01 -7.019549010717337e+01 -7.024239597049470e+01 -7.028932345629492e+01 - -7.033627258446040e+01 -7.038324331344937e+01 -7.043023560838913e+01 -7.047724952251053e+01 -7.052428510987777e+01 - -7.057134233978515e+01 -7.061842117397924e+01 -7.066552162878578e+01 -7.071264373512433e+01 -7.075978752771100e+01 - -7.080695302731498e+01 -7.085414019512091e+01 -7.090134899910394e+01 -7.094857949398551e+01 -7.099583173235354e+01 - -7.104310567151599e+01 -7.109040126922885e+01 -7.113771858031990e+01 -7.118505766125368e+01 -7.123241847797109e+01 - -7.127980098937178e+01 -7.132720521671429e+01 -7.137463119544236e+01 -7.142207895538176e+01 -7.146954851252747e+01 - -7.151703983316882e+01 -7.156455289009196e+01 -7.161208773177542e+01 -7.165964440570248e+01 -7.170722287968356e+01 - -7.175482311646741e+01 -7.180244513822917e+01 -7.185008898098621e+01 -7.189775467669884e+01 -7.194544224180910e+01 - -7.199315163474331e+01 -7.204088282234626e+01 -7.208863586315185e+01 -7.213641081375658e+01 -7.218420763131780e+01 - -7.223202627227879e+01 -7.227986678966526e+01 -7.232772923884254e+01 -7.237561358795277e+01 -7.242351979769759e+01 - -7.247144788623903e+01 -7.251939788668284e+01 -7.256736983444897e+01 -7.261536375015235e+01 -7.266337959287341e+01 - -7.271141732841731e+01 -7.275947701102203e+01 -7.280755869538000e+01 -7.285566234956853e+01 -7.290378793432680e+01 - -7.295193546765573e+01 -7.300010498266862e+01 -7.304829651566631e+01 -7.309651008753943e+01 -7.314474565435016e+01 - -7.319300317971540e+01 -7.324128272229925e+01 -7.328958433981238e+01 -7.333790799110540e+01 -7.338625363374130e+01 - -7.343462131899291e+01 -7.348301110053259e+01 -7.353142294792167e+01 -7.357985682361442e+01 -7.362831274574745e+01 - -7.367679074711965e+01 -7.372529086349638e+01 -7.377381311579366e+01 -7.382235746256312e+01 -7.387092386912651e+01 - -7.391951239025020e+01 -7.396812308115555e+01 -7.401675590943988e+01 -7.406541083531380e+01 -7.411408787706513e+01 - -7.416278706814910e+01 -7.421150844461324e+01 -7.426025202733783e+01 -7.430901777394124e+01 -7.435780564940528e+01 - -7.440661571142732e+01 -7.445544801616209e+01 -7.450430252087864e+01 -7.455317918285648e+01 -7.460207805830268e+01 - -7.465099920497126e+01 -7.469994258787753e+01 -7.474890816454140e+01 -7.479789595523943e+01 -7.484690599592756e+01 - -7.489593832252380e+01 -7.494499295533201e+01 -7.499406985223764e+01 -7.504316897827101e+01 -7.509229038945979e+01 - -7.514143414169166e+01 -7.519060019929748e+01 -7.523978851997632e+01 -7.528899912645726e+01 -7.533823205657275e+01 - -7.538748734353926e+01 -7.543676500532445e+01 -7.548606500351643e+01 -7.553538730703876e+01 -7.558473197053598e+01 - -7.563409904619321e+01 -7.568348849063742e+01 -7.573290026170078e+01 -7.578233441759443e+01 -7.583179101796470e+01 - -7.588127002782028e+01 -7.593077140392674e+01 -7.598029516471465e+01 -7.602984134475692e+01 -7.607940998153097e+01 - -7.612900109746634e+01 -7.617861465189691e+01 -7.622825061065345e+01 -7.627790902865043e+01 -7.632758996032740e+01 - -7.637729336914126e+01 -7.642701921265419e+01 -7.647676751583191e+01 -7.652653831849052e+01 -7.657633165244424e+01 - -7.662614753370475e+01 -7.667598592307560e+01 -7.672584678949215e+01 -7.677573018962489e+01 -7.682563617769370e+01 - -7.687556471038147e+01 -7.692551574474433e+01 -7.697548933686781e+01 -7.702548554509247e+01 -7.707550433774978e+01 - -7.712554567498073e+01 -7.717560957417300e+01 -7.722569606768573e+01 -7.727580519051753e+01 -7.732593696392289e+01 - -7.737609135154067e+01 -7.742626832278943e+01 -7.747646792782194e+01 -7.752669021677298e+01 -7.757693515897095e+01 - -7.762720271798948e+01 -7.767749291518889e+01 -7.772780578562232e+01 -7.777814136132783e+01 -7.782849965970544e+01 - -7.787888064261847e+01 -7.792928427988689e+01 -7.797971062869398e+01 -7.803015974345008e+01 -7.808063158011076e+01 - -7.813112609521906e+01 -7.818164334612277e+01 -7.823218339188995e+01 -7.828274619766600e+01 -7.833333172107952e+01 - -7.838393998361434e+01 -7.843457102192369e+01 -7.848522486948340e+01 -7.853590154498607e+01 -7.858660101116894e+01 - -7.863732323758104e+01 -7.868806827697425e+01 -7.873883618163512e+01 -7.878962691878654e+01 -7.884044044940295e+01 - -7.889127679452803e+01 -7.894213598992800e+01 -7.899301807018992e+01 -7.904392305456564e+01 -7.909485090214494e+01 - -7.914580158005610e+01 -7.919677514774288e+01 -7.924777166238927e+01 -7.929879107982515e+01 -7.934983335558289e+01 - -7.940089854535901e+01 -7.945198670709752e+01 -7.950309780756868e+01 -7.955423180605224e+01 -7.960538872303847e+01 - -7.965656859466247e+01 -7.970777145842827e+01 -7.975899733555858e+01 -7.981024618078136e+01 -7.986151795697417e+01 - -7.991281272610696e+01 -7.996413054847572e+01 -8.001547137858779e+01 -8.006683517069925e+01 -8.011822198384908e+01 - -8.016963187855384e+01 -8.022106481645797e+01 -8.027252075224854e+01 -8.032399971165485e+01 -8.037550173585385e+01 - -8.042702685677139e+01 -8.047857509055929e+01 -8.053014639952434e+01 -8.058174075328817e+01 -8.063335820457638e+01 - -8.068499880610621e+01 -8.073666252745771e+01 -8.078834933088126e+01 -8.084005923244513e+01 -8.089179226408041e+01 - -8.094354846735196e+01 -8.099532786819320e+01 -8.104713042037783e+01 -8.109895608507813e+01 -8.115080492521992e+01 - -8.120267700205356e+01 -8.125457226837462e+01 -8.130649067623317e+01 -8.135843228315183e+01 -8.141039715010918e+01 - -8.146238524643556e+01 -8.151439653208425e+01 -8.156643102114791e+01 -8.161848874447259e+01 -8.167056974577932e+01 - -8.172267405314662e+01 -8.177480161920819e+01 -8.182695240289546e+01 -8.187912646377457e+01 -8.193132386298609e+01 - -8.198354456733288e+01 -8.203578853472443e+01 -8.208805578183410e+01 -8.214034634197473e+01 -8.219266025625411e+01 - -8.224499755029157e+01 -8.229735817995817e+01 -8.234974210798764e+01 -8.240214939431286e+01 -8.245458009683706e+01 - -8.250703416814667e+01 -8.255951156203467e+01 -8.261201234243612e+01 -8.266453657428882e+01 -8.271708421639993e+01 - -8.276965521981012e+01 -8.282224961062391e+01 -8.287486743131451e+01 -8.292750871476633e+01 -8.298017347733835e+01 - -8.303286167887651e+01 -8.308557328775250e+01 -8.313830836295337e+01 -8.319106696215761e+01 -8.324384904719405e+01 - -8.329665457280116e+01 -8.334948356120523e+01 -8.340233605179664e+01 -8.345521208513452e+01 -8.350811168407860e+01 - -8.356103479952203e+01 -8.361398139085040e+01 -8.366695152338559e+01 -8.371994526125894e+01 -8.377296255790387e+01 - -8.382600336547402e+01 -8.387906774170159e+01 -8.393215574692768e+01 -8.398526734635097e+01 -8.403840249721476e+01 - -8.409156122008268e+01 -8.414474355213920e+01 -8.419794953373223e+01 -8.425117918830632e+01 -8.430443246852916e+01 - -8.435770933516140e+01 -8.441100985211256e+01 -8.446433408298962e+01 -8.451768198704093e+01 -8.457105351533237e+01 - -8.462444869055821e+01 -8.467786755329161e+01 -8.473131014399300e+01 -8.478477648534972e+01 -8.483826652906932e+01 - -8.489178023573824e+01 -8.494531767243778e+01 -8.499887890373510e+01 -8.505246387764603e+01 -8.510607254206460e+01 - -8.515970496094809e+01 -8.521336120130535e+01 -8.526704122628841e+01 -8.532074498941530e+01 -8.537447250952404e+01 - -8.542822382319736e+01 -8.548199897267675e+01 -8.553579798342942e+01 -8.558962080816578e+01 -8.564346740685433e+01 - -8.569733784125194e+01 -8.575123217367282e+01 -8.580515036687339e+01 -8.585909237532205e+01 -8.591305821989287e+01 - -8.596704793875205e+01 -8.602106157282915e+01 -8.607509914567974e+01 -8.612916060859980e+01 -8.618324592155754e+01 - -8.623735515146925e+01 -8.629148836331387e+01 -8.634564550737286e+01 -8.639982653295500e+01 -8.645403150017543e+01 - -8.650826047252751e+01 -8.656251341621210e+01 -8.661679028858919e+01 -8.667109110894766e+01 -8.672541591317201e+01 - -8.677976474159972e+01 -8.683413761829634e+01 -8.688853449778628e+01 -8.694295534179228e+01 -8.699740021037117e+01 - -8.705186916402354e+01 -8.710636216669133e+01 -8.716087917454270e+01 -8.721542020920894e+01 -8.726998530877070e+01 - -8.732457451164281e+01 -8.737918783967393e+01 -8.743382524811331e+01 -8.748848670054353e+01 -8.754317226047976e+01 - -8.759788198894785e+01 -8.765261583708421e+01 -8.770737375634857e+01 -8.776215580938322e+01 -8.781696206132678e+01 - -8.787179247612183e+01 -8.792664700860111e+01 -8.798152567835336e+01 -8.803642852212045e+01 -8.809135558050070e+01 - -8.814630687756171e+01 -8.820128236739042e+01 -8.825628201129771e+01 -8.831130586947003e+01 -8.836635400284558e+01 - -8.842142637649435e+01 -8.847652294770472e+01 -8.853164373850628e+01 -8.858678878695027e+01 -8.864195813043362e+01 - -8.869715178945941e+01 -8.875236971760948e+01 -8.880761187808301e+01 -8.886287833946902e+01 -8.891816916696094e+01 - -8.897348430677987e+01 -8.902882370531137e+01 -8.908418742857141e+01 -8.913957554536425e+01 -8.919498801601753e+01 - -8.925042479199006e+01 -8.930588589774098e+01 -8.936137137472512e+01 -8.941688125937962e+01 -8.947241557120560e+01 - -8.952797426697802e+01 -8.958355731201681e+01 -8.963916476854843e+01 -8.969479669732335e+01 -8.975045305628245e+01 - -8.980613379692392e+01 -8.986183894778455e+01 -8.991756855389235e+01 -8.997332264920152e+01 -9.002910125051302e+01 - -9.008490431708829e+01 -9.014073181666647e+01 -9.019658380843681e+01 -9.025246034941333e+01 -9.030836139645970e+01 - -9.036428690661128e+01 -9.042023693773967e+01 -9.047621154925669e+01 -9.053221070589892e+01 -9.058823436476921e+01 - -9.064428254711031e+01 -9.070035529106499e+01 -9.075645263823618e+01 -9.081257461289793e+01 -9.086872116654884e+01 - -9.092489225918972e+01 -9.098108795760594e+01 -9.103730832657459e+01 -9.109355331605536e+01 -9.114982287548730e+01 - -9.120611706704364e+01 -9.126243595579022e+01 -9.131877950563008e+01 -9.137514767186437e+01 -9.143154047654943e+01 - -9.148795795857168e+01 -9.154440015738282e+01 -9.160086709537343e+01 -9.165735872612346e+01 -9.171387501169491e+01 - -9.177041601688784e+01 -9.182698180564800e+01 -9.188357233576582e+01 -9.194018755741556e+01 -9.199682749646104e+01 - -9.205349219658670e+01 -9.211018169707003e+01 -9.216689601912306e+01 -9.222363511610273e+01 -9.228039895018067e+01 - -9.233718758664240e+01 -9.239400108840672e+01 -9.245083940581294e+01 -9.250770248979978e+01 -9.256459040628322e+01 - -9.262150322244982e+01 -9.267844089559186e+01 -9.273540337476760e+01 -9.279239068599267e+01 -9.284940287335907e+01 - -9.290643997630693e+01 -9.296350201607783e+01 -9.302058894577094e+01 -9.307770072730455e+01 -9.313483742601555e+01 - -9.319199910633068e+01 -9.324918572561810e+01 -9.330639723351504e+01 -9.336363365579297e+01 -9.342089503640302e+01 - -9.347818141588093e+01 -9.353549281584256e+01 -9.359282918563940e+01 -9.365019048477910e+01 -9.370757678565749e+01 - -9.376498815769901e+01 -9.382242454555492e+01 -9.387988589305337e+01 -9.393737226550313e+01 -9.399488373202897e+01 - -9.405242025553964e+01 -9.410998178945039e+01 -9.416756835541781e+01 -9.422517999301114e+01 -9.428281674520871e+01 - -9.434047863667399e+01 -9.439816561540189e+01 -9.445587763836596e+01 -9.451361477512259e+01 -9.457137709520302e+01 - -9.462916455545547e+01 -9.468697710379740e+01 -9.474481476510589e+01 -9.480267758244509e+01 -9.486056559466863e+01 - -9.491847882335075e+01 -9.497641722515867e+01 -9.503438076487508e+01 -9.509236950465109e+01 -9.515038350409563e+01 - -9.520842271528107e+01 -9.526648709103007e+01 -9.532457669470300e+01 -9.538269159175374e+01 -9.544083174547335e+01 - -9.549899710997526e+01 -9.555718770482461e+01 -9.561540356780063e+01 -9.567364474408794e+01 -9.573191126075703e+01 - -9.579020306501620e+01 -9.584852011272490e+01 -9.590686247420874e+01 -9.596523021978578e+01 -9.602362330527772e+01 - -9.608204167783254e+01 -9.614048536439948e+01 -9.619895441016116e+01 -9.625744885343293e+01 -9.631596871403326e+01 - -9.637451394466026e+01 -9.643308450797647e+01 -9.649168047362274e+01 -9.655030190767742e+01 -9.660894875499127e+01 - -9.666762096089710e+01 -9.672631859388268e+01 -9.678504172537357e+01 -9.684379031539257e+01 -9.690256431417546e+01 - -9.696136374421286e+01 -9.702018864639355e+01 -9.707903906294442e+01 -9.713791501832830e+01 -9.719681646461351e+01 - -9.725574336170810e+01 -9.731469577327378e+01 -9.737367376351882e+01 -9.743267729508464e+01 -9.749170632178308e+01 - -9.755076086367355e+01 -9.760984095895955e+01 -9.766894665217343e+01 -9.772807797034233e+01 -9.778723486414395e+01 - -9.784641729236439e+01 -9.790562532257231e+01 -9.796485902036660e+01 -9.802411833468516e+01 -9.808340321418262e+01 - -9.814271372304191e+01 -9.820204992860188e+01 -9.826141179529722e+01 -9.832079927766843e+01 -9.838021239358226e+01 - -9.843965117935535e+01 -9.849911568177785e+01 -9.855860593025675e+01 -9.861812187419362e+01 -9.867766347002308e+01 - -9.873723078231735e+01 -9.879682387670165e+01 -9.885644271487612e+01 -9.891608724974174e+01 -9.897575750292785e+01 - -9.903545351466867e+01 -9.909517533088989e+01 -9.915492297862031e+01 -9.921469640360959e+01 -9.927449556058966e+01 - -9.933432052149955e+01 -9.939417135686639e+01 -9.945404801436261e+01 -9.951395044077229e+01 -9.957387870218038e+01 - -9.963383286719130e+01 -9.969381289518709e+01 -9.975381873630593e+01 -9.981385041293248e+01 -9.987390796877466e+01 - -9.993399146058783e+01 -9.999410091983435e+01 -1.000542362637563e+02 -1.001143974249114e+02 -1.001745845113392e+02 - -1.002347976270743e+02 -1.002950366846517e+02 -1.003553015922550e+02 -1.004155924321621e+02 -1.004759093011103e+02 - -1.005362521795820e+02 -1.005966210292817e+02 -1.006570158530568e+02 -1.007174366671700e+02 -1.007778835004040e+02 - -1.008383563749385e+02 -1.008988552740233e+02 -1.009593801813489e+02 -1.010199311212978e+02 -1.010805081231472e+02 - -1.011411111950619e+02 -1.012017403376325e+02 -1.012623955422635e+02 -1.013230768099676e+02 -1.013837841893743e+02 - -1.014445177207514e+02 -1.015052773633014e+02 -1.015660630775449e+02 -1.016268749103392e+02 -1.016877129150088e+02 - -1.017485770844115e+02 -1.018094673966629e+02 -1.018703838313761e+02 -1.019313263923028e+02 -1.019922951782496e+02 - -1.020532902664119e+02 -1.021143115524854e+02 -1.021753589342455e+02 -1.022364324992857e+02 -1.022975323519374e+02 - -1.023586584736673e+02 -1.024198108268543e+02 -1.024809894203941e+02 -1.025421942728475e+02 -1.026034253949216e+02 - -1.026646827901934e+02 -1.027259664415750e+02 -1.027872763473731e+02 -1.028486125881369e+02 -1.029099752254547e+02 - -1.029713641628286e+02 -1.030327793161952e+02 -1.030942208093169e+02 -1.031556887637190e+02 -1.032171830841550e+02 - -1.032787036718354e+02 -1.033402506305696e+02 -1.034018240681317e+02 -1.034634239055545e+02 -1.035250500515010e+02 - -1.035867025518952e+02 -1.036483814821213e+02 -1.037100868981441e+02 -1.037718188237329e+02 -1.038335771732939e+02 - -1.038953618747522e+02 -1.039571730194689e+02 -1.040190107055651e+02 -1.040808748947658e+02 -1.041427655331822e+02 - -1.042046826408667e+02 -1.042666262524425e+02 -1.043285963868752e+02 -1.043905930564436e+02 -1.044526162623378e+02 - -1.045146660069125e+02 -1.045767423082721e+02 -1.046388451777543e+02 -1.047009745838822e+02 -1.047631305085241e+02 - -1.048253130297424e+02 -1.048875222165416e+02 -1.049497580055002e+02 -1.050120203310284e+02 -1.050743092512860e+02 - -1.051366248384456e+02 -1.051989670969791e+02 -1.052613360137520e+02 -1.053237315729033e+02 -1.053861537661844e+02 - -1.054486026185219e+02 -1.055110781583045e+02 -1.055735803945944e+02 -1.056361093274371e+02 -1.056986649401382e+02 - -1.057612472323176e+02 -1.058238562855892e+02 -1.058864921618116e+02 -1.059491547618286e+02 -1.060118440001799e+02 - -1.060745600072047e+02 -1.061373029070868e+02 -1.062000725835928e+02 -1.062628689188559e+02 -1.063256920288941e+02 - -1.063885420424685e+02 -1.064514189054312e+02 -1.065143225392365e+02 -1.065772529506575e+02 -1.066402101774261e+02 - -1.067031942957903e+02 -1.067662053568374e+02 -1.068292432724951e+02 -1.068923079625714e+02 -1.069553995175528e+02 - -1.070185180380394e+02 -1.070816634944072e+02 -1.071448358336418e+02 -1.072080350393896e+02 -1.072712611247882e+02 - -1.073345141842783e+02 -1.073977942922143e+02 -1.074611013613008e+02 -1.075244353055826e+02 -1.075877962061142e+02 - -1.076511841502191e+02 -1.077145990832866e+02 -1.077780409492339e+02 -1.078415098280245e+02 -1.079050057992970e+02 - -1.079685288053471e+02 -1.080320787786834e+02 -1.080956557500093e+02 -1.081592597729443e+02 -1.082228908945775e+02 - -1.082865491424036e+02 -1.083502344720692e+02 -1.084139468448718e+02 -1.084776863165616e+02 -1.085414529440200e+02 - -1.086052466942038e+02 -1.086690675238350e+02 -1.087329154386204e+02 -1.087967904674474e+02 -1.088606926829425e+02 - -1.089246221377382e+02 -1.089885787607543e+02 -1.090525624876805e+02 -1.091165734050004e+02 -1.091806115963225e+02 - -1.092446769829633e+02 -1.093087694909110e+02 -1.093728892271333e+02 -1.094370362953419e+02 -1.095012106052476e+02 - -1.095654120623545e+02 -1.096296407493415e+02 -1.096938967647426e+02 -1.097581800933404e+02 -1.098224906984946e+02 - -1.098868285716250e+02 -1.099511937236656e+02 -1.100155862155477e+02 -1.100800060933800e+02 -1.101444532939841e+02 - -1.102089277564002e+02 -1.102734295378303e+02 -1.103379587096266e+02 -1.104025152815812e+02 -1.104670992426730e+02 - -1.105317105601886e+02 -1.105963492199813e+02 -1.106610153038629e+02 -1.107257088820756e+02 -1.107904298826226e+02 - -1.108551782361634e+02 -1.109199540262203e+02 -1.109847573373186e+02 -1.110495881051325e+02 -1.111144462586115e+02 - -1.111793318486534e+02 -1.112442449476576e+02 -1.113091855920787e+02 -1.113741537899001e+02 -1.114391494711626e+02 - -1.115041725824562e+02 -1.115692232145109e+02 -1.116343014623147e+02 -1.116994072937479e+02 -1.117645406555522e+02 - -1.118297015370191e+02 -1.118948899532702e+02 -1.119601059801944e+02 -1.120253496750247e+02 -1.120906209596036e+02 - -1.121559197660155e+02 -1.122212462027017e+02 -1.122866003728487e+02 -1.123519821822644e+02 -1.124173915349786e+02 - -1.124828285252852e+02 -1.125482932599049e+02 -1.126137857050017e+02 -1.126793058037530e+02 -1.127448535479451e+02 - -1.128104289543148e+02 -1.128760320907921e+02 -1.129416630123176e+02 -1.130073216706816e+02 -1.130730080183262e+02 - -1.131387221134510e+02 -1.132044640167948e+02 -1.132702336934948e+02 -1.133360310978225e+02 -1.134018562361866e+02 - -1.134677091387784e+02 -1.135335898787815e+02 -1.135994985091588e+02 -1.136654349589990e+02 -1.137313991629182e+02 - -1.137973912015162e+02 -1.138634111582333e+02 -1.139294589818884e+02 -1.139955346168527e+02 -1.140616381243277e+02 - -1.141277695680233e+02 -1.141939289048548e+02 -1.142601160860919e+02 -1.143263311472162e+02 -1.143925741390390e+02 - -1.144588450894802e+02 -1.145251440101338e+02 -1.145914708701818e+02 -1.146578256494022e+02 -1.147242084123678e+02 - -1.147906192149256e+02 -1.148570579932248e+02 -1.149235246826633e+02 -1.149900193353325e+02 -1.150565420227369e+02 - -1.151230927773426e+02 -1.151896716067799e+02 -1.152562784583746e+02 -1.153229132947855e+02 -1.153895762003063e+02 - -1.154562672526404e+02 -1.155229863814943e+02 -1.155897335150450e+02 -1.156565087233475e+02 -1.157233120892246e+02 - -1.157901436046917e+02 -1.158570032371645e+02 -1.159238909464663e+02 -1.159908067231330e+02 -1.160577506881430e+02 - -1.161247229415995e+02 -1.161917233696630e+02 -1.162587518588770e+02 -1.163258085112608e+02 -1.163928934406831e+02 - -1.164600065929374e+02 -1.165271479034755e+02 -1.165943174344564e+02 -1.166615152526160e+02 -1.167287413162901e+02 - -1.167959955757904e+02 -1.168632780577301e+02 -1.169305888112216e+02 -1.169979278990717e+02 -1.170652953548001e+02 - -1.171326910810820e+02 -1.172001149975291e+02 -1.172675672223445e+02 -1.173350478778825e+02 -1.174025569045121e+02 - -1.174700942215011e+02 -1.175376598456954e+02 -1.176052538191002e+02 -1.176728761867799e+02 -1.177405269796691e+02 - -1.178082061691247e+02 -1.178759137299273e+02 -1.179436497101298e+02 -1.180114141509050e+02 -1.180792069926326e+02 - -1.181470281872303e+02 -1.182148778335583e+02 -1.182827560287664e+02 -1.183506627162192e+02 -1.184185978220269e+02 - -1.184865613570652e+02 -1.185545533602401e+02 -1.186225738978121e+02 -1.186906230193939e+02 -1.187587006806511e+02 - -1.188268068350639e+02 -1.188949415213182e+02 -1.189631047837780e+02 -1.190312966043158e+02 -1.190995169567162e+02 - -1.191677658449030e+02 -1.192360432941998e+02 -1.193043493853908e+02 -1.193726841751893e+02 -1.194410475685670e+02 - -1.195094394794060e+02 -1.195778600089746e+02 -1.196463092648311e+02 -1.197147871923100e+02 -1.197832937276135e+02 - -1.198518289326376e+02 -1.199203928745778e+02 -1.199889855161324e+02 -1.200576068078755e+02 -1.201262567563797e+02 - -1.201949353935382e+02 -1.202636427965272e+02 -1.203323790196208e+02 -1.204011439802014e+02 -1.204699376081542e+02 - -1.205387600202684e+02 -1.206076113241917e+02 -1.206764914041025e+02 -1.207454001431820e+02 -1.208143376440890e+02 - -1.208833040296615e+02 -1.209522992839752e+02 -1.210213233653680e+02 -1.210903762679893e+02 -1.211594580022500e+02 - -1.212285686077949e+02 -1.212977081155049e+02 -1.213668764919694e+02 -1.214360737100132e+02 -1.215052998316942e+02 - -1.215745549154533e+02 -1.216438389160294e+02 -1.217131517838345e+02 -1.217824935556734e+02 -1.218518642837182e+02 - -1.219212639952166e+02 -1.219906927020717e+02 -1.220601503797327e+02 -1.221296370078328e+02 -1.221991526191948e+02 - -1.222686972509000e+02 -1.223382709038720e+02 -1.224078735702578e+02 -1.224775052432531e+02 -1.225471659287695e+02 - -1.226168556825330e+02 -1.226865745477072e+02 -1.227563224673916e+02 -1.228260993926653e+02 -1.228959054065903e+02 - -1.229657405910973e+02 -1.230356048916106e+02 -1.231054982500379e+02 -1.231754207307278e+02 -1.232453724007864e+02 - -1.233153532159101e+02 -1.233853631242201e+02 -1.234554021549459e+02 -1.235254703591199e+02 -1.235955677938801e+02 - -1.236656944915691e+02 -1.237358503792446e+02 -1.238060353939673e+02 -1.238762496180971e+02 -1.239464931371069e+02 - -1.240167659036240e+02 -1.240870678602586e+02 -1.241573990423949e+02 -1.242277595040581e+02 -1.242981492810638e+02 - -1.243685683872523e+02 -1.244390167667736e+02 -1.245094943779347e+02 -1.245800013053605e+02 -1.246505376299316e+02 - -1.247211032912332e+02 -1.247916982296097e+02 -1.248623225297382e+02 -1.249329762770640e+02 -1.250036594157741e+02 - -1.250743718736609e+02 -1.251451136541969e+02 -1.252158847947410e+02 -1.252866853925174e+02 -1.253575155184925e+02 - -1.254283750787370e+02 -1.254992639825418e+02 -1.255701823169751e+02 -1.256411301759969e+02 -1.257121075033584e+02 - -1.257831142369608e+02 -1.258541504415142e+02 -1.259252161922362e+02 -1.259963114795672e+02 -1.260674362758903e+02 - -1.261385905661348e+02 -1.262097743537985e+02 -1.262809877041053e+02 -1.263522306696565e+02 -1.264235031908370e+02 - -1.264948052148923e+02 -1.265661368287249e+02 -1.266374981169807e+02 -1.267088890156212e+02 -1.267803094502130e+02 - -1.268517594534262e+02 -1.269232390831601e+02 -1.269947483911282e+02 -1.270662874069690e+02 -1.271378560782095e+02 - -1.272094543594662e+02 -1.272810823158284e+02 -1.273527400123002e+02 -1.274244274030747e+02 -1.274961444355319e+02 - -1.275678911406106e+02 -1.276396675704015e+02 -1.277114737780431e+02 -1.277833097950603e+02 -1.278551755654751e+02 - -1.279270710424012e+02 -1.279989963028243e+02 -1.280709514152536e+02 -1.281429362904217e+02 -1.282149508513121e+02 - -1.282869952276877e+02 -1.283590695463467e+02 -1.284311737154509e+02 -1.285033076302067e+02 -1.285754713526335e+02 - -1.286476649682441e+02 -1.287198884897120e+02 -1.287921419051992e+02 -1.288644251776617e+02 -1.289367382880697e+02 - -1.290090813146567e+02 -1.290814543319980e+02 -1.291538573027727e+02 -1.292262901737162e+02 -1.292987529396840e+02 - -1.293712456190937e+02 -1.294437682764910e+02 -1.295163209673579e+02 -1.295889036647941e+02 -1.296615163353197e+02 - -1.297341590015173e+02 -1.298068316903185e+02 -1.298795343899871e+02 -1.299522670904091e+02 -1.300250298266263e+02 - -1.300978226354063e+02 -1.301706455152632e+02 -1.302434984561237e+02 -1.303163814518184e+02 -1.303892945098205e+02 - -1.304622376882688e+02 -1.305352110313897e+02 -1.306082144770936e+02 -1.306812479731976e+02 -1.307543116134598e+02 - -1.308274054850011e+02 -1.309005295024521e+02 -1.309736835845235e+02 -1.310468678387340e+02 -1.311200823754845e+02 - -1.311933271278942e+02 -1.312666020134129e+02 -1.313399070640916e+02 -1.314132423401880e+02 -1.314866079001839e+02 - -1.315600037753056e+02 -1.316334298895329e+02 -1.317068861777292e+02 -1.317803727255405e+02 -1.318538896215189e+02 - -1.319274368150577e+02 -1.320010142454794e+02 -1.320746219509807e+02 -1.321482599879661e+02 -1.322219283867981e+02 - -1.322956271602158e+02 -1.323693562765047e+02 -1.324431157110688e+02 -1.325169055122373e+02 -1.325907257242561e+02 - -1.326645763021127e+02 -1.327384572099461e+02 -1.328123685377604e+02 -1.328863103680995e+02 -1.329602826278048e+02 - -1.330342852393407e+02 -1.331083182633673e+02 -1.331823817787306e+02 -1.332564757988239e+02 -1.333306003141445e+02 - -1.334047552890586e+02 -1.334789407033280e+02 -1.335531566244299e+02 -1.336274031130300e+02 -1.337016801148342e+02 - -1.337759875748336e+02 -1.338503255501201e+02 -1.339246941130952e+02 -1.339990932852997e+02 -1.340735230609586e+02 - -1.341479833758948e+02 -1.342224741891434e+02 -1.342969956109889e+02 -1.343715477431406e+02 -1.344461305017541e+02 - -1.345207438015131e+02 -1.345953877367626e+02 -1.346700624038786e+02 -1.347447677276981e+02 -1.348195036263442e+02 - -1.348942701626209e+02 -1.349690674171868e+02 -1.350438953974369e+02 -1.351187540921076e+02 -1.351936434885642e+02 - -1.352685635848754e+02 -1.353435144232942e+02 -1.354184960414874e+02 -1.354935084145923e+02 -1.355685515128237e+02 - -1.356436253492364e+02 -1.357187299541088e+02 -1.357938653837732e+02 -1.358690316768758e+02 -1.359442287752637e+02 - -1.360194566279880e+02 -1.360947153097144e+02 -1.361700048911278e+02 -1.362453253013760e+02 -1.363206764782614e+02 - -1.363960585357406e+02 -1.364714715821978e+02 -1.365469155275740e+02 -1.366223902703805e+02 -1.366978958618521e+02 - -1.367734323848502e+02 -1.368489998960226e+02 -1.369245984210613e+02 -1.370002278880492e+02 -1.370758882331093e+02 - -1.371515795221331e+02 -1.372273018270698e+02 -1.373030551143317e+02 -1.373788393429953e+02 -1.374546545483291e+02 - -1.375305007816427e+02 -1.376063780822184e+02 -1.376822864668756e+02 -1.377582258746108e+02 -1.378341962588316e+02 - -1.379101977084133e+02 -1.379862303093919e+02 -1.380622940009784e+02 -1.381383887192652e+02 -1.382145145346940e+02 - -1.382906715205862e+02 -1.383668596274320e+02 -1.384430787972570e+02 -1.385193290610606e+02 -1.385956104734610e+02 - -1.386719230945808e+02 -1.387482669582360e+02 -1.388246419875133e+02 -1.389010481148665e+02 -1.389774854209464e+02 - -1.390539539951986e+02 -1.391304538140523e+02 -1.392069848343242e+02 -1.392835470473980e+02 -1.393601404693719e+02 - -1.394367651806349e+02 -1.395134212422815e+02 -1.395901085739362e+02 -1.396668271002043e+02 -1.397435769070855e+02 - -1.398203580874878e+02 -1.398971706005607e+02 -1.399740143977720e+02 -1.400508895336226e+02 -1.401277960614956e+02 - -1.402047339272718e+02 -1.402817030764181e+02 -1.403587035602461e+02 -1.404357354502877e+02 -1.405127987931110e+02 - -1.405898936026113e+02 -1.406670197869564e+02 -1.407441772794584e+02 -1.408213662197336e+02 -1.408985867371466e+02 - -1.409758387137537e+02 -1.410531220224061e+02 -1.411304367464428e+02 -1.412077829961380e+02 -1.412851607790223e+02 - -1.413625700771281e+02 -1.414400108732392e+02 -1.415174831646232e+02 -1.415949870057306e+02 -1.416725224388105e+02 - -1.417500894001226e+02 -1.418276878351835e+02 -1.419053178325258e+02 -1.419829794809226e+02 -1.420606727270934e+02 - -1.421383975074728e+02 -1.422161538594082e+02 -1.422939418408956e+02 -1.423717614916131e+02 -1.424496128273150e+02 - -1.425274957863782e+02 -1.426054103213069e+02 -1.426833565184944e+02 -1.427613344645970e+02 -1.428393441134355e+02 - -1.429173854035838e+02 -1.429954583454632e+02 -1.430735629773860e+02 -1.431516993773805e+02 -1.432298676007922e+02 - -1.433080675725197e+02 -1.433862992191345e+02 -1.434645626043482e+02 -1.435428578032951e+02 -1.436211847996638e+02 - -1.436995435672099e+02 -1.437779341314036e+02 -1.438563565210897e+02 -1.439348107268960e+02 -1.440132967358192e+02 - -1.440918145585468e+02 -1.441703642214681e+02 -1.442489457900865e+02 -1.443275593072134e+02 -1.444062046857781e+02 - -1.444848818522611e+02 -1.445635909172288e+02 -1.446423319927847e+02 -1.447211050130976e+02 -1.447999098925679e+02 - -1.448787466444589e+02 -1.449576153140356e+02 -1.450365159757091e+02 -1.451154486823820e+02 -1.451944133717774e+02 - -1.452734099863848e+02 -1.453524386029381e+02 -1.454314992962476e+02 -1.455105919991844e+02 -1.455897166474813e+02 - -1.456688733302556e+02 -1.457480621396693e+02 -1.458272830266799e+02 -1.459065359271370e+02 -1.459858208576615e+02 - -1.460651378591126e+02 -1.461444869885314e+02 -1.462238682831965e+02 -1.463032816851561e+02 -1.463827271416525e+02 - -1.464622047159361e+02 -1.465417144784923e+02 -1.466212564127396e+02 -1.467008304928943e+02 -1.467804367434297e+02 - -1.468600751934606e+02 -1.469397458404120e+02 -1.470194486722770e+02 -1.470991836710121e+02 -1.471789508433917e+02 - -1.472587503015001e+02 -1.473385821300154e+02 -1.474184461986837e+02 -1.474983423870870e+02 -1.475782708290815e+02 - -1.476582316674545e+02 -1.477382248264445e+02 -1.478182502096616e+02 -1.478983078567520e+02 -1.479783978350921e+02 - -1.480585201869469e+02 -1.481386749269736e+02 -1.482188619845118e+02 -1.482990813088785e+02 -1.483793330146163e+02 - -1.484596172099193e+02 -1.485399338123612e+02 -1.486202827323657e+02 -1.487006640423751e+02 -1.487810778248495e+02 - -1.488615240403001e+02 -1.489420026412511e+02 -1.490225136702235e+02 -1.491030571832025e+02 -1.491836332000337e+02 - -1.492642417202360e+02 -1.493448826981615e+02 -1.494255561054278e+02 -1.495062620278810e+02 -1.495870005487025e+02 - -1.496677716261896e+02 -1.497485751994623e+02 -1.498294112558179e+02 -1.499102798158717e+02 -1.499911809853331e+02 - -1.500721148441144e+02 -1.501530812838450e+02 -1.502340802026938e+02 -1.503151117132690e+02 -1.503961759364751e+02 - -1.504772728119622e+02 -1.505584022645880e+02 -1.506395643412949e+02 -1.507207591024668e+02 -1.508019865401696e+02 - -1.508832466324269e+02 -1.509645393694111e+02 -1.510458647628492e+02 -1.511272228985386e+02 -1.512086138412552e+02 - -1.512900374976176e+02 -1.513714937855876e+02 -1.514529828266537e+02 -1.515345047392310e+02 -1.516160594259147e+02 - -1.516976467776822e+02 -1.517792668548592e+02 -1.518609197460578e+02 -1.519426054836894e+02 -1.520243240750476e+02 - -1.521060754831553e+02 -1.521878596792744e+02 -1.522696767118938e+02 -1.523515266305248e+02 -1.524334094115421e+02 - -1.525153250314230e+02 -1.525972735401888e+02 -1.526792549864990e+02 -1.527612693400200e+02 -1.528433165631959e+02 - -1.529253966685747e+02 -1.530075096900777e+02 -1.530896556970147e+02 -1.531718347321965e+02 -1.532540466970516e+02 - -1.533362915133235e+02 -1.534185693253995e+02 -1.535008802693854e+02 -1.535832242256197e+02 -1.536656010621809e+02 - -1.537480108538752e+02 -1.538304537113657e+02 -1.539129296820158e+02 -1.539954387715506e+02 -1.540779808824423e+02 - -1.541605559457948e+02 -1.542431641104905e+02 -1.543258055115917e+02 -1.544084800111010e+02 -1.544911874726015e+02 - -1.545739280390565e+02 -1.546567018609975e+02 -1.547395088398511e+02 -1.548223488576198e+02 -1.549052219677139e+02 - -1.549881282595875e+02 -1.550710677954614e+02 -1.551540406026988e+02 -1.552370465964632e+02 -1.553200857053796e+02 - -1.554031580241178e+02 -1.554862636500489e+02 -1.555694025253043e+02 -1.556525745801794e+02 -1.557357798528659e+02 - -1.558190184045264e+02 -1.559022902803117e+02 -1.559855954979769e+02 -1.560689339817060e+02 -1.561523056771075e+02 - -1.562357107090587e+02 -1.563191491909100e+02 -1.564026210106382e+02 -1.564861260558312e+02 -1.565696644378976e+02 - -1.566532362813955e+02 -1.567368415396626e+02 -1.568204801387562e+02 -1.569041520668287e+02 -1.569878573487146e+02 - -1.570715960938785e+02 -1.571553683828581e+02 -1.572391740958522e+02 -1.573230131265335e+02 -1.574068856228085e+02 - -1.574907917295132e+02 -1.575747313249683e+02 -1.576587042737324e+02 -1.577427106518309e+02 -1.578267505715277e+02 - -1.579108240785769e+02 -1.579949311783184e+02 -1.580790717809458e+02 -1.581632458187553e+02 -1.582474534075981e+02 - -1.583316946623155e+02 -1.584159695101536e+02 -1.585002778727259e+02 -1.585846198367120e+02 -1.586689954874005e+02 - -1.587534047394542e+02 -1.588378475061590e+02 -1.589223238659185e+02 -1.590068339195322e+02 -1.590913776922658e+02 - -1.591759551748261e+02 -1.592605662952183e+02 -1.593452110061037e+02 -1.594298894214712e+02 -1.595146016508511e+02 - -1.595993476246111e+02 -1.596841272537272e+02 -1.597689405507699e+02 -1.598537875632453e+02 -1.599386683768111e+02 - -1.600235830481832e+02 -1.601085314801616e+02 -1.601935135899282e+02 -1.602785295061083e+02 -1.603635793509372e+02 - -1.604486630096468e+02 -1.605337803660765e+02 -1.606189315354990e+02 -1.607041166452176e+02 -1.607893356392255e+02 - -1.608745884397152e+02 -1.609598750649831e+02 -1.610451955612870e+02 -1.611305499906227e+02 -1.612159383917271e+02 - -1.613013606945609e+02 -1.613868168398436e+02 -1.614723069201057e+02 -1.615578310304217e+02 -1.616433891242326e+02 - -1.617289811339727e+02 -1.618146070496823e+02 -1.619002668955830e+02 -1.619859607750138e+02 -1.620716887676450e+02 - -1.621574507793529e+02 -1.622432467219253e+02 -1.623290767045893e+02 -1.624149408340039e+02 -1.625008390091176e+02 - -1.625867711331680e+02 -1.626727373342588e+02 -1.627587377384768e+02 -1.628447722389764e+02 -1.629308407201184e+02 - -1.630169432640222e+02 -1.631030799800713e+02 -1.631892508889492e+02 -1.632754559784962e+02 -1.633616951938801e+02 - -1.634479685044198e+02 -1.635342760187116e+02 -1.636206178291233e+02 -1.637069938238325e+02 -1.637934038942077e+02 - -1.638798481485683e+02 -1.639663267112721e+02 -1.640528395538795e+02 -1.641393866180353e+02 -1.642259678785196e+02 - -1.643125833411851e+02 -1.643992331030405e+02 -1.644859172470150e+02 -1.645726357085657e+02 -1.646593884180614e+02 - -1.647461754329907e+02 -1.648329968179324e+02 -1.649198525387065e+02 -1.650067425502886e+02 -1.650936668630355e+02 - -1.651806255134507e+02 -1.652676185872448e+02 -1.653546461444497e+02 -1.654417080931755e+02 -1.655288043499995e+02 - -1.656159350172886e+02 -1.657031001994683e+02 -1.657902998234105e+02 -1.658775338117127e+02 -1.659648022474274e+02 - -1.660521052162188e+02 -1.661394426537408e+02 -1.662268144894047e+02 -1.663142207776613e+02 -1.664016615975541e+02 - -1.664891370014617e+02 -1.665766470055737e+02 -1.666641915079906e+02 -1.667517704334961e+02 -1.668393839316945e+02 - -1.669270321420214e+02 -1.670147149384157e+02 -1.671024321837371e+02 -1.671901839620226e+02 -1.672779703889409e+02 - -1.673657914855093e+02 -1.674536472385115e+02 -1.675415375924466e+02 -1.676294625158688e+02 -1.677174221158364e+02 - -1.678054164853866e+02 -1.678934455229663e+02 -1.679815091339810e+02 -1.680696074462591e+02 -1.681577405863894e+02 - -1.682459084535819e+02 -1.683341109324726e+02 -1.684223480767776e+02 -1.685106199767677e+02 -1.685989266998525e+02 - -1.686872682758898e+02 -1.687756446073924e+02 -1.688640556163956e+02 -1.689525014303699e+02 -1.690409821718389e+02 - -1.691294977381033e+02 -1.692180480141565e+02 -1.693066330609834e+02 -1.693952529706734e+02 -1.694839077837423e+02 - -1.695725975104607e+02 -1.696613220916933e+02 -1.697500814887782e+02 -1.698388758143547e+02 -1.699277051650943e+02 - -1.700165694224996e+02 -1.701054684738952e+02 -1.701944024450633e+02 -1.702833714670375e+02 -1.703723754534025e+02 - -1.704614143033400e+02 -1.705504880758685e+02 -1.706395968591658e+02 -1.707287406982126e+02 -1.708179196055015e+02 - -1.709071335067704e+02 -1.709963823462651e+02 -1.710856662290167e+02 -1.711749852543236e+02 -1.712643393377691e+02 - -1.713537283867857e+02 -1.714431524599174e+02 -1.715326116432521e+02 -1.716221059819435e+02 -1.717116354891412e+02 - -1.718012000909151e+02 -1.718907997312464e+02 -1.719804345128430e+02 -1.720701045346718e+02 -1.721598097220100e+02 - -1.722495499971131e+02 -1.723393254438396e+02 -1.724291361494486e+02 -1.725189820532021e+02 -1.726088630837053e+02 - -1.726987792749333e+02 -1.727887306891670e+02 -1.728787173965418e+02 -1.729687394350333e+02 -1.730587967061244e+02 - -1.731488891286860e+02 -1.732390168276344e+02 -1.733291799265234e+02 -1.734193783374131e+02 -1.735096119603506e+02 - -1.735998808588243e+02 -1.736901851222248e+02 -1.737805247801124e+02 -1.738708998286339e+02 -1.739613101901119e+02 - -1.740517558114003e+02 -1.741422368113012e+02 -1.742327533050288e+02 -1.743233052214973e+02 -1.744138924793676e+02 - -1.745045151425876e+02 -1.745951732822802e+02 -1.746858668529805e+02 -1.747765958032038e+02 -1.748673601739718e+02 - -1.749581600245709e+02 -1.750489953948396e+02 -1.751398663036498e+02 -1.752307727054541e+02 -1.753217145616989e+02 - -1.754126919262226e+02 -1.755037048571098e+02 -1.755947533370347e+02 -1.756858373371216e+02 -1.757769568577038e+02 - -1.758681119173357e+02 -1.759593025782490e+02 -1.760505288876894e+02 -1.761417907892832e+02 -1.762330882344909e+02 - -1.763244213097290e+02 -1.764157900964081e+02 -1.765071945209611e+02 -1.765986345094344e+02 -1.766901101413071e+02 - -1.767816215026837e+02 -1.768731685527375e+02 -1.769647512369523e+02 -1.770563695729838e+02 -1.771480236027573e+02 - -1.772397133931058e+02 -1.773314389867134e+02 -1.774232003047593e+02 -1.775149972814722e+02 -1.776068300247813e+02 - -1.776986986385443e+02 -1.777906030366335e+02 -1.778825431235826e+02 -1.779745189565556e+02 -1.780665306226855e+02 - -1.781585781763529e+02 -1.782506616334199e+02 -1.783427808884287e+02 -1.784349358629673e+02 -1.785271267081259e+02 - -1.786193535668995e+02 -1.787116163204012e+02 -1.788039148425030e+02 -1.788962492399977e+02 -1.789886196318098e+02 - -1.790810259524725e+02 -1.791734681201561e+02 -1.792659461719689e+02 -1.793584601742520e+02 -1.794510101913400e+02 - -1.795435962594126e+02 -1.796362183040394e+02 -1.797288762617232e+02 -1.798215702233099e+02 -1.799143002757676e+02 - -1.800070663362093e+02 -1.800998683262517e+02 -1.801927063553792e+02 -1.802855805315161e+02 -1.803784907684791e+02 - -1.804714369692463e+02 -1.805644191875481e+02 -1.806574375103104e+02 -1.807504920064915e+02 -1.808435827084130e+02 - -1.809367095198169e+02 -1.810298723599504e+02 -1.811230713386593e+02 -1.812163065647390e+02 -1.813095779521854e+02 - -1.814028854036152e+02 -1.814962289709267e+02 -1.815896087407728e+02 -1.816830247895420e+02 -1.817764771515762e+02 - -1.818699657032943e+02 -1.819634903439186e+02 -1.820570512218083e+02 -1.821506484855823e+02 -1.822442820357622e+02 - -1.823379517614509e+02 -1.824316577541746e+02 -1.825254001134493e+02 -1.826191787683301e+02 -1.827129936397535e+02 - -1.828068447866412e+02 -1.829007322929544e+02 -1.829946562048259e+02 -1.830886165373395e+02 -1.831826132192083e+02 - -1.832766461922778e+02 -1.833707155372913e+02 -1.834648213380734e+02 -1.835589635518759e+02 -1.836531421229175e+02 - -1.837473570698571e+02 -1.838416084358642e+02 -1.839358962877114e+02 -1.840302206684350e+02 -1.841245815025237e+02 - -1.842189787235884e+02 -1.843134124202761e+02 -1.844078826806361e+02 -1.845023894352911e+02 -1.845969326205561e+02 - -1.846915123529413e+02 -1.847861287393624e+02 -1.848807816681596e+02 -1.849754710227848e+02 -1.850701968857076e+02 - -1.851649593688754e+02 -1.852597585031284e+02 -1.853545942804591e+02 -1.854494666185751e+02 -1.855443754618861e+02 - -1.856393209358935e+02 -1.857343031604275e+02 -1.858293220515437e+02 -1.859243775087027e+02 -1.860194695687597e+02 - -1.861145983033516e+02 -1.862097637858479e+02 -1.863049660540466e+02 -1.864002050017272e+02 -1.864954805431744e+02 - -1.865907928187129e+02 -1.866861419596013e+02 -1.867815278347963e+02 -1.868769503164351e+02 -1.869724095516791e+02 - -1.870679056966096e+02 -1.871634386679672e+02 -1.872590083560524e+02 -1.873546147847470e+02 -1.874502580123688e+02 - -1.875459381013990e+02 -1.876416550903780e+02 -1.877374089179168e+02 -1.878331995340542e+02 -1.879290270344656e+02 - -1.880248915055781e+02 -1.881207928511883e+02 -1.882167309755823e+02 -1.883127059676341e+02 -1.884087179360091e+02 - -1.885047668839511e+02 -1.886008527852007e+02 -1.886969756009047e+02 -1.887931353152428e+02 -1.888893320171184e+02 - -1.889855657829229e+02 -1.890818365342772e+02 -1.891781441947396e+02 -1.892744888503877e+02 -1.893708705921393e+02 - -1.894672893677523e+02 -1.895637451161106e+02 -1.896602378837592e+02 -1.897567677352667e+02 -1.898533346996371e+02 - -1.899499387807097e+02 -1.900465799172331e+02 -1.901432580674921e+02 -1.902399733330072e+02 -1.903367258125687e+02 - -1.904335154508099e+02 -1.905303421711713e+02 -1.906272059664800e+02 -1.907241068668330e+02 -1.908210449820209e+02 - -1.909180203947948e+02 -1.910150330000556e+02 -1.911120827002041e+02 -1.912091696154924e+02 -1.913062938635582e+02 - -1.914034553337337e+02 -1.915006539182285e+02 -1.915978897490666e+02 -1.916951629619544e+02 -1.917924734675151e+02 - -1.918898211586861e+02 -1.919872060827436e+02 -1.920846283161583e+02 -1.921820878978424e+02 -1.922795848438701e+02 - -1.923771191165239e+02 -1.924746906889474e+02 -1.925722996315181e+02 -1.926699460069926e+02 -1.927676297504074e+02 - -1.928653507913461e+02 -1.929631091652971e+02 -1.930609049367203e+02 -1.931587381800568e+02 -1.932566089358633e+02 - -1.933545170991796e+02 -1.934524625825225e+02 -1.935504455138344e+02 -1.936484660231147e+02 -1.937465240331655e+02 - -1.938446194535055e+02 -1.939427523477156e+02 -1.940409227930324e+02 -1.941391307672549e+02 -1.942373762317632e+02 - -1.943356591817002e+02 -1.944339796386271e+02 -1.945323376960147e+02 -1.946307334225392e+02 -1.947291667157886e+02 - -1.948276374816129e+02 -1.949261458299981e+02 -1.950246918758956e+02 -1.951232755499811e+02 -1.952218967672293e+02 - -1.953205555640852e+02 -1.954192520091347e+02 -1.955179861780584e+02 -1.956167581109271e+02 -1.957155676982765e+02 - -1.958144148511486e+02 -1.959132997121442e+02 -1.960122224157670e+02 -1.961111828325720e+02 -1.962101808324193e+02 - -1.963092165463342e+02 -1.964082901163006e+02 -1.965074014669716e+02 -1.966065505047830e+02 -1.967057372806285e+02 - -1.968049618689787e+02 -1.969042242941536e+02 -1.970035245570506e+02 -1.971028626150270e+02 -1.972022384428475e+02 - -1.973016521284466e+02 -1.974011037520065e+02 -1.975005932495305e+02 -1.976001205455443e+02 -1.976996856628438e+02 - -1.977992886519515e+02 -1.978989295760255e+02 -1.979986084767589e+02 -1.980983252973461e+02 -1.981980799861144e+02 - -1.982978726104215e+02 -1.983977032396124e+02 -1.984975718319531e+02 -1.985974783450467e+02 -1.986974228449224e+02 - -1.987974053983538e+02 -1.988974259666649e+02 -1.989974844962869e+02 -1.990975809795281e+02 -1.991977154414513e+02 - -1.992978879922588e+02 -1.993980987169082e+02 -1.994983475142392e+02 -1.995986342853965e+02 -1.996989591268633e+02 - -1.997993221398394e+02 -1.998997232490551e+02 -2.000001623829878e+02 -2.001006396615730e+02 -2.002011551976202e+02 - -2.003017088839768e+02 -2.004023006006677e+02 -2.005029303963877e+02 -2.006035983645368e+02 -2.007043046086661e+02 - -2.008050491826254e+02 -2.009058319313084e+02 -2.010066527248718e+02 -2.011075117434797e+02 -2.012084091672780e+02 - -2.013093448663347e+02 -2.014103186854462e+02 -2.015113306783989e+02 -2.016123809487723e+02 -2.017134695903300e+02 - -2.018145966520298e+02 -2.019157620134241e+02 -2.020169655668574e+02 -2.021182074252480e+02 -2.022194877090834e+02 - -2.023208063485549e+02 -2.024221632682046e+02 -2.025235585602719e+02 -2.026249923196053e+02 -2.027264644837921e+02 - -2.028279749730532e+02 -2.029295237954015e+02 -2.030311109992572e+02 -2.031327367068774e+02 -2.032344010007734e+02 - -2.033361037306376e+02 -2.034378447601810e+02 -2.035396242420057e+02 -2.036414423389593e+02 -2.037432989659801e+02 - -2.038451940079258e+02 -2.039471274772405e+02 -2.040490994323931e+02 -2.041511099883670e+02 -2.042531592234435e+02 - -2.043552470125819e+02 -2.044573732391661e+02 -2.045595380236004e+02 -2.046617414909655e+02 -2.047639835480296e+02 - -2.048662640993485e+02 -2.049685832589404e+02 -2.050709411450770e+02 -2.051733376835843e+02 -2.052757727854042e+02 - -2.053782464943871e+02 -2.054807588829732e+02 -2.055833100050551e+02 -2.056858998827895e+02 -2.057885284299405e+02 - -2.058911955783421e+02 -2.059939014405005e+02 -2.060966461276917e+02 -2.061994295656012e+02 -2.063022516666823e+02 - -2.064051124760526e+02 -2.065080120661920e+02 -2.066109504863692e+02 -2.067139277576765e+02 -2.068169438117121e+02 - -2.069199985973326e+02 -2.070230922219201e+02 -2.071262247789163e+02 -2.072293961474789e+02 -2.073326062201854e+02 - -2.074358551575783e+02 -2.075391431180403e+02 -2.076424699833530e+02 -2.077458356179337e+02 -2.078492400933438e+02 - -2.079526835133251e+02 -2.080561659031989e+02 -2.081596872578975e+02 -2.082632475292167e+02 -2.083668466898186e+02 - -2.084704848389632e+02 -2.085741620623951e+02 -2.086778782651976e+02 -2.087816333480700e+02 -2.088854273748348e+02 - -2.089892604383302e+02 -2.090931325843364e+02 -2.091970438282278e+02 -2.093009941108145e+02 -2.094049833841979e+02 - -2.095090117202067e+02 -2.096130791905716e+02 -2.097171857469022e+02 -2.098213313423286e+02 -2.099255160561849e+02 - -2.100297399619016e+02 -2.101340029830976e+02 -2.102383050403986e+02 -2.103426461922712e+02 -2.104470265253758e+02 - -2.105514461013085e+02 -2.106559049410852e+02 -2.107604029284658e+02 -2.108649399745926e+02 -2.109695162373935e+02 - -2.110741318706494e+02 -2.111787867647689e+02 -2.112834807867834e+02 -2.113882139735869e+02 -2.114929864074473e+02 - -2.115977981822681e+02 -2.117026493533424e+02 -2.118075398098887e+02 -2.119124694556393e+02 -2.120174384184601e+02 - -2.121224468216736e+02 -2.122274945462991e+02 -2.123325814769304e+02 -2.124377077547605e+02 -2.125428735238108e+02 - -2.126480786828185e+02 -2.127533231155498e+02 -2.128586068911697e+02 -2.129639301084739e+02 -2.130692927993837e+02 - -2.131746949622090e+02 -2.132801365276879e+02 -2.133856174488912e+02 -2.134911378357916e+02 -2.135966977951921e+02 - -2.137022972643151e+02 -2.138079361581469e+02 -2.139136144723085e+02 -2.140193322420075e+02 -2.141250895801643e+02 - -2.142308865713384e+02 -2.143367231089345e+02 -2.144425990899214e+02 -2.145485146166798e+02 -2.146544697958461e+02 - -2.147604645456698e+02 -2.148664987887291e+02 -2.149725726533044e+02 -2.150786862586875e+02 -2.151848394825147e+02 - -2.152910321964648e+02 -2.153972644900385e+02 -2.155035364828845e+02 -2.156098481974242e+02 -2.157161996246267e+02 - -2.158225907268823e+02 -2.159290214790141e+02 -2.160354919341570e+02 -2.161420021424622e+02 -2.162485520638355e+02 - -2.163551416576007e+02 -2.164617709709994e+02 -2.165684400663080e+02 -2.166751489780245e+02 -2.167818977145845e+02 - -2.168886862079515e+02 -2.169955144082682e+02 -2.171023824148656e+02 -2.172092903208214e+02 -2.173162380450137e+02 - -2.174232255130703e+02 -2.175302528518165e+02 -2.176373201799158e+02 -2.177444273821862e+02 -2.178515743317612e+02 - -2.179587610888773e+02 -2.180659877532527e+02 -2.181732543954297e+02 -2.182805610486399e+02 -2.183879076260487e+02 - -2.184952940541088e+02 -2.186027204324891e+02 -2.187101868605661e+02 -2.188176932633304e+02 -2.189252395535715e+02 - -2.190328257696591e+02 -2.191404519835346e+02 -2.192481182758485e+02 -2.193558246894080e+02 -2.194635711069396e+02 - -2.195713574321837e+02 -2.196791838130171e+02 -2.197870503917547e+02 -2.198949570443306e+02 -2.200029036478261e+02 - -2.201108903502962e+02 -2.202189173008489e+02 -2.203269843818326e+02 -2.204350914576510e+02 -2.205432385876858e+02 - -2.206514258738742e+02 -2.207596533933995e+02 -2.208679211808499e+02 -2.209762291251867e+02 -2.210845771334710e+02 - -2.211929653307878e+02 -2.213013938407175e+02 -2.214098625627986e+02 -2.215183713969045e+02 -2.216269204682873e+02 - -2.217355099024502e+02 -2.218441396005216e+02 -2.219528094497077e+02 -2.220615195058979e+02 -2.221702698646027e+02 - -2.222790606111339e+02 -2.223878917838657e+02 -2.224967632436199e+02 -2.226056748766821e+02 -2.227146268487432e+02 - -2.228236193240230e+02 -2.229326521814535e+02 -2.230417252803019e+02 -2.231508386864637e+02 -2.232599925050409e+02 - -2.233691867913336e+02 -2.234784215614204e+02 -2.235876967242961e+02 -2.236970122086523e+02 -2.238063681290529e+02 - -2.239157646015454e+02 -2.240252015622403e+02 -2.241346789340316e+02 -2.242441967668838e+02 -2.243537551247286e+02 - -2.244633540002964e+02 -2.245729933685804e+02 -2.246826732048266e+02 -2.247923935126906e+02 -2.249021544092157e+02 - -2.250119559889259e+02 -2.251217981428817e+02 -2.252316807628839e+02 -2.253416039471573e+02 -2.254515678046834e+02 - -2.255615722810486e+02 -2.256716173029860e+02 -2.257817028852108e+02 -2.258918290784169e+02 -2.260019959892315e+02 - -2.261122036854213e+02 -2.262224520233766e+02 -2.263327408802082e+02 -2.264430704272837e+02 -2.265534408332552e+02 - -2.266638519616550e+02 -2.267743036660735e+02 -2.268847960654481e+02 -2.269953292962885e+02 -2.271059033000460e+02 - -2.272165179952407e+02 -2.273271734037251e+02 -2.274378695801794e+02 -2.275486066072624e+02 -2.276593845334010e+02 - -2.277702032421150e+02 -2.278810626343348e+02 -2.279919628455381e+02 -2.281029040172474e+02 -2.282138860806176e+02 - -2.283249089376286e+02 -2.284359725839265e+02 -2.285470770593814e+02 -2.286582224870930e+02 -2.287694089544078e+02 - -2.288806363224278e+02 -2.289919044640359e+02 -2.291032135254801e+02 -2.292145636582007e+02 -2.293259547610424e+02 - -2.294373867252146e+02 -2.295488596639802e+02 -2.296603736910369e+02 -2.297719286997702e+02 -2.298835245768747e+02 - -2.299951614025932e+02 -2.301068392919157e+02 -2.302185583052736e+02 -2.303303184582155e+02 -2.304421196413199e+02 - -2.305539617649887e+02 -2.306658449438852e+02 -2.307777692999738e+02 -2.308897347801602e+02 -2.310017413072381e+02 - -2.311137888826106e+02 -2.312258775426401e+02 -2.313380073849178e+02 -2.314501784790464e+02 -2.315623907214496e+02 - -2.316746440227619e+02 -2.317869385236417e+02 -2.318992743527083e+02 -2.320116513604021e+02 -2.321240694060221e+02 - -2.322365286624793e+02 -2.323490293043759e+02 -2.324615711994689e+02 -2.325741541998047e+02 -2.326867784014305e+02 - -2.327994439322068e+02 -2.329121508032486e+02 -2.330248989898164e+02 -2.331376884404961e+02 -2.332505191272475e+02 - -2.333633911421986e+02 -2.334763045743060e+02 -2.335892593796759e+02 -2.337022554911374e+02 -2.338152928812627e+02 - -2.339283715644559e+02 -2.340414916827054e+02 -2.341546533474617e+02 -2.342678564204413e+02 -2.343811007676228e+02 - -2.344943865217682e+02 -2.346077138212040e+02 -2.347210825597340e+02 -2.348344926295532e+02 -2.349479441609453e+02 - -2.350614372851493e+02 -2.351749718991416e+02 -2.352885478850955e+02 -2.354021653002366e+02 -2.355158242429473e+02 - -2.356295248011875e+02 -2.357432670145577e+02 -2.358570507396431e+02 -2.359708758587992e+02 -2.360847425404777e+02 - -2.361986509531367e+02 -2.363126009791645e+02 -2.364265924750662e+02 -2.365406254798825e+02 -2.366547000814751e+02 - -2.367688163804559e+02 -2.368829744348273e+02 -2.369971741194025e+02 -2.371114153287764e+02 -2.372256982198593e+02 - -2.373400229428812e+02 -2.374543893590377e+02 -2.375687973238754e+02 -2.376832469593778e+02 -2.377977384043928e+02 - -2.379122715987879e+02 -2.380268464580362e+02 -2.381414629990116e+02 -2.382561212769444e+02 -2.383708213990897e+02 - -2.384855634334210e+02 -2.386003472387607e+02 -2.387151726904082e+02 -2.388300399387221e+02 -2.389449491374237e+02 - -2.390599001786255e+02 -2.391748929369255e+02 -2.392899274784697e+02 -2.394050039061344e+02 -2.395201222781684e+02 - -2.396352826134916e+02 -2.397504848183333e+02 -2.398657288168898e+02 -2.399810147179146e+02 -2.400963426277219e+02 - -2.402117124583125e+02 -2.403271241258893e+02 -2.404425777577767e+02 -2.405580734795174e+02 -2.406736111984077e+02 - -2.407891907995794e+02 -2.409048122977546e+02 -2.410204757554728e+02 -2.411361812969551e+02 -2.412519290053517e+02 - -2.413677187378485e+02 -2.414835503650167e+02 -2.415994240369316e+02 -2.417153399089511e+02 -2.418312978780588e+02 - -2.419472978191357e+02 -2.420633397770240e+02 -2.421794238369657e+02 -2.422955500758429e+02 -2.424117185344053e+02 - -2.425279291172331e+02 -2.426441817421263e+02 -2.427604765159341e+02 -2.428768135466203e+02 -2.429931927575585e+02 - -2.431096140668555e+02 -2.432260775561414e+02 -2.433425833145866e+02 -2.434591312980004e+02 -2.435757214497087e+02 - -2.436923537964655e+02 -2.438090283895336e+02 -2.439257452947832e+02 -2.440425045463603e+02 -2.441593060369063e+02 - -2.442761496825792e+02 -2.443930356351059e+02 -2.445099640393889e+02 -2.446269347774639e+02 -2.447439477225602e+02 - -2.448610029755453e+02 -2.449781006544274e+02 -2.450952407181387e+02 -2.452124231032676e+02 -2.453296478161015e+02 - -2.454469148921256e+02 -2.455642244139170e+02 -2.456815764363974e+02 -2.457989708567751e+02 -2.459164075868465e+02 - -2.460338867544718e+02 -2.461514084874868e+02 -2.462689726975661e+02 -2.463865792818051e+02 -2.465042282951439e+02 - -2.466219198202147e+02 -2.467396538925739e+02 -2.468574305187124e+02 -2.469752496359336e+02 -2.470931112029433e+02 - -2.472110153332446e+02 -2.473289621270786e+02 -2.474469514768406e+02 -2.475649832814832e+02 -2.476830576740329e+02 - -2.478011747871381e+02 -2.479193345178656e+02 -2.480375367456449e+02 -2.481557815149384e+02 -2.482740689103307e+02 - -2.483923990118631e+02 -2.485107718618152e+02 -2.486291873559622e+02 -2.487476454083695e+02 -2.488661461527674e+02 - -2.489846897184250e+02 -2.491032759971039e+02 -2.492219048675295e+02 -2.493405763937896e+02 -2.494592906781626e+02 - -2.495780477903268e+02 -2.496968477531592e+02 -2.498156904349301e+02 -2.499345757349562e+02 -2.500535038313474e+02 - -2.501724748933778e+02 -2.502914887761886e+02 -2.504105453266259e+02 -2.505296446724864e+02 -2.506487869586733e+02 - -2.507679721175656e+02 -2.508872000588222e+02 -2.510064708137437e+02 -2.511257844438344e+02 -2.512451410097723e+02 - -2.513645405425343e+02 -2.514839829551193e+02 -2.516034681806881e+02 -2.517229963510282e+02 -2.518425675906852e+02 - -2.519621817966139e+02 -2.520818388494823e+02 -2.522015387924022e+02 -2.523212817096907e+02 -2.524410676880414e+02 - -2.525608967718439e+02 -2.526807688338955e+02 -2.528006837687293e+02 -2.529206417294141e+02 -2.530406428681973e+02 - -2.531606870755077e+02 -2.532807742357317e+02 -2.534009044709059e+02 -2.535210779031462e+02 -2.536412944172385e+02 - -2.537615538911017e+02 -2.538818564125164e+02 -2.540022021028112e+02 -2.541225910076441e+02 -2.542430231270507e+02 - -2.543634983542462e+02 -2.544840166121418e+02 -2.546045780492533e+02 -2.547251828099108e+02 -2.548458307960956e+02 - -2.549665218842466e+02 -2.550872560909815e+02 -2.552080334828205e+02 -2.553288541857174e+02 -2.554497182835964e+02 - -2.555706256328296e+02 -2.556915761009198e+02 -2.558125698274442e+02 -2.559336069560756e+02 -2.560546873747970e+02 - -2.561758109689862e+02 -2.562969778692906e+02 -2.564181882127723e+02 -2.565394419168841e+02 -2.566607388759341e+02 - -2.567820791112567e+02 -2.569034626862424e+02 -2.570248897054782e+02 -2.571463602359873e+02 -2.572678741533426e+02 - -2.573894313462550e+02 -2.575110319474426e+02 -2.576326760938784e+02 -2.577543636955484e+02 -2.578760946446893e+02 - -2.579978689895271e+02 -2.581196868133063e+02 -2.582415481833543e+02 -2.583634531275302e+02 -2.584854015317316e+02 - -2.586073933093156e+02 -2.587294286254374e+02 -2.588515076317444e+02 -2.589736301740566e+02 -2.590957960996737e+02 - -2.592180055676404e+02 -2.593402587446819e+02 -2.594625555165019e+02 -2.595848957490105e+02 -2.597072795099639e+02 - -2.598297069067293e+02 -2.599521780032740e+02 -2.600746928207452e+02 -2.601972512524080e+02 -2.603198532148209e+02 - -2.604424988455961e+02 -2.605651882765137e+02 -2.606879213949725e+02 -2.608106980758151e+02 -2.609335183880386e+02 - -2.610563824372016e+02 -2.611792902809524e+02 -2.613022419394243e+02 -2.614252373306019e+02 -2.615482763897488e+02 - -2.616713592233935e+02 -2.617944859260970e+02 -2.619176563732862e+02 -2.620408704583867e+02 -2.621641283659552e+02 - -2.622874302706103e+02 -2.624107760160917e+02 -2.625341654302978e+02 -2.626575986086381e+02 -2.627810756876698e+02 - -2.629045967010318e+02 -2.630281616427657e+02 -2.631517704514422e+02 -2.632754230861743e+02 -2.633991196437133e+02 - -2.635228602105341e+02 -2.636466446943674e+02 -2.637704729984163e+02 -2.638943451865159e+02 -2.640182613561179e+02 - -2.641422215785110e+02 -2.642662258795402e+02 -2.643902741294400e+02 -2.645143662245587e+02 -2.646385023213122e+02 - -2.647626825745115e+02 -2.648869068724856e+02 -2.650111750962730e+02 -2.651354873642347e+02 -2.652598438005879e+02 - -2.653842443156531e+02 -2.655086888035231e+02 -2.656331773072787e+02 -2.657577099091213e+02 -2.658822866987512e+02 - -2.660069077230897e+02 -2.661315728504449e+02 -2.662562819710931e+02 -2.663810352417937e+02 -2.665058328192844e+02 - -2.666306745937331e+02 -2.667555604333347e+02 -2.668804903849584e+02 -2.670054645383429e+02 -2.671304829760297e+02 - -2.672555457413816e+02 -2.673806527282453e+02 -2.675058038464400e+02 -2.676309992191929e+02 -2.677562389652032e+02 - -2.678815229716541e+02 -2.680068511277727e+02 -2.681322235624782e+02 -2.682576404136338e+02 -2.683831016151858e+02 - -2.685086070756685e+02 -2.686341568058856e+02 -2.687597508516357e+02 -2.688853892964312e+02 -2.690110721950252e+02 - -2.691367994494158e+02 -2.692625709807897e+02 -2.693883869398372e+02 -2.695142474621058e+02 -2.696401523930688e+02 - -2.697661015819900e+02 -2.698920951833660e+02 -2.700181333642693e+02 -2.701442160368443e+02 -2.702703430840482e+02 - -2.703965145270174e+02 -2.705227304331903e+02 -2.706489909170355e+02 -2.707752960482972e+02 -2.709016456707917e+02 - -2.710280396495872e+02 -2.711544781606855e+02 -2.712809613853167e+02 -2.714074892146895e+02 -2.715340615102555e+02 - -2.716606783044584e+02 -2.717873396730564e+02 -2.719140456940721e+02 -2.720407964136753e+02 -2.721675917483545e+02 - -2.722944316245073e+02 -2.724213161378437e+02 -2.725482453844213e+02 -2.726752192923742e+02 -2.728022377909456e+02 - -2.729293009817382e+02 -2.730564089616648e+02 -2.731835616365174e+02 -2.733107589046467e+02 -2.734380008257563e+02 - -2.735652874983575e+02 -2.736926190148396e+02 -2.738199954194386e+02 -2.739474165698984e+02 -2.740748823405867e+02 - -2.742023928588563e+02 -2.743299482670098e+02 -2.744575485141638e+02 -2.745851935229188e+02 -2.747128833029967e+02 - -2.748406178969678e+02 -2.749683973916734e+02 -2.750962218440648e+02 -2.752240911472609e+02 -2.753520052060601e+02 - -2.754799641358123e+02 -2.756079680559450e+02 -2.757360168916492e+02 -2.758641105650285e+02 -2.759922491800748e+02 - -2.761204328366440e+02 -2.762486614361617e+02 -2.763769348745897e+02 -2.765052532244616e+02 -2.766336165883748e+02 - -2.767620250126050e+02 -2.768904785041199e+02 -2.770189769689730e+02 -2.771475203398639e+02 -2.772761087569904e+02 - -2.774047423518460e+02 -2.775334210136085e+02 -2.776621446145333e+02 -2.777909132015001e+02 -2.779197268642361e+02 - -2.780485856892346e+02 -2.781774897218528e+02 -2.783064388461343e+02 -2.784354329669438e+02 -2.785644722337429e+02 - -2.786935567875348e+02 -2.788226864908934e+02 -2.789518612068105e+02 -2.790810810783757e+02 -2.792103462555617e+02 - -2.793396566357773e+02 -2.794690121008859e+02 -2.795984127231330e+02 -2.797278586088501e+02 -2.798573498103315e+02 - -2.799868863353985e+02 -2.801164680680156e+02 -2.802460949220819e+02 -2.803757670550874e+02 -2.805054846206144e+02 - -2.806352475130235e+02 -2.807650555997772e+02 -2.808949088999684e+02 -2.810248074853591e+02 -2.811547514867556e+02 - -2.812847409903677e+02 -2.814147758449749e+02 -2.815448559108459e+02 -2.816749813316353e+02 -2.818051522586102e+02 - -2.819353685901064e+02 -2.820656302199222e+02 -2.821959372766401e+02 -2.823262898869716e+02 -2.824566879353637e+02 - -2.825871312931868e+02 -2.827176200217700e+02 -2.828481542276227e+02 -2.829787340080183e+02 -2.831093594072626e+02 - -2.832400302670260e+02 -2.833707464559445e+02 -2.835015081531469e+02 -2.836323155420096e+02 -2.837631685124079e+02 - -2.838940669226656e+02 -2.840250107984012e+02 -2.841560002155769e+02 -2.842870352842360e+02 -2.844181160721325e+02 - -2.845492424437817e+02 -2.846804142799303e+02 -2.848116317294889e+02 -2.849428949404899e+02 -2.850742037892878e+02 - -2.852055581519247e+02 -2.853369581748677e+02 -2.854684040068092e+02 -2.855998955349205e+02 -2.857314326251873e+02 - -2.858630153203723e+02 -2.859946437114748e+02 -2.861263179056654e+02 -2.862580379663874e+02 -2.863898037660037e+02 - -2.865216151879669e+02 -2.866534723511688e+02 -2.867853753832939e+02 -2.869173242117615e+02 -2.870493187426322e+02 - -2.871813589967982e+02 -2.873134450373917e+02 -2.874455769816758e+02 -2.875777549027032e+02 -2.877099786425546e+02 - -2.878422480619707e+02 -2.879745633273037e+02 -2.881069246090204e+02 -2.882393317884377e+02 -2.883717847366556e+02 - -2.885042835730584e+02 -2.886368284288774e+02 -2.887694192344474e+02 -2.889020558953364e+02 -2.890347384189399e+02 - -2.891674668528066e+02 -2.893002413032724e+02 -2.894330618447220e+02 -2.895659283649483e+02 -2.896988407604515e+02 - -2.898317991491523e+02 -2.899648036558058e+02 -2.900978542110840e+02 -2.902309507220182e+02 -2.903640931951591e+02 - -2.904972816775983e+02 -2.906305162790740e+02 -2.907637970750559e+02 -2.908971239412933e+02 -2.910304967707643e+02 - -2.911639157250792e+02 -2.912973809535366e+02 -2.914308922875549e+02 -2.915644495654761e+02 -2.916980529712119e+02 - -2.918317026983915e+02 -2.919653986339440e+02 -2.920991406314096e+02 -2.922329287174719e+02 -2.923667629702973e+02 - -2.925006435008390e+02 -2.926345703772706e+02 -2.927685434638595e+02 -2.929025626397000e+02 -2.930366280470975e+02 - -2.931707398343328e+02 -2.933048979103752e+02 -2.934391021578708e+02 -2.935733525934834e+02 -2.937076492857184e+02 - -2.938419923764308e+02 -2.939763819565550e+02 -2.941108178399977e+02 -2.942452998623305e+02 -2.943798282228154e+02 - -2.945144031200941e+02 -2.946490243866398e+02 -2.947836918481424e+02 -2.949184056693277e+02 -2.950531660302706e+02 - -2.951879728334102e+02 -2.953228259514730e+02 -2.954577254159683e+02 -2.955926713017622e+02 -2.957276636983648e+02 - -2.958627026572042e+02 -2.959977880627373e+02 -2.961329198152110e+02 -2.962680980450039e+02 -2.964033228802077e+02 - -2.965385942096344e+02 -2.966739119278574e+02 -2.968092761917713e+02 -2.969446871501122e+02 -2.970801446566606e+02 - -2.972156485544735e+02 -2.973511989386669e+02 -2.974867959450954e+02 -2.976224396205114e+02 -2.977581299655766e+02 - -2.978938668856917e+02 -2.980296503111913e+02 -2.981654803674056e+02 -2.983013571739824e+02 -2.984372806328453e+02 - -2.985732506311156e+02 -2.987092672144286e+02 -2.988453304703744e+02 -2.989814404958496e+02 -2.991175973412398e+02 - -2.992538008615809e+02 -2.993900509369414e+02 -2.995263477428711e+02 -2.996626914493826e+02 -2.997990819088619e+02 - -2.999355189707111e+02 -3.000720027900217e+02 -3.002085335269560e+02 -3.003451110562723e+02 -3.004817352353309e+02 - -3.006184061373012e+02 -3.007551238767678e+02 -3.008918885181671e+02 -3.010287000846923e+02 -3.011655584847104e+02 - -3.013024636430795e+02 -3.014394156654455e+02 -3.015764146559894e+02 -3.017134605322491e+02 -3.018505532010304e+02 - -3.019876927128527e+02 -3.021248791518991e+02 -3.022621125932933e+02 -3.023993930706231e+02 -3.025367204603900e+02 - -3.026740946641424e+02 -3.028115158406990e+02 -3.029489841386069e+02 -3.030864994080570e+02 -3.032240615026816e+02 - -3.033616705882347e+02 -3.034993268395738e+02 -3.036370301558538e+02 -3.037747804087723e+02 -3.039125776359002e+02 - -3.040504219146317e+02 -3.041883133157825e+02 -3.043262518737324e+02 -3.044642374836954e+02 -3.046022700638564e+02 - -3.047403497634464e+02 -3.048784767248004e+02 -3.050166508316213e+02 -3.051548719471290e+02 -3.052931401112401e+02 - -3.054314554166776e+02 -3.055698179906950e+02 -3.057082279030724e+02 -3.058466849591645e+02 -3.059851889955948e+02 - -3.061237402384871e+02 -3.062623389075358e+02 -3.064009848072192e+02 -3.065396777363650e+02 -3.066784178864098e+02 - -3.068172054654241e+02 -3.069560403554044e+02 -3.070949224023651e+02 -3.072338516344630e+02 -3.073728281334552e+02 - -3.075118520133569e+02 -3.076509233435525e+02 -3.077900419826468e+02 -3.079292078053290e+02 -3.080684209614084e+02 - -3.082076816048298e+02 -3.083469896309615e+02 -3.084863449149456e+02 -3.086257475095906e+02 -3.087651975081579e+02 - -3.089046949880547e+02 -3.090442399817611e+02 -3.091838323579038e+02 -3.093234720151574e+02 -3.094631591362355e+02 - -3.096028938900603e+02 -3.097426761063483e+02 -3.098825056148365e+02 -3.100223825845469e+02 -3.101623071983122e+02 - -3.103022793549238e+02 -3.104422989228102e+02 -3.105823659329897e+02 -3.107224804626276e+02 -3.108626426108901e+02 - -3.110028524323948e+02 -3.111431097815640e+02 -3.112834145351391e+02 -3.114237668593314e+02 -3.115641669247677e+02 - -3.117046146302696e+02 -3.118451098470761e+02 -3.119856526079039e+02 -3.121262429897644e+02 -3.122668810853719e+02 - -3.124075669478935e+02 -3.125483004566077e+02 -3.126890815070839e+02 -3.128299102339429e+02 -3.129707867704560e+02 - -3.131117110054437e+02 -3.132526828292356e+02 -3.133937023826453e+02 -3.135347698019019e+02 -3.136758849544115e+02 - -3.138170476993112e+02 -3.139582581314797e+02 -3.140995163841689e+02 -3.142408225083815e+02 -3.143821765079714e+02 - -3.145235782804463e+02 -3.146650277504123e+02 -3.148065250572144e+02 -3.149480703283944e+02 -3.150896634295446e+02 - -3.152313042212708e+02 -3.153729928061792e+02 -3.155147293192109e+02 -3.156565137826469e+02 -3.157983461803634e+02 - -3.159402264552761e+02 -3.160821545730877e+02 -3.162241306316100e+02 -3.163661547129774e+02 -3.165082267045055e+02 - -3.166503465083330e+02 -3.167925142807053e+02 -3.169347301718565e+02 -3.170769940538677e+02 -3.172193057829434e+02 - -3.173616654299331e+02 -3.175040731106142e+02 -3.176465289058318e+02 -3.177890328440690e+02 -3.179315847792938e+02 - -3.180741845934695e+02 -3.182168324550577e+02 -3.183595285351408e+02 -3.185022727287870e+02 -3.186450649049847e+02 - -3.187879051044167e+02 -3.189307934072479e+02 -3.190737298798787e+02 -3.192167145562098e+02 -3.193597473539087e+02 - -3.195028282067584e+02 -3.196459572292360e+02 -3.197891345287240e+02 -3.199323600035334e+02 -3.200756335516368e+02 - -3.202189552787263e+02 -3.203623252990410e+02 -3.205057435532916e+02 -3.206492099607363e+02 -3.207927245283494e+02 - -3.209362873029775e+02 -3.210798984032395e+02 -3.212235579095965e+02 -3.213672656781062e+02 -3.215110215776564e+02 - -3.216548257528610e+02 -3.217986783602123e+02 -3.219425793279964e+02 -3.220865285490494e+02 -3.222305260026159e+02 - -3.223745717228416e+02 -3.225186658770672e+02 -3.226628085862362e+02 -3.228069996525048e+02 -3.229512388959131e+02 - -3.230955265268207e+02 -3.232398627556209e+02 -3.233842474025269e+02 -3.235286802821290e+02 -3.236731615767077e+02 - -3.238176914785998e+02 -3.239622698526831e+02 -3.241068965416273e+02 -3.242515716267282e+02 -3.243962952303619e+02 - -3.245410674006047e+02 -3.246858881442026e+02 -3.248307573768830e+02 -3.249756750377737e+02 -3.251206412506237e+02 - -3.252656561247559e+02 -3.254107195271718e+02 -3.255558313340717e+02 -3.257009917007768e+02 -3.258462007853361e+02 - -3.259914584775946e+02 -3.261367646471811e+02 -3.262821193510638e+02 -3.264275226864755e+02 -3.265729747243638e+02 - -3.267184754961565e+02 -3.268640249014856e+02 -3.270096228564299e+02 -3.271552694746495e+02 -3.273009648690628e+02 - -3.274467089520415e+02 -3.275925016223748e+02 -3.277383429250694e+02 -3.278842329472037e+02 -3.280301717979274e+02 - -3.281761595333842e+02 -3.283221959756238e+02 -3.284682809773962e+02 -3.286144147483458e+02 -3.287605974914733e+02 - -3.289068290263132e+02 -3.290531091681708e+02 -3.291994380988984e+02 -3.293458160115122e+02 -3.294922427771376e+02 - -3.296387182388717e+02 -3.297852424495862e+02 -3.299318155124273e+02 -3.300784375218649e+02 -3.302251085265343e+02 - -3.303718284004092e+02 -3.305185970357408e+02 -3.306654145725511e+02 -3.308122811494171e+02 -3.309591966513669e+02 - -3.311061609508276e+02 -3.312531741233722e+02 -3.314002362831168e+02 -3.315473474952068e+02 -3.316945077733321e+02 - -3.318417169743284e+02 -3.319889749946440e+02 -3.321362820460264e+02 -3.322836383216903e+02 -3.324310436254205e+02 - -3.325784977579187e+02 -3.327260008969810e+02 -3.328735532388732e+02 -3.330211546766479e+02 -3.331688050699581e+02 - -3.333165044480712e+02 -3.334642528918999e+02 -3.336120505193238e+02 -3.337598974031960e+02 -3.339077933992973e+02 - -3.340557383761620e+02 -3.342037324704123e+02 -3.343517758263186e+02 -3.344998683506588e+02 -3.346480099317598e+02 - -3.347962006216366e+02 -3.349444405123485e+02 -3.350927296924430e+02 -3.352410681997821e+02 -3.353894558729969e+02 - -3.355378925848257e+02 -3.356863785436656e+02 -3.358349139484366e+02 -3.359834986244929e+02 -3.361321323883865e+02 - -3.362808153950241e+02 -3.364295478191028e+02 -3.365783295761255e+02 -3.367271605486342e+02 -3.368760407465185e+02 - -3.370249702279324e+02 -3.371739491167402e+02 -3.373229774932894e+02 -3.374720551981496e+02 -3.376211820935624e+02 - -3.377703583682330e+02 -3.379195842066430e+02 -3.380688594499171e+02 -3.382181839217990e+02 -3.383675577198622e+02 - -3.385169809890102e+02 -3.386664537896355e+02 -3.388159761271593e+02 -3.389655478716282e+02 -3.391151689236262e+02 - -3.392648394412631e+02 -3.394145595795439e+02 -3.395643292235305e+02 -3.397141482525620e+02 -3.398640167930273e+02 - -3.400139349724158e+02 -3.401639026755699e+02 -3.403139197760493e+02 -3.404639863449279e+02 -3.406141024957107e+02 - -3.407642683141136e+02 -3.409144838324194e+02 -3.410647488969659e+02 -3.412150633828331e+02 -3.413654274660125e+02 - -3.415158413252182e+02 -3.416663048491409e+02 -3.418168178992377e+02 -3.419673805180489e+02 -3.421179927901010e+02 - -3.422686547867838e+02 -3.424193665441726e+02 -3.425701279702224e+02 -3.427209389917095e+02 -3.428717997388184e+02 - -3.430227103286458e+02 -3.431736706225328e+02 -3.433246804902436e+02 -3.434757400909901e+02 -3.436268495884827e+02 - -3.437780088749811e+02 -3.439292178162220e+02 -3.440804764432992e+02 -3.442317848369893e+02 -3.443831431114438e+02 - -3.445345513395477e+02 -3.446860093957458e+02 -3.448375171638715e+02 -3.449890747637513e+02 -3.451406823209921e+02 - -3.452923397483303e+02 -3.454440469383874e+02 -3.455958039161959e+02 -3.457476107544265e+02 -3.458994675838882e+02 - -3.460513744837874e+02 -3.462033312687789e+02 -3.463553377809081e+02 -3.465073942363314e+02 -3.466595008454457e+02 - -3.468116574214998e+02 -3.469638637732855e+02 -3.471161200889126e+02 -3.472684265676839e+02 -3.474207830743587e+02 - -3.475731894457752e+02 -3.477256457416318e+02 -3.478781520698926e+02 -3.480307085087305e+02 -3.481833150905516e+02 - -3.483359716944890e+02 -3.484886782275422e+02 -3.486414348614480e+02 -3.487942417546251e+02 -3.489470987474849e+02 - -3.491000056682386e+02 -3.492529626143035e+02 -3.494059697303613e+02 -3.495590270809477e+02 -3.497121346735108e+02 - -3.498652923672977e+02 -3.500185000578142e+02 -3.501717579338015e+02 -3.503250661735650e+02 -3.504784246204307e+02 - -3.506318331106053e+02 -3.507852917867942e+02 -3.509388008057230e+02 -3.510923600737020e+02 -3.512459694729739e+02 - -3.513996290399252e+02 -3.515533388531561e+02 -3.517070990059733e+02 -3.518609095547224e+02 -3.520147703931951e+02 - -3.521686814254426e+02 -3.523226427591028e+02 -3.524766545004363e+02 -3.526307165466042e+02 -3.527848288024159e+02 - -3.529389914123712e+02 -3.530932045168612e+02 -3.532474680001527e+02 -3.534017817301934e+02 -3.535561457657783e+02 - -3.537105602073667e+02 -3.538650251312291e+02 -3.540195405716707e+02 -3.541741064193253e+02 -3.543287225825957e+02 - -3.544833891846346e+02 -3.546381063473606e+02 -3.547928739730113e+02 -3.549476919508821e+02 -3.551025603381796e+02 - -3.552574792297605e+02 -3.554124487031720e+02 -3.555674687945711e+02 -3.557225393918643e+02 -3.558776604020463e+02 - -3.560328319567154e+02 -3.561880541805177e+02 -3.563433269456882e+02 -3.564986501330765e+02 -3.566540239103983e+02 - -3.568094484429710e+02 -3.569649235996524e+02 -3.571204492251743e+02 -3.572760253642205e+02 -3.574316521198430e+02 - -3.575873296286128e+02 -3.577430579645793e+02 -3.578988369181832e+02 -3.580546663122107e+02 -3.582105463824335e+02 - -3.583664773634632e+02 -3.585224590722860e+02 -3.586784912980774e+02 -3.588345741363943e+02 -3.589907077420278e+02 - -3.591468922003262e+02 -3.593031275347307e+02 -3.594594135904955e+02 -3.596157502414973e+02 -3.597721376542854e+02 - -3.599285759961583e+02 -3.600850651447366e+02 -3.602416049709182e+02 -3.603981956083848e+02 -3.605548371920680e+02 - -3.607115295991184e+02 -3.608682726958015e+02 -3.610250665626241e+02 -3.611819113190277e+02 -3.613388070259530e+02 - -3.614957536972620e+02 -3.616527512170044e+02 -3.618097994957786e+02 -3.619668986801910e+02 -3.621240489112448e+02 - -3.622812500715253e+02 -3.624385020268735e+02 -3.625958048345691e+02 -3.627531585959862e+02 -3.629105633974360e+02 - -3.630680192762735e+02 -3.632255260890885e+02 -3.633830837209757e+02 -3.635406923518125e+02 -3.636983521500620e+02 - -3.638560629437486e+02 -3.640138245654421e+02 -3.641716372063300e+02 -3.643295010634408e+02 -3.644874159985495e+02 - -3.646453818454157e+02 -3.648033986609884e+02 -3.649614665547653e+02 -3.651195856232492e+02 -3.652777559169987e+02 - -3.654359773157880e+02 -3.655942497193339e+02 -3.657525732779061e+02 -3.659109481367831e+02 -3.660693741707290e+02 - -3.662278512419212e+02 -3.663863794327037e+02 -3.665449588644519e+02 -3.667035895945005e+02 -3.668622716357800e+02 - -3.670210048876434e+02 -3.671797892763418e+02 -3.673386249492966e+02 -3.674975120447079e+02 -3.676564504427247e+02 - -3.678154400208724e+02 -3.679744809042344e+02 -3.681335732252156e+02 -3.682927168979475e+02 -3.684519118222935e+02 - -3.686111580593141e+02 -3.687704557033292e+02 -3.689298048205014e+02 -3.690892054329191e+02 -3.692486574145354e+02 - -3.694081606700869e+02 -3.695677153755793e+02 -3.697273216946131e+02 -3.698869794698993e+02 -3.700466885253786e+02 - -3.702064489307988e+02 -3.703662608017668e+02 -3.705261241915196e+02 -3.706860391012269e+02 -3.708460053861607e+02 - -3.710060229388483e+02 -3.711660919467376e+02 -3.713262125796104e+02 -3.714863846416646e+02 -3.716466079328989e+02 - -3.718068826020972e+02 -3.719672088201144e+02 -3.721275864973102e+02 -3.722880155098476e+02 -3.724484958575989e+02 - -3.726090275883345e+02 -3.727696108177087e+02 -3.729302456171431e+02 -3.730909318132427e+02 -3.732516692484294e+02 - -3.734124580732086e+02 -3.735732984485285e+02 -3.737341902690280e+02 -3.738951333966488e+02 -3.740561278288502e+02 - -3.742171736164895e+02 -3.743782708884933e+02 -3.745394197314636e+02 -3.747006199846337e+02 -3.748618715145197e+02 - -3.750231745441332e+02 -3.751845292967938e+02 -3.753459356405600e+02 -3.755073934398666e+02 -3.756689028999150e+02 - -3.758304642401999e+02 -3.759920773966298e+02 -3.761537422764503e+02 -3.763154589558405e+02 -3.764772275566993e+02 - -3.766390482148706e+02 -3.768009210261144e+02 -3.769628459119104e+02 -3.771248228066682e+02 -3.772868518707951e+02 - -3.774489332703654e+02 -3.776110669681248e+02 -3.777732529036114e+02 -3.779354911268638e+02 -3.780977817328078e+02 - -3.782601248854201e+02 -3.784225207068740e+02 -3.785849690830777e+02 -3.787474699201715e+02 -3.789100234414875e+02 - -3.790726298611719e+02 -3.792352890394379e+02 -3.793980008403989e+02 -3.795607654977005e+02 -3.797235832511840e+02 - -3.798864539959452e+02 -3.800493775732837e+02 -3.802123539540593e+02 -3.803753831256555e+02 -3.805384650119894e+02 - -3.807015994897982e+02 -3.808647863105625e+02 -3.810280252452890e+02 -3.811913162683451e+02 -3.813546593533040e+02 - -3.815180542672069e+02 -3.816815007606327e+02 -3.818449987248433e+02 -3.820085480876401e+02 -3.821721487823003e+02 - -3.823358007029311e+02 -3.824995035814819e+02 -3.826632571794644e+02 -3.828270615387958e+02 -3.829909166775790e+02 - -3.831548222382581e+02 -3.833187778788636e+02 -3.834827836954302e+02 -3.836468397830658e+02 -3.838109457951704e+02 - -3.839751013606573e+02 -3.841393064522010e+02 -3.843035610985582e+02 -3.844678652090594e+02 -3.846322186342679e+02 - -3.847966211091070e+02 -3.849610723938522e+02 -3.851255724658270e+02 -3.852901213276589e+02 -3.854547188661456e+02 - -3.856193651039130e+02 -3.857840607227301e+02 -3.859488064858506e+02 -3.861136028233281e+02 -3.862784501283425e+02 - -3.864433489797775e+02 -3.866083000045549e+02 -3.867733038360474e+02 -3.869383610689728e+02 -3.871034721369783e+02 - -3.872686374886131e+02 -3.874338577931016e+02 -3.875991337168530e+02 -3.877644656943423e+02 -3.879298541437876e+02 - -3.880952996503134e+02 -3.882608028487801e+02 -3.884263644060860e+02 -3.885919849359946e+02 -3.887576648076931e+02 - -3.889234044110585e+02 -3.890892044633024e+02 -3.892550656828005e+02 -3.894209884652491e+02 -3.895869732058733e+02 - -3.897530206206903e+02 -3.899191314265681e+02 -3.900853060229904e+02 -3.902515447813749e+02 -3.904178482782592e+02 - -3.905842171832736e+02 -3.907506523333024e+02 -3.909171542011455e+02 -3.910837216360146e+02 -3.912503530200719e+02 - -3.914170464908692e+02 -3.915838000867597e+02 -3.917506116939103e+02 -3.919174791997058e+02 -3.920844006485843e+02 - -3.922513741233318e+02 -3.924183977030698e+02 -3.925854694180132e+02 -3.927525871064144e+02 -3.929197486330507e+02 - -3.930869521607613e+02 -3.932541958513385e+02 -3.934214775643266e+02 -3.935887951493436e+02 -3.937561467185514e+02 - -3.939235303999417e+02 -3.940909441222876e+02 -3.942583857858931e+02 -3.944258533764072e+02 -3.945933449213566e+02 - -3.947608585304349e+02 -3.949283922804248e+02 -3.950959440342958e+02 -3.952635116636291e+02 -3.954310932882606e+02 - -3.955986870327357e+02 -3.957662907921835e+02 -3.959339024467546e+02 -3.961015200461023e+02 -3.962691416638499e+02 - 1.070000000000000e-01 1.069682658750319e-01 1.069365186252596e-01 1.069047582677665e-01 1.068729848196356e-01 - 1.068411982979503e-01 1.068093987197937e-01 1.067775861022493e-01 1.067457604624000e-01 1.067139218173294e-01 - 1.066820701841205e-01 1.066502055798566e-01 1.066183280216209e-01 1.065864375264968e-01 1.065545341115673e-01 - 1.065226177939159e-01 1.064906885906257e-01 1.064587465187799e-01 1.064267915954618e-01 1.063948238377547e-01 - 1.063628432627417e-01 1.063308498875062e-01 1.062988437291314e-01 1.062668248047005e-01 1.062347931312967e-01 - 1.062027487260033e-01 1.061706916059036e-01 1.061386217880807e-01 1.061065392896180e-01 1.060744441275985e-01 - 1.060423363191058e-01 1.060102158812228e-01 1.059780828310330e-01 1.059459371856195e-01 1.059137789620655e-01 - 1.058816081774544e-01 1.058494248488693e-01 1.058172289933936e-01 1.057850206281103e-01 1.057527997701029e-01 - 1.057205664364545e-01 1.056883206442483e-01 1.056560624105677e-01 1.056237917524958e-01 1.055915086871159e-01 - 1.055592132315112e-01 1.055269054027650e-01 1.054945852179606e-01 1.054622526941811e-01 1.054299078485097e-01 - 1.053975506980299e-01 1.053651812598247e-01 1.053327995509774e-01 1.053004055885713e-01 1.052679993896897e-01 - 1.052355809714157e-01 1.052031503508325e-01 1.051707075450236e-01 1.051382525710719e-01 1.051057854460610e-01 - 1.050733061870738e-01 1.050408148111938e-01 1.050083113355042e-01 1.049757957770881e-01 1.049432681530288e-01 - 1.049107284804097e-01 1.048781767763138e-01 1.048456130578245e-01 1.048130373420250e-01 1.047804496459986e-01 - 1.047478499868284e-01 1.047152383815977e-01 1.046826148473898e-01 1.046499794012880e-01 1.046173320603753e-01 - 1.045846728417352e-01 1.045520017624508e-01 1.045193188396054e-01 1.044866240902822e-01 1.044539175315645e-01 - 1.044211991805354e-01 1.043884690542783e-01 1.043557271698764e-01 1.043229735444130e-01 1.042902081949712e-01 - 1.042574311386343e-01 1.042246423924855e-01 1.041918419736082e-01 1.041590298990855e-01 1.041262061860007e-01 - 1.040933708514369e-01 1.040605239124776e-01 1.040276653862059e-01 1.039947952897050e-01 1.039619136400582e-01 - 1.039290204543487e-01 1.038961157496599e-01 1.038631995430748e-01 1.038302718516768e-01 1.037973326925491e-01 - 1.037643820827749e-01 1.037314200394375e-01 1.036984465796201e-01 1.036654617204061e-01 1.036324654788785e-01 - 1.035994578721206e-01 1.035664389172158e-01 1.035334086312472e-01 1.035003670312980e-01 1.034673141344516e-01 - 1.034342499577912e-01 1.034011745183999e-01 1.033680878333612e-01 1.033349899197580e-01 1.033018807946739e-01 - 1.032687604751918e-01 1.032356289783953e-01 1.032024863213673e-01 1.031693325211913e-01 1.031361675949504e-01 - 1.031029915597278e-01 1.030698044326069e-01 1.030366062306709e-01 1.030033969710030e-01 1.029701766706864e-01 - 1.029369453468044e-01 1.029037030164402e-01 1.028704496966771e-01 1.028371854045984e-01 1.028039101572872e-01 - 1.027706239718267e-01 1.027373268653004e-01 1.027040188547913e-01 1.026706999573827e-01 1.026373701901580e-01 - 1.026040295702002e-01 1.025706781145926e-01 1.025373158404186e-01 1.025039427647613e-01 1.024705589047040e-01 - 1.024371642773299e-01 1.024037588997223e-01 1.023703427889643e-01 1.023369159621393e-01 1.023034784363305e-01 - 1.022700302286212e-01 1.022365713560945e-01 1.022031018358337e-01 1.021696216849221e-01 1.021361309204428e-01 - 1.021026295594792e-01 1.020691176191145e-01 1.020355951164319e-01 1.020020620685147e-01 1.019685184924461e-01 - 1.019349644053093e-01 1.019013998241876e-01 1.018678247661643e-01 1.018342392483225e-01 1.018006432877456e-01 - 1.017670369015167e-01 1.017334201067191e-01 1.016997929204361e-01 1.016661553597508e-01 1.016325074417466e-01 - 1.015988491835066e-01 1.015651806021141e-01 1.015315017146524e-01 1.014978125382047e-01 1.014641130898543e-01 - 1.014304033866843e-01 1.013966834457780e-01 1.013629532842187e-01 1.013292129190896e-01 1.012954623674739e-01 - 1.012617016464549e-01 1.012279307731159e-01 1.011941497645400e-01 1.011603586378106e-01 1.011265574100107e-01 - 1.010927460982239e-01 1.010589247195331e-01 1.010250932910217e-01 1.009912518297729e-01 1.009574003528701e-01 - 1.009235388773963e-01 1.008896674204348e-01 1.008557859990690e-01 1.008218946303820e-01 1.007879933314571e-01 - 1.007540821193774e-01 1.007201610112264e-01 1.006862300240872e-01 1.006522891750429e-01 1.006183384811770e-01 - 1.005843779595726e-01 1.005504076273130e-01 1.005164275014813e-01 1.004824375991610e-01 1.004484379374351e-01 - 1.004144285333870e-01 1.003804094040999e-01 1.003463805666569e-01 1.003123420381414e-01 1.002782938356367e-01 - 1.002442359762259e-01 1.002101684769922e-01 1.001760913550190e-01 1.001420046273895e-01 1.001079083111869e-01 - 1.000738024234945e-01 1.000396869813954e-01 1.000055620019730e-01 9.997142750231042e-02 9.993728349949102e-02 - 9.990313001059796e-02 9.986896705271456e-02 9.983479464292398e-02 9.980061279830947e-02 9.976642153595434e-02 - 9.973222087294174e-02 9.969801082635499e-02 9.966379141327726e-02 9.962956265079187e-02 9.959532455598200e-02 - 9.956107714593093e-02 9.952682043772192e-02 9.949255444843813e-02 9.945827919516288e-02 9.942399469497937e-02 - 9.938970096497086e-02 9.935539802222057e-02 9.932108588381178e-02 9.928676456682770e-02 9.925243408835159e-02 - 9.921809446546671e-02 9.918374571525623e-02 9.914938785480347e-02 9.911502090119163e-02 9.908064487150398e-02 - 9.904625978282372e-02 9.901186565223413e-02 9.897746249681845e-02 9.894305033365988e-02 9.890862917984172e-02 - 9.887419905244718e-02 9.883975996855951e-02 9.880531194526194e-02 9.877085499963774e-02 9.873638914877009e-02 - 9.870191440974231e-02 9.866743079963761e-02 9.863293833553920e-02 9.859843703453038e-02 9.856392691369432e-02 - 9.852940799011436e-02 9.849488028087365e-02 9.846034380305550e-02 9.842579857374308e-02 9.839124461001970e-02 - 9.835668192896858e-02 9.832211054767293e-02 9.828753048321603e-02 9.825294175268109e-02 9.821834437315143e-02 - 9.818373836171017e-02 9.814912373544066e-02 9.811450051142606e-02 9.807986870674969e-02 9.804522833849474e-02 - 9.801057942374444e-02 9.797592197958208e-02 9.794125602309085e-02 9.790658157135405e-02 9.787189864145487e-02 - 9.783720725047659e-02 9.780250741550246e-02 9.776779915361565e-02 9.773308248189948e-02 9.769835741743713e-02 - 9.766362397731190e-02 9.762888217860698e-02 9.759413203840565e-02 9.755937357379113e-02 9.752460680184671e-02 - 9.748983173965557e-02 9.745504840430097e-02 9.742025681286617e-02 9.738545698243438e-02 9.735064893008888e-02 - 9.731583267291286e-02 9.728100822798963e-02 9.724617561240236e-02 9.721133484323437e-02 9.717648593756885e-02 - 9.714162891248904e-02 9.710676378507821e-02 9.707189057241956e-02 9.703700929159639e-02 9.700211995969188e-02 - 9.696722259378933e-02 9.693231721097194e-02 9.689740382832296e-02 9.686248246292567e-02 9.682755313186324e-02 - 9.679261585221899e-02 9.675767064107609e-02 9.672271751551782e-02 9.668775649262741e-02 9.665278758948814e-02 - 9.661781082318323e-02 9.658282621079586e-02 9.654783376940938e-02 9.651283351610694e-02 9.647782546797186e-02 - 9.644280964208730e-02 9.640778605553657e-02 9.637275472540287e-02 9.633771566876947e-02 9.630266890271960e-02 - 9.626761444433649e-02 9.623255231070338e-02 9.619748251890356e-02 9.616240508602021e-02 9.612732002913663e-02 - 9.609222736533599e-02 9.605712711170160e-02 9.602201928531666e-02 9.598690390326445e-02 9.595178098262819e-02 - 9.591665054049109e-02 9.588151259393644e-02 9.584636716004745e-02 9.581121425590743e-02 9.577605389859950e-02 - 9.574088610520702e-02 9.570571089281314e-02 9.567052827850117e-02 9.563533827935435e-02 9.560014091245586e-02 - 9.556493619488900e-02 9.552972414373699e-02 9.549450477608308e-02 9.545927810901049e-02 9.542404415960248e-02 - 9.538880294494230e-02 9.535355448211316e-02 9.531829878819836e-02 9.528303588028109e-02 9.524776577544461e-02 - 9.521248849077216e-02 9.517720404334697e-02 9.514191245025229e-02 9.510661372857139e-02 9.507130789538748e-02 - 9.503599496778380e-02 9.500067496284360e-02 9.496534789765015e-02 9.493001378928664e-02 9.489467265483635e-02 - 9.485932451138250e-02 9.482396937600834e-02 9.478860726579713e-02 9.475323819783207e-02 9.471786218919645e-02 - 9.468247925697347e-02 9.464708941824643e-02 9.461169269009850e-02 9.457628908961296e-02 9.454087863387305e-02 - 9.450546133996199e-02 9.447003722496307e-02 9.443460630595948e-02 9.439916860003450e-02 9.436372412427137e-02 - 9.432827289575330e-02 9.429281493156354e-02 9.425735024878537e-02 9.422187886450198e-02 9.418640079579664e-02 - 9.415091605975259e-02 9.411542467345307e-02 9.407992665398136e-02 9.404442201842063e-02 9.400891078385415e-02 - 9.397339296736518e-02 9.393786858603695e-02 9.390233765695270e-02 9.386680019719568e-02 9.383125622384911e-02 - 9.379570575399625e-02 9.376014880472036e-02 9.372458539310466e-02 9.368901553623238e-02 9.365343925118678e-02 - 9.361785655505112e-02 9.358226746490858e-02 9.354667199784246e-02 9.351107017093598e-02 9.347546200127239e-02 - 9.343984750593494e-02 9.340422670200685e-02 9.336859960657137e-02 9.333296623671174e-02 9.329732660951121e-02 - 9.326168074205300e-02 9.322602865142039e-02 9.319037035469660e-02 9.315470586896488e-02 9.311903521130845e-02 - 9.308335839881057e-02 9.304767544855448e-02 9.301198637762342e-02 9.297629120310064e-02 9.294058994206936e-02 - 9.290488261161287e-02 9.286916922881436e-02 9.283344981075708e-02 9.279772437452428e-02 9.276199293719922e-02 - 9.272625551586512e-02 9.269051212760523e-02 9.265476278950278e-02 9.261900751864104e-02 9.258324633210324e-02 - 9.254747924697261e-02 9.251170628033240e-02 9.247592744926583e-02 9.244014277085617e-02 9.240435226218666e-02 - 9.236855594034055e-02 9.233275382240104e-02 9.229694592545142e-02 9.226113226657491e-02 9.222531286285476e-02 - 9.218948773137420e-02 9.215365688921646e-02 9.211782035346482e-02 9.208197814120249e-02 9.204613026951274e-02 - 9.201027675547878e-02 9.197441761618388e-02 9.193855286871126e-02 9.190268253014419e-02 9.186680661756588e-02 - 9.183092514805957e-02 9.179503813870854e-02 9.175914560659600e-02 9.172324756880521e-02 9.168734404241941e-02 - 9.165143504452181e-02 9.161552059219569e-02 9.157960070252427e-02 9.154367539259080e-02 9.150774467947854e-02 - 9.147180858027071e-02 9.143586711205055e-02 9.139992029190132e-02 9.136396813690625e-02 9.132801066414858e-02 - 9.129204789071155e-02 9.125607983367841e-02 9.122010651013239e-02 9.118412793715676e-02 9.114814413183472e-02 - 9.111215511124955e-02 9.107616089248448e-02 9.104016149262276e-02 9.100415692874760e-02 9.096814721794225e-02 - 9.093213237728998e-02 9.089611242387401e-02 9.086008737477760e-02 9.082405724708396e-02 9.078802205787638e-02 - 9.075198182423806e-02 9.071593656325225e-02 9.067988629200220e-02 9.064383102757116e-02 9.060777078704237e-02 - 9.057170558749904e-02 9.053563544602444e-02 9.049956037970180e-02 9.046348040561442e-02 9.042739554084545e-02 - 9.039130580247817e-02 9.035521120759583e-02 9.031911177328168e-02 9.028300751661894e-02 9.024689845469086e-02 - 9.021078460458068e-02 9.017466598337168e-02 9.013854260814702e-02 9.010241449599002e-02 9.006628166398388e-02 - 9.003014412921184e-02 8.999400190875718e-02 8.995785501970310e-02 8.992170347913286e-02 8.988554730412972e-02 - 8.984938651177689e-02 8.981322111915761e-02 8.977705114335516e-02 8.974087660145275e-02 8.970469751053363e-02 - 8.966851388768103e-02 8.963232574997822e-02 8.959613311450842e-02 8.955993599835491e-02 8.952373441860086e-02 - 8.948752839232957e-02 8.945131793662427e-02 8.941510306856817e-02 8.937888380524456e-02 8.934266016373665e-02 - 8.930643216112769e-02 8.927019981450095e-02 8.923396314093963e-02 8.919772215752698e-02 8.916147688134625e-02 - 8.912522732948071e-02 8.908897351901354e-02 8.905271546702803e-02 8.901645319060740e-02 8.898018670683491e-02 - 8.894391603279379e-02 8.890764118556729e-02 8.887136218223864e-02 8.883507903989107e-02 8.879879177560786e-02 - 8.876250040647221e-02 8.872620494956741e-02 8.868990542197666e-02 8.865360184078323e-02 8.861729422307035e-02 - 8.858098258592126e-02 8.854466694641919e-02 8.850834732164740e-02 8.847202372868912e-02 8.843569618462761e-02 - 8.839936470654611e-02 8.836302931152785e-02 8.832669001665606e-02 8.829034683901400e-02 8.825399979568492e-02 - 8.821764890375206e-02 8.818129418029862e-02 8.814493564240788e-02 8.810857330716310e-02 8.807220719164749e-02 - 8.803583731294432e-02 8.799946368813677e-02 8.796308633430815e-02 8.792670526854167e-02 8.789032050792057e-02 - 8.785393206952812e-02 8.781753997044753e-02 8.778114422776205e-02 8.774474485855495e-02 8.770834187990943e-02 - 8.767193530890875e-02 8.763552516263615e-02 8.759911145817488e-02 8.756269421260816e-02 8.752627344301928e-02 - 8.748984916649143e-02 8.745342140010788e-02 8.741699016095185e-02 8.738055546610660e-02 8.734411733265539e-02 - 8.730767577768141e-02 8.727123081826793e-02 8.723478247149821e-02 8.719833075445547e-02 8.716187568422298e-02 - 8.712541727788393e-02 8.708895555252159e-02 8.705249052521923e-02 8.701602221306004e-02 8.697955063312730e-02 - 8.694307580250422e-02 8.690659773827408e-02 8.687011645752010e-02 8.683363197732555e-02 8.679714431477362e-02 - 8.676065348694757e-02 8.672415951093065e-02 8.668766240380611e-02 8.665116218265721e-02 8.661465886456714e-02 - 8.657815246661917e-02 8.654164300589655e-02 8.650513049948251e-02 8.646861496446030e-02 8.643209641791315e-02 - 8.639557487692430e-02 8.635905035857701e-02 8.632252287995451e-02 8.628599245814005e-02 8.624945911021686e-02 - 8.621292285326819e-02 8.617638370437727e-02 8.613984168062737e-02 8.610329679910171e-02 8.606674907688353e-02 - 8.603019853105608e-02 8.599364517870259e-02 8.595708903690633e-02 8.592053012275053e-02 8.588396845331842e-02 - 8.584740404569323e-02 8.581083691695822e-02 8.577426708419665e-02 8.573769456449173e-02 8.570111937492672e-02 - 8.566454153258486e-02 8.562796105454940e-02 8.559137795790356e-02 8.555479225973059e-02 8.551820397711374e-02 - 8.548161312713624e-02 8.544501972688134e-02 8.540842379343229e-02 8.537182534387232e-02 8.533522439528468e-02 - 8.529862096475260e-02 8.526201506935933e-02 8.522540672618811e-02 8.518879595232219e-02 8.515218276484479e-02 - 8.511556718083918e-02 8.507894921738858e-02 8.504232889157626e-02 8.500570622048544e-02 8.496908122119934e-02 - 8.493245391080124e-02 8.489582430637438e-02 8.485919242500198e-02 8.482255828376728e-02 8.478592189975355e-02 - 8.474928329004400e-02 8.471264247172190e-02 8.467599946187047e-02 8.463935427757298e-02 8.460270693591267e-02 - 8.456605745397273e-02 8.452940584883646e-02 8.449275213758706e-02 8.445609633730780e-02 8.441943846508193e-02 - 8.438277853799266e-02 8.434611657312326e-02 8.430945258755695e-02 8.427278659837699e-02 8.423611862266661e-02 - 8.419944867750905e-02 8.416277677998756e-02 8.412610294718537e-02 8.408942719618576e-02 8.405274954407191e-02 - 8.401607000792713e-02 8.397938860483460e-02 8.394270535187759e-02 8.390602026613936e-02 8.386933336470312e-02 - 8.383264466465212e-02 8.379595418306962e-02 8.375926193703884e-02 8.372256794364304e-02 8.368587221996546e-02 - 8.364917478308932e-02 8.361247565009787e-02 8.357577483807437e-02 8.353907236410206e-02 8.350236824526415e-02 - 8.346566249864391e-02 8.342895514132459e-02 8.339224619038943e-02 8.335553566292164e-02 8.331882357600448e-02 - 8.328210994672121e-02 8.324539479215504e-02 8.320867812938924e-02 8.317195997550704e-02 8.313524034759166e-02 - 8.309851926272641e-02 8.306179673799445e-02 8.302507279047908e-02 8.298834743726349e-02 8.295162069543097e-02 - 8.291489258206473e-02 8.287816311424805e-02 8.284143230906414e-02 8.280470018359624e-02 8.276796675492762e-02 - 8.273123204014149e-02 8.269449605632111e-02 8.265775882054972e-02 8.262102034991055e-02 8.258428066148686e-02 - 8.254753977236187e-02 8.251079769961885e-02 8.247405446034105e-02 8.243731007161166e-02 8.240056455051395e-02 - 8.236381791413117e-02 8.232707017954656e-02 8.229032136384334e-02 8.225357148410478e-02 8.221682055741411e-02 - 8.218006860085458e-02 8.214331563150944e-02 8.210656166646188e-02 8.206980672279519e-02 8.203305081759260e-02 - 8.199629396793737e-02 8.195953619091272e-02 8.192277750360188e-02 8.188601792308813e-02 8.184925746645468e-02 - 8.181249615078479e-02 8.177573399316168e-02 8.173897101066861e-02 8.170220722038883e-02 8.166544263940556e-02 - 8.162867728480205e-02 8.159191117366156e-02 8.155514432306732e-02 8.151837675010254e-02 8.148160847185050e-02 - 8.144483950539445e-02 8.140806986781760e-02 8.137129957620320e-02 8.133452864763450e-02 8.129775709919475e-02 - 8.126098494796720e-02 8.122421221103504e-02 8.118743890548155e-02 8.115066504838998e-02 8.111389065684355e-02 - 8.107711574792552e-02 8.104034033871912e-02 8.100356444630759e-02 8.096678808777417e-02 8.093001128020215e-02 - 8.089323404067471e-02 8.085645638627510e-02 8.081967833408658e-02 8.078289990119239e-02 8.074612110467576e-02 - 8.070934196161997e-02 8.067256248910820e-02 8.063578270422375e-02 8.059900262404983e-02 8.056222226566968e-02 - 8.052544164616657e-02 8.048866078262369e-02 8.045187969212433e-02 8.041509839175172e-02 8.037831689858911e-02 - 8.034153522971973e-02 8.030475340222681e-02 8.026797143319361e-02 8.023118933970336e-02 8.019440713883932e-02 - 8.015762484768471e-02 8.012084248332278e-02 8.008406006283678e-02 8.004727760330994e-02 8.001049512182555e-02 - 7.997371263546676e-02 7.993693016131688e-02 7.990014771645915e-02 7.986336531797676e-02 7.982658298295300e-02 - 7.978980072847111e-02 7.975301857161432e-02 7.971623652946590e-02 7.967945461910902e-02 7.964267285762699e-02 - 7.960589126210302e-02 7.956910984962039e-02 7.953232863726228e-02 7.949554764211197e-02 7.945876688125271e-02 - 7.942198637176773e-02 7.938520613074028e-02 7.934842617525358e-02 7.931164652239087e-02 7.927486718923542e-02 - 7.923808819287045e-02 7.920130955037924e-02 7.916453127884499e-02 7.912775339535094e-02 7.909097591698037e-02 - 7.905419886081648e-02 7.901742224394255e-02 7.898064608344180e-02 7.894387039639746e-02 7.890709519989279e-02 - 7.887032051101103e-02 7.883354634683543e-02 7.879677272444922e-02 7.875999966093565e-02 7.872322717337794e-02 - 7.868645527885937e-02 7.864968399446313e-02 7.861291333727252e-02 7.857614332437074e-02 7.853937397284104e-02 - 7.850260529976670e-02 7.846583732223091e-02 7.842907005731693e-02 7.839230352210801e-02 7.835553773368738e-02 - 7.831877270913830e-02 7.828200846554398e-02 7.824524501998768e-02 7.820848238955266e-02 7.817172059132216e-02 - 7.813495964237939e-02 7.809819955980761e-02 7.806144036069006e-02 7.802468206210998e-02 7.798792468115062e-02 - 7.795116823489523e-02 7.791441274042703e-02 7.787765821482928e-02 7.784090467518520e-02 7.780415213857807e-02 - 7.776740062209107e-02 7.773065014280750e-02 7.769390071781057e-02 7.765715236418354e-02 7.762040509900967e-02 - 7.758365893937215e-02 7.754691390235426e-02 7.751017000503922e-02 7.747342726451029e-02 7.743668569785070e-02 - 7.739994532214370e-02 7.736320615447252e-02 7.732646821192042e-02 7.728973151157063e-02 7.725299607050642e-02 - 7.721626190581099e-02 7.717952903456758e-02 7.714279747385946e-02 7.710606724076986e-02 7.706933835238206e-02 - 7.703261082577922e-02 7.699588467804465e-02 7.695915992626157e-02 7.692243658751323e-02 7.688571467888285e-02 - 7.684899421745368e-02 7.681227522030898e-02 7.677555770453198e-02 7.673884168720593e-02 7.670212718541405e-02 - 7.666541421623961e-02 7.662870279676583e-02 7.659199294407595e-02 7.655528467525324e-02 7.651857800738091e-02 - 7.648187295754222e-02 7.644516954282041e-02 7.640846778029871e-02 7.637176768706039e-02 7.633506928018867e-02 - 7.629837257676678e-02 7.626167759387799e-02 7.622498434860552e-02 7.618829285803264e-02 7.615160313924255e-02 - 7.611491520931853e-02 7.607822908534380e-02 7.604154478440163e-02 7.600486232357523e-02 7.596818171994783e-02 - 7.593150299060271e-02 7.589482615262309e-02 7.585815122309225e-02 7.582147821909338e-02 7.578480715770973e-02 - 7.574813805602458e-02 7.571147093112113e-02 7.567480580008265e-02 7.563814267999236e-02 7.560148158793352e-02 - 7.556482254098935e-02 7.552816555624312e-02 7.549151065077807e-02 7.545485784167741e-02 7.541820714602442e-02 - 7.538155858090231e-02 7.534491216339434e-02 7.530826791058375e-02 7.527162583955378e-02 7.523498596738766e-02 - 7.519834831116866e-02 7.516171288797999e-02 7.512507971490495e-02 7.508844880902671e-02 7.505182018742854e-02 - 7.501519386719367e-02 7.497856986540538e-02 7.494194819914687e-02 7.490532888550142e-02 7.486871194155223e-02 - 7.483209738438257e-02 7.479548523107570e-02 7.475887549871482e-02 7.472226820438319e-02 7.468566336516404e-02 - 7.464906099814063e-02 7.461246112039621e-02 7.457586374901400e-02 7.453926890107723e-02 7.450267659366919e-02 - 7.446608684387307e-02 7.442949966877216e-02 7.439291508544965e-02 7.435633311098883e-02 7.431975376247291e-02 - 7.428317705698513e-02 7.424660301160878e-02 7.421003164342704e-02 7.417346296952319e-02 7.413689700698045e-02 - 7.410033377288210e-02 7.406377328431132e-02 7.402721555835140e-02 7.399066061208556e-02 7.395410846259706e-02 - 7.391755912696915e-02 7.388101262228504e-02 7.384446896562798e-02 7.380792817408122e-02 7.377139026472800e-02 - 7.373485525465158e-02 7.369832316093516e-02 7.366179400066203e-02 7.362526779091538e-02 7.358874454877849e-02 - 7.355222429133459e-02 7.351570703566694e-02 7.347919279885876e-02 7.344268159799329e-02 7.340617345015378e-02 - 7.336966837242348e-02 7.333316638188561e-02 7.329666749562345e-02 7.326017173072021e-02 7.322367910425913e-02 - 7.318718963332346e-02 7.315070333499644e-02 7.311422022636133e-02 7.307774032450136e-02 7.304126364649975e-02 - 7.300479020943977e-02 7.296832003040465e-02 7.293185312647765e-02 7.289538951474199e-02 7.285892921228092e-02 - 7.282247223617767e-02 7.278601860351550e-02 7.274956833137766e-02 7.271312143684736e-02 7.267667793700786e-02 - 7.264023784894239e-02 7.260380118973422e-02 7.256736797646657e-02 7.253093822622268e-02 7.249451195608582e-02 - 7.245808918313920e-02 7.242166992446607e-02 7.238525419714967e-02 7.234884201827325e-02 7.231243340492007e-02 - 7.227602837417331e-02 7.223962694311627e-02 7.220322912883217e-02 7.216683494840427e-02 7.213044441891579e-02 - 7.209405755744998e-02 7.205767438109009e-02 7.202129490691934e-02 7.198491915202099e-02 7.194854713347830e-02 - 7.191217886837446e-02 7.187581437379276e-02 7.183945366681642e-02 7.180309676452867e-02 7.176674368401278e-02 - 7.173039444235199e-02 7.169404905662952e-02 7.165770754392863e-02 7.162136992133256e-02 7.158503620592453e-02 - 7.154870641478780e-02 7.151238056500563e-02 7.147605867366123e-02 7.143974075783785e-02 7.140342683461876e-02 - 7.136711692108716e-02 7.133081103432631e-02 7.129450919141947e-02 7.125821140944985e-02 7.122191770550071e-02 - 7.118562809665530e-02 7.114934259999683e-02 7.111306123260858e-02 7.107678401157377e-02 7.104051095397565e-02 - 7.100424207689746e-02 7.096797739742244e-02 7.093171693263382e-02 7.089546069961486e-02 7.085920871544882e-02 - 7.082296099721888e-02 7.078671756200834e-02 7.075047842690044e-02 7.071424360897838e-02 7.067801312532543e-02 - 7.064178699302483e-02 7.060556522915983e-02 7.056934785081363e-02 7.053313487506954e-02 7.049692631901075e-02 - 7.046072219972052e-02 7.042452253428211e-02 7.038832733977872e-02 7.035213663329361e-02 7.031595043191004e-02 - 7.027976875271123e-02 7.024359161278042e-02 7.020741902920087e-02 7.017125101905583e-02 7.013508759942851e-02 - 7.009892878740216e-02 7.006277460006004e-02 7.002662505448538e-02 6.999048016776144e-02 6.995433995697144e-02 - 6.991820443919861e-02 6.988207363152622e-02 6.984594755103750e-02 6.980982621481568e-02 6.977370963994402e-02 - 6.973759784350578e-02 6.970149084258416e-02 6.966538865426242e-02 6.962929129562380e-02 6.959319878375156e-02 - 6.955711113572893e-02 6.952102836863913e-02 6.948495049956542e-02 6.944887754559105e-02 6.941280952379927e-02 - 6.937674645127329e-02 6.934068834509637e-02 6.930463522235174e-02 6.926858710012268e-02 6.923254399549238e-02 - 6.919650592554411e-02 6.916047290736112e-02 6.912444495802665e-02 6.908842209462392e-02 6.905240433423616e-02 - 6.901639169394666e-02 6.898038419083864e-02 6.894438184199533e-02 6.890838466449999e-02 6.887239267543585e-02 - 6.883640589188617e-02 6.880042433093415e-02 6.876444800966307e-02 6.872847694515619e-02 6.869251115449670e-02 - 6.865655065476786e-02 6.862059546305292e-02 6.858464559643512e-02 6.854870107199770e-02 6.851276190682393e-02 - 6.847682811799699e-02 6.844089972260017e-02 6.840497673771671e-02 6.836905918042983e-02 6.833314706782279e-02 - 6.829724041697882e-02 6.826133924498116e-02 6.822544356891308e-02 6.818955340585779e-02 6.815366877289854e-02 - 6.811778968711857e-02 6.808191616560114e-02 6.804604822542948e-02 6.801018588368681e-02 6.797432915745642e-02 - 6.793847806382150e-02 6.790263261986533e-02 6.786679284267115e-02 6.783095874932217e-02 6.779513035690166e-02 - 6.775930768249286e-02 6.772349074317900e-02 6.768767955604332e-02 6.765187413816909e-02 6.761607450663952e-02 - 6.758028067853786e-02 6.754449267094738e-02 6.750871050095128e-02 6.747293418563281e-02 6.743716374207524e-02 - 6.740139918736179e-02 6.736564053857570e-02 6.732988781280023e-02 6.729414102711860e-02 6.725840019861405e-02 - 6.722266534436987e-02 6.718693648146923e-02 6.715121362699542e-02 6.711549679803168e-02 6.707978601166123e-02 - 6.704408128496732e-02 6.700838263503321e-02 6.697269007894212e-02 6.693700363377729e-02 6.690132331662198e-02 - 6.686564914455943e-02 6.682998113467287e-02 6.679431930404556e-02 6.675866366976070e-02 6.672301424890158e-02 - 6.668737105855144e-02 6.665173411579348e-02 6.661610343771096e-02 6.658047904138716e-02 6.654486094390526e-02 - 6.650924916234854e-02 6.647364371380024e-02 6.643804461534360e-02 6.640245188406185e-02 6.636686553703826e-02 - 6.633128559135604e-02 6.629571206409844e-02 6.626014497234871e-02 6.622458433319009e-02 6.618903016370581e-02 - 6.615348248097914e-02 6.611794130209329e-02 6.608240664413152e-02 6.604687852417708e-02 6.601135695931318e-02 - 6.597584196662311e-02 6.594033356319007e-02 6.590483176609731e-02 6.586933659242808e-02 6.583384805926563e-02 - 6.579836618369318e-02 6.576289098279399e-02 6.572742247365128e-02 6.569196067334833e-02 6.565650559896835e-02 - 6.562105726759460e-02 6.558561569631030e-02 6.555018090219872e-02 6.551475290234308e-02 6.547933171382664e-02 - 6.544391735373260e-02 6.540850983914427e-02 6.537310918714484e-02 6.533771541481756e-02 6.530232853924568e-02 - 6.526694857751246e-02 6.523157554670111e-02 6.519620946389489e-02 6.516085034617702e-02 6.512549821063078e-02 - 6.509015307433939e-02 6.505481495438609e-02 6.501948386785412e-02 6.498415983182672e-02 6.494884286338716e-02 - 6.491353297961865e-02 6.487823019760443e-02 6.484293453442776e-02 6.480764600717190e-02 6.477236463292005e-02 - 6.473709042875546e-02 6.470182341176141e-02 6.466656359902111e-02 6.463131100761778e-02 6.459606565463470e-02 - 6.456082755715510e-02 6.452559673226224e-02 6.449037319703932e-02 6.445515696856961e-02 6.441994806393636e-02 - 6.438474650022280e-02 6.434955229451217e-02 6.431436546388770e-02 6.427918602543267e-02 6.424401399623028e-02 - 6.420884939336380e-02 6.417369223391646e-02 6.413854253497149e-02 6.410340031361215e-02 6.406826558692170e-02 - 6.403313837198334e-02 6.399801868588033e-02 6.396290654569593e-02 6.392780196851335e-02 6.389270497141585e-02 - 6.385761557148667e-02 6.382253378580906e-02 6.378745963146625e-02 6.375239312554147e-02 6.371733428511799e-02 - 6.368228312727903e-02 6.364723966910786e-02 6.361220392768768e-02 6.357717592010177e-02 6.354215566343337e-02 - 6.350714317476568e-02 6.347213847118198e-02 6.343714156976551e-02 6.340215248759951e-02 6.336717124176720e-02 - 6.333219784935186e-02 6.329723232743668e-02 6.326227469310496e-02 6.322732496343991e-02 6.319238315552476e-02 - 6.315744928644278e-02 6.312252337327721e-02 6.308760543311126e-02 6.305269548302821e-02 6.301779354011129e-02 - 6.298289962144372e-02 6.294801374410877e-02 6.291313592518968e-02 6.287826618176968e-02 6.284340453093201e-02 - 6.280855098975993e-02 6.277370557533665e-02 6.273886830474544e-02 6.270403919506955e-02 6.266921826339220e-02 - 6.263440552679662e-02 6.259960100236607e-02 6.256480470718381e-02 6.253001665833306e-02 6.249523687289707e-02 - 6.246046536795907e-02 6.242570216060229e-02 6.239094726791002e-02 6.235620070696547e-02 6.232146249485187e-02 - 6.228673264865250e-02 6.225201118545055e-02 6.221729812232930e-02 6.218259347637199e-02 6.214789726466187e-02 - 6.211320950428215e-02 6.207853021231610e-02 6.204385940584693e-02 6.200919710195792e-02 6.197454331773228e-02 - 6.193989807025328e-02 6.190526137660414e-02 6.187063325386812e-02 6.183601371912845e-02 6.180140278946837e-02 - 6.176680048197113e-02 6.173220681371997e-02 6.169762180179813e-02 6.166304546328885e-02 6.162847781527538e-02 - 6.159391887484095e-02 6.155936865906880e-02 6.152482718504219e-02 6.149029446984435e-02 6.145577053055853e-02 - 6.142125538426796e-02 6.138674904805590e-02 6.135225153900557e-02 6.131776287420022e-02 6.128328307072310e-02 - 6.124881214565744e-02 6.121435011608650e-02 6.117989699909349e-02 6.114545281176169e-02 6.111101757117431e-02 - 6.107659129441460e-02 6.104217399856583e-02 6.100776570071121e-02 6.097336641793399e-02 6.093897616731742e-02 - 6.090459496594473e-02 6.087022283089916e-02 6.083585977926396e-02 6.080150582812238e-02 6.076716099455765e-02 - 6.073282529565302e-02 6.069849874849172e-02 6.066418137015700e-02 6.062987317773211e-02 6.059557418830027e-02 - 6.056128441894475e-02 6.052700388674876e-02 6.049273260879557e-02 6.045847060216841e-02 6.042421788395052e-02 - 6.038997447122514e-02 6.035574038107552e-02 6.032151563058490e-02 6.028730023683652e-02 6.025309421691362e-02 - 6.021889758789946e-02 6.018471036687725e-02 6.015053257093025e-02 6.011636421714171e-02 6.008220532259485e-02 - 6.004805590437293e-02 6.001391597955918e-02 5.997978556523686e-02 5.994566467848918e-02 5.991155333639943e-02 - 5.987745155605081e-02 5.984335935452657e-02 5.980927674890997e-02 5.977520375628423e-02 5.974114039373261e-02 - 5.970708667833834e-02 5.967304262718466e-02 5.963900825735483e-02 5.960498358593206e-02 5.957096862999962e-02 - 5.953696340664075e-02 5.950296793293869e-02 5.946898222597666e-02 5.943500630283793e-02 5.940104018060574e-02 - 5.936708387636331e-02 5.933313740719390e-02 5.929920079018074e-02 5.926527404240709e-02 5.923135718095618e-02 - 5.919745022291125e-02 5.916355318535554e-02 5.912966608537230e-02 5.909578894004478e-02 5.906192176645620e-02 - 5.902806458168981e-02 5.899421740282887e-02 5.896038024695659e-02 5.892655313115624e-02 5.889273607251104e-02 - 5.885892908810425e-02 5.882513219501910e-02 5.879134541033884e-02 5.875756875114671e-02 5.872380223452595e-02 - 5.869004587755981e-02 5.865629969733151e-02 5.862256371092430e-02 5.858883793542144e-02 5.855512238790617e-02 - 5.852141708546170e-02 5.848772204517131e-02 5.845403728411822e-02 5.842036281938568e-02 5.838669866805692e-02 - 5.835304484721521e-02 5.831940137394376e-02 5.828576826532585e-02 5.825214553844467e-02 5.821853321038349e-02 - 5.818493129822556e-02 5.815133981905412e-02 5.811775878995240e-02 5.808418822800365e-02 5.805062815029110e-02 - 5.801707857389801e-02 5.798353951590760e-02 5.795001099340315e-02 5.791649302346786e-02 5.788298562318499e-02 - 5.784948880963779e-02 5.781600259990949e-02 5.778252701108333e-02 5.774906206024256e-02 5.771560776447041e-02 - 5.768216414085015e-02 5.764873120646499e-02 5.761530897839819e-02 5.758189747373298e-02 5.754849670955262e-02 - 5.751510670294033e-02 5.748172747097936e-02 5.744835903075296e-02 5.741500139934437e-02 5.738165459383683e-02 - 5.734831863131357e-02 5.731499352885785e-02 5.728167930355290e-02 5.724837597248197e-02 5.721508355272830e-02 - 5.718180206137512e-02 5.714853151550570e-02 5.711527193220325e-02 5.708202332855103e-02 5.704878572163228e-02 - 5.701555912853024e-02 5.698234356632816e-02 5.694913905210926e-02 5.691594560295680e-02 5.688276323595402e-02 - 5.684959196818416e-02 5.681643181673045e-02 5.678328279867616e-02 5.675014493110452e-02 5.671701823109875e-02 - 5.668390271574211e-02 5.665079840211785e-02 5.661770530730920e-02 5.658462344839940e-02 5.655155284247171e-02 - 5.651849350660935e-02 5.648544545789557e-02 5.645240871341362e-02 5.641938329024674e-02 5.638636920547815e-02 - 5.635336647619112e-02 5.632037511946889e-02 5.628739515239468e-02 5.625442659205174e-02 5.622146945552333e-02 - 5.618852375989267e-02 5.615558952224302e-02 5.612266675965761e-02 5.608975548921968e-02 5.605685572801247e-02 - 5.602396749311925e-02 5.599109080162322e-02 5.595822567060765e-02 5.592537211715578e-02 5.589253015835084e-02 - 5.585969981127608e-02 5.582688109301474e-02 5.579407402065006e-02 5.576127861126528e-02 5.572849488194366e-02 - 5.569572284976842e-02 5.566296253182280e-02 5.563021394519008e-02 5.559747710695345e-02 5.556475203419618e-02 - 5.553203874400151e-02 5.549933725345269e-02 5.546664757963294e-02 5.543396973962551e-02 5.540130375051366e-02 - 5.536864962938060e-02 5.533600739330961e-02 5.530337705938389e-02 5.527075864468672e-02 5.523815216630132e-02 - 5.520555764131094e-02 5.517297508679882e-02 5.514040451984819e-02 5.510784595754230e-02 5.507529941696442e-02 - 5.504276491519774e-02 5.501024246932555e-02 5.497773209643106e-02 5.494523381359754e-02 5.491274763790820e-02 - 5.488027358644629e-02 5.484781167629507e-02 5.481536192453777e-02 5.478292434825763e-02 5.475049896453790e-02 - 5.471808579046181e-02 5.468568484311261e-02 5.465329613957354e-02 5.462091969692785e-02 5.458855553225877e-02 - 5.455620366264955e-02 5.452386410518342e-02 5.449153687694363e-02 5.445922199501343e-02 5.442691947647604e-02 - 5.439462933841474e-02 5.436235159791274e-02 5.433008627205328e-02 5.429783337791962e-02 5.426559293259499e-02 - 5.423336495316264e-02 5.420114945670580e-02 5.416894646030773e-02 5.413675598105167e-02 5.410457803602083e-02 - 5.407241264229849e-02 5.404025981696787e-02 5.400811957711223e-02 5.397599193981480e-02 5.394387692215881e-02 - 5.391177454122753e-02 5.387968481410418e-02 5.384760775787202e-02 5.381554338961427e-02 5.378349172641418e-02 - 5.375145278535501e-02 5.371942658351998e-02 5.368741313799234e-02 5.365541246585533e-02 5.362342458419220e-02 - 5.359144951008617e-02 5.355948726062051e-02 5.352753785287844e-02 5.349560130394321e-02 5.346367763089808e-02 - 5.343176685082626e-02 5.339986898081100e-02 5.336798403793557e-02 5.333611203928318e-02 5.330425300193709e-02 - 5.327240694298052e-02 5.324057387949673e-02 5.320875382856897e-02 5.317694680728046e-02 5.314515283271445e-02 - 5.311337192195419e-02 5.308160409208292e-02 5.304984936018387e-02 5.301810774334029e-02 5.298637925860694e-02 - 5.295466392210174e-02 5.292296174881576e-02 5.289127275367324e-02 5.285959695159842e-02 5.282793435751552e-02 - 5.279628498634878e-02 5.276464885302243e-02 5.273302597246069e-02 5.270141635958780e-02 5.266982002932800e-02 - 5.263823699660550e-02 5.260666727634453e-02 5.257511088346935e-02 5.254356783290417e-02 5.251203813957321e-02 - 5.248052181840073e-02 5.244901888431094e-02 5.241752935222807e-02 5.238605323707637e-02 5.235459055378005e-02 - 5.232314131726334e-02 5.229170554245050e-02 5.226028324426572e-02 5.222887443763326e-02 5.219747913747734e-02 - 5.216609735872220e-02 5.213472911629205e-02 5.210337442511115e-02 5.207203330010370e-02 5.204070575619395e-02 - 5.200939180830615e-02 5.197809147136448e-02 5.194680476029321e-02 5.191553169001656e-02 5.188427227545876e-02 - 5.185302653154403e-02 5.182179447319664e-02 5.179057611534077e-02 5.175937147290068e-02 5.172818056080060e-02 - 5.169700339396475e-02 5.166583998731737e-02 5.163469035578269e-02 5.160355451428494e-02 5.157243247774834e-02 - 5.154132426109714e-02 5.151022987925555e-02 5.147914934714782e-02 5.144808267969817e-02 5.141702989183084e-02 - 5.138599099847005e-02 5.135496601454004e-02 5.132395495496503e-02 5.129295783466926e-02 5.126197466857695e-02 - 5.123100547161235e-02 5.120005025869967e-02 5.116910904476317e-02 5.113818184472704e-02 5.110726867351554e-02 - 5.107636954605289e-02 5.104548447726333e-02 5.101461348207109e-02 5.098375657540039e-02 5.095291377217546e-02 - 5.092208508732055e-02 5.089127053575987e-02 5.086047013241765e-02 5.082968389221815e-02 5.079891183008556e-02 - 5.076815396094415e-02 5.073741029971812e-02 5.070668086133172e-02 5.067596566070917e-02 5.064526471277472e-02 - 5.061457803245257e-02 5.058390563466697e-02 5.055324753434216e-02 5.052260374640234e-02 5.049197428577178e-02 - 5.046135916737467e-02 5.043075840613528e-02 5.040017201697781e-02 5.036960001482652e-02 5.033904241460560e-02 - 5.030849923123931e-02 5.027797047965189e-02 5.024745617476754e-02 5.021695633151052e-02 5.018647096480505e-02 - 5.015600008957535e-02 5.012554372074565e-02 5.009510187324022e-02 5.006467456198324e-02 5.003426180189897e-02 - 5.000386360791163e-02 4.997347999494546e-02 4.994311097792468e-02 4.991275657177353e-02 4.988241679141623e-02 - 4.985209165177702e-02 4.982178116778014e-02 4.979148535434980e-02 4.976120422641023e-02 4.973093779888569e-02 - 4.970068608670038e-02 4.967044910477855e-02 4.964022686804442e-02 4.961001939142222e-02 4.957982668983620e-02 - 4.954964877821057e-02 4.951948567146956e-02 4.948933738453741e-02 4.945920393233836e-02 4.942908532979662e-02 - 4.939898159183643e-02 4.936889273338203e-02 4.933881876935763e-02 4.930875971468749e-02 4.927871558429582e-02 - 4.924868639310685e-02 4.921867215604481e-02 4.918867288803395e-02 4.915868860399848e-02 4.912871931886263e-02 - 4.909876504755066e-02 4.906882580498677e-02 4.903890160609520e-02 4.900899246580018e-02 4.897909839902595e-02 - 4.894921942069672e-02 4.891935554573676e-02 4.888950678907025e-02 4.885967316562146e-02 4.882985469031461e-02 - 4.880005137807392e-02 4.877026324382362e-02 4.874049030248797e-02 4.871073256899117e-02 4.868099005825745e-02 - 4.865126278521108e-02 4.862155076477624e-02 4.859185401187720e-02 4.856217254143816e-02 4.853250636838338e-02 - 4.850285550763707e-02 4.847321997412347e-02 4.844359978276680e-02 4.841399494849130e-02 4.838440548622121e-02 - 4.835483141088075e-02 4.832527273739414e-02 4.829572948068564e-02 4.826620165567946e-02 4.823668927729983e-02 - 4.820719236047098e-02 4.817771092011715e-02 4.814824497116257e-02 4.811879452853147e-02 4.808935960714807e-02 - 4.805994022193662e-02 4.803053638782134e-02 4.800114811972645e-02 4.797177543257621e-02 4.794241834129482e-02 - 4.791307686080653e-02 4.788375100603556e-02 4.785444079190614e-02 4.782514623334252e-02 4.779586734526891e-02 - 4.776660414260955e-02 4.773735664028868e-02 4.770812485323050e-02 4.767890879635927e-02 4.764970848459921e-02 - 4.762052393287456e-02 4.759135515610954e-02 4.756220216922838e-02 4.753306498715533e-02 4.750394362481459e-02 - 4.747483809713041e-02 4.744574841902701e-02 4.741667460542864e-02 4.738761667125952e-02 4.735857463144388e-02 - 4.732954850090595e-02 4.730053829456995e-02 4.727154402736015e-02 4.724256571420073e-02 4.721360337001596e-02 - 4.718465700973005e-02 4.715572664826723e-02 4.712681230055175e-02 4.709791398150782e-02 4.706903170605968e-02 - 4.704016548913156e-02 4.701131534564769e-02 4.698248129053231e-02 4.695366333870963e-02 4.692486150510391e-02 - 4.689607580463934e-02 4.686730625224018e-02 4.683855286283068e-02 4.680981565133503e-02 4.678109463267748e-02 - 4.675238982178226e-02 4.672370123357359e-02 4.669502888297572e-02 4.666637278491287e-02 4.663773295430927e-02 - 4.660910940608916e-02 4.658050215517676e-02 4.655191121649629e-02 4.652333660497202e-02 4.649477833552815e-02 - 4.646623642308891e-02 4.643771088257853e-02 4.640920172892127e-02 4.638070897704132e-02 4.635223264186294e-02 - 4.632377273831036e-02 4.629532928130779e-02 4.626690228577947e-02 4.623849176664965e-02 4.621009773884253e-02 - 4.618172021728237e-02 4.615335921689338e-02 4.612501475259979e-02 4.609668683932586e-02 4.606837549199577e-02 - 4.604008072553380e-02 4.601180255486416e-02 4.598354099491107e-02 4.595529606059879e-02 4.592706776685152e-02 - 4.589885612859351e-02 4.587066116074899e-02 4.584248287824218e-02 4.581432129599732e-02 4.578617642893863e-02 - 4.575804829199037e-02 4.572993690007673e-02 4.570184226812196e-02 4.567376441105030e-02 4.564570334378597e-02 - 4.561765908125320e-02 4.558963163837623e-02 4.556162103007928e-02 4.553362727128659e-02 4.550565037692238e-02 - 4.547769036191089e-02 4.544974724117636e-02 4.542182102964300e-02 4.539391174223504e-02 4.536601939387674e-02 - 4.533814399949231e-02 4.531028557400597e-02 4.528244413234197e-02 4.525461968942453e-02 4.522681226017790e-02 - 4.519902185952628e-02 4.517124850239393e-02 4.514349220370505e-02 4.511575297838390e-02 4.508803084135470e-02 - 4.506032580754168e-02 4.503263789186907e-02 4.500496710926111e-02 4.497731347464200e-02 4.494967700293602e-02 - 4.492205770906736e-02 4.489445560796028e-02 4.486687071453899e-02 4.483930304372771e-02 4.481175261045071e-02 - 4.478421942963219e-02 4.475670351619640e-02 4.472920488506756e-02 4.470172355116988e-02 4.467425952942764e-02 - 4.464681283476502e-02 4.461938348210628e-02 4.459197148637566e-02 4.456457686249737e-02 4.453719962539564e-02 - 4.450983978999472e-02 4.448249737121881e-02 4.445517238399217e-02 4.442786484323902e-02 4.440057476388359e-02 - 4.437330216085012e-02 4.434604704906282e-02 4.431880944344595e-02 4.429158935892372e-02 4.426438681042035e-02 - 4.423720181286010e-02 4.421003438116718e-02 4.418288453026584e-02 4.415575227508029e-02 4.412863763053477e-02 - 4.410154061155352e-02 4.407446123306075e-02 4.404739950998071e-02 4.402035545723762e-02 4.399332908975571e-02 - 4.396632042245923e-02 4.393932947027238e-02 4.391235624811941e-02 4.388540077092456e-02 4.385846305361203e-02 - 4.383154311110608e-02 4.380464095833093e-02 4.377775661021081e-02 4.375089008166996e-02 4.372404138763258e-02 - 4.369721054302294e-02 4.367039756276526e-02 4.364360246178376e-02 4.361682525500267e-02 4.359006595734623e-02 - 4.356332458373868e-02 4.353660114910423e-02 4.350989566836711e-02 4.348320815645158e-02 4.345653862828184e-02 - 4.342988709878214e-02 4.340325358287669e-02 4.337663809548974e-02 4.335004065154552e-02 4.332346126596825e-02 - 4.329689995368217e-02 4.327035672961151e-02 4.324383160868049e-02 4.321732460581335e-02 4.319083573593433e-02 - 4.316436501396765e-02 4.313791245483754e-02 4.311147807346823e-02 4.308506188478395e-02 4.305866390370894e-02 - 4.303228414516742e-02 4.300592262408363e-02 4.297957935538180e-02 4.295325435398616e-02 4.292694763482094e-02 - 4.290065921281035e-02 4.287438910287866e-02 4.284813731995007e-02 4.282190387894883e-02 4.279568879479917e-02 - 4.276949208242530e-02 4.274331375675147e-02 4.271715383270192e-02 4.269101232520085e-02 4.266488924917250e-02 - 4.263878461954113e-02 4.261269845123093e-02 4.258663075916616e-02 4.256058155827103e-02 4.253455086346980e-02 - 4.250853868968667e-02 4.248254505184589e-02 4.245656996487169e-02 4.243061344368828e-02 4.240467550321991e-02 - 4.237875615839081e-02 4.235285542412521e-02 4.232697331534734e-02 4.230110984698143e-02 4.227526503395169e-02 - 4.224943889118240e-02 4.222363143359775e-02 4.219784267612198e-02 4.217207263367933e-02 4.214632132119402e-02 - 4.212058875359029e-02 4.209487494579236e-02 4.206917991272448e-02 4.204350366931086e-02 4.201784623047573e-02 - 4.199220761114335e-02 4.196658782623791e-02 4.194098689068368e-02 4.191540481940486e-02 4.188984162732570e-02 - 4.186429732937041e-02 4.183877194046326e-02 4.181326547552844e-02 4.178777794949019e-02 4.176230937727277e-02 - 4.173685977380037e-02 4.171142915399725e-02 4.168601753278764e-02 4.166062492509574e-02 4.163525134584580e-02 - 4.160989680996207e-02 4.158456133236876e-02 4.155924492799010e-02 4.153394761175032e-02 4.150866939857367e-02 - 4.148341030338436e-02 4.145817034110662e-02 4.143294952666470e-02 4.140774787498282e-02 4.138256540098521e-02 - 4.135740211959609e-02 4.133225804573972e-02 4.130713319434030e-02 4.128202758032209e-02 4.125694121860929e-02 - 4.123187412412615e-02 4.120682631179690e-02 4.118179779654577e-02 4.115678859329698e-02 4.113179871697477e-02 - 4.110682818250337e-02 4.108187700480702e-02 4.105694519880994e-02 4.103203277943635e-02 4.100713976161051e-02 - 4.098226616025662e-02 4.095741199029894e-02 4.093257726666168e-02 4.090776200426908e-02 4.088296621804536e-02 - 4.085818992291476e-02 4.083343313380151e-02 4.080869586562985e-02 4.078397813332400e-02 4.075927995180818e-02 - 4.073460133600665e-02 4.070994230084361e-02 4.068530286124331e-02 4.066068303212998e-02 4.063608282842784e-02 - 4.061150226506113e-02 4.058694135695408e-02 4.056240011903092e-02 4.053787856621588e-02 4.051337671343318e-02 - 4.048889457560707e-02 4.046443216766178e-02 4.043998950452153e-02 4.041556660111054e-02 4.039116347235307e-02 - 4.036678013317334e-02 4.034241659849556e-02 4.031807288324400e-02 4.029374900234285e-02 4.026944497071637e-02 - 4.024516080328877e-02 4.022089651498431e-02 4.019665212072718e-02 4.017242763544165e-02 4.014822307405193e-02 - 4.012403845148225e-02 4.009987378265685e-02 4.007572908249996e-02 4.005160436593580e-02 4.002749964788860e-02 - 4.000341494328261e-02 3.997935026862905e-02 3.995530565020248e-02 3.993128111798760e-02 3.990727670197625e-02 - 3.988329243216027e-02 3.985932833853151e-02 3.983538445108181e-02 3.981146079980302e-02 3.978755741468697e-02 - 3.976367432572553e-02 3.973981156291052e-02 3.971596915623379e-02 3.969214713568721e-02 3.966834553126258e-02 - 3.964456437295178e-02 3.962080369074663e-02 3.959706351463900e-02 3.957334387462071e-02 3.954964480068362e-02 - 3.952596632281957e-02 3.950230847102040e-02 3.947867127527795e-02 3.945505476558409e-02 3.943145897193063e-02 - 3.940788392430945e-02 3.938432965271236e-02 3.936079618713123e-02 3.933728355755788e-02 3.931379179398419e-02 - 3.929032092640197e-02 3.926687098480308e-02 3.924344199917935e-02 3.922003399952266e-02 3.919664701582481e-02 - 3.917328107807769e-02 3.914993621627309e-02 3.912661246040292e-02 3.910330984045896e-02 3.908002838643308e-02 - 3.905676812831715e-02 3.903352909610298e-02 3.901031131978242e-02 3.898711482934733e-02 3.896393965478955e-02 - 3.894078582610091e-02 3.891765337327326e-02 3.889454232629846e-02 3.887145271516833e-02 3.884838456987474e-02 - 3.882533792040951e-02 3.880231279676451e-02 3.877930922893155e-02 3.875632724690252e-02 3.873336688066923e-02 - 3.871042816022353e-02 3.868751111555727e-02 3.866461577666229e-02 3.864174217353044e-02 3.861889033615356e-02 - 3.859606029452349e-02 3.857325207863209e-02 3.855046571847119e-02 3.852770124403264e-02 3.850495868530828e-02 - 3.848223807228996e-02 3.845953943496952e-02 3.843686280333881e-02 3.841420820738967e-02 3.839157567711395e-02 - 3.836896524250349e-02 3.834637693355013e-02 3.832381078024572e-02 3.830126681258209e-02 3.827874506055112e-02 - 3.825624555414461e-02 3.823376832335444e-02 3.821131339817244e-02 3.818888080859045e-02 3.816647058460032e-02 - 3.814408275619389e-02 3.812171735336303e-02 3.809937440609954e-02 3.807705394439530e-02 3.805475599824214e-02 - 3.803248059763190e-02 3.801022777255643e-02 3.798799755300758e-02 3.796578996897719e-02 3.794360505045710e-02 - 3.792144282743916e-02 3.789930332991522e-02 3.787718658787710e-02 3.785509263131667e-02 3.783302149022577e-02 - 3.781097319459624e-02 3.778894777441992e-02 3.776694525968866e-02 3.774496568039430e-02 3.772300906652870e-02 - 3.770107544808367e-02 3.767916485505110e-02 3.765727731742280e-02 3.763541286519063e-02 3.761357152834642e-02 - 3.759175333688204e-02 3.756995832078931e-02 3.754818651006007e-02 3.752643793468620e-02 3.750471262465951e-02 - 3.748301060997186e-02 3.746133192061509e-02 3.743967658658105e-02 3.741804463786157e-02 3.739643610444850e-02 - 3.737485101633371e-02 3.735328940350900e-02 3.733175129596625e-02 3.731023672369729e-02 3.728874571669397e-02 - 3.726727830494812e-02 3.724583451845160e-02 3.722441438719625e-02 3.720301794117391e-02 3.718164521037644e-02 - 3.716029622479566e-02 3.713897101442343e-02 3.711766960925159e-02 3.709639203927199e-02 3.707513833447647e-02 - 3.705390852485687e-02 3.703270264040504e-02 3.701152071111283e-02 3.699036276697207e-02 3.696922883797462e-02 - 3.694811895411231e-02 3.692703314537699e-02 3.690597144176051e-02 3.688493387325471e-02 3.686392046985143e-02 - 3.684293126154253e-02 3.682196627831984e-02 3.680102555017520e-02 3.678010910710046e-02 3.675921697908748e-02 - 3.673834919612807e-02 3.671750578821411e-02 3.669668678533742e-02 3.667589221748987e-02 3.665512211466327e-02 - 3.663437650684950e-02 3.661365542404037e-02 3.659295889622776e-02 3.657228695340348e-02 3.655163962555941e-02 - 3.653101694268735e-02 3.651041893477919e-02 3.648984563182674e-02 3.646929706382188e-02 3.644877326075641e-02 - 3.642827425262220e-02 3.640780006941109e-02 3.638735074111494e-02 3.636692629772557e-02 3.634652676923484e-02 - 3.632615218563458e-02 3.630580257691665e-02 3.628547797307289e-02 3.626517840409513e-02 3.624490389997524e-02 - 3.622465449070505e-02 3.620443020627639e-02 3.618423107668113e-02 3.616405713191111e-02 3.614390840195816e-02 - 3.612378491681414e-02 3.610368670647089e-02 3.608361380092025e-02 3.606356623015406e-02 3.604354402416417e-02 - 3.602354721294244e-02 3.600357582648069e-02 3.598362989477077e-02 3.596370944780453e-02 3.594381451557382e-02 - 3.592394512807047e-02 3.590410131528634e-02 3.588428310721326e-02 3.586449053384308e-02 3.584472362516764e-02 - 3.582498241117880e-02 3.580526692186839e-02 3.578557718722826e-02 3.576591323725024e-02 3.574627510192620e-02 - 3.572666281124797e-02 3.570707639520740e-02 3.568751588379632e-02 3.566798130700659e-02 3.564847269483005e-02 - 3.562899007725854e-02 3.560953348428391e-02 3.559010294589800e-02 3.557069849209266e-02 3.555132015285974e-02 - 3.553196795819106e-02 3.551264193807849e-02 3.549334212251386e-02 3.547406854148901e-02 3.545482122499580e-02 - 3.543560020302607e-02 3.541640550557167e-02 3.539723716262443e-02 3.537809520417620e-02 3.535897966021882e-02 - 3.533989056074414e-02 3.532082793574401e-02 3.530179181521027e-02 3.528278222913475e-02 3.526379920750932e-02 - 3.524484278032580e-02 3.522591297757607e-02 3.520700982925193e-02 3.518813336534525e-02 3.516928361584787e-02 - 3.515046061075164e-02 3.513166438004838e-02 3.511289495372998e-02 3.509415236178823e-02 3.507543663421501e-02 - 3.505674780100216e-02 3.503808589214152e-02 3.501945093762493e-02 3.500084296744425e-02 3.498226201159130e-02 - 3.496370810005795e-02 3.494518126283602e-02 3.492668152991737e-02 3.490820893129385e-02 3.488976349695729e-02 - 3.487134525689954e-02 3.485295424111245e-02 3.483459047958785e-02 3.481625400231760e-02 3.479794483929353e-02 - 3.477966302050750e-02 3.476140857595134e-02 3.474318153561690e-02 3.472498192949603e-02 3.470680978758058e-02 - 3.468866513986237e-02 3.467054801633326e-02 3.465245844698509e-02 3.463439646180971e-02 3.461636209079897e-02 - 3.459835536394470e-02 3.458037631123875e-02 3.456242496267296e-02 3.454450134823919e-02 3.452660549792927e-02 - 3.450873744173504e-02 3.449089720964835e-02 3.447308483166107e-02 3.445530033776500e-02 3.443754375795202e-02 - 3.441981512221395e-02 3.440211446054266e-02 3.438444180292995e-02 3.436679717936773e-02 3.434918061984778e-02 - 3.433159215436199e-02 3.431403181290218e-02 3.429649962546020e-02 3.427899562202789e-02 3.426151983259711e-02 - 3.424407228715969e-02 3.422665301570748e-02 3.420926204823232e-02 3.419189941472606e-02 3.417456514518054e-02 - 3.415725926958761e-02 3.413998181793911e-02 3.412273282022688e-02 3.410551230644278e-02 3.408832030657864e-02 - 3.407115685062630e-02 3.405402196857762e-02 3.403691569042444e-02 3.401983804615860e-02 3.400278906577194e-02 - 3.398576877925633e-02 3.396877721660357e-02 3.395181440780554e-02 3.393488038285408e-02 3.391797517174103e-02 - 3.390109880445821e-02 3.388425131099751e-02 3.386743272135074e-02 3.385064306550976e-02 3.383388237346641e-02 - 3.381715067521254e-02 3.380044800073998e-02 3.378377438004059e-02 3.376712984310620e-02 3.375051441992868e-02 - 3.373392814049984e-02 3.371737103481155e-02 3.370084313285564e-02 3.368434446462396e-02 3.366787506010836e-02 - 3.365143466564878e-02 3.363501887624541e-02 3.361862209777612e-02 3.360224500875989e-02 3.358588827878357e-02 - 3.356955147090725e-02 3.355323458431880e-02 3.353693766165054e-02 3.352066065506343e-02 3.350440352193865e-02 - 3.348816624199871e-02 3.347194881659273e-02 3.345575121630599e-02 3.343957340404732e-02 3.342341535303144e-02 - 3.340727704441876e-02 3.339115845430404e-02 3.337505954322636e-02 3.335898029706669e-02 3.334292070921326e-02 - 3.332688074834195e-02 3.331086037969291e-02 3.329485957414917e-02 3.327887831864652e-02 3.326291658484171e-02 - 3.324697433542376e-02 3.323105156623186e-02 3.321514826023114e-02 3.319926437839098e-02 3.318339989412266e-02 - 3.316755478754796e-02 3.315172903929034e-02 3.313592261295018e-02 3.312013548124740e-02 3.310436764153749e-02 - 3.308861906981869e-02 3.307288973180764e-02 3.305717959801665e-02 3.304148865245999e-02 3.302581687574703e-02 - 3.301016422142487e-02 3.299453067800234e-02 3.297891624809741e-02 3.296332088425066e-02 3.294774455685354e-02 - 3.293218725810471e-02 3.291664896225673e-02 3.290112963401578e-02 3.288562923879117e-02 3.287014777263271e-02 - 3.285468522369568e-02 3.283924155670871e-02 3.282381674440858e-02 3.280841076589561e-02 3.279302360243119e-02 - 3.277765521941309e-02 3.276230558706894e-02 3.274697470113698e-02 3.273166254219040e-02 3.271636907936865e-02 - 3.270109428250347e-02 3.268583813280482e-02 3.267060061307020e-02 3.265538168459424e-02 3.264018132671115e-02 - 3.262499953449712e-02 3.260983628233858e-02 3.259469153939318e-02 3.257956527754512e-02 3.256445748091834e-02 - 3.254936812698490e-02 3.253429718174427e-02 3.251924463148387e-02 3.250421046229880e-02 3.248919464552218e-02 - 3.247419715298105e-02 3.245921796288541e-02 3.244425706251369e-02 3.242931441545717e-02 3.241438998652282e-02 - 3.239948378141620e-02 3.238459577882156e-02 3.236972593925531e-02 3.235487424670715e-02 3.234004068301546e-02 - 3.232522522137563e-02 3.231042782696456e-02 3.229564848261764e-02 3.228088718700101e-02 3.226614390644563e-02 - 3.225141860917057e-02 3.223671128042128e-02 3.222202190260593e-02 3.220735044835789e-02 3.219269687989033e-02 - 3.217806118663362e-02 3.216344336205739e-02 3.214884337811092e-02 3.213426120193776e-02 3.211969680852602e-02 - 3.210515019435922e-02 3.209062132655478e-02 3.207611016186721e-02 3.206161670288540e-02 3.204714093648681e-02 - 3.203268282961075e-02 3.201824236239234e-02 3.200381951210604e-02 3.198941424912934e-02 3.197502654604618e-02 - 3.196065638811887e-02 3.194630377248257e-02 3.193196866763873e-02 3.191765104079724e-02 3.190335087680102e-02 - 3.188906815766901e-02 3.187480285784819e-02 3.186055494296534e-02 3.184632440204734e-02 3.183211122836238e-02 - 3.181791538780577e-02 3.180373685568510e-02 3.178957561657719e-02 3.177543165075891e-02 3.176130492904844e-02 - 3.174719542079285e-02 3.173310312097031e-02 3.171902801589959e-02 3.170497007535993e-02 3.169092927256592e-02 - 3.167690558660036e-02 3.166289900092451e-02 3.164890948767075e-02 3.163493702375719e-02 3.162098160094597e-02 - 3.160704320149037e-02 3.159312179836957e-02 3.157921735868882e-02 3.156532987076624e-02 3.155145932224658e-02 - 3.153760566663864e-02 3.152376889172848e-02 3.150994900180672e-02 3.149614595827410e-02 3.148235973399625e-02 - 3.146859031868535e-02 3.145483769408502e-02 3.144110182886523e-02 3.142738268687409e-02 3.141368026942635e-02 - 3.139999456778463e-02 3.138632554513814e-02 3.137267318073906e-02 3.135903745883740e-02 3.134541835839263e-02 - 3.133181584694165e-02 3.131822989974722e-02 3.130466051752389e-02 3.129110768114365e-02 3.127757136018487e-02 - 3.126405153214003e-02 3.125054818119363e-02 3.123706128835145e-02 3.122359081277034e-02 3.121013674152311e-02 - 3.119669908223311e-02 3.118327780512727e-02 3.116987287740892e-02 3.115648427590923e-02 3.114311198755302e-02 - 3.112975599208620e-02 3.111641625878769e-02 3.110309278026453e-02 3.108978554429882e-02 3.107649451605467e-02 - 3.106321967573116e-02 3.104996101093369e-02 3.103671850522385e-02 3.102349212552239e-02 3.101028184118182e-02 - 3.099708765215899e-02 3.098390954305432e-02 3.097074748653887e-02 3.095760146577434e-02 3.094447145973171e-02 - 3.093135744175442e-02 3.091825938652267e-02 3.090517727892404e-02 3.089211111199125e-02 3.087906086415095e-02 - 3.086602651045607e-02 3.085300802884278e-02 3.084000540267990e-02 3.082701861024971e-02 3.081404762072755e-02 - 3.080109242772720e-02 3.078815302348911e-02 3.077522937271052e-02 3.076232145526043e-02 3.074942925853004e-02 - 3.073655275969265e-02 3.072369193358731e-02 3.071084675893487e-02 3.069801722815575e-02 3.068520332655950e-02 - 3.067240502926292e-02 3.065962230727411e-02 3.064685514336771e-02 3.063410352936318e-02 3.062136743092317e-02 - 3.060864682743443e-02 3.059594172387181e-02 3.058325209340110e-02 3.057057790484611e-02 3.055791914232513e-02 - 3.054527578866520e-02 3.053264782274670e-02 3.052003521936738e-02 3.050743796632342e-02 3.049485605420712e-02 - 3.048228945948342e-02 3.046973815764381e-02 3.045720212753895e-02 3.044468135532321e-02 3.043217582076147e-02 - 3.041968549967531e-02 3.040721038082923e-02 3.039475044749309e-02 3.038230567464306e-02 3.036987604544383e-02 - 3.035746154526919e-02 3.034506215632694e-02 3.033267784558463e-02 3.032030859116679e-02 3.030795439680851e-02 - 3.029561524020229e-02 3.028329109283977e-02 3.027098194217670e-02 3.025868776986960e-02 3.024640855125834e-02 - 3.023414425922958e-02 3.022189488753165e-02 3.020966043396606e-02 3.019744085927903e-02 3.018523614254973e-02 - 3.017304628070488e-02 3.016087124712451e-02 3.014871101490015e-02 3.013656556629268e-02 3.012443489643160e-02 - 3.011231899192166e-02 3.010021782348693e-02 3.008813136953290e-02 3.007605961443153e-02 3.006400254477032e-02 - 3.005196013216448e-02 3.003993235442936e-02 3.002791921520012e-02 3.001592069144608e-02 3.000393675083135e-02 - 2.999196738372897e-02 2.998001257673401e-02 2.996807230790781e-02 2.995614654679549e-02 2.994423528130847e-02 - 2.993233851118915e-02 2.992045620999083e-02 2.990858835120550e-02 2.989673491731453e-02 2.988489589805536e-02 - 2.987307127537464e-02 2.986126102011340e-02 2.984946511909828e-02 2.983768356331996e-02 2.982591633787642e-02 - 2.981416341477938e-02 2.980242477098497e-02 2.979070040412034e-02 2.977899028736241e-02 2.976729439085326e-02 - 2.975561271768286e-02 2.974394525020974e-02 2.973229195799546e-02 2.972065283153817e-02 2.970902785474345e-02 - 2.969741700233630e-02 2.968582025251779e-02 2.967423759388233e-02 2.966266902120933e-02 2.965111450751603e-02 - 2.963957402972690e-02 2.962804757853395e-02 2.961653513685447e-02 2.960503668212408e-02 2.959355219023237e-02 - 2.958208165129883e-02 2.957062505724755e-02 2.955918238857859e-02 2.954775362079399e-02 2.953633873283637e-02 - 2.952493771681483e-02 2.951355054848872e-02 2.950217720053436e-02 2.949081767862442e-02 2.947947196700992e-02 - 2.946814003034778e-02 2.945682185755054e-02 2.944551743582863e-02 2.943422674341014e-02 2.942294975870480e-02 - 2.941168646812421e-02 2.940043686618776e-02 2.938920093147064e-02 2.937797864134186e-02 2.936676998172867e-02 - 2.935557493479196e-02 2.934439347979633e-02 2.933322559583284e-02 2.932207127373048e-02 2.931093050463312e-02 - 2.929980326285230e-02 2.928868953142686e-02 2.927758929945683e-02 2.926650254799867e-02 2.925542925398767e-02 - 2.924436939550082e-02 2.923332296415483e-02 2.922228995044700e-02 2.921127033783603e-02 2.920026410004271e-02 - 2.918927122033416e-02 2.917829169471517e-02 2.916732549176795e-02 2.915637258777840e-02 2.914543298801943e-02 - 2.913450667577263e-02 2.912359362430894e-02 2.911269381274288e-02 2.910180723305731e-02 2.909093387402745e-02 - 2.908007369930849e-02 2.906922669822638e-02 2.905839287303405e-02 2.904757219714476e-02 2.903676465199738e-02 - 2.902597022808873e-02 2.901518890157972e-02 2.900442065055892e-02 2.899366546087253e-02 2.898292332562971e-02 - 2.897219423070421e-02 2.896147815085827e-02 2.895077507160809e-02 2.894008498122344e-02 2.892940786384609e-02 - 2.891874369517828e-02 2.890809245634708e-02 2.889745414621765e-02 2.888682874769054e-02 2.887621623583590e-02 - 2.886561659425123e-02 2.885502981116054e-02 2.884445587294774e-02 2.883389475319686e-02 2.882334643970105e-02 - 2.881281093000496e-02 2.880228819979298e-02 2.879177822929067e-02 2.878128100842524e-02 2.877079651898801e-02 - 2.876032473884395e-02 2.874986564740009e-02 2.873941924390505e-02 2.872898552052601e-02 2.871856444638324e-02 - 2.870815600507148e-02 2.869776018641480e-02 2.868737697516582e-02 2.867700634591397e-02 2.866664827916806e-02 - 2.865630278319325e-02 2.864596983917359e-02 2.863564941328856e-02 2.862534149829953e-02 2.861504608429113e-02 - 2.860476315234840e-02 2.859449267740666e-02 2.858423464566411e-02 2.857398905422620e-02 2.856375588402207e-02 - 2.855353511594846e-02 2.854332673804624e-02 2.853313073796621e-02 2.852294709429606e-02 2.851277577543872e-02 - 2.850261678440491e-02 2.849247012219593e-02 2.848233575178603e-02 2.847221365657614e-02 2.846210383116990e-02 - 2.845200625935100e-02 2.844192091752946e-02 2.843184778466237e-02 2.842178686053369e-02 2.841173813547823e-02 - 2.840170158739025e-02 2.839167719418843e-02 2.838166494245600e-02 2.837166482484053e-02 2.836167681707307e-02 - 2.835170090137019e-02 2.834173707461769e-02 2.833178532393912e-02 2.832184563033358e-02 2.831191797277370e-02 - 2.830200233825938e-02 2.829209871310940e-02 2.828220707523810e-02 2.827232741579271e-02 2.826245972853687e-02 - 2.825260399229306e-02 2.824276019064247e-02 2.823292831178126e-02 2.822310834132040e-02 2.821330025651807e-02 - 2.820350403438503e-02 2.819371967866794e-02 2.818394718049788e-02 2.817418651237375e-02 2.816443766090156e-02 - 2.815470061416237e-02 2.814497535504664e-02 2.813526186206681e-02 2.812556012131105e-02 2.811587013236315e-02 - 2.810619188120791e-02 2.809652534562629e-02 2.808687050311100e-02 2.807722734684383e-02 2.806759586949595e-02 - 2.805797603975531e-02 2.804836784541272e-02 2.803877128655403e-02 2.802918634812817e-02 2.801961300908425e-02 - 2.801005124931340e-02 2.800050106254358e-02 2.799096243185147e-02 2.798143533065562e-02 2.797191976200169e-02 - 2.796241571829330e-02 2.795292316767612e-02 2.794344209750147e-02 2.793397250080147e-02 2.792451436474921e-02 - 2.791506766429417e-02 2.790563238187514e-02 2.789620852426368e-02 2.788679607109519e-02 2.787739499448651e-02 - 2.786800529276515e-02 2.785862695250820e-02 2.784925995023579e-02 2.783990426851568e-02 2.783055990112446e-02 - 2.782122684523413e-02 2.781190507602721e-02 2.780259457625915e-02 2.779329533996523e-02 2.778400734510273e-02 - 2.777473057425486e-02 2.776546502209671e-02 2.775621067523501e-02 2.774696751775778e-02 2.773773553529171e-02 - 2.772851471226555e-02 2.771930503638066e-02 2.771010650156085e-02 2.770091908311444e-02 2.769174275675288e-02 - 2.768257752750487e-02 2.767342338343482e-02 2.766428030170250e-02 2.765514827509389e-02 2.764602728937508e-02 - 2.763691732224667e-02 2.762781835629091e-02 2.761873038318760e-02 2.760965340016332e-02 2.760058738918467e-02 - 2.759153233095657e-02 2.758248821223181e-02 2.757345502668101e-02 2.756443275844788e-02 2.755542137569210e-02 - 2.754642087861812e-02 2.753743126859248e-02 2.752845251726651e-02 2.751948461051369e-02 2.751052754088128e-02 - 2.750158129051000e-02 2.749264584112846e-02 2.748372117908398e-02 2.747480730190011e-02 2.746590419839729e-02 - 2.745701184777745e-02 2.744813023052759e-02 2.743925933666562e-02 2.743039916197098e-02 2.742154968107790e-02 - 2.741271087850060e-02 2.740388275814067e-02 2.739506530469222e-02 2.738625849608251e-02 2.737746231424592e-02 - 2.736867675514432e-02 2.735990180809817e-02 2.735113743878892e-02 2.734238364845174e-02 2.733364044336462e-02 - 2.732490778587926e-02 2.731618566204183e-02 2.730747407386686e-02 2.729877300249025e-02 2.729008242908668e-02 - 2.728140234030172e-02 2.727273272900814e-02 2.726407358354408e-02 2.725542488697956e-02 2.724678662927163e-02 - 2.723815879907967e-02 2.722954137935252e-02 2.722093434732608e-02 2.721233769152850e-02 2.720375141931018e-02 - 2.719517551218435e-02 2.718660994644712e-02 2.717805471481514e-02 2.716950980584153e-02 2.716097520393317e-02 - 2.715245089289530e-02 2.714393686286031e-02 2.713543310581999e-02 2.712693960497614e-02 2.711845634782483e-02 - 2.710998332519429e-02 2.710152051958041e-02 2.709306791441093e-02 2.708462549834906e-02 2.707619326918369e-02 - 2.706777121480425e-02 2.705935930907671e-02 2.705095754483260e-02 2.704256591454058e-02 2.703418439795306e-02 - 2.702581298145425e-02 2.701745165546447e-02 2.700910041075726e-02 2.700075923746808e-02 2.699242812272907e-02 - 2.698410704764140e-02 2.697579599978723e-02 2.696749496984126e-02 2.695920394125775e-02 2.695092290187428e-02 - 2.694265184396634e-02 2.693439075649869e-02 2.692613962541774e-02 2.691789843589869e-02 2.690966718080280e-02 - 2.690144584430361e-02 2.689323440003169e-02 2.688503284907665e-02 2.687684119009101e-02 2.686865940030225e-02 - 2.686048746353486e-02 2.685232536881714e-02 2.684417310662326e-02 2.683603066151065e-02 2.682789801897943e-02 - 2.681977517552054e-02 2.681166212021913e-02 2.680355883616239e-02 2.679546530889016e-02 2.678738152752996e-02 - 2.677930748200765e-02 2.677124315479004e-02 2.676318853591112e-02 2.675514362231527e-02 2.674710839396962e-02 - 2.673908283555094e-02 2.673106694339361e-02 2.672306070150655e-02 2.671506409151823e-02 2.670707710108217e-02 - 2.669909972943648e-02 2.669113197027321e-02 2.668317379682501e-02 2.667522519875436e-02 2.666728617090520e-02 - 2.665935669311371e-02 2.665143675159882e-02 2.664352634032146e-02 2.663562545659268e-02 2.662773408361464e-02 - 2.661985219717407e-02 2.661197979572226e-02 2.660411687169956e-02 2.659626340488144e-02 2.658841937631547e-02 - 2.658058477937751e-02 2.657275961893512e-02 2.656494387358596e-02 2.655713752275513e-02 2.654934056348008e-02 - 2.654155298332925e-02 2.653377476657220e-02 2.652600590198415e-02 2.651824638075199e-02 2.651049619255404e-02 - 2.650275532091429e-02 2.649502375487615e-02 2.648730148802552e-02 2.647958851263073e-02 2.647188480891689e-02 - 2.646419035368700e-02 2.645650515131691e-02 2.644882919484906e-02 2.644116246069965e-02 2.643350494181170e-02 - 2.642585663084689e-02 2.641821751242615e-02 2.641058756892747e-02 2.640296679007395e-02 2.639535517653221e-02 - 2.638775271175803e-02 2.638015937698240e-02 2.637257516664822e-02 2.636500007332271e-02 2.635743408373907e-02 - 2.634987717633525e-02 2.634232934391862e-02 2.633479058525924e-02 2.632726088227431e-02 2.631974022390311e-02 - 2.631222860499385e-02 2.630472600717760e-02 2.629723241433261e-02 2.628974781674581e-02 2.628227220621198e-02 - 2.627480557677242e-02 2.626734792215179e-02 2.625989921852152e-02 2.625245945041883e-02 2.624502862403611e-02 - 2.623760671958282e-02 2.623019371536040e-02 2.622278961237779e-02 2.621539440295659e-02 2.620800807254220e-02 - 2.620063060674004e-02 2.619326199404739e-02 2.618590222410475e-02 2.617855128386046e-02 2.617120916522779e-02 - 2.616387586230346e-02 2.615655135861502e-02 2.614923564213544e-02 2.614192870720641e-02 2.613463054125929e-02 - 2.612734112755428e-02 2.612006044964381e-02 2.611278850871195e-02 2.610552530050819e-02 2.609827080222275e-02 - 2.609102500359168e-02 2.608378789925431e-02 2.607655947900249e-02 2.606933972466179e-02 2.606212861946312e-02 - 2.605492616097670e-02 2.604773234503024e-02 2.604054716124884e-02 2.603337058950191e-02 2.602620261873257e-02 - 2.601904324395194e-02 2.601189244598317e-02 2.600475021758196e-02 2.599761656283118e-02 2.599049145836681e-02 - 2.598337488632347e-02 2.597626684662969e-02 2.596916733159564e-02 2.596207632537513e-02 2.595499380688753e-02 - 2.594791977426907e-02 2.594085422650568e-02 2.593379714560815e-02 2.592674851872178e-02 2.591970833661526e-02 - 2.591267658830654e-02 2.590565326173340e-02 2.589863834578747e-02 2.589163183398775e-02 2.588463371701131e-02 - 2.587764398252935e-02 2.587066261956569e-02 2.586368961749470e-02 2.585672496539723e-02 2.584976865103265e-02 - 2.584282066471713e-02 2.583588100000093e-02 2.582894964599770e-02 2.582202659070586e-02 2.581511182332461e-02 - 2.580820533343631e-02 2.580130710958863e-02 2.579441713875388e-02 2.578753541579036e-02 2.578066193633965e-02 - 2.577379668579866e-02 2.576693964640701e-02 2.576009080523955e-02 2.575325016689414e-02 2.574641771694009e-02 - 2.573959342940173e-02 2.573277731100565e-02 2.572596935753856e-02 2.571916954588383e-02 2.571237786264848e-02 - 2.570559430241213e-02 2.569881886299849e-02 2.569205152414907e-02 2.568529227185872e-02 2.567854111122693e-02 - 2.567179802594942e-02 2.566506299732867e-02 2.565833602386073e-02 2.565161709921462e-02 2.564490620914589e-02 - 2.563820333139000e-02 2.563150846268354e-02 2.562482160754986e-02 2.561814274902439e-02 2.561147187258114e-02 - 2.560480896924013e-02 2.559815402833877e-02 2.559150703774291e-02 2.558486798572520e-02 2.557823686789989e-02 - 2.557161367849433e-02 2.556499840587265e-02 2.555839103232124e-02 2.555179154834854e-02 2.554519995829834e-02 - 2.553861624178350e-02 2.553204037844031e-02 2.552547237202886e-02 2.551891221538829e-02 2.551235989397021e-02 - 2.550581539575596e-02 2.549927871458803e-02 2.549274984258965e-02 2.548622875540724e-02 2.547971544999134e-02 - 2.547320993631275e-02 2.546671219025347e-02 2.546022219347805e-02 2.545373994243675e-02 2.544726542971977e-02 - 2.544079864501286e-02 2.543433957656028e-02 2.542788821576999e-02 2.542144455508066e-02 2.541500858637495e-02 - 2.540858030019949e-02 2.540215968413957e-02 2.539574672197945e-02 2.538934140646816e-02 2.538294373410821e-02 - 2.537655369660362e-02 2.537017128263758e-02 2.536379648098229e-02 2.535742928550868e-02 2.535106968465225e-02 - 2.534471766277936e-02 2.533837321084466e-02 2.533203632423742e-02 2.532570699881585e-02 2.531938521813243e-02 - 2.531307097096266e-02 2.530676425602581e-02 2.530046505932213e-02 2.529417336607690e-02 2.528788916915281e-02 - 2.528161246489754e-02 2.527534324609989e-02 2.526908149634068e-02 2.526282720495094e-02 2.525658036572961e-02 - 2.525034097275206e-02 2.524410901058027e-02 2.523788446449190e-02 2.523166734234336e-02 2.522545763237074e-02 - 2.521925530838600e-02 2.521306037097086e-02 2.520687281776321e-02 2.520069263496993e-02 2.519451980442291e-02 - 2.518835431925369e-02 2.518219618546694e-02 2.517604538654039e-02 2.516990190396150e-02 2.516376573127799e-02 - 2.515763686639562e-02 2.515151530112912e-02 2.514540101358030e-02 2.513929399756280e-02 2.513319425347670e-02 - 2.512710177240427e-02 2.512101654329324e-02 2.511493855506050e-02 2.510886779787783e-02 2.510280425830826e-02 - 2.509674792451250e-02 2.509069880343641e-02 2.508465688466923e-02 2.507862214067907e-02 2.507259457630134e-02 - 2.506657418922008e-02 2.506056095604422e-02 2.505455486579475e-02 2.504855591546334e-02 2.504256410459500e-02 - 2.503657941982099e-02 2.503060184642849e-02 2.502463137903613e-02 2.501866800626509e-02 2.501271171663477e-02 - 2.500676250820755e-02 2.500082037092928e-02 2.499488529135626e-02 2.498895726677344e-02 2.498303628979692e-02 - 2.497712234741346e-02 2.497121542814719e-02 2.496531552247531e-02 2.495942262282587e-02 2.495353672310340e-02 - 2.494765781766853e-02 2.494178589943900e-02 2.493592095223772e-02 2.493006296439117e-02 2.492421193524048e-02 - 2.491836784922406e-02 2.491253069345717e-02 2.490670047398909e-02 2.490087718065651e-02 2.489506079631419e-02 - 2.488925131370227e-02 2.488344872747560e-02 2.487765302865731e-02 2.487186419727612e-02 2.486608223223404e-02 - 2.486030714174834e-02 2.485453889875117e-02 2.484877749156952e-02 2.484302292908405e-02 2.483727519324232e-02 - 2.483153426549052e-02 2.482580013961989e-02 2.482007281919668e-02 2.481435229933991e-02 2.480863855780388e-02 - 2.480293158683973e-02 2.479723138421890e-02 2.479153794250162e-02 2.478585124573938e-02 2.478017128120043e-02 - 2.477449805440481e-02 2.476883155587847e-02 2.476317176818658e-02 2.475751868877601e-02 2.475187231076201e-02 - 2.474623262098153e-02 2.474059960704484e-02 2.473497326224523e-02 2.472935358498410e-02 2.472374056978996e-02 - 2.471813420423485e-02 2.471253447111526e-02 2.470694136984621e-02 2.470135489678424e-02 2.469577503399494e-02 - 2.469020177298829e-02 2.468463511029760e-02 2.467907504169421e-02 2.467352155791407e-02 2.466797464651026e-02 - 2.466243429488579e-02 2.465690049712254e-02 2.465137324948606e-02 2.464585254039273e-02 2.464033836402688e-02 - 2.463483071739735e-02 2.462932958374225e-02 2.462383495186045e-02 2.461834681928389e-02 2.461286517898853e-02 - 2.460739002108202e-02 2.460192133524253e-02 2.459645911917798e-02 2.459100336526309e-02 2.458555405446716e-02 - 2.458011118496141e-02 2.457467475465895e-02 2.456924474486533e-02 2.456382114921245e-02 2.455840396700115e-02 - 2.455299319041756e-02 2.454758880740113e-02 2.454219080674820e-02 2.453679918638537e-02 2.453141393576077e-02 - 2.452603503863916e-02 2.452066249180092e-02 2.451529629410615e-02 2.450993644073534e-02 2.450458291517292e-02 - 2.449923570627392e-02 2.449389481263279e-02 2.448856022075961e-02 2.448323192252920e-02 2.447790992354739e-02 - 2.447259420740984e-02 2.446728475663024e-02 2.446198157303190e-02 2.445668465268695e-02 2.445139398411770e-02 - 2.444610955000165e-02 2.444083134675017e-02 2.443555937646448e-02 2.443029362647454e-02 2.442503408583922e-02 - 2.441978074770511e-02 2.441453360513738e-02 2.440929264714783e-02 2.440405786136508e-02 2.439882924944217e-02 - 2.439360680824694e-02 2.438839052372590e-02 2.438318038826778e-02 2.437797639360750e-02 2.437277852674977e-02 - 2.436758678074824e-02 2.436240115296091e-02 2.435722164202054e-02 2.435204823529888e-02 2.434688091817521e-02 - 2.434171968740183e-02 2.433656453724402e-02 2.433141545805634e-02 2.432627243782077e-02 2.432113546933723e-02 - 2.431600455029639e-02 2.431087967900234e-02 2.430576084399959e-02 2.430064802749307e-02 2.429554123205279e-02 - 2.429044044976694e-02 2.428534565606734e-02 2.428025685952290e-02 2.427517406275088e-02 2.427009724038350e-02 - 2.426502638834353e-02 2.425996150697585e-02 2.425490258288459e-02 2.424984960255012e-02 2.424480255754471e-02 - 2.423976144931379e-02 2.423472627405213e-02 2.422969702193537e-02 2.422467367993699e-02 2.421965624107330e-02 - 2.421464470176334e-02 2.420963904926960e-02 2.420463927567678e-02 2.419964537946393e-02 2.419465735323985e-02 - 2.418967518800793e-02 2.418469887545246e-02 2.417972840901141e-02 2.417476377855392e-02 2.416980496962540e-02 - 2.416485198688481e-02 2.415990483049387e-02 2.415496347565664e-02 2.415002792020104e-02 2.414509816788697e-02 - 2.414017420064829e-02 2.413525600526027e-02 2.413034357711665e-02 2.412543691925479e-02 2.412053602209589e-02 - 2.411564086852338e-02 2.411075145960207e-02 2.410586778967854e-02 2.410098984367492e-02 2.409611761892932e-02 - 2.409125110932578e-02 2.408639030144091e-02 2.408153519631380e-02 2.407668578962185e-02 2.407184206146642e-02 - 2.406700400909483e-02 2.406217163125833e-02 2.405734491326586e-02 2.405252385052364e-02 2.404770844026444e-02 - 2.404289866819192e-02 2.403809452984102e-02 2.403329602484744e-02 2.402850314011094e-02 2.402371586479471e-02 - 2.401893419282938e-02 2.401415812045089e-02 2.400938764313821e-02 2.400462275334547e-02 2.399986343578922e-02 - 2.399510968520409e-02 2.399036150812855e-02 2.398561888480285e-02 2.398088180164008e-02 2.397615026865237e-02 - 2.397142427338870e-02 2.396670380040281e-02 2.396198885088599e-02 2.395727942113068e-02 2.395257549962209e-02 - 2.394787706723708e-02 2.394318412617158e-02 2.393849668455232e-02 2.393381472012022e-02 2.392913822141401e-02 - 2.392446719065216e-02 2.391980162598514e-02 2.391514151312970e-02 2.391048683154523e-02 2.390583758880722e-02 - 2.390119378770886e-02 2.389655541357522e-02 2.389192245255953e-02 2.388729489743550e-02 2.388267274893805e-02 - 2.387805599705324e-02 2.387344463051915e-02 2.386883864637205e-02 2.386423804212813e-02 2.385964281176755e-02 - 2.385505294183017e-02 2.385046842474073e-02 2.384588925674739e-02 2.384131543037479e-02 2.383674693675093e-02 - 2.383218376863605e-02 2.382762592698097e-02 2.382307340607612e-02 2.381852619200930e-02 2.381398427584630e-02 - 2.380944765139419e-02 2.380491631418275e-02 2.380039026147703e-02 2.379586948695320e-02 2.379135397827495e-02 - 2.378684372855616e-02 2.378233873403001e-02 2.377783899070361e-02 2.377334448688785e-02 2.376885521259772e-02 - 2.376437117173840e-02 2.375989235311110e-02 2.375541874056297e-02 2.375095033967465e-02 2.374648714507580e-02 - 2.374202914136664e-02 2.373757632537944e-02 2.373312869288914e-02 2.372868623536894e-02 2.372424894471153e-02 - 2.371981681484819e-02 2.371538984133524e-02 2.371096801501392e-02 2.370655132827953e-02 2.370213977833190e-02 - 2.369773335765337e-02 2.369333205880069e-02 2.368893587883010e-02 2.368454481046802e-02 2.368015884444250e-02 - 2.367577797334512e-02 2.367140218742613e-02 2.366703147963686e-02 2.366266585606776e-02 2.365830530976384e-02 - 2.365394982335759e-02 2.364959939168465e-02 2.364525401200215e-02 2.364091367903051e-02 2.363657837870221e-02 - 2.363224810602428e-02 2.362792286773459e-02 2.362360264929340e-02 2.361928743769403e-02 2.361497723470610e-02 - 2.361067203383207e-02 2.360637182449869e-02 2.360207659794005e-02 2.359778635431920e-02 2.359350109143980e-02 - 2.358922079027601e-02 2.358494544772182e-02 2.358067506765588e-02 2.357640963547734e-02 2.357214914179353e-02 - 2.356789358468287e-02 2.356364296127548e-02 2.355939726289868e-02 2.355515647729875e-02 2.355092060314220e-02 - 2.354668963726047e-02 2.354246356971432e-02 2.353824239065819e-02 2.353402609608870e-02 2.352981468856027e-02 - 2.352560815209497e-02 2.352140647526573e-02 2.351720967050562e-02 2.351301772305351e-02 2.350883061252196e-02 - 2.350464834642137e-02 2.350047092197861e-02 2.349629832802946e-02 2.349213055910952e-02 2.348796760574937e-02 - 2.348380945835795e-02 2.347965612326723e-02 2.347550759163322e-02 2.347136384068571e-02 2.346722487769892e-02 - 2.346309070523777e-02 2.345896130833473e-02 2.345483667635093e-02 2.345071680463291e-02 2.344660169327714e-02 - 2.344249133136094e-02 2.343838570884467e-02 2.343428482723373e-02 2.343018868068117e-02 2.342609726030811e-02 - 2.342201056195244e-02 2.341792857876926e-02 2.341385130156056e-02 2.340977872164902e-02 2.340571083589386e-02 - 2.340164764377465e-02 2.339758913684304e-02 2.339353530825718e-02 2.338948615385810e-02 2.338544166438565e-02 - 2.338140183238109e-02 2.337736665460082e-02 2.337333612670094e-02 2.336931024309368e-02 2.336528899670786e-02 - 2.336127237782067e-02 2.335726037932775e-02 2.335325300092871e-02 2.334925023614406e-02 2.334525207670920e-02 - 2.334125851951941e-02 2.333726955725296e-02 2.333328518197435e-02 2.332930539416707e-02 2.332533018620607e-02 - 2.332135954429912e-02 2.331739346348105e-02 2.331343194297124e-02 2.330947498175055e-02 2.330552256758802e-02 - 2.330157469245372e-02 2.329763135682490e-02 2.329369255310137e-02 2.328975827131819e-02 2.328582850377367e-02 - 2.328190324900185e-02 2.327798250467623e-02 2.327406626164597e-02 2.327015451465238e-02 2.326624725851670e-02 - 2.326234448228765e-02 2.325844618291867e-02 2.325455236057939e-02 2.325066300636415e-02 2.324677811186985e-02 - 2.324289767062798e-02 2.323902167622130e-02 2.323515012509116e-02 2.323128301561370e-02 2.322742034088871e-02 - 2.322356209250113e-02 2.321970826255392e-02 2.321585884544971e-02 2.321201383858435e-02 2.320817324137425e-02 - 2.320433704277431e-02 2.320050523099401e-02 2.319667780275936e-02 2.319285475700314e-02 2.318903609087885e-02 - 2.318522179577433e-02 2.318141186586264e-02 2.317760629632794e-02 2.317380507773795e-02 2.317000820301008e-02 - 2.316621566880872e-02 2.316242747510807e-02 2.315864361575457e-02 2.315486407850317e-02 2.315108885694486e-02 - 2.314731794816131e-02 2.314355135044316e-02 2.313978905662257e-02 2.313603105913640e-02 2.313227735329952e-02 - 2.312852793585061e-02 2.312478280157292e-02 2.312104194073204e-02 2.311730534704967e-02 2.311357301587891e-02 - 2.310984494137890e-02 2.310612112341407e-02 2.310240155989217e-02 2.309868623130452e-02 2.309497513592190e-02 - 2.309126828241582e-02 2.308756565023808e-02 2.308386723175103e-02 2.308017303542274e-02 2.307648304592169e-02 - 2.307279725617671e-02 2.306911567493640e-02 2.306543828441958e-02 2.306176507302976e-02 2.305809605235563e-02 - 2.305443121050249e-02 2.305077053229759e-02 2.304711401909808e-02 2.304346166830784e-02 2.303981347406350e-02 - 2.303616943085239e-02 2.303252953349069e-02 2.302889377643319e-02 2.302526215247478e-02 2.302163465435939e-02 - 2.301801127709388e-02 2.301439202296127e-02 2.301077688440331e-02 2.300716584594829e-02 2.300355891234385e-02 - 2.299995607931316e-02 2.299635732709070e-02 2.299276266087610e-02 2.298917208378683e-02 2.298558558107965e-02 - 2.298200314503575e-02 2.297842477288603e-02 2.297485046311076e-02 2.297128020911345e-02 2.296771400315858e-02 - 2.296415184168031e-02 2.296059371667762e-02 2.295703962066644e-02 2.295348955785851e-02 2.294994352217295e-02 - 2.294640149900077e-02 2.294286348264926e-02 2.293932947451599e-02 2.293579947717141e-02 2.293227347444131e-02 - 2.292875145668869e-02 2.292523342863249e-02 2.292171938675970e-02 2.291820932208030e-02 2.291470322329688e-02 - 2.291120108573121e-02 2.290770290936340e-02 2.290420869564250e-02 2.290071843254762e-02 2.289723210840996e-02 - 2.289374972996874e-02 2.289027128684278e-02 2.288679676284003e-02 2.288332616596880e-02 2.287985949623025e-02 - 2.287639674290211e-02 2.287293789614104e-02 2.286948295143698e-02 2.286603190794522e-02 2.286258475709644e-02 - 2.285914149325583e-02 2.285570211629635e-02 2.285226661817064e-02 2.284883499242224e-02 2.284540723897847e-02 - 2.284198334984975e-02 2.283856331588243e-02 2.283514713353579e-02 2.283173480111027e-02 2.282832631556901e-02 - 2.282492166909090e-02 2.282152085461623e-02 2.281812386736860e-02 2.281473070606539e-02 2.281134136558116e-02 - 2.280795583769253e-02 2.280457411713410e-02 2.280119619914733e-02 2.279782207936136e-02 2.279445175627783e-02 - 2.279108522557549e-02 2.278772247795469e-02 2.278436350274908e-02 2.278100829770330e-02 2.277765687156956e-02 - 2.277430921150676e-02 2.277096530368425e-02 2.276762515226868e-02 2.276428875675497e-02 2.276095610802096e-02 - 2.275762718728153e-02 2.275430199700514e-02 2.275098054723153e-02 2.274766282325953e-02 2.274434881806882e-02 - 2.274103853245654e-02 2.273773195657694e-02 2.273442908251650e-02 2.273112990748000e-02 2.272783443024632e-02 - 2.272454264587135e-02 2.272125454541999e-02 2.271797012768606e-02 2.271468938883630e-02 2.271141231743784e-02 - 2.270813891155475e-02 2.270486917113991e-02 2.270160309030139e-02 2.269834065991423e-02 2.269508187421201e-02 - 2.269182673791773e-02 2.268857524219826e-02 2.268532737305624e-02 2.268208313254210e-02 2.267884251722086e-02 - 2.267560551920548e-02 2.267237214108131e-02 2.266914237609957e-02 2.266591620883689e-02 2.266269364166427e-02 - 2.265947467384046e-02 2.265625929499294e-02 2.265304750285308e-02 2.264983929495161e-02 2.264663466331073e-02 - 2.264343359962570e-02 2.264023610100446e-02 2.263704217283995e-02 2.263385180078203e-02 2.263066497176033e-02 - 2.262748170200772e-02 2.262430198020481e-02 2.262112578516977e-02 2.261795313211606e-02 2.261478401664109e-02 - 2.261161841743119e-02 2.260845633522814e-02 2.260529777070043e-02 2.260214271924124e-02 2.259899117823321e-02 - 2.259584314154298e-02 2.259269859890657e-02 2.258955754741791e-02 2.258641998536936e-02 2.258328590829124e-02 - 2.258015531052365e-02 2.257702818646037e-02 2.257390453172050e-02 2.257078434461123e-02 2.256766762198980e-02 - 2.256455435398716e-02 2.256144453344060e-02 2.255833815784602e-02 2.255523523027356e-02 2.255213574452021e-02 - 2.254903968810603e-02 2.254594705829782e-02 2.254285785514665e-02 2.253977207653749e-02 2.253668970834607e-02 - 2.253361074658835e-02 2.253053520058667e-02 2.252746305460894e-02 2.252439429792020e-02 2.252132894054988e-02 - 2.251826697539277e-02 2.251520839162438e-02 2.251215318778324e-02 2.250910135797150e-02 2.250605289615611e-02 - 2.250300780314812e-02 2.249996607511807e-02 2.249692770517706e-02 2.249389268897849e-02 2.249086101912092e-02 - 2.248783268793952e-02 2.248480769791340e-02 2.248178604607573e-02 2.247876772289102e-02 2.247575272657626e-02 - 2.247274105420605e-02 2.246973269884927e-02 2.246672765673356e-02 2.246372592391256e-02 2.246072749418018e-02 - 2.245773236145919e-02 2.245474052366870e-02 2.245175198466864e-02 2.244876673416187e-02 2.244578475935081e-02 - 2.244280606154297e-02 2.243983064008646e-02 2.243685849064164e-02 2.243388960632717e-02 2.243092397966235e-02 - 2.242796160524575e-02 2.242500248562306e-02 2.242204661762487e-02 2.241909399183298e-02 2.241614460666303e-02 - 2.241319845819517e-02 2.241025553754803e-02 2.240731584245553e-02 2.240437937032112e-02 2.240144611432051e-02 - 2.239851607018801e-02 2.239558923444239e-02 2.239266560299412e-02 2.238974517661811e-02 2.238682795331298e-02 - 2.238391391839321e-02 2.238100306495051e-02 2.237809539304577e-02 2.237519090301935e-02 2.237228958954325e-02 - 2.236939144530989e-02 2.236649647337483e-02 2.236360466636645e-02 2.236071600836286e-02 2.235783050633204e-02 - 2.235494816009726e-02 2.235206895420678e-02 2.234919288912077e-02 2.234631996540050e-02 2.234345017408028e-02 - 2.234058350741709e-02 2.233771996217690e-02 2.233485954108143e-02 2.233200223848051e-02 2.232914804618978e-02 - 2.232629696222737e-02 2.232344898389008e-02 2.232060410657171e-02 2.231776232362639e-02 2.231492363175558e-02 - 2.231208802922137e-02 2.230925550831191e-02 2.230642606279709e-02 2.230359969032392e-02 2.230077639232617e-02 - 2.229795616382932e-02 2.229513899284023e-02 2.229232488215048e-02 2.228951382986107e-02 2.228670582046145e-02 - 2.228390085767177e-02 2.228109894426768e-02 2.227830006461064e-02 2.227550421765863e-02 2.227271140560883e-02 - 2.226992161633195e-02 2.226713484518715e-02 2.226435109357777e-02 2.226157036041665e-02 2.225879263594571e-02 - 2.225601790864145e-02 2.225324618600033e-02 2.225047746610503e-02 2.224771173578603e-02 2.224494899695189e-02 - 2.224218924606724e-02 2.223943246967720e-02 2.223667867147697e-02 2.223392785229840e-02 2.223117999944780e-02 - 2.222843510958861e-02 2.222569318138216e-02 2.222295420869658e-02 2.222021819230338e-02 2.221748513172378e-02 - 2.221475501403353e-02 2.221202783347761e-02 2.220930358964832e-02 2.220658227937696e-02 2.220386389978368e-02 - 2.220114844711944e-02 2.219843591216284e-02 2.219572629440826e-02 2.219301959936691e-02 2.219031581219321e-02 - 2.218761492468887e-02 2.218491694233576e-02 2.218222185562244e-02 2.217952965986671e-02 2.217684036403281e-02 - 2.217415395419634e-02 2.217147041795686e-02 2.216878976537657e-02 2.216611199005385e-02 2.216343708084910e-02 - 2.216076504044857e-02 2.215809586407636e-02 2.215542954392592e-02 2.215276608232491e-02 2.215010547339664e-02 - 2.214744770611955e-02 2.214479278225410e-02 2.214214070177000e-02 2.213949145934428e-02 2.213684504847090e-02 - 2.213420146383213e-02 2.213156070201421e-02 2.212892275987791e-02 2.212628763520102e-02 2.212365532631548e-02 - 2.212102582567219e-02 2.211839912707401e-02 2.211577523186081e-02 2.211315413883962e-02 2.211053584219323e-02 - 2.210792033053083e-02 2.210530760247808e-02 2.210269766011106e-02 2.210009049378774e-02 2.209748609987134e-02 - 2.209488448015577e-02 2.209228563063591e-02 2.208968954607055e-02 2.208709622107550e-02 2.208450564887732e-02 - 2.208191782589816e-02 2.207933275252874e-02 2.207675042560285e-02 2.207417084119970e-02 2.207159399606388e-02 - 2.206901988424427e-02 2.206644850045388e-02 2.206387984291528e-02 2.206131390816773e-02 2.205875069196218e-02 - 2.205619019101501e-02 2.205363240248722e-02 2.205107732226570e-02 2.204852494231603e-02 2.204597526222870e-02 - 2.204342828418220e-02 2.204088399409952e-02 2.203834238815479e-02 2.203580347352047e-02 2.203326724064265e-02 - 2.203073368487589e-02 2.202820281109562e-02 2.202567460568826e-02 2.202314905892956e-02 2.202062617713913e-02 - 2.201810595951965e-02 2.201558839960293e-02 2.201307348855861e-02 2.201056122699519e-02 2.200805161543166e-02 - 2.200554464185156e-02 2.200304030240887e-02 2.200053859846551e-02 2.199803952619762e-02 2.199554308107517e-02 - 2.199304925941878e-02 2.199055805969111e-02 2.198806947716193e-02 2.198558350490501e-02 2.198310014348315e-02 - 2.198061939050182e-02 2.197814123774413e-02 2.197566568143648e-02 2.197319271829654e-02 2.197072234409288e-02 - 2.196825456242376e-02 2.196578937054303e-02 2.196332674903257e-02 2.196086670076693e-02 2.195840923401799e-02 - 2.195595433798292e-02 2.195350200785295e-02 2.195105224287541e-02 2.194860503638501e-02 2.194616038337459e-02 - 2.194371828086876e-02 2.194127872478465e-02 2.193884171275727e-02 2.193640724439015e-02 2.193397531871202e-02 - 2.193154592984012e-02 2.192911906730429e-02 2.192669472874541e-02 2.192427291582612e-02 2.192185362988310e-02 - 2.191943685926103e-02 2.191702259589666e-02 2.191461084837004e-02 2.191220161094460e-02 2.190979487232746e-02 - 2.190739062981033e-02 2.190498888177591e-02 2.190258962778606e-02 2.190019287048831e-02 2.189779860038415e-02 - 2.189540680312951e-02 2.189301748590321e-02 2.189063064823816e-02 2.188824627921663e-02 2.188586438035036e-02 - 2.188348494945867e-02 2.188110797669410e-02 2.187873346273279e-02 2.187636140793982e-02 2.187399180563438e-02 - 2.187162464701073e-02 2.186925992764394e-02 2.186689765219864e-02 2.186453782016761e-02 2.186218042520733e-02 - 2.185982545624109e-02 2.185747291143151e-02 2.185512279286289e-02 2.185277509428750e-02 2.185042981497303e-02 - 2.184808695595145e-02 2.184574650317918e-02 2.184340845337333e-02 2.184107281435048e-02 2.183873957690715e-02 - 2.183640873122354e-02 2.183408027442373e-02 2.183175421068970e-02 2.182943053984947e-02 2.182710925220595e-02 - 2.182479034512406e-02 2.182247381639650e-02 2.182015965839264e-02 2.181784786935527e-02 2.181553844939510e-02 - 2.181323139439093e-02 2.181092669994856e-02 2.180862436262286e-02 2.180632438083940e-02 2.180402674952244e-02 - 2.180173146217098e-02 2.179943851892379e-02 2.179714791838810e-02 2.179485965603752e-02 2.179257372764807e-02 - 2.179029013045416e-02 2.178800886254997e-02 2.178572991731780e-02 2.178345329019238e-02 2.178117898198011e-02 - 2.177890698980304e-02 2.177663730909087e-02 2.177436993586566e-02 2.177210486810286e-02 2.176984210277431e-02 - 2.176758163245009e-02 2.176532345522340e-02 2.176306757137086e-02 2.176081397536724e-02 2.175856266623576e-02 - 2.175631364444715e-02 2.175406689861889e-02 2.175182242380624e-02 2.174958022311289e-02 2.174734029291431e-02 - 2.174510262809328e-02 2.174286722491656e-02 2.174063408336708e-02 2.173840320169586e-02 2.173617457340815e-02 - 2.173394819180500e-02 2.173172405255836e-02 2.172950215559655e-02 2.172728250040623e-02 2.172506508580887e-02 - 2.172284990969628e-02 2.172063696250313e-02 2.171842623537083e-02 2.171621773566752e-02 2.171401146093844e-02 - 2.171180740120238e-02 2.170960555830954e-02 2.170740592901658e-02 2.170520850408856e-02 2.170301328419004e-02 - 2.170082027006994e-02 2.169862945830807e-02 2.169644084240343e-02 2.169425441572978e-02 2.169207017401216e-02 - 2.168988812007480e-02 2.168770825534887e-02 2.168553057272023e-02 2.168335506533793e-02 2.168118172867985e-02 - 2.167901056214399e-02 2.167684156632982e-02 2.167467473989915e-02 2.167251007478243e-02 2.167034756604321e-02 - 2.166818721221639e-02 2.166602901099679e-02 2.166387295840019e-02 2.166171905012346e-02 2.165956728718834e-02 - 2.165741766632386e-02 2.165527017845730e-02 2.165312482355555e-02 2.165098160273919e-02 2.164884051303741e-02 - 2.164670154730472e-02 2.164456469954934e-02 2.164242996946321e-02 2.164029735885670e-02 2.163816686523918e-02 - 2.163603847533059e-02 2.163391219068715e-02 2.163178801684997e-02 2.162966593882407e-02 2.162754595404139e-02 - 2.162542806873079e-02 2.162331227177066e-02 2.162119856181649e-02 2.161908694674025e-02 2.161697741144211e-02 - 2.161486994763257e-02 2.161276456243416e-02 2.161066125301312e-02 2.160856001324272e-02 2.160646083892226e-02 - 2.160436373197112e-02 2.160226869104043e-02 2.160017570438035e-02 2.159808476849354e-02 2.159599588501710e-02 - 2.159390905460169e-02 2.159182427010056e-02 2.158974152429478e-02 2.158766082444429e-02 2.158558216760809e-02 - 2.158350554187339e-02 2.158143094233737e-02 2.157935837033232e-02 2.157728782941571e-02 2.157521931196140e-02 - 2.157315281164952e-02 2.157108832745493e-02 2.156902585566251e-02 2.156696539445298e-02 2.156490694526656e-02 - 2.156285049964247e-02 2.156079605212440e-02 2.155874360997529e-02 2.155669316474123e-02 2.155464470676604e-02 - 2.155259824484399e-02 2.155055377365348e-02 2.154851128035285e-02 2.154647076406023e-02 2.154443222886153e-02 - 2.154239567713112e-02 2.154036109691455e-02 2.153832848380287e-02 2.153629784162443e-02 2.153426916110383e-02 - 2.153224243839968e-02 2.153021767928900e-02 2.152819487735599e-02 2.152617402486068e-02 2.152415511969989e-02 - 2.152213816346627e-02 2.152012315489333e-02 2.151811008517867e-02 2.151609895106827e-02 2.151408975350627e-02 - 2.151208249405811e-02 2.151007716412923e-02 2.150807375412716e-02 2.150607227139823e-02 2.150407271389111e-02 - 2.150207507178008e-02 2.150007934512424e-02 2.149808553345600e-02 2.149609363244227e-02 2.149410363369511e-02 - 2.149211553597770e-02 2.149012934592863e-02 2.148814505588094e-02 2.148616265955859e-02 2.148418215959600e-02 - 2.148220354775919e-02 2.148022681859241e-02 2.147825198020547e-02 2.147627902590631e-02 2.147430794498996e-02 - 2.147233873858447e-02 2.147037140717467e-02 2.146840594879004e-02 2.146644235912430e-02 2.146448063553682e-02 - 2.146252077578778e-02 2.146056277288728e-02 2.145860662318243e-02 2.145665232726965e-02 2.145469988438242e-02 - 2.145274929256557e-02 2.145080054831608e-02 2.144885364454498e-02 2.144690857746641e-02 2.144496534942983e-02 - 2.144302395654175e-02 2.144108439499599e-02 2.143914666610025e-02 2.143721076355154e-02 2.143527668029283e-02 - 2.143334441800114e-02 2.143141397685691e-02 2.142948535268880e-02 2.142755853497146e-02 2.142563352602930e-02 - 2.142371033388222e-02 2.142178894500280e-02 2.141986935358769e-02 2.141795156402302e-02 2.141603556793572e-02 - 2.141412136230918e-02 2.141220895321441e-02 2.141029833297722e-02 2.140838949470163e-02 2.140648244009975e-02 - 2.140457716697424e-02 2.140267367166504e-02 2.140077195168551e-02 2.139887200433115e-02 2.139697382547902e-02 - 2.139507740888590e-02 2.139318275720074e-02 2.139128987343195e-02 2.138939874415982e-02 2.138750936775835e-02 - 2.138562175102568e-02 2.138373588641631e-02 2.138185176599392e-02 2.137996938652284e-02 2.137808875223814e-02 - 2.137620986251236e-02 2.137433270909064e-02 2.137245728978030e-02 2.137058360186242e-02 2.136871163953864e-02 - 2.136684140688612e-02 2.136497290390506e-02 2.136310611597474e-02 2.136124104345297e-02 2.135937769212130e-02 - 2.135751605860686e-02 2.135565613610374e-02 2.135379791822062e-02 2.135194140402438e-02 2.135008659417071e-02 - 2.134823348788390e-02 2.134638207760105e-02 2.134453236032835e-02 2.134268433814086e-02 2.134083800772077e-02 - 2.133899336411597e-02 2.133715040305821e-02 2.133530912424798e-02 2.133346952672500e-02 2.133163160670673e-02 - 2.132979536297411e-02 2.132796079152963e-02 2.132612788229375e-02 2.132429663915477e-02 2.132246706798375e-02 - 2.132063916037057e-02 2.131881290769116e-02 2.131698830582932e-02 2.131516535978050e-02 2.131334407028698e-02 - 2.131152443198118e-02 2.130970643552249e-02 2.130789007885127e-02 2.130607536669811e-02 2.130426229682303e-02 - 2.130245086421657e-02 2.130064106313053e-02 2.129883288837854e-02 2.129702633875496e-02 2.129522141788389e-02 - 2.129341812290223e-02 2.129161644909972e-02 2.128981639414264e-02 2.128801795585396e-02 2.128622113110773e-02 - 2.128442591509673e-02 2.128263230760480e-02 2.128084030772261e-02 2.127904990395241e-02 2.127726109953179e-02 - 2.127547390424031e-02 2.127368830171838e-02 2.127190428479188e-02 2.127012186038021e-02 2.126834102886177e-02 - 2.126656178481652e-02 2.126478411995624e-02 2.126300803603507e-02 2.126123353191450e-02 2.125946059821390e-02 - 2.125768923851055e-02 2.125591945439615e-02 2.125415123382016e-02 2.125238457915817e-02 2.125061949358618e-02 - 2.124885596288304e-02 2.124709398735697e-02 2.124533357303348e-02 2.124357470952245e-02 2.124181739435340e-02 - 2.124006163206048e-02 2.123830741948956e-02 2.123655475001017e-02 2.123480361731545e-02 2.123305402409987e-02 - 2.123130596739953e-02 2.122955943693203e-02 2.122781443910126e-02 2.122607097723360e-02 2.122432904130337e-02 - 2.122258862659696e-02 2.122084973282204e-02 2.121911236175234e-02 2.121737650789419e-02 2.121564216387619e-02 - 2.121390932803162e-02 2.121217800425756e-02 2.121044819455527e-02 2.120871988671843e-02 2.120699307684077e-02 - 2.120526776795157e-02 2.120354395552526e-02 2.120182163603621e-02 2.120010080901829e-02 2.119838147500087e-02 - 2.119666363123091e-02 2.119494727091758e-02 2.119323238927472e-02 2.119151898655034e-02 2.118980706773010e-02 - 2.118809662574528e-02 2.118638765303925e-02 2.118468015121633e-02 2.118297411864271e-02 2.118126955146517e-02 - 2.117956644637810e-02 2.117786480292237e-02 2.117616462067450e-02 2.117446589411339e-02 2.117276862084477e-02 - 2.117107280130004e-02 2.116937843379139e-02 2.116768551256503e-02 2.116599403067535e-02 2.116430399205533e-02 - 2.116261539753040e-02 2.116092824074994e-02 2.115924251858398e-02 2.115755822756320e-02 2.115587536308644e-02 - 2.115419393062315e-02 2.115251393109511e-02 2.115083534999197e-02 2.114915818684827e-02 2.114748244571777e-02 - 2.114580812117730e-02 2.114413521000233e-02 2.114246371011731e-02 2.114079361630021e-02 2.113912493113981e-02 - 2.113745765864524e-02 2.113579178347091e-02 2.113412730283017e-02 2.113246422731517e-02 2.113080255018658e-02 - 2.112914226466844e-02 2.112748336987266e-02 2.112582586239263e-02 2.112416973838773e-02 2.112251499585494e-02 - 2.112086163946853e-02 2.111920966923609e-02 2.111755907231158e-02 2.111590984741022e-02 2.111426199652882e-02 - 2.111261551330255e-02 2.111097039854193e-02 2.110932665501722e-02 2.110768427494188e-02 2.110604325159932e-02 - 2.110440358337455e-02 2.110276527755971e-02 2.110112832954347e-02 2.109949272542061e-02 2.109785847270291e-02 - 2.109622557382813e-02 2.109459401840321e-02 2.109296380279178e-02 2.109133492634166e-02 2.108970738897449e-02 - 2.108808119187406e-02 2.108645633261542e-02 2.108483280177793e-02 2.108321059649476e-02 2.108158971816587e-02 - 2.107997016818712e-02 2.107835194176262e-02 2.107673503228282e-02 2.107511943992769e-02 2.107350516482023e-02 - 2.107189220511111e-02 2.107028055587330e-02 2.106867021606288e-02 2.106706118735907e-02 2.106545346293816e-02 - 2.106384703796383e-02 2.106224191316689e-02 2.106063808955507e-02 2.105903556250238e-02 2.105743432153898e-02 - 2.105583437513380e-02 2.105423572746437e-02 2.105263836035830e-02 2.105104227142354e-02 2.104944746729932e-02 - 2.104785395134047e-02 2.104626171573087e-02 2.104467074966839e-02 2.104308105452007e-02 2.104149263222363e-02 - 2.103990548218236e-02 2.103831959968388e-02 2.103673498293864e-02 2.103515163200819e-02 2.103356953798411e-02 - 2.103198869775456e-02 2.103040911733209e-02 2.102883079574534e-02 2.102725372695269e-02 2.102567790273802e-02 - 2.102410332486244e-02 2.102252999507990e-02 2.102095790737760e-02 2.101938706174730e-02 2.101781745879964e-02 - 2.101624909192282e-02 2.101468195450770e-02 2.101311604447429e-02 2.101155137000445e-02 2.100998792857284e-02 - 2.100842571064132e-02 2.100686471849675e-02 2.100530495078897e-02 2.100374640001838e-02 2.100218906014547e-02 - 2.100063293273019e-02 2.099907802537045e-02 2.099752433031871e-02 2.099597184169578e-02 2.099442056340826e-02 - 2.099287048844137e-02 2.099132161182849e-02 2.098977394056553e-02 2.098822746767990e-02 2.098668218492037e-02 - 2.098513809937855e-02 2.098359520656010e-02 2.098205349870481e-02 2.098051298433238e-02 2.097897365788888e-02 - 2.097743550607582e-02 2.097589853771057e-02 2.097436275317134e-02 2.097282814179318e-02 2.097129470444368e-02 - 2.096976244194844e-02 2.096823135057212e-02 2.096670142502171e-02 2.096517266432222e-02 2.096364507294766e-02 - 2.096211864290872e-02 2.096059336882086e-02 2.095906925902597e-02 2.095754630598820e-02 2.095602449947026e-02 - 2.095450384463222e-02 2.095298434369944e-02 2.095146599313072e-02 2.094994878341327e-02 2.094843271500539e-02 - 2.094691779352117e-02 2.094540401073429e-02 2.094389136288097e-02 2.094237985194064e-02 2.094086947133280e-02 - 2.093936021927527e-02 2.093785210108921e-02 2.093634511142213e-02 2.093483924325246e-02 2.093333449385128e-02 - 2.093183086645815e-02 2.093032836253444e-02 2.092882697593887e-02 2.092732670311165e-02 2.092582754108962e-02 - 2.092432948474122e-02 2.092283253800634e-02 2.092133670446908e-02 2.091984196956714e-02 2.091834833166288e-02 - 2.091685579922333e-02 2.091536436905392e-02 2.091387403364116e-02 2.091238478662568e-02 2.091089663391256e-02 - 2.090940957508328e-02 2.090792359986955e-02 2.090643871032298e-02 2.090495490818039e-02 2.090347218811059e-02 - 2.090199054718417e-02 2.090050998308706e-02 2.089903049243704e-02 2.089755207414248e-02 2.089607472810411e-02 - 2.089459845325996e-02 2.089312324594328e-02 2.089164910255710e-02 2.089017602427597e-02 2.088870401009232e-02 - 2.088723305634642e-02 2.088576315893389e-02 2.088429431601771e-02 2.088282652696964e-02 2.088135978615913e-02 - 2.087989409321534e-02 2.087842945395569e-02 2.087696586275656e-02 2.087550331287119e-02 2.087404180207852e-02 - 2.087258132736208e-02 2.087112188861259e-02 2.086966349090147e-02 2.086820612891688e-02 2.086674979608584e-02 - 2.086529449590395e-02 2.086384022331517e-02 2.086238697045790e-02 2.086093474039187e-02 2.085948353444753e-02 - 2.085803335091995e-02 2.085658418796912e-02 2.085513604081134e-02 2.085368890289571e-02 2.085224277300881e-02 - 2.085079765267601e-02 2.084935354393509e-02 2.084791044341373e-02 2.084646834711395e-02 2.084502725286095e-02 - 2.084358715744794e-02 2.084214805848912e-02 2.084070995598070e-02 2.083927284909677e-02 2.083783673573611e-02 - 2.083640161226469e-02 2.083496747523998e-02 2.083353432223483e-02 2.083210215303235e-02 2.083067096927498e-02 - 2.082924077044086e-02 2.082781154460241e-02 2.082638329211299e-02 2.082495602309350e-02 2.082352972509603e-02 - 2.082210439277076e-02 2.082068003454410e-02 2.081925664261260e-02 2.081783421113447e-02 2.081641274508624e-02 - 2.081499224082686e-02 2.081357269450268e-02 2.081215410878219e-02 2.081073647873721e-02 2.080931979776872e-02 - 2.080790406592918e-02 2.080648928500749e-02 2.080507545608266e-02 2.080366257645188e-02 2.080225063919177e-02 - 2.080083963814898e-02 2.079942957984240e-02 2.079802046255642e-02 2.079661227641324e-02 2.079520502452446e-02 - 2.079379870732677e-02 2.079239331877295e-02 2.079098886066600e-02 2.078958533155146e-02 2.078818272238310e-02 - 2.078678103594075e-02 2.078538027480030e-02 2.078398043169412e-02 2.078258150517176e-02 2.078118349582184e-02 - 2.077978640032045e-02 2.077839021518007e-02 2.077699493798996e-02 2.077560056860569e-02 2.077420710626992e-02 - 2.077281454908150e-02 2.077142289397691e-02 2.077003213665487e-02 2.076864227381708e-02 2.076725331084939e-02 - 2.076586524753700e-02 2.076447807479244e-02 2.076309178893910e-02 2.076170639200464e-02 2.076032188924749e-02 - 2.075893827075576e-02 2.075755552867013e-02 2.075617367037054e-02 2.075479269394757e-02 2.075341259415677e-02 - 2.075203337133167e-02 2.075065502119062e-02 2.074927754004291e-02 2.074790093527532e-02 2.074652520196147e-02 - 2.074515032814618e-02 2.074377631824518e-02 2.074240317461906e-02 2.074103089389617e-02 2.073965947285912e-02 - 2.073828890806665e-02 2.073691919635770e-02 2.073555033844026e-02 2.073418233381763e-02 2.073281517823886e-02 - 2.073144886803073e-02 2.073008340377233e-02 2.072871879147831e-02 2.072735502222402e-02 2.072599208688765e-02 - 2.072462999392301e-02 2.072326873860233e-02 2.072190831224300e-02 2.072054872378210e-02 2.071918997148765e-02 - 2.071783204556565e-02 2.071647494755481e-02 2.071511867766477e-02 2.071376323196711e-02 2.071240860565183e-02 - 2.071105479791370e-02 2.070970181180314e-02 2.070834964331268e-02 2.070699828917085e-02 2.070564775075080e-02 - 2.070429802727900e-02 2.070294911380581e-02 2.070160100113699e-02 2.070025369244763e-02 2.069890719322030e-02 - 2.069756149841416e-02 2.069621660331007e-02 2.069487250616514e-02 2.069352920972353e-02 2.069218670843115e-02 - 2.069084499406914e-02 2.068950407478504e-02 2.068816395008570e-02 2.068682460979861e-02 2.068548605525363e-02 - 2.068414828647597e-02 2.068281129879088e-02 2.068147509294542e-02 2.068013966727868e-02 2.067880501481977e-02 - 2.067747113766845e-02 2.067613803889334e-02 2.067480571527677e-02 2.067347415977921e-02 2.067214336769299e-02 - 2.067081334319025e-02 2.066948408776949e-02 2.066815559807265e-02 2.066682786498898e-02 2.066550088830383e-02 - 2.066417467341183e-02 2.066284921698086e-02 2.066152451475288e-02 2.066020056372571e-02 2.065887736182303e-02 - 2.065755490839281e-02 2.065623320354572e-02 2.065491224367795e-02 2.065359202675738e-02 2.065227255436574e-02 - 2.065095382314874e-02 2.064963582941213e-02 2.064831857270797e-02 2.064700204957123e-02 2.064568625651786e-02 - 2.064437119414936e-02 2.064305686324694e-02 2.064174326345409e-02 2.064043039179931e-02 2.063911824280925e-02 - 2.063780681176866e-02 2.063649610237503e-02 2.063518611610314e-02 2.063387684909248e-02 2.063256829217405e-02 - 2.063126044539576e-02 2.062995331851188e-02 2.062864690334512e-02 2.062734119190086e-02 2.062603618600375e-02 - 2.062473188642144e-02 2.062342829221786e-02 2.062212540064643e-02 2.062082320714733e-02 2.061952170915304e-02 - 2.061822091004314e-02 2.061692080716460e-02 2.061562139605911e-02 2.061432267954307e-02 2.061302465323251e-02 - 2.061172730955065e-02 2.061043065371613e-02 2.060913468523504e-02 2.060783939685846e-02 2.060654478913799e-02 - 2.060525086119714e-02 2.060395760866959e-02 2.060266503271371e-02 2.060137313244415e-02 2.060008190215519e-02 - 2.059879134465455e-02 2.059750146004468e-02 2.059621223782829e-02 2.059492368052522e-02 2.059363579225837e-02 - 2.059234856405708e-02 2.059106199328788e-02 2.058977608130871e-02 2.058849082556723e-02 2.058720622498806e-02 - 2.058592227959311e-02 2.058463898696043e-02 2.058335634281647e-02 2.058207434376584e-02 2.058079299573017e-02 - 2.057951229614279e-02 2.057823223269817e-02 2.057695281356401e-02 2.057567404187197e-02 2.057439590387300e-02 - 2.057311839681732e-02 2.057184152455586e-02 2.057056529173392e-02 2.056928969078429e-02 2.056801471376779e-02 - 2.056674036634529e-02 2.056546664830153e-02 2.056419355486686e-02 2.056292108306100e-02 2.056164923170236e-02 - 2.056037800067255e-02 2.055910738924650e-02 2.055783739340399e-02 2.055656800859636e-02 2.055529924146672e-02 - 2.055403109005562e-02 2.055276354110791e-02 2.055149659755915e-02 2.055023026272679e-02 2.054896453244645e-02 - 2.054769940766287e-02 2.054643488681757e-02 2.054517096062926e-02 2.054390763218316e-02 2.054264490512525e-02 - 2.054138276915942e-02 2.054012122328143e-02 2.053886027085424e-02 2.053759990682471e-02 2.053634012878631e-02 - 2.053508093799464e-02 2.053382233647706e-02 2.053256431985532e-02 2.053130687980379e-02 2.053005001911220e-02 - 2.052879373804411e-02 2.052753803104820e-02 2.052628289842169e-02 2.052502834052905e-02 2.052377435424499e-02 - 2.052252093383405e-02 2.052126807833591e-02 2.052001579579881e-02 2.051876408076618e-02 2.051751292558091e-02 - 2.051626233431153e-02 2.051501230108543e-02 2.051376281904528e-02 2.051251389905356e-02 2.051126553806812e-02 - 2.051001772450580e-02 2.050877046477720e-02 2.050752375748313e-02 2.050627759308629e-02 2.050503197764233e-02 - 2.050378691120845e-02 2.050254238346269e-02 2.050129839647772e-02 2.050005495152270e-02 2.049881204279591e-02 - 2.049756967049427e-02 2.049632783497685e-02 2.049508653204386e-02 2.049384576061373e-02 2.049260552085964e-02 - 2.049136581124810e-02 2.049012662828215e-02 2.048888796855573e-02 2.048764983217528e-02 2.048641222055239e-02 - 2.048517513365279e-02 2.048393856449956e-02 2.048270250702790e-02 2.048146696002243e-02 2.048023193267689e-02 - 2.047899742444990e-02 2.047776342204647e-02 2.047652992557144e-02 2.047529693666283e-02 2.047406445284291e-02 - 2.047283247820367e-02 2.047160101124722e-02 2.047037003705319e-02 2.046913955996649e-02 2.046790958805229e-02 - 2.046668011290463e-02 2.046545112747173e-02 2.046422263048016e-02 2.046299462941648e-02 2.046176712182623e-02 - 2.046054009863872e-02 2.045931356011635e-02 2.045808750875261e-02 2.045686194483555e-02 2.045563685869128e-02 - 2.045441224888558e-02 2.045318812405373e-02 2.045196447539730e-02 2.045074129851060e-02 2.044951860203706e-02 - 2.044829637561388e-02 2.044707461146781e-02 2.044585332076453e-02 2.044463250090934e-02 2.044341214478788e-02 - 2.044219225389736e-02 2.044097282684260e-02 2.043975385980242e-02 2.043853534979080e-02 2.043731729516990e-02 - 2.043609969584751e-02 2.043488255365452e-02 2.043366586840525e-02 2.043244963622695e-02 2.043123384788510e-02 - 2.043001850356880e-02 2.042880361352058e-02 2.042758917125052e-02 2.042637516923373e-02 2.042516160738241e-02 - 2.042394848596822e-02 2.042273580364956e-02 2.042152355668345e-02 2.042031174421715e-02 2.041910036711696e-02 - 2.041788942589821e-02 2.041667891618270e-02 2.041546883283581e-02 2.041425917723074e-02 2.041304994671302e-02 - 2.041184113736942e-02 2.041063275507356e-02 2.040942479864618e-02 2.040821725911453e-02 2.040701013329647e-02 - 2.040580342336421e-02 2.040459713364973e-02 2.040339125626194e-02 2.040218578748979e-02 2.040098073437600e-02 - 2.039977609190064e-02 2.039857185194057e-02 2.039736801200263e-02 2.039616457948628e-02 2.039496155847034e-02 - 2.039375893548800e-02 2.039255670811317e-02 2.039135487906758e-02 2.039015344139171e-02 2.038895239754324e-02 - 2.038775175394349e-02 2.038655150008423e-02 2.038535163468296e-02 2.038415216492024e-02 2.038295307932101e-02 - 2.038175437156158e-02 2.038055604740632e-02 2.037935811014152e-02 2.037816055719221e-02 2.037696338008003e-02 - 2.037576657774965e-02 2.037457015197002e-02 2.037337410306159e-02 2.037217842811476e-02 2.037098312337542e-02 - 2.036978818702816e-02 2.036859361901312e-02 2.036739941883561e-02 2.036620558232109e-02 2.036501210897116e-02 - 2.036381899981477e-02 2.036262624936801e-02 2.036143385733716e-02 2.036024182706139e-02 2.035905014947786e-02 - 2.035785882153747e-02 2.035666784977269e-02 2.035547723079831e-02 2.035428696142468e-02 2.035309704319765e-02 - 2.035190747134853e-02 2.035071824110532e-02 2.034952935293085e-02 2.034834080749865e-02 2.034715260430401e-02 - 2.034596474052595e-02 2.034477721202228e-02 2.034359001578161e-02 2.034240315367684e-02 2.034121662664043e-02 - 2.034003043357028e-02 2.033884457132868e-02 2.033765903741480e-02 2.033647382949949e-02 2.033528894162872e-02 - 2.033410437471255e-02 2.033292013620119e-02 2.033173621775026e-02 2.033055261459435e-02 2.032936933387398e-02 - 2.032818637173341e-02 2.032700371995237e-02 2.032582137330103e-02 2.032463934032926e-02 2.032345762721536e-02 - 2.032227621977112e-02 2.032109511380310e-02 2.031991431266943e-02 2.031873381713771e-02 2.031755362367381e-02 - 2.031637372822898e-02 2.031519413522404e-02 2.031401484060572e-02 2.031283583475656e-02 2.031165712768451e-02 - 2.031047872082618e-02 2.030930060067025e-02 2.030812276414845e-02 2.030694521582938e-02 2.030576796297434e-02 - 2.030459099391277e-02 2.030341430130414e-02 2.030223789822972e-02 2.030106177803277e-02 2.029988592949474e-02 - 2.029871035725545e-02 2.029753506661443e-02 2.029636005659757e-02 2.029518531267896e-02 2.029401083596470e-02 - 2.029283663654064e-02 2.029166270589052e-02 2.029048903923464e-02 2.028931563858370e-02 2.028814250195392e-02 - 2.028696962711050e-02 2.028579701358946e-02 2.028462466440920e-02 2.028345257575578e-02 2.028228073462766e-02 - 2.028110914546667e-02 2.027993781542017e-02 2.027876674182124e-02 2.027759591671596e-02 2.027642533515473e-02 - 2.027525500323221e-02 2.027408491983729e-02 2.027291508043819e-02 2.027174548650143e-02 2.027057613494678e-02 - 2.026940701983228e-02 2.026823814087089e-02 2.026706949898955e-02 2.026590109425394e-02 2.026473292320746e-02 - 2.026356498366547e-02 2.026239727592488e-02 2.026122979922282e-02 2.026006255023894e-02 2.025889552388743e-02 - 2.025772872449768e-02 2.025656215399196e-02 2.025539580342713e-02 2.025422967119250e-02 2.025306375830951e-02 - 2.025189806183918e-02 2.025073258129647e-02 2.024956731656576e-02 2.024840226339874e-02 2.024723742127980e-02 - 2.024607279125879e-02 2.024490836776212e-02 2.024374415071052e-02 2.024258014353189e-02 2.024141633571028e-02 - 2.024025272656142e-02 2.023908932762591e-02 2.023792612793740e-02 2.023676312010299e-02 2.023560031179207e-02 - 2.023443769779265e-02 2.023327527310789e-02 2.023211304323675e-02 2.023095100708355e-02 2.022978916007167e-02 - 2.022862749919407e-02 2.022746602379288e-02 2.022630473371739e-02 2.022514362648272e-02 2.022398270121405e-02 - 2.022282195791762e-02 2.022166139402294e-02 2.022050100551405e-02 2.021934078921764e-02 2.021818074920451e-02 - 2.021702088593813e-02 2.021586119314628e-02 2.021470166428228e-02 2.021354230080554e-02 2.021238311308448e-02 - 2.021122409287018e-02 2.021006523025651e-02 2.020890652716039e-02 2.020774798484683e-02 2.020658960393083e-02 - 2.020543138529554e-02 2.020427332378045e-02 2.020311541298552e-02 2.020195765397637e-02 2.020080004744672e-02 - 2.019964259236717e-02 2.019848528642001e-02 2.019732812869024e-02 2.019617111926010e-02 2.019501425544548e-02 - 2.019385753379127e-02 2.019270095135025e-02 2.019154450793482e-02 2.019038820298517e-02 2.018923203417478e-02 - 2.018807600019563e-02 2.018692010151906e-02 2.018576433995726e-02 2.018460870891364e-02 2.018345320296787e-02 - 2.018229782843392e-02 2.018114258172615e-02 2.017998745649097e-02 2.017883245877245e-02 2.017767758620927e-02 - 2.017652283054322e-02 2.017536819223788e-02 2.017421367319040e-02 2.017305927292809e-02 2.017190498313902e-02 - 2.017075080461503e-02 2.016959674752286e-02 2.016844280049332e-02 2.016728895684716e-02 2.016613522539111e-02 - 2.016498159847723e-02 2.016382807033869e-02 2.016267465040216e-02 2.016152133310211e-02 2.016036811076429e-02 - 2.015921498985646e-02 2.015806197025070e-02 2.015690904702832e-02 2.015575621731957e-02 2.015460347791708e-02 - 2.015345082711757e-02 2.015229826996444e-02 2.015114580452791e-02 2.014999342256183e-02 2.014884112402139e-02 - 2.014768891079059e-02 2.014653678283008e-02 2.014538473229735e-02 2.014423275838842e-02 2.014308087159530e-02 - 2.014192906336537e-02 2.014077732405132e-02 2.013962565684693e-02 2.013847406112768e-02 2.013732253607323e-02 - 2.013617108558620e-02 2.013501970367529e-02 2.013386838304751e-02 2.013271713092954e-02 2.013156594450895e-02 - 2.013041481517404e-02 2.012926374836556e-02 2.012811274375330e-02 2.012696179396415e-02 2.012581089842930e-02 - 2.012466005832842e-02 2.012350927388322e-02 2.012235854139777e-02 2.012120785897021e-02 2.012005722808521e-02 - 2.011890664240422e-02 2.011775609861771e-02 2.011660560342765e-02 2.011545514995805e-02 2.011430473248947e-02 - 2.011315436328775e-02 2.011200403690588e-02 2.011085374071231e-02 2.010970347811273e-02 2.010855325123000e-02 - 2.010740305829795e-02 2.010625289543029e-02 2.010510276184403e-02 2.010395265874816e-02 2.010280258124321e-02 - 2.010165252783862e-02 2.010050250168409e-02 2.009935249835288e-02 2.009820251528310e-02 2.009705255512517e-02 - 2.009590261098061e-02 2.009475267797075e-02 2.009360276160796e-02 2.009245286068316e-02 2.009130297235736e-02 - 2.009015309860190e-02 2.008900323371492e-02 2.008785337125678e-02 2.008670351711407e-02 2.008555367122358e-02 - 2.008440382812401e-02 2.008325398588614e-02 2.008210414433437e-02 2.008095430334925e-02 2.007980445913736e-02 - 2.007865461009197e-02 2.007750475755383e-02 2.007635489836262e-02 2.007520502856765e-02 2.007405514609401e-02 - 2.007290525369839e-02 2.007175535352643e-02 2.007060544261636e-02 2.006945551378952e-02 2.006830556246986e-02 - 2.006715559358176e-02 2.006600560685722e-02 2.006485559907452e-02 2.006370557035152e-02 2.006255552017783e-02 - 2.006140544519211e-02 2.006025533608720e-02 2.005910519424486e-02 2.005795502866486e-02 2.005680483150780e-02 - 2.005565460068358e-02 2.005450434307724e-02 2.005335404752871e-02 2.005220370751987e-02 2.005105333078331e-02 - 2.004990291380246e-02 2.004875245256121e-02 2.004760195075808e-02 2.004645140541610e-02 2.004530081249103e-02 - 2.004415017386308e-02 2.004299948719255e-02 2.004184874893760e-02 2.004069796075558e-02 2.003954711861807e-02 - 2.003839621652469e-02 2.003724525928808e-02 2.003609424691447e-02 2.003494317431652e-02 2.003379204407136e-02 - 2.003264085311753e-02 2.003148959193977e-02 2.003033826577724e-02 2.002918687817827e-02 2.002803542325049e-02 - 2.002688389828578e-02 2.002573230084169e-02 2.002458062668545e-02 2.002342887779152e-02 2.002227705716231e-02 - 2.002112516254241e-02 2.001997318998642e-02 2.001882113644655e-02 2.001766900292078e-02 2.001651678857442e-02 - 2.001536448981540e-02 2.001421210083374e-02 2.001305962366636e-02 2.001190706486020e-02 2.001075441600587e-02 - 2.000960167234195e-02 2.000844883687991e-02 2.000729590520412e-02 2.000614287591466e-02 2.000498975435740e-02 - 2.000383653574291e-02 2.000268321490327e-02 2.000152979351511e-02 2.000037626872929e-02 1.999922263743778e-02 - 1.999806890154111e-02 1.999691505794393e-02 1.999576110265488e-02 1.999460703886217e-02 1.999345286480270e-02 - 1.999229857569377e-02 1.999114417297134e-02 1.998998965543275e-02 1.998883501902821e-02 1.998768026399775e-02 - 1.998652538946059e-02 1.998537039260291e-02 1.998421527483334e-02 1.998306003351848e-02 1.998190465988335e-02 - 1.998074915750420e-02 1.997959352937345e-02 1.997843776879367e-02 1.997728187765045e-02 1.997612585705249e-02 - 1.997496969649909e-02 1.997381339760593e-02 1.997265696528752e-02 1.997150039002939e-02 1.997034367059401e-02 - 1.996918681208352e-02 1.996802981226081e-02 1.996687266788810e-02 1.996571537594770e-02 1.996455793197006e-02 - 1.996340033608642e-02 1.996224259309599e-02 1.996108470119043e-02 1.995992665416334e-02 1.995876844505867e-02 - 1.995761008193637e-02 1.995645156786617e-02 1.995529288784624e-02 1.995413404457776e-02 1.995297504246996e-02 - 1.995181586885687e-02 1.995065652904149e-02 1.994949703248385e-02 1.994833736513130e-02 1.994717752162546e-02 - 1.994601750553184e-02 1.994485731663886e-02 1.994369695406686e-02 1.994253641736701e-02 1.994137570693218e-02 - 1.994021481716852e-02 1.993905373876526e-02 1.993789248152490e-02 1.993673104732284e-02 1.993556942048493e-02 - 1.993440760773439e-02 1.993324561433191e-02 1.993208342679873e-02 1.993092104568069e-02 1.992975847582151e-02 - 1.992859571315939e-02 1.992743275300710e-02 1.992626959353599e-02 1.992510623927749e-02 1.992394268911061e-02 - 1.992277893654564e-02 1.992161497535049e-02 1.992045080942924e-02 1.991928644769617e-02 1.991812187931771e-02 - 1.991695709651699e-02 1.991579210148713e-02 1.991462689658082e-02 1.991346148075462e-02 1.991229584907280e-02 - 1.991113000189043e-02 1.990996393932216e-02 1.990879765723607e-02 1.990763115454515e-02 1.990646443148474e-02 - 1.990529748687400e-02 1.990413031580006e-02 1.990296291532720e-02 1.990179529310021e-02 1.990062744303953e-02 - 1.989945935329500e-02 1.989829103342642e-02 1.989712248515872e-02 1.989595370004318e-02 1.989478467737964e-02 - 1.989361541884726e-02 1.989244592499573e-02 1.989127618925862e-02 1.989010620674421e-02 1.988893597834538e-02 - 1.988776550466197e-02 1.988659478703524e-02 1.988542382727661e-02 1.988425261506333e-02 1.988308114268849e-02 - 1.988190942098788e-02 1.988073745006194e-02 1.987956522359536e-02 1.987839274079954e-02 1.987722000000555e-02 - 1.987604699732070e-02 1.987487372670402e-02 1.987370019241589e-02 1.987252640362364e-02 1.987135234678179e-02 - 1.987017801708705e-02 1.986900342417090e-02 1.986782856130232e-02 1.986665342124566e-02 1.986547800516037e-02 - 1.986430231940191e-02 1.986312636323797e-02 1.986195012209680e-02 1.986077359858922e-02 1.985959679883774e-02 - 1.985841971608161e-02 1.985724235007767e-02 1.985606470192896e-02 1.985488676268764e-02 1.985370853173279e-02 - 1.985253001389235e-02 1.985135120589531e-02 1.985017210671596e-02 1.984899271721913e-02 1.984781303008921e-02 - 1.984663304141680e-02 1.984545275323681e-02 1.984427216416261e-02 1.984309127447186e-02 1.984191008724042e-02 - 1.984072859600846e-02 1.983954679442092e-02 1.983836468369445e-02 1.983718226650526e-02 1.983599954091759e-02 - 1.983481649574990e-02 1.983363313683907e-02 1.983244947316962e-02 1.983126549121019e-02 1.983008118452795e-02 - 1.982889655650101e-02 1.982771161407836e-02 1.982652635127155e-02 1.982534075477381e-02 1.982415483542671e-02 - 1.982296859699974e-02 1.982178202865004e-02 1.982059512679342e-02 1.981940789099672e-02 1.981822032140366e-02 - 1.981703241807743e-02 1.981584417989424e-02 1.981465560415464e-02 1.981346669171603e-02 1.981227744136961e-02 - 1.981108784415540e-02 1.980989790130036e-02 1.980870761757638e-02 1.980751698807925e-02 1.980632600934410e-02 - 1.980513468056937e-02 1.980394300171975e-02 1.980275097143216e-02 1.980155858653555e-02 1.980036584235624e-02 - 1.979917273943820e-02 1.979797928262491e-02 1.979678546489206e-02 1.979559128379798e-02 1.979439674657348e-02 - 1.979320184217468e-02 1.979200656369760e-02 1.979081092352834e-02 1.978961491694981e-02 1.978841853542797e-02 - 1.978722178317891e-02 1.978602465925507e-02 1.978482715855289e-02 1.978362927697639e-02 1.978243101628911e-02 - 1.978123238058121e-02 1.978003336668686e-02 1.977883396860304e-02 1.977763418131442e-02 1.977643400902304e-02 - 1.977523345232920e-02 1.977403250607500e-02 1.977283117205557e-02 1.977162944865208e-02 1.977042732702634e-02 - 1.976922480613855e-02 1.976802188997964e-02 1.976681858355301e-02 1.976561487769950e-02 1.976441076369096e-02 - 1.976320624890566e-02 1.976200133147697e-02 1.976079600616600e-02 1.975959027757971e-02 1.975838414138116e-02 - 1.975717758909272e-02 1.975597062600439e-02 1.975476325369590e-02 1.975355546738499e-02 1.975234726242962e-02 - 1.975113863825908e-02 1.974992959762522e-02 1.974872013640206e-02 1.974751025163228e-02 1.974629994489470e-02 - 1.974508921425132e-02 1.974387805573186e-02 1.974266646519683e-02 1.974145444319864e-02 1.974024199150465e-02 - 1.973902910920840e-02 1.973781579519036e-02 1.973660204598839e-02 1.973538785240977e-02 1.973417321684443e-02 - 1.973295814730416e-02 1.973174263781577e-02 1.973052668253849e-02 1.972931027913797e-02 1.972809342747564e-02 - 1.972687612827085e-02 1.972565838187941e-02 1.972444018482310e-02 1.972322153363352e-02 1.972200242687443e-02 - 1.972078286440720e-02 1.971956284541047e-02 1.971834236691286e-02 1.971712142485657e-02 1.971590001741145e-02 - 1.971467814826898e-02 1.971345581852119e-02 1.971223302479186e-02 1.971100975804211e-02 1.970978601823674e-02 - 1.970856181065497e-02 1.970733713228995e-02 1.970611197806177e-02 1.970488634450282e-02 1.970366023582840e-02 - 1.970243364879734e-02 1.970120657299705e-02 1.969997901837739e-02 1.969875098677333e-02 1.969752246217473e-02 - 1.969629345274012e-02 1.969506396226801e-02 1.969383397141272e-02 1.969260348756574e-02 1.969137252109090e-02 - 1.969014105730648e-02 1.968890909233832e-02 1.968767662961491e-02 1.968644366805134e-02 1.968521020635475e-02 - 1.968397624286150e-02 1.968274177331172e-02 1.968150679588088e-02 1.968027131148579e-02 1.967903532058098e-02 - 1.967779882218197e-02 1.967656181292412e-02 1.967532428489620e-02 1.967408623811289e-02 1.967284768294825e-02 - 1.967160860971293e-02 1.967036900987211e-02 1.966912889102269e-02 1.966788825153749e-02 1.966664708600774e-02 - 1.966540539310703e-02 1.966416317292449e-02 1.966292042476060e-02 1.966167714455673e-02 1.966043333167102e-02 - 1.965918898702837e-02 1.965794410650064e-02 1.965669868705162e-02 1.965545272765306e-02 1.965420622710374e-02 - 1.965295918609461e-02 1.965171160585919e-02 1.965046347855766e-02 1.964921480087875e-02 1.964796557872257e-02 - 1.964671580769246e-02 1.964546548231519e-02 1.964421460325605e-02 1.964296317129598e-02 1.964171118580111e-02 - 1.964045864365522e-02 1.963920554157133e-02 1.963795187629582e-02 1.963669764477085e-02 1.963544284945441e-02 - 1.963418749362842e-02 1.963293156932153e-02 1.963167507295046e-02 1.963041800662418e-02 1.962916036936736e-02 - 1.962790216073956e-02 1.962664338014056e-02 1.962538401760687e-02 1.962412407160046e-02 1.962286355381917e-02 - 1.962160245501161e-02 1.962034076606272e-02 1.961907849332115e-02 1.961781563715828e-02 1.961655219371613e-02 - 1.961528815879130e-02 1.961402353224150e-02 1.961275831461461e-02 1.961149250160691e-02 1.961022609250104e-02 - 1.960895908768241e-02 1.960769148013132e-02 1.960642326897369e-02 1.960515445887448e-02 1.960388504699325e-02 - 1.960261502901453e-02 1.960134440209794e-02 1.960007316755673e-02 1.959880132269796e-02 1.959752885956289e-02 - 1.959625578572781e-02 1.959498210471557e-02 1.959370780282661e-02 1.959243287776576e-02 1.959115733236078e-02 - 1.958988116575855e-02 1.958860437570835e-02 1.958732696070351e-02 1.958604892230215e-02 1.958477025538254e-02 - 1.958349095293616e-02 1.958221102005211e-02 1.958093045820349e-02 1.957964926225915e-02 1.957836742427244e-02 - 1.957708494595253e-02 1.957580183693370e-02 1.957451808573694e-02 1.957323368588814e-02 1.957194864588927e-02 - 1.957066295908808e-02 1.956937661864716e-02 1.956808962863577e-02 1.956680198857452e-02 1.956551369740821e-02 - 1.956422475810978e-02 1.956293516289206e-02 1.956164490198652e-02 1.956035397935251e-02 1.955906239928264e-02 - 1.955777016187055e-02 1.955647725858155e-02 1.955518368630142e-02 1.955388944730695e-02 1.955259453790914e-02 - 1.955129895574477e-02 1.955000270138056e-02 1.954870577278503e-02 1.954740816848287e-02 1.954610988870274e-02 - 1.954481093111385e-02 1.954351129226784e-02 1.954221096901902e-02 1.954090996078360e-02 1.953960826724446e-02 - 1.953830588603245e-02 1.953700281656794e-02 1.953569905855491e-02 1.953439460897686e-02 1.953308946443935e-02 - 1.953178362233442e-02 1.953047708245082e-02 1.952916984426731e-02 1.952786190592496e-02 1.952655326324738e-02 - 1.952524391408689e-02 1.952393385929222e-02 1.952262309949111e-02 1.952131163370209e-02 1.951999945844595e-02 - 1.951868656751035e-02 1.951737295829730e-02 1.951605863555755e-02 1.951474359789877e-02 1.951342784097203e-02 - 1.951211136184995e-02 1.951079415956861e-02 1.950947623396647e-02 1.950815758387342e-02 1.950683820574165e-02 - 1.950551809587482e-02 1.950419725560715e-02 1.950287568354725e-02 1.950155337574423e-02 1.950023033242808e-02 - 1.949890655251627e-02 1.949758203322258e-02 1.949625677745909e-02 1.949493078034667e-02 1.949360402739089e-02 - 1.949227653112452e-02 1.949094829757290e-02 1.948961930480046e-02 1.948828955781861e-02 1.948695906691206e-02 - 1.948562782150981e-02 1.948429581598615e-02 1.948296304982478e-02 1.948162952319633e-02 1.948029523591830e-02 - 1.947896018726217e-02 1.947762437581102e-02 1.947628779922486e-02 1.947495045397724e-02 1.947361233489661e-02 - 1.947227344348770e-02 1.947093378593678e-02 1.946959335022997e-02 1.946825212971076e-02 1.946691013283964e-02 - 1.946556736109183e-02 1.946422381089845e-02 1.946287947598024e-02 1.946153435147304e-02 1.946018843640089e-02 - 1.945884173551620e-02 1.945749424593349e-02 1.945614596164208e-02 1.945479688244431e-02 1.945344700980195e-02 - 1.945209634356683e-02 1.945074487666461e-02 1.944939260492236e-02 1.944803952905332e-02 1.944668565282712e-02 - 1.944533097303948e-02 1.944397548026850e-02 1.944261917903520e-02 1.944126207147254e-02 1.943990414971487e-02 - 1.943854540610747e-02 1.943718584222317e-02 1.943582547177293e-02 1.943446428245481e-02 1.943310226105812e-02 - 1.943173942068859e-02 1.943037575924362e-02 1.942901126749138e-02 1.942764594793762e-02 1.942627979717840e-02 - 1.942491280913776e-02 1.942354498868186e-02 1.942217633546996e-02 1.942080684436220e-02 1.941943651933332e-02 - 1.941806535493775e-02 1.941669333695301e-02 1.941532047644210e-02 1.941394677715704e-02 1.941257222315028e-02 - 1.941119681542690e-02 1.940982056035791e-02 1.940844345901757e-02 1.940706550055424e-02 1.940568667678698e-02 - 1.940430699663802e-02 1.940292645883611e-02 1.940154505765652e-02 1.940016279578962e-02 1.939877966977487e-02 - 1.939739567223053e-02 1.939601080219835e-02 1.939462506233509e-02 1.939323845462366e-02 1.939185096971125e-02 - 1.939046260516801e-02 1.938907336764642e-02 1.938768325184633e-02 1.938629225021856e-02 1.938490035911401e-02 - 1.938350758330235e-02 1.938211392651081e-02 1.938071938447496e-02 1.937932394922459e-02 1.937792761695239e-02 - 1.937653039473651e-02 1.937513227779157e-02 1.937373325789699e-02 1.937233333934693e-02 1.937093252080456e-02 - 1.936953079702195e-02 1.936812816928827e-02 1.936672463690015e-02 1.936532019607867e-02 1.936391484345597e-02 - 1.936250857586552e-02 1.936110139138094e-02 1.935969329410197e-02 1.935828428412852e-02 1.935687435366041e-02 - 1.935546349795341e-02 1.935405171682407e-02 1.935263901452006e-02 1.935122538845629e-02 1.934981083240821e-02 - 1.934839534117787e-02 1.934697891910190e-02 1.934556156924906e-02 1.934414327695751e-02 1.934272404361874e-02 - 1.934130387854031e-02 1.933988276959641e-02 1.933846071416343e-02 1.933703771882020e-02 1.933561377409585e-02 - 1.933418887831357e-02 1.933276303945045e-02 1.933133624375953e-02 1.932990848653697e-02 1.932847978247962e-02 - 1.932705012296452e-02 1.932561949662077e-02 1.932418790536504e-02 1.932275535526071e-02 1.932132184669807e-02 - 1.931988736608416e-02 1.931845191123332e-02 1.931701548648173e-02 1.931557809132799e-02 1.931413972218449e-02 - 1.931270037603072e-02 1.931126005688787e-02 1.930981875761609e-02 1.930837646527647e-02 1.930693319154590e-02 - 1.930548893938918e-02 1.930404369700001e-02 1.930259746628386e-02 1.930115024647330e-02 1.929970202824377e-02 - 1.929825281461415e-02 1.929680260792617e-02 1.929535140092010e-02 1.929389919235001e-02 1.929244598266550e-02 - 1.929099176842190e-02 1.928953654639375e-02 1.928808031414528e-02 1.928662307035359e-02 1.928516481711372e-02 - 1.928370555611205e-02 1.928224527966380e-02 1.928078398206115e-02 1.927932166173262e-02 1.927785831899656e-02 - 1.927639395364510e-02 1.927492856464996e-02 1.927346215243780e-02 1.927199471282116e-02 1.927052623652251e-02 - 1.926905672766994e-02 1.926758618873705e-02 1.926611461056382e-02 1.926464199150991e-02 1.926316833245443e-02 - 1.926169363057714e-02 1.926021788634381e-02 1.925874109903830e-02 1.925726325940621e-02 1.925578436860509e-02 - 1.925430443199749e-02 1.925282343948819e-02 1.925134138889128e-02 1.924985828498051e-02 1.924837411847957e-02 - 1.924688888599618e-02 1.924540259377309e-02 1.924391524090012e-02 1.924242682077230e-02 1.924093732460676e-02 - 1.923944675829762e-02 1.923795512510602e-02 1.923646241448938e-02 1.923496862521413e-02 1.923347375911634e-02 - 1.923197781292445e-02 1.923048078180134e-02 1.922898266296426e-02 1.922748346006174e-02 1.922598317069195e-02 - 1.922448178990142e-02 1.922297932164773e-02 1.922147575963824e-02 1.921997109174737e-02 1.921846532805457e-02 - 1.921695846861228e-02 1.921545049993734e-02 1.921394143207274e-02 1.921243126559395e-02 1.921091998083786e-02 - 1.920940758472120e-02 1.920789408374423e-02 1.920637946562360e-02 1.920486373146851e-02 1.920334688393281e-02 - 1.920182891329169e-02 1.920030981699324e-02 1.919878959725658e-02 1.919726825432456e-02 1.919574578635056e-02 - 1.919422218928470e-02 1.919269745661605e-02 1.919117158884151e-02 1.918964459045353e-02 1.918811645370936e-02 - 1.918658717454346e-02 1.918505675553962e-02 1.918352519296369e-02 1.918199248296462e-02 1.918045862469436e-02 - 1.917892361805418e-02 1.917738746182788e-02 1.917585015265352e-02 1.917431168820606e-02 1.917277206550804e-02 - 1.917123127946213e-02 1.916968933132487e-02 1.916814622316750e-02 1.916660194885779e-02 1.916505650873668e-02 - 1.916350990423480e-02 1.916196212155291e-02 1.916041316033273e-02 1.915886303062994e-02 1.915731172194125e-02 - 1.915575922930148e-02 1.915420555876758e-02 1.915265070860661e-02 1.915109467332810e-02 1.914953744666585e-02 - 1.914797902645569e-02 1.914641941412443e-02 1.914485861314037e-02 1.914329661713828e-02 1.914173341932142e-02 - 1.914016902223032e-02 1.913860342379879e-02 1.913703662029905e-02 1.913546861279183e-02 1.913389939805644e-02 - 1.913232897075573e-02 1.913075733118505e-02 1.912918447844714e-02 1.912761040908805e-02 1.912603511839811e-02 - 1.912445860715432e-02 1.912288088009771e-02 1.912130192853472e-02 1.911972174626816e-02 1.911814033569584e-02 - 1.911655769224527e-02 1.911497381452394e-02 1.911338870990516e-02 1.911180236957772e-02 1.911021478317005e-02 - 1.910862595492130e-02 1.910703588697045e-02 1.910544457683553e-02 1.910385201685182e-02 1.910225820527016e-02 - 1.910066314375077e-02 1.909906682830796e-02 1.909746925477876e-02 1.909587042200599e-02 1.909427033688354e-02 - 1.909266899402551e-02 1.909106637643193e-02 1.908946249114346e-02 1.908785734491775e-02 1.908625093213804e-02 - 1.908464324204344e-02 1.908303427175084e-02 1.908142403234494e-02 1.907981251534393e-02 1.907819971100440e-02 - 1.907658562789714e-02 1.907497026158614e-02 1.907335360333112e-02 1.907173565762024e-02 1.907011642370295e-02 - 1.906849589616872e-02 1.906687407274958e-02 1.906525095073851e-02 1.906362652703246e-02 1.906200080112851e-02 - 1.906037377260159e-02 1.905874543999789e-02 1.905711580005939e-02 1.905548484883143e-02 1.905385258297056e-02 - 1.905221900422594e-02 1.905058411108648e-02 1.904894789413228e-02 1.904731035325132e-02 1.904567149183364e-02 - 1.904403130952197e-02 1.904238980136186e-02 1.904074696113758e-02 1.903910278612417e-02 1.903745727544392e-02 - 1.903581042868199e-02 1.903416224385271e-02 1.903251272055347e-02 1.903086185871027e-02 1.902920965236104e-02 - 1.902755609551852e-02 1.902590118543579e-02 1.902424492713456e-02 1.902258731926820e-02 1.902092835050054e-02 - 1.901926802409253e-02 1.901760634215130e-02 1.901594329530476e-02 1.901427888303375e-02 1.901261310655987e-02 - 1.901094596056572e-02 1.900927744335199e-02 1.900760755425454e-02 1.900593628837979e-02 1.900426364429972e-02 - 1.900258962310978e-02 1.900091422355684e-02 1.899923743835855e-02 1.899755925950979e-02 1.899587969656637e-02 - 1.899419874741247e-02 1.899251639645128e-02 1.899083265299966e-02 1.898914752052511e-02 1.898746098477085e-02 - 1.898577304386013e-02 1.898408369969058e-02 1.898239295076986e-02 1.898070079269564e-02 1.897900722255288e-02 - 1.897731224261929e-02 1.897561584849886e-02 1.897391803334516e-02 1.897221879605241e-02 1.897051814026927e-02 - 1.896881606767167e-02 1.896711256470153e-02 1.896540762798833e-02 1.896370126437186e-02 1.896199347193909e-02 - 1.896028424413336e-02 1.895857357350164e-02 1.895686146124061e-02 1.895514791045918e-02 1.895343292131205e-02 - 1.895171648302300e-02 1.894999858923527e-02 1.894827924721451e-02 1.894655845419708e-02 1.894483620522033e-02 - 1.894311250187257e-02 1.894138733732357e-02 1.893966070463249e-02 1.893793261072514e-02 1.893620305335951e-02 - 1.893447202418282e-02 1.893273952309081e-02 1.893100555094376e-02 1.892927010627177e-02 1.892753318110494e-02 - 1.892579477108063e-02 1.892405487784487e-02 1.892231350329449e-02 1.892057064453369e-02 1.891882629307712e-02 - 1.891708044683251e-02 1.891533310610873e-02 1.891358427035544e-02 1.891183393696100e-02 1.891008210291091e-02 - 1.890832876617924e-02 1.890657392211156e-02 1.890481756749361e-02 1.890305970669826e-02 1.890130033664154e-02 - 1.889953944876527e-02 1.889777703845312e-02 1.889601310905792e-02 1.889424766560776e-02 1.889248069356991e-02 - 1.889071219005931e-02 1.888894216610460e-02 1.888717060771540e-02 1.888539750970531e-02 1.888362288621832e-02 - 1.888184672351093e-02 1.888006901097801e-02 1.887828976119468e-02 1.887650896887177e-02 1.887472662448569e-02 - 1.887294273026847e-02 1.887115728373587e-02 1.886937028132879e-02 1.886758172601296e-02 1.886579161241305e-02 - 1.886399993232671e-02 1.886220669095003e-02 1.886041188581822e-02 1.885861550746470e-02 1.885681755698847e-02 - 1.885501803485419e-02 1.885321693733238e-02 1.885141425906957e-02 1.884960999916156e-02 1.884780416185130e-02 - 1.884599674103886e-02 1.884418772927479e-02 1.884237712445391e-02 1.884056492700234e-02 1.883875113673901e-02 - 1.883693574995443e-02 1.883511876102816e-02 1.883330016667216e-02 1.883147997149076e-02 1.882965817385698e-02 - 1.882783476601560e-02 1.882600973926643e-02 1.882418309568715e-02 1.882235484340025e-02 1.882052497417560e-02 - 1.881869348031539e-02 1.881686035975185e-02 1.881502561164409e-02 1.881318923741505e-02 1.881135123913003e-02 - 1.880951160558249e-02 1.880767032900146e-02 1.880582741534564e-02 1.880398286136111e-02 1.880213666245483e-02 - 1.880028882149621e-02 1.879843933370182e-02 1.879658819228311e-02 1.879473539862031e-02 1.879288094991765e-02 - 1.879102484097325e-02 1.878916707209326e-02 1.878730764191372e-02 1.878544654683108e-02 1.878358378459472e-02 - 1.878171935183507e-02 1.877985324430765e-02 1.877798546179407e-02 1.877611600228067e-02 1.877424486050507e-02 - 1.877237203778229e-02 1.877049753324887e-02 1.876862133863330e-02 1.876674345293673e-02 1.876486387617420e-02 - 1.876298260257535e-02 1.876109963059111e-02 1.875921496034764e-02 1.875732858848502e-02 1.875544051216185e-02 - 1.875355072885378e-02 1.875165923449702e-02 1.874976602623304e-02 1.874787110336161e-02 1.874597446797304e-02 - 1.874407611425766e-02 1.874217603022874e-02 1.874027422146802e-02 1.873837068906284e-02 1.873646542198345e-02 - 1.873455842189881e-02 1.873264969164939e-02 1.873073922656172e-02 1.872882701964194e-02 1.872691306648714e-02 - 1.872499736923527e-02 1.872307992509612e-02 1.872116072949887e-02 1.871923978227258e-02 1.871731708186487e-02 - 1.871539262387551e-02 1.871346640021372e-02 1.871153841041527e-02 1.870960865979342e-02 1.870767714578883e-02 - 1.870574386089293e-02 1.870380879685916e-02 1.870187195798613e-02 1.869993334446320e-02 1.869799294696750e-02 - 1.869605076691687e-02 1.869410680376838e-02 1.869216104730458e-02 1.869021349836844e-02 1.868826416022470e-02 - 1.868631302853863e-02 1.868436009644664e-02 1.868240535897862e-02 1.868044881818047e-02 1.867849047172725e-02 - 1.867653031474529e-02 1.867456834731333e-02 1.867260456736053e-02 1.867063897034608e-02 1.866867155351236e-02 - 1.866670231459311e-02 1.866473125095620e-02 1.866275835809391e-02 1.866078363356833e-02 1.865880707775009e-02 - 1.865682868564128e-02 1.865484845476688e-02 1.865286638889887e-02 1.865088247751579e-02 1.864889671303901e-02 - 1.864690910747520e-02 1.864491965354244e-02 1.864292833855512e-02 1.864093516946379e-02 1.863894014384585e-02 - 1.863694325319922e-02 1.863494449952898e-02 1.863294388193027e-02 1.863094139526787e-02 1.862893703607748e-02 - 1.862693080034535e-02 1.862492268387857e-02 1.862291268732941e-02 1.862090081042848e-02 1.861888704957227e-02 - 1.861687140151818e-02 1.861485386231105e-02 1.861283442704270e-02 1.861081309610335e-02 1.860878986806025e-02 - 1.860676473338590e-02 1.860473769529663e-02 1.860270875778476e-02 1.860067790615180e-02 1.859864513789995e-02 - 1.859661045850656e-02 1.859457386260990e-02 1.859253534675110e-02 1.859049490946049e-02 1.858845254228221e-02 - 1.858640824383296e-02 1.858436201966219e-02 1.858231386031445e-02 1.858026376148910e-02 1.857821173011040e-02 - 1.857615775674864e-02 1.857410183289329e-02 1.857204396224591e-02 1.856998414158087e-02 1.856792236630606e-02 - 1.856585863699762e-02 1.856379295088432e-02 1.856172530348682e-02 1.855965569223371e-02 1.855758411493529e-02 - 1.855551056872843e-02 1.855343504862798e-02 1.855135755357239e-02 1.854927808391809e-02 1.854719662999937e-02 - 1.854511318947389e-02 1.854302776884543e-02 1.854094036342127e-02 1.853885096469986e-02 1.853675956540365e-02 - 1.853466616668727e-02 1.853257077183708e-02 1.853047338096206e-02 1.852837398473379e-02 1.852627257507170e-02 - 1.852416915520061e-02 1.852206372211816e-02 1.851995627104085e-02 1.851784680396669e-02 1.851573531468755e-02 - 1.851362179508880e-02 1.851150625260910e-02 1.850938868433302e-02 1.850726907790290e-02 1.850514743267316e-02 - 1.850302375022463e-02 1.850089802974987e-02 1.849877026321467e-02 1.849664044568886e-02 1.849450857919205e-02 - 1.849237466328984e-02 1.849023869225825e-02 1.848810065567833e-02 1.848596056072587e-02 1.848381841125062e-02 - 1.848167418759208e-02 1.847952788817062e-02 1.847737952020788e-02 1.847522908039946e-02 1.847307656165976e-02 - 1.847092195736722e-02 1.846876526733367e-02 1.846660649126623e-02 1.846444562782898e-02 1.846228267641075e-02 - 1.846011763022634e-02 1.845795047822359e-02 1.845578122357826e-02 1.845360986824314e-02 1.845143640646702e-02 - 1.844926083412144e-02 1.844708314829677e-02 1.844490334652741e-02 1.844272142526039e-02 1.844053738232335e-02 - 1.843835121884711e-02 1.843616292877729e-02 1.843397250473794e-02 1.843177994759022e-02 1.842958525561723e-02 - 1.842738842512387e-02 1.842518945510765e-02 1.842298833954339e-02 1.842078507029563e-02 1.841857965103055e-02 - 1.841637208298309e-02 1.841416236088061e-02 1.841195047731196e-02 1.840973642948215e-02 1.840752022011446e-02 - 1.840530184216091e-02 1.840308128892246e-02 1.840085856103635e-02 1.839863365911139e-02 1.839640658087383e-02 - 1.839417731924000e-02 1.839194587083986e-02 1.838971223370895e-02 1.838747640300020e-02 1.838523837692452e-02 - 1.838299815548432e-02 1.838075573582631e-02 1.837851111106092e-02 1.837626427462707e-02 1.837401523350234e-02 - 1.837176398539980e-02 1.836951051641877e-02 1.836725482529124e-02 1.836499691387402e-02 1.836273678151691e-02 - 1.836047442118306e-02 1.835820982858270e-02 1.835594300692513e-02 1.835367394977665e-02 1.835140264983480e-02 - 1.834912910825698e-02 1.834685332362546e-02 1.834457529066184e-02 1.834229500068380e-02 1.834001245612868e-02 - 1.833772766191195e-02 1.833544060380268e-02 1.833315127769170e-02 1.833085968975407e-02 1.832856583633842e-02 - 1.832626971106521e-02 1.832397130817964e-02 1.832167062581619e-02 1.831936766045366e-02 1.831706240632338e-02 - 1.831475486820015e-02 1.831244504576387e-02 1.831013292472488e-02 1.830781850356614e-02 1.830550178468002e-02 - 1.830318276421879e-02 1.830086143845657e-02 1.829853780375753e-02 1.829621185558813e-02 1.829388359300937e-02 - 1.829155301569956e-02 1.828922011662799e-02 1.828688489153528e-02 1.828454733892483e-02 1.828220745351499e-02 - 1.827986523367206e-02 1.827752068069898e-02 1.827517378500067e-02 1.827282454323407e-02 1.827047296291425e-02 - 1.826811903643735e-02 1.826576275326505e-02 1.826340410954280e-02 1.826104310998728e-02 1.825867975496676e-02 - 1.825631402943589e-02 1.825394593365713e-02 1.825157547349511e-02 1.824920264235266e-02 1.824682743095013e-02 - 1.824444983334214e-02 1.824206985531418e-02 1.823968749396920e-02 1.823730273947125e-02 1.823491559405069e-02 - 1.823252605635143e-02 1.823013411851380e-02 1.822773977727079e-02 1.822534302885856e-02 1.822294386817581e-02 - 1.822054229933361e-02 1.821813832218229e-02 1.821573192447362e-02 1.821332310276354e-02 1.821091185568656e-02 - 1.820849817689734e-02 1.820608206836350e-02 1.820366353310689e-02 1.820124256311412e-02 1.819881915016099e-02 - 1.819639328969794e-02 1.819396498477247e-02 1.819153423068764e-02 1.818910101812068e-02 1.818666535246774e-02 - 1.818422723286477e-02 1.818178664914423e-02 1.817934360000525e-02 1.817689808189780e-02 1.817445008627356e-02 - 1.817199961756547e-02 1.816954667558178e-02 1.816709124568389e-02 1.816463332917677e-02 1.816217292950077e-02 - 1.815971003769815e-02 1.815724465123547e-02 1.815477676809149e-02 1.815230637650250e-02 1.814983348051392e-02 - 1.814735808823705e-02 1.814488018072306e-02 1.814239975267995e-02 1.813991681262074e-02 1.813743135508509e-02 - 1.813494337086823e-02 1.813245285281114e-02 1.812995980445686e-02 1.812746422731492e-02 1.812496611573551e-02 - 1.812246546481565e-02 1.811996226848969e-02 1.811745651920204e-02 1.811494821957559e-02 1.811243737133842e-02 - 1.810992396481434e-02 1.810740799805441e-02 1.810488947142559e-02 1.810236837745802e-02 1.809984471224923e-02 - 1.809731847419077e-02 1.809478965788605e-02 1.809225826197647e-02 1.808972428730369e-02 1.808718772623545e-02 - 1.808464857219165e-02 1.808210682315950e-02 1.807956248210254e-02 1.807701554512131e-02 1.807446599893149e-02 - 1.807191384222250e-02 1.806935907649996e-02 1.806680169977935e-02 1.806424171112906e-02 1.806167910639137e-02 - 1.805911387430984e-02 1.805654601234490e-02 1.805397552118165e-02 1.805140239539148e-02 1.804882663464111e-02 - 1.804624823872755e-02 1.804366719439020e-02 1.804108350087335e-02 1.803849716547347e-02 1.803590817366155e-02 - 1.803331652090480e-02 1.803072221546651e-02 1.802812524400898e-02 1.802552559998909e-02 1.802292329257977e-02 - 1.802031831251088e-02 1.801771065083283e-02 1.801510031065072e-02 1.801248728509480e-02 1.800987156794499e-02 - 1.800725316456288e-02 1.800463207196059e-02 1.800200828229563e-02 1.799938179038418e-02 1.799675259135415e-02 - 1.799412068157979e-02 1.799148606152016e-02 1.798884872978088e-02 1.798620868169797e-02 1.798356590941466e-02 - 1.798092041139825e-02 1.797827219073602e-02 1.797562123473000e-02 1.797296753674024e-02 1.797031110360818e-02 - 1.796765193280976e-02 1.796499001786419e-02 1.796232535287627e-02 1.795965793501132e-02 1.795698776183851e-02 - 1.795431482887613e-02 1.795163913285315e-02 1.794896067070983e-02 1.794627943785036e-02 1.794359543174794e-02 - 1.794090865000600e-02 1.793821908548673e-02 1.793552673496832e-02 1.793283159877326e-02 1.793013367385930e-02 - 1.792743295577707e-02 1.792472944026945e-02 1.792202312682011e-02 1.791931400976357e-02 1.791660207728341e-02 - 1.791388733234035e-02 1.791116977642004e-02 1.790844939977351e-02 1.790572620127331e-02 1.790300018053203e-02 - 1.790027132960331e-02 1.789753964610457e-02 1.789480512776976e-02 1.789206776371137e-02 1.788932755546883e-02 - 1.788658450796398e-02 1.788383860557862e-02 1.788108984645815e-02 1.787833823870088e-02 1.787558376650758e-02 - 1.787282642238153e-02 1.787006621288861e-02 1.786730313584615e-02 1.786453718506033e-02 1.786176835331611e-02 - 1.785899663566110e-02 1.785622203220682e-02 1.785344454733639e-02 1.785066416506327e-02 1.784788087479271e-02 - 1.784509469481547e-02 1.784230561688990e-02 1.783951362363962e-02 1.783671871969004e-02 1.783392090351773e-02 - 1.783112016693977e-02 1.782831650359620e-02 1.782550991644932e-02 1.782270041052123e-02 1.781988796773664e-02 - 1.781707258188517e-02 1.781425426228424e-02 1.781143299909701e-02 1.780860878344276e-02 1.780578161636334e-02 - 1.780295150019453e-02 1.780011843142990e-02 1.779728239750767e-02 1.779444339320670e-02 1.779160141853593e-02 - 1.778875647528820e-02 1.778590855799184e-02 1.778305765851556e-02 1.778020377358821e-02 1.777734690358035e-02 - 1.777448704738365e-02 1.777162419310320e-02 1.776875833746895e-02 1.776588948369731e-02 1.776301762263940e-02 - 1.776014274927566e-02 1.775726486578331e-02 1.775438397030816e-02 1.775150005486545e-02 1.774861310790110e-02 - 1.774572313526677e-02 1.774283013776283e-02 1.773993409898065e-02 1.773703502220879e-02 1.773413291089222e-02 - 1.773122774923129e-02 1.772831953604024e-02 1.772540827370780e-02 1.772249394894422e-02 1.771957656009896e-02 - 1.771665611194296e-02 1.771373259698992e-02 1.771080600888477e-02 1.770787634473108e-02 1.770494360249459e-02 - 1.770200777818149e-02 1.769906886558849e-02 1.769612685929023e-02 1.769318175770428e-02 1.769023356261796e-02 - 1.768728226707501e-02 1.768432786370409e-02 1.768137035050212e-02 1.767840972761326e-02 1.767544598996190e-02 - 1.767247912224100e-02 1.766950912887429e-02 1.766653601772543e-02 1.766355977437013e-02 1.766058039164660e-02 - 1.765759786981226e-02 1.765461220736955e-02 1.765162339764906e-02 1.764863143247870e-02 1.764563631444012e-02 - 1.764263804044564e-02 1.763963660052613e-02 1.763663199590508e-02 1.763362422648862e-02 1.763061328532627e-02 - 1.762759916389677e-02 1.762458185742205e-02 1.762156136756127e-02 1.761853769290762e-02 1.761551082691653e-02 - 1.761248075761478e-02 1.760944748669641e-02 1.760641101894919e-02 1.760337134551661e-02 1.760032845807722e-02 - 1.759728235211478e-02 1.759423302856655e-02 1.759118048266074e-02 1.758812470690578e-02 1.758506570645847e-02 - 1.758200347417691e-02 1.757893799151254e-02 1.757586926700291e-02 1.757279730534286e-02 1.756972209521438e-02 - 1.756664362962799e-02 1.756356190543487e-02 1.756047692143249e-02 1.755738866974527e-02 1.755429714394244e-02 - 1.755120234663686e-02 1.754810427470094e-02 1.754500292288027e-02 1.754189829041229e-02 1.753879037098419e-02 - 1.753567915477636e-02 1.753256463576890e-02 1.752944681640228e-02 1.752632570156945e-02 1.752320127895599e-02 - 1.752007354011609e-02 1.751694248500407e-02 1.751380811099548e-02 1.751067041466748e-02 1.750752939229762e-02 - 1.750438503712632e-02 1.750123734468025e-02 1.749808631552286e-02 1.749493194526630e-02 1.749177422703599e-02 - 1.748861315463852e-02 1.748544872591071e-02 1.748228094036503e-02 1.747910979560325e-02 1.747593528635296e-02 - 1.747275740493088e-02 1.746957614261004e-02 1.746639150171011e-02 1.746320348827029e-02 1.746001208402579e-02 - 1.745681728232032e-02 1.745361909228664e-02 1.745041750587895e-02 1.744721251527593e-02 1.744400411995098e-02 - 1.744079231626219e-02 1.743757709612158e-02 1.743435844889677e-02 1.743113638300998e-02 1.742791090294012e-02 - 1.742468198827393e-02 1.742144963687445e-02 1.741821385208018e-02 1.741497462017237e-02 1.741173194001650e-02 - 1.740848581625378e-02 1.740523623716524e-02 1.740198319673262e-02 1.739872669626729e-02 1.739546673433575e-02 - 1.739220330474240e-02 1.738893639777237e-02 1.738566600801745e-02 1.738239213410604e-02 1.737911477739739e-02 - 1.737583393441487e-02 1.737254959973500e-02 1.736926176792087e-02 1.736597043319887e-02 1.736267559029083e-02 - 1.735937723525189e-02 1.735607536431420e-02 1.735276997535949e-02 1.734946106967137e-02 1.734614863942214e-02 - 1.734283267462293e-02 1.733951317984790e-02 1.733619014933173e-02 1.733286356952035e-02 1.732953344236944e-02 - 1.732619976822115e-02 1.732286254123125e-02 1.731952175476255e-02 1.731617740506982e-02 1.731282949118149e-02 - 1.730947800429541e-02 1.730612293897103e-02 1.730276429900506e-02 1.729940207772190e-02 1.729603626710180e-02 - 1.729266686687025e-02 1.728929387127552e-02 1.728591727431661e-02 1.728253707811547e-02 1.727915327486350e-02 - 1.727576585445017e-02 1.727237482415143e-02 1.726898017713387e-02 1.726558189725253e-02 1.726217999255776e-02 - 1.725877446141184e-02 1.725536528836806e-02 1.725195247427305e-02 1.724853602088567e-02 1.724511592318061e-02 - 1.724169217016580e-02 1.723826475637563e-02 1.723483368674653e-02 1.723139894995541e-02 1.722796053633534e-02 - 1.722451845482723e-02 1.722107270070567e-02 1.721762326419149e-02 1.721417014587169e-02 1.721071333868621e-02 - 1.720725283251134e-02 1.720378862838028e-02 1.720032072298445e-02 1.719684910908383e-02 1.719337378669194e-02 - 1.718989475327181e-02 1.718641200187306e-02 1.718292552719872e-02 1.717943532374793e-02 1.717594138625576e-02 - 1.717244371734551e-02 1.716894231509765e-02 1.716543716617480e-02 1.716192826455456e-02 1.715841561099909e-02 - 1.715489920993168e-02 1.715137904713604e-02 1.714785510917266e-02 1.714432741097788e-02 1.714079594608009e-02 - 1.713726069602739e-02 1.713372166332687e-02 1.713017885016558e-02 1.712663225240283e-02 1.712308185705881e-02 - 1.711952765873538e-02 1.711596966109396e-02 1.711240786053498e-02 1.710884225051524e-02 1.710527282476134e-02 - 1.710169958307061e-02 1.709812252022495e-02 1.709454162136748e-02 1.709095688985418e-02 1.708736832996113e-02 - 1.708377593024533e-02 1.708017968752960e-02 1.707657960032946e-02 1.707297565703870e-02 1.706936785401023e-02 - 1.706575619189593e-02 1.706214066346443e-02 1.705852126552140e-02 1.705489799818787e-02 1.705127085519305e-02 - 1.704763983091843e-02 1.704400492089210e-02 1.704036611449886e-02 1.703672340943711e-02 1.703307681394708e-02 - 1.702942631772786e-02 1.702577190966809e-02 1.702211358937508e-02 1.701845135582294e-02 1.701478520463906e-02 - 1.701111512687454e-02 1.700744111902223e-02 1.700376317991698e-02 1.700008130526762e-02 1.699639548886451e-02 - 1.699270572517141e-02 1.698901201362202e-02 1.698531434790372e-02 1.698161271901581e-02 1.697790713038581e-02 - 1.697419757947398e-02 1.697048405591379e-02 1.696676655885514e-02 1.696304508413142e-02 1.695931962055792e-02 - 1.695559016575875e-02 1.695185672007940e-02 1.694811928170539e-02 1.694437784303563e-02 1.694063239701608e-02 - 1.693688294268234e-02 1.693312947555357e-02 1.692937198914621e-02 1.692561047849961e-02 1.692184494218333e-02 - 1.691807537819241e-02 1.691430177590003e-02 1.691052413380094e-02 1.690674245501956e-02 1.690295672392027e-02 - 1.689916693403359e-02 1.689537309141036e-02 1.689157519031890e-02 1.688777322481082e-02 1.688396719247375e-02 - 1.688015708323470e-02 1.687634289028026e-02 1.687252461641300e-02 1.686870225976892e-02 1.686487581335405e-02 - 1.686104526641643e-02 1.685721061978611e-02 1.685337187596560e-02 1.684952902423863e-02 1.684568205626177e-02 - 1.684183096806695e-02 1.683797575916921e-02 1.683411642637722e-02 1.683025296370582e-02 1.682638536598722e-02 - 1.682251363071521e-02 1.681863775630957e-02 1.681475773295268e-02 1.681087355358095e-02 1.680698521822956e-02 - 1.680309272743823e-02 1.679919607564722e-02 1.679529524908240e-02 1.679139024683375e-02 1.678748107079098e-02 - 1.678356771499038e-02 1.677965016895157e-02 1.677572842703558e-02 1.677180249929987e-02 1.676787237703614e-02 - 1.676393804299063e-02 1.675999950051788e-02 1.675605674951069e-02 1.675210978219402e-02 1.674815858725950e-02 - 1.674420316518524e-02 1.674024352454331e-02 1.673627964747038e-02 1.673231152527195e-02 1.672833916857912e-02 - 1.672436256552257e-02 1.672038170373856e-02 1.671639658470834e-02 1.671240720840105e-02 1.670841357063555e-02 - 1.670441566220705e-02 1.670041347959014e-02 1.669640702110204e-02 1.669239628051189e-02 1.668838125191250e-02 - 1.668436193143650e-02 1.668033831890629e-02 1.667631040878886e-02 1.667227819212758e-02 1.666824166734860e-02 - 1.666420083129591e-02 1.666015567735254e-02 1.665610620005455e-02 1.665205239678242e-02 1.664799426695549e-02 - 1.664393180284348e-02 1.663986499713315e-02 1.663579384792829e-02 1.663171835503466e-02 1.662763851356003e-02 - 1.662355430939835e-02 1.661946574092143e-02 1.661537281150426e-02 1.661127551677910e-02 1.660717384720702e-02 - 1.660306779425839e-02 1.659895736095696e-02 1.659484254425630e-02 1.659072333444665e-02 1.658659972465595e-02 - 1.658247171530552e-02 1.657833931027815e-02 1.657420249617699e-02 1.657006126301349e-02 1.656591561144095e-02 - 1.656176553662080e-02 1.655761103381663e-02 1.655345210211223e-02 1.654928873901935e-02 1.654512093811135e-02 - 1.654094868807454e-02 1.653677198858015e-02 1.653259084096055e-02 1.652840523447503e-02 1.652421516561530e-02 - 1.652002063436291e-02 1.651582163151349e-02 1.651161815099949e-02 1.650741019156900e-02 1.650319775344297e-02 - 1.649898082810461e-02 1.649475940168675e-02 1.649053348141889e-02 1.648630306850305e-02 1.648206814836095e-02 - 1.647782871114676e-02 1.647358475732917e-02 1.646933629656457e-02 1.646508330893651e-02 1.646082578033714e-02 - 1.645656373337251e-02 1.645229715576629e-02 1.644802602626009e-02 1.644375035674409e-02 1.643947014097659e-02 - 1.643518536281393e-02 1.643089602671802e-02 1.642660213310334e-02 1.642230367492405e-02 1.641800064388943e-02 - 1.641369303446324e-02 1.640938084474308e-02 1.640506407467653e-02 1.640074271742540e-02 1.639641675907646e-02 - 1.639208620097271e-02 1.638775104513307e-02 1.638341128505268e-02 1.637906691499287e-02 1.637471792980197e-02 - 1.637036432400064e-02 1.636600609175647e-02 1.636164322915392e-02 1.635727573684415e-02 1.635290360792794e-02 - 1.634852683359730e-02 1.634414541697593e-02 1.633975935494602e-02 1.633536863669590e-02 1.633097325119221e-02 - 1.632657319870386e-02 1.632216848742881e-02 1.631775910539292e-02 1.631334504210032e-02 1.630892629731235e-02 - 1.630450287107613e-02 1.630007475715268e-02 1.629564194133085e-02 1.629120442381021e-02 1.628676220752001e-02 - 1.628231528645751e-02 1.627786365361661e-02 1.627340730437480e-02 1.626894623909321e-02 1.626448044809207e-02 - 1.626000991935131e-02 1.625553465710418e-02 1.625105466086324e-02 1.624656992364918e-02 1.624208044008659e-02 - 1.623758620493278e-02 1.623308721259990e-02 1.622858345750622e-02 1.622407493651434e-02 1.621956164908100e-02 - 1.621504359102545e-02 1.621052075671857e-02 1.620599314061202e-02 1.620146073758967e-02 1.619692354185834e-02 - 1.619238154678624e-02 1.618783475477294e-02 1.618328316706134e-02 1.617872676957040e-02 1.617416555535298e-02 - 1.616959952441603e-02 1.616502867670949e-02 1.616045300241566e-02 1.615587248863419e-02 1.615128714307292e-02 - 1.614669696726644e-02 1.614210195036420e-02 1.613750207990814e-02 1.613289735436475e-02 1.612828778261194e-02 - 1.612367334765880e-02 1.611905403879705e-02 1.611442986870223e-02 1.610980082722066e-02 1.610516690212456e-02 - 1.610052809916244e-02 1.609588441136000e-02 1.609123582829610e-02 1.608658235171540e-02 1.608192397521171e-02 - 1.607726068992654e-02 1.607259250083978e-02 1.606791940362701e-02 1.606324138657220e-02 1.605855844962495e-02 - 1.605387058768025e-02 1.604917779011535e-02 1.604448006054786e-02 1.603977739874237e-02 1.603506979420087e-02 - 1.603035723984084e-02 1.602563973257448e-02 1.602091727188371e-02 1.601618984720332e-02 1.601145745295015e-02 - 1.600672010067149e-02 1.600197777942985e-02 1.599723047266619e-02 1.599247818462375e-02 1.598772091449355e-02 - 1.598295865408641e-02 1.597819139147786e-02 1.597341912912636e-02 1.596864187530068e-02 1.596385961058315e-02 - 1.595907232771693e-02 1.595428003613896e-02 1.594948272828454e-02 1.594468039178993e-02 1.593987301780130e-02 - 1.593506061365002e-02 1.593024318102167e-02 1.592542070422077e-02 1.592059317798925e-02 1.591576060279083e-02 - 1.591092297799217e-02 1.590608029141302e-02 1.590123253274349e-02 1.589637971157846e-02 1.589152182656434e-02 - 1.588665886609507e-02 1.588179081847464e-02 1.587691768450550e-02 1.587203947045915e-02 1.586715616213467e-02 - 1.586226775168990e-02 1.585737424168921e-02 1.585247562649581e-02 1.584757190117160e-02 1.584266306445842e-02 - 1.583774911091078e-02 1.583283003450806e-02 1.582790583090947e-02 1.582297649499978e-02 1.581804202355953e-02 - 1.581310241701619e-02 1.580815766650671e-02 1.580320776320766e-02 1.579825271139450e-02 1.579329250537274e-02 - 1.578832713506978e-02 1.578335660262603e-02 1.577838090296324e-02 1.577340002574811e-02 1.576841397243399e-02 - 1.576342274326813e-02 1.575842633194578e-02 1.575342472205075e-02 1.574841791148685e-02 1.574340591569888e-02 - 1.573838872006093e-02 1.573336631006632e-02 1.572833869008299e-02 1.572330586230670e-02 1.571826781924578e-02 - 1.571322454052314e-02 1.570817603062760e-02 1.570312230059812e-02 1.569806333998715e-02 1.569299913693516e-02 - 1.568792968457186e-02 1.568285498663007e-02 1.567777503779379e-02 1.567268982728102e-02 1.566759935997030e-02 - 1.566250363482262e-02 1.565740264102256e-02 1.565229637077196e-02 1.564718482295817e-02 1.564206800099241e-02 - 1.563694589151567e-02 1.563181848599405e-02 1.562668579194260e-02 1.562154780177149e-02 1.561640450642917e-02 - 1.561125590888111e-02 1.560610200797837e-02 1.560094279515962e-02 1.559577825343192e-02 1.559060838842812e-02 - 1.558543321151646e-02 1.558025270088283e-02 1.557506685188879e-02 1.556987567405825e-02 1.556467915294808e-02 - 1.555947727806998e-02 1.555427005014520e-02 1.554905747326830e-02 1.554383954557267e-02 1.553861625685508e-02 - 1.553338760005679e-02 1.552815357203842e-02 1.552291417232042e-02 1.551766939022104e-02 1.551241921985975e-02 - 1.550716367246923e-02 1.550190274051892e-02 1.549663640983429e-02 1.549136467943576e-02 1.548608754911306e-02 - 1.548080501516420e-02 1.547551706650131e-02 1.547022370107663e-02 1.546492492363977e-02 1.545962073006300e-02 - 1.545431111106912e-02 1.544899605692932e-02 1.544367557060635e-02 1.543834964941066e-02 1.543301828099291e-02 - 1.542768146907574e-02 1.542233921474585e-02 1.541699150599057e-02 1.541163833967913e-02 1.540627971422265e-02 - 1.540091562222576e-02 1.539554606062004e-02 1.539017102808156e-02 1.538479052048013e-02 1.537940453376258e-02 - 1.537401306270197e-02 1.536861609811398e-02 1.536321364249661e-02 1.535780570199338e-02 1.535239225620149e-02 - 1.534697329939463e-02 1.534154884369051e-02 1.533611887960563e-02 1.533068339829330e-02 1.532524239983298e-02 - 1.531979587995433e-02 1.531434383110085e-02 1.530888624554550e-02 1.530342313142362e-02 1.529795449144603e-02 - 1.529248030485156e-02 1.528700056732233e-02 1.528151528324413e-02 1.527602445059826e-02 1.527052806021316e-02 - 1.526502610370102e-02 1.525951858764995e-02 1.525400550804322e-02 1.524848685322667e-02 1.524296262660809e-02 - 1.523743282528689e-02 1.523189743753784e-02 1.522635646012132e-02 1.522080989370855e-02 1.521525773883866e-02 - 1.520969998584297e-02 1.520413662809972e-02 1.519856766896251e-02 1.519299310438481e-02 1.518741292689401e-02 - 1.518182713051541e-02 1.517623571498702e-02 1.517063867977171e-02 1.516503601659771e-02 1.515942772580205e-02 - 1.515381380882217e-02 1.514819425008754e-02 1.514256904339338e-02 1.513693819284546e-02 1.513130169987854e-02 - 1.512565955837021e-02 1.512001175774349e-02 1.511435830052952e-02 1.510869918485496e-02 1.510303439909880e-02 - 1.509736393861015e-02 1.509168780464220e-02 1.508600600178219e-02 1.508031852355242e-02 1.507462535986425e-02 - 1.506892650464710e-02 1.506322195838325e-02 1.505751172137055e-02 1.505179578553525e-02 1.504607414992266e-02 - 1.504034681527993e-02 1.503461377008154e-02 1.502887501067205e-02 1.502313053999477e-02 1.501738035243006e-02 - 1.501162444030474e-02 1.500586279803602e-02 1.500009542963074e-02 1.499432233574762e-02 1.498854350912934e-02 - 1.498275894315130e-02 1.497696863387312e-02 1.497117258012378e-02 1.496537077480856e-02 1.495956321394884e-02 - 1.495374990400090e-02 1.494793083920974e-02 1.494210600904758e-02 1.493627541059610e-02 1.493043904648383e-02 - 1.492459691659297e-02 1.491874900408085e-02 1.491289530722370e-02 1.490703583623931e-02 1.490117058646935e-02 - 1.489529954725381e-02 1.488942270892006e-02 1.488354007804980e-02 1.487765165385858e-02 1.487175742273507e-02 - 1.486585738883519e-02 1.485995155398175e-02 1.485403990610964e-02 1.484812243988829e-02 1.484219915557141e-02 - 1.483627005584607e-02 1.483033513203473e-02 1.482439437542072e-02 1.481844779264578e-02 1.481249538141862e-02 - 1.480653713381494e-02 1.480057304868135e-02 1.479460312202780e-02 1.478862734716873e-02 1.478264572087699e-02 - 1.477665824308106e-02 1.477066491441443e-02 1.476466572742758e-02 1.475866067903805e-02 1.475264977269339e-02 - 1.474663299844858e-02 1.474061034872640e-02 1.473458182710518e-02 1.472854743115566e-02 1.472250715651883e-02 - 1.471646100132783e-02 1.471040896256117e-02 1.470435103749897e-02 1.469828722554372e-02 1.469221751827344e-02 - 1.468614190646898e-02 1.468006039547928e-02 1.467397298615093e-02 1.466787967378610e-02 1.466178045636883e-02 - 1.465567533041493e-02 1.464956428982840e-02 1.464344732703370e-02 1.463732444018100e-02 1.463119563426315e-02 - 1.462506090797482e-02 1.461892025637629e-02 1.461277367320199e-02 1.460662115516677e-02 1.460046270026797e-02 - 1.459429830605704e-02 1.458812796887011e-02 1.458195168595082e-02 1.457576945823491e-02 1.456958128559711e-02 - 1.456338716422361e-02 1.455718708308891e-02 1.455098103823577e-02 1.454476903226018e-02 1.453855106504101e-02 - 1.453232713525658e-02 1.452609724028033e-02 1.451986137384772e-02 1.451361953112174e-02 1.450737171027855e-02 - 1.450111790831084e-02 1.449485812287890e-02 1.448859235383744e-02 1.448232060352556e-02 1.447604287018101e-02 - 1.446975914267516e-02 1.446346941597466e-02 1.445717368938523e-02 1.445087196279080e-02 1.444456423724572e-02 - 1.443825051237331e-02 1.443193078136921e-02 1.442560503975330e-02 1.441927328581930e-02 1.441293551683267e-02 - 1.440659172970616e-02 1.440024192165075e-02 1.439388609177658e-02 1.438752424156573e-02 1.438115637277796e-02 - 1.437478247503487e-02 1.436840254149195e-02 1.436201657648160e-02 1.435562457263202e-02 1.434922652522855e-02 - 1.434282244486077e-02 1.433641232984850e-02 1.432999617114929e-02 1.432357396196595e-02 1.431714570255755e-02 - 1.431071139387867e-02 1.430427102559402e-02 1.429782460021014e-02 1.429137212732056e-02 1.428491359501307e-02 - 1.427844899676062e-02 1.427197833606156e-02 1.426550161130239e-02 1.425901881685885e-02 1.425252994564961e-02 - 1.424603499980085e-02 1.423953398385027e-02 1.423302689906778e-02 1.422651373475527e-02 1.421999448399202e-02 - 1.421346915585374e-02 1.420693774198730e-02 1.420040023237321e-02 1.419385663850131e-02 1.418730696003290e-02 - 1.418075118751426e-02 1.417418931634679e-02 1.416762135086922e-02 1.416104729584521e-02 1.415446713263836e-02 - 1.414788085973522e-02 1.414128849363525e-02 1.413469002361970e-02 1.412808544052846e-02 1.412147474772301e-02 - 1.411485794712882e-02 1.410823503604182e-02 1.410160600672222e-02 1.409497085818714e-02 1.408832959214252e-02 - 1.408168220875668e-02 1.407502870564407e-02 1.406836907961611e-02 1.406170332864153e-02 1.405503144837146e-02 - 1.404835343608425e-02 1.404166929852345e-02 1.403497903248639e-02 1.402828262916828e-02 1.402158009603205e-02 - 1.401487143048169e-02 1.400815661918214e-02 1.400143566703935e-02 1.399470857625501e-02 1.398797534046779e-02 - 1.398123596549795e-02 1.397449045134991e-02 1.396773878380821e-02 1.396098096640959e-02 1.395421700271061e-02 - 1.394744688102961e-02 1.394067060648909e-02 1.393388818692338e-02 1.392709961198955e-02 1.392030488001634e-02 - 1.391350399327543e-02 1.390669694254475e-02 1.389988372719557e-02 1.389306435287330e-02 1.388623881438261e-02 - 1.387940711188756e-02 1.387256925103053e-02 1.386572522405790e-02 1.385887502683316e-02 1.385201866296698e-02 - 1.384515612379329e-02 1.383828740611332e-02 1.383141252098464e-02 1.382453146615934e-02 1.381764423695148e-02 - 1.381075083621117e-02 1.380385125926009e-02 1.379694549932224e-02 1.379003355634722e-02 1.378311543405784e-02 - 1.377619113577579e-02 1.376926065784134e-02 1.376232399626086e-02 1.375538114862362e-02 1.374843211529037e-02 - 1.374147689626999e-02 1.373451549097131e-02 1.372754790081035e-02 1.372057412482435e-02 1.371359415880417e-02 - 1.370660800191563e-02 1.369961565562416e-02 1.369261712158748e-02 1.368561239160383e-02 1.367860146147292e-02 - 1.367158434223160e-02 1.366456103295884e-02 1.365753152816715e-02 1.365049582984413e-02 1.364345393626983e-02 - 1.363640584363454e-02 1.362935155197557e-02 1.362229106201978e-02 1.361522437421294e-02 1.360815148809621e-02 - 1.360107240365773e-02 1.359398712117658e-02 1.358689563898480e-02 1.357979795217255e-02 1.357269405533802e-02 - 1.356558396017600e-02 1.355846767355538e-02 1.355134518540141e-02 1.354421648973967e-02 1.353708158728038e-02 - 1.352994048497773e-02 1.352279317412557e-02 1.351563964921714e-02 1.350847993234027e-02 1.350131401794928e-02 - 1.349414188812881e-02 1.348696355361660e-02 1.347977901858603e-02 1.347258827670450e-02 1.346539132112732e-02 - 1.345818815687027e-02 1.345097879723517e-02 1.344376323611521e-02 1.343654146470481e-02 1.342931348024562e-02 - 1.342207929164266e-02 1.341483890125029e-02 1.340759229714105e-02 1.340033948592649e-02 1.339308047488992e-02 - 1.338581525615185e-02 1.337854383232506e-02 1.337126620737807e-02 1.336398237245951e-02 1.335669232490426e-02 - 1.334939606999042e-02 1.334209361886319e-02 1.333478496691931e-02 1.332747010093965e-02 1.332014902896288e-02 - 1.331282175723704e-02 1.330548828381385e-02 1.329814860211957e-02 1.329080271412866e-02 1.328345063097246e-02 - 1.327609234424045e-02 1.326872784914616e-02 1.326135715657202e-02 1.325398026514318e-02 1.324659716972378e-02 - 1.323920787031880e-02 1.323181236976987e-02 1.322441067219326e-02 1.321700278123619e-02 1.320958869473772e-02 - 1.320216840889533e-02 1.319474192647233e-02 1.318730924299288e-02 1.317987035320805e-02 1.317242527523754e-02 - 1.316497401404441e-02 1.315751655750498e-02 1.315005290457417e-02 1.314258305915991e-02 1.313510702533477e-02 - 1.312762479749873e-02 1.312013637454663e-02 1.311264176674524e-02 1.310514097528989e-02 1.309763399743803e-02 - 1.309012083240218e-02 1.308260148524151e-02 1.307507595779872e-02 1.306754423810231e-02 1.306000633130083e-02 - 1.305246225068735e-02 1.304491199415833e-02 1.303735555888092e-02 1.302979294561730e-02 1.302222416114251e-02 - 1.301464920127586e-02 1.300706805512286e-02 1.299948074007148e-02 1.299188726392925e-02 1.298428761376350e-02 - 1.297668178953030e-02 1.296906979917289e-02 1.296145165196894e-02 1.295382733572278e-02 1.294619684321666e-02 - 1.293856019418804e-02 1.293091739361701e-02 1.292326843600229e-02 1.291561331594024e-02 1.290795203962965e-02 - 1.290028461406370e-02 1.289261102589192e-02 1.288493127982097e-02 1.287724539399148e-02 1.286955336728896e-02 - 1.286185519483855e-02 1.285415087393522e-02 1.284644040779901e-02 1.283872379943217e-02 1.283100105007112e-02 - 1.282327216499671e-02 1.281553714651719e-02 1.280779599126801e-02 1.280004870582322e-02 1.279229529551004e-02 - 1.278453575462785e-02 1.277677008230648e-02 1.276899828322272e-02 1.276122036637128e-02 1.275343633303281e-02 - 1.274564618082443e-02 1.273784991358546e-02 1.273004753391990e-02 1.272223904101719e-02 1.271442442957637e-02 - 1.270660370794978e-02 1.269877689384363e-02 1.269094397773904e-02 1.268310495443295e-02 1.267525983383190e-02 - 1.266740862159357e-02 1.265955131610305e-02 1.265168790986125e-02 1.264381841321034e-02 1.263594283614933e-02 - 1.262806117310012e-02 1.262017342951705e-02 1.261227961209872e-02 1.260437971406514e-02 1.259647373729069e-02 - 1.258856168925583e-02 1.258064357239260e-02 1.257271939240096e-02 1.256478915520078e-02 1.255685285459754e-02 - 1.254891049173029e-02 1.254096207570647e-02 1.253300760376554e-02 1.252504707668881e-02 1.251708050378790e-02 - 1.250910789128773e-02 1.250112924190730e-02 1.249314455497329e-02 1.248515382942968e-02 1.247715706626537e-02 - 1.246915427066142e-02 1.246114545004359e-02 1.245313061093009e-02 1.244510975519442e-02 1.243708288271855e-02 - 1.242904999334644e-02 1.242101108960597e-02 1.241296617602342e-02 1.240491525784085e-02 1.239685833832253e-02 - 1.238879542265411e-02 1.238072651672425e-02 1.237265161832934e-02 1.236457072972670e-02 1.235648385971585e-02 - 1.234839100475330e-02 1.234029216644840e-02 1.233218735967670e-02 1.232407658450629e-02 1.231595983825897e-02 - 1.230783712734204e-02 1.229970846199802e-02 1.229157384500942e-02 1.228343326032102e-02 1.227528672233900e-02 - 1.226713425500730e-02 1.225897584359588e-02 1.225081148758153e-02 1.224264120133804e-02 1.223446498720786e-02 - 1.222628284514866e-02 1.221809477711035e-02 1.220990079161559e-02 1.220170089405064e-02 1.219349508434973e-02 - 1.218528336781141e-02 1.217706575082829e-02 1.216884223701085e-02 1.216061282093886e-02 1.215237750559525e-02 - 1.214413631491834e-02 1.213588924765066e-02 1.212763629639266e-02 1.211937747504947e-02 1.211111278696468e-02 - 1.210284222899338e-02 1.209456580676226e-02 1.208628352659129e-02 1.207799539529086e-02 1.206970142400196e-02 - 1.206140161359375e-02 1.205309595715539e-02 1.204478446558403e-02 1.203646714593309e-02 1.202814399601385e-02 - 1.201981502726849e-02 1.201148024892713e-02 1.200313965960066e-02 1.199479326438714e-02 1.198644106975963e-02 - 1.197808307814890e-02 1.196971928979660e-02 1.196134970757412e-02 1.195297434273665e-02 1.194459320579336e-02 - 1.193620630286995e-02 1.192781363156250e-02 1.191941519457288e-02 1.191101099930699e-02 1.190260104978759e-02 - 1.189418535108248e-02 1.188576391078268e-02 1.187733673904143e-02 1.186890383909906e-02 1.186046520717658e-02 - 1.185202085452967e-02 1.184357078721630e-02 1.183511499765447e-02 1.182665350164435e-02 1.181818631619212e-02 - 1.180971343948878e-02 1.180123487113532e-02 1.179275061618258e-02 1.178426068678883e-02 1.177576508273127e-02 - 1.176726380098327e-02 1.175875685721244e-02 1.175024426443667e-02 1.174172602804813e-02 1.173320214474543e-02 - 1.172467261918110e-02 1.171613746318596e-02 1.170759667473828e-02 1.169905025976067e-02 1.169049823639713e-02 - 1.168194060529573e-02 1.167337736787376e-02 1.166480853596695e-02 1.165623411322526e-02 1.164765410079015e-02 - 1.163906850325271e-02 1.163047732858534e-02 1.162188058835008e-02 1.161327829716097e-02 1.160467045202270e-02 - 1.159605704763531e-02 1.158743810702480e-02 1.157881363156412e-02 1.157018361041755e-02 1.156154807040710e-02 - 1.155290702254676e-02 1.154426045745637e-02 1.153560838867705e-02 1.152695082724772e-02 1.151828777265603e-02 - 1.150961922666123e-02 1.150094519786783e-02 1.149226570234640e-02 1.148358074611148e-02 1.147489033148848e-02 - 1.146619446355201e-02 1.145749315215113e-02 1.144878640491215e-02 1.144007421936342e-02 1.143135660500108e-02 - 1.142263357779597e-02 1.141390514531738e-02 1.140517131031360e-02 1.139643207471360e-02 1.138768744746770e-02 - 1.137893743736065e-02 1.137018205114591e-02 1.136142129485616e-02 1.135265517811921e-02 1.134388371322748e-02 - 1.133510690045416e-02 1.132632474439678e-02 1.131753726104511e-02 1.130874445081251e-02 1.129994631541456e-02 - 1.129114287234474e-02 1.128233413053084e-02 1.127352009524980e-02 1.126470077646612e-02 1.125587617975814e-02 - 1.124704630615814e-02 1.123821115477194e-02 1.122937074388692e-02 1.122052509984340e-02 1.121167421843202e-02 - 1.120281809651728e-02 1.119395674175946e-02 1.118509017235879e-02 1.117621839625571e-02 1.116734140890626e-02 - 1.115845922925729e-02 1.114957187162777e-02 1.114067933143962e-02 1.113178161769016e-02 1.112287874451852e-02 - 1.111397072153178e-02 1.110505754694771e-02 1.109613922373310e-02 1.108721577854856e-02 1.107828721826434e-02 - 1.106935353946150e-02 1.106041475521090e-02 1.105147087839408e-02 1.104252191603393e-02 1.103356786436798e-02 - 1.102460873384026e-02 1.101564454870664e-02 1.100667531791245e-02 1.099770104268406e-02 1.098872172333136e-02 - 1.097973737703280e-02 1.097074801492989e-02 1.096175363206450e-02 1.095275424291130e-02 1.094374986633713e-02 - 1.093474051123777e-02 1.092572618232803e-02 1.091670688531980e-02 1.090768263148204e-02 1.089865342255811e-02 - 1.088961926240844e-02 1.088058018050034e-02 1.087153618780464e-02 1.086248727940419e-02 1.085343346361914e-02 - 1.084437475261139e-02 1.083531115780061e-02 1.082624268419920e-02 1.081716934144050e-02 1.080809114559821e-02 - 1.079900810312026e-02 1.078992022093278e-02 1.078082751184906e-02 1.077172998533364e-02 1.076262764813011e-02 - 1.075352050586474e-02 1.074440857092024e-02 1.073529185762834e-02 1.072617037570664e-02 1.071704413251609e-02 - 1.070791313635956e-02 1.069877740113652e-02 1.068963693244828e-02 1.068049173224424e-02 1.067134181766250e-02 - 1.066218720670161e-02 1.065302791162099e-02 1.064386393117340e-02 1.063469527249458e-02 1.062552195483164e-02 - 1.061634397913101e-02 1.060716135205155e-02 1.059797409807024e-02 1.058878223029125e-02 1.057958575437316e-02 - 1.057038467384018e-02 1.056117900039964e-02 1.055196874533382e-02 1.054275390960051e-02 1.053353451406393e-02 - 1.052431058354873e-02 1.051508211263400e-02 1.050584910821505e-02 1.049661158906674e-02 1.048736956269110e-02 - 1.047812303544552e-02 1.046887201730896e-02 1.045961652742825e-02 1.045035657823219e-02 1.044109217270465e-02 - 1.043182332652317e-02 1.042255005238709e-02 1.041327235213399e-02 1.040399023555266e-02 1.039470371859749e-02 - 1.038541282005145e-02 1.037611754740451e-02 1.036681790639924e-02 1.035751391340543e-02 1.034820558036888e-02 - 1.033889291336949e-02 1.032957591435120e-02 1.032025460242317e-02 1.031092900384275e-02 1.030159911688449e-02 - 1.029226495054825e-02 1.028292652729243e-02 1.027358385071069e-02 1.026423692589549e-02 1.025488576741323e-02 - 1.024553039300053e-02 1.023617081698821e-02 1.022680704740226e-02 1.021743909457171e-02 1.020806697035185e-02 - 1.019869068658227e-02 1.018931025066223e-02 1.017992567348438e-02 1.017053697875713e-02 1.016114417776936e-02 - 1.015174727399650e-02 1.014234627700861e-02 1.013294120450803e-02 1.012353207457940e-02 1.011411888599992e-02 - 1.010470164920459e-02 1.009528038851809e-02 1.008585511657422e-02 1.007642584330934e-02 1.006699257991301e-02 - 1.005755533847607e-02 1.004811412861271e-02 1.003866895746225e-02 1.002921984502842e-02 1.001976681035788e-02 - 1.001030986009602e-02 1.000084900502786e-02 9.991384259025663e-03 9.981915635495017e-03 9.972443141719819e-03 - 9.962966786689603e-03 9.953486595586885e-03 9.944002583039199e-03 9.934514754395770e-03 9.925023122335749e-03 - 9.915527701693664e-03 9.906028505794947e-03 9.896525539473492e-03 9.887018817044350e-03 9.877508364713565e-03 - 9.867994191756903e-03 9.858476305769829e-03 9.848954721540815e-03 9.839429453723526e-03 9.829900512927632e-03 - 9.820367904529967e-03 9.810831649938153e-03 9.801291772225836e-03 9.791748277276684e-03 9.782201174956444e-03 - 9.772650480173910e-03 9.763096209214261e-03 9.753538370443265e-03 9.743976971083063e-03 9.734412038356991e-03 - 9.724843589152831e-03 9.715271627378256e-03 9.705696167153652e-03 9.696117225097080e-03 9.686534815487291e-03 - 9.676948943754414e-03 9.667359623576509e-03 9.657766883492007e-03 9.648170733986708e-03 9.638571181819185e-03 - 9.628968243024477e-03 9.619361933494769e-03 9.609752265452595e-03 9.600139245296816e-03 9.590522893495216e-03 - 9.580903234511828e-03 9.571280275331249e-03 9.561654026946651e-03 9.552024506017841e-03 9.542391727779683e-03 - 9.532755702177183e-03 9.523116437885958e-03 9.513473960404769e-03 9.503828289303256e-03 9.494179431678001e-03 - 9.484527400058637e-03 9.474872210511853e-03 9.465213879778082e-03 9.455552415295903e-03 9.445887829718797e-03 - 9.436220151655284e-03 9.426549394486200e-03 9.416875565725477e-03 9.407198681221749e-03 9.397518758018270e-03 - 9.387835810148322e-03 9.378149843813783e-03 9.368460878589471e-03 9.358768941430739e-03 9.349074041571485e-03 - 9.339376189353358e-03 9.329675400879622e-03 9.319971694171958e-03 9.310265081086165e-03 9.300555568605354e-03 - 9.290843182951191e-03 9.281127946492163e-03 9.271409865969660e-03 9.261688954922952e-03 9.251965230660204e-03 - 9.242238709904914e-03 9.232509401801155e-03 9.222777318787652e-03 9.213042489474691e-03 9.203304930168641e-03 - 9.193564649383718e-03 9.183821661973759e-03 9.174075985705271e-03 9.164327637046287e-03 9.154576623077591e-03 - 9.144822962285418e-03 9.135066683045857e-03 9.125307796249328e-03 9.115546312613307e-03 9.105782249286811e-03 - 9.096015624756502e-03 9.086246452281876e-03 9.076474739187750e-03 9.066700510968253e-03 9.056923792083085e-03 - 9.047144590189744e-03 9.037362919662660e-03 9.027578799121916e-03 9.017792245480461e-03 9.008003268928564e-03 - 8.998211881680073e-03 8.988418113610518e-03 8.978621982540696e-03 8.968823496265647e-03 8.959022672124209e-03 - 8.949219528590024e-03 8.939414081469170e-03 8.929606339864140e-03 8.919796321979990e-03 8.909984056877767e-03 - 8.900169557867096e-03 8.890352835957138e-03 8.880533907981049e-03 8.870712793191068e-03 8.860889506593549e-03 - 8.851064055633283e-03 8.841236465905915e-03 8.831406764712287e-03 8.821574959648875e-03 8.811741064546590e-03 - 8.801905099237244e-03 8.792067082696866e-03 8.782227026145442e-03 8.772384940188230e-03 8.762540855386065e-03 - 8.752694792574688e-03 8.742846759945761e-03 8.732996774006149e-03 8.723144854408183e-03 8.713291019755398e-03 - 8.703435278608567e-03 8.693577647775636e-03 8.683718159456632e-03 8.673856827661263e-03 8.663993662505663e-03 - 8.654128683145933e-03 8.644261909320558e-03 8.634393356690426e-03 8.624523033451901e-03 8.614650964506795e-03 - 8.604777179373340e-03 8.594901686657006e-03 8.585024500118565e-03 8.575145640490715e-03 8.565265126670765e-03 - 8.555382971806235e-03 8.545499187654319e-03 8.535613803632294e-03 8.525726842250045e-03 8.515838312646278e-03 - 8.505948232174527e-03 8.496056621077198e-03 8.486163497882877e-03 8.476268872748003e-03 8.466372762116349e-03 - 8.456475199094931e-03 8.446576199856061e-03 8.436675774300739e-03 8.426773941795081e-03 8.416870722731803e-03 - 8.406966134358667e-03 8.397060186389057e-03 8.387152901959176e-03 8.377244311160385e-03 8.367334425300299e-03 - 8.357423258296441e-03 8.347510830980188e-03 8.337597163605794e-03 8.327682270401855e-03 8.317766161869340e-03 - 8.307848867754637e-03 8.297930413816063e-03 8.288010810083676e-03 8.278090072673102e-03 8.268168221765407e-03 - 8.258245278027963e-03 8.248321253600945e-03 8.238396163758082e-03 8.228470040664376e-03 8.218542903042886e-03 - 8.208614761992156e-03 8.198685637447353e-03 8.188755549837494e-03 8.178824516773604e-03 8.168892549578916e-03 - 8.158959670459199e-03 8.149025910256038e-03 8.139091282816925e-03 8.129155801857130e-03 8.119219487437710e-03 - 8.109282361690508e-03 8.099344440765549e-03 8.089405733754036e-03 8.079466270417937e-03 8.069526079135253e-03 - 8.059585169010465e-03 8.049643556954327e-03 8.039701265060109e-03 8.029758314127560e-03 8.019814717074126e-03 - 8.009870488264625e-03 7.999925660293698e-03 7.989980254561855e-03 7.980034282561204e-03 7.970087763203990e-03 - 7.960140717914167e-03 7.950193166721423e-03 7.940245120231920e-03 7.930296599391260e-03 7.920347637831796e-03 - 7.910398250263278e-03 7.900448449763646e-03 7.890498257622273e-03 7.880547695356892e-03 7.870596780430528e-03 - 7.860645524802819e-03 7.850693955430419e-03 7.840742100859013e-03 7.830789973961963e-03 7.820837591210042e-03 - 7.810884973654219e-03 7.800932143705464e-03 7.790979115476222e-03 7.781025902060369e-03 7.771072537550891e-03 - 7.761119045304192e-03 7.751165435253132e-03 7.741211727248220e-03 7.731257943744334e-03 7.721304105116559e-03 - 7.711350222852130e-03 7.701396316987202e-03 7.691442422531397e-03 7.681488555826352e-03 7.671534729460651e-03 - 7.661580965493510e-03 7.651627286213397e-03 7.641673709645761e-03 7.631720246474624e-03 7.621766924002147e-03 - 7.611813774300424e-03 7.601860809420407e-03 7.591908045212342e-03 7.581955503946372e-03 7.572003208680656e-03 - 7.562051174726026e-03 7.552099414296815e-03 7.542147961065804e-03 7.532196840825635e-03 7.522246063843738e-03 - 7.512295650102864e-03 7.502345622322073e-03 7.492396000716249e-03 7.482446799189802e-03 7.472498037196947e-03 - 7.462549747897286e-03 7.452601950331629e-03 7.442654658211039e-03 7.432707892744488e-03 7.422761676416634e-03 - 7.412816028768508e-03 7.402870961455420e-03 7.392926500328647e-03 7.382982678429822e-03 7.373039508794957e-03 - 7.363097007225734e-03 7.353155196864952e-03 7.343214100532815e-03 7.333273734782904e-03 7.323334112197604e-03 - 7.313395265021593e-03 7.303457220900774e-03 7.293519991033275e-03 7.283583594600794e-03 7.273648054943689e-03 - 7.263713394446934e-03 7.253779626580373e-03 7.243846768480717e-03 7.233914855435080e-03 7.223983908518886e-03 - 7.214053940460562e-03 7.204124972417771e-03 7.194197027491048e-03 7.184270126394881e-03 7.174344280726286e-03 - 7.164419514784642e-03 7.154495863236941e-03 7.144573340914020e-03 7.134651962993328e-03 7.124731752265264e-03 - 7.114812732100897e-03 7.104894920638768e-03 7.094978330575343e-03 7.085062992246606e-03 7.075148934793896e-03 - 7.065236171017366e-03 7.055324719420953e-03 7.045414603125002e-03 7.035505845669364e-03 7.025598461448587e-03 - 7.015692466009597e-03 7.005787894887785e-03 6.995884771371198e-03 6.985983107977662e-03 6.976082925249031e-03 - 6.966184246523457e-03 6.956287093797063e-03 6.946391479271966e-03 6.936497425652844e-03 6.926604968509339e-03 - 6.916714124366364e-03 6.906824907731460e-03 6.896937340931554e-03 6.887051448149962e-03 6.877167248699087e-03 - 6.867284753979424e-03 6.857403994050719e-03 6.847525000658012e-03 6.837647785670592e-03 6.827772367409923e-03 - 6.817898770109592e-03 6.808027016717447e-03 6.798157122708669e-03 6.788289103240300e-03 6.778422992931511e-03 - 6.768558816798320e-03 6.758696587557012e-03 6.748836325648165e-03 6.738978054348659e-03 6.729121795949092e-03 - 6.719267563927435e-03 6.709415379633438e-03 6.699565278400954e-03 6.689717278120727e-03 6.679871393303892e-03 - 6.670027647355804e-03 6.660186063525513e-03 6.650346660981845e-03 6.640509452367944e-03 6.630674466396449e-03 - 6.620841735868644e-03 6.611011273308148e-03 6.601183096392477e-03 6.591357229649247e-03 6.581533696087914e-03 - 6.571712512145987e-03 6.561893692372858e-03 6.552077270290561e-03 6.542263272668194e-03 6.532451712617284e-03 - 6.522642609933696e-03 6.512835987879551e-03 6.503031869590782e-03 6.493230268870023e-03 6.483431205156500e-03 - 6.473634714105858e-03 6.463840816056773e-03 6.454049525191551e-03 6.444260863046832e-03 6.434474853362258e-03 - 6.424691517208967e-03 6.414910866799055e-03 6.405132928351729e-03 6.395357735592168e-03 6.385585303753894e-03 - 6.375815649717760e-03 6.366048796411005e-03 6.356284767471845e-03 6.346523580477974e-03 6.336765248927921e-03 - 6.327009805730009e-03 6.317257279178600e-03 6.307507681412946e-03 6.297761032647583e-03 6.288017356862164e-03 - 6.278276676438099e-03 6.268539005625230e-03 6.258804362658888e-03 6.249072783406197e-03 6.239344289504087e-03 - 6.229618894349891e-03 6.219896619699197e-03 6.210177489065160e-03 6.200461523673893e-03 6.190748736475173e-03 - 6.181039151999554e-03 6.171332804226705e-03 6.161629709556120e-03 6.151929884103313e-03 6.142233350147177e-03 - 6.132540131644584e-03 6.122850247356021e-03 6.113163710170625e-03 6.103480551213418e-03 6.093800800141988e-03 - 6.084124469547710e-03 6.074451578566364e-03 6.064782150905211e-03 6.055116209626953e-03 6.045453769994722e-03 - 6.035794848740185e-03 6.026139480474754e-03 6.016487688229946e-03 6.006839485237500e-03 5.997194892776407e-03 - 5.987553934341584e-03 5.977916631713333e-03 5.968282997802390e-03 5.958653055343909e-03 5.949026838944569e-03 - 5.939404365780911e-03 5.929785651209331e-03 5.920170717549854e-03 5.910559587858684e-03 5.900952281370824e-03 - 5.891348811852907e-03 5.881749208142844e-03 5.872153500225121e-03 5.862561701850070e-03 5.852973831530551e-03 - 5.843389912374926e-03 5.833809966833203e-03 5.824234011006907e-03 5.814662060999971e-03 5.805094150375409e-03 - 5.795530303292347e-03 5.785970532524381e-03 5.776414859211175e-03 5.766863306294991e-03 5.757315894674337e-03 - 5.747772638659374e-03 5.738233559732430e-03 5.728698691311226e-03 5.719168051719483e-03 5.709641656042984e-03 - 5.700119526414031e-03 5.690601685377130e-03 5.681088152168133e-03 5.671578940158426e-03 5.662074076665564e-03 - 5.652573592801510e-03 5.643077502877857e-03 5.633585823810169e-03 5.624098577633230e-03 5.614615788052954e-03 - 5.605137471831965e-03 5.595663642810052e-03 5.586194333773162e-03 5.576729570469775e-03 5.567269364923084e-03 - 5.557813736696195e-03 5.548362708847973e-03 5.538916303890826e-03 5.529474534822445e-03 5.520037420561356e-03 - 5.510604996543656e-03 5.501177281279281e-03 5.491754287530179e-03 5.482336037985177e-03 5.472922555453679e-03 - 5.463513859119052e-03 5.454109961206277e-03 5.444710887376439e-03 5.435316669896643e-03 5.425927322428118e-03 - 5.416542861379438e-03 5.407163309793553e-03 5.397788689388935e-03 5.388419016905312e-03 5.379054306533677e-03 - 5.369694588817857e-03 5.360339890208465e-03 5.350990223294556e-03 5.341645606645782e-03 5.332306062415535e-03 - 5.322971612709802e-03 5.313642271564683e-03 5.304318056285795e-03 5.294999000250198e-03 5.285685123732157e-03 - 5.276376439554206e-03 5.267072968338082e-03 5.257774732353860e-03 5.248481751732874e-03 5.239194038865901e-03 - 5.229911616755654e-03 5.220634516968343e-03 5.211362754853240e-03 5.202096346092698e-03 5.192835312362628e-03 - 5.183579674966123e-03 5.174329450821569e-03 5.165084652994387e-03 5.155845310548846e-03 5.146611450951191e-03 - 5.137383086378589e-03 5.128160234647254e-03 5.118942917508807e-03 5.109731156137037e-03 5.100524965000140e-03 - 5.091324360054826e-03 5.082129373049942e-03 5.072940025255639e-03 5.063756329149303e-03 5.054578304260502e-03 - 5.045405972366202e-03 5.036239353680495e-03 5.027078459118392e-03 5.017923310123222e-03 5.008773940483098e-03 - 4.999630364315774e-03 4.990492594829337e-03 4.981360654331298e-03 4.972234563790402e-03 4.963114339923834e-03 - 4.953999995020500e-03 4.944891556281875e-03 4.935789051765770e-03 4.926692493194353e-03 4.917601897109304e-03 - 4.908517284729773e-03 4.899438676825864e-03 4.890366088012707e-03 4.881299532722441e-03 4.872239041569468e-03 - 4.863184636415129e-03 4.854136328649667e-03 4.845094137498133e-03 4.836058083872883e-03 4.827028186746977e-03 - 4.818004458681770e-03 4.808986918914880e-03 4.799975597861264e-03 4.790970512088721e-03 4.781971675128856e-03 - 4.772979106768043e-03 4.763992827229902e-03 4.755012853632298e-03 4.746039197549013e-03 4.737071883993436e-03 - 4.728110941197518e-03 4.719156380399636e-03 4.710208217424537e-03 4.701266473663848e-03 4.692331168251817e-03 - 4.683402315353613e-03 4.674479928383867e-03 4.665564036556664e-03 4.656654662394768e-03 4.647751816371710e-03 - 4.638855516650367e-03 4.629965783672686e-03 4.621082635909843e-03 4.612206084994354e-03 4.603336148102954e-03 - 4.594472856159325e-03 4.585616225744373e-03 4.576766268345947e-03 4.567923003199363e-03 4.559086450091263e-03 - 4.550256626033265e-03 4.541433541986122e-03 4.532617220194613e-03 4.523807688535670e-03 4.515004959722835e-03 - 4.506209047920159e-03 4.497419972185719e-03 4.488637751873642e-03 4.479862401381760e-03 4.471093932025212e-03 - 4.462332371280023e-03 4.453577742726973e-03 4.444830056583276e-03 4.436089328917552e-03 4.427355578888171e-03 - 4.418628824988929e-03 4.409909078668640e-03 4.401196354933857e-03 4.392490684030716e-03 4.383792083151365e-03 - 4.375100562120779e-03 4.366416138313078e-03 4.357738831525952e-03 4.349068659591380e-03 4.340405630957790e-03 - 4.331749765364269e-03 4.323101091949651e-03 4.314459623208851e-03 4.305825371349630e-03 4.297198354190413e-03 - 4.288578590720092e-03 4.279966095343473e-03 4.271360877578565e-03 4.262762963097229e-03 4.254172376200769e-03 - 4.245589126222103e-03 4.237013227440267e-03 4.228444697962537e-03 4.219883556022182e-03 4.211329813254019e-03 - 4.202783482548908e-03 4.194244591796649e-03 4.185713159116739e-03 4.177189194188086e-03 4.168672712320958e-03 - 4.160163731860882e-03 4.151662270610665e-03 4.143168336754119e-03 4.134681947397693e-03 4.126203130809124e-03 - 4.117731899759874e-03 4.109268265260960e-03 4.100812244167818e-03 4.092363854125291e-03 4.083923109325604e-03 - 4.075490018959178e-03 4.067064605609816e-03 4.058646892914489e-03 4.050236890474988e-03 4.041834611549669e-03 - 4.033440073099425e-03 4.025053291802670e-03 4.016674279190388e-03 4.008303046950822e-03 3.999939621219669e-03 - 3.991584019864232e-03 3.983236251035503e-03 3.974896329846703e-03 3.966564273682151e-03 3.958240098637734e-03 - 3.949923812376889e-03 3.941615430268695e-03 3.933314980874398e-03 3.925022475755094e-03 3.916737923312982e-03 - 3.908461340476090e-03 3.900192744628528e-03 3.891932149238224e-03 3.883679560814138e-03 3.875435000263637e-03 - 3.867198492508630e-03 3.858970045729460e-03 3.850749670926077e-03 3.842537384120139e-03 3.834333202377867e-03 - 3.826137136626801e-03 3.817949195349815e-03 3.809769403427763e-03 3.801597779587331e-03 3.793434330750140e-03 - 3.785279069923421e-03 3.777132013373491e-03 3.768993177352847e-03 3.760862568898475e-03 3.752740200334732e-03 - 3.744626099044159e-03 3.736520277340854e-03 3.728422742215669e-03 3.720333508785603e-03 3.712252593018920e-03 - 3.704180008090329e-03 3.696115760631814e-03 3.688059868276574e-03 3.680012354362612e-03 3.671973228138760e-03 - 3.663942499526064e-03 3.655920182566113e-03 3.647906292785413e-03 3.639900840938008e-03 3.631903834337251e-03 - 3.623915295229000e-03 3.615935242250758e-03 3.607963681828620e-03 3.600000626081414e-03 3.592046089865790e-03 - 3.584100087061132e-03 3.576162625323692e-03 3.568233715505030e-03 3.560313381862740e-03 3.552401637255495e-03 - 3.544498488187401e-03 3.536603947761108e-03 3.528718030587010e-03 3.520840749407267e-03 3.512972109975055e-03 - 3.505112127471606e-03 3.497260824593953e-03 3.489418209893856e-03 3.481584291815555e-03 3.473759083632174e-03 - 3.465942599385497e-03 3.458134849136788e-03 3.450335838875430e-03 3.442545588595099e-03 3.434764116831954e-03 - 3.426991428902786e-03 3.419227535146918e-03 3.411472449427477e-03 3.403726185233638e-03 3.395988749408295e-03 - 3.388260149964055e-03 3.380540409506120e-03 3.372829541439428e-03 3.365127551327278e-03 3.357434450344299e-03 - 3.349750251864305e-03 3.342074968176267e-03 3.334408603200120e-03 3.326751169911567e-03 3.319102691777129e-03 - 3.311463175183513e-03 3.303832626198486e-03 3.296211059114474e-03 3.288598486024217e-03 3.280994915398627e-03 - 3.273400352769854e-03 3.265814815709593e-03 3.258238322074859e-03 3.250670876135365e-03 3.243112486983179e-03 - 3.235563167624456e-03 3.228022929479646e-03 3.220491779361285e-03 3.212969724272006e-03 3.205456783570964e-03 - 3.197952970426890e-03 3.190458290104943e-03 3.182972751519780e-03 3.175496366385864e-03 3.168029146873250e-03 - 3.160571096621216e-03 3.153122225636278e-03 3.145682555500280e-03 3.138252093348739e-03 3.130830843615626e-03 - 3.123418817816768e-03 3.116016027518625e-03 3.108622481356378e-03 3.101238183229207e-03 3.093863147897005e-03 - 3.086497392737253e-03 3.079140921752824e-03 3.071793741871484e-03 3.064455864252268e-03 3.057127299904285e-03 - 3.049808055146270e-03 3.042498134791386e-03 3.035197556645182e-03 3.027906333235584e-03 3.020624467536793e-03 - 3.013351968343262e-03 3.006088846580162e-03 2.998835112089031e-03 2.991590768047797e-03 2.984355822285627e-03 - 2.977130294631421e-03 2.969914192263928e-03 2.962707518230782e-03 2.955510282832787e-03 2.948322496039390e-03 - 2.941144165204636e-03 2.933975293458325e-03 2.926815893073326e-03 2.919665980487675e-03 2.912525559332239e-03 - 2.905394635071103e-03 2.898273217656210e-03 2.891161316595433e-03 2.884058936906487e-03 2.876966081111658e-03 - 2.869882766189157e-03 2.862809005041444e-03 2.855744798230348e-03 2.848690153100023e-03 2.841645079496137e-03 - 2.834609585256340e-03 2.827583673848185e-03 2.820567351490293e-03 2.813560634590312e-03 2.806563530531927e-03 - 2.799576041999259e-03 2.792598177467573e-03 2.785629945309582e-03 2.778671351607254e-03 2.771722398039775e-03 - 2.764783095014263e-03 2.757853459091809e-03 2.750933492568204e-03 2.744023198517816e-03 2.737122585640385e-03 - 2.730231662189404e-03 2.723350432970404e-03 2.716478899800820e-03 2.709617075896625e-03 2.702764973241287e-03 - 2.695922593060963e-03 2.689089940152226e-03 2.682267022316270e-03 2.675453847914084e-03 2.668650418902243e-03 - 2.661856738145520e-03 2.655072822033232e-03 2.648298678030288e-03 2.641534306206961e-03 2.634779712258937e-03 - 2.628034904058933e-03 2.621299888635041e-03 2.614574665771587e-03 2.607859242632423e-03 2.601153634957146e-03 - 2.594457844452072e-03 2.587771872555374e-03 2.581095727373358e-03 2.574429415266960e-03 2.567772939497474e-03 - 2.561126300777387e-03 2.554489510835181e-03 2.547862581281132e-03 2.541245510713479e-03 2.534638303078699e-03 - 2.528040966193904e-03 2.521453505493298e-03 2.514875922225054e-03 2.508308218200437e-03 2.501750407164573e-03 - 2.495202496081871e-03 2.488664484118587e-03 2.482136376281468e-03 2.475618178705269e-03 2.469109895957427e-03 - 2.462611527825166e-03 2.456123079328407e-03 2.449644563898542e-03 2.443175984269443e-03 2.436717340526153e-03 - 2.430268636964234e-03 2.423829879853036e-03 2.417401073311931e-03 2.410982215756923e-03 2.404573315098301e-03 - 2.398174382071132e-03 2.391785416912405e-03 2.385406421217447e-03 2.379037399546287e-03 2.372678357701878e-03 - 2.366329296305038e-03 2.359990214012962e-03 2.353661123666590e-03 2.347342032379030e-03 2.341032936953993e-03 - 2.334733840455562e-03 2.328444748068140e-03 2.322165663885325e-03 2.315896586946297e-03 2.309637519733881e-03 - 2.303388473653537e-03 2.297149451184649e-03 2.290920451297887e-03 2.284701476927273e-03 2.278492533074980e-03 - 2.272293622898508e-03 2.266104742447669e-03 2.259925897918875e-03 2.253757100645447e-03 2.247598348619136e-03 - 2.241449641489242e-03 2.235310983406359e-03 2.229182378556762e-03 2.223063827011661e-03 2.216955326220785e-03 - 2.210856885615230e-03 2.204768511855369e-03 2.198690202073136e-03 2.192621957162963e-03 2.186563780523993e-03 - 2.180515675851768e-03 2.174477640514074e-03 2.168449674335647e-03 2.162431789038673e-03 2.156423986093689e-03 - 2.150426261719325e-03 2.144438618887063e-03 2.138461061015507e-03 2.132493589319895e-03 2.126536199820428e-03 - 2.120588896234097e-03 2.114651688169617e-03 2.108724573757348e-03 2.102807551461262e-03 2.096900623831682e-03 - 2.091003792760502e-03 2.085117057433877e-03 2.079240415028002e-03 2.073373872799373e-03 2.067517436442142e-03 - 2.061671101563673e-03 2.055834867994772e-03 2.050008738194652e-03 2.044192713868095e-03 2.038386792128391e-03 - 2.032590971333173e-03 2.026805260662020e-03 2.021029661329869e-03 2.015264168518725e-03 2.009508783500123e-03 - 2.003763508166370e-03 1.998028342654997e-03 1.992303282805534e-03 1.986588330078225e-03 1.980883492165770e-03 - 1.975188767039759e-03 1.969504151730439e-03 1.963829647004430e-03 1.958165254218237e-03 1.952510971963634e-03 - 1.946866794889960e-03 1.941232728159857e-03 1.935608777640074e-03 1.929994938329363e-03 1.924391207914093e-03 - 1.918797587114099e-03 1.913214077256622e-03 1.907640674795718e-03 1.902077375557082e-03 1.896524186430478e-03 - 1.890981108949087e-03 1.885448138032121e-03 1.879925272541809e-03 1.874412513138102e-03 1.868909859971047e-03 - 1.863417306389931e-03 1.857934851379391e-03 1.852462503653811e-03 1.847000259754348e-03 1.841548114039762e-03 - 1.836106066817225e-03 1.830674118529854e-03 1.825252266916765e-03 1.819840505202892e-03 1.814438836319749e-03 - 1.809047265638602e-03 1.803665787133681e-03 1.798294397101445e-03 1.792933095135866e-03 1.787581880369786e-03 - 1.782240749155103e-03 1.776909697172910e-03 1.771588728179710e-03 1.766277842767543e-03 1.760977035675204e-03 - 1.755686304337379e-03 1.750405647484752e-03 1.745135063548007e-03 1.739874546386865e-03 1.734624093589025e-03 - 1.729383711586370e-03 1.724153396315838e-03 1.718933140719367e-03 1.713722944309894e-03 1.708522806163372e-03 - 1.703332722978997e-03 1.698152687791741e-03 1.692982700783420e-03 1.687822765464940e-03 1.682672875794938e-03 - 1.677533027054054e-03 1.672403217813849e-03 1.667283446525115e-03 1.662173708173832e-03 1.657073995739192e-03 - 1.651984312946546e-03 1.646904660364047e-03 1.641835029387390e-03 1.636775416468660e-03 1.631725820220986e-03 - 1.626686238226539e-03 1.621656663682810e-03 1.616637091835148e-03 1.611627526662728e-03 1.606627964700548e-03 - 1.601638398623349e-03 1.596658825754688e-03 1.591689243408400e-03 1.586729647378206e-03 1.581780030725023e-03 - 1.576840391697073e-03 1.571910732264727e-03 1.566991046477593e-03 1.562081328242421e-03 1.557181574037859e-03 - 1.552291781114454e-03 1.547411944138861e-03 1.542542055154552e-03 1.537682115822498e-03 1.532832126356767e-03 - 1.527992077470792e-03 1.523161963747274e-03 1.518341782422417e-03 1.513531530571088e-03 1.508731200913292e-03 - 1.503940786876937e-03 1.499160290964809e-03 1.494389709200610e-03 1.489629032745148e-03 1.484878257820629e-03 - 1.480137381279299e-03 1.475406398389162e-03 1.470685299850305e-03 1.465974082141071e-03 1.461272748080975e-03 - 1.456581290224651e-03 1.451899700275850e-03 1.447227974089072e-03 1.442566108566721e-03 1.437914097994959e-03 - 1.433271932504185e-03 1.428639611034298e-03 1.424017133356480e-03 1.419404490680891e-03 1.414801676491448e-03 - 1.410208686553135e-03 1.405625516589791e-03 1.401052158609908e-03 1.396488604511052e-03 1.391934855472548e-03 - 1.387390907364871e-03 1.382856750165021e-03 1.378332378783991e-03 1.373817788890047e-03 1.369312974750468e-03 - 1.364817927255285e-03 1.360332641059443e-03 1.355857116711623e-03 1.351391347026849e-03 1.346935323100728e-03 - 1.342489039284644e-03 1.338052491255308e-03 1.333625672740901e-03 1.329208572800934e-03 1.324801188462658e-03 - 1.320403519143769e-03 1.316015555822497e-03 1.311637290544184e-03 1.307268717472159e-03 1.302909831116118e-03 - 1.298560623326278e-03 1.294221085253892e-03 1.289891216124110e-03 1.285571011566486e-03 1.281260461060531e-03 - 1.276959557618139e-03 1.272668295740209e-03 1.268386669608614e-03 1.264114669618853e-03 1.259852288349743e-03 - 1.255599524419093e-03 1.251356371085625e-03 1.247122819189722e-03 1.242898861265979e-03 1.238684491359706e-03 - 1.234479702756933e-03 1.230284484841117e-03 1.226098832748256e-03 1.221922744434409e-03 1.217756210326720e-03 - 1.213599221362577e-03 1.209451770765583e-03 1.205313852635065e-03 1.201185458480448e-03 1.197066577985755e-03 - 1.192957208640432e-03 1.188857345511447e-03 1.184766976969275e-03 1.180686095693037e-03 1.176614695732404e-03 - 1.172552769621902e-03 1.168500307042727e-03 1.164457299537124e-03 1.160423745213695e-03 1.156399636114517e-03 - 1.152384961360659e-03 1.148379714206853e-03 1.144383887440774e-03 1.140397472403066e-03 1.136420458871837e-03 - 1.132452840804467e-03 1.128494614815977e-03 1.124545770440235e-03 1.120606297984056e-03 1.116676190709075e-03 - 1.112755440623707e-03 1.108844038267568e-03 1.104941973598277e-03 1.101049242215234e-03 1.097165838523137e-03 - 1.093291750933755e-03 1.089426970747485e-03 1.085571490835547e-03 1.081725303225761e-03 1.077888396808512e-03 - 1.074060761522748e-03 1.070242395009795e-03 1.066433289590875e-03 1.062633433332422e-03 1.058842817553080e-03 - 1.055061434373011e-03 1.051289275348505e-03 1.047526329409495e-03 1.043772588486000e-03 1.040028047931513e-03 - 1.036292698203525e-03 1.032566529042292e-03 1.028849531681517e-03 1.025141697676040e-03 1.021443017315572e-03 - 1.017753479165712e-03 1.014073077446178e-03 1.010401806565697e-03 1.006739654876394e-03 1.003086612170896e-03 - 9.994426698862881e-04 9.958078198244436e-04 9.921820510029489e-04 9.885653522799815e-04 9.849577193159157e-04 - 9.813591440739670e-04 9.777696142556011e-04 9.741891204675346e-04 9.706176542328248e-04 9.670552065524777e-04 - 9.635017651512704e-04 9.599573207794398e-04 9.564218691437683e-04 9.528953995809905e-04 9.493779002331982e-04 - 9.458693621672339e-04 9.423697766254766e-04 9.388791334439822e-04 9.353974200435674e-04 9.319246293443443e-04 - 9.284607555133966e-04 9.250057861419034e-04 9.215597102726345e-04 9.181225189615299e-04 9.146942031524666e-04 - 9.112747514066988e-04 9.078641516289516e-04 9.044623983719834e-04 9.010694834242857e-04 8.976853937790154e-04 - 8.943101192935385e-04 8.909436508104612e-04 8.875859786393426e-04 8.842370902316334e-04 8.808969751654204e-04 - 8.775656281905130e-04 8.742430385918343e-04 8.709291937982416e-04 8.676240840155020e-04 8.643276998573467e-04 - 8.610400308208924e-04 8.577610636611962e-04 8.544907899714905e-04 8.512292035626933e-04 8.479762917886125e-04 - 8.447320428739457e-04 8.414964471843920e-04 8.382694949325988e-04 8.350511744137459e-04 8.318414728923707e-04 - 8.286403836395943e-04 8.254478982373706e-04 8.222640032931049e-04 8.190886878204532e-04 8.159219419987107e-04 - 8.127637556794064e-04 8.096141160179775e-04 8.064730115089579e-04 8.033404360997527e-04 8.002163789609624e-04 - 7.971008268111541e-04 7.939937692507287e-04 7.908951962853333e-04 7.878050969946667e-04 7.847234577702081e-04 - 7.816502689905088e-04 7.785855239466778e-04 7.755292098590464e-04 7.724813142232633e-04 7.694418267842021e-04 - 7.664107372089749e-04 7.633880335334087e-04 7.603737023812342e-04 7.573677358642847e-04 7.543701253849379e-04 - 7.513808572285544e-04 7.483999196962093e-04 7.454273024026923e-04 7.424629947358947e-04 7.395069836664074e-04 - 7.365592567622367e-04 7.336198070174806e-04 7.306886236388442e-04 7.277656929130117e-04 7.248510036837761e-04 - 7.219445453636994e-04 7.190463067357669e-04 7.161562739946586e-04 7.132744364309508e-04 7.104007867132190e-04 - 7.075353120392018e-04 7.046779992824802e-04 7.018288375861283e-04 6.989878161882759e-04 6.961549229362052e-04 - 6.933301438820412e-04 6.905134700383686e-04 6.877048926511914e-04 6.849043978549774e-04 6.821119732944710e-04 - 6.793276080246700e-04 6.765512910034699e-04 6.737830090783149e-04 6.710227490756584e-04 6.682705030776122e-04 - 6.655262603091742e-04 6.627900067379164e-04 6.600617305924390e-04 6.573414207627890e-04 6.546290656955580e-04 - 6.519246513982958e-04 6.492281662548372e-04 6.465396024423735e-04 6.438589471596415e-04 6.411861867028291e-04 - 6.385213096762252e-04 6.358643049114898e-04 6.332151601148890e-04 6.305738609661260e-04 6.279403974635571e-04 - 6.253147606410383e-04 6.226969365620930e-04 6.200869123319087e-04 6.174846765257772e-04 6.148902176504979e-04 - 6.123035224628875e-04 6.097245772740803e-04 6.071533733723410e-04 6.045898999580564e-04 6.020341426510520e-04 - 5.994860891934145e-04 5.969457280748620e-04 5.944130474177512e-04 5.918880332091087e-04 5.893706730594447e-04 - 5.868609584534629e-04 5.843588766665737e-04 5.818644136544619e-04 5.793775576682911e-04 5.768982970317317e-04 - 5.744266191686133e-04 5.719625097277512e-04 5.695059578510202e-04 5.670569542308351e-04 5.646154849082753e-04 - 5.621815365284883e-04 5.597550972743215e-04 5.573361553519681e-04 5.549246974872960e-04 5.525207095632259e-04 - 5.501241820142805e-04 5.477351040267441e-04 5.453534610951853e-04 5.429792405131840e-04 5.406124304314462e-04 - 5.382530187447214e-04 5.359009913605971e-04 5.335563351904396e-04 5.312190411682156e-04 5.288890968140364e-04 - 5.265664878332606e-04 5.242512018091515e-04 5.219432267978740e-04 5.196425502978362e-04 5.173491576918976e-04 - 5.150630373381158e-04 5.127841797796618e-04 5.105125710953982e-04 5.082481974966798e-04 5.059910467933278e-04 - 5.037411069671739e-04 5.014983647643853e-04 4.992628057533249e-04 4.970344196034297e-04 4.948131954905409e-04 - 4.925991188614672e-04 4.903921766298550e-04 4.881923566574878e-04 4.859996466359864e-04 4.838140324815327e-04 - 4.816355005995136e-04 4.794640414647377e-04 4.772996426854546e-04 4.751422896755638e-04 4.729919697488023e-04 - 4.708486707166207e-04 4.687123799720691e-04 4.665830828962369e-04 4.644607671738101e-04 4.623454230212830e-04 - 4.602370366779194e-04 4.581355941018685e-04 4.560410828358216e-04 4.539534906171381e-04 4.518728041821612e-04 - 4.497990089033435e-04 4.477320938149108e-04 4.456720481170030e-04 4.436188572707195e-04 4.415725078895158e-04 - 4.395329875976124e-04 4.375002838422590e-04 4.354743826722610e-04 4.334552702201095e-04 4.314429363226086e-04 - 4.294373687059989e-04 4.274385527576286e-04 4.254464755700176e-04 4.234611247199864e-04 4.214824874479911e-04 - 4.195105492176435e-04 4.175452972239935e-04 4.155867214135851e-04 4.136348082067204e-04 4.116895433467350e-04 - 4.097509141339746e-04 4.078189081189173e-04 4.058935120995524e-04 4.039747114386321e-04 4.020624945699733e-04 - 4.001568506324645e-04 3.982577652062802e-04 3.963652246433777e-04 3.944792163840573e-04 3.925997278951708e-04 - 3.907267452820787e-04 3.888602542761684e-04 3.870002443827855e-04 3.851467035420477e-04 3.832996170232135e-04 - 3.814589716941001e-04 3.796247550166885e-04 3.777969542187427e-04 3.759755548771444e-04 3.741605437648361e-04 - 3.723519105456335e-04 3.705496418343326e-04 3.687537232626712e-04 3.669641420580878e-04 3.651808856652343e-04 - 3.634039408935104e-04 3.616332930379869e-04 3.598689301103073e-04 3.581108413327368e-04 3.563590123412032e-04 - 3.546134293224166e-04 3.528740796868620e-04 3.511409507353364e-04 3.494140287293094e-04 3.476932993968030e-04 - 3.459787517007610e-04 3.442703736842207e-04 3.425681507579447e-04 3.408720696736798e-04 3.391821178070990e-04 - 3.374982823340253e-04 3.358205489790399e-04 3.341489042294683e-04 3.324833375391577e-04 3.308238358267097e-04 - 3.291703846864138e-04 3.275229711235071e-04 3.258815824857735e-04 3.242462057388915e-04 3.226168264116891e-04 - 3.209934320343741e-04 3.193760116170641e-04 3.177645512713499e-04 3.161590371207419e-04 3.145594562690266e-04 - 3.129657961319975e-04 3.113780432227079e-04 3.097961831114660e-04 3.082202043645004e-04 3.066500952444524e-04 - 3.050858414009347e-04 3.035274294402161e-04 3.019748466354355e-04 3.004280802320956e-04 2.988871162192853e-04 - 2.973519409077311e-04 2.958225434173786e-04 2.942989109163873e-04 2.927810290941792e-04 2.912688849504159e-04 - 2.897624658129895e-04 2.882617587216531e-04 2.867667493909568e-04 2.852774250910157e-04 2.837937747837379e-04 - 2.823157848000407e-04 2.808434412718301e-04 2.793767313619733e-04 2.779156424588856e-04 2.764601612241833e-04 - 2.750102732798498e-04 2.735659669757869e-04 2.721272307826111e-04 2.706940504177620e-04 2.692664125118005e-04 - 2.678443044384447e-04 2.664277133531666e-04 2.650166254907073e-04 2.636110271946842e-04 2.622109073508727e-04 - 2.608162534146021e-04 2.594270512444905e-04 2.580432877716125e-04 2.566649503351083e-04 2.552920261463284e-04 - 2.539245011192165e-04 2.525623623480746e-04 2.512055988243127e-04 2.498541971146173e-04 2.485081433825346e-04 - 2.471674249383843e-04 2.458320291468696e-04 2.445019428356345e-04 2.431771519464020e-04 2.418576445147758e-04 - 2.405434090455539e-04 2.392344316436903e-04 2.379306989304936e-04 2.366321982706708e-04 2.353389171046539e-04 - 2.340508418959193e-04 2.327679588365217e-04 2.314902568213100e-04 2.302177235947735e-04 2.289503450019842e-04 - 2.276881081822984e-04 2.264310006278554e-04 2.251790095285085e-04 2.239321211178975e-04 2.226903224828012e-04 - 2.214536025966827e-04 2.202219483393713e-04 2.189953459440866e-04 2.177737827672056e-04 2.165572463172210e-04 - 2.153457236927424e-04 2.141392010208329e-04 2.129376661694288e-04 2.117411078009580e-04 2.105495123800498e-04 - 2.093628666254358e-04 2.081811579562958e-04 2.070043738711933e-04 2.058325011765904e-04 2.046655262979033e-04 - 2.035034378928387e-04 2.023462239716796e-04 2.011938707312936e-04 2.000463653117907e-04 1.989036953143001e-04 - 1.977658482429478e-04 1.966328105707422e-04 1.955045692837424e-04 1.943811134060168e-04 1.932624302421221e-04 - 1.921485062157297e-04 1.910393287336514e-04 1.899348854684124e-04 1.888351638115297e-04 1.877401500482506e-04 - 1.866498319949601e-04 1.855641985831636e-04 1.844832365124926e-04 1.834069326310023e-04 1.823352746298841e-04 - 1.812682501147551e-04 1.802058461455679e-04 1.791480493724017e-04 1.780948483852737e-04 1.770462314872484e-04 - 1.760021851824818e-04 1.749626967491274e-04 1.739277539439587e-04 1.728973444305181e-04 1.718714550470096e-04 - 1.708500728855944e-04 1.698331869571933e-04 1.688207849549946e-04 1.678128535713188e-04 1.668093803524777e-04 - 1.658103531111011e-04 1.648157594964937e-04 1.638255861976382e-04 1.628398210066413e-04 1.618584529166454e-04 - 1.608814690931768e-04 1.599088565742865e-04 1.589406031206167e-04 1.579766966509897e-04 1.570171246224424e-04 - 1.560618738321770e-04 1.551109328208930e-04 1.541642902068764e-04 1.532219328717612e-04 1.522838482661923e-04 - 1.513500243337891e-04 1.504204489591066e-04 1.494951093483970e-04 1.485739927662749e-04 1.476570882997282e-04 - 1.467443839796364e-04 1.458358667202351e-04 1.449315243896633e-04 1.440313449862068e-04 1.431353162531848e-04 - 1.422434254066872e-04 1.413556604013758e-04 1.404720102486319e-04 1.395924625558734e-04 1.387170046489957e-04 - 1.378456244430427e-04 1.369783100559194e-04 1.361150493062282e-04 1.352558293490397e-04 1.344006387024136e-04 - 1.335494662293593e-04 1.327022993333140e-04 1.318591256583063e-04 1.310199332689028e-04 1.301847103692820e-04 - 1.293534446013900e-04 1.285261234477974e-04 1.277027359881715e-04 1.268832706365997e-04 1.260677147052468e-04 - 1.252560562359565e-04 1.244482834803957e-04 1.236443845356053e-04 1.228443469528238e-04 1.220481588198588e-04 - 1.212558093699401e-04 1.204672865809282e-04 1.196825780471873e-04 1.189016720308052e-04 1.181245568536085e-04 - 1.173512205995857e-04 1.165816508484800e-04 1.158158362776897e-04 1.150537660210759e-04 1.142954277590100e-04 - 1.135408094568152e-04 1.127898995954114e-04 1.120426864956402e-04 1.112991581353023e-04 1.105593024093304e-04 - 1.098231085283700e-04 1.090905652465313e-04 1.083616601800625e-04 1.076363816399760e-04 1.069147182196831e-04 - 1.061966583782502e-04 1.054821899944032e-04 1.047713013150353e-04 1.040639818640637e-04 1.033602200082437e-04 - 1.026600035826387e-04 1.019633211976323e-04 1.012701615275282e-04 1.005805130149820e-04 9.989436355203399e-05 - 9.921170194739147e-05 9.853251765411631e-05 9.785679881782247e-05 9.718453366352614e-05 9.651571091087277e-05 - 9.585031930594751e-05 9.518834724915350e-05 9.452978284703146e-05 9.387461543789448e-05 9.322283420353250e-05 - 9.257442723618249e-05 9.192938310286574e-05 9.128769066247626e-05 9.064933872161225e-05 9.001431561187756e-05 - 8.938260983500139e-05 8.875421104519957e-05 8.812910809646098e-05 8.750728925694059e-05 8.688874335824857e-05 - 8.627345936363417e-05 8.566142611724158e-05 8.505263195150667e-05 8.444706587898619e-05 8.384471762172232e-05 - 8.324557578035348e-05 8.264962891132210e-05 8.205686604727953e-05 8.146727626544971e-05 8.088084838175318e-05 - 8.029757088191735e-05 7.971743327705584e-05 7.914042512047892e-05 7.856653495630607e-05 7.799575166346450e-05 - 7.742806441871695e-05 7.686346239245813e-05 7.630193435494130e-05 7.574346911053080e-05 7.518805653837606e-05 - 7.463568593117825e-05 7.408634594826592e-05 7.354002575090044e-05 7.299671464423979e-05 7.245640185167563e-05 - 7.191907614532941e-05 7.138472679150608e-05 7.085334380230530e-05 7.032491623916224e-05 6.979943301854977e-05 - 6.927688351841825e-05 6.875725716877753e-05 6.824054320182008e-05 6.772673050550591e-05 6.721580881996242e-05 - 6.670776807704407e-05 6.620259726868480e-05 6.570028562031883e-05 6.520082266140781e-05 6.470419793220322e-05 - 6.421040064958054e-05 6.371941996817583e-05 6.323124601185380e-05 6.274586851226631e-05 6.226327655003573e-05 - 6.178345963615301e-05 6.130640743984757e-05 6.083210957777482e-05 6.036055527561582e-05 5.989173409263222e-05 - 5.942563633391719e-05 5.896225154191688e-05 5.850156903007261e-05 5.804357852627766e-05 5.758826983099529e-05 - 5.713563260712647e-05 5.668565617514362e-05 5.623833053838233e-05 5.579364600051564e-05 5.535159201768813e-05 - 5.491215819134343e-05 5.447533442712218e-05 5.404111064124177e-05 5.360947650466450e-05 5.318042157160001e-05 - 5.275393622516995e-05 5.233001062811153e-05 5.190863431238880e-05 5.148979716458554e-05 5.107348923404401e-05 - 5.065970053025621e-05 5.024842074849432e-05 4.983963979263951e-05 4.943334827635427e-05 4.902953621108006e-05 - 4.862819332553702e-05 4.822930973793706e-05 4.783287562882953e-05 4.743888107972067e-05 4.704731588033618e-05 - 4.665817033540254e-05 4.627143510842172e-05 4.588710014690383e-05 4.550515545082771e-05 4.512559130332447e-05 - 4.474839802715817e-05 4.437356575264515e-05 4.400108444300858e-05 4.363094478314062e-05 4.326313737450849e-05 - 4.289765220307346e-05 4.253447954450777e-05 4.217360984935306e-05 4.181503354031293e-05 4.145874078526325e-05 - 4.110472186234567e-05 4.075296770939578e-05 4.040346881442376e-05 4.005621534517384e-05 3.971119780891244e-05 - 3.936840678851008e-05 3.902783280379881e-05 3.868946611492773e-05 3.835329736378580e-05 3.801931758461789e-05 - 3.768751721520911e-05 3.735788667634669e-05 3.703041665089796e-05 3.670509786268472e-05 3.638192090588934e-05 - 3.606087620758478e-05 3.574195476070656e-05 3.542514758568229e-05 3.511044516462031e-05 3.479783817623805e-05 - 3.448731747191980e-05 3.417887390941621e-05 3.387249813623169e-05 3.356818082938366e-05 3.326591326488256e-05 - 3.296568640239042e-05 3.266749086476883e-05 3.237131756688427e-05 3.207715751232477e-05 3.178500166911470e-05 - 3.149484077201404e-05 3.120666582870710e-05 3.092046825328168e-05 3.063623897047349e-05 3.035396883732847e-05 - 3.007364895961203e-05 2.979527048619034e-05 2.951882447255356e-05 2.924430180184470e-05 2.897169381596313e-05 - 2.870099196601076e-05 2.843218722351712e-05 2.816527069305565e-05 2.790023364581556e-05 2.763706736588794e-05 - 2.737576298520704e-05 2.711631161938774e-05 2.685870489191871e-05 2.660293422952212e-05 2.634899073350601e-05 - 2.609686574272242e-05 2.584655068622352e-05 2.559803697386157e-05 2.535131582907573e-05 2.510637865851451e-05 - 2.486321726016628e-05 2.462182305120829e-05 2.438218734168926e-05 2.414430166313400e-05 2.390815760058303e-05 - 2.367374667612129e-05 2.344106023464476e-05 2.321008999935892e-05 2.298082786356460e-05 2.275326527748312e-05 - 2.252739378233606e-05 2.230320509258137e-05 2.208069093512809e-05 2.185984291941186e-05 2.164065260635458e-05 - 2.142311199522572e-05 2.120721298028661e-05 2.099294714303281e-05 2.078030625998752e-05 2.056928220029127e-05 - 2.035986682231265e-05 2.015205183896797e-05 1.994582907956633e-05 1.974119073954575e-05 1.953812872162773e-05 - 1.933663479825456e-05 1.913670094979531e-05 1.893831919578259e-05 1.874148151575467e-05 1.854617976080873e-05 - 1.835240605058427e-05 1.816015268982217e-05 1.796941162992672e-05 1.778017486956627e-05 1.759243456762222e-05 - 1.740618289118282e-05 1.722141193137039e-05 1.703811372777776e-05 1.685628066375182e-05 1.667590509374455e-05 - 1.649697910104339e-05 1.631949489857415e-05 1.614344479286407e-05 1.596882111103627e-05 1.579561606259506e-05 - 1.562382191518076e-05 1.545343126338709e-05 1.528443649706141e-05 1.511682986511545e-05 1.495060379262073e-05 - 1.478575075387210e-05 1.462226320346460e-05 1.446013347627832e-05 1.429935410828208e-05 1.413991783947596e-05 - 1.398181711799591e-05 1.382504440087988e-05 1.366959229690567e-05 1.351545344207288e-05 1.336262041089977e-05 - 1.321108569966174e-05 1.306084210743495e-05 1.291188246012095e-05 1.276419932540445e-05 1.261778537439798e-05 - 1.247263337350260e-05 1.232873611168182e-05 1.218608628547451e-05 1.204467661277090e-05 1.190450010670460e-05 - 1.176554964839514e-05 1.162781797531038e-05 1.149129796332477e-05 1.135598253898601e-05 1.122186462622714e-05 - 1.108893706038782e-05 1.095719281332111e-05 1.082662505098182e-05 1.069722672643097e-05 1.056899077370047e-05 - 1.044191025341683e-05 1.031597825830204e-05 1.019118784797653e-05 1.006753201372614e-05 9.945003972957807e-06 - 9.823597003224701e-06 9.703304169766936e-06 9.584118614966616e-06 9.466033570975281e-06 9.349042284940899e-06 - 9.233137946012443e-06 9.118313747892748e-06 9.004563126071509e-06 8.891879438415634e-06 8.780255908737012e-06 - 8.669685879934477e-06 8.560162746518096e-06 8.451679906731882e-06 8.344230688978416e-06 8.237808513777729e-06 - 8.132406985376577e-06 8.028019552616531e-06 7.924639629701503e-06 7.822260741691212e-06 7.720876445763237e-06 - 7.620480284148957e-06 7.521065743540658e-06 7.422626477381218e-06 7.325156218634066e-06 7.228648532638821e-06 - 7.133097034958690e-06 7.038495423985100e-06 6.944837416133499e-06 6.852116691729515e-06 6.760326924607246e-06 - 6.669461983453847e-06 6.579515704432944e-06 6.490481806747385e-06 6.402354101863004e-06 6.315126452251840e-06 - 6.228792731669073e-06 6.143346764859859e-06 6.058782435540508e-06 5.975093791198315e-06 5.892274772590937e-06 - 5.810319279027480e-06 5.729221306547671e-06 5.648974882411472e-06 5.569574030477156e-06 5.491012732167998e-06 - 5.413285091010444e-06 5.336385298912571e-06 5.260307420244722e-06 5.185045547999291e-06 5.110593849728286e-06 - 5.036946516955677e-06 4.964097720721464e-06 4.892041619202182e-06 4.820772525961763e-06 4.750284753859853e-06 - 4.680572517390150e-06 4.611630102585562e-06 4.543451844884654e-06 4.476032095169469e-06 4.409365173309600e-06 - 4.343445435493855e-06 4.278267378107974e-06 4.213825432046252e-06 4.150113986510229e-06 4.087127510654963e-06 - 4.024860505544460e-06 3.963307478207591e-06 3.902462905546128e-06 3.842321351732513e-06 3.782877469285005e-06 - 3.724125818875267e-06 3.666060976275786e-06 3.608677584308628e-06 3.551970310325800e-06 3.495933813913828e-06 - 3.440562742860537e-06 3.385851865026623e-06 3.331795968547279e-06 3.278389763636986e-06 3.225628015585682e-06 - 3.173505536483180e-06 3.122017155106099e-06 3.071157684657154e-06 3.020921961442045e-06 2.971304937503200e-06 - 2.922301530764381e-06 2.873906622400171e-06 2.826115159163556e-06 2.778922119160790e-06 2.732322492500433e-06 - 2.686311250918327e-06 2.640883427466542e-06 2.596034137909800e-06 2.551758437600915e-06 2.508051388712647e-06 - 2.464908112415978e-06 2.422323753722291e-06 2.380293459852445e-06 2.338812372063220e-06 2.297875719562253e-06 - 2.257478763762930e-06 2.217616712073996e-06 2.178284811840686e-06 2.139478353112250e-06 2.101192645402220e-06 - 2.063422994293474e-06 2.026164721213360e-06 1.989413239181793e-06 1.953163950788084e-06 1.917412231009713e-06 - 1.882153506609316e-06 1.847383234461138e-06 1.813096887995954e-06 1.779289933937322e-06 1.745957881749227e-06 - 1.713096313387221e-06 1.680700776153704e-06 1.648766820412035e-06 1.617290047665242e-06 1.586266083282953e-06 - 1.555690561349229e-06 1.525559115412809e-06 1.495867444877275e-06 1.466611286844381e-06 1.437786342321971e-06 - 1.409388342689011e-06 1.381413059137875e-06 1.353856283643994e-06 1.326713811980504e-06 1.299981452903499e-06 - 1.273655087535907e-06 1.247730601634883e-06 1.222203862466376e-06 1.197070780161529e-06 1.172327293218336e-06 - 1.147969358200551e-06 1.123992934949297e-06 1.100394014305713e-06 1.077168647815731e-06 1.054312872343777e-06 - 1.031822727943270e-06 1.009694299029158e-06 9.879236928228051e-07 9.665070295488333e-07 9.454404356909418e-07 - 9.247200854784831e-07 9.043421911847067e-07 8.843029477247774e-07 8.645985728173436e-07 8.452253193362285e-07 - 8.261794626052351e-07 8.074572875932502e-07 7.890550921071068e-07 7.709692301619030e-07 7.531960701353248e-07 - 7.357319715620587e-07 7.185733287203112e-07 7.017165630618881e-07 6.851581162834306e-07 6.688944388625421e-07 - 6.529220052598067e-07 6.372373411274385e-07 6.218369717692920e-07 6.067174274527125e-07 5.918752755194360e-07 - 5.773071063798692e-07 5.630095271034721e-07 5.489791556312369e-07 5.352126455394792e-07 5.217066864180125e-07 - 5.084579644193884e-07 4.954631845887763e-07 4.827190834887087e-07 4.702224204045173e-07 4.579699684713550e-07 - 4.459585154334098e-07 4.341848919935187e-07 4.226459485782965e-07 4.113385363883691e-07 4.002595352312233e-07 - 3.894058504065020e-07 3.787744086301839e-07 3.683621500987016e-07 3.581660355932383e-07 3.481830676805770e-07 - 3.384102581524441e-07 3.288446273745833e-07 3.194832275224818e-07 3.103231330843525e-07 3.013614373207315e-07 - 2.925952486098954e-07 2.840217031010630e-07 2.756379695267500e-07 2.674412234106971e-07 2.594286576386206e-07 - 2.515974937029081e-07 2.439449754383926e-07 2.364683632309526e-07 2.291649345383248e-07 2.220320002407473e-07 - 2.150668931442167e-07 2.082669548865648e-07 2.016295514473211e-07 1.951520727682157e-07 1.888319311586693e-07 - 1.826665552837694e-07 1.766533931743509e-07 1.707899271779558e-07 1.650736547045015e-07 1.595020857916059e-07 - 1.540727581256184e-07 1.487832309302349e-07 1.436310837043274e-07 1.386139140291348e-07 1.337293426531939e-07 - 1.289750194034745e-07 1.243486077550924e-07 1.198477884856861e-07 1.154702687444825e-07 1.112137774078364e-07 - 1.070760615754017e-07 1.030548878714015e-07 9.914804983102429e-08 9.535336319532080e-08 9.166865877274502e-08 - 8.809178921148019e-08 8.462062987184363e-08 8.125307865123530e-08 7.798705169188094e-08 7.482048486743137e-08 - 7.175134265372113e-08 6.877760756933380e-08 6.589727849023001e-08 6.310837918621049e-08 6.040895419177239e-08 - 5.779706919084610e-08 5.527080986023133e-08 5.282828275733461e-08 5.046762055622123e-08 4.818697371034567e-08 - 4.598451068334482e-08 4.385842456607357e-08 4.180692971968811e-08 3.982825980405518e-08 3.792066966127786e-08 - 3.608243718277188e-08 3.431186206040581e-08 3.260726312426322e-08 3.096697968233847e-08 2.938937298745983e-08 - 2.787282684203093e-08 2.641574418968914e-08 2.501654849393015e-08 2.367368813134603e-08 2.238563078881267e-08 - 2.115086344400587e-08 1.996789606940446e-08 1.883525886916157e-08 1.775150390948272e-08 1.671520402936120e-08 - 1.572495208680648e-08 1.477936511938296e-08 1.387707990026544e-08 1.301675220490221e-08 1.219706138041649e-08 - 1.141670750179082e-08 1.067441065312196e-08 9.968913113355902e-09 9.298978133402818e-09 8.663390331238368e-09 - 8.060955677291694e-09 7.490500025975069e-09 6.950870854385858e-09 6.440937996309972e-09 5.959590797852082e-09 - 5.505739944416565e-09 5.078318901633865e-09 4.676280806472903e-09 4.298600029449081e-09 3.944272776496124e-09 - 3.612315204086912e-09 3.301765808464261e-09 3.011683971683484e-09 2.741149022073358e-09 2.489263438950313e-09 - 2.255150010734707e-09 2.037951439802415e-09 1.836833426869985e-09 1.650981924522248e-09 1.479603458288696e-09 - 1.321927088896133e-09 1.177201927023745e-09 1.044698361371603e-09 9.237089042804517e-10 8.135457713165132e-10 - 7.135428727606122e-10 6.230561233086797e-10 5.414610837010692e-10 4.681552957722881e-10 4.025579739718386e-10 - 3.441080911031397e-10 2.922668865200973e-10 2.465167169238545e-10 2.063598966733955e-10 1.713213823559041e-10 - 1.409467301732644e-10 1.148017117805301e-10 9.247489436372923e-11 7.357503403670199e-11 5.773147403071901e-11 - 4.459623415664643e-11 3.384125546419585e-11 2.515956035071991e-11 1.826656159304613e-11 1.289741553721677e-11 - 8.808852910154413e-12 5.779611749592996e-12 3.608107240050744e-12 2.114775563702074e-12 1.141629414770904e-12 - 5.504076981088132e-13 2.252028793998774e-13 7.135404618680312e-14 1.400208835054596e-14 2.858282411901289e-16 - 0.000000000000000e+00 3.280907692410757e+00 6.559093802140417e+00 9.834554467967374e+00 1.310728583537977e+01 - 1.637728405657552e+01 1.964454529046227e+01 2.290906570265743e+01 2.617084146548816e+01 2.942986875799139e+01 - 3.268614376591378e+01 3.593966268171175e+01 3.919042170455148e+01 4.243841704030890e+01 4.568364490156970e+01 - 4.892610150762930e+01 5.216578308449292e+01 5.540268586487547e+01 5.863680608820168e+01 6.186814000060598e+01 - 6.509668385493259e+01 6.832243391073550e+01 7.154538643427834e+01 7.476553769853463e+01 7.798288398318758e+01 - 8.119742157463018e+01 8.440914676596513e+01 8.761805585700493e+01 9.082414515427180e+01 9.402741097099775e+01 - 9.722784962712448e+01 1.004254574493035e+02 1.036202307708961e+02 1.068121659319733e+02 1.100012592793157e+02 - 1.131875071664140e+02 1.163709059534683e+02 1.195514520073887e+02 1.227291417017950e+02 1.259039714170167e+02 - 1.290759375400930e+02 1.322450364647731e+02 1.354112645915156e+02 1.385746183274891e+02 1.417350940865720e+02 - 1.448926882893522e+02 1.480473973631275e+02 1.511992177419055e+02 1.543481458664036e+02 1.574941781840487e+02 - 1.606373111489777e+02 1.637775412220371e+02 1.669148648707833e+02 1.700492785694823e+02 1.731807787991100e+02 - 1.763093620473519e+02 1.794350248086033e+02 1.825577635839695e+02 1.856775748812652e+02 1.887944552150149e+02 - 1.919084011064531e+02 1.950194090835239e+02 1.981274756808810e+02 2.012325974398883e+02 2.043347709086188e+02 - 2.074339926418558e+02 2.105302592010923e+02 2.136235671545306e+02 2.167139130770834e+02 2.198012935503726e+02 - 2.228857051627302e+02 2.259671445091978e+02 2.290456081915269e+02 2.321210928181784e+02 2.351935950043234e+02 - 2.382631113718425e+02 2.413296385493261e+02 2.443931731720744e+02 2.474537118820972e+02 2.505112513281143e+02 - 2.535657881655549e+02 2.566173190565586e+02 2.596658406699738e+02 2.627113496813596e+02 2.657538427729843e+02 - 2.687933166338259e+02 2.718297679595726e+02 2.748631934526219e+02 2.778935898220815e+02 2.809209537837683e+02 - 2.839452820602094e+02 2.869665713806416e+02 2.899848184810112e+02 2.930000201039745e+02 2.960121729988974e+02 - 2.990212739218558e+02 3.020273196356349e+02 3.050303069097302e+02 3.080302325203465e+02 3.110270932503987e+02 - 3.140208858895110e+02 3.170116072340180e+02 3.199992540869634e+02 3.229838232581013e+02 3.259653115638948e+02 - 3.289437158275174e+02 3.319190328788521e+02 3.348912595544916e+02 3.378603926977383e+02 3.408264291586049e+02 - 3.437893657938130e+02 3.467491994667945e+02 3.497059270476910e+02 3.526595454133537e+02 3.556100514473437e+02 - 3.585574420399318e+02 3.615017140880985e+02 3.644428644955341e+02 3.673808901726388e+02 3.703157880365222e+02 - 3.732475550110041e+02 3.761761880266134e+02 3.791016840205897e+02 3.820240399368814e+02 3.849432527261474e+02 - 3.878593193457557e+02 3.907722367597846e+02 3.936820019390219e+02 3.965886118609651e+02 3.994920635098217e+02 - 4.023923538765087e+02 4.052894799586530e+02 4.081834387605912e+02 4.110742272933696e+02 4.139618425747443e+02 - 4.168462816291812e+02 4.197275414878559e+02 4.226056191886540e+02 4.254805117761704e+02 4.283522163017099e+02 - 4.312207298232872e+02 4.340860494056267e+02 4.369481721201628e+02 4.398070950450389e+02 4.426628152651090e+02 - 4.455153298719365e+02 4.483646359637945e+02 4.512107306456656e+02 4.540536110292430e+02 4.568932742329288e+02 - 4.597297173818351e+02 4.625629376077841e+02 4.653929320493071e+02 4.682196978516460e+02 4.710432321667516e+02 - 4.738635321532851e+02 4.766805949766169e+02 4.794944178088276e+02 4.823049978287075e+02 4.851123322217564e+02 - 4.879164181801841e+02 4.907172529029099e+02 4.935148335955632e+02 4.963091574704831e+02 4.991002217467178e+02 - 5.018880236500261e+02 5.046725604128764e+02 5.074538292744463e+02 5.102318274806237e+02 5.130065522840063e+02 - 5.157780009439010e+02 5.185461707263250e+02 5.213110589040049e+02 5.240726627563774e+02 5.268309795695885e+02 - 5.295860066364945e+02 5.323377412566609e+02 5.350861807363634e+02 5.378313223885873e+02 5.405731635330272e+02 - 5.433117014960885e+02 5.460469336108854e+02 5.487788572172420e+02 5.515074696616928e+02 5.542327682974811e+02 - 5.569547504845609e+02 5.596734135895950e+02 5.623887549859570e+02 5.651007720537292e+02 5.678094621797045e+02 - 5.705148227573850e+02 5.732168511869830e+02 5.759155448754203e+02 5.786109012363282e+02 5.813029176900482e+02 - 5.839915916636313e+02 5.866769205908384e+02 5.893589019121401e+02 5.920375330747167e+02 5.947128115324583e+02 - 5.973847347459648e+02 6.000533001825459e+02 6.027185053162206e+02 6.053803476277183e+02 6.080388246044777e+02 - 6.106939337406476e+02 6.133456725370861e+02 6.159940385013617e+02 6.186390291477520e+02 6.212806419972447e+02 - 6.239188745775372e+02 6.265537244230364e+02 6.291851890748597e+02 6.318132660808333e+02 6.344379529954938e+02 - 6.370592473800871e+02 6.396771468025696e+02 6.422916488376064e+02 6.449027510665734e+02 6.475104510775553e+02 - 6.501147464653474e+02 6.527156348314542e+02 6.553131137840901e+02 6.579071809381794e+02 6.604978339153558e+02 - 6.630850703439634e+02 6.656688878590552e+02 6.682492841023947e+02 6.708262567224546e+02 6.733998033744177e+02 - 6.759699217201766e+02 6.785366094283333e+02 6.810998641742000e+02 6.836596836397980e+02 6.862160655138592e+02 - 6.887690074918247e+02 6.913185072758453e+02 6.938645625747821e+02 6.964071711042051e+02 6.989463305863949e+02 - 7.014820387503412e+02 7.040142933317441e+02 7.065430920730126e+02 7.090684327232666e+02 7.115903130383348e+02 - 7.141087307807558e+02 7.166236837197782e+02 7.191351696313601e+02 7.216431862981700e+02 7.241477315095852e+02 - 7.266488030616937e+02 7.291463987572921e+02 7.316405164058881e+02 7.341311538236981e+02 7.366183088336488e+02 - 7.391019792653765e+02 7.415821629552270e+02 7.440588577462564e+02 7.465320614882301e+02 7.490017720376235e+02 - 7.514679872576214e+02 7.539307050181191e+02 7.563899231957208e+02 7.588456396737411e+02 7.612978523422037e+02 - 7.637465590978424e+02 7.661917578441014e+02 7.686334464911333e+02 7.710716229558018e+02 7.735062851616793e+02 - 7.759374310390485e+02 7.783650585249019e+02 7.807891655629417e+02 7.832097501035795e+02 7.856268101039369e+02 - 7.880403435278453e+02 7.904503483458460e+02 7.928568225351897e+02 7.952597640798369e+02 7.976591709704585e+02 - 8.000550412044341e+02 8.024473727858536e+02 8.048361637255169e+02 8.072214120409334e+02 8.096031157563222e+02 - 8.119812729026120e+02 8.143558815174417e+02 8.167269396451593e+02 8.190944453368236e+02 8.214583966502021e+02 - 8.238187916497725e+02 8.261756284067224e+02 8.285289049989487e+02 8.308786195110586e+02 8.332247700343684e+02 - 8.355673546669050e+02 8.379063715134042e+02 8.402418186853124e+02 8.425736943007848e+02 8.449019964846872e+02 - 8.472267233685945e+02 8.495478730907921e+02 8.518654437962743e+02 8.541794336367457e+02 8.564898407706205e+02 - 8.587966633630226e+02 8.610998995857861e+02 8.633995476174539e+02 8.656956056432798e+02 8.679880718552264e+02 - 8.702769444519665e+02 8.725622216388828e+02 8.748439016280670e+02 8.771219826383219e+02 8.793964628951586e+02 - 8.816673406307990e+02 8.839346140841741e+02 8.861982815009252e+02 8.884583411334027e+02 8.907147912406675e+02 - 8.929676300884897e+02 8.952168559493493e+02 8.974624671024361e+02 8.997044618336495e+02 9.019428384355992e+02 - 9.041775952076036e+02 9.064087304556922e+02 9.086362424926032e+02 9.108601296377846e+02 9.130803902173951e+02 - 9.152970225643020e+02 9.175100250180832e+02 9.197193959250255e+02 9.219251336381268e+02 9.241272365170935e+02 - 9.263257029283417e+02 9.285205312449986e+02 9.307117198468995e+02 9.328992671205907e+02 9.350831714593277e+02 - 9.372634312630761e+02 9.394400449385104e+02 9.416130108990160e+02 9.437823275646871e+02 9.459479933623287e+02 - 9.481100067254541e+02 9.502683660942876e+02 9.524230699157629e+02 9.545741166435229e+02 9.567215047379214e+02 - 9.588652326660207e+02 9.610052989015940e+02 9.631417019251231e+02 9.652744402238004e+02 9.674035122915279e+02 - 9.695289166289172e+02 9.716506517432896e+02 9.737687161486764e+02 9.758831083658184e+02 9.779938269221661e+02 - 9.801008703518804e+02 9.822042371958310e+02 9.843039260015983e+02 9.863999353234714e+02 9.884922637224498e+02 - 9.905809097662435e+02 9.926658720292703e+02 9.947471490926598e+02 9.968247395442500e+02 9.988986419785891e+02 - 1.000968854996935e+03 1.003035377207256e+03 1.005098207224229e+03 1.007157343669241e+03 1.009212785170389e+03 - 1.011264530362480e+03 1.013312577887031e+03 1.015356926392268e+03 1.017397574533126e+03 1.019434520971252e+03 - 1.021467764375000e+03 1.023497303419437e+03 1.025523136786337e+03 1.027545263164185e+03 1.029563681248175e+03 - 1.031578389740212e+03 1.033589387348909e+03 1.035596672789591e+03 1.037600244784291e+03 1.039600102061752e+03 - 1.041596243357428e+03 1.043588667413480e+03 1.045577372978782e+03 1.047562358808916e+03 1.049543623666173e+03 - 1.051521166319557e+03 1.053494985544777e+03 1.055465080124256e+03 1.057431448847125e+03 1.059394090509224e+03 - 1.061353003913104e+03 1.063308187868025e+03 1.065259641189957e+03 1.067207362701581e+03 1.069151351232285e+03 - 1.071091605618170e+03 1.073028124702043e+03 1.074960907333424e+03 1.076889952368542e+03 1.078815258670335e+03 - 1.080736825108451e+03 1.082654650559248e+03 1.084568733905793e+03 1.086479074037864e+03 1.088385669851947e+03 - 1.090288520251241e+03 1.092187624145651e+03 1.094082980451794e+03 1.095974588092995e+03 1.097862445999292e+03 - 1.099746553107428e+03 1.101626908360861e+03 1.103503510709754e+03 1.105376359110983e+03 1.107245452528133e+03 - 1.109110789931497e+03 1.110972370298081e+03 1.112830192611597e+03 1.114684255862470e+03 1.116534559047833e+03 - 1.118381101171529e+03 1.120223881244111e+03 1.122062898282842e+03 1.123898151311694e+03 1.125729639361349e+03 - 1.127557361469200e+03 1.129381316679347e+03 1.131201504042604e+03 1.133017922616489e+03 1.134830571465235e+03 - 1.136639449659783e+03 1.138444556277782e+03 1.140245890403593e+03 1.142043451128286e+03 1.143837237549640e+03 - 1.145627248772146e+03 1.147413483907002e+03 1.149195942072117e+03 1.150974622392110e+03 1.152749523998310e+03 - 1.154520646028755e+03 1.156287987628192e+03 1.158051547948079e+03 1.159811326146585e+03 1.161567321388586e+03 - 1.163319532845669e+03 1.165067959696131e+03 1.166812601124979e+03 1.168553456323928e+03 1.170290524491405e+03 - 1.172023804832545e+03 1.173753296559195e+03 1.175478998889909e+03 1.177200911049953e+03 1.178919032271301e+03 - 1.180633361792637e+03 1.182343898859357e+03 1.184050642723563e+03 1.185753592644071e+03 1.187452747886402e+03 - 1.189148107722792e+03 1.190839671432183e+03 1.192527438300227e+03 1.194211407619287e+03 1.195891578688435e+03 - 1.197567950813455e+03 1.199240523306837e+03 1.200909295487783e+03 1.202574266682204e+03 1.204235436222721e+03 - 1.205892803448666e+03 1.207546367706079e+03 1.209196128347710e+03 1.210842084733019e+03 1.212484236228177e+03 - 1.214122582206062e+03 1.215757122046265e+03 1.217387855135084e+03 1.219014780865528e+03 1.220637898637316e+03 - 1.222257207856876e+03 1.223872707937346e+03 1.225484398298575e+03 1.227092278367119e+03 1.228696347576247e+03 - 1.230296605365935e+03 1.231893051182870e+03 1.233485684480449e+03 1.235074504718779e+03 1.236659511364675e+03 - 1.238240703891664e+03 1.239818081779981e+03 1.241391644516571e+03 1.242961391595090e+03 1.244527322515903e+03 - 1.246089436786084e+03 1.247647733919417e+03 1.249202213436398e+03 1.250752874864230e+03 1.252299717736826e+03 - 1.253842741594810e+03 1.255381945985516e+03 1.256917330462986e+03 1.258448894587972e+03 1.259976637927938e+03 - 1.261500560057056e+03 1.263020660556207e+03 1.264536939012984e+03 1.266049395021687e+03 1.267558028183329e+03 - 1.269062838105629e+03 1.270563824403019e+03 1.272060986696640e+03 1.273554324614341e+03 1.275043837790682e+03 - 1.276529525866934e+03 1.278011388491075e+03 1.279489425317796e+03 1.280963636008494e+03 1.282434020231280e+03 - 1.283900577660971e+03 1.285363307979095e+03 1.286822210873891e+03 1.288277286040307e+03 1.289728533179999e+03 - 1.291175952001336e+03 1.292619542219393e+03 1.294059303555960e+03 1.295495235739530e+03 1.296927338505312e+03 - 1.298355611595221e+03 1.299780054757883e+03 1.301200667748633e+03 1.302617450329516e+03 1.304030402269289e+03 - 1.305439523343415e+03 1.306844813334069e+03 1.308246272030136e+03 1.309643899227210e+03 1.311037694727594e+03 - 1.312427658340302e+03 1.313813789881058e+03 1.315196089172293e+03 1.316574556043153e+03 1.317949190329488e+03 - 1.319319991873862e+03 1.320686960525546e+03 1.322050096140523e+03 1.323409398581483e+03 1.324764867717829e+03 - 1.326116503425671e+03 1.327464305587830e+03 1.328808274093838e+03 1.330148408839934e+03 1.331484709729068e+03 - 1.332817176670901e+03 1.334145809581802e+03 1.335470608384850e+03 1.336791573009835e+03 1.338108703393256e+03 - 1.339421999478320e+03 1.340731461214948e+03 1.342037088559766e+03 1.343338881476113e+03 1.344636839934036e+03 - 1.345930963910293e+03 1.347221253388351e+03 1.348507708358388e+03 1.349790328817288e+03 1.351069114768650e+03 - 1.352344066222779e+03 1.353615183196692e+03 1.354882465714113e+03 1.356145913805479e+03 1.357405527507935e+03 - 1.358661306865335e+03 1.359913251928245e+03 1.361161362753938e+03 1.362405639406399e+03 1.363646081956323e+03 - 1.364882690481112e+03 1.366115465064880e+03 1.367344405798451e+03 1.368569512779358e+03 1.369790786111843e+03 - 1.371008225906858e+03 1.372221832282067e+03 1.373431605361840e+03 1.374637545277261e+03 1.375839652166119e+03 - 1.377037926172918e+03 1.378232367448867e+03 1.379422976151887e+03 1.380609752446609e+03 1.381792696504374e+03 - 1.382971808503231e+03 1.384147088627939e+03 1.385318537069970e+03 1.386486154027501e+03 1.387649939705423e+03 - 1.388809894315333e+03 1.389966018075540e+03 1.391118311211063e+03 1.392266773953630e+03 1.393411406541678e+03 - 1.394552209220356e+03 1.395689182241520e+03 1.396822325863737e+03 1.397951640352285e+03 1.399077125979150e+03 - 1.400198783023028e+03 1.401316611769325e+03 1.402430612510158e+03 1.403540785544351e+03 1.404647131177441e+03 - 1.405749649721672e+03 1.406848341496000e+03 1.407943206826088e+03 1.409034246044311e+03 1.410121459489754e+03 - 1.411204847508209e+03 1.412284410452182e+03 1.413360148680885e+03 1.414432062560241e+03 1.415500152462884e+03 - 1.416564418768155e+03 1.417624861862108e+03 1.418681482137504e+03 1.419734279993815e+03 1.420783255837224e+03 - 1.421828410080621e+03 1.422869743143608e+03 1.423907255452495e+03 1.424940947440303e+03 1.425970819546763e+03 - 1.426996872218314e+03 1.428019105908108e+03 1.429037521076003e+03 1.430052118188569e+03 1.431062897719085e+03 - 1.432069860147540e+03 1.433073005960632e+03 1.434072335651771e+03 1.435067849721075e+03 1.436059548675370e+03 - 1.437047433028196e+03 1.438031503299800e+03 1.439011760017138e+03 1.439988203713878e+03 1.440960834930396e+03 - 1.441929654213780e+03 1.442894662117825e+03 1.443855859203037e+03 1.444813246036631e+03 1.445766823192535e+03 - 1.446716591251382e+03 1.447662550800518e+03 1.448604702433997e+03 1.449543046752585e+03 1.450477584363755e+03 - 1.451408315881691e+03 1.452335241927287e+03 1.453258363128147e+03 1.454177680118583e+03 1.455093193539620e+03 - 1.456004904038989e+03 1.456912812271134e+03 1.457816918897206e+03 1.458717224585068e+03 1.459613730009291e+03 - 1.460506435851157e+03 1.461395342798658e+03 1.462280451546494e+03 1.463161762796076e+03 1.464039277255525e+03 - 1.464912995639670e+03 1.465782918670054e+03 1.466649047074924e+03 1.467511381589240e+03 1.468369922954673e+03 - 1.469224671919600e+03 1.470075629239112e+03 1.470922795675006e+03 1.471766171995790e+03 1.472605758976684e+03 - 1.473441557399614e+03 1.474273568053219e+03 1.475101791732846e+03 1.475926229240551e+03 1.476746881385102e+03 - 1.477563748981976e+03 1.478376832853358e+03 1.479186133828146e+03 1.479991652741944e+03 1.480793390437068e+03 - 1.481591347762545e+03 1.482385525574108e+03 1.483175924734204e+03 1.483962546111986e+03 1.484745390583318e+03 - 1.485524459030776e+03 1.486299752343644e+03 1.487071271417914e+03 1.487839017156289e+03 1.488602990468185e+03 - 1.489363192269722e+03 1.490119623483735e+03 1.490872285039765e+03 1.491621177874064e+03 1.492366302929595e+03 - 1.493107661156030e+03 1.493845253509749e+03 1.494579080953843e+03 1.495309144458115e+03 1.496035444999074e+03 - 1.496757983559942e+03 1.497476761130647e+03 1.498191778707831e+03 1.498903037294843e+03 1.499610537901742e+03 - 1.500314281545298e+03 1.501014269248990e+03 1.501710502043006e+03 1.502402980964245e+03 1.503091707056315e+03 - 1.503776681369534e+03 1.504457904960931e+03 1.505135378894241e+03 1.505809104239914e+03 1.506479082075105e+03 - 1.507145313483682e+03 1.507807799556220e+03 1.508466541390007e+03 1.509121540089038e+03 1.509772796764020e+03 - 1.510420312532367e+03 1.511064088518205e+03 1.511704125852369e+03 1.512340425672404e+03 1.512972989122564e+03 - 1.513601817353814e+03 1.514226911523828e+03 1.514848272796989e+03 1.515465902344391e+03 1.516079801343838e+03 - 1.516689970979842e+03 1.517296412443626e+03 1.517899126933124e+03 1.518498115652977e+03 1.519093379814537e+03 - 1.519684920635866e+03 1.520272739341736e+03 1.520856837163628e+03 1.521437215339733e+03 1.522013875114953e+03 - 1.522586817740897e+03 1.523156044475887e+03 1.523721556584951e+03 1.524283355339831e+03 1.524841442018975e+03 - 1.525395817907543e+03 1.525946484297405e+03 1.526493442487138e+03 1.527036693782033e+03 1.527576239494086e+03 - 1.528112080942007e+03 1.528644219451213e+03 1.529172656353831e+03 1.529697392988700e+03 1.530218430701367e+03 - 1.530735770844087e+03 1.531249414775829e+03 1.531759363862268e+03 1.532265619475790e+03 1.532768182995492e+03 - 1.533267055807180e+03 1.533762239303368e+03 1.534253734883281e+03 1.534741543952856e+03 1.535225667924735e+03 - 1.535706108218275e+03 1.536182866259539e+03 1.536655943481301e+03 1.537125341323045e+03 1.537591061230964e+03 - 1.538053104657961e+03 1.538511473063650e+03 1.538966167914353e+03 1.539417190683102e+03 1.539864542849641e+03 - 1.540308225900420e+03 1.540748241328602e+03 1.541184590634058e+03 1.541617275323370e+03 1.542046296909827e+03 - 1.542471656913432e+03 1.542893356860894e+03 1.543311398285634e+03 1.543725782727782e+03 1.544136511734178e+03 - 1.544543586858370e+03 1.544947009660620e+03 1.545346781707894e+03 1.545742904573873e+03 1.546135379838945e+03 - 1.546524209090207e+03 1.546909393921469e+03 1.547290935933248e+03 1.547668836732771e+03 1.548043097933976e+03 - 1.548413721157510e+03 1.548780708030729e+03 1.549144060187701e+03 1.549503779269201e+03 1.549859866922715e+03 - 1.550212324802440e+03 1.550561154569281e+03 1.550906357890854e+03 1.551247936441483e+03 1.551585891902203e+03 - 1.551920225960758e+03 1.552250940311604e+03 1.552578036655905e+03 1.552901516701533e+03 1.553221382163073e+03 - 1.553537634761818e+03 1.553850276225772e+03 1.554159308289647e+03 1.554464732694865e+03 1.554766551189559e+03 - 1.555064765528572e+03 1.555359377473454e+03 1.555650388792468e+03 1.555937801260586e+03 1.556221616659488e+03 - 1.556501836777564e+03 1.556778463409917e+03 1.557051498358356e+03 1.557320943431401e+03 1.557586800444283e+03 - 1.557849071218940e+03 1.558107757584023e+03 1.558362861374890e+03 1.558614384433611e+03 1.558862328608964e+03 - 1.559106695756438e+03 1.559347487738230e+03 1.559584706423249e+03 1.559818353687112e+03 1.560048431412147e+03 - 1.560274941487391e+03 1.560497885808591e+03 1.560717266278204e+03 1.560933084805396e+03 1.561145343306044e+03 - 1.561354043702732e+03 1.561559187924758e+03 1.561760777908126e+03 1.561958815595552e+03 1.562153302936461e+03 - 1.562344241886987e+03 1.562531634409975e+03 1.562715482474979e+03 1.562895788058264e+03 1.563072553142803e+03 - 1.563245779718279e+03 1.563415469781085e+03 1.563581625334326e+03 1.563744248387813e+03 1.563903340958068e+03 - 1.564058905068325e+03 1.564210942748526e+03 1.564359456035321e+03 1.564504446972073e+03 1.564645917608853e+03 - 1.564783870002442e+03 1.564918306216331e+03 1.565049228320720e+03 1.565176638392519e+03 1.565300538515349e+03 - 1.565420930779540e+03 1.565537817282130e+03 1.565651200126870e+03 1.565761081424219e+03 1.565867463291344e+03 - 1.565970347852125e+03 1.566069737237150e+03 1.566165633583717e+03 1.566258039035835e+03 1.566346955744220e+03 - 1.566432385866300e+03 1.566514331566212e+03 1.566592795014803e+03 1.566667778389629e+03 1.566739283874957e+03 - 1.566807313661764e+03 1.566871869947734e+03 1.566932954937263e+03 1.566990570841457e+03 1.567044719878131e+03 - 1.567095404271811e+03 1.567142626253729e+03 1.567186388061831e+03 1.567226691940771e+03 1.567263540141913e+03 - 1.567296934923331e+03 1.567326878549808e+03 1.567353373292836e+03 1.567376421430620e+03 1.567396025248071e+03 - 1.567412187036812e+03 1.567424909095176e+03 1.567434193728203e+03 1.567440043247646e+03 1.567442459971967e+03 - 1.567441446226336e+03 1.567437004342634e+03 1.567429136659453e+03 1.567417845522091e+03 1.567403133282561e+03 - 1.567385002299581e+03 1.567363454938582e+03 1.567338493571702e+03 1.567310120577791e+03 1.567278338342408e+03 - 1.567243149257822e+03 1.567204555723011e+03 1.567162560143663e+03 1.567117164932177e+03 1.567068372507660e+03 - 1.567016185295929e+03 1.566960605729512e+03 1.566901636247646e+03 1.566839279296277e+03 1.566773537328063e+03 - 1.566704412802369e+03 1.566631908185271e+03 1.566556025949555e+03 1.566476768574717e+03 1.566394138546961e+03 - 1.566308138359204e+03 1.566218770511069e+03 1.566126037508891e+03 1.566029941865714e+03 1.565930486101294e+03 - 1.565827672742092e+03 1.565721504321283e+03 1.565611983378751e+03 1.565499112461087e+03 1.565382894121595e+03 - 1.565263330920288e+03 1.565140425423888e+03 1.565014180205826e+03 1.564884597846246e+03 1.564751680931997e+03 - 1.564615432056643e+03 1.564475853820452e+03 1.564332948830408e+03 1.564186719700199e+03 1.564037169050227e+03 - 1.563884299507601e+03 1.563728113706142e+03 1.563568614286379e+03 1.563405803895550e+03 1.563239685187607e+03 - 1.563070260823207e+03 1.562897533469719e+03 1.562721505801220e+03 1.562542180498501e+03 1.562359560249057e+03 - 1.562173647747097e+03 1.561984445693539e+03 1.561791956796009e+03 1.561596183768845e+03 1.561397129333092e+03 - 1.561194796216507e+03 1.560989187153558e+03 1.560780304885418e+03 1.560568152159974e+03 1.560352731731822e+03 - 1.560134046362267e+03 1.559912098819323e+03 1.559686891877715e+03 1.559458428318879e+03 1.559226710930956e+03 - 1.558991742508803e+03 1.558753525853981e+03 1.558512063774766e+03 1.558267359086140e+03 1.558019414609795e+03 - 1.557768233174136e+03 1.557513817614273e+03 1.557256170772030e+03 1.556995295495938e+03 1.556731194641239e+03 - 1.556463871069885e+03 1.556193327650536e+03 1.555919567258564e+03 1.555642592776049e+03 1.555362407091783e+03 - 1.555079013101264e+03 1.554792413706704e+03 1.554502611817021e+03 1.554209610347846e+03 1.553913412221517e+03 - 1.553614020367084e+03 1.553311437720305e+03 1.553005667223649e+03 1.552696711826295e+03 1.552384574484129e+03 - 1.552069258159750e+03 1.551750765822466e+03 1.551429100448294e+03 1.551104265019960e+03 1.550776262526902e+03 - 1.550445095965265e+03 1.550110768337907e+03 1.549773282654394e+03 1.549432641931000e+03 1.549088849190713e+03 - 1.548741907463227e+03 1.548391819784946e+03 1.548038589198987e+03 1.547682218755173e+03 1.547322711510039e+03 - 1.546960070526829e+03 1.546594298875496e+03 1.546225399632705e+03 1.545853375881829e+03 1.545478230712950e+03 - 1.545099967222861e+03 1.544718588515066e+03 1.544334097699777e+03 1.543946497893915e+03 1.543555792221112e+03 - 1.543161983811711e+03 1.542765075802762e+03 1.542365071338026e+03 1.541961973567975e+03 1.541555785649789e+03 - 1.541146510747358e+03 1.540734152031283e+03 1.540318712678874e+03 1.539900195874149e+03 1.539478604807839e+03 - 1.539053942677383e+03 1.538626212686929e+03 1.538195418047336e+03 1.537761561976173e+03 1.537324647697717e+03 - 1.536884678442957e+03 1.536441657449592e+03 1.535995587962026e+03 1.535546473231378e+03 1.535094316515475e+03 - 1.534639121078853e+03 1.534180890192759e+03 1.533719627135150e+03 1.533255335190690e+03 1.532788017650757e+03 - 1.532317677813435e+03 1.531844318983518e+03 1.531367944472514e+03 1.530888557598635e+03 1.530406161686807e+03 - 1.529920760068664e+03 1.529432356082550e+03 1.528940953073517e+03 1.528446554393331e+03 1.527949163400464e+03 - 1.527448783460099e+03 1.526945417944129e+03 1.526439070231157e+03 1.525929743706494e+03 1.525417441762163e+03 - 1.524902167796895e+03 1.524383925216131e+03 1.523862717432025e+03 1.523338547863434e+03 1.522811419935932e+03 - 1.522281337081799e+03 1.521748302740024e+03 1.521212320356308e+03 1.520673393383061e+03 1.520131525279401e+03 - 1.519586719511159e+03 1.519038979550873e+03 1.518488308877793e+03 1.517934710977876e+03 1.517378189343791e+03 - 1.516818747474916e+03 1.516256388877339e+03 1.515691117063858e+03 1.515122935553979e+03 1.514551847873920e+03 - 1.513977857556607e+03 1.513400968141679e+03 1.512821183175479e+03 1.512238506211065e+03 1.511652940808203e+03 - 1.511064490533368e+03 1.510473158959745e+03 1.509878949667230e+03 1.509281866242427e+03 1.508681912278651e+03 - 1.508079091375926e+03 1.507473407140987e+03 1.506864863187277e+03 1.506253463134950e+03 1.505639210610869e+03 - 1.505022109248608e+03 1.504402162688449e+03 1.503779374577385e+03 1.503153748569118e+03 1.502525288324061e+03 - 1.501893997509335e+03 1.501259879798773e+03 1.500622938872914e+03 1.499983178419011e+03 1.499340602131025e+03 - 1.498695213709626e+03 1.498047016862194e+03 1.497396015302820e+03 1.496742212752304e+03 1.496085612938155e+03 - 1.495426219594593e+03 1.494764036462547e+03 1.494099067289655e+03 1.493431315830267e+03 1.492760785845442e+03 - 1.492087481102946e+03 1.491411405377259e+03 1.490732562449567e+03 1.490050956107769e+03 1.489366590146471e+03 - 1.488679468366991e+03 1.487989594577355e+03 1.487296972592300e+03 1.486601606233272e+03 1.485903499328426e+03 - 1.485202655712629e+03 1.484499079227457e+03 1.483792773721193e+03 1.483083743048834e+03 1.482371991072084e+03 - 1.481657521659358e+03 1.480940338685780e+03 1.480220446033183e+03 1.479497847590113e+03 1.478772547251821e+03 - 1.478044548920272e+03 1.477313856504138e+03 1.476580473918802e+03 1.475844405086357e+03 1.475105653935605e+03 - 1.474364224402058e+03 1.473620120427938e+03 1.472873345962177e+03 1.472123904960415e+03 1.471371801385004e+03 - 1.470617039205005e+03 1.469859622396187e+03 1.469099554941032e+03 1.468336840828730e+03 1.467571484055180e+03 - 1.466803488622991e+03 1.466032858541484e+03 1.465259597826687e+03 1.464483710501340e+03 1.463705200594890e+03 - 1.462924072143496e+03 1.462140329190026e+03 1.461353975784058e+03 1.460565015981880e+03 1.459773453846489e+03 - 1.458979293447591e+03 1.458182538861605e+03 1.457383194171656e+03 1.456581263467582e+03 1.455776750845927e+03 - 1.454969660409948e+03 1.454159996269611e+03 1.453347762541590e+03 1.452532963349272e+03 1.451715602822750e+03 - 1.450895685098830e+03 1.450073214321026e+03 1.449248194639563e+03 1.448420630211373e+03 1.447590525200101e+03 - 1.446757883776100e+03 1.445922710116434e+03 1.445085008404874e+03 1.444244782831905e+03 1.443402037594718e+03 - 1.442556776897215e+03 1.441709004950008e+03 1.440858725970420e+03 1.440005944182481e+03 1.439150663816933e+03 - 1.438292889111226e+03 1.437432624309523e+03 1.436569873662692e+03 1.435704641428314e+03 1.434836931870678e+03 - 1.433966749260786e+03 1.433094097876346e+03 1.432218982001777e+03 1.431341405928208e+03 1.430461373953479e+03 - 1.429578890382137e+03 1.428693959525441e+03 1.427806585701360e+03 1.426916773234569e+03 1.426024526456458e+03 - 1.425129849705122e+03 1.424232747325370e+03 1.423333223668719e+03 1.422431283093393e+03 1.421526929964331e+03 - 1.420620168653178e+03 1.419711003538289e+03 1.418799439004731e+03 1.417885479444278e+03 1.416969129255415e+03 - 1.416050392843337e+03 1.415129274619950e+03 1.414205779003866e+03 1.413279910420411e+03 1.412351673301618e+03 - 1.411421072086230e+03 1.410488111219700e+03 1.409552795154193e+03 1.408615128348581e+03 1.407675115268446e+03 - 1.406732760386080e+03 1.405788068180486e+03 1.404841043137375e+03 1.403891689749170e+03 1.402940012515001e+03 - 1.401986015940709e+03 1.401029704538846e+03 1.400071082828672e+03 1.399110155336157e+03 1.398146926593981e+03 - 1.397181401141535e+03 1.396213583524918e+03 1.395243478296938e+03 1.394271090017116e+03 1.393296423251680e+03 - 1.392319482573570e+03 1.391340272562432e+03 1.390358797804626e+03 1.389375062893219e+03 1.388389072427989e+03 - 1.387400831015423e+03 1.386410343268718e+03 1.385417613807782e+03 1.384422647259231e+03 1.383425448256391e+03 - 1.382426021439299e+03 1.381424371454700e+03 1.380420502956051e+03 1.379414420603515e+03 1.378406129063970e+03 - 1.377395633010999e+03 1.376382937124898e+03 1.375368046092671e+03 1.374350964608031e+03 1.373331697371403e+03 - 1.372310249089921e+03 1.371286624477428e+03 1.370260828254477e+03 1.369232865148331e+03 1.368202739892964e+03 - 1.367170457229056e+03 1.366136021904002e+03 1.365099438671902e+03 1.364060712293568e+03 1.363019847536522e+03 - 1.361976849174995e+03 1.360931721989928e+03 1.359884470768972e+03 1.358835100306487e+03 1.357783615403544e+03 - 1.356730020867921e+03 1.355674321514110e+03 1.354616522163310e+03 1.353556627643430e+03 1.352494642789090e+03 - 1.351430572441617e+03 1.350364421449050e+03 1.349296194666138e+03 1.348225896954338e+03 1.347153533181818e+03 - 1.346079108223457e+03 1.345002626960841e+03 1.343924094282267e+03 1.342843515082743e+03 1.341760894263984e+03 - 1.340676236734416e+03 1.339589547409177e+03 1.338500831210112e+03 1.337410093065776e+03 1.336317337911434e+03 - 1.335222570689062e+03 1.334125796347346e+03 1.333027019841677e+03 1.331926246134163e+03 1.330823480193616e+03 - 1.329718726995561e+03 1.328611991522230e+03 1.327503278762568e+03 1.326392593712228e+03 1.325279941373571e+03 - 1.324165326755672e+03 1.323048754874311e+03 1.321930230751983e+03 1.320809759417887e+03 1.319687345907936e+03 - 1.318562995264752e+03 1.317436712537665e+03 1.316308502782716e+03 1.315178371062656e+03 1.314046322446946e+03 - 1.312912362011755e+03 1.311776494839963e+03 1.310638726021160e+03 1.309499060651645e+03 1.308357503834428e+03 - 1.307214060679228e+03 1.306068736302473e+03 1.304921535827301e+03 1.303772464383560e+03 1.302621527107810e+03 - 1.301468729143317e+03 1.300314075640058e+03 1.299157571754721e+03 1.297999222650704e+03 1.296839033498112e+03 - 1.295677009473761e+03 1.294513155761180e+03 1.293347477550602e+03 1.292179980038974e+03 1.291010668429951e+03 - 1.289839547933899e+03 1.288666623767893e+03 1.287491901155716e+03 1.286315385327865e+03 1.285137081521542e+03 - 1.283956994980662e+03 1.282775130955849e+03 1.281591494704436e+03 1.280406091490466e+03 1.279218926584693e+03 - 1.278030005264579e+03 1.276839332814297e+03 1.275646914524728e+03 1.274452755693465e+03 1.273256861624810e+03 - 1.272059237629775e+03 1.270859889026079e+03 1.269658821138155e+03 1.268456039297144e+03 1.267251548840895e+03 - 1.266045355113969e+03 1.264837463467636e+03 1.263627879259876e+03 1.262416607855379e+03 1.261203654625543e+03 - 1.259989024948479e+03 1.258772724209004e+03 1.257554757798647e+03 1.256335131115646e+03 1.255113849564950e+03 - 1.253890918558217e+03 1.252666343513813e+03 1.251440129856817e+03 1.250212283019015e+03 1.248982808438904e+03 - 1.247751711561691e+03 1.246518997839292e+03 1.245284672730334e+03 1.244048741700151e+03 1.242811210220790e+03 - 1.241572083771006e+03 1.240331367836264e+03 1.239089067908740e+03 1.237845189487317e+03 1.236599738077590e+03 - 1.235352719191863e+03 1.234104138349150e+03 1.232854001075175e+03 1.231602312902370e+03 1.230349079369880e+03 - 1.229094306023557e+03 1.227837998415964e+03 1.226580162106373e+03 1.225320802660766e+03 1.224059925651835e+03 - 1.222797536658982e+03 1.221533641268318e+03 1.220268245072664e+03 1.219001353671552e+03 1.217732972671222e+03 - 1.216463107684624e+03 1.215191764331420e+03 1.213918948237977e+03 1.212644665037377e+03 1.211368920369408e+03 - 1.210091719880570e+03 1.208813069224072e+03 1.207532974059833e+03 1.206251440054480e+03 1.204968472881353e+03 - 1.203684078220499e+03 1.202398261758676e+03 1.201111029189351e+03 1.199822386212701e+03 1.198532338535615e+03 - 1.197240891871687e+03 1.195948051941225e+03 1.194653824471246e+03 1.193358215195474e+03 1.192061229854346e+03 - 1.190762874195007e+03 1.189463153971313e+03 1.188162074943828e+03 1.186859642879827e+03 1.185555863553295e+03 - 1.184250742744927e+03 1.182944286242125e+03 1.181636499839004e+03 1.180327389336388e+03 1.179016960541809e+03 - 1.177705219269511e+03 1.176392171340446e+03 1.175077822582277e+03 1.173762178829377e+03 1.172445245922827e+03 - 1.171127029710419e+03 1.169807536046655e+03 1.168486770792745e+03 1.167164739816612e+03 1.165841448992886e+03 - 1.164516904202907e+03 1.163191111334726e+03 1.161864076283103e+03 1.160535804949508e+03 1.159206303242120e+03 - 1.157875577075829e+03 1.156543632372233e+03 1.155210475059642e+03 1.153876111073074e+03 1.152540546354257e+03 - 1.151203786851631e+03 1.149865838520342e+03 1.148526707322247e+03 1.147186399225916e+03 1.145844920206624e+03 - 1.144502276246358e+03 1.143158473333815e+03 1.141813517464402e+03 1.140467414640234e+03 1.139120170870139e+03 - 1.137771792169650e+03 1.136422284561014e+03 1.135071654073185e+03 1.133719906741829e+03 1.132367048609320e+03 - 1.131013085724743e+03 1.129658024143891e+03 1.128301869929270e+03 1.126944629150092e+03 1.125586307882280e+03 - 1.124226912208469e+03 1.122866448218001e+03 1.121504922006928e+03 1.120142339678013e+03 1.118778707340729e+03 - 1.117414031111256e+03 1.116048317112488e+03 1.114681571474025e+03 1.113313800332179e+03 1.111945009829970e+03 - 1.110575206117129e+03 1.109204395350097e+03 1.107832583692024e+03 1.106459777312770e+03 1.105085982388904e+03 - 1.103711205103706e+03 1.102335451647166e+03 1.100958728215983e+03 1.099581041013564e+03 1.098202396250028e+03 - 1.096822800142205e+03 1.095442258913632e+03 1.094060778794555e+03 1.092678366021934e+03 1.091295026839436e+03 - 1.089910767497437e+03 1.088525594253023e+03 1.087139513369993e+03 1.085752531118851e+03 1.084364653776815e+03 - 1.082975887627809e+03 1.081586238962469e+03 1.080195714078142e+03 1.078804319278880e+03 1.077412060875450e+03 - 1.076018945185327e+03 1.074624978532693e+03 1.073230167248444e+03 1.071834517670182e+03 1.070438036142223e+03 - 1.069040729015589e+03 1.067642602648012e+03 1.066243663403937e+03 1.064843917654515e+03 1.063443371777609e+03 - 1.062042032157791e+03 1.060639905186343e+03 1.059236997261256e+03 1.057833314787232e+03 1.056428864175682e+03 - 1.055023651844726e+03 1.053617684219196e+03 1.052210967730631e+03 1.050803508817282e+03 1.049395313897890e+03 - 1.047986388534756e+03 1.046576737255851e+03 1.045166364529164e+03 1.043755274824231e+03 1.042343472612131e+03 - 1.040930962365484e+03 1.039517748558457e+03 1.038103835666756e+03 1.036689228167636e+03 1.035273930539893e+03 - 1.033857947263865e+03 1.032441282821436e+03 1.031023941696033e+03 1.029605928372625e+03 1.028187247337727e+03 - 1.026767903079397e+03 1.025347900087235e+03 1.023927242852386e+03 1.022505935867538e+03 1.021083983626923e+03 - 1.019661390626317e+03 1.018238161363038e+03 1.016814300335948e+03 1.015389812045455e+03 1.013964700993507e+03 - 1.012538971683598e+03 1.011112628620765e+03 1.009685676311588e+03 1.008258119264191e+03 1.006829961988242e+03 - 1.005401208994952e+03 1.003971864797076e+03 1.002541933908912e+03 1.001111420846301e+03 9.996803301266303e+02 - 9.982486662688275e+02 9.968164337933661e+02 9.953836372222621e+02 9.939502810790750e+02 9.925163698889086e+02 - 9.910819081784098e+02 9.896469004757686e+02 9.882113513107199e+02 9.867752652145410e+02 9.853386467200531e+02 - 9.839015003616214e+02 9.824638306751541e+02 9.810256421981031e+02 9.795869394694643e+02 9.781477270297768e+02 - 9.767080094211232e+02 9.752677911871300e+02 9.738270768729670e+02 9.723858710253478e+02 9.709441781925295e+02 - 9.695020029243127e+02 9.680593497720415e+02 9.666162232886040e+02 9.651726280284314e+02 9.637285685474986e+02 - 9.622840494033246e+02 9.608390751549712e+02 9.593936503630440e+02 9.579477795896925e+02 9.565014673986094e+02 - 9.550547183550314e+02 9.536075370257383e+02 9.521599279790540e+02 9.507118957848456e+02 9.492634450145238e+02 - 9.478145802410424e+02 9.463653060389005e+02 9.449156269841388e+02 9.434655476543426e+02 9.420150726286407e+02 - 9.405642064877048e+02 9.391129538137513e+02 9.376613191905399e+02 9.362093072033728e+02 9.347569224390970e+02 - 9.333041694861028e+02 9.318510529343232e+02 9.303975773752362e+02 9.289437474018629e+02 9.274895676087672e+02 - 9.260350425920570e+02 9.245801769493847e+02 9.231249752799448e+02 9.216694421844763e+02 9.202135822652619e+02 - 9.187574001261273e+02 9.173009003724419e+02 9.158440876111187e+02 9.143869664506148e+02 9.129295415009306e+02 - 9.114718173736089e+02 9.100137986817383e+02 9.085554900399494e+02 9.070968960644165e+02 9.056380213728581e+02 - 9.041788705845360e+02 9.027194483202552e+02 9.012597592023648e+02 8.997998078547574e+02 8.983395989028686e+02 - 8.968791369736786e+02 8.954184266957105e+02 8.939574726990309e+02 8.924962796152502e+02 8.910348520775226e+02 - 8.895731947205452e+02 8.881113121805595e+02 8.866492090953504e+02 8.851868901042455e+02 8.837243598481174e+02 - 8.822616229693809e+02 8.807986841119955e+02 8.793355479214636e+02 8.778722190448314e+02 8.764087021306887e+02 - 8.749450018291686e+02 8.734811227919481e+02 8.720170696722481e+02 8.705528471248323e+02 8.690884598060085e+02 - 8.676239123736278e+02 8.661592094870851e+02 8.646943558073189e+02 8.632293559968109e+02 8.617642147195870e+02 - 8.602989366412162e+02 8.588335264288111e+02 8.573679887510280e+02 8.559023282780669e+02 8.544365496816713e+02 - 8.529706576351281e+02 8.515046568132680e+02 8.500385518924651e+02 8.485723475506371e+02 8.471060484672456e+02 - 8.456396593232956e+02 8.441731848013352e+02 8.427066295854568e+02 8.412399983612960e+02 8.397732958160319e+02 - 8.383065266383875e+02 8.368396955186294e+02 8.353728071485672e+02 8.339058662215547e+02 8.324388774324890e+02 - 8.309718454778108e+02 8.295047750555044e+02 8.280376708650979e+02 8.265705376076626e+02 8.251033799858133e+02 - 8.236362027037090e+02 8.221690104670519e+02 8.207018079830875e+02 8.192345999606056e+02 8.177673911099388e+02 - 8.163001861429635e+02 8.148329897731001e+02 8.133658067153123e+02 8.118986416861073e+02 8.104314994035359e+02 - 8.089643845871925e+02 8.074973019582153e+02 8.060302562392853e+02 8.045632521546285e+02 8.030962944300132e+02 - 8.016293877927517e+02 8.001625369717000e+02 7.986957466972576e+02 7.972290217013673e+02 7.957623667175162e+02 - 7.942957864807344e+02 7.928292857275953e+02 7.913628691962167e+02 7.898965416262595e+02 7.884303077589279e+02 - 7.869641723369706e+02 7.854981401046790e+02 7.840322158078881e+02 7.825664041939773e+02 7.811007100118686e+02 - 7.796351380120283e+02 7.781696929464658e+02 7.767043795687346e+02 7.752392026339312e+02 7.737741668986956e+02 - 7.723092771212124e+02 7.708445380612087e+02 7.693799544799557e+02 7.679155311402681e+02 7.664512728065041e+02 - 7.649871842445651e+02 7.635232702218972e+02 7.620595355074889e+02 7.605959848718730e+02 7.591326230871256e+02 - 7.576694549268664e+02 7.562064851662584e+02 7.547437185820088e+02 7.532811599523681e+02 7.518188140571300e+02 - 7.503566856776325e+02 7.488947795967565e+02 7.474331005989271e+02 7.459716534701122e+02 7.445104429978242e+02 - 7.430494739711182e+02 7.415887511805935e+02 7.401282794183929e+02 7.386680634782024e+02 7.372081081552518e+02 - 7.357484182463149e+02 7.342889985497084e+02 7.328298538652926e+02 7.313709889944722e+02 7.299124087401947e+02 - 7.284541179069513e+02 7.269961213007771e+02 7.255384237292504e+02 7.240810300014931e+02 7.226239449281712e+02 - 7.211671733214938e+02 7.197107199952134e+02 7.182545897646269e+02 7.167987874465738e+02 7.153433178594373e+02 - 7.138881858231457e+02 7.124333961591685e+02 7.109789536905207e+02 7.095248632417597e+02 7.080711296389870e+02 - 7.066177577098478e+02 7.051647522835304e+02 7.037121181907675e+02 7.022598602638342e+02 7.008079833365500e+02 - 6.993564922442782e+02 6.979053918239249e+02 6.964546869139400e+02 6.950043823543177e+02 6.935544829865950e+02 - 6.921049936538523e+02 6.906559192007142e+02 6.892072644733491e+02 6.877590343194680e+02 6.863112335883264e+02 - 6.848638671307228e+02 6.834169397989994e+02 6.819704564470420e+02 6.805244219302806e+02 6.790788411056876e+02 - 6.776337188317796e+02 6.761890599686175e+02 6.747448693778041e+02 6.733011519224871e+02 6.718579124673579e+02 - 6.704151558786504e+02 6.689728870241429e+02 6.675311107731571e+02 6.660898319965579e+02 6.646490555667547e+02 - 6.632087863576994e+02 6.617690292448882e+02 6.603297891053608e+02 6.588910708177000e+02 6.574528792620325e+02 - 6.560152193200289e+02 6.545780958749028e+02 6.531415138114120e+02 6.517054780158572e+02 6.502699933760831e+02 - 6.488350647814780e+02 6.474006971229736e+02 6.459668952930450e+02 6.445336641857116e+02 6.431010086965356e+02 - 6.416689337226230e+02 6.402374441626239e+02 6.388065449167315e+02 6.373762408866819e+02 6.359465369757564e+02 - 6.345174380887786e+02 6.330889491321157e+02 6.316610750136796e+02 6.302338206429247e+02 6.288071909308491e+02 - 6.273811907899951e+02 6.259558251344477e+02 6.245310988798360e+02 6.231070169433332e+02 6.216835842436550e+02 - 6.202608057010611e+02 6.188386862373554e+02 6.174172307758844e+02 6.159964442415383e+02 6.145763315607522e+02 - 6.131568976615030e+02 6.117381474733122e+02 6.103200859272448e+02 6.089027179559087e+02 6.074860484934565e+02 - 6.060700824755835e+02 6.046548248395288e+02 6.032402805240755e+02 6.018264544695495e+02 6.004133516178208e+02 - 5.990009769123031e+02 5.975893352979532e+02 5.961784317212720e+02 5.947682711303036e+02 5.933588584746357e+02 - 5.919501987053994e+02 5.905422967752705e+02 5.891351576384668e+02 5.877287862507508e+02 5.863231875694282e+02 - 5.849183665533477e+02 5.835143281629030e+02 5.821110773600302e+02 5.807086191082091e+02 5.793069583724634e+02 - 5.779061001193606e+02 5.765060493170109e+02 5.751068109350690e+02 5.737083899447330e+02 5.723107913187440e+02 - 5.709140200313871e+02 5.695180810584912e+02 5.681229793774282e+02 5.667287199671144e+02 5.653353078080089e+02 - 5.639427478821145e+02 5.625510451729782e+02 5.611602046656897e+02 5.597702313468828e+02 5.583811302047351e+02 - 5.569929062289672e+02 5.556055644108436e+02 5.542191097431725e+02 5.528335472203050e+02 5.514488818381369e+02 - 5.500651185941068e+02 5.486822624871968e+02 5.473003185179330e+02 5.459192916883851e+02 5.445391870021655e+02 - 5.431600094644319e+02 5.417817640818839e+02 5.404044558627653e+02 5.390280898168637e+02 5.376526709555103e+02 - 5.362782042915790e+02 5.349046948394886e+02 5.335321476152006e+02 5.321605676362202e+02 5.307899599215965e+02 - 5.294203294919217e+02 5.280516813693320e+02 5.266840205775071e+02 5.253173521416702e+02 5.239516810885877e+02 - 5.225870124465707e+02 5.212233512454725e+02 5.198607025166908e+02 5.184990712931668e+02 5.171384626093851e+02 - 5.157788815013741e+02 5.144203330067055e+02 5.130628221644946e+02 5.117063540154008e+02 5.103509336016263e+02 - 5.089965659669175e+02 5.076432561565640e+02 5.062910092173990e+02 5.049398301977998e+02 5.035897241476866e+02 - 5.022406961185235e+02 5.008927511633182e+02 4.995458943366220e+02 4.982001306945292e+02 4.968554652946787e+02 - 4.955119031962524e+02 4.941694494599757e+02 4.928281091481178e+02 4.914878873244913e+02 4.901487890544524e+02 - 4.888108194049014e+02 4.874739834442815e+02 4.861382862425793e+02 4.848037328713260e+02 4.834703284035954e+02 - 4.821380779140055e+02 4.808069864787175e+02 4.794770591754360e+02 4.781483010834104e+02 4.768207172834317e+02 - 4.754943128578365e+02 4.741690928905032e+02 4.728450624668552e+02 4.715222266738587e+02 4.702005906000235e+02 - 4.688801593354034e+02 4.675609379715956e+02 4.662429316017405e+02 4.649261453205227e+02 4.636105842241698e+02 - 4.622962534104534e+02 4.609831579786886e+02 4.596713030297340e+02 4.583606936659914e+02 4.570513349914071e+02 - 4.557432321114703e+02 4.544363901332138e+02 4.531308141652141e+02 4.518265093175915e+02 4.505234807020092e+02 - 4.492217334316751e+02 4.479212726213398e+02 4.466221033872973e+02 4.453242308473862e+02 4.440276601209875e+02 - 4.427323963290266e+02 4.414384445939725e+02 4.401458100398370e+02 4.388544977921764e+02 4.375645129780900e+02 - 4.362758607262207e+02 4.349885461667554e+02 4.337025744314242e+02 4.324179506535007e+02 4.311346799678025e+02 - 4.298527675106906e+02 4.285722184200691e+02 4.272930378353866e+02 4.260152308976346e+02 4.247388027493482e+02 - 4.234637585346064e+02 4.221901033990317e+02 4.209178424897899e+02 4.196469809555908e+02 4.183775239466873e+02 - 4.171094766148764e+02 4.158428441134982e+02 4.145776315974367e+02 4.133138442231195e+02 4.120514871485177e+02 - 4.107905655331455e+02 4.095310845380616e+02 4.082730493258674e+02 4.070164650607085e+02 4.057613369082738e+02 - 4.045076700357962e+02 4.032554696120511e+02 4.020047408073589e+02 4.007554887935824e+02 3.995077187441286e+02 - 3.982614358339480e+02 3.970166452395346e+02 3.957733521389259e+02 3.945315617117033e+02 3.932912791389912e+02 - 3.920525096034583e+02 3.908152582893162e+02 3.895795303823206e+02 3.883453310697706e+02 3.871126655405087e+02 - 3.858815389849212e+02 3.846519565949380e+02 3.834239235640323e+02 3.821974450872211e+02 3.809725263610652e+02 - 3.797491725836686e+02 3.785273889546788e+02 3.773071806752873e+02 3.760885529482291e+02 3.748715109777822e+02 - 3.736560599697692e+02 3.724422051315553e+02 3.712299516720498e+02 3.700193048017055e+02 3.688102697325187e+02 - 3.676028516780295e+02 3.663970558533210e+02 3.651928874750207e+02 3.639903517612993e+02 3.627894539318706e+02 - 3.615901992079928e+02 3.603925928124674e+02 3.591966399696389e+02 3.580023459053963e+02 3.568097158471716e+02 - 3.556187550239405e+02 3.544294686662223e+02 3.532418620060801e+02 3.520559402771199e+02 3.508717087144923e+02 - 3.496891725548904e+02 3.485083370365518e+02 3.473292073992571e+02 3.461517888843309e+02 3.449760867346407e+02 - 3.438021061945983e+02 3.426298525101589e+02 3.414593309288210e+02 3.402905466996269e+02 3.391235050731623e+02 - 3.379582113015570e+02 3.367946706384836e+02 3.356328883391590e+02 3.344728696603431e+02 3.333146198603399e+02 - 3.321581441989965e+02 3.310034479377038e+02 3.298505363393963e+02 3.286994146685523e+02 3.275500881911931e+02 - 3.264025621748842e+02 3.252568418887342e+02 3.241129326033955e+02 3.229708395910641e+02 3.218305681254797e+02 - 3.206921234819250e+02 3.195555109372272e+02 3.184207357697562e+02 3.172878032594259e+02 3.161567186876940e+02 - 3.150274873375612e+02 3.139001144935722e+02 3.127746054418153e+02 3.116509654699221e+02 3.105291998670680e+02 - 3.094093139239718e+02 3.082913129328962e+02 3.071752021876472e+02 3.060609869835743e+02 3.049486726175709e+02 - 3.038382643880739e+02 3.027297675950632e+02 3.016231875400634e+02 3.005185295261418e+02 2.994157988579094e+02 - 2.983150008415209e+02 2.972161407846750e+02 2.961192239966130e+02 2.950242557881208e+02 2.939312414715272e+02 - 2.928401863607048e+02 2.917510957710699e+02 2.906639750195822e+02 2.895788294247451e+02 2.884956643066055e+02 - 2.874144849867538e+02 2.863352967883243e+02 2.852581050359946e+02 2.841829150559857e+02 2.831097321760628e+02 - 2.820385617255341e+02 2.809694090352515e+02 2.799022794376108e+02 2.788371782665511e+02 2.777741108575549e+02 - 2.767130825476488e+02 2.756540986754025e+02 2.745971645809293e+02 2.735422856058867e+02 2.724894670934750e+02 - 2.714387143884384e+02 2.703900328370648e+02 2.693434277871856e+02 2.682989045881756e+02 2.672564685909533e+02 - 2.662161251479810e+02 2.651778796132642e+02 2.641417373423522e+02 2.631077036923379e+02 2.620757840218578e+02 - 2.610459836910915e+02 2.600183080617631e+02 2.589927624971394e+02 2.579693523620314e+02 2.569480830227931e+02 - 2.559289598473227e+02 2.549119882050614e+02 2.538971734669946e+02 2.528845210056507e+02 2.518740361951020e+02 - 2.508657244109642e+02 2.498595910303967e+02 2.488556414321026e+02 2.478538809963281e+02 2.468543151048638e+02 - 2.458569491410431e+02 2.448617884897432e+02 2.438688385373852e+02 2.428781046719333e+02 2.418895922828956e+02 - 2.409033067613238e+02 2.399192534998131e+02 2.389374378925019e+02 2.379578653350729e+02 2.369805412247519e+02 - 2.360054709603084e+02 2.350326599420553e+02 2.340621135718494e+02 2.330938372530911e+02 2.321278363907239e+02 - 2.311641163912353e+02 2.302026826626565e+02 2.292435406145617e+02 2.282866956580692e+02 2.273321532058407e+02 - 2.263799186720815e+02 2.254299974725404e+02 2.244823950245099e+02 2.235371167468261e+02 2.225941680598685e+02 - 2.216535543855603e+02 2.207152811473682e+02 2.197793537703028e+02 2.188457776809178e+02 2.179145583073106e+02 - 2.169857010791227e+02 2.160592114275385e+02 2.151350947852860e+02 2.142133565866376e+02 2.132940022674083e+02 - 2.123770372649571e+02 2.114624670181867e+02 2.105502969675431e+02 2.096405325550162e+02 2.087331792241393e+02 - 2.078282424199890e+02 2.069257275891860e+02 2.060256401798943e+02 2.051279856418216e+02 2.042327694262190e+02 - 2.033399969858813e+02 2.024496737751469e+02 2.015618052498977e+02 2.006763968675590e+02 1.997934540871004e+02 - 1.989129823690343e+02 1.980349871754169e+02 1.971594739698481e+02 1.962864482174713e+02 1.954159153849736e+02 - 1.945478809405854e+02 1.936823503540812e+02 1.928193290967781e+02 1.919588226415381e+02 1.911008364627658e+02 - 1.902453760364096e+02 1.893924468399617e+02 1.885420543524577e+02 1.876942040544768e+02 1.868489014281417e+02 - 1.860061519571189e+02 1.851659611266184e+02 1.843283344233937e+02 1.834932773357418e+02 1.826607953535034e+02 - 1.818308939680629e+02 1.810035786723481e+02 1.801788549608304e+02 1.793567283295249e+02 1.785372042759901e+02 - 1.777202882993282e+02 1.769059859001850e+02 1.760943025807497e+02 1.752852438447554e+02 1.744788151974785e+02 - 1.736750221457390e+02 1.728738701979007e+02 1.720753648638706e+02 1.712795116550998e+02 1.704863160845825e+02 - 1.696957836668566e+02 1.689079199180039e+02 1.681227303556493e+02 1.673402204989617e+02 1.665603958686532e+02 - 1.657832619869799e+02 1.650088243777409e+02 1.642370885662795e+02 1.634680600794823e+02 1.627017444457793e+02 - 1.619381471951445e+02 1.611772738590951e+02 1.604191299706921e+02 1.596637210645399e+02 1.589110526767867e+02 - 1.581611303451241e+02 1.574139596087874e+02 1.566695460085554e+02 1.559278950867503e+02 1.551890123872385e+02 - 1.544529034554292e+02 1.537195738382757e+02 1.529890290842748e+02 1.522612747434666e+02 1.515363163674351e+02 - 1.508141595093076e+02 1.500948097237555e+02 1.493782725669932e+02 1.486645535967789e+02 1.479536583724143e+02 - 1.472455924547449e+02 1.465403614061596e+02 1.458379707905909e+02 1.451384261735148e+02 1.444417331219514e+02 - 1.437478972044633e+02 1.430569239911578e+02 1.423688190536853e+02 1.416835879652396e+02 1.410012363005585e+02 - 1.403217696359229e+02 1.396451935491577e+02 1.389715136196312e+02 1.383007354282553e+02 1.376328645574854e+02 - 1.369679065913208e+02 1.363058671153038e+02 1.356467517165207e+02 1.349905659836014e+02 1.343373155067194e+02 - 1.336870058775913e+02 1.330396426894780e+02 1.323952315371832e+02 1.317537780170550e+02 1.311152877269845e+02 - 1.304797662664065e+02 1.298472192362996e+02 1.292176522391855e+02 1.285910708791301e+02 1.279674807617425e+02 - 1.273468874941753e+02 1.267292966851250e+02 1.261147139448316e+02 1.255031448850783e+02 1.248945951191923e+02 - 1.242890702620443e+02 1.236865759300485e+02 1.230871177411627e+02 1.224907013148884e+02 1.218973322722703e+02 - 1.213070162358971e+02 1.207197588299010e+02 1.201355656799576e+02 1.195544424132864e+02 1.189763946586499e+02 - 1.184014280463548e+02 1.178295482082510e+02 1.172607607777323e+02 1.166950713897357e+02 1.161324856807421e+02 - 1.155730092887757e+02 1.150166478534045e+02 1.144634070157400e+02 1.139132924184372e+02 1.133663097056950e+02 - 1.128224645232555e+02 1.122817625184044e+02 1.117442093399712e+02 1.112098106383290e+02 1.106785720653942e+02 - 1.101504843345202e+02 1.096253193854976e+02 1.091027814759659e+02 1.085828903190926e+02 1.080656662057070e+02 - 1.075510744401853e+02 1.070391017583160e+02 1.065297369211215e+02 1.060229642403793e+02 1.055187689946627e+02 - 1.050171373101604e+02 1.045180558156006e+02 1.040215103049707e+02 1.035274865113781e+02 1.030359706887152e+02 - 1.025469492169604e+02 1.020604083357866e+02 1.015763340040288e+02 1.010947131078929e+02 1.006155327791835e+02 - 1.001387792631148e+02 9.966443911893010e+01 9.919249927205091e+01 9.872294669690289e+01 9.825576811144268e+01 - 9.779095024426459e+01 9.732848086108395e+01 9.686834738339628e+01 9.641053663288847e+01 9.595503591883143e+01 - 9.550183276437639e+01 9.505091470489599e+01 9.460226894357737e+01 9.415588307372171e+01 9.371174549820027e+01 - 9.326984390100915e+01 9.283016578095182e+01 9.239269910989660e+01 9.195743199867270e+01 9.152435246657959e+01 - 9.109344822825337e+01 9.066470776170968e+01 9.023811990175319e+01 8.981367265385576e+01 8.939135422700863e+01 - 8.897115319588202e+01 8.855305819940260e+01 8.813705766268812e+01 8.772313993524557e+01 8.731129428898021e+01 - 8.690150981214184e+01 8.649377498492467e+01 8.608807868460502e+01 8.568441000539183e+01 8.528275807208179e+01 - 8.488311171021131e+01 8.448546000255536e+01 8.408979283578468e+01 8.369609949978657e+01 8.330436902264381e+01 - 8.291459088961614e+01 8.252675470341519e+01 8.214085000107356e+01 8.175686603719873e+01 8.137479266933553e+01 - 8.099462018292702e+01 8.061633811896954e+01 8.023993612969721e+01 7.986540422509246e+01 7.949273245617202e+01 - 7.912191071864751e+01 7.875292880591886e+01 7.838577728963824e+01 7.802044667908689e+01 7.765692688210476e+01 - 7.729520814701189e+01 7.693528093921003e+01 7.657713574044320e+01 7.622076279877933e+01 7.586615250876412e+01 - 7.551329599462582e+01 7.516218394284439e+01 7.481280673973237e+01 7.446515517211270e+01 7.411922012543234e+01 - 7.377499243991551e+01 7.343246273248482e+01 7.309162206375170e+01 7.275246194060588e+01 7.241497325488510e+01 - 7.207914691168762e+01 7.174497413637995e+01 7.141244624067238e+01 7.108155440657860e+01 7.075228964021176e+01 - 7.042464364044737e+01 7.009860816502822e+01 6.977417437950896e+01 6.945133371117183e+01 6.913007780419414e+01 - 6.881039831641085e+01 6.849228672098478e+01 6.817573455985929e+01 6.786073404036127e+01 6.754727706019318e+01 - 6.723535518365489e+01 6.692496029976250e+01 6.661608442214438e+01 6.630871955818391e+01 6.600285747074972e+01 - 6.569849025826812e+01 6.539561050984807e+01 6.509421028016476e+01 6.479428156422156e+01 6.449581665898590e+01 - 6.419880794007263e+01 6.390324769379086e+01 6.360912802573969e+01 6.331644161216560e+01 6.302518126952705e+01 - 6.273533924838438e+01 6.244690800283556e+01 6.215988021335375e+01 6.187424856554645e+01 6.159000558852496e+01 - 6.130714382209544e+01 6.102565642873360e+01 6.074553634647369e+01 6.046677613965124e+01 6.018936867893675e+01 - 5.991330696615304e+01 5.963858400265185e+01 5.936519255461710e+01 5.909312563142009e+01 5.882237675846172e+01 - 5.855293899151076e+01 5.828480526925385e+01 5.801796883717194e+01 5.775242299813667e+01 5.748816098906929e+01 - 5.722517588172157e+01 5.696346118973321e+01 5.670301063052477e+01 5.644381744585571e+01 5.618587497447161e+01 - 5.592917675378749e+01 5.567371639288440e+01 5.541948735564524e+01 5.516648303666721e+01 5.491469740133566e+01 - 5.466412430128952e+01 5.441475721341882e+01 5.416658984866251e+01 5.391961604526729e+01 5.367382965707854e+01 - 5.342922435049869e+01 5.318579394824101e+01 5.294353276046760e+01 5.270243471566913e+01 5.246249358126801e+01 - 5.222370341980431e+01 5.198605834991378e+01 5.174955243603662e+01 5.151417956992881e+01 5.127993401538280e+01 - 5.104681029539683e+01 5.081480246751264e+01 5.058390465007635e+01 5.035411117607305e+01 5.012541641928832e+01 - 4.989781463692880e+01 4.967129999443014e+01 4.944586717469857e+01 4.922151081792142e+01 4.899822516393252e+01 - 4.877600466591702e+01 4.855484391176263e+01 4.833473749525371e+01 4.811567985888949e+01 4.789766553100244e+01 - 4.768068948486052e+01 4.746474643299185e+01 4.724983089968822e+01 4.703593761581940e+01 4.682306140175855e+01 - 4.661119706938157e+01 4.640033923440899e+01 4.619048280117971e+01 4.598162297433280e+01 4.577375454810339e+01 - 4.556687232031752e+01 4.536097129194708e+01 4.515604651624491e+01 4.495209295916556e+01 4.474910546848848e+01 - 4.454707932343867e+01 4.434600983627007e+01 4.414589194663536e+01 4.394672075425581e+01 4.374849149110094e+01 - 4.355119939554362e+01 4.335483958155968e+01 4.315940720272008e+01 4.296489783321342e+01 4.277130684141869e+01 - 4.257862938067940e+01 4.238686082011235e+01 4.219599659307687e+01 4.200603211268383e+01 4.181696265307154e+01 - 4.162878369849639e+01 4.144149102922540e+01 4.125508008000694e+01 4.106954625154178e+01 4.088488514080404e+01 - 4.070109237453877e+01 4.051816351991027e+01 4.033609404369983e+01 4.015487975529847e+01 3.997451654390139e+01 - 3.979499995457292e+01 3.961632565249730e+01 3.943848943565658e+01 3.926148710146721e+01 3.908531435163689e+01 - 3.890996689581685e+01 3.873544082272831e+01 3.856173207783515e+01 3.838883637414560e+01 3.821674961156019e+01 - 3.804546776546066e+01 3.787498680517137e+01 3.770530255859592e+01 3.753641100849845e+01 3.736830845518836e+01 - 3.720099088344971e+01 3.703445420945200e+01 3.686869456603723e+01 3.670370808841574e+01 3.653949085950763e+01 - 3.637603888796111e+01 3.621334844811717e+01 3.605141592615973e+01 3.589023740445852e+01 3.572980904042850e+01 - 3.557012712196481e+01 3.541118795282225e+01 3.525298774403768e+01 3.509552267323749e+01 3.493878928773343e+01 - 3.478278404343990e+01 3.462750313614663e+01 3.447294293878365e+01 3.431909990161546e+01 3.416597046087814e+01 - 3.401355094900445e+01 3.386183779648810e+01 3.371082772101448e+01 3.356051721064496e+01 3.341090265530899e+01 - 3.326198061398263e+01 3.311374767636361e+01 3.296620040125966e+01 3.281933525310492e+01 3.267314891432770e+01 - 3.252763821351709e+01 3.238279969616838e+01 3.223862995512887e+01 3.209512571750849e+01 3.195228370249094e+01 - 3.181010057023420e+01 3.166857295105629e+01 3.152769775432829e+01 3.138747186368265e+01 3.124789194582367e+01 - 3.110895478177638e+01 3.097065722333928e+01 3.083299612203396e+01 3.069596823521478e+01 3.055957038379009e+01 - 3.042379968490992e+01 3.028865305190764e+01 3.015412726448298e+01 3.002021927954454e+01 2.988692608783410e+01 - 2.975424465393443e+01 2.962217185358958e+01 2.949070472525562e+01 2.935984046863818e+01 2.922957605244617e+01 - 2.909990844798608e+01 2.897083474125067e+01 2.884235205411202e+01 2.871445744621140e+01 2.858714789194334e+01 - 2.846042066311678e+01 2.833427304434733e+01 2.820870204788112e+01 2.808370481822039e+01 2.795927858955916e+01 - 2.783542056310479e+01 2.771212788710439e+01 2.758939774558937e+01 2.746722754519704e+01 2.734561457842300e+01 - 2.722455602005491e+01 2.710404915757552e+01 2.698409131619408e+01 2.686467981339180e+01 2.674581188504884e+01 - 2.662748489299116e+01 2.650969637323688e+01 2.639244364869198e+01 2.627572402574995e+01 2.615953493480668e+01 - 2.604387380499337e+01 2.592873803144385e+01 2.581412497154068e+01 2.570003216993883e+01 2.558645721031992e+01 - 2.547339748309297e+01 2.536085044648649e+01 2.524881363723968e+01 2.513728460374055e+01 2.502626081142699e+01 - 2.491573971820056e+01 2.480571905896494e+01 2.469619646153339e+01 2.458716938319504e+01 2.447863542000312e+01 - 2.437059221927192e+01 2.426303741725681e+01 2.415596854366440e+01 2.404938323139217e+01 2.394327933047775e+01 - 2.383765447837906e+01 2.373250626120992e+01 2.362783239922733e+01 2.352363062421024e+01 2.341989863680159e+01 - 2.331663407933185e+01 2.321383475989216e+01 2.311149855755017e+01 2.300962316438995e+01 2.290820631357202e+01 - 2.280724581327735e+01 2.270673948178020e+01 2.260668508940155e+01 2.250708039173678e+01 2.240792334786956e+01 - 2.230921186720802e+01 2.221094371595302e+01 2.211311674173436e+01 2.201572884123411e+01 2.191877792312015e+01 - 2.182226182065280e+01 2.172617842216956e+01 2.163052579410284e+01 2.153530186271772e+01 2.144050449256298e+01 - 2.134613164544727e+01 2.125218130870039e+01 2.115865145244560e+01 2.106553997668644e+01 2.097284492087666e+01 - 2.088056441996010e+01 2.078869643251129e+01 2.069723893213309e+01 2.060618996606658e+01 2.051554761096601e+01 - 2.042530989859754e+01 2.033547481777502e+01 2.024604054022628e+01 2.015700522393599e+01 2.006836688994228e+01 - 1.998012363072147e+01 1.989227358045817e+01 1.980481486918973e+01 1.971774557717947e+01 1.963106382303616e+01 - 1.954476789103884e+01 1.945885594703988e+01 1.937332608222908e+01 1.928817649453870e+01 1.920340539662878e+01 - 1.911901098077130e+01 1.903499138773951e+01 1.895134486255558e+01 1.886806974988112e+01 1.878516424109755e+01 - 1.870262653275597e+01 1.862045489823334e+01 1.853864761644500e+01 1.845720293609644e+01 1.837611907561623e+01 - 1.829539441141390e+01 1.821502731690405e+01 1.813501600648008e+01 1.805535878852776e+01 1.797605402680784e+01 - 1.789710004813803e+01 1.781849513976010e+01 1.774023761822760e+01 1.766232596769640e+01 1.758475857461898e+01 - 1.750753373031707e+01 1.743064982368309e+01 1.735410526816905e+01 1.727789846424588e+01 1.720202775432962e+01 - 1.712649156263800e+01 1.705128842771503e+01 1.697641675133914e+01 1.690187492053174e+01 1.682766139576636e+01 - 1.675377465125957e+01 1.668021313537254e+01 1.660697525047803e+01 1.653405953620346e+01 1.646146456303875e+01 - 1.638918876353225e+01 1.631723061252691e+01 1.624558863577738e+01 1.617426136715184e+01 1.610324729276991e+01 - 1.603254489420701e+01 1.596215281065743e+01 1.589206962268447e+01 1.582229381597797e+01 1.575282394813798e+01 - 1.568365860435203e+01 1.561479636559848e+01 1.554623575841051e+01 1.547797536749664e+01 1.541001389568697e+01 - 1.534234992945672e+01 1.527498202635700e+01 1.520790881496337e+01 1.514112893627654e+01 1.507464101206718e+01 - 1.500844361854594e+01 1.494253544400039e+01 1.487691522461213e+01 1.481158156982783e+01 1.474653311471545e+01 - 1.468176854391490e+01 1.461728655322583e+01 1.455308580005108e+01 1.448916492494823e+01 1.442552270891503e+01 - 1.436215789907635e+01 1.429906914560298e+01 1.423625515786986e+01 1.417371467503432e+01 1.411144643634281e+01 - 1.404944913182382e+01 1.398772148936426e+01 1.392626235467004e+01 1.386507047757601e+01 1.380414456703780e+01 - 1.374348339923097e+01 1.368308576360786e+01 1.362295043539383e+01 1.356307614411792e+01 1.350346171009224e+01 - 1.344410601461897e+01 1.338500782259274e+01 1.332616591200318e+01 1.326757911048049e+01 1.320924625504148e+01 - 1.315116615215319e+01 1.309333758418828e+01 1.303575945915385e+01 1.297843067064863e+01 1.292135001185642e+01 - 1.286451632934388e+01 1.280792850075226e+01 1.275158540067995e+01 1.269548586414703e+01 1.263962874841400e+01 - 1.258401302186647e+01 1.252863758019894e+01 1.247350127006052e+01 1.241860299544399e+01 1.236394167532885e+01 - 1.230951622025856e+01 1.225532549825102e+01 1.220136844757296e+01 1.214764407513537e+01 1.209415128431592e+01 - 1.204088897936275e+01 1.198785611322907e+01 1.193505164847797e+01 1.188247452422181e+01 1.183012365035161e+01 - 1.177799804372636e+01 1.172609672645034e+01 1.167441862559045e+01 1.162296270435431e+01 1.157172795813644e+01 - 1.152071338824009e+01 1.146991795771504e+01 1.141934063624516e+01 1.136898050295155e+01 1.131883658051165e+01 - 1.126890783457083e+01 1.121919328583311e+01 1.116969196974251e+01 1.112040291453270e+01 1.107132511138846e+01 - 1.102245760367597e+01 1.097379950683186e+01 1.092534984778681e+01 1.087710764406476e+01 1.082907196010627e+01 - 1.078124186863284e+01 1.073361642501848e+01 1.068619465441603e+01 1.063897567074718e+01 1.059195860734133e+01 - 1.054514250814830e+01 1.049852644360809e+01 1.045210951602862e+01 1.040589083229813e+01 1.035986946911022e+01 - 1.031404450080543e+01 1.026841510170119e+01 1.022298040707346e+01 1.017773949095798e+01 1.013269147478631e+01 - 1.008783549702620e+01 1.004317069189082e+01 9.998696157456914e+00 9.954411030186206e+00 9.910314523784715e+00 - 9.866405774945729e+00 9.822683900561229e+00 9.779148062474189e+00 9.735797433007823e+00 9.692631171490490e+00 - 9.649648402951970e+00 9.606848328743531e+00 9.564230182014787e+00 9.521793107635142e+00 9.479536270440141e+00 - 9.437458869806633e+00 9.395560106559989e+00 9.353839157926716e+00 9.312295192835592e+00 9.270927467731591e+00 - 9.229735216231479e+00 9.188717610212938e+00 9.147873860369382e+00 9.107203196336844e+00 9.066704846764596e+00 - 9.026378005702853e+00 8.986221892357717e+00 8.946235805206038e+00 8.906418978693665e+00 8.866770619316361e+00 - 8.827289975974383e+00 8.787976307390357e+00 8.748828863538764e+00 8.709846863139358e+00 8.671029583554503e+00 - 8.632376341244221e+00 8.593886376949055e+00 8.555558939921891e+00 8.517393311170933e+00 8.479388776756116e+00 - 8.441544603229096e+00 8.403860042243403e+00 8.366334424744339e+00 8.328967072292842e+00 8.291757243124138e+00 - 8.254704227472720e+00 8.217807335382002e+00 8.181065876905594e+00 8.144479133106664e+00 8.108046399433587e+00 - 8.071767047639053e+00 8.035640397926882e+00 7.999665736506032e+00 7.963842390434660e+00 7.928169696145141e+00 - 7.892646983285742e+00 7.857273552651162e+00 7.822048750599857e+00 7.786971968025827e+00 7.752042529333232e+00 - 7.717259758863888e+00 7.682623011133142e+00 7.648131647347260e+00 7.613785013617140e+00 7.579582436948184e+00 - 7.545523312250220e+00 7.511607037617057e+00 7.477832951167176e+00 7.444200413093294e+00 7.410708803334905e+00 - 7.377357505498556e+00 7.344145878673218e+00 7.311073286547245e+00 7.278139163173499e+00 7.245342906306997e+00 - 7.212683876663248e+00 7.180161467446147e+00 7.147775082852699e+00 7.115524124234772e+00 7.083407965702390e+00 - 7.051426016132217e+00 7.019577732801474e+00 6.987862512275252e+00 6.956279745475502e+00 6.924828855941318e+00 - 6.893509269882150e+00 6.862320401692200e+00 6.831261647888545e+00 6.800332460884749e+00 6.769532305211046e+00 - 6.738860589806862e+00 6.708316738463165e+00 6.677900193977888e+00 6.647610403615440e+00 6.617446795946176e+00 - 6.587408797932629e+00 6.557495898186097e+00 6.527707560796614e+00 6.498043211862364e+00 6.468502306113241e+00 - 6.439084309299234e+00 6.409788685242900e+00 6.380614873655190e+00 6.351562339061567e+00 6.322630595895343e+00 - 6.293819108127046e+00 6.265127326375664e+00 6.236554729526047e+00 6.208100805116588e+00 6.179765032202197e+00 - 6.151546864740690e+00 6.123445807150094e+00 6.095461385258917e+00 6.067593067877628e+00 6.039840335121551e+00 - 6.012202688508743e+00 5.984679633169969e+00 5.957270656961056e+00 5.929975240292937e+00 5.902792923627279e+00 - 5.875723232013562e+00 5.848765648702115e+00 5.821919682493143e+00 5.795184854142510e+00 5.768560683026402e+00 - 5.742046666390822e+00 5.715642318587924e+00 5.689347205919744e+00 5.663160851223163e+00 5.637082758311135e+00 - 5.611112458697719e+00 5.585249491519008e+00 5.559493390584049e+00 5.533843667789125e+00 5.508299872311603e+00 - 5.482861578646651e+00 5.457528314665947e+00 5.432299611523626e+00 5.407175018586152e+00 5.382154093094761e+00 - 5.357236378022760e+00 5.332421403106363e+00 5.307708752059064e+00 5.283098003376689e+00 5.258588694187007e+00 - 5.234180379291222e+00 5.209872626694981e+00 5.185665008050016e+00 5.161557074183171e+00 5.137548383980142e+00 - 5.113638545797982e+00 5.089827134282968e+00 5.066113702430728e+00 5.042497830741953e+00 5.018979105007048e+00 - 4.995557105455633e+00 4.972231392615168e+00 4.949001558388967e+00 4.925867224885915e+00 4.902827967986653e+00 - 4.879883363679411e+00 4.857033008673309e+00 4.834276503129009e+00 4.811613436797770e+00 4.789043387081744e+00 - 4.766565977795326e+00 4.744180833573695e+00 4.721887536130310e+00 4.699685684376157e+00 4.677574891583497e+00 - 4.655554772271826e+00 4.633624922898647e+00 4.611784942911348e+00 4.590034481232405e+00 4.568373160121153e+00 - 4.546800575450856e+00 4.525316347519302e+00 4.503920103923871e+00 4.482611469298424e+00 4.461390048788094e+00 - 4.440255471271009e+00 4.419207398665950e+00 4.398245451269402e+00 4.377369245425554e+00 4.356578419383048e+00 - 4.335872613273037e+00 4.315251459075552e+00 4.294714576337845e+00 4.274261622204341e+00 4.253892261314030e+00 - 4.233606119889290e+00 4.213402835603544e+00 4.193282059746365e+00 4.173243445650493e+00 4.153286631923412e+00 - 4.133411255497697e+00 4.113616998652003e+00 4.093903524786619e+00 4.074270469191258e+00 4.054717490515994e+00 - 4.035244253601178e+00 4.015850419023907e+00 3.996535633568783e+00 3.977299560905666e+00 3.958141896495164e+00 - 3.939062301025637e+00 3.920060427447142e+00 3.901135950094528e+00 3.882288544897898e+00 3.863517881118590e+00 - 3.844823615448907e+00 3.826205437051391e+00 3.807663047653544e+00 3.789196110563124e+00 3.770804297342049e+00 - 3.752487294212357e+00 3.734244789018890e+00 3.716076457976182e+00 3.697981972490954e+00 3.679961043694115e+00 - 3.662013372248035e+00 3.644138631063968e+00 3.626336509775109e+00 3.608606705542072e+00 3.590948914412318e+00 - 3.573362819793663e+00 3.555848115085657e+00 3.538404523614169e+00 3.521031745026515e+00 3.503729467883798e+00 - 3.486497394134707e+00 3.469335231734055e+00 3.452242686325544e+00 3.435219448952052e+00 3.418265234650198e+00 - 3.401379774604279e+00 3.384562769850576e+00 3.367813923930398e+00 3.351132951883403e+00 3.334519571031865e+00 - 3.317973491801103e+00 3.301494419647167e+00 3.285082090084510e+00 3.268736234671993e+00 3.252456560777042e+00 - 3.236242786971220e+00 3.220094639575606e+00 3.204011846234647e+00 3.187994121490988e+00 3.172041185626448e+00 - 3.156152791161071e+00 3.140328668842820e+00 3.124568535295174e+00 3.108872124034968e+00 3.093239171871656e+00 - 3.077669412161458e+00 3.062162565910707e+00 3.046718374098970e+00 3.031336596904380e+00 3.016016966139392e+00 - 3.000759212810465e+00 2.985563079528153e+00 2.970428312130104e+00 2.955354650145179e+00 2.940341825152254e+00 - 2.925389598488303e+00 2.910497731503551e+00 2.895665957526404e+00 2.880894022713473e+00 2.866181682137055e+00 - 2.851528688498591e+00 2.836934785005289e+00 2.822399718118186e+00 2.807923264019232e+00 2.793505182293368e+00 - 2.779145216423770e+00 2.764843124903896e+00 2.750598669795774e+00 2.736411610868753e+00 2.722281698431688e+00 - 2.708208697067331e+00 2.694192390113966e+00 2.680232535961204e+00 2.666328890540199e+00 2.652481222662398e+00 - 2.638689303226956e+00 2.624952898002155e+00 2.611271764144950e+00 2.597645683492627e+00 2.584074442444535e+00 - 2.570557801667266e+00 2.557095530257868e+00 2.543687406599445e+00 2.530333209423413e+00 2.517032707379746e+00 - 2.503785668122807e+00 2.490591889861845e+00 2.477451158950901e+00 2.464363243138197e+00 2.451327922049569e+00 - 2.438344980862380e+00 2.425414204994132e+00 2.412535368413293e+00 2.399708255484590e+00 2.386932671907132e+00 - 2.374208401602455e+00 2.361535223009603e+00 2.348912926727443e+00 2.336341305706971e+00 2.323820149408004e+00 - 2.311349238873846e+00 2.298928374328811e+00 2.286557363678248e+00 2.274235992966902e+00 2.261964052364815e+00 - 2.249741340335214e+00 2.237567658215990e+00 2.225442798573621e+00 2.213366549457367e+00 2.201338726388740e+00 - 2.189359138707274e+00 2.177427577694549e+00 2.165543843493499e+00 2.153707741170415e+00 2.141919076444355e+00 - 2.130177647034976e+00 2.118483256831743e+00 2.106835728234196e+00 2.095234867960482e+00 2.083680476325080e+00 - 2.072172364176171e+00 2.060710343839133e+00 2.049294224696878e+00 2.037923808395575e+00 2.026598913260298e+00 - 2.015319367985618e+00 2.004084979196668e+00 1.992895556108562e+00 1.981750916950703e+00 1.970650881000152e+00 - 1.959595261684839e+00 1.948583868145923e+00 1.937616532016987e+00 1.926693081878526e+00 1.915813328267264e+00 - 1.904977090405082e+00 1.894184192977273e+00 1.883434460875044e+00 1.872727710477953e+00 1.862063762090873e+00 - 1.851442457083682e+00 1.840863622251705e+00 1.830327074965862e+00 1.819832643502570e+00 1.809380158797907e+00 - 1.798969449793061e+00 1.788600336572885e+00 1.778272652771865e+00 1.767986244795942e+00 1.757740938619203e+00 - 1.747536560606076e+00 1.737372946411540e+00 1.727249932639099e+00 1.717167351154095e+00 1.707125028541288e+00 - 1.697122811212298e+00 1.687160545804055e+00 1.677238060829077e+00 1.667355192130723e+00 1.657511781312863e+00 - 1.647707669880958e+00 1.637942692337234e+00 1.628216684763444e+00 1.618529503053863e+00 1.608880992276723e+00 - 1.599270986915247e+00 1.589699330823691e+00 1.580165870897195e+00 1.570670452975510e+00 1.561212914561866e+00 - 1.551793103249197e+00 1.542410880472349e+00 1.533066090216831e+00 1.523758574579748e+00 1.514488184288800e+00 - 1.505254771462676e+00 1.496058184704016e+00 1.486898266759950e+00 1.477774877044576e+00 1.468687878023066e+00 - 1.459637114930725e+00 1.450622438289068e+00 1.441643704572125e+00 1.432700770639202e+00 1.423793487269355e+00 - 1.414921704769478e+00 1.406085292220042e+00 1.397284110913275e+00 1.388518010515092e+00 1.379786849127615e+00 - 1.371090488107240e+00 1.362428788219066e+00 1.353801602746353e+00 1.345208792137069e+00 1.336650231141558e+00 - 1.328125779708811e+00 1.319635294146069e+00 1.311178639017341e+00 1.302755680403749e+00 1.294366281732825e+00 - 1.286010300246468e+00 1.277687607130681e+00 1.269398079017509e+00 1.261141576506052e+00 1.252917963373013e+00 - 1.244727109229262e+00 1.236568884548108e+00 1.228443154841189e+00 1.220349783647821e+00 1.212288651549746e+00 - 1.204259634287000e+00 1.196262595500517e+00 1.188297406122070e+00 1.180363940507803e+00 1.172462072687314e+00 - 1.164591670206239e+00 1.156752605274376e+00 1.148944764287503e+00 1.141168021685895e+00 1.133422246839356e+00 - 1.125707316556084e+00 1.118023109341937e+00 1.110369501923575e+00 1.102746365022667e+00 1.095153580538906e+00 - 1.087591037394418e+00 1.080058609806265e+00 1.072556173728377e+00 1.065083611042832e+00 1.057640804167975e+00 - 1.050227631677888e+00 1.042843969448370e+00 1.035489708218281e+00 1.028164736497249e+00 1.020868930712798e+00 - 1.013602173363602e+00 1.006364350528145e+00 9.991553480860069e-01 9.919750464549014e-01 9.848233287198007e-01 - 9.777000916381701e-01 9.706052224312447e-01 9.635386022157533e-01 9.565001191688937e-01 9.494896630661879e-01 - 9.425071223228538e-01 9.355523797940184e-01 9.286253271866921e-01 9.217258644183214e-01 9.148538781303724e-01 - 9.080092551050607e-01 9.011918879859632e-01 8.944016703005543e-01 8.876384924746002e-01 8.809022413584221e-01 - 8.741928168976413e-01 8.675101190938330e-01 8.608540359442419e-01 8.542244603473701e-01 8.476212889430066e-01 - 8.410444181391276e-01 8.344937399710189e-01 8.279691476350027e-01 8.214705470141707e-01 8.149978368018493e-01 - 8.085509088588196e-01 8.021296614287111e-01 7.957339944800463e-01 7.893638070383275e-01 7.830189931350516e-01 - 7.766994532966268e-01 7.704050967403675e-01 7.641358215802615e-01 7.578915247022724e-01 7.516721083807270e-01 - 7.454774759379389e-01 7.393075284143857e-01 7.331621629407183e-01 7.270412875750237e-01 7.209448123528730e-01 - 7.148726361079928e-01 7.088246610576617e-01 7.028007931997213e-01 6.968009387204053e-01 6.908250000358214e-01 - 6.848728793751606e-01 6.789444908271167e-01 6.730397435251165e-01 6.671585392499849e-01 6.613007849024644e-01 - 6.554663896318030e-01 6.496552624588109e-01 6.438673070778183e-01 6.381024319556428e-01 6.323605552121262e-01 - 6.266415850605696e-01 6.209454272475601e-01 6.152719929073242e-01 6.096211942955035e-01 6.039929419697414e-01 - 5.983871423673978e-01 5.928037109278776e-01 5.872425665727200e-01 5.817036179262789e-01 5.761867757580472e-01 - 5.706919545755328e-01 5.652190691753797e-01 5.597680312855905e-01 5.543387515608681e-01 5.489311514266204e-01 - 5.435451491959484e-01 5.381806555529779e-01 5.328375858091706e-01 5.275158573424954e-01 5.222153871968650e-01 - 5.169360885007255e-01 5.116778775087658e-01 5.064406794925096e-01 5.012244118255510e-01 4.960289886382637e-01 - 4.908543290552675e-01 4.857003532629381e-01 4.805669801867241e-01 4.754541247133137e-01 4.703617092625736e-01 - 4.652896609026711e-01 4.602378967146020e-01 4.552063350475851e-01 4.501948983226124e-01 4.452035092771810e-01 - 4.402320879227842e-01 4.352805523654864e-01 4.303488309750054e-01 4.254368504386150e-01 4.205445290166767e-01 - 4.156717895856258e-01 4.108185573527897e-01 4.059847567861119e-01 4.011703090912549e-01 3.963751374739253e-01 - 3.915991740467544e-01 3.868423443729578e-01 3.821045699452743e-01 3.773857771630841e-01 3.726858934536713e-01 - 3.680048452743795e-01 3.633425553945757e-01 3.586989523890614e-01 3.540739701811214e-01 3.494675340422360e-01 - 3.448795694018267e-01 3.403100055229290e-01 3.357587720701978e-01 3.312257966625470e-01 3.267110046986084e-01 - 3.222143302305144e-01 3.177357072575733e-01 3.132750617821559e-01 3.088323230437107e-01 3.044074228278458e-01 - 3.000002929514869e-01 2.956108619814004e-01 2.912390591663653e-01 2.868848226223222e-01 2.825480855369588e-01 - 2.782287763584979e-01 2.739268276304007e-01 2.696421732978619e-01 2.653747469077652e-01 2.611244782932083e-01 - 2.568913016367161e-01 2.526751570146955e-01 2.484759769388697e-01 2.442936932048949e-01 2.401282413902519e-01 - 2.359795575701045e-01 2.318475761710866e-01 2.277322290127450e-01 2.236334554284879e-01 2.195511960314929e-01 - 2.154853836729677e-01 2.114359536211432e-01 2.074028437636633e-01 2.033859920182897e-01 1.993853337119912e-01 - 1.954008040589642e-01 1.914323463143237e-01 1.874799002688242e-01 1.835434007181165e-01 1.796227861758036e-01 - 1.757179964922509e-01 1.718289711649378e-01 1.679556465242757e-01 1.640979620393169e-01 1.602558632656972e-01 - 1.564292893436780e-01 1.526181778855338e-01 1.488224700413446e-01 1.450421075715582e-01 1.412770310767497e-01 - 1.375271785489454e-01 1.337924939887067e-01 1.300729236356154e-01 1.263684067750867e-01 1.226788841702678e-01 - 1.190042991249222e-01 1.153445951805052e-01 1.116997137432381e-01 1.080695954417651e-01 1.044541881911586e-01 - 1.008534377603918e-01 9.726728475975084e-02 9.369567294988820e-02 9.013854752144720e-02 8.659585347215112e-02 - 8.306753302147955e-02 7.955353046975124e-02 7.605379621791922e-02 7.256827534889604e-02 6.909691079142652e-02 - 6.563964883225221e-02 6.219643640409570e-02 5.876721959493493e-02 5.535194193553600e-02 5.195055179453398e-02 - 4.856300050562060e-02 4.518923308325209e-02 4.182919528191363e-02 3.848283536820589e-02 3.515010193539807e-02 - 3.183094185890936e-02 2.852530077920949e-02 2.523313079087341e-02 2.195438300307553e-02 1.868900335629075e-02 - 1.543694036357313e-02 1.219814405293583e-02 8.972564385828061e-03 5.760148923624660e-03 2.560846417529306e-03 - -6.253884489496408e-04 -3.798605206001689e-03 -6.958856024607482e-03 -1.010619000899848e-02 -1.324065554473652e-02 - -1.636230159824732e-02 -1.947117958312726e-02 -2.256733711284757e-02 -2.565081832749929e-02 -2.872167302619957e-02 - -3.177995089902724e-02 -3.482569914268617e-02 -3.785896464500105e-02 -4.087979562235380e-02 -4.388824175488684e-02 - -4.688434717766576e-02 -4.986815604286890e-02 -5.283971753775529e-02 -5.579907881824794e-02 -5.874628546589089e-02 - -6.168138307363240e-02 -6.460441923558070e-02 -6.751544105442296e-02 -7.041449003639784e-02 -7.330161087707579e-02 - -7.617685125406765e-02 -7.904025608548425e-02 -8.189186951723537e-02 -8.473173608907363e-02 -8.755990257827875e-02 - -9.037641289395969e-02 -9.318130717201861e-02 -9.597463047763352e-02 -9.875642835115833e-02 -1.015267439140877e-01 - -1.042856199263307e-01 -1.070331001684683e-01 -1.097692300567918e-01 -1.124940502948268e-01 -1.152076007898061e-01 - -1.179099262631479e-01 -1.206010699593113e-01 -1.232810735016665e-01 -1.259499784255051e-01 -1.286078279418341e-01 - -1.312546653333709e-01 -1.338905286984875e-01 -1.365154583874092e-01 -1.391294979538990e-01 -1.417326885345280e-01 - -1.443250704192513e-01 -1.469066841433861e-01 -1.494775722507627e-01 -1.520377752494497e-01 -1.545873297590701e-01 - -1.571262765202916e-01 -1.596546572452540e-01 -1.621725113907878e-01 -1.646798779801165e-01 -1.671767967821347e-01 - -1.696633092874520e-01 -1.721394530811854e-01 -1.746052643091513e-01 -1.770607836101869e-01 -1.795060506428017e-01 - -1.819411034225526e-01 -1.843659798390828e-01 -1.867807191554161e-01 -1.891853611111403e-01 -1.915799407499077e-01 - -1.939644945120454e-01 -1.963390621459183e-01 -1.987036813730624e-01 -2.010583889984393e-01 -2.034032219467188e-01 - -2.057382189127211e-01 -2.080634172465200e-01 -2.103788504106409e-01 -2.126845552585028e-01 -2.149805700057577e-01 - -2.172669307458855e-01 -2.195436731393316e-01 -2.218108333786645e-01 -2.240684493062661e-01 -2.263165556286022e-01 - -2.285551851690127e-01 -2.307843748874083e-01 -2.330041611277884e-01 -2.352145785311434e-01 -2.374156618282909e-01 - -2.396074467707450e-01 -2.417899696732801e-01 -2.439632627554057e-01 -2.461273590292558e-01 -2.482822949571798e-01 - -2.504281050002428e-01 -2.525648226666662e-01 -2.546924818382261e-01 -2.568111176810049e-01 -2.589207645010757e-01 - -2.610214530059819e-01 -2.631132165202481e-01 -2.651960899948890e-01 -2.672701065219724e-01 -2.693352987894519e-01 - -2.713916998229662e-01 -2.734393439668777e-01 -2.754782632038173e-01 -2.775084874639143e-01 -2.795300503441993e-01 - -2.815429852855671e-01 -2.835473240274155e-01 -2.855430981234691e-01 -2.875303400246380e-01 -2.895090831627840e-01 - -2.914793573631382e-01 -2.934411924374482e-01 -2.953946213942734e-01 -2.973396760049649e-01 -2.992763870705049e-01 - -3.012047853752455e-01 -3.031249029054077e-01 -3.050367713048046e-01 -3.069404187491607e-01 -3.088358754333808e-01 - -3.107231733999588e-01 -3.126023429151826e-01 -3.144734138246973e-01 -3.163364162512183e-01 -3.181913814969073e-01 - -3.200383391593082e-01 -3.218773166629695e-01 -3.237083442965246e-01 -3.255314526206347e-01 -3.273466708133588e-01 - -3.291540279174764e-01 -3.309535535062730e-01 -3.327452779044484e-01 -3.345292286746930e-01 -3.363054329977739e-01 - -3.380739209920870e-01 -3.398347217688169e-01 -3.415878634526212e-01 -3.433333743100879e-01 -3.450712833788954e-01 - -3.468016195958206e-01 -3.485244091566739e-01 -3.502396793974815e-01 -3.519474593420066e-01 -3.536477770380763e-01 - -3.553406598299846e-01 -3.570261348354672e-01 -3.587042307855341e-01 -3.603749751839582e-01 -3.620383929731605e-01 - -3.636945116923384e-01 -3.653433594409278e-01 -3.669849628231984e-01 -3.686193482790397e-01 -3.702465427747400e-01 - -3.718665743211436e-01 -3.734794684043725e-01 -3.750852495624684e-01 -3.766839451194457e-01 -3.782755819189342e-01 - -3.798601858648072e-01 -3.814377826321034e-01 -3.830083986549013e-01 -3.845720606417443e-01 -3.861287926090124e-01 - -3.876786193539286e-01 -3.892215675502101e-01 -3.907576628594260e-01 -3.922869303026715e-01 -3.938093947284727e-01 - -3.953250822556230e-01 -3.968340182497304e-01 -3.983362256494206e-01 -3.998317293097848e-01 -4.013205549386248e-01 - -4.028027272117153e-01 -4.042782703087232e-01 -4.057472086115670e-01 -4.072095677082399e-01 -4.086653712889545e-01 - -4.101146418277140e-01 -4.115574040934622e-01 -4.129936826934361e-01 -4.144235014035024e-01 -4.158468836578273e-01 - -4.172638535617268e-01 -4.186744357650895e-01 -4.200786523524958e-01 -4.214765258006608e-01 -4.228680805923657e-01 - -4.242533401481378e-01 -4.256323273241845e-01 -4.270050650780072e-01 -4.283715771591216e-01 -4.297318868367957e-01 - -4.310860152683936e-01 -4.324339850671611e-01 -4.337758197699306e-01 -4.351115419219263e-01 -4.364411736856622e-01 - -4.377647373653272e-01 -4.390822563519974e-01 -4.403937525793140e-01 -4.416992465950099e-01 -4.429987609092939e-01 - -4.442923180804305e-01 -4.455799398898891e-01 -4.468616477876415e-01 -4.481374637930542e-01 -4.494074106490894e-01 - -4.506715085877422e-01 -4.519297779021105e-01 -4.531822412097039e-01 -4.544289201442401e-01 -4.556698355752103e-01 - -4.569050083194456e-01 -4.581344599890250e-01 -4.593582121055255e-01 -4.605762842891920e-01 -4.617886970897419e-01 - -4.629954719556403e-01 -4.641966295426422e-01 -4.653921902577345e-01 -4.665821746143150e-01 -4.677666038635413e-01 - -4.689454981292748e-01 -4.701188761476531e-01 -4.712867586709557e-01 -4.724491664926360e-01 -4.736061192593240e-01 - -4.747576368456714e-01 -4.759037394682022e-01 -4.770444475543998e-01 -4.781797800875144e-01 -4.793097558338887e-01 - -4.804343950164401e-01 -4.815537175042383e-01 -4.826677426390972e-01 -4.837764894228364e-01 -4.848799775883490e-01 - -4.859782270303963e-01 -4.870712557287352e-01 -4.881590823344398e-01 -4.892417265305033e-01 -4.903192072931410e-01 - -4.913915433426016e-01 -4.924587534540600e-01 -4.935208569593936e-01 -4.945778724869024e-01 -4.956298174121960e-01 - -4.966767104426105e-01 -4.977185705977166e-01 -4.987554161795947e-01 -4.997872652579317e-01 -5.008141361357437e-01 - -5.018360477540788e-01 -5.028530175622089e-01 -5.038650625463708e-01 -5.048722015765362e-01 -5.058744527800632e-01 - -5.068718334710337e-01 -5.078643614554021e-01 -5.088520548881869e-01 -5.098349318298798e-01 -5.108130088001350e-01 - -5.117863028619736e-01 -5.127548322161382e-01 -5.137186142245088e-01 -5.146776659499980e-01 -5.156320045833772e-01 - -5.165816478015819e-01 -5.175266128170244e-01 -5.184669156304091e-01 -5.194025733016244e-01 -5.203336032597101e-01 - -5.212600221732120e-01 -5.221818466804444e-01 -5.230990936596679e-01 -5.240117804553392e-01 -5.249199232262068e-01 - -5.258235374392936e-01 -5.267226400387954e-01 -5.276172478389746e-01 -5.285073771019844e-01 -5.293930438910602e-01 - -5.302742646986305e-01 -5.311510563423283e-01 -5.320234339437281e-01 -5.328914129379527e-01 -5.337550101355577e-01 - -5.346142414983102e-01 -5.354691226448078e-01 -5.363196694209366e-01 -5.371658979374595e-01 -5.380078240078261e-01 - -5.388454624615836e-01 -5.396788287704753e-01 -5.405079388378121e-01 -5.413328081929075e-01 -5.421534521210617e-01 - -5.429698859177164e-01 -5.437821254261226e-01 -5.445901856060492e-01 -5.453940806517681e-01 -5.461938261275164e-01 - -5.469894375147514e-01 -5.477809296410460e-01 -5.485683172596564e-01 -5.493516154047422e-01 -5.501308394233321e-01 - -5.509060035978606e-01 -5.516771220917993e-01 -5.524442098036262e-01 -5.532072816062331e-01 -5.539663521228516e-01 - -5.547214355736525e-01 -5.554725467511782e-01 -5.562197004144761e-01 -5.569629099559865e-01 -5.577021895124128e-01 - -5.584375539231472e-01 -5.591690174427206e-01 -5.598965939391384e-01 -5.606202972403660e-01 -5.613401421520022e-01 - -5.620561426054913e-01 -5.627683113219669e-01 -5.634766626491997e-01 -5.641812109417922e-01 -5.648819696019924e-01 - -5.655789522526887e-01 -5.662721727674018e-01 -5.669616451334641e-01 -5.676473824290281e-01 -5.683293976251365e-01 - -5.690077046537543e-01 -5.696823171027902e-01 -5.703532481968968e-01 -5.710205111045815e-01 -5.716841193018837e-01 - -5.723440862989044e-01 -5.730004247377283e-01 -5.736531475408438e-01 -5.743022680808630e-01 -5.749477994635019e-01 - -5.755897545119250e-01 -5.762281459317424e-01 -5.768629872133108e-01 -5.774942912813225e-01 -5.781220698864685e-01 - -5.787463360372200e-01 -5.793671029370097e-01 -5.799843829591812e-01 -5.805981885004621e-01 -5.812085322229668e-01 - -5.818154271777390e-01 -5.824188854500640e-01 -5.830189187855023e-01 -5.836155400127914e-01 -5.842087616519486e-01 - -5.847985957903102e-01 -5.853850545399070e-01 -5.859681502822114e-01 -5.865478954643482e-01 -5.871243015837295e-01 - -5.876973804424807e-01 -5.882671445115567e-01 -5.888336058093040e-01 -5.893967761301214e-01 -5.899566672475657e-01 - -5.905132912554449e-01 -5.910666600004119e-01 -5.916167846344484e-01 -5.921636769312483e-01 -5.927073488739303e-01 - -5.932478119884005e-01 -5.937850777230974e-01 -5.943191576345895e-01 -5.948500635775013e-01 -5.953778067525587e-01 - -5.959023980172641e-01 -5.964238491804477e-01 -5.969421717317064e-01 -5.974573766302176e-01 -5.979694750153504e-01 - -5.984784782975928e-01 -5.989843980133127e-01 -5.994872448737363e-01 -5.999870296226286e-01 -6.004837635008013e-01 - -6.009774575116591e-01 -6.014681225640990e-01 -6.019557696406324e-01 -6.024404098188824e-01 -6.029220539582525e-01 - -6.034007123251734e-01 -6.038763957092128e-01 -6.043491151546724e-01 -6.048188811990667e-01 -6.052857043294740e-01 - -6.057495951725935e-01 -6.062105647034982e-01 -6.066686232996821e-01 -6.071237808282512e-01 -6.075760480581535e-01 - -6.080254356249652e-01 -6.084719536597242e-01 -6.089156123708600e-01 -6.093564221655233e-01 -6.097943936088406e-01 - -6.102295366277345e-01 -6.106618611466814e-01 -6.110913776082281e-01 -6.115180960018122e-01 -6.119420262061138e-01 - -6.123631785057825e-01 -6.127815629923925e-01 -6.131971895415724e-01 -6.136100679122567e-01 -6.140202079254689e-01 - -6.144276194632986e-01 -6.148323123693087e-01 -6.152342964516117e-01 -6.156335814880438e-01 -6.160301772367670e-01 - -6.164240932773791e-01 -6.168153390131846e-01 -6.172039241057757e-01 -6.175898582479540e-01 -6.179731510100582e-01 - -6.183538118537011e-01 -6.187318502245757e-01 -6.191072755983122e-01 -6.194800972241303e-01 -6.198503243163954e-01 - -6.202179663089392e-01 -6.205830326036273e-01 -6.209455324825972e-01 -6.213054750121583e-01 -6.216628693834372e-01 - -6.220177248671027e-01 -6.223700505100402e-01 -6.227198553511943e-01 -6.230671484590707e-01 -6.234119388224310e-01 - -6.237542354039819e-01 -6.240940471906395e-01 -6.244313833278470e-01 -6.247662526956897e-01 -6.250986637315333e-01 - -6.254286253149073e-01 -6.257561464374979e-01 -6.260812358699522e-01 -6.264039022632663e-01 -6.267241542804416e-01 - -6.270420007239386e-01 -6.273574502418447e-01 -6.276705113436000e-01 -6.279811924920996e-01 -6.282895022600340e-01 - -6.285954492669960e-01 -6.288990419377586e-01 -6.292002887596219e-01 -6.294991982474318e-01 -6.297957785295903e-01 - -6.300900379535952e-01 -6.303819851813233e-01 -6.306716282540937e-01 -6.309589752809680e-01 -6.312440348023121e-01 - -6.315268150763020e-01 -6.318073241903770e-01 -6.320855701836068e-01 -6.323615610879741e-01 -6.326353050044859e-01 - -6.329068101802829e-01 -6.331760846635813e-01 -6.334431363818833e-01 -6.337079733473078e-01 -6.339706034520735e-01 - -6.342310345121693e-01 -6.344892744839461e-01 -6.347453312805855e-01 -6.349992127114430e-01 -6.352509264768633e-01 - -6.355004804526597e-01 -6.357478826585540e-01 -6.359931404400122e-01 -6.362362612918424e-01 -6.364772532644518e-01 - -6.367161239398067e-01 -6.369528807876881e-01 -6.371875315012039e-01 -6.374200836672138e-01 -6.376505447719858e-01 - -6.378789222449943e-01 -6.381052236017390e-01 -6.383294563385360e-01 -6.385516277126226e-01 -6.387717451483415e-01 - -6.389898161925324e-01 -6.392058481779943e-01 -6.394198483013303e-01 -6.396318237129481e-01 -6.398417817583982e-01 - -6.400497298004382e-01 -6.402556751053731e-01 -6.404596246811356e-01 -6.406615856182318e-01 -6.408615652398488e-01 - -6.410595705960431e-01 -6.412556087124355e-01 -6.414496867908267e-01 -6.416418117430738e-01 -6.418319904244396e-01 - -6.420202299552208e-01 -6.422065373268501e-01 -6.423909194238488e-01 -6.425733831564441e-01 -6.427539354568388e-01 - -6.429325832107947e-01 -6.431093330874931e-01 -6.432841919278923e-01 -6.434571667152847e-01 -6.436282640341581e-01 - -6.437974905134223e-01 -6.439648529819666e-01 -6.441303582355420e-01 -6.442940129046214e-01 -6.444558234243410e-01 - -6.446157964842297e-01 -6.447739387669796e-01 -6.449302567289288e-01 -6.450847570451982e-01 -6.452374463418470e-01 - -6.453883308317777e-01 -6.455374170518916e-01 -6.456847116523639e-01 -6.458302208459006e-01 -6.459739509825424e-01 - -6.461159085765001e-01 -6.462561000624228e-01 -6.463945317857885e-01 -6.465312099893501e-01 -6.466661407794220e-01 - -6.467993305071421e-01 -6.469307857586633e-01 -6.470605124176557e-01 -6.471885165505020e-01 -6.473148048129491e-01 - -6.474393831451855e-01 -6.475622574433044e-01 -6.476834341411803e-01 -6.478029193005811e-01 -6.479207188186653e-01 - -6.480368387749067e-01 -6.481512852365653e-01 -6.482640642356557e-01 -6.483751817763184e-01 -6.484846438333333e-01 - -6.485924563559199e-01 -6.486986252696630e-01 -6.488031563964390e-01 -6.489060555062011e-01 -6.490073285956434e-01 - -6.491069816182633e-01 -6.492050203757027e-01 -6.493014505946639e-01 -6.493962779796888e-01 -6.494895082497514e-01 - -6.495811472172135e-01 -6.496712006463234e-01 -6.497596741452655e-01 -6.498465734697708e-01 -6.499319043537729e-01 - -6.500156722751166e-01 -6.500978828758883e-01 -6.501785418212779e-01 -6.502576544563589e-01 -6.503352264336196e-01 - -6.504112635780723e-01 -6.504857712206107e-01 -6.505587548117625e-01 -6.506302199692129e-01 -6.507001719669850e-01 - -6.507686161481057e-01 -6.508355580770583e-01 -6.509010033515999e-01 -6.509649573333303e-01 -6.510274250599254e-01 - -6.510884119408136e-01 -6.511479234691252e-01 -6.512059649357221e-01 -6.512625414820176e-01 -6.513176583196066e-01 - -6.513713209657690e-01 -6.514235346566493e-01 -6.514743044494572e-01 -6.515236355351222e-01 -6.515715331668240e-01 - -6.516180025498758e-01 -6.516630486086969e-01 -6.517066764698182e-01 -6.517488914696901e-01 -6.517896986474616e-01 - -6.518291029696229e-01 -6.518671094474887e-01 -6.519037232298822e-01 -6.519389493677847e-01 -6.519727927034696e-01 - -6.520052582102593e-01 -6.520363509344871e-01 -6.520660759114448e-01 -6.520944379877177e-01 -6.521214419863292e-01 - -6.521470929034477e-01 -6.521713955379932e-01 -6.521943546611896e-01 -6.522159753870301e-01 -6.522362625000242e-01 - -6.522552205660485e-01 -6.522728545508729e-01 -6.522891692872490e-01 -6.523041693781095e-01 -6.523178594474156e-01 - -6.523302443147758e-01 -6.523413289626511e-01 -6.523511179648659e-01 -6.523596158248584e-01 -6.523668271884714e-01 - -6.523727568212391e-01 -6.523774093997819e-01 -6.523807893579161e-01 -6.523829012952149e-01 -6.523837498990516e-01 - -6.523833397960367e-01 -6.523816754611410e-01 -6.523787613199525e-01 -6.523746019358498e-01 -6.523692018302728e-01 - -6.523625654555820e-01 -6.523546972248629e-01 -6.523456017173497e-01 -6.523352835702680e-01 -6.523237468711672e-01 - -6.523109959032295e-01 -6.522970353197415e-01 -6.522818693382445e-01 -6.522655022842732e-01 -6.522479388337681e-01 - -6.522291831409690e-01 -6.522092393163972e-01 -6.521881118419591e-01 -6.521658050464721e-01 -6.521423231008568e-01 - -6.521176700882644e-01 -6.520918504277817e-01 -6.520648685798258e-01 -6.520367284462982e-01 -6.520074341903623e-01 - -6.519769901852531e-01 -6.519454004576026e-01 -6.519126690272374e-01 -6.518788000417296e-01 -6.518437978790763e-01 - -6.518076667685843e-01 -6.517704106505043e-01 -6.517320333460206e-01 -6.516925389358605e-01 -6.516519318553129e-01 - -6.516102158220000e-01 -6.515673946405215e-01 -6.515234728464969e-01 -6.514784543315630e-01 -6.514323427842886e-01 - -6.513851423523833e-01 -6.513368570527661e-01 -6.512874907235414e-01 -6.512370470939771e-01 -6.511855301990920e-01 - -6.511329442190841e-01 -6.510792928715797e-01 -6.510245798816351e-01 -6.509688091361985e-01 -6.509119847142907e-01 - -6.508541103488035e-01 -6.507951894034477e-01 -6.507352259931611e-01 -6.506742241942834e-01 -6.506121876059120e-01 - -6.505491199228429e-01 -6.504850249436106e-01 -6.504199065016956e-01 -6.503537680222150e-01 -6.502866130342899e-01 - -6.502184457971011e-01 -6.501492700279957e-01 -6.500790890906794e-01 -6.500079066129352e-01 -6.499357263329657e-01 - -6.498625519683058e-01 -6.497883869826074e-01 -6.497132350047277e-01 -6.496370998048885e-01 -6.495599847614121e-01 - -6.494818934475555e-01 -6.494028297363450e-01 -6.493227969968260e-01 -6.492417985197620e-01 -6.491598378013752e-01 - -6.490769185970405e-01 -6.489930446200032e-01 -6.489082192796405e-01 -6.488224457999440e-01 -6.487357275334984e-01 - -6.486480682838258e-01 -6.485594713376021e-01 -6.484699398068251e-01 -6.483794774339799e-01 -6.482880877536140e-01 - -6.481957740532812e-01 -6.481025397024727e-01 -6.480083880017639e-01 -6.479133221889776e-01 -6.478173456351086e-01 - -6.477204618036257e-01 -6.476226741599570e-01 -6.475239858039916e-01 -6.474243999826228e-01 -6.473239202990485e-01 - -6.472225498463482e-01 -6.471202916312221e-01 -6.470171489638400e-01 -6.469131252405815e-01 -6.468082238277443e-01 - -6.467024479420175e-01 -6.465958006550642e-01 -6.464882850509053e-01 -6.463799044773618e-01 -6.462706620382276e-01 - -6.461605607272912e-01 -6.460496040101232e-01 -6.459377950690467e-01 -6.458251367734501e-01 -6.457116323868038e-01 - -6.455972850655802e-01 -6.454820977029684e-01 -6.453660732942879e-01 -6.452492150754419e-01 -6.451315264887545e-01 - -6.450130102914885e-01 -6.448936692680686e-01 -6.447735068128447e-01 -6.446525260129213e-01 -6.445307296530088e-01 - -6.444081203587793e-01 -6.442847014715996e-01 -6.441604765089356e-01 -6.440354480546840e-01 -6.439096188724848e-01 - -6.437829920095609e-01 -6.436555704731397e-01 -6.435273570693492e-01 -6.433983545533010e-01 -6.432685663163126e-01 - -6.431379953365300e-01 -6.430066439769492e-01 -6.428745153347271e-01 -6.427416124750638e-01 -6.426079380140648e-01 - -6.424734947555180e-01 -6.423382856273998e-01 -6.422023135830728e-01 -6.420655814260000e-01 -6.419280919255173e-01 - -6.417898479598759e-01 -6.416508523135933e-01 -6.415111076305331e-01 -6.413706163966455e-01 -6.412293816393564e-01 - -6.410874066048897e-01 -6.409446936267265e-01 -6.408012453136449e-01 -6.406570646910840e-01 -6.405121544270317e-01 - -6.403665170374713e-01 -6.402201550644944e-01 -6.400730715072882e-01 -6.399252691822962e-01 -6.397767504407681e-01 - -6.396275180930010e-01 -6.394775749890055e-01 -6.393269236107165e-01 -6.391755662191552e-01 -6.390235053902433e-01 - -6.388707445708105e-01 -6.387172861694177e-01 -6.385631322023312e-01 -6.384082857966726e-01 -6.382527494896121e-01 - -6.380965253642142e-01 -6.379396162401521e-01 -6.377820248167250e-01 -6.376237535602883e-01 -6.374648052204416e-01 - -6.373051823107587e-01 -6.371448870124290e-01 -6.369839218821269e-01 -6.368222895078627e-01 -6.366599923302766e-01 - -6.364970329561520e-01 -6.363334139746031e-01 -6.361691377885151e-01 -6.360042067688202e-01 -6.358386233547334e-01 - -6.356723901317635e-01 -6.355055093799952e-01 -6.353379833438523e-01 -6.351698147827204e-01 -6.350010061497325e-01 - -6.348315596278746e-01 -6.346614776297652e-01 -6.344907627044540e-01 -6.343194173354602e-01 -6.341474433478579e-01 - -6.339748431233465e-01 -6.338016197812808e-01 -6.336277753787244e-01 -6.334533118997744e-01 -6.332782318265875e-01 - -6.331025376588558e-01 -6.329262316544187e-01 -6.327493157114107e-01 -6.325717923863455e-01 -6.323936643403999e-01 - -6.322149336030685e-01 -6.320356024195775e-01 -6.318556731749607e-01 -6.316751480498738e-01 -6.314940290711796e-01 - -6.313123183267710e-01 -6.311300184615836e-01 -6.309471319109403e-01 -6.307636607640942e-01 -6.305796070902886e-01 - -6.303949730482692e-01 -6.302097608691579e-01 -6.300239725606558e-01 -6.298376103756032e-01 -6.296506769748604e-01 - -6.294631743864889e-01 -6.292751044804592e-01 -6.290864694027335e-01 -6.288972714311484e-01 -6.287075127245377e-01 - -6.285171950849623e-01 -6.283263208775478e-01 -6.281348926187029e-01 -6.279429120773061e-01 -6.277503812180564e-01 - -6.275573022752827e-01 -6.273636774541002e-01 -6.271695087389834e-01 -6.269747979757735e-01 -6.267795473573458e-01 - -6.265837591630624e-01 -6.263874355834504e-01 -6.261905784094625e-01 -6.259931895045528e-01 -6.257952710369122e-01 - -6.255968250363517e-01 -6.253978534898084e-01 -6.251983584520242e-01 -6.249983420853732e-01 -6.247978064572296e-01 - -6.245967533125147e-01 -6.243951846742302e-01 -6.241931026018996e-01 -6.239905086686763e-01 -6.237874050561640e-01 - -6.235837942608177e-01 -6.233796778475696e-01 -6.231750576026635e-01 -6.229699356978790e-01 -6.227643140512986e-01 - -6.225581944126894e-01 -6.223515785171654e-01 -6.221444686516174e-01 -6.219368669106876e-01 -6.217287748516653e-01 - -6.215201944179222e-01 -6.213111276341791e-01 -6.211015763012264e-01 -6.208915420627059e-01 -6.206810267189914e-01 - -6.204700325606027e-01 -6.202585614407183e-01 -6.200466150025669e-01 -6.198341952555039e-01 -6.196213039807257e-01 - -6.194079427661365e-01 -6.191941133919308e-01 -6.189798178811384e-01 -6.187650583625046e-01 -6.185498365366234e-01 - -6.183341539791172e-01 -6.181180123373080e-01 -6.179014136693182e-01 -6.176843597571294e-01 -6.174668518753883e-01 - -6.172488922358068e-01 -6.170304830078728e-01 -6.168116255085183e-01 -6.165923213940302e-01 -6.163725725542526e-01 - -6.161523808379610e-01 -6.159317477445455e-01 -6.157106747923912e-01 -6.154891641891720e-01 -6.152672177134336e-01 - -6.150448367622374e-01 -6.148220230127394e-01 -6.145987783325538e-01 -6.143751045698781e-01 -6.141510029326600e-01 - -6.139264750393221e-01 -6.137015231470567e-01 -6.134761489851926e-01 -6.132503540152313e-01 -6.130241396532106e-01 - -6.127975076851865e-01 -6.125704598048077e-01 -6.123429972989166e-01 -6.121151221351967e-01 -6.118868363314907e-01 - -6.116581411278224e-01 -6.114290380220153e-01 -6.111995287783158e-01 -6.109696151823703e-01 -6.107392985450728e-01 - -6.105085801024925e-01 -6.102774622058419e-01 -6.100459465922933e-01 -6.098140342484372e-01 -6.095817267256873e-01 - -6.093490257933440e-01 -6.091159331809802e-01 -6.088824500709522e-01 -6.086485779905337e-01 -6.084143191489354e-01 - -6.081796748129595e-01 -6.079446461968719e-01 -6.077092351925356e-01 -6.074734432434898e-01 -6.072372716150822e-01 - -6.070007218360295e-01 -6.067637956065657e-01 -6.065264946232775e-01 -6.062888203126375e-01 -6.060507740692458e-01 - -6.058123573561740e-01 -6.055735718185850e-01 -6.053344188005130e-01 -6.050948994718379e-01 -6.048550157592759e-01 - -6.046147693250087e-01 -6.043741612917217e-01 -6.041331930896253e-01 -6.038918662688606e-01 -6.036501823335466e-01 - -6.034081424814672e-01 -6.031657481058161e-01 -6.029230011393863e-01 -6.026799028730719e-01 -6.024364544399844e-01 - -6.021926574869638e-01 -6.019485136055120e-01 -6.017040241022006e-01 -6.014591897708976e-01 -6.012140122415236e-01 - -6.009684936432825e-01 -6.007226351565053e-01 -6.004764378633045e-01 -6.002299030368295e-01 -5.999830322604393e-01 - -5.997358269112610e-01 -5.994882881008079e-01 -5.992404174674395e-01 -5.989922165630734e-01 -5.987436865327392e-01 - -5.984948286273432e-01 -5.982456442781595e-01 -5.979961350600861e-01 -5.977463018616249e-01 -5.974961457245347e-01 - -5.972456688462123e-01 -5.969948725706038e-01 -5.967437577688297e-01 -5.964923259025159e-01 -5.962405782771161e-01 - -5.959885160038786e-01 -5.957361402849749e-01 -5.954834525607696e-01 -5.952304544228757e-01 -5.949771471628894e-01 - -5.947235319540697e-01 -5.944696099654433e-01 -5.942153825546195e-01 -5.939608509107162e-01 -5.937060159741117e-01 - -5.934508794411635e-01 -5.931954428951332e-01 -5.929397071302310e-01 -5.926836734445704e-01 -5.924273432987167e-01 - -5.921707177793331e-01 -5.919137978828047e-01 -5.916565847753502e-01 -5.913990801532651e-01 -5.911412853604616e-01 - -5.908832013941032e-01 -5.906248293335863e-01 -5.903661704565201e-01 -5.901072261246485e-01 -5.898479972855557e-01 - -5.895884850905705e-01 -5.893286910470348e-01 -5.890686164387193e-01 -5.888082623596927e-01 -5.885476297953414e-01 - -5.882867200485414e-01 -5.880255342895034e-01 -5.877640732646211e-01 -5.875023385228563e-01 -5.872403317009627e-01 - -5.869780535979796e-01 -5.867155052441069e-01 -5.864526878805291e-01 -5.861896026754034e-01 -5.859262506932092e-01 - -5.856626329801135e-01 -5.853987507817091e-01 -5.851346053972879e-01 -5.848701980701103e-01 -5.846055297559873e-01 - -5.843406014627009e-01 -5.840754143260567e-01 -5.838099692919883e-01 -5.835442675863415e-01 -5.832783108438364e-01 - -5.830120998737411e-01 -5.827456354637697e-01 -5.824789190313094e-01 -5.822119517157962e-01 -5.819447343999242e-01 - -5.816772678604962e-01 -5.814095534384316e-01 -5.811415926659900e-01 -5.808733865100626e-01 -5.806049358083534e-01 - -5.803362414940428e-01 -5.800673049021045e-01 -5.797981269727348e-01 -5.795287083747186e-01 -5.792590507223763e-01 - -5.789891553127540e-01 -5.787190227795775e-01 -5.784486540773595e-01 -5.781780503537821e-01 -5.779072127885909e-01 - -5.776361421027820e-01 -5.773648392415993e-01 -5.770933058481036e-01 -5.768215427543451e-01 -5.765495506173008e-01 - -5.762773307782053e-01 -5.760048843724456e-01 -5.757322122309633e-01 -5.754593149355522e-01 -5.751861936930261e-01 - -5.749128500443350e-01 -5.746392847733658e-01 -5.743654986749642e-01 -5.740914927526973e-01 -5.738172681170074e-01 - -5.735428256834612e-01 -5.732681661997935e-01 -5.729932909950833e-01 -5.727182011898047e-01 -5.724428973589288e-01 - -5.721673806475209e-01 -5.718916522032619e-01 -5.716157126986885e-01 -5.713395629769044e-01 -5.710632040862346e-01 - -5.707866372440725e-01 -5.705098634203313e-01 -5.702328834166335e-01 -5.699556980810941e-01 -5.696783084118523e-01 - -5.694007154024264e-01 -5.691229196446771e-01 -5.688449222662509e-01 -5.685667247951188e-01 -5.682883277592247e-01 - -5.680097317796297e-01 -5.677309379467054e-01 -5.674519473718960e-01 -5.671727608332666e-01 -5.668933787438524e-01 - -5.666138024324125e-01 -5.663340332775648e-01 -5.660540719736767e-01 -5.657739191147048e-01 -5.654935755198692e-01 - -5.652130424887296e-01 -5.649323205844615e-01 -5.646514102596061e-01 -5.643703131320561e-01 -5.640890302500955e-01 - -5.638075621229782e-01 -5.635259096013298e-01 -5.632440735413435e-01 -5.629620547371306e-01 -5.626798540413637e-01 - -5.623974724401825e-01 -5.621149109968532e-01 -5.618321704141040e-01 -5.615492514232792e-01 -5.612661549867731e-01 - -5.609828820346520e-01 -5.606994332802816e-01 -5.604158091721365e-01 -5.601320109850756e-01 -5.598480400285579e-01 - -5.595638966628304e-01 -5.592795815381203e-01 -5.589950956088516e-01 -5.587104398719418e-01 -5.584256150214867e-01 - -5.581406216413944e-01 -5.578554608147975e-01 -5.575701335442586e-01 -5.572846406020895e-01 -5.569989825973618e-01 - -5.567131602740183e-01 -5.564271745453506e-01 -5.561410260628522e-01 -5.558547156725416e-01 -5.555682445647333e-01 - -5.552816133007876e-01 -5.549948224318785e-01 -5.547078730025937e-01 -5.544207659049382e-01 -5.541335017868810e-01 - -5.538460810525171e-01 -5.535585047530838e-01 -5.532707741030544e-01 -5.529828895161875e-01 -5.526948516856666e-01 - -5.524066615722431e-01 -5.521183198617187e-01 -5.518298271294942e-01 -5.515411840216864e-01 -5.512523916981388e-01 - -5.509634510475757e-01 -5.506743625070015e-01 -5.503851268106821e-01 -5.500957448096843e-01 -5.498062173123895e-01 - -5.495165448046009e-01 -5.492267279674086e-01 -5.489367680360671e-01 -5.486466657159732e-01 -5.483564214808752e-01 - -5.480660360175322e-01 -5.477755101695411e-01 -5.474848446983241e-01 -5.471940399297857e-01 -5.469030967097296e-01 - -5.466120162347039e-01 -5.463207992130580e-01 -5.460294461220425e-01 -5.457379574365921e-01 -5.454463341419615e-01 - -5.451545769787555e-01 -5.448626863052353e-01 -5.445706629798505e-01 -5.442785079610155e-01 -5.439862220351145e-01 - -5.436938056623958e-01 -5.434012594168094e-01 -5.431085842649811e-01 -5.428157805859503e-01 -5.425228488112607e-01 - -5.422297902211034e-01 -5.419366056396356e-01 -5.416432955189590e-01 -5.413498603513526e-01 -5.410563008101139e-01 - -5.407626176406882e-01 -5.404688113584152e-01 -5.401748827259091e-01 -5.398808327262222e-01 -5.395866619984641e-01 - -5.392923710452394e-01 -5.389979603718316e-01 -5.387034307479797e-01 -5.384087828255361e-01 -5.381140170098579e-01 - -5.378191341794292e-01 -5.375241352697128e-01 -5.372290208939874e-01 -5.369337913756430e-01 -5.366384472427702e-01 - -5.363429897090184e-01 -5.360474189692397e-01 -5.357517350808286e-01 -5.354559397287709e-01 -5.351600336380363e-01 - -5.348640167550405e-01 -5.345678898586708e-01 -5.342716537895550e-01 -5.339753091509816e-01 -5.336788560795809e-01 - -5.333822952812678e-01 -5.330856281219807e-01 -5.327888549366336e-01 -5.324919760228772e-01 -5.321949921530423e-01 - -5.318979038948367e-01 -5.316007117591099e-01 -5.313034163655616e-01 -5.310060185016283e-01 -5.307085188690476e-01 - -5.304109178113635e-01 -5.301132159560333e-01 -5.298154141057816e-01 -5.295175129068631e-01 -5.292195125739295e-01 - -5.289214133220888e-01 -5.286232164928936e-01 -5.283249229043371e-01 -5.280265326905970e-01 -5.277280463629660e-01 - -5.274294646406563e-01 -5.271307882435877e-01 -5.268320172699235e-01 -5.265331522204252e-01 -5.262341943956992e-01 - -5.259351442515741e-01 -5.256360020246456e-01 -5.253367683007200e-01 -5.250374438802079e-01 -5.247380293156688e-01 - -5.244385244793137e-01 -5.241389303158239e-01 -5.238392481089597e-01 -5.235394779437145e-01 -5.232396201567239e-01 - -5.229396754457293e-01 -5.226396444439171e-01 -5.223395275325885e-01 -5.220393250130385e-01 -5.217390378529512e-01 - -5.214386667612969e-01 -5.211382119631184e-01 -5.208376739941909e-01 -5.205370535049869e-01 -5.202363510969753e-01 - -5.199355670763710e-01 -5.196347019022574e-01 -5.193337564915598e-01 -5.190327313042545e-01 -5.187316266472318e-01 - -5.184304431068453e-01 -5.181291813913007e-01 -5.178278420262173e-01 -5.175264249304404e-01 -5.172249309061349e-01 - -5.169233612064826e-01 -5.166217158673360e-01 -5.163199951550123e-01 -5.160181998004911e-01 -5.157163303784532e-01 - -5.154143871836301e-01 -5.151123703899823e-01 -5.148102810445049e-01 -5.145081200022412e-01 -5.142058873966443e-01 - -5.139035834879907e-01 -5.136012088439446e-01 -5.132987643470369e-01 -5.129962500176725e-01 -5.126936660139045e-01 - -5.123910137907831e-01 -5.120882937169244e-01 -5.117855056864241e-01 -5.114826505830118e-01 -5.111797289351894e-01 - -5.108767409175631e-01 -5.105736869791608e-01 -5.102705678009448e-01 -5.099673841164564e-01 -5.096641361609235e-01 - -5.093608243087677e-01 -5.090574492425100e-01 -5.087540114820200e-01 -5.084505112619658e-01 -5.081469486274651e-01 - -5.078433245912960e-01 -5.075396400795943e-01 -5.072358951124865e-01 -5.069320899536702e-01 -5.066282251477461e-01 - -5.063243014155288e-01 -5.060203189866231e-01 -5.057162780382299e-01 -5.054121795257869e-01 -5.051080240346536e-01 - -5.048038117428125e-01 -5.044995428560932e-01 -5.041952179946867e-01 -5.038908379779851e-01 -5.035864027540428e-01 - -5.032819126747086e-01 -5.029773687584369e-01 -5.026727713803431e-01 -5.023681207203433e-01 -5.020634170773620e-01 - -5.017586611304518e-01 -5.014538534087800e-01 -5.011489939472488e-01 -5.008440834008399e-01 -5.005391225202214e-01 - -5.002341114848970e-01 -4.999290507534227e-01 -4.996239408965545e-01 -4.993187821357916e-01 -4.990135746184980e-01 - -4.987083187010172e-01 -4.984030154770353e-01 -4.980976654859903e-01 -4.977922686591017e-01 -4.974868253646026e-01 - -4.971813362150598e-01 -4.968758018164073e-01 -4.965702219796178e-01 -4.962645970518764e-01 -4.959589283986423e-01 - -4.956532161259331e-01 -4.953474601672504e-01 -4.950416611894621e-01 -4.947358197709370e-01 -4.944299362131679e-01 - -4.941240104625670e-01 -4.938180432013966e-01 -4.935120353360559e-01 -4.932059869696777e-01 -4.928998983832586e-01 - -4.925937700937396e-01 -4.922876025288242e-01 -4.919813957951697e-01 -4.916751499430368e-01 -4.913688660561277e-01 - -4.910625447982750e-01 -4.907561860728009e-01 -4.904497902858990e-01 -4.901433579647613e-01 -4.898368894758774e-01 - -4.895303847877975e-01 -4.892238442443610e-01 -4.889172690570770e-01 -4.886106594399146e-01 -4.883040152916479e-01 - -4.879973371198497e-01 -4.876906255185612e-01 -4.873838808516193e-01 -4.870771028969680e-01 -4.867702923235035e-01 - -4.864634502410182e-01 -4.861565765237592e-01 -4.858496713307078e-01 -4.855427352755911e-01 -4.852357685536697e-01 - -4.849287714451036e-01 -4.846217444589359e-01 -4.843146879997467e-01 -4.840076025123002e-01 -4.837004885060202e-01 - -4.833933461066379e-01 -4.830861755003688e-01 -4.827789772517898e-01 -4.824717516127337e-01 -4.821644988235214e-01 - -4.818572195031119e-01 -4.815499140763169e-01 -4.812425828318353e-01 -4.809352261296052e-01 -4.806278443199989e-01 - -4.803204376463540e-01 -4.800130060714603e-01 -4.797055501717924e-01 -4.793980709573083e-01 -4.790905684347367e-01 - -4.787830426340720e-01 -4.784754939887473e-01 -4.781679231200341e-01 -4.778603302286951e-01 -4.775527150015833e-01 - -4.772450784284375e-01 -4.769374213667171e-01 -4.766297434623847e-01 -4.763220450397429e-01 -4.760143266869929e-01 - -4.757065886153464e-01 -4.753988310011543e-01 -4.750910541528841e-01 -4.747832586964973e-01 -4.744754450010169e-01 - -4.741676132522562e-01 -4.738597638648681e-01 -4.735518971269201e-01 -4.732440131603057e-01 -4.729361121339242e-01 - -4.726281945136708e-01 -4.723202610280838e-01 -4.720123119889466e-01 -4.717043475548789e-01 -4.713963678930571e-01 - -4.710883732580126e-01 -4.707803639362851e-01 -4.704723402372425e-01 -4.701643027667922e-01 -4.698562520096238e-01 - -4.695481878708884e-01 -4.692401107063794e-01 -4.689320210638210e-01 -4.686239190614940e-01 -4.683158048406638e-01 - -4.680076787162389e-01 -4.676995413185929e-01 -4.673913930202820e-01 -4.670832339045677e-01 -4.667750641928977e-01 - -4.664668842720264e-01 -4.661586945788764e-01 -4.658504950199774e-01 -4.655422858974875e-01 -4.652340682220931e-01 - -4.649258420178881e-01 -4.646176071935555e-01 -4.643093642460228e-01 -4.640011135361189e-01 -4.636928552533583e-01 - -4.633845894780055e-01 -4.630763167063440e-01 -4.627680375263447e-01 -4.624597520114774e-01 -4.621514604268375e-01 - -4.618431632080228e-01 -4.615348605890552e-01 -4.612265525685530e-01 -4.609182391698630e-01 -4.606099213200685e-01 - -4.603015994943055e-01 -4.599932734377760e-01 -4.596849434943749e-01 -4.593766101319814e-01 -4.590682736286037e-01 - -4.587599339472412e-01 -4.584515913122191e-01 -4.581432465762054e-01 -4.578348999443045e-01 -4.575265513883392e-01 - -4.572182012155285e-01 -4.569098498253546e-01 -4.566014974456956e-01 -4.562931438038699e-01 -4.559847894939479e-01 - -4.556764355440957e-01 -4.553680818446301e-01 -4.550597283221777e-01 -4.547513752454754e-01 -4.544430231318768e-01 - -4.541346721146189e-01 -4.538263219879204e-01 -4.535179736207505e-01 -4.532096276207381e-01 -4.529012837320638e-01 - -4.525929421989657e-01 -4.522846033793929e-01 -4.519762674029318e-01 -4.516679344715044e-01 -4.513596049388520e-01 - -4.510512793496801e-01 -4.507429578901284e-01 -4.504346405869434e-01 -4.501263277269192e-01 -4.498180196893253e-01 - -4.495097167463535e-01 -4.492014186979058e-01 -4.488931259139300e-01 -4.485848392328776e-01 -4.482765586745183e-01 - -4.479682843350483e-01 -4.476600166157323e-01 -4.473517555800268e-01 -4.470435013321629e-01 -4.467352542154915e-01 - -4.464270145748750e-01 -4.461187827567155e-01 -4.458105590951706e-01 -4.455023436689998e-01 -4.451941365719282e-01 - -4.448859382022067e-01 -4.445777486373541e-01 -4.442695679571050e-01 -4.439613968717006e-01 -4.436532356916815e-01 - -4.433450843880059e-01 -4.430369431657580e-01 -4.427288122616561e-01 -4.424206918620519e-01 -4.421125820372482e-01 - -4.418044832064567e-01 -4.414963960811867e-01 -4.411883204960218e-01 -4.408802564087612e-01 -4.405722043668788e-01 - -4.402641646390490e-01 -4.399561373068210e-01 -4.396481224088197e-01 -4.393401203468038e-01 -4.390321316119934e-01 - -4.387241564347777e-01 -4.384161947343386e-01 -4.381082465266398e-01 -4.378003125430411e-01 -4.374923928277115e-01 - -4.371844871230922e-01 -4.368765963346815e-01 -4.365687207997857e-01 -4.362608601883623e-01 -4.359530147661063e-01 - -4.356451849773876e-01 -4.353373711547212e-01 -4.350295729831375e-01 -4.347217906709347e-01 -4.344140253247259e-01 - -4.341062767701542e-01 -4.337985447574569e-01 -4.334908298973194e-01 -4.331831324142745e-01 -4.328754522838512e-01 - -4.325677895304312e-01 -4.322601446380396e-01 -4.319525182069930e-01 -4.316449103351276e-01 -4.313373209430619e-01 - -4.310297500384340e-01 -4.307221981580691e-01 -4.304146654764764e-01 -4.301071518609876e-01 -4.297996578556980e-01 - -4.294921838432407e-01 -4.291847298181669e-01 -4.288772959356691e-01 -4.285698824691314e-01 -4.282624896947286e-01 - -4.279551173581843e-01 -4.276477655542056e-01 -4.273404353166645e-01 -4.270331268873108e-01 -4.267258400671970e-01 - -4.264185747737768e-01 -4.261113314513503e-01 -4.258041105111009e-01 -4.254969114260224e-01 -4.251897346526543e-01 - -4.248825811839114e-01 -4.245754507348872e-01 -4.242683433304872e-01 -4.239612594489042e-01 -4.236541990429175e-01 - -4.233471621233121e-01 -4.230401489624036e-01 -4.227331599159186e-01 -4.224261953202194e-01 -4.221192554076946e-01 - -4.218123401221037e-01 -4.215054495276057e-01 -4.211985840665567e-01 -4.208917437341202e-01 -4.205849285470991e-01 - -4.202781391077526e-01 -4.199713756820169e-01 -4.196646382796324e-01 -4.193579269625680e-01 -4.190512419898234e-01 - -4.187445835885104e-01 -4.184379514023820e-01 -4.181313458657921e-01 -4.178247679943504e-01 -4.175182174706034e-01 - -4.172116941638125e-01 -4.169051985589959e-01 -4.165987308801878e-01 -4.162922910262470e-01 -4.159858787333477e-01 - -4.156794948456864e-01 -4.153731400237493e-01 -4.150668138055245e-01 -4.147605162480433e-01 -4.144542477033889e-01 - -4.141480084083939e-01 -4.138417983331389e-01 -4.135356175072968e-01 -4.132294665425894e-01 -4.129233456523720e-01 - -4.126172547353913e-01 -4.123111939769975e-01 -4.120051637027982e-01 -4.116991641480549e-01 -4.113931948631621e-01 - -4.110872561089984e-01 -4.107813489720965e-01 -4.104754732505308e-01 -4.101696286974395e-01 -4.098638156566466e-01 - -4.095580344057681e-01 -4.092522850492459e-01 -4.089465675148873e-01 -4.086408821301867e-01 -4.083352292811099e-01 - -4.080296090087697e-01 -4.077240214925531e-01 -4.074184669621912e-01 -4.071129454474836e-01 -4.068074568206541e-01 - -4.065020011172992e-01 -4.061965792344674e-01 -4.058911914234347e-01 -4.055858372701102e-01 -4.052805169731385e-01 - -4.049752308691225e-01 -4.046699791746853e-01 -4.043647616984872e-01 -4.040595785275335e-01 -4.037544302850327e-01 - -4.034493171430220e-01 -4.031442391412985e-01 -4.028391964411297e-01 -4.025341890399178e-01 -4.022292169515432e-01 - -4.019242804318620e-01 -4.016193797575413e-01 -4.013145151618574e-01 -4.010096867767989e-01 -4.007048946739946e-01 - -4.004001389575452e-01 -4.000954199442892e-01 -3.997907376333255e-01 -3.994860918450180e-01 -3.991814831388100e-01 - -3.988769118682245e-01 -3.985723779299208e-01 -3.982678813725196e-01 -3.979634224118638e-01 -3.976590013430957e-01 - -3.973546179557737e-01 -3.970502723184750e-01 -3.967459652757308e-01 -3.964416967373386e-01 -3.961374664325438e-01 - -3.958332748416728e-01 -3.955291221412219e-01 -3.952250082276700e-01 -3.949209329883424e-01 -3.946168969005399e-01 - -3.943129006192436e-01 -3.940089438207542e-01 -3.937050264421336e-01 -3.934011488327164e-01 -3.930973111392007e-01 - -3.927935133510078e-01 -3.924897554398895e-01 -3.921860379028622e-01 -3.918823611410527e-01 -3.915787251272155e-01 - -3.912751296302741e-01 -3.909715747221262e-01 -3.906680610479274e-01 -3.903645884467465e-01 -3.900611567141484e-01 - -3.897577665105899e-01 -3.894544180732338e-01 -3.891511112918067e-01 -3.888478460867855e-01 -3.885446227676595e-01 - -3.882414417069796e-01 -3.879383024897914e-01 -3.876352053351357e-01 -3.873321510269954e-01 -3.870291394376005e-01 - -3.867261704550462e-01 -3.864232442776043e-01 -3.861203610538394e-01 -3.858175208256477e-01 -3.855147235659399e-01 - -3.852119696012977e-01 -3.849092593053318e-01 -3.846065928280623e-01 -3.843039700003283e-01 -3.840013907871894e-01 - -3.836988557264463e-01 -3.833963646642737e-01 -3.830939173673272e-01 -3.827915146861536e-01 -3.824891567344230e-01 - -3.821868431312930e-01 -3.818845742897094e-01 -3.815823505036508e-01 -3.812801717050347e-01 -3.809780375081945e-01 - -3.806759481537249e-01 -3.803739045452896e-01 -3.800719066553854e-01 -3.797699542729503e-01 -3.794680474344709e-01 - -3.791661864151066e-01 -3.788643713579414e-01 -3.785626020610045e-01 -3.782608787892401e-01 -3.779592019649877e-01 - -3.776575717504184e-01 -3.773559879986245e-01 -3.770544506277551e-01 -3.767529601718599e-01 -3.764515165488658e-01 - -3.761501194541416e-01 -3.758487697291592e-01 -3.755474675286999e-01 -3.752462123142175e-01 -3.749450044400430e-01 - -3.746438442933219e-01 -3.743427319385532e-01 -3.740416670860849e-01 -3.737406497610264e-01 -3.734396805632812e-01 - -3.731387597991040e-01 -3.728378873981389e-01 -3.725370629746288e-01 -3.722362869751284e-01 -3.719355598195744e-01 - -3.716348809475082e-01 -3.713342505611615e-01 -3.710336692885385e-01 -3.707331373206220e-01 -3.704326544188714e-01 - -3.701322203470578e-01 -3.698318357923215e-01 -3.695315007664240e-01 -3.692312147431765e-01 -3.689309784821330e-01 - -3.686307923312130e-01 -3.683306558583173e-01 -3.680305692832940e-01 -3.677305328772401e-01 -3.674305466155561e-01 - -3.671306102835627e-01 -3.668307239979260e-01 -3.665308885123383e-01 -3.662311039528895e-01 -3.659313700864294e-01 - -3.656316867340536e-01 -3.653320542170925e-01 -3.650324728818179e-01 -3.647329423252613e-01 -3.644334627823841e-01 - -3.641340348652060e-01 -3.638346584224414e-01 -3.635353333854674e-01 -3.632360599381753e-01 -3.629368383087880e-01 - -3.626376683911322e-01 -3.623385498640058e-01 -3.620394834143431e-01 -3.617404694429358e-01 -3.614415075289109e-01 - -3.611425978472304e-01 -3.608437406892576e-01 -3.605449360396625e-01 -3.602461837170217e-01 -3.599474837636126e-01 - -3.596488368123176e-01 -3.593502429497555e-01 -3.590517019950174e-01 -3.587532141258951e-01 -3.584547794364419e-01 - -3.581563978967544e-01 -3.578580694598877e-01 -3.575597943932133e-01 -3.572615731273898e-01 -3.569634054963255e-01 - -3.566652915450074e-01 -3.563672316398869e-01 -3.560692255181004e-01 -3.557712730433470e-01 -3.554733745722332e-01 - -3.551755304325120e-01 -3.548777407381354e-01 -3.545800053200450e-01 -3.542823243820459e-01 -3.539846981602633e-01 - -3.536871265064687e-01 -3.533896092936707e-01 -3.530921466577667e-01 -3.527947392696623e-01 -3.524973870763591e-01 - -3.522000896417020e-01 -3.519028473926252e-01 -3.516056606257513e-01 -3.513085292624320e-01 -3.510114529438408e-01 - -3.507144318797571e-01 -3.504174668509267e-01 -3.501205576763053e-01 -3.498237041407538e-01 -3.495269064579332e-01 - -3.492301648012658e-01 -3.489334792023763e-01 -3.486368495320163e-01 -3.483402759532310e-01 -3.480437587608516e-01 - -3.477472981563033e-01 -3.474508940116457e-01 -3.471545462266357e-01 -3.468582552838557e-01 -3.465620210594309e-01 - -3.462658431862374e-01 -3.459697223261950e-01 -3.456736587298253e-01 -3.453776521244075e-01 -3.450817025977070e-01 - -3.447858103250944e-01 -3.444899754033867e-01 -3.441941976114102e-01 -3.438984770490408e-01 -3.436028143288083e-01 - -3.433072093931014e-01 -3.430116620696204e-01 -3.427161725111446e-01 -3.424207408695913e-01 -3.421253671506906e-01 - -3.418300511322294e-01 -3.415347931565998e-01 -3.412395936962896e-01 -3.409444525560181e-01 -3.406493696743920e-01 - -3.403543451949735e-01 -3.400593792856730e-01 -3.397644718554241e-01 -3.394696227303268e-01 -3.391748324448361e-01 - -3.388801012525273e-01 -3.385854289098167e-01 -3.382908154719833e-01 -3.379962610967925e-01 -3.377017658856785e-01 - -3.374073296405456e-01 -3.371129523992028e-01 -3.368186347618567e-01 -3.365243767275647e-01 -3.362301780997549e-01 - -3.359360390044588e-01 -3.356419595939377e-01 -3.353479398983790e-01 -3.350539796822969e-01 -3.347600792157354e-01 - -3.344662390001809e-01 -3.341724588683134e-01 -3.338787387386647e-01 -3.335850787505256e-01 -3.332914790393797e-01 - -3.329979395469141e-01 -3.327044601082655e-01 -3.324110411740308e-01 -3.321176830325031e-01 -3.318243854727410e-01 - -3.315311485033696e-01 -3.312379722613320e-01 -3.309448568815591e-01 -3.306518021855764e-01 -3.303588081394571e-01 - -3.300658753265905e-01 -3.297730038003383e-01 -3.294801933460689e-01 -3.291874440822869e-01 -3.288947561448500e-01 - -3.286021295596533e-01 -3.283095641084477e-01 -3.280170600152969e-01 -3.277246178092963e-01 -3.274322373144385e-01 - -3.271399184133136e-01 -3.268476612759387e-01 -3.265554660369243e-01 -3.262633326374516e-01 -3.259712608638953e-01 - -3.256792511518811e-01 -3.253873038511834e-01 -3.250954187049387e-01 -3.248035957166725e-01 -3.245118350464998e-01 - -3.242201368055027e-01 -3.239285008232202e-01 -3.236369270127419e-01 -3.233454159517716e-01 -3.230539677655248e-01 - -3.227625822208953e-01 -3.224712593689608e-01 -3.221799993547627e-01 -3.218888022707884e-01 -3.215976678728723e-01 - -3.213065962862219e-01 -3.210155880538063e-01 -3.207246430922022e-01 -3.204337612603162e-01 -3.201429426545060e-01 - -3.198521874188910e-01 -3.195614955407240e-01 -3.192708667833873e-01 -3.189803015317205e-01 -3.186898001852494e-01 - -3.183993624745159e-01 -3.181089883645859e-01 -3.178186780215274e-01 -3.175284315788672e-01 -3.172382488912609e-01 - -3.169481298117736e-01 -3.166580748847834e-01 -3.163680842820584e-01 -3.160781577505636e-01 -3.157882953403168e-01 - -3.154984971942622e-01 -3.152087634033934e-01 -3.149190937439705e-01 -3.146294882798918e-01 -3.143399475483734e-01 - -3.140504715109739e-01 -3.137610600081304e-01 -3.134717131245625e-01 -3.131824310053718e-01 -3.128932136614712e-01 - -3.126040608259110e-01 -3.123149728003283e-01 -3.120259500284038e-01 -3.117369923103007e-01 -3.114480995811182e-01 - -3.111592719695180e-01 -3.108705096041851e-01 -3.105818123704323e-01 -3.102931800853200e-01 -3.100046132424714e-01 - -3.097161120700553e-01 -3.094276763275429e-01 -3.091393060498078e-01 -3.088510013669117e-01 -3.085627623567511e-01 - -3.082745888090075e-01 -3.079864807413559e-01 -3.076984387104112e-01 -3.074104627037881e-01 -3.071225525229602e-01 - -3.068347082674415e-01 -3.065469300647063e-01 -3.062592179233167e-01 -3.059715715883658e-01 -3.056839913222955e-01 - -3.053964776128304e-01 -3.051090302429263e-01 -3.048216491115613e-01 -3.045343343664140e-01 -3.042470861256498e-01 - -3.039599042912569e-01 -3.036727886539801e-01 -3.033857396783212e-01 -3.030987576532087e-01 -3.028118423290159e-01 - -3.025249936916685e-01 -3.022382118572411e-01 -3.019514969324824e-01 -3.016648487319269e-01 -3.013782672163520e-01 - -3.010917529380510e-01 -3.008053059332530e-01 -3.005189259718208e-01 -3.002326131255288e-01 -2.999463675243501e-01 - -2.996601892115071e-01 -2.993740779431134e-01 -2.990880338991673e-01 -2.988020575697556e-01 -2.985161488129333e-01 - -2.982303074956766e-01 -2.979445337070337e-01 -2.976588275957710e-01 -2.973731891105994e-01 -2.970876179949718e-01 - -2.968021146693378e-01 -2.965166794729635e-01 -2.962313121299224e-01 -2.959460126205053e-01 -2.956607810824475e-01 - -2.953756176130727e-01 -2.950905220348498e-01 -2.948054942542040e-01 -2.945205348259674e-01 -2.942356438398593e-01 - -2.939508210351428e-01 -2.936660664737455e-01 -2.933813802767271e-01 -2.930967624892026e-01 -2.928122128931882e-01 - -2.925277316158055e-01 -2.922433191494531e-01 -2.919589753765323e-01 -2.916747001400424e-01 -2.913904935350139e-01 - -2.911063557118664e-01 -2.908222866434848e-01 -2.905382860439090e-01 -2.902543542778646e-01 -2.899704917370004e-01 - -2.896866981425306e-01 -2.894029734511842e-01 -2.891193178139609e-01 -2.888357313345801e-01 -2.885522138545054e-01 - -2.882687652243500e-01 -2.879853859636904e-01 -2.877020762131379e-01 -2.874188357014512e-01 -2.871356645025479e-01 - -2.868525627422169e-01 -2.865695304469716e-01 -2.862865673963798e-01 -2.860036736642309e-01 -2.857208497673618e-01 - -2.854380956360413e-01 -2.851554110854154e-01 -2.848727961880673e-01 -2.845902510831507e-01 -2.843077757793696e-01 - -2.840253700094237e-01 -2.837430340397069e-01 -2.834607682748240e-01 -2.831785725328111e-01 -2.828964467316310e-01 - -2.826143909542473e-01 -2.823324053101364e-01 -2.820504896922502e-01 -2.817686439371250e-01 -2.814868685136343e-01 - -2.812051636152371e-01 -2.809235289745332e-01 -2.806419646055033e-01 -2.803604706362606e-01 -2.800790471610514e-01 - -2.797976939416736e-01 -2.795164109639519e-01 -2.792351987736799e-01 -2.789540573481899e-01 -2.786729864814172e-01 - -2.783919862645312e-01 -2.781110567914744e-01 -2.778301980476193e-01 -2.775494098202491e-01 -2.772686923282846e-01 - -2.769880459823117e-01 -2.767074706347814e-01 -2.764269661749121e-01 -2.761465326612197e-01 -2.758661702373058e-01 - -2.755858788282252e-01 -2.753056582075042e-01 -2.750255088041456e-01 -2.747454308713073e-01 -2.744654241403574e-01 - -2.741854886058927e-01 -2.739056243892176e-01 -2.736258315782464e-01 -2.733461099674180e-01 -2.730664595012521e-01 - -2.727868807168794e-01 -2.725073736368404e-01 -2.722279380246611e-01 -2.719485739535283e-01 -2.716692815376729e-01 - -2.713900607905190e-01 -2.711109114418696e-01 -2.708318336740216e-01 -2.705528279896257e-01 -2.702738942089605e-01 - -2.699950321750810e-01 -2.697162419812612e-01 -2.694375237750356e-01 -2.691588774953904e-01 -2.688803028674867e-01 - -2.686018002777490e-01 -2.683233700490228e-01 -2.680450119322323e-01 -2.677667258920440e-01 -2.674885120321642e-01 - -2.672103704327183e-01 -2.669323009240009e-01 -2.666543034142266e-01 -2.663763784024609e-01 -2.660985259744725e-01 - -2.658207458961011e-01 -2.655430381891060e-01 -2.652654029648259e-01 -2.649878402880381e-01 -2.647103499069445e-01 - -2.644329319184849e-01 -2.641555868035665e-01 -2.638783144422805e-01 -2.636011146840161e-01 -2.633239876271375e-01 - -2.630469333706403e-01 -2.627699518665801e-01 -2.624930428881614e-01 -2.622162067361601e-01 -2.619394437425979e-01 - -2.616627537197243e-01 -2.613861365959049e-01 -2.611095924398818e-01 -2.608331213683194e-01 -2.605567232565551e-01 - -2.602803979638560e-01 -2.600041459185203e-01 -2.597279672559259e-01 -2.594518617711524e-01 -2.591758294668244e-01 - -2.588998704444723e-01 -2.586239847880919e-01 -2.583481722507706e-01 -2.580724328621725e-01 -2.577967671126083e-01 - -2.575211749406902e-01 -2.572456561780725e-01 -2.569702108956164e-01 -2.566948391959332e-01 -2.564195410517088e-01 - -2.561443162003717e-01 -2.558691649278121e-01 -2.555940876367002e-01 -2.553190840839927e-01 -2.550441541814838e-01 - -2.547692980445108e-01 -2.544945157803290e-01 -2.542198072584164e-01 -2.539451722830000e-01 -2.536706112997469e-01 - -2.533961245035316e-01 -2.531217116489478e-01 -2.528473727232912e-01 -2.525731078267265e-01 -2.522989170513077e-01 - -2.520248001810547e-01 -2.517507572028029e-01 -2.514767886096237e-01 -2.512028943623831e-01 -2.509290742545349e-01 - -2.506553283625735e-01 -2.503816568034038e-01 -2.501080595782905e-01 -2.498345364108095e-01 -2.495610875124447e-01 - -2.492877133133172e-01 -2.490144136112123e-01 -2.487411882994743e-01 -2.484680374856057e-01 -2.481949612635986e-01 - -2.479219595287280e-01 -2.476490320734136e-01 -2.473761793087864e-01 -2.471034014703498e-01 -2.468306982957061e-01 - -2.465580697844871e-01 -2.462855160432138e-01 -2.460130371204629e-01 -2.457406328233614e-01 -2.454683031113906e-01 - -2.451960484794311e-01 -2.449238689415910e-01 -2.446517642712055e-01 -2.443797345227543e-01 -2.441077797933181e-01 - -2.438359000947776e-01 -2.435640951889690e-01 -2.432923652315951e-01 -2.430207106571287e-01 -2.427491313175689e-01 - -2.424776270783986e-01 -2.422061980074125e-01 -2.419348442072336e-01 -2.416635656192684e-01 -2.413923620306189e-01 - -2.411212337762792e-01 -2.408501811283544e-01 -2.405792038734625e-01 -2.403083019688687e-01 -2.400374754936993e-01 - -2.397667245256450e-01 -2.394960488977194e-01 -2.392254485194238e-01 -2.389549238762380e-01 -2.386844750244205e-01 - -2.384141017100180e-01 -2.381438039886236e-01 -2.378735819631148e-01 -2.376034356560101e-01 -2.373333648418426e-01 - -2.370633696160408e-01 -2.367934504134751e-01 -2.365236071336530e-01 -2.362538396334552e-01 -2.359841479713349e-01 - -2.357145322333765e-01 -2.354449923780104e-01 -2.351755281955192e-01 -2.349061399838227e-01 -2.346368280467886e-01 - -2.343675921502802e-01 -2.340984322401892e-01 -2.338293484224673e-01 -2.335603407944267e-01 -2.332914091991481e-01 - -2.330225534791031e-01 -2.327537740958542e-01 -2.324850711724544e-01 -2.322164444575208e-01 -2.319478939696494e-01 - -2.316794198107119e-01 -2.314110220364787e-01 -2.311427004172850e-01 -2.308744549913938e-01 -2.306062862221652e-01 - -2.303381940399467e-01 -2.300701782673901e-01 -2.298022389505013e-01 -2.295343762055658e-01 -2.292665900251787e-01 - -2.289988801367178e-01 -2.287312467963517e-01 -2.284636903804389e-01 -2.281962106639611e-01 -2.279288075702767e-01 - -2.276614812041137e-01 -2.273942316314865e-01 -2.271270587234099e-01 -2.268599623216859e-01 -2.265929428586625e-01 - -2.263260004971463e-01 -2.260591349680134e-01 -2.257923462859340e-01 -2.255256345570404e-01 -2.252589998316905e-01 - -2.249924418873443e-01 -2.247259607239798e-01 -2.244595568451081e-01 -2.241932301870257e-01 -2.239269805236896e-01 - -2.236608079513920e-01 -2.233947125724077e-01 -2.231286943677930e-01 -2.228627530899186e-01 -2.225968889349937e-01 - -2.223311022938890e-01 -2.220653929888047e-01 -2.217997609137618e-01 -2.215342061492806e-01 -2.212687287997047e-01 - -2.210033287645195e-01 -2.207380058226258e-01 -2.204727603658667e-01 -2.202075926188733e-01 -2.199425023254976e-01 - -2.196774894791217e-01 -2.194125541827232e-01 -2.191476964953657e-01 -2.188829162198361e-01 -2.186182133017065e-01 - -2.183535882155842e-01 -2.180890409721393e-01 -2.178245713492862e-01 -2.175601793915103e-01 -2.172958651996608e-01 - -2.170316287941991e-01 -2.167674699222372e-01 -2.165033887351043e-01 -2.162393856655618e-01 -2.159754605317784e-01 - -2.157116131976179e-01 -2.154478437626437e-01 -2.151841523053365e-01 -2.149205387568082e-01 -2.146570029331132e-01 - -2.143935451423346e-01 -2.141301656253313e-01 -2.138668641770334e-01 -2.136036407648879e-01 -2.133404954698548e-01 - -2.130774283590253e-01 -2.128144392711416e-01 -2.125515281171839e-01 -2.122886953403734e-01 -2.120259409959825e-01 - -2.117632648531722e-01 -2.115006669388265e-01 -2.112381473557379e-01 -2.109757061544524e-01 -2.107133431005909e-01 - -2.104510582708100e-01 -2.101888520817322e-01 -2.099267244352251e-01 -2.096646751892664e-01 -2.094027043922436e-01 - -2.091408121382980e-01 -2.088789983898283e-01 -2.086172629233026e-01 -2.083556060294393e-01 -2.080940280081475e-01 - -2.078325286261216e-01 -2.075711078316715e-01 -2.073097657230958e-01 -2.070485023681648e-01 -2.067873176254528e-01 - -2.065262113703670e-01 -2.062651840261599e-01 -2.060042356935543e-01 -2.057433661320316e-01 -2.054825753736384e-01 - -2.052218635119340e-01 -2.049612305777034e-01 -2.047006763593381e-01 -2.044402009029163e-01 -2.041798046444743e-01 - -2.039194875091236e-01 -2.036592493288050e-01 -2.033990901597007e-01 -2.031390101041152e-01 -2.028790091364410e-01 - -2.026190869860804e-01 -2.023592439213894e-01 -2.020994803209571e-01 -2.018397959336108e-01 -2.015801906636277e-01 - -2.013206646163115e-01 -2.010612178968381e-01 -2.008018503846473e-01 -2.005425618909167e-01 -2.002833527994660e-01 - -2.000242232866459e-01 -1.997651731545872e-01 -1.995062023757428e-01 -1.992473110134654e-01 -1.989884991329442e-01 - -1.987297665552775e-01 -1.984711132804359e-01 -1.982125397288479e-01 -1.979540458641874e-01 -1.976956315048893e-01 - -1.974372966986851e-01 -1.971790415364275e-01 -1.969208660181268e-01 -1.966627699138122e-01 -1.964047534115951e-01 - -1.961468168792641e-01 -1.958889601415059e-01 -1.956311830976701e-01 -1.953734858227050e-01 -1.951158683885618e-01 - -1.948583307060198e-01 -1.946008726082255e-01 -1.943434944554087e-01 -1.940861964418109e-01 -1.938289783248288e-01 - -1.935718400929853e-01 -1.933147818435645e-01 -1.930578036445209e-01 -1.928009053047615e-01 -1.925440867668252e-01 - -1.922873484836986e-01 -1.920306904586313e-01 -1.917741124759950e-01 -1.915176145882685e-01 -1.912611968971867e-01 - -1.910048594156118e-01 -1.907486018758652e-01 -1.904924244300230e-01 -1.902363275204000e-01 -1.899803109613821e-01 - -1.897243746214878e-01 -1.894685186111405e-01 -1.892127429944364e-01 -1.889570476814606e-01 -1.887014324762902e-01 - -1.884458977092228e-01 -1.881904436322386e-01 -1.879350700181010e-01 -1.876797768445363e-01 -1.874245641980662e-01 - -1.871694321106837e-01 -1.869143804464632e-01 -1.866594091449939e-01 -1.864045185802509e-01 -1.861497088150435e-01 - -1.858949796742653e-01 -1.856403311585743e-01 -1.853857633524328e-01 -1.851312763093270e-01 -1.848768697910832e-01 - -1.846225438828809e-01 -1.843682990131126e-01 -1.841141350478542e-01 -1.838600518410295e-01 -1.836060494900988e-01 - -1.833521280737523e-01 -1.830982875326949e-01 -1.828445276569093e-01 -1.825908487213151e-01 -1.823372510073639e-01 - -1.820837342990139e-01 -1.818302985608840e-01 -1.815769438919524e-01 -1.813236703339543e-01 -1.810704777470943e-01 - -1.808173660274447e-01 -1.805643355946649e-01 -1.803113865319381e-01 -1.800585185867421e-01 -1.798057318207557e-01 - -1.795530263298101e-01 -1.793004021140676e-01 -1.790478589821669e-01 -1.787953969871552e-01 -1.785430165333783e-01 - -1.782907175616041e-01 -1.780384999147782e-01 -1.777863636186671e-01 -1.775343087850783e-01 -1.772823354138563e-01 - -1.770304432439544e-01 -1.767786324996124e-01 -1.765269035206169e-01 -1.762752561209628e-01 -1.760236902365481e-01 - -1.757722059508868e-01 -1.755208033072168e-01 -1.752694821962465e-01 -1.750182424985018e-01 -1.747670845873172e-01 - -1.745160085943736e-01 -1.742650142826787e-01 -1.740141016708582e-01 -1.737632708599284e-01 -1.735125219002990e-01 - -1.732618545819516e-01 -1.730112688968157e-01 -1.727607652962038e-01 -1.725103437360838e-01 -1.722600040199003e-01 - -1.720097462053399e-01 -1.717595703957765e-01 -1.715094765937824e-01 -1.712594645505801e-01 -1.710095344617568e-01 - -1.707596867053610e-01 -1.705099210652020e-01 -1.702602374503936e-01 -1.700106359820640e-01 -1.697611167032507e-01 - -1.695116795170456e-01 -1.692623242857098e-01 -1.690130513415946e-01 -1.687638608735592e-01 -1.685147526839133e-01 - -1.682657267304136e-01 -1.680167830834059e-01 -1.677679218434041e-01 -1.675191428301483e-01 -1.672704459776749e-01 - -1.670218317162355e-01 -1.667733000505553e-01 -1.665248507843929e-01 -1.662764839848620e-01 -1.660281997331086e-01 - -1.657799980211539e-01 -1.655318786421316e-01 -1.652838417439954e-01 -1.650358877061586e-01 -1.647880163635810e-01 - -1.645402275978841e-01 -1.642925215033296e-01 -1.640448981629310e-01 -1.637973575048030e-01 -1.635498993322754e-01 - -1.633025239587731e-01 -1.630552316214122e-01 -1.628080220971913e-01 -1.625608953706327e-01 -1.623138515347123e-01 - -1.620668906280902e-01 -1.618200125176413e-01 -1.615732171440627e-01 -1.613265048790783e-01 -1.610798757703294e-01 - -1.608333296326273e-01 -1.605868664946396e-01 -1.603404864451659e-01 -1.600941895233320e-01 -1.598479755194739e-01 - -1.596018445089071e-01 -1.593557968710357e-01 -1.591098325274174e-01 -1.588639513462271e-01 -1.586181533501567e-01 - -1.583724386633118e-01 -1.581268072684121e-01 -1.578812589110151e-01 -1.576357938605635e-01 -1.573904124176000e-01 - -1.571451143885420e-01 -1.568998997115455e-01 -1.566547684551118e-01 -1.564097207009810e-01 -1.561647563377750e-01 - -1.559198752534892e-01 -1.556750777971572e-01 -1.554303640753041e-01 -1.551857339241298e-01 -1.549411873472499e-01 - -1.546967244117141e-01 -1.544523451583313e-01 -1.542080493972972e-01 -1.539638371771692e-01 -1.537197089019022e-01 - -1.534756644902717e-01 -1.532317037874507e-01 -1.529878268669247e-01 -1.527440338285302e-01 -1.525003246495042e-01 - -1.522566990917994e-01 -1.520131573865194e-01 -1.517696998607227e-01 -1.515263263105132e-01 -1.512830366842278e-01 - -1.510398310896279e-01 -1.507967095609423e-01 -1.505536719818633e-01 -1.503107182379510e-01 -1.500678487166025e-01 - -1.498250635429138e-01 -1.495823624607518e-01 -1.493397455183047e-01 -1.490972128240516e-01 -1.488547643939502e-01 - -1.486124000468938e-01 -1.483701197975273e-01 -1.481279240643807e-01 -1.478858128086334e-01 -1.476437858541442e-01 - -1.474018432575297e-01 -1.471599850901578e-01 -1.469182113447434e-01 -1.466765218581870e-01 -1.464349167991909e-01 - -1.461933964691583e-01 -1.459519607332137e-01 -1.457106095126376e-01 -1.454693428712828e-01 -1.452281609001614e-01 - -1.449870635167667e-01 -1.447460505411944e-01 -1.445051223204885e-01 -1.442642790465533e-01 -1.440235204958664e-01 - -1.437828466645076e-01 -1.435422576460715e-01 -1.433017535021517e-01 -1.430613340788666e-01 -1.428209993367665e-01 - -1.425807496580667e-01 -1.423405850452980e-01 -1.421005053276286e-01 -1.418605105748216e-01 -1.416206008760722e-01 - -1.413807762310167e-01 -1.411410364179444e-01 -1.409013815814383e-01 -1.406618121114770e-01 -1.404223278620860e-01 - -1.401829287142080e-01 -1.399436147388266e-01 -1.397043860171121e-01 -1.394652424999606e-01 -1.392261840277533e-01 - -1.389872108800275e-01 -1.387483232704581e-01 -1.385095210193419e-01 -1.382708041155041e-01 -1.380321726381191e-01 - -1.377936266235328e-01 -1.375551659356028e-01 -1.373167905196480e-01 -1.370785007699294e-01 -1.368402967462084e-01 - -1.366021782602805e-01 -1.363641453151502e-01 -1.361261980034910e-01 -1.358883363925467e-01 -1.356505602730137e-01 - -1.354128697173978e-01 -1.351752651019714e-01 -1.349377463365720e-01 -1.347003133096952e-01 -1.344629660943524e-01 - -1.342257047644556e-01 -1.339885292721434e-01 -1.337514394288152e-01 -1.335144355004790e-01 -1.332775177574095e-01 - -1.330406860095451e-01 -1.328039402156265e-01 -1.325672804621033e-01 -1.323307068237664e-01 -1.320942191803451e-01 - -1.318578174250235e-01 -1.316215019436967e-01 -1.313852728254415e-01 -1.311491298574344e-01 -1.309130730812647e-01 - -1.306771025967214e-01 -1.304412184433993e-01 -1.302054204167683e-01 -1.299697085633917e-01 -1.297340833011096e-01 - -1.294985445422908e-01 -1.292630921400970e-01 -1.290277262032818e-01 -1.287924468024440e-01 -1.285572538860320e-01 - -1.283221472565841e-01 -1.280871271607027e-01 -1.278521939245786e-01 -1.276173473594251e-01 -1.273825873815436e-01 - -1.271479140654554e-01 -1.269133275291332e-01 -1.266788276689478e-01 -1.264444143112885e-01 -1.262100878411512e-01 - -1.259758484249543e-01 -1.257416958580221e-01 -1.255076301118343e-01 -1.252736512740011e-01 -1.250397594556589e-01 - -1.248059544551782e-01 -1.245722362561283e-01 -1.243386053032582e-01 -1.241050615437150e-01 -1.238716047916152e-01 - -1.236382351439431e-01 -1.234049527007845e-01 -1.231717574487822e-01 -1.229386491649988e-01 -1.227056280466961e-01 - -1.224726944551588e-01 -1.222398481939305e-01 -1.220070891810755e-01 -1.217744175349468e-01 -1.215418333321439e-01 - -1.213093364896874e-01 -1.210769268543440e-01 -1.208446047468073e-01 -1.206123703546746e-01 -1.203802234985189e-01 - -1.201481641556592e-01 -1.199161924040098e-01 -1.196843083373426e-01 -1.194525118101599e-01 -1.192208027778711e-01 - -1.189891816158967e-01 -1.187576483334740e-01 -1.185262027772708e-01 -1.182948450325541e-01 -1.180635751718018e-01 - -1.178323931740712e-01 -1.176012988598141e-01 -1.173702923768903e-01 -1.171393740841554e-01 -1.169085438684581e-01 - -1.166778016318426e-01 -1.164471474323627e-01 -1.162165813372163e-01 -1.159861033094216e-01 -1.157557132288848e-01 - -1.155254113554128e-01 -1.152951978878259e-01 -1.150650726784410e-01 -1.148350356935617e-01 -1.146050869998271e-01 - -1.143752266983624e-01 -1.141454546633286e-01 -1.139157708150553e-01 -1.136861755297615e-01 -1.134566688685596e-01 - -1.132272506625232e-01 -1.129979209389772e-01 -1.127686797968139e-01 -1.125395272939830e-01 -1.123104632216639e-01 - -1.120814876598629e-01 -1.118526009932446e-01 -1.116238031362107e-01 -1.113950939743172e-01 -1.111664735714766e-01 - -1.109379420230661e-01 -1.107094992989161e-01 -1.104811452047023e-01 -1.102528800189790e-01 -1.100247040176238e-01 - -1.097966169898620e-01 -1.095686189066022e-01 -1.093407098806465e-01 -1.091128899944971e-01 -1.088851591239916e-01 - -1.086575171512236e-01 -1.084299644451029e-01 -1.082025011238454e-01 -1.079751270251657e-01 -1.077478421434466e-01 - -1.075206465724022e-01 -1.072935404061887e-01 -1.070665234272605e-01 -1.068395956686409e-01 -1.066127575621145e-01 - -1.063860090403522e-01 -1.061593499609373e-01 -1.059327804074918e-01 -1.057063004552603e-01 -1.054799100848440e-01 - -1.052536091459819e-01 -1.050273978363624e-01 -1.048012764247322e-01 -1.045752447992682e-01 -1.043493029044653e-01 - -1.041234507912105e-01 -1.038976885616201e-01 -1.036720161437409e-01 -1.034464334142674e-01 -1.032209407082870e-01 - -1.029955381585720e-01 -1.027702255852857e-01 -1.025450030256683e-01 -1.023198705766582e-01 -1.020948282803886e-01 - -1.018698759615270e-01 -1.016450136357437e-01 -1.014202417243671e-01 -1.011955602054591e-01 -1.009709689162001e-01 - -1.007464679013254e-01 -1.005220572777319e-01 -1.002977370772110e-01 -1.000735070732387e-01 -9.984936745539402e-02 - -9.962531858349888e-02 -9.940136027998529e-02 -9.917749246814733e-02 -9.895371525770333e-02 -9.873002873335845e-02 - -9.850643282337790e-02 -9.828292738770521e-02 -9.805951276903688e-02 -9.783618914357473e-02 -9.761295629040607e-02 - -9.738981424317925e-02 -9.716676311420755e-02 -9.694380293900719e-02 -9.672093359332221e-02 -9.649815506782670e-02 - -9.627546771326484e-02 -9.605287156919239e-02 -9.583036651098850e-02 -9.560795255252680e-02 -9.538562978098189e-02 - -9.516339824129488e-02 -9.494125774199282e-02 -9.471920843970391e-02 -9.449725071216948e-02 -9.427538438593883e-02 - -9.405360936874554e-02 -9.383192580278800e-02 -9.361033376064058e-02 -9.338883317577901e-02 -9.316742389906425e-02 - -9.294610622995669e-02 -9.272488039403920e-02 -9.250374621386263e-02 -9.228270367992475e-02 -9.206175287916113e-02 - -9.184089387273792e-02 -9.162012656935895e-02 -9.139945093572596e-02 -9.117886729658348e-02 -9.095837571294788e-02 - -9.073797605928635e-02 -9.051766837713708e-02 -9.029745274779008e-02 -9.007732920697027e-02 -8.985729759887780e-02 - -8.963735802530043e-02 -8.941751083887589e-02 -8.919775594907166e-02 -8.897809325953572e-02 -8.875852286193828e-02 - -8.853904483959285e-02 -8.831965916578795e-02 -8.810036569419880e-02 -8.788116467295366e-02 -8.766205635082600e-02 - -8.744304058057480e-02 -8.722411733824492e-02 -8.700528670561582e-02 -8.678654875532379e-02 -8.656790339361393e-02 - -8.634935054757228e-02 -8.613089058374623e-02 -8.591252359970507e-02 -8.569424942256174e-02 -8.547606809595372e-02 - -8.525797972327777e-02 -8.503998436304407e-02 -8.482208183975883e-02 -8.460427219735964e-02 -8.438655581333676e-02 - -8.416893266387415e-02 -8.395140264416648e-02 -8.373396580036768e-02 -8.351662221748458e-02 -8.329937190808817e-02 - -8.308221474187347e-02 -8.286515089972675e-02 -8.264818063381729e-02 -8.243130387381740e-02 -8.221452057360500e-02 - -8.199783077068876e-02 -8.178123458056528e-02 -8.156473193866548e-02 -8.134832272179610e-02 -8.113200727104515e-02 - -8.091578573554094e-02 -8.069965795549490e-02 -8.048362394306618e-02 -8.026768379237301e-02 -8.005183759034226e-02 - -7.983608519016389e-02 -7.962042660317335e-02 -7.940486220827629e-02 -7.918939199917317e-02 -7.897401585103307e-02 - -7.875873382193239e-02 -7.854354599947752e-02 -7.832845240531904e-02 -7.811345290511561e-02 -7.789854765910142e-02 - -7.768373695009409e-02 -7.746902070156129e-02 -7.725439886068521e-02 -7.703987147751143e-02 -7.682543865920169e-02 - -7.661110037032860e-02 -7.639685648697914e-02 -7.618270730319152e-02 -7.596865299784139e-02 -7.575469343456721e-02 - -7.554082861289950e-02 -7.532705861915691e-02 -7.511338355056779e-02 -7.489980327273796e-02 -7.468631776375068e-02 - -7.447292742489155e-02 -7.425963225373161e-02 -7.404643208981297e-02 -7.383332706618533e-02 -7.362031725942129e-02 - -7.340740264369265e-02 -7.319458312424655e-02 -7.298185885257603e-02 -7.276923011698885e-02 -7.255669681825400e-02 - -7.234425890125808e-02 -7.213191646645117e-02 -7.191966959969415e-02 -7.170751827394115e-02 -7.149546237742448e-02 - -7.128350216363183e-02 -7.107163782537941e-02 -7.085986923051370e-02 -7.064819639413342e-02 -7.043661941815849e-02 - -7.022513838389523e-02 -7.001375316964638e-02 -6.980246372359999e-02 -6.959127044971054e-02 -6.938017339783993e-02 - -6.916917238807876e-02 -6.895826751099868e-02 -6.874745887832359e-02 -6.853674652264935e-02 -6.832613029387129e-02 - -6.811561029537151e-02 -6.790518687416305e-02 -6.769485994872884e-02 -6.748462944761908e-02 -6.727449549181348e-02 - -6.706445814195625e-02 -6.685451736224034e-02 -6.664467305023641e-02 -6.643492546019260e-02 -6.622527482862205e-02 - -6.601572100856345e-02 -6.580626400049541e-02 -6.559690390732385e-02 -6.538764078471235e-02 -6.517847455920224e-02 - -6.496940519404462e-02 -6.476043303620643e-02 -6.455155816426872e-02 -6.434278041275177e-02 -6.413409988235154e-02 - -6.392551667227454e-02 -6.371703078482928e-02 -6.350864213121965e-02 -6.330035079826633e-02 -6.309215709125325e-02 - -6.288406097171770e-02 -6.267606236590158e-02 -6.246816137578116e-02 -6.226035810132791e-02 -6.205265253482506e-02 - -6.184504450634240e-02 -6.163753424009603e-02 -6.143012204113525e-02 -6.122280779495761e-02 -6.101559145710207e-02 - -6.080847310111580e-02 -6.060145284620669e-02 -6.039453063876327e-02 -6.018770637541451e-02 -5.998098039534337e-02 - -5.977435284136760e-02 -5.956782355675167e-02 -5.936139258218223e-02 -5.915506002510895e-02 -5.894882595975996e-02 - -5.874269025717062e-02 -5.853665294379332e-02 -5.833071438748900e-02 -5.812487459491447e-02 -5.791913345983549e-02 - -5.771349104248068e-02 -5.750794745476003e-02 -5.730250273990040e-02 -5.709715674449271e-02 -5.689190963313420e-02 - -5.668676170442684e-02 -5.648171287301057e-02 -5.627676311138611e-02 -5.607191251359627e-02 -5.586716116856662e-02 - -5.566250902085241e-02 -5.545795595276776e-02 -5.525350230977423e-02 -5.504914828197500e-02 -5.484489368806074e-02 - -5.464073856561743e-02 -5.443668303623681e-02 -5.423272717677420e-02 -5.402887087270093e-02 -5.382511411736842e-02 - -5.362145727556954e-02 -5.341790037997223e-02 -5.321444331788154e-02 -5.301108618236487e-02 -5.280782907094528e-02 - -5.260467200594416e-02 -5.240161485390568e-02 -5.219865776343095e-02 -5.199580105954085e-02 -5.179304465507040e-02 - -5.159038850941820e-02 -5.138783273765680e-02 -5.118537740030552e-02 -5.098302246878324e-02 -5.078076787428482e-02 - -5.057861387937131e-02 -5.037656068404879e-02 -5.017460818262723e-02 -4.997275637519877e-02 -4.977100534878579e-02 - -4.956935521374012e-02 -4.936780587637167e-02 -4.916635729330274e-02 -4.896500983679772e-02 -4.876376358063662e-02 - -4.856261839799727e-02 -4.836157437280066e-02 -4.816063160553166e-02 -4.795979012910388e-02 -4.775904981223175e-02 - -4.755841077230219e-02 -4.735787336181510e-02 -4.715743752596301e-02 -4.695710319390285e-02 -4.675687045398216e-02 - -4.655673941737810e-02 -4.635671009364274e-02 -4.615678236145827e-02 -4.595695644691457e-02 -4.575723258610617e-02 - -4.555761069075770e-02 -4.535809077212207e-02 -4.515867291944397e-02 -4.495935719937229e-02 -4.476014355843901e-02 - -4.456103197632578e-02 -4.436202279051898e-02 -4.416311608901573e-02 -4.396431172960501e-02 -4.376560979706327e-02 - -4.356701040970479e-02 -4.336851362154585e-02 -4.317011930970618e-02 -4.297182755295056e-02 -4.277363871130811e-02 - -4.257555275870079e-02 -4.237756961321195e-02 -4.217968936488893e-02 -4.198191211978222e-02 -4.178423789759614e-02 - -4.158666657665847e-02 -4.138919837391426e-02 -4.119183356383482e-02 -4.099457203865310e-02 -4.079741379048268e-02 - -4.060035892668235e-02 -4.040340754077800e-02 -4.020655958670875e-02 -4.000981499812348e-02 -3.981317410229721e-02 - -3.961663704352115e-02 -3.942020369405195e-02 -3.922387410519079e-02 -3.902764838570288e-02 -3.883152661169272e-02 - -3.863550868276464e-02 -3.843959464464100e-02 -3.824378485096525e-02 -3.804807931112070e-02 -3.785247793879744e-02 - -3.765698082240899e-02 -3.746158806803077e-02 -3.726629970906549e-02 -3.707111562537097e-02 -3.687603600301111e-02 - -3.668106114329449e-02 -3.648619095542227e-02 -3.629142541706046e-02 -3.609676463615045e-02 -3.590220871216067e-02 - -3.570775761915167e-02 -3.551341127587861e-02 -3.531916998478909e-02 -3.512503392646860e-02 -3.493100298239093e-02 - -3.473707719308593e-02 -3.454325666569649e-02 -3.434954148093054e-02 -3.415593156072503e-02 -3.396242692622412e-02 - -3.376902792182854e-02 -3.357573459185429e-02 -3.338254684613227e-02 -3.318946476737597e-02 -3.299648846264201e-02 - -3.280361798076661e-02 -3.261085320981364e-02 -3.241819429994710e-02 -3.222564156785773e-02 -3.203319495411584e-02 - -3.184085442350271e-02 -3.164862007407277e-02 -3.145649201602077e-02 -3.126447024597763e-02 -3.107255466700169e-02 - -3.088074555671056e-02 -3.068904313085425e-02 -3.049744727803826e-02 -3.030595802638682e-02 -3.011457548570120e-02 - -2.992329974875160e-02 -2.973213075050443e-02 -2.954106848293515e-02 -2.935011329195715e-02 -2.915926525661732e-02 - -2.896852427673346e-02 -2.877789042941862e-02 -2.858736382466336e-02 -2.839694452567641e-02 -2.820663243092813e-02 - -2.801642765839682e-02 -2.782633053619610e-02 -2.763634102981755e-02 -2.744645909471058e-02 -2.725668483048721e-02 - -2.706701834793413e-02 -2.687745966148872e-02 -2.668800867127078e-02 -2.649866562411629e-02 -2.630943076513501e-02 - -2.612030399888650e-02 -2.593128533989631e-02 -2.574237489560391e-02 -2.555357276907920e-02 -2.536487891525730e-02 - -2.517629330290238e-02 -2.498781626631630e-02 -2.479944791947400e-02 -2.461118815951395e-02 -2.442303705775731e-02 - -2.423499472682666e-02 -2.404706124098910e-02 -2.385923651050157e-02 -2.367152062237768e-02 -2.348391391197065e-02 - -2.329641637680258e-02 -2.310902796361102e-02 -2.292174876507744e-02 -2.273457889435020e-02 -2.254751838574287e-02 - -2.236056713942959e-02 -2.217372537079298e-02 -2.198699334983061e-02 -2.180037099746794e-02 -2.161385831877313e-02 - -2.142745542221016e-02 -2.124116241611923e-02 -2.105497927356034e-02 -2.086890594375282e-02 -2.068294274565517e-02 - -2.049708982965088e-02 -2.031134709508492e-02 -2.012571460207244e-02 -1.994019246558534e-02 -1.975478077426674e-02 - -1.956947944878238e-02 -1.938428854559868e-02 -1.919920840769478e-02 -1.901423906121075e-02 -1.882938044349050e-02 - -1.864463264867233e-02 -1.845999578941159e-02 -1.827546991282947e-02 -1.809105492490821e-02 -1.790675101318496e-02 - -1.772255847013706e-02 -1.753847723077995e-02 -1.735450728912205e-02 -1.717064875577919e-02 -1.698690174123156e-02 - -1.680326624034783e-02 -1.661974219495428e-02 -1.643632989539235e-02 -1.625302952284425e-02 -1.606984099009794e-02 - -1.588676434582367e-02 -1.570379970237604e-02 -1.552094715767664e-02 -1.533820665109939e-02 -1.515557821470722e-02 - -1.497306218983010e-02 -1.479065863118324e-02 -1.460836746737021e-02 -1.442618879376636e-02 -1.424412272699600e-02 - -1.406216932715821e-02 -1.388032850365394e-02 -1.369860041414062e-02 -1.351698537084881e-02 -1.333548332713773e-02 - -1.315409426742165e-02 -1.297281830737383e-02 -1.279165555870565e-02 -1.261060603011550e-02 -1.242966965324022e-02 - -1.224884670128487e-02 -1.206813738892206e-02 -1.188754163203305e-02 -1.170705946859269e-02 -1.152669101347058e-02 - -1.134643637569507e-02 -1.116629550991553e-02 -1.098626842139487e-02 -1.080635544822676e-02 -1.062655668128806e-02 - -1.044687204494093e-02 -1.026730162280993e-02 -1.008784553433474e-02 -9.908503858526582e-03 -9.729276511698201e-03 - -9.550163618928804e-03 -9.371165505355611e-03 -9.192282154920128e-03 -9.013513542246960e-03 -8.834859775588668e-03 - -8.656320970291077e-03 -8.477897155130903e-03 -8.299588259899083e-03 -8.121394531144674e-03 -7.943316209259341e-03 - -7.765353219198069e-03 -7.587505591333328e-03 -7.409773443860054e-03 -7.232156891183837e-03 -7.054655906230881e-03 - -6.877270474033493e-03 -6.700000921715352e-03 -6.522847372218281e-03 -6.345809748257097e-03 -6.168888131399519e-03 - -5.992082642122597e-03 -5.815393366379400e-03 -5.638820235869921e-03 -5.462363348533388e-03 -5.286023033805962e-03 - -5.109799304673499e-03 -4.933692127821829e-03 -4.757701606393674e-03 -4.581827861470766e-03 -4.406070940931505e-03 - -4.230430770274698e-03 -4.054907567997104e-03 -3.879501600335772e-03 -3.704212807069328e-03 -3.529041210474627e-03 - -3.353986930090703e-03 -3.179050081041732e-03 -3.004230655593028e-03 -2.829528626659512e-03 -2.654944304289923e-03 - -2.480477843039907e-03 -2.306129168890747e-03 -2.131898354626704e-03 -1.957785522367332e-03 -1.783790769612464e-03 - -1.609914041309663e-03 -1.436155409326836e-03 -1.262515208025358e-03 -1.088993476198761e-03 -9.155901719868249e-04 - -7.423054008843995e-04 -5.691392854771952e-04 -3.960918865957833e-04 -2.231631331613931e-04 -5.035321608514060e-05 - 1.223375771945329e-04 2.949092895407656e-04 4.673619084872533e-04 6.396953140537370e-04 8.119093865188150e-04 - 9.840041155727759e-04 1.155979539871523e-03 1.327835367602612e-03 1.499571413663267e-03 1.671187748049661e-03 - 1.842684305331169e-03 2.014060960896812e-03 2.185317608856639e-03 2.356454289147141e-03 2.527470954200780e-03 - 2.698367270832486e-03 2.869143169831049e-03 3.039798698561594e-03 3.210333755176400e-03 3.380748214685887e-03 - 3.551042001872539e-03 3.721215182132198e-03 3.891267592694254e-03 4.061198929412137e-03 4.231009214636464e-03 - 4.400698444839332e-03 4.570266499650065e-03 4.739713256426893e-03 4.909038688279234e-03 5.078242841339914e-03 - 5.247325443294046e-03 5.416286280121805e-03 5.585125417934797e-03 5.753842797319914e-03 5.922438289361948e-03 - 6.090911784292105e-03 6.259263304936011e-03 6.427492823105761e-03 6.595600012759487e-03 6.763584774419725e-03 - 6.931447157908777e-03 7.099187064683324e-03 7.266804368739545e-03 7.434298984071849e-03 7.601670964899477e-03 - 7.768920175905106e-03 7.936046303989365e-03 8.103049345026314e-03 8.269929303195386e-03 8.436686062480435e-03 - 8.603319496825714e-03 8.769829559891583e-03 8.936216298209541e-03 9.102479469308070e-03 9.268618835503980e-03 - 9.434634442417017e-03 9.600526244002849e-03 9.766294116521254e-03 9.931937936947469e-03 1.009745771049027e-02 - 1.026285342997890e-02 1.042812477681206e-02 1.059327162144324e-02 1.075829401681754e-02 1.092319186819127e-02 - 1.108796504594824e-02 1.125261345370748e-02 1.141713713772357e-02 1.158153598704318e-02 1.174580967555363e-02 - 1.190995817803677e-02 1.207398151021485e-02 1.223787955540131e-02 1.240165218070774e-02 1.256529932365555e-02 - 1.272882103806231e-02 1.289221710280211e-02 1.305548725320952e-02 1.321863152957668e-02 1.338164989105289e-02 - 1.354454220587777e-02 1.370730835288826e-02 1.386994832163190e-02 1.403246211588375e-02 1.419484943187744e-02 - 1.435711010999991e-02 1.451924419921884e-02 1.468125161270911e-02 1.484313222013652e-02 1.500488591571896e-02 - 1.516651273046586e-02 1.532801257754355e-02 1.548938513124086e-02 1.565063033579857e-02 1.581174821092933e-02 - 1.597273864701365e-02 1.613360150922888e-02 1.629433671764488e-02 1.645494432276120e-02 1.661542413184349e-02 - 1.677577586209575e-02 1.693599953321696e-02 1.709609511287956e-02 1.725606247097126e-02 1.741590148147653e-02 - 1.757561211738663e-02 1.773519439308624e-02 1.789464801957598e-02 1.805397280960725e-02 1.821316881163111e-02 - 1.837223594327105e-02 1.853117406905512e-02 1.868998307594014e-02 1.884866298214414e-02 1.900721372338833e-02 - 1.916563497459167e-02 1.932392665507269e-02 1.948208878919649e-02 1.964012126059438e-02 1.979802393750615e-02 - 1.995579673545799e-02 2.011343968946751e-02 2.027095263124555e-02 2.042833526879373e-02 2.058558759933038e-02 - 2.074270959919291e-02 2.089970114286997e-02 2.105656209513535e-02 2.121329241031374e-02 2.136989211400533e-02 - 2.152636093833320e-02 2.168269866776463e-02 2.183890534086288e-02 2.199498088647827e-02 2.215092516911965e-02 - 2.230673806408907e-02 2.246241957468516e-02 2.261796965793072e-02 2.277338799181243e-02 2.292867446749406e-02 - 2.308382911412376e-02 2.323885181888266e-02 2.339374244699652e-02 2.354850090287507e-02 2.370312721409915e-02 - 2.385762123470989e-02 2.401198266010886e-02 2.416621147301771e-02 2.432030765671687e-02 2.447427107682733e-02 - 2.462810160176357e-02 2.478179917471193e-02 2.493536381795363e-02 2.508879528739230e-02 2.524209334527653e-02 - 2.539525801488748e-02 2.554828923354157e-02 2.570118686847216e-02 2.585395079171064e-02 2.600658098606827e-02 - 2.615907742012537e-02 2.631143978762620e-02 2.646366795301069e-02 2.661576194257877e-02 2.676772164859378e-02 - 2.691954693391293e-02 2.707123769272043e-02 2.722279394328245e-02 2.737421556407061e-02 2.752550224474631e-02 - 2.767665393933695e-02 2.782767063812680e-02 2.797855221700411e-02 2.812929853552858e-02 2.827990951702357e-02 - 2.843038519104858e-02 2.858072533585580e-02 2.873092969062032e-02 2.888099827101270e-02 2.903093101911967e-02 - 2.918072779556083e-02 2.933038847140823e-02 2.947991301658642e-02 2.962930141213865e-02 2.977855336278226e-02 - 2.992766870509821e-02 3.007664746318324e-02 3.022548953626840e-02 3.037419478553557e-02 3.052276309616091e-02 - 3.067119447416764e-02 3.081948881896879e-02 3.096764581778017e-02 3.111566540198458e-02 3.126354756710210e-02 - 3.141129218718559e-02 3.155889912410548e-02 3.170636829125183e-02 3.185369970791438e-02 3.200089317518744e-02 - 3.214794841776677e-02 3.229486543634106e-02 3.244164418203412e-02 3.258828451581320e-02 3.273478630264194e-02 - 3.288114949586567e-02 3.302737408530167e-02 3.317345979235018e-02 3.331940642975919e-02 3.346521401820098e-02 - 3.361088246101045e-02 3.375641161607764e-02 3.390180136352038e-02 3.404705169548587e-02 3.419216253016829e-02 - 3.433713355905806e-02 3.448196468652563e-02 3.462665590981111e-02 3.477120710939272e-02 3.491561814527116e-02 - 3.505988891618091e-02 3.520401943397326e-02 3.534800952666442e-02 3.549185891051008e-02 3.563556756111654e-02 - 3.577913543618631e-02 3.592256240340591e-02 3.606584831947614e-02 3.620899312153205e-02 3.635199681091714e-02 - 3.649485912620978e-02 3.663757985375464e-02 3.678015900636063e-02 3.692259649832257e-02 3.706489218607827e-02 - 3.720704593508108e-02 3.734905772908955e-02 3.749092751022131e-02 3.763265496742431e-02 3.777423997951684e-02 - 3.791568254953915e-02 3.805698256030369e-02 3.819813986869797e-02 3.833915436267914e-02 3.848002605018682e-02 - 3.862075477984065e-02 3.876134025391093e-02 3.890178243600422e-02 3.904208129158644e-02 3.918223668100989e-02 - 3.932224846044379e-02 3.946211655605483e-02 3.960184097189857e-02 3.974142146457355e-02 3.988085779819951e-02 - 4.002014997942075e-02 4.015929792921669e-02 4.029830150192959e-02 4.043716055991190e-02 4.057587507004282e-02 - 4.071444498657769e-02 4.085287001066611e-02 4.099114999824743e-02 4.112928495212512e-02 4.126727475679569e-02 - 4.140511926665246e-02 4.154281836167219e-02 4.168037204269245e-02 4.181778018003033e-02 4.195504246778908e-02 - 4.209215884913708e-02 4.222912929605258e-02 4.236595366776428e-02 4.250263182248033e-02 4.263916367566677e-02 - 4.277554922465009e-02 4.291178824859961e-02 4.304788049654025e-02 4.318382596138427e-02 4.331962457087349e-02 - 4.345527617981602e-02 4.359078064797250e-02 4.372613792550029e-02 4.386134797486977e-02 4.399641051415262e-02 - 4.413132537776133e-02 4.426609256403441e-02 4.440071196061698e-02 4.453518342174363e-02 4.466950682320869e-02 - 4.480368214879805e-02 4.493770928728694e-02 4.507158793990715e-02 4.520531802497359e-02 4.533889951667943e-02 - 4.547233228082954e-02 4.560561616979211e-02 4.573875108353129e-02 4.587173702317195e-02 4.600457379177124e-02 - 4.613726112101928e-02 4.626979898466685e-02 4.640218731770854e-02 4.653442597807410e-02 4.666651481740990e-02 - 4.679845378497393e-02 4.693024287357150e-02 4.706188178521280e-02 4.719337030512012e-02 4.732470843170088e-02 - 4.745589609974604e-02 4.758693317708736e-02 4.771781949014568e-02 4.784855500276729e-02 4.797913963655120e-02 - 4.810957311625792e-02 4.823985532440599e-02 4.836998622519359e-02 4.849996572088229e-02 4.862979364778694e-02 - 4.875946986129576e-02 4.888899438454671e-02 4.901836703838853e-02 4.914758752328308e-02 4.927665585368439e-02 - 4.940557196434897e-02 4.953433564666962e-02 4.966294680168561e-02 4.979140536998770e-02 4.991971127467005e-02 - 5.004786430086550e-02 5.017586426593462e-02 5.030371111424699e-02 5.043140473941395e-02 5.055894500969876e-02 - 5.068633180855401e-02 5.081356509387767e-02 5.094064477169723e-02 5.106757053524139e-02 5.119434226596677e-02 - 5.132095996453229e-02 5.144742351517578e-02 5.157373274644007e-02 5.169988750799723e-02 5.182588783131492e-02 - 5.195173357105356e-02 5.207742440366903e-02 5.220296027189056e-02 5.232834113948501e-02 5.245356688434039e-02 - 5.257863735375337e-02 5.270355244318054e-02 5.282831211610928e-02 5.295291615700908e-02 5.307736435753736e-02 - 5.320165668494783e-02 5.332579302368824e-02 5.344977322479061e-02 5.357359720391287e-02 5.369726488407797e-02 - 5.382077614890905e-02 5.394413077320572e-02 5.406732861255047e-02 5.419036960275756e-02 5.431325364836510e-02 - 5.443598061485443e-02 5.455855035736775e-02 5.468096283548277e-02 5.480321791614200e-02 5.492531533836561e-02 - 5.504725504027442e-02 5.516903696522249e-02 5.529066094250196e-02 5.541212681912044e-02 5.553343451105355e-02 - 5.565458402054679e-02 5.577557512714444e-02 5.589640757833542e-02 5.601708136214176e-02 5.613759637012277e-02 - 5.625795242697428e-02 5.637814944133901e-02 5.649818735356010e-02 5.661806606948155e-02 5.673778531909066e-02 - 5.685734496106067e-02 5.697674499811992e-02 5.709598525886500e-02 5.721506557962035e-02 5.733398588420521e-02 - 5.745274613557275e-02 5.757134619305772e-02 5.768978576165893e-02 5.780806477237931e-02 5.792618319490116e-02 - 5.804414085654030e-02 5.816193759992416e-02 5.827957333255503e-02 5.839704805764100e-02 5.851436157058919e-02 - 5.863151359019340e-02 5.874850407742044e-02 5.886533297606138e-02 5.898200016057164e-02 5.909850545490182e-02 - 5.921484876799358e-02 5.933103006596772e-02 5.944704910278828e-02 5.956290569090495e-02 5.967859979076014e-02 - 5.979413129454921e-02 5.990950006107775e-02 6.002470595625681e-02 6.013974894676900e-02 6.025462892974234e-02 - 6.036934559538653e-02 6.048389882575328e-02 6.059828859366181e-02 6.071251478747773e-02 6.082657726499330e-02 - 6.094047589468096e-02 6.105421060960093e-02 6.116778124880510e-02 6.128118760026364e-02 6.139442960439424e-02 - 6.150750715787331e-02 6.162042008748835e-02 6.173316829355946e-02 6.184575170612789e-02 6.195817023946892e-02 - 6.207042366308074e-02 6.218251178412997e-02 6.229443455021107e-02 6.240619187345142e-02 6.251778362644587e-02 - 6.262920965673664e-02 6.274046989094115e-02 6.285156423838029e-02 6.296249246083868e-02 6.307325441937692e-02 - 6.318385004239983e-02 6.329427920287174e-02 6.340454177652059e-02 6.351463766120390e-02 6.362456678994362e-02 - 6.373432899407734e-02 6.384392402667542e-02 6.395335181995393e-02 6.406261231361865e-02 6.417170537725830e-02 - 6.428063082883417e-02 6.438938856382127e-02 6.449797859582693e-02 6.460640069400744e-02 6.471465460887021e-02 - 6.482274028565467e-02 6.493065766530991e-02 6.503840663024645e-02 6.514598697176463e-02 6.525339863731919e-02 - 6.536064160053869e-02 6.546771556229376e-02 6.557462036169828e-02 6.568135597564134e-02 6.578792228094754e-02 - 6.589431913461476e-02 6.600054641494822e-02 6.610660407274732e-02 6.621249195669229e-02 6.631820979208959e-02 - 6.642375751800587e-02 6.652913508526218e-02 6.663434233390064e-02 6.673937912206085e-02 6.684424535139094e-02 - 6.694894096694531e-02 6.705346576057515e-02 6.715781952052316e-02 6.726200223606826e-02 6.736601378290344e-02 - 6.746985396850236e-02 6.757352270136854e-02 6.767701992273348e-02 6.778034554033589e-02 6.788349929667206e-02 - 6.798648102682574e-02 6.808929069330329e-02 6.819192820375723e-02 6.829439341428477e-02 6.839668615716293e-02 - 6.849880637697058e-02 6.860075397106770e-02 6.870252870886938e-02 6.880413046413429e-02 6.890555915577500e-02 - 6.900681468090485e-02 6.910789689150486e-02 6.920880565820778e-02 6.930954094436353e-02 6.941010257623929e-02 - 6.951049032497619e-02 6.961070411466443e-02 6.971074386483528e-02 6.981060945693285e-02 6.991030074013053e-02 - 7.000981760721879e-02 7.010915998226322e-02 7.020832768385020e-02 7.030732053981503e-02 7.040613843777971e-02 - 7.050478130476578e-02 7.060324902125202e-02 7.070154139632766e-02 7.079965841104072e-02 7.089759998592053e-02 - 7.099536579014293e-02 7.109295574922263e-02 7.119036986301433e-02 7.128760792254588e-02 7.138466979343019e-02 - 7.148155540894172e-02 7.157826467726322e-02 7.167479742578257e-02 7.177115345207208e-02 7.186733268619028e-02 - 7.196333504975572e-02 7.205916041090092e-02 7.215480858692887e-02 7.225027948023270e-02 7.234557308374470e-02 - 7.244068916926014e-02 7.253562753252076e-02 7.263038813284139e-02 7.272497087062332e-02 7.281937559790036e-02 - 7.291360215228662e-02 7.300765049821943e-02 7.310152057265214e-02 7.319521208383468e-02 7.328872490709243e-02 - 7.338205901635925e-02 7.347521425841259e-02 7.356819049091311e-02 7.366098761637971e-02 7.375360558736099e-02 - 7.384604424623381e-02 7.393830334347133e-02 7.403038279875497e-02 7.412228254437477e-02 7.421400245985316e-02 - 7.430554241104276e-02 7.439690229021774e-02 7.448808202204141e-02 7.457908141717452e-02 7.466990029970315e-02 - 7.476053861745356e-02 7.485099625058683e-02 7.494127304678436e-02 7.503136889191833e-02 7.512128371784581e-02 - 7.521101743547498e-02 7.530056981436373e-02 7.538994071268737e-02 7.547913007544443e-02 7.556813780083994e-02 - 7.565696374971752e-02 7.574560777501017e-02 7.583406981695588e-02 7.592234975180168e-02 7.601044736291800e-02 - 7.609836256769248e-02 7.618609528331391e-02 7.627364535037680e-02 7.636101265407126e-02 7.644819711937149e-02 - 7.653519868718589e-02 7.662201715447789e-02 7.670865230880411e-02 7.679510411035856e-02 7.688137246970578e-02 - 7.696745724207896e-02 7.705335828035317e-02 7.713907552614908e-02 7.722460893765626e-02 7.730995825366380e-02 - 7.739512330293280e-02 7.748010405365591e-02 7.756490042829636e-02 7.764951228919105e-02 7.773393946198498e-02 - 7.781818189157449e-02 7.790223948237281e-02 7.798611201876808e-02 7.806979939436651e-02 7.815330154059554e-02 - 7.823661834982702e-02 7.831974966729814e-02 7.840269536418043e-02 7.848545542109749e-02 7.856802968700778e-02 - 7.865041794492959e-02 7.873262009221961e-02 7.881463606524114e-02 7.889646578364969e-02 7.897810905385311e-02 - 7.905956578813299e-02 7.914083598393755e-02 7.922191938944982e-02 7.930281582198326e-02 7.938352526916173e-02 - 7.946404763288464e-02 7.954438277705837e-02 7.962453057021987e-02 7.970449093695484e-02 7.978426377009373e-02 - 7.986384886265184e-02 7.994324611178145e-02 8.002245546069972e-02 8.010147680163558e-02 8.018030998339011e-02 - 8.025895486859348e-02 8.033741142939121e-02 8.041567953647351e-02 8.049375898816008e-02 8.057164970191152e-02 - 8.064935159117341e-02 8.072686453538828e-02 8.080418841559016e-02 8.088132313650849e-02 8.095826861741187e-02 - 8.103502469212946e-02 8.111159121525567e-02 8.118796811657426e-02 8.126415526945288e-02 8.134015254787534e-02 - 8.141595988122388e-02 8.149157718184835e-02 8.156700432424771e-02 8.164224113093393e-02 8.171728750211138e-02 - 8.179214337283539e-02 8.186680860558979e-02 8.194128308109257e-02 8.201556671181809e-02 8.208965942384167e-02 - 8.216356107347705e-02 8.223727146913333e-02 8.231079055026533e-02 8.238411825286719e-02 8.245725445426123e-02 - 8.253019901019013e-02 8.260295182089074e-02 8.267551284923887e-02 8.274788192985057e-02 8.282005889192648e-02 - 8.289204367192234e-02 8.296383619751495e-02 8.303543635380874e-02 8.310684396376640e-02 8.317805898151856e-02 - 8.324908138250064e-02 8.331991092178788e-02 8.339054746670159e-02 8.346099098907200e-02 8.353124136246602e-02 - 8.360129848004999e-02 8.367116227251760e-02 8.374083263302687e-02 8.381030943134427e-02 8.387959252741883e-02 - 8.394868181167527e-02 8.401757720093640e-02 8.408627862550171e-02 8.415478594369409e-02 8.422309904154775e-02 - 8.429121790707177e-02 8.435914237533512e-02 8.442687225429805e-02 8.449440750560887e-02 8.456174803803686e-02 - 8.462889372267089e-02 8.469584447602406e-02 8.476260023136410e-02 8.482916090148240e-02 8.489552630009754e-02 - 8.496169630228255e-02 8.502767086164854e-02 8.509344988672647e-02 8.515903326018803e-02 8.522442086136313e-02 - 8.528961263471936e-02 8.535460848680074e-02 8.541940824041729e-02 8.548401181612168e-02 8.554841915131453e-02 - 8.561263012321893e-02 8.567664461211427e-02 8.574046253447680e-02 8.580408386832587e-02 8.586750845589863e-02 - 8.593073610333024e-02 8.599376680387132e-02 8.605660047760594e-02 8.611923696874126e-02 8.618167618396408e-02 - 8.624391807608472e-02 8.630596259724549e-02 8.636780954833972e-02 8.642945878839840e-02 8.649091029427977e-02 - 8.655216396695875e-02 8.661321970043215e-02 8.667407742210617e-02 8.673473702989365e-02 8.679519841504303e-02 - 8.685546148336530e-02 8.691552612855238e-02 8.697539224666265e-02 8.703505975750943e-02 8.709452857692032e-02 - 8.715379861893667e-02 8.721286980508075e-02 8.727174201224434e-02 8.733041510377958e-02 8.738888903629666e-02 - 8.744716372671989e-02 8.750523904187274e-02 8.756311491392924e-02 8.762079127795709e-02 8.767826803995526e-02 - 8.773554506310657e-02 8.779262223690780e-02 8.784949951260017e-02 8.790617682173207e-02 8.796265406226209e-02 - 8.801893109931651e-02 8.807500788687952e-02 8.813088437660771e-02 8.818656039674132e-02 8.824203585227545e-02 - 8.829731070095961e-02 8.835238486000704e-02 8.840725822106667e-02 8.846193068214857e-02 8.851640221803356e-02 - 8.857067273700293e-02 8.862474207580676e-02 8.867861014722141e-02 8.873227689758616e-02 8.878574227696898e-02 - 8.883900618220902e-02 8.889206851560667e-02 8.894492921167085e-02 8.899758815302622e-02 8.905004524008538e-02 - 8.910230044719054e-02 8.915435367300073e-02 8.920620479173334e-02 8.925785373448247e-02 8.930930045917142e-02 - 8.936054490961548e-02 8.941158695191696e-02 8.946242647641844e-02 8.951306341364354e-02 8.956349771969928e-02 - 8.961372931388180e-02 8.966375808278661e-02 8.971358396554302e-02 8.976320688963368e-02 8.981262675341668e-02 - 8.986184348935064e-02 8.991085703129179e-02 8.995966729258320e-02 9.000827417122792e-02 9.005667759770250e-02 - 9.010487756379584e-02 9.015287394264000e-02 9.020066659275561e-02 9.024825550203337e-02 9.029564061179933e-02 - 9.034282181894199e-02 9.038979902630290e-02 9.043657218570805e-02 9.048314126656666e-02 9.052950615463343e-02 - 9.057566675480395e-02 9.062162300961238e-02 9.066737484935303e-02 9.071292219781772e-02 9.075826498061153e-02 - 9.080340315127385e-02 9.084833664156222e-02 9.089306533771581e-02 9.093758915627431e-02 9.098190804149961e-02 - 9.102602195783284e-02 9.106993084471440e-02 9.111363462196023e-02 9.115713320054021e-02 9.120042650346059e-02 - 9.124351446434358e-02 9.128639702175202e-02 9.132907412994692e-02 9.137154573427010e-02 9.141381170435277e-02 - 9.145587198962597e-02 9.149772660800266e-02 9.153937542844172e-02 9.158081834977004e-02 9.162205535599281e-02 - 9.166308637778346e-02 9.170391133536025e-02 9.174453017072061e-02 9.178494285856946e-02 9.182514933661440e-02 - 9.186514945794547e-02 9.190494319482566e-02 9.194453054665523e-02 9.198391140758180e-02 9.202308569543158e-02 - 9.206205336702038e-02 9.210081441034919e-02 9.213936875086109e-02 9.217771627651770e-02 9.221585694962209e-02 - 9.225379072840771e-02 9.229151754885842e-02 9.232903734819613e-02 9.236635007909103e-02 9.240345570404732e-02 - 9.244035413434255e-02 9.247704529963750e-02 9.251352918345666e-02 9.254980573968512e-02 9.258587489795035e-02 - 9.262173657649034e-02 9.265739073985793e-02 9.269283735974691e-02 9.272807636276849e-02 9.276310769047050e-02 - 9.279793130272118e-02 9.283254716719631e-02 9.286695521394739e-02 9.290115536246511e-02 9.293514761281572e-02 - 9.296893192325742e-02 9.300250819824006e-02 9.303587638369953e-02 9.306903645092859e-02 9.310198837852499e-02 - 9.313473209662422e-02 9.316726755984403e-02 9.319959477466139e-02 9.323171364631608e-02 9.326362408592948e-02 - 9.329532610133226e-02 9.332681964339190e-02 9.335810464438972e-02 9.338918108249107e-02 9.342004893308628e-02 - 9.345070815580041e-02 9.348115868437977e-02 9.351140046962789e-02 9.354143348306601e-02 9.357125770365762e-02 - 9.360087308621738e-02 9.363027956518245e-02 9.365947710363894e-02 9.368846567300493e-02 9.371724524372237e-02 - 9.374581578300241e-02 9.377417725111503e-02 9.380232960142115e-02 9.383027280206080e-02 9.385800682788301e-02 - 9.388553164914089e-02 9.391284719773688e-02 9.393995342276806e-02 9.396685035781838e-02 9.399353796706621e-02 - 9.402001617537038e-02 9.404628495786660e-02 9.407234429781461e-02 9.409819417117830e-02 9.412383453169183e-02 - 9.414926534580341e-02 9.417448659641373e-02 9.419949825736050e-02 9.422430029380560e-02 9.424889267135104e-02 - 9.427327539998738e-02 9.429744844865905e-02 9.432141171534560e-02 9.434516522540957e-02 9.436870900006604e-02 - 9.439204294634228e-02 9.441516705436934e-02 9.443808133745002e-02 9.446078573953387e-02 9.448328023801857e-02 - 9.450556483411636e-02 9.452763950923013e-02 9.454950421611270e-02 9.457115890701832e-02 9.459260360830167e-02 - 9.461383832574666e-02 9.463486302352626e-02 9.465567765409444e-02 9.467628220109425e-02 9.469667668274938e-02 - 9.471686106967921e-02 9.473683533004949e-02 9.475659945563136e-02 9.477615343325803e-02 9.479549725292793e-02 - 9.481463091432241e-02 9.483355439545672e-02 9.485226766778346e-02 9.487077071788189e-02 9.488906353992572e-02 - 9.490714613644993e-02 9.492501852119042e-02 9.494268066964073e-02 9.496013253895599e-02 9.497737414244060e-02 - 9.499440547543551e-02 9.501122651272445e-02 9.502783728094538e-02 9.504423778187990e-02 9.506042797340242e-02 - 9.507640785191551e-02 9.509217742006319e-02 9.510773667189122e-02 9.512308563868060e-02 9.513822432123879e-02 - 9.515315264231193e-02 9.516787063845662e-02 9.518237836728226e-02 9.519667577724227e-02 9.521076284349063e-02 - 9.522463958294539e-02 9.523830604498588e-02 9.525176221483619e-02 9.526500804718509e-02 9.527804359769618e-02 - 9.529086886623650e-02 9.530348379689602e-02 9.531588845120076e-02 9.532808286166987e-02 9.534006699012688e-02 - 9.535184085361241e-02 9.536340447105748e-02 9.537475783364874e-02 9.538590095359538e-02 9.539683385237334e-02 - 9.540755654711666e-02 9.541806903829181e-02 9.542837132640679e-02 9.543846343230179e-02 9.544834536597921e-02 - 9.545801714100983e-02 9.546747880593646e-02 9.547673036184304e-02 9.548577178084619e-02 9.549460309483834e-02 - 9.550322434581640e-02 9.551163556335956e-02 9.551983673903520e-02 9.552782788036314e-02 9.553560902903191e-02 - 9.554318022933674e-02 9.555054148771730e-02 9.555769276632298e-02 9.556463412975340e-02 9.557136563747151e-02 - 9.557788725689133e-02 9.558419903459103e-02 9.559030102901959e-02 9.559619321427665e-02 9.560187562136102e-02 - 9.560734830883322e-02 9.561261127917654e-02 9.561766456108449e-02 9.562250820572099e-02 9.562714223416331e-02 - 9.563156666435306e-02 9.563578152405575e-02 9.563978686682097e-02 9.564358272631937e-02 9.564716910782914e-02 - 9.565054604965099e-02 9.565371359980702e-02 9.565667179877529e-02 9.565942066526258e-02 9.566196023293236e-02 - 9.566429057683135e-02 9.566641172752892e-02 9.566832368940979e-02 9.567002647518966e-02 9.567152016429874e-02 - 9.567280484915060e-02 9.567388053004788e-02 9.567474721294261e-02 9.567540493730267e-02 9.567585379392737e-02 - 9.567609383300600e-02 9.567612506298810e-02 9.567594754568214e-02 9.567556133790830e-02 9.567496647244744e-02 - 9.567416299512438e-02 9.567315095370396e-02 9.567193039196389e-02 9.567050136232016e-02 9.566886392120964e-02 - 9.566701812558283e-02 9.566496403827787e-02 9.566270170884209e-02 9.566023115264767e-02 9.565755243736668e-02 - 9.565466564791879e-02 9.565157080775241e-02 9.564826797386157e-02 9.564475723264595e-02 9.564103864027859e-02 - 9.563711223757489e-02 9.563297806735498e-02 9.562863621895812e-02 9.562408675116861e-02 9.561932968250994e-02 - 9.561436511583814e-02 9.560919313325968e-02 9.560381374743886e-02 9.559822704785555e-02 9.559243313048145e-02 - 9.558643203289170e-02 9.558022378864620e-02 9.557380846466877e-02 9.556718619530349e-02 9.556035703327785e-02 - 9.555332100122134e-02 9.554607821247386e-02 9.553862873475936e-02 9.553097259908433e-02 9.552310989218279e-02 - 9.551504070130773e-02 9.550676510186747e-02 9.549828317393894e-02 9.548959500356741e-02 9.548070067318166e-02 - 9.547160021295119e-02 9.546229369018946e-02 9.545278124506257e-02 9.544306292579091e-02 9.543313878273989e-02 - 9.542300894892854e-02 9.541267351639289e-02 9.540213254817664e-02 9.539138610562420e-02 9.538043425774057e-02 - 9.536927709152246e-02 9.535791472882026e-02 9.534634726779553e-02 9.533457478138217e-02 9.532259734256758e-02 - 9.531041503990305e-02 9.529802797105680e-02 9.528543620462085e-02 9.527263983869082e-02 9.525963900525855e-02 - 9.524643375927100e-02 9.523302417643500e-02 9.521941040061487e-02 9.520559252291068e-02 9.519157060486365e-02 - 9.517734471153570e-02 9.516291499670615e-02 9.514828160467456e-02 9.513344455080376e-02 9.511840393248631e-02 - 9.510315989360162e-02 9.508771251519674e-02 9.507206189457258e-02 9.505620814925633e-02 9.504015138530268e-02 - 9.502389169582724e-02 9.500742917228551e-02 9.499076394524120e-02 9.497389612890822e-02 9.495682580659018e-02 - 9.493955308203066e-02 9.492207807526097e-02 9.490440091330225e-02 9.488652168366014e-02 9.486844048723730e-02 - 9.485015747906970e-02 9.483167277063544e-02 9.481298644119306e-02 9.479409856622809e-02 9.477500930738031e-02 - 9.475571884085587e-02 9.473622721810367e-02 9.471653454723004e-02 9.469664098786204e-02 9.467654664635866e-02 - 9.465625162221861e-02 9.463575602621152e-02 9.461505999415500e-02 9.459416367044585e-02 9.457306719633034e-02 - 9.455177068421998e-02 9.453027423759350e-02 9.450857796468222e-02 9.448668199276268e-02 9.446458647203468e-02 - 9.444229157255099e-02 9.441979739649474e-02 9.439710403006842e-02 9.437421161454676e-02 9.435112031829759e-02 - 9.432783029179438e-02 9.430434160094567e-02 9.428065438538669e-02 9.425676883924589e-02 9.423268508508292e-02 - 9.420840322981890e-02 9.418392339716981e-02 9.415924578030670e-02 9.413437051700123e-02 9.410929767030043e-02 - 9.408402741009517e-02 9.405855992335012e-02 9.403289535840260e-02 9.400703383941893e-02 9.398097549341558e-02 - 9.395472046838550e-02 9.392826889502673e-02 9.390162091553057e-02 9.387477672023849e-02 9.384773645864139e-02 - 9.382050025947151e-02 9.379306828457251e-02 9.376544068778003e-02 9.373761760606118e-02 9.370959916011609e-02 - 9.368138552427184e-02 9.365297690930323e-02 9.362437342817573e-02 9.359557520850639e-02 9.356658243379877e-02 - 9.353739529945312e-02 9.350801394425273e-02 9.347843843855524e-02 9.344866901272440e-02 9.341870589097585e-02 - 9.338854915644307e-02 9.335819897637819e-02 9.332765555734250e-02 9.329691906420928e-02 9.326598960092489e-02 - 9.323486729288316e-02 9.320355242698486e-02 9.317204517635257e-02 9.314034562740874e-02 9.310845398153604e-02 - 9.307637042858882e-02 9.304409511565054e-02 9.301162817412864e-02 9.297896979469056e-02 9.294612022999450e-02 - 9.291307963943660e-02 9.287984815938743e-02 9.284642594887814e-02 9.281281319942865e-02 9.277901009754375e-02 - 9.274501679883909e-02 9.271083349621308e-02 9.267646039527271e-02 9.264189767811302e-02 9.260714551564306e-02 - 9.257220408228978e-02 9.253707357624473e-02 9.250175417101536e-02 9.246624602802385e-02 9.243054935165987e-02 - 9.239466434718238e-02 9.235859120974489e-02 9.232233012999355e-02 9.228588129454922e-02 9.224924488066757e-02 - 9.221242103323031e-02 9.217540995047416e-02 9.213821191347883e-02 9.210082709355732e-02 9.206325564930115e-02 - 9.202549780755387e-02 9.198755374602623e-02 9.194942363528436e-02 9.191110769995278e-02 9.187260614753277e-02 - 9.183391917841241e-02 9.179504701848260e-02 9.175598985687712e-02 9.171674785963810e-02 9.167732123351167e-02 - 9.163771019528422e-02 9.159791495855178e-02 9.155793572040530e-02 9.151777270193290e-02 9.147742614628342e-02 - 9.143689622063791e-02 9.139618310892414e-02 9.135528705455570e-02 9.131420824439858e-02 9.127294688450004e-02 - 9.123150325806001e-02 9.118987755991119e-02 9.114806996063474e-02 9.110608069642255e-02 9.106390998608170e-02 - 9.102155802996120e-02 9.097902503011562e-02 9.093631123402490e-02 9.089341690732793e-02 9.085034224655422e-02 - 9.080708743846595e-02 9.076365269164367e-02 9.072003828369785e-02 9.067624443485320e-02 9.063227129485288e-02 - 9.058811915193726e-02 9.054378827004000e-02 9.049927881221763e-02 9.045459103770109e-02 9.040972520178260e-02 - 9.036468147234690e-02 9.031946007844127e-02 9.027406127956829e-02 9.022848531585773e-02 9.018273243214560e-02 - 9.013680287341128e-02 9.009069686920407e-02 9.004441462623869e-02 8.999795635152021e-02 8.995132231203949e-02 - 8.990451276610797e-02 8.985752795281814e-02 8.981036812557305e-02 8.976303351703613e-02 8.971552434037033e-02 - 8.966784087291869e-02 8.961998334831080e-02 8.957195192338249e-02 8.952374693198487e-02 8.947536869631613e-02 - 8.942681737354224e-02 8.937809319632291e-02 8.932919644498671e-02 8.928012738635183e-02 8.923088623240803e-02 - 8.918147319450437e-02 8.913188858291199e-02 8.908213269254797e-02 8.903220577223506e-02 8.898210800726358e-02 - 8.893183965769864e-02 8.888140104180198e-02 8.883079233855783e-02 8.878001380541380e-02 8.872906581842580e-02 - 8.867794859494142e-02 8.862666233412557e-02 8.857520730323154e-02 8.852358381153494e-02 8.847179212845252e-02 - 8.841983243253916e-02 8.836770502123131e-02 8.831541022882371e-02 8.826294830990469e-02 8.821031949641793e-02 - 8.815752403748606e-02 8.810456224863354e-02 8.805143437639511e-02 8.799814063336710e-02 8.794468134879541e-02 - 8.789105684257616e-02 8.783726738270531e-02 8.778331316928159e-02 8.772919447874153e-02 8.767491167446911e-02 - 8.762046495069514e-02 8.756585454037039e-02 8.751108081839833e-02 8.745614408581825e-02 8.740104459021790e-02 - 8.734578256007368e-02 8.729035830815834e-02 8.723477214343743e-02 8.717902426868683e-02 8.712311501918556e-02 - 8.706704476846663e-02 8.701081371877695e-02 8.695442211628683e-02 8.689787027644420e-02 8.684115853767592e-02 - 8.678428714435096e-02 8.672725629439892e-02 8.667006642064547e-02 8.661271785522098e-02 8.655521075244504e-02 - 8.649754543067346e-02 8.643972223965939e-02 8.638174147222141e-02 8.632360334916610e-02 8.626530814542391e-02 - 8.620685627786050e-02 8.614824804295058e-02 8.608948367410735e-02 8.603056343813603e-02 8.597148768708160e-02 - 8.591225676580187e-02 8.585287085352321e-02 8.579333027004854e-02 8.573363543090719e-02 8.567378659419787e-02 - 8.561378404241062e-02 8.555362810687137e-02 8.549331906471129e-02 8.543285719635127e-02 8.537224281446841e-02 - 8.531147627953188e-02 8.525055791649624e-02 8.518948798167383e-02 8.512826679756995e-02 8.506689470133286e-02 - 8.500537199311337e-02 8.494369892596923e-02 8.488187579804041e-02 8.481990305210670e-02 8.475778099074194e-02 - 8.469550984763315e-02 8.463308996695838e-02 8.457052168539449e-02 8.450780530789033e-02 8.444494110975011e-02 - 8.438192942971584e-02 8.431877065438623e-02 8.425546507059704e-02 8.419201297696736e-02 8.412841471805475e-02 - 8.406467061549007e-02 8.400078097306259e-02 8.393674609180030e-02 8.387256634619757e-02 8.380824209666674e-02 - 8.374377362095807e-02 8.367916122870038e-02 8.361440526888680e-02 8.354950611900661e-02 8.348446403538942e-02 - 8.341927927704872e-02 8.335395233905314e-02 8.328848356223681e-02 8.322287316371958e-02 8.315712149574238e-02 - 8.309122893699929e-02 8.302519583647612e-02 8.295902243510637e-02 8.289270907781640e-02 8.282625623697057e-02 - 8.275966417678003e-02 8.269293318851907e-02 8.262606370095599e-02 8.255905601211083e-02 8.249191039312886e-02 - 8.242462718945633e-02 8.235720681988298e-02 8.228964967784431e-02 8.222195602541869e-02 8.215412621284769e-02 - 8.208616062445039e-02 8.201805954142698e-02 8.194982329150195e-02 8.188145225476894e-02 8.181294680713293e-02 - 8.174430731452863e-02 8.167553412282050e-02 8.160662752890076e-02 8.153758789030935e-02 8.146841562526554e-02 - 8.139911098330359e-02 8.132967428676124e-02 8.126010603531450e-02 8.119040656216225e-02 8.112057615694021e-02 - 8.105061517994502e-02 8.098052402265073e-02 8.091030303880128e-02 8.083995248093376e-02 8.076947276447492e-02 - 8.069886435754116e-02 8.062812754457355e-02 8.055726265736828e-02 8.048627008799529e-02 8.041515020636995e-02 - 8.034390332540668e-02 8.027252974489747e-02 8.020102993492553e-02 8.012940431195667e-02 8.005765317555476e-02 - 7.998577686939379e-02 7.991377577220368e-02 7.984165027334414e-02 7.976940065907111e-02 7.969702727793032e-02 - 7.962453065567111e-02 7.955191112254574e-02 7.947916895239987e-02 7.940630455590227e-02 7.933331833212637e-02 - 7.926021063894960e-02 7.918698178217287e-02 7.911363216326053e-02 7.904016223823181e-02 7.896657235187955e-02 - 7.889286283938438e-02 7.881903406306398e-02 7.874508643443230e-02 7.867102031060058e-02 7.859683599526633e-02 - 7.852253395767629e-02 7.844811463098400e-02 7.837357831424305e-02 7.829892537205134e-02 7.822415619643758e-02 - 7.814927116484589e-02 7.807427062910767e-02 7.799915496813195e-02 7.792392464520610e-02 7.784858004657273e-02 - 7.777312150359181e-02 7.769754936428309e-02 7.762186403791040e-02 7.754606594385612e-02 7.747015537442642e-02 - 7.739413273994507e-02 7.731799855521804e-02 7.724175314852555e-02 7.716539684747571e-02 7.708893004657069e-02 - 7.701235315053030e-02 7.693566653742440e-02 7.685887055661017e-02 7.678196565918903e-02 7.670495227727288e-02 - 7.662783073280909e-02 7.655060142689749e-02 7.647326478202995e-02 7.639582115595660e-02 7.631827089499127e-02 - 7.624061438211467e-02 7.616285210329320e-02 7.608498447266238e-02 7.600701183814436e-02 7.592893457493513e-02 - 7.585075308733022e-02 7.577246778116596e-02 7.569407897223836e-02 7.561558707997214e-02 7.553699264667676e-02 - 7.545829602219666e-02 7.537949752159374e-02 7.530059752746436e-02 7.522159652110559e-02 7.514249491290788e-02 - 7.506329293711217e-02 7.498399108869409e-02 7.490458989985715e-02 7.482508965268882e-02 7.474549074308040e-02 - 7.466579363230305e-02 7.458599868473173e-02 7.450610623924510e-02 7.442611667561436e-02 7.434603053570255e-02 - 7.426584824442337e-02 7.418557009969678e-02 7.410519651333995e-02 7.402472793153594e-02 7.394416477978479e-02 - 7.386350736456949e-02 7.378275607823381e-02 7.370191147772952e-02 7.362097394239986e-02 7.353994380500382e-02 - 7.345882147239775e-02 7.337760740248925e-02 7.329630201371148e-02 7.321490559729334e-02 7.313341861868546e-02 - 7.305184160923943e-02 7.297017492620234e-02 7.288841893034562e-02 7.280657402242413e-02 7.272464064227188e-02 - 7.264261917439505e-02 7.256050997585588e-02 7.247831356170273e-02 7.239603038649280e-02 7.231366079163171e-02 - 7.223120520116612e-02 7.214866404160214e-02 7.206603769517569e-02 7.198332653777370e-02 7.190053098792457e-02 - 7.181765153838118e-02 7.173468863077177e-02 7.165164265282598e-02 7.156851395212357e-02 7.148530298289761e-02 - 7.140201021117390e-02 7.131863593482980e-02 7.123518058493326e-02 7.115164469180060e-02 7.106802866653637e-02 - 7.098433289103630e-02 7.090055775733806e-02 7.081670370962735e-02 7.073277114629017e-02 7.064876042084919e-02 - 7.056467204467058e-02 7.048050649359339e-02 7.039626411522021e-02 7.031194531783586e-02 7.022755055007633e-02 - 7.014308026270048e-02 7.005853477507426e-02 6.997391445865883e-02 6.988921994223606e-02 6.980445161374127e-02 - 6.971960976161336e-02 6.963469490630880e-02 6.954970749457975e-02 6.946464787470261e-02 6.937951638488904e-02 - 6.929431352344900e-02 6.920903988440608e-02 6.912369577614699e-02 6.903828154824053e-02 6.895279768813133e-02 - 6.886724462309453e-02 6.878162274040467e-02 6.869593242264821e-02 6.861017418575431e-02 6.852434851303352e-02 - 6.843845573229547e-02 6.835249626715924e-02 6.826647058722328e-02 6.818037912112360e-02 6.809422221022603e-02 - 6.800800023353686e-02 6.792171381432285e-02 6.783536337902803e-02 6.774894920974223e-02 6.766247176656806e-02 - 6.757593152448671e-02 6.748932891036163e-02 6.740266425451470e-02 6.731593799992638e-02 6.722915072040272e-02 - 6.714230278026269e-02 6.705539454984789e-02 6.696842651283096e-02 6.688139909018249e-02 6.679431266253504e-02 - 6.670716761081900e-02 6.661996446504156e-02 6.653270374249923e-02 6.644538575792285e-02 6.635801090742725e-02 - 6.627057965598744e-02 6.618309245387675e-02 6.609554968705872e-02 6.600795173819872e-02 6.592029914958422e-02 - 6.583259238307172e-02 6.574483179767340e-02 6.565701780669353e-02 6.556915085921187e-02 6.548123140723705e-02 - 6.539325979064996e-02 6.530523643565112e-02 6.521716192687264e-02 6.512903665438342e-02 6.504086097557776e-02 - 6.495263535156262e-02 6.486436022769713e-02 6.477603601048113e-02 6.468766306269763e-02 6.459924187637454e-02 - 6.451077298036002e-02 6.442225675573160e-02 6.433369358016772e-02 6.424508387319842e-02 6.415642813133042e-02 - 6.406772674084167e-02 6.397898002556264e-02 6.389018858464109e-02 6.380135290132970e-02 6.371247325592760e-02 - 6.362355010153516e-02 6.353458392277617e-02 6.344557514446422e-02 6.335652411846264e-02 6.326743126079815e-02 - 6.317829713990436e-02 6.308912216326193e-02 6.299990668862973e-02 6.291065117630994e-02 6.282135608306753e-02 - 6.273202182393535e-02 6.264264873955985e-02 6.255323731562341e-02 6.246378810230178e-02 6.237430143094801e-02 - 6.228477769978175e-02 6.219521740601344e-02 6.210562097707054e-02 6.201598879095212e-02 6.192632121693314e-02 - 6.183661876812600e-02 6.174688193928092e-02 6.165711112558074e-02 6.156730673780070e-02 6.147746920022401e-02 - 6.138759893800432e-02 6.129769633241683e-02 6.120776180293847e-02 6.111779589683188e-02 6.102779903735479e-02 - 6.093777158500626e-02 6.084771398591046e-02 6.075762667844817e-02 6.066751007308262e-02 6.057736455111417e-02 - 6.048719057054321e-02 6.039698864588414e-02 6.030675917961215e-02 6.021650256672047e-02 6.012621923377075e-02 - 6.003590961818356e-02 5.994557411659043e-02 5.985521308639186e-02 5.976482706463886e-02 5.967441656528669e-02 - 5.958398192281734e-02 5.949352353003544e-02 5.940304183449088e-02 5.931253730252380e-02 5.922201027916447e-02 - 5.913146112197507e-02 5.904089044032181e-02 5.895029868043596e-02 5.885968615096351e-02 5.876905326755812e-02 - 5.867840050492581e-02 5.858772833116550e-02 5.849703703991720e-02 5.840632705235495e-02 5.831559896255584e-02 - 5.822485314806121e-02 5.813408997000494e-02 5.804330987759122e-02 5.795251328764216e-02 5.786170059865808e-02 - 5.777087221384987e-02 5.768002859772193e-02 5.758917021647553e-02 5.749829746896256e-02 5.740741077575853e-02 - 5.731651056875526e-02 5.722559725171274e-02 5.713467118430270e-02 5.704373274635539e-02 5.695278249332581e-02 - 5.686182088614487e-02 5.677084826809927e-02 5.667986504336005e-02 5.658887165217444e-02 5.649786853613976e-02 - 5.640685602792318e-02 5.631583453941855e-02 5.622480462822738e-02 5.613376666437993e-02 5.604272100502515e-02 - 5.595166813210956e-02 5.586060845174765e-02 5.576954232437998e-02 5.567847012652845e-02 5.558739236715193e-02 - 5.549630955542323e-02 5.540522197136583e-02 5.531413002536285e-02 5.522303422299683e-02 5.513193492275553e-02 - 5.504083247717721e-02 5.494972729209355e-02 5.485861988753332e-02 5.476751071228679e-02 5.467640010379995e-02 - 5.458528846418693e-02 5.449417622493567e-02 5.440306381105370e-02 5.431195155656662e-02 5.422083985771245e-02 - 5.412972927459819e-02 5.403862019627870e-02 5.394751295390937e-02 5.385640797531270e-02 5.376530569364821e-02 - 5.367420650537214e-02 5.358311072889269e-02 5.349201882499156e-02 5.340093132499041e-02 5.330984856991542e-02 - 5.321877091980749e-02 5.312769879767464e-02 5.303663263591166e-02 5.294557280318667e-02 5.285451962473617e-02 - 5.276347361952855e-02 5.267243525955664e-02 5.258140485845194e-02 5.249038280640431e-02 5.239936952998326e-02 - 5.230836544276557e-02 5.221737088032564e-02 5.212638621732711e-02 5.203541199430900e-02 5.194444860919033e-02 - 5.185349638284296e-02 5.176255572471577e-02 5.167162705674897e-02 5.158071077330502e-02 5.148980718747074e-02 - 5.139891673261619e-02 5.130803993485430e-02 5.121717713356427e-02 5.112632867301793e-02 5.103549496777923e-02 - 5.094467643725986e-02 5.085387344650644e-02 5.076308630673339e-02 5.067231551219451e-02 5.058156153920812e-02 - 5.049082469322039e-02 5.040010534612100e-02 5.030940391348503e-02 5.021872080090227e-02 5.012805633824483e-02 - 5.003741087422633e-02 4.994678493647212e-02 4.985617892926745e-02 4.976559315779018e-02 4.967502801470126e-02 - 4.958448390876292e-02 4.949396122643934e-02 4.940346027599988e-02 4.931298146262254e-02 4.922252530167843e-02 - 4.913209213539834e-02 4.904168229174269e-02 4.895129616994274e-02 4.886093417404704e-02 4.877059666413559e-02 - 4.868028394034647e-02 4.858999646754281e-02 4.849973472130898e-02 4.840949900241633e-02 4.831928966152828e-02 - 4.822910709871525e-02 4.813895171199074e-02 4.804882382564480e-02 4.795872376124456e-02 4.786865202942978e-02 - 4.777860903855367e-02 4.768859507592742e-02 4.759861051627762e-02 4.750865575639699e-02 4.741873117406014e-02 - 4.732883706721817e-02 4.723897381137243e-02 4.714914191200375e-02 4.705934171189571e-02 4.696957351961628e-02 - 4.687983771740974e-02 4.679013469431771e-02 4.670046480338604e-02 4.661082833156779e-02 4.652122571187634e-02 - 4.643165741520618e-02 4.634212373882778e-02 4.625262501422293e-02 4.616316162482947e-02 4.607373395212459e-02 - 4.598434231610999e-02 4.589498701904484e-02 4.580566854223844e-02 4.571638729424802e-02 4.562714355109129e-02 - 4.553793766452621e-02 4.544877001582995e-02 4.535964097502848e-02 4.527055082898004e-02 4.518149992236756e-02 - 4.509248874970542e-02 4.500351765014129e-02 4.491458690878355e-02 4.482569689376779e-02 4.473684797939540e-02 - 4.464804050747698e-02 4.455927474828068e-02 4.447055110499822e-02 4.438187004531898e-02 4.429323185876936e-02 - 4.420463685202721e-02 4.411608538888854e-02 4.402757783926076e-02 4.393911451733543e-02 4.385069570127949e-02 - 4.376232184208732e-02 4.367399334643604e-02 4.358571047769912e-02 4.349747356709084e-02 4.340928298020802e-02 - 4.332113907381294e-02 4.323304212320113e-02 4.314499244129432e-02 4.305699050668390e-02 4.296903665620930e-02 - 4.288113115167341e-02 4.279327434447749e-02 4.270546659199307e-02 4.261770822231841e-02 4.252999949469098e-02 - 4.244234077853745e-02 4.235473252680039e-02 4.226717502474875e-02 4.217966855846760e-02 4.209221347273914e-02 - 4.200481011967518e-02 4.191745880279663e-02 4.183015977695443e-02 4.174291346429643e-02 4.165572027077732e-02 - 4.156858044734360e-02 4.148149429654668e-02 4.139446216241891e-02 4.130748439363172e-02 4.122056125606220e-02 - 4.113369302794675e-02 4.104688016346336e-02 4.096012300095512e-02 4.087342178434451e-02 4.078677683583759e-02 - 4.070018849668031e-02 4.061365708919899e-02 4.052718285106741e-02 4.044076611819490e-02 4.035440733833207e-02 - 4.026810678092279e-02 4.018186470341873e-02 4.009568143909095e-02 4.000955732298062e-02 3.992349264534106e-02 - 3.983748763759326e-02 3.975154269055037e-02 3.966565820546299e-02 3.957983441649049e-02 3.949407160357907e-02 - 3.940837009289332e-02 3.932273021031552e-02 3.923715221270428e-02 3.915163635394041e-02 3.906618306202975e-02 - 3.898079266950179e-02 3.889546539672872e-02 3.881020154253283e-02 3.872500143016262e-02 3.863986536923758e-02 - 3.855479358615301e-02 3.846978637959592e-02 3.838484417257106e-02 3.829996723484980e-02 3.821515580420295e-02 - 3.813041018714970e-02 3.804573069687705e-02 3.796111761198420e-02 3.787657114752344e-02 3.779209165765486e-02 - 3.770767953120019e-02 3.762333499040284e-02 3.753905829251161e-02 3.745484974542636e-02 3.737070965331050e-02 - 3.728663825939783e-02 3.720263578933122e-02 3.711870264209954e-02 3.703483914671073e-02 3.695104550519348e-02 - 3.686732199057993e-02 3.678366890490292e-02 3.670008654113079e-02 3.661657511036890e-02 3.653313487804630e-02 - 3.644976625150438e-02 3.636646948823320e-02 3.628324479604935e-02 3.620009246605282e-02 3.611701279349350e-02 - 3.603400604041686e-02 3.595107239910939e-02 3.586821219020735e-02 3.578542579441001e-02 3.570271341631447e-02 - 3.562007528519529e-02 3.553751169069794e-02 3.545502291550906e-02 3.537260919186706e-02 3.529027072401183e-02 - 3.520800787214007e-02 3.512582095428173e-02 3.504371015751370e-02 3.496167573051010e-02 3.487971795476078e-02 - 3.479783710598274e-02 3.471603337811516e-02 3.463430699965583e-02 3.455265835796009e-02 3.447108770848941e-02 - 3.438959523450754e-02 3.430818119554624e-02 3.422684586511945e-02 3.414558949343227e-02 3.406441225419257e-02 - 3.398331443038755e-02 3.390229638782512e-02 3.382135832287533e-02 3.374050043789544e-02 3.365972299780525e-02 - 3.357902626321113e-02 3.349841045119794e-02 3.341787574130316e-02 3.333742246166845e-02 3.325705092272905e-02 - 3.317676129391954e-02 3.309655379649919e-02 3.301642868788483e-02 3.293638622159571e-02 3.285642658240021e-02 - 3.277654996949401e-02 3.269675673538998e-02 3.261704712715797e-02 3.253742130855802e-02 3.245787951722746e-02 - 3.237842200259459e-02 3.229904899349424e-02 3.221976065258773e-02 3.214055722659278e-02 3.206143905506719e-02 - 3.198240632628265e-02 3.190345921865954e-02 3.182459797365254e-02 3.174582282841434e-02 3.166713398447476e-02 - 3.158853160183031e-02 3.151001597036992e-02 3.143158738592136e-02 3.135324600516137e-02 3.127499202279022e-02 - 3.119682567104914e-02 3.111874718036912e-02 3.104075672462514e-02 3.096285447683152e-02 3.088504075536903e-02 - 3.080731579690068e-02 3.072967974437236e-02 3.065213281019982e-02 3.057467522135681e-02 3.049730718652442e-02 - 3.042002885157935e-02 3.034284042889533e-02 3.026574223701538e-02 3.018873445294931e-02 3.011181722724549e-02 - 3.003499077734359e-02 2.995825532248887e-02 2.988161104857855e-02 2.980505808548691e-02 2.972859668986686e-02 - 2.965222714891759e-02 2.957594959806504e-02 2.949976420500935e-02 2.942367118266701e-02 2.934767073798247e-02 - 2.927176302885600e-02 2.919594820074298e-02 2.912022654108078e-02 2.904459827654108e-02 2.896906352751058e-02 - 2.889362247668933e-02 2.881827533028623e-02 2.874302228403363e-02 2.866786346167200e-02 2.859279903706265e-02 - 2.851782931145582e-02 2.844295445253672e-02 2.836817458182308e-02 2.829348988995876e-02 2.821890057629359e-02 - 2.814440681221589e-02 2.807000870175516e-02 2.799570646465742e-02 2.792150037589211e-02 2.784739055623231e-02 - 2.777337714638600e-02 2.769946033688953e-02 2.762564030841585e-02 2.755191720229608e-02 2.747829114116882e-02 - 2.740476237631904e-02 2.733133112357609e-02 2.725799748998750e-02 2.718476162641247e-02 2.711162371095654e-02 - 2.703858392279279e-02 2.696564237390275e-02 2.689279920452167e-02 2.682005468428394e-02 2.674740897239565e-02 - 2.667486216835663e-02 2.660241443488607e-02 2.653006594727732e-02 2.645781686062815e-02 2.638566726160998e-02 - 2.631361733435826e-02 2.624166733570949e-02 2.616981737012440e-02 2.609806754771221e-02 2.602641803533937e-02 - 2.595486900051258e-02 2.588342056814261e-02 2.581207282360541e-02 2.574082599292273e-02 2.566968028470076e-02 - 2.559863577456860e-02 2.552769259041796e-02 2.545685089381796e-02 2.538611083889939e-02 2.531547252137675e-02 - 2.524493605061727e-02 2.517450166747065e-02 2.510416952086314e-02 2.503393968681819e-02 2.496381230163825e-02 - 2.489378751859868e-02 2.482386547683629e-02 2.475404624292582e-02 2.468432996264991e-02 2.461471687229032e-02 - 2.454520706873932e-02 2.447580063686782e-02 2.440649771598710e-02 2.433729844997764e-02 2.426820294893469e-02 - 2.419921127712116e-02 2.413032362216684e-02 2.406154017790910e-02 2.399286100816565e-02 2.392428621229386e-02 - 2.385581592554643e-02 2.378745028409909e-02 2.371918936700126e-02 2.365103325041379e-02 2.358298215018098e-02 - 2.351503620457756e-02 2.344719546326070e-02 2.337946004127276e-02 2.331183006962702e-02 2.324430566419196e-02 - 2.317688687789637e-02 2.310957382435168e-02 2.304236671579298e-02 2.297526563441205e-02 2.290827063843882e-02 - 2.284138184722980e-02 2.277459938171355e-02 2.270792333404544e-02 2.264135374860772e-02 2.257489077729924e-02 - 2.250853459738779e-02 2.244228525780410e-02 2.237614283279474e-02 2.231010743473913e-02 2.224417917668724e-02 - 2.217835812285958e-02 2.211264432248330e-02 2.204703795931322e-02 2.198153916317220e-02 2.191614796666107e-02 - 2.185086445220271e-02 2.178568872592581e-02 2.172062089111306e-02 2.165566098457172e-02 2.159080908357505e-02 - 2.152606537366001e-02 2.146142993110024e-02 2.139690279242156e-02 2.133248404619538e-02 2.126817379406035e-02 - 2.120397211607284e-02 2.113987903003668e-02 2.107589465469217e-02 2.101201915594272e-02 2.094825256288664e-02 - 2.088459492231405e-02 2.082104632696408e-02 2.075760686991806e-02 2.069427660166107e-02 2.063105554609518e-02 - 2.056794384972622e-02 2.050494162894281e-02 2.044204890243054e-02 2.037926573000831e-02 2.031659219454509e-02 - 2.025402837653619e-02 2.019157429898307e-02 2.012923000978476e-02 2.006699566765361e-02 2.000487133731908e-02 - 1.994285703240835e-02 1.988095281849638e-02 1.981915877663429e-02 1.975747497137283e-02 1.969590139839621e-02 - 1.963443814246610e-02 1.957308535571834e-02 1.951184305296579e-02 1.945071125524195e-02 1.938969003470093e-02 - 1.932877945979973e-02 1.926797956444602e-02 1.920729035294688e-02 1.914671194302782e-02 1.908624443873623e-02 - 1.902588783798898e-02 1.896564217312377e-02 1.890550750534374e-02 1.884548390173623e-02 1.878557136933607e-02 - 1.872576992282937e-02 1.866607969751645e-02 1.860650074902563e-02 1.854703306920867e-02 1.848767670108510e-02 - 1.842843170242723e-02 1.836929811895166e-02 1.831027593341436e-02 1.825136519709141e-02 1.819256603897189e-02 - 1.813387846842225e-02 1.807530248298604e-02 1.801683812530333e-02 1.795848544988909e-02 1.790024447932676e-02 - 1.784211518704799e-02 1.778409766075985e-02 1.772619199567190e-02 1.766839817113224e-02 1.761071619932593e-02 - 1.755314612276550e-02 1.749568797940397e-02 1.743834176385679e-02 1.738110747126647e-02 1.732398520795971e-02 - 1.726697501687009e-02 1.721007686976607e-02 1.715329079150987e-02 1.709661681774517e-02 1.704005496995066e-02 - 1.698360522175755e-02 1.692726759648597e-02 1.687104219632033e-02 1.681492902190890e-02 1.675892805218375e-02 - 1.670303930866012e-02 1.664726282100333e-02 1.659159859573434e-02 1.653604659349284e-02 1.648060687061485e-02 - 1.642527950537791e-02 1.637006446137386e-02 1.631496172845883e-02 1.625997133117372e-02 1.620509328829045e-02 - 1.615032758053278e-02 1.609567417924041e-02 1.604113316306734e-02 1.598670456411958e-02 1.593238833576510e-02 - 1.587818448257840e-02 1.582409302120838e-02 1.577011395254391e-02 1.571624723647299e-02 1.566249287063067e-02 - 1.560885093721684e-02 1.555532142372995e-02 1.550190428691725e-02 1.544859953345741e-02 1.539540716895692e-02 - 1.534232718045593e-02 1.528935952298772e-02 1.523650422043375e-02 1.518376132655854e-02 1.513113080051426e-02 - 1.507861261080395e-02 1.502620675643192e-02 1.497391324399307e-02 1.492173204313831e-02 1.486966309840608e-02 - 1.481770646058926e-02 1.476586215324725e-02 1.471413011485714e-02 1.466251032223325e-02 1.461100277337298e-02 - 1.455960746411957e-02 1.450832433725036e-02 1.445715335761371e-02 1.440609458945226e-02 1.435514801148310e-02 - 1.430431355790390e-02 1.425359121341204e-02 1.420298097105418e-02 1.415248280845771e-02 1.410209665546564e-02 - 1.405182250942155e-02 1.400166041623447e-02 1.395161031395394e-02 1.390167215017196e-02 1.385184591619880e-02 - 1.380213159317199e-02 1.375252913341631e-02 1.370303846818604e-02 1.365365962256361e-02 1.360439260851619e-02 - 1.355523734898775e-02 1.350619380184460e-02 1.345726194685572e-02 1.340844175819677e-02 1.335973317080697e-02 - 1.331113613029375e-02 1.326265067233158e-02 1.321427676765317e-02 1.316601433678336e-02 1.311786334248669e-02 - 1.306982375879771e-02 1.302189555021592e-02 1.297407863461756e-02 1.292637298076667e-02 1.287877861455418e-02 - 1.283129547339001e-02 1.278392348592105e-02 1.273666261347862e-02 1.268951282495219e-02 1.264247406704279e-02 - 1.259554625321822e-02 1.254872937642621e-02 1.250202343522368e-02 1.245542834900525e-02 1.240894405313941e-02 - 1.236257050462080e-02 1.231630767029411e-02 1.227015547343941e-02 1.222411383176151e-02 1.217818275998809e-02 - 1.213236222220244e-02 1.208665212384520e-02 1.204105241018576e-02 1.199556303854240e-02 1.195018395838791e-02 - 1.190491507365890e-02 1.185975632952753e-02 1.181470773836339e-02 1.176976922480089e-02 1.172494069835479e-02 - 1.168022211004454e-02 1.163561340968965e-02 1.159111452823667e-02 1.154672536811994e-02 1.150244589927961e-02 - 1.145827610670764e-02 1.141421589534856e-02 1.137026518661645e-02 1.132642392502224e-02 1.128269205281729e-02 - 1.123906948383837e-02 1.119555612518262e-02 1.115215196588227e-02 1.110885695891592e-02 1.106567099667937e-02 - 1.102259400831050e-02 1.097962593601935e-02 1.093676671505125e-02 1.089401623812122e-02 1.085137442757511e-02 - 1.080884127911701e-02 1.076641671182367e-02 1.072410061923310e-02 1.068189293399554e-02 1.063979359231152e-02 - 1.059780251428707e-02 1.055591958418482e-02 1.051414475108346e-02 1.047247799305691e-02 1.043091920126454e-02 - 1.038946827795377e-02 1.034812515386981e-02 1.030688975996647e-02 1.026576200007446e-02 1.022474176231751e-02 - 1.018382901647819e-02 1.014302370834395e-02 1.010232571551464e-02 1.006173495028295e-02 1.002125134058496e-02 - 9.980874808217161e-03 9.940605238090998e-03 9.900442533803457e-03 9.860386673211879e-03 9.820437566105797e-03 - 9.780595089730604e-03 9.740859166502601e-03 9.701229717604148e-03 9.661706648486619e-03 9.622289837555094e-03 - 9.582979211676392e-03 9.543774731762645e-03 9.504676285752028e-03 9.465683761437204e-03 9.426797070527869e-03 - 9.388016130061547e-03 9.349340837763126e-03 9.310771071700266e-03 9.272306774287777e-03 9.233947879847340e-03 - 9.195694263233465e-03 9.157545820041815e-03 9.119502462398593e-03 9.081564104605406e-03 9.043730620594144e-03 - 9.006001891771507e-03 8.968377884117109e-03 8.930858503326412e-03 8.893443610144467e-03 8.856133108771761e-03 - 8.818926910576046e-03 8.781824915337199e-03 8.744826984807866e-03 8.707933026764444e-03 8.671142997995955e-03 - 8.634456771198624e-03 8.597874217863410e-03 8.561395247729468e-03 8.525019762147885e-03 8.488747643810387e-03 - 8.452578758551675e-03 8.416513035074836e-03 8.380550402064440e-03 8.344690718755845e-03 8.308933866062409e-03 - 8.273279745485652e-03 8.237728259206089e-03 8.202279277607399e-03 8.166932668725525e-03 8.131688373197346e-03 - 8.096546291813443e-03 8.061506280849479e-03 8.026568229604077e-03 7.991732033790425e-03 7.956997581179438e-03 - 7.922364735477982e-03 7.887833385768220e-03 7.853403460644042e-03 7.819074838170454e-03 7.784847385209607e-03 - 7.750720988388416e-03 7.716695538073770e-03 7.682770912288046e-03 7.648946965667346e-03 7.615223607644973e-03 - 7.581600758648286e-03 7.548078272068747e-03 7.514656018308716e-03 7.481333888256649e-03 7.448111767084748e-03 - 7.414989518558892e-03 7.381967002509678e-03 7.349044141005179e-03 7.316220829119200e-03 7.283496916229069e-03 - 7.250872276568530e-03 7.218346796125786e-03 7.185920358959778e-03 7.153592811909379e-03 7.121364026156801e-03 - 7.089233934032213e-03 7.057202401526107e-03 7.025269274784423e-03 6.993434437254338e-03 6.961697770726437e-03 - 6.930059144137623e-03 6.898518406074085e-03 6.867075445461445e-03 6.835730169890301e-03 6.804482436531050e-03 - 6.773332103630715e-03 6.742279042830752e-03 6.711323134446215e-03 6.680464239400761e-03 6.649702204950062e-03 - 6.619036937093537e-03 6.588468325547939e-03 6.557996212108587e-03 6.527620458965777e-03 6.497340941897300e-03 - 6.467157538628341e-03 6.437070090473932e-03 6.407078453159759e-03 6.377182548096138e-03 6.347382238649846e-03 - 6.317677359750170e-03 6.288067782822399e-03 6.258553381641384e-03 6.229134019133821e-03 6.199809533909972e-03 - 6.170579803332374e-03 6.141444731866248e-03 6.112404164377095e-03 6.083457948651627e-03 6.054605954063168e-03 - 6.025848047899531e-03 5.997184082520315e-03 5.968613898555075e-03 5.940137388272029e-03 5.911754435973001e-03 - 5.883464876798197e-03 5.855268565478542e-03 5.827165369238958e-03 5.799155152943781e-03 5.771237757858197e-03 - 5.743413031370796e-03 5.715680873423079e-03 5.688041146137241e-03 5.660493683352233e-03 5.633038344713090e-03 - 5.605674994693767e-03 5.578403490874967e-03 5.551223666073857e-03 5.524135383482108e-03 5.497138538622371e-03 - 5.470232973711985e-03 5.443418527865922e-03 5.416695061766649e-03 5.390062436684385e-03 5.363520500801443e-03 - 5.337069085950208e-03 5.310708070645691e-03 5.284437334686721e-03 5.258256709167105e-03 5.232166039984466e-03 - 5.206165186351173e-03 5.180254006079314e-03 5.154432337116667e-03 5.128700017566677e-03 5.103056934758595e-03 - 5.077502948400768e-03 5.052037887552509e-03 5.026661602896529e-03 5.001373950974750e-03 4.976174783805283e-03 - 4.951063931174483e-03 4.926041244835856e-03 4.901106610871052e-03 4.876259869861805e-03 4.851500854152867e-03 - 4.826829416485723e-03 4.802245411238555e-03 4.777748682676776e-03 4.753339057595283e-03 4.729016402174706e-03 - 4.704780591018902e-03 4.680631452386119e-03 4.656568824906738e-03 4.632592561043116e-03 4.608702512089780e-03 - 4.584898512841469e-03 4.561180394112987e-03 4.537548032865621e-03 4.514001286180084e-03 4.490539978046344e-03 - 4.467163952568486e-03 4.443873060291688e-03 4.420667147623122e-03 4.397546041481102e-03 4.374509584352294e-03 - 4.351557654555007e-03 4.328690090868674e-03 4.305906719484884e-03 4.283207387010587e-03 4.260591942258349e-03 - 4.238060226010617e-03 4.215612060889534e-03 4.193247302342208e-03 4.170965820265097e-03 4.148767441443334e-03 - 4.126651998168965e-03 4.104619336614093e-03 4.082669303050944e-03 4.060801730082235e-03 4.039016442831475e-03 - 4.017313308452854e-03 3.995692181792875e-03 3.974152883344686e-03 3.952695251163741e-03 3.931319130911208e-03 - 3.910024364917125e-03 3.888810777810686e-03 3.867678204037116e-03 3.846626514691173e-03 3.825655547709963e-03 - 3.804765124734014e-03 3.783955087456414e-03 3.763225279741349e-03 3.742575538839424e-03 3.722005684569956e-03 - 3.701515563829318e-03 3.681105042529648e-03 3.660773945892437e-03 3.640522100973796e-03 3.620349349516141e-03 - 3.600255533338096e-03 3.580240483202974e-03 3.560304020332013e-03 3.540446002992503e-03 3.520666284206718e-03 - 3.500964682823155e-03 3.481341031384374e-03 3.461795171007476e-03 3.442326941040924e-03 3.422936165061433e-03 - 3.403622671201535e-03 3.384386323473485e-03 3.365226959961049e-03 3.346144399498565e-03 3.327138478378434e-03 - 3.308209036536853e-03 3.289355909461925e-03 3.270578915351533e-03 3.251877893639187e-03 3.233252706195778e-03 - 3.214703178029928e-03 3.196229132118811e-03 3.177830406368320e-03 3.159506839403438e-03 3.141258260810600e-03 - 3.123084488811596e-03 3.104985374197366e-03 3.086960768611876e-03 3.069010490077185e-03 3.051134366997480e-03 - 3.033332237019262e-03 3.015603936903380e-03 2.997949290147841e-03 2.980368120588831e-03 2.962860285290425e-03 - 2.945425622240710e-03 2.928063948810786e-03 2.910775098113858e-03 2.893558906982335e-03 2.876415208617919e-03 - 2.859343821344898e-03 2.842344578930633e-03 2.825417338731532e-03 2.808561926446875e-03 2.791778162629514e-03 - 2.775065882662152e-03 2.758424922052246e-03 2.741855109318431e-03 2.725356262118107e-03 2.708928224810950e-03 - 2.692570847204586e-03 2.676283947708203e-03 2.660067352018658e-03 2.643920895408666e-03 2.627844412630983e-03 - 2.611837727127577e-03 2.595900659591014e-03 2.580033062057212e-03 2.564234773200918e-03 2.548505609580814e-03 - 2.532845401329118e-03 2.517253983314282e-03 2.501731188088862e-03 2.486276834298587e-03 2.470890751027053e-03 - 2.455572791828030e-03 2.440322784214469e-03 2.425140547489158e-03 2.410025914370114e-03 2.394978718743150e-03 - 2.379998789312335e-03 2.365085943631231e-03 2.350240020749269e-03 2.335460868942443e-03 2.320748308349550e-03 - 2.306102163022297e-03 2.291522266200105e-03 2.277008450857895e-03 2.262560541519312e-03 2.248178358404482e-03 - 2.233861748393963e-03 2.219610550590767e-03 2.205424582540762e-03 2.191303672653564e-03 2.177247654150935e-03 - 2.163256358437406e-03 2.149329606085116e-03 2.135467224025938e-03 2.121669062135428e-03 2.107934949596006e-03 - 2.094264705479671e-03 2.080658161247730e-03 2.067115150052171e-03 2.053635501035216e-03 2.040219032033609e-03 - 2.026865578574763e-03 2.013574988607888e-03 2.000347084189316e-03 1.987181688126059e-03 1.974078632294973e-03 - 1.961037750159034e-03 1.948058867783843e-03 1.935141804192390e-03 1.922286403096425e-03 1.909492504980594e-03 - 1.896759928265229e-03 1.884088500763132e-03 1.871478055631251e-03 1.858928424089599e-03 1.846439428400912e-03 - 1.834010894228015e-03 1.821642669213327e-03 1.809334584628213e-03 1.797086460037203e-03 1.784898126770644e-03 - 1.772769417737367e-03 1.760700162615002e-03 1.748690181778845e-03 1.736739308394668e-03 1.724847388831493e-03 - 1.713014248130287e-03 1.701239709792772e-03 1.689523605558227e-03 1.677865768960374e-03 1.666266027776910e-03 - 1.654724201747776e-03 1.643240132443950e-03 1.631813662093462e-03 1.620444610863358e-03 1.609132806416696e-03 - 1.597878082462674e-03 1.586680271167799e-03 1.575539197124769e-03 1.564454685806544e-03 1.553426583192850e-03 - 1.542454723186195e-03 1.531538926942232e-03 1.520679025889417e-03 1.509874853790604e-03 1.499126242122267e-03 - 1.488433013507451e-03 1.477795000037597e-03 1.467212048115432e-03 1.456683985464255e-03 1.446210636719452e-03 - 1.435791835117153e-03 1.425427414393694e-03 1.415117204211151e-03 1.404861027594662e-03 1.394658724273689e-03 - 1.384510137356095e-03 1.374415090575271e-03 1.364373412382042e-03 1.354384937246215e-03 1.344449499301808e-03 - 1.334566925970926e-03 1.324737043332181e-03 1.314959696939330e-03 1.305234723823342e-03 1.295561947265019e-03 - 1.285941199528206e-03 1.276372315963847e-03 1.266855130463658e-03 1.257389468322312e-03 1.247975161599065e-03 - 1.238612057815808e-03 1.229299987951490e-03 1.220038778115428e-03 1.210828263449681e-03 1.201668279419893e-03 - 1.192558658328712e-03 1.183499226491516e-03 1.174489822883548e-03 1.165530291825810e-03 1.156620461345326e-03 - 1.147760161971411e-03 1.138949229776032e-03 1.130187500878873e-03 1.121474806129454e-03 1.112810973708310e-03 - 1.104195848566657e-03 1.095629271185936e-03 1.087111069073448e-03 1.078641075658101e-03 1.070219127753748e-03 - 1.061845062287274e-03 1.053518708913237e-03 1.045239900848634e-03 1.037008485418972e-03 1.028824298155823e-03 - 1.020687168641753e-03 1.012596933141099e-03 1.004553429894111e-03 9.965564952721074e-04 9.886059579764911e-04 - 9.807016577383673e-04 9.728434421263681e-04 9.650311428619217e-04 9.572645925441391e-04 9.495436296868831e-04 - 9.418680934992058e-04 9.342378189983833e-04 9.266526374013966e-04 9.191123940951565e-04 9.116169327210938e-04 - 9.041660846048507e-04 8.967596865276394e-04 8.893975784458786e-04 8.820795994475233e-04 8.748055834052338e-04 - 8.675753662309574e-04 8.603887967412885e-04 8.532457145816050e-04 8.461459528881801e-04 8.390893515597134e-04 - 8.320757512954288e-04 8.251049910410551e-04 8.181769052102455e-04 8.112913354889369e-04 8.044481307476467e-04 - 7.976471276304203e-04 7.908881626723219e-04 7.841710779271092e-04 7.774957151422038e-04 7.708619131557394e-04 - 7.642695077220146e-04 7.577183458379644e-04 7.512082748417916e-04 7.447391309361296e-04 7.383107537219758e-04 - 7.319229861740803e-04 7.255756719189899e-04 7.192686493738265e-04 7.130017570250109e-04 7.067748463319056e-04 - 7.005877618919097e-04 6.944403408515077e-04 6.883324261093659e-04 6.822638623160529e-04 6.762344932684062e-04 - 6.702441573916524e-04 6.642926986443232e-04 6.583799694858947e-04 6.525058122102392e-04 6.466700672293728e-04 - 6.408725793807691e-04 6.351131947715911e-04 6.293917574305099e-04 6.237081070877600e-04 6.180620932909059e-04 - 6.124535677685099e-04 6.068823714677426e-04 6.013483481700967e-04 5.958513451670206e-04 5.903912096703989e-04 - 5.849677853780454e-04 5.795809154020751e-04 5.742304534677881e-04 5.689162489783443e-04 5.636381442526738e-04 - 5.583959863498279e-04 5.531896240506697e-04 5.480189055622431e-04 5.428836748799696e-04 5.377837797240800e-04 - 5.327190759830209e-04 5.276894110958636e-04 5.226946300477827e-04 5.177345825024617e-04 5.128091188465486e-04 - 5.079180879528710e-04 5.030613351067660e-04 4.982387130290541e-04 4.934500776624026e-04 4.886952758062522e-04 - 4.839741558713263e-04 4.792865695826084e-04 4.746323688630657e-04 4.700114029595036e-04 4.654235198613055e-04 - 4.608685766627245e-04 4.563464280591107e-04 4.518569219186994e-04 4.473999099762359e-04 4.429752457691277e-04 - 4.385827824909558e-04 4.342223700107388e-04 4.298938604566902e-04 4.255971135329090e-04 4.213319826090788e-04 - 4.170983180859963e-04 4.128959744299958e-04 4.087248069577171e-04 4.045846700338900e-04 4.004754147907325e-04 - 3.963968979642262e-04 3.923489801919561e-04 3.883315144592717e-04 3.843443544269981e-04 3.803873568608614e-04 - 3.764603788261386e-04 3.725632754784107e-04 3.686959004384349e-04 3.648581147870281e-04 3.610497787686854e-04 - 3.572707463878945e-04 3.535208745539621e-04 3.498000220657478e-04 3.461080477383748e-04 3.424448076363575e-04 - 3.388101589386426e-04 3.352039657815740e-04 3.316260877532703e-04 3.280763812137888e-04 3.245547060139738e-04 - 3.210609229167205e-04 3.175948921405597e-04 3.141564711604799e-04 3.107455215081982e-04 3.073619088757455e-04 - 3.040054927848886e-04 3.006761327105527e-04 2.973736909925681e-04 2.940980303881470e-04 2.908490123115160e-04 - 2.876264965105581e-04 2.844303488008553e-04 2.812604353029198e-04 2.781166164989417e-04 2.749987551423296e-04 - 2.719067158817455e-04 2.688403633742989e-04 2.657995602462465e-04 2.627841695326067e-04 2.597940603791381e-04 - 2.568290988582687e-04 2.538891477672460e-04 2.509740728301346e-04 2.480837407612393e-04 2.452180180501483e-04 - 2.423767689150773e-04 2.395598604007145e-04 2.367671637065971e-04 2.339985452156380e-04 2.312538707417314e-04 - 2.285330086975239e-04 2.258358279521211e-04 2.231621965330517e-04 2.205119809474630e-04 2.178850522930381e-04 - 2.152812827957872e-04 2.127005401044592e-04 2.101426932429596e-04 2.076076129630843e-04 2.050951703707553e-04 - 2.026052350574154e-04 2.001376764695323e-04 1.976923692963255e-04 1.952691863631026e-04 1.928679973631469e-04 - 1.904886744667185e-04 1.881310908124045e-04 1.857951194428946e-04 1.834806317739651e-04 1.811875010647571e-04 - 1.789156043640377e-04 1.766648152326652e-04 1.744350063601967e-04 1.722260526922104e-04 1.700378296945535e-04 - 1.678702123432160e-04 1.657230742438847e-04 1.635962925697728e-04 1.614897461072756e-04 1.594033097074569e-04 - 1.573368592094730e-04 1.552902721810668e-04 1.532634264532060e-04 1.512561988693490e-04 1.492684659352835e-04 - 1.473001083560244e-04 1.453510059716440e-04 1.434210358729406e-04 1.415100771164913e-04 1.396180097223186e-04 - 1.377447137267307e-04 1.358900680130841e-04 1.340539526362652e-04 1.322362510498252e-04 1.304368442346035e-04 - 1.286556121626104e-04 1.268924368411170e-04 1.251472007379926e-04 1.234197860690376e-04 1.217100740639766e-04 - 1.200179485071157e-04 1.183432949752447e-04 1.166859960758634e-04 1.150459349477667e-04 1.134229962637926e-04 - 1.118170649981152e-04 1.102280255615328e-04 1.086557620076939e-04 1.071001616642248e-04 1.055611117192228e-04 - 1.040384970703678e-04 1.025322040262462e-04 1.010421198490596e-04 9.956813202096472e-05 9.811012722455996e-05 - 9.666799283658755e-05 9.524161921027426e-05 9.383089505710078e-05 9.243570803818307e-05 9.105594759252440e-05 - 8.969150364397068e-05 8.834226604286881e-05 8.700812397260034e-05 8.568896841419017e-05 8.438469212608002e-05 - 8.309518568825200e-05 8.182033994906239e-05 8.056004718218619e-05 7.931419998170841e-05 7.808269064296404e-05 - 7.686541112857092e-05 7.566225594198306e-05 7.447311991364301e-05 7.329789600792314e-05 7.213647827366786e-05 - 7.098876170896106e-05 6.985464163907488e-05 6.873401282606521e-05 6.762677039259616e-05 6.653281205307769e-05 - 6.545203459530543e-05 6.438433381335806e-05 6.332960688869456e-05 6.228775159650499e-05 6.125866586213212e-05 - 6.024224709312662e-05 5.923839394811549e-05 5.824700680510711e-05 5.726798458845817e-05 5.630122626966778e-05 - 5.534663202079377e-05 5.440410243697520e-05 5.347353805513213e-05 5.255483915897720e-05 5.164790790372327e-05 - 5.075264706713765e-05 4.986895809670387e-05 4.899674321102013e-05 4.813590548272275e-05 4.728634834520723e-05 - 4.644797500988253e-05 4.562068892036128e-05 4.480439551815946e-05 4.399899988301035e-05 4.320440633696577e-05 - 4.242052030402665e-05 4.164724778526068e-05 4.088449502887978e-05 4.013216802138054e-05 3.939017361734100e-05 - 3.865842020891389e-05 3.793681530287127e-05 3.722526637683801e-05 3.652368195642655e-05 3.583197100166348e-05 - 3.515004257550265e-05 3.447780563338777e-05 3.381517049939420e-05 3.316204825033269e-05 3.251834908257212e-05 - 3.188398376275541e-05 3.125886384349450e-05 3.064290126992314e-05 3.003600797392098e-05 2.943809607683111e-05 - 2.884907925556903e-05 2.826887119646782e-05 2.769738505988399e-05 2.713453488302094e-05 2.658023526748751e-05 - 2.603440114263312e-05 2.549694738792051e-05 2.496778949423694e-05 2.444684425976710e-05 2.393402805764408e-05 - 2.342925723948219e-05 2.293244905822871e-05 2.244352120797989e-05 2.196239159983278e-05 2.148897818423003e-05 - 2.102319990982268e-05 2.056497650699234e-05 2.011422722229805e-05 1.967087173846936e-05 1.923483045310688e-05 - 1.880602417859793e-05 1.838437386840237e-05 1.796980069033951e-05 1.756222699777835e-05 1.716157539169325e-05 - 1.676776819323897e-05 1.638072842752046e-05 1.600037965967140e-05 1.562664583506045e-05 1.525945101785764e-05 - 1.489871974108943e-05 1.454437762041471e-05 1.419635018600421e-05 1.385456300630342e-05 1.351894241351905e-05 - 1.318941519258516e-05 1.286590843459537e-05 1.254834939298960e-05 1.223666606495489e-05 1.193078719950152e-05 - 1.163064137727749e-05 1.133615754527981e-05 1.104726530816775e-05 1.076389469662666e-05 1.048597599093073e-05 - 1.021343974753131e-05 9.946217419267380e-06 9.684240838620889e-06 9.427441790773100e-06 9.175752643853506e-06 - 8.929106280098344e-06 8.687435997194528e-06 8.450675338936148e-06 8.218758257424963e-06 7.991619584870982e-06 - 7.769194298227330e-06 7.551417507621627e-06 7.338224987041431e-06 7.129552955942858e-06 6.925337997222138e-06 - 6.725516977155444e-06 6.530027335862672e-06 6.338807194551445e-06 6.151794769434223e-06 5.968928615355085e-06 - 5.790147878391894e-06 5.615392155261267e-06 5.444601365246586e-06 5.277715758699128e-06 5.114676291438329e-06 - 4.955424365336747e-06 4.799901525655197e-06 4.648049820836300e-06 4.499811793985402e-06 4.355130438087899e-06 - 4.213949069835453e-06 4.076211399540344e-06 3.941861865039729e-06 3.810845196499976e-06 3.683106361660463e-06 - 3.558590910585118e-06 3.437244835818923e-06 3.319014541070219e-06 3.203846795533912e-06 3.091688852089737e-06 - 2.982488579295818e-06 2.876194109656037e-06 2.772753925582794e-06 2.672117063800105e-06 2.574233014808049e-06 - 2.479051643033932e-06 2.386523210361943e-06 2.296598552297165e-06 2.209228971591383e-06 2.124366069775506e-06 - 2.041961906232304e-06 1.961969019732135e-06 1.884340423438541e-06 1.809029507182080e-06 1.735990071613592e-06 - 1.665176534356502e-06 1.596543687803830e-06 1.530046658503296e-06 1.465641105678908e-06 1.403283128309336e-06 - 1.342929271825179e-06 1.284536503035511e-06 1.228062233226246e-06 1.173464436795038e-06 1.120701460082181e-06 - 1.069732028902882e-06 1.020515399241352e-06 9.730112822753146e-07 9.271798002921477e-07 8.829815278752155e-07 - 8.403775374680640e-07 7.993293716485992e-07 7.597989809176624e-07 7.217487560416926e-07 6.851415619710593e-07 - 6.499407524191172e-07 6.161100929136179e-07 5.836137918783888e-07 5.524166028233452e-07 5.224836968385216e-07 - 4.937806609639881e-07 4.662735849361845e-07 4.399289991547822e-07 4.147139110260500e-07 3.905957813609555e-07 - 3.675425084859321e-07 3.455225231396512e-07 3.245046871736890e-07 3.044582778536548e-07 2.853530928283095e-07 - 2.671593859185241e-07 2.498478511400059e-07 2.333896726605378e-07 2.177564985206194e-07 2.029204500538344e-07 - 1.888541210793108e-07 1.755305458522738e-07 1.629232393506973e-07 1.510062144201093e-07 1.397539174372155e-07 - 1.291412703741045e-07 1.191437050672961e-07 1.097370923617762e-07 1.008977778162274e-07 9.260259669902208e-08 - 8.482883141984319e-08 7.755426670738778e-08 7.075715683240311e-08 6.441620467100832e-08 5.851063608240125e-08 - 5.302013495440350e-08 4.792483459927075e-08 4.320538955913144e-08 3.884291294265582e-08 3.481898425658018e-08 - 3.111569527451850e-08 2.771559342817648e-08 2.460171067137196e-08 2.175758348333717e-08 1.916719757773861e-08 - 1.681503457183268e-08 1.468607978947252e-08 1.276576812429566e-08 1.104003874048358e-08 9.495328649625366e-09 - 8.118528715645258e-09 6.897042498203040e-09 5.818760232281117e-09 4.872032311209139e-09 4.045732447740840e-09 - 3.329210679517489e-09 2.712284881132093e-09 2.185301687016959e-09 1.739076161987666e-09 1.364901589086205e-09 - 1.054599065845252e-09 8.004535320102697e-10 5.952414597054672e-10 4.322622496028902e-10 3.052766304104823e-10 - 2.085502003918036e-10 1.368642901349301e-10 8.546164059834664e-11 5.010215808832263e-11 2.705311520847365e-11 - 1.304599438344934e-11 5.339090781311160e-12 1.692041320615927e-12 3.321208355096226e-13 6.781366937015517e-15 diff --git a/examples/SPIN/dev/in.spin.cobalt b/examples/SPIN/dev/in.spin.cobalt deleted file mode 100644 index 8ab9843174..0000000000 --- a/examples/SPIN/dev/in.spin.cobalt +++ /dev/null @@ -1,129 +0,0 @@ -################### -#######Init######## -################### - -clear -units metal -dimension 3 -#boundary p p p -boundary p p p - -#newton off - -#setting atom_style to spin: -atom_style spin - -#Define sort for paramagnetic simulations (if no pair interaction) -#atom_modify sort 1000 4.0 - -atom_modify map array - -########################### -#######Create atoms######## -########################### - -lattice fcc 3.54 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -create_atoms 1 box - -####################### -#######Settings######## -####################### - -#isolating 1 atom into a group -group single_spin id 10 - -#Setting one or more properties of one or more atoms. -mass 1 58.93 - -#Setting spins orientation and moment -set group all spin/random 31 1.72 -#set group all spin 1.72 0.0 0.0 1.0 -#set group single_spin spin/random 11 1.72 - -#velocity all create 200 4928459 rot yes dist gaussian -velocity all create 200 4928459 rot yes dist gaussian - -#Magneto-mechanic interactions for bulk fcc Cobalt -#pair_style pair/spin/exchange 4.0 -#pair_style eam/alloy -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 - -pair_coeff * * eam/alloy ../examples/SPIN/dev/Co_PurjaPun_2012.eam.alloy Co -#pair_coeff * * ../Co_PurjaPun_2012.eam.alloy Co - -#pair_style pair/spin/exchange 4.0 -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -#pair_coeff * * exchange 4.0 -0.0446928 0.003496 1.4885 -#pair_coeff * * exchange 4.0 0.0 0.003496 1.4885 -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 -#pair_coeff * * pair/spin/exchange exchange 2.5 0.0446928 0.003496 1.4885 -#pair_coeff * * pair/spin/exchange exchange 4.0 0.0 0.003496 1.4885 - -#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) -#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 -#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 - -#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 - -pair_coeff * * pair/spin/soc/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 - -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.0 0.864159 2.13731 - -#Define a skin distance, update neigh list every -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 -#neighbor 1.0 bin -#neigh_modify every 1 check no delay 0 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.01 0.0 0.0 1.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -#fix 2 all langevin/spin 0.0 0.1 21 -fix 2 all langevin/spin 0.0 0.0 21 - -#Magnetic integration fix -fix 3 all integration/spin lattice yes -#fix 3 all integration/spin lattice no - -#compute real time, total magnetization, magnetic energy, and spin temperature -#Iteration | Time | Mx | My | Mz | |M| | Em | Tm - -#Setting the timestep for the simulation (in ps) -timestep 0.0001 - -################## -#######run######## -################## - -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magx equal c_out_mag[1] -variable magy equal c_out_mag[2] -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo 50 -#thermo_style custom step time v_magx v_magy v_magy v_magnorm v_emag v_tmag -thermo_style custom step time pe ke v_emag etotal -thermo_modify format float %20.15g - -#Dump the positions and spin directions of magnetic particles (vmd format) -#dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz - -#Running the simulations for N timesteps -#run 10 -run 20000 - diff --git a/examples/SPIN/dev/in.spin.kagome b/examples/SPIN/dev/in.spin.kagome deleted file mode 100644 index c51c35ff73..0000000000 --- a/examples/SPIN/dev/in.spin.kagome +++ /dev/null @@ -1,126 +0,0 @@ -################### -#######Init######## -################### - -clear -#setting units to metal (Ang, picosecs, eV, ...): -units metal - -#setting dimension of the system (N=2 or 3): -dimension 3 - -#setting boundary conditions. (p for periodic, f for fixed, ...) -boundary p p p -#boundary f f f - -#setting atom_style to spin: -atom_style spin - -#Define sort for paramagnetic simulations (if no pair interaction) -#atom_modify sort 1000 4.0 - -#why? -atom_modify map array - -#newton off for pair spin in SEQNEI -#newton off off - -########################### -#######Create atoms######## -########################### - -#Lattice constant of fcc Cobalt -lattice fcc 3.54 -#lattice sc 2.50 - -#Test Kagome -#variable a equal sqrt(3.0)/8.0 -#variable b equal 3.0*sqrt(3.0)/8.0 -#variable c equal sqrt(3.0)/4.0 - -#lattice custom 2.5 a1 1.0 0.0 0.0 & -# a2 0.0 1.0 0.0 & -# a3 0.0 0.0 1.0 & -# basis 0.0 $a 0.0 & -# basis 0.25 $a 0.0 & -# basis 0.375 0.0 0.0 & -# basis 0.25 $b 0.0 & -# basis 0.5 $b 0.0 & -# basis 0.625 $c 0.0 - -#Defining a geometric region of space. Sets ID(user's choice), style(block, sphere, ...), then, args depends on the style chosen -#(for block, one has x0, xf, y0, yf, z0, zf, in distance units) -region box block 0.0 5.0 0.0 5.0 0.0 5.0 - -#Creating a simulation box based on the specified region. Entries: number of atom types and box ref. -create_box 1 box - -#Creating atoms (or molecules) on a lattice, or a single atom (or molecule), ... -#Entries: atom type, -create_atoms 1 box - -#Replicating NxNxN the entire set of atoms -#replicate 1 1 1 - - -####################### -#######Settings######## -####################### - -#Setting one or more properties of one or more atoms. -#Setting mass -mass 1 1.0 -#set group all mass 1.0 -#Setting spins orientation and moment -#set group all spin/random 11 1.72 -set group all spin 1.72 1.0 0.0 0.0 - -#Magnetic exchange interaction coefficient for bulk fcc Cobalt -pair_style pair/spin 4.0 -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) -pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 -#type i and j | interaction type | cutoff | Int (eV) | [dx,dy,dz] (for DMI and ME) -#pair_coeff * * dmi 2.6 0.001 0.0 0.0 1.0 -#pair_coeff * * me 2.6 0.01 1.0 1.0 1.0 - -#Define a skin distance, update neigh list every -#neighbor 1.0 bin -#neigh_modify every 10 check yes delay 20 -neighbor 0.0 bin -neigh_modify every 1 check no delay 0 - -#Magnetic field fix -#Type | Intensity (T or eV) | Direction -fix 1 all force/spin zeeman 1.0 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.001 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy -0.1 0.0 0.0 1.0 -#fix 1 all force/spin anisotropy 0.1 0.0 1.0 0.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed -#fix 2 all langevin/spin 0.0 0.1 0.0 21 -fix 2 all langevin/spin 1.0 0.1 0.0 21 -#fix 2 all langevin/spin 0.0 0.0 0.0 21 - -#Magnetic integration fix -fix 3 all nve/spin mpi - -#compute real time, total magnetization, magnetic energy, and spin temperature -#Iteration | Time | Mx | My | Mz | |M| | Em | Tm -compute mag all compute/spin -fix outmag all ave/time 1 1 10 c_mag[1] c_mag[2] c_mag[3] c_mag[4] c_mag[5] c_mag[6] c_mag[7] file mag_Co_nodamp.dat format %20.16g - -#Setting the timestep for the simulation (in ps) -timestep 0.0001 - -################## -#######run######## -################## - -#Dump the positions and spin directions of magnetic particles (vmd format) -dump 1 all custom 100 dump_spin_T100.lammpstrj type x y z spx spy spz - -#Running the simulations for N timesteps -run 2000 -#run 1 - diff --git a/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni.dat b/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni.dat new file mode 100644 index 0000000000..dc2a9fe9a9 --- /dev/null +++ b/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni.dat @@ -0,0 +1,5 @@ +2.492 2.803 +3.524 0.0816 +4.316 0.35 +4.983 0.16 +5.572 0.0408 diff --git a/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fit.py b/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fit.py new file mode 100644 index 0000000000..dd07e9f295 --- /dev/null +++ b/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fit.py @@ -0,0 +1,32 @@ +# program fitting the exchange interaction +# model curve: Bethe-Slater function +import numpy as np, pylab, tkinter +import matplotlib.pyplot as plt +from scipy.optimize import curve_fit +from decimal import * + +print("Loop begin") + +# definition of the Bethe-Slater function +def func(x,a,b,c): + return 4*a*((x/c)**2)*(1-b*(x/c)**2)*np.exp(-(x/c)**2) + +# exchange coeff table (data to fit) +rdata, Jdata = np.loadtxt('exchange_fcc_ni.dat', usecols=(0,1), unpack=True) +plt.plot(rdata, Jdata, 'b-', label='data') + +# perform the fit +popt, pcov = curve_fit(func, rdata, Jdata, bounds=(0, [500.,5.,5.])) +plt.plot(rdata, func(rdata, *popt), 'r--', label='fit') + +# print the fitted parameters +print("Parameters: a={:.10} (in meV), b={:.10} (adim), c={:.10} (in Ang)".format(*popt)) + +# ploting the result +plt.xlabel('r_ij') +pylab.xlim([0,6.5]) +plt.ylabel('J_ij') +plt.legend() +plt.show() + +print("Loop end") diff --git a/examples/SPIN/nickel/in.spin.nickel b/examples/SPIN/nickel/in.spin.nickel index 682baf9418..7511795bcf 100644 --- a/examples/SPIN/nickel/in.spin.nickel +++ b/examples/SPIN/nickel/in.spin.nickel @@ -10,29 +10,29 @@ boundary p p p # check why? atom_modify map array -lattice fcc 3.54 +lattice fcc 3.524 region box block 0.0 5.0 0.0 5.0 0.0 5.0 create_box 1 box create_atoms 1 box # setting mass, mag. moments, and interactions for cobalt -mass 1 58.93 +mass 1 58.69 -set group all spin/random 31 1.72 +set group all spin/random 31 0.6 velocity all create 100 4928459 rot yes dist gaussian #pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/cobalt/Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff * * eam/alloy ../examples/SPIN/nickel/Ni99.eam.alloy Ni +pair_coeff * * pair/spin/exchange exchange 4.0 0.009718152197 0.000153 1.243 #pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 -fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.1 21 +fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 fix 3 all integration/spin lattice yes diff --git a/examples/SPIN/skyrmion/in.spin.skyrmion b/examples/SPIN/skyrmion/in.spin.skyrmion deleted file mode 100644 index a0d4e8c1d4..0000000000 --- a/examples/SPIN/skyrmion/in.spin.skyrmion +++ /dev/null @@ -1,81 +0,0 @@ -# initial variables - -# dimensions of the box and of each layer -variable box_size equal 50.0 -variable ir_thick equal 4.0 -variable fe_thick equal 0.5 -variable pd_thick equal 0.5 - -variable fe_hi equal ${ir_thick}+${fe_thick} -variable pd_hi equal ${ir_thick}+${fe_thick}+${pd_thick} - - -units metal -atom_style spin - -dimension 3 -boundary p p f - -# check why? -atom_modify map array - -lattice fcc 3.839 orient x 1 -1 0 orient y 1 1 -2 orient z 1 1 1 -region box block 0.0 ${box_size} 0.0 ${box_size} 0.0 ${pd_hi} -region box_ir block 0.0 ${box_size} 0.0 ${box_size} 0.0 ${ir_thick} -region box_fe block 0.0 ${box_size} 0.0 ${box_size} ${ir_thick} ${fe_hi} -region box_pd block 0.0 ${box_size} 0.0 ${box_size} ${fe_hi} ${pd_hi} - -create_box 3 box - -create_atoms 1 region box_ir -create_atoms 2 region box_fe -create_atoms 3 region box_pd - -group ir_atoms region box_ir -group fe_atoms region box_fe -group pd_atoms region box_pd - -# setting mass, mag. moments, and interactions for cobalt - -mass 1 192.217 # mass of Ir atoms -mass 2 55.845 # mass of Fe atoms -mass 3 106.42 # mass of Pd atoms - -set group ir_atoms spin/random 31 0.01 # has to set a length for LAMMPS to be happy -set group fe_atoms spin/random 89 2.7 -set group pd_atoms spin/random 55 0.3 - -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_style hybrid/overlay pair/spin/exchange 4.0 -#pair_style hybrid/overlay pair/spin/exchange 4.0 pair/spin/soc/dmi 2.6 -pair_coeff * * pair/spin/exchange exchange 4.0 0.0 0.003496 1.4885 -pair_coeff 2 2 pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 -#pair_coeff * * pair/spin/soc/dmi dmi 2.6 0.01 0.0 0.0 1.0 -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 fe_atoms force/spin anisotropy 0.0001 0.0 0.0 1.0 -fix 2 all force/spin zeeman 0.1 0.0 0.0 1.0 -fix 3 all langevin/spin 0.0 0.1 21 -fix 4 all integration/spin lattice no - -timestep 0.0002 - -# define output and run - -compute out_mag all compute/spin -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] -variable mag_force equal f_1 - -thermo_style custom step time v_magnorm v_emag etotal -thermo 10 - -dump 1 all custom 50 dump_skyrmion.lammpstrj type x y z spx spy spz - -run 1000 - -- GitLab From 08bc115380591a60aac3ca75c832ca987f0433fe Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 22 Mar 2018 11:41:04 -0600 Subject: [PATCH 085/675] Commit before meeting 032218 --- doc/src/fix_integration_spin.txt | 12 +++++- doc/src/fix_langevin_spin.txt | 3 +- doc/src/pair_spin_exchange.txt | 3 +- doc/src/pair_spin_me.txt | 3 +- doc/src/pair_spin_soc_dmi.txt | 3 +- doc/src/pair_spin_soc_neel.txt | 4 +- examples/SPIN/bfo/in.spin.bfo | 2 +- examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc | 2 +- examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp | 2 +- examples/SPIN/iron/in.spin.iron | 2 +- examples/SPIN/nickel/in.spin.nickel | 2 +- examples/SPIN/read_restart/in.spin.read_data | 39 ++++++++++++++++++++ examples/SPIN/read_restart/in.spin.restart | 35 ++---------------- 13 files changed, 69 insertions(+), 43 deletions(-) diff --git a/doc/src/fix_integration_spin.txt b/doc/src/fix_integration_spin.txt index f03ddab79e..4538e22284 100644 --- a/doc/src/fix_integration_spin.txt +++ b/doc/src/fix_integration_spin.txt @@ -51,6 +51,15 @@ This fix style can only be used if LAMMPS was built with the SPIN package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info on packages. +When the spin algorithm is used for serial calculations, it is +necessary to define a map via the atom_modify command. +Typically, by adding the command: + +atom_modify map array :pre + +before you create the simulation box. Note that the keyword "hash" +instead of "array" is also valid. + [Related commands:] "atom_style spin"_atom_style.html, "fix nve"_fix_nve.html @@ -64,4 +73,5 @@ section for more info on packages. 86(5), 898. (2001). :link(Tranchida1) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson. +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, +arXiv preprint arXiv:1801.10233, (2018). diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index 8507f4aa4f..20e98eba87 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -98,4 +98,5 @@ This fix has to be the last defined magnetic fix before the integration fix [(Mayergoyz)] I.D. Mayergoyz, G. Bertotti, C. Serpico (2009). Elsevier (2009) :link(Tranchida2) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson. +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, +arXiv preprint arXiv:1801.10233, (2018). diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index c1b20dfe94..e6938afd40 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -78,4 +78,5 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :line :link(Tranchida3) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson. +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, +arXiv preprint arXiv:1801.10233, (2018). diff --git a/doc/src/pair_spin_me.txt b/doc/src/pair_spin_me.txt index 8b3b69fdee..bc4b6b840b 100644 --- a/doc/src/pair_spin_me.txt +++ b/doc/src/pair_spin_me.txt @@ -69,4 +69,5 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. [(Katsura)] H. Katsura, N. Nagaosa, A.V. Balatsky. Phys. Rev. Lett., 95(5), 057205. (2005) :link(Tranchida4) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau, and Thompson. +[(Tranchida)] Tranchida, Plimpton, Thibaudeau, and Thompson, +arXiv preprint arXiv:1801.10233, (2018). diff --git a/doc/src/pair_spin_soc_dmi.txt b/doc/src/pair_spin_soc_dmi.txt index acbd5148ad..a3a9bb3172 100644 --- a/doc/src/pair_spin_soc_dmi.txt +++ b/doc/src/pair_spin_soc_dmi.txt @@ -81,4 +81,5 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :line :link(Tranchida5) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson. +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, +arXiv preprint arXiv:1801.10233, (2018). diff --git a/doc/src/pair_spin_soc_neel.txt b/doc/src/pair_spin_soc_neel.txt index ffe0fed3c2..44ca5b3b22 100644 --- a/doc/src/pair_spin_soc_neel.txt +++ b/doc/src/pair_spin_soc_neel.txt @@ -81,5 +81,5 @@ See the "Making LAMMPS"_Section_start.html#start_3 section for more info. :line :link(Tranchida6) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson. - +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, +arXiv preprint arXiv:1801.10233, (2018). diff --git a/examples/SPIN/bfo/in.spin.bfo b/examples/SPIN/bfo/in.spin.bfo index c6c73e531d..65304794d8 100644 --- a/examples/SPIN/bfo/in.spin.bfo +++ b/examples/SPIN/bfo/in.spin.bfo @@ -7,7 +7,7 @@ atom_style spin dimension 3 boundary p p f -# check why? +# necessary for the serial algorithm (sametag) atom_modify map array lattice sc 3.96 diff --git a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc index 8428e1fe9e..25512daab7 100644 --- a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc +++ b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc @@ -7,7 +7,7 @@ atom_style spin dimension 3 boundary p p p -# check why? +# necessary for the serial algorithm (sametag) atom_modify map array lattice fcc 3.54 diff --git a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp index 68a9316e3b..d63c333962 100644 --- a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp +++ b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp @@ -7,7 +7,7 @@ atom_style spin dimension 3 boundary p p p -# check why? +# necessary for the serial algorithm (sametag) atom_modify map array #lattice hcp 2.5071 2.5071 4.0695 diff --git a/examples/SPIN/iron/in.spin.iron b/examples/SPIN/iron/in.spin.iron index 86db12afe5..5d436ebb21 100644 --- a/examples/SPIN/iron/in.spin.iron +++ b/examples/SPIN/iron/in.spin.iron @@ -7,7 +7,7 @@ atom_style spin dimension 3 boundary p p p -# check why? +# necessary for the serial algorithm (sametag) atom_modify map array lattice bcc 2.8665 diff --git a/examples/SPIN/nickel/in.spin.nickel b/examples/SPIN/nickel/in.spin.nickel index 7511795bcf..b42147373c 100644 --- a/examples/SPIN/nickel/in.spin.nickel +++ b/examples/SPIN/nickel/in.spin.nickel @@ -7,7 +7,7 @@ atom_style spin dimension 3 boundary p p p -# check why? +# necessary for the serial algorithm (sametag) atom_modify map array lattice fcc 3.524 diff --git a/examples/SPIN/read_restart/in.spin.read_data b/examples/SPIN/read_restart/in.spin.read_data index 3a49dd4a33..1f56df2564 100644 --- a/examples/SPIN/read_restart/in.spin.read_data +++ b/examples/SPIN/read_restart/in.spin.read_data @@ -1,3 +1,4 @@ +<<<<<<< HEAD # start a spin-lattice simulation from a data file clear units metal @@ -10,10 +11,25 @@ atom_style spin atom_modify map array read_data ../examples/SPIN/read_restart/Norm_randXY_8x8x32.data +======= +clear +units metal +dimension 3 +boundary p p p + +atom_style spin + +# necessary for the serial algorithm (sametag) +atom_modify map array + +read_data ../examples/SPIN/Norm_randXY_8x8x32_test.data + +>>>>>>> Commit before meeting 032218 mass 1 58.93 # define magneto-mechanical potentials and forces +<<<<<<< HEAD pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair_coeff * * eam/alloy ../examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy Co pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 @@ -28,6 +44,23 @@ fix 3 all nve/spin lattice yes timestep 0.0001 # define outputs and computes +======= +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 + +neighbor 1.0 bin +neigh_modify every 1 check no delay 0 + +fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all integration/spin serial +timestep 0.0001 + +# define outputs +>>>>>>> Commit before meeting 032218 compute out_mag all compute/spin compute out_pe all pe @@ -43,8 +76,14 @@ thermo 10 thermo_style custom step time v_magnorm v_emag v_tmag temp etotal thermo_modify format float %20.15g +<<<<<<< HEAD compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] run 100 +======= +dump 1 all custom 1 dump.lammpstrj type x y z spx spy spz + +run 10000 +>>>>>>> Commit before meeting 032218 diff --git a/examples/SPIN/read_restart/in.spin.restart b/examples/SPIN/read_restart/in.spin.restart index 2e3a465cab..2afcfb6291 100644 --- a/examples/SPIN/read_restart/in.spin.restart +++ b/examples/SPIN/read_restart/in.spin.restart @@ -1,5 +1,3 @@ -# read a dump file for a sim. of magnetic cobalt - clear units metal atom_style spin @@ -7,7 +5,7 @@ atom_style spin dimension 3 boundary p p p -# check why? +# necessary for the serial algorithm (sametag) atom_modify map array lattice fcc 3.54 @@ -22,48 +20,26 @@ create_atoms 1 box mass 1 58.93 -#Setting spins orientation and moment -#set group all spin/random 31 1.72 set group all spin 1.72 0.0 0.0 1.0 set group single_spin spin/random 11 1.72 - velocity all create 200 4928459 rot yes dist gaussian -#Magneto-mechanic interactions for bulk fcc Cobalt +# define magneto-mechanical potentials and forces pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 - -# cobalt eam potential pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co - -#type i and j | interaction type | cutoff | J1 (eV) | J2 (adim) | J3 (Ang) (for Exchange) pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 - -#type i and j | interaction type | cutoff | K1 (eV) | K2 (adim) | K3 (Ang) (for SOC) pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 -#Define a skin distance, update neigh list every -#neighbor 1.0 bin -#neigh_modify every 10 check yes delay 20 neighbor 1.0 bin neigh_modify every 1 check no delay 0 -#Magnetic field fix -#Type | Intensity (T or eV) | Direction fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 - -#Fix Langevin spins (merging damping and temperature) -#Temp | Alpha_trans | Alpha_long | Seed fix 2 all langevin/spin 0.0 0.0 0.0 21 -#Magnetic integration fix fix 3 all integration/spin serial - -#Setting the timestep for the simulation (in ps) timestep 0.0001 -################## -#######run######## -################## +# define outputs compute out_mag all compute/spin compute out_pe all pe @@ -80,10 +56,7 @@ thermo 10 thermo_style custom step time v_magnorm v_emag v_tmag temp etotal thermo_modify format float %20.15g -#Dump the positions and spin directions of magnetic particles (vmd format) dump 1 all custom 20 dump.lammpstrj type x y z spx spy spz -#Running the simulations for N timesteps -run 100 -#run 10000 +run 1000 -- GitLab From a315599bac3d52b72678b7ba47772c95feabf9f7 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 26 Mar 2018 13:30:36 -0600 Subject: [PATCH 086/675] Commit modifs before release 1 (03/26/18) --- examples/SPIN/bfo/in.spin.bfo | 8 +- examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc | 63 +- examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp | 71 +- examples/SPIN/iron/in.spin.iron | 65 +- .../exchange_fit_fcc_ni/exchange_fcc_ni.dat | 10 +- examples/SPIN/nickel/in.spin.nickel | 71 +- .../read_restart/Co_PurjaPun_2012.eam.alloy | 6006 +++++++++++++++++ examples/SPIN/read_restart/in.spin.read_data | 47 +- examples/SPIN/read_restart/in.spin.restart | 67 +- .../SPIN/read_restart/in.spin.write_restart | 58 + src/SPIN/atom_vec_spin.cpp | 80 +- src/SPIN/atom_vec_spin.h | 4 +- src/SPIN/compute_spin.cpp | 5 +- src/SPIN/fix_langevin_spin.cpp | 4 +- src/SPIN/fix_langevin_spin.h | 1 - ..._integration_spin.cpp => fix_nve_spin.cpp} | 249 +- ...{fix_integration_spin.h => fix_nve_spin.h} | 33 +- ...force_spin.cpp => fix_precession_spin.cpp} | 52 +- ...fix_force_spin.h => fix_precession_spin.h} | 21 +- src/SPIN/pair_spin_exchange.cpp | 5 +- src/SPIN/pair_spin_exchange.h | 2 +- src/SPIN/pair_spin_me.cpp | 5 +- src/SPIN/pair_spin_me.h | 2 +- src/SPIN/pair_spin_soc_dmi.cpp | 5 +- src/SPIN/pair_spin_soc_dmi.h | 2 +- src/SPIN/pair_spin_soc_neel.cpp | 5 +- src/SPIN/pair_spin_soc_neel.h | 2 +- src/atom.cpp | 6 +- src/atom.h | 4 +- src/compute_property_atom.cpp | 141 +- src/compute_property_atom.h | 8 + src/dump_custom.cpp | 127 - src/dump_custom.h | 5 - src/pair_hybrid.h | 2 +- src/set.cpp | 20 +- src/verlet.cpp | 2 +- 36 files changed, 6660 insertions(+), 598 deletions(-) create mode 100644 examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy create mode 100644 examples/SPIN/read_restart/in.spin.write_restart rename src/SPIN/{fix_integration_spin.cpp => fix_nve_spin.cpp} (73%) rename src/SPIN/{fix_integration_spin.h => fix_nve_spin.h} (76%) rename src/SPIN/{fix_force_spin.cpp => fix_precession_spin.cpp} (81%) rename src/SPIN/{fix_force_spin.h => fix_precession_spin.h} (77%) diff --git a/examples/SPIN/bfo/in.spin.bfo b/examples/SPIN/bfo/in.spin.bfo index 65304794d8..dfeb48eb08 100644 --- a/examples/SPIN/bfo/in.spin.bfo +++ b/examples/SPIN/bfo/in.spin.bfo @@ -28,9 +28,9 @@ pair_coeff * * pair/spin/me me 4.5 0.000109 1.0 1.0 1.0 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 -fix 1 all force/spin anisotropy 0.0000033 0.0 0.0 1.0 +fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0 fix 2 all langevin/spin 0.0 0.1 21 -fix 3 all integration/spin lattice no +fix 3 all nve/spin lattice yes timestep 0.0002 @@ -43,12 +43,12 @@ variable magz equal c_out_mag[3] variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -variable mag_force equal f_1 thermo_style custom step time v_magnorm v_emag temp etotal thermo 50 -dump 1 all custom 50 dump_spin_BFO.lammpstrj type x y z spx spy spz +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] run 5000 diff --git a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc index 25512daab7..e70765e08d 100644 --- a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc +++ b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc @@ -1,58 +1,57 @@ # fcc cobalt in a 3d periodic box clear -units metal -atom_style spin +units metal +atom_style spin -dimension 3 -boundary p p p +dimension 3 +boundary p p p # necessary for the serial algorithm (sametag) -atom_modify map array +atom_modify map array -lattice fcc 3.54 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -create_atoms 1 box +lattice fcc 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box -# setting mass, mag. moments, and interactions for cobalt +# setting mass, mag. moments, and interactions for fcc cobalt mass 1 58.93 -set group all spin/random 31 1.72 -velocity all create 100 4928459 rot yes dist gaussian +set group all spin/random 31 1.72 +velocity all create 100 4928459 rot yes dist gaussian -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/cobalt_fcc/Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_coeff * * eam/alloy ../examples/SPIN/cobalt_fcc/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 -fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all integration/spin lattice yes +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 +fix 3 all nve/spin lattice yes timestep 0.0001 # compute and output options -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] -variable mag_force equal f_1 +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] thermo_style custom step time v_magnorm v_emag temp etotal thermo 10 -dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] -run 10000 +run 1000 diff --git a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp index d63c333962..9076cd6d6c 100644 --- a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp +++ b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp @@ -1,60 +1,57 @@ -# fcc cobalt in a 3d periodic box +# hcp cobalt in a 3d periodic box clear -units metal -atom_style spin +units metal +atom_style spin -dimension 3 -boundary p p p +dimension 3 +boundary p p p # necessary for the serial algorithm (sametag) -atom_modify map array +atom_modify map array -#lattice hcp 2.5071 2.5071 4.0695 -lattice hcp 2.5071 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -create_atoms 1 box +lattice hcp 2.5071 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box -# setting mass, mag. moments, and interactions for cobalt +# setting mass, mag. moments, and interactions for hcp cobalt mass 1 58.93 -set group all spin/random 31 1.72 -velocity all create 100 4928459 rot yes dist gaussian +set group all spin/random 31 1.72 +velocity all create 100 4928459 rot yes dist gaussian -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * pair/spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_coeff * * eam/alloy ../examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * pair/spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 +#pair_coeff * * pair/spin/soc/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 -fix 1 all force/spin zeeman 0.01 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all integration/spin lattice yes +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 +fix 3 all nve/spin lattice yes timestep 0.0001 -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] -variable mag_force equal f_1 +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] thermo_style custom step time v_magnorm v_emag temp etotal thermo 10 -dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz - -run 1000 +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_cobalt_hcp.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] +run 20000 diff --git a/examples/SPIN/iron/in.spin.iron b/examples/SPIN/iron/in.spin.iron index 5d436ebb21..83301309e0 100644 --- a/examples/SPIN/iron/in.spin.iron +++ b/examples/SPIN/iron/in.spin.iron @@ -1,59 +1,56 @@ # bcc iron in a 3d periodic box clear -units metal -atom_style spin +units metal +atom_style spin -dimension 3 -boundary p p p +dimension 3 +boundary p p p # necessary for the serial algorithm (sametag) -atom_modify map array +atom_modify map array -lattice bcc 2.8665 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -create_atoms 1 box +lattice bcc 2.8665 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box # setting mass, mag. moments, and interactions for bcc iron mass 1 55.845 -set group all spin/random 31 2.2 -velocity all create 100 4928459 rot yes dist gaussian +set group all spin/random 31 2.2 +velocity all create 100 4928459 rot yes dist gaussian -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_style hybrid/overlay eam/alloy pair/spin/exchange 3.5 -pair_coeff * * eam/alloy ../examples/SPIN/iron/Fe_Mishin2006.eam.alloy Fe -pair_coeff * * pair/spin/exchange exchange 3.4 0.02726 0.2171 1.841 -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 3.5 +pair_coeff * * eam/alloy ../examples/SPIN/iron/Fe_Mishin2006.eam.alloy Fe +pair_coeff * * pair/spin/exchange exchange 3.4 0.02726 0.2171 1.841 -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 -fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all integration/spin lattice yes +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 +fix 3 all nve/spin lattice yes timestep 0.0001 +# compute and output options -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] -variable mag_force equal f_1 +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] thermo_style custom step time v_magnorm v_tmag temp v_emag ke pe etotal thermo 50 -dump 1 all custom 50 dump_iron.lammpstrj type x y z spx spy spz - -run 100000 +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] +run 100000 diff --git a/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni.dat b/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni.dat index dc2a9fe9a9..4e5aa47659 100644 --- a/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni.dat +++ b/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni.dat @@ -1,5 +1,5 @@ -2.492 2.803 -3.524 0.0816 -4.316 0.35 -4.983 0.16 -5.572 0.0408 +2.495 8.3 +3.524 -3.99 +4.31 0.998 +4.99 -0.955 +5.56 0.213 diff --git a/examples/SPIN/nickel/in.spin.nickel b/examples/SPIN/nickel/in.spin.nickel index b42147373c..0b1faa5319 100644 --- a/examples/SPIN/nickel/in.spin.nickel +++ b/examples/SPIN/nickel/in.spin.nickel @@ -1,59 +1,58 @@ -# fcc cobalt in a 3d periodic box +# fcc nickel in a 3d periodic box clear -units metal -atom_style spin +units metal +atom_style spin -dimension 3 -boundary p p p +dimension 3 +boundary p p p # necessary for the serial algorithm (sametag) -atom_modify map array +atom_modify map array -lattice fcc 3.524 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -create_atoms 1 box +lattice fcc 3.524 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box # setting mass, mag. moments, and interactions for cobalt mass 1 58.69 -set group all spin/random 31 0.6 -velocity all create 100 4928459 rot yes dist gaussian +set group all spin/random 31 0.63 +#set group all spin 0.63 0.0 0.0 1.0 +velocity all create 100 4928459 rot yes dist gaussian -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/nickel/Ni99.eam.alloy Ni -pair_coeff * * pair/spin/exchange exchange 4.0 0.009718152197 0.000153 1.243 -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_coeff * * eam/alloy ../examples/SPIN/nickel/Ni99.eam.alloy Ni +pair_coeff * * pair/spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 -fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all integration/spin lattice yes +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 +fix 3 all nve/spin lattice yes timestep 0.0001 +# compute and output options -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] -variable mag_force equal f_1 +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] -thermo_style custom step time v_magnorm v_emag temp etotal -thermo 10 +thermo_style custom step time v_magnorm v_emag temp v_tmag etotal +thermo 50 -#dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 50 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] -run 1000 +run 2000 diff --git a/examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy b/examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy new file mode 100644 index 0000000000..3af058baf7 --- /dev/null +++ b/examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy @@ -0,0 +1,6006 @@ +Cobalt EAM potential: G. P. Purja Pun and Y. Mishin, Phys. Rev. B xx, 004100 (2012) (in press) +Data below r = 1.5 A is extrapolated. F(Rho) data not extrapolated. +Created on Wed Sep 26 17:29:54 2012 +1 Co +10000 4.788742913000000e-04 10000 6.499539000000001e-04 6.499539000000000e+00 +27 5.893320000000000e+01 2.507000000000000e+00 hcp + -1.680303080000000e-02 -1.879913964471138e-02 -2.091739081044659e-02 -2.303564197615629e-02 -2.503175082079116e-02 + -2.681996612041136e-02 -2.846010103933253e-02 -3.003179469400266e-02 -3.154842562124295e-02 -3.300931506782415e-02 + -3.442381570000001e-02 -3.580233366714632e-02 -3.714945763166951e-02 -3.846832763111274e-02 -3.976210669053554e-02 + -4.103374908125148e-02 -4.228535107207521e-02 -4.351872320172212e-02 -4.473539109100971e-02 -4.593674531110434e-02 + -4.712392115246503e-02 -4.829795108118731e-02 -4.945971154662068e-02 -5.061001094949964e-02 -5.174954151284258e-02 + -5.287894548568519e-02 -5.399878139884967e-02 -5.510957102742049e-02 -5.621177284174523e-02 -5.730581735016625e-02 + -5.839208651773948e-02 -5.947094067448531e-02 -6.054270215356945e-02 -6.160767623453070e-02 -6.266613797925552e-02 + -6.371834880435967e-02 -6.476454576302854e-02 -6.580495483863194e-02 -6.683978209870683e-02 -6.786922452279202e-02 + -6.889346265426707e-02 -6.991266949659354e-02 -7.092700432972064e-02 -7.193662011890395e-02 -7.294165829413661e-02 + -7.394225494811188e-02 -7.493853635958479e-02 -7.593062425993033e-02 -7.691863200494162e-02 -7.790266905197404e-02 + -7.888283764021425e-02 -7.985923664258643e-02 -8.083195868513401e-02 -8.180109346997461e-02 -8.276672525040257e-02 + -8.372893572415932e-02 -8.468780181559693e-02 -8.564339820511864e-02 -8.659579537072190e-02 -8.754506181558984e-02 + -8.849126234605453e-02 -8.943446001410092e-02 -9.037471455117625e-02 -9.131208412841478e-02 -9.224662399623559e-02 + -9.317838801321032e-02 -9.410742739123597e-02 -9.503379209498646e-02 -9.595752974691800e-02 -9.687868684755546e-02 + -9.779730775191570e-02 -9.871343580120046e-02 -9.962711242685958e-02 -1.005383781439554e-01 -1.014472717117523e-01 + -1.023538310651938e-01 -1.032580925977369e-01 -1.041600919387366e-01 -1.050598632026273e-01 -1.059574398208095e-01 + -1.068528540074704e-01 -1.077461373458066e-01 -1.086373201122683e-01 -1.095264320028559e-01 -1.104135016985198e-01 + -1.112985573626335e-01 -1.121816261033156e-01 -1.130627345294291e-01 -1.139419083080692e-01 -1.148191726662944e-01 + -1.156945520127823e-01 -1.165680703406650e-01 -1.174397507992727e-01 -1.183096161572101e-01 -1.191776885039839e-01 + -1.200439895800373e-01 -1.209085404086571e-01 -1.217713616730546e-01 -1.226324734132936e-01 -1.234918953788508e-01 + -1.243496468000000e-01 -1.252057466264230e-01 -1.260602132046348e-01 -1.269130646065986e-01 -1.277643184092350e-01 + -1.286139919512837e-01 -1.294621021138015e-01 -1.303086655551642e-01 -1.311536985007052e-01 -1.319972169590798e-01 + -1.328392365052704e-01 -1.336797725161469e-01 -1.345188400098036e-01 -1.353564538215464e-01 -1.361926284143060e-01 + -1.370273780803152e-01 -1.378607168013910e-01 -1.386926583917836e-01 -1.395232163058920e-01 -1.403524038515728e-01 + -1.411802341103638e-01 -1.420067200256853e-01 -1.428318742148069e-01 -1.436557091565456e-01 -1.444782371020595e-01 + -1.452994701862315e-01 -1.461194203065015e-01 -1.469380992388567e-01 -1.477555185109162e-01 -1.485716895480879e-01 + -1.493866236153044e-01 -1.502003318703277e-01 -1.510128252027127e-01 -1.518241144121522e-01 -1.526342102070998e-01 + -1.534431232126203e-01 -1.542508638114616e-01 -1.550574422930448e-01 -1.558628688157988e-01 -1.566671534698807e-01 + -1.574703062033520e-01 -1.582723368973844e-01 -1.590732553076882e-01 -1.598730711132973e-01 -1.606717938120008e-01 + -1.614694328459875e-01 -1.622659976162905e-01 -1.630614974730487e-01 -1.638559416039789e-01 -1.646493391351259e-01 + -1.654416991082678e-01 -1.662330305252601e-01 -1.670233423125346e-01 -1.678126433512354e-01 -1.686009424167802e-01 + -1.693882482431861e-01 -1.701745695045948e-01 -1.709599148401449e-01 -1.717442928088396e-01 -1.725277119385885e-01 + -1.733101807130639e-01 -1.740917075837066e-01 -1.748723009172683e-01 -1.756519690655456e-01 -1.764307204052008e-01 + -1.772085632840185e-01 -1.779855059094047e-01 -1.787615564692287e-01 -1.795367232135896e-01 -1.803110143830451e-01 + -1.810844381177561e-01 -1.818570025406103e-01 -1.826287158057983e-01 -1.833995860626770e-01 -1.841696214099643e-01 + -1.849388299454831e-01 -1.857072198141128e-01 -1.864747991526175e-01 -1.872415760182443e-01 -1.880075584641173e-01 + -1.887727546063884e-01 -1.895371725773110e-01 -1.903008205105196e-01 -1.910637065418589e-01 -1.918258388146347e-01 + -1.925872254807121e-01 -1.933478747187342e-01 -1.941077947209150e-01 -1.948669937069724e-01 -1.956254799127480e-01 + -1.963832616110719e-01 -1.971403470967068e-01 -1.978967447151567e-01 -1.986524628291068e-01 -1.994075098192274e-01 + -2.001618941005484e-01 -2.009156242075518e-01 -2.016687086990372e-01 -2.024211561116226e-01 -2.031729750127928e-01 + -2.039241741156804e-01 -2.046747621691974e-01 -2.054247479197256e-01 -2.061741401521784e-01 -2.069229478081280e-01 + -2.076711798806499e-01 -2.084188454121736e-01 -2.091659534755806e-01 -2.099125132162076e-01 -2.106585338443872e-01 + -2.114040247579823e-01 -2.121489953974893e-01 -2.128934551864067e-01 -2.136374136027109e-01 -2.143808803592873e-01 + -2.151238652468154e-01 -2.158663781322411e-01 -2.166084289346303e-01 -2.173500277052638e-01 -2.180911845646947e-01 + -2.188319097783510e-01 -2.195722136949507e-01 -2.203121068514981e-01 -2.210515998518519e-01 -2.217907033790026e-01 + -2.225294282016381e-01 -2.232677853521022e-01 -2.240057859531163e-01 -2.247434412252567e-01 -2.254807624804862e-01 + -2.262177612984613e-01 -2.269544493586047e-01 -2.276908384717110e-01 -2.284269405581227e-01 -2.291627678450005e-01 + -2.298983326532392e-01 -2.306336473718499e-01 -2.313687245044682e-01 -2.321035769451089e-01 -2.328382177230701e-01 + -2.335726600184018e-01 -2.343069171312917e-01 -2.350410026917230e-01 -2.357749304696442e-01 -2.365087144650665e-01 + -2.372423688046511e-01 -2.379759078915950e-01 -2.387093462817347e-01 -2.394426988649284e-01 -2.401759806938325e-01 + -2.409092071382775e-01 -2.416423937275558e-01 -2.423755563116356e-01 -2.431087109081851e-01 -2.438418738849959e-01 + -2.445750618045980e-01 -2.453082916583512e-01 -2.460415806101058e-01 -2.467749460848467e-01 -2.475084057095742e-01 + -2.482419776582159e-01 -2.489756803241430e-01 -2.497095324315720e-01 -2.504435529132133e-01 -2.511777612049070e-01 + -2.519121769824342e-01 -2.526468203782122e-01 -2.533817117688987e-01 -2.541168720514789e-01 -2.548523223627430e-01 + -2.555880842783758e-01 -2.563241796571988e-01 -2.570606310516858e-01 -2.577974612919421e-01 -2.585346936249472e-01 + -2.592723515924181e-01 -2.600104594981498e-01 -2.607490419576605e-01 -2.614881240712832e-01 -2.622277312727207e-01 + -2.629678898443362e-01 -2.637086264051527e-01 -2.644499680721714e-01 -2.651919423187013e-01 -2.659345775453039e-01 + -2.666779025531186e-01 -2.674219468183432e-01 -2.681667401972407e-01 -2.689123133912765e-01 -2.696586975492495e-01 + -2.704059247640904e-01 -2.711540275538941e-01 -2.719030391932789e-01 -2.726529934197978e-01 -2.734039250662187e-01 + -2.741558694758598e-01 -2.749088629390239e-01 -2.756629422674556e-01 -2.764181454116789e-01 -2.771745108563868e-01 + -2.779320780841674e-01 -2.786908871694924e-01 -2.794509795564719e-01 -2.802123972949423e-01 -2.809751834880072e-01 + -2.817393818716988e-01 -2.825050376604960e-01 -2.832721967688652e-01 -2.840409064327807e-01 -2.848112145951165e-01 + -2.855831707048412e-01 -2.863568249759762e-01 -2.871322291766564e-01 -2.879094358829076e-01 -2.886884993482028e-01 + -2.894694746623641e-01 -2.902524185831628e-01 -2.910373887617654e-01 -2.918244447549689e-01 -2.926136470970381e-01 + -2.934050583264800e-01 -2.941987419693519e-01 -2.949947634976693e-01 -2.957931894604184e-01 -2.965940887685082e-01 + -2.973975314584912e-01 -2.982035897075678e-01 -2.990123368838905e-01 -2.998238489787670e-01 -3.006382032814213e-01 + -3.014554796495834e-01 -3.022757592753754e-01 -3.030991261199829e-01 -3.039256655881672e-01 -3.047554660899296e-01 + -3.055886175640754e-01 -3.064252130593845e-01 -3.072653472379187e-01 -3.081091181048918e-01 -3.089566254021406e-01 + -3.098079724748395e-01 -3.106632645082006e-01 -3.115226104442510e-01 -3.123861211846884e-01 -3.132539117130802e-01 + -3.141260990998875e-01 -3.150028046812773e-01 -3.158841520361693e-01 -3.167702694487885e-01 -3.176612875689104e-01 + -3.185573418032087e-01 -3.194585700942650e-01 -3.203651157713922e-01 -3.212771249044592e-01 -3.221947491388281e-01 + -3.231181430183639e-01 -3.240474671054514e-01 -3.249828850672117e-01 -3.259245669711927e-01 -3.268726862299913e-01 + -3.278274232359761e-01 -3.287889619469540e-01 -3.297574936027157e-01 -3.307332132733838e-01 -3.317163240684192e-01 + -3.327070332351553e-01 -3.337055565330767e-01 -3.347121141277095e-01 -3.357269352965953e-01 -3.367502540927247e-01 + -3.377823145588749e-01 -3.388233658450175e-01 -3.398736675401181e-01 -3.409334847493447e-01 -3.420030942036733e-01 + -3.430827786115977e-01 -3.441728329658748e-01 -3.452735586625544e-01 -3.463852704265985e-01 -3.475082899277179e-01 + -3.486429532857090e-01 -3.497896041380748e-01 -3.509486017430585e-01 -3.521203134619261e-01 -3.533051234472958e-01 + -3.545034246605078e-01 -3.557156285064298e-01 -3.569421559513399e-01 -3.581834477636310e-01 -3.594399550688090e-01 + -3.607121506187135e-01 -3.620005184199024e-01 -3.633055658714727e-01 -3.646278119965309e-01 -3.659677989216845e-01 + -3.673260803339768e-01 -3.687032330586966e-01 -3.700998457090232e-01 -3.715165309114429e-01 -3.729539131544640e-01 + -3.744126403613781e-01 -3.758933720658462e-01 -3.773967908082255e-01 -3.789235902651524e-01 -3.804744856516886e-01 + -3.820502023195389e-01 -3.836514846285581e-01 -3.852790856353807e-01 -3.869337741756033e-01 -3.886163256972291e-01 + -3.903275263189269e-01 -3.920681658458204e-01 -3.938390381581898e-01 -3.956409370872805e-01 -3.974746521930466e-01 + -3.993409682701225e-01 -4.012406553231547e-01 -4.031744727439548e-01 -4.051431522629808e-01 -4.071474082130475e-01 + -4.091879129977703e-01 -4.112653138348391e-01 -4.133801991274390e-01 -4.155331235094092e-01 -4.177245653517079e-01 + -4.199549603385881e-01 -4.222246496703586e-01 -4.245339230260172e-01 -4.268829584832519e-01 -4.292718744431503e-01 + -4.317006622016948e-01 -4.341692468068394e-01 -4.366774154195978e-01 -4.392248845800756e-01 -4.418112262316757e-01 + -4.444359401252420e-01 -4.470983818380713e-01 -4.497978365893122e-01 -4.525334523390530e-01 -4.553043120100788e-01 + -4.581093756350076e-01 -4.609475466791835e-01 -4.638176252290113e-01 -4.667183660407072e-01 -4.696484459287199e-01 + -4.726065094563343e-01 -4.755911501239359e-01 -4.786009429283761e-01 -4.816344399152602e-01 -4.846901882843556e-01 + -4.877667388033212e-01 -4.908626497957108e-01 -4.939765062407663e-01 -4.971069114027755e-01 -5.002525150305011e-01 + -5.034119937007041e-01 -5.065840848176727e-01 -5.097675587133593e-01 -5.129612566028576e-01 -5.161640565945169e-01 + -5.193749134865747e-01 -5.225928209640586e-01 -5.258168515692775e-01 -5.290461169135583e-01 -5.322798060270272e-01 + -5.355171460831645e-01 -5.387574394100244e-01 -5.420000245805213e-01 -5.452443099924439e-01 -5.484897376520451e-01 + -5.517358141745681e-01 -5.549820769247875e-01 -5.582281216566209e-01 -5.614735718423751e-01 -5.647181034387753e-01 + -5.679614169890416e-01 -5.712032588979591e-01 -5.744433972991336e-01 -5.776816413798681e-01 -5.809178193507762e-01 + -5.841517944620215e-01 -5.873834463985003e-01 -5.906126855444893e-01 -5.938394364748391e-01 -5.970636498273136e-01 + -6.002852884426439e-01 -6.035043379105128e-01 -6.067207941645156e-01 -6.099346717649501e-01 -6.131459940881434e-01 + -6.163548011478311e-01 -6.195611404873568e-01 -6.227650731310865e-01 -6.259666663617727e-01 -6.291659990146931e-01 + -6.323631552654742e-01 -6.355582290986170e-01 -6.387513188871106e-01 -6.419425307490256e-01 -6.451319745539882e-01 + -6.483197674327603e-01 -6.515060293214946e-01 -6.546908841167685e-01 -6.578744572836812e-01 -6.610568766009968e-01 + -6.642382709221243e-01 -6.674187710853904e-01 -6.705985088370179e-01 -6.737776175698923e-01 -6.769562312911304e-01 + -6.801344848181089e-01 -6.833125134999645e-01 -6.864904540026142e-01 -6.896684434132225e-01 -6.928466191871651e-01 + -6.960251190039876e-01 -6.992040810717012e-01 -7.023836437724149e-01 -7.055639456561626e-01 -7.087451254024176e-01 + -7.119273220404884e-01 -7.151106745784721e-01 -7.182953215897911e-01 -7.214814016245582e-01 -7.246690535743215e-01 + -7.278584163200112e-01 -7.310496283586513e-01 -7.342428280442573e-01 -7.374381535427195e-01 -7.406357429444993e-01 + -7.438357342264661e-01 -7.470382651689156e-01 -7.502434728794412e-01 -7.534514943101106e-01 -7.566624664635970e-01 + -7.598765262236051e-01 -7.630938099473661e-01 -7.663144537782537e-01 -7.695385935306881e-01 -7.727663648349232e-01 + -7.759979029135046e-01 -7.792333428394971e-01 -7.824728194957561e-01 -7.857164675195603e-01 -7.889644207560909e-01 + -7.922168128628783e-01 -7.954737775389469e-01 -7.987354483417761e-01 -8.020019582211745e-01 -8.052734399002169e-01 + -8.085500258027153e-01 -8.118318481538471e-01 -8.151190386835121e-01 -8.184117289678831e-01 -8.217100504635063e-01 + -8.250141343769457e-01 -8.283241110344656e-01 -8.316401105683494e-01 -8.349622632152548e-01 -8.382906990624389e-01 + -8.416255474951805e-01 -8.449669376504778e-01 -8.483149983741850e-01 -8.516698583310095e-01 -8.550316457522134e-01 + -8.584004886419279e-01 -8.617765145292081e-01 -8.651598508088844e-01 -8.685506248139727e-01 -8.719489622521989e-01 + -8.753549823919468e-01 -8.787687997490927e-01 -8.821905162688262e-01 -8.856202278084699e-01 -8.890580184445617e-01 + -8.925039663319011e-01 -8.959581377191167e-01 -8.994205926453692e-01 -9.028913782181163e-01 -9.063705352609543e-01 + -9.098580923937473e-01 -9.133540718558304e-01 -9.168584825681617e-01 -9.203713268261465e-01 -9.238925937413506e-01 + -9.274222656928153e-01 -9.309603113133150e-01 -9.345066924037853e-01 -9.380613571840678e-01 -9.416242468397124e-01 + -9.451952880001965e-01 -9.487744002152808e-01 -9.523614892719469e-01 -9.559564538973973e-01 -9.595591783425093e-01 + -9.631695396882074e-01 -9.667874008119273e-01 -9.704126174878044e-01 -9.740450312802591e-01 -9.776844767743714e-01 + -9.813307748475731e-01 -9.849837394560669e-01 -9.886431705787867e-01 -9.923088615430331e-01 -9.959805930468456e-01 + -9.996581394281877e-01 -1.003341262213973e+00 -1.007029716826452e+00 -1.010723247080268e+00 -1.014421591236032e+00 + -1.018124476945841e+00 -1.021831626529500e+00 -1.025542751586175e+00 -1.029257558992056e+00 -1.032975747452084e+00 + -1.036697011770175e+00 -1.040421039317395e+00 -1.044147513860548e+00 -1.047876112182243e+00 -1.051606508161453e+00 + -1.055338371046766e+00 -1.059071368055605e+00 -1.062805162911107e+00 -1.066539417837194e+00 -1.070273792555226e+00 + -1.074007946119602e+00 -1.077741537419413e+00 -1.081474225260823e+00 -1.085205668283577e+00 -1.088935525821090e+00 + -1.092663460147868e+00 -1.096389134999202e+00 -1.100112217012435e+00 -1.103832374788097e+00 -1.107549281877421e+00 + -1.111262614364874e+00 -1.114972053517157e+00 -1.118677283811066e+00 -1.122377997381517e+00 -1.126073890115035e+00 + -1.129764665246453e+00 -1.133450029987863e+00 -1.137129700112097e+00 -1.140803395884355e+00 -1.144470846978575e+00 + -1.148131787996958e+00 -1.151785963846005e+00 -1.155433124321719e+00 -1.159073028473816e+00 -1.162705440550504e+00 + -1.166330136340245e+00 -1.169946897198408e+00 -1.173555515207745e+00 -1.177155787675114e+00 -1.180747522076412e+00 + -1.184330531453910e+00 -1.187904640946331e+00 -1.191469681045491e+00 -1.195025491559137e+00 -1.198571917630371e+00 + -1.202108816427798e+00 -1.205636050425976e+00 -1.209153491297797e+00 -1.212661015717853e+00 -1.216158511169199e+00 + -1.219645870103956e+00 -1.223122994042052e+00 -1.226589789250444e+00 -1.230046171916402e+00 -1.233492062734542e+00 + -1.236927390508550e+00 -1.240352088211073e+00 -1.243766097381527e+00 -1.247169363751694e+00 -1.250561841256042e+00 + -1.253943487695246e+00 -1.257314268132119e+00 -1.260674151007197e+00 -1.264023111009775e+00 -1.267361126327042e+00 + -1.270688182889021e+00 -1.274004269717549e+00 -1.277309380458899e+00 -1.280603511471348e+00 -1.283886665336751e+00 + -1.287158847447705e+00 -1.290420068216200e+00 -1.293670340397085e+00 -1.296909681097245e+00 -1.300138109654688e+00 + -1.303355649979877e+00 -1.306562327924205e+00 -1.309758172530325e+00 -1.312943214678930e+00 -1.316117489411603e+00 + -1.319281033477409e+00 -1.322433886294459e+00 -1.325576088655014e+00 -1.328707684178879e+00 -1.331828717822939e+00 + -1.334939237064845e+00 -1.338039290534788e+00 -1.341128928952336e+00 -1.344208204044806e+00 -1.347277169481128e+00 + -1.350335879836220e+00 -1.353384391367341e+00 -1.356422761075585e+00 -1.359451047255056e+00 -1.362469308854003e+00 + -1.365477606144248e+00 -1.368475999956682e+00 -1.371464552034891e+00 -1.374443324607048e+00 -1.377412380926959e+00 + -1.380371784452904e+00 -1.383321598435415e+00 -1.386261886043311e+00 -1.389192710326296e+00 -1.392114134331963e+00 + -1.395026221218571e+00 -1.397929034013782e+00 -1.400822635112213e+00 -1.403707086730599e+00 -1.406582451007194e+00 + -1.409448790047375e+00 -1.412306165903488e+00 -1.415154640386279e+00 -1.417994274393129e+00 -1.420825128672226e+00 + -1.423647264288326e+00 -1.426460742270041e+00 -1.429265623184807e+00 -1.432061967292326e+00 -1.434849834082543e+00 + -1.437629282863016e+00 -1.440400372981510e+00 -1.443163163644870e+00 -1.445917713456040e+00 -1.448664080745027e+00 + -1.451402323353998e+00 -1.454132498983212e+00 -1.456854665253158e+00 -1.459568879518891e+00 -1.462275198153495e+00 + -1.464973677286479e+00 -1.467664373054985e+00 -1.470347341460922e+00 -1.473022637957602e+00 -1.475690317602213e+00 + -1.478350434416031e+00 -1.481003042251009e+00 -1.483648195317718e+00 -1.486285947650543e+00 -1.488916352220507e+00 + -1.491539461636770e+00 -1.494155328124374e+00 -1.496764003712290e+00 -1.499365540029296e+00 -1.501959988475343e+00 + -1.504547399935251e+00 -1.507127824972320e+00 -1.509701313378898e+00 -1.512267914702716e+00 -1.514827678283996e+00 + -1.517380653263305e+00 -1.519926888190102e+00 -1.522466431291609e+00 -1.524999330097196e+00 -1.527525631932397e+00 + -1.530045384005255e+00 -1.532558633226744e+00 -1.535065425437065e+00 -1.537565806237489e+00 -1.540059821344337e+00 + -1.542547516227056e+00 -1.545028935252552e+00 -1.547504122520188e+00 -1.549973122161691e+00 -1.552435978060152e+00 + -1.554892733071735e+00 -1.557343429814709e+00 -1.559788110982664e+00 -1.562226819032855e+00 -1.564659595401864e+00 + -1.567086481207361e+00 -1.569507517312065e+00 -1.571922744465970e+00 -1.574332203223133e+00 -1.576735933784567e+00 + -1.579133975135047e+00 -1.581526366095511e+00 -1.583913146047792e+00 -1.586294354132112e+00 -1.588670027961349e+00 + -1.591040204840321e+00 -1.593404922368944e+00 -1.595764217997401e+00 -1.598118128281829e+00 -1.600466689560657e+00 + -1.602809938195509e+00 -1.605147910317183e+00 -1.607480641109968e+00 -1.609808165462235e+00 -1.612130518025190e+00 + -1.614447733364541e+00 -1.616759845941160e+00 -1.619066889913862e+00 -1.621368898338053e+00 -1.623665904067572e+00 + -1.625957940253400e+00 -1.628245039905108e+00 -1.630527235169479e+00 -1.632804557955816e+00 -1.635077040086276e+00 + -1.637344713164072e+00 -1.639607608003776e+00 -1.641865755216986e+00 -1.644119185392045e+00 -1.646367929030376e+00 + -1.648612016308968e+00 -1.650851477080719e+00 -1.653086340226579e+00 -1.655316634503563e+00 -1.657542389144867e+00 + -1.659763633269537e+00 -1.661980395063818e+00 -1.664192702419508e+00 -1.666400582983419e+00 -1.668604064251645e+00 + -1.670803173362428e+00 -1.672997937236383e+00 -1.675188382281491e+00 -1.677374534802169e+00 -1.679556421201192e+00 + -1.681734067628149e+00 -1.683907499121518e+00 -1.686076740528519e+00 -1.688241817042459e+00 -1.690402753749855e+00 + -1.692559574964003e+00 -1.694712304797627e+00 -1.696860967334408e+00 -1.699005586454806e+00 -1.701146185255449e+00 + -1.703282786721620e+00 -1.705415414177082e+00 -1.707544090831449e+00 -1.709668839099297e+00 -1.711789681156861e+00 + -1.713906639022084e+00 -1.716019734585396e+00 -1.718128989385494e+00 -1.720234424849230e+00 -1.722336062307809e+00 + -1.724433922917529e+00 -1.726528027230686e+00 -1.728618395721282e+00 -1.730705049154116e+00 -1.732788008101886e+00 + -1.734867292078088e+00 -1.736942920442919e+00 -1.739014913002594e+00 -1.741083289547465e+00 -1.743148069358425e+00 + -1.745209271450225e+00 -1.747266914282488e+00 -1.749321016270471e+00 -1.751371596207075e+00 -1.753418672811714e+00 + -1.755462264132180e+00 -1.757502388000569e+00 -1.759539062057792e+00 -1.761572303881055e+00 -1.763602130983907e+00 + -1.765628560778196e+00 -1.767651610332621e+00 -1.769671296580689e+00 -1.771687636258316e+00 -1.773700645994041e+00 + -1.775710342184503e+00 -1.777716741146727e+00 -1.779719859111176e+00 -1.781719712181211e+00 -1.783716316038327e+00 + -1.785709686327057e+00 -1.787699838965949e+00 -1.789686789700248e+00 -1.791670553307960e+00 -1.793651144443631e+00 + -1.795628578235185e+00 -1.797602869852874e+00 -1.799574034162875e+00 -1.801542085839167e+00 -1.803507039091021e+00 + -1.805468908052258e+00 -1.807427707019619e+00 -1.809383450209764e+00 -1.811336151356113e+00 -1.813285824110837e+00 + -1.815232482284336e+00 -1.817176139592257e+00 -1.819116809213001e+00 -1.821054504262256e+00 -1.822989238142106e+00 + -1.824921024174149e+00 -1.826849875071642e+00 -1.828775803432498e+00 -1.830698822001605e+00 -1.832618943490715e+00 + -1.834536180332052e+00 -1.836450544855570e+00 -1.838362049261658e+00 -1.840270705693083e+00 -1.842176526191684e+00 + -1.844079522732226e+00 -1.845979707122125e+00 -1.847877091069540e+00 -1.849771686052976e+00 -1.851663503515020e+00 + -1.853552554984233e+00 -1.855438851906239e+00 -1.857322405308933e+00 -1.859203226114476e+00 -1.861081325239847e+00 + -1.862956713608023e+00 -1.864829402171162e+00 -1.866699401811557e+00 -1.868566723102871e+00 -1.870431376467943e+00 + -1.872293372034969e+00 -1.874152719980291e+00 -1.876009430967454e+00 -1.877863515541558e+00 -1.879714983286677e+00 + -1.881563843740828e+00 -1.883410107218835e+00 -1.885253783963326e+00 -1.887094883151373e+00 -1.888933413891583e+00 + -1.890769386084288e+00 -1.892602809677417e+00 -1.894433694017575e+00 -1.896262048252058e+00 -1.898087881332244e+00 + -1.899911202238771e+00 -1.901732020265218e+00 -1.903550344662578e+00 -1.905366184198560e+00 -1.907179547502340e+00 + -1.908990443132265e+00 -1.910798879695625e+00 -1.912604866066330e+00 -1.914408411061036e+00 -1.916209523000752e+00 + -1.918008210058423e+00 -1.919804480310377e+00 -1.921598341888620e+00 -1.923389803244497e+00 -1.925178872754823e+00 + -1.926965558178970e+00 -1.928749867237572e+00 -1.930531808113790e+00 -1.932311388923252e+00 -1.934088617048956e+00 + -1.935863499807747e+00 -1.937636044984464e+00 -1.939406260367225e+00 -1.941174153289245e+00 -1.942939731044444e+00 + -1.944703001224463e+00 -1.946463971324967e+00 -1.948222648160018e+00 -1.949979038559213e+00 -1.951733150095908e+00 + -1.953484990331042e+00 -1.955234566032130e+00 -1.956981883796339e+00 -1.958726950332857e+00 -1.960469772453529e+00 + -1.962210357268799e+00 -1.963948711773954e+00 -1.965684842205069e+00 -1.967418754747339e+00 -1.969150456141664e+00 + -1.970879953151972e+00 -1.972607252078582e+00 -1.974332359180596e+00 -1.976055281015821e+00 -1.977776024078765e+00 + -1.979494594312026e+00 -1.981210997612849e+00 -1.982925240248993e+00 -1.984637328483028e+00 -1.986347268186276e+00 + -1.988055065135925e+00 -1.989760725123873e+00 -1.991464254028801e+00 -1.993165658061782e+00 -1.994864943305917e+00 + -1.996562115000000e+00 -1.998257178352118e+00 -1.999950139291834e+00 -2.001641003786081e+00 -2.003329777229788e+00 + -2.005016464899233e+00 -2.006701072168050e+00 -2.008383604435580e+00 -2.010064067106614e+00 -2.011742465557514e+00 + -2.013418805045480e+00 -2.015093090790721e+00 -2.016765327984645e+00 -2.018435521788566e+00 -2.020103677272243e+00 + -2.021769799450648e+00 -2.023433893211152e+00 -2.025095963440481e+00 -2.026756015150358e+00 -2.028414053372033e+00 + -2.030070083089858e+00 -2.031724109167109e+00 -2.033376136029651e+00 -2.035026168111125e+00 -2.036674210313675e+00 + -2.038320267543339e+00 -2.039964344253219e+00 -2.041606444873179e+00 -2.043246574193053e+00 -2.044884736927830e+00 + -2.046520937133174e+00 -2.048155178894251e+00 -2.049787467073582e+00 -2.051417806490505e+00 -2.053046201014273e+00 + -2.054672654449746e+00 -2.056297171294283e+00 -2.057919756136151e+00 -2.059540413234731e+00 -2.061159146675282e+00 + -2.062775960175462e+00 -2.064390857518372e+00 -2.066003843116474e+00 -2.067614921377108e+00 -2.069224096057763e+00 + -2.070831370870978e+00 -2.072436749999330e+00 -2.074040237602111e+00 -2.075641837275425e+00 -2.077241552544816e+00 + -2.078839387216755e+00 -2.080435345153352e+00 -2.082029430158359e+00 -2.083621645967183e+00 -2.085211996100236e+00 + -2.086800484128769e+00 -2.088387114042385e+00 -2.089971889736969e+00 -2.091554814315162e+00 -2.093135890870968e+00 + -2.094715123257078e+00 -2.096292515329556e+00 -2.097868070199266e+00 -2.099441790929908e+00 -2.101013681141721e+00 + -2.102583744473837e+00 -2.104151984084442e+00 -2.105718403103298e+00 -2.107283005027429e+00 -2.108845793364375e+00 + -2.110406771296459e+00 -2.111965941910842e+00 -2.113523308239219e+00 -2.115078873308544e+00 -2.116632640182243e+00 + -2.118184611994434e+00 -2.119734792125529e+00 -2.121283183887100e+00 -2.122829790069075e+00 -2.124374613416041e+00 + -2.125917657012881e+00 -2.127458923984833e+00 -2.128998417278243e+00 -2.130536139767974e+00 -2.132072094221826e+00 + -2.133606283403289e+00 -2.135138710165668e+00 -2.136669377406417e+00 -2.138198288109766e+00 -2.139725445172409e+00 + -2.141250851054121e+00 -2.142774508270670e+00 -2.144296419998729e+00 -2.145816589318136e+00 -2.147335018260493e+00 + -2.148851708859426e+00 -2.150366664204882e+00 -2.151879887475646e+00 -2.153391381149525e+00 -2.154901147551277e+00 + -2.156409189094421e+00 -2.157915508301146e+00 -2.159420108039566e+00 -2.160922991060322e+00 -2.162424159298261e+00 + -2.163923614721020e+00 -2.165421360243191e+00 -2.166917398765767e+00 -2.168411732188371e+00 -2.169904362385663e+00 + -2.171395292133801e+00 -2.172884524283159e+00 -2.174372061079477e+00 -2.175857904621596e+00 -2.177342057025400e+00 + -2.178824520458782e+00 -2.180305297280612e+00 -2.181784389836284e+00 -2.183261800226323e+00 -2.184737530553230e+00 + -2.186211583172279e+00 -2.187683960396664e+00 -2.189154664118480e+00 -2.190623696232450e+00 -2.192091059064924e+00 + -2.193556754973807e+00 -2.195020786011611e+00 -2.196483154140098e+00 -2.197943861263397e+00 -2.199402909290797e+00 + -2.200860300209873e+00 -2.202316036078389e+00 -2.203770119156592e+00 -2.205222551620105e+00 -2.206673335103553e+00 + -2.208122471221687e+00 -2.209569962050753e+00 -2.211015809743800e+00 -2.212460016299604e+00 -2.213902583604158e+00 + -2.215343513246597e+00 -2.216782806815468e+00 -2.218220466193829e+00 -2.219656493330310e+00 -2.221090890141300e+00 + -2.222523658493742e+00 -2.223954800089009e+00 -2.225384316635711e+00 -2.226812210036953e+00 -2.228238482128524e+00 + -2.229663134282465e+00 -2.231086167933421e+00 -2.232507585230206e+00 -2.233927388263609e+00 -2.235345578178182e+00 + -2.236762156112363e+00 -2.238177124126393e+00 -2.239590484325721e+00 -2.241002238074839e+00 -2.242412386688506e+00 + -2.243820932023517e+00 -2.245227875877045e+00 -2.246633219265731e+00 -2.248036963296034e+00 -2.249439110214208e+00 + -2.250839662216949e+00 -2.252238620162919e+00 -2.253635984842608e+00 -2.255031758111861e+00 -2.256425941987018e+00 + -2.257818538061035e+00 -2.259209547728066e+00 -2.260598972010440e+00 -2.261986811976363e+00 -2.263373069249392e+00 + -2.264757745520950e+00 -2.266140842198597e+00 -2.267522360622610e+00 -2.268902302148032e+00 -2.270280668153553e+00 + -2.271657460097697e+00 -2.273032679375423e+00 -2.274406327047590e+00 -2.275778404191426e+00 -2.277148912283742e+00 + -2.278517852852843e+00 -2.279885227233438e+00 -2.281251036662961e+00 -2.282615282183361e+00 -2.283977964870765e+00 + -2.285339086133513e+00 -2.286698647429660e+00 -2.288056650083893e+00 -2.289413095312870e+00 -2.290767984034498e+00 + -2.292121317209354e+00 -2.293473096267451e+00 -2.294823322630535e+00 -2.296171997217860e+00 -2.297519120939147e+00 + -2.298864695168495e+00 -2.300208721271999e+00 -2.301551200119357e+00 -2.302892132586471e+00 -2.304231520070443e+00 + -2.305569363951571e+00 -2.306905665021753e+00 -2.308240424043668e+00 -2.309573642251534e+00 -2.310905320943594e+00 + -2.312235461202651e+00 -2.313564064009707e+00 -2.314891130153991e+00 -2.316216660462560e+00 -2.317540656105554e+00 + -2.318863118293744e+00 -2.320184048057342e+00 -2.321503446385586e+00 -2.322821314284393e+00 -2.324137652689092e+00 + -2.325452462235987e+00 -2.326765743634779e+00 -2.328077498187803e+00 -2.329387727168217e+00 -2.330696431139842e+00 + -2.332003610675342e+00 -2.333309267092103e+00 -2.334613401701304e+00 -2.335916015044585e+00 -2.337217107588464e+00 + -2.338516680268511e+00 -2.339814734134101e+00 -2.341111270220800e+00 -2.342406289434137e+00 -2.343699792173311e+00 + -2.344991778936741e+00 -2.346282251126043e+00 -2.347571210092017e+00 -2.348858656078995e+00 -2.350144589310363e+00 + -2.351429011032167e+00 -2.352711922533504e+00 -2.353993324252988e+00 -2.355273216536063e+00 -2.356551600205969e+00 + -2.357828476165661e+00 -2.359103845159169e+00 -2.360377707896761e+00 -2.361650065112589e+00 -2.362920917562625e+00 + -2.364190266066228e+00 -2.365458111389245e+00 -2.366724454020086e+00 -2.367989294422349e+00 -2.369252633237819e+00 + -2.370514471195048e+00 -2.371774809191487e+00 -2.373033648052395e+00 -2.374290988145372e+00 -2.375546829856004e+00 + -2.376801174099476e+00 -2.378054021758188e+00 -2.379305373053798e+00 -2.380555228228685e+00 -2.381803588268867e+00 + -2.383050454170042e+00 -2.384295826222999e+00 -2.385539704659158e+00 -2.386782090177350e+00 -2.388022983519428e+00 + -2.389262385131917e+00 -2.390500295440986e+00 -2.391736715086700e+00 -2.392971644747536e+00 -2.394205085041701e+00 + -2.395437036486230e+00 -2.396667499253712e+00 -2.397896473568759e+00 -2.399123960208524e+00 -2.400349959968320e+00 + -2.401574473163553e+00 -2.402797500049246e+00 -2.404019041118798e+00 -2.405239096931802e+00 -2.406457668074259e+00 + -2.407674755052769e+00 -2.408890358029935e+00 -2.410104477201394e+00 -2.411317113238899e+00 -2.412528266823138e+00 + -2.413737938194389e+00 -2.414946127524263e+00 -2.416152835150093e+00 -2.417358061488310e+00 -2.418561807106014e+00 + -2.419764072540869e+00 -2.420964858062149e+00 -2.422164163883997e+00 -2.423361990268478e+00 -2.424558337539998e+00 + -2.425753206224426e+00 -2.426946596778449e+00 -2.428138509180588e+00 -2.429328943436301e+00 -2.430517900136966e+00 + -2.431705379929064e+00 -2.432891383093559e+00 -2.434075909789072e+00 -2.435258960050367e+00 -2.436440534002261e+00 + -2.437620632253666e+00 -2.438799255363957e+00 -2.439976403210287e+00 -2.441152075652963e+00 -2.442326273167121e+00 + -2.443498996281469e+00 -2.444670245124171e+00 -2.445840019720089e+00 -2.447008320081434e+00 -2.448175146330043e+00 + -2.449340499038912e+00 -2.450504378726154e+00 -2.451666785239187e+00 -2.452827718349615e+00 -2.453987178196479e+00 + -2.455145165027037e+00 -2.456301679153984e+00 -2.457456720843679e+00 -2.458610290111703e+00 -2.459762386895362e+00 + -2.460913011069636e+00 -2.462062162618941e+00 -2.463209842027783e+00 -2.464356049701044e+00 -2.465500785225038e+00 + -2.466644048210323e+00 -2.467785839182998e+00 -2.468926158651886e+00 -2.470065006141172e+00 -2.471202381154697e+00 + -2.472338284099561e+00 -2.473472715451581e+00 -2.474605675058163e+00 -2.475737162666682e+00 -2.476867178252799e+00 + -2.477995721814551e+00 -2.479122793211214e+00 -2.480248392312651e+00 -2.481372519169843e+00 -2.482495173828069e+00 + -2.483616356128687e+00 -2.484736065895716e+00 -2.485854303087743e+00 -2.486971067738408e+00 -2.488086360047014e+00 + -2.489200180083995e+00 -2.490312527238630e+00 -2.491423400907520e+00 -2.492532801197714e+00 -2.493640728315912e+00 + -2.494747182157012e+00 -2.495852162518061e+00 -2.496955669116524e+00 -2.498057701682506e+00 -2.499158260076250e+00 + -2.500257344205291e+00 -2.501354954036191e+00 -2.502451089487258e+00 -2.503545750224782e+00 -2.504638935878569e+00 + -2.505730646184535e+00 -2.506820880947837e+00 -2.507909640144502e+00 -2.508996923692245e+00 -2.510082731104683e+00 + -2.511167061905791e+00 -2.512249916065080e+00 -2.513331293568936e+00 -2.514411194025691e+00 -2.515489616993924e+00 + -2.516566562211253e+00 -2.517642029416175e+00 -2.518716018171676e+00 -2.519788528087044e+00 -2.520859559132313e+00 + -2.521929111272669e+00 -2.522997184093166e+00 -2.524063777123772e+00 -2.525128890054233e+00 -2.526192522577199e+00 + -2.527254674237163e+00 -2.528315344566595e+00 -2.529374533198041e+00 -2.530432239809303e+00 -2.531488464159136e+00 + -2.532543206017777e+00 -2.533596465120445e+00 -2.534648241083385e+00 -2.535698533081969e+00 -2.536747340380982e+00 + -2.537794663043710e+00 -2.538840501172024e+00 -2.539884854223596e+00 -2.540927721482817e+00 -2.541969102185147e+00 + -2.543008995720672e+00 -2.544047402146914e+00 -2.545084321505733e+00 -2.546119753108897e+00 -2.547153696148885e+00 + -2.548186150071097e+00 -2.549217114438763e+00 -2.550246589033513e+00 -2.551274573561718e+00 -2.552301067210345e+00 + -2.553326069170913e+00 -2.554349579172571e+00 -2.555371597001575e+00 -2.556392122135012e+00 -2.557411153995589e+00 + -2.558428692097672e+00 -2.559444735964176e+00 -2.560459285060548e+00 -2.561472338773803e+00 -2.562483896234721e+00 + -2.563493956701396e+00 -2.564502520197407e+00 -2.565509586690590e+00 -2.566515155160310e+00 -2.567519224484451e+00 + -2.568521794123430e+00 -2.569522863722881e+00 -2.570522433086768e+00 -2.571520501879673e+00 -2.572517069050324e+00 + -2.573512133570669e+00 -2.574505695221420e+00 -2.575497753777856e+00 -2.576488308184784e+00 -2.577477357385580e+00 + -2.578464901148367e+00 -2.579450939304331e+00 -2.580435471112168e+00 -2.581418495678755e+00 -2.582400012076188e+00 + -2.583380019545771e+00 -2.584358518040427e+00 -2.585335507388502e+00 -2.586310986208430e+00 -2.587284953146766e+00 + -2.588257408172476e+00 -2.589228351266687e+00 -2.590197781136742e+00 -2.591165696464199e+00 -2.592132097101227e+00 + -2.593096982965479e+00 -2.594060353065933e+00 -2.595022206300420e+00 -2.595982542030859e+00 -2.596941359648237e+00 + -2.597898658195753e+00 -2.598854436786441e+00 -2.599808695160485e+00 -2.600761432999720e+00 -2.601712649125437e+00 + -2.602662342322502e+00 -2.603610512090611e+00 -2.604557157983472e+00 -2.605502279056006e+00 -2.606445874333086e+00 + -2.607387943218189e+00 -2.608328485131743e+00 -2.609267499183389e+00 -2.610204984445080e+00 -2.611140940148811e+00 + -2.612075365584592e+00 -2.613008260114454e+00 -2.613939623006402e+00 -2.614869453080320e+00 -2.615797749224179e+00 + -2.616724511046408e+00 -2.617649738126216e+00 -2.618573429205448e+00 -2.619495583026503e+00 -2.620416199171340e+00 + -2.621335277249019e+00 -2.622252816137456e+00 -2.623168814653865e+00 -2.624083272103795e+00 -2.624996187859330e+00 + -2.625907561070358e+00 -2.626817390806325e+00 -2.627725676037143e+00 -2.628632415761536e+00 -2.629537609193020e+00 + -2.630441255587996e+00 -2.631343354159609e+00 -2.632243904045731e+00 -2.633142904126422e+00 -2.634040353337229e+00 + -2.634936251093461e+00 -2.635830596765059e+00 -2.636723389060725e+00 -2.637614626713354e+00 -2.638504309213838e+00 + -2.639392436080191e+00 -2.640279006180904e+00 -2.641164018251881e+00 -2.642047471148195e+00 -2.642929363899640e+00 + -2.643809696115713e+00 -2.644688467316341e+00 -2.645565676083456e+00 -2.646441320932559e+00 -2.647315401051427e+00 + -2.648187915755844e+00 -2.649058864201336e+00 -2.649928245427330e+00 -2.650796058169106e+00 -2.651662301248424e+00 + -2.652526974137104e+00 -2.653390076247662e+00 -2.654251606105329e+00 -2.655111562238285e+00 -2.655969944073783e+00 + -2.656826751086593e+00 -2.657681982042466e+00 -2.658535635661370e+00 -2.659387711189145e+00 -2.660238207837736e+00 + -2.661087124157626e+00 -2.661934458755756e+00 -2.662780211126336e+00 -2.663624380741185e+00 -2.664466966095276e+00 + -2.665307965694397e+00 -2.666147379064445e+00 -2.666985205710447e+00 -2.667821444033845e+00 -2.668656092405469e+00 + -2.669489150177272e+00 -2.670320616801000e+00 -2.671150491146469e+00 -2.671978771965001e+00 -2.672805458115896e+00 + -2.673630548501148e+00 -2.674454042085555e+00 -2.675275937884819e+00 -2.676096235055446e+00 -2.676914932653945e+00 + -2.677732029196031e+00 -2.678547523253807e+00 -2.679361414165717e+00 -2.680173701269736e+00 -2.680984383135636e+00 + -2.681793458321363e+00 -2.682600926105787e+00 -2.683406785794135e+00 -2.684211036076172e+00 -2.685013675548027e+00 + -2.685814703046789e+00 -2.686614117528503e+00 -2.687411918184072e+00 -2.688208104155523e+00 -2.689002674154484e+00 + -2.689795626844247e+00 -2.690586961125131e+00 -2.691376675931391e+00 -2.692164770096012e+00 -2.692951242468673e+00 + -2.693736092067127e+00 -2.694519317933390e+00 -2.695300919038479e+00 -2.696080894259941e+00 -2.696859242172434e+00 + -2.697635961409562e+00 -2.698411051143577e+00 -2.699184510529523e+00 -2.699956338114957e+00 -2.700726532498006e+00 + -2.701495093086574e+00 -2.702262019208106e+00 -2.703027309058428e+00 -2.703790960874505e+00 -2.704552974189474e+00 + -2.705313348537555e+00 -2.706072082161119e+00 -2.706829173257158e+00 -2.707584621133000e+00 -2.708338425191227e+00 + -2.709090584105120e+00 -2.709841096442358e+00 -2.710589961077480e+00 -2.711337176962203e+00 -2.712082743050078e+00 + -2.712826658235913e+00 -2.713568921177743e+00 -2.714309530527581e+00 -2.715048485150131e+00 -2.715785783993005e+00 + -2.716521426122757e+00 -2.717255410569124e+00 -2.717987736095623e+00 -2.718718401385704e+00 -2.719447405068731e+00 + -2.720174745881186e+00 -2.720900423042079e+00 -2.721624435690877e+00 -2.722346782166338e+00 -2.723067460855530e+00 + -2.723786471139474e+00 -2.724503812410580e+00 -2.725219483112852e+00 -2.725933481634188e+00 -2.726645807086471e+00 + -2.727356458650697e+00 -2.728065435060333e+00 -2.728772734953498e+00 -2.729478357034439e+00 -2.730182300087997e+00 + -2.730884563155262e+00 -2.731585145263588e+00 -2.732284045129153e+00 -2.732981261442558e+00 -2.733676793103288e+00 + -2.734370639038562e+00 -2.735062798077667e+00 -2.735753269071118e+00 -2.736442051052291e+00 -2.737129142959769e+00 + -2.737814543170111e+00 -2.738498250131983e+00 -2.739180263144520e+00 -2.739860581563291e+00 -2.740539204119172e+00 + -2.741216129405992e+00 -2.741891356094071e+00 -2.742564882952538e+00 -2.743236709069217e+00 -2.743906833523784e+00 + -2.744575255044610e+00 -2.745241972311204e+00 -2.745906984158941e+00 -2.746570289467025e+00 -2.747231887134115e+00 + -2.747891776057501e+00 -2.748549955109537e+00 -2.749206423158993e+00 -2.749861179085207e+00 -2.750514221765824e+00 + -2.751165550061125e+00 -2.751815162841771e+00 -2.752463059037292e+00 -2.753109237554207e+00 -2.753753697148108e+00 + -2.754396436622574e+00 -2.755037455124055e+00 -2.755676751755156e+00 -2.756314325100252e+00 -2.756950173779785e+00 + -2.757584297076699e+00 -2.758216694281619e+00 -2.758847364053396e+00 -2.759476305000437e+00 -2.760103516161140e+00 + -2.760728996610216e+00 -2.761352745137616e+00 -2.761974760563591e+00 -2.762595042114344e+00 -2.763213589016364e+00 + -2.763830400091322e+00 -2.764445474113015e+00 -2.765058810068553e+00 -2.765670407011266e+00 -2.766280264046035e+00 + -2.766888380201558e+00 -2.767494754150214e+00 -2.768099384646222e+00 -2.768702271127474e+00 -2.769303413030783e+00 + -2.769902809104988e+00 -2.770500458053093e+00 -2.771096359082754e+00 -2.771690511445131e+00 -2.772282914060774e+00 + -2.772873565847032e+00 -2.773462466039048e+00 -2.774049613856528e+00 -2.774635008139637e+00 -2.775218647762881e+00 + -2.775800532117688e+00 -2.776380660598635e+00 -2.776959032095993e+00 -2.777535645483684e+00 -2.778110500074552e+00 + -2.778683595228330e+00 -2.779254930053368e+00 -2.779824503611819e+00 -2.780392315032438e+00 -2.780958363471580e+00 + -2.781522648129417e+00 -2.782085168237396e+00 -2.782645923108263e+00 -2.783204912027138e+00 -2.783762134087364e+00 + -2.784317588365996e+00 -2.784871274066723e+00 -2.785423190471204e+00 -2.785973337046338e+00 -2.786521713227682e+00 + -2.787068318140169e+00 -2.787613150927563e+00 -2.788156211119559e+00 -2.788697498201977e+00 -2.789237011099205e+00 + -2.789774748795882e+00 -2.790310711079109e+00 -2.790844897774500e+00 -2.791377308059270e+00 -2.791907941021321e+00 + -2.792436796039691e+00 -2.792963872575855e+00 -2.793489170129877e+00 -2.794012688183935e+00 -2.794534426110070e+00 + -2.795054383269529e+00 -2.795572559090522e+00 -2.796088953089790e+00 -2.796603565071232e+00 -2.797116394731634e+00 + -2.797627441052200e+00 -2.798136703104035e+00 -2.798644181033428e+00 -2.799149874997305e+00 -2.799653784119957e+00 + -2.800155907491874e+00 -2.800656245100958e+00 -2.801154796934787e+00 -2.801651562082218e+00 -2.802146539693571e+00 + -2.802639730063738e+00 -2.803131133478864e+00 -2.803620749045517e+00 -2.804108575856467e+00 -2.804594614128865e+00 + -2.805078864118387e+00 -2.805561325110418e+00 -2.806041996375143e+00 -2.806520878092229e+00 -2.806997970489045e+00 + -2.807473273074300e+00 -2.807946785293329e+00 -2.808418507056632e+00 -2.808888438355500e+00 -2.809356579039224e+00 + -2.809822928959404e+00 -2.810287488118900e+00 -2.810750256531227e+00 -2.811211234101264e+00 -2.811670420689050e+00 + -2.812127816083888e+00 -2.812583420143096e+00 -2.813037233066774e+00 -2.813489255065615e+00 -2.813939486049919e+00 + -2.814387925944586e+00 -2.814834575033324e+00 -2.815279433542374e+00 -2.815722501109326e+00 -2.816163777438837e+00 + -2.816603263092504e+00 -2.817040958671196e+00 -2.817476864075942e+00 -2.817910979131784e+00 -2.818343304059641e+00 + -2.818773839208482e+00 -2.819202585043600e+00 -2.819629541969078e+00 -2.820054710027820e+00 -2.820478089265513e+00 + -2.820899680100151e+00 -2.821319482977751e+00 -2.821737498084143e+00 -2.822153725615352e+00 -2.822568166068396e+00 + -2.822980820018520e+00 -2.823391688052908e+00 -2.823800770674544e+00 -2.824208068037681e+00 -2.824613580315654e+00 + -2.825017308106835e+00 -2.825419252121360e+00 -2.825819413091381e+00 -2.826217791658008e+00 -2.826614388076187e+00 + -2.827009202624378e+00 -2.827402236061253e+00 -2.827793489256864e+00 -2.828182963046578e+00 -2.828570658171722e+00 + -2.828956575032161e+00 -2.829340714052488e+00 -2.829723076097664e+00 -2.830103662132774e+00 -2.830482473083023e+00 + -2.830859509823491e+00 -2.831234773068641e+00 -2.831608263528317e+00 -2.831979982054516e+00 -2.832349929557777e+00 + -2.832718107040651e+00 -2.833084515526141e+00 -2.833449156027042e+00 -2.833812029550204e+00 -2.834173137088914e+00 + -2.834532479620883e+00 -2.834890058075082e+00 -2.835245873448821e+00 -2.835599927061508e+00 -2.835952220243667e+00 + -2.836302754048190e+00 -2.836651529530672e+00 -2.836998548035129e+00 -2.837343810883671e+00 -2.837687319022324e+00 + -2.838029073490917e+00 -2.838369076080591e+00 -2.838707328586376e+00 -2.839043832067564e+00 -2.839378587474163e+00 + -2.839711596054793e+00 -2.840042859259108e+00 -2.840372379042276e+00 -2.840700157280677e+00 -2.841026195030013e+00 + -2.841350493343512e+00 -2.841673054085180e+00 -2.841993879190829e+00 -2.842312970072699e+00 -2.842630328108386e+00 + -2.842945955060471e+00 -2.843259852775203e+00 -2.843572023048496e+00 -2.843882467617769e+00 -2.844191188036773e+00 + -2.844498185884593e+00 -2.844803463025301e+00 -2.845107021413000e+00 -2.845408863076932e+00 -2.845708990020076e+00 + -2.846007404065244e+00 -2.846304107050338e+00 -2.846599101053807e+00 -2.846892388135785e+00 -2.847183970042619e+00 + -2.847473848570861e+00 -2.847762026031680e+00 -2.848048504803730e+00 -2.848333287020989e+00 -2.848616374754612e+00 + -2.848897770069131e+00 -2.849177475073159e+00 -2.849455492058227e+00 -2.849731823327478e+00 -2.850006471047571e+00 + -2.850279437434387e+00 -2.850550725037162e+00 -2.850820336439234e+00 -2.851088274026996e+00 -2.851354540133094e+00 + -2.851619137072155e+00 -2.851882067200814e+00 -2.852143333061782e+00 -2.852402937208544e+00 -2.852660882051651e+00 + -2.852917170055367e+00 -2.853171804041764e+00 -2.853424786850297e+00 -2.853676121032120e+00 -2.853925809140160e+00 + -2.854173854022716e+00 -2.854420258509995e+00 -2.854665025064492e+00 -2.854908156206457e+00 -2.855149655054884e+00 + -2.855389524765914e+00 -2.855627768045515e+00 -2.855864387531145e+00 -2.856099386036384e+00 -2.856332766480263e+00 + -2.856564532027491e+00 -2.856794685864488e+00 -2.857023231018833e+00 -2.857250170456676e+00 -2.857475507057297e+00 + -2.857699243787178e+00 -2.857921384048440e+00 -2.858141931205942e+00 -2.858360888039817e+00 -2.858578257403886e+00 + -2.858794043031427e+00 -2.859008248642304e+00 -2.859220877023269e+00 -2.859431930941042e+00 -2.859641414015340e+00 + -2.859849329964776e+00 -2.860055682050569e+00 -2.860260473522559e+00 -2.860463708042447e+00 -2.860665389218646e+00 + -2.860865520034553e+00 -2.861064103583913e+00 -2.861261144026887e+00 -2.861456645505078e+00 -2.861650611019446e+00 + -2.861843043539793e+00 -2.862033947051935e+00 -2.862223325674870e+00 -2.862411183044306e+00 -2.862597522669464e+00 + -2.862782348036900e+00 -2.862965662765951e+00 -2.863147471029718e+00 -2.863327776966641e+00 -2.863506584022756e+00 + -2.863683895649960e+00 -2.863859716016013e+00 -2.864034049304372e+00 -2.864206899045429e+00 -2.864378268816853e+00 + -2.864548163038503e+00 -2.864716586175495e+00 -2.864883542031795e+00 -2.865049034317118e+00 -2.865213067025303e+00 + -2.865375644227383e+00 -2.865536770019026e+00 -2.865696448531390e+00 -2.865854684012960e+00 -2.866011480747103e+00 + -2.866166843039399e+00 -2.866320775137251e+00 -2.866473281033156e+00 -2.866624364792500e+00 -2.866774031027124e+00 + -2.866922284373643e+00 -2.867069129021301e+00 -2.867214569108258e+00 -2.867358609015685e+00 -2.867501253183005e+00 + -2.867642506039625e+00 -2.867782372075631e+00 -2.867920856033839e+00 -2.868057962606175e+00 -2.868193696028257e+00 + -2.868328060561013e+00 -2.868461061022879e+00 -2.868592702303233e+00 -2.868722989017701e+00 -2.868851925722842e+00 + -2.868979517012722e+00 -2.869105767524959e+00 -2.869230682033886e+00 -2.869354265317122e+00 -2.869476522028743e+00 + -2.869597456891174e+00 -2.869717075023798e+00 -2.869835381525858e+00 -2.869952381019048e+00 -2.870068078133983e+00 + -2.870182478014490e+00 -2.870295585788873e+00 -2.870407406010122e+00 -2.870517943287246e+00 -2.870627203028626e+00 + -2.870735190678368e+00 -2.870841911024103e+00 -2.870947368779615e+00 -2.871051569019769e+00 -2.871154516959833e+00 + -2.871256218015620e+00 -2.871356677487263e+00 -2.871455900011655e+00 -2.871553890297982e+00 -2.871650654007871e+00 + -2.871746196881877e+00 -2.871840524023838e+00 -2.871933640394619e+00 -2.872025551019907e+00 -2.872116261043417e+00 + -2.872205776016155e+00 -2.872294101539941e+00 -2.872381243012580e+00 -2.872467205758066e+00 -2.872551995009178e+00 + -2.872635615995248e+00 -2.872718074023048e+00 -2.872799374482606e+00 -2.872879523019508e+00 -2.872958525324841e+00 + -2.873036387016140e+00 -2.873113113575017e+00 -2.873188710012942e+00 -2.873263181462381e+00 -2.873336534009911e+00 + -2.873408773769060e+00 -2.873479906007045e+00 -2.873549935889074e+00 -2.873618869018622e+00 -2.873686711126628e+00 + -2.873753468015626e+00 -2.873819145455355e+00 -2.873883749012791e+00 -2.873947284262238e+00 -2.874009757010115e+00 + -2.874071173064448e+00 -2.874131538007598e+00 -2.874190857408149e+00 -2.874249137005235e+00 -2.874306382592947e+00 + -2.874362600014657e+00 -2.874417795154723e+00 -2.874471974012172e+00 -2.874525142492177e+00 -2.874577306009839e+00 + -2.874628470067637e+00 -2.874678641007656e+00 -2.874727825164796e+00 -2.874776028005620e+00 -2.874823254939239e+00 + -2.874869512013286e+00 -2.874914805384953e+00 -2.874959141011137e+00 -2.875002524843012e+00 -2.875044963009132e+00 + -2.875086461553842e+00 -2.875127026007268e+00 -2.875166661990855e+00 -2.875205376005544e+00 -2.875243174521211e+00 + -2.875280063003956e+00 -2.875316046953741e+00 -2.875351133009737e+00 -2.875385327829893e+00 -2.875418637008044e+00 + -2.875451066029114e+00 -2.875482621006486e+00 -2.875513308222273e+00 -2.875543134005058e+00 -2.875572104616458e+00 + -2.875600226003760e+00 -2.875627504088381e+00 -2.875653945002586e+00 -2.875679554924722e+00 -2.875704340006628e+00 + -2.875728306365356e+00 -2.875751460005359e+00 -2.875773807024162e+00 -2.875795354004213e+00 -2.875816107441742e+00 + -2.875836073003188e+00 -2.875855256356105e+00 -2.875873664002281e+00 -2.875891302525273e+00 -2.875908178001488e+00 + -2.875924296429527e+00 -2.875939664003940e+00 -2.875954287022889e+00 -2.875968172003060e+00 -2.875981325374513e+00 + -2.875993753002293e+00 -2.876005460745149e+00 -2.876016455001635e+00 -2.876026742281703e+00 -2.876036329001085e+00 + -2.876045221511428e+00 -2.876053426002279e+00 -2.876060948682664e+00 -2.876067796001651e+00 -2.876073974394489e+00 + -2.876079490001126e+00 -2.876084348997735e+00 -2.876088558000703e+00 -2.876092123620084e+00 -2.876095052000378e+00 + -2.876097349275196e+00 -2.876099022000147e+00 -2.876100076780735e+00 -2.876100520000039e+00 -2.876100357977497e+00 + -2.876099597000405e+00 -2.876098243435337e+00 -2.876096303998139e+00 -2.876093785401991e+00 -2.876090694000126e+00 + -2.876087036076098e+00 -2.876082817994697e+00 -2.876078046153286e+00 -2.876072726998279e+00 -2.876066867041051e+00 + -2.876060473003754e+00 -2.876053551562065e+00 -2.876046108994973e+00 -2.876038151582050e+00 -2.876029686001908e+00 + -2.876020718975022e+00 -2.876011256990315e+00 -2.876001306494705e+00 -2.875990873998654e+00 -2.875979966015766e+00 + -2.875968589008655e+00 -2.875956749461299e+00 -2.875944453994101e+00 -2.875931709272467e+00 -2.875918522005370e+00 + -2.875904898821941e+00 -2.875890845988358e+00 -2.875876369796106e+00 -2.875861477000839e+00 -2.875846174460938e+00 + -2.875830468981534e+00 -2.875814367182402e+00 -2.875797874995170e+00 -2.875780998493851e+00 -2.875763745010153e+00 + -2.875746121853747e+00 -2.875728134988475e+00 -2.875709790337169e+00 -2.875691095004476e+00 -2.875672056151185e+00 + -2.875652679980860e+00 -2.875632972639220e+00 -2.875612940997824e+00 -2.875592591983200e+00 -2.875571932015899e+00 + -2.875550967463832e+00 -2.875529704990307e+00 -2.875508151305197e+00 -2.875486313009207e+00 -2.875464196688727e+00 + -2.875441808982035e+00 -2.875419156538716e+00 -2.875396246001703e+00 -2.875373083982446e+00 -2.875349676973115e+00 + -2.875326031456047e+00 -2.875302153993497e+00 -2.875278051224424e+00 -2.875253730014671e+00 -2.875229197164465e+00 + -2.875204458984698e+00 -2.875179521740897e+00 -2.875154392006447e+00 -2.875129076470253e+00 -2.875103581975416e+00 + -2.875077915323747e+00 -2.875052082997684e+00 -2.875026091410789e+00 -2.874999947020509e+00 -2.874973656330889e+00 + -2.874947225988491e+00 -2.874920662667701e+00 -2.874893973011697e+00 -2.874867163623783e+00 -2.874840240978976e+00 + -2.874813211559227e+00 -2.874786082002508e+00 -2.874758858958694e+00 -2.874731548969249e+00 -2.874704158521300e+00 + -2.874676693993052e+00 -2.874649161850167e+00 -2.874621569017096e+00 -2.874593922351292e+00 -2.874566227983435e+00 + -2.874538491996276e+00 -2.874510721007613e+00 -2.874482921761722e+00 -2.874455100973768e+00 -2.874427265275985e+00 + -2.874399420998023e+00 -2.874371574431975e+00 -2.874343732022288e+00 -2.874315900299783e+00 -2.874288085988434e+00 + -2.874260295776052e+00 -2.874232536012641e+00 -2.874204812974258e+00 -2.874177132978955e+00 -2.874149502426689e+00 + -2.874121928003048e+00 -2.874094416390038e+00 -2.874066973969692e+00 -2.874039607056358e+00 -2.874012321993617e+00 + -2.873985125156578e+00 -2.873958023017241e+00 -2.873931022092817e+00 -2.873904128984454e+00 -2.873877350227203e+00 + -2.873850692007775e+00 -2.873824160475146e+00 -2.873797761975665e+00 -2.873771502947487e+00 -2.873745389998629e+00 + -2.873719429664607e+00 -2.873693628021065e+00 -2.873667991196405e+00 -2.873642525989910e+00 -2.873617239207638e+00 + -2.873592137011854e+00 -2.873567225478465e+00 -2.873542510981722e+00 -2.873517999984164e+00 -2.873493699003122e+00 + -2.873469614539558e+00 -2.873445752974173e+00 -2.873422120664412e+00 -2.873398723994974e+00 -2.873375569341346e+00 + -2.873352663014937e+00 -2.873330011368907e+00 -2.873307620987516e+00 -2.873285498440290e+00 -2.873263650006746e+00 + -2.873242081977908e+00 -2.873220800980854e+00 -2.873199813610778e+00 -2.873179125999297e+00 -2.873158744269642e+00 + -2.873138674975094e+00 -2.873118924733721e+00 -2.873099499992696e+00 -2.873080407078925e+00 -2.873061652009151e+00 + -2.873043240951156e+00 -2.873025180987050e+00 -2.873007479104932e+00 -2.872990141002529e+00 -2.872973172348110e+00 + -2.872956579982463e+00 -2.872940370832477e+00 -2.872924550996914e+00 -2.872909126514257e+00 -2.872894104009989e+00 + -2.872879490127201e+00 -2.872865290992410e+00 -2.872851512733995e+00 -2.872838162004323e+00 -2.872825245427317e+00 + -2.872812768989124e+00 -2.872800738661925e+00 -2.872789160999820e+00 -2.872778042642130e+00 -2.872767389987160e+00 + -2.872757209355336e+00 -2.872747506996586e+00 -2.872738289140315e+00 -2.872729562004331e+00 -2.872721331833777e+00 + -2.872713604994726e+00 -2.872706387896571e+00 -2.872699687001068e+00 -2.872693508692679e+00 -2.872687858994343e+00 + -2.872682743943764e+00 -2.872678169999229e+00 -2.872674143639194e+00 -2.872670671002211e+00 -2.872667758252759e+00 + -2.872665411998920e+00 -2.872663638727966e+00 -2.872662444000314e+00 -2.872661833458480e+00 -2.872661814000242e+00 + -2.872662392564575e+00 -2.872663574999996e+00 -2.872665367034357e+00 -2.872667775003300e+00 -2.872670805307676e+00 + -2.872674464001362e+00 -2.872678757122995e+00 -2.872683690997219e+00 -2.872689271947241e+00 -2.872695506004511e+00 + -2.872702399218003e+00 -2.872709957998547e+00 -2.872718188690384e+00 -2.872727097009549e+00 -2.872736688669513e+00 + -2.872746970001709e+00 -2.872757947412680e+00 -2.872769626991446e+00 -2.872782014787135e+00 -2.872795117006809e+00 + -2.872808939808297e+00 -2.872823488994544e+00 -2.872838770359238e+00 -2.872854790013944e+00 -2.872871554154958e+00 + -2.872889068999627e+00 -2.872907340687168e+00 -2.872926375023218e+00 -2.872946177789640e+00 -2.872966755006795e+00 + -2.872988112738970e+00 -2.873010256987659e+00 -2.873033193743455e+00 -2.873056929016149e+00 -2.873081468798353e+00 + -2.873106818994782e+00 -2.873132985471494e+00 -2.873159974027786e+00 -2.873187790508094e+00 -2.873216441004140e+00 + -2.873245931584463e+00 -2.873276267977569e+00 -2.873307455856915e+00 -2.873339501015828e+00 -2.873372409342765e+00 + -2.873406186986854e+00 -2.873440840030674e+00 -2.873476374029945e+00 -2.873512794459630e+00 -2.873550106998518e+00 + -2.873588317466817e+00 -2.873627432046586e+00 -2.873667456808100e+00 -2.873708397012657e+00 -2.873750257967860e+00 + -2.873793045975522e+00 -2.873836767295967e+00 -2.873881427029366e+00 -2.873927030237608e+00 -2.873973582989610e+00 + -2.874021091436191e+00 -2.874069561048740e+00 -2.874118997257345e+00 -2.874169406006314e+00 -2.874220793186470e+00 + -2.874273163960479e+00 -2.874326523535612e+00 -2.874380878025728e+00 -2.874436233504353e+00 -2.874492594977105e+00 + -2.874549967456173e+00 -2.874608357047944e+00 -2.874667769870749e+00 -2.874728210996486e+00 -2.874789685444839e+00 + -2.874852199073056e+00 -2.874915757808161e+00 -2.874980367018717e+00 -2.875046031956011e+00 -2.875112757960702e+00 + -2.875180550448241e+00 -2.875249415043884e+00 -2.875319357389408e+00 -2.875390382982873e+00 -2.875462497200150e+00 + -2.875535705072081e+00 -2.875610011724477e+00 -2.875685423008027e+00 -2.875761944747628e+00 -2.875839581940104e+00 + -2.875918339524430e+00 -2.875998223036253e+00 -2.876079238083328e+00 -2.876161389965175e+00 -2.876244683897332e+00 + -2.876329125067640e+00 -2.876414718675390e+00 -2.876501469993362e+00 -2.876589384334920e+00 -2.876678467102276e+00 + -2.876768723646439e+00 -2.876860159024752e+00 -2.876952778311590e+00 -2.877046586943105e+00 -2.877141590285005e+00 + -2.877237793059432e+00 -2.877335200055582e+00 -2.877433816974432e+00 -2.877533649470098e+00 -2.877634702097487e+00 + -2.877736979404358e+00 -2.877840487009089e+00 -2.877945230580227e+00 -2.878051214916385e+00 -2.878158444703550e+00 + -2.878266925047163e+00 -2.878376661120778e+00 -2.878487657950954e+00 -2.878599920558564e+00 -2.878713454088738e+00 + -2.878828263638601e+00 -2.878944353988982e+00 -2.879061729871082e+00 -2.879180396133895e+00 -2.879300357745253e+00 + -2.879421620030550e+00 -2.879544188234639e+00 -2.879668066922659e+00 -2.879793260582870e+00 -2.879919774075741e+00 + -2.880047612428619e+00 -2.880176780964157e+00 -2.880307284823274e+00 -2.880439128124635e+00 -2.880572315044195e+00 + -2.880706851009318e+00 -2.880842741491739e+00 -2.880979990889281e+00 -2.881118603470176e+00 -2.881258584058220e+00 + -2.881399937594580e+00 -2.881542668934350e+00 -2.881686782880171e+00 -2.881832284110943e+00 -2.881979177270132e+00 + -2.882127466983199e+00 -2.882277157822698e+00 -2.882428254167564e+00 -2.882580760515876e+00 -2.882734682035907e+00 + -2.882890023809088e+00 -2.883046789899305e+00 -2.883204984344022e+00 -2.883364612092550e+00 -2.883525678164890e+00 + -2.883688186951939e+00 -2.883852142755886e+00 -2.884017550153203e+00 -2.884184413751485e+00 -2.884352738008543e+00 + -2.884522527349429e+00 -2.884693786217942e+00 -2.884866519029743e+00 -2.885040730069195e+00 -2.885216423722596e+00 + -2.885393604915286e+00 -2.885572278454246e+00 -2.885752448133968e+00 -2.885934117732660e+00 -2.886117291975880e+00 + -2.886301975695701e+00 -2.886488173202934e+00 -2.886675888645447e+00 -2.886865126040629e+00 -2.887055889528861e+00 + -2.887248183873006e+00 -2.887442013779875e+00 -2.887637383109605e+00 -2.887834295673936e+00 -2.888032755937675e+00 + -2.888232768417303e+00 -2.888434337182880e+00 -2.888637466267979e+00 -2.888842160006608e+00 -2.889048422705334e+00 + -2.889256258260521e+00 -2.889465670586525e+00 -2.889676664079871e+00 -2.889889243164732e+00 -2.890103411893701e+00 + -2.890319174230825e+00 -2.890536534157536e+00 -2.890755495690120e+00 -2.890976062966901e+00 -2.891198240133124e+00 + -2.891422031239666e+00 -2.891647440271526e+00 -2.891874471044534e+00 -2.892103127449178e+00 -2.892333413843735e+00 + -2.892565334531329e+00 -2.892798893126666e+00 -2.893034093211137e+00 -2.893270938921286e+00 -2.893509434394119e+00 + -2.893749583213363e+00 -2.893991388990754e+00 -2.894234856003367e+00 -2.894479988544211e+00 -2.894726790304690e+00 + -2.894975264880993e+00 -2.895225416090045e+00 -2.895477247800793e+00 -2.895730763869547e+00 -2.895985968110420e+00 + -2.896242864181383e+00 -2.896501455784724e+00 -2.896761746956156e+00 -2.897023741664482e+00 -2.897287443277443e+00 + -2.897552855132549e+00 -2.897819981047455e+00 -2.898088824960355e+00 -2.898359390811481e+00 -2.898631682423090e+00 + -2.898905703143506e+00 -2.899181456336644e+00 -2.899458945902694e+00 -2.899738175745144e+00 -2.900019149244370e+00 + -2.900301869748365e+00 -2.900586340998689e+00 -2.900872566741790e+00 -2.901160550350105e+00 -2.901450295205248e+00 + -2.901741805099525e+00 -2.902035083835090e+00 -2.902330134842785e+00 -2.902626961482952e+00 -2.902925567205262e+00 + -2.903225955501619e+00 -2.903528129943548e+00 -2.903832094083243e+00 -2.904137851315957e+00 -2.904445404943298e+00 + -2.904754758049239e+00 -2.905065913908475e+00 -2.905378876776237e+00 -2.905693650730528e+00 -2.906010238159916e+00 + -2.906328641477237e+00 -2.906648864881840e+00 -2.906970912612057e+00 -2.907294787275635e+00 -2.907620491421319e+00 + -2.907948028992455e+00 -2.908277404008211e+00 -2.908608619396449e+00 -2.908941677961907e+00 -2.909276583108139e+00 + -2.909613338320582e+00 -2.909951946813384e+00 -2.910292411733319e+00 -2.910634736228945e+00 -2.910978923497479e+00 + -2.911324976928991e+00 -2.911672899876866e+00 -2.912022695354926e+00 -2.912374366346152e+00 -2.912727916049746e+00 + -2.913083347735332e+00 -2.913440664738005e+00 -2.913799870293631e+00 -2.914160967175702e+00 -2.914523958205600e+00 + -2.914888846858668e+00 -2.915255636613397e+00 -2.915624330306910e+00 -2.915994930711883e+00 -2.916367440984558e+00 + -2.916741864289805e+00 -2.917118203443422e+00 -2.917496461287171e+00 -2.917876641115726e+00 -2.918258746264796e+00 + -2.918642779781321e+00 -2.919028744569610e+00 -2.919416643252220e+00 -2.919806478556714e+00 -2.920198253912409e+00 + -2.920591972698769e+00 -2.920987637394092e+00 -2.921385250442034e+00 -2.921784815048848e+00 -2.922186334507697e+00 + -2.922589811696789e+00 -2.922995249368979e+00 -2.923402650190686e+00 -2.923812016928122e+00 -2.924223352833133e+00 + -2.924636661116357e+00 -2.925051944337972e+00 -2.925469204994078e+00 -2.925888445974902e+00 -2.926309670222330e+00 + -2.926732880490753e+00 -2.927158079512877e+00 -2.927585270122142e+00 -2.928014455203420e+00 -2.928445637746579e+00 + -2.928878820641719e+00 -2.929314006274898e+00 -2.929751197043434e+00 -2.930190395893735e+00 -2.930631605816839e+00 + -2.931074829433217e+00 -2.931520069294359e+00 -2.931967328046430e+00 -2.932416608452995e+00 -2.932867913652596e+00 + -2.933321246608101e+00 -2.933776609204709e+00 -2.934234003435805e+00 -2.934693432805196e+00 -2.935154900804807e+00 + -2.935618409368617e+00 -2.936083960365691e+00 -2.936551556963400e+00 -2.937021202354904e+00 -2.937492898538196e+00 + -2.937966647468766e+00 -2.938442452127255e+00 -2.938920315642269e+00 -2.939400240709141e+00 -2.939882229846171e+00 + -2.940366285296803e+00 -2.940852409365155e+00 -2.941340604872910e+00 -2.941830874578781e+00 -2.942323220472084e+00 + -2.942817644603974e+00 -2.943314150042391e+00 -2.943812739919231e+00 -2.944313416605433e+00 -2.944816182292809e+00 + -2.945321039217627e+00 -2.945827989752984e+00 -2.946337036774817e+00 -2.946848183049044e+00 -2.947361430398659e+00 + -2.947876780695535e+00 -2.948394236949976e+00 -2.948913802216184e+00 -2.949435478585527e+00 -2.949959268045502e+00 + -2.950485173130951e+00 -2.951013196489051e+00 -2.951543340668991e+00 -2.952075608036040e+00 -2.952610000317780e+00 + -2.953146519451356e+00 -2.953685168849877e+00 -2.954225951787981e+00 -2.954768869510503e+00 -2.955313923227115e+00 + -2.955861116036636e+00 -2.956410451196468e+00 -2.956961930709160e+00 -2.957515556348660e+00 -2.958071330229310e+00 + -2.958629254704319e+00 -2.959189332741965e+00 -2.959751567143614e+00 -2.960315959427935e+00 -2.960882511105170e+00 + -2.961451224934558e+00 -2.962022103774683e+00 -2.962595149632548e+00 -2.963170364371659e+00 -2.963747750133120e+00 + -2.964327309260061e+00 -2.964909044626116e+00 -2.965492958892178e+00 -2.966079053337689e+00 -2.966667329311879e+00 + -2.967257789824588e+00 -2.967850437973655e+00 -2.968445275548303e+00 -2.969042304161408e+00 -2.969641526029084e+00 + -2.970242943489398e+00 -2.970846558764995e+00 -2.971452374012471e+00 -2.972060391239641e+00 -2.972670612566008e+00 + -2.973283040706606e+00 -2.973897678221620e+00 -2.974514526456296e+00 -2.975133586785449e+00 -2.975754861917081e+00 + -2.976378354633252e+00 -2.977004066679083e+00 -2.977631999719257e+00 -2.978262156133669e+00 -2.978894538388579e+00 + -2.979529148580497e+00 -2.980165988659094e+00 -2.980805060356407e+00 -2.981446365534977e+00 -2.982089906796993e+00 + -2.982735686662750e+00 -2.983383706585328e+00 -2.984033968085205e+00 -2.984686474019655e+00 -2.985341227187940e+00 + -2.985998228820469e+00 -2.986657480057624e+00 -2.987318983248517e+00 -2.987982740990944e+00 -2.988648755668708e+00 + -2.989317029403636e+00 -2.989987563483614e+00 -2.990660359350691e+00 -2.991335419897486e+00 -2.992012747963469e+00 + -2.992692344724977e+00 -2.993374211287029e+00 -2.994058350132512e+00 -2.994744763907397e+00 -2.995433454532118e+00 + -2.996124423756546e+00 -2.996817673373822e+00 -2.997513205283444e+00 -2.998211021767050e+00 -2.998911125033880e+00 + -2.999613516621449e+00 -3.000318198120732e+00 -3.001025172008281e+00 -3.001734440748973e+00 -3.002446005875424e+00 + -3.003159868783688e+00 -3.003876031255844e+00 -3.004594495323234e+00 -3.005315263628241e+00 -3.006038338638268e+00 + -3.006763721509772e+00 -3.007491413411925e+00 -3.008221416875716e+00 -3.008953734497098e+00 -3.009688367770095e+00 + -3.010425318036306e+00 -3.011164587129571e+00 -3.011906177113799e+00 -3.012650090480955e+00 -3.013396329533748e+00 + -3.014144895389836e+00 -3.014895789237767e+00 -3.015649013734712e+00 -3.016404571515447e+00 -3.017162463656545e+00 + -3.017922691248400e+00 -3.018685256994897e+00 -3.019450163571901e+00 -3.020217411929727e+00 -3.020987002987051e+00 + -3.021758939261538e+00 -3.022533223477289e+00 -3.023309857585168e+00 -3.024088843221124e+00 -3.024870181534668e+00 + -3.025653873871900e+00 -3.026439922851719e+00 -3.027228331077071e+00 -3.028019099814318e+00 -3.028812230192102e+00 + -3.029607724124773e+00 -3.030405583764245e+00 -3.031205811426982e+00 -3.032008409239547e+00 -3.032813378404362e+00 + -3.033620720145768e+00 -3.034430436699938e+00 -3.035242530366928e+00 -3.036057002690514e+00 -3.036873855182042e+00 + -3.037693089979441e+00 -3.038514709166424e+00 -3.039338713983260e+00 -3.040165105664532e+00 -3.040993886265523e+00 + -3.041825058080565e+00 -3.042658623539453e+00 -3.043494584770202e+00 -3.044332942558215e+00 -3.045173697755793e+00 + -3.046016852825442e+00 -3.046862410359265e+00 -3.047710371857544e+00 -3.048560738605269e+00 -3.049413512118055e+00 + -3.050268694173960e+00 -3.051126287370169e+00 -3.051986294136892e+00 -3.052848715417321e+00 -3.053713552140092e+00 + -3.054580806662679e+00 -3.055450481419417e+00 -3.056322577723267e+00 -3.057197096839233e+00 -3.058074040961857e+00 + -3.058953412280709e+00 -3.059835212035924e+00 -3.060719441405425e+00 -3.061606102267731e+00 -3.062495196777212e+00 + -3.063386727491054e+00 -3.064280696619269e+00 -3.065177104580330e+00 -3.066075951959016e+00 -3.066977241796834e+00 + -3.067880977177860e+00 -3.068787158899685e+00 -3.069695787543252e+00 -3.070606865109353e+00 -3.071520393938529e+00 + -3.072436376310475e+00 -3.073354814200677e+00 -3.074275708428639e+00 -3.075199059975246e+00 -3.076124871622891e+00 + -3.077053146054635e+00 -3.077983883754724e+00 -3.078917085313194e+00 -3.079852753942089e+00 -3.080790892784741e+00 + -3.081731502087634e+00 -3.082674582011150e+00 -3.083620135268097e+00 -3.084568164866139e+00 -3.085518672439932e+00 + -3.086471659270948e+00 -3.087427126600947e+00 -3.088385075921834e+00 -3.089345509765843e+00 -3.090308430518810e+00 + -3.091273838940665e+00 -3.092241735746584e+00 -3.093212123098609e+00 -3.094185003484481e+00 -3.095160379247863e+00 + -3.096138252358965e+00 -3.097118623438258e+00 -3.098101493262150e+00 -3.099086864580523e+00 -3.100074740150514e+00 + -3.101065120784818e+00 -3.102058007230942e+00 -3.103053401920080e+00 -3.104051307417155e+00 -3.105051725138318e+00 + -3.106054656274756e+00 -3.107060102266563e+00 -3.108068064811119e+00 -3.109078546386035e+00 -3.110091549326776e+00 + -3.111107074619999e+00 -3.112125123273996e+00 -3.113145697732417e+00 -3.114168800386244e+00 -3.115194431980418e+00 + -3.116222593318652e+00 -3.117253287085768e+00 -3.118286516039464e+00 -3.119322281347848e+00 -3.120360583948459e+00 + -3.121401425446115e+00 -3.122444807777008e+00 -3.123490733535526e+00 -3.124539205035892e+00 -3.125590222813487e+00 + -3.126643787500575e+00 -3.127699901895779e+00 -3.128758568841378e+00 -3.129819789187914e+00 -3.130883563634097e+00 + -3.131949894263071e+00 -3.133018783446947e+00 -3.134090233329311e+00 -3.135164245759380e+00 -3.136240821637432e+00 + -3.137319962039862e+00 -3.138401669696502e+00 -3.139485947209752e+00 -3.140572795018887e+00 -3.141662213641400e+00 + -3.142754206070774e+00 -3.143848775370422e+00 -3.144945922407469e+00 -3.146045647810740e+00 -3.147147953452156e+00 + -3.148252841552866e+00 -3.149360314487843e+00 -3.150470374336312e+00 -3.151583021840677e+00 -3.152698257836541e+00 + -3.153816084869129e+00 -3.154936505573740e+00 -3.156059521236365e+00 -3.157185132934072e+00 -3.158313342257567e+00 + -3.159444151127381e+00 -3.160577562269707e+00 -3.161713578058511e+00 -3.162852198653188e+00 -3.163993424406347e+00 + -3.165137258658042e+00 -3.166283704751602e+00 -3.167432763056018e+00 -3.168584433853514e+00 -3.169738720053572e+00 + -3.170895624664928e+00 -3.172055148466089e+00 -3.173217292044841e+00 -3.174382057456326e+00 -3.175549447119023e+00 + -3.176719463437418e+00 -3.177892108465135e+00 -3.179067382866334e+00 -3.180245287430775e+00 -3.181425824840074e+00 + -3.182608997807819e+00 -3.183794807283624e+00 -3.184983254083125e+00 -3.186174340249998e+00 -3.187368068149750e+00 + -3.188564440207163e+00 -3.189763458501066e+00 -3.190965123667219e+00 -3.192169436468204e+00 -3.193376399616980e+00 + -3.194586015855556e+00 -3.195798286091764e+00 -3.197013211234878e+00 -3.198230794034108e+00 -3.199451037209393e+00 + -3.200673941523666e+00 -3.201899507599942e+00 -3.203127737458575e+00 -3.204358633517069e+00 -3.205592198384193e+00 + -3.206828434306502e+00 -3.208067341890413e+00 -3.209308921829809e+00 -3.210553176808560e+00 -3.211800109598040e+00 + -3.213049721329648e+00 -3.214302012941719e+00 -3.215556986240311e+00 -3.216814643392485e+00 -3.218074987141617e+00 + -3.219338019837523e+00 -3.220603741679474e+00 -3.221872153094758e+00 -3.223143257573258e+00 -3.224417058543514e+00 + -3.225693556126080e+00 -3.226972750453261e+00 -3.228254645012327e+00 -3.229539243310538e+00 -3.230826545580160e+00 + -3.232116551831102e+00 -3.233409264458852e+00 -3.234704686394765e+00 -3.236002820328103e+00 -3.237303668413965e+00 + -3.238607230912866e+00 -3.239913508296335e+00 -3.241222503774527e+00 -3.242534220589764e+00 -3.243848659374397e+00 + -3.245165820540432e+00 -3.246485706228452e+00 -3.247808319087641e+00 -3.249133662073000e+00 -3.250461737608715e+00 + -3.251792545689908e+00 -3.253126086515263e+00 -3.254462363526813e+00 -3.255801380232294e+00 -3.257143137158927e+00 + -3.258487634736825e+00 -3.259834875988172e+00 -3.261184864013611e+00 -3.262537599635538e+00 -3.263893083453904e+00 + -3.265251317457108e+00 -3.266612304094287e+00 -3.267976046269084e+00 -3.269342546452898e+00 -3.270711804933652e+00 + -3.272083822201368e+00 -3.273458601737915e+00 -3.274836147008249e+00 -3.276216458417835e+00 -3.277599536106921e+00 + -3.278985382214368e+00 -3.280373999474050e+00 -3.281765391001240e+00 -3.283159559381294e+00 -3.284556504698475e+00 + -3.285956227223949e+00 -3.287358730477579e+00 -3.288764018003004e+00 -3.290172090190266e+00 -3.291582947391597e+00 + -3.292996592961586e+00 -3.294413030263101e+00 -3.295832259689772e+00 -3.297254281509102e+00 -3.298679098453292e+00 + -3.300106713632883e+00 -3.301537129207062e+00 -3.302970346938195e+00 -3.304406367952729e+00 -3.305845193592728e+00 + -3.307286826698660e+00 -3.308731270022015e+00 -3.310178524459931e+00 -3.311628590794006e+00 -3.313081471198005e+00 + -3.314537168271639e+00 -3.315995684926260e+00 -3.317457023622331e+00 -3.318921184705128e+00 -3.320388168757214e+00 + -3.321857979425488e+00 -3.323330620242623e+00 -3.324806091220061e+00 -3.326284392457951e+00 -3.327765527932510e+00 + -3.329249501635255e+00 -3.330736313742837e+00 -3.332225964151081e+00 -3.333718455447356e+00 -3.335213790816533e+00 + -3.336711973141963e+00 -3.338213004741188e+00 -3.339716885970061e+00 -3.341223617428788e+00 -3.342733202656698e+00 + -3.344245645175923e+00 -3.345760945500658e+00 -3.347279103963591e+00 -3.348800123179309e+00 -3.350324006237700e+00 + -3.351850755847976e+00 -3.353380374190363e+00 -3.354912861709826e+00 -3.356448219173252e+00 -3.357986450370467e+00 + -3.359527558984502e+00 -3.361071545248283e+00 -3.362618409368982e+00 -3.364168154900880e+00 -3.365720785489059e+00 + -3.367276301794712e+00 -3.368834704260551e+00 -3.370395995439248e+00 -3.371960178388195e+00 -3.373527256073704e+00 + -3.375097230883950e+00 -3.376670102985606e+00 -3.378245872877927e+00 -3.379824544611959e+00 -3.381406122149057e+00 + -3.382990605539988e+00 -3.384577994855671e+00 -3.386168294158221e+00 -3.387761507524905e+00 -3.389357635102426e+00 + -3.390956676825633e+00 -3.392558635712520e+00 -3.394163515324364e+00 -3.395771318312439e+00 -3.397382046745834e+00 + -3.398995701274896e+00 -3.400612282828281e+00 -3.402231794866633e+00 -3.403854240867662e+00 -3.405479621845378e+00 + -3.407107938586081e+00 -3.408739193428916e+00 -3.410373389185216e+00 -3.412010529002203e+00 -3.413650615518111e+00 + -3.415293648999326e+00 -3.416939629995896e+00 -3.418588562564371e+00 -3.420240450691449e+00 -3.421895294577897e+00 + -3.423553094414080e+00 -3.425213854134680e+00 -3.426877577792018e+00 -3.428544266164663e+00 -3.430213919689846e+00 + -3.431886540713168e+00 -3.433562132145608e+00 -3.435240697251321e+00 -3.436922238808692e+00 -3.438606757299870e+00 + -3.440294253397158e+00 -3.441984730829699e+00 -3.443678193368453e+00 -3.445374641894819e+00 -3.447074077051543e+00 + -3.448776501416308e+00 -3.450481918039497e+00 -3.452190329927366e+00 -3.453901739641781e+00 -3.455616148011183e+00 + -3.457333556082980e+00 -3.459053967513855e+00 -3.460777385853499e+00 -3.462503811614361e+00 -3.464233245386620e+00 + -3.465965691108627e+00 -3.467701152771073e+00 -3.469439631225878e+00 -3.471181127031554e+00 -3.472925642711720e+00 + -3.474673181335264e+00 -3.476423746187027e+00 -3.478177340029919e+00 -3.479933963323171e+00 -3.481693616824597e+00 + -3.483456304790008e+00 -3.485222031388338e+00 -3.486990796943019e+00 -3.488762601570069e+00 -3.490537448401365e+00 + -3.492315341151373e+00 -3.494096282849095e+00 -3.495880275915030e+00 -3.497667321021135e+00 -3.499457419173128e+00 + -3.501250574460328e+00 -3.503046790838973e+00 -3.504846068649357e+00 -3.506648408298966e+00 -3.508453814079994e+00 + -3.510262290280344e+00 -3.512073837286068e+00 -3.513888455301771e+00 -3.515706147708129e+00 -3.517526918395819e+00 + -3.519350770119465e+00 -3.521177705073145e+00 -3.523007724344773e+00 -3.524840829328240e+00 -3.526677023747485e+00 + -3.528516311267811e+00 -3.530358692989965e+00 -3.532204169811781e+00 -3.534052744384031e+00 -3.535904419874647e+00 + -3.537759199767289e+00 -3.539617087002065e+00 -3.541478082029144e+00 -3.543342185630307e+00 -3.545209402403708e+00 + -3.547079736777425e+00 -3.548953188682862e+00 -3.550829758143615e+00 -3.552709450048714e+00 -3.554592269345012e+00 + -3.556478216345227e+00 -3.558367291032073e+00 -3.560259496702344e+00 -3.562154837300620e+00 -3.564053316048536e+00 + -3.565954935512961e+00 -3.567859696364639e+00 -3.569767599635964e+00 -3.571678649702049e+00 -3.573592850895430e+00 + -3.575510204035641e+00 -3.577430709619281e+00 -3.579354370364244e+00 -3.581281189700099e+00 -3.583211171681835e+00 + -3.585144319721653e+00 -3.587080634035166e+00 -3.589020115063184e+00 -3.590962767343901e+00 -3.592908595415016e+00 + -3.594857599714854e+00 -3.596809780701911e+00 -3.598765143014713e+00 -3.600723691343250e+00 -3.602685426403352e+00 + -3.604650348553174e+00 -3.606618460694309e+00 -3.608589766473437e+00 -3.610564269974137e+00 -3.612541974573128e+00 + -3.614522880382737e+00 -3.616506987803558e+00 -3.618494301653613e+00 -3.620484826823921e+00 -3.622478564080036e+00 + -3.624475513850586e+00 -3.626475679341938e+00 -3.628479064392689e+00 -3.630485672592619e+00 -3.632495506905407e+00 + -3.634508568039156e+00 -3.636524857004877e+00 -3.638544378280809e+00 -3.640567136287224e+00 -3.642593131745308e+00 + -3.644622365423449e+00 -3.646654841977913e+00 -3.648690566065893e+00 -3.650729538460438e+00 -3.652771759626902e+00 + -3.654817232683972e+00 -3.656865961450936e+00 -3.658917949896158e+00 -3.660973201344661e+00 -3.663031716399031e+00 + -3.665093495929850e+00 -3.667158544602091e+00 -3.669226867066577e+00 -3.671298464123134e+00 -3.673373336353373e+00 + -3.675451487317045e+00 -3.677532921173144e+00 -3.679617641499514e+00 -3.681705651197185e+00 -3.683796951041065e+00 + -3.685891542158701e+00 -3.687989429214330e+00 -3.690090616811484e+00 -3.692195105774196e+00 -3.694302896934788e+00 + -3.696413994938233e+00 -3.698528404463948e+00 -3.700646126516483e+00 -3.702767161822413e+00 -3.704891513671268e+00 + -3.707019186005269e+00 -3.709150182814482e+00 -3.711284507419287e+00 -3.713422160413482e+00 -3.715563142750310e+00 + -3.717707459547388e+00 -3.719855115839397e+00 -3.722006112164920e+00 -3.724160448777861e+00 -3.726318129289493e+00 + -3.728479158099316e+00 -3.730643539402395e+00 -3.732811276589775e+00 -3.734982370040845e+00 -3.737156820495128e+00 + -3.739334633144358e+00 -3.741515813112657e+00 -3.743700360801490e+00 -3.745888276640612e+00 -3.748079565895588e+00 + -3.750274233918474e+00 -3.752472281571475e+00 -3.754673709335501e+00 -3.756878520656135e+00 -3.759086719721971e+00 + -3.761298310728990e+00 -3.763513297133539e+00 -3.765731679426046e+00 -3.767953458457793e+00 -3.770178639489403e+00 + -3.772407227784000e+00 -3.774639224205367e+00 -3.776874629489326e+00 -3.779113448259203e+00 -3.781355685279774e+00 + -3.783601341994148e+00 -3.785850419525435e+00 -3.788102921038436e+00 -3.790358850378410e+00 -3.792618212070778e+00 + -3.794881010002580e+00 -3.797147244827153e+00 -3.799416917428862e+00 -3.801690032849888e+00 -3.803966596190487e+00 + -3.806246608625402e+00 -3.808530070983860e+00 -3.810816986638503e+00 -3.813107359693981e+00 -3.815401194639556e+00 + -3.817698495297397e+00 -3.819999262436677e+00 -3.822303497093916e+00 -3.824611204428034e+00 -3.826922389548483e+00 + -3.829237053244454e+00 -3.831555196353405e+00 -3.833876824226091e+00 -3.836201942201953e+00 -3.838530551061888e+00 + -3.840862651326505e+00 -3.843198247033778e+00 -3.845537342919513e+00 -3.847879942993476e+00 -3.850226050562932e+00 + -3.852575666851148e+00 -3.854928793361406e+00 -3.857285434801036e+00 -3.859645595950435e+00 -3.862009278678248e+00 + -3.864376484523473e+00 -3.866747216618300e+00 -3.869121478726629e+00 -3.871499275546047e+00 -3.873880611182955e+00 + -3.876265486445322e+00 -3.878653902389424e+00 -3.881045864363169e+00 -3.883441377687285e+00 -3.885840443282151e+00 + -3.888243062046155e+00 -3.890649239190073e+00 -3.893058980047241e+00 -3.895472286128841e+00 -3.897889158595383e+00 + -3.900309601026809e+00 -3.902733617656517e+00 -3.905161212912323e+00 -3.907592390603840e+00 -3.910027151873432e+00 + -3.912465498159137e+00 -3.914907434748928e+00 -3.917352966879188e+00 -3.919802095729995e+00 -3.922254822259626e+00 + -3.924711150595445e+00 -3.927171085542605e+00 -3.929634631448325e+00 -3.932101791843537e+00 -3.934572567451927e+00 + -3.937046959532740e+00 -3.939524974294695e+00 -3.942006617767883e+00 -3.944491890318428e+00 -3.946980792233828e+00 + -3.949473329151056e+00 -3.951969506957779e+00 -3.954469327195002e+00 -3.956972790971958e+00 -3.959479902017460e+00 + -3.961990664762499e+00 -3.964505083827194e+00 -3.967023163167552e+00 -3.969544903893966e+00 -3.972070307479498e+00 + -3.974599379693463e+00 -3.977132126179292e+00 -3.979668547780628e+00 -3.982208645099321e+00 -3.984752422569858e+00 + -3.987299885436030e+00 -3.989851038346246e+00 -3.992405885069993e+00 -3.994964426456437e+00 -3.997526663815754e+00 + -4.000092603222488e+00 -4.002662250581340e+00 -4.005235606353252e+00 -4.007812671084819e+00 -4.010393451108941e+00 + -4.012977952843547e+00 -4.015566177260363e+00 -4.018158124897606e+00 -4.020753800005660e+00 -4.023353207686703e+00 + -4.025956352737950e+00 -4.028563239140089e+00 -4.031173867912699e+00 -4.033788240453579e+00 -4.036406362634527e+00 + -4.039028240314873e+00 -4.041653874830120e+00 -4.044283267179555e+00 -4.046916421541453e+00 -4.049553342894448e+00 + -4.052194036239657e+00 -4.054838505774454e+00 -4.057486752458788e+00 -4.060138777601743e+00 -4.062794587146426e+00 + -4.065454187011838e+00 -4.068117578386588e+00 -4.070784762448621e+00 -4.073455745063631e+00 -4.076130532171974e+00 + -4.078809125324914e+00 -4.081491525652789e+00 -4.084177736991329e+00 -4.086867764089578e+00 -4.089561612644448e+00 + -4.092259287473573e+00 -4.094960788929582e+00 -4.097666117736884e+00 -4.100375280572002e+00 -4.103088284211306e+00 + -4.105805129878449e+00 -4.108525818267906e+00 -4.111250353510137e+00 -4.113978740671802e+00 -4.116710985128399e+00 + -4.119447091422845e+00 -4.122187060458915e+00 -4.124930893522407e+00 -4.127678597066370e+00 -4.130430177441071e+00 + -4.133185635418395e+00 -4.135944971791250e+00 -4.138708193015015e+00 -4.141475305696859e+00 -4.144246311388639e+00 + -4.147021211130915e+00 -4.149800008974389e+00 -4.152582709893380e+00 -4.155369319546537e+00 -4.158159842709882e+00 + -4.160954279944561e+00 -4.163752632239020e+00 -4.166554906505763e+00 -4.169361109687737e+00 -4.172171242925584e+00 + -4.174985306927709e+00 -4.177803306475812e+00 -4.180625247195196e+00 -4.183451134012302e+00 -4.186280970992621e+00 + -4.189114759456745e+00 -4.191952501240072e+00 -4.194794202982180e+00 -4.197639871116617e+00 -4.200489506448629e+00 + -4.203343109834506e+00 -4.206200687962978e+00 -4.209062247657938e+00 -4.211927790451525e+00 -4.214797317400862e+00 + -4.217670832954751e+00 -4.220548342457539e+00 -4.223429851444060e+00 -4.226315364591702e+00 -4.229204882957573e+00 + -4.232098408004153e+00 -4.234995946435681e+00 -4.237897504949240e+00 -4.240803084971501e+00 -4.243712687544032e+00 + -4.246626317438374e+00 -4.249543980343883e+00 -4.252465681891192e+00 -4.255391426705907e+00 -4.258321215452209e+00 + -4.261255049361277e+00 -4.264192935893713e+00 -4.267134882389568e+00 -4.270080889477248e+00 -4.273030957691918e+00 + -4.275985093907401e+00 -4.278943305249538e+00 -4.281905593513557e+00 -4.284871959946388e+00 -4.287842408932329e+00 + -4.290816945777364e+00 -4.293795576336856e+00 -4.296778305653331e+00 -4.299765134968560e+00 -4.302756065899131e+00 + -4.305751105361620e+00 -4.308750260118541e+00 -4.311753531016159e+00 -4.314760919008608e+00 -4.317772431397722e+00 + -4.320788075591533e+00 -4.323807853075197e+00 -4.326831764792573e+00 -4.329859815445223e+00 -4.332892010759197e+00 + -4.335928356800809e+00 -4.338968858700405e+00 -4.342013517504197e+00 -4.345062334602749e+00 -4.348115316848165e+00 + -4.351172471198577e+00 -4.354233799574710e+00 -4.357299303495111e+00 -4.360368987907023e+00 -4.363442858590077e+00 + -4.366520921224746e+00 -4.369603180592436e+00 -4.372689637977453e+00 -4.375780295145305e+00 -4.378875159283436e+00 + -4.381974237486932e+00 -4.385077531059527e+00 -4.388185041309383e+00 -4.391296775353732e+00 -4.394412740393244e+00 + -4.397532938153312e+00 -4.400657369887305e+00 -4.403786040435705e+00 -4.406918955633090e+00 -4.410056121703311e+00 + -4.413197543940346e+00 -4.416343223529426e+00 -4.419493162052248e+00 -4.422647366785128e+00 -4.425805845047289e+00 + -4.428968598634965e+00 -4.432135628892382e+00 -4.435306940878729e+00 -4.438482540596634e+00 -4.441662434107552e+00 + -4.444846626509031e+00 -4.448035118984182e+00 -4.451227913265940e+00 -4.454425017200977e+00 -4.457626438485681e+00 + -4.460832178101560e+00 -4.464042236947444e+00 -4.467256622306292e+00 -4.470475341701105e+00 -4.473698397230936e+00 + -4.476925790483307e+00 -4.480157526423565e+00 -4.483393610985775e+00 -4.486634050601043e+00 -4.489878850742320e+00 + -4.493128012552872e+00 -4.496381537630165e+00 -4.499639433718156e+00 -4.502901708553144e+00 -4.506168363694287e+00 + -4.509439400268067e+00 -4.512714823847340e+00 -4.515994641019672e+00 -4.519278857985080e+00 -4.522567479881829e+00 + -4.525860507988668e+00 -4.529157944122721e+00 -4.532459796114085e+00 -4.535766071688615e+00 -4.539076772142213e+00 + -4.542391898765175e+00 -4.545711459255270e+00 -4.549035461446213e+00 -4.552363907308053e+00 -4.555696798263391e+00 + -4.559034139408705e+00 -4.562375936904542e+00 -4.565722197493832e+00 -4.569072926948550e+00 -4.572428126574475e+00 + -4.575787798129616e+00 -4.579151949647104e+00 -4.582520589075836e+00 -4.585893717752653e+00 -4.589271336639746e+00 + -4.592653451812744e+00 -4.596040070428725e+00 -4.599431198857142e+00 -4.602826842289216e+00 -4.606227001990830e+00 + -4.609631679831751e+00 -4.613040884022596e+00 -4.616454622677202e+00 -4.619872897181441e+00 -4.623295708819967e+00 + -4.626723065200532e+00 -4.630154974192006e+00 -4.633591438384649e+00 -4.637032459790966e+00 -4.640478043391029e+00 + -4.643928195196958e+00 -4.647382922381489e+00 -4.650842231139545e+00 -4.654306122594169e+00 -4.657774598295235e+00 + -4.661247666571815e+00 -4.664725335805659e+00 -4.668207607810025e+00 -4.671694483876048e+00 -4.675185969774820e+00 + -4.678682072408495e+00 -4.682182798723523e+00 -4.685688154522786e+00 -4.689198140990583e+00 -4.692712759891060e+00 + -4.696232019926335e+00 -4.699755929666950e+00 -4.703284490219185e+00 -4.706817702626076e+00 -4.710355575141943e+00 + -4.713898116290367e+00 -4.717445328460708e+00 -4.720997213393779e+00 -4.724553776370427e+00 -4.728115023824750e+00 + -4.731680963263822e+00 -4.735251601139764e+00 -4.738826938611875e+00 -4.742406977241646e+00 -4.745991725492132e+00 + -4.749581191958943e+00 -4.753175378866366e+00 -4.756774287871428e+00 -4.760377924733439e+00 -4.763986296289299e+00 + -4.767599409584012e+00 -4.771217270615820e+00 -4.774839880987831e+00 -4.778467242836293e+00 -4.782099364825118e+00 + -4.785736255481164e+00 -4.789377916255392e+00 -4.793024348603915e+00 -4.796675561079348e+00 -4.800331562360717e+00 + -4.803992354536202e+00 -4.807657939173200e+00 -4.811328322346788e+00 -4.815003511262576e+00 -4.818683513140625e+00 + -4.822368334073276e+00 -4.826057975627521e+00 -4.829752439872078e+00 -4.833451735407881e+00 -4.837155870922971e+00 + -4.840864848921632e+00 -4.844578671297884e+00 -4.848297343688468e+00 -4.852020872870312e+00 -4.855749266438375e+00 + -4.859482530948563e+00 -4.863220667982479e+00 -4.866963679596293e+00 -4.870711574718753e+00 -4.874464362148352e+00 + -4.878222043289993e+00 -4.881984619584831e+00 -4.885752100012597e+00 -4.889524493673498e+00 -4.893301802611106e+00 + -4.897084028340568e+00 -4.900871177319985e+00 -4.904663257144151e+00 -4.908460275011687e+00 -4.912262236942902e+00 + -4.916069144641015e+00 -4.919881000415621e+00 -4.923697813318887e+00 -4.927519592402767e+00 -4.931346339975771e+00 + -4.935178057730553e+00 -4.939014751639765e+00 -4.942856428895341e+00 -4.946703097286389e+00 -4.950554763469543e+00 + -4.954411428974413e+00 -4.958273095882141e+00 -4.962139773607051e+00 -4.966011471374763e+00 -4.969888190322918e+00 + -4.973769931656962e+00 -4.977656704941523e+00 -4.981548519919207e+00 -4.985445378685372e+00 -4.989347282670139e+00 + -4.993254238289898e+00 -4.997166253181426e+00 -5.001083334876794e+00 -5.005005489750602e+00 -5.008932719652265e+00 + -5.012865027026571e+00 -5.016802421224969e+00 -5.020744911403345e+00 -5.024692499028711e+00 -5.028645185619313e+00 + -5.032602980587180e+00 -5.036565893470627e+00 -5.040533926419334e+00 -5.044507081015939e+00 -5.048485363963517e+00 + -5.052468783200935e+00 -5.056457346489804e+00 -5.060451060330298e+00 -5.064449926354071e+00 -5.068453946757710e+00 + -5.072463130865962e+00 -5.076477488052552e+00 -5.080497020758939e+00 -5.084521730904982e+00 -5.088551625256381e+00 + -5.092586711696772e+00 -5.096626997735727e+00 -5.100672489712744e+00 -5.104723189661156e+00 -5.108779100266077e+00 + -5.112840231125939e+00 -5.116906591587866e+00 -5.120978183080382e+00 -5.125055007124604e+00 -5.129137073530554e+00 + -5.133224392250169e+00 -5.137316965514153e+00 -5.141414794882011e+00 -5.145517886949661e+00 -5.149626249667421e+00 + -5.153739891366810e+00 -5.157858819095347e+00 -5.161983034383363e+00 -5.166112539324860e+00 -5.170247343785729e+00 + -5.174387457616170e+00 -5.178532882831751e+00 -5.182683620936045e+00 -5.186839679219287e+00 -5.191001066208124e+00 + -5.195167789588259e+00 -5.199339855740569e+00 -5.203517266667578e+00 -5.207700025095241e+00 -5.211888141021600e+00 + -5.216081624199723e+00 -5.220280476130696e+00 -5.224484698310884e+00 -5.228694300469721e+00 -5.232909292611727e+00 + -5.237129677608738e+00 -5.241355457600706e+00 -5.245586638932716e+00 -5.249823229255573e+00 -5.254065237237846e+00 + -5.258312670369801e+00 -5.262565530410686e+00 -5.266823819583928e+00 -5.271087547700648e+00 -5.275356724632263e+00 + -5.279631352903723e+00 -5.283911434448228e+00 -5.288196976178466e+00 -5.292487986327965e+00 -5.296784473434150e+00 + -5.301086444698075e+00 -5.305393901671405e+00 -5.309706846569482e+00 -5.314025289911748e+00 -5.318349242027271e+00 + -5.322678704179561e+00 -5.327013677718438e+00 -5.331354173404511e+00 -5.335700202105029e+00 -5.340051765703035e+00 + -5.344408865432155e+00 -5.348771508912536e+00 -5.353139705124518e+00 -5.357513462102698e+00 -5.361892786505948e+00 + -5.366277680435933e+00 -5.370668146715638e+00 -5.375064195610523e+00 -5.379465837274747e+00 -5.383873073974794e+00 + -5.388285907439377e+00 -5.392704345133761e+00 -5.397128395890300e+00 -5.401558068273167e+00 -5.405993369375257e+00 + -5.410434300672517e+00 -5.414880864443758e+00 -5.419333071796174e+00 -5.423790933634701e+00 -5.428254451226888e+00 + -5.432723625834648e+00 -5.437198468334746e+00 -5.441678989715544e+00 -5.446165191796978e+00 -5.450657075821366e+00 + -5.455154649888983e+00 -5.459657923508107e+00 -5.464166904961132e+00 -5.468681600997277e+00 -5.473202013458992e+00 + -5.477728145011161e+00 -5.482260006515158e+00 -5.486797608759512e+00 -5.491340954044872e+00 -5.495890044003880e+00 + -5.500444886085005e+00 -5.505005489175888e+00 -5.509571862105057e+00 -5.514144012303452e+00 -5.518721941670775e+00 + -5.523305652810777e+00 -5.527895156674663e+00 -5.532490463993778e+00 -5.537091576272570e+00 -5.541698495053784e+00 + -5.546311231260242e+00 -5.550929796018560e+00 -5.555554191890502e+00 -5.560184420697174e+00 -5.564820489861896e+00 + -5.569462408240030e+00 -5.574110184812914e+00 -5.578763827204064e+00 -5.583423337479740e+00 -5.588088718319627e+00 + -5.592759980414353e+00 -5.597437134453794e+00 -5.602120183113874e+00 -5.606809128447821e+00 -5.611503978032022e+00 + -5.616204740842362e+00 -5.620911425929568e+00 -5.625624040919794e+00 -5.630342587666039e+00 -5.635067068763208e+00 + -5.639797495546991e+00 -5.644533879170592e+00 -5.649276221316504e+00 -5.654024523642824e+00 -5.658778797180806e+00 + -5.663539053129186e+00 -5.668305293983524e+00 -5.673077521581335e+00 -5.677855743831122e+00 -5.682639970117403e+00 + -5.687430209657800e+00 -5.692226470164904e+00 -5.697028753498052e+00 -5.701837062188433e+00 -5.706651407307890e+00 + -5.711471800003379e+00 -5.716298243181697e+00 -5.721130739014699e+00 -5.725969294974640e+00 -5.730813920019088e+00 + -5.735664623746429e+00 -5.740521414337008e+00 -5.745384293658165e+00 -5.750253264219532e+00 -5.755128337412918e+00 + -5.760009524502356e+00 -5.764896827358567e+00 -5.769790247833362e+00 -5.774689797096235e+00 -5.779595486532854e+00 + -5.784507319075965e+00 -5.789425296924678e+00 -5.794349427796488e+00 -5.799279720850703e+00 -5.804216185495535e+00 + -5.809158829710795e+00 -5.814107655513784e+00 -5.819062665706917e+00 -5.824023872195552e+00 -5.828991286593848e+00 + -5.833964910248241e+00 -5.838944744496904e+00 -5.843930800912663e+00 -5.848923091405570e+00 -5.853921618999967e+00 + -5.858926385866531e+00 -5.863937399646989e+00 -5.868954669511408e+00 -5.873978205272220e+00 -5.879008015280387e+00 + -5.884044101398642e+00 -5.889086466127434e+00 -5.894135121006329e+00 -5.899190077679159e+00 -5.904251339167730e+00 + -5.909318907675908e+00 -5.914392790757818e+00 -5.919472997569684e+00 -5.924559538325873e+00 -5.929652421747786e+00 + -5.934751649526802e+00 -5.939857223994977e+00 -5.944969157077114e+00 -5.950087460588470e+00 -5.955212136313389e+00 + -5.960343186070434e+00 -5.965480621845905e+00 -5.970624455737114e+00 -5.975774690117698e+00 -5.980931326619691e+00 + -5.986094373632355e+00 -5.991263841186835e+00 -5.996439739124646e+00 -6.001622075628632e+00 -6.006810852436582e+00 + -6.012006072105073e+00 -6.017207746910874e+00 -6.022415889122929e+00 -6.027630501258702e+00 -6.032851585034692e+00 + -6.038079148714933e+00 -6.043313202169935e+00 -6.048553755148549e+00 -6.053800815867540e+00 -6.059054386536941e+00 + -6.064314470164098e+00 -6.069581078952353e+00 -6.074854224823474e+00 -6.080133909377011e+00 -6.085420134277816e+00 + -6.090712911774160e+00 -6.096012254273324e+00 -6.101318164235261e+00 -6.106630643404864e+00 -6.111949700614082e+00 + -6.117275346267099e+00 -6.122607589969956e+00 -6.127946439669295e+00 -6.133291897472249e+00 -6.138643966380033e+00 + -6.144002658809652e+00 -6.149367987035877e+00 -6.154739953348771e+00 -6.160118559324411e+00 -6.165503813667637e+00 + -6.170895726810269e+00 -6.176294308963303e+00 -6.181699568610070e+00 -6.187111507544039e+00 -6.192530128394146e+00 + -6.197955443821025e+00 -6.203387466288188e+00 -6.208826197438971e+00 -6.214271638855750e+00 -6.219723802697215e+00 + -6.225182701452046e+00 -6.230648338352550e+00 -6.236120715733020e+00 -6.241599841591995e+00 -6.247085725644578e+00 + -6.252578378807894e+00 -6.258077810320607e+00 -6.263584021505486e+00 -6.269097014385768e+00 -6.274616801702433e+00 + -6.280143396389799e+00 -6.285676801437800e+00 -6.291217018848358e+00 -6.296764056615736e+00 -6.302317924554712e+00 + -6.307878633769864e+00 -6.313446193664602e+00 -6.319020605547922e+00 -6.324601871487839e+00 -6.330190004682891e+00 + -6.335785018206249e+00 -6.341386913499118e+00 -6.346995691980793e+00 -6.352611366614864e+00 -6.358233950592316e+00 + -6.363863446469443e+00 -6.369499855900457e+00 -6.375143187565898e+00 -6.380793451939097e+00 -6.386450659638202e+00 + -6.392114819555641e+00 -6.397785933536126e+00 -6.403464004233896e+00 -6.409149044588990e+00 -6.414841067513965e+00 + -6.420540075525660e+00 -6.426246070301758e+00 -6.431959060559017e+00 -6.437679056917068e+00 -6.443406070567963e+00 + -6.449140110779302e+00 -6.454881178548420e+00 -6.460629275812415e+00 -6.466384416537711e+00 -6.472146614484319e+00 + -6.477915870557313e+00 -6.483692185657911e+00 -6.489475573526882e+00 -6.495266048141532e+00 -6.501063611585819e+00 + -6.506868264986595e+00 -6.512680017535606e+00 -6.518498880384615e+00 -6.524324864460620e+00 -6.530157978732819e+00 + -6.535998224564008e+00 -6.541845604255500e+00 -6.547700131469085e+00 -6.553561819849423e+00 -6.559430671612207e+00 + -6.565306688088189e+00 -6.571189878497283e+00 -6.577080253965905e+00 -6.582977825357318e+00 -6.588882601649868e+00 + -6.594794584545345e+00 -6.600713776640095e+00 -6.606640191385222e+00 -6.612573842086468e+00 -6.618514730613387e+00 + -6.624462858757332e+00 -6.630418239433046e+00 -6.636380885778538e+00 -6.642350800701542e+00 -6.648327986279747e+00 + -6.654312451500913e+00 -6.660304207148021e+00 -6.666303264274883e+00 -6.672309632144893e+00 -6.678323312588955e+00 + -6.684344308236361e+00 -6.690372632342481e+00 -6.696408298209058e+00 -6.702451308697293e+00 -6.708501665794167e+00 + -6.714559378430309e+00 -6.720624457416141e+00 -6.726696914137652e+00 -6.732776758078630e+00 -6.738863990538500e+00 + -6.744958613795213e+00 -6.751060642225177e+00 -6.757170089911689e+00 -6.763286957667176e+00 -6.769411246357500e+00 + -6.775542970333119e+00 -6.781682144164359e+00 -6.787828769816468e+00 -6.793982848306231e+00 -6.800144389461610e+00 + -6.806313405086916e+00 -6.812489906080716e+00 -6.818673901333698e+00 -6.824865392610781e+00 -6.831064382650163e+00 + -6.837270885208925e+00 -6.843484914029985e+00 -6.849706471780753e+00 -6.855935560196301e+00 -6.862172188357874e+00 + -6.868416367348060e+00 -6.874668108908677e+00 -6.880927422841348e+00 -6.887194310527692e+00 -6.893468774218006e+00 + -6.899750828057308e+00 -6.906040486046904e+00 -6.912337749718504e+00 -6.918642620544160e+00 -6.924955112226868e+00 + -6.931275238742860e+00 -6.937603002930438e+00 -6.943938406703657e+00 -6.950281459417487e+00 -6.956632172330878e+00 + -6.962990556877839e+00 -6.969356622516854e+00 -6.975730370629293e+00 -6.982111803620415e+00 -6.988500936068168e+00 + -6.994897782349220e+00 -7.001302343862422e+00 -7.007714621896787e+00 -7.014134630279748e+00 -7.020562383120512e+00 + -7.026997883116998e+00 -7.033441132058707e+00 -7.039892139512705e+00 -7.046350916975187e+00 -7.052817475881351e+00 + -7.059291825658977e+00 -7.065773967767182e+00 -7.072263904706783e+00 -7.078761651114045e+00 -7.085267221537997e+00 + -7.091780618043302e+00 -7.098301841735545e+00 -7.104830902368316e+00 -7.111367811800725e+00 -7.117912581665987e+00 + -7.124465221496127e+00 -7.131025732644298e+00 -7.137594117517873e+00 -7.144170390919956e+00 -7.150754567380619e+00 + -7.157346647942116e+00 -7.163946633668109e+00 -7.170554539195697e+00 -7.177170379365883e+00 -7.183794156261903e+00 + -7.190425870988396e+00 -7.197065533493338e+00 -7.203713155838439e+00 -7.210368749697043e+00 -7.217032324589560e+00 + -7.223703881813015e+00 -7.230383423705708e+00 -7.237070964994412e+00 -7.243766520390449e+00 -7.250470092154861e+00 + -7.257181681552523e+00 -7.263901298313877e+00 -7.270628954301988e+00 -7.277364661444877e+00 -7.284108429522252e+00 + -7.290860259655573e+00 -7.297620154032538e+00 -7.304388127764033e+00 -7.311164195737019e+00 -7.317948359019635e+00 + -7.324740618617562e+00 -7.331540989105481e+00 -7.338349485298712e+00 -7.345166109406192e+00 -7.351990862719772e+00 + -7.358823755469352e+00 -7.365664799915581e+00 -7.372514007504119e+00 -7.379371387574386e+00 -7.386236941855793e+00 + -7.393110673113762e+00 -7.399992595867711e+00 -7.406882724521767e+00 -7.413781061264927e+00 -7.420687607444220e+00 + -7.427602373253923e+00 -7.434525370953283e+00 -7.441456612214240e+00 -7.448396106579596e+00 -7.455343855662903e+00 + -7.462299862106879e+00 -7.469264140600134e+00 -7.476236705537742e+00 -7.483217558094771e+00 -7.490206699573982e+00 + -7.497204145008848e+00 -7.504209909607961e+00 -7.511223995549668e+00 -7.518246403916826e+00 -7.525277144440522e+00 + -7.532316229110418e+00 -7.539363670302306e+00 -7.546419478207750e+00 -7.553483653895294e+00 -7.560556199398457e+00 + -7.567637129733686e+00 -7.574726459966183e+00 -7.581824192373288e+00 -7.588930328179804e+00 -7.596044877188221e+00 + -7.603167851392376e+00 -7.610299262973792e+00 -7.617439121971403e+00 -7.624587429666054e+00 -7.631744188388593e+00 + -7.638909413427992e+00 -7.646083119762239e+00 -7.653265308167305e+00 -7.660455979470388e+00 -7.667655148905554e+00 + -7.674862831955687e+00 -7.682079030692125e+00 -7.689303746121935e+00 -7.696536988406601e+00 -7.703778769965018e+00 + -7.711029103091334e+00 -7.718287997777487e+00 -7.725555454931286e+00 -7.732831476489904e+00 -7.740116077592081e+00 + -7.747409273463959e+00 -7.754711066479733e+00 -7.762021457991705e+00 -7.769340458116517e+00 -7.776668079072852e+00 + -7.784004332723263e+00 -7.791349228774319e+00 -7.798702768664788e+00 -7.806064954991001e+00 -7.813435803247359e+00 + -7.820815328504128e+00 -7.828203531237023e+00 -7.835600412067597e+00 -7.843005986795347e+00 -7.850420271453628e+00 + -7.857843267833355e+00 -7.865274976500961e+00 -7.872715407367362e+00 -7.880164572827870e+00 -7.887622485870939e+00 + -7.895089157097287e+00 -7.902564586963549e+00 -7.910048776908389e+00 -7.917541742442640e+00 -7.925043499243823e+00 + -7.932554049584044e+00 -7.940073394568305e+00 -7.947601544038569e+00 -7.955138510136092e+00 -7.962684305462377e+00 + -7.970238940357911e+00 -7.977802415658878e+00 -7.985374733292938e+00 -7.992955909057959e+00 -8.000545958501995e+00 + -8.008144882303682e+00 -8.015752681155906e+00 -8.023369370677967e+00 -8.030994966700497e+00 -8.038629470973136e+00 + -8.046272884117311e+00 -8.053925216322545e+00 -8.061586480220186e+00 -8.069256688640843e+00 -8.076935852017314e+00 + -8.084623970991846e+00 -8.092321047230506e+00 -8.100027096285098e+00 -8.107742133772728e+00 -8.115466161685978e+00 + -8.123199180963685e+00 -8.130941201954130e+00 -8.138692237272345e+00 -8.146452299190864e+00 -8.154221397655556e+00 + -8.161999533648068e+00 -8.169786709369063e+00 -8.177582940859525e+00 -8.185388243772254e+00 -8.193202618367051e+00 + -8.201026064968486e+00 -8.208858599553158e+00 -8.216700238370747e+00 -8.224550983111227e+00 -8.232410834288519e+00 + -8.240279802271914e+00 -8.248157899820946e+00 -8.256045139400785e+00 -8.263941531127587e+00 -8.271847076015916e+00 + -8.279761776165609e+00 -8.287685647119202e+00 -8.295618704371698e+00 -8.303560949785306e+00 -8.311512384182917e+00 + -8.319473017862927e+00 -8.327442863513763e+00 -8.335421933908444e+00 -8.343410239406900e+00 -8.351407780632112e+00 + -8.359414559352070e+00 -8.367430591651793e+00 -8.375455893292965e+00 -8.383490464426892e+00 -8.391534305333888e+00 + -8.399587432420665e+00 -8.407649862295598e+00 -8.415721596247392e+00 -8.423802634359653e+00 -8.431892987215194e+00 + -8.439992667917126e+00 -8.448101689150496e+00 -8.456220061058572e+00 -8.464347784035521e+00 -8.472484859778373e+00 + -8.480631304944675e+00 -8.488787135775029e+00 -8.496952351881781e+00 -8.505126952972617e+00 -8.513310955764712e+00 + -8.521504377280520e+00 -8.529707218754108e+00 -8.537919480083488e+00 -8.546141171610756e+00 -8.554372306334406e+00 + -8.562612897434500e+00 -8.570862955488629e+00 -8.579122480482935e+00 -8.587391473585072e+00 -8.595669951280222e+00 + -8.603957930092136e+00 -8.612255411381385e+00 -8.620562395277888e+00 -8.628878892152137e+00 -8.637204914976417e+00 + -8.645540476889700e+00 -8.653885588365707e+00 -8.662240249050400e+00 -8.670604460002718e+00 -8.678978238761259e+00 + -8.687361602440037e+00 -8.695754549975142e+00 -8.704157080317993e+00 -8.712569210659231e+00 -8.720990958572770e+00 + -8.729422324926496e+00 -8.737863309144757e+00 -8.746313921583734e+00 -8.754774175423437e+00 -8.763244084207386e+00 + -8.771723658743657e+00 -8.780212898534927e+00 -8.788711804325507e+00 -8.797220393131562e+00 -8.805738681960509e+00 + -8.814266671512945e+00 -8.822804361262596e+00 -8.831351762082482e+00 -8.839908887544672e+00 -8.848475750618142e+00 + -8.857052361519681e+00 -8.865638720060298e+00 -8.874234827408518e+00 -8.882840700568694e+00 -8.891456356239988e+00 + -8.900081794065120e+00 -8.908717013654563e+00 -8.917362031546196e+00 -8.926016864607513e+00 -8.934681514097109e+00 + -8.943355979966887e+00 -8.952040272550780e+00 -8.960734404827180e+00 -8.969438389970174e+00 -8.978152238557112e+00 + -8.986875950582608e+00 -8.995609527224275e+00 -9.004352984974421e+00 -9.013106340348738e+00 -9.021869594641789e+00 + -9.030642747850949e+00 -9.039425810005964e+00 -9.048218793898496e+00 -9.057021713335553e+00 -9.065834579375275e+00 + -9.074657391064932e+00 -9.083490148798390e+00 -9.092332870366718e+00 -9.101185573233034e+00 -9.110048256151465e+00 + -9.118920917820537e+00 -9.127803575425368e+00 -9.136696246597257e+00 -9.145598932265708e+00 -9.154511631860180e+00 + -9.163434355511646e+00 -9.172367116215408e+00 -9.181309927722621e+00 -9.190262801063124e+00 -9.199225735625708e+00 + -9.208198731948572e+00 -9.217181806808554e+00 -9.226174977077383e+00 -9.235178243767663e+00 -9.244191606592038e+00 + -9.253215075922315e+00 -9.262248664894432e+00 -9.271292387041701e+00 -9.280346253080740e+00 -9.289410262064051e+00 + -9.298484414471314e+00 -9.307568728155069e+00 -9.316663220573421e+00 -9.325767890233902e+00 -9.334882735648362e+00 + -9.344007774296474e+00 -9.353143024056331e+00 -9.362288485431986e+00 -9.371444157433135e+00 -9.380610050466057e+00 + -9.389786177888119e+00 -9.398972553464475e+00 -9.408169188076664e+00 -9.417376080663951e+00 -9.426593231436920e+00 + -9.435820657633688e+00 -9.445058376575700e+00 -9.454306388890288e+00 -9.463564693828612e+00 -9.472833301831271e+00 + -9.482112226230582e+00 -9.491401480736307e+00 -9.500701076124317e+00 -9.510011011057383e+00 -9.519331285649606e+00 + -9.528661917933491e+00 -9.538002925632075e+00 -9.547354307312132e+00 -9.556716061430350e+00 -9.566088205159264e+00 + -9.575470756067922e+00 -9.584863714595665e+00 -9.594267079809105e+00 -9.603680862413734e+00 -9.613105076017005e+00 + -9.622539734195460e+00 -9.631984847535897e+00 -9.641440414697058e+00 -9.650906435763309e+00 -9.660382928449559e+00 + -9.669869910482992e+00 -9.679367382009378e+00 -9.688875341677877e+00 -9.698393799732578e+00 -9.707922769547205e+00 + -9.717462265419133e+00 -9.727012298576232e+00 -9.736572867044643e+00 -9.746143970285512e+00 -9.755725626701739e+00 + -9.765317854403191e+00 -9.774920651385886e+00 -9.784534015610914e+00 -9.794157965013451e+00 -9.803792517858509e+00 + -9.813437673756464e+00 -9.823093430886084e+00 -9.832759800354408e+00 -9.842436796281985e+00 -9.852124431915341e+00 + -9.861822717446652e+00 -9.871531651724764e+00 -9.881251235098006e+00 -9.890981485255914e+00 -9.900722419735771e+00 + -9.910474038124631e+00 -9.920236338721825e+00 -9.930009332625946e+00 -9.939793033953066e+00 -9.949587456089942e+00 + -9.959392609292857e+00 -9.969208492025555e+00 -9.979035104343238e+00 -9.988872464459540e+00 -9.998720590171930e+00 + -1.000857947945488e+01 -1.001844913033355e+01 -1.002832956085879e+01 -1.003822078906736e+01 -1.004812281291406e+01 + -1.005803562971182e+01 -1.006795925428782e+01 -1.007789370360111e+01 -1.008783898562387e+01 -1.009779510571246e+01 + -1.010776206774677e+01 -1.011773987740720e+01 -1.012772854905251e+01 -1.013772809631413e+01 -1.014773852123577e+01 + -1.015775982444731e+01 -1.016779201251112e+01 -1.017783509576905e+01 -1.018788909374848e+01 -1.019795402262726e+01 + -1.020802987599985e+01 -1.021811664796306e+01 -1.022821435720666e+01 -1.023832302389762e+01 -1.024844264951883e+01 + -1.025857323411911e+01 -1.026871479069502e+01 -1.027886733277511e+01 -1.028903086306819e+01 -1.029920538356622e+01 + -1.030939090421369e+01 -1.031958743714735e+01 -1.032979499532081e+01 -1.034001358910991e+01 -1.035024321776280e+01 + -1.036048388191000e+01 -1.037073559883907e+01 -1.038099838556339e+01 -1.039127224134250e+01 -1.040155716512729e+01 + -1.041185317238784e+01 -1.042216027887615e+01 -1.043247848495290e+01 -1.044280779013644e+01 -1.045314820596725e+01 + -1.046349974688984e+01 -1.047386242694284e+01 -1.048423625623699e+01 -1.049462122957744e+01 -1.050501734396915e+01 + -1.051542462052187e+01 -1.052584308069211e+01 -1.053627272321853e+01 -1.054671354447971e+01 -1.055716555413174e+01 + -1.056762876571201e+01 -1.057810319500591e+01 -1.058858885406686e+01 -1.059908573777257e+01 -1.060959384260205e+01 + -1.062011318861535e+01 -1.063064379594653e+01 -1.064118566144451e+01 -1.065173878128750e+01 -1.066230317225584e+01 + -1.067287885251234e+01 -1.068346582514766e+01 -1.069406409086973e+01 -1.070467365592747e+01 -1.071529452946521e+01 + -1.072592672666786e+01 -1.073657026057826e+01 -1.074722512963040e+01 -1.075789133336255e+01 -1.076856889033910e+01 + -1.077925781838790e+01 -1.078995811336476e+01 -1.080066977044343e+01 -1.081139280404170e+01 -1.082212723175914e+01 + -1.083287306467895e+01 -1.084363031023443e+01 -1.085439896777578e+01 -1.086517903841335e+01 -1.087597053838113e+01 + -1.088677348334085e+01 -1.089758787154147e+01 -1.090841370173705e+01 -1.091925099211483e+01 -1.093009976068779e+01 + -1.094096000533889e+01 -1.095183172286895e+01 -1.096271492588021e+01 -1.097360962990334e+01 -1.098451584638146e+01 + -1.099543358339704e+01 -1.100636283967740e+01 -1.101730361593110e+01 -1.102825593014644e+01 -1.103921979985815e+01 + -1.105019522350652e+01 -1.106118219809120e+01 -1.107218073394329e+01 -1.108319084475604e+01 -1.109421254433972e+01 + -1.110524584310812e+01 -1.111629073777213e+01 -1.112734722664297e+01 -1.113841532813614e+01 -1.114949506055284e+01 + -1.116058642163307e+01 -1.117168940919924e+01 -1.118280404196459e+01 -1.119393033845125e+01 -1.120506829552628e+01 + -1.121621790821428e+01 -1.122737918582522e+01 -1.123855214233318e+01 -1.124973679608346e+01 -1.126093316109601e+01 + -1.127214122971816e+01 -1.128336099568353e+01 -1.129459247994368e+01 -1.130583570391351e+01 -1.131709066364352e+01 + -1.132835735316995e+01 -1.133963578383626e+01 -1.135092597165251e+01 -1.136222793398803e+01 -1.137354168289046e+01 + -1.138486720776133e+01 -1.139620450077960e+01 -1.140755358788016e+01 -1.141891449467379e+01 -1.143028721171902e+01 + -1.144167172931863e+01 -1.145306807180483e+01 -1.146447626363145e+01 -1.147589629570943e+01 -1.148732815744427e+01 + -1.149877186576219e+01 -1.151022744176966e+01 -1.152169489577362e+01 -1.153317423307527e+01 -1.154466544975234e+01 + -1.155616854500299e+01 -1.156768353973055e+01 -1.157921045411968e+01 -1.159074928377541e+01 -1.160230002278200e+01 + -1.161386268372032e+01 -1.162543728297182e+01 -1.163702383362365e+01 -1.164862234413445e+01 -1.166023280774309e+01 + -1.167185522083641e+01 -1.168348960761297e+01 -1.169513599109641e+01 -1.170679436179895e+01 -1.171846471050954e+01 + -1.173014706163534e+01 -1.174184143967664e+01 -1.175354783588804e+01 -1.176526623959987e+01 -1.177699666569085e+01 + -1.178873913359907e+01 -1.180049365545172e+01 -1.181226023874721e+01 -1.182403887977966e+01 -1.183582957710202e+01 + -1.184763234950681e+01 -1.185944721571250e+01 -1.187127417390187e+01 -1.188311322026980e+01 -1.189496436359524e+01 + -1.190682761635663e+01 -1.191870299324639e+01 -1.193059050542573e+01 -1.194249014771712e+01 -1.195440191732676e+01 + -1.196632583733436e+01 -1.197826192918009e+01 -1.199021018187259e+01 -1.200217058481946e+01 -1.201414316145583e+01 + -1.202612793653577e+01 -1.203812490606177e+01 -1.205013406283600e+01 -1.206215541561094e+01 -1.207418897775090e+01 + -1.208623476511758e+01 -1.209829279023755e+01 -1.211036304979982e+01 -1.212244554104682e+01 -1.213454027927224e+01 + -1.214664728029985e+01 -1.215876654402256e+01 -1.217089806888390e+01 -1.218304186346073e+01 -1.219519793969503e+01 + -1.220736631285608e+01 -1.221954699446002e+01 -1.223173997768314e+01 -1.224394525782826e+01 -1.225616285704409e+01 + -1.226839279716718e+01 -1.228063507193962e+01 -1.229288967419984e+01 -1.230515662126608e+01 -1.231743593190913e+01 + -1.232972760623024e+01 -1.234203164189830e+01 -1.235434804552219e+01 -1.236667682754052e+01 -1.237901800477097e+01 + -1.239137159078778e+01 -1.240373757981251e+01 -1.241611596680448e+01 -1.242850676902663e+01 -1.244091000477032e+01 + -1.245332567413717e+01 -1.246575377485128e+01 -1.247819431331654e+01 -1.249064729993889e+01 -1.250311275245252e+01 + -1.251559068470151e+01 -1.252808108764087e+01 -1.254058395403090e+01 -1.255309930674196e+01 -1.256562716858205e+01 + -1.257816753199971e+01 -1.259072038911156e+01 -1.260328576106586e+01 -1.261586366917709e+01 -1.262845410639316e+01 + -1.264105706405277e+01 -1.265367255542431e+01 -1.266630059802175e+01 -1.267894120441173e+01 -1.269159438291520e+01 + -1.270426012981745e+01 -1.271693844300063e+01 -1.272962933876972e+01 -1.274233283335257e+01 -1.275504892424538e+01 + -1.276777760888006e+01 -1.278051890316245e+01 -1.279327282335948e+01 -1.280603936870822e+01 -1.281881853703964e+01 + -1.283161033759003e+01 -1.284441478278821e+01 -1.285723188642777e+01 -1.287006165845383e+01 -1.288290409205257e+01 + -1.289575918258311e+01 -1.290862695085492e+01 -1.292150741744502e+01 -1.293440057655018e+01 -1.294730642109768e+01 + -1.296022496531707e+01 -1.297315622664438e+01 -1.298610021403966e+01 -1.299905693252094e+01 -1.301202637981436e+01 + -1.302500855607946e+01 -1.303800347850134e+01 -1.305101116311717e+01 -1.306403160434687e+01 -1.307706479749205e+01 + -1.309011076299821e+01 -1.310316952145874e+01 -1.311624106891474e+01 -1.312932539865738e+01 -1.314242251753035e+01 + -1.315553243732881e+01 -1.316865517610136e+01 -1.318179074759510e+01 -1.319493914209791e+01 -1.320810035188408e+01 + -1.322127440063306e+01 -1.323446131182036e+01 -1.324766107670098e+01 -1.326087368408213e+01 -1.327409914520021e+01 + -1.328733747660298e+01 -1.330058869365459e+01 -1.331385280702646e+01 -1.332712980980294e+01 -1.334041969690924e+01 + -1.335372248822127e+01 -1.336703820316815e+01 -1.338036683444133e+01 -1.339370837465144e+01 -1.340706284282357e+01 + -1.342043025877972e+01 -1.343381061911550e+01 -1.344720391854233e+01 -1.346061016746156e+01 -1.347402937953320e+01 + -1.348746156576247e+01 -1.350090673400032e+01 -1.351436488213541e+01 -1.352783600940468e+01 -1.354132013040003e+01 + -1.355481725974633e+01 -1.356832739684519e+01 -1.358185053959114e+01 -1.359538669507347e+01 -1.360893587411229e+01 + -1.362249809325635e+01 -1.363607336498644e+01 -1.364966167978290e+01 -1.366326303005515e+01 -1.367687743792930e+01 + -1.369050492543861e+01 -1.370414548452841e+01 -1.371779910680898e+01 -1.373146581263829e+01 -1.374514562258463e+01 + -1.375883852931014e+01 -1.377254452369323e+01 -1.378626361738342e+01 -1.379999582664259e+01 -1.381374116541099e+01 + -1.382749964295472e+01 -1.384127125216480e+01 -1.385505598801133e+01 -1.386885387015567e+01 -1.388266491822051e+01 + -1.389648912698253e+01 -1.391032648926665e+01 -1.392417701493663e+01 -1.393804071810552e+01 -1.395191761284479e+01 + -1.396580770902492e+01 -1.397971099975399e+01 -1.399362747983656e+01 -1.400755716762526e+01 -1.402150008127576e+01 + -1.403545621460787e+01 -1.404942556175519e+01 -1.406340814244217e+01 -1.407740397661280e+01 -1.409141305949836e+01 + -1.410543538386059e+01 -1.411947095729565e+01 -1.413351979216372e+01 -1.414758190504674e+01 -1.416165730817942e+01 + -1.417574599218579e+01 -1.418984794931155e+01 -1.420396319989974e+01 -1.421809176459019e+01 -1.423223363711269e+01 + -1.424638880961032e+01 -1.426055729478944e+01 -1.427473910897708e+01 -1.428893426241975e+01 -1.430314276106135e+01 + -1.431736459971596e+01 -1.433159977568000e+01 -1.434584830730895e+01 -1.436011021230267e+01 -1.437438548467938e+01 + -1.438867411856965e+01 -1.440297613223502e+01 -1.441729154417122e+01 -1.443162034967981e+01 -1.444596254173529e+01 + -1.446031812719803e+01 -1.447468711827448e+01 -1.448906953466952e+01 -1.450346539077074e+01 -1.451787467219810e+01 + -1.453229736674074e+01 -1.454673349963205e+01 -1.456118309651608e+01 -1.457564614723534e+01 -1.459012263904241e+01 + -1.460461258463169e+01 -1.461911600163362e+01 -1.463363290198108e+01 -1.464816329304780e+01 -1.466270716966852e+01 + -1.467726452861927e+01 -1.469183538698022e+01 -1.470641976118071e+01 -1.472101764474266e+01 -1.473562903182180e+01 + -1.475025394201659e+01 -1.476489239431922e+01 -1.477954437985420e+01 -1.479420988900897e+01 -1.480888893709030e+01 + -1.482358154289730e+01 -1.483828771427918e+01 -1.485300745484606e+01 -1.486774076220148e+01 -1.488248763590571e+01 + -1.489724808935241e+01 -1.491202213620220e+01 -1.492680977735018e+01 -1.494161101188853e+01 -1.495642584446314e+01 + -1.497125428281713e+01 -1.498609634152866e+01 -1.500095203243959e+01 -1.501582134961145e+01 -1.503070428834008e+01 + -1.504560086663885e+01 -1.506051110171047e+01 -1.507543498479744e+01 -1.509037250787217e+01 -1.510532369178669e+01 + -1.512028855781273e+01 -1.513526710002122e+01 -1.515025931004586e+01 -1.516526519697226e+01 -1.518028477406786e+01 + -1.519531805387558e+01 -1.521036504514735e+01 -1.522542574219565e+01 -1.524050014105165e+01 -1.525558825906066e+01 + -1.527069011317451e+01 -1.528580569745696e+01 -1.530093500454836e+01 -1.531607804428359e+01 -1.533123483115148e+01 + -1.534640538106230e+01 -1.536158970459035e+01 -1.537678778954449e+01 -1.539199962605270e+01 -1.540722523628471e+01 + -1.542246464244602e+01 -1.543771783484346e+01 -1.545298480379291e+01 -1.546826557154514e+01 -1.548356016030771e+01 + -1.549886856018057e+01 -1.551419075889859e+01 -1.552952676684366e+01 -1.554487659991805e+01 -1.556024027345857e+01 + -1.557561779759322e+01 -1.559100916218038e+01 -1.560641435912106e+01 -1.562183340875659e+01 -1.563726633124305e+01 + -1.565271311755539e+01 -1.566817375858786e+01 -1.568364827409284e+01 -1.569913668435983e+01 -1.571463898296877e+01 + -1.573015516140282e+01 -1.574568522946743e+01 -1.576122920078429e+01 -1.577678708591764e+01 -1.579235889192325e+01 + -1.580794461488044e+01 -1.582354425266206e+01 -1.583915782129173e+01 -1.585478533595468e+01 -1.587042679033195e+01 + -1.588608217713541e+01 -1.590175150670428e+01 -1.591743479377280e+01 -1.593313205302798e+01 -1.594884329356461e+01 + -1.596456850215542e+01 -1.598030766876410e+01 -1.599606081844003e+01 -1.601182797567503e+01 -1.602760912764517e+01 + -1.604340426053651e+01 -1.605921339389068e+01 -1.607503654929621e+01 -1.609087372317365e+01 -1.610672490846679e+01 + -1.612259010938000e+01 -1.613846933535691e+01 -1.615436260553746e+01 -1.617026993400350e+01 -1.618619130490810e+01 + -1.620212670496088e+01 -1.621807616102629e+01 -1.623403970021593e+01 -1.625001731047507e+01 -1.626600897617460e+01 + -1.628201470655392e+01 -1.629803451699528e+01 -1.631406842258372e+01 -1.633011643368945e+01 -1.634617854212047e+01 + -1.636225474110459e+01 -1.637834504811086e+01 -1.639444948009596e+01 -1.641056802772599e+01 -1.642670068226715e+01 + -1.644284746367691e+01 -1.645900839255391e+01 -1.647518346337059e+01 -1.649137266740475e+01 -1.650757600928198e+01 + -1.652379349905581e+01 -1.654002515514406e+01 -1.655627099138395e+01 -1.657253099492616e+01 -1.658880515436409e+01 + -1.660509349074862e+01 -1.662139602569388e+01 -1.663771275060954e+01 -1.665404365442992e+01 -1.667038874639235e+01 + -1.668674804082613e+01 -1.670312155212567e+01 -1.671950928959044e+01 -1.673591124207530e+01 -1.675232740091000e+01 + -1.676875778776886e+01 -1.678520242381186e+01 -1.680166129779755e+01 -1.681813439803682e+01 -1.683462174345131e+01 + -1.685112335404732e+01 -1.686763922355921e+01 -1.688416934305047e+01 -1.690071371917313e+01 -1.691727236387981e+01 + -1.693384529473730e+01 -1.695043252373442e+01 -1.696703403493436e+01 -1.698364981519248e+01 -1.700027989045860e+01 + -1.701692428668450e+01 -1.703358299073511e+01 -1.705025598664567e+01 -1.706694328621936e+01 -1.708364490699094e+01 + -1.710036086165371e+01 -1.711709115711999e+01 -1.713383578201967e+01 -1.715059472804424e+01 -1.716736801741393e+01 + -1.718415567151382e+01 -1.720095767785962e+01 -1.721777402421613e+01 -1.723460473321376e+01 -1.725144982735173e+01 + -1.726830929373925e+01 -1.728518311723097e+01 -1.730207130905323e+01 -1.731897388644410e+01 -1.733589086431708e+01 + -1.735282225151622e+01 -1.736976803493245e+01 -1.738672820398455e+01 -1.740370278015603e+01 -1.742069178532102e+01 + -1.743769521085149e+01 -1.745471304524893e+01 -1.747174529603476e+01 -1.748879197614670e+01 -1.750585310116775e+01 + -1.752292868122209e+01 -1.754001870195336e+01 -1.755712315207324e+01 -1.757424205704595e+01 -1.759137544124289e+01 + -1.760852328791187e+01 -1.762568558032359e+01 -1.764286234296404e+01 -1.766005360135051e+01 -1.767725934391039e+01 + -1.769447955614261e+01 -1.771171424892207e+01 -1.772896343807829e+01 -1.774622713388326e+01 -1.776350534196338e+01 + -1.778079805492016e+01 -1.779810526797336e+01 -1.781542699984077e+01 -1.783276326793605e+01 -1.785011406095838e+01 + -1.786747936642481e+01 -1.788485919583838e+01 -1.790225356596892e+01 -1.791966249066770e+01 -1.793708597750879e+01 + -1.795452401187612e+01 -1.797197658287230e+01 -1.798944371666477e+01 -1.800692543788475e+01 -1.802442172795408e+01 + -1.804193256819016e+01 -1.805945798270200e+01 -1.807699799758296e+01 -1.809455260407236e+01 -1.811212178929598e+01 + -1.812970555877947e+01 -1.814730392419934e+01 -1.816491690343573e+01 -1.818254450889657e+01 -1.820018672489731e+01 + -1.821784353770839e+01 -1.823551496951270e+01 -1.825320104351004e+01 -1.827090175105552e+01 -1.828861707995103e+01 + -1.830634703563002e+01 -1.832409162961503e+01 -1.834185088015348e+01 -1.835962479982180e+01 -1.837741337178776e+01 + -1.839521658191638e+01 -1.841303445627024e+01 -1.843086702044687e+01 -1.844871425798603e+01 -1.846657615155986e+01 + -1.848445272242748e+01 -1.850234399331442e+01 -1.852024995422484e+01 -1.853817059263430e+01 -1.855610591862525e+01 + -1.857405594751762e+01 -1.859202069297440e+01 -1.861000016303027e+01 -1.862799434486363e+01 -1.864600322762024e+01 + -1.866402682917165e+01 -1.868206516860479e+01 -1.870011824114266e+01 -1.871818603889838e+01 -1.873626856540951e+01 + -1.875436582948875e+01 -1.877247784962497e+01 -1.879060463922456e+01 -1.880874618168810e+01 -1.882690246254704e+01 + -1.884507350586227e+01 -1.886325933574866e+01 -1.888145993800745e+01 -1.889967529731236e+01 -1.891790543214035e+01 + -1.893615036295555e+01 -1.895441008436764e+01 -1.897268458788422e+01 -1.899097387845919e+01 -1.900927796546465e+01 + -1.902759686249918e+01 -1.904593057916082e+01 -1.906427910481893e+01 -1.908264243109121e+01 -1.910102057881749e+01 + -1.911941356739387e+01 -1.913782138121961e+01 -1.915624400568942e+01 -1.917468146517671e+01 -1.919313378404767e+01 + -1.921160094766128e+01 -1.923008293912871e+01 -1.924857977157690e+01 -1.926709146357444e+01 -1.928561802544077e+01 + -1.930415946120927e+01 -1.932271575801813e+01 -1.934128690695999e+01 -1.935987293184044e+01 -1.937847385553680e+01 + -1.939708966450047e+01 -1.941572034241033e+01 -1.943436589828115e+01 -1.945302634705033e+01 -1.947170170200994e+01 + -1.949039197138318e+01 -1.950909714476303e+01 -1.952781721398065e+01 -1.954655219845012e+01 -1.956530211609402e+01 + -1.958406695128608e+01 -1.960284668959667e+01 -1.962164135493148e+01 -1.964045097168231e+01 -1.965927552785040e+01 + -1.967811500826448e+01 -1.969696942145404e+01 -1.971583878200212e+01 -1.973472310500559e+01 -1.975362239928199e+01 + -1.977253664801789e+01 -1.979146583743514e+01 -1.981040999152762e+01 -1.982936913462439e+01 -1.984834325462312e+01 + -1.986733233626431e+01 -1.988633638809098e+01 -1.990535542475069e+01 -1.992438946150660e+01 -1.994343850724086e+01 + -1.996250254469571e+01 -1.998158155988759e+01 -2.000067557806942e+01 -2.001978462401460e+01 -2.003890868134189e+01 + -2.005804773353269e+01 -2.007720180467363e+01 -2.009637091866160e+01 -2.011555505802958e+01 -2.013475420367532e+01 + -2.015396837131929e+01 -2.017319758216888e+01 -2.019244184455664e+01 -2.021170116029698e+01 -2.023097551800653e+01 + -2.025026491057744e+01 -2.026956936120177e+01 -2.028888889127859e+01 -2.030822348473533e+01 -2.032757312336421e+01 + -2.034693781788847e+01 -2.036631758558183e+01 -2.038571244098909e+01 -2.040512239225047e+01 -2.042454742461679e+01 + -2.044398752597867e+01 -2.046344271767523e+01 -2.048291302072143e+01 -2.050239842138679e+01 -2.052189890581644e+01 + -2.054141449440303e+01 -2.056094520839277e+01 -2.058049103819856e+01 -2.060005197091200e+01 -2.061962801117254e+01 + -2.063921916971323e+01 -2.065882546409381e+01 -2.067844690614864e+01 -2.069808347798381e+01 -2.071773516441981e+01 + -2.073740199086278e+01 -2.075708398272239e+01 -2.077678112483692e+01 -2.079649339928443e+01 -2.081622081767353e+01 + -2.083596339752241e+01 -2.085572115045732e+01 -2.087549408142252e+01 -2.089528217452614e+01 -2.091508541798258e+01 + -2.093490383726751e+01 -2.095473745703866e+01 -2.097458626142068e+01 -2.099445023367205e+01 -2.101432939411960e+01 + -2.103422376365449e+01 -2.105413332835716e+01 -2.107405807288499e+01 -2.109399801101360e+01 -2.111395316146354e+01 + -2.113392353361706e+01 -2.115390913036233e+01 -2.117390993794961e+01 -2.119392594678185e+01 -2.121395718051052e+01 + -2.123400366165125e+01 -2.125406537492771e+01 -2.127414230292253e+01 -2.129423445744600e+01 -2.131434185603574e+01 + -2.133446450991120e+01 -2.135460242400538e+01 -2.137475558442359e+01 -2.139492398094176e+01 -2.141510763684612e+01 + -2.143530657354728e+01 -2.145552077144329e+01 -2.147575021223202e+01 -2.149599492382317e+01 -2.151625493458459e+01 + -2.153653022850520e+01 -2.155682078515937e+01 -2.157712661084235e+01 -2.159744772002078e+01 -2.161778413312624e+01 + -2.163813586321833e+01 -2.165850288790379e+01 -2.167888518769065e+01 -2.169928279014487e+01 -2.171969572392566e+01 + -2.174012397500749e+01 -2.176056752455845e+01 -2.178102637720577e+01 -2.180150054539059e+01 -2.182199004935065e+01 + -2.184249490264348e+01 -2.186301508430896e+01 -2.188355057625899e+01 -2.190410140641098e+01 -2.192466760199104e+01 + -2.194524914145450e+01 -2.196584600311797e+01 -2.198645821351363e+01 -2.200708580045210e+01 -2.202772874864248e+01 + -2.204838703903658e+01 -2.206906068065864e+01 -2.208974968965916e+01 -2.211045408262128e+01 -2.213117386881762e+01 + -2.215190902784613e+01 -2.217265954271720e+01 -2.219342543976576e+01 -2.221420674565993e+01 -2.223500344507609e+01 + -2.225581551916326e+01 -2.227664297695268e+01 -2.229748583458740e+01 -2.231834410877561e+01 -2.233921780886325e+01 + -2.236010691418214e+01 -2.238101140757746e+01 -2.240193131596196e+01 -2.242286666626994e+01 -2.244381744145418e+01 + -2.246478362333585e+01 -2.248576523319086e+01 -2.250676229308250e+01 -2.252777478876882e+01 -2.254880270395783e+01 + -2.256984605046237e+01 -2.259090484578745e+01 -2.261197910210208e+01 -2.263306882483333e+01 -2.265417399777652e+01 + -2.267529460825966e+01 -2.269643067937303e+01 -2.271758223358744e+01 -2.273874925513337e+01 -2.275993172840441e+01 + -2.278112967668665e+01 -2.280234312326570e+01 -2.282357205253301e+01 -2.284481644618636e+01 -2.286607631404299e+01 + -2.288735167241803e+01 -2.290864253549898e+01 -2.292994891082159e+01 -2.295127078144212e+01 -2.297260813386354e+01 + -2.299396099285480e+01 -2.301532938287575e+01 -2.303671328888409e+01 -2.305811269234469e+01 -2.307952760025338e+01 + -2.310095802706863e+01 -2.312240399156859e+01 -2.314386550544134e+01 -2.316534254769484e+01 -2.318683510020089e+01 + -2.320834318896662e+01 -2.322986684000025e+01 -2.325140603517923e+01 -2.327296075598023e+01 -2.329453102640753e+01 + -2.331611687084991e+01 -2.333771827270656e+01 -2.335933521295700e+01 -2.338096770389138e+01 -2.340261576396985e+01 + -2.342427940502197e+01 -2.344595863230511e+01 -2.346765343141823e+01 -2.348936379112492e+01 -2.351108973250527e+01 + -2.353283127622654e+01 -2.355458840898814e+01 -2.357636111469370e+01 -2.359814940003157e+01 -2.361995327887107e+01 + -2.364177277102066e+01 -2.366360788867084e+01 -2.368545860760097e+01 -2.370732490730504e+01 -2.372920681854641e+01 + -2.375110437181196e+01 -2.377301754521346e+01 -2.379494631547129e+01 -2.381689070611525e+01 -2.383885074279985e+01 + -2.386082641286912e+01 -2.388281770027697e+01 -2.390482461372720e+01 -2.392684716763744e+01 -2.394888537453080e+01 + -2.397093924094647e+01 -2.399300875138237e+01 -2.401509389381072e+01 -2.403719469214220e+01 -2.405931116939521e+01 + -2.408144330908079e+01 -2.410359109227195e+01 -2.412575452979684e+01 -2.414793363861520e+01 -2.417012843045825e+01 + -2.419233891107258e+01 -2.421456506749473e+01 -2.423680688969797e+01 -2.425906439811232e+01 -2.428133761196757e+01 + -2.430362651523593e+01 -2.432593109247103e+01 -2.434825136580965e+01 -2.437058735754595e+01 -2.439293905302052e+01 + -2.441530643508021e+01 -2.443768951355032e+01 -2.446008830475372e+01 -2.448250282402539e+01 -2.450493307947941e+01 + -2.452737905133441e+01 -2.454984072340254e+01 -2.457231812176549e+01 -2.459481127247106e+01 -2.461732015916192e+01 + -2.463984476198997e+01 -2.466238508954903e+01 -2.468494115731883e+01 -2.470751297988127e+01 -2.473010056541401e+01 + -2.475270389737600e+01 -2.477532296279144e+01 -2.479795778766421e+01 -2.482060839605179e+01 -2.484327476524651e+01 + -2.486595687297807e+01 -2.488865474549064e+01 -2.491136841050829e+01 -2.493409785316058e+01 -2.495684305468689e+01 + -2.497960402336061e+01 -2.500238077436705e+01 -2.502517332350563e+01 -2.504798167938967e+01 -2.507080582127416e+01 + -2.509364573240812e+01 -2.511650144137505e+01 -2.513937297643642e+01 -2.516226031923135e+01 -2.518516344740990e+01 + -2.520808236928804e+01 -2.523101710100030e+01 -2.525396765928963e+01 -2.527693405405919e+01 -2.529991626724470e+01 + -2.532291428361040e+01 -2.534592812720204e+01 -2.536895782110043e+01 -2.539200334524508e+01 -2.541506468057373e+01 + -2.543814185515816e+01 -2.546123489657537e+01 -2.548434378328921e+01 -2.550746849096137e+01 -2.553060903315797e+01 + -2.555376543163097e+01 -2.557693770297151e+01 -2.560012585444837e+01 -2.562332986120158e+01 -2.564654970308929e+01 + -2.566978541097076e+01 -2.569303701597250e+01 -2.571630449928904e+01 -2.573958783754457e+01 -2.576288703901380e+01 + -2.578620212017663e+01 -2.580953309868325e+01 -2.583287998467666e+01 -2.585624275710073e+01 -2.587962139846310e+01 + -2.590301593672573e+01 -2.592642639921134e+01 -2.594985276523152e+01 -2.597329501305775e+01 -2.599675316481207e+01 + -2.602022724494944e+01 -2.604371724340627e+01 -2.606722314554395e+01 -2.609074495294231e+01 -2.611428267453130e+01 + -2.613783633242288e+01 -2.616140594232113e+01 -2.618499148111656e+01 -2.620859292804694e+01 -2.623221031055255e+01 + -2.625584365675950e+01 -2.627949294933480e+01 -2.630315816707157e+01 -2.632683931872623e+01 -2.635053642045652e+01 + -2.637424948806206e+01 -2.639797853015353e+01 -2.642172352694394e+01 -2.644548446269175e+01 -2.646926136623515e+01 + -2.649305426487780e+01 -2.651686313520573e+01 -2.654068795336410e+01 -2.656452874445229e+01 -2.658838553565089e+01 + -2.661225831351167e+01 -2.663614706041860e+01 -2.666005178271351e+01 -2.668397249386109e+01 -2.670790921185966e+01 + -2.673186194785124e+01 -2.675583068101895e+01 -2.677981539336416e+01 -2.680381611012034e+01 -2.682783285712106e+01 + -2.685186561936856e+01 -2.687591437786270e+01 -2.689997913842517e+01 -2.692405991477839e+01 -2.694815672742597e+01 + -2.697226958936361e+01 -2.699639847677425e+01 -2.702054336911223e+01 -2.704470429573021e+01 -2.706888128546201e+01 + -2.709307431516761e+01 -2.711728336172764e+01 -2.714150845407871e+01 -2.716574962162754e+01 -2.719000684360529e+01 + -2.721428009605862e+01 -2.723856939247152e+01 -2.726287475352885e+01 -2.728719619128178e+01 -2.731153370993099e+01 + -2.733588729090867e+01 -2.736025692081293e+01 -2.738464262967399e+01 -2.740904444482641e+01 -2.743346233939021e+01 + -2.745789628706843e+01 -2.748234631811058e+01 -2.750681246441337e+01 -2.753129470791622e+01 -2.755579302585287e+01 + -2.758030742659158e+01 -2.760483792680023e+01 -2.762938454521084e+01 -2.765394729250735e+01 -2.767852614511706e+01 + -2.770312108289846e+01 -2.772773213369129e+01 -2.775235932608502e+01 -2.777700264368704e+01 -2.780166206614083e+01 + -2.782633760221619e+01 -2.785102926812099e+01 -2.787573708068912e+01 -2.790046104903706e+01 -2.792520115078565e+01 + -2.794995736764946e+01 -2.797472972921345e+01 -2.799951826412358e+01 -2.802432294939970e+01 -2.804914376169005e+01 + -2.807398072778233e+01 -2.809883387567351e+01 -2.812370318805837e+01 -2.814858864438241e+01 -2.817349025639583e+01 + -2.819840804241009e+01 -2.822334201467696e+01 -2.824829217820057e+01 -2.827325851505399e+01 -2.829824101147483e+01 + -2.832323969328987e+01 -2.834825458594292e+01 -2.837328567375688e+01 -2.839833293713809e+01 -2.842339638194745e+01 + -2.844847602232610e+01 -2.847357188008160e+01 -2.849868396869187e+01 -2.852381226064981e+01 -2.854895673259501e+01 + -2.857411741873861e+01 -2.859929435285462e+01 -2.862448750939692e+01 -2.864969686163745e+01 -2.867492243744038e+01 + -2.870016426611871e+01 -2.872542232818885e+01 -2.875069660076976e+01 -2.877598709618692e+01 -2.880129383482867e+01 + -2.882661683412842e+01 -2.885195610246809e+01 -2.887731161497835e+01 -2.890268335136361e+01 -2.892807134287440e+01 + -2.895347562064698e+01 -2.897889616381469e+01 -2.900433294736006e+01 -2.902978598166526e+01 -2.905525528595928e+01 + -2.908074087945912e+01 -2.910624277257485e+01 -2.913176094050105e+01 -2.915729536236611e+01 -2.918284606824940e+01 + -2.920841308797334e+01 -2.923399639938179e+01 -2.925959597987842e+01 -2.928521185708459e+01 -2.931084405942344e+01 + -2.933649256830759e+01 -2.936215736109871e+01 -2.938783844596477e+01 -2.941353583979598e+01 -2.943924956356517e+01 + -2.946497963001566e+01 -2.949072601489006e+01 -2.951648869675137e+01 -2.954226770244480e+01 -2.956806305999476e+01 + -2.959387475386040e+01 -2.961970276467950e+01 -2.964554710136948e+01 -2.967140778023144e+01 -2.969728481882160e+01 + -2.972317822671904e+01 -2.974908798033929e+01 -2.977501406036931e+01 -2.980095649774566e+01 -2.982691532231985e+01 + -2.985289050935425e+01 -2.987888203414534e+01 -2.990488992671488e+01 -2.993091421806754e+01 -2.995695488841446e+01 + -2.998301191396682e+01 -3.000908530572931e+01 -3.003517508294127e+01 -3.006128126298706e+01 -3.008740385472813e+01 + -3.011354283478899e+01 -3.013969818396866e+01 -3.016586993200092e+01 -3.019205810852835e+01 -3.021826269389396e+01 + -3.024448366459688e+01 -3.027072103106001e+01 -3.029697481234801e+01 -3.032324502816885e+01 -3.034953168930138e+01 + -3.037583477016444e+01 -3.040215424919064e+01 -3.042849015722735e+01 -3.045484252487287e+01 -3.048121132931426e+01 + -3.050759654718701e+01 -3.053399820633122e+01 -3.056041633582694e+01 -3.058685091850949e+01 -3.061330193277164e+01 + -3.063976938548045e+01 -3.066625329189824e+01 -3.069275367239408e+01 -3.071927054017274e+01 -3.074580387467516e+01 + -3.077235365736276e+01 -3.079891991154272e+01 -3.082550266154129e+01 -3.085210189391538e+01 -3.087871759159065e+01 + -3.090534976073683e+01 -3.093199841535169e+01 -3.095866357750086e+01 -3.098534526117247e+01 -3.101204343997652e+01 + -3.103875809113482e+01 -3.106548924669440e+01 -3.109223693806243e+01 -3.111900113926174e+01 -3.114578182447812e+01 + -3.117257902593346e+01 -3.119939277712214e+01 -3.122622305859262e+01 -3.125306984560579e+01 -3.127993314521812e+01 + -3.130681297362548e+01 -3.133370935178603e+01 -3.136062229292185e+01 -3.138755177454848e+01 -3.141449777743489e+01 + -3.144146033107010e+01 -3.146843946420585e+01 -3.149543515392452e+01 -3.152244737446985e+01 -3.154947614039987e+01 + -3.157652147508332e+01 -3.160358339681746e+01 -3.163066191390917e+01 -3.165775699977537e+01 -3.168486863280270e+01 + -3.171199684614663e+01 -3.173914167265754e+01 -3.176630308919665e+01 -3.179348107134120e+01 -3.182067564552154e+01 + -3.184788683989369e+01 -3.187511463866380e+01 -3.190235902163426e+01 -3.192961999494226e+01 -3.195689757352222e+01 + -3.198419178116283e+01 -3.201150263346307e+01 -3.203883010440887e+01 -3.206617417058478e+01 -3.209353486058297e+01 + -3.212091220418486e+01 -3.214830618392138e+01 -3.217571677868305e+01 -3.220314400004898e+01 -3.223058786708538e+01 + -3.225804839611857e+01 -3.228552559489243e+01 -3.231301943956095e+01 -3.234052991162765e+01 -3.236805704558397e+01 + -3.239560087404328e+01 -3.242316136911894e+01 -3.245073850255218e+01 -3.247833230509534e+01 -3.250594280965240e+01 + -3.253356999872297e+01 -3.256121385028732e+01 -3.258887437465276e+01 -3.261655158960600e+01 -3.264424551052439e+01 + -3.267195614529539e+01 -3.269968347425627e+01 -3.272742748229857e+01 -3.275518820008119e+01 -3.278296565603427e+01 + -3.281075982390590e+01 -3.283857067801981e+01 -3.286639824968410e+01 -3.289424257141810e+01 -3.292210362360176e+01 + -3.294998138240963e+01 -3.297787585933321e+01 -3.300578707421773e+01 -3.303371504500630e+01 -3.306165978102434e+01 + -3.308962125902853e+01 -3.311759946003357e+01 -3.314559441465483e+01 -3.317360615365304e+01 -3.320163465877013e+01 + -3.322967990687330e+01 -3.325774190434956e+01 -3.328582066713852e+01 -3.331391621987054e+01 -3.334202857831301e+01 + -3.337015771409062e+01 -3.339830360273710e+01 -3.342646627956469e+01 -3.345464577921614e+01 -3.348284207387808e+01 + -3.351105513572078e+01 -3.353928499930519e+01 -3.356753169996216e+01 -3.359579521371194e+01 -3.362407551222610e+01 + -3.365237260909204e+01 -3.368068652715969e+01 -3.370901728441355e+01 -3.373736488954338e+01 -3.376572931892538e+01 + -3.379411055342771e+01 -3.382250862419983e+01 -3.385092356238306e+01 -3.387935534880526e+01 -3.390780395979943e+01 + -3.393626940403256e+01 -3.396475169950308e+01 -3.399325086920118e+01 -3.402176692682492e+01 -3.405029984391190e+01 + -3.407884959628061e+01 -3.410741621903333e+01 -3.413599974690003e+01 -3.416460015383780e+01 -3.419321741347679e+01 + -3.422185155891206e+01 -3.425050262370409e+01 -3.427917058381036e+01 -3.430785541111823e+01 -3.433655711883738e+01 + -3.436527572977491e+01 -3.439401126380553e+01 -3.442276373145798e+01 -3.445153310880944e+01 -3.448031937598221e+01 + -3.450912256373026e+01 -3.453794270224409e+01 -3.456677976882821e+01 -3.459563373771100e+01 -3.462450462370172e+01 + -3.465339245071625e+01 -3.468229723851619e+01 -3.471121899611902e+01 -3.474015769371995e+01 -3.476911330776019e+01 + -3.479808587848705e+01 -3.482707544447295e+01 -3.485608197378501e+01 -3.488510543365825e+01 -3.491414585850467e+01 + -3.494320328527482e+01 -3.497227769389696e+01 -3.500136905869145e+01 -3.503047738856913e+01 -3.505960270226024e+01 + -3.508874502318216e+01 -3.511790436512474e+01 -3.514708069868058e+01 -3.517627399907308e+01 -3.520548430324607e+01 + -3.523471164812467e+01 -3.526395600883895e+01 -3.529321735592740e+01 -3.532249570335686e+01 -3.535179107461137e+01 + -3.538110348781549e+01 -3.541043295179184e+01 -3.543977944351469e+01 -3.546914294470585e+01 -3.549852348792567e+01 + -3.552792110371767e+01 -3.555733576371960e+01 -3.558676744035331e+01 -3.561621616808287e+01 -3.564568198278825e+01 + -3.567516486397158e+01 -3.570466478590109e+01 -3.573418175828719e+01 -3.576371580017962e+01 -3.579326693254331e+01 + -3.582283516733191e+01 -3.585242047853867e+01 -3.588202284498269e+01 -3.591164230274704e+01 -3.594127888660625e+01 + -3.597093256883734e+01 -3.600060331833949e+01 -3.603029115299790e+01 -3.605999610029281e+01 -3.608971817709886e+01 + -3.611945738978410e+01 -3.614921371329605e+01 -3.617898712799953e+01 -3.620877766734910e+01 -3.623858536391516e+01 + -3.626841019364145e+01 -3.629825213180558e+01 -3.632811120764664e+01 -3.635798745148868e+01 -3.638788084403422e+01 + -3.641779136227628e+01 -3.644771901799147e+01 -3.647766383142195e+01 -3.650762582188893e+01 -3.653760499949427e+01 + -3.656760133838370e+01 -3.659761481766282e+01 -3.662764547223315e+01 -3.665769333671685e+01 -3.668775838882340e+01 + -3.671784060113342e+01 -3.674793998262476e+01 -3.677805655273779e+01 -3.680819033636626e+01 -3.683834134900049e+01 + -3.686850956306390e+01 -3.689869495454472e+01 -3.692889755675729e+01 -3.695911740229619e+01 -3.698935446355054e+01 + -3.701960871343802e+01 -3.704988018719579e+01 -3.708016892120266e+01 -3.711047489408478e+01 -3.714079807933708e+01 + -3.717113848768184e+01 -3.720149613882988e+01 -3.723187105121882e+01 -3.726226323497034e+01 -3.729267266821555e+01 + -3.732309933333587e+01 -3.735354326170426e+01 -3.738400448395760e+01 -3.741448297879693e+01 -3.744497872108128e+01 + -3.747549172223736e+01 -3.750602200310610e+01 -3.753656958561755e+01 -3.756713448177913e+01 -3.759771666281819e+01 + -3.762831610507856e+01 -3.765893284615005e+01 -3.768956692232328e+01 -3.772021830344675e+01 -3.775088695941269e+01 + -3.778157292673024e+01 -3.781227624306894e+01 -3.784299688412320e+01 -3.787373482086582e+01 -3.790449006735824e+01 + -3.793526264738479e+01 -3.796605258053289e+01 -3.799685987630166e+01 -3.802768450803411e+01 -3.805852645435349e+01 + -3.808938575116029e+01 -3.812026243387959e+01 -3.815115647875793e+01 -3.818206785737669e+01 -3.821299658183555e+01 + -3.824394267407146e+01 -3.827490615485264e+01 -3.830588703573063e+01 -3.833688529255877e+01 -3.836790090523419e+01 + -3.839893390552727e+01 -3.842998432385276e+01 -3.846105213333004e+01 -3.849213730842061e+01 -3.852323988624988e+01 + -3.855435990371658e+01 -3.858549733414936e+01 -3.861665214665468e+01 -3.864782435702053e+01 -3.867901399128823e+01 + -3.871022106983104e+01 -3.874144560188923e+01 -3.877268755783931e+01 -3.880394691415978e+01 -3.883522371060106e+01 + -3.886651798555487e+01 -3.889782970870629e+01 -3.892915884903668e+01 -3.896050544141922e+01 -3.899186952243698e+01 + -3.902325106962145e+01 -3.905465005558139e+01 -3.908606649228560e+01 -3.911750040150871e+01 -3.914895180488885e+01 + -3.918042071436301e+01 -3.921190710320024e+01 -3.924341094905042e+01 -3.927493228575462e+01 -3.930647114756201e+01 + -3.933802751416320e+01 -3.936960136044893e+01 -3.940119269666864e+01 -3.943280154239230e+01 -3.946442791911308e+01 + -3.949607183932866e+01 -3.952773327763106e+01 -3.955941221301939e+01 -3.959110868002649e+01 -3.962282271157864e+01 + -3.965455427864192e+01 -3.968630335291520e+01 -3.971806997098832e+01 -3.974985417066340e+01 -3.978165592970123e+01 + -3.981347522024374e+01 -3.984531205199855e+01 -3.987716644515135e+01 -3.990903842423468e+01 -3.994092800366619e+01 + -3.997283515305731e+01 -4.000475984705376e+01 -4.003670212524431e+01 -4.006866202678586e+01 -4.010063952416471e+01 + -4.013263458527370e+01 -4.016464722630246e+01 -4.019667747391531e+01 -4.022872534837892e+01 -4.026079085897078e+01 + -4.029287397740929e+01 -4.032497468131004e+01 -4.035709300943645e+01 -4.038922899883853e+01 -4.042138261856475e+01 + -4.045355383733334e+01 -4.048574269054266e+01 -4.051794921541258e+01 -4.055017338976896e+01 -4.058241518694505e+01 + -4.061467462169752e+01 -4.064695171778673e+01 -4.067924649356458e+01 -4.071155895737036e+01 -4.074388908290122e+01 + -4.077623684962312e+01 -4.080860229471885e+01 -4.084098545450960e+01 -4.087338630415373e+01 -4.090580481395003e+01 + -4.093824099592192e+01 -4.097069487270115e+01 -4.100316646762842e+01 -4.103565579436854e+01 -4.106816282717386e+01 + -4.110068754422534e+01 -4.113322997883087e+01 -4.116579016300655e+01 -4.119836806847471e+01 -4.123096366815907e+01 + -4.126357700008218e+01 -4.129620810254014e+01 -4.132885694982463e+01 -4.136152351139461e+01 -4.139420780138244e+01 + -4.142690984447184e+01 -4.145962966287846e+01 -4.149236726828771e+01 -4.152512263273182e+01 -4.155789573295193e+01 + -4.159068660417814e+01 -4.162349528189675e+01 -4.165632174413023e+01 -4.168916596438000e+01 -4.172202795552684e+01 + -4.175490773972726e+01 -4.178780533686147e+01 -4.182072075745918e+01 -4.185365397692470e+01 -4.188660497553830e+01 + -4.191957378820953e+01 -4.195256044830271e+01 -4.198556492837179e+01 -4.201858720098863e+01 -4.205162729960676e+01 + -4.208468525919077e+01 -4.211776105986812e+01 -4.215085467691669e+01 -4.218396612105321e+01 -4.221709541226407e+01 + -4.225024257217616e+01 -4.228340761361360e+01 -4.231659051254899e+01 -4.234979124870078e+01 -4.238300985362200e+01 + -4.241624635885866e+01 -4.244950074409413e+01 -4.248277298525672e+01 -4.251606309511715e+01 -4.254937109530931e+01 + -4.258269700607782e+01 -4.261604083828603e+01 -4.264940256666174e+01 -4.268278217100897e+01 -4.271617968757233e+01 + -4.274959515039267e+01 -4.278302852825576e+01 -4.281647979114838e+01 -4.284994897911630e+01 -4.288343613339240e+01 + -4.291694122989936e+01 -4.295046423857267e+01 -4.298400517070971e+01 -4.301756404788966e+01 -4.305114089145757e+01 + -4.308473571388112e+01 -4.311834849235274e+01 -4.315197920801049e+01 -4.318562789305037e+01 -4.321929457904871e+01 + -4.325297924404543e+01 -4.328668186207582e+01 -4.332040244469275e+01 -4.335414101381126e+01 -4.338789759527743e+01 + -4.342167220389723e+01 -4.345546480638487e+01 -4.348927537558045e+01 -4.352310395691921e+01 -4.355695059370569e+01 + -4.359081524812669e+01 -4.362469788222823e+01 -4.365859853861065e+01 -4.369251726260594e+01 -4.372645402991838e+01 + -4.376040880917880e+01 -4.379438161035186e+01 -4.382837245512241e+01 -4.386238137072252e+01 -4.389640837367813e+01 + -4.393045343214298e+01 -4.396451651875527e+01 -4.399859767246311e+01 -4.403269693263155e+01 -4.406681427398399e+01 + -4.410094966630350e+01 -4.413510312425358e+01 -4.416927467295284e+01 -4.420346433446015e+01 -4.423767212069691e+01 + -4.427189800609401e+01 -4.430614196966567e+01 -4.434040404624994e+01 -4.437468426893484e+01 -4.440898260798443e+01 + -4.444329903479183e+01 -4.447763358808973e+01 -4.451198630763288e+01 -4.454635716992501e+01 -4.458074614621454e+01 + -4.461515324997958e+01 -4.464957850449220e+01 -4.468402192997090e+01 -4.471848353715485e+01 -4.475296330191956e+01 + -4.478746120505344e+01 -4.482197728186011e+01 -4.485651156648301e+01 -4.489106403390974e+01 -4.492563465506775e+01 + -4.496022344379944e+01 -4.499483042484561e+01 -4.502945562362576e+01 -4.506409905435962e+01 -4.509876068578905e+01 + -4.513344049220396e+01 -4.516813851556444e+01 -4.520285479589762e+01 -4.523758929782897e+01 -4.527234198687941e+01 + -4.530711290755342e+01 -4.534190210524451e+01 -4.537670954991925e+01 -4.541153520580425e+01 -4.544637908959269e+01 + -4.548124122972980e+01 -4.551612164920255e+01 -4.555102035951307e+01 -4.558593733168242e+01 -4.562087254236648e+01 + -4.565582603124118e+01 -4.569079783605451e+01 -4.572578792382265e+01 -4.576079626235065e+01 -4.579582289333027e+01 + -4.583086785976433e+01 -4.586593113601344e+01 -4.590101269036680e+01 -4.593611253546989e+01 -4.597123069530716e+01 + -4.600636719486254e+01 -4.604152204856955e+01 -4.607669522766013e+01 -4.611188670797630e+01 -4.614709652700154e+01 + -4.618232472227299e+01 -4.621757126990104e+01 -4.625283614113306e+01 -4.628811934919114e+01 -4.632342091751210e+01 + -4.635874086841728e+01 -4.639407921460932e+01 -4.642943593143147e+01 -4.646481099859044e+01 -4.650020445060623e+01 + -4.653561632090474e+01 -4.657104658372261e+01 -4.660649521327068e+01 -4.664196224284595e+01 -4.667744770698098e+01 + -4.671295158606459e+01 -4.674847385553061e+01 -4.678401452513644e+01 -4.681957361522331e+01 -4.685515115414413e+01 + -4.689074715945064e+01 -4.692636159747788e+01 -4.696199443933372e+01 -4.699764572643400e+01 -4.703331550121288e+01 + -4.706900373987032e+01 -4.710471041222129e+01 -4.714043552877479e+01 -4.717617911151273e+01 -4.721194118761495e+01 + -4.724772177397794e+01 -4.728352084116666e+01 -4.731933836391387e+01 -4.735517437995513e+01 -4.739102892624472e+01 + -4.742690197360956e+01 -4.746279349304486e+01 -4.749870352234630e+01 -4.753463210070628e+01 -4.757057920610364e+01 + -4.760654481072343e+01 -4.764252892478859e+01 -4.767853156968457e+01 -4.771455277340900e+01 -4.775059255327958e+01 + -4.778665087728216e+01 -4.782272771801416e+01 -4.785882311585065e+01 -4.789493711157514e+01 -4.793106967982698e+01 + -4.796722079021173e+01 -4.800339045834357e+01 -4.803957871014897e+01 -4.807578556679541e+01 -4.811201103905631e+01 + -4.814825510088780e+01 -4.818451773166895e+01 -4.822079896928767e+01 -4.825709884980719e+01 -4.829341734348342e+01 + -4.832975442115909e+01 -4.836611012183125e+01 -4.840248448526336e+01 -4.843887748613056e+01 -4.847528909416636e+01 + -4.851171932442625e+01 -4.854816820273300e+01 -4.858463575265701e+01 -4.862112198691646e+01 -4.865762687707282e+01 + -4.869415040003414e+01 -4.873069259525141e+01 -4.876725350118260e+01 -4.880383308977095e+01 -4.884043132904604e+01 + -4.887704823789731e+01 -4.891368384608068e+01 -4.895033817595851e+01 -4.898701123776245e+01 -4.902370300059485e+01 + -4.906041344002308e+01 -4.909714259860375e+01 -4.913389051725400e+01 -4.917065716334413e+01 -4.920744250429804e+01 + -4.924424658130064e+01 -4.928106943700116e+01 -4.931791104614518e+01 -4.935477137752828e+01 -4.939165044404930e+01 + -4.942854827009338e+01 -4.946546488188807e+01 -4.950240029454247e+01 -4.953935447684974e+01 -4.957632740294361e+01 + -4.961331911463601e+01 -4.965032965315336e+01 -4.968735898970213e+01 -4.972440709120082e+01 -4.976147397743583e+01 + -4.979855967878247e+01 -4.983566421510402e+01 -4.987278759472007e+01 -4.990992979028766e+01 -4.994709078100569e+01 + -4.998427060790318e+01 -5.002146930959274e+01 -5.005868685319148e+01 -5.009592320640078e+01 -5.013317841075434e+01 + -5.017045250915469e+01 -5.020774547614742e+01 -5.024505728017924e+01 -5.028238793365752e+01 -5.031973746104961e+01 + -5.035710589110189e+01 -5.039449324090066e+01 -5.043189947661289e+01 -5.046932456973549e+01 -5.050676856400442e+01 + -5.054423150327239e+01 -5.058171335962052e+01 -5.061921409929316e+01 -5.065673373695915e+01 -5.069427229950105e+01 + -5.073182981423184e+01 -5.076940629607507e+01 -5.080700170996615e+01 -5.084461602753602e+01 -5.088224929718589e+01 + -5.091990156525010e+01 -5.095757279302548e+01 -5.099526294209112e+01 -5.103297206019221e+01 -5.107070019605169e+01 + -5.110844731613729e+01 -5.114621338143406e+01 -5.118399841325091e+01 -5.122180244526444e+01 -5.125962550029841e+01 + -5.129746758802490e+01 -5.133532867636215e+01 -5.137320874011100e+01 -5.141110782335645e+01 -5.144902596945006e+01 + -5.148696314952589e+01 -5.152491932947918e+01 -5.156289452646703e+01 -5.160088876945014e+01 -5.163890208334180e+01 + -5.167693448081514e+01 -5.171498592963017e+01 -5.175305640369855e+01 -5.179114594645165e+01 -5.182925460014935e+01 + -5.186738233284598e+01 -5.190552911234031e+01 -5.194369497961412e+01 -5.198187997663295e+01 -5.202008407611459e+01 + -5.205830724580739e+01 -5.209654950282933e+01 -5.213481087573764e+01 -5.217309138947744e+01 -5.221139105690054e+01 + -5.224970984609732e+01 -5.228804773087789e+01 -5.232640475269200e+01 -5.236478095346914e+01 -5.240317630941821e+01 + -5.244159079031952e+01 -5.248002440595931e+01 -5.251847717885386e+01 -5.255694914243367e+01 -5.259544031823210e+01 + -5.263395066927961e+01 -5.267248016335085e+01 -5.271102884570031e+01 -5.274959676081755e+01 -5.278818387265291e+01 + -5.282679014593192e+01 -5.286541562901994e+01 -5.290406037048660e+01 -5.294272433607927e+01 -5.298140748616263e+01 + -5.302010984239256e+01 -5.305883143892672e+01 -5.309757229863885e+01 -5.313633243133304e+01 -5.317511180581835e+01 + -5.321391039785607e+01 -5.325272825201081e+01 -5.329156541074357e+01 -5.333042183929739e+01 -5.336929750308754e+01 + -5.340819244543594e+01 -5.344710671111962e+01 -5.348604027282968e+01 -5.352499309722418e+01 -5.356396519891433e+01 + -5.360295660504364e+01 -5.364196734493171e+01 -5.368099743556814e+01 -5.372004684244607e+01 -5.375911553606044e+01 + -5.379820355840945e+01 -5.383731095277006e+01 -5.387643769603123e+01 -5.391558375867469e+01 -5.395474915194053e+01 + -5.399393389872404e+01 -5.403313802778240e+01 -5.407236155707715e+01 -5.411160445552515e+01 -5.415086669663323e+01 + -5.419014832131279e+01 -5.422944936941720e+01 -5.426876980916325e+01 -5.430810960961936e+01 -5.434746881489674e+01 + -5.438684746929877e+01 -5.442624554285502e+01 -5.446566300018413e+01 -5.450509985853421e+01 -5.454455614758906e+01 + -5.458403189414573e+01 -5.462352711279953e+01 -5.466304177222543e+01 -5.470257584656953e+01 -5.474212937778257e+01 + -5.478170240720980e+01 -5.482129490597043e+01 -5.486090684084346e+01 -5.490053823147309e+01 -5.494018910890276e+01 + -5.497985949690793e+01 -5.501954940653937e+01 -5.505925880521750e+01 -5.509898766755921e+01 -5.513873604059781e+01 + -5.517850396943321e+01 -5.521829141901578e+01 -5.525809835354192e+01 -5.529792481434151e+01 -5.533777084523449e+01 + -5.537763642286803e+01 -5.541752151714192e+01 -5.545742613813913e+01 -5.549735030880384e+01 -5.553729406334213e+01 + -5.557725742375872e+01 -5.561724035199087e+01 -5.565724281465346e+01 -5.569726485713910e+01 -5.573730652628086e+01 + -5.577736779589668e+01 -5.581744863307357e+01 -5.585754905099014e+01 -5.589766907536871e+01 -5.593780873601526e+01 + -5.597796805069111e+01 -5.601814698489535e+01 -5.605834550959182e+01 -5.609856366986563e+01 -5.613880151023810e+01 + -5.617905899885479e+01 -5.621933610311022e+01 -5.625963286377015e+01 -5.629994932270948e+01 -5.634028545286861e+01 + -5.638064122221132e+01 -5.642101664772899e+01 -5.646141175844968e+01 -5.650182658252075e+01 -5.654226113528433e+01 + -5.658271538174220e+01 -5.662318929319503e+01 -5.666368291647893e+01 -5.670419629786259e+01 -5.674472940580990e+01 + -5.678528220346420e+01 -5.682585471049146e+01 -5.686644695909487e+01 -5.690705897510426e+01 -5.694769077129006e+01 + -5.698834231455854e+01 -5.702901357847642e+01 -5.706970460911611e+01 -5.711041545084194e+01 -5.715114606868026e+01 + -5.719189642778805e+01 -5.723266657318249e+01 -5.727345655110785e+01 -5.731426633285666e+01 -5.735509588339112e+01 + -5.739594521730356e+01 -5.743681436264626e+01 -5.747770335168147e+01 -5.751861220364783e+01 -5.755954088147938e+01 + -5.760048935348805e+01 -5.764145766580183e+01 -5.768244586550730e+01 -5.772345392571002e+01 -5.776448181276131e+01 + -5.780552953997691e+01 -5.784659713354442e+01 -5.788768462417462e+01 -5.792879202998626e+01 -5.796991931420698e+01 + -5.801106644664837e+01 -5.805223347834903e+01 -5.809342045860209e+01 -5.813462734849197e+01 -5.817585410820936e+01 + -5.821710078257841e+01 -5.825836741928538e+01 -5.829965399283203e+01 -5.834096047087346e+01 -5.838228686686274e+01 + -5.842363320676851e+01 -5.846499952082397e+01 -5.850638582715609e+01 -5.854779209120221e+01 -5.858921828442874e+01 + -5.863066445510763e+01 -5.867213065032231e+01 -5.871361683559694e+01 -5.875512297138874e+01 -5.879664907944645e+01 + -5.883819519466417e+01 -5.887976134322624e+01 -5.892134753756825e+01 -5.896295374384051e+01 -5.900457993500612e+01 + -5.904622615756436e+01 -5.908789245663575e+01 -5.912957879828990e+01 -5.917128514850664e+01 -5.921301155195771e+01 + -5.925475805384439e+01 -5.929652462279476e+01 -5.933831122286624e+01 -5.938011787640643e+01 -5.942194461763230e+01 + -5.946379146994821e+01 -5.950565844408734e+01 -5.954754551091072e+01 -5.958945264733813e+01 -5.963137989439624e+01 + -5.967332729249499e+01 -5.971529481547052e+01 -5.975728243227523e+01 -5.979929015889982e+01 -5.984131802305070e+01 + -5.988336605225896e+01 -5.992543426246962e+01 -5.996752262345901e+01 -6.000963111046766e+01 -6.005175976676178e+01 + -6.009390863383608e+01 -6.013607767807394e+01 -6.017826686618813e+01 -6.022047624132026e+01 -6.026270584835797e+01 + -6.030495566274465e+01 -6.034722565381767e+01 -6.038951583593452e+01 -6.043182623512069e+01 -6.047415687905394e+01 + -6.051650778421003e+01 -6.055887892060463e+01 -6.060127026325783e+01 -6.064368185366749e+01 -6.068611373308907e+01 + -6.072856587533070e+01 -6.077103824887340e+01 -6.081353086833690e+01 -6.085604376132918e+01 -6.089857696127247e+01 + -6.094113048823596e+01 -6.098370430306234e+01 -6.102629837247437e+01 -6.106891274594116e+01 -6.111154747264118e+01 + -6.115420251784390e+01 -6.119687784580902e+01 -6.123957350066591e+01 -6.128228952841628e+01 -6.132502590268162e+01 + -6.136778259056138e+01 -6.141055960544676e+01 -6.145335697380811e+01 -6.149617472814099e+01 -6.153901288864162e+01 + -6.158187142028389e+01 -6.162475029314290e+01 -6.166764955292113e+01 -6.171056924466600e+01 -6.175350933517737e+01 + -6.179646979123154e+01 -6.183945065775757e+01 -6.188245198047678e+01 -6.192547373012725e+01 -6.196851587175868e+01 + -6.201157842265037e+01 -6.205466141333163e+01 -6.209776487510229e+01 -6.214088882566958e+01 -6.218403322759970e+01 + -6.222719804958889e+01 -6.227038333999444e+01 -6.231358914752139e+01 -6.235681544260558e+01 -6.240006218936849e+01 + -6.244332940494305e+01 -6.248661712010740e+01 -6.252992536720910e+01 -6.257325416420860e+01 -6.261660346994837e+01 + -6.265997325077347e+01 -6.270336356215701e+01 -6.274677445777788e+01 -6.279020589501037e+01 -6.283365783085999e+01 + -6.287713031716163e+01 -6.292062340781234e+01 -6.296413707012920e+01 -6.300767126475596e+01 -6.305122601222295e+01 + -6.309480134635203e+01 -6.313839729424505e+01 -6.318201386936521e+01 -6.322565103734121e+01 -6.326930877093868e+01 + -6.331298711930568e+01 -6.335668613058504e+01 -6.340040577251647e+01 -6.344414600718050e+01 -6.348790685442323e+01 + -6.353168834759008e+01 -6.357549051625812e+01 -6.361931337593239e+01 -6.366315688959789e+01 -6.370702102749119e+01 + -6.375090584137499e+01 -6.379481138078580e+01 -6.383873760482961e+01 -6.388268447297220e+01 -6.392665203654889e+01 + -6.397064034897519e+01 -6.401464938011861e+01 -6.405867909237229e+01 -6.410272950177993e+01 -6.414680063823367e+01 + -6.419089253336912e+01 -6.423500520539493e+01 -6.427913861706836e+01 -6.432329273774181e+01 -6.436746761859949e+01 + -6.441166331065573e+01 -6.445587978241413e+01 -6.450011699516882e+01 -6.454437496388719e+01 -6.458865371852110e+01 + -6.463295329528786e+01 -6.467727371608086e+01 -6.472161493923234e+01 -6.476597692945877e+01 -6.481035974057480e+01 + -6.485476342551981e+01 -6.489918794463497e+01 -6.494363325783405e+01 -6.498809941591921e+01 -6.503258647107099e+01 + -6.507709439009531e+01 -6.512162313341831e+01 -6.516617272132122e+01 -6.521074318787740e+01 -6.525533456247440e+01 + -6.529994686059398e+01 -6.534458004678092e+01 -6.538923409250538e+01 -6.543390904787570e+01 -6.547860496211884e+01 + -6.552332180229843e+01 -6.556805952953434e+01 -6.561281816333469e+01 -6.565759773746066e+01 -6.570239828429803e+01 + -6.574721982146080e+01 -6.579206230885156e+01 -6.583692571363754e+01 -6.588181008975629e+01 -6.592671548982709e+01 + -6.597164187442638e+01 -6.601658920334479e+01 -6.606155752527242e+01 -6.610654689090467e+01 -6.615155727005924e+01 + -6.619658862652422e+01 -6.624164098084657e+01 -6.628671436645676e+01 -6.633180881156068e+01 -6.637692433038681e+01 + -6.642206088647883e+01 -6.646721845110714e+01 -6.651239707713407e+01 -6.655759681603797e+01 -6.660281763216933e+01 + -6.664805948389387e+01 -6.669332239276561e+01 -6.673860639512726e+01 -6.678391152328841e+01 -6.682923779433044e+01 + -6.687458516845543e+01 -6.691995361277515e+01 -6.696534317891920e+01 -6.701075391795754e+01 -6.705618579420361e+01 + -6.710163877100581e+01 -6.714711289460833e+01 -6.719260821321966e+01 -6.723812470001026e+01 -6.728366232121398e+01 + -6.732922109035582e+01 -6.737480103488133e+01 -6.742040219062761e+01 -6.746602458035952e+01 -6.751166816616187e+01 + -6.755733291529161e+01 -6.760301887637438e+01 -6.764872609859751e+01 -6.769445455202660e+01 -6.774020420051386e+01 + -6.778597506217976e+01 -6.783176716876942e+01 -6.787758055225885e+01 -6.792341523092826e+01 -6.796927116804379e+01 + -6.801514833341810e+01 -6.806104677806347e+01 -6.810696655123587e+01 -6.815290761396663e+01 -6.819886992772128e+01 + -6.824485354392678e+01 -6.829085851532395e+01 -6.833688480994840e+01 -6.838293238885097e+01 -6.842900126984890e+01 + -6.847509148538957e+01 -6.852120306967514e+01 -6.856733604269469e+01 -6.861349036583006e+01 -6.865966600658993e+01 + -6.870586301559659e+01 -6.875208144399036e+01 -6.879832126187024e+01 -6.884458243234171e+01 -6.889086497157696e+01 + -6.893716890990422e+01 -6.898349428120915e+01 -6.902984110598732e+01 -6.907620934761650e+01 -6.912259897511596e+01 + -6.916901003718877e+01 -6.921544258172949e+01 -6.926189657371528e+01 -6.930837197817074e+01 -6.935486884322755e+01 + -6.940138721768092e+01 -6.944792706987337e+01 -6.949448836290087e+01 -6.954107111932564e+01 -6.958767537490402e+01 + -6.963430115870300e+01 -6.968094848498497e+01 -6.972761731548312e+01 -6.977430762020695e+01 -6.982101945480034e+01 + -6.986775287255249e+01 -6.991450783170005e+01 -6.996128429032680e+01 -7.000808230095708e+01 -7.005490191787665e+01 + -7.010174310797666e+01 -7.014860583121035e+01 -7.019549010717337e+01 -7.024239597049470e+01 -7.028932345629492e+01 + -7.033627258446040e+01 -7.038324331344937e+01 -7.043023560838913e+01 -7.047724952251053e+01 -7.052428510987777e+01 + -7.057134233978515e+01 -7.061842117397924e+01 -7.066552162878578e+01 -7.071264373512433e+01 -7.075978752771100e+01 + -7.080695302731498e+01 -7.085414019512091e+01 -7.090134899910394e+01 -7.094857949398551e+01 -7.099583173235354e+01 + -7.104310567151599e+01 -7.109040126922885e+01 -7.113771858031990e+01 -7.118505766125368e+01 -7.123241847797109e+01 + -7.127980098937178e+01 -7.132720521671429e+01 -7.137463119544236e+01 -7.142207895538176e+01 -7.146954851252747e+01 + -7.151703983316882e+01 -7.156455289009196e+01 -7.161208773177542e+01 -7.165964440570248e+01 -7.170722287968356e+01 + -7.175482311646741e+01 -7.180244513822917e+01 -7.185008898098621e+01 -7.189775467669884e+01 -7.194544224180910e+01 + -7.199315163474331e+01 -7.204088282234626e+01 -7.208863586315185e+01 -7.213641081375658e+01 -7.218420763131780e+01 + -7.223202627227879e+01 -7.227986678966526e+01 -7.232772923884254e+01 -7.237561358795277e+01 -7.242351979769759e+01 + -7.247144788623903e+01 -7.251939788668284e+01 -7.256736983444897e+01 -7.261536375015235e+01 -7.266337959287341e+01 + -7.271141732841731e+01 -7.275947701102203e+01 -7.280755869538000e+01 -7.285566234956853e+01 -7.290378793432680e+01 + -7.295193546765573e+01 -7.300010498266862e+01 -7.304829651566631e+01 -7.309651008753943e+01 -7.314474565435016e+01 + -7.319300317971540e+01 -7.324128272229925e+01 -7.328958433981238e+01 -7.333790799110540e+01 -7.338625363374130e+01 + -7.343462131899291e+01 -7.348301110053259e+01 -7.353142294792167e+01 -7.357985682361442e+01 -7.362831274574745e+01 + -7.367679074711965e+01 -7.372529086349638e+01 -7.377381311579366e+01 -7.382235746256312e+01 -7.387092386912651e+01 + -7.391951239025020e+01 -7.396812308115555e+01 -7.401675590943988e+01 -7.406541083531380e+01 -7.411408787706513e+01 + -7.416278706814910e+01 -7.421150844461324e+01 -7.426025202733783e+01 -7.430901777394124e+01 -7.435780564940528e+01 + -7.440661571142732e+01 -7.445544801616209e+01 -7.450430252087864e+01 -7.455317918285648e+01 -7.460207805830268e+01 + -7.465099920497126e+01 -7.469994258787753e+01 -7.474890816454140e+01 -7.479789595523943e+01 -7.484690599592756e+01 + -7.489593832252380e+01 -7.494499295533201e+01 -7.499406985223764e+01 -7.504316897827101e+01 -7.509229038945979e+01 + -7.514143414169166e+01 -7.519060019929748e+01 -7.523978851997632e+01 -7.528899912645726e+01 -7.533823205657275e+01 + -7.538748734353926e+01 -7.543676500532445e+01 -7.548606500351643e+01 -7.553538730703876e+01 -7.558473197053598e+01 + -7.563409904619321e+01 -7.568348849063742e+01 -7.573290026170078e+01 -7.578233441759443e+01 -7.583179101796470e+01 + -7.588127002782028e+01 -7.593077140392674e+01 -7.598029516471465e+01 -7.602984134475692e+01 -7.607940998153097e+01 + -7.612900109746634e+01 -7.617861465189691e+01 -7.622825061065345e+01 -7.627790902865043e+01 -7.632758996032740e+01 + -7.637729336914126e+01 -7.642701921265419e+01 -7.647676751583191e+01 -7.652653831849052e+01 -7.657633165244424e+01 + -7.662614753370475e+01 -7.667598592307560e+01 -7.672584678949215e+01 -7.677573018962489e+01 -7.682563617769370e+01 + -7.687556471038147e+01 -7.692551574474433e+01 -7.697548933686781e+01 -7.702548554509247e+01 -7.707550433774978e+01 + -7.712554567498073e+01 -7.717560957417300e+01 -7.722569606768573e+01 -7.727580519051753e+01 -7.732593696392289e+01 + -7.737609135154067e+01 -7.742626832278943e+01 -7.747646792782194e+01 -7.752669021677298e+01 -7.757693515897095e+01 + -7.762720271798948e+01 -7.767749291518889e+01 -7.772780578562232e+01 -7.777814136132783e+01 -7.782849965970544e+01 + -7.787888064261847e+01 -7.792928427988689e+01 -7.797971062869398e+01 -7.803015974345008e+01 -7.808063158011076e+01 + -7.813112609521906e+01 -7.818164334612277e+01 -7.823218339188995e+01 -7.828274619766600e+01 -7.833333172107952e+01 + -7.838393998361434e+01 -7.843457102192369e+01 -7.848522486948340e+01 -7.853590154498607e+01 -7.858660101116894e+01 + -7.863732323758104e+01 -7.868806827697425e+01 -7.873883618163512e+01 -7.878962691878654e+01 -7.884044044940295e+01 + -7.889127679452803e+01 -7.894213598992800e+01 -7.899301807018992e+01 -7.904392305456564e+01 -7.909485090214494e+01 + -7.914580158005610e+01 -7.919677514774288e+01 -7.924777166238927e+01 -7.929879107982515e+01 -7.934983335558289e+01 + -7.940089854535901e+01 -7.945198670709752e+01 -7.950309780756868e+01 -7.955423180605224e+01 -7.960538872303847e+01 + -7.965656859466247e+01 -7.970777145842827e+01 -7.975899733555858e+01 -7.981024618078136e+01 -7.986151795697417e+01 + -7.991281272610696e+01 -7.996413054847572e+01 -8.001547137858779e+01 -8.006683517069925e+01 -8.011822198384908e+01 + -8.016963187855384e+01 -8.022106481645797e+01 -8.027252075224854e+01 -8.032399971165485e+01 -8.037550173585385e+01 + -8.042702685677139e+01 -8.047857509055929e+01 -8.053014639952434e+01 -8.058174075328817e+01 -8.063335820457638e+01 + -8.068499880610621e+01 -8.073666252745771e+01 -8.078834933088126e+01 -8.084005923244513e+01 -8.089179226408041e+01 + -8.094354846735196e+01 -8.099532786819320e+01 -8.104713042037783e+01 -8.109895608507813e+01 -8.115080492521992e+01 + -8.120267700205356e+01 -8.125457226837462e+01 -8.130649067623317e+01 -8.135843228315183e+01 -8.141039715010918e+01 + -8.146238524643556e+01 -8.151439653208425e+01 -8.156643102114791e+01 -8.161848874447259e+01 -8.167056974577932e+01 + -8.172267405314662e+01 -8.177480161920819e+01 -8.182695240289546e+01 -8.187912646377457e+01 -8.193132386298609e+01 + -8.198354456733288e+01 -8.203578853472443e+01 -8.208805578183410e+01 -8.214034634197473e+01 -8.219266025625411e+01 + -8.224499755029157e+01 -8.229735817995817e+01 -8.234974210798764e+01 -8.240214939431286e+01 -8.245458009683706e+01 + -8.250703416814667e+01 -8.255951156203467e+01 -8.261201234243612e+01 -8.266453657428882e+01 -8.271708421639993e+01 + -8.276965521981012e+01 -8.282224961062391e+01 -8.287486743131451e+01 -8.292750871476633e+01 -8.298017347733835e+01 + -8.303286167887651e+01 -8.308557328775250e+01 -8.313830836295337e+01 -8.319106696215761e+01 -8.324384904719405e+01 + -8.329665457280116e+01 -8.334948356120523e+01 -8.340233605179664e+01 -8.345521208513452e+01 -8.350811168407860e+01 + -8.356103479952203e+01 -8.361398139085040e+01 -8.366695152338559e+01 -8.371994526125894e+01 -8.377296255790387e+01 + -8.382600336547402e+01 -8.387906774170159e+01 -8.393215574692768e+01 -8.398526734635097e+01 -8.403840249721476e+01 + -8.409156122008268e+01 -8.414474355213920e+01 -8.419794953373223e+01 -8.425117918830632e+01 -8.430443246852916e+01 + -8.435770933516140e+01 -8.441100985211256e+01 -8.446433408298962e+01 -8.451768198704093e+01 -8.457105351533237e+01 + -8.462444869055821e+01 -8.467786755329161e+01 -8.473131014399300e+01 -8.478477648534972e+01 -8.483826652906932e+01 + -8.489178023573824e+01 -8.494531767243778e+01 -8.499887890373510e+01 -8.505246387764603e+01 -8.510607254206460e+01 + -8.515970496094809e+01 -8.521336120130535e+01 -8.526704122628841e+01 -8.532074498941530e+01 -8.537447250952404e+01 + -8.542822382319736e+01 -8.548199897267675e+01 -8.553579798342942e+01 -8.558962080816578e+01 -8.564346740685433e+01 + -8.569733784125194e+01 -8.575123217367282e+01 -8.580515036687339e+01 -8.585909237532205e+01 -8.591305821989287e+01 + -8.596704793875205e+01 -8.602106157282915e+01 -8.607509914567974e+01 -8.612916060859980e+01 -8.618324592155754e+01 + -8.623735515146925e+01 -8.629148836331387e+01 -8.634564550737286e+01 -8.639982653295500e+01 -8.645403150017543e+01 + -8.650826047252751e+01 -8.656251341621210e+01 -8.661679028858919e+01 -8.667109110894766e+01 -8.672541591317201e+01 + -8.677976474159972e+01 -8.683413761829634e+01 -8.688853449778628e+01 -8.694295534179228e+01 -8.699740021037117e+01 + -8.705186916402354e+01 -8.710636216669133e+01 -8.716087917454270e+01 -8.721542020920894e+01 -8.726998530877070e+01 + -8.732457451164281e+01 -8.737918783967393e+01 -8.743382524811331e+01 -8.748848670054353e+01 -8.754317226047976e+01 + -8.759788198894785e+01 -8.765261583708421e+01 -8.770737375634857e+01 -8.776215580938322e+01 -8.781696206132678e+01 + -8.787179247612183e+01 -8.792664700860111e+01 -8.798152567835336e+01 -8.803642852212045e+01 -8.809135558050070e+01 + -8.814630687756171e+01 -8.820128236739042e+01 -8.825628201129771e+01 -8.831130586947003e+01 -8.836635400284558e+01 + -8.842142637649435e+01 -8.847652294770472e+01 -8.853164373850628e+01 -8.858678878695027e+01 -8.864195813043362e+01 + -8.869715178945941e+01 -8.875236971760948e+01 -8.880761187808301e+01 -8.886287833946902e+01 -8.891816916696094e+01 + -8.897348430677987e+01 -8.902882370531137e+01 -8.908418742857141e+01 -8.913957554536425e+01 -8.919498801601753e+01 + -8.925042479199006e+01 -8.930588589774098e+01 -8.936137137472512e+01 -8.941688125937962e+01 -8.947241557120560e+01 + -8.952797426697802e+01 -8.958355731201681e+01 -8.963916476854843e+01 -8.969479669732335e+01 -8.975045305628245e+01 + -8.980613379692392e+01 -8.986183894778455e+01 -8.991756855389235e+01 -8.997332264920152e+01 -9.002910125051302e+01 + -9.008490431708829e+01 -9.014073181666647e+01 -9.019658380843681e+01 -9.025246034941333e+01 -9.030836139645970e+01 + -9.036428690661128e+01 -9.042023693773967e+01 -9.047621154925669e+01 -9.053221070589892e+01 -9.058823436476921e+01 + -9.064428254711031e+01 -9.070035529106499e+01 -9.075645263823618e+01 -9.081257461289793e+01 -9.086872116654884e+01 + -9.092489225918972e+01 -9.098108795760594e+01 -9.103730832657459e+01 -9.109355331605536e+01 -9.114982287548730e+01 + -9.120611706704364e+01 -9.126243595579022e+01 -9.131877950563008e+01 -9.137514767186437e+01 -9.143154047654943e+01 + -9.148795795857168e+01 -9.154440015738282e+01 -9.160086709537343e+01 -9.165735872612346e+01 -9.171387501169491e+01 + -9.177041601688784e+01 -9.182698180564800e+01 -9.188357233576582e+01 -9.194018755741556e+01 -9.199682749646104e+01 + -9.205349219658670e+01 -9.211018169707003e+01 -9.216689601912306e+01 -9.222363511610273e+01 -9.228039895018067e+01 + -9.233718758664240e+01 -9.239400108840672e+01 -9.245083940581294e+01 -9.250770248979978e+01 -9.256459040628322e+01 + -9.262150322244982e+01 -9.267844089559186e+01 -9.273540337476760e+01 -9.279239068599267e+01 -9.284940287335907e+01 + -9.290643997630693e+01 -9.296350201607783e+01 -9.302058894577094e+01 -9.307770072730455e+01 -9.313483742601555e+01 + -9.319199910633068e+01 -9.324918572561810e+01 -9.330639723351504e+01 -9.336363365579297e+01 -9.342089503640302e+01 + -9.347818141588093e+01 -9.353549281584256e+01 -9.359282918563940e+01 -9.365019048477910e+01 -9.370757678565749e+01 + -9.376498815769901e+01 -9.382242454555492e+01 -9.387988589305337e+01 -9.393737226550313e+01 -9.399488373202897e+01 + -9.405242025553964e+01 -9.410998178945039e+01 -9.416756835541781e+01 -9.422517999301114e+01 -9.428281674520871e+01 + -9.434047863667399e+01 -9.439816561540189e+01 -9.445587763836596e+01 -9.451361477512259e+01 -9.457137709520302e+01 + -9.462916455545547e+01 -9.468697710379740e+01 -9.474481476510589e+01 -9.480267758244509e+01 -9.486056559466863e+01 + -9.491847882335075e+01 -9.497641722515867e+01 -9.503438076487508e+01 -9.509236950465109e+01 -9.515038350409563e+01 + -9.520842271528107e+01 -9.526648709103007e+01 -9.532457669470300e+01 -9.538269159175374e+01 -9.544083174547335e+01 + -9.549899710997526e+01 -9.555718770482461e+01 -9.561540356780063e+01 -9.567364474408794e+01 -9.573191126075703e+01 + -9.579020306501620e+01 -9.584852011272490e+01 -9.590686247420874e+01 -9.596523021978578e+01 -9.602362330527772e+01 + -9.608204167783254e+01 -9.614048536439948e+01 -9.619895441016116e+01 -9.625744885343293e+01 -9.631596871403326e+01 + -9.637451394466026e+01 -9.643308450797647e+01 -9.649168047362274e+01 -9.655030190767742e+01 -9.660894875499127e+01 + -9.666762096089710e+01 -9.672631859388268e+01 -9.678504172537357e+01 -9.684379031539257e+01 -9.690256431417546e+01 + -9.696136374421286e+01 -9.702018864639355e+01 -9.707903906294442e+01 -9.713791501832830e+01 -9.719681646461351e+01 + -9.725574336170810e+01 -9.731469577327378e+01 -9.737367376351882e+01 -9.743267729508464e+01 -9.749170632178308e+01 + -9.755076086367355e+01 -9.760984095895955e+01 -9.766894665217343e+01 -9.772807797034233e+01 -9.778723486414395e+01 + -9.784641729236439e+01 -9.790562532257231e+01 -9.796485902036660e+01 -9.802411833468516e+01 -9.808340321418262e+01 + -9.814271372304191e+01 -9.820204992860188e+01 -9.826141179529722e+01 -9.832079927766843e+01 -9.838021239358226e+01 + -9.843965117935535e+01 -9.849911568177785e+01 -9.855860593025675e+01 -9.861812187419362e+01 -9.867766347002308e+01 + -9.873723078231735e+01 -9.879682387670165e+01 -9.885644271487612e+01 -9.891608724974174e+01 -9.897575750292785e+01 + -9.903545351466867e+01 -9.909517533088989e+01 -9.915492297862031e+01 -9.921469640360959e+01 -9.927449556058966e+01 + -9.933432052149955e+01 -9.939417135686639e+01 -9.945404801436261e+01 -9.951395044077229e+01 -9.957387870218038e+01 + -9.963383286719130e+01 -9.969381289518709e+01 -9.975381873630593e+01 -9.981385041293248e+01 -9.987390796877466e+01 + -9.993399146058783e+01 -9.999410091983435e+01 -1.000542362637563e+02 -1.001143974249114e+02 -1.001745845113392e+02 + -1.002347976270743e+02 -1.002950366846517e+02 -1.003553015922550e+02 -1.004155924321621e+02 -1.004759093011103e+02 + -1.005362521795820e+02 -1.005966210292817e+02 -1.006570158530568e+02 -1.007174366671700e+02 -1.007778835004040e+02 + -1.008383563749385e+02 -1.008988552740233e+02 -1.009593801813489e+02 -1.010199311212978e+02 -1.010805081231472e+02 + -1.011411111950619e+02 -1.012017403376325e+02 -1.012623955422635e+02 -1.013230768099676e+02 -1.013837841893743e+02 + -1.014445177207514e+02 -1.015052773633014e+02 -1.015660630775449e+02 -1.016268749103392e+02 -1.016877129150088e+02 + -1.017485770844115e+02 -1.018094673966629e+02 -1.018703838313761e+02 -1.019313263923028e+02 -1.019922951782496e+02 + -1.020532902664119e+02 -1.021143115524854e+02 -1.021753589342455e+02 -1.022364324992857e+02 -1.022975323519374e+02 + -1.023586584736673e+02 -1.024198108268543e+02 -1.024809894203941e+02 -1.025421942728475e+02 -1.026034253949216e+02 + -1.026646827901934e+02 -1.027259664415750e+02 -1.027872763473731e+02 -1.028486125881369e+02 -1.029099752254547e+02 + -1.029713641628286e+02 -1.030327793161952e+02 -1.030942208093169e+02 -1.031556887637190e+02 -1.032171830841550e+02 + -1.032787036718354e+02 -1.033402506305696e+02 -1.034018240681317e+02 -1.034634239055545e+02 -1.035250500515010e+02 + -1.035867025518952e+02 -1.036483814821213e+02 -1.037100868981441e+02 -1.037718188237329e+02 -1.038335771732939e+02 + -1.038953618747522e+02 -1.039571730194689e+02 -1.040190107055651e+02 -1.040808748947658e+02 -1.041427655331822e+02 + -1.042046826408667e+02 -1.042666262524425e+02 -1.043285963868752e+02 -1.043905930564436e+02 -1.044526162623378e+02 + -1.045146660069125e+02 -1.045767423082721e+02 -1.046388451777543e+02 -1.047009745838822e+02 -1.047631305085241e+02 + -1.048253130297424e+02 -1.048875222165416e+02 -1.049497580055002e+02 -1.050120203310284e+02 -1.050743092512860e+02 + -1.051366248384456e+02 -1.051989670969791e+02 -1.052613360137520e+02 -1.053237315729033e+02 -1.053861537661844e+02 + -1.054486026185219e+02 -1.055110781583045e+02 -1.055735803945944e+02 -1.056361093274371e+02 -1.056986649401382e+02 + -1.057612472323176e+02 -1.058238562855892e+02 -1.058864921618116e+02 -1.059491547618286e+02 -1.060118440001799e+02 + -1.060745600072047e+02 -1.061373029070868e+02 -1.062000725835928e+02 -1.062628689188559e+02 -1.063256920288941e+02 + -1.063885420424685e+02 -1.064514189054312e+02 -1.065143225392365e+02 -1.065772529506575e+02 -1.066402101774261e+02 + -1.067031942957903e+02 -1.067662053568374e+02 -1.068292432724951e+02 -1.068923079625714e+02 -1.069553995175528e+02 + -1.070185180380394e+02 -1.070816634944072e+02 -1.071448358336418e+02 -1.072080350393896e+02 -1.072712611247882e+02 + -1.073345141842783e+02 -1.073977942922143e+02 -1.074611013613008e+02 -1.075244353055826e+02 -1.075877962061142e+02 + -1.076511841502191e+02 -1.077145990832866e+02 -1.077780409492339e+02 -1.078415098280245e+02 -1.079050057992970e+02 + -1.079685288053471e+02 -1.080320787786834e+02 -1.080956557500093e+02 -1.081592597729443e+02 -1.082228908945775e+02 + -1.082865491424036e+02 -1.083502344720692e+02 -1.084139468448718e+02 -1.084776863165616e+02 -1.085414529440200e+02 + -1.086052466942038e+02 -1.086690675238350e+02 -1.087329154386204e+02 -1.087967904674474e+02 -1.088606926829425e+02 + -1.089246221377382e+02 -1.089885787607543e+02 -1.090525624876805e+02 -1.091165734050004e+02 -1.091806115963225e+02 + -1.092446769829633e+02 -1.093087694909110e+02 -1.093728892271333e+02 -1.094370362953419e+02 -1.095012106052476e+02 + -1.095654120623545e+02 -1.096296407493415e+02 -1.096938967647426e+02 -1.097581800933404e+02 -1.098224906984946e+02 + -1.098868285716250e+02 -1.099511937236656e+02 -1.100155862155477e+02 -1.100800060933800e+02 -1.101444532939841e+02 + -1.102089277564002e+02 -1.102734295378303e+02 -1.103379587096266e+02 -1.104025152815812e+02 -1.104670992426730e+02 + -1.105317105601886e+02 -1.105963492199813e+02 -1.106610153038629e+02 -1.107257088820756e+02 -1.107904298826226e+02 + -1.108551782361634e+02 -1.109199540262203e+02 -1.109847573373186e+02 -1.110495881051325e+02 -1.111144462586115e+02 + -1.111793318486534e+02 -1.112442449476576e+02 -1.113091855920787e+02 -1.113741537899001e+02 -1.114391494711626e+02 + -1.115041725824562e+02 -1.115692232145109e+02 -1.116343014623147e+02 -1.116994072937479e+02 -1.117645406555522e+02 + -1.118297015370191e+02 -1.118948899532702e+02 -1.119601059801944e+02 -1.120253496750247e+02 -1.120906209596036e+02 + -1.121559197660155e+02 -1.122212462027017e+02 -1.122866003728487e+02 -1.123519821822644e+02 -1.124173915349786e+02 + -1.124828285252852e+02 -1.125482932599049e+02 -1.126137857050017e+02 -1.126793058037530e+02 -1.127448535479451e+02 + -1.128104289543148e+02 -1.128760320907921e+02 -1.129416630123176e+02 -1.130073216706816e+02 -1.130730080183262e+02 + -1.131387221134510e+02 -1.132044640167948e+02 -1.132702336934948e+02 -1.133360310978225e+02 -1.134018562361866e+02 + -1.134677091387784e+02 -1.135335898787815e+02 -1.135994985091588e+02 -1.136654349589990e+02 -1.137313991629182e+02 + -1.137973912015162e+02 -1.138634111582333e+02 -1.139294589818884e+02 -1.139955346168527e+02 -1.140616381243277e+02 + -1.141277695680233e+02 -1.141939289048548e+02 -1.142601160860919e+02 -1.143263311472162e+02 -1.143925741390390e+02 + -1.144588450894802e+02 -1.145251440101338e+02 -1.145914708701818e+02 -1.146578256494022e+02 -1.147242084123678e+02 + -1.147906192149256e+02 -1.148570579932248e+02 -1.149235246826633e+02 -1.149900193353325e+02 -1.150565420227369e+02 + -1.151230927773426e+02 -1.151896716067799e+02 -1.152562784583746e+02 -1.153229132947855e+02 -1.153895762003063e+02 + -1.154562672526404e+02 -1.155229863814943e+02 -1.155897335150450e+02 -1.156565087233475e+02 -1.157233120892246e+02 + -1.157901436046917e+02 -1.158570032371645e+02 -1.159238909464663e+02 -1.159908067231330e+02 -1.160577506881430e+02 + -1.161247229415995e+02 -1.161917233696630e+02 -1.162587518588770e+02 -1.163258085112608e+02 -1.163928934406831e+02 + -1.164600065929374e+02 -1.165271479034755e+02 -1.165943174344564e+02 -1.166615152526160e+02 -1.167287413162901e+02 + -1.167959955757904e+02 -1.168632780577301e+02 -1.169305888112216e+02 -1.169979278990717e+02 -1.170652953548001e+02 + -1.171326910810820e+02 -1.172001149975291e+02 -1.172675672223445e+02 -1.173350478778825e+02 -1.174025569045121e+02 + -1.174700942215011e+02 -1.175376598456954e+02 -1.176052538191002e+02 -1.176728761867799e+02 -1.177405269796691e+02 + -1.178082061691247e+02 -1.178759137299273e+02 -1.179436497101298e+02 -1.180114141509050e+02 -1.180792069926326e+02 + -1.181470281872303e+02 -1.182148778335583e+02 -1.182827560287664e+02 -1.183506627162192e+02 -1.184185978220269e+02 + -1.184865613570652e+02 -1.185545533602401e+02 -1.186225738978121e+02 -1.186906230193939e+02 -1.187587006806511e+02 + -1.188268068350639e+02 -1.188949415213182e+02 -1.189631047837780e+02 -1.190312966043158e+02 -1.190995169567162e+02 + -1.191677658449030e+02 -1.192360432941998e+02 -1.193043493853908e+02 -1.193726841751893e+02 -1.194410475685670e+02 + -1.195094394794060e+02 -1.195778600089746e+02 -1.196463092648311e+02 -1.197147871923100e+02 -1.197832937276135e+02 + -1.198518289326376e+02 -1.199203928745778e+02 -1.199889855161324e+02 -1.200576068078755e+02 -1.201262567563797e+02 + -1.201949353935382e+02 -1.202636427965272e+02 -1.203323790196208e+02 -1.204011439802014e+02 -1.204699376081542e+02 + -1.205387600202684e+02 -1.206076113241917e+02 -1.206764914041025e+02 -1.207454001431820e+02 -1.208143376440890e+02 + -1.208833040296615e+02 -1.209522992839752e+02 -1.210213233653680e+02 -1.210903762679893e+02 -1.211594580022500e+02 + -1.212285686077949e+02 -1.212977081155049e+02 -1.213668764919694e+02 -1.214360737100132e+02 -1.215052998316942e+02 + -1.215745549154533e+02 -1.216438389160294e+02 -1.217131517838345e+02 -1.217824935556734e+02 -1.218518642837182e+02 + -1.219212639952166e+02 -1.219906927020717e+02 -1.220601503797327e+02 -1.221296370078328e+02 -1.221991526191948e+02 + -1.222686972509000e+02 -1.223382709038720e+02 -1.224078735702578e+02 -1.224775052432531e+02 -1.225471659287695e+02 + -1.226168556825330e+02 -1.226865745477072e+02 -1.227563224673916e+02 -1.228260993926653e+02 -1.228959054065903e+02 + -1.229657405910973e+02 -1.230356048916106e+02 -1.231054982500379e+02 -1.231754207307278e+02 -1.232453724007864e+02 + -1.233153532159101e+02 -1.233853631242201e+02 -1.234554021549459e+02 -1.235254703591199e+02 -1.235955677938801e+02 + -1.236656944915691e+02 -1.237358503792446e+02 -1.238060353939673e+02 -1.238762496180971e+02 -1.239464931371069e+02 + -1.240167659036240e+02 -1.240870678602586e+02 -1.241573990423949e+02 -1.242277595040581e+02 -1.242981492810638e+02 + -1.243685683872523e+02 -1.244390167667736e+02 -1.245094943779347e+02 -1.245800013053605e+02 -1.246505376299316e+02 + -1.247211032912332e+02 -1.247916982296097e+02 -1.248623225297382e+02 -1.249329762770640e+02 -1.250036594157741e+02 + -1.250743718736609e+02 -1.251451136541969e+02 -1.252158847947410e+02 -1.252866853925174e+02 -1.253575155184925e+02 + -1.254283750787370e+02 -1.254992639825418e+02 -1.255701823169751e+02 -1.256411301759969e+02 -1.257121075033584e+02 + -1.257831142369608e+02 -1.258541504415142e+02 -1.259252161922362e+02 -1.259963114795672e+02 -1.260674362758903e+02 + -1.261385905661348e+02 -1.262097743537985e+02 -1.262809877041053e+02 -1.263522306696565e+02 -1.264235031908370e+02 + -1.264948052148923e+02 -1.265661368287249e+02 -1.266374981169807e+02 -1.267088890156212e+02 -1.267803094502130e+02 + -1.268517594534262e+02 -1.269232390831601e+02 -1.269947483911282e+02 -1.270662874069690e+02 -1.271378560782095e+02 + -1.272094543594662e+02 -1.272810823158284e+02 -1.273527400123002e+02 -1.274244274030747e+02 -1.274961444355319e+02 + -1.275678911406106e+02 -1.276396675704015e+02 -1.277114737780431e+02 -1.277833097950603e+02 -1.278551755654751e+02 + -1.279270710424012e+02 -1.279989963028243e+02 -1.280709514152536e+02 -1.281429362904217e+02 -1.282149508513121e+02 + -1.282869952276877e+02 -1.283590695463467e+02 -1.284311737154509e+02 -1.285033076302067e+02 -1.285754713526335e+02 + -1.286476649682441e+02 -1.287198884897120e+02 -1.287921419051992e+02 -1.288644251776617e+02 -1.289367382880697e+02 + -1.290090813146567e+02 -1.290814543319980e+02 -1.291538573027727e+02 -1.292262901737162e+02 -1.292987529396840e+02 + -1.293712456190937e+02 -1.294437682764910e+02 -1.295163209673579e+02 -1.295889036647941e+02 -1.296615163353197e+02 + -1.297341590015173e+02 -1.298068316903185e+02 -1.298795343899871e+02 -1.299522670904091e+02 -1.300250298266263e+02 + -1.300978226354063e+02 -1.301706455152632e+02 -1.302434984561237e+02 -1.303163814518184e+02 -1.303892945098205e+02 + -1.304622376882688e+02 -1.305352110313897e+02 -1.306082144770936e+02 -1.306812479731976e+02 -1.307543116134598e+02 + -1.308274054850011e+02 -1.309005295024521e+02 -1.309736835845235e+02 -1.310468678387340e+02 -1.311200823754845e+02 + -1.311933271278942e+02 -1.312666020134129e+02 -1.313399070640916e+02 -1.314132423401880e+02 -1.314866079001839e+02 + -1.315600037753056e+02 -1.316334298895329e+02 -1.317068861777292e+02 -1.317803727255405e+02 -1.318538896215189e+02 + -1.319274368150577e+02 -1.320010142454794e+02 -1.320746219509807e+02 -1.321482599879661e+02 -1.322219283867981e+02 + -1.322956271602158e+02 -1.323693562765047e+02 -1.324431157110688e+02 -1.325169055122373e+02 -1.325907257242561e+02 + -1.326645763021127e+02 -1.327384572099461e+02 -1.328123685377604e+02 -1.328863103680995e+02 -1.329602826278048e+02 + -1.330342852393407e+02 -1.331083182633673e+02 -1.331823817787306e+02 -1.332564757988239e+02 -1.333306003141445e+02 + -1.334047552890586e+02 -1.334789407033280e+02 -1.335531566244299e+02 -1.336274031130300e+02 -1.337016801148342e+02 + -1.337759875748336e+02 -1.338503255501201e+02 -1.339246941130952e+02 -1.339990932852997e+02 -1.340735230609586e+02 + -1.341479833758948e+02 -1.342224741891434e+02 -1.342969956109889e+02 -1.343715477431406e+02 -1.344461305017541e+02 + -1.345207438015131e+02 -1.345953877367626e+02 -1.346700624038786e+02 -1.347447677276981e+02 -1.348195036263442e+02 + -1.348942701626209e+02 -1.349690674171868e+02 -1.350438953974369e+02 -1.351187540921076e+02 -1.351936434885642e+02 + -1.352685635848754e+02 -1.353435144232942e+02 -1.354184960414874e+02 -1.354935084145923e+02 -1.355685515128237e+02 + -1.356436253492364e+02 -1.357187299541088e+02 -1.357938653837732e+02 -1.358690316768758e+02 -1.359442287752637e+02 + -1.360194566279880e+02 -1.360947153097144e+02 -1.361700048911278e+02 -1.362453253013760e+02 -1.363206764782614e+02 + -1.363960585357406e+02 -1.364714715821978e+02 -1.365469155275740e+02 -1.366223902703805e+02 -1.366978958618521e+02 + -1.367734323848502e+02 -1.368489998960226e+02 -1.369245984210613e+02 -1.370002278880492e+02 -1.370758882331093e+02 + -1.371515795221331e+02 -1.372273018270698e+02 -1.373030551143317e+02 -1.373788393429953e+02 -1.374546545483291e+02 + -1.375305007816427e+02 -1.376063780822184e+02 -1.376822864668756e+02 -1.377582258746108e+02 -1.378341962588316e+02 + -1.379101977084133e+02 -1.379862303093919e+02 -1.380622940009784e+02 -1.381383887192652e+02 -1.382145145346940e+02 + -1.382906715205862e+02 -1.383668596274320e+02 -1.384430787972570e+02 -1.385193290610606e+02 -1.385956104734610e+02 + -1.386719230945808e+02 -1.387482669582360e+02 -1.388246419875133e+02 -1.389010481148665e+02 -1.389774854209464e+02 + -1.390539539951986e+02 -1.391304538140523e+02 -1.392069848343242e+02 -1.392835470473980e+02 -1.393601404693719e+02 + -1.394367651806349e+02 -1.395134212422815e+02 -1.395901085739362e+02 -1.396668271002043e+02 -1.397435769070855e+02 + -1.398203580874878e+02 -1.398971706005607e+02 -1.399740143977720e+02 -1.400508895336226e+02 -1.401277960614956e+02 + -1.402047339272718e+02 -1.402817030764181e+02 -1.403587035602461e+02 -1.404357354502877e+02 -1.405127987931110e+02 + -1.405898936026113e+02 -1.406670197869564e+02 -1.407441772794584e+02 -1.408213662197336e+02 -1.408985867371466e+02 + -1.409758387137537e+02 -1.410531220224061e+02 -1.411304367464428e+02 -1.412077829961380e+02 -1.412851607790223e+02 + -1.413625700771281e+02 -1.414400108732392e+02 -1.415174831646232e+02 -1.415949870057306e+02 -1.416725224388105e+02 + -1.417500894001226e+02 -1.418276878351835e+02 -1.419053178325258e+02 -1.419829794809226e+02 -1.420606727270934e+02 + -1.421383975074728e+02 -1.422161538594082e+02 -1.422939418408956e+02 -1.423717614916131e+02 -1.424496128273150e+02 + -1.425274957863782e+02 -1.426054103213069e+02 -1.426833565184944e+02 -1.427613344645970e+02 -1.428393441134355e+02 + -1.429173854035838e+02 -1.429954583454632e+02 -1.430735629773860e+02 -1.431516993773805e+02 -1.432298676007922e+02 + -1.433080675725197e+02 -1.433862992191345e+02 -1.434645626043482e+02 -1.435428578032951e+02 -1.436211847996638e+02 + -1.436995435672099e+02 -1.437779341314036e+02 -1.438563565210897e+02 -1.439348107268960e+02 -1.440132967358192e+02 + -1.440918145585468e+02 -1.441703642214681e+02 -1.442489457900865e+02 -1.443275593072134e+02 -1.444062046857781e+02 + -1.444848818522611e+02 -1.445635909172288e+02 -1.446423319927847e+02 -1.447211050130976e+02 -1.447999098925679e+02 + -1.448787466444589e+02 -1.449576153140356e+02 -1.450365159757091e+02 -1.451154486823820e+02 -1.451944133717774e+02 + -1.452734099863848e+02 -1.453524386029381e+02 -1.454314992962476e+02 -1.455105919991844e+02 -1.455897166474813e+02 + -1.456688733302556e+02 -1.457480621396693e+02 -1.458272830266799e+02 -1.459065359271370e+02 -1.459858208576615e+02 + -1.460651378591126e+02 -1.461444869885314e+02 -1.462238682831965e+02 -1.463032816851561e+02 -1.463827271416525e+02 + -1.464622047159361e+02 -1.465417144784923e+02 -1.466212564127396e+02 -1.467008304928943e+02 -1.467804367434297e+02 + -1.468600751934606e+02 -1.469397458404120e+02 -1.470194486722770e+02 -1.470991836710121e+02 -1.471789508433917e+02 + -1.472587503015001e+02 -1.473385821300154e+02 -1.474184461986837e+02 -1.474983423870870e+02 -1.475782708290815e+02 + -1.476582316674545e+02 -1.477382248264445e+02 -1.478182502096616e+02 -1.478983078567520e+02 -1.479783978350921e+02 + -1.480585201869469e+02 -1.481386749269736e+02 -1.482188619845118e+02 -1.482990813088785e+02 -1.483793330146163e+02 + -1.484596172099193e+02 -1.485399338123612e+02 -1.486202827323657e+02 -1.487006640423751e+02 -1.487810778248495e+02 + -1.488615240403001e+02 -1.489420026412511e+02 -1.490225136702235e+02 -1.491030571832025e+02 -1.491836332000337e+02 + -1.492642417202360e+02 -1.493448826981615e+02 -1.494255561054278e+02 -1.495062620278810e+02 -1.495870005487025e+02 + -1.496677716261896e+02 -1.497485751994623e+02 -1.498294112558179e+02 -1.499102798158717e+02 -1.499911809853331e+02 + -1.500721148441144e+02 -1.501530812838450e+02 -1.502340802026938e+02 -1.503151117132690e+02 -1.503961759364751e+02 + -1.504772728119622e+02 -1.505584022645880e+02 -1.506395643412949e+02 -1.507207591024668e+02 -1.508019865401696e+02 + -1.508832466324269e+02 -1.509645393694111e+02 -1.510458647628492e+02 -1.511272228985386e+02 -1.512086138412552e+02 + -1.512900374976176e+02 -1.513714937855876e+02 -1.514529828266537e+02 -1.515345047392310e+02 -1.516160594259147e+02 + -1.516976467776822e+02 -1.517792668548592e+02 -1.518609197460578e+02 -1.519426054836894e+02 -1.520243240750476e+02 + -1.521060754831553e+02 -1.521878596792744e+02 -1.522696767118938e+02 -1.523515266305248e+02 -1.524334094115421e+02 + -1.525153250314230e+02 -1.525972735401888e+02 -1.526792549864990e+02 -1.527612693400200e+02 -1.528433165631959e+02 + -1.529253966685747e+02 -1.530075096900777e+02 -1.530896556970147e+02 -1.531718347321965e+02 -1.532540466970516e+02 + -1.533362915133235e+02 -1.534185693253995e+02 -1.535008802693854e+02 -1.535832242256197e+02 -1.536656010621809e+02 + -1.537480108538752e+02 -1.538304537113657e+02 -1.539129296820158e+02 -1.539954387715506e+02 -1.540779808824423e+02 + -1.541605559457948e+02 -1.542431641104905e+02 -1.543258055115917e+02 -1.544084800111010e+02 -1.544911874726015e+02 + -1.545739280390565e+02 -1.546567018609975e+02 -1.547395088398511e+02 -1.548223488576198e+02 -1.549052219677139e+02 + -1.549881282595875e+02 -1.550710677954614e+02 -1.551540406026988e+02 -1.552370465964632e+02 -1.553200857053796e+02 + -1.554031580241178e+02 -1.554862636500489e+02 -1.555694025253043e+02 -1.556525745801794e+02 -1.557357798528659e+02 + -1.558190184045264e+02 -1.559022902803117e+02 -1.559855954979769e+02 -1.560689339817060e+02 -1.561523056771075e+02 + -1.562357107090587e+02 -1.563191491909100e+02 -1.564026210106382e+02 -1.564861260558312e+02 -1.565696644378976e+02 + -1.566532362813955e+02 -1.567368415396626e+02 -1.568204801387562e+02 -1.569041520668287e+02 -1.569878573487146e+02 + -1.570715960938785e+02 -1.571553683828581e+02 -1.572391740958522e+02 -1.573230131265335e+02 -1.574068856228085e+02 + -1.574907917295132e+02 -1.575747313249683e+02 -1.576587042737324e+02 -1.577427106518309e+02 -1.578267505715277e+02 + -1.579108240785769e+02 -1.579949311783184e+02 -1.580790717809458e+02 -1.581632458187553e+02 -1.582474534075981e+02 + -1.583316946623155e+02 -1.584159695101536e+02 -1.585002778727259e+02 -1.585846198367120e+02 -1.586689954874005e+02 + -1.587534047394542e+02 -1.588378475061590e+02 -1.589223238659185e+02 -1.590068339195322e+02 -1.590913776922658e+02 + -1.591759551748261e+02 -1.592605662952183e+02 -1.593452110061037e+02 -1.594298894214712e+02 -1.595146016508511e+02 + -1.595993476246111e+02 -1.596841272537272e+02 -1.597689405507699e+02 -1.598537875632453e+02 -1.599386683768111e+02 + -1.600235830481832e+02 -1.601085314801616e+02 -1.601935135899282e+02 -1.602785295061083e+02 -1.603635793509372e+02 + -1.604486630096468e+02 -1.605337803660765e+02 -1.606189315354990e+02 -1.607041166452176e+02 -1.607893356392255e+02 + -1.608745884397152e+02 -1.609598750649831e+02 -1.610451955612870e+02 -1.611305499906227e+02 -1.612159383917271e+02 + -1.613013606945609e+02 -1.613868168398436e+02 -1.614723069201057e+02 -1.615578310304217e+02 -1.616433891242326e+02 + -1.617289811339727e+02 -1.618146070496823e+02 -1.619002668955830e+02 -1.619859607750138e+02 -1.620716887676450e+02 + -1.621574507793529e+02 -1.622432467219253e+02 -1.623290767045893e+02 -1.624149408340039e+02 -1.625008390091176e+02 + -1.625867711331680e+02 -1.626727373342588e+02 -1.627587377384768e+02 -1.628447722389764e+02 -1.629308407201184e+02 + -1.630169432640222e+02 -1.631030799800713e+02 -1.631892508889492e+02 -1.632754559784962e+02 -1.633616951938801e+02 + -1.634479685044198e+02 -1.635342760187116e+02 -1.636206178291233e+02 -1.637069938238325e+02 -1.637934038942077e+02 + -1.638798481485683e+02 -1.639663267112721e+02 -1.640528395538795e+02 -1.641393866180353e+02 -1.642259678785196e+02 + -1.643125833411851e+02 -1.643992331030405e+02 -1.644859172470150e+02 -1.645726357085657e+02 -1.646593884180614e+02 + -1.647461754329907e+02 -1.648329968179324e+02 -1.649198525387065e+02 -1.650067425502886e+02 -1.650936668630355e+02 + -1.651806255134507e+02 -1.652676185872448e+02 -1.653546461444497e+02 -1.654417080931755e+02 -1.655288043499995e+02 + -1.656159350172886e+02 -1.657031001994683e+02 -1.657902998234105e+02 -1.658775338117127e+02 -1.659648022474274e+02 + -1.660521052162188e+02 -1.661394426537408e+02 -1.662268144894047e+02 -1.663142207776613e+02 -1.664016615975541e+02 + -1.664891370014617e+02 -1.665766470055737e+02 -1.666641915079906e+02 -1.667517704334961e+02 -1.668393839316945e+02 + -1.669270321420214e+02 -1.670147149384157e+02 -1.671024321837371e+02 -1.671901839620226e+02 -1.672779703889409e+02 + -1.673657914855093e+02 -1.674536472385115e+02 -1.675415375924466e+02 -1.676294625158688e+02 -1.677174221158364e+02 + -1.678054164853866e+02 -1.678934455229663e+02 -1.679815091339810e+02 -1.680696074462591e+02 -1.681577405863894e+02 + -1.682459084535819e+02 -1.683341109324726e+02 -1.684223480767776e+02 -1.685106199767677e+02 -1.685989266998525e+02 + -1.686872682758898e+02 -1.687756446073924e+02 -1.688640556163956e+02 -1.689525014303699e+02 -1.690409821718389e+02 + -1.691294977381033e+02 -1.692180480141565e+02 -1.693066330609834e+02 -1.693952529706734e+02 -1.694839077837423e+02 + -1.695725975104607e+02 -1.696613220916933e+02 -1.697500814887782e+02 -1.698388758143547e+02 -1.699277051650943e+02 + -1.700165694224996e+02 -1.701054684738952e+02 -1.701944024450633e+02 -1.702833714670375e+02 -1.703723754534025e+02 + -1.704614143033400e+02 -1.705504880758685e+02 -1.706395968591658e+02 -1.707287406982126e+02 -1.708179196055015e+02 + -1.709071335067704e+02 -1.709963823462651e+02 -1.710856662290167e+02 -1.711749852543236e+02 -1.712643393377691e+02 + -1.713537283867857e+02 -1.714431524599174e+02 -1.715326116432521e+02 -1.716221059819435e+02 -1.717116354891412e+02 + -1.718012000909151e+02 -1.718907997312464e+02 -1.719804345128430e+02 -1.720701045346718e+02 -1.721598097220100e+02 + -1.722495499971131e+02 -1.723393254438396e+02 -1.724291361494486e+02 -1.725189820532021e+02 -1.726088630837053e+02 + -1.726987792749333e+02 -1.727887306891670e+02 -1.728787173965418e+02 -1.729687394350333e+02 -1.730587967061244e+02 + -1.731488891286860e+02 -1.732390168276344e+02 -1.733291799265234e+02 -1.734193783374131e+02 -1.735096119603506e+02 + -1.735998808588243e+02 -1.736901851222248e+02 -1.737805247801124e+02 -1.738708998286339e+02 -1.739613101901119e+02 + -1.740517558114003e+02 -1.741422368113012e+02 -1.742327533050288e+02 -1.743233052214973e+02 -1.744138924793676e+02 + -1.745045151425876e+02 -1.745951732822802e+02 -1.746858668529805e+02 -1.747765958032038e+02 -1.748673601739718e+02 + -1.749581600245709e+02 -1.750489953948396e+02 -1.751398663036498e+02 -1.752307727054541e+02 -1.753217145616989e+02 + -1.754126919262226e+02 -1.755037048571098e+02 -1.755947533370347e+02 -1.756858373371216e+02 -1.757769568577038e+02 + -1.758681119173357e+02 -1.759593025782490e+02 -1.760505288876894e+02 -1.761417907892832e+02 -1.762330882344909e+02 + -1.763244213097290e+02 -1.764157900964081e+02 -1.765071945209611e+02 -1.765986345094344e+02 -1.766901101413071e+02 + -1.767816215026837e+02 -1.768731685527375e+02 -1.769647512369523e+02 -1.770563695729838e+02 -1.771480236027573e+02 + -1.772397133931058e+02 -1.773314389867134e+02 -1.774232003047593e+02 -1.775149972814722e+02 -1.776068300247813e+02 + -1.776986986385443e+02 -1.777906030366335e+02 -1.778825431235826e+02 -1.779745189565556e+02 -1.780665306226855e+02 + -1.781585781763529e+02 -1.782506616334199e+02 -1.783427808884287e+02 -1.784349358629673e+02 -1.785271267081259e+02 + -1.786193535668995e+02 -1.787116163204012e+02 -1.788039148425030e+02 -1.788962492399977e+02 -1.789886196318098e+02 + -1.790810259524725e+02 -1.791734681201561e+02 -1.792659461719689e+02 -1.793584601742520e+02 -1.794510101913400e+02 + -1.795435962594126e+02 -1.796362183040394e+02 -1.797288762617232e+02 -1.798215702233099e+02 -1.799143002757676e+02 + -1.800070663362093e+02 -1.800998683262517e+02 -1.801927063553792e+02 -1.802855805315161e+02 -1.803784907684791e+02 + -1.804714369692463e+02 -1.805644191875481e+02 -1.806574375103104e+02 -1.807504920064915e+02 -1.808435827084130e+02 + -1.809367095198169e+02 -1.810298723599504e+02 -1.811230713386593e+02 -1.812163065647390e+02 -1.813095779521854e+02 + -1.814028854036152e+02 -1.814962289709267e+02 -1.815896087407728e+02 -1.816830247895420e+02 -1.817764771515762e+02 + -1.818699657032943e+02 -1.819634903439186e+02 -1.820570512218083e+02 -1.821506484855823e+02 -1.822442820357622e+02 + -1.823379517614509e+02 -1.824316577541746e+02 -1.825254001134493e+02 -1.826191787683301e+02 -1.827129936397535e+02 + -1.828068447866412e+02 -1.829007322929544e+02 -1.829946562048259e+02 -1.830886165373395e+02 -1.831826132192083e+02 + -1.832766461922778e+02 -1.833707155372913e+02 -1.834648213380734e+02 -1.835589635518759e+02 -1.836531421229175e+02 + -1.837473570698571e+02 -1.838416084358642e+02 -1.839358962877114e+02 -1.840302206684350e+02 -1.841245815025237e+02 + -1.842189787235884e+02 -1.843134124202761e+02 -1.844078826806361e+02 -1.845023894352911e+02 -1.845969326205561e+02 + -1.846915123529413e+02 -1.847861287393624e+02 -1.848807816681596e+02 -1.849754710227848e+02 -1.850701968857076e+02 + -1.851649593688754e+02 -1.852597585031284e+02 -1.853545942804591e+02 -1.854494666185751e+02 -1.855443754618861e+02 + -1.856393209358935e+02 -1.857343031604275e+02 -1.858293220515437e+02 -1.859243775087027e+02 -1.860194695687597e+02 + -1.861145983033516e+02 -1.862097637858479e+02 -1.863049660540466e+02 -1.864002050017272e+02 -1.864954805431744e+02 + -1.865907928187129e+02 -1.866861419596013e+02 -1.867815278347963e+02 -1.868769503164351e+02 -1.869724095516791e+02 + -1.870679056966096e+02 -1.871634386679672e+02 -1.872590083560524e+02 -1.873546147847470e+02 -1.874502580123688e+02 + -1.875459381013990e+02 -1.876416550903780e+02 -1.877374089179168e+02 -1.878331995340542e+02 -1.879290270344656e+02 + -1.880248915055781e+02 -1.881207928511883e+02 -1.882167309755823e+02 -1.883127059676341e+02 -1.884087179360091e+02 + -1.885047668839511e+02 -1.886008527852007e+02 -1.886969756009047e+02 -1.887931353152428e+02 -1.888893320171184e+02 + -1.889855657829229e+02 -1.890818365342772e+02 -1.891781441947396e+02 -1.892744888503877e+02 -1.893708705921393e+02 + -1.894672893677523e+02 -1.895637451161106e+02 -1.896602378837592e+02 -1.897567677352667e+02 -1.898533346996371e+02 + -1.899499387807097e+02 -1.900465799172331e+02 -1.901432580674921e+02 -1.902399733330072e+02 -1.903367258125687e+02 + -1.904335154508099e+02 -1.905303421711713e+02 -1.906272059664800e+02 -1.907241068668330e+02 -1.908210449820209e+02 + -1.909180203947948e+02 -1.910150330000556e+02 -1.911120827002041e+02 -1.912091696154924e+02 -1.913062938635582e+02 + -1.914034553337337e+02 -1.915006539182285e+02 -1.915978897490666e+02 -1.916951629619544e+02 -1.917924734675151e+02 + -1.918898211586861e+02 -1.919872060827436e+02 -1.920846283161583e+02 -1.921820878978424e+02 -1.922795848438701e+02 + -1.923771191165239e+02 -1.924746906889474e+02 -1.925722996315181e+02 -1.926699460069926e+02 -1.927676297504074e+02 + -1.928653507913461e+02 -1.929631091652971e+02 -1.930609049367203e+02 -1.931587381800568e+02 -1.932566089358633e+02 + -1.933545170991796e+02 -1.934524625825225e+02 -1.935504455138344e+02 -1.936484660231147e+02 -1.937465240331655e+02 + -1.938446194535055e+02 -1.939427523477156e+02 -1.940409227930324e+02 -1.941391307672549e+02 -1.942373762317632e+02 + -1.943356591817002e+02 -1.944339796386271e+02 -1.945323376960147e+02 -1.946307334225392e+02 -1.947291667157886e+02 + -1.948276374816129e+02 -1.949261458299981e+02 -1.950246918758956e+02 -1.951232755499811e+02 -1.952218967672293e+02 + -1.953205555640852e+02 -1.954192520091347e+02 -1.955179861780584e+02 -1.956167581109271e+02 -1.957155676982765e+02 + -1.958144148511486e+02 -1.959132997121442e+02 -1.960122224157670e+02 -1.961111828325720e+02 -1.962101808324193e+02 + -1.963092165463342e+02 -1.964082901163006e+02 -1.965074014669716e+02 -1.966065505047830e+02 -1.967057372806285e+02 + -1.968049618689787e+02 -1.969042242941536e+02 -1.970035245570506e+02 -1.971028626150270e+02 -1.972022384428475e+02 + -1.973016521284466e+02 -1.974011037520065e+02 -1.975005932495305e+02 -1.976001205455443e+02 -1.976996856628438e+02 + -1.977992886519515e+02 -1.978989295760255e+02 -1.979986084767589e+02 -1.980983252973461e+02 -1.981980799861144e+02 + -1.982978726104215e+02 -1.983977032396124e+02 -1.984975718319531e+02 -1.985974783450467e+02 -1.986974228449224e+02 + -1.987974053983538e+02 -1.988974259666649e+02 -1.989974844962869e+02 -1.990975809795281e+02 -1.991977154414513e+02 + -1.992978879922588e+02 -1.993980987169082e+02 -1.994983475142392e+02 -1.995986342853965e+02 -1.996989591268633e+02 + -1.997993221398394e+02 -1.998997232490551e+02 -2.000001623829878e+02 -2.001006396615730e+02 -2.002011551976202e+02 + -2.003017088839768e+02 -2.004023006006677e+02 -2.005029303963877e+02 -2.006035983645368e+02 -2.007043046086661e+02 + -2.008050491826254e+02 -2.009058319313084e+02 -2.010066527248718e+02 -2.011075117434797e+02 -2.012084091672780e+02 + -2.013093448663347e+02 -2.014103186854462e+02 -2.015113306783989e+02 -2.016123809487723e+02 -2.017134695903300e+02 + -2.018145966520298e+02 -2.019157620134241e+02 -2.020169655668574e+02 -2.021182074252480e+02 -2.022194877090834e+02 + -2.023208063485549e+02 -2.024221632682046e+02 -2.025235585602719e+02 -2.026249923196053e+02 -2.027264644837921e+02 + -2.028279749730532e+02 -2.029295237954015e+02 -2.030311109992572e+02 -2.031327367068774e+02 -2.032344010007734e+02 + -2.033361037306376e+02 -2.034378447601810e+02 -2.035396242420057e+02 -2.036414423389593e+02 -2.037432989659801e+02 + -2.038451940079258e+02 -2.039471274772405e+02 -2.040490994323931e+02 -2.041511099883670e+02 -2.042531592234435e+02 + -2.043552470125819e+02 -2.044573732391661e+02 -2.045595380236004e+02 -2.046617414909655e+02 -2.047639835480296e+02 + -2.048662640993485e+02 -2.049685832589404e+02 -2.050709411450770e+02 -2.051733376835843e+02 -2.052757727854042e+02 + -2.053782464943871e+02 -2.054807588829732e+02 -2.055833100050551e+02 -2.056858998827895e+02 -2.057885284299405e+02 + -2.058911955783421e+02 -2.059939014405005e+02 -2.060966461276917e+02 -2.061994295656012e+02 -2.063022516666823e+02 + -2.064051124760526e+02 -2.065080120661920e+02 -2.066109504863692e+02 -2.067139277576765e+02 -2.068169438117121e+02 + -2.069199985973326e+02 -2.070230922219201e+02 -2.071262247789163e+02 -2.072293961474789e+02 -2.073326062201854e+02 + -2.074358551575783e+02 -2.075391431180403e+02 -2.076424699833530e+02 -2.077458356179337e+02 -2.078492400933438e+02 + -2.079526835133251e+02 -2.080561659031989e+02 -2.081596872578975e+02 -2.082632475292167e+02 -2.083668466898186e+02 + -2.084704848389632e+02 -2.085741620623951e+02 -2.086778782651976e+02 -2.087816333480700e+02 -2.088854273748348e+02 + -2.089892604383302e+02 -2.090931325843364e+02 -2.091970438282278e+02 -2.093009941108145e+02 -2.094049833841979e+02 + -2.095090117202067e+02 -2.096130791905716e+02 -2.097171857469022e+02 -2.098213313423286e+02 -2.099255160561849e+02 + -2.100297399619016e+02 -2.101340029830976e+02 -2.102383050403986e+02 -2.103426461922712e+02 -2.104470265253758e+02 + -2.105514461013085e+02 -2.106559049410852e+02 -2.107604029284658e+02 -2.108649399745926e+02 -2.109695162373935e+02 + -2.110741318706494e+02 -2.111787867647689e+02 -2.112834807867834e+02 -2.113882139735869e+02 -2.114929864074473e+02 + -2.115977981822681e+02 -2.117026493533424e+02 -2.118075398098887e+02 -2.119124694556393e+02 -2.120174384184601e+02 + -2.121224468216736e+02 -2.122274945462991e+02 -2.123325814769304e+02 -2.124377077547605e+02 -2.125428735238108e+02 + -2.126480786828185e+02 -2.127533231155498e+02 -2.128586068911697e+02 -2.129639301084739e+02 -2.130692927993837e+02 + -2.131746949622090e+02 -2.132801365276879e+02 -2.133856174488912e+02 -2.134911378357916e+02 -2.135966977951921e+02 + -2.137022972643151e+02 -2.138079361581469e+02 -2.139136144723085e+02 -2.140193322420075e+02 -2.141250895801643e+02 + -2.142308865713384e+02 -2.143367231089345e+02 -2.144425990899214e+02 -2.145485146166798e+02 -2.146544697958461e+02 + -2.147604645456698e+02 -2.148664987887291e+02 -2.149725726533044e+02 -2.150786862586875e+02 -2.151848394825147e+02 + -2.152910321964648e+02 -2.153972644900385e+02 -2.155035364828845e+02 -2.156098481974242e+02 -2.157161996246267e+02 + -2.158225907268823e+02 -2.159290214790141e+02 -2.160354919341570e+02 -2.161420021424622e+02 -2.162485520638355e+02 + -2.163551416576007e+02 -2.164617709709994e+02 -2.165684400663080e+02 -2.166751489780245e+02 -2.167818977145845e+02 + -2.168886862079515e+02 -2.169955144082682e+02 -2.171023824148656e+02 -2.172092903208214e+02 -2.173162380450137e+02 + -2.174232255130703e+02 -2.175302528518165e+02 -2.176373201799158e+02 -2.177444273821862e+02 -2.178515743317612e+02 + -2.179587610888773e+02 -2.180659877532527e+02 -2.181732543954297e+02 -2.182805610486399e+02 -2.183879076260487e+02 + -2.184952940541088e+02 -2.186027204324891e+02 -2.187101868605661e+02 -2.188176932633304e+02 -2.189252395535715e+02 + -2.190328257696591e+02 -2.191404519835346e+02 -2.192481182758485e+02 -2.193558246894080e+02 -2.194635711069396e+02 + -2.195713574321837e+02 -2.196791838130171e+02 -2.197870503917547e+02 -2.198949570443306e+02 -2.200029036478261e+02 + -2.201108903502962e+02 -2.202189173008489e+02 -2.203269843818326e+02 -2.204350914576510e+02 -2.205432385876858e+02 + -2.206514258738742e+02 -2.207596533933995e+02 -2.208679211808499e+02 -2.209762291251867e+02 -2.210845771334710e+02 + -2.211929653307878e+02 -2.213013938407175e+02 -2.214098625627986e+02 -2.215183713969045e+02 -2.216269204682873e+02 + -2.217355099024502e+02 -2.218441396005216e+02 -2.219528094497077e+02 -2.220615195058979e+02 -2.221702698646027e+02 + -2.222790606111339e+02 -2.223878917838657e+02 -2.224967632436199e+02 -2.226056748766821e+02 -2.227146268487432e+02 + -2.228236193240230e+02 -2.229326521814535e+02 -2.230417252803019e+02 -2.231508386864637e+02 -2.232599925050409e+02 + -2.233691867913336e+02 -2.234784215614204e+02 -2.235876967242961e+02 -2.236970122086523e+02 -2.238063681290529e+02 + -2.239157646015454e+02 -2.240252015622403e+02 -2.241346789340316e+02 -2.242441967668838e+02 -2.243537551247286e+02 + -2.244633540002964e+02 -2.245729933685804e+02 -2.246826732048266e+02 -2.247923935126906e+02 -2.249021544092157e+02 + -2.250119559889259e+02 -2.251217981428817e+02 -2.252316807628839e+02 -2.253416039471573e+02 -2.254515678046834e+02 + -2.255615722810486e+02 -2.256716173029860e+02 -2.257817028852108e+02 -2.258918290784169e+02 -2.260019959892315e+02 + -2.261122036854213e+02 -2.262224520233766e+02 -2.263327408802082e+02 -2.264430704272837e+02 -2.265534408332552e+02 + -2.266638519616550e+02 -2.267743036660735e+02 -2.268847960654481e+02 -2.269953292962885e+02 -2.271059033000460e+02 + -2.272165179952407e+02 -2.273271734037251e+02 -2.274378695801794e+02 -2.275486066072624e+02 -2.276593845334010e+02 + -2.277702032421150e+02 -2.278810626343348e+02 -2.279919628455381e+02 -2.281029040172474e+02 -2.282138860806176e+02 + -2.283249089376286e+02 -2.284359725839265e+02 -2.285470770593814e+02 -2.286582224870930e+02 -2.287694089544078e+02 + -2.288806363224278e+02 -2.289919044640359e+02 -2.291032135254801e+02 -2.292145636582007e+02 -2.293259547610424e+02 + -2.294373867252146e+02 -2.295488596639802e+02 -2.296603736910369e+02 -2.297719286997702e+02 -2.298835245768747e+02 + -2.299951614025932e+02 -2.301068392919157e+02 -2.302185583052736e+02 -2.303303184582155e+02 -2.304421196413199e+02 + -2.305539617649887e+02 -2.306658449438852e+02 -2.307777692999738e+02 -2.308897347801602e+02 -2.310017413072381e+02 + -2.311137888826106e+02 -2.312258775426401e+02 -2.313380073849178e+02 -2.314501784790464e+02 -2.315623907214496e+02 + -2.316746440227619e+02 -2.317869385236417e+02 -2.318992743527083e+02 -2.320116513604021e+02 -2.321240694060221e+02 + -2.322365286624793e+02 -2.323490293043759e+02 -2.324615711994689e+02 -2.325741541998047e+02 -2.326867784014305e+02 + -2.327994439322068e+02 -2.329121508032486e+02 -2.330248989898164e+02 -2.331376884404961e+02 -2.332505191272475e+02 + -2.333633911421986e+02 -2.334763045743060e+02 -2.335892593796759e+02 -2.337022554911374e+02 -2.338152928812627e+02 + -2.339283715644559e+02 -2.340414916827054e+02 -2.341546533474617e+02 -2.342678564204413e+02 -2.343811007676228e+02 + -2.344943865217682e+02 -2.346077138212040e+02 -2.347210825597340e+02 -2.348344926295532e+02 -2.349479441609453e+02 + -2.350614372851493e+02 -2.351749718991416e+02 -2.352885478850955e+02 -2.354021653002366e+02 -2.355158242429473e+02 + -2.356295248011875e+02 -2.357432670145577e+02 -2.358570507396431e+02 -2.359708758587992e+02 -2.360847425404777e+02 + -2.361986509531367e+02 -2.363126009791645e+02 -2.364265924750662e+02 -2.365406254798825e+02 -2.366547000814751e+02 + -2.367688163804559e+02 -2.368829744348273e+02 -2.369971741194025e+02 -2.371114153287764e+02 -2.372256982198593e+02 + -2.373400229428812e+02 -2.374543893590377e+02 -2.375687973238754e+02 -2.376832469593778e+02 -2.377977384043928e+02 + -2.379122715987879e+02 -2.380268464580362e+02 -2.381414629990116e+02 -2.382561212769444e+02 -2.383708213990897e+02 + -2.384855634334210e+02 -2.386003472387607e+02 -2.387151726904082e+02 -2.388300399387221e+02 -2.389449491374237e+02 + -2.390599001786255e+02 -2.391748929369255e+02 -2.392899274784697e+02 -2.394050039061344e+02 -2.395201222781684e+02 + -2.396352826134916e+02 -2.397504848183333e+02 -2.398657288168898e+02 -2.399810147179146e+02 -2.400963426277219e+02 + -2.402117124583125e+02 -2.403271241258893e+02 -2.404425777577767e+02 -2.405580734795174e+02 -2.406736111984077e+02 + -2.407891907995794e+02 -2.409048122977546e+02 -2.410204757554728e+02 -2.411361812969551e+02 -2.412519290053517e+02 + -2.413677187378485e+02 -2.414835503650167e+02 -2.415994240369316e+02 -2.417153399089511e+02 -2.418312978780588e+02 + -2.419472978191357e+02 -2.420633397770240e+02 -2.421794238369657e+02 -2.422955500758429e+02 -2.424117185344053e+02 + -2.425279291172331e+02 -2.426441817421263e+02 -2.427604765159341e+02 -2.428768135466203e+02 -2.429931927575585e+02 + -2.431096140668555e+02 -2.432260775561414e+02 -2.433425833145866e+02 -2.434591312980004e+02 -2.435757214497087e+02 + -2.436923537964655e+02 -2.438090283895336e+02 -2.439257452947832e+02 -2.440425045463603e+02 -2.441593060369063e+02 + -2.442761496825792e+02 -2.443930356351059e+02 -2.445099640393889e+02 -2.446269347774639e+02 -2.447439477225602e+02 + -2.448610029755453e+02 -2.449781006544274e+02 -2.450952407181387e+02 -2.452124231032676e+02 -2.453296478161015e+02 + -2.454469148921256e+02 -2.455642244139170e+02 -2.456815764363974e+02 -2.457989708567751e+02 -2.459164075868465e+02 + -2.460338867544718e+02 -2.461514084874868e+02 -2.462689726975661e+02 -2.463865792818051e+02 -2.465042282951439e+02 + -2.466219198202147e+02 -2.467396538925739e+02 -2.468574305187124e+02 -2.469752496359336e+02 -2.470931112029433e+02 + -2.472110153332446e+02 -2.473289621270786e+02 -2.474469514768406e+02 -2.475649832814832e+02 -2.476830576740329e+02 + -2.478011747871381e+02 -2.479193345178656e+02 -2.480375367456449e+02 -2.481557815149384e+02 -2.482740689103307e+02 + -2.483923990118631e+02 -2.485107718618152e+02 -2.486291873559622e+02 -2.487476454083695e+02 -2.488661461527674e+02 + -2.489846897184250e+02 -2.491032759971039e+02 -2.492219048675295e+02 -2.493405763937896e+02 -2.494592906781626e+02 + -2.495780477903268e+02 -2.496968477531592e+02 -2.498156904349301e+02 -2.499345757349562e+02 -2.500535038313474e+02 + -2.501724748933778e+02 -2.502914887761886e+02 -2.504105453266259e+02 -2.505296446724864e+02 -2.506487869586733e+02 + -2.507679721175656e+02 -2.508872000588222e+02 -2.510064708137437e+02 -2.511257844438344e+02 -2.512451410097723e+02 + -2.513645405425343e+02 -2.514839829551193e+02 -2.516034681806881e+02 -2.517229963510282e+02 -2.518425675906852e+02 + -2.519621817966139e+02 -2.520818388494823e+02 -2.522015387924022e+02 -2.523212817096907e+02 -2.524410676880414e+02 + -2.525608967718439e+02 -2.526807688338955e+02 -2.528006837687293e+02 -2.529206417294141e+02 -2.530406428681973e+02 + -2.531606870755077e+02 -2.532807742357317e+02 -2.534009044709059e+02 -2.535210779031462e+02 -2.536412944172385e+02 + -2.537615538911017e+02 -2.538818564125164e+02 -2.540022021028112e+02 -2.541225910076441e+02 -2.542430231270507e+02 + -2.543634983542462e+02 -2.544840166121418e+02 -2.546045780492533e+02 -2.547251828099108e+02 -2.548458307960956e+02 + -2.549665218842466e+02 -2.550872560909815e+02 -2.552080334828205e+02 -2.553288541857174e+02 -2.554497182835964e+02 + -2.555706256328296e+02 -2.556915761009198e+02 -2.558125698274442e+02 -2.559336069560756e+02 -2.560546873747970e+02 + -2.561758109689862e+02 -2.562969778692906e+02 -2.564181882127723e+02 -2.565394419168841e+02 -2.566607388759341e+02 + -2.567820791112567e+02 -2.569034626862424e+02 -2.570248897054782e+02 -2.571463602359873e+02 -2.572678741533426e+02 + -2.573894313462550e+02 -2.575110319474426e+02 -2.576326760938784e+02 -2.577543636955484e+02 -2.578760946446893e+02 + -2.579978689895271e+02 -2.581196868133063e+02 -2.582415481833543e+02 -2.583634531275302e+02 -2.584854015317316e+02 + -2.586073933093156e+02 -2.587294286254374e+02 -2.588515076317444e+02 -2.589736301740566e+02 -2.590957960996737e+02 + -2.592180055676404e+02 -2.593402587446819e+02 -2.594625555165019e+02 -2.595848957490105e+02 -2.597072795099639e+02 + -2.598297069067293e+02 -2.599521780032740e+02 -2.600746928207452e+02 -2.601972512524080e+02 -2.603198532148209e+02 + -2.604424988455961e+02 -2.605651882765137e+02 -2.606879213949725e+02 -2.608106980758151e+02 -2.609335183880386e+02 + -2.610563824372016e+02 -2.611792902809524e+02 -2.613022419394243e+02 -2.614252373306019e+02 -2.615482763897488e+02 + -2.616713592233935e+02 -2.617944859260970e+02 -2.619176563732862e+02 -2.620408704583867e+02 -2.621641283659552e+02 + -2.622874302706103e+02 -2.624107760160917e+02 -2.625341654302978e+02 -2.626575986086381e+02 -2.627810756876698e+02 + -2.629045967010318e+02 -2.630281616427657e+02 -2.631517704514422e+02 -2.632754230861743e+02 -2.633991196437133e+02 + -2.635228602105341e+02 -2.636466446943674e+02 -2.637704729984163e+02 -2.638943451865159e+02 -2.640182613561179e+02 + -2.641422215785110e+02 -2.642662258795402e+02 -2.643902741294400e+02 -2.645143662245587e+02 -2.646385023213122e+02 + -2.647626825745115e+02 -2.648869068724856e+02 -2.650111750962730e+02 -2.651354873642347e+02 -2.652598438005879e+02 + -2.653842443156531e+02 -2.655086888035231e+02 -2.656331773072787e+02 -2.657577099091213e+02 -2.658822866987512e+02 + -2.660069077230897e+02 -2.661315728504449e+02 -2.662562819710931e+02 -2.663810352417937e+02 -2.665058328192844e+02 + -2.666306745937331e+02 -2.667555604333347e+02 -2.668804903849584e+02 -2.670054645383429e+02 -2.671304829760297e+02 + -2.672555457413816e+02 -2.673806527282453e+02 -2.675058038464400e+02 -2.676309992191929e+02 -2.677562389652032e+02 + -2.678815229716541e+02 -2.680068511277727e+02 -2.681322235624782e+02 -2.682576404136338e+02 -2.683831016151858e+02 + -2.685086070756685e+02 -2.686341568058856e+02 -2.687597508516357e+02 -2.688853892964312e+02 -2.690110721950252e+02 + -2.691367994494158e+02 -2.692625709807897e+02 -2.693883869398372e+02 -2.695142474621058e+02 -2.696401523930688e+02 + -2.697661015819900e+02 -2.698920951833660e+02 -2.700181333642693e+02 -2.701442160368443e+02 -2.702703430840482e+02 + -2.703965145270174e+02 -2.705227304331903e+02 -2.706489909170355e+02 -2.707752960482972e+02 -2.709016456707917e+02 + -2.710280396495872e+02 -2.711544781606855e+02 -2.712809613853167e+02 -2.714074892146895e+02 -2.715340615102555e+02 + -2.716606783044584e+02 -2.717873396730564e+02 -2.719140456940721e+02 -2.720407964136753e+02 -2.721675917483545e+02 + -2.722944316245073e+02 -2.724213161378437e+02 -2.725482453844213e+02 -2.726752192923742e+02 -2.728022377909456e+02 + -2.729293009817382e+02 -2.730564089616648e+02 -2.731835616365174e+02 -2.733107589046467e+02 -2.734380008257563e+02 + -2.735652874983575e+02 -2.736926190148396e+02 -2.738199954194386e+02 -2.739474165698984e+02 -2.740748823405867e+02 + -2.742023928588563e+02 -2.743299482670098e+02 -2.744575485141638e+02 -2.745851935229188e+02 -2.747128833029967e+02 + -2.748406178969678e+02 -2.749683973916734e+02 -2.750962218440648e+02 -2.752240911472609e+02 -2.753520052060601e+02 + -2.754799641358123e+02 -2.756079680559450e+02 -2.757360168916492e+02 -2.758641105650285e+02 -2.759922491800748e+02 + -2.761204328366440e+02 -2.762486614361617e+02 -2.763769348745897e+02 -2.765052532244616e+02 -2.766336165883748e+02 + -2.767620250126050e+02 -2.768904785041199e+02 -2.770189769689730e+02 -2.771475203398639e+02 -2.772761087569904e+02 + -2.774047423518460e+02 -2.775334210136085e+02 -2.776621446145333e+02 -2.777909132015001e+02 -2.779197268642361e+02 + -2.780485856892346e+02 -2.781774897218528e+02 -2.783064388461343e+02 -2.784354329669438e+02 -2.785644722337429e+02 + -2.786935567875348e+02 -2.788226864908934e+02 -2.789518612068105e+02 -2.790810810783757e+02 -2.792103462555617e+02 + -2.793396566357773e+02 -2.794690121008859e+02 -2.795984127231330e+02 -2.797278586088501e+02 -2.798573498103315e+02 + -2.799868863353985e+02 -2.801164680680156e+02 -2.802460949220819e+02 -2.803757670550874e+02 -2.805054846206144e+02 + -2.806352475130235e+02 -2.807650555997772e+02 -2.808949088999684e+02 -2.810248074853591e+02 -2.811547514867556e+02 + -2.812847409903677e+02 -2.814147758449749e+02 -2.815448559108459e+02 -2.816749813316353e+02 -2.818051522586102e+02 + -2.819353685901064e+02 -2.820656302199222e+02 -2.821959372766401e+02 -2.823262898869716e+02 -2.824566879353637e+02 + -2.825871312931868e+02 -2.827176200217700e+02 -2.828481542276227e+02 -2.829787340080183e+02 -2.831093594072626e+02 + -2.832400302670260e+02 -2.833707464559445e+02 -2.835015081531469e+02 -2.836323155420096e+02 -2.837631685124079e+02 + -2.838940669226656e+02 -2.840250107984012e+02 -2.841560002155769e+02 -2.842870352842360e+02 -2.844181160721325e+02 + -2.845492424437817e+02 -2.846804142799303e+02 -2.848116317294889e+02 -2.849428949404899e+02 -2.850742037892878e+02 + -2.852055581519247e+02 -2.853369581748677e+02 -2.854684040068092e+02 -2.855998955349205e+02 -2.857314326251873e+02 + -2.858630153203723e+02 -2.859946437114748e+02 -2.861263179056654e+02 -2.862580379663874e+02 -2.863898037660037e+02 + -2.865216151879669e+02 -2.866534723511688e+02 -2.867853753832939e+02 -2.869173242117615e+02 -2.870493187426322e+02 + -2.871813589967982e+02 -2.873134450373917e+02 -2.874455769816758e+02 -2.875777549027032e+02 -2.877099786425546e+02 + -2.878422480619707e+02 -2.879745633273037e+02 -2.881069246090204e+02 -2.882393317884377e+02 -2.883717847366556e+02 + -2.885042835730584e+02 -2.886368284288774e+02 -2.887694192344474e+02 -2.889020558953364e+02 -2.890347384189399e+02 + -2.891674668528066e+02 -2.893002413032724e+02 -2.894330618447220e+02 -2.895659283649483e+02 -2.896988407604515e+02 + -2.898317991491523e+02 -2.899648036558058e+02 -2.900978542110840e+02 -2.902309507220182e+02 -2.903640931951591e+02 + -2.904972816775983e+02 -2.906305162790740e+02 -2.907637970750559e+02 -2.908971239412933e+02 -2.910304967707643e+02 + -2.911639157250792e+02 -2.912973809535366e+02 -2.914308922875549e+02 -2.915644495654761e+02 -2.916980529712119e+02 + -2.918317026983915e+02 -2.919653986339440e+02 -2.920991406314096e+02 -2.922329287174719e+02 -2.923667629702973e+02 + -2.925006435008390e+02 -2.926345703772706e+02 -2.927685434638595e+02 -2.929025626397000e+02 -2.930366280470975e+02 + -2.931707398343328e+02 -2.933048979103752e+02 -2.934391021578708e+02 -2.935733525934834e+02 -2.937076492857184e+02 + -2.938419923764308e+02 -2.939763819565550e+02 -2.941108178399977e+02 -2.942452998623305e+02 -2.943798282228154e+02 + -2.945144031200941e+02 -2.946490243866398e+02 -2.947836918481424e+02 -2.949184056693277e+02 -2.950531660302706e+02 + -2.951879728334102e+02 -2.953228259514730e+02 -2.954577254159683e+02 -2.955926713017622e+02 -2.957276636983648e+02 + -2.958627026572042e+02 -2.959977880627373e+02 -2.961329198152110e+02 -2.962680980450039e+02 -2.964033228802077e+02 + -2.965385942096344e+02 -2.966739119278574e+02 -2.968092761917713e+02 -2.969446871501122e+02 -2.970801446566606e+02 + -2.972156485544735e+02 -2.973511989386669e+02 -2.974867959450954e+02 -2.976224396205114e+02 -2.977581299655766e+02 + -2.978938668856917e+02 -2.980296503111913e+02 -2.981654803674056e+02 -2.983013571739824e+02 -2.984372806328453e+02 + -2.985732506311156e+02 -2.987092672144286e+02 -2.988453304703744e+02 -2.989814404958496e+02 -2.991175973412398e+02 + -2.992538008615809e+02 -2.993900509369414e+02 -2.995263477428711e+02 -2.996626914493826e+02 -2.997990819088619e+02 + -2.999355189707111e+02 -3.000720027900217e+02 -3.002085335269560e+02 -3.003451110562723e+02 -3.004817352353309e+02 + -3.006184061373012e+02 -3.007551238767678e+02 -3.008918885181671e+02 -3.010287000846923e+02 -3.011655584847104e+02 + -3.013024636430795e+02 -3.014394156654455e+02 -3.015764146559894e+02 -3.017134605322491e+02 -3.018505532010304e+02 + -3.019876927128527e+02 -3.021248791518991e+02 -3.022621125932933e+02 -3.023993930706231e+02 -3.025367204603900e+02 + -3.026740946641424e+02 -3.028115158406990e+02 -3.029489841386069e+02 -3.030864994080570e+02 -3.032240615026816e+02 + -3.033616705882347e+02 -3.034993268395738e+02 -3.036370301558538e+02 -3.037747804087723e+02 -3.039125776359002e+02 + -3.040504219146317e+02 -3.041883133157825e+02 -3.043262518737324e+02 -3.044642374836954e+02 -3.046022700638564e+02 + -3.047403497634464e+02 -3.048784767248004e+02 -3.050166508316213e+02 -3.051548719471290e+02 -3.052931401112401e+02 + -3.054314554166776e+02 -3.055698179906950e+02 -3.057082279030724e+02 -3.058466849591645e+02 -3.059851889955948e+02 + -3.061237402384871e+02 -3.062623389075358e+02 -3.064009848072192e+02 -3.065396777363650e+02 -3.066784178864098e+02 + -3.068172054654241e+02 -3.069560403554044e+02 -3.070949224023651e+02 -3.072338516344630e+02 -3.073728281334552e+02 + -3.075118520133569e+02 -3.076509233435525e+02 -3.077900419826468e+02 -3.079292078053290e+02 -3.080684209614084e+02 + -3.082076816048298e+02 -3.083469896309615e+02 -3.084863449149456e+02 -3.086257475095906e+02 -3.087651975081579e+02 + -3.089046949880547e+02 -3.090442399817611e+02 -3.091838323579038e+02 -3.093234720151574e+02 -3.094631591362355e+02 + -3.096028938900603e+02 -3.097426761063483e+02 -3.098825056148365e+02 -3.100223825845469e+02 -3.101623071983122e+02 + -3.103022793549238e+02 -3.104422989228102e+02 -3.105823659329897e+02 -3.107224804626276e+02 -3.108626426108901e+02 + -3.110028524323948e+02 -3.111431097815640e+02 -3.112834145351391e+02 -3.114237668593314e+02 -3.115641669247677e+02 + -3.117046146302696e+02 -3.118451098470761e+02 -3.119856526079039e+02 -3.121262429897644e+02 -3.122668810853719e+02 + -3.124075669478935e+02 -3.125483004566077e+02 -3.126890815070839e+02 -3.128299102339429e+02 -3.129707867704560e+02 + -3.131117110054437e+02 -3.132526828292356e+02 -3.133937023826453e+02 -3.135347698019019e+02 -3.136758849544115e+02 + -3.138170476993112e+02 -3.139582581314797e+02 -3.140995163841689e+02 -3.142408225083815e+02 -3.143821765079714e+02 + -3.145235782804463e+02 -3.146650277504123e+02 -3.148065250572144e+02 -3.149480703283944e+02 -3.150896634295446e+02 + -3.152313042212708e+02 -3.153729928061792e+02 -3.155147293192109e+02 -3.156565137826469e+02 -3.157983461803634e+02 + -3.159402264552761e+02 -3.160821545730877e+02 -3.162241306316100e+02 -3.163661547129774e+02 -3.165082267045055e+02 + -3.166503465083330e+02 -3.167925142807053e+02 -3.169347301718565e+02 -3.170769940538677e+02 -3.172193057829434e+02 + -3.173616654299331e+02 -3.175040731106142e+02 -3.176465289058318e+02 -3.177890328440690e+02 -3.179315847792938e+02 + -3.180741845934695e+02 -3.182168324550577e+02 -3.183595285351408e+02 -3.185022727287870e+02 -3.186450649049847e+02 + -3.187879051044167e+02 -3.189307934072479e+02 -3.190737298798787e+02 -3.192167145562098e+02 -3.193597473539087e+02 + -3.195028282067584e+02 -3.196459572292360e+02 -3.197891345287240e+02 -3.199323600035334e+02 -3.200756335516368e+02 + -3.202189552787263e+02 -3.203623252990410e+02 -3.205057435532916e+02 -3.206492099607363e+02 -3.207927245283494e+02 + -3.209362873029775e+02 -3.210798984032395e+02 -3.212235579095965e+02 -3.213672656781062e+02 -3.215110215776564e+02 + -3.216548257528610e+02 -3.217986783602123e+02 -3.219425793279964e+02 -3.220865285490494e+02 -3.222305260026159e+02 + -3.223745717228416e+02 -3.225186658770672e+02 -3.226628085862362e+02 -3.228069996525048e+02 -3.229512388959131e+02 + -3.230955265268207e+02 -3.232398627556209e+02 -3.233842474025269e+02 -3.235286802821290e+02 -3.236731615767077e+02 + -3.238176914785998e+02 -3.239622698526831e+02 -3.241068965416273e+02 -3.242515716267282e+02 -3.243962952303619e+02 + -3.245410674006047e+02 -3.246858881442026e+02 -3.248307573768830e+02 -3.249756750377737e+02 -3.251206412506237e+02 + -3.252656561247559e+02 -3.254107195271718e+02 -3.255558313340717e+02 -3.257009917007768e+02 -3.258462007853361e+02 + -3.259914584775946e+02 -3.261367646471811e+02 -3.262821193510638e+02 -3.264275226864755e+02 -3.265729747243638e+02 + -3.267184754961565e+02 -3.268640249014856e+02 -3.270096228564299e+02 -3.271552694746495e+02 -3.273009648690628e+02 + -3.274467089520415e+02 -3.275925016223748e+02 -3.277383429250694e+02 -3.278842329472037e+02 -3.280301717979274e+02 + -3.281761595333842e+02 -3.283221959756238e+02 -3.284682809773962e+02 -3.286144147483458e+02 -3.287605974914733e+02 + -3.289068290263132e+02 -3.290531091681708e+02 -3.291994380988984e+02 -3.293458160115122e+02 -3.294922427771376e+02 + -3.296387182388717e+02 -3.297852424495862e+02 -3.299318155124273e+02 -3.300784375218649e+02 -3.302251085265343e+02 + -3.303718284004092e+02 -3.305185970357408e+02 -3.306654145725511e+02 -3.308122811494171e+02 -3.309591966513669e+02 + -3.311061609508276e+02 -3.312531741233722e+02 -3.314002362831168e+02 -3.315473474952068e+02 -3.316945077733321e+02 + -3.318417169743284e+02 -3.319889749946440e+02 -3.321362820460264e+02 -3.322836383216903e+02 -3.324310436254205e+02 + -3.325784977579187e+02 -3.327260008969810e+02 -3.328735532388732e+02 -3.330211546766479e+02 -3.331688050699581e+02 + -3.333165044480712e+02 -3.334642528918999e+02 -3.336120505193238e+02 -3.337598974031960e+02 -3.339077933992973e+02 + -3.340557383761620e+02 -3.342037324704123e+02 -3.343517758263186e+02 -3.344998683506588e+02 -3.346480099317598e+02 + -3.347962006216366e+02 -3.349444405123485e+02 -3.350927296924430e+02 -3.352410681997821e+02 -3.353894558729969e+02 + -3.355378925848257e+02 -3.356863785436656e+02 -3.358349139484366e+02 -3.359834986244929e+02 -3.361321323883865e+02 + -3.362808153950241e+02 -3.364295478191028e+02 -3.365783295761255e+02 -3.367271605486342e+02 -3.368760407465185e+02 + -3.370249702279324e+02 -3.371739491167402e+02 -3.373229774932894e+02 -3.374720551981496e+02 -3.376211820935624e+02 + -3.377703583682330e+02 -3.379195842066430e+02 -3.380688594499171e+02 -3.382181839217990e+02 -3.383675577198622e+02 + -3.385169809890102e+02 -3.386664537896355e+02 -3.388159761271593e+02 -3.389655478716282e+02 -3.391151689236262e+02 + -3.392648394412631e+02 -3.394145595795439e+02 -3.395643292235305e+02 -3.397141482525620e+02 -3.398640167930273e+02 + -3.400139349724158e+02 -3.401639026755699e+02 -3.403139197760493e+02 -3.404639863449279e+02 -3.406141024957107e+02 + -3.407642683141136e+02 -3.409144838324194e+02 -3.410647488969659e+02 -3.412150633828331e+02 -3.413654274660125e+02 + -3.415158413252182e+02 -3.416663048491409e+02 -3.418168178992377e+02 -3.419673805180489e+02 -3.421179927901010e+02 + -3.422686547867838e+02 -3.424193665441726e+02 -3.425701279702224e+02 -3.427209389917095e+02 -3.428717997388184e+02 + -3.430227103286458e+02 -3.431736706225328e+02 -3.433246804902436e+02 -3.434757400909901e+02 -3.436268495884827e+02 + -3.437780088749811e+02 -3.439292178162220e+02 -3.440804764432992e+02 -3.442317848369893e+02 -3.443831431114438e+02 + -3.445345513395477e+02 -3.446860093957458e+02 -3.448375171638715e+02 -3.449890747637513e+02 -3.451406823209921e+02 + -3.452923397483303e+02 -3.454440469383874e+02 -3.455958039161959e+02 -3.457476107544265e+02 -3.458994675838882e+02 + -3.460513744837874e+02 -3.462033312687789e+02 -3.463553377809081e+02 -3.465073942363314e+02 -3.466595008454457e+02 + -3.468116574214998e+02 -3.469638637732855e+02 -3.471161200889126e+02 -3.472684265676839e+02 -3.474207830743587e+02 + -3.475731894457752e+02 -3.477256457416318e+02 -3.478781520698926e+02 -3.480307085087305e+02 -3.481833150905516e+02 + -3.483359716944890e+02 -3.484886782275422e+02 -3.486414348614480e+02 -3.487942417546251e+02 -3.489470987474849e+02 + -3.491000056682386e+02 -3.492529626143035e+02 -3.494059697303613e+02 -3.495590270809477e+02 -3.497121346735108e+02 + -3.498652923672977e+02 -3.500185000578142e+02 -3.501717579338015e+02 -3.503250661735650e+02 -3.504784246204307e+02 + -3.506318331106053e+02 -3.507852917867942e+02 -3.509388008057230e+02 -3.510923600737020e+02 -3.512459694729739e+02 + -3.513996290399252e+02 -3.515533388531561e+02 -3.517070990059733e+02 -3.518609095547224e+02 -3.520147703931951e+02 + -3.521686814254426e+02 -3.523226427591028e+02 -3.524766545004363e+02 -3.526307165466042e+02 -3.527848288024159e+02 + -3.529389914123712e+02 -3.530932045168612e+02 -3.532474680001527e+02 -3.534017817301934e+02 -3.535561457657783e+02 + -3.537105602073667e+02 -3.538650251312291e+02 -3.540195405716707e+02 -3.541741064193253e+02 -3.543287225825957e+02 + -3.544833891846346e+02 -3.546381063473606e+02 -3.547928739730113e+02 -3.549476919508821e+02 -3.551025603381796e+02 + -3.552574792297605e+02 -3.554124487031720e+02 -3.555674687945711e+02 -3.557225393918643e+02 -3.558776604020463e+02 + -3.560328319567154e+02 -3.561880541805177e+02 -3.563433269456882e+02 -3.564986501330765e+02 -3.566540239103983e+02 + -3.568094484429710e+02 -3.569649235996524e+02 -3.571204492251743e+02 -3.572760253642205e+02 -3.574316521198430e+02 + -3.575873296286128e+02 -3.577430579645793e+02 -3.578988369181832e+02 -3.580546663122107e+02 -3.582105463824335e+02 + -3.583664773634632e+02 -3.585224590722860e+02 -3.586784912980774e+02 -3.588345741363943e+02 -3.589907077420278e+02 + -3.591468922003262e+02 -3.593031275347307e+02 -3.594594135904955e+02 -3.596157502414973e+02 -3.597721376542854e+02 + -3.599285759961583e+02 -3.600850651447366e+02 -3.602416049709182e+02 -3.603981956083848e+02 -3.605548371920680e+02 + -3.607115295991184e+02 -3.608682726958015e+02 -3.610250665626241e+02 -3.611819113190277e+02 -3.613388070259530e+02 + -3.614957536972620e+02 -3.616527512170044e+02 -3.618097994957786e+02 -3.619668986801910e+02 -3.621240489112448e+02 + -3.622812500715253e+02 -3.624385020268735e+02 -3.625958048345691e+02 -3.627531585959862e+02 -3.629105633974360e+02 + -3.630680192762735e+02 -3.632255260890885e+02 -3.633830837209757e+02 -3.635406923518125e+02 -3.636983521500620e+02 + -3.638560629437486e+02 -3.640138245654421e+02 -3.641716372063300e+02 -3.643295010634408e+02 -3.644874159985495e+02 + -3.646453818454157e+02 -3.648033986609884e+02 -3.649614665547653e+02 -3.651195856232492e+02 -3.652777559169987e+02 + -3.654359773157880e+02 -3.655942497193339e+02 -3.657525732779061e+02 -3.659109481367831e+02 -3.660693741707290e+02 + -3.662278512419212e+02 -3.663863794327037e+02 -3.665449588644519e+02 -3.667035895945005e+02 -3.668622716357800e+02 + -3.670210048876434e+02 -3.671797892763418e+02 -3.673386249492966e+02 -3.674975120447079e+02 -3.676564504427247e+02 + -3.678154400208724e+02 -3.679744809042344e+02 -3.681335732252156e+02 -3.682927168979475e+02 -3.684519118222935e+02 + -3.686111580593141e+02 -3.687704557033292e+02 -3.689298048205014e+02 -3.690892054329191e+02 -3.692486574145354e+02 + -3.694081606700869e+02 -3.695677153755793e+02 -3.697273216946131e+02 -3.698869794698993e+02 -3.700466885253786e+02 + -3.702064489307988e+02 -3.703662608017668e+02 -3.705261241915196e+02 -3.706860391012269e+02 -3.708460053861607e+02 + -3.710060229388483e+02 -3.711660919467376e+02 -3.713262125796104e+02 -3.714863846416646e+02 -3.716466079328989e+02 + -3.718068826020972e+02 -3.719672088201144e+02 -3.721275864973102e+02 -3.722880155098476e+02 -3.724484958575989e+02 + -3.726090275883345e+02 -3.727696108177087e+02 -3.729302456171431e+02 -3.730909318132427e+02 -3.732516692484294e+02 + -3.734124580732086e+02 -3.735732984485285e+02 -3.737341902690280e+02 -3.738951333966488e+02 -3.740561278288502e+02 + -3.742171736164895e+02 -3.743782708884933e+02 -3.745394197314636e+02 -3.747006199846337e+02 -3.748618715145197e+02 + -3.750231745441332e+02 -3.751845292967938e+02 -3.753459356405600e+02 -3.755073934398666e+02 -3.756689028999150e+02 + -3.758304642401999e+02 -3.759920773966298e+02 -3.761537422764503e+02 -3.763154589558405e+02 -3.764772275566993e+02 + -3.766390482148706e+02 -3.768009210261144e+02 -3.769628459119104e+02 -3.771248228066682e+02 -3.772868518707951e+02 + -3.774489332703654e+02 -3.776110669681248e+02 -3.777732529036114e+02 -3.779354911268638e+02 -3.780977817328078e+02 + -3.782601248854201e+02 -3.784225207068740e+02 -3.785849690830777e+02 -3.787474699201715e+02 -3.789100234414875e+02 + -3.790726298611719e+02 -3.792352890394379e+02 -3.793980008403989e+02 -3.795607654977005e+02 -3.797235832511840e+02 + -3.798864539959452e+02 -3.800493775732837e+02 -3.802123539540593e+02 -3.803753831256555e+02 -3.805384650119894e+02 + -3.807015994897982e+02 -3.808647863105625e+02 -3.810280252452890e+02 -3.811913162683451e+02 -3.813546593533040e+02 + -3.815180542672069e+02 -3.816815007606327e+02 -3.818449987248433e+02 -3.820085480876401e+02 -3.821721487823003e+02 + -3.823358007029311e+02 -3.824995035814819e+02 -3.826632571794644e+02 -3.828270615387958e+02 -3.829909166775790e+02 + -3.831548222382581e+02 -3.833187778788636e+02 -3.834827836954302e+02 -3.836468397830658e+02 -3.838109457951704e+02 + -3.839751013606573e+02 -3.841393064522010e+02 -3.843035610985582e+02 -3.844678652090594e+02 -3.846322186342679e+02 + -3.847966211091070e+02 -3.849610723938522e+02 -3.851255724658270e+02 -3.852901213276589e+02 -3.854547188661456e+02 + -3.856193651039130e+02 -3.857840607227301e+02 -3.859488064858506e+02 -3.861136028233281e+02 -3.862784501283425e+02 + -3.864433489797775e+02 -3.866083000045549e+02 -3.867733038360474e+02 -3.869383610689728e+02 -3.871034721369783e+02 + -3.872686374886131e+02 -3.874338577931016e+02 -3.875991337168530e+02 -3.877644656943423e+02 -3.879298541437876e+02 + -3.880952996503134e+02 -3.882608028487801e+02 -3.884263644060860e+02 -3.885919849359946e+02 -3.887576648076931e+02 + -3.889234044110585e+02 -3.890892044633024e+02 -3.892550656828005e+02 -3.894209884652491e+02 -3.895869732058733e+02 + -3.897530206206903e+02 -3.899191314265681e+02 -3.900853060229904e+02 -3.902515447813749e+02 -3.904178482782592e+02 + -3.905842171832736e+02 -3.907506523333024e+02 -3.909171542011455e+02 -3.910837216360146e+02 -3.912503530200719e+02 + -3.914170464908692e+02 -3.915838000867597e+02 -3.917506116939103e+02 -3.919174791997058e+02 -3.920844006485843e+02 + -3.922513741233318e+02 -3.924183977030698e+02 -3.925854694180132e+02 -3.927525871064144e+02 -3.929197486330507e+02 + -3.930869521607613e+02 -3.932541958513385e+02 -3.934214775643266e+02 -3.935887951493436e+02 -3.937561467185514e+02 + -3.939235303999417e+02 -3.940909441222876e+02 -3.942583857858931e+02 -3.944258533764072e+02 -3.945933449213566e+02 + -3.947608585304349e+02 -3.949283922804248e+02 -3.950959440342958e+02 -3.952635116636291e+02 -3.954310932882606e+02 + -3.955986870327357e+02 -3.957662907921835e+02 -3.959339024467546e+02 -3.961015200461023e+02 -3.962691416638499e+02 + 1.070000000000000e-01 1.069682658750319e-01 1.069365186252596e-01 1.069047582677665e-01 1.068729848196356e-01 + 1.068411982979503e-01 1.068093987197937e-01 1.067775861022493e-01 1.067457604624000e-01 1.067139218173294e-01 + 1.066820701841205e-01 1.066502055798566e-01 1.066183280216209e-01 1.065864375264968e-01 1.065545341115673e-01 + 1.065226177939159e-01 1.064906885906257e-01 1.064587465187799e-01 1.064267915954618e-01 1.063948238377547e-01 + 1.063628432627417e-01 1.063308498875062e-01 1.062988437291314e-01 1.062668248047005e-01 1.062347931312967e-01 + 1.062027487260033e-01 1.061706916059036e-01 1.061386217880807e-01 1.061065392896180e-01 1.060744441275985e-01 + 1.060423363191058e-01 1.060102158812228e-01 1.059780828310330e-01 1.059459371856195e-01 1.059137789620655e-01 + 1.058816081774544e-01 1.058494248488693e-01 1.058172289933936e-01 1.057850206281103e-01 1.057527997701029e-01 + 1.057205664364545e-01 1.056883206442483e-01 1.056560624105677e-01 1.056237917524958e-01 1.055915086871159e-01 + 1.055592132315112e-01 1.055269054027650e-01 1.054945852179606e-01 1.054622526941811e-01 1.054299078485097e-01 + 1.053975506980299e-01 1.053651812598247e-01 1.053327995509774e-01 1.053004055885713e-01 1.052679993896897e-01 + 1.052355809714157e-01 1.052031503508325e-01 1.051707075450236e-01 1.051382525710719e-01 1.051057854460610e-01 + 1.050733061870738e-01 1.050408148111938e-01 1.050083113355042e-01 1.049757957770881e-01 1.049432681530288e-01 + 1.049107284804097e-01 1.048781767763138e-01 1.048456130578245e-01 1.048130373420250e-01 1.047804496459986e-01 + 1.047478499868284e-01 1.047152383815977e-01 1.046826148473898e-01 1.046499794012880e-01 1.046173320603753e-01 + 1.045846728417352e-01 1.045520017624508e-01 1.045193188396054e-01 1.044866240902822e-01 1.044539175315645e-01 + 1.044211991805354e-01 1.043884690542783e-01 1.043557271698764e-01 1.043229735444130e-01 1.042902081949712e-01 + 1.042574311386343e-01 1.042246423924855e-01 1.041918419736082e-01 1.041590298990855e-01 1.041262061860007e-01 + 1.040933708514369e-01 1.040605239124776e-01 1.040276653862059e-01 1.039947952897050e-01 1.039619136400582e-01 + 1.039290204543487e-01 1.038961157496599e-01 1.038631995430748e-01 1.038302718516768e-01 1.037973326925491e-01 + 1.037643820827749e-01 1.037314200394375e-01 1.036984465796201e-01 1.036654617204061e-01 1.036324654788785e-01 + 1.035994578721206e-01 1.035664389172158e-01 1.035334086312472e-01 1.035003670312980e-01 1.034673141344516e-01 + 1.034342499577912e-01 1.034011745183999e-01 1.033680878333612e-01 1.033349899197580e-01 1.033018807946739e-01 + 1.032687604751918e-01 1.032356289783953e-01 1.032024863213673e-01 1.031693325211913e-01 1.031361675949504e-01 + 1.031029915597278e-01 1.030698044326069e-01 1.030366062306709e-01 1.030033969710030e-01 1.029701766706864e-01 + 1.029369453468044e-01 1.029037030164402e-01 1.028704496966771e-01 1.028371854045984e-01 1.028039101572872e-01 + 1.027706239718267e-01 1.027373268653004e-01 1.027040188547913e-01 1.026706999573827e-01 1.026373701901580e-01 + 1.026040295702002e-01 1.025706781145926e-01 1.025373158404186e-01 1.025039427647613e-01 1.024705589047040e-01 + 1.024371642773299e-01 1.024037588997223e-01 1.023703427889643e-01 1.023369159621393e-01 1.023034784363305e-01 + 1.022700302286212e-01 1.022365713560945e-01 1.022031018358337e-01 1.021696216849221e-01 1.021361309204428e-01 + 1.021026295594792e-01 1.020691176191145e-01 1.020355951164319e-01 1.020020620685147e-01 1.019685184924461e-01 + 1.019349644053093e-01 1.019013998241876e-01 1.018678247661643e-01 1.018342392483225e-01 1.018006432877456e-01 + 1.017670369015167e-01 1.017334201067191e-01 1.016997929204361e-01 1.016661553597508e-01 1.016325074417466e-01 + 1.015988491835066e-01 1.015651806021141e-01 1.015315017146524e-01 1.014978125382047e-01 1.014641130898543e-01 + 1.014304033866843e-01 1.013966834457780e-01 1.013629532842187e-01 1.013292129190896e-01 1.012954623674739e-01 + 1.012617016464549e-01 1.012279307731159e-01 1.011941497645400e-01 1.011603586378106e-01 1.011265574100107e-01 + 1.010927460982239e-01 1.010589247195331e-01 1.010250932910217e-01 1.009912518297729e-01 1.009574003528701e-01 + 1.009235388773963e-01 1.008896674204348e-01 1.008557859990690e-01 1.008218946303820e-01 1.007879933314571e-01 + 1.007540821193774e-01 1.007201610112264e-01 1.006862300240872e-01 1.006522891750429e-01 1.006183384811770e-01 + 1.005843779595726e-01 1.005504076273130e-01 1.005164275014813e-01 1.004824375991610e-01 1.004484379374351e-01 + 1.004144285333870e-01 1.003804094040999e-01 1.003463805666569e-01 1.003123420381414e-01 1.002782938356367e-01 + 1.002442359762259e-01 1.002101684769922e-01 1.001760913550190e-01 1.001420046273895e-01 1.001079083111869e-01 + 1.000738024234945e-01 1.000396869813954e-01 1.000055620019730e-01 9.997142750231042e-02 9.993728349949102e-02 + 9.990313001059796e-02 9.986896705271456e-02 9.983479464292398e-02 9.980061279830947e-02 9.976642153595434e-02 + 9.973222087294174e-02 9.969801082635499e-02 9.966379141327726e-02 9.962956265079187e-02 9.959532455598200e-02 + 9.956107714593093e-02 9.952682043772192e-02 9.949255444843813e-02 9.945827919516288e-02 9.942399469497937e-02 + 9.938970096497086e-02 9.935539802222057e-02 9.932108588381178e-02 9.928676456682770e-02 9.925243408835159e-02 + 9.921809446546671e-02 9.918374571525623e-02 9.914938785480347e-02 9.911502090119163e-02 9.908064487150398e-02 + 9.904625978282372e-02 9.901186565223413e-02 9.897746249681845e-02 9.894305033365988e-02 9.890862917984172e-02 + 9.887419905244718e-02 9.883975996855951e-02 9.880531194526194e-02 9.877085499963774e-02 9.873638914877009e-02 + 9.870191440974231e-02 9.866743079963761e-02 9.863293833553920e-02 9.859843703453038e-02 9.856392691369432e-02 + 9.852940799011436e-02 9.849488028087365e-02 9.846034380305550e-02 9.842579857374308e-02 9.839124461001970e-02 + 9.835668192896858e-02 9.832211054767293e-02 9.828753048321603e-02 9.825294175268109e-02 9.821834437315143e-02 + 9.818373836171017e-02 9.814912373544066e-02 9.811450051142606e-02 9.807986870674969e-02 9.804522833849474e-02 + 9.801057942374444e-02 9.797592197958208e-02 9.794125602309085e-02 9.790658157135405e-02 9.787189864145487e-02 + 9.783720725047659e-02 9.780250741550246e-02 9.776779915361565e-02 9.773308248189948e-02 9.769835741743713e-02 + 9.766362397731190e-02 9.762888217860698e-02 9.759413203840565e-02 9.755937357379113e-02 9.752460680184671e-02 + 9.748983173965557e-02 9.745504840430097e-02 9.742025681286617e-02 9.738545698243438e-02 9.735064893008888e-02 + 9.731583267291286e-02 9.728100822798963e-02 9.724617561240236e-02 9.721133484323437e-02 9.717648593756885e-02 + 9.714162891248904e-02 9.710676378507821e-02 9.707189057241956e-02 9.703700929159639e-02 9.700211995969188e-02 + 9.696722259378933e-02 9.693231721097194e-02 9.689740382832296e-02 9.686248246292567e-02 9.682755313186324e-02 + 9.679261585221899e-02 9.675767064107609e-02 9.672271751551782e-02 9.668775649262741e-02 9.665278758948814e-02 + 9.661781082318323e-02 9.658282621079586e-02 9.654783376940938e-02 9.651283351610694e-02 9.647782546797186e-02 + 9.644280964208730e-02 9.640778605553657e-02 9.637275472540287e-02 9.633771566876947e-02 9.630266890271960e-02 + 9.626761444433649e-02 9.623255231070338e-02 9.619748251890356e-02 9.616240508602021e-02 9.612732002913663e-02 + 9.609222736533599e-02 9.605712711170160e-02 9.602201928531666e-02 9.598690390326445e-02 9.595178098262819e-02 + 9.591665054049109e-02 9.588151259393644e-02 9.584636716004745e-02 9.581121425590743e-02 9.577605389859950e-02 + 9.574088610520702e-02 9.570571089281314e-02 9.567052827850117e-02 9.563533827935435e-02 9.560014091245586e-02 + 9.556493619488900e-02 9.552972414373699e-02 9.549450477608308e-02 9.545927810901049e-02 9.542404415960248e-02 + 9.538880294494230e-02 9.535355448211316e-02 9.531829878819836e-02 9.528303588028109e-02 9.524776577544461e-02 + 9.521248849077216e-02 9.517720404334697e-02 9.514191245025229e-02 9.510661372857139e-02 9.507130789538748e-02 + 9.503599496778380e-02 9.500067496284360e-02 9.496534789765015e-02 9.493001378928664e-02 9.489467265483635e-02 + 9.485932451138250e-02 9.482396937600834e-02 9.478860726579713e-02 9.475323819783207e-02 9.471786218919645e-02 + 9.468247925697347e-02 9.464708941824643e-02 9.461169269009850e-02 9.457628908961296e-02 9.454087863387305e-02 + 9.450546133996199e-02 9.447003722496307e-02 9.443460630595948e-02 9.439916860003450e-02 9.436372412427137e-02 + 9.432827289575330e-02 9.429281493156354e-02 9.425735024878537e-02 9.422187886450198e-02 9.418640079579664e-02 + 9.415091605975259e-02 9.411542467345307e-02 9.407992665398136e-02 9.404442201842063e-02 9.400891078385415e-02 + 9.397339296736518e-02 9.393786858603695e-02 9.390233765695270e-02 9.386680019719568e-02 9.383125622384911e-02 + 9.379570575399625e-02 9.376014880472036e-02 9.372458539310466e-02 9.368901553623238e-02 9.365343925118678e-02 + 9.361785655505112e-02 9.358226746490858e-02 9.354667199784246e-02 9.351107017093598e-02 9.347546200127239e-02 + 9.343984750593494e-02 9.340422670200685e-02 9.336859960657137e-02 9.333296623671174e-02 9.329732660951121e-02 + 9.326168074205300e-02 9.322602865142039e-02 9.319037035469660e-02 9.315470586896488e-02 9.311903521130845e-02 + 9.308335839881057e-02 9.304767544855448e-02 9.301198637762342e-02 9.297629120310064e-02 9.294058994206936e-02 + 9.290488261161287e-02 9.286916922881436e-02 9.283344981075708e-02 9.279772437452428e-02 9.276199293719922e-02 + 9.272625551586512e-02 9.269051212760523e-02 9.265476278950278e-02 9.261900751864104e-02 9.258324633210324e-02 + 9.254747924697261e-02 9.251170628033240e-02 9.247592744926583e-02 9.244014277085617e-02 9.240435226218666e-02 + 9.236855594034055e-02 9.233275382240104e-02 9.229694592545142e-02 9.226113226657491e-02 9.222531286285476e-02 + 9.218948773137420e-02 9.215365688921646e-02 9.211782035346482e-02 9.208197814120249e-02 9.204613026951274e-02 + 9.201027675547878e-02 9.197441761618388e-02 9.193855286871126e-02 9.190268253014419e-02 9.186680661756588e-02 + 9.183092514805957e-02 9.179503813870854e-02 9.175914560659600e-02 9.172324756880521e-02 9.168734404241941e-02 + 9.165143504452181e-02 9.161552059219569e-02 9.157960070252427e-02 9.154367539259080e-02 9.150774467947854e-02 + 9.147180858027071e-02 9.143586711205055e-02 9.139992029190132e-02 9.136396813690625e-02 9.132801066414858e-02 + 9.129204789071155e-02 9.125607983367841e-02 9.122010651013239e-02 9.118412793715676e-02 9.114814413183472e-02 + 9.111215511124955e-02 9.107616089248448e-02 9.104016149262276e-02 9.100415692874760e-02 9.096814721794225e-02 + 9.093213237728998e-02 9.089611242387401e-02 9.086008737477760e-02 9.082405724708396e-02 9.078802205787638e-02 + 9.075198182423806e-02 9.071593656325225e-02 9.067988629200220e-02 9.064383102757116e-02 9.060777078704237e-02 + 9.057170558749904e-02 9.053563544602444e-02 9.049956037970180e-02 9.046348040561442e-02 9.042739554084545e-02 + 9.039130580247817e-02 9.035521120759583e-02 9.031911177328168e-02 9.028300751661894e-02 9.024689845469086e-02 + 9.021078460458068e-02 9.017466598337168e-02 9.013854260814702e-02 9.010241449599002e-02 9.006628166398388e-02 + 9.003014412921184e-02 8.999400190875718e-02 8.995785501970310e-02 8.992170347913286e-02 8.988554730412972e-02 + 8.984938651177689e-02 8.981322111915761e-02 8.977705114335516e-02 8.974087660145275e-02 8.970469751053363e-02 + 8.966851388768103e-02 8.963232574997822e-02 8.959613311450842e-02 8.955993599835491e-02 8.952373441860086e-02 + 8.948752839232957e-02 8.945131793662427e-02 8.941510306856817e-02 8.937888380524456e-02 8.934266016373665e-02 + 8.930643216112769e-02 8.927019981450095e-02 8.923396314093963e-02 8.919772215752698e-02 8.916147688134625e-02 + 8.912522732948071e-02 8.908897351901354e-02 8.905271546702803e-02 8.901645319060740e-02 8.898018670683491e-02 + 8.894391603279379e-02 8.890764118556729e-02 8.887136218223864e-02 8.883507903989107e-02 8.879879177560786e-02 + 8.876250040647221e-02 8.872620494956741e-02 8.868990542197666e-02 8.865360184078323e-02 8.861729422307035e-02 + 8.858098258592126e-02 8.854466694641919e-02 8.850834732164740e-02 8.847202372868912e-02 8.843569618462761e-02 + 8.839936470654611e-02 8.836302931152785e-02 8.832669001665606e-02 8.829034683901400e-02 8.825399979568492e-02 + 8.821764890375206e-02 8.818129418029862e-02 8.814493564240788e-02 8.810857330716310e-02 8.807220719164749e-02 + 8.803583731294432e-02 8.799946368813677e-02 8.796308633430815e-02 8.792670526854167e-02 8.789032050792057e-02 + 8.785393206952812e-02 8.781753997044753e-02 8.778114422776205e-02 8.774474485855495e-02 8.770834187990943e-02 + 8.767193530890875e-02 8.763552516263615e-02 8.759911145817488e-02 8.756269421260816e-02 8.752627344301928e-02 + 8.748984916649143e-02 8.745342140010788e-02 8.741699016095185e-02 8.738055546610660e-02 8.734411733265539e-02 + 8.730767577768141e-02 8.727123081826793e-02 8.723478247149821e-02 8.719833075445547e-02 8.716187568422298e-02 + 8.712541727788393e-02 8.708895555252159e-02 8.705249052521923e-02 8.701602221306004e-02 8.697955063312730e-02 + 8.694307580250422e-02 8.690659773827408e-02 8.687011645752010e-02 8.683363197732555e-02 8.679714431477362e-02 + 8.676065348694757e-02 8.672415951093065e-02 8.668766240380611e-02 8.665116218265721e-02 8.661465886456714e-02 + 8.657815246661917e-02 8.654164300589655e-02 8.650513049948251e-02 8.646861496446030e-02 8.643209641791315e-02 + 8.639557487692430e-02 8.635905035857701e-02 8.632252287995451e-02 8.628599245814005e-02 8.624945911021686e-02 + 8.621292285326819e-02 8.617638370437727e-02 8.613984168062737e-02 8.610329679910171e-02 8.606674907688353e-02 + 8.603019853105608e-02 8.599364517870259e-02 8.595708903690633e-02 8.592053012275053e-02 8.588396845331842e-02 + 8.584740404569323e-02 8.581083691695822e-02 8.577426708419665e-02 8.573769456449173e-02 8.570111937492672e-02 + 8.566454153258486e-02 8.562796105454940e-02 8.559137795790356e-02 8.555479225973059e-02 8.551820397711374e-02 + 8.548161312713624e-02 8.544501972688134e-02 8.540842379343229e-02 8.537182534387232e-02 8.533522439528468e-02 + 8.529862096475260e-02 8.526201506935933e-02 8.522540672618811e-02 8.518879595232219e-02 8.515218276484479e-02 + 8.511556718083918e-02 8.507894921738858e-02 8.504232889157626e-02 8.500570622048544e-02 8.496908122119934e-02 + 8.493245391080124e-02 8.489582430637438e-02 8.485919242500198e-02 8.482255828376728e-02 8.478592189975355e-02 + 8.474928329004400e-02 8.471264247172190e-02 8.467599946187047e-02 8.463935427757298e-02 8.460270693591267e-02 + 8.456605745397273e-02 8.452940584883646e-02 8.449275213758706e-02 8.445609633730780e-02 8.441943846508193e-02 + 8.438277853799266e-02 8.434611657312326e-02 8.430945258755695e-02 8.427278659837699e-02 8.423611862266661e-02 + 8.419944867750905e-02 8.416277677998756e-02 8.412610294718537e-02 8.408942719618576e-02 8.405274954407191e-02 + 8.401607000792713e-02 8.397938860483460e-02 8.394270535187759e-02 8.390602026613936e-02 8.386933336470312e-02 + 8.383264466465212e-02 8.379595418306962e-02 8.375926193703884e-02 8.372256794364304e-02 8.368587221996546e-02 + 8.364917478308932e-02 8.361247565009787e-02 8.357577483807437e-02 8.353907236410206e-02 8.350236824526415e-02 + 8.346566249864391e-02 8.342895514132459e-02 8.339224619038943e-02 8.335553566292164e-02 8.331882357600448e-02 + 8.328210994672121e-02 8.324539479215504e-02 8.320867812938924e-02 8.317195997550704e-02 8.313524034759166e-02 + 8.309851926272641e-02 8.306179673799445e-02 8.302507279047908e-02 8.298834743726349e-02 8.295162069543097e-02 + 8.291489258206473e-02 8.287816311424805e-02 8.284143230906414e-02 8.280470018359624e-02 8.276796675492762e-02 + 8.273123204014149e-02 8.269449605632111e-02 8.265775882054972e-02 8.262102034991055e-02 8.258428066148686e-02 + 8.254753977236187e-02 8.251079769961885e-02 8.247405446034105e-02 8.243731007161166e-02 8.240056455051395e-02 + 8.236381791413117e-02 8.232707017954656e-02 8.229032136384334e-02 8.225357148410478e-02 8.221682055741411e-02 + 8.218006860085458e-02 8.214331563150944e-02 8.210656166646188e-02 8.206980672279519e-02 8.203305081759260e-02 + 8.199629396793737e-02 8.195953619091272e-02 8.192277750360188e-02 8.188601792308813e-02 8.184925746645468e-02 + 8.181249615078479e-02 8.177573399316168e-02 8.173897101066861e-02 8.170220722038883e-02 8.166544263940556e-02 + 8.162867728480205e-02 8.159191117366156e-02 8.155514432306732e-02 8.151837675010254e-02 8.148160847185050e-02 + 8.144483950539445e-02 8.140806986781760e-02 8.137129957620320e-02 8.133452864763450e-02 8.129775709919475e-02 + 8.126098494796720e-02 8.122421221103504e-02 8.118743890548155e-02 8.115066504838998e-02 8.111389065684355e-02 + 8.107711574792552e-02 8.104034033871912e-02 8.100356444630759e-02 8.096678808777417e-02 8.093001128020215e-02 + 8.089323404067471e-02 8.085645638627510e-02 8.081967833408658e-02 8.078289990119239e-02 8.074612110467576e-02 + 8.070934196161997e-02 8.067256248910820e-02 8.063578270422375e-02 8.059900262404983e-02 8.056222226566968e-02 + 8.052544164616657e-02 8.048866078262369e-02 8.045187969212433e-02 8.041509839175172e-02 8.037831689858911e-02 + 8.034153522971973e-02 8.030475340222681e-02 8.026797143319361e-02 8.023118933970336e-02 8.019440713883932e-02 + 8.015762484768471e-02 8.012084248332278e-02 8.008406006283678e-02 8.004727760330994e-02 8.001049512182555e-02 + 7.997371263546676e-02 7.993693016131688e-02 7.990014771645915e-02 7.986336531797676e-02 7.982658298295300e-02 + 7.978980072847111e-02 7.975301857161432e-02 7.971623652946590e-02 7.967945461910902e-02 7.964267285762699e-02 + 7.960589126210302e-02 7.956910984962039e-02 7.953232863726228e-02 7.949554764211197e-02 7.945876688125271e-02 + 7.942198637176773e-02 7.938520613074028e-02 7.934842617525358e-02 7.931164652239087e-02 7.927486718923542e-02 + 7.923808819287045e-02 7.920130955037924e-02 7.916453127884499e-02 7.912775339535094e-02 7.909097591698037e-02 + 7.905419886081648e-02 7.901742224394255e-02 7.898064608344180e-02 7.894387039639746e-02 7.890709519989279e-02 + 7.887032051101103e-02 7.883354634683543e-02 7.879677272444922e-02 7.875999966093565e-02 7.872322717337794e-02 + 7.868645527885937e-02 7.864968399446313e-02 7.861291333727252e-02 7.857614332437074e-02 7.853937397284104e-02 + 7.850260529976670e-02 7.846583732223091e-02 7.842907005731693e-02 7.839230352210801e-02 7.835553773368738e-02 + 7.831877270913830e-02 7.828200846554398e-02 7.824524501998768e-02 7.820848238955266e-02 7.817172059132216e-02 + 7.813495964237939e-02 7.809819955980761e-02 7.806144036069006e-02 7.802468206210998e-02 7.798792468115062e-02 + 7.795116823489523e-02 7.791441274042703e-02 7.787765821482928e-02 7.784090467518520e-02 7.780415213857807e-02 + 7.776740062209107e-02 7.773065014280750e-02 7.769390071781057e-02 7.765715236418354e-02 7.762040509900967e-02 + 7.758365893937215e-02 7.754691390235426e-02 7.751017000503922e-02 7.747342726451029e-02 7.743668569785070e-02 + 7.739994532214370e-02 7.736320615447252e-02 7.732646821192042e-02 7.728973151157063e-02 7.725299607050642e-02 + 7.721626190581099e-02 7.717952903456758e-02 7.714279747385946e-02 7.710606724076986e-02 7.706933835238206e-02 + 7.703261082577922e-02 7.699588467804465e-02 7.695915992626157e-02 7.692243658751323e-02 7.688571467888285e-02 + 7.684899421745368e-02 7.681227522030898e-02 7.677555770453198e-02 7.673884168720593e-02 7.670212718541405e-02 + 7.666541421623961e-02 7.662870279676583e-02 7.659199294407595e-02 7.655528467525324e-02 7.651857800738091e-02 + 7.648187295754222e-02 7.644516954282041e-02 7.640846778029871e-02 7.637176768706039e-02 7.633506928018867e-02 + 7.629837257676678e-02 7.626167759387799e-02 7.622498434860552e-02 7.618829285803264e-02 7.615160313924255e-02 + 7.611491520931853e-02 7.607822908534380e-02 7.604154478440163e-02 7.600486232357523e-02 7.596818171994783e-02 + 7.593150299060271e-02 7.589482615262309e-02 7.585815122309225e-02 7.582147821909338e-02 7.578480715770973e-02 + 7.574813805602458e-02 7.571147093112113e-02 7.567480580008265e-02 7.563814267999236e-02 7.560148158793352e-02 + 7.556482254098935e-02 7.552816555624312e-02 7.549151065077807e-02 7.545485784167741e-02 7.541820714602442e-02 + 7.538155858090231e-02 7.534491216339434e-02 7.530826791058375e-02 7.527162583955378e-02 7.523498596738766e-02 + 7.519834831116866e-02 7.516171288797999e-02 7.512507971490495e-02 7.508844880902671e-02 7.505182018742854e-02 + 7.501519386719367e-02 7.497856986540538e-02 7.494194819914687e-02 7.490532888550142e-02 7.486871194155223e-02 + 7.483209738438257e-02 7.479548523107570e-02 7.475887549871482e-02 7.472226820438319e-02 7.468566336516404e-02 + 7.464906099814063e-02 7.461246112039621e-02 7.457586374901400e-02 7.453926890107723e-02 7.450267659366919e-02 + 7.446608684387307e-02 7.442949966877216e-02 7.439291508544965e-02 7.435633311098883e-02 7.431975376247291e-02 + 7.428317705698513e-02 7.424660301160878e-02 7.421003164342704e-02 7.417346296952319e-02 7.413689700698045e-02 + 7.410033377288210e-02 7.406377328431132e-02 7.402721555835140e-02 7.399066061208556e-02 7.395410846259706e-02 + 7.391755912696915e-02 7.388101262228504e-02 7.384446896562798e-02 7.380792817408122e-02 7.377139026472800e-02 + 7.373485525465158e-02 7.369832316093516e-02 7.366179400066203e-02 7.362526779091538e-02 7.358874454877849e-02 + 7.355222429133459e-02 7.351570703566694e-02 7.347919279885876e-02 7.344268159799329e-02 7.340617345015378e-02 + 7.336966837242348e-02 7.333316638188561e-02 7.329666749562345e-02 7.326017173072021e-02 7.322367910425913e-02 + 7.318718963332346e-02 7.315070333499644e-02 7.311422022636133e-02 7.307774032450136e-02 7.304126364649975e-02 + 7.300479020943977e-02 7.296832003040465e-02 7.293185312647765e-02 7.289538951474199e-02 7.285892921228092e-02 + 7.282247223617767e-02 7.278601860351550e-02 7.274956833137766e-02 7.271312143684736e-02 7.267667793700786e-02 + 7.264023784894239e-02 7.260380118973422e-02 7.256736797646657e-02 7.253093822622268e-02 7.249451195608582e-02 + 7.245808918313920e-02 7.242166992446607e-02 7.238525419714967e-02 7.234884201827325e-02 7.231243340492007e-02 + 7.227602837417331e-02 7.223962694311627e-02 7.220322912883217e-02 7.216683494840427e-02 7.213044441891579e-02 + 7.209405755744998e-02 7.205767438109009e-02 7.202129490691934e-02 7.198491915202099e-02 7.194854713347830e-02 + 7.191217886837446e-02 7.187581437379276e-02 7.183945366681642e-02 7.180309676452867e-02 7.176674368401278e-02 + 7.173039444235199e-02 7.169404905662952e-02 7.165770754392863e-02 7.162136992133256e-02 7.158503620592453e-02 + 7.154870641478780e-02 7.151238056500563e-02 7.147605867366123e-02 7.143974075783785e-02 7.140342683461876e-02 + 7.136711692108716e-02 7.133081103432631e-02 7.129450919141947e-02 7.125821140944985e-02 7.122191770550071e-02 + 7.118562809665530e-02 7.114934259999683e-02 7.111306123260858e-02 7.107678401157377e-02 7.104051095397565e-02 + 7.100424207689746e-02 7.096797739742244e-02 7.093171693263382e-02 7.089546069961486e-02 7.085920871544882e-02 + 7.082296099721888e-02 7.078671756200834e-02 7.075047842690044e-02 7.071424360897838e-02 7.067801312532543e-02 + 7.064178699302483e-02 7.060556522915983e-02 7.056934785081363e-02 7.053313487506954e-02 7.049692631901075e-02 + 7.046072219972052e-02 7.042452253428211e-02 7.038832733977872e-02 7.035213663329361e-02 7.031595043191004e-02 + 7.027976875271123e-02 7.024359161278042e-02 7.020741902920087e-02 7.017125101905583e-02 7.013508759942851e-02 + 7.009892878740216e-02 7.006277460006004e-02 7.002662505448538e-02 6.999048016776144e-02 6.995433995697144e-02 + 6.991820443919861e-02 6.988207363152622e-02 6.984594755103750e-02 6.980982621481568e-02 6.977370963994402e-02 + 6.973759784350578e-02 6.970149084258416e-02 6.966538865426242e-02 6.962929129562380e-02 6.959319878375156e-02 + 6.955711113572893e-02 6.952102836863913e-02 6.948495049956542e-02 6.944887754559105e-02 6.941280952379927e-02 + 6.937674645127329e-02 6.934068834509637e-02 6.930463522235174e-02 6.926858710012268e-02 6.923254399549238e-02 + 6.919650592554411e-02 6.916047290736112e-02 6.912444495802665e-02 6.908842209462392e-02 6.905240433423616e-02 + 6.901639169394666e-02 6.898038419083864e-02 6.894438184199533e-02 6.890838466449999e-02 6.887239267543585e-02 + 6.883640589188617e-02 6.880042433093415e-02 6.876444800966307e-02 6.872847694515619e-02 6.869251115449670e-02 + 6.865655065476786e-02 6.862059546305292e-02 6.858464559643512e-02 6.854870107199770e-02 6.851276190682393e-02 + 6.847682811799699e-02 6.844089972260017e-02 6.840497673771671e-02 6.836905918042983e-02 6.833314706782279e-02 + 6.829724041697882e-02 6.826133924498116e-02 6.822544356891308e-02 6.818955340585779e-02 6.815366877289854e-02 + 6.811778968711857e-02 6.808191616560114e-02 6.804604822542948e-02 6.801018588368681e-02 6.797432915745642e-02 + 6.793847806382150e-02 6.790263261986533e-02 6.786679284267115e-02 6.783095874932217e-02 6.779513035690166e-02 + 6.775930768249286e-02 6.772349074317900e-02 6.768767955604332e-02 6.765187413816909e-02 6.761607450663952e-02 + 6.758028067853786e-02 6.754449267094738e-02 6.750871050095128e-02 6.747293418563281e-02 6.743716374207524e-02 + 6.740139918736179e-02 6.736564053857570e-02 6.732988781280023e-02 6.729414102711860e-02 6.725840019861405e-02 + 6.722266534436987e-02 6.718693648146923e-02 6.715121362699542e-02 6.711549679803168e-02 6.707978601166123e-02 + 6.704408128496732e-02 6.700838263503321e-02 6.697269007894212e-02 6.693700363377729e-02 6.690132331662198e-02 + 6.686564914455943e-02 6.682998113467287e-02 6.679431930404556e-02 6.675866366976070e-02 6.672301424890158e-02 + 6.668737105855144e-02 6.665173411579348e-02 6.661610343771096e-02 6.658047904138716e-02 6.654486094390526e-02 + 6.650924916234854e-02 6.647364371380024e-02 6.643804461534360e-02 6.640245188406185e-02 6.636686553703826e-02 + 6.633128559135604e-02 6.629571206409844e-02 6.626014497234871e-02 6.622458433319009e-02 6.618903016370581e-02 + 6.615348248097914e-02 6.611794130209329e-02 6.608240664413152e-02 6.604687852417708e-02 6.601135695931318e-02 + 6.597584196662311e-02 6.594033356319007e-02 6.590483176609731e-02 6.586933659242808e-02 6.583384805926563e-02 + 6.579836618369318e-02 6.576289098279399e-02 6.572742247365128e-02 6.569196067334833e-02 6.565650559896835e-02 + 6.562105726759460e-02 6.558561569631030e-02 6.555018090219872e-02 6.551475290234308e-02 6.547933171382664e-02 + 6.544391735373260e-02 6.540850983914427e-02 6.537310918714484e-02 6.533771541481756e-02 6.530232853924568e-02 + 6.526694857751246e-02 6.523157554670111e-02 6.519620946389489e-02 6.516085034617702e-02 6.512549821063078e-02 + 6.509015307433939e-02 6.505481495438609e-02 6.501948386785412e-02 6.498415983182672e-02 6.494884286338716e-02 + 6.491353297961865e-02 6.487823019760443e-02 6.484293453442776e-02 6.480764600717190e-02 6.477236463292005e-02 + 6.473709042875546e-02 6.470182341176141e-02 6.466656359902111e-02 6.463131100761778e-02 6.459606565463470e-02 + 6.456082755715510e-02 6.452559673226224e-02 6.449037319703932e-02 6.445515696856961e-02 6.441994806393636e-02 + 6.438474650022280e-02 6.434955229451217e-02 6.431436546388770e-02 6.427918602543267e-02 6.424401399623028e-02 + 6.420884939336380e-02 6.417369223391646e-02 6.413854253497149e-02 6.410340031361215e-02 6.406826558692170e-02 + 6.403313837198334e-02 6.399801868588033e-02 6.396290654569593e-02 6.392780196851335e-02 6.389270497141585e-02 + 6.385761557148667e-02 6.382253378580906e-02 6.378745963146625e-02 6.375239312554147e-02 6.371733428511799e-02 + 6.368228312727903e-02 6.364723966910786e-02 6.361220392768768e-02 6.357717592010177e-02 6.354215566343337e-02 + 6.350714317476568e-02 6.347213847118198e-02 6.343714156976551e-02 6.340215248759951e-02 6.336717124176720e-02 + 6.333219784935186e-02 6.329723232743668e-02 6.326227469310496e-02 6.322732496343991e-02 6.319238315552476e-02 + 6.315744928644278e-02 6.312252337327721e-02 6.308760543311126e-02 6.305269548302821e-02 6.301779354011129e-02 + 6.298289962144372e-02 6.294801374410877e-02 6.291313592518968e-02 6.287826618176968e-02 6.284340453093201e-02 + 6.280855098975993e-02 6.277370557533665e-02 6.273886830474544e-02 6.270403919506955e-02 6.266921826339220e-02 + 6.263440552679662e-02 6.259960100236607e-02 6.256480470718381e-02 6.253001665833306e-02 6.249523687289707e-02 + 6.246046536795907e-02 6.242570216060229e-02 6.239094726791002e-02 6.235620070696547e-02 6.232146249485187e-02 + 6.228673264865250e-02 6.225201118545055e-02 6.221729812232930e-02 6.218259347637199e-02 6.214789726466187e-02 + 6.211320950428215e-02 6.207853021231610e-02 6.204385940584693e-02 6.200919710195792e-02 6.197454331773228e-02 + 6.193989807025328e-02 6.190526137660414e-02 6.187063325386812e-02 6.183601371912845e-02 6.180140278946837e-02 + 6.176680048197113e-02 6.173220681371997e-02 6.169762180179813e-02 6.166304546328885e-02 6.162847781527538e-02 + 6.159391887484095e-02 6.155936865906880e-02 6.152482718504219e-02 6.149029446984435e-02 6.145577053055853e-02 + 6.142125538426796e-02 6.138674904805590e-02 6.135225153900557e-02 6.131776287420022e-02 6.128328307072310e-02 + 6.124881214565744e-02 6.121435011608650e-02 6.117989699909349e-02 6.114545281176169e-02 6.111101757117431e-02 + 6.107659129441460e-02 6.104217399856583e-02 6.100776570071121e-02 6.097336641793399e-02 6.093897616731742e-02 + 6.090459496594473e-02 6.087022283089916e-02 6.083585977926396e-02 6.080150582812238e-02 6.076716099455765e-02 + 6.073282529565302e-02 6.069849874849172e-02 6.066418137015700e-02 6.062987317773211e-02 6.059557418830027e-02 + 6.056128441894475e-02 6.052700388674876e-02 6.049273260879557e-02 6.045847060216841e-02 6.042421788395052e-02 + 6.038997447122514e-02 6.035574038107552e-02 6.032151563058490e-02 6.028730023683652e-02 6.025309421691362e-02 + 6.021889758789946e-02 6.018471036687725e-02 6.015053257093025e-02 6.011636421714171e-02 6.008220532259485e-02 + 6.004805590437293e-02 6.001391597955918e-02 5.997978556523686e-02 5.994566467848918e-02 5.991155333639943e-02 + 5.987745155605081e-02 5.984335935452657e-02 5.980927674890997e-02 5.977520375628423e-02 5.974114039373261e-02 + 5.970708667833834e-02 5.967304262718466e-02 5.963900825735483e-02 5.960498358593206e-02 5.957096862999962e-02 + 5.953696340664075e-02 5.950296793293869e-02 5.946898222597666e-02 5.943500630283793e-02 5.940104018060574e-02 + 5.936708387636331e-02 5.933313740719390e-02 5.929920079018074e-02 5.926527404240709e-02 5.923135718095618e-02 + 5.919745022291125e-02 5.916355318535554e-02 5.912966608537230e-02 5.909578894004478e-02 5.906192176645620e-02 + 5.902806458168981e-02 5.899421740282887e-02 5.896038024695659e-02 5.892655313115624e-02 5.889273607251104e-02 + 5.885892908810425e-02 5.882513219501910e-02 5.879134541033884e-02 5.875756875114671e-02 5.872380223452595e-02 + 5.869004587755981e-02 5.865629969733151e-02 5.862256371092430e-02 5.858883793542144e-02 5.855512238790617e-02 + 5.852141708546170e-02 5.848772204517131e-02 5.845403728411822e-02 5.842036281938568e-02 5.838669866805692e-02 + 5.835304484721521e-02 5.831940137394376e-02 5.828576826532585e-02 5.825214553844467e-02 5.821853321038349e-02 + 5.818493129822556e-02 5.815133981905412e-02 5.811775878995240e-02 5.808418822800365e-02 5.805062815029110e-02 + 5.801707857389801e-02 5.798353951590760e-02 5.795001099340315e-02 5.791649302346786e-02 5.788298562318499e-02 + 5.784948880963779e-02 5.781600259990949e-02 5.778252701108333e-02 5.774906206024256e-02 5.771560776447041e-02 + 5.768216414085015e-02 5.764873120646499e-02 5.761530897839819e-02 5.758189747373298e-02 5.754849670955262e-02 + 5.751510670294033e-02 5.748172747097936e-02 5.744835903075296e-02 5.741500139934437e-02 5.738165459383683e-02 + 5.734831863131357e-02 5.731499352885785e-02 5.728167930355290e-02 5.724837597248197e-02 5.721508355272830e-02 + 5.718180206137512e-02 5.714853151550570e-02 5.711527193220325e-02 5.708202332855103e-02 5.704878572163228e-02 + 5.701555912853024e-02 5.698234356632816e-02 5.694913905210926e-02 5.691594560295680e-02 5.688276323595402e-02 + 5.684959196818416e-02 5.681643181673045e-02 5.678328279867616e-02 5.675014493110452e-02 5.671701823109875e-02 + 5.668390271574211e-02 5.665079840211785e-02 5.661770530730920e-02 5.658462344839940e-02 5.655155284247171e-02 + 5.651849350660935e-02 5.648544545789557e-02 5.645240871341362e-02 5.641938329024674e-02 5.638636920547815e-02 + 5.635336647619112e-02 5.632037511946889e-02 5.628739515239468e-02 5.625442659205174e-02 5.622146945552333e-02 + 5.618852375989267e-02 5.615558952224302e-02 5.612266675965761e-02 5.608975548921968e-02 5.605685572801247e-02 + 5.602396749311925e-02 5.599109080162322e-02 5.595822567060765e-02 5.592537211715578e-02 5.589253015835084e-02 + 5.585969981127608e-02 5.582688109301474e-02 5.579407402065006e-02 5.576127861126528e-02 5.572849488194366e-02 + 5.569572284976842e-02 5.566296253182280e-02 5.563021394519008e-02 5.559747710695345e-02 5.556475203419618e-02 + 5.553203874400151e-02 5.549933725345269e-02 5.546664757963294e-02 5.543396973962551e-02 5.540130375051366e-02 + 5.536864962938060e-02 5.533600739330961e-02 5.530337705938389e-02 5.527075864468672e-02 5.523815216630132e-02 + 5.520555764131094e-02 5.517297508679882e-02 5.514040451984819e-02 5.510784595754230e-02 5.507529941696442e-02 + 5.504276491519774e-02 5.501024246932555e-02 5.497773209643106e-02 5.494523381359754e-02 5.491274763790820e-02 + 5.488027358644629e-02 5.484781167629507e-02 5.481536192453777e-02 5.478292434825763e-02 5.475049896453790e-02 + 5.471808579046181e-02 5.468568484311261e-02 5.465329613957354e-02 5.462091969692785e-02 5.458855553225877e-02 + 5.455620366264955e-02 5.452386410518342e-02 5.449153687694363e-02 5.445922199501343e-02 5.442691947647604e-02 + 5.439462933841474e-02 5.436235159791274e-02 5.433008627205328e-02 5.429783337791962e-02 5.426559293259499e-02 + 5.423336495316264e-02 5.420114945670580e-02 5.416894646030773e-02 5.413675598105167e-02 5.410457803602083e-02 + 5.407241264229849e-02 5.404025981696787e-02 5.400811957711223e-02 5.397599193981480e-02 5.394387692215881e-02 + 5.391177454122753e-02 5.387968481410418e-02 5.384760775787202e-02 5.381554338961427e-02 5.378349172641418e-02 + 5.375145278535501e-02 5.371942658351998e-02 5.368741313799234e-02 5.365541246585533e-02 5.362342458419220e-02 + 5.359144951008617e-02 5.355948726062051e-02 5.352753785287844e-02 5.349560130394321e-02 5.346367763089808e-02 + 5.343176685082626e-02 5.339986898081100e-02 5.336798403793557e-02 5.333611203928318e-02 5.330425300193709e-02 + 5.327240694298052e-02 5.324057387949673e-02 5.320875382856897e-02 5.317694680728046e-02 5.314515283271445e-02 + 5.311337192195419e-02 5.308160409208292e-02 5.304984936018387e-02 5.301810774334029e-02 5.298637925860694e-02 + 5.295466392210174e-02 5.292296174881576e-02 5.289127275367324e-02 5.285959695159842e-02 5.282793435751552e-02 + 5.279628498634878e-02 5.276464885302243e-02 5.273302597246069e-02 5.270141635958780e-02 5.266982002932800e-02 + 5.263823699660550e-02 5.260666727634453e-02 5.257511088346935e-02 5.254356783290417e-02 5.251203813957321e-02 + 5.248052181840073e-02 5.244901888431094e-02 5.241752935222807e-02 5.238605323707637e-02 5.235459055378005e-02 + 5.232314131726334e-02 5.229170554245050e-02 5.226028324426572e-02 5.222887443763326e-02 5.219747913747734e-02 + 5.216609735872220e-02 5.213472911629205e-02 5.210337442511115e-02 5.207203330010370e-02 5.204070575619395e-02 + 5.200939180830615e-02 5.197809147136448e-02 5.194680476029321e-02 5.191553169001656e-02 5.188427227545876e-02 + 5.185302653154403e-02 5.182179447319664e-02 5.179057611534077e-02 5.175937147290068e-02 5.172818056080060e-02 + 5.169700339396475e-02 5.166583998731737e-02 5.163469035578269e-02 5.160355451428494e-02 5.157243247774834e-02 + 5.154132426109714e-02 5.151022987925555e-02 5.147914934714782e-02 5.144808267969817e-02 5.141702989183084e-02 + 5.138599099847005e-02 5.135496601454004e-02 5.132395495496503e-02 5.129295783466926e-02 5.126197466857695e-02 + 5.123100547161235e-02 5.120005025869967e-02 5.116910904476317e-02 5.113818184472704e-02 5.110726867351554e-02 + 5.107636954605289e-02 5.104548447726333e-02 5.101461348207109e-02 5.098375657540039e-02 5.095291377217546e-02 + 5.092208508732055e-02 5.089127053575987e-02 5.086047013241765e-02 5.082968389221815e-02 5.079891183008556e-02 + 5.076815396094415e-02 5.073741029971812e-02 5.070668086133172e-02 5.067596566070917e-02 5.064526471277472e-02 + 5.061457803245257e-02 5.058390563466697e-02 5.055324753434216e-02 5.052260374640234e-02 5.049197428577178e-02 + 5.046135916737467e-02 5.043075840613528e-02 5.040017201697781e-02 5.036960001482652e-02 5.033904241460560e-02 + 5.030849923123931e-02 5.027797047965189e-02 5.024745617476754e-02 5.021695633151052e-02 5.018647096480505e-02 + 5.015600008957535e-02 5.012554372074565e-02 5.009510187324022e-02 5.006467456198324e-02 5.003426180189897e-02 + 5.000386360791163e-02 4.997347999494546e-02 4.994311097792468e-02 4.991275657177353e-02 4.988241679141623e-02 + 4.985209165177702e-02 4.982178116778014e-02 4.979148535434980e-02 4.976120422641023e-02 4.973093779888569e-02 + 4.970068608670038e-02 4.967044910477855e-02 4.964022686804442e-02 4.961001939142222e-02 4.957982668983620e-02 + 4.954964877821057e-02 4.951948567146956e-02 4.948933738453741e-02 4.945920393233836e-02 4.942908532979662e-02 + 4.939898159183643e-02 4.936889273338203e-02 4.933881876935763e-02 4.930875971468749e-02 4.927871558429582e-02 + 4.924868639310685e-02 4.921867215604481e-02 4.918867288803395e-02 4.915868860399848e-02 4.912871931886263e-02 + 4.909876504755066e-02 4.906882580498677e-02 4.903890160609520e-02 4.900899246580018e-02 4.897909839902595e-02 + 4.894921942069672e-02 4.891935554573676e-02 4.888950678907025e-02 4.885967316562146e-02 4.882985469031461e-02 + 4.880005137807392e-02 4.877026324382362e-02 4.874049030248797e-02 4.871073256899117e-02 4.868099005825745e-02 + 4.865126278521108e-02 4.862155076477624e-02 4.859185401187720e-02 4.856217254143816e-02 4.853250636838338e-02 + 4.850285550763707e-02 4.847321997412347e-02 4.844359978276680e-02 4.841399494849130e-02 4.838440548622121e-02 + 4.835483141088075e-02 4.832527273739414e-02 4.829572948068564e-02 4.826620165567946e-02 4.823668927729983e-02 + 4.820719236047098e-02 4.817771092011715e-02 4.814824497116257e-02 4.811879452853147e-02 4.808935960714807e-02 + 4.805994022193662e-02 4.803053638782134e-02 4.800114811972645e-02 4.797177543257621e-02 4.794241834129482e-02 + 4.791307686080653e-02 4.788375100603556e-02 4.785444079190614e-02 4.782514623334252e-02 4.779586734526891e-02 + 4.776660414260955e-02 4.773735664028868e-02 4.770812485323050e-02 4.767890879635927e-02 4.764970848459921e-02 + 4.762052393287456e-02 4.759135515610954e-02 4.756220216922838e-02 4.753306498715533e-02 4.750394362481459e-02 + 4.747483809713041e-02 4.744574841902701e-02 4.741667460542864e-02 4.738761667125952e-02 4.735857463144388e-02 + 4.732954850090595e-02 4.730053829456995e-02 4.727154402736015e-02 4.724256571420073e-02 4.721360337001596e-02 + 4.718465700973005e-02 4.715572664826723e-02 4.712681230055175e-02 4.709791398150782e-02 4.706903170605968e-02 + 4.704016548913156e-02 4.701131534564769e-02 4.698248129053231e-02 4.695366333870963e-02 4.692486150510391e-02 + 4.689607580463934e-02 4.686730625224018e-02 4.683855286283068e-02 4.680981565133503e-02 4.678109463267748e-02 + 4.675238982178226e-02 4.672370123357359e-02 4.669502888297572e-02 4.666637278491287e-02 4.663773295430927e-02 + 4.660910940608916e-02 4.658050215517676e-02 4.655191121649629e-02 4.652333660497202e-02 4.649477833552815e-02 + 4.646623642308891e-02 4.643771088257853e-02 4.640920172892127e-02 4.638070897704132e-02 4.635223264186294e-02 + 4.632377273831036e-02 4.629532928130779e-02 4.626690228577947e-02 4.623849176664965e-02 4.621009773884253e-02 + 4.618172021728237e-02 4.615335921689338e-02 4.612501475259979e-02 4.609668683932586e-02 4.606837549199577e-02 + 4.604008072553380e-02 4.601180255486416e-02 4.598354099491107e-02 4.595529606059879e-02 4.592706776685152e-02 + 4.589885612859351e-02 4.587066116074899e-02 4.584248287824218e-02 4.581432129599732e-02 4.578617642893863e-02 + 4.575804829199037e-02 4.572993690007673e-02 4.570184226812196e-02 4.567376441105030e-02 4.564570334378597e-02 + 4.561765908125320e-02 4.558963163837623e-02 4.556162103007928e-02 4.553362727128659e-02 4.550565037692238e-02 + 4.547769036191089e-02 4.544974724117636e-02 4.542182102964300e-02 4.539391174223504e-02 4.536601939387674e-02 + 4.533814399949231e-02 4.531028557400597e-02 4.528244413234197e-02 4.525461968942453e-02 4.522681226017790e-02 + 4.519902185952628e-02 4.517124850239393e-02 4.514349220370505e-02 4.511575297838390e-02 4.508803084135470e-02 + 4.506032580754168e-02 4.503263789186907e-02 4.500496710926111e-02 4.497731347464200e-02 4.494967700293602e-02 + 4.492205770906736e-02 4.489445560796028e-02 4.486687071453899e-02 4.483930304372771e-02 4.481175261045071e-02 + 4.478421942963219e-02 4.475670351619640e-02 4.472920488506756e-02 4.470172355116988e-02 4.467425952942764e-02 + 4.464681283476502e-02 4.461938348210628e-02 4.459197148637566e-02 4.456457686249737e-02 4.453719962539564e-02 + 4.450983978999472e-02 4.448249737121881e-02 4.445517238399217e-02 4.442786484323902e-02 4.440057476388359e-02 + 4.437330216085012e-02 4.434604704906282e-02 4.431880944344595e-02 4.429158935892372e-02 4.426438681042035e-02 + 4.423720181286010e-02 4.421003438116718e-02 4.418288453026584e-02 4.415575227508029e-02 4.412863763053477e-02 + 4.410154061155352e-02 4.407446123306075e-02 4.404739950998071e-02 4.402035545723762e-02 4.399332908975571e-02 + 4.396632042245923e-02 4.393932947027238e-02 4.391235624811941e-02 4.388540077092456e-02 4.385846305361203e-02 + 4.383154311110608e-02 4.380464095833093e-02 4.377775661021081e-02 4.375089008166996e-02 4.372404138763258e-02 + 4.369721054302294e-02 4.367039756276526e-02 4.364360246178376e-02 4.361682525500267e-02 4.359006595734623e-02 + 4.356332458373868e-02 4.353660114910423e-02 4.350989566836711e-02 4.348320815645158e-02 4.345653862828184e-02 + 4.342988709878214e-02 4.340325358287669e-02 4.337663809548974e-02 4.335004065154552e-02 4.332346126596825e-02 + 4.329689995368217e-02 4.327035672961151e-02 4.324383160868049e-02 4.321732460581335e-02 4.319083573593433e-02 + 4.316436501396765e-02 4.313791245483754e-02 4.311147807346823e-02 4.308506188478395e-02 4.305866390370894e-02 + 4.303228414516742e-02 4.300592262408363e-02 4.297957935538180e-02 4.295325435398616e-02 4.292694763482094e-02 + 4.290065921281035e-02 4.287438910287866e-02 4.284813731995007e-02 4.282190387894883e-02 4.279568879479917e-02 + 4.276949208242530e-02 4.274331375675147e-02 4.271715383270192e-02 4.269101232520085e-02 4.266488924917250e-02 + 4.263878461954113e-02 4.261269845123093e-02 4.258663075916616e-02 4.256058155827103e-02 4.253455086346980e-02 + 4.250853868968667e-02 4.248254505184589e-02 4.245656996487169e-02 4.243061344368828e-02 4.240467550321991e-02 + 4.237875615839081e-02 4.235285542412521e-02 4.232697331534734e-02 4.230110984698143e-02 4.227526503395169e-02 + 4.224943889118240e-02 4.222363143359775e-02 4.219784267612198e-02 4.217207263367933e-02 4.214632132119402e-02 + 4.212058875359029e-02 4.209487494579236e-02 4.206917991272448e-02 4.204350366931086e-02 4.201784623047573e-02 + 4.199220761114335e-02 4.196658782623791e-02 4.194098689068368e-02 4.191540481940486e-02 4.188984162732570e-02 + 4.186429732937041e-02 4.183877194046326e-02 4.181326547552844e-02 4.178777794949019e-02 4.176230937727277e-02 + 4.173685977380037e-02 4.171142915399725e-02 4.168601753278764e-02 4.166062492509574e-02 4.163525134584580e-02 + 4.160989680996207e-02 4.158456133236876e-02 4.155924492799010e-02 4.153394761175032e-02 4.150866939857367e-02 + 4.148341030338436e-02 4.145817034110662e-02 4.143294952666470e-02 4.140774787498282e-02 4.138256540098521e-02 + 4.135740211959609e-02 4.133225804573972e-02 4.130713319434030e-02 4.128202758032209e-02 4.125694121860929e-02 + 4.123187412412615e-02 4.120682631179690e-02 4.118179779654577e-02 4.115678859329698e-02 4.113179871697477e-02 + 4.110682818250337e-02 4.108187700480702e-02 4.105694519880994e-02 4.103203277943635e-02 4.100713976161051e-02 + 4.098226616025662e-02 4.095741199029894e-02 4.093257726666168e-02 4.090776200426908e-02 4.088296621804536e-02 + 4.085818992291476e-02 4.083343313380151e-02 4.080869586562985e-02 4.078397813332400e-02 4.075927995180818e-02 + 4.073460133600665e-02 4.070994230084361e-02 4.068530286124331e-02 4.066068303212998e-02 4.063608282842784e-02 + 4.061150226506113e-02 4.058694135695408e-02 4.056240011903092e-02 4.053787856621588e-02 4.051337671343318e-02 + 4.048889457560707e-02 4.046443216766178e-02 4.043998950452153e-02 4.041556660111054e-02 4.039116347235307e-02 + 4.036678013317334e-02 4.034241659849556e-02 4.031807288324400e-02 4.029374900234285e-02 4.026944497071637e-02 + 4.024516080328877e-02 4.022089651498431e-02 4.019665212072718e-02 4.017242763544165e-02 4.014822307405193e-02 + 4.012403845148225e-02 4.009987378265685e-02 4.007572908249996e-02 4.005160436593580e-02 4.002749964788860e-02 + 4.000341494328261e-02 3.997935026862905e-02 3.995530565020248e-02 3.993128111798760e-02 3.990727670197625e-02 + 3.988329243216027e-02 3.985932833853151e-02 3.983538445108181e-02 3.981146079980302e-02 3.978755741468697e-02 + 3.976367432572553e-02 3.973981156291052e-02 3.971596915623379e-02 3.969214713568721e-02 3.966834553126258e-02 + 3.964456437295178e-02 3.962080369074663e-02 3.959706351463900e-02 3.957334387462071e-02 3.954964480068362e-02 + 3.952596632281957e-02 3.950230847102040e-02 3.947867127527795e-02 3.945505476558409e-02 3.943145897193063e-02 + 3.940788392430945e-02 3.938432965271236e-02 3.936079618713123e-02 3.933728355755788e-02 3.931379179398419e-02 + 3.929032092640197e-02 3.926687098480308e-02 3.924344199917935e-02 3.922003399952266e-02 3.919664701582481e-02 + 3.917328107807769e-02 3.914993621627309e-02 3.912661246040292e-02 3.910330984045896e-02 3.908002838643308e-02 + 3.905676812831715e-02 3.903352909610298e-02 3.901031131978242e-02 3.898711482934733e-02 3.896393965478955e-02 + 3.894078582610091e-02 3.891765337327326e-02 3.889454232629846e-02 3.887145271516833e-02 3.884838456987474e-02 + 3.882533792040951e-02 3.880231279676451e-02 3.877930922893155e-02 3.875632724690252e-02 3.873336688066923e-02 + 3.871042816022353e-02 3.868751111555727e-02 3.866461577666229e-02 3.864174217353044e-02 3.861889033615356e-02 + 3.859606029452349e-02 3.857325207863209e-02 3.855046571847119e-02 3.852770124403264e-02 3.850495868530828e-02 + 3.848223807228996e-02 3.845953943496952e-02 3.843686280333881e-02 3.841420820738967e-02 3.839157567711395e-02 + 3.836896524250349e-02 3.834637693355013e-02 3.832381078024572e-02 3.830126681258209e-02 3.827874506055112e-02 + 3.825624555414461e-02 3.823376832335444e-02 3.821131339817244e-02 3.818888080859045e-02 3.816647058460032e-02 + 3.814408275619389e-02 3.812171735336303e-02 3.809937440609954e-02 3.807705394439530e-02 3.805475599824214e-02 + 3.803248059763190e-02 3.801022777255643e-02 3.798799755300758e-02 3.796578996897719e-02 3.794360505045710e-02 + 3.792144282743916e-02 3.789930332991522e-02 3.787718658787710e-02 3.785509263131667e-02 3.783302149022577e-02 + 3.781097319459624e-02 3.778894777441992e-02 3.776694525968866e-02 3.774496568039430e-02 3.772300906652870e-02 + 3.770107544808367e-02 3.767916485505110e-02 3.765727731742280e-02 3.763541286519063e-02 3.761357152834642e-02 + 3.759175333688204e-02 3.756995832078931e-02 3.754818651006007e-02 3.752643793468620e-02 3.750471262465951e-02 + 3.748301060997186e-02 3.746133192061509e-02 3.743967658658105e-02 3.741804463786157e-02 3.739643610444850e-02 + 3.737485101633371e-02 3.735328940350900e-02 3.733175129596625e-02 3.731023672369729e-02 3.728874571669397e-02 + 3.726727830494812e-02 3.724583451845160e-02 3.722441438719625e-02 3.720301794117391e-02 3.718164521037644e-02 + 3.716029622479566e-02 3.713897101442343e-02 3.711766960925159e-02 3.709639203927199e-02 3.707513833447647e-02 + 3.705390852485687e-02 3.703270264040504e-02 3.701152071111283e-02 3.699036276697207e-02 3.696922883797462e-02 + 3.694811895411231e-02 3.692703314537699e-02 3.690597144176051e-02 3.688493387325471e-02 3.686392046985143e-02 + 3.684293126154253e-02 3.682196627831984e-02 3.680102555017520e-02 3.678010910710046e-02 3.675921697908748e-02 + 3.673834919612807e-02 3.671750578821411e-02 3.669668678533742e-02 3.667589221748987e-02 3.665512211466327e-02 + 3.663437650684950e-02 3.661365542404037e-02 3.659295889622776e-02 3.657228695340348e-02 3.655163962555941e-02 + 3.653101694268735e-02 3.651041893477919e-02 3.648984563182674e-02 3.646929706382188e-02 3.644877326075641e-02 + 3.642827425262220e-02 3.640780006941109e-02 3.638735074111494e-02 3.636692629772557e-02 3.634652676923484e-02 + 3.632615218563458e-02 3.630580257691665e-02 3.628547797307289e-02 3.626517840409513e-02 3.624490389997524e-02 + 3.622465449070505e-02 3.620443020627639e-02 3.618423107668113e-02 3.616405713191111e-02 3.614390840195816e-02 + 3.612378491681414e-02 3.610368670647089e-02 3.608361380092025e-02 3.606356623015406e-02 3.604354402416417e-02 + 3.602354721294244e-02 3.600357582648069e-02 3.598362989477077e-02 3.596370944780453e-02 3.594381451557382e-02 + 3.592394512807047e-02 3.590410131528634e-02 3.588428310721326e-02 3.586449053384308e-02 3.584472362516764e-02 + 3.582498241117880e-02 3.580526692186839e-02 3.578557718722826e-02 3.576591323725024e-02 3.574627510192620e-02 + 3.572666281124797e-02 3.570707639520740e-02 3.568751588379632e-02 3.566798130700659e-02 3.564847269483005e-02 + 3.562899007725854e-02 3.560953348428391e-02 3.559010294589800e-02 3.557069849209266e-02 3.555132015285974e-02 + 3.553196795819106e-02 3.551264193807849e-02 3.549334212251386e-02 3.547406854148901e-02 3.545482122499580e-02 + 3.543560020302607e-02 3.541640550557167e-02 3.539723716262443e-02 3.537809520417620e-02 3.535897966021882e-02 + 3.533989056074414e-02 3.532082793574401e-02 3.530179181521027e-02 3.528278222913475e-02 3.526379920750932e-02 + 3.524484278032580e-02 3.522591297757607e-02 3.520700982925193e-02 3.518813336534525e-02 3.516928361584787e-02 + 3.515046061075164e-02 3.513166438004838e-02 3.511289495372998e-02 3.509415236178823e-02 3.507543663421501e-02 + 3.505674780100216e-02 3.503808589214152e-02 3.501945093762493e-02 3.500084296744425e-02 3.498226201159130e-02 + 3.496370810005795e-02 3.494518126283602e-02 3.492668152991737e-02 3.490820893129385e-02 3.488976349695729e-02 + 3.487134525689954e-02 3.485295424111245e-02 3.483459047958785e-02 3.481625400231760e-02 3.479794483929353e-02 + 3.477966302050750e-02 3.476140857595134e-02 3.474318153561690e-02 3.472498192949603e-02 3.470680978758058e-02 + 3.468866513986237e-02 3.467054801633326e-02 3.465245844698509e-02 3.463439646180971e-02 3.461636209079897e-02 + 3.459835536394470e-02 3.458037631123875e-02 3.456242496267296e-02 3.454450134823919e-02 3.452660549792927e-02 + 3.450873744173504e-02 3.449089720964835e-02 3.447308483166107e-02 3.445530033776500e-02 3.443754375795202e-02 + 3.441981512221395e-02 3.440211446054266e-02 3.438444180292995e-02 3.436679717936773e-02 3.434918061984778e-02 + 3.433159215436199e-02 3.431403181290218e-02 3.429649962546020e-02 3.427899562202789e-02 3.426151983259711e-02 + 3.424407228715969e-02 3.422665301570748e-02 3.420926204823232e-02 3.419189941472606e-02 3.417456514518054e-02 + 3.415725926958761e-02 3.413998181793911e-02 3.412273282022688e-02 3.410551230644278e-02 3.408832030657864e-02 + 3.407115685062630e-02 3.405402196857762e-02 3.403691569042444e-02 3.401983804615860e-02 3.400278906577194e-02 + 3.398576877925633e-02 3.396877721660357e-02 3.395181440780554e-02 3.393488038285408e-02 3.391797517174103e-02 + 3.390109880445821e-02 3.388425131099751e-02 3.386743272135074e-02 3.385064306550976e-02 3.383388237346641e-02 + 3.381715067521254e-02 3.380044800073998e-02 3.378377438004059e-02 3.376712984310620e-02 3.375051441992868e-02 + 3.373392814049984e-02 3.371737103481155e-02 3.370084313285564e-02 3.368434446462396e-02 3.366787506010836e-02 + 3.365143466564878e-02 3.363501887624541e-02 3.361862209777612e-02 3.360224500875989e-02 3.358588827878357e-02 + 3.356955147090725e-02 3.355323458431880e-02 3.353693766165054e-02 3.352066065506343e-02 3.350440352193865e-02 + 3.348816624199871e-02 3.347194881659273e-02 3.345575121630599e-02 3.343957340404732e-02 3.342341535303144e-02 + 3.340727704441876e-02 3.339115845430404e-02 3.337505954322636e-02 3.335898029706669e-02 3.334292070921326e-02 + 3.332688074834195e-02 3.331086037969291e-02 3.329485957414917e-02 3.327887831864652e-02 3.326291658484171e-02 + 3.324697433542376e-02 3.323105156623186e-02 3.321514826023114e-02 3.319926437839098e-02 3.318339989412266e-02 + 3.316755478754796e-02 3.315172903929034e-02 3.313592261295018e-02 3.312013548124740e-02 3.310436764153749e-02 + 3.308861906981869e-02 3.307288973180764e-02 3.305717959801665e-02 3.304148865245999e-02 3.302581687574703e-02 + 3.301016422142487e-02 3.299453067800234e-02 3.297891624809741e-02 3.296332088425066e-02 3.294774455685354e-02 + 3.293218725810471e-02 3.291664896225673e-02 3.290112963401578e-02 3.288562923879117e-02 3.287014777263271e-02 + 3.285468522369568e-02 3.283924155670871e-02 3.282381674440858e-02 3.280841076589561e-02 3.279302360243119e-02 + 3.277765521941309e-02 3.276230558706894e-02 3.274697470113698e-02 3.273166254219040e-02 3.271636907936865e-02 + 3.270109428250347e-02 3.268583813280482e-02 3.267060061307020e-02 3.265538168459424e-02 3.264018132671115e-02 + 3.262499953449712e-02 3.260983628233858e-02 3.259469153939318e-02 3.257956527754512e-02 3.256445748091834e-02 + 3.254936812698490e-02 3.253429718174427e-02 3.251924463148387e-02 3.250421046229880e-02 3.248919464552218e-02 + 3.247419715298105e-02 3.245921796288541e-02 3.244425706251369e-02 3.242931441545717e-02 3.241438998652282e-02 + 3.239948378141620e-02 3.238459577882156e-02 3.236972593925531e-02 3.235487424670715e-02 3.234004068301546e-02 + 3.232522522137563e-02 3.231042782696456e-02 3.229564848261764e-02 3.228088718700101e-02 3.226614390644563e-02 + 3.225141860917057e-02 3.223671128042128e-02 3.222202190260593e-02 3.220735044835789e-02 3.219269687989033e-02 + 3.217806118663362e-02 3.216344336205739e-02 3.214884337811092e-02 3.213426120193776e-02 3.211969680852602e-02 + 3.210515019435922e-02 3.209062132655478e-02 3.207611016186721e-02 3.206161670288540e-02 3.204714093648681e-02 + 3.203268282961075e-02 3.201824236239234e-02 3.200381951210604e-02 3.198941424912934e-02 3.197502654604618e-02 + 3.196065638811887e-02 3.194630377248257e-02 3.193196866763873e-02 3.191765104079724e-02 3.190335087680102e-02 + 3.188906815766901e-02 3.187480285784819e-02 3.186055494296534e-02 3.184632440204734e-02 3.183211122836238e-02 + 3.181791538780577e-02 3.180373685568510e-02 3.178957561657719e-02 3.177543165075891e-02 3.176130492904844e-02 + 3.174719542079285e-02 3.173310312097031e-02 3.171902801589959e-02 3.170497007535993e-02 3.169092927256592e-02 + 3.167690558660036e-02 3.166289900092451e-02 3.164890948767075e-02 3.163493702375719e-02 3.162098160094597e-02 + 3.160704320149037e-02 3.159312179836957e-02 3.157921735868882e-02 3.156532987076624e-02 3.155145932224658e-02 + 3.153760566663864e-02 3.152376889172848e-02 3.150994900180672e-02 3.149614595827410e-02 3.148235973399625e-02 + 3.146859031868535e-02 3.145483769408502e-02 3.144110182886523e-02 3.142738268687409e-02 3.141368026942635e-02 + 3.139999456778463e-02 3.138632554513814e-02 3.137267318073906e-02 3.135903745883740e-02 3.134541835839263e-02 + 3.133181584694165e-02 3.131822989974722e-02 3.130466051752389e-02 3.129110768114365e-02 3.127757136018487e-02 + 3.126405153214003e-02 3.125054818119363e-02 3.123706128835145e-02 3.122359081277034e-02 3.121013674152311e-02 + 3.119669908223311e-02 3.118327780512727e-02 3.116987287740892e-02 3.115648427590923e-02 3.114311198755302e-02 + 3.112975599208620e-02 3.111641625878769e-02 3.110309278026453e-02 3.108978554429882e-02 3.107649451605467e-02 + 3.106321967573116e-02 3.104996101093369e-02 3.103671850522385e-02 3.102349212552239e-02 3.101028184118182e-02 + 3.099708765215899e-02 3.098390954305432e-02 3.097074748653887e-02 3.095760146577434e-02 3.094447145973171e-02 + 3.093135744175442e-02 3.091825938652267e-02 3.090517727892404e-02 3.089211111199125e-02 3.087906086415095e-02 + 3.086602651045607e-02 3.085300802884278e-02 3.084000540267990e-02 3.082701861024971e-02 3.081404762072755e-02 + 3.080109242772720e-02 3.078815302348911e-02 3.077522937271052e-02 3.076232145526043e-02 3.074942925853004e-02 + 3.073655275969265e-02 3.072369193358731e-02 3.071084675893487e-02 3.069801722815575e-02 3.068520332655950e-02 + 3.067240502926292e-02 3.065962230727411e-02 3.064685514336771e-02 3.063410352936318e-02 3.062136743092317e-02 + 3.060864682743443e-02 3.059594172387181e-02 3.058325209340110e-02 3.057057790484611e-02 3.055791914232513e-02 + 3.054527578866520e-02 3.053264782274670e-02 3.052003521936738e-02 3.050743796632342e-02 3.049485605420712e-02 + 3.048228945948342e-02 3.046973815764381e-02 3.045720212753895e-02 3.044468135532321e-02 3.043217582076147e-02 + 3.041968549967531e-02 3.040721038082923e-02 3.039475044749309e-02 3.038230567464306e-02 3.036987604544383e-02 + 3.035746154526919e-02 3.034506215632694e-02 3.033267784558463e-02 3.032030859116679e-02 3.030795439680851e-02 + 3.029561524020229e-02 3.028329109283977e-02 3.027098194217670e-02 3.025868776986960e-02 3.024640855125834e-02 + 3.023414425922958e-02 3.022189488753165e-02 3.020966043396606e-02 3.019744085927903e-02 3.018523614254973e-02 + 3.017304628070488e-02 3.016087124712451e-02 3.014871101490015e-02 3.013656556629268e-02 3.012443489643160e-02 + 3.011231899192166e-02 3.010021782348693e-02 3.008813136953290e-02 3.007605961443153e-02 3.006400254477032e-02 + 3.005196013216448e-02 3.003993235442936e-02 3.002791921520012e-02 3.001592069144608e-02 3.000393675083135e-02 + 2.999196738372897e-02 2.998001257673401e-02 2.996807230790781e-02 2.995614654679549e-02 2.994423528130847e-02 + 2.993233851118915e-02 2.992045620999083e-02 2.990858835120550e-02 2.989673491731453e-02 2.988489589805536e-02 + 2.987307127537464e-02 2.986126102011340e-02 2.984946511909828e-02 2.983768356331996e-02 2.982591633787642e-02 + 2.981416341477938e-02 2.980242477098497e-02 2.979070040412034e-02 2.977899028736241e-02 2.976729439085326e-02 + 2.975561271768286e-02 2.974394525020974e-02 2.973229195799546e-02 2.972065283153817e-02 2.970902785474345e-02 + 2.969741700233630e-02 2.968582025251779e-02 2.967423759388233e-02 2.966266902120933e-02 2.965111450751603e-02 + 2.963957402972690e-02 2.962804757853395e-02 2.961653513685447e-02 2.960503668212408e-02 2.959355219023237e-02 + 2.958208165129883e-02 2.957062505724755e-02 2.955918238857859e-02 2.954775362079399e-02 2.953633873283637e-02 + 2.952493771681483e-02 2.951355054848872e-02 2.950217720053436e-02 2.949081767862442e-02 2.947947196700992e-02 + 2.946814003034778e-02 2.945682185755054e-02 2.944551743582863e-02 2.943422674341014e-02 2.942294975870480e-02 + 2.941168646812421e-02 2.940043686618776e-02 2.938920093147064e-02 2.937797864134186e-02 2.936676998172867e-02 + 2.935557493479196e-02 2.934439347979633e-02 2.933322559583284e-02 2.932207127373048e-02 2.931093050463312e-02 + 2.929980326285230e-02 2.928868953142686e-02 2.927758929945683e-02 2.926650254799867e-02 2.925542925398767e-02 + 2.924436939550082e-02 2.923332296415483e-02 2.922228995044700e-02 2.921127033783603e-02 2.920026410004271e-02 + 2.918927122033416e-02 2.917829169471517e-02 2.916732549176795e-02 2.915637258777840e-02 2.914543298801943e-02 + 2.913450667577263e-02 2.912359362430894e-02 2.911269381274288e-02 2.910180723305731e-02 2.909093387402745e-02 + 2.908007369930849e-02 2.906922669822638e-02 2.905839287303405e-02 2.904757219714476e-02 2.903676465199738e-02 + 2.902597022808873e-02 2.901518890157972e-02 2.900442065055892e-02 2.899366546087253e-02 2.898292332562971e-02 + 2.897219423070421e-02 2.896147815085827e-02 2.895077507160809e-02 2.894008498122344e-02 2.892940786384609e-02 + 2.891874369517828e-02 2.890809245634708e-02 2.889745414621765e-02 2.888682874769054e-02 2.887621623583590e-02 + 2.886561659425123e-02 2.885502981116054e-02 2.884445587294774e-02 2.883389475319686e-02 2.882334643970105e-02 + 2.881281093000496e-02 2.880228819979298e-02 2.879177822929067e-02 2.878128100842524e-02 2.877079651898801e-02 + 2.876032473884395e-02 2.874986564740009e-02 2.873941924390505e-02 2.872898552052601e-02 2.871856444638324e-02 + 2.870815600507148e-02 2.869776018641480e-02 2.868737697516582e-02 2.867700634591397e-02 2.866664827916806e-02 + 2.865630278319325e-02 2.864596983917359e-02 2.863564941328856e-02 2.862534149829953e-02 2.861504608429113e-02 + 2.860476315234840e-02 2.859449267740666e-02 2.858423464566411e-02 2.857398905422620e-02 2.856375588402207e-02 + 2.855353511594846e-02 2.854332673804624e-02 2.853313073796621e-02 2.852294709429606e-02 2.851277577543872e-02 + 2.850261678440491e-02 2.849247012219593e-02 2.848233575178603e-02 2.847221365657614e-02 2.846210383116990e-02 + 2.845200625935100e-02 2.844192091752946e-02 2.843184778466237e-02 2.842178686053369e-02 2.841173813547823e-02 + 2.840170158739025e-02 2.839167719418843e-02 2.838166494245600e-02 2.837166482484053e-02 2.836167681707307e-02 + 2.835170090137019e-02 2.834173707461769e-02 2.833178532393912e-02 2.832184563033358e-02 2.831191797277370e-02 + 2.830200233825938e-02 2.829209871310940e-02 2.828220707523810e-02 2.827232741579271e-02 2.826245972853687e-02 + 2.825260399229306e-02 2.824276019064247e-02 2.823292831178126e-02 2.822310834132040e-02 2.821330025651807e-02 + 2.820350403438503e-02 2.819371967866794e-02 2.818394718049788e-02 2.817418651237375e-02 2.816443766090156e-02 + 2.815470061416237e-02 2.814497535504664e-02 2.813526186206681e-02 2.812556012131105e-02 2.811587013236315e-02 + 2.810619188120791e-02 2.809652534562629e-02 2.808687050311100e-02 2.807722734684383e-02 2.806759586949595e-02 + 2.805797603975531e-02 2.804836784541272e-02 2.803877128655403e-02 2.802918634812817e-02 2.801961300908425e-02 + 2.801005124931340e-02 2.800050106254358e-02 2.799096243185147e-02 2.798143533065562e-02 2.797191976200169e-02 + 2.796241571829330e-02 2.795292316767612e-02 2.794344209750147e-02 2.793397250080147e-02 2.792451436474921e-02 + 2.791506766429417e-02 2.790563238187514e-02 2.789620852426368e-02 2.788679607109519e-02 2.787739499448651e-02 + 2.786800529276515e-02 2.785862695250820e-02 2.784925995023579e-02 2.783990426851568e-02 2.783055990112446e-02 + 2.782122684523413e-02 2.781190507602721e-02 2.780259457625915e-02 2.779329533996523e-02 2.778400734510273e-02 + 2.777473057425486e-02 2.776546502209671e-02 2.775621067523501e-02 2.774696751775778e-02 2.773773553529171e-02 + 2.772851471226555e-02 2.771930503638066e-02 2.771010650156085e-02 2.770091908311444e-02 2.769174275675288e-02 + 2.768257752750487e-02 2.767342338343482e-02 2.766428030170250e-02 2.765514827509389e-02 2.764602728937508e-02 + 2.763691732224667e-02 2.762781835629091e-02 2.761873038318760e-02 2.760965340016332e-02 2.760058738918467e-02 + 2.759153233095657e-02 2.758248821223181e-02 2.757345502668101e-02 2.756443275844788e-02 2.755542137569210e-02 + 2.754642087861812e-02 2.753743126859248e-02 2.752845251726651e-02 2.751948461051369e-02 2.751052754088128e-02 + 2.750158129051000e-02 2.749264584112846e-02 2.748372117908398e-02 2.747480730190011e-02 2.746590419839729e-02 + 2.745701184777745e-02 2.744813023052759e-02 2.743925933666562e-02 2.743039916197098e-02 2.742154968107790e-02 + 2.741271087850060e-02 2.740388275814067e-02 2.739506530469222e-02 2.738625849608251e-02 2.737746231424592e-02 + 2.736867675514432e-02 2.735990180809817e-02 2.735113743878892e-02 2.734238364845174e-02 2.733364044336462e-02 + 2.732490778587926e-02 2.731618566204183e-02 2.730747407386686e-02 2.729877300249025e-02 2.729008242908668e-02 + 2.728140234030172e-02 2.727273272900814e-02 2.726407358354408e-02 2.725542488697956e-02 2.724678662927163e-02 + 2.723815879907967e-02 2.722954137935252e-02 2.722093434732608e-02 2.721233769152850e-02 2.720375141931018e-02 + 2.719517551218435e-02 2.718660994644712e-02 2.717805471481514e-02 2.716950980584153e-02 2.716097520393317e-02 + 2.715245089289530e-02 2.714393686286031e-02 2.713543310581999e-02 2.712693960497614e-02 2.711845634782483e-02 + 2.710998332519429e-02 2.710152051958041e-02 2.709306791441093e-02 2.708462549834906e-02 2.707619326918369e-02 + 2.706777121480425e-02 2.705935930907671e-02 2.705095754483260e-02 2.704256591454058e-02 2.703418439795306e-02 + 2.702581298145425e-02 2.701745165546447e-02 2.700910041075726e-02 2.700075923746808e-02 2.699242812272907e-02 + 2.698410704764140e-02 2.697579599978723e-02 2.696749496984126e-02 2.695920394125775e-02 2.695092290187428e-02 + 2.694265184396634e-02 2.693439075649869e-02 2.692613962541774e-02 2.691789843589869e-02 2.690966718080280e-02 + 2.690144584430361e-02 2.689323440003169e-02 2.688503284907665e-02 2.687684119009101e-02 2.686865940030225e-02 + 2.686048746353486e-02 2.685232536881714e-02 2.684417310662326e-02 2.683603066151065e-02 2.682789801897943e-02 + 2.681977517552054e-02 2.681166212021913e-02 2.680355883616239e-02 2.679546530889016e-02 2.678738152752996e-02 + 2.677930748200765e-02 2.677124315479004e-02 2.676318853591112e-02 2.675514362231527e-02 2.674710839396962e-02 + 2.673908283555094e-02 2.673106694339361e-02 2.672306070150655e-02 2.671506409151823e-02 2.670707710108217e-02 + 2.669909972943648e-02 2.669113197027321e-02 2.668317379682501e-02 2.667522519875436e-02 2.666728617090520e-02 + 2.665935669311371e-02 2.665143675159882e-02 2.664352634032146e-02 2.663562545659268e-02 2.662773408361464e-02 + 2.661985219717407e-02 2.661197979572226e-02 2.660411687169956e-02 2.659626340488144e-02 2.658841937631547e-02 + 2.658058477937751e-02 2.657275961893512e-02 2.656494387358596e-02 2.655713752275513e-02 2.654934056348008e-02 + 2.654155298332925e-02 2.653377476657220e-02 2.652600590198415e-02 2.651824638075199e-02 2.651049619255404e-02 + 2.650275532091429e-02 2.649502375487615e-02 2.648730148802552e-02 2.647958851263073e-02 2.647188480891689e-02 + 2.646419035368700e-02 2.645650515131691e-02 2.644882919484906e-02 2.644116246069965e-02 2.643350494181170e-02 + 2.642585663084689e-02 2.641821751242615e-02 2.641058756892747e-02 2.640296679007395e-02 2.639535517653221e-02 + 2.638775271175803e-02 2.638015937698240e-02 2.637257516664822e-02 2.636500007332271e-02 2.635743408373907e-02 + 2.634987717633525e-02 2.634232934391862e-02 2.633479058525924e-02 2.632726088227431e-02 2.631974022390311e-02 + 2.631222860499385e-02 2.630472600717760e-02 2.629723241433261e-02 2.628974781674581e-02 2.628227220621198e-02 + 2.627480557677242e-02 2.626734792215179e-02 2.625989921852152e-02 2.625245945041883e-02 2.624502862403611e-02 + 2.623760671958282e-02 2.623019371536040e-02 2.622278961237779e-02 2.621539440295659e-02 2.620800807254220e-02 + 2.620063060674004e-02 2.619326199404739e-02 2.618590222410475e-02 2.617855128386046e-02 2.617120916522779e-02 + 2.616387586230346e-02 2.615655135861502e-02 2.614923564213544e-02 2.614192870720641e-02 2.613463054125929e-02 + 2.612734112755428e-02 2.612006044964381e-02 2.611278850871195e-02 2.610552530050819e-02 2.609827080222275e-02 + 2.609102500359168e-02 2.608378789925431e-02 2.607655947900249e-02 2.606933972466179e-02 2.606212861946312e-02 + 2.605492616097670e-02 2.604773234503024e-02 2.604054716124884e-02 2.603337058950191e-02 2.602620261873257e-02 + 2.601904324395194e-02 2.601189244598317e-02 2.600475021758196e-02 2.599761656283118e-02 2.599049145836681e-02 + 2.598337488632347e-02 2.597626684662969e-02 2.596916733159564e-02 2.596207632537513e-02 2.595499380688753e-02 + 2.594791977426907e-02 2.594085422650568e-02 2.593379714560815e-02 2.592674851872178e-02 2.591970833661526e-02 + 2.591267658830654e-02 2.590565326173340e-02 2.589863834578747e-02 2.589163183398775e-02 2.588463371701131e-02 + 2.587764398252935e-02 2.587066261956569e-02 2.586368961749470e-02 2.585672496539723e-02 2.584976865103265e-02 + 2.584282066471713e-02 2.583588100000093e-02 2.582894964599770e-02 2.582202659070586e-02 2.581511182332461e-02 + 2.580820533343631e-02 2.580130710958863e-02 2.579441713875388e-02 2.578753541579036e-02 2.578066193633965e-02 + 2.577379668579866e-02 2.576693964640701e-02 2.576009080523955e-02 2.575325016689414e-02 2.574641771694009e-02 + 2.573959342940173e-02 2.573277731100565e-02 2.572596935753856e-02 2.571916954588383e-02 2.571237786264848e-02 + 2.570559430241213e-02 2.569881886299849e-02 2.569205152414907e-02 2.568529227185872e-02 2.567854111122693e-02 + 2.567179802594942e-02 2.566506299732867e-02 2.565833602386073e-02 2.565161709921462e-02 2.564490620914589e-02 + 2.563820333139000e-02 2.563150846268354e-02 2.562482160754986e-02 2.561814274902439e-02 2.561147187258114e-02 + 2.560480896924013e-02 2.559815402833877e-02 2.559150703774291e-02 2.558486798572520e-02 2.557823686789989e-02 + 2.557161367849433e-02 2.556499840587265e-02 2.555839103232124e-02 2.555179154834854e-02 2.554519995829834e-02 + 2.553861624178350e-02 2.553204037844031e-02 2.552547237202886e-02 2.551891221538829e-02 2.551235989397021e-02 + 2.550581539575596e-02 2.549927871458803e-02 2.549274984258965e-02 2.548622875540724e-02 2.547971544999134e-02 + 2.547320993631275e-02 2.546671219025347e-02 2.546022219347805e-02 2.545373994243675e-02 2.544726542971977e-02 + 2.544079864501286e-02 2.543433957656028e-02 2.542788821576999e-02 2.542144455508066e-02 2.541500858637495e-02 + 2.540858030019949e-02 2.540215968413957e-02 2.539574672197945e-02 2.538934140646816e-02 2.538294373410821e-02 + 2.537655369660362e-02 2.537017128263758e-02 2.536379648098229e-02 2.535742928550868e-02 2.535106968465225e-02 + 2.534471766277936e-02 2.533837321084466e-02 2.533203632423742e-02 2.532570699881585e-02 2.531938521813243e-02 + 2.531307097096266e-02 2.530676425602581e-02 2.530046505932213e-02 2.529417336607690e-02 2.528788916915281e-02 + 2.528161246489754e-02 2.527534324609989e-02 2.526908149634068e-02 2.526282720495094e-02 2.525658036572961e-02 + 2.525034097275206e-02 2.524410901058027e-02 2.523788446449190e-02 2.523166734234336e-02 2.522545763237074e-02 + 2.521925530838600e-02 2.521306037097086e-02 2.520687281776321e-02 2.520069263496993e-02 2.519451980442291e-02 + 2.518835431925369e-02 2.518219618546694e-02 2.517604538654039e-02 2.516990190396150e-02 2.516376573127799e-02 + 2.515763686639562e-02 2.515151530112912e-02 2.514540101358030e-02 2.513929399756280e-02 2.513319425347670e-02 + 2.512710177240427e-02 2.512101654329324e-02 2.511493855506050e-02 2.510886779787783e-02 2.510280425830826e-02 + 2.509674792451250e-02 2.509069880343641e-02 2.508465688466923e-02 2.507862214067907e-02 2.507259457630134e-02 + 2.506657418922008e-02 2.506056095604422e-02 2.505455486579475e-02 2.504855591546334e-02 2.504256410459500e-02 + 2.503657941982099e-02 2.503060184642849e-02 2.502463137903613e-02 2.501866800626509e-02 2.501271171663477e-02 + 2.500676250820755e-02 2.500082037092928e-02 2.499488529135626e-02 2.498895726677344e-02 2.498303628979692e-02 + 2.497712234741346e-02 2.497121542814719e-02 2.496531552247531e-02 2.495942262282587e-02 2.495353672310340e-02 + 2.494765781766853e-02 2.494178589943900e-02 2.493592095223772e-02 2.493006296439117e-02 2.492421193524048e-02 + 2.491836784922406e-02 2.491253069345717e-02 2.490670047398909e-02 2.490087718065651e-02 2.489506079631419e-02 + 2.488925131370227e-02 2.488344872747560e-02 2.487765302865731e-02 2.487186419727612e-02 2.486608223223404e-02 + 2.486030714174834e-02 2.485453889875117e-02 2.484877749156952e-02 2.484302292908405e-02 2.483727519324232e-02 + 2.483153426549052e-02 2.482580013961989e-02 2.482007281919668e-02 2.481435229933991e-02 2.480863855780388e-02 + 2.480293158683973e-02 2.479723138421890e-02 2.479153794250162e-02 2.478585124573938e-02 2.478017128120043e-02 + 2.477449805440481e-02 2.476883155587847e-02 2.476317176818658e-02 2.475751868877601e-02 2.475187231076201e-02 + 2.474623262098153e-02 2.474059960704484e-02 2.473497326224523e-02 2.472935358498410e-02 2.472374056978996e-02 + 2.471813420423485e-02 2.471253447111526e-02 2.470694136984621e-02 2.470135489678424e-02 2.469577503399494e-02 + 2.469020177298829e-02 2.468463511029760e-02 2.467907504169421e-02 2.467352155791407e-02 2.466797464651026e-02 + 2.466243429488579e-02 2.465690049712254e-02 2.465137324948606e-02 2.464585254039273e-02 2.464033836402688e-02 + 2.463483071739735e-02 2.462932958374225e-02 2.462383495186045e-02 2.461834681928389e-02 2.461286517898853e-02 + 2.460739002108202e-02 2.460192133524253e-02 2.459645911917798e-02 2.459100336526309e-02 2.458555405446716e-02 + 2.458011118496141e-02 2.457467475465895e-02 2.456924474486533e-02 2.456382114921245e-02 2.455840396700115e-02 + 2.455299319041756e-02 2.454758880740113e-02 2.454219080674820e-02 2.453679918638537e-02 2.453141393576077e-02 + 2.452603503863916e-02 2.452066249180092e-02 2.451529629410615e-02 2.450993644073534e-02 2.450458291517292e-02 + 2.449923570627392e-02 2.449389481263279e-02 2.448856022075961e-02 2.448323192252920e-02 2.447790992354739e-02 + 2.447259420740984e-02 2.446728475663024e-02 2.446198157303190e-02 2.445668465268695e-02 2.445139398411770e-02 + 2.444610955000165e-02 2.444083134675017e-02 2.443555937646448e-02 2.443029362647454e-02 2.442503408583922e-02 + 2.441978074770511e-02 2.441453360513738e-02 2.440929264714783e-02 2.440405786136508e-02 2.439882924944217e-02 + 2.439360680824694e-02 2.438839052372590e-02 2.438318038826778e-02 2.437797639360750e-02 2.437277852674977e-02 + 2.436758678074824e-02 2.436240115296091e-02 2.435722164202054e-02 2.435204823529888e-02 2.434688091817521e-02 + 2.434171968740183e-02 2.433656453724402e-02 2.433141545805634e-02 2.432627243782077e-02 2.432113546933723e-02 + 2.431600455029639e-02 2.431087967900234e-02 2.430576084399959e-02 2.430064802749307e-02 2.429554123205279e-02 + 2.429044044976694e-02 2.428534565606734e-02 2.428025685952290e-02 2.427517406275088e-02 2.427009724038350e-02 + 2.426502638834353e-02 2.425996150697585e-02 2.425490258288459e-02 2.424984960255012e-02 2.424480255754471e-02 + 2.423976144931379e-02 2.423472627405213e-02 2.422969702193537e-02 2.422467367993699e-02 2.421965624107330e-02 + 2.421464470176334e-02 2.420963904926960e-02 2.420463927567678e-02 2.419964537946393e-02 2.419465735323985e-02 + 2.418967518800793e-02 2.418469887545246e-02 2.417972840901141e-02 2.417476377855392e-02 2.416980496962540e-02 + 2.416485198688481e-02 2.415990483049387e-02 2.415496347565664e-02 2.415002792020104e-02 2.414509816788697e-02 + 2.414017420064829e-02 2.413525600526027e-02 2.413034357711665e-02 2.412543691925479e-02 2.412053602209589e-02 + 2.411564086852338e-02 2.411075145960207e-02 2.410586778967854e-02 2.410098984367492e-02 2.409611761892932e-02 + 2.409125110932578e-02 2.408639030144091e-02 2.408153519631380e-02 2.407668578962185e-02 2.407184206146642e-02 + 2.406700400909483e-02 2.406217163125833e-02 2.405734491326586e-02 2.405252385052364e-02 2.404770844026444e-02 + 2.404289866819192e-02 2.403809452984102e-02 2.403329602484744e-02 2.402850314011094e-02 2.402371586479471e-02 + 2.401893419282938e-02 2.401415812045089e-02 2.400938764313821e-02 2.400462275334547e-02 2.399986343578922e-02 + 2.399510968520409e-02 2.399036150812855e-02 2.398561888480285e-02 2.398088180164008e-02 2.397615026865237e-02 + 2.397142427338870e-02 2.396670380040281e-02 2.396198885088599e-02 2.395727942113068e-02 2.395257549962209e-02 + 2.394787706723708e-02 2.394318412617158e-02 2.393849668455232e-02 2.393381472012022e-02 2.392913822141401e-02 + 2.392446719065216e-02 2.391980162598514e-02 2.391514151312970e-02 2.391048683154523e-02 2.390583758880722e-02 + 2.390119378770886e-02 2.389655541357522e-02 2.389192245255953e-02 2.388729489743550e-02 2.388267274893805e-02 + 2.387805599705324e-02 2.387344463051915e-02 2.386883864637205e-02 2.386423804212813e-02 2.385964281176755e-02 + 2.385505294183017e-02 2.385046842474073e-02 2.384588925674739e-02 2.384131543037479e-02 2.383674693675093e-02 + 2.383218376863605e-02 2.382762592698097e-02 2.382307340607612e-02 2.381852619200930e-02 2.381398427584630e-02 + 2.380944765139419e-02 2.380491631418275e-02 2.380039026147703e-02 2.379586948695320e-02 2.379135397827495e-02 + 2.378684372855616e-02 2.378233873403001e-02 2.377783899070361e-02 2.377334448688785e-02 2.376885521259772e-02 + 2.376437117173840e-02 2.375989235311110e-02 2.375541874056297e-02 2.375095033967465e-02 2.374648714507580e-02 + 2.374202914136664e-02 2.373757632537944e-02 2.373312869288914e-02 2.372868623536894e-02 2.372424894471153e-02 + 2.371981681484819e-02 2.371538984133524e-02 2.371096801501392e-02 2.370655132827953e-02 2.370213977833190e-02 + 2.369773335765337e-02 2.369333205880069e-02 2.368893587883010e-02 2.368454481046802e-02 2.368015884444250e-02 + 2.367577797334512e-02 2.367140218742613e-02 2.366703147963686e-02 2.366266585606776e-02 2.365830530976384e-02 + 2.365394982335759e-02 2.364959939168465e-02 2.364525401200215e-02 2.364091367903051e-02 2.363657837870221e-02 + 2.363224810602428e-02 2.362792286773459e-02 2.362360264929340e-02 2.361928743769403e-02 2.361497723470610e-02 + 2.361067203383207e-02 2.360637182449869e-02 2.360207659794005e-02 2.359778635431920e-02 2.359350109143980e-02 + 2.358922079027601e-02 2.358494544772182e-02 2.358067506765588e-02 2.357640963547734e-02 2.357214914179353e-02 + 2.356789358468287e-02 2.356364296127548e-02 2.355939726289868e-02 2.355515647729875e-02 2.355092060314220e-02 + 2.354668963726047e-02 2.354246356971432e-02 2.353824239065819e-02 2.353402609608870e-02 2.352981468856027e-02 + 2.352560815209497e-02 2.352140647526573e-02 2.351720967050562e-02 2.351301772305351e-02 2.350883061252196e-02 + 2.350464834642137e-02 2.350047092197861e-02 2.349629832802946e-02 2.349213055910952e-02 2.348796760574937e-02 + 2.348380945835795e-02 2.347965612326723e-02 2.347550759163322e-02 2.347136384068571e-02 2.346722487769892e-02 + 2.346309070523777e-02 2.345896130833473e-02 2.345483667635093e-02 2.345071680463291e-02 2.344660169327714e-02 + 2.344249133136094e-02 2.343838570884467e-02 2.343428482723373e-02 2.343018868068117e-02 2.342609726030811e-02 + 2.342201056195244e-02 2.341792857876926e-02 2.341385130156056e-02 2.340977872164902e-02 2.340571083589386e-02 + 2.340164764377465e-02 2.339758913684304e-02 2.339353530825718e-02 2.338948615385810e-02 2.338544166438565e-02 + 2.338140183238109e-02 2.337736665460082e-02 2.337333612670094e-02 2.336931024309368e-02 2.336528899670786e-02 + 2.336127237782067e-02 2.335726037932775e-02 2.335325300092871e-02 2.334925023614406e-02 2.334525207670920e-02 + 2.334125851951941e-02 2.333726955725296e-02 2.333328518197435e-02 2.332930539416707e-02 2.332533018620607e-02 + 2.332135954429912e-02 2.331739346348105e-02 2.331343194297124e-02 2.330947498175055e-02 2.330552256758802e-02 + 2.330157469245372e-02 2.329763135682490e-02 2.329369255310137e-02 2.328975827131819e-02 2.328582850377367e-02 + 2.328190324900185e-02 2.327798250467623e-02 2.327406626164597e-02 2.327015451465238e-02 2.326624725851670e-02 + 2.326234448228765e-02 2.325844618291867e-02 2.325455236057939e-02 2.325066300636415e-02 2.324677811186985e-02 + 2.324289767062798e-02 2.323902167622130e-02 2.323515012509116e-02 2.323128301561370e-02 2.322742034088871e-02 + 2.322356209250113e-02 2.321970826255392e-02 2.321585884544971e-02 2.321201383858435e-02 2.320817324137425e-02 + 2.320433704277431e-02 2.320050523099401e-02 2.319667780275936e-02 2.319285475700314e-02 2.318903609087885e-02 + 2.318522179577433e-02 2.318141186586264e-02 2.317760629632794e-02 2.317380507773795e-02 2.317000820301008e-02 + 2.316621566880872e-02 2.316242747510807e-02 2.315864361575457e-02 2.315486407850317e-02 2.315108885694486e-02 + 2.314731794816131e-02 2.314355135044316e-02 2.313978905662257e-02 2.313603105913640e-02 2.313227735329952e-02 + 2.312852793585061e-02 2.312478280157292e-02 2.312104194073204e-02 2.311730534704967e-02 2.311357301587891e-02 + 2.310984494137890e-02 2.310612112341407e-02 2.310240155989217e-02 2.309868623130452e-02 2.309497513592190e-02 + 2.309126828241582e-02 2.308756565023808e-02 2.308386723175103e-02 2.308017303542274e-02 2.307648304592169e-02 + 2.307279725617671e-02 2.306911567493640e-02 2.306543828441958e-02 2.306176507302976e-02 2.305809605235563e-02 + 2.305443121050249e-02 2.305077053229759e-02 2.304711401909808e-02 2.304346166830784e-02 2.303981347406350e-02 + 2.303616943085239e-02 2.303252953349069e-02 2.302889377643319e-02 2.302526215247478e-02 2.302163465435939e-02 + 2.301801127709388e-02 2.301439202296127e-02 2.301077688440331e-02 2.300716584594829e-02 2.300355891234385e-02 + 2.299995607931316e-02 2.299635732709070e-02 2.299276266087610e-02 2.298917208378683e-02 2.298558558107965e-02 + 2.298200314503575e-02 2.297842477288603e-02 2.297485046311076e-02 2.297128020911345e-02 2.296771400315858e-02 + 2.296415184168031e-02 2.296059371667762e-02 2.295703962066644e-02 2.295348955785851e-02 2.294994352217295e-02 + 2.294640149900077e-02 2.294286348264926e-02 2.293932947451599e-02 2.293579947717141e-02 2.293227347444131e-02 + 2.292875145668869e-02 2.292523342863249e-02 2.292171938675970e-02 2.291820932208030e-02 2.291470322329688e-02 + 2.291120108573121e-02 2.290770290936340e-02 2.290420869564250e-02 2.290071843254762e-02 2.289723210840996e-02 + 2.289374972996874e-02 2.289027128684278e-02 2.288679676284003e-02 2.288332616596880e-02 2.287985949623025e-02 + 2.287639674290211e-02 2.287293789614104e-02 2.286948295143698e-02 2.286603190794522e-02 2.286258475709644e-02 + 2.285914149325583e-02 2.285570211629635e-02 2.285226661817064e-02 2.284883499242224e-02 2.284540723897847e-02 + 2.284198334984975e-02 2.283856331588243e-02 2.283514713353579e-02 2.283173480111027e-02 2.282832631556901e-02 + 2.282492166909090e-02 2.282152085461623e-02 2.281812386736860e-02 2.281473070606539e-02 2.281134136558116e-02 + 2.280795583769253e-02 2.280457411713410e-02 2.280119619914733e-02 2.279782207936136e-02 2.279445175627783e-02 + 2.279108522557549e-02 2.278772247795469e-02 2.278436350274908e-02 2.278100829770330e-02 2.277765687156956e-02 + 2.277430921150676e-02 2.277096530368425e-02 2.276762515226868e-02 2.276428875675497e-02 2.276095610802096e-02 + 2.275762718728153e-02 2.275430199700514e-02 2.275098054723153e-02 2.274766282325953e-02 2.274434881806882e-02 + 2.274103853245654e-02 2.273773195657694e-02 2.273442908251650e-02 2.273112990748000e-02 2.272783443024632e-02 + 2.272454264587135e-02 2.272125454541999e-02 2.271797012768606e-02 2.271468938883630e-02 2.271141231743784e-02 + 2.270813891155475e-02 2.270486917113991e-02 2.270160309030139e-02 2.269834065991423e-02 2.269508187421201e-02 + 2.269182673791773e-02 2.268857524219826e-02 2.268532737305624e-02 2.268208313254210e-02 2.267884251722086e-02 + 2.267560551920548e-02 2.267237214108131e-02 2.266914237609957e-02 2.266591620883689e-02 2.266269364166427e-02 + 2.265947467384046e-02 2.265625929499294e-02 2.265304750285308e-02 2.264983929495161e-02 2.264663466331073e-02 + 2.264343359962570e-02 2.264023610100446e-02 2.263704217283995e-02 2.263385180078203e-02 2.263066497176033e-02 + 2.262748170200772e-02 2.262430198020481e-02 2.262112578516977e-02 2.261795313211606e-02 2.261478401664109e-02 + 2.261161841743119e-02 2.260845633522814e-02 2.260529777070043e-02 2.260214271924124e-02 2.259899117823321e-02 + 2.259584314154298e-02 2.259269859890657e-02 2.258955754741791e-02 2.258641998536936e-02 2.258328590829124e-02 + 2.258015531052365e-02 2.257702818646037e-02 2.257390453172050e-02 2.257078434461123e-02 2.256766762198980e-02 + 2.256455435398716e-02 2.256144453344060e-02 2.255833815784602e-02 2.255523523027356e-02 2.255213574452021e-02 + 2.254903968810603e-02 2.254594705829782e-02 2.254285785514665e-02 2.253977207653749e-02 2.253668970834607e-02 + 2.253361074658835e-02 2.253053520058667e-02 2.252746305460894e-02 2.252439429792020e-02 2.252132894054988e-02 + 2.251826697539277e-02 2.251520839162438e-02 2.251215318778324e-02 2.250910135797150e-02 2.250605289615611e-02 + 2.250300780314812e-02 2.249996607511807e-02 2.249692770517706e-02 2.249389268897849e-02 2.249086101912092e-02 + 2.248783268793952e-02 2.248480769791340e-02 2.248178604607573e-02 2.247876772289102e-02 2.247575272657626e-02 + 2.247274105420605e-02 2.246973269884927e-02 2.246672765673356e-02 2.246372592391256e-02 2.246072749418018e-02 + 2.245773236145919e-02 2.245474052366870e-02 2.245175198466864e-02 2.244876673416187e-02 2.244578475935081e-02 + 2.244280606154297e-02 2.243983064008646e-02 2.243685849064164e-02 2.243388960632717e-02 2.243092397966235e-02 + 2.242796160524575e-02 2.242500248562306e-02 2.242204661762487e-02 2.241909399183298e-02 2.241614460666303e-02 + 2.241319845819517e-02 2.241025553754803e-02 2.240731584245553e-02 2.240437937032112e-02 2.240144611432051e-02 + 2.239851607018801e-02 2.239558923444239e-02 2.239266560299412e-02 2.238974517661811e-02 2.238682795331298e-02 + 2.238391391839321e-02 2.238100306495051e-02 2.237809539304577e-02 2.237519090301935e-02 2.237228958954325e-02 + 2.236939144530989e-02 2.236649647337483e-02 2.236360466636645e-02 2.236071600836286e-02 2.235783050633204e-02 + 2.235494816009726e-02 2.235206895420678e-02 2.234919288912077e-02 2.234631996540050e-02 2.234345017408028e-02 + 2.234058350741709e-02 2.233771996217690e-02 2.233485954108143e-02 2.233200223848051e-02 2.232914804618978e-02 + 2.232629696222737e-02 2.232344898389008e-02 2.232060410657171e-02 2.231776232362639e-02 2.231492363175558e-02 + 2.231208802922137e-02 2.230925550831191e-02 2.230642606279709e-02 2.230359969032392e-02 2.230077639232617e-02 + 2.229795616382932e-02 2.229513899284023e-02 2.229232488215048e-02 2.228951382986107e-02 2.228670582046145e-02 + 2.228390085767177e-02 2.228109894426768e-02 2.227830006461064e-02 2.227550421765863e-02 2.227271140560883e-02 + 2.226992161633195e-02 2.226713484518715e-02 2.226435109357777e-02 2.226157036041665e-02 2.225879263594571e-02 + 2.225601790864145e-02 2.225324618600033e-02 2.225047746610503e-02 2.224771173578603e-02 2.224494899695189e-02 + 2.224218924606724e-02 2.223943246967720e-02 2.223667867147697e-02 2.223392785229840e-02 2.223117999944780e-02 + 2.222843510958861e-02 2.222569318138216e-02 2.222295420869658e-02 2.222021819230338e-02 2.221748513172378e-02 + 2.221475501403353e-02 2.221202783347761e-02 2.220930358964832e-02 2.220658227937696e-02 2.220386389978368e-02 + 2.220114844711944e-02 2.219843591216284e-02 2.219572629440826e-02 2.219301959936691e-02 2.219031581219321e-02 + 2.218761492468887e-02 2.218491694233576e-02 2.218222185562244e-02 2.217952965986671e-02 2.217684036403281e-02 + 2.217415395419634e-02 2.217147041795686e-02 2.216878976537657e-02 2.216611199005385e-02 2.216343708084910e-02 + 2.216076504044857e-02 2.215809586407636e-02 2.215542954392592e-02 2.215276608232491e-02 2.215010547339664e-02 + 2.214744770611955e-02 2.214479278225410e-02 2.214214070177000e-02 2.213949145934428e-02 2.213684504847090e-02 + 2.213420146383213e-02 2.213156070201421e-02 2.212892275987791e-02 2.212628763520102e-02 2.212365532631548e-02 + 2.212102582567219e-02 2.211839912707401e-02 2.211577523186081e-02 2.211315413883962e-02 2.211053584219323e-02 + 2.210792033053083e-02 2.210530760247808e-02 2.210269766011106e-02 2.210009049378774e-02 2.209748609987134e-02 + 2.209488448015577e-02 2.209228563063591e-02 2.208968954607055e-02 2.208709622107550e-02 2.208450564887732e-02 + 2.208191782589816e-02 2.207933275252874e-02 2.207675042560285e-02 2.207417084119970e-02 2.207159399606388e-02 + 2.206901988424427e-02 2.206644850045388e-02 2.206387984291528e-02 2.206131390816773e-02 2.205875069196218e-02 + 2.205619019101501e-02 2.205363240248722e-02 2.205107732226570e-02 2.204852494231603e-02 2.204597526222870e-02 + 2.204342828418220e-02 2.204088399409952e-02 2.203834238815479e-02 2.203580347352047e-02 2.203326724064265e-02 + 2.203073368487589e-02 2.202820281109562e-02 2.202567460568826e-02 2.202314905892956e-02 2.202062617713913e-02 + 2.201810595951965e-02 2.201558839960293e-02 2.201307348855861e-02 2.201056122699519e-02 2.200805161543166e-02 + 2.200554464185156e-02 2.200304030240887e-02 2.200053859846551e-02 2.199803952619762e-02 2.199554308107517e-02 + 2.199304925941878e-02 2.199055805969111e-02 2.198806947716193e-02 2.198558350490501e-02 2.198310014348315e-02 + 2.198061939050182e-02 2.197814123774413e-02 2.197566568143648e-02 2.197319271829654e-02 2.197072234409288e-02 + 2.196825456242376e-02 2.196578937054303e-02 2.196332674903257e-02 2.196086670076693e-02 2.195840923401799e-02 + 2.195595433798292e-02 2.195350200785295e-02 2.195105224287541e-02 2.194860503638501e-02 2.194616038337459e-02 + 2.194371828086876e-02 2.194127872478465e-02 2.193884171275727e-02 2.193640724439015e-02 2.193397531871202e-02 + 2.193154592984012e-02 2.192911906730429e-02 2.192669472874541e-02 2.192427291582612e-02 2.192185362988310e-02 + 2.191943685926103e-02 2.191702259589666e-02 2.191461084837004e-02 2.191220161094460e-02 2.190979487232746e-02 + 2.190739062981033e-02 2.190498888177591e-02 2.190258962778606e-02 2.190019287048831e-02 2.189779860038415e-02 + 2.189540680312951e-02 2.189301748590321e-02 2.189063064823816e-02 2.188824627921663e-02 2.188586438035036e-02 + 2.188348494945867e-02 2.188110797669410e-02 2.187873346273279e-02 2.187636140793982e-02 2.187399180563438e-02 + 2.187162464701073e-02 2.186925992764394e-02 2.186689765219864e-02 2.186453782016761e-02 2.186218042520733e-02 + 2.185982545624109e-02 2.185747291143151e-02 2.185512279286289e-02 2.185277509428750e-02 2.185042981497303e-02 + 2.184808695595145e-02 2.184574650317918e-02 2.184340845337333e-02 2.184107281435048e-02 2.183873957690715e-02 + 2.183640873122354e-02 2.183408027442373e-02 2.183175421068970e-02 2.182943053984947e-02 2.182710925220595e-02 + 2.182479034512406e-02 2.182247381639650e-02 2.182015965839264e-02 2.181784786935527e-02 2.181553844939510e-02 + 2.181323139439093e-02 2.181092669994856e-02 2.180862436262286e-02 2.180632438083940e-02 2.180402674952244e-02 + 2.180173146217098e-02 2.179943851892379e-02 2.179714791838810e-02 2.179485965603752e-02 2.179257372764807e-02 + 2.179029013045416e-02 2.178800886254997e-02 2.178572991731780e-02 2.178345329019238e-02 2.178117898198011e-02 + 2.177890698980304e-02 2.177663730909087e-02 2.177436993586566e-02 2.177210486810286e-02 2.176984210277431e-02 + 2.176758163245009e-02 2.176532345522340e-02 2.176306757137086e-02 2.176081397536724e-02 2.175856266623576e-02 + 2.175631364444715e-02 2.175406689861889e-02 2.175182242380624e-02 2.174958022311289e-02 2.174734029291431e-02 + 2.174510262809328e-02 2.174286722491656e-02 2.174063408336708e-02 2.173840320169586e-02 2.173617457340815e-02 + 2.173394819180500e-02 2.173172405255836e-02 2.172950215559655e-02 2.172728250040623e-02 2.172506508580887e-02 + 2.172284990969628e-02 2.172063696250313e-02 2.171842623537083e-02 2.171621773566752e-02 2.171401146093844e-02 + 2.171180740120238e-02 2.170960555830954e-02 2.170740592901658e-02 2.170520850408856e-02 2.170301328419004e-02 + 2.170082027006994e-02 2.169862945830807e-02 2.169644084240343e-02 2.169425441572978e-02 2.169207017401216e-02 + 2.168988812007480e-02 2.168770825534887e-02 2.168553057272023e-02 2.168335506533793e-02 2.168118172867985e-02 + 2.167901056214399e-02 2.167684156632982e-02 2.167467473989915e-02 2.167251007478243e-02 2.167034756604321e-02 + 2.166818721221639e-02 2.166602901099679e-02 2.166387295840019e-02 2.166171905012346e-02 2.165956728718834e-02 + 2.165741766632386e-02 2.165527017845730e-02 2.165312482355555e-02 2.165098160273919e-02 2.164884051303741e-02 + 2.164670154730472e-02 2.164456469954934e-02 2.164242996946321e-02 2.164029735885670e-02 2.163816686523918e-02 + 2.163603847533059e-02 2.163391219068715e-02 2.163178801684997e-02 2.162966593882407e-02 2.162754595404139e-02 + 2.162542806873079e-02 2.162331227177066e-02 2.162119856181649e-02 2.161908694674025e-02 2.161697741144211e-02 + 2.161486994763257e-02 2.161276456243416e-02 2.161066125301312e-02 2.160856001324272e-02 2.160646083892226e-02 + 2.160436373197112e-02 2.160226869104043e-02 2.160017570438035e-02 2.159808476849354e-02 2.159599588501710e-02 + 2.159390905460169e-02 2.159182427010056e-02 2.158974152429478e-02 2.158766082444429e-02 2.158558216760809e-02 + 2.158350554187339e-02 2.158143094233737e-02 2.157935837033232e-02 2.157728782941571e-02 2.157521931196140e-02 + 2.157315281164952e-02 2.157108832745493e-02 2.156902585566251e-02 2.156696539445298e-02 2.156490694526656e-02 + 2.156285049964247e-02 2.156079605212440e-02 2.155874360997529e-02 2.155669316474123e-02 2.155464470676604e-02 + 2.155259824484399e-02 2.155055377365348e-02 2.154851128035285e-02 2.154647076406023e-02 2.154443222886153e-02 + 2.154239567713112e-02 2.154036109691455e-02 2.153832848380287e-02 2.153629784162443e-02 2.153426916110383e-02 + 2.153224243839968e-02 2.153021767928900e-02 2.152819487735599e-02 2.152617402486068e-02 2.152415511969989e-02 + 2.152213816346627e-02 2.152012315489333e-02 2.151811008517867e-02 2.151609895106827e-02 2.151408975350627e-02 + 2.151208249405811e-02 2.151007716412923e-02 2.150807375412716e-02 2.150607227139823e-02 2.150407271389111e-02 + 2.150207507178008e-02 2.150007934512424e-02 2.149808553345600e-02 2.149609363244227e-02 2.149410363369511e-02 + 2.149211553597770e-02 2.149012934592863e-02 2.148814505588094e-02 2.148616265955859e-02 2.148418215959600e-02 + 2.148220354775919e-02 2.148022681859241e-02 2.147825198020547e-02 2.147627902590631e-02 2.147430794498996e-02 + 2.147233873858447e-02 2.147037140717467e-02 2.146840594879004e-02 2.146644235912430e-02 2.146448063553682e-02 + 2.146252077578778e-02 2.146056277288728e-02 2.145860662318243e-02 2.145665232726965e-02 2.145469988438242e-02 + 2.145274929256557e-02 2.145080054831608e-02 2.144885364454498e-02 2.144690857746641e-02 2.144496534942983e-02 + 2.144302395654175e-02 2.144108439499599e-02 2.143914666610025e-02 2.143721076355154e-02 2.143527668029283e-02 + 2.143334441800114e-02 2.143141397685691e-02 2.142948535268880e-02 2.142755853497146e-02 2.142563352602930e-02 + 2.142371033388222e-02 2.142178894500280e-02 2.141986935358769e-02 2.141795156402302e-02 2.141603556793572e-02 + 2.141412136230918e-02 2.141220895321441e-02 2.141029833297722e-02 2.140838949470163e-02 2.140648244009975e-02 + 2.140457716697424e-02 2.140267367166504e-02 2.140077195168551e-02 2.139887200433115e-02 2.139697382547902e-02 + 2.139507740888590e-02 2.139318275720074e-02 2.139128987343195e-02 2.138939874415982e-02 2.138750936775835e-02 + 2.138562175102568e-02 2.138373588641631e-02 2.138185176599392e-02 2.137996938652284e-02 2.137808875223814e-02 + 2.137620986251236e-02 2.137433270909064e-02 2.137245728978030e-02 2.137058360186242e-02 2.136871163953864e-02 + 2.136684140688612e-02 2.136497290390506e-02 2.136310611597474e-02 2.136124104345297e-02 2.135937769212130e-02 + 2.135751605860686e-02 2.135565613610374e-02 2.135379791822062e-02 2.135194140402438e-02 2.135008659417071e-02 + 2.134823348788390e-02 2.134638207760105e-02 2.134453236032835e-02 2.134268433814086e-02 2.134083800772077e-02 + 2.133899336411597e-02 2.133715040305821e-02 2.133530912424798e-02 2.133346952672500e-02 2.133163160670673e-02 + 2.132979536297411e-02 2.132796079152963e-02 2.132612788229375e-02 2.132429663915477e-02 2.132246706798375e-02 + 2.132063916037057e-02 2.131881290769116e-02 2.131698830582932e-02 2.131516535978050e-02 2.131334407028698e-02 + 2.131152443198118e-02 2.130970643552249e-02 2.130789007885127e-02 2.130607536669811e-02 2.130426229682303e-02 + 2.130245086421657e-02 2.130064106313053e-02 2.129883288837854e-02 2.129702633875496e-02 2.129522141788389e-02 + 2.129341812290223e-02 2.129161644909972e-02 2.128981639414264e-02 2.128801795585396e-02 2.128622113110773e-02 + 2.128442591509673e-02 2.128263230760480e-02 2.128084030772261e-02 2.127904990395241e-02 2.127726109953179e-02 + 2.127547390424031e-02 2.127368830171838e-02 2.127190428479188e-02 2.127012186038021e-02 2.126834102886177e-02 + 2.126656178481652e-02 2.126478411995624e-02 2.126300803603507e-02 2.126123353191450e-02 2.125946059821390e-02 + 2.125768923851055e-02 2.125591945439615e-02 2.125415123382016e-02 2.125238457915817e-02 2.125061949358618e-02 + 2.124885596288304e-02 2.124709398735697e-02 2.124533357303348e-02 2.124357470952245e-02 2.124181739435340e-02 + 2.124006163206048e-02 2.123830741948956e-02 2.123655475001017e-02 2.123480361731545e-02 2.123305402409987e-02 + 2.123130596739953e-02 2.122955943693203e-02 2.122781443910126e-02 2.122607097723360e-02 2.122432904130337e-02 + 2.122258862659696e-02 2.122084973282204e-02 2.121911236175234e-02 2.121737650789419e-02 2.121564216387619e-02 + 2.121390932803162e-02 2.121217800425756e-02 2.121044819455527e-02 2.120871988671843e-02 2.120699307684077e-02 + 2.120526776795157e-02 2.120354395552526e-02 2.120182163603621e-02 2.120010080901829e-02 2.119838147500087e-02 + 2.119666363123091e-02 2.119494727091758e-02 2.119323238927472e-02 2.119151898655034e-02 2.118980706773010e-02 + 2.118809662574528e-02 2.118638765303925e-02 2.118468015121633e-02 2.118297411864271e-02 2.118126955146517e-02 + 2.117956644637810e-02 2.117786480292237e-02 2.117616462067450e-02 2.117446589411339e-02 2.117276862084477e-02 + 2.117107280130004e-02 2.116937843379139e-02 2.116768551256503e-02 2.116599403067535e-02 2.116430399205533e-02 + 2.116261539753040e-02 2.116092824074994e-02 2.115924251858398e-02 2.115755822756320e-02 2.115587536308644e-02 + 2.115419393062315e-02 2.115251393109511e-02 2.115083534999197e-02 2.114915818684827e-02 2.114748244571777e-02 + 2.114580812117730e-02 2.114413521000233e-02 2.114246371011731e-02 2.114079361630021e-02 2.113912493113981e-02 + 2.113745765864524e-02 2.113579178347091e-02 2.113412730283017e-02 2.113246422731517e-02 2.113080255018658e-02 + 2.112914226466844e-02 2.112748336987266e-02 2.112582586239263e-02 2.112416973838773e-02 2.112251499585494e-02 + 2.112086163946853e-02 2.111920966923609e-02 2.111755907231158e-02 2.111590984741022e-02 2.111426199652882e-02 + 2.111261551330255e-02 2.111097039854193e-02 2.110932665501722e-02 2.110768427494188e-02 2.110604325159932e-02 + 2.110440358337455e-02 2.110276527755971e-02 2.110112832954347e-02 2.109949272542061e-02 2.109785847270291e-02 + 2.109622557382813e-02 2.109459401840321e-02 2.109296380279178e-02 2.109133492634166e-02 2.108970738897449e-02 + 2.108808119187406e-02 2.108645633261542e-02 2.108483280177793e-02 2.108321059649476e-02 2.108158971816587e-02 + 2.107997016818712e-02 2.107835194176262e-02 2.107673503228282e-02 2.107511943992769e-02 2.107350516482023e-02 + 2.107189220511111e-02 2.107028055587330e-02 2.106867021606288e-02 2.106706118735907e-02 2.106545346293816e-02 + 2.106384703796383e-02 2.106224191316689e-02 2.106063808955507e-02 2.105903556250238e-02 2.105743432153898e-02 + 2.105583437513380e-02 2.105423572746437e-02 2.105263836035830e-02 2.105104227142354e-02 2.104944746729932e-02 + 2.104785395134047e-02 2.104626171573087e-02 2.104467074966839e-02 2.104308105452007e-02 2.104149263222363e-02 + 2.103990548218236e-02 2.103831959968388e-02 2.103673498293864e-02 2.103515163200819e-02 2.103356953798411e-02 + 2.103198869775456e-02 2.103040911733209e-02 2.102883079574534e-02 2.102725372695269e-02 2.102567790273802e-02 + 2.102410332486244e-02 2.102252999507990e-02 2.102095790737760e-02 2.101938706174730e-02 2.101781745879964e-02 + 2.101624909192282e-02 2.101468195450770e-02 2.101311604447429e-02 2.101155137000445e-02 2.100998792857284e-02 + 2.100842571064132e-02 2.100686471849675e-02 2.100530495078897e-02 2.100374640001838e-02 2.100218906014547e-02 + 2.100063293273019e-02 2.099907802537045e-02 2.099752433031871e-02 2.099597184169578e-02 2.099442056340826e-02 + 2.099287048844137e-02 2.099132161182849e-02 2.098977394056553e-02 2.098822746767990e-02 2.098668218492037e-02 + 2.098513809937855e-02 2.098359520656010e-02 2.098205349870481e-02 2.098051298433238e-02 2.097897365788888e-02 + 2.097743550607582e-02 2.097589853771057e-02 2.097436275317134e-02 2.097282814179318e-02 2.097129470444368e-02 + 2.096976244194844e-02 2.096823135057212e-02 2.096670142502171e-02 2.096517266432222e-02 2.096364507294766e-02 + 2.096211864290872e-02 2.096059336882086e-02 2.095906925902597e-02 2.095754630598820e-02 2.095602449947026e-02 + 2.095450384463222e-02 2.095298434369944e-02 2.095146599313072e-02 2.094994878341327e-02 2.094843271500539e-02 + 2.094691779352117e-02 2.094540401073429e-02 2.094389136288097e-02 2.094237985194064e-02 2.094086947133280e-02 + 2.093936021927527e-02 2.093785210108921e-02 2.093634511142213e-02 2.093483924325246e-02 2.093333449385128e-02 + 2.093183086645815e-02 2.093032836253444e-02 2.092882697593887e-02 2.092732670311165e-02 2.092582754108962e-02 + 2.092432948474122e-02 2.092283253800634e-02 2.092133670446908e-02 2.091984196956714e-02 2.091834833166288e-02 + 2.091685579922333e-02 2.091536436905392e-02 2.091387403364116e-02 2.091238478662568e-02 2.091089663391256e-02 + 2.090940957508328e-02 2.090792359986955e-02 2.090643871032298e-02 2.090495490818039e-02 2.090347218811059e-02 + 2.090199054718417e-02 2.090050998308706e-02 2.089903049243704e-02 2.089755207414248e-02 2.089607472810411e-02 + 2.089459845325996e-02 2.089312324594328e-02 2.089164910255710e-02 2.089017602427597e-02 2.088870401009232e-02 + 2.088723305634642e-02 2.088576315893389e-02 2.088429431601771e-02 2.088282652696964e-02 2.088135978615913e-02 + 2.087989409321534e-02 2.087842945395569e-02 2.087696586275656e-02 2.087550331287119e-02 2.087404180207852e-02 + 2.087258132736208e-02 2.087112188861259e-02 2.086966349090147e-02 2.086820612891688e-02 2.086674979608584e-02 + 2.086529449590395e-02 2.086384022331517e-02 2.086238697045790e-02 2.086093474039187e-02 2.085948353444753e-02 + 2.085803335091995e-02 2.085658418796912e-02 2.085513604081134e-02 2.085368890289571e-02 2.085224277300881e-02 + 2.085079765267601e-02 2.084935354393509e-02 2.084791044341373e-02 2.084646834711395e-02 2.084502725286095e-02 + 2.084358715744794e-02 2.084214805848912e-02 2.084070995598070e-02 2.083927284909677e-02 2.083783673573611e-02 + 2.083640161226469e-02 2.083496747523998e-02 2.083353432223483e-02 2.083210215303235e-02 2.083067096927498e-02 + 2.082924077044086e-02 2.082781154460241e-02 2.082638329211299e-02 2.082495602309350e-02 2.082352972509603e-02 + 2.082210439277076e-02 2.082068003454410e-02 2.081925664261260e-02 2.081783421113447e-02 2.081641274508624e-02 + 2.081499224082686e-02 2.081357269450268e-02 2.081215410878219e-02 2.081073647873721e-02 2.080931979776872e-02 + 2.080790406592918e-02 2.080648928500749e-02 2.080507545608266e-02 2.080366257645188e-02 2.080225063919177e-02 + 2.080083963814898e-02 2.079942957984240e-02 2.079802046255642e-02 2.079661227641324e-02 2.079520502452446e-02 + 2.079379870732677e-02 2.079239331877295e-02 2.079098886066600e-02 2.078958533155146e-02 2.078818272238310e-02 + 2.078678103594075e-02 2.078538027480030e-02 2.078398043169412e-02 2.078258150517176e-02 2.078118349582184e-02 + 2.077978640032045e-02 2.077839021518007e-02 2.077699493798996e-02 2.077560056860569e-02 2.077420710626992e-02 + 2.077281454908150e-02 2.077142289397691e-02 2.077003213665487e-02 2.076864227381708e-02 2.076725331084939e-02 + 2.076586524753700e-02 2.076447807479244e-02 2.076309178893910e-02 2.076170639200464e-02 2.076032188924749e-02 + 2.075893827075576e-02 2.075755552867013e-02 2.075617367037054e-02 2.075479269394757e-02 2.075341259415677e-02 + 2.075203337133167e-02 2.075065502119062e-02 2.074927754004291e-02 2.074790093527532e-02 2.074652520196147e-02 + 2.074515032814618e-02 2.074377631824518e-02 2.074240317461906e-02 2.074103089389617e-02 2.073965947285912e-02 + 2.073828890806665e-02 2.073691919635770e-02 2.073555033844026e-02 2.073418233381763e-02 2.073281517823886e-02 + 2.073144886803073e-02 2.073008340377233e-02 2.072871879147831e-02 2.072735502222402e-02 2.072599208688765e-02 + 2.072462999392301e-02 2.072326873860233e-02 2.072190831224300e-02 2.072054872378210e-02 2.071918997148765e-02 + 2.071783204556565e-02 2.071647494755481e-02 2.071511867766477e-02 2.071376323196711e-02 2.071240860565183e-02 + 2.071105479791370e-02 2.070970181180314e-02 2.070834964331268e-02 2.070699828917085e-02 2.070564775075080e-02 + 2.070429802727900e-02 2.070294911380581e-02 2.070160100113699e-02 2.070025369244763e-02 2.069890719322030e-02 + 2.069756149841416e-02 2.069621660331007e-02 2.069487250616514e-02 2.069352920972353e-02 2.069218670843115e-02 + 2.069084499406914e-02 2.068950407478504e-02 2.068816395008570e-02 2.068682460979861e-02 2.068548605525363e-02 + 2.068414828647597e-02 2.068281129879088e-02 2.068147509294542e-02 2.068013966727868e-02 2.067880501481977e-02 + 2.067747113766845e-02 2.067613803889334e-02 2.067480571527677e-02 2.067347415977921e-02 2.067214336769299e-02 + 2.067081334319025e-02 2.066948408776949e-02 2.066815559807265e-02 2.066682786498898e-02 2.066550088830383e-02 + 2.066417467341183e-02 2.066284921698086e-02 2.066152451475288e-02 2.066020056372571e-02 2.065887736182303e-02 + 2.065755490839281e-02 2.065623320354572e-02 2.065491224367795e-02 2.065359202675738e-02 2.065227255436574e-02 + 2.065095382314874e-02 2.064963582941213e-02 2.064831857270797e-02 2.064700204957123e-02 2.064568625651786e-02 + 2.064437119414936e-02 2.064305686324694e-02 2.064174326345409e-02 2.064043039179931e-02 2.063911824280925e-02 + 2.063780681176866e-02 2.063649610237503e-02 2.063518611610314e-02 2.063387684909248e-02 2.063256829217405e-02 + 2.063126044539576e-02 2.062995331851188e-02 2.062864690334512e-02 2.062734119190086e-02 2.062603618600375e-02 + 2.062473188642144e-02 2.062342829221786e-02 2.062212540064643e-02 2.062082320714733e-02 2.061952170915304e-02 + 2.061822091004314e-02 2.061692080716460e-02 2.061562139605911e-02 2.061432267954307e-02 2.061302465323251e-02 + 2.061172730955065e-02 2.061043065371613e-02 2.060913468523504e-02 2.060783939685846e-02 2.060654478913799e-02 + 2.060525086119714e-02 2.060395760866959e-02 2.060266503271371e-02 2.060137313244415e-02 2.060008190215519e-02 + 2.059879134465455e-02 2.059750146004468e-02 2.059621223782829e-02 2.059492368052522e-02 2.059363579225837e-02 + 2.059234856405708e-02 2.059106199328788e-02 2.058977608130871e-02 2.058849082556723e-02 2.058720622498806e-02 + 2.058592227959311e-02 2.058463898696043e-02 2.058335634281647e-02 2.058207434376584e-02 2.058079299573017e-02 + 2.057951229614279e-02 2.057823223269817e-02 2.057695281356401e-02 2.057567404187197e-02 2.057439590387300e-02 + 2.057311839681732e-02 2.057184152455586e-02 2.057056529173392e-02 2.056928969078429e-02 2.056801471376779e-02 + 2.056674036634529e-02 2.056546664830153e-02 2.056419355486686e-02 2.056292108306100e-02 2.056164923170236e-02 + 2.056037800067255e-02 2.055910738924650e-02 2.055783739340399e-02 2.055656800859636e-02 2.055529924146672e-02 + 2.055403109005562e-02 2.055276354110791e-02 2.055149659755915e-02 2.055023026272679e-02 2.054896453244645e-02 + 2.054769940766287e-02 2.054643488681757e-02 2.054517096062926e-02 2.054390763218316e-02 2.054264490512525e-02 + 2.054138276915942e-02 2.054012122328143e-02 2.053886027085424e-02 2.053759990682471e-02 2.053634012878631e-02 + 2.053508093799464e-02 2.053382233647706e-02 2.053256431985532e-02 2.053130687980379e-02 2.053005001911220e-02 + 2.052879373804411e-02 2.052753803104820e-02 2.052628289842169e-02 2.052502834052905e-02 2.052377435424499e-02 + 2.052252093383405e-02 2.052126807833591e-02 2.052001579579881e-02 2.051876408076618e-02 2.051751292558091e-02 + 2.051626233431153e-02 2.051501230108543e-02 2.051376281904528e-02 2.051251389905356e-02 2.051126553806812e-02 + 2.051001772450580e-02 2.050877046477720e-02 2.050752375748313e-02 2.050627759308629e-02 2.050503197764233e-02 + 2.050378691120845e-02 2.050254238346269e-02 2.050129839647772e-02 2.050005495152270e-02 2.049881204279591e-02 + 2.049756967049427e-02 2.049632783497685e-02 2.049508653204386e-02 2.049384576061373e-02 2.049260552085964e-02 + 2.049136581124810e-02 2.049012662828215e-02 2.048888796855573e-02 2.048764983217528e-02 2.048641222055239e-02 + 2.048517513365279e-02 2.048393856449956e-02 2.048270250702790e-02 2.048146696002243e-02 2.048023193267689e-02 + 2.047899742444990e-02 2.047776342204647e-02 2.047652992557144e-02 2.047529693666283e-02 2.047406445284291e-02 + 2.047283247820367e-02 2.047160101124722e-02 2.047037003705319e-02 2.046913955996649e-02 2.046790958805229e-02 + 2.046668011290463e-02 2.046545112747173e-02 2.046422263048016e-02 2.046299462941648e-02 2.046176712182623e-02 + 2.046054009863872e-02 2.045931356011635e-02 2.045808750875261e-02 2.045686194483555e-02 2.045563685869128e-02 + 2.045441224888558e-02 2.045318812405373e-02 2.045196447539730e-02 2.045074129851060e-02 2.044951860203706e-02 + 2.044829637561388e-02 2.044707461146781e-02 2.044585332076453e-02 2.044463250090934e-02 2.044341214478788e-02 + 2.044219225389736e-02 2.044097282684260e-02 2.043975385980242e-02 2.043853534979080e-02 2.043731729516990e-02 + 2.043609969584751e-02 2.043488255365452e-02 2.043366586840525e-02 2.043244963622695e-02 2.043123384788510e-02 + 2.043001850356880e-02 2.042880361352058e-02 2.042758917125052e-02 2.042637516923373e-02 2.042516160738241e-02 + 2.042394848596822e-02 2.042273580364956e-02 2.042152355668345e-02 2.042031174421715e-02 2.041910036711696e-02 + 2.041788942589821e-02 2.041667891618270e-02 2.041546883283581e-02 2.041425917723074e-02 2.041304994671302e-02 + 2.041184113736942e-02 2.041063275507356e-02 2.040942479864618e-02 2.040821725911453e-02 2.040701013329647e-02 + 2.040580342336421e-02 2.040459713364973e-02 2.040339125626194e-02 2.040218578748979e-02 2.040098073437600e-02 + 2.039977609190064e-02 2.039857185194057e-02 2.039736801200263e-02 2.039616457948628e-02 2.039496155847034e-02 + 2.039375893548800e-02 2.039255670811317e-02 2.039135487906758e-02 2.039015344139171e-02 2.038895239754324e-02 + 2.038775175394349e-02 2.038655150008423e-02 2.038535163468296e-02 2.038415216492024e-02 2.038295307932101e-02 + 2.038175437156158e-02 2.038055604740632e-02 2.037935811014152e-02 2.037816055719221e-02 2.037696338008003e-02 + 2.037576657774965e-02 2.037457015197002e-02 2.037337410306159e-02 2.037217842811476e-02 2.037098312337542e-02 + 2.036978818702816e-02 2.036859361901312e-02 2.036739941883561e-02 2.036620558232109e-02 2.036501210897116e-02 + 2.036381899981477e-02 2.036262624936801e-02 2.036143385733716e-02 2.036024182706139e-02 2.035905014947786e-02 + 2.035785882153747e-02 2.035666784977269e-02 2.035547723079831e-02 2.035428696142468e-02 2.035309704319765e-02 + 2.035190747134853e-02 2.035071824110532e-02 2.034952935293085e-02 2.034834080749865e-02 2.034715260430401e-02 + 2.034596474052595e-02 2.034477721202228e-02 2.034359001578161e-02 2.034240315367684e-02 2.034121662664043e-02 + 2.034003043357028e-02 2.033884457132868e-02 2.033765903741480e-02 2.033647382949949e-02 2.033528894162872e-02 + 2.033410437471255e-02 2.033292013620119e-02 2.033173621775026e-02 2.033055261459435e-02 2.032936933387398e-02 + 2.032818637173341e-02 2.032700371995237e-02 2.032582137330103e-02 2.032463934032926e-02 2.032345762721536e-02 + 2.032227621977112e-02 2.032109511380310e-02 2.031991431266943e-02 2.031873381713771e-02 2.031755362367381e-02 + 2.031637372822898e-02 2.031519413522404e-02 2.031401484060572e-02 2.031283583475656e-02 2.031165712768451e-02 + 2.031047872082618e-02 2.030930060067025e-02 2.030812276414845e-02 2.030694521582938e-02 2.030576796297434e-02 + 2.030459099391277e-02 2.030341430130414e-02 2.030223789822972e-02 2.030106177803277e-02 2.029988592949474e-02 + 2.029871035725545e-02 2.029753506661443e-02 2.029636005659757e-02 2.029518531267896e-02 2.029401083596470e-02 + 2.029283663654064e-02 2.029166270589052e-02 2.029048903923464e-02 2.028931563858370e-02 2.028814250195392e-02 + 2.028696962711050e-02 2.028579701358946e-02 2.028462466440920e-02 2.028345257575578e-02 2.028228073462766e-02 + 2.028110914546667e-02 2.027993781542017e-02 2.027876674182124e-02 2.027759591671596e-02 2.027642533515473e-02 + 2.027525500323221e-02 2.027408491983729e-02 2.027291508043819e-02 2.027174548650143e-02 2.027057613494678e-02 + 2.026940701983228e-02 2.026823814087089e-02 2.026706949898955e-02 2.026590109425394e-02 2.026473292320746e-02 + 2.026356498366547e-02 2.026239727592488e-02 2.026122979922282e-02 2.026006255023894e-02 2.025889552388743e-02 + 2.025772872449768e-02 2.025656215399196e-02 2.025539580342713e-02 2.025422967119250e-02 2.025306375830951e-02 + 2.025189806183918e-02 2.025073258129647e-02 2.024956731656576e-02 2.024840226339874e-02 2.024723742127980e-02 + 2.024607279125879e-02 2.024490836776212e-02 2.024374415071052e-02 2.024258014353189e-02 2.024141633571028e-02 + 2.024025272656142e-02 2.023908932762591e-02 2.023792612793740e-02 2.023676312010299e-02 2.023560031179207e-02 + 2.023443769779265e-02 2.023327527310789e-02 2.023211304323675e-02 2.023095100708355e-02 2.022978916007167e-02 + 2.022862749919407e-02 2.022746602379288e-02 2.022630473371739e-02 2.022514362648272e-02 2.022398270121405e-02 + 2.022282195791762e-02 2.022166139402294e-02 2.022050100551405e-02 2.021934078921764e-02 2.021818074920451e-02 + 2.021702088593813e-02 2.021586119314628e-02 2.021470166428228e-02 2.021354230080554e-02 2.021238311308448e-02 + 2.021122409287018e-02 2.021006523025651e-02 2.020890652716039e-02 2.020774798484683e-02 2.020658960393083e-02 + 2.020543138529554e-02 2.020427332378045e-02 2.020311541298552e-02 2.020195765397637e-02 2.020080004744672e-02 + 2.019964259236717e-02 2.019848528642001e-02 2.019732812869024e-02 2.019617111926010e-02 2.019501425544548e-02 + 2.019385753379127e-02 2.019270095135025e-02 2.019154450793482e-02 2.019038820298517e-02 2.018923203417478e-02 + 2.018807600019563e-02 2.018692010151906e-02 2.018576433995726e-02 2.018460870891364e-02 2.018345320296787e-02 + 2.018229782843392e-02 2.018114258172615e-02 2.017998745649097e-02 2.017883245877245e-02 2.017767758620927e-02 + 2.017652283054322e-02 2.017536819223788e-02 2.017421367319040e-02 2.017305927292809e-02 2.017190498313902e-02 + 2.017075080461503e-02 2.016959674752286e-02 2.016844280049332e-02 2.016728895684716e-02 2.016613522539111e-02 + 2.016498159847723e-02 2.016382807033869e-02 2.016267465040216e-02 2.016152133310211e-02 2.016036811076429e-02 + 2.015921498985646e-02 2.015806197025070e-02 2.015690904702832e-02 2.015575621731957e-02 2.015460347791708e-02 + 2.015345082711757e-02 2.015229826996444e-02 2.015114580452791e-02 2.014999342256183e-02 2.014884112402139e-02 + 2.014768891079059e-02 2.014653678283008e-02 2.014538473229735e-02 2.014423275838842e-02 2.014308087159530e-02 + 2.014192906336537e-02 2.014077732405132e-02 2.013962565684693e-02 2.013847406112768e-02 2.013732253607323e-02 + 2.013617108558620e-02 2.013501970367529e-02 2.013386838304751e-02 2.013271713092954e-02 2.013156594450895e-02 + 2.013041481517404e-02 2.012926374836556e-02 2.012811274375330e-02 2.012696179396415e-02 2.012581089842930e-02 + 2.012466005832842e-02 2.012350927388322e-02 2.012235854139777e-02 2.012120785897021e-02 2.012005722808521e-02 + 2.011890664240422e-02 2.011775609861771e-02 2.011660560342765e-02 2.011545514995805e-02 2.011430473248947e-02 + 2.011315436328775e-02 2.011200403690588e-02 2.011085374071231e-02 2.010970347811273e-02 2.010855325123000e-02 + 2.010740305829795e-02 2.010625289543029e-02 2.010510276184403e-02 2.010395265874816e-02 2.010280258124321e-02 + 2.010165252783862e-02 2.010050250168409e-02 2.009935249835288e-02 2.009820251528310e-02 2.009705255512517e-02 + 2.009590261098061e-02 2.009475267797075e-02 2.009360276160796e-02 2.009245286068316e-02 2.009130297235736e-02 + 2.009015309860190e-02 2.008900323371492e-02 2.008785337125678e-02 2.008670351711407e-02 2.008555367122358e-02 + 2.008440382812401e-02 2.008325398588614e-02 2.008210414433437e-02 2.008095430334925e-02 2.007980445913736e-02 + 2.007865461009197e-02 2.007750475755383e-02 2.007635489836262e-02 2.007520502856765e-02 2.007405514609401e-02 + 2.007290525369839e-02 2.007175535352643e-02 2.007060544261636e-02 2.006945551378952e-02 2.006830556246986e-02 + 2.006715559358176e-02 2.006600560685722e-02 2.006485559907452e-02 2.006370557035152e-02 2.006255552017783e-02 + 2.006140544519211e-02 2.006025533608720e-02 2.005910519424486e-02 2.005795502866486e-02 2.005680483150780e-02 + 2.005565460068358e-02 2.005450434307724e-02 2.005335404752871e-02 2.005220370751987e-02 2.005105333078331e-02 + 2.004990291380246e-02 2.004875245256121e-02 2.004760195075808e-02 2.004645140541610e-02 2.004530081249103e-02 + 2.004415017386308e-02 2.004299948719255e-02 2.004184874893760e-02 2.004069796075558e-02 2.003954711861807e-02 + 2.003839621652469e-02 2.003724525928808e-02 2.003609424691447e-02 2.003494317431652e-02 2.003379204407136e-02 + 2.003264085311753e-02 2.003148959193977e-02 2.003033826577724e-02 2.002918687817827e-02 2.002803542325049e-02 + 2.002688389828578e-02 2.002573230084169e-02 2.002458062668545e-02 2.002342887779152e-02 2.002227705716231e-02 + 2.002112516254241e-02 2.001997318998642e-02 2.001882113644655e-02 2.001766900292078e-02 2.001651678857442e-02 + 2.001536448981540e-02 2.001421210083374e-02 2.001305962366636e-02 2.001190706486020e-02 2.001075441600587e-02 + 2.000960167234195e-02 2.000844883687991e-02 2.000729590520412e-02 2.000614287591466e-02 2.000498975435740e-02 + 2.000383653574291e-02 2.000268321490327e-02 2.000152979351511e-02 2.000037626872929e-02 1.999922263743778e-02 + 1.999806890154111e-02 1.999691505794393e-02 1.999576110265488e-02 1.999460703886217e-02 1.999345286480270e-02 + 1.999229857569377e-02 1.999114417297134e-02 1.998998965543275e-02 1.998883501902821e-02 1.998768026399775e-02 + 1.998652538946059e-02 1.998537039260291e-02 1.998421527483334e-02 1.998306003351848e-02 1.998190465988335e-02 + 1.998074915750420e-02 1.997959352937345e-02 1.997843776879367e-02 1.997728187765045e-02 1.997612585705249e-02 + 1.997496969649909e-02 1.997381339760593e-02 1.997265696528752e-02 1.997150039002939e-02 1.997034367059401e-02 + 1.996918681208352e-02 1.996802981226081e-02 1.996687266788810e-02 1.996571537594770e-02 1.996455793197006e-02 + 1.996340033608642e-02 1.996224259309599e-02 1.996108470119043e-02 1.995992665416334e-02 1.995876844505867e-02 + 1.995761008193637e-02 1.995645156786617e-02 1.995529288784624e-02 1.995413404457776e-02 1.995297504246996e-02 + 1.995181586885687e-02 1.995065652904149e-02 1.994949703248385e-02 1.994833736513130e-02 1.994717752162546e-02 + 1.994601750553184e-02 1.994485731663886e-02 1.994369695406686e-02 1.994253641736701e-02 1.994137570693218e-02 + 1.994021481716852e-02 1.993905373876526e-02 1.993789248152490e-02 1.993673104732284e-02 1.993556942048493e-02 + 1.993440760773439e-02 1.993324561433191e-02 1.993208342679873e-02 1.993092104568069e-02 1.992975847582151e-02 + 1.992859571315939e-02 1.992743275300710e-02 1.992626959353599e-02 1.992510623927749e-02 1.992394268911061e-02 + 1.992277893654564e-02 1.992161497535049e-02 1.992045080942924e-02 1.991928644769617e-02 1.991812187931771e-02 + 1.991695709651699e-02 1.991579210148713e-02 1.991462689658082e-02 1.991346148075462e-02 1.991229584907280e-02 + 1.991113000189043e-02 1.990996393932216e-02 1.990879765723607e-02 1.990763115454515e-02 1.990646443148474e-02 + 1.990529748687400e-02 1.990413031580006e-02 1.990296291532720e-02 1.990179529310021e-02 1.990062744303953e-02 + 1.989945935329500e-02 1.989829103342642e-02 1.989712248515872e-02 1.989595370004318e-02 1.989478467737964e-02 + 1.989361541884726e-02 1.989244592499573e-02 1.989127618925862e-02 1.989010620674421e-02 1.988893597834538e-02 + 1.988776550466197e-02 1.988659478703524e-02 1.988542382727661e-02 1.988425261506333e-02 1.988308114268849e-02 + 1.988190942098788e-02 1.988073745006194e-02 1.987956522359536e-02 1.987839274079954e-02 1.987722000000555e-02 + 1.987604699732070e-02 1.987487372670402e-02 1.987370019241589e-02 1.987252640362364e-02 1.987135234678179e-02 + 1.987017801708705e-02 1.986900342417090e-02 1.986782856130232e-02 1.986665342124566e-02 1.986547800516037e-02 + 1.986430231940191e-02 1.986312636323797e-02 1.986195012209680e-02 1.986077359858922e-02 1.985959679883774e-02 + 1.985841971608161e-02 1.985724235007767e-02 1.985606470192896e-02 1.985488676268764e-02 1.985370853173279e-02 + 1.985253001389235e-02 1.985135120589531e-02 1.985017210671596e-02 1.984899271721913e-02 1.984781303008921e-02 + 1.984663304141680e-02 1.984545275323681e-02 1.984427216416261e-02 1.984309127447186e-02 1.984191008724042e-02 + 1.984072859600846e-02 1.983954679442092e-02 1.983836468369445e-02 1.983718226650526e-02 1.983599954091759e-02 + 1.983481649574990e-02 1.983363313683907e-02 1.983244947316962e-02 1.983126549121019e-02 1.983008118452795e-02 + 1.982889655650101e-02 1.982771161407836e-02 1.982652635127155e-02 1.982534075477381e-02 1.982415483542671e-02 + 1.982296859699974e-02 1.982178202865004e-02 1.982059512679342e-02 1.981940789099672e-02 1.981822032140366e-02 + 1.981703241807743e-02 1.981584417989424e-02 1.981465560415464e-02 1.981346669171603e-02 1.981227744136961e-02 + 1.981108784415540e-02 1.980989790130036e-02 1.980870761757638e-02 1.980751698807925e-02 1.980632600934410e-02 + 1.980513468056937e-02 1.980394300171975e-02 1.980275097143216e-02 1.980155858653555e-02 1.980036584235624e-02 + 1.979917273943820e-02 1.979797928262491e-02 1.979678546489206e-02 1.979559128379798e-02 1.979439674657348e-02 + 1.979320184217468e-02 1.979200656369760e-02 1.979081092352834e-02 1.978961491694981e-02 1.978841853542797e-02 + 1.978722178317891e-02 1.978602465925507e-02 1.978482715855289e-02 1.978362927697639e-02 1.978243101628911e-02 + 1.978123238058121e-02 1.978003336668686e-02 1.977883396860304e-02 1.977763418131442e-02 1.977643400902304e-02 + 1.977523345232920e-02 1.977403250607500e-02 1.977283117205557e-02 1.977162944865208e-02 1.977042732702634e-02 + 1.976922480613855e-02 1.976802188997964e-02 1.976681858355301e-02 1.976561487769950e-02 1.976441076369096e-02 + 1.976320624890566e-02 1.976200133147697e-02 1.976079600616600e-02 1.975959027757971e-02 1.975838414138116e-02 + 1.975717758909272e-02 1.975597062600439e-02 1.975476325369590e-02 1.975355546738499e-02 1.975234726242962e-02 + 1.975113863825908e-02 1.974992959762522e-02 1.974872013640206e-02 1.974751025163228e-02 1.974629994489470e-02 + 1.974508921425132e-02 1.974387805573186e-02 1.974266646519683e-02 1.974145444319864e-02 1.974024199150465e-02 + 1.973902910920840e-02 1.973781579519036e-02 1.973660204598839e-02 1.973538785240977e-02 1.973417321684443e-02 + 1.973295814730416e-02 1.973174263781577e-02 1.973052668253849e-02 1.972931027913797e-02 1.972809342747564e-02 + 1.972687612827085e-02 1.972565838187941e-02 1.972444018482310e-02 1.972322153363352e-02 1.972200242687443e-02 + 1.972078286440720e-02 1.971956284541047e-02 1.971834236691286e-02 1.971712142485657e-02 1.971590001741145e-02 + 1.971467814826898e-02 1.971345581852119e-02 1.971223302479186e-02 1.971100975804211e-02 1.970978601823674e-02 + 1.970856181065497e-02 1.970733713228995e-02 1.970611197806177e-02 1.970488634450282e-02 1.970366023582840e-02 + 1.970243364879734e-02 1.970120657299705e-02 1.969997901837739e-02 1.969875098677333e-02 1.969752246217473e-02 + 1.969629345274012e-02 1.969506396226801e-02 1.969383397141272e-02 1.969260348756574e-02 1.969137252109090e-02 + 1.969014105730648e-02 1.968890909233832e-02 1.968767662961491e-02 1.968644366805134e-02 1.968521020635475e-02 + 1.968397624286150e-02 1.968274177331172e-02 1.968150679588088e-02 1.968027131148579e-02 1.967903532058098e-02 + 1.967779882218197e-02 1.967656181292412e-02 1.967532428489620e-02 1.967408623811289e-02 1.967284768294825e-02 + 1.967160860971293e-02 1.967036900987211e-02 1.966912889102269e-02 1.966788825153749e-02 1.966664708600774e-02 + 1.966540539310703e-02 1.966416317292449e-02 1.966292042476060e-02 1.966167714455673e-02 1.966043333167102e-02 + 1.965918898702837e-02 1.965794410650064e-02 1.965669868705162e-02 1.965545272765306e-02 1.965420622710374e-02 + 1.965295918609461e-02 1.965171160585919e-02 1.965046347855766e-02 1.964921480087875e-02 1.964796557872257e-02 + 1.964671580769246e-02 1.964546548231519e-02 1.964421460325605e-02 1.964296317129598e-02 1.964171118580111e-02 + 1.964045864365522e-02 1.963920554157133e-02 1.963795187629582e-02 1.963669764477085e-02 1.963544284945441e-02 + 1.963418749362842e-02 1.963293156932153e-02 1.963167507295046e-02 1.963041800662418e-02 1.962916036936736e-02 + 1.962790216073956e-02 1.962664338014056e-02 1.962538401760687e-02 1.962412407160046e-02 1.962286355381917e-02 + 1.962160245501161e-02 1.962034076606272e-02 1.961907849332115e-02 1.961781563715828e-02 1.961655219371613e-02 + 1.961528815879130e-02 1.961402353224150e-02 1.961275831461461e-02 1.961149250160691e-02 1.961022609250104e-02 + 1.960895908768241e-02 1.960769148013132e-02 1.960642326897369e-02 1.960515445887448e-02 1.960388504699325e-02 + 1.960261502901453e-02 1.960134440209794e-02 1.960007316755673e-02 1.959880132269796e-02 1.959752885956289e-02 + 1.959625578572781e-02 1.959498210471557e-02 1.959370780282661e-02 1.959243287776576e-02 1.959115733236078e-02 + 1.958988116575855e-02 1.958860437570835e-02 1.958732696070351e-02 1.958604892230215e-02 1.958477025538254e-02 + 1.958349095293616e-02 1.958221102005211e-02 1.958093045820349e-02 1.957964926225915e-02 1.957836742427244e-02 + 1.957708494595253e-02 1.957580183693370e-02 1.957451808573694e-02 1.957323368588814e-02 1.957194864588927e-02 + 1.957066295908808e-02 1.956937661864716e-02 1.956808962863577e-02 1.956680198857452e-02 1.956551369740821e-02 + 1.956422475810978e-02 1.956293516289206e-02 1.956164490198652e-02 1.956035397935251e-02 1.955906239928264e-02 + 1.955777016187055e-02 1.955647725858155e-02 1.955518368630142e-02 1.955388944730695e-02 1.955259453790914e-02 + 1.955129895574477e-02 1.955000270138056e-02 1.954870577278503e-02 1.954740816848287e-02 1.954610988870274e-02 + 1.954481093111385e-02 1.954351129226784e-02 1.954221096901902e-02 1.954090996078360e-02 1.953960826724446e-02 + 1.953830588603245e-02 1.953700281656794e-02 1.953569905855491e-02 1.953439460897686e-02 1.953308946443935e-02 + 1.953178362233442e-02 1.953047708245082e-02 1.952916984426731e-02 1.952786190592496e-02 1.952655326324738e-02 + 1.952524391408689e-02 1.952393385929222e-02 1.952262309949111e-02 1.952131163370209e-02 1.951999945844595e-02 + 1.951868656751035e-02 1.951737295829730e-02 1.951605863555755e-02 1.951474359789877e-02 1.951342784097203e-02 + 1.951211136184995e-02 1.951079415956861e-02 1.950947623396647e-02 1.950815758387342e-02 1.950683820574165e-02 + 1.950551809587482e-02 1.950419725560715e-02 1.950287568354725e-02 1.950155337574423e-02 1.950023033242808e-02 + 1.949890655251627e-02 1.949758203322258e-02 1.949625677745909e-02 1.949493078034667e-02 1.949360402739089e-02 + 1.949227653112452e-02 1.949094829757290e-02 1.948961930480046e-02 1.948828955781861e-02 1.948695906691206e-02 + 1.948562782150981e-02 1.948429581598615e-02 1.948296304982478e-02 1.948162952319633e-02 1.948029523591830e-02 + 1.947896018726217e-02 1.947762437581102e-02 1.947628779922486e-02 1.947495045397724e-02 1.947361233489661e-02 + 1.947227344348770e-02 1.947093378593678e-02 1.946959335022997e-02 1.946825212971076e-02 1.946691013283964e-02 + 1.946556736109183e-02 1.946422381089845e-02 1.946287947598024e-02 1.946153435147304e-02 1.946018843640089e-02 + 1.945884173551620e-02 1.945749424593349e-02 1.945614596164208e-02 1.945479688244431e-02 1.945344700980195e-02 + 1.945209634356683e-02 1.945074487666461e-02 1.944939260492236e-02 1.944803952905332e-02 1.944668565282712e-02 + 1.944533097303948e-02 1.944397548026850e-02 1.944261917903520e-02 1.944126207147254e-02 1.943990414971487e-02 + 1.943854540610747e-02 1.943718584222317e-02 1.943582547177293e-02 1.943446428245481e-02 1.943310226105812e-02 + 1.943173942068859e-02 1.943037575924362e-02 1.942901126749138e-02 1.942764594793762e-02 1.942627979717840e-02 + 1.942491280913776e-02 1.942354498868186e-02 1.942217633546996e-02 1.942080684436220e-02 1.941943651933332e-02 + 1.941806535493775e-02 1.941669333695301e-02 1.941532047644210e-02 1.941394677715704e-02 1.941257222315028e-02 + 1.941119681542690e-02 1.940982056035791e-02 1.940844345901757e-02 1.940706550055424e-02 1.940568667678698e-02 + 1.940430699663802e-02 1.940292645883611e-02 1.940154505765652e-02 1.940016279578962e-02 1.939877966977487e-02 + 1.939739567223053e-02 1.939601080219835e-02 1.939462506233509e-02 1.939323845462366e-02 1.939185096971125e-02 + 1.939046260516801e-02 1.938907336764642e-02 1.938768325184633e-02 1.938629225021856e-02 1.938490035911401e-02 + 1.938350758330235e-02 1.938211392651081e-02 1.938071938447496e-02 1.937932394922459e-02 1.937792761695239e-02 + 1.937653039473651e-02 1.937513227779157e-02 1.937373325789699e-02 1.937233333934693e-02 1.937093252080456e-02 + 1.936953079702195e-02 1.936812816928827e-02 1.936672463690015e-02 1.936532019607867e-02 1.936391484345597e-02 + 1.936250857586552e-02 1.936110139138094e-02 1.935969329410197e-02 1.935828428412852e-02 1.935687435366041e-02 + 1.935546349795341e-02 1.935405171682407e-02 1.935263901452006e-02 1.935122538845629e-02 1.934981083240821e-02 + 1.934839534117787e-02 1.934697891910190e-02 1.934556156924906e-02 1.934414327695751e-02 1.934272404361874e-02 + 1.934130387854031e-02 1.933988276959641e-02 1.933846071416343e-02 1.933703771882020e-02 1.933561377409585e-02 + 1.933418887831357e-02 1.933276303945045e-02 1.933133624375953e-02 1.932990848653697e-02 1.932847978247962e-02 + 1.932705012296452e-02 1.932561949662077e-02 1.932418790536504e-02 1.932275535526071e-02 1.932132184669807e-02 + 1.931988736608416e-02 1.931845191123332e-02 1.931701548648173e-02 1.931557809132799e-02 1.931413972218449e-02 + 1.931270037603072e-02 1.931126005688787e-02 1.930981875761609e-02 1.930837646527647e-02 1.930693319154590e-02 + 1.930548893938918e-02 1.930404369700001e-02 1.930259746628386e-02 1.930115024647330e-02 1.929970202824377e-02 + 1.929825281461415e-02 1.929680260792617e-02 1.929535140092010e-02 1.929389919235001e-02 1.929244598266550e-02 + 1.929099176842190e-02 1.928953654639375e-02 1.928808031414528e-02 1.928662307035359e-02 1.928516481711372e-02 + 1.928370555611205e-02 1.928224527966380e-02 1.928078398206115e-02 1.927932166173262e-02 1.927785831899656e-02 + 1.927639395364510e-02 1.927492856464996e-02 1.927346215243780e-02 1.927199471282116e-02 1.927052623652251e-02 + 1.926905672766994e-02 1.926758618873705e-02 1.926611461056382e-02 1.926464199150991e-02 1.926316833245443e-02 + 1.926169363057714e-02 1.926021788634381e-02 1.925874109903830e-02 1.925726325940621e-02 1.925578436860509e-02 + 1.925430443199749e-02 1.925282343948819e-02 1.925134138889128e-02 1.924985828498051e-02 1.924837411847957e-02 + 1.924688888599618e-02 1.924540259377309e-02 1.924391524090012e-02 1.924242682077230e-02 1.924093732460676e-02 + 1.923944675829762e-02 1.923795512510602e-02 1.923646241448938e-02 1.923496862521413e-02 1.923347375911634e-02 + 1.923197781292445e-02 1.923048078180134e-02 1.922898266296426e-02 1.922748346006174e-02 1.922598317069195e-02 + 1.922448178990142e-02 1.922297932164773e-02 1.922147575963824e-02 1.921997109174737e-02 1.921846532805457e-02 + 1.921695846861228e-02 1.921545049993734e-02 1.921394143207274e-02 1.921243126559395e-02 1.921091998083786e-02 + 1.920940758472120e-02 1.920789408374423e-02 1.920637946562360e-02 1.920486373146851e-02 1.920334688393281e-02 + 1.920182891329169e-02 1.920030981699324e-02 1.919878959725658e-02 1.919726825432456e-02 1.919574578635056e-02 + 1.919422218928470e-02 1.919269745661605e-02 1.919117158884151e-02 1.918964459045353e-02 1.918811645370936e-02 + 1.918658717454346e-02 1.918505675553962e-02 1.918352519296369e-02 1.918199248296462e-02 1.918045862469436e-02 + 1.917892361805418e-02 1.917738746182788e-02 1.917585015265352e-02 1.917431168820606e-02 1.917277206550804e-02 + 1.917123127946213e-02 1.916968933132487e-02 1.916814622316750e-02 1.916660194885779e-02 1.916505650873668e-02 + 1.916350990423480e-02 1.916196212155291e-02 1.916041316033273e-02 1.915886303062994e-02 1.915731172194125e-02 + 1.915575922930148e-02 1.915420555876758e-02 1.915265070860661e-02 1.915109467332810e-02 1.914953744666585e-02 + 1.914797902645569e-02 1.914641941412443e-02 1.914485861314037e-02 1.914329661713828e-02 1.914173341932142e-02 + 1.914016902223032e-02 1.913860342379879e-02 1.913703662029905e-02 1.913546861279183e-02 1.913389939805644e-02 + 1.913232897075573e-02 1.913075733118505e-02 1.912918447844714e-02 1.912761040908805e-02 1.912603511839811e-02 + 1.912445860715432e-02 1.912288088009771e-02 1.912130192853472e-02 1.911972174626816e-02 1.911814033569584e-02 + 1.911655769224527e-02 1.911497381452394e-02 1.911338870990516e-02 1.911180236957772e-02 1.911021478317005e-02 + 1.910862595492130e-02 1.910703588697045e-02 1.910544457683553e-02 1.910385201685182e-02 1.910225820527016e-02 + 1.910066314375077e-02 1.909906682830796e-02 1.909746925477876e-02 1.909587042200599e-02 1.909427033688354e-02 + 1.909266899402551e-02 1.909106637643193e-02 1.908946249114346e-02 1.908785734491775e-02 1.908625093213804e-02 + 1.908464324204344e-02 1.908303427175084e-02 1.908142403234494e-02 1.907981251534393e-02 1.907819971100440e-02 + 1.907658562789714e-02 1.907497026158614e-02 1.907335360333112e-02 1.907173565762024e-02 1.907011642370295e-02 + 1.906849589616872e-02 1.906687407274958e-02 1.906525095073851e-02 1.906362652703246e-02 1.906200080112851e-02 + 1.906037377260159e-02 1.905874543999789e-02 1.905711580005939e-02 1.905548484883143e-02 1.905385258297056e-02 + 1.905221900422594e-02 1.905058411108648e-02 1.904894789413228e-02 1.904731035325132e-02 1.904567149183364e-02 + 1.904403130952197e-02 1.904238980136186e-02 1.904074696113758e-02 1.903910278612417e-02 1.903745727544392e-02 + 1.903581042868199e-02 1.903416224385271e-02 1.903251272055347e-02 1.903086185871027e-02 1.902920965236104e-02 + 1.902755609551852e-02 1.902590118543579e-02 1.902424492713456e-02 1.902258731926820e-02 1.902092835050054e-02 + 1.901926802409253e-02 1.901760634215130e-02 1.901594329530476e-02 1.901427888303375e-02 1.901261310655987e-02 + 1.901094596056572e-02 1.900927744335199e-02 1.900760755425454e-02 1.900593628837979e-02 1.900426364429972e-02 + 1.900258962310978e-02 1.900091422355684e-02 1.899923743835855e-02 1.899755925950979e-02 1.899587969656637e-02 + 1.899419874741247e-02 1.899251639645128e-02 1.899083265299966e-02 1.898914752052511e-02 1.898746098477085e-02 + 1.898577304386013e-02 1.898408369969058e-02 1.898239295076986e-02 1.898070079269564e-02 1.897900722255288e-02 + 1.897731224261929e-02 1.897561584849886e-02 1.897391803334516e-02 1.897221879605241e-02 1.897051814026927e-02 + 1.896881606767167e-02 1.896711256470153e-02 1.896540762798833e-02 1.896370126437186e-02 1.896199347193909e-02 + 1.896028424413336e-02 1.895857357350164e-02 1.895686146124061e-02 1.895514791045918e-02 1.895343292131205e-02 + 1.895171648302300e-02 1.894999858923527e-02 1.894827924721451e-02 1.894655845419708e-02 1.894483620522033e-02 + 1.894311250187257e-02 1.894138733732357e-02 1.893966070463249e-02 1.893793261072514e-02 1.893620305335951e-02 + 1.893447202418282e-02 1.893273952309081e-02 1.893100555094376e-02 1.892927010627177e-02 1.892753318110494e-02 + 1.892579477108063e-02 1.892405487784487e-02 1.892231350329449e-02 1.892057064453369e-02 1.891882629307712e-02 + 1.891708044683251e-02 1.891533310610873e-02 1.891358427035544e-02 1.891183393696100e-02 1.891008210291091e-02 + 1.890832876617924e-02 1.890657392211156e-02 1.890481756749361e-02 1.890305970669826e-02 1.890130033664154e-02 + 1.889953944876527e-02 1.889777703845312e-02 1.889601310905792e-02 1.889424766560776e-02 1.889248069356991e-02 + 1.889071219005931e-02 1.888894216610460e-02 1.888717060771540e-02 1.888539750970531e-02 1.888362288621832e-02 + 1.888184672351093e-02 1.888006901097801e-02 1.887828976119468e-02 1.887650896887177e-02 1.887472662448569e-02 + 1.887294273026847e-02 1.887115728373587e-02 1.886937028132879e-02 1.886758172601296e-02 1.886579161241305e-02 + 1.886399993232671e-02 1.886220669095003e-02 1.886041188581822e-02 1.885861550746470e-02 1.885681755698847e-02 + 1.885501803485419e-02 1.885321693733238e-02 1.885141425906957e-02 1.884960999916156e-02 1.884780416185130e-02 + 1.884599674103886e-02 1.884418772927479e-02 1.884237712445391e-02 1.884056492700234e-02 1.883875113673901e-02 + 1.883693574995443e-02 1.883511876102816e-02 1.883330016667216e-02 1.883147997149076e-02 1.882965817385698e-02 + 1.882783476601560e-02 1.882600973926643e-02 1.882418309568715e-02 1.882235484340025e-02 1.882052497417560e-02 + 1.881869348031539e-02 1.881686035975185e-02 1.881502561164409e-02 1.881318923741505e-02 1.881135123913003e-02 + 1.880951160558249e-02 1.880767032900146e-02 1.880582741534564e-02 1.880398286136111e-02 1.880213666245483e-02 + 1.880028882149621e-02 1.879843933370182e-02 1.879658819228311e-02 1.879473539862031e-02 1.879288094991765e-02 + 1.879102484097325e-02 1.878916707209326e-02 1.878730764191372e-02 1.878544654683108e-02 1.878358378459472e-02 + 1.878171935183507e-02 1.877985324430765e-02 1.877798546179407e-02 1.877611600228067e-02 1.877424486050507e-02 + 1.877237203778229e-02 1.877049753324887e-02 1.876862133863330e-02 1.876674345293673e-02 1.876486387617420e-02 + 1.876298260257535e-02 1.876109963059111e-02 1.875921496034764e-02 1.875732858848502e-02 1.875544051216185e-02 + 1.875355072885378e-02 1.875165923449702e-02 1.874976602623304e-02 1.874787110336161e-02 1.874597446797304e-02 + 1.874407611425766e-02 1.874217603022874e-02 1.874027422146802e-02 1.873837068906284e-02 1.873646542198345e-02 + 1.873455842189881e-02 1.873264969164939e-02 1.873073922656172e-02 1.872882701964194e-02 1.872691306648714e-02 + 1.872499736923527e-02 1.872307992509612e-02 1.872116072949887e-02 1.871923978227258e-02 1.871731708186487e-02 + 1.871539262387551e-02 1.871346640021372e-02 1.871153841041527e-02 1.870960865979342e-02 1.870767714578883e-02 + 1.870574386089293e-02 1.870380879685916e-02 1.870187195798613e-02 1.869993334446320e-02 1.869799294696750e-02 + 1.869605076691687e-02 1.869410680376838e-02 1.869216104730458e-02 1.869021349836844e-02 1.868826416022470e-02 + 1.868631302853863e-02 1.868436009644664e-02 1.868240535897862e-02 1.868044881818047e-02 1.867849047172725e-02 + 1.867653031474529e-02 1.867456834731333e-02 1.867260456736053e-02 1.867063897034608e-02 1.866867155351236e-02 + 1.866670231459311e-02 1.866473125095620e-02 1.866275835809391e-02 1.866078363356833e-02 1.865880707775009e-02 + 1.865682868564128e-02 1.865484845476688e-02 1.865286638889887e-02 1.865088247751579e-02 1.864889671303901e-02 + 1.864690910747520e-02 1.864491965354244e-02 1.864292833855512e-02 1.864093516946379e-02 1.863894014384585e-02 + 1.863694325319922e-02 1.863494449952898e-02 1.863294388193027e-02 1.863094139526787e-02 1.862893703607748e-02 + 1.862693080034535e-02 1.862492268387857e-02 1.862291268732941e-02 1.862090081042848e-02 1.861888704957227e-02 + 1.861687140151818e-02 1.861485386231105e-02 1.861283442704270e-02 1.861081309610335e-02 1.860878986806025e-02 + 1.860676473338590e-02 1.860473769529663e-02 1.860270875778476e-02 1.860067790615180e-02 1.859864513789995e-02 + 1.859661045850656e-02 1.859457386260990e-02 1.859253534675110e-02 1.859049490946049e-02 1.858845254228221e-02 + 1.858640824383296e-02 1.858436201966219e-02 1.858231386031445e-02 1.858026376148910e-02 1.857821173011040e-02 + 1.857615775674864e-02 1.857410183289329e-02 1.857204396224591e-02 1.856998414158087e-02 1.856792236630606e-02 + 1.856585863699762e-02 1.856379295088432e-02 1.856172530348682e-02 1.855965569223371e-02 1.855758411493529e-02 + 1.855551056872843e-02 1.855343504862798e-02 1.855135755357239e-02 1.854927808391809e-02 1.854719662999937e-02 + 1.854511318947389e-02 1.854302776884543e-02 1.854094036342127e-02 1.853885096469986e-02 1.853675956540365e-02 + 1.853466616668727e-02 1.853257077183708e-02 1.853047338096206e-02 1.852837398473379e-02 1.852627257507170e-02 + 1.852416915520061e-02 1.852206372211816e-02 1.851995627104085e-02 1.851784680396669e-02 1.851573531468755e-02 + 1.851362179508880e-02 1.851150625260910e-02 1.850938868433302e-02 1.850726907790290e-02 1.850514743267316e-02 + 1.850302375022463e-02 1.850089802974987e-02 1.849877026321467e-02 1.849664044568886e-02 1.849450857919205e-02 + 1.849237466328984e-02 1.849023869225825e-02 1.848810065567833e-02 1.848596056072587e-02 1.848381841125062e-02 + 1.848167418759208e-02 1.847952788817062e-02 1.847737952020788e-02 1.847522908039946e-02 1.847307656165976e-02 + 1.847092195736722e-02 1.846876526733367e-02 1.846660649126623e-02 1.846444562782898e-02 1.846228267641075e-02 + 1.846011763022634e-02 1.845795047822359e-02 1.845578122357826e-02 1.845360986824314e-02 1.845143640646702e-02 + 1.844926083412144e-02 1.844708314829677e-02 1.844490334652741e-02 1.844272142526039e-02 1.844053738232335e-02 + 1.843835121884711e-02 1.843616292877729e-02 1.843397250473794e-02 1.843177994759022e-02 1.842958525561723e-02 + 1.842738842512387e-02 1.842518945510765e-02 1.842298833954339e-02 1.842078507029563e-02 1.841857965103055e-02 + 1.841637208298309e-02 1.841416236088061e-02 1.841195047731196e-02 1.840973642948215e-02 1.840752022011446e-02 + 1.840530184216091e-02 1.840308128892246e-02 1.840085856103635e-02 1.839863365911139e-02 1.839640658087383e-02 + 1.839417731924000e-02 1.839194587083986e-02 1.838971223370895e-02 1.838747640300020e-02 1.838523837692452e-02 + 1.838299815548432e-02 1.838075573582631e-02 1.837851111106092e-02 1.837626427462707e-02 1.837401523350234e-02 + 1.837176398539980e-02 1.836951051641877e-02 1.836725482529124e-02 1.836499691387402e-02 1.836273678151691e-02 + 1.836047442118306e-02 1.835820982858270e-02 1.835594300692513e-02 1.835367394977665e-02 1.835140264983480e-02 + 1.834912910825698e-02 1.834685332362546e-02 1.834457529066184e-02 1.834229500068380e-02 1.834001245612868e-02 + 1.833772766191195e-02 1.833544060380268e-02 1.833315127769170e-02 1.833085968975407e-02 1.832856583633842e-02 + 1.832626971106521e-02 1.832397130817964e-02 1.832167062581619e-02 1.831936766045366e-02 1.831706240632338e-02 + 1.831475486820015e-02 1.831244504576387e-02 1.831013292472488e-02 1.830781850356614e-02 1.830550178468002e-02 + 1.830318276421879e-02 1.830086143845657e-02 1.829853780375753e-02 1.829621185558813e-02 1.829388359300937e-02 + 1.829155301569956e-02 1.828922011662799e-02 1.828688489153528e-02 1.828454733892483e-02 1.828220745351499e-02 + 1.827986523367206e-02 1.827752068069898e-02 1.827517378500067e-02 1.827282454323407e-02 1.827047296291425e-02 + 1.826811903643735e-02 1.826576275326505e-02 1.826340410954280e-02 1.826104310998728e-02 1.825867975496676e-02 + 1.825631402943589e-02 1.825394593365713e-02 1.825157547349511e-02 1.824920264235266e-02 1.824682743095013e-02 + 1.824444983334214e-02 1.824206985531418e-02 1.823968749396920e-02 1.823730273947125e-02 1.823491559405069e-02 + 1.823252605635143e-02 1.823013411851380e-02 1.822773977727079e-02 1.822534302885856e-02 1.822294386817581e-02 + 1.822054229933361e-02 1.821813832218229e-02 1.821573192447362e-02 1.821332310276354e-02 1.821091185568656e-02 + 1.820849817689734e-02 1.820608206836350e-02 1.820366353310689e-02 1.820124256311412e-02 1.819881915016099e-02 + 1.819639328969794e-02 1.819396498477247e-02 1.819153423068764e-02 1.818910101812068e-02 1.818666535246774e-02 + 1.818422723286477e-02 1.818178664914423e-02 1.817934360000525e-02 1.817689808189780e-02 1.817445008627356e-02 + 1.817199961756547e-02 1.816954667558178e-02 1.816709124568389e-02 1.816463332917677e-02 1.816217292950077e-02 + 1.815971003769815e-02 1.815724465123547e-02 1.815477676809149e-02 1.815230637650250e-02 1.814983348051392e-02 + 1.814735808823705e-02 1.814488018072306e-02 1.814239975267995e-02 1.813991681262074e-02 1.813743135508509e-02 + 1.813494337086823e-02 1.813245285281114e-02 1.812995980445686e-02 1.812746422731492e-02 1.812496611573551e-02 + 1.812246546481565e-02 1.811996226848969e-02 1.811745651920204e-02 1.811494821957559e-02 1.811243737133842e-02 + 1.810992396481434e-02 1.810740799805441e-02 1.810488947142559e-02 1.810236837745802e-02 1.809984471224923e-02 + 1.809731847419077e-02 1.809478965788605e-02 1.809225826197647e-02 1.808972428730369e-02 1.808718772623545e-02 + 1.808464857219165e-02 1.808210682315950e-02 1.807956248210254e-02 1.807701554512131e-02 1.807446599893149e-02 + 1.807191384222250e-02 1.806935907649996e-02 1.806680169977935e-02 1.806424171112906e-02 1.806167910639137e-02 + 1.805911387430984e-02 1.805654601234490e-02 1.805397552118165e-02 1.805140239539148e-02 1.804882663464111e-02 + 1.804624823872755e-02 1.804366719439020e-02 1.804108350087335e-02 1.803849716547347e-02 1.803590817366155e-02 + 1.803331652090480e-02 1.803072221546651e-02 1.802812524400898e-02 1.802552559998909e-02 1.802292329257977e-02 + 1.802031831251088e-02 1.801771065083283e-02 1.801510031065072e-02 1.801248728509480e-02 1.800987156794499e-02 + 1.800725316456288e-02 1.800463207196059e-02 1.800200828229563e-02 1.799938179038418e-02 1.799675259135415e-02 + 1.799412068157979e-02 1.799148606152016e-02 1.798884872978088e-02 1.798620868169797e-02 1.798356590941466e-02 + 1.798092041139825e-02 1.797827219073602e-02 1.797562123473000e-02 1.797296753674024e-02 1.797031110360818e-02 + 1.796765193280976e-02 1.796499001786419e-02 1.796232535287627e-02 1.795965793501132e-02 1.795698776183851e-02 + 1.795431482887613e-02 1.795163913285315e-02 1.794896067070983e-02 1.794627943785036e-02 1.794359543174794e-02 + 1.794090865000600e-02 1.793821908548673e-02 1.793552673496832e-02 1.793283159877326e-02 1.793013367385930e-02 + 1.792743295577707e-02 1.792472944026945e-02 1.792202312682011e-02 1.791931400976357e-02 1.791660207728341e-02 + 1.791388733234035e-02 1.791116977642004e-02 1.790844939977351e-02 1.790572620127331e-02 1.790300018053203e-02 + 1.790027132960331e-02 1.789753964610457e-02 1.789480512776976e-02 1.789206776371137e-02 1.788932755546883e-02 + 1.788658450796398e-02 1.788383860557862e-02 1.788108984645815e-02 1.787833823870088e-02 1.787558376650758e-02 + 1.787282642238153e-02 1.787006621288861e-02 1.786730313584615e-02 1.786453718506033e-02 1.786176835331611e-02 + 1.785899663566110e-02 1.785622203220682e-02 1.785344454733639e-02 1.785066416506327e-02 1.784788087479271e-02 + 1.784509469481547e-02 1.784230561688990e-02 1.783951362363962e-02 1.783671871969004e-02 1.783392090351773e-02 + 1.783112016693977e-02 1.782831650359620e-02 1.782550991644932e-02 1.782270041052123e-02 1.781988796773664e-02 + 1.781707258188517e-02 1.781425426228424e-02 1.781143299909701e-02 1.780860878344276e-02 1.780578161636334e-02 + 1.780295150019453e-02 1.780011843142990e-02 1.779728239750767e-02 1.779444339320670e-02 1.779160141853593e-02 + 1.778875647528820e-02 1.778590855799184e-02 1.778305765851556e-02 1.778020377358821e-02 1.777734690358035e-02 + 1.777448704738365e-02 1.777162419310320e-02 1.776875833746895e-02 1.776588948369731e-02 1.776301762263940e-02 + 1.776014274927566e-02 1.775726486578331e-02 1.775438397030816e-02 1.775150005486545e-02 1.774861310790110e-02 + 1.774572313526677e-02 1.774283013776283e-02 1.773993409898065e-02 1.773703502220879e-02 1.773413291089222e-02 + 1.773122774923129e-02 1.772831953604024e-02 1.772540827370780e-02 1.772249394894422e-02 1.771957656009896e-02 + 1.771665611194296e-02 1.771373259698992e-02 1.771080600888477e-02 1.770787634473108e-02 1.770494360249459e-02 + 1.770200777818149e-02 1.769906886558849e-02 1.769612685929023e-02 1.769318175770428e-02 1.769023356261796e-02 + 1.768728226707501e-02 1.768432786370409e-02 1.768137035050212e-02 1.767840972761326e-02 1.767544598996190e-02 + 1.767247912224100e-02 1.766950912887429e-02 1.766653601772543e-02 1.766355977437013e-02 1.766058039164660e-02 + 1.765759786981226e-02 1.765461220736955e-02 1.765162339764906e-02 1.764863143247870e-02 1.764563631444012e-02 + 1.764263804044564e-02 1.763963660052613e-02 1.763663199590508e-02 1.763362422648862e-02 1.763061328532627e-02 + 1.762759916389677e-02 1.762458185742205e-02 1.762156136756127e-02 1.761853769290762e-02 1.761551082691653e-02 + 1.761248075761478e-02 1.760944748669641e-02 1.760641101894919e-02 1.760337134551661e-02 1.760032845807722e-02 + 1.759728235211478e-02 1.759423302856655e-02 1.759118048266074e-02 1.758812470690578e-02 1.758506570645847e-02 + 1.758200347417691e-02 1.757893799151254e-02 1.757586926700291e-02 1.757279730534286e-02 1.756972209521438e-02 + 1.756664362962799e-02 1.756356190543487e-02 1.756047692143249e-02 1.755738866974527e-02 1.755429714394244e-02 + 1.755120234663686e-02 1.754810427470094e-02 1.754500292288027e-02 1.754189829041229e-02 1.753879037098419e-02 + 1.753567915477636e-02 1.753256463576890e-02 1.752944681640228e-02 1.752632570156945e-02 1.752320127895599e-02 + 1.752007354011609e-02 1.751694248500407e-02 1.751380811099548e-02 1.751067041466748e-02 1.750752939229762e-02 + 1.750438503712632e-02 1.750123734468025e-02 1.749808631552286e-02 1.749493194526630e-02 1.749177422703599e-02 + 1.748861315463852e-02 1.748544872591071e-02 1.748228094036503e-02 1.747910979560325e-02 1.747593528635296e-02 + 1.747275740493088e-02 1.746957614261004e-02 1.746639150171011e-02 1.746320348827029e-02 1.746001208402579e-02 + 1.745681728232032e-02 1.745361909228664e-02 1.745041750587895e-02 1.744721251527593e-02 1.744400411995098e-02 + 1.744079231626219e-02 1.743757709612158e-02 1.743435844889677e-02 1.743113638300998e-02 1.742791090294012e-02 + 1.742468198827393e-02 1.742144963687445e-02 1.741821385208018e-02 1.741497462017237e-02 1.741173194001650e-02 + 1.740848581625378e-02 1.740523623716524e-02 1.740198319673262e-02 1.739872669626729e-02 1.739546673433575e-02 + 1.739220330474240e-02 1.738893639777237e-02 1.738566600801745e-02 1.738239213410604e-02 1.737911477739739e-02 + 1.737583393441487e-02 1.737254959973500e-02 1.736926176792087e-02 1.736597043319887e-02 1.736267559029083e-02 + 1.735937723525189e-02 1.735607536431420e-02 1.735276997535949e-02 1.734946106967137e-02 1.734614863942214e-02 + 1.734283267462293e-02 1.733951317984790e-02 1.733619014933173e-02 1.733286356952035e-02 1.732953344236944e-02 + 1.732619976822115e-02 1.732286254123125e-02 1.731952175476255e-02 1.731617740506982e-02 1.731282949118149e-02 + 1.730947800429541e-02 1.730612293897103e-02 1.730276429900506e-02 1.729940207772190e-02 1.729603626710180e-02 + 1.729266686687025e-02 1.728929387127552e-02 1.728591727431661e-02 1.728253707811547e-02 1.727915327486350e-02 + 1.727576585445017e-02 1.727237482415143e-02 1.726898017713387e-02 1.726558189725253e-02 1.726217999255776e-02 + 1.725877446141184e-02 1.725536528836806e-02 1.725195247427305e-02 1.724853602088567e-02 1.724511592318061e-02 + 1.724169217016580e-02 1.723826475637563e-02 1.723483368674653e-02 1.723139894995541e-02 1.722796053633534e-02 + 1.722451845482723e-02 1.722107270070567e-02 1.721762326419149e-02 1.721417014587169e-02 1.721071333868621e-02 + 1.720725283251134e-02 1.720378862838028e-02 1.720032072298445e-02 1.719684910908383e-02 1.719337378669194e-02 + 1.718989475327181e-02 1.718641200187306e-02 1.718292552719872e-02 1.717943532374793e-02 1.717594138625576e-02 + 1.717244371734551e-02 1.716894231509765e-02 1.716543716617480e-02 1.716192826455456e-02 1.715841561099909e-02 + 1.715489920993168e-02 1.715137904713604e-02 1.714785510917266e-02 1.714432741097788e-02 1.714079594608009e-02 + 1.713726069602739e-02 1.713372166332687e-02 1.713017885016558e-02 1.712663225240283e-02 1.712308185705881e-02 + 1.711952765873538e-02 1.711596966109396e-02 1.711240786053498e-02 1.710884225051524e-02 1.710527282476134e-02 + 1.710169958307061e-02 1.709812252022495e-02 1.709454162136748e-02 1.709095688985418e-02 1.708736832996113e-02 + 1.708377593024533e-02 1.708017968752960e-02 1.707657960032946e-02 1.707297565703870e-02 1.706936785401023e-02 + 1.706575619189593e-02 1.706214066346443e-02 1.705852126552140e-02 1.705489799818787e-02 1.705127085519305e-02 + 1.704763983091843e-02 1.704400492089210e-02 1.704036611449886e-02 1.703672340943711e-02 1.703307681394708e-02 + 1.702942631772786e-02 1.702577190966809e-02 1.702211358937508e-02 1.701845135582294e-02 1.701478520463906e-02 + 1.701111512687454e-02 1.700744111902223e-02 1.700376317991698e-02 1.700008130526762e-02 1.699639548886451e-02 + 1.699270572517141e-02 1.698901201362202e-02 1.698531434790372e-02 1.698161271901581e-02 1.697790713038581e-02 + 1.697419757947398e-02 1.697048405591379e-02 1.696676655885514e-02 1.696304508413142e-02 1.695931962055792e-02 + 1.695559016575875e-02 1.695185672007940e-02 1.694811928170539e-02 1.694437784303563e-02 1.694063239701608e-02 + 1.693688294268234e-02 1.693312947555357e-02 1.692937198914621e-02 1.692561047849961e-02 1.692184494218333e-02 + 1.691807537819241e-02 1.691430177590003e-02 1.691052413380094e-02 1.690674245501956e-02 1.690295672392027e-02 + 1.689916693403359e-02 1.689537309141036e-02 1.689157519031890e-02 1.688777322481082e-02 1.688396719247375e-02 + 1.688015708323470e-02 1.687634289028026e-02 1.687252461641300e-02 1.686870225976892e-02 1.686487581335405e-02 + 1.686104526641643e-02 1.685721061978611e-02 1.685337187596560e-02 1.684952902423863e-02 1.684568205626177e-02 + 1.684183096806695e-02 1.683797575916921e-02 1.683411642637722e-02 1.683025296370582e-02 1.682638536598722e-02 + 1.682251363071521e-02 1.681863775630957e-02 1.681475773295268e-02 1.681087355358095e-02 1.680698521822956e-02 + 1.680309272743823e-02 1.679919607564722e-02 1.679529524908240e-02 1.679139024683375e-02 1.678748107079098e-02 + 1.678356771499038e-02 1.677965016895157e-02 1.677572842703558e-02 1.677180249929987e-02 1.676787237703614e-02 + 1.676393804299063e-02 1.675999950051788e-02 1.675605674951069e-02 1.675210978219402e-02 1.674815858725950e-02 + 1.674420316518524e-02 1.674024352454331e-02 1.673627964747038e-02 1.673231152527195e-02 1.672833916857912e-02 + 1.672436256552257e-02 1.672038170373856e-02 1.671639658470834e-02 1.671240720840105e-02 1.670841357063555e-02 + 1.670441566220705e-02 1.670041347959014e-02 1.669640702110204e-02 1.669239628051189e-02 1.668838125191250e-02 + 1.668436193143650e-02 1.668033831890629e-02 1.667631040878886e-02 1.667227819212758e-02 1.666824166734860e-02 + 1.666420083129591e-02 1.666015567735254e-02 1.665610620005455e-02 1.665205239678242e-02 1.664799426695549e-02 + 1.664393180284348e-02 1.663986499713315e-02 1.663579384792829e-02 1.663171835503466e-02 1.662763851356003e-02 + 1.662355430939835e-02 1.661946574092143e-02 1.661537281150426e-02 1.661127551677910e-02 1.660717384720702e-02 + 1.660306779425839e-02 1.659895736095696e-02 1.659484254425630e-02 1.659072333444665e-02 1.658659972465595e-02 + 1.658247171530552e-02 1.657833931027815e-02 1.657420249617699e-02 1.657006126301349e-02 1.656591561144095e-02 + 1.656176553662080e-02 1.655761103381663e-02 1.655345210211223e-02 1.654928873901935e-02 1.654512093811135e-02 + 1.654094868807454e-02 1.653677198858015e-02 1.653259084096055e-02 1.652840523447503e-02 1.652421516561530e-02 + 1.652002063436291e-02 1.651582163151349e-02 1.651161815099949e-02 1.650741019156900e-02 1.650319775344297e-02 + 1.649898082810461e-02 1.649475940168675e-02 1.649053348141889e-02 1.648630306850305e-02 1.648206814836095e-02 + 1.647782871114676e-02 1.647358475732917e-02 1.646933629656457e-02 1.646508330893651e-02 1.646082578033714e-02 + 1.645656373337251e-02 1.645229715576629e-02 1.644802602626009e-02 1.644375035674409e-02 1.643947014097659e-02 + 1.643518536281393e-02 1.643089602671802e-02 1.642660213310334e-02 1.642230367492405e-02 1.641800064388943e-02 + 1.641369303446324e-02 1.640938084474308e-02 1.640506407467653e-02 1.640074271742540e-02 1.639641675907646e-02 + 1.639208620097271e-02 1.638775104513307e-02 1.638341128505268e-02 1.637906691499287e-02 1.637471792980197e-02 + 1.637036432400064e-02 1.636600609175647e-02 1.636164322915392e-02 1.635727573684415e-02 1.635290360792794e-02 + 1.634852683359730e-02 1.634414541697593e-02 1.633975935494602e-02 1.633536863669590e-02 1.633097325119221e-02 + 1.632657319870386e-02 1.632216848742881e-02 1.631775910539292e-02 1.631334504210032e-02 1.630892629731235e-02 + 1.630450287107613e-02 1.630007475715268e-02 1.629564194133085e-02 1.629120442381021e-02 1.628676220752001e-02 + 1.628231528645751e-02 1.627786365361661e-02 1.627340730437480e-02 1.626894623909321e-02 1.626448044809207e-02 + 1.626000991935131e-02 1.625553465710418e-02 1.625105466086324e-02 1.624656992364918e-02 1.624208044008659e-02 + 1.623758620493278e-02 1.623308721259990e-02 1.622858345750622e-02 1.622407493651434e-02 1.621956164908100e-02 + 1.621504359102545e-02 1.621052075671857e-02 1.620599314061202e-02 1.620146073758967e-02 1.619692354185834e-02 + 1.619238154678624e-02 1.618783475477294e-02 1.618328316706134e-02 1.617872676957040e-02 1.617416555535298e-02 + 1.616959952441603e-02 1.616502867670949e-02 1.616045300241566e-02 1.615587248863419e-02 1.615128714307292e-02 + 1.614669696726644e-02 1.614210195036420e-02 1.613750207990814e-02 1.613289735436475e-02 1.612828778261194e-02 + 1.612367334765880e-02 1.611905403879705e-02 1.611442986870223e-02 1.610980082722066e-02 1.610516690212456e-02 + 1.610052809916244e-02 1.609588441136000e-02 1.609123582829610e-02 1.608658235171540e-02 1.608192397521171e-02 + 1.607726068992654e-02 1.607259250083978e-02 1.606791940362701e-02 1.606324138657220e-02 1.605855844962495e-02 + 1.605387058768025e-02 1.604917779011535e-02 1.604448006054786e-02 1.603977739874237e-02 1.603506979420087e-02 + 1.603035723984084e-02 1.602563973257448e-02 1.602091727188371e-02 1.601618984720332e-02 1.601145745295015e-02 + 1.600672010067149e-02 1.600197777942985e-02 1.599723047266619e-02 1.599247818462375e-02 1.598772091449355e-02 + 1.598295865408641e-02 1.597819139147786e-02 1.597341912912636e-02 1.596864187530068e-02 1.596385961058315e-02 + 1.595907232771693e-02 1.595428003613896e-02 1.594948272828454e-02 1.594468039178993e-02 1.593987301780130e-02 + 1.593506061365002e-02 1.593024318102167e-02 1.592542070422077e-02 1.592059317798925e-02 1.591576060279083e-02 + 1.591092297799217e-02 1.590608029141302e-02 1.590123253274349e-02 1.589637971157846e-02 1.589152182656434e-02 + 1.588665886609507e-02 1.588179081847464e-02 1.587691768450550e-02 1.587203947045915e-02 1.586715616213467e-02 + 1.586226775168990e-02 1.585737424168921e-02 1.585247562649581e-02 1.584757190117160e-02 1.584266306445842e-02 + 1.583774911091078e-02 1.583283003450806e-02 1.582790583090947e-02 1.582297649499978e-02 1.581804202355953e-02 + 1.581310241701619e-02 1.580815766650671e-02 1.580320776320766e-02 1.579825271139450e-02 1.579329250537274e-02 + 1.578832713506978e-02 1.578335660262603e-02 1.577838090296324e-02 1.577340002574811e-02 1.576841397243399e-02 + 1.576342274326813e-02 1.575842633194578e-02 1.575342472205075e-02 1.574841791148685e-02 1.574340591569888e-02 + 1.573838872006093e-02 1.573336631006632e-02 1.572833869008299e-02 1.572330586230670e-02 1.571826781924578e-02 + 1.571322454052314e-02 1.570817603062760e-02 1.570312230059812e-02 1.569806333998715e-02 1.569299913693516e-02 + 1.568792968457186e-02 1.568285498663007e-02 1.567777503779379e-02 1.567268982728102e-02 1.566759935997030e-02 + 1.566250363482262e-02 1.565740264102256e-02 1.565229637077196e-02 1.564718482295817e-02 1.564206800099241e-02 + 1.563694589151567e-02 1.563181848599405e-02 1.562668579194260e-02 1.562154780177149e-02 1.561640450642917e-02 + 1.561125590888111e-02 1.560610200797837e-02 1.560094279515962e-02 1.559577825343192e-02 1.559060838842812e-02 + 1.558543321151646e-02 1.558025270088283e-02 1.557506685188879e-02 1.556987567405825e-02 1.556467915294808e-02 + 1.555947727806998e-02 1.555427005014520e-02 1.554905747326830e-02 1.554383954557267e-02 1.553861625685508e-02 + 1.553338760005679e-02 1.552815357203842e-02 1.552291417232042e-02 1.551766939022104e-02 1.551241921985975e-02 + 1.550716367246923e-02 1.550190274051892e-02 1.549663640983429e-02 1.549136467943576e-02 1.548608754911306e-02 + 1.548080501516420e-02 1.547551706650131e-02 1.547022370107663e-02 1.546492492363977e-02 1.545962073006300e-02 + 1.545431111106912e-02 1.544899605692932e-02 1.544367557060635e-02 1.543834964941066e-02 1.543301828099291e-02 + 1.542768146907574e-02 1.542233921474585e-02 1.541699150599057e-02 1.541163833967913e-02 1.540627971422265e-02 + 1.540091562222576e-02 1.539554606062004e-02 1.539017102808156e-02 1.538479052048013e-02 1.537940453376258e-02 + 1.537401306270197e-02 1.536861609811398e-02 1.536321364249661e-02 1.535780570199338e-02 1.535239225620149e-02 + 1.534697329939463e-02 1.534154884369051e-02 1.533611887960563e-02 1.533068339829330e-02 1.532524239983298e-02 + 1.531979587995433e-02 1.531434383110085e-02 1.530888624554550e-02 1.530342313142362e-02 1.529795449144603e-02 + 1.529248030485156e-02 1.528700056732233e-02 1.528151528324413e-02 1.527602445059826e-02 1.527052806021316e-02 + 1.526502610370102e-02 1.525951858764995e-02 1.525400550804322e-02 1.524848685322667e-02 1.524296262660809e-02 + 1.523743282528689e-02 1.523189743753784e-02 1.522635646012132e-02 1.522080989370855e-02 1.521525773883866e-02 + 1.520969998584297e-02 1.520413662809972e-02 1.519856766896251e-02 1.519299310438481e-02 1.518741292689401e-02 + 1.518182713051541e-02 1.517623571498702e-02 1.517063867977171e-02 1.516503601659771e-02 1.515942772580205e-02 + 1.515381380882217e-02 1.514819425008754e-02 1.514256904339338e-02 1.513693819284546e-02 1.513130169987854e-02 + 1.512565955837021e-02 1.512001175774349e-02 1.511435830052952e-02 1.510869918485496e-02 1.510303439909880e-02 + 1.509736393861015e-02 1.509168780464220e-02 1.508600600178219e-02 1.508031852355242e-02 1.507462535986425e-02 + 1.506892650464710e-02 1.506322195838325e-02 1.505751172137055e-02 1.505179578553525e-02 1.504607414992266e-02 + 1.504034681527993e-02 1.503461377008154e-02 1.502887501067205e-02 1.502313053999477e-02 1.501738035243006e-02 + 1.501162444030474e-02 1.500586279803602e-02 1.500009542963074e-02 1.499432233574762e-02 1.498854350912934e-02 + 1.498275894315130e-02 1.497696863387312e-02 1.497117258012378e-02 1.496537077480856e-02 1.495956321394884e-02 + 1.495374990400090e-02 1.494793083920974e-02 1.494210600904758e-02 1.493627541059610e-02 1.493043904648383e-02 + 1.492459691659297e-02 1.491874900408085e-02 1.491289530722370e-02 1.490703583623931e-02 1.490117058646935e-02 + 1.489529954725381e-02 1.488942270892006e-02 1.488354007804980e-02 1.487765165385858e-02 1.487175742273507e-02 + 1.486585738883519e-02 1.485995155398175e-02 1.485403990610964e-02 1.484812243988829e-02 1.484219915557141e-02 + 1.483627005584607e-02 1.483033513203473e-02 1.482439437542072e-02 1.481844779264578e-02 1.481249538141862e-02 + 1.480653713381494e-02 1.480057304868135e-02 1.479460312202780e-02 1.478862734716873e-02 1.478264572087699e-02 + 1.477665824308106e-02 1.477066491441443e-02 1.476466572742758e-02 1.475866067903805e-02 1.475264977269339e-02 + 1.474663299844858e-02 1.474061034872640e-02 1.473458182710518e-02 1.472854743115566e-02 1.472250715651883e-02 + 1.471646100132783e-02 1.471040896256117e-02 1.470435103749897e-02 1.469828722554372e-02 1.469221751827344e-02 + 1.468614190646898e-02 1.468006039547928e-02 1.467397298615093e-02 1.466787967378610e-02 1.466178045636883e-02 + 1.465567533041493e-02 1.464956428982840e-02 1.464344732703370e-02 1.463732444018100e-02 1.463119563426315e-02 + 1.462506090797482e-02 1.461892025637629e-02 1.461277367320199e-02 1.460662115516677e-02 1.460046270026797e-02 + 1.459429830605704e-02 1.458812796887011e-02 1.458195168595082e-02 1.457576945823491e-02 1.456958128559711e-02 + 1.456338716422361e-02 1.455718708308891e-02 1.455098103823577e-02 1.454476903226018e-02 1.453855106504101e-02 + 1.453232713525658e-02 1.452609724028033e-02 1.451986137384772e-02 1.451361953112174e-02 1.450737171027855e-02 + 1.450111790831084e-02 1.449485812287890e-02 1.448859235383744e-02 1.448232060352556e-02 1.447604287018101e-02 + 1.446975914267516e-02 1.446346941597466e-02 1.445717368938523e-02 1.445087196279080e-02 1.444456423724572e-02 + 1.443825051237331e-02 1.443193078136921e-02 1.442560503975330e-02 1.441927328581930e-02 1.441293551683267e-02 + 1.440659172970616e-02 1.440024192165075e-02 1.439388609177658e-02 1.438752424156573e-02 1.438115637277796e-02 + 1.437478247503487e-02 1.436840254149195e-02 1.436201657648160e-02 1.435562457263202e-02 1.434922652522855e-02 + 1.434282244486077e-02 1.433641232984850e-02 1.432999617114929e-02 1.432357396196595e-02 1.431714570255755e-02 + 1.431071139387867e-02 1.430427102559402e-02 1.429782460021014e-02 1.429137212732056e-02 1.428491359501307e-02 + 1.427844899676062e-02 1.427197833606156e-02 1.426550161130239e-02 1.425901881685885e-02 1.425252994564961e-02 + 1.424603499980085e-02 1.423953398385027e-02 1.423302689906778e-02 1.422651373475527e-02 1.421999448399202e-02 + 1.421346915585374e-02 1.420693774198730e-02 1.420040023237321e-02 1.419385663850131e-02 1.418730696003290e-02 + 1.418075118751426e-02 1.417418931634679e-02 1.416762135086922e-02 1.416104729584521e-02 1.415446713263836e-02 + 1.414788085973522e-02 1.414128849363525e-02 1.413469002361970e-02 1.412808544052846e-02 1.412147474772301e-02 + 1.411485794712882e-02 1.410823503604182e-02 1.410160600672222e-02 1.409497085818714e-02 1.408832959214252e-02 + 1.408168220875668e-02 1.407502870564407e-02 1.406836907961611e-02 1.406170332864153e-02 1.405503144837146e-02 + 1.404835343608425e-02 1.404166929852345e-02 1.403497903248639e-02 1.402828262916828e-02 1.402158009603205e-02 + 1.401487143048169e-02 1.400815661918214e-02 1.400143566703935e-02 1.399470857625501e-02 1.398797534046779e-02 + 1.398123596549795e-02 1.397449045134991e-02 1.396773878380821e-02 1.396098096640959e-02 1.395421700271061e-02 + 1.394744688102961e-02 1.394067060648909e-02 1.393388818692338e-02 1.392709961198955e-02 1.392030488001634e-02 + 1.391350399327543e-02 1.390669694254475e-02 1.389988372719557e-02 1.389306435287330e-02 1.388623881438261e-02 + 1.387940711188756e-02 1.387256925103053e-02 1.386572522405790e-02 1.385887502683316e-02 1.385201866296698e-02 + 1.384515612379329e-02 1.383828740611332e-02 1.383141252098464e-02 1.382453146615934e-02 1.381764423695148e-02 + 1.381075083621117e-02 1.380385125926009e-02 1.379694549932224e-02 1.379003355634722e-02 1.378311543405784e-02 + 1.377619113577579e-02 1.376926065784134e-02 1.376232399626086e-02 1.375538114862362e-02 1.374843211529037e-02 + 1.374147689626999e-02 1.373451549097131e-02 1.372754790081035e-02 1.372057412482435e-02 1.371359415880417e-02 + 1.370660800191563e-02 1.369961565562416e-02 1.369261712158748e-02 1.368561239160383e-02 1.367860146147292e-02 + 1.367158434223160e-02 1.366456103295884e-02 1.365753152816715e-02 1.365049582984413e-02 1.364345393626983e-02 + 1.363640584363454e-02 1.362935155197557e-02 1.362229106201978e-02 1.361522437421294e-02 1.360815148809621e-02 + 1.360107240365773e-02 1.359398712117658e-02 1.358689563898480e-02 1.357979795217255e-02 1.357269405533802e-02 + 1.356558396017600e-02 1.355846767355538e-02 1.355134518540141e-02 1.354421648973967e-02 1.353708158728038e-02 + 1.352994048497773e-02 1.352279317412557e-02 1.351563964921714e-02 1.350847993234027e-02 1.350131401794928e-02 + 1.349414188812881e-02 1.348696355361660e-02 1.347977901858603e-02 1.347258827670450e-02 1.346539132112732e-02 + 1.345818815687027e-02 1.345097879723517e-02 1.344376323611521e-02 1.343654146470481e-02 1.342931348024562e-02 + 1.342207929164266e-02 1.341483890125029e-02 1.340759229714105e-02 1.340033948592649e-02 1.339308047488992e-02 + 1.338581525615185e-02 1.337854383232506e-02 1.337126620737807e-02 1.336398237245951e-02 1.335669232490426e-02 + 1.334939606999042e-02 1.334209361886319e-02 1.333478496691931e-02 1.332747010093965e-02 1.332014902896288e-02 + 1.331282175723704e-02 1.330548828381385e-02 1.329814860211957e-02 1.329080271412866e-02 1.328345063097246e-02 + 1.327609234424045e-02 1.326872784914616e-02 1.326135715657202e-02 1.325398026514318e-02 1.324659716972378e-02 + 1.323920787031880e-02 1.323181236976987e-02 1.322441067219326e-02 1.321700278123619e-02 1.320958869473772e-02 + 1.320216840889533e-02 1.319474192647233e-02 1.318730924299288e-02 1.317987035320805e-02 1.317242527523754e-02 + 1.316497401404441e-02 1.315751655750498e-02 1.315005290457417e-02 1.314258305915991e-02 1.313510702533477e-02 + 1.312762479749873e-02 1.312013637454663e-02 1.311264176674524e-02 1.310514097528989e-02 1.309763399743803e-02 + 1.309012083240218e-02 1.308260148524151e-02 1.307507595779872e-02 1.306754423810231e-02 1.306000633130083e-02 + 1.305246225068735e-02 1.304491199415833e-02 1.303735555888092e-02 1.302979294561730e-02 1.302222416114251e-02 + 1.301464920127586e-02 1.300706805512286e-02 1.299948074007148e-02 1.299188726392925e-02 1.298428761376350e-02 + 1.297668178953030e-02 1.296906979917289e-02 1.296145165196894e-02 1.295382733572278e-02 1.294619684321666e-02 + 1.293856019418804e-02 1.293091739361701e-02 1.292326843600229e-02 1.291561331594024e-02 1.290795203962965e-02 + 1.290028461406370e-02 1.289261102589192e-02 1.288493127982097e-02 1.287724539399148e-02 1.286955336728896e-02 + 1.286185519483855e-02 1.285415087393522e-02 1.284644040779901e-02 1.283872379943217e-02 1.283100105007112e-02 + 1.282327216499671e-02 1.281553714651719e-02 1.280779599126801e-02 1.280004870582322e-02 1.279229529551004e-02 + 1.278453575462785e-02 1.277677008230648e-02 1.276899828322272e-02 1.276122036637128e-02 1.275343633303281e-02 + 1.274564618082443e-02 1.273784991358546e-02 1.273004753391990e-02 1.272223904101719e-02 1.271442442957637e-02 + 1.270660370794978e-02 1.269877689384363e-02 1.269094397773904e-02 1.268310495443295e-02 1.267525983383190e-02 + 1.266740862159357e-02 1.265955131610305e-02 1.265168790986125e-02 1.264381841321034e-02 1.263594283614933e-02 + 1.262806117310012e-02 1.262017342951705e-02 1.261227961209872e-02 1.260437971406514e-02 1.259647373729069e-02 + 1.258856168925583e-02 1.258064357239260e-02 1.257271939240096e-02 1.256478915520078e-02 1.255685285459754e-02 + 1.254891049173029e-02 1.254096207570647e-02 1.253300760376554e-02 1.252504707668881e-02 1.251708050378790e-02 + 1.250910789128773e-02 1.250112924190730e-02 1.249314455497329e-02 1.248515382942968e-02 1.247715706626537e-02 + 1.246915427066142e-02 1.246114545004359e-02 1.245313061093009e-02 1.244510975519442e-02 1.243708288271855e-02 + 1.242904999334644e-02 1.242101108960597e-02 1.241296617602342e-02 1.240491525784085e-02 1.239685833832253e-02 + 1.238879542265411e-02 1.238072651672425e-02 1.237265161832934e-02 1.236457072972670e-02 1.235648385971585e-02 + 1.234839100475330e-02 1.234029216644840e-02 1.233218735967670e-02 1.232407658450629e-02 1.231595983825897e-02 + 1.230783712734204e-02 1.229970846199802e-02 1.229157384500942e-02 1.228343326032102e-02 1.227528672233900e-02 + 1.226713425500730e-02 1.225897584359588e-02 1.225081148758153e-02 1.224264120133804e-02 1.223446498720786e-02 + 1.222628284514866e-02 1.221809477711035e-02 1.220990079161559e-02 1.220170089405064e-02 1.219349508434973e-02 + 1.218528336781141e-02 1.217706575082829e-02 1.216884223701085e-02 1.216061282093886e-02 1.215237750559525e-02 + 1.214413631491834e-02 1.213588924765066e-02 1.212763629639266e-02 1.211937747504947e-02 1.211111278696468e-02 + 1.210284222899338e-02 1.209456580676226e-02 1.208628352659129e-02 1.207799539529086e-02 1.206970142400196e-02 + 1.206140161359375e-02 1.205309595715539e-02 1.204478446558403e-02 1.203646714593309e-02 1.202814399601385e-02 + 1.201981502726849e-02 1.201148024892713e-02 1.200313965960066e-02 1.199479326438714e-02 1.198644106975963e-02 + 1.197808307814890e-02 1.196971928979660e-02 1.196134970757412e-02 1.195297434273665e-02 1.194459320579336e-02 + 1.193620630286995e-02 1.192781363156250e-02 1.191941519457288e-02 1.191101099930699e-02 1.190260104978759e-02 + 1.189418535108248e-02 1.188576391078268e-02 1.187733673904143e-02 1.186890383909906e-02 1.186046520717658e-02 + 1.185202085452967e-02 1.184357078721630e-02 1.183511499765447e-02 1.182665350164435e-02 1.181818631619212e-02 + 1.180971343948878e-02 1.180123487113532e-02 1.179275061618258e-02 1.178426068678883e-02 1.177576508273127e-02 + 1.176726380098327e-02 1.175875685721244e-02 1.175024426443667e-02 1.174172602804813e-02 1.173320214474543e-02 + 1.172467261918110e-02 1.171613746318596e-02 1.170759667473828e-02 1.169905025976067e-02 1.169049823639713e-02 + 1.168194060529573e-02 1.167337736787376e-02 1.166480853596695e-02 1.165623411322526e-02 1.164765410079015e-02 + 1.163906850325271e-02 1.163047732858534e-02 1.162188058835008e-02 1.161327829716097e-02 1.160467045202270e-02 + 1.159605704763531e-02 1.158743810702480e-02 1.157881363156412e-02 1.157018361041755e-02 1.156154807040710e-02 + 1.155290702254676e-02 1.154426045745637e-02 1.153560838867705e-02 1.152695082724772e-02 1.151828777265603e-02 + 1.150961922666123e-02 1.150094519786783e-02 1.149226570234640e-02 1.148358074611148e-02 1.147489033148848e-02 + 1.146619446355201e-02 1.145749315215113e-02 1.144878640491215e-02 1.144007421936342e-02 1.143135660500108e-02 + 1.142263357779597e-02 1.141390514531738e-02 1.140517131031360e-02 1.139643207471360e-02 1.138768744746770e-02 + 1.137893743736065e-02 1.137018205114591e-02 1.136142129485616e-02 1.135265517811921e-02 1.134388371322748e-02 + 1.133510690045416e-02 1.132632474439678e-02 1.131753726104511e-02 1.130874445081251e-02 1.129994631541456e-02 + 1.129114287234474e-02 1.128233413053084e-02 1.127352009524980e-02 1.126470077646612e-02 1.125587617975814e-02 + 1.124704630615814e-02 1.123821115477194e-02 1.122937074388692e-02 1.122052509984340e-02 1.121167421843202e-02 + 1.120281809651728e-02 1.119395674175946e-02 1.118509017235879e-02 1.117621839625571e-02 1.116734140890626e-02 + 1.115845922925729e-02 1.114957187162777e-02 1.114067933143962e-02 1.113178161769016e-02 1.112287874451852e-02 + 1.111397072153178e-02 1.110505754694771e-02 1.109613922373310e-02 1.108721577854856e-02 1.107828721826434e-02 + 1.106935353946150e-02 1.106041475521090e-02 1.105147087839408e-02 1.104252191603393e-02 1.103356786436798e-02 + 1.102460873384026e-02 1.101564454870664e-02 1.100667531791245e-02 1.099770104268406e-02 1.098872172333136e-02 + 1.097973737703280e-02 1.097074801492989e-02 1.096175363206450e-02 1.095275424291130e-02 1.094374986633713e-02 + 1.093474051123777e-02 1.092572618232803e-02 1.091670688531980e-02 1.090768263148204e-02 1.089865342255811e-02 + 1.088961926240844e-02 1.088058018050034e-02 1.087153618780464e-02 1.086248727940419e-02 1.085343346361914e-02 + 1.084437475261139e-02 1.083531115780061e-02 1.082624268419920e-02 1.081716934144050e-02 1.080809114559821e-02 + 1.079900810312026e-02 1.078992022093278e-02 1.078082751184906e-02 1.077172998533364e-02 1.076262764813011e-02 + 1.075352050586474e-02 1.074440857092024e-02 1.073529185762834e-02 1.072617037570664e-02 1.071704413251609e-02 + 1.070791313635956e-02 1.069877740113652e-02 1.068963693244828e-02 1.068049173224424e-02 1.067134181766250e-02 + 1.066218720670161e-02 1.065302791162099e-02 1.064386393117340e-02 1.063469527249458e-02 1.062552195483164e-02 + 1.061634397913101e-02 1.060716135205155e-02 1.059797409807024e-02 1.058878223029125e-02 1.057958575437316e-02 + 1.057038467384018e-02 1.056117900039964e-02 1.055196874533382e-02 1.054275390960051e-02 1.053353451406393e-02 + 1.052431058354873e-02 1.051508211263400e-02 1.050584910821505e-02 1.049661158906674e-02 1.048736956269110e-02 + 1.047812303544552e-02 1.046887201730896e-02 1.045961652742825e-02 1.045035657823219e-02 1.044109217270465e-02 + 1.043182332652317e-02 1.042255005238709e-02 1.041327235213399e-02 1.040399023555266e-02 1.039470371859749e-02 + 1.038541282005145e-02 1.037611754740451e-02 1.036681790639924e-02 1.035751391340543e-02 1.034820558036888e-02 + 1.033889291336949e-02 1.032957591435120e-02 1.032025460242317e-02 1.031092900384275e-02 1.030159911688449e-02 + 1.029226495054825e-02 1.028292652729243e-02 1.027358385071069e-02 1.026423692589549e-02 1.025488576741323e-02 + 1.024553039300053e-02 1.023617081698821e-02 1.022680704740226e-02 1.021743909457171e-02 1.020806697035185e-02 + 1.019869068658227e-02 1.018931025066223e-02 1.017992567348438e-02 1.017053697875713e-02 1.016114417776936e-02 + 1.015174727399650e-02 1.014234627700861e-02 1.013294120450803e-02 1.012353207457940e-02 1.011411888599992e-02 + 1.010470164920459e-02 1.009528038851809e-02 1.008585511657422e-02 1.007642584330934e-02 1.006699257991301e-02 + 1.005755533847607e-02 1.004811412861271e-02 1.003866895746225e-02 1.002921984502842e-02 1.001976681035788e-02 + 1.001030986009602e-02 1.000084900502786e-02 9.991384259025663e-03 9.981915635495017e-03 9.972443141719819e-03 + 9.962966786689603e-03 9.953486595586885e-03 9.944002583039199e-03 9.934514754395770e-03 9.925023122335749e-03 + 9.915527701693664e-03 9.906028505794947e-03 9.896525539473492e-03 9.887018817044350e-03 9.877508364713565e-03 + 9.867994191756903e-03 9.858476305769829e-03 9.848954721540815e-03 9.839429453723526e-03 9.829900512927632e-03 + 9.820367904529967e-03 9.810831649938153e-03 9.801291772225836e-03 9.791748277276684e-03 9.782201174956444e-03 + 9.772650480173910e-03 9.763096209214261e-03 9.753538370443265e-03 9.743976971083063e-03 9.734412038356991e-03 + 9.724843589152831e-03 9.715271627378256e-03 9.705696167153652e-03 9.696117225097080e-03 9.686534815487291e-03 + 9.676948943754414e-03 9.667359623576509e-03 9.657766883492007e-03 9.648170733986708e-03 9.638571181819185e-03 + 9.628968243024477e-03 9.619361933494769e-03 9.609752265452595e-03 9.600139245296816e-03 9.590522893495216e-03 + 9.580903234511828e-03 9.571280275331249e-03 9.561654026946651e-03 9.552024506017841e-03 9.542391727779683e-03 + 9.532755702177183e-03 9.523116437885958e-03 9.513473960404769e-03 9.503828289303256e-03 9.494179431678001e-03 + 9.484527400058637e-03 9.474872210511853e-03 9.465213879778082e-03 9.455552415295903e-03 9.445887829718797e-03 + 9.436220151655284e-03 9.426549394486200e-03 9.416875565725477e-03 9.407198681221749e-03 9.397518758018270e-03 + 9.387835810148322e-03 9.378149843813783e-03 9.368460878589471e-03 9.358768941430739e-03 9.349074041571485e-03 + 9.339376189353358e-03 9.329675400879622e-03 9.319971694171958e-03 9.310265081086165e-03 9.300555568605354e-03 + 9.290843182951191e-03 9.281127946492163e-03 9.271409865969660e-03 9.261688954922952e-03 9.251965230660204e-03 + 9.242238709904914e-03 9.232509401801155e-03 9.222777318787652e-03 9.213042489474691e-03 9.203304930168641e-03 + 9.193564649383718e-03 9.183821661973759e-03 9.174075985705271e-03 9.164327637046287e-03 9.154576623077591e-03 + 9.144822962285418e-03 9.135066683045857e-03 9.125307796249328e-03 9.115546312613307e-03 9.105782249286811e-03 + 9.096015624756502e-03 9.086246452281876e-03 9.076474739187750e-03 9.066700510968253e-03 9.056923792083085e-03 + 9.047144590189744e-03 9.037362919662660e-03 9.027578799121916e-03 9.017792245480461e-03 9.008003268928564e-03 + 8.998211881680073e-03 8.988418113610518e-03 8.978621982540696e-03 8.968823496265647e-03 8.959022672124209e-03 + 8.949219528590024e-03 8.939414081469170e-03 8.929606339864140e-03 8.919796321979990e-03 8.909984056877767e-03 + 8.900169557867096e-03 8.890352835957138e-03 8.880533907981049e-03 8.870712793191068e-03 8.860889506593549e-03 + 8.851064055633283e-03 8.841236465905915e-03 8.831406764712287e-03 8.821574959648875e-03 8.811741064546590e-03 + 8.801905099237244e-03 8.792067082696866e-03 8.782227026145442e-03 8.772384940188230e-03 8.762540855386065e-03 + 8.752694792574688e-03 8.742846759945761e-03 8.732996774006149e-03 8.723144854408183e-03 8.713291019755398e-03 + 8.703435278608567e-03 8.693577647775636e-03 8.683718159456632e-03 8.673856827661263e-03 8.663993662505663e-03 + 8.654128683145933e-03 8.644261909320558e-03 8.634393356690426e-03 8.624523033451901e-03 8.614650964506795e-03 + 8.604777179373340e-03 8.594901686657006e-03 8.585024500118565e-03 8.575145640490715e-03 8.565265126670765e-03 + 8.555382971806235e-03 8.545499187654319e-03 8.535613803632294e-03 8.525726842250045e-03 8.515838312646278e-03 + 8.505948232174527e-03 8.496056621077198e-03 8.486163497882877e-03 8.476268872748003e-03 8.466372762116349e-03 + 8.456475199094931e-03 8.446576199856061e-03 8.436675774300739e-03 8.426773941795081e-03 8.416870722731803e-03 + 8.406966134358667e-03 8.397060186389057e-03 8.387152901959176e-03 8.377244311160385e-03 8.367334425300299e-03 + 8.357423258296441e-03 8.347510830980188e-03 8.337597163605794e-03 8.327682270401855e-03 8.317766161869340e-03 + 8.307848867754637e-03 8.297930413816063e-03 8.288010810083676e-03 8.278090072673102e-03 8.268168221765407e-03 + 8.258245278027963e-03 8.248321253600945e-03 8.238396163758082e-03 8.228470040664376e-03 8.218542903042886e-03 + 8.208614761992156e-03 8.198685637447353e-03 8.188755549837494e-03 8.178824516773604e-03 8.168892549578916e-03 + 8.158959670459199e-03 8.149025910256038e-03 8.139091282816925e-03 8.129155801857130e-03 8.119219487437710e-03 + 8.109282361690508e-03 8.099344440765549e-03 8.089405733754036e-03 8.079466270417937e-03 8.069526079135253e-03 + 8.059585169010465e-03 8.049643556954327e-03 8.039701265060109e-03 8.029758314127560e-03 8.019814717074126e-03 + 8.009870488264625e-03 7.999925660293698e-03 7.989980254561855e-03 7.980034282561204e-03 7.970087763203990e-03 + 7.960140717914167e-03 7.950193166721423e-03 7.940245120231920e-03 7.930296599391260e-03 7.920347637831796e-03 + 7.910398250263278e-03 7.900448449763646e-03 7.890498257622273e-03 7.880547695356892e-03 7.870596780430528e-03 + 7.860645524802819e-03 7.850693955430419e-03 7.840742100859013e-03 7.830789973961963e-03 7.820837591210042e-03 + 7.810884973654219e-03 7.800932143705464e-03 7.790979115476222e-03 7.781025902060369e-03 7.771072537550891e-03 + 7.761119045304192e-03 7.751165435253132e-03 7.741211727248220e-03 7.731257943744334e-03 7.721304105116559e-03 + 7.711350222852130e-03 7.701396316987202e-03 7.691442422531397e-03 7.681488555826352e-03 7.671534729460651e-03 + 7.661580965493510e-03 7.651627286213397e-03 7.641673709645761e-03 7.631720246474624e-03 7.621766924002147e-03 + 7.611813774300424e-03 7.601860809420407e-03 7.591908045212342e-03 7.581955503946372e-03 7.572003208680656e-03 + 7.562051174726026e-03 7.552099414296815e-03 7.542147961065804e-03 7.532196840825635e-03 7.522246063843738e-03 + 7.512295650102864e-03 7.502345622322073e-03 7.492396000716249e-03 7.482446799189802e-03 7.472498037196947e-03 + 7.462549747897286e-03 7.452601950331629e-03 7.442654658211039e-03 7.432707892744488e-03 7.422761676416634e-03 + 7.412816028768508e-03 7.402870961455420e-03 7.392926500328647e-03 7.382982678429822e-03 7.373039508794957e-03 + 7.363097007225734e-03 7.353155196864952e-03 7.343214100532815e-03 7.333273734782904e-03 7.323334112197604e-03 + 7.313395265021593e-03 7.303457220900774e-03 7.293519991033275e-03 7.283583594600794e-03 7.273648054943689e-03 + 7.263713394446934e-03 7.253779626580373e-03 7.243846768480717e-03 7.233914855435080e-03 7.223983908518886e-03 + 7.214053940460562e-03 7.204124972417771e-03 7.194197027491048e-03 7.184270126394881e-03 7.174344280726286e-03 + 7.164419514784642e-03 7.154495863236941e-03 7.144573340914020e-03 7.134651962993328e-03 7.124731752265264e-03 + 7.114812732100897e-03 7.104894920638768e-03 7.094978330575343e-03 7.085062992246606e-03 7.075148934793896e-03 + 7.065236171017366e-03 7.055324719420953e-03 7.045414603125002e-03 7.035505845669364e-03 7.025598461448587e-03 + 7.015692466009597e-03 7.005787894887785e-03 6.995884771371198e-03 6.985983107977662e-03 6.976082925249031e-03 + 6.966184246523457e-03 6.956287093797063e-03 6.946391479271966e-03 6.936497425652844e-03 6.926604968509339e-03 + 6.916714124366364e-03 6.906824907731460e-03 6.896937340931554e-03 6.887051448149962e-03 6.877167248699087e-03 + 6.867284753979424e-03 6.857403994050719e-03 6.847525000658012e-03 6.837647785670592e-03 6.827772367409923e-03 + 6.817898770109592e-03 6.808027016717447e-03 6.798157122708669e-03 6.788289103240300e-03 6.778422992931511e-03 + 6.768558816798320e-03 6.758696587557012e-03 6.748836325648165e-03 6.738978054348659e-03 6.729121795949092e-03 + 6.719267563927435e-03 6.709415379633438e-03 6.699565278400954e-03 6.689717278120727e-03 6.679871393303892e-03 + 6.670027647355804e-03 6.660186063525513e-03 6.650346660981845e-03 6.640509452367944e-03 6.630674466396449e-03 + 6.620841735868644e-03 6.611011273308148e-03 6.601183096392477e-03 6.591357229649247e-03 6.581533696087914e-03 + 6.571712512145987e-03 6.561893692372858e-03 6.552077270290561e-03 6.542263272668194e-03 6.532451712617284e-03 + 6.522642609933696e-03 6.512835987879551e-03 6.503031869590782e-03 6.493230268870023e-03 6.483431205156500e-03 + 6.473634714105858e-03 6.463840816056773e-03 6.454049525191551e-03 6.444260863046832e-03 6.434474853362258e-03 + 6.424691517208967e-03 6.414910866799055e-03 6.405132928351729e-03 6.395357735592168e-03 6.385585303753894e-03 + 6.375815649717760e-03 6.366048796411005e-03 6.356284767471845e-03 6.346523580477974e-03 6.336765248927921e-03 + 6.327009805730009e-03 6.317257279178600e-03 6.307507681412946e-03 6.297761032647583e-03 6.288017356862164e-03 + 6.278276676438099e-03 6.268539005625230e-03 6.258804362658888e-03 6.249072783406197e-03 6.239344289504087e-03 + 6.229618894349891e-03 6.219896619699197e-03 6.210177489065160e-03 6.200461523673893e-03 6.190748736475173e-03 + 6.181039151999554e-03 6.171332804226705e-03 6.161629709556120e-03 6.151929884103313e-03 6.142233350147177e-03 + 6.132540131644584e-03 6.122850247356021e-03 6.113163710170625e-03 6.103480551213418e-03 6.093800800141988e-03 + 6.084124469547710e-03 6.074451578566364e-03 6.064782150905211e-03 6.055116209626953e-03 6.045453769994722e-03 + 6.035794848740185e-03 6.026139480474754e-03 6.016487688229946e-03 6.006839485237500e-03 5.997194892776407e-03 + 5.987553934341584e-03 5.977916631713333e-03 5.968282997802390e-03 5.958653055343909e-03 5.949026838944569e-03 + 5.939404365780911e-03 5.929785651209331e-03 5.920170717549854e-03 5.910559587858684e-03 5.900952281370824e-03 + 5.891348811852907e-03 5.881749208142844e-03 5.872153500225121e-03 5.862561701850070e-03 5.852973831530551e-03 + 5.843389912374926e-03 5.833809966833203e-03 5.824234011006907e-03 5.814662060999971e-03 5.805094150375409e-03 + 5.795530303292347e-03 5.785970532524381e-03 5.776414859211175e-03 5.766863306294991e-03 5.757315894674337e-03 + 5.747772638659374e-03 5.738233559732430e-03 5.728698691311226e-03 5.719168051719483e-03 5.709641656042984e-03 + 5.700119526414031e-03 5.690601685377130e-03 5.681088152168133e-03 5.671578940158426e-03 5.662074076665564e-03 + 5.652573592801510e-03 5.643077502877857e-03 5.633585823810169e-03 5.624098577633230e-03 5.614615788052954e-03 + 5.605137471831965e-03 5.595663642810052e-03 5.586194333773162e-03 5.576729570469775e-03 5.567269364923084e-03 + 5.557813736696195e-03 5.548362708847973e-03 5.538916303890826e-03 5.529474534822445e-03 5.520037420561356e-03 + 5.510604996543656e-03 5.501177281279281e-03 5.491754287530179e-03 5.482336037985177e-03 5.472922555453679e-03 + 5.463513859119052e-03 5.454109961206277e-03 5.444710887376439e-03 5.435316669896643e-03 5.425927322428118e-03 + 5.416542861379438e-03 5.407163309793553e-03 5.397788689388935e-03 5.388419016905312e-03 5.379054306533677e-03 + 5.369694588817857e-03 5.360339890208465e-03 5.350990223294556e-03 5.341645606645782e-03 5.332306062415535e-03 + 5.322971612709802e-03 5.313642271564683e-03 5.304318056285795e-03 5.294999000250198e-03 5.285685123732157e-03 + 5.276376439554206e-03 5.267072968338082e-03 5.257774732353860e-03 5.248481751732874e-03 5.239194038865901e-03 + 5.229911616755654e-03 5.220634516968343e-03 5.211362754853240e-03 5.202096346092698e-03 5.192835312362628e-03 + 5.183579674966123e-03 5.174329450821569e-03 5.165084652994387e-03 5.155845310548846e-03 5.146611450951191e-03 + 5.137383086378589e-03 5.128160234647254e-03 5.118942917508807e-03 5.109731156137037e-03 5.100524965000140e-03 + 5.091324360054826e-03 5.082129373049942e-03 5.072940025255639e-03 5.063756329149303e-03 5.054578304260502e-03 + 5.045405972366202e-03 5.036239353680495e-03 5.027078459118392e-03 5.017923310123222e-03 5.008773940483098e-03 + 4.999630364315774e-03 4.990492594829337e-03 4.981360654331298e-03 4.972234563790402e-03 4.963114339923834e-03 + 4.953999995020500e-03 4.944891556281875e-03 4.935789051765770e-03 4.926692493194353e-03 4.917601897109304e-03 + 4.908517284729773e-03 4.899438676825864e-03 4.890366088012707e-03 4.881299532722441e-03 4.872239041569468e-03 + 4.863184636415129e-03 4.854136328649667e-03 4.845094137498133e-03 4.836058083872883e-03 4.827028186746977e-03 + 4.818004458681770e-03 4.808986918914880e-03 4.799975597861264e-03 4.790970512088721e-03 4.781971675128856e-03 + 4.772979106768043e-03 4.763992827229902e-03 4.755012853632298e-03 4.746039197549013e-03 4.737071883993436e-03 + 4.728110941197518e-03 4.719156380399636e-03 4.710208217424537e-03 4.701266473663848e-03 4.692331168251817e-03 + 4.683402315353613e-03 4.674479928383867e-03 4.665564036556664e-03 4.656654662394768e-03 4.647751816371710e-03 + 4.638855516650367e-03 4.629965783672686e-03 4.621082635909843e-03 4.612206084994354e-03 4.603336148102954e-03 + 4.594472856159325e-03 4.585616225744373e-03 4.576766268345947e-03 4.567923003199363e-03 4.559086450091263e-03 + 4.550256626033265e-03 4.541433541986122e-03 4.532617220194613e-03 4.523807688535670e-03 4.515004959722835e-03 + 4.506209047920159e-03 4.497419972185719e-03 4.488637751873642e-03 4.479862401381760e-03 4.471093932025212e-03 + 4.462332371280023e-03 4.453577742726973e-03 4.444830056583276e-03 4.436089328917552e-03 4.427355578888171e-03 + 4.418628824988929e-03 4.409909078668640e-03 4.401196354933857e-03 4.392490684030716e-03 4.383792083151365e-03 + 4.375100562120779e-03 4.366416138313078e-03 4.357738831525952e-03 4.349068659591380e-03 4.340405630957790e-03 + 4.331749765364269e-03 4.323101091949651e-03 4.314459623208851e-03 4.305825371349630e-03 4.297198354190413e-03 + 4.288578590720092e-03 4.279966095343473e-03 4.271360877578565e-03 4.262762963097229e-03 4.254172376200769e-03 + 4.245589126222103e-03 4.237013227440267e-03 4.228444697962537e-03 4.219883556022182e-03 4.211329813254019e-03 + 4.202783482548908e-03 4.194244591796649e-03 4.185713159116739e-03 4.177189194188086e-03 4.168672712320958e-03 + 4.160163731860882e-03 4.151662270610665e-03 4.143168336754119e-03 4.134681947397693e-03 4.126203130809124e-03 + 4.117731899759874e-03 4.109268265260960e-03 4.100812244167818e-03 4.092363854125291e-03 4.083923109325604e-03 + 4.075490018959178e-03 4.067064605609816e-03 4.058646892914489e-03 4.050236890474988e-03 4.041834611549669e-03 + 4.033440073099425e-03 4.025053291802670e-03 4.016674279190388e-03 4.008303046950822e-03 3.999939621219669e-03 + 3.991584019864232e-03 3.983236251035503e-03 3.974896329846703e-03 3.966564273682151e-03 3.958240098637734e-03 + 3.949923812376889e-03 3.941615430268695e-03 3.933314980874398e-03 3.925022475755094e-03 3.916737923312982e-03 + 3.908461340476090e-03 3.900192744628528e-03 3.891932149238224e-03 3.883679560814138e-03 3.875435000263637e-03 + 3.867198492508630e-03 3.858970045729460e-03 3.850749670926077e-03 3.842537384120139e-03 3.834333202377867e-03 + 3.826137136626801e-03 3.817949195349815e-03 3.809769403427763e-03 3.801597779587331e-03 3.793434330750140e-03 + 3.785279069923421e-03 3.777132013373491e-03 3.768993177352847e-03 3.760862568898475e-03 3.752740200334732e-03 + 3.744626099044159e-03 3.736520277340854e-03 3.728422742215669e-03 3.720333508785603e-03 3.712252593018920e-03 + 3.704180008090329e-03 3.696115760631814e-03 3.688059868276574e-03 3.680012354362612e-03 3.671973228138760e-03 + 3.663942499526064e-03 3.655920182566113e-03 3.647906292785413e-03 3.639900840938008e-03 3.631903834337251e-03 + 3.623915295229000e-03 3.615935242250758e-03 3.607963681828620e-03 3.600000626081414e-03 3.592046089865790e-03 + 3.584100087061132e-03 3.576162625323692e-03 3.568233715505030e-03 3.560313381862740e-03 3.552401637255495e-03 + 3.544498488187401e-03 3.536603947761108e-03 3.528718030587010e-03 3.520840749407267e-03 3.512972109975055e-03 + 3.505112127471606e-03 3.497260824593953e-03 3.489418209893856e-03 3.481584291815555e-03 3.473759083632174e-03 + 3.465942599385497e-03 3.458134849136788e-03 3.450335838875430e-03 3.442545588595099e-03 3.434764116831954e-03 + 3.426991428902786e-03 3.419227535146918e-03 3.411472449427477e-03 3.403726185233638e-03 3.395988749408295e-03 + 3.388260149964055e-03 3.380540409506120e-03 3.372829541439428e-03 3.365127551327278e-03 3.357434450344299e-03 + 3.349750251864305e-03 3.342074968176267e-03 3.334408603200120e-03 3.326751169911567e-03 3.319102691777129e-03 + 3.311463175183513e-03 3.303832626198486e-03 3.296211059114474e-03 3.288598486024217e-03 3.280994915398627e-03 + 3.273400352769854e-03 3.265814815709593e-03 3.258238322074859e-03 3.250670876135365e-03 3.243112486983179e-03 + 3.235563167624456e-03 3.228022929479646e-03 3.220491779361285e-03 3.212969724272006e-03 3.205456783570964e-03 + 3.197952970426890e-03 3.190458290104943e-03 3.182972751519780e-03 3.175496366385864e-03 3.168029146873250e-03 + 3.160571096621216e-03 3.153122225636278e-03 3.145682555500280e-03 3.138252093348739e-03 3.130830843615626e-03 + 3.123418817816768e-03 3.116016027518625e-03 3.108622481356378e-03 3.101238183229207e-03 3.093863147897005e-03 + 3.086497392737253e-03 3.079140921752824e-03 3.071793741871484e-03 3.064455864252268e-03 3.057127299904285e-03 + 3.049808055146270e-03 3.042498134791386e-03 3.035197556645182e-03 3.027906333235584e-03 3.020624467536793e-03 + 3.013351968343262e-03 3.006088846580162e-03 2.998835112089031e-03 2.991590768047797e-03 2.984355822285627e-03 + 2.977130294631421e-03 2.969914192263928e-03 2.962707518230782e-03 2.955510282832787e-03 2.948322496039390e-03 + 2.941144165204636e-03 2.933975293458325e-03 2.926815893073326e-03 2.919665980487675e-03 2.912525559332239e-03 + 2.905394635071103e-03 2.898273217656210e-03 2.891161316595433e-03 2.884058936906487e-03 2.876966081111658e-03 + 2.869882766189157e-03 2.862809005041444e-03 2.855744798230348e-03 2.848690153100023e-03 2.841645079496137e-03 + 2.834609585256340e-03 2.827583673848185e-03 2.820567351490293e-03 2.813560634590312e-03 2.806563530531927e-03 + 2.799576041999259e-03 2.792598177467573e-03 2.785629945309582e-03 2.778671351607254e-03 2.771722398039775e-03 + 2.764783095014263e-03 2.757853459091809e-03 2.750933492568204e-03 2.744023198517816e-03 2.737122585640385e-03 + 2.730231662189404e-03 2.723350432970404e-03 2.716478899800820e-03 2.709617075896625e-03 2.702764973241287e-03 + 2.695922593060963e-03 2.689089940152226e-03 2.682267022316270e-03 2.675453847914084e-03 2.668650418902243e-03 + 2.661856738145520e-03 2.655072822033232e-03 2.648298678030288e-03 2.641534306206961e-03 2.634779712258937e-03 + 2.628034904058933e-03 2.621299888635041e-03 2.614574665771587e-03 2.607859242632423e-03 2.601153634957146e-03 + 2.594457844452072e-03 2.587771872555374e-03 2.581095727373358e-03 2.574429415266960e-03 2.567772939497474e-03 + 2.561126300777387e-03 2.554489510835181e-03 2.547862581281132e-03 2.541245510713479e-03 2.534638303078699e-03 + 2.528040966193904e-03 2.521453505493298e-03 2.514875922225054e-03 2.508308218200437e-03 2.501750407164573e-03 + 2.495202496081871e-03 2.488664484118587e-03 2.482136376281468e-03 2.475618178705269e-03 2.469109895957427e-03 + 2.462611527825166e-03 2.456123079328407e-03 2.449644563898542e-03 2.443175984269443e-03 2.436717340526153e-03 + 2.430268636964234e-03 2.423829879853036e-03 2.417401073311931e-03 2.410982215756923e-03 2.404573315098301e-03 + 2.398174382071132e-03 2.391785416912405e-03 2.385406421217447e-03 2.379037399546287e-03 2.372678357701878e-03 + 2.366329296305038e-03 2.359990214012962e-03 2.353661123666590e-03 2.347342032379030e-03 2.341032936953993e-03 + 2.334733840455562e-03 2.328444748068140e-03 2.322165663885325e-03 2.315896586946297e-03 2.309637519733881e-03 + 2.303388473653537e-03 2.297149451184649e-03 2.290920451297887e-03 2.284701476927273e-03 2.278492533074980e-03 + 2.272293622898508e-03 2.266104742447669e-03 2.259925897918875e-03 2.253757100645447e-03 2.247598348619136e-03 + 2.241449641489242e-03 2.235310983406359e-03 2.229182378556762e-03 2.223063827011661e-03 2.216955326220785e-03 + 2.210856885615230e-03 2.204768511855369e-03 2.198690202073136e-03 2.192621957162963e-03 2.186563780523993e-03 + 2.180515675851768e-03 2.174477640514074e-03 2.168449674335647e-03 2.162431789038673e-03 2.156423986093689e-03 + 2.150426261719325e-03 2.144438618887063e-03 2.138461061015507e-03 2.132493589319895e-03 2.126536199820428e-03 + 2.120588896234097e-03 2.114651688169617e-03 2.108724573757348e-03 2.102807551461262e-03 2.096900623831682e-03 + 2.091003792760502e-03 2.085117057433877e-03 2.079240415028002e-03 2.073373872799373e-03 2.067517436442142e-03 + 2.061671101563673e-03 2.055834867994772e-03 2.050008738194652e-03 2.044192713868095e-03 2.038386792128391e-03 + 2.032590971333173e-03 2.026805260662020e-03 2.021029661329869e-03 2.015264168518725e-03 2.009508783500123e-03 + 2.003763508166370e-03 1.998028342654997e-03 1.992303282805534e-03 1.986588330078225e-03 1.980883492165770e-03 + 1.975188767039759e-03 1.969504151730439e-03 1.963829647004430e-03 1.958165254218237e-03 1.952510971963634e-03 + 1.946866794889960e-03 1.941232728159857e-03 1.935608777640074e-03 1.929994938329363e-03 1.924391207914093e-03 + 1.918797587114099e-03 1.913214077256622e-03 1.907640674795718e-03 1.902077375557082e-03 1.896524186430478e-03 + 1.890981108949087e-03 1.885448138032121e-03 1.879925272541809e-03 1.874412513138102e-03 1.868909859971047e-03 + 1.863417306389931e-03 1.857934851379391e-03 1.852462503653811e-03 1.847000259754348e-03 1.841548114039762e-03 + 1.836106066817225e-03 1.830674118529854e-03 1.825252266916765e-03 1.819840505202892e-03 1.814438836319749e-03 + 1.809047265638602e-03 1.803665787133681e-03 1.798294397101445e-03 1.792933095135866e-03 1.787581880369786e-03 + 1.782240749155103e-03 1.776909697172910e-03 1.771588728179710e-03 1.766277842767543e-03 1.760977035675204e-03 + 1.755686304337379e-03 1.750405647484752e-03 1.745135063548007e-03 1.739874546386865e-03 1.734624093589025e-03 + 1.729383711586370e-03 1.724153396315838e-03 1.718933140719367e-03 1.713722944309894e-03 1.708522806163372e-03 + 1.703332722978997e-03 1.698152687791741e-03 1.692982700783420e-03 1.687822765464940e-03 1.682672875794938e-03 + 1.677533027054054e-03 1.672403217813849e-03 1.667283446525115e-03 1.662173708173832e-03 1.657073995739192e-03 + 1.651984312946546e-03 1.646904660364047e-03 1.641835029387390e-03 1.636775416468660e-03 1.631725820220986e-03 + 1.626686238226539e-03 1.621656663682810e-03 1.616637091835148e-03 1.611627526662728e-03 1.606627964700548e-03 + 1.601638398623349e-03 1.596658825754688e-03 1.591689243408400e-03 1.586729647378206e-03 1.581780030725023e-03 + 1.576840391697073e-03 1.571910732264727e-03 1.566991046477593e-03 1.562081328242421e-03 1.557181574037859e-03 + 1.552291781114454e-03 1.547411944138861e-03 1.542542055154552e-03 1.537682115822498e-03 1.532832126356767e-03 + 1.527992077470792e-03 1.523161963747274e-03 1.518341782422417e-03 1.513531530571088e-03 1.508731200913292e-03 + 1.503940786876937e-03 1.499160290964809e-03 1.494389709200610e-03 1.489629032745148e-03 1.484878257820629e-03 + 1.480137381279299e-03 1.475406398389162e-03 1.470685299850305e-03 1.465974082141071e-03 1.461272748080975e-03 + 1.456581290224651e-03 1.451899700275850e-03 1.447227974089072e-03 1.442566108566721e-03 1.437914097994959e-03 + 1.433271932504185e-03 1.428639611034298e-03 1.424017133356480e-03 1.419404490680891e-03 1.414801676491448e-03 + 1.410208686553135e-03 1.405625516589791e-03 1.401052158609908e-03 1.396488604511052e-03 1.391934855472548e-03 + 1.387390907364871e-03 1.382856750165021e-03 1.378332378783991e-03 1.373817788890047e-03 1.369312974750468e-03 + 1.364817927255285e-03 1.360332641059443e-03 1.355857116711623e-03 1.351391347026849e-03 1.346935323100728e-03 + 1.342489039284644e-03 1.338052491255308e-03 1.333625672740901e-03 1.329208572800934e-03 1.324801188462658e-03 + 1.320403519143769e-03 1.316015555822497e-03 1.311637290544184e-03 1.307268717472159e-03 1.302909831116118e-03 + 1.298560623326278e-03 1.294221085253892e-03 1.289891216124110e-03 1.285571011566486e-03 1.281260461060531e-03 + 1.276959557618139e-03 1.272668295740209e-03 1.268386669608614e-03 1.264114669618853e-03 1.259852288349743e-03 + 1.255599524419093e-03 1.251356371085625e-03 1.247122819189722e-03 1.242898861265979e-03 1.238684491359706e-03 + 1.234479702756933e-03 1.230284484841117e-03 1.226098832748256e-03 1.221922744434409e-03 1.217756210326720e-03 + 1.213599221362577e-03 1.209451770765583e-03 1.205313852635065e-03 1.201185458480448e-03 1.197066577985755e-03 + 1.192957208640432e-03 1.188857345511447e-03 1.184766976969275e-03 1.180686095693037e-03 1.176614695732404e-03 + 1.172552769621902e-03 1.168500307042727e-03 1.164457299537124e-03 1.160423745213695e-03 1.156399636114517e-03 + 1.152384961360659e-03 1.148379714206853e-03 1.144383887440774e-03 1.140397472403066e-03 1.136420458871837e-03 + 1.132452840804467e-03 1.128494614815977e-03 1.124545770440235e-03 1.120606297984056e-03 1.116676190709075e-03 + 1.112755440623707e-03 1.108844038267568e-03 1.104941973598277e-03 1.101049242215234e-03 1.097165838523137e-03 + 1.093291750933755e-03 1.089426970747485e-03 1.085571490835547e-03 1.081725303225761e-03 1.077888396808512e-03 + 1.074060761522748e-03 1.070242395009795e-03 1.066433289590875e-03 1.062633433332422e-03 1.058842817553080e-03 + 1.055061434373011e-03 1.051289275348505e-03 1.047526329409495e-03 1.043772588486000e-03 1.040028047931513e-03 + 1.036292698203525e-03 1.032566529042292e-03 1.028849531681517e-03 1.025141697676040e-03 1.021443017315572e-03 + 1.017753479165712e-03 1.014073077446178e-03 1.010401806565697e-03 1.006739654876394e-03 1.003086612170896e-03 + 9.994426698862881e-04 9.958078198244436e-04 9.921820510029489e-04 9.885653522799815e-04 9.849577193159157e-04 + 9.813591440739670e-04 9.777696142556011e-04 9.741891204675346e-04 9.706176542328248e-04 9.670552065524777e-04 + 9.635017651512704e-04 9.599573207794398e-04 9.564218691437683e-04 9.528953995809905e-04 9.493779002331982e-04 + 9.458693621672339e-04 9.423697766254766e-04 9.388791334439822e-04 9.353974200435674e-04 9.319246293443443e-04 + 9.284607555133966e-04 9.250057861419034e-04 9.215597102726345e-04 9.181225189615299e-04 9.146942031524666e-04 + 9.112747514066988e-04 9.078641516289516e-04 9.044623983719834e-04 9.010694834242857e-04 8.976853937790154e-04 + 8.943101192935385e-04 8.909436508104612e-04 8.875859786393426e-04 8.842370902316334e-04 8.808969751654204e-04 + 8.775656281905130e-04 8.742430385918343e-04 8.709291937982416e-04 8.676240840155020e-04 8.643276998573467e-04 + 8.610400308208924e-04 8.577610636611962e-04 8.544907899714905e-04 8.512292035626933e-04 8.479762917886125e-04 + 8.447320428739457e-04 8.414964471843920e-04 8.382694949325988e-04 8.350511744137459e-04 8.318414728923707e-04 + 8.286403836395943e-04 8.254478982373706e-04 8.222640032931049e-04 8.190886878204532e-04 8.159219419987107e-04 + 8.127637556794064e-04 8.096141160179775e-04 8.064730115089579e-04 8.033404360997527e-04 8.002163789609624e-04 + 7.971008268111541e-04 7.939937692507287e-04 7.908951962853333e-04 7.878050969946667e-04 7.847234577702081e-04 + 7.816502689905088e-04 7.785855239466778e-04 7.755292098590464e-04 7.724813142232633e-04 7.694418267842021e-04 + 7.664107372089749e-04 7.633880335334087e-04 7.603737023812342e-04 7.573677358642847e-04 7.543701253849379e-04 + 7.513808572285544e-04 7.483999196962093e-04 7.454273024026923e-04 7.424629947358947e-04 7.395069836664074e-04 + 7.365592567622367e-04 7.336198070174806e-04 7.306886236388442e-04 7.277656929130117e-04 7.248510036837761e-04 + 7.219445453636994e-04 7.190463067357669e-04 7.161562739946586e-04 7.132744364309508e-04 7.104007867132190e-04 + 7.075353120392018e-04 7.046779992824802e-04 7.018288375861283e-04 6.989878161882759e-04 6.961549229362052e-04 + 6.933301438820412e-04 6.905134700383686e-04 6.877048926511914e-04 6.849043978549774e-04 6.821119732944710e-04 + 6.793276080246700e-04 6.765512910034699e-04 6.737830090783149e-04 6.710227490756584e-04 6.682705030776122e-04 + 6.655262603091742e-04 6.627900067379164e-04 6.600617305924390e-04 6.573414207627890e-04 6.546290656955580e-04 + 6.519246513982958e-04 6.492281662548372e-04 6.465396024423735e-04 6.438589471596415e-04 6.411861867028291e-04 + 6.385213096762252e-04 6.358643049114898e-04 6.332151601148890e-04 6.305738609661260e-04 6.279403974635571e-04 + 6.253147606410383e-04 6.226969365620930e-04 6.200869123319087e-04 6.174846765257772e-04 6.148902176504979e-04 + 6.123035224628875e-04 6.097245772740803e-04 6.071533733723410e-04 6.045898999580564e-04 6.020341426510520e-04 + 5.994860891934145e-04 5.969457280748620e-04 5.944130474177512e-04 5.918880332091087e-04 5.893706730594447e-04 + 5.868609584534629e-04 5.843588766665737e-04 5.818644136544619e-04 5.793775576682911e-04 5.768982970317317e-04 + 5.744266191686133e-04 5.719625097277512e-04 5.695059578510202e-04 5.670569542308351e-04 5.646154849082753e-04 + 5.621815365284883e-04 5.597550972743215e-04 5.573361553519681e-04 5.549246974872960e-04 5.525207095632259e-04 + 5.501241820142805e-04 5.477351040267441e-04 5.453534610951853e-04 5.429792405131840e-04 5.406124304314462e-04 + 5.382530187447214e-04 5.359009913605971e-04 5.335563351904396e-04 5.312190411682156e-04 5.288890968140364e-04 + 5.265664878332606e-04 5.242512018091515e-04 5.219432267978740e-04 5.196425502978362e-04 5.173491576918976e-04 + 5.150630373381158e-04 5.127841797796618e-04 5.105125710953982e-04 5.082481974966798e-04 5.059910467933278e-04 + 5.037411069671739e-04 5.014983647643853e-04 4.992628057533249e-04 4.970344196034297e-04 4.948131954905409e-04 + 4.925991188614672e-04 4.903921766298550e-04 4.881923566574878e-04 4.859996466359864e-04 4.838140324815327e-04 + 4.816355005995136e-04 4.794640414647377e-04 4.772996426854546e-04 4.751422896755638e-04 4.729919697488023e-04 + 4.708486707166207e-04 4.687123799720691e-04 4.665830828962369e-04 4.644607671738101e-04 4.623454230212830e-04 + 4.602370366779194e-04 4.581355941018685e-04 4.560410828358216e-04 4.539534906171381e-04 4.518728041821612e-04 + 4.497990089033435e-04 4.477320938149108e-04 4.456720481170030e-04 4.436188572707195e-04 4.415725078895158e-04 + 4.395329875976124e-04 4.375002838422590e-04 4.354743826722610e-04 4.334552702201095e-04 4.314429363226086e-04 + 4.294373687059989e-04 4.274385527576286e-04 4.254464755700176e-04 4.234611247199864e-04 4.214824874479911e-04 + 4.195105492176435e-04 4.175452972239935e-04 4.155867214135851e-04 4.136348082067204e-04 4.116895433467350e-04 + 4.097509141339746e-04 4.078189081189173e-04 4.058935120995524e-04 4.039747114386321e-04 4.020624945699733e-04 + 4.001568506324645e-04 3.982577652062802e-04 3.963652246433777e-04 3.944792163840573e-04 3.925997278951708e-04 + 3.907267452820787e-04 3.888602542761684e-04 3.870002443827855e-04 3.851467035420477e-04 3.832996170232135e-04 + 3.814589716941001e-04 3.796247550166885e-04 3.777969542187427e-04 3.759755548771444e-04 3.741605437648361e-04 + 3.723519105456335e-04 3.705496418343326e-04 3.687537232626712e-04 3.669641420580878e-04 3.651808856652343e-04 + 3.634039408935104e-04 3.616332930379869e-04 3.598689301103073e-04 3.581108413327368e-04 3.563590123412032e-04 + 3.546134293224166e-04 3.528740796868620e-04 3.511409507353364e-04 3.494140287293094e-04 3.476932993968030e-04 + 3.459787517007610e-04 3.442703736842207e-04 3.425681507579447e-04 3.408720696736798e-04 3.391821178070990e-04 + 3.374982823340253e-04 3.358205489790399e-04 3.341489042294683e-04 3.324833375391577e-04 3.308238358267097e-04 + 3.291703846864138e-04 3.275229711235071e-04 3.258815824857735e-04 3.242462057388915e-04 3.226168264116891e-04 + 3.209934320343741e-04 3.193760116170641e-04 3.177645512713499e-04 3.161590371207419e-04 3.145594562690266e-04 + 3.129657961319975e-04 3.113780432227079e-04 3.097961831114660e-04 3.082202043645004e-04 3.066500952444524e-04 + 3.050858414009347e-04 3.035274294402161e-04 3.019748466354355e-04 3.004280802320956e-04 2.988871162192853e-04 + 2.973519409077311e-04 2.958225434173786e-04 2.942989109163873e-04 2.927810290941792e-04 2.912688849504159e-04 + 2.897624658129895e-04 2.882617587216531e-04 2.867667493909568e-04 2.852774250910157e-04 2.837937747837379e-04 + 2.823157848000407e-04 2.808434412718301e-04 2.793767313619733e-04 2.779156424588856e-04 2.764601612241833e-04 + 2.750102732798498e-04 2.735659669757869e-04 2.721272307826111e-04 2.706940504177620e-04 2.692664125118005e-04 + 2.678443044384447e-04 2.664277133531666e-04 2.650166254907073e-04 2.636110271946842e-04 2.622109073508727e-04 + 2.608162534146021e-04 2.594270512444905e-04 2.580432877716125e-04 2.566649503351083e-04 2.552920261463284e-04 + 2.539245011192165e-04 2.525623623480746e-04 2.512055988243127e-04 2.498541971146173e-04 2.485081433825346e-04 + 2.471674249383843e-04 2.458320291468696e-04 2.445019428356345e-04 2.431771519464020e-04 2.418576445147758e-04 + 2.405434090455539e-04 2.392344316436903e-04 2.379306989304936e-04 2.366321982706708e-04 2.353389171046539e-04 + 2.340508418959193e-04 2.327679588365217e-04 2.314902568213100e-04 2.302177235947735e-04 2.289503450019842e-04 + 2.276881081822984e-04 2.264310006278554e-04 2.251790095285085e-04 2.239321211178975e-04 2.226903224828012e-04 + 2.214536025966827e-04 2.202219483393713e-04 2.189953459440866e-04 2.177737827672056e-04 2.165572463172210e-04 + 2.153457236927424e-04 2.141392010208329e-04 2.129376661694288e-04 2.117411078009580e-04 2.105495123800498e-04 + 2.093628666254358e-04 2.081811579562958e-04 2.070043738711933e-04 2.058325011765904e-04 2.046655262979033e-04 + 2.035034378928387e-04 2.023462239716796e-04 2.011938707312936e-04 2.000463653117907e-04 1.989036953143001e-04 + 1.977658482429478e-04 1.966328105707422e-04 1.955045692837424e-04 1.943811134060168e-04 1.932624302421221e-04 + 1.921485062157297e-04 1.910393287336514e-04 1.899348854684124e-04 1.888351638115297e-04 1.877401500482506e-04 + 1.866498319949601e-04 1.855641985831636e-04 1.844832365124926e-04 1.834069326310023e-04 1.823352746298841e-04 + 1.812682501147551e-04 1.802058461455679e-04 1.791480493724017e-04 1.780948483852737e-04 1.770462314872484e-04 + 1.760021851824818e-04 1.749626967491274e-04 1.739277539439587e-04 1.728973444305181e-04 1.718714550470096e-04 + 1.708500728855944e-04 1.698331869571933e-04 1.688207849549946e-04 1.678128535713188e-04 1.668093803524777e-04 + 1.658103531111011e-04 1.648157594964937e-04 1.638255861976382e-04 1.628398210066413e-04 1.618584529166454e-04 + 1.608814690931768e-04 1.599088565742865e-04 1.589406031206167e-04 1.579766966509897e-04 1.570171246224424e-04 + 1.560618738321770e-04 1.551109328208930e-04 1.541642902068764e-04 1.532219328717612e-04 1.522838482661923e-04 + 1.513500243337891e-04 1.504204489591066e-04 1.494951093483970e-04 1.485739927662749e-04 1.476570882997282e-04 + 1.467443839796364e-04 1.458358667202351e-04 1.449315243896633e-04 1.440313449862068e-04 1.431353162531848e-04 + 1.422434254066872e-04 1.413556604013758e-04 1.404720102486319e-04 1.395924625558734e-04 1.387170046489957e-04 + 1.378456244430427e-04 1.369783100559194e-04 1.361150493062282e-04 1.352558293490397e-04 1.344006387024136e-04 + 1.335494662293593e-04 1.327022993333140e-04 1.318591256583063e-04 1.310199332689028e-04 1.301847103692820e-04 + 1.293534446013900e-04 1.285261234477974e-04 1.277027359881715e-04 1.268832706365997e-04 1.260677147052468e-04 + 1.252560562359565e-04 1.244482834803957e-04 1.236443845356053e-04 1.228443469528238e-04 1.220481588198588e-04 + 1.212558093699401e-04 1.204672865809282e-04 1.196825780471873e-04 1.189016720308052e-04 1.181245568536085e-04 + 1.173512205995857e-04 1.165816508484800e-04 1.158158362776897e-04 1.150537660210759e-04 1.142954277590100e-04 + 1.135408094568152e-04 1.127898995954114e-04 1.120426864956402e-04 1.112991581353023e-04 1.105593024093304e-04 + 1.098231085283700e-04 1.090905652465313e-04 1.083616601800625e-04 1.076363816399760e-04 1.069147182196831e-04 + 1.061966583782502e-04 1.054821899944032e-04 1.047713013150353e-04 1.040639818640637e-04 1.033602200082437e-04 + 1.026600035826387e-04 1.019633211976323e-04 1.012701615275282e-04 1.005805130149820e-04 9.989436355203399e-05 + 9.921170194739147e-05 9.853251765411631e-05 9.785679881782247e-05 9.718453366352614e-05 9.651571091087277e-05 + 9.585031930594751e-05 9.518834724915350e-05 9.452978284703146e-05 9.387461543789448e-05 9.322283420353250e-05 + 9.257442723618249e-05 9.192938310286574e-05 9.128769066247626e-05 9.064933872161225e-05 9.001431561187756e-05 + 8.938260983500139e-05 8.875421104519957e-05 8.812910809646098e-05 8.750728925694059e-05 8.688874335824857e-05 + 8.627345936363417e-05 8.566142611724158e-05 8.505263195150667e-05 8.444706587898619e-05 8.384471762172232e-05 + 8.324557578035348e-05 8.264962891132210e-05 8.205686604727953e-05 8.146727626544971e-05 8.088084838175318e-05 + 8.029757088191735e-05 7.971743327705584e-05 7.914042512047892e-05 7.856653495630607e-05 7.799575166346450e-05 + 7.742806441871695e-05 7.686346239245813e-05 7.630193435494130e-05 7.574346911053080e-05 7.518805653837606e-05 + 7.463568593117825e-05 7.408634594826592e-05 7.354002575090044e-05 7.299671464423979e-05 7.245640185167563e-05 + 7.191907614532941e-05 7.138472679150608e-05 7.085334380230530e-05 7.032491623916224e-05 6.979943301854977e-05 + 6.927688351841825e-05 6.875725716877753e-05 6.824054320182008e-05 6.772673050550591e-05 6.721580881996242e-05 + 6.670776807704407e-05 6.620259726868480e-05 6.570028562031883e-05 6.520082266140781e-05 6.470419793220322e-05 + 6.421040064958054e-05 6.371941996817583e-05 6.323124601185380e-05 6.274586851226631e-05 6.226327655003573e-05 + 6.178345963615301e-05 6.130640743984757e-05 6.083210957777482e-05 6.036055527561582e-05 5.989173409263222e-05 + 5.942563633391719e-05 5.896225154191688e-05 5.850156903007261e-05 5.804357852627766e-05 5.758826983099529e-05 + 5.713563260712647e-05 5.668565617514362e-05 5.623833053838233e-05 5.579364600051564e-05 5.535159201768813e-05 + 5.491215819134343e-05 5.447533442712218e-05 5.404111064124177e-05 5.360947650466450e-05 5.318042157160001e-05 + 5.275393622516995e-05 5.233001062811153e-05 5.190863431238880e-05 5.148979716458554e-05 5.107348923404401e-05 + 5.065970053025621e-05 5.024842074849432e-05 4.983963979263951e-05 4.943334827635427e-05 4.902953621108006e-05 + 4.862819332553702e-05 4.822930973793706e-05 4.783287562882953e-05 4.743888107972067e-05 4.704731588033618e-05 + 4.665817033540254e-05 4.627143510842172e-05 4.588710014690383e-05 4.550515545082771e-05 4.512559130332447e-05 + 4.474839802715817e-05 4.437356575264515e-05 4.400108444300858e-05 4.363094478314062e-05 4.326313737450849e-05 + 4.289765220307346e-05 4.253447954450777e-05 4.217360984935306e-05 4.181503354031293e-05 4.145874078526325e-05 + 4.110472186234567e-05 4.075296770939578e-05 4.040346881442376e-05 4.005621534517384e-05 3.971119780891244e-05 + 3.936840678851008e-05 3.902783280379881e-05 3.868946611492773e-05 3.835329736378580e-05 3.801931758461789e-05 + 3.768751721520911e-05 3.735788667634669e-05 3.703041665089796e-05 3.670509786268472e-05 3.638192090588934e-05 + 3.606087620758478e-05 3.574195476070656e-05 3.542514758568229e-05 3.511044516462031e-05 3.479783817623805e-05 + 3.448731747191980e-05 3.417887390941621e-05 3.387249813623169e-05 3.356818082938366e-05 3.326591326488256e-05 + 3.296568640239042e-05 3.266749086476883e-05 3.237131756688427e-05 3.207715751232477e-05 3.178500166911470e-05 + 3.149484077201404e-05 3.120666582870710e-05 3.092046825328168e-05 3.063623897047349e-05 3.035396883732847e-05 + 3.007364895961203e-05 2.979527048619034e-05 2.951882447255356e-05 2.924430180184470e-05 2.897169381596313e-05 + 2.870099196601076e-05 2.843218722351712e-05 2.816527069305565e-05 2.790023364581556e-05 2.763706736588794e-05 + 2.737576298520704e-05 2.711631161938774e-05 2.685870489191871e-05 2.660293422952212e-05 2.634899073350601e-05 + 2.609686574272242e-05 2.584655068622352e-05 2.559803697386157e-05 2.535131582907573e-05 2.510637865851451e-05 + 2.486321726016628e-05 2.462182305120829e-05 2.438218734168926e-05 2.414430166313400e-05 2.390815760058303e-05 + 2.367374667612129e-05 2.344106023464476e-05 2.321008999935892e-05 2.298082786356460e-05 2.275326527748312e-05 + 2.252739378233606e-05 2.230320509258137e-05 2.208069093512809e-05 2.185984291941186e-05 2.164065260635458e-05 + 2.142311199522572e-05 2.120721298028661e-05 2.099294714303281e-05 2.078030625998752e-05 2.056928220029127e-05 + 2.035986682231265e-05 2.015205183896797e-05 1.994582907956633e-05 1.974119073954575e-05 1.953812872162773e-05 + 1.933663479825456e-05 1.913670094979531e-05 1.893831919578259e-05 1.874148151575467e-05 1.854617976080873e-05 + 1.835240605058427e-05 1.816015268982217e-05 1.796941162992672e-05 1.778017486956627e-05 1.759243456762222e-05 + 1.740618289118282e-05 1.722141193137039e-05 1.703811372777776e-05 1.685628066375182e-05 1.667590509374455e-05 + 1.649697910104339e-05 1.631949489857415e-05 1.614344479286407e-05 1.596882111103627e-05 1.579561606259506e-05 + 1.562382191518076e-05 1.545343126338709e-05 1.528443649706141e-05 1.511682986511545e-05 1.495060379262073e-05 + 1.478575075387210e-05 1.462226320346460e-05 1.446013347627832e-05 1.429935410828208e-05 1.413991783947596e-05 + 1.398181711799591e-05 1.382504440087988e-05 1.366959229690567e-05 1.351545344207288e-05 1.336262041089977e-05 + 1.321108569966174e-05 1.306084210743495e-05 1.291188246012095e-05 1.276419932540445e-05 1.261778537439798e-05 + 1.247263337350260e-05 1.232873611168182e-05 1.218608628547451e-05 1.204467661277090e-05 1.190450010670460e-05 + 1.176554964839514e-05 1.162781797531038e-05 1.149129796332477e-05 1.135598253898601e-05 1.122186462622714e-05 + 1.108893706038782e-05 1.095719281332111e-05 1.082662505098182e-05 1.069722672643097e-05 1.056899077370047e-05 + 1.044191025341683e-05 1.031597825830204e-05 1.019118784797653e-05 1.006753201372614e-05 9.945003972957807e-06 + 9.823597003224701e-06 9.703304169766936e-06 9.584118614966616e-06 9.466033570975281e-06 9.349042284940899e-06 + 9.233137946012443e-06 9.118313747892748e-06 9.004563126071509e-06 8.891879438415634e-06 8.780255908737012e-06 + 8.669685879934477e-06 8.560162746518096e-06 8.451679906731882e-06 8.344230688978416e-06 8.237808513777729e-06 + 8.132406985376577e-06 8.028019552616531e-06 7.924639629701503e-06 7.822260741691212e-06 7.720876445763237e-06 + 7.620480284148957e-06 7.521065743540658e-06 7.422626477381218e-06 7.325156218634066e-06 7.228648532638821e-06 + 7.133097034958690e-06 7.038495423985100e-06 6.944837416133499e-06 6.852116691729515e-06 6.760326924607246e-06 + 6.669461983453847e-06 6.579515704432944e-06 6.490481806747385e-06 6.402354101863004e-06 6.315126452251840e-06 + 6.228792731669073e-06 6.143346764859859e-06 6.058782435540508e-06 5.975093791198315e-06 5.892274772590937e-06 + 5.810319279027480e-06 5.729221306547671e-06 5.648974882411472e-06 5.569574030477156e-06 5.491012732167998e-06 + 5.413285091010444e-06 5.336385298912571e-06 5.260307420244722e-06 5.185045547999291e-06 5.110593849728286e-06 + 5.036946516955677e-06 4.964097720721464e-06 4.892041619202182e-06 4.820772525961763e-06 4.750284753859853e-06 + 4.680572517390150e-06 4.611630102585562e-06 4.543451844884654e-06 4.476032095169469e-06 4.409365173309600e-06 + 4.343445435493855e-06 4.278267378107974e-06 4.213825432046252e-06 4.150113986510229e-06 4.087127510654963e-06 + 4.024860505544460e-06 3.963307478207591e-06 3.902462905546128e-06 3.842321351732513e-06 3.782877469285005e-06 + 3.724125818875267e-06 3.666060976275786e-06 3.608677584308628e-06 3.551970310325800e-06 3.495933813913828e-06 + 3.440562742860537e-06 3.385851865026623e-06 3.331795968547279e-06 3.278389763636986e-06 3.225628015585682e-06 + 3.173505536483180e-06 3.122017155106099e-06 3.071157684657154e-06 3.020921961442045e-06 2.971304937503200e-06 + 2.922301530764381e-06 2.873906622400171e-06 2.826115159163556e-06 2.778922119160790e-06 2.732322492500433e-06 + 2.686311250918327e-06 2.640883427466542e-06 2.596034137909800e-06 2.551758437600915e-06 2.508051388712647e-06 + 2.464908112415978e-06 2.422323753722291e-06 2.380293459852445e-06 2.338812372063220e-06 2.297875719562253e-06 + 2.257478763762930e-06 2.217616712073996e-06 2.178284811840686e-06 2.139478353112250e-06 2.101192645402220e-06 + 2.063422994293474e-06 2.026164721213360e-06 1.989413239181793e-06 1.953163950788084e-06 1.917412231009713e-06 + 1.882153506609316e-06 1.847383234461138e-06 1.813096887995954e-06 1.779289933937322e-06 1.745957881749227e-06 + 1.713096313387221e-06 1.680700776153704e-06 1.648766820412035e-06 1.617290047665242e-06 1.586266083282953e-06 + 1.555690561349229e-06 1.525559115412809e-06 1.495867444877275e-06 1.466611286844381e-06 1.437786342321971e-06 + 1.409388342689011e-06 1.381413059137875e-06 1.353856283643994e-06 1.326713811980504e-06 1.299981452903499e-06 + 1.273655087535907e-06 1.247730601634883e-06 1.222203862466376e-06 1.197070780161529e-06 1.172327293218336e-06 + 1.147969358200551e-06 1.123992934949297e-06 1.100394014305713e-06 1.077168647815731e-06 1.054312872343777e-06 + 1.031822727943270e-06 1.009694299029158e-06 9.879236928228051e-07 9.665070295488333e-07 9.454404356909418e-07 + 9.247200854784831e-07 9.043421911847067e-07 8.843029477247774e-07 8.645985728173436e-07 8.452253193362285e-07 + 8.261794626052351e-07 8.074572875932502e-07 7.890550921071068e-07 7.709692301619030e-07 7.531960701353248e-07 + 7.357319715620587e-07 7.185733287203112e-07 7.017165630618881e-07 6.851581162834306e-07 6.688944388625421e-07 + 6.529220052598067e-07 6.372373411274385e-07 6.218369717692920e-07 6.067174274527125e-07 5.918752755194360e-07 + 5.773071063798692e-07 5.630095271034721e-07 5.489791556312369e-07 5.352126455394792e-07 5.217066864180125e-07 + 5.084579644193884e-07 4.954631845887763e-07 4.827190834887087e-07 4.702224204045173e-07 4.579699684713550e-07 + 4.459585154334098e-07 4.341848919935187e-07 4.226459485782965e-07 4.113385363883691e-07 4.002595352312233e-07 + 3.894058504065020e-07 3.787744086301839e-07 3.683621500987016e-07 3.581660355932383e-07 3.481830676805770e-07 + 3.384102581524441e-07 3.288446273745833e-07 3.194832275224818e-07 3.103231330843525e-07 3.013614373207315e-07 + 2.925952486098954e-07 2.840217031010630e-07 2.756379695267500e-07 2.674412234106971e-07 2.594286576386206e-07 + 2.515974937029081e-07 2.439449754383926e-07 2.364683632309526e-07 2.291649345383248e-07 2.220320002407473e-07 + 2.150668931442167e-07 2.082669548865648e-07 2.016295514473211e-07 1.951520727682157e-07 1.888319311586693e-07 + 1.826665552837694e-07 1.766533931743509e-07 1.707899271779558e-07 1.650736547045015e-07 1.595020857916059e-07 + 1.540727581256184e-07 1.487832309302349e-07 1.436310837043274e-07 1.386139140291348e-07 1.337293426531939e-07 + 1.289750194034745e-07 1.243486077550924e-07 1.198477884856861e-07 1.154702687444825e-07 1.112137774078364e-07 + 1.070760615754017e-07 1.030548878714015e-07 9.914804983102429e-08 9.535336319532080e-08 9.166865877274502e-08 + 8.809178921148019e-08 8.462062987184363e-08 8.125307865123530e-08 7.798705169188094e-08 7.482048486743137e-08 + 7.175134265372113e-08 6.877760756933380e-08 6.589727849023001e-08 6.310837918621049e-08 6.040895419177239e-08 + 5.779706919084610e-08 5.527080986023133e-08 5.282828275733461e-08 5.046762055622123e-08 4.818697371034567e-08 + 4.598451068334482e-08 4.385842456607357e-08 4.180692971968811e-08 3.982825980405518e-08 3.792066966127786e-08 + 3.608243718277188e-08 3.431186206040581e-08 3.260726312426322e-08 3.096697968233847e-08 2.938937298745983e-08 + 2.787282684203093e-08 2.641574418968914e-08 2.501654849393015e-08 2.367368813134603e-08 2.238563078881267e-08 + 2.115086344400587e-08 1.996789606940446e-08 1.883525886916157e-08 1.775150390948272e-08 1.671520402936120e-08 + 1.572495208680648e-08 1.477936511938296e-08 1.387707990026544e-08 1.301675220490221e-08 1.219706138041649e-08 + 1.141670750179082e-08 1.067441065312196e-08 9.968913113355902e-09 9.298978133402818e-09 8.663390331238368e-09 + 8.060955677291694e-09 7.490500025975069e-09 6.950870854385858e-09 6.440937996309972e-09 5.959590797852082e-09 + 5.505739944416565e-09 5.078318901633865e-09 4.676280806472903e-09 4.298600029449081e-09 3.944272776496124e-09 + 3.612315204086912e-09 3.301765808464261e-09 3.011683971683484e-09 2.741149022073358e-09 2.489263438950313e-09 + 2.255150010734707e-09 2.037951439802415e-09 1.836833426869985e-09 1.650981924522248e-09 1.479603458288696e-09 + 1.321927088896133e-09 1.177201927023745e-09 1.044698361371603e-09 9.237089042804517e-10 8.135457713165132e-10 + 7.135428727606122e-10 6.230561233086797e-10 5.414610837010692e-10 4.681552957722881e-10 4.025579739718386e-10 + 3.441080911031397e-10 2.922668865200973e-10 2.465167169238545e-10 2.063598966733955e-10 1.713213823559041e-10 + 1.409467301732644e-10 1.148017117805301e-10 9.247489436372923e-11 7.357503403670199e-11 5.773147403071901e-11 + 4.459623415664643e-11 3.384125546419585e-11 2.515956035071991e-11 1.826656159304613e-11 1.289741553721677e-11 + 8.808852910154413e-12 5.779611749592996e-12 3.608107240050744e-12 2.114775563702074e-12 1.141629414770904e-12 + 5.504076981088132e-13 2.252028793998774e-13 7.135404618680312e-14 1.400208835054596e-14 2.858282411901289e-16 + 0.000000000000000e+00 3.280907692410757e+00 6.559093802140417e+00 9.834554467967374e+00 1.310728583537977e+01 + 1.637728405657552e+01 1.964454529046227e+01 2.290906570265743e+01 2.617084146548816e+01 2.942986875799139e+01 + 3.268614376591378e+01 3.593966268171175e+01 3.919042170455148e+01 4.243841704030890e+01 4.568364490156970e+01 + 4.892610150762930e+01 5.216578308449292e+01 5.540268586487547e+01 5.863680608820168e+01 6.186814000060598e+01 + 6.509668385493259e+01 6.832243391073550e+01 7.154538643427834e+01 7.476553769853463e+01 7.798288398318758e+01 + 8.119742157463018e+01 8.440914676596513e+01 8.761805585700493e+01 9.082414515427180e+01 9.402741097099775e+01 + 9.722784962712448e+01 1.004254574493035e+02 1.036202307708961e+02 1.068121659319733e+02 1.100012592793157e+02 + 1.131875071664140e+02 1.163709059534683e+02 1.195514520073887e+02 1.227291417017950e+02 1.259039714170167e+02 + 1.290759375400930e+02 1.322450364647731e+02 1.354112645915156e+02 1.385746183274891e+02 1.417350940865720e+02 + 1.448926882893522e+02 1.480473973631275e+02 1.511992177419055e+02 1.543481458664036e+02 1.574941781840487e+02 + 1.606373111489777e+02 1.637775412220371e+02 1.669148648707833e+02 1.700492785694823e+02 1.731807787991100e+02 + 1.763093620473519e+02 1.794350248086033e+02 1.825577635839695e+02 1.856775748812652e+02 1.887944552150149e+02 + 1.919084011064531e+02 1.950194090835239e+02 1.981274756808810e+02 2.012325974398883e+02 2.043347709086188e+02 + 2.074339926418558e+02 2.105302592010923e+02 2.136235671545306e+02 2.167139130770834e+02 2.198012935503726e+02 + 2.228857051627302e+02 2.259671445091978e+02 2.290456081915269e+02 2.321210928181784e+02 2.351935950043234e+02 + 2.382631113718425e+02 2.413296385493261e+02 2.443931731720744e+02 2.474537118820972e+02 2.505112513281143e+02 + 2.535657881655549e+02 2.566173190565586e+02 2.596658406699738e+02 2.627113496813596e+02 2.657538427729843e+02 + 2.687933166338259e+02 2.718297679595726e+02 2.748631934526219e+02 2.778935898220815e+02 2.809209537837683e+02 + 2.839452820602094e+02 2.869665713806416e+02 2.899848184810112e+02 2.930000201039745e+02 2.960121729988974e+02 + 2.990212739218558e+02 3.020273196356349e+02 3.050303069097302e+02 3.080302325203465e+02 3.110270932503987e+02 + 3.140208858895110e+02 3.170116072340180e+02 3.199992540869634e+02 3.229838232581013e+02 3.259653115638948e+02 + 3.289437158275174e+02 3.319190328788521e+02 3.348912595544916e+02 3.378603926977383e+02 3.408264291586049e+02 + 3.437893657938130e+02 3.467491994667945e+02 3.497059270476910e+02 3.526595454133537e+02 3.556100514473437e+02 + 3.585574420399318e+02 3.615017140880985e+02 3.644428644955341e+02 3.673808901726388e+02 3.703157880365222e+02 + 3.732475550110041e+02 3.761761880266134e+02 3.791016840205897e+02 3.820240399368814e+02 3.849432527261474e+02 + 3.878593193457557e+02 3.907722367597846e+02 3.936820019390219e+02 3.965886118609651e+02 3.994920635098217e+02 + 4.023923538765087e+02 4.052894799586530e+02 4.081834387605912e+02 4.110742272933696e+02 4.139618425747443e+02 + 4.168462816291812e+02 4.197275414878559e+02 4.226056191886540e+02 4.254805117761704e+02 4.283522163017099e+02 + 4.312207298232872e+02 4.340860494056267e+02 4.369481721201628e+02 4.398070950450389e+02 4.426628152651090e+02 + 4.455153298719365e+02 4.483646359637945e+02 4.512107306456656e+02 4.540536110292430e+02 4.568932742329288e+02 + 4.597297173818351e+02 4.625629376077841e+02 4.653929320493071e+02 4.682196978516460e+02 4.710432321667516e+02 + 4.738635321532851e+02 4.766805949766169e+02 4.794944178088276e+02 4.823049978287075e+02 4.851123322217564e+02 + 4.879164181801841e+02 4.907172529029099e+02 4.935148335955632e+02 4.963091574704831e+02 4.991002217467178e+02 + 5.018880236500261e+02 5.046725604128764e+02 5.074538292744463e+02 5.102318274806237e+02 5.130065522840063e+02 + 5.157780009439010e+02 5.185461707263250e+02 5.213110589040049e+02 5.240726627563774e+02 5.268309795695885e+02 + 5.295860066364945e+02 5.323377412566609e+02 5.350861807363634e+02 5.378313223885873e+02 5.405731635330272e+02 + 5.433117014960885e+02 5.460469336108854e+02 5.487788572172420e+02 5.515074696616928e+02 5.542327682974811e+02 + 5.569547504845609e+02 5.596734135895950e+02 5.623887549859570e+02 5.651007720537292e+02 5.678094621797045e+02 + 5.705148227573850e+02 5.732168511869830e+02 5.759155448754203e+02 5.786109012363282e+02 5.813029176900482e+02 + 5.839915916636313e+02 5.866769205908384e+02 5.893589019121401e+02 5.920375330747167e+02 5.947128115324583e+02 + 5.973847347459648e+02 6.000533001825459e+02 6.027185053162206e+02 6.053803476277183e+02 6.080388246044777e+02 + 6.106939337406476e+02 6.133456725370861e+02 6.159940385013617e+02 6.186390291477520e+02 6.212806419972447e+02 + 6.239188745775372e+02 6.265537244230364e+02 6.291851890748597e+02 6.318132660808333e+02 6.344379529954938e+02 + 6.370592473800871e+02 6.396771468025696e+02 6.422916488376064e+02 6.449027510665734e+02 6.475104510775553e+02 + 6.501147464653474e+02 6.527156348314542e+02 6.553131137840901e+02 6.579071809381794e+02 6.604978339153558e+02 + 6.630850703439634e+02 6.656688878590552e+02 6.682492841023947e+02 6.708262567224546e+02 6.733998033744177e+02 + 6.759699217201766e+02 6.785366094283333e+02 6.810998641742000e+02 6.836596836397980e+02 6.862160655138592e+02 + 6.887690074918247e+02 6.913185072758453e+02 6.938645625747821e+02 6.964071711042051e+02 6.989463305863949e+02 + 7.014820387503412e+02 7.040142933317441e+02 7.065430920730126e+02 7.090684327232666e+02 7.115903130383348e+02 + 7.141087307807558e+02 7.166236837197782e+02 7.191351696313601e+02 7.216431862981700e+02 7.241477315095852e+02 + 7.266488030616937e+02 7.291463987572921e+02 7.316405164058881e+02 7.341311538236981e+02 7.366183088336488e+02 + 7.391019792653765e+02 7.415821629552270e+02 7.440588577462564e+02 7.465320614882301e+02 7.490017720376235e+02 + 7.514679872576214e+02 7.539307050181191e+02 7.563899231957208e+02 7.588456396737411e+02 7.612978523422037e+02 + 7.637465590978424e+02 7.661917578441014e+02 7.686334464911333e+02 7.710716229558018e+02 7.735062851616793e+02 + 7.759374310390485e+02 7.783650585249019e+02 7.807891655629417e+02 7.832097501035795e+02 7.856268101039369e+02 + 7.880403435278453e+02 7.904503483458460e+02 7.928568225351897e+02 7.952597640798369e+02 7.976591709704585e+02 + 8.000550412044341e+02 8.024473727858536e+02 8.048361637255169e+02 8.072214120409334e+02 8.096031157563222e+02 + 8.119812729026120e+02 8.143558815174417e+02 8.167269396451593e+02 8.190944453368236e+02 8.214583966502021e+02 + 8.238187916497725e+02 8.261756284067224e+02 8.285289049989487e+02 8.308786195110586e+02 8.332247700343684e+02 + 8.355673546669050e+02 8.379063715134042e+02 8.402418186853124e+02 8.425736943007848e+02 8.449019964846872e+02 + 8.472267233685945e+02 8.495478730907921e+02 8.518654437962743e+02 8.541794336367457e+02 8.564898407706205e+02 + 8.587966633630226e+02 8.610998995857861e+02 8.633995476174539e+02 8.656956056432798e+02 8.679880718552264e+02 + 8.702769444519665e+02 8.725622216388828e+02 8.748439016280670e+02 8.771219826383219e+02 8.793964628951586e+02 + 8.816673406307990e+02 8.839346140841741e+02 8.861982815009252e+02 8.884583411334027e+02 8.907147912406675e+02 + 8.929676300884897e+02 8.952168559493493e+02 8.974624671024361e+02 8.997044618336495e+02 9.019428384355992e+02 + 9.041775952076036e+02 9.064087304556922e+02 9.086362424926032e+02 9.108601296377846e+02 9.130803902173951e+02 + 9.152970225643020e+02 9.175100250180832e+02 9.197193959250255e+02 9.219251336381268e+02 9.241272365170935e+02 + 9.263257029283417e+02 9.285205312449986e+02 9.307117198468995e+02 9.328992671205907e+02 9.350831714593277e+02 + 9.372634312630761e+02 9.394400449385104e+02 9.416130108990160e+02 9.437823275646871e+02 9.459479933623287e+02 + 9.481100067254541e+02 9.502683660942876e+02 9.524230699157629e+02 9.545741166435229e+02 9.567215047379214e+02 + 9.588652326660207e+02 9.610052989015940e+02 9.631417019251231e+02 9.652744402238004e+02 9.674035122915279e+02 + 9.695289166289172e+02 9.716506517432896e+02 9.737687161486764e+02 9.758831083658184e+02 9.779938269221661e+02 + 9.801008703518804e+02 9.822042371958310e+02 9.843039260015983e+02 9.863999353234714e+02 9.884922637224498e+02 + 9.905809097662435e+02 9.926658720292703e+02 9.947471490926598e+02 9.968247395442500e+02 9.988986419785891e+02 + 1.000968854996935e+03 1.003035377207256e+03 1.005098207224229e+03 1.007157343669241e+03 1.009212785170389e+03 + 1.011264530362480e+03 1.013312577887031e+03 1.015356926392268e+03 1.017397574533126e+03 1.019434520971252e+03 + 1.021467764375000e+03 1.023497303419437e+03 1.025523136786337e+03 1.027545263164185e+03 1.029563681248175e+03 + 1.031578389740212e+03 1.033589387348909e+03 1.035596672789591e+03 1.037600244784291e+03 1.039600102061752e+03 + 1.041596243357428e+03 1.043588667413480e+03 1.045577372978782e+03 1.047562358808916e+03 1.049543623666173e+03 + 1.051521166319557e+03 1.053494985544777e+03 1.055465080124256e+03 1.057431448847125e+03 1.059394090509224e+03 + 1.061353003913104e+03 1.063308187868025e+03 1.065259641189957e+03 1.067207362701581e+03 1.069151351232285e+03 + 1.071091605618170e+03 1.073028124702043e+03 1.074960907333424e+03 1.076889952368542e+03 1.078815258670335e+03 + 1.080736825108451e+03 1.082654650559248e+03 1.084568733905793e+03 1.086479074037864e+03 1.088385669851947e+03 + 1.090288520251241e+03 1.092187624145651e+03 1.094082980451794e+03 1.095974588092995e+03 1.097862445999292e+03 + 1.099746553107428e+03 1.101626908360861e+03 1.103503510709754e+03 1.105376359110983e+03 1.107245452528133e+03 + 1.109110789931497e+03 1.110972370298081e+03 1.112830192611597e+03 1.114684255862470e+03 1.116534559047833e+03 + 1.118381101171529e+03 1.120223881244111e+03 1.122062898282842e+03 1.123898151311694e+03 1.125729639361349e+03 + 1.127557361469200e+03 1.129381316679347e+03 1.131201504042604e+03 1.133017922616489e+03 1.134830571465235e+03 + 1.136639449659783e+03 1.138444556277782e+03 1.140245890403593e+03 1.142043451128286e+03 1.143837237549640e+03 + 1.145627248772146e+03 1.147413483907002e+03 1.149195942072117e+03 1.150974622392110e+03 1.152749523998310e+03 + 1.154520646028755e+03 1.156287987628192e+03 1.158051547948079e+03 1.159811326146585e+03 1.161567321388586e+03 + 1.163319532845669e+03 1.165067959696131e+03 1.166812601124979e+03 1.168553456323928e+03 1.170290524491405e+03 + 1.172023804832545e+03 1.173753296559195e+03 1.175478998889909e+03 1.177200911049953e+03 1.178919032271301e+03 + 1.180633361792637e+03 1.182343898859357e+03 1.184050642723563e+03 1.185753592644071e+03 1.187452747886402e+03 + 1.189148107722792e+03 1.190839671432183e+03 1.192527438300227e+03 1.194211407619287e+03 1.195891578688435e+03 + 1.197567950813455e+03 1.199240523306837e+03 1.200909295487783e+03 1.202574266682204e+03 1.204235436222721e+03 + 1.205892803448666e+03 1.207546367706079e+03 1.209196128347710e+03 1.210842084733019e+03 1.212484236228177e+03 + 1.214122582206062e+03 1.215757122046265e+03 1.217387855135084e+03 1.219014780865528e+03 1.220637898637316e+03 + 1.222257207856876e+03 1.223872707937346e+03 1.225484398298575e+03 1.227092278367119e+03 1.228696347576247e+03 + 1.230296605365935e+03 1.231893051182870e+03 1.233485684480449e+03 1.235074504718779e+03 1.236659511364675e+03 + 1.238240703891664e+03 1.239818081779981e+03 1.241391644516571e+03 1.242961391595090e+03 1.244527322515903e+03 + 1.246089436786084e+03 1.247647733919417e+03 1.249202213436398e+03 1.250752874864230e+03 1.252299717736826e+03 + 1.253842741594810e+03 1.255381945985516e+03 1.256917330462986e+03 1.258448894587972e+03 1.259976637927938e+03 + 1.261500560057056e+03 1.263020660556207e+03 1.264536939012984e+03 1.266049395021687e+03 1.267558028183329e+03 + 1.269062838105629e+03 1.270563824403019e+03 1.272060986696640e+03 1.273554324614341e+03 1.275043837790682e+03 + 1.276529525866934e+03 1.278011388491075e+03 1.279489425317796e+03 1.280963636008494e+03 1.282434020231280e+03 + 1.283900577660971e+03 1.285363307979095e+03 1.286822210873891e+03 1.288277286040307e+03 1.289728533179999e+03 + 1.291175952001336e+03 1.292619542219393e+03 1.294059303555960e+03 1.295495235739530e+03 1.296927338505312e+03 + 1.298355611595221e+03 1.299780054757883e+03 1.301200667748633e+03 1.302617450329516e+03 1.304030402269289e+03 + 1.305439523343415e+03 1.306844813334069e+03 1.308246272030136e+03 1.309643899227210e+03 1.311037694727594e+03 + 1.312427658340302e+03 1.313813789881058e+03 1.315196089172293e+03 1.316574556043153e+03 1.317949190329488e+03 + 1.319319991873862e+03 1.320686960525546e+03 1.322050096140523e+03 1.323409398581483e+03 1.324764867717829e+03 + 1.326116503425671e+03 1.327464305587830e+03 1.328808274093838e+03 1.330148408839934e+03 1.331484709729068e+03 + 1.332817176670901e+03 1.334145809581802e+03 1.335470608384850e+03 1.336791573009835e+03 1.338108703393256e+03 + 1.339421999478320e+03 1.340731461214948e+03 1.342037088559766e+03 1.343338881476113e+03 1.344636839934036e+03 + 1.345930963910293e+03 1.347221253388351e+03 1.348507708358388e+03 1.349790328817288e+03 1.351069114768650e+03 + 1.352344066222779e+03 1.353615183196692e+03 1.354882465714113e+03 1.356145913805479e+03 1.357405527507935e+03 + 1.358661306865335e+03 1.359913251928245e+03 1.361161362753938e+03 1.362405639406399e+03 1.363646081956323e+03 + 1.364882690481112e+03 1.366115465064880e+03 1.367344405798451e+03 1.368569512779358e+03 1.369790786111843e+03 + 1.371008225906858e+03 1.372221832282067e+03 1.373431605361840e+03 1.374637545277261e+03 1.375839652166119e+03 + 1.377037926172918e+03 1.378232367448867e+03 1.379422976151887e+03 1.380609752446609e+03 1.381792696504374e+03 + 1.382971808503231e+03 1.384147088627939e+03 1.385318537069970e+03 1.386486154027501e+03 1.387649939705423e+03 + 1.388809894315333e+03 1.389966018075540e+03 1.391118311211063e+03 1.392266773953630e+03 1.393411406541678e+03 + 1.394552209220356e+03 1.395689182241520e+03 1.396822325863737e+03 1.397951640352285e+03 1.399077125979150e+03 + 1.400198783023028e+03 1.401316611769325e+03 1.402430612510158e+03 1.403540785544351e+03 1.404647131177441e+03 + 1.405749649721672e+03 1.406848341496000e+03 1.407943206826088e+03 1.409034246044311e+03 1.410121459489754e+03 + 1.411204847508209e+03 1.412284410452182e+03 1.413360148680885e+03 1.414432062560241e+03 1.415500152462884e+03 + 1.416564418768155e+03 1.417624861862108e+03 1.418681482137504e+03 1.419734279993815e+03 1.420783255837224e+03 + 1.421828410080621e+03 1.422869743143608e+03 1.423907255452495e+03 1.424940947440303e+03 1.425970819546763e+03 + 1.426996872218314e+03 1.428019105908108e+03 1.429037521076003e+03 1.430052118188569e+03 1.431062897719085e+03 + 1.432069860147540e+03 1.433073005960632e+03 1.434072335651771e+03 1.435067849721075e+03 1.436059548675370e+03 + 1.437047433028196e+03 1.438031503299800e+03 1.439011760017138e+03 1.439988203713878e+03 1.440960834930396e+03 + 1.441929654213780e+03 1.442894662117825e+03 1.443855859203037e+03 1.444813246036631e+03 1.445766823192535e+03 + 1.446716591251382e+03 1.447662550800518e+03 1.448604702433997e+03 1.449543046752585e+03 1.450477584363755e+03 + 1.451408315881691e+03 1.452335241927287e+03 1.453258363128147e+03 1.454177680118583e+03 1.455093193539620e+03 + 1.456004904038989e+03 1.456912812271134e+03 1.457816918897206e+03 1.458717224585068e+03 1.459613730009291e+03 + 1.460506435851157e+03 1.461395342798658e+03 1.462280451546494e+03 1.463161762796076e+03 1.464039277255525e+03 + 1.464912995639670e+03 1.465782918670054e+03 1.466649047074924e+03 1.467511381589240e+03 1.468369922954673e+03 + 1.469224671919600e+03 1.470075629239112e+03 1.470922795675006e+03 1.471766171995790e+03 1.472605758976684e+03 + 1.473441557399614e+03 1.474273568053219e+03 1.475101791732846e+03 1.475926229240551e+03 1.476746881385102e+03 + 1.477563748981976e+03 1.478376832853358e+03 1.479186133828146e+03 1.479991652741944e+03 1.480793390437068e+03 + 1.481591347762545e+03 1.482385525574108e+03 1.483175924734204e+03 1.483962546111986e+03 1.484745390583318e+03 + 1.485524459030776e+03 1.486299752343644e+03 1.487071271417914e+03 1.487839017156289e+03 1.488602990468185e+03 + 1.489363192269722e+03 1.490119623483735e+03 1.490872285039765e+03 1.491621177874064e+03 1.492366302929595e+03 + 1.493107661156030e+03 1.493845253509749e+03 1.494579080953843e+03 1.495309144458115e+03 1.496035444999074e+03 + 1.496757983559942e+03 1.497476761130647e+03 1.498191778707831e+03 1.498903037294843e+03 1.499610537901742e+03 + 1.500314281545298e+03 1.501014269248990e+03 1.501710502043006e+03 1.502402980964245e+03 1.503091707056315e+03 + 1.503776681369534e+03 1.504457904960931e+03 1.505135378894241e+03 1.505809104239914e+03 1.506479082075105e+03 + 1.507145313483682e+03 1.507807799556220e+03 1.508466541390007e+03 1.509121540089038e+03 1.509772796764020e+03 + 1.510420312532367e+03 1.511064088518205e+03 1.511704125852369e+03 1.512340425672404e+03 1.512972989122564e+03 + 1.513601817353814e+03 1.514226911523828e+03 1.514848272796989e+03 1.515465902344391e+03 1.516079801343838e+03 + 1.516689970979842e+03 1.517296412443626e+03 1.517899126933124e+03 1.518498115652977e+03 1.519093379814537e+03 + 1.519684920635866e+03 1.520272739341736e+03 1.520856837163628e+03 1.521437215339733e+03 1.522013875114953e+03 + 1.522586817740897e+03 1.523156044475887e+03 1.523721556584951e+03 1.524283355339831e+03 1.524841442018975e+03 + 1.525395817907543e+03 1.525946484297405e+03 1.526493442487138e+03 1.527036693782033e+03 1.527576239494086e+03 + 1.528112080942007e+03 1.528644219451213e+03 1.529172656353831e+03 1.529697392988700e+03 1.530218430701367e+03 + 1.530735770844087e+03 1.531249414775829e+03 1.531759363862268e+03 1.532265619475790e+03 1.532768182995492e+03 + 1.533267055807180e+03 1.533762239303368e+03 1.534253734883281e+03 1.534741543952856e+03 1.535225667924735e+03 + 1.535706108218275e+03 1.536182866259539e+03 1.536655943481301e+03 1.537125341323045e+03 1.537591061230964e+03 + 1.538053104657961e+03 1.538511473063650e+03 1.538966167914353e+03 1.539417190683102e+03 1.539864542849641e+03 + 1.540308225900420e+03 1.540748241328602e+03 1.541184590634058e+03 1.541617275323370e+03 1.542046296909827e+03 + 1.542471656913432e+03 1.542893356860894e+03 1.543311398285634e+03 1.543725782727782e+03 1.544136511734178e+03 + 1.544543586858370e+03 1.544947009660620e+03 1.545346781707894e+03 1.545742904573873e+03 1.546135379838945e+03 + 1.546524209090207e+03 1.546909393921469e+03 1.547290935933248e+03 1.547668836732771e+03 1.548043097933976e+03 + 1.548413721157510e+03 1.548780708030729e+03 1.549144060187701e+03 1.549503779269201e+03 1.549859866922715e+03 + 1.550212324802440e+03 1.550561154569281e+03 1.550906357890854e+03 1.551247936441483e+03 1.551585891902203e+03 + 1.551920225960758e+03 1.552250940311604e+03 1.552578036655905e+03 1.552901516701533e+03 1.553221382163073e+03 + 1.553537634761818e+03 1.553850276225772e+03 1.554159308289647e+03 1.554464732694865e+03 1.554766551189559e+03 + 1.555064765528572e+03 1.555359377473454e+03 1.555650388792468e+03 1.555937801260586e+03 1.556221616659488e+03 + 1.556501836777564e+03 1.556778463409917e+03 1.557051498358356e+03 1.557320943431401e+03 1.557586800444283e+03 + 1.557849071218940e+03 1.558107757584023e+03 1.558362861374890e+03 1.558614384433611e+03 1.558862328608964e+03 + 1.559106695756438e+03 1.559347487738230e+03 1.559584706423249e+03 1.559818353687112e+03 1.560048431412147e+03 + 1.560274941487391e+03 1.560497885808591e+03 1.560717266278204e+03 1.560933084805396e+03 1.561145343306044e+03 + 1.561354043702732e+03 1.561559187924758e+03 1.561760777908126e+03 1.561958815595552e+03 1.562153302936461e+03 + 1.562344241886987e+03 1.562531634409975e+03 1.562715482474979e+03 1.562895788058264e+03 1.563072553142803e+03 + 1.563245779718279e+03 1.563415469781085e+03 1.563581625334326e+03 1.563744248387813e+03 1.563903340958068e+03 + 1.564058905068325e+03 1.564210942748526e+03 1.564359456035321e+03 1.564504446972073e+03 1.564645917608853e+03 + 1.564783870002442e+03 1.564918306216331e+03 1.565049228320720e+03 1.565176638392519e+03 1.565300538515349e+03 + 1.565420930779540e+03 1.565537817282130e+03 1.565651200126870e+03 1.565761081424219e+03 1.565867463291344e+03 + 1.565970347852125e+03 1.566069737237150e+03 1.566165633583717e+03 1.566258039035835e+03 1.566346955744220e+03 + 1.566432385866300e+03 1.566514331566212e+03 1.566592795014803e+03 1.566667778389629e+03 1.566739283874957e+03 + 1.566807313661764e+03 1.566871869947734e+03 1.566932954937263e+03 1.566990570841457e+03 1.567044719878131e+03 + 1.567095404271811e+03 1.567142626253729e+03 1.567186388061831e+03 1.567226691940771e+03 1.567263540141913e+03 + 1.567296934923331e+03 1.567326878549808e+03 1.567353373292836e+03 1.567376421430620e+03 1.567396025248071e+03 + 1.567412187036812e+03 1.567424909095176e+03 1.567434193728203e+03 1.567440043247646e+03 1.567442459971967e+03 + 1.567441446226336e+03 1.567437004342634e+03 1.567429136659453e+03 1.567417845522091e+03 1.567403133282561e+03 + 1.567385002299581e+03 1.567363454938582e+03 1.567338493571702e+03 1.567310120577791e+03 1.567278338342408e+03 + 1.567243149257822e+03 1.567204555723011e+03 1.567162560143663e+03 1.567117164932177e+03 1.567068372507660e+03 + 1.567016185295929e+03 1.566960605729512e+03 1.566901636247646e+03 1.566839279296277e+03 1.566773537328063e+03 + 1.566704412802369e+03 1.566631908185271e+03 1.566556025949555e+03 1.566476768574717e+03 1.566394138546961e+03 + 1.566308138359204e+03 1.566218770511069e+03 1.566126037508891e+03 1.566029941865714e+03 1.565930486101294e+03 + 1.565827672742092e+03 1.565721504321283e+03 1.565611983378751e+03 1.565499112461087e+03 1.565382894121595e+03 + 1.565263330920288e+03 1.565140425423888e+03 1.565014180205826e+03 1.564884597846246e+03 1.564751680931997e+03 + 1.564615432056643e+03 1.564475853820452e+03 1.564332948830408e+03 1.564186719700199e+03 1.564037169050227e+03 + 1.563884299507601e+03 1.563728113706142e+03 1.563568614286379e+03 1.563405803895550e+03 1.563239685187607e+03 + 1.563070260823207e+03 1.562897533469719e+03 1.562721505801220e+03 1.562542180498501e+03 1.562359560249057e+03 + 1.562173647747097e+03 1.561984445693539e+03 1.561791956796009e+03 1.561596183768845e+03 1.561397129333092e+03 + 1.561194796216507e+03 1.560989187153558e+03 1.560780304885418e+03 1.560568152159974e+03 1.560352731731822e+03 + 1.560134046362267e+03 1.559912098819323e+03 1.559686891877715e+03 1.559458428318879e+03 1.559226710930956e+03 + 1.558991742508803e+03 1.558753525853981e+03 1.558512063774766e+03 1.558267359086140e+03 1.558019414609795e+03 + 1.557768233174136e+03 1.557513817614273e+03 1.557256170772030e+03 1.556995295495938e+03 1.556731194641239e+03 + 1.556463871069885e+03 1.556193327650536e+03 1.555919567258564e+03 1.555642592776049e+03 1.555362407091783e+03 + 1.555079013101264e+03 1.554792413706704e+03 1.554502611817021e+03 1.554209610347846e+03 1.553913412221517e+03 + 1.553614020367084e+03 1.553311437720305e+03 1.553005667223649e+03 1.552696711826295e+03 1.552384574484129e+03 + 1.552069258159750e+03 1.551750765822466e+03 1.551429100448294e+03 1.551104265019960e+03 1.550776262526902e+03 + 1.550445095965265e+03 1.550110768337907e+03 1.549773282654394e+03 1.549432641931000e+03 1.549088849190713e+03 + 1.548741907463227e+03 1.548391819784946e+03 1.548038589198987e+03 1.547682218755173e+03 1.547322711510039e+03 + 1.546960070526829e+03 1.546594298875496e+03 1.546225399632705e+03 1.545853375881829e+03 1.545478230712950e+03 + 1.545099967222861e+03 1.544718588515066e+03 1.544334097699777e+03 1.543946497893915e+03 1.543555792221112e+03 + 1.543161983811711e+03 1.542765075802762e+03 1.542365071338026e+03 1.541961973567975e+03 1.541555785649789e+03 + 1.541146510747358e+03 1.540734152031283e+03 1.540318712678874e+03 1.539900195874149e+03 1.539478604807839e+03 + 1.539053942677383e+03 1.538626212686929e+03 1.538195418047336e+03 1.537761561976173e+03 1.537324647697717e+03 + 1.536884678442957e+03 1.536441657449592e+03 1.535995587962026e+03 1.535546473231378e+03 1.535094316515475e+03 + 1.534639121078853e+03 1.534180890192759e+03 1.533719627135150e+03 1.533255335190690e+03 1.532788017650757e+03 + 1.532317677813435e+03 1.531844318983518e+03 1.531367944472514e+03 1.530888557598635e+03 1.530406161686807e+03 + 1.529920760068664e+03 1.529432356082550e+03 1.528940953073517e+03 1.528446554393331e+03 1.527949163400464e+03 + 1.527448783460099e+03 1.526945417944129e+03 1.526439070231157e+03 1.525929743706494e+03 1.525417441762163e+03 + 1.524902167796895e+03 1.524383925216131e+03 1.523862717432025e+03 1.523338547863434e+03 1.522811419935932e+03 + 1.522281337081799e+03 1.521748302740024e+03 1.521212320356308e+03 1.520673393383061e+03 1.520131525279401e+03 + 1.519586719511159e+03 1.519038979550873e+03 1.518488308877793e+03 1.517934710977876e+03 1.517378189343791e+03 + 1.516818747474916e+03 1.516256388877339e+03 1.515691117063858e+03 1.515122935553979e+03 1.514551847873920e+03 + 1.513977857556607e+03 1.513400968141679e+03 1.512821183175479e+03 1.512238506211065e+03 1.511652940808203e+03 + 1.511064490533368e+03 1.510473158959745e+03 1.509878949667230e+03 1.509281866242427e+03 1.508681912278651e+03 + 1.508079091375926e+03 1.507473407140987e+03 1.506864863187277e+03 1.506253463134950e+03 1.505639210610869e+03 + 1.505022109248608e+03 1.504402162688449e+03 1.503779374577385e+03 1.503153748569118e+03 1.502525288324061e+03 + 1.501893997509335e+03 1.501259879798773e+03 1.500622938872914e+03 1.499983178419011e+03 1.499340602131025e+03 + 1.498695213709626e+03 1.498047016862194e+03 1.497396015302820e+03 1.496742212752304e+03 1.496085612938155e+03 + 1.495426219594593e+03 1.494764036462547e+03 1.494099067289655e+03 1.493431315830267e+03 1.492760785845442e+03 + 1.492087481102946e+03 1.491411405377259e+03 1.490732562449567e+03 1.490050956107769e+03 1.489366590146471e+03 + 1.488679468366991e+03 1.487989594577355e+03 1.487296972592300e+03 1.486601606233272e+03 1.485903499328426e+03 + 1.485202655712629e+03 1.484499079227457e+03 1.483792773721193e+03 1.483083743048834e+03 1.482371991072084e+03 + 1.481657521659358e+03 1.480940338685780e+03 1.480220446033183e+03 1.479497847590113e+03 1.478772547251821e+03 + 1.478044548920272e+03 1.477313856504138e+03 1.476580473918802e+03 1.475844405086357e+03 1.475105653935605e+03 + 1.474364224402058e+03 1.473620120427938e+03 1.472873345962177e+03 1.472123904960415e+03 1.471371801385004e+03 + 1.470617039205005e+03 1.469859622396187e+03 1.469099554941032e+03 1.468336840828730e+03 1.467571484055180e+03 + 1.466803488622991e+03 1.466032858541484e+03 1.465259597826687e+03 1.464483710501340e+03 1.463705200594890e+03 + 1.462924072143496e+03 1.462140329190026e+03 1.461353975784058e+03 1.460565015981880e+03 1.459773453846489e+03 + 1.458979293447591e+03 1.458182538861605e+03 1.457383194171656e+03 1.456581263467582e+03 1.455776750845927e+03 + 1.454969660409948e+03 1.454159996269611e+03 1.453347762541590e+03 1.452532963349272e+03 1.451715602822750e+03 + 1.450895685098830e+03 1.450073214321026e+03 1.449248194639563e+03 1.448420630211373e+03 1.447590525200101e+03 + 1.446757883776100e+03 1.445922710116434e+03 1.445085008404874e+03 1.444244782831905e+03 1.443402037594718e+03 + 1.442556776897215e+03 1.441709004950008e+03 1.440858725970420e+03 1.440005944182481e+03 1.439150663816933e+03 + 1.438292889111226e+03 1.437432624309523e+03 1.436569873662692e+03 1.435704641428314e+03 1.434836931870678e+03 + 1.433966749260786e+03 1.433094097876346e+03 1.432218982001777e+03 1.431341405928208e+03 1.430461373953479e+03 + 1.429578890382137e+03 1.428693959525441e+03 1.427806585701360e+03 1.426916773234569e+03 1.426024526456458e+03 + 1.425129849705122e+03 1.424232747325370e+03 1.423333223668719e+03 1.422431283093393e+03 1.421526929964331e+03 + 1.420620168653178e+03 1.419711003538289e+03 1.418799439004731e+03 1.417885479444278e+03 1.416969129255415e+03 + 1.416050392843337e+03 1.415129274619950e+03 1.414205779003866e+03 1.413279910420411e+03 1.412351673301618e+03 + 1.411421072086230e+03 1.410488111219700e+03 1.409552795154193e+03 1.408615128348581e+03 1.407675115268446e+03 + 1.406732760386080e+03 1.405788068180486e+03 1.404841043137375e+03 1.403891689749170e+03 1.402940012515001e+03 + 1.401986015940709e+03 1.401029704538846e+03 1.400071082828672e+03 1.399110155336157e+03 1.398146926593981e+03 + 1.397181401141535e+03 1.396213583524918e+03 1.395243478296938e+03 1.394271090017116e+03 1.393296423251680e+03 + 1.392319482573570e+03 1.391340272562432e+03 1.390358797804626e+03 1.389375062893219e+03 1.388389072427989e+03 + 1.387400831015423e+03 1.386410343268718e+03 1.385417613807782e+03 1.384422647259231e+03 1.383425448256391e+03 + 1.382426021439299e+03 1.381424371454700e+03 1.380420502956051e+03 1.379414420603515e+03 1.378406129063970e+03 + 1.377395633010999e+03 1.376382937124898e+03 1.375368046092671e+03 1.374350964608031e+03 1.373331697371403e+03 + 1.372310249089921e+03 1.371286624477428e+03 1.370260828254477e+03 1.369232865148331e+03 1.368202739892964e+03 + 1.367170457229056e+03 1.366136021904002e+03 1.365099438671902e+03 1.364060712293568e+03 1.363019847536522e+03 + 1.361976849174995e+03 1.360931721989928e+03 1.359884470768972e+03 1.358835100306487e+03 1.357783615403544e+03 + 1.356730020867921e+03 1.355674321514110e+03 1.354616522163310e+03 1.353556627643430e+03 1.352494642789090e+03 + 1.351430572441617e+03 1.350364421449050e+03 1.349296194666138e+03 1.348225896954338e+03 1.347153533181818e+03 + 1.346079108223457e+03 1.345002626960841e+03 1.343924094282267e+03 1.342843515082743e+03 1.341760894263984e+03 + 1.340676236734416e+03 1.339589547409177e+03 1.338500831210112e+03 1.337410093065776e+03 1.336317337911434e+03 + 1.335222570689062e+03 1.334125796347346e+03 1.333027019841677e+03 1.331926246134163e+03 1.330823480193616e+03 + 1.329718726995561e+03 1.328611991522230e+03 1.327503278762568e+03 1.326392593712228e+03 1.325279941373571e+03 + 1.324165326755672e+03 1.323048754874311e+03 1.321930230751983e+03 1.320809759417887e+03 1.319687345907936e+03 + 1.318562995264752e+03 1.317436712537665e+03 1.316308502782716e+03 1.315178371062656e+03 1.314046322446946e+03 + 1.312912362011755e+03 1.311776494839963e+03 1.310638726021160e+03 1.309499060651645e+03 1.308357503834428e+03 + 1.307214060679228e+03 1.306068736302473e+03 1.304921535827301e+03 1.303772464383560e+03 1.302621527107810e+03 + 1.301468729143317e+03 1.300314075640058e+03 1.299157571754721e+03 1.297999222650704e+03 1.296839033498112e+03 + 1.295677009473761e+03 1.294513155761180e+03 1.293347477550602e+03 1.292179980038974e+03 1.291010668429951e+03 + 1.289839547933899e+03 1.288666623767893e+03 1.287491901155716e+03 1.286315385327865e+03 1.285137081521542e+03 + 1.283956994980662e+03 1.282775130955849e+03 1.281591494704436e+03 1.280406091490466e+03 1.279218926584693e+03 + 1.278030005264579e+03 1.276839332814297e+03 1.275646914524728e+03 1.274452755693465e+03 1.273256861624810e+03 + 1.272059237629775e+03 1.270859889026079e+03 1.269658821138155e+03 1.268456039297144e+03 1.267251548840895e+03 + 1.266045355113969e+03 1.264837463467636e+03 1.263627879259876e+03 1.262416607855379e+03 1.261203654625543e+03 + 1.259989024948479e+03 1.258772724209004e+03 1.257554757798647e+03 1.256335131115646e+03 1.255113849564950e+03 + 1.253890918558217e+03 1.252666343513813e+03 1.251440129856817e+03 1.250212283019015e+03 1.248982808438904e+03 + 1.247751711561691e+03 1.246518997839292e+03 1.245284672730334e+03 1.244048741700151e+03 1.242811210220790e+03 + 1.241572083771006e+03 1.240331367836264e+03 1.239089067908740e+03 1.237845189487317e+03 1.236599738077590e+03 + 1.235352719191863e+03 1.234104138349150e+03 1.232854001075175e+03 1.231602312902370e+03 1.230349079369880e+03 + 1.229094306023557e+03 1.227837998415964e+03 1.226580162106373e+03 1.225320802660766e+03 1.224059925651835e+03 + 1.222797536658982e+03 1.221533641268318e+03 1.220268245072664e+03 1.219001353671552e+03 1.217732972671222e+03 + 1.216463107684624e+03 1.215191764331420e+03 1.213918948237977e+03 1.212644665037377e+03 1.211368920369408e+03 + 1.210091719880570e+03 1.208813069224072e+03 1.207532974059833e+03 1.206251440054480e+03 1.204968472881353e+03 + 1.203684078220499e+03 1.202398261758676e+03 1.201111029189351e+03 1.199822386212701e+03 1.198532338535615e+03 + 1.197240891871687e+03 1.195948051941225e+03 1.194653824471246e+03 1.193358215195474e+03 1.192061229854346e+03 + 1.190762874195007e+03 1.189463153971313e+03 1.188162074943828e+03 1.186859642879827e+03 1.185555863553295e+03 + 1.184250742744927e+03 1.182944286242125e+03 1.181636499839004e+03 1.180327389336388e+03 1.179016960541809e+03 + 1.177705219269511e+03 1.176392171340446e+03 1.175077822582277e+03 1.173762178829377e+03 1.172445245922827e+03 + 1.171127029710419e+03 1.169807536046655e+03 1.168486770792745e+03 1.167164739816612e+03 1.165841448992886e+03 + 1.164516904202907e+03 1.163191111334726e+03 1.161864076283103e+03 1.160535804949508e+03 1.159206303242120e+03 + 1.157875577075829e+03 1.156543632372233e+03 1.155210475059642e+03 1.153876111073074e+03 1.152540546354257e+03 + 1.151203786851631e+03 1.149865838520342e+03 1.148526707322247e+03 1.147186399225916e+03 1.145844920206624e+03 + 1.144502276246358e+03 1.143158473333815e+03 1.141813517464402e+03 1.140467414640234e+03 1.139120170870139e+03 + 1.137771792169650e+03 1.136422284561014e+03 1.135071654073185e+03 1.133719906741829e+03 1.132367048609320e+03 + 1.131013085724743e+03 1.129658024143891e+03 1.128301869929270e+03 1.126944629150092e+03 1.125586307882280e+03 + 1.124226912208469e+03 1.122866448218001e+03 1.121504922006928e+03 1.120142339678013e+03 1.118778707340729e+03 + 1.117414031111256e+03 1.116048317112488e+03 1.114681571474025e+03 1.113313800332179e+03 1.111945009829970e+03 + 1.110575206117129e+03 1.109204395350097e+03 1.107832583692024e+03 1.106459777312770e+03 1.105085982388904e+03 + 1.103711205103706e+03 1.102335451647166e+03 1.100958728215983e+03 1.099581041013564e+03 1.098202396250028e+03 + 1.096822800142205e+03 1.095442258913632e+03 1.094060778794555e+03 1.092678366021934e+03 1.091295026839436e+03 + 1.089910767497437e+03 1.088525594253023e+03 1.087139513369993e+03 1.085752531118851e+03 1.084364653776815e+03 + 1.082975887627809e+03 1.081586238962469e+03 1.080195714078142e+03 1.078804319278880e+03 1.077412060875450e+03 + 1.076018945185327e+03 1.074624978532693e+03 1.073230167248444e+03 1.071834517670182e+03 1.070438036142223e+03 + 1.069040729015589e+03 1.067642602648012e+03 1.066243663403937e+03 1.064843917654515e+03 1.063443371777609e+03 + 1.062042032157791e+03 1.060639905186343e+03 1.059236997261256e+03 1.057833314787232e+03 1.056428864175682e+03 + 1.055023651844726e+03 1.053617684219196e+03 1.052210967730631e+03 1.050803508817282e+03 1.049395313897890e+03 + 1.047986388534756e+03 1.046576737255851e+03 1.045166364529164e+03 1.043755274824231e+03 1.042343472612131e+03 + 1.040930962365484e+03 1.039517748558457e+03 1.038103835666756e+03 1.036689228167636e+03 1.035273930539893e+03 + 1.033857947263865e+03 1.032441282821436e+03 1.031023941696033e+03 1.029605928372625e+03 1.028187247337727e+03 + 1.026767903079397e+03 1.025347900087235e+03 1.023927242852386e+03 1.022505935867538e+03 1.021083983626923e+03 + 1.019661390626317e+03 1.018238161363038e+03 1.016814300335948e+03 1.015389812045455e+03 1.013964700993507e+03 + 1.012538971683598e+03 1.011112628620765e+03 1.009685676311588e+03 1.008258119264191e+03 1.006829961988242e+03 + 1.005401208994952e+03 1.003971864797076e+03 1.002541933908912e+03 1.001111420846301e+03 9.996803301266303e+02 + 9.982486662688275e+02 9.968164337933661e+02 9.953836372222621e+02 9.939502810790750e+02 9.925163698889086e+02 + 9.910819081784098e+02 9.896469004757686e+02 9.882113513107199e+02 9.867752652145410e+02 9.853386467200531e+02 + 9.839015003616214e+02 9.824638306751541e+02 9.810256421981031e+02 9.795869394694643e+02 9.781477270297768e+02 + 9.767080094211232e+02 9.752677911871300e+02 9.738270768729670e+02 9.723858710253478e+02 9.709441781925295e+02 + 9.695020029243127e+02 9.680593497720415e+02 9.666162232886040e+02 9.651726280284314e+02 9.637285685474986e+02 + 9.622840494033246e+02 9.608390751549712e+02 9.593936503630440e+02 9.579477795896925e+02 9.565014673986094e+02 + 9.550547183550314e+02 9.536075370257383e+02 9.521599279790540e+02 9.507118957848456e+02 9.492634450145238e+02 + 9.478145802410424e+02 9.463653060389005e+02 9.449156269841388e+02 9.434655476543426e+02 9.420150726286407e+02 + 9.405642064877048e+02 9.391129538137513e+02 9.376613191905399e+02 9.362093072033728e+02 9.347569224390970e+02 + 9.333041694861028e+02 9.318510529343232e+02 9.303975773752362e+02 9.289437474018629e+02 9.274895676087672e+02 + 9.260350425920570e+02 9.245801769493847e+02 9.231249752799448e+02 9.216694421844763e+02 9.202135822652619e+02 + 9.187574001261273e+02 9.173009003724419e+02 9.158440876111187e+02 9.143869664506148e+02 9.129295415009306e+02 + 9.114718173736089e+02 9.100137986817383e+02 9.085554900399494e+02 9.070968960644165e+02 9.056380213728581e+02 + 9.041788705845360e+02 9.027194483202552e+02 9.012597592023648e+02 8.997998078547574e+02 8.983395989028686e+02 + 8.968791369736786e+02 8.954184266957105e+02 8.939574726990309e+02 8.924962796152502e+02 8.910348520775226e+02 + 8.895731947205452e+02 8.881113121805595e+02 8.866492090953504e+02 8.851868901042455e+02 8.837243598481174e+02 + 8.822616229693809e+02 8.807986841119955e+02 8.793355479214636e+02 8.778722190448314e+02 8.764087021306887e+02 + 8.749450018291686e+02 8.734811227919481e+02 8.720170696722481e+02 8.705528471248323e+02 8.690884598060085e+02 + 8.676239123736278e+02 8.661592094870851e+02 8.646943558073189e+02 8.632293559968109e+02 8.617642147195870e+02 + 8.602989366412162e+02 8.588335264288111e+02 8.573679887510280e+02 8.559023282780669e+02 8.544365496816713e+02 + 8.529706576351281e+02 8.515046568132680e+02 8.500385518924651e+02 8.485723475506371e+02 8.471060484672456e+02 + 8.456396593232956e+02 8.441731848013352e+02 8.427066295854568e+02 8.412399983612960e+02 8.397732958160319e+02 + 8.383065266383875e+02 8.368396955186294e+02 8.353728071485672e+02 8.339058662215547e+02 8.324388774324890e+02 + 8.309718454778108e+02 8.295047750555044e+02 8.280376708650979e+02 8.265705376076626e+02 8.251033799858133e+02 + 8.236362027037090e+02 8.221690104670519e+02 8.207018079830875e+02 8.192345999606056e+02 8.177673911099388e+02 + 8.163001861429635e+02 8.148329897731001e+02 8.133658067153123e+02 8.118986416861073e+02 8.104314994035359e+02 + 8.089643845871925e+02 8.074973019582153e+02 8.060302562392853e+02 8.045632521546285e+02 8.030962944300132e+02 + 8.016293877927517e+02 8.001625369717000e+02 7.986957466972576e+02 7.972290217013673e+02 7.957623667175162e+02 + 7.942957864807344e+02 7.928292857275953e+02 7.913628691962167e+02 7.898965416262595e+02 7.884303077589279e+02 + 7.869641723369706e+02 7.854981401046790e+02 7.840322158078881e+02 7.825664041939773e+02 7.811007100118686e+02 + 7.796351380120283e+02 7.781696929464658e+02 7.767043795687346e+02 7.752392026339312e+02 7.737741668986956e+02 + 7.723092771212124e+02 7.708445380612087e+02 7.693799544799557e+02 7.679155311402681e+02 7.664512728065041e+02 + 7.649871842445651e+02 7.635232702218972e+02 7.620595355074889e+02 7.605959848718730e+02 7.591326230871256e+02 + 7.576694549268664e+02 7.562064851662584e+02 7.547437185820088e+02 7.532811599523681e+02 7.518188140571300e+02 + 7.503566856776325e+02 7.488947795967565e+02 7.474331005989271e+02 7.459716534701122e+02 7.445104429978242e+02 + 7.430494739711182e+02 7.415887511805935e+02 7.401282794183929e+02 7.386680634782024e+02 7.372081081552518e+02 + 7.357484182463149e+02 7.342889985497084e+02 7.328298538652926e+02 7.313709889944722e+02 7.299124087401947e+02 + 7.284541179069513e+02 7.269961213007771e+02 7.255384237292504e+02 7.240810300014931e+02 7.226239449281712e+02 + 7.211671733214938e+02 7.197107199952134e+02 7.182545897646269e+02 7.167987874465738e+02 7.153433178594373e+02 + 7.138881858231457e+02 7.124333961591685e+02 7.109789536905207e+02 7.095248632417597e+02 7.080711296389870e+02 + 7.066177577098478e+02 7.051647522835304e+02 7.037121181907675e+02 7.022598602638342e+02 7.008079833365500e+02 + 6.993564922442782e+02 6.979053918239249e+02 6.964546869139400e+02 6.950043823543177e+02 6.935544829865950e+02 + 6.921049936538523e+02 6.906559192007142e+02 6.892072644733491e+02 6.877590343194680e+02 6.863112335883264e+02 + 6.848638671307228e+02 6.834169397989994e+02 6.819704564470420e+02 6.805244219302806e+02 6.790788411056876e+02 + 6.776337188317796e+02 6.761890599686175e+02 6.747448693778041e+02 6.733011519224871e+02 6.718579124673579e+02 + 6.704151558786504e+02 6.689728870241429e+02 6.675311107731571e+02 6.660898319965579e+02 6.646490555667547e+02 + 6.632087863576994e+02 6.617690292448882e+02 6.603297891053608e+02 6.588910708177000e+02 6.574528792620325e+02 + 6.560152193200289e+02 6.545780958749028e+02 6.531415138114120e+02 6.517054780158572e+02 6.502699933760831e+02 + 6.488350647814780e+02 6.474006971229736e+02 6.459668952930450e+02 6.445336641857116e+02 6.431010086965356e+02 + 6.416689337226230e+02 6.402374441626239e+02 6.388065449167315e+02 6.373762408866819e+02 6.359465369757564e+02 + 6.345174380887786e+02 6.330889491321157e+02 6.316610750136796e+02 6.302338206429247e+02 6.288071909308491e+02 + 6.273811907899951e+02 6.259558251344477e+02 6.245310988798360e+02 6.231070169433332e+02 6.216835842436550e+02 + 6.202608057010611e+02 6.188386862373554e+02 6.174172307758844e+02 6.159964442415383e+02 6.145763315607522e+02 + 6.131568976615030e+02 6.117381474733122e+02 6.103200859272448e+02 6.089027179559087e+02 6.074860484934565e+02 + 6.060700824755835e+02 6.046548248395288e+02 6.032402805240755e+02 6.018264544695495e+02 6.004133516178208e+02 + 5.990009769123031e+02 5.975893352979532e+02 5.961784317212720e+02 5.947682711303036e+02 5.933588584746357e+02 + 5.919501987053994e+02 5.905422967752705e+02 5.891351576384668e+02 5.877287862507508e+02 5.863231875694282e+02 + 5.849183665533477e+02 5.835143281629030e+02 5.821110773600302e+02 5.807086191082091e+02 5.793069583724634e+02 + 5.779061001193606e+02 5.765060493170109e+02 5.751068109350690e+02 5.737083899447330e+02 5.723107913187440e+02 + 5.709140200313871e+02 5.695180810584912e+02 5.681229793774282e+02 5.667287199671144e+02 5.653353078080089e+02 + 5.639427478821145e+02 5.625510451729782e+02 5.611602046656897e+02 5.597702313468828e+02 5.583811302047351e+02 + 5.569929062289672e+02 5.556055644108436e+02 5.542191097431725e+02 5.528335472203050e+02 5.514488818381369e+02 + 5.500651185941068e+02 5.486822624871968e+02 5.473003185179330e+02 5.459192916883851e+02 5.445391870021655e+02 + 5.431600094644319e+02 5.417817640818839e+02 5.404044558627653e+02 5.390280898168637e+02 5.376526709555103e+02 + 5.362782042915790e+02 5.349046948394886e+02 5.335321476152006e+02 5.321605676362202e+02 5.307899599215965e+02 + 5.294203294919217e+02 5.280516813693320e+02 5.266840205775071e+02 5.253173521416702e+02 5.239516810885877e+02 + 5.225870124465707e+02 5.212233512454725e+02 5.198607025166908e+02 5.184990712931668e+02 5.171384626093851e+02 + 5.157788815013741e+02 5.144203330067055e+02 5.130628221644946e+02 5.117063540154008e+02 5.103509336016263e+02 + 5.089965659669175e+02 5.076432561565640e+02 5.062910092173990e+02 5.049398301977998e+02 5.035897241476866e+02 + 5.022406961185235e+02 5.008927511633182e+02 4.995458943366220e+02 4.982001306945292e+02 4.968554652946787e+02 + 4.955119031962524e+02 4.941694494599757e+02 4.928281091481178e+02 4.914878873244913e+02 4.901487890544524e+02 + 4.888108194049014e+02 4.874739834442815e+02 4.861382862425793e+02 4.848037328713260e+02 4.834703284035954e+02 + 4.821380779140055e+02 4.808069864787175e+02 4.794770591754360e+02 4.781483010834104e+02 4.768207172834317e+02 + 4.754943128578365e+02 4.741690928905032e+02 4.728450624668552e+02 4.715222266738587e+02 4.702005906000235e+02 + 4.688801593354034e+02 4.675609379715956e+02 4.662429316017405e+02 4.649261453205227e+02 4.636105842241698e+02 + 4.622962534104534e+02 4.609831579786886e+02 4.596713030297340e+02 4.583606936659914e+02 4.570513349914071e+02 + 4.557432321114703e+02 4.544363901332138e+02 4.531308141652141e+02 4.518265093175915e+02 4.505234807020092e+02 + 4.492217334316751e+02 4.479212726213398e+02 4.466221033872973e+02 4.453242308473862e+02 4.440276601209875e+02 + 4.427323963290266e+02 4.414384445939725e+02 4.401458100398370e+02 4.388544977921764e+02 4.375645129780900e+02 + 4.362758607262207e+02 4.349885461667554e+02 4.337025744314242e+02 4.324179506535007e+02 4.311346799678025e+02 + 4.298527675106906e+02 4.285722184200691e+02 4.272930378353866e+02 4.260152308976346e+02 4.247388027493482e+02 + 4.234637585346064e+02 4.221901033990317e+02 4.209178424897899e+02 4.196469809555908e+02 4.183775239466873e+02 + 4.171094766148764e+02 4.158428441134982e+02 4.145776315974367e+02 4.133138442231195e+02 4.120514871485177e+02 + 4.107905655331455e+02 4.095310845380616e+02 4.082730493258674e+02 4.070164650607085e+02 4.057613369082738e+02 + 4.045076700357962e+02 4.032554696120511e+02 4.020047408073589e+02 4.007554887935824e+02 3.995077187441286e+02 + 3.982614358339480e+02 3.970166452395346e+02 3.957733521389259e+02 3.945315617117033e+02 3.932912791389912e+02 + 3.920525096034583e+02 3.908152582893162e+02 3.895795303823206e+02 3.883453310697706e+02 3.871126655405087e+02 + 3.858815389849212e+02 3.846519565949380e+02 3.834239235640323e+02 3.821974450872211e+02 3.809725263610652e+02 + 3.797491725836686e+02 3.785273889546788e+02 3.773071806752873e+02 3.760885529482291e+02 3.748715109777822e+02 + 3.736560599697692e+02 3.724422051315553e+02 3.712299516720498e+02 3.700193048017055e+02 3.688102697325187e+02 + 3.676028516780295e+02 3.663970558533210e+02 3.651928874750207e+02 3.639903517612993e+02 3.627894539318706e+02 + 3.615901992079928e+02 3.603925928124674e+02 3.591966399696389e+02 3.580023459053963e+02 3.568097158471716e+02 + 3.556187550239405e+02 3.544294686662223e+02 3.532418620060801e+02 3.520559402771199e+02 3.508717087144923e+02 + 3.496891725548904e+02 3.485083370365518e+02 3.473292073992571e+02 3.461517888843309e+02 3.449760867346407e+02 + 3.438021061945983e+02 3.426298525101589e+02 3.414593309288210e+02 3.402905466996269e+02 3.391235050731623e+02 + 3.379582113015570e+02 3.367946706384836e+02 3.356328883391590e+02 3.344728696603431e+02 3.333146198603399e+02 + 3.321581441989965e+02 3.310034479377038e+02 3.298505363393963e+02 3.286994146685523e+02 3.275500881911931e+02 + 3.264025621748842e+02 3.252568418887342e+02 3.241129326033955e+02 3.229708395910641e+02 3.218305681254797e+02 + 3.206921234819250e+02 3.195555109372272e+02 3.184207357697562e+02 3.172878032594259e+02 3.161567186876940e+02 + 3.150274873375612e+02 3.139001144935722e+02 3.127746054418153e+02 3.116509654699221e+02 3.105291998670680e+02 + 3.094093139239718e+02 3.082913129328962e+02 3.071752021876472e+02 3.060609869835743e+02 3.049486726175709e+02 + 3.038382643880739e+02 3.027297675950632e+02 3.016231875400634e+02 3.005185295261418e+02 2.994157988579094e+02 + 2.983150008415209e+02 2.972161407846750e+02 2.961192239966130e+02 2.950242557881208e+02 2.939312414715272e+02 + 2.928401863607048e+02 2.917510957710699e+02 2.906639750195822e+02 2.895788294247451e+02 2.884956643066055e+02 + 2.874144849867538e+02 2.863352967883243e+02 2.852581050359946e+02 2.841829150559857e+02 2.831097321760628e+02 + 2.820385617255341e+02 2.809694090352515e+02 2.799022794376108e+02 2.788371782665511e+02 2.777741108575549e+02 + 2.767130825476488e+02 2.756540986754025e+02 2.745971645809293e+02 2.735422856058867e+02 2.724894670934750e+02 + 2.714387143884384e+02 2.703900328370648e+02 2.693434277871856e+02 2.682989045881756e+02 2.672564685909533e+02 + 2.662161251479810e+02 2.651778796132642e+02 2.641417373423522e+02 2.631077036923379e+02 2.620757840218578e+02 + 2.610459836910915e+02 2.600183080617631e+02 2.589927624971394e+02 2.579693523620314e+02 2.569480830227931e+02 + 2.559289598473227e+02 2.549119882050614e+02 2.538971734669946e+02 2.528845210056507e+02 2.518740361951020e+02 + 2.508657244109642e+02 2.498595910303967e+02 2.488556414321026e+02 2.478538809963281e+02 2.468543151048638e+02 + 2.458569491410431e+02 2.448617884897432e+02 2.438688385373852e+02 2.428781046719333e+02 2.418895922828956e+02 + 2.409033067613238e+02 2.399192534998131e+02 2.389374378925019e+02 2.379578653350729e+02 2.369805412247519e+02 + 2.360054709603084e+02 2.350326599420553e+02 2.340621135718494e+02 2.330938372530911e+02 2.321278363907239e+02 + 2.311641163912353e+02 2.302026826626565e+02 2.292435406145617e+02 2.282866956580692e+02 2.273321532058407e+02 + 2.263799186720815e+02 2.254299974725404e+02 2.244823950245099e+02 2.235371167468261e+02 2.225941680598685e+02 + 2.216535543855603e+02 2.207152811473682e+02 2.197793537703028e+02 2.188457776809178e+02 2.179145583073106e+02 + 2.169857010791227e+02 2.160592114275385e+02 2.151350947852860e+02 2.142133565866376e+02 2.132940022674083e+02 + 2.123770372649571e+02 2.114624670181867e+02 2.105502969675431e+02 2.096405325550162e+02 2.087331792241393e+02 + 2.078282424199890e+02 2.069257275891860e+02 2.060256401798943e+02 2.051279856418216e+02 2.042327694262190e+02 + 2.033399969858813e+02 2.024496737751469e+02 2.015618052498977e+02 2.006763968675590e+02 1.997934540871004e+02 + 1.989129823690343e+02 1.980349871754169e+02 1.971594739698481e+02 1.962864482174713e+02 1.954159153849736e+02 + 1.945478809405854e+02 1.936823503540812e+02 1.928193290967781e+02 1.919588226415381e+02 1.911008364627658e+02 + 1.902453760364096e+02 1.893924468399617e+02 1.885420543524577e+02 1.876942040544768e+02 1.868489014281417e+02 + 1.860061519571189e+02 1.851659611266184e+02 1.843283344233937e+02 1.834932773357418e+02 1.826607953535034e+02 + 1.818308939680629e+02 1.810035786723481e+02 1.801788549608304e+02 1.793567283295249e+02 1.785372042759901e+02 + 1.777202882993282e+02 1.769059859001850e+02 1.760943025807497e+02 1.752852438447554e+02 1.744788151974785e+02 + 1.736750221457390e+02 1.728738701979007e+02 1.720753648638706e+02 1.712795116550998e+02 1.704863160845825e+02 + 1.696957836668566e+02 1.689079199180039e+02 1.681227303556493e+02 1.673402204989617e+02 1.665603958686532e+02 + 1.657832619869799e+02 1.650088243777409e+02 1.642370885662795e+02 1.634680600794823e+02 1.627017444457793e+02 + 1.619381471951445e+02 1.611772738590951e+02 1.604191299706921e+02 1.596637210645399e+02 1.589110526767867e+02 + 1.581611303451241e+02 1.574139596087874e+02 1.566695460085554e+02 1.559278950867503e+02 1.551890123872385e+02 + 1.544529034554292e+02 1.537195738382757e+02 1.529890290842748e+02 1.522612747434666e+02 1.515363163674351e+02 + 1.508141595093076e+02 1.500948097237555e+02 1.493782725669932e+02 1.486645535967789e+02 1.479536583724143e+02 + 1.472455924547449e+02 1.465403614061596e+02 1.458379707905909e+02 1.451384261735148e+02 1.444417331219514e+02 + 1.437478972044633e+02 1.430569239911578e+02 1.423688190536853e+02 1.416835879652396e+02 1.410012363005585e+02 + 1.403217696359229e+02 1.396451935491577e+02 1.389715136196312e+02 1.383007354282553e+02 1.376328645574854e+02 + 1.369679065913208e+02 1.363058671153038e+02 1.356467517165207e+02 1.349905659836014e+02 1.343373155067194e+02 + 1.336870058775913e+02 1.330396426894780e+02 1.323952315371832e+02 1.317537780170550e+02 1.311152877269845e+02 + 1.304797662664065e+02 1.298472192362996e+02 1.292176522391855e+02 1.285910708791301e+02 1.279674807617425e+02 + 1.273468874941753e+02 1.267292966851250e+02 1.261147139448316e+02 1.255031448850783e+02 1.248945951191923e+02 + 1.242890702620443e+02 1.236865759300485e+02 1.230871177411627e+02 1.224907013148884e+02 1.218973322722703e+02 + 1.213070162358971e+02 1.207197588299010e+02 1.201355656799576e+02 1.195544424132864e+02 1.189763946586499e+02 + 1.184014280463548e+02 1.178295482082510e+02 1.172607607777323e+02 1.166950713897357e+02 1.161324856807421e+02 + 1.155730092887757e+02 1.150166478534045e+02 1.144634070157400e+02 1.139132924184372e+02 1.133663097056950e+02 + 1.128224645232555e+02 1.122817625184044e+02 1.117442093399712e+02 1.112098106383290e+02 1.106785720653942e+02 + 1.101504843345202e+02 1.096253193854976e+02 1.091027814759659e+02 1.085828903190926e+02 1.080656662057070e+02 + 1.075510744401853e+02 1.070391017583160e+02 1.065297369211215e+02 1.060229642403793e+02 1.055187689946627e+02 + 1.050171373101604e+02 1.045180558156006e+02 1.040215103049707e+02 1.035274865113781e+02 1.030359706887152e+02 + 1.025469492169604e+02 1.020604083357866e+02 1.015763340040288e+02 1.010947131078929e+02 1.006155327791835e+02 + 1.001387792631148e+02 9.966443911893010e+01 9.919249927205091e+01 9.872294669690289e+01 9.825576811144268e+01 + 9.779095024426459e+01 9.732848086108395e+01 9.686834738339628e+01 9.641053663288847e+01 9.595503591883143e+01 + 9.550183276437639e+01 9.505091470489599e+01 9.460226894357737e+01 9.415588307372171e+01 9.371174549820027e+01 + 9.326984390100915e+01 9.283016578095182e+01 9.239269910989660e+01 9.195743199867270e+01 9.152435246657959e+01 + 9.109344822825337e+01 9.066470776170968e+01 9.023811990175319e+01 8.981367265385576e+01 8.939135422700863e+01 + 8.897115319588202e+01 8.855305819940260e+01 8.813705766268812e+01 8.772313993524557e+01 8.731129428898021e+01 + 8.690150981214184e+01 8.649377498492467e+01 8.608807868460502e+01 8.568441000539183e+01 8.528275807208179e+01 + 8.488311171021131e+01 8.448546000255536e+01 8.408979283578468e+01 8.369609949978657e+01 8.330436902264381e+01 + 8.291459088961614e+01 8.252675470341519e+01 8.214085000107356e+01 8.175686603719873e+01 8.137479266933553e+01 + 8.099462018292702e+01 8.061633811896954e+01 8.023993612969721e+01 7.986540422509246e+01 7.949273245617202e+01 + 7.912191071864751e+01 7.875292880591886e+01 7.838577728963824e+01 7.802044667908689e+01 7.765692688210476e+01 + 7.729520814701189e+01 7.693528093921003e+01 7.657713574044320e+01 7.622076279877933e+01 7.586615250876412e+01 + 7.551329599462582e+01 7.516218394284439e+01 7.481280673973237e+01 7.446515517211270e+01 7.411922012543234e+01 + 7.377499243991551e+01 7.343246273248482e+01 7.309162206375170e+01 7.275246194060588e+01 7.241497325488510e+01 + 7.207914691168762e+01 7.174497413637995e+01 7.141244624067238e+01 7.108155440657860e+01 7.075228964021176e+01 + 7.042464364044737e+01 7.009860816502822e+01 6.977417437950896e+01 6.945133371117183e+01 6.913007780419414e+01 + 6.881039831641085e+01 6.849228672098478e+01 6.817573455985929e+01 6.786073404036127e+01 6.754727706019318e+01 + 6.723535518365489e+01 6.692496029976250e+01 6.661608442214438e+01 6.630871955818391e+01 6.600285747074972e+01 + 6.569849025826812e+01 6.539561050984807e+01 6.509421028016476e+01 6.479428156422156e+01 6.449581665898590e+01 + 6.419880794007263e+01 6.390324769379086e+01 6.360912802573969e+01 6.331644161216560e+01 6.302518126952705e+01 + 6.273533924838438e+01 6.244690800283556e+01 6.215988021335375e+01 6.187424856554645e+01 6.159000558852496e+01 + 6.130714382209544e+01 6.102565642873360e+01 6.074553634647369e+01 6.046677613965124e+01 6.018936867893675e+01 + 5.991330696615304e+01 5.963858400265185e+01 5.936519255461710e+01 5.909312563142009e+01 5.882237675846172e+01 + 5.855293899151076e+01 5.828480526925385e+01 5.801796883717194e+01 5.775242299813667e+01 5.748816098906929e+01 + 5.722517588172157e+01 5.696346118973321e+01 5.670301063052477e+01 5.644381744585571e+01 5.618587497447161e+01 + 5.592917675378749e+01 5.567371639288440e+01 5.541948735564524e+01 5.516648303666721e+01 5.491469740133566e+01 + 5.466412430128952e+01 5.441475721341882e+01 5.416658984866251e+01 5.391961604526729e+01 5.367382965707854e+01 + 5.342922435049869e+01 5.318579394824101e+01 5.294353276046760e+01 5.270243471566913e+01 5.246249358126801e+01 + 5.222370341980431e+01 5.198605834991378e+01 5.174955243603662e+01 5.151417956992881e+01 5.127993401538280e+01 + 5.104681029539683e+01 5.081480246751264e+01 5.058390465007635e+01 5.035411117607305e+01 5.012541641928832e+01 + 4.989781463692880e+01 4.967129999443014e+01 4.944586717469857e+01 4.922151081792142e+01 4.899822516393252e+01 + 4.877600466591702e+01 4.855484391176263e+01 4.833473749525371e+01 4.811567985888949e+01 4.789766553100244e+01 + 4.768068948486052e+01 4.746474643299185e+01 4.724983089968822e+01 4.703593761581940e+01 4.682306140175855e+01 + 4.661119706938157e+01 4.640033923440899e+01 4.619048280117971e+01 4.598162297433280e+01 4.577375454810339e+01 + 4.556687232031752e+01 4.536097129194708e+01 4.515604651624491e+01 4.495209295916556e+01 4.474910546848848e+01 + 4.454707932343867e+01 4.434600983627007e+01 4.414589194663536e+01 4.394672075425581e+01 4.374849149110094e+01 + 4.355119939554362e+01 4.335483958155968e+01 4.315940720272008e+01 4.296489783321342e+01 4.277130684141869e+01 + 4.257862938067940e+01 4.238686082011235e+01 4.219599659307687e+01 4.200603211268383e+01 4.181696265307154e+01 + 4.162878369849639e+01 4.144149102922540e+01 4.125508008000694e+01 4.106954625154178e+01 4.088488514080404e+01 + 4.070109237453877e+01 4.051816351991027e+01 4.033609404369983e+01 4.015487975529847e+01 3.997451654390139e+01 + 3.979499995457292e+01 3.961632565249730e+01 3.943848943565658e+01 3.926148710146721e+01 3.908531435163689e+01 + 3.890996689581685e+01 3.873544082272831e+01 3.856173207783515e+01 3.838883637414560e+01 3.821674961156019e+01 + 3.804546776546066e+01 3.787498680517137e+01 3.770530255859592e+01 3.753641100849845e+01 3.736830845518836e+01 + 3.720099088344971e+01 3.703445420945200e+01 3.686869456603723e+01 3.670370808841574e+01 3.653949085950763e+01 + 3.637603888796111e+01 3.621334844811717e+01 3.605141592615973e+01 3.589023740445852e+01 3.572980904042850e+01 + 3.557012712196481e+01 3.541118795282225e+01 3.525298774403768e+01 3.509552267323749e+01 3.493878928773343e+01 + 3.478278404343990e+01 3.462750313614663e+01 3.447294293878365e+01 3.431909990161546e+01 3.416597046087814e+01 + 3.401355094900445e+01 3.386183779648810e+01 3.371082772101448e+01 3.356051721064496e+01 3.341090265530899e+01 + 3.326198061398263e+01 3.311374767636361e+01 3.296620040125966e+01 3.281933525310492e+01 3.267314891432770e+01 + 3.252763821351709e+01 3.238279969616838e+01 3.223862995512887e+01 3.209512571750849e+01 3.195228370249094e+01 + 3.181010057023420e+01 3.166857295105629e+01 3.152769775432829e+01 3.138747186368265e+01 3.124789194582367e+01 + 3.110895478177638e+01 3.097065722333928e+01 3.083299612203396e+01 3.069596823521478e+01 3.055957038379009e+01 + 3.042379968490992e+01 3.028865305190764e+01 3.015412726448298e+01 3.002021927954454e+01 2.988692608783410e+01 + 2.975424465393443e+01 2.962217185358958e+01 2.949070472525562e+01 2.935984046863818e+01 2.922957605244617e+01 + 2.909990844798608e+01 2.897083474125067e+01 2.884235205411202e+01 2.871445744621140e+01 2.858714789194334e+01 + 2.846042066311678e+01 2.833427304434733e+01 2.820870204788112e+01 2.808370481822039e+01 2.795927858955916e+01 + 2.783542056310479e+01 2.771212788710439e+01 2.758939774558937e+01 2.746722754519704e+01 2.734561457842300e+01 + 2.722455602005491e+01 2.710404915757552e+01 2.698409131619408e+01 2.686467981339180e+01 2.674581188504884e+01 + 2.662748489299116e+01 2.650969637323688e+01 2.639244364869198e+01 2.627572402574995e+01 2.615953493480668e+01 + 2.604387380499337e+01 2.592873803144385e+01 2.581412497154068e+01 2.570003216993883e+01 2.558645721031992e+01 + 2.547339748309297e+01 2.536085044648649e+01 2.524881363723968e+01 2.513728460374055e+01 2.502626081142699e+01 + 2.491573971820056e+01 2.480571905896494e+01 2.469619646153339e+01 2.458716938319504e+01 2.447863542000312e+01 + 2.437059221927192e+01 2.426303741725681e+01 2.415596854366440e+01 2.404938323139217e+01 2.394327933047775e+01 + 2.383765447837906e+01 2.373250626120992e+01 2.362783239922733e+01 2.352363062421024e+01 2.341989863680159e+01 + 2.331663407933185e+01 2.321383475989216e+01 2.311149855755017e+01 2.300962316438995e+01 2.290820631357202e+01 + 2.280724581327735e+01 2.270673948178020e+01 2.260668508940155e+01 2.250708039173678e+01 2.240792334786956e+01 + 2.230921186720802e+01 2.221094371595302e+01 2.211311674173436e+01 2.201572884123411e+01 2.191877792312015e+01 + 2.182226182065280e+01 2.172617842216956e+01 2.163052579410284e+01 2.153530186271772e+01 2.144050449256298e+01 + 2.134613164544727e+01 2.125218130870039e+01 2.115865145244560e+01 2.106553997668644e+01 2.097284492087666e+01 + 2.088056441996010e+01 2.078869643251129e+01 2.069723893213309e+01 2.060618996606658e+01 2.051554761096601e+01 + 2.042530989859754e+01 2.033547481777502e+01 2.024604054022628e+01 2.015700522393599e+01 2.006836688994228e+01 + 1.998012363072147e+01 1.989227358045817e+01 1.980481486918973e+01 1.971774557717947e+01 1.963106382303616e+01 + 1.954476789103884e+01 1.945885594703988e+01 1.937332608222908e+01 1.928817649453870e+01 1.920340539662878e+01 + 1.911901098077130e+01 1.903499138773951e+01 1.895134486255558e+01 1.886806974988112e+01 1.878516424109755e+01 + 1.870262653275597e+01 1.862045489823334e+01 1.853864761644500e+01 1.845720293609644e+01 1.837611907561623e+01 + 1.829539441141390e+01 1.821502731690405e+01 1.813501600648008e+01 1.805535878852776e+01 1.797605402680784e+01 + 1.789710004813803e+01 1.781849513976010e+01 1.774023761822760e+01 1.766232596769640e+01 1.758475857461898e+01 + 1.750753373031707e+01 1.743064982368309e+01 1.735410526816905e+01 1.727789846424588e+01 1.720202775432962e+01 + 1.712649156263800e+01 1.705128842771503e+01 1.697641675133914e+01 1.690187492053174e+01 1.682766139576636e+01 + 1.675377465125957e+01 1.668021313537254e+01 1.660697525047803e+01 1.653405953620346e+01 1.646146456303875e+01 + 1.638918876353225e+01 1.631723061252691e+01 1.624558863577738e+01 1.617426136715184e+01 1.610324729276991e+01 + 1.603254489420701e+01 1.596215281065743e+01 1.589206962268447e+01 1.582229381597797e+01 1.575282394813798e+01 + 1.568365860435203e+01 1.561479636559848e+01 1.554623575841051e+01 1.547797536749664e+01 1.541001389568697e+01 + 1.534234992945672e+01 1.527498202635700e+01 1.520790881496337e+01 1.514112893627654e+01 1.507464101206718e+01 + 1.500844361854594e+01 1.494253544400039e+01 1.487691522461213e+01 1.481158156982783e+01 1.474653311471545e+01 + 1.468176854391490e+01 1.461728655322583e+01 1.455308580005108e+01 1.448916492494823e+01 1.442552270891503e+01 + 1.436215789907635e+01 1.429906914560298e+01 1.423625515786986e+01 1.417371467503432e+01 1.411144643634281e+01 + 1.404944913182382e+01 1.398772148936426e+01 1.392626235467004e+01 1.386507047757601e+01 1.380414456703780e+01 + 1.374348339923097e+01 1.368308576360786e+01 1.362295043539383e+01 1.356307614411792e+01 1.350346171009224e+01 + 1.344410601461897e+01 1.338500782259274e+01 1.332616591200318e+01 1.326757911048049e+01 1.320924625504148e+01 + 1.315116615215319e+01 1.309333758418828e+01 1.303575945915385e+01 1.297843067064863e+01 1.292135001185642e+01 + 1.286451632934388e+01 1.280792850075226e+01 1.275158540067995e+01 1.269548586414703e+01 1.263962874841400e+01 + 1.258401302186647e+01 1.252863758019894e+01 1.247350127006052e+01 1.241860299544399e+01 1.236394167532885e+01 + 1.230951622025856e+01 1.225532549825102e+01 1.220136844757296e+01 1.214764407513537e+01 1.209415128431592e+01 + 1.204088897936275e+01 1.198785611322907e+01 1.193505164847797e+01 1.188247452422181e+01 1.183012365035161e+01 + 1.177799804372636e+01 1.172609672645034e+01 1.167441862559045e+01 1.162296270435431e+01 1.157172795813644e+01 + 1.152071338824009e+01 1.146991795771504e+01 1.141934063624516e+01 1.136898050295155e+01 1.131883658051165e+01 + 1.126890783457083e+01 1.121919328583311e+01 1.116969196974251e+01 1.112040291453270e+01 1.107132511138846e+01 + 1.102245760367597e+01 1.097379950683186e+01 1.092534984778681e+01 1.087710764406476e+01 1.082907196010627e+01 + 1.078124186863284e+01 1.073361642501848e+01 1.068619465441603e+01 1.063897567074718e+01 1.059195860734133e+01 + 1.054514250814830e+01 1.049852644360809e+01 1.045210951602862e+01 1.040589083229813e+01 1.035986946911022e+01 + 1.031404450080543e+01 1.026841510170119e+01 1.022298040707346e+01 1.017773949095798e+01 1.013269147478631e+01 + 1.008783549702620e+01 1.004317069189082e+01 9.998696157456914e+00 9.954411030186206e+00 9.910314523784715e+00 + 9.866405774945729e+00 9.822683900561229e+00 9.779148062474189e+00 9.735797433007823e+00 9.692631171490490e+00 + 9.649648402951970e+00 9.606848328743531e+00 9.564230182014787e+00 9.521793107635142e+00 9.479536270440141e+00 + 9.437458869806633e+00 9.395560106559989e+00 9.353839157926716e+00 9.312295192835592e+00 9.270927467731591e+00 + 9.229735216231479e+00 9.188717610212938e+00 9.147873860369382e+00 9.107203196336844e+00 9.066704846764596e+00 + 9.026378005702853e+00 8.986221892357717e+00 8.946235805206038e+00 8.906418978693665e+00 8.866770619316361e+00 + 8.827289975974383e+00 8.787976307390357e+00 8.748828863538764e+00 8.709846863139358e+00 8.671029583554503e+00 + 8.632376341244221e+00 8.593886376949055e+00 8.555558939921891e+00 8.517393311170933e+00 8.479388776756116e+00 + 8.441544603229096e+00 8.403860042243403e+00 8.366334424744339e+00 8.328967072292842e+00 8.291757243124138e+00 + 8.254704227472720e+00 8.217807335382002e+00 8.181065876905594e+00 8.144479133106664e+00 8.108046399433587e+00 + 8.071767047639053e+00 8.035640397926882e+00 7.999665736506032e+00 7.963842390434660e+00 7.928169696145141e+00 + 7.892646983285742e+00 7.857273552651162e+00 7.822048750599857e+00 7.786971968025827e+00 7.752042529333232e+00 + 7.717259758863888e+00 7.682623011133142e+00 7.648131647347260e+00 7.613785013617140e+00 7.579582436948184e+00 + 7.545523312250220e+00 7.511607037617057e+00 7.477832951167176e+00 7.444200413093294e+00 7.410708803334905e+00 + 7.377357505498556e+00 7.344145878673218e+00 7.311073286547245e+00 7.278139163173499e+00 7.245342906306997e+00 + 7.212683876663248e+00 7.180161467446147e+00 7.147775082852699e+00 7.115524124234772e+00 7.083407965702390e+00 + 7.051426016132217e+00 7.019577732801474e+00 6.987862512275252e+00 6.956279745475502e+00 6.924828855941318e+00 + 6.893509269882150e+00 6.862320401692200e+00 6.831261647888545e+00 6.800332460884749e+00 6.769532305211046e+00 + 6.738860589806862e+00 6.708316738463165e+00 6.677900193977888e+00 6.647610403615440e+00 6.617446795946176e+00 + 6.587408797932629e+00 6.557495898186097e+00 6.527707560796614e+00 6.498043211862364e+00 6.468502306113241e+00 + 6.439084309299234e+00 6.409788685242900e+00 6.380614873655190e+00 6.351562339061567e+00 6.322630595895343e+00 + 6.293819108127046e+00 6.265127326375664e+00 6.236554729526047e+00 6.208100805116588e+00 6.179765032202197e+00 + 6.151546864740690e+00 6.123445807150094e+00 6.095461385258917e+00 6.067593067877628e+00 6.039840335121551e+00 + 6.012202688508743e+00 5.984679633169969e+00 5.957270656961056e+00 5.929975240292937e+00 5.902792923627279e+00 + 5.875723232013562e+00 5.848765648702115e+00 5.821919682493143e+00 5.795184854142510e+00 5.768560683026402e+00 + 5.742046666390822e+00 5.715642318587924e+00 5.689347205919744e+00 5.663160851223163e+00 5.637082758311135e+00 + 5.611112458697719e+00 5.585249491519008e+00 5.559493390584049e+00 5.533843667789125e+00 5.508299872311603e+00 + 5.482861578646651e+00 5.457528314665947e+00 5.432299611523626e+00 5.407175018586152e+00 5.382154093094761e+00 + 5.357236378022760e+00 5.332421403106363e+00 5.307708752059064e+00 5.283098003376689e+00 5.258588694187007e+00 + 5.234180379291222e+00 5.209872626694981e+00 5.185665008050016e+00 5.161557074183171e+00 5.137548383980142e+00 + 5.113638545797982e+00 5.089827134282968e+00 5.066113702430728e+00 5.042497830741953e+00 5.018979105007048e+00 + 4.995557105455633e+00 4.972231392615168e+00 4.949001558388967e+00 4.925867224885915e+00 4.902827967986653e+00 + 4.879883363679411e+00 4.857033008673309e+00 4.834276503129009e+00 4.811613436797770e+00 4.789043387081744e+00 + 4.766565977795326e+00 4.744180833573695e+00 4.721887536130310e+00 4.699685684376157e+00 4.677574891583497e+00 + 4.655554772271826e+00 4.633624922898647e+00 4.611784942911348e+00 4.590034481232405e+00 4.568373160121153e+00 + 4.546800575450856e+00 4.525316347519302e+00 4.503920103923871e+00 4.482611469298424e+00 4.461390048788094e+00 + 4.440255471271009e+00 4.419207398665950e+00 4.398245451269402e+00 4.377369245425554e+00 4.356578419383048e+00 + 4.335872613273037e+00 4.315251459075552e+00 4.294714576337845e+00 4.274261622204341e+00 4.253892261314030e+00 + 4.233606119889290e+00 4.213402835603544e+00 4.193282059746365e+00 4.173243445650493e+00 4.153286631923412e+00 + 4.133411255497697e+00 4.113616998652003e+00 4.093903524786619e+00 4.074270469191258e+00 4.054717490515994e+00 + 4.035244253601178e+00 4.015850419023907e+00 3.996535633568783e+00 3.977299560905666e+00 3.958141896495164e+00 + 3.939062301025637e+00 3.920060427447142e+00 3.901135950094528e+00 3.882288544897898e+00 3.863517881118590e+00 + 3.844823615448907e+00 3.826205437051391e+00 3.807663047653544e+00 3.789196110563124e+00 3.770804297342049e+00 + 3.752487294212357e+00 3.734244789018890e+00 3.716076457976182e+00 3.697981972490954e+00 3.679961043694115e+00 + 3.662013372248035e+00 3.644138631063968e+00 3.626336509775109e+00 3.608606705542072e+00 3.590948914412318e+00 + 3.573362819793663e+00 3.555848115085657e+00 3.538404523614169e+00 3.521031745026515e+00 3.503729467883798e+00 + 3.486497394134707e+00 3.469335231734055e+00 3.452242686325544e+00 3.435219448952052e+00 3.418265234650198e+00 + 3.401379774604279e+00 3.384562769850576e+00 3.367813923930398e+00 3.351132951883403e+00 3.334519571031865e+00 + 3.317973491801103e+00 3.301494419647167e+00 3.285082090084510e+00 3.268736234671993e+00 3.252456560777042e+00 + 3.236242786971220e+00 3.220094639575606e+00 3.204011846234647e+00 3.187994121490988e+00 3.172041185626448e+00 + 3.156152791161071e+00 3.140328668842820e+00 3.124568535295174e+00 3.108872124034968e+00 3.093239171871656e+00 + 3.077669412161458e+00 3.062162565910707e+00 3.046718374098970e+00 3.031336596904380e+00 3.016016966139392e+00 + 3.000759212810465e+00 2.985563079528153e+00 2.970428312130104e+00 2.955354650145179e+00 2.940341825152254e+00 + 2.925389598488303e+00 2.910497731503551e+00 2.895665957526404e+00 2.880894022713473e+00 2.866181682137055e+00 + 2.851528688498591e+00 2.836934785005289e+00 2.822399718118186e+00 2.807923264019232e+00 2.793505182293368e+00 + 2.779145216423770e+00 2.764843124903896e+00 2.750598669795774e+00 2.736411610868753e+00 2.722281698431688e+00 + 2.708208697067331e+00 2.694192390113966e+00 2.680232535961204e+00 2.666328890540199e+00 2.652481222662398e+00 + 2.638689303226956e+00 2.624952898002155e+00 2.611271764144950e+00 2.597645683492627e+00 2.584074442444535e+00 + 2.570557801667266e+00 2.557095530257868e+00 2.543687406599445e+00 2.530333209423413e+00 2.517032707379746e+00 + 2.503785668122807e+00 2.490591889861845e+00 2.477451158950901e+00 2.464363243138197e+00 2.451327922049569e+00 + 2.438344980862380e+00 2.425414204994132e+00 2.412535368413293e+00 2.399708255484590e+00 2.386932671907132e+00 + 2.374208401602455e+00 2.361535223009603e+00 2.348912926727443e+00 2.336341305706971e+00 2.323820149408004e+00 + 2.311349238873846e+00 2.298928374328811e+00 2.286557363678248e+00 2.274235992966902e+00 2.261964052364815e+00 + 2.249741340335214e+00 2.237567658215990e+00 2.225442798573621e+00 2.213366549457367e+00 2.201338726388740e+00 + 2.189359138707274e+00 2.177427577694549e+00 2.165543843493499e+00 2.153707741170415e+00 2.141919076444355e+00 + 2.130177647034976e+00 2.118483256831743e+00 2.106835728234196e+00 2.095234867960482e+00 2.083680476325080e+00 + 2.072172364176171e+00 2.060710343839133e+00 2.049294224696878e+00 2.037923808395575e+00 2.026598913260298e+00 + 2.015319367985618e+00 2.004084979196668e+00 1.992895556108562e+00 1.981750916950703e+00 1.970650881000152e+00 + 1.959595261684839e+00 1.948583868145923e+00 1.937616532016987e+00 1.926693081878526e+00 1.915813328267264e+00 + 1.904977090405082e+00 1.894184192977273e+00 1.883434460875044e+00 1.872727710477953e+00 1.862063762090873e+00 + 1.851442457083682e+00 1.840863622251705e+00 1.830327074965862e+00 1.819832643502570e+00 1.809380158797907e+00 + 1.798969449793061e+00 1.788600336572885e+00 1.778272652771865e+00 1.767986244795942e+00 1.757740938619203e+00 + 1.747536560606076e+00 1.737372946411540e+00 1.727249932639099e+00 1.717167351154095e+00 1.707125028541288e+00 + 1.697122811212298e+00 1.687160545804055e+00 1.677238060829077e+00 1.667355192130723e+00 1.657511781312863e+00 + 1.647707669880958e+00 1.637942692337234e+00 1.628216684763444e+00 1.618529503053863e+00 1.608880992276723e+00 + 1.599270986915247e+00 1.589699330823691e+00 1.580165870897195e+00 1.570670452975510e+00 1.561212914561866e+00 + 1.551793103249197e+00 1.542410880472349e+00 1.533066090216831e+00 1.523758574579748e+00 1.514488184288800e+00 + 1.505254771462676e+00 1.496058184704016e+00 1.486898266759950e+00 1.477774877044576e+00 1.468687878023066e+00 + 1.459637114930725e+00 1.450622438289068e+00 1.441643704572125e+00 1.432700770639202e+00 1.423793487269355e+00 + 1.414921704769478e+00 1.406085292220042e+00 1.397284110913275e+00 1.388518010515092e+00 1.379786849127615e+00 + 1.371090488107240e+00 1.362428788219066e+00 1.353801602746353e+00 1.345208792137069e+00 1.336650231141558e+00 + 1.328125779708811e+00 1.319635294146069e+00 1.311178639017341e+00 1.302755680403749e+00 1.294366281732825e+00 + 1.286010300246468e+00 1.277687607130681e+00 1.269398079017509e+00 1.261141576506052e+00 1.252917963373013e+00 + 1.244727109229262e+00 1.236568884548108e+00 1.228443154841189e+00 1.220349783647821e+00 1.212288651549746e+00 + 1.204259634287000e+00 1.196262595500517e+00 1.188297406122070e+00 1.180363940507803e+00 1.172462072687314e+00 + 1.164591670206239e+00 1.156752605274376e+00 1.148944764287503e+00 1.141168021685895e+00 1.133422246839356e+00 + 1.125707316556084e+00 1.118023109341937e+00 1.110369501923575e+00 1.102746365022667e+00 1.095153580538906e+00 + 1.087591037394418e+00 1.080058609806265e+00 1.072556173728377e+00 1.065083611042832e+00 1.057640804167975e+00 + 1.050227631677888e+00 1.042843969448370e+00 1.035489708218281e+00 1.028164736497249e+00 1.020868930712798e+00 + 1.013602173363602e+00 1.006364350528145e+00 9.991553480860069e-01 9.919750464549014e-01 9.848233287198007e-01 + 9.777000916381701e-01 9.706052224312447e-01 9.635386022157533e-01 9.565001191688937e-01 9.494896630661879e-01 + 9.425071223228538e-01 9.355523797940184e-01 9.286253271866921e-01 9.217258644183214e-01 9.148538781303724e-01 + 9.080092551050607e-01 9.011918879859632e-01 8.944016703005543e-01 8.876384924746002e-01 8.809022413584221e-01 + 8.741928168976413e-01 8.675101190938330e-01 8.608540359442419e-01 8.542244603473701e-01 8.476212889430066e-01 + 8.410444181391276e-01 8.344937399710189e-01 8.279691476350027e-01 8.214705470141707e-01 8.149978368018493e-01 + 8.085509088588196e-01 8.021296614287111e-01 7.957339944800463e-01 7.893638070383275e-01 7.830189931350516e-01 + 7.766994532966268e-01 7.704050967403675e-01 7.641358215802615e-01 7.578915247022724e-01 7.516721083807270e-01 + 7.454774759379389e-01 7.393075284143857e-01 7.331621629407183e-01 7.270412875750237e-01 7.209448123528730e-01 + 7.148726361079928e-01 7.088246610576617e-01 7.028007931997213e-01 6.968009387204053e-01 6.908250000358214e-01 + 6.848728793751606e-01 6.789444908271167e-01 6.730397435251165e-01 6.671585392499849e-01 6.613007849024644e-01 + 6.554663896318030e-01 6.496552624588109e-01 6.438673070778183e-01 6.381024319556428e-01 6.323605552121262e-01 + 6.266415850605696e-01 6.209454272475601e-01 6.152719929073242e-01 6.096211942955035e-01 6.039929419697414e-01 + 5.983871423673978e-01 5.928037109278776e-01 5.872425665727200e-01 5.817036179262789e-01 5.761867757580472e-01 + 5.706919545755328e-01 5.652190691753797e-01 5.597680312855905e-01 5.543387515608681e-01 5.489311514266204e-01 + 5.435451491959484e-01 5.381806555529779e-01 5.328375858091706e-01 5.275158573424954e-01 5.222153871968650e-01 + 5.169360885007255e-01 5.116778775087658e-01 5.064406794925096e-01 5.012244118255510e-01 4.960289886382637e-01 + 4.908543290552675e-01 4.857003532629381e-01 4.805669801867241e-01 4.754541247133137e-01 4.703617092625736e-01 + 4.652896609026711e-01 4.602378967146020e-01 4.552063350475851e-01 4.501948983226124e-01 4.452035092771810e-01 + 4.402320879227842e-01 4.352805523654864e-01 4.303488309750054e-01 4.254368504386150e-01 4.205445290166767e-01 + 4.156717895856258e-01 4.108185573527897e-01 4.059847567861119e-01 4.011703090912549e-01 3.963751374739253e-01 + 3.915991740467544e-01 3.868423443729578e-01 3.821045699452743e-01 3.773857771630841e-01 3.726858934536713e-01 + 3.680048452743795e-01 3.633425553945757e-01 3.586989523890614e-01 3.540739701811214e-01 3.494675340422360e-01 + 3.448795694018267e-01 3.403100055229290e-01 3.357587720701978e-01 3.312257966625470e-01 3.267110046986084e-01 + 3.222143302305144e-01 3.177357072575733e-01 3.132750617821559e-01 3.088323230437107e-01 3.044074228278458e-01 + 3.000002929514869e-01 2.956108619814004e-01 2.912390591663653e-01 2.868848226223222e-01 2.825480855369588e-01 + 2.782287763584979e-01 2.739268276304007e-01 2.696421732978619e-01 2.653747469077652e-01 2.611244782932083e-01 + 2.568913016367161e-01 2.526751570146955e-01 2.484759769388697e-01 2.442936932048949e-01 2.401282413902519e-01 + 2.359795575701045e-01 2.318475761710866e-01 2.277322290127450e-01 2.236334554284879e-01 2.195511960314929e-01 + 2.154853836729677e-01 2.114359536211432e-01 2.074028437636633e-01 2.033859920182897e-01 1.993853337119912e-01 + 1.954008040589642e-01 1.914323463143237e-01 1.874799002688242e-01 1.835434007181165e-01 1.796227861758036e-01 + 1.757179964922509e-01 1.718289711649378e-01 1.679556465242757e-01 1.640979620393169e-01 1.602558632656972e-01 + 1.564292893436780e-01 1.526181778855338e-01 1.488224700413446e-01 1.450421075715582e-01 1.412770310767497e-01 + 1.375271785489454e-01 1.337924939887067e-01 1.300729236356154e-01 1.263684067750867e-01 1.226788841702678e-01 + 1.190042991249222e-01 1.153445951805052e-01 1.116997137432381e-01 1.080695954417651e-01 1.044541881911586e-01 + 1.008534377603918e-01 9.726728475975084e-02 9.369567294988820e-02 9.013854752144720e-02 8.659585347215112e-02 + 8.306753302147955e-02 7.955353046975124e-02 7.605379621791922e-02 7.256827534889604e-02 6.909691079142652e-02 + 6.563964883225221e-02 6.219643640409570e-02 5.876721959493493e-02 5.535194193553600e-02 5.195055179453398e-02 + 4.856300050562060e-02 4.518923308325209e-02 4.182919528191363e-02 3.848283536820589e-02 3.515010193539807e-02 + 3.183094185890936e-02 2.852530077920949e-02 2.523313079087341e-02 2.195438300307553e-02 1.868900335629075e-02 + 1.543694036357313e-02 1.219814405293583e-02 8.972564385828061e-03 5.760148923624660e-03 2.560846417529306e-03 + -6.253884489496408e-04 -3.798605206001689e-03 -6.958856024607482e-03 -1.010619000899848e-02 -1.324065554473652e-02 + -1.636230159824732e-02 -1.947117958312726e-02 -2.256733711284757e-02 -2.565081832749929e-02 -2.872167302619957e-02 + -3.177995089902724e-02 -3.482569914268617e-02 -3.785896464500105e-02 -4.087979562235380e-02 -4.388824175488684e-02 + -4.688434717766576e-02 -4.986815604286890e-02 -5.283971753775529e-02 -5.579907881824794e-02 -5.874628546589089e-02 + -6.168138307363240e-02 -6.460441923558070e-02 -6.751544105442296e-02 -7.041449003639784e-02 -7.330161087707579e-02 + -7.617685125406765e-02 -7.904025608548425e-02 -8.189186951723537e-02 -8.473173608907363e-02 -8.755990257827875e-02 + -9.037641289395969e-02 -9.318130717201861e-02 -9.597463047763352e-02 -9.875642835115833e-02 -1.015267439140877e-01 + -1.042856199263307e-01 -1.070331001684683e-01 -1.097692300567918e-01 -1.124940502948268e-01 -1.152076007898061e-01 + -1.179099262631479e-01 -1.206010699593113e-01 -1.232810735016665e-01 -1.259499784255051e-01 -1.286078279418341e-01 + -1.312546653333709e-01 -1.338905286984875e-01 -1.365154583874092e-01 -1.391294979538990e-01 -1.417326885345280e-01 + -1.443250704192513e-01 -1.469066841433861e-01 -1.494775722507627e-01 -1.520377752494497e-01 -1.545873297590701e-01 + -1.571262765202916e-01 -1.596546572452540e-01 -1.621725113907878e-01 -1.646798779801165e-01 -1.671767967821347e-01 + -1.696633092874520e-01 -1.721394530811854e-01 -1.746052643091513e-01 -1.770607836101869e-01 -1.795060506428017e-01 + -1.819411034225526e-01 -1.843659798390828e-01 -1.867807191554161e-01 -1.891853611111403e-01 -1.915799407499077e-01 + -1.939644945120454e-01 -1.963390621459183e-01 -1.987036813730624e-01 -2.010583889984393e-01 -2.034032219467188e-01 + -2.057382189127211e-01 -2.080634172465200e-01 -2.103788504106409e-01 -2.126845552585028e-01 -2.149805700057577e-01 + -2.172669307458855e-01 -2.195436731393316e-01 -2.218108333786645e-01 -2.240684493062661e-01 -2.263165556286022e-01 + -2.285551851690127e-01 -2.307843748874083e-01 -2.330041611277884e-01 -2.352145785311434e-01 -2.374156618282909e-01 + -2.396074467707450e-01 -2.417899696732801e-01 -2.439632627554057e-01 -2.461273590292558e-01 -2.482822949571798e-01 + -2.504281050002428e-01 -2.525648226666662e-01 -2.546924818382261e-01 -2.568111176810049e-01 -2.589207645010757e-01 + -2.610214530059819e-01 -2.631132165202481e-01 -2.651960899948890e-01 -2.672701065219724e-01 -2.693352987894519e-01 + -2.713916998229662e-01 -2.734393439668777e-01 -2.754782632038173e-01 -2.775084874639143e-01 -2.795300503441993e-01 + -2.815429852855671e-01 -2.835473240274155e-01 -2.855430981234691e-01 -2.875303400246380e-01 -2.895090831627840e-01 + -2.914793573631382e-01 -2.934411924374482e-01 -2.953946213942734e-01 -2.973396760049649e-01 -2.992763870705049e-01 + -3.012047853752455e-01 -3.031249029054077e-01 -3.050367713048046e-01 -3.069404187491607e-01 -3.088358754333808e-01 + -3.107231733999588e-01 -3.126023429151826e-01 -3.144734138246973e-01 -3.163364162512183e-01 -3.181913814969073e-01 + -3.200383391593082e-01 -3.218773166629695e-01 -3.237083442965246e-01 -3.255314526206347e-01 -3.273466708133588e-01 + -3.291540279174764e-01 -3.309535535062730e-01 -3.327452779044484e-01 -3.345292286746930e-01 -3.363054329977739e-01 + -3.380739209920870e-01 -3.398347217688169e-01 -3.415878634526212e-01 -3.433333743100879e-01 -3.450712833788954e-01 + -3.468016195958206e-01 -3.485244091566739e-01 -3.502396793974815e-01 -3.519474593420066e-01 -3.536477770380763e-01 + -3.553406598299846e-01 -3.570261348354672e-01 -3.587042307855341e-01 -3.603749751839582e-01 -3.620383929731605e-01 + -3.636945116923384e-01 -3.653433594409278e-01 -3.669849628231984e-01 -3.686193482790397e-01 -3.702465427747400e-01 + -3.718665743211436e-01 -3.734794684043725e-01 -3.750852495624684e-01 -3.766839451194457e-01 -3.782755819189342e-01 + -3.798601858648072e-01 -3.814377826321034e-01 -3.830083986549013e-01 -3.845720606417443e-01 -3.861287926090124e-01 + -3.876786193539286e-01 -3.892215675502101e-01 -3.907576628594260e-01 -3.922869303026715e-01 -3.938093947284727e-01 + -3.953250822556230e-01 -3.968340182497304e-01 -3.983362256494206e-01 -3.998317293097848e-01 -4.013205549386248e-01 + -4.028027272117153e-01 -4.042782703087232e-01 -4.057472086115670e-01 -4.072095677082399e-01 -4.086653712889545e-01 + -4.101146418277140e-01 -4.115574040934622e-01 -4.129936826934361e-01 -4.144235014035024e-01 -4.158468836578273e-01 + -4.172638535617268e-01 -4.186744357650895e-01 -4.200786523524958e-01 -4.214765258006608e-01 -4.228680805923657e-01 + -4.242533401481378e-01 -4.256323273241845e-01 -4.270050650780072e-01 -4.283715771591216e-01 -4.297318868367957e-01 + -4.310860152683936e-01 -4.324339850671611e-01 -4.337758197699306e-01 -4.351115419219263e-01 -4.364411736856622e-01 + -4.377647373653272e-01 -4.390822563519974e-01 -4.403937525793140e-01 -4.416992465950099e-01 -4.429987609092939e-01 + -4.442923180804305e-01 -4.455799398898891e-01 -4.468616477876415e-01 -4.481374637930542e-01 -4.494074106490894e-01 + -4.506715085877422e-01 -4.519297779021105e-01 -4.531822412097039e-01 -4.544289201442401e-01 -4.556698355752103e-01 + -4.569050083194456e-01 -4.581344599890250e-01 -4.593582121055255e-01 -4.605762842891920e-01 -4.617886970897419e-01 + -4.629954719556403e-01 -4.641966295426422e-01 -4.653921902577345e-01 -4.665821746143150e-01 -4.677666038635413e-01 + -4.689454981292748e-01 -4.701188761476531e-01 -4.712867586709557e-01 -4.724491664926360e-01 -4.736061192593240e-01 + -4.747576368456714e-01 -4.759037394682022e-01 -4.770444475543998e-01 -4.781797800875144e-01 -4.793097558338887e-01 + -4.804343950164401e-01 -4.815537175042383e-01 -4.826677426390972e-01 -4.837764894228364e-01 -4.848799775883490e-01 + -4.859782270303963e-01 -4.870712557287352e-01 -4.881590823344398e-01 -4.892417265305033e-01 -4.903192072931410e-01 + -4.913915433426016e-01 -4.924587534540600e-01 -4.935208569593936e-01 -4.945778724869024e-01 -4.956298174121960e-01 + -4.966767104426105e-01 -4.977185705977166e-01 -4.987554161795947e-01 -4.997872652579317e-01 -5.008141361357437e-01 + -5.018360477540788e-01 -5.028530175622089e-01 -5.038650625463708e-01 -5.048722015765362e-01 -5.058744527800632e-01 + -5.068718334710337e-01 -5.078643614554021e-01 -5.088520548881869e-01 -5.098349318298798e-01 -5.108130088001350e-01 + -5.117863028619736e-01 -5.127548322161382e-01 -5.137186142245088e-01 -5.146776659499980e-01 -5.156320045833772e-01 + -5.165816478015819e-01 -5.175266128170244e-01 -5.184669156304091e-01 -5.194025733016244e-01 -5.203336032597101e-01 + -5.212600221732120e-01 -5.221818466804444e-01 -5.230990936596679e-01 -5.240117804553392e-01 -5.249199232262068e-01 + -5.258235374392936e-01 -5.267226400387954e-01 -5.276172478389746e-01 -5.285073771019844e-01 -5.293930438910602e-01 + -5.302742646986305e-01 -5.311510563423283e-01 -5.320234339437281e-01 -5.328914129379527e-01 -5.337550101355577e-01 + -5.346142414983102e-01 -5.354691226448078e-01 -5.363196694209366e-01 -5.371658979374595e-01 -5.380078240078261e-01 + -5.388454624615836e-01 -5.396788287704753e-01 -5.405079388378121e-01 -5.413328081929075e-01 -5.421534521210617e-01 + -5.429698859177164e-01 -5.437821254261226e-01 -5.445901856060492e-01 -5.453940806517681e-01 -5.461938261275164e-01 + -5.469894375147514e-01 -5.477809296410460e-01 -5.485683172596564e-01 -5.493516154047422e-01 -5.501308394233321e-01 + -5.509060035978606e-01 -5.516771220917993e-01 -5.524442098036262e-01 -5.532072816062331e-01 -5.539663521228516e-01 + -5.547214355736525e-01 -5.554725467511782e-01 -5.562197004144761e-01 -5.569629099559865e-01 -5.577021895124128e-01 + -5.584375539231472e-01 -5.591690174427206e-01 -5.598965939391384e-01 -5.606202972403660e-01 -5.613401421520022e-01 + -5.620561426054913e-01 -5.627683113219669e-01 -5.634766626491997e-01 -5.641812109417922e-01 -5.648819696019924e-01 + -5.655789522526887e-01 -5.662721727674018e-01 -5.669616451334641e-01 -5.676473824290281e-01 -5.683293976251365e-01 + -5.690077046537543e-01 -5.696823171027902e-01 -5.703532481968968e-01 -5.710205111045815e-01 -5.716841193018837e-01 + -5.723440862989044e-01 -5.730004247377283e-01 -5.736531475408438e-01 -5.743022680808630e-01 -5.749477994635019e-01 + -5.755897545119250e-01 -5.762281459317424e-01 -5.768629872133108e-01 -5.774942912813225e-01 -5.781220698864685e-01 + -5.787463360372200e-01 -5.793671029370097e-01 -5.799843829591812e-01 -5.805981885004621e-01 -5.812085322229668e-01 + -5.818154271777390e-01 -5.824188854500640e-01 -5.830189187855023e-01 -5.836155400127914e-01 -5.842087616519486e-01 + -5.847985957903102e-01 -5.853850545399070e-01 -5.859681502822114e-01 -5.865478954643482e-01 -5.871243015837295e-01 + -5.876973804424807e-01 -5.882671445115567e-01 -5.888336058093040e-01 -5.893967761301214e-01 -5.899566672475657e-01 + -5.905132912554449e-01 -5.910666600004119e-01 -5.916167846344484e-01 -5.921636769312483e-01 -5.927073488739303e-01 + -5.932478119884005e-01 -5.937850777230974e-01 -5.943191576345895e-01 -5.948500635775013e-01 -5.953778067525587e-01 + -5.959023980172641e-01 -5.964238491804477e-01 -5.969421717317064e-01 -5.974573766302176e-01 -5.979694750153504e-01 + -5.984784782975928e-01 -5.989843980133127e-01 -5.994872448737363e-01 -5.999870296226286e-01 -6.004837635008013e-01 + -6.009774575116591e-01 -6.014681225640990e-01 -6.019557696406324e-01 -6.024404098188824e-01 -6.029220539582525e-01 + -6.034007123251734e-01 -6.038763957092128e-01 -6.043491151546724e-01 -6.048188811990667e-01 -6.052857043294740e-01 + -6.057495951725935e-01 -6.062105647034982e-01 -6.066686232996821e-01 -6.071237808282512e-01 -6.075760480581535e-01 + -6.080254356249652e-01 -6.084719536597242e-01 -6.089156123708600e-01 -6.093564221655233e-01 -6.097943936088406e-01 + -6.102295366277345e-01 -6.106618611466814e-01 -6.110913776082281e-01 -6.115180960018122e-01 -6.119420262061138e-01 + -6.123631785057825e-01 -6.127815629923925e-01 -6.131971895415724e-01 -6.136100679122567e-01 -6.140202079254689e-01 + -6.144276194632986e-01 -6.148323123693087e-01 -6.152342964516117e-01 -6.156335814880438e-01 -6.160301772367670e-01 + -6.164240932773791e-01 -6.168153390131846e-01 -6.172039241057757e-01 -6.175898582479540e-01 -6.179731510100582e-01 + -6.183538118537011e-01 -6.187318502245757e-01 -6.191072755983122e-01 -6.194800972241303e-01 -6.198503243163954e-01 + -6.202179663089392e-01 -6.205830326036273e-01 -6.209455324825972e-01 -6.213054750121583e-01 -6.216628693834372e-01 + -6.220177248671027e-01 -6.223700505100402e-01 -6.227198553511943e-01 -6.230671484590707e-01 -6.234119388224310e-01 + -6.237542354039819e-01 -6.240940471906395e-01 -6.244313833278470e-01 -6.247662526956897e-01 -6.250986637315333e-01 + -6.254286253149073e-01 -6.257561464374979e-01 -6.260812358699522e-01 -6.264039022632663e-01 -6.267241542804416e-01 + -6.270420007239386e-01 -6.273574502418447e-01 -6.276705113436000e-01 -6.279811924920996e-01 -6.282895022600340e-01 + -6.285954492669960e-01 -6.288990419377586e-01 -6.292002887596219e-01 -6.294991982474318e-01 -6.297957785295903e-01 + -6.300900379535952e-01 -6.303819851813233e-01 -6.306716282540937e-01 -6.309589752809680e-01 -6.312440348023121e-01 + -6.315268150763020e-01 -6.318073241903770e-01 -6.320855701836068e-01 -6.323615610879741e-01 -6.326353050044859e-01 + -6.329068101802829e-01 -6.331760846635813e-01 -6.334431363818833e-01 -6.337079733473078e-01 -6.339706034520735e-01 + -6.342310345121693e-01 -6.344892744839461e-01 -6.347453312805855e-01 -6.349992127114430e-01 -6.352509264768633e-01 + -6.355004804526597e-01 -6.357478826585540e-01 -6.359931404400122e-01 -6.362362612918424e-01 -6.364772532644518e-01 + -6.367161239398067e-01 -6.369528807876881e-01 -6.371875315012039e-01 -6.374200836672138e-01 -6.376505447719858e-01 + -6.378789222449943e-01 -6.381052236017390e-01 -6.383294563385360e-01 -6.385516277126226e-01 -6.387717451483415e-01 + -6.389898161925324e-01 -6.392058481779943e-01 -6.394198483013303e-01 -6.396318237129481e-01 -6.398417817583982e-01 + -6.400497298004382e-01 -6.402556751053731e-01 -6.404596246811356e-01 -6.406615856182318e-01 -6.408615652398488e-01 + -6.410595705960431e-01 -6.412556087124355e-01 -6.414496867908267e-01 -6.416418117430738e-01 -6.418319904244396e-01 + -6.420202299552208e-01 -6.422065373268501e-01 -6.423909194238488e-01 -6.425733831564441e-01 -6.427539354568388e-01 + -6.429325832107947e-01 -6.431093330874931e-01 -6.432841919278923e-01 -6.434571667152847e-01 -6.436282640341581e-01 + -6.437974905134223e-01 -6.439648529819666e-01 -6.441303582355420e-01 -6.442940129046214e-01 -6.444558234243410e-01 + -6.446157964842297e-01 -6.447739387669796e-01 -6.449302567289288e-01 -6.450847570451982e-01 -6.452374463418470e-01 + -6.453883308317777e-01 -6.455374170518916e-01 -6.456847116523639e-01 -6.458302208459006e-01 -6.459739509825424e-01 + -6.461159085765001e-01 -6.462561000624228e-01 -6.463945317857885e-01 -6.465312099893501e-01 -6.466661407794220e-01 + -6.467993305071421e-01 -6.469307857586633e-01 -6.470605124176557e-01 -6.471885165505020e-01 -6.473148048129491e-01 + -6.474393831451855e-01 -6.475622574433044e-01 -6.476834341411803e-01 -6.478029193005811e-01 -6.479207188186653e-01 + -6.480368387749067e-01 -6.481512852365653e-01 -6.482640642356557e-01 -6.483751817763184e-01 -6.484846438333333e-01 + -6.485924563559199e-01 -6.486986252696630e-01 -6.488031563964390e-01 -6.489060555062011e-01 -6.490073285956434e-01 + -6.491069816182633e-01 -6.492050203757027e-01 -6.493014505946639e-01 -6.493962779796888e-01 -6.494895082497514e-01 + -6.495811472172135e-01 -6.496712006463234e-01 -6.497596741452655e-01 -6.498465734697708e-01 -6.499319043537729e-01 + -6.500156722751166e-01 -6.500978828758883e-01 -6.501785418212779e-01 -6.502576544563589e-01 -6.503352264336196e-01 + -6.504112635780723e-01 -6.504857712206107e-01 -6.505587548117625e-01 -6.506302199692129e-01 -6.507001719669850e-01 + -6.507686161481057e-01 -6.508355580770583e-01 -6.509010033515999e-01 -6.509649573333303e-01 -6.510274250599254e-01 + -6.510884119408136e-01 -6.511479234691252e-01 -6.512059649357221e-01 -6.512625414820176e-01 -6.513176583196066e-01 + -6.513713209657690e-01 -6.514235346566493e-01 -6.514743044494572e-01 -6.515236355351222e-01 -6.515715331668240e-01 + -6.516180025498758e-01 -6.516630486086969e-01 -6.517066764698182e-01 -6.517488914696901e-01 -6.517896986474616e-01 + -6.518291029696229e-01 -6.518671094474887e-01 -6.519037232298822e-01 -6.519389493677847e-01 -6.519727927034696e-01 + -6.520052582102593e-01 -6.520363509344871e-01 -6.520660759114448e-01 -6.520944379877177e-01 -6.521214419863292e-01 + -6.521470929034477e-01 -6.521713955379932e-01 -6.521943546611896e-01 -6.522159753870301e-01 -6.522362625000242e-01 + -6.522552205660485e-01 -6.522728545508729e-01 -6.522891692872490e-01 -6.523041693781095e-01 -6.523178594474156e-01 + -6.523302443147758e-01 -6.523413289626511e-01 -6.523511179648659e-01 -6.523596158248584e-01 -6.523668271884714e-01 + -6.523727568212391e-01 -6.523774093997819e-01 -6.523807893579161e-01 -6.523829012952149e-01 -6.523837498990516e-01 + -6.523833397960367e-01 -6.523816754611410e-01 -6.523787613199525e-01 -6.523746019358498e-01 -6.523692018302728e-01 + -6.523625654555820e-01 -6.523546972248629e-01 -6.523456017173497e-01 -6.523352835702680e-01 -6.523237468711672e-01 + -6.523109959032295e-01 -6.522970353197415e-01 -6.522818693382445e-01 -6.522655022842732e-01 -6.522479388337681e-01 + -6.522291831409690e-01 -6.522092393163972e-01 -6.521881118419591e-01 -6.521658050464721e-01 -6.521423231008568e-01 + -6.521176700882644e-01 -6.520918504277817e-01 -6.520648685798258e-01 -6.520367284462982e-01 -6.520074341903623e-01 + -6.519769901852531e-01 -6.519454004576026e-01 -6.519126690272374e-01 -6.518788000417296e-01 -6.518437978790763e-01 + -6.518076667685843e-01 -6.517704106505043e-01 -6.517320333460206e-01 -6.516925389358605e-01 -6.516519318553129e-01 + -6.516102158220000e-01 -6.515673946405215e-01 -6.515234728464969e-01 -6.514784543315630e-01 -6.514323427842886e-01 + -6.513851423523833e-01 -6.513368570527661e-01 -6.512874907235414e-01 -6.512370470939771e-01 -6.511855301990920e-01 + -6.511329442190841e-01 -6.510792928715797e-01 -6.510245798816351e-01 -6.509688091361985e-01 -6.509119847142907e-01 + -6.508541103488035e-01 -6.507951894034477e-01 -6.507352259931611e-01 -6.506742241942834e-01 -6.506121876059120e-01 + -6.505491199228429e-01 -6.504850249436106e-01 -6.504199065016956e-01 -6.503537680222150e-01 -6.502866130342899e-01 + -6.502184457971011e-01 -6.501492700279957e-01 -6.500790890906794e-01 -6.500079066129352e-01 -6.499357263329657e-01 + -6.498625519683058e-01 -6.497883869826074e-01 -6.497132350047277e-01 -6.496370998048885e-01 -6.495599847614121e-01 + -6.494818934475555e-01 -6.494028297363450e-01 -6.493227969968260e-01 -6.492417985197620e-01 -6.491598378013752e-01 + -6.490769185970405e-01 -6.489930446200032e-01 -6.489082192796405e-01 -6.488224457999440e-01 -6.487357275334984e-01 + -6.486480682838258e-01 -6.485594713376021e-01 -6.484699398068251e-01 -6.483794774339799e-01 -6.482880877536140e-01 + -6.481957740532812e-01 -6.481025397024727e-01 -6.480083880017639e-01 -6.479133221889776e-01 -6.478173456351086e-01 + -6.477204618036257e-01 -6.476226741599570e-01 -6.475239858039916e-01 -6.474243999826228e-01 -6.473239202990485e-01 + -6.472225498463482e-01 -6.471202916312221e-01 -6.470171489638400e-01 -6.469131252405815e-01 -6.468082238277443e-01 + -6.467024479420175e-01 -6.465958006550642e-01 -6.464882850509053e-01 -6.463799044773618e-01 -6.462706620382276e-01 + -6.461605607272912e-01 -6.460496040101232e-01 -6.459377950690467e-01 -6.458251367734501e-01 -6.457116323868038e-01 + -6.455972850655802e-01 -6.454820977029684e-01 -6.453660732942879e-01 -6.452492150754419e-01 -6.451315264887545e-01 + -6.450130102914885e-01 -6.448936692680686e-01 -6.447735068128447e-01 -6.446525260129213e-01 -6.445307296530088e-01 + -6.444081203587793e-01 -6.442847014715996e-01 -6.441604765089356e-01 -6.440354480546840e-01 -6.439096188724848e-01 + -6.437829920095609e-01 -6.436555704731397e-01 -6.435273570693492e-01 -6.433983545533010e-01 -6.432685663163126e-01 + -6.431379953365300e-01 -6.430066439769492e-01 -6.428745153347271e-01 -6.427416124750638e-01 -6.426079380140648e-01 + -6.424734947555180e-01 -6.423382856273998e-01 -6.422023135830728e-01 -6.420655814260000e-01 -6.419280919255173e-01 + -6.417898479598759e-01 -6.416508523135933e-01 -6.415111076305331e-01 -6.413706163966455e-01 -6.412293816393564e-01 + -6.410874066048897e-01 -6.409446936267265e-01 -6.408012453136449e-01 -6.406570646910840e-01 -6.405121544270317e-01 + -6.403665170374713e-01 -6.402201550644944e-01 -6.400730715072882e-01 -6.399252691822962e-01 -6.397767504407681e-01 + -6.396275180930010e-01 -6.394775749890055e-01 -6.393269236107165e-01 -6.391755662191552e-01 -6.390235053902433e-01 + -6.388707445708105e-01 -6.387172861694177e-01 -6.385631322023312e-01 -6.384082857966726e-01 -6.382527494896121e-01 + -6.380965253642142e-01 -6.379396162401521e-01 -6.377820248167250e-01 -6.376237535602883e-01 -6.374648052204416e-01 + -6.373051823107587e-01 -6.371448870124290e-01 -6.369839218821269e-01 -6.368222895078627e-01 -6.366599923302766e-01 + -6.364970329561520e-01 -6.363334139746031e-01 -6.361691377885151e-01 -6.360042067688202e-01 -6.358386233547334e-01 + -6.356723901317635e-01 -6.355055093799952e-01 -6.353379833438523e-01 -6.351698147827204e-01 -6.350010061497325e-01 + -6.348315596278746e-01 -6.346614776297652e-01 -6.344907627044540e-01 -6.343194173354602e-01 -6.341474433478579e-01 + -6.339748431233465e-01 -6.338016197812808e-01 -6.336277753787244e-01 -6.334533118997744e-01 -6.332782318265875e-01 + -6.331025376588558e-01 -6.329262316544187e-01 -6.327493157114107e-01 -6.325717923863455e-01 -6.323936643403999e-01 + -6.322149336030685e-01 -6.320356024195775e-01 -6.318556731749607e-01 -6.316751480498738e-01 -6.314940290711796e-01 + -6.313123183267710e-01 -6.311300184615836e-01 -6.309471319109403e-01 -6.307636607640942e-01 -6.305796070902886e-01 + -6.303949730482692e-01 -6.302097608691579e-01 -6.300239725606558e-01 -6.298376103756032e-01 -6.296506769748604e-01 + -6.294631743864889e-01 -6.292751044804592e-01 -6.290864694027335e-01 -6.288972714311484e-01 -6.287075127245377e-01 + -6.285171950849623e-01 -6.283263208775478e-01 -6.281348926187029e-01 -6.279429120773061e-01 -6.277503812180564e-01 + -6.275573022752827e-01 -6.273636774541002e-01 -6.271695087389834e-01 -6.269747979757735e-01 -6.267795473573458e-01 + -6.265837591630624e-01 -6.263874355834504e-01 -6.261905784094625e-01 -6.259931895045528e-01 -6.257952710369122e-01 + -6.255968250363517e-01 -6.253978534898084e-01 -6.251983584520242e-01 -6.249983420853732e-01 -6.247978064572296e-01 + -6.245967533125147e-01 -6.243951846742302e-01 -6.241931026018996e-01 -6.239905086686763e-01 -6.237874050561640e-01 + -6.235837942608177e-01 -6.233796778475696e-01 -6.231750576026635e-01 -6.229699356978790e-01 -6.227643140512986e-01 + -6.225581944126894e-01 -6.223515785171654e-01 -6.221444686516174e-01 -6.219368669106876e-01 -6.217287748516653e-01 + -6.215201944179222e-01 -6.213111276341791e-01 -6.211015763012264e-01 -6.208915420627059e-01 -6.206810267189914e-01 + -6.204700325606027e-01 -6.202585614407183e-01 -6.200466150025669e-01 -6.198341952555039e-01 -6.196213039807257e-01 + -6.194079427661365e-01 -6.191941133919308e-01 -6.189798178811384e-01 -6.187650583625046e-01 -6.185498365366234e-01 + -6.183341539791172e-01 -6.181180123373080e-01 -6.179014136693182e-01 -6.176843597571294e-01 -6.174668518753883e-01 + -6.172488922358068e-01 -6.170304830078728e-01 -6.168116255085183e-01 -6.165923213940302e-01 -6.163725725542526e-01 + -6.161523808379610e-01 -6.159317477445455e-01 -6.157106747923912e-01 -6.154891641891720e-01 -6.152672177134336e-01 + -6.150448367622374e-01 -6.148220230127394e-01 -6.145987783325538e-01 -6.143751045698781e-01 -6.141510029326600e-01 + -6.139264750393221e-01 -6.137015231470567e-01 -6.134761489851926e-01 -6.132503540152313e-01 -6.130241396532106e-01 + -6.127975076851865e-01 -6.125704598048077e-01 -6.123429972989166e-01 -6.121151221351967e-01 -6.118868363314907e-01 + -6.116581411278224e-01 -6.114290380220153e-01 -6.111995287783158e-01 -6.109696151823703e-01 -6.107392985450728e-01 + -6.105085801024925e-01 -6.102774622058419e-01 -6.100459465922933e-01 -6.098140342484372e-01 -6.095817267256873e-01 + -6.093490257933440e-01 -6.091159331809802e-01 -6.088824500709522e-01 -6.086485779905337e-01 -6.084143191489354e-01 + -6.081796748129595e-01 -6.079446461968719e-01 -6.077092351925356e-01 -6.074734432434898e-01 -6.072372716150822e-01 + -6.070007218360295e-01 -6.067637956065657e-01 -6.065264946232775e-01 -6.062888203126375e-01 -6.060507740692458e-01 + -6.058123573561740e-01 -6.055735718185850e-01 -6.053344188005130e-01 -6.050948994718379e-01 -6.048550157592759e-01 + -6.046147693250087e-01 -6.043741612917217e-01 -6.041331930896253e-01 -6.038918662688606e-01 -6.036501823335466e-01 + -6.034081424814672e-01 -6.031657481058161e-01 -6.029230011393863e-01 -6.026799028730719e-01 -6.024364544399844e-01 + -6.021926574869638e-01 -6.019485136055120e-01 -6.017040241022006e-01 -6.014591897708976e-01 -6.012140122415236e-01 + -6.009684936432825e-01 -6.007226351565053e-01 -6.004764378633045e-01 -6.002299030368295e-01 -5.999830322604393e-01 + -5.997358269112610e-01 -5.994882881008079e-01 -5.992404174674395e-01 -5.989922165630734e-01 -5.987436865327392e-01 + -5.984948286273432e-01 -5.982456442781595e-01 -5.979961350600861e-01 -5.977463018616249e-01 -5.974961457245347e-01 + -5.972456688462123e-01 -5.969948725706038e-01 -5.967437577688297e-01 -5.964923259025159e-01 -5.962405782771161e-01 + -5.959885160038786e-01 -5.957361402849749e-01 -5.954834525607696e-01 -5.952304544228757e-01 -5.949771471628894e-01 + -5.947235319540697e-01 -5.944696099654433e-01 -5.942153825546195e-01 -5.939608509107162e-01 -5.937060159741117e-01 + -5.934508794411635e-01 -5.931954428951332e-01 -5.929397071302310e-01 -5.926836734445704e-01 -5.924273432987167e-01 + -5.921707177793331e-01 -5.919137978828047e-01 -5.916565847753502e-01 -5.913990801532651e-01 -5.911412853604616e-01 + -5.908832013941032e-01 -5.906248293335863e-01 -5.903661704565201e-01 -5.901072261246485e-01 -5.898479972855557e-01 + -5.895884850905705e-01 -5.893286910470348e-01 -5.890686164387193e-01 -5.888082623596927e-01 -5.885476297953414e-01 + -5.882867200485414e-01 -5.880255342895034e-01 -5.877640732646211e-01 -5.875023385228563e-01 -5.872403317009627e-01 + -5.869780535979796e-01 -5.867155052441069e-01 -5.864526878805291e-01 -5.861896026754034e-01 -5.859262506932092e-01 + -5.856626329801135e-01 -5.853987507817091e-01 -5.851346053972879e-01 -5.848701980701103e-01 -5.846055297559873e-01 + -5.843406014627009e-01 -5.840754143260567e-01 -5.838099692919883e-01 -5.835442675863415e-01 -5.832783108438364e-01 + -5.830120998737411e-01 -5.827456354637697e-01 -5.824789190313094e-01 -5.822119517157962e-01 -5.819447343999242e-01 + -5.816772678604962e-01 -5.814095534384316e-01 -5.811415926659900e-01 -5.808733865100626e-01 -5.806049358083534e-01 + -5.803362414940428e-01 -5.800673049021045e-01 -5.797981269727348e-01 -5.795287083747186e-01 -5.792590507223763e-01 + -5.789891553127540e-01 -5.787190227795775e-01 -5.784486540773595e-01 -5.781780503537821e-01 -5.779072127885909e-01 + -5.776361421027820e-01 -5.773648392415993e-01 -5.770933058481036e-01 -5.768215427543451e-01 -5.765495506173008e-01 + -5.762773307782053e-01 -5.760048843724456e-01 -5.757322122309633e-01 -5.754593149355522e-01 -5.751861936930261e-01 + -5.749128500443350e-01 -5.746392847733658e-01 -5.743654986749642e-01 -5.740914927526973e-01 -5.738172681170074e-01 + -5.735428256834612e-01 -5.732681661997935e-01 -5.729932909950833e-01 -5.727182011898047e-01 -5.724428973589288e-01 + -5.721673806475209e-01 -5.718916522032619e-01 -5.716157126986885e-01 -5.713395629769044e-01 -5.710632040862346e-01 + -5.707866372440725e-01 -5.705098634203313e-01 -5.702328834166335e-01 -5.699556980810941e-01 -5.696783084118523e-01 + -5.694007154024264e-01 -5.691229196446771e-01 -5.688449222662509e-01 -5.685667247951188e-01 -5.682883277592247e-01 + -5.680097317796297e-01 -5.677309379467054e-01 -5.674519473718960e-01 -5.671727608332666e-01 -5.668933787438524e-01 + -5.666138024324125e-01 -5.663340332775648e-01 -5.660540719736767e-01 -5.657739191147048e-01 -5.654935755198692e-01 + -5.652130424887296e-01 -5.649323205844615e-01 -5.646514102596061e-01 -5.643703131320561e-01 -5.640890302500955e-01 + -5.638075621229782e-01 -5.635259096013298e-01 -5.632440735413435e-01 -5.629620547371306e-01 -5.626798540413637e-01 + -5.623974724401825e-01 -5.621149109968532e-01 -5.618321704141040e-01 -5.615492514232792e-01 -5.612661549867731e-01 + -5.609828820346520e-01 -5.606994332802816e-01 -5.604158091721365e-01 -5.601320109850756e-01 -5.598480400285579e-01 + -5.595638966628304e-01 -5.592795815381203e-01 -5.589950956088516e-01 -5.587104398719418e-01 -5.584256150214867e-01 + -5.581406216413944e-01 -5.578554608147975e-01 -5.575701335442586e-01 -5.572846406020895e-01 -5.569989825973618e-01 + -5.567131602740183e-01 -5.564271745453506e-01 -5.561410260628522e-01 -5.558547156725416e-01 -5.555682445647333e-01 + -5.552816133007876e-01 -5.549948224318785e-01 -5.547078730025937e-01 -5.544207659049382e-01 -5.541335017868810e-01 + -5.538460810525171e-01 -5.535585047530838e-01 -5.532707741030544e-01 -5.529828895161875e-01 -5.526948516856666e-01 + -5.524066615722431e-01 -5.521183198617187e-01 -5.518298271294942e-01 -5.515411840216864e-01 -5.512523916981388e-01 + -5.509634510475757e-01 -5.506743625070015e-01 -5.503851268106821e-01 -5.500957448096843e-01 -5.498062173123895e-01 + -5.495165448046009e-01 -5.492267279674086e-01 -5.489367680360671e-01 -5.486466657159732e-01 -5.483564214808752e-01 + -5.480660360175322e-01 -5.477755101695411e-01 -5.474848446983241e-01 -5.471940399297857e-01 -5.469030967097296e-01 + -5.466120162347039e-01 -5.463207992130580e-01 -5.460294461220425e-01 -5.457379574365921e-01 -5.454463341419615e-01 + -5.451545769787555e-01 -5.448626863052353e-01 -5.445706629798505e-01 -5.442785079610155e-01 -5.439862220351145e-01 + -5.436938056623958e-01 -5.434012594168094e-01 -5.431085842649811e-01 -5.428157805859503e-01 -5.425228488112607e-01 + -5.422297902211034e-01 -5.419366056396356e-01 -5.416432955189590e-01 -5.413498603513526e-01 -5.410563008101139e-01 + -5.407626176406882e-01 -5.404688113584152e-01 -5.401748827259091e-01 -5.398808327262222e-01 -5.395866619984641e-01 + -5.392923710452394e-01 -5.389979603718316e-01 -5.387034307479797e-01 -5.384087828255361e-01 -5.381140170098579e-01 + -5.378191341794292e-01 -5.375241352697128e-01 -5.372290208939874e-01 -5.369337913756430e-01 -5.366384472427702e-01 + -5.363429897090184e-01 -5.360474189692397e-01 -5.357517350808286e-01 -5.354559397287709e-01 -5.351600336380363e-01 + -5.348640167550405e-01 -5.345678898586708e-01 -5.342716537895550e-01 -5.339753091509816e-01 -5.336788560795809e-01 + -5.333822952812678e-01 -5.330856281219807e-01 -5.327888549366336e-01 -5.324919760228772e-01 -5.321949921530423e-01 + -5.318979038948367e-01 -5.316007117591099e-01 -5.313034163655616e-01 -5.310060185016283e-01 -5.307085188690476e-01 + -5.304109178113635e-01 -5.301132159560333e-01 -5.298154141057816e-01 -5.295175129068631e-01 -5.292195125739295e-01 + -5.289214133220888e-01 -5.286232164928936e-01 -5.283249229043371e-01 -5.280265326905970e-01 -5.277280463629660e-01 + -5.274294646406563e-01 -5.271307882435877e-01 -5.268320172699235e-01 -5.265331522204252e-01 -5.262341943956992e-01 + -5.259351442515741e-01 -5.256360020246456e-01 -5.253367683007200e-01 -5.250374438802079e-01 -5.247380293156688e-01 + -5.244385244793137e-01 -5.241389303158239e-01 -5.238392481089597e-01 -5.235394779437145e-01 -5.232396201567239e-01 + -5.229396754457293e-01 -5.226396444439171e-01 -5.223395275325885e-01 -5.220393250130385e-01 -5.217390378529512e-01 + -5.214386667612969e-01 -5.211382119631184e-01 -5.208376739941909e-01 -5.205370535049869e-01 -5.202363510969753e-01 + -5.199355670763710e-01 -5.196347019022574e-01 -5.193337564915598e-01 -5.190327313042545e-01 -5.187316266472318e-01 + -5.184304431068453e-01 -5.181291813913007e-01 -5.178278420262173e-01 -5.175264249304404e-01 -5.172249309061349e-01 + -5.169233612064826e-01 -5.166217158673360e-01 -5.163199951550123e-01 -5.160181998004911e-01 -5.157163303784532e-01 + -5.154143871836301e-01 -5.151123703899823e-01 -5.148102810445049e-01 -5.145081200022412e-01 -5.142058873966443e-01 + -5.139035834879907e-01 -5.136012088439446e-01 -5.132987643470369e-01 -5.129962500176725e-01 -5.126936660139045e-01 + -5.123910137907831e-01 -5.120882937169244e-01 -5.117855056864241e-01 -5.114826505830118e-01 -5.111797289351894e-01 + -5.108767409175631e-01 -5.105736869791608e-01 -5.102705678009448e-01 -5.099673841164564e-01 -5.096641361609235e-01 + -5.093608243087677e-01 -5.090574492425100e-01 -5.087540114820200e-01 -5.084505112619658e-01 -5.081469486274651e-01 + -5.078433245912960e-01 -5.075396400795943e-01 -5.072358951124865e-01 -5.069320899536702e-01 -5.066282251477461e-01 + -5.063243014155288e-01 -5.060203189866231e-01 -5.057162780382299e-01 -5.054121795257869e-01 -5.051080240346536e-01 + -5.048038117428125e-01 -5.044995428560932e-01 -5.041952179946867e-01 -5.038908379779851e-01 -5.035864027540428e-01 + -5.032819126747086e-01 -5.029773687584369e-01 -5.026727713803431e-01 -5.023681207203433e-01 -5.020634170773620e-01 + -5.017586611304518e-01 -5.014538534087800e-01 -5.011489939472488e-01 -5.008440834008399e-01 -5.005391225202214e-01 + -5.002341114848970e-01 -4.999290507534227e-01 -4.996239408965545e-01 -4.993187821357916e-01 -4.990135746184980e-01 + -4.987083187010172e-01 -4.984030154770353e-01 -4.980976654859903e-01 -4.977922686591017e-01 -4.974868253646026e-01 + -4.971813362150598e-01 -4.968758018164073e-01 -4.965702219796178e-01 -4.962645970518764e-01 -4.959589283986423e-01 + -4.956532161259331e-01 -4.953474601672504e-01 -4.950416611894621e-01 -4.947358197709370e-01 -4.944299362131679e-01 + -4.941240104625670e-01 -4.938180432013966e-01 -4.935120353360559e-01 -4.932059869696777e-01 -4.928998983832586e-01 + -4.925937700937396e-01 -4.922876025288242e-01 -4.919813957951697e-01 -4.916751499430368e-01 -4.913688660561277e-01 + -4.910625447982750e-01 -4.907561860728009e-01 -4.904497902858990e-01 -4.901433579647613e-01 -4.898368894758774e-01 + -4.895303847877975e-01 -4.892238442443610e-01 -4.889172690570770e-01 -4.886106594399146e-01 -4.883040152916479e-01 + -4.879973371198497e-01 -4.876906255185612e-01 -4.873838808516193e-01 -4.870771028969680e-01 -4.867702923235035e-01 + -4.864634502410182e-01 -4.861565765237592e-01 -4.858496713307078e-01 -4.855427352755911e-01 -4.852357685536697e-01 + -4.849287714451036e-01 -4.846217444589359e-01 -4.843146879997467e-01 -4.840076025123002e-01 -4.837004885060202e-01 + -4.833933461066379e-01 -4.830861755003688e-01 -4.827789772517898e-01 -4.824717516127337e-01 -4.821644988235214e-01 + -4.818572195031119e-01 -4.815499140763169e-01 -4.812425828318353e-01 -4.809352261296052e-01 -4.806278443199989e-01 + -4.803204376463540e-01 -4.800130060714603e-01 -4.797055501717924e-01 -4.793980709573083e-01 -4.790905684347367e-01 + -4.787830426340720e-01 -4.784754939887473e-01 -4.781679231200341e-01 -4.778603302286951e-01 -4.775527150015833e-01 + -4.772450784284375e-01 -4.769374213667171e-01 -4.766297434623847e-01 -4.763220450397429e-01 -4.760143266869929e-01 + -4.757065886153464e-01 -4.753988310011543e-01 -4.750910541528841e-01 -4.747832586964973e-01 -4.744754450010169e-01 + -4.741676132522562e-01 -4.738597638648681e-01 -4.735518971269201e-01 -4.732440131603057e-01 -4.729361121339242e-01 + -4.726281945136708e-01 -4.723202610280838e-01 -4.720123119889466e-01 -4.717043475548789e-01 -4.713963678930571e-01 + -4.710883732580126e-01 -4.707803639362851e-01 -4.704723402372425e-01 -4.701643027667922e-01 -4.698562520096238e-01 + -4.695481878708884e-01 -4.692401107063794e-01 -4.689320210638210e-01 -4.686239190614940e-01 -4.683158048406638e-01 + -4.680076787162389e-01 -4.676995413185929e-01 -4.673913930202820e-01 -4.670832339045677e-01 -4.667750641928977e-01 + -4.664668842720264e-01 -4.661586945788764e-01 -4.658504950199774e-01 -4.655422858974875e-01 -4.652340682220931e-01 + -4.649258420178881e-01 -4.646176071935555e-01 -4.643093642460228e-01 -4.640011135361189e-01 -4.636928552533583e-01 + -4.633845894780055e-01 -4.630763167063440e-01 -4.627680375263447e-01 -4.624597520114774e-01 -4.621514604268375e-01 + -4.618431632080228e-01 -4.615348605890552e-01 -4.612265525685530e-01 -4.609182391698630e-01 -4.606099213200685e-01 + -4.603015994943055e-01 -4.599932734377760e-01 -4.596849434943749e-01 -4.593766101319814e-01 -4.590682736286037e-01 + -4.587599339472412e-01 -4.584515913122191e-01 -4.581432465762054e-01 -4.578348999443045e-01 -4.575265513883392e-01 + -4.572182012155285e-01 -4.569098498253546e-01 -4.566014974456956e-01 -4.562931438038699e-01 -4.559847894939479e-01 + -4.556764355440957e-01 -4.553680818446301e-01 -4.550597283221777e-01 -4.547513752454754e-01 -4.544430231318768e-01 + -4.541346721146189e-01 -4.538263219879204e-01 -4.535179736207505e-01 -4.532096276207381e-01 -4.529012837320638e-01 + -4.525929421989657e-01 -4.522846033793929e-01 -4.519762674029318e-01 -4.516679344715044e-01 -4.513596049388520e-01 + -4.510512793496801e-01 -4.507429578901284e-01 -4.504346405869434e-01 -4.501263277269192e-01 -4.498180196893253e-01 + -4.495097167463535e-01 -4.492014186979058e-01 -4.488931259139300e-01 -4.485848392328776e-01 -4.482765586745183e-01 + -4.479682843350483e-01 -4.476600166157323e-01 -4.473517555800268e-01 -4.470435013321629e-01 -4.467352542154915e-01 + -4.464270145748750e-01 -4.461187827567155e-01 -4.458105590951706e-01 -4.455023436689998e-01 -4.451941365719282e-01 + -4.448859382022067e-01 -4.445777486373541e-01 -4.442695679571050e-01 -4.439613968717006e-01 -4.436532356916815e-01 + -4.433450843880059e-01 -4.430369431657580e-01 -4.427288122616561e-01 -4.424206918620519e-01 -4.421125820372482e-01 + -4.418044832064567e-01 -4.414963960811867e-01 -4.411883204960218e-01 -4.408802564087612e-01 -4.405722043668788e-01 + -4.402641646390490e-01 -4.399561373068210e-01 -4.396481224088197e-01 -4.393401203468038e-01 -4.390321316119934e-01 + -4.387241564347777e-01 -4.384161947343386e-01 -4.381082465266398e-01 -4.378003125430411e-01 -4.374923928277115e-01 + -4.371844871230922e-01 -4.368765963346815e-01 -4.365687207997857e-01 -4.362608601883623e-01 -4.359530147661063e-01 + -4.356451849773876e-01 -4.353373711547212e-01 -4.350295729831375e-01 -4.347217906709347e-01 -4.344140253247259e-01 + -4.341062767701542e-01 -4.337985447574569e-01 -4.334908298973194e-01 -4.331831324142745e-01 -4.328754522838512e-01 + -4.325677895304312e-01 -4.322601446380396e-01 -4.319525182069930e-01 -4.316449103351276e-01 -4.313373209430619e-01 + -4.310297500384340e-01 -4.307221981580691e-01 -4.304146654764764e-01 -4.301071518609876e-01 -4.297996578556980e-01 + -4.294921838432407e-01 -4.291847298181669e-01 -4.288772959356691e-01 -4.285698824691314e-01 -4.282624896947286e-01 + -4.279551173581843e-01 -4.276477655542056e-01 -4.273404353166645e-01 -4.270331268873108e-01 -4.267258400671970e-01 + -4.264185747737768e-01 -4.261113314513503e-01 -4.258041105111009e-01 -4.254969114260224e-01 -4.251897346526543e-01 + -4.248825811839114e-01 -4.245754507348872e-01 -4.242683433304872e-01 -4.239612594489042e-01 -4.236541990429175e-01 + -4.233471621233121e-01 -4.230401489624036e-01 -4.227331599159186e-01 -4.224261953202194e-01 -4.221192554076946e-01 + -4.218123401221037e-01 -4.215054495276057e-01 -4.211985840665567e-01 -4.208917437341202e-01 -4.205849285470991e-01 + -4.202781391077526e-01 -4.199713756820169e-01 -4.196646382796324e-01 -4.193579269625680e-01 -4.190512419898234e-01 + -4.187445835885104e-01 -4.184379514023820e-01 -4.181313458657921e-01 -4.178247679943504e-01 -4.175182174706034e-01 + -4.172116941638125e-01 -4.169051985589959e-01 -4.165987308801878e-01 -4.162922910262470e-01 -4.159858787333477e-01 + -4.156794948456864e-01 -4.153731400237493e-01 -4.150668138055245e-01 -4.147605162480433e-01 -4.144542477033889e-01 + -4.141480084083939e-01 -4.138417983331389e-01 -4.135356175072968e-01 -4.132294665425894e-01 -4.129233456523720e-01 + -4.126172547353913e-01 -4.123111939769975e-01 -4.120051637027982e-01 -4.116991641480549e-01 -4.113931948631621e-01 + -4.110872561089984e-01 -4.107813489720965e-01 -4.104754732505308e-01 -4.101696286974395e-01 -4.098638156566466e-01 + -4.095580344057681e-01 -4.092522850492459e-01 -4.089465675148873e-01 -4.086408821301867e-01 -4.083352292811099e-01 + -4.080296090087697e-01 -4.077240214925531e-01 -4.074184669621912e-01 -4.071129454474836e-01 -4.068074568206541e-01 + -4.065020011172992e-01 -4.061965792344674e-01 -4.058911914234347e-01 -4.055858372701102e-01 -4.052805169731385e-01 + -4.049752308691225e-01 -4.046699791746853e-01 -4.043647616984872e-01 -4.040595785275335e-01 -4.037544302850327e-01 + -4.034493171430220e-01 -4.031442391412985e-01 -4.028391964411297e-01 -4.025341890399178e-01 -4.022292169515432e-01 + -4.019242804318620e-01 -4.016193797575413e-01 -4.013145151618574e-01 -4.010096867767989e-01 -4.007048946739946e-01 + -4.004001389575452e-01 -4.000954199442892e-01 -3.997907376333255e-01 -3.994860918450180e-01 -3.991814831388100e-01 + -3.988769118682245e-01 -3.985723779299208e-01 -3.982678813725196e-01 -3.979634224118638e-01 -3.976590013430957e-01 + -3.973546179557737e-01 -3.970502723184750e-01 -3.967459652757308e-01 -3.964416967373386e-01 -3.961374664325438e-01 + -3.958332748416728e-01 -3.955291221412219e-01 -3.952250082276700e-01 -3.949209329883424e-01 -3.946168969005399e-01 + -3.943129006192436e-01 -3.940089438207542e-01 -3.937050264421336e-01 -3.934011488327164e-01 -3.930973111392007e-01 + -3.927935133510078e-01 -3.924897554398895e-01 -3.921860379028622e-01 -3.918823611410527e-01 -3.915787251272155e-01 + -3.912751296302741e-01 -3.909715747221262e-01 -3.906680610479274e-01 -3.903645884467465e-01 -3.900611567141484e-01 + -3.897577665105899e-01 -3.894544180732338e-01 -3.891511112918067e-01 -3.888478460867855e-01 -3.885446227676595e-01 + -3.882414417069796e-01 -3.879383024897914e-01 -3.876352053351357e-01 -3.873321510269954e-01 -3.870291394376005e-01 + -3.867261704550462e-01 -3.864232442776043e-01 -3.861203610538394e-01 -3.858175208256477e-01 -3.855147235659399e-01 + -3.852119696012977e-01 -3.849092593053318e-01 -3.846065928280623e-01 -3.843039700003283e-01 -3.840013907871894e-01 + -3.836988557264463e-01 -3.833963646642737e-01 -3.830939173673272e-01 -3.827915146861536e-01 -3.824891567344230e-01 + -3.821868431312930e-01 -3.818845742897094e-01 -3.815823505036508e-01 -3.812801717050347e-01 -3.809780375081945e-01 + -3.806759481537249e-01 -3.803739045452896e-01 -3.800719066553854e-01 -3.797699542729503e-01 -3.794680474344709e-01 + -3.791661864151066e-01 -3.788643713579414e-01 -3.785626020610045e-01 -3.782608787892401e-01 -3.779592019649877e-01 + -3.776575717504184e-01 -3.773559879986245e-01 -3.770544506277551e-01 -3.767529601718599e-01 -3.764515165488658e-01 + -3.761501194541416e-01 -3.758487697291592e-01 -3.755474675286999e-01 -3.752462123142175e-01 -3.749450044400430e-01 + -3.746438442933219e-01 -3.743427319385532e-01 -3.740416670860849e-01 -3.737406497610264e-01 -3.734396805632812e-01 + -3.731387597991040e-01 -3.728378873981389e-01 -3.725370629746288e-01 -3.722362869751284e-01 -3.719355598195744e-01 + -3.716348809475082e-01 -3.713342505611615e-01 -3.710336692885385e-01 -3.707331373206220e-01 -3.704326544188714e-01 + -3.701322203470578e-01 -3.698318357923215e-01 -3.695315007664240e-01 -3.692312147431765e-01 -3.689309784821330e-01 + -3.686307923312130e-01 -3.683306558583173e-01 -3.680305692832940e-01 -3.677305328772401e-01 -3.674305466155561e-01 + -3.671306102835627e-01 -3.668307239979260e-01 -3.665308885123383e-01 -3.662311039528895e-01 -3.659313700864294e-01 + -3.656316867340536e-01 -3.653320542170925e-01 -3.650324728818179e-01 -3.647329423252613e-01 -3.644334627823841e-01 + -3.641340348652060e-01 -3.638346584224414e-01 -3.635353333854674e-01 -3.632360599381753e-01 -3.629368383087880e-01 + -3.626376683911322e-01 -3.623385498640058e-01 -3.620394834143431e-01 -3.617404694429358e-01 -3.614415075289109e-01 + -3.611425978472304e-01 -3.608437406892576e-01 -3.605449360396625e-01 -3.602461837170217e-01 -3.599474837636126e-01 + -3.596488368123176e-01 -3.593502429497555e-01 -3.590517019950174e-01 -3.587532141258951e-01 -3.584547794364419e-01 + -3.581563978967544e-01 -3.578580694598877e-01 -3.575597943932133e-01 -3.572615731273898e-01 -3.569634054963255e-01 + -3.566652915450074e-01 -3.563672316398869e-01 -3.560692255181004e-01 -3.557712730433470e-01 -3.554733745722332e-01 + -3.551755304325120e-01 -3.548777407381354e-01 -3.545800053200450e-01 -3.542823243820459e-01 -3.539846981602633e-01 + -3.536871265064687e-01 -3.533896092936707e-01 -3.530921466577667e-01 -3.527947392696623e-01 -3.524973870763591e-01 + -3.522000896417020e-01 -3.519028473926252e-01 -3.516056606257513e-01 -3.513085292624320e-01 -3.510114529438408e-01 + -3.507144318797571e-01 -3.504174668509267e-01 -3.501205576763053e-01 -3.498237041407538e-01 -3.495269064579332e-01 + -3.492301648012658e-01 -3.489334792023763e-01 -3.486368495320163e-01 -3.483402759532310e-01 -3.480437587608516e-01 + -3.477472981563033e-01 -3.474508940116457e-01 -3.471545462266357e-01 -3.468582552838557e-01 -3.465620210594309e-01 + -3.462658431862374e-01 -3.459697223261950e-01 -3.456736587298253e-01 -3.453776521244075e-01 -3.450817025977070e-01 + -3.447858103250944e-01 -3.444899754033867e-01 -3.441941976114102e-01 -3.438984770490408e-01 -3.436028143288083e-01 + -3.433072093931014e-01 -3.430116620696204e-01 -3.427161725111446e-01 -3.424207408695913e-01 -3.421253671506906e-01 + -3.418300511322294e-01 -3.415347931565998e-01 -3.412395936962896e-01 -3.409444525560181e-01 -3.406493696743920e-01 + -3.403543451949735e-01 -3.400593792856730e-01 -3.397644718554241e-01 -3.394696227303268e-01 -3.391748324448361e-01 + -3.388801012525273e-01 -3.385854289098167e-01 -3.382908154719833e-01 -3.379962610967925e-01 -3.377017658856785e-01 + -3.374073296405456e-01 -3.371129523992028e-01 -3.368186347618567e-01 -3.365243767275647e-01 -3.362301780997549e-01 + -3.359360390044588e-01 -3.356419595939377e-01 -3.353479398983790e-01 -3.350539796822969e-01 -3.347600792157354e-01 + -3.344662390001809e-01 -3.341724588683134e-01 -3.338787387386647e-01 -3.335850787505256e-01 -3.332914790393797e-01 + -3.329979395469141e-01 -3.327044601082655e-01 -3.324110411740308e-01 -3.321176830325031e-01 -3.318243854727410e-01 + -3.315311485033696e-01 -3.312379722613320e-01 -3.309448568815591e-01 -3.306518021855764e-01 -3.303588081394571e-01 + -3.300658753265905e-01 -3.297730038003383e-01 -3.294801933460689e-01 -3.291874440822869e-01 -3.288947561448500e-01 + -3.286021295596533e-01 -3.283095641084477e-01 -3.280170600152969e-01 -3.277246178092963e-01 -3.274322373144385e-01 + -3.271399184133136e-01 -3.268476612759387e-01 -3.265554660369243e-01 -3.262633326374516e-01 -3.259712608638953e-01 + -3.256792511518811e-01 -3.253873038511834e-01 -3.250954187049387e-01 -3.248035957166725e-01 -3.245118350464998e-01 + -3.242201368055027e-01 -3.239285008232202e-01 -3.236369270127419e-01 -3.233454159517716e-01 -3.230539677655248e-01 + -3.227625822208953e-01 -3.224712593689608e-01 -3.221799993547627e-01 -3.218888022707884e-01 -3.215976678728723e-01 + -3.213065962862219e-01 -3.210155880538063e-01 -3.207246430922022e-01 -3.204337612603162e-01 -3.201429426545060e-01 + -3.198521874188910e-01 -3.195614955407240e-01 -3.192708667833873e-01 -3.189803015317205e-01 -3.186898001852494e-01 + -3.183993624745159e-01 -3.181089883645859e-01 -3.178186780215274e-01 -3.175284315788672e-01 -3.172382488912609e-01 + -3.169481298117736e-01 -3.166580748847834e-01 -3.163680842820584e-01 -3.160781577505636e-01 -3.157882953403168e-01 + -3.154984971942622e-01 -3.152087634033934e-01 -3.149190937439705e-01 -3.146294882798918e-01 -3.143399475483734e-01 + -3.140504715109739e-01 -3.137610600081304e-01 -3.134717131245625e-01 -3.131824310053718e-01 -3.128932136614712e-01 + -3.126040608259110e-01 -3.123149728003283e-01 -3.120259500284038e-01 -3.117369923103007e-01 -3.114480995811182e-01 + -3.111592719695180e-01 -3.108705096041851e-01 -3.105818123704323e-01 -3.102931800853200e-01 -3.100046132424714e-01 + -3.097161120700553e-01 -3.094276763275429e-01 -3.091393060498078e-01 -3.088510013669117e-01 -3.085627623567511e-01 + -3.082745888090075e-01 -3.079864807413559e-01 -3.076984387104112e-01 -3.074104627037881e-01 -3.071225525229602e-01 + -3.068347082674415e-01 -3.065469300647063e-01 -3.062592179233167e-01 -3.059715715883658e-01 -3.056839913222955e-01 + -3.053964776128304e-01 -3.051090302429263e-01 -3.048216491115613e-01 -3.045343343664140e-01 -3.042470861256498e-01 + -3.039599042912569e-01 -3.036727886539801e-01 -3.033857396783212e-01 -3.030987576532087e-01 -3.028118423290159e-01 + -3.025249936916685e-01 -3.022382118572411e-01 -3.019514969324824e-01 -3.016648487319269e-01 -3.013782672163520e-01 + -3.010917529380510e-01 -3.008053059332530e-01 -3.005189259718208e-01 -3.002326131255288e-01 -2.999463675243501e-01 + -2.996601892115071e-01 -2.993740779431134e-01 -2.990880338991673e-01 -2.988020575697556e-01 -2.985161488129333e-01 + -2.982303074956766e-01 -2.979445337070337e-01 -2.976588275957710e-01 -2.973731891105994e-01 -2.970876179949718e-01 + -2.968021146693378e-01 -2.965166794729635e-01 -2.962313121299224e-01 -2.959460126205053e-01 -2.956607810824475e-01 + -2.953756176130727e-01 -2.950905220348498e-01 -2.948054942542040e-01 -2.945205348259674e-01 -2.942356438398593e-01 + -2.939508210351428e-01 -2.936660664737455e-01 -2.933813802767271e-01 -2.930967624892026e-01 -2.928122128931882e-01 + -2.925277316158055e-01 -2.922433191494531e-01 -2.919589753765323e-01 -2.916747001400424e-01 -2.913904935350139e-01 + -2.911063557118664e-01 -2.908222866434848e-01 -2.905382860439090e-01 -2.902543542778646e-01 -2.899704917370004e-01 + -2.896866981425306e-01 -2.894029734511842e-01 -2.891193178139609e-01 -2.888357313345801e-01 -2.885522138545054e-01 + -2.882687652243500e-01 -2.879853859636904e-01 -2.877020762131379e-01 -2.874188357014512e-01 -2.871356645025479e-01 + -2.868525627422169e-01 -2.865695304469716e-01 -2.862865673963798e-01 -2.860036736642309e-01 -2.857208497673618e-01 + -2.854380956360413e-01 -2.851554110854154e-01 -2.848727961880673e-01 -2.845902510831507e-01 -2.843077757793696e-01 + -2.840253700094237e-01 -2.837430340397069e-01 -2.834607682748240e-01 -2.831785725328111e-01 -2.828964467316310e-01 + -2.826143909542473e-01 -2.823324053101364e-01 -2.820504896922502e-01 -2.817686439371250e-01 -2.814868685136343e-01 + -2.812051636152371e-01 -2.809235289745332e-01 -2.806419646055033e-01 -2.803604706362606e-01 -2.800790471610514e-01 + -2.797976939416736e-01 -2.795164109639519e-01 -2.792351987736799e-01 -2.789540573481899e-01 -2.786729864814172e-01 + -2.783919862645312e-01 -2.781110567914744e-01 -2.778301980476193e-01 -2.775494098202491e-01 -2.772686923282846e-01 + -2.769880459823117e-01 -2.767074706347814e-01 -2.764269661749121e-01 -2.761465326612197e-01 -2.758661702373058e-01 + -2.755858788282252e-01 -2.753056582075042e-01 -2.750255088041456e-01 -2.747454308713073e-01 -2.744654241403574e-01 + -2.741854886058927e-01 -2.739056243892176e-01 -2.736258315782464e-01 -2.733461099674180e-01 -2.730664595012521e-01 + -2.727868807168794e-01 -2.725073736368404e-01 -2.722279380246611e-01 -2.719485739535283e-01 -2.716692815376729e-01 + -2.713900607905190e-01 -2.711109114418696e-01 -2.708318336740216e-01 -2.705528279896257e-01 -2.702738942089605e-01 + -2.699950321750810e-01 -2.697162419812612e-01 -2.694375237750356e-01 -2.691588774953904e-01 -2.688803028674867e-01 + -2.686018002777490e-01 -2.683233700490228e-01 -2.680450119322323e-01 -2.677667258920440e-01 -2.674885120321642e-01 + -2.672103704327183e-01 -2.669323009240009e-01 -2.666543034142266e-01 -2.663763784024609e-01 -2.660985259744725e-01 + -2.658207458961011e-01 -2.655430381891060e-01 -2.652654029648259e-01 -2.649878402880381e-01 -2.647103499069445e-01 + -2.644329319184849e-01 -2.641555868035665e-01 -2.638783144422805e-01 -2.636011146840161e-01 -2.633239876271375e-01 + -2.630469333706403e-01 -2.627699518665801e-01 -2.624930428881614e-01 -2.622162067361601e-01 -2.619394437425979e-01 + -2.616627537197243e-01 -2.613861365959049e-01 -2.611095924398818e-01 -2.608331213683194e-01 -2.605567232565551e-01 + -2.602803979638560e-01 -2.600041459185203e-01 -2.597279672559259e-01 -2.594518617711524e-01 -2.591758294668244e-01 + -2.588998704444723e-01 -2.586239847880919e-01 -2.583481722507706e-01 -2.580724328621725e-01 -2.577967671126083e-01 + -2.575211749406902e-01 -2.572456561780725e-01 -2.569702108956164e-01 -2.566948391959332e-01 -2.564195410517088e-01 + -2.561443162003717e-01 -2.558691649278121e-01 -2.555940876367002e-01 -2.553190840839927e-01 -2.550441541814838e-01 + -2.547692980445108e-01 -2.544945157803290e-01 -2.542198072584164e-01 -2.539451722830000e-01 -2.536706112997469e-01 + -2.533961245035316e-01 -2.531217116489478e-01 -2.528473727232912e-01 -2.525731078267265e-01 -2.522989170513077e-01 + -2.520248001810547e-01 -2.517507572028029e-01 -2.514767886096237e-01 -2.512028943623831e-01 -2.509290742545349e-01 + -2.506553283625735e-01 -2.503816568034038e-01 -2.501080595782905e-01 -2.498345364108095e-01 -2.495610875124447e-01 + -2.492877133133172e-01 -2.490144136112123e-01 -2.487411882994743e-01 -2.484680374856057e-01 -2.481949612635986e-01 + -2.479219595287280e-01 -2.476490320734136e-01 -2.473761793087864e-01 -2.471034014703498e-01 -2.468306982957061e-01 + -2.465580697844871e-01 -2.462855160432138e-01 -2.460130371204629e-01 -2.457406328233614e-01 -2.454683031113906e-01 + -2.451960484794311e-01 -2.449238689415910e-01 -2.446517642712055e-01 -2.443797345227543e-01 -2.441077797933181e-01 + -2.438359000947776e-01 -2.435640951889690e-01 -2.432923652315951e-01 -2.430207106571287e-01 -2.427491313175689e-01 + -2.424776270783986e-01 -2.422061980074125e-01 -2.419348442072336e-01 -2.416635656192684e-01 -2.413923620306189e-01 + -2.411212337762792e-01 -2.408501811283544e-01 -2.405792038734625e-01 -2.403083019688687e-01 -2.400374754936993e-01 + -2.397667245256450e-01 -2.394960488977194e-01 -2.392254485194238e-01 -2.389549238762380e-01 -2.386844750244205e-01 + -2.384141017100180e-01 -2.381438039886236e-01 -2.378735819631148e-01 -2.376034356560101e-01 -2.373333648418426e-01 + -2.370633696160408e-01 -2.367934504134751e-01 -2.365236071336530e-01 -2.362538396334552e-01 -2.359841479713349e-01 + -2.357145322333765e-01 -2.354449923780104e-01 -2.351755281955192e-01 -2.349061399838227e-01 -2.346368280467886e-01 + -2.343675921502802e-01 -2.340984322401892e-01 -2.338293484224673e-01 -2.335603407944267e-01 -2.332914091991481e-01 + -2.330225534791031e-01 -2.327537740958542e-01 -2.324850711724544e-01 -2.322164444575208e-01 -2.319478939696494e-01 + -2.316794198107119e-01 -2.314110220364787e-01 -2.311427004172850e-01 -2.308744549913938e-01 -2.306062862221652e-01 + -2.303381940399467e-01 -2.300701782673901e-01 -2.298022389505013e-01 -2.295343762055658e-01 -2.292665900251787e-01 + -2.289988801367178e-01 -2.287312467963517e-01 -2.284636903804389e-01 -2.281962106639611e-01 -2.279288075702767e-01 + -2.276614812041137e-01 -2.273942316314865e-01 -2.271270587234099e-01 -2.268599623216859e-01 -2.265929428586625e-01 + -2.263260004971463e-01 -2.260591349680134e-01 -2.257923462859340e-01 -2.255256345570404e-01 -2.252589998316905e-01 + -2.249924418873443e-01 -2.247259607239798e-01 -2.244595568451081e-01 -2.241932301870257e-01 -2.239269805236896e-01 + -2.236608079513920e-01 -2.233947125724077e-01 -2.231286943677930e-01 -2.228627530899186e-01 -2.225968889349937e-01 + -2.223311022938890e-01 -2.220653929888047e-01 -2.217997609137618e-01 -2.215342061492806e-01 -2.212687287997047e-01 + -2.210033287645195e-01 -2.207380058226258e-01 -2.204727603658667e-01 -2.202075926188733e-01 -2.199425023254976e-01 + -2.196774894791217e-01 -2.194125541827232e-01 -2.191476964953657e-01 -2.188829162198361e-01 -2.186182133017065e-01 + -2.183535882155842e-01 -2.180890409721393e-01 -2.178245713492862e-01 -2.175601793915103e-01 -2.172958651996608e-01 + -2.170316287941991e-01 -2.167674699222372e-01 -2.165033887351043e-01 -2.162393856655618e-01 -2.159754605317784e-01 + -2.157116131976179e-01 -2.154478437626437e-01 -2.151841523053365e-01 -2.149205387568082e-01 -2.146570029331132e-01 + -2.143935451423346e-01 -2.141301656253313e-01 -2.138668641770334e-01 -2.136036407648879e-01 -2.133404954698548e-01 + -2.130774283590253e-01 -2.128144392711416e-01 -2.125515281171839e-01 -2.122886953403734e-01 -2.120259409959825e-01 + -2.117632648531722e-01 -2.115006669388265e-01 -2.112381473557379e-01 -2.109757061544524e-01 -2.107133431005909e-01 + -2.104510582708100e-01 -2.101888520817322e-01 -2.099267244352251e-01 -2.096646751892664e-01 -2.094027043922436e-01 + -2.091408121382980e-01 -2.088789983898283e-01 -2.086172629233026e-01 -2.083556060294393e-01 -2.080940280081475e-01 + -2.078325286261216e-01 -2.075711078316715e-01 -2.073097657230958e-01 -2.070485023681648e-01 -2.067873176254528e-01 + -2.065262113703670e-01 -2.062651840261599e-01 -2.060042356935543e-01 -2.057433661320316e-01 -2.054825753736384e-01 + -2.052218635119340e-01 -2.049612305777034e-01 -2.047006763593381e-01 -2.044402009029163e-01 -2.041798046444743e-01 + -2.039194875091236e-01 -2.036592493288050e-01 -2.033990901597007e-01 -2.031390101041152e-01 -2.028790091364410e-01 + -2.026190869860804e-01 -2.023592439213894e-01 -2.020994803209571e-01 -2.018397959336108e-01 -2.015801906636277e-01 + -2.013206646163115e-01 -2.010612178968381e-01 -2.008018503846473e-01 -2.005425618909167e-01 -2.002833527994660e-01 + -2.000242232866459e-01 -1.997651731545872e-01 -1.995062023757428e-01 -1.992473110134654e-01 -1.989884991329442e-01 + -1.987297665552775e-01 -1.984711132804359e-01 -1.982125397288479e-01 -1.979540458641874e-01 -1.976956315048893e-01 + -1.974372966986851e-01 -1.971790415364275e-01 -1.969208660181268e-01 -1.966627699138122e-01 -1.964047534115951e-01 + -1.961468168792641e-01 -1.958889601415059e-01 -1.956311830976701e-01 -1.953734858227050e-01 -1.951158683885618e-01 + -1.948583307060198e-01 -1.946008726082255e-01 -1.943434944554087e-01 -1.940861964418109e-01 -1.938289783248288e-01 + -1.935718400929853e-01 -1.933147818435645e-01 -1.930578036445209e-01 -1.928009053047615e-01 -1.925440867668252e-01 + -1.922873484836986e-01 -1.920306904586313e-01 -1.917741124759950e-01 -1.915176145882685e-01 -1.912611968971867e-01 + -1.910048594156118e-01 -1.907486018758652e-01 -1.904924244300230e-01 -1.902363275204000e-01 -1.899803109613821e-01 + -1.897243746214878e-01 -1.894685186111405e-01 -1.892127429944364e-01 -1.889570476814606e-01 -1.887014324762902e-01 + -1.884458977092228e-01 -1.881904436322386e-01 -1.879350700181010e-01 -1.876797768445363e-01 -1.874245641980662e-01 + -1.871694321106837e-01 -1.869143804464632e-01 -1.866594091449939e-01 -1.864045185802509e-01 -1.861497088150435e-01 + -1.858949796742653e-01 -1.856403311585743e-01 -1.853857633524328e-01 -1.851312763093270e-01 -1.848768697910832e-01 + -1.846225438828809e-01 -1.843682990131126e-01 -1.841141350478542e-01 -1.838600518410295e-01 -1.836060494900988e-01 + -1.833521280737523e-01 -1.830982875326949e-01 -1.828445276569093e-01 -1.825908487213151e-01 -1.823372510073639e-01 + -1.820837342990139e-01 -1.818302985608840e-01 -1.815769438919524e-01 -1.813236703339543e-01 -1.810704777470943e-01 + -1.808173660274447e-01 -1.805643355946649e-01 -1.803113865319381e-01 -1.800585185867421e-01 -1.798057318207557e-01 + -1.795530263298101e-01 -1.793004021140676e-01 -1.790478589821669e-01 -1.787953969871552e-01 -1.785430165333783e-01 + -1.782907175616041e-01 -1.780384999147782e-01 -1.777863636186671e-01 -1.775343087850783e-01 -1.772823354138563e-01 + -1.770304432439544e-01 -1.767786324996124e-01 -1.765269035206169e-01 -1.762752561209628e-01 -1.760236902365481e-01 + -1.757722059508868e-01 -1.755208033072168e-01 -1.752694821962465e-01 -1.750182424985018e-01 -1.747670845873172e-01 + -1.745160085943736e-01 -1.742650142826787e-01 -1.740141016708582e-01 -1.737632708599284e-01 -1.735125219002990e-01 + -1.732618545819516e-01 -1.730112688968157e-01 -1.727607652962038e-01 -1.725103437360838e-01 -1.722600040199003e-01 + -1.720097462053399e-01 -1.717595703957765e-01 -1.715094765937824e-01 -1.712594645505801e-01 -1.710095344617568e-01 + -1.707596867053610e-01 -1.705099210652020e-01 -1.702602374503936e-01 -1.700106359820640e-01 -1.697611167032507e-01 + -1.695116795170456e-01 -1.692623242857098e-01 -1.690130513415946e-01 -1.687638608735592e-01 -1.685147526839133e-01 + -1.682657267304136e-01 -1.680167830834059e-01 -1.677679218434041e-01 -1.675191428301483e-01 -1.672704459776749e-01 + -1.670218317162355e-01 -1.667733000505553e-01 -1.665248507843929e-01 -1.662764839848620e-01 -1.660281997331086e-01 + -1.657799980211539e-01 -1.655318786421316e-01 -1.652838417439954e-01 -1.650358877061586e-01 -1.647880163635810e-01 + -1.645402275978841e-01 -1.642925215033296e-01 -1.640448981629310e-01 -1.637973575048030e-01 -1.635498993322754e-01 + -1.633025239587731e-01 -1.630552316214122e-01 -1.628080220971913e-01 -1.625608953706327e-01 -1.623138515347123e-01 + -1.620668906280902e-01 -1.618200125176413e-01 -1.615732171440627e-01 -1.613265048790783e-01 -1.610798757703294e-01 + -1.608333296326273e-01 -1.605868664946396e-01 -1.603404864451659e-01 -1.600941895233320e-01 -1.598479755194739e-01 + -1.596018445089071e-01 -1.593557968710357e-01 -1.591098325274174e-01 -1.588639513462271e-01 -1.586181533501567e-01 + -1.583724386633118e-01 -1.581268072684121e-01 -1.578812589110151e-01 -1.576357938605635e-01 -1.573904124176000e-01 + -1.571451143885420e-01 -1.568998997115455e-01 -1.566547684551118e-01 -1.564097207009810e-01 -1.561647563377750e-01 + -1.559198752534892e-01 -1.556750777971572e-01 -1.554303640753041e-01 -1.551857339241298e-01 -1.549411873472499e-01 + -1.546967244117141e-01 -1.544523451583313e-01 -1.542080493972972e-01 -1.539638371771692e-01 -1.537197089019022e-01 + -1.534756644902717e-01 -1.532317037874507e-01 -1.529878268669247e-01 -1.527440338285302e-01 -1.525003246495042e-01 + -1.522566990917994e-01 -1.520131573865194e-01 -1.517696998607227e-01 -1.515263263105132e-01 -1.512830366842278e-01 + -1.510398310896279e-01 -1.507967095609423e-01 -1.505536719818633e-01 -1.503107182379510e-01 -1.500678487166025e-01 + -1.498250635429138e-01 -1.495823624607518e-01 -1.493397455183047e-01 -1.490972128240516e-01 -1.488547643939502e-01 + -1.486124000468938e-01 -1.483701197975273e-01 -1.481279240643807e-01 -1.478858128086334e-01 -1.476437858541442e-01 + -1.474018432575297e-01 -1.471599850901578e-01 -1.469182113447434e-01 -1.466765218581870e-01 -1.464349167991909e-01 + -1.461933964691583e-01 -1.459519607332137e-01 -1.457106095126376e-01 -1.454693428712828e-01 -1.452281609001614e-01 + -1.449870635167667e-01 -1.447460505411944e-01 -1.445051223204885e-01 -1.442642790465533e-01 -1.440235204958664e-01 + -1.437828466645076e-01 -1.435422576460715e-01 -1.433017535021517e-01 -1.430613340788666e-01 -1.428209993367665e-01 + -1.425807496580667e-01 -1.423405850452980e-01 -1.421005053276286e-01 -1.418605105748216e-01 -1.416206008760722e-01 + -1.413807762310167e-01 -1.411410364179444e-01 -1.409013815814383e-01 -1.406618121114770e-01 -1.404223278620860e-01 + -1.401829287142080e-01 -1.399436147388266e-01 -1.397043860171121e-01 -1.394652424999606e-01 -1.392261840277533e-01 + -1.389872108800275e-01 -1.387483232704581e-01 -1.385095210193419e-01 -1.382708041155041e-01 -1.380321726381191e-01 + -1.377936266235328e-01 -1.375551659356028e-01 -1.373167905196480e-01 -1.370785007699294e-01 -1.368402967462084e-01 + -1.366021782602805e-01 -1.363641453151502e-01 -1.361261980034910e-01 -1.358883363925467e-01 -1.356505602730137e-01 + -1.354128697173978e-01 -1.351752651019714e-01 -1.349377463365720e-01 -1.347003133096952e-01 -1.344629660943524e-01 + -1.342257047644556e-01 -1.339885292721434e-01 -1.337514394288152e-01 -1.335144355004790e-01 -1.332775177574095e-01 + -1.330406860095451e-01 -1.328039402156265e-01 -1.325672804621033e-01 -1.323307068237664e-01 -1.320942191803451e-01 + -1.318578174250235e-01 -1.316215019436967e-01 -1.313852728254415e-01 -1.311491298574344e-01 -1.309130730812647e-01 + -1.306771025967214e-01 -1.304412184433993e-01 -1.302054204167683e-01 -1.299697085633917e-01 -1.297340833011096e-01 + -1.294985445422908e-01 -1.292630921400970e-01 -1.290277262032818e-01 -1.287924468024440e-01 -1.285572538860320e-01 + -1.283221472565841e-01 -1.280871271607027e-01 -1.278521939245786e-01 -1.276173473594251e-01 -1.273825873815436e-01 + -1.271479140654554e-01 -1.269133275291332e-01 -1.266788276689478e-01 -1.264444143112885e-01 -1.262100878411512e-01 + -1.259758484249543e-01 -1.257416958580221e-01 -1.255076301118343e-01 -1.252736512740011e-01 -1.250397594556589e-01 + -1.248059544551782e-01 -1.245722362561283e-01 -1.243386053032582e-01 -1.241050615437150e-01 -1.238716047916152e-01 + -1.236382351439431e-01 -1.234049527007845e-01 -1.231717574487822e-01 -1.229386491649988e-01 -1.227056280466961e-01 + -1.224726944551588e-01 -1.222398481939305e-01 -1.220070891810755e-01 -1.217744175349468e-01 -1.215418333321439e-01 + -1.213093364896874e-01 -1.210769268543440e-01 -1.208446047468073e-01 -1.206123703546746e-01 -1.203802234985189e-01 + -1.201481641556592e-01 -1.199161924040098e-01 -1.196843083373426e-01 -1.194525118101599e-01 -1.192208027778711e-01 + -1.189891816158967e-01 -1.187576483334740e-01 -1.185262027772708e-01 -1.182948450325541e-01 -1.180635751718018e-01 + -1.178323931740712e-01 -1.176012988598141e-01 -1.173702923768903e-01 -1.171393740841554e-01 -1.169085438684581e-01 + -1.166778016318426e-01 -1.164471474323627e-01 -1.162165813372163e-01 -1.159861033094216e-01 -1.157557132288848e-01 + -1.155254113554128e-01 -1.152951978878259e-01 -1.150650726784410e-01 -1.148350356935617e-01 -1.146050869998271e-01 + -1.143752266983624e-01 -1.141454546633286e-01 -1.139157708150553e-01 -1.136861755297615e-01 -1.134566688685596e-01 + -1.132272506625232e-01 -1.129979209389772e-01 -1.127686797968139e-01 -1.125395272939830e-01 -1.123104632216639e-01 + -1.120814876598629e-01 -1.118526009932446e-01 -1.116238031362107e-01 -1.113950939743172e-01 -1.111664735714766e-01 + -1.109379420230661e-01 -1.107094992989161e-01 -1.104811452047023e-01 -1.102528800189790e-01 -1.100247040176238e-01 + -1.097966169898620e-01 -1.095686189066022e-01 -1.093407098806465e-01 -1.091128899944971e-01 -1.088851591239916e-01 + -1.086575171512236e-01 -1.084299644451029e-01 -1.082025011238454e-01 -1.079751270251657e-01 -1.077478421434466e-01 + -1.075206465724022e-01 -1.072935404061887e-01 -1.070665234272605e-01 -1.068395956686409e-01 -1.066127575621145e-01 + -1.063860090403522e-01 -1.061593499609373e-01 -1.059327804074918e-01 -1.057063004552603e-01 -1.054799100848440e-01 + -1.052536091459819e-01 -1.050273978363624e-01 -1.048012764247322e-01 -1.045752447992682e-01 -1.043493029044653e-01 + -1.041234507912105e-01 -1.038976885616201e-01 -1.036720161437409e-01 -1.034464334142674e-01 -1.032209407082870e-01 + -1.029955381585720e-01 -1.027702255852857e-01 -1.025450030256683e-01 -1.023198705766582e-01 -1.020948282803886e-01 + -1.018698759615270e-01 -1.016450136357437e-01 -1.014202417243671e-01 -1.011955602054591e-01 -1.009709689162001e-01 + -1.007464679013254e-01 -1.005220572777319e-01 -1.002977370772110e-01 -1.000735070732387e-01 -9.984936745539402e-02 + -9.962531858349888e-02 -9.940136027998529e-02 -9.917749246814733e-02 -9.895371525770333e-02 -9.873002873335845e-02 + -9.850643282337790e-02 -9.828292738770521e-02 -9.805951276903688e-02 -9.783618914357473e-02 -9.761295629040607e-02 + -9.738981424317925e-02 -9.716676311420755e-02 -9.694380293900719e-02 -9.672093359332221e-02 -9.649815506782670e-02 + -9.627546771326484e-02 -9.605287156919239e-02 -9.583036651098850e-02 -9.560795255252680e-02 -9.538562978098189e-02 + -9.516339824129488e-02 -9.494125774199282e-02 -9.471920843970391e-02 -9.449725071216948e-02 -9.427538438593883e-02 + -9.405360936874554e-02 -9.383192580278800e-02 -9.361033376064058e-02 -9.338883317577901e-02 -9.316742389906425e-02 + -9.294610622995669e-02 -9.272488039403920e-02 -9.250374621386263e-02 -9.228270367992475e-02 -9.206175287916113e-02 + -9.184089387273792e-02 -9.162012656935895e-02 -9.139945093572596e-02 -9.117886729658348e-02 -9.095837571294788e-02 + -9.073797605928635e-02 -9.051766837713708e-02 -9.029745274779008e-02 -9.007732920697027e-02 -8.985729759887780e-02 + -8.963735802530043e-02 -8.941751083887589e-02 -8.919775594907166e-02 -8.897809325953572e-02 -8.875852286193828e-02 + -8.853904483959285e-02 -8.831965916578795e-02 -8.810036569419880e-02 -8.788116467295366e-02 -8.766205635082600e-02 + -8.744304058057480e-02 -8.722411733824492e-02 -8.700528670561582e-02 -8.678654875532379e-02 -8.656790339361393e-02 + -8.634935054757228e-02 -8.613089058374623e-02 -8.591252359970507e-02 -8.569424942256174e-02 -8.547606809595372e-02 + -8.525797972327777e-02 -8.503998436304407e-02 -8.482208183975883e-02 -8.460427219735964e-02 -8.438655581333676e-02 + -8.416893266387415e-02 -8.395140264416648e-02 -8.373396580036768e-02 -8.351662221748458e-02 -8.329937190808817e-02 + -8.308221474187347e-02 -8.286515089972675e-02 -8.264818063381729e-02 -8.243130387381740e-02 -8.221452057360500e-02 + -8.199783077068876e-02 -8.178123458056528e-02 -8.156473193866548e-02 -8.134832272179610e-02 -8.113200727104515e-02 + -8.091578573554094e-02 -8.069965795549490e-02 -8.048362394306618e-02 -8.026768379237301e-02 -8.005183759034226e-02 + -7.983608519016389e-02 -7.962042660317335e-02 -7.940486220827629e-02 -7.918939199917317e-02 -7.897401585103307e-02 + -7.875873382193239e-02 -7.854354599947752e-02 -7.832845240531904e-02 -7.811345290511561e-02 -7.789854765910142e-02 + -7.768373695009409e-02 -7.746902070156129e-02 -7.725439886068521e-02 -7.703987147751143e-02 -7.682543865920169e-02 + -7.661110037032860e-02 -7.639685648697914e-02 -7.618270730319152e-02 -7.596865299784139e-02 -7.575469343456721e-02 + -7.554082861289950e-02 -7.532705861915691e-02 -7.511338355056779e-02 -7.489980327273796e-02 -7.468631776375068e-02 + -7.447292742489155e-02 -7.425963225373161e-02 -7.404643208981297e-02 -7.383332706618533e-02 -7.362031725942129e-02 + -7.340740264369265e-02 -7.319458312424655e-02 -7.298185885257603e-02 -7.276923011698885e-02 -7.255669681825400e-02 + -7.234425890125808e-02 -7.213191646645117e-02 -7.191966959969415e-02 -7.170751827394115e-02 -7.149546237742448e-02 + -7.128350216363183e-02 -7.107163782537941e-02 -7.085986923051370e-02 -7.064819639413342e-02 -7.043661941815849e-02 + -7.022513838389523e-02 -7.001375316964638e-02 -6.980246372359999e-02 -6.959127044971054e-02 -6.938017339783993e-02 + -6.916917238807876e-02 -6.895826751099868e-02 -6.874745887832359e-02 -6.853674652264935e-02 -6.832613029387129e-02 + -6.811561029537151e-02 -6.790518687416305e-02 -6.769485994872884e-02 -6.748462944761908e-02 -6.727449549181348e-02 + -6.706445814195625e-02 -6.685451736224034e-02 -6.664467305023641e-02 -6.643492546019260e-02 -6.622527482862205e-02 + -6.601572100856345e-02 -6.580626400049541e-02 -6.559690390732385e-02 -6.538764078471235e-02 -6.517847455920224e-02 + -6.496940519404462e-02 -6.476043303620643e-02 -6.455155816426872e-02 -6.434278041275177e-02 -6.413409988235154e-02 + -6.392551667227454e-02 -6.371703078482928e-02 -6.350864213121965e-02 -6.330035079826633e-02 -6.309215709125325e-02 + -6.288406097171770e-02 -6.267606236590158e-02 -6.246816137578116e-02 -6.226035810132791e-02 -6.205265253482506e-02 + -6.184504450634240e-02 -6.163753424009603e-02 -6.143012204113525e-02 -6.122280779495761e-02 -6.101559145710207e-02 + -6.080847310111580e-02 -6.060145284620669e-02 -6.039453063876327e-02 -6.018770637541451e-02 -5.998098039534337e-02 + -5.977435284136760e-02 -5.956782355675167e-02 -5.936139258218223e-02 -5.915506002510895e-02 -5.894882595975996e-02 + -5.874269025717062e-02 -5.853665294379332e-02 -5.833071438748900e-02 -5.812487459491447e-02 -5.791913345983549e-02 + -5.771349104248068e-02 -5.750794745476003e-02 -5.730250273990040e-02 -5.709715674449271e-02 -5.689190963313420e-02 + -5.668676170442684e-02 -5.648171287301057e-02 -5.627676311138611e-02 -5.607191251359627e-02 -5.586716116856662e-02 + -5.566250902085241e-02 -5.545795595276776e-02 -5.525350230977423e-02 -5.504914828197500e-02 -5.484489368806074e-02 + -5.464073856561743e-02 -5.443668303623681e-02 -5.423272717677420e-02 -5.402887087270093e-02 -5.382511411736842e-02 + -5.362145727556954e-02 -5.341790037997223e-02 -5.321444331788154e-02 -5.301108618236487e-02 -5.280782907094528e-02 + -5.260467200594416e-02 -5.240161485390568e-02 -5.219865776343095e-02 -5.199580105954085e-02 -5.179304465507040e-02 + -5.159038850941820e-02 -5.138783273765680e-02 -5.118537740030552e-02 -5.098302246878324e-02 -5.078076787428482e-02 + -5.057861387937131e-02 -5.037656068404879e-02 -5.017460818262723e-02 -4.997275637519877e-02 -4.977100534878579e-02 + -4.956935521374012e-02 -4.936780587637167e-02 -4.916635729330274e-02 -4.896500983679772e-02 -4.876376358063662e-02 + -4.856261839799727e-02 -4.836157437280066e-02 -4.816063160553166e-02 -4.795979012910388e-02 -4.775904981223175e-02 + -4.755841077230219e-02 -4.735787336181510e-02 -4.715743752596301e-02 -4.695710319390285e-02 -4.675687045398216e-02 + -4.655673941737810e-02 -4.635671009364274e-02 -4.615678236145827e-02 -4.595695644691457e-02 -4.575723258610617e-02 + -4.555761069075770e-02 -4.535809077212207e-02 -4.515867291944397e-02 -4.495935719937229e-02 -4.476014355843901e-02 + -4.456103197632578e-02 -4.436202279051898e-02 -4.416311608901573e-02 -4.396431172960501e-02 -4.376560979706327e-02 + -4.356701040970479e-02 -4.336851362154585e-02 -4.317011930970618e-02 -4.297182755295056e-02 -4.277363871130811e-02 + -4.257555275870079e-02 -4.237756961321195e-02 -4.217968936488893e-02 -4.198191211978222e-02 -4.178423789759614e-02 + -4.158666657665847e-02 -4.138919837391426e-02 -4.119183356383482e-02 -4.099457203865310e-02 -4.079741379048268e-02 + -4.060035892668235e-02 -4.040340754077800e-02 -4.020655958670875e-02 -4.000981499812348e-02 -3.981317410229721e-02 + -3.961663704352115e-02 -3.942020369405195e-02 -3.922387410519079e-02 -3.902764838570288e-02 -3.883152661169272e-02 + -3.863550868276464e-02 -3.843959464464100e-02 -3.824378485096525e-02 -3.804807931112070e-02 -3.785247793879744e-02 + -3.765698082240899e-02 -3.746158806803077e-02 -3.726629970906549e-02 -3.707111562537097e-02 -3.687603600301111e-02 + -3.668106114329449e-02 -3.648619095542227e-02 -3.629142541706046e-02 -3.609676463615045e-02 -3.590220871216067e-02 + -3.570775761915167e-02 -3.551341127587861e-02 -3.531916998478909e-02 -3.512503392646860e-02 -3.493100298239093e-02 + -3.473707719308593e-02 -3.454325666569649e-02 -3.434954148093054e-02 -3.415593156072503e-02 -3.396242692622412e-02 + -3.376902792182854e-02 -3.357573459185429e-02 -3.338254684613227e-02 -3.318946476737597e-02 -3.299648846264201e-02 + -3.280361798076661e-02 -3.261085320981364e-02 -3.241819429994710e-02 -3.222564156785773e-02 -3.203319495411584e-02 + -3.184085442350271e-02 -3.164862007407277e-02 -3.145649201602077e-02 -3.126447024597763e-02 -3.107255466700169e-02 + -3.088074555671056e-02 -3.068904313085425e-02 -3.049744727803826e-02 -3.030595802638682e-02 -3.011457548570120e-02 + -2.992329974875160e-02 -2.973213075050443e-02 -2.954106848293515e-02 -2.935011329195715e-02 -2.915926525661732e-02 + -2.896852427673346e-02 -2.877789042941862e-02 -2.858736382466336e-02 -2.839694452567641e-02 -2.820663243092813e-02 + -2.801642765839682e-02 -2.782633053619610e-02 -2.763634102981755e-02 -2.744645909471058e-02 -2.725668483048721e-02 + -2.706701834793413e-02 -2.687745966148872e-02 -2.668800867127078e-02 -2.649866562411629e-02 -2.630943076513501e-02 + -2.612030399888650e-02 -2.593128533989631e-02 -2.574237489560391e-02 -2.555357276907920e-02 -2.536487891525730e-02 + -2.517629330290238e-02 -2.498781626631630e-02 -2.479944791947400e-02 -2.461118815951395e-02 -2.442303705775731e-02 + -2.423499472682666e-02 -2.404706124098910e-02 -2.385923651050157e-02 -2.367152062237768e-02 -2.348391391197065e-02 + -2.329641637680258e-02 -2.310902796361102e-02 -2.292174876507744e-02 -2.273457889435020e-02 -2.254751838574287e-02 + -2.236056713942959e-02 -2.217372537079298e-02 -2.198699334983061e-02 -2.180037099746794e-02 -2.161385831877313e-02 + -2.142745542221016e-02 -2.124116241611923e-02 -2.105497927356034e-02 -2.086890594375282e-02 -2.068294274565517e-02 + -2.049708982965088e-02 -2.031134709508492e-02 -2.012571460207244e-02 -1.994019246558534e-02 -1.975478077426674e-02 + -1.956947944878238e-02 -1.938428854559868e-02 -1.919920840769478e-02 -1.901423906121075e-02 -1.882938044349050e-02 + -1.864463264867233e-02 -1.845999578941159e-02 -1.827546991282947e-02 -1.809105492490821e-02 -1.790675101318496e-02 + -1.772255847013706e-02 -1.753847723077995e-02 -1.735450728912205e-02 -1.717064875577919e-02 -1.698690174123156e-02 + -1.680326624034783e-02 -1.661974219495428e-02 -1.643632989539235e-02 -1.625302952284425e-02 -1.606984099009794e-02 + -1.588676434582367e-02 -1.570379970237604e-02 -1.552094715767664e-02 -1.533820665109939e-02 -1.515557821470722e-02 + -1.497306218983010e-02 -1.479065863118324e-02 -1.460836746737021e-02 -1.442618879376636e-02 -1.424412272699600e-02 + -1.406216932715821e-02 -1.388032850365394e-02 -1.369860041414062e-02 -1.351698537084881e-02 -1.333548332713773e-02 + -1.315409426742165e-02 -1.297281830737383e-02 -1.279165555870565e-02 -1.261060603011550e-02 -1.242966965324022e-02 + -1.224884670128487e-02 -1.206813738892206e-02 -1.188754163203305e-02 -1.170705946859269e-02 -1.152669101347058e-02 + -1.134643637569507e-02 -1.116629550991553e-02 -1.098626842139487e-02 -1.080635544822676e-02 -1.062655668128806e-02 + -1.044687204494093e-02 -1.026730162280993e-02 -1.008784553433474e-02 -9.908503858526582e-03 -9.729276511698201e-03 + -9.550163618928804e-03 -9.371165505355611e-03 -9.192282154920128e-03 -9.013513542246960e-03 -8.834859775588668e-03 + -8.656320970291077e-03 -8.477897155130903e-03 -8.299588259899083e-03 -8.121394531144674e-03 -7.943316209259341e-03 + -7.765353219198069e-03 -7.587505591333328e-03 -7.409773443860054e-03 -7.232156891183837e-03 -7.054655906230881e-03 + -6.877270474033493e-03 -6.700000921715352e-03 -6.522847372218281e-03 -6.345809748257097e-03 -6.168888131399519e-03 + -5.992082642122597e-03 -5.815393366379400e-03 -5.638820235869921e-03 -5.462363348533388e-03 -5.286023033805962e-03 + -5.109799304673499e-03 -4.933692127821829e-03 -4.757701606393674e-03 -4.581827861470766e-03 -4.406070940931505e-03 + -4.230430770274698e-03 -4.054907567997104e-03 -3.879501600335772e-03 -3.704212807069328e-03 -3.529041210474627e-03 + -3.353986930090703e-03 -3.179050081041732e-03 -3.004230655593028e-03 -2.829528626659512e-03 -2.654944304289923e-03 + -2.480477843039907e-03 -2.306129168890747e-03 -2.131898354626704e-03 -1.957785522367332e-03 -1.783790769612464e-03 + -1.609914041309663e-03 -1.436155409326836e-03 -1.262515208025358e-03 -1.088993476198761e-03 -9.155901719868249e-04 + -7.423054008843995e-04 -5.691392854771952e-04 -3.960918865957833e-04 -2.231631331613931e-04 -5.035321608514060e-05 + 1.223375771945329e-04 2.949092895407656e-04 4.673619084872533e-04 6.396953140537370e-04 8.119093865188150e-04 + 9.840041155727759e-04 1.155979539871523e-03 1.327835367602612e-03 1.499571413663267e-03 1.671187748049661e-03 + 1.842684305331169e-03 2.014060960896812e-03 2.185317608856639e-03 2.356454289147141e-03 2.527470954200780e-03 + 2.698367270832486e-03 2.869143169831049e-03 3.039798698561594e-03 3.210333755176400e-03 3.380748214685887e-03 + 3.551042001872539e-03 3.721215182132198e-03 3.891267592694254e-03 4.061198929412137e-03 4.231009214636464e-03 + 4.400698444839332e-03 4.570266499650065e-03 4.739713256426893e-03 4.909038688279234e-03 5.078242841339914e-03 + 5.247325443294046e-03 5.416286280121805e-03 5.585125417934797e-03 5.753842797319914e-03 5.922438289361948e-03 + 6.090911784292105e-03 6.259263304936011e-03 6.427492823105761e-03 6.595600012759487e-03 6.763584774419725e-03 + 6.931447157908777e-03 7.099187064683324e-03 7.266804368739545e-03 7.434298984071849e-03 7.601670964899477e-03 + 7.768920175905106e-03 7.936046303989365e-03 8.103049345026314e-03 8.269929303195386e-03 8.436686062480435e-03 + 8.603319496825714e-03 8.769829559891583e-03 8.936216298209541e-03 9.102479469308070e-03 9.268618835503980e-03 + 9.434634442417017e-03 9.600526244002849e-03 9.766294116521254e-03 9.931937936947469e-03 1.009745771049027e-02 + 1.026285342997890e-02 1.042812477681206e-02 1.059327162144324e-02 1.075829401681754e-02 1.092319186819127e-02 + 1.108796504594824e-02 1.125261345370748e-02 1.141713713772357e-02 1.158153598704318e-02 1.174580967555363e-02 + 1.190995817803677e-02 1.207398151021485e-02 1.223787955540131e-02 1.240165218070774e-02 1.256529932365555e-02 + 1.272882103806231e-02 1.289221710280211e-02 1.305548725320952e-02 1.321863152957668e-02 1.338164989105289e-02 + 1.354454220587777e-02 1.370730835288826e-02 1.386994832163190e-02 1.403246211588375e-02 1.419484943187744e-02 + 1.435711010999991e-02 1.451924419921884e-02 1.468125161270911e-02 1.484313222013652e-02 1.500488591571896e-02 + 1.516651273046586e-02 1.532801257754355e-02 1.548938513124086e-02 1.565063033579857e-02 1.581174821092933e-02 + 1.597273864701365e-02 1.613360150922888e-02 1.629433671764488e-02 1.645494432276120e-02 1.661542413184349e-02 + 1.677577586209575e-02 1.693599953321696e-02 1.709609511287956e-02 1.725606247097126e-02 1.741590148147653e-02 + 1.757561211738663e-02 1.773519439308624e-02 1.789464801957598e-02 1.805397280960725e-02 1.821316881163111e-02 + 1.837223594327105e-02 1.853117406905512e-02 1.868998307594014e-02 1.884866298214414e-02 1.900721372338833e-02 + 1.916563497459167e-02 1.932392665507269e-02 1.948208878919649e-02 1.964012126059438e-02 1.979802393750615e-02 + 1.995579673545799e-02 2.011343968946751e-02 2.027095263124555e-02 2.042833526879373e-02 2.058558759933038e-02 + 2.074270959919291e-02 2.089970114286997e-02 2.105656209513535e-02 2.121329241031374e-02 2.136989211400533e-02 + 2.152636093833320e-02 2.168269866776463e-02 2.183890534086288e-02 2.199498088647827e-02 2.215092516911965e-02 + 2.230673806408907e-02 2.246241957468516e-02 2.261796965793072e-02 2.277338799181243e-02 2.292867446749406e-02 + 2.308382911412376e-02 2.323885181888266e-02 2.339374244699652e-02 2.354850090287507e-02 2.370312721409915e-02 + 2.385762123470989e-02 2.401198266010886e-02 2.416621147301771e-02 2.432030765671687e-02 2.447427107682733e-02 + 2.462810160176357e-02 2.478179917471193e-02 2.493536381795363e-02 2.508879528739230e-02 2.524209334527653e-02 + 2.539525801488748e-02 2.554828923354157e-02 2.570118686847216e-02 2.585395079171064e-02 2.600658098606827e-02 + 2.615907742012537e-02 2.631143978762620e-02 2.646366795301069e-02 2.661576194257877e-02 2.676772164859378e-02 + 2.691954693391293e-02 2.707123769272043e-02 2.722279394328245e-02 2.737421556407061e-02 2.752550224474631e-02 + 2.767665393933695e-02 2.782767063812680e-02 2.797855221700411e-02 2.812929853552858e-02 2.827990951702357e-02 + 2.843038519104858e-02 2.858072533585580e-02 2.873092969062032e-02 2.888099827101270e-02 2.903093101911967e-02 + 2.918072779556083e-02 2.933038847140823e-02 2.947991301658642e-02 2.962930141213865e-02 2.977855336278226e-02 + 2.992766870509821e-02 3.007664746318324e-02 3.022548953626840e-02 3.037419478553557e-02 3.052276309616091e-02 + 3.067119447416764e-02 3.081948881896879e-02 3.096764581778017e-02 3.111566540198458e-02 3.126354756710210e-02 + 3.141129218718559e-02 3.155889912410548e-02 3.170636829125183e-02 3.185369970791438e-02 3.200089317518744e-02 + 3.214794841776677e-02 3.229486543634106e-02 3.244164418203412e-02 3.258828451581320e-02 3.273478630264194e-02 + 3.288114949586567e-02 3.302737408530167e-02 3.317345979235018e-02 3.331940642975919e-02 3.346521401820098e-02 + 3.361088246101045e-02 3.375641161607764e-02 3.390180136352038e-02 3.404705169548587e-02 3.419216253016829e-02 + 3.433713355905806e-02 3.448196468652563e-02 3.462665590981111e-02 3.477120710939272e-02 3.491561814527116e-02 + 3.505988891618091e-02 3.520401943397326e-02 3.534800952666442e-02 3.549185891051008e-02 3.563556756111654e-02 + 3.577913543618631e-02 3.592256240340591e-02 3.606584831947614e-02 3.620899312153205e-02 3.635199681091714e-02 + 3.649485912620978e-02 3.663757985375464e-02 3.678015900636063e-02 3.692259649832257e-02 3.706489218607827e-02 + 3.720704593508108e-02 3.734905772908955e-02 3.749092751022131e-02 3.763265496742431e-02 3.777423997951684e-02 + 3.791568254953915e-02 3.805698256030369e-02 3.819813986869797e-02 3.833915436267914e-02 3.848002605018682e-02 + 3.862075477984065e-02 3.876134025391093e-02 3.890178243600422e-02 3.904208129158644e-02 3.918223668100989e-02 + 3.932224846044379e-02 3.946211655605483e-02 3.960184097189857e-02 3.974142146457355e-02 3.988085779819951e-02 + 4.002014997942075e-02 4.015929792921669e-02 4.029830150192959e-02 4.043716055991190e-02 4.057587507004282e-02 + 4.071444498657769e-02 4.085287001066611e-02 4.099114999824743e-02 4.112928495212512e-02 4.126727475679569e-02 + 4.140511926665246e-02 4.154281836167219e-02 4.168037204269245e-02 4.181778018003033e-02 4.195504246778908e-02 + 4.209215884913708e-02 4.222912929605258e-02 4.236595366776428e-02 4.250263182248033e-02 4.263916367566677e-02 + 4.277554922465009e-02 4.291178824859961e-02 4.304788049654025e-02 4.318382596138427e-02 4.331962457087349e-02 + 4.345527617981602e-02 4.359078064797250e-02 4.372613792550029e-02 4.386134797486977e-02 4.399641051415262e-02 + 4.413132537776133e-02 4.426609256403441e-02 4.440071196061698e-02 4.453518342174363e-02 4.466950682320869e-02 + 4.480368214879805e-02 4.493770928728694e-02 4.507158793990715e-02 4.520531802497359e-02 4.533889951667943e-02 + 4.547233228082954e-02 4.560561616979211e-02 4.573875108353129e-02 4.587173702317195e-02 4.600457379177124e-02 + 4.613726112101928e-02 4.626979898466685e-02 4.640218731770854e-02 4.653442597807410e-02 4.666651481740990e-02 + 4.679845378497393e-02 4.693024287357150e-02 4.706188178521280e-02 4.719337030512012e-02 4.732470843170088e-02 + 4.745589609974604e-02 4.758693317708736e-02 4.771781949014568e-02 4.784855500276729e-02 4.797913963655120e-02 + 4.810957311625792e-02 4.823985532440599e-02 4.836998622519359e-02 4.849996572088229e-02 4.862979364778694e-02 + 4.875946986129576e-02 4.888899438454671e-02 4.901836703838853e-02 4.914758752328308e-02 4.927665585368439e-02 + 4.940557196434897e-02 4.953433564666962e-02 4.966294680168561e-02 4.979140536998770e-02 4.991971127467005e-02 + 5.004786430086550e-02 5.017586426593462e-02 5.030371111424699e-02 5.043140473941395e-02 5.055894500969876e-02 + 5.068633180855401e-02 5.081356509387767e-02 5.094064477169723e-02 5.106757053524139e-02 5.119434226596677e-02 + 5.132095996453229e-02 5.144742351517578e-02 5.157373274644007e-02 5.169988750799723e-02 5.182588783131492e-02 + 5.195173357105356e-02 5.207742440366903e-02 5.220296027189056e-02 5.232834113948501e-02 5.245356688434039e-02 + 5.257863735375337e-02 5.270355244318054e-02 5.282831211610928e-02 5.295291615700908e-02 5.307736435753736e-02 + 5.320165668494783e-02 5.332579302368824e-02 5.344977322479061e-02 5.357359720391287e-02 5.369726488407797e-02 + 5.382077614890905e-02 5.394413077320572e-02 5.406732861255047e-02 5.419036960275756e-02 5.431325364836510e-02 + 5.443598061485443e-02 5.455855035736775e-02 5.468096283548277e-02 5.480321791614200e-02 5.492531533836561e-02 + 5.504725504027442e-02 5.516903696522249e-02 5.529066094250196e-02 5.541212681912044e-02 5.553343451105355e-02 + 5.565458402054679e-02 5.577557512714444e-02 5.589640757833542e-02 5.601708136214176e-02 5.613759637012277e-02 + 5.625795242697428e-02 5.637814944133901e-02 5.649818735356010e-02 5.661806606948155e-02 5.673778531909066e-02 + 5.685734496106067e-02 5.697674499811992e-02 5.709598525886500e-02 5.721506557962035e-02 5.733398588420521e-02 + 5.745274613557275e-02 5.757134619305772e-02 5.768978576165893e-02 5.780806477237931e-02 5.792618319490116e-02 + 5.804414085654030e-02 5.816193759992416e-02 5.827957333255503e-02 5.839704805764100e-02 5.851436157058919e-02 + 5.863151359019340e-02 5.874850407742044e-02 5.886533297606138e-02 5.898200016057164e-02 5.909850545490182e-02 + 5.921484876799358e-02 5.933103006596772e-02 5.944704910278828e-02 5.956290569090495e-02 5.967859979076014e-02 + 5.979413129454921e-02 5.990950006107775e-02 6.002470595625681e-02 6.013974894676900e-02 6.025462892974234e-02 + 6.036934559538653e-02 6.048389882575328e-02 6.059828859366181e-02 6.071251478747773e-02 6.082657726499330e-02 + 6.094047589468096e-02 6.105421060960093e-02 6.116778124880510e-02 6.128118760026364e-02 6.139442960439424e-02 + 6.150750715787331e-02 6.162042008748835e-02 6.173316829355946e-02 6.184575170612789e-02 6.195817023946892e-02 + 6.207042366308074e-02 6.218251178412997e-02 6.229443455021107e-02 6.240619187345142e-02 6.251778362644587e-02 + 6.262920965673664e-02 6.274046989094115e-02 6.285156423838029e-02 6.296249246083868e-02 6.307325441937692e-02 + 6.318385004239983e-02 6.329427920287174e-02 6.340454177652059e-02 6.351463766120390e-02 6.362456678994362e-02 + 6.373432899407734e-02 6.384392402667542e-02 6.395335181995393e-02 6.406261231361865e-02 6.417170537725830e-02 + 6.428063082883417e-02 6.438938856382127e-02 6.449797859582693e-02 6.460640069400744e-02 6.471465460887021e-02 + 6.482274028565467e-02 6.493065766530991e-02 6.503840663024645e-02 6.514598697176463e-02 6.525339863731919e-02 + 6.536064160053869e-02 6.546771556229376e-02 6.557462036169828e-02 6.568135597564134e-02 6.578792228094754e-02 + 6.589431913461476e-02 6.600054641494822e-02 6.610660407274732e-02 6.621249195669229e-02 6.631820979208959e-02 + 6.642375751800587e-02 6.652913508526218e-02 6.663434233390064e-02 6.673937912206085e-02 6.684424535139094e-02 + 6.694894096694531e-02 6.705346576057515e-02 6.715781952052316e-02 6.726200223606826e-02 6.736601378290344e-02 + 6.746985396850236e-02 6.757352270136854e-02 6.767701992273348e-02 6.778034554033589e-02 6.788349929667206e-02 + 6.798648102682574e-02 6.808929069330329e-02 6.819192820375723e-02 6.829439341428477e-02 6.839668615716293e-02 + 6.849880637697058e-02 6.860075397106770e-02 6.870252870886938e-02 6.880413046413429e-02 6.890555915577500e-02 + 6.900681468090485e-02 6.910789689150486e-02 6.920880565820778e-02 6.930954094436353e-02 6.941010257623929e-02 + 6.951049032497619e-02 6.961070411466443e-02 6.971074386483528e-02 6.981060945693285e-02 6.991030074013053e-02 + 7.000981760721879e-02 7.010915998226322e-02 7.020832768385020e-02 7.030732053981503e-02 7.040613843777971e-02 + 7.050478130476578e-02 7.060324902125202e-02 7.070154139632766e-02 7.079965841104072e-02 7.089759998592053e-02 + 7.099536579014293e-02 7.109295574922263e-02 7.119036986301433e-02 7.128760792254588e-02 7.138466979343019e-02 + 7.148155540894172e-02 7.157826467726322e-02 7.167479742578257e-02 7.177115345207208e-02 7.186733268619028e-02 + 7.196333504975572e-02 7.205916041090092e-02 7.215480858692887e-02 7.225027948023270e-02 7.234557308374470e-02 + 7.244068916926014e-02 7.253562753252076e-02 7.263038813284139e-02 7.272497087062332e-02 7.281937559790036e-02 + 7.291360215228662e-02 7.300765049821943e-02 7.310152057265214e-02 7.319521208383468e-02 7.328872490709243e-02 + 7.338205901635925e-02 7.347521425841259e-02 7.356819049091311e-02 7.366098761637971e-02 7.375360558736099e-02 + 7.384604424623381e-02 7.393830334347133e-02 7.403038279875497e-02 7.412228254437477e-02 7.421400245985316e-02 + 7.430554241104276e-02 7.439690229021774e-02 7.448808202204141e-02 7.457908141717452e-02 7.466990029970315e-02 + 7.476053861745356e-02 7.485099625058683e-02 7.494127304678436e-02 7.503136889191833e-02 7.512128371784581e-02 + 7.521101743547498e-02 7.530056981436373e-02 7.538994071268737e-02 7.547913007544443e-02 7.556813780083994e-02 + 7.565696374971752e-02 7.574560777501017e-02 7.583406981695588e-02 7.592234975180168e-02 7.601044736291800e-02 + 7.609836256769248e-02 7.618609528331391e-02 7.627364535037680e-02 7.636101265407126e-02 7.644819711937149e-02 + 7.653519868718589e-02 7.662201715447789e-02 7.670865230880411e-02 7.679510411035856e-02 7.688137246970578e-02 + 7.696745724207896e-02 7.705335828035317e-02 7.713907552614908e-02 7.722460893765626e-02 7.730995825366380e-02 + 7.739512330293280e-02 7.748010405365591e-02 7.756490042829636e-02 7.764951228919105e-02 7.773393946198498e-02 + 7.781818189157449e-02 7.790223948237281e-02 7.798611201876808e-02 7.806979939436651e-02 7.815330154059554e-02 + 7.823661834982702e-02 7.831974966729814e-02 7.840269536418043e-02 7.848545542109749e-02 7.856802968700778e-02 + 7.865041794492959e-02 7.873262009221961e-02 7.881463606524114e-02 7.889646578364969e-02 7.897810905385311e-02 + 7.905956578813299e-02 7.914083598393755e-02 7.922191938944982e-02 7.930281582198326e-02 7.938352526916173e-02 + 7.946404763288464e-02 7.954438277705837e-02 7.962453057021987e-02 7.970449093695484e-02 7.978426377009373e-02 + 7.986384886265184e-02 7.994324611178145e-02 8.002245546069972e-02 8.010147680163558e-02 8.018030998339011e-02 + 8.025895486859348e-02 8.033741142939121e-02 8.041567953647351e-02 8.049375898816008e-02 8.057164970191152e-02 + 8.064935159117341e-02 8.072686453538828e-02 8.080418841559016e-02 8.088132313650849e-02 8.095826861741187e-02 + 8.103502469212946e-02 8.111159121525567e-02 8.118796811657426e-02 8.126415526945288e-02 8.134015254787534e-02 + 8.141595988122388e-02 8.149157718184835e-02 8.156700432424771e-02 8.164224113093393e-02 8.171728750211138e-02 + 8.179214337283539e-02 8.186680860558979e-02 8.194128308109257e-02 8.201556671181809e-02 8.208965942384167e-02 + 8.216356107347705e-02 8.223727146913333e-02 8.231079055026533e-02 8.238411825286719e-02 8.245725445426123e-02 + 8.253019901019013e-02 8.260295182089074e-02 8.267551284923887e-02 8.274788192985057e-02 8.282005889192648e-02 + 8.289204367192234e-02 8.296383619751495e-02 8.303543635380874e-02 8.310684396376640e-02 8.317805898151856e-02 + 8.324908138250064e-02 8.331991092178788e-02 8.339054746670159e-02 8.346099098907200e-02 8.353124136246602e-02 + 8.360129848004999e-02 8.367116227251760e-02 8.374083263302687e-02 8.381030943134427e-02 8.387959252741883e-02 + 8.394868181167527e-02 8.401757720093640e-02 8.408627862550171e-02 8.415478594369409e-02 8.422309904154775e-02 + 8.429121790707177e-02 8.435914237533512e-02 8.442687225429805e-02 8.449440750560887e-02 8.456174803803686e-02 + 8.462889372267089e-02 8.469584447602406e-02 8.476260023136410e-02 8.482916090148240e-02 8.489552630009754e-02 + 8.496169630228255e-02 8.502767086164854e-02 8.509344988672647e-02 8.515903326018803e-02 8.522442086136313e-02 + 8.528961263471936e-02 8.535460848680074e-02 8.541940824041729e-02 8.548401181612168e-02 8.554841915131453e-02 + 8.561263012321893e-02 8.567664461211427e-02 8.574046253447680e-02 8.580408386832587e-02 8.586750845589863e-02 + 8.593073610333024e-02 8.599376680387132e-02 8.605660047760594e-02 8.611923696874126e-02 8.618167618396408e-02 + 8.624391807608472e-02 8.630596259724549e-02 8.636780954833972e-02 8.642945878839840e-02 8.649091029427977e-02 + 8.655216396695875e-02 8.661321970043215e-02 8.667407742210617e-02 8.673473702989365e-02 8.679519841504303e-02 + 8.685546148336530e-02 8.691552612855238e-02 8.697539224666265e-02 8.703505975750943e-02 8.709452857692032e-02 + 8.715379861893667e-02 8.721286980508075e-02 8.727174201224434e-02 8.733041510377958e-02 8.738888903629666e-02 + 8.744716372671989e-02 8.750523904187274e-02 8.756311491392924e-02 8.762079127795709e-02 8.767826803995526e-02 + 8.773554506310657e-02 8.779262223690780e-02 8.784949951260017e-02 8.790617682173207e-02 8.796265406226209e-02 + 8.801893109931651e-02 8.807500788687952e-02 8.813088437660771e-02 8.818656039674132e-02 8.824203585227545e-02 + 8.829731070095961e-02 8.835238486000704e-02 8.840725822106667e-02 8.846193068214857e-02 8.851640221803356e-02 + 8.857067273700293e-02 8.862474207580676e-02 8.867861014722141e-02 8.873227689758616e-02 8.878574227696898e-02 + 8.883900618220902e-02 8.889206851560667e-02 8.894492921167085e-02 8.899758815302622e-02 8.905004524008538e-02 + 8.910230044719054e-02 8.915435367300073e-02 8.920620479173334e-02 8.925785373448247e-02 8.930930045917142e-02 + 8.936054490961548e-02 8.941158695191696e-02 8.946242647641844e-02 8.951306341364354e-02 8.956349771969928e-02 + 8.961372931388180e-02 8.966375808278661e-02 8.971358396554302e-02 8.976320688963368e-02 8.981262675341668e-02 + 8.986184348935064e-02 8.991085703129179e-02 8.995966729258320e-02 9.000827417122792e-02 9.005667759770250e-02 + 9.010487756379584e-02 9.015287394264000e-02 9.020066659275561e-02 9.024825550203337e-02 9.029564061179933e-02 + 9.034282181894199e-02 9.038979902630290e-02 9.043657218570805e-02 9.048314126656666e-02 9.052950615463343e-02 + 9.057566675480395e-02 9.062162300961238e-02 9.066737484935303e-02 9.071292219781772e-02 9.075826498061153e-02 + 9.080340315127385e-02 9.084833664156222e-02 9.089306533771581e-02 9.093758915627431e-02 9.098190804149961e-02 + 9.102602195783284e-02 9.106993084471440e-02 9.111363462196023e-02 9.115713320054021e-02 9.120042650346059e-02 + 9.124351446434358e-02 9.128639702175202e-02 9.132907412994692e-02 9.137154573427010e-02 9.141381170435277e-02 + 9.145587198962597e-02 9.149772660800266e-02 9.153937542844172e-02 9.158081834977004e-02 9.162205535599281e-02 + 9.166308637778346e-02 9.170391133536025e-02 9.174453017072061e-02 9.178494285856946e-02 9.182514933661440e-02 + 9.186514945794547e-02 9.190494319482566e-02 9.194453054665523e-02 9.198391140758180e-02 9.202308569543158e-02 + 9.206205336702038e-02 9.210081441034919e-02 9.213936875086109e-02 9.217771627651770e-02 9.221585694962209e-02 + 9.225379072840771e-02 9.229151754885842e-02 9.232903734819613e-02 9.236635007909103e-02 9.240345570404732e-02 + 9.244035413434255e-02 9.247704529963750e-02 9.251352918345666e-02 9.254980573968512e-02 9.258587489795035e-02 + 9.262173657649034e-02 9.265739073985793e-02 9.269283735974691e-02 9.272807636276849e-02 9.276310769047050e-02 + 9.279793130272118e-02 9.283254716719631e-02 9.286695521394739e-02 9.290115536246511e-02 9.293514761281572e-02 + 9.296893192325742e-02 9.300250819824006e-02 9.303587638369953e-02 9.306903645092859e-02 9.310198837852499e-02 + 9.313473209662422e-02 9.316726755984403e-02 9.319959477466139e-02 9.323171364631608e-02 9.326362408592948e-02 + 9.329532610133226e-02 9.332681964339190e-02 9.335810464438972e-02 9.338918108249107e-02 9.342004893308628e-02 + 9.345070815580041e-02 9.348115868437977e-02 9.351140046962789e-02 9.354143348306601e-02 9.357125770365762e-02 + 9.360087308621738e-02 9.363027956518245e-02 9.365947710363894e-02 9.368846567300493e-02 9.371724524372237e-02 + 9.374581578300241e-02 9.377417725111503e-02 9.380232960142115e-02 9.383027280206080e-02 9.385800682788301e-02 + 9.388553164914089e-02 9.391284719773688e-02 9.393995342276806e-02 9.396685035781838e-02 9.399353796706621e-02 + 9.402001617537038e-02 9.404628495786660e-02 9.407234429781461e-02 9.409819417117830e-02 9.412383453169183e-02 + 9.414926534580341e-02 9.417448659641373e-02 9.419949825736050e-02 9.422430029380560e-02 9.424889267135104e-02 + 9.427327539998738e-02 9.429744844865905e-02 9.432141171534560e-02 9.434516522540957e-02 9.436870900006604e-02 + 9.439204294634228e-02 9.441516705436934e-02 9.443808133745002e-02 9.446078573953387e-02 9.448328023801857e-02 + 9.450556483411636e-02 9.452763950923013e-02 9.454950421611270e-02 9.457115890701832e-02 9.459260360830167e-02 + 9.461383832574666e-02 9.463486302352626e-02 9.465567765409444e-02 9.467628220109425e-02 9.469667668274938e-02 + 9.471686106967921e-02 9.473683533004949e-02 9.475659945563136e-02 9.477615343325803e-02 9.479549725292793e-02 + 9.481463091432241e-02 9.483355439545672e-02 9.485226766778346e-02 9.487077071788189e-02 9.488906353992572e-02 + 9.490714613644993e-02 9.492501852119042e-02 9.494268066964073e-02 9.496013253895599e-02 9.497737414244060e-02 + 9.499440547543551e-02 9.501122651272445e-02 9.502783728094538e-02 9.504423778187990e-02 9.506042797340242e-02 + 9.507640785191551e-02 9.509217742006319e-02 9.510773667189122e-02 9.512308563868060e-02 9.513822432123879e-02 + 9.515315264231193e-02 9.516787063845662e-02 9.518237836728226e-02 9.519667577724227e-02 9.521076284349063e-02 + 9.522463958294539e-02 9.523830604498588e-02 9.525176221483619e-02 9.526500804718509e-02 9.527804359769618e-02 + 9.529086886623650e-02 9.530348379689602e-02 9.531588845120076e-02 9.532808286166987e-02 9.534006699012688e-02 + 9.535184085361241e-02 9.536340447105748e-02 9.537475783364874e-02 9.538590095359538e-02 9.539683385237334e-02 + 9.540755654711666e-02 9.541806903829181e-02 9.542837132640679e-02 9.543846343230179e-02 9.544834536597921e-02 + 9.545801714100983e-02 9.546747880593646e-02 9.547673036184304e-02 9.548577178084619e-02 9.549460309483834e-02 + 9.550322434581640e-02 9.551163556335956e-02 9.551983673903520e-02 9.552782788036314e-02 9.553560902903191e-02 + 9.554318022933674e-02 9.555054148771730e-02 9.555769276632298e-02 9.556463412975340e-02 9.557136563747151e-02 + 9.557788725689133e-02 9.558419903459103e-02 9.559030102901959e-02 9.559619321427665e-02 9.560187562136102e-02 + 9.560734830883322e-02 9.561261127917654e-02 9.561766456108449e-02 9.562250820572099e-02 9.562714223416331e-02 + 9.563156666435306e-02 9.563578152405575e-02 9.563978686682097e-02 9.564358272631937e-02 9.564716910782914e-02 + 9.565054604965099e-02 9.565371359980702e-02 9.565667179877529e-02 9.565942066526258e-02 9.566196023293236e-02 + 9.566429057683135e-02 9.566641172752892e-02 9.566832368940979e-02 9.567002647518966e-02 9.567152016429874e-02 + 9.567280484915060e-02 9.567388053004788e-02 9.567474721294261e-02 9.567540493730267e-02 9.567585379392737e-02 + 9.567609383300600e-02 9.567612506298810e-02 9.567594754568214e-02 9.567556133790830e-02 9.567496647244744e-02 + 9.567416299512438e-02 9.567315095370396e-02 9.567193039196389e-02 9.567050136232016e-02 9.566886392120964e-02 + 9.566701812558283e-02 9.566496403827787e-02 9.566270170884209e-02 9.566023115264767e-02 9.565755243736668e-02 + 9.565466564791879e-02 9.565157080775241e-02 9.564826797386157e-02 9.564475723264595e-02 9.564103864027859e-02 + 9.563711223757489e-02 9.563297806735498e-02 9.562863621895812e-02 9.562408675116861e-02 9.561932968250994e-02 + 9.561436511583814e-02 9.560919313325968e-02 9.560381374743886e-02 9.559822704785555e-02 9.559243313048145e-02 + 9.558643203289170e-02 9.558022378864620e-02 9.557380846466877e-02 9.556718619530349e-02 9.556035703327785e-02 + 9.555332100122134e-02 9.554607821247386e-02 9.553862873475936e-02 9.553097259908433e-02 9.552310989218279e-02 + 9.551504070130773e-02 9.550676510186747e-02 9.549828317393894e-02 9.548959500356741e-02 9.548070067318166e-02 + 9.547160021295119e-02 9.546229369018946e-02 9.545278124506257e-02 9.544306292579091e-02 9.543313878273989e-02 + 9.542300894892854e-02 9.541267351639289e-02 9.540213254817664e-02 9.539138610562420e-02 9.538043425774057e-02 + 9.536927709152246e-02 9.535791472882026e-02 9.534634726779553e-02 9.533457478138217e-02 9.532259734256758e-02 + 9.531041503990305e-02 9.529802797105680e-02 9.528543620462085e-02 9.527263983869082e-02 9.525963900525855e-02 + 9.524643375927100e-02 9.523302417643500e-02 9.521941040061487e-02 9.520559252291068e-02 9.519157060486365e-02 + 9.517734471153570e-02 9.516291499670615e-02 9.514828160467456e-02 9.513344455080376e-02 9.511840393248631e-02 + 9.510315989360162e-02 9.508771251519674e-02 9.507206189457258e-02 9.505620814925633e-02 9.504015138530268e-02 + 9.502389169582724e-02 9.500742917228551e-02 9.499076394524120e-02 9.497389612890822e-02 9.495682580659018e-02 + 9.493955308203066e-02 9.492207807526097e-02 9.490440091330225e-02 9.488652168366014e-02 9.486844048723730e-02 + 9.485015747906970e-02 9.483167277063544e-02 9.481298644119306e-02 9.479409856622809e-02 9.477500930738031e-02 + 9.475571884085587e-02 9.473622721810367e-02 9.471653454723004e-02 9.469664098786204e-02 9.467654664635866e-02 + 9.465625162221861e-02 9.463575602621152e-02 9.461505999415500e-02 9.459416367044585e-02 9.457306719633034e-02 + 9.455177068421998e-02 9.453027423759350e-02 9.450857796468222e-02 9.448668199276268e-02 9.446458647203468e-02 + 9.444229157255099e-02 9.441979739649474e-02 9.439710403006842e-02 9.437421161454676e-02 9.435112031829759e-02 + 9.432783029179438e-02 9.430434160094567e-02 9.428065438538669e-02 9.425676883924589e-02 9.423268508508292e-02 + 9.420840322981890e-02 9.418392339716981e-02 9.415924578030670e-02 9.413437051700123e-02 9.410929767030043e-02 + 9.408402741009517e-02 9.405855992335012e-02 9.403289535840260e-02 9.400703383941893e-02 9.398097549341558e-02 + 9.395472046838550e-02 9.392826889502673e-02 9.390162091553057e-02 9.387477672023849e-02 9.384773645864139e-02 + 9.382050025947151e-02 9.379306828457251e-02 9.376544068778003e-02 9.373761760606118e-02 9.370959916011609e-02 + 9.368138552427184e-02 9.365297690930323e-02 9.362437342817573e-02 9.359557520850639e-02 9.356658243379877e-02 + 9.353739529945312e-02 9.350801394425273e-02 9.347843843855524e-02 9.344866901272440e-02 9.341870589097585e-02 + 9.338854915644307e-02 9.335819897637819e-02 9.332765555734250e-02 9.329691906420928e-02 9.326598960092489e-02 + 9.323486729288316e-02 9.320355242698486e-02 9.317204517635257e-02 9.314034562740874e-02 9.310845398153604e-02 + 9.307637042858882e-02 9.304409511565054e-02 9.301162817412864e-02 9.297896979469056e-02 9.294612022999450e-02 + 9.291307963943660e-02 9.287984815938743e-02 9.284642594887814e-02 9.281281319942865e-02 9.277901009754375e-02 + 9.274501679883909e-02 9.271083349621308e-02 9.267646039527271e-02 9.264189767811302e-02 9.260714551564306e-02 + 9.257220408228978e-02 9.253707357624473e-02 9.250175417101536e-02 9.246624602802385e-02 9.243054935165987e-02 + 9.239466434718238e-02 9.235859120974489e-02 9.232233012999355e-02 9.228588129454922e-02 9.224924488066757e-02 + 9.221242103323031e-02 9.217540995047416e-02 9.213821191347883e-02 9.210082709355732e-02 9.206325564930115e-02 + 9.202549780755387e-02 9.198755374602623e-02 9.194942363528436e-02 9.191110769995278e-02 9.187260614753277e-02 + 9.183391917841241e-02 9.179504701848260e-02 9.175598985687712e-02 9.171674785963810e-02 9.167732123351167e-02 + 9.163771019528422e-02 9.159791495855178e-02 9.155793572040530e-02 9.151777270193290e-02 9.147742614628342e-02 + 9.143689622063791e-02 9.139618310892414e-02 9.135528705455570e-02 9.131420824439858e-02 9.127294688450004e-02 + 9.123150325806001e-02 9.118987755991119e-02 9.114806996063474e-02 9.110608069642255e-02 9.106390998608170e-02 + 9.102155802996120e-02 9.097902503011562e-02 9.093631123402490e-02 9.089341690732793e-02 9.085034224655422e-02 + 9.080708743846595e-02 9.076365269164367e-02 9.072003828369785e-02 9.067624443485320e-02 9.063227129485288e-02 + 9.058811915193726e-02 9.054378827004000e-02 9.049927881221763e-02 9.045459103770109e-02 9.040972520178260e-02 + 9.036468147234690e-02 9.031946007844127e-02 9.027406127956829e-02 9.022848531585773e-02 9.018273243214560e-02 + 9.013680287341128e-02 9.009069686920407e-02 9.004441462623869e-02 8.999795635152021e-02 8.995132231203949e-02 + 8.990451276610797e-02 8.985752795281814e-02 8.981036812557305e-02 8.976303351703613e-02 8.971552434037033e-02 + 8.966784087291869e-02 8.961998334831080e-02 8.957195192338249e-02 8.952374693198487e-02 8.947536869631613e-02 + 8.942681737354224e-02 8.937809319632291e-02 8.932919644498671e-02 8.928012738635183e-02 8.923088623240803e-02 + 8.918147319450437e-02 8.913188858291199e-02 8.908213269254797e-02 8.903220577223506e-02 8.898210800726358e-02 + 8.893183965769864e-02 8.888140104180198e-02 8.883079233855783e-02 8.878001380541380e-02 8.872906581842580e-02 + 8.867794859494142e-02 8.862666233412557e-02 8.857520730323154e-02 8.852358381153494e-02 8.847179212845252e-02 + 8.841983243253916e-02 8.836770502123131e-02 8.831541022882371e-02 8.826294830990469e-02 8.821031949641793e-02 + 8.815752403748606e-02 8.810456224863354e-02 8.805143437639511e-02 8.799814063336710e-02 8.794468134879541e-02 + 8.789105684257616e-02 8.783726738270531e-02 8.778331316928159e-02 8.772919447874153e-02 8.767491167446911e-02 + 8.762046495069514e-02 8.756585454037039e-02 8.751108081839833e-02 8.745614408581825e-02 8.740104459021790e-02 + 8.734578256007368e-02 8.729035830815834e-02 8.723477214343743e-02 8.717902426868683e-02 8.712311501918556e-02 + 8.706704476846663e-02 8.701081371877695e-02 8.695442211628683e-02 8.689787027644420e-02 8.684115853767592e-02 + 8.678428714435096e-02 8.672725629439892e-02 8.667006642064547e-02 8.661271785522098e-02 8.655521075244504e-02 + 8.649754543067346e-02 8.643972223965939e-02 8.638174147222141e-02 8.632360334916610e-02 8.626530814542391e-02 + 8.620685627786050e-02 8.614824804295058e-02 8.608948367410735e-02 8.603056343813603e-02 8.597148768708160e-02 + 8.591225676580187e-02 8.585287085352321e-02 8.579333027004854e-02 8.573363543090719e-02 8.567378659419787e-02 + 8.561378404241062e-02 8.555362810687137e-02 8.549331906471129e-02 8.543285719635127e-02 8.537224281446841e-02 + 8.531147627953188e-02 8.525055791649624e-02 8.518948798167383e-02 8.512826679756995e-02 8.506689470133286e-02 + 8.500537199311337e-02 8.494369892596923e-02 8.488187579804041e-02 8.481990305210670e-02 8.475778099074194e-02 + 8.469550984763315e-02 8.463308996695838e-02 8.457052168539449e-02 8.450780530789033e-02 8.444494110975011e-02 + 8.438192942971584e-02 8.431877065438623e-02 8.425546507059704e-02 8.419201297696736e-02 8.412841471805475e-02 + 8.406467061549007e-02 8.400078097306259e-02 8.393674609180030e-02 8.387256634619757e-02 8.380824209666674e-02 + 8.374377362095807e-02 8.367916122870038e-02 8.361440526888680e-02 8.354950611900661e-02 8.348446403538942e-02 + 8.341927927704872e-02 8.335395233905314e-02 8.328848356223681e-02 8.322287316371958e-02 8.315712149574238e-02 + 8.309122893699929e-02 8.302519583647612e-02 8.295902243510637e-02 8.289270907781640e-02 8.282625623697057e-02 + 8.275966417678003e-02 8.269293318851907e-02 8.262606370095599e-02 8.255905601211083e-02 8.249191039312886e-02 + 8.242462718945633e-02 8.235720681988298e-02 8.228964967784431e-02 8.222195602541869e-02 8.215412621284769e-02 + 8.208616062445039e-02 8.201805954142698e-02 8.194982329150195e-02 8.188145225476894e-02 8.181294680713293e-02 + 8.174430731452863e-02 8.167553412282050e-02 8.160662752890076e-02 8.153758789030935e-02 8.146841562526554e-02 + 8.139911098330359e-02 8.132967428676124e-02 8.126010603531450e-02 8.119040656216225e-02 8.112057615694021e-02 + 8.105061517994502e-02 8.098052402265073e-02 8.091030303880128e-02 8.083995248093376e-02 8.076947276447492e-02 + 8.069886435754116e-02 8.062812754457355e-02 8.055726265736828e-02 8.048627008799529e-02 8.041515020636995e-02 + 8.034390332540668e-02 8.027252974489747e-02 8.020102993492553e-02 8.012940431195667e-02 8.005765317555476e-02 + 7.998577686939379e-02 7.991377577220368e-02 7.984165027334414e-02 7.976940065907111e-02 7.969702727793032e-02 + 7.962453065567111e-02 7.955191112254574e-02 7.947916895239987e-02 7.940630455590227e-02 7.933331833212637e-02 + 7.926021063894960e-02 7.918698178217287e-02 7.911363216326053e-02 7.904016223823181e-02 7.896657235187955e-02 + 7.889286283938438e-02 7.881903406306398e-02 7.874508643443230e-02 7.867102031060058e-02 7.859683599526633e-02 + 7.852253395767629e-02 7.844811463098400e-02 7.837357831424305e-02 7.829892537205134e-02 7.822415619643758e-02 + 7.814927116484589e-02 7.807427062910767e-02 7.799915496813195e-02 7.792392464520610e-02 7.784858004657273e-02 + 7.777312150359181e-02 7.769754936428309e-02 7.762186403791040e-02 7.754606594385612e-02 7.747015537442642e-02 + 7.739413273994507e-02 7.731799855521804e-02 7.724175314852555e-02 7.716539684747571e-02 7.708893004657069e-02 + 7.701235315053030e-02 7.693566653742440e-02 7.685887055661017e-02 7.678196565918903e-02 7.670495227727288e-02 + 7.662783073280909e-02 7.655060142689749e-02 7.647326478202995e-02 7.639582115595660e-02 7.631827089499127e-02 + 7.624061438211467e-02 7.616285210329320e-02 7.608498447266238e-02 7.600701183814436e-02 7.592893457493513e-02 + 7.585075308733022e-02 7.577246778116596e-02 7.569407897223836e-02 7.561558707997214e-02 7.553699264667676e-02 + 7.545829602219666e-02 7.537949752159374e-02 7.530059752746436e-02 7.522159652110559e-02 7.514249491290788e-02 + 7.506329293711217e-02 7.498399108869409e-02 7.490458989985715e-02 7.482508965268882e-02 7.474549074308040e-02 + 7.466579363230305e-02 7.458599868473173e-02 7.450610623924510e-02 7.442611667561436e-02 7.434603053570255e-02 + 7.426584824442337e-02 7.418557009969678e-02 7.410519651333995e-02 7.402472793153594e-02 7.394416477978479e-02 + 7.386350736456949e-02 7.378275607823381e-02 7.370191147772952e-02 7.362097394239986e-02 7.353994380500382e-02 + 7.345882147239775e-02 7.337760740248925e-02 7.329630201371148e-02 7.321490559729334e-02 7.313341861868546e-02 + 7.305184160923943e-02 7.297017492620234e-02 7.288841893034562e-02 7.280657402242413e-02 7.272464064227188e-02 + 7.264261917439505e-02 7.256050997585588e-02 7.247831356170273e-02 7.239603038649280e-02 7.231366079163171e-02 + 7.223120520116612e-02 7.214866404160214e-02 7.206603769517569e-02 7.198332653777370e-02 7.190053098792457e-02 + 7.181765153838118e-02 7.173468863077177e-02 7.165164265282598e-02 7.156851395212357e-02 7.148530298289761e-02 + 7.140201021117390e-02 7.131863593482980e-02 7.123518058493326e-02 7.115164469180060e-02 7.106802866653637e-02 + 7.098433289103630e-02 7.090055775733806e-02 7.081670370962735e-02 7.073277114629017e-02 7.064876042084919e-02 + 7.056467204467058e-02 7.048050649359339e-02 7.039626411522021e-02 7.031194531783586e-02 7.022755055007633e-02 + 7.014308026270048e-02 7.005853477507426e-02 6.997391445865883e-02 6.988921994223606e-02 6.980445161374127e-02 + 6.971960976161336e-02 6.963469490630880e-02 6.954970749457975e-02 6.946464787470261e-02 6.937951638488904e-02 + 6.929431352344900e-02 6.920903988440608e-02 6.912369577614699e-02 6.903828154824053e-02 6.895279768813133e-02 + 6.886724462309453e-02 6.878162274040467e-02 6.869593242264821e-02 6.861017418575431e-02 6.852434851303352e-02 + 6.843845573229547e-02 6.835249626715924e-02 6.826647058722328e-02 6.818037912112360e-02 6.809422221022603e-02 + 6.800800023353686e-02 6.792171381432285e-02 6.783536337902803e-02 6.774894920974223e-02 6.766247176656806e-02 + 6.757593152448671e-02 6.748932891036163e-02 6.740266425451470e-02 6.731593799992638e-02 6.722915072040272e-02 + 6.714230278026269e-02 6.705539454984789e-02 6.696842651283096e-02 6.688139909018249e-02 6.679431266253504e-02 + 6.670716761081900e-02 6.661996446504156e-02 6.653270374249923e-02 6.644538575792285e-02 6.635801090742725e-02 + 6.627057965598744e-02 6.618309245387675e-02 6.609554968705872e-02 6.600795173819872e-02 6.592029914958422e-02 + 6.583259238307172e-02 6.574483179767340e-02 6.565701780669353e-02 6.556915085921187e-02 6.548123140723705e-02 + 6.539325979064996e-02 6.530523643565112e-02 6.521716192687264e-02 6.512903665438342e-02 6.504086097557776e-02 + 6.495263535156262e-02 6.486436022769713e-02 6.477603601048113e-02 6.468766306269763e-02 6.459924187637454e-02 + 6.451077298036002e-02 6.442225675573160e-02 6.433369358016772e-02 6.424508387319842e-02 6.415642813133042e-02 + 6.406772674084167e-02 6.397898002556264e-02 6.389018858464109e-02 6.380135290132970e-02 6.371247325592760e-02 + 6.362355010153516e-02 6.353458392277617e-02 6.344557514446422e-02 6.335652411846264e-02 6.326743126079815e-02 + 6.317829713990436e-02 6.308912216326193e-02 6.299990668862973e-02 6.291065117630994e-02 6.282135608306753e-02 + 6.273202182393535e-02 6.264264873955985e-02 6.255323731562341e-02 6.246378810230178e-02 6.237430143094801e-02 + 6.228477769978175e-02 6.219521740601344e-02 6.210562097707054e-02 6.201598879095212e-02 6.192632121693314e-02 + 6.183661876812600e-02 6.174688193928092e-02 6.165711112558074e-02 6.156730673780070e-02 6.147746920022401e-02 + 6.138759893800432e-02 6.129769633241683e-02 6.120776180293847e-02 6.111779589683188e-02 6.102779903735479e-02 + 6.093777158500626e-02 6.084771398591046e-02 6.075762667844817e-02 6.066751007308262e-02 6.057736455111417e-02 + 6.048719057054321e-02 6.039698864588414e-02 6.030675917961215e-02 6.021650256672047e-02 6.012621923377075e-02 + 6.003590961818356e-02 5.994557411659043e-02 5.985521308639186e-02 5.976482706463886e-02 5.967441656528669e-02 + 5.958398192281734e-02 5.949352353003544e-02 5.940304183449088e-02 5.931253730252380e-02 5.922201027916447e-02 + 5.913146112197507e-02 5.904089044032181e-02 5.895029868043596e-02 5.885968615096351e-02 5.876905326755812e-02 + 5.867840050492581e-02 5.858772833116550e-02 5.849703703991720e-02 5.840632705235495e-02 5.831559896255584e-02 + 5.822485314806121e-02 5.813408997000494e-02 5.804330987759122e-02 5.795251328764216e-02 5.786170059865808e-02 + 5.777087221384987e-02 5.768002859772193e-02 5.758917021647553e-02 5.749829746896256e-02 5.740741077575853e-02 + 5.731651056875526e-02 5.722559725171274e-02 5.713467118430270e-02 5.704373274635539e-02 5.695278249332581e-02 + 5.686182088614487e-02 5.677084826809927e-02 5.667986504336005e-02 5.658887165217444e-02 5.649786853613976e-02 + 5.640685602792318e-02 5.631583453941855e-02 5.622480462822738e-02 5.613376666437993e-02 5.604272100502515e-02 + 5.595166813210956e-02 5.586060845174765e-02 5.576954232437998e-02 5.567847012652845e-02 5.558739236715193e-02 + 5.549630955542323e-02 5.540522197136583e-02 5.531413002536285e-02 5.522303422299683e-02 5.513193492275553e-02 + 5.504083247717721e-02 5.494972729209355e-02 5.485861988753332e-02 5.476751071228679e-02 5.467640010379995e-02 + 5.458528846418693e-02 5.449417622493567e-02 5.440306381105370e-02 5.431195155656662e-02 5.422083985771245e-02 + 5.412972927459819e-02 5.403862019627870e-02 5.394751295390937e-02 5.385640797531270e-02 5.376530569364821e-02 + 5.367420650537214e-02 5.358311072889269e-02 5.349201882499156e-02 5.340093132499041e-02 5.330984856991542e-02 + 5.321877091980749e-02 5.312769879767464e-02 5.303663263591166e-02 5.294557280318667e-02 5.285451962473617e-02 + 5.276347361952855e-02 5.267243525955664e-02 5.258140485845194e-02 5.249038280640431e-02 5.239936952998326e-02 + 5.230836544276557e-02 5.221737088032564e-02 5.212638621732711e-02 5.203541199430900e-02 5.194444860919033e-02 + 5.185349638284296e-02 5.176255572471577e-02 5.167162705674897e-02 5.158071077330502e-02 5.148980718747074e-02 + 5.139891673261619e-02 5.130803993485430e-02 5.121717713356427e-02 5.112632867301793e-02 5.103549496777923e-02 + 5.094467643725986e-02 5.085387344650644e-02 5.076308630673339e-02 5.067231551219451e-02 5.058156153920812e-02 + 5.049082469322039e-02 5.040010534612100e-02 5.030940391348503e-02 5.021872080090227e-02 5.012805633824483e-02 + 5.003741087422633e-02 4.994678493647212e-02 4.985617892926745e-02 4.976559315779018e-02 4.967502801470126e-02 + 4.958448390876292e-02 4.949396122643934e-02 4.940346027599988e-02 4.931298146262254e-02 4.922252530167843e-02 + 4.913209213539834e-02 4.904168229174269e-02 4.895129616994274e-02 4.886093417404704e-02 4.877059666413559e-02 + 4.868028394034647e-02 4.858999646754281e-02 4.849973472130898e-02 4.840949900241633e-02 4.831928966152828e-02 + 4.822910709871525e-02 4.813895171199074e-02 4.804882382564480e-02 4.795872376124456e-02 4.786865202942978e-02 + 4.777860903855367e-02 4.768859507592742e-02 4.759861051627762e-02 4.750865575639699e-02 4.741873117406014e-02 + 4.732883706721817e-02 4.723897381137243e-02 4.714914191200375e-02 4.705934171189571e-02 4.696957351961628e-02 + 4.687983771740974e-02 4.679013469431771e-02 4.670046480338604e-02 4.661082833156779e-02 4.652122571187634e-02 + 4.643165741520618e-02 4.634212373882778e-02 4.625262501422293e-02 4.616316162482947e-02 4.607373395212459e-02 + 4.598434231610999e-02 4.589498701904484e-02 4.580566854223844e-02 4.571638729424802e-02 4.562714355109129e-02 + 4.553793766452621e-02 4.544877001582995e-02 4.535964097502848e-02 4.527055082898004e-02 4.518149992236756e-02 + 4.509248874970542e-02 4.500351765014129e-02 4.491458690878355e-02 4.482569689376779e-02 4.473684797939540e-02 + 4.464804050747698e-02 4.455927474828068e-02 4.447055110499822e-02 4.438187004531898e-02 4.429323185876936e-02 + 4.420463685202721e-02 4.411608538888854e-02 4.402757783926076e-02 4.393911451733543e-02 4.385069570127949e-02 + 4.376232184208732e-02 4.367399334643604e-02 4.358571047769912e-02 4.349747356709084e-02 4.340928298020802e-02 + 4.332113907381294e-02 4.323304212320113e-02 4.314499244129432e-02 4.305699050668390e-02 4.296903665620930e-02 + 4.288113115167341e-02 4.279327434447749e-02 4.270546659199307e-02 4.261770822231841e-02 4.252999949469098e-02 + 4.244234077853745e-02 4.235473252680039e-02 4.226717502474875e-02 4.217966855846760e-02 4.209221347273914e-02 + 4.200481011967518e-02 4.191745880279663e-02 4.183015977695443e-02 4.174291346429643e-02 4.165572027077732e-02 + 4.156858044734360e-02 4.148149429654668e-02 4.139446216241891e-02 4.130748439363172e-02 4.122056125606220e-02 + 4.113369302794675e-02 4.104688016346336e-02 4.096012300095512e-02 4.087342178434451e-02 4.078677683583759e-02 + 4.070018849668031e-02 4.061365708919899e-02 4.052718285106741e-02 4.044076611819490e-02 4.035440733833207e-02 + 4.026810678092279e-02 4.018186470341873e-02 4.009568143909095e-02 4.000955732298062e-02 3.992349264534106e-02 + 3.983748763759326e-02 3.975154269055037e-02 3.966565820546299e-02 3.957983441649049e-02 3.949407160357907e-02 + 3.940837009289332e-02 3.932273021031552e-02 3.923715221270428e-02 3.915163635394041e-02 3.906618306202975e-02 + 3.898079266950179e-02 3.889546539672872e-02 3.881020154253283e-02 3.872500143016262e-02 3.863986536923758e-02 + 3.855479358615301e-02 3.846978637959592e-02 3.838484417257106e-02 3.829996723484980e-02 3.821515580420295e-02 + 3.813041018714970e-02 3.804573069687705e-02 3.796111761198420e-02 3.787657114752344e-02 3.779209165765486e-02 + 3.770767953120019e-02 3.762333499040284e-02 3.753905829251161e-02 3.745484974542636e-02 3.737070965331050e-02 + 3.728663825939783e-02 3.720263578933122e-02 3.711870264209954e-02 3.703483914671073e-02 3.695104550519348e-02 + 3.686732199057993e-02 3.678366890490292e-02 3.670008654113079e-02 3.661657511036890e-02 3.653313487804630e-02 + 3.644976625150438e-02 3.636646948823320e-02 3.628324479604935e-02 3.620009246605282e-02 3.611701279349350e-02 + 3.603400604041686e-02 3.595107239910939e-02 3.586821219020735e-02 3.578542579441001e-02 3.570271341631447e-02 + 3.562007528519529e-02 3.553751169069794e-02 3.545502291550906e-02 3.537260919186706e-02 3.529027072401183e-02 + 3.520800787214007e-02 3.512582095428173e-02 3.504371015751370e-02 3.496167573051010e-02 3.487971795476078e-02 + 3.479783710598274e-02 3.471603337811516e-02 3.463430699965583e-02 3.455265835796009e-02 3.447108770848941e-02 + 3.438959523450754e-02 3.430818119554624e-02 3.422684586511945e-02 3.414558949343227e-02 3.406441225419257e-02 + 3.398331443038755e-02 3.390229638782512e-02 3.382135832287533e-02 3.374050043789544e-02 3.365972299780525e-02 + 3.357902626321113e-02 3.349841045119794e-02 3.341787574130316e-02 3.333742246166845e-02 3.325705092272905e-02 + 3.317676129391954e-02 3.309655379649919e-02 3.301642868788483e-02 3.293638622159571e-02 3.285642658240021e-02 + 3.277654996949401e-02 3.269675673538998e-02 3.261704712715797e-02 3.253742130855802e-02 3.245787951722746e-02 + 3.237842200259459e-02 3.229904899349424e-02 3.221976065258773e-02 3.214055722659278e-02 3.206143905506719e-02 + 3.198240632628265e-02 3.190345921865954e-02 3.182459797365254e-02 3.174582282841434e-02 3.166713398447476e-02 + 3.158853160183031e-02 3.151001597036992e-02 3.143158738592136e-02 3.135324600516137e-02 3.127499202279022e-02 + 3.119682567104914e-02 3.111874718036912e-02 3.104075672462514e-02 3.096285447683152e-02 3.088504075536903e-02 + 3.080731579690068e-02 3.072967974437236e-02 3.065213281019982e-02 3.057467522135681e-02 3.049730718652442e-02 + 3.042002885157935e-02 3.034284042889533e-02 3.026574223701538e-02 3.018873445294931e-02 3.011181722724549e-02 + 3.003499077734359e-02 2.995825532248887e-02 2.988161104857855e-02 2.980505808548691e-02 2.972859668986686e-02 + 2.965222714891759e-02 2.957594959806504e-02 2.949976420500935e-02 2.942367118266701e-02 2.934767073798247e-02 + 2.927176302885600e-02 2.919594820074298e-02 2.912022654108078e-02 2.904459827654108e-02 2.896906352751058e-02 + 2.889362247668933e-02 2.881827533028623e-02 2.874302228403363e-02 2.866786346167200e-02 2.859279903706265e-02 + 2.851782931145582e-02 2.844295445253672e-02 2.836817458182308e-02 2.829348988995876e-02 2.821890057629359e-02 + 2.814440681221589e-02 2.807000870175516e-02 2.799570646465742e-02 2.792150037589211e-02 2.784739055623231e-02 + 2.777337714638600e-02 2.769946033688953e-02 2.762564030841585e-02 2.755191720229608e-02 2.747829114116882e-02 + 2.740476237631904e-02 2.733133112357609e-02 2.725799748998750e-02 2.718476162641247e-02 2.711162371095654e-02 + 2.703858392279279e-02 2.696564237390275e-02 2.689279920452167e-02 2.682005468428394e-02 2.674740897239565e-02 + 2.667486216835663e-02 2.660241443488607e-02 2.653006594727732e-02 2.645781686062815e-02 2.638566726160998e-02 + 2.631361733435826e-02 2.624166733570949e-02 2.616981737012440e-02 2.609806754771221e-02 2.602641803533937e-02 + 2.595486900051258e-02 2.588342056814261e-02 2.581207282360541e-02 2.574082599292273e-02 2.566968028470076e-02 + 2.559863577456860e-02 2.552769259041796e-02 2.545685089381796e-02 2.538611083889939e-02 2.531547252137675e-02 + 2.524493605061727e-02 2.517450166747065e-02 2.510416952086314e-02 2.503393968681819e-02 2.496381230163825e-02 + 2.489378751859868e-02 2.482386547683629e-02 2.475404624292582e-02 2.468432996264991e-02 2.461471687229032e-02 + 2.454520706873932e-02 2.447580063686782e-02 2.440649771598710e-02 2.433729844997764e-02 2.426820294893469e-02 + 2.419921127712116e-02 2.413032362216684e-02 2.406154017790910e-02 2.399286100816565e-02 2.392428621229386e-02 + 2.385581592554643e-02 2.378745028409909e-02 2.371918936700126e-02 2.365103325041379e-02 2.358298215018098e-02 + 2.351503620457756e-02 2.344719546326070e-02 2.337946004127276e-02 2.331183006962702e-02 2.324430566419196e-02 + 2.317688687789637e-02 2.310957382435168e-02 2.304236671579298e-02 2.297526563441205e-02 2.290827063843882e-02 + 2.284138184722980e-02 2.277459938171355e-02 2.270792333404544e-02 2.264135374860772e-02 2.257489077729924e-02 + 2.250853459738779e-02 2.244228525780410e-02 2.237614283279474e-02 2.231010743473913e-02 2.224417917668724e-02 + 2.217835812285958e-02 2.211264432248330e-02 2.204703795931322e-02 2.198153916317220e-02 2.191614796666107e-02 + 2.185086445220271e-02 2.178568872592581e-02 2.172062089111306e-02 2.165566098457172e-02 2.159080908357505e-02 + 2.152606537366001e-02 2.146142993110024e-02 2.139690279242156e-02 2.133248404619538e-02 2.126817379406035e-02 + 2.120397211607284e-02 2.113987903003668e-02 2.107589465469217e-02 2.101201915594272e-02 2.094825256288664e-02 + 2.088459492231405e-02 2.082104632696408e-02 2.075760686991806e-02 2.069427660166107e-02 2.063105554609518e-02 + 2.056794384972622e-02 2.050494162894281e-02 2.044204890243054e-02 2.037926573000831e-02 2.031659219454509e-02 + 2.025402837653619e-02 2.019157429898307e-02 2.012923000978476e-02 2.006699566765361e-02 2.000487133731908e-02 + 1.994285703240835e-02 1.988095281849638e-02 1.981915877663429e-02 1.975747497137283e-02 1.969590139839621e-02 + 1.963443814246610e-02 1.957308535571834e-02 1.951184305296579e-02 1.945071125524195e-02 1.938969003470093e-02 + 1.932877945979973e-02 1.926797956444602e-02 1.920729035294688e-02 1.914671194302782e-02 1.908624443873623e-02 + 1.902588783798898e-02 1.896564217312377e-02 1.890550750534374e-02 1.884548390173623e-02 1.878557136933607e-02 + 1.872576992282937e-02 1.866607969751645e-02 1.860650074902563e-02 1.854703306920867e-02 1.848767670108510e-02 + 1.842843170242723e-02 1.836929811895166e-02 1.831027593341436e-02 1.825136519709141e-02 1.819256603897189e-02 + 1.813387846842225e-02 1.807530248298604e-02 1.801683812530333e-02 1.795848544988909e-02 1.790024447932676e-02 + 1.784211518704799e-02 1.778409766075985e-02 1.772619199567190e-02 1.766839817113224e-02 1.761071619932593e-02 + 1.755314612276550e-02 1.749568797940397e-02 1.743834176385679e-02 1.738110747126647e-02 1.732398520795971e-02 + 1.726697501687009e-02 1.721007686976607e-02 1.715329079150987e-02 1.709661681774517e-02 1.704005496995066e-02 + 1.698360522175755e-02 1.692726759648597e-02 1.687104219632033e-02 1.681492902190890e-02 1.675892805218375e-02 + 1.670303930866012e-02 1.664726282100333e-02 1.659159859573434e-02 1.653604659349284e-02 1.648060687061485e-02 + 1.642527950537791e-02 1.637006446137386e-02 1.631496172845883e-02 1.625997133117372e-02 1.620509328829045e-02 + 1.615032758053278e-02 1.609567417924041e-02 1.604113316306734e-02 1.598670456411958e-02 1.593238833576510e-02 + 1.587818448257840e-02 1.582409302120838e-02 1.577011395254391e-02 1.571624723647299e-02 1.566249287063067e-02 + 1.560885093721684e-02 1.555532142372995e-02 1.550190428691725e-02 1.544859953345741e-02 1.539540716895692e-02 + 1.534232718045593e-02 1.528935952298772e-02 1.523650422043375e-02 1.518376132655854e-02 1.513113080051426e-02 + 1.507861261080395e-02 1.502620675643192e-02 1.497391324399307e-02 1.492173204313831e-02 1.486966309840608e-02 + 1.481770646058926e-02 1.476586215324725e-02 1.471413011485714e-02 1.466251032223325e-02 1.461100277337298e-02 + 1.455960746411957e-02 1.450832433725036e-02 1.445715335761371e-02 1.440609458945226e-02 1.435514801148310e-02 + 1.430431355790390e-02 1.425359121341204e-02 1.420298097105418e-02 1.415248280845771e-02 1.410209665546564e-02 + 1.405182250942155e-02 1.400166041623447e-02 1.395161031395394e-02 1.390167215017196e-02 1.385184591619880e-02 + 1.380213159317199e-02 1.375252913341631e-02 1.370303846818604e-02 1.365365962256361e-02 1.360439260851619e-02 + 1.355523734898775e-02 1.350619380184460e-02 1.345726194685572e-02 1.340844175819677e-02 1.335973317080697e-02 + 1.331113613029375e-02 1.326265067233158e-02 1.321427676765317e-02 1.316601433678336e-02 1.311786334248669e-02 + 1.306982375879771e-02 1.302189555021592e-02 1.297407863461756e-02 1.292637298076667e-02 1.287877861455418e-02 + 1.283129547339001e-02 1.278392348592105e-02 1.273666261347862e-02 1.268951282495219e-02 1.264247406704279e-02 + 1.259554625321822e-02 1.254872937642621e-02 1.250202343522368e-02 1.245542834900525e-02 1.240894405313941e-02 + 1.236257050462080e-02 1.231630767029411e-02 1.227015547343941e-02 1.222411383176151e-02 1.217818275998809e-02 + 1.213236222220244e-02 1.208665212384520e-02 1.204105241018576e-02 1.199556303854240e-02 1.195018395838791e-02 + 1.190491507365890e-02 1.185975632952753e-02 1.181470773836339e-02 1.176976922480089e-02 1.172494069835479e-02 + 1.168022211004454e-02 1.163561340968965e-02 1.159111452823667e-02 1.154672536811994e-02 1.150244589927961e-02 + 1.145827610670764e-02 1.141421589534856e-02 1.137026518661645e-02 1.132642392502224e-02 1.128269205281729e-02 + 1.123906948383837e-02 1.119555612518262e-02 1.115215196588227e-02 1.110885695891592e-02 1.106567099667937e-02 + 1.102259400831050e-02 1.097962593601935e-02 1.093676671505125e-02 1.089401623812122e-02 1.085137442757511e-02 + 1.080884127911701e-02 1.076641671182367e-02 1.072410061923310e-02 1.068189293399554e-02 1.063979359231152e-02 + 1.059780251428707e-02 1.055591958418482e-02 1.051414475108346e-02 1.047247799305691e-02 1.043091920126454e-02 + 1.038946827795377e-02 1.034812515386981e-02 1.030688975996647e-02 1.026576200007446e-02 1.022474176231751e-02 + 1.018382901647819e-02 1.014302370834395e-02 1.010232571551464e-02 1.006173495028295e-02 1.002125134058496e-02 + 9.980874808217161e-03 9.940605238090998e-03 9.900442533803457e-03 9.860386673211879e-03 9.820437566105797e-03 + 9.780595089730604e-03 9.740859166502601e-03 9.701229717604148e-03 9.661706648486619e-03 9.622289837555094e-03 + 9.582979211676392e-03 9.543774731762645e-03 9.504676285752028e-03 9.465683761437204e-03 9.426797070527869e-03 + 9.388016130061547e-03 9.349340837763126e-03 9.310771071700266e-03 9.272306774287777e-03 9.233947879847340e-03 + 9.195694263233465e-03 9.157545820041815e-03 9.119502462398593e-03 9.081564104605406e-03 9.043730620594144e-03 + 9.006001891771507e-03 8.968377884117109e-03 8.930858503326412e-03 8.893443610144467e-03 8.856133108771761e-03 + 8.818926910576046e-03 8.781824915337199e-03 8.744826984807866e-03 8.707933026764444e-03 8.671142997995955e-03 + 8.634456771198624e-03 8.597874217863410e-03 8.561395247729468e-03 8.525019762147885e-03 8.488747643810387e-03 + 8.452578758551675e-03 8.416513035074836e-03 8.380550402064440e-03 8.344690718755845e-03 8.308933866062409e-03 + 8.273279745485652e-03 8.237728259206089e-03 8.202279277607399e-03 8.166932668725525e-03 8.131688373197346e-03 + 8.096546291813443e-03 8.061506280849479e-03 8.026568229604077e-03 7.991732033790425e-03 7.956997581179438e-03 + 7.922364735477982e-03 7.887833385768220e-03 7.853403460644042e-03 7.819074838170454e-03 7.784847385209607e-03 + 7.750720988388416e-03 7.716695538073770e-03 7.682770912288046e-03 7.648946965667346e-03 7.615223607644973e-03 + 7.581600758648286e-03 7.548078272068747e-03 7.514656018308716e-03 7.481333888256649e-03 7.448111767084748e-03 + 7.414989518558892e-03 7.381967002509678e-03 7.349044141005179e-03 7.316220829119200e-03 7.283496916229069e-03 + 7.250872276568530e-03 7.218346796125786e-03 7.185920358959778e-03 7.153592811909379e-03 7.121364026156801e-03 + 7.089233934032213e-03 7.057202401526107e-03 7.025269274784423e-03 6.993434437254338e-03 6.961697770726437e-03 + 6.930059144137623e-03 6.898518406074085e-03 6.867075445461445e-03 6.835730169890301e-03 6.804482436531050e-03 + 6.773332103630715e-03 6.742279042830752e-03 6.711323134446215e-03 6.680464239400761e-03 6.649702204950062e-03 + 6.619036937093537e-03 6.588468325547939e-03 6.557996212108587e-03 6.527620458965777e-03 6.497340941897300e-03 + 6.467157538628341e-03 6.437070090473932e-03 6.407078453159759e-03 6.377182548096138e-03 6.347382238649846e-03 + 6.317677359750170e-03 6.288067782822399e-03 6.258553381641384e-03 6.229134019133821e-03 6.199809533909972e-03 + 6.170579803332374e-03 6.141444731866248e-03 6.112404164377095e-03 6.083457948651627e-03 6.054605954063168e-03 + 6.025848047899531e-03 5.997184082520315e-03 5.968613898555075e-03 5.940137388272029e-03 5.911754435973001e-03 + 5.883464876798197e-03 5.855268565478542e-03 5.827165369238958e-03 5.799155152943781e-03 5.771237757858197e-03 + 5.743413031370796e-03 5.715680873423079e-03 5.688041146137241e-03 5.660493683352233e-03 5.633038344713090e-03 + 5.605674994693767e-03 5.578403490874967e-03 5.551223666073857e-03 5.524135383482108e-03 5.497138538622371e-03 + 5.470232973711985e-03 5.443418527865922e-03 5.416695061766649e-03 5.390062436684385e-03 5.363520500801443e-03 + 5.337069085950208e-03 5.310708070645691e-03 5.284437334686721e-03 5.258256709167105e-03 5.232166039984466e-03 + 5.206165186351173e-03 5.180254006079314e-03 5.154432337116667e-03 5.128700017566677e-03 5.103056934758595e-03 + 5.077502948400768e-03 5.052037887552509e-03 5.026661602896529e-03 5.001373950974750e-03 4.976174783805283e-03 + 4.951063931174483e-03 4.926041244835856e-03 4.901106610871052e-03 4.876259869861805e-03 4.851500854152867e-03 + 4.826829416485723e-03 4.802245411238555e-03 4.777748682676776e-03 4.753339057595283e-03 4.729016402174706e-03 + 4.704780591018902e-03 4.680631452386119e-03 4.656568824906738e-03 4.632592561043116e-03 4.608702512089780e-03 + 4.584898512841469e-03 4.561180394112987e-03 4.537548032865621e-03 4.514001286180084e-03 4.490539978046344e-03 + 4.467163952568486e-03 4.443873060291688e-03 4.420667147623122e-03 4.397546041481102e-03 4.374509584352294e-03 + 4.351557654555007e-03 4.328690090868674e-03 4.305906719484884e-03 4.283207387010587e-03 4.260591942258349e-03 + 4.238060226010617e-03 4.215612060889534e-03 4.193247302342208e-03 4.170965820265097e-03 4.148767441443334e-03 + 4.126651998168965e-03 4.104619336614093e-03 4.082669303050944e-03 4.060801730082235e-03 4.039016442831475e-03 + 4.017313308452854e-03 3.995692181792875e-03 3.974152883344686e-03 3.952695251163741e-03 3.931319130911208e-03 + 3.910024364917125e-03 3.888810777810686e-03 3.867678204037116e-03 3.846626514691173e-03 3.825655547709963e-03 + 3.804765124734014e-03 3.783955087456414e-03 3.763225279741349e-03 3.742575538839424e-03 3.722005684569956e-03 + 3.701515563829318e-03 3.681105042529648e-03 3.660773945892437e-03 3.640522100973796e-03 3.620349349516141e-03 + 3.600255533338096e-03 3.580240483202974e-03 3.560304020332013e-03 3.540446002992503e-03 3.520666284206718e-03 + 3.500964682823155e-03 3.481341031384374e-03 3.461795171007476e-03 3.442326941040924e-03 3.422936165061433e-03 + 3.403622671201535e-03 3.384386323473485e-03 3.365226959961049e-03 3.346144399498565e-03 3.327138478378434e-03 + 3.308209036536853e-03 3.289355909461925e-03 3.270578915351533e-03 3.251877893639187e-03 3.233252706195778e-03 + 3.214703178029928e-03 3.196229132118811e-03 3.177830406368320e-03 3.159506839403438e-03 3.141258260810600e-03 + 3.123084488811596e-03 3.104985374197366e-03 3.086960768611876e-03 3.069010490077185e-03 3.051134366997480e-03 + 3.033332237019262e-03 3.015603936903380e-03 2.997949290147841e-03 2.980368120588831e-03 2.962860285290425e-03 + 2.945425622240710e-03 2.928063948810786e-03 2.910775098113858e-03 2.893558906982335e-03 2.876415208617919e-03 + 2.859343821344898e-03 2.842344578930633e-03 2.825417338731532e-03 2.808561926446875e-03 2.791778162629514e-03 + 2.775065882662152e-03 2.758424922052246e-03 2.741855109318431e-03 2.725356262118107e-03 2.708928224810950e-03 + 2.692570847204586e-03 2.676283947708203e-03 2.660067352018658e-03 2.643920895408666e-03 2.627844412630983e-03 + 2.611837727127577e-03 2.595900659591014e-03 2.580033062057212e-03 2.564234773200918e-03 2.548505609580814e-03 + 2.532845401329118e-03 2.517253983314282e-03 2.501731188088862e-03 2.486276834298587e-03 2.470890751027053e-03 + 2.455572791828030e-03 2.440322784214469e-03 2.425140547489158e-03 2.410025914370114e-03 2.394978718743150e-03 + 2.379998789312335e-03 2.365085943631231e-03 2.350240020749269e-03 2.335460868942443e-03 2.320748308349550e-03 + 2.306102163022297e-03 2.291522266200105e-03 2.277008450857895e-03 2.262560541519312e-03 2.248178358404482e-03 + 2.233861748393963e-03 2.219610550590767e-03 2.205424582540762e-03 2.191303672653564e-03 2.177247654150935e-03 + 2.163256358437406e-03 2.149329606085116e-03 2.135467224025938e-03 2.121669062135428e-03 2.107934949596006e-03 + 2.094264705479671e-03 2.080658161247730e-03 2.067115150052171e-03 2.053635501035216e-03 2.040219032033609e-03 + 2.026865578574763e-03 2.013574988607888e-03 2.000347084189316e-03 1.987181688126059e-03 1.974078632294973e-03 + 1.961037750159034e-03 1.948058867783843e-03 1.935141804192390e-03 1.922286403096425e-03 1.909492504980594e-03 + 1.896759928265229e-03 1.884088500763132e-03 1.871478055631251e-03 1.858928424089599e-03 1.846439428400912e-03 + 1.834010894228015e-03 1.821642669213327e-03 1.809334584628213e-03 1.797086460037203e-03 1.784898126770644e-03 + 1.772769417737367e-03 1.760700162615002e-03 1.748690181778845e-03 1.736739308394668e-03 1.724847388831493e-03 + 1.713014248130287e-03 1.701239709792772e-03 1.689523605558227e-03 1.677865768960374e-03 1.666266027776910e-03 + 1.654724201747776e-03 1.643240132443950e-03 1.631813662093462e-03 1.620444610863358e-03 1.609132806416696e-03 + 1.597878082462674e-03 1.586680271167799e-03 1.575539197124769e-03 1.564454685806544e-03 1.553426583192850e-03 + 1.542454723186195e-03 1.531538926942232e-03 1.520679025889417e-03 1.509874853790604e-03 1.499126242122267e-03 + 1.488433013507451e-03 1.477795000037597e-03 1.467212048115432e-03 1.456683985464255e-03 1.446210636719452e-03 + 1.435791835117153e-03 1.425427414393694e-03 1.415117204211151e-03 1.404861027594662e-03 1.394658724273689e-03 + 1.384510137356095e-03 1.374415090575271e-03 1.364373412382042e-03 1.354384937246215e-03 1.344449499301808e-03 + 1.334566925970926e-03 1.324737043332181e-03 1.314959696939330e-03 1.305234723823342e-03 1.295561947265019e-03 + 1.285941199528206e-03 1.276372315963847e-03 1.266855130463658e-03 1.257389468322312e-03 1.247975161599065e-03 + 1.238612057815808e-03 1.229299987951490e-03 1.220038778115428e-03 1.210828263449681e-03 1.201668279419893e-03 + 1.192558658328712e-03 1.183499226491516e-03 1.174489822883548e-03 1.165530291825810e-03 1.156620461345326e-03 + 1.147760161971411e-03 1.138949229776032e-03 1.130187500878873e-03 1.121474806129454e-03 1.112810973708310e-03 + 1.104195848566657e-03 1.095629271185936e-03 1.087111069073448e-03 1.078641075658101e-03 1.070219127753748e-03 + 1.061845062287274e-03 1.053518708913237e-03 1.045239900848634e-03 1.037008485418972e-03 1.028824298155823e-03 + 1.020687168641753e-03 1.012596933141099e-03 1.004553429894111e-03 9.965564952721074e-04 9.886059579764911e-04 + 9.807016577383673e-04 9.728434421263681e-04 9.650311428619217e-04 9.572645925441391e-04 9.495436296868831e-04 + 9.418680934992058e-04 9.342378189983833e-04 9.266526374013966e-04 9.191123940951565e-04 9.116169327210938e-04 + 9.041660846048507e-04 8.967596865276394e-04 8.893975784458786e-04 8.820795994475233e-04 8.748055834052338e-04 + 8.675753662309574e-04 8.603887967412885e-04 8.532457145816050e-04 8.461459528881801e-04 8.390893515597134e-04 + 8.320757512954288e-04 8.251049910410551e-04 8.181769052102455e-04 8.112913354889369e-04 8.044481307476467e-04 + 7.976471276304203e-04 7.908881626723219e-04 7.841710779271092e-04 7.774957151422038e-04 7.708619131557394e-04 + 7.642695077220146e-04 7.577183458379644e-04 7.512082748417916e-04 7.447391309361296e-04 7.383107537219758e-04 + 7.319229861740803e-04 7.255756719189899e-04 7.192686493738265e-04 7.130017570250109e-04 7.067748463319056e-04 + 7.005877618919097e-04 6.944403408515077e-04 6.883324261093659e-04 6.822638623160529e-04 6.762344932684062e-04 + 6.702441573916524e-04 6.642926986443232e-04 6.583799694858947e-04 6.525058122102392e-04 6.466700672293728e-04 + 6.408725793807691e-04 6.351131947715911e-04 6.293917574305099e-04 6.237081070877600e-04 6.180620932909059e-04 + 6.124535677685099e-04 6.068823714677426e-04 6.013483481700967e-04 5.958513451670206e-04 5.903912096703989e-04 + 5.849677853780454e-04 5.795809154020751e-04 5.742304534677881e-04 5.689162489783443e-04 5.636381442526738e-04 + 5.583959863498279e-04 5.531896240506697e-04 5.480189055622431e-04 5.428836748799696e-04 5.377837797240800e-04 + 5.327190759830209e-04 5.276894110958636e-04 5.226946300477827e-04 5.177345825024617e-04 5.128091188465486e-04 + 5.079180879528710e-04 5.030613351067660e-04 4.982387130290541e-04 4.934500776624026e-04 4.886952758062522e-04 + 4.839741558713263e-04 4.792865695826084e-04 4.746323688630657e-04 4.700114029595036e-04 4.654235198613055e-04 + 4.608685766627245e-04 4.563464280591107e-04 4.518569219186994e-04 4.473999099762359e-04 4.429752457691277e-04 + 4.385827824909558e-04 4.342223700107388e-04 4.298938604566902e-04 4.255971135329090e-04 4.213319826090788e-04 + 4.170983180859963e-04 4.128959744299958e-04 4.087248069577171e-04 4.045846700338900e-04 4.004754147907325e-04 + 3.963968979642262e-04 3.923489801919561e-04 3.883315144592717e-04 3.843443544269981e-04 3.803873568608614e-04 + 3.764603788261386e-04 3.725632754784107e-04 3.686959004384349e-04 3.648581147870281e-04 3.610497787686854e-04 + 3.572707463878945e-04 3.535208745539621e-04 3.498000220657478e-04 3.461080477383748e-04 3.424448076363575e-04 + 3.388101589386426e-04 3.352039657815740e-04 3.316260877532703e-04 3.280763812137888e-04 3.245547060139738e-04 + 3.210609229167205e-04 3.175948921405597e-04 3.141564711604799e-04 3.107455215081982e-04 3.073619088757455e-04 + 3.040054927848886e-04 3.006761327105527e-04 2.973736909925681e-04 2.940980303881470e-04 2.908490123115160e-04 + 2.876264965105581e-04 2.844303488008553e-04 2.812604353029198e-04 2.781166164989417e-04 2.749987551423296e-04 + 2.719067158817455e-04 2.688403633742989e-04 2.657995602462465e-04 2.627841695326067e-04 2.597940603791381e-04 + 2.568290988582687e-04 2.538891477672460e-04 2.509740728301346e-04 2.480837407612393e-04 2.452180180501483e-04 + 2.423767689150773e-04 2.395598604007145e-04 2.367671637065971e-04 2.339985452156380e-04 2.312538707417314e-04 + 2.285330086975239e-04 2.258358279521211e-04 2.231621965330517e-04 2.205119809474630e-04 2.178850522930381e-04 + 2.152812827957872e-04 2.127005401044592e-04 2.101426932429596e-04 2.076076129630843e-04 2.050951703707553e-04 + 2.026052350574154e-04 2.001376764695323e-04 1.976923692963255e-04 1.952691863631026e-04 1.928679973631469e-04 + 1.904886744667185e-04 1.881310908124045e-04 1.857951194428946e-04 1.834806317739651e-04 1.811875010647571e-04 + 1.789156043640377e-04 1.766648152326652e-04 1.744350063601967e-04 1.722260526922104e-04 1.700378296945535e-04 + 1.678702123432160e-04 1.657230742438847e-04 1.635962925697728e-04 1.614897461072756e-04 1.594033097074569e-04 + 1.573368592094730e-04 1.552902721810668e-04 1.532634264532060e-04 1.512561988693490e-04 1.492684659352835e-04 + 1.473001083560244e-04 1.453510059716440e-04 1.434210358729406e-04 1.415100771164913e-04 1.396180097223186e-04 + 1.377447137267307e-04 1.358900680130841e-04 1.340539526362652e-04 1.322362510498252e-04 1.304368442346035e-04 + 1.286556121626104e-04 1.268924368411170e-04 1.251472007379926e-04 1.234197860690376e-04 1.217100740639766e-04 + 1.200179485071157e-04 1.183432949752447e-04 1.166859960758634e-04 1.150459349477667e-04 1.134229962637926e-04 + 1.118170649981152e-04 1.102280255615328e-04 1.086557620076939e-04 1.071001616642248e-04 1.055611117192228e-04 + 1.040384970703678e-04 1.025322040262462e-04 1.010421198490596e-04 9.956813202096472e-05 9.811012722455996e-05 + 9.666799283658755e-05 9.524161921027426e-05 9.383089505710078e-05 9.243570803818307e-05 9.105594759252440e-05 + 8.969150364397068e-05 8.834226604286881e-05 8.700812397260034e-05 8.568896841419017e-05 8.438469212608002e-05 + 8.309518568825200e-05 8.182033994906239e-05 8.056004718218619e-05 7.931419998170841e-05 7.808269064296404e-05 + 7.686541112857092e-05 7.566225594198306e-05 7.447311991364301e-05 7.329789600792314e-05 7.213647827366786e-05 + 7.098876170896106e-05 6.985464163907488e-05 6.873401282606521e-05 6.762677039259616e-05 6.653281205307769e-05 + 6.545203459530543e-05 6.438433381335806e-05 6.332960688869456e-05 6.228775159650499e-05 6.125866586213212e-05 + 6.024224709312662e-05 5.923839394811549e-05 5.824700680510711e-05 5.726798458845817e-05 5.630122626966778e-05 + 5.534663202079377e-05 5.440410243697520e-05 5.347353805513213e-05 5.255483915897720e-05 5.164790790372327e-05 + 5.075264706713765e-05 4.986895809670387e-05 4.899674321102013e-05 4.813590548272275e-05 4.728634834520723e-05 + 4.644797500988253e-05 4.562068892036128e-05 4.480439551815946e-05 4.399899988301035e-05 4.320440633696577e-05 + 4.242052030402665e-05 4.164724778526068e-05 4.088449502887978e-05 4.013216802138054e-05 3.939017361734100e-05 + 3.865842020891389e-05 3.793681530287127e-05 3.722526637683801e-05 3.652368195642655e-05 3.583197100166348e-05 + 3.515004257550265e-05 3.447780563338777e-05 3.381517049939420e-05 3.316204825033269e-05 3.251834908257212e-05 + 3.188398376275541e-05 3.125886384349450e-05 3.064290126992314e-05 3.003600797392098e-05 2.943809607683111e-05 + 2.884907925556903e-05 2.826887119646782e-05 2.769738505988399e-05 2.713453488302094e-05 2.658023526748751e-05 + 2.603440114263312e-05 2.549694738792051e-05 2.496778949423694e-05 2.444684425976710e-05 2.393402805764408e-05 + 2.342925723948219e-05 2.293244905822871e-05 2.244352120797989e-05 2.196239159983278e-05 2.148897818423003e-05 + 2.102319990982268e-05 2.056497650699234e-05 2.011422722229805e-05 1.967087173846936e-05 1.923483045310688e-05 + 1.880602417859793e-05 1.838437386840237e-05 1.796980069033951e-05 1.756222699777835e-05 1.716157539169325e-05 + 1.676776819323897e-05 1.638072842752046e-05 1.600037965967140e-05 1.562664583506045e-05 1.525945101785764e-05 + 1.489871974108943e-05 1.454437762041471e-05 1.419635018600421e-05 1.385456300630342e-05 1.351894241351905e-05 + 1.318941519258516e-05 1.286590843459537e-05 1.254834939298960e-05 1.223666606495489e-05 1.193078719950152e-05 + 1.163064137727749e-05 1.133615754527981e-05 1.104726530816775e-05 1.076389469662666e-05 1.048597599093073e-05 + 1.021343974753131e-05 9.946217419267380e-06 9.684240838620889e-06 9.427441790773100e-06 9.175752643853506e-06 + 8.929106280098344e-06 8.687435997194528e-06 8.450675338936148e-06 8.218758257424963e-06 7.991619584870982e-06 + 7.769194298227330e-06 7.551417507621627e-06 7.338224987041431e-06 7.129552955942858e-06 6.925337997222138e-06 + 6.725516977155444e-06 6.530027335862672e-06 6.338807194551445e-06 6.151794769434223e-06 5.968928615355085e-06 + 5.790147878391894e-06 5.615392155261267e-06 5.444601365246586e-06 5.277715758699128e-06 5.114676291438329e-06 + 4.955424365336747e-06 4.799901525655197e-06 4.648049820836300e-06 4.499811793985402e-06 4.355130438087899e-06 + 4.213949069835453e-06 4.076211399540344e-06 3.941861865039729e-06 3.810845196499976e-06 3.683106361660463e-06 + 3.558590910585118e-06 3.437244835818923e-06 3.319014541070219e-06 3.203846795533912e-06 3.091688852089737e-06 + 2.982488579295818e-06 2.876194109656037e-06 2.772753925582794e-06 2.672117063800105e-06 2.574233014808049e-06 + 2.479051643033932e-06 2.386523210361943e-06 2.296598552297165e-06 2.209228971591383e-06 2.124366069775506e-06 + 2.041961906232304e-06 1.961969019732135e-06 1.884340423438541e-06 1.809029507182080e-06 1.735990071613592e-06 + 1.665176534356502e-06 1.596543687803830e-06 1.530046658503296e-06 1.465641105678908e-06 1.403283128309336e-06 + 1.342929271825179e-06 1.284536503035511e-06 1.228062233226246e-06 1.173464436795038e-06 1.120701460082181e-06 + 1.069732028902882e-06 1.020515399241352e-06 9.730112822753146e-07 9.271798002921477e-07 8.829815278752155e-07 + 8.403775374680640e-07 7.993293716485992e-07 7.597989809176624e-07 7.217487560416926e-07 6.851415619710593e-07 + 6.499407524191172e-07 6.161100929136179e-07 5.836137918783888e-07 5.524166028233452e-07 5.224836968385216e-07 + 4.937806609639881e-07 4.662735849361845e-07 4.399289991547822e-07 4.147139110260500e-07 3.905957813609555e-07 + 3.675425084859321e-07 3.455225231396512e-07 3.245046871736890e-07 3.044582778536548e-07 2.853530928283095e-07 + 2.671593859185241e-07 2.498478511400059e-07 2.333896726605378e-07 2.177564985206194e-07 2.029204500538344e-07 + 1.888541210793108e-07 1.755305458522738e-07 1.629232393506973e-07 1.510062144201093e-07 1.397539174372155e-07 + 1.291412703741045e-07 1.191437050672961e-07 1.097370923617762e-07 1.008977778162274e-07 9.260259669902208e-08 + 8.482883141984319e-08 7.755426670738778e-08 7.075715683240311e-08 6.441620467100832e-08 5.851063608240125e-08 + 5.302013495440350e-08 4.792483459927075e-08 4.320538955913144e-08 3.884291294265582e-08 3.481898425658018e-08 + 3.111569527451850e-08 2.771559342817648e-08 2.460171067137196e-08 2.175758348333717e-08 1.916719757773861e-08 + 1.681503457183268e-08 1.468607978947252e-08 1.276576812429566e-08 1.104003874048358e-08 9.495328649625366e-09 + 8.118528715645258e-09 6.897042498203040e-09 5.818760232281117e-09 4.872032311209139e-09 4.045732447740840e-09 + 3.329210679517489e-09 2.712284881132093e-09 2.185301687016959e-09 1.739076161987666e-09 1.364901589086205e-09 + 1.054599065845252e-09 8.004535320102697e-10 5.952414597054672e-10 4.322622496028902e-10 3.052766304104823e-10 + 2.085502003918036e-10 1.368642901349301e-10 8.546164059834664e-11 5.010215808832263e-11 2.705311520847365e-11 + 1.304599438344934e-11 5.339090781311160e-12 1.692041320615927e-12 3.321208355096226e-13 6.781366937015517e-15 diff --git a/examples/SPIN/read_restart/in.spin.read_data b/examples/SPIN/read_restart/in.spin.read_data index 1f56df2564..7a3b1d0913 100644 --- a/examples/SPIN/read_restart/in.spin.read_data +++ b/examples/SPIN/read_restart/in.spin.read_data @@ -1,4 +1,5 @@ <<<<<<< HEAD +<<<<<<< HEAD # start a spin-lattice simulation from a data file clear units metal @@ -12,24 +13,30 @@ atom_modify map array read_data ../examples/SPIN/read_restart/Norm_randXY_8x8x32.data ======= +======= +# start a spin-lattice simulation from a data file +>>>>>>> Commit modifs before release 1 (03/26/18) clear -units metal -dimension 3 -boundary p p p +units metal +dimension 3 +boundary p p p -atom_style spin +atom_style spin # necessary for the serial algorithm (sametag) -atom_modify map array - -read_data ../examples/SPIN/Norm_randXY_8x8x32_test.data +atom_modify map array +<<<<<<< HEAD >>>>>>> Commit before meeting 032218 +======= +read_data ../examples/SPIN/read_restart/Norm_randXY_8x8x32.data +>>>>>>> Commit modifs before release 1 (03/26/18) mass 1 58.93 # define magneto-mechanical potentials and forces <<<<<<< HEAD +<<<<<<< HEAD pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair_coeff * * eam/alloy ../examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy Co pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 @@ -49,18 +56,27 @@ pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4. pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 +======= +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_coeff * * eam/alloy ../examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +>>>>>>> Commit modifs before release 1 (03/26/18) -neighbor 1.0 bin -neigh_modify every 1 check no delay 0 +neighbor 1.0 bin +neigh_modify every 1 check no delay 0 -fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 21 +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 -fix 3 all integration/spin serial +fix 3 all nve/spin lattice yes timestep 0.0001 +<<<<<<< HEAD # define outputs >>>>>>> Commit before meeting 032218 +======= +# define outputs and computes +>>>>>>> Commit modifs before release 1 (03/26/18) compute out_mag all compute/spin compute out_pe all pe @@ -76,6 +92,7 @@ thermo 10 thermo_style custom step time v_magnorm v_emag v_tmag temp etotal thermo_modify format float %20.15g +<<<<<<< HEAD <<<<<<< HEAD compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] @@ -86,4 +103,10 @@ dump 1 all custom 1 dump.lammpstrj type x y z spx spy spz run 10000 >>>>>>> Commit before meeting 032218 +======= +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 100 +>>>>>>> Commit modifs before release 1 (03/26/18) diff --git a/examples/SPIN/read_restart/in.spin.restart b/examples/SPIN/read_restart/in.spin.restart index 2afcfb6291..5970953b30 100644 --- a/examples/SPIN/read_restart/in.spin.restart +++ b/examples/SPIN/read_restart/in.spin.restart @@ -1,62 +1,63 @@ +# start a spin-lattice simulation from a data file clear -units metal -atom_style spin +units metal +atom_style spin -dimension 3 -boundary p p p +dimension 3 +boundary p p p # necessary for the serial algorithm (sametag) -atom_modify map array +atom_modify map array -lattice fcc 3.54 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box +lattice fcc 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box -read_dump ../examples/SPIN/Norm_randXY_8x8x32.dump 0 x y z box yes +read_dump ../examples/SPIN/Norm_randXY_8x8x32.dump 0 x y z box yes -create_atoms 1 box +create_atoms 1 box # setting mass, mag. moments, and interactions mass 1 58.93 -set group all spin 1.72 0.0 0.0 1.0 -set group single_spin spin/random 11 1.72 -velocity all create 200 4928459 rot yes dist gaussian +set group all spin 1.72 0.0 0.0 1.0 +set group single_spin spin/random 11 1.72 +velocity all create 200 4928459 rot yes dist gaussian # define magneto-mechanical potentials and forces -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 -pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 -neighbor 1.0 bin -neigh_modify every 1 check no delay 0 +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 -fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 0.0 21 +neighbor 1.0 bin +neigh_modify every 1 check no delay 0 -fix 3 all integration/spin serial +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 0.0 21 + +fix 3 all nve/spin lattice yes timestep 0.0001 # define outputs -compute out_mag all compute/spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp -variable magz equal c_out_mag[4] -variable magnorm equal c_out_mag[5] -variable emag equal c_out_mag[6] -variable tmag equal c_out_mag[7] -variable mag_force equal f_1 +variable magz equal c_out_mag[4] +variable magnorm equal c_out_mag[5] +variable emag equal c_out_mag[6] +variable tmag equal c_out_mag[7] thermo 10 thermo_style custom step time v_magnorm v_emag v_tmag temp etotal thermo_modify format float %20.15g -dump 1 all custom 20 dump.lammpstrj type x y z spx spy spz +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] -run 1000 +run 1000 diff --git a/examples/SPIN/read_restart/in.spin.write_restart b/examples/SPIN/read_restart/in.spin.write_restart new file mode 100644 index 0000000000..2b2e9e0622 --- /dev/null +++ b/examples/SPIN/read_restart/in.spin.write_restart @@ -0,0 +1,58 @@ +# fcc cobalt in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice fcc 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.93 + +set group all spin/random 31 1.72 +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_coeff * * eam/alloy ../examples/SPIN/cobalt_fcc/Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice yes +timestep 0.0001 + +# compute and output options + +compute out_mag all compute/spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_emag temp etotal +thermo 10 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 10000 +write_restart restart_fcc_cobalt.equil + diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 1af3440958..cda16833a3 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -1,4 +1,5 @@ /* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov @@ -43,14 +44,13 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) size_forward = 7; size_reverse = 6; - size_border = 11; + size_border = 10; size_velocity = 3; size_data_atom = 9; size_data_vel = 4; xcol_data = 4; forceclearflag = 1; - atom->mumag_flag = 1; atom->sp_flag = 1; } @@ -83,7 +83,6 @@ void AtomVecSpin::grow(int n) // allocating mag. quantities - mumag = memory->grow(atom->mumag,nmax,"atom:mumag"); sp = memory->grow(atom->sp,nmax,4,"atom:sp"); fm = memory->grow(atom->fm,nmax*comm->nthreads,3,"atom:fm"); @@ -101,7 +100,7 @@ void AtomVecSpin::grow_reset() tag = atom->tag; type = atom->type; mask = atom->mask; image = atom->image; x = atom->x; v = atom->v; f = atom->f; - mumag = atom->mumag; sp = atom->sp; fm = atom->fm; + sp = atom->sp; fm = atom->fm; } @@ -122,7 +121,6 @@ void AtomVecSpin::copy(int i, int j, int delflag) v[j][1] = v[i][1]; v[j][2] = v[i][2]; - mumag[j] = mumag[i]; sp[j][0] = sp[i][0]; sp[j][1] = sp[i][1]; sp[j][2] = sp[i][2]; @@ -381,7 +379,6 @@ int AtomVecSpin::pack_border(int n, int *list, double *buf, buf[m++] = ubuf(tag[j]).d; buf[m++] = ubuf(type[j]).d; buf[m++] = ubuf(mask[j]).d; - buf[m++] = mumag[j]; buf[m++] = sp[j][0]; buf[m++] = sp[j][1]; buf[m++] = sp[j][2]; @@ -405,7 +402,6 @@ int AtomVecSpin::pack_border(int n, int *list, double *buf, buf[m++] = ubuf(tag[j]).d; buf[m++] = ubuf(type[j]).d; buf[m++] = ubuf(mask[j]).d; - buf[m++] = mumag[j]; buf[m++] = sp[j][0]; buf[m++] = sp[j][1]; buf[m++] = sp[j][2]; @@ -438,7 +434,6 @@ int AtomVecSpin::pack_border_vel(int n, int *list, double *buf, buf[m++] = ubuf(tag[j]).d; buf[m++] = ubuf(type[j]).d; buf[m++] = ubuf(mask[j]).d; - buf[m++] = mumag[j]; buf[m++] = sp[j][0]; buf[m++] = sp[j][1]; buf[m++] = sp[j][2]; @@ -466,7 +461,6 @@ int AtomVecSpin::pack_border_vel(int n, int *list, double *buf, buf[m++] = ubuf(tag[j]).d; buf[m++] = ubuf(type[j]).d; buf[m++] = ubuf(mask[j]).d; - buf[m++] = mumag[j]; buf[m++] = sp[j][0]; buf[m++] = sp[j][1]; buf[m++] = sp[j][2]; @@ -487,7 +481,6 @@ int AtomVecSpin::pack_border_vel(int n, int *list, double *buf, buf[m++] = ubuf(tag[j]).d; buf[m++] = ubuf(type[j]).d; buf[m++] = ubuf(mask[j]).d; - buf[m++] = mumag[j]; buf[m++] = sp[j][0]; buf[m++] = sp[j][1]; buf[m++] = sp[j][2]; @@ -521,7 +514,6 @@ int AtomVecSpin::pack_border_hybrid(int n, int *list, double *buf) m = 0; for (i = 0; i < n; i++) { j = list[i]; - buf[m++] = mumag[j]; buf[m++] = sp[j][0]; buf[m++] = sp[j][1]; buf[m++] = sp[j][2]; @@ -547,7 +539,6 @@ void AtomVecSpin::unpack_border(int n, int first, double *buf) tag[i] = (tagint) ubuf(buf[m++]).i; type[i] = (int) ubuf(buf[m++]).i; mask[i] = (int) ubuf(buf[m++]).i; - mumag[i] = buf[m++]; sp[i][0] = buf[m++]; sp[i][1] = buf[m++]; sp[i][2] = buf[m++]; @@ -577,7 +568,6 @@ void AtomVecSpin::unpack_border_vel(int n, int first, double *buf) tag[i] = (tagint) ubuf(buf[m++]).i; type[i] = (int) ubuf(buf[m++]).i; mask[i] = (int) ubuf(buf[m++]).i; - mumag[i] = buf[m++]; sp[i][0] = buf[m++]; sp[i][1] = buf[m++]; sp[i][2] = buf[m++]; @@ -603,7 +593,6 @@ int AtomVecSpin::unpack_border_hybrid(int n, int first, double *buf) m = 0; last = first + n; for (i = first; i < last; i++) { - mumag[i] = buf[m++]; sp[i][0] = buf[m++]; sp[i][1] = buf[m++]; sp[i][2] = buf[m++]; @@ -632,7 +621,6 @@ int AtomVecSpin::pack_exchange(int i, double *buf) buf[m++] = ubuf(mask[i]).d; buf[m++] = ubuf(image[i]).d; - buf[m++] = mumag[i]; buf[m++] = sp[i][0]; buf[m++] = sp[i][1]; buf[m++] = sp[i][2]; @@ -665,7 +653,6 @@ int AtomVecSpin::unpack_exchange(double *buf) mask[nlocal] = (int) ubuf(buf[m++]).i; image[nlocal] = (imageint) ubuf(buf[m++]).i; - mumag[nlocal] = buf[m++]; sp[nlocal][0] = buf[m++]; sp[nlocal][1] = buf[m++]; sp[nlocal][2] = buf[m++]; @@ -722,7 +709,6 @@ int AtomVecSpin::pack_restart(int i, double *buf) buf[m++] = v[i][1]; buf[m++] = v[i][2]; - buf[m++] = mumag[i]; buf[m++] = sp[i][0]; buf[m++] = sp[i][1]; buf[m++] = sp[i][2]; @@ -761,7 +747,6 @@ int AtomVecSpin::unpack_restart(double *buf) v[nlocal][1] = buf[m++]; v[nlocal][2] = buf[m++]; - mumag[nlocal] = buf[m++]; sp[nlocal][0] = buf[m++]; sp[nlocal][1] = buf[m++]; sp[nlocal][2] = buf[m++]; @@ -800,7 +785,6 @@ void AtomVecSpin::create_atom(int itype, double *coord) v[nlocal][1] = 0.0; v[nlocal][2] = 0.0; - mumag[nlocal] = 0.0; sp[nlocal][0] = 0.0; sp[nlocal][1] = 0.0; sp[nlocal][2] = 0.0; @@ -824,18 +808,20 @@ void AtomVecSpin::data_atom(double *coord, imageint imagetmp, char **values) if (type[nlocal] <= 0 || type[nlocal] > atom->ntypes) error->one(FLERR,"Invalid atom type in Atoms section of data file"); - mumag[nlocal] = atof(values[2]); - x[nlocal][0] = coord[0]; x[nlocal][1] = coord[1]; x[nlocal][2] = coord[2]; - sp[nlocal][0] = atof(values[6]); - sp[nlocal][1] = atof(values[7]); - sp[nlocal][2] = atof(values[8]); - sp[nlocal][3] = sqrt(sp[nlocal][0]*sp[nlocal][0] + - sp[nlocal][1]*sp[nlocal][1] + - sp[nlocal][2]*sp[nlocal][2]); + sp[nlocal][3] = atof(values[2]); + sp[nlocal][0] = atof(values[5]); + sp[nlocal][1] = atof(values[6]); + sp[nlocal][2] = atof(values[7]); + double inorm = 1.0/sqrt(sp[nlocal][0]*sp[nlocal][0] + + sp[nlocal][1]*sp[nlocal][1] + + sp[nlocal][2]*sp[nlocal][2]); + sp[nlocal][0] *= inorm; + sp[nlocal][1] *= inorm; + sp[nlocal][2] *= inorm; image[nlocal] = imagetmp; @@ -854,13 +840,17 @@ void AtomVecSpin::data_atom(double *coord, imageint imagetmp, char **values) int AtomVecSpin::data_atom_hybrid(int nlocal, char **values) { - mumag[nlocal] = atof(values[0]); - sp[nlocal][0] = atof(values[1]); - sp[nlocal][1] = atof(values[2]); - sp[nlocal][2] = atof(values[3]); - sp[nlocal][3] = sqrt(sp[nlocal][0]*sp[nlocal][0] + - sp[nlocal][1]*sp[nlocal][1] + - sp[nlocal][2]*sp[nlocal][2]); + + sp[nlocal][0] = atof(values[0]); + sp[nlocal][1] = atof(values[1]); + sp[nlocal][2] = atof(values[2]); + double inorm = 1.0/sqrt(sp[nlocal][0]*sp[nlocal][0] + + sp[nlocal][1]*sp[nlocal][1] + + sp[nlocal][2]*sp[nlocal][2]); + sp[nlocal][0] *= inorm; + sp[nlocal][1] *= inorm; + sp[nlocal][2] *= inorm; + sp[nlocal][3] = atof(values[3]); return 4; } @@ -875,17 +865,16 @@ void AtomVecSpin::pack_data(double **buf) for (int i = 0; i < nlocal; i++) { buf[i][0] = ubuf(tag[i]).d; buf[i][1] = ubuf(type[i]).d; - buf[i][2] = mumag[i]; + buf[i][2] = sp[i][3]; buf[i][3] = x[i][0]; buf[i][4] = x[i][1]; buf[i][5] = x[i][2]; buf[i][6] = sp[i][0]; buf[i][7] = sp[i][1]; buf[i][8] = sp[i][2]; - buf[i][9] = sp[i][3]; - buf[i][10] = ubuf((image[i] & IMGMASK) - IMGMAX).d; - buf[i][11] = ubuf((image[i] >> IMGBITS & IMGMASK) - IMGMAX).d; - buf[i][12] = ubuf((image[i] >> IMG2BITS) - IMGMAX).d; + buf[i][9] = ubuf((image[i] & IMGMASK) - IMGMAX).d; + buf[i][10] = ubuf((image[i] >> IMGBITS & IMGMASK) - IMGMAX).d; + buf[i][11] = ubuf((image[i] >> IMG2BITS) - IMGMAX).d; } } @@ -895,13 +884,13 @@ void AtomVecSpin::pack_data(double **buf) int AtomVecSpin::pack_data_hybrid(int i, double *buf) { - buf[0] = mumag[i]; - buf[1] = sp[i][0]; - buf[2] = sp[i][1]; - buf[3] = sp[i][2]; - buf[4] = sp[i][3]; - return 5; + buf[0] = sp[i][0]; + buf[1] = sp[i][1]; + buf[2] = sp[i][2]; + buf[3] = sp[i][3]; + + return 4; } /* ---------------------------------------------------------------------- @@ -947,7 +936,6 @@ bigint AtomVecSpin::memory_usage() if (atom->memcheck("v")) bytes += memory->usage(v,nmax,3); if (atom->memcheck("f")) bytes += memory->usage(f,nmax*comm->nthreads,3); - if (atom->memcheck("mumag")) bytes += memory->usage(mumag,nmax); if (atom->memcheck("sp")) bytes += memory->usage(sp,nmax,4); if (atom->memcheck("fm")) bytes += memory->usage(fm,nmax*comm->nthreads,3); diff --git a/src/SPIN/atom_vec_spin.h b/src/SPIN/atom_vec_spin.h index c0f245ba27..99d4a86189 100644 --- a/src/SPIN/atom_vec_spin.h +++ b/src/SPIN/atom_vec_spin.h @@ -68,7 +68,9 @@ class AtomVecSpin : public AtomVec { int *type,*mask; imageint *image; double **x,**v,**f; // lattice quantities - double *mumag,**sp,**fm; // spin quantities + double **sp,**fm; // spin quantities + // sp[i][0-2] direction of the spin i + // sp[i][3] atomic magnetic moment of the spin i }; diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 7dbf7b05ab..32e3a4b9ba 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -91,7 +91,6 @@ void ComputeSpin::compute_vector() int *mask = atom->mask; int *type = atom->type; imageint *image = atom->image; - double *mumag = atom->mumag; double **sp = atom->sp; double **fm = atom->fm; double tx,ty,tz; @@ -103,7 +102,7 @@ void ComputeSpin::compute_vector() for (i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - if (atom->mumag_flag && atom->sp_flag) { + if (atom->sp_flag) { mag[0] += sp[i][0]; mag[1] += sp[i][1]; mag[2] += sp[i][2]; @@ -116,7 +115,7 @@ void ComputeSpin::compute_vector() countsp++; } } - else error->all(FLERR,"Compute spin/compute declared magnetic quantities (sp and mumag flags)"); + else error->all(FLERR,"Compute compute/spin requires atom/spin style"); } MPI_Allreduce(mag,magtot,4,MPI_DOUBLE,MPI_SUM,world); diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index 2a7f49b0e6..b7a2f0c0bd 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -116,10 +116,10 @@ void FixLangevinSpin::init() int flag_force = 0; int flag_lang = 0; for (int i = 0; i < modify->nfix; i++) { - if (strcmp("force/spin",modify->fix[i]->style)==0) flag_force = MAX(flag_force,i); + if (strcmp("precession/spin",modify->fix[i]->style)==0) flag_force = MAX(flag_force,i); if (strcmp("langevin/spin",modify->fix[i]->style)==0) flag_lang = i; } - if (flag_force >= flag_lang) error->all(FLERR,"Fix langevin/spin should come after all other spin fixes"); + if (flag_force >= flag_lang) error->all(FLERR,"Fix langevin/spin has to come after all other spin fixes"); memory->create(spi,3,"langevin:spi"); memory->create(fmi,3,"langevin:fmi"); diff --git a/src/SPIN/fix_langevin_spin.h b/src/SPIN/fix_langevin_spin.h index 276f03499a..0f90a77c14 100644 --- a/src/SPIN/fix_langevin_spin.h +++ b/src/SPIN/fix_langevin_spin.h @@ -31,7 +31,6 @@ class FixLangevinSpin : public Fix { int setmask(); void init(); void setup(int); -// virtual void post_force(int); void post_force_respa(int, int, int); void add_tdamping(double spi[3], double fmi[3]); // add transverse damping void add_temperature(double fmi[3]); // add temperature diff --git a/src/SPIN/fix_integration_spin.cpp b/src/SPIN/fix_nve_spin.cpp similarity index 73% rename from src/SPIN/fix_integration_spin.cpp rename to src/SPIN/fix_nve_spin.cpp index 7581546f3e..0660032e02 100644 --- a/src/SPIN/fix_integration_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -23,8 +23,8 @@ #include "atom.h" #include "atom_vec.h" #include "error.h" -#include "fix_force_spin.h" -#include "fix_integration_spin.h" +#include "fix_precession_spin.h" +#include "fix_nve_spin.h" #include "fix_langevin_spin.h" #include "force.h" #include "math_vector.h" @@ -48,63 +48,69 @@ using namespace FixConst; using namespace MathConst; using namespace MathExtra; -enum{NONE,SPIN}; +enum{NONE}; /* ---------------------------------------------------------------------- */ -FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : +FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), rsec(NULL), stack_head(NULL), stack_foot(NULL), backward_stacks(NULL), forward_stacks(NULL), - lockpairspinexchange(NULL), lockpairspinsocneel(NULL), lockforcespin(NULL), + lockpairspinexchange(NULL), lockpairspinsocneel(NULL), lockprecessionspin(NULL), locklangevinspin(NULL) { - if (narg < 4) error->all(FLERR,"Illegal fix/integration/spin command"); + if (narg < 4) error->all(FLERR,"Illegal fix/NVE/spin command"); time_integrate = 1; - extra = NONE; - mpi_flag = NONE; + sector_flag = NONE; mech_flag = 1; - - if (strcmp(arg[2],"integration/spin") == 0) { - extra = SPIN; - } else error->all(FLERR,"Illegal fix integration/spin command"); - - // defining mpi_flag + + // checking if map array or hash is defined + + if (atom->map_style == 0) + error->all(FLERR,"Fix NVE/spin requires an atom map, see atom_modify"); + + // defining sector_flag int nprocs_tmp = comm->nprocs; if (nprocs_tmp == 1) { - mpi_flag = 0; + sector_flag = 0; } else if (nprocs_tmp >= 1) { - mpi_flag = 1; - } else error->all(FLERR,"Illegal fix/integration/spin command"); + sector_flag = 1; + } else error->all(FLERR,"Illegal fix/NVE/spin command"); // defining mech_flag int iarg = 3; while (iarg < narg) { if (strcmp(arg[iarg],"lattice") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix/integration/spin command"); + if (iarg+2 > narg) error->all(FLERR,"Illegal fix/NVE/spin command"); if (strcmp(arg[iarg+1],"no") == 0) mech_flag = 0; else if (strcmp(arg[iarg+1],"yes") == 0) mech_flag = 1; - else error->all(FLERR,"Illegal fix/integration/spin command"); + else error->all(FLERR,"Illegal fix/NVE/spin command"); iarg += 2; - } else error->all(FLERR,"Illegal fix/integration/spin command"); + } else error->all(FLERR,"Illegal fix/NVE/spin command"); } - if (extra == SPIN && !atom->mumag_flag) - error->all(FLERR,"Fix integration/spin requires spin attribute mumag"); + // check if the atom/spin style is defined + + if (!atom->sp_flag) + error->all(FLERR,"Fix NVE/spin requires atom/spin style"); + + // check if sector_flag is correctly defined - if (mpi_flag == 0 && nprocs_tmp > 1) - error->all(FLERR,"Illegal fix/integration/spin command"); + if (sector_flag == 0 && nprocs_tmp > 1) + error->all(FLERR,"Illegal fix/NVE/spin command"); + + // initialize the magnetic interaction flags magpair_flag = 0; exch_flag = 0; soc_neel_flag = soc_dmi_flag = 0; me_flag = 0; - magforce_flag = 0; + magprecession_flag = 0; zeeman_flag = aniso_flag = 0; maglangevin_flag = 0; tdamp_flag = temp_flag = 0; @@ -113,7 +119,7 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) : /* ---------------------------------------------------------------------- */ -FixIntegrationSpin::~FixIntegrationSpin() +FixNVESpin::~FixNVESpin() { memory->destroy(rsec); memory->destroy(stack_head); @@ -124,7 +130,7 @@ FixIntegrationSpin::~FixIntegrationSpin() /* ---------------------------------------------------------------------- */ -int FixIntegrationSpin::setmask() +int FixNVESpin::setmask() { int mask = 0; mask |= INITIAL_INTEGRATE; @@ -135,7 +141,7 @@ int FixIntegrationSpin::setmask() /* ---------------------------------------------------------------------- */ -void FixIntegrationSpin::init() +void FixNVESpin::init() { // set timesteps @@ -177,15 +183,15 @@ void FixIntegrationSpin::init() lockpairspinme = (PairSpinMe *) lockhybrid->styles[ipair]; } } - } else error->all(FLERR,"Illegal fix integration/spin command"); + } else error->all(FLERR,"Illegal fix NVE/spin command"); // check errors, and handle simple hybrid (not overlay), and no pair/spin interaction int iforce; for (iforce = 0; iforce < modify->nfix; iforce++) { - if (strstr(modify->fix[iforce]->style,"force/spin")) { - magforce_flag = 1; - lockforcespin = (FixForceSpin *) modify->fix[iforce]; + if (strstr(modify->fix[iforce]->style,"precession/spin")) { + magprecession_flag = 1; + lockprecessionspin = (FixPrecessionSpin *) modify->fix[iforce]; } } @@ -196,9 +202,9 @@ void FixIntegrationSpin::init() } } - if (magforce_flag) { - if (lockforcespin->zeeman_flag == 1) zeeman_flag = 1; - if (lockforcespin->aniso_flag == 1) aniso_flag = 1; + if (magprecession_flag) { + if (lockprecessionspin->zeeman_flag == 1) zeeman_flag = 1; + if (lockprecessionspin->aniso_flag == 1) aniso_flag = 1; } if (maglangevin_flag) { @@ -207,24 +213,24 @@ void FixIntegrationSpin::init() } nsectors = 0; - memory->create(rsec,3,"integration/spin:rsec"); + memory->create(rsec,3,"NVE/spin:rsec"); - // perform the sectoring if mpi integration + // perform the sectoring operation - if (mpi_flag) sectoring(); + if (sector_flag) sectoring(); - // grow tables of stacking variables (mpi) + // init. size tables of stacking variables (sectoring) - stack_head = memory->grow(stack_head,nsectors,"integration/spin:stack_head"); - stack_foot = memory->grow(stack_foot,nsectors,"integration/spin:stack_foot"); - forward_stacks = memory->grow(forward_stacks,atom->nmax,"integration/spin:forward_stacks"); - backward_stacks = memory->grow(backward_stacks,atom->nmax,"integration/spin:backward_stacks"); + stack_head = memory->grow(stack_head,nsectors,"NVE/spin:stack_head"); + stack_foot = memory->grow(stack_foot,nsectors,"NVE/spin:stack_foot"); + forward_stacks = memory->grow(forward_stacks,atom->nmax,"NVE/spin:forward_stacks"); + backward_stacks = memory->grow(backward_stacks,atom->nmax,"NVE/spin:backward_stacks"); } /* ---------------------------------------------------------------------- */ -void FixIntegrationSpin::initial_integrate(int vflag) +void FixNVESpin::initial_integrate(int vflag) { double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; double spi[3], fmi[3]; @@ -257,40 +263,36 @@ void FixIntegrationSpin::initial_integrate(int vflag) // update half s for all atoms - if (extra == SPIN) { - if (mpi_flag) { // mpi seq. update - for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal - comm->forward_comm(); - int i = stack_foot[j]; - while (i >= 0) { - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts); - i = forward_stacks[i]; - } - } - for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal - comm->forward_comm(); - int i = stack_head[j]; - while (i >= 0) { - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts); - i = backward_stacks[i]; - } - } - } else if (mpi_flag == 0) { // serial seq. update - comm->forward_comm(); // comm. positions of ghost atoms - for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal-1 + if (sector_flag) { // sectoring seq. update + for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal + comm->forward_comm(); + int i = stack_foot[j]; + while (i >= 0) { ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts); + AdvanceSingleSpin(i); + i = forward_stacks[i]; } - ComputeInteractionsSpin(nlocal-1); - AdvanceSingleSpin(nlocal-1,2.0*dts); // advance half s for 1 - for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal-1 + } + for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal + comm->forward_comm(); + int i = stack_head[j]; + while (i >= 0) { ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts); + AdvanceSingleSpin(i); + i = backward_stacks[i]; } - } else error->all(FLERR,"Illegal fix integration/spin command"); - } + } + } else if (sector_flag == 0) { // serial seq. update + comm->forward_comm(); // comm. positions of ghost atoms + for (int i = 0; i < nlocal; i++){ // advance quarter s for nlocal + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i); + } + for (int i = nlocal-1; i >= 0; i--){ // advance quarter s for nlocal + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i); + } + } else error->all(FLERR,"Illegal fix NVE/spin command"); // update x for all particles @@ -306,40 +308,36 @@ void FixIntegrationSpin::initial_integrate(int vflag) // update half s for all particles - if (extra == SPIN) { - if (mpi_flag) { // mpi seq. update - for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal - comm->forward_comm(); - int i = stack_foot[j]; - while (i >= 0) { - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts); - i = forward_stacks[i]; - } - } - for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal - comm->forward_comm(); - int i = stack_head[j]; - while (i >= 0) { - ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts); - i = backward_stacks[i]; - } - } - } else if (mpi_flag == 0) { // serial seq. update - comm->forward_comm(); // comm. positions of ghost atoms - for (int i = 0; i < nlocal-1; i++){ // advance quarter s for nlocal-1 + if (sector_flag) { // sectoring seq. update + for (int j = 0; j < nsectors; j++) { // advance quarter s for nlocal + comm->forward_comm(); + int i = stack_foot[j]; + while (i >= 0) { ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts); + AdvanceSingleSpin(i); + i = forward_stacks[i]; } - ComputeInteractionsSpin(nlocal-1); - AdvanceSingleSpin(nlocal-1,2.0*dts); // advance half s for 1 - for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal-1 + } + for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal + comm->forward_comm(); + int i = stack_head[j]; + while (i >= 0) { ComputeInteractionsSpin(i); - AdvanceSingleSpin(i,dts); + AdvanceSingleSpin(i); + i = backward_stacks[i]; } - } else error->all(FLERR,"Illegal fix integration/spin command"); - } + } + } else if (sector_flag == 0) { // serial seq. update + comm->forward_comm(); // comm. positions of ghost atoms + for (int i = 0; i < nlocal; i++){ // advance quarter s for nlocal-1 + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i); + } + for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal-1 + ComputeInteractionsSpin(i); + AdvanceSingleSpin(i); + } + } else error->all(FLERR,"Illegal fix NVE/spin command"); } @@ -347,16 +345,16 @@ void FixIntegrationSpin::initial_integrate(int vflag) setup pre_neighbor() ---------------------------------------------------------------------- */ -void FixIntegrationSpin::setup_pre_neighbor() +void FixNVESpin::setup_pre_neighbor() { pre_neighbor(); } /* ---------------------------------------------------------------------- - store in two linked lists the advance order of the spins (mpi) + store in two linked lists the advance order of the spins (sectoring) ---------------------------------------------------------------------- */ -void FixIntegrationSpin::pre_neighbor() +void FixNVESpin::pre_neighbor() { double **x = atom->x; int nlocal = atom->nlocal; @@ -387,10 +385,10 @@ void FixIntegrationSpin::pre_neighbor() } /* ---------------------------------------------------------------------- - compute the magnetic force for the spin ii + compute the magnetic torque for the spin ii ---------------------------------------------------------------------- */ -void FixIntegrationSpin::ComputeInteractionsSpin(int ii) +void FixNVESpin::ComputeInteractionsSpin(int ii) { const int nlocal = atom->nlocal; double xi[3], rij[3], eij[3]; @@ -480,9 +478,6 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) temp_cut = lockpairspinsocdmi->cut_soc_dmi[itype][jtype]; cut_2 = temp_cut*temp_cut; if (rsq <= cut_2) { - eij[0] = rij[0]*inorm; - eij[1] = rij[1]*inorm; - eij[2] = rij[2]*inorm; lockpairspinsocdmi->compute_soc_dmi(i,j,fmi,spi,spj); } } @@ -500,12 +495,12 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) } - if (magforce_flag) { // mag. forces + if (magprecession_flag) { // magnetic precession if (zeeman_flag) { // zeeman - lockforcespin->compute_zeeman(i,fmi); + lockprecessionspin->compute_zeeman(i,fmi); } if (aniso_flag) { // aniso - lockforcespin->compute_anisotropy(i,spi,fmi); + lockprecessionspin->compute_anisotropy(i,spi,fmi); } } @@ -530,7 +525,7 @@ void FixIntegrationSpin::ComputeInteractionsSpin(int ii) divide each domain into sectors ---------------------------------------------------------------------- */ -void FixIntegrationSpin::sectoring() +void FixNVESpin::sectoring() { int sec[3]; double sublo[3],subhi[3]; @@ -560,7 +555,7 @@ void FixIntegrationSpin::sectoring() nsectors = sec[0]*sec[1]*sec[2]; - if (mpi_flag == 1 && nsectors != 8) + if (sector_flag == 1 && nsectors != 8) error->all(FLERR,"Illegal sectoring operation"); rsec[0] = rsx; @@ -576,7 +571,7 @@ void FixIntegrationSpin::sectoring() define sector for an atom at a position x[i] ---------------------------------------------------------------------- */ -int FixIntegrationSpin::coords2sector(double *x) +int FixNVESpin::coords2sector(double *x) { int nseci; int seci[3]; @@ -596,10 +591,10 @@ int FixIntegrationSpin::coords2sector(double *x) } /* ---------------------------------------------------------------------- - advance the spin i of a timestep dtl + advance the spin i of a timestep dts ---------------------------------------------------------------------- */ -void FixIntegrationSpin::AdvanceSingleSpin(int i, double dtl) +void FixNVESpin::AdvanceSingleSpin(int i) { int j=0; int *sametag = atom->sametag; @@ -613,15 +608,15 @@ void FixIntegrationSpin::AdvanceSingleSpin(int i, double dtl) fm2 = (fm[i][0]*fm[i][0])+(fm[i][1]*fm[i][1])+(fm[i][2]*fm[i][2]); fmsq = sqrt(fm2); energy = (sp[i][0]*fm[i][0])+(sp[i][1]*fm[i][1])+(sp[i][2]*fm[i][2]); - dts2 = dtl*dtl; + dts2 = dts*dts; cp[0] = fm[i][1]*sp[i][2]-fm[i][2]*sp[i][1]; cp[1] = fm[i][2]*sp[i][0]-fm[i][0]*sp[i][2]; cp[2] = fm[i][0]*sp[i][1]-fm[i][1]*sp[i][0]; - g[0] = sp[i][0]+cp[0]*dtl; - g[1] = sp[i][1]+cp[1]*dtl; - g[2] = sp[i][2]+cp[2]*dtl; + g[0] = sp[i][0]+cp[0]*dts; + g[1] = sp[i][1]+cp[1]*dts; + g[2] = sp[i][2]+cp[2]*dts; g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; @@ -645,7 +640,7 @@ void FixIntegrationSpin::AdvanceSingleSpin(int i, double dtl) // comm. sp[i] to atoms with same tag (for serial algo) - if (mpi_flag == 0) { + if (sector_flag == 0) { if (sametag[i] >= 0) { j = sametag[i]; while (j >= 0) { @@ -661,7 +656,7 @@ void FixIntegrationSpin::AdvanceSingleSpin(int i, double dtl) /* ---------------------------------------------------------------------- */ -void FixIntegrationSpin::final_integrate() +void FixNVESpin::final_integrate() { double dtfm,msq,scale,fm2,fmsq,energy; double cp[3],g[3]; @@ -669,8 +664,6 @@ void FixIntegrationSpin::final_integrate() double **x = atom->x; double **v = atom->v; double **f = atom->f; - double **sp = atom->sp; - double **fm = atom->fm; double *rmass = atom->rmass; double *mass = atom->mass; int nlocal = atom->nlocal; diff --git a/src/SPIN/fix_integration_spin.h b/src/SPIN/fix_nve_spin.h similarity index 76% rename from src/SPIN/fix_integration_spin.h rename to src/SPIN/fix_nve_spin.h index cb41f2337a..3fd96a67d4 100644 --- a/src/SPIN/fix_integration_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -13,29 +13,29 @@ #ifdef FIX_CLASS -FixStyle(integration/spin,FixIntegrationSpin) +FixStyle(nve/spin,FixNVESpin) #else -#ifndef LMP_FIX_INTEGRATION_SPIN_H -#define LMP_FIX_INTEGRATION_SPIN_H +#ifndef LMP_FIX_NVE_SPIN_H +#define LMP_FIX_NVE_SPIN_H #include "fix.h" namespace LAMMPS_NS { -class FixIntegrationSpin : public Fix { +class FixNVESpin : public Fix { public: - FixIntegrationSpin(class LAMMPS *, int, char **); - virtual ~FixIntegrationSpin(); + FixNVESpin(class LAMMPS *, int, char **); + virtual ~FixNVESpin(); int setmask(); void init(); virtual void initial_integrate(int); virtual void final_integrate(); void ComputeInteractionsSpin(int); // compute and advance single spin functions - void AdvanceSingleSpin(int, double); + void AdvanceSingleSpin(int); void sectoring(); // sectoring operation functions int coords2sector(double *); @@ -44,21 +44,20 @@ class FixIntegrationSpin : public Fix { void pre_neighbor(); protected: - int extra; - int mpi_flag; // mpi_flag = 0 if serial algorithm - // mpi_flag = 1 if parallel algorithm + int sector_flag; // sector_flag = 0 if serial algorithm + // sector_flag = 1 if parallel algorithm int mech_flag; // mech_flag = 0 if spins only // mech_flag = 1 if spin-lattice calc. - double dtv,dtf,dts; // velocity, force, and spin timesteps + double dtv, dtf, dts; // velocity, force, and spin timesteps - int magpair_flag; // magnetic pair flags + int magpair_flag; // magnetic pair flags int exch_flag; int soc_neel_flag, soc_dmi_flag; int me_flag; - int magforce_flag; // magnetic force flags + int magprecession_flag; // magnetic precession flags int zeeman_flag, aniso_flag; - int maglangevin_flag; // magnetic langevin flags + int maglangevin_flag; // magnetic langevin flags int tdamp_flag, temp_flag; // pointers to magnetic interaction classes @@ -68,7 +67,7 @@ class FixIntegrationSpin : public Fix { class PairSpinSocNeel *lockpairspinsocneel; class PairSpinSocDmi *lockpairspinsocdmi; class PairSpinMe *lockpairspinme; - class FixForceSpin *lockforcespin; + class FixPrecessionSpin *lockprecessionspin; class FixLangevinSpin *locklangevinspin; int nsectors; // sectoring variables @@ -90,13 +89,13 @@ class FixIntegrationSpin : public Fix { /* ERROR/WARNING messages: -E: Illegal fix integration/spin command +E: Illegal fix NVE/spin command Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a command-line option when running LAMMPS to see the offending line. -E: Fix integration/spin requires spin attribute mumag +E: Pair spin requires atom attribute spin An atom/spin style with this attribute is needed. diff --git a/src/SPIN/fix_force_spin.cpp b/src/SPIN/fix_precession_spin.cpp similarity index 81% rename from src/SPIN/fix_force_spin.cpp rename to src/SPIN/fix_precession_spin.cpp index d9ee1e8457..fb0ab4562d 100644 --- a/src/SPIN/fix_force_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -24,7 +24,7 @@ #include "atom.h" #include "domain.h" #include "error.h" -#include "fix_force_spin.h" +#include "fix_precession_spin.h" #include "force.h" #include "input.h" #include "math_const.h" @@ -43,12 +43,10 @@ enum{CONSTANT,EQUAL}; /* ---------------------------------------------------------------------- */ -FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) +FixPrecessionSpin::FixPrecessionSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - if (narg < 7) error->all(FLERR,"Illegal force/spin command"); - // 7 arguments for a force/spin fix command: - // fix ID group force/spin magnitude (T or eV) style (zeeman or anisotropy) direction (3 cartesian coordinates) + if (narg < 7) error->all(FLERR,"Illegal precession/spin command"); // magnetic interactions coded for cartesian coordinates @@ -74,7 +72,7 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a zeeman_flag = aniso_flag = 0; if (strcmp(arg[3],"zeeman") == 0) { - if (narg != 8) error->all(FLERR,"Illegal force/spin command"); + if (narg != 8) error->all(FLERR,"Illegal precession/spin command"); style = ZEEMAN; zeeman_flag = 1; H_field = force->numeric(FLERR,arg[4]); @@ -83,14 +81,14 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a nhz = force->numeric(FLERR,arg[7]); magfieldstyle = CONSTANT; } else if (strcmp(arg[3],"anisotropy") == 0) { - if (narg != 8) error->all(FLERR,"Illegal force/spin command"); + if (narg != 8) error->all(FLERR,"Illegal precession/spin command"); style = ANISOTROPY; aniso_flag = 1; Ka = force->numeric(FLERR,arg[4]); nax = force->numeric(FLERR,arg[5]); nay = force->numeric(FLERR,arg[6]); naz = force->numeric(FLERR,arg[7]); - } else error->all(FLERR,"Illegal force/spin command"); + } else error->all(FLERR,"Illegal precession/spin command"); degree2rad = MY_PI/180.0; time_origin = update->ntimestep; @@ -101,14 +99,14 @@ FixForceSpin::FixForceSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, a /* ---------------------------------------------------------------------- */ -FixForceSpin::~FixForceSpin() +FixPrecessionSpin::~FixPrecessionSpin() { delete [] magstr; } /* ---------------------------------------------------------------------- */ -int FixForceSpin::setmask() +int FixPrecessionSpin::setmask() { int mask = 0; mask |= POST_FORCE; @@ -120,7 +118,7 @@ int FixForceSpin::setmask() /* ---------------------------------------------------------------------- */ -void FixForceSpin::init() +void FixPrecessionSpin::init() { const double hbar = force->hplanck/MY_2PI; // eV/(rad.THz) const double mub = 5.78901e-5; // in eV/T @@ -137,9 +135,9 @@ void FixForceSpin::init() if (magstr) { magvar = input->variable->find(magstr); if (magvar < 0) - error->all(FLERR,"Illegal force/spin command"); + error->all(FLERR,"Illegal precession/spin command"); if (!input->variable->equalstyle(magvar)) - error->all(FLERR,"Illegal force/spin command"); + error->all(FLERR,"Illegal precession/spin command"); } varflag = CONSTANT; @@ -147,13 +145,13 @@ void FixForceSpin::init() // set magnetic field components - if (varflag == CONSTANT) set_magneticforce(); + if (varflag == CONSTANT) set_magneticprecession(); } /* ---------------------------------------------------------------------- */ -void FixForceSpin::setup(int vflag) +void FixPrecessionSpin::setup(int vflag) { if (strstr(update->integrate_style,"verlet")) post_force(vflag); @@ -166,18 +164,17 @@ void FixForceSpin::setup(int vflag) /* ---------------------------------------------------------------------- */ -void FixForceSpin::post_force(int vflag) +void FixPrecessionSpin::post_force(int vflag) { // update gravity due to variables if (varflag != CONSTANT) { modify->clearstep_compute(); modify->addstep_compute(update->ntimestep + 1); - set_magneticforce(); // update mag. field if time-dep. + set_magneticprecession(); // update mag. field if time-dep. } double **sp = atom->sp; - double *mumag = atom->mumag; double **fm = atom->fm; double spi[3], fmi[3]; const int nlocal = atom->nlocal; @@ -213,17 +210,17 @@ void FixForceSpin::post_force(int vflag) /* ---------------------------------------------------------------------- */ -void FixForceSpin::compute_zeeman(int i, double fmi[3]) +void FixPrecessionSpin::compute_zeeman(int i, double fmi[3]) { -double *mumag = atom->mumag; - fmi[0] -= mumag[i]*hx; - fmi[1] -= mumag[i]*hy; - fmi[2] -= mumag[i]*hz; + double **sp = atom->sp; + fmi[0] -= sp[i][3]*hx; + fmi[1] -= sp[i][3]*hy; + fmi[2] -= sp[i][3]*hz; } /* ---------------------------------------------------------------------- */ -void FixForceSpin::compute_anisotropy(int i, double spi[3], double fmi[3]) +void FixPrecessionSpin::compute_anisotropy(int i, double spi[3], double fmi[3]) { double scalar = nax*spi[0] + nay*spi[1] + naz*spi[2]; fmi[0] += scalar*Kax; @@ -233,14 +230,14 @@ void FixForceSpin::compute_anisotropy(int i, double spi[3], double fmi[3]) /* ---------------------------------------------------------------------- */ -void FixForceSpin::post_force_respa(int vflag, int ilevel, int iloop) +void FixPrecessionSpin::post_force_respa(int vflag, int ilevel, int iloop) { if (ilevel == ilevel_respa) post_force(vflag); } /* ---------------------------------------------------------------------- */ -void FixForceSpin::set_magneticforce() +void FixPrecessionSpin::set_magneticprecession() { if (style == ZEEMAN) { hx = H_field*nhx; @@ -258,10 +255,9 @@ void FixForceSpin::set_magneticforce() potential energy in magnetic field ------------------------------------------------------------------------- */ -double FixForceSpin::compute_scalar() +double FixPrecessionSpin::compute_scalar() { // only sum across procs one time - //printf("test inside compute_scalar \n"); if (eflag == 0) { MPI_Allreduce(&emag,&emag_all,1,MPI_DOUBLE,MPI_SUM,world); diff --git a/src/SPIN/fix_force_spin.h b/src/SPIN/fix_precession_spin.h similarity index 77% rename from src/SPIN/fix_force_spin.h rename to src/SPIN/fix_precession_spin.h index dfc526088e..483d0c554d 100644 --- a/src/SPIN/fix_force_spin.h +++ b/src/SPIN/fix_precession_spin.h @@ -13,23 +13,23 @@ #ifdef FIX_CLASS -FixStyle(force/spin,FixForceSpin) +FixStyle(precession/spin,FixPrecessionSpin) #else -#ifndef LMP_FIX_FORCE_SPIN_H -#define LMP_FIX_FORCE_SPIN_H +#ifndef LMP_FIX_PRECESSION_SPIN_H +#define LMP_FIX_PRECESSION_SPIN_H #include "fix.h" namespace LAMMPS_NS { -class FixForceSpin : public Fix { +class FixPrecessionSpin : public Fix { friend class FixPour; public: - FixForceSpin(class LAMMPS *, int, char **); - ~FixForceSpin(); + FixPrecessionSpin(class LAMMPS *, int, char **); + ~FixPrecessionSpin(); int setmask(); void init(); void setup(int); @@ -42,7 +42,7 @@ class FixForceSpin : public Fix { void compute_anisotropy(int, double [3], double [3]); protected: - int style; // style of the magnetic force + int style; // style of the magnetic precession double degree2rad; double hbar; @@ -68,7 +68,7 @@ class FixForceSpin : public Fix { double nax, nay, naz; double Kax, Kay, Kaz; // temp. force variables - void set_magneticforce(); + void set_magneticprecession(); }; @@ -79,10 +79,13 @@ class FixForceSpin : public Fix { /* ERROR/WARNING messages: -E: Illegal force/spin command +E: Illegal precession/spin command Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a command-line option when running LAMMPS to see the offending line. +precession/spin fix command has 7 arguments: +fix ID group precession/spin magnitude (T or eV) style (zeeman or anisotropy) +direction (3 cartesian coordinates) */ diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index e16f3e6d31..ca67956967 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -87,7 +87,6 @@ void PairSpinExchange::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double **fm = atom->fm; - double *mumag = atom->mumag; double **sp = atom->sp; int *type = atom->type; int nlocal = atom->nlocal; @@ -336,8 +335,8 @@ void PairSpinExchange::coeff(int narg, char **arg) void PairSpinExchange::init_style() { - if (!atom->sp_flag || !atom->mumag_flag) - error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); + if (!atom->sp_flag) + error->all(FLERR,"Pair spin requires atom/spin style"); neighbor->request(this,instance_me); diff --git a/src/SPIN/pair_spin_exchange.h b/src/SPIN/pair_spin_exchange.h index 0337d79faf..c5e47922eb 100755 --- a/src/SPIN/pair_spin_exchange.h +++ b/src/SPIN/pair_spin_exchange.h @@ -74,7 +74,7 @@ E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. -E: Pair spin requires atom attributes sp, mumag +E: Pair spin requires atom attribute spin The atom style defined does not have these attributes. diff --git a/src/SPIN/pair_spin_me.cpp b/src/SPIN/pair_spin_me.cpp index 575b5f53d4..61f0c98f29 100755 --- a/src/SPIN/pair_spin_me.cpp +++ b/src/SPIN/pair_spin_me.cpp @@ -92,7 +92,6 @@ void PairSpinMe::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double **fm = atom->fm; - double *mumag = atom->mumag; double **sp = atom->sp; int *type = atom->type; int nlocal = atom->nlocal; @@ -356,8 +355,8 @@ void PairSpinMe::coeff(int narg, char **arg) void PairSpinMe::init_style() { - if (!atom->sp_flag || !atom->mumag_flag) - error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); + if (!atom->sp_flag) + error->all(FLERR,"Pair spin requires atom/spin style"); neighbor->request(this,instance_me); diff --git a/src/SPIN/pair_spin_me.h b/src/SPIN/pair_spin_me.h index 18b7ffbb00..9f176242c9 100755 --- a/src/SPIN/pair_spin_me.h +++ b/src/SPIN/pair_spin_me.h @@ -77,7 +77,7 @@ E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. -E: Pair spin requires atom attributes sp, mumag +E: Pair spin requires atom attribute spin The atom style defined does not have these attributes. diff --git a/src/SPIN/pair_spin_soc_dmi.cpp b/src/SPIN/pair_spin_soc_dmi.cpp index 60ef5d7941..d59d00bdd2 100755 --- a/src/SPIN/pair_spin_soc_dmi.cpp +++ b/src/SPIN/pair_spin_soc_dmi.cpp @@ -86,7 +86,6 @@ void PairSpinSocDmi::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double **fm = atom->fm; - double *mumag = atom->mumag; double **sp = atom->sp; int *type = atom->type; int nlocal = atom->nlocal; @@ -314,8 +313,8 @@ void PairSpinSocDmi::coeff(int narg, char **arg) void PairSpinSocDmi::init_style() { - if (!atom->sp_flag || !atom->mumag_flag) - error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); + if (!atom->sp_flag) + error->all(FLERR,"Pair spin requires atom/spin style"); neighbor->request(this,instance_me); diff --git a/src/SPIN/pair_spin_soc_dmi.h b/src/SPIN/pair_spin_soc_dmi.h index 8097b5ae14..4feef78739 100755 --- a/src/SPIN/pair_spin_soc_dmi.h +++ b/src/SPIN/pair_spin_soc_dmi.h @@ -76,7 +76,7 @@ E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. -E: Pair spin requires atom attributes sp, mumag +E: Pair spin requires atom attribute spin The atom style defined does not have these attributes. diff --git a/src/SPIN/pair_spin_soc_neel.cpp b/src/SPIN/pair_spin_soc_neel.cpp index 346edc15b8..f40b0127fd 100755 --- a/src/SPIN/pair_spin_soc_neel.cpp +++ b/src/SPIN/pair_spin_soc_neel.cpp @@ -93,7 +93,6 @@ void PairSpinSocNeel::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double **fm = atom->fm; - double *mumag = atom->mumag; double **sp = atom->sp; int *type = atom->type; int nlocal = atom->nlocal; @@ -502,8 +501,8 @@ void PairSpinSocNeel::coeff(int narg, char **arg) void PairSpinSocNeel::init_style() { - if (!atom->sp_flag || !atom->mumag_flag) - error->all(FLERR,"Pair spin requires atom attributes sp, mumag"); + if (!atom->sp_flag) + error->all(FLERR,"Pair spin requires atom/spin style"); neighbor->request(this,instance_me); diff --git a/src/SPIN/pair_spin_soc_neel.h b/src/SPIN/pair_spin_soc_neel.h index 8eb21fb26b..8e4d40c765 100755 --- a/src/SPIN/pair_spin_soc_neel.h +++ b/src/SPIN/pair_spin_soc_neel.h @@ -81,7 +81,7 @@ E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. -E: Pair spin requires atom attributes sp, mumag +E: Pair spin requires atom attribute spin The atom style defined does not have these attributes. diff --git a/src/atom.cpp b/src/atom.cpp index 04104272cb..69475f75a7 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -100,7 +100,6 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) // SPIN package - mumag = NULL; sp = fm = NULL; // USER-DPD @@ -175,7 +174,7 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) // magnetic flags - sp_flag = mumag_flag = 0; + sp_flag = 0; vfrac_flag = 0; spin_flag = eradius_flag = ervel_flag = erforce_flag = ervelforce_flag = 0; @@ -278,7 +277,6 @@ Atom::~Atom() memory->destroy(tri); memory->destroy(body); - memory->destroy(mumag); memory->destroy(sp); memory->destroy(fm); @@ -436,7 +434,7 @@ void Atom::create_avec(const char *style, int narg, char **arg, int trysuffix) // magnetic flags - sp_flag = mumag_flag = 0; + sp_flag = 0; vfrac_flag = 0; spin_flag = eradius_flag = ervel_flag = erforce_flag = ervelforce_flag = 0; diff --git a/src/atom.h b/src/atom.h index b0641f6381..7e003dff5e 100644 --- a/src/atom.h +++ b/src/atom.h @@ -63,7 +63,7 @@ class Atom : protected Pointers { // SPIN package - double *mumag, **sp; + double **sp; double **fm; // PERI package @@ -153,7 +153,7 @@ class Atom : protected Pointers { //USER-SPIN package - int mumag_flag,sp_flag; + int sp_flag; // USER-SMD package diff --git a/src/compute_property_atom.cpp b/src/compute_property_atom.cpp index d158d00816..8175e09b1c 100644 --- a/src/compute_property_atom.cpp +++ b/src/compute_property_atom.cpp @@ -141,7 +141,41 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Compute property/atom for " "atom property that isn't allocated"); pack_choice[i] = &ComputePropertyAtom::pack_mu; - + } else if (strcmp(arg[iarg],"spx") == 0) { // pack magnetic variables + if (!atom->sp_flag) + error->all(FLERR,"Compute property/atom for " + "atom property that isn't allocated"); + pack_choice[i] = &ComputePropertyAtom::pack_spx; + } else if (strcmp(arg[iarg],"spy") == 0) { + if (!atom->sp_flag) + error->all(FLERR,"Compute property/atom for " + "atom property that isn't allocated"); + pack_choice[i] = &ComputePropertyAtom::pack_spy; + } else if (strcmp(arg[iarg],"spz") == 0) { + if (!atom->sp_flag) + error->all(FLERR,"Compute property/atom for " + "atom property that isn't allocated"); + pack_choice[i] = &ComputePropertyAtom::pack_spz; + } else if (strcmp(arg[iarg],"sp") == 0) { + if (!atom->sp_flag) + error->all(FLERR,"Compute property/atom for " + "atom property that isn't allocated"); + pack_choice[i] = &ComputePropertyAtom::pack_sp; + } else if (strcmp(arg[iarg],"fmx") == 0) { + if (!atom->sp_flag) + error->all(FLERR,"Compute property/atom for " + "atom property that isn't allocated"); + pack_choice[i] = &ComputePropertyAtom::pack_fmx; + } else if (strcmp(arg[iarg],"fmy") == 0) { + if (!atom->sp_flag) + error->all(FLERR,"Compute property/atom for " + "atom property that isn't allocated"); + pack_choice[i] = &ComputePropertyAtom::pack_fmy; + } else if (strcmp(arg[iarg],"fmz") == 0) { + if (!atom->sp_flag) + error->all(FLERR,"Compute property/atom for " + "atom property that isn't allocated"); + pack_choice[i] = &ComputePropertyAtom::pack_fmz; } else if (strcmp(arg[iarg],"radius") == 0) { if (!atom->radius_flag) error->all(FLERR,"Compute property/atom for " @@ -1000,6 +1034,111 @@ void ComputePropertyAtom::pack_mu(int n) /* ---------------------------------------------------------------------- */ +void ComputePropertyAtom::pack_spx(int n) +{ + double **sp = atom->sp; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = sp[i][0]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyAtom::pack_spy(int n) +{ + double **sp = atom->sp; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = sp[i][1]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyAtom::pack_spz(int n) +{ + double **sp = atom->sp; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = sp[i][2]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyAtom::pack_sp(int n) +{ + double **sp = atom->sp; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = sp[i][3]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyAtom::pack_fmx(int n) +{ + double **fm = atom->fm; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = fm[i][0]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyAtom::pack_fmy(int n) +{ + double **fm = atom->fm; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = fm[i][1]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyAtom::pack_fmz(int n) +{ + double **fm = atom->fm; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = fm[i][2]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + void ComputePropertyAtom::pack_radius(int n) { double *radius = atom->radius; diff --git a/src/compute_property_atom.h b/src/compute_property_atom.h index a81f39f6a9..0c1ed7e305 100644 --- a/src/compute_property_atom.h +++ b/src/compute_property_atom.h @@ -84,6 +84,14 @@ class ComputePropertyAtom : public Compute { void pack_radius(int); void pack_diameter(int); + void pack_spx(int); // pack magnetic variables + void pack_spy(int); + void pack_spz(int); + void pack_sp(int); + void pack_fmx(int); + void pack_fmy(int); + void pack_fmz(int); + void pack_omegax(int); void pack_omegay(int); void pack_omegaz(int); diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 04ffc3b29b..9f389d8a56 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -854,36 +854,6 @@ int DumpCustom::count() for (i = 0; i < nlocal; i++) dchoose[i] = 2.0*radius[i]; ptr = dchoose; nstride = 1; - } else if (thresh_array[ithresh] == MUMAG) {//Magnetic properties - if (!atom->mumag_flag) - error->all(FLERR, - "Threshold for an atom property that isn't allocated"); - ptr = atom->mumag; - nstride = 1; - } else if (thresh_array[ithresh] == SPX) { - if (!atom->sp_flag) - error->all(FLERR, - "Threshold for an atom property that isn't allocated"); - ptr = &atom->sp[0][0]; - nstride = 4; - } else if (thresh_array[ithresh] == SPY) { - if (!atom->sp_flag) - error->all(FLERR, - "Threshold for an atom property that isn't allocated"); - ptr = &atom->sp[0][1]; - nstride = 4; - } else if (thresh_array[ithresh] == SPZ) { - if (!atom->sp_flag) - error->all(FLERR, - "Threshold for an atom property that isn't allocated"); - ptr = &atom->sp[0][2]; - nstride = 4; - } else if (thresh_array[ithresh] == SP) { - if (!atom->sp_flag) - error->all(FLERR, - "Threshold for an atom property that isn't allocated"); - ptr = &atom->sp[0][3]; - nstride = 4; } else if (thresh_array[ithresh] == OMEGAX) { if (!atom->omega_flag) error->all(FLERR, @@ -1311,36 +1281,6 @@ int DumpCustom::parse_fields(int narg, char **arg) error->all(FLERR,"Dumping an atom property that isn't allocated"); pack_choice[i] = &DumpCustom::pack_mu; vtype[i] = DOUBLE; - - } else if (strcmp(arg[iarg],"mumag") == 0) {//Magnetic properties - if (!atom->mumag_flag) - error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[i] = &DumpCustom::pack_mumag; - vtype[i] = DOUBLE; - } else if (strcmp(arg[iarg],"spx") == 0) { - strcpy(arg[iarg],"vx"); - if (!atom->sp_flag) - error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[i] = &DumpCustom::pack_spx; - vtype[i] = DOUBLE; - } else if (strcmp(arg[iarg],"spy") == 0) { - strcpy(arg[iarg],"vy"); - if (!atom->sp_flag) - error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[i] = &DumpCustom::pack_spy; - vtype[i] = DOUBLE; - } else if (strcmp(arg[iarg],"spz") == 0) { - strcpy(arg[iarg],"vz"); - if (!atom->sp_flag) - error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[i] = &DumpCustom::pack_spz; - vtype[i] = DOUBLE; - } else if (strcmp(arg[iarg],"sp") == 0) { - if (!atom->sp_flag) - error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[i] = &DumpCustom::pack_sp; - vtype[i] = DOUBLE; - } else if (strcmp(arg[iarg],"radius") == 0) { if (!atom->radius_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); @@ -1843,13 +1783,6 @@ int DumpCustom::modify_param(int narg, char **arg) else if (strcmp(arg[1],"muy") == 0) thresh_array[nthresh] = MUY; else if (strcmp(arg[1],"muz") == 0) thresh_array[nthresh] = MUZ; else if (strcmp(arg[1],"mu") == 0) thresh_array[nthresh] = MU; - - //Magnetic quantities - else if (strcmp(arg[1],"mumag") == 0) thresh_array[nthresh] = MUMAG; - else if (strcmp(arg[1],"spx") == 0) thresh_array[nthresh] = SPX; - else if (strcmp(arg[1],"spy") == 0) thresh_array[nthresh] = SPY; - else if (strcmp(arg[1],"spz") == 0) thresh_array[nthresh] = SPZ; - else if (strcmp(arg[1],"sp") == 0) thresh_array[nthresh] = SP; else if (strcmp(arg[1],"radius") == 0) thresh_array[nthresh] = RADIUS; else if (strcmp(arg[1],"diameter") == 0) thresh_array[nthresh] = DIAMETER; @@ -2764,66 +2697,6 @@ void DumpCustom::pack_mu(int n) } } -/* ---------------------------------------------------------------------- */ -//Magnetic quantities -void DumpCustom::pack_mumag(int n) -{ - double *mumag = atom->mumag; - - for (int i = 0; i < nchoose; i++) { - buf[n] = mumag[clist[i]]; - n += size_one; - } -} - -/* ---------------------------------------------------------------------- */ - -void DumpCustom::pack_spx(int n) -{ - double **sp = atom->sp; - - for (int i = 0; i < nchoose; i++) { - buf[n] = sp[clist[i]][0]; - n += size_one; - } -} - -/* ---------------------------------------------------------------------- */ - -void DumpCustom::pack_spy(int n) -{ - double **sp = atom->sp; - - for (int i = 0; i < nchoose; i++) { - buf[n] = sp[clist[i]][1]; - n += size_one; - } -} - -/* ---------------------------------------------------------------------- */ - -void DumpCustom::pack_spz(int n) -{ - double **sp = atom->sp; - - for (int i = 0; i < nchoose; i++) { - buf[n] = sp[clist[i]][2]; - n += size_one; - } -} - -/* ---------------------------------------------------------------------- */ - -void DumpCustom::pack_sp(int n) -{ - double **sp = atom->sp; - - for (int i = 0; i < nchoose; i++) { - buf[n] = sp[clist[i]][3]; - n += size_one; - } -} - /* ---------------------------------------------------------------------- */ void DumpCustom::pack_radius(int n) diff --git a/src/dump_custom.h b/src/dump_custom.h index c96148f275..1420d69b9b 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -178,11 +178,6 @@ class DumpCustom : public Dump { void pack_muy(int); void pack_muz(int); void pack_mu(int); - void pack_mumag(int); //Magnetic quantities - void pack_spx(int); - void pack_spy(int); - void pack_spz(int); - void pack_sp(int); void pack_radius(int); void pack_diameter(int); diff --git a/src/pair_hybrid.h b/src/pair_hybrid.h index 8e3925d82d..17b6879957 100644 --- a/src/pair_hybrid.h +++ b/src/pair_hybrid.h @@ -31,7 +31,7 @@ class PairHybrid : public Pair { friend class FixOMP; friend class Force; friend class Respa; - friend class FixIntegrationSpin; + friend class FixNVESpin; friend class Info; public: PairHybrid(class LAMMPS *); diff --git a/src/set.cpp b/src/set.cpp index d4f0caf68e..704ab69216 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -853,14 +853,11 @@ void Set::set(int keyword) else if (keyword == SPIN) { double **sp = atom->sp; - double *mumag = atom->mumag; - double sp_norm = sqrt(xvalue*xvalue+yvalue*yvalue+zvalue*zvalue); - sp[i][0] = xvalue/sp_norm; - sp[i][1] = yvalue/sp_norm; - sp[i][2] = zvalue/sp_norm; - sp[i][3] = sqrt(sp[i][0]*sp[i][0] + sp[i][1]*sp[i][1] + - sp[i][2]*sp[i][2]); //Should be 1 for atomic spins - mumag[i] = dvalue; + double inorm = 1.0/sqrt(xvalue*xvalue+yvalue*yvalue+zvalue*zvalue); + sp[i][0] = inorm*xvalue; + sp[i][1] = inorm*yvalue; + sp[i][2] = inorm*zvalue; + sp[i][3] = dvalue; } // set quaternion orientation of ellipsoid or tri or body particle @@ -1030,7 +1027,6 @@ void Set::setrandom(int keyword) } else if (keyword == SPIN_RANDOM) { double **sp = atom->sp; - double *mumag = atom->mumag; int nlocal = atom->nlocal; double sp_sq,scale; @@ -1047,8 +1043,7 @@ void Set::setrandom(int keyword) sp[i][0] *= scale; sp[i][1] *= scale; sp[i][2] *= scale; - sp[i][3] = sqrt(sp_sq); - mumag[i] = dvalue; + sp[i][3] = dvalue; count++; } @@ -1063,8 +1058,7 @@ void Set::setrandom(int keyword) scale = 1.0/sqrt(sp_sq); sp[i][0] *= scale; sp[i][1] *= scale; - sp[i][3] = sqrt(sp_sq); - mumag[i] = dvalue; + sp[i][3] = dvalue; count++; } } diff --git a/src/verlet.cpp b/src/verlet.cpp index b1bdf0e62d..f0314bd7d0 100644 --- a/src/verlet.cpp +++ b/src/verlet.cpp @@ -75,7 +75,7 @@ void Verlet::init() torqueflag = extraflag = 0; if (atom->torque_flag) torqueflag = 1; if (atom->avec->forceclearflag) extraflag = 1; - if (atom->mumag_flag) extraflag = 1; + if (atom->sp_flag) extraflag = 1; // orthogonal vs triclinic simulation box -- GitLab From 8709f6044b7e241cc4b6bf030932431fa3c9d8d7 Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 2 Apr 2018 10:03:45 -0600 Subject: [PATCH 087/675] Commit modifs before release 2 (04/02/18) --- doc/src/Section_howto.txt | 56 ++++++++++++++++++- doc/src/compute_property_atom.txt | 11 +++- ..._integration_spin.txt => fix_nve_spin.txt} | 17 +++--- ...force_spin.txt => fix_precession_spin.txt} | 12 ++-- examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp | 2 +- src/SPIN/fix_nve_spin.cpp | 35 ++++++++---- src/SPIN/fix_nve_spin.h | 17 ++++-- 7 files changed, 115 insertions(+), 35 deletions(-) rename doc/src/{fix_integration_spin.txt => fix_nve_spin.txt} (78%) rename doc/src/{fix_force_spin.txt => fix_precession_spin.txt} (85%) diff --git a/doc/src/Section_howto.txt b/doc/src/Section_howto.txt index e852e0abd4..6ee2eecda9 100644 --- a/doc/src/Section_howto.txt +++ b/doc/src/Section_howto.txt @@ -36,7 +36,8 @@ This section describes how to perform common tasks using LAMMPS. 6.24 "Setting parameters for the kspace_style pppm/disp command"_#howto_24 6.25 "Polarizable models"_#howto_25 6.26 "Adiabatic core/shell model"_#howto_26 -6.27 "Drude induced dipoles"_#howto_27 :all(b) +6.27 "Drude induced dipoles"_#howto_27 +6.28 "Magnetic spins"_#howto_28 :all(b) The example input scripts included in the LAMMPS distribution and highlighted in "Section 7"_Section_example.html also show how to @@ -2837,6 +2838,7 @@ CS-Info # header of additional section :pre 4 2 5 3 6 3 +The interactions between the 7 4 8 4 (...) :pre @@ -2906,6 +2908,54 @@ with a Coulomb pair style. It may be useful to use {coul/long/cs} or similar from the CORESHELL package if the core and Drude particle come too close, which can cause numerical issues. +:line + +6.28 Magnetic spins :link(howto_28),h4 + +The magnetic spin simualtions are enabled by the SPIN package, whose +implementation is detailed in "Tranchida"_#Tranchida7. + +The model representents the simulation of atomic magnetic spins coupled +to lattice vibrations. The dynamics of those magnetic spins can be used +to simulate a broad range a phenomena related to magneto-elasticity, or +or to study the influence of defects on the magnetic properties of +materials. + +The magnetic spins are interacting with each others and with the +lattice via pair interactions. Typically, the magnetic exchange +interaction can be defined using the +"pair/spin/exchange"_pair_spin_exchange.html command. This exchange +applies a magnetic torque to a given spin, considering the orientation +of its neighboring spins and their relative distances. +It also applies a force on the atoms as a function of the spin +orientations and their associated inter-atomic distances. + +The command "fix precession/spin"_fix_precession_spin.html allows to +apply a constant magnetic torque on all the spins in the system. This +torque can be an external magnetic field (Zeeman interaction), or an +uniaxial magnetic anisotropy. + +A Langevin thermostat can be applied to those magnetic spins using +"fix langevin/spin"_fix_langevin_spin.html. Typically, this thermostat +can be coupled to another Langevin thermostat applied to the atoms +using "fix langevin"_fix_langevin.html in order to simulate +thermostated spin-lattice system. + +The magnetic Gilbert damping can also be applied using "fix +langevin/spin"_fix_langevin_spin.html. It allows to either dissipate +the thermal energy of the Langevin thermostat, or to perform a +relaxation of the magnetic configuration toward an equilibrium state. + +All the computed magnetic properties can be outputed by two main +commands. The first one is "compute spin"_compute_spin.html, that +enables to evaluate magnetic averaged quantities, such as the total +magnetization of the system along x, y, or z, the spin temperature, or +the magnetic energy. The second command is "compute +property/atom"_compute_property_atom.html. It enables to output all the +per atom magnetic quantities. Typically, the orientation of a given +magnetic spin, or the magnetic force acting on this spin. + + :line :line @@ -2957,3 +3007,7 @@ Phys, 79, 926 (1983). :link(howto-Lamoureux) [(Lamoureux and Roux)] G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003) + +:link(Tranchida7) +[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, +arXiv preprint arXiv:1801.10233, (2018). diff --git a/doc/src/compute_property_atom.txt b/doc/src/compute_property_atom.txt index bac19918ba..c0970d5121 100644 --- a/doc/src/compute_property_atom.txt +++ b/doc/src/compute_property_atom.txt @@ -19,6 +19,7 @@ input = one or more atom attributes :l x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz, vx, vy, vz, fx, fy, fz, q, mux, muy, muz, mu, + sp, spx, spy, spz, fmx, fmy, fmz, radius, diameter, omegax, omegay, omegaz, angmomx, angmomy, angmomz, shapex,shapey, shapez, @@ -46,6 +47,9 @@ input = one or more atom attributes :l q = atom charge mux,muy,muz = orientation of dipole moment of atom mu = magnitude of dipole moment of atom + sp = atomic magnetic spin moment + spx, spy, spz = direction of the atomic magnetic spin + fmx, fmy, fmz = magnetic force radius,diameter = radius,diameter of spherical particle omegax,omegay,omegaz = angular velocity of spherical particle angmomx,angmomy,angmomz = angular momentum of aspherical particle @@ -82,7 +86,8 @@ input = one or more atom attributes :l compute 1 all property/atom xs vx fx mux compute 2 all property/atom type -compute 1 all property/atom ix iy iz :pre +compute 1 all property/atom ix iy iz +compute 3 all property/atom sp spx spy spz :pre [Description:] @@ -152,6 +157,10 @@ The vector or array values will be in whatever "units"_units.html the corresponding attribute is in, e.g. velocity units for vx, charge units for q, etc. +For the spin quantities, sp is in the units of the Bohr magneton, spx, +spy, and spz are adimentional quantities, and fmx, fmy and fmz are +given in rad.THz. + [Restrictions:] none [Related commands:] diff --git a/doc/src/fix_integration_spin.txt b/doc/src/fix_nve_spin.txt similarity index 78% rename from doc/src/fix_integration_spin.txt rename to doc/src/fix_nve_spin.txt index 4538e22284..4f25003c5f 100644 --- a/doc/src/fix_integration_spin.txt +++ b/doc/src/fix_nve_spin.txt @@ -6,22 +6,22 @@ :line -fix integration/spin command :h3 +fix nve/spin command :h3 [Syntax:] -fix ID group-ID integration/spin keyword values :pre +fix ID group-ID nve/spin keyword values :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l -integration/spin = style name of this fix command :l +nve/spin = style name of this fix command :l keyword = {lattice} :l {lattice} value = {no} or {yes} :pre :ule [Examples:] -fix 3 all integration/spin lattice yes -fix 1 all integration/spin lattice no :pre +fix 3 all nve/spin lattice yes +fix 1 all nve/spin lattice no :pre [Description:] @@ -32,7 +32,7 @@ of fixed atoms (lattice = no), or if atoms are moving (lattice = yes). By default (lattice = yes), a spin-lattice integration is performed. -The {integration/spin} fix applies a Suzuki-Trotter decomposition to +The {nve/spin} fix applies a Suzuki-Trotter decomposition to the equations of motion of the spin lattice system, following the scheme: :c,image(Eqs/fix_integration_spin_stdecomposition.jpg) @@ -51,9 +51,8 @@ This fix style can only be used if LAMMPS was built with the SPIN package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info on packages. -When the spin algorithm is used for serial calculations, it is -necessary to define a map via the atom_modify command. -Typically, by adding the command: +To use the spin algorithm, it is necessary to define a map with +the atom_modify command. Typically, by adding the command: atom_modify map array :pre diff --git a/doc/src/fix_force_spin.txt b/doc/src/fix_precession_spin.txt similarity index 85% rename from doc/src/fix_force_spin.txt rename to doc/src/fix_precession_spin.txt index 6ab207fda3..9ef7a7230c 100644 --- a/doc/src/fix_force_spin.txt +++ b/doc/src/fix_precession_spin.txt @@ -6,14 +6,14 @@ :line -fix force/spin command :h3 +fix precession/spin command :h3 [Syntax:] -fix ID group force/spin style args :pre +fix ID group precession/spin style args :pre ID, group are documented in "fix"_fix.html command :ulb,l -force/spin = style name of this fix command :l +precession/spin = style name of this fix command :l style = {zeeman} or {aniso} :l {zeeman} args = H x y z H = intensity of the magnetic field (in Tesla) @@ -25,8 +25,8 @@ style = {zeeman} or {aniso} :l [Examples:] -fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 -fix 1 all force/spin aniso 0.001 0.0 0.0 1.0 :pre +fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 +fix 1 all precession/spin aniso 0.001 0.0 0.0 1.0 :pre [Description:] @@ -61,7 +61,7 @@ files"_restart.html. [Restrictions:] -The {force/spin} style is part of the SPIN package. +The {precession/spin} style is part of the SPIN package. This style is only enabled if LAMMPS was built with this package, and if the atom_style "spin" was declared. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. diff --git a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp index 9076cd6d6c..bd807e4efe 100644 --- a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp +++ b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp @@ -54,4 +54,4 @@ thermo 10 compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump_cobalt_hcp.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] -run 20000 +run 2000 diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 0660032e02..a842335cd3 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -67,6 +67,8 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : sector_flag = NONE; mech_flag = 1; + nlocal_max = 0; + // checking if map array or hash is defined if (atom->map_style == 0) @@ -220,11 +222,14 @@ void FixNVESpin::init() if (sector_flag) sectoring(); // init. size tables of stacking variables (sectoring) - + + nlocal_max = atom->nlocal; stack_head = memory->grow(stack_head,nsectors,"NVE/spin:stack_head"); stack_foot = memory->grow(stack_foot,nsectors,"NVE/spin:stack_foot"); - forward_stacks = memory->grow(forward_stacks,atom->nmax,"NVE/spin:forward_stacks"); - backward_stacks = memory->grow(backward_stacks,atom->nmax,"NVE/spin:backward_stacks"); + forward_stacks = memory->grow(forward_stacks,nlocal_max,"NVE/spin:forward_stacks"); + backward_stacks = memory->grow(backward_stacks,nlocal_max,"NVE/spin:backward_stacks"); + if (nlocal_max == 0) + error->all(FLERR,"Incorrect value of nlocal_max"); } @@ -359,6 +364,12 @@ void FixNVESpin::pre_neighbor() double **x = atom->x; int nlocal = atom->nlocal; + if (nlocal_max < nlocal) { // grow linked lists if necessary + nlocal_max = nlocal; + forward_stacks = memory->grow(forward_stacks,nlocal_max,"NVE/spin:forward_stacks"); + backward_stacks = memory->grow(backward_stacks,nlocal_max,"NVE/spin:backward_stacks"); + } + for (int j = 0; j < nsectors; j++) { stack_head[j] = -1; stack_foot[j] = -1; @@ -455,7 +466,7 @@ void FixNVESpin::ComputeInteractionsSpin(int ii) temp_cut = 0.0; - if (exch_flag) { // exchange + if (exch_flag) { // exchange temp_cut = lockpairspinexchange->cut_spin_exchange[itype][jtype]; cut_2 = temp_cut*temp_cut; if (rsq <= cut_2) { @@ -474,7 +485,7 @@ void FixNVESpin::ComputeInteractionsSpin(int ii) } } - if (soc_dmi_flag) { // soc_dmi + if (soc_dmi_flag) { // soc_dmi temp_cut = lockpairspinsocdmi->cut_soc_dmi[itype][jtype]; cut_2 = temp_cut*temp_cut; if (rsq <= cut_2) { @@ -482,7 +493,7 @@ void FixNVESpin::ComputeInteractionsSpin(int ii) } } - if (me_flag) { // me + if (me_flag) { // me temp_cut = lockpairspinme->cut_spin_me[itype][jtype]; cut_2 = temp_cut*temp_cut; if (rsq <= cut_2) { @@ -496,19 +507,19 @@ void FixNVESpin::ComputeInteractionsSpin(int ii) } if (magprecession_flag) { // magnetic precession - if (zeeman_flag) { // zeeman + if (zeeman_flag) { // zeeman lockprecessionspin->compute_zeeman(i,fmi); } - if (aniso_flag) { // aniso + if (aniso_flag) { // aniso lockprecessionspin->compute_anisotropy(i,spi,fmi); } } - if (maglangevin_flag) { // mag. langevin - if (tdamp_flag) { // transverse damping + if (maglangevin_flag) { // mag. langevin + if (tdamp_flag) { // transverse damping locklangevinspin->add_tdamping(spi,fmi); } - if (temp_flag) { // spin temperature + if (temp_flag) { // spin temperature locklangevinspin->add_temperature(fmi); } } @@ -522,7 +533,7 @@ void FixNVESpin::ComputeInteractionsSpin(int ii) } /* ---------------------------------------------------------------------- - divide each domain into sectors + divide each domain into 8 sectors ---------------------------------------------------------------------- */ void FixNVESpin::sectoring() diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index 3fd96a67d4..c3cda17848 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -11,6 +11,11 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) +------------------------------------------------------------------------- */ + #ifdef FIX_CLASS FixStyle(nve/spin,FixNVESpin) @@ -44,13 +49,15 @@ class FixNVESpin : public Fix { void pre_neighbor(); protected: - int sector_flag; // sector_flag = 0 if serial algorithm - // sector_flag = 1 if parallel algorithm - int mech_flag; // mech_flag = 0 if spins only - // mech_flag = 1 if spin-lattice calc. + int sector_flag; // sector_flag = 0 if serial algorithm + // sector_flag = 1 if parallel algorithm + int mech_flag; // mech_flag = 0 if spins only + // mech_flag = 1 if spin-lattice calc. - double dtv, dtf, dts; // velocity, force, and spin timesteps + double dtv, dtf, dts; // velocity, force, and spin timesteps + int nlocal_max; // max value of nlocal (for lists size) + int magpair_flag; // magnetic pair flags int exch_flag; int soc_neel_flag, soc_dmi_flag; -- GitLab From ce80d1a3eac37b1eb7ae1c777fab0503a9ed054d Mon Sep 17 00:00:00 2001 From: julient31 Date: Mon, 16 Apr 2018 09:02:16 -0600 Subject: [PATCH 088/675] Commit JT 041618 Enabling multiple exchange interactions --- ...air_spin_soc_dmi.txt => pair_spin_dmi.txt} | 13 +- ...r_spin_soc_neel.txt => pair_spin_neel.txt} | 13 +- examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc | 2 +- examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp | 4 +- src/SPIN/atom_vec_spin.cpp | 5 + src/SPIN/atom_vec_spin.h | 10 + src/SPIN/compute_spin.cpp | 5 + src/SPIN/compute_spin.h | 10 + src/SPIN/fix_langevin_spin.cpp | 9 +- src/SPIN/fix_langevin_spin.h | 10 + src/SPIN/fix_nve_spin.cpp | 191 ++---- src/SPIN/fix_nve_spin.h | 30 +- src/SPIN/fix_precession_spin.cpp | 5 + src/SPIN/fix_precession_spin.h | 10 + src/SPIN/pair_spin.cpp | 622 +++++++++++++++++ src/SPIN/pair_spin.h | 108 +++ ...air_spin_soc_dmi.cpp => pair_spin_dmi.cpp} | 335 ++++----- .../{pair_spin_soc_dmi.h => pair_spin_dmi.h} | 41 +- src/SPIN/pair_spin_exchange.cpp | 334 ++++----- src/SPIN/pair_spin_exchange.h | 35 +- src/SPIN/pair_spin_me.cpp | 322 ++++----- src/SPIN/pair_spin_me.h | 30 +- src/SPIN/pair_spin_neel.cpp | 643 ++++++++++++++++++ ...{pair_spin_soc_neel.h => pair_spin_neel.h} | 42 +- src/SPIN/pair_spin_soc_neel.cpp | 623 ----------------- src/pair_hybrid.h | 2 +- 26 files changed, 2119 insertions(+), 1335 deletions(-) rename doc/src/{pair_spin_soc_dmi.txt => pair_spin_dmi.txt} (85%) rename doc/src/{pair_spin_soc_neel.txt => pair_spin_neel.txt} (86%) create mode 100755 src/SPIN/pair_spin.cpp create mode 100755 src/SPIN/pair_spin.h rename src/SPIN/{pair_spin_soc_dmi.cpp => pair_spin_dmi.cpp} (65%) rename src/SPIN/{pair_spin_soc_dmi.h => pair_spin_dmi.h} (59%) create mode 100755 src/SPIN/pair_spin_neel.cpp rename src/SPIN/{pair_spin_soc_neel.h => pair_spin_neel.h} (61%) delete mode 100755 src/SPIN/pair_spin_soc_neel.cpp diff --git a/doc/src/pair_spin_soc_dmi.txt b/doc/src/pair_spin_dmi.txt similarity index 85% rename from doc/src/pair_spin_soc_dmi.txt rename to doc/src/pair_spin_dmi.txt index a3a9bb3172..e2987ce1df 100644 --- a/doc/src/pair_spin_soc_dmi.txt +++ b/doc/src/pair_spin_dmi.txt @@ -6,11 +6,11 @@ :line -pair_style pair/spin/soc/dmi command :h3 +pair_style pair/spin/dmi command :h3 [Syntax:] -pair_style pair/spin/soc/dmi cutoff :pre +pair_style pair/spin/dmi cutoff :pre cutoff = global cutoff pair (distance in metal units) :ulb,l @@ -18,19 +18,16 @@ cutoff = global cutoff pair (distance in metal units) :ulb,l [Examples:] -pair_style pair/spin/soc/dmi 4.0 +pair_style pair/spin/dmi 4.0 pair_coeff * * dmi 2.6 0.001 1.0 0.0 0.0 pair_coeff 1 2 dmi 4.0 0.00109 0.0 0.0 1.0 :pre [Description:] -Styles {pair/spin/soc} compute pair interactions arising from the spin-orbit -coupling (soc). - -Style {pair/spin/soc/dmi} computes the Dzyaloshinskii-Moriya (DM) interaction +Style {pair/spin/dmi} computes the Dzyaloshinskii-Moriya (DM) interaction between pairs of magnetic spins: -:c,image(Eqs/pair_spin_soc_dmi_interaction.jpg) +:c,image(Eqs/pair_spin_dmi_interaction.jpg) where si and sj are two neighboring magnetic spins of two particles, rij = ri - rj is the inter-atomic distance between the two particles, diff --git a/doc/src/pair_spin_soc_neel.txt b/doc/src/pair_spin_neel.txt similarity index 86% rename from doc/src/pair_spin_soc_neel.txt rename to doc/src/pair_spin_neel.txt index 44ca5b3b22..84893fecb1 100644 --- a/doc/src/pair_spin_soc_neel.txt +++ b/doc/src/pair_spin_neel.txt @@ -6,11 +6,11 @@ :line -pair_style pair/spin/soc/neel command :h3 +pair_style pair/spin/neel command :h3 [Syntax:] -pair_style pair/spin/soc/neel cutoff :pre +pair_style pair/spin/neel cutoff :pre cutoff = global cutoff pair (distance in metal units) :ulb,l @@ -18,19 +18,16 @@ cutoff = global cutoff pair (distance in metal units) :ulb,l [Examples:] -pair_style pair/spin/soc/neel 4.0 +pair_style pair/spin/neel 4.0 pair_coeff * * neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 pair_coeff 1 2 neel 4.0 0.0048 0.234 1.168 0.0 0.0 1.0 :pre [Description:] -Styles {pair/spin/soc} compute pair interactions arising from the spin-orbit -coupling (soc). - -Style {pair/spin/soc/neel} computes the Neel pair anisotropy model +Style {pair/spin/neel} computes the Neel pair anisotropy model between pairs of magnetic spins: -:c,image(Eqs/pair_spin_soc_dmi_interaction.jpg) +:c,image(Eqs/pair_spin_dmi_interaction.jpg) where si and sj are two neighboring magnetic spins of two particles, rij = ri - rj is the inter-atomic distance between the two particles, diff --git a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc index e70765e08d..45d9d983bd 100644 --- a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc +++ b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc @@ -53,5 +53,5 @@ thermo 10 compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] -run 1000 +run 100 diff --git a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp index bd807e4efe..24d19a2252 100644 --- a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp +++ b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp @@ -22,11 +22,11 @@ mass 1 58.93 set group all spin/random 31 1.72 velocity all create 100 4928459 rot yes dist gaussian -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 +#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/neel 4.0 pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair_coeff * * eam/alloy ../examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy Co pair_coeff * * pair/spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 -#pair_coeff * * pair/spin/soc/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 +#pair_coeff * * pair/spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index cda16833a3..369ce8671e 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -16,6 +16,11 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ #include diff --git a/src/SPIN/atom_vec_spin.h b/src/SPIN/atom_vec_spin.h index 99d4a86189..4177a4c860 100644 --- a/src/SPIN/atom_vec_spin.h +++ b/src/SPIN/atom_vec_spin.h @@ -11,6 +11,16 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. +------------------------------------------------------------------------- */ + #ifdef ATOM_CLASS AtomStyle(spin,AtomVecSpin) diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 32e3a4b9ba..3d5de8fb03 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -14,6 +14,11 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ #include diff --git a/src/SPIN/compute_spin.h b/src/SPIN/compute_spin.h index 59f0ce2876..872694cd89 100644 --- a/src/SPIN/compute_spin.h +++ b/src/SPIN/compute_spin.h @@ -11,6 +11,16 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. +------------------------------------------------------------------------- */ + #ifdef COMPUTE_CLASS ComputeStyle(compute/spin,ComputeSpin) diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index b7a2f0c0bd..aa017a12b8 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -11,9 +11,14 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------- +/* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) + Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ #include diff --git a/src/SPIN/fix_langevin_spin.h b/src/SPIN/fix_langevin_spin.h index 0f90a77c14..ac7506c4c5 100644 --- a/src/SPIN/fix_langevin_spin.h +++ b/src/SPIN/fix_langevin_spin.h @@ -11,6 +11,16 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. +------------------------------------------------------------------------- */ + #ifdef FIX_CLASS FixStyle(langevin/spin,FixLangevinSpin) diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index a842335cd3..c4dca269ad 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -14,6 +14,11 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ #include @@ -36,10 +41,7 @@ #include "neigh_list.h" #include "pair.h" #include "pair_hybrid.h" -#include "pair_spin_exchange.h" -#include "pair_spin_me.h" -#include "pair_spin_soc_dmi.h" -#include "pair_spin_soc_neel.h" +#include "pair_spin.h" #include "respa.h" #include "update.h" @@ -56,8 +58,7 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), rsec(NULL), stack_head(NULL), stack_foot(NULL), backward_stacks(NULL), forward_stacks(NULL), - lockpairspinexchange(NULL), lockpairspinsocneel(NULL), lockprecessionspin(NULL), - locklangevinspin(NULL) + lockpairspin(NULL) { if (narg < 4) error->all(FLERR,"Illegal fix/NVE/spin command"); @@ -65,7 +66,7 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : time_integrate = 1; sector_flag = NONE; - mech_flag = 1; + lattice_flag = 1; nlocal_max = 0; @@ -83,14 +84,14 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : sector_flag = 1; } else error->all(FLERR,"Illegal fix/NVE/spin command"); - // defining mech_flag + // defining lattice_flag int iarg = 3; while (iarg < narg) { if (strcmp(arg[iarg],"lattice") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix/NVE/spin command"); - if (strcmp(arg[iarg+1],"no") == 0) mech_flag = 0; - else if (strcmp(arg[iarg+1],"yes") == 0) mech_flag = 1; + if (strcmp(arg[iarg+1],"no") == 0) lattice_flag = 0; + else if (strcmp(arg[iarg+1],"yes") == 0) lattice_flag = 1; else error->all(FLERR,"Illegal fix/NVE/spin command"); iarg += 2; } else error->all(FLERR,"Illegal fix/NVE/spin command"); @@ -109,9 +110,6 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : // initialize the magnetic interaction flags magpair_flag = 0; - exch_flag = 0; - soc_neel_flag = soc_dmi_flag = 0; - me_flag = 0; magprecession_flag = 0; zeeman_flag = aniso_flag = 0; maglangevin_flag = 0; @@ -128,6 +126,7 @@ FixNVESpin::~FixNVESpin() memory->destroy(stack_foot); memory->destroy(forward_stacks); memory->destroy(backward_stacks); + delete lockpairspin; } /* ---------------------------------------------------------------------- */ @@ -152,42 +151,14 @@ void FixNVESpin::init() dtf = 0.5 * update->dt * force->ftm2v; dts = 0.25 * update->dt; - // set necessary pointers to interaction classes - - if (strstr(force->pair_style,"pair/spin/exchange")) { - exch_flag = 1; - lockpairspinexchange = (PairSpinExchange *) force->pair; - } else if (strstr(force->pair_style,"pair/spin/soc/neel")) { - soc_neel_flag = 1; - lockpairspinsocneel = (PairSpinSocNeel *) force->pair; - } else if (strstr(force->pair_style,"pair/spin/soc/dmi")) { - soc_dmi_flag = 1; - lockpairspinsocdmi = (PairSpinSocDmi *) force->pair; - } else if (strstr(force->pair_style,"pair/spin/me")) { - me_flag = 1; - lockpairspinme = (PairSpinMe *) force->pair; - } else if (strstr(force->pair_style,"hybrid/overlay")) { - PairHybrid *lockhybrid = (PairHybrid *) force->pair; - int nhybrid_styles = lockhybrid->nstyles; - int ipair; - for (ipair = 0; ipair < nhybrid_styles; ipair++) { - if (strstr(lockhybrid->keywords[ipair],"pair/spin/exchange")) { - exch_flag = 1; - lockpairspinexchange = (PairSpinExchange *) lockhybrid->styles[ipair]; - } else if (strstr(lockhybrid->keywords[ipair],"pair/spin/soc/neel")) { - soc_neel_flag = 1; - lockpairspinsocneel = (PairSpinSocNeel *) lockhybrid->styles[ipair]; - } else if (strstr(lockhybrid->keywords[ipair],"pair/spin/soc/dmi")) { - soc_dmi_flag = 1; - lockpairspinsocdmi = (PairSpinSocDmi *) lockhybrid->styles[ipair]; - } else if (strstr(lockhybrid->keywords[ipair],"pair/spin/me")) { - me_flag = 1; - lockpairspinme = (PairSpinMe *) lockhybrid->styles[ipair]; - } - } - } else error->all(FLERR,"Illegal fix NVE/spin command"); + // ptrs on PairSpin classes - // check errors, and handle simple hybrid (not overlay), and no pair/spin interaction + lockpairspin = new PairSpin(lmp); + magpair_flag = lockpairspin->init_pair(); + if (magpair_flag != 0 && magpair_flag != 1) + error->all(FLERR,"Incorrect value of magpair_flag"); + + // ptrs FixPrecessionSpin classes int iforce; for (iforce = 0; iforce < modify->nfix; iforce++) { @@ -197,6 +168,13 @@ void FixNVESpin::init() } } + if (magprecession_flag) { + if (lockprecessionspin->zeeman_flag == 1) zeeman_flag = 1; + if (lockprecessionspin->aniso_flag == 1) aniso_flag = 1; + } + + // ptrs on the FixLangevinSpin class + for (iforce = 0; iforce < modify->nfix; iforce++) { if (strstr(modify->fix[iforce]->style,"langevin/spin")) { maglangevin_flag = 1; @@ -204,16 +182,13 @@ void FixNVESpin::init() } } - if (magprecession_flag) { - if (lockprecessionspin->zeeman_flag == 1) zeeman_flag = 1; - if (lockprecessionspin->aniso_flag == 1) aniso_flag = 1; - } - if (maglangevin_flag) { if (locklangevinspin->tdamp_flag == 1) tdamp_flag = 1; if (locklangevinspin->temp_flag == 1) temp_flag = 1; } - + + // setting the sector variables/lists + nsectors = 0; memory->create(rsec,3,"NVE/spin:rsec"); @@ -221,7 +196,7 @@ void FixNVESpin::init() if (sector_flag) sectoring(); - // init. size tables of stacking variables (sectoring) + // init. size of stacking lists (sectoring) nlocal_max = atom->nlocal; stack_head = memory->grow(stack_head,nsectors,"NVE/spin:stack_head"); @@ -254,7 +229,7 @@ void FixNVESpin::initial_integrate(int vflag) // update half v for all atoms - if (mech_flag) { + if (lattice_flag) { for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (rmass) dtfm = dtf / rmass[i]; @@ -301,7 +276,7 @@ void FixNVESpin::initial_integrate(int vflag) // update x for all particles - if (mech_flag) { + if (lattice_flag) { for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { x[i][0] += dtv * v[i][0]; @@ -399,113 +374,32 @@ void FixNVESpin::pre_neighbor() compute the magnetic torque for the spin ii ---------------------------------------------------------------------- */ -void FixNVESpin::ComputeInteractionsSpin(int ii) +void FixNVESpin::ComputeInteractionsSpin(int i) { const int nlocal = atom->nlocal; - double xi[3], rij[3], eij[3]; - double spi[3], spj[3]; - double fmi[3]; + double spi[3], fmi[3]; - int i,j,jj,inum,jnum,itype,jtype; - int *ilist,*jlist,*numneigh,**firstneigh; - double **x = atom->x; double **sp = atom->sp; double **fm = atom->fm; - int *type = atom->type; - const int newton_pair = force->newton_pair; - - // add test here (only exchange quantities here) - if (exch_flag) { - inum = lockpairspinexchange->list->inum; - ilist = lockpairspinexchange->list->ilist; - numneigh = lockpairspinexchange->list->numneigh; - firstneigh = lockpairspinexchange->list->firstneigh; - } - double rsq, rd; - double temp_cut, cut_2, inorm; - temp_cut = cut_2 = inorm = 0.0; - int eflag = 1; int vflag = 0; int pair_compute_flag = 1; // force computation for spin i - i = ilist[ii]; - spi[0] = sp[i][0]; spi[1] = sp[i][1]; spi[2] = sp[i][2]; - - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; + fmi[0] = fmi[1] = fmi[2] = 0.0; - jlist = firstneigh[i]; - jnum = numneigh[i]; - - // loop on neighbors for pair interactions - - for (int jj = 0; jj < jnum; jj++) { - - j = jlist[jj]; - j &= NEIGHMASK; - itype = type[ii]; - jtype = type[j]; - - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; - - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - inorm = 1.0/sqrt(rsq); - temp_cut = 0.0; + // evaluate magnetic pair interactions - if (exch_flag) { // exchange - temp_cut = lockpairspinexchange->cut_spin_exchange[itype][jtype]; - cut_2 = temp_cut*temp_cut; - if (rsq <= cut_2) { - lockpairspinexchange->compute_exchange(i,j,rsq,fmi,spi,spj); - } - } - - if (soc_neel_flag) { // soc_neel - temp_cut = lockpairspinsocneel->cut_soc_neel[itype][jtype]; - cut_2 = temp_cut*temp_cut; - if (rsq <= cut_2) { - eij[0] = rij[0]*inorm; - eij[1] = rij[1]*inorm; - eij[2] = rij[2]*inorm; - lockpairspinsocneel->compute_soc_neel(i,j,rsq,eij,fmi,spi,spj); - } - } - - if (soc_dmi_flag) { // soc_dmi - temp_cut = lockpairspinsocdmi->cut_soc_dmi[itype][jtype]; - cut_2 = temp_cut*temp_cut; - if (rsq <= cut_2) { - lockpairspinsocdmi->compute_soc_dmi(i,j,fmi,spi,spj); - } - } + if (magpair_flag) lockpairspin->compute_pair_single_spin(i,fmi); - if (me_flag) { // me - temp_cut = lockpairspinme->cut_spin_me[itype][jtype]; - cut_2 = temp_cut*temp_cut; - if (rsq <= cut_2) { - eij[0] = rij[0]*inorm; - eij[1] = rij[1]*inorm; - eij[2] = rij[2]*inorm; - lockpairspinme->compute_me(i,j,eij,fmi,spi,spj); - } - } + // evaluate magnetic precession interactions - } - if (magprecession_flag) { // magnetic precession if (zeeman_flag) { // zeeman lockprecessionspin->compute_zeeman(i,fmi); @@ -542,7 +436,7 @@ void FixNVESpin::sectoring() double sublo[3],subhi[3]; double* sublotmp = domain->sublo; double* subhitmp = domain->subhi; - for (int dim = 0 ; dim<3 ; dim++) { + for (int dim = 0 ; dim < 3 ; dim++) { sublo[dim]=sublotmp[dim]; subhi[dim]=subhitmp[dim]; } @@ -551,7 +445,10 @@ void FixNVESpin::sectoring() const double rsy = subhi[1] - sublo[1]; const double rsz = subhi[2] - sublo[2]; - const double rv = lockpairspinexchange->cut_spin_exchange_global; + // temp + //const double rv = 2.0; + //const double rv = lockpairspinexchange->cut_spin_exchange_global; + const double rv = lockpairspin->larger_cutoff; double rax = rsx/rv; double ray = rsy/rv; @@ -684,7 +581,7 @@ void FixNVESpin::final_integrate() // update half v for all particles - if (mech_flag) { + if (lattice_flag) { for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (rmass) dtfm = dtf / rmass[i]; diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index c3cda17848..89824a9bd1 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -14,6 +14,11 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS @@ -26,11 +31,13 @@ FixStyle(nve/spin,FixNVESpin) #define LMP_FIX_NVE_SPIN_H #include "fix.h" +#include "pair.h" +#include "pair_spin.h" namespace LAMMPS_NS { class FixNVESpin : public Fix { - +friend class PairSpin; public: FixNVESpin(class LAMMPS *, int, char **); virtual ~FixNVESpin(); @@ -48,36 +55,33 @@ class FixNVESpin : public Fix { void setup_pre_neighbor(); void pre_neighbor(); + int lattice_flag; // lattice_flag = 0 if spins only + // lattice_flag = 1 if spin-lattice calc. + + protected: int sector_flag; // sector_flag = 0 if serial algorithm // sector_flag = 1 if parallel algorithm - int mech_flag; // mech_flag = 0 if spins only - // mech_flag = 1 if spin-lattice calc. double dtv, dtf, dts; // velocity, force, and spin timesteps int nlocal_max; // max value of nlocal (for lists size) int magpair_flag; // magnetic pair flags - int exch_flag; - int soc_neel_flag, soc_dmi_flag; - int me_flag; int magprecession_flag; // magnetic precession flags int zeeman_flag, aniso_flag; int maglangevin_flag; // magnetic langevin flags int tdamp_flag, temp_flag; // pointers to magnetic interaction classes - - class PairHybrid *lockhybrid; - class PairSpinExchange *lockpairspinexchange; - class PairSpinSocNeel *lockpairspinsocneel; - class PairSpinSocDmi *lockpairspinsocdmi; - class PairSpinMe *lockpairspinme; + + class PairSpin *lockpairspin; class FixPrecessionSpin *lockprecessionspin; class FixLangevinSpin *locklangevinspin; - int nsectors; // sectoring variables + // sectoring variables + + int nsectors; double *rsec; // stacking variables for sectoring algorithm diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index fb0ab4562d..c5fde83fe6 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -14,6 +14,11 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ #include diff --git a/src/SPIN/fix_precession_spin.h b/src/SPIN/fix_precession_spin.h index 483d0c554d..71155ddd2b 100644 --- a/src/SPIN/fix_precession_spin.h +++ b/src/SPIN/fix_precession_spin.h @@ -11,6 +11,16 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. +------------------------------------------------------------------------- */ + #ifdef FIX_CLASS FixStyle(precession/spin,FixPrecessionSpin) diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp new file mode 100755 index 0000000000..a40f2a86b7 --- /dev/null +++ b/src/SPIN/pair_spin.cpp @@ -0,0 +1,622 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. +------------------------------------------------------------------------- */ + +#include +#include +#include + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "fix.h" +#include "fix_nve_spin.h" +#include "force.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "math_const.h" +#include "memory.h" +#include "modify.h" +#include "pair.h" +#include "pair_hybrid.h" +#include "pair_hybrid_overlay.h" +#include "pair_spin.h" +#include "pair_spin_dmi.h" +#include "pair_spin_exchange.h" +#include "pair_spin_neel.h" +#include "pair_spin_me.h" +#include "update.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +PairSpin::PairSpin(LAMMPS *lmp) : Pair(lmp), +lockfixnvespin(NULL), pair_keyword(NULL), pair_spin_keywords(NULL), +exchange_spin_styles(NULL), dmi_spin_styles(NULL), +neel_spin_styles(NULL), me_spin_styles(NULL) +{ + hbar = force->hplanck/MY_2PI; + single_enable = 0; + no_virial_fdotr_compute = 1; + lattice_flag = 0; + + // init # of Pair/Spin styles + + nspinstyle = 0; // # of PairSpin styles + nexchangespinstyle = 0; // # of PairSpinExchange styles + ndmispinstyle = 0; // # of PairSpinDmi styles + nneelspinstyle = 0; // # of PairSpinNeel styles + nmespinstyle = 0; // # of PairSpinMe styles + + // init larger Pair/Spin style cutoff + + larger_cutoff = 0.0; +} + +/* ---------------------------------------------------------------------- */ + +PairSpin::~PairSpin() +{ + + if (nspinstyle) { + for (int m = 0; m < nspinstyle; m++) { + delete [] pair_spin_keywords[m]; + } + } + delete [] pair_keyword; + delete [] exchange_spin_styles; + delete [] dmi_spin_styles; + delete [] neel_spin_styles; + delete [] me_spin_styles; + delete [] pair_spin_keywords; + +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairSpin::settings(int narg, char **arg) +{ + if (narg < 1 || narg > 2) + error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); + + // pair/spin need the metal unit style + + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"pair/spin style requires metal units"); + +} + +/* ---------------------------------------------------------------------- + global compute, defined in Pair/Spin subclasses +------------------------------------------------------------------------- */ + +void PairSpin::compute(int eflag, int vflag) {} + +/* ---------------------------------------------------------------------- + compute all Pair/Spin interactions for atom ii +------------------------------------------------------------------------- */ + +void PairSpin::compute_pair_single_spin(int ii, double fmi[3]) +{ + const int nlocal = atom->nlocal; + int *type = atom->type; + double **x = atom->x; + double **sp = atom->sp; + + double xi[3], rij[3], eij[3]; + double spi[3], spj[3]; + + int iexchange, idmi, ineel, ime; + int i,j,jj,inum,jnum,itype,jtype; + int *ilist,*jlist,*numneigh,**firstneigh; + + double rsq, rd, inorm; + + iexchange = idmi = ineel = ime = 0; + + for (int ipair=0; ipair < nspinstyle; ipair++) { + + if (strstr(pair_spin_keywords[ipair],"pair/spin/exchange")) { + inum = exchange_spin_styles[iexchange]->list->inum; + ilist = exchange_spin_styles[iexchange]->list->ilist; + numneigh = exchange_spin_styles[iexchange]->list->numneigh; + firstneigh = exchange_spin_styles[iexchange]->list->firstneigh; + + i = ilist[ii]; + + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int jj = 0; jj < jnum; jj++) { + + j = jlist[jj]; + j &= NEIGHMASK; + itype = type[ii]; + jtype = type[j]; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + inorm = 1.0/sqrt(rsq); + + exchange_spin_styles[iexchange]->compute_exchange(i,j,rsq,fmi,spi,spj); + } + iexchange++; + } + + if (strstr(pair_spin_keywords[ipair],"pair/spin/dmi")) { + inum = dmi_spin_styles[idmi]->list->inum; + ilist = dmi_spin_styles[idmi]->list->ilist; + numneigh = dmi_spin_styles[idmi]->list->numneigh; + firstneigh = dmi_spin_styles[idmi]->list->firstneigh; + + i = ilist[ii]; + + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int jj = 0; jj < jnum; jj++) { + + j = jlist[jj]; + j &= NEIGHMASK; + itype = type[ii]; + jtype = type[j]; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + inorm = 1.0/sqrt(rsq); + + dmi_spin_styles[idmi]->compute_dmi(i,j,rsq,fmi,spi,spj); + } + idmi++; + } + + if (strstr(pair_spin_keywords[ipair],"pair/spin/neel")) { + inum = neel_spin_styles[ineel]->list->inum; + ilist = neel_spin_styles[ineel]->list->ilist; + numneigh = neel_spin_styles[ineel]->list->numneigh; + firstneigh = neel_spin_styles[ineel]->list->firstneigh; + + i = ilist[ii]; + + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int jj = 0; jj < jnum; jj++) { + + j = jlist[jj]; + j &= NEIGHMASK; + itype = type[ii]; + jtype = type[j]; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + inorm = 1.0/sqrt(rsq); + eij[0] = rij[0]*inorm; + eij[1] = rij[1]*inorm; + eij[2] = rij[2]*inorm; + + neel_spin_styles[ineel]->compute_neel(i,j,rsq,eij,fmi,spi,spj); + } + ineel++; + } + + if (strstr(pair_spin_keywords[ipair],"pair/spin/me")) { + inum = me_spin_styles[ime]->list->inum; + ilist = me_spin_styles[ime]->list->ilist; + numneigh = me_spin_styles[ime]->list->numneigh; + firstneigh = me_spin_styles[ime]->list->firstneigh; + + i = ilist[ii]; + + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int jj = 0; jj < jnum; jj++) { + + j = jlist[jj]; + j &= NEIGHMASK; + itype = type[ii]; + jtype = type[j]; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + inorm = 1.0/sqrt(rsq); + eij[0] = rij[0]*inorm; + eij[1] = rij[1]*inorm; + eij[2] = rij[2]*inorm; + + me_spin_styles[ime]->compute_me(i,j,rsq,eij,fmi,spi,spj); + } + ime++; + } + + } + +} + +/* ---------------------------------------------------------------------- + called from Fix/NVE/Spin + initialize the # and the lists of Pair/Spin styles +------------------------------------------------------------------------- */ + +int PairSpin::init_pair() +{ + int nsub = 0; + + // getting the pair style + + pair_keyword = new char[strlen(force->pair_style) + 1]; + strcpy(pair_keyword,force->pair_style); + + + // searching for number of PairSpin styles + + int temp_npair = 0; + nspinstyle = 0; + pair = pair_spin_match("spin",0,nsub); + + // init lists of PairSpin styles + + exchange_spin_styles = new PairSpinExchange*[nspinstyle]; + dmi_spin_styles = new PairSpinDmi*[nspinstyle]; + neel_spin_styles = new PairSpinNeel*[nspinstyle]; + me_spin_styles = new PairSpinMe*[nspinstyle]; + + // init lists of PairSpin names + + pair_spin_keywords = new char*[nspinstyle]; + + nexchangespinstyle = 0; + ndmispinstyle = 0; + nneelspinstyle = 0; + nmespinstyle = 0; + + // loop to define lists of Pair/Spin styles + + int ispin = 0; + if (strstr(pair_keyword,"spin")) { + + // Pair/Spin/Exchange style + + if (strstr(pair_keyword,"pair/spin/exchange")) { + int n = strlen(pair_keyword) + 1; + pair_spin_keywords[ispin] = new char[n]; + strcpy(pair_spin_keywords[ispin],pair_keyword); + exchange_spin_styles[nexchangespinstyle] = (PairSpinExchange *) force->pair; + nexchangespinstyle++; + ispin++; + } + + // Pair/Spin/Dmi style + + if (strstr(pair_keyword,"pair/spin/dmi")) { + int n = strlen(pair_keyword) + 1; + pair_spin_keywords[ispin] = new char[n]; + strcpy(pair_spin_keywords[ispin],pair_keyword); + dmi_spin_styles[ndmispinstyle] = (PairSpinDmi *) force->pair; + ndmispinstyle++; + ispin++; + } + + // Pair/Spin/Neel style + + if (strstr(pair_keyword,"pair/spin/neel")) { + int n = strlen(pair_keyword) + 1; + pair_spin_keywords[ispin] = new char[n]; + strcpy(pair_spin_keywords[ispin],pair_keyword); + neel_spin_styles[nneelspinstyle] = (PairSpinNeel *) force->pair; + nneelspinstyle++; + ispin++; + } + + // list Pair/Spin/Me styles + + if (strstr(pair_keyword,"pair/spin/me")) { + int n = strlen(pair_keyword) + 1; + pair_spin_keywords[ispin] = new char[n]; + strcpy(pair_spin_keywords[ispin],pair_keyword); + me_spin_styles[nmespinstyle] = (PairSpinMe *) force->pair; + nmespinstyle++; + ispin++; + } + + } else if (strstr(pair_keyword,"hybrid/overlay")) { // if hybrid/overlay + PairHybrid *lockhybrid = (PairHybrid *) force->pair; + for (int i =0; i < lockhybrid->nstyles; i++) { + + // error checks + + if (strcmp(lockhybrid->keywords[i],"hybrid") == 0) + error->all(FLERR,"Pair style hybrid cannot have hybrid as an argument"); + if (strcmp(lockhybrid->keywords[i],"none") == 0) + error->all(FLERR,"Pair style hybrid cannot have none as an argument"); + + // list Pair/Spin/Exchange styles + + if (strstr(lockhybrid->keywords[i],"pair/spin/exchange")) { + int n = strlen(lockhybrid->keywords[i]) + 1; + pair_spin_keywords[ispin] = new char[n]; + strcpy(pair_spin_keywords[ispin],lockhybrid->keywords[i]); + exchange_spin_styles[nexchangespinstyle] = (PairSpinExchange *) lockhybrid->styles[i]; + nexchangespinstyle++; + ispin++; + } + + // list Pair/Spin/Dmi styles + + if (strstr(lockhybrid->keywords[i],"pair/spin/dmi")) { + int n = strlen(lockhybrid->keywords[i]) + 1; + pair_spin_keywords[ispin] = new char[n]; + strcpy(pair_spin_keywords[ispin],lockhybrid->keywords[i]); + dmi_spin_styles[ndmispinstyle] = (PairSpinDmi *) lockhybrid->styles[i]; + ndmispinstyle++; + ispin++; + } + + // list Pair/Spin/Neel styles + + if (strstr(lockhybrid->keywords[i],"pair/spin/neel")) { + int n = strlen(lockhybrid->keywords[i]) + 1; + pair_spin_keywords[ispin] = new char[n]; + strcpy(pair_spin_keywords[ispin],lockhybrid->keywords[i]); + neel_spin_styles[nneelspinstyle] = (PairSpinNeel *) lockhybrid->styles[i]; + nneelspinstyle++; + ispin++; + } + + // list Pair/Spin/Me styles + + if (strstr(lockhybrid->keywords[i],"pair/spin/me")) { + int n = strlen(lockhybrid->keywords[i]) + 1; + pair_spin_keywords[ispin] = new char[n]; + strcpy(pair_spin_keywords[ispin],lockhybrid->keywords[i]); + me_spin_styles[nmespinstyle] = (PairSpinMe *) lockhybrid->styles[i]; + nmespinstyle++; + ispin++; + } + + } + } else if (strstr(pair_keyword,"hybrid")) { // no hybrid style with PairSpin + error->all(FLERR,"Pair/Spin styles need hybrid/overlay Pair style"); + } else error->all(FLERR,"Wrong arguments in PairSpin style"); + + if (ispin != nspinstyle) + error->all(FLERR,"Wrong number of PairSpin styles"); + + if ((nexchangespinstyle + ndmispinstyle + nneelspinstyle + nmespinstyle) != nspinstyle) + error->all(FLERR,"Wrong number of PairSpin styles"); + + if (strstr(pair_keyword,"spin") && nspinstyle != 1) + error->all(FLERR,"Wrong number of PairSpin styles"); + + int mag_pair_flag = 0; + if (nspinstyle >= 1) mag_pair_flag = 1; + + + // get larger_cutoff + + larger_cutoff = larger_spin_cutoff(); + + if (mag_pair_flag == 1 && larger_cutoff == 0.0) + error->all(FLERR,"Wrong arguments for PairSpin styles"); + + return mag_pair_flag; +} + +/* ---------------------------------------------------------------------- + get the larger Pair/Spin style cutoff for the sectoring operation +------------------------------------------------------------------------- */ + +double PairSpin::larger_spin_cutoff() +{ + int iexchange, idmi, ineel, ime; + double local_cutoff = 0.0; + + iexchange = idmi = ineel = ime = 0; + + for (int ipair=0; ipair < nspinstyle; ipair++) { + + if (strstr(pair_spin_keywords[ipair],"pair/spin/exchange")) { + if (local_cutoff < exchange_spin_styles[iexchange]->cut_spin_exchange_global) + local_cutoff = exchange_spin_styles[iexchange]->cut_spin_exchange_global; + iexchange++; + } + + if (strstr(pair_spin_keywords[ipair],"pair/spin/dmi")) { + if (local_cutoff < dmi_spin_styles[idmi]->cut_spin_dmi_global) + local_cutoff = dmi_spin_styles[idmi]->cut_spin_dmi_global; + idmi++; + } + + if (strstr(pair_spin_keywords[ipair],"pair/spin/neel")) { + if (local_cutoff < neel_spin_styles[ineel]->cut_spin_neel_global) + local_cutoff = neel_spin_styles[ineel]->cut_spin_neel_global; + ineel++; + } + + if (strstr(pair_spin_keywords[ipair],"pair/spin/me")) { + if (local_cutoff < me_spin_styles[ime]->cut_spin_me_global) + local_cutoff = me_spin_styles[ime]->cut_spin_me_global; + ime++; + } + + } + + if ((iexchange + idmi + ineel + ime) != nspinstyle) + error->all(FLERR,"Wrong number of PairSpin styles"); + + return local_cutoff; +} + + +/* ---------------------------------------------------------------------- */ + +Pair *PairSpin::pair_spin_match(const char *word, int exact, int nsub) +{ + int iwhich,count; + + + if (exact && strcmp(pair_keyword,word) == 0) return pair; + else if (!exact && strstr(pair_keyword,word)) return pair; + + else if (strstr(pair_keyword,"hybrid/overlay")) { + PairHybrid *lockhybrid = (PairHybrid *) force->pair; + count = 0; + for (int i = 0; i < lockhybrid->nstyles; i++) + if ((exact && strcmp(lockhybrid->keywords[i],word) == 0) || + (!exact && strstr(lockhybrid->keywords[i],word))) { + iwhich = i; + count++; + nspinstyle = count; + if (nsub == count) return lockhybrid->styles[iwhich]; + } + if (count == 1) return lockhybrid->styles[iwhich]; + + } else if (strstr(pair_keyword,"hybrid")) { + PairHybrid *lockhybrid = (PairHybrid *) force->pair; + count = 0; + for (int i = 0; i < lockhybrid->nstyles; i++) + if ((exact && strcmp(lockhybrid->keywords[i],word) == 0) || + (!exact && strstr(lockhybrid->keywords[i],word))) { + iwhich = i; + count++; + nspinstyle = count; + if (nsub == count) return lockhybrid->styles[iwhich]; + } + if (count == 1) return lockhybrid->styles[iwhich]; + } + + return NULL; +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairSpin::allocate() +{ + allocated = 1; + char *pair_keyword = new char[strlen(force->pair_style) + 1]; + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type spin pairs (only one for now) +------------------------------------------------------------------------- */ + +void PairSpin::coeff(int narg, char **arg) +{ + const double hbar = force->hplanck/MY_2PI; + + if (!allocated) allocate(); + +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairSpin::init_style() +{ + if (!atom->sp_flag) + error->all(FLERR,"Pair spin requires atom/spin style"); + + // checking if nve/spin is a listed fix + + int ifix = 0; + while (ifix < modify->nfix) { + if (strcmp(modify->fix[ifix]->style,"nve/spin") == 0) break; + ifix++; + } + if (ifix == modify->nfix) + error->all(FLERR,"pair/spin style requires nve/spin"); + + // get the lattice_flag from nve/spin + + for (int i = 0; i < modify->nfix; i++) { + if (strcmp(modify->fix[i]->style,"nve/spin") == 0) { + lockfixnvespin = (FixNVESpin *) modify->fix[i]; + lattice_flag = lockfixnvespin->lattice_flag; + } + } +} diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h new file mode 100755 index 0000000000..8fe189801d --- /dev/null +++ b/src/SPIN/pair_spin.h @@ -0,0 +1,108 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(pair/spin,PairSpin) + +#else + +#ifndef LMP_PAIR_SPIN_H +#define LMP_PAIR_SPIN_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairSpin : public Pair { +friend class FixNVESpin; + public: + PairSpin(class LAMMPS *); + virtual ~PairSpin(); + virtual void settings(int, char **); + virtual void coeff(int, char **); + virtual void init_style(); + virtual double init_one(int, int) {return 0.0;} + virtual void compute(int, int); + + + // functions called from fix/nve/spin + // used to evaluate force on spin i inside integration loops + + int init_pair(); // init call of PairSpin styles + double larger_cutoff; // larger Pair/Spin style cutoff + double larger_spin_cutoff(); // compute larger_cutoff + void compute_pair_single_spin(int, double *); // compute pairs for one atom + + class Pair *pair; // unused try class + int nspinstyle; // # of magnetic pairs + class Pair *pair_spin_match(const char *, int, int); // initializing nspinstyle + char *pair_keyword; // main pair style + char **pair_spin_keywords; // list of Pair/Spin style names + + // # and lists of Pair/Spin style classes + + int nexchangespinstyle; // # of exchange pairs + class PairSpinExchange **exchange_spin_styles; // list of Pair/Spin/Exchange2 classes + + int ndmispinstyle; // # of dmi pairs + class PairSpinDmi **dmi_spin_styles; // list of Pair/Spin/Dmi2 classes + + int nneelspinstyle; // # of dmi pairs + class PairSpinNeel **neel_spin_styles; // list of Pair/Spin/Dmi2 classes + + int nmespinstyle; // # of me pairs + class PairSpinMe **me_spin_styles; // list of Pair/Spin/Me2 classes + + protected: + int lattice_flag; // if 0 spins only, 1 if spin-lattice + double hbar; // Planck constant (eV.ps.rad-1) + class FixNVESpin *lockfixnvespin; // ptr to FixNVESpin2 for setups + + virtual void allocate(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Incorrect args in pair_spin command + +Self-explanatory. + +E: Spin simulations require metal unit style + +Self-explanatory. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair spin requires atom attribute spin + +The atom style defined does not have these attributes. + +*/ diff --git a/src/SPIN/pair_spin_soc_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp similarity index 65% rename from src/SPIN/pair_spin_soc_dmi.cpp rename to src/SPIN/pair_spin_dmi.cpp index d59d00bdd2..5c1ab13065 100755 --- a/src/SPIN/pair_spin_soc_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -14,6 +14,11 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ #include @@ -24,13 +29,15 @@ #include "comm.h" #include "error.h" #include "force.h" +#include "fix.h" +#include "fix_nve_spin.h" #include "pair_hybrid.h" #include "neighbor.h" #include "neigh_list.h" #include "neigh_request.h" #include "math_const.h" #include "memory.h" -#include "pair_spin_soc_dmi.h" +#include "pair_spin_dmi.h" #include "update.h" using namespace LAMMPS_NS; @@ -38,50 +45,167 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairSpinSocDmi::PairSpinSocDmi(LAMMPS *lmp) : Pair(lmp) +PairSpinDmi::PairSpinDmi(LAMMPS *lmp) : PairSpin(lmp) { - hbar = force->hplanck/MY_2PI; - single_enable = 0; - soc_dmi_flag = 0; - no_virial_fdotr_compute = 1; } /* ---------------------------------------------------------------------- */ -PairSpinSocDmi::~PairSpinSocDmi() +PairSpinDmi::~PairSpinDmi() { if (allocated) { memory->destroy(setflag); - - memory->destroy(cut_soc_dmi); + memory->destroy(cut_spin_dmi); memory->destroy(DM); memory->destroy(v_dmx); memory->destroy(v_dmy); memory->destroy(v_dmz); - memory->destroy(cutsq); } } +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairSpinDmi::settings(int narg, char **arg) +{ + if (narg < 1 || narg > 2) + error->all(FLERR,"Incorrect number of args in pair/spin/dmi command"); + + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"Spin simulations require metal unit style"); + + cut_spin_dmi_global = force->numeric(FLERR,arg[0]); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i+1; j <= atom->ntypes; j++) { + if (setflag[i][j]) { + cut_spin_dmi[i][j] = cut_spin_dmi_global; + } + } + } + } + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type spin pairs (only one for now) +------------------------------------------------------------------------- */ + +void PairSpinDmi::coeff(int narg, char **arg) +{ + const double hbar = force->hplanck/MY_2PI; + + if (!allocated) allocate(); + + if (strcmp(arg[2],"dmi") != 0) + error->all(FLERR,"Incorrect args in pair_style command"); + if (narg != 8) + error->all(FLERR,"Incorrect args in pair_style command"); + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + const double rij = force->numeric(FLERR,arg[3]); + const double dm = (force->numeric(FLERR,arg[4]))/hbar; + double dmx = force->numeric(FLERR,arg[5]); + double dmy = force->numeric(FLERR,arg[6]); + double dmz = force->numeric(FLERR,arg[7]); + + double inorm = 1.0/(dmx*dmx+dmy*dmy+dmz*dmz); + dmx *= inorm; + dmy *= inorm; + dmz *= inorm; + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_dmi[i][j] = rij; + DM[i][j] = dm; + v_dmx[i][j] = dmx; + v_dmy[i][j] = dmy; + v_dmz[i][j] = dmz; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) + error->all(FLERR,"Incorrect args in pair_style command"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairSpinDmi::init_style() +{ + if (!atom->sp_flag) + error->all(FLERR,"Pair spin requires atom/spin style"); + + // need a full neighbor list + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + + // checking if nve/spin is a listed fix + + int ifix = 0; + while (ifix < modify->nfix) { + if (strcmp(modify->fix[ifix]->style,"nve/spin") == 0) break; + ifix++; + } + if (ifix == modify->nfix) + error->all(FLERR,"pair/spin style requires nve/spin"); + + // get the lattice_flag from nve/spin + + for (int i = 0; i < modify->nfix; i++) { + if (strcmp(modify->fix[i]->style,"nve/spin") == 0) { + lockfixnvespin = (FixNVESpin *) modify->fix[i]; + lattice_flag = lockfixnvespin->lattice_flag; + } + } + +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairSpinDmi::init_one(int i, int j) +{ + + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + return cut_spin_dmi_global; +} + /* ---------------------------------------------------------------------- */ -void PairSpinSocDmi::compute(int eflag, int vflag) +void PairSpinDmi::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl, ecoul; double xi[3], rij[3]; double spi[3], spj[3]; double fi[3], fmi[3]; - double cut_soc_dmi_2; + double cut_spin_dmi_2; double rsq, rd, inorm; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; if (eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = 0; - cut_soc_dmi_2 = cut_soc_global*cut_soc_global; + cut_spin_dmi_2 = cut_spin_dmi_global*cut_spin_dmi_global; double **x = atom->x; double **f = atom->f; @@ -139,13 +263,13 @@ void PairSpinSocDmi::compute(int eflag, int vflag) // compute magnetic and mechanical components of soc_dmi - if (soc_dmi_flag){ - cut_soc_dmi_2 = cut_soc_dmi[itype][jtype]*cut_soc_dmi[itype][jtype]; - if (rsq <= cut_soc_dmi_2){ - compute_soc_dmi(i,j,fmi,spi,spj); - compute_soc_dmi_mech(i,j,fi,spi,spj); - } - } + cut_spin_dmi_2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; + if (rsq <= cut_spin_dmi_2){ + compute_dmi(i,j,rsq,fmi,spi,spj); + if (lattice_flag) { + compute_dmi_mech(i,j,fi,spi,spj); + } + } f[i][0] += fi[0]; f[i][1] += fi[1]; @@ -162,7 +286,7 @@ void PairSpinSocDmi::compute(int eflag, int vflag) } if (eflag) { - if (rsq <= cut_soc_dmi_2) { + if (rsq <= cut_spin_dmi_2) { evdwl -= spi[0]*fmi[0]; evdwl -= spi[1]*fmi[1]; evdwl -= spi[2]*fmi[2]; @@ -179,29 +303,37 @@ void PairSpinSocDmi::compute(int eflag, int vflag) } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + compute the dmi interaction between spin i and spin j +------------------------------------------------------------------------- */ -void PairSpinSocDmi::compute_soc_dmi(int i, int j, double fmi[3], double spi[3], double spj[3]) +void PairSpinDmi::compute_dmi(int i, int j, double rsq, double fmi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; - double dmix,dmiy,dmiz; itype = type[i]; jtype = type[j]; - - dmix = DM[itype][jtype]*v_dmx[itype][jtype]; - dmiy = DM[itype][jtype]*v_dmy[itype][jtype]; - dmiz = DM[itype][jtype]*v_dmz[itype][jtype]; - fmi[0] += spj[1]*dmiz-spj[2]*dmiy; - fmi[1] += spj[2]*dmix-spj[0]*dmiz; - fmi[2] += spj[0]*dmiy-spj[1]*dmix; + double local_cut2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; + if (rsq <= local_cut2) { + double dmix,dmiy,dmiz; + + dmix = DM[itype][jtype]*v_dmx[itype][jtype]; + dmiy = DM[itype][jtype]*v_dmy[itype][jtype]; + dmiz = DM[itype][jtype]*v_dmz[itype][jtype]; + + fmi[0] += spj[1]*dmiz-spj[2]*dmiy; + fmi[1] += spj[2]*dmix-spj[0]*dmiz; + fmi[2] += spj[0]*dmiy-spj[1]*dmix; + } } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + compute the mechanical force due to the dmi interaction between atom i and atom j +------------------------------------------------------------------------- */ -void PairSpinSocDmi::compute_soc_dmi_mech(int i, int j, double fi[3], double spi[3], double spj[3]) +void PairSpinDmi::compute_dmi_mech(int i, int j, double fi[3], double spi[3], double spj[3]) { fi[0] += 0.0; fi[1] += 0.0; @@ -213,7 +345,7 @@ void PairSpinSocDmi::compute_soc_dmi_mech(int i, int j, double fi[3], double spi allocate all arrays ------------------------------------------------------------------------- */ -void PairSpinSocDmi::allocate() +void PairSpinDmi::allocate() { allocated = 1; int n = atom->ntypes; @@ -223,7 +355,7 @@ void PairSpinSocDmi::allocate() for (int j = i; j <= n; j++) setflag[i][j] = 0; - memory->create(cut_soc_dmi,n+1,n+1,"pair:cut_soc_dmi"); + memory->create(cut_spin_dmi,n+1,n+1,"pair:cut_spin_dmi"); memory->create(DM,n+1,n+1,"pair:DM"); memory->create(v_dmx,n+1,n+1,"pair:DM_vector_x"); memory->create(v_dmy,n+1,n+1,"pair:DM_vector_y"); @@ -233,115 +365,12 @@ void PairSpinSocDmi::allocate() } -/* ---------------------------------------------------------------------- - global settings -------------------------------------------------------------------------- */ - -void PairSpinSocDmi::settings(int narg, char **arg) -{ - if (narg < 1 || narg > 2) - error->all(FLERR,"Incorrect number of args in pair/spin/dmi command"); - - if (strcmp(update->unit_style,"metal") != 0) - error->all(FLERR,"Spin simulations require metal unit style"); - - cut_soc_global = force->numeric(FLERR,arg[0]); - - // reset cutoffs that have been explicitly set - - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i+1; j <= atom->ntypes; j++) - if (setflag[i][j]) { - cut_soc_dmi[i][j] = cut_soc_global; - } - } - -} - -/* ---------------------------------------------------------------------- - set coeffs for one or more type spin pairs (only one for now) -------------------------------------------------------------------------- */ - -void PairSpinSocDmi::coeff(int narg, char **arg) -{ - const double hbar = force->hplanck/MY_2PI; - - if (!allocated) allocate(); - - if (strcmp(arg[2],"dmi")==0) { - if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); - soc_dmi_flag = 1; - - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double dm = (force->numeric(FLERR,arg[4]))/hbar; - double dmx = force->numeric(FLERR,arg[5]); - double dmy = force->numeric(FLERR,arg[6]); - double dmz = force->numeric(FLERR,arg[7]); - - double inorm = 1.0/(dmx*dmx+dmy*dmy+dmz*dmz); - dmx *= inorm; - dmy *= inorm; - dmz *= inorm; - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_soc_dmi[i][j] = rij; - DM[i][j] = dm; - v_dmx[i][j] = dmx; - v_dmy[i][j] = dmy; - v_dmz[i][j] = dmz; - setflag[i][j] = 1; - count++; - } - } - if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); - } else error->all(FLERR,"Incorrect args in pair_style command"); - -} - - -/* ---------------------------------------------------------------------- - init specific to this pair style -------------------------------------------------------------------------- */ - -void PairSpinSocDmi::init_style() -{ - if (!atom->sp_flag) - error->all(FLERR,"Pair spin requires atom/spin style"); - - neighbor->request(this,instance_me); - - // check this half/full request => to be verified - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; - -} - -/* ---------------------------------------------------------------------- - init for one type pair i,j and corresponding j,i -------------------------------------------------------------------------- */ - -double PairSpinSocDmi::init_one(int i, int j) -{ - - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - - return cut_soc_global; -} /* ---------------------------------------------------------------------- proc 0 writes to restart file ------------------------------------------------------------------------- */ -void PairSpinSocDmi::write_restart(FILE *fp) +void PairSpinDmi::write_restart(FILE *fp) { write_restart_settings(fp); @@ -350,13 +379,11 @@ void PairSpinSocDmi::write_restart(FILE *fp) for (j = i; j <= atom->ntypes; j++) { fwrite(&setflag[i][j],sizeof(int),1,fp); if (setflag[i][j]) { - if (soc_dmi_flag) { - fwrite(&DM[i][j],sizeof(double),1,fp); - fwrite(&v_dmx[i][j],sizeof(double),1,fp); - fwrite(&v_dmy[i][j],sizeof(double),1,fp); - fwrite(&v_dmz[i][j],sizeof(double),1,fp); - fwrite(&cut_soc_dmi[i][j],sizeof(double),1,fp); - } + fwrite(&DM[i][j],sizeof(double),1,fp); + fwrite(&v_dmx[i][j],sizeof(double),1,fp); + fwrite(&v_dmy[i][j],sizeof(double),1,fp); + fwrite(&v_dmz[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_dmi[i][j],sizeof(double),1,fp); } } } @@ -365,7 +392,7 @@ void PairSpinSocDmi::write_restart(FILE *fp) proc 0 reads from restart file, bcasts ------------------------------------------------------------------------- */ -void PairSpinSocDmi::read_restart(FILE *fp) +void PairSpinDmi::read_restart(FILE *fp) { read_restart_settings(fp); @@ -383,13 +410,13 @@ void PairSpinSocDmi::read_restart(FILE *fp) fread(&v_dmx[i][j],sizeof(double),1,fp); fread(&v_dmy[i][j],sizeof(double),1,fp); fread(&v_dmz[i][j],sizeof(double),1,fp); - fread(&cut_soc_dmi[i][j],sizeof(double),1,fp); + fread(&cut_spin_dmi[i][j],sizeof(double),1,fp); } MPI_Bcast(&DM[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_dmx[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_dmy[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_dmz[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut_soc_dmi[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_spin_dmi[i][j],1,MPI_DOUBLE,0,world); } } } @@ -400,9 +427,9 @@ void PairSpinSocDmi::read_restart(FILE *fp) proc 0 writes to restart file ------------------------------------------------------------------------- */ -void PairSpinSocDmi::write_restart_settings(FILE *fp) +void PairSpinDmi::write_restart_settings(FILE *fp) { - fwrite(&cut_soc_global,sizeof(double),1,fp); + fwrite(&cut_spin_dmi_global,sizeof(double),1,fp); fwrite(&offset_flag,sizeof(int),1,fp); fwrite(&mix_flag,sizeof(int),1,fp); } @@ -411,14 +438,14 @@ void PairSpinSocDmi::write_restart_settings(FILE *fp) proc 0 reads from restart file, bcasts ------------------------------------------------------------------------- */ -void PairSpinSocDmi::read_restart_settings(FILE *fp) +void PairSpinDmi::read_restart_settings(FILE *fp) { if (comm->me == 0) { - fread(&cut_soc_global,sizeof(double),1,fp); + fread(&cut_spin_dmi_global,sizeof(double),1,fp); fread(&offset_flag,sizeof(int),1,fp); fread(&mix_flag,sizeof(int),1,fp); } - MPI_Bcast(&cut_soc_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_spin_dmi_global,1,MPI_DOUBLE,0,world); MPI_Bcast(&offset_flag,1,MPI_INT,0,world); MPI_Bcast(&mix_flag,1,MPI_INT,0,world); } diff --git a/src/SPIN/pair_spin_soc_dmi.h b/src/SPIN/pair_spin_dmi.h similarity index 59% rename from src/SPIN/pair_spin_soc_dmi.h rename to src/SPIN/pair_spin_dmi.h index 4feef78739..ff6faa2a46 100755 --- a/src/SPIN/pair_spin_soc_dmi.h +++ b/src/SPIN/pair_spin_dmi.h @@ -11,48 +11,53 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. +------------------------------------------------------------------------- */ + #ifdef PAIR_CLASS -PairStyle(pair/spin/soc/dmi,PairSpinSocDmi) +PairStyle(pair/spin/dmi,PairSpinDmi) #else -#ifndef LMP_PAIR_SPIN_SOC_DMI_H -#define LMP_PAIR_SPIN_SOC_DMI_H +#ifndef LMP_PAIR_SPIN_DMI_H +#define LMP_PAIR_SPIN_DMI_H -#include "pair.h" +#include "pair_spin.h" namespace LAMMPS_NS { -class PairSpinSocDmi : public Pair { +class PairSpinDmi : public PairSpin { public: - PairSpinSocDmi(class LAMMPS *); - virtual ~PairSpinSocDmi(); - virtual void compute(int, int); + PairSpinDmi(class LAMMPS *); + virtual ~PairSpinDmi(); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); + void compute(int, int); + void compute_dmi(int, int, double, double *, double *, double *); + void compute_dmi_mech(int, int, double *, double *, double *); + void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_soc_dmi(int, int, double fmi[3], double spi[3], double spj[3]); - void compute_soc_dmi_mech(int, int, double fi[3], double spi[3], double spj[3]); - - int soc_dmi_flag; // dmi flag - - double cut_soc_global; // short range pair cutoff - double **cut_soc_dmi; // cutoff distance dmi + double cut_spin_dmi_global; // short range pair cutoff protected: - int newton_pair_spin; - double hbar; - double **DM; // dmi coeff in eV double **v_dmx, **v_dmy, **v_dmz; // dmi direction + double **cut_spin_dmi; // cutoff distance dmi void allocate(); }; diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index ca67956967..c899fba40a 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -14,6 +14,11 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ #include @@ -23,6 +28,8 @@ #include "atom.h" #include "comm.h" #include "error.h" +#include "fix.h" +#include "fix_nve_spin.h" #include "force.h" #include "pair_hybrid.h" #include "neighbor.h" @@ -38,14 +45,9 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairSpinExchange::PairSpinExchange(LAMMPS *lmp) : Pair(lmp) +PairSpinExchange::PairSpinExchange(LAMMPS *lmp) : PairSpin(lmp) { - hbar = force->hplanck/MY_2PI; - single_enable = 0; - exch_flag = 0; - exch_mech_flag = 0; - no_virial_fdotr_compute = 1; } @@ -55,15 +57,132 @@ PairSpinExchange::~PairSpinExchange() { if (allocated) { memory->destroy(setflag); - memory->destroy(cut_spin_exchange); memory->destroy(J1_mag); memory->destroy(J1_mech); memory->destroy(J2); memory->destroy(J3); + memory->destroy(cutsq); // to be deleted + } +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairSpinExchange::settings(int narg, char **arg) +{ + if (narg < 1 || narg > 2) + error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); + + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"Spin simulations require metal unit style"); + + cut_spin_exchange_global = force->numeric(FLERR,arg[0]); + + // reset cutoffs that have been explicitly set - memory->destroy(cutsq); + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i+1; j <= atom->ntypes; j++) + if (setflag[i][j]) { + cut_spin_exchange[i][j] = cut_spin_exchange_global; + } } + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type spin pairs (only one for now) +------------------------------------------------------------------------- */ + +void PairSpinExchange::coeff(int narg, char **arg) +{ + const double hbar = force->hplanck/MY_2PI; + + if (!allocated) allocate(); + + // check if args correct + + if (strcmp(arg[2],"exchange") != 0) + error->all(FLERR,"Incorrect args in pair_style command"); + if (narg != 7) + error->all(FLERR,"Incorrect args in pair_style command"); + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + // get exchange arguments from input command + + const double rc = force->numeric(FLERR,arg[3]); + const double j1 = force->numeric(FLERR,arg[4]); + const double j2 = force->numeric(FLERR,arg[5]); + const double j3 = force->numeric(FLERR,arg[6]); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_exchange[i][j] = rc; + J1_mag[i][j] = j1/hbar; + J1_mech[i][j] = j1; + J2[i][j] = j2; + J3[i][j] = j3; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) + error->all(FLERR,"Incorrect args in pair_style command"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairSpinExchange::init_style() +{ + if (!atom->sp_flag) + error->all(FLERR,"Pair spin requires atom/spin style"); + + // need a full neighbor list + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + + // checking if nve/spin is a listed fix + + int ifix = 0; + while (ifix < modify->nfix) { + if (strcmp(modify->fix[ifix]->style,"nve/spin") == 0) break; + ifix++; + } + if (ifix == modify->nfix) + error->all(FLERR,"pair/spin style requires nve/spin"); + + // get the lattice_flag from nve/spin + + for (int i = 0; i < modify->nfix; i++) { + if (strcmp(modify->fix[i]->style,"nve/spin") == 0) { + lockfixnvespin = (FixNVESpin *) modify->fix[i]; + lattice_flag = lockfixnvespin->lattice_flag; + } + } + +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairSpinExchange::init_one(int i, int j) +{ + + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + return cut_spin_exchange_global; } /* ---------------------------------------------------------------------- */ @@ -140,12 +259,12 @@ void PairSpinExchange::compute(int eflag, int vflag) // compute exchange interaction - if (exch_flag) { - cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; - if (rsq <= cut_ex_2) { - compute_exchange(i,j,rsq,fmi,spi,spj); + cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; + if (rsq <= cut_ex_2) { + compute_exchange(i,j,rsq,fmi,spi,spj); + if (lattice_flag) { compute_exchange_mech(i,j,rsq,rij,fi,spi,spj); - } + } } f[i][0] += fi[0]; @@ -178,49 +297,63 @@ void PairSpinExchange::compute(int eflag, int vflag) } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + compute the magnetic exchange interaction between spin i and spin j +------------------------------------------------------------------------- */ void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; - double Jex, ra; itype = type[i]; jtype = type[j]; - - ra = rsq/J3[itype][jtype]/J3[itype][jtype]; - Jex = 4.0*J1_mag[itype][jtype]*ra; - Jex *= (1.0-J2[itype][jtype]*ra); - Jex *= exp(-ra); - fmi[0] += Jex*spj[0]; - fmi[1] += Jex*spj[1]; - fmi[2] += Jex*spj[2]; - + double local_cut2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; + + if (rsq <= local_cut2) { + double Jex, ra; + + ra = rsq/J3[itype][jtype]/J3[itype][jtype]; + Jex = 4.0*J1_mag[itype][jtype]*ra; + Jex *= (1.0-J2[itype][jtype]*ra); + Jex *= exp(-ra); + + fmi[0] += Jex*spj[0]; + fmi[1] += Jex*spj[1]; + fmi[2] += Jex*spj[2]; + } } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + compute the mechanical force due to the exchange interaction between atom i and atom j +------------------------------------------------------------------------- */ void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double rij[3], double fi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; - double Jex, Jex_mech, ra, rr, iJ3; itype = type[i]; jtype = type[j]; - Jex = J1_mech[itype][jtype]; - iJ3 = 1.0/(J3[itype][jtype]*J3[itype][jtype]); + + double local_cut2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; - ra = rsq*iJ3; - rr = sqrt(rsq)*iJ3; + if (rsq <= local_cut2) { + double Jex, Jex_mech, ra, rr, iJ3; + Jex = J1_mech[itype][jtype]; + iJ3 = 1.0/(J3[itype][jtype]*J3[itype][jtype]); - Jex_mech = 1.0-ra-J2[itype][jtype]*ra*(2.0-ra); - Jex_mech *= 8.0*Jex*rr*exp(-ra); - Jex_mech *= (spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]); - - fi[0] -= Jex_mech*rij[0]; - fi[1] -= Jex_mech*rij[1]; - fi[2] -= Jex_mech*rij[2]; + ra = rsq*iJ3; + rr = sqrt(rsq)*iJ3; + + Jex_mech = 1.0-ra-J2[itype][jtype]*ra*(2.0-ra); + Jex_mech *= 8.0*Jex*rr*exp(-ra); + Jex_mech *= (spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]); + + fi[0] -= Jex_mech*rij[0]; + fi[1] -= Jex_mech*rij[1]; + fi[2] -= Jex_mech*rij[2]; + + } } @@ -243,121 +376,10 @@ void PairSpinExchange::allocate() memory->create(J1_mech,n+1,n+1,"pair/spin/exchange:J1_mech"); memory->create(J2,n+1,n+1,"pair/spin/exchange:J2"); memory->create(J3,n+1,n+1,"pair/spin/exchange:J3"); - - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - -} - -/* ---------------------------------------------------------------------- - global settings -------------------------------------------------------------------------- */ - -void PairSpinExchange::settings(int narg, char **arg) -{ - if (narg < 1 || narg > 2) - error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); - - if (strcmp(update->unit_style,"metal") != 0) - error->all(FLERR,"Spin simulations require metal unit style"); - - cut_spin_exchange_global = force->numeric(FLERR,arg[0]); - - // reset cutoffs that have been explicitly set - - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i+1; j <= atom->ntypes; j++) - if (setflag[i][j]) { - cut_spin_exchange[i][j] = cut_spin_exchange_global; - } - } - -} - -/* ---------------------------------------------------------------------- - set coeffs for one or more type spin pairs (only one for now) -------------------------------------------------------------------------- */ - -void PairSpinExchange::coeff(int narg, char **arg) -{ - const double hbar = force->hplanck/MY_2PI; - - if (!allocated) allocate(); - - // set exch_mech_flag to 1 if magneto-mech simulation - - if (strstr(force->pair_style,"pair/spin")) { - exch_mech_flag = 0; - } else if (strstr(force->pair_style,"hybrid/overlay")) { - exch_mech_flag = 1; - } else error->all(FLERR,"Incorrect args in pair_style command"); - - - if (strcmp(arg[2],"exchange")==0){ - if (narg != 7) error->all(FLERR,"Incorrect args in pair_style command"); - exch_flag = 1; - - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rc = force->numeric(FLERR,arg[3]); - const double j1 = force->numeric(FLERR,arg[4]); - const double j2 = force->numeric(FLERR,arg[5]); - const double j3 = force->numeric(FLERR,arg[6]); - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_exchange[i][j] = rc; - J1_mag[i][j] = j1/hbar; - if (exch_mech_flag) { - J1_mech[i][j] = j1; - } else { - J1_mech[i][j] = 0.0; - } - J2[i][j] = j2; - J3[i][j] = j3; - setflag[i][j] = 1; - count++; - } - } - if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); - } else error->all(FLERR,"Incorrect args in pair_style command"); - -} - - -/* ---------------------------------------------------------------------- - init specific to this pair style -------------------------------------------------------------------------- */ - -void PairSpinExchange::init_style() -{ - if (!atom->sp_flag) - error->all(FLERR,"Pair spin requires atom/spin style"); - - neighbor->request(this,instance_me); - - // check this half/full request => to be verified - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; - + memory->create(cutsq,n+1,n+1,"pair:cutsq"); } -/* ---------------------------------------------------------------------- - init for one type pair i,j and corresponding j,i -------------------------------------------------------------------------- */ -double PairSpinExchange::init_one(int i, int j) -{ - - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - - return cut_spin_exchange_global; -} /* ---------------------------------------------------------------------- proc 0 writes to restart file @@ -372,17 +394,14 @@ void PairSpinExchange::write_restart(FILE *fp) for (j = i; j <= atom->ntypes; j++) { fwrite(&setflag[i][j],sizeof(int),1,fp); if (setflag[i][j]) { - if (exch_flag){ - fwrite(&J1_mag[i][j],sizeof(double),1,fp); - fwrite(&J1_mech[i][j],sizeof(double),1,fp); - fwrite(&J2[i][j],sizeof(double),1,fp); - fwrite(&J3[i][j],sizeof(double),1,fp); - fwrite(&cut_spin_exchange[i][j],sizeof(double),1,fp); - } + fwrite(&J1_mag[i][j],sizeof(double),1,fp); + fwrite(&J1_mech[i][j],sizeof(double),1,fp); + fwrite(&J2[i][j],sizeof(double),1,fp); + fwrite(&J3[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_exchange[i][j],sizeof(double),1,fp); } } } - } /* ---------------------------------------------------------------------- @@ -446,3 +465,4 @@ void PairSpinExchange::read_restart_settings(FILE *fp) MPI_Bcast(&offset_flag,1,MPI_INT,0,world); MPI_Bcast(&mix_flag,1,MPI_INT,0,world); } + diff --git a/src/SPIN/pair_spin_exchange.h b/src/SPIN/pair_spin_exchange.h index c5e47922eb..ab22ef9255 100755 --- a/src/SPIN/pair_spin_exchange.h +++ b/src/SPIN/pair_spin_exchange.h @@ -11,6 +11,16 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. +------------------------------------------------------------------------- */ + #ifdef PAIR_CLASS PairStyle(pair/spin/exchange,PairSpinExchange) @@ -20,37 +30,34 @@ PairStyle(pair/spin/exchange,PairSpinExchange) #ifndef LMP_PAIR_SPIN_EXCHANGE_H #define LMP_PAIR_SPIN_EXCHANGE_H -#include "pair.h" +#include "pair_spin.h" namespace LAMMPS_NS { -class PairSpinExchange : public Pair { +class PairSpinExchange : public PairSpin { public: PairSpinExchange(class LAMMPS *); virtual ~PairSpinExchange(); - virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); + void compute(int, int); + void compute_exchange(int, int, double, double *, double *, double *); + void compute_exchange_mech(int, int, double, double *, double *, double *, double *); + void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); - - void compute_exchange(int, int, double, double fmi[3], double spi[3], double spj[3]); - void compute_exchange_mech(int, int, double, double rij[3], double fi[3], double spi[3], double spj[3]); - - int exch_flag; // magnetic exchange flag - int exch_mech_flag; // mechanic exchange flags - double cut_spin_exchange_global; // global exchange cutoff - double **cut_spin_exchange; // cutoff distance per exchange + + double cut_spin_exchange_global; // global neel cutoff distance protected: - double hbar; - double **J1_mag, **J1_mech; // exchange coeffs Jij - double **J2, **J3; // J1 in eV, J2 adim, J3 in Ang + double **J1_mag, **J1_mech; // exchange coeffs Jij + double **J2, **J3; // J1 in eV, J2 adim, J3 in Ang + double **cut_spin_exchange; // cutoff distance exchange void allocate(); }; diff --git a/src/SPIN/pair_spin_me.cpp b/src/SPIN/pair_spin_me.cpp index 61f0c98f29..e617470c8a 100755 --- a/src/SPIN/pair_spin_me.cpp +++ b/src/SPIN/pair_spin_me.cpp @@ -14,6 +14,11 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ #include @@ -23,6 +28,8 @@ #include "atom.h" #include "comm.h" #include "error.h" +#include "fix.h" +#include "fix_nve_spin.h" #include "force.h" #include "pair_hybrid.h" #include "neighbor.h" @@ -38,17 +45,9 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairSpinMe::PairSpinMe(LAMMPS *lmp) : Pair(lmp) +PairSpinMe::PairSpinMe(LAMMPS *lmp) : PairSpin(lmp) { - hbar = force->hplanck/MY_2PI; - - //newton_pair_spin = 0; // no newton pair for now - // newton_pair = 0; - single_enable = 0; - me_flag = 0; - me_mech_flag = 0; - no_virial_fdotr_compute = 1; } @@ -58,16 +57,134 @@ PairSpinMe::~PairSpinMe() { if (allocated) { memory->destroy(setflag); - memory->destroy(cut_spin_me); memory->destroy(ME); memory->destroy(ME_mech); memory->destroy(v_mex); memory->destroy(v_mey); memory->destroy(v_mez); + memory->destroy(cutsq); // to be deteled + } +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairSpinMe::settings(int narg, char **arg) +{ + if (narg < 1 || narg > 2) + error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); + + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"Spin simulations require metal unit style"); + + cut_spin_me_global = force->numeric(FLERR,arg[0]); + + // reset cutoffs that have been explicitly set - memory->destroy(cutsq); + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i+1; j <= atom->ntypes; j++) + if (setflag[i][j]) { + cut_spin_me[i][j] = cut_spin_me_global; + } } + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type spin pairs (only one for now) +------------------------------------------------------------------------- */ + +void PairSpinMe::coeff(int narg, char **arg) +{ + const double hbar = force->hplanck/MY_2PI; + + if (!allocated) allocate(); + + if (strcmp(arg[2],"me")==0) { + if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + const double rij = force->numeric(FLERR,arg[3]); + const double me = (force->numeric(FLERR,arg[4])); + double mex = force->numeric(FLERR,arg[5]); + double mey = force->numeric(FLERR,arg[6]); + double mez = force->numeric(FLERR,arg[7]); + + double inorm = 1.0/(mex*mex+mey*mey+mez*mez); + mex *= inorm; + mey *= inorm; + mez *= inorm; + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_me[i][j] = rij; + ME[i][j] = me/hbar; + ME_mech[i][j] = me; + v_mex[i][j] = mex; + v_mey[i][j] = mey; + v_mez[i][j] = mez; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); + } else error->all(FLERR,"Incorrect args in pair_style command"); + +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairSpinMe::init_style() +{ + if (!atom->sp_flag) + error->all(FLERR,"Pair spin requires atom/spin style"); + + // need a full neighbor list + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + + // checking if nve/spin is a listed fix + + int ifix = 0; + while (ifix < modify->nfix) { + if (strcmp(modify->fix[ifix]->style,"nve/spin") == 0) break; + ifix++; + } + if (ifix == modify->nfix) + error->all(FLERR,"pair/spin style requires nve/spin"); + + // get the lattice_flag from nve/spin + + for (int i = 0; i < modify->nfix; i++) { + if (strcmp(modify->fix[i]->style,"nve/spin") == 0) { + lockfixnvespin = (FixNVESpin *) modify->fix[i]; + lattice_flag = lockfixnvespin->lattice_flag; + } + } + +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairSpinMe::init_one(int i, int j) +{ + + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + return cut_spin_me_global; } /* ---------------------------------------------------------------------- */ @@ -146,12 +263,12 @@ void PairSpinMe::compute(int eflag, int vflag) itype = type[i]; jtype = type[j]; - // me interaction + // compute me interaction - if (me_flag){ - cut_me_2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; - if (rsq <= cut_me_2){ - compute_me(i,j,rij,fmi,spi,spj); + cut_me_2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; + if (rsq <= cut_me_2){ + compute_me(i,j,rsq,rij,fmi,spi,spj); + if (lattice_flag) { compute_me_mech(i,j,fi,spi,spj); } } @@ -188,41 +305,45 @@ void PairSpinMe::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -void PairSpinMe::compute_me(int i, int j, double eij[3], double fmi[3], double spi[3], double spj[3]) +void PairSpinMe::compute_me(int i, int j, double rsq, double eij[3], double fmi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; itype = type[i]; jtype = type[j]; - double meix,meiy,meiz; - double rx, ry, rz; - double vx, vy, vz; - - rx = eij[0]; - ry = eij[1]; - rz = eij[2]; - - vx = v_mex[itype][jtype]; - vy = v_mey[itype][jtype]; - vz = v_mez[itype][jtype]; - meix = vy*rz - vz*ry; - meiy = vz*rx - vx*rz; - meiz = vx*ry - vy*rx; - - meix *= ME[itype][jtype]; - meiy *= ME[itype][jtype]; - meiz *= ME[itype][jtype]; - - fmi[0] += spj[1]*meiz - spj[2]*meiy; - fmi[1] += spj[2]*meix - spj[0]*meiz; - fmi[2] += spj[0]*meiy - spj[1]*meix; - + double local_cut2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; + + if (rsq <= local_cut2) { + double meix,meiy,meiz; + double rx, ry, rz; + double vx, vy, vz; + + rx = eij[0]; + ry = eij[1]; + rz = eij[2]; + + vx = v_mex[itype][jtype]; + vy = v_mey[itype][jtype]; + vz = v_mez[itype][jtype]; + + meix = vy*rz - vz*ry; + meiy = vz*rx - vx*rz; + meiz = vx*ry - vy*rx; + + meix *= ME[itype][jtype]; + meiy *= ME[itype][jtype]; + meiz *= ME[itype][jtype]; + + fmi[0] += spj[1]*meiz - spj[2]*meiy; + fmi[1] += spj[2]*meix - spj[0]*meiz; + fmi[2] += spj[0]*meiy - spj[1]*meix; + } } /* ---------------------------------------------------------------------- */ -void PairSpinMe::compute_me_mech(int i, int j, double fi[3], double spi[3], double spj[3]) +void PairSpinMe::compute_me_mech(int i, int j, double fi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -270,113 +391,7 @@ void PairSpinMe::allocate() memory->create(v_mex,n+1,n+1,"pair/spin/me:ME_vector_x"); memory->create(v_mey,n+1,n+1,"pair/spin/me:ME_vector_y"); memory->create(v_mez,n+1,n+1,"pair/spin/me:ME_vector_z"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - -} - -/* ---------------------------------------------------------------------- - global settings -------------------------------------------------------------------------- */ - -void PairSpinMe::settings(int narg, char **arg) -{ - if (narg < 1 || narg > 2) - error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); - - if (strcmp(update->unit_style,"metal") != 0) - error->all(FLERR,"Spin simulations require metal unit style"); - - cut_spin_me_global = force->numeric(FLERR,arg[0]); - - // reset cutoffs that have been explicitly set - - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i+1; j <= atom->ntypes; j++) - if (setflag[i][j]) { - cut_spin_me[i][j] = cut_spin_me_global; - } - } - -} - -/* ---------------------------------------------------------------------- - set coeffs for one or more type spin pairs (only one for now) -------------------------------------------------------------------------- */ - -void PairSpinMe::coeff(int narg, char **arg) -{ - const double hbar = force->hplanck/MY_2PI; - - if (!allocated) allocate(); - - if (strcmp(arg[2],"me")==0) { - if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); - me_flag = 1; - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double me = (force->numeric(FLERR,arg[4])); - double mex = force->numeric(FLERR,arg[5]); - double mey = force->numeric(FLERR,arg[6]); - double mez = force->numeric(FLERR,arg[7]); - - double inorm = 1.0/(mex*mex+mey*mey+mez*mez); - mex *= inorm; - mey *= inorm; - mez *= inorm; - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_me[i][j] = rij; - ME[i][j] = me/hbar; - ME_mech[i][j] = me; - v_mex[i][j] = mex; - v_mey[i][j] = mey; - v_mez[i][j] = mez; - setflag[i][j] = 1; - count++; - } - } - if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); - } else error->all(FLERR,"Incorrect args in pair_style command"); - -} - - -/* ---------------------------------------------------------------------- - init specific to this pair style -------------------------------------------------------------------------- */ - -void PairSpinMe::init_style() -{ - if (!atom->sp_flag) - error->all(FLERR,"Pair spin requires atom/spin style"); - - neighbor->request(this,instance_me); - - // check this half/full request => to be corrected/reviewed - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; - -} - -/* ---------------------------------------------------------------------- - init for one type pair i,j and corresponding j,i -------------------------------------------------------------------------- */ - -double PairSpinMe::init_one(int i, int j) -{ - - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - - return cut_spin_me_global; } /* ---------------------------------------------------------------------- @@ -392,13 +407,11 @@ void PairSpinMe::write_restart(FILE *fp) for (j = i; j <= atom->ntypes; j++) { fwrite(&setflag[i][j],sizeof(int),1,fp); if (setflag[i][j]) { - if (me_flag) { - fwrite(&ME[i][j],sizeof(double),1,fp); - fwrite(&v_mex[i][j],sizeof(double),1,fp); - fwrite(&v_mey[i][j],sizeof(double),1,fp); - fwrite(&v_mez[i][j],sizeof(double),1,fp); - fwrite(&cut_spin_me[i][j],sizeof(double),1,fp); - } + fwrite(&ME[i][j],sizeof(double),1,fp); + fwrite(&v_mex[i][j],sizeof(double),1,fp); + fwrite(&v_mey[i][j],sizeof(double),1,fp); + fwrite(&v_mez[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_me[i][j],sizeof(double),1,fp); } } } @@ -437,7 +450,6 @@ void PairSpinMe::read_restart(FILE *fp) } } - /* ---------------------------------------------------------------------- proc 0 writes to restart file ------------------------------------------------------------------------- */ diff --git a/src/SPIN/pair_spin_me.h b/src/SPIN/pair_spin_me.h index 9f176242c9..05e6719710 100755 --- a/src/SPIN/pair_spin_me.h +++ b/src/SPIN/pair_spin_me.h @@ -11,6 +11,16 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. +------------------------------------------------------------------------- */ + #ifdef PAIR_CLASS PairStyle(pair/spin/me,PairSpinMe) @@ -20,40 +30,34 @@ PairStyle(pair/spin/me,PairSpinMe) #ifndef LMP_PAIR_SPIN_ME_H #define LMP_PAIR_SPIN_ME_H -#include "pair.h" +#include "pair_spin.h" namespace LAMMPS_NS { -class PairSpinMe : public Pair { +class PairSpinMe : public PairSpin { public: PairSpinMe(class LAMMPS *); virtual ~PairSpinMe(); - virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); + void compute(int, int); + void compute_me(int, int, double, double *, double *, double *, double *); + void compute_me_mech(int, int, double *, double *, double *); + void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); - void compute_me(int, int, double [3], double [3], double [3], double [3]); - void compute_me_mech(int, int, double [3], double [3], double [3]); - - int me_flag; // me flag - int me_mech_flag; // mech calculation flag - double cut_spin_me_global; // global me cutoff - double **cut_spin_me; // me cutoff distance protected: - int newton_pair_spin; - double hbar; - double **ME, **ME_mech; // me coeff in eV double **v_mex, **v_mey, **v_mez; // me direction + double **cut_spin_me; // me cutoff distance void allocate(); }; diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp new file mode 100755 index 0000000000..205ee736ed --- /dev/null +++ b/src/SPIN/pair_spin_neel.cpp @@ -0,0 +1,643 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. +------------------------------------------------------------------------- */ + +#include +#include +#include + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "fix.h" +#include "fix_nve_spin.h" +#include "force.h" +#include "pair_hybrid.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "math_const.h" +#include "memory.h" +#include "pair_spin_neel.h" +#include "update.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +PairSpinNeel::PairSpinNeel(LAMMPS *lmp) : PairSpin(lmp) +{ + single_enable = 0; + no_virial_fdotr_compute = 1; +} + +/* ---------------------------------------------------------------------- */ + +PairSpinNeel::~PairSpinNeel() +{ + if (allocated) { + memory->destroy(setflag); + memory->destroy(cut_spin_neel); + memory->destroy(g1); + memory->destroy(g1_mech); + memory->destroy(g2); + memory->destroy(g3); + memory->destroy(q1); + memory->destroy(q1_mech); + memory->destroy(q2); + memory->destroy(q3); + memory->destroy(cutsq); // to be deleted + } +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairSpinNeel::settings(int narg, char **arg) +{ + if (narg < 1 || narg > 2) + error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); + + if (strcmp(update->unit_style,"metal") != 0) + error->all(FLERR,"Spin simulations require metal unit style"); + + cut_spin_neel_global = force->numeric(FLERR,arg[0]); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i+1; j <= atom->ntypes; j++) { + if (setflag[i][j]) { + cut_spin_neel[i][j] = cut_spin_neel_global; + } + } + } + } + +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type spin pairs (only one for now) +------------------------------------------------------------------------- */ + +void PairSpinNeel::coeff(int narg, char **arg) +{ + const double hbar = force->hplanck/MY_2PI; + + if (!allocated) allocate(); + + // check if args correct + + if (strcmp(arg[2],"neel") != 0) + error->all(FLERR,"Incorrect args in pair_style command"); + if (narg != 10) + error->all(FLERR,"Incorrect args in pair_style command"); + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + const double rij = force->numeric(FLERR,arg[3]); + const double k1 = force->numeric(FLERR,arg[4]); + const double k2 = force->numeric(FLERR,arg[5]); + const double k3 = force->numeric(FLERR,arg[6]); + const double l1 = force->numeric(FLERR,arg[7]); + const double l2 = force->numeric(FLERR,arg[8]); + const double l3 = force->numeric(FLERR,arg[9]); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_neel[i][j] = rij; + g1[i][j] = k1/hbar; + q1[i][j] = l1/hbar; + g1_mech[i][j] = k1; + q1_mech[i][j] = l1; + g2[i][j] = k2; + g3[i][j] = k3; + q2[i][j] = l2; + q3[i][j] = l3; + setflag[i][j] = 1; + count++; + } + } + if (count == 0) + error->all(FLERR,"Incorrect args in pair_style command"); + +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairSpinNeel::init_style() +{ + if (!atom->sp_flag) + error->all(FLERR,"Pair spin requires atom/spin style"); + + // need a full neighbor list + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + + // checking if nve/spin is a listed fix + + int ifix = 0; + while (ifix < modify->nfix) { + if (strcmp(modify->fix[ifix]->style,"nve/spin") == 0) break; + ifix++; + } + if (ifix == modify->nfix) + error->all(FLERR,"pair/spin style requires nve/spin"); + + // get the lattice_flag from nve/spin + + for (int i = 0; i < modify->nfix; i++) { + if (strcmp(modify->fix[i]->style,"nve/spin") == 0) { + lockfixnvespin = (FixNVESpin *) modify->fix[i]; + lattice_flag = lockfixnvespin->lattice_flag; + } + } + +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairSpinNeel::init_one(int i, int j) +{ + + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + return cut_spin_neel_global; +} + +/* ---------------------------------------------------------------------- */ + +void PairSpinNeel::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + double evdwl,ecoul; + double xi[3], rij[3], eij[3]; + double spi[3], spj[3]; + double fi[3], fmi[3]; + double cut_spin_neel_2, cut_spin_neel_global2; + double rsq, rd, inorm; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = ecoul = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + cut_spin_neel_global2 = cut_spin_neel_global*cut_spin_neel_global; + + double **x = atom->x; + double **f = atom->f; + double **fm = atom->fm; + double **sp = atom->sp; + int *type = atom->type; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // pair spin computations + // loop over atoms and their neighbors + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + // loop on neighbors + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + evdwl = 0.0; + + fi[0] = fi[1] = fi[2] = 0.0; + fmi[0] = fmi[1] = fmi[2] = 0.0; + rij[0] = rij[1] = rij[2] = 0.0; + + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + inorm = 1.0/sqrt(rsq); + eij[0] = rij[0]*inorm; + eij[1] = rij[1]*inorm; + eij[2] = rij[2]*inorm; + + itype = type[i]; + jtype = type[j]; + + // compute magnetic and mechanical components of soc_neel + + cut_spin_neel_2 = cut_spin_neel[itype][jtype]*cut_spin_neel[itype][jtype]; + if (rsq <= cut_spin_neel_2) { + compute_neel(i,j,rsq,eij,fmi,spi,spj); + if (lattice_flag) { + compute_neel_mech(i,j,rsq,eij,fi,spi,spj); + } + } + + f[i][0] += fi[0]; + f[i][1] += fi[1]; + f[i][2] += fi[2]; + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; + fm[i][2] += fmi[2]; + + // check newton pair => see if needs correction + if (newton_pair || j < nlocal) { + f[j][0] -= fi[0]; + f[j][1] -= fi[1]; + f[j][2] -= fi[2]; + } + + if (eflag) { + if (rsq <= cut_spin_neel_2) { + evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + evdwl *= hbar; + } else evdwl = 0.0; + } + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, + evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); + } + } + + if (vflag_fdotr) virial_fdotr_compute(); + +} + +/* ---------------------------------------------------------------------- */ + +void PairSpinNeel::compute_neel(int i, int j, double rsq, double eij[3], double fmi[3], double spi[3], double spj[3]) +{ + int *type = atom->type; + int itype, jtype; + itype = type[i]; + jtype = type[j]; + + double local_cut2 = cut_spin_neel[itype][jtype]*cut_spin_neel[itype][jtype]; + + if (rsq <= local_cut2) { + double gij, q1ij, q2ij, ra; + double pdx, pdy, pdz; + double pq1x, pq1y, pq1z; + double pq2x, pq2y, pq2z; + + // pseudo-dipolar component + ra = rsq/g3[itype][jtype]/g3[itype][jtype]; + gij = 4.0*g1[itype][jtype]*ra; + gij *= (1.0-g2[itype][jtype]*ra); + gij *= exp(-ra); + + double scalar_eij_si = eij[0]*spi[0] + eij[1]*spi[1] + eij[2]*spi[2]; + double scalar_eij_sj = eij[0]*spj[0] + eij[1]*spj[1] + eij[2]*spj[2]; + double scalar_si_sj = spi[0]*spj[0] + spi[1]*spj[1] + spi[2]*spj[2]; + + double gij_eij_sj = gij*scalar_eij_sj; + double gij_3 = gij/3.0; + pdx = gij_eij_sj*eij[0] - gij_3*spj[0]; + pdy = gij_eij_sj*eij[1] - gij_3*spj[1]; + pdz = gij_eij_sj*eij[2] - gij_3*spj[2]; + + // pseudo-quadrupolar component + ra = rsq/q3[itype][jtype]/q3[itype][jtype]; + q1ij = 4.0*q1[itype][jtype]*ra; + q1ij *= (1.0-q2[itype][jtype]*ra); + q1ij *= exp(-ra); + q2ij = (-2.0*q1ij/9.0); + + double scalar_eij_si_2 = scalar_eij_si*scalar_eij_si; + pq1x = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[0]/3.0; + pq1y = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[1]/3.0; + pq1z = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[2]/3.0; + + double pqt1 = (scalar_eij_sj*scalar_eij_sj-scalar_si_sj/3.0); + pq1x += pqt1*(2.0*scalar_eij_si*eij[0] - spj[0]/3.0); + pq1y += pqt1*(2.0*scalar_eij_si*eij[1] - spj[1]/3.0); + pq1z += pqt1*(2.0*scalar_eij_si*eij[2] - spj[2]/3.0); + + pq1x *= q1ij; + pq1y *= q1ij; + pq1z *= q1ij; + + double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; + pq2x = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[0] + scalar_eij_sj_3*eij[0]; + pq2y = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[1] + scalar_eij_sj_3*eij[1]; + pq2z = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[2] + scalar_eij_sj_3*eij[2]; + + pq2x *= q2ij; + pq2y *= q2ij; + pq2z *= q2ij; + + // summing three contributions + fmi[0] += (pdx + pq1x + pq2x); + fmi[1] += (pdy + pq1y + pq2y); + fmi[2] += (pdz + pq1z + pq2z); + + } + +} + +/* ---------------------------------------------------------------------- */ + +void PairSpinNeel::compute_neel_mech(int i, int j, double rsq, double eij[3], double fi[3], double spi[3], double spj[3]) +{ + int *type = atom->type; + int itype, jtype; + itype = type[i]; + jtype = type[j]; + + double local_cut2 = cut_spin_neel[itype][jtype]*cut_spin_neel[itype][jtype]; + + if (rsq <= local_cut2) { + double g_mech, gij, dgij; + double q_mech, q1ij, dq1ij; + double q2ij, dq2ij; + double pdx, pdy, pdz; + double pq1x, pq1y, pq1z; + double pq2x, pq2y, pq2z; + double ra, rr, drij, ig3, iq3; + + drij = sqrt(rsq); + + double scalar_si_sj = spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]; + double scalar_eij_si = eij[0]*spi[0]+eij[1]*spi[1]+eij[2]*spi[2]; + double scalar_eij_sj = eij[0]*spj[0]+eij[1]*spj[1]+eij[2]*spj[2]; + + // pseudo-dipolar component + g_mech = g1_mech[itype][jtype]; + ig3 = 1.0/(g3[itype][jtype]*g3[itype][jtype]); + + ra = rsq*ig3; + rr = drij*ig3; + + gij = 4.0*g_mech*ra; + gij *= (1.0-g2[itype][jtype]*ra); + gij *= exp(-ra); + + dgij = 1.0-ra-g2[itype][jtype]*ra*(2.0-ra); + dgij *= 8.0*g_mech*rr*exp(-ra); + + double pdt1 = (dgij-2.0*gij/drij)*scalar_eij_si*scalar_eij_sj; + pdt1 -= scalar_si_sj*dgij/3.0; + double pdt2 = scalar_eij_sj*gij/drij; + double pdt3 = scalar_eij_si*gij/drij; + pdx = -(pdt1*eij[0] + pdt2*spi[0] + pdt3*spj[0]); + pdy = -(pdt1*eij[1] + pdt2*spi[1] + pdt3*spj[1]); + pdz = -(pdt1*eij[2] + pdt2*spi[2] + pdt3*spj[2]); + + // pseudo-quadrupolar component + q_mech = q1_mech[itype][jtype]; + iq3 = 1.0/(q3[itype][jtype]*q3[itype][jtype]); + + ra = rsq*iq3; + rr = drij*iq3; + + q1ij = 4.0*q_mech*ra; + q1ij *= (1.0-q2[itype][jtype]*ra); + q1ij *= exp(-ra); + q2ij = -2.0*q1ij/9.0; + + dq1ij = 1.0-ra-q2[itype][jtype]*ra*(2.0-ra); + dq1ij *= 8.0*q_mech*rr*exp(-ra); + dq2ij = -2.0*dq1ij/9.0; + + double scalar_eij_si_2 = scalar_eij_si*scalar_eij_si; + double scalar_eij_sj_2 = scalar_eij_sj*scalar_eij_sj; + double pqt1 = scalar_eij_si_2 - scalar_si_sj/3.0; + double pqt2 = scalar_eij_sj_2 - scalar_si_sj/3.0; + pq1x = dq1ij * pqt1 * pqt2 * eij[0]; + pq1y = dq1ij * pqt1 * pqt2 * eij[1]; + pq1z = dq1ij * pqt1 * pqt2 * eij[2]; + + double scalar_eij_si_3 = scalar_eij_si*scalar_eij_si*scalar_eij_si; + double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; + double scalar_si_sj_2 = scalar_si_sj*scalar_si_sj; + /* double pqt3 = 2.0*scalar_eij_si*scalar_eij_sj_3/drij; + double pqt4 = 2.0*scalar_eij_sj*scalar_eij_si_3/drij; + double pqt5 = -2.0*scalar_si_sj*scalar_eij_si/(3.0*drij); + double pqt6 = -2.0*scalar_si_sj*scalar_eij_sj/(3.0*drij); + // pq1x += q1ij*(spi[0]*(pqt3+pqt6) + spj[0]*(pqt4+)); + pq1x += q1ij*(pqt3*spi[0]+pqt4*spj[0]+pqt5*spi[0]+pqt6*spi[0]); + pq1y += q1ij*(pqt3*spi[1]+pqt4*spj[1]+pqt5*spi[1]+pqt6*spj[1]); + pq1z += q1ij*(pqt3*spi[2]+pqt4*spj[2]+pqt5*spi[2]+pqt6*spj[2]); + */ + double pqt3 = 2.0*scalar_eij_si*(scalar_eij_sj_2-scalar_si_sj/3.0)/drij; + double pqt4 = 2.0*scalar_eij_sj*(scalar_eij_si_2-scalar_si_sj/3.0)/drij; + pq1x += q1ij*(pqt3*spi[0] + pqt4*spj[0]); + pq1y += q1ij*(pqt3*spi[1] + pqt4*spj[1]); + pq1z += q1ij*(pqt3*spi[2] + pqt4*spj[2]); + double pqt7 = 4.0*scalar_eij_si_2*scalar_eij_sj_2/drij; + double pqt8 = 2.0*scalar_si_sj_2*scalar_eij_sj/(3.0*drij); + double pqt9 = 2.0*scalar_si_sj_2*scalar_eij_si/(3.0*drij); + pq1x -= q1ij*(pqt7 + pqt8 + pqt9)*eij[0]; + pq1y -= q1ij*(pqt7 + pqt8 + pqt9)*eij[1]; + pq1z -= q1ij*(pqt7 + pqt8 + pqt9)*eij[2]; + + /* + double pqt3 = 2.0*scalar_eij_si*(scalar_eij_sj_2-scalar_si_sj/3.0)/drij; + double pqt4 = 2.0*scalar_eij_sj*(scalar_eij_si_2-scalar_si_sj/3.0)/drij; + pq1x += q1ij*(pqt3*spi[0] + pqt4*spj[0]); + pq1y += q1ij*(pqt3*spi[1] + pqt4*spj[1]); + pq1z += q1ij*(pqt3*spi[2] + pqt4*spj[2]); + */ + + //double scalar_eij_si_3 = scalar_eij_si*scalar_eij_si*scalar_eij_si; + //double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; + double pqt10 = scalar_eij_sj*scalar_eij_si_3; + double pqt11 = scalar_eij_si*scalar_eij_sj_3; + pq2x = dq2ij*(pqt10 + pqt11)*eij[0]; + pq2y = dq2ij*(pqt10 + pqt11)*eij[1]; + pq2z = dq2ij*(pqt10 + pqt11)*eij[2]; + + double pqt12 = scalar_eij_si_3/drij; + double pqt13 = scalar_eij_sj_3/drij; + double pqt14 = 3.0*scalar_eij_sj*scalar_eij_si_2/drij; + double pqt15 = 3.0*scalar_eij_si*scalar_eij_sj_2/drij; + pq2x += q2ij*((pqt12+pqt15)*spj[0]+(pqt13+pqt14)*spi[0]); + pq2y += q2ij*((pqt12+pqt15)*spj[1]+(pqt13+pqt14)*spi[1]); + pq2z += q2ij*((pqt12+pqt15)*spj[2]+(pqt13+pqt14)*spi[2]); + double pqt16 = 4.0*scalar_eij_sj*scalar_eij_si_3/drij; + double pqt17 = 4.0*scalar_eij_si*scalar_eij_sj_3/drij; + pq2x -= q2ij*(pqt16 + pqt17)*eij[0]; + pq2y -= q2ij*(pqt16 + pqt17)*eij[1]; + pq2z -= q2ij*(pqt16 + pqt17)*eij[2]; + + fi[0] = pdx + pq1x + pq2x; + fi[2] = pdy + pq1y + pq2y; + fi[3] = pdz + pq1z + pq2z; + + } + +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairSpinNeel::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cut_spin_neel,n+1,n+1,"pair/spin/soc/neel:cut_spin_neel"); + + memory->create(g1,n+1,n+1,"pair/spin/soc/neel:g1"); + memory->create(g1_mech,n+1,n+1,"pair/spin/soc/neel:g1_mech"); + memory->create(g2,n+1,n+1,"pair/spin/soc/neel:g2"); + memory->create(g3,n+1,n+1,"pair/spin/soc/neel:g3"); + + memory->create(q1,n+1,n+1,"pair/spin/soc/neel:q1"); + memory->create(q1_mech,n+1,n+1,"pair/spin/soc/neel:q1_mech"); + memory->create(q2,n+1,n+1,"pair/spin/soc/neel:q2"); + memory->create(q3,n+1,n+1,"pair/spin/soc/neel:q3"); + + memory->create(cutsq,n+1,n+1,"pair/spin/soc/neel:cutsq"); + +} + + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpinNeel::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j],sizeof(int),1,fp); + if (setflag[i][j]) { + fwrite(&g1[i][j],sizeof(double),1,fp); + fwrite(&g1_mech[i][j],sizeof(double),1,fp); + fwrite(&g2[i][j],sizeof(double),1,fp); + fwrite(&g3[i][j],sizeof(double),1,fp); + fwrite(&q1[i][j],sizeof(double),1,fp); + fwrite(&q1_mech[i][j],sizeof(double),1,fp); + fwrite(&q2[i][j],sizeof(double),1,fp); + fwrite(&q3[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_neel[i][j],sizeof(double),1,fp); + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpinNeel::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i,j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); + MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); + if (setflag[i][j]) { + if (me == 0) { + fread(&g1[i][j],sizeof(double),1,fp); + fread(&g1_mech[i][j],sizeof(double),1,fp); + fread(&g2[i][j],sizeof(double),1,fp); + fread(&g2[i][j],sizeof(double),1,fp); + fread(&q1[i][j],sizeof(double),1,fp); + fread(&q1_mech[i][j],sizeof(double),1,fp); + fread(&q2[i][j],sizeof(double),1,fp); + fread(&q2[i][j],sizeof(double),1,fp); + fread(&cut_spin_neel[i][j],sizeof(double),1,fp); + } + MPI_Bcast(&g1[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&g1_mech[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&g2[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&g3[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&q1[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&q1_mech[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&q2[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&q3[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_spin_neel[i][j],1,MPI_DOUBLE,0,world); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairSpinNeel::write_restart_settings(FILE *fp) +{ + fwrite(&cut_spin_neel_global,sizeof(double),1,fp); + fwrite(&offset_flag,sizeof(int),1,fp); + fwrite(&mix_flag,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairSpinNeel::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + fread(&cut_spin_neel_global,sizeof(double),1,fp); + fread(&offset_flag,sizeof(int),1,fp); + fread(&mix_flag,sizeof(int),1,fp); + } + MPI_Bcast(&cut_spin_neel_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&offset_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); +} diff --git a/src/SPIN/pair_spin_soc_neel.h b/src/SPIN/pair_spin_neel.h similarity index 61% rename from src/SPIN/pair_spin_soc_neel.h rename to src/SPIN/pair_spin_neel.h index 8e4d40c765..970844a2a7 100755 --- a/src/SPIN/pair_spin_soc_neel.h +++ b/src/SPIN/pair_spin_neel.h @@ -11,53 +11,57 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ + Contributing authors: Julien Tranchida (SNL) + Aidan Thompson (SNL) + + Please cite the related publication: + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics + and molecular dynamics. arXiv preprint arXiv:1801.10233. +------------------------------------------------------------------------- */ + #ifdef PAIR_CLASS -PairStyle(pair/spin/soc/neel,PairSpinSocNeel) +PairStyle(pair/spin/neel,PairSpinNeel) #else -#ifndef LMP_PAIR_SPIN_SOC_NEEL_H -#define LMP_PAIR_SPIN_SOC_NEEL_H +#ifndef LMP_PAIR_SPIN_NEEL_H +#define LMP_PAIR_SPIN_NEEL_H -#include "pair.h" +#include "pair_spin.h" namespace LAMMPS_NS { -class PairSpinSocNeel : public Pair { +class PairSpinNeel : public PairSpin { public: - PairSpinSocNeel(class LAMMPS *); - virtual ~PairSpinSocNeel(); - virtual void compute(int, int); + PairSpinNeel(class LAMMPS *); + virtual ~PairSpinNeel(); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); + void compute(int, int); + void compute_neel(int, int, double, double *, double *, double *, double *); + void compute_neel_mech(int, int, double, double *, double *, double *, double *); + void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); - - void compute_soc_neel(int, int, double, double [3], double [3], double [3], double [3]); - void compute_soc_mech_neel(int, int, double, double [3], double [3], double [3], double [3]); - - int soc_neel_flag; // soc neel flag - int soc_mech_flag; // mech calculation flag - double cut_soc_global; - double **cut_soc_neel; // cutoff distance exchange + double cut_spin_neel_global; // global neel cutoff distance protected: - double hbar; - // pseudo-dipolar coeff. double **g1, **g1_mech; // exchange coeffs gij double **g2, **g3; // g1 in eV, g2 adim, g3 in Ang - // pseudo-quadrupolar coeff. double **q1, **q1_mech; // exchange coeffs qij double **q2, **q3; // q1 in eV, q2 adim, q3 in Ang + double **cut_spin_neel; // cutoff distance exchange void allocate(); }; diff --git a/src/SPIN/pair_spin_soc_neel.cpp b/src/SPIN/pair_spin_soc_neel.cpp deleted file mode 100755 index f40b0127fd..0000000000 --- a/src/SPIN/pair_spin_soc_neel.cpp +++ /dev/null @@ -1,623 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ------------------------------------------------------------------------ - Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) -------------------------------------------------------------------------- */ - -#include -#include -#include - -#include "atom.h" -#include "comm.h" -#include "error.h" -#include "force.h" -#include "pair_hybrid.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "math_const.h" -#include "memory.h" -#include "pair_spin_soc_neel.h" -#include "update.h" - -using namespace LAMMPS_NS; -using namespace MathConst; - -/* ---------------------------------------------------------------------- */ - -PairSpinSocNeel::PairSpinSocNeel(LAMMPS *lmp) : Pair(lmp) -{ - hbar = force->hplanck/MY_2PI; - - single_enable = 0; - soc_neel_flag = 0; - soc_mech_flag = 0; - - no_virial_fdotr_compute = 1; -} - -/* ---------------------------------------------------------------------- */ - -PairSpinSocNeel::~PairSpinSocNeel() -{ - if (allocated) { - memory->destroy(setflag); - - memory->destroy(cut_soc_neel); - - memory->destroy(g1); - memory->destroy(g1_mech); - memory->destroy(g2); - memory->destroy(g3); - - memory->destroy(q1); - memory->destroy(q1_mech); - memory->destroy(q2); - memory->destroy(q3); - - memory->destroy(cutsq); - } -} - -/* ---------------------------------------------------------------------- */ - -void PairSpinSocNeel::compute(int eflag, int vflag) -{ - int i,j,ii,jj,inum,jnum,itype,jtype; - double evdwl,ecoul; - double xi[3], rij[3], eij[3]; - double spi[3], spj[3]; - double fi[3], fmi[3]; - double cut_soc_neel_2, cut_soc_global2; - double rsq, rd, inorm; - int *ilist,*jlist,*numneigh,**firstneigh; - - evdwl = ecoul = 0.0; - if (eflag || vflag) ev_setup(eflag,vflag); - else evflag = vflag_fdotr = 0; - cut_soc_global2 = cut_soc_global*cut_soc_global; - - double **x = atom->x; - double **f = atom->f; - double **fm = atom->fm; - double **sp = atom->sp; - int *type = atom->type; - int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; - - inum = list->inum; - ilist = list->ilist; - numneigh = list->numneigh; - firstneigh = list->firstneigh; - - // pair spin computations - // loop over atoms and their neighbors - - for (ii = 0; ii < inum; ii++) { - i = ilist[ii]; - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - jlist = firstneigh[i]; - jnum = numneigh[i]; - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - // loop on neighbors - - for (jj = 0; jj < jnum; jj++) { - j = jlist[jj]; - j &= NEIGHMASK; - - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; - - evdwl = 0.0; - - fi[0] = fi[1] = fi[2] = 0.0; - fmi[0] = fmi[1] = fmi[2] = 0.0; - rij[0] = rij[1] = rij[2] = 0.0; - - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - inorm = 1.0/sqrt(rsq); - eij[0] = rij[0]*inorm; - eij[1] = rij[1]*inorm; - eij[2] = rij[2]*inorm; - - itype = type[i]; - jtype = type[j]; - - // compute magnetic and mechanical components of soc_neel - - cut_soc_neel_2 = cut_soc_neel[itype][jtype]*cut_soc_neel[itype][jtype]; - if (rsq <= cut_soc_neel_2) { - compute_soc_neel(i,j,rsq,eij,fmi,spi,spj); - compute_soc_mech_neel(i,j,rsq,eij,fi,spi,spj); - } - - f[i][0] += fi[0]; - f[i][1] += fi[1]; - f[i][2] += fi[2]; - fm[i][0] += fmi[0]; - fm[i][1] += fmi[1]; - fm[i][2] += fmi[2]; - - // check newton pair => see if needs correction - if (newton_pair || j < nlocal) { - f[j][0] -= fi[0]; - f[j][1] -= fi[1]; - f[j][2] -= fi[2]; - } - - if (eflag) { - if (rsq <= cut_soc_neel_2) { - evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); - evdwl *= hbar; - } else evdwl = 0.0; - } - - if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, - evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); - } - } - - if (vflag_fdotr) virial_fdotr_compute(); - -} - -/* ---------------------------------------------------------------------- */ - -void PairSpinSocNeel::compute_soc_neel(int i, int j, double rsq, double eij[3], double fmi[3], double spi[3], double spj[3]) -{ - int *type = atom->type; - int itype, jtype; - double gij, q1ij, q2ij, ra; - double pdx, pdy, pdz; - double pq1x, pq1y, pq1z; - double pq2x, pq2y, pq2z; - itype = type[i]; - jtype = type[j]; - - // pseudo-dipolar component - ra = rsq/g3[itype][jtype]/g3[itype][jtype]; - gij = 4.0*g1[itype][jtype]*ra; - gij *= (1.0-g2[itype][jtype]*ra); - gij *= exp(-ra); - - double scalar_eij_si = eij[0]*spi[0] + eij[1]*spi[1] + eij[2]*spi[2]; - double scalar_eij_sj = eij[0]*spj[0] + eij[1]*spj[1] + eij[2]*spj[2]; - double scalar_si_sj = spi[0]*spj[0] + spi[1]*spj[1] + spi[2]*spj[2]; - - double gij_eij_sj = gij*scalar_eij_sj; - double gij_3 = gij/3.0; - pdx = gij_eij_sj*eij[0] - gij_3*spj[0]; - pdy = gij_eij_sj*eij[1] - gij_3*spj[1]; - pdz = gij_eij_sj*eij[2] - gij_3*spj[2]; - - // pseudo-quadrupolar component - ra = rsq/q3[itype][jtype]/q3[itype][jtype]; - q1ij = 4.0*q1[itype][jtype]*ra; - q1ij *= (1.0-q2[itype][jtype]*ra); - q1ij *= exp(-ra); - q2ij = (-2.0*q1ij/9.0); - - double scalar_eij_si_2 = scalar_eij_si*scalar_eij_si; - pq1x = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[0]/3.0; - pq1y = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[1]/3.0; - pq1z = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[2]/3.0; - - double pqt1 = (scalar_eij_sj*scalar_eij_sj-scalar_si_sj/3.0); - pq1x += pqt1*(2.0*scalar_eij_si*eij[0] - spj[0]/3.0); - pq1y += pqt1*(2.0*scalar_eij_si*eij[1] - spj[1]/3.0); - pq1z += pqt1*(2.0*scalar_eij_si*eij[2] - spj[2]/3.0); - - pq1x *= q1ij; - pq1y *= q1ij; - pq1z *= q1ij; - - double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; - pq2x = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[0] + scalar_eij_sj_3*eij[0]; - pq2y = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[1] + scalar_eij_sj_3*eij[1]; - pq2z = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[2] + scalar_eij_sj_3*eij[2]; - - pq2x *= q2ij; - pq2y *= q2ij; - pq2z *= q2ij; - - // summing three contributions - fmi[0] += (pdx + pq1x + pq2x); - fmi[1] += (pdy + pq1y + pq2y); - fmi[2] += (pdz + pq1z + pq2z); - -} - -/* ---------------------------------------------------------------------- */ - -void PairSpinSocNeel::compute_soc_mech_neel(int i, int j, double rsq, double eij[3], double fi[3], double spi[3], double spj[3]) -{ - int *type = atom->type; - int itype, jtype; - double g_mech, gij, dgij; - double q_mech, q1ij, dq1ij; - double q2ij, dq2ij; - double pdx, pdy, pdz; - double pq1x, pq1y, pq1z; - double pq2x, pq2y, pq2z; - double ra, rr, drij, ig3, iq3; - itype = type[i]; - jtype = type[j]; - - drij = sqrt(rsq); - - double scalar_si_sj = spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]; - double scalar_eij_si = eij[0]*spi[0]+eij[1]*spi[1]+eij[2]*spi[2]; - double scalar_eij_sj = eij[0]*spj[0]+eij[1]*spj[1]+eij[2]*spj[2]; - - // pseudo-dipolar component - g_mech = g1_mech[itype][jtype]; - ig3 = 1.0/(g3[itype][jtype]*g3[itype][jtype]); - - ra = rsq*ig3; - rr = drij*ig3; - - gij = 4.0*g_mech*ra; - gij *= (1.0-g2[itype][jtype]*ra); - gij *= exp(-ra); - - dgij = 1.0-ra-g2[itype][jtype]*ra*(2.0-ra); - dgij *= 8.0*g_mech*rr*exp(-ra); - - double pdt1 = (dgij-2.0*gij/drij)*scalar_eij_si*scalar_eij_sj; - pdt1 -= scalar_si_sj*dgij/3.0; - double pdt2 = scalar_eij_sj*gij/drij; - double pdt3 = scalar_eij_si*gij/drij; - pdx = -(pdt1*eij[0] + pdt2*spi[0] + pdt3*spj[0]); - pdy = -(pdt1*eij[1] + pdt2*spi[1] + pdt3*spj[1]); - pdz = -(pdt1*eij[2] + pdt2*spi[2] + pdt3*spj[2]); - - // pseudo-quadrupolar component - q_mech = q1_mech[itype][jtype]; - iq3 = 1.0/(q3[itype][jtype]*q3[itype][jtype]); - - ra = rsq*iq3; - rr = drij*iq3; - - q1ij = 4.0*q_mech*ra; - q1ij *= (1.0-q2[itype][jtype]*ra); - q1ij *= exp(-ra); - q2ij = -2.0*q1ij/9.0; - - dq1ij = 1.0-ra-q2[itype][jtype]*ra*(2.0-ra); - dq1ij *= 8.0*q_mech*rr*exp(-ra); - dq2ij = -2.0*dq1ij/9.0; - - double scalar_eij_si_2 = scalar_eij_si*scalar_eij_si; - double scalar_eij_sj_2 = scalar_eij_sj*scalar_eij_sj; - double pqt1 = scalar_eij_si_2 - scalar_si_sj/3.0; - double pqt2 = scalar_eij_sj_2 - scalar_si_sj/3.0; - pq1x = dq1ij * pqt1 * pqt2 * eij[0]; - pq1y = dq1ij * pqt1 * pqt2 * eij[1]; - pq1z = dq1ij * pqt1 * pqt2 * eij[2]; - - double scalar_eij_si_3 = scalar_eij_si*scalar_eij_si*scalar_eij_si; - double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; - double scalar_si_sj_2 = scalar_si_sj*scalar_si_sj; -/* double pqt3 = 2.0*scalar_eij_si*scalar_eij_sj_3/drij; - double pqt4 = 2.0*scalar_eij_sj*scalar_eij_si_3/drij; - double pqt5 = -2.0*scalar_si_sj*scalar_eij_si/(3.0*drij); - double pqt6 = -2.0*scalar_si_sj*scalar_eij_sj/(3.0*drij); -// pq1x += q1ij*(spi[0]*(pqt3+pqt6) + spj[0]*(pqt4+)); - pq1x += q1ij*(pqt3*spi[0]+pqt4*spj[0]+pqt5*spi[0]+pqt6*spi[0]); - pq1y += q1ij*(pqt3*spi[1]+pqt4*spj[1]+pqt5*spi[1]+pqt6*spj[1]); - pq1z += q1ij*(pqt3*spi[2]+pqt4*spj[2]+pqt5*spi[2]+pqt6*spj[2]); -*/ - double pqt3 = 2.0*scalar_eij_si*(scalar_eij_sj_2-scalar_si_sj/3.0)/drij; - double pqt4 = 2.0*scalar_eij_sj*(scalar_eij_si_2-scalar_si_sj/3.0)/drij; - pq1x += q1ij*(pqt3*spi[0] + pqt4*spj[0]); - pq1y += q1ij*(pqt3*spi[1] + pqt4*spj[1]); - pq1z += q1ij*(pqt3*spi[2] + pqt4*spj[2]); - double pqt7 = 4.0*scalar_eij_si_2*scalar_eij_sj_2/drij; - double pqt8 = 2.0*scalar_si_sj_2*scalar_eij_sj/(3.0*drij); - double pqt9 = 2.0*scalar_si_sj_2*scalar_eij_si/(3.0*drij); - pq1x -= q1ij*(pqt7 + pqt8 + pqt9)*eij[0]; - pq1y -= q1ij*(pqt7 + pqt8 + pqt9)*eij[1]; - pq1z -= q1ij*(pqt7 + pqt8 + pqt9)*eij[2]; - -/* - double pqt3 = 2.0*scalar_eij_si*(scalar_eij_sj_2-scalar_si_sj/3.0)/drij; - double pqt4 = 2.0*scalar_eij_sj*(scalar_eij_si_2-scalar_si_sj/3.0)/drij; - pq1x += q1ij*(pqt3*spi[0] + pqt4*spj[0]); - pq1y += q1ij*(pqt3*spi[1] + pqt4*spj[1]); - pq1z += q1ij*(pqt3*spi[2] + pqt4*spj[2]); -*/ - - //double scalar_eij_si_3 = scalar_eij_si*scalar_eij_si*scalar_eij_si; - //double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; - double pqt10 = scalar_eij_sj*scalar_eij_si_3; - double pqt11 = scalar_eij_si*scalar_eij_sj_3; - pq2x = dq2ij*(pqt10 + pqt11)*eij[0]; - pq2y = dq2ij*(pqt10 + pqt11)*eij[1]; - pq2z = dq2ij*(pqt10 + pqt11)*eij[2]; - - double pqt12 = scalar_eij_si_3/drij; - double pqt13 = scalar_eij_sj_3/drij; - double pqt14 = 3.0*scalar_eij_sj*scalar_eij_si_2/drij; - double pqt15 = 3.0*scalar_eij_si*scalar_eij_sj_2/drij; - pq2x += q2ij*((pqt12+pqt15)*spj[0]+(pqt13+pqt14)*spi[0]); - pq2y += q2ij*((pqt12+pqt15)*spj[1]+(pqt13+pqt14)*spi[1]); - pq2z += q2ij*((pqt12+pqt15)*spj[2]+(pqt13+pqt14)*spi[2]); - double pqt16 = 4.0*scalar_eij_sj*scalar_eij_si_3/drij; - double pqt17 = 4.0*scalar_eij_si*scalar_eij_sj_3/drij; - pq2x -= q2ij*(pqt16 + pqt17)*eij[0]; - pq2y -= q2ij*(pqt16 + pqt17)*eij[1]; - pq2z -= q2ij*(pqt16 + pqt17)*eij[2]; - - fi[0] = pdx + pq1x + pq2x; - fi[2] = pdy + pq1y + pq2y; - fi[3] = pdz + pq1z + pq2z; - -} - -/* ---------------------------------------------------------------------- - allocate all arrays -------------------------------------------------------------------------- */ - -void PairSpinSocNeel::allocate() -{ - allocated = 1; - int n = atom->ntypes; - - memory->create(setflag,n+1,n+1,"pair:setflag"); - for (int i = 1; i <= n; i++) - for (int j = i; j <= n; j++) - setflag[i][j] = 0; - - memory->create(cut_soc_neel,n+1,n+1,"pair/spin/soc/neel:cut_soc_neel"); - - memory->create(g1,n+1,n+1,"pair/spin/soc/neel:g1"); - memory->create(g1_mech,n+1,n+1,"pair/spin/soc/neel:g1_mech"); - memory->create(g2,n+1,n+1,"pair/spin/soc/neel:g2"); - memory->create(g3,n+1,n+1,"pair/spin/soc/neel:g3"); - - memory->create(q1,n+1,n+1,"pair/spin/soc/neel:q1"); - memory->create(q1_mech,n+1,n+1,"pair/spin/soc/neel:q1_mech"); - memory->create(q2,n+1,n+1,"pair/spin/soc/neel:q2"); - memory->create(q3,n+1,n+1,"pair/spin/soc/neel:q3"); - - memory->create(cutsq,n+1,n+1,"pair/spin/soc/neel:cutsq"); - -} - -/* ---------------------------------------------------------------------- - global settings -------------------------------------------------------------------------- */ - -void PairSpinSocNeel::settings(int narg, char **arg) -{ - if (narg < 1 || narg > 2) - error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); - - if (strcmp(update->unit_style,"metal") != 0) - error->all(FLERR,"Spin simulations require metal unit style"); - - cut_soc_global = force->numeric(FLERR,arg[0]); - - // reset cutoffs that have been explicitly set - - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) { - for (j = i+1; j <= atom->ntypes; j++) { - if (setflag[i][j]) { - cut_soc_neel[i][j] = cut_soc_global; - } - } - } - } - -} - -/* ---------------------------------------------------------------------- - set coeffs for one or more type spin pairs (only one for now) -------------------------------------------------------------------------- */ - -void PairSpinSocNeel::coeff(int narg, char **arg) -{ - const double hbar = force->hplanck/MY_2PI; - - if (!allocated) allocate(); - - // set soc_mech_flag to 1 if magneto-mech simulation - //no longer correct: can be hybrid without magneto-mech => needs review/correction - if (strstr(force->pair_style,"pair/spin")) { - soc_mech_flag = 0; - } else if (strstr(force->pair_style,"hybrid/overlay")) { - soc_mech_flag = 1; - } else error->all(FLERR,"Incorrect args in pair_style command"); - - - if (strcmp(arg[2],"neel") == 0){ - if (narg != 10) error->all(FLERR,"Incorrect args in pair_style command"); - soc_neel_flag = 1; - - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double k1 = force->numeric(FLERR,arg[4]); - const double k2 = force->numeric(FLERR,arg[5]); - const double k3 = force->numeric(FLERR,arg[6]); - const double l1 = force->numeric(FLERR,arg[7]); - const double l2 = force->numeric(FLERR,arg[8]); - const double l3 = force->numeric(FLERR,arg[9]); - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_soc_neel[i][j] = rij; - g1[i][j] = k1/hbar; - q1[i][j] = l1/hbar; - if (soc_mech_flag) { - g1_mech[i][j] = k1; - q1_mech[i][j] = l1; - } else { - g1_mech[i][j] = 0.0; - } - g2[i][j] = k2; - g3[i][j] = k3; - q2[i][j] = l2; - q3[i][j] = l3; - setflag[i][j] = 1; - count++; - } - } - if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); - } else error->all(FLERR,"Incorrect args in pair_style command"); - -} - -/* ---------------------------------------------------------------------- - init specific to this pair style -------------------------------------------------------------------------- */ - -void PairSpinSocNeel::init_style() -{ - if (!atom->sp_flag) - error->all(FLERR,"Pair spin requires atom/spin style"); - - neighbor->request(this,instance_me); - - // check this half/full request => to be verified - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; - -} - -/* ---------------------------------------------------------------------- - init for one type pair i,j and corresponding j,i -------------------------------------------------------------------------- */ - -double PairSpinSocNeel::init_one(int i, int j) -{ - - if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - - return cut_soc_global; -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairSpinSocNeel::write_restart(FILE *fp) -{ - write_restart_settings(fp); - - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); - if (setflag[i][j]) { - if (soc_neel_flag){ - fwrite(&g1[i][j],sizeof(double),1,fp); - fwrite(&g1_mech[i][j],sizeof(double),1,fp); - fwrite(&g2[i][j],sizeof(double),1,fp); - fwrite(&g3[i][j],sizeof(double),1,fp); - fwrite(&q1[i][j],sizeof(double),1,fp); - fwrite(&q1_mech[i][j],sizeof(double),1,fp); - fwrite(&q2[i][j],sizeof(double),1,fp); - fwrite(&q3[i][j],sizeof(double),1,fp); - fwrite(&cut_soc_neel[i][j],sizeof(double),1,fp); - } - } - } -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairSpinSocNeel::read_restart(FILE *fp) -{ - read_restart_settings(fp); - - allocate(); - - int i,j; - int me = comm->me; - for (i = 1; i <= atom->ntypes; i++) { - for (j = i; j <= atom->ntypes; j++) { - if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); - if (setflag[i][j]) { - if (me == 0) { - fread(&g1[i][j],sizeof(double),1,fp); - fread(&g1_mech[i][j],sizeof(double),1,fp); - fread(&g2[i][j],sizeof(double),1,fp); - fread(&g2[i][j],sizeof(double),1,fp); - fread(&q1[i][j],sizeof(double),1,fp); - fread(&q1_mech[i][j],sizeof(double),1,fp); - fread(&q2[i][j],sizeof(double),1,fp); - fread(&q2[i][j],sizeof(double),1,fp); - fread(&cut_soc_neel[i][j],sizeof(double),1,fp); - } - MPI_Bcast(&g1[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&g1_mech[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&g2[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&g3[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&q1[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&q1_mech[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&q2[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&q3[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut_soc_neel[i][j],1,MPI_DOUBLE,0,world); - } - } - } -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairSpinSocNeel::write_restart_settings(FILE *fp) -{ - fwrite(&cut_soc_global,sizeof(double),1,fp); - fwrite(&offset_flag,sizeof(int),1,fp); - fwrite(&mix_flag,sizeof(int),1,fp); -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairSpinSocNeel::read_restart_settings(FILE *fp) -{ - if (comm->me == 0) { - fread(&cut_soc_global,sizeof(double),1,fp); - fread(&offset_flag,sizeof(int),1,fp); - fread(&mix_flag,sizeof(int),1,fp); - } - MPI_Bcast(&cut_soc_global,1,MPI_DOUBLE,0,world); - MPI_Bcast(&offset_flag,1,MPI_INT,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); -} diff --git a/src/pair_hybrid.h b/src/pair_hybrid.h index 17b6879957..c01f57026b 100644 --- a/src/pair_hybrid.h +++ b/src/pair_hybrid.h @@ -31,7 +31,7 @@ class PairHybrid : public Pair { friend class FixOMP; friend class Force; friend class Respa; - friend class FixNVESpin; + friend class PairSpin; friend class Info; public: PairHybrid(class LAMMPS *); -- GitLab From 1b8669c6207a6965e842ded89016a20147a44ea1 Mon Sep 17 00:00:00 2001 From: julient31 Date: Fri, 20 Apr 2018 11:35:32 -0600 Subject: [PATCH 089/675] Commit JT 042018, new spin/precession and pair/spin (peru virtual) --- ...tion.jpg => pair_spin_dmi_interaction.jpg} | Bin ...tion.tex => pair_spin_dmi_interaction.tex} | 0 doc/src/fix_precession_spin.txt | 22 +- doc/src/pair_spin_dmi.txt | 8 +- doc/src/pair_spin_exchange.txt | 8 +- doc/src/pair_spin_me.txt | 10 +- doc/src/pair_spin_neel.txt | 8 +- examples/SPIN/bfo/in.spin.bfo | 8 +- examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc | 21 +- examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp | 8 +- examples/SPIN/iron/in.spin.iron | 4 +- examples/SPIN/nickel/in.spin.nickel | 4 +- src/SPIN/fix_nve_spin.cpp | 120 ++-- src/SPIN/fix_nve_spin.h | 14 +- src/SPIN/fix_precession_spin.cpp | 64 ++- src/SPIN/fix_precession_spin.h | 7 +- src/SPIN/pair_spin.cpp | 526 +----------------- src/SPIN/pair_spin.h | 54 +- src/SPIN/pair_spin_dmi.cpp | 148 +++-- src/SPIN/pair_spin_dmi.h | 5 +- src/SPIN/pair_spin_exchange.cpp | 116 +++- src/SPIN/pair_spin_exchange.h | 13 +- src/SPIN/pair_spin_me.cpp | 105 +++- src/SPIN/pair_spin_me.h | 5 +- src/SPIN/pair_spin_neel.cpp | 103 +++- src/SPIN/pair_spin_neel.h | 5 +- src/pair_hybrid.h | 1 - 27 files changed, 578 insertions(+), 809 deletions(-) rename doc/src/Eqs/{pair_spin_soc_dmi_interaction.jpg => pair_spin_dmi_interaction.jpg} (100%) rename doc/src/Eqs/{pair_spin_soc_dmi_interaction.tex => pair_spin_dmi_interaction.tex} (100%) diff --git a/doc/src/Eqs/pair_spin_soc_dmi_interaction.jpg b/doc/src/Eqs/pair_spin_dmi_interaction.jpg similarity index 100% rename from doc/src/Eqs/pair_spin_soc_dmi_interaction.jpg rename to doc/src/Eqs/pair_spin_dmi_interaction.jpg diff --git a/doc/src/Eqs/pair_spin_soc_dmi_interaction.tex b/doc/src/Eqs/pair_spin_dmi_interaction.tex similarity index 100% rename from doc/src/Eqs/pair_spin_soc_dmi_interaction.tex rename to doc/src/Eqs/pair_spin_dmi_interaction.tex diff --git a/doc/src/fix_precession_spin.txt b/doc/src/fix_precession_spin.txt index 9ef7a7230c..4133d7dd57 100644 --- a/doc/src/fix_precession_spin.txt +++ b/doc/src/fix_precession_spin.txt @@ -14,11 +14,11 @@ fix ID group precession/spin style args :pre ID, group are documented in "fix"_fix.html command :ulb,l precession/spin = style name of this fix command :l -style = {zeeman} or {aniso} :l +style = {zeeman} or {anisotropy} :l {zeeman} args = H x y z H = intensity of the magnetic field (in Tesla) x y z = vector direction of the field - {aniso} args = K x y z + {anisotropy} args = K x y z K = intensity of the magnetic anisotropy (in eV) x y z = vector direction of the anisotropy :pre :ule @@ -26,7 +26,8 @@ style = {zeeman} or {aniso} :l [Examples:] fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 -fix 1 all precession/spin aniso 0.001 0.0 0.0 1.0 :pre +fix 1 all precession/spin anisotropy 0.001 0.0 0.0 1.0 +fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 anisotropy 0.001 0.0 0.0 1.0 :pre [Description:] @@ -41,7 +42,7 @@ magnetic field: with mu0 the vacuum permeability, muB the Bohr magneton (muB = 5.788 eV/T in metal units). -Style {aniso} is used to simulate an easy axis or an easy plane +Style {anisotropy} is used to simulate an easy axis or an easy plane for the magnetic spins in the defined group: :c,image(Eqs/force_spin_aniso.jpg) @@ -52,10 +53,23 @@ If K>0, an easy axis is defined, and if K<0, an easy plane is defined. In both cases, the choice of (x y z) imposes the vector direction for the force. Only the direction of the vector is important; it's length is ignored. +Both styles can be combined within one single command line. + :line [Restart, fix_modify, output, run start/stop, minimize info:] +By default, the energy associated to this fix is not added to the potential +energy of the system. +The "fix_modify"_fix_modify.html {energy} option is supported by this fix +to add this magnetic potential energy to the potential energy of the system, + +fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 +fix_modify 1 energy yes :pre + +This fix computes a global scalar which can be accessed by various +"output commands"_Section_howto.html#howto_15. + No information about this fix is written to "binary restart files"_restart.html. diff --git a/doc/src/pair_spin_dmi.txt b/doc/src/pair_spin_dmi.txt index e2987ce1df..9ad74d567e 100644 --- a/doc/src/pair_spin_dmi.txt +++ b/doc/src/pair_spin_dmi.txt @@ -6,11 +6,11 @@ :line -pair_style pair/spin/dmi command :h3 +pair_style spin/dmi command :h3 [Syntax:] -pair_style pair/spin/dmi cutoff :pre +pair_style spin/dmi cutoff :pre cutoff = global cutoff pair (distance in metal units) :ulb,l @@ -18,13 +18,13 @@ cutoff = global cutoff pair (distance in metal units) :ulb,l [Examples:] -pair_style pair/spin/dmi 4.0 +pair_style spin/dmi 4.0 pair_coeff * * dmi 2.6 0.001 1.0 0.0 0.0 pair_coeff 1 2 dmi 4.0 0.00109 0.0 0.0 1.0 :pre [Description:] -Style {pair/spin/dmi} computes the Dzyaloshinskii-Moriya (DM) interaction +Style {spin/dmi} computes the Dzyaloshinskii-Moriya (DM) interaction between pairs of magnetic spins: :c,image(Eqs/pair_spin_dmi_interaction.jpg) diff --git a/doc/src/pair_spin_exchange.txt b/doc/src/pair_spin_exchange.txt index e6938afd40..90a75705c7 100644 --- a/doc/src/pair_spin_exchange.txt +++ b/doc/src/pair_spin_exchange.txt @@ -6,11 +6,11 @@ :line -pair_style pair/spin/exchange command :h3 +pair_style spin/exchange command :h3 [Syntax:] -pair_style pair/spin/exchange cutoff :pre +pair_style spin/exchange cutoff :pre cutoff = global cutoff pair (distance in metal units) :ulb,l @@ -18,13 +18,13 @@ cutoff = global cutoff pair (distance in metal units) :ulb,l [Examples:] -pair_style pair/spin/exchange 4.0 +pair_style spin/exchange 4.0 pair_coeff * * exchange 4.0 0.0446928 0.003496 1.4885 pair_coeff 1 2 exchange 6.0 -0.01575 0.0 1.965 :pre [Description:] -Style {pair/spin/exchange} computes the exchange interaction between +Style {spin/exchange} computes the exchange interaction between pairs of magnetic spins: :c,image(Eqs/pair_spin_exchange_interaction.jpg) diff --git a/doc/src/pair_spin_me.txt b/doc/src/pair_spin_me.txt index bc4b6b840b..54c6d43300 100644 --- a/doc/src/pair_spin_me.txt +++ b/doc/src/pair_spin_me.txt @@ -6,11 +6,11 @@ :line -pair_style pair/spin/me command :h3 +pair_style spin/me command :h3 [Syntax:] -pair_style pair/spin/me cutoff :pre +pair_style spin/me cutoff :pre cutoff = global cutoff pair (distance in metal units) :ulb,l @@ -18,12 +18,12 @@ cutoff = global cutoff pair (distance in metal units) :ulb,l [Examples:] -pair_style pair/spin/me 4.5 -pair_coeff * * pair/spin/me me 4.5 0.00109 1.0 1.0 1.0 :pre +pair_style spin/me 4.5 +pair_coeff * * me 4.5 0.00109 1.0 1.0 1.0 :pre [Description:] -Style {pair/spin/me} computes a magneto-electric interaction between +Style {spin/me} computes a magneto-electric interaction between pairs of magnetic spins. According to the derivation reported in "(Katsura)"_#Katsura1, this interaction is defined as: diff --git a/doc/src/pair_spin_neel.txt b/doc/src/pair_spin_neel.txt index 84893fecb1..5c82b6ef6f 100644 --- a/doc/src/pair_spin_neel.txt +++ b/doc/src/pair_spin_neel.txt @@ -6,11 +6,11 @@ :line -pair_style pair/spin/neel command :h3 +pair_style spin/neel command :h3 [Syntax:] -pair_style pair/spin/neel cutoff :pre +pair_style spin/neel cutoff :pre cutoff = global cutoff pair (distance in metal units) :ulb,l @@ -18,13 +18,13 @@ cutoff = global cutoff pair (distance in metal units) :ulb,l [Examples:] -pair_style pair/spin/neel 4.0 +pair_style spin/neel 4.0 pair_coeff * * neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 pair_coeff 1 2 neel 4.0 0.0048 0.234 1.168 0.0 0.0 1.0 :pre [Description:] -Style {pair/spin/neel} computes the Neel pair anisotropy model +Style {spin/neel} computes the Neel pair anisotropy model between pairs of magnetic spins: :c,image(Eqs/pair_spin_dmi_interaction.jpg) diff --git a/examples/SPIN/bfo/in.spin.bfo b/examples/SPIN/bfo/in.spin.bfo index dfeb48eb08..55cc53446d 100644 --- a/examples/SPIN/bfo/in.spin.bfo +++ b/examples/SPIN/bfo/in.spin.bfo @@ -21,16 +21,16 @@ mass 1 1.0 set group all spin/random 11 2.50 -pair_style hybrid/overlay pair/spin/exchange 6.0 pair/spin/me 4.5 -pair_coeff * * pair/spin/exchange exchange 6.0 -0.01575 0.0 1.965 -pair_coeff * * pair/spin/me me 4.5 0.000109 1.0 1.0 1.0 +pair_style hybrid/overlay spin/exchange 6.0 spin/me 4.5 +pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965 +pair_coeff * * spin/me me 4.5 0.000109 1.0 1.0 1.0 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0 fix 2 all langevin/spin 0.0 0.1 21 -fix 3 all nve/spin lattice yes +fix 3 all nve/spin lattice no timestep 0.0002 diff --git a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc index 45d9d983bd..c1d7e4f903 100644 --- a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc +++ b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc @@ -19,17 +19,20 @@ create_atoms 1 box mass 1 58.93 -set group all spin/random 31 1.72 +#set group all spin/random 31 1.72 +set group all spin 1.72 0.0 0.0 1.0 velocity all create 100 4928459 rot yes dist gaussian -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 pair_coeff * * eam/alloy ../examples/SPIN/cobalt_fcc/Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 -fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 +fix_modify 1 energy yes + fix 2 all langevin/spin 0.0 0.0 21 fix 3 all nve/spin lattice yes @@ -42,16 +45,20 @@ compute out_pe all pe compute out_ke all ke compute out_temp all temp +thermo_style custom f_1 + +variable magx equal c_out_mag[1] +variable magy equal c_out_mag[2] variable magz equal c_out_mag[3] variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo_style custom step time v_magnorm v_emag temp etotal -thermo 10 +thermo_style custom step time f_1 v_magx v_magy v_magnorm v_emag temp etotal +thermo 50 compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] -run 100 +run 1000 diff --git a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp index 24d19a2252..127e24bf2b 100644 --- a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp +++ b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp @@ -22,11 +22,11 @@ mass 1 58.93 set group all spin/random 31 1.72 velocity all create 100 4928459 rot yes dist gaussian -#pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/neel 4.0 -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +#pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0 +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 pair_coeff * * eam/alloy ../examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * pair/spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 -#pair_coeff * * pair/spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 +pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 +#pair_coeff * * spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 diff --git a/examples/SPIN/iron/in.spin.iron b/examples/SPIN/iron/in.spin.iron index 83301309e0..0f40a5af21 100644 --- a/examples/SPIN/iron/in.spin.iron +++ b/examples/SPIN/iron/in.spin.iron @@ -22,9 +22,9 @@ mass 1 55.845 set group all spin/random 31 2.2 velocity all create 100 4928459 rot yes dist gaussian -pair_style hybrid/overlay eam/alloy pair/spin/exchange 3.5 +pair_style hybrid/overlay eam/alloy spin/exchange 3.5 pair_coeff * * eam/alloy ../examples/SPIN/iron/Fe_Mishin2006.eam.alloy Fe -pair_coeff * * pair/spin/exchange exchange 3.4 0.02726 0.2171 1.841 +pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 diff --git a/examples/SPIN/nickel/in.spin.nickel b/examples/SPIN/nickel/in.spin.nickel index 0b1faa5319..2fa16b8a1b 100644 --- a/examples/SPIN/nickel/in.spin.nickel +++ b/examples/SPIN/nickel/in.spin.nickel @@ -23,9 +23,9 @@ set group all spin/random 31 0.63 #set group all spin 0.63 0.0 0.0 1.0 velocity all create 100 4928459 rot yes dist gaussian -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 pair_coeff * * eam/alloy ../examples/SPIN/nickel/Ni99.eam.alloy Ni -pair_coeff * * pair/spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 +pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index c4dca269ad..2d3f73cd77 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -58,17 +58,18 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), rsec(NULL), stack_head(NULL), stack_foot(NULL), backward_stacks(NULL), forward_stacks(NULL), - lockpairspin(NULL) + pair(NULL), spin_pairs(NULL) { if (narg < 4) error->all(FLERR,"Illegal fix/NVE/spin command"); time_integrate = 1; - sector_flag = NONE; lattice_flag = 1; - nlocal_max = 0; + npairs = 0; + npairspin = 0; + // checking if map array or hash is defined @@ -109,9 +110,8 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : // initialize the magnetic interaction flags - magpair_flag = 0; - magprecession_flag = 0; - zeeman_flag = aniso_flag = 0; + pair_spin_flag = 0; + precession_spin_flag = 0; maglangevin_flag = 0; tdamp_flag = temp_flag = 0; @@ -126,7 +126,7 @@ FixNVESpin::~FixNVESpin() memory->destroy(stack_foot); memory->destroy(forward_stacks); memory->destroy(backward_stacks); - delete lockpairspin; + delete [] spin_pairs; } /* ---------------------------------------------------------------------- */ @@ -151,28 +151,60 @@ void FixNVESpin::init() dtf = 0.5 * update->dt * force->ftm2v; dts = 0.25 * update->dt; - // ptrs on PairSpin classes + // set ptrs on Pair/Spin styles + + // loop 1: obtain # of Pairs, and # of Pair/Spin styles + + if (force->pair_match("spin",0,0)) { // only one Pair/Spin style + pair = force->pair_match("spin",0,0); + npairs = pair->instance_total; + npairspin = 1; + } else if (force->pair_match("spin",0,1)) { // more than one Pair/Spin style + pair = force->pair_match("spin",0,1); + npairs = pair->instance_total; + for (int i = 0; ipair_match("spin",0,i)) { + npairspin ++; + } + } + } + + // init length of vector of ptrs to Pair/Spin styles - lockpairspin = new PairSpin(lmp); - magpair_flag = lockpairspin->init_pair(); - if (magpair_flag != 0 && magpair_flag != 1) - error->all(FLERR,"Incorrect value of magpair_flag"); + if (npairspin > 0) { + spin_pairs = new PairSpin*[npairspin]; + } + + // loop 2: fill vector with ptrs to Pair/Spin styles + + int count = 0; + if (npairspin == 1) { + count = 1; + spin_pairs[0] = (PairSpin *) force->pair_match("spin",0,0); + } else if (npairspin > 1) { + for (int i = 0; ipair_match("spin",0,i)) { + spin_pairs[count] = (PairSpin *) force->pair_match("spin",0,i); + count++; + } + } + } + + if (count != npairspin) + error->all(FLERR,"Incorrect number of spin pairs"); + + if (npairspin >= 1) pair_spin_flag = 1; // ptrs FixPrecessionSpin classes int iforce; for (iforce = 0; iforce < modify->nfix; iforce++) { if (strstr(modify->fix[iforce]->style,"precession/spin")) { - magprecession_flag = 1; + precession_spin_flag = 1; lockprecessionspin = (FixPrecessionSpin *) modify->fix[iforce]; } } - if (magprecession_flag) { - if (lockprecessionspin->zeeman_flag == 1) zeeman_flag = 1; - if (lockprecessionspin->aniso_flag == 1) aniso_flag = 1; - } - // ptrs on the FixLangevinSpin class for (iforce = 0; iforce < modify->nfix; iforce++) { @@ -307,13 +339,13 @@ void FixNVESpin::initial_integrate(int vflag) i = backward_stacks[i]; } } - } else if (sector_flag == 0) { // serial seq. update + } else if (sector_flag == 0) { // serial seq. update comm->forward_comm(); // comm. positions of ghost atoms - for (int i = 0; i < nlocal; i++){ // advance quarter s for nlocal-1 + for (int i = 0; i < nlocal; i++){ // advance quarter s for nlocal-1 ComputeInteractionsSpin(i); AdvanceSingleSpin(i); } - for (int i = nlocal-2; i >= 0; i--){ // advance quarter s for nlocal-1 + for (int i = nlocal-1; i >= 0; i--){ // advance quarter s for nlocal-1 ComputeInteractionsSpin(i); AdvanceSingleSpin(i); } @@ -381,9 +413,10 @@ void FixNVESpin::ComputeInteractionsSpin(int i) double **sp = atom->sp; double **fm = atom->fm; - + int eflag = 1; int vflag = 0; + int pair_compute_flag = 1; // force computation for spin i @@ -394,20 +427,21 @@ void FixNVESpin::ComputeInteractionsSpin(int i) fmi[0] = fmi[1] = fmi[2] = 0.0; - // evaluate magnetic pair interactions - - if (magpair_flag) lockpairspin->compute_pair_single_spin(i,fmi); + // update magnetic pair interactions - // evaluate magnetic precession interactions - - if (magprecession_flag) { // magnetic precession - if (zeeman_flag) { // zeeman - lockprecessionspin->compute_zeeman(i,fmi); - } - if (aniso_flag) { // aniso - lockprecessionspin->compute_anisotropy(i,spi,fmi); + if (pair_spin_flag) { + for (int k = 0; k < npairspin; k++) { + spin_pairs[k]->compute_single_pair(i,fmi); } } + + // update magnetic precession interactions + + if (precession_spin_flag) { + lockprecessionspin->compute_single_precession(i,spi,fmi); + } + + // update langevin damping and random force if (maglangevin_flag) { // mag. langevin if (tdamp_flag) { // transverse damping @@ -418,7 +452,7 @@ void FixNVESpin::ComputeInteractionsSpin(int i) } } - // replace the magnetic force fm[i] by its new value + // replace the magnetic force fm[i] by its new value fmi fm[i][0] = fmi[0]; fm[i][1] = fmi[1]; @@ -445,10 +479,18 @@ void FixNVESpin::sectoring() const double rsy = subhi[1] - sublo[1]; const double rsz = subhi[2] - sublo[2]; - // temp - //const double rv = 2.0; - //const double rv = lockpairspinexchange->cut_spin_exchange_global; - const double rv = lockpairspin->larger_cutoff; + // extract larger cutoff from PairSpin styles + + double rv, cutoff; + rv = cutoff = 0.0; + int dim = 0; + for (int i = 0; i < npairspin ; i++) { + cutoff = *((double *) spin_pairs[i]->extract("cut",dim)); + rv = MAX(rv,cutoff); + } + + if (rv == 0.0) + error->all(FLERR,"Illegal sectoring operation"); double rax = rsx/rv; double ray = rsy/rv; @@ -509,7 +551,7 @@ void FixNVESpin::AdvanceSingleSpin(int i) double **sp = atom->sp; double **fm = atom->fm; double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy,dts2; - double cp[3],g[3]; + double cp[3],g[3]; cp[0] = cp[1] = cp[2] = 0.0; g[0] = g[1] = g[2] = 0.0; diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index 89824a9bd1..686c391299 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -67,18 +67,22 @@ friend class PairSpin; int nlocal_max; // max value of nlocal (for lists size) - int magpair_flag; // magnetic pair flags - int magprecession_flag; // magnetic precession flags - int zeeman_flag, aniso_flag; + int pair_spin_flag; // magnetic pair flags + int precession_spin_flag; // magnetic precession flags int maglangevin_flag; // magnetic langevin flags int tdamp_flag, temp_flag; - // pointers to magnetic interaction classes + // pointers to magnetic fixes - class PairSpin *lockpairspin; class FixPrecessionSpin *lockprecessionspin; class FixLangevinSpin *locklangevinspin; + // pointers to magnetic pair styles + + int npairs, npairspin; // # of pairs, and # of spin pairs + class Pair *pair; + class PairSpin **spin_pairs; // vector of spin pairs + // sectoring variables int nsectors; diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index c5fde83fe6..67984a6009 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -43,14 +43,12 @@ using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; -enum{ZEEMAN,ANISOTROPY}; enum{CONSTANT,EQUAL}; /* ---------------------------------------------------------------------- */ FixPrecessionSpin::FixPrecessionSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { - if (narg < 7) error->all(FLERR,"Illegal precession/spin command"); // magnetic interactions coded for cartesian coordinates @@ -75,26 +73,28 @@ FixPrecessionSpin::FixPrecessionSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lm Kax = Kay = Kaz = 0.0; zeeman_flag = aniso_flag = 0; - - if (strcmp(arg[3],"zeeman") == 0) { - if (narg != 8) error->all(FLERR,"Illegal precession/spin command"); - style = ZEEMAN; - zeeman_flag = 1; - H_field = force->numeric(FLERR,arg[4]); - nhx = force->numeric(FLERR,arg[5]); - nhy = force->numeric(FLERR,arg[6]); - nhz = force->numeric(FLERR,arg[7]); - magfieldstyle = CONSTANT; - } else if (strcmp(arg[3],"anisotropy") == 0) { - if (narg != 8) error->all(FLERR,"Illegal precession/spin command"); - style = ANISOTROPY; - aniso_flag = 1; - Ka = force->numeric(FLERR,arg[4]); - nax = force->numeric(FLERR,arg[5]); - nay = force->numeric(FLERR,arg[6]); - naz = force->numeric(FLERR,arg[7]); - } else error->all(FLERR,"Illegal precession/spin command"); - + + int iarg = 3; + while (iarg < narg) { + if (strcmp(arg[iarg],"zeeman") == 0) { + if (iarg+4 > narg) error->all(FLERR,"Illegal fix precession/spin command"); + zeeman_flag = 1; + H_field = force->numeric(FLERR,arg[iarg+1]); + nhx = force->numeric(FLERR,arg[iarg+2]); + nhy = force->numeric(FLERR,arg[iarg+3]); + nhz = force->numeric(FLERR,arg[iarg+4]); + iarg += 5; + } else if (strcmp(arg[iarg],"anisotropy") == 0) { + if (iarg+4 > narg) error->all(FLERR,"Illegal fix precession/spin command"); + aniso_flag = 1; + Ka = force->numeric(FLERR,arg[iarg+1]); + nax = force->numeric(FLERR,arg[iarg+2]); + nay = force->numeric(FLERR,arg[iarg+3]); + naz = force->numeric(FLERR,arg[iarg+4]); + iarg += 5; + } else error->all(FLERR,"Illegal precession/spin command"); + } + degree2rad = MY_PI/180.0; time_origin = update->ntimestep; @@ -171,7 +171,7 @@ void FixPrecessionSpin::setup(int vflag) void FixPrecessionSpin::post_force(int vflag) { - // update gravity due to variables + // update mag field with time (potential improvement) if (varflag != CONSTANT) { modify->clearstep_compute(); @@ -209,7 +209,19 @@ void FixPrecessionSpin::post_force(int vflag) fm[i][0] += fmi[0]; fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; - } + } +} + +/* ---------------------------------------------------------------------- */ + +void FixPrecessionSpin::compute_single_precession(int i, double spi[3], double fmi[3]) +{ + if (zeeman_flag) { + compute_zeeman(i,fmi); + } + if (aniso_flag) { + compute_anisotropy(i,spi,fmi); + } } @@ -244,12 +256,12 @@ void FixPrecessionSpin::post_force_respa(int vflag, int ilevel, int iloop) void FixPrecessionSpin::set_magneticprecession() { - if (style == ZEEMAN) { + if (zeeman_flag) { hx = H_field*nhx; hy = H_field*nhy; hz = H_field*nhz; } - if (style == ANISOTROPY) { + if (aniso_flag) { Kax = 2.0*Ka*nax; Kay = 2.0*Ka*nay; Kaz = 2.0*Ka*naz; diff --git a/src/SPIN/fix_precession_spin.h b/src/SPIN/fix_precession_spin.h index 71155ddd2b..5e1047ff67 100644 --- a/src/SPIN/fix_precession_spin.h +++ b/src/SPIN/fix_precession_spin.h @@ -47,9 +47,10 @@ class FixPrecessionSpin : public Fix { virtual void post_force_respa(int, int, int); double compute_scalar(); - int zeeman_flag, aniso_flag; - void compute_zeeman(int, double [3]); - void compute_anisotropy(int, double [3], double [3]); + int zeeman_flag, aniso_flag; + void compute_single_precession(int, double *, double *); + void compute_zeeman(int, double *); + void compute_anisotropy(int, double *, double *); protected: int style; // style of the magnetic precession diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index a40f2a86b7..d0df3868df 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -52,47 +52,16 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairSpin::PairSpin(LAMMPS *lmp) : Pair(lmp), -lockfixnvespin(NULL), pair_keyword(NULL), pair_spin_keywords(NULL), -exchange_spin_styles(NULL), dmi_spin_styles(NULL), -neel_spin_styles(NULL), me_spin_styles(NULL) +PairSpin::PairSpin(LAMMPS *lmp) : Pair(lmp) { hbar = force->hplanck/MY_2PI; single_enable = 0; no_virial_fdotr_compute = 1; - lattice_flag = 0; - - // init # of Pair/Spin styles - - nspinstyle = 0; // # of PairSpin styles - nexchangespinstyle = 0; // # of PairSpinExchange styles - ndmispinstyle = 0; // # of PairSpinDmi styles - nneelspinstyle = 0; // # of PairSpinNeel styles - nmespinstyle = 0; // # of PairSpinMe styles - - // init larger Pair/Spin style cutoff - - larger_cutoff = 0.0; } /* ---------------------------------------------------------------------- */ -PairSpin::~PairSpin() -{ - - if (nspinstyle) { - for (int m = 0; m < nspinstyle; m++) { - delete [] pair_spin_keywords[m]; - } - } - delete [] pair_keyword; - delete [] exchange_spin_styles; - delete [] dmi_spin_styles; - delete [] neel_spin_styles; - delete [] me_spin_styles; - delete [] pair_spin_keywords; - -} +PairSpin::~PairSpin() {} /* ---------------------------------------------------------------------- global settings @@ -110,488 +79,6 @@ void PairSpin::settings(int narg, char **arg) } -/* ---------------------------------------------------------------------- - global compute, defined in Pair/Spin subclasses -------------------------------------------------------------------------- */ - -void PairSpin::compute(int eflag, int vflag) {} - -/* ---------------------------------------------------------------------- - compute all Pair/Spin interactions for atom ii -------------------------------------------------------------------------- */ - -void PairSpin::compute_pair_single_spin(int ii, double fmi[3]) -{ - const int nlocal = atom->nlocal; - int *type = atom->type; - double **x = atom->x; - double **sp = atom->sp; - - double xi[3], rij[3], eij[3]; - double spi[3], spj[3]; - - int iexchange, idmi, ineel, ime; - int i,j,jj,inum,jnum,itype,jtype; - int *ilist,*jlist,*numneigh,**firstneigh; - - double rsq, rd, inorm; - - iexchange = idmi = ineel = ime = 0; - - for (int ipair=0; ipair < nspinstyle; ipair++) { - - if (strstr(pair_spin_keywords[ipair],"pair/spin/exchange")) { - inum = exchange_spin_styles[iexchange]->list->inum; - ilist = exchange_spin_styles[iexchange]->list->ilist; - numneigh = exchange_spin_styles[iexchange]->list->numneigh; - firstneigh = exchange_spin_styles[iexchange]->list->firstneigh; - - i = ilist[ii]; - - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for (int jj = 0; jj < jnum; jj++) { - - j = jlist[jj]; - j &= NEIGHMASK; - itype = type[ii]; - jtype = type[j]; - - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; - - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - inorm = 1.0/sqrt(rsq); - - exchange_spin_styles[iexchange]->compute_exchange(i,j,rsq,fmi,spi,spj); - } - iexchange++; - } - - if (strstr(pair_spin_keywords[ipair],"pair/spin/dmi")) { - inum = dmi_spin_styles[idmi]->list->inum; - ilist = dmi_spin_styles[idmi]->list->ilist; - numneigh = dmi_spin_styles[idmi]->list->numneigh; - firstneigh = dmi_spin_styles[idmi]->list->firstneigh; - - i = ilist[ii]; - - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for (int jj = 0; jj < jnum; jj++) { - - j = jlist[jj]; - j &= NEIGHMASK; - itype = type[ii]; - jtype = type[j]; - - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; - - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - inorm = 1.0/sqrt(rsq); - - dmi_spin_styles[idmi]->compute_dmi(i,j,rsq,fmi,spi,spj); - } - idmi++; - } - - if (strstr(pair_spin_keywords[ipair],"pair/spin/neel")) { - inum = neel_spin_styles[ineel]->list->inum; - ilist = neel_spin_styles[ineel]->list->ilist; - numneigh = neel_spin_styles[ineel]->list->numneigh; - firstneigh = neel_spin_styles[ineel]->list->firstneigh; - - i = ilist[ii]; - - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for (int jj = 0; jj < jnum; jj++) { - - j = jlist[jj]; - j &= NEIGHMASK; - itype = type[ii]; - jtype = type[j]; - - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; - - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - inorm = 1.0/sqrt(rsq); - eij[0] = rij[0]*inorm; - eij[1] = rij[1]*inorm; - eij[2] = rij[2]*inorm; - - neel_spin_styles[ineel]->compute_neel(i,j,rsq,eij,fmi,spi,spj); - } - ineel++; - } - - if (strstr(pair_spin_keywords[ipair],"pair/spin/me")) { - inum = me_spin_styles[ime]->list->inum; - ilist = me_spin_styles[ime]->list->ilist; - numneigh = me_spin_styles[ime]->list->numneigh; - firstneigh = me_spin_styles[ime]->list->firstneigh; - - i = ilist[ii]; - - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - - xi[0] = x[i][0]; - xi[1] = x[i][1]; - xi[2] = x[i][2]; - - jlist = firstneigh[i]; - jnum = numneigh[i]; - - for (int jj = 0; jj < jnum; jj++) { - - j = jlist[jj]; - j &= NEIGHMASK; - itype = type[ii]; - jtype = type[j]; - - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; - - rij[0] = x[j][0] - xi[0]; - rij[1] = x[j][1] - xi[1]; - rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - inorm = 1.0/sqrt(rsq); - eij[0] = rij[0]*inorm; - eij[1] = rij[1]*inorm; - eij[2] = rij[2]*inorm; - - me_spin_styles[ime]->compute_me(i,j,rsq,eij,fmi,spi,spj); - } - ime++; - } - - } - -} - -/* ---------------------------------------------------------------------- - called from Fix/NVE/Spin - initialize the # and the lists of Pair/Spin styles -------------------------------------------------------------------------- */ - -int PairSpin::init_pair() -{ - int nsub = 0; - - // getting the pair style - - pair_keyword = new char[strlen(force->pair_style) + 1]; - strcpy(pair_keyword,force->pair_style); - - - // searching for number of PairSpin styles - - int temp_npair = 0; - nspinstyle = 0; - pair = pair_spin_match("spin",0,nsub); - - // init lists of PairSpin styles - - exchange_spin_styles = new PairSpinExchange*[nspinstyle]; - dmi_spin_styles = new PairSpinDmi*[nspinstyle]; - neel_spin_styles = new PairSpinNeel*[nspinstyle]; - me_spin_styles = new PairSpinMe*[nspinstyle]; - - // init lists of PairSpin names - - pair_spin_keywords = new char*[nspinstyle]; - - nexchangespinstyle = 0; - ndmispinstyle = 0; - nneelspinstyle = 0; - nmespinstyle = 0; - - // loop to define lists of Pair/Spin styles - - int ispin = 0; - if (strstr(pair_keyword,"spin")) { - - // Pair/Spin/Exchange style - - if (strstr(pair_keyword,"pair/spin/exchange")) { - int n = strlen(pair_keyword) + 1; - pair_spin_keywords[ispin] = new char[n]; - strcpy(pair_spin_keywords[ispin],pair_keyword); - exchange_spin_styles[nexchangespinstyle] = (PairSpinExchange *) force->pair; - nexchangespinstyle++; - ispin++; - } - - // Pair/Spin/Dmi style - - if (strstr(pair_keyword,"pair/spin/dmi")) { - int n = strlen(pair_keyword) + 1; - pair_spin_keywords[ispin] = new char[n]; - strcpy(pair_spin_keywords[ispin],pair_keyword); - dmi_spin_styles[ndmispinstyle] = (PairSpinDmi *) force->pair; - ndmispinstyle++; - ispin++; - } - - // Pair/Spin/Neel style - - if (strstr(pair_keyword,"pair/spin/neel")) { - int n = strlen(pair_keyword) + 1; - pair_spin_keywords[ispin] = new char[n]; - strcpy(pair_spin_keywords[ispin],pair_keyword); - neel_spin_styles[nneelspinstyle] = (PairSpinNeel *) force->pair; - nneelspinstyle++; - ispin++; - } - - // list Pair/Spin/Me styles - - if (strstr(pair_keyword,"pair/spin/me")) { - int n = strlen(pair_keyword) + 1; - pair_spin_keywords[ispin] = new char[n]; - strcpy(pair_spin_keywords[ispin],pair_keyword); - me_spin_styles[nmespinstyle] = (PairSpinMe *) force->pair; - nmespinstyle++; - ispin++; - } - - } else if (strstr(pair_keyword,"hybrid/overlay")) { // if hybrid/overlay - PairHybrid *lockhybrid = (PairHybrid *) force->pair; - for (int i =0; i < lockhybrid->nstyles; i++) { - - // error checks - - if (strcmp(lockhybrid->keywords[i],"hybrid") == 0) - error->all(FLERR,"Pair style hybrid cannot have hybrid as an argument"); - if (strcmp(lockhybrid->keywords[i],"none") == 0) - error->all(FLERR,"Pair style hybrid cannot have none as an argument"); - - // list Pair/Spin/Exchange styles - - if (strstr(lockhybrid->keywords[i],"pair/spin/exchange")) { - int n = strlen(lockhybrid->keywords[i]) + 1; - pair_spin_keywords[ispin] = new char[n]; - strcpy(pair_spin_keywords[ispin],lockhybrid->keywords[i]); - exchange_spin_styles[nexchangespinstyle] = (PairSpinExchange *) lockhybrid->styles[i]; - nexchangespinstyle++; - ispin++; - } - - // list Pair/Spin/Dmi styles - - if (strstr(lockhybrid->keywords[i],"pair/spin/dmi")) { - int n = strlen(lockhybrid->keywords[i]) + 1; - pair_spin_keywords[ispin] = new char[n]; - strcpy(pair_spin_keywords[ispin],lockhybrid->keywords[i]); - dmi_spin_styles[ndmispinstyle] = (PairSpinDmi *) lockhybrid->styles[i]; - ndmispinstyle++; - ispin++; - } - - // list Pair/Spin/Neel styles - - if (strstr(lockhybrid->keywords[i],"pair/spin/neel")) { - int n = strlen(lockhybrid->keywords[i]) + 1; - pair_spin_keywords[ispin] = new char[n]; - strcpy(pair_spin_keywords[ispin],lockhybrid->keywords[i]); - neel_spin_styles[nneelspinstyle] = (PairSpinNeel *) lockhybrid->styles[i]; - nneelspinstyle++; - ispin++; - } - - // list Pair/Spin/Me styles - - if (strstr(lockhybrid->keywords[i],"pair/spin/me")) { - int n = strlen(lockhybrid->keywords[i]) + 1; - pair_spin_keywords[ispin] = new char[n]; - strcpy(pair_spin_keywords[ispin],lockhybrid->keywords[i]); - me_spin_styles[nmespinstyle] = (PairSpinMe *) lockhybrid->styles[i]; - nmespinstyle++; - ispin++; - } - - } - } else if (strstr(pair_keyword,"hybrid")) { // no hybrid style with PairSpin - error->all(FLERR,"Pair/Spin styles need hybrid/overlay Pair style"); - } else error->all(FLERR,"Wrong arguments in PairSpin style"); - - if (ispin != nspinstyle) - error->all(FLERR,"Wrong number of PairSpin styles"); - - if ((nexchangespinstyle + ndmispinstyle + nneelspinstyle + nmespinstyle) != nspinstyle) - error->all(FLERR,"Wrong number of PairSpin styles"); - - if (strstr(pair_keyword,"spin") && nspinstyle != 1) - error->all(FLERR,"Wrong number of PairSpin styles"); - - int mag_pair_flag = 0; - if (nspinstyle >= 1) mag_pair_flag = 1; - - - // get larger_cutoff - - larger_cutoff = larger_spin_cutoff(); - - if (mag_pair_flag == 1 && larger_cutoff == 0.0) - error->all(FLERR,"Wrong arguments for PairSpin styles"); - - return mag_pair_flag; -} - -/* ---------------------------------------------------------------------- - get the larger Pair/Spin style cutoff for the sectoring operation -------------------------------------------------------------------------- */ - -double PairSpin::larger_spin_cutoff() -{ - int iexchange, idmi, ineel, ime; - double local_cutoff = 0.0; - - iexchange = idmi = ineel = ime = 0; - - for (int ipair=0; ipair < nspinstyle; ipair++) { - - if (strstr(pair_spin_keywords[ipair],"pair/spin/exchange")) { - if (local_cutoff < exchange_spin_styles[iexchange]->cut_spin_exchange_global) - local_cutoff = exchange_spin_styles[iexchange]->cut_spin_exchange_global; - iexchange++; - } - - if (strstr(pair_spin_keywords[ipair],"pair/spin/dmi")) { - if (local_cutoff < dmi_spin_styles[idmi]->cut_spin_dmi_global) - local_cutoff = dmi_spin_styles[idmi]->cut_spin_dmi_global; - idmi++; - } - - if (strstr(pair_spin_keywords[ipair],"pair/spin/neel")) { - if (local_cutoff < neel_spin_styles[ineel]->cut_spin_neel_global) - local_cutoff = neel_spin_styles[ineel]->cut_spin_neel_global; - ineel++; - } - - if (strstr(pair_spin_keywords[ipair],"pair/spin/me")) { - if (local_cutoff < me_spin_styles[ime]->cut_spin_me_global) - local_cutoff = me_spin_styles[ime]->cut_spin_me_global; - ime++; - } - - } - - if ((iexchange + idmi + ineel + ime) != nspinstyle) - error->all(FLERR,"Wrong number of PairSpin styles"); - - return local_cutoff; -} - - -/* ---------------------------------------------------------------------- */ - -Pair *PairSpin::pair_spin_match(const char *word, int exact, int nsub) -{ - int iwhich,count; - - - if (exact && strcmp(pair_keyword,word) == 0) return pair; - else if (!exact && strstr(pair_keyword,word)) return pair; - - else if (strstr(pair_keyword,"hybrid/overlay")) { - PairHybrid *lockhybrid = (PairHybrid *) force->pair; - count = 0; - for (int i = 0; i < lockhybrid->nstyles; i++) - if ((exact && strcmp(lockhybrid->keywords[i],word) == 0) || - (!exact && strstr(lockhybrid->keywords[i],word))) { - iwhich = i; - count++; - nspinstyle = count; - if (nsub == count) return lockhybrid->styles[iwhich]; - } - if (count == 1) return lockhybrid->styles[iwhich]; - - } else if (strstr(pair_keyword,"hybrid")) { - PairHybrid *lockhybrid = (PairHybrid *) force->pair; - count = 0; - for (int i = 0; i < lockhybrid->nstyles; i++) - if ((exact && strcmp(lockhybrid->keywords[i],word) == 0) || - (!exact && strstr(lockhybrid->keywords[i],word))) { - iwhich = i; - count++; - nspinstyle = count; - if (nsub == count) return lockhybrid->styles[iwhich]; - } - if (count == 1) return lockhybrid->styles[iwhich]; - } - - return NULL; -} - -/* ---------------------------------------------------------------------- - allocate all arrays -------------------------------------------------------------------------- */ - -void PairSpin::allocate() -{ - allocated = 1; - char *pair_keyword = new char[strlen(force->pair_style) + 1]; - -} - -/* ---------------------------------------------------------------------- - set coeffs for one or more type spin pairs (only one for now) -------------------------------------------------------------------------- */ - -void PairSpin::coeff(int narg, char **arg) -{ - const double hbar = force->hplanck/MY_2PI; - - if (!allocated) allocate(); - -} - /* ---------------------------------------------------------------------- init specific to this pair style ------------------------------------------------------------------------- */ @@ -610,13 +97,4 @@ void PairSpin::init_style() } if (ifix == modify->nfix) error->all(FLERR,"pair/spin style requires nve/spin"); - - // get the lattice_flag from nve/spin - - for (int i = 0; i < modify->nfix; i++) { - if (strcmp(modify->fix[i]->style,"nve/spin") == 0) { - lockfixnvespin = (FixNVESpin *) modify->fix[i]; - lattice_flag = lockfixnvespin->lattice_flag; - } - } } diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h index 8fe189801d..e71f2eb117 100755 --- a/src/SPIN/pair_spin.h +++ b/src/SPIN/pair_spin.h @@ -11,22 +11,8 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ - Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) - - Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. -------------------------------------------------------------------------- */ - -#ifdef PAIR_CLASS - PairStyle(pair/spin,PairSpin) -#else - #ifndef LMP_PAIR_SPIN_H #define LMP_PAIR_SPIN_H @@ -40,46 +26,18 @@ friend class FixNVESpin; PairSpin(class LAMMPS *); virtual ~PairSpin(); virtual void settings(int, char **); - virtual void coeff(int, char **); + virtual void coeff(int, char **) {} virtual void init_style(); virtual double init_one(int, int) {return 0.0;} - virtual void compute(int, int); - - - // functions called from fix/nve/spin - // used to evaluate force on spin i inside integration loops - - int init_pair(); // init call of PairSpin styles - double larger_cutoff; // larger Pair/Spin style cutoff - double larger_spin_cutoff(); // compute larger_cutoff - void compute_pair_single_spin(int, double *); // compute pairs for one atom - - class Pair *pair; // unused try class - int nspinstyle; // # of magnetic pairs - class Pair *pair_spin_match(const char *, int, int); // initializing nspinstyle - char *pair_keyword; // main pair style - char **pair_spin_keywords; // list of Pair/Spin style names - - // # and lists of Pair/Spin style classes - - int nexchangespinstyle; // # of exchange pairs - class PairSpinExchange **exchange_spin_styles; // list of Pair/Spin/Exchange2 classes - - int ndmispinstyle; // # of dmi pairs - class PairSpinDmi **dmi_spin_styles; // list of Pair/Spin/Dmi2 classes - - int nneelspinstyle; // # of dmi pairs - class PairSpinNeel **neel_spin_styles; // list of Pair/Spin/Dmi2 classes + virtual void *extract(const char *, int &) {return NULL;} - int nmespinstyle; // # of me pairs - class PairSpinMe **me_spin_styles; // list of Pair/Spin/Me2 classes + virtual void compute(int, int) {} + virtual void compute_single_pair(int, double *) {} protected: - int lattice_flag; // if 0 spins only, 1 if spin-lattice - double hbar; // Planck constant (eV.ps.rad-1) - class FixNVESpin *lockfixnvespin; // ptr to FixNVESpin2 for setups + double hbar; // Planck constant (eV.ps.rad-1) - virtual void allocate(); + virtual void allocate() {} }; } diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 5c1ab13065..99b41f77c8 100755 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -101,7 +101,7 @@ void PairSpinDmi::settings(int narg, char **arg) void PairSpinDmi::coeff(int narg, char **arg) { - const double hbar = force->hplanck/MY_2PI; +// const double hbar = force->hplanck/MY_2PI; if (!allocated) allocate(); @@ -165,16 +165,6 @@ void PairSpinDmi::init_style() } if (ifix == modify->nfix) error->all(FLERR,"pair/spin style requires nve/spin"); - - // get the lattice_flag from nve/spin - - for (int i = 0; i < modify->nfix; i++) { - if (strcmp(modify->fix[i]->style,"nve/spin") == 0) { - lockfixnvespin = (FixNVESpin *) modify->fix[i]; - lattice_flag = lockfixnvespin->lattice_flag; - } - } - } /* ---------------------------------------------------------------------- @@ -189,23 +179,32 @@ double PairSpinDmi::init_one(int i, int j) return cut_spin_dmi_global; } +/* ---------------------------------------------------------------------- + extract the larger cutoff +------------------------------------------------------------------------- */ + +void *PairSpinDmi::extract(const char *str, int &dim) +{ + dim = 0; + if (strcmp(str,"cut") == 0) return (void *) &cut_spin_dmi_global; + return NULL; +} + /* ---------------------------------------------------------------------- */ void PairSpinDmi::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; + int i,j,ii,jj,inum,jnum; double evdwl, ecoul; double xi[3], rij[3]; double spi[3], spj[3]; double fi[3], fmi[3]; - double cut_spin_dmi_2; - double rsq, rd, inorm; + double rsq; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; if (eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = 0; - cut_spin_dmi_2 = cut_spin_dmi_global*cut_spin_dmi_global; double **x = atom->x; double **f = atom->f; @@ -221,21 +220,26 @@ void PairSpinDmi::compute(int eflag, int vflag) firstneigh = list->firstneigh; // dmi computation - // loop over neighbors of my atoms + // loop over all atoms for (ii = 0; ii < inum; ii++) { i = ilist[ii]; + xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; - jlist = firstneigh[i]; - jnum = numneigh[i]; + spi[0] = sp[i][0]; spi[1] = sp[i][1]; spi[2] = sp[i][2]; + + jlist = firstneigh[i]; + jnum = numneigh[i]; // loop on neighbors + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; j &= NEIGHMASK; @@ -253,23 +257,11 @@ void PairSpinDmi::compute(int eflag, int vflag) rij[1] = x[j][1] - xi[1]; rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - inorm = 1.0/sqrt(rsq); - rij[0] *= inorm; - rij[1] *= inorm; - rij[2] *= inorm; - itype = type[i]; - jtype = type[j]; - // compute magnetic and mechanical components of soc_dmi - cut_spin_dmi_2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; - if (rsq <= cut_spin_dmi_2){ - compute_dmi(i,j,rsq,fmi,spi,spj); - if (lattice_flag) { - compute_dmi_mech(i,j,fi,spi,spj); - } - } + compute_dmi(i,j,rsq,fmi,spi,spj); + compute_dmi_mech(i,j,fi,spi,spj); f[i][0] += fi[0]; f[i][1] += fi[1]; @@ -284,15 +276,11 @@ void PairSpinDmi::compute(int eflag, int vflag) f[j][1] -= fi[1]; f[j][2] -= fi[2]; } - + if (eflag) { - if (rsq <= cut_spin_dmi_2) { - evdwl -= spi[0]*fmi[0]; - evdwl -= spi[1]*fmi[1]; - evdwl -= spi[2]*fmi[2]; - evdwl *= hbar; - } else evdwl = 0.0; - } + evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + evdwl *= hbar; + } else evdwl = 0.0; if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); @@ -300,14 +288,75 @@ void PairSpinDmi::compute(int eflag, int vflag) } if (vflag_fdotr) virial_fdotr_compute(); - + } +/* ---------------------------------------------------------------------- */ + +void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) +{ + + const int nlocal = atom->nlocal; + int *type = atom->type; + double **x = atom->x; + double **sp = atom->sp; + + double xi[3], rij[3]; + double spi[3], spj[3]; + + int iexchange, idmi, ineel, ime; + int i,j,jj,inum,jnum,itype,jtype; + int *ilist,*jlist,*numneigh,**firstneigh; + + double rsq, rd, inorm; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + i = ilist[ii]; + + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int jj = 0; jj < jnum; jj++) { + + j = jlist[jj]; + j &= NEIGHMASK; + itype = type[ii]; + jtype = type[j]; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + inorm = 1.0/sqrt(rsq); + + compute_dmi(i,j,rsq,fmi,spi,spj); + + } + +} + + /* ---------------------------------------------------------------------- compute the dmi interaction between spin i and spin j ------------------------------------------------------------------------- */ -void PairSpinDmi::compute_dmi(int i, int j, double rsq, double fmi[3], double spi[3], double spj[3]) +void PairSpinDmi::compute_dmi(int i, int j, double rsq, double fmi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -317,15 +366,16 @@ void PairSpinDmi::compute_dmi(int i, int j, double rsq, double fmi[3], double s double local_cut2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; if (rsq <= local_cut2) { - double dmix,dmiy,dmiz; + double dmix, dmiy, dmiz; + + dmix = DM[itype][jtype] * v_dmx[itype][jtype]; + dmiy = DM[itype][jtype] * v_dmy[itype][jtype]; + dmiz = DM[itype][jtype] * v_dmz[itype][jtype]; - dmix = DM[itype][jtype]*v_dmx[itype][jtype]; - dmiy = DM[itype][jtype]*v_dmy[itype][jtype]; - dmiz = DM[itype][jtype]*v_dmz[itype][jtype]; + fmi[0] -= (spj[1]*dmiz - spj[2]*dmiy); + fmi[1] -= (spj[2]*dmix - spj[0]*dmiz); + fmi[2] -= (spj[0]*dmiy - spj[1]*dmix); - fmi[0] += spj[1]*dmiz-spj[2]*dmiy; - fmi[1] += spj[2]*dmix-spj[0]*dmiz; - fmi[2] += spj[0]*dmiy-spj[1]*dmix; } } diff --git a/src/SPIN/pair_spin_dmi.h b/src/SPIN/pair_spin_dmi.h index ff6faa2a46..da9f8d1494 100755 --- a/src/SPIN/pair_spin_dmi.h +++ b/src/SPIN/pair_spin_dmi.h @@ -23,7 +23,7 @@ #ifdef PAIR_CLASS -PairStyle(pair/spin/dmi,PairSpinDmi) +PairStyle(spin/dmi,PairSpinDmi) #else @@ -42,8 +42,11 @@ class PairSpinDmi : public PairSpin { void coeff(int, char **); void init_style(); double init_one(int, int); + void *extract(const char *, int &); void compute(int, int); + void compute_single_pair(int, double *); + void compute_dmi(int, int, double, double *, double *, double *); void compute_dmi_mech(int, int, double *, double *, double *); diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index c899fba40a..145d49fe85 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -45,10 +45,13 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairSpinExchange::PairSpinExchange(LAMMPS *lmp) : PairSpin(lmp) +PairSpinExchange::PairSpinExchange(LAMMPS *lmp) : PairSpin(lmp), +lockfixnvespin(NULL) { + hbar = force->hplanck/MY_2PI; single_enable = 0; no_virial_fdotr_compute = 1; + lattice_flag = 0; } /* ---------------------------------------------------------------------- */ @@ -99,8 +102,6 @@ void PairSpinExchange::settings(int narg, char **arg) void PairSpinExchange::coeff(int narg, char **arg) { - const double hbar = force->hplanck/MY_2PI; - if (!allocated) allocate(); // check if args correct @@ -185,16 +186,27 @@ double PairSpinExchange::init_one(int i, int j) return cut_spin_exchange_global; } +/* ---------------------------------------------------------------------- + extract the larger cutoff +------------------------------------------------------------------------- */ + +void *PairSpinExchange::extract(const char *str, int &dim) +{ + dim = 0; + if (strcmp(str,"cut") == 0) return (void *) &cut_spin_exchange_global; + return NULL; +} + /* ---------------------------------------------------------------------- */ void PairSpinExchange::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl,ecoul; - double xi[3], rij[3]; + double xi[3], rij[3], eij[3]; double fi[3], fmi[3]; double cut_ex_2,cut_spin_exchange_global2; - double rsq,rd,inorm; + double rsq, inorm; int *ilist,*jlist,*numneigh,**firstneigh; double spi[3],spj[3]; @@ -202,7 +214,7 @@ void PairSpinExchange::compute(int eflag, int vflag) if (eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = 0; cut_spin_exchange_global2 = cut_spin_exchange_global*cut_spin_exchange_global; - + double **x = atom->x; double **f = atom->f; double **fm = atom->fm; @@ -229,12 +241,14 @@ void PairSpinExchange::compute(int eflag, int vflag) spi[0] = sp[i][0]; spi[1] = sp[i][1]; spi[2] = sp[i][2]; + itype = type[i]; // loop on neighbors for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; + jtype = type[j]; spj[0] = sp[j][0]; spj[1] = sp[j][1]; @@ -248,22 +262,19 @@ void PairSpinExchange::compute(int eflag, int vflag) rij[0] = x[j][0] - xi[0]; rij[1] = x[j][1] - xi[1]; rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; inorm = 1.0/sqrt(rsq); - rij[0] *= inorm; - rij[1] *= inorm; - rij[2] *= inorm; + eij[0] = inorm*rij[0]; + eij[1] = inorm*rij[1]; + eij[2] = inorm*rij[2]; - itype = type[i]; - jtype = type[j]; + cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; // compute exchange interaction - - cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; if (rsq <= cut_ex_2) { - compute_exchange(i,j,rsq,fmi,spi,spj); - if (lattice_flag) { - compute_exchange_mech(i,j,rsq,rij,fi,spi,spj); + compute_exchange(i,j,rsq,fmi,spi,spj); + if (lattice_flag) { + compute_exchange_mech(i,j,rsq,eij,fi,spi,spj); } } @@ -285,8 +296,9 @@ void PairSpinExchange::compute(int eflag, int vflag) if (rsq <= cut_ex_2) { evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); evdwl *= hbar; - } else evdwl = 0.0; - } + } + } else evdwl = 0.0; + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); @@ -297,6 +309,71 @@ void PairSpinExchange::compute(int eflag, int vflag) } +/* ---------------------------------------------------------------------- + update the pair interactions fmi acting on the spin ii +------------------------------------------------------------------------- */ + +void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) +{ + + const int nlocal = atom->nlocal; + int *type = atom->type; + double **x = atom->x; + double **sp = atom->sp; + double local_cut2; + + double xi[3], rij[3]; + double spi[3], spj[3]; + + int iexchange, idmi, ineel, ime; + int i,j,jj,inum,jnum,itype,jtype; + int *ilist,*jlist,*numneigh,**firstneigh; + + double rsq; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + i = ilist[ii]; + itype = type[i]; + + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int jj = 0; jj < jnum; jj++) { + + j = jlist[jj]; + j &= NEIGHMASK; + jtype = type[j]; + local_cut2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + + if (rsq <= local_cut2) { + compute_exchange(i,j,rsq,fmi,spi,spj); + } + + } + +} + /* ---------------------------------------------------------------------- compute the magnetic exchange interaction between spin i and spin j ------------------------------------------------------------------------- */ @@ -321,6 +398,7 @@ void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], fmi[0] += Jex*spj[0]; fmi[1] += Jex*spj[1]; fmi[2] += Jex*spj[2]; + } } diff --git a/src/SPIN/pair_spin_exchange.h b/src/SPIN/pair_spin_exchange.h index ab22ef9255..66750743bb 100755 --- a/src/SPIN/pair_spin_exchange.h +++ b/src/SPIN/pair_spin_exchange.h @@ -23,7 +23,7 @@ #ifdef PAIR_CLASS -PairStyle(pair/spin/exchange,PairSpinExchange) +PairStyle(spin/exchange,PairSpinExchange) #else @@ -42,8 +42,11 @@ class PairSpinExchange : public PairSpin { void coeff(int, char **); void init_style(); double init_one(int, int); + void *extract(const char *, int &); void compute(int, int); + void compute_single_pair(int, double *); + void compute_exchange(int, int, double, double *, double *, double *); void compute_exchange_mech(int, int, double, double *, double *, double *, double *); @@ -52,13 +55,17 @@ class PairSpinExchange : public PairSpin { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - double cut_spin_exchange_global; // global neel cutoff distance + double cut_spin_exchange_global; // global exchange cutoff distance protected: - double **J1_mag, **J1_mech; // exchange coeffs Jij + double **J1_mag; // exchange coeffs in eV + double **J1_mech; // mech exchange coeffs in double **J2, **J3; // J1 in eV, J2 adim, J3 in Ang double **cut_spin_exchange; // cutoff distance exchange + int lattice_flag; // flag for mech force computation + class FixNVESpin *lockfixnvespin; // ptr to FixNVESpin for setups + void allocate(); }; diff --git a/src/SPIN/pair_spin_me.cpp b/src/SPIN/pair_spin_me.cpp index e617470c8a..ee32127c23 100755 --- a/src/SPIN/pair_spin_me.cpp +++ b/src/SPIN/pair_spin_me.cpp @@ -163,16 +163,6 @@ void PairSpinMe::init_style() } if (ifix == modify->nfix) error->all(FLERR,"pair/spin style requires nve/spin"); - - // get the lattice_flag from nve/spin - - for (int i = 0; i < modify->nfix; i++) { - if (strcmp(modify->fix[i]->style,"nve/spin") == 0) { - lockfixnvespin = (FixNVESpin *) modify->fix[i]; - lattice_flag = lockfixnvespin->lattice_flag; - } - } - } /* ---------------------------------------------------------------------- @@ -187,6 +177,18 @@ double PairSpinMe::init_one(int i, int j) return cut_spin_me_global; } +/* ---------------------------------------------------------------------- + extract the larger cutoff +------------------------------------------------------------------------- */ + +void *PairSpinMe::extract(const char *str, int &dim) +{ + dim = 0; + if (strcmp(str,"cut") == 0) return (void *) &cut_spin_me_global; + return NULL; +} + + /* ---------------------------------------------------------------------- */ void PairSpinMe::compute(int eflag, int vflag) @@ -197,14 +199,12 @@ void PairSpinMe::compute(int eflag, int vflag) double spi[3], spj[3]; double fi[3], fj[3]; double fmi[3], fmj[3]; - double cut_me_2, cut_spin_me_global2; double rsq, rd, inorm; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; if (eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = 0; - cut_spin_me_global2 = cut_spin_me_global*cut_spin_me_global; double **x = atom->x; double **f = atom->f; @@ -265,13 +265,8 @@ void PairSpinMe::compute(int eflag, int vflag) // compute me interaction - cut_me_2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; - if (rsq <= cut_me_2){ - compute_me(i,j,rsq,rij,fmi,spi,spj); - if (lattice_flag) { - compute_me_mech(i,j,fi,spi,spj); - } - } + compute_me(i,j,rsq,rij,fmi,spi,spj); + compute_me_mech(i,j,fi,spi,spj); f[i][0] += fi[0]; f[i][1] += fi[1]; @@ -288,11 +283,9 @@ void PairSpinMe::compute(int eflag, int vflag) } if (eflag) { - if (rsq <= cut_me_2) { - evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); - evdwl *= hbar; - } else evdwl = 0.0; - } + evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + evdwl *= hbar; + } else evdwl = 0.0; if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); @@ -305,6 +298,70 @@ void PairSpinMe::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ +void PairSpinMe::compute_single_pair(int ii, double fmi[3]) +{ + + const int nlocal = atom->nlocal; + int *type = atom->type; + double **x = atom->x; + double **sp = atom->sp; + + double xi[3], rij[3], eij[3]; + double spi[3], spj[3]; + + int iexchange, idmi, ineel, ime; + int i,j,jj,inum,jnum,itype,jtype; + int *ilist,*jlist,*numneigh,**firstneigh; + + double rsq, rd, inorm; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + i = ilist[ii]; + + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + + eij[0] = eij[1] = eij[2] = 0.0; + + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int jj = 0; jj < jnum; jj++) { + + j = jlist[jj]; + j &= NEIGHMASK; + itype = type[ii]; + jtype = type[j]; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + inorm = 1.0/sqrt(rsq); + eij[0] = inorm*rij[0]; + eij[1] = inorm*rij[1]; + eij[2] = inorm*rij[2]; + + compute_me(i,j,rsq,eij,fmi,spi,spj); + } + +} + +/* ---------------------------------------------------------------------- */ + void PairSpinMe::compute_me(int i, int j, double rsq, double eij[3], double fmi[3], double spi[3], double spj[3]) { int *type = atom->type; diff --git a/src/SPIN/pair_spin_me.h b/src/SPIN/pair_spin_me.h index 05e6719710..58ea6b3eda 100755 --- a/src/SPIN/pair_spin_me.h +++ b/src/SPIN/pair_spin_me.h @@ -23,7 +23,7 @@ #ifdef PAIR_CLASS -PairStyle(pair/spin/me,PairSpinMe) +PairStyle(spin/me,PairSpinMe) #else @@ -42,8 +42,11 @@ class PairSpinMe : public PairSpin { void coeff(int, char **); void init_style(); double init_one(int, int); + void *extract(const char *, int &); void compute(int, int); + void compute_single_pair(int, double *); + void compute_me(int, int, double, double *, double *, double *, double *); void compute_me_mech(int, int, double *, double *, double *); diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index 205ee736ed..a34931af85 100755 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -174,16 +174,6 @@ void PairSpinNeel::init_style() } if (ifix == modify->nfix) error->all(FLERR,"pair/spin style requires nve/spin"); - - // get the lattice_flag from nve/spin - - for (int i = 0; i < modify->nfix; i++) { - if (strcmp(modify->fix[i]->style,"nve/spin") == 0) { - lockfixnvespin = (FixNVESpin *) modify->fix[i]; - lattice_flag = lockfixnvespin->lattice_flag; - } - } - } /* ---------------------------------------------------------------------- @@ -198,6 +188,17 @@ double PairSpinNeel::init_one(int i, int j) return cut_spin_neel_global; } +/* ---------------------------------------------------------------------- + extract the larger cutoff +------------------------------------------------------------------------- */ + +void *PairSpinNeel::extract(const char *str, int &dim) +{ + dim = 0; + if (strcmp(str,"cut") == 0) return (void *) &cut_spin_neel_global; + return NULL; +} + /* ---------------------------------------------------------------------- */ void PairSpinNeel::compute(int eflag, int vflag) @@ -207,14 +208,12 @@ void PairSpinNeel::compute(int eflag, int vflag) double xi[3], rij[3], eij[3]; double spi[3], spj[3]; double fi[3], fmi[3]; - double cut_spin_neel_2, cut_spin_neel_global2; double rsq, rd, inorm; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; if (eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = 0; - cut_spin_neel_global2 = cut_spin_neel_global*cut_spin_neel_global; double **x = atom->x; double **f = atom->f; @@ -273,14 +272,9 @@ void PairSpinNeel::compute(int eflag, int vflag) // compute magnetic and mechanical components of soc_neel - cut_spin_neel_2 = cut_spin_neel[itype][jtype]*cut_spin_neel[itype][jtype]; - if (rsq <= cut_spin_neel_2) { - compute_neel(i,j,rsq,eij,fmi,spi,spj); - if (lattice_flag) { - compute_neel_mech(i,j,rsq,eij,fi,spi,spj); - } - } - + compute_neel(i,j,rsq,eij,fmi,spi,spj); + compute_neel_mech(i,j,rsq,eij,fi,spi,spj); + f[i][0] += fi[0]; f[i][1] += fi[1]; f[i][2] += fi[2]; @@ -296,11 +290,9 @@ void PairSpinNeel::compute(int eflag, int vflag) } if (eflag) { - if (rsq <= cut_spin_neel_2) { - evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); - evdwl *= hbar; - } else evdwl = 0.0; - } + evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + evdwl *= hbar; + } else evdwl = 0.0; if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); @@ -313,6 +305,67 @@ void PairSpinNeel::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ +void PairSpinNeel::compute_single_pair(int ii, double fmi[3]) +{ + + const int nlocal = atom->nlocal; + int *type = atom->type; + double **x = atom->x; + double **sp = atom->sp; + + double xi[3], rij[3], eij[3]; + double spi[3], spj[3]; + + int iexchange, idmi, ineel, ime; + int i,j,jj,inum,jnum,itype,jtype; + int *ilist,*jlist,*numneigh,**firstneigh; + + double rsq, rd, inorm; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + i = ilist[ii]; + + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; + spi[2] = sp[i][2]; + + xi[0] = x[i][0]; + xi[1] = x[i][1]; + xi[2] = x[i][2]; + + eij[0] = eij[1] = eij[2] = 0.0; + + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (int jj = 0; jj < jnum; jj++) { + + j = jlist[jj]; + j &= NEIGHMASK; + itype = type[ii]; + jtype = type[j]; + + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; + + rij[0] = x[j][0] - xi[0]; + rij[1] = x[j][1] - xi[1]; + rij[2] = x[j][2] - xi[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + inorm = 1.0/sqrt(rsq); + + compute_neel(i,j,rsq,eij,fmi,spi,spj); + } + +} + +/* ---------------------------------------------------------------------- */ + void PairSpinNeel::compute_neel(int i, int j, double rsq, double eij[3], double fmi[3], double spi[3], double spj[3]) { int *type = atom->type; diff --git a/src/SPIN/pair_spin_neel.h b/src/SPIN/pair_spin_neel.h index 970844a2a7..114e1843de 100755 --- a/src/SPIN/pair_spin_neel.h +++ b/src/SPIN/pair_spin_neel.h @@ -23,7 +23,7 @@ #ifdef PAIR_CLASS -PairStyle(pair/spin/neel,PairSpinNeel) +PairStyle(spin/neel,PairSpinNeel) #else @@ -42,8 +42,11 @@ class PairSpinNeel : public PairSpin { void coeff(int, char **); void init_style(); double init_one(int, int); + void *extract(const char *, int &); void compute(int, int); + void compute_single_pair(int, double *); + void compute_neel(int, int, double, double *, double *, double *, double *); void compute_neel_mech(int, int, double, double *, double *, double *, double *); diff --git a/src/pair_hybrid.h b/src/pair_hybrid.h index c01f57026b..202847b028 100644 --- a/src/pair_hybrid.h +++ b/src/pair_hybrid.h @@ -31,7 +31,6 @@ class PairHybrid : public Pair { friend class FixOMP; friend class Force; friend class Respa; - friend class PairSpin; friend class Info; public: PairHybrid(class LAMMPS *); -- GitLab From 392816a807dfe1c8494f0517254b94c469a9ed0c Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 24 Apr 2018 16:36:30 -0600 Subject: [PATCH 090/675] Commit JT 042418 - adding the README - some corrects pair_spin*.cpp/h --- .../exchange_fcc_cobalt.dat | 5 +++ .../exchange_fit_fcc_co/exchange_fit.py | 32 +++++++++++++++++++ .../exchange_bcc_iron.dat | 2 ++ .../exchange_fit_fcc_ni/exchange_fcc_ni.dat | 10 +++--- .../exchange_fit_fcc_ni/exchange_fcc_ni2.dat | 5 +++ .../exchange_fit_fcc_ni/exchange_fit.py | 5 +-- src/SPIN/README | 25 +++++++++++++++ src/SPIN/atom_vec_spin.h | 10 ------ src/SPIN/compute_spin.h | 10 ------ src/SPIN/fix_langevin_spin.h | 10 ------ src/SPIN/fix_nve_spin.cpp | 14 +++++++- src/SPIN/fix_nve_spin.h | 10 ------ src/SPIN/fix_precession_spin.h | 10 ------ src/SPIN/pair_spin.h | 4 +++ src/SPIN/pair_spin_dmi.cpp | 25 ++++++++------- src/SPIN/pair_spin_dmi.h | 10 ------ src/SPIN/pair_spin_exchange.h | 10 ------ src/SPIN/pair_spin_me.h | 10 ------ src/SPIN/pair_spin_neel.h | 10 ------ 19 files changed, 107 insertions(+), 110 deletions(-) create mode 100644 examples/SPIN/cobalt_fcc/exchange_fit_fcc_co/exchange_fcc_cobalt.dat create mode 100644 examples/SPIN/cobalt_fcc/exchange_fit_fcc_co/exchange_fit.py create mode 100644 examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni2.dat create mode 100644 src/SPIN/README diff --git a/examples/SPIN/cobalt_fcc/exchange_fit_fcc_co/exchange_fcc_cobalt.dat b/examples/SPIN/cobalt_fcc/exchange_fit_fcc_co/exchange_fcc_cobalt.dat new file mode 100644 index 0000000000..dce45c090d --- /dev/null +++ b/examples/SPIN/cobalt_fcc/exchange_fit_fcc_co/exchange_fcc_cobalt.dat @@ -0,0 +1,5 @@ +2.503 0.01476 +3.54 0.001497 +4.33 0.001578 +5.01 -0.001224 +5.597 0.000354 diff --git a/examples/SPIN/cobalt_fcc/exchange_fit_fcc_co/exchange_fit.py b/examples/SPIN/cobalt_fcc/exchange_fit_fcc_co/exchange_fit.py new file mode 100644 index 0000000000..09be6db3e4 --- /dev/null +++ b/examples/SPIN/cobalt_fcc/exchange_fit_fcc_co/exchange_fit.py @@ -0,0 +1,32 @@ +#Program fitting the exchange interaction +#Model curve: Bethe-Slater function +import numpy as np, pylab, tkinter +import matplotlib.pyplot as plt +from scipy.optimize import curve_fit +from decimal import * + +print("Loop begin") + +#Definition of the Bethe-Slater function +def func(x,a,b,c): + return 4*a*((x/c)**2)*(1-b*(x/c)**2)*np.exp(-(x/c)**2) + +#Exchange coeff table (data to fit) +rdata, Jdata = np.loadtxt('exchange_fcc_cobalt.dat', usecols=(0,1), unpack=True) +plt.plot(rdata, Jdata, 'b-', label='data') + +#Perform the fit +popt, pcov = curve_fit(func, rdata, Jdata, bounds=(0, [500.,5.,5.])) +plt.plot(rdata, func(rdata, *popt), 'r--', label='fit') + +#Print the fitted params +print("Parameters: a={:.10} (in meV), b={:.10} (adim), c={:.10} (in Ang)".format(*popt)) + +#Ploting the result +plt.xlabel('r_ij') +pylab.xlim([0,6.5]) +plt.ylabel('J_ij') +plt.legend() +plt.show() + +print("Loop end") diff --git a/examples/SPIN/iron/exchange_fit_bcc_iron/exchange_bcc_iron.dat b/examples/SPIN/iron/exchange_fit_bcc_iron/exchange_bcc_iron.dat index 7cfe1cb586..58134f2444 100644 --- a/examples/SPIN/iron/exchange_fit_bcc_iron/exchange_bcc_iron.dat +++ b/examples/SPIN/iron/exchange_fit_bcc_iron/exchange_bcc_iron.dat @@ -1,3 +1,5 @@ 2.4824 0.01948336 2.8665 0.01109 4.0538 -0.0002176 +4.753 -0.001714 +4.965 -0.001986 diff --git a/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni.dat b/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni.dat index 4e5aa47659..376f6fd162 100644 --- a/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni.dat +++ b/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni.dat @@ -1,5 +1,5 @@ -2.495 8.3 -3.524 -3.99 -4.31 0.998 -4.99 -0.955 -5.56 0.213 +2.492 0.0028027 +3.524 0.0000816 +4.316 0.0003537 +4.984 0.0001632 +5.572 0.0000408 diff --git a/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni2.dat b/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni2.dat new file mode 100644 index 0000000000..4e5aa47659 --- /dev/null +++ b/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fcc_ni2.dat @@ -0,0 +1,5 @@ +2.495 8.3 +3.524 -3.99 +4.31 0.998 +4.99 -0.955 +5.56 0.213 diff --git a/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fit.py b/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fit.py index dd07e9f295..4046fa45f7 100644 --- a/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fit.py +++ b/examples/SPIN/nickel/exchange_fit_fcc_ni/exchange_fit.py @@ -16,7 +16,7 @@ rdata, Jdata = np.loadtxt('exchange_fcc_ni.dat', usecols=(0,1), unpack=True) plt.plot(rdata, Jdata, 'b-', label='data') # perform the fit -popt, pcov = curve_fit(func, rdata, Jdata, bounds=(0, [500.,5.,5.])) +popt, pcov = curve_fit(func, rdata, Jdata, bounds=([0.0,-1.0,0.0], [100.,5.,5.])) plt.plot(rdata, func(rdata, *popt), 'r--', label='fit') # print the fitted parameters @@ -24,7 +24,8 @@ print("Parameters: a={:.10} (in meV), b={:.10} (adim), c={:.10} (in Ang)".format # ploting the result plt.xlabel('r_ij') -pylab.xlim([0,6.5]) +pylab.xlim([0.0,6.5]) +#pylab.ylim([-2.0,10.0]) plt.ylabel('J_ij') plt.legend() plt.show() diff --git a/src/SPIN/README b/src/SPIN/README new file mode 100644 index 0000000000..e371e39767 --- /dev/null +++ b/src/SPIN/README @@ -0,0 +1,25 @@ +The SPIN package enables coupled spin dynamics and molecular +dynamics simulations. + +The package provides the following features: + +* defining a classical magnetic atomic spin associated to each magnetic +atom in the system +* integrating the equations of motion for the coupled spin-lattice system +* implementing magnetic pair interactions and magnetic forces +* thermostating and applying a transverse damping to the magnetic spins +* computing and outputing magnetic quantities + +The different options provided by this package are explained in the +LAMMPS documentation. + +Once you have successfully built LAMMPS with this package, you can test +it using one of the input files provided from the examples/SPIN dir: + +./lmp_serial < lammps/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp + + +== Credits and license == + +The person who created this package is Julien Tranchida (jtranch at +sandia.gov). You can contact him if you have questions. diff --git a/src/SPIN/atom_vec_spin.h b/src/SPIN/atom_vec_spin.h index 4177a4c860..99d4a86189 100644 --- a/src/SPIN/atom_vec_spin.h +++ b/src/SPIN/atom_vec_spin.h @@ -11,16 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ - Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) - - Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. -------------------------------------------------------------------------- */ - #ifdef ATOM_CLASS AtomStyle(spin,AtomVecSpin) diff --git a/src/SPIN/compute_spin.h b/src/SPIN/compute_spin.h index 872694cd89..59f0ce2876 100644 --- a/src/SPIN/compute_spin.h +++ b/src/SPIN/compute_spin.h @@ -11,16 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ - Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) - - Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. -------------------------------------------------------------------------- */ - #ifdef COMPUTE_CLASS ComputeStyle(compute/spin,ComputeSpin) diff --git a/src/SPIN/fix_langevin_spin.h b/src/SPIN/fix_langevin_spin.h index ac7506c4c5..0f90a77c14 100644 --- a/src/SPIN/fix_langevin_spin.h +++ b/src/SPIN/fix_langevin_spin.h @@ -11,16 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ - Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) - - Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. -------------------------------------------------------------------------- */ - #ifdef FIX_CLASS FixStyle(langevin/spin,FixLangevinSpin) diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 2d3f73cd77..2f13bdd650 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -27,6 +27,7 @@ #include "atom.h" #include "atom_vec.h" +#include "citeme.h" #include "error.h" #include "fix_precession_spin.h" #include "fix_nve_spin.h" @@ -50,6 +51,16 @@ using namespace FixConst; using namespace MathConst; using namespace MathExtra; +static const char cite_fix_nve_spin[] = + "fix nve/spin command:\n\n" + "@article{tranchida2018massively,\n" + "title={Massively parallel symplectic algorithm for coupled magnetic spin " + "dynamics and molecular dynamics},\n" + "author={Tranchida, J and Plimpton, SJ and Thibaudeau, P and Thompson, AP},\n" + "journal={arXiv preprint arXiv:1801.10233},\n" + "year={2018}\n" + "}\n\n"; + enum{NONE}; /* ---------------------------------------------------------------------- */ @@ -60,7 +71,8 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : backward_stacks(NULL), forward_stacks(NULL), pair(NULL), spin_pairs(NULL) { - + if (lmp->citeme) lmp->citeme->add(cite_fix_nve_spin); + if (narg < 4) error->all(FLERR,"Illegal fix/NVE/spin command"); time_integrate = 1; diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index 686c391299..c7d88ef605 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -11,16 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ - Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) - - Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. -------------------------------------------------------------------------- */ - #ifdef FIX_CLASS FixStyle(nve/spin,FixNVESpin) diff --git a/src/SPIN/fix_precession_spin.h b/src/SPIN/fix_precession_spin.h index 5e1047ff67..2a616b61f0 100644 --- a/src/SPIN/fix_precession_spin.h +++ b/src/SPIN/fix_precession_spin.h @@ -11,16 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ - Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) - - Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. -------------------------------------------------------------------------- */ - #ifdef FIX_CLASS FixStyle(precession/spin,FixPrecessionSpin) diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h index e71f2eb117..94f8433108 100755 --- a/src/SPIN/pair_spin.h +++ b/src/SPIN/pair_spin.h @@ -11,8 +11,12 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +#ifdef PAIR_CLASS + PairStyle(pair/spin,PairSpin) +#else + #ifndef LMP_PAIR_SPIN_H #define LMP_PAIR_SPIN_H diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 99b41f77c8..7f07efc9c8 100755 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -101,7 +101,6 @@ void PairSpinDmi::settings(int narg, char **arg) void PairSpinDmi::coeff(int narg, char **arg) { -// const double hbar = force->hplanck/MY_2PI; if (!allocated) allocate(); @@ -130,15 +129,16 @@ void PairSpinDmi::coeff(int narg, char **arg) for (int j = MAX(jlo,i); j <= jhi; j++) { cut_spin_dmi[i][j] = rij; DM[i][j] = dm; - v_dmx[i][j] = dmx; - v_dmy[i][j] = dmy; - v_dmz[i][j] = dmz; + v_dmx[i][j] = dmx * dm; + v_dmy[i][j] = dmy * dm; + v_dmz[i][j] = dmz * dm; setflag[i][j] = 1; count++; } } if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); + } /* ---------------------------------------------------------------------- @@ -351,7 +351,6 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) } - /* ---------------------------------------------------------------------- compute the dmi interaction between spin i and spin j ------------------------------------------------------------------------- */ @@ -368,13 +367,16 @@ void PairSpinDmi::compute_dmi(int i, int j, double rsq, double fmi[3], double sp if (rsq <= local_cut2) { double dmix, dmiy, dmiz; - dmix = DM[itype][jtype] * v_dmx[itype][jtype]; - dmiy = DM[itype][jtype] * v_dmy[itype][jtype]; - dmiz = DM[itype][jtype] * v_dmz[itype][jtype]; + //dmix = DM[itype][jtype] * v_dmx[itype][jtype]; + //dmiy = DM[itype][jtype] * v_dmy[itype][jtype]; + //dmiz = DM[itype][jtype] * v_dmz[itype][jtype]; + dmix = v_dmx[itype][jtype]; + dmiy = v_dmy[itype][jtype]; + dmiz = v_dmz[itype][jtype]; - fmi[0] -= (spj[1]*dmiz - spj[2]*dmiy); - fmi[1] -= (spj[2]*dmix - spj[0]*dmiz); - fmi[2] -= (spj[0]*dmiy - spj[1]*dmix); + fmi[0] += (spj[1]*dmiz - spj[2]*dmiy); + fmi[1] += (spj[2]*dmix - spj[0]*dmiz); + fmi[2] += (spj[0]*dmiy - spj[1]*dmix); } } @@ -390,7 +392,6 @@ void PairSpinDmi::compute_dmi_mech(int i, int j, double fi[3], double spi[3], do fi[2] += 0.0; } - /* ---------------------------------------------------------------------- allocate all arrays ------------------------------------------------------------------------- */ diff --git a/src/SPIN/pair_spin_dmi.h b/src/SPIN/pair_spin_dmi.h index da9f8d1494..fda38b48fd 100755 --- a/src/SPIN/pair_spin_dmi.h +++ b/src/SPIN/pair_spin_dmi.h @@ -11,16 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ - Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) - - Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. -------------------------------------------------------------------------- */ - #ifdef PAIR_CLASS PairStyle(spin/dmi,PairSpinDmi) diff --git a/src/SPIN/pair_spin_exchange.h b/src/SPIN/pair_spin_exchange.h index 66750743bb..07536a18bd 100755 --- a/src/SPIN/pair_spin_exchange.h +++ b/src/SPIN/pair_spin_exchange.h @@ -11,16 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ - Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) - - Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. -------------------------------------------------------------------------- */ - #ifdef PAIR_CLASS PairStyle(spin/exchange,PairSpinExchange) diff --git a/src/SPIN/pair_spin_me.h b/src/SPIN/pair_spin_me.h index 58ea6b3eda..cd1a93ad6e 100755 --- a/src/SPIN/pair_spin_me.h +++ b/src/SPIN/pair_spin_me.h @@ -11,16 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ - Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) - - Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. -------------------------------------------------------------------------- */ - #ifdef PAIR_CLASS PairStyle(spin/me,PairSpinMe) diff --git a/src/SPIN/pair_spin_neel.h b/src/SPIN/pair_spin_neel.h index 114e1843de..d59f92df26 100755 --- a/src/SPIN/pair_spin_neel.h +++ b/src/SPIN/pair_spin_neel.h @@ -11,16 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ - Contributing authors: Julien Tranchida (SNL) - Aidan Thompson (SNL) - - Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics - and molecular dynamics. arXiv preprint arXiv:1801.10233. -------------------------------------------------------------------------- */ - #ifdef PAIR_CLASS PairStyle(spin/neel,PairSpinNeel) -- GitLab From 75069ec55b7fef73d4444d3e02ddbf9026a161b0 Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 26 Apr 2018 12:41:23 -0600 Subject: [PATCH 091/675] Commit JT-1 042618 - new version DMI --- src/SPIN/pair_spin_dmi.cpp | 78 ++++++--- src/SPIN/pair_spin_dmi.h | 5 +- src/SPIN/pair_spin_exchange.cpp | 67 +++----- src/SPIN/pair_spin_me.cpp | 45 +++-- src/SPIN/pair_spin_me.h | 3 + src/SPIN/pair_spin_neel.cpp | 291 +++++++++++++++++--------------- src/SPIN/pair_spin_neel.h | 21 ++- 7 files changed, 286 insertions(+), 224 deletions(-) diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 7f07efc9c8..83794a7a9c 100755 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -49,6 +49,7 @@ PairSpinDmi::PairSpinDmi(LAMMPS *lmp) : PairSpin(lmp) { single_enable = 0; no_virial_fdotr_compute = 1; + lattice_flag = 0; } /* ---------------------------------------------------------------------- */ @@ -165,6 +166,16 @@ void PairSpinDmi::init_style() } if (ifix == modify->nfix) error->all(FLERR,"pair/spin style requires nve/spin"); + + // get the lattice_flag from nve/spin + + for (int i = 0; i < modify->nfix; i++) { + if (strcmp(modify->fix[i]->style,"nve/spin") == 0) { + lockfixnvespin = (FixNVESpin *) modify->fix[i]; + lattice_flag = lockfixnvespin->lattice_flag; + } + } + } /* ---------------------------------------------------------------------- @@ -194,12 +205,13 @@ void *PairSpinDmi::extract(const char *str, int &dim) void PairSpinDmi::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum; + int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl, ecoul; - double xi[3], rij[3]; + double xi[3], rij[3], eij[3]; double spi[3], spj[3]; double fi[3], fmi[3]; - double rsq; + double local_cut2; + double rsq, inorm; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; @@ -224,6 +236,7 @@ void PairSpinDmi::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; + itype = type[i]; xi[0] = x[i][0]; xi[1] = x[i][1]; @@ -242,6 +255,7 @@ void PairSpinDmi::compute(int eflag, int vflag) j = jlist[jj]; j &= NEIGHMASK; + jtype = type[j]; spj[0] = sp[j][0]; spj[1] = sp[j][1]; @@ -252,16 +266,27 @@ void PairSpinDmi::compute(int eflag, int vflag) fi[0] = fi[1] = fi[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; rij[0] = rij[1] = rij[2] = 0.0; + eij[0] = eij[1] = eij[2] = 0.0; rij[0] = x[j][0] - xi[0]; rij[1] = x[j][1] - xi[1]; rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; - + inorm = 1.0/sqrt(rsq); + eij[0] = rij[0]*inorm; + eij[1] = rij[1]*inorm; + eij[2] = rij[2]*inorm; + + local_cut2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; + // compute magnetic and mechanical components of soc_dmi - compute_dmi(i,j,rsq,fmi,spi,spj); - compute_dmi_mech(i,j,fi,spi,spj); + if (rsq <= local_cut2) { + compute_dmi(i,j,rsq,eij,fmi,spi,spj); + if (lattice_flag) { + compute_dmi_mech(i,j,fi,spi,spj); + } + } f[i][0] += fi[0]; f[i][1] += fi[1]; @@ -300,15 +325,16 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) int *type = atom->type; double **x = atom->x; double **sp = atom->sp; + double local_cut2; - double xi[3], rij[3]; + double xi[3], rij[3], eij[3]; double spi[3], spj[3]; int iexchange, idmi, ineel, ime; int i,j,jj,inum,jnum,itype,jtype; int *ilist,*jlist,*numneigh,**firstneigh; - double rsq, rd, inorm; + double rsq, inorm; inum = list->inum; ilist = list->ilist; @@ -316,6 +342,7 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) firstneigh = list->firstneigh; i = ilist[ii]; + itype = type[i]; spi[0] = sp[i][0]; spi[1] = sp[i][1]; @@ -332,7 +359,6 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) j = jlist[jj]; j &= NEIGHMASK; - itype = type[ii]; jtype = type[j]; spj[0] = sp[j][0]; @@ -344,8 +370,15 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; inorm = 1.0/sqrt(rsq); + eij[0] = rij[0]*inorm; + eij[1] = rij[1]*inorm; + eij[2] = rij[2]*inorm; - compute_dmi(i,j,rsq,fmi,spi,spj); + local_cut2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; + + if (rsq <= local_cut2) { + compute_dmi(i,j,rsq,eij,fmi,spi,spj); + } } @@ -355,30 +388,21 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) compute the dmi interaction between spin i and spin j ------------------------------------------------------------------------- */ -void PairSpinDmi::compute_dmi(int i, int j, double rsq, double fmi[3], double spi[3], double spj[3]) +void PairSpinDmi::compute_dmi(int i, int j, double rsq, double eij[3], double fmi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; + double dmix, dmiy, dmiz; itype = type[i]; jtype = type[j]; - double local_cut2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; + dmix = eij[1]*v_dmz[itype][jtype] - eij[2]*v_dmy[itype][jtype]; + dmiy = eij[2]*v_dmx[itype][jtype] - eij[2]*v_dmz[itype][jtype]; + dmiz = eij[0]*v_dmy[itype][jtype] - eij[1]*v_dmx[itype][jtype]; - if (rsq <= local_cut2) { - double dmix, dmiy, dmiz; - - //dmix = DM[itype][jtype] * v_dmx[itype][jtype]; - //dmiy = DM[itype][jtype] * v_dmy[itype][jtype]; - //dmiz = DM[itype][jtype] * v_dmz[itype][jtype]; - dmix = v_dmx[itype][jtype]; - dmiy = v_dmy[itype][jtype]; - dmiz = v_dmz[itype][jtype]; - - fmi[0] += (spj[1]*dmiz - spj[2]*dmiy); - fmi[1] += (spj[2]*dmix - spj[0]*dmiz); - fmi[2] += (spj[0]*dmiy - spj[1]*dmix); - - } + fmi[0] += (spj[1]*dmiz - spj[2]*dmiy); + fmi[1] += (spj[2]*dmix - spj[0]*dmiz); + fmi[2] += (spj[0]*dmiy - spj[1]*dmix); } /* ---------------------------------------------------------------------- diff --git a/src/SPIN/pair_spin_dmi.h b/src/SPIN/pair_spin_dmi.h index fda38b48fd..108acf21e7 100755 --- a/src/SPIN/pair_spin_dmi.h +++ b/src/SPIN/pair_spin_dmi.h @@ -37,7 +37,7 @@ class PairSpinDmi : public PairSpin { void compute(int, int); void compute_single_pair(int, double *); - void compute_dmi(int, int, double, double *, double *, double *); + void compute_dmi(int, int, double, double *, double *, double *, double *); void compute_dmi_mech(int, int, double *, double *, double *); void write_restart(FILE *); @@ -52,6 +52,9 @@ class PairSpinDmi : public PairSpin { double **v_dmx, **v_dmy, **v_dmz; // dmi direction double **cut_spin_dmi; // cutoff distance dmi + int lattice_flag; // flag for mech force computation + class FixNVESpin *lockfixnvespin; // ptr to FixNVESpin for setups + void allocate(); }; diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 145d49fe85..4ff5ccb2d4 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -204,16 +204,15 @@ void PairSpinExchange::compute(int eflag, int vflag) int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl,ecoul; double xi[3], rij[3], eij[3]; + double spi[3], spj[3]; double fi[3], fmi[3]; - double cut_ex_2,cut_spin_exchange_global2; + double local_cut2; double rsq, inorm; int *ilist,*jlist,*numneigh,**firstneigh; - double spi[3],spj[3]; evdwl = ecoul = 0.0; if (eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = 0; - cut_spin_exchange_global2 = cut_spin_exchange_global*cut_spin_exchange_global; double **x = atom->x; double **f = atom->f; @@ -268,10 +267,11 @@ void PairSpinExchange::compute(int eflag, int vflag) eij[1] = inorm*rij[1]; eij[2] = inorm*rij[2]; - cut_ex_2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; + local_cut2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; // compute exchange interaction - if (rsq <= cut_ex_2) { + + if (rsq <= local_cut2) { compute_exchange(i,j,rsq,fmi,spi,spj); if (lattice_flag) { compute_exchange_mech(i,j,rsq,eij,fi,spi,spj); @@ -285,7 +285,6 @@ void PairSpinExchange::compute(int eflag, int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; - // check newton pair => see if needs correction if (newton_pair || j < nlocal) { f[j][0] -= fi[0]; f[j][1] -= fi[1]; @@ -293,7 +292,7 @@ void PairSpinExchange::compute(int eflag, int vflag) } if (eflag) { - if (rsq <= cut_ex_2) { + if (rsq <= local_cut2) { evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); evdwl *= hbar; } @@ -375,31 +374,25 @@ void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) } /* ---------------------------------------------------------------------- - compute the magnetic exchange interaction between spin i and spin j + compute exchange interaction between spins i and j ------------------------------------------------------------------------- */ void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; + double Jex, ra; itype = type[i]; jtype = type[j]; - - double local_cut2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; - - if (rsq <= local_cut2) { - double Jex, ra; - ra = rsq/J3[itype][jtype]/J3[itype][jtype]; - Jex = 4.0*J1_mag[itype][jtype]*ra; - Jex *= (1.0-J2[itype][jtype]*ra); - Jex *= exp(-ra); - - fmi[0] += Jex*spj[0]; - fmi[1] += Jex*spj[1]; - fmi[2] += Jex*spj[2]; + ra = rsq/J3[itype][jtype]/J3[itype][jtype]; + Jex = 4.0*J1_mag[itype][jtype]*ra; + Jex *= (1.0-J2[itype][jtype]*ra); + Jex *= exp(-ra); - } + fmi[0] += Jex*spj[0]; + fmi[1] += Jex*spj[1]; + fmi[2] += Jex*spj[2]; } /* ---------------------------------------------------------------------- @@ -410,29 +403,23 @@ void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double ri { int *type = atom->type; int itype, jtype; + double Jex, Jex_mech, ra, rr, iJ3; itype = type[i]; jtype = type[j]; - - double local_cut2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; - - if (rsq <= local_cut2) { - double Jex, Jex_mech, ra, rr, iJ3; - Jex = J1_mech[itype][jtype]; - iJ3 = 1.0/(J3[itype][jtype]*J3[itype][jtype]); - - ra = rsq*iJ3; - rr = sqrt(rsq)*iJ3; + + Jex = J1_mech[itype][jtype]; + iJ3 = 1.0/(J3[itype][jtype]*J3[itype][jtype]); - Jex_mech = 1.0-ra-J2[itype][jtype]*ra*(2.0-ra); - Jex_mech *= 8.0*Jex*rr*exp(-ra); - Jex_mech *= (spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]); + ra = rsq*iJ3; + rr = sqrt(rsq)*iJ3; - fi[0] -= Jex_mech*rij[0]; - fi[1] -= Jex_mech*rij[1]; - fi[2] -= Jex_mech*rij[2]; + Jex_mech = 1.0-ra-J2[itype][jtype]*ra*(2.0-ra); + Jex_mech *= 8.0*Jex*rr*exp(-ra); + Jex_mech *= (spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]); - } - + fi[0] -= Jex_mech*rij[0]; + fi[1] -= Jex_mech*rij[1]; + fi[2] -= Jex_mech*rij[2]; } /* ---------------------------------------------------------------------- diff --git a/src/SPIN/pair_spin_me.cpp b/src/SPIN/pair_spin_me.cpp index ee32127c23..a7072a9cd2 100755 --- a/src/SPIN/pair_spin_me.cpp +++ b/src/SPIN/pair_spin_me.cpp @@ -49,6 +49,7 @@ PairSpinMe::PairSpinMe(LAMMPS *lmp) : PairSpin(lmp) { single_enable = 0; no_virial_fdotr_compute = 1; + lattice_flag = 0; } /* ---------------------------------------------------------------------- */ @@ -163,6 +164,16 @@ void PairSpinMe::init_style() } if (ifix == modify->nfix) error->all(FLERR,"pair/spin style requires nve/spin"); + + // get the lattice_flag from nve/spin + + for (int i = 0; i < modify->nfix; i++) { + if (strcmp(modify->fix[i]->style,"nve/spin") == 0) { + lockfixnvespin = (FixNVESpin *) modify->fix[i]; + lattice_flag = lockfixnvespin->lattice_flag; + } + } + } /* ---------------------------------------------------------------------- @@ -195,11 +206,12 @@ void PairSpinMe::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl, ecoul; - double xi[3], rij[3]; + double xi[3], rij[3], eij[3]; double spi[3], spj[3]; double fi[3], fj[3]; double fmi[3], fmj[3]; - double rsq, rd, inorm; + double local_cut2; + double rsq, inorm; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; @@ -224,6 +236,8 @@ void PairSpinMe::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; + itype = type[i]; + xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; @@ -256,17 +270,22 @@ void PairSpinMe::compute(int eflag, int vflag) rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; inorm = 1.0/sqrt(rsq); - rij[0] *= inorm; - rij[1] *= inorm; - rij[2] *= inorm; + eij[0] *= inorm; + eij[1] *= inorm; + eij[2] *= inorm; - itype = type[i]; jtype = type[j]; + local_cut2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; + // compute me interaction - compute_me(i,j,rsq,rij,fmi,spi,spj); - compute_me_mech(i,j,fi,spi,spj); + if (rsq <= local_cut2) { + compute_me(i,j,rsq,eij,fmi,spi,spj); + if (lattice_flag) { + compute_me_mech(i,j,fi,spi,spj); + } + } f[i][0] += fi[0]; f[i][1] += fi[1]; @@ -305,6 +324,7 @@ void PairSpinMe::compute_single_pair(int ii, double fmi[3]) int *type = atom->type; double **x = atom->x; double **sp = atom->sp; + double local_cut2; double xi[3], rij[3], eij[3]; double spi[3], spj[3]; @@ -313,7 +333,7 @@ void PairSpinMe::compute_single_pair(int ii, double fmi[3]) int i,j,jj,inum,jnum,itype,jtype; int *ilist,*jlist,*numneigh,**firstneigh; - double rsq, rd, inorm; + double rsq, inorm; inum = list->inum; ilist = list->ilist; @@ -321,6 +341,7 @@ void PairSpinMe::compute_single_pair(int ii, double fmi[3]) firstneigh = list->firstneigh; i = ilist[ii]; + itype = type[i]; spi[0] = sp[i][0]; spi[1] = sp[i][1]; @@ -339,8 +360,8 @@ void PairSpinMe::compute_single_pair(int ii, double fmi[3]) j = jlist[jj]; j &= NEIGHMASK; - itype = type[ii]; jtype = type[j]; + local_cut2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; spj[0] = sp[j][0]; spj[1] = sp[j][1]; @@ -355,7 +376,9 @@ void PairSpinMe::compute_single_pair(int ii, double fmi[3]) eij[1] = inorm*rij[1]; eij[2] = inorm*rij[2]; - compute_me(i,j,rsq,eij,fmi,spi,spj); + if (rsq <= local_cut2) { + compute_me(i,j,rsq,eij,fmi,spi,spj); + } } } diff --git a/src/SPIN/pair_spin_me.h b/src/SPIN/pair_spin_me.h index cd1a93ad6e..7875461166 100755 --- a/src/SPIN/pair_spin_me.h +++ b/src/SPIN/pair_spin_me.h @@ -52,6 +52,9 @@ class PairSpinMe : public PairSpin { double **v_mex, **v_mey, **v_mez; // me direction double **cut_spin_me; // me cutoff distance + int lattice_flag; // flag for mech force computation + class FixNVESpin *lockfixnvespin; // ptr to FixNVESpin for setups + void allocate(); }; diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index a34931af85..d44ce20518 100755 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -50,6 +50,7 @@ PairSpinNeel::PairSpinNeel(LAMMPS *lmp) : PairSpin(lmp) { single_enable = 0; no_virial_fdotr_compute = 1; + lattice_flag = 0; } /* ---------------------------------------------------------------------- */ @@ -174,6 +175,16 @@ void PairSpinNeel::init_style() } if (ifix == modify->nfix) error->all(FLERR,"pair/spin style requires nve/spin"); + + // get the lattice_flag from nve/spin + + for (int i = 0; i < modify->nfix; i++) { + if (strcmp(modify->fix[i]->style,"nve/spin") == 0) { + lockfixnvespin = (FixNVESpin *) modify->fix[i]; + lattice_flag = lockfixnvespin->lattice_flag; + } + } + } /* ---------------------------------------------------------------------- @@ -208,7 +219,8 @@ void PairSpinNeel::compute(int eflag, int vflag) double xi[3], rij[3], eij[3]; double spi[3], spj[3]; double fi[3], fmi[3]; - double rsq, rd, inorm; + double local_cut2; + double rsq, inorm; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; @@ -228,7 +240,7 @@ void PairSpinNeel::compute(int eflag, int vflag) numneigh = list->numneigh; firstneigh = list->firstneigh; - // pair spin computations + // computation of the neel interaction // loop over atoms and their neighbors for (ii = 0; ii < inum; ii++) { @@ -270,10 +282,16 @@ void PairSpinNeel::compute(int eflag, int vflag) itype = type[i]; jtype = type[j]; + local_cut2 = cut_spin_neel[itype][jtype]*cut_spin_neel[itype][jtype]; + // compute magnetic and mechanical components of soc_neel - compute_neel(i,j,rsq,eij,fmi,spi,spj); - compute_neel_mech(i,j,rsq,eij,fi,spi,spj); + if (rsq <= local_cut2) { + compute_neel(i,j,rsq,eij,fmi,spi,spj); + if (lattice_flag) { + compute_neel_mech(i,j,rsq,eij,fi,spi,spj); + } + } f[i][0] += fi[0]; f[i][1] += fi[1]; @@ -307,11 +325,11 @@ void PairSpinNeel::compute(int eflag, int vflag) void PairSpinNeel::compute_single_pair(int ii, double fmi[3]) { - const int nlocal = atom->nlocal; int *type = atom->type; double **x = atom->x; double **sp = atom->sp; + double local_cut2; double xi[3], rij[3], eij[3]; double spi[3], spj[3]; @@ -328,6 +346,7 @@ void PairSpinNeel::compute_single_pair(int ii, double fmi[3]) firstneigh = list->firstneigh; i = ilist[ii]; + itype = type[i]; spi[0] = sp[i][0]; spi[1] = sp[i][1]; @@ -346,9 +365,10 @@ void PairSpinNeel::compute_single_pair(int ii, double fmi[3]) j = jlist[jj]; j &= NEIGHMASK; - itype = type[ii]; jtype = type[j]; + local_cut2 = cut_spin_neel[itype][jtype]*cut_spin_neel[itype][jtype]; + spj[0] = sp[j][0]; spj[1] = sp[j][1]; spj[2] = sp[j][2]; @@ -359,7 +379,9 @@ void PairSpinNeel::compute_single_pair(int ii, double fmi[3]) rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; inorm = 1.0/sqrt(rsq); - compute_neel(i,j,rsq,eij,fmi,spi,spj); + if (rsq <= local_cut2) { + compute_neel(i,j,rsq,eij,fmi,spi,spj); + } } } @@ -373,67 +395,64 @@ void PairSpinNeel::compute_neel(int i, int j, double rsq, double eij[3], double itype = type[i]; jtype = type[j]; - double local_cut2 = cut_spin_neel[itype][jtype]*cut_spin_neel[itype][jtype]; - - if (rsq <= local_cut2) { - double gij, q1ij, q2ij, ra; - double pdx, pdy, pdz; - double pq1x, pq1y, pq1z; - double pq2x, pq2y, pq2z; - - // pseudo-dipolar component - ra = rsq/g3[itype][jtype]/g3[itype][jtype]; - gij = 4.0*g1[itype][jtype]*ra; - gij *= (1.0-g2[itype][jtype]*ra); - gij *= exp(-ra); - - double scalar_eij_si = eij[0]*spi[0] + eij[1]*spi[1] + eij[2]*spi[2]; - double scalar_eij_sj = eij[0]*spj[0] + eij[1]*spj[1] + eij[2]*spj[2]; - double scalar_si_sj = spi[0]*spj[0] + spi[1]*spj[1] + spi[2]*spj[2]; - - double gij_eij_sj = gij*scalar_eij_sj; - double gij_3 = gij/3.0; - pdx = gij_eij_sj*eij[0] - gij_3*spj[0]; - pdy = gij_eij_sj*eij[1] - gij_3*spj[1]; - pdz = gij_eij_sj*eij[2] - gij_3*spj[2]; - - // pseudo-quadrupolar component - ra = rsq/q3[itype][jtype]/q3[itype][jtype]; - q1ij = 4.0*q1[itype][jtype]*ra; - q1ij *= (1.0-q2[itype][jtype]*ra); - q1ij *= exp(-ra); - q2ij = (-2.0*q1ij/9.0); - - double scalar_eij_si_2 = scalar_eij_si*scalar_eij_si; - pq1x = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[0]/3.0; - pq1y = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[1]/3.0; - pq1z = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[2]/3.0; - - double pqt1 = (scalar_eij_sj*scalar_eij_sj-scalar_si_sj/3.0); - pq1x += pqt1*(2.0*scalar_eij_si*eij[0] - spj[0]/3.0); - pq1y += pqt1*(2.0*scalar_eij_si*eij[1] - spj[1]/3.0); - pq1z += pqt1*(2.0*scalar_eij_si*eij[2] - spj[2]/3.0); - - pq1x *= q1ij; - pq1y *= q1ij; - pq1z *= q1ij; - - double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; - pq2x = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[0] + scalar_eij_sj_3*eij[0]; - pq2y = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[1] + scalar_eij_sj_3*eij[1]; - pq2z = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[2] + scalar_eij_sj_3*eij[2]; - - pq2x *= q2ij; - pq2y *= q2ij; - pq2z *= q2ij; - - // summing three contributions - fmi[0] += (pdx + pq1x + pq2x); - fmi[1] += (pdy + pq1y + pq2y); - fmi[2] += (pdz + pq1z + pq2z); - - } + double gij, q1ij, q2ij, ra; + double pdx, pdy, pdz; + double pq1x, pq1y, pq1z; + double pq2x, pq2y, pq2z; + // pseudo-dipolar component + + ra = rsq/g3[itype][jtype]/g3[itype][jtype]; + gij = 4.0*g1[itype][jtype]*ra; + gij *= (1.0-g2[itype][jtype]*ra); + gij *= exp(-ra); + + double scalar_eij_si = eij[0]*spi[0] + eij[1]*spi[1] + eij[2]*spi[2]; + double scalar_eij_sj = eij[0]*spj[0] + eij[1]*spj[1] + eij[2]*spj[2]; + double scalar_si_sj = spi[0]*spj[0] + spi[1]*spj[1] + spi[2]*spj[2]; + + double gij_eij_sj = gij*scalar_eij_sj; + double gij_3 = gij/3.0; + pdx = gij_eij_sj*eij[0] - gij_3*spj[0]; + pdy = gij_eij_sj*eij[1] - gij_3*spj[1]; + pdz = gij_eij_sj*eij[2] - gij_3*spj[2]; + + // pseudo-quadrupolar component + + ra = rsq/q3[itype][jtype]/q3[itype][jtype]; + q1ij = 4.0*q1[itype][jtype]*ra; + q1ij *= (1.0-q2[itype][jtype]*ra); + q1ij *= exp(-ra); + q2ij = (-2.0*q1ij/9.0); + + double scalar_eij_si_2 = scalar_eij_si*scalar_eij_si; + pq1x = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[0]/3.0; + pq1y = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[1]/3.0; + pq1z = -(scalar_eij_si_2*scalar_eij_si_2 - scalar_si_sj/3.0)*spj[2]/3.0; + + double pqt1 = (scalar_eij_sj*scalar_eij_sj-scalar_si_sj/3.0); + pq1x += pqt1*(2.0*scalar_eij_si*eij[0] - spj[0]/3.0); + pq1y += pqt1*(2.0*scalar_eij_si*eij[1] - spj[1]/3.0); + pq1z += pqt1*(2.0*scalar_eij_si*eij[2] - spj[2]/3.0); + + pq1x *= q1ij; + pq1y *= q1ij; + pq1z *= q1ij; + + double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; + pq2x = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[0] + scalar_eij_sj_3*eij[0]; + pq2y = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[1] + scalar_eij_sj_3*eij[1]; + pq2z = 3.0*scalar_eij_si_2*scalar_eij_sj*eij[2] + scalar_eij_sj_3*eij[2]; + + pq2x *= q2ij; + pq2y *= q2ij; + pq2z *= q2ij; + + // adding three contributions + + fmi[0] += (pdx + pq1x + pq2x); + fmi[1] += (pdy + pq1y + pq2y); + fmi[2] += (pdz + pq1z + pq2z); } /* ---------------------------------------------------------------------- */ @@ -445,9 +464,6 @@ void PairSpinNeel::compute_neel_mech(int i, int j, double rsq, double eij[3], do itype = type[i]; jtype = type[j]; - double local_cut2 = cut_spin_neel[itype][jtype]*cut_spin_neel[itype][jtype]; - - if (rsq <= local_cut2) { double g_mech, gij, dgij; double q_mech, q1ij, dq1ij; double q2ij, dq2ij; @@ -463,6 +479,7 @@ void PairSpinNeel::compute_neel_mech(int i, int j, double rsq, double eij[3], do double scalar_eij_sj = eij[0]*spj[0]+eij[1]*spj[1]+eij[2]*spj[2]; // pseudo-dipolar component + g_mech = g1_mech[itype][jtype]; ig3 = 1.0/(g3[itype][jtype]*g3[itype][jtype]); @@ -485,6 +502,7 @@ void PairSpinNeel::compute_neel_mech(int i, int j, double rsq, double eij[3], do pdz = -(pdt1*eij[2] + pdt2*spi[2] + pdt3*spj[2]); // pseudo-quadrupolar component + q_mech = q1_mech[itype][jtype]; iq3 = 1.0/(q3[itype][jtype]*q3[itype][jtype]); @@ -500,73 +518,72 @@ void PairSpinNeel::compute_neel_mech(int i, int j, double rsq, double eij[3], do dq1ij *= 8.0*q_mech*rr*exp(-ra); dq2ij = -2.0*dq1ij/9.0; - double scalar_eij_si_2 = scalar_eij_si*scalar_eij_si; - double scalar_eij_sj_2 = scalar_eij_sj*scalar_eij_sj; - double pqt1 = scalar_eij_si_2 - scalar_si_sj/3.0; - double pqt2 = scalar_eij_sj_2 - scalar_si_sj/3.0; - pq1x = dq1ij * pqt1 * pqt2 * eij[0]; - pq1y = dq1ij * pqt1 * pqt2 * eij[1]; - pq1z = dq1ij * pqt1 * pqt2 * eij[2]; - - double scalar_eij_si_3 = scalar_eij_si*scalar_eij_si*scalar_eij_si; - double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; - double scalar_si_sj_2 = scalar_si_sj*scalar_si_sj; - /* double pqt3 = 2.0*scalar_eij_si*scalar_eij_sj_3/drij; - double pqt4 = 2.0*scalar_eij_sj*scalar_eij_si_3/drij; - double pqt5 = -2.0*scalar_si_sj*scalar_eij_si/(3.0*drij); - double pqt6 = -2.0*scalar_si_sj*scalar_eij_sj/(3.0*drij); - // pq1x += q1ij*(spi[0]*(pqt3+pqt6) + spj[0]*(pqt4+)); - pq1x += q1ij*(pqt3*spi[0]+pqt4*spj[0]+pqt5*spi[0]+pqt6*spi[0]); - pq1y += q1ij*(pqt3*spi[1]+pqt4*spj[1]+pqt5*spi[1]+pqt6*spj[1]); - pq1z += q1ij*(pqt3*spi[2]+pqt4*spj[2]+pqt5*spi[2]+pqt6*spj[2]); - */ - double pqt3 = 2.0*scalar_eij_si*(scalar_eij_sj_2-scalar_si_sj/3.0)/drij; - double pqt4 = 2.0*scalar_eij_sj*(scalar_eij_si_2-scalar_si_sj/3.0)/drij; - pq1x += q1ij*(pqt3*spi[0] + pqt4*spj[0]); - pq1y += q1ij*(pqt3*spi[1] + pqt4*spj[1]); - pq1z += q1ij*(pqt3*spi[2] + pqt4*spj[2]); - double pqt7 = 4.0*scalar_eij_si_2*scalar_eij_sj_2/drij; - double pqt8 = 2.0*scalar_si_sj_2*scalar_eij_sj/(3.0*drij); - double pqt9 = 2.0*scalar_si_sj_2*scalar_eij_si/(3.0*drij); - pq1x -= q1ij*(pqt7 + pqt8 + pqt9)*eij[0]; - pq1y -= q1ij*(pqt7 + pqt8 + pqt9)*eij[1]; - pq1z -= q1ij*(pqt7 + pqt8 + pqt9)*eij[2]; - - /* - double pqt3 = 2.0*scalar_eij_si*(scalar_eij_sj_2-scalar_si_sj/3.0)/drij; - double pqt4 = 2.0*scalar_eij_sj*(scalar_eij_si_2-scalar_si_sj/3.0)/drij; - pq1x += q1ij*(pqt3*spi[0] + pqt4*spj[0]); - pq1y += q1ij*(pqt3*spi[1] + pqt4*spj[1]); - pq1z += q1ij*(pqt3*spi[2] + pqt4*spj[2]); - */ - - //double scalar_eij_si_3 = scalar_eij_si*scalar_eij_si*scalar_eij_si; - //double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; - double pqt10 = scalar_eij_sj*scalar_eij_si_3; - double pqt11 = scalar_eij_si*scalar_eij_sj_3; - pq2x = dq2ij*(pqt10 + pqt11)*eij[0]; - pq2y = dq2ij*(pqt10 + pqt11)*eij[1]; - pq2z = dq2ij*(pqt10 + pqt11)*eij[2]; - - double pqt12 = scalar_eij_si_3/drij; - double pqt13 = scalar_eij_sj_3/drij; - double pqt14 = 3.0*scalar_eij_sj*scalar_eij_si_2/drij; - double pqt15 = 3.0*scalar_eij_si*scalar_eij_sj_2/drij; - pq2x += q2ij*((pqt12+pqt15)*spj[0]+(pqt13+pqt14)*spi[0]); - pq2y += q2ij*((pqt12+pqt15)*spj[1]+(pqt13+pqt14)*spi[1]); - pq2z += q2ij*((pqt12+pqt15)*spj[2]+(pqt13+pqt14)*spi[2]); - double pqt16 = 4.0*scalar_eij_sj*scalar_eij_si_3/drij; - double pqt17 = 4.0*scalar_eij_si*scalar_eij_sj_3/drij; - pq2x -= q2ij*(pqt16 + pqt17)*eij[0]; - pq2y -= q2ij*(pqt16 + pqt17)*eij[1]; - pq2z -= q2ij*(pqt16 + pqt17)*eij[2]; - - fi[0] = pdx + pq1x + pq2x; - fi[2] = pdy + pq1y + pq2y; - fi[3] = pdz + pq1z + pq2z; - - } - + double scalar_eij_si_2 = scalar_eij_si*scalar_eij_si; + double scalar_eij_sj_2 = scalar_eij_sj*scalar_eij_sj; + double pqt1 = scalar_eij_si_2 - scalar_si_sj/3.0; + double pqt2 = scalar_eij_sj_2 - scalar_si_sj/3.0; + pq1x = dq1ij * pqt1 * pqt2 * eij[0]; + pq1y = dq1ij * pqt1 * pqt2 * eij[1]; + pq1z = dq1ij * pqt1 * pqt2 * eij[2]; + + double scalar_eij_si_3 = scalar_eij_si*scalar_eij_si*scalar_eij_si; + double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; + double scalar_si_sj_2 = scalar_si_sj*scalar_si_sj; +/* double pqt3 = 2.0*scalar_eij_si*scalar_eij_sj_3/drij; + double pqt4 = 2.0*scalar_eij_sj*scalar_eij_si_3/drij; + double pqt5 = -2.0*scalar_si_sj*scalar_eij_si/(3.0*drij); + double pqt6 = -2.0*scalar_si_sj*scalar_eij_sj/(3.0*drij); +// pq1x += q1ij*(spi[0]*(pqt3+pqt6) + spj[0]*(pqt4+)); + pq1x += q1ij*(pqt3*spi[0]+pqt4*spj[0]+pqt5*spi[0]+pqt6*spi[0]); + pq1y += q1ij*(pqt3*spi[1]+pqt4*spj[1]+pqt5*spi[1]+pqt6*spj[1]); + pq1z += q1ij*(pqt3*spi[2]+pqt4*spj[2]+pqt5*spi[2]+pqt6*spj[2]); +*/ + double pqt3 = 2.0*scalar_eij_si*(scalar_eij_sj_2-scalar_si_sj/3.0)/drij; + double pqt4 = 2.0*scalar_eij_sj*(scalar_eij_si_2-scalar_si_sj/3.0)/drij; + pq1x += q1ij*(pqt3*spi[0] + pqt4*spj[0]); + pq1y += q1ij*(pqt3*spi[1] + pqt4*spj[1]); + pq1z += q1ij*(pqt3*spi[2] + pqt4*spj[2]); + double pqt7 = 4.0*scalar_eij_si_2*scalar_eij_sj_2/drij; + double pqt8 = 2.0*scalar_si_sj_2*scalar_eij_sj/(3.0*drij); + double pqt9 = 2.0*scalar_si_sj_2*scalar_eij_si/(3.0*drij); + pq1x -= q1ij*(pqt7 + pqt8 + pqt9)*eij[0]; + pq1y -= q1ij*(pqt7 + pqt8 + pqt9)*eij[1]; + pq1z -= q1ij*(pqt7 + pqt8 + pqt9)*eij[2]; + +/* + double pqt3 = 2.0*scalar_eij_si*(scalar_eij_sj_2-scalar_si_sj/3.0)/drij; + double pqt4 = 2.0*scalar_eij_sj*(scalar_eij_si_2-scalar_si_sj/3.0)/drij; + pq1x += q1ij*(pqt3*spi[0] + pqt4*spj[0]); + pq1y += q1ij*(pqt3*spi[1] + pqt4*spj[1]); + pq1z += q1ij*(pqt3*spi[2] + pqt4*spj[2]); +*/ + + //double scalar_eij_si_3 = scalar_eij_si*scalar_eij_si*scalar_eij_si; + //double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; + double pqt10 = scalar_eij_sj*scalar_eij_si_3; + double pqt11 = scalar_eij_si*scalar_eij_sj_3; + pq2x = dq2ij*(pqt10 + pqt11)*eij[0]; + pq2y = dq2ij*(pqt10 + pqt11)*eij[1]; + pq2z = dq2ij*(pqt10 + pqt11)*eij[2]; + + double pqt12 = scalar_eij_si_3/drij; + double pqt13 = scalar_eij_sj_3/drij; + double pqt14 = 3.0*scalar_eij_sj*scalar_eij_si_2/drij; + double pqt15 = 3.0*scalar_eij_si*scalar_eij_sj_2/drij; + pq2x += q2ij*((pqt12+pqt15)*spj[0]+(pqt13+pqt14)*spi[0]); + pq2y += q2ij*((pqt12+pqt15)*spj[1]+(pqt13+pqt14)*spi[1]); + pq2z += q2ij*((pqt12+pqt15)*spj[2]+(pqt13+pqt14)*spi[2]); + double pqt16 = 4.0*scalar_eij_sj*scalar_eij_si_3/drij; + double pqt17 = 4.0*scalar_eij_si*scalar_eij_sj_3/drij; + pq2x -= q2ij*(pqt16 + pqt17)*eij[0]; + pq2y -= q2ij*(pqt16 + pqt17)*eij[1]; + pq2z -= q2ij*(pqt16 + pqt17)*eij[2]; + + // adding three contributions + + fi[0] = pdx + pq1x + pq2x; + fi[2] = pdy + pq1y + pq2y; + fi[3] = pdz + pq1z + pq2z; } /* ---------------------------------------------------------------------- diff --git a/src/SPIN/pair_spin_neel.h b/src/SPIN/pair_spin_neel.h index d59f92df26..e1973d35b6 100755 --- a/src/SPIN/pair_spin_neel.h +++ b/src/SPIN/pair_spin_neel.h @@ -45,16 +45,21 @@ class PairSpinNeel : public PairSpin { void write_restart_settings(FILE *); void read_restart_settings(FILE *); - double cut_spin_neel_global; // global neel cutoff distance + double cut_spin_neel_global; // global neel cutoff distance protected: - // pseudo-dipolar coeff. - double **g1, **g1_mech; // exchange coeffs gij - double **g2, **g3; // g1 in eV, g2 adim, g3 in Ang - // pseudo-quadrupolar coeff. - double **q1, **q1_mech; // exchange coeffs qij - double **q2, **q3; // q1 in eV, q2 adim, q3 in Ang - double **cut_spin_neel; // cutoff distance exchange + + // pseudo-dipolar and pseudo-quadrupolar coeff. + + double **g1, **g1_mech; // exchange coeffs gij + double **g2, **g3; // g1 in eV, g2 adim, g3 in Ang + double **q1, **q1_mech; // exchange coeffs qij + double **q2, **q3; // q1 in eV, q2 adim, q3 in Ang + double **cut_spin_neel; // cutoff distance exchange + + int lattice_flag; // flag for mech force computation + class FixNVESpin *lockfixnvespin; // ptr to FixNVESpin for setups + void allocate(); }; -- GitLab From eaaad3f6d59dee5db65699b2cc29b22efe5d1be3 Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 26 Apr 2018 15:48:34 -0600 Subject: [PATCH 092/675] Commit JT-2 042618 - commit after after rebase - some #include were needed --- src/SPIN/fix_nve_spin.cpp | 2 ++ src/SPIN/pair_spin_dmi.cpp | 1 + src/SPIN/pair_spin_exchange.cpp | 1 + src/SPIN/pair_spin_me.cpp | 1 + src/SPIN/pair_spin_neel.cpp | 1 + 5 files changed, 6 insertions(+) diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 2f13bdd650..d94103dd7f 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -28,6 +28,8 @@ #include "atom.h" #include "atom_vec.h" #include "citeme.h" +#include "comm.h" +#include "domain.h" #include "error.h" #include "fix_precession_spin.h" #include "fix_nve_spin.h" diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 83794a7a9c..8e1b961794 100755 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -37,6 +37,7 @@ #include "neigh_request.h" #include "math_const.h" #include "memory.h" +#include "modify.h" #include "pair_spin_dmi.h" #include "update.h" diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 4ff5ccb2d4..04504cfe12 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -37,6 +37,7 @@ #include "neigh_request.h" #include "math_const.h" #include "memory.h" +#include "modify.h" #include "pair_spin_exchange.h" #include "update.h" diff --git a/src/SPIN/pair_spin_me.cpp b/src/SPIN/pair_spin_me.cpp index a7072a9cd2..f01fd23dd5 100755 --- a/src/SPIN/pair_spin_me.cpp +++ b/src/SPIN/pair_spin_me.cpp @@ -37,6 +37,7 @@ #include "neigh_request.h" #include "math_const.h" #include "memory.h" +#include "modify.h" #include "pair_spin_me.h" #include "update.h" diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index d44ce20518..fdb95a3fc3 100755 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -38,6 +38,7 @@ #include "neigh_request.h" #include "math_const.h" #include "memory.h" +#include "modify.h" #include "pair_spin_neel.h" #include "update.h" -- GitLab From d504dcc46595c1fda92453063763c4b0b6ff0540 Mon Sep 17 00:00:00 2001 From: PabloPiaggi Date: Fri, 27 Apr 2018 17:50:35 +0200 Subject: [PATCH 093/675] Some changes to compute_pair_entropy_atom --- src/compute_pair_entropy_atom.cpp | 247 ++++++++++++++++++++++++++++++ src/compute_pair_entropy_atom.h | 84 ++++++++++ 2 files changed, 331 insertions(+) create mode 100644 src/compute_pair_entropy_atom.cpp create mode 100644 src/compute_pair_entropy_atom.h diff --git a/src/compute_pair_entropy_atom.cpp b/src/compute_pair_entropy_atom.cpp new file mode 100644 index 0000000000..baeddddd61 --- /dev/null +++ b/src/compute_pair_entropy_atom.cpp @@ -0,0 +1,247 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Pablo Piaggi (EPFL Lausanne) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include "compute_pair_entropy_atom.h" +#include "atom.h" +#include "update.h" +#include "modify.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "force.h" +#include "pair.h" +#include "comm.h" +#include "math_extra.h" +#include "math_const.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace MathConst; + +/* ---------------------------------------------------------------------- */ + +ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), + gofr(NULL), pair_entropy(NULL) +{ + if (narg < 5 || narg > 7) + error->all(FLERR,"Illegal compute pentropy/atom command"); + + sigma = force->numeric(FLERR,arg[3]); + cutoff = force->numeric(FLERR,arg[4]); + if (cutoff < 0.0) error->all(FLERR,"Illegal compute pentropy/atom command; negative cutoff"); + + avg_flag = 0; + + // optional keywords + + int iarg = 5; + while (iarg < narg) { + if (strcmp(arg[iarg],"avg") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal compute pentropy/atom missing arguments after avg"); + if (strcmp(arg[iarg+1],"yes") == 0) avg_flag = 1; + else if (strcmp(arg[iarg+1],"no") == 0) avg_flag = 0; + else error->all(FLERR,"Illegal compute centro/atom argument after avg should be yes or no"); + cutoff2 = force->numeric(FLERR,arg[iarg+2]); + if (cutoff2 < 0.0) error->all(FLERR,"Illegal compute pentropy/atom command; negative cutoff2"); + cutsq2 = cutoff2*cutoff2; + iarg += 2; + } else error->all(FLERR,"Illegal compute centro/atom argument after sigma and cutoff should be avg"); + } + + peratom_flag = 1; + + cutsq = cutoff*cutoff; + nbin = static_cast(cutoff / sigma) + 1; + nmax = 0; + maxneigh = 0; + deltabin = 2; + deltar = sigma; + rbin = new double(nbin); + rbinsq = new double(nbin); + for (int i = 0; i < nbin; i++) { + rbin[i] = i*deltar; + rbinsq[i] = rbin[i]*rbin[i]; + } +} + +/* ---------------------------------------------------------------------- */ + +ComputePairEntropyAtom::~ComputePairEntropyAtom() +{ + memory->destroy(pair_entropy); + memory->destroy(gofr); +} + +/* ---------------------------------------------------------------------- */ + +void ComputePairEntropyAtom::init() +{ + if (force->pair == NULL) + error->all(FLERR,"Compute centro/atom requires a pair style be defined"); + + double largest_cutsq; + largest_cutsq = cutsq; + if (cutsq2 > cutsq) largest_cutsq = cutsq2; + + if (sqrt(largest_cutsq) > force->pair->cutforce) + error->all(FLERR,"Compute pentropy/atom cutoff is longer than pairwise cutoff"); + + if (2.0*sqrt(largest_cutsq) > force->pair->cutforce + neighbor->skin && + comm->me == 0) + error->warning(FLERR,"Compute pentropy/atom cutoff may be too large to find " + "ghost atom neighbors"); + + int count = 0; + for (int i = 0; i < modify->ncompute; i++) + if (strcmp(modify->compute[i]->style,"pentropy/atom") == 0) count++; + if (count > 1 && comm->me == 0) + error->warning(FLERR,"More than one compute pentropy/atom"); + + // need an occasional full neighbor list + + int irequest = neighbor->request(this,instance_me); + neighbor->requests[irequest]->pair = 0; + neighbor->requests[irequest]->compute = 1; + neighbor->requests[irequest]->half = 0; + neighbor->requests[irequest]->full = 1; + neighbor->requests[irequest]->occasional = 1; +} + +/* ---------------------------------------------------------------------- */ + +void ComputePairEntropyAtom::init_list(int id, NeighList *ptr) +{ + list = ptr; +} + +/* ---------------------------------------------------------------------- */ + +void ComputePairEntropyAtom::compute_peratom() +{ + int i,j,k,ii,jj,kk,n,inum,jnum; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq,value; + int *ilist,*jlist,*numneigh,**firstneigh; + + invoked_peratom = update->ntimestep; + + // grow pair_entropy array if necessary + + if (atom->nmax > nmax) { + memory->destroy(pair_entropy); + nmax = atom->nmax; + memory->create(pair_entropy,nmax,"pentropy/atom:pair_entropy"); + vector_atom = pair_entropy; + } + + // invoke full neighbor list (will copy or build if necessary) + + neighbor->build_one(list); + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // compute pair entropy for each atom in group + // use full neighbor list + + double **x = atom->x; + int *mask = atom->mask; + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + if (mask[i] & groupbit) { + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + + // calculate kernel normalization + double nlist_cutoff = force->pair->cutforce; + double density = jnum/((4./3.)*MY_PI*cutoff*nlist_cutoff*nlist_cutoff*nlist_cutoff); + double normConstantBase = 2*MY_PI*density; // Normalization of g(r) + normConstantBase *= sqrt(2.*MY_PI)*sigma; // Normalization of gaussian + double invNormConstantBase = 1./normConstantBase; + double sigmasq2=2*sigma*sigma; + + // loop over list of all neighbors within force cutoff + + // re-initialize gofr + delete [] gofr; + gofr = new double(nbin); + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + if (rsq < cutsq) { + // contribute to gofr + double r=sqrt(rsq); + int bin=floor(r/deltar); + int minbin, maxbin; // These cannot be unsigned + // Only consider contributions to g(r) of atoms less than n*sigma bins apart from the actual distance + minbin=bin - deltabin; + if (minbin < 0) minbin=0; + if (minbin > (nbin-1)) minbin=nbin-1; + maxbin=bin + deltabin; + if (maxbin > (nbin-1)) maxbin=nbin-1; + for(int k=minbin;k Date: Sat, 28 Apr 2018 09:01:09 +0200 Subject: [PATCH 094/675] pair_entropy_atom workin - avg missing --- src/compute_pair_entropy_atom.cpp | 78 +++++++++++++++++++------------ src/compute_pair_entropy_atom.h | 2 - 2 files changed, 49 insertions(+), 31 deletions(-) diff --git a/src/compute_pair_entropy_atom.cpp b/src/compute_pair_entropy_atom.cpp index baeddddd61..3e45ea530d 100644 --- a/src/compute_pair_entropy_atom.cpp +++ b/src/compute_pair_entropy_atom.cpp @@ -40,9 +40,9 @@ using namespace MathConst; ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), - gofr(NULL), pair_entropy(NULL) + list(NULL), pair_entropy(NULL) { - if (narg < 5 || narg > 7) + if (narg < 5 || narg > 5) error->all(FLERR,"Illegal compute pentropy/atom command"); sigma = force->numeric(FLERR,arg[3]); @@ -52,7 +52,6 @@ ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg avg_flag = 0; // optional keywords - int iarg = 5; while (iarg < narg) { if (strcmp(arg[iarg],"avg") == 0) { @@ -60,12 +59,12 @@ ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg error->all(FLERR,"Illegal compute pentropy/atom missing arguments after avg"); if (strcmp(arg[iarg+1],"yes") == 0) avg_flag = 1; else if (strcmp(arg[iarg+1],"no") == 0) avg_flag = 0; - else error->all(FLERR,"Illegal compute centro/atom argument after avg should be yes or no"); + else error->all(FLERR,"Illegal compute pentropy/atom argument after avg should be yes or no"); cutoff2 = force->numeric(FLERR,arg[iarg+2]); if (cutoff2 < 0.0) error->all(FLERR,"Illegal compute pentropy/atom command; negative cutoff2"); cutsq2 = cutoff2*cutoff2; iarg += 2; - } else error->all(FLERR,"Illegal compute centro/atom argument after sigma and cutoff should be avg"); + } else error->all(FLERR,"Illegal compute pentropy/atom argument after sigma and cutoff should be avg"); } peratom_flag = 1; @@ -74,14 +73,8 @@ ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg nbin = static_cast(cutoff / sigma) + 1; nmax = 0; maxneigh = 0; - deltabin = 2; + deltabin = 1; deltar = sigma; - rbin = new double(nbin); - rbinsq = new double(nbin); - for (int i = 0; i < nbin; i++) { - rbin[i] = i*deltar; - rbinsq[i] = rbin[i]*rbin[i]; - } } /* ---------------------------------------------------------------------- */ @@ -89,7 +82,6 @@ ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg ComputePairEntropyAtom::~ComputePairEntropyAtom() { memory->destroy(pair_entropy); - memory->destroy(gofr); } /* ---------------------------------------------------------------------- */ @@ -141,9 +133,16 @@ void ComputePairEntropyAtom::compute_peratom() int i,j,k,ii,jj,kk,n,inum,jnum; double xtmp,ytmp,ztmp,delx,dely,delz,rsq,value; int *ilist,*jlist,*numneigh,**firstneigh; + double rbin[nbin], rbinsq[nbin]; invoked_peratom = update->ntimestep; + // Initialize distance vectors + for (int i = 0; i < nbin; i++) { + rbin[i] = i*deltar; + rbinsq[i] = rbin[i]*rbin[i]; + } + // grow pair_entropy array if necessary if (atom->nmax > nmax) { @@ -162,6 +161,11 @@ void ComputePairEntropyAtom::compute_peratom() numneigh = list->numneigh; firstneigh = list->firstneigh; + // Compute some constants + double nlist_cutoff = force->pair->cutforce; + double sigmasq2=2*sigma*sigma; + double volume = (4./3.)*MY_PI*nlist_cutoff*nlist_cutoff*nlist_cutoff; + // compute pair entropy for each atom in group // use full neighbor list @@ -179,18 +183,16 @@ void ComputePairEntropyAtom::compute_peratom() // calculate kernel normalization - double nlist_cutoff = force->pair->cutforce; - double density = jnum/((4./3.)*MY_PI*cutoff*nlist_cutoff*nlist_cutoff*nlist_cutoff); + double density = jnum/volume; double normConstantBase = 2*MY_PI*density; // Normalization of g(r) normConstantBase *= sqrt(2.*MY_PI)*sigma; // Normalization of gaussian double invNormConstantBase = 1./normConstantBase; - double sigmasq2=2*sigma*sigma; // loop over list of all neighbors within force cutoff - // re-initialize gofr - delete [] gofr; - gofr = new double(nbin); + // initialize gofr + double gofr[nbin]; + for(int k=0;k Date: Mon, 30 Apr 2018 19:40:18 +0200 Subject: [PATCH 095/675] First fully working version of compute_pair_entropy_atom --- src/compute_pair_entropy_atom.cpp | 106 +++++++++++++++++++++++------- src/compute_pair_entropy_atom.h | 2 +- 2 files changed, 83 insertions(+), 25 deletions(-) diff --git a/src/compute_pair_entropy_atom.cpp b/src/compute_pair_entropy_atom.cpp index 3e45ea530d..c4e411f761 100644 --- a/src/compute_pair_entropy_atom.cpp +++ b/src/compute_pair_entropy_atom.cpp @@ -32,6 +32,8 @@ #include "math_const.h" #include "memory.h" #include "error.h" +#include "domain.h" + using namespace LAMMPS_NS; using namespace MathConst; @@ -40,9 +42,9 @@ using namespace MathConst; ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), - list(NULL), pair_entropy(NULL) + pair_entropy(NULL), pair_entropy_avg(NULL) { - if (narg < 5 || narg > 5) + if (narg < 5 || narg > 8) error->all(FLERR,"Illegal compute pentropy/atom command"); sigma = force->numeric(FLERR,arg[3]); @@ -63,18 +65,19 @@ ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg cutoff2 = force->numeric(FLERR,arg[iarg+2]); if (cutoff2 < 0.0) error->all(FLERR,"Illegal compute pentropy/atom command; negative cutoff2"); cutsq2 = cutoff2*cutoff2; - iarg += 2; + iarg += 3; } else error->all(FLERR,"Illegal compute pentropy/atom argument after sigma and cutoff should be avg"); } - peratom_flag = 1; cutsq = cutoff*cutoff; nbin = static_cast(cutoff / sigma) + 1; nmax = 0; maxneigh = 0; - deltabin = 1; + deltabin = 2; deltar = sigma; + peratom_flag = 1; + size_peratom_cols = 0; } /* ---------------------------------------------------------------------- */ @@ -82,6 +85,7 @@ ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg ComputePairEntropyAtom::~ComputePairEntropyAtom() { memory->destroy(pair_entropy); + if (avg_flag) memory->destroy(pair_entropy_avg); } /* ---------------------------------------------------------------------- */ @@ -91,17 +95,22 @@ void ComputePairEntropyAtom::init() if (force->pair == NULL) error->all(FLERR,"Compute centro/atom requires a pair style be defined"); - double largest_cutsq; - largest_cutsq = cutsq; - if (cutsq2 > cutsq) largest_cutsq = cutsq2; + //double largest_cutsq; + //largest_cutsq = cutsq; + //if (cutsq2 > cutsq) largest_cutsq = cutsq2; - if (sqrt(largest_cutsq) > force->pair->cutforce) - error->all(FLERR,"Compute pentropy/atom cutoff is longer than pairwise cutoff"); + if ( (cutoff+cutoff2) > (force->pair->cutforce + neighbor->skin) ) + { + //fprintf(screen, "%f %f %f %f \n", cutoff, cutoff2, (cutoff+cutoff2) , force->pair->cutforce + neighbor->skin ); + error->all(FLERR,"Compute pentropy/atom cutoff is longer than pairwise cutoff. Increase the neighbor list skin distance."); + } + /* if (2.0*sqrt(largest_cutsq) > force->pair->cutforce + neighbor->skin && comm->me == 0) error->warning(FLERR,"Compute pentropy/atom cutoff may be too large to find " "ghost atom neighbors"); + */ int count = 0; for (int i = 0; i < modify->ncompute; i++) @@ -109,14 +118,16 @@ void ComputePairEntropyAtom::init() if (count > 1 && comm->me == 0) error->warning(FLERR,"More than one compute pentropy/atom"); - // need an occasional full neighbor list + // need a full neighbor list with neighbors of the ghost atoms int irequest = neighbor->request(this,instance_me); neighbor->requests[irequest]->pair = 0; neighbor->requests[irequest]->compute = 1; neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; - neighbor->requests[irequest]->occasional = 1; + neighbor->requests[irequest]->occasional = 0; + neighbor->requests[irequest]->ghost = 1; + } /* ---------------------------------------------------------------------- */ @@ -143,20 +154,29 @@ void ComputePairEntropyAtom::compute_peratom() rbinsq[i] = rbin[i]*rbin[i]; } - // grow pair_entropy array if necessary + // grow pair_entropy and pair_entropy_avg array if necessary if (atom->nmax > nmax) { - memory->destroy(pair_entropy); - nmax = atom->nmax; - memory->create(pair_entropy,nmax,"pentropy/atom:pair_entropy"); - vector_atom = pair_entropy; + if (!avg_flag) { + memory->destroy(pair_entropy); + nmax = atom->nmax; + memory->create(pair_entropy,nmax,"pentropy/atom:pair_entropy"); + vector_atom = pair_entropy; + } else { + memory->destroy(pair_entropy); + memory->destroy(pair_entropy_avg); + nmax = atom->nmax; + memory->create(pair_entropy,nmax,"pentropy/atom:pair_entropy"); + memory->create(pair_entropy_avg,nmax,"pentropy/atom:pair_entropy_avg"); + vector_atom = pair_entropy_avg; + } } // invoke full neighbor list (will copy or build if necessary) - neighbor->build_one(list); + //neighbor->build_one(list); - inum = list->inum; + inum = list->inum + list->gnum; ilist = list->ilist; numneigh = list->numneigh; firstneigh = list->firstneigh; @@ -164,7 +184,8 @@ void ComputePairEntropyAtom::compute_peratom() // Compute some constants double nlist_cutoff = force->pair->cutforce; double sigmasq2=2*sigma*sigma; - double volume = (4./3.)*MY_PI*nlist_cutoff*nlist_cutoff*nlist_cutoff; + double volume = domain->xprd * domain->yprd * domain->zprd; + double density = atom->natoms / volume; // compute pair entropy for each atom in group // use full neighbor list @@ -183,8 +204,7 @@ void ComputePairEntropyAtom::compute_peratom() // calculate kernel normalization - double density = jnum/volume; - double normConstantBase = 2*MY_PI*density; // Normalization of g(r) + double normConstantBase = 4*MY_PI*density; // Normalization of g(r) normConstantBase *= sqrt(2.*MY_PI)*sigma; // Normalization of gaussian double invNormConstantBase = 1./normConstantBase; @@ -214,7 +234,7 @@ void ComputePairEntropyAtom::compute_peratom() maxbin=bin + deltabin; if (maxbin > (nbin-1)) maxbin=nbin-1; for(int k=minbin;k Date: Wed, 2 May 2018 16:10:31 +0200 Subject: [PATCH 096/675] Added documentation for compute_pair_entropy_atom --- doc/src/Eqs/pair_entropy.jpg | Bin 0 -> 8870 bytes doc/src/Eqs/pair_entropy.tex | 10 +++ doc/src/Eqs/pair_entropy2.jpg | Bin 0 -> 8474 bytes doc/src/Eqs/pair_entropy2.tex | 10 +++ doc/src/Eqs/pair_entropy3.jpg | Bin 0 -> 5759 bytes doc/src/Eqs/pair_entropy3.tex | 10 +++ doc/src/compute_pair_entropy_atom.txt | 121 ++++++++++++++++++++++++++ src/compute_pair_entropy_atom.cpp | 11 ++- 8 files changed, 160 insertions(+), 2 deletions(-) create mode 100644 doc/src/Eqs/pair_entropy.jpg create mode 100644 doc/src/Eqs/pair_entropy.tex create mode 100644 doc/src/Eqs/pair_entropy2.jpg create mode 100644 doc/src/Eqs/pair_entropy2.tex create mode 100644 doc/src/Eqs/pair_entropy3.jpg create mode 100644 doc/src/Eqs/pair_entropy3.tex create mode 100644 doc/src/compute_pair_entropy_atom.txt diff --git a/doc/src/Eqs/pair_entropy.jpg b/doc/src/Eqs/pair_entropy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..44161e6aa0e74a05544f8f29aab3ca942ef305a5 GIT binary patch literal 8870 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 b^)};gGsjB##`P=iU;YzY*MiNu@c%afhb!g~ literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/pair_entropy.tex b/doc/src/Eqs/pair_entropy.tex new file mode 100644 index 0000000000..304c9d6138 --- /dev/null +++ b/doc/src/Eqs/pair_entropy.tex @@ -0,0 +1,10 @@ +\documentclass[12pt]{article} + +\begin{document} +\thispagestyle{empty} + +$$ + s_S^i=-2\pi\rho k_B \int\limits_0^{r_m} \left [ g(r) \ln g(r) - g(r) + 1 \right ] r^2 dr , +$$ + +\end{document} diff --git a/doc/src/Eqs/pair_entropy2.jpg b/doc/src/Eqs/pair_entropy2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..db3dcb0ca75f444a6640e704c61326d7c8c598a9 GIT binary patch literal 8474 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 oG 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 literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/pair_entropy3.tex b/doc/src/Eqs/pair_entropy3.tex new file mode 100644 index 0000000000..b0b3c76358 --- /dev/null +++ b/doc/src/Eqs/pair_entropy3.tex @@ -0,0 +1,10 @@ +\documentclass[12pt]{article} + +\begin{document} +\thispagestyle{empty} + +$$ + \bar{s}_S^i = \frac{\sum_j s_S^j + s_S^i}{N + 1} , +$$ + +\end{document} diff --git a/doc/src/compute_pair_entropy_atom.txt b/doc/src/compute_pair_entropy_atom.txt new file mode 100644 index 0000000000..bed36ed4b6 --- /dev/null +++ b/doc/src/compute_pair_entropy_atom.txt @@ -0,0 +1,121 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +compute pentropy/atom command :h3 + +[Syntax:] + +compute ID group-ID pentropy/atom sigma cutoff :l +compute ID group-ID pentropy/atom sigma cutoff avg yes/no cutoff2 ... :pre + +ID, group-ID are documented in "compute"_compute.html command :l +pentropy/atom = style name of this compute command :l +sigma = width of gaussians used in the g(r) smoothening :l +cutoff = cutoff for the g(r) calculation :l +one or more keyword/value pairs may be appended :l +{avg} yes/no cutoff2 + avg = {no} or {yes} + {no} = do not average the pair entropy over neighbors + {yes} = average the pair entropy over neighbors + cutoff2 = cutoff for the averaging over neighbors :pre +:ule + +[Examples:] + +compute 1 all pentropy/atom 0.25 5. :pre +compute 1 all pentropy/atom 0.25 5. avg yes 5. :pre + +[Description:] + +Define a computation that calculates the pair entropy fingerprint for +each atom in the group. The fingerprint is useful to distinguish between +ordered and disordered environments, for instance liquid and solid-like +environments, or glassy and crystalline-like environments. Some + applications could be the identification of grain boundaries, a + melt-solid interface, or a solid cluster emerging from the melt. +The advantage of this parameter over others is that no a priori + information about the solid structure is required. + +This parameter for atom i is computed using the following formula from +"(Piaggi)"_#Piaggi + +:c,image(Eqs/pair_entropy.jpg) + +where r is a distance, g(r) is the radial distribution function of atom + i and rho is the density of the system. The g(r) computed for each + atom i can be noisy and therefore it is smoothened using: + +:c,image(Eqs/pair_entropy2.jpg) + +where the sum in j goes through the neighbors of atom i, and sigma is a +parameter to control the smoothening. + +The input parameters are {sigma} the smoothening parameter, and the + {cutoff} for the calculation of g(r). + +If the keyword {avg} has the setting {yes}, then this compute also + averages the parameter over the neighbors of atom i according to: + +:c,image(Eqs/pair_entropy3.jpg) + +where the sum j goes over the neighbors of atom i and N is the number + of neighbors. This procedure provides a sharper distinction between +order and disorder environments. In this case the input parameter + {cutoff2} is the cutoff for the averaging over the neighbors and + must also be specified. + +If the {avg yes} option is used, the effective cutoff of the neighbor + list should be {cutoff}+{cutoff2} and therefore it might be necessary + to increase the skin of the neighbor list with: + +neighbor skin bin :pre + +See "neighbor"_neighbor.html for details. + +The neighbor list needed to compute this quantity is constructed each +time the calculation is performed (e.g. each time a snapshot of atoms +is dumped). Thus it can be inefficient to compute/dump this quantity +too frequently or to have multiple compute/dump commands, each with a +{centro/atom} style. + +[Output info:] + +By default, this compute calculates the pair entropy value for each +atom as a per-atom vector, which can be accessed by any command that +uses per-atom values from a compute as input. See "Section +6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output +options. + +The pair entropy values have units of the Boltzmann constant. They are + always negative, and lower values (lower entropy) correspond to more + ordered environments. + +Here are typical input parameters for fcc aluminum (lattice + constant 4.05 Angstroms), + +compute 1 all pentropy/atom 0.25 5.7 avg yes 3.7 :pre + +and for bcc sodium (lattice constant 4.23 Angstroms), + +compute 1 all pentropy/atom 0.25 7.3 avg yes 5.1 :pre + +[Restrictions:] none + +[Related commands:] + +"compute cna/atom"_compute_cna_atom.html +"compute centro/atom"_compute_centro_atom.html + +[Default:] + +The default value for the optional keyword is avg = no. + +:line + +:link(Piaggi) +[(Piaggi)] Piaggi and Parrinello, J Chem Phys, 147, 114112 (2017). diff --git a/src/compute_pair_entropy_atom.cpp b/src/compute_pair_entropy_atom.cpp index c4e411f761..97461b4eec 100644 --- a/src/compute_pair_entropy_atom.cpp +++ b/src/compute_pair_entropy_atom.cpp @@ -47,6 +47,13 @@ ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg if (narg < 5 || narg > 8) error->all(FLERR,"Illegal compute pentropy/atom command"); + // Arguments are: sigma cutoff avg yes/no cutoff2 + // sigma is the gaussian width + // cutoff is the cutoff for the calculation of g(r) + // avg is optional and it means averaginf the pair entropy over the neighbors + // the next argument should be yes or no + // cutoff2 is the cutoff for the averaging + sigma = force->numeric(FLERR,arg[3]); cutoff = force->numeric(FLERR,arg[4]); if (cutoff < 0.0) error->all(FLERR,"Illegal compute pentropy/atom command; negative cutoff"); @@ -74,7 +81,7 @@ ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg nbin = static_cast(cutoff / sigma) + 1; nmax = 0; maxneigh = 0; - deltabin = 2; + deltabin = 2; // 2 seems a good compromise between speed and good mollification deltar = sigma; peratom_flag = 1; size_peratom_cols = 0; @@ -234,7 +241,7 @@ void ComputePairEntropyAtom::compute_peratom() maxbin=bin + deltabin; if (maxbin > (nbin-1)) maxbin=nbin-1; for(int k=minbin;k Date: Fri, 11 May 2018 15:24:26 -0600 Subject: [PATCH 097/675] Commit JT 051118 before CEA --- examples/SPIN/read_restart/in.spin.read_data | 70 +------------------ examples/SPIN/read_restart/in.spin.restart | 6 +- .../SPIN/read_restart/in.spin.write_restart | 4 +- src/SPIN/compute_spin.cpp | 5 +- src/SPIN/fix_langevin_spin.cpp | 1 - src/SPIN/fix_nve_spin.cpp | 18 +---- src/SPIN/fix_nve_spin.h | 8 +-- src/SPIN/fix_precession_spin.cpp | 1 - src/SPIN/pair_spin_dmi.cpp | 22 ++---- src/SPIN/pair_spin_dmi.h | 4 +- src/SPIN/pair_spin_exchange.cpp | 19 ++--- src/SPIN/pair_spin_exchange.h | 2 +- src/SPIN/pair_spin_me.cpp | 18 ++--- src/SPIN/pair_spin_me.h | 2 +- src/SPIN/pair_spin_neel.cpp | 10 +-- 15 files changed, 42 insertions(+), 148 deletions(-) diff --git a/examples/SPIN/read_restart/in.spin.read_data b/examples/SPIN/read_restart/in.spin.read_data index 7a3b1d0913..1cb99e2c6e 100644 --- a/examples/SPIN/read_restart/in.spin.read_data +++ b/examples/SPIN/read_restart/in.spin.read_data @@ -1,6 +1,3 @@ -<<<<<<< HEAD -<<<<<<< HEAD -# start a spin-lattice simulation from a data file clear units metal dimension 3 @@ -10,57 +7,13 @@ atom_style spin # necessary for the serial algorithm (sametag) atom_modify map array - read_data ../examples/SPIN/read_restart/Norm_randXY_8x8x32.data -======= -======= -# start a spin-lattice simulation from a data file ->>>>>>> Commit modifs before release 1 (03/26/18) -clear -units metal -dimension 3 -boundary p p p - -atom_style spin - -# necessary for the serial algorithm (sametag) -atom_modify map array - -<<<<<<< HEAD ->>>>>>> Commit before meeting 032218 -======= -read_data ../examples/SPIN/read_restart/Norm_randXY_8x8x32.data ->>>>>>> Commit modifs before release 1 (03/26/18) mass 1 58.93 -# define magneto-mechanical potentials and forces -<<<<<<< HEAD -<<<<<<< HEAD -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 - -neighbor 1.0 bin -neigh_modify every 1 check no delay 0 - -fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all nve/spin lattice yes -timestep 0.0001 - -# define outputs and computes -======= -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 -pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 -pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 -======= -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 pair_coeff * * eam/alloy ../examples/SPIN/read_restart/Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 ->>>>>>> Commit modifs before release 1 (03/26/18) +pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 neighbor 1.0 bin neigh_modify every 1 check no delay 0 @@ -71,12 +24,7 @@ fix 2 all langevin/spin 0.0 0.0 21 fix 3 all nve/spin lattice yes timestep 0.0001 -<<<<<<< HEAD -# define outputs ->>>>>>> Commit before meeting 032218 -======= # define outputs and computes ->>>>>>> Commit modifs before release 1 (03/26/18) compute out_mag all compute/spin compute out_pe all pe @@ -92,21 +40,7 @@ thermo 10 thermo_style custom step time v_magnorm v_emag v_tmag temp etotal thermo_modify format float %20.15g -<<<<<<< HEAD -<<<<<<< HEAD compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] run 100 -======= -dump 1 all custom 1 dump.lammpstrj type x y z spx spy spz - -run 10000 ->>>>>>> Commit before meeting 032218 -======= -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] - -run 100 ->>>>>>> Commit modifs before release 1 (03/26/18) - diff --git a/examples/SPIN/read_restart/in.spin.restart b/examples/SPIN/read_restart/in.spin.restart index 5970953b30..371e48a946 100644 --- a/examples/SPIN/read_restart/in.spin.restart +++ b/examples/SPIN/read_restart/in.spin.restart @@ -13,7 +13,7 @@ lattice fcc 3.54 region box block 0.0 5.0 0.0 5.0 0.0 5.0 create_box 1 box -read_dump ../examples/SPIN/Norm_randXY_8x8x32.dump 0 x y z box yes +read_dump ../examples/SPIN/read_restart/Norm_randXY_8x8x32.dump 0 x y z box yes create_atoms 1 box @@ -27,9 +27,9 @@ velocity all create 200 4928459 rot yes dist gaussian # define magneto-mechanical potentials and forces -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 pair_coeff * * eam/alloy ../examples/SPIN/Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 neighbor 1.0 bin neigh_modify every 1 check no delay 0 diff --git a/examples/SPIN/read_restart/in.spin.write_restart b/examples/SPIN/read_restart/in.spin.write_restart index 2b2e9e0622..6848da0154 100644 --- a/examples/SPIN/read_restart/in.spin.write_restart +++ b/examples/SPIN/read_restart/in.spin.write_restart @@ -22,9 +22,9 @@ mass 1 58.93 set group all spin/random 31 1.72 velocity all create 100 4928459 rot yes dist gaussian -pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 pair_coeff * * eam/alloy ../examples/SPIN/cobalt_fcc/Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 +pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 3d5de8fb03..ab3bab2487 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -74,7 +74,7 @@ void ComputeSpin::init() void ComputeSpin::compute_vector() { - int i, index; + int i; int countsp, countsptot; double mag[4], magtot[4]; double magenergy, magenergytot; @@ -92,10 +92,7 @@ void ComputeSpin::compute_vector() tempdenom = tempdenomtot = 0.0; spintemperature = 0.0; - double **x = atom->x; int *mask = atom->mask; - int *type = atom->type; - imageint *image = atom->image; double **sp = atom->sp; double **fm = atom->fm; double tx,ty,tz; diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index aa017a12b8..c7f75b0cd4 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -117,7 +117,6 @@ void FixLangevinSpin::init() { // fix_langevin_spin has to be the last defined fix - int after = 0; int flag_force = 0; int flag_lang = 0; for (int i = 0; i < modify->nfix; i++) { diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index d94103dd7f..7eafc92dfd 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -258,14 +258,11 @@ void FixNVESpin::init() void FixNVESpin::initial_integrate(int vflag) { - double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy; - double spi[3], fmi[3]; + double dtfm; double **x = atom->x; double **v = atom->v; double **f = atom->f; - double **sp = atom->sp; - double **fm = atom->fm; double *rmass = atom->rmass; double *mass = atom->mass; int nlocal = atom->nlocal; @@ -422,17 +419,11 @@ void FixNVESpin::pre_neighbor() void FixNVESpin::ComputeInteractionsSpin(int i) { - const int nlocal = atom->nlocal; double spi[3], fmi[3]; double **sp = atom->sp; double **fm = atom->fm; - int eflag = 1; - int vflag = 0; - - int pair_compute_flag = 1; - // force computation for spin i spi[0] = sp[i][0]; @@ -564,13 +555,12 @@ void FixNVESpin::AdvanceSingleSpin(int i) int *sametag = atom->sametag; double **sp = atom->sp; double **fm = atom->fm; - double dtfm,msq,scale,fm2,fmsq,sp2,spsq,energy,dts2; + double msq,scale,fm2,energy,dts2; double cp[3],g[3]; cp[0] = cp[1] = cp[2] = 0.0; g[0] = g[1] = g[2] = 0.0; fm2 = (fm[i][0]*fm[i][0])+(fm[i][1]*fm[i][1])+(fm[i][2]*fm[i][2]); - fmsq = sqrt(fm2); energy = (sp[i][0]*fm[i][0])+(sp[i][1]*fm[i][1])+(sp[i][2]*fm[i][2]); dts2 = dts*dts; @@ -622,10 +612,8 @@ void FixNVESpin::AdvanceSingleSpin(int i) void FixNVESpin::final_integrate() { - double dtfm,msq,scale,fm2,fmsq,energy; - double cp[3],g[3]; + double dtfm; - double **x = atom->x; double **v = atom->v; double **f = atom->f; double *rmass = atom->rmass; diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index c7d88ef605..70781c6d8c 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -80,10 +80,10 @@ friend class PairSpin; // stacking variables for sectoring algorithm - int *stack_head; // index of first atom in backward_stacks - int *stack_foot; // index of first atom in forward_stacks - int *backward_stacks; // index of next atom in backward stack - int *forward_stacks; // index of next atom in forward stack + int *stack_head; // index of first atom in backward_stacks + int *stack_foot; // index of first atom in forward_stacks + int *backward_stacks; // index of next atom in backward stack + int *forward_stacks; // index of next atom in forward stack }; diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index 67984a6009..4ee5e87540 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -183,7 +183,6 @@ void FixPrecessionSpin::post_force(int vflag) double **fm = atom->fm; double spi[3], fmi[3]; const int nlocal = atom->nlocal; - double scalar; eflag = 0; emag = 0.0; diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 8e1b961794..c89ddd085a 100755 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -283,9 +283,9 @@ void PairSpinDmi::compute(int eflag, int vflag) // compute magnetic and mechanical components of soc_dmi if (rsq <= local_cut2) { - compute_dmi(i,j,rsq,eij,fmi,spi,spj); + compute_dmi(i,j,eij,fmi,spj); if (lattice_flag) { - compute_dmi_mech(i,j,fi,spi,spj); + compute_dmi_mech(fi); } } @@ -321,33 +321,25 @@ void PairSpinDmi::compute(int eflag, int vflag) void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) { - - const int nlocal = atom->nlocal; int *type = atom->type; double **x = atom->x; double **sp = atom->sp; double local_cut2; double xi[3], rij[3], eij[3]; - double spi[3], spj[3]; + double spj[3]; - int iexchange, idmi, ineel, ime; - int i,j,jj,inum,jnum,itype,jtype; + int i,j,jnum,itype,jtype; int *ilist,*jlist,*numneigh,**firstneigh; double rsq, inorm; - inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; firstneigh = list->firstneigh; i = ilist[ii]; itype = type[i]; - - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; xi[0] = x[i][0]; xi[1] = x[i][1]; @@ -378,7 +370,7 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) local_cut2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; if (rsq <= local_cut2) { - compute_dmi(i,j,rsq,eij,fmi,spi,spj); + compute_dmi(i,j,eij,fmi,spj); } } @@ -389,7 +381,7 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) compute the dmi interaction between spin i and spin j ------------------------------------------------------------------------- */ -void PairSpinDmi::compute_dmi(int i, int j, double rsq, double eij[3], double fmi[3], double spi[3], double spj[3]) +void PairSpinDmi::compute_dmi(int i, int j, double eij[3], double fmi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -410,7 +402,7 @@ void PairSpinDmi::compute_dmi(int i, int j, double rsq, double eij[3], double fm compute the mechanical force due to the dmi interaction between atom i and atom j ------------------------------------------------------------------------- */ -void PairSpinDmi::compute_dmi_mech(int i, int j, double fi[3], double spi[3], double spj[3]) +void PairSpinDmi::compute_dmi_mech(double fi[3]) { fi[0] += 0.0; fi[1] += 0.0; diff --git a/src/SPIN/pair_spin_dmi.h b/src/SPIN/pair_spin_dmi.h index 108acf21e7..cbd234c192 100755 --- a/src/SPIN/pair_spin_dmi.h +++ b/src/SPIN/pair_spin_dmi.h @@ -37,8 +37,8 @@ class PairSpinDmi : public PairSpin { void compute(int, int); void compute_single_pair(int, double *); - void compute_dmi(int, int, double, double *, double *, double *, double *); - void compute_dmi_mech(int, int, double *, double *, double *); + void compute_dmi(int, int, double *, double *, double *); + void compute_dmi_mech(double *); void write_restart(FILE *); void read_restart(FILE *); diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 04504cfe12..36708293f7 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -140,7 +140,7 @@ void PairSpinExchange::coeff(int narg, char **arg) } /* ---------------------------------------------------------------------- - init specific to this pair style + init specific to this pair style ------------------------------------------------------------------------- */ void PairSpinExchange::init_style() @@ -273,7 +273,7 @@ void PairSpinExchange::compute(int eflag, int vflag) // compute exchange interaction if (rsq <= local_cut2) { - compute_exchange(i,j,rsq,fmi,spi,spj); + compute_exchange(i,j,rsq,fmi,spj); if (lattice_flag) { compute_exchange_mech(i,j,rsq,eij,fi,spi,spj); } @@ -316,22 +316,19 @@ void PairSpinExchange::compute(int eflag, int vflag) void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) { - const int nlocal = atom->nlocal; int *type = atom->type; double **x = atom->x; double **sp = atom->sp; double local_cut2; double xi[3], rij[3]; - double spi[3], spj[3]; + double spj[3]; - int iexchange, idmi, ineel, ime; - int i,j,jj,inum,jnum,itype,jtype; + int i,j,jnum,itype,jtype; int *ilist,*jlist,*numneigh,**firstneigh; double rsq; - inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; firstneigh = list->firstneigh; @@ -339,10 +336,6 @@ void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) i = ilist[ii]; itype = type[i]; - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; @@ -367,7 +360,7 @@ void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; if (rsq <= local_cut2) { - compute_exchange(i,j,rsq,fmi,spi,spj); + compute_exchange(i,j,rsq,fmi,spj); } } @@ -378,7 +371,7 @@ void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) compute exchange interaction between spins i and j ------------------------------------------------------------------------- */ -void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], double spi[3], double spj[3]) +void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], double spj[3]) { int *type = atom->type; int itype, jtype; diff --git a/src/SPIN/pair_spin_exchange.h b/src/SPIN/pair_spin_exchange.h index 07536a18bd..89b35c1bd8 100755 --- a/src/SPIN/pair_spin_exchange.h +++ b/src/SPIN/pair_spin_exchange.h @@ -37,7 +37,7 @@ class PairSpinExchange : public PairSpin { void compute(int, int); void compute_single_pair(int, double *); - void compute_exchange(int, int, double, double *, double *, double *); + void compute_exchange(int, int, double, double *, double *); void compute_exchange_mech(int, int, double, double *, double *, double *, double *); void write_restart(FILE *); diff --git a/src/SPIN/pair_spin_me.cpp b/src/SPIN/pair_spin_me.cpp index f01fd23dd5..cbc8ae3cd1 100755 --- a/src/SPIN/pair_spin_me.cpp +++ b/src/SPIN/pair_spin_me.cpp @@ -282,7 +282,7 @@ void PairSpinMe::compute(int eflag, int vflag) // compute me interaction if (rsq <= local_cut2) { - compute_me(i,j,rsq,eij,fmi,spi,spj); + compute_me(i,j,rsq,eij,fmi,spj); if (lattice_flag) { compute_me_mech(i,j,fi,spi,spj); } @@ -320,23 +320,19 @@ void PairSpinMe::compute(int eflag, int vflag) void PairSpinMe::compute_single_pair(int ii, double fmi[3]) { - - const int nlocal = atom->nlocal; int *type = atom->type; double **x = atom->x; double **sp = atom->sp; double local_cut2; double xi[3], rij[3], eij[3]; - double spi[3], spj[3]; + double spj[3]; - int iexchange, idmi, ineel, ime; - int i,j,jj,inum,jnum,itype,jtype; + int i,j,jnum,itype,jtype; int *ilist,*jlist,*numneigh,**firstneigh; double rsq, inorm; - inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; firstneigh = list->firstneigh; @@ -344,10 +340,6 @@ void PairSpinMe::compute_single_pair(int ii, double fmi[3]) i = ilist[ii]; itype = type[i]; - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; - spi[2] = sp[i][2]; - xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; @@ -378,7 +370,7 @@ void PairSpinMe::compute_single_pair(int ii, double fmi[3]) eij[2] = inorm*rij[2]; if (rsq <= local_cut2) { - compute_me(i,j,rsq,eij,fmi,spi,spj); + compute_me(i,j,rsq,eij,fmi,spj); } } @@ -386,7 +378,7 @@ void PairSpinMe::compute_single_pair(int ii, double fmi[3]) /* ---------------------------------------------------------------------- */ -void PairSpinMe::compute_me(int i, int j, double rsq, double eij[3], double fmi[3], double spi[3], double spj[3]) +void PairSpinMe::compute_me(int i, int j, double rsq, double eij[3], double fmi[3], double spj[3]) { int *type = atom->type; int itype, jtype; diff --git a/src/SPIN/pair_spin_me.h b/src/SPIN/pair_spin_me.h index 7875461166..bfbfe213ad 100755 --- a/src/SPIN/pair_spin_me.h +++ b/src/SPIN/pair_spin_me.h @@ -37,7 +37,7 @@ class PairSpinMe : public PairSpin { void compute(int, int); void compute_single_pair(int, double *); - void compute_me(int, int, double, double *, double *, double *, double *); + void compute_me(int, int, double, double *, double *, double *); void compute_me_mech(int, int, double *, double *, double *); void write_restart(FILE *); diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index fdb95a3fc3..7ada406b82 100755 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -326,7 +326,6 @@ void PairSpinNeel::compute(int eflag, int vflag) void PairSpinNeel::compute_single_pair(int ii, double fmi[3]) { - const int nlocal = atom->nlocal; int *type = atom->type; double **x = atom->x; double **sp = atom->sp; @@ -335,13 +334,11 @@ void PairSpinNeel::compute_single_pair(int ii, double fmi[3]) double xi[3], rij[3], eij[3]; double spi[3], spj[3]; - int iexchange, idmi, ineel, ime; - int i,j,jj,inum,jnum,itype,jtype; + int i,j,jnum,itype,jtype; int *ilist,*jlist,*numneigh,**firstneigh; - double rsq, rd, inorm; + double rsq, inorm; - inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; firstneigh = list->firstneigh; @@ -379,6 +376,9 @@ void PairSpinNeel::compute_single_pair(int ii, double fmi[3]) rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; inorm = 1.0/sqrt(rsq); + eij[0] = inorm*rij[0]; + eij[1] = inorm*rij[1]; + eij[2] = inorm*rij[2]; if (rsq <= local_cut2) { compute_neel(i,j,rsq,eij,fmi,spi,spj); -- GitLab From 124641dc8af97154d5a485453a0e8106a845da9a Mon Sep 17 00:00:00 2001 From: PabloPiaggi Date: Fri, 18 May 2018 15:13:48 +0200 Subject: [PATCH 098/675] Examples - new local option --- doc/src/compute_pair_entropy_atom.txt | 5 +- .../pair_entropy/Na_MendelevM_2014.eam.fs | 6006 ++++++++++++ .../USER/misc/pair_entropy/data.interface | 8211 +++++++++++++++++ examples/USER/misc/pair_entropy/start.lmp | 34 + src/compute_pair_entropy_atom.cpp | 18 +- src/compute_pair_entropy_atom.h | 1 + 6 files changed, 14271 insertions(+), 4 deletions(-) create mode 100644 examples/USER/misc/pair_entropy/Na_MendelevM_2014.eam.fs create mode 100644 examples/USER/misc/pair_entropy/data.interface create mode 100644 examples/USER/misc/pair_entropy/start.lmp diff --git a/doc/src/compute_pair_entropy_atom.txt b/doc/src/compute_pair_entropy_atom.txt index bed36ed4b6..9a2dbb8f14 100644 --- a/doc/src/compute_pair_entropy_atom.txt +++ b/doc/src/compute_pair_entropy_atom.txt @@ -42,7 +42,7 @@ The advantage of this parameter over others is that no a priori information about the solid structure is required. This parameter for atom i is computed using the following formula from -"(Piaggi)"_#Piaggi +"(Piaggi)"_#Piaggi and "(Nettleton)"_#Nettleton :c,image(Eqs/pair_entropy.jpg) @@ -119,3 +119,6 @@ The default value for the optional keyword is avg = no. :link(Piaggi) [(Piaggi)] Piaggi and Parrinello, J Chem Phys, 147, 114112 (2017). + +:link(Nettleton} +[(Nettleton)] Nettleton and Green, J Chem Phys, 29, 6 (1958). diff --git a/examples/USER/misc/pair_entropy/Na_MendelevM_2014.eam.fs b/examples/USER/misc/pair_entropy/Na_MendelevM_2014.eam.fs new file mode 100644 index 0000000000..76ecae7b44 --- /dev/null +++ b/examples/USER/misc/pair_entropy/Na_MendelevM_2014.eam.fs @@ -0,0 +1,6006 @@ +Source: M.I. Mendelev, unpublished +Contact information: mendelev@ameslab.gov +Tuesday, Sep 2, 2014 The potential was taken from v1_4_bcc (in C:\SIMULATION.MD\Na\Results\v1_4) +1 Na +10000 1.00000000000000E-0002 10000 9.20000000000000E-0004 9.20000000000000E+0000 +11 2.29897700000000E+0001 4.22786798098572E+0000 bcc +0 -1.00000000000000E-0001 -1.41421356237310E-0001 -1.73205080756888E-0001 -2.00000000000000E-0001 +-2.23606797749979E-0001 -2.44948974278318E-0001 -2.64575131106459E-0001 -2.82842712474619E-0001 -3.00000000000000E-0001 +-3.16227766016838E-0001 -3.31662479035540E-0001 -3.46410161513775E-0001 -3.60555127546399E-0001 -3.74165738677394E-0001 +-3.87298334620742E-0001 -4.00000000000000E-0001 -4.12310562561766E-0001 -4.24264068711929E-0001 -4.35889894354067E-0001 +-4.47213595499958E-0001 -4.58257569495584E-0001 -4.69041575982343E-0001 -4.79583152331272E-0001 -4.89897948556636E-0001 +-5.00000000000000E-0001 -5.09901951359279E-0001 -5.19615242270663E-0001 -5.29150262212918E-0001 -5.38516480713450E-0001 +-5.47722557505166E-0001 -5.56776436283002E-0001 -5.65685424949238E-0001 -5.74456264653803E-0001 -5.83095189484530E-0001 +-5.91607978309962E-0001 -6.00000000000000E-0001 -6.08276253029822E-0001 -6.16441400296898E-0001 -6.24499799839840E-0001 +-6.32455532033676E-0001 -6.40312423743285E-0001 -6.48074069840786E-0001 -6.55743852430200E-0001 -6.63324958071080E-0001 +-6.70820393249937E-0001 -6.78232998312527E-0001 -6.85565460040104E-0001 -6.92820323027551E-0001 -7.00000000000000E-0001 +-7.07106781186548E-0001 -7.14142842854285E-0001 -7.21110255092798E-0001 -7.28010988928052E-0001 -7.34846922834953E-0001 +-7.41619848709566E-0001 -7.48331477354788E-0001 -7.54983443527075E-0001 -7.61577310586391E-0001 -7.68114574786861E-0001 +-7.74596669241483E-0001 -7.81024967590665E-0001 -7.87400787401181E-0001 -7.93725393319377E-0001 -8.00000000000000E-0001 +-8.06225774829855E-0001 -8.12403840463596E-0001 -8.18535277187245E-0001 -8.24621125123532E-0001 -8.30662386291807E-0001 +-8.36660026534076E-0001 -8.42614977317636E-0001 -8.48528137423857E-0001 -8.54400374531753E-0001 -8.60232526704263E-0001 +-8.66025403784439E-0001 -8.71779788708135E-0001 -8.77496438739212E-0001 -8.83176086632785E-0001 -8.88819441731559E-0001 +-8.94427190999916E-0001 -9.00000000000000E-0001 -9.05538513813742E-0001 -9.11043357914430E-0001 -9.16515138991168E-0001 +-9.21954445729289E-0001 -9.27361849549570E-0001 -9.32737905308881E-0001 -9.38083151964686E-0001 -9.43398113205660E-0001 +-9.48683298050514E-0001 -9.53939201416946E-0001 -9.59166304662544E-0001 -9.64365076099296E-0001 -9.69535971483266E-0001 +-9.74679434480896E-0001 -9.79795897113271E-0001 -9.84885780179610E-0001 -9.89949493661167E-0001 -9.94987437106620E-0001 +-1.00000000000000E+0000 -1.00498756211209E+0000 -1.00995049383621E+0000 -1.01488915650922E+0000 -1.01980390271856E+0000 +-1.02469507659596E+0000 -1.02956301409870E+0000 -1.03440804327886E+0000 -1.03923048454133E+0000 -1.04403065089106E+0000 +-1.04880884817015E+0000 -1.05356537528527E+0000 -1.05830052442584E+0000 -1.06301458127346E+0000 -1.06770782520313E+0000 +-1.07238052947636E+0000 -1.07703296142690E+0000 -1.08166538263920E+0000 -1.08627804912002E+0000 -1.09087121146357E+0000 +-1.09544511501033E+0000 -1.10000000006718E+0000 -1.10453610279366E+0000 -1.10905365608280E+0000 -1.11355288976496E+0000 +-1.11803403073954E+0000 -1.12249730310191E+0000 -1.12694292826589E+0000 -1.13137112508183E+0000 -1.13578210995057E+0000 +-1.14017609693349E+0000 -1.14455329785864E+0000 -1.14891392242332E+0000 -1.15325817829318E+0000 -1.15758627119788E+0000 +-1.16189840502365E+0000 -1.16619478190269E+0000 -1.17047560229968E+0000 -1.17474106509540E+0000 -1.17899136766766E+0000 +-1.18322670596960E+0000 -1.18744727460551E+0000 -1.19165326690416E+0000 -1.19584487498991E+0000 -1.20002228985149E+0000 +-1.20418570140872E+0000 -1.20833529857707E+0000 -1.21247126933035E+0000 -1.21659380076137E+0000 -1.22070307914081E+0000 +-1.22479928997433E+0000 -1.22888261805798E+0000 -1.23295324753184E+0000 -1.23701136193229E+0000 -1.24105714424253E+0000 +-1.24509077694175E+0000 -1.24911244205286E+0000 -1.25312232118880E+0000 -1.25712059559759E+0000 -1.26110744620603E+0000 +-1.26508305366220E+0000 -1.26904759837680E+0000 -1.27300126056326E+0000 -1.27694422027680E+0000 -1.28087665745239E+0000 +-1.28479875194166E+0000 -1.28871068354884E+0000 -1.29261263206567E+0000 -1.29650477730545E+0000 -1.30038729913608E+0000 +-1.30426037751232E+0000 -1.30812419250714E+0000 -1.31197892434224E+0000 -1.31582475341782E+0000 -1.31966186034151E+0000 +-1.32349042595665E+0000 -1.32731063136972E+0000 -1.33112265797719E+0000 -1.33492668749159E+0000 -1.33872290196698E+0000 +-1.34251148382379E+0000 -1.34629261579811E+0000 -1.35006648014203E+0000 -1.35383325782324E+0000 -1.35759312847270E+0000 +-1.36134627040651E+0000 -1.36509286064725E+0000 -1.36883307494489E+0000 -1.37256708779708E+0000 -1.37629507246906E+0000 +-1.38001720101302E+0000 -1.38373364428704E+0000 -1.38744457197359E+0000 -1.39115015259757E+0000 -1.39485055354395E+0000 +-1.39854594107499E+0000 -1.40223648034706E+0000 -1.40592233542711E+0000 -1.40960366930871E+0000 -1.41328064392777E+0000 +-1.41695342017788E+0000 -1.42062215792530E+0000 -1.42428701602365E+0000 -1.42794815232825E+0000 -1.43160572371012E+0000 +-1.43525988606971E+0000 -1.43891079435033E+0000 -1.44255860255123E+0000 -1.44620346374048E+0000 -1.44984553006750E+0000 +-1.45348495277537E+0000 -1.45712188221283E+0000 -1.46075646784607E+0000 -1.46438885827024E+0000 -1.46801920122075E+0000 +-1.47164764358426E+0000 -1.47527433140955E+0000 -1.47889940991805E+0000 -1.48252302351425E+0000 -1.48614531579582E+0000 +-1.48976642956356E+0000 -1.49338650683116E+0000 -1.49700568883471E+0000 -1.50062411604207E+0000 -1.50424192816204E+0000 +-1.50785926415330E+0000 -1.51147626223323E+0000 -1.51509305988655E+0000 -1.51870979387373E+0000 -1.52232660023930E+0000 +-1.52594361431998E+0000 -1.52956097075262E+0000 -1.53317880348202E+0000 -1.53679724576861E+0000 -1.54041643019589E+0000 +-1.54403648867789E+0000 -1.54765755246631E+0000 -1.55127975215767E+0000 -1.55490321770021E+0000 -1.55852807840075E+0000 +-1.56215446293137E+0000 -1.56578249933596E+0000 -1.56941231503670E+0000 -1.57304403684034E+0000 -1.57667779094446E+0000 +-1.58031370294352E+0000 -1.58395189783485E+0000 -1.58759250002456E+0000 -1.59123563333324E+0000 -1.59488142100169E+0000 +-1.59852998569642E+0000 -1.60218144951515E+0000 -1.60583593399216E+0000 -1.60949356010353E+0000 -1.61315444827237E+0000 +-1.61681871837382E+0000 -1.62048648974013E+0000 -1.62415788116547E+0000 -1.62783301091084E+0000 -1.63151199670874E+0000 +-1.63519495576783E+0000 -1.63888200477753E+0000 -1.64257325991248E+0000 -1.64626883683698E+0000 -1.64996885070931E+0000 +-1.65367341618601E+0000 -1.65738264742605E+0000 -1.66109665809499E+0000 -1.66481556136900E+0000 -1.66853946993888E+0000 +-1.67226849601392E+0000 -1.67600275132581E+0000 -1.67974234713242E+0000 -1.68348739422148E+0000 -1.68723800291432E+0000 +-1.69099428306941E+0000 -1.69475634408595E+0000 -1.69852429490731E+0000 -1.70229824402453E+0000 -1.70607829947963E+0000 +-1.70986456886898E+0000 -1.71365715934652E+0000 -1.71745617762704E+0000 -1.72126172998929E+0000 -1.72507392227912E+0000 +-1.72889285991253E+0000 -1.73271864787871E+0000 -1.73655139074300E+0000 -1.74039119264978E+0000 -1.74423815732543E+0000 +-1.74809238808105E+0000 -1.75195398781535E+0000 -1.75582305901734E+0000 -1.75969970376905E+0000 -1.76358402374818E+0000 +-1.76747612023076E+0000 -1.77137609409365E+0000 -1.77528404581719E+0000 -1.77920007548761E+0000 -1.78312428279956E+0000 +-1.78705676705848E+0000 -1.79099762718305E+0000 -1.79494696170751E+0000 -1.79890486878400E+0000 -1.80287144618483E+0000 +-1.80684679130475E+0000 -1.81083100116315E+0000 -1.81482417240629E+0000 -1.81882640130939E+0000 -1.82283778377880E+0000 +-1.82685841535410E+0000 -1.83088839121012E+0000 -1.83492780615901E+0000 -1.83897675465222E+0000 -1.84303533078252E+0000 +-1.84710362828586E+0000 -1.85118174054337E+0000 -1.85526976058324E+0000 -1.85936778108252E+0000 -1.86347589436905E+0000 +-1.86759419242319E+0000 -1.87172276687967E+0000 -1.87586170902932E+0000 -1.88001110982080E+0000 -1.88417105986234E+0000 +-1.88834164942340E+0000 -1.89252296843637E+0000 -1.89671510649818E+0000 -1.90091815287193E+0000 -1.90513219648850E+0000 +-1.90935732594811E+0000 -1.91359362952191E+0000 -1.91784119515344E+0000 -1.92210011046022E+0000 -1.92637046273521E+0000 +-1.93065233894828E+0000 -1.93494582574765E+0000 -1.93925100946136E+0000 -1.94356797609866E+0000 -1.94789681135141E+0000 +-1.95223760059544E+0000 -1.95659042889194E+0000 -1.96095538098877E+0000 -1.96533254132182E+0000 -1.96972199401626E+0000 +-1.97412382288788E+0000 -1.97853811144436E+0000 -1.98296494288647E+0000 -1.98740440010937E+0000 -1.99185656570381E+0000 +-1.99632152195732E+0000 -2.00079935085545E+0000 -2.00529013408289E+0000 -2.00979395302466E+0000 -2.01431088876725E+0000 +-2.01884102209977E+0000 -2.02338443351504E+0000 -2.02794120321070E+0000 -2.03251141109033E+0000 -2.03709513676447E+0000 +-2.04169245955174E+0000 -2.04630345847984E+0000 -2.05092821228664E+0000 -2.05556679942114E+0000 -2.06021929804454E+0000 +-2.06488578603120E+0000 -2.06956634096962E+0000 -2.07426104016346E+0000 -2.07896996063246E+0000 -2.08369317911340E+0000 +-2.08843077206105E+0000 -2.09318281564907E+0000 -2.09794938577095E+0000 -2.10273055804093E+0000 -2.10752640779485E+0000 +-2.11233701009105E+0000 -2.11716243971128E+0000 -2.12200277116148E+0000 -2.12685807867274E+0000 -2.13172843620203E+0000 +-2.13661391743311E+0000 -2.14151459577734E+0000 -2.14643054437445E+0000 -2.15136183609339E+0000 -2.15630854353309E+0000 +-2.16127073902327E+0000 -2.16624849462521E+0000 -2.17124188213248E+0000 -2.17625097307175E+0000 -2.18127583870351E+0000 +-2.18631655002280E+0000 -2.19137317775997E+0000 -2.19644579238137E+0000 -2.20153446409009E+0000 -2.20663926282664E+0000 +-2.21176025826970E+0000 -2.21689751983673E+0000 -2.22205111668472E+0000 -2.22722111771083E+0000 -2.23240759155308E+0000 +-2.23761060659098E+0000 -2.24283023094620E+0000 -2.24806653248323E+0000 -2.25331957880997E+0000 -2.25858943727841E+0000 +-2.26387617498524E+0000 -2.26917985877244E+0000 -2.27450055522791E+0000 -2.27983833068608E+0000 -2.28519325122849E+0000 +-2.29056538268441E+0000 -2.29595479063136E+0000 -2.30136154039576E+0000 -2.30678569705344E+0000 -2.31222732543025E+0000 +-2.31768649010261E+0000 -2.32316325539801E+0000 -2.32865768539563E+0000 -2.33416984392685E+0000 -2.33969979457575E+0000 +-2.34524760067970E+0000 -2.35081332532984E+0000 -2.35639703137162E+0000 -2.36199878140528E+0000 -2.36761863778640E+0000 +-2.37325666262636E+0000 -2.37891291779289E+0000 -2.38458746491048E+0000 -2.39028036536094E+0000 -2.39599168028385E+0000 +-2.40172147057701E+0000 -2.40746979689698E+0000 -2.41323671965946E+0000 -2.41902229903981E+0000 -2.42482659497349E+0000 +-2.43064966715650E+0000 -2.43649157504585E+0000 -2.44235237785996E+0000 -2.44823213457916E+0000 -2.45413090394605E+0000 +-2.46004874446598E+0000 -2.46598571440747E+0000 -2.47194187180259E+0000 -2.47791727444744E+0000 -2.48391197990249E+0000 +-2.48992604549303E+0000 -2.49595952830957E+0000 -2.50201248520824E+0000 -2.50808497281116E+0000 -2.51417704750686E+0000 +-2.52028876545063E+0000 -2.52642018256497E+0000 -2.53257135453989E+0000 -2.53874233683334E+0000 -2.54493318467155E+0000 +-2.55114395304943E+0000 -2.55737469673090E+0000 -2.56362547024927E+0000 -2.56989632790759E+0000 -2.57618732377903E+0000 +-2.58249851170717E+0000 -2.58882994530642E+0000 -2.59518167796230E+0000 -2.60155376283183E+0000 -2.60794625284382E+0000 +-2.61435920069925E+0000 -2.62079265887156E+0000 -2.62724667960701E+0000 -2.63372131492498E+0000 -2.64021661661830E+0000 +-2.64673263625358E+0000 -2.65326942517149E+0000 -2.65982703448711E+0000 -2.66640551509022E+0000 -2.67300491764560E+0000 +-2.67962529259335E+0000 -2.68626669014918E+0000 -2.69292916030470E+0000 -2.69961275282774E+0000 -2.70631751726261E+0000 +-2.71304350293039E+0000 -2.71979075892926E+0000 -2.72655933413474E+0000 -2.73334927719997E+0000 -2.74016063655602E+0000 +-2.74699346041213E+0000 -2.75384779675603E+0000 -2.76072369335414E+0000 -2.76762119775191E+0000 -2.77454035727404E+0000 +-2.78148121902477E+0000 -2.78844382988811E+0000 -2.79542823652813E+0000 -2.80243448538920E+0000 -2.80946262269624E+0000 +-2.81651269445500E+0000 -2.82358474645225E+0000 -2.83067882425609E+0000 -2.83779497321616E+0000 -2.84493323846389E+0000 +-2.85209366491275E+0000 -2.85927629725845E+0000 -2.86648117997924E+0000 -2.87370835733609E+0000 -2.88095787337293E+0000 +-2.88822977191691E+0000 -2.89552409657860E+0000 -2.90284089075221E+0000 -2.91018019761584E+0000 -2.91754206013167E+0000 +-2.92492652104622E+0000 -2.93233362289054E+0000 -2.93976340798041E+0000 -2.94721591841659E+0000 -2.95469119608502E+0000 +-2.96218928265701E+0000 -2.96971021958948E+0000 -2.97725404812514E+0000 -2.98482080929271E+0000 -2.99241054390713E+0000 +-3.00002329256972E+0000 -3.00765909566843E+0000 -3.01531799337802E+0000 -3.02300002566024E+0000 -3.03070523226405E+0000 +-3.03843365272578E+0000 -3.04618532636936E+0000 -3.05396029230647E+0000 -3.06175858943677E+0000 -3.06958025644805E+0000 +-3.07742533181642E+0000 -3.08529385380652E+0000 -3.09318586047166E+0000 -3.10110138965405E+0000 -3.10904047898493E+0000 +-3.11700316588476E+0000 -3.12498948756344E+0000 -3.13299948102039E+0000 -3.14103318304484E+0000 -3.14909063021589E+0000 +-3.15717185890276E+0000 -3.16527690526491E+0000 -3.17340580525225E+0000 -3.18155859460524E+0000 -3.18973530885513E+0000 +-3.19793598332407E+0000 -3.20616065312528E+0000 -3.21440935316324E+0000 -3.22268211813382E+0000 -3.23097898252442E+0000 +-3.23929998061418E+0000 -3.24764514647409E+0000 -3.25601451396716E+0000 -3.26440811674858E+0000 -3.27282598826584E+0000 +-3.28126816175893E+0000 -3.28973467026043E+0000 -3.29822554659570E+0000 -3.30674082338303E+0000 -3.31528053303375E+0000 +-3.32384470775238E+0000 -3.33243337953683E+0000 -3.34104658017844E+0000 -3.34968434126221E+0000 -3.35834669416692E+0000 +-3.36703367006522E+0000 -3.37574529992383E+0000 -3.38448161450362E+0000 -3.39324264435980E+0000 -3.40202841984201E+0000 +-3.41083897109448E+0000 -3.41967432805613E+0000 -3.42853452046076E+0000 -3.43741957783710E+0000 -3.44632952950900E+0000 +-3.45526440459555E+0000 -3.46422423201117E+0000 -3.47320904046577E+0000 -3.48221885846487E+0000 -3.49125371430971E+0000 +-3.50031363609739E+0000 -3.50939865172098E+0000 -3.51850878886964E+0000 -3.52764407502875E+0000 -3.53680453748001E+0000 +-3.54599020330160E+0000 -3.55520109936822E+0000 -3.56443725235131E+0000 -3.57369868871907E+0000 -3.58298543473663E+0000 +-3.59229751646614E+0000 -3.60163495976691E+0000 -3.61099779029548E+0000 -3.62038603350576E+0000 -3.62979971464914E+0000 +-3.63923885877460E+0000 -3.64870349072878E+0000 -3.65819363515616E+0000 -3.66770931649911E+0000 -3.67725055899799E+0000 +-3.68681738669132E+0000 -3.69640982341582E+0000 -3.70602789280652E+0000 -3.71567161829692E+0000 -3.72534102311901E+0000 +-3.73503613030344E+0000 -3.74475696267958E+0000 -3.75450354287565E+0000 -3.76427589331878E+0000 -3.77407403623514E+0000 +-3.78389799365005E+0000 -3.79374778738802E+0000 -3.80362343907291E+0000 -3.81352497012798E+0000 -3.82345240177601E+0000 +-3.83340575503940E+0000 -3.84338505074023E+0000 -3.85339030950038E+0000 -3.86342155174162E+0000 -3.87347879768569E+0000 +-3.88356206735440E+0000 -3.89367138056974E+0000 -3.90380675695390E+0000 -3.91396821592945E+0000 -3.92415577671937E+0000 +-3.93436945834714E+0000 -3.94460927963686E+0000 -3.95487525921329E+0000 -3.96516741550200E+0000 -3.97548576672937E+0000 +-3.98583033092275E+0000 -3.99620112591051E+0000 -4.00659816932213E+0000 -4.01702147858827E+0000 -4.02747107094087E+0000 +-4.03794696341322E+0000 -4.04844917284006E+0000 -4.05897771585762E+0000 -4.06953260890374E+0000 -4.08011386821795E+0000 +-4.09072150984150E+0000 -4.10135554961749E+0000 -4.11201600319093E+0000 -4.12270288600882E+0000 -4.13341621332021E+0000 +-4.14415600017629E+0000 -4.15492226143047E+0000 -4.16571501173845E+0000 -4.17653426555829E+0000 -4.18738003715049E+0000 +-4.19825234057806E+0000 -4.20915118970658E+0000 -4.22007659820429E+0000 -4.23102857954219E+0000 -4.24200714699404E+0000 +-4.25301231363648E+0000 -4.26404409234908E+0000 -4.27510249581447E+0000 -4.28618753651828E+0000 -4.29729922674936E+0000 +-4.30843757859973E+0000 -4.31960260396473E+0000 -4.33079431454301E+0000 -4.34201272183669E+0000 -4.35325783715133E+0000 +-4.36452967159607E+0000 -4.37582823608367E+0000 -4.38715354133054E+0000 -4.39850559785688E+0000 -4.40988441598668E+0000 +-4.42129000584781E+0000 -4.43272237737208E+0000 -4.44418154029531E+0000 -4.45566750415737E+0000 -4.46718027830227E+0000 +-4.47871987187821E+0000 -4.49028629383765E+0000 -4.50187955293733E+0000 -4.51349965773840E+0000 -4.52514661660643E+0000 +-4.53682043771146E+0000 -4.54852112902814E+0000 -4.56024869833566E+0000 -4.57200315321794E+0000 -4.58378450106360E+0000 +-4.59559274906604E+0000 -4.60742790422353E+0000 -4.61928997333922E+0000 -4.63117896302122E+0000 -4.64309487968267E+0000 +-4.65503772954176E+0000 -4.66700751862181E+0000 -4.67900425275134E+0000 -4.69102793756408E+0000 -4.70307857849908E+0000 +-4.71515618080070E+0000 -4.72726074951872E+0000 -4.73939228950837E+0000 -4.75155080543039E+0000 -4.76373630175107E+0000 +-4.77594878274231E+0000 -4.78818825248168E+0000 -4.80045471485247E+0000 -4.81274817354371E+0000 -4.82506863205028E+0000 +-4.83741609367291E+0000 -4.84979056151825E+0000 -4.86219203849893E+0000 -4.87462052733358E+0000 -4.88707603054691E+0000 +-4.89955855046975E+0000 -4.91206808923909E+0000 -4.92460464879814E+0000 -4.93716823089637E+0000 -4.94975883708957E+0000 +-4.96237646873987E+0000 -4.97502112701583E+0000 -4.98769281289245E+0000 -5.00039152715123E+0000 -5.01311727038022E+0000 +-5.02587004297407E+0000 -5.03864984513405E+0000 -5.05145667686814E+0000 -5.06429053799104E+0000 -5.07715142812420E+0000 +-5.09003934669594E+0000 -5.10295429294140E+0000 -5.11589626590265E+0000 -5.12886526442871E+0000 -5.14186128717560E+0000 +-5.15488433260636E+0000 -5.16793439899115E+0000 -5.18101148440722E+0000 -5.19411558673901E+0000 -5.20724670367815E+0000 +-5.22040483272356E+0000 -5.23358997118141E+0000 -5.24680211616525E+0000 -5.26004126459596E+0000 -5.27330741320189E+0000 +-5.28660055851881E+0000 -5.29992069689002E+0000 -5.31326782446633E+0000 -5.32664193720616E+0000 -5.34004303087553E+0000 +-5.35347110104813E+0000 -5.36692614310535E+0000 -5.38040815223632E+0000 -5.39391712343795E+0000 -5.40745305151494E+0000 +-5.42101593107988E+0000 -5.43460575655324E+0000 -5.44822252216342E+0000 -5.46186622194679E+0000 -5.47553684974771E+0000 +-5.48923439921863E+0000 -5.50295886382002E+0000 -5.51671023682052E+0000 -5.53048851129689E+0000 -5.54429368013410E+0000 +-5.55812573602532E+0000 -5.57198467147203E+0000 -5.58587047878397E+0000 -5.59978315007921E+0000 -5.61372267728423E+0000 +-5.62768905213387E+0000 -5.64168226617145E+0000 -5.65570231074872E+0000 -5.66974917702598E+0000 -5.68382285597205E+0000 +-5.69792333836433E+0000 -5.71205061478884E+0000 -5.72620467564024E+0000 -5.74038551112187E+0000 -5.75459311124578E+0000 +-5.76882746583276E+0000 -5.78308856451239E+0000 -5.79737639672306E+0000 -5.81169095171199E+0000 -5.82603221853528E+0000 +-5.84040018605796E+0000 -5.85479484295396E+0000 -5.86921617770623E+0000 -5.88366417860668E+0000 -5.89813883375627E+0000 +-5.91264013106504E+0000 -5.92716805825212E+0000 -5.94172260284575E+0000 -5.95630375218336E+0000 -5.97091149341154E+0000 +-5.98554581348612E+0000 -6.00020669917218E+0000 -6.01489413704406E+0000 -6.02960811348544E+0000 -6.04434861468933E+0000 +-6.05911562665808E+0000 -6.07390913520348E+0000 -6.08872912594673E+0000 -6.10357558431848E+0000 -6.11844849555889E+0000 +-6.13334784471761E+0000 -6.14827361665384E+0000 -6.16322579603636E+0000 -6.17820436734354E+0000 -6.19320931486340E+0000 +-6.20824062269357E+0000 -6.22329827474141E+0000 -6.23838225472397E+0000 -6.25349254616804E+0000 -6.26862913241019E+0000 +-6.28379199659676E+0000 -6.29898112168393E+0000 -6.31419649043771E+0000 -6.32943808543401E+0000 -6.34470588905861E+0000 +-6.35999988350724E+0000 -6.37532005078556E+0000 -6.39066637270924E+0000 -6.40603883090393E+0000 -6.42143740680532E+0000 +-6.43686208165916E+0000 -6.45231283652128E+0000 -6.46778965225761E+0000 -6.48329250954422E+0000 -6.49882138886734E+0000 +-6.51437627052339E+0000 -6.52995713461898E+0000 -6.54556396107096E+0000 -6.56119672960644E+0000 -6.57685541976282E+0000 +-6.59254001088779E+0000 -6.60825048213937E+0000 -6.62398681248595E+0000 -6.63974898070629E+0000 -6.65553696538956E+0000 +-6.67135074493533E+0000 -6.68719029755365E+0000 -6.70305560126502E+0000 -6.71894663390046E+0000 -6.73486337310149E+0000 +-6.75080579632017E+0000 -6.76677388081914E+0000 -6.78276760367163E+0000 -6.79878694176145E+0000 -6.81483187178308E+0000 +-6.83090237024165E+0000 -6.84699841345294E+0000 -6.86311997754345E+0000 -6.87926703845041E+0000 -6.89543957192178E+0000 +-6.91163755351629E+0000 -6.92786095860346E+0000 -6.94410976236363E+0000 -6.96038393978795E+0000 -6.97668346567844E+0000 +-6.99300831464797E+0000 -7.00935846112033E+0000 -7.02573387933022E+0000 -7.04213454332326E+0000 -7.05856042695605E+0000 +-7.07501150389617E+0000 -7.09148774762217E+0000 -7.10798913142364E+0000 -7.12451562840122E+0000 -7.14106721146659E+0000 +-7.15764385334252E+0000 -7.17424552656287E+0000 -7.19087220347263E+0000 -7.20752385622794E+0000 -7.22420045679608E+0000 +-7.24090197695552E+0000 -7.25762838829593E+0000 -7.27437966221821E+0000 -7.29115576993446E+0000 -7.30795668246807E+0000 +-7.32478237065371E+0000 -7.34163280513733E+0000 -7.35850795637619E+0000 -7.37540779463890E+0000 -7.39233229000543E+0000 +-7.40928141236709E+0000 -7.42625513142659E+0000 -7.44325341669806E+0000 -7.46027623750706E+0000 -7.47732356299057E+0000 +-7.49439536209706E+0000 -7.51149160358645E+0000 -7.52861225603021E+0000 -7.54575728781128E+0000 -7.56292666712413E+0000 +-7.58012036197483E+0000 -7.59733834018098E+0000 -7.61458056937177E+0000 -7.63184701698803E+0000 -7.64913765028219E+0000 +-7.66645243631829E+0000 -7.68379134197208E+0000 -7.70115433393095E+0000 -7.71854137869400E+0000 -7.73595244257203E+0000 +-7.75338749168755E+0000 -7.77084649197485E+0000 -7.78832940917995E+0000 -7.80583620886064E+0000 -7.82336685638654E+0000 +-7.84092131693902E+0000 -7.85849955551133E+0000 -7.87610153690853E+0000 -7.89372722574755E+0000 -7.91137658645720E+0000 +-7.92904958327814E+0000 -7.94674618026299E+0000 -7.96446634127627E+0000 -7.98221002999442E+0000 -7.99997720990584E+0000 +-8.01776784431091E+0000 -8.03558189632200E+0000 -8.05341932886346E+0000 -8.07128010467167E+0000 -8.08916418629504E+0000 +-8.10707153609400E+0000 -8.12500211624110E+0000 -8.14295588872088E+0000 -8.16093281533005E+0000 -8.17893285767738E+0000 +-8.19695597718379E+0000 -8.21500213508232E+0000 -8.23307129241817E+0000 -8.25116341004869E+0000 -8.26927844864341E+0000 +-8.28741636868409E+0000 -8.30557713046465E+0000 -8.32376069409128E+0000 -8.34196701948234E+0000 -8.36019606636855E+0000 +-8.37844779429279E+0000 -8.39672216261028E+0000 -8.41501913048851E+0000 -8.43333865690730E+0000 -8.45168070065877E+0000 +-8.47004522034739E+0000 -8.48843217438998E+0000 -8.50684152101571E+0000 -8.52527321826615E+0000 -8.54372722399525E+0000 +-8.56220349586935E+0000 -8.58070199136725E+0000 -8.59922266778014E+0000 -8.61776548221166E+0000 -8.63633039157794E+0000 +-8.65491735260754E+0000 -8.67352632184154E+0000 -8.69215725563349E+0000 -8.71081011014946E+0000 -8.72948484136808E+0000 +-8.74818140508045E+0000 -8.76689975689027E+0000 -8.78563985221379E+0000 -8.80440164627982E+0000 -8.82318509412979E+0000 +-8.84199015061767E+0000 -8.86081677041013E+0000 -8.87966490798637E+0000 -8.89853451763834E+0000 -8.91742555347052E+0000 +-8.93633796940014E+0000 -8.95527171915707E+0000 -8.97422675628385E+0000 -8.99320303413578E+0000 -9.01220050588081E+0000 +-9.03121912449964E+0000 -9.05025884278571E+0000 -9.06931961334517E+0000 -9.08840138859700E+0000 -9.10750412077287E+0000 +-9.12662776191731E+0000 -9.14577226388758E+0000 -9.16493757835377E+0000 -9.18412365679882E+0000 -9.20333045051845E+0000 +-9.22255791062125E+0000 -9.24180598802864E+0000 -9.26107463347493E+0000 -9.28036379750728E+0000 -9.29967343048575E+0000 +-9.31900348258330E+0000 -9.33835390378580E+0000 -9.35772464389203E+0000 -9.37711565251370E+0000 -9.39652687907549E+0000 +-9.41595827281498E+0000 -9.43540978278274E+0000 -9.45488135784235E+0000 -9.47437294667034E+0000 -9.49388449775622E+0000 +-9.51341595940254E+0000 -9.53296727972486E+0000 -9.55253840665176E+0000 -9.57212928792486E+0000 -9.59173987109882E+0000 +-9.61137010354141E+0000 -9.63101993243340E+0000 -9.65068930476869E+0000 -9.67037816735425E+0000 -9.69008646681015E+0000 +-9.70981414956960E+0000 -9.72956116187888E+0000 -9.74932744979747E+0000 -9.76911295919791E+0000 -9.78891763576599E+0000 +-9.80874142500057E+0000 -9.82858427221374E+0000 -9.84844612253075E+0000 -9.86832692089005E+0000 -9.88822661204328E+0000 +-9.90814514055531E+0000 -9.92808245080423E+0000 -9.94803848698135E+0000 -9.96801319309121E+0000 -9.98800651295164E+0000 +-1.00080183901936E+0001 -1.00280487682617E+0001 -1.00480975904132E+0001 -1.00681647997193E+0001 -1.00882503390641E+0001 +-1.01083541511450E+0001 -1.01284761784730E+0001 -1.01486163633721E+0001 -1.01687746479799E+0001 -1.01889509742473E+0001 +-1.02091452839383E+0001 -1.02293575186305E+0001 -1.02495876197149E+0001 -1.02698355283958E+0001 -1.02901011856909E+0001 +-1.03103845324312E+0001 -1.03306855092613E+0001 -1.03510040566391E+0001 -1.03713401148359E+0001 -1.03916936239365E+0001 +-1.04120645238392E+0001 -1.04324527542556E+0001 -1.04528582547108E+0001 -1.04732809645435E+0001 -1.04937208229058E+0001 +-1.05141777687632E+0001 -1.05346517408948E+0001 -1.05551426778931E+0001 -1.05756505181643E+0001 -1.05961751999280E+0001 +-1.06167166612173E+0001 -1.06372748398789E+0001 -1.06578496735729E+0001 -1.06784410997733E+0001 -1.06990490557673E+0001 +-1.07196734786558E+0001 -1.07403143053533E+0001 -1.07609714725879E+0001 -1.07816449169012E+0001 -1.08023345746486E+0001 +-1.08230403819990E+0001 -1.08437622749348E+0001 -1.08645001892521E+0001 -1.08852540605608E+0001 -1.09060238242843E+0001 +-1.09268094156596E+0001 -1.09476107697375E+0001 -1.09684278213823E+0001 -1.09892605052721E+0001 -1.10101087558987E+0001 +-1.10309725075675E+0001 -1.10518516943977E+0001 -1.10727462503221E+0001 -1.10936561090872E+0001 -1.11145812042534E+0001 +-1.11355214691946E+0001 -1.11564768370987E+0001 -1.11774472409670E+0001 -1.11984326136149E+0001 -1.12194328876713E+0001 +-1.12404479955790E+0001 -1.12614778695946E+0001 -1.12825224417883E+0001 -1.13035816440443E+0001 -1.13246554080605E+0001 +-1.13457436653486E+0001 -1.13668463472341E+0001 -1.13879633848563E+0001 -1.14090947091684E+0001 -1.14302402509375E+0001 +-1.14513999407443E+0001 -1.14725737089834E+0001 -1.14937614858635E+0001 -1.15149632014070E+0001 -1.15361787854500E+0001 +-1.15574081676427E+0001 -1.15786512774492E+0001 -1.15999080441472E+0001 -1.16211783968287E+0001 -1.16424622643993E+0001 +-1.16637595755786E+0001 -1.16850702589001E+0001 -1.17063942427113E+0001 -1.17277314551735E+0001 -1.17490818242620E+0001 +-1.17704452777662E+0001 -1.17918217432891E+0001 -1.18132111482479E+0001 -1.18346134198737E+0001 -1.18560284852117E+0001 +-1.18774562711208E+0001 -1.18988967042742E+0001 -1.19203497111587E+0001 -1.19418152180755E+0001 -1.19632931511396E+0001 +-1.19847834362800E+0001 -1.20062859992396E+0001 -1.20278007655757E+0001 -1.20493276606593E+0001 -1.20708666096755E+0001 +-1.20924175376234E+0001 -1.21139803693162E+0001 -1.21355550293813E+0001 -1.21571414422600E+0001 -1.21787395322075E+0001 +-1.22003492232934E+0001 -1.22219704394012E+0001 -1.22436031042284E+0001 -1.22652471412869E+0001 -1.22869024739023E+0001 +-1.23085690252146E+0001 -1.23302467181777E+0001 -1.23519354755598E+0001 -1.23736352199431E+0001 -1.23953458737240E+0001 +-1.24170673591129E+0001 -1.24387995981344E+0001 -1.24605425126274E+0001 -1.24822960242447E+0001 -1.25040600544534E+0001 +-1.25258345245347E+0001 -1.25476193555840E+0001 -1.25694144685109E+0001 -1.25912197840391E+0001 -1.26130352227065E+0001 +-1.26348607048653E+0001 -1.26566961506818E+0001 -1.26785414801363E+0001 -1.27003966130237E+0001 -1.27222614689529E+0001 +-1.27441359673471E+0001 -1.27660200274435E+0001 -1.27879135682937E+0001 -1.28098165087637E+0001 -1.28317287675334E+0001 +-1.28536502630971E+0001 -1.28755809137635E+0001 -1.28975206376552E+0001 -1.29194693527095E+0001 -1.29414269766775E+0001 +-1.29633934271250E+0001 -1.29853686214318E+0001 -1.30073524767921E+0001 -1.30293449102143E+0001 -1.30513458385211E+0001 +-1.30733551783497E+0001 -1.30953728461513E+0001 -1.31173987581917E+0001 -1.31394328305507E+0001 -1.31614749791227E+0001 +-1.31835251196163E+0001 -1.32055831675545E+0001 -1.32276490382744E+0001 -1.32497226469278E+0001 -1.32718039084805E+0001 +-1.32938927377129E+0001 -1.33159890492197E+0001 -1.33380927574098E+0001 -1.33602037765066E+0001 -1.33823220205481E+0001 +-1.34044474033861E+0001 -1.34265798386873E+0001 -1.34487192399326E+0001 -1.34708655204171E+0001 -1.34930185932507E+0001 +-1.35151783713574E+0001 -1.35373447674757E+0001 -1.35595176941585E+0001 -1.35816970637730E+0001 -1.36038827885010E+0001 +-1.36260747803386E+0001 -1.36482729510965E+0001 -1.36704772123996E+0001 -1.36926874756873E+0001 -1.37149036522137E+0001 +-1.37371256530469E+0001 -1.37593533890698E+0001 -1.37815867709796E+0001 -1.38038257092880E+0001 -1.38260701143213E+0001 +-1.38483198962199E+0001 -1.38705749649391E+0001 -1.38928352302485E+0001 -1.39151006017320E+0001 -1.39373709887884E+0001 +-1.39596463006306E+0001 -1.39819264462861E+0001 -1.40042113345972E+0001 -1.40265008742203E+0001 -1.40487949736264E+0001 +-1.40710935411012E+0001 -1.40933964847449E+0001 -1.41157037124720E+0001 -1.41380151320116E+0001 -1.41603306509076E+0001 +-1.41826501765181E+0001 -1.42049736160159E+0001 -1.42273008763883E+0001 -1.42496318644372E+0001 -1.42719664867790E+0001 +-1.42943046498447E+0001 -1.43166462598799E+0001 -1.43389912229447E+0001 -1.43613394449137E+0001 -1.43836908314763E+0001 +-1.44060452881362E+0001 -1.44284027202119E+0001 -1.44507630328364E+0001 -1.44731261309574E+0001 -1.44954919193369E+0001 +-1.45178603025519E+0001 -1.45402311849938E+0001 -1.45626044708684E+0001 -1.45849800641967E+0001 -1.46073578688136E+0001 +-1.46297377883692E+0001 -1.46521197263278E+0001 -1.46745035859688E+0001 -1.46968892703857E+0001 -1.47192766824870E+0001 +-1.47416657249958E+0001 -1.47640563004497E+0001 -1.47864483112010E+0001 -1.48088416594167E+0001 -1.48312362470786E+0001 +-1.48536319759828E+0001 -1.48760287477404E+0001 -1.48984264637770E+0001 -1.49208250253329E+0001 -1.49432243334631E+0001 +-1.49656242890372E+0001 -1.49880247927396E+0001 -1.50104257450694E+0001 -1.50328270463403E+0001 -1.50552285966806E+0001 +-1.50776302960336E+0001 -1.51000320441570E+0001 -1.51224337406235E+0001 -1.51448352848201E+0001 -1.51672365759490E+0001 +-1.51896375130267E+0001 -1.52120379948847E+0001 -1.52344379201690E+0001 -1.52568371873406E+0001 -1.52792356946751E+0001 +-1.53016333402627E+0001 -1.53240300220085E+0001 -1.53464256376323E+0001 -1.53688200846687E+0001 -1.53912132604669E+0001 +-1.54136050621911E+0001 -1.54359953868200E+0001 -1.54583841311473E+0001 -1.54807711917812E+0001 -1.55031564651449E+0001 +-1.55255398474762E+0001 -1.55479212348278E+0001 -1.55703005230672E+0001 -1.55926776078765E+0001 -1.56150523847527E+0001 +-1.56374247490078E+0001 -1.56597945957681E+0001 -1.56821618199751E+0001 -1.57045263163851E+0001 -1.57268879795689E+0001 +-1.57492467039124E+0001 -1.57716023836161E+0001 -1.57939549126955E+0001 -1.58163041849808E+0001 -1.58386500941171E+0001 +-1.58609925335642E+0001 -1.58833313965968E+0001 -1.59056665763044E+0001 -1.59279979655914E+0001 -1.59503254571771E+0001 +-1.59726489435953E+0001 -1.59949683171951E+0001 -1.60172834701401E+0001 -1.60395942944090E+0001 -1.60619006817950E+0001 +-1.60842025239065E+0001 -1.61064997121667E+0001 -1.61287921378135E+0001 -1.61510796918999E+0001 -1.61733622652935E+0001 +-1.61956397486770E+0001 -1.62179120325478E+0001 -1.62401790072183E+0001 -1.62624405628157E+0001 -1.62846965892823E+0001 +-1.63069469763749E+0001 -1.63291916136654E+0001 -1.63514303905408E+0001 -1.63736631962026E+0001 -1.63958899196674E+0001 +-1.64181104497668E+0001 -1.64403246751472E+0001 -1.64625324842698E+0001 -1.64847337654109E+0001 -1.65069284066616E+0001 +-1.65291162959280E+0001 -1.65512973209310E+0001 -1.65734713692065E+0001 -1.65956383281053E+0001 -1.66177980847933E+0001 +-1.66399505262510E+0001 -1.66620955392742E+0001 -1.66842330104733E+0001 -1.67063628262739E+0001 -1.67284848729165E+0001 +-1.67505990364563E+0001 -1.67727052027637E+0001 -1.67948032575241E+0001 -1.68168930862376E+0001 -1.68389745742196E+0001 +-1.68610476066002E+0001 -1.68831120683243E+0001 -1.69051678441523E+0001 -1.69272148186592E+0001 -1.69492528762350E+0001 +-1.69712819010847E+0001 -1.69933017772283E+0001 -1.70153123885009E+0001 -1.70373136185523E+0001 -1.70593053508475E+0001 +-1.70812874686665E+0001 -1.71032598551041E+0001 -1.71252223930704E+0001 -1.71471749652902E+0001 -1.71691174543035E+0001 +-1.71910497424652E+0001 -1.72129717119452E+0001 -1.72348832447284E+0001 -1.72567842226148E+0001 -1.72786745272195E+0001 +-1.73005540399722E+0001 -1.73224226421182E+0001 -1.73442802147173E+0001 -1.73661266386447E+0001 -1.73879617945904E+0001 +-1.74097855630594E+0001 -1.74315978243721E+0001 -1.74533984586635E+0001 -1.74751873458838E+0001 -1.74969643657982E+0001 +-1.75187293979872E+0001 -1.75404823218459E+0001 -1.75622230165849E+0001 -1.75839513612295E+0001 -1.76056672346202E+0001 +-1.76273705154126E+0001 -1.76490610820772E+0001 -1.76707388128998E+0001 -1.76924035859810E+0001 -1.77140552792367E+0001 +-1.77356937703977E+0001 -1.77573189370099E+0001 -1.77789306564344E+0001 -1.78005288058472E+0001 -1.78221132622394E+0001 +-1.78436839024173E+0001 -1.78652406030023E+0001 -1.78867832404308E+0001 -1.79083116909541E+0001 -1.79298258306390E+0001 +-1.79513255353670E+0001 -1.79728106808350E+0001 -1.79942811425548E+0001 -1.80157367958534E+0001 -1.80371775158728E+0001 +-1.80586031775703E+0001 -1.80800136557181E+0001 -1.81014088249036E+0001 -1.81227885595293E+0001 -1.81441527338128E+0001 +-1.81655012217868E+0001 -1.81868338972993E+0001 -1.82081506340131E+0001 -1.82294513054063E+0001 -1.82507357847723E+0001 +-1.82720039452193E+0001 -1.82932556596708E+0001 -1.83144908008654E+0001 -1.83357092413568E+0001 -1.83569108535141E+0001 +-1.83780955095210E+0001 -1.83992630813769E+0001 -1.84204134408961E+0001 -1.84415464597079E+0001 -1.84626620092569E+0001 +-1.84837599608031E+0001 -1.85048401854212E+0001 -1.85259025540012E+0001 -1.85469469372485E+0001 -1.85679732056834E+0001 +-1.85889812296414E+0001 -1.86099708792732E+0001 -1.86309420245447E+0001 -1.86518945352370E+0001 -1.86728282809462E+0001 +-1.86937431310836E+0001 -1.87146389548760E+0001 -1.87355156213649E+0001 -1.87563729994073E+0001 -1.87772109576753E+0001 +-1.87980293646561E+0001 -1.88188280886522E+0001 -1.88396069977813E+0001 -1.88603659599762E+0001 -1.88811048429848E+0001 +-1.89018235143705E+0001 -1.89225218415116E+0001 -1.89431996916018E+0001 -1.89638569316498E+0001 -1.89844934284797E+0001 +-1.90051090487306E+0001 -1.90257036588571E+0001 -1.90462771251287E+0001 -1.90668293136303E+0001 -1.90873600902618E+0001 +-1.91078693207387E+0001 -1.91283568705914E+0001 -1.91488226051655E+0001 -1.91692663896221E+0001 -1.91896880889371E+0001 +-1.92100875679021E+0001 -1.92304646911236E+0001 -1.92508193230235E+0001 -1.92711513278386E+0001 -1.92914605696215E+0001 +-1.93117469122396E+0001 -1.93320102193755E+0001 -1.93522503545273E+0001 -1.93724671810084E+0001 -1.93926605619471E+0001 +-1.94128303602871E+0001 -1.94329764387874E+0001 -1.94530986600222E+0001 -1.94731968863811E+0001 -1.94932709800686E+0001 +-1.95133208031047E+0001 -1.95333462173248E+0001 -1.95533470843792E+0001 -1.95733232657336E+0001 -1.95932746226692E+0001 +-1.96132010162821E+0001 -1.96331023074839E+0001 -1.96529783570014E+0001 -1.96728290253766E+0001 -1.96926541729668E+0001 +-1.97124536599447E+0001 -1.97322273462981E+0001 -1.97519750918303E+0001 -1.97716967561595E+0001 -1.97913921987195E+0001 +-1.98110612787594E+0001 -1.98307038553434E+0001 -1.98503197873510E+0001 -1.98699089334771E+0001 -1.98894711522318E+0001 +-1.99090063019405E+0001 -1.99285142407441E+0001 -1.99479948265983E+0001 -1.99674479172748E+0001 -1.99868733703598E+0001 +-2.00062710432554E+0001 -2.00256407931788E+0001 -2.00449824771625E+0001 -2.00642959520543E+0001 -2.00835810745173E+0001 +-2.01028377010299E+0001 -2.01220656878859E+0001 -2.01412648911943E+0001 -2.01604351668795E+0001 -2.01795763706811E+0001 +-2.01986883581541E+0001 -2.02177709846689E+0001 -2.02368241054111E+0001 -2.02558475753815E+0001 -2.02748412493966E+0001 +-2.02938049820878E+0001 -2.03127386279021E+0001 -2.03316420411017E+0001 -2.03505150757643E+0001 -2.03693575857828E+0001 +-2.03881694248653E+0001 -2.04069504465356E+0001 -2.04257005041324E+0001 -2.04444194508100E+0001 -2.04631071395381E+0001 +-2.04817634231016E+0001 -2.05003881541007E+0001 -2.05189811849512E+0001 -2.05375423678838E+0001 -2.05560715549451E+0001 +-2.05745685979967E+0001 -2.05930333487155E+0001 -2.06114656585939E+0001 -2.06298653789398E+0001 -2.06482323608760E+0001 +-2.06665664553412E+0001 -2.06848675130890E+0001 -2.07031353846887E+0001 -2.07213699205249E+0001 -2.07395709707973E+0001 +-2.07577383855212E+0001 -2.07758720145273E+0001 -2.07939717074615E+0001 -2.08120373137852E+0001 -2.08300686827752E+0001 +-2.08480656635235E+0001 -2.08660281049375E+0001 -2.08839558557403E+0001 -2.09018487644700E+0001 -2.09197066794801E+0001 +-2.09375294489399E+0001 -2.09553169208334E+0001 -2.09730689429607E+0001 -2.09907853629367E+0001 -2.10084660281921E+0001 +-2.10261107859727E+0001 -2.10437194833398E+0001 -2.10612919671703E+0001 -2.10788280841560E+0001 -2.10963276808046E+0001 +-2.11137906034392E+0001 -2.11312166981975E+0001 -2.11486058110336E+0001 -2.11659577877164E+0001 -2.11832724738306E+0001 +-2.12005497147759E+0001 -2.12177893557676E+0001 -2.12349912418366E+0001 -2.12521552178287E+0001 -2.12692811284056E+0001 +-2.12863688180441E+0001 -2.13034181310367E+0001 -2.13204289114911E+0001 -2.13374010033305E+0001 -2.13543342502933E+0001 +-2.13712284959336E+0001 -2.13880835836209E+0001 -2.14048993565399E+0001 -2.14216756576911E+0001 -2.14384123298898E+0001 +-2.14551092157676E+0001 -2.14717661577706E+0001 -2.14883829981608E+0001 -2.15049595790158E+0001 -2.15214957422283E+0001 +-2.15379913295067E+0001 -2.15544461823744E+0001 -2.15708601421706E+0001 -2.15872330500500E+0001 -2.16035647469826E+0001 +-2.16198550737537E+0001 -2.16361038709641E+0001 -2.16523109790303E+0001 -2.16684762381840E+0001 -2.16845994884722E+0001 +-2.17006805697579E+0001 -2.17167193217188E+0001 -2.17327155838487E+0001 -2.17486691954565E+0001 -2.17645799956666E+0001 +-2.17804478234189E+0001 -2.17962725174688E+0001 -2.18120539163870E+0001 -2.18277918585597E+0001 -2.18434861821888E+0001 +-2.18591367252913E+0001 -2.18747433256998E+0001 -2.18903058210624E+0001 -2.19058240488429E+0001 -2.19212978463200E+0001 +-2.19367270505882E+0001 -2.19521114985574E+0001 -2.19674510269533E+0001 -2.19827454723165E+0001 -2.19979946710034E+0001 +-2.20131984591858E+0001 -2.20283566728511E+0001 -2.20434691478019E+0001 -2.20585357196564E+0001 -2.20735562238485E+0001 +-2.20885304956274E+0001 -2.21034583700574E+0001 -2.21183396820190E+0001 -2.21331742662077E+0001 -2.21479619571347E+0001 +-2.21627025891264E+0001 -2.21773959963250E+0001 -2.21920420126881E+0001 -2.22066404719886E+0001 -2.22211912078152E+0001 +-2.22356940535717E+0001 -2.22501488424779E+0001 -2.22645554075686E+0001 -2.22789135816944E+0001 -2.22932231975212E+0001 +-2.23074840875304E+0001 -2.23216960840193E+0001 -2.23358590191002E+0001 -2.23499727247010E+0001 -2.23640370325652E+0001 +-2.23780517742519E+0001 -2.23920167811356E+0001 -2.24059318844061E+0001 -2.24197969150691E+0001 -2.24336117039454E+0001 +-2.24473760816716E+0001 -2.24610898786998E+0001 -2.24747529252975E+0001 -2.24883650515476E+0001 -2.25019260873486E+0001 +-2.25154358624147E+0001 -2.25288942062756E+0001 -2.25423009482762E+0001 -2.25556559175771E+0001 -2.25689589431546E+0001 +-2.25822098538000E+0001 -2.25954084781207E+0001 -2.26085546445393E+0001 -2.26216481812941E+0001 -2.26346889164387E+0001 +-2.26476766778425E+0001 -2.26606112931901E+0001 -2.26734925899819E+0001 -2.26863203955338E+0001 -2.26990945369769E+0001 +-2.27118148412582E+0001 -2.27244811351404E+0001 -2.27370932452010E+0001 -2.27496509978338E+0001 -2.27621542192475E+0001 +-2.27746027354671E+0001 -2.27869963723322E+0001 -2.27993349554989E+0001 -2.28116183104380E+0001 -2.28238462624362E+0001 +-2.28360186365961E+0001 -2.28481352578350E+0001 -2.28601959508865E+0001 -2.28722005402995E+0001 -2.28841488504384E+0001 +-2.28960407054830E+0001 -2.29078759294288E+0001 -2.29196543460872E+0001 -2.29313757790843E+0001 -2.29430400518626E+0001 +-2.29546469876798E+0001 -2.29661964096089E+0001 -2.29776881405389E+0001 -2.29891220031742E+0001 -2.30004978200346E+0001 +-2.30118154134557E+0001 -2.30230746055884E+0001 -2.30342752183993E+0001 -2.30454170736706E+0001 -2.30564999929999E+0001 +-2.30675237978006E+0001 -2.30784883093015E+0001 -2.30893933485469E+0001 -2.31002387363970E+0001 -2.31110242935269E+0001 +-2.31217498404282E+0001 -2.31324151974072E+0001 -2.31430201845861E+0001 -2.31535646219029E+0001 -2.31640483291109E+0001 +-2.31744711257790E+0001 -2.31848328312916E+0001 -2.31951332648491E+0001 -2.32053722454668E+0001 -2.32155495919761E+0001 +-2.32256651230237E+0001 -2.32357186570721E+0001 -2.32457100123993E+0001 -2.32556390070987E+0001 -2.32655054590795E+0001 +-2.32753091860664E+0001 -2.32850500055995E+0001 -2.32947277350349E+0001 -2.33043421915440E+0001 -2.33138931921137E+0001 +-2.33233805535468E+0001 -2.33328040924614E+0001 -2.33421636252913E+0001 -2.33514589682858E+0001 -2.33606899375101E+0001 +-2.33698563488445E+0001 -2.33789580179853E+0001 -2.33879947604441E+0001 -2.33969663915485E+0001 -2.34058727264412E+0001 +-2.34147135800808E+0001 -2.34234887672414E+0001 -2.34321981025127E+0001 -2.34408414003001E+0001 -2.34494184748244E+0001 +-2.34579291401221E+0001 -2.34663732100455E+0001 -2.34747504982622E+0001 -2.34830608182554E+0001 -2.34913039833243E+0001 +-2.34994798065831E+0001 -2.35075881009621E+0001 -2.35156286792071E+0001 -2.35236013538793E+0001 -2.35315059373557E+0001 +-2.35393422418289E+0001 -2.35471100793069E+0001 -2.35548092616137E+0001 -2.35624396003886E+0001 -2.35700009070867E+0001 +-2.35774929929783E+0001 -2.35849156691501E+0001 -2.35922687465034E+0001 -2.35995520357560E+0001 -2.36067653474409E+0001 +-2.36139084919068E+0001 -2.36209812793180E+0001 -2.36279835196544E+0001 -2.36349150227116E+0001 -2.36417755981008E+0001 +-2.36485650552486E+0001 -2.36552832033975E+0001 -2.36619298516057E+0001 -2.36685048087467E+0001 -2.36750078835098E+0001 +-2.36814388843999E+0001 -2.36877976197375E+0001 -2.36940838976589E+0001 -2.37002975261157E+0001 -2.37064383128755E+0001 +-2.37125060655213E+0001 -2.37185005914516E+0001 -2.37244216978811E+0001 -2.37302691918395E+0001 -2.37360428801722E+0001 +-2.37417425695407E+0001 -2.37473680664216E+0001 -2.37529191771077E+0001 -2.37583957077069E+0001 -2.37637974641430E+0001 +-2.37691242521553E+0001 -2.37743758772991E+0001 -2.37795521449448E+0001 -2.37846528602788E+0001 -2.37896778283031E+0001 +-2.37946268538352E+0001 -2.37994997415084E+0001 -2.38042962957717E+0001 -2.38090163208894E+0001 -2.38136596209417E+0001 +-2.38182259998246E+0001 -2.38227152612495E+0001 -2.38271272087434E+0001 -2.38314616456492E+0001 -2.38357183751253E+0001 +-2.38398972001456E+0001 -2.38439979235000E+0001 -2.38480203477938E+0001 -2.38519642754479E+0001 -2.38558295086990E+0001 +-2.38596158495996E+0001 -2.38633231000175E+0001 -2.38669510616365E+0001 -2.38704995359558E+0001 -2.38739683242902E+0001 +-2.38773572277704E+0001 -2.38806660473430E+0001 -2.38838945837693E+0001 -2.38870426376273E+0001 -2.38901100093101E+0001 +-2.38930964990267E+0001 -2.38960019068015E+0001 -2.38988260324749E+0001 -2.39015686757028E+0001 -2.39042296359567E+0001 +-2.39068087125237E+0001 -2.39093057045066E+0001 -2.39117204108244E+0001 -2.39140526302108E+0001 -2.39163021612161E+0001 +-2.39184688022057E+0001 -2.39205523513609E+0001 -2.39225526066783E+0001 -2.39244693659710E+0001 -2.39263024268669E+0001 +-2.39280515868097E+0001 -2.39297166430596E+0001 -2.39312973926911E+0001 -2.39327936325957E+0001 -2.39342051594798E+0001 +-2.39355317698656E+0001 -2.39367732600915E+0001 -2.39379294263107E+0001 -2.39390000644925E+0001 -2.39399849704223E+0001 +-2.39408839397005E+0001 -2.39416967677431E+0001 -2.39424232497829E+0001 -2.39430631808672E+0001 -2.39436163558594E+0001 +-2.39440825694384E+0001 -2.39444616160994E+0001 -2.39447532901526E+0001 -2.39449573857243E+0001 -2.39450736967561E+0001 +-2.39451020170055E+0001 -2.39450421400460E+0001 -2.39448938592662E+0001 -2.39446569678709E+0001 -2.39443312588802E+0001 +-2.39439165251300E+0001 -2.39434125592721E+0001 -2.39428191537739E+0001 -2.39421361009182E+0001 -2.39413631928039E+0001 +-2.39405002213454E+0001 -2.39395469782725E+0001 -2.39385032551314E+0001 -2.39373688432836E+0001 -2.39361435339059E+0001 +-2.39348271179916E+0001 -2.39334193863491E+0001 -2.39319201296028E+0001 -2.39303291381924E+0001 -2.39286462023740E+0001 +-2.39268711122187E+0001 -2.39250036576135E+0001 -2.39230436282616E+0001 -2.39209908136811E+0001 -2.39188450032065E+0001 +-2.39166059859873E+0001 -2.39142735509895E+0001 -2.39118474869941E+0001 -2.39093275825982E+0001 -2.39067136262145E+0001 +-2.39040054060716E+0001 -2.39012027102134E+0001 -2.38983053264999E+0001 -2.38953130426067E+0001 -2.38922256460246E+0001 +-2.38890429240611E+0001 -2.38857646638385E+0001 -2.38823906522955E+0001 -2.38789206761859E+0001 -2.38753545220798E+0001 +-2.38716919763624E+0001 -2.38679328252351E+0001 -2.38640768547150E+0001 -2.38601238506346E+0001 -2.38560735986421E+0001 +-2.38519258842018E+0001 -2.38476804925937E+0001 -2.38433372089129E+0001 -2.38388958180709E+0001 -2.38343561047946E+0001 +-2.38297178536266E+0001 -2.38249808489255E+0001 -2.38201448748654E+0001 -2.38152097154359E+0001 -2.38101751544430E+0001 +-2.38050409755074E+0001 -2.37998069620666E+0001 -2.37944728973728E+0001 -2.37890385644951E+0001 -2.37835037463173E+0001 +-2.37778682255395E+0001 -2.37721317846771E+0001 -2.37662942060615E+0001 -2.37603552718400E+0001 -2.37543147639751E+0001 +-2.37481724642456E+0001 -2.37419281542456E+0001 -2.37355816153852E+0001 -2.37291326288901E+0001 -2.37225809758016E+0001 +-2.37159264369772E+0001 -2.37091687930895E+0001 -2.37023078246273E+0001 -2.36953433118950E+0001 -2.36882750350127E+0001 +-2.36811027739162E+0001 -2.36738263083571E+0001 -2.36664454179027E+0001 -2.36589598819362E+0001 -2.36513694796561E+0001 +-2.36436739900770E+0001 -2.36358731920295E+0001 -2.36279668641595E+0001 -2.36199547849282E+0001 -2.36118367326136E+0001 +-2.36036124853089E+0001 -2.35952818209228E+0001 -2.35868445171802E+0001 -2.35783003516215E+0001 -2.35696491016027E+0001 +-2.35608905442962E+0001 -2.35520244566891E+0001 -2.35430506155851E+0001 -2.35339687976033E+0001 -2.35247787791786E+0001 +-2.35154803365617E+0001 -2.35060732458188E+0001 -2.34965572828322E+0001 -2.34869322232997E+0001 -2.34771978427350E+0001 +-2.34673539164675E+0001 -2.34574002196421E+0001 -2.34473365272200E+0001 -2.34371626139775E+0001 -2.34268782545072E+0001 +-2.34164832232169E+0001 -2.34059772943309E+0001 -2.33953602418886E+0001 -2.33846318397455E+0001 -2.33737918615726E+0001 +-2.33628400808565E+0001 -2.33517762709006E+0001 -2.33406002048225E+0001 -2.33293116555568E+0001 -2.33179103958530E+0001 +-2.33063961982773E+0001 -2.32947688352107E+0001 -2.32830280788504E+0001 -2.32711737012095E+0001 -2.32592054741167E+0001 +-2.32471231692161E+0001 -2.32349265579683E+0001 -2.32226154116489E+0001 -2.32101895013499E+0001 -2.31976485979785E+0001 +-2.31849924722582E+0001 -2.31722208947280E+0001 -2.31593336357424E+0001 -2.31463304654720E+0001 -2.31332111539034E+0001 +-2.31199754708381E+0001 -2.31066231858945E+0001 -2.30931540685057E+0001 -2.30795678879213E+0001 -2.30658644132064E+0001 +-2.30520434132418E+0001 -2.30381046567240E+0001 -2.30240479121657E+0001 -2.30098729478948E+0001 -2.29955795320554E+0001 +-2.29811674326073E+0001 -2.29666364173256E+0001 -2.29519862538020E+0001 -2.29372167094432E+0001 -2.29223275514721E+0001 +-2.29073185469272E+0001 -2.28921894626629E+0001 -2.28769400653495E+0001 -2.28615701214724E+0001 -2.28460793973335E+0001 +-2.28304676590503E+0001 -2.28147346725558E+0001 -2.27988802035991E+0001 -2.27829040177450E+0001 -2.27668058803738E+0001 +-2.27505855566819E+0001 -2.27342428116816E+0001 -2.27177774102001E+0001 -2.27011891168818E+0001 -2.26844776961857E+0001 +-2.26676429123869E+0001 -2.26506845295766E+0001 -2.26336023116612E+0001 -2.26163960223636E+0001 -2.25990654252216E+0001 +-2.25816102835900E+0001 -2.25640303606381E+0001 -2.25463254193514E+0001 -2.25284952225318E+0001 -2.25105395327961E+0001 +-2.24924581125777E+0001 -2.24742507241250E+0001 -2.24559171295026E+0001 -2.24374570905909E+0001 -2.24188703690861E+0001 +-2.24001567265000E+0001 -2.23813159241603E+0001 -2.23623477232104E+0001 -2.23432518846097E+0001 -2.23240281691332E+0001 +-2.23046763373713E+0001 -2.22851961497315E+0001 -2.22655873664355E+0001 -2.22458497475218E+0001 -2.22259830528443E+0001 +-2.22059870420727E+0001 -2.21858614746927E+0001 -2.21656061100056E+0001 -2.21452207071285E+0001 -2.21247050249945E+0001 +-2.21040588223520E+0001 -2.20832818577659E+0001 -2.20623738896162E+0001 -2.20413346760994E+0001 -2.20201639752269E+0001 +-2.19988615448265E+0001 -2.19774271425421E+0001 -2.19558605258323E+0001 -2.19341614519727E+0001 -2.19123296780541E+0001 +-2.18903649609834E+0001 -2.18682670574825E+0001 -2.18460357240898E+0001 -2.18236707171598E+0001 -2.18011717928617E+0001 +-2.17785387071818E+0001 -2.17557712159210E+0001 -2.17328690746970E+0001 -2.17098320389424E+0001 -2.16866598639065E+0001 +-2.16633523046538E+0001 -2.16399091160646E+0001 -2.16163300528352E+0001 -2.15926148694776E+0001 -2.15687633203199E+0001 +-2.15447751595055E+0001 -2.15206501409941E+0001 -2.14963880185608E+0001 -2.14719885457969E+0001 -2.14474514761087E+0001 +-2.14227765627195E+0001 -2.13979635586674E+0001 -2.13730122168068E+0001 -2.13479222898079E+0001 -2.13226935301565E+0001 +-2.12973256901544E+0001 -2.12718185219188E+0001 -2.12461717773833E+0001 -2.12203852082968E+0001 -2.11944585662244E+0001 +-2.11683916025472E+0001 -2.11421840684610E+0001 -2.11158357149787E+0001 -2.10893462929281E+0001 -2.10627155529536E+0001 +-2.10359432455147E+0001 -2.10090291208872E+0001 -2.09819729291623E+0001 -2.09547744202473E+0001 -2.09274333438652E+0001 +-2.08999494495550E+0001 -2.08723224866710E+0001 -2.08445522043841E+0001 -2.08166383516804E+0001 -2.07885806773620E+0001 +-2.07603789300468E+0001 -2.07320328581686E+0001 -2.07035422099769E+0001 -2.06749067335371E+0001 -2.06461261767304E+0001 +-2.06172002872537E+0001 -2.05881288126196E+0001 -2.05589115001574E+0001 -2.05295480970108E+0001 -2.05000383501405E+0001 +-2.04703820063223E+0001 -2.04405788121486E+0001 -2.04106285140264E+0001 -2.03805308581798E+0001 -2.03502855906480E+0001 +-2.03198924572862E+0001 -2.02893512037652E+0001 -2.02586615755720E+0001 -2.02278233180091E+0001 -2.01968361761955E+0001 +-2.01656998950647E+0001 -2.01344142193672E+0001 -2.01029788936688E+0001 -2.00713936623515E+0001 -2.00396582696127E+0001 +-2.00077724594660E+0001 -1.99757359757400E+0001 -1.99435485620808E+0001 -1.99112099619480E+0001 -1.98787199186195E+0001 +-1.98460781751871E+0001 -1.98132844745592E+0001 -1.97803385594605E+0001 -1.97472401724301E+0001 -1.97139890558251E+0001 +-1.96805849518157E+0001 -1.96470276023904E+0001 -1.96133167493522E+0001 -1.95794521343203E+0001 -1.95454334987296E+0001 +-1.95112605838310E+0001 -1.94769331306909E+0001 -1.94424508801922E+0001 -1.94078135730329E+0001 -1.93730209497271E+0001 +-1.93380727506046E+0001 -1.93029687158114E+0001 -1.92677085853095E+0001 -1.92322920988756E+0001 -1.91967189961035E+0001 +-1.91609890164023E+0001 -1.91251018989963E+0001 -1.90890573829272E+0001 -1.90528552070512E+0001 -1.90164951100408E+0001 +-1.89799768303840E+0001 -1.89433001063853E+0001 -1.89064646761644E+0001 -1.88694702776570E+0001 -1.88323166486157E+0001 +-1.87950035266065E+0001 -1.87575306490139E+0001 -1.87198977530361E+0001 -1.86821045756888E+0001 -1.86441508538023E+0001 +-1.86060363240233E+0001 -1.85677607228149E+0001 -1.85293237864551E+0001 -1.84907252510372E+0001 -1.84519648524727E+0001 +-1.84130423264864E+0001 -1.83739574086205E+0001 -1.83347098342322E+0001 -1.82952993384949E+0001 -1.82557256563980E+0001 +-1.82159885227461E+0001 -1.81760876721607E+0001 -1.81360228390788E+0001 -1.80957937577518E+0001 -1.80554001622490E+0001 +-1.80148417864546E+0001 -1.79741183640681E+0001 -1.79332296286061E+0001 -1.78921753134000E+0001 -1.78509551515976E+0001 +-1.78095688761628E+0001 -1.77680162198742E+0001 -1.77262969153278E+0001 -1.76844106949331E+0001 -1.76423572909191E+0001 +-1.76001364353265E+0001 -1.75577478600153E+0001 -1.75151912966592E+0001 -1.74724664767487E+0001 -1.74295731315895E+0001 +-1.73865109923040E+0001 -1.73432797898299E+0001 -1.72998792549208E+0001 -1.72563091181462E+0001 -1.72125691098915E+0001 +-1.71686589603576E+0001 -1.71245783995616E+0001 -1.70803271573370E+0001 -1.70359049633319E+0001 -1.69913115470110E+0001 +-1.69465466376550E+0001 -1.69016099643600E+0001 -1.68565012560382E+0001 -1.68112202414175E+0001 -1.67657666490418E+0001 +-1.67201402072710E+0001 -1.66743406442802E+0001 -1.66283676880612E+0001 -1.65822210664210E+0001 -1.65359005069831E+0001 +-1.64894057371862E+0001 -1.64427364842852E+0001 -1.63958924753506E+0001 -1.63488734372695E+0001 -1.63016790967436E+0001 +-1.62543091802916E+0001 -1.62067634142470E+0001 -1.61590415247604E+0001 -1.61111432377982E+0001 -1.60630682791402E+0001 +-1.60148163743854E+0001 -1.59663872489468E+0001 -1.59177806280536E+0001 -1.58689962367514E+0001 -1.58200337999001E+0001 +-1.57708930421774E+0001 -1.57215736880759E+0001 -1.56720754619036E+0001 -1.56223980877855E+0001 -1.55725412896617E+0001 +-1.55225047912883E+0001 -1.54722883162371E+0001 -1.54218915878959E+0001 -1.53713143294689E+0001 -1.53205562639750E+0001 +-1.52696171142497E+0001 -1.52184966029453E+0001 -1.51671944525276E+0001 -1.51157103852808E+0001 -1.50640441233026E+0001 +-1.50121953885086E+0001 -1.49601639026291E+0001 -1.49079493872104E+0001 -1.48555515636151E+0001 -1.48029701530215E+0001 +-1.47502048764231E+0001 -1.46972554546307E+0001 -1.46441216082687E+0001 -1.45908030577802E+0001 -1.45372995234222E+0001 +-1.44836107252679E+0001 -1.44297363832067E+0001 -1.43756762169437E+0001 -1.43214299459996E+0001 -1.42669972897119E+0001 +-1.42123779672329E+0001 -1.41575716975312E+0001 -1.41025781993910E+0001 -1.40473971914134E+0001 -1.39920283920137E+0001 +-1.39364715194244E+0001 -1.38807262916936E+0001 -1.38247924266847E+0001 -1.37686696420778E+0001 -1.37123576553681E+0001 +-1.36558561838667E+0001 -1.35991649447019E+0001 -1.35422836548157E+0001 -1.34852120309676E+0001 -1.34279497897330E+0001 +-1.33704966475018E+0001 -1.33128523204814E+0001 -1.32550165246934E+0001 -1.31969889759770E+0001 -1.31387693899864E+0001 +-1.30803574821911E+0001 -1.30217529678775E+0001 -1.29629555621479E+0001 -1.29039649799190E+0001 -1.28447809359252E+0001 +-1.27854031447159E+0001 -1.27258313206562E+0001 -1.26660651779277E+0001 -1.26061044305272E+0001 -1.25459487922676E+0001 +-1.24855979767785E+0001 -1.24250516975037E+0001 -1.23643096677046E+0001 -1.23033716004572E+0001 -1.22422372086537E+0001 +-1.21809062050028E+0001 -1.21193783020285E+0001 -1.20576532120708E+0001 -1.19957306472856E+0001 -1.19336103196449E+0001 +-1.18712919409356E+0001 -1.18087752227618E+0001 -1.17460598765428E+0001 -1.16831456135134E+0001 -1.16200321447258E+0001 +-1.15567191810462E+0001 -1.14932064331578E+0001 -1.14294936115588E+0001 -1.13655804265649E+0001 -1.13014665883060E+0001 +-1.12371518067286E+0001 -1.11726357915952E+0001 -1.11079182524838E+0001 -1.10429988987884E+0001 -1.09778774397191E+0001 +-1.09125535843020E+0001 -1.08470270413784E+0001 -1.07812975196059E+0001 -1.07153647274578E+0001 -1.06492283732245E+0001 +-1.05828881650102E+0001 -1.05163438107367E+0001 -1.04495950181403E+0001 -1.03826414947743E+0001 -1.03154829480076E+0001 +-1.02481190850248E+0001 -1.01805496128265E+0001 -1.01127742382293E+0001 -1.00447926678650E+0001 -9.97660460818179E+0000 +-9.90820976544433E+0000 -9.83960784573219E+0000 -9.77079855494162E+0000 -9.70178159878424E+0000 -9.63255668278725E+0000 +-9.56312351229485E+0000 -9.49348179246567E+0000 -9.42363122827555E+0000 -9.35357152451570E+0000 -9.28330238579315E+0000 +-9.21282351653122E+0000 -9.14213462096791E+0000 -9.07123540315797E+0000 -9.00012556697288E+0000 -8.92880481609905E+0000 +-8.85727285403823E+0000 -8.78552938410871E+0000 -8.71357410944552E+0000 -8.64140673299835E+0000 -8.56902695753297E+0000 +-8.49643448563097E+0000 -8.42362901969091E+0000 -8.35061026192557E+0000 -8.27737791436516E+0000 -8.20393167885459E+0000 +-8.13027125705594E+0000 -8.05639635044531E+0000 -7.98230666031691E+0000 -7.90800188777894E+0000 -7.83348173375657E+0000 +-7.75874589899058E+0000 -7.68379408403734E+0000 -7.60862598926997E+0000 -7.53324131487648E+0000 -7.45763976086141E+0000 +-7.38182102704468E+0000 -7.30578481306316E+0000 -7.22953081836840E+0000 -7.15305874222827E+0000 -7.07636828372620E+0000 +-6.99945914176305E+0000 -6.92233101505349E+0000 -6.84498360212933E+0000 -6.76741660133780E+0000 -6.68962971084238E+0000 +-6.61162262862240E+0000 -6.53339505247209E+0000 -6.45494668000401E+0000 -6.37627720864361E+0000 -6.29738633563397E+0000 +-6.21827375803423E+0000 -6.13893917271935E+0000 -6.05938227637807E+0000 -5.97960276551862E+0000 -5.89960033646207E+0000 +-5.81937468534716E+0000 -5.73892550812798E+0000 -5.65825250057401E+0000 -5.57735535827146E+0000 -5.49623377662215E+0000 +-5.41488745084371E+0000 -5.33331607596983E+0000 -5.25151934684936E+0000 -5.16949695814833E+0000 -5.08724860434768E+0000 +-5.00477397974441E+0000 -4.92207277845228E+0000 -4.83914469439924E+0000 -4.75598942133115E+0000 -4.67260665280810E+0000 +-4.58899608220690E+0000 -4.50515740271999E+0000 -4.42109030735651E+0000 -4.33679448893986E+0000 -4.25226964011108E+0000 +-4.16751545332613E+0000 -4.08253162085703E+0000 -3.99731783479160E+0000 -3.91187378703421E+0000 -3.82619916930389E+0000 +-3.74029367313665E+0000 -3.65415698988477E+0000 -3.56778881071477E+0000 -3.48118882661061E+0000 -3.39435672837135E+0000 +-3.30729220661306E+0000 -3.21999495176465E+0000 -3.13246465407542E+0000 -3.04470100360777E+0000 -2.95670369023992E+0000 +-2.86847240366706E+0000 -2.78000683339928E+0000 -2.69130666876390E+0000 -2.60237159890312E+0000 -2.51320131277521E+0000 +-2.42379549915404E+0000 -2.33415384663067E+0000 -2.24427604361063E+0000 -2.15416177831571E+0000 -2.06381073878424E+0000 +-1.97322261286990E+0000 -1.88239708824244E+0000 -1.79133385238742E+0000 -1.70003259260602E+0000 -1.60849299601682E+0000 +-1.51671474955174E+0000 -1.42469753996079E+0000 -1.33244105380891E+0000 -1.23994497747799E+0000 -1.14720899716372E+0000 +-1.05423279887964E+0000 -9.61016068454910E-0001 -8.67558491533373E-0001 -7.73859753576517E-0001 -6.79919539860293E-0001 +-5.85737535477620E-0001 -4.91313425336102E-0001 -3.96646894160767E-0001 -3.01737626491786E-0001 -2.06585306684474E-0001 +-1.11189618911339E-0001 -1.55502471604904E-0002 8.03331247636834E-0002 1.76460813243239E-0001 2.72833134840766E-0001 + 3.69450406305987E-0001 4.66312944570291E-0001 5.63421066751062E-0001 6.60775090149173E-0001 7.58375332248306E-0001 + 8.56222110718818E-0001 9.54315743412280E-0001 1.05265654836649E+0000 1.15124484380271E+0000 1.25008094812529E+0000 + 1.34916517992451E+0000 1.44849785797282E+0000 1.54807930122934E+0000 1.64790982883369E+0000 1.74798976011243E+0000 + 1.84831941457469E+0000 1.94889911191581E+0000 2.04972917201189E+0000 2.15080991492619E+0000 2.25214166090382E+0000 + 2.35372473037523E+0000 2.45555944395460E+0000 2.55764612244093E+0000 2.65998508681582E+0000 2.76257665824596E+0000 + 2.86542115808174E+0000 2.96851890785865E+0000 3.07187022929429E+0000 3.17547544429181E+0000 3.27933487493851E+0000 + 3.38344884350522E+0000 3.48781767244668E+0000 3.59244168440227E+0000 3.69732120219487E+0000 3.80245654883220E+0000 + 3.90784804750569E+0000 4.01349602159053E+0000 4.11940079464603E+0000 4.22556269041615E+0000 4.33198203282882E+0000 + 4.43865914599564E+0000 4.54559435421152E+0000 4.65278798195777E+0000 4.76024035389810E+0000 4.86795179487945E+0000 + 4.97592262993567E+0000 5.08415318428251E+0000 5.19264378331945E+0000 5.30139475263195E+0000 5.41040641798736E+0000 + 5.51967910533995E+0000 5.62921314082496E+0000 5.73900885076318E+0000 5.84906656165958E+0000 5.95938660020374E+0000 + 6.06996929326806E+0000 6.18081496790910E+0000 6.29192395136897E+0000 6.40329657107213E+0000 6.51493315462858E+0000 + 6.62683402983021E+0000 6.73899952465581E+0000 6.85142996726609E+0000 6.96412568600772E+0000 7.07708700940930E+0000 + 7.19031426618403E+0000 7.30380778523158E+0000 7.41756789563215E+0000 7.53159492665236E+0000 7.64588920774258E+0000 + 7.76045106853644E+0000 7.87528083885218E+0000 7.99037884869131E+0000 8.10574542824179E+0000 8.22138090787212E+0000 + 8.33728561813859E+0000 8.45345988977851E+0000 8.56990405371471E+0000 8.68661844105418E+0000 8.80360338308765E+0000 + 8.92085921129001E+0000 9.03838625731942E+0000 9.15618485302002E+0000 9.27425533041833E+0000 9.39259802172501E+0000 + 9.51121325933582E+0000 9.63010137583069E+0000 9.74926270397100E+0000 9.86869757670638E+0000 9.98840632716610E+0000 + 1.01083892886676E+0001 1.02286467947101E+0001 1.03491791789761E+0001 1.04699867753347E+0001 1.05910699178375E+0001 + 1.07124289407202E+0001 1.08340641784025E+0001 1.09559759654885E+0001 1.10781646367672E+0001 1.12006305272102E+0001 + 1.13233739719739E+0001 1.14463953063977E+0001 1.15696948660074E+0001 1.16932729865097E+0001 1.18171300037997E+0001 + 1.19412662539521E+0001 1.20656820732283E+0001 1.21903777980724E+0001 1.23153537651137E+0001 1.24406103111650E+0001 + 1.25661477732237E+0001 1.26919664884699E+0001 1.28180667942697E+0001 1.29444490281716E+0001 1.30711135279084E+0001 + 1.31980606313986E+0001 1.33252906767434E+0001 1.34528040022264E+0001 1.35806009463185E+0001 1.37086818476741E+0001 + 1.38370470451300E+0001 1.39656968777076E+0001 1.40946316846134E+0001 1.42238518052354E+0001 1.43533575791502E+0001 + 1.44831493461129E+0001 1.46132274460678E+0001 1.47435922191407E+0001 1.48742440056407E+0001 1.50051831460627E+0001 + 1.51364099810839E+0001 1.52679248515692E+0001 1.53997280985622E+0001 1.55318200632955E+0001 1.56642010871823E+0001 + 1.57968715118213E+0001 1.59298316789963E+0001 1.60630819306725E+0001 1.61966226090017E+0001 1.63304540563186E+0001 + 1.64645766151425E+0001 1.65989906281752E+0001 1.67336964383048E+0001 1.68686943886019E+0001 1.70039848223228E+0001 + 1.71395680829055E+0001 1.72754445139735E+0001 1.74116144593340E+0001 1.75480782629793E+0001 1.76848362690844E+0001 + 1.78218888220085E+0001 1.79592362662956E+0001 1.80968789466738E+0001 1.82348172080542E+0001 1.83730513955325E+0001 + 1.85115818543886E+0001 1.86504089300879E+0001 1.87895329682760E+0001 1.89289543147861E+0001 1.90686733156358E+0001 + 1.92086903170225E+0001 1.93490056653322E+0001 1.94896197071325E+0001 1.96305327891769E+0001 1.97717452584002E+0001 + 1.99132574619234E+0001 2.00550697470517E+0001 2.01971824612733E+0001 2.03395959522600E+0001 2.04823105678697E+0001 + 2.06253266561430E+0001 2.07686445653048E+0001 2.09122646437627E+0001 2.10561872401117E+0001 2.12004127031273E+0001 + 2.13449413817707E+0001 2.14897736251878E+0001 2.16349097827069E+0001 2.17803502038423E+0001 2.19260952382906E+0001 + 2.20721452359330E+0001 2.22185005468350E+0001 2.23651615212466E+0001 2.25121285096006E+0001 2.26594018625156E+0001 + 2.28069819307921E+0001 2.29548690654165E+0001 2.31030636175583E+0001 2.32515659385717E+0001 2.34003763799933E+0001 + 2.35494952935464E+0001 2.36989230311369E+0001 2.38486599448543E+0001 2.39987063869735E+0001 2.41490627099520E+0001 + 2.42997292664313E+0001 2.44507064092386E+0001 2.46019944913846E+0001 2.47535938660631E+0001 2.49055048866526E+0001 + 2.50577279067152E+0001 2.52102632799988E+0001 2.53631113604315E+0001 2.55162725021310E+0001 2.56697470593931E+0001 + 2.58235353867030E+0001 2.59776378387260E+0001 2.61320547703135E+0001 2.62867865365010E+0001 2.64418334925062E+0001 + 2.65971959937328E+0001 2.67528743957678E+0001 2.69088690543831E+0001 2.70651803255328E+0001 2.72218085653567E+0001 + 2.73787541301781E+0001 2.75360173765034E+0001 2.76935986610256E+0001 2.78514983406194E+0001 2.80097167723438E+0001 + 2.81682543134434E+0001 2.83271113213455E+0001 2.84862881536606E+0001 2.86457851681862E+0001 2.88056027229013E+0001 + 2.89657411759690E+0001 2.91262008857384E+0001 2.92869822107405E+0001 2.94480855096922E+0001 2.96095111414929E+0001 + 2.97712594652266E+0001 2.99333308401619E+0001 3.00957256257502E+0001 3.02584441816289E+0001 3.04214868676167E+0001 + 3.05848540437196E+0001 3.07485460701255E+0001 3.09125633072067E+0001 3.10769061155183E+0001 3.12415748558037E+0001 + 3.14065698889854E+0001 3.15718915761722E+0001 3.17375402786574E+0001 3.19035163579179E+0001 3.20698201756140E+0001 + 3.22364520935907E+0001 3.24034124738764E+0001 3.25707016786851E+0001 3.27383200704126E+0001 3.29062680116403E+0001 + 3.30745458651336E+0001 3.32431539938420E+0001 3.34120927608978E+0001 3.35813625296187E+0001 3.37509636635059E+0001 + 3.39208965262446E+0001 3.40911614817051E+0001 3.42617588939393E+0001 3.44326891271853E+0001 3.46039525458650E+0001 + 3.47755495145839E+0001 3.49474803981307E+0001 3.51197455614806E+0001 3.52923453697895E+0001 3.54652801884008E+0001 + 3.56385503828396E+0001 3.58121563188156E+0001 3.59860983622229E+0001 3.61603768791392E+0001 3.63349922358266E+0001 + 3.65099447987318E+0001 3.66852349344845E+0001 3.68608630098970E+0001 3.70368293919705E+0001 3.72131344478862E+0001 + 3.73897785450094E+0001 3.75667620508907E+0001 3.77440853332646E+0001 3.79217487600504E+0001 3.80997526993492E+0001 + 3.82780975194482E+0001 3.84567835888179E+0001 3.86358112761141E+0001 3.88151809501719E+0001 3.89948929800175E+0001 + 3.91749477348567E+0001 3.93553455840793E+0001 3.95360868972602E+0001 3.97171720441593E+0001 3.98986013947192E+0001 + 4.00803753190658E+0001 4.02624941875115E+0001 4.04449583705505E+0001 4.06277682388618E+0001 4.08109241633092E+0001 + 4.09944265149388E+0001 4.11782756649836E+0001 4.13624719848563E+0001 4.15470158461585E+0001 4.17319076206722E+0001 + 4.19171476803649E+0001 4.21027363973876E+0001 4.22886741440784E+0001 4.24749612929536E+0001 4.26615982167177E+0001 + 4.28485852882591E+0001 4.30359228806487E+0001 4.32236113671420E+0001 4.34116511211796E+0001 4.36000425163838E+0001 + 4.37887859265647E+0001 4.39778817257111E+0001 4.41673302880022E+0001 4.43571319877947E+0001 4.45472871996349E+0001 + 4.47377962982496E+0001 4.49286596585516E+0001 4.51198776556366E+0001 4.53114506647848E+0001 4.55033790614602E+0001 + 4.56956632213105E+0001 4.58883035201688E+0001 4.60813003340513E+0001 4.62746540391577E+0001 4.64683650118736E+0001 + 4.66624336287668E+0001 4.68568602665887E+0001 4.70516453022765E+0001 4.72467891129518E+0001 4.74422920759180E+0001 + 4.76381545686631E+0001 4.78343769688622E+0001 4.80309596543698E+0001 4.82279030032264E+0001 4.84252073936582E+0001 + 4.86228732040736E+0001 4.88209008130643E+0001 4.90192905994086E+0001 4.92180429420673E+0001 4.94171582201843E+0001 + 4.96166368130903E+0001 4.98164791002960E+0001 5.00166854615004E+0001 5.02172562765845E+0001 5.04181919256116E+0001 + 5.06194927888337E+0001 5.08211592466814E+0001 5.10231916797729E+0001 5.12255904689114E+0001 5.14283559950791E+0001 + 5.16314886394471E+0001 5.18349887833683E+0001 5.20388568083808E+0001 5.22430930962055E+0001 5.24476980287486E+0001 + 5.26526719880985E+0001 5.28580153565290E+0001 5.30637285164994E+0001 5.32698118506487E+0001 5.34762657418050E+0001 + 5.36830905729771E+0001 5.38902867273591E+0001 5.40978545883272E+0001 5.43057945394457E+0001 5.45141069644583E+0001 + 5.47227922472966E+0001 5.49318507720741E+0001 5.51412829230885E+0001 5.53510890848220E+0001 5.55612696419407E+0001 + 5.57718249792938E+0001 5.59827554819167E+0001 5.61940615350268E+0001 5.64057435240270E+0001 5.66178018345026E+0001 + 5.68302368522259E+0001 5.70430489631485E+0001 5.72562385534097E+0001 5.74698060093333E+0001 5.76837517174235E+0001 + 5.78980760643726E+0001 5.81127794370541E+0001 5.83278622225262E+0001 5.85433248080317E+0001 5.87591675809990E+0001 + 5.89753909290362E+0001 5.91919952399394E+0001 5.94089809016864E+0001 5.96263483024409E+0001 5.98440978305489E+0001 + 6.00622298745407E+0001 6.02807448231320E+0001 6.04996430652213E+0001 6.07189249898934E+0001 6.09385909864118E+0001 + 6.11586414442295E+0001 6.13790767529817E+0001 6.15998973024853E+0001 6.18211034827459E+0001 6.20426956839497E+0001 + 6.22646742964671E+0001 6.24870397108548E+0001 6.27097923178503E+0001 6.29329325083777E+0001 6.31564606735442E+0001 + 6.33803772046408E+0001 6.36046824931423E+0001 6.38293769307102E+0001 6.40544609091853E+0001 6.42799348205954E+0001 + 6.45057990571545E+0001 6.47320540112546E+0001 6.49587000754768E+0001 6.51857376425855E+0001 6.54131671055266E+0001 + 6.56409888574331E+0001 6.58692032916192E+0001 6.60978108015861E+0001 6.63268117810167E+0001 6.65562066237776E+0001 + 6.67859957239230E+0001 6.70161794756873E+0001 6.72467582734894E+0001 6.74777325119344E+0001 6.77091025858099E+0001 + 6.79408688900880E+0001 6.81730318199238E+0001 6.84055917706587E+0001 6.86385491378146E+0001 6.88719043171009E+0001 + 6.91056577044105E+0001 6.93398096958181E+0001 6.95743606875844E+0001 6.98093110761520E+0001 7.00446612581513E+0001 + 7.02804116303932E+0001 7.05165625898744E+0001 7.07531145337748E+0001 7.09900678594586E+0001 7.12274229644750E+0001 + 7.14651802465564E+0001 7.17033401036169E+0001 7.19419029337587E+0001 7.21808691352676E+0001 7.24202391066092E+0001 + 7.26600132464373E+0001 7.29001919535881E+0001 7.31407756270814E+0001 7.33817646661241E+0001 7.36231594701044E+0001 + 7.38649604385919E+0001 7.41071679713459E+0001 7.43497824683072E+0001 7.45928043295989E+0001 7.48362339555310E+0001 + 7.50800717465954E+0001 7.53243181034700E+0001 7.55689734270131E+0001 7.58140381182729E+0001 7.60595125784776E+0001 + 7.63053972090365E+0001 7.65516924115518E+0001 7.67983985878004E+0001 7.70455161397485E+0001 7.72930454695465E+0001 + 7.75409869795253E+0001 7.77893410722040E+0001 7.80381081502806E+0001 7.82872886166447E+0001 7.85368828743608E+0001 + 7.87868913266848E+0001 7.90373143770535E+0001 7.92881524290879E+0001 7.95394058865932E+0001 7.97910751535583E+0001 + 8.00431606341563E+0001 8.02956627327458E+0001 8.05485818538668E+0001 8.08019184022464E+0001 8.10556727827911E+0001 + 8.13098454005972E+0001 8.15644366609408E+0001 8.18194469692826E+0001 8.20748767312693E+0001 8.23307263527313E+0001 + 8.25869962396800E+0001 8.28436867983137E+0001 8.31007984350135E+0001 8.33583315563474E+0001 8.36162865690630E+0001 + 8.38746638800922E+0001 8.41334638965563E+0001 8.43926870257565E+0001 8.46523336751752E+0001 8.49124042524863E+0001 + 8.51728991655400E+0001 8.54338188223765E+0001 8.56951636312160E+0001 8.59569340004682E+0001 8.62191303387172E+0001 + 8.64817530547407E+0001 8.67448025574949E+0001 8.70082792561243E+0001 8.72721835599523E+0001 8.75365158784889E+0001 + 8.78012766214297E+0001 8.80664661986521E+0001 8.83320850202163E+0001 8.85981334963708E+0001 8.88646120375452E+0001 + 8.91315210543544E+0001 8.93988609575936E+0001 8.96666321582479E+0001 8.99348350674827E+0001 9.02034700966478E+0001 + 9.04725376572769E+0001 9.07420381610891E+0001 9.10119720199873E+0001 9.12823396460572E+0001 9.15531414515681E+0001 + 9.18243778489750E+0001 9.20960492509175E+0001 9.23681560702162E+0001 9.26406987198789E+0001 9.29136776130945E+0001 + 9.31870931632384E+0001 9.34609457838715E+0001 9.37352358887319E+0001 9.40099638917472E+0001 9.42851302070312E+0001 + 9.45607352488732E+0001 9.48367794317573E+0001 9.51132631703422E+0001 9.53901868794756E+0001 9.56675509741890E+0001 + 9.59453558696960E+0001 9.62236019813963E+0001 9.65022897248700E+0001 9.67814195158890E+0001 9.70609917703987E+0001 + 9.73410069045349E+0001 9.76214653346196E+0001 9.79023674771543E+0001 9.81837137488237E+0001 9.84655045665004E+0001 + 9.87477403472385E+0001 9.90304215082779E+0001 9.93135484670393E+0001 9.95971216411326E+0001 9.98811414483471E+0001 + 1.00165608306658E+0002 1.00450522634224E+0002 1.00735884849388E+0002 1.01021695370678E+0002 1.01307954616804E+0002 + 1.01594663006663E+0002 1.01881820959331E+0002 1.02169428894074E+0002 1.02457487230337E+0002 1.02745996387753E+0002 + 1.03034956786134E+0002 1.03324368845484E+0002 1.03614232985982E+0002 1.03904549627996E+0002 1.04195319192079E+0002 + 1.04486542098966E+0002 1.04778218769574E+0002 1.05070349625008E+0002 1.05362935086554E+0002 1.05655975575687E+0002 + 1.05949471514059E+0002 1.06243423323509E+0002 1.06537831426061E+0002 1.06832696243925E+0002 1.07128018199489E+0002 + 1.07423797715329E+0002 1.07720035214207E+0002 1.08016731119062E+0002 1.08313885853026E+0002 1.08611499839408E+0002 + 1.08909573501704E+0002 1.09208107263594E+0002 1.09507101548942E+0002 1.09806556781793E+0002 1.10106473386381E+0002 + 1.10406851787122E+0002 1.10707692408613E+0002 1.11008995675640E+0002 1.11310762013169E+0002 1.11612991846353E+0002 + 1.11915685600527E+0002 1.12218843701211E+0002 1.12522466574109E+0002 1.12826554645109E+0002 1.13131108340280E+0002 + 1.13436128085882E+0002 1.13741614308352E+0002 1.14047567434314E+0002 1.14353987890576E+0002 1.14660876104131E+0002 + 1.14968232502154E+0002 1.15276057512005E+0002 1.15584351561226E+0002 1.15893115077547E+0002 1.16202348488880E+0002 + 1.16512052223321E+0002 1.16822226709148E+0002 1.17132872374828E+0002 1.17443989649008E+0002 1.17755578960517E+0002 + 1.18067640738373E+0002 1.18380175411778E+0002 1.18693183410114E+0002 1.19006665162948E+0002 1.19320621100036E+0002 + 1.19635051651309E+0002 1.19949957246891E+0002 1.20265338317084E+0002 1.20581195292376E+0002 1.20897528603442E+0002 + 1.21214338681135E+0002 1.21531625956496E+0002 1.21849390860748E+0002 1.22167633825304E+0002 1.22486355281752E+0002 + 1.22805555661867E+0002 1.23125235397612E+0002 1.23445394921132E+0002 1.23766034664752E+0002 1.24087155060987E+0002 + 1.24408756542532E+0002 1.24730839542268E+0002 1.25053404493260E+0002 1.25376451828754E+0002 1.25699981982183E+0002 + 1.26023995387165E+0002 1.26348492477499E+0002 1.26673473687169E+0002 1.26998939450346E+0002 1.27324890201381E+0002 + 1.27651326374808E+0002 1.27978248405350E+0002 1.28305656727911E+0002 1.28633551777580E+0002 1.28961933989627E+0002 + 1.29290803799512E+0002 1.29620161642873E+0002 1.29950007955536E+0002 1.30280343173508E+0002 1.30611167732983E+0002 + 1.30942482070336E+0002 1.31274286622130E+0002 1.31606581825108E+0002 1.31939368116198E+0002 1.32272645932511E+0002 + 1.32606415711350E+0002 1.32940677890188E+0002 1.33275432906696E+0002 1.33610681198718E+0002 1.33946423204287E+0002 + 1.34282659361626E+0002 1.34619390109126E+0002 1.34956615885379E+0002 1.35294337129149E+0002 1.35632554279393E+0002 + 1.35971267775243E+0002 1.36310478056024E+0002 1.36650185561241E+0002 1.36990390730578E+0002 1.37331094003913E+0002 + 1.37672295821299E+0002 1.38013996622978E+0002 1.38356196849376E+0002 1.38698896941100E+0002 1.39042097338944E+0002 + 1.39385798483884E+0002 1.39730000817082E+0002 1.40074704779881E+0002 1.40419910813813E+0002 1.40765619360588E+0002 + 1.41111830862104E+0002 1.41458545760442E+0002 1.41805764497867E+0002 1.42153487516826E+0002 1.42501715259955E+0002 + 1.42850448170070E+0002 1.43199686690170E+0002 1.43549431263443E+0002 1.43899682333255E+0002 1.44250440343160E+0002 + 1.44601705736896E+0002 1.44953478958384E+0002 1.45305760451728E+0002 1.45658550661216E+0002 1.46011850031324E+0002 + 1.46365659006707E+0002 1.46719978032207E+0002 1.47074807552849E+0002 1.47430148013841E+0002 1.47785999860575E+0002 + 1.48142363538632E+0002 1.48499239493771E+0002 1.48856628171936E+0002 1.49214530019258E+0002 1.49572945482048E+0002 + 1.49931875006804E+0002 1.50291319040210E+0002 1.50651278029128E+0002 1.51011752420606E+0002 1.51372742661881E+0002 + 1.51734249200366E+0002 1.52096272483666E+0002 1.52458812959565E+0002 1.52821871076030E+0002 1.53185447281218E+0002 + 1.53549542023463E+0002 1.53914155751288E+0002 1.54279288913397E+0002 1.54644941958680E+0002 1.55011115336212E+0002 + 1.55377809495246E+0002 1.55745024885227E+0002 1.56112761955779E+0002 1.56481021156711E+0002 1.56849802938017E+0002 + 1.57219107749873E+0002 1.57588936042641E+0002 1.57959288266867E+0002 1.58330164873280E+0002 1.58701566312793E+0002 + 1.59073493036503E+0002 1.59445945495691E+0002 1.59818924141825E+0002 1.60192429426553E+0002 1.60566461801706E+0002 + 1.60941021719304E+0002 1.61316109631548E+0002 1.61691725990822E+0002 1.62067871249697E+0002 1.62444545860926E+0002 + 1.62821750277446E+0002 1.63199484952379E+0002 1.63577750339029E+0002 1.63956546890889E+0002 1.64335875061627E+0002 + 1.64715735305106E+0002 1.65096128075363E+0002 1.65477053826626E+0002 1.65858513013303E+0002 1.66240506089988E+0002 + 1.66623033511461E+0002 1.67006095732680E+0002 1.67389693208791E+0002 1.67773826395124E+0002 1.68158495747193E+0002 + 1.68543701720696E+0002 1.68929444771512E+0002 1.69315725355709E+0002 1.69702543929537E+0002 1.70089900949426E+0002 + 1.70477796871997E+0002 1.70866232154050E+0002 1.71255207252570E+0002 1.71644722624728E+0002 1.72034778727878E+0002 + 1.72425376019555E+0002 1.72816514957482E+0002 1.73208195999567E+0002 1.73600419603895E+0002 1.73993186228743E+0002 + 1.74386496332566E+0002 1.74780350374008E+0002 1.75174748811893E+0002 1.75569692105232E+0002 1.75965180713218E+0002 + 1.76361215095228E+0002 1.76757795710822E+0002 1.77154923019751E+0002 1.77552597481938E+0002 1.77950819557503E+0002 + 1.78349589706739E+0002 1.78748908390128E+0002 1.79148776068339E+0002 1.79549193202219E+0002 1.79950160252802E+0002 + 1.80351677681306E+0002 1.80753745949131E+0002 1.81156365517866E+0002 1.81559536849277E+0002 1.81963260405320E+0002 + 1.82367536648133E+0002 1.82772366040036E+0002 1.83177749043535E+0002 1.83583686121321E+0002 1.83990177736268E+0002 + 1.84397224351432E+0002 1.84804826430054E+0002 1.85212984435563E+0002 1.85621698831565E+0002 1.86030970081856E+0002 + 1.86440798650412E+0002 1.86851185001398E+0002 1.87262129599157E+0002 1.87673632908218E+0002 1.88085695393297E+0002 + 1.88498317519291E+0002 1.88911499751281E+0002 1.89325242554532E+0002 1.89739546394499E+0002 1.90154411736808E+0002 + 1.90569839047282E+0002 1.90985828791920E+0002 1.91402381436910E+0002 1.91819497448620E+0002 1.92237177293606E+0002 + 1.92655421438603E+0002 1.93074230350536E+0002 1.93493604496506E+0002 1.93913544343806E+0002 1.94334050359912E+0002 + 1.94755123012477E+0002 1.95176762769345E+0002 1.95598970098543E+0002 1.96021745468277E+0002 1.96445089346945E+0002 + 1.96869002203122E+0002 1.97293484505572E+0002 1.97718536723240E+0002 1.98144159325255E+0002 1.98570352780930E+0002 + 1.98997117559766E+0002 1.99424454131441E+0002 1.99852362965823E+0002 2.00280844532961E+0002 2.00709899303091E+0002 + 2.01139527746627E+0002 2.01569730334174E+0002 2.02000507536517E+0002 2.02431859824625E+0002 2.02863787669651E+0002 + 2.03296291542936E+0002 2.03729371916000E+0002 2.04163029260547E+0002 2.04597264048470E+0002 2.05032076751841E+0002 + 2.05467467842917E+0002 2.05903437794143E+0002 2.06339987078141E+0002 2.06777116167725E+0002 2.07214825535883E+0002 + 2.07653115655799E+0002 2.08091987000832E+0002 2.08531440044528E+0002 2.08971475260615E+0002 2.09412093123010E+0002 + 2.09853294105809E+0002 2.10295078683295E+0002 2.10737447329932E+0002 2.11180400520372E+0002 2.11623938729447E+0002 + 2.12068062432177E+0002 2.12512772103762E+0002 2.12958068219586E+0002 2.13403951255224E+0002 2.13850421686425E+0002 + 2.14297479989131E+0002 2.14745126639458E+0002 2.15193362113718E+0002 2.15642186888398E+0002 2.16091601440173E+0002 + 2.16541606245899E+0002 2.16992201782618E+0002 2.17443388527558E+0002 2.17895166958127E+0002 2.18347537551918E+0002 + 2.18800500786711E+0002 2.19254057140468E+0002 2.19708207091334E+0002 2.20162951117638E+0002 2.20618289697893E+0002 + 2.21074223310800E+0002 2.21530752435239E+0002 2.21987877550276E+0002 2.22445599135159E+0002 2.22903917669324E+0002 + 2.23362833632390E+0002 2.23822347504157E+0002 2.24282459764611E+0002 2.24743170893921E+0002 2.25204481372442E+0002 + 2.25666391680717E+0002 2.26128902299457E+0002 2.26592013709574E+0002 2.27055726392156E+0002 2.27520040828478E+0002 + 2.27984957499999E+0002 2.28450476888360E+0002 2.28916599475384E+0002 2.29383325743084E+0002 2.29850656173653E+0002 + 2.30318591249469E+0002 2.30787131453093E+0002 2.31256277267274E+0002 2.31726029174935E+0002 2.32196387659197E+0002 + 2.32667353203354E+0002 2.33138926290888E+0002 2.33611107405465E+0002 2.34083897030937E+0002 2.34557295651336E+0002 + 2.35031303750878E+0002 2.35505921813967E+0002 2.35981150325190E+0002 2.36456989769314E+0002 2.36933440631294E+0002 + 2.37410503396267E+0002 2.37888178549557E+0002 2.38366466576666E+0002 2.38845367963288E+0002 2.39324883195293E+0002 + 2.39805012758744E+0002 2.40285757139877E+0002 2.40767116825121E+0002 2.41249092301086E+0002 2.41731684054561E+0002 + 2.42214892572530E+0002 2.42698718342152E+0002 2.43183161850773E+0002 2.43668223585923E+0002 2.44153904035315E+0002 + 2.44640203686848E+0002 2.45127123028602E+0002 2.45614662548844E+0002 2.46102822736023E+0002 2.46591604078772E+0002 + 2.47081007065914E+0002 2.47571032186443E+0002 2.48061679929549E+0002 2.48552950784602E+0002 2.49044845241154E+0002 + 2.49537363788945E+0002 2.50030506917894E+0002 2.50524275118108E+0002 2.51018668879877E+0002 2.51513688693674E+0002 + 2.52009335050157E+0002 2.52505608440168E+0002 2.53002509354734E+0002 2.53500038285060E+0002 2.53998195722545E+0002 + 2.54496982158764E+0002 2.54996398085482E+0002 2.55496443994639E+0002 2.55997120378369E+0002 2.56498427728983E+0002 + 2.57000366538980E+0002 2.57502937301039E+0002 2.58006140508032E+0002 2.58509976653004E+0002 2.59014446229188E+0002 + 2.59519549730005E+0002 2.60025287649052E+0002 2.60531660480119E+0002 2.61038668717174E+0002 2.61546312854372E+0002 + 2.62054593386047E+0002 2.62563510806722E+0002 2.63073065611108E+0002 2.63583258294086E+0002 2.64094089350736E+0002 + 2.64605559276312E+0002 2.65117668566258E+0002 2.65630417716197E+0002 2.66143807221940E+0002 2.66657837579482E+0002 + 2.67172509284997E+0002 2.67687822834852E+0002 2.68203778725589E+0002 2.68720377453937E+0002 2.69237619516812E+0002 + 2.69755505411305E+0002 2.70274035634708E+0002 2.70793210684479E+0002 2.71313031058270E+0002 2.71833497253914E+0002 + 2.72354609769429E+0002 2.72876369103014E+0002 2.73398775753061E+0002 2.73921830218133E+0002 2.74445532996984E+0002 + 2.74969884588557E+0002 2.75494885491965E+0002 2.76020536206522E+0002 2.76546837231713E+0002 2.77073789067213E+0002 + 2.77601392212878E+0002 2.78129647168750E+0002 2.78658554435056E+0002 2.79188114512202E+0002 2.79718327900781E+0002 + 2.80249195101577E+0002 2.80780716615549E+0002 2.81312892943835E+0002 2.81845724587775E+0002 2.82379212048875E+0002 + 2.82913355828839E+0002 2.83448156429541E+0002 2.83983614353049E+0002 2.84519730101616E+0002 2.85056504177673E+0002 + 2.85593937083833E+0002 2.86132029322906E+0002 2.86670781397870E+0002 2.87210193811901E+0002 2.87750267068344E+0002 + 2.88291001670743E+0002 2.88832398122817E+0002 2.89374456928472E+0002 2.89917178591795E+0002 2.90460563617064E+0002 + 2.91004612508732E+0002 2.91549325771441E+0002 2.92094703910019E+0002 2.92640747429472E+0002 2.93187456834996E+0002 + 2.93734832631966E+0002 2.94282875325945E+0002 2.94831585422677E+0002 2.95380963428091E+0002 2.95931009848304E+0002 + 2.96481725189609E+0002 2.97033109958487E+0002 2.97585164661607E+0002 2.98137889805816E+0002 2.98691285898147E+0002 + 2.99245353445818E+0002 2.99800092956226E+0002 3.00355504936964E+0002 3.00911589895795E+0002 3.01468348340675E+0002 + 3.02025780779741E+0002 3.02583887721314E+0002 3.03142669673900E+0002 3.03702127146184E+0002 3.04262260647043E+0002 + 3.04823070685534E+0002 3.05384557770898E+0002 3.05946722412558E+0002 3.06509565120125E+0002 3.07073086403392E+0002 + 3.07637286772337E+0002 3.08202166737117E+0002 3.08767726808082E+0002 3.09333967495761E+0002 3.09900889310860E+0002 + 3.10468492764287E+0002 3.11036778367115E+0002 3.11605746630610E+0002 3.12175398066225E+0002 3.12745733185588E+0002 + 3.13316752500519E+0002 3.13888456523020E+0002 3.14460845765274E+0002 3.15033920739650E+0002 3.15607681958702E+0002 + 3.16182129935165E+0002 3.16757265181961E+0002 3.17333088212197E+0002 3.17909599539162E+0002 3.18486799676324E+0002 + 3.19064689137345E+0002 3.19643268436066E+0002 3.20222538086504E+0002 3.20802498602881E+0002 3.21383150499581E+0002 + 3.21964494291180E+0002 3.22546530492444E+0002 3.23129259618318E+0002 3.23712682183923E+0002 3.24296798704579E+0002 + 3.24881609695785E+0002 3.25467115673213E+0002 3.26053317152735E+0002 3.26640214650399E+0002 3.27227808682434E+0002 + 3.27816099765261E+0002 3.28405088415479E+0002 3.28994775149871E+0002 3.29585160485411E+0002 3.30176244939246E+0002 + 3.30768029028713E+0002 3.31360513271340E+0002 3.31953698184827E+0002 3.32547584287058E+0002 3.33142172096112E+0002 + 3.33737462130246E+0002 3.34333454907895E+0002 3.34930150947690E+0002 3.35527550768435E+0002 3.36125654889125E+0002 + 3.36724463828938E+0002 3.37323978107233E+0002 3.37924198243552E+0002 3.38525124757629E+0002 3.39126758169372E+0002 + 3.39729098998881E+0002 3.40332147766434E+0002 3.40935904992499E+0002 3.41540371197718E+0002 3.42145546902932E+0002 + 3.42751432629151E+0002 3.43358028897579E+0002 3.43965336229601E+0002 3.44573355146780E+0002 3.45182086170878E+0002 + 3.45791529823822E+0002 3.46401686627740E+0002 3.47012557104932E+0002 3.47624141777886E+0002 3.48236441169276E+0002 + 3.48849455801959E+0002 3.49463186198978E+0002 3.50077632883551E+0002 3.50692796379091E+0002 3.51308677209190E+0002 + 3.51925275897625E+0002 3.52542592968353E+0002 3.53160628945521E+0002 3.53779384353460E+0002 3.54398859716675E+0002 + 3.55019055559867E+0002 3.55639972407922E+0002 3.56261610785892E+0002 3.56883971219033E+0002 3.57507054232779E+0002 + 3.58130860352743E+0002 3.58755390104723E+0002 3.59380644014707E+0002 3.60006622608862E+0002 3.60633326413541E+0002 + 3.61260755955278E+0002 3.61888911760796E+0002 3.62517794357000E+0002 3.63147404270976E+0002 3.63777742029997E+0002 + 3.64408808161519E+0002 3.65040603193180E+0002 3.65673127652812E+0002 3.66306382068409E+0002 3.66940366968178E+0002 + 3.67575082880485E+0002 3.68210530333896E+0002 3.68846709857149E+0002 3.69483621979181E+0002 3.70121267229099E+0002 + 3.70759646136197E+0002 3.71398759229958E+0002 3.72038607040045E+0002 3.72679190096309E+0002 3.73320508928779E+0002 + 3.73962564067670E+0002 3.74605356043381E+0002 3.75248885386502E+0002 3.75893152627797E+0002 3.76538158298219E+0002 + 3.77183902928904E+0002 3.77830387051172E+0002 3.78477611196520E+0002 3.79125575896649E+0002 3.79774281683423E+0002 + 3.80423729088900E+0002 3.81073918645317E+0002 3.81724850885101E+0002 3.82376526340859E+0002 3.83028945545382E+0002 + 3.83682109031648E+0002 3.84336017332813E+0002 3.84990670982228E+0002 3.85646070513410E+0002 3.86302216460081E+0002 + 3.86959109356130E+0002 3.87616749735642E+0002 3.88275138132874E+0002 3.88934275082282E+0002 3.89594161118492E+0002 + 3.90254796776324E+0002 3.90916182590770E+0002 3.91578319097023E+0002 3.92241206830444E+0002 3.92904846326590E+0002 + 3.93569238121192E+0002 3.94234382750174E+0002 3.94900280749633E+0002 3.95566932655864E+0002 3.96234339005332E+0002 + 3.96902500334700E+0002 3.97571417180799E+0002 3.98241090080661E+0002 3.98911519571488E+0002 3.99582706190675E+0002 + 4.00254650475794E+0002 4.00927352964607E+0002 4.01600814195057E+0002 4.02275034705270E+0002 4.02950015033561E+0002 + 4.03625755718422E+0002 4.04302257298534E+0002 4.04979520312760E+0002 4.05657545300148E+0002 4.06336332799930E+0002 + 4.07015883351518E+0002 4.07696197494512E+0002 4.08377275768704E+0002 4.09059118714049E+0002 4.09741726870705E+0002 + 4.10425100779008E+0002 4.11109240979475E+0002 4.11794148012808E+0002 4.12479822419898E+0002 4.13166264741814E+0002 + 4.13853475519809E+0002 4.14541455295330E+0002 4.15230204609994E+0002 4.15919724005607E+0002 4.16610014024167E+0002 + 4.17301075207839E+0002 4.17992908098991E+0002 4.18685513240165E+0002 4.19378891174085E+0002 4.20073042443666E+0002 + 4.20767967591995E+0002 4.21463667162361E+0002 4.22160141698223E+0002 4.22857391743228E+0002 4.23555417841202E+0002 + 4.24254220536171E+0002 4.24953800372328E+0002 4.25654157894058E+0002 4.26355293645920E+0002 4.27057208172673E+0002 + 4.27759902019252E+0002 4.28463375730775E+0002 4.29167629852542E+0002 4.29872664930044E+0002 4.30578481508950E+0002 + 4.31285080135114E+0002 4.31992461354577E+0002 4.32700625713560E+0002 4.33409573758470E+0002 4.34119306035900E+0002 + 4.34829823092623E+0002 4.35541125475598E+0002 4.36253213731969E+0002 4.36966088409061E+0002 4.37679750054387E+0002 + 4.38394199215636E+0002 4.39109436440694E+0002 4.39825462277622E+0002 4.40542277274668E+0002 4.41259881980259E+0002 + 4.41978276943008E+0002 4.42697462711716E+0002 4.43417439835372E+0002 4.44138208863134E+0002 4.44859770344354E+0002 + 4.45582124828572E+0002 4.46305272865502E+0002 4.47029215005046E+0002 4.47753951797293E+0002 4.48479483792515E+0002 + 4.49205811541160E+0002 4.49932935593875E+0002 4.50660856501478E+0002 4.51389574814972E+0002 4.52119091085555E+0002 + 4.52849405864597E+0002 4.53580519703657E+0002 4.54312433154479E+0002 4.55045146768987E+0002 4.55778661099292E+0002 + 4.56512976697690E+0002 4.57248094116658E+0002 4.57984013908863E+0002 4.58720736627141E+0002 4.59458262824530E+0002 + 4.60196593054245E+0002 4.60935727869681E+0002 4.61675667824420E+0002 4.62416413472232E+0002 4.63157965367065E+0002 + 4.63900324063052E+0002 4.64643490114513E+0002 4.65387464075948E+0002 4.66132246502048E+0002 4.66877837947679E+0002 + 4.67624238967894E+0002 4.68371450117937E+0002 4.69119471953223E+0002 4.69868305029362E+0002 4.70617949902145E+0002 + 4.71368407127546E+0002 4.72119677261719E+0002 4.72871760861011E+0002 4.73624658481947E+0002 4.74378370681234E+0002 + 4.75132898015769E+0002 4.75888241042629E+0002 4.76644400319074E+0002 4.77401376402555E+0002 4.78159169850696E+0002 + 4.78917781221318E+0002 4.79677211072411E+0002 4.80437459962162E+0002 4.81198528448938E+0002 4.81960417091283E+0002 + 4.82723126447934E+0002 4.83486657077810E+0002 4.84251009540010E+0002 4.85016184393826E+0002 4.85782182198722E+0002 + 4.86549003514354E+0002 4.87316648900556E+0002 4.88085118917357E+0002 4.88854414124951E+0002 4.89624535083743E+0002 + 4.90395482354294E+0002 4.91167256497371E+0002 4.91939858073905E+0002 4.92713287645032E+0002 4.93487545772057E+0002 + 4.94262633016475E+0002 4.95038549939960E+0002 4.95815297104376E+0002 4.96592875071774E+0002 4.97371284404373E+0002 + 4.98150525664594E+0002 4.98930599415029E+0002 4.99711506218466E+0002 5.00493246637865E+0002 5.01275821236379E+0002 + 5.02059230577341E+0002 5.02843475224263E+0002 5.03628555740857E+0002 5.04414472690998E+0002 5.05201226638763E+0002 + 5.05988818148398E+0002 5.06777247784348E+0002 5.07566516111228E+0002 5.08356623693846E+0002 5.09147571097194E+0002 + 5.09939358886439E+0002 5.10731987626945E+0002 5.11525457884249E+0002 5.12319770224074E+0002 5.13114925212334E+0002 + 5.13910923415124E+0002 5.14707765398714E+0002 5.15505451729568E+0002 5.16303982974334E+0002 5.17103359699837E+0002 + 5.17903582473095E+0002 5.18704651861301E+0002 5.19506568431836E+0002 5.20309332752267E+0002 5.21112945390343E+0002 + 5.21917406913994E+0002 5.22722717891340E+0002 5.23528878890684E+0002 5.24335890480506E+0002 5.25143753229477E+0002 + 5.25952467706451E+0002 5.26762034480462E+0002 5.27572454120735E+0002 5.28383727196671E+0002 5.29195854277861E+0002 + 5.30008835934077E+0002 5.30822672735278E+0002 5.31637365251599E+0002 5.32452914053370E+0002 5.33269319711100E+0002 + 5.34086582795477E+0002 5.34904703877384E+0002 5.35723683527876E+0002 5.36543522318203E+0002 5.37364220819787E+0002 + 5.38185779604248E+0002 5.39008199243379E+0002 5.39831480309162E+0002 5.40655623373754E+0002 5.41480629009513E+0002 + 5.42306497788972E+0002 5.43133230284840E+0002 5.43960827070021E+0002 5.44789288717602E+0002 5.45618615800850E+0002 + 5.46448808893216E+0002 5.47279868568337E+0002 5.48111795400033E+0002 5.48944589962313E+0002 5.49778252829357E+0002 + 5.50612784575540E+0002 5.51448185775425E+0002 5.52284457003747E+0002 5.53121598835429E+0002 5.53959611845581E+0002 + 5.54798496609499E+0002 5.55638253702649E+0002 5.56478883700705E+0002 5.57320387179501E+0002 5.58162764715065E+0002 + 5.59006016883619E+0002 5.59850144261549E+0002 5.60695147425440E+0002 5.61541026952054E+0002 5.62387783418339E+0002 + 5.63235417401429E+0002 5.64083929478642E+0002 5.64933320227472E+0002 5.65783590225607E+0002 5.66634740050915E+0002 + 5.67486770281444E+0002 5.68339681495436E+0002 5.69193474271309E+0002 5.70048149187664E+0002 5.70903706823292E+0002 + 5.71760147757161E+0002 5.72617472568436E+0002 5.73475681836446E+0002 5.74334776140720E+0002 5.75194756060968E+0002 + 5.76055622177075E+0002 5.76917375069124E+0002 5.77780015317368E+0002 5.78643543502258E+0002 5.79507960204419E+0002 + 5.80373266004657E+0002 5.81239461483974E+0002 5.82106547223553E+0002 5.82974523804747E+0002 5.83843391809110E+0002 + 5.84713151818376E+0002 5.85583804414458E+0002 5.86455350179451E+0002 5.87327789695644E+0002 5.88201123545503E+0002 + 5.89075352311682E+0002 5.89950476577013E+0002 5.90826496924516E+0002 5.91703413937394E+0002 5.92581228199038E+0002 + 5.93459940293014E+0002 5.94339550803084E+0002 5.95220060313181E+0002 5.96101469407431E+0002 5.96983778670146E+0002 + 5.97866988685810E+0002 5.98751100039099E+0002 5.99636113314877E+0002 6.00522029098180E+0002 6.01408847974242E+0002 + 6.02296570528471E+0002 6.03185197346465E+0002 6.04074729014003E+0002 6.04965166117045E+0002 6.05856509241738E+0002 + 6.06748758974418E+0002 6.07641915901593E+0002 6.08535980609966E+0002 6.09430953686420E+0002 6.10326835718024E+0002 + 6.11223627292027E+0002 6.12121328995861E+0002 6.13019941417149E+0002 6.13919465143696E+0002 6.14819900763481E+0002 + 6.15721248864682E+0002 6.16623510035652E+0002 6.17526684864930E+0002 6.18430773941234E+0002 6.19335777853479E+0002 + 6.20241697190751E+0002 6.21148532542325E+0002 6.22056284497661E+0002 6.22964953646404E+0002 6.23874540578374E+0002 + 6.24785045883586E+0002 6.25696470152234E+0002 6.26608813974699E+0002 6.27522077941541E+0002 6.28436262643507E+0002 + 6.29351368671527E+0002 6.30267396616715E+0002 6.31184347070375E+0002 6.32102220623983E+0002 6.33021017869209E+0002 + 6.33940739397900E+0002 6.34861385802096E+0002 6.35782957674013E+0002 6.36705455606047E+0002 6.37628880190796E+0002 + 6.38553232021024E+0002 6.39478511689686E+0002 6.40404719789918E+0002 6.41331856915047E+0002 6.42259923658574E+0002 + 6.43188920614197E+0002 6.44118848375780E+0002 6.45049707537391E+0002 6.45981498693269E+0002 6.46914222437836E+0002 + 6.47847879365707E+0002 6.48782470071672E+0002 6.49717995150713E+0002 6.50654455197995E+0002 6.51591850808856E+0002 + 6.52530182578830E+0002 6.53469451103632E+0002 6.54409656979160E+0002 6.55350800801491E+0002 6.56292883166898E+0002 + 6.57235904671828E+0002 6.58179865912916E+0002 6.59124767486979E+0002 6.60070609991019E+0002 6.61017394022223E+0002 + 6.61965120177956E+0002 6.62913789055779E+0002 6.63863401253422E+0002 6.64813957368813E+0002 6.65765458000058E+0002 + 6.66717903745441E+0002 6.67671295203441E+0002 6.68625632972713E+0002 6.69580917652105E+0002 6.70537149840631E+0002 + 6.71494330137510E+0002 6.72452459142130E+0002 6.73411537454076E+0002 6.74371565673102E+0002 6.75332544399158E+0002 + 6.76294474232373E+0002 6.77257355773054E+0002 6.78221189621707E+0002 6.79185976379014E+0002 6.80151716645832E+0002 + 6.81118411023217E+0002 6.82086060112402E+0002 6.83054664514802E+0002 6.84024224832023E+0002 6.84994741665840E+0002 + 6.85966215618235E+0002 6.86938647291354E+0002 6.87912037287530E+0002 6.88886386209299E+0002 6.89861694659354E+0002 + 6.90837963240585E+0002 6.91815192556071E+0002 6.92793383209060E+0002 6.93772535803006E+0002 6.94752650941526E+0002 + 6.95733729228428E+0002 6.96715771267707E+0002 6.97698777663541E+0002 6.98682749020289E+0002 6.99667685942502E+0002 + 7.00653589034899E+0002 7.01640458902400E+0002 7.02628296150106E+0002 7.03617101383283E+0002 7.04606875207410E+0002 + 7.05597618228134E+0002 7.06589331051278E+0002 7.07582014282871E+0002 7.08575668529107E+0002 7.09570294396373E+0002 + 7.10565892491233E+0002 7.11562463420449E+0002 7.12560007790951E+0002 7.13558526209858E+0002 7.14558019284481E+0002 + 7.15558487622307E+0002 7.16559931831005E+0002 7.17562352518433E+0002 7.18565750292633E+0002 7.19570125761831E+0002 + 7.20575479534429E+0002 7.21581812219027E+0002 7.22589124424401E+0002 7.23597416759505E+0002 7.24606689833488E+0002 + 7.25616944255680E+0002 7.26628180635587E+0002 7.27640399582913E+0002 7.28653601707536E+0002 7.29667787619521E+0002 + 7.30682957929108E+0002 7.31699113246741E+0002 7.32716254183029E+0002 7.33734381348775E+0002 7.34753495354960E+0002 + 7.35773596812762E+0002 7.36794686333522E+0002 7.37816764528781E+0002 7.38839832010255E+0002 7.39863889389857E+0002 + 7.40888937279662E+0002 7.41914976291959E+0002 7.42942007039186E+0002 7.43970030133998E+0002 7.44999046189208E+0002 + 7.46029055817831E+0002 7.47060059633055E+0002 7.48092058248259E+0002 7.49125052277001E+0002 7.50159042333027E+0002 + 7.51194029030263E+0002 7.52230012982818E+0002 7.53266994804992E+0002 7.54304975111263E+0002 7.55343954516296E+0002 + 7.56383933634943E+0002 7.57424913082221E+0002 7.58466893473360E+0002 7.59509875423755E+0002 7.60553859548992E+0002 + 7.61598846464836E+0002 7.62644836787234E+0002 7.63691831132332E+0002 7.64739830116439E+0002 7.65788834356070E+0002 + 7.66838844467904E+0002 7.67889861068812E+0002 7.68941884775853E+0002 7.69994916206268E+0002 7.71048955977474E+0002 + 7.72104004707084E+0002 7.73160063012889E+0002 7.74217131512863E+0002 7.75275210825161E+0002 7.76334301568135E+0002 + 7.77394404360310E+0002 7.78455519820391E+0002 7.79517648567278E+0002 7.80580791220051E+0002 7.81644948397970E+0002 + 7.82710120720483E+0002 7.83776308807221E+0002 7.84843513278003E+0002 7.85911734752826E+0002 7.86980973851871E+0002 + 7.88051231195503E+0002 7.89122507404278E+0002 7.90194803098930E+0002 7.91268118900374E+0002 7.92342455429723E+0002 + 7.93417813308257E+0002 7.94494193157439E+0002 7.95571595598940E+0002 7.96650021254583E+0002 7.97729470746399E+0002 + 7.98809944696597E+0002 7.99891443727571E+0002 8.00973968461880E+0002 8.02057519522295E+0002 8.03142097531760E+0002 + 8.04227703113389E+0002 8.05314336890511E+0002 8.06401999486603E+0002 8.07490691525360E+0002 8.08580413630636E+0002 + 8.09671166426469E+0002 8.10762950537108E+0002 8.11855766586952E+0002 8.12949615200603E+0002 8.14044497002847E+0002 + 8.15140412618654E+0002 8.16237362673164E+0002 8.17335347791723E+0002 8.18434368599839E+0002 8.19534425723217E+0002 + 8.20635519787746E+0002 8.21737651419502E+0002 8.22840821244718E+0002 8.23945029889859E+0002 8.25050277981532E+0002 + 8.26156566146547E+0002 8.27263895011885E+0002 8.28372265204736E+0002 8.29481677352454E+0002 8.30592132082569E+0002 + 8.31703630022821E+0002 8.32816171801107E+0002 8.33929758045535E+0002 8.35044389384377E+0002 8.36160066446097E+0002 + 8.37276789859330E+0002 8.38394560252920E+0002 8.39513378255873E+0002 8.40633244497389E+0002 8.41754159606851E+0002 + 8.42876124213821E+0002 8.43999138948064E+0002 8.45123204439489E+0002 8.46248321318228E+0002 8.47374490214581E+0002 + 8.48501711759032E+0002 8.49629986582255E+0002 8.50759315315099E+0002 8.51889698588609E+0002 8.53021137033997E+0002 + 8.54153631282672E+0002 8.55287181966221E+0002 8.56421789716424E+0002 8.57557455165232E+0002 8.58694178944792E+0002 + 8.59831961687429E+0002 8.60970804025648E+0002 8.62110706592146E+0002 8.63251670019799E+0002 8.64393694941671E+0002 + 8.65536781990999E+0002 8.66680931801220E+0002 8.67826145005940E+0002 8.68972422238970E+0002 8.70119764134281E+0002 + 8.71268171326039E+0002 8.72417644448597E+0002 8.73568184136479E+0002 8.74719791024418E+0002 8.75872465747296E+0002 + 8.77026208940213E+0002 8.78181021238426E+0002 8.79336903277399E+0002 8.80493855692766E+0002 8.81651879120345E+0002 + 8.82810974196138E+0002 8.83971141556343E+0002 8.85132381837331E+0002 8.86294695675650E+0002 8.87458083708047E+0002 + 8.88622546571456E+0002 8.89788084902961E+0002 8.90954699339884E+0002 8.92122390519678E+0002 8.93291159080021E+0002 + 8.94461005658748E+0002 8.95631930893891E+0002 8.96803935423657E+0002 8.97977019886453E+0002 8.99151184920847E+0002 + 9.00326431165617E+0002 9.01502759259700E+0002 9.02680169842242E+0002 9.03858663552543E+0002 9.05038241030106E+0002 + 9.06218902914632E+0002 9.07400649845971E+0002 9.08583482464186E+0002 9.09767401409503E+0002 9.10952407322355E+0002 + 9.12138500843343E+0002 9.13325682613249E+0002 9.14513953273050E+0002 9.15703313463902E+0002 9.16893763827142E+0002 + 9.18085305004297E+0002 9.19277937637078E+0002 9.20471662367370E+0002 9.21666479837251E+0002 9.22862390688988E+0002 + 9.24059395565018E+0002 9.25257495107966E+0002 9.26456689960658E+0002 9.27656980766074E+0002 9.28858368167403E+0002 + 9.30060852808005E+0002 9.31264435331432E+0002 9.32469116381413E+0002 9.33674896601864E+0002 9.34881776636881E+0002 + 9.36089757130754E+0002 9.37298838727951E+0002 9.38509022073118E+0002 9.39720307811098E+0002 9.40932696586904E+0002 + 9.42146189045747E+0002 9.43360785833000E+0002 9.44576487594251E+0002 9.45793294975250E+0002 9.47011208621931E+0002 + 9.48230229180426E+0002 9.49450357297039E+0002 9.50671593618255E+0002 9.51893938790763E+0002 9.53117393461413E+0002 + 9.54341958277244E+0002 9.55567633885494E+0002 9.56794420933573E+0002 9.58022320069071E+0002 9.59251331939769E+0002 + 9.60481457193626E+0002 9.61712696478804E+0002 9.62945050443617E+0002 9.64178519736590E+0002 9.65413105006413E+0002 + 9.66648806901983E+0002 9.67885626072359E+0002 9.69123563166791E+0002 9.70362618834715E+0002 9.71602793725750E+0002 + 9.72844088489703E+0002 9.74086503776554E+0002 9.75330040236480E+0002 9.76574698519835E+0002 9.77820479277158E+0002 + 9.79067383159159E+0002 9.80315410816766E+0002 9.81564562901058E+0002 9.82814840063311E+0002 9.84066242954985E+0002 + 9.85318772227725E+0002 9.86572428533349E+0002 9.87827212523873E+0002 9.89083124851488E+0002 9.90340166168589E+0002 + 9.91598337127718E+0002 9.92857638381636E+0002 9.94118070583259E+0002 9.95379634385714E+0002 9.96642330442290E+0002 + 9.97906159406488E+0002 9.99171121931951E+0002 1.00043721867253E+0003 1.00170445028229E+0003 1.00297281741541E+0003 + 1.00424232072633E+0003 1.00551296086960E+0003 1.00678473850002E+0003 1.00805765427252E+0003 1.00933170884225E+0003 + 1.01060690286454E+0003 1.01188323699488E+0003 1.01316071188897E+0003 1.01443932820269E+0003 1.01571908659208E+0003 + 1.01699998771339E+0003 1.01828203222306E+0003 1.01956522077768E+0003 1.02084955403405E+0003 1.02213503264916E+0003 + 1.02342165728016E+0003 1.02470942858439E+0003 1.02599834721939E+0003 1.02728841384287E+0003 1.02857962911274E+0003 + 1.02987199368706E+0003 1.03116550822411E+0003 1.03246017338233E+0003 1.03375598982037E+0003 1.03505295819704E+0003 + 1.03635107917133E+0003 1.03765035340243E+0003 1.03895078154973E+0003 1.04025236427276E+0003 1.04155510223127E+0003 + 1.04285899608517E+0003 1.04416404649458E+0003 1.04547025411978E+0003 1.04677761962124E+0003 1.04808614365963E+0003 + 1.04939582689578E+0003 1.05070666999072E+0003 1.05201867360566E+0003 1.05333183840199E+0003 1.05464616504129E+0003 + 1.05596165418532E+0003 1.05727830649603E+0003 1.05859612263555E+0003 1.05991510326618E+0003 1.06123524905042E+0003 + 1.06255656065097E+0003 1.06387903873067E+0003 1.06520268395259E+0003 1.06652749697994E+0003 1.06785347847616E+0003 + 1.06918062910483E+0003 1.07050894952976E+0003 1.07183844041490E+0003 1.07316910242441E+0003 1.07450093622262E+0003 + 1.07583394247406E+0003 1.07716812184343E+0003 1.07850347499562E+0003 1.07984000259569E+0003 1.08117770530892E+0003 + 1.08251658380074E+0003 1.08385663873677E+0003 1.08519787078283E+0003 1.08654028060489E+0003 1.08788386886915E+0003 + 1.08922863624196E+0003 1.09057458338987E+0003 1.09192171097960E+0003 1.09327001967807E+0003 1.09461951015238E+0003 + 1.09597018306980E+0003 1.09732203909779E+0003 1.09867507890402E+0003 1.10002930315630E+0003 1.10138471252266E+0003 + 1.10274130767129E+0003 1.10409908927058E+0003 1.10545805798911E+0003 1.10681821449561E+0003 1.10817955945903E+0003 + 1.10954209354849E+0003 1.11090581743328E+0003 1.11227073178290E+0003 1.11363683726703E+0003 1.11500413455551E+0003 + 1.11637262431839E+0003 1.11774230722589E+0003 1.11911318394842E+0003 1.12048525515657E+0003 1.12185852152111E+0003 + 1.12323298371301E+0003 1.12460864240341E+0003 1.12598549826364E+0003 1.12736355196520E+0003 1.12874280417980E+0003 + 1.13012325557932E+0003 1.13150490683581E+0003 1.13288775862153E+0003 1.13427181160891E+0003 1.13565706647056E+0003 + 1.13704352387929E+0003 1.13843118450806E+0003 1.13982004903007E+0003 1.14121011811864E+0003 1.14260139244734E+0003 + 1.14399387268985E+0003 1.14538755952010E+0003 1.14678245361217E+0003 1.14817855564034E+0003 1.14957586627905E+0003 + 1.15097438620295E+0003 1.15237411608685E+0003 1.15377505660578E+0003 1.15517720843491E+0003 1.15658057224962E+0003 + 1.15798514872548E+0003 1.15939093853822E+0003 1.16079794236378E+0003 1.16220616087826E+0003 1.16361559475795E+0003 + 1.16502624467934E+0003 1.16643811131910E+0003 1.16785119535406E+0003 1.16926549746126E+0003 1.17068101831791E+0003 + 1.17209775860141E+0003 1.17351571898935E+0003 1.17493490015949E+0003 1.17635530278978E+0003 1.17777692755836E+0003 + 1.17919977514354E+0003 1.18062384622383E+0003 1.18204914147792E+0003 1.18347566158467E+0003 1.18490340722314E+0003 + 1.18633237907257E+0003 1.18776257781238E+0003 1.18919400412218E+0003 1.19062665868175E+0003 1.19206054217108E+0003 + 1.19349565527032E+0003 1.19493199865981E+0003 1.19636957302007E+0003 1.19780837903183E+0003 1.19924841737598E+0003 + 1.20068968873358E+0003 1.20213219378591E+0003 1.20357593321441E+0003 1.20502090770071E+0003 1.20646711792663E+0003 + 1.20791456457415E+0003 1.20936324832548E+0003 1.21081316986296E+0003 1.21226432986915E+0003 1.21371672902680E+0003 + 1.21517036801880E+0003 1.21662524752826E+0003 1.21808136823848E+0003 1.21953873083292E+0003 1.22099733599523E+0003 + 1.22245718440925E+0003 1.22391827675901E+0003 1.22538061372872E+0003 1.22684419600274E+0003 1.22830902426567E+0003 + 1.22977509920226E+0003 1.23124242149746E+0003 1.23271099183638E+0003 1.23418081090434E+0003 1.23565187938683E+0003 + 1.23712419796953E+0003 1.23859776733829E+0003 1.24007258817918E+0003 1.24154866117841E+0003 1.24302598702240E+0003 + 1.24450456639774E+0003 1.24598439999122E+0003 1.24746548848980E+0003 1.24894783258063E+0003 1.25043143295106E+0003 + 1.25191629028858E+0003 1.25340240528090E+0003 1.25488977861591E+0003 1.25637841098168E+0003 1.25786830306646E+0003 + 1.25935945555869E+0003 1.26085186914699E+0003 1.26234554452016E+0003 1.26384048236720E+0003 1.26533668337726E+0003 + 1.26683414823972E+0003 1.26833287764412E+0003 1.26983287228017E+0003 1.27133413283779E+0003 1.27283666000708E+0003 + 1.27434045447830E+0003 1.27584551694192E+0003 1.27735184808857E+0003 1.27885944860910E+0003 1.28036831919451E+0003 + 1.28187846053601E+0003 1.28338987332496E+0003 1.28490255825294E+0003 1.28641651601169E+0003 1.28793174729314E+0003 + 1.28944825278943E+0003 1.29096603319283E+0003 1.29248508919584E+0003 1.29400542149114E+0003 1.29552703077155E+0003 + 1.29704991773013E+0003 1.29857408306010E+0003 1.30009952745486E+0003 1.30162625160799E+0003 1.30315425621327E+0003 + 1.30468354196466E+0003 1.30621410955630E+0003 1.30774595968251E+0003 1.30927909303779E+0003 1.31081351031684E+0003 + 1.31234921221455E+0003 1.31388619942595E+0003 1.31542447264631E+0003 1.31696403257105E+0003 1.31850487989577E+0003 + 1.32004701531629E+0003 1.32159043952857E+0003 1.32313515322877E+0003 1.32468115711326E+0003 1.32622845187855E+0003 + 1.32777703822137E+0003 1.32932691683861E+0003 1.33087808842737E+0003 1.33243055368490E+0003 1.33398431330865E+0003 + 1.33553936799627E+0003 1.33709571844557E+0003 1.33865336535456E+0003 1.34021230942142E+0003 1.34177255134453E+0003 + 1.34333409182244E+0003 1.34489693155389E+0003 1.34646107123780E+0003 1.34802651157328E+0003 1.34959325325962E+0003 + 1.35116129699630E+0003 1.35273064348298E+0003 1.35430129341950E+0003 1.35587324750589E+0003 1.35744650644235E+0003 + 1.35902107092928E+0003 1.36059694166727E+0003 1.36217411935707E+0003 1.36375260469964E+0003 1.36533239839609E+0003 + 1.36691350114777E+0003 1.36849591365614E+0003 1.37007963662291E+0003 1.37166467074992E+0003 1.37325101673925E+0003 + 1.37483867529313E+0003 1.37642764711396E+0003 1.37801793290436E+0003 1.37960953336711E+0003 1.38120244920518E+0003 + 1.38279668112172E+0003 1.38439222982009E+0003 1.38598909600378E+0003 1.38758728037652E+0003 1.38918678364221E+0003 + 1.39078760650489E+0003 1.39238974966885E+0003 1.39399321383851E+0003 1.39559799971852E+0003 1.39720410801366E+0003 + 1.39881153942895E+0003 1.40042029466956E+0003 1.40203037444085E+0003 1.40364177944838E+0003 1.40525451039785E+0003 + 1.40686856799520E+0003 1.40848395294652E+0003 1.41010066595810E+0003 1.41171870773639E+0003 1.41333807898805E+0003 + 1.41495878041992E+0003 1.41658081273900E+0003 1.41820417665252E+0003 1.41982887286784E+0003 1.42145490209253E+0003 + 1.42308226503436E+0003 1.42471096240127E+0003 1.42634099490136E+0003 1.42797236324296E+0003 1.42960506813454E+0003 + 1.43123911028478E+0003 1.43287449040254E+0003 1.43451120919687E+0003 1.43614926737698E+0003 1.43778866565229E+0003 + 1.43942940473239E+0003 1.44107148532705E+0003 1.44271490814625E+0003 1.44435967390012E+0003 1.44600578329900E+0003 + 1.44765323705338E+0003 1.44930203587399E+0003 1.45095218047170E+0003 1.45260367155756E+0003 1.45425650984283E+0003 + 1.45591069603896E+0003 1.45756623085754E+0003 1.45922311501039E+0003 1.46088134920949E+0003 1.46254093416699E+0003 + 1.46420187059528E+0003 1.46586415920686E+0003 1.46752780071448E+0003 1.46919279583103E+0003 1.47085914526961E+0003 + 1.47252684974347E+0003 1.47419590996610E+0003 1.47586632665111E+0003 1.47753810051235E+0003 1.47921123226381E+0003 + 1.48088572261969E+0003 1.48256157229436E+0003 1.48423878200239E+0003 1.48591735245853E+0003 1.48759728437770E+0003 + 1.48927857847501E+0003 1.49096123546576E+0003 1.49264525606543E+0003 1.49433064098968E+0003 1.49601739095438E+0003 + 1.49770550667553E+0003 1.49939498886937E+0003 1.50108583825230E+0003 1.50277805554088E+0003 1.50447164145191E+0003 + 1.50616659670233E+0003 1.50786292200926E+0003 1.50956061809005E+0003 1.51125968566218E+0003 1.51296012544335E+0003 + 1.51466193815143E+0003 1.51636512450447E+0003 1.51806968522073E+0003 1.51977562101861E+0003 1.52148293261673E+0003 + 1.52319162073388E+0003 1.52490168608903E+0003 1.52661312940135E+0003 1.52832595139018E+0003 1.53004015277505E+0003 + 1.53175573427567E+0003 1.53347269661193E+0003 1.53519104050392E+0003 1.53691076667190E+0003 1.53863187583631E+0003 + 1.54035436871779E+0003 1.54207824603716E+0003 1.54380350851542E+0003 1.54553015687373E+0003 1.54725819183349E+0003 + 1.54898761411623E+0003 1.55071842444369E+0003 1.55245062353779E+0003 1.55418421212064E+0003 1.55591919091452E+0003 + 1.55765556064191E+0003 1.55939332202545E+0003 1.56113247578800E+0003 1.56287302265256E+0003 1.56461496334236E+0003 + 1.56635829858077E+0003 1.56810302909138E+0003 1.56984915559795E+0003 1.57159667882441E+0003 1.57334559949490E+0003 + 1.57509591833372E+0003 1.57684763606538E+0003 1.57860075341455E+0003 1.58035527110609E+0003 1.58211118986505E+0003 + 1.58386851041665E+0003 1.58562723348633E+0003 1.58738735979967E+0003 1.58914889008246E+0003 1.59091182506066E+0003 + 1.59267616546043E+0003 1.59444191200810E+0003 1.59620906543018E+0003 1.59797762645339E+0003 1.59974759580461E+0003 + 1.60151897421090E+0003 1.60329176239953E+0003 1.60506596109792E+0003 1.60684157103372E+0003 1.60861859293471E+0003 + 1.61039702752890E+0003 1.61217687554445E+0003 1.61395813770972E+0003 1.61574081475326E+0003 1.61752490740379E+0003 + 1.61931041639022E+0003 1.62109734244166E+0003 1.62288568628737E+0003 1.62467544865681E+0003 1.62646663027964E+0003 + 1.62825923188568E+0003 1.63005325420495E+0003 1.63184869796764E+0003 1.63364556390415E+0003 1.63544385274503E+0003 + 1.63724356522103E+0003 1.63904470206309E+0003 1.64084726400232E+0003 1.64265125177003E+0003 1.64445666609770E+0003 + 1.64626350771701E+0003 1.64807177735980E+0003 1.64988147575813E+0003 1.65169260364419E+0003 1.65350516175041E+0003 + 1.65531915080937E+0003 1.65713457155384E+0003 1.65895142471679E+0003 1.66076971103135E+0003 1.66258943123085E+0003 + 1.66441058604880E+0003 1.66623317621890E+0003 1.66805720247501E+0003 1.66988266555120E+0003 1.67170956618172E+0003 + 1.67353790510100E+0003 1.67536768304365E+0003 1.67719890074446E+0003 1.67903155893842E+0003 1.68086565836070E+0003 + 1.68270119974664E+0003 1.68453818383176E+0003 1.68637661135181E+0003 1.68821648304267E+0003 1.69005779964043E+0003 + 1.69190056188136E+0003 1.69374477050190E+0003 1.69559042623870E+0003 1.69743752982858E+0003 1.69928608200855E+0003 + 1.70113608351579E+0003 1.70298753508766E+0003 1.70484043746174E+0003 1.70669479137577E+0003 1.70855059756767E+0003 + 1.71040785677553E+0003 1.71226656973766E+0003 1.71412673719255E+0003 1.71598835987883E+0003 1.71785143853537E+0003 + 1.71971597390119E+0003 1.72158196671549E+0003 1.72344941771769E+0003 1.72531832764734E+0003 1.72718869724424E+0003 + 1.72906052724832E+0003 1.73093381839970E+0003 1.73280857143872E+0003 1.73468478710586E+0003 1.73656246614182E+0003 + 1.73844160928746E+0003 1.74032221728384E+0003 1.74220429087218E+0003 1.74408783079391E+0003 1.74597283779064E+0003 + 1.74785931260415E+0003 1.74974725597641E+0003 1.75163666864959E+0003 1.75352755136602E+0003 1.75541990486821E+0003 + 1.75731372989890E+0003 1.75920902720096E+0003 1.76110579751745E+0003 1.76300404159166E+0003 1.76490376016704E+0003 + 1.76680495398718E+0003 1.76870762379592E+0003 1.77061177033724E+0003 1.77251739435533E+0003 1.77442449659455E+0003 + 1.77633307779946E+0003 1.77824313871477E+0003 1.78015468008540E+0003 1.78206770265647E+0003 1.78398220717324E+0003 + 1.78589819438118E+0003 1.78781566502596E+0003 1.78973461985339E+0003 1.79165505960950E+0003 1.79357698504051E+0003 + 1.79550039689278E+0003 1.79742529591289E+0003 1.79935168284760E+0003 1.80127955844386E+0003 1.80320892344876E+0003 + 1.80513977860964E+0003 1.80707212467398E+0003 1.80900596238946E+0003 1.81094129250391E+0003 1.81287811576541E+0003 + 1.81481643292217E+0003 1.81675624472260E+0003 1.81869755191530E+0003 1.82064035524904E+0003 1.82258465547279E+0003 + 1.82453045333570E+0003 1.82647774958711E+0003 1.82842654497650E+0003 1.83037684025359E+0003 1.83232863616827E+0003 + 1.83428193347060E+0003 1.83623673291082E+0003 1.83819303523938E+0003 1.84015084120690E+0003 1.84211015156417E+0003 + 1.84407096706217E+0003 1.84603328845209E+0003 1.84799711648527E+0003 1.84996245191327E+0003 1.85192929548778E+0003 + 1.85389764796072E+0003 1.85586751008419E+0003 1.85783888261046E+0003 1.85981176629198E+0003 1.86178616188139E+0003 + 1.86376207013152E+0003 1.86573949179539E+0003 1.86771842762619E+0003 1.86969887837730E+0003 1.87168084480227E+0003 + 1.87366432765485E+0003 1.87564932768896E+0003 1.87763584565875E+0003 1.87962388231849E+0003 1.88161343842265E+0003 + 1.88360451472592E+0003 1.88559711198315E+0003 1.88759123094935E+0003 1.88958687237975E+0003 1.89158403702976E+0003 + 1.89358272565496E+0003 1.89558293901111E+0003 1.89758467785420E+0003 1.89958794294031E+0003 1.90159273502580E+0003 + 1.90359905486717E+0003 1.90560690322110E+0003 1.90761628084447E+0003 1.90962718849434E+0003 1.91163962692794E+0003 + 1.91365359690271E+0003 1.91566909917625E+0003 1.91768613450635E+0003 1.91970470365100E+0003 1.92172480736834E+0003 + 1.92374644641675E+0003 1.92576962155472E+0003 1.92779433354099E+0003 1.92982058313443E+0003 1.93184837109415E+0003 + 1.93387769817941E+0003 1.93590856514964E+0003 1.93794097276448E+0003 1.93997492178376E+0003 1.94201041296747E+0003 + 1.94404744707580E+0003 1.94608602486912E+0003 1.94812614710797E+0003 1.95016781455310E+0003 1.95221102796541E+0003 + 1.95425578810602E+0003 1.95630209573623E+0003 1.95834995161750E+0003 1.96039935651149E+0003 1.96245031118002E+0003 + 1.96450281638515E+0003 1.96655687288906E+0003 1.96861248145415E+0003 1.97066964284301E+0003 1.97272835781838E+0003 + 1.97478862714322E+0003 1.97685045158065E+0003 1.97891383189397E+0003 1.98097876884670E+0003 1.98304526320251E+0003 + 1.98511331572527E+0003 1.98718292717900E+0003 1.98925409832797E+0003 1.99132682993658E+0003 1.99340112276942E+0003 + 1.99547697759129E+0003 1.99755439516715E+0003 1.99963337626215E+0003 2.00171392164163E+0003 2.00379603207111E+0003 + 2.00587970831628E+0003 2.00796495114304E+0003 2.01005176131747E+0003 2.01214013960581E+0003 2.01423008677451E+0003 + 2.01632160359019E+0003 2.01841469081966E+0003 2.02050934922991E+0003 2.02260557958811E+0003 2.02470338266162E+0003 + 2.02680275921800E+0003 2.02890371002496E+0003 2.03100623585040E+0003 2.03311033746244E+0003 2.03521601562935E+0003 + 2.03732327111958E+0003 2.03943210470180E+0003 2.04154251714484E+0003 2.04365450921770E+0003 2.04576808168958E+0003 + 2.04788323532987E+0003 2.04999997090813E+0003 2.05211828919414E+0003 2.05423819095778E+0003 2.05635967696921E+0003 + 2.05848274799874E+0003 2.06060740481682E+0003 2.06273364819413E+0003 2.06486147890156E+0003 2.06699089771011E+0003 + 2.06912190539102E+0003 2.07125450271570E+0003 2.07338869045573E+0003 2.07552446938288E+0003 2.07766184026912E+0003 + 2.07980080388660E+0003 2.08194136100762E+0003 2.08408351240470E+0003 2.08622725885057E+0003 2.08837260111805E+0003 + 2.09051953998024E+0003 2.09266807621039E+0003 2.09481821058190E+0003 2.09696994386840E+0003 2.09912327684370E+0003 + 2.10127821028177E+0003 2.10343474495677E+0003 2.10559288164308E+0003 2.10775262111519E+0003 2.10991396414786E+0003 + 2.11207691151596E+0003 2.11424146399459E+0003 2.11640762235901E+0003 2.11857538738469E+0003 2.12074475984726E+0003 + 2.12291574052255E+0003 2.12508833018653E+0003 2.12726252961544E+0003 2.12943833958563E+0003 2.13161576087365E+0003 + 2.13379479425625E+0003 2.13597544051037E+0003 2.13815770041310E+0003 2.14034157474173E+0003 2.14252706427376E+0003 + 2.14471416978681E+0003 2.14690289205878E+0003 2.14909323186766E+0003 2.15128518999169E+0003 2.15347876720924E+0003 + 2.15567396429891E+0003 2.15787078203946E+0003 2.16006922120983E+0003 2.16226928258918E+0003 2.16447096695679E+0003 + 2.16667427509219E+0003 2.16887920777505E+0003 2.17108576578525E+0003 2.17329394990284E+0003 2.17550376090805E+0003 + 2.17771519958132E+0003 2.17992826670322E+0003 2.18214296305458E+0003 2.18435928941632E+0003 2.18657724656965E+0003 + 2.18879683529589E+0003 2.19101805637656E+0003 2.19324091059338E+0003 2.19546539872822E+0003 2.19769152156318E+0003 + 2.19991927988052E+0003 2.20214867446268E+0003 2.20437970609228E+0003 2.20661237555214E+0003 2.20884668362525E+0003 + 2.21108263109480E+0003 2.21332021874415E+0003 2.21555944735685E+0003 2.21780031771663E+0003 2.22004283060740E+0003 + 2.22228698681328E+0003 2.22453278711854E+0003 2.22678023230762E+0003 2.22902932316525E+0003 2.23128006047618E+0003 + 2.23353244502548E+0003 2.23578647759835E+0003 2.23804215898016E+0003 2.24029948995649E+0003 2.24255847131310E+0003 + 2.24481910383594E+0003 2.24708138831110E+0003 2.24934532552493E+0003 2.25161091626389E+0003 2.25387816131467E+0003 + 2.25614706146412E+0003 2.25841761749930E+0003 2.26068983020743E+0003 2.26296370037592E+0003 2.26523922879235E+0003 + 2.26751641624451E+0003 2.26979526352040E+0003 2.27207577140811E+0003 2.27435794069601E+0003 2.27664177217259E+0003 + 2.27892726662657E+0003 2.28121442484683E+0003 2.28350324762244E+0003 2.28579373574261E+0003 2.28808588999684E+0003 + 2.29037971117472E+0003 2.29267520006603E+0003 2.29497235746080E+0003 2.29727118414917E+0003 2.29957168092151E+0003 + 2.30187384856834E+0003 2.30417768788042E+0003 2.30648319964861E+0003 2.30879038466403E+0003 2.31109924371797E+0003 + 2.31340977760185E+0003 2.31572198710733E+0003 2.31803587302624E+0003 2.32035143615059E+0003 2.32266867727258E+0003 + 2.32498759718458E+0003 2.32730819667916E+0003 2.32963047654905E+0003 2.33195443758719E+0003 2.33428008058671E+0003 + 2.33660740634089E+0003 2.33893641564321E+0003 2.34126710928736E+0003 2.34359948806716E+0003 2.34593355277667E+0003 + 2.34826930421009E+0003 2.35060674316184E+0003 2.35294587042648E+0003 2.35528668679880E+0003 2.35762919307376E+0003 + 2.35997339004648E+0003 2.36231927851228E+0003 2.36466685926670E+0003 2.36701613310539E+0003 2.36936710082424E+0003 + 2.37171976321933E+0003 2.37407412108686E+0003 2.37643017522328E+0003 2.37878792642520E+0003 2.38114737548941E+0003 + 2.38350852321289E+0003 2.38587137039279E+0003 2.38823591782647E+0003 2.39060216631145E+0003 2.39297011664546E+0003 + 2.39533976962639E+0003 2.39771112605230E+0003 2.40008418672150E+0003 2.40245895243239E+0003 2.40483542398363E+0003 + 2.40721360217404E+0003 2.40959348780261E+0003 2.41197508166853E+0003 2.41435838457118E+0003 2.41674339731010E+0003 + 2.41913012068503E+0003 2.42151855549589E+0003 2.42390870254279E+0003 2.42630056262601E+0003 2.42869413654604E+0003 + 2.43108942510351E+0003 2.43348642909930E+0003 2.43588514933440E+0003 2.43828558661003E+0003 2.44068774172759E+0003 + 2.44309161548865E+0003 2.44549720869497E+0003 2.44790452214850E+0003 2.45031355665136E+0003 2.45272431300587E+0003 + 2.45513679201455E+0003 2.45755099448003E+0003 2.45996692120520E+0003 2.46238457299313E+0003 2.46480395064702E+0003 + 2.46722505497029E+0003 2.46964788676655E+0003 2.47207244683961E+0003 2.47449873599339E+0003 2.47692675503207E+0003 + 2.47935650475997E+0003 2.48178798598164E+0003 2.48422119950176E+0003 2.48665614612522E+0003 2.48909282665709E+0003 + 2.49153124190264E+0003 2.49397139266731E+0003 2.49641327975671E+0003 2.49885690397666E+0003 2.50130226613314E+0003 + 2.50374936703234E+0003 2.50619820748060E+0003 2.50864878828449E+0003 2.51110111025073E+0003 2.51355517418621E+0003 + 2.51601098089806E+0003 2.51846853119353E+0003 2.52092782588010E+0003 2.52338886576542E+0003 2.52585165165730E+0003 + 2.52831618436379E+0003 2.53078246469306E+0003 2.53325049345350E+0003 2.53572027145368E+0003 2.53819179950238E+0003 + 2.54066507840848E+0003 2.54314010898116E+0003 2.54561689202966E+0003 2.54809542836351E+0003 2.55057571879239E+0003 + 2.55305776412612E+0003 2.55554156517475E+0003 2.55802712274851E+0003 2.56051443765782E+0003 2.56300351071325E+0003 + 2.56549434272558E+0003 2.56798693450577E+0003 2.57048128686498E+0003 2.57297740061450E+0003 2.57547527656587E+0003 + 2.57797491553079E+0003 2.58047631832111E+0003 2.58297948574892E+0003 2.58548441862645E+0003 2.58799111776614E+0003 + 2.59049958398060E+0003 2.59300981808262E+0003 2.59552182088522E+0003 2.59803559320152E+0003 2.60055113584489E+0003 + 2.60306844962887E+0003 2.60558753536718E+0003 2.60810839387370E+0003 2.61063102596256E+0003 2.61315543244798E+0003 + 2.61568161414444E+0003 2.61820957186658E+0003 2.62073930642923E+0003 2.62327081864737E+0003 2.62580410933620E+0003 + 2.62833917931112E+0003 2.63087602938765E+0003 2.63341466038156E+0003 2.63595507310876E+0003 2.63849726838537E+0003 + 2.64104124702767E+0003 2.64358700985216E+0003 2.64613455767549E+0003 2.64868389131450E+0003 2.65123501158623E+0003 + 2.65378791930789E+0003 2.65634261529687E+0003 2.65889910037077E+0003 2.66145737534735E+0003 2.66401744104454E+0003 + 2.66657929828049E+0003 2.66914294787352E+0003 2.67170839064213E+0003 2.67427562740500E+0003 2.67684465898101E+0003 + 2.67941548618920E+0003 2.68198810984882E+0003 2.68456253077928E+0003 2.68713874980020E+0003 2.68971676773136E+0003 + 2.69229658539271E+0003 2.69487820360446E+0003 2.69746162318691E+0003 2.70004684496060E+0003 2.70263386974623E+0003 + 2.70522269836471E+0003 2.70781333163710E+0003 2.71040577038468E+0003 2.71300001542886E+0003 2.71559606759132E+0003 + 2.71819392769384E+0003 2.72079359655841E+0003 2.72339507500723E+0003 2.72599836386266E+0003 2.72860346394723E+0003 + 2.73121037608371E+0003 2.73381910109500E+0003 2.73642963980418E+0003 2.73904199303456E+0003 2.74165616160959E+0003 + 2.74427214635295E+0003 2.74688994808846E+0003 2.74950956764013E+0003 2.75213100583217E+0003 2.75475426348899E+0003 + 2.75737934143514E+0003 2.76000624049537E+0003 2.76263496149464E+0003 2.76526550525807E+0003 2.76789787261097E+0003 + 2.77053206437882E+0003 2.77316808138732E+0003 2.77580592446228E+0003 2.77844559442980E+0003 2.78108709211609E+0003 + 2.78373041834755E+0003 2.78637557395079E+0003 2.78902255975258E+0003 2.79167137657989E+0003 2.79432202525986E+0003 + 2.79697450661984E+0003 2.79962882148733E+0003 2.80228497069002E+0003 2.80494295505583E+0003 2.80760277541279E+0003 + 2.81026443258917E+0003 2.81292792741340E+0003 2.81559326071411E+0003 2.81826043332010E+0003 2.82092944606035E+0003 + 2.82360029976402E+0003 2.82627299526049E+0003 2.82894753337929E+0003 2.83162391495016E+0003 2.83430214080297E+0003 + 2.83698221176785E+0003 2.83966412867505E+0003 2.84234789235504E+0003 2.84503350363844E+0003 2.84772096335611E+0003 + 2.85041027233905E+0003 2.85310143141844E+0003 2.85579444142570E+0003 2.85848930319236E+0003 2.86118601755016E+0003 + 2.86388458533105E+0003 2.86658500736715E+0003 2.86928728449073E+0003 2.87199141753429E+0003 2.87469740733050E+0003 + 2.87740525471223E+0003 2.88011496051247E+0003 2.88282652556445E+0003 2.88553995070160E+0003 2.88825523675750E+0003 + 2.89097238456590E+0003 2.89369139496077E+0003 2.89641226877624E+0003 2.89913500684665E+0003 2.90185961000650E+0003 + 2.90458607909046E+0003 2.90731441493341E+0003 2.91004461837043E+0003 2.91277669023674E+0003 2.91551063136779E+0003 + 2.91824644259917E+0003 2.92098412476667E+0003 2.92372367870629E+0003 2.92646510525418E+0003 2.92920840524667E+0003 + 2.93195357952033E+0003 2.93470062891184E+0003 2.93744955425811E+0003 2.94020035639622E+0003 2.94295303616344E+0003 + 2.94570759439722E+0003 2.94846403193517E+0003 2.95122234961515E+0003 2.95398254827515E+0003 2.95674462875333E+0003 + 2.95950859188806E+0003 2.96227443851792E+0003 2.96504216948165E+0003 2.96781178561815E+0003 2.97058328776654E+0003 + 2.97335667676610E+0003 2.97613195345629E+0003 2.97890911867681E+0003 2.98168817326746E+0003 2.98446911806829E+0003 + 2.98725195391949E+0003 2.99003668166147E+0003 2.99282330213480E+0003 2.99561181618024E+0003 2.99840222463874E+0003 + 3.00119452835143E+0003 3.00398872815962E+0003 3.00678482490480E+0003 3.00958281942867E+0003 3.01238271257307E+0003 + 3.01518450518008E+0003 3.01798819809190E+0003 3.02079379215097E+0003 3.02360128819987E+0003 3.02641068708140E+0003 + 3.02922198963854E+0003 3.03203519671442E+0003 3.03485030915238E+0003 3.03766732779595E+0003 3.04048625348883E+0003 + 3.04330708707493E+0003 3.04612982939828E+0003 3.04895448130317E+0003 3.05178104363402E+0003 3.05460951723547E+0003 + 3.05743990295232E+0003 3.06027220162956E+0003 3.06310641411238E+0003 3.06594254124613E+0003 3.06878058387635E+0003 + 3.07162054284877E+0003 3.07446241900933E+0003 3.07730621320407E+0003 3.08015192627932E+0003 3.08299955908153E+0003 + 3.08584911245735E+0003 3.08870058725358E+0003 3.09155398431728E+0003 3.09440930449563E+0003 3.09726654863602E+0003 + 3.10012571758602E+0003 3.10298681219336E+0003 3.10584983330600E+0003 3.10871478177205E+0003 3.11158165843981E+0003 + 3.11445046415779E+0003 3.11732119977462E+0003 3.12019386613919E+0003 3.12306846410054E+0003 3.12594499450787E+0003 + 3.12882345821062E+0003 3.13170385605833E+0003 3.13458618890084E+0003 3.13747045758807E+0003 3.14035666297015E+0003 + 3.14324480589746E+0003 3.14613488722045E+0003 3.14902690778986E+0003 3.15192086845655E+0003 3.15481677007159E+0003 + 3.15771461348621E+0003 3.16061439955187E+0003 3.16351612912017E+0003 3.16641980304290E+0003 3.16932542217205E+0003 + 3.17223298735979E+0003 3.17514249945848E+0003 3.17805395932064E+0003 3.18096736779900E+0003 3.18388272574645E+0003 + 3.18680003401608E+0003 3.18971929346117E+0003 3.19264050493516E+0003 3.19556366929170E+0003 3.19848878738461E+0003 + 3.20141586006790E+0003 3.20434488819575E+0003 3.20727587262255E+0003 3.21020881420284E+0003 3.21314371379139E+0003 + 3.21608057224308E+0003 3.21901939041307E+0003 3.22196016915663E+0003 3.22490290932924E+0003 3.22784761178656E+0003 + 3.23079427738446E+0003 3.23374290697893E+0003 3.23669350142621E+0003 3.23964606158269E+0003 3.24260058830495E+0003 + 3.24555708244977E+0003 3.24851554487409E+0003 3.25147597643505E+0003 3.25443837798994E+0003 3.25740275039630E+0003 + 3.26036909451179E+0003 3.26333741119430E+0003 3.26630770130187E+0003 3.26927996569275E+0003 3.27225420522534E+0003 + 3.27523042075826E+0003 3.27820861315031E+0003 3.28118878326044E+0003 3.28417093194783E+0003 3.28715506007180E+0003 + 3.29014116849189E+0003 3.29312925806780E+0003 3.29611932965944E+0003 3.29911138412687E+0003 3.30210542233035E+0003 + 3.30510144513034E+0003 3.30809945338747E+0003 3.31109944796254E+0003 3.31410142971655E+0003 3.31710539951068E+0003 + 3.32011135820630E+0003 3.32311930666496E+0003 3.32612924574839E+0003 3.32914117631850E+0003 3.33215509923743E+0003 + 3.33517101536740E+0003 3.33818892557093E+0003 3.34120883071065E+0003 3.34423073164940E+0003 3.34725462925019E+0003 + 3.35028052437626E+0003 3.35330841789096E+0003 3.35633831065790E+0003 3.35937020354079E+0003 3.36240409740361E+0003 + 3.36543999311047E+0003 3.36847789152568E+0003 3.37151779351372E+0003 3.37455969993929E+0003 3.37760361166724E+0003 + 3.38064952956261E+0003 3.38369745449062E+0003 3.38674738731670E+0003 3.38979932890643E+0003 3.39285328012562E+0003 + 3.39590924184021E+0003 3.39896721491634E+0003 3.40202720022036E+0003 3.40508919861878E+0003 3.40815321097830E+0003 + 3.41121923816580E+0003 3.41428728104835E+0003 3.41735734049321E+0003 3.42042941736781E+0003 3.42350351253976E+0003 + 3.42657962687688E+0003 3.42965776124714E+0003 3.43273791651873E+0003 3.43582009356000E+0003 3.43890429323950E+0003 + 3.44199051642593E+0003 3.44507876398820E+0003 3.44816903679541E+0003 3.45126133571686E+0003 3.45435566162196E+0003 + 3.45745201538039E+0003 3.46055039786197E+0003 3.46365080993670E+0003 3.46675325247478E+0003 3.46985772634659E+0003 + 3.47296423242270E+0003 3.47607277157386E+0003 3.47918334467098E+0003 3.48229595258520E+0003 3.48541059618780E+0003 + 3.48852727635028E+0003 3.49164599394429E+0003 3.49476674984168E+0003 3.49788954491450E+0003 3.50101438003498E+0003 + 3.50414125607548E+0003 3.50727017390863E+0003 3.51040113440716E+0003 3.51353413844406E+0003 3.51666918689247E+0003 + 3.51980628062567E+0003 3.52294542051722E+0003 3.52608660744077E+0003 3.52922984227023E+0003 3.53237512587962E+0003 + 3.53552245914321E+0003 3.53867184293541E+0003 3.54182327813084E+0003 3.54497676560430E+0003 3.54813230623076E+0003 + 3.55128990088537E+0003 3.55444955044350E+0003 3.55761125578067E+0003 3.56077501777258E+0003 3.56394083729516E+0003 + 3.56710871522447E+0003 3.57027865243678E+0003 3.57345064980854E+0003 3.57662470821636E+0003 3.57980082853712E+0003 + 3.58297901164775E+0003 3.58615925842548E+0003 3.58934156974769E+0003 3.59252594649189E+0003 3.59571238953585E+0003 + 3.59890089975748E+0003 3.60209147803488E+0003 3.60528412524635E+0003 3.60847884227038E+0003 3.61167562998558E+0003 + 3.61487448927085E+0003 3.61807542100517E+0003 3.62127842606777E+0003 3.62448350533803E+0003 3.62769065969555E+0003 + 3.63089989002006E+0003 3.63411119719153E+0003 3.63732458209009E+0003 3.64054004559603E+0003 3.64375758858988E+0003 + 3.64697721195228E+0003 3.65019891656414E+0003 3.65342270330649E+0003 3.65664857306055E+0003 3.65987652670775E+0003 + 3.66310656512967E+0003 3.66633868920814E+0003 3.66957289982510E+0003 3.67280919786268E+0003 3.67604758420327E+0003 + 3.67928805972935E+0003 3.68253062532363E+0003 3.68577528186901E+0003 3.68902203024856E+0003 3.69227087134555E+0003 + 3.69552180604338E+0003 3.69877483522572E+0003 3.70202995977636E+0003 3.70528718057929E+0003 3.70854649851868E+0003 + 3.71180791447889E+0003 3.71507142934449E+0003 3.71833704400017E+0003 3.72160475933089E+0003 3.72487457622169E+0003 + 3.72814649555790E+0003 3.73142051822496E+0003 3.73469664510852E+0003 3.73797487709441E+0003 3.74125521506865E+0003 + 3.74453765991743E+0003 3.74782221252716E+0003 3.75110887378439E+0003 3.75439764457587E+0003 3.75768852578854E+0003 + 3.76098151830951E+0003 3.76427662302610E+0003 3.76757384082580E+0003 3.77087317259626E+0003 3.77417461922536E+0003 + 3.77747818160111E+0003 3.78078386061176E+0003 3.78409165714570E+0003 3.78740157209153E+0003 3.79071360633805E+0003 + 3.79402776077418E+0003 3.79734403628908E+0003 3.80066243377206E+0003 3.80398295411265E+0003 3.80730559820055E+0003 + 3.81063036692564E+0003 3.81395726117797E+0003 3.81728628184778E+0003 3.82061742982552E+0003 3.82395070600181E+0003 + 3.82728611126742E+0003 3.83062364651335E+0003 3.83396331263077E+0003 3.83730511051104E+0003 3.84064904104567E+0003 + 3.84399510512639E+0003 3.84734330364512E+0003 3.85069363749391E+0003 3.85404610756507E+0003 3.85740071475103E+0003 + 3.86075745994444E+0003 3.86411634403811E+0003 3.86747736792505E+0003 3.87084053249846E+0003 3.87420583865172E+0003 + 3.87757328727837E+0003 3.88094287927216E+0003 3.88431461552700E+0003 3.88768849693703E+0003 3.89106452439656E+0003 + 3.89444269879999E+0003 3.89782302104206E+0003 3.90120549201759E+0003 3.90459011262160E+0003 3.90797688374932E+0003 + 3.91136580629613E+0003 3.91475688115761E+0003 3.91815010922957E+0003 3.92154549140790E+0003 3.92494302858879E+0003 + 3.92834272166853E+0003 3.93174457154361E+0003 3.93514857911072E+0003 3.93855474526674E+0003 3.94196307090874E+0003 + 3.94537355693392E+0003 3.94878620423973E+0003 3.95220101372376E+0003 3.95561798628381E+0003 3.95903712281783E+0003 + 3.96245842422402E+0003 3.96588189140071E+0003 3.96930752524640E+0003 3.97273532665979E+0003 3.97616529653982E+0003 + 3.97959743578554E+0003 3.98303174529623E+0003 3.98646822597130E+0003 3.98990687871043E+0003 3.99334770441337E+0003 + 3.99679070398017E+0003 4.00023587831098E+0003 4.00368322830617E+0003 4.00713275486631E+0003 4.01058445889211E+0003 + 4.01403834128449E+0003 4.01749440294456E+0003 4.02095264477360E+0003 4.02441306767310E+0003 4.02787567254468E+0003 + 4.03134046029018E+0003 4.03480743181163E+0003 4.03827658801124E+0003 4.04174792979140E+0003 4.04522145805466E+0003 + 4.04869717370381E+0003 4.05217507764175E+0003 4.05565517077164E+0003 4.05913745399679E+0003 4.06262192822067E+0003 + 4.06610859434696E+0003 4.06959745327952E+0003 4.07308850592240E+0003 4.07658175317984E+0003 4.08007719595622E+0003 + 4.08357483515616E+0003 4.08707467168445E+0003 4.09057670644602E+0003 4.09408094034605E+0003 4.09758737428988E+0003 + 4.10109600918297E+0003 4.10460684593108E+0003 4.10811988544005E+0003 4.11163512861598E+0003 4.11515257636511E+0003 + 4.11867222959386E+0003 4.12219408920888E+0003 4.12571815611696E+0003 4.12924443122509E+0003 4.13277291544042E+0003 + 4.13630360967034E+0003 4.13983651482236E+0003 4.14337163180423E+0003 4.14690896152383E+0003 4.15044850488927E+0003 + 4.15399026280884E+0003 4.15753423619095E+0003 4.16108042594430E+0003 4.16462883297766E+0003 4.16817945820010E+0003 + 4.17173230252077E+0003 4.17528736684907E+0003 4.17884465209457E+0003 4.18240415916700E+0003 4.18596588897629E+0003 + 4.18952984243257E+0003 4.19309602044614E+0003 4.19666442392746E+0003 4.20023505378722E+0003 4.20380791093626E+0003 + 4.20738299628562E+0003 4.21096031074651E+0003 4.21453985523033E+0003 4.21812163064870E+0003 4.22170563791334E+0003 + 4.22529187793624E+0003 4.22888035162953E+0003 4.23247105990554E+0003 4.23606400367677E+0003 4.23965918385590E+0003 + 4.24325660135580E+0003 4.24685625708955E+0003 4.25045815197039E+0003 4.25406228691174E+0003 4.25766866282720E+0003 + 4.26127728063059E+0003 4.26488814123587E+0003 4.26850124555719E+0003 4.27211659450893E+0003 4.27573418900558E+0003 + 4.27935402996191E+0003 4.28297611829275E+0003 4.28660045491322E+0003 4.29022704073859E+0003 4.29385587668431E+0003 + 4.29748696366598E+0003 4.30112030259945E+0003 4.30475589440073E+0003 4.30839373998599E+0003 4.31203384027158E+0003 + 4.31567619617407E+0003 4.31932080861021E+0003 4.32296767849691E+0003 4.32661680675130E+0003 4.33026819429063E+0003 + 4.33392184203240E+0003 4.33757775089424E+0003 4.34123592179403E+0003 4.34489635564975E+0003 4.34855905337966E+0003 + 4.35222401590212E+0003 4.35589124413571E+0003 4.35956073899921E+0003 4.36323250141153E+0003 4.36690653229184E+0003 + 4.37058283255943E+0003 4.37426140313379E+0003 4.37794224493461E+0003 4.38162535888176E+0003 4.38531074589529E+0003 + 4.38899840689544E+0003 4.39268834280259E+0003 4.39638055453739E+0003 4.40007504302060E+0003 4.40377180917317E+0003 + 4.40747085391627E+0003 4.41117217817125E+0003 4.41487578285961E+0003 4.41858166890308E+0003 4.42228983722352E+0003 + 4.42600028874300E+0003 4.42971302438385E+0003 4.43342804506837E+0003 4.43714535171933E+0003 4.44086494525945E+0003 + 4.44458682661173E+0003 4.44831099669941E+0003 4.45203745644576E+0003 4.45576620677439E+0003 4.45949724860900E+0003 + 4.46323058287351E+0003 4.46696621049200E+0003 4.47070413238880E+0003 4.47444434948829E+0003 4.47818686271516E+0003 + 4.48193167299429E+0003 4.48567878125064E+0003 4.48942818840942E+0003 4.49317989539598E+0003 4.49693390313597E+0003 + 4.50069021255511E+0003 4.50444882457927E+0003 4.50820974013467E+0003 4.51197296014756E+0003 4.51573848554443E+0003 + 4.51950631725193E+0003 4.52327645619694E+0003 4.52704890330652E+0003 4.53082365950786E+0003 4.53460072572839E+0003 + 4.53838010289570E+0003 4.54216179193753E+0003 4.54594579378188E+0003 4.54973210935686E+0003 4.55352073959085E+0003 + 4.55731168541231E+0003 4.56110494774993E+0003 4.56490052753265E+0003 4.56869842568948E+0003 4.57249864314969E+0003 + 4.57630118084268E+0003 4.58010603969810E+0003 4.58391322064573E+0003 4.58772272461557E+0003 4.59153455253778E+0003 + 4.59534870534269E+0003 4.59916518396085E+0003 4.60298398932299E+0003 4.60680512235999E+0003 4.61062858400297E+0003 + 4.61445437518318E+0003 4.61828249683203E+0003 4.62211294988125E+0003 4.62594573526259E+0003 4.62978085390810E+0003 + 4.63361830674992E+0003 4.63745809472050E+0003 4.64130021875232E+0003 4.64514467977817E+0003 4.64899147873095E+0003 + 4.65284061654381E+0003 4.65669209415000E+0003 4.66054591248301E+0003 4.66440207247651E+0003 4.66826057506433E+0003 + 4.67212142118052E+0003 4.67598461175931E+0003 4.67985014773507E+0003 4.68371803004236E+0003 4.68758825961599E+0003 + 4.69146083739088E+0003 4.69533576430217E+0003 4.69921304128523E+0003 4.70309266927544E+0003 4.70697464920861E+0003 + 4.71085898202055E+0003 4.71474566864733E+0003 4.71863471002517E+0003 4.72252610709053E+0003 4.72641986077995E+0003 + 4.73031597203028E+0003 4.73421444177846E+0003 4.73811527096167E+0003 4.74201846051721E+0003 4.74592401138265E+0003 + 4.74983192449569E+0003 4.75374220079421E+0003 4.75765484121631E+0003 4.76156984670022E+0003 4.76548721818441E+0003 + 4.76940695660748E+0003 4.77332906290828E+0003 4.77725353802578E+0003 4.78118038289917E+0003 4.78510959846782E+0003 + 4.78904118567126E+0003 4.79297514544924E+0003 4.79691147874168E+0003 4.80085018648866E+0003 4.80479126963048E+0003 + 4.80873472910761E+0003 4.81268056586072E+0003 4.81662878083059E+0003 4.82057937495831E+0003 4.82453234918501E+0003 + 4.82848770445216E+0003 4.83244544170127E+0003 4.83640556187413E+0003 4.84036806591264E+0003 4.84433295475897E+0003 + 4.84830022935540E+0003 4.85226989064444E+0003 4.85624193956876E+0003 4.86021637707121E+0003 4.86419320409486E+0003 + 4.86817242158289E+0003 4.87215403047878E+0003 4.87613803172605E+0003 4.88012442626852E+0003 4.88411321505018E+0003 + 4.88810439901512E+0003 4.89209797910771E+0003 4.89609395627248E+0003 4.90009233145406E+0003 4.90409310559745E+0003 + 4.90809627964758E+0003 4.91210185454981E+0003 4.91610983124950E+0003 4.92012021069233E+0003 4.92413299382408E+0003 + 4.92814818159073E+0003 4.93216577493846E+0003 4.93618577481361E+0003 4.94020818216274E+0003 4.94423299793256E+0003 + 4.94826022306998E+0003 4.95228985852211E+0003 4.95632190523618E+0003 4.96035636415970E+0003 4.96439323624028E+0003 + 4.96843252242573E+0003 4.97247422366413E+0003 4.97651834090361E+0003 4.98056487509259E+0003 4.98461382717961E+0003 + 4.98866519811341E+0003 4.99271898884293E+0003 4.99677520031732E+0003 5.00083383348580E+0003 5.00489488929791E+0003 + 5.00895836870332E+0003 5.01302427265186E+0003 5.01709260209357E+0003 5.02116335797864E+0003 5.02523654125753E+0003 + 5.02931215288080E+0003 5.03339019379921E+0003 5.03747066496372E+0003 5.04155356732546E+0003 5.04563890183579E+0003 + 5.04972666944616E+0003 5.05381687110831E+0003 5.05790950777409E+0003 5.06200458039556E+0003 5.06610208992493E+0003 + 5.07020203731471E+0003 5.07430442351743E+0003 5.07840924948591E+0003 5.08251651617316E+0003 5.08662622453229E+0003 + 5.09073837551667E+0003 5.09485297007982E+0003 5.09897000917548E+0003 5.10308949375752E+0003 5.10721142478002E+0003 + 5.11133580319729E+0003 5.11546262996372E+0003 5.11959190603397E+0003 5.12372363236286E+0003 5.12785780990538E+0003 + 5.13199443961676E+0003 5.13613352245231E+0003 5.14027505936760E+0003 5.14441905131839E+0003 5.14856549926057E+0003 + 5.15271440415026E+0003 5.15686576694377E+0003 5.16101958859756E+0003 5.16517587006824E+0003 5.16933461231273E+0003 + 5.17349581628799E+0003 5.17765948295126E+0003 5.18182561325995E+0003 5.18599420817160E+0003 5.19016526864396E+0003 + 5.19433879563503E+0003 5.19851479010291E+0003 5.20269325300591E+0003 5.20687418530251E+0003 5.21105758795145E+0003 + 5.21524346191152E+0003 5.21943180814183E+0003 5.22362262760158E+0003 5.22781592125016E+0003 5.23201169004723E+0003 + 5.23620993495255E+0003 5.24041065692608E+0003 5.24461385692797E+0003 5.24881953591858E+0003 5.25302769485841E+0003 + 5.25723833470815E+0003 5.26145145642871E+0003 5.26566706098117E+0003 5.26988514932679E+0003 5.27410572242699E+0003 + 5.27832878124338E+0003 5.28255432673778E+0003 5.28678235987222E+0003 5.29101288160883E+0003 5.29524589290998E+0003 + 5.29948139473821E+0003 5.30371938805628E+0003 5.30795987382706E+0003 5.31220285301367E+0003 5.31644832657940E+0003 + 5.32069629548768E+0003 5.32494676070217E+0003 5.32919972318670E+0003 5.33345518390530E+0003 5.33771314382220E+0003 + 5.34197360390170E+0003 5.34623656510843E+0003 5.35050202840709E+0003 5.35476999476270E+0003 5.35904046514028E+0003 + 5.36331344050521E+0003 5.36758892182296E+0003 5.37186691005917E+0003 5.37614740617972E+0003 5.38043041115064E+0003 + 5.38471592593817E+0003 5.38900395150870E+0003 5.39329448882880E+0003 5.39758753886528E+0003 5.40188310258513E+0003 + 5.40618118095541E+0003 5.41048177494349E+0003 5.41478488551687E+0003 5.41909051364328E+0003 5.42339866029056E+0003 + 5.42770932642679E+0003 5.43202251302020E+0003 5.43633822103924E+0003 5.44065645145252E+0003 5.44497720522885E+0003 + 5.44930048333717E+0003 5.45362628674670E+0003 5.45795461642675E+0003 5.46228547334687E+0003 5.46661885847677E+0003 + 5.47095477278635E+0003 5.47529321724572E+0003 5.47963419282515E+0003 5.48397770049506E+0003 5.48832374122612E+0003 + 5.49267231598914E+0003 5.49702342575513E+0003 5.50137707149526E+0003 5.50573325418093E+0003 5.51009197478367E+0003 + 5.51445323427526E+0003 5.51881703362761E+0003 5.52318337381280E+0003 5.52755225580317E+0003 5.53192368057116E+0003 + 5.53629764908945E+0003 5.54067416233092E+0003 5.54505322126852E+0003 5.54943482687551E+0003 5.55381898012532E+0003 + 5.55820568199147E+0003 5.56259493344772E+0003 5.56698673546812E+0003 5.57138108902668E+0003 5.57577799509779E+0003 + 5.58017745465595E+0003 5.58457946867580E+0003 5.58898403813224E+0003 5.59339116400034E+0003 5.59780084725528E+0003 + 5.60221308887254E+0003 5.60662788982769E+0003 5.61104525109656E+0003 5.61546517365507E+0003 5.61988765847943E+0003 + 5.62431270654593E+0003 5.62874031883111E+0003 5.63317049631172E+0003 5.63760323996458E+0003 5.64203855076684E+0003 + 5.64647642969570E+0003 5.65091687772864E+0003 5.65535989584327E+0003 5.65980548501742E+0003 5.66425364622909E+0003 + 5.66870438045643E+0003 5.67315768867783E+0003 5.67761357187184E+0003 5.68207203101717E+0003 5.68653306709277E+0003 + 5.69099668107771E+0003 5.69546287395127E+0003 5.69993164669297E+0003 5.70440300028239E+0003 5.70887693569940E+0003 + 5.71335345392405E+0003 5.71783255593647E+0003 5.72231424271713E+0003 5.72679851524657E+0003 5.73128537450552E+0003 + 5.73577482147494E+0003 5.74026685713598E+0003 5.74476148246990E+0003 5.74925869845822E+0003 5.75375850608259E+0003 + 5.75826090632493E+0003 5.76276590016721E+0003 5.76727348859169E+0003 5.77178367258080E+0003 5.77629645311710E+0003 + 5.78081183118341E+0003 5.78532980776265E+0003 5.78985038383800E+0003 5.79437356039279E+0003 5.79889933841050E+0003 + 5.80342771887487E+0003 5.80795870276976E+0003 5.81249229107924E+0003 5.81702848478756E+0003 5.82156728487917E+0003 + 5.82610869233869E+0003 5.83065270815088E+0003 5.83519933330078E+0003 5.83974856877355E+0003 5.84430041555451E+0003 + 5.84885487462925E+0003 5.85341194698345E+0003 5.85797163360304E+0003 5.86253393547409E+0003 5.86709885358291E+0003 + 5.87166638891591E+0003 5.87623654245978E+0003 5.88080931520133E+0003 5.88538470812756E+0003 5.88996272222568E+0003 + 5.89454335848305E+0003 5.89912661788725E+0003 5.90371250142601E+0003 5.90830101008728E+0003 5.91289214485917E+0003 + 5.91748590672994E+0003 5.92208229668811E+0003 5.92668131572235E+0003 5.93128296482151E+0003 5.93588724497461E+0003 + 5.94049415717086E+0003 5.94510370239968E+0003 5.94971588165064E+0003 5.95433069591354E+0003 5.95894814617831E+0003 + 5.96356823343506E+0003 5.96819095867420E+0003 5.97281632288614E+0003 5.97744432706160E+0003 5.98207497219152E+0003 + 5.98670825926684E+0003 5.99134418927888E+0003 5.99598276321906E+0003 6.00062398207896E+0003 6.00526784685040E+0003 + 6.00991435852535E+0003 6.01456351809597E+0003 6.01921532655459E+0003 6.02386978489377E+0003 6.02852689410621E+0003 + 6.03318665518478E+0003 6.03784906912260E+0003 6.04251413691293E+0003 6.04718185954921E+0003 6.05185223802507E+0003 + 6.05652527333431E+0003 6.06120096647098E+0003 6.06587931842920E+0003 6.07056033020341E+0003 6.07524400278809E+0003 + 6.07993033717807E+0003 6.08461933436817E+0003 6.08931099535356E+0003 6.09400532112952E+0003 6.09870231269147E+0003 + 6.10340197103516E+0003 6.10810429715633E+0003 6.11280929205108E+0003 6.11751695671558E+0003 6.12222729214626E+0003 + 6.12694029933964E+0003 6.13165597929251E+0003 6.13637433300185E+0003 6.14109536146470E+0003 6.14581906567847E+0003 + 6.15054544664061E+0003 6.15527450534880E+0003 6.16000624280090E+0003 6.16474065999496E+0003 6.16947775792921E+0003 + 6.17421753760208E+0003 6.17896000001216E+0003 6.18370514615825E+0003 6.18845297703928E+0003 6.19320349365445E+0003 + 6.19795669700307E+0003 6.20271258808463E+0003 6.20747116789893E+0003 6.21223243744575E+0003 6.21699639772519E+0003 + 6.22176304973755E+0003 6.22653239448323E+0003 6.23130443296286E+0003 6.23607916617728E+0003 6.24085659512741E+0003 + 6.24563672081449E+0003 6.25041954423986E+0003 6.25520506640506E+0003 6.25999328831182E+0003 6.26478421096203E+0003 + 6.26957783535782E+0003 6.27437416250147E+0003 6.27917319339539E+0003 6.28397492904229E+0003 6.28877937044499E+0003 + 6.29358651860643E+0003 6.29839637452991E+0003 6.30320893921878E+0003 6.30802421367660E+0003 6.31284219890709E+0003 + 6.31766289591425E+0003 6.32248630570214E+0003 6.32731242927509E+0003 6.33214126763758E+0003 6.33697282179430E+0003 + 6.34180709275007E+0003 6.34664408150996E+0003 6.35148378907915E+0003 6.35632621646310E+0003 6.36117136466739E+0003 + 6.36601923469776E+0003 6.37086982756018E+0003 6.37572314426083E+0003 6.38057918580600E+0003 6.38543795320220E+0003 + 6.39029944745613E+0003 6.39516366957467E+0003 6.40003062056488E+0003 6.40490030143400E+0003 6.40977271318949E+0003 + 6.41464785683894E+0003 6.41952573339014E+0003 6.42440634385108E+0003 6.42928968922995E+0003 6.43417577053505E+0003 + 6.43906458877497E+0003 6.44395614495836E+0003 6.44885044009420E+0003 6.45374747519153E+0003 6.45864725125961E+0003 + 6.46354976930791E+0003 6.46845503034607E+0003 6.47336303538393E+0003 6.47827378543146E+0003 6.48318728149886E+0003 + 6.48810352459652E+0003 6.49302251573496E+0003 6.49794425592494E+0003 6.50286874617744E+0003 6.50779598750349E+0003 + 6.51272598091443E+0003 6.51765872742170E+0003 6.52259422803699E+0003 6.52753248377216E+0003 6.53247349563918E+0003 + 6.53741726465031E+0003 6.54236379181793E+0003 6.54731307815462E+0003 6.55226512467320E+0003 6.55721993238652E+0003 + 6.56217750230779E+0003 6.56713783545030E+0003 6.57210093282754E+0003 6.57706679545321E+0003 6.58203542434117E+0003 + 6.58700682050548E+0003 6.59198098496039E+0003 6.59695791872029E+0003 6.60193762279979E+0003 6.60692009821370E+0003 + 6.61190534597698E+0003 6.61689336710479E+0003 6.62188416261245E+0003 6.62687773351549E+0003 6.63187408082964E+0003 + 6.63687320557078E+0003 6.64187510875500E+0003 6.64687979139852E+0003 6.65188725451783E+0003 6.65689749912954E+0003 + 6.66191052625047E+0003 6.66692633689760E+0003 6.67194493208808E+0003 6.67696631283934E+0003 6.68199048016893E+0003 + 6.68701743509450E+0003 6.69204717863405E+0003 6.69707971180562E+0003 6.70211503562753E+0003 6.70715315111823E+0003 + 6.71219405929639E+0003 6.71723776118083E+0003 6.72228425779057E+0003 6.72733355014483E+0003 6.73238563926297E+0003 + 6.73744052616457E+0003 6.74249821186940E+0003 6.74755869739740E+0003 6.75262198376868E+0003 6.75768807200354E+0003 + 6.76275696312248E+0003 6.76782865814619E+0003 6.77290315809549E+0003 6.77798046399147E+0003 6.78306057685534E+0003 + 6.78814349770849E+0003 6.79322922757253E+0003 6.79831776746927E+0003 6.80340911842062E+0003 6.80850328144876E+0003 + 6.81360025757599E+0003 6.81870004782488E+0003 6.82380265321808E+0003 6.82890807477848E+0003 6.83401631352915E+0003 + 6.83912737049337E+0003 6.84424124669451E+0003 6.84935794315625E+0003 6.85447746090237E+0003 6.85959980095686E+0003 + 6.86472496434387E+0003 6.86985295208778E+0003 6.87498376521312E+0003 6.88011740474463E+0003 6.88525387170716E+0003 + 6.89039316712585E+0003 6.89553529202598E+0003 6.90068024743296E+0003 6.90582803437251E+0003 6.91097865387036E+0003 + 6.91613210695259E+0003 6.92128839464535E+0003 6.92644751797506E+0003 6.93160947796826E+0003 6.93677427565170E+0003 + 6.94194191205229E+0003 6.94711238819716E+0003 6.95228570511364E+0003 6.95746186382916E+0003 6.96264086537139E+0003 + 6.96782271076822E+0003 6.97300740104764E+0003 6.97819493723789E+0003 6.98338532036738E+0003 6.98857855146464E+0003 + 6.99377463155851E+0003 6.99897356167795E+0003 7.00417534285202E+0003 7.00937997611008E+0003 7.01458746248165E+0003 + 7.01979780299641E+0003 7.02501099868424E+0003 7.03022705057518E+0003 7.03544595969947E+0003 7.04066772708757E+0003 + 7.04589235377005E+0003 7.05111984077770E+0003 7.05635018914152E+0003 7.06158339989267E+0003 7.06681947406247E+0003 + 7.07205841268248E+0003 7.07730021678441E+0003 7.08254488740014E+0003 7.08779242556177E+0003 7.09304283230151E+0003 + 7.09829610865189E+0003 7.10355225564548E+0003 7.10881127431511E+0003 7.11407316569382E+0003 7.11933793081474E+0003 + 7.12460557071128E+0003 7.12987608641695E+0003 7.13514947896553E+0003 7.14042574939091E+0003 7.14570489872723E+0003 + 7.15098692800872E+0003 7.15627183826989E+0003 7.16155963054539E+0003 7.16685030587007E+0003 7.17214386527897E+0003 + 7.17744030980724E+0003 7.18273964049030E+0003 7.18804185836374E+0003 7.19334696446332E+0003 7.19865495982495E+0003 + 7.20396584548480E+0003 7.20927962247914E+0003 7.21459629184451E+0003 7.21991585461756E+0003 7.22523831183519E+0003 + 7.23056366453439E+0003 7.23589191375242E+0003 7.24122306052670E+0003 7.24655710589483E+0003 7.25189405089458E+0003 + 7.25723389656392E+0003 7.26257664394102E+0003 7.26792229406421E+0003 7.27327084797200E+0003 7.27862230670310E+0003 + 7.28397667129636E+0003 7.28933394279092E+0003 7.29469412222598E+0003 7.30005721064098E+0003 7.30542320907557E+0003 + 7.31079211856957E+0003 7.31616394016294E+0003 7.32153867489584E+0003 7.32691632380868E+0003 7.33229688794198E+0003 + 7.33768036833643E+0003 7.34306676603296E+0003 7.34845608207269E+0003 7.35384831749690E+0003 7.35924347334703E+0003 + 7.36464155066473E+0003 7.37004255049182E+0003 7.37544647387035E+0003 7.38085332184250E+0003 7.38626309545062E+0003 + 7.39167579573733E+0003 7.39709142374534E+0003 7.40250998051761E+0003 7.40793146709724E+0003 7.41335588452754E+0003 + 7.41878323385199E+0003 7.42421351611428E+0003 7.42964673235826E+0003 7.43508288362791E+0003 7.44052197096754E+0003 + 7.44596399542151E+0003 7.45140895803440E+0003 7.45685685985102E+0003 7.46230770191629E+0003 7.46776148527538E+0003 + 7.47321821097360E+0003 7.47867788005645E+0003 7.48414049356966E+0003 7.48960605255906E+0003 7.49507455807074E+0003 + 7.50054601115096E+0003 7.50602041284613E+0003 7.51149776420287E+0003 7.51697806626793E+0003 7.52246132008836E+0003 + 7.52794752671130E+0003 7.53343668718409E+0003 7.53892880255428E+0003 7.54442387386957E+0003 7.54992190217788E+0003 + 7.55542288852728E+0003 7.56092683396602E+0003 7.56643373954260E+0003 7.57194360630561E+0003 7.57745643530390E+0003 + 7.58297222758649E+0003 7.58849098420251E+0003 7.59401270620141E+0003 7.59953739463269E+0003 7.60506505054611E+0003 + 7.61059567499158E+0003 7.61612926901922E+0003 7.62166583367935E+0003 7.62720537002239E+0003 7.63274787909904E+0003 + 7.63829336196014E+0003 7.64384181965671E+0003 7.64939325323993E+0003 7.65494766376127E+0003 7.66050505227226E+0003 + 7.66606541982468E+0003 7.67162876747048E+0003 7.67719509626177E+0003 7.68276440725087E+0003 7.68833670149032E+0003 + 7.69391198003278E+0003 7.69949024393110E+0003 7.70507149423835E+0003 7.71065573200774E+0003 7.71624295829273E+0003 + 7.72183317414690E+0003 7.72742638062406E+0003 7.73302257877815E+0003 7.73862176966334E+0003 7.74422395433398E+0003 + 7.74982913384457E+0003 7.75543730924984E+0003 7.76104848160465E+0003 7.76666265196413E+0003 7.77227982138350E+0003 + 7.77789999091820E+0003 7.78352316162387E+0003 7.78914933455635E+0003 7.79477851077158E+0003 7.80041069132574E+0003 + 7.80604587727526E+0003 7.81168406967662E+0003 7.81732526958657E+0003 7.82296947806205E+0003 7.82861669616013E+0003 + 7.83426692493810E+0003 7.83992016545344E+0003 7.84557641876377E+0003 7.85123568592696E+0003 7.85689796800102E+0003 + 7.86256326604412E+0003 7.86823158111471E+0003 7.87390291427131E+0003 7.87957726657268E+0003 7.88525463907777E+0003 + 7.89093503284572E+0003 7.89661844893577E+0003 7.90230488840750E+0003 7.90799435232054E+0003 7.91368684173473E+0003 + 7.91938235771013E+0003 7.92508090130698E+0003 7.93078247358570E+0003 7.93648707560684E+0003 7.94219470843118E+0003 + 7.94790537311973E+0003 7.95361907073361E+0003 7.95933580233413E+0003 7.96505556898285E+0003 7.97077837174143E+0003 + 7.97650421167174E+0003 7.98223308983591E+0003 7.98796500729612E+0003 7.99369996511484E+0003 7.99943796435469E+0003 + 8.00517900607844E+0003 8.01092309134913E+0003 8.01667022122987E+0003 8.02242039678407E+0003 8.02817361907521E+0003 + 8.03392988916706E+0003 8.03968920812350E+0003 8.04545157700863E+0003 8.05121699688672E+0003 8.05698546882221E+0003 + 8.06275699387977E+0003 8.06853157312420E+0003 8.07430920762054E+0003 8.08008989843396E+0003 8.08587364662984E+0003 + 8.09166045327374E+0003 8.09745031943142E+0003 8.10324324616879E+0003 8.10903923455196E+0003 8.11483828564726E+0003 + 8.12064040052114E+0003 8.12644558024027E+0003 8.13225382587148E+0003 8.13806513848186E+0003 8.14387951913859E+0003 + 8.14969696890906E+0003 8.15551748886086E+0003 8.16134108006179E+0003 8.16716774357976E+0003 8.17299748048291E+0003 + 8.17883029183961E+0003 8.18466617871828E+0003 8.19050514218771E+0003 8.19634718331671E+0003 8.20219230317432E+0003 + 8.20804050282983E+0003 8.21389178335264E+0003 8.21974614581239E+0003 8.22560359127878E+0003 8.23146412082188E+0003 + 8.23732773551182E+0003 8.24319443641893E+0003 8.24906422461376E+0003 8.25493710116699E+0003 8.26081306714956E+0003 + 8.26669212363254E+0003 8.27257427168716E+0003 8.27845951238491E+0003 8.28434784679738E+0003 8.29023927599640E+0003 + 8.29613380105399E+0003 8.30203142304232E+0003 8.30793214303376E+0003 8.31383596210086E+0003 8.31974288131636E+0003 + 8.32565290175317E+0003 8.33156602448437E+0003 8.33748225058330E+0003 8.34340158112341E+0003 8.34932401717835E+0003 + 8.35524955982198E+0003 8.36117821012827E+0003 8.36710996917148E+0003 8.37304483802596E+0003 8.37898281776634E+0003 + 8.38492390946735E+0003 8.39086811420388E+0003 8.39681543305113E+0003 8.40276586708440E+0003 8.40871941737918E+0003 + 8.41467608501113E+0003 8.42063587105612E+0003 8.42659877659020E+0003 8.43256480268961E+0003 8.43853395043075E+0003 + 8.44450622089021E+0003 8.45048161514482E+0003 8.45646013427150E+0003 8.46244177934740E+0003 8.46842655144990E+0003 + 8.47441445165644E+0003 8.48040548104481E+0003 8.48639964069286E+0003 8.49239693167865E+0003 8.49839735508042E+0003 + 8.50440091197663E+0003 8.51040760344590E+0003 8.51641743056707E+0003 8.52243039441906E+0003 8.52844649608110E+0003 + 8.53446573663253E+0003 8.54048811715288E+0003 8.54651363872188E+0003 8.55254230241946E+0003 8.55857410932571E+0003 + 8.56460906052090E+0003 8.57064715708549E+0003 8.57668840010010E+0003 8.58273279064559E+0003 8.58878032980299E+0003 + 8.59483101865349E+0003 8.60088485827846E+0003 8.60694184975943E+0003 8.61300199417818E+0003 8.61906529261667E+0003 + 8.62513174615699E+0003 8.63120135588147E+0003 8.63727412287252E+0003 8.64335004821290E+0003 8.64942913298540E+0003 + 8.65551137827308E+0003 8.66159678515920E+0003 8.66768535472709E+0003 8.67377708806039E+0003 8.67987198624286E+0003 + 8.68597005035845E+0003 8.69207128149130E+0003 8.69817568072576E+0003 8.70428324914631E+0003 8.71039398783764E+0003 + 8.71650789788466E+0003 8.72262498037242E+0003 8.72874523638612E+0003 8.73486866701127E+0003 8.74099527333341E+0003 + 8.74712505643837E+0003 8.75325801741212E+0003 8.75939415734082E+0003 8.76553347731085E+0003 8.77167597840869E+0003 + 8.77782166172111E+0003 8.78397052833498E+0003 8.79012257933739E+0003 8.79627781581563E+0003 8.80243623885709E+0003 + 8.80859784954946E+0003 8.81476264898054E+0003 8.82093063823837E+0003 8.82710181841110E+0003 8.83327619058707E+0003 + 8.83945375585493E+0003 8.84563451530333E+0003 8.85181847002124E+0003 8.85800562109778E+0003 8.86419596962223E+0003 + 8.87038951668402E+0003 8.87658626337285E+0003 8.88278621077855E+0003 8.88898935999119E+0003 8.89519571210098E+0003 + 8.90140526819820E+0003 8.90761802937355E+0003 8.91383399671776E+0003 8.92005317132179E+0003 8.92627555427674E+0003 + 8.93250114667391E+0003 8.93872994960485E+0003 8.94496196416127E+0003 8.95119719143496E+0003 8.95743563251798E+0003 + 8.96367728850260E+0003 8.96992216048123E+0003 8.97617024954649E+0003 8.98242155679113E+0003 8.98867608330814E+0003 + 8.99493383019064E+0003 9.00119479853203E+0003 9.00745898942578E+0003 9.01372640396564E+0003 9.01999704324550E+0003 + 9.02627090835937E+0003 9.03254800040160E+0003 9.03882832046653E+0003 9.04511186964890E+0003 9.05139864904345E+0003 + 9.05768865974517E+0003 9.06398190284929E+0003 9.07027837945109E+0003 9.07657809064620E+0003 9.08288103753033E+0003 + 9.08918722119935E+0003 9.09549664274938E+0003 9.10180930327676E+0003 9.10812520387788E+0003 9.11444434564939E+0003 + 9.12076672968818E+0003 9.12709235709123E+0003 9.13342122895576E+0003 9.13975334637916E+0003 9.14608871045899E+0003 + 9.15242732229295E+0003 9.15876918297907E+0003 9.16511429361542E+0003 9.17146265530029E+0003 9.17781426913223E+0003 + 9.18416913620988E+0003 9.19052725763209E+0003 9.19688863449790E+0003 9.20325326790653E+0003 9.20962115895742E+0003 + 9.21599230875017E+0003 9.22236671838450E+0003 9.22874438896043E+0003 9.23512532157810E+0003 9.24150951733776E+0003 + 9.24789697734005E+0003 9.25428770268556E+0003 9.26068169447522E+0003 9.26707895381008E+0003 9.27347948179136E+0003 + 9.27988327952060E+0003 9.28629034809931E+0003 9.29270068862935E+0003 9.29911430221266E+0003 9.30553118995143E+0003 + 9.31195135294799E+0003 9.31837479230495E+0003 9.32480150912495E+0003 9.33123150451096E+0003 9.33766477956598E+0003 + 9.34410133539338E+0003 9.35054117309660E+0003 9.35698429377917E+0003 9.36343069854505E+0003 9.36988038849819E+0003 + 9.37633336474279E+0003 9.38278962838325E+0003 9.38924918052406E+0003 9.39571202227005E+0003 9.40217815472609E+0003 + 9.40864757899732E+0003 9.41512029618899E+0003 9.42159630740665E+0003 9.42807561375591E+0003 9.43455821634266E+0003 + 9.44104411627293E+0003 9.44753331465287E+0003 9.45402581258895E+0003 9.46052161118775E+0003 9.46702071155598E+0003 + 9.47352311480067E+0003 9.48002882202889E+0003 9.48653783434798E+0003 9.49305015286546E+0003 9.49956577868902E+0003 + 9.50608471292649E+0003 9.51260695668600E+0003 9.51913251107570E+0003 9.52566137720407E+0003 9.53219355617973E+0003 + 9.53872904911140E+0003 9.54526785710811E+0003 9.55180998127902E+0003 9.55835542273344E+0003 9.56490418258098E+0003 + 9.57145626193126E+0003 9.57801166189420E+0003 9.58457038357989E+0003 9.59113242809859E+0003 9.59769779656074E+0003 + 9.60426649007697E+0003 9.61083850975813E+0003 9.61741385671514E+0003 9.62399253205930E+0003 9.63057453690186E+0003 + 9.63715987235446E+0003 9.64374853952877E+0003 9.65034053953673E+0003 9.65693587349047E+0003 9.66353454250224E+0003 + 9.67013654768451E+0003 9.67674189014995E+0003 9.68335057101141E+0003 9.68996259138190E+0003 9.69657795237462E+0003 + 9.70319665510296E+0003 9.70981870068054E+0003 9.71644409022103E+0003 9.72307282483844E+0003 9.72970490564690E+0003 + 9.73634033376069E+0003 9.74297911029425E+0003 9.74962123636238E+0003 9.75626671307982E+0003 9.76291554156173E+0003 + 9.76956772292327E+0003 9.77622325827988E+0003 9.78288214874716E+0003 9.78954439544084E+0003 9.79620999947694E+0003 + 9.80287896197161E+0003 9.80955128404117E+0003 9.81622696680215E+0003 9.82290601137123E+0003 9.82958841886523E+0003 + 9.83627419040140E+0003 9.84296332709683E+0003 9.84965583006904E+0003 9.85635170043560E+0003 9.86305093931439E+0003 + 9.86975354782323E+0003 9.87645952708056E+0003 9.88316887820448E+0003 9.88988160231369E+0003 9.89659770052691E+0003 + 9.90331717396295E+0003 9.91004002374096E+0003 9.91676625098020E+0003 9.92349585680020E+0003 9.93022884232044E+0003 + 9.93696520866099E+0003 9.94370495694166E+0003 9.95044808828278E+0003 9.95719460380462E+0003 9.96394450462775E+0003 + 9.97069779187307E+0003 9.97745446666135E+0003 9.98421453011376E+0003 9.99097798335165E+0003 9.99774482749641E+0003 + 1.00045150636697E+0004 1.00112886929935E+0004 1.00180657165898E+0004 1.00248461355807E+0004 1.00316299510888E+0004 + 1.00384171642366E+0004 1.00452077761468E+0004 1.00520017879424E+0004 1.00587992007466E+0004 1.00656000156826E+0004 + 1.00724042338741E+0004 1.00792118564446E+0004 1.00860228845182E+0004 1.00928373192187E+0004 1.00996551616704E+0004 + 1.01064764129979E+0004 1.01133010743256E+0004 1.01201291467785E+0004 1.01269606314814E+0004 1.01337955295595E+0004 + 1.01406338421383E+0004 1.01474755703432E+0004 1.01543207152998E+0004 1.01611692781343E+0004 1.01680212599725E+0004 + 1.01748766619408E+0004 1.01817354851657E+0004 1.01885977307737E+0004 1.01954633998917E+0004 1.02023324936468E+0004 + 1.02092050131659E+0004 1.02160809595767E+0004 1.02229603340065E+0004 1.02298431375832E+0004 1.02367293714347E+0004 + 1.02436190366890E+0004 1.02505121344745E+0004 1.02574086659197E+0004 1.02643086321531E+0004 1.02712120343037E+0004 + 1.02781188735004E+0004 1.02850291508726E+0004 1.02919428675494E+0004 1.02988600246607E+0004 1.03057806233361E+0004 + 1.03127046647055E+0004 1.03196321498991E+0004 1.03265630800473E+0004 1.03334974562804E+0004 1.03404352797292E+0004 + 1.03473765515246E+0004 1.03543212727976E+0004 1.03612694446794E+0004 1.03682210683015E+0004 1.03751761447954E+0004 + 1.03821346752930E+0004 1.03890966609262E+0004 1.03960621028271E+0004 1.04030310021282E+0004 1.04100033599619E+0004 + 1.04169791774609E+0004 1.04239584557582E+0004 1.04309411959867E+0004 1.04379273992799E+0004 1.04449170667710E+0004 + 1.04519101995937E+0004 1.04589067988818E+0004 1.04659068657694E+0004 1.04729104013906E+0004 1.04799174068798E+0004 + 1.04869278833715E+0004 1.04939418320004E+0004 1.05009592539015E+0004 1.05079801502098E+0004 1.05150045220606E+0004 + 1.05220323705895E+0004 1.05290636969320E+0004 1.05360985022239E+0004 1.05431367876014E+0004 1.05501785542006E+0004 + 1.05572238031579E+0004 1.05642725356098E+0004 1.05713247526931E+0004 1.05783804555448E+0004 1.05854396453019E+0004 + 1.05925023231018E+0004 1.05995684900819E+0004 1.06066381473800E+0004 1.06137112961339E+0004 1.06207879374816E+0004 + 1.06278680725613E+0004 1.06349517025115E+0004 1.06420388284708E+0004 1.06491294515779E+0004 1.06562235729717E+0004 + 1.06633211937916E+0004 1.06704223151766E+0004 1.06775269382665E+0004 1.06846350642008E+0004 1.06917466941195E+0004 + 1.06988618291626E+0004 1.07059804704703E+0004 1.07131026191832E+0004 1.07202282764418E+0004 1.07273574433868E+0004 + 1.07344901211594E+0004 1.07416263109007E+0004 1.07487660137519E+0004 1.07559092308547E+0004 1.07630559633508E+0004 + 1.07702062123820E+0004 1.07773599790906E+0004 1.07845172646186E+0004 1.07916780701087E+0004 1.07988423967034E+0004 + 1.08060102455455E+0004 1.08131816177781E+0004 1.08203565145444E+0004 1.08275349369876E+0004 1.08347168862515E+0004 + 1.08419023634797E+0004 1.08490913698161E+0004 1.08562839064050E+0004 1.08634799743904E+0004 1.08706795749171E+0004 + 1.08778827091296E+0004 1.08850893781726E+0004 1.08922995831914E+0004 1.08995133253311E+0004 1.09067306057371E+0004 + 1.09139514255549E+0004 1.09211757859305E+0004 1.09284036880096E+0004 1.09356351329385E+0004 1.09428701218634E+0004 + 1.09501086559308E+0004 1.09573507362876E+0004 1.09645963640804E+0004 1.09718455404563E+0004 1.09790982665628E+0004 + 1.09863545435470E+0004 1.09936143725567E+0004 1.10008777547396E+0004 1.10081446912437E+0004 1.10154151832171E+0004 + 1.10226892318083E+0004 1.10299668381657E+0004 1.10372480034380E+0004 1.10445327287742E+0004 1.10518210153233E+0004 + 1.10591128642345E+0004 1.10664082766574E+0004 1.10737072537415E+0004 1.10810097966367E+0004 1.10883159064929E+0004 + 1.10956255844604E+0004 1.11029388316895E+0004 1.11102556493307E+0004 1.11175760385349E+0004 1.11249000004528E+0004 + 1.11322275362357E+0004 1.11395586470348E+0004 1.11468933340015E+0004 1.11542315982876E+0004 1.11615734410448E+0004 + 1.11689188634252E+0004 1.11762678665809E+0004 1.11836204516645E+0004 1.11909766198284E+0004 1.11983363722254E+0004 + 1.12056997100085E+0004 1.12130666343307E+0004 1.12204371463454E+0004 1.12278112472061E+0004 1.12351889380664E+0004 + 1.12425702200802E+0004 1.12499550944017E+0004 1.12573435621848E+0004 1.12647356245842E+0004 1.12721312827544E+0004 + 1.12795305378502E+0004 1.12869333910264E+0004 1.12943398434385E+0004 1.13017498962415E+0004 1.13091635505910E+0004 + 1.13165808076428E+0004 1.13240016685527E+0004 1.13314261344769E+0004 1.13388542065715E+0004 1.13462858859929E+0004 + 1.13537211738978E+0004 1.13611600714431E+0004 1.13686025797856E+0004 1.13760487000827E+0004 1.13834984334915E+0004 + 1.13909517811697E+0004 1.13984087442750E+0004 1.14058693239653E+0004 1.14133335213987E+0004 1.14208013377334E+0004 + 1.14282727741280E+0004 1.14357478317410E+0004 1.14432265117314E+0004 1.14507088152580E+0004 1.14581947434802E+0004 + 1.14656842975572E+0004 1.14731774786487E+0004 1.14806742879144E+0004 1.14881747265142E+0004 1.14956787956082E+0004 + 1.15031864963569E+0004 1.15106978299205E+0004 1.15182127974598E+0004 1.15257314001357E+0004 1.15332536391091E+0004 + 1.15407795155413E+0004 1.15483090305938E+0004 1.15558421854280E+0004 1.15633789812058E+0004 1.15709194190891E+0004 + 1.15784635002401E+0004 1.15860112258210E+0004 1.15935625969945E+0004 1.16011176149231E+0004 1.16086762807697E+0004 + 1.16162385956975E+0004 1.16238045608697E+0004 1.16313741774495E+0004 1.16389474466008E+0004 1.16465243694874E+0004 + 1.16541049472730E+0004 1.16616891811220E+0004 1.16692770721986E+0004 1.16768686216675E+0004 1.16844638306933E+0004 + 1.16920627004409E+0004 1.16996652320754E+0004 1.17072714267621E+0004 1.17148812856664E+0004 1.17224948099539E+0004 + 1.17301120007905E+0004 1.17377328593422E+0004 1.17453573867751E+0004 1.17529855842557E+0004 1.17606174529504E+0004 + 1.17682529940261E+0004 1.17758922086496E+0004 1.17835350979881E+0004 1.17911816632088E+0004 1.17988319054792E+0004 + 1.18064858259670E+0004 1.18141434258400E+0004 1.18218047062663E+0004 1.18294696684140E+0004 1.18371383134515E+0004 + 1.18448106425475E+0004 1.18524866568706E+0004 1.18601663575898E+0004 1.18678497458743E+0004 1.18755368228934E+0004 + 1.18832275898166E+0004 1.18909220478135E+0004 1.18986201980540E+0004 1.19063220417082E+0004 1.19140275799463E+0004 + 1.19217368139387E+0004 1.19294497448559E+0004 1.19371663738690E+0004 1.19448867021487E+0004 1.19526107308662E+0004 + 1.19603384611928E+0004 1.19680698943001E+0004 1.19758050313599E+0004 1.19835438735439E+0004 1.19912864220243E+0004 + 1.19990326779732E+0004 1.20067826425632E+0004 1.20145363169669E+0004 1.20222937023570E+0004 1.20300547999067E+0004 + 1.20378196107889E+0004 1.20455881361772E+0004 1.20533603772450E+0004 1.20611363351661E+0004 1.20689160111144E+0004 + 1.20766994062640E+0004 1.20844865217892E+0004 1.20922773588644E+0004 1.21000719186643E+0004 1.21078702023637E+0004 + 1.21156722111376E+0004 1.21234779461612E+0004 1.21312874086101E+0004 1.21391005996595E+0004 1.21469175204854E+0004 + 1.21547381722637E+0004 1.21625625561704E+0004 1.21703906733820E+0004 1.21782225250748E+0004 1.21860581124257E+0004 + 1.21938974366113E+0004 1.22017404988087E+0004 1.22095873001953E+0004 1.22174378419482E+0004 1.22252921252453E+0004 + 1.22331501512643E+0004 1.22410119211830E+0004 1.22488774361797E+0004 1.22567466974327E+0004 1.22646197061205E+0004 + 1.22724964634217E+0004 1.22803769705153E+0004 1.22882612285804E+0004 1.22961492387961E+0004 1.23040410023419E+0004 + 1.23119365203975E+0004 1.23198357941426E+0004 1.23277388247572E+0004 1.23356456134214E+0004 1.23435561613157E+0004 + 1.23514704696206E+0004 1.23593885395167E+0004 1.23673103721849E+0004 1.23752359688066E+0004 1.23831653305626E+0004 + 1.23910984586347E+0004 1.23990353542044E+0004 1.24069760184536E+0004 1.24149204525643E+0004 1.24228686577185E+0004 + 1.24308206350988E+0004 1.24387763858877E+0004 1.24467359112679E+0004 1.24546992124224E+0004 1.24626662905341E+0004 + 1.24706371467867E+0004 1.24786117823633E+0004 1.24865901984477E+0004 1.24945723962237E+0004 1.25025583768755E+0004 + 1.25105481415870E+0004 1.25185416915430E+0004 1.25265390279277E+0004 1.25345401519261E+0004 1.25425450647232E+0004 + 1.25505537675038E+0004 1.25585662614536E+0004 1.25665825477578E+0004 1.25746026276023E+0004 1.25826265021729E+0004 + 1.25906541726556E+0004 1.25986856402367E+0004 1.26067209061026E+0004 1.26147599714400E+0004 1.26228028374355E+0004 + 1.26308495052762E+0004 1.26388999761492E+0004 1.26469542512419E+0004 1.26550123317418E+0004 1.26630742188366E+0004 + 1.26711399137142E+0004 1.26792094175627E+0004 1.26872827315703E+0004 1.26953598569255E+0004 1.27034407948170E+0004 + 1.27115255464333E+0004 1.27196141129638E+0004 1.27277064955975E+0004 1.27358026955237E+0004 1.27439027139321E+0004 + 1.27520065520122E+0004 1.27601142109542E+0004 1.27682256919480E+0004 1.27763409961840E+0004 1.27844601248526E+0004 + 1.27925830791444E+0004 1.28007098602504E+0004 1.28088404693614E+0004 1.28169749076689E+0004 1.28251131763641E+0004 + 1.28332552766385E+0004 1.28414012096840E+0004 1.28495509766926E+0004 1.28577045788562E+0004 1.28658620173672E+0004 + 1.28740232934182E+0004 1.28821884082017E+0004 1.28903573629107E+0004 1.28985301587382E+0004 1.29067067968774E+0004 + 1.29148872785218E+0004 1.29230716048649E+0004 1.29312597771004E+0004 1.29394517964226E+0004 1.29476476640252E+0004 + 1.29558473811029E+0004 1.29640509488500E+0004 1.29722583684613E+0004 1.29804696411317E+0004 1.29886847680561E+0004 + 1.29969037504299E+0004 1.30051265894486E+0004 1.30133532863076E+0004 1.30215838422029E+0004 1.30298182583305E+0004 + 1.30380565358864E+0004 1.30462986760670E+0004 1.30545446800690E+0004 1.30627945490890E+0004 1.30710482843238E+0004 + 1.30793058869707E+0004 1.30875673582268E+0004 1.30958326992898E+0004 1.31041019113570E+0004 1.31123749956265E+0004 + 1.31206519532962E+0004 1.31289327855643E+0004 1.31372174936293E+0004 1.31455060786895E+0004 1.31537985419439E+0004 + 1.31620948845913E+0004 1.31703951078309E+0004 1.31786992128619E+0004 1.31870072008839E+0004 1.31953190730964E+0004 + 1.32036348306993E+0004 1.32119544748928E+0004 1.32202780068770E+0004 1.32286054278522E+0004 1.32369367390192E+0004 + 1.32452719415786E+0004 1.32536110367314E+0004 1.32619540256788E+0004 1.32703009096220E+0004 1.32786516897626E+0004 + 1.32870063673024E+0004 1.32953649434430E+0004 1.33037274193866E+0004 1.33120937963356E+0004 1.33204640754921E+0004 + 1.33288382580589E+0004 1.33372163452388E+0004 1.33455983382348E+0004 1.33539842382499E+0004 1.33623740464876E+0004 + 1.33707677641515E+0004 1.33791653924451E+0004 1.33875669325724E+0004 1.33959723857375E+0004 1.34043817531446E+0004 + 1.34127950359982E+0004 1.34212122355030E+0004 1.34296333528636E+0004 1.34380583892853E+0004 1.34464873459731E+0004 + 1.34549202241324E+0004 1.34633570249687E+0004 1.34717977496878E+0004 1.34802423994957E+0004 1.34886909755983E+0004 + 1.34971434792020E+0004 1.35055999115134E+0004 1.35140602737390E+0004 1.35225245670856E+0004 1.35309927927604E+0004 + 1.35394649519704E+0004 1.35479410459231E+0004 1.35564210758262E+0004 1.35649050428873E+0004 1.35733929483144E+0004 + 1.35818847933155E+0004 1.35903805790991E+0004 1.35988803068737E+0004 1.36073839778478E+0004 1.36158915932304E+0004 + 1.36244031542305E+0004 1.36329186620573E+0004 1.36414381179203E+0004 1.36499615230292E+0004 1.36584888785935E+0004 + 1.36670201858233E+0004 1.36755554459288E+0004 1.36840946601204E+0004 1.36926378296084E+0004 1.37011849556037E+0004 + 1.37097360393171E+0004 1.37182910819596E+0004 1.37268500847426E+0004 1.37354130488775E+0004 1.37439799755759E+0004 + 1.37525508660497E+0004 1.37611257215107E+0004 1.37697045431712E+0004 1.37782873322435E+0004 1.37868740899403E+0004 + 1.37954648174741E+0004 1.38040595160580E+0004 1.38126581869050E+0004 1.38212608312284E+0004 1.38298674502417E+0004 + 1.38384780451584E+0004 1.38470926171925E+0004 1.38557111675579E+0004 1.38643336974690E+0004 1.38729602081399E+0004 + 1.38815907007854E+0004 1.38902251766200E+0004 1.38988636368589E+0004 1.39075060827172E+0004 1.39161525154100E+0004 + 1.39248029361529E+0004 1.39334573461616E+0004 1.39421157466519E+0004 1.39507781388399E+0004 1.39594445239417E+0004 + 1.39681149031739E+0004 1.39767892777530E+0004 1.39854676488956E+0004 1.39941500178189E+0004 1.40028363857400E+0004 + 1.40115267538762E+0004 1.40202211234449E+0004 1.40289194956639E+0004 1.40376218717512E+0004 1.40463282529246E+0004 + 1.40550386404025E+0004 1.40637530354033E+0004 1.40724714391457E+0004 1.40811938528484E+0004 1.40899202777303E+0004 + 1.40986507150107E+0004 1.41073851659090E+0004 1.41161236316446E+0004 1.41248661134372E+0004 1.41336126125069E+0004 + 1.41423631300735E+0004 1.41511176673576E+0004 1.41598762255793E+0004 1.41686388059596E+0004 1.41774054097190E+0004 + 1.41861760380787E+0004 1.41949506922598E+0004 1.42037293734838E+0004 1.42125120829721E+0004 1.42212988219464E+0004 + 1.42300895916289E+0004 1.42388843932414E+0004 1.42476832280065E+0004 1.42564860971464E+0004 1.42652930018839E+0004 + 1.42741039434417E+0004 1.42829189230431E+0004 1.42917379419111E+0004 1.43005610012692E+0004 1.43093881023409E+0004 + 1.43182192463500E+0004 1.43270544345205E+0004 1.43358936680764E+0004 1.43447369482421E+0004 1.43535842762422E+0004 + 1.43624356533012E+0004 1.43712910806441E+0004 1.43801505594959E+0004 1.43890140910818E+0004 1.43978816766272E+0004 + 1.44067533173579E+0004 1.44156290144996E+0004 1.44245087692781E+0004 1.44333925829198E+0004 1.44422804566508E+0004 + 1.44511723916977E+0004 1.44600683892874E+0004 1.44689684506467E+0004 1.44778725770025E+0004 1.44867807695823E+0004 + 1.44956930296133E+0004 1.45046093583233E+0004 1.45135297569402E+0004 1.45224542266917E+0004 1.45313827688062E+0004 + 1.45403153845120E+0004 1.45492520750377E+0004 1.45581928416120E+0004 1.45671376854637E+0004 1.45760866078221E+0004 + 1.45850396099163E+0004 1.45939966929760E+0004 1.46029578582306E+0004 1.46119231069101E+0004 1.46208924402444E+0004 + 1.46298658594638E+0004 1.46388433657986E+0004 1.46478249604795E+0004 1.46568106447372E+0004 1.46658004198025E+0004 + 1.46747942869068E+0004 1.46837922472811E+0004 1.46927943021571E+0004 1.47018004527665E+0004 1.47108107003409E+0004 + 1.47198250461127E+0004 1.47288434913138E+0004 1.47378660371768E+0004 1.47468926849343E+0004 1.47559234358190E+0004 + 1.47649582910639E+0004 1.47739972519021E+0004 1.47830403195670E+0004 1.47920874952921E+0004 1.48011387803110E+0004 + 1.48101941758577E+0004 1.48192536831663E+0004 1.48283173034710E+0004 1.48373850380061E+0004 1.48464568880064E+0004 + 1.48555328547067E+0004 1.48646129393418E+0004 1.48736971431470E+0004 1.48827854673578E+0004 1.48918779132094E+0004 + 1.49009744819379E+0004 1.49100751747788E+0004 1.49191799929685E+0004 1.49282889377432E+0004 1.49374020103393E+0004 + 1.49465192119935E+0004 1.49556405439426E+0004 1.49647660074236E+0004 1.49738956036738E+0004 1.49830293339304E+0004 + 1.49921671994310E+0004 1.50013092014135E+0004 1.50104553411157E+0004 1.50196056197757E+0004 1.50287600386318E+0004 + 1.50379185989225E+0004 1.50470813018866E+0004 1.50562481487628E+0004 1.50654191407901E+0004 1.50745942792078E+0004 + 1.50837735652553E+0004 1.50929570001722E+0004 1.51021445851981E+0004 1.51113363215732E+0004 1.51205322105375E+0004 + 1.51297322533314E+0004 1.51389364511953E+0004 1.51481448053699E+0004 1.51573573170962E+0004 1.51665739876151E+0004 + 1.51757948181680E+0004 1.51850198099961E+0004 1.51942489643412E+0004 1.52034822824451E+0004 1.52127197655497E+0004 + 1.52219614148971E+0004 1.52312072317298E+0004 1.52404572172902E+0004 1.52497113728211E+0004 1.52589696995653E+0004 + 1.52682321987660E+0004 1.52774988716664E+0004 1.52867697195099E+0004 1.52960447435402E+0004 1.53053239450011E+0004 + 1.53146073251366E+0004 1.53238948851909E+0004 1.53331866264083E+0004 1.53424825500335E+0004 1.53517826573111E+0004 + 1.53610869494860E+0004 1.53703954278034E+0004 1.53797080935085E+0004 1.53890249478470E+0004 1.53983459920642E+0004 + 1.54076712274062E+0004 1.54170006551189E+0004 1.54263342764485E+0004 1.54356720926415E+0004 1.54450141049445E+0004 + 1.54543603146041E+0004 1.54637107228673E+0004 1.54730653309813E+0004 1.54824241401933E+0004 1.54917871517508E+0004 + 1.55011543669017E+0004 1.55105257868936E+0004 1.55199014129746E+0004 1.55292812463931E+0004 1.55386652883973E+0004 + 1.55480535402359E+0004 1.55574460031576E+0004 1.55668426784116E+0004 1.55762435672468E+0004 1.55856486709126E+0004 + 1.55950579906586E+0004 1.56044715277344E+0004 1.56138892833900E+0004 1.56233112588753E+0004 1.56327374554408E+0004 + 1.56421678743367E+0004 1.56516025168137E+0004 1.56610413841227E+0004 1.56704844775146E+0004 1.56799317982406E+0004 + 1.56893833475520E+0004 1.56988391267004E+0004 1.57082991369376E+0004 1.57177633795153E+0004 1.57272318556858E+0004 + 1.57367045667014E+0004 1.57461815138143E+0004 1.57556626982774E+0004 1.57651481213434E+0004 1.57746377842653E+0004 + 1.57841316882965E+0004 1.57936298346901E+0004 1.58031322246999E+0004 1.58126388595795E+0004 1.58221497405829E+0004 + 1.58316648689642E+0004 1.58411842459777E+0004 1.58507078728779E+0004 1.58602357509194E+0004 1.58697678813572E+0004 + 1.58793042654462E+0004 1.58888449044417E+0004 1.58983897995991E+0004 1.59079389521739E+0004 1.59174923634220E+0004 + 1.59270500345992E+0004 1.59366119669619E+0004 1.59461781617662E+0004 1.59557486202686E+0004 1.59653233437259E+0004 + 1.59749023333950E+0004 1.59844855905328E+0004 1.59940731163968E+0004 1.60036649122442E+0004 1.60132609793327E+0004 + 1.60228613189201E+0004 1.60324659322643E+0004 1.60420748206237E+0004 1.60516879852563E+0004 1.60613054274209E+0004 + 1.60709271483762E+0004 1.60805531493809E+0004 1.60901834316943E+0004 1.60998179965756E+0004 1.61094568452842E+0004 + 1.61190999790797E+0004 1.61287473992221E+0004 1.61383991069713E+0004 1.61480551035875E+0004 1.61577153903310E+0004 + 1.61673799684625E+0004 1.61770488392426E+0004 1.61867220039323E+0004 1.61963994637927E+0004 1.62060812200851E+0004 + 1.62157672740709E+0004 1.62254576270119E+0004 1.62351522801698E+0004 1.62448512348067E+0004 1.62545544921848E+0004 + 1.62642620535665E+0004 1.62739739202144E+0004 1.62836900933913E+0004 1.62934105743600E+0004 1.63031353643837E+0004 + 1.63128644647258E+0004 1.63225978766498E+0004 1.63323356014192E+0004 1.63420776402981E+0004 1.63518239945504E+0004 + 1.63615746654403E+0004 1.63713296542324E+0004 1.63810889621911E+0004 1.63908525905813E+0004 1.64006205406680E+0004 + 1.64103928137163E+0004 1.64201694109916E+0004 1.64299503337593E+0004 1.64397355832853E+0004 1.64495251608353E+0004 + 1.64593190676754E+0004 1.64691173050719E+0004 1.64789198742914E+0004 1.64887267766003E+0004 1.64985380132654E+0004 + 1.65083535855539E+0004 1.65181734947327E+0004 1.65279977420695E+0004 1.65378263288316E+0004 1.65476592562868E+0004 + 1.65574965257030E+0004 1.65673381383484E+0004 1.65771840954910E+0004 1.65870343983996E+0004 1.65968890483428E+0004 + 1.66067480465893E+0004 1.66166113944081E+0004 1.66264790930685E+0004 1.66363511438399E+0004 1.66462275479917E+0004 + 1.66561083067938E+0004 1.66659934215162E+0004 1.66758828934290E+0004 1.66857767238023E+0004 1.66956749139068E+0004 + 1.67055774650131E+0004 1.67154843783921E+0004 1.67253956553148E+0004 1.67353112970524E+0004 1.67452313048764E+0004 + 1.67551556800583E+0004 1.67650844238699E+0004 1.67750175375832E+0004 1.67849550224704E+0004 1.67948968798036E+0004 + 1.68048431108556E+0004 1.68147937168989E+0004 1.68247486992064E+0004 1.68347080590512E+0004 1.68446717977067E+0004 + 1.68546399164461E+0004 1.68646124165431E+0004 1.68745892992716E+0004 1.68845705659054E+0004 1.68945562177188E+0004 + 1.69045462559861E+0004 1.69145406819819E+0004 1.69245394969809E+0004 1.69345427022579E+0004 1.69445502990882E+0004 + 1.69545622887468E+0004 1.69645786725093E+0004 1.69745994516515E+0004 1.69846246274490E+0004 1.69946542011778E+0004 + 1.70046881741142E+0004 1.70147265475345E+0004 1.70247693227155E+0004 1.70348165009336E+0004 1.70448680834658E+0004 + 1.70549240715894E+0004 1.70649844665816E+0004 1.70750492697198E+0004 1.70851184822818E+0004 1.70951921055454E+0004 + 1.71052701407885E+0004 1.71153525892895E+0004 1.71254394523267E+0004 1.71355307311787E+0004 1.71456264271244E+0004 + 1.71557265414425E+0004 1.71658310754123E+0004 1.71759400303132E+0004 1.71860534074244E+0004 1.71961712080259E+0004 + 1.72062934333974E+0004 1.72164200848191E+0004 1.72265511635711E+0004 1.72366866709338E+0004 1.72468266081879E+0004 + 1.72569709766142E+0004 1.72671197774937E+0004 1.72772730121074E+0004 1.72874306817368E+0004 1.72975927876634E+0004 + 1.73077593311689E+0004 1.73179303135351E+0004 1.73281057360443E+0004 1.73382855999785E+0004 1.73484699066203E+0004 + 1.73586586572523E+0004 1.73688518531573E+0004 1.73790494956184E+0004 1.73892515859186E+0004 1.73994581253415E+0004 + 1.74096691151704E+0004 1.74198845566892E+0004 1.74301044511817E+0004 1.74403287999322E+0004 1.74505576042248E+0004 + 1.74607908653440E+0004 1.74710285845746E+0004 1.74812707632012E+0004 1.74915174025090E+0004 1.75017685037832E+0004 + 1.75120240683090E+0004 1.75222840973723E+0004 1.75325485922586E+0004 1.75428175542539E+0004 1.75530909846443E+0004 + 1.75633688847163E+0004 1.75736512557561E+0004 1.75839380990506E+0004 1.75942294158866E+0004 1.76045252075512E+0004 + 1.76148254753315E+0004 1.76251302205150E+0004 1.76354394443892E+0004 1.76457531482420E+0004 1.76560713333614E+0004 + 1.76663940010354E+0004 1.76767211525525E+0004 1.76870527892011E+0004 1.76973889122698E+0004 1.77077295230477E+0004 + 1.77180746228239E+0004 1.77284242128874E+0004 1.77387782945278E+0004 1.77491368690347E+0004 1.77594999376980E+0004 + 1.77698675018075E+0004 1.77802395626535E+0004 1.77906161215263E+0004 1.78009971797165E+0004 1.78113827385147E+0004 + 1.78217727992120E+0004 1.78321673630994E+0004 1.78425664314681E+0004 1.78529700056097E+0004 1.78633780868157E+0004 + 1.78737906763781E+0004 1.78842077755888E+0004 1.78946293857399E+0004 1.79050555081240E+0004 1.79154861440336E+0004 + 1.79259212947613E+0004 1.79363609616001E+0004 1.79468051458433E+0004 1.79572538487840E+0004 1.79677070717158E+0004 + 1.79781648159323E+0004 1.79886270827273E+0004 1.79990938733949E+0004 1.80095651892294E+0004 1.80200410315251E+0004 + 1.80305214015766E+0004 1.80410063006787E+0004 1.80514957301263E+0004 1.80619896912146E+0004 1.80724881852389E+0004 + 1.80829912134948E+0004 1.80934987772778E+0004 1.81040108778839E+0004 1.81145275166092E+0004 1.81250486947499E+0004 + 1.81355744136024E+0004 1.81461046744633E+0004 1.81566394786294E+0004 1.81671788273977E+0004 1.81777227220654E+0004 + 1.81882711639299E+0004 1.81988241542885E+0004 1.82093816944392E+0004 1.82199437856796E+0004 1.82305104293081E+0004 + 1.82410816266227E+0004 1.82516573789220E+0004 1.82622376875046E+0004 1.82728225536693E+0004 1.82834119787152E+0004 + 1.82940059639414E+0004 1.83046045106472E+0004 1.83152076201322E+0004 1.83258152936963E+0004 1.83364275326393E+0004 + 1.83470443382612E+0004 1.83576657118625E+0004 1.83682916547435E+0004 1.83789221682049E+0004 1.83895572535477E+0004 + 1.84001969120727E+0004 1.84108411450812E+0004 1.84214899538746E+0004 1.84321433397545E+0004 1.84428013040227E+0004 + 1.84534638479811E+0004 1.84641309729317E+0004 1.84748026801771E+0004 1.84854789710195E+0004 1.84961598467618E+0004 + 1.85068453087068E+0004 1.85175353581575E+0004 1.85282299964172E+0004 1.85389292247891E+0004 1.85496330445772E+0004 + 1.85603414570850E+0004 1.85710544636166E+0004 1.85817720654761E+0004 1.85924942639678E+0004 1.86032210603963E+0004 + 1.86139524560662E+0004 1.86246884522825E+0004 1.86354290503502E+0004 1.86461742515746E+0004 1.86569240572612E+0004 + 1.86676784687154E+0004 1.86784374872433E+0004 1.86892011141507E+0004 1.86999693507439E+0004 1.87107421983292E+0004 + 1.87215196582130E+0004 1.87323017317023E+0004 1.87430884201038E+0004 1.87538797247248E+0004 1.87646756468724E+0004 + 1.87754761878542E+0004 1.87862813489776E+0004 1.87970911315508E+0004 1.88079055368816E+0004 1.88187245662781E+0004 + 1.88295482210490E+0004 1.88403765025025E+0004 1.88512094119477E+0004 1.88620469506933E+0004 1.88728891200485E+0004 + 1.88837359213226E+0004 1.88945873558251E+0004 1.89054434248657E+0004 1.89163041297542E+0004 1.89271694718006E+0004 + 1.89380394523152E+0004 1.89489140726085E+0004 1.89597933339909E+0004 1.89706772377733E+0004 1.89815657852665E+0004 + 1.89924589777819E+0004 1.90033568166307E+0004 1.90142593031243E+0004 1.90251664385746E+0004 1.90360782242933E+0004 + 1.90469946615926E+0004 1.90579157517847E+0004 1.90688414961821E+0004 1.90797718960972E+0004 1.90907069528430E+0004 + 1.91016466677325E+0004 1.91125910420787E+0004 1.91235400771952E+0004 1.91344937743952E+0004 1.91454521349927E+0004 + 1.91564151603015E+0004 1.91673828516357E+0004 1.91783552103095E+0004 1.91893322376376E+0004 1.92003139349344E+0004 + 1.92113003035147E+0004 1.92222913446935E+0004 1.92332870597863E+0004 1.92442874501082E+0004 1.92552925169748E+0004 + 1.92663022617019E+0004 1.92773166856053E+0004 1.92883357900013E+0004 1.92993595762060E+0004 1.93103880455360E+0004 + 1.93214211993080E+0004 1.93324590388388E+0004 1.93435015654453E+0004 1.93545487804450E+0004 1.93656006851550E+0004 + 1.93766572808931E+0004 1.93877185689769E+0004 1.93987845507245E+0004 1.94098552274540E+0004 1.94209306004836E+0004 + 1.94320106711320E+0004 1.94430954407176E+0004 1.94541849105596E+0004 1.94652790819768E+0004 1.94763779562886E+0004 + 1.94874815348144E+0004 1.94985898188737E+0004 1.95097028097863E+0004 1.95208205088724E+0004 1.95319429174519E+0004 + 1.95430700368452E+0004 1.95542018683729E+0004 1.95653384133557E+0004 1.95764796731144E+0004 1.95876256489703E+0004 + 1.95987763422443E+0004 1.96099317542581E+0004 1.96210918863334E+0004 1.96322567397917E+0004 1.96434263159554E+0004 + 1.96546006161464E+0004 1.96657796416870E+0004 1.96769633939000E+0004 1.96881518741081E+0004 1.96993450836341E+0004 + 1.97105430238011E+0004 1.97217456959324E+0004 1.97329531013516E+0004 1.97441652413821E+0004 1.97553821173480E+0004 + 1.97666037305732E+0004 1.97778300823818E+0004 1.97890611740985E+0004 1.98002970070477E+0004 1.98115375825540E+0004 + 1.98227829019424E+0004 1.98340329665383E+0004 1.98452877776667E+0004 1.98565473366532E+0004 1.98678116448235E+0004 + 1.98790807035035E+0004 1.98903545140191E+0004 1.99016330776966E+0004 1.99129163958625E+0004 1.99242044698433E+0004 + 1.99354973009658E+0004 1.99467948905570E+0004 1.99580972399439E+0004 1.99694043504541E+0004 1.99807162234149E+0004 + 1.99920328601541E+0004 2.00033542619995E+0004 2.00146804302793E+0004 2.00260113663216E+0004 2.00373470714550E+0004 + 2.00486875470080E+0004 2.00600327943094E+0004 2.00713828146882E+0004 2.00827376094736E+0004 2.00940971799950E+0004 + 2.01054615275819E+0004 2.01168306535640E+0004 2.01282045592712E+0004 2.01395832460336E+0004 2.01509667151816E+0004 + 2.01623549680455E+0004 2.01737480059559E+0004 2.01851458302438E+0004 2.01965484422402E+0004 2.02079558432761E+0004 + 2.02193680346831E+0004 2.02307850177927E+0004 2.02422067939366E+0004 2.02536333644466E+0004 2.02650647306551E+0004 + 2.02765008938943E+0004 2.02879418554966E+0004 2.02993876167948E+0004 2.03108381791215E+0004 2.03222935438101E+0004 + 2.03337537121935E+0004 2.03452186856052E+0004 2.03566884653789E+0004 2.03681630528482E+0004 2.03796424493473E+0004 + 2.03911266562100E+0004 2.04026156747709E+0004 2.04141095063645E+0004 2.04256081523252E+0004 2.04371116139882E+0004 + 2.04486198926884E+0004 2.04601329897612E+0004 2.04716509065417E+0004 2.04831736443659E+0004 2.04947012045692E+0004 + 2.05062335884879E+0004 2.05177707974581E+0004 2.05293128328160E+0004 2.05408596958984E+0004 2.05524113880417E+0004 + 2.05639679105829E+0004 2.05755292648592E+0004 2.05870954522078E+0004 2.05986664739661E+0004 2.06102423314718E+0004 + 2.06218230260627E+0004 2.06334085590767E+0004 2.06449989318522E+0004 2.06565941457273E+0004 2.06681942020408E+0004 + 2.06797991021315E+0004 2.06914088473379E+0004 2.07030234389995E+0004 2.07146428784555E+0004 2.07262671670452E+0004 + 2.07378963061085E+0004 2.07495302969851E+0004 2.07611691410150E+0004 2.07728128395385E+0004 2.07844613938961E+0004 + 2.07961148054280E+0004 2.08077730754753E+0004 2.08194362053789E+0004 2.08311041964799E+0004 2.08427770501196E+0004 + 2.08544547676393E+0004 2.08661373503811E+0004 2.08778247996864E+0004 2.08895171168976E+0004 2.09012143033568E+0004 + 2.09129163604064E+0004 2.09246232893891E+0004 2.09363350916476E+0004 2.09480517685249E+0004 2.09597733213640E+0004 + 2.09714997515085E+0004 2.09832310603019E+0004 2.09949672490876E+0004 2.10067083192098E+0004 2.10184542720124E+0004 + 2.10302051088398E+0004 2.10419608310362E+0004 2.10537214399466E+0004 2.10654869369155E+0004 2.10772573232879E+0004 + 2.10890326004092E+0004 2.11008127696246E+0004 2.11125978322796E+0004 2.11243877897200E+0004 2.11361826432917E+0004 + 2.11479823943409E+0004 2.11597870442136E+0004 2.11715965942566E+0004 2.11834110458164E+0004 2.11952304002397E+0004 + 2.12070546588738E+0004 2.12188838230657E+0004 2.12307178941627E+0004 2.12425568735126E+0004 2.12544007624631E+0004 + 2.12662495623620E+0004 2.12781032745575E+0004 2.12899619003979E+0004 2.13018254412318E+0004 2.13136938984077E+0004 + 2.13255672732744E+0004 2.13374455671812E+0004 2.13493287814772E+0004 2.13612169175117E+0004 2.13731099766344E+0004 + 2.13850079601951E+0004 2.13969108695436E+0004 2.14088187060304E+0004 2.14207314710054E+0004 2.14326491658193E+0004 + 2.14445717918229E+0004 2.14564993503669E+0004 2.14684318428024E+0004 2.14803692704807E+0004 2.14923116347533E+0004 + 2.15042589369717E+0004 2.15162111784877E+0004 2.15281683606532E+0004 2.15401304848206E+0004 2.15520975523421E+0004 + 2.15640695645703E+0004 2.15760465228578E+0004 2.15880284285577E+0004 2.16000152830228E+0004 2.16120070876067E+0004 + 2.16240038436626E+0004 2.16360055525443E+0004 2.16480122156055E+0004 2.16600238342003E+0004 2.16720404096828E+0004 + 2.16840619434075E+0004 2.16960884367288E+0004 2.17081198910017E+0004 2.17201563075808E+0004 2.17321976878213E+0004 + 2.17442440330787E+0004 2.17562953447083E+0004 2.17683516240657E+0004 2.17804128725069E+0004 2.17924790913880E+0004 + 2.18045502820649E+0004 2.18166264458943E+0004 2.18287075842326E+0004 2.18407936984366E+0004 2.18528847898634E+0004 + 2.18649808598699E+0004 2.18770819098137E+0004 2.18891879410520E+0004 2.19012989549426E+0004 2.19134149528435E+0004 + 2.19255359361125E+0004 2.19376619061080E+0004 2.19497928641885E+0004 2.19619288117125E+0004 2.19740697500387E+0004 + 2.19862156805263E+0004 2.19983666045342E+0004 2.20105225234219E+0004 2.20226834385489E+0004 2.20348493512748E+0004 + 2.20470202629598E+0004 2.20591961749637E+0004 2.20713770886467E+0004 2.20835630053694E+0004 2.20957539264925E+0004 + 2.21079498533766E+0004 2.21201507873829E+0004 2.21323567298725E+0004 2.21445676822068E+0004 2.21567836457473E+0004 + 2.21690046218557E+0004 2.21812306118939E+0004 2.21934616172240E+0004 2.22056976392085E+0004 2.22179386792097E+0004 + 2.22301847385902E+0004 2.22424358187130E+0004 2.22546919209408E+0004 2.22669530466372E+0004 2.22792191971654E+0004 + 2.22914903738889E+0004 2.23037665781716E+0004 2.23160478113773E+0004 2.23283340748704E+0004 2.23406253700147E+0004 + 2.23529216981753E+0004 2.23652230607165E+0004 2.23775294590031E+0004 2.23898408944004E+0004 2.24021573682734E+0004 + 2.24144788819878E+0004 2.24268054369090E+0004 2.24391370344026E+0004 2.24514736758348E+0004 2.24638153625718E+0004 + 2.24761620959798E+0004 2.24885138774254E+0004 2.25008707082752E+0004 2.25132325898961E+0004 2.25255995236553E+0004 + 2.25379715109199E+0004 2.25503485530574E+0004 2.25627306514354E+0004 2.25751178074217E+0004 2.25875100223843E+0004 + 2.25999072976914E+0004 2.26123096347113E+0004 2.26247170348126E+0004 2.26371294993639E+0004 2.26495470297343E+0004 + 2.26619696272927E+0004 2.26743972934085E+0004 2.26868300294511E+0004 2.26992678367902E+0004 2.27117107167955E+0004 + 2.27241586708372E+0004 2.27366117002852E+0004 2.27490698065103E+0004 2.27615329908827E+0004 2.27740012547733E+0004 + 2.27864745995530E+0004 2.27989530265930E+0004 2.28114365372644E+0004 2.28239251329389E+0004 2.28364188149881E+0004 + 2.28489175847836E+0004 2.28614214436978E+0004 2.28739303931029E+0004 2.28864444343710E+0004 2.28989635688749E+0004 + 2.29114877979874E+0004 2.29240171230813E+0004 2.29365515455298E+0004 2.29490910667062E+0004 2.29616356879842E+0004 + 2.29741854107373E+0004 2.29867402363393E+0004 2.29993001661645E+0004 2.30118652015869E+0004 2.30244353439811E+0004 + 2.30370105947217E+0004 2.30495909551833E+0004 2.30621764267411E+0004 2.30747670107702E+0004 2.30873627086459E+0004 + 2.30999635217437E+0004 2.31125694514394E+0004 2.31251804991089E+0004 2.31377966661282E+0004 2.31504179538736E+0004 + 2.31630443637215E+0004 2.31756758970487E+0004 2.31883125552319E+0004 2.32009543396481E+0004 2.32136012516744E+0004 + 2.32262532926884E+0004 2.32389104640674E+0004 2.32515727671893E+0004 2.32642402034319E+0004 2.32769127741735E+0004 + 2.32895904807922E+0004 2.33022733246665E+0004 2.33149613071752E+0004 2.33276544296969E+0004 2.33403526936109E+0004 + 2.33530561002962E+0004 2.33657646511323E+0004 2.33784783474986E+0004 2.33911971907751E+0004 2.34039211823416E+0004 + 2.34166503235783E+0004 2.34293846158654E+0004 2.34421240605837E+0004 2.34548686591134E+0004 2.34676184128358E+0004 + 2.34803733231316E+0004 2.34931333913823E+0004 2.35058986189693E+0004 2.35186690072739E+0004 2.35314445576782E+0004 + 2.35442252715642E+0004 2.35570111503137E+0004 2.35698021953093E+0004 2.35825984079335E+0004 2.35953997895691E+0004 + 2.36082063415988E+0004 2.36210180654055E+0004 2.36338349623731E+0004 2.36466570338844E+0004 2.36594842813233E+0004 + 2.36723167060735E+0004 2.36851543095190E+0004 2.36979970930442E+0004 2.37108450580332E+0004 2.37236982058706E+0004 + 2.37365565379412E+0004 2.37494200556299E+0004 2.37622887603217E+0004 2.37751626534020E+0004 2.37880417362562E+0004 + 2.38009260102698E+0004 2.38138154768289E+0004 2.38267101373193E+0004 2.38396099931275E+0004 2.38525150456395E+0004 + 2.38654252962422E+0004 2.38783407463221E+0004 2.38912613972662E+0004 2.39041872504616E+0004 2.39171183072957E+0004 + 2.39300545691561E+0004 2.39429960374301E+0004 2.39559427135058E+0004 2.39688945987713E+0004 2.39818516946147E+0004 + 2.39948140024243E+0004 2.40077815235889E+0004 2.40207542594972E+0004 2.40337322115381E+0004 2.40467153811009E+0004 + 2.40597037695748E+0004 2.40726973783492E+0004 2.40856962088140E+0004 2.40987002623590E+0004 2.41117095403742E+0004 + 2.41247240442501E+0004 2.41377437753767E+0004 2.41507687351450E+0004 2.41637989249456E+0004 2.41768343461695E+0004 + 2.41898750002080E+0004 2.42029208884522E+0004 2.42159720122938E+0004 2.42290283731246E+0004 2.42420899723363E+0004 + 2.42551568113212E+0004 2.42682288914714E+0004 2.42813062141793E+0004 2.42943887808378E+0004 2.43074765928395E+0004 + 2.43205696515773E+0004 2.43336679584448E+0004 2.43467715148350E+0004 2.43598803221416E+0004 2.43729943817584E+0004 + 2.43861136950791E+0004 2.43992382634982E+0004 2.44123680884095E+0004 2.44255031712079E+0004 2.44386435132878E+0004 + 2.44517891160442E+0004 2.44649399808720E+0004 2.44780961091665E+0004 2.44912575023231E+0004 2.45044241617373E+0004 + 2.45175960888050E+0004 2.45307732849220E+0004 2.45439557514846E+0004 2.45571434898888E+0004 2.45703365015315E+0004 + 2.45835347878091E+0004 2.45967383501187E+0004 2.46099471898571E+0004 2.46231613084217E+0004 2.46363807072099E+0004 + 2.46496053876192E+0004 2.46628353510475E+0004 2.46760705988928E+0004 2.46893111325531E+0004 2.47025569534269E+0004 + 2.47158080629127E+0004 2.47290644624090E+0004 2.47423261533150E+0004 2.47555931370296E+0004 2.47688654149520E+0004 + 2.47821429884820E+0004 2.47954258590188E+0004 2.48087140279623E+0004 2.48220074967127E+0004 2.48353062666700E+0004 + 2.48486103392346E+0004 2.48619197158070E+0004 2.48752343977881E+0004 2.48885543865787E+0004 2.49018796835798E+0004 + 2.49152102901929E+0004 2.49285462078193E+0004 2.49418874378607E+0004 2.49552339817191E+0004 2.49685858407961E+0004 + 2.49819430164943E+0004 2.49953055102159E+0004 2.50086733233636E+0004 2.50220464573402E+0004 2.50354249135483E+0004 + 2.50488086933913E+0004 2.50621977982725E+0004 2.50755922295952E+0004 2.50889919887633E+0004 2.51023970771807E+0004 + 2.51158074962511E+0004 2.51292232473789E+0004 2.51426443319688E+0004 2.51560707514250E+0004 2.51695025071524E+0004 + 2.51829396005560E+0004 2.51963820330409E+0004 2.52098298060126E+0004 2.52232829208763E+0004 2.52367413790380E+0004 + 2.52502051819033E+0004 2.52636743308785E+0004 2.52771488273698E+0004 2.52906286727836E+0004 2.53041138685265E+0004 + 2.53176044160053E+0004 2.53311003166271E+0004 2.53446015717988E+0004 2.53581081829281E+0004 2.53716201514224E+0004 + 2.53851374786892E+0004 2.53986601661367E+0004 2.54121882151730E+0004 2.54257216272061E+0004 2.54392604036446E+0004 + 2.54528045458973E+0004 2.54663540553727E+0004 2.54799089334801E+0004 2.54934691816285E+0004 2.55070348012276E+0004 + 2.55206057936865E+0004 2.55341821604153E+0004 2.55477639028237E+0004 2.55613510223220E+0004 2.55749435203203E+0004 + 2.55885413982292E+0004 2.56021446574593E+0004 2.56157532994216E+0004 2.56293673255271E+0004 2.56429867371869E+0004 + 2.56566115358124E+0004 2.56702417228153E+0004 2.56838772996073E+0004 2.56975182676003E+0004 2.57111646282066E+0004 + 2.57248163828383E+0004 2.57384735329080E+0004 2.57521360798284E+0004 2.57658040250126E+0004 2.57794773698732E+0004 + 2.57931561158239E+0004 2.58068402642776E+0004 2.58205298166485E+0004 2.58342247743500E+0004 2.58479251387960E+0004 + 2.58616309114011E+0004 2.58753420935792E+0004 2.58890586867452E+0004 2.59027806923134E+0004 2.59165081116991E+0004 + 2.59302409463171E+0004 2.59439791975828E+0004 2.59577228669116E+0004 2.59714719557191E+0004 2.59852264654212E+0004 + 2.59989863974339E+0004 2.60127517531732E+0004 2.60265225340557E+0004 2.60402987414979E+0004 2.60540803769164E+0004 + 2.60678674417283E+0004 2.60816599373505E+0004 2.60954578652005E+0004 2.61092612266957E+0004 2.61230700232537E+0004 + 2.61368842562923E+0004 2.61507039272296E+0004 2.61645290374839E+0004 2.61783595884734E+0004 2.61921955816168E+0004 + 2.62060370183328E+0004 2.62198839000403E+0004 2.62337362281586E+0004 2.62475940041069E+0004 2.62614572293047E+0004 + 2.62753259051717E+0004 2.62892000331277E+0004 2.63030796145928E+0004 2.63169646509872E+0004 2.63308551437313E+0004 + 2.63447510942458E+0004 2.63586525039513E+0004 2.63725593742690E+0004 2.63864717066199E+0004 2.64003895024254E+0004 + 2.64143127631069E+0004 2.64282414900862E+0004 2.64421756847853E+0004 2.64561153486259E+0004 2.64700604830307E+0004 + 2.64840110894219E+0004 2.64979671692220E+0004 2.65119287238542E+0004 2.65258957547412E+0004 2.65398682633061E+0004 + 2.65538462509725E+0004 2.65678297191637E+0004 2.65818186693037E+0004 2.65958131028161E+0004 2.66098130211253E+0004 + 2.66238184256553E+0004 2.66378293178308E+0004 2.66518456990763E+0004 2.66658675708167E+0004 2.66798949344769E+0004 + 2.66939277914822E+0004 2.67079661432580E+0004 2.67220099912298E+0004 2.67360593368234E+0004 2.67501141814647E+0004 + 2.67641745265798E+0004 2.67782403735951E+0004 2.67923117239369E+0004 2.68063885790321E+0004 2.68204709403074E+0004 + 2.68345588091898E+0004 2.68486521871067E+0004 2.68627510754854E+0004 2.68768554757534E+0004 2.68909653893386E+0004 + 2.69050808176688E+0004 2.69192017621724E+0004 2.69333282242776E+0004 2.69474602054127E+0004 2.69615977070067E+0004 + 2.69757407304885E+0004 2.69898892772868E+0004 2.70040433488311E+0004 2.70182029465509E+0004 2.70323680718756E+0004 + 2.70465387262351E+0004 2.70607149110595E+0004 2.70748966277787E+0004 2.70890838778233E+0004 2.71032766626236E+0004 + 2.71174749836106E+0004 2.71316788422149E+0004 2.71458882398678E+0004 2.71601031780004E+0004 2.71743236580444E+0004 + 2.71885496814312E+0004 2.72027812495927E+0004 2.72170183639609E+0004 2.72312610259680E+0004 2.72455092370464E+0004 + 2.72597629986285E+0004 2.72740223121473E+0004 2.72882871790355E+0004 2.73025576007263E+0004 2.73168335786531E+0004 + 2.73311151142491E+0004 2.73454022089482E+0004 2.73596948641840E+0004 2.73739930813909E+0004 2.73882968620028E+0004 + 2.74026062074542E+0004 2.74169211191796E+0004 2.74312415986140E+0004 2.74455676471921E+0004 2.74598992663491E+0004 + 2.74742364575203E+0004 2.74885792221413E+0004 2.75029275616477E+0004 2.75172814774753E+0004 2.75316409710603E+0004 + 2.75460060438389E+0004 2.75603766972473E+0004 2.75747529327224E+0004 2.75891347517009E+0004 2.76035221556199E+0004 + 2.76179151459160E+0004 2.76323137240272E+0004 2.76467178913908E+0004 2.76611276494443E+0004 2.76755429996258E+0004 + 2.76899639433735E+0004 2.77043904821253E+0004 2.77188226173199E+0004 2.77332603503958E+0004 2.77477036827918E+0004 + 2.77621526159471E+0004 2.77766071513007E+0004 2.77910672902919E+0004 2.78055330343604E+0004 2.78200043849460E+0004 + 2.78344813434884E+0004 2.78489639114277E+0004 2.78634520902044E+0004 2.78779458812588E+0004 2.78924452860315E+0004 + 2.79069503059636E+0004 2.79214609424958E+0004 2.79359771970695E+0004 2.79504990711259E+0004 2.79650265661069E+0004 + 2.79795596834539E+0004 2.79940984246089E+0004 2.80086427910143E+0004 2.80231927841121E+0004 2.80377484053448E+0004 + 2.80523096561554E+0004 2.80668765379863E+0004 2.80814490522809E+0004 2.80960272004823E+0004 2.81106109840340E+0004 + 2.81252004043793E+0004 2.81397954629623E+0004 2.81543961612267E+0004 2.81690025006169E+0004 2.81836144825771E+0004 + 2.81982321085519E+0004 2.82128553799857E+0004 2.82274842983237E+0004 2.82421188650109E+0004 2.82567590814925E+0004 + 2.82714049492140E+0004 2.82860564696209E+0004 2.83007136441591E+0004 2.83153764742745E+0004 2.83300449614134E+0004 + 2.83447191070219E+0004 2.83593989125469E+0004 2.83740843794348E+0004 2.83887755091327E+0004 2.84034723030875E+0004 + 2.84181747627466E+0004 2.84328828895576E+0004 2.84475966849679E+0004 2.84623161504253E+0004 2.84770412873781E+0004 + 2.84917720972741E+0004 2.85065085815621E+0004 2.85212507416903E+0004 2.85359985791077E+0004 2.85507520952630E+0004 + 2.85655112916055E+0004 2.85802761695845E+0004 2.85950467306493E+0004 2.86098229762496E+0004 2.86246049078355E+0004 + 2.86393925268567E+0004 2.86541858347636E+0004 2.86689848330065E+0004 2.86837895230361E+0004 2.86985999063031E+0004 + 2.87134159842585E+0004 2.87282377583534E+0004 2.87430652300390E+0004 2.87578984007671E+0004 2.87727372719891E+0004 + 2.87875818451570E+0004 2.88024321217228E+0004 2.88172881031387E+0004 2.88321497908573E+0004 2.88470171863312E+0004 + 2.88618902910129E+0004 2.88767691063557E+0004 2.88916536338126E+0004 2.89065438748369E+0004 2.89214398308822E+0004 + 2.89363415034023E+0004 2.89512488938509E+0004 2.89661620036822E+0004 2.89810808343505E+0004 2.89960053873102E+0004 + 2.90109356640158E+0004 2.90258716659223E+0004 2.90408133944846E+0004 2.90557608511581E+0004 2.90707140373976E+0004 + 2.90856729546594E+0004 2.91006376043987E+0004 2.91156079880715E+0004 2.91305841071342E+0004 2.91455659630427E+0004 + 2.91605535572537E+0004 2.91755468912238E+0004 2.91905459664098E+0004 2.92055507842688E+0004 2.92205613462579E+0004 + 2.92355776538346E+0004 2.92505997084564E+0004 2.92656275115810E+0004 2.92806610646665E+0004 2.92957003691710E+0004 + 2.93107454265527E+0004 2.93257962382701E+0004 2.93408528057821E+0004 2.93559151305471E+0004 2.93709832140246E+0004 + 2.93860570576737E+0004 2.94011366629538E+0004 2.94162220313243E+0004 2.94313131642453E+0004 2.94464100631765E+0004 + 2.94615127295784E+0004 2.94766211649108E+0004 2.94917353706347E+0004 2.95068553482107E+0004 2.95219810990994E+0004 + 2.95371126247621E+0004 2.95522499266603E+0004 2.95673930062549E+0004 2.95825418650077E+0004 2.95976965043808E+0004 + 2.96128569258359E+0004 2.96280231308353E+0004 2.96431951208412E+0004 2.96583728973164E+0004 2.96735564617233E+0004 + 2.96887458155251E+0004 2.97039409601847E+0004 2.97191418971654E+0004 2.97343486279309E+0004 2.97495611539445E+0004 + 2.97647794766703E+0004 2.97800035975720E+0004 2.97952335181141E+0004 2.98104692397609E+0004 2.98257107639769E+0004 + 2.98409580922269E+0004 2.98562112259758E+0004 2.98714701666887E+0004 2.98867349158309E+0004 2.99020054748680E+0004 + 2.99172818452655E+0004 2.99325640284895E+0004 2.99478520260057E+0004 2.99631458392805E+0004 2.99784454697803E+0004 + 2.99937509189717E+0004 3.00090621883214E+0004 3.00243792792966E+0004 3.00397021933640E+0004 3.00550309319914E+0004 + 3.00703654966457E+0004 3.00857058887953E+0004 3.01010521099077E+0004 3.01164041614509E+0004 3.01317620448933E+0004 + 3.01471257617033E+0004 3.01624953133494E+0004 3.01778707013005E+0004 3.01932519270256E+0004 3.02086389919937E+0004 + 3.02240318976744E+0004 3.02394306455372E+0004 3.02548352370514E+0004 3.02702456736874E+0004 3.02856619569151E+0004 + 3.03010840882047E+0004 3.03165120690267E+0004 3.03319459008519E+0004 3.03473855851507E+0004 3.03628311233947E+0004 + 3.03782825170545E+0004 3.03937397676017E+0004 3.04092028765080E+0004 3.04246718452450E+0004 3.04401466752845E+0004 + 3.04556273680989E+0004 3.04711139251603E+0004 3.04866063479412E+0004 3.05021046379142E+0004 3.05176087965523E+0004 + 3.05331188253284E+0004 3.05486347257157E+0004 3.05641564991878E+0004 3.05796841472179E+0004 3.05952176712801E+0004 + 3.06107570728482E+0004 3.06263023533963E+0004 3.06418535143988E+0004 3.06574105573302E+0004 3.06729734836651E+0004 + 3.06885422948785E+0004 3.07041169924453E+0004 3.07196975778407E+0004 3.07352840525403E+0004 3.07508764180196E+0004 + 3.07664746757544E+0004 3.07820788272207E+0004 3.07976888738946E+0004 3.08133048172525E+0004 3.08289266587708E+0004 + 3.08445543999263E+0004 3.08601880421959E+0004 3.08758275870566E+0004 3.08914730359857E+0004 3.09071243904607E+0004 + 3.09227816519591E+0004 3.09384448219589E+0004 3.09541139019379E+0004 3.09697888933744E+0004 3.09854697977465E+0004 + 3.10011566165332E+0004 3.10168493512128E+0004 3.10325480032645E+0004 3.10482525741673E+0004 3.10639630654003E+0004 + 3.10796794784434E+0004 3.10954018147758E+0004 3.11111300758775E+0004 3.11268642632286E+0004 3.11426043783093E+0004 + 3.11583504225998E+0004 3.11741023975808E+0004 3.11898603047330E+0004 3.12056241455375E+0004 3.12213939214752E+0004 + 3.12371696340275E+0004 3.12529512846760E+0004 3.12687388749021E+0004 3.12845324061879E+0004 3.13003318800153E+0004 + 3.13161372978667E+0004 3.13319486612242E+0004 3.13477659715707E+0004 3.13635892303889E+0004 3.13794184391616E+0004 + 3.13952535993721E+0004 3.14110947125035E+0004 3.14269417800398E+0004 3.14427948034642E+0004 3.14586537842608E+0004 + 3.14745187239136E+0004 3.14903896239069E+0004 3.15062664857252E+0004 3.15221493108529E+0004 3.15380381007752E+0004 + 3.15539328569764E+0004 3.15698335809422E+0004 3.15857402741580E+0004 3.16016529381090E+0004 3.16175715742811E+0004 + 3.16334961841602E+0004 3.16494267692324E+0004 3.16653633309840E+0004 3.16813058709012E+0004 3.16972543904710E+0004 + 3.17132088911801E+0004 3.17291693745154E+0004 3.17451358419640E+0004 3.17611082950137E+0004 3.17770867351515E+0004 + 3.17930711638656E+0004 3.18090615826437E+0004 3.18250579929739E+0004 3.18410603963447E+0004 3.18570687942444E+0004 + 3.18730831881617E+0004 3.18891035795854E+0004 3.19051299700047E+0004 3.19211623609085E+0004 3.19372007537864E+0004 + 3.19532451501281E+0004 3.19692955514233E+0004 3.19853519591618E+0004 3.20014143748337E+0004 3.20174827999295E+0004 + 3.20335572359397E+0004 3.20496376843549E+0004 3.20657241466661E+0004 3.20818166243641E+0004 3.20979151189403E+0004 + 3.21140196318862E+0004 3.21301301646932E+0004 3.21462467188532E+0004 3.21623692958583E+0004 3.21784978972005E+0004 + 3.21946325243721E+0004 3.22107731788657E+0004 3.22269198621741E+0004 3.22430725757901E+0004 3.22592313212067E+0004 + 3.22753960999174E+0004 3.22915669134153E+0004 3.23077437631942E+0004 3.23239266507480E+0004 3.23401155775707E+0004 + 3.23563105451563E+0004 3.23725115549994E+0004 3.23887186085943E+0004 3.24049317074360E+0004 3.24211508530191E+0004 + 3.24373760468389E+0004 3.24536072903907E+0004 3.24698445851699E+0004 3.24860879326722E+0004 3.25023373343933E+0004 + 3.25185927918295E+0004 3.25348543064769E+0004 3.25511218798316E+0004 3.25673955133905E+0004 3.25836752086503E+0004 + 3.25999609671079E+0004 3.26162527902603E+0004 3.26325506796050E+0004 3.26488546366394E+0004 3.26651646628613E+0004 + 3.26814807597683E+0004 3.26978029288586E+0004 3.27141311716305E+0004 3.27304654895823E+0004 3.27468058842128E+0004 + 3.27631523570205E+0004 3.27795049095044E+0004 3.27958635431638E+0004 3.28122282594978E+0004 3.28285990600064E+0004 + 3.28449759461887E+0004 3.28613589195450E+0004 3.28777479815752E+0004 3.28941431337795E+0004 3.29105443776586E+0004 + 3.29269517147127E+0004 3.29433651464429E+0004 3.29597846743501E+0004 3.29762102999356E+0004 3.29926420247006E+0004 + 3.30090798501467E+0004 3.30255237777756E+0004 3.30419738090891E+0004 3.30584299455896E+0004 3.30748921887790E+0004 + 3.30913605401601E+0004 3.31078350012354E+0004 3.31243155735076E+0004 3.31408022584799E+0004 3.31572950576553E+0004 + 3.31737939725374E+0004 3.31902990046296E+0004 3.32068101554358E+0004 3.32233274264597E+0004 3.32398508192057E+0004 + 3.32563803351778E+0004 3.32729159758806E+0004 3.32894577428190E+0004 3.33060056374976E+0004 3.33225596614213E+0004 + 3.33391198160958E+0004 3.33556861030260E+0004 3.33722585237177E+0004 3.33888370796767E+0004 3.34054217724088E+0004 + 3.34220126034204E+0004 3.34386095742176E+0004 3.34552126863071E+0004 3.34718219411952E+0004 3.34884373403894E+0004 + 3.35050588853961E+0004 3.35216865777230E+0004 3.35383204188774E+0004 3.35549604103667E+0004 3.35716065536989E+0004 + 3.35882588503821E+0004 3.36049173019243E+0004 3.36215819098337E+0004 3.36382526756192E+0004 3.36549296007891E+0004 + 3.36716126868526E+0004 3.36883019353186E+0004 3.37049973476965E+0004 3.37216989254957E+0004 3.37384066702258E+0004 + 3.37551205833967E+0004 3.37718406665183E+0004 3.37885669211008E+0004 3.38052993486546E+0004 3.38220379506903E+0004 + 3.38387827287185E+0004 3.38555336842503E+0004 3.38722908187967E+0004 3.38890541338690E+0004 3.39058236309786E+0004 + 3.39225993116373E+0004 3.39393811773570E+0004 3.39561692296494E+0004 3.39729634700270E+0004 3.39897639000021E+0004 + 3.40065705210872E+0004 3.40233833347952E+0004 3.40402023426390E+0004 3.40570275461316E+0004 3.40738589467866E+0004 + 3.40906965461171E+0004 3.41075403456371E+0004 3.41243903468603E+0004 3.41412465513009E+0004 3.41581089604731E+0004 + 3.41749775758912E+0004 3.41918523990698E+0004 3.42087334315238E+0004 3.42256206747681E+0004 3.42425141303178E+0004 + 3.42594137996884E+0004 3.42763196843952E+0004 3.42932317859541E+0004 3.43101501058809E+0004 3.43270746456917E+0004 + 3.43440054069026E+0004 3.43609423910304E+0004 3.43778855995914E+0004 3.43948350341024E+0004 3.44117906960805E+0004 + 3.44287525870430E+0004 3.44457207085072E+0004 3.44626950619904E+0004 3.44796756490106E+0004 3.44966624710856E+0004 + 3.45136555297335E+0004 3.45306548264725E+0004 3.45476603628212E+0004 3.45646721402982E+0004 3.45816901604225E+0004 + 3.45987144247128E+0004 3.46157449346884E+0004 3.46327816918688E+0004 3.46498246977734E+0004 3.46668739539221E+0004 + 3.46839294618348E+0004 3.47009912230317E+0004 3.47180592390329E+0004 3.47351335113590E+0004 3.47522140415306E+0004 + 3.47693008310685E+0004 3.47863938814941E+0004 3.48034931943283E+0004 3.48205987710925E+0004 3.48377106133084E+0004 + 3.48548287224978E+0004 3.48719531001825E+0004 3.48890837478848E+0004 3.49062206671271E+0004 3.49233638594315E+0004 + 3.49405133263212E+0004 3.49576690693188E+0004 3.49748310899474E+0004 3.49919993897303E+0004 3.50091739701908E+0004 + 3.50263548328526E+0004 3.50435419792396E+0004 3.50607354108756E+0004 3.50779351292850E+0004 3.50951411359918E+0004 + 3.51123534325209E+0004 3.51295720203966E+0004 3.51467969011444E+0004 3.51640280762888E+0004 3.51812655473553E+0004 + 3.51985093158695E+0004 3.52157593833568E+0004 3.52330157513431E+0004 3.52502784213545E+0004 3.52675473949171E+0004 + 3.52848226735572E+0004 3.53021042588016E+0004 3.53193921521767E+0004 3.53366863552098E+0004 3.53539868694276E+0004 + 3.53712936963578E+0004 3.53886068375276E+0004 3.54059262944648E+0004 3.54232520686972E+0004 3.54405841617528E+0004 + 3.54579225751598E+0004 3.54752673104466E+0004 3.54926183691421E+0004 3.55099757527745E+0004 3.55273394628729E+0004 + 3.55447095009668E+0004 3.55620858685852E+0004 3.55794685672577E+0004 3.55968575985139E+0004 3.56142529638839E+0004 + 3.56316546648974E+0004 3.56490627030848E+0004 3.56664770799767E+0004 3.56838977971034E+0004 3.57013248559960E+0004 + 3.57187582581851E+0004 3.57361980052022E+0004 3.57536440985784E+0004 3.57710965398453E+0004 3.57885553305348E+0004 + 3.58060204721785E+0004 3.58234919663086E+0004 3.58409698144574E+0004 3.58584540181573E+0004 3.58759445789409E+0004 + 3.58934414983410E+0004 3.59109447778907E+0004 3.59284544191230E+0004 3.59459704235715E+0004 3.59634927927696E+0004 + 3.59810215282511E+0004 3.59985566315497E+0004 3.60160981042000E+0004 3.60336459477358E+0004 3.60512001636915E+0004 + 3.60687607536022E+0004 3.60863277190026E+0004 3.61039010614274E+0004 3.61214807824121E+0004 3.61390668834920E+0004 + 3.61566593662028E+0004 3.61742582320800E+0004 3.61918634826598E+0004 3.62094751194782E+0004 3.62270931440714E+0004 + 3.62447175579761E+0004 3.62623483627289E+0004 3.62799855598666E+0004 3.62976291509263E+0004 3.63152791374451E+0004 + 3.63329355209607E+0004 3.63505983030103E+0004 3.63682674851321E+0004 3.63859430688638E+0004 3.64036250557435E+0004 + 3.64213134473097E+0004 3.64390082451008E+0004 3.64567094506556E+0004 3.64744170655129E+0004 3.64921310912117E+0004 + 3.65098515292915E+0004 3.65275783812914E+0004 3.65453116487513E+0004 3.65630513332109E+0004 3.65807974362102E+0004 + 3.65985499592893E+0004 3.66163089039886E+0004 3.66340742718487E+0004 3.66518460644102E+0004 3.66696242832140E+0004 + 3.66874089298014E+0004 3.67052000057134E+0004 3.67229975124918E+0004 3.67408014516779E+0004 3.67586118248136E+0004 + 3.67764286334410E+0004 3.67942518791023E+0004 3.68120815633399E+0004 3.68299176876962E+0004 3.68477602537140E+0004 + 3.68656092629363E+0004 3.68834647169062E+0004 3.69013266171670E+0004 3.69191949652622E+0004 3.69370697627353E+0004 + 3.69549510111305E+0004 3.69728387119914E+0004 3.69907328668626E+0004 3.70086334772882E+0004 3.70265405448129E+0004 + 3.70444540709815E+0004 3.70623740573390E+0004 3.70803005054304E+0004 3.70982334168012E+0004 3.71161727929967E+0004 + 3.71341186355627E+0004 3.71520709460450E+0004 3.71700297259899E+0004 3.71879949769432E+0004 3.72059667004518E+0004 + 3.72239448980620E+0004 3.72419295713207E+0004 3.72599207217748E+0004 3.72779183509715E+0004 3.72959224604582E+0004 + 3.73139330517824E+0004 3.73319501264919E+0004 3.73499736861343E+0004 3.73680037322580E+0004 3.73860402664111E+0004 + 3.74040832901421E+0004 3.74221328049997E+0004 3.74401888125325E+0004 3.74582513142897E+0004 3.74763203118205E+0004 + 3.74943958066740E+0004 3.75124778004001E+0004 3.75305662945482E+0004 3.75486612906685E+0004 3.75667627903111E+0004 + 3.75848707950261E+0004 3.76029853063640E+0004 3.76211063258756E+0004 3.76392338551115E+0004 3.76573678956230E+0004 + 3.76755084489612E+0004 3.76936555166775E+0004 3.77118091003233E+0004 3.77299692014506E+0004 3.77481358216112E+0004 + 3.77663089623573E+0004 3.77844886252412E+0004 3.78026748118154E+0004 3.78208675236325E+0004 3.78390667622455E+0004 + 3.78572725292073E+0004 3.78754848260712E+0004 3.78937036543907E+0004 3.79119290157193E+0004 3.79301609116108E+0004 + 3.79483993436191E+0004 3.79666443132984E+0004 3.79848958222030E+0004 3.80031538718877E+0004 3.80214184639069E+0004 + 3.80396895998153E+0004 3.80579672811684E+0004 3.80762515095214E+0004 3.80945422864295E+0004 3.81128396134485E+0004 + 3.81311434921341E+0004 3.81494539240422E+0004 3.81677709107293E+0004 3.81860944537515E+0004 3.82044245546655E+0004 + 3.82227612150278E+0004 3.82411044363956E+0004 3.82594542203257E+0004 3.82778105683756E+0004 3.82961734821026E+0004 + 3.83145429630645E+0004 3.83329190128191E+0004 3.83513016329242E+0004 3.83696908249383E+0004 3.83880865904196E+0004 + 3.84064889309268E+0004 3.84248978480184E+0004 3.84433133432536E+0004 3.84617354181914E+0004 3.84801640743911E+0004 + 3.84985993134122E+0004 3.85170411368143E+0004 3.85354895461574E+0004 3.85539445430015E+0004 3.85724061289067E+0004 + 3.85908743054335E+0004 3.86093490741426E+0004 3.86278304365946E+0004 3.86463183943504E+0004 3.86648129489712E+0004 + 3.86833141020185E+0004 3.87018218550537E+0004 3.87203362096385E+0004 3.87388571673345E+0004 3.87573847297043E+0004 + 3.87759188983096E+0004 3.87944596747133E+0004 3.88130070604777E+0004 3.88315610571657E+0004 3.88501216663403E+0004 + 3.88686888895646E+0004 3.88872627284020E+0004 3.89058431844159E+0004 3.89244302591702E+0004 3.89430239542289E+0004 + 3.89616242711558E+0004 3.89802312115151E+0004 3.89988447768717E+0004 3.90174649687899E+0004 3.90360917888345E+0004 + 3.90547252385707E+0004 3.90733653195635E+0004 3.90920120333784E+0004 3.91106653815809E+0004 3.91293253657367E+0004 + 3.91479919874119E+0004 3.91666652481724E+0004 3.91853451495847E+0004 3.92040316932150E+0004 3.92227248806301E+0004 + 3.92414247133969E+0004 3.92601311930825E+0004 3.92788443212538E+0004 3.92975640994785E+0004 3.93162905293239E+0004 + 3.93350236123581E+0004 3.93537633501489E+0004 3.93725097442644E+0004 3.93912627962727E+0004 3.94100225077427E+0004 + 3.94287888802428E+0004 3.94475619153422E+0004 3.94663416146096E+0004 3.94851279796143E+0004 3.95039210119258E+0004 + 3.95227207131138E+0004 3.95415270847479E+0004 3.95603401283980E+0004 3.95791598456345E+0004 3.95979862380276E+0004 + 3.96168193071479E+0004 3.96356590545661E+0004 3.96545054818529E+0004 3.96733585905796E+0004 3.96922183823175E+0004 + 3.97110848586378E+0004 3.97299580211122E+0004 3.97488378713126E+0004 3.97677244108110E+0004 3.97866176411795E+0004 + 3.98055175639906E+0004 3.98244241808165E+0004 3.98433374932304E+0004 3.98622575028050E+0004 3.98811842111131E+0004 + 3.99001176197286E+0004 3.99190577302244E+0004 3.99380045441744E+0004 3.99569580631527E+0004 3.99759182887326E+0004 + 3.99948852224891E+0004 4.00138588659959E+0004 4.00328392208282E+0004 4.00518262885602E+0004 4.00708200707673E+0004 + 4.00898205690243E+0004 4.01088277849066E+0004 4.01278417199897E+0004 4.01468623758492E+0004 4.01658897540612E+0004 + 4.01849238562014E+0004 4.02039646838462E+0004 4.02230122385721E+0004 4.02420665219556E+0004 4.02611275355733E+0004 + 4.02801952810025E+0004 4.02992697598201E+0004 4.03183509736035E+0004 4.03374389239305E+0004 4.03565336123782E+0004 + 4.03756350405249E+0004 4.03947432099484E+0004 4.04138581222274E+0004 4.04329797789399E+0004 4.04521081816646E+0004 + 4.04712433319805E+0004 4.04903852314664E+0004 4.05095338817014E+0004 4.05286892842652E+0004 4.05478514407368E+0004 + 4.05670203526965E+0004 4.05861960217238E+0004 4.06053784493989E+0004 4.06245676373020E+0004 4.06437635870139E+0004 + 4.06629663001149E+0004 4.06821757781857E+0004 4.07013920228077E+0004 4.07206150355621E+0004 4.07398448180297E+0004 + 4.07590813717927E+0004 4.07783246984325E+0004 4.07975747995311E+0004 4.08168316766707E+0004 4.08360953314335E+0004 + 4.08553657654019E+0004 4.08746429801587E+0004 4.08939269772869E+0004 4.09132177583691E+0004 4.09325153249889E+0004 + 4.09518196787296E+0004 4.09711308211746E+0004 4.09904487539079E+0004 4.10097734785134E+0004 4.10291049965752E+0004 + 4.10484433096775E+0004 4.10677884194050E+0004 4.10871403273424E+0004 4.11064990350743E+0004 4.11258645441860E+0004 + 4.11452368562628E+0004 4.11646159728899E+0004 4.11840018956530E+0004 4.12033946261379E+0004 4.12227941659306E+0004 + 4.12422005166172E+0004 4.12616136797839E+0004 4.12810336570176E+0004 4.13004604499048E+0004 4.13198940600324E+0004 + 4.13393344889874E+0004 4.13587817383573E+0004 4.13782358097293E+0004 4.13976967046910E+0004 4.14171644248305E+0004 + 4.14366389717356E+0004 4.14561203469944E+0004 4.14756085521956E+0004 4.14951035889273E+0004 4.15146054587787E+0004 + 4.15341141633383E+0004 4.15536297041956E+0004 4.15731520829393E+0004 4.15926813011596E+0004 4.16122173604457E+0004 + 4.16317602623876E+0004 4.16513100085750E+0004 4.16708666005986E+0004 4.16904300400484E+0004 4.17100003285152E+0004 + 4.17295774675898E+0004 4.17491614588628E+0004 4.17687523039257E+0004 4.17883500043697E+0004 4.18079545617861E+0004 + 4.18275659777668E+0004 4.18471842539037E+0004 4.18668093917886E+0004 4.18864413930139E+0004 4.19060802591721E+0004 + 4.19257259918555E+0004 4.19453785926571E+0004 4.19650380631699E+0004 4.19847044049869E+0004 4.20043776197016E+0004 + 4.20240577089073E+0004 4.20437446741979E+0004 4.20634385171673E+0004 4.20831392394094E+0004 4.21028468425185E+0004 + 4.21225613280890E+0004 4.21422826977157E+0004 4.21620109529933E+0004 4.21817460955168E+0004 4.22014881268812E+0004 + 4.22212370486822E+0004 4.22409928625150E+0004 4.22607555699756E+0004 4.22805251726598E+0004 4.23003016721635E+0004 + 4.23200850700833E+0004 4.23398753680154E+0004 4.23596725675567E+0004 4.23794766703038E+0004 4.23992876778538E+0004 + 4.24191055918041E+0004 4.24389304137515E+0004 4.24587621452943E+0004 4.24786007880297E+0004 4.24984463435558E+0004 + 4.25182988134708E+0004 4.25381581993728E+0004 4.25580245028607E+0004 4.25778977255327E+0004 4.25977778689878E+0004 + 4.26176649348251E+0004 4.26375589246440E+0004 4.26574598400434E+0004 4.26773676826234E+0004 4.26972824539833E+0004 + 4.27172041557236E+0004 4.27371327894439E+0004 4.27570683567452E+0004 4.27770108592272E+0004 4.27969602984909E+0004 + 4.28169166761375E+0004 4.28368799937677E+0004 4.28568502529829E+0004 4.28768274553844E+0004 4.28968116025740E+0004 + 4.29168026961533E+0004 4.29368007377245E+0004 4.29568057288894E+0004 4.29768176712507E+0004 4.29968365664108E+0004 + 4.30168624159724E+0004 4.30368952215385E+0004 4.30569349847120E+0004 4.30769817070963E+0004 4.30970353902949E+0004 + 4.31170960359111E+0004 4.31371636455493E+0004 4.31572382208130E+0004 4.31773197633066E+0004 4.31974082746343E+0004 + 4.32175037564010E+0004 4.32376062102111E+0004 4.32577156376696E+0004 4.32778320403817E+0004 4.32979554199526E+0004 + 4.33180857779880E+0004 4.33382231160933E+0004 4.33583674358742E+0004 4.33785187389370E+0004 4.33986770268881E+0004 + 4.34188423013334E+0004 4.34390145638798E+0004 4.34591938161342E+0004 4.34793800597031E+0004 4.34995732961938E+0004 + 4.35197735272138E+0004 4.35399807543704E+0004 4.35601949792714E+0004 4.35804162035247E+0004 4.36006444287382E+0004 + 4.36208796565201E+0004 4.36411218884790E+0004 4.36613711262234E+0004 4.36816273713623E+0004 4.37018906255043E+0004 + 4.37221608902587E+0004 4.37424381672349E+0004 4.37627224580424E+0004 4.37830137642909E+0004 4.38033120875904E+0004 + 4.38236174295506E+0004 4.38439297917821E+0004 4.38642491758954E+0004 4.38845755835008E+0004 4.39049090162095E+0004 + 4.39252494756321E+0004 4.39455969633801E+0004 4.39659514810644E+0004 4.39863130302971E+0004 4.40066816126897E+0004 + 4.40270572298541E+0004 4.40474398834024E+0004 4.40678295749468E+0004 4.40882263060999E+0004 4.41086300784744E+0004 + 4.41290408936827E+0004 4.41494587533383E+0004 4.41698836590544E+0004 4.41903156124442E+0004 4.42107546151212E+0004 + 4.42312006686992E+0004 4.42516537747923E+0004 4.42721139350143E+0004 4.42925811509800E+0004 4.43130554243034E+0004 + 4.43335367565995E+0004 4.43540251494827E+0004 4.43745206045688E+0004 4.43950231234723E+0004 4.44155327078091E+0004 + 4.44360493591945E+0004 4.44565730792441E+0004 4.44771038695744E+0004 4.44976417318013E+0004 4.45181866675409E+0004 + 4.45387386784101E+0004 4.45592977660252E+0004 4.45798639320034E+0004 4.46004371779617E+0004 4.46210175055171E+0004 + 4.46416049162874E+0004 4.46621994118900E+0004 4.46828009939427E+0004 4.47034096640635E+0004 4.47240254238706E+0004 + 4.47446482749822E+0004 4.47652782190173E+0004 4.47859152575940E+0004 4.48065593923316E+0004 4.48272106248490E+0004 + 4.48478689567657E+0004 4.48685343897009E+0004 4.48892069252743E+0004 4.49098865651059E+0004 4.49305733108156E+0004 + 4.49512671640234E+0004 4.49719681263499E+0004 4.49926761994158E+0004 4.50133913848412E+0004 4.50341136842478E+0004 + 4.50548430992563E+0004 4.50755796314881E+0004 4.50963232825645E+0004 4.51170740541074E+0004 4.51378319477387E+0004 + 4.51585969650800E+0004 4.51793691077540E+0004 4.52001483773829E+0004 4.52209347755892E+0004 4.52417283039958E+0004 + 4.52625289642256E+0004 4.52833367579017E+0004 4.53041516866476E+0004 4.53249737520863E+0004 4.53458029558420E+0004 + 4.53666392995386E+0004 4.53874827847999E+0004 4.54083334132499E+0004 4.54291911865135E+0004 4.54500561062152E+0004 + 4.54709281739799E+0004 4.54918073914319E+0004 4.55126937601973E+0004 4.55335872819008E+0004 4.55544879581680E+0004 + 4.55753957906248E+0004 4.55963107808970E+0004 4.56172329306107E+0004 4.56381622413923E+0004 4.56590987148678E+0004 + 4.56800423526644E+0004 4.57009931564085E+0004 4.57219511277273E+0004 4.57429162682479E+0004 4.57638885795978E+0004 + 4.57848680634042E+0004 4.58058547212952E+0004 4.58268485548984E+0004 4.58478495658423E+0004 4.58688577557550E+0004 + 4.58898731262647E+0004 4.59108956790003E+0004 4.59319254155909E+0004 4.59529623376649E+0004 4.59740064468522E+0004 + 4.59950577447816E+0004 4.60161162330830E+0004 4.60371819133860E+0004 4.60582547873206E+0004 4.60793348565170E+0004 + 4.61004221226054E+0004 4.61215165872165E+0004 4.61426182519806E+0004 4.61637271185287E+0004 4.61848431884920E+0004 + 4.62059664635017E+0004 4.62270969451893E+0004 4.62482346351859E+0004 4.62693795351237E+0004 4.62905316466348E+0004 + 4.63116909713510E+0004 4.63328575109047E+0004 4.63540312669285E+0004 4.63752122410551E+0004 4.63964004349174E+0004 + 4.64175958501485E+0004 4.64387984883816E+0004 4.64600083512500E+0004 4.64812254403875E+0004 4.65024497574279E+0004 + 4.65236813040050E+0004 4.65449200817531E+0004 4.65661660923066E+0004 4.65874193373000E+0004 4.66086798183682E+0004 + 4.66299475371457E+0004 4.66512224952677E+0004 4.66725046943699E+0004 4.66937941360874E+0004 4.67150908220558E+0004 + 4.67363947539111E+0004 4.67577059332891E+0004 4.67790243618260E+0004 4.68003500411586E+0004 4.68216829729232E+0004 + 4.68430231587564E+0004 4.68643706002950E+0004 4.68857252991769E+0004 4.69070872570385E+0004 4.69284564755176E+0004 + 4.69498329562519E+0004 4.69712167008795E+0004 4.69926077110380E+0004 4.70140059883660E+0004 4.70354115345014E+0004 + 4.70568243510834E+0004 4.70782444397502E+0004 4.70996718021412E+0004 4.71211064398953E+0004 4.71425483546519E+0004 + 4.71639975480505E+0004 4.71854540217308E+0004 4.72069177773325E+0004 4.72283888164960E+0004 4.72498671408612E+0004 + 4.72713527520689E+0004 4.72928456517593E+0004 4.73143458415734E+0004 4.73358533231522E+0004 4.73573680981367E+0004 + 4.73788901681685E+0004 4.74004195348890E+0004 4.74219561999398E+0004 4.74435001649631E+0004 4.74650514316006E+0004 + 4.74866100014948E+0004 4.75081758762880E+0004 4.75297490576231E+0004 4.75513295471427E+0004 4.75729173464898E+0004 + 4.75945124573078E+0004 4.76161148812397E+0004 4.76377246199294E+0004 4.76593416750204E+0004 4.76809660481570E+0004 + 4.77025977409827E+0004 4.77242367551421E+0004 4.77458830922799E+0004 4.77675367540404E+0004 4.77891977420684E+0004 + 4.78108660580094E+0004 4.78325417035082E+0004 4.78542246802103E+0004 4.78759149897614E+0004 4.78976126338070E+0004 + 4.79193176139932E+0004 4.79410299319662E+0004 4.79627495893721E+0004 4.79844765878578E+0004 4.80062109290694E+0004 + 4.80279526146542E+0004 4.80497016462591E+0004 4.80714580255314E+0004 4.80932217541183E+0004 4.81149928336678E+0004 + 4.81367712658274E+0004 4.81585570522450E+0004 4.81803501945687E+0004 4.82021506944473E+0004 4.82239585535290E+0004 + 4.82457737734625E+0004 4.82675963558966E+0004 4.82894263024805E+0004 4.83112636148635E+0004 4.83331082946950E+0004 + 4.83549603436247E+0004 4.83768197633021E+0004 4.83986865553776E+0004 4.84205607215011E+0004 4.84424422633230E+0004 + 4.84643311824938E+0004 4.84862274806645E+0004 4.85081311594857E+0004 4.85300422206089E+0004 4.85519606656847E+0004 + 4.85738864963651E+0004 4.85958197143017E+0004 4.86177603211460E+0004 4.86397083185505E+0004 4.86616637081670E+0004 + 4.86836264916481E+0004 4.87055966706462E+0004 4.87275742468144E+0004 4.87495592218052E+0004 4.87715515972719E+0004 + 4.87935513748678E+0004 4.88155585562466E+0004 4.88375731430614E+0004 4.88595951369666E+0004 4.88816245396161E+0004 + 4.89036613526640E+0004 4.89257055777648E+0004 4.89477572165732E+0004 4.89698162707436E+0004 4.89918827419314E+0004 + 4.90139566317914E+0004 4.90360379419794E+0004 4.90581266741501E+0004 4.90802228299599E+0004 4.91023264110647E+0004 + 4.91244374191201E+0004 4.91465558557825E+0004 4.91686817227086E+0004 4.91908150215546E+0004 4.92129557539776E+0004 + 4.92351039216345E+0004 4.92572595261824E+0004 4.92794225692787E+0004 4.93015930525810E+0004 4.93237709777468E+0004 + 4.93459563464344E+0004 4.93681491603017E+0004 4.93903494210065E+0004 4.94125571302080E+0004 4.94347722895644E+0004 + 4.94569949007347E+0004 4.94792249653776E+0004 4.95014624851525E+0004 4.95237074617192E+0004 4.95459598967365E+0004 + 4.95682197918647E+0004 4.95904871487633E+0004 4.96127619690928E+0004 4.96350442545132E+0004 4.96573340066851E+0004 + 4.96796312272693E+0004 4.97019359179264E+0004 4.97242480803175E+0004 4.97465677161036E+0004 4.97688948269467E+0004 + 4.97912294145080E+0004 4.98135714804492E+0004 4.98359210264322E+0004 4.98582780541194E+0004 4.98806425651730E+0004 + 4.99030145612555E+0004 4.99253940440294E+0004 4.99477810151578E+0004 4.99701754763038E+0004 4.99925774291303E+0004 + 5.00149868753011E+0004 5.00374038164797E+0004 5.00598282543296E+0004 5.00822601905152E+0004 5.01046996267004E+0004 + 5.01271465645497E+0004 5.01496010057274E+0004 5.01720629518982E+0004 5.01945324047273E+0004 5.02170093658796E+0004 + 5.02394938370204E+0004 5.02619858198150E+0004 5.02844853159292E+0004 5.03069923270287E+0004 5.03295068547794E+0004 + 5.03520289008480E+0004 5.03745584669003E+0004 5.03970955546028E+0004 5.04196401656227E+0004 5.04421923016266E+0004 + 5.04647519642817E+0004 5.04873191552551E+0004 5.05098938762145E+0004 5.05324761288275E+0004 5.05550659147620E+0004 + 5.05776632356859E+0004 5.06002680932676E+0004 5.06228804891749E+0004 5.06455004250769E+0004 5.06681279026424E+0004 + 5.06907629235403E+0004 5.07134054894394E+0004 5.07360556020093E+0004 5.07587132629193E+0004 5.07813784738393E+0004 + 5.08040512364387E+0004 5.08267315523883E+0004 5.08494194233578E+0004 5.08721148510176E+0004 5.08948178370385E+0004 + 5.09175283830912E+0004 5.09402464908465E+0004 5.09629721619759E+0004 5.09857053981506E+0004 5.10084462010417E+0004 + 5.10311945723215E+0004 5.10539505136614E+0004 5.10767140267339E+0004 5.10994851132110E+0004 5.11222637747651E+0004 + 5.11450500130689E+0004 5.11678438297953E+0004 5.11906452266171E+0004 5.12134542052075E+0004 5.12362707672401E+0004 + 5.12590949143879E+0004 5.12819266483253E+0004 5.13047659707256E+0004 5.13276128832633E+0004 5.13504673876127E+0004 + 5.13733294854476E+0004 5.13961991784435E+0004 5.14190764682748E+0004 5.14419613566165E+0004 5.14648538451439E+0004 + 5.14877539355325E+0004 5.15106616294573E+0004 5.15335769285946E+0004 5.15564998346204E+0004 5.15794303492103E+0004 + 5.16023684740410E+0004 5.16253142107888E+0004 5.16482675611306E+0004 5.16712285267428E+0004 5.16941971093029E+0004 + 5.17171733104879E+0004 5.17401571319752E+0004 5.17631485754424E+0004 5.17861476425672E+0004 5.18091543350278E+0004 + 5.18321686545020E+0004 5.18551906026684E+0004 5.18782201812054E+0004 5.19012573917916E+0004 5.19243022361060E+0004 + 5.19473547158275E+0004 5.19704148326355E+0004 5.19934825882096E+0004 5.20165579842289E+0004 5.20396410223736E+0004 + 5.20627317043234E+0004 5.20858300317586E+0004 5.21089360063599E+0004 5.21320496298072E+0004 5.21551709037817E+0004 + 5.21782998299639E+0004 5.22014364100351E+0004 5.22245806456766E+0004 5.22477325385698E+0004 5.22708920903961E+0004 + 5.22940593028378E+0004 5.23172341775764E+0004 5.23404167162945E+0004 5.23636069206741E+0004 5.23868047923980E+0004 + 5.24100103331489E+0004 5.24332235446098E+0004 5.24564444284636E+0004 5.24796729863936E+0004 5.25029092200834E+0004 + 5.25261531312164E+0004 5.25494047214771E+0004 5.25726639925487E+0004 5.25959309461159E+0004 5.26192055838630E+0004 + 5.26424879074744E+0004 5.26657779186349E+0004 5.26890756190299E+0004 5.27123810103441E+0004 5.27356940942626E+0004 + 5.27590148724715E+0004 5.27823433466558E+0004 5.28056795185020E+0004 5.28290233896958E+0004 5.28523749619235E+0004 + 5.28757342368712E+0004 5.28991012162262E+0004 5.29224759016747E+0004 5.29458582949040E+0004 5.29692483976012E+0004 + 5.29926462114532E+0004 5.30160517381480E+0004 5.30394649793733E+0004 5.30628859368166E+0004 5.30863146121664E+0004 + 5.31097510071106E+0004 5.31331951233379E+0004 5.31566469625370E+0004 5.31801065263962E+0004 5.32035738166050E+0004 + 5.32270488348523E+0004 5.32505315828277E+0004 5.32740220622207E+0004 5.32975202747207E+0004 5.33210262220178E+0004 + 5.33445399058023E+0004 5.33680613277643E+0004 5.33915904895941E+0004 5.34151273929828E+0004 5.34386720396206E+0004 + 5.34622244311993E+0004 5.34857845694092E+0004 5.35093524559424E+0004 5.35329280924901E+0004 5.35565114807441E+0004 + 5.35801026223965E+0004 5.36037015191392E+0004 5.36273081726646E+0004 5.36509225846652E+0004 5.36745447568338E+0004 + 5.36981746908630E+0004 5.37218123884459E+0004 5.37454578512759E+0004 5.37691110810462E+0004 5.37927720794505E+0004 + 5.38164408481824E+0004 5.38401173889360E+0004 5.38638017034055E+0004 5.38874937932852E+0004 5.39111936602695E+0004 + 5.39349013060533E+0004 5.39586167323311E+0004 5.39823399407984E+0004 5.40060709331499E+0004 5.40298097110818E+0004 + 5.40535562762892E+0004 5.40773106304677E+0004 5.41010727753137E+0004 5.41248427125232E+0004 5.41486204437927E+0004 + 5.41724059708184E+0004 5.41961992952971E+0004 5.42200004189264E+0004 5.42438093434023E+0004 5.42676260704226E+0004 + 5.42914506016849E+0004 5.43152829388867E+0004 5.43391230837256E+0004 5.43629710378997E+0004 5.43868268031074E+0004 + 5.44106903810470E+0004 5.44345617734167E+0004 5.44584409819159E+0004 5.44823280082430E+0004 5.45062228540973E+0004 + 5.45301255211780E+0004 5.45540360111846E+0004 5.45779543258169E+0004 5.46018804667746E+0004 5.46258144357577E+0004 + 5.46497562344666E+0004 5.46737058646014E+0004 5.46976633278630E+0004 5.47216286259519E+0004 5.47456017605690E+0004 + 5.47695827334160E+0004 5.47935715461936E+0004 5.48175682006035E+0004 5.48415726983473E+0004 5.48655850411271E+0004 + 5.48896052306448E+0004 5.49136332686025E+0004 5.49376691567028E+0004 5.49617128966483E+0004 5.49857644901416E+0004 + 5.50098239388861E+0004 5.50338912445845E+0004 5.50579664089403E+0004 5.50820494336571E+0004 5.51061403204384E+0004 + 5.51302390709885E+0004 5.51543456870108E+0004 5.51784601702102E+0004 5.52025825222910E+0004 5.52267127449575E+0004 + 5.52508508399149E+0004 5.52749968088680E+0004 5.52991506535220E+0004 5.53233123755822E+0004 5.53474819767544E+0004 + 5.53716594587440E+0004 5.53958448232572E+0004 5.54200380719997E+0004 5.54442392066784E+0004 5.54684482289990E+0004 + 5.54926651406689E+0004 5.55168899433943E+0004 5.55411226388827E+0004 5.55653632288411E+0004 5.55896117149768E+0004 + 5.56138680989975E+0004 5.56381323826112E+0004 5.56624045675251E+0004 5.56866846554480E+0004 5.57109726480879E+0004 + 5.57352685471536E+0004 5.57595723543533E+0004 5.57838840713961E+0004 5.58082036999912E+0004 5.58325312418477E+0004 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 2.25335734612510E+0000 + 2.25209420332874E+0000 2.25083167236899E+0000 2.24956975299087E+0000 2.24830844493953E+0000 2.24704774796018E+0000 + 2.24578766179813E+0000 2.24452818619880E+0000 2.24326932090767E+0000 2.24201106567033E+0000 2.24075342023248E+0000 + 2.23949638433987E+0000 2.23823995773837E+0000 2.23698414017394E+0000 2.23572893139262E+0000 2.23447433114055E+0000 + 2.23322033916397E+0000 2.23196695520918E+0000 2.23071417902260E+0000 2.22946201035074E+0000 2.22821044894020E+0000 + 2.22695949453765E+0000 2.22570914688988E+0000 2.22445940574375E+0000 2.22321027084622E+0000 2.22196174194435E+0000 + 2.22071381878527E+0000 2.21946650111623E+0000 2.21821978868454E+0000 2.21697368123763E+0000 2.21572817852299E+0000 + 2.21448328028823E+0000 2.21323898628103E+0000 2.21199529624917E+0000 2.21075220994053E+0000 2.20950972710307E+0000 + 2.20826784748483E+0000 2.20702657083397E+0000 2.20578589689872E+0000 2.20454582542739E+0000 2.20330635616841E+0000 + 2.20206748887029E+0000 2.20082922328161E+0000 2.19959155915108E+0000 2.19835449622745E+0000 2.19711803425962E+0000 + 2.19588217299653E+0000 2.19464691218724E+0000 2.19341225158088E+0000 2.19217819092669E+0000 2.19094472997399E+0000 + 2.18971186847219E+0000 2.18847960617080E+0000 2.18724794281940E+0000 2.18601687816769E+0000 2.18478641196542E+0000 + 2.18355654396248E+0000 2.18232727390881E+0000 2.18109860155446E+0000 2.17987052664956E+0000 2.17864304894433E+0000 + 2.17741616818910E+0000 2.17618988413426E+0000 2.17496419653032E+0000 2.17373910512786E+0000 2.17251460967755E+0000 + 2.17129070993016E+0000 2.17006740563654E+0000 2.16884469654765E+0000 2.16762258241450E+0000 2.16640106298824E+0000 + 2.16518013802008E+0000 2.16395980726132E+0000 2.16274007046336E+0000 2.16152092737767E+0000 2.16030237775584E+0000 + 2.15908442134953E+0000 2.15786705791049E+0000 2.15665028719057E+0000 2.15543410894170E+0000 2.15421852291590E+0000 + 2.15300352886529E+0000 2.15178912654206E+0000 2.15057531569852E+0000 2.14936209608703E+0000 2.14814946746007E+0000 + 2.14693742957021E+0000 2.14572598217008E+0000 2.14451512501243E+0000 2.14330485785009E+0000 2.14209518043597E+0000 + 2.14088609252309E+0000 2.13967759386453E+0000 2.13846968421348E+0000 2.13726236332322E+0000 2.13605563094711E+0000 + 2.13484948683860E+0000 2.13364393075124E+0000 2.13243896243865E+0000 2.13123458165456E+0000 2.13003078815278E+0000 + 2.12882758168721E+0000 2.12762496201182E+0000 2.12642292888070E+0000 2.12522148204802E+0000 2.12402062126803E+0000 + 2.12282034629506E+0000 2.12162065688356E+0000 2.12042155278804E+0000 2.11922303376312E+0000 2.11802509956348E+0000 + 2.11682774994393E+0000 2.11563098465933E+0000 2.11443480346464E+0000 2.11323920611493E+0000 2.11204419236533E+0000 + 2.11084976197108E+0000 2.10965591468749E+0000 2.10846265026997E+0000 2.10726996847402E+0000 2.10607786905521E+0000 + 2.10488635176923E+0000 2.10369541637184E+0000 2.10250506261888E+0000 2.10131529026630E+0000 2.10012609907011E+0000 + 2.09893748878644E+0000 2.09774945917149E+0000 2.09656200998155E+0000 2.09537514097299E+0000 2.09418885190230E+0000 + 2.09300314252601E+0000 2.09181801260079E+0000 2.09063346188335E+0000 2.08944949013052E+0000 2.08826609709921E+0000 + 2.08708328254642E+0000 2.08590104622923E+0000 2.08471938790481E+0000 2.08353830733042E+0000 2.08235780426341E+0000 + 2.08117787846122E+0000 2.07999852968138E+0000 2.07881975768149E+0000 2.07764156221925E+0000 2.07646394305245E+0000 + 2.07528689993897E+0000 2.07411043263677E+0000 2.07293454090391E+0000 2.07175922449851E+0000 2.07058448317881E+0000 + 2.06941031670312E+0000 2.06823672482984E+0000 2.06706370731746E+0000 2.06589126392456E+0000 2.06471939440980E+0000 + 2.06354809853193E+0000 2.06237737604980E+0000 2.06120722672232E+0000 2.06003765030852E+0000 2.05886864656749E+0000 + 2.05770021525842E+0000 2.05653235614059E+0000 2.05536506897336E+0000 2.05419835351619E+0000 2.05303220952860E+0000 + 2.05186663677023E+0000 2.05070163500078E+0000 2.04953720398007E+0000 2.04837334346796E+0000 2.04721005322444E+0000 + 2.04604733300956E+0000 2.04488518258348E+0000 2.04372360170643E+0000 2.04256259013873E+0000 2.04140214764079E+0000 + 2.04024227397310E+0000 2.03908296889625E+0000 2.03792423217091E+0000 2.03676606355782E+0000 2.03560846281785E+0000 + 2.03445142971191E+0000 2.03329496400101E+0000 2.03213906544628E+0000 2.03098373380889E+0000 2.02982896885012E+0000 + 2.02867477033133E+0000 2.02752113801398E+0000 2.02636807165960E+0000 2.02521557102981E+0000 2.02406363588633E+0000 + 2.02291226599094E+0000 2.02176146110554E+0000 2.02061122099209E+0000 2.01946154541265E+0000 2.01831243412936E+0000 + 2.01716388690444E+0000 2.01601590350022E+0000 2.01486848367909E+0000 2.01372162720354E+0000 2.01257533383615E+0000 + 2.01142960333957E+0000 2.01028443547655E+0000 2.00913983000992E+0000 2.00799578670260E+0000 2.00685230531760E+0000 + 2.00570938561800E+0000 2.00456702736699E+0000 2.00342523032782E+0000 2.00228399426384E+0000 2.00114331893850E+0000 + 2.00000320411530E+0000 1.99886364955786E+0000 1.99772465502987E+0000 1.99658622029511E+0000 1.99544834511744E+0000 + 1.99431102926081E+0000 1.99317427248925E+0000 1.99203807456690E+0000 1.99090243525796E+0000 1.98976735432672E+0000 + 1.98863283153755E+0000 1.98749886665493E+0000 1.98636545944341E+0000 1.98523260966761E+0000 1.98410031709227E+0000 + 1.98296858148218E+0000 1.98183740260225E+0000 1.98070678021744E+0000 1.97957671409283E+0000 1.97844720399356E+0000 + 1.97731824968487E+0000 1.97618985093208E+0000 1.97506200750058E+0000 1.97393471915588E+0000 1.97280798566354E+0000 + 1.97168180678923E+0000 1.97055618229870E+0000 1.96943111195777E+0000 1.96830659553237E+0000 1.96718263278849E+0000 + 1.96605922349223E+0000 1.96493636740975E+0000 1.96381406430731E+0000 1.96269231395126E+0000 1.96157111610802E+0000 + 1.96045047054411E+0000 1.95933037702612E+0000 1.95821083532073E+0000 1.95709184519471E+0000 1.95597340641492E+0000 + 1.95485551874829E+0000 1.95373818196184E+0000 1.95262139582268E+0000 1.95150516009801E+0000 1.95038947455509E+0000 + 1.94927433896130E+0000 1.94815975308407E+0000 1.94704571669093E+0000 1.94593222954951E+0000 1.94481929142749E+0000 + 1.94370690209268E+0000 1.94259506131293E+0000 1.94148376885619E+0000 1.94037302449051E+0000 1.93926282798402E+0000 + 1.93815317910490E+0000 1.93704407762147E+0000 1.93593552330209E+0000 1.93482751591523E+0000 1.93372005522942E+0000 + 1.93261314101330E+0000 1.93150677303559E+0000 1.93040095106507E+0000 1.92929567487063E+0000 1.92819094422124E+0000 + 1.92708675888595E+0000 1.92598311863390E+0000 1.92488002323429E+0000 1.92377747245644E+0000 1.92267546606973E+0000 + 1.92157400384363E+0000 1.92047308554770E+0000 1.91937271095157E+0000 1.91827287982498E+0000 1.91717359193772E+0000 + 1.91607484705969E+0000 1.91497664496086E+0000 1.91387898541129E+0000 1.91278186818113E+0000 1.91168529304059E+0000 + 1.91058925976000E+0000 1.90949376810974E+0000 1.90839881786030E+0000 1.90730440878223E+0000 1.90621054064618E+0000 + 1.90511721322287E+0000 1.90402442628313E+0000 1.90293217959785E+0000 1.90184047293800E+0000 1.90074930607465E+0000 + 1.89965867877895E+0000 1.89856859082213E+0000 1.89747904197550E+0000 1.89639003201045E+0000 1.89530156069848E+0000 + 1.89421362781114E+0000 1.89312623312008E+0000 1.89203937639703E+0000 1.89095305741381E+0000 1.88986727594232E+0000 + 1.88878203175452E+0000 1.88769732462250E+0000 1.88661315431839E+0000 1.88552952061443E+0000 1.88444642328293E+0000 + 1.88336386209628E+0000 1.88228183682697E+0000 1.88120034724756E+0000 1.88011939313070E+0000 1.87903897424911E+0000 + 1.87795909037560E+0000 1.87687974128308E+0000 1.87580092674452E+0000 1.87472264653298E+0000 1.87364490042160E+0000 + 1.87256768818361E+0000 1.87149100959232E+0000 1.87041486442113E+0000 1.86933925244350E+0000 1.86826417343299E+0000 + 1.86718962716326E+0000 1.86611561340801E+0000 1.86504213194106E+0000 1.86396918253629E+0000 1.86289676496768E+0000 + 1.86182487900928E+0000 1.86075352443523E+0000 1.85968270101974E+0000 1.85861240853711E+0000 1.85754264676174E+0000 + 1.85647341546808E+0000 1.85540471443069E+0000 1.85433654342420E+0000 1.85326890222332E+0000 1.85220179060285E+0000 + 1.85113520833766E+0000 1.85006915520272E+0000 1.84900363097308E+0000 1.84793863542384E+0000 1.84687416833024E+0000 + 1.84581022946754E+0000 1.84474681861113E+0000 1.84368393553647E+0000 1.84262158001907E+0000 1.84155975183457E+0000 + 1.84049845075867E+0000 1.83943767656715E+0000 1.83837742903587E+0000 1.83731770794077E+0000 1.83625851305790E+0000 + 1.83519984416336E+0000 1.83414170103333E+0000 1.83308408344410E+0000 1.83202699117202E+0000 1.83097042399353E+0000 + 1.82991438168516E+0000 1.82885886402349E+0000 1.82780387078522E+0000 1.82674940174711E+0000 1.82569545668601E+0000 + 1.82464203537884E+0000 1.82358913760262E+0000 1.82253676313443E+0000 1.82148491175146E+0000 1.82043358323096E+0000 + 1.81938277735026E+0000 1.81833249388678E+0000 1.81728273261802E+0000 1.81623349332157E+0000 1.81518477577508E+0000 + 1.81413657975630E+0000 1.81308890504305E+0000 1.81204175141325E+0000 1.81099511864488E+0000 1.80994900651601E+0000 + 1.80890341480478E+0000 1.80785834328945E+0000 1.80681379174830E+0000 1.80576975995975E+0000 1.80472624770227E+0000 + 1.80368325475440E+0000 1.80264078089480E+0000 1.80159882590218E+0000 1.80055738955535E+0000 1.79951647163317E+0000 + 1.79847607191462E+0000 1.79743619017874E+0000 1.79639682620465E+0000 1.79535797977155E+0000 1.79431965065875E+0000 + 1.79328183864559E+0000 1.79224454351153E+0000 1.79120776503611E+0000 1.79017150299892E+0000 1.78913575717966E+0000 + 1.78810052735809E+0000 1.78706581331409E+0000 1.78603161482756E+0000 1.78499793167854E+0000 1.78396476364711E+0000 + 1.78293211051344E+0000 1.78189997205780E+0000 1.78086834806052E+0000 1.77983723830202E+0000 1.77880664256279E+0000 + 1.77777656062340E+0000 1.77674699226453E+0000 1.77571793726691E+0000 1.77468939541135E+0000 1.77366136647876E+0000 + 1.77263385025012E+0000 1.77160684650648E+0000 1.77058035502899E+0000 1.76955437559886E+0000 1.76852890799741E+0000 + 1.76750395200601E+0000 1.76647950740612E+0000 1.76545557397929E+0000 1.76443215150713E+0000 1.76340923977135E+0000 + 1.76238683855373E+0000 1.76136494763614E+0000 1.76034356680051E+0000 1.75932269582888E+0000 1.75830233450333E+0000 + 1.75728248260606E+0000 1.75626313991933E+0000 1.75524430622547E+0000 1.75422598130692E+0000 1.75320816494618E+0000 + 1.75219085692582E+0000 1.75117405702851E+0000 1.75015776503700E+0000 1.74914198073409E+0000 1.74812670390270E+0000 + 1.74711193432581E+0000 1.74609767178648E+0000 1.74508391606784E+0000 1.74407066695312E+0000 1.74305792422563E+0000 + 1.74204568766873E+0000 1.74103395706588E+0000 1.74002273220064E+0000 1.73901201285661E+0000 1.73800179881749E+0000 + 1.73699208986706E+0000 1.73598288578919E+0000 1.73497418636779E+0000 1.73396599138689E+0000 1.73295830063059E+0000 + 1.73195111388306E+0000 1.73094443092855E+0000 1.72993825155140E+0000 1.72893257553601E+0000 1.72792740266689E+0000 + 1.72692273272860E+0000 1.72591856550579E+0000 1.72491490078319E+0000 1.72391173834561E+0000 1.72290907797794E+0000 + 1.72190691946514E+0000 1.72090526259226E+0000 1.71990410714442E+0000 1.71890345290684E+0000 1.71790329966478E+0000 + 1.71690364720362E+0000 1.71590449530879E+0000 1.71490584376582E+0000 1.71390769236030E+0000 1.71291004087792E+0000 + 1.71191288910442E+0000 1.71091623682564E+0000 1.70992008382750E+0000 1.70892442989599E+0000 1.70792927481718E+0000 + 1.70693461837722E+0000 1.70594046036234E+0000 1.70494680055886E+0000 1.70395363875314E+0000 1.70296097473167E+0000 + 1.70196880828098E+0000 1.70097713918770E+0000 1.69998596723853E+0000 1.69899529222024E+0000 1.69800511391970E+0000 + 1.69701543212383E+0000 1.69602624661966E+0000 1.69503755719428E+0000 1.69404936363487E+0000 1.69306166572866E+0000 + 1.69207446326299E+0000 1.69108775602526E+0000 1.69010154380297E+0000 1.68911582638367E+0000 1.68813060355500E+0000 + 1.68714587510470E+0000 1.68616164082054E+0000 1.68517790049041E+0000 1.68419465390227E+0000 1.68321190084414E+0000 + 1.68222964110413E+0000 1.68124787447044E+0000 1.68026660073134E+0000 1.67928581967516E+0000 1.67830553109032E+0000 + 1.67732573476534E+0000 1.67634643048879E+0000 1.67536761804931E+0000 1.67438929723566E+0000 1.67341146783664E+0000 + 1.67243412964114E+0000 1.67145728243813E+0000 1.67048092601666E+0000 1.66950506016584E+0000 1.66852968467488E+0000 + 1.66755479933307E+0000 1.66658040392974E+0000 1.66560649825435E+0000 1.66463308209640E+0000 1.66366015524548E+0000 + 1.66268771749126E+0000 1.66171576862349E+0000 1.66074430843198E+0000 1.65977333670663E+0000 1.65880285323743E+0000 + 1.65783285781443E+0000 1.65686335022776E+0000 1.65589433026763E+0000 1.65492579772433E+0000 1.65395775238822E+0000 + 1.65299019404974E+0000 1.65202312249942E+0000 1.65105653752785E+0000 1.65009043892570E+0000 1.64912482648372E+0000 + 1.64815969999275E+0000 1.64719505924369E+0000 1.64623090402752E+0000 1.64526723413530E+0000 1.64430404935817E+0000 + 1.64334134948734E+0000 1.64237913431410E+0000 1.64141740362982E+0000 1.64045615722596E+0000 1.63949539489402E+0000 + 1.63853511642560E+0000 1.63757532161240E+0000 1.63661601024615E+0000 1.63565718211868E+0000 1.63469883702192E+0000 + 1.63374097474782E+0000 1.63278359508847E+0000 1.63182669783600E+0000 1.63087028278261E+0000 1.62991434972060E+0000 + 1.62895889844234E+0000 1.62800392874028E+0000 1.62704944040693E+0000 1.62609543323489E+0000 1.62514190701683E+0000 + 1.62418886154551E+0000 1.62323629661376E+0000 1.62228421201447E+0000 1.62133260754064E+0000 1.62038148298530E+0000 + 1.61943083814161E+0000 1.61848067280277E+0000 1.61753098676206E+0000 1.61658177981285E+0000 1.61563305174858E+0000 + 1.61468480236276E+0000 1.61373703144899E+0000 1.61278973880094E+0000 1.61184292421234E+0000 1.61089658747702E+0000 + 1.60995072838887E+0000 1.60900534674188E+0000 1.60806044233008E+0000 1.60711601494761E+0000 1.60617206438867E+0000 + 1.60522859044752E+0000 1.60428559291854E+0000 1.60334307159615E+0000 1.60240102627485E+0000 1.60145945674923E+0000 + 1.60051836281394E+0000 1.59957774426372E+0000 1.59863760089338E+0000 1.59769793249780E+0000 1.59675873887195E+0000 + 1.59582001981086E+0000 1.59488177510965E+0000 1.59394400456351E+0000 1.59300670796770E+0000 1.59206988511757E+0000 + 1.59113353580852E+0000 1.59019765983605E+0000 1.58926225699574E+0000 1.58832732708322E+0000 1.58739286989421E+0000 + 1.58645888522451E+0000 1.58552537286999E+0000 1.58459233262660E+0000 1.58365976429035E+0000 1.58272766765734E+0000 + 1.58179604252376E+0000 1.58086488868584E+0000 1.57993420593991E+0000 1.57900399408236E+0000 1.57807425290968E+0000 + 1.57714498221842E+0000 1.57621618180519E+0000 1.57528785146670E+0000 1.57435999099972E+0000 1.57343260020112E+0000 + 1.57250567886780E+0000 1.57157922679678E+0000 1.57065324378513E+0000 1.56972772963000E+0000 1.56880268412863E+0000 + 1.56787810707831E+0000 1.56695399827641E+0000 1.56603035752041E+0000 1.56510718460781E+0000 1.56418447933623E+0000 + 1.56326224150334E+0000 1.56234047090689E+0000 1.56141916734472E+0000 1.56049833061472E+0000 1.55957796051488E+0000 + 1.55865805684324E+0000 1.55773861939793E+0000 1.55681964797716E+0000 1.55590114237920E+0000 1.55498310240240E+0000 + 1.55406552784520E+0000 1.55314841850608E+0000 1.55223177418364E+0000 1.55131559467651E+0000 1.55039987978343E+0000 + 1.54948462930319E+0000 1.54856984303467E+0000 1.54765552077682E+0000 1.54674166232866E+0000 1.54582826748930E+0000 + 1.54491533605790E+0000 1.54400286783371E+0000 1.54309086261605E+0000 1.54217932020432E+0000 1.54126824039800E+0000 + 1.54035762299662E+0000 1.53944746779981E+0000 1.53853777460726E+0000 1.53762854321874E+0000 1.53671977343409E+0000 + 1.53581146505324E+0000 1.53490361787616E+0000 1.53399623170292E+0000 1.53308930633368E+0000 1.53218284156863E+0000 + 1.53127683720807E+0000 1.53037129305237E+0000 1.52946620890195E+0000 1.52856158455733E+0000 1.52765741981909E+0000 + 1.52675371448789E+0000 1.52585046836447E+0000 1.52494768124962E+0000 1.52404535294424E+0000 1.52314348324928E+0000 + 1.52224207196575E+0000 1.52134111889478E+0000 1.52044062383753E+0000 1.51954058659526E+0000 1.51864100696928E+0000 + 1.51774188476100E+0000 1.51684321977189E+0000 1.51594501180349E+0000 1.51504726065743E+0000 1.51414996613539E+0000 + 1.51325312803914E+0000 1.51235674617053E+0000 1.51146082033146E+0000 1.51056535032393E+0000 1.50967033594999E+0000 + 1.50877577701179E+0000 1.50788167331152E+0000 1.50698802465148E+0000 1.50609483083401E+0000 1.50520209166154E+0000 + 1.50430980693659E+0000 1.50341797646172E+0000 1.50252660003957E+0000 1.50163567747289E+0000 1.50074520856446E+0000 + 1.49985519311714E+0000 1.49896563093389E+0000 1.49807652181772E+0000 1.49718786557172E+0000 1.49629966199904E+0000 + 1.49541191090294E+0000 1.49452461208670E+0000 1.49363776535373E+0000 1.49275137050746E+0000 1.49186542735144E+0000 + 1.49097993568926E+0000 1.49009489532460E+0000 1.48921030606119E+0000 1.48832616770288E+0000 1.48744248005354E+0000 + 1.48655924291714E+0000 1.48567645609773E+0000 1.48479411939941E+0000 1.48391223262638E+0000 1.48303079558289E+0000 + 1.48214980807326E+0000 1.48126926990191E+0000 1.48038918087332E+0000 1.47950954079202E+0000 1.47863034946265E+0000 + 1.47775160668989E+0000 1.47687331227853E+0000 1.47599546603339E+0000 1.47511806775938E+0000 1.47424111726151E+0000 + 1.47336461434482E+0000 1.47248855881444E+0000 1.47161295047559E+0000 1.47073778913353E+0000 1.46986307459361E+0000 + 1.46898880666126E+0000 1.46811498514196E+0000 1.46724160984130E+0000 1.46636868056489E+0000 1.46549619711847E+0000 + 1.46462415930779E+0000 1.46375256693874E+0000 1.46288141981723E+0000 1.46201071774926E+0000 1.46114046054090E+0000 + 1.46027064799831E+0000 1.45940127992769E+0000 1.45853235613535E+0000 1.45766387642763E+0000 1.45679584061098E+0000 + 1.45592824849189E+0000 1.45506109987696E+0000 1.45419439457282E+0000 1.45332813238620E+0000 1.45246231312390E+0000 + 1.45159693659279E+0000 1.45073200259979E+0000 1.44986751095192E+0000 1.44900346145627E+0000 1.44813985391999E+0000 + 1.44727668815030E+0000 1.44641396395451E+0000 1.44555168113998E+0000 1.44468983951415E+0000 1.44382843888454E+0000 + 1.44296747905875E+0000 1.44210695984441E+0000 1.44124688104926E+0000 1.44038724248111E+0000 1.43952804394783E+0000 + 1.43866928525736E+0000 1.43781096621771E+0000 1.43695308663698E+0000 1.43609564632332E+0000 1.43523864508496E+0000 + 1.43438208273022E+0000 1.43352595906745E+0000 1.43267027390512E+0000 1.43181502705173E+0000 1.43096021831587E+0000 + 1.43010584750620E+0000 1.42925191443146E+0000 1.42839841890045E+0000 1.42754536072204E+0000 1.42669273970518E+0000 + 1.42584055565888E+0000 1.42498880839224E+0000 1.42413749771441E+0000 1.42328662343463E+0000 1.42243618536219E+0000 + 1.42158618330647E+0000 1.42073661707692E+0000 1.41988748648305E+0000 1.41903879133444E+0000 1.41819053144077E+0000 + 1.41734270661174E+0000 1.41649531665718E+0000 1.41564836138693E+0000 1.41480184061097E+0000 1.41395575413928E+0000 + 1.41311010178196E+0000 1.41226488334916E+0000 1.41142009865111E+0000 1.41057574749811E+0000 1.40973182970053E+0000 + 1.40888834506880E+0000 1.40804529341343E+0000 1.40720267454501E+0000 1.40636048827419E+0000 1.40551873441169E+0000 + 1.40467741276830E+0000 1.40383652315488E+0000 1.40299606538238E+0000 1.40215603926179E+0000 1.40131644460420E+0000 + 1.40047728122075E+0000 1.39963854892265E+0000 1.39880024752120E+0000 1.39796237682776E+0000 1.39712493665374E+0000 + 1.39628792681066E+0000 1.39545134711008E+0000 1.39461519736365E+0000 1.39377947738307E+0000 1.39294418698013E+0000 + 1.39210932596667E+0000 1.39127489415463E+0000 1.39044089135599E+0000 1.38960731738281E+0000 1.38877417204724E+0000 + 1.38794145516147E+0000 1.38710916653778E+0000 1.38627730598851E+0000 1.38544587332608E+0000 1.38461486836297E+0000 + 1.38378429091174E+0000 1.38295414078501E+0000 1.38212441779548E+0000 1.38129512175591E+0000 1.38046625247914E+0000 + 1.37963780977808E+0000 1.37880979346569E+0000 1.37798220335503E+0000 1.37715503925922E+0000 1.37632830099143E+0000 + 1.37550198836492E+0000 1.37467610119303E+0000 1.37385063928914E+0000 1.37302560246671E+0000 1.37220099053930E+0000 + 1.37137680332049E+0000 1.37055304062398E+0000 1.36972970226349E+0000 1.36890678805285E+0000 1.36808429780593E+0000 + 1.36726223133671E+0000 1.36644058845919E+0000 1.36561936898747E+0000 1.36479857273571E+0000 1.36397819951816E+0000 + 1.36315824914911E+0000 1.36233872144292E+0000 1.36151961621406E+0000 1.36070093327701E+0000 1.35988267244638E+0000 + 1.35906483353680E+0000 1.35824741636300E+0000 1.35743042073976E+0000 1.35661384648195E+0000 1.35579769340450E+0000 + 1.35498196132239E+0000 1.35416665005070E+0000 1.35335175940457E+0000 1.35253728919919E+0000 1.35172323924985E+0000 + 1.35090960937189E+0000 1.35009639938072E+0000 1.34928360909183E+0000 1.34847123832076E+0000 1.34765928688314E+0000 + 1.34684775459466E+0000 1.34603664127108E+0000 1.34522594672823E+0000 1.34441567078200E+0000 1.34360581324836E+0000 + 1.34279637394335E+0000 1.34198735268307E+0000 1.34117874928370E+0000 1.34037056356148E+0000 1.33956279533272E+0000 + 1.33875544441380E+0000 1.33794851062117E+0000 1.33714199377135E+0000 1.33633589368094E+0000 1.33553021016657E+0000 + 1.33472494304499E+0000 1.33392009213298E+0000 1.33311565724741E+0000 1.33231163820521E+0000 1.33150803482338E+0000 + 1.33070484691899E+0000 1.32990207430917E+0000 1.32909971681114E+0000 1.32829777424216E+0000 1.32749624641959E+0000 + 1.32669513316083E+0000 1.32589443428337E+0000 1.32509414960475E+0000 1.32429427894260E+0000 1.32349482211459E+0000 + 1.32269577893849E+0000 1.32189714923212E+0000 1.32109893281338E+0000 1.32030112950021E+0000 1.31950373911065E+0000 + 1.31870676146281E+0000 1.31791019637483E+0000 1.31711404366497E+0000 1.31631830315152E+0000 1.31552297465284E+0000 + 1.31472805798739E+0000 1.31393355297366E+0000 1.31313945943024E+0000 1.31234577717577E+0000 1.31155250602895E+0000 + 1.31075964580857E+0000 1.30996719633348E+0000 1.30917515742260E+0000 1.30838352889490E+0000 1.30759231056944E+0000 + 1.30680150226534E+0000 1.30601110380180E+0000 1.30522111499805E+0000 1.30443153567344E+0000 1.30364236564736E+0000 + 1.30285360473925E+0000 1.30206525276866E+0000 1.30127730955518E+0000 1.30048977491848E+0000 1.29970264867827E+0000 + 1.29891593065438E+0000 1.29812962066665E+0000 1.29734371853504E+0000 1.29655822407953E+0000 1.29577313712021E+0000 + 1.29498845747722E+0000 1.29420418497074E+0000 1.29342031942108E+0000 1.29263686064855E+0000 1.29185380847358E+0000 + 1.29107116271665E+0000 1.29028892319828E+0000 1.28950708973911E+0000 1.28872566215980E+0000 1.28794464028111E+0000 + 1.28716402392385E+0000 1.28638381290890E+0000 1.28560400705721E+0000 1.28482460618980E+0000 1.28404561012776E+0000 + 1.28326701869223E+0000 1.28248883170444E+0000 1.28171104898567E+0000 1.28093367035727E+0000 1.28015669564068E+0000 + 1.27938012465737E+0000 1.27860395722890E+0000 1.27782819317689E+0000 1.27705283232305E+0000 1.27627787448911E+0000 + 1.27550331949692E+0000 1.27472916716835E+0000 1.27395541732538E+0000 1.27318206979001E+0000 1.27240912438436E+0000 + 1.27163658093058E+0000 1.27086443925089E+0000 1.27009269916759E+0000 1.26932136050305E+0000 1.26855042307968E+0000 + 1.26777988672000E+0000 1.26700975124654E+0000 1.26624001648196E+0000 1.26547068224894E+0000 1.26470174837025E+0000 + 1.26393321466871E+0000 1.26316508096722E+0000 1.26239734708875E+0000 1.26163001285632E+0000 1.26086307809304E+0000 + 1.26009654262207E+0000 1.25933040626663E+0000 1.25856466885002E+0000 1.25779933019562E+0000 1.25703439012684E+0000 + 1.25626984846718E+0000 1.25550570504022E+0000 1.25474195966957E+0000 1.25397861217894E+0000 1.25321566239209E+0000 + 1.25245311013285E+0000 1.25169095522511E+0000 1.25092919749285E+0000 1.25016783676007E+0000 1.24940687285090E+0000 + 1.24864630558947E+0000 1.24788613480003E+0000 1.24712636030687E+0000 1.24636698193435E+0000 1.24560799950690E+0000 + 1.24484941284900E+0000 1.24409122178523E+0000 1.24333342614021E+0000 1.24257602573862E+0000 1.24181902040524E+0000 + 1.24106240996487E+0000 1.24030619424243E+0000 1.23955037306285E+0000 1.23879494625118E+0000 1.23803991363248E+0000 + 1.23728527503193E+0000 1.23653103027474E+0000 1.23577717918621E+0000 1.23502372159167E+0000 1.23427065731656E+0000 + 1.23351798618636E+0000 1.23276570802663E+0000 1.23201382266297E+0000 1.23126232992107E+0000 1.23051122962669E+0000 + 1.22976052160563E+0000 1.22901020568379E+0000 1.22826028168710E+0000 1.22751074944157E+0000 1.22676160877330E+0000 + 1.22601285950842E+0000 1.22526450147313E+0000 1.22451653449373E+0000 1.22376895839655E+0000 1.22302177300799E+0000 + 1.22227497815453E+0000 1.22152857366270E+0000 1.22078255935912E+0000 1.22003693507045E+0000 1.21929170062343E+0000 + 1.21854685584485E+0000 1.21780240056159E+0000 1.21705833460057E+0000 1.21631465778879E+0000 1.21557136995332E+0000 + 1.21482847092128E+0000 1.21408596051987E+0000 1.21334383857635E+0000 1.21260210491804E+0000 1.21186075937232E+0000 + 1.21111980176666E+0000 1.21037923192858E+0000 1.20963904968566E+0000 1.20889925486555E+0000 1.20815984729597E+0000 + 1.20742082680470E+0000 1.20668219321958E+0000 1.20594394636853E+0000 1.20520608607953E+0000 1.20446861218062E+0000 + 1.20373152449990E+0000 1.20299482286554E+0000 1.20225850710579E+0000 1.20152257704895E+0000 1.20078703252337E+0000 + 1.20005187335751E+0000 1.19931709937985E+0000 1.19858271041896E+0000 1.19784870630346E+0000 1.19711508686204E+0000 + 1.19638185192347E+0000 1.19564900131656E+0000 1.19491653487021E+0000 1.19418445241336E+0000 1.19345275377503E+0000 + 1.19272143878430E+0000 1.19199050727032E+0000 1.19125995906230E+0000 1.19052979398951E+0000 1.18980001188130E+0000 + 1.18907061256707E+0000 1.18834159587629E+0000 1.18761296163849E+0000 1.18688470968328E+0000 1.18615683984031E+0000 + 1.18542935193932E+0000 1.18470224581010E+0000 1.18397552128250E+0000 1.18324917818645E+0000 1.18252321635193E+0000 + 1.18179763560900E+0000 1.18107243578777E+0000 1.18034761671842E+0000 1.17962317823119E+0000 1.17889912015639E+0000 + 1.17817544232440E+0000 1.17745214456565E+0000 1.17672922671064E+0000 1.17600668858995E+0000 1.17528453003419E+0000 + 1.17456275087407E+0000 1.17384135094035E+0000 1.17312033006384E+0000 1.17239968807543E+0000 1.17167942480608E+0000 + 1.17095954008680E+0000 1.17024003374866E+0000 1.16952090562283E+0000 1.16880215554049E+0000 1.16808378333293E+0000 + 1.16736578883147E+0000 1.16664817186753E+0000 1.16593093227256E+0000 1.16521406987809E+0000 1.16449758451572E+0000 + 1.16378147601710E+0000 1.16306574421394E+0000 1.16235038893804E+0000 1.16163541002124E+0000 1.16092080729546E+0000 + 1.16020658059266E+0000 1.15949272974489E+0000 1.15877925458425E+0000 1.15806615494291E+0000 1.15735343065309E+0000 + 1.15664108154710E+0000 1.15592910745729E+0000 1.15521750821608E+0000 1.15450628365596E+0000 1.15379543360948E+0000 + 1.15308495790925E+0000 1.15237485638794E+0000 1.15166512887830E+0000 1.15095577521313E+0000 1.15024679522530E+0000 + 1.14953818874773E+0000 1.14882995561343E+0000 1.14812209565544E+0000 1.14741460870690E+0000 1.14670749460098E+0000 + 1.14600075317093E+0000 1.14529438425007E+0000 1.14458838767177E+0000 1.14388276326946E+0000 1.14317751087666E+0000 + 1.14247263032691E+0000 1.14176812145386E+0000 1.14106398409120E+0000 1.14036021807267E+0000 1.13965682323210E+0000 + 1.13895379940336E+0000 1.13825114642041E+0000 1.13754886411724E+0000 1.13684695232794E+0000 1.13614541088663E+0000 + 1.13544423962751E+0000 1.13474343838484E+0000 1.13404300699294E+0000 1.13334294528621E+0000 1.13264325309908E+0000 + 1.13194393026608E+0000 1.13124497662177E+0000 1.13054639200080E+0000 1.12984817623786E+0000 1.12915032916772E+0000 + 1.12845285062521E+0000 1.12775574044522E+0000 1.12705899846270E+0000 1.12636262451266E+0000 1.12566661843019E+0000 + 1.12497098005042E+0000 1.12427570920856E+0000 1.12358080573988E+0000 1.12288626947970E+0000 1.12219210026342E+0000 + 1.12149829792649E+0000 1.12080486230443E+0000 1.12011179323283E+0000 1.11941909054732E+0000 1.11872675408360E+0000 + 1.11803478367745E+0000 1.11734317916471E+0000 1.11665194038125E+0000 1.11596106716304E+0000 1.11527055934609E+0000 + 1.11458041676650E+0000 1.11389063926039E+0000 1.11320122666397E+0000 1.11251217881353E+0000 1.11182349554537E+0000 + 1.11113517669590E+0000 1.11044722210158E+0000 1.10975963159892E+0000 1.10907240502449E+0000 1.10838554221495E+0000 + 1.10769904300700E+0000 1.10701290723741E+0000 1.10632713474299E+0000 1.10564172536066E+0000 1.10495667892735E+0000 + 1.10427199528009E+0000 1.10358767425595E+0000 1.10290371569207E+0000 1.10222011942566E+0000 1.10153688529398E+0000 + 1.10085401313435E+0000 1.10017150278417E+0000 1.09948935408089E+0000 1.09880756686202E+0000 1.09812614096512E+0000 + 1.09744507622785E+0000 1.09676437248790E+0000 1.09608402958302E+0000 1.09540404735105E+0000 1.09472442562986E+0000 + 1.09404516425740E+0000 1.09336626307168E+0000 1.09268772191077E+0000 1.09200954061281E+0000 1.09133171901598E+0000 + 1.09065425695854E+0000 1.08997715427881E+0000 1.08930041081516E+0000 1.08862402640604E+0000 1.08794800088995E+0000 + 1.08727233410545E+0000 1.08659702589118E+0000 1.08592207608581E+0000 1.08524748452809E+0000 1.08457325105684E+0000 + 1.08389937551093E+0000 1.08322585772928E+0000 1.08255269755091E+0000 1.08187989481485E+0000 1.08120744936024E+0000 + 1.08053536102625E+0000 1.07986362965212E+0000 1.07919225507716E+0000 1.07852123714072E+0000 1.07785057568224E+0000 + 1.07718027054119E+0000 1.07651032155714E+0000 1.07584072856968E+0000 1.07517149141849E+0000 1.07450260994330E+0000 + 1.07383408398391E+0000 1.07316591338016E+0000 1.07249809797198E+0000 1.07183063759934E+0000 1.07116353210227E+0000 + 1.07049678132089E+0000 1.06983038509534E+0000 1.06916434326586E+0000 1.06849865567271E+0000 1.06783332215626E+0000 + 1.06716834255689E+0000 1.06650371671509E+0000 1.06583944447137E+0000 1.06517552566632E+0000 1.06451196014059E+0000 + 1.06384874773490E+0000 1.06318588829000E+0000 1.06252338164674E+0000 1.06186122764601E+0000 1.06119942612876E+0000 + 1.06053797693601E+0000 1.05987687990882E+0000 1.05921613488834E+0000 1.05855574171577E+0000 1.05789570023236E+0000 + 1.05723601027942E+0000 1.05657667169835E+0000 1.05591768433058E+0000 1.05525904801760E+0000 1.05460076260099E+0000 + 1.05394282792236E+0000 1.05328524382339E+0000 1.05262801014584E+0000 1.05197112673150E+0000 1.05131459342224E+0000 + 1.05065841005998E+0000 1.05000257648671E+0000 1.04934709254448E+0000 1.04869195807538E+0000 1.04803717292160E+0000 + 1.04738273692535E+0000 1.04672864992893E+0000 1.04607491177468E+0000 1.04542152230502E+0000 1.04476848136240E+0000 + 1.04411578878937E+0000 1.04346344442851E+0000 1.04281144812247E+0000 1.04215979971396E+0000 1.04150849904576E+0000 + 1.04085754596069E+0000 1.04020694030165E+0000 1.03955668191159E+0000 1.03890677063352E+0000 1.03825720631051E+0000 + 1.03760798878569E+0000 1.03695911790226E+0000 1.03631059350347E+0000 1.03566241543263E+0000 1.03501458353312E+0000 + 1.03436709764837E+0000 1.03371995762187E+0000 1.03307316329717E+0000 1.03242671451789E+0000 1.03178061112769E+0000 + 1.03113485297032E+0000 1.03048943988957E+0000 1.02984437172929E+0000 1.02919964833338E+0000 1.02855526954583E+0000 + 1.02791123521067E+0000 1.02726754517198E+0000 1.02662419927392E+0000 1.02598119736071E+0000 1.02533853927661E+0000 + 1.02469622486596E+0000 1.02405425397315E+0000 1.02341262644262E+0000 1.02277134211889E+0000 1.02213040084654E+0000 + 1.02148980247018E+0000 1.02084954683451E+0000 1.02020963378428E+0000 1.01957006316429E+0000 1.01893083481943E+0000 + 1.01829194859461E+0000 1.01765340433482E+0000 1.01701520188511E+0000 1.01637734109058E+0000 1.01573982179641E+0000 + 1.01510264384782E+0000 1.01446580709009E+0000 1.01382931136857E+0000 1.01319315652866E+0000 1.01255734241583E+0000 + 1.01192186887560E+0000 1.01128673575354E+0000 1.01065194289531E+0000 1.01001749014660E+0000 1.00938337735318E+0000 + 1.00874960436086E+0000 1.00811617101552E+0000 1.00748307716310E+0000 1.00685032264960E+0000 1.00621790732107E+0000 + 1.00558583102363E+0000 1.00495409360345E+0000 1.00432269490677E+0000 1.00369163477988E+0000 1.00306091306913E+0000 + 1.00243052962094E+0000 1.00180048428176E+0000 1.00117077689815E+0000 1.00054140731667E+0000 9.99912375383982E-0001 + 9.99283680946789E-0001 9.98655323851857E-0001 9.98027303946008E-0001 9.97399621076128E-0001 9.96772275089156E-0001 + 9.96145265832096E-0001 9.95518593152005E-0001 9.94892256896004E-0001 9.94266256911269E-0001 9.93640593045037E-0001 + 9.93015265144602E-0001 9.92390273057320E-0001 9.91765616630601E-0001 9.91141295711919E-0001 9.90517310148802E-0001 + 9.89893659788839E-0001 9.89270344479679E-0001 9.88647364069025E-0001 9.88024718404645E-0001 9.87402407334361E-0001 + 9.86780430706055E-0001 9.86158788367668E-0001 9.85537480167197E-0001 9.84916505952702E-0001 9.84295865572298E-0001 + 9.83675558874159E-0001 9.83055585706520E-0001 9.82435945917671E-0001 9.81816639355962E-0001 9.81197665869803E-0001 + 9.80579025307659E-0001 9.79960717518055E-0001 9.79342742349576E-0001 9.78725099650864E-0001 9.78107789270618E-0001 + 9.77490811057597E-0001 9.76874164860618E-0001 9.76257850528556E-0001 9.75641867910345E-0001 9.75026216854975E-0001 + 9.74410897211497E-0001 9.73795908829019E-0001 9.73181251556706E-0001 9.72566925243784E-0001 9.71952929739534E-0001 + 9.71339264893297E-0001 9.70725930554471E-0001 9.70112926572514E-0001 9.69500252796941E-0001 9.68887909077323E-0001 + 9.68275895263291E-0001 9.67664211204535E-0001 9.67052856750801E-0001 9.66441831751895E-0001 9.65831136057678E-0001 + 9.65220769518070E-0001 9.64610731983052E-0001 9.64001023302659E-0001 9.63391643326985E-0001 9.62782591906183E-0001 + 9.62173868890461E-0001 9.61565474130089E-0001 9.60957407475391E-0001 9.60349668776751E-0001 9.59742257884610E-0001 + 9.59135174649466E-0001 9.58528418921875E-0001 9.57921990552453E-0001 9.57315889391871E-0001 9.56710115290858E-0001 + 9.56104668100201E-0001 9.55499547670745E-0001 9.54894753853392E-0001 9.54290286499102E-0001 9.53686145458893E-0001 + 9.53082330583840E-0001 9.52478841725074E-0001 9.51875678733786E-0001 9.51272841461223E-0001 9.50670329758691E-0001 + 9.50068143477552E-0001 9.49466282469224E-0001 9.48864746585186E-0001 9.48263535676972E-0001 9.47662649596174E-0001 + 9.47062088194441E-0001 9.46461851323480E-0001 9.45861938835054E-0001 9.45262350580985E-0001 9.44663086413151E-0001 + 9.44064146183489E-0001 9.43465529743990E-0001 9.42867236946705E-0001 9.42269267643741E-0001 9.41671621687263E-0001 + 9.41074298929493E-0001 9.40477299222708E-0001 9.39880622419246E-0001 9.39284268371499E-0001 9.38688236931917E-0001 + 9.38092527953008E-0001 9.37497141287334E-0001 9.36902076787519E-0001 9.36307334306239E-0001 9.35712913696231E-0001 + 9.35118814810286E-0001 9.34525037501252E-0001 9.33931581622038E-0001 9.33338447025605E-0001 9.32745633564973E-0001 + 9.32153141093218E-0001 9.31560969463475E-0001 9.30969118528933E-0001 9.30377588142841E-0001 9.29786378158501E-0001 + 9.29195488429275E-0001 9.28604918808580E-0001 9.28014669149890E-0001 9.27424739306736E-0001 9.26835129132707E-0001 + 9.26245838481446E-0001 9.25656867206653E-0001 9.25068215162089E-0001 9.24479882201565E-0001 9.23891868178953E-0001 + 9.23304172948182E-0001 9.22716796363233E-0001 9.22129738278149E-0001 9.21542998547026E-0001 9.20956577024017E-0001 + 9.20370473563334E-0001 9.19784688019243E-0001 9.19199220246066E-0001 9.18614070098184E-0001 9.18029237430031E-0001 + 9.17444722096101E-0001 9.16860523950942E-0001 9.16276642849159E-0001 9.15693078645413E-0001 9.15109831194422E-0001 + 9.14526900350961E-0001 9.13944285969859E-0001 9.13361987906003E-0001 9.12780006014335E-0001 9.12198340149856E-0001 + 9.11616990167619E-0001 9.11035955922737E-0001 9.10455237270377E-0001 9.09874834065763E-0001 9.09294746164174E-0001 + 9.08714973420947E-0001 9.08135515691475E-0001 9.07556372831204E-0001 9.06977544695640E-0001 9.06399031140341E-0001 + 9.05820832020926E-0001 9.05242947193067E-0001 9.04665376512490E-0001 9.04088119834982E-0001 9.03511177016382E-0001 + 9.02934547912586E-0001 9.02358232379547E-0001 9.01782230273271E-0001 9.01206541449824E-0001 9.00631165765324E-0001 + 9.00056103075948E-0001 8.99481353237927E-0001 8.98906916107547E-0001 8.98332791541152E-0001 8.97758979395140E-0001 + 8.97185479525967E-0001 8.96612291790141E-0001 8.96039416044229E-0001 8.95466852144853E-0001 8.94894599948689E-0001 + 8.94322659312471E-0001 8.93751030092987E-0001 8.93179712147081E-0001 8.92608705331653E-0001 8.92038009503658E-0001 + 8.91467624520108E-0001 8.90897550238067E-0001 8.90327786514659E-0001 8.89758333207061E-0001 8.89189190172505E-0001 + 8.88620357268280E-0001 8.88051834351731E-0001 8.87483621280255E-0001 8.86915717911308E-0001 8.86348124102400E-0001 + 8.85780839711095E-0001 8.85213864595016E-0001 8.84647198611838E-0001 8.84080841619293E-0001 8.83514793475167E-0001 + 8.82949054037302E-0001 8.82383623163595E-0001 8.81818500712000E-0001 8.81253686540523E-0001 8.80689180507228E-0001 + 8.80124982470232E-0001 8.79561092287710E-0001 8.78997509817889E-0001 8.78434234919053E-0001 8.77871267449542E-0001 + 8.77308607267747E-0001 8.76746254232120E-0001 8.76184208201163E-0001 8.75622469033435E-0001 8.75061036587551E-0001 + 8.74499910722179E-0001 8.73939091296043E-0001 8.73378578167923E-0001 8.72818371196652E-0001 8.72258470241119E-0001 + 8.71698875160268E-0001 8.71139585813098E-0001 8.70580602058662E-0001 8.70021923756067E-0001 8.69463550764479E-0001 + 8.68905482943115E-0001 8.68347720151246E-0001 8.67790262248202E-0001 8.67233109093364E-0001 8.66676260546171E-0001 + 8.66119716466112E-0001 8.65563476712736E-0001 8.65007541145643E-0001 8.64451909624489E-0001 8.63896582008985E-0001 + 8.63341558158897E-0001 8.62786837934043E-0001 8.62232421194299E-0001 8.61678307799593E-0001 8.61124497609910E-0001 + 8.60570990485287E-0001 8.60017786285816E-0001 8.59464884871646E-0001 8.58912286102978E-0001 8.58359989840067E-0001 + 8.57807995943226E-0001 8.57256304272818E-0001 8.56704914689263E-0001 8.56153827053035E-0001 8.55603041224662E-0001 + 8.55052557064728E-0001 8.54502374433868E-0001 8.53952493192774E-0001 8.53402913202192E-0001 8.52853634322922E-0001 + 8.52304656415817E-0001 8.51755979341786E-0001 8.51207602961793E-0001 8.50659527136854E-0001 8.50111751728039E-0001 + 8.49564276596474E-0001 8.49017101603339E-0001 8.48470226609867E-0001 8.47923651477346E-0001 8.47377376067117E-0001 + 8.46831400240577E-0001 8.46285723859176E-0001 8.45740346784417E-0001 8.45195268877859E-0001 8.44650490001113E-0001 + 8.44106010015847E-0001 8.43561828783779E-0001 8.43017946166684E-0001 8.42474362026390E-0001 8.41931076224779E-0001 + 8.41388088623787E-0001 8.40845399085403E-0001 8.40303007471671E-0001 8.39760913644689E-0001 8.39219117466607E-0001 + 8.38677618799632E-0001 8.38136417506021E-0001 8.37595513448088E-0001 8.37054906488199E-0001 8.36514596488774E-0001 + 8.35974583312287E-0001 8.35434866821266E-0001 8.34895446878293E-0001 8.34356323346002E-0001 8.33817496087081E-0001 + 8.33278964964274E-0001 8.32740729840377E-0001 8.32202790578238E-0001 8.31665147040761E-0001 8.31127799090903E-0001 + 8.30590746591674E-0001 8.30053989406138E-0001 8.29517527397412E-0001 8.28981360428667E-0001 8.28445488363127E-0001 + 8.27909911064071E-0001 8.27374628394828E-0001 8.26839640218785E-0001 8.26304946399378E-0001 8.25770546800100E-0001 + 8.25236441284495E-0001 8.24702629716162E-0001 8.24169111958751E-0001 8.23635887875968E-0001 8.23102957331571E-0001 + 8.22570320189370E-0001 8.22037976313232E-0001 8.21505925567073E-0001 8.20974167814866E-0001 8.20442702920634E-0001 + 8.19911530748454E-0001 8.19380651162458E-0001 8.18850064026829E-0001 8.18319769205805E-0001 8.17789766563675E-0001 + 8.17260055964783E-0001 8.16730637273525E-0001 8.16201510354351E-0001 8.15672675071762E-0001 8.15144131290316E-0001 + 8.14615878874619E-0001 8.14087917689333E-0001 8.13560247599173E-0001 8.13032868468907E-0001 8.12505780163354E-0001 + 8.11978982547388E-0001 8.11452475485936E-0001 8.10926258843976E-0001 8.10400332486541E-0001 8.09874696278714E-0001 + 8.09349350085634E-0001 8.08824293772492E-0001 8.08299527204531E-0001 8.07775050247046E-0001 8.07250862765387E-0001 + 8.06726964624955E-0001 8.06203355691204E-0001 8.05680035829642E-0001 8.05157004905828E-0001 8.04634262785375E-0001 + 8.04111809333948E-0001 8.03589644417264E-0001 8.03067767901094E-0001 8.02546179651261E-0001 8.02024879533640E-0001 + 8.01503867414159E-0001 8.00983143158800E-0001 8.00462706633595E-0001 7.99942557704630E-0001 7.99422696238043E-0001 + 7.98903122100025E-0001 7.98383835156819E-0001 7.97864835274721E-0001 7.97346122320079E-0001 7.96827696159294E-0001 + 7.96309556658817E-0001 7.95791703685154E-0001 7.95274137104864E-0001 7.94756856784556E-0001 7.94239862590892E-0001 + 7.93723154390586E-0001 7.93206732050407E-0001 7.92690595437172E-0001 7.92174744417753E-0001 7.91659178859075E-0001 + 7.91143898628112E-0001 7.90628903591893E-0001 7.90114193617497E-0001 7.89599768572058E-0001 7.89085628322761E-0001 + 7.88571772736841E-0001 7.88058201681587E-0001 7.87544915024341E-0001 7.87031912632495E-0001 7.86519194373494E-0001 + 7.86006760114836E-0001 7.85494609724070E-0001 7.84982743068797E-0001 7.84471160016669E-0001 7.83959860435392E-0001 + 7.83448844192724E-0001 7.82938111156472E-0001 7.82427661194499E-0001 7.81917494174716E-0001 7.81407609965088E-0001 + 7.80898008433633E-0001 7.80388689448418E-0001 7.79879652877564E-0001 7.79370898589243E-0001 7.78862426451679E-0001 + 7.78354236333147E-0001 7.77846328101974E-0001 7.77338701626541E-0001 7.76831356775278E-0001 7.76324293416667E-0001 + 7.75817511419244E-0001 7.75311010651592E-0001 7.74804790982352E-0001 7.74298852280212E-0001 7.73793194413912E-0001 + 7.73287817252245E-0001 7.72782720664056E-0001 7.72277904518240E-0001 7.71773368683745E-0001 7.71269113029568E-0001 + 7.70765137424761E-0001 7.70261441738426E-0001 7.69758025839715E-0001 7.69254889597834E-0001 7.68752032882038E-0001 + 7.68249455561636E-0001 7.67747157505986E-0001 7.67245138584499E-0001 7.66743398666637E-0001 7.66241937621912E-0001 + 7.65740755319891E-0001 7.65239851630188E-0001 7.64739226422471E-0001 7.64238879566459E-0001 7.63738810931920E-0001 + 7.63239020388677E-0001 7.62739507806601E-0001 7.62240273055616E-0001 7.61741316005698E-0001 7.61242636526871E-0001 + 7.60744234489213E-0001 7.60246109762852E-0001 7.59748262217968E-0001 7.59250691724791E-0001 7.58753398153603E-0001 + 7.58256381374736E-0001 7.57759641258576E-0001 7.57263177675555E-0001 7.56766990496161E-0001 7.56271079590929E-0001 + 7.55775444830449E-0001 7.55280086085359E-0001 7.54785003226349E-0001 7.54290196124160E-0001 7.53795664649583E-0001 + 7.53301408673462E-0001 7.52807428066690E-0001 7.52313722700211E-0001 7.51820292445020E-0001 7.51327137172165E-0001 + 7.50834256752742E-0001 7.50341651057899E-0001 7.49849319958834E-0001 7.49357263326797E-0001 7.48865481033088E-0001 + 7.48373972949058E-0001 7.47882738946109E-0001 7.47391778895693E-0001 7.46901092669314E-0001 7.46410680138524E-0001 + 7.45920541174929E-0001 7.45430675650183E-0001 7.44941083435992E-0001 7.44451764404113E-0001 7.43962718426353E-0001 + 7.43473945374568E-0001 7.42985445120667E-0001 7.42497217536608E-0001 7.42009262494401E-0001 7.41521579866105E-0001 + 7.41034169523830E-0001 7.40547031339737E-0001 7.40060165186037E-0001 7.39573570934991E-0001 7.39087248458911E-0001 + 7.38601197630159E-0001 7.38115418321149E-0001 7.37629910404343E-0001 7.37144673752255E-0001 7.36659708237447E-0001 + 7.36175013732535E-0001 7.35690590110183E-0001 7.35206437243106E-0001 7.34722555004067E-0001 7.34238943265884E-0001 + 7.33755601901419E-0001 7.33272530783591E-0001 7.32789729785364E-0001 7.32307198779754E-0001 7.31824937639828E-0001 + 7.31342946238702E-0001 7.30861224449542E-0001 7.30379772145565E-0001 7.29898589200038E-0001 7.29417675486277E-0001 + 7.28937030877649E-0001 7.28456655247571E-0001 7.27976548469511E-0001 7.27496710416984E-0001 7.27017140963558E-0001 + 7.26537839982850E-0001 7.26058807348527E-0001 7.25580042934305E-0001 7.25101546613951E-0001 7.24623318261282E-0001 + 7.24145357750165E-0001 7.23667664954516E-0001 7.23190239748300E-0001 7.22713082005535E-0001 7.22236191600287E-0001 + 7.21759568406671E-0001 7.21283212298852E-0001 7.20807123151047E-0001 7.20331300837519E-0001 7.19855745232585E-0001 + 7.19380456210609E-0001 7.18905433646005E-0001 7.18430677413237E-0001 7.17956187386818E-0001 7.17481963441313E-0001 + 7.17008005451334E-0001 7.16534313291544E-0001 7.16060886836655E-0001 7.15587725961428E-0001 7.15114830540676E-0001 + 7.14642200449259E-0001 7.14169835562088E-0001 7.13697735754123E-0001 7.13225900900373E-0001 7.12754330875897E-0001 + 7.12283025555805E-0001 7.11811984815253E-0001 7.11341208529450E-0001 7.10870696573652E-0001 7.10400448823165E-0001 + 7.09930465153346E-0001 7.09460745439599E-0001 7.08991289557378E-0001 7.08522097382188E-0001 7.08053168789582E-0001 + 7.07584503655161E-0001 7.07116101854577E-0001 7.06647963263532E-0001 7.06180087757776E-0001 7.05712475213108E-0001 + 7.05245125505377E-0001 7.04778038510480E-0001 7.04311214104365E-0001 7.03844652163028E-0001 7.03378352562515E-0001 + 7.02912315178920E-0001 7.02446539888386E-0001 7.01981026567106E-0001 7.01515775091324E-0001 7.01050785337329E-0001 + 7.00586057181461E-0001 7.00121590500109E-0001 6.99657385169713E-0001 6.99193441066758E-0001 6.98729758067780E-0001 + 6.98266336049366E-0001 6.97803174888149E-0001 6.97340274460811E-0001 6.96877634644086E-0001 6.96415255314753E-0001 + 6.95953136349643E-0001 6.95491277625634E-0001 6.95029679019653E-0001 6.94568340408677E-0001 6.94107261669731E-0001 + 6.93646442679889E-0001 6.93185883316274E-0001 6.92725583456057E-0001 6.92265542976458E-0001 6.91805761754747E-0001 + 6.91346239668241E-0001 6.90886976594307E-0001 6.90427972410360E-0001 6.89969226993863E-0001 6.89510740222330E-0001 + 6.89052511973321E-0001 6.88594542124446E-0001 6.88136830553364E-0001 6.87679377137782E-0001 6.87222181755454E-0001 + 6.86765244284187E-0001 6.86308564601831E-0001 6.85852142586288E-0001 6.85395978115508E-0001 6.84940071067490E-0001 + 6.84484421320280E-0001 6.84029028751972E-0001 6.83573893240712E-0001 6.83119014664690E-0001 6.82664392902148E-0001 + 6.82210027831374E-0001 6.81755919330705E-0001 6.81302067278527E-0001 6.80848471553274E-0001 6.80395132033429E-0001 + 6.79942048597522E-0001 6.79489221124132E-0001 6.79036649491885E-0001 6.78584333579459E-0001 6.78132273265576E-0001 + 6.77680468429009E-0001 6.77228918948577E-0001 6.76777624703149E-0001 6.76326585571641E-0001 6.75875801433019E-0001 + 6.75425272166295E-0001 6.74974997650531E-0001 6.74524977764835E-0001 6.74075212388364E-0001 6.73625701400325E-0001 + 6.73176444679970E-0001 6.72727442106602E-0001 6.72278693559569E-0001 6.71830198918269E-0001 6.71381958062148E-0001 + 6.70933970870699E-0001 6.70486237223463E-0001 6.70038757000032E-0001 6.69591530080041E-0001 6.69144556343176E-0001 + 6.68697835669170E-0001 6.68251367937804E-0001 6.67805153028909E-0001 6.67359190822359E-0001 6.66913481198081E-0001 + 6.66468024036046E-0001 6.66022819216276E-0001 6.65577866618838E-0001 6.65133166123848E-0001 6.64688717611470E-0001 + 6.64244520961916E-0001 6.63800576055444E-0001 6.63356882772362E-0001 6.62913440993024E-0001 6.62470250597832E-0001 + 6.62027311467237E-0001 6.61584623481736E-0001 6.61142186521874E-0001 6.60700000468244E-0001 6.60258065201487E-0001 + 6.59816380602290E-0001 6.59374946551390E-0001 6.58933762929569E-0001 6.58492829617658E-0001 6.58052146496536E-0001 + 6.57611713447127E-0001 6.57171530350406E-0001 6.56731597087393E-0001 6.56291913539156E-0001 6.55852479586811E-0001 + 6.55413295111521E-0001 6.54974359994496E-0001 6.54535674116994E-0001 6.54097237360319E-0001 6.53659049605826E-0001 + 6.53221110734913E-0001 6.52783420629028E-0001 6.52345979169665E-0001 6.51908786238366E-0001 6.51471841716721E-0001 + 6.51035145486365E-0001 6.50598697428983E-0001 6.50162497426304E-0001 6.49726545360108E-0001 6.49290841112219E-0001 + 6.48855384564509E-0001 6.48420175598899E-0001 6.47985214097356E-0001 6.47550499941892E-0001 6.47116033014569E-0001 + 6.46681813197496E-0001 6.46247840372826E-0001 6.45814114422763E-0001 6.45380635229557E-0001 6.44947402675502E-0001 + 6.44514416642943E-0001 6.44081677014270E-0001 6.43649183671920E-0001 6.43216936498379E-0001 6.42784935376176E-0001 + 6.42353180187890E-0001 6.41921670816146E-0001 6.41490407143618E-0001 6.41059389053023E-0001 6.40628616427127E-0001 + 6.40198089148743E-0001 6.39767807100731E-0001 6.39337770165997E-0001 6.38907978227494E-0001 6.38478431168222E-0001 + 6.38049128871228E-0001 6.37620071219606E-0001 6.37191258096496E-0001 6.36762689385084E-0001 6.36334364968606E-0001 + 6.35906284730340E-0001 6.35478448553615E-0001 6.35050856321804E-0001 6.34623507918327E-0001 6.34196403226652E-0001 + 6.33769542130293E-0001 6.33342924512809E-0001 6.32916550257808E-0001 6.32490419248944E-0001 6.32064531369915E-0001 + 6.31638886504470E-0001 6.31213484536400E-0001 6.30788325349547E-0001 6.30363408827795E-0001 6.29938734855078E-0001 + 6.29514303315374E-0001 6.29090114092710E-0001 6.28666167071156E-0001 6.28242462134833E-0001 6.27818999167903E-0001 + 6.27395778054580E-0001 6.26972798679119E-0001 6.26550060925825E-0001 6.26127564679049E-0001 6.25705309823186E-0001 + 6.25283296242680E-0001 6.24861523822021E-0001 6.24439992445742E-0001 6.24018701998427E-0001 6.23597652364702E-0001 + 6.23176843429242E-0001 6.22756275076769E-0001 6.22335947192047E-0001 6.21915859659890E-0001 6.21496012365157E-0001 + 6.21076405192753E-0001 6.20657038027629E-0001 6.20237910754783E-0001 6.19819023259257E-0001 6.19400375426142E-0001 + 6.18981967140573E-0001 6.18563798287731E-0001 6.18145868752845E-0001 6.17728178421188E-0001 6.17310727178080E-0001 + 6.16893514908885E-0001 6.16476541499018E-0001 6.16059806833934E-0001 6.15643310799137E-0001 6.15227053280177E-0001 + 6.14811034162650E-0001 6.14395253332196E-0001 6.13979710674503E-0001 6.13564406075304E-0001 6.13149339420378E-0001 + 6.12734510595549E-0001 6.12319919486689E-0001 6.11905565979713E-0001 6.11491449960584E-0001 6.11077571315310E-0001 + 6.10663929929943E-0001 6.10250525690586E-0001 6.09837358483380E-0001 6.09424428194519E-0001 6.09011734710239E-0001 + 6.08599277916821E-0001 6.08187057700593E-0001 6.07775073947930E-0001 6.07363326545251E-0001 6.06951815379019E-0001 + 6.06540540335746E-0001 6.06129501301988E-0001 6.05718698164347E-0001 6.05308130809468E-0001 6.04897799124046E-0001 + 6.04487702994817E-0001 6.04077842308567E-0001 6.03668216952124E-0001 6.03258826812362E-0001 6.02849671776203E-0001 + 6.02440751730610E-0001 6.02032066562596E-0001 6.01623616159217E-0001 6.01215400407575E-0001 6.00807419194817E-0001 + 6.00399672408135E-0001 5.99992159934767E-0001 5.99584881661997E-0001 5.99177837477153E-0001 5.98771027267610E-0001 + 5.98364450920785E-0001 5.97958108324144E-0001 5.97551999365197E-0001 5.97146123931497E-0001 5.96740481910647E-0001 + 5.96335073190290E-0001 5.95929897658118E-0001 5.95524955201866E-0001 5.95120245709315E-0001 5.94715769068292E-0001 + 5.94311525166667E-0001 5.93907513892357E-0001 5.93503735133324E-0001 5.93100188777572E-0001 5.92696874713156E-0001 + 5.92293792828171E-0001 5.91890943010759E-0001 5.91488325149106E-0001 5.91085939131445E-0001 5.90683784846051E-0001 + 5.90281862181248E-0001 5.89880171025401E-0001 5.89478711266923E-0001 5.89077482794269E-0001 5.88676485495941E-0001 + 5.88275719260487E-0001 5.87875183976496E-0001 5.87474879532605E-0001 5.87074805817496E-0001 5.86674962719894E-0001 + 5.86275350128569E-0001 5.85875967932338E-0001 5.85476816020061E-0001 5.85077894280642E-0001 5.84679202603032E-0001 + 5.84280740876225E-0001 5.83882508989261E-0001 5.83484506831223E-0001 5.83086734291241E-0001 5.82689191258488E-0001 + 5.82291877622182E-0001 5.81894793271585E-0001 5.81497938096006E-0001 5.81101311984797E-0001 5.80704914827353E-0001 + 5.80308746513117E-0001 5.79912806931574E-0001 5.79517095972255E-0001 5.79121613524734E-0001 5.78726359478631E-0001 + 5.78331333723611E-0001 5.77936536149382E-0001 5.77541966645696E-0001 5.77147625102352E-0001 5.76753511409191E-0001 + 5.76359625456100E-0001 5.75965967133009E-0001 5.75572536329894E-0001 5.75179332936775E-0001 5.74786356843716E-0001 + 5.74393607940825E-0001 5.74001086118254E-0001 5.73608791266202E-0001 5.73216723274909E-0001 5.72824882034661E-0001 + 5.72433267435789E-0001 5.72041879368666E-0001 5.71650717723712E-0001 5.71259782391388E-0001 5.70869073262203E-0001 + 5.70478590226707E-0001 5.70088333175496E-0001 5.69698301999209E-0001 5.69308496588531E-0001 5.68918916834189E-0001 + 5.68529562626956E-0001 5.68140433857648E-0001 5.67751530417125E-0001 5.67362852196293E-0001 5.66974399086098E-0001 + 5.66586170977534E-0001 5.66198167761638E-0001 5.65810389329491E-0001 5.65422835572217E-0001 5.65035506380984E-0001 + 5.64648401647006E-0001 5.64261521261540E-0001 5.63874865115886E-0001 5.63488433101389E-0001 5.63102225109436E-0001 + 5.62716241031462E-0001 5.62330480758942E-0001 5.61944944183395E-0001 5.61559631196388E-0001 5.61174541689527E-0001 + 5.60789675554464E-0001 5.60405032682896E-0001 5.60020612966560E-0001 5.59636416297241E-0001 5.59252442566767E-0001 + 5.58868691667006E-0001 5.58485163489875E-0001 5.58101857927331E-0001 5.57718774871377E-0001 5.57335914214057E-0001 + 5.56953275847462E-0001 5.56570859663725E-0001 5.56188665555022E-0001 5.55806693413574E-0001 5.55424943131644E-0001 + 5.55043414601541E-0001 5.54662107715615E-0001 5.54281022366262E-0001 5.53900158445919E-0001 5.53519515847069E-0001 + 5.53139094462237E-0001 5.52758894183993E-0001 5.52378914904948E-0001 5.51999156517759E-0001 5.51619618915125E-0001 + 5.51240301989789E-0001 5.50861205634538E-0001 5.50482329742201E-0001 5.50103674205652E-0001 5.49725238917807E-0001 + 5.49347023771626E-0001 5.48969028660113E-0001 5.48591253476315E-0001 5.48213698113321E-0001 5.47836362464267E-0001 + 5.47459246422326E-0001 5.47082349880721E-0001 5.46705672732715E-0001 5.46329214871613E-0001 5.45952976190767E-0001 + 5.45576956583569E-0001 5.45201155943455E-0001 5.44825574163906E-0001 5.44450211138443E-0001 5.44075066760634E-0001 + 5.43700140924086E-0001 5.43325433522453E-0001 5.42950944449429E-0001 5.42576673598754E-0001 5.42202620864209E-0001 + 5.41828786139618E-0001 5.41455169318850E-0001 5.41081770295816E-0001 5.40708588964468E-0001 5.40335625218806E-0001 + 5.39962878952867E-0001 5.39590350060736E-0001 5.39218038436539E-0001 5.38845943974443E-0001 5.38474066568662E-0001 + 5.38102406113450E-0001 5.37730962503105E-0001 5.37359735631968E-0001 5.36988725394421E-0001 5.36617931684893E-0001 + 5.36247354397852E-0001 5.35876993427809E-0001 5.35506848669322E-0001 5.35136920016987E-0001 5.34767207365445E-0001 + 5.34397710609380E-0001 5.34028429643517E-0001 5.33659364362627E-0001 5.33290514661520E-0001 5.32921880435051E-0001 + 5.32553461578118E-0001 5.32185257985661E-0001 5.31817269552663E-0001 5.31449496174147E-0001 5.31081937745184E-0001 + 5.30714594160883E-0001 5.30347465316398E-0001 5.29980551106924E-0001 5.29613851427701E-0001 5.29247366174009E-0001 + 5.28881095241172E-0001 5.28515038524556E-0001 5.28149195919571E-0001 5.27783567321667E-0001 5.27418152626339E-0001 + 5.27052951729122E-0001 5.26687964525596E-0001 5.26323190911383E-0001 5.25958630782145E-0001 5.25594284033589E-0001 + 5.25230150561465E-0001 5.24866230261562E-0001 5.24502523029714E-0001 5.24139028761798E-0001 5.23775747353732E-0001 + 5.23412678701476E-0001 5.23049822701032E-0001 5.22687179248448E-0001 5.22324748239810E-0001 5.21962529571247E-0001 + 5.21600523138933E-0001 5.21238728839082E-0001 5.20877146567950E-0001 5.20515776221836E-0001 5.20154617697082E-0001 + 5.19793670890071E-0001 5.19432935697228E-0001 5.19072412015022E-0001 5.18712099739962E-0001 5.18351998768601E-0001 + 5.17992108997532E-0001 5.17632430323392E-0001 5.17272962642860E-0001 5.16913705852656E-0001 5.16554659849543E-0001 + 5.16195824530325E-0001 5.15837199791849E-0001 5.15478785531005E-0001 5.15120581644722E-0001 5.14762588029974E-0001 + 5.14404804583776E-0001 5.14047231203185E-0001 5.13689867785298E-0001 5.13332714227258E-0001 5.12975770426245E-0001 + 5.12619036279487E-0001 5.12262511684248E-0001 5.11906196537837E-0001 5.11550090737605E-0001 5.11194194180942E-0001 + 5.10838506765285E-0001 5.10483028388108E-0001 5.10127758946929E-0001 5.09772698339307E-0001 5.09417846462845E-0001 + 5.09063203215184E-0001 5.08708768494009E-0001 5.08354542197047E-0001 5.08000524222067E-0001 5.07646714466878E-0001 + 5.07293112829332E-0001 5.06939719207323E-0001 5.06586533498785E-0001 5.06233555601695E-0001 5.05880785414072E-0001 + 5.05528222833974E-0001 5.05175867759506E-0001 5.04823720088809E-0001 5.04471779720068E-0001 5.04120046551509E-0001 + 5.03768520481401E-0001 5.03417201408054E-0001 5.03066089229817E-0001 5.02715183845084E-0001 5.02364485152289E-0001 + 5.02013993049906E-0001 5.01663707436455E-0001 5.01313628210492E-0001 5.00963755270617E-0001 5.00614088515473E-0001 + 5.00264627843742E-0001 4.99915373154147E-0001 4.99566324345456E-0001 4.99217481316474E-0001 4.98868843966050E-0001 + 4.98520412193073E-0001 4.98172185896475E-0001 4.97824164975228E-0001 4.97476349328345E-0001 4.97128738854882E-0001 + 4.96781333453934E-0001 4.96434133024639E-0001 4.96087137466176E-0001 4.95740346677764E-0001 4.95393760558665E-0001 + 4.95047379008181E-0001 4.94701201925656E-0001 4.94355229210475E-0001 4.94009460762062E-0001 4.93663896479886E-0001 + 4.93318536263453E-0001 4.92973380012315E-0001 4.92628427626060E-0001 4.92283679004321E-0001 4.91939134046770E-0001 + 4.91594792653121E-0001 4.91250654723128E-0001 4.90906720156586E-0001 4.90562988853334E-0001 4.90219460713247E-0001 + 4.89876135636246E-0001 4.89533013522290E-0001 4.89190094271378E-0001 4.88847377783554E-0001 4.88504863958899E-0001 + 4.88162552697536E-0001 4.87820443899631E-0001 4.87478537465389E-0001 4.87136833295055E-0001 4.86795331288916E-0001 + 4.86454031347301E-0001 4.86112933370578E-0001 4.85772037259156E-0001 4.85431342913486E-0001 4.85090850234059E-0001 + 4.84750559121407E-0001 4.84410469476101E-0001 4.84070581198757E-0001 4.83730894190027E-0001 4.83391408350607E-0001 + 4.83052123581232E-0001 4.82713039782678E-0001 4.82374156855763E-0001 4.82035474701344E-0001 4.81696993220318E-0001 + 4.81358712313626E-0001 4.81020631882246E-0001 4.80682751827198E-0001 4.80345072049544E-0001 4.80007592450384E-0001 + 4.79670312930861E-0001 4.79333233392156E-0001 4.78996353735493E-0001 4.78659673862135E-0001 4.78323193673386E-0001 + 4.77986913070591E-0001 4.77650831955134E-0001 4.77314950228441E-0001 4.76979267791978E-0001 4.76643784547251E-0001 + 4.76308500395807E-0001 4.75973415239233E-0001 4.75638528979156E-0001 4.75303841517245E-0001 4.74969352755207E-0001 + 4.74635062594792E-0001 4.74300970937788E-0001 4.73967077686026E-0001 4.73633382741373E-0001 4.73299886005741E-0001 + 4.72966587381080E-0001 4.72633486769379E-0001 4.72300584072670E-0001 4.71967879193025E-0001 4.71635372032553E-0001 + 4.71303062493407E-0001 4.70970950477778E-0001 4.70639035887899E-0001 4.70307318626040E-0001 4.69975798594515E-0001 + 4.69644475695675E-0001 4.69313349831914E-0001 4.68982420905663E-0001 4.68651688819396E-0001 4.68321153475624E-0001 + 4.67990814776902E-0001 4.67660672625822E-0001 4.67330726925016E-0001 4.67000977577159E-0001 4.66671424484962E-0001 + 4.66342067551180E-0001 4.66012906678605E-0001 4.65683941770069E-0001 4.65355172728447E-0001 4.65026599456650E-0001 + 4.64698221857633E-0001 4.64370039834387E-0001 4.64042053289946E-0001 4.63714262127382E-0001 4.63386666249806E-0001 + 4.63059265560373E-0001 4.62732059962274E-0001 4.62405049358741E-0001 4.62078233653046E-0001 4.61751612748501E-0001 + 4.61425186548456E-0001 4.61098954956305E-0001 4.60772917875476E-0001 4.60447075209442E-0001 4.60121426861713E-0001 + 4.59795972735840E-0001 4.59470712735411E-0001 4.59145646764057E-0001 4.58820774725448E-0001 4.58496096523292E-0001 + 4.58171612061338E-0001 4.57847321243375E-0001 4.57523223973230E-0001 4.57199320154771E-0001 4.56875609691907E-0001 + 4.56552092488582E-0001 4.56228768448784E-0001 4.55905637476538E-0001 4.55582699475911E-0001 4.55259954351008E-0001 + 4.54937402005972E-0001 4.54615042344989E-0001 4.54292875272280E-0001 4.53970900692111E-0001 4.53649118508784E-0001 + 4.53327528626639E-0001 4.53006130950060E-0001 4.52684925383466E-0001 4.52363911831318E-0001 4.52043090198116E-0001 + 4.51722460388399E-0001 4.51402022306745E-0001 4.51081775857773E-0001 4.50761720946138E-0001 4.50441857476539E-0001 + 4.50122185353710E-0001 4.49802704482427E-0001 4.49483414767505E-0001 4.49164316113796E-0001 4.48845408426195E-0001 + 4.48526691609632E-0001 4.48208165569080E-0001 4.47889830209550E-0001 4.47571685436090E-0001 4.47253731153791E-0001 + 4.46935967267780E-0001 4.46618393683226E-0001 4.46301010305333E-0001 4.45983817039350E-0001 4.45666813790559E-0001 + 4.45350000464285E-0001 4.45033376965892E-0001 4.44716943200781E-0001 4.44400699074394E-0001 4.44084644492211E-0001 + 4.43768779359750E-0001 4.43453103582572E-0001 4.43137617066272E-0001 4.42822319716488E-0001 4.42507211438895E-0001 + 4.42192292139207E-0001 4.41877561723177E-0001 4.41563020096598E-0001 4.41248667165301E-0001 4.40934502835157E-0001 + 4.40620527012074E-0001 4.40306739601999E-0001 4.39993140510921E-0001 4.39679729644865E-0001 4.39366506909895E-0001 + 4.39053472212114E-0001 4.38740625457666E-0001 4.38427966552731E-0001 4.38115495403528E-0001 4.37803211916317E-0001 + 4.37491115997395E-0001 4.37179207553097E-0001 4.36867486489801E-0001 4.36555952713917E-0001 4.36244606131900E-0001 + 4.35933446650240E-0001 4.35622474175466E-0001 4.35311688614149E-0001 4.35001089872893E-0001 4.34690677858346E-0001 + 4.34380452477192E-0001 4.34070413636154E-0001 4.33760561241993E-0001 4.33450895201510E-0001 4.33141415421543E-0001 + 4.32832121808971E-0001 4.32523014270708E-0001 4.32214092713710E-0001 4.31905357044969E-0001 4.31596807171518E-0001 + 4.31288443000426E-0001 4.30980264438802E-0001 4.30672271393793E-0001 4.30364463772584E-0001 4.30056841482399E-0001 + 4.29749404430502E-0001 4.29442152524192E-0001 4.29135085670809E-0001 4.28828203777731E-0001 4.28521506752373E-0001 + 4.28214994502190E-0001 4.27908666934675E-0001 4.27602523957359E-0001 4.27296565477811E-0001 4.26990791403639E-0001 + 4.26685201642490E-0001 4.26379796102047E-0001 4.26074574690033E-0001 4.25769537314209E-0001 4.25464683882375E-0001 + 4.25160014302367E-0001 4.24855528482061E-0001 4.24551226329371E-0001 4.24247107752249E-0001 4.23943172658686E-0001 + 4.23639420956709E-0001 4.23335852554385E-0001 4.23032467359819E-0001 4.22729265281154E-0001 4.22426246226570E-0001 + 4.22123410104287E-0001 4.21820756822561E-0001 4.21518286289689E-0001 4.21215998414003E-0001 4.20913893103874E-0001 + 4.20611970267712E-0001 4.20310229813964E-0001 4.20008671651116E-0001 4.19707295687691E-0001 4.19406101832250E-0001 + 4.19105089993394E-0001 4.18804260079758E-0001 4.18503612000018E-0001 4.18203145662888E-0001 4.17902860977119E-0001 + 4.17602757851499E-0001 4.17302836194856E-0001 4.17003095916054E-0001 4.16703536923995E-0001 4.16404159127622E-0001 + 4.16104962435911E-0001 4.15805946757879E-0001 4.15507112002579E-0001 4.15208458079105E-0001 4.14909984896585E-0001 + 4.14611692364186E-0001 4.14313580391114E-0001 4.14015648886611E-0001 4.13717897759958E-0001 4.13420326920474E-0001 + 4.13122936277514E-0001 4.12825725740472E-0001 4.12528695218780E-0001 4.12231844621906E-0001 4.11935173859357E-0001 + 4.11638682840677E-0001 4.11342371475450E-0001 4.11046239673293E-0001 4.10750287343864E-0001 4.10454514396858E-0001 + 4.10158920742008E-0001 4.09863506289083E-0001 4.09568270947890E-0001 4.09273214628276E-0001 4.08978337240121E-0001 + 4.08683638693347E-0001 4.08389118897910E-0001 4.08094777763806E-0001 4.07800615201068E-0001 4.07506631119765E-0001 + 4.07212825430004E-0001 4.06919198041930E-0001 4.06625748865727E-0001 4.06332477811612E-0001 4.06039384789844E-0001 + 4.05746469710716E-0001 4.05453732484561E-0001 4.05161173021747E-0001 4.04868791232681E-0001 4.04576587027807E-0001 + 4.04284560317606E-0001 4.03992711012596E-0001 4.03701039023334E-0001 4.03409544260411E-0001 4.03118226634458E-0001 + 4.02827086056143E-0001 4.02536122436170E-0001 4.02245335685282E-0001 4.01954725714257E-0001 4.01664292433912E-0001 + 4.01374035755100E-0001 4.01083955588711E-0001 4.00794051845675E-0001 4.00504324436955E-0001 4.00214773273555E-0001 + 3.99925398266512E-0001 3.99636199326904E-0001 3.99347176365844E-0001 3.99058329294482E-0001 3.98769658024006E-0001 + 3.98481162465641E-0001 3.98192842530648E-0001 3.97904698130326E-0001 3.97616729176010E-0001 3.97328935579074E-0001 + 3.97041317250927E-0001 3.96753874103016E-0001 3.96466606046824E-0001 3.96179512993872E-0001 3.95892594855717E-0001 + 3.95605851543955E-0001 3.95319282970215E-0001 3.95032889046168E-0001 3.94746669683517E-0001 3.94460624794004E-0001 + 3.94174754289409E-0001 3.93889058081547E-0001 3.93603536082271E-0001 3.93318188203470E-0001 3.93033014357070E-0001 + 3.92748014455035E-0001 3.92463188409364E-0001 3.92178536132093E-0001 3.91894057535295E-0001 3.91609752531082E-0001 + 3.91325621031599E-0001 3.91041662949030E-0001 3.90757878195595E-0001 3.90474266683551E-0001 3.90190828325192E-0001 + 3.89907563032847E-0001 3.89624470718884E-0001 3.89341551295705E-0001 3.89058804675752E-0001 3.88776230771500E-0001 + 3.88493829495465E-0001 3.88211600760193E-0001 3.87929544478273E-0001 3.87647660562328E-0001 3.87365948925017E-0001 + 3.87084409479036E-0001 3.86803042137118E-0001 3.86521846812033E-0001 3.86240823416585E-0001 3.85959971863617E-0001 + 3.85679292066008E-0001 3.85398783936671E-0001 3.85118447388561E-0001 3.84838282334663E-0001 3.84558288688003E-0001 + 3.84278466361641E-0001 3.83998815268675E-0001 3.83719335322237E-0001 3.83440026435499E-0001 3.83160888521666E-0001 + 3.82881921493980E-0001 3.82603125265722E-0001 3.82324499750205E-0001 3.82046044860783E-0001 3.81767760510842E-0001 + 3.81489646613807E-0001 3.81211703083138E-0001 3.80933929832332E-0001 3.80656326774922E-0001 3.80378893824477E-0001 + 3.80101630894602E-0001 3.79824537898940E-0001 3.79547614751167E-0001 3.79270861364998E-0001 3.78994277654182E-0001 + 3.78717863532507E-0001 3.78441618913795E-0001 3.78165543711903E-0001 3.77889637840727E-0001 3.77613901214198E-0001 + 3.77338333746282E-0001 3.77062935350982E-0001 3.76787705942338E-0001 3.76512645434424E-0001 3.76237753741351E-0001 + 3.75963030777267E-0001 3.75688476456354E-0001 3.75414090692832E-0001 3.75139873400956E-0001 3.74865824495017E-0001 + 3.74591943889342E-0001 3.74318231498294E-0001 3.74044687236272E-0001 3.73771311017710E-0001 3.73498102757080E-0001 + 3.73225062368889E-0001 3.72952189767678E-0001 3.72679484868026E-0001 3.72406947584548E-0001 3.72134577831894E-0001 + 3.71862375524749E-0001 3.71590340577836E-0001 3.71318472905912E-0001 3.71046772423770E-0001 3.70775239046240E-0001 + 3.70503872688187E-0001 3.70232673264512E-0001 3.69961640690149E-0001 3.69690774880074E-0001 3.69420075749292E-0001 + 3.69149543212848E-0001 3.68879177185821E-0001 3.68608977583327E-0001 3.68338944320515E-0001 3.68069077312573E-0001 + 3.67799376474721E-0001 3.67529841722219E-0001 3.67260472970359E-0001 3.66991270134470E-0001 3.66722233129916E-0001 + 3.66453361872098E-0001 3.66184656276451E-0001 3.65916116258447E-0001 3.65647741733592E-0001 3.65379532617429E-0001 + 3.65111488825535E-0001 3.64843610273524E-0001 3.64575896877044E-0001 3.64308348551780E-0001 3.64040965213451E-0001 + 3.63773746777813E-0001 3.63506693160657E-0001 3.63239804277809E-0001 3.62973080045129E-0001 3.62706520378516E-0001 + 3.62440125193901E-0001 3.62173894407252E-0001 3.61907827934572E-0001 3.61641925691900E-0001 3.61376187595310E-0001 + 3.61110613560911E-0001 3.60845203504846E-0001 3.60579957343297E-0001 3.60314874992477E-0001 3.60049956368638E-0001 + 3.59785201388065E-0001 3.59520609967079E-0001 3.59256182022036E-0001 3.58991917469327E-0001 3.58727816225379E-0001 + 3.58463878206654E-0001 3.58200103329649E-0001 3.57936491510897E-0001 3.57673042666963E-0001 3.57409756714452E-0001 + 3.57146633570000E-0001 3.56883673150280E-0001 3.56620875372002E-0001 3.56358240151906E-0001 3.56095767406772E-0001 + 3.55833457053413E-0001 3.55571309008677E-0001 3.55309323189448E-0001 3.55047499512643E-0001 3.54785837895217E-0001 + 3.54524338254158E-0001 3.54263000506489E-0001 3.54001824569269E-0001 3.53740810359592E-0001 3.53479957794585E-0001 + 3.53219266791413E-0001 3.52958737267273E-0001 3.52698369139399E-0001 3.52438162325059E-0001 3.52178116741557E-0001 + 3.51918232306230E-0001 3.51658508936451E-0001 3.51398946549629E-0001 3.51139545063205E-0001 3.50880304394658E-0001 + 3.50621224461499E-0001 3.50362305181276E-0001 3.50103546471572E-0001 3.49844948250002E-0001 3.49586510434218E-0001 + 3.49328232941908E-0001 3.49070115690790E-0001 3.48812158598623E-0001 3.48554361583197E-0001 3.48296724562336E-0001 + 3.48039247453901E-0001 3.47781930175787E-0001 3.47524772645924E-0001 3.47267774782274E-0001 3.47010936502838E-0001 + 3.46754257725649E-0001 3.46497738368774E-0001 3.46241378350317E-0001 3.45985177588415E-0001 3.45729136001240E-0001 + 3.45473253506999E-0001 3.45217530023933E-0001 3.44961965470317E-0001 3.44706559764462E-0001 3.44451312824712E-0001 + 3.44196224569448E-0001 3.43941294917082E-0001 3.43686523786064E-0001 3.43431911094876E-0001 3.43177456762036E-0001 + 3.42923160706095E-0001 3.42669022845640E-0001 3.42415043099291E-0001 3.42161221385705E-0001 3.41907557623569E-0001 + 3.41654051731609E-0001 3.41400703628583E-0001 3.41147513233284E-0001 3.40894480464539E-0001 3.40641605241208E-0001 + 3.40388887482190E-0001 3.40136327106413E-0001 3.39883924032842E-0001 3.39631678180476E-0001 3.39379589468348E-0001 + 3.39127657815526E-0001 3.38875883141111E-0001 3.38624265364240E-0001 3.38372804404083E-0001 3.38121500179844E-0001 + 3.37870352610762E-0001 3.37619361616110E-0001 3.37368527115195E-0001 3.37117849027358E-0001 3.36867327271976E-0001 + 3.36616961768457E-0001 3.36366752436246E-0001 3.36116699194821E-0001 3.35866801963693E-0001 3.35617060662409E-0001 + 3.35367475210549E-0001 3.35118045527729E-0001 3.34868771533596E-0001 3.34619653147833E-0001 3.34370690290156E-0001 + 3.34121882880317E-0001 3.33873230838100E-0001 3.33624734083324E-0001 3.33376392535841E-0001 3.33128206115539E-0001 + 3.32880174742339E-0001 3.32632298336194E-0001 3.32384576817094E-0001 3.32137010105062E-0001 3.31889598120154E-0001 + 3.31642340782460E-0001 3.31395238012105E-0001 3.31148289729248E-0001 3.30901495854080E-0001 3.30654856306829E-0001 + 3.30408371007752E-0001 3.30162039877146E-0001 3.29915862835336E-0001 3.29669839802686E-0001 3.29423970699589E-0001 + 3.29178255446476E-0001 3.28932693963809E-0001 3.28687286172085E-0001 3.28442031991835E-0001 3.28196931343622E-0001 + 3.27951984148045E-0001 3.27707190325735E-0001 3.27462549797358E-0001 3.27218062483613E-0001 3.26973728305233E-0001 + 3.26729547182985E-0001 3.26485519037668E-0001 3.26241643790117E-0001 3.25997921361198E-0001 3.25754351671815E-0001 + 3.25510934642900E-0001 3.25267670195423E-0001 3.25024558250386E-0001 3.24781598728823E-0001 3.24538791551805E-0001 + 3.24296136640434E-0001 3.24053633915847E-0001 3.23811283299213E-0001 3.23569084711736E-0001 3.23327038074653E-0001 + 3.23085143309234E-0001 3.22843400336782E-0001 3.22601809078637E-0001 3.22360369456167E-0001 3.22119081390778E-0001 + 3.21877944803908E-0001 3.21636959617027E-0001 3.21396125751641E-0001 3.21155443129287E-0001 3.20914911671537E-0001 + 3.20674531299996E-0001 3.20434301936302E-0001 3.20194223502126E-0001 3.19954295919174E-0001 3.19714519109184E-0001 + 3.19474892993927E-0001 3.19235417495209E-0001 3.18996092534867E-0001 3.18756918034774E-0001 3.18517893916833E-0001 + 3.18279020102984E-0001 3.18040296515197E-0001 3.17801723075478E-0001 3.17563299705863E-0001 3.17325026328424E-0001 + 3.17086902865266E-0001 3.16848929238525E-0001 3.16611105370373E-0001 3.16373431183013E-0001 3.16135906598682E-0001 + 3.15898531539651E-0001 3.15661305928223E-0001 3.15424229686734E-0001 3.15187302737553E-0001 3.14950525003084E-0001 + 3.14713896405762E-0001 3.14477416868056E-0001 3.14241086312468E-0001 3.14004904661533E-0001 3.13768871837818E-0001 + 3.13532987763926E-0001 3.13297252362489E-0001 3.13061665556176E-0001 3.12826227267685E-0001 3.12590937419751E-0001 + 3.12355795935139E-0001 3.12120802736648E-0001 3.11885957747110E-0001 3.11651260889390E-0001 3.11416712086387E-0001 + 3.11182311261029E-0001 3.10948058336283E-0001 3.10713953235143E-0001 3.10479995880639E-0001 3.10246186195834E-0001 + 3.10012524103822E-0001 3.09779009527733E-0001 3.09545642390726E-0001 3.09312422615995E-0001 3.09079350126767E-0001 + 3.08846424846301E-0001 3.08613646697889E-0001 3.08381015604856E-0001 3.08148531490560E-0001 3.07916194278390E-0001 + 3.07684003891771E-0001 3.07451960254157E-0001 3.07220063289038E-0001 3.06988312919935E-0001 3.06756709070401E-0001 + 3.06525251664023E-0001 3.06293940624422E-0001 3.06062775875247E-0001 3.05831757340186E-0001 3.05600884942953E-0001 + 3.05370158607300E-0001 3.05139578257009E-0001 3.04909143815895E-0001 3.04678855207806E-0001 3.04448712356622E-0001 + 3.04218715186256E-0001 3.03988863620653E-0001 3.03759157583791E-0001 3.03529596999681E-0001 3.03300181792366E-0001 + 3.03070911885921E-0001 3.02841787204454E-0001 3.02612807672106E-0001 3.02383973213050E-0001 3.02155283751490E-0001 + 3.01926739211666E-0001 3.01698339517848E-0001 3.01470084594337E-0001 3.01241974365470E-0001 3.01014008755614E-0001 + 3.00786187689168E-0001 3.00558511090566E-0001 3.00330978884272E-0001 3.00103590994783E-0001 2.99876347346629E-0001 + 2.99649247864371E-0001 2.99422292472603E-0001 2.99195481095952E-0001 2.98968813659077E-0001 2.98742290086668E-0001 + 2.98515910303448E-0001 2.98289674234175E-0001 2.98063581803634E-0001 2.97837632936647E-0001 2.97611827558065E-0001 + 2.97386165592774E-0001 2.97160646965689E-0001 2.96935271601759E-0001 2.96710039425967E-0001 2.96484950363324E-0001 + 2.96260004338877E-0001 2.96035201277703E-0001 2.95810541104912E-0001 2.95586023745645E-0001 2.95361649125077E-0001 + 2.95137417168414E-0001 2.94913327800894E-0001 2.94689380947787E-0001 2.94465576534395E-0001 2.94241914486054E-0001 + 2.94018394728128E-0001 2.93795017186018E-0001 2.93571781785153E-0001 2.93348688450995E-0001 2.93125737109040E-0001 + 2.92902927684814E-0001 2.92680260103876E-0001 2.92457734291815E-0001 2.92235350174255E-0001 2.92013107676849E-0001 + 2.91791006725285E-0001 2.91569047245279E-0001 2.91347229162583E-0001 2.91125552402979E-0001 2.90904016892279E-0001 + 2.90682622556331E-0001 2.90461369321012E-0001 2.90240257112231E-0001 2.90019285855930E-0001 2.89798455478082E-0001 + 2.89577765904692E-0001 2.89357217061796E-0001 2.89136808875465E-0001 2.88916541271797E-0001 2.88696414176925E-0001 + 2.88476427517013E-0001 2.88256581218257E-0001 2.88036875206884E-0001 2.87817309409154E-0001 2.87597883751357E-0001 + 2.87378598159816E-0001 2.87159452560885E-0001 2.86940446880950E-0001 2.86721581046429E-0001 2.86502854983772E-0001 + 2.86284268619458E-0001 2.86065821880001E-0001 2.85847514691946E-0001 2.85629346981867E-0001 2.85411318676373E-0001 + 2.85193429702103E-0001 2.84975679985726E-0001 2.84758069453945E-0001 2.84540598033495E-0001 2.84323265651141E-0001 + 2.84106072233678E-0001 2.83889017707936E-0001 2.83672102000775E-0001 2.83455325039085E-0001 2.83238686749791E-0001 + 2.83022187059846E-0001 2.82805825896235E-0001 2.82589603185978E-0001 2.82373518856121E-0001 2.82157572833746E-0001 + 2.81941765045964E-0001 2.81726095419917E-0001 2.81510563882782E-0001 2.81295170361762E-0001 2.81079914784096E-0001 + 2.80864797077052E-0001 2.80649817167930E-0001 2.80434974984061E-0001 2.80220270452808E-0001 2.80005703501564E-0001 + 2.79791274057756E-0001 2.79576982048839E-0001 2.79362827402302E-0001 2.79148810045663E-0001 2.78934929906473E-0001 + 2.78721186912313E-0001 2.78507580990797E-0001 2.78294112069569E-0001 2.78080780076303E-0001 2.77867584938707E-0001 + 2.77654526584518E-0001 2.77441604941505E-0001 2.77228819937468E-0001 2.77016171500239E-0001 2.76803659557680E-0001 + 2.76591284037684E-0001 2.76379044868177E-0001 2.76166941977113E-0001 2.75954975292481E-0001 2.75743144742298E-0001 + 2.75531450254613E-0001 2.75319891757507E-0001 2.75108469179090E-0001 2.74897182447505E-0001 2.74686031490926E-0001 + 2.74475016237557E-0001 2.74264136615633E-0001 2.74053392553421E-0001 2.73842783979218E-0001 2.73632310821353E-0001 + 2.73421973008184E-0001 2.73211770468104E-0001 2.73001703129532E-0001 2.72791770920921E-0001 2.72581973770754E-0001 + 2.72372311607546E-0001 2.72162784359841E-0001 2.71953391956216E-0001 2.71744134325277E-0001 2.71535011395662E-0001 + 2.71326023096039E-0001 2.71117169355109E-0001 2.70908450101600E-0001 2.70699865264275E-0001 2.70491414771925E-0001 + 2.70283098553373E-0001 2.70074916537473E-0001 2.69866868653108E-0001 2.69658954829195E-0001 2.69451174994678E-0001 + 2.69243529078535E-0001 2.69036017009773E-0001 2.68828638717430E-0001 2.68621394130574E-0001 2.68414283178306E-0001 + 2.68207305789756E-0001 2.68000461894084E-0001 2.67793751420482E-0001 2.67587174298172E-0001 2.67380730456408E-0001 + 2.67174419824473E-0001 2.66968242331681E-0001 2.66762197907377E-0001 2.66556286480936E-0001 2.66350507981765E-0001 + 2.66144862339300E-0001 2.65939349483008E-0001 2.65733969342388E-0001 2.65528721846967E-0001 2.65323606926304E-0001 + 2.65118624509989E-0001 2.64913774527642E-0001 2.64709056908913E-0001 2.64504471583483E-0001 2.64300018481064E-0001 + 2.64095697531397E-0001 2.63891508664255E-0001 2.63687451809442E-0001 2.63483526896789E-0001 2.63279733856161E-0001 + 2.63076072617453E-0001 2.62872543110588E-0001 2.62669145265522E-0001 2.62465879012240E-0001 2.62262744280757E-0001 + 2.62059741001121E-0001 2.61856869103407E-0001 2.61654128517723E-0001 2.61451519174205E-0001 2.61249041003021E-0001 + 2.61046693934369E-0001 2.60844477898477E-0001 2.60642392825604E-0001 2.60440438646038E-0001 2.60238615290098E-0001 + 2.60036922688133E-0001 2.59835360770523E-0001 2.59633929467678E-0001 2.59432628710038E-0001 2.59231458428073E-0001 + 2.59030418552282E-0001 2.58829509013198E-0001 2.58628729741380E-0001 2.58428080667420E-0001 2.58227561721938E-0001 + 2.58027172835587E-0001 2.57826913939047E-0001 2.57626784963030E-0001 2.57426785838277E-0001 2.57226916495561E-0001 + 2.57027176865683E-0001 2.56827566879475E-0001 2.56628086467800E-0001 2.56428735561549E-0001 2.56229514091644E-0001 + 2.56030421989038E-0001 2.55831459184714E-0001 2.55632625609682E-0001 2.55433921194986E-0001 2.55235345871698E-0001 + 2.55036899570920E-0001 2.54838582223784E-0001 2.54640393761453E-0001 2.54442334115119E-0001 2.54244403216003E-0001 + 2.54046600995359E-0001 2.53848927384467E-0001 2.53651382314640E-0001 2.53453965717220E-0001 2.53256677523578E-0001 + 2.53059517665116E-0001 2.52862486073265E-0001 2.52665582679487E-0001 2.52468807415273E-0001 2.52272160212143E-0001 + 2.52075641001650E-0001 2.51879249715373E-0001 2.51682986284922E-0001 2.51486850641939E-0001 2.51290842718092E-0001 + 2.51094962445083E-0001 2.50899209754640E-0001 2.50703584578523E-0001 2.50508086848521E-0001 2.50312716496452E-0001 + 2.50117473454166E-0001 2.49922357653540E-0001 2.49727369026483E-0001 2.49532507504932E-0001 2.49337773020854E-0001 + 2.49143165506247E-0001 2.48948684893136E-0001 2.48754331113579E-0001 2.48560104099661E-0001 2.48366003783498E-0001 + 2.48172030097235E-0001 2.47978182973046E-0001 2.47784462343136E-0001 2.47590868139740E-0001 2.47397400295120E-0001 + 2.47204058741569E-0001 2.47010843411411E-0001 2.46817754236996E-0001 2.46624791150708E-0001 2.46431954084957E-0001 + 2.46239242972184E-0001 2.46046657744860E-0001 2.45854198335482E-0001 2.45661864676583E-0001 2.45469656700718E-0001 + 2.45277574340477E-0001 2.45085617528478E-0001 2.44893786197367E-0001 2.44702080279820E-0001 2.44510499708544E-0001 + 2.44319044416274E-0001 2.44127714335773E-0001 2.43936509399837E-0001 2.43745429541289E-0001 2.43554474692980E-0001 + 2.43363644787794E-0001 2.43172939758642E-0001 2.42982359538464E-0001 2.42791904060231E-0001 2.42601573256941E-0001 + 2.42411367061624E-0001 2.42221285407337E-0001 2.42031328227168E-0001 2.41841495454232E-0001 2.41651787021677E-0001 + 2.41462202862675E-0001 2.41272742910433E-0001 2.41083407098183E-0001 2.40894195359188E-0001 2.40705107626739E-0001 + 2.40516143834158E-0001 2.40327303914795E-0001 2.40138587802028E-0001 2.39949995429268E-0001 2.39761526729951E-0001 + 2.39573181637544E-0001 2.39384960085542E-0001 2.39196862007473E-0001 2.39008887336888E-0001 2.38821036007371E-0001 + 2.38633307952535E-0001 2.38445703106022E-0001 2.38258221401501E-0001 2.38070862772672E-0001 2.37883627153264E-0001 + 2.37696514477033E-0001 2.37509524677768E-0001 2.37322657689283E-0001 2.37135913445423E-0001 2.36949291880061E-0001 + 2.36762792927101E-0001 2.36576416520473E-0001 2.36390162594139E-0001 2.36204031082087E-0001 2.36018021918336E-0001 + 2.35832135036934E-0001 2.35646370371956E-0001 2.35460727857508E-0001 2.35275207427723E-0001 2.35089809016766E-0001 + 2.34904532558826E-0001 2.34719377988126E-0001 2.34534345238914E-0001 2.34349434245469E-0001 2.34164644942098E-0001 + 2.33979977263138E-0001 2.33795431142952E-0001 2.33611006515935E-0001 2.33426703316508E-0001 2.33242521479124E-0001 + 2.33058460938262E-0001 2.32874521628430E-0001 2.32690703484167E-0001 2.32507006440038E-0001 2.32323430430638E-0001 + 2.32139975390591E-0001 2.31956641254550E-0001 2.31773427957195E-0001 2.31590335433236E-0001 2.31407363617412E-0001 + 2.31224512444489E-0001 2.31041781849263E-0001 2.30859171766559E-0001 2.30676682131230E-0001 2.30494312878157E-0001 + 2.30312063942251E-0001 2.30129935258450E-0001 2.29947926761722E-0001 2.29766038387062E-0001 2.29584270069496E-0001 + 2.29402621744077E-0001 2.29221093345886E-0001 2.29039684810033E-0001 2.28858396071658E-0001 2.28677227065928E-0001 + 2.28496177728038E-0001 2.28315247993212E-0001 2.28134437796705E-0001 2.27953747073796E-0001 2.27773175759795E-0001 + 2.27592723790042E-0001 2.27412391099901E-0001 2.27232177624769E-0001 2.27052083300070E-0001 2.26872108061254E-0001 + 2.26692251843802E-0001 2.26512514583223E-0001 2.26332896215055E-0001 2.26153396674862E-0001 2.25974015898239E-0001 + 2.25794753820807E-0001 2.25615610378218E-0001 2.25436585506149E-0001 2.25257679140309E-0001 2.25078891216433E-0001 + 2.24900221670285E-0001 2.24721670437657E-0001 2.24543237454369E-0001 2.24364922656269E-0001 2.24186725979236E-0001 + 2.24008647359174E-0001 2.23830686732016E-0001 2.23652844033725E-0001 2.23475119200289E-0001 2.23297512167728E-0001 + 2.23120022872088E-0001 2.22942651249442E-0001 2.22765397235894E-0001 2.22588260767575E-0001 2.22411241780643E-0001 + 2.22234340211286E-0001 2.22057555995719E-0001 2.21880889070185E-0001 2.21704339370957E-0001 2.21527906834332E-0001 + 2.21351591396641E-0001 2.21175392994237E-0001 2.20999311563506E-0001 2.20823347040859E-0001 2.20647499362735E-0001 + 2.20471768465605E-0001 2.20296154285962E-0001 2.20120656760332E-0001 2.19945275825267E-0001 2.19770011417346E-0001 + 2.19594863473179E-0001 2.19419831929401E-0001 2.19244916722676E-0001 2.19070117789697E-0001 2.18895435067183E-0001 + 2.18720868491882E-0001 2.18546418000571E-0001 2.18372083530054E-0001 2.18197865017161E-0001 2.18023762398754E-0001 + 2.17849775611718E-0001 2.17675904592971E-0001 2.17502149279454E-0001 2.17328509608140E-0001 2.17154985516027E-0001 + 2.16981576940143E-0001 2.16808283817542E-0001 2.16635106085306E-0001 2.16462043680546E-0001 2.16289096540401E-0001 + 2.16116264602036E-0001 2.15943547802644E-0001 2.15770946079448E-0001 2.15598459369697E-0001 2.15426087610667E-0001 + 2.15253830739664E-0001 2.15081688694020E-0001 2.14909661411095E-0001 2.14737748828277E-0001 2.14565950882982E-0001 + 2.14394267512654E-0001 2.14222698654762E-0001 2.14051244246807E-0001 2.13879904226314E-0001 2.13708678530837E-0001 + 2.13537567097958E-0001 2.13366569865287E-0001 2.13195686770460E-0001 2.13024917751141E-0001 2.12854262745023E-0001 + 2.12683721689826E-0001 2.12513294523297E-0001 2.12342981183210E-0001 2.12172781607368E-0001 2.12002695733602E-0001 + 2.11832723499768E-0001 2.11662864843752E-0001 2.11493119703466E-0001 2.11323488016851E-0001 2.11153969721873E-0001 + 2.10984564756529E-0001 2.10815273058840E-0001 2.10646094566856E-0001 2.10477029218656E-0001 2.10308076952344E-0001 + 2.10139237706052E-0001 2.09970511417940E-0001 2.09801898026196E-0001 2.09633397469034E-0001 2.09465009684696E-0001 + 2.09296734611451E-0001 2.09128572187597E-0001 2.08960522351458E-0001 2.08792585041385E-0001 2.08624760195756E-0001 + 2.08457047752980E-0001 2.08289447651488E-0001 2.08121959829741E-0001 2.07954584226229E-0001 2.07787320779466E-0001 + 2.07620169427995E-0001 2.07453130110387E-0001 2.07286202765238E-0001 2.07119387331174E-0001 2.06952683746846E-0001 + 2.06786091950933E-0001 2.06619611882141E-0001 2.06453243479205E-0001 2.06286986680885E-0001 2.06120841425968E-0001 + 2.05954807653271E-0001 2.05788885301635E-0001 2.05623074309930E-0001 2.05457374617053E-0001 2.05291786161927E-0001 + 2.05126308883503E-0001 2.04960942720760E-0001 2.04795687612702E-0001 2.04630543498363E-0001 2.04465510316801E-0001 + 2.04300588007103E-0001 2.04135776508383E-0001 2.03971075759781E-0001 2.03806485700465E-0001 2.03642006269630E-0001 + 2.03477637406498E-0001 2.03313379050317E-0001 2.03149231140363E-0001 2.02985193615941E-0001 2.02821266416378E-0001 + 2.02657449481033E-0001 2.02493742749289E-0001 2.02330146160557E-0001 2.02166659654274E-0001 2.02003283169907E-0001 + 2.01840016646946E-0001 2.01676860024909E-0001 2.01513813243344E-0001 2.01350876241821E-0001 2.01188048959941E-0001 + 2.01025331337330E-0001 2.00862723313641E-0001 2.00700224828554E-0001 2.00537835821776E-0001 2.00375556233040E-0001 + 2.00213386002109E-0001 2.00051325068768E-0001 1.99889373372832E-0001 1.99727530854143E-0001 1.99565797452568E-0001 + 1.99404173108002E-0001 1.99242657760366E-0001 1.99081251349609E-0001 1.98919953815706E-0001 1.98758765098658E-0001 + 1.98597685138495E-0001 1.98436713875271E-0001 1.98275851249068E-0001 1.98115097199996E-0001 1.97954451668189E-0001 + 1.97793914593810E-0001 1.97633485917048E-0001 1.97473165578117E-0001 1.97312953517261E-0001 1.97152849674748E-0001 + 1.96992853990874E-0001 1.96832966405961E-0001 1.96673186860357E-0001 1.96513515294438E-0001 1.96353951648605E-0001 + 1.96194495863289E-0001 1.96035147878943E-0001 1.95875907636049E-0001 1.95716775075116E-0001 1.95557750136679E-0001 + 1.95398832761299E-0001 1.95240022889564E-0001 1.95081320462089E-0001 1.94922725419514E-0001 1.94764237702508E-0001 + 1.94605857251764E-0001 1.94447584008003E-0001 1.94289417911972E-0001 1.94131358904444E-0001 1.93973406926220E-0001 + 1.93815561918126E-0001 1.93657823821015E-0001 1.93500192575765E-0001 1.93342668123284E-0001 1.93185250404503E-0001 + 1.93027939360380E-0001 1.92870734931901E-0001 1.92713637060076E-0001 1.92556645685945E-0001 1.92399760750570E-0001 + 1.92242982195043E-0001 1.92086309960479E-0001 1.91929743988023E-0001 1.91773284218843E-0001 1.91616930594136E-0001 + 1.91460683055124E-0001 1.91304541543055E-0001 1.91148505999203E-0001 1.90992576364870E-0001 1.90836752581383E-0001 + 1.90681034590095E-0001 1.90525422332387E-0001 1.90369915749664E-0001 1.90214514783358E-0001 1.90059219374929E-0001 + 1.89904029465860E-0001 1.89748944997662E-0001 1.89593965911873E-0001 1.89439092150056E-0001 1.89284323653801E-0001 + 1.89129660364722E-0001 1.88975102224462E-0001 1.88820649174688E-0001 1.88666301157095E-0001 1.88512058113403E-0001 + 1.88357919985358E-0001 1.88203886714732E-0001 1.88049958243324E-0001 1.87896134512959E-0001 1.87742415465488E-0001 + 1.87588801042785E-0001 1.87435291186756E-0001 1.87281885839329E-0001 1.87128584942457E-0001 1.86975388438124E-0001 + 1.86822296268334E-0001 1.86669308375122E-0001 1.86516424700546E-0001 1.86363645186691E-0001 1.86210969775668E-0001 + 1.86058398409614E-0001 1.85905931030692E-0001 1.85753567581091E-0001 1.85601308003025E-0001 1.85449152238735E-0001 + 1.85297100230488E-0001 1.85145151920576E-0001 1.84993307251319E-0001 1.84841566165059E-0001 1.84689928604167E-0001 + 1.84538394511040E-0001 1.84386963828100E-0001 1.84235636497794E-0001 1.84084412462595E-0001 1.83933291665004E-0001 + 1.83782274047547E-0001 1.83631359552773E-0001 1.83480548123260E-0001 1.83329839701611E-0001 1.83179234230455E-0001 + 1.83028731652445E-0001 1.82878331910263E-0001 1.82728034946613E-0001 1.82577840704228E-0001 1.82427749125865E-0001 + 1.82277760154307E-0001 1.82127873732363E-0001 1.81978089802868E-0001 1.81828408308682E-0001 1.81678829192691E-0001 + 1.81529352397806E-0001 1.81379977866965E-0001 1.81230705543132E-0001 1.81081535369294E-0001 1.80932467288466E-0001 + 1.80783501243689E-0001 1.80634637178027E-0001 1.80485875034572E-0001 1.80337214756441E-0001 1.80188656286776E-0001 + 1.80040199568746E-0001 1.79891844545543E-0001 1.79743591160388E-0001 1.79595439356525E-0001 1.79447389077224E-0001 + 1.79299440265782E-0001 1.79151592865519E-0001 1.79003846819783E-0001 1.78856202071946E-0001 1.78708658565406E-0001 + 1.78561216243587E-0001 1.78413875049937E-0001 1.78266634927931E-0001 1.78119495821069E-0001 1.77972457672877E-0001 + 1.77825520426904E-0001 1.77678684026729E-0001 1.77531948415951E-0001 1.77385313538199E-0001 1.77238779337124E-0001 + 1.77092345756406E-0001 1.76946012739746E-0001 1.76799780230875E-0001 1.76653648173546E-0001 1.76507616511538E-0001 + 1.76361685188657E-0001 1.76215854148733E-0001 1.76070123335621E-0001 1.75924492693202E-0001 1.75778962165382E-0001 + 1.75633531696094E-0001 1.75488201229292E-0001 1.75342970708961E-0001 1.75197840079107E-0001 1.75052809283763E-0001 + 1.74907878266986E-0001 1.74763046972861E-0001 1.74618315345495E-0001 1.74473683329022E-0001 1.74329150867601E-0001 + 1.74184717905417E-0001 1.74040384386678E-0001 1.73896150255618E-0001 1.73752015456499E-0001 1.73607979933605E-0001 + 1.73464043631245E-0001 1.73320206493755E-0001 1.73176468465496E-0001 1.73032829490853E-0001 1.72889289514236E-0001 + 1.72745848480082E-0001 1.72602506332852E-0001 1.72459263017031E-0001 1.72316118477130E-0001 1.72173072657686E-0001 + 1.72030125503261E-0001 1.71887276958440E-0001 1.71744526967835E-0001 1.71601875476083E-0001 1.71459322427844E-0001 + 1.71316867767806E-0001 1.71174511440680E-0001 1.71032253391203E-0001 1.70890093564137E-0001 1.70748031904267E-0001 + 1.70606068356406E-0001 1.70464202865390E-0001 1.70322435376081E-0001 1.70180765833365E-0001 1.70039194182154E-0001 + 1.69897720367383E-0001 1.69756344334016E-0001 1.69615066027036E-0001 1.69473885391457E-0001 1.69332802372314E-0001 + 1.69191816914667E-0001 1.69050928963603E-0001 1.68910138464233E-0001 1.68769445361691E-0001 1.68628849601139E-0001 + 1.68488351127762E-0001 1.68347949886770E-0001 1.68207645823398E-0001 1.68067438882905E-0001 1.67927329010577E-0001 + 1.67787316151722E-0001 1.67647400251676E-0001 1.67507581255796E-0001 1.67367859109467E-0001 1.67228233758098E-0001 + 1.67088705147120E-0001 1.66949273221994E-0001 1.66809937928201E-0001 1.66670699211248E-0001 1.66531557016669E-0001 + 1.66392511290020E-0001 1.66253561976882E-0001 1.66114709022862E-0001 1.65975952373592E-0001 1.65837291974726E-0001 + 1.65698727771945E-0001 1.65560259710954E-0001 1.65421887737484E-0001 1.65283611797287E-0001 1.65145431836143E-0001 + 1.65007347799856E-0001 1.64869359634253E-0001 1.64731467285188E-0001 1.64593670698538E-0001 1.64455969820205E-0001 + 1.64318364596115E-0001 1.64180854972220E-0001 1.64043440894494E-0001 1.63906122308939E-0001 1.63768899161579E-0001 + 1.63631771398463E-0001 1.63494738965665E-0001 1.63357801809284E-0001 1.63220959875441E-0001 1.63084213110285E-0001 + 1.62947561459987E-0001 1.62811004870743E-0001 1.62674543288775E-0001 1.62538176660326E-0001 1.62401904931668E-0001 + 1.62265728049094E-0001 1.62129645958922E-0001 1.61993658607495E-0001 1.61857765941181E-0001 1.61721967906371E-0001 + 1.61586264449482E-0001 1.61450655516953E-0001 1.61315141055251E-0001 1.61179721010863E-0001 1.61044395330304E-0001 + 1.60909163960111E-0001 1.60774026846848E-0001 1.60638983937099E-0001 1.60504035177478E-0001 1.60369180514617E-0001 + 1.60234419895178E-0001 1.60099753265844E-0001 1.59965180573322E-0001 1.59830701764347E-0001 1.59696316785673E-0001 + 1.59562025584083E-0001 1.59427828106380E-0001 1.59293724299396E-0001 1.59159714109982E-0001 1.59025797485018E-0001 + 1.58891974371405E-0001 1.58758244716069E-0001 1.58624608465961E-0001 1.58491065568056E-0001 1.58357615969352E-0001 + 1.58224259616873E-0001 1.58090996457665E-0001 1.57957826438800E-0001 1.57824749507374E-0001 1.57691765610505E-0001 + 1.57558874695338E-0001 1.57426076709041E-0001 1.57293371598804E-0001 1.57160759311846E-0001 1.57028239795404E-0001 + 1.56895812996745E-0001 1.56763478863155E-0001 1.56631237341948E-0001 1.56499088380459E-0001 1.56367031926049E-0001 + 1.56235067926103E-0001 1.56103196328028E-0001 1.55971417079258E-0001 1.55839730127249E-0001 1.55708135419481E-0001 + 1.55576632903459E-0001 1.55445222526712E-0001 1.55313904236791E-0001 1.55182677981273E-0001 1.55051543707759E-0001 + 1.54920501363872E-0001 1.54789550897262E-0001 1.54658692255599E-0001 1.54527925386581E-0001 1.54397250237927E-0001 + 1.54266666757380E-0001 1.54136174892710E-0001 1.54005774591707E-0001 1.53875465802187E-0001 1.53745248471989E-0001 + 1.53615122548977E-0001 1.53485087981037E-0001 1.53355144716081E-0001 1.53225292702043E-0001 1.53095531886882E-0001 + 1.52965862218580E-0001 1.52836283645144E-0001 1.52706796114603E-0001 1.52577399575011E-0001 1.52448093974446E-0001 + 1.52318879261009E-0001 1.52189755382825E-0001 1.52060722288043E-0001 1.51931779924835E-0001 1.51802928241398E-0001 + 1.51674167185952E-0001 1.51545496706740E-0001 1.51416916752029E-0001 1.51288427270112E-0001 1.51160028209302E-0001 + 1.51031719517939E-0001 1.50903501144384E-0001 1.50775373037023E-0001 1.50647335144266E-0001 1.50519387414545E-0001 + 1.50391529796318E-0001 1.50263762238065E-0001 1.50136084688289E-0001 1.50008497095519E-0001 1.49880999408305E-0001 + 1.49753591575223E-0001 1.49626273544871E-0001 1.49499045265870E-0001 1.49371906686866E-0001 1.49244857756529E-0001 + 1.49117898423550E-0001 1.48991028636646E-0001 1.48864248344557E-0001 1.48737557496045E-0001 1.48610956039898E-0001 + 1.48484443924925E-0001 1.48358021099961E-0001 1.48231687513863E-0001 1.48105443115510E-0001 1.47979287853808E-0001 + 1.47853221677683E-0001 1.47727244536088E-0001 1.47601356377996E-0001 1.47475557152405E-0001 1.47349846808336E-0001 + 1.47224225294835E-0001 1.47098692560969E-0001 1.46973248555830E-0001 1.46847893228533E-0001 1.46722626528216E-0001 + 1.46597448404041E-0001 1.46472358805193E-0001 1.46347357680881E-0001 1.46222444980335E-0001 1.46097620652811E-0001 + 1.45972884647588E-0001 1.45848236913967E-0001 1.45723677401274E-0001 1.45599206058855E-0001 1.45474822836085E-0001 + 1.45350527682356E-0001 1.45226320547088E-0001 1.45102201379721E-0001 1.44978170129721E-0001 1.44854226746575E-0001 + 1.44730371179795E-0001 1.44606603378915E-0001 1.44482923293493E-0001 1.44359330873109E-0001 1.44235826067368E-0001 + 1.44112408825897E-0001 1.43989079098346E-0001 1.43865836834389E-0001 1.43742681983723E-0001 1.43619614496068E-0001 + 1.43496634321167E-0001 1.43373741408786E-0001 1.43250935708714E-0001 1.43128217170765E-0001 1.43005585744773E-0001 + 1.42883041380598E-0001 1.42760584028122E-0001 1.42638213637249E-0001 1.42515930157907E-0001 1.42393733540048E-0001 + 1.42271623733646E-0001 1.42149600688697E-0001 1.42027664355223E-0001 1.41905814683267E-0001 1.41784051622894E-0001 + 1.41662375124195E-0001 1.41540785137282E-0001 1.41419281612290E-0001 1.41297864499377E-0001 1.41176533748726E-0001 + 1.41055289310540E-0001 1.40934131135047E-0001 1.40813059172497E-0001 1.40692073373163E-0001 1.40571173687342E-0001 + 1.40450360065353E-0001 1.40329632457537E-0001 1.40208990814261E-0001 1.40088435085911E-0001 1.39967965222899E-0001 + 1.39847581175659E-0001 1.39727282894646E-0001 1.39607070330341E-0001 1.39486943433246E-0001 1.39366902153886E-0001 + 1.39246946442809E-0001 1.39127076250586E-0001 1.39007291527811E-0001 1.38887592225101E-0001 1.38767978293094E-0001 + 1.38648449682453E-0001 1.38529006343863E-0001 1.38409648228032E-0001 1.38290375285691E-0001 1.38171187467592E-0001 + 1.38052084724513E-0001 1.37933067007251E-0001 1.37814134266628E-0001 1.37695286453489E-0001 1.37576523518702E-0001 + 1.37457845413155E-0001 1.37339252087761E-0001 1.37220743493456E-0001 1.37102319581198E-0001 1.36983980301967E-0001 + 1.36865725606766E-0001 1.36747555446622E-0001 1.36629469772583E-0001 1.36511468535720E-0001 1.36393551687128E-0001 + 1.36275719177924E-0001 1.36157970959245E-0001 1.36040306982255E-0001 1.35922727198138E-0001 1.35805231558100E-0001 + 1.35687820013372E-0001 1.35570492515206E-0001 1.35453249014876E-0001 1.35336089463680E-0001 1.35219013812938E-0001 + 1.35102022013993E-0001 1.34985114018210E-0001 1.34868289776976E-0001 1.34751549241701E-0001 1.34634892363818E-0001 + 1.34518319094783E-0001 1.34401829386072E-0001 1.34285423189187E-0001 1.34169100455650E-0001 1.34052861137005E-0001 + 1.33936705184821E-0001 1.33820632550688E-0001 1.33704643186218E-0001 1.33588737043047E-0001 1.33472914072831E-0001 + 1.33357174227250E-0001 1.33241517458007E-0001 1.33125943716827E-0001 1.33010452955456E-0001 1.32895045125664E-0001 + 1.32779720179243E-0001 1.32664478068006E-0001 1.32549318743792E-0001 1.32434242158458E-0001 1.32319248263886E-0001 + 1.32204337011980E-0001 1.32089508354665E-0001 1.31974762243890E-0001 1.31860098631626E-0001 1.31745517469865E-0001 + 1.31631018710623E-0001 1.31516602305938E-0001 1.31402268207868E-0001 1.31288016368497E-0001 1.31173846739928E-0001 + 1.31059759274289E-0001 1.30945753923728E-0001 1.30831830640416E-0001 1.30717989376547E-0001 1.30604230084336E-0001 + 1.30490552716021E-0001 1.30376957223862E-0001 1.30263443560141E-0001 1.30150011677163E-0001 1.30036661527255E-0001 + 1.29923393062765E-0001 1.29810206236063E-0001 1.29697100999544E-0001 1.29584077305622E-0001 1.29471135106735E-0001 + 1.29358274355343E-0001 1.29245495003926E-0001 1.29132797004989E-0001 1.29020180311058E-0001 1.28907644874680E-0001 + 1.28795190648426E-0001 1.28682817584888E-0001 1.28570525636680E-0001 1.28458314756439E-0001 1.28346184896822E-0001 + 1.28234136010511E-0001 1.28122168050208E-0001 1.28010280968636E-0001 1.27898474718544E-0001 1.27786749252698E-0001 + 1.27675104523891E-0001 1.27563540484933E-0001 1.27452057088661E-0001 1.27340654287931E-0001 1.27229332035620E-0001 + 1.27118090284630E-0001 1.27006928987882E-0001 1.26895848098322E-0001 1.26784847568916E-0001 1.26673927352652E-0001 + 1.26563087402539E-0001 1.26452327671611E-0001 1.26341648112921E-0001 1.26231048679546E-0001 1.26120529324582E-0001 + 1.26010090001150E-0001 1.25899730662392E-0001 1.25789451261470E-0001 1.25679251751570E-0001 1.25569132085900E-0001 + 1.25459092217688E-0001 1.25349132100185E-0001 1.25239251686664E-0001 1.25129450930419E-0001 1.25019729784767E-0001 + 1.24910088203046E-0001 1.24800526138615E-0001 1.24691043544857E-0001 1.24581640375174E-0001 1.24472316582993E-0001 + 1.24363072121760E-0001 1.24253906944944E-0001 1.24144821006035E-0001 1.24035814258546E-0001 1.23926886656011E-0001 + 1.23818038151984E-0001 1.23709268700045E-0001 1.23600578253792E-0001 1.23491966766845E-0001 1.23383434192847E-0001 + 1.23274980485463E-0001 1.23166605598378E-0001 1.23058309485300E-0001 1.22950092099958E-0001 1.22841953396102E-0001 + 1.22733893327506E-0001 1.22625911847964E-0001 1.22518008911290E-0001 1.22410184471322E-0001 1.22302438481920E-0001 + 1.22194770896964E-0001 1.22087181670356E-0001 1.21979670756020E-0001 1.21872238107901E-0001 1.21764883679965E-0001 + 1.21657607426202E-0001 1.21550409300621E-0001 1.21443289257254E-0001 1.21336247250153E-0001 1.21229283233394E-0001 + 1.21122397161073E-0001 1.21015588987306E-0001 1.20908858666234E-0001 1.20802206152016E-0001 1.20695631398835E-0001 + 1.20589134360895E-0001 1.20482714992419E-0001 1.20376373247656E-0001 1.20270109080872E-0001 1.20163922446358E-0001 + 1.20057813298423E-0001 1.19951781591401E-0001 1.19845827279644E-0001 1.19739950317528E-0001 1.19634150659450E-0001 + 1.19528428259826E-0001 1.19422783073098E-0001 1.19317215053724E-0001 1.19211724156187E-0001 1.19106310334991E-0001 + 1.19000973544661E-0001 1.18895713739741E-0001 1.18790530874800E-0001 1.18685424904426E-0001 1.18580395783231E-0001 + 1.18475443465843E-0001 1.18370567906918E-0001 1.18265769061128E-0001 1.18161046883168E-0001 1.18056401327757E-0001 + 1.17951832349630E-0001 1.17847339903547E-0001 1.17742923944290E-0001 1.17638584426658E-0001 1.17534321305476E-0001 + 1.17430134535587E-0001 1.17326024071856E-0001 1.17221989869170E-0001 1.17118031882438E-0001 1.17014150066586E-0001 + 1.16910344376567E-0001 1.16806614767351E-0001 1.16702961193930E-0001 1.16599383611319E-0001 1.16495881974552E-0001 + 1.16392456238685E-0001 1.16289106358795E-0001 1.16185832289981E-0001 1.16082633987362E-0001 1.15979511406078E-0001 + 1.15876464501292E-0001 1.15773493228185E-0001 1.15670597541962E-0001 1.15567777397847E-0001 1.15465032751087E-0001 + 1.15362363556949E-0001 1.15259769770720E-0001 1.15157251347711E-0001 1.15054808243251E-0001 1.14952440412691E-0001 + 1.14850147811405E-0001 1.14747930394784E-0001 1.14645788118245E-0001 1.14543720937221E-0001 1.14441728807170E-0001 + 1.14339811683569E-0001 1.14237969521916E-0001 1.14136202277730E-0001 1.14034509906552E-0001 1.13932892363944E-0001 + 1.13831349605487E-0001 1.13729881586784E-0001 1.13628488263460E-0001 1.13527169591160E-0001 1.13425925525549E-0001 + 1.13324756022316E-0001 1.13223661037166E-0001 1.13122640525830E-0001 1.13021694444056E-0001 1.12920822747615E-0001 + 1.12820025392299E-0001 1.12719302333920E-0001 1.12618653528310E-0001 1.12518078931324E-0001 1.12417578498837E-0001 + 1.12317152186743E-0001 1.12216799950960E-0001 1.12116521747425E-0001 1.12016317532095E-0001 1.11916187260950E-0001 + 1.11816130889989E-0001 1.11716148375233E-0001 1.11616239672723E-0001 1.11516404738521E-0001 1.11416643528710E-0001 + 1.11316955999393E-0001 1.11217342106694E-0001 1.11117801806759E-0001 1.11018335055753E-0001 1.10918941809863E-0001 + 1.10819622025296E-0001 1.10720375658280E-0001 1.10621202665062E-0001 1.10522103001914E-0001 1.10423076625124E-0001 + 1.10324123491004E-0001 1.10225243555884E-0001 1.10126436776116E-0001 1.10027703108074E-0001 1.09929042508150E-0001 + 1.09830454932759E-0001 1.09731940338335E-0001 1.09633498681332E-0001 1.09535129918228E-0001 1.09436834005518E-0001 + 1.09338610899719E-0001 1.09240460557369E-0001 1.09142382935027E-0001 1.09044377989270E-0001 1.08946445676698E-0001 + 1.08848585953931E-0001 1.08750798777609E-0001 1.08653084104394E-0001 1.08555441890967E-0001 1.08457872094029E-0001 + 1.08360374670304E-0001 1.08262949576535E-0001 1.08165596769485E-0001 1.08068316205937E-0001 1.07971107842698E-0001 + 1.07873971636591E-0001 1.07776907544463E-0001 1.07679915523179E-0001 1.07582995529625E-0001 1.07486147520709E-0001 + 1.07389371453358E-0001 1.07292667284520E-0001 1.07196034971163E-0001 1.07099474470275E-0001 1.07002985738865E-0001 + 1.06906568733964E-0001 1.06810223412620E-0001 1.06713949731904E-0001 1.06617747648907E-0001 1.06521617120740E-0001 + 1.06425558104533E-0001 1.06329570557439E-0001 1.06233654436630E-0001 1.06137809699297E-0001 1.06042036302655E-0001 + 1.05946334203935E-0001 1.05850703360391E-0001 1.05755143729297E-0001 1.05659655267947E-0001 1.05564237933655E-0001 + 1.05468891683756E-0001 1.05373616475603E-0001 1.05278412266574E-0001 1.05183279014063E-0001 1.05088216675485E-0001 + 1.04993225208276E-0001 1.04898304569893E-0001 1.04803454717812E-0001 1.04708675609530E-0001 1.04613967202563E-0001 + 1.04519329454448E-0001 1.04424762322743E-0001 1.04330265765025E-0001 1.04235839738891E-0001 1.04141484201959E-0001 + 1.04047199111868E-0001 1.03952984426275E-0001 1.03858840102859E-0001 1.03764766099318E-0001 1.03670762373371E-0001 + 1.03576828882756E-0001 1.03482965585232E-0001 1.03389172438578E-0001 1.03295449400593E-0001 1.03201796429097E-0001 + 1.03108213481928E-0001 1.03014700516946E-0001 1.02921257492030E-0001 1.02827884365080E-0001 1.02734581094015E-0001 + 1.02641347636775E-0001 1.02548183951320E-0001 1.02455089995629E-0001 1.02362065727701E-0001 1.02269111105558E-0001 + 1.02176226087238E-0001 1.02083410630801E-0001 1.01990664694327E-0001 1.01897988235916E-0001 1.01805381213688E-0001 + 1.01712843585782E-0001 1.01620375310358E-0001 1.01527976345596E-0001 1.01435646649696E-0001 1.01343386180876E-0001 + 1.01251194897377E-0001 1.01159072757458E-0001 1.01067019719398E-0001 1.00975035741497E-0001 1.00883120782074E-0001 + 1.00791274799468E-0001 1.00699497752038E-0001 1.00607789598163E-0001 1.00516150296242E-0001 1.00424579804694E-0001 + 1.00333078081956E-0001 1.00241645086488E-0001 1.00150280776768E-0001 1.00058985111293E-0001 9.99677580485826E-0002 + 9.98765995471732E-0002 9.97855095656227E-0002 9.96944880625086E-0002 9.96035349964281E-0002 9.95126503259982E-0002 + 9.94218340098557E-0002 9.93310860066571E-0002 9.92404062750786E-0002 9.91497947738166E-0002 9.90592514615869E-0002 + 9.89687762971250E-0002 9.88783692391862E-0002 9.87880302465457E-0002 9.86977592779984E-0002 9.86075562923588E-0002 + 9.85174212484611E-0002 9.84273541051592E-0002 9.83373548213270E-0002 9.82474233558577E-0002 9.81575596676644E-0002 + 9.80677637156798E-0002 9.79780354588562E-0002 9.78883748561658E-0002 9.77987818666003E-0002 9.77092564491710E-0002 + 9.76197985629089E-0002 9.75304081668645E-0002 9.74410852201082E-0002 9.73518296817299E-0002 9.72626415108390E-0002 + 9.71735206665645E-0002 9.70844671080552E-0002 9.69954807944794E-0002 9.69065616850247E-0002 9.68177097388987E-0002 + 9.67289249153282E-0002 9.66402071735599E-0002 9.65515564728598E-0002 9.64629727725136E-0002 9.63744560318263E-0002 + 9.62860062101226E-0002 9.61976232667468E-0002 9.61093071610625E-0002 9.60210578524530E-0002 9.59328753003209E-0002 + 9.58447594640885E-0002 9.57567103031974E-0002 9.56687277771088E-0002 9.55808118453033E-0002 9.54929624672809E-0002 + 9.54051796025613E-0002 9.53174632106834E-0002 9.52298132512055E-0002 9.51422296837056E-0002 9.50547124677807E-0002 + 9.49672615630478E-0002 9.48798769291428E-0002 9.47925585257212E-0002 9.47053063124578E-0002 9.46181202490471E-0002 + 9.45310002952025E-0002 9.44439464106571E-0002 9.43569585551632E-0002 9.42700366884925E-0002 9.41831807704363E-0002 + 9.40963907608047E-0002 9.40096666194276E-0002 9.39230083061541E-0002 9.38364157808524E-0002 9.37498890034104E-0002 + 9.36634279337350E-0002 9.35770325317525E-0002 9.34907027574084E-0002 9.34044385706677E-0002 9.33182399315145E-0002 + 9.32321067999521E-0002 9.31460391360033E-0002 9.30600368997098E-0002 9.29741000511329E-0002 9.28882285503530E-0002 + 9.28024223574697E-0002 9.27166814326019E-0002 9.26310057358873E-0002 9.25453952274836E-0002 9.24598498675671E-0002 + 9.23743696163334E-0002 9.22889544339972E-0002 9.22036042807928E-0002 9.21183191169733E-0002 9.20330989028109E-0002 + 9.19479435985973E-0002 9.18628531646428E-0002 9.17778275612776E-0002 9.16928667488503E-0002 9.16079706877292E-0002 + 9.15231393383012E-0002 9.14383726609727E-0002 9.13536706161691E-0002 9.12690331643348E-0002 9.11844602659335E-0002 + 9.10999518814476E-0002 9.10155079713790E-0002 9.09311284962485E-0002 9.08468134165958E-0002 9.07625626929799E-0002 + 9.06783762859786E-0002 9.05942541561891E-0002 9.05101962642272E-0002 9.04262025707280E-0002 9.03422730363456E-0002 + 9.02584076217528E-0002 9.01746062876420E-0002 9.00908689947241E-0002 9.00071957037290E-0002 8.99235863754059E-0002 + 8.98400409705227E-0002 8.97565594498663E-0002 8.96731417742426E-0002 8.95897879044766E-0002 8.95064978014119E-0002 + 8.94232714259113E-0002 8.93401087388565E-0002 8.92570097011480E-0002 8.91739742737054E-0002 8.90910024174669E-0002 + 8.90080940933900E-0002 8.89252492624508E-0002 8.88424678856443E-0002 8.87597499239844E-0002 8.86770953385042E-0002 + 8.85945040902551E-0002 8.85119761403077E-0002 8.84295114497515E-0002 8.83471099796944E-0002 8.82647716912638E-0002 + 8.81824965456054E-0002 8.81002845038839E-0002 8.80181355272829E-0002 8.79360495770045E-0002 8.78540266142701E-0002 + 8.77720666003193E-0002 8.76901694964110E-0002 8.76083352638225E-0002 8.75265638638501E-0002 8.74448552578089E-0002 + 8.73632094070323E-0002 8.72816262728731E-0002 8.72001058167023E-0002 8.71186479999100E-0002 8.70372527839048E-0002 + 8.69559201301141E-0002 8.68746499999840E-0002 8.67934423549792E-0002 8.67122971565834E-0002 8.66312143662987E-0002 + 8.65501939456460E-0002 8.64692358561646E-0002 8.63883400594131E-0002 8.63075065169681E-0002 8.62267351904251E-0002 + 8.61460260413985E-0002 8.60653790315207E-0002 8.59847941224436E-0002 8.59042712758369E-0002 8.58238104533895E-0002 + 8.57434116168086E-0002 8.56630747278199E-0002 8.55827997481681E-0002 8.55025866396162E-0002 8.54224353639459E-0002 + 8.53423458829572E-0002 8.52623181584691E-0002 8.51823521523189E-0002 8.51024478263625E-0002 8.50226051424743E-0002 + 8.49428240625471E-0002 8.48631045484927E-0002 8.47834465622410E-0002 8.47038500657405E-0002 8.46243150209583E-0002 + 8.45448413898799E-0002 8.44654291345094E-0002 8.43860782168693E-0002 8.43067885990006E-0002 8.42275602429627E-0002 + 8.41483931108338E-0002 8.40692871647101E-0002 8.39902423667065E-0002 8.39112586789564E-0002 8.38323360636113E-0002 + 8.37534744828416E-0002 8.36746738988358E-0002 8.35959342738009E-0002 8.35172555699624E-0002 8.34386377495639E-0002 + 8.33600807748678E-0002 8.32815846081548E-0002 8.32031492117236E-0002 8.31247745478916E-0002 8.30464605789948E-0002 + 8.29682072673870E-0002 8.28900145754406E-0002 8.28118824655466E-0002 8.27338109001138E-0002 8.26557998415700E-0002 + 8.25778492523607E-0002 8.24999590949500E-0002 8.24221293318204E-0002 8.23443599254725E-0002 8.22666508384253E-0002 + 8.21890020332160E-0002 8.21114134724003E-0002 8.20338851185518E-0002 8.19564169342629E-0002 8.18790088821437E-0002 + 8.18016609248229E-0002 8.17243730249474E-0002 8.16471451451820E-0002 8.15699772482104E-0002 8.14928692967339E-0002 + 8.14158212534723E-0002 8.13388330811636E-0002 8.12619047425639E-0002 8.11850362004477E-0002 8.11082274176074E-0002 + 8.10314783568538E-0002 8.09547889810157E-0002 8.08781592529404E-0002 8.08015891354930E-0002 8.07250785915569E-0002 + 8.06486275840336E-0002 8.05722360758428E-0002 8.04959040299223E-0002 8.04196314092281E-0002 8.03434181767342E-0002 + 8.02672642954327E-0002 8.01911697283339E-0002 8.01151344384662E-0002 8.00391583888761E-0002 7.99632415426280E-0002 + 7.98873838628046E-0002 7.98115853125065E-0002 7.97358458548526E-0002 7.96601654529795E-0002 7.95845440700422E-0002 + 7.95089816692135E-0002 7.94334782136843E-0002 7.93580336666637E-0002 7.92826479913785E-0002 7.92073211510738E-0002 + 7.91320531090123E-0002 7.90568438284754E-0002 7.89816932727618E-0002 7.89066014051886E-0002 7.88315681890906E-0002 + 7.87565935878208E-0002 7.86816775647501E-0002 7.86068200832673E-0002 7.85320211067791E-0002 7.84572805987103E-0002 + 7.83825985225036E-0002 7.83079748416195E-0002 7.82334095195366E-0002 7.81589025197512E-0002 7.80844538057777E-0002 + 7.80100633411484E-0002 7.79357310894134E-0002 7.78614570141406E-0002 7.77872410789160E-0002 7.77130832473434E-0002 + 7.76389834830444E-0002 7.75649417496585E-0002 7.74909580108430E-0002 7.74170322302731E-0002 7.73431643716419E-0002 + 7.72693543986603E-0002 7.71956022750569E-0002 7.71219079645782E-0002 7.70482714309884E-0002 7.69746926380700E-0002 + 7.69011715496225E-0002 7.68277081294640E-0002 7.67543023414296E-0002 7.66809541493728E-0002 7.66076635171647E-0002 + 7.65344304086939E-0002 7.64612547878671E-0002 7.63881366186085E-0002 7.63150758648603E-0002 7.62420724905822E-0002 + 7.61691264597516E-0002 7.60962377363639E-0002 7.60234062844319E-0002 7.59506320679864E-0002 7.58779150510756E-0002 + 7.58052551977657E-0002 7.57326524721403E-0002 7.56601068383009E-0002 7.55876182603665E-0002 7.55151867024740E-0002 + 7.54428121287776E-0002 7.53704945034495E-0002 7.52982337906794E-0002 7.52260299546746E-0002 7.51538829596601E-0002 + 7.50817927698786E-0002 7.50097593495900E-0002 7.49377826630725E-0002 7.48658626746214E-0002 7.47939993485496E-0002 + 7.47221926491880E-0002 7.46504425408844E-0002 7.45787489880050E-0002 7.45071119549329E-0002 7.44355314060691E-0002 + 7.43640073058320E-0002 7.42925396186578E-0002 7.42211283089998E-0002 7.41497733413293E-0002 7.40784746801348E-0002 + 7.40072322899225E-0002 7.39360461352161E-0002 7.38649161805567E-0002 7.37938423905030E-0002 7.37228247296312E-0002 + 7.36518631625348E-0002 7.35809576538251E-0002 7.35101081681307E-0002 7.34393146700976E-0002 7.33685771243894E-0002 + 7.32978954956870E-0002 7.32272697486890E-0002 7.31566998481111E-0002 7.30861857586867E-0002 7.30157274451664E-0002 + 7.29453248723186E-0002 7.28749780049287E-0002 7.28046868077997E-0002 7.27344512457520E-0002 7.26642712836233E-0002 + 7.25941468862688E-0002 7.25240780185610E-0002 7.24540646453899E-0002 7.23841067316626E-0002 7.23142042423039E-0002 + 7.22443571422556E-0002 7.21745653964772E-0002 7.21048289699451E-0002 7.20351478276535E-0002 7.19655219346138E-0002 + 7.18959512558544E-0002 7.18264357564214E-0002 7.17569754013779E-0002 7.16875701558045E-0002 7.16182199847992E-0002 + 7.15489248534769E-0002 7.14796847269701E-0002 7.14104995704284E-0002 7.13413693490188E-0002 7.12722940279255E-0002 + 7.12032735723499E-0002 7.11343079475106E-0002 7.10653971186436E-0002 7.09965410510021E-0002 7.09277397098564E-0002 + 7.08589930604940E-0002 7.07903010682199E-0002 7.07216636983559E-0002 7.06530809162414E-0002 7.05845526872325E-0002 + 7.05160789767031E-0002 7.04476597500436E-0002 7.03792949726622E-0002 7.03109846099839E-0002 7.02427286274508E-0002 + 7.01745269905224E-0002 7.01063796646751E-0002 7.00382866154028E-0002 6.99702478082160E-0002 6.99022632086429E-0002 + 6.98343327822282E-0002 6.97664564945343E-0002 6.96986343111403E-0002 6.96308661976426E-0002 6.95631521196545E-0002 + 6.94954920428066E-0002 6.94278859327466E-0002 6.93603337551389E-0002 6.92928354756653E-0002 6.92253910600246E-0002 + 6.91580004739326E-0002 6.90906636831222E-0002 6.90233806533431E-0002 6.89561513503625E-0002 6.88889757399641E-0002 + 6.88218537879489E-0002 6.87547854601350E-0002 6.86877707223573E-0002 6.86208095404677E-0002 6.85539018803351E-0002 + 6.84870477078456E-0002 6.84202469889020E-0002 6.83534996894243E-0002 6.82868057753491E-0002 6.82201652126303E-0002 + 6.81535779672388E-0002 6.80870440051620E-0002 6.80205632924048E-0002 6.79541357949886E-0002 6.78877614789518E-0002 + 6.78214403103499E-0002 6.77551722552552E-0002 6.76889572797568E-0002 6.76227953499608E-0002 6.75566864319903E-0002 + 6.74906304919851E-0002 6.74246274961020E-0002 6.73586774105144E-0002 6.72927802014129E-0002 6.72269358350049E-0002 + 6.71611442775146E-0002 6.70954054951828E-0002 6.70297194542675E-0002 6.69640861210433E-0002 6.68985054618018E-0002 + 6.68329774428513E-0002 6.67675020305169E-0002 6.67020791911405E-0002 6.66367088910810E-0002 6.65713910967137E-0002 + 6.65061257744311E-0002 6.64409128906421E-0002 6.63757524117726E-0002 6.63106443042652E-0002 6.62455885345794E-0002 + 6.61805850691913E-0002 6.61156338745936E-0002 6.60507349172959E-0002 6.59858881638248E-0002 6.59210935807231E-0002 + 6.58563511345506E-0002 6.57916607918839E-0002 6.57270225193161E-0002 6.56624362834571E-0002 6.55979020509335E-0002 + 6.55334197883885E-0002 6.54689894624820E-0002 6.54046110398908E-0002 6.53402844873081E-0002 6.52760097714437E-0002 + 6.52117868590243E-0002 6.51476157167930E-0002 6.50834963115099E-0002 6.50194286099514E-0002 6.49554125789105E-0002 + 6.48914481851970E-0002 6.48275353956374E-0002 6.47636741770745E-0002 6.46998644963680E-0002 6.46361063203939E-0002 + 6.45723996160449E-0002 6.45087443502306E-0002 6.44451404898767E-0002 6.43815880019256E-0002 6.43180868533365E-0002 + 6.42546370110848E-0002 6.41912384421627E-0002 6.41278911135790E-0002 6.40645949923586E-0002 6.40013500455434E-0002 + 6.39381562401917E-0002 6.38750135433782E-0002 6.38119219221941E-0002 6.37488813437472E-0002 6.36858917751618E-0002 + 6.36229531835786E-0002 6.35600655361550E-0002 6.34972288000644E-0002 6.34344429424973E-0002 6.33717079306601E-0002 + 6.33090237317761E-0002 6.32463903130847E-0002 6.31838076418419E-0002 6.31212756853202E-0002 6.30587944108084E-0002 + 6.29963637856119E-0002 6.29339837770522E-0002 6.28716543524676E-0002 6.28093754792124E-0002 6.27471471246577E-0002 + 6.26849692561907E-0002 6.26228418412152E-0002 6.25607648471511E-0002 6.24987382414350E-0002 6.24367619915196E-0002 + 6.23748360648741E-0002 6.23129604289840E-0002 6.22511350513511E-0002 6.21893598994938E-0002 6.21276349409464E-0002 + 6.20659601432599E-0002 6.20043354740015E-0002 6.19427609007545E-0002 6.18812363911190E-0002 6.18197619127109E-0002 + 6.17583374331626E-0002 6.16969629201229E-0002 6.16356383412566E-0002 6.15743636642451E-0002 6.15131388567859E-0002 + 6.14519638865927E-0002 6.13908387213955E-0002 6.13297633289407E-0002 6.12687376769907E-0002 6.12077617333244E-0002 + 6.11468354657368E-0002 6.10859588420388E-0002 6.10251318300582E-0002 6.09643543976385E-0002 6.09036265126396E-0002 + 6.08429481429375E-0002 6.07823192564243E-0002 6.07217398210087E-0002 6.06612098046151E-0002 6.06007291751844E-0002 + 6.05402979006734E-0002 6.04799159490554E-0002 6.04195832883194E-0002 6.03592998864711E-0002 6.02990657115318E-0002 + 6.02388807315393E-0002 6.01787449145474E-0002 6.01186582286260E-0002 6.00586206418611E-0002 5.99986321223550E-0002 + 5.99386926382257E-0002 5.98788021576078E-0002 5.98189606486516E-0002 5.97591680795238E-0002 5.96994244184067E-0002 + 5.96397296334993E-0002 5.95800836930161E-0002 5.95204865651880E-0002 5.94609382182618E-0002 5.94014386205004E-0002 + 5.93419877401828E-0002 5.92825855456039E-0002 5.92232320050747E-0002 5.91639270869222E-0002 5.91046707594894E-0002 + 5.90454629911354E-0002 5.89863037502352E-0002 5.89271930051798E-0002 5.88681307243762E-0002 5.88091168762475E-0002 + 5.87501514292326E-0002 5.86912343517864E-0002 5.86323656123799E-0002 5.85735451794998E-0002 5.85147730216491E-0002 + 5.84560491073464E-0002 5.83973734051266E-0002 5.83387458835401E-0002 5.82801665111535E-0002 5.82216352565493E-0002 + 5.81631520883259E-0002 5.81047169750976E-0002 5.80463298854945E-0002 5.79879907881628E-0002 5.79296996517644E-0002 + 5.78714564449771E-0002 5.78132611364947E-0002 5.77551136950267E-0002 5.76970140892987E-0002 5.76389622880518E-0002 + 5.75809582600434E-0002 5.75230019740463E-0002 5.74650933988494E-0002 5.74072325032575E-0002 5.73494192560909E-0002 + 5.72916536261860E-0002 5.72339355823948E-0002 5.71762650935854E-0002 5.71186421286415E-0002 5.70610666564626E-0002 + 5.70035386459639E-0002 5.69460580660766E-0002 5.68886248857476E-0002 5.68312390739394E-0002 5.67739005996305E-0002 + 5.67166094318150E-0002 5.66593655395027E-0002 5.66021688917194E-0002 5.65450194575064E-0002 5.64879172059208E-0002 + 5.64308621060354E-0002 5.63738541269389E-0002 5.63168932377354E-0002 5.62599794075449E-0002 5.62031126055031E-0002 + 5.61462928007613E-0002 5.60895199624866E-0002 5.60327940598617E-0002 5.59761150620849E-0002 5.59194829383705E-0002 + 5.58628976579479E-0002 5.58063591900628E-0002 5.57498675039761E-0002 5.56934225689645E-0002 5.56370243543202E-0002 + 5.55806728293513E-0002 5.55243679633813E-0002 5.54681097257494E-0002 5.54118980858104E-0002 5.53557330129345E-0002 + 5.52996144765081E-0002 5.52435424459325E-0002 5.51875168906250E-0002 5.51315377800183E-0002 5.50756050835608E-0002 + 5.50197187707164E-0002 5.49638788109645E-0002 5.49080851738003E-0002 5.48523378287341E-0002 5.47966367452923E-0002 + 5.47409818930164E-0002 5.46853732414636E-0002 5.46298107602067E-0002 5.45742944188338E-0002 5.45188241869489E-0002 + 5.44634000341709E-0002 5.44080219301349E-0002 5.43526898444909E-0002 5.42974037469047E-0002 5.42421636070576E-0002 + 5.41869693946462E-0002 5.41318210793828E-0002 5.40767186309948E-0002 5.40216620192255E-0002 5.39666512138334E-0002 + 5.39116861845925E-0002 5.38567669012921E-0002 5.38018933337371E-0002 5.37470654517479E-0002 5.36922832251601E-0002 + 5.36375466238248E-0002 5.35828556176086E-0002 5.35282101763933E-0002 5.34736102700764E-0002 5.34190558685705E-0002 + 5.33645469418038E-0002 5.33100834597196E-0002 5.32556653922769E-0002 5.32012927094499E-0002 5.31469653812281E-0002 + 5.30926833776165E-0002 5.30384466686352E-0002 5.29842552243201E-0002 5.29301090147219E-0002 5.28760080099071E-0002 + 5.28219521799571E-0002 5.27679414949688E-0002 5.27139759250546E-0002 5.26600554403420E-0002 5.26061800109737E-0002 + 5.25523496071079E-0002 5.24985641989179E-0002 5.24448237565926E-0002 5.23911282503358E-0002 5.23374776503669E-0002 + 5.22838719269201E-0002 5.22303110502454E-0002 5.21767949906076E-0002 5.21233237182872E-0002 5.20698972035794E-0002 + 5.20165154167950E-0002 5.19631783282600E-0002 5.19098859083155E-0002 5.18566381273178E-0002 5.18034349556386E-0002 + 5.17502763636645E-0002 5.16971623217977E-0002 5.16440928004551E-0002 5.15910677700693E-0002 5.15380872010875E-0002 + 5.14851510639727E-0002 5.14322593292025E-0002 5.13794119672700E-0002 5.13266089486835E-0002 5.12738502439660E-0002 + 5.12211358236562E-0002 5.11684656583075E-0002 5.11158397184888E-0002 5.10632579747838E-0002 5.10107203977914E-0002 + 5.09582269581257E-0002 5.09057776264160E-0002 5.08533723733063E-0002 5.08010111694562E-0002 5.07486939855399E-0002 + 5.06964207922471E-0002 5.06441915602823E-0002 5.05920062603652E-0002 5.05398648632304E-0002 5.04877673396278E-0002 + 5.04357136603223E-0002 5.03837037960935E-0002 5.03317377177365E-0002 5.02798153960611E-0002 5.02279368018924E-0002 + 5.01761019060703E-0002 5.01243106794498E-0002 5.00725630929009E-0002 5.00208591173087E-0002 4.99691987235730E-0002 + 4.99175818826090E-0002 4.98660085653465E-0002 4.98144787427305E-0002 4.97629923857210E-0002 4.97115494652927E-0002 + 4.96601499524357E-0002 4.96087938181546E-0002 4.95574810334691E-0002 4.95062115694141E-0002 4.94549853970391E-0002 + 4.94038024874086E-0002 4.93526628116022E-0002 4.93015663407142E-0002 4.92505130458540E-0002 4.91995028981457E-0002 + 4.91485358687285E-0002 4.90976119287563E-0002 4.90467310493980E-0002 4.89958932018375E-0002 4.89450983572734E-0002 + 4.88943464869192E-0002 4.88436375620032E-0002 4.87929715537688E-0002 4.87423484334739E-0002 4.86917681723917E-0002 + 4.86412307418097E-0002 4.85907361130307E-0002 4.85402842573720E-0002 4.84898751461661E-0002 4.84395087507598E-0002 + 4.83891850425151E-0002 4.83389039928088E-0002 4.82886655730323E-0002 4.82384697545919E-0002 4.81883165089086E-0002 + 4.81382058074183E-0002 4.80881376215717E-0002 4.80381119228342E-0002 4.79881286826858E-0002 4.79381878726215E-0002 + 4.78882894641511E-0002 4.78384334287988E-0002 4.77886197381039E-0002 4.77388483636203E-0002 4.76891192769164E-0002 + 4.76394324495758E-0002 4.75897878531963E-0002 4.75401854593909E-0002 4.74906252397870E-0002 4.74411071660266E-0002 + 4.73916312097667E-0002 4.73421973426788E-0002 4.72928055364492E-0002 4.72434557627786E-0002 4.71941479933828E-0002 + 4.71448821999918E-0002 4.70956583543507E-0002 4.70464764282189E-0002 4.69973363933705E-0002 4.69482382215944E-0002 + 4.68991818846942E-0002 4.68501673544877E-0002 4.68011946028078E-0002 4.67522636015017E-0002 4.67033743224314E-0002 + 4.66545267374734E-0002 4.66057208185188E-0002 4.65569565374732E-0002 4.65082338662572E-0002 4.64595527768054E-0002 + 4.64109132410674E-0002 4.63623152310072E-0002 4.63137587186033E-0002 4.62652436758490E-0002 4.62167700747519E-0002 + 4.61683378873343E-0002 4.61199470856328E-0002 4.60715976416989E-0002 4.60232895275984E-0002 4.59750227154116E-0002 + 4.59267971772334E-0002 4.58786128851732E-0002 4.58304698113549E-0002 4.57823679279169E-0002 4.57343072070120E-0002 + 4.56862876208077E-0002 4.56383091414857E-0002 4.55903717412424E-0002 4.55424753922887E-0002 4.54946200668497E-0002 + 4.54468057371651E-0002 4.53990323754891E-0002 4.53512999540904E-0002 4.53036084452520E-0002 4.52559578212714E-0002 + 4.52083480544603E-0002 4.51607791171454E-0002 4.51132509816672E-0002 4.50657636203809E-0002 4.50183170056562E-0002 + 4.49709111098769E-0002 4.49235459054414E-0002 4.48762213647625E-0002 4.48289374602674E-0002 4.47816941643974E-0002 + 4.47344914496085E-0002 4.46873292883710E-0002 4.46402076531694E-0002 4.45931265165027E-0002 4.45460858508841E-0002 + 4.44990856288414E-0002 4.44521258229166E-0002 4.44052064056658E-0002 4.43583273496598E-0002 4.43114886274834E-0002 + 4.42646902117360E-0002 4.42179320750312E-0002 4.41712141899968E-0002 4.41245365292749E-0002 4.40778990655220E-0002 + 4.40313017714089E-0002 4.39847446196205E-0002 4.39382275828563E-0002 4.38917506338295E-0002 4.38453137452683E-0002 + 4.37989168899145E-0002 4.37525600405246E-0002 4.37062431698690E-0002 4.36599662507326E-0002 4.36137292559144E-0002 + 4.35675321582277E-0002 4.35213749304999E-0002 4.34752575455728E-0002 4.34291799763021E-0002 4.33831421955581E-0002 + 4.33371441762251E-0002 4.32911858912015E-0002 4.32452673133999E-0002 4.31993884157474E-0002 4.31535491711849E-0002 + 4.31077495526676E-0002 4.30619895331648E-0002 4.30162690856602E-0002 4.29705881831513E-0002 4.29249467986500E-0002 + 4.28793449051823E-0002 4.28337824757882E-0002 4.27882594835219E-0002 4.27427759014519E-0002 4.26973317026606E-0002 + 4.26519268602445E-0002 4.26065613473143E-0002 4.25612351369948E-0002 4.25159482024250E-0002 4.24707005167577E-0002 + 4.24254920531600E-0002 4.23803227848129E-0002 4.23351926849119E-0002 4.22901017266660E-0002 4.22450498832986E-0002 + 4.22000371280471E-0002 4.21550634341628E-0002 4.21101287749114E-0002 4.20652331235722E-0002 4.20203764534389E-0002 + 4.19755587378189E-0002 4.19307799500339E-0002 4.18860400634195E-0002 4.18413390513252E-0002 4.17966768871147E-0002 + 4.17520535441656E-0002 4.17074689958695E-0002 4.16629232156320E-0002 4.16184161768727E-0002 4.15739478530250E-0002 + 4.15295182175366E-0002 4.14851272438688E-0002 4.14407749054972E-0002 4.13964611759111E-0002 4.13521860286138E-0002 + 4.13079494371226E-0002 4.12637513749688E-0002 4.12195918156974E-0002 4.11754707328676E-0002 4.11313881000523E-0002 + 4.10873438908385E-0002 4.10433380788268E-0002 4.09993706376321E-0002 4.09554415408829E-0002 4.09115507622217E-0002 + 4.08676982753050E-0002 4.08238840538029E-0002 4.07801080713996E-0002 4.07363703017930E-0002 4.06926707186952E-0002 + 4.06490092958316E-0002 4.06053860069421E-0002 4.05618008257798E-0002 4.05182537261121E-0002 4.04747446817202E-0002 + 4.04312736663988E-0002 4.03878406539567E-0002 4.03444456182166E-0002 4.03010885330147E-0002 4.02577693722012E-0002 + 4.02144881096401E-0002 4.01712447192093E-0002 4.01280391748001E-0002 4.00848714503180E-0002 4.00417415196821E-0002 + 3.99986493568253E-0002 3.99555949356942E-0002 3.99125782302493E-0002 3.98695992144647E-0002 3.98266578623284E-0002 + 3.97837541478421E-0002 3.97408880450211E-0002 3.96980595278945E-0002 3.96552685705054E-0002 3.96125151469102E-0002 + 3.95697992311792E-0002 3.95271207973965E-0002 3.94844798196599E-0002 3.94418762720807E-0002 3.93993101287841E-0002 + 3.93567813639088E-0002 3.93142899516074E-0002 3.92718358660460E-0002 3.92294190814045E-0002 3.91870395718764E-0002 + 3.91446973116689E-0002 3.91023922750027E-0002 3.90601244361124E-0002 3.90178937692461E-0002 3.89757002486655E-0002 + 3.89335438486460E-0002 3.88914245434767E-0002 3.88493423074601E-0002 3.88072971149127E-0002 3.87652889401641E-0002 + 3.87233177575579E-0002 3.86813835414512E-0002 3.86394862662147E-0002 3.85976259062325E-0002 3.85558024359026E-0002 + 3.85140158296363E-0002 3.84722660618587E-0002 3.84305531070083E-0002 3.83888769395372E-0002 3.83472375339111E-0002 + 3.83056348646093E-0002 3.82640689061245E-0002 3.82225396329630E-0002 3.81810470196446E-0002 3.81395910407027E-0002 + 3.80981716706843E-0002 3.80567888841498E-0002 3.80154426556730E-0002 3.79741329598414E-0002 3.79328597712558E-0002 + 3.78916230645309E-0002 3.78504228142944E-0002 3.78092589951878E-0002 3.77681315818658E-0002 3.77270405489970E-0002 + 3.76859858712631E-0002 3.76449675233594E-0002 3.76039854799946E-0002 3.75630397158909E-0002 3.75221302057840E-0002 + 3.74812569244229E-0002 3.74404198465702E-0002 3.73996189470017E-0002 3.73588542005068E-0002 3.73181255818884E-0002 + 3.72774330659626E-0002 3.72367766275590E-0002 3.71961562415205E-0002 3.71555718827038E-0002 3.71150235259784E-0002 + 3.70745111462276E-0002 3.70340347183480E-0002 3.69935942172493E-0002 3.69531896178551E-0002 3.69128208951019E-0002 + 3.68724880239398E-0002 3.68321909793321E-0002 3.67919297362555E-0002 3.67517042697002E-0002 3.67115145546695E-0002 + 3.66713605661801E-0002 3.66312422792621E-0002 3.65911596689589E-0002 3.65511127103271E-0002 3.65111013784369E-0002 + 3.64711256483714E-0002 3.64311854952272E-0002 3.63912808941144E-0002 3.63514118201560E-0002 3.63115782484885E-0002 + 3.62717801542617E-0002 3.62320175126386E-0002 3.61922902987954E-0002 3.61525984879217E-0002 3.61129420552203E-0002 + 3.60733209759072E-0002 3.60337352252117E-0002 3.59941847783764E-0002 3.59546696106569E-0002 3.59151896973224E-0002 + 3.58757450136549E-0002 3.58363355349500E-0002 3.57969612365162E-0002 3.57576220936755E-0002 3.57183180817628E-0002 + 3.56790491761263E-0002 3.56398153521276E-0002 3.56006165851413E-0002 3.55614528505551E-0002 3.55223241237699E-0002 + 3.54832303802000E-0002 3.54441715952726E-0002 3.54051477444283E-0002 3.53661588031205E-0002 3.53272047468161E-0002 + 3.52882855509949E-0002 3.52494011911501E-0002 3.52105516427876E-0002 3.51717368814270E-0002 3.51329568826004E-0002 + 3.50942116218536E-0002 3.50555010747451E-0002 3.50168252168466E-0002 3.49781840237430E-0002 3.49395774710322E-0002 + 3.49010055343253E-0002 3.48624681892463E-0002 3.48239654114324E-0002 3.47854971765339E-0002 3.47470634602140E-0002 + 3.47086642381492E-0002 3.46702994860289E-0002 3.46319691795555E-0002 3.45936732944446E-0002 3.45554118064248E-0002 + 3.45171846912377E-0002 3.44789919246378E-0002 3.44408334823929E-0002 3.44027093402835E-0002 3.43646194741035E-0002 + 3.43265638596594E-0002 3.42885424727711E-0002 3.42505552892710E-0002 3.42126022850051E-0002 3.41746834358318E-0002 + 3.41367987176230E-0002 3.40989481062631E-0002 3.40611315776498E-0002 3.40233491076936E-0002 3.39856006723182E-0002 + 3.39478862474598E-0002 3.39102058090681E-0002 3.38725593331052E-0002 3.38349467955466E-0002 3.37973681723805E-0002 + 3.37598234396080E-0002 3.37223125732431E-0002 3.36848355493131E-0002 3.36473923438577E-0002 3.36099829329298E-0002 + 3.35726072925950E-0002 3.35352653989321E-0002 3.34979572280325E-0002 3.34606827560006E-0002 3.34234419589537E-0002 + 3.33862348130219E-0002 3.33490612943483E-0002 3.33119213790888E-0002 3.32748150434120E-0002 3.32377422634997E-0002 + 3.32007030155461E-0002 3.31636972757587E-0002 3.31267250203575E-0002 3.30897862255756E-0002 3.30528808676586E-0002 + 3.30160089228652E-0002 3.29791703674669E-0002 3.29423651777478E-0002 3.29055933300049E-0002 3.28688548005483E-0002 + 3.28321495657003E-0002 3.27954776017966E-0002 3.27588388851853E-0002 3.27222333922274E-0002 3.26856610992967E-0002 + 3.26491219827797E-0002 3.26126160190757E-0002 3.25761431845967E-0002 3.25397034557677E-0002 3.25032968090260E-0002 + 3.24669232208221E-0002 3.24305826676190E-0002 3.23942751258924E-0002 3.23580005721309E-0002 3.23217589828356E-0002 + 3.22855503345206E-0002 3.22493746037125E-0002 3.22132317669505E-0002 3.21771218007869E-0002 3.21410446817863E-0002 + 3.21050003865261E-0002 3.20689888915966E-0002 3.20330101736005E-0002 3.19970642091533E-0002 3.19611509748831E-0002 + 3.19252704474309E-0002 3.18894226034500E-0002 3.18536074196065E-0002 3.18178248725794E-0002 3.17820749390599E-0002 + 3.17463575957522E-0002 3.17106728193730E-0002 3.16750205866515E-0002 3.16394008743297E-0002 3.16038136591623E-0002 + 3.15682589179163E-0002 3.15327366273716E-0002 3.14972467643205E-0002 3.14617893055680E-0002 3.14263642279317E-0002 + 3.13909715082418E-0002 3.13556111233410E-0002 3.13202830500846E-0002 3.12849872653405E-0002 3.12497237459891E-0002 + 3.12144924689236E-0002 3.11792934110493E-0002 3.11441265492846E-0002 3.11089918605599E-0002 3.10738893218186E-0002 + 3.10388189100164E-0002 3.10037806021215E-0002 3.09687743751148E-0002 3.09338002059895E-0002 3.08988580717514E-0002 + 3.08639479494190E-0002 3.08290698160230E-0002 3.07942236486068E-0002 3.07594094242262E-0002 3.07246271199496E-0002 + 3.06898767128576E-0002 3.06551581800437E-0002 3.06204714986135E-0002 3.05858166456853E-0002 3.05511935983897E-0002 + 3.05166023338699E-0002 3.04820428292815E-0002 3.04475150617925E-0002 3.04130190085834E-0002 3.03785546468472E-0002 + 3.03441219537890E-0002 3.03097209066268E-0002 3.02753514825907E-0002 3.02410136589233E-0002 3.02067074128796E-0002 + 3.01724327217271E-0002 3.01381895627456E-0002 3.01039779132273E-0002 3.00697977504769E-0002 3.00356490518112E-0002 + 3.00015317945598E-0002 2.99674459560643E-0002 2.99333915136788E-0002 2.98993684447699E-0002 2.98653767267164E-0002 + 2.98314163369095E-0002 2.97974872527528E-0002 2.97635894516621E-0002 2.97297229110656E-0002 2.96958876084040E-0002 + 2.96620835211302E-0002 2.96283106267092E-0002 2.95945689026188E-0002 2.95608583263487E-0002 2.95271788754011E-0002 + 2.94935305272905E-0002 2.94599132595436E-0002 2.94263270496994E-0002 2.93927718753094E-0002 2.93592477139371E-0002 + 2.93257545431585E-0002 2.92922923405617E-0002 2.92588610837471E-0002 2.92254607503276E-0002 2.91920913179280E-0002 + 2.91587527641855E-0002 2.91254450667497E-0002 2.90921682032821E-0002 2.90589221514569E-0002 2.90257068889601E-0002 + 2.89925223934901E-0002 2.89593686427576E-0002 2.89262456144854E-0002 2.88931532864086E-0002 2.88600916362744E-0002 + 2.88270606418424E-0002 2.87940602808840E-0002 2.87610905311832E-0002 2.87281513705361E-0002 2.86952427767509E-0002 + 2.86623647276479E-0002 2.86295172010597E-0002 2.85967001748311E-0002 2.85639136268189E-0002 2.85311575348922E-0002 + 2.84984318769322E-0002 2.84657366308322E-0002 2.84330717744978E-0002 2.84004372858465E-0002 2.83678331428082E-0002 + 2.83352593233246E-0002 2.83027158053499E-0002 2.82702025668500E-0002 2.82377195858034E-0002 2.82052668402002E-0002 + 2.81728443080429E-0002 2.81404519673461E-0002 2.81080897961363E-0002 2.80757577724524E-0002 2.80434558743450E-0002 + 2.80111840798771E-0002 2.79789423671235E-0002 2.79467307141713E-0002 2.79145490991196E-0002 2.78823975000794E-0002 + 2.78502758951740E-0002 2.78181842625385E-0002 2.77861225803203E-0002 2.77540908266785E-0002 2.77220889797845E-0002 + 2.76901170178217E-0002 2.76581749189854E-0002 2.76262626614830E-0002 2.75943802235340E-0002 2.75625275833696E-0002 + 2.75307047192334E-0002 2.74989116093806E-0002 2.74671482320788E-0002 2.74354145656071E-0002 2.74037105882572E-0002 + 2.73720362783321E-0002 2.73403916141473E-0002 2.73087765740301E-0002 2.72771911363195E-0002 2.72456352793668E-0002 + 2.72141089815352E-0002 2.71826122211998E-0002 2.71511449767474E-0002 2.71197072265772E-0002 2.70882989490999E-0002 + 2.70569201227385E-0002 2.70255707259275E-0002 2.69942507371137E-0002 2.69629601347557E-0002 2.69316988973239E-0002 + 2.69004670033006E-0002 2.68692644311802E-0002 2.68380911594687E-0002 2.68069471666842E-0002 2.67758324313567E-0002 + 2.67447469320280E-0002 2.67136906472516E-0002 2.66826635555932E-0002 2.66516656356301E-0002 2.66206968659516E-0002 + 2.65897572251588E-0002 2.65588466918646E-0002 2.65279652446939E-0002 2.64971128622833E-0002 2.64662895232811E-0002 + 2.64354952063478E-0002 2.64047298901554E-0002 2.63739935533879E-0002 2.63432861747410E-0002 2.63126077329222E-0002 + 2.62819582066509E-0002 2.62513375746582E-0002 2.62207458156871E-0002 2.61901829084923E-0002 2.61596488318403E-0002 + 2.61291435645094E-0002 2.60986670852896E-0002 2.60682193729828E-0002 2.60378004064026E-0002 2.60074101643743E-0002 + 2.59770486257350E-0002 2.59467157693335E-0002 2.59164115740305E-0002 2.58861360186983E-0002 2.58558890822209E-0002 + 2.58256707434941E-0002 2.57954809814255E-0002 2.57653197749343E-0002 2.57351871029514E-0002 2.57050829444194E-0002 + 2.56750072782928E-0002 2.56449600835376E-0002 2.56149413391316E-0002 2.55849510240642E-0002 2.55549891173364E-0002 + 2.55250555979613E-0002 2.54951504449631E-0002 2.54652736373781E-0002 2.54354251542541E-0002 2.54056049746505E-0002 + 2.53758130776385E-0002 2.53460494423008E-0002 2.53163140477320E-0002 2.52866068730380E-0002 2.52569278973366E-0002 + 2.52272770997571E-0002 2.51976544594405E-0002 2.51680599555393E-0002 2.51384935672177E-0002 2.51089552736516E-0002 + 2.50794450540283E-0002 2.50499628875469E-0002 2.50205087534180E-0002 2.49910826308638E-0002 2.49616844991181E-0002 + 2.49323143374262E-0002 2.49029721250452E-0002 2.48736578412434E-0002 2.48443714653012E-0002 2.48151129765100E-0002 + 2.47858823541731E-0002 2.47566795776052E-0002 2.47275046261327E-0002 2.46983574790935E-0002 2.46692381158368E-0002 + 2.46401465157238E-0002 2.46110826581267E-0002 2.45820465224297E-0002 2.45530380880281E-0002 2.45240573343291E-0002 + 2.44951042407511E-0002 2.44661787867242E-0002 2.44372809516899E-0002 2.44084107151012E-0002 2.43795680564227E-0002 + 2.43507529551303E-0002 2.43219653907115E-0002 2.42932053426653E-0002 2.42644727905021E-0002 2.42357677137439E-0002 + 2.42070900919239E-0002 2.41784399045870E-0002 2.41498171312894E-0002 2.41212217515989E-0002 2.40926537450946E-0002 + 2.40641130913672E-0002 2.40355997700185E-0002 2.40071137606621E-0002 2.39786550429229E-0002 2.39502235964371E-0002 + 2.39218194008525E-0002 2.38934424358281E-0002 2.38650926810346E-0002 2.38367701161537E-0002 2.38084747208789E-0002 + 2.37802064749148E-0002 2.37519653579775E-0002 2.37237513497945E-0002 2.36955644301046E-0002 2.36674045786580E-0002 + 2.36392717752163E-0002 2.36111659995525E-0002 2.35830872314508E-0002 2.35550354507069E-0002 2.35270106371277E-0002 + 2.34990127705317E-0002 2.34710418307484E-0002 2.34430977976189E-0002 2.34151806509956E-0002 2.33872903707419E-0002 + 2.33594269367330E-0002 2.33315903288552E-0002 2.33037805270059E-0002 2.32759975110942E-0002 2.32482412610401E-0002 + 2.32205117567752E-0002 2.31928089782423E-0002 2.31651329053954E-0002 2.31374835181998E-0002 2.31098607966322E-0002 + 2.30822647206805E-0002 2.30546952703439E-0002 2.30271524256326E-0002 2.29996361665685E-0002 2.29721464731844E-0002 + 2.29446833255245E-0002 2.29172467036441E-0002 2.28898365876101E-0002 2.28624529575001E-0002 2.28350957934034E-0002 + 2.28077650754202E-0002 2.27804607836622E-0002 2.27531828982520E-0002 2.27259313993236E-0002 2.26987062670223E-0002 + 2.26715074815044E-0002 2.26443350229374E-0002 2.26171888715001E-0002 2.25900690073825E-0002 2.25629754107857E-0002 + 2.25359080619220E-0002 2.25088669410148E-0002 2.24818520282987E-0002 2.24548633040197E-0002 2.24279007484346E-0002 + 2.24009643418116E-0002 2.23740540644299E-0002 2.23471698965798E-0002 2.23203118185630E-0002 2.22934798106921E-0002 + 2.22666738532910E-0002 2.22398939266944E-0002 2.22131400112485E-0002 2.21864120873104E-0002 2.21597101352484E-0002 + 2.21330341354419E-0002 2.21063840682813E-0002 2.20797599141682E-0002 2.20531616535152E-0002 2.20265892667462E-0002 + 2.20000427342958E-0002 2.19735220366102E-0002 2.19470271541461E-0002 2.19205580673716E-0002 2.18941147567660E-0002 + 2.18676972028192E-0002 2.18413053860326E-0002 2.18149392869184E-0002 2.17885988860000E-0002 2.17622841638116E-0002 + 2.17359951008987E-0002 2.17097316778177E-0002 2.16834938751360E-0002 2.16572816734321E-0002 2.16310950532955E-0002 + 2.16049339953266E-0002 2.15787984801371E-0002 2.15526884883493E-0002 2.15266040005968E-0002 2.15005449975240E-0002 + 2.14745114597865E-0002 2.14485033680508E-0002 2.14225207029942E-0002 2.13965634453052E-0002 2.13706315756831E-0002 + 2.13447250748384E-0002 2.13188439234923E-0002 2.12929881023772E-0002 2.12671575922362E-0002 2.12413523738236E-0002 + 2.12155724279043E-0002 2.11898177352546E-0002 2.11640882766613E-0002 2.11383840329224E-0002 2.11127049848467E-0002 + 2.10870511132539E-0002 2.10614223989748E-0002 2.10358188228510E-0002 2.10102403657347E-0002 2.09846870084896E-0002 + 2.09591587319899E-0002 2.09336555171207E-0002 2.09081773447780E-0002 2.08827241958689E-0002 2.08572960513112E-0002 + 2.08318928920334E-0002 2.08065146989753E-0002 2.07811614530872E-0002 2.07558331353304E-0002 2.07305297266770E-0002 + 2.07052512081101E-0002 2.06799975606234E-0002 2.06547687652216E-0002 2.06295648029202E-0002 2.06043856547456E-0002 + 2.05792313017350E-0002 2.05541017249362E-0002 2.05289969054082E-0002 2.05039168242205E-0002 2.04788614624536E-0002 + 2.04538308011987E-0002 2.04288248215578E-0002 2.04038435046438E-0002 2.03788868315803E-0002 2.03539547835016E-0002 + 2.03290473415530E-0002 2.03041644868904E-0002 2.02793062006806E-0002 2.02544724641010E-0002 2.02296632583398E-0002 + 2.02048785645962E-0002 2.01801183640799E-0002 2.01553826380114E-0002 2.01306713676220E-0002 2.01059845341536E-0002 + 2.00813221188591E-0002 2.00566841030019E-0002 2.00320704678561E-0002 2.00074811947068E-0002 1.99829162648495E-0002 + 1.99583756595905E-0002 1.99338593602471E-0002 1.99093673481468E-0002 1.98848996046282E-0002 1.98604561110404E-0002 + 1.98360368487433E-0002 1.98116417991074E-0002 1.97872709435139E-0002 1.97629242633546E-0002 1.97386017400322E-0002 + 1.97143033549599E-0002 1.96900290895615E-0002 1.96657789252716E-0002 1.96415528435354E-0002 1.96173508258087E-0002 + 1.95931728535580E-0002 1.95690189082605E-0002 1.95448889714040E-0002 1.95207830244867E-0002 1.94967010490178E-0002 + 1.94726430265169E-0002 1.94486089385142E-0002 1.94245987665507E-0002 1.94006124921778E-0002 1.93766500969575E-0002 + 1.93527115624627E-0002 1.93287968702765E-0002 1.93049060019929E-0002 1.92810389392162E-0002 1.92571956635616E-0002 + 1.92333761566546E-0002 1.92095804001315E-0002 1.91858083756389E-0002 1.91620600648343E-0002 1.91383354493854E-0002 + 1.91146345109707E-0002 1.90909572312792E-0002 1.90673035920104E-0002 1.90436735748745E-0002 1.90200671615919E-0002 + 1.89964843338938E-0002 1.89729250735218E-0002 1.89493893622283E-0002 1.89258771817758E-0002 1.89023885139375E-0002 + 1.88789233404973E-0002 1.88554816432493E-0002 1.88320634039983E-0002 1.88086686045594E-0002 1.87852972267585E-0002 + 1.87619492524316E-0002 1.87386246634255E-0002 1.87153234415974E-0002 1.86920455688149E-0002 1.86687910269561E-0002 + 1.86455597979095E-0002 1.86223518635742E-0002 1.85991672058597E-0002 1.85760058066859E-0002 1.85528676479833E-0002 + 1.85297527116925E-0002 1.85066609797650E-0002 1.84835924341623E-0002 1.84605470568567E-0002 1.84375248298306E-0002 + 1.84145257350771E-0002 1.83915497545995E-0002 1.83685968704116E-0002 1.83456670645376E-0002 1.83227603190121E-0002 + 1.82998766158802E-0002 1.82770159371972E-0002 1.82541782650289E-0002 1.82313635814514E-0002 1.82085718685514E-0002 + 1.81858031084258E-0002 1.81630572831817E-0002 1.81403343749371E-0002 1.81176343658197E-0002 1.80949572379680E-0002 + 1.80723029735308E-0002 1.80496715546671E-0002 1.80270629635464E-0002 1.80044771823484E-0002 1.79819141932632E-0002 + 1.79593739784913E-0002 1.79368565202434E-0002 1.79143618007406E-0002 1.78918898022144E-0002 1.78694405069063E-0002 + 1.78470138970686E-0002 1.78246099549634E-0002 1.78022286628634E-0002 1.77798700030515E-0002 1.77575339578211E-0002 + 1.77352205094754E-0002 1.77129296403284E-0002 1.76906613327042E-0002 1.76684155689369E-0002 1.76461923313713E-0002 + 1.76239916023623E-0002 1.76018133642749E-0002 1.75796575994845E-0002 1.75575242903768E-0002 1.75354134193478E-0002 + 1.75133249688034E-0002 1.74912589211601E-0002 1.74692152588445E-0002 1.74471939642934E-0002 1.74251950199539E-0002 + 1.74032184082833E-0002 1.73812641117490E-0002 1.73593321128288E-0002 1.73374223940106E-0002 1.73155349377925E-0002 + 1.72936697266828E-0002 1.72718267432001E-0002 1.72500059698730E-0002 1.72282073892405E-0002 1.72064309838516E-0002 + 1.71846767362656E-0002 1.71629446290519E-0002 1.71412346447901E-0002 1.71195467660699E-0002 1.70978809754913E-0002 + 1.70762372556643E-0002 1.70546155892092E-0002 1.70330159587563E-0002 1.70114383469462E-0002 1.69898827364295E-0002 + 1.69683491098669E-0002 1.69468374499295E-0002 1.69253477392982E-0002 1.69038799606642E-0002 1.68824340967287E-0002 + 1.68610101302033E-0002 1.68396080438093E-0002 1.68182278202783E-0002 1.67968694423521E-0002 1.67755328927825E-0002 + 1.67542181543313E-0002 1.67329252097705E-0002 1.67116540418822E-0002 1.66904046334585E-0002 1.66691769673015E-0002 + 1.66479710262236E-0002 1.66267867930471E-0002 1.66056242506044E-0002 1.65844833817380E-0002 1.65633641693002E-0002 + 1.65422665961538E-0002 1.65211906451712E-0002 1.65001362992352E-0002 1.64791035412383E-0002 1.64580923540832E-0002 + 1.64371027206828E-0002 1.64161346239597E-0002 1.63951880468467E-0002 1.63742629722865E-0002 1.63533593832320E-0002 + 1.63324772626458E-0002 1.63116165935009E-0002 1.62907773587799E-0002 1.62699595414756E-0002 1.62491631245908E-0002 + 1.62283880911383E-0002 1.62076344241407E-0002 1.61869021066307E-0002 1.61661911216510E-0002 1.61455014522542E-0002 + 1.61248330815028E-0002 1.61041859924695E-0002 1.60835601682368E-0002 1.60629555918969E-0002 1.60423722465524E-0002 + 1.60218101153156E-0002 1.60012691813087E-0002 1.59807494276639E-0002 1.59602508375233E-0002 1.59397733940390E-0002 + 1.59193170803729E-0002 1.58988818796969E-0002 1.58784677751928E-0002 1.58580747500522E-0002 1.58377027874768E-0002 + 1.58173518706779E-0002 1.57970219828771E-0002 1.57767131073055E-0002 1.57564252272043E-0002 1.57361583258246E-0002 + 1.57159123864272E-0002 1.56956873922828E-0002 1.56754833266722E-0002 1.56553001728859E-0002 1.56351379142241E-0002 + 1.56149965339972E-0002 1.55948760155251E-0002 1.55747763421378E-0002 1.55546974971750E-0002 1.55346394639864E-0002 + 1.55146022259313E-0002 1.54945857663790E-0002 1.54745900687086E-0002 1.54546151163089E-0002 1.54346608925787E-0002 + 1.54147273809264E-0002 1.53948145647705E-0002 1.53749224275390E-0002 1.53550509526698E-0002 1.53352001236108E-0002 + 1.53153699238194E-0002 1.52955603367628E-0002 1.52757713459183E-0002 1.52560029347726E-0002 1.52362550868224E-0002 + 1.52165277855740E-0002 1.51968210145438E-0002 1.51771347572575E-0002 1.51574689972508E-0002 1.51378237180693E-0002 + 1.51181989032680E-0002 1.50985945364119E-0002 1.50790106010758E-0002 1.50594470808439E-0002 1.50399039593104E-0002 + 1.50203812200792E-0002 1.50008788467639E-0002 1.49813968229877E-0002 1.49619351323837E-0002 1.49424937585946E-0002 + 1.49230726852729E-0002 1.49036718960807E-0002 1.48842913746898E-0002 1.48649311047817E-0002 1.48455910700477E-0002 + 1.48262712541886E-0002 1.48069716409151E-0002 1.47876922139474E-0002 1.47684329570154E-0002 1.47491938538587E-0002 + 1.47299748882267E-0002 1.47107760438781E-0002 1.46915973045817E-0002 1.46724386541155E-0002 1.46533000762676E-0002 + 1.46341815548354E-0002 1.46150830736260E-0002 1.45960046164563E-0002 1.45769461671528E-0002 1.45579077095513E-0002 + 1.45388892274977E-0002 1.45198907048472E-0002 1.45009121254647E-0002 1.44819534732248E-0002 1.44630147320114E-0002 + 1.44440958857185E-0002 1.44251969182492E-0002 1.44063178135166E-0002 1.43874585554430E-0002 1.43686191279606E-0002 + 1.43497995150111E-0002 1.43309997005457E-0002 1.43122196685251E-0002 1.42934594029199E-0002 1.42747188877099E-0002 + 1.42559981068846E-0002 1.42372970444431E-0002 1.42186156843940E-0002 1.41999540107555E-0002 1.41813120075553E-0002 + 1.41626896588306E-0002 1.41440869486282E-0002 1.41255038610043E-0002 1.41069403800250E-0002 1.40883964897654E-0002 + 1.40698721743104E-0002 1.40513674177546E-0002 1.40328822042017E-0002 1.40144165177651E-0002 1.39959703425678E-0002 + 1.39775436627422E-0002 1.39591364624301E-0002 1.39407487257830E-0002 1.39223804369618E-0002 1.39040315801367E-0002 + 1.38857021394876E-0002 1.38673920992038E-0002 1.38491014434841E-0002 1.38308301565368E-0002 1.38125782225794E-0002 + 1.37943456258393E-0002 1.37761323505529E-0002 1.37579383809663E-0002 1.37397637013351E-0002 1.37216082959241E-0002 + 1.37034721490078E-0002 1.36853552448699E-0002 1.36672575678037E-0002 1.36491791021118E-0002 1.36311198321064E-0002 + 1.36130797421088E-0002 1.35950588164501E-0002 1.35770570394705E-0002 1.35590743955196E-0002 1.35411108689568E-0002 + 1.35231664441503E-0002 1.35052411054783E-0002 1.34873348373278E-0002 1.34694476240956E-0002 1.34515794501878E-0002 + 1.34337303000197E-0002 1.34159001580161E-0002 1.33980890086112E-0002 1.33802968362486E-0002 1.33625236253810E-0002 + 1.33447693604708E-0002 1.33270340259894E-0002 1.33093176064179E-0002 1.32916200862464E-0002 1.32739414499746E-0002 + 1.32562816821115E-0002 1.32386407671752E-0002 1.32210186896934E-0002 1.32034154342031E-0002 1.31858309852503E-0002 + 1.31682653273907E-0002 1.31507184451892E-0002 1.31331903232198E-0002 1.31156809460661E-0002 1.30981902983207E-0002 + 1.30807183645858E-0002 1.30632651294727E-0002 1.30458305776020E-0002 1.30284146936036E-0002 1.30110174621167E-0002 + 1.29936388677897E-0002 1.29762788952803E-0002 1.29589375292557E-0002 1.29416147543919E-0002 1.29243105553745E-0002 + 1.29070249168982E-0002 1.28897578236671E-0002 1.28725092603944E-0002 1.28552792118026E-0002 1.28380676626233E-0002 + 1.28208745975976E-0002 1.28037000014757E-0002 1.27865438590169E-0002 1.27694061549899E-0002 1.27522868741726E-0002 + 1.27351860013519E-0002 1.27181035213241E-0002 1.27010394188947E-0002 1.26839936788784E-0002 1.26669662860991E-0002 + 1.26499572253897E-0002 1.26329664815926E-0002 1.26159940395591E-0002 1.25990398841499E-0002 1.25821040002348E-0002 + 1.25651863726926E-0002 1.25482869864116E-0002 1.25314058262890E-0002 1.25145428772312E-0002 1.24976981241538E-0002 + 1.24808715519817E-0002 1.24640631456487E-0002 1.24472728900978E-0002 1.24305007702813E-0002 1.24137467711604E-0002 + 1.23970108777056E-0002 1.23802930748964E-0002 1.23635933477217E-0002 1.23469116811791E-0002 1.23302480602757E-0002 + 1.23136024700274E-0002 1.22969748954595E-0002 1.22803653216062E-0002 1.22637737335108E-0002 1.22472001162258E-0002 + 1.22306444548128E-0002 1.22141067343424E-0002 1.21975869398943E-0002 1.21810850565573E-0002 1.21646010694292E-0002 + 1.21481349636171E-0002 1.21316867242369E-0002 1.21152563364138E-0002 1.20988437852817E-0002 1.20824490559840E-0002 + 1.20660721336729E-0002 1.20497130035097E-0002 1.20333716506647E-0002 1.20170480603172E-0002 1.20007422176558E-0002 + 1.19844541078777E-0002 1.19681837161896E-0002 1.19519310278069E-0002 1.19356960279541E-0002 1.19194787018648E-0002 + 1.19032790347815E-0002 1.18870970119557E-0002 1.18709326186480E-0002 1.18547858401279E-0002 1.18386566616741E-0002 + 1.18225450685741E-0002 1.18064510461243E-0002 1.17903745796303E-0002 1.17743156544067E-0002 1.17582742557768E-0002 + 1.17422503690732E-0002 1.17262439796372E-0002 1.17102550728192E-0002 1.16942836339786E-0002 1.16783296484837E-0002 + 1.16623931017117E-0002 1.16464739790488E-0002 1.16305722658902E-0002 1.16146879476400E-0002 1.15988210097111E-0002 + 1.15829714375255E-0002 1.15671392165142E-0002 1.15513243321169E-0002 1.15355267697824E-0002 1.15197465149683E-0002 + 1.15039835531412E-0002 1.14882378697766E-0002 1.14725094503587E-0002 1.14567982803810E-0002 1.14411043453456E-0002 + 1.14254276307636E-0002 1.14097681221549E-0002 1.13941258050484E-0002 1.13785006649818E-0002 1.13628926875017E-0002 + 1.13473018581637E-0002 1.13317281625320E-0002 1.13161715861799E-0002 1.13006321146895E-0002 1.12851097336516E-0002 + 1.12696044286662E-0002 1.12541161853419E-0002 1.12386449892961E-0002 1.12231908261552E-0002 1.12077536815544E-0002 + 1.11923335411377E-0002 1.11769303905579E-0002 1.11615442154767E-0002 1.11461750015646E-0002 1.11308227345010E-0002 + 1.11154873999739E-0002 1.11001689836803E-0002 1.10848674713259E-0002 1.10695828486253E-0002 1.10543151013019E-0002 + 1.10390642150878E-0002 1.10238301757239E-0002 1.10086129689601E-0002 1.09934125805547E-0002 1.09782289962752E-0002 + 1.09630622018975E-0002 1.09479121832066E-0002 1.09327789259960E-0002 1.09176624160682E-0002 1.09025626392342E-0002 + 1.08874795813140E-0002 1.08724132281363E-0002 1.08573635655384E-0002 1.08423305793665E-0002 1.08273142554756E-0002 + 1.08123145797291E-0002 1.07973315379996E-0002 1.07823651161680E-0002 1.07674153001243E-0002 1.07524820757669E-0002 + 1.07375654290032E-0002 1.07226653457491E-0002 1.07077818119294E-0002 1.06929148134773E-0002 1.06780643363351E-0002 + 1.06632303664534E-0002 1.06484128897919E-0002 1.06336118923188E-0002 1.06188273600108E-0002 1.06040592788536E-0002 + 1.05893076348414E-0002 1.05745724139771E-0002 1.05598536022724E-0002 1.05451511857474E-0002 1.05304651504312E-0002 + 1.05157954823612E-0002 1.05011421675838E-0002 1.04865051921539E-0002 1.04718845421350E-0002 1.04572802035992E-0002 + 1.04426921626275E-0002 1.04281204053094E-0002 1.04135649177428E-0002 1.03990256860347E-0002 1.03845026963002E-0002 + 1.03699959346635E-0002 1.03555053872572E-0002 1.03410310402224E-0002 1.03265728797091E-0002 1.03121308918755E-0002 + 1.02977050628889E-0002 1.02832953789249E-0002 1.02689018261676E-0002 1.02545243908100E-0002 1.02401630590535E-0002 + 1.02258178171080E-0002 1.02114886511922E-0002 1.01971755475332E-0002 1.01828784923668E-0002 1.01685974719373E-0002 + 1.01543324724976E-0002 1.01400834803091E-0002 1.01258504816419E-0002 1.01116334627743E-0002 1.00974324099937E-0002 + 1.00832473095956E-0002 1.00690781478842E-0002 1.00549249111722E-0002 1.00407875857810E-0002 1.00266661580402E-0002 + 1.00125606142884E-0002 9.99847094087222E-0003 9.98439712414710E-0003 9.97033915047693E-0003 9.95629700623412E-0003 + 9.94227067779958E-0003 9.92826015156273E-0003 9.91426541392145E-0003 9.90028645128221E-0003 9.88632325005988E-0003 + 9.87237579667786E-0003 9.85844407756805E-0003 9.84452807917078E-0003 9.83062778793495E-0003 9.81674319031784E-0003 + 9.80287427278525E-0003 9.78902102181144E-0003 9.77518342387912E-0003 9.76136146547950E-0003 9.74755513311220E-0003 + 9.73376441328530E-0003 9.71998929251534E-0003 9.70622975732733E-0003 9.69248579425467E-0003 9.67875738983923E-0003 + 9.66504453063130E-0003 9.65134720318959E-0003 9.63766539408128E-0003 9.62399908988193E-0003 9.61034827717553E-0003 + 9.59671294255449E-0003 9.58309307261960E-0003 9.56948865398013E-0003 9.55589967325369E-0003 9.54232611706629E-0003 + 9.52876797205236E-0003 9.51522522485473E-0003 9.50169786212459E-0003 9.48818587052155E-0003 9.47468923671355E-0003 + 9.46120794737694E-0003 9.44774198919646E-0003 9.43429134886520E-0003 9.42085601308460E-0003 9.40743596856449E-0003 + 9.39403120202304E-0003 9.38064170018679E-0003 9.36726744979062E-0003 9.35390843757777E-0003 9.34056465029978E-0003 + 9.32723607471661E-0003 9.31392269759649E-0003 9.30062450571601E-0003 9.28734148586007E-0003 9.27407362482191E-0003 + 9.26082090940309E-0003 9.24758332641350E-0003 9.23436086267132E-0003 9.22115350500305E-0003 9.20796124024348E-0003 + 9.19478405523576E-0003 9.18162193683126E-0003 9.16847487188972E-0003 9.15534284727909E-0003 9.14222584987570E-0003 + 9.12912386656409E-0003 9.11603688423713E-0003 9.10296488979593E-0003 9.08990787014988E-0003 9.07686581221667E-0003 + 9.06383870292223E-0003 9.05082652920075E-0003 9.03782927799469E-0003 9.02484693625474E-0003 9.01187949093989E-0003 + 8.99892692901734E-0003 8.98598923746253E-0003 8.97306640325914E-0003 8.96015841339913E-0003 8.94726525488265E-0003 + 8.93438691471808E-0003 8.92152337992203E-0003 8.90867463751934E-0003 8.89584067454308E-0003 8.88302147803450E-0003 + 8.87021703504308E-0003 8.85742733262651E-0003 8.84465235785066E-0003 8.83189209778964E-0003 8.81914653952574E-0003 + 8.80641567014941E-0003 8.79369947675932E-0003 8.78099794646233E-0003 8.76831106637346E-0003 8.75563882361593E-0003 + 8.74298120532110E-0003 8.73033819862852E-0003 8.71770979068594E-0003 8.70509596864921E-0003 8.69249671968238E-0003 + 8.67991203095765E-0003 8.66734188965534E-0003 8.65478628296397E-0003 8.64224519808018E-0003 8.62971862220875E-0003 + 8.61720654256256E-0003 8.60470894636272E-0003 8.59222582083837E-0003 8.57975715322683E-0003 8.56730293077353E-0003 + 8.55486314073200E-0003 8.54243777036393E-0003 8.53002680693909E-0003 8.51763023773535E-0003 8.50524805003871E-0003 + 8.49288023114324E-0003 8.48052676835115E-0003 8.46818764897270E-0003 8.45586286032628E-0003 8.44355238973831E-0003 + 8.43125622454336E-0003 8.41897435208404E-0003 8.40670675971103E-0003 8.39445343478311E-0003 8.38221436466708E-0003 + 8.36998953673787E-0003 8.35777893837843E-0003 8.34558255697976E-0003 8.33340037994094E-0003 8.32123239466907E-0003 + 8.30907858857934E-0003 8.29693894909494E-0003 8.28481346364712E-0003 8.27270211967514E-0003 8.26060490462634E-0003 + 8.24852180595606E-0003 8.23645281112765E-0003 8.22439790761251E-0003 8.21235708289002E-0003 8.20033032444763E-0003 + 8.18831761978075E-0003 8.17631895639282E-0003 8.16433432179527E-0003 8.15236370350753E-0003 8.14040708905706E-0003 + 8.12846446597927E-0003 8.11653582181756E-0003 8.10462114412334E-0003 8.09272042045599E-0003 8.08083363838287E-0003 + 8.06896078547931E-0003 8.05710184932861E-0003 8.04525681752202E-0003 8.03342567765881E-0003 8.02160841734615E-0003 + 8.00980502419920E-0003 7.99801548584104E-0003 7.98623978990273E-0003 7.97447792402328E-0003 7.96272987584962E-0003 + 7.95099563303662E-0003 7.93927518324708E-0003 7.92756851415177E-0003 7.91587561342934E-0003 7.90419646876639E-0003 + 7.89253106785743E-0003 7.88087939840488E-0003 7.86924144811912E-0003 7.85761720471837E-0003 7.84600665592880E-0003 + 7.83440978948447E-0003 7.82282659312734E-0003 7.81125705460727E-0003 7.79970116168202E-0003 7.78815890211721E-0003 + 7.77663026368636E-0003 7.76511523417089E-0003 7.75361380136007E-0003 7.74212595305106E-0003 7.73065167704888E-0003 + 7.71919096116641E-0003 7.70774379322443E-0003 7.69631016105154E-0003 7.68489005248422E-0003 7.67348345536679E-0003 + 7.66209035755141E-0003 7.65071074689813E-0003 7.63934461127479E-0003 7.62799193855709E-0003 7.61665271662857E-0003 + 7.60532693338059E-0003 7.59401457671236E-0003 7.58271563453089E-0003 7.57143009475101E-0003 7.56015794529538E-0003 + 7.54889917409448E-0003 7.53765376908660E-0003 7.52642171821780E-0003 7.51520300944199E-0003 7.50399763072085E-0003 + 7.49280557002387E-0003 7.48162681532834E-0003 7.47046135461932E-0003 7.45930917588964E-0003 7.44817026713998E-0003 + 7.43704461637873E-0003 7.42593221162208E-0003 7.41483304089399E-0003 7.40374709222618E-0003 7.39267435365817E-0003 + 7.38161481323720E-0003 7.37056845901827E-0003 7.35953527906415E-0003 7.34851526144535E-0003 7.33750839424016E-0003 + 7.32651466553456E-0003 7.31553406342230E-0003 7.30456657600485E-0003 7.29361219139145E-0003 7.28267089769903E-0003 + 7.27174268305226E-0003 7.26082753558354E-0003 7.24992544343295E-0003 7.23903639474835E-0003 7.22816037768526E-0003 + 7.21729738040694E-0003 7.20644739108432E-0003 7.19561039789606E-0003 7.18478638902852E-0003 7.17397535267573E-0003 + 7.16317727703944E-0003 7.15239215032905E-0003 7.14161996076168E-0003 7.13086069656211E-0003 7.12011434596281E-0003 + 7.10938089720392E-0003 7.09866033853322E-0003 7.08795265820621E-0003 7.07725784448602E-0003 7.06657588564343E-0003 + 7.05590676995691E-0003 7.04525048571254E-0003 7.03460702120409E-0003 7.02397636473296E-0003 7.01335850460818E-0003 + 7.00275342914642E-0003 6.99216112667201E-0003 6.98158158551689E-0003 6.97101479402063E-0003 6.96046074053043E-0003 + 6.94991941340110E-0003 6.93939080099509E-0003 6.92887489168244E-0003 6.91837167384082E-0003 6.90788113585549E-0003 + 6.89740326611932E-0003 6.88693805303280E-0003 6.87648548500399E-0003 6.86604555044855E-0003 6.85561823778973E-0003 + 6.84520353545838E-0003 6.83480143189293E-0003 6.82441191553937E-0003 6.81403497485128E-0003 6.80367059828981E-0003 + 6.79331877432369E-0003 6.78297949142921E-0003 6.77265273809021E-0003 6.76233850279810E-0003 6.75203677405184E-0003 + 6.74174754035795E-0003 6.73147079023051E-0003 6.72120651219111E-0003 6.71095469476890E-0003 6.70071532650059E-0003 + 6.69048839593040E-0003 6.68027389161007E-0003 6.67007180209890E-0003 6.65988211596369E-0003 6.64970482177878E-0003 + 6.63953990812601E-0003 6.62938736359475E-0003 6.61924717678187E-0003 6.60911933629174E-0003 6.59900383073626E-0003 + 6.58890064873481E-0003 6.57880977891428E-0003 6.56873120990903E-0003 6.55866493036094E-0003 6.54861092891937E-0003 + 6.53856919424114E-0003 6.52853971499057E-0003 6.51852247983946E-0003 6.50851747746708E-0003 6.49852469656016E-0003 + 6.48854412581290E-0003 6.47857575392698E-0003 6.46861956961151E-0003 6.45867556158309E-0003 6.44874371856575E-0003 + 6.43882402929096E-0003 6.42891648249766E-0003 6.41902106693223E-0003 6.40913777134848E-0003 6.39926658450765E-0003 + 6.38940749517842E-0003 6.37956049213690E-0003 6.36972556416664E-0003 6.35990270005858E-0003 6.35009188861110E-0003 + 6.34029311863000E-0003 6.33050637892846E-0003 6.32073165832712E-0003 6.31096894565399E-0003 6.30121822974448E-0003 + 6.29147949944140E-0003 6.28175274359498E-0003 6.27203795106283E-0003 6.26233511070992E-0003 6.25264421140864E-0003 + 6.24296524203873E-0003 6.23329819148736E-0003 6.22364304864903E-0003 6.21399980242561E-0003 6.20436844172636E-0003 + 6.19474895546789E-0003 6.18514133257419E-0003 6.17554556197658E-0003 6.16596163261376E-0003 6.15638953343176E-0003 + 6.14682925338398E-0003 6.13728078143115E-0003 6.12774410654134E-0003 6.11821921768996E-0003 6.10870610385975E-0003 + 6.09920475404081E-0003 6.08971515723053E-0003 6.08023730243363E-0003 6.07077117866217E-0003 6.06131677493551E-0003 + 6.05187408028034E-0003 6.04244308373065E-0003 6.03302377432773E-0003 6.02361614112019E-0003 6.01422017316393E-0003 + 6.00483585952216E-0003 5.99546318926537E-0003 5.98610215147135E-0003 5.97675273522516E-0003 5.96741492961917E-0003 + 5.95808872375302E-0003 5.94877410673362E-0003 5.93947106767516E-0003 5.93017959569909E-0003 5.92089967993415E-0003 + 5.91163130951634E-0003 5.90237447358889E-0003 5.89312916130232E-0003 5.88389536181438E-0003 5.87467306429011E-0003 + 5.86546225790175E-0003 5.85626293182881E-0003 5.84707507525803E-0003 5.83789867738340E-0003 5.82873372740614E-0003 + 5.81958021453469E-0003 5.81043812798473E-0003 5.80130745697914E-0003 5.79218819074806E-0003 5.78308031852882E-0003 + 5.77398382956597E-0003 5.76489871311126E-0003 5.75582495842367E-0003 5.74676255476938E-0003 5.73771149142174E-0003 + 5.72867175766134E-0003 5.71964334277593E-0003 5.71062623606048E-0003 5.70162042681713E-0003 5.69262590435519E-0003 + 5.68364265799119E-0003 5.67467067704879E-0003 5.66570995085887E-0003 5.65676046875946E-0003 5.64782222009575E-0003 + 5.63889519422010E-0003 5.62997938049204E-0003 5.62107476827825E-0003 5.61218134695256E-0003 5.60329910589596E-0003 + 5.59442803449658E-0003 5.58556812214970E-0003 5.57671935825775E-0003 5.56788173223028E-0003 5.55905523348399E-0003 + 5.55023985144268E-0003 5.54143557553733E-0003 5.53264239520600E-0003 5.52386029989390E-0003 5.51508927905334E-0003 + 5.50632932214374E-0003 5.49758041863166E-0003 5.48884255799075E-0003 5.48011572970176E-0003 5.47139992325253E-0003 + 5.46269512813806E-0003 5.45400133386037E-0003 5.44531852992861E-0003 5.43664670585901E-0003 5.42798585117489E-0003 + 5.41933595540665E-0003 5.41069700809178E-0003 5.40206899877481E-0003 5.39345191700739E-0003 5.38484575234820E-0003 + 5.37625049436301E-0003 5.36766613262464E-0003 5.35909265671297E-0003 5.35053005621494E-0003 5.34197832072455E-0003 + 5.33343743984284E-0003 5.32490740317789E-0003 5.31638820034483E-0003 5.30787982096583E-0003 5.29938225467010E-0003 + 5.29089549109389E-0003 5.28241951988045E-0003 5.27395433068008E-0003 5.26549991315010E-0003 5.25705625695486E-0003 + 5.24862335176571E-0003 5.24020118726102E-0003 5.23178975312616E-0003 5.22338903905354E-0003 5.21499903474253E-0003 + 5.20661972989954E-0003 5.19825111423794E-0003 5.18989317747813E-0003 5.18154590934748E-0003 5.17320929958035E-0003 + 5.16488333791809E-0003 5.15656801410902E-0003 5.14826331790845E-0003 5.13996923907867E-0003 5.13168576738892E-0003 + 5.12341289261543E-0003 5.11515060454137E-0003 5.10689889295691E-0003 5.09865774765914E-0003 5.09042715845213E-0003 + 5.08220711514688E-0003 5.07399760756136E-0003 5.06579862552049E-0003 5.05761015885611E-0003 5.04943219740701E-0003 + 5.04126473101891E-0003 5.03310774954447E-0003 5.02496124284329E-0003 5.01682520078188E-0003 5.00869961323367E-0003 + 5.00058447007902E-0003 4.99247976120521E-0003 4.98438547650642E-0003 4.97630160588376E-0003 4.96822813924522E-0003 + 4.96016506650571E-0003 4.95211237758706E-0003 4.94407006241796E-0003 4.93603811093402E-0003 4.92801651307772E-0003 + 4.92000525879845E-0003 4.91200433805248E-0003 4.90401374080294E-0003 4.89603345701987E-0003 4.88806347668015E-0003 + 4.88010378976758E-0003 4.87215438627278E-0003 4.86421525619327E-0003 4.85628638953341E-0003 4.84836777630441E-0003 + 4.84045940652438E-0003 4.83256127021824E-0003 4.82467335741779E-0003 4.81679565816165E-0003 4.80892816249528E-0003 + 4.80107086047103E-0003 4.79322374214802E-0003 4.78538679759226E-0003 4.77756001687653E-0003 4.76974339008051E-0003 + 4.76193690729065E-0003 4.75414055860024E-0003 4.74635433410938E-0003 4.73857822392498E-0003 4.73081221816079E-0003 + 4.72305630693735E-0003 4.71531048038199E-0003 4.70757472862886E-0003 4.69984904181890E-0003 4.69213341009987E-0003 + 4.68442782362628E-0003 4.67673227255946E-0003 4.66904674706751E-0003 4.66137123732533E-0003 4.65370573351458E-0003 + 4.64605022582372E-0003 4.63840470444796E-0003 4.63076915958928E-0003 4.62314358145645E-0003 4.61552796026499E-0003 + 4.60792228623717E-0003 4.60032654960205E-0003 4.59274074059539E-0003 4.58516484945976E-0003 4.57759886644445E-0003 + 4.57004278180548E-0003 4.56249658580564E-0003 4.55496026871446E-0003 4.54743382080817E-0003 4.53991723236977E-0003 + 4.53241049368897E-0003 4.52491359506220E-0003 4.51742652679263E-0003 4.50994927919016E-0003 4.50248184257136E-0003 + 4.49502420725957E-0003 4.48757636358479E-0003 4.48013830188376E-0003 4.47271001249992E-0003 4.46529148578340E-0003 + 4.45788271209102E-0003 4.45048368178634E-0003 4.44309438523955E-0003 4.43571481282757E-0003 4.42834495493399E-0003 + 4.42098480194907E-0003 4.41363434426980E-0003 4.40629357229977E-0003 4.39896247644932E-0003 4.39164104713539E-0003 + 4.38432927478163E-0003 4.37702714981834E-0003 4.36973466268249E-0003 4.36245180381770E-0003 4.35517856367423E-0003 + 4.34791493270901E-0003 4.34066090138562E-0003 4.33341646017427E-0003 4.32618159955181E-0003 4.31895631000175E-0003 + 4.31174058201421E-0003 4.30453440608597E-0003 4.29733777272041E-0003 4.29015067242755E-0003 4.28297309572403E-0003 + 4.27580503313313E-0003 4.26864647518471E-0003 4.26149741241527E-0003 4.25435783536789E-0003 4.24722773459232E-0003 + 4.24010710064485E-0003 4.23299592408840E-0003 4.22589419549248E-0003 4.21880190543319E-0003 4.21171904449325E-0003 + 4.20464560326195E-0003 4.19758157233514E-0003 4.19052694231530E-0003 4.18348170381145E-0003 4.17644584743922E-0003 + 4.16941936382079E-0003 4.16240224358491E-0003 4.15539447736691E-0003 4.14839605580868E-0003 4.14140696955867E-0003 + 4.13442720927188E-0003 4.12745676560987E-0003 4.12049562924076E-0003 4.11354379083921E-0003 4.10660124108644E-0003 + 4.09966797067018E-0003 4.09274397028473E-0003 4.08582923063091E-0003 4.07892374241608E-0003 4.07202749635414E-0003 + 4.06514048316550E-0003 4.05826269357710E-0003 4.05139411832240E-0003 4.04453474814138E-0003 4.03768457378054E-0003 + 4.03084358599288E-0003 4.02401177553792E-0003 4.01718913318167E-0003 4.01037564969667E-0003 4.00357131586193E-0003 + 3.99677612246297E-0003 3.98999006029180E-0003 3.98321312014694E-0003 3.97644529283336E-0003 3.96968656916255E-0003 + 3.96293693995245E-0003 3.95619639602750E-0003 3.94946492821862E-0003 3.94274252736318E-0003 3.93602918430504E-0003 + 3.92932488989449E-0003 3.92262963498834E-0003 3.91594341044981E-0003 3.90926620714860E-0003 3.90259801596086E-0003 + 3.89593882776919E-0003 3.88928863346263E-0003 3.88264742393669E-0003 3.87601519009328E-0003 3.86939192284079E-0003 + 3.86277761309402E-0003 3.85617225177421E-0003 3.84957582980904E-0003 3.84298833813259E-0003 3.83640976768538E-0003 + 3.82984010941436E-0003 3.82327935427289E-0003 3.81672749322073E-0003 3.81018451722406E-0003 3.80365041725547E-0003 + 3.79712518429398E-0003 3.79060880932496E-0003 3.78410128334021E-0003 3.77760259733793E-0003 3.77111274232271E-0003 + 3.76463170930552E-0003 3.75815948930373E-0003 3.75169607334107E-0003 3.74524145244768E-0003 3.73879561766007E-0003 + 3.73235856002112E-0003 3.72593027058007E-0003 3.71951074039256E-0003 3.71309996052056E-0003 3.70669792203243E-0003 + 3.70030461600289E-0003 3.69392003351299E-0003 3.68754416565016E-0003 3.68117700350817E-0003 3.67481853818714E-0003 + 3.66846876079354E-0003 3.66212766244017E-0003 3.65579523424617E-0003 3.64947146733704E-0003 3.64315635284458E-0003 + 3.63684988190694E-0003 3.63055204566859E-0003 3.62426283528031E-0003 3.61798224189924E-0003 3.61171025668881E-0003 + 3.60544687081875E-0003 3.59919207546513E-0003 3.59294586181032E-0003 3.58670822104300E-0003 3.58047914435814E-0003 + 3.57425862295702E-0003 3.56804664804721E-0003 3.56184321084258E-0003 3.55564830256330E-0003 3.54946191443582E-0003 + 3.54328403769285E-0003 3.53711466357342E-0003 3.53095378332282E-0003 3.52480138819262E-0003 3.51865746944066E-0003 + 3.51252201833106E-0003 3.50639502613419E-0003 3.50027648412670E-0003 3.49416638359150E-0003 3.48806471581774E-0003 + 3.48197147210084E-0003 3.47588664374249E-0003 3.46981022205058E-0003 3.46374219833930E-0003 3.45768256392905E-0003 + 3.45163131014648E-0003 3.44558842832448E-0003 3.43955390980216E-0003 3.43352774592489E-0003 3.42750992804425E-0003 + 3.42150044751802E-0003 3.41549929571027E-0003 3.40950646399122E-0003 3.40352194373735E-0003 3.39754572633133E-0003 + 3.39157780316206E-0003 3.38561816562463E-0003 3.37966680512035E-0003 3.37372371305672E-0003 3.36778888084744E-0003 + 3.36186229991242E-0003 3.35594396167775E-0003 3.35003385757571E-0003 3.34413197904477E-0003 3.33823831752958E-0003 + 3.33235286448099E-0003 3.32647561135600E-0003 3.32060654961780E-0003 3.31474567073575E-0003 3.30889296618539E-0003 + 3.30304842744842E-0003 3.29721204601268E-0003 3.29138381337222E-0003 3.28556372102719E-0003 3.27975176048395E-0003 + 3.27394792325498E-0003 3.26815220085890E-0003 3.26236458482051E-0003 3.25658506667072E-0003 3.25081363794660E-0003 + 3.24505029019136E-0003 3.23929501495432E-0003 3.23354780379094E-0003 3.22780864826285E-0003 3.22207753993774E-0003 + 3.21635447038947E-0003 3.21063943119799E-0003 3.20493241394938E-0003 3.19923341023585E-0003 3.19354241165569E-0003 + 3.18785940981332E-0003 3.18218439631925E-0003 3.17651736279010E-0003 3.17085830084860E-0003 3.16520720212355E-0003 + 3.15956405824987E-0003 3.15392886086856E-0003 3.14830160162669E-0003 3.14268227217745E-0003 3.13707086418008E-0003 + 3.13146736929992E-0003 3.12587177920837E-0003 3.12028408558292E-0003 3.11470428010712E-0003 3.10913235447058E-0003 + 3.10356830036899E-0003 3.09801210950408E-0003 3.09246377358366E-0003 3.08692328432160E-0003 3.08139063343780E-0003 + 3.07586581265822E-0003 3.07034881371486E-0003 3.06483962834579E-0003 3.05933824829509E-0003 3.05384466531289E-0003 + 3.04835887115536E-0003 3.04288085758469E-0003 3.03741061636913E-0003 3.03194813928291E-0003 3.02649341810632E-0003 + 3.02104644462566E-0003 3.01560721063324E-0003 3.01017570792740E-0003 3.00475192831249E-0003 2.99933586359885E-0003 + 2.99392750560285E-0003 2.98852684614685E-0003 2.98313387705922E-0003 2.97774859017432E-0003 2.97237097733251E-0003 + 2.96700103038013E-0003 2.96163874116954E-0003 2.95628410155904E-0003 2.95093710341296E-0003 2.94559773860157E-0003 + 2.94026599900116E-0003 2.93494187649396E-0003 2.92962536296819E-0003 2.92431645031802E-0003 2.91901513044361E-0003 + 2.91372139525107E-0003 2.90843523665248E-0003 2.90315664656587E-0003 2.89788561691521E-0003 2.89262213963046E-0003 + 2.88736620664750E-0003 2.88211780990815E-0003 2.87687694136021E-0003 2.87164359295737E-0003 2.86641775665931E-0003 + 2.86119942443161E-0003 2.85598858824580E-0003 2.85078524007931E-0003 2.84558937191553E-0003 2.84040097574376E-0003 + 2.83522004355923E-0003 2.83004656736306E-0003 2.82488053916231E-0003 2.81972195096996E-0003 2.81457079480487E-0003 + 2.80942706269182E-0003 2.80429074666151E-0003 2.79916183875050E-0003 2.79404033100130E-0003 2.78892621546227E-0003 + 2.78381948418768E-0003 2.77872012923770E-0003 2.77362814267837E-0003 2.76854351658162E-0003 2.76346624302526E-0003 + 2.75839631409298E-0003 2.75333372187434E-0003 2.74827845846478E-0003 2.74323051596560E-0003 2.73818988648397E-0003 + 2.73315656213294E-0003 2.72813053503138E-0003 2.72311179730407E-0003 2.71810034108160E-0003 2.71309615850045E-0003 + 2.70809924170292E-0003 2.70310958283717E-0003 2.69812717405721E-0003 2.69315200752288E-0003 2.68818407539985E-0003 + 2.68322336985966E-0003 2.67826988307964E-0003 2.67332360724299E-0003 2.66838453453871E-0003 2.66345265716162E-0003 + 2.65852796731239E-0003 2.65361045719748E-0003 2.64870011902919E-0003 2.64379694502561E-0003 2.63890092741066E-0003 + 2.63401205841405E-0003 2.62913033027132E-0003 2.62425573522377E-0003 2.61938826551855E-0003 2.61452791340855E-0003 + 2.60967467115252E-0003 2.60482853101494E-0003 2.59998948526611E-0003 2.59515752618210E-0003 2.59033264604478E-0003 + 2.58551483714179E-0003 2.58070409176653E-0003 2.57590040221821E-0003 2.57110376080178E-0003 2.56631415982796E-0003 + 2.56153159161326E-0003 2.55675604847993E-0003 2.55198752275599E-0003 2.54722600677521E-0003 2.54247149287711E-0003 + 2.53772397340699E-0003 2.53298344071586E-0003 2.52824988716051E-0003 2.52352330510343E-0003 2.51880368691291E-0003 + 2.51409102496293E-0003 2.50938531163323E-0003 2.50468653930925E-0003 2.49999470038220E-0003 2.49530978724900E-0003 + 2.49063179231228E-0003 2.48596070798041E-0003 2.48129652666747E-0003 2.47663924079325E-0003 2.47198884278327E-0003 + 2.46734532506874E-0003 2.46270868008659E-0003 2.45807890027944E-0003 2.45345597809564E-0003 2.44883990598920E-0003 + 2.44423067641986E-0003 2.43962828185303E-0003 2.43503271475983E-0003 2.43044396761706E-0003 2.42586203290719E-0003 + 2.42128690311838E-0003 2.41671857074449E-0003 2.41215702828504E-0003 2.40760226824521E-0003 2.40305428313588E-0003 + 2.39851306547358E-0003 2.39397860778051E-0003 2.38945090258453E-0003 2.38492994241916E-0003 2.38041571982359E-0003 + 2.37590822734265E-0003 2.37140745752683E-0003 2.36691340293225E-0003 2.36242605612072E-0003 2.35794540965964E-0003 + 2.35347145612209E-0003 2.34900418808677E-0003 2.34454359813802E-0003 2.34008967886582E-0003 2.33564242286577E-0003 + 2.33120182273909E-0003 2.32676787109265E-0003 2.32234056053891E-0003 2.31791988369598E-0003 2.31350583318756E-0003 + 2.30909840164298E-0003 2.30469758169718E-0003 2.30030336599070E-0003 2.29591574716968E-0003 2.29153471788588E-0003 + 2.28716027079665E-0003 2.28279239856494E-0003 2.27843109385929E-0003 2.27407634935384E-0003 2.26972815772830E-0003 + 2.26538651166799E-0003 2.26105140386380E-0003 2.25672282701220E-0003 2.25240077381525E-0003 2.24808523698058E-0003 + 2.24377620922137E-0003 2.23947368325641E-0003 2.23517765181002E-0003 2.23088810761211E-0003 2.22660504339814E-0003 + 2.22232845190914E-0003 2.21805832589167E-0003 2.21379465809788E-0003 2.20953744128544E-0003 2.20528666821758E-0003 + 2.20104233166309E-0003 2.19680442439627E-0003 2.19257293919699E-0003 2.18834786885064E-0003 2.18412920614816E-0003 + 2.17991694388600E-0003 2.17571107486616E-0003 2.17151159189615E-0003 2.16731848778902E-0003 2.16313175536333E-0003 + 2.15895138744317E-0003 2.15477737685811E-0003 2.15060971644329E-0003 2.14644839903931E-0003 2.14229341749231E-0003 + 2.13814476465391E-0003 2.13400243338126E-0003 2.12986641653698E-0003 2.12573670698922E-0003 2.12161329761159E-0003 + 2.11749618128320E-0003 2.11338535088867E-0003 2.10928079931809E-0003 2.10518251946703E-0003 2.10109050423655E-0003 + 2.09700474653318E-0003 2.09292523926892E-0003 2.08885197536128E-0003 2.08478494773318E-0003 2.08072414931305E-0003 + 2.07666957303478E-0003 2.07262121183771E-0003 2.06857905866664E-0003 2.06454310647184E-0003 2.06051334820902E-0003 + 2.05648977683934E-0003 2.05247238532943E-0003 2.04846116665133E-0003 2.04445611378257E-0003 2.04045721970607E-0003 + 2.03646447741022E-0003 2.03247787988884E-0003 2.02849742014118E-0003 2.02452309117191E-0003 2.02055488599115E-0003 + 2.01659279761442E-0003 2.01263681906269E-0003 2.00868694336231E-0003 2.00474316354508E-0003 2.00080547264820E-0003 + 1.99687386371429E-0003 1.99294832979137E-0003 1.98902886393286E-0003 1.98511545919761E-0003 1.98120810864982E-0003 + 1.97730680535915E-0003 1.97341154240062E-0003 1.96952231285463E-0003 1.96563910980700E-0003 1.96176192634893E-0003 + 1.95789075557700E-0003 1.95402559059316E-0003 1.95016642450476E-0003 1.94631325042451E-0003 1.94246606147051E-0003 + 1.93862485076622E-0003 1.93478961144047E-0003 1.93096033662746E-0003 1.92713701946674E-0003 1.92331965310326E-0003 + 1.91950823068728E-0003 1.91570274537444E-0003 1.91190319032572E-0003 1.90810955870748E-0003 1.90432184369139E-0003 + 1.90054003845449E-0003 1.89676413617916E-0003 1.89299413005309E-0003 1.88923001326936E-0003 1.88547177902634E-0003 + 1.88171942052775E-0003 1.87797293098264E-0003 1.87423230360538E-0003 1.87049753161567E-0003 1.86676860823852E-0003 + 1.86304552670428E-0003 1.85932828024860E-0003 1.85561686211244E-0003 1.85191126554209E-0003 1.84821148378913E-0003 + 1.84451751011045E-0003 1.84082933776824E-0003 1.83714696003000E-0003 1.83347037016853E-0003 1.82979956146190E-0003 + 1.82613452719351E-0003 1.82247526065202E-0003 1.81882175513139E-0003 1.81517400393086E-0003 1.81153200035496E-0003 + 1.80789573771349E-0003 1.80426520932152E-0003 1.80064040849943E-0003 1.79702132857282E-0003 1.79340796287260E-0003 + 1.78980030473493E-0003 1.78619834750124E-0003 1.78260208451820E-0003 1.77901150913778E-0003 1.77542661471716E-0003 + 1.77184739461880E-0003 1.76827384221041E-0003 1.76470595086495E-0003 1.76114371396061E-0003 1.75758712488084E-0003 + 1.75403617701430E-0003 1.75049086375494E-0003 1.74695117850191E-0003 1.74341711465959E-0003 1.73988866563759E-0003 + 1.73636582485078E-0003 1.73284858571921E-0003 1.72933694166818E-0003 1.72583088612821E-0003 1.72233041253502E-0003 + 1.71883551432956E-0003 1.71534618495798E-0003 1.71186241787165E-0003 1.70838420652715E-0003 1.70491154438624E-0003 + 1.70144442491590E-0003 1.69798284158833E-0003 1.69452678788088E-0003 1.69107625727612E-0003 1.68763124326181E-0003 + 1.68419173933091E-0003 1.68075773898154E-0003 1.67732923571702E-0003 1.67390622304584E-0003 1.67048869448169E-0003 + 1.66707664354342E-0003 1.66367006375504E-0003 1.66026894864577E-0003 1.65687329174995E-0003 1.65348308660713E-0003 + 1.65009832676199E-0003 1.64671900576438E-0003 1.64334511716932E-0003 1.63997665453698E-0003 1.63661361143266E-0003 + 1.63325598142685E-0003 1.62990375809516E-0003 1.62655693501834E-0003 1.62321550578230E-0003 1.61987946397809E-0003 + 1.61654880320189E-0003 1.61322351705502E-0003 1.60990359914391E-0003 1.60658904308015E-0003 1.60327984248045E-0003 + 1.59997599096663E-0003 1.59667748216565E-0003 1.59338430970957E-0003 1.59009646723559E-0003 1.58681394838601E-0003 + 1.58353674680825E-0003 1.58026485615481E-0003 1.57699827008334E-0003 1.57373698225657E-0003 1.57048098634234E-0003 + 1.56723027601358E-0003 1.56398484494832E-0003 1.56074468682969E-0003 1.55750979534591E-0003 1.55428016419028E-0003 + 1.55105578706119E-0003 1.54783665766213E-0003 1.54462276970164E-0003 1.54141411689337E-0003 1.53821069295603E-0003 + 1.53501249161340E-0003 1.53181950659435E-0003 1.52863173163280E-0003 1.52544916046773E-0003 1.52227178684322E-0003 + 1.51909960450836E-0003 1.51593260721735E-0003 1.51277078872942E-0003 1.50961414280884E-0003 1.50646266322495E-0003 + 1.50331634375214E-0003 1.50017517816984E-0003 1.49703916026252E-0003 1.49390828381970E-0003 1.49078254263593E-0003 + 1.48766193051080E-0003 1.48454644124893E-0003 1.48143606865997E-0003 1.47833080655862E-0003 1.47523064876456E-0003 + 1.47213558910254E-0003 1.46904562140230E-0003 1.46596073949862E-0003 1.46288093723127E-0003 1.45980620844507E-0003 + 1.45673654698981E-0003 1.45367194672031E-0003 1.45061240149640E-0003 1.44755790518290E-0003 1.44450845164964E-0003 + 1.44146403477144E-0003 1.43842464842813E-0003 1.43539028650452E-0003 1.43236094289040E-0003 1.42933661148058E-0003 + 1.42631728617483E-0003 1.42330296087792E-0003 1.42029362949957E-0003 1.41728928595453E-0003 1.41428992416247E-0003 + 1.41129553804807E-0003 1.40830612154098E-0003 1.40532166857578E-0003 1.40234217309207E-0003 1.39936762903437E-0003 + 1.39639803035218E-0003 1.39343337099996E-0003 1.39047364493712E-0003 1.38751884612803E-0003 1.38456896854199E-0003 + 1.38162400615327E-0003 1.37868395294108E-0003 1.37574880288958E-0003 1.37281854998785E-0003 1.36989318822993E-0003 + 1.36697271161478E-0003 1.36405711414630E-0003 1.36114638983333E-0003 1.35824053268963E-0003 1.35533953673388E-0003 + 1.35244339598969E-0003 1.34955210448559E-0003 1.34666565625503E-0003 1.34378404533638E-0003 1.34090726577291E-0003 + 1.33803531161280E-0003 1.33516817690917E-0003 1.33230585572001E-0003 1.32944834210823E-0003 1.32659563014165E-0003 + 1.32374771389295E-0003 1.32090458743976E-0003 1.31806624486457E-0003 1.31523268025477E-0003 1.31240388770263E-0003 + 1.30957986130532E-0003 1.30676059516488E-0003 1.30394608338826E-0003 1.30113632008725E-0003 1.29833129937854E-0003 + 1.29553101538369E-0003 1.29273546222913E-0003 1.28994463404616E-0003 1.28715852497095E-0003 1.28437712914452E-0003 + 1.28160044071278E-0003 1.27882845382647E-0003 1.27606116264120E-0003 1.27329856131744E-0003 1.27054064402050E-0003 + 1.26778740492054E-0003 1.26503883819259E-0003 1.26229493801649E-0003 1.25955569857695E-0003 1.25682111406350E-0003 + 1.25409117867052E-0003 1.25136588659722E-0003 1.24864523204765E-0003 1.24592920923067E-0003 1.24321781236000E-0003 + 1.24051103565415E-0003 1.23780887333647E-0003 1.23511131963514E-0003 1.23241836878314E-0003 1.22973001501828E-0003 + 1.22704625258316E-0003 1.22436707572522E-0003 1.22169247869668E-0003 1.21902245575459E-0003 1.21635700116080E-0003 + 1.21369610918194E-0003 1.21103977408945E-0003 1.20838799015958E-0003 1.20574075167335E-0003 1.20309805291660E-0003 + 1.20045988817992E-0003 1.19782625175871E-0003 1.19519713795316E-0003 1.19257254106823E-0003 1.18995245541366E-0003 + 1.18733687530398E-0003 1.18472579505845E-0003 1.18211920900117E-0003 1.17951711146095E-0003 1.17691949677139E-0003 + 1.17432635927087E-0003 1.17173769330250E-0003 1.16915349321418E-0003 1.16657375335854E-0003 1.16399846809298E-0003 + 1.16142763177965E-0003 1.15886123878546E-0003 1.15629928348205E-0003 1.15374176024581E-0003 1.15118866345788E-0003 + 1.14863998750414E-0003 1.14609572677519E-0003 1.14355587566639E-0003 1.14102042857781E-0003 1.13848937991428E-0003 + 1.13596272408533E-0003 1.13344045550524E-0003 1.13092256859298E-0003 1.12840905777228E-0003 1.12589991747155E-0003 + 1.12339514212396E-0003 1.12089472616736E-0003 1.11839866404431E-0003 1.11590695020211E-0003 1.11341957909274E-0003 + 1.11093654517290E-0003 1.10845784290397E-0003 1.10598346675205E-0003 1.10351341118793E-0003 1.10104767068709E-0003 + 1.09858623972972E-0003 1.09612911280068E-0003 1.09367628438953E-0003 1.09122774899050E-0003 1.08878350110253E-0003 + 1.08634353522920E-0003 1.08390784587882E-0003 1.08147642756432E-0003 1.07904927480335E-0003 1.07662638211821E-0003 + 1.07420774403586E-0003 1.07179335508794E-0003 1.06938320981075E-0003 1.06697730274526E-0003 1.06457562843707E-0003 + 1.06217818143648E-0003 1.05978495629841E-0003 1.05739594758244E-0003 1.05501114985280E-0003 1.05263055767839E-0003 + 1.05025416563271E-0003 1.04788196829394E-0003 1.04551396024488E-0003 1.04315013607298E-0003 1.04079049037032E-0003 + 1.03843501773360E-0003 1.03608371276418E-0003 1.03373657006803E-0003 1.03139358425573E-0003 1.02905474994252E-0003 + 1.02672006174823E-0003 1.02438951429733E-0003 1.02206310221888E-0003 1.01974082014659E-0003 1.01742266271875E-0003 + 1.01510862457828E-0003 1.01279870037269E-0003 1.01049288475411E-0003 1.00819117237927E-0003 1.00589355790948E-0003 + 1.00360003601067E-0003 1.00131060135336E-0003 9.99025248612663E-0004 9.96743972468274E-0004 9.94466767604487E-0004 + 9.92193628710175E-0004 9.89924550478794E-0004 9.87659527608389E-0004 9.85398554801577E-0004 9.83141626765551E-0004 + 9.80888738212078E-0004 9.78639883857504E-0004 9.76395058422735E-0004 9.74154256633248E-0004 9.71917473219085E-0004 + 9.69684702914847E-0004 9.67455940459703E-0004 9.65231180597371E-0004 9.63010418076129E-0004 9.60793647648806E-0004 + 9.58580864072780E-0004 9.56372062109984E-0004 9.54167236526890E-0004 9.51966382094517E-0004 9.49769493588423E-0004 + 9.47576565788709E-0004 9.45387593480009E-0004 9.43202571451492E-0004 9.41021494496860E-0004 9.38844357414341E-0004 + 9.36671155006700E-0004 9.34501882081215E-0004 9.32336533449694E-0004 9.30175103928464E-0004 9.28017588338366E-0004 + 9.25863981504765E-0004 9.23714278257533E-0004 9.21568473431054E-0004 9.19426561864219E-0004 9.17288538400433E-0004 + 9.15154397887598E-0004 9.13024135178118E-0004 9.10897745128901E-0004 9.08775222601344E-0004 9.06656562461351E-0004 + 9.04541759579309E-0004 9.02430808830098E-0004 9.00323705093086E-0004 8.98220443252125E-0004 8.96121018195555E-0004 + 8.94025424816191E-0004 8.91933658011332E-0004 8.89845712682747E-0004 8.87761583736688E-0004 8.85681266083871E-0004 + 8.83604754639485E-0004 8.81532044323184E-0004 8.79463130059087E-0004 8.77398006775781E-0004 8.75336669406307E-0004 + 8.73279112888165E-0004 8.71225332163312E-0004 8.69175322178156E-0004 8.67129077883562E-0004 8.65086594234837E-0004 + 8.63047866191739E-0004 8.61012888718464E-0004 8.58981656783661E-0004 8.56954165360407E-0004 8.54930409426222E-0004 + 8.52910383963061E-0004 8.50894083957308E-0004 8.48881504399784E-0004 8.46872640285733E-0004 8.44867486614825E-0004 + 8.42866038391156E-0004 8.40868290623239E-0004 8.38874238324014E-0004 8.36883876510829E-0004 8.34897200205452E-0004 + 8.32914204434060E-0004 8.30934884227239E-0004 8.28959234619989E-0004 8.26987250651709E-0004 8.25018927366203E-0004 + 8.23054259811672E-0004 8.21093243040726E-0004 8.19135872110360E-0004 8.17182142081967E-0004 8.15232048021333E-0004 + 8.13285584998630E-0004 8.11342748088423E-0004 8.09403532369656E-0004 8.07467932925657E-0004 8.05535944844135E-0004 + 8.03607563217176E-0004 8.01682783141246E-0004 7.99761599717178E-0004 7.97844008050181E-0004 7.95930003249827E-0004 + 7.94019580430065E-0004 7.92112734709198E-0004 7.90209461209897E-0004 7.88309755059191E-0004 7.86413611388464E-0004 + 7.84521025333463E-0004 7.82631992034280E-0004 7.80746506635363E-0004 7.78864564285505E-0004 7.76986160137847E-0004 + 7.75111289349876E-0004 7.73239947083417E-0004 7.71372128504637E-0004 7.69507828784038E-0004 7.67647043096463E-0004 + 7.65789766621080E-0004 7.63935994541393E-0004 7.62085722045230E-0004 7.60238944324748E-0004 7.58395656576429E-0004 + 7.56555854001074E-0004 7.54719531803804E-0004 7.52886685194056E-0004 7.51057309385583E-0004 7.49231399596452E-0004 + 7.47408951049038E-0004 7.45589958970025E-0004 7.43774418590400E-0004 7.41962325145461E-0004 7.40153673874800E-0004 + 7.38348460022311E-0004 7.36546678836185E-0004 7.34748325568904E-0004 7.32953395477251E-0004 7.31161883822291E-0004 + 7.29373785869380E-0004 7.27589096888160E-0004 7.25807812152553E-0004 7.24029926940769E-0004 7.22255436535291E-0004 + 7.20484336222883E-0004 7.18716621294577E-0004 7.16952287045687E-0004 7.15191328775789E-0004 7.13433741788730E-0004 + 7.11679521392623E-0004 7.09928662899841E-0004 7.08181161627024E-0004 7.06437012895068E-0004 7.04696212029124E-0004 + 7.02958754358600E-0004 7.01224635217152E-0004 6.99493849942695E-0004 6.97766393877384E-0004 6.96042262367621E-0004 + 6.94321450764051E-0004 6.92603954421566E-0004 6.90889768699289E-0004 6.89178888960584E-0004 6.87471310573050E-0004 + 6.85767028908514E-0004 6.84066039343040E-0004 6.82368337256915E-0004 6.80673918034653E-0004 6.78982777064990E-0004 + 6.77294909740885E-0004 6.75610311459518E-0004 6.73928977622282E-0004 6.72250903634785E-0004 6.70576084906850E-0004 + 6.68904516852510E-0004 6.67236194890005E-0004 6.65571114441779E-0004 6.63909270934482E-0004 6.62250659798964E-0004 + 6.60595276470279E-0004 6.58943116387671E-0004 6.57294174994583E-0004 6.55648447738650E-0004 6.54005930071695E-0004 + 6.52366617449734E-0004 6.50730505332966E-0004 6.49097589185774E-0004 6.47467864476721E-0004 6.45841326678554E-0004 + 6.44217971268194E-0004 6.42597793726738E-0004 6.40980789539456E-0004 6.39366954195785E-0004 6.37756283189339E-0004 + 6.36148772017890E-0004 6.34544416183379E-0004 6.32943211191906E-0004 6.31345152553731E-0004 6.29750235783276E-0004 + 6.28158456399113E-0004 6.26569809923970E-0004 6.24984291884723E-0004 6.23401897812403E-0004 6.21822623242181E-0004 + 6.20246463713378E-0004 6.18673414769452E-0004 6.17103471958003E-0004 6.15536630830773E-0004 6.13972886943635E-0004 + 6.12412235856598E-0004 6.10854673133800E-0004 6.09300194343509E-0004 6.07748795058125E-0004 6.06200470854166E-0004 + 6.04655217312275E-0004 6.03113030017217E-0004 6.01573904557875E-0004 6.00037836527248E-0004 5.98504821522449E-0004 + 5.96974855144701E-0004 5.95447932999338E-0004 5.93924050695806E-0004 5.92403203847650E-0004 5.90885388072521E-0004 + 5.89370598992170E-0004 5.87858832232447E-0004 5.86350083423303E-0004 5.84844348198777E-0004 5.83341622197005E-0004 + 5.81841901060209E-0004 5.80345180434706E-0004 5.78851455970892E-0004 5.77360723323251E-0004 5.75872978150347E-0004 + 5.74388216114822E-0004 5.72906432883400E-0004 5.71427624126876E-0004 5.69951785520120E-0004 5.68478912742071E-0004 + 5.67009001475737E-0004 5.65542047408197E-0004 5.64078046230589E-0004 5.62616993638115E-0004 5.61158885330037E-0004 + 5.59703717009678E-0004 5.58251484384412E-0004 5.56802183165670E-0004 5.55355809068933E-0004 5.53912357813730E-0004 + 5.52471825123644E-0004 5.51034206726295E-0004 5.49599498353350E-0004 5.48167695740516E-0004 5.46738794627538E-0004 + 5.45312790758202E-0004 5.43889679880322E-0004 5.42469457745748E-0004 5.41052120110358E-0004 5.39637662734063E-0004 + 5.38226081380793E-0004 5.36817371818508E-0004 5.35411529819185E-0004 5.34008551158820E-0004 5.32608431617434E-0004 + 5.31211166979055E-0004 5.29816753031726E-0004 5.28425185567505E-0004 5.27036460382451E-0004 5.25650573276640E-0004 + 5.24267520054145E-0004 5.22887296523044E-0004 5.21509898495413E-0004 5.20135321787332E-0004 5.18763562218871E-0004 + 5.17394615614097E-0004 5.16028477801068E-0004 5.14665144611832E-0004 5.13304611882426E-0004 5.11946875452870E-0004 + 5.10591931167169E-0004 5.09239774873309E-0004 5.07890402423253E-0004 5.06543809672947E-0004 5.05199992482305E-0004 + 5.03858946715219E-0004 5.02520668239547E-0004 5.01185152927120E-0004 4.99852396653735E-0004 4.98522395299149E-0004 + 4.97195144747087E-0004 4.95870640885229E-0004 4.94548879605218E-0004 4.93229856802650E-0004 4.91913568377074E-0004 + 4.90600010231993E-0004 4.89289178274858E-0004 4.87981068417070E-0004 4.86675676573973E-0004 4.85372998664854E-0004 + 4.84073030612942E-0004 4.82775768345408E-0004 4.81481207793356E-0004 4.80189344891825E-0004 4.78900175579790E-0004 + 4.77613695800153E-0004 4.76329901499749E-0004 4.75048788629336E-0004 4.73770353143597E-0004 4.72494591001139E-0004 + 4.71221498164486E-0004 4.69951070600085E-0004 4.68683304278295E-0004 4.67418195173391E-0004 4.66155739263557E-0004 + 4.64895932530892E-0004 4.63638770961400E-0004 4.62384250544988E-0004 4.61132367275472E-0004 4.59883117150562E-0004 + 4.58636496171877E-0004 4.57392500344925E-0004 4.56151125679114E-0004 4.54912368187742E-0004 4.53676223888000E-0004 + 4.52442688800968E-0004 4.51211758951613E-0004 4.49983430368785E-0004 4.48757699085218E-0004 4.47534561137527E-0004 + 4.46314012566206E-0004 4.45096049415623E-0004 4.43880667734024E-0004 4.42667863573523E-0004 4.41457632990109E-0004 + 4.40249972043636E-0004 4.39044876797826E-0004 4.37842343320263E-0004 4.36642367682393E-0004 4.35444945959526E-0004 + 4.34250074230826E-0004 4.33057748579313E-0004 4.31867965091861E-0004 4.30680719859197E-0004 4.29496008975897E-0004 + 4.28313828540384E-0004 4.27134174654926E-0004 4.25957043425635E-0004 4.24782430962465E-0004 4.23610333379209E-0004 + 4.22440746793497E-0004 4.21273667326793E-0004 4.20109091104395E-0004 4.18947014255434E-0004 4.17787432912866E-0004 + 4.16630343213478E-0004 4.15475741297879E-0004 4.14323623310502E-0004 4.13173985399601E-0004 4.12026823717248E-0004 + 4.10882134419332E-0004 4.09739913665554E-0004 4.08600157619435E-0004 4.07462862448298E-0004 4.06328024323279E-0004 + 4.05195639419320E-0004 4.04065703915165E-0004 4.02938213993364E-0004 4.01813165840265E-0004 4.00690555646015E-0004 + 3.99570379604554E-0004 3.98452633913623E-0004 3.97337314774749E-0004 3.96224418393250E-0004 3.95113940978235E-0004 + 3.94005878742595E-0004 3.92900227903009E-0004 3.91796984679935E-0004 3.90696145297612E-0004 3.89597705984056E-0004 + 3.88501662971058E-0004 3.87408012494186E-0004 3.86316750792778E-0004 3.85227874109940E-0004 3.84141378692546E-0004 + 3.83057260791240E-0004 3.81975516660424E-0004 3.80896142558264E-0004 3.79819134746685E-0004 3.78744489491369E-0004 + 3.77672203061757E-0004 3.76602271731038E-0004 3.75534691776156E-0004 3.74469459477804E-0004 3.73406571120419E-0004 + 3.72346022992189E-0004 3.71287811385042E-0004 3.70231932594647E-0004 3.69178382920411E-0004 3.68127158665484E-0004 + 3.67078256136745E-0004 3.66031671644809E-0004 3.64987401504021E-0004 3.63945442032456E-0004 3.62905789551918E-0004 + 3.61868440387932E-0004 3.60833390869748E-0004 3.59800637330339E-0004 3.58770176106393E-0004 3.57742003538321E-0004 + 3.56716115970242E-0004 3.55692509749994E-0004 3.54671181229121E-0004 3.53652126762881E-0004 3.52635342710236E-0004 + 3.51620825433854E-0004 3.50608571300104E-0004 3.49598576679057E-0004 3.48590837944487E-0004 3.47585351473859E-0004 + 3.46582113648336E-0004 3.45581120852774E-0004 3.44582369475717E-0004 3.43585855909403E-0004 3.42591576549754E-0004 + 3.41599527796376E-0004 3.40609706052560E-0004 3.39622107725277E-0004 3.38636729225178E-0004 3.37653566966588E-0004 + 3.36672617367511E-0004 3.35693876849621E-0004 3.34717341838265E-0004 3.33743008762456E-0004 3.32770874054878E-0004 + 3.31800934151878E-0004 3.30833185493463E-0004 3.29867624523306E-0004 3.28904247688738E-0004 3.27943051440744E-0004 + 3.26984032233968E-0004 3.26027186526701E-0004 3.25072510780894E-0004 3.24120001462140E-0004 3.23169655039680E-0004 + 3.22221467986402E-0004 3.21275436778839E-0004 3.20331557897159E-0004 3.19389827825175E-0004 3.18450243050334E-0004 + 3.17512800063719E-0004 3.16577495360047E-0004 3.15644325437664E-0004 3.14713286798549E-0004 3.13784375948304E-0004 + 3.12857589396159E-0004 3.11932923654967E-0004 3.11010375241201E-0004 3.10089940674956E-0004 3.09171616479940E-0004 + 3.08255399183482E-0004 3.07341285316520E-0004 3.06429271413606E-0004 3.05519354012899E-0004 3.04611529656167E-0004 + 3.03705794888785E-0004 3.02802146259730E-0004 3.01900580321580E-0004 3.01001093630514E-0004 3.00103682746307E-0004 + 2.99208344232333E-0004 2.98315074655556E-0004 2.97423870586534E-0004 2.96534728599414E-0004 2.95647645271931E-0004 + 2.94762617185406E-0004 2.93879640924744E-0004 2.92998713078432E-0004 2.92119830238536E-0004 2.91242989000702E-0004 + 2.90368185964152E-0004 2.89495417731679E-0004 2.88624680909652E-0004 2.87755972108007E-0004 2.86889287940252E-0004 + 2.86024625023458E-0004 2.85161979978262E-0004 2.84301349428862E-0004 2.83442730003020E-0004 2.82586118332052E-0004 + 2.81731511050832E-0004 2.80878904797791E-0004 2.80028296214909E-0004 2.79179681947720E-0004 2.78333058645305E-0004 + 2.77488422960292E-0004 2.76645771548854E-0004 2.75805101070706E-0004 2.74966408189106E-0004 2.74129689570851E-0004 + 2.73294941886272E-0004 2.72462161809238E-0004 2.71631346017151E-0004 2.70802491190943E-0004 2.69975594015076E-0004 + 2.69150651177540E-0004 2.68327659369849E-0004 2.67506615287043E-0004 2.66687515627681E-0004 2.65870357093843E-0004 + 2.65055136391126E-0004 2.64241850228642E-0004 2.63430495319020E-0004 2.62621068378399E-0004 2.61813566126426E-0004 + 2.61007985286259E-0004 2.60204322584561E-0004 2.59402574751500E-0004 2.58602738520744E-0004 2.57804810629464E-0004 + 2.57008787818327E-0004 2.56214666831499E-0004 2.55422444416638E-0004 2.54632117324898E-0004 2.53843682310919E-0004 + 2.53057136132833E-0004 2.52272475552259E-0004 2.51489697334300E-0004 2.50708798247542E-0004 2.49929775064052E-0004 + 2.49152624559377E-0004 2.48377343512539E-0004 2.47603928706039E-0004 2.46832376925849E-0004 2.46062684961411E-0004 + 2.45294849605641E-0004 2.44528867654918E-0004 2.43764735909091E-0004 2.43002451171468E-0004 2.42242010248824E-0004 + 2.41483409951390E-0004 2.40726647092858E-0004 2.39971718490375E-0004 2.39218620964540E-0004 2.38467351339410E-0004 + 2.37717906442486E-0004 2.36970283104722E-0004 2.36224478160517E-0004 2.35480488447714E-0004 2.34738310807601E-0004 + 2.33997942084906E-0004 2.33259379127795E-0004 2.32522618787871E-0004 2.31787657920174E-0004 2.31054493383177E-0004 + 2.30323122038783E-0004 2.29593540752326E-0004 2.28865746392565E-0004 2.28139735831688E-0004 2.27415505945306E-0004 + 2.26693053612451E-0004 2.25972375715575E-0004 2.25253469140547E-0004 2.24536330776657E-0004 2.23820957516604E-0004 + 2.23107346256502E-0004 2.22395493895875E-0004 2.21685397337655E-0004 2.20977053488183E-0004 2.20270459257202E-0004 + 2.19565611557860E-0004 2.18862507306705E-0004 2.18161143423685E-0004 2.17461516832145E-0004 2.16763624458826E-0004 + 2.16067463233861E-0004 2.15373030090775E-0004 2.14680321966485E-0004 2.13989335801294E-0004 2.13300068538891E-0004 + 2.12612517126348E-0004 2.11926678514123E-0004 2.11242549656050E-0004 2.10560127509345E-0004 2.09879409034599E-0004 + 2.09200391195777E-0004 2.08523070960218E-0004 2.07847445298633E-0004 2.07173511185098E-0004 2.06501265597062E-0004 + 2.05830705515333E-0004 2.05161827924089E-0004 2.04494629810865E-0004 2.03829108166557E-0004 2.03165259985419E-0004 + 2.02503082265061E-0004 2.01842572006447E-0004 2.01183726213894E-0004 2.00526541895068E-0004 1.99871016060984E-0004 + 1.99217145726004E-0004 1.98564927907835E-0004 1.97914359627526E-0004 1.97265437909467E-0004 1.96618159781388E-0004 + 1.95972522274358E-0004 1.95328522422776E-0004 1.94686157264381E-0004 1.94045423840239E-0004 1.93406319194747E-0004 + 1.92768840375633E-0004 1.92132984433947E-0004 1.91498748424066E-0004 1.90866129403686E-0004 1.90235124433830E-0004 + 1.89605730578833E-0004 1.88977944906349E-0004 1.88351764487350E-0004 1.87727186396117E-0004 1.87104207710244E-0004 + 1.86482825510636E-0004 1.85863036881502E-0004 1.85244838910360E-0004 1.84628228688030E-0004 1.84013203308635E-0004 + 1.83399759869599E-0004 1.82787895471641E-0004 1.82177607218780E-0004 1.81568892218328E-0004 1.80961747580891E-0004 + 1.80356170420364E-0004 1.79752157853933E-0004 1.79149707002069E-0004 1.78548814988532E-0004 1.77949478940362E-0004 + 1.77351695987882E-0004 1.76755463264696E-0004 1.76160777907685E-0004 1.75567637057006E-0004 1.74976037856091E-0004 + 1.74385977451644E-0004 1.73797452993639E-0004 1.73210461635322E-0004 1.72625000533202E-0004 1.72041066847057E-0004 + 1.71458657739924E-0004 1.70877770378105E-0004 1.70298401931161E-0004 1.69720549571910E-0004 1.69144210476427E-0004 + 1.68569381824040E-0004 1.67996060797330E-0004 1.67424244582129E-0004 1.66853930367518E-0004 1.66285115345823E-0004 + 1.65717796712616E-0004 1.65151971666713E-0004 1.64587637410172E-0004 1.64024791148288E-0004 1.63463430089595E-0004 + 1.62903551445864E-0004 1.62345152432098E-0004 1.61788230266535E-0004 1.61232782170642E-0004 1.60678805369113E-0004 + 1.60126297089870E-0004 1.59575254564063E-0004 1.59025675026062E-0004 1.58477555713457E-0004 1.57930893867060E-0004 + 1.57385686730902E-0004 1.56841931552227E-0004 1.56299625581494E-0004 1.55758766072376E-0004 1.55219350281752E-0004 + 1.54681375469715E-0004 1.54144838899563E-0004 1.53609737837797E-0004 1.53076069554123E-0004 1.52543831321448E-0004 + 1.52013020415881E-0004 1.51483634116724E-0004 1.50955669706478E-0004 1.50429124470839E-0004 1.49903995698693E-0004 + 1.49380280682119E-0004 1.48857976716382E-0004 1.48337081099937E-0004 1.47817591134421E-0004 1.47299504124657E-0004 + 1.46782817378648E-0004 1.46267528207578E-0004 1.45753633925808E-0004 1.45241131850875E-0004 1.44730019303491E-0004 + 1.44220293607540E-0004 1.43711952090078E-0004 1.43204992081328E-0004 1.42699410914682E-0004 1.42195205926696E-0004 + 1.41692374457090E-0004 1.41190913848747E-0004 1.40690821447708E-0004 1.40192094603173E-0004 1.39694730667499E-0004 + 1.39198726996198E-0004 1.38704080947932E-0004 1.38210789884517E-0004 1.37718851170918E-0004 1.37228262175245E-0004 + 1.36739020268757E-0004 1.36251122825854E-0004 1.35764567224081E-0004 1.35279350844120E-0004 1.34795471069794E-0004 + 1.34312925288062E-0004 1.33831710889017E-0004 1.33351825265887E-0004 1.32873265815030E-0004 1.32396029935935E-0004 + 1.31920115031217E-0004 1.31445518506617E-0004 1.30972237771004E-0004 1.30500270236364E-0004 1.30029613317808E-0004 + 1.29560264433564E-0004 1.29092221004977E-0004 1.28625480456509E-0004 1.28160040215734E-0004 1.27695897713339E-0004 + 1.27233050383119E-0004 1.26771495661980E-0004 1.26311230989933E-0004 1.25852253810095E-0004 1.25394561568683E-0004 + 1.24938151715019E-0004 1.24483021701521E-0004 1.24029168983709E-0004 1.23576591020194E-0004 1.23125285272683E-0004 + 1.22675249205978E-0004 1.22226480287968E-0004 1.21778975989632E-0004 1.21332733785038E-0004 1.20887751151336E-0004 + 1.20444025568761E-0004 1.20001554520632E-0004 1.19560335493344E-0004 1.19120365976373E-0004 1.18681643462270E-0004 + 1.18244165446663E-0004 1.17807929428250E-0004 1.17372932908804E-0004 1.16939173393163E-0004 1.16506648389236E-0004 + 1.16075355407996E-0004 1.15645291963483E-0004 1.15216455572796E-0004 1.14788843756097E-0004 1.14362454036606E-0004 + 1.13937283940600E-0004 1.13513330997414E-0004 1.13090592739432E-0004 1.12669066702093E-0004 1.12248750423887E-0004 + 1.11829641446351E-0004 1.11411737314067E-0004 1.10995035574666E-0004 1.10579533778820E-0004 1.10165229480241E-0004 + 1.09752120235684E-0004 1.09340203604939E-0004 1.08929477150833E-0004 1.08519938439229E-0004 1.08111585039021E-0004 + 1.07704414522136E-0004 1.07298424463527E-0004 1.06893612441177E-0004 1.06489976036096E-0004 1.06087512832313E-0004 + 1.05686220416886E-0004 1.05286096379888E-0004 1.04887138314413E-0004 1.04489343816572E-0004 1.04092710485493E-0004 + 1.03697235923315E-0004 1.03302917735189E-0004 1.02909753529279E-0004 1.02517740916754E-0004 1.02126877511792E-0004 + 1.01737160931575E-0004 1.01348588796288E-0004 1.00961158729118E-0004 1.00574868356252E-0004 1.00189715306874E-0004 + 9.98056972131672E-0005 9.94228117103043E-0005 9.90410564364558E-0005 9.86604290327798E-0005 9.82809271434263E-0005 + 9.79025484155325E-0005 9.75252904992197E-0005 9.71491510475963E-0005 9.67741277167502E-0005 9.64002181657526E-0005 + 9.60274200566534E-0005 9.56557310544778E-0005 9.52851488272288E-0005 9.49156710458836E-0005 9.45472953843890E-0005 + 9.41800195196654E-0005 9.38138411315991E-0005 9.34487579030455E-0005 9.30847675198255E-0005 9.27218676707213E-0005 + 9.23600560474800E-0005 9.19993303448060E-0005 9.16396882603642E-0005 9.12811274947765E-0005 9.09236457516175E-0005 + 9.05672407374182E-0005 9.02119101616583E-0005 8.98576517367696E-0005 8.95044631781319E-0005 8.91523422040698E-0005 + 8.88012865358551E-0005 8.84512938977003E-0005 8.81023620167611E-0005 8.77544886231331E-0005 8.74076714498475E-0005 + 8.70619082328749E-0005 8.67171967111176E-0005 8.63735346264128E-0005 8.60309197235288E-0005 8.56893497501616E-0005 + 8.53488224569367E-0005 8.50093355974058E-0005 8.46708869280431E-0005 8.43334742082481E-0005 8.39970952003384E-0005 + 8.36617476695531E-0005 8.33274293840489E-0005 8.29941381148964E-0005 8.26618716360828E-0005 8.23306277245056E-0005 + 8.20004041599747E-0005 8.16711987252093E-0005 8.13430092058342E-0005 8.10158333903822E-0005 8.06896690702879E-0005 + 8.03645140398900E-0005 8.00403660964279E-0005 7.97172230400381E-0005 7.93950826737570E-0005 7.90739428035139E-0005 + 7.87538012381341E-0005 7.84346557893350E-0005 7.81165042717228E-0005 7.77993445027949E-0005 7.74831743029335E-0005 + 7.71679914954082E-0005 7.68537939063724E-0005 7.65405793648596E-0005 7.62283457027859E-0005 7.59170907549459E-0005 + 7.56068123590097E-0005 7.52975083555251E-0005 7.49891765879112E-0005 7.46818149024611E-0005 7.43754211483383E-0005 + 7.40699931775729E-0005 7.37655288450648E-0005 7.34620260085768E-0005 7.31594825287369E-0005 7.28578962690353E-0005 + 7.25572650958210E-0005 7.22575868783035E-0005 7.19588594885474E-0005 7.16610808014742E-0005 7.13642486948590E-0005 + 7.10683610493274E-0005 7.07734157483571E-0005 7.04794106782728E-0005 7.01863437282474E-0005 6.98942127902994E-0005 + 6.96030157592890E-0005 6.93127505329209E-0005 6.90234150117378E-0005 6.87350070991225E-0005 6.84475247012951E-0005 + 6.81609657273092E-0005 6.78753280890539E-0005 6.75906097012499E-0005 6.73068084814471E-0005 6.70239223500259E-0005 + 6.67419492301917E-0005 6.64608870479770E-0005 6.61807337322377E-0005 6.59014872146504E-0005 6.56231454297141E-0005 + 6.53457063147447E-0005 6.50691678098762E-0005 6.47935278580586E-0005 6.45187844050538E-0005 6.42449353994380E-0005 + 6.39719787925957E-0005 6.36999125387219E-0005 6.34287345948188E-0005 6.31584429206922E-0005 6.28890354789544E-0005 + 6.26205102350174E-0005 6.23528651570955E-0005 6.20860982162019E-0005 6.18202073861455E-0005 6.15551906435329E-0005 + 6.12910459677627E-0005 6.10277713410272E-0005 6.07653647483096E-0005 6.05038241773805E-0005 6.02431476187994E-0005 + 5.99833330659116E-0005 5.97243785148450E-0005 5.94662819645121E-0005 5.92090414166040E-0005 5.89526548755927E-0005 + 5.86971203487277E-0005 5.84424358460329E-0005 5.81885993803084E-0005 5.79356089671252E-0005 5.76834626248267E-0005 + 5.74321583745254E-0005 5.71816942401004E-0005 5.69320682481986E-0005 5.66832784282298E-0005 5.64353228123677E-0005 + 5.61881994355475E-0005 5.59419063354622E-0005 5.56964415525649E-0005 5.54518031300631E-0005 5.52079891139204E-0005 + 5.49649975528532E-0005 5.47228264983284E-0005 5.44814740045640E-0005 5.42409381285248E-0005 5.40012169299232E-0005 + 5.37623084712167E-0005 5.35242108176045E-0005 5.32869220370292E-0005 5.30504402001731E-0005 5.28147633804558E-0005 + 5.25798896540352E-0005 5.23458170998029E-0005 5.21125437993852E-0005 5.18800678371404E-0005 5.16483873001558E-0005 + 5.14175002782490E-0005 5.11874048639632E-0005 5.09580991525682E-0005 5.07295812420576E-0005 5.05018492331459E-0005 + 5.02749012292702E-0005 5.00487353365845E-0005 4.98233496639617E-0005 4.95987423229905E-0005 4.93749114279721E-0005 + 4.91518550959226E-0005 4.89295714465666E-0005 4.87080586023398E-0005 4.84873146883853E-0005 4.82673378325512E-0005 + 4.80481261653918E-0005 4.78296778201624E-0005 4.76119909328209E-0005 4.73950636420250E-0005 4.71788940891291E-0005 + 4.69634804181851E-0005 4.67488207759401E-0005 4.65349133118330E-0005 4.63217561779959E-0005 4.61093475292494E-0005 + 4.58976855231038E-0005 4.56867683197561E-0005 4.54765940820873E-0005 4.52671609756638E-0005 4.50584671687323E-0005 + 4.48505108322211E-0005 4.46432901397372E-0005 4.44368032675640E-0005 4.42310483946618E-0005 4.40260237026634E-0005 + 4.38217273758753E-0005 4.36181576012747E-0005 4.34153125685070E-0005 4.32131904698868E-0005 4.30117895003931E-0005 + 4.28111078576705E-0005 4.26111437420267E-0005 4.24118953564293E-0005 4.22133609065071E-0005 4.20155386005457E-0005 + 4.18184266494880E-0005 4.16220232669322E-0005 4.14263266691284E-0005 4.12313350749797E-0005 4.10370467060393E-0005 + 4.08434597865079E-0005 4.06505725432346E-0005 4.04583832057124E-0005 4.02668900060793E-0005 4.00760911791155E-0005 + 3.98859849622408E-0005 3.96965695955153E-0005 3.95078433216353E-0005 3.93198043859341E-0005 3.91324510363793E-0005 + 3.89457815235700E-0005 3.87597941007381E-0005 3.85744870237435E-0005 3.83898585510753E-0005 3.82059069438488E-0005 + 3.80226304658034E-0005 3.78400273833030E-0005 3.76580959653316E-0005 3.74768344834947E-0005 3.72962412120162E-0005 + 3.71163144277359E-0005 3.69370524101104E-0005 3.67584534412087E-0005 3.65805158057132E-0005 3.64032377909170E-0005 + 3.62266176867210E-0005 3.60506537856351E-0005 3.58753443827747E-0005 3.57006877758590E-0005 3.55266822652111E-0005 + 3.53533261537542E-0005 3.51806177470121E-0005 3.50085553531067E-0005 3.48371372827557E-0005 3.46663618492729E-0005 + 3.44962273685643E-0005 3.43267321591288E-0005 3.41578745420555E-0005 3.39896528410214E-0005 3.38220653822919E-0005 + 3.36551104947169E-0005 3.34887865097311E-0005 3.33230917613518E-0005 3.31580245861764E-0005 3.29935833233830E-0005 + 3.28297663147259E-0005 3.26665719045371E-0005 3.25039984397230E-0005 3.23420442697624E-0005 3.21807077467069E-0005 + 3.20199872251769E-0005 3.18598810623622E-0005 3.17003876180196E-0005 3.15415052544704E-0005 3.13832323366008E-0005 + 3.12255672318589E-0005 3.10685083102530E-0005 3.09120539443516E-0005 3.07562025092797E-0005 3.06009523827195E-0005 + 3.04463019449074E-0005 3.02922495786321E-0005 3.01387936692350E-0005 2.99859326046060E-0005 2.98336647751845E-0005 + 2.96819885739565E-0005 2.95309023964527E-0005 2.93804046407483E-0005 2.92304937074598E-0005 2.90811679997451E-0005 + 2.89324259233014E-0005 2.87842658863622E-0005 2.86366862996987E-0005 2.84896855766149E-0005 2.83432621329490E-0005 + 2.81974143870705E-0005 2.80521407598777E-0005 2.79074396747986E-0005 2.77633095577868E-0005 2.76197488373221E-0005 + 2.74767559444079E-0005 2.73343293125688E-0005 2.71924673778512E-0005 2.70511685788205E-0005 2.69104313565588E-0005 + 2.67702541546654E-0005 2.66306354192530E-0005 2.64915735989481E-0005 2.63530671448887E-0005 2.62151145107220E-0005 + 2.60777141526045E-0005 2.59408645291987E-0005 2.58045641016730E-0005 2.56688113336998E-0005 2.55336046914530E-0005 + 2.53989426436083E-0005 2.52648236613396E-0005 2.51312462183191E-0005 2.49982087907156E-0005 2.48657098571914E-0005 + 2.47337478989031E-0005 2.46023213994982E-0005 2.44714288451145E-0005 2.43410687243788E-0005 2.42112395284042E-0005 + 2.40819397507901E-0005 2.39531678876192E-0005 2.38249224374572E-0005 2.36972019013509E-0005 2.35700047828259E-0005 + 2.34433295878864E-0005 2.33171748250130E-0005 2.31915390051607E-0005 2.30664206417586E-0005 2.29418182507070E-0005 + 2.28177303503770E-0005 2.26941554616088E-0005 2.25710921077093E-0005 2.24485388144518E-0005 2.23264941100735E-0005 + 2.22049565252747E-0005 2.20839245932174E-0005 2.19633968495223E-0005 2.18433718322696E-0005 2.17238480819954E-0005 + 2.16048241416915E-0005 2.14862985568037E-0005 2.13682698752293E-0005 2.12507366473174E-0005 2.11336974258652E-0005 + 2.10171507661186E-0005 2.09010952257695E-0005 2.07855293649541E-0005 2.06704517462527E-0005 2.05558609346863E-0005 + 2.04417554977169E-0005 2.03281340052454E-0005 2.02149950296090E-0005 2.01023371455817E-0005 1.99901589303708E-0005 + 1.98784589636171E-0005 1.97672358273926E-0005 1.96564881061983E-0005 1.95462143869643E-0005 1.94364132590473E-0005 + 1.93270833142287E-0005 1.92182231467146E-0005 1.91098313531323E-0005 1.90019065325307E-0005 1.88944472863781E-0005 + 1.87874522185598E-0005 1.86809199353782E-0005 1.85748490455499E-0005 1.84692381602052E-0005 1.83640858928865E-0005 + 1.82593908595458E-0005 1.81551516785448E-0005 1.80513669706517E-0005 1.79480353590415E-0005 1.78451554692931E-0005 + 1.77427259293882E-0005 1.76407453697104E-0005 1.75392124230428E-0005 1.74381257245672E-0005 1.73374839118625E-0005 + 1.72372856249027E-0005 1.71375295060564E-0005 1.70382142000841E-0005 1.69393383541378E-0005 1.68409006177591E-0005 + 1.67428996428773E-0005 1.66453340838087E-0005 1.65482025972548E-0005 1.64515038423003E-0005 1.63552364804126E-0005 + 1.62593991754394E-0005 1.61639905936079E-0005 1.60690094035233E-0005 1.59744542761663E-0005 1.58803238848933E-0005 + 1.57866169054333E-0005 1.56933320158876E-0005 1.56004678967282E-0005 1.55080232307951E-0005 1.54159967032966E-0005 + 1.53243870018065E-0005 1.52331928162633E-0005 1.51424128389688E-0005 1.50520457645857E-0005 1.49620902901377E-0005 + 1.48725451150061E-0005 1.47834089409303E-0005 1.46946804720052E-0005 1.46063584146794E-0005 1.45184414777550E-0005 + 1.44309283723847E-0005 1.43438178120718E-0005 1.42571085126677E-0005 1.41707991923703E-0005 1.40848885717235E-0005 + 1.39993753736152E-0005 1.39142583232754E-0005 1.38295361482758E-0005 1.37452075785270E-0005 1.36612713462784E-0005 + 1.35777261861160E-0005 1.34945708349605E-0005 1.34118040320672E-0005 1.33294245190231E-0005 1.32474310397465E-0005 + 1.31658223404850E-0005 1.30845971698139E-0005 1.30037542786355E-0005 1.29232924201767E-0005 1.28432103499884E-0005 + 1.27635068259436E-0005 1.26841806082357E-0005 1.26052304593777E-0005 1.25266551442002E-0005 1.24484534298502E-0005 + 1.23706240857899E-0005 1.22931658837945E-0005 1.22160775979515E-0005 1.21393580046589E-0005 1.20630058826238E-0005 + 1.19870200128611E-0005 1.19113991786917E-0005 1.18361421657415E-0005 1.17612477619397E-0005 1.16867147575173E-0005 + 1.16125419450059E-0005 1.15387281192358E-0005 1.14652720773353E-0005 1.13921726187287E-0005 1.13194285451347E-0005 + 1.12470386605657E-0005 1.11750017713254E-0005 1.11033166860084E-0005 1.10319822154980E-0005 1.09609971729648E-0005 + 1.08903603738659E-0005 1.08200706359425E-0005 1.07501267792193E-0005 1.06805276260030E-0005 1.06112720008799E-0005 + 1.05423587307160E-0005 1.04737866446540E-0005 1.04055545741132E-0005 1.03376613527874E-0005 1.02701058166431E-0005 + 1.02028868039191E-0005 1.01360031551240E-0005 1.00694537130356E-0005 1.00032373226993E-0005 9.93735283142584E-0006 + 9.87179908879109E-0006 9.80657494663407E-0006 9.74167925905511E-0006 9.67711088241535E-0006 9.61286867533431E-0006 + 9.54895149868933E-0006 9.48535821561375E-0006 9.42208769149517E-0006 9.35913879397482E-0006 9.29651039294524E-0006 + 9.23420136054963E-0006 9.17221057118012E-0006 9.11053690147595E-0006 9.04917923032292E-0006 8.98813643885101E-0006 + 8.92740741043376E-0006 8.86699103068655E-0006 8.80688618746478E-0006 8.74709177086331E-0006 8.68760667321408E-0006 + 8.62842978908554E-0006 8.56956001528085E-0006 8.51099625083616E-0006 8.45273739701994E-0006 8.39478235733073E-0006 + 8.33713003749646E-0006 8.27977934547273E-0006 8.22272919144104E-0006 8.16597848780808E-0006 8.10952614920395E-0006 + 8.05337109248044E-0006 7.99751223671038E-0006 7.94194850318536E-0006 7.88667881541511E-0006 7.83170209912571E-0006 + 7.77701728225791E-0006 7.72262329496643E-0006 7.66851906961777E-0006 7.61470354078945E-0006 7.56117564526839E-0006 + 7.50793432204911E-0006 7.45497851233310E-0006 7.40230715952658E-0006 7.34991920923981E-0006 7.29781360928540E-0006 + 7.24598930967656E-0006 7.19444526262647E-0006 7.14318042254601E-0006 7.09219374604313E-0006 7.04148419192109E-0006 + 6.99105072117679E-0006 6.94089229700007E-0006 6.89100788477152E-0006 6.84139645206176E-0006 6.79205696862977E-0006 + 6.74298840642119E-0006 6.69418973956749E-0006 6.64565994438434E-0006 6.59739799936986E-0006 6.54940288520393E-0006 + 6.50167358474608E-0006 6.45420908303465E-0006 6.40700836728523E-0006 6.36007042688893E-0006 6.31339425341163E-0006 + 6.26697884059191E-0006 6.22082318434023E-0006 6.17492628273732E-0006 6.12928713603252E-0006 6.08390474664298E-0006 + 6.03877811915160E-0006 5.99390626030624E-0006 5.94928817901810E-0006 5.90492288636003E-0006 5.86080939556580E-0006 + 5.81694672202798E-0006 5.77333388329720E-0006 5.72996989908049E-0006 5.68685379123962E-0006 5.64398458379036E-0006 + 5.60136130290040E-0006 5.55898297688855E-0006 5.51684863622311E-0006 5.47495731352026E-0006 5.43330804354316E-0006 + 5.39189986320034E-0006 5.35073181154406E-0006 5.30980292976952E-0006 5.26911226121281E-0006 5.22865885135014E-0006 + 5.18844174779618E-0006 5.14846000030247E-0006 5.10871266075661E-0006 5.06919878318023E-0006 5.02991742372820E-0006 + 4.99086764068696E-0006 4.95204849447301E-0006 4.91345904763200E-0006 4.87509836483677E-0006 4.83696551288654E-0006 + 4.79905956070528E-0006 4.76137957934011E-0006 4.72392464196049E-0006 4.68669382385625E-0006 4.64968620243670E-0006 + 4.61290085722909E-0006 4.57633686987703E-0006 4.53999332413956E-0006 4.50386930588931E-0006 4.46796390311156E-0006 + 4.43227620590268E-0006 4.39680530646859E-0006 4.36155029912379E-0006 4.32651028028977E-0006 4.29168434849349E-0006 + 4.25707160436645E-0006 4.22267115064283E-0006 4.18848209215858E-0006 4.15450353584983E-0006 4.12073459075142E-0006 + 4.08717436799589E-0006 4.05382198081169E-0006 4.02067654452225E-0006 3.98773717654440E-0006 3.95500299638687E-0006 + 3.92247312564935E-0006 3.89014668802063E-0006 3.85802280927771E-0006 3.82610061728424E-0006 3.79437924198898E-0006 + 3.76285781542487E-0006 3.73153547170723E-0006 3.70041134703280E-0006 3.66948457967821E-0006 3.63875430999844E-0006 + 3.60821968042593E-0006 3.57787983546874E-0006 3.54773392170956E-0006 3.51778108780428E-0006 3.48802048448040E-0006 + 3.45845126453604E-0006 3.42907258283845E-0006 3.39988359632249E-0006 3.37088346398963E-0006 3.34207134690622E-0006 + 3.31344640820252E-0006 3.28500781307116E-0006 3.25675472876566E-0006 3.22868632459949E-0006 3.20080177194423E-0006 + 3.17310024422868E-0006 3.14558091693731E-0006 3.11824296760878E-0006 3.09108557583497E-0006 3.06410792325922E-0006 + 3.03730919357535E-0006 3.01068857252618E-0006 2.98424524790203E-0006 2.95797840953975E-0006 2.93188724932095E-0006 + 2.90597096117108E-0006 2.88022874105787E-0006 2.85465978698989E-0006 2.82926329901556E-0006 2.80403847922144E-0006 + 2.77898453173117E-0006 2.75410066270408E-0006 2.72938608033367E-0006 2.70483999484657E-0006 2.68046161850105E-0006 + 2.65625016558560E-0006 2.63220485241787E-0006 2.60832489734302E-0006 2.58460952073269E-0006 2.56105794498352E-0006 + 2.53766939451572E-0006 2.51444309577205E-0006 2.49137827721611E-0006 2.46847416933138E-0006 2.44573000461969E-0006 + 2.42314501759984E-0006 2.40071844480653E-0006 2.37844952478872E-0006 2.35633749810858E-0006 2.33438160734007E-0006 + 2.31258109706747E-0006 2.29093521388438E-0006 2.26944320639204E-0006 2.24810432519829E-0006 2.22691782291619E-0006 + 2.20588295416249E-0006 2.18499897555669E-0006 2.16426514571931E-0006 2.14368072527093E-0006 2.12324497683071E-0006 + 2.10295716501496E-0006 2.08281655643610E-0006 2.06282241970116E-0006 2.04297402541040E-0006 2.02327064615627E-0006 + 2.00371155652176E-0006 1.98429603307937E-0006 1.96502335438970E-0006 1.94589280099998E-0006 1.92690365544309E-0006 + 1.90805520223589E-0006 1.88934672787820E-0006 1.87077752085138E-0006 1.85234687161689E-0006 1.83405407261529E-0006 + 1.81589841826458E-0006 1.79787920495917E-0006 1.77999573106849E-0006 1.76224729693555E-0006 1.74463320487589E-0006 + 1.72715275917598E-0006 1.70980526609222E-0006 1.69259003384943E-0006 1.67550637263956E-0006 1.65855359462052E-0006 + 1.64173101391470E-0006 1.62503794660783E-0006 1.60847371074763E-0006 1.59203762634237E-0006 1.57572901535986E-0006 + 1.55954720172583E-0006 1.54349151132287E-0006 1.52756127198907E-0006 1.51175581351660E-0006 1.49607446765059E-0006 + 1.48051656808779E-0006 1.46508145047512E-0006 1.44976845240864E-0006 1.43457691343197E-0006 1.41950617503526E-0006 + 1.40455558065374E-0006 1.38972447566641E-0006 1.37501220739490E-0006 1.36041812510196E-0006 1.34594157999039E-0006 + 1.33158192520163E-0006 1.31733851581442E-0006 1.30321070884367E-0006 1.28919786323900E-0006 1.27529933988360E-0006 + 1.26151450159286E-0006 1.24784271311302E-0006 1.23428334112010E-0006 1.22083575421832E-0006 1.20749932293908E-0006 + 1.19427341973956E-0006 1.18115741900135E-0006 1.16815069702937E-0006 1.15525263205035E-0006 1.14246260421178E-0006 + 1.12977999558048E-0006 1.11720419014131E-0006 1.10473457379599E-0006 1.09237053436177E-0006 1.08011146157007E-0006 + 1.06795674706537E-0006 1.05590578440374E-0006 1.04395796905174E-0006 1.03211269838503E-0006 1.02036937168707E-0006 + 1.00872739014800E-0006 9.97186156863137E-0007 9.85745076831911E-0007 9.74403556956491E-0007 9.63161006040456E-0007 + 9.52016834787669E-0007 9.40970455800833E-0007 9.30021283580368E-0007 9.19168734523074E-0007 9.08412226920795E-0007 + 8.97751180959296E-0007 8.87185018716826E-0007 8.76713164162992E-0007 8.66335043157424E-0007 8.56050083448451E-0007 + 8.45857714671970E-0007 8.35757368350018E-0007 8.25748477889646E-0007 8.15830478581588E-0007 8.06002807598940E-0007 + 7.96264903996011E-0007 7.86616208706995E-0007 7.77056164544654E-0007 7.67584216199184E-0007 7.58199810236802E-0007 + 7.48902395098611E-0007 7.39691421099285E-0007 7.30566340425749E-0007 7.21526607136046E-0007 7.12571677157934E-0007 + 7.03701008287745E-0007 6.94914060189079E-0007 6.86210294391485E-0007 6.77589174289327E-0007 6.69050165140391E-0007 + 6.60592734064741E-0007 6.52216350043412E-0007 6.43920483917110E-0007 6.35704608385060E-0007 6.27568198003631E-0007 + 6.19510729185185E-0007 6.11531680196781E-0007 6.03630531158868E-0007 5.95806764044146E-0007 5.88059862676188E-0007 + 5.80389312728291E-0007 5.72794601722183E-0007 5.65275219026725E-0007 5.57830655856749E-0007 5.50460405271765E-0007 + 5.43163962174665E-0007 5.35940823310578E-0007 5.28790487265504E-0007 5.21712454465168E-0007 5.14706227173727E-0007 + 5.07771309492484E-0007 5.00907207358735E-0007 4.94113428544419E-0007 4.87389482654960E-0007 4.80734881127989E-0007 + 4.74149137232054E-0007 4.67631766065471E-0007 4.61182284554979E-0007 4.54800211454581E-0007 4.48485067344269E-0007 + 4.42236374628742E-0007 4.36053657536253E-0007 4.29936442117269E-0007 4.23884256243318E-0007 4.17896629605710E-0007 + 4.11973093714265E-0007 4.06113181896155E-0007 4.00316429294576E-0007 3.94582372867587E-0007 3.88910551386843E-0007 + 3.83300505436319E-0007 3.77751777411150E-0007 3.72263911516352E-0007 3.66836453765564E-0007 3.61468951979882E-0007 + 3.56160955786546E-0007 3.50912016617775E-0007 3.45721687709507E-0007 3.40589524100135E-0007 3.35515082629344E-0007 + 3.30497921936804E-0007 3.25537602461007E-0007 3.20633686438005E-0007 3.15785737900156E-0007 3.10993322674958E-0007 + 3.06256008383748E-0007 3.01573364440537E-0007 2.96944962050757E-0007 2.92370374210006E-0007 2.87849175702883E-0007 + 2.83380943101694E-0007 2.78965254765286E-0007 2.74601690837800E-0007 2.70289833247413E-0007 2.66029265705184E-0007 + 2.61819573703754E-0007 2.57660344516191E-0007 2.53551167194734E-0007 2.49491632569553E-0007 2.45481333247574E-0007 + 2.41519863611238E-0007 2.37606819817250E-0007 2.33741799795422E-0007 2.29924403247388E-0007 2.26154231645439E-0007 + 2.22430888231286E-0007 2.18753978014814E-0007 2.15123107772925E-0007 2.11537886048254E-0007 2.07997923148013E-0007 + 2.04502831142747E-0007 2.01052223865103E-0007 1.97645716908659E-0007 1.94282927626663E-0007 1.90963475130862E-0007 + 1.87686980290268E-0007 1.84453065729932E-0007 1.81261355829771E-0007 1.78111476723313E-0007 1.75003056296523E-0007 + 1.71935724186581E-0007 1.68909111780648E-0007 1.65922852214707E-0007 1.62976580372297E-0007 1.60069932883355E-0007 + 1.57202548122988E-0007 1.54374066210247E-0007 1.51584129006956E-0007 1.48832380116491E-0007 1.46118464882557E-0007 + 1.43442030388018E-0007 1.40802725453657E-0007 1.38200200637002E-0007 1.35634108231111E-0007 1.33104102263354E-0007 + 1.30609838494243E-0007 1.28150974416195E-0007 1.25727169252362E-0007 1.23338083955417E-0007 1.20983381206338E-0007 + 1.18662725413243E-0007 1.16375782710155E-0007 1.14122220955833E-0007 1.11901709732561E-0007 1.09713920344937E-0007 + 1.07558525818707E-0007 1.05435200899534E-0007 1.03343622051835E-0007 1.01283467457564E-0007 9.92544170150155E-0008 + 9.72561523376501E-0008 9.52883567528739E-0008 9.33507153008703E-0008 9.14429147333954E-0008 8.95646435125754E-0008 + 8.77155918097364E-0008 8.58954515042017E-0008 8.41039161820914E-0008 8.23406811351558E-0008 8.06054433595581E-0008 + 7.88979015547097E-0008 7.72177561220701E-0008 7.55647091639498E-0008 7.39384644823452E-0008 7.23387275777254E-0008 + 7.07652056478679E-0008 6.92176075866631E-0008 6.76956439829190E-0008 6.61990271191981E-0008 6.47274709706081E-0008 + 6.32806912036388E-0008 6.18584051749695E-0008 6.04603319302779E-0008 5.90861922030764E-0008 5.77357084135089E-0008 + 5.64086046671873E-0008 5.51046067540031E-0008 5.38234421469388E-0008 5.25648400009059E-0008 5.13285311515454E-0008 + 5.01142481140658E-0008 4.89217250820576E-0008 4.77506979263083E-0008 4.66009041936387E-0008 4.54720831057191E-0008 + 4.43639755578863E-0008 4.32763241179831E-0008 4.22088730251657E-0008 4.11613681887433E-0008 4.01335571869979E-0008 + 3.91251892660039E-0008 3.81360153384692E-0008 3.71657879825462E-0008 3.62142614406734E-0008 3.52811916183975E-0008 + 3.43663360831967E-0008 3.34694540633226E-0008 3.25903064466157E-0008 3.17286557793480E-0008 3.08842662650480E-0008 + 3.00569037633274E-0008 2.92463357887243E-0008 2.84523315095224E-0008 2.76746617465950E-0008 2.69130989722333E-0008 + 2.61674173089761E-0008 2.54373925284537E-0008 2.47228020502122E-0008 2.40234249405577E-0008 2.33390419113884E-0008 + 2.26694353190267E-0008 2.20143891630642E-0008 2.13736890851949E-0008 2.07471223680492E-0008 2.01344779340412E-0008 + 1.95355463441973E-0008 1.89501197970047E-0008 1.83779921272468E-0008 1.78189588048409E-0008 1.72728169336865E-0008 + 1.67393652504978E-0008 1.62184041236538E-0008 1.57097355520364E-0008 1.52131631638711E-0008 1.47284922155771E-0008 + 1.42555295906035E-0008 1.37940837982802E-0008 1.33439649726599E-0008 1.29049848713610E-0008 1.24769568744199E-0008 + 1.20596959831300E-0008 1.16530188188949E-0008 1.12567436220733E-0008 1.08706902508243E-0008 1.04946801799614E-0008 + 1.01285364997957E-0008 9.77208391499000E-0009 9.42514874340661E-0009 9.08755891495612E-0009 8.75914397045206E-0009 + 8.43973506046039E-0009 8.12916494414964E-0009 7.82726798814760E-0009 7.53388016538953E-0009 7.24883905397565E-0009 + 6.97198383602334E-0009 6.70315529652000E-0009 6.44219582218173E-0009 6.18894940030463E-0009 5.94326161762428E-0009 + 5.70497965917066E-0009 5.47395230712376E-0009 5.25002993967418E-0009 5.03306452987760E-0009 4.82290964451620E-0009 + 4.61942044295629E-0009 4.42245367600665E-0009 4.23186768478115E-0009 4.04752239955622E-0009 3.86927933863433E-0009 + 3.69700160720432E-0009 3.53055389620239E-0009 3.36980248117681E-0009 3.21461522114833E-0009 3.06486155747578E-0009 + 2.92041251271902E-0009 2.78114068950263E-0009 2.64692026938244E-0009 2.51762701171012E-0009 2.39313825249841E-0009 + 2.27333290328920E-0009 2.15809145001857E-0009 2.04729595188583E-0009 1.94083004022071E-0009 1.83857891735115E-0009 + 1.74042935547365E-0009 1.64626969552107E-0009 1.55598984603385E-0009 1.46948128202985E-0009 1.38663704387471E-0009 + 1.30735173615440E-0009 1.23152152654579E-0009 1.15904414469014E-0009 1.08981888106545E-0009 1.02374658585944E-0009 + 9.60729667844352E-0010 9.00672093250214E-0010 8.43479384640598E-0010 7.89058619787536E-0010 7.37318430547061E-0010 + 6.88169001736244E-0010 6.41522070009209E-0010 5.97290922735112E-0010 5.55390396875635E-0010 5.15736877863052E-0010 + 4.78248298479568E-0010 4.42844137735982E-0010 4.09445419751971E-0010 3.77974712636112E-0010 3.48356127366473E-0010 + 3.20515316672219E-0010 2.94379473915146E-0010 2.69877331971772E-0010 2.46939162116404E-0010 2.25496772903960E-0010 + 2.05483509053992E-0010 1.86834250334726E-0010 1.69485410447647E-0010 1.53374935912921E-0010 1.38442304954780E-0010 + 1.24628526387900E-0010 1.11876138503939E-0010 1.00129207958605E-0010 8.93333286594398E-0011 7.94356206537470E-0011 + 7.03847290173443E-0011 6.21308227435788E-0011 5.46255936328635E-0011 4.78222551828504E-0011 4.16755414788679E-0011 + 3.61417060850584E-0011 3.11785209358638E-0011 2.67452752280201E-0011 2.28027743131284E-0011 1.93133385905797E-0011 + 1.62408024010923E-0011 1.35505129206535E-0011 1.12093290549642E-0011 9.18562033441218E-0012 7.44926580948414E-0012 + 5.97165294667466E-0012 4.72567652491142E-0012 3.68573753242149E-0012 2.82774206412488E-0012 2.12910021948726E-0012 + 1.56872500086494E-0012 1.12703121234674E-0012 7.85934359063799E-0013 5.28849547000072E-0013 3.40690383278238E-0013 + 2.07867876933512E-0013 1.18289340174957E-0013 6.13572901270581E-0014 2.79683510593944E-0014 1.05121570985169E-0014 + 2.87025542484574E-0015 4.15009953669473E-0016 8.50549965556171E-0018 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 0.00000000000000E+0000 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 + 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 1.00000000000000E+0012 9.22928988634834E+0002 + 9.18497682817860E+0002 9.14098678325109E+0002 9.09731601923418E+0002 9.05396086317276E+0002 9.01091770040226E+0002 + 8.96818297348349E+0002 8.92575318115777E+0002 8.88362487732226E+0002 8.84179467002478E+0002 8.80025922047792E+0002 + 8.75901524209206E+0002 8.71805949952684E+0002 8.67738880776083E+0002 8.63700003117892E+0002 8.59689008267725E+0002 + 8.55705592278519E+0002 8.51749455880411E+0002 8.47820304396256E+0002 8.43917847658771E+0002 8.40041799929243E+0002 + 8.36191879817802E+0002 8.32367810205210E+0002 8.28569318166136E+0002 8.24796134893907E+0002 8.21047995626676E+0002 + 8.17324639575011E+0002 8.13625809850854E+0002 8.09951253397837E+0002 8.06300720922916E+0002 8.02673966829319E+0002 + 7.99070749150755E+0002 7.95490829486878E+0002 7.91933972939984E+0002 7.88399948052899E+0002 7.84888526748052E+0002 + 7.81399484267701E+0002 7.77932599115299E+0002 7.74487652997962E+0002 7.71064430770034E+0002 7.67662720377722E+0002 + 7.64282312804768E+0002 7.60923002019166E+0002 7.57584584920871E+0002 7.54266861290509E+0002 7.50969633739045E+0002 + 7.47692707658411E+0002 7.44435891173064E+0002 7.41198995092449E+0002 7.37981832864375E+0002 7.34784220529254E+0002 + 7.31605976675212E+0002 7.28446922394041E+0002 7.25306881237983E+0002 7.22185679177323E+0002 7.19083144558783E+0002 + 7.15999108064695E+0002 7.12933402672943E+0002 7.09885863617656E+0002 7.06856328350637E+0002 7.03844636503518E+0002 + 7.00850629850620E+0002 6.97874152272516E+0002 6.94915049720263E+0002 6.91973170180320E+0002 6.89048363640104E+0002 + 6.86140482054205E+0002 6.83249379311222E+0002 6.80374911201221E+0002 6.77516935383797E+0002 6.74675311356738E+0002 + 6.71849900425264E+0002 6.69040565671846E+0002 6.66247171926580E+0002 6.63469585738114E+0002 6.60707675345118E+0002 + 6.57961310648277E+0002 6.55230363182808E+0002 6.52514706091486E+0002 6.49814214098170E+0002 6.47128763481814E+0002 + 6.44458232050963E+0002 6.41802499118722E+0002 6.39161445478180E+0002 6.36534953378294E+0002 6.33922906500217E+0002 + 6.31325189934056E+0002 6.28741690156064E+0002 6.26172295006250E+0002 6.23616893666398E+0002 6.21075376638492E+0002 + 6.18547635723535E+0002 6.16033564000759E+0002 6.13533055807209E+0002 6.11046006717712E+0002 6.08572313525199E+0002 + 6.06111874221394E+0002 6.03664587977857E+0002 6.01230355127365E+0002 5.98809077145640E+0002 5.96400656633403E+0002 + 5.94004997298759E+0002 5.91622003939898E+0002 5.89251582428113E+0002 5.86893639691125E+0002 5.84548083696707E+0002 + 5.82214823436609E+0002 5.79893768910768E+0002 5.77584831111807E+0002 5.75287922009816E+0002 5.73002954537394E+0002 + 5.70729842574980E+0002 5.68468500936429E+0002 5.66218845354860E+0002 5.63980792468751E+0002 5.61754259808282E+0002 + 5.59539165781928E+0002 5.57335429663290E+0002 5.55142971578154E+0002 5.52961712491792E+0002 5.50791574196479E+0002 + 5.48632479299241E+0002 5.46484351209808E+0002 5.44347114128799E+0002 5.42220693036097E+0002 5.40105013679443E+0002 + 5.38000002563227E+0002 5.35905586937474E+0002 5.33821694787030E+0002 5.31748254820936E+0002 5.29685196461985E+0002 + 5.27632449836467E+0002 5.25589945764092E+0002 5.23557615748092E+0002 5.21535391965488E+0002 5.19523207257538E+0002 + 5.17520995120344E+0002 5.15528689695624E+0002 5.13546225761642E+0002 5.11573538724305E+0002 5.09610564608403E+0002 + 5.07657240049002E+0002 5.05713502282997E+0002 5.03779289140792E+0002 5.01854539038143E+0002 4.99939190968126E+0002 + 4.98033184493250E+0002 4.96136459737703E+0002 4.94248957379733E+0002 4.92370618644158E+0002 4.90501385294999E+0002 + 4.88641199628247E+0002 4.86790004464748E+0002 4.84947743143206E+0002 4.83114359513309E+0002 4.81289797928974E+0002 + 4.79474003241694E+0002 4.77666920794012E+0002 4.75868496413092E+0002 4.74078676404408E+0002 4.72297407545530E+0002 + 4.70524637080020E+0002 4.68760312711429E+0002 4.67004382597388E+0002 4.65256795343809E+0002 4.63517499999169E+0002 + 4.61786446048895E+0002 4.60063583409847E+0002 4.58348862424880E+0002 4.56642233857506E+0002 4.54943648886638E+0002 + 4.53253059101421E+0002 4.51570416496148E+0002 4.49895673465264E+0002 4.48228782798438E+0002 4.46569697675730E+0002 + 4.44918371662828E+0002 4.43274758706364E+0002 4.41638813129303E+0002 4.40010489626412E+0002 4.38389743259799E+0002 + 4.36776529454519E+0002 4.35170803994257E+0002 4.33572523017077E+0002 4.31981643011238E+0002 4.30398120811078E+0002 + 4.28821913592961E+0002 4.27252978871293E+0002 4.25691274494591E+0002 4.24136758641626E+0002 4.22589389817617E+0002 + 4.21049126850491E+0002 4.19515928887196E+0002 4.17989755390072E+0002 4.16470566133286E+0002 4.14958321199313E+0002 + 4.13452980975472E+0002 4.11954506150524E+0002 4.10462857711311E+0002 4.08977996939456E+0002 4.07499885408106E+0002 + 4.06028484978731E+0002 4.04563757797964E+0002 4.03105666294499E+0002 4.01654173176027E+0002 4.00209241426221E+0002 + 3.98770834301769E+0002 3.97338915329449E+0002 3.95913448303244E+0002 3.94494397281511E+0002 3.93081726584179E+0002 + 3.91675400789996E+0002 3.90275384733818E+0002 3.88881643503930E+0002 3.87494142439416E+0002 3.86112847127560E+0002 + 3.84737723401291E+0002 3.83368737336656E+0002 3.82005855250343E+0002 3.80649043697227E+0002 3.79298269467957E+0002 + 3.77953499586581E+0002 3.76614701308199E+0002 3.75281842116651E+0002 3.73954889722241E+0002 3.72633812059489E+0002 + 3.71318577284917E+0002 3.70009153774870E+0002 3.68705510123356E+0002 3.67407615139930E+0002 3.66115437847601E+0002 + 3.64828947480765E+0002 3.63548113483172E+0002 3.62272905505920E+0002 3.61003293405473E+0002 3.59739247241713E+0002 + 3.58480737276010E+0002 3.57227733969325E+0002 3.55980207980338E+0002 3.54738130163596E+0002 3.53501471567694E+0002 + 3.52270203433473E+0002 3.51044297192245E+0002 3.49823724464047E+0002 3.48608457055905E+0002 3.47398466960137E+0002 + 3.46193726352665E+0002 3.44994207591357E+0002 3.43799883214388E+0002 3.42610725938622E+0002 3.41426708658016E+0002 + 3.40247804442047E+0002 3.39073986534151E+0002 3.37905228350192E+0002 3.36741503476946E+0002 3.35582785670602E+0002 + 3.34429048855287E+0002 3.33280267121607E+0002 3.32136414725205E+0002 3.30997466085341E+0002 3.29863395783485E+0002 + 3.28734178561933E+0002 3.27609789322434E+0002 3.26490203124839E+0002 3.25375395185765E+0002 3.24265340877273E+0002 + 3.23160015725568E+0002 3.22059395409707E+0002 3.20963455760329E+0002 3.19872172758397E+0002 3.18785522533958E+0002 + 3.17703481364914E+0002 3.16626025675811E+0002 3.15553132036640E+0002 3.14484777161653E+0002 3.13420937908194E+0002 + 3.12361591275543E+0002 3.11306714403773E+0002 3.10256284572619E+0002 3.09210279200367E+0002 3.08168675842742E+0002 + 3.07131452191825E+0002 3.06098586074971E+0002 3.05070055453745E+0002 3.04045838422865E+0002 3.03025913209163E+0002 + 3.02010258170556E+0002 3.00998851795020E+0002 2.99991672699592E+0002 2.98988699629368E+0002 2.97989911456519E+0002 + 2.96995287179318E+0002 2.96004805921176E+0002 2.95018446929687E+0002 2.94036189575688E+0002 2.93058013352325E+0002 + 2.92083897874130E+0002 2.91113822876112E+0002 2.90147768212850E+0002 2.89185713857600E+0002 2.88227639901416E+0002 + 2.87273526552272E+0002 2.86323354134195E+0002 2.85377103086416E+0002 2.84434753962513E+0002 2.83496287429583E+0002 + 2.82561684267404E+0002 2.81630925367619E+0002 2.80703991732921E+0002 2.79780864476250E+0002 2.78861524819995E+0002 + 2.77945954095208E+0002 2.77034133740821E+0002 2.76126045302878E+0002 2.75221670433765E+0002 2.74320990891459E+0002 + 2.73423988538772E+0002 2.72530645342615E+0002 2.71640943373257E+0002 2.70754864803605E+0002 2.69872391908476E+0002 + 2.68993507063888E+0002 2.68118192746353E+0002 2.67246431532174E+0002 2.66378206096758E+0002 2.65513499213923E+0002 + 2.64652293755221E+0002 2.63794572689266E+0002 2.62940319081065E+0002 2.62089516091356E+0002 2.61242146975958E+0002 + 2.60398195085115E+0002 2.59557643862862E+0002 2.58720476846381E+0002 2.57886677665375E+0002 2.57056230041441E+0002 + 2.56229117787451E+0002 2.55405324806939E+0002 2.54584835093492E+0002 2.53767632730150E+0002 2.52953701888803E+0002 + 2.52143026829607E+0002 2.51335591900392E+0002 2.50531381536082E+0002 2.49730380258118E+0002 2.48932572673891E+0002 + 2.48137943476171E+0002 2.47346477442547E+0002 2.46558159434875E+0002 2.45772974398720E+0002 2.44990907362814E+0002 + 2.44211943438512E+0002 2.43436067819257E+0002 2.42663265780044E+0002 2.41893522676895E+0002 2.41126823946335E+0002 + 2.40363155104868E+0002 2.39602501748471E+0002 2.38844849552074E+0002 2.38090184269061E+0002 2.37338491730764E+0002 + 2.36589757845966E+0002 2.35843968600410E+0002 2.35101110056304E+0002 2.34361168351839E+0002 2.33624129700707E+0002 + 2.32889980391623E+0002 2.32158706787850E+0002 2.31430295326730E+0002 2.30704732519217E+0002 2.29982004949417E+0002 + 2.29262099274127E+0002 2.28545002222377E+0002 2.27830700594985E+0002 2.27119181264104E+0002 2.26410431172781E+0002 + 2.25704437334512E+0002 2.25001186832809E+0002 2.24300666820762E+0002 2.23602864520613E+0002 2.22907767223323E+0002 + 2.22215362288153E+0002 2.21525637142241E+0002 2.20838579280185E+0002 2.20154176263629E+0002 2.19472415720849E+0002 + 2.18793285346353E+0002 2.18116772900465E+0002 2.17442866208932E+0002 2.16771553162523E+0002 2.16102821716630E+0002 + 2.15436659890879E+0002 2.14773055768740E+0002 2.14111997497138E+0002 2.13453473286068E+0002 2.12797471408220E+0002 + 2.12143980198593E+0002 2.11492988054124E+0002 2.10844483433314E+0002 2.10198454855857E+0002 2.09554890902274E+0002 + 2.08913780213549E+0002 2.08275111490764E+0002 2.07638873494742E+0002 2.07005055045691E+0002 2.06373645022844E+0002 + 2.05744632364116E+0002 2.05118006065748E+0002 2.04493755181964E+0002 2.03871868824624E+0002 2.03252336162883E+0002 + 2.02635146422856E+0002 2.02020288887274E+0002 2.01407752895153E+0002 2.00797527841462E+0002 2.00189603176795E+0002 + 1.99583968407038E+0002 1.98980613093049E+0002 1.98379526850331E+0002 1.97780699348714E+0002 1.97184120312037E+0002 + 1.96589779517828E+0002 1.95997666796994E+0002 1.95407772033505E+0002 1.94820085164089E+0002 1.94234596177919E+0002 + 1.93651295116312E+0002 1.93070172072421E+0002 1.92491217190940E+0002 1.91914420667795E+0002 1.91339772749858E+0002 + 1.90767263734642E+0002 1.90196883970013E+0002 1.89628623853896E+0002 1.89062473833987E+0002 1.88498424407466E+0002 + 1.87936466120710E+0002 1.87376589569009E+0002 1.86818785396286E+0002 1.86263044294816E+0002 1.85709357004948E+0002 + 1.85157714314828E+0002 1.84608107060129E+0002 1.84060526123770E+0002 1.83514962435653E+0002 1.82971406972391E+0002 + 1.82429850757041E+0002 1.81890284858837E+0002 1.81352700392931E+0002 1.80817088520123E+0002 1.80283440446610E+0002 + 1.79751747423719E+0002 1.79222000747656E+0002 1.78694191759248E+0002 1.78168311843689E+0002 1.77644352430290E+0002 + 1.77122304992226E+0002 1.76602161046291E+0002 1.76083912152646E+0002 1.75567549914576E+0002 1.75053065978249E+0002 + 1.74540452032467E+0002 1.74029699808430E+0002 1.73520801079494E+0002 1.73013747660936E+0002 1.72508531409715E+0002 + 1.72005144224238E+0002 1.71503578044126E+0002 1.71003824849985E+0002 1.70505876663171E+0002 1.70009725545563E+0002 + 1.69515363599340E+0002 1.69022782966746E+0002 1.68531975829871E+0002 1.68042934410430E+0002 1.67555650969533E+0002 + 1.67070117807474E+0002 1.66586327263504E+0002 1.66104271715617E+0002 1.65623943580333E+0002 1.65145335312485E+0002 + 1.64668439405002E+0002 1.64193248388695E+0002 1.63719754832053E+0002 1.63247951341026E+0002 1.62777830558822E+0002 + 1.62309385165694E+0002 1.61842607878740E+0002 1.61377491451693E+0002 1.60914028674723E+0002 1.60452212374230E+0002 + 1.59992035412646E+0002 1.59533490688233E+0002 1.59076571134886E+0002 1.58621269721938E+0002 1.58167579453960E+0002 + 1.57715493370565E+0002 1.57265004546220E+0002 1.56816106090050E+0002 1.56368791145647E+0002 1.55923052890878E+0002 + 1.55478884537699E+0002 1.55036279331967E+0002 1.54595230553250E+0002 1.54155731514645E+0002 1.53717775562591E+0002 + 1.53281356076688E+0002 1.52846466469510E+0002 1.52413100186431E+0002 1.51981250705438E+0002 1.51550911536955E+0002 + 1.51122076223668E+0002 1.50694738340340E+0002 1.50268891493644E+0002 1.49844529321983E+0002 1.49421645495317E+0002 + 1.49000233714992E+0002 1.48580287713566E+0002 1.48161801254639E+0002 1.47744768132686E+0002 1.47329182172885E+0002 + 1.46915037230949E+0002 1.46502327192964E+0002 1.46091045975217E+0002 1.45681187524036E+0002 1.45272745815626E+0002 + 1.44865714855903E+0002 1.44460088680335E+0002 1.44055861353781E+0002 1.43653026970329E+0002 1.43251579653142E+0002 + 1.42851513554292E+0002 1.42452822854611E+0002 1.42055501763531E+0002 1.41659544518928E+0002 1.41264945386970E+0002 + 1.40871698661961E+0002 1.40479798666191E+0002 1.40089239749784E+0002 1.39700016290545E+0002 1.39312122693813E+0002 + 1.38925553392310E+0002 1.38540302845994E+0002 1.38156365541912E+0002 1.37773735994050E+0002 1.37392408743195E+0002 + 1.37012378356783E+0002 1.36633639428758E+0002 1.36256186579429E+0002 1.35880014455330E+0002 1.35505117729072E+0002 + 1.35131491099211E+0002 1.34759129290102E+0002 1.34388027051764E+0002 1.34018179159737E+0002 1.33649580414951E+0002 + 1.33282225643585E+0002 1.32916109696933E+0002 1.32551227451267E+0002 1.32187573807708E+0002 1.31825143692085E+0002 + 1.31463932054811E+0002 1.31103933870741E+0002 1.30745144139053E+0002 1.30387557883106E+0002 1.30031170150319E+0002 + 1.29675976012037E+0002 1.29321970563406E+0002 1.28969148923242E+0002 1.28617506233911E+0002 1.28267037661194E+0002 + 1.27917738394169E+0002 1.27569603645087E+0002 1.27222628649239E+0002 1.26876808664846E+0002 1.26532138972925E+0002 + 1.26188614877175E+0002 1.25846231703853E+0002 1.25504984801654E+0002 1.25164869541592E+0002 1.24825881316881E+0002 + 1.24488015542816E+0002 1.24151267656655E+0002 1.23815633117507E+0002 1.23481107406207E+0002 1.23147686025209E+0002 + 1.22815364498466E+0002 1.22484138371318E+0002 1.22154003210379E+0002 1.21824954603419E+0002 1.21496988159260E+0002 + 1.21170099507658E+0002 1.20844284299193E+0002 1.20519538205162E+0002 1.20195856917464E+0002 1.19873236148496E+0002 + 1.19551671631041E+0002 1.19231159118161E+0002 1.18911694383091E+0002 1.18593273219131E+0002 1.18275891439539E+0002 + 1.17959544877428E+0002 1.17644229385660E+0002 1.17329940836741E+0002 1.17016675122718E+0002 1.16704428155075E+0002 + 1.16393195864633E+0002 1.16082974201444E+0002 1.15773759134695E+0002 1.15465546652601E+0002 1.15158332762309E+0002 + 1.14852113489797E+0002 1.14546884879776E+0002 1.14242642995590E+0002 1.13939383919118E+0002 1.13637103750677E+0002 + 1.13335798608926E+0002 1.13035464630768E+0002 1.12736097971256E+0002 1.12437694803496E+0002 1.12140251318553E+0002 + 1.11843763725357E+0002 1.11548228250608E+0002 1.11253641138686E+0002 1.10959998651555E+0002 1.10667297068673E+0002 + 1.10375532686897E+0002 1.10084701820399E+0002 1.09794800800566E+0002 1.09505825975920E+0002 1.09217773712018E+0002 + 1.08930640391373E+0002 1.08644422413357E+0002 1.08359116194119E+0002 1.08074718166495E+0002 1.07791224779919E+0002 + 1.07508632500339E+0002 1.07226937810132E+0002 1.06946137208016E+0002 1.06666227208963E+0002 1.06387204344120E+0002 + 1.06109065160719E+0002 1.05831806221998E+0002 1.05555424107114E+0002 1.05279915411062E+0002 1.05005276744593E+0002 + 1.04731504734130E+0002 1.04458596021691E+0002 1.04186547264801E+0002 1.03915355136419E+0002 1.03645016324852E+0002 + 1.03375527533681E+0002 1.03106885481674E+0002 1.02839086902716E+0002 1.02572128545723E+0002 1.02306007174572E+0002 + 1.02040719568015E+0002 1.01776262519608E+0002 1.01512632837633E+0002 1.01249827345020E+0002 1.00987842879275E+0002 + 1.00726676292399E+0002 1.00466324450819E+0002 1.00206784235309E+0002 9.99480525409217E+0001 9.96901262769057E+0001 + 9.94330023666407E+0001 9.91766777475607E+0001 9.89211493710824E+0001 9.86664142025328E+0001 9.84124692210780E+0001 + 9.81593114196514E+0001 9.79069378048834E+0001 9.76553453970305E+0001 9.74045312299053E+0001 9.71544923508071E+0001 + 9.69052258204522E+0001 9.66567287129050E+0001 9.64089981155097E+0001 9.61620311288221E+0001 9.59158248665413E+0001 + 9.56703764554431E+0001 9.54256830353121E+0001 9.51817417588757E+0001 9.49385497917375E+0001 9.46961043123110E+0001 + 9.44544025117548E+0001 9.42134415939068E+0001 9.39732187752191E+0001 9.37337312846944E+0001 9.34949763638210E+0001 + 9.32569512665091E+0001 9.30196532590279E+0001 9.27830796199420E+0001 9.25472276400486E+0001 9.23120946223153E+0001 + 9.20776778818181E+0001 9.18439747456796E+0001 9.16109825530072E+0001 9.13786986548326E+0001 9.11471204140510E+0001 + 9.09162452053605E+0001 9.06860704152019E+0001 9.04565934416994E+0001 9.02278116946011E+0001 8.99997225952196E+0001 + 8.97723235763736E+0001 8.95456120823292E+0001 8.93195855687421E+0001 8.90942415025994E+0001 8.88695773621627E+0001 + 8.86455906369104E+0001 8.84222788274808E+0001 8.81996394456162E+0001 8.79776700141061E+0001 8.77563680667315E+0001 + 8.75357311482091E+0001 8.73157568141363E+0001 8.70964426309359E+0001 8.68777861758015E+0001 8.66597850366430E+0001 + 8.64424368120330E+0001 8.62257391111518E+0001 8.60096895537352E+0001 8.57942857700206E+0001 8.55795254006940E+0001 + 8.53654060968374E+0001 8.51519255198767E+0001 8.49390813415295E+0001 8.47268712437527E+0001 8.45152929186923E+0001 + 8.43043440686306E+0001 8.40940224059365E+0001 8.38843256530141E+0001 8.36752515422525E+0001 8.34667978159758E+0001 + 8.32589622263930E+0001 8.30517425355485E+0001 8.28451365152730E+0001 8.26391419471339E+0001 8.24337566223872E+0001 + 8.22289783419284E+0001 8.20248049162446E+0001 8.18212341653664E+0001 8.16182639188199E+0001 8.14158920155798E+0001 + 8.12141163040218E+0001 8.10129346418752E+0001 8.08123448961774E+0001 8.06123449432261E+0001 8.04129326685340E+0001 + 8.02141059667825E+0001 8.00158627417760E+0001 7.98182009063966E+0001 7.96211183825585E+0001 7.94246131011636E+0001 + 7.92286830020562E+0001 7.90333260339791E+0001 7.88385401545286E+0001 7.86443233301114E+0001 7.84506735359001E+0001 + 7.82575887557900E+0001 7.80650669823557E+0001 7.78731062168082E+0001 7.76817044689517E+0001 7.74908597571415E+0001 + 7.73005701082413E+0001 7.71108335575812E+0001 7.69216481489156E+0001 7.67330119343816E+0001 7.65449229744579E+0001 + 7.63573793379228E+0001 7.61703791018139E+0001 7.59839203513869E+0001 7.57980011800754E+0001 7.56126196894497E+0001 + 7.54277739891780E+0001 7.52434621969851E+0001 7.50596824386136E+0001 7.48764328477841E+0001 7.46937115661557E+0001 + 7.45115167432876E+0001 7.43298465365992E+0001 7.41486991113325E+0001 7.39680726405130E+0001 7.37879653049116E+0001 + 7.36083752930066E+0001 7.34293008009459E+0001 7.32507400325095E+0001 7.30726911990715E+0001 7.28951525195637E+0001 + 7.27181222204380E+0001 7.25415985356295E+0001 7.23655797065204E+0001 7.21900639819033E+0001 7.20150496179445E+0001 + 7.18405348781486E+0001 7.16665180333226E+0001 7.14929973615398E+0001 7.13199711481046E+0001 7.11474376855173E+0001 + 7.09753952734387E+0001 7.08038422186557E+0001 7.06327768350459E+0001 7.04621974435436E+0001 7.02921023721055E+0001 + 7.01224899556760E+0001 6.99533585361536E+0001 6.97847064623571E+0001 6.96165320899920E+0001 6.94488337816167E+0001 + 6.92816099066097E+0001 6.91148588411363E+0001 6.89485789681155E+0001 6.87827686771877E+0001 6.86174263646818E+0001 + 6.84525504335829E+0001 6.82881392935001E+0001 6.81241913606343E+0001 6.79607050577468E+0001 6.77976788141269E+0001 + 6.76351110655609E+0001 6.74730002543007E+0001 6.73113448290321E+0001 6.71501432448443E+0001 6.69893939631990E+0001 + 6.68290954518993E+0001 6.66692461850594E+0001 6.65098446430743E+0001 6.63508893125896E+0001 6.61923786864709E+0001 + 6.60343112637749E+0001 6.58766855497184E+0001 6.57195000556500E+0001 6.55627532990196E+0001 6.54064438033499E+0001 + 6.52505700982068E+0001 6.50951307191706E+0001 6.49401242078072E+0001 6.47855491116394E+0001 6.46314039841184E+0001 + 6.44776873845955E+0001 6.43243978782939E+0001 6.41715340362805E+0001 6.40190944354380E+0001 6.38670776584374E+0001 + 6.37154822937100E+0001 6.35643069354204E+0001 6.34135501834385E+0001 6.32632106433131E+0001 6.31132869262443E+0001 + 6.29637776490568E+0001 6.28146814341730E+0001 6.26659969095868E+0001 6.25177227088366E+0001 6.23698574709792E+0001 + 6.22223998405639E+0001 6.20753484676057E+0001 6.19287020075601E+0001 6.17824591212971E+0001 6.16366184750753E+0001 + 6.14911787405168E+0001 6.13461385945814E+0001 6.12014967195416E+0001 6.10572518029575E+0001 6.09134025376517E+0001 + 6.07699476216845E+0001 6.06268857583292E+0001 6.04842156560476E+0001 6.03419360284651E+0001 6.02000455943471E+0001 + 6.00585430775742E+0001 5.99174272071181E+0001 5.97766967170181E+0001 5.96363503463571E+0001 5.94963868392376E+0001 + 5.93568049447583E+0001 5.92176034169908E+0001 5.90787810149563E+0001 5.89403365026019E+0001 5.88022686487780E+0001 + 5.86645762272151E+0001 5.85272580165012E+0001 5.83903128000587E+0001 5.82537393661220E+0001 5.81175365077150E+0001 + 5.79817030226287E+0001 5.78462377133989E+0001 5.77111393872842E+0001 5.75764068562437E+0001 5.74420389369154E+0001 + 5.73080344505941E+0001 5.71743922232099E+0001 5.70411110853066E+0001 5.69081898720204E+0001 5.67756274230580E+0001 + 5.66434225826759E+0001 5.65115741996592E+0001 5.63800811273004E+0001 5.62489422233785E+0001 5.61181563501383E+0001 + 5.59877223742697E+0001 5.58576391668871E+0001 5.57279056035088E+0001 5.55985205640367E+0001 5.54694829327364E+0001 + 5.53407915982162E+0001 5.52124454534079E+0001 5.50844433955463E+0001 5.49567843261496E+0001 5.48294671509995E+0001 + 5.47024907801217E+0001 5.45758541277662E+0001 5.44495561123881E+0001 5.43235956566279E+0001 5.41979716872927E+0001 + 5.40726831353364E+0001 5.39477289358414E+0001 5.38231080279993E+0001 5.36988193550918E+0001 5.35748618644725E+0001 + 5.34512345075477E+0001 5.33279362397583E+0001 5.32049660205610E+0001 5.30823228134100E+0001 5.29600055857390E+0001 + 5.28380133089425E+0001 5.27163449583583E+0001 5.25949995132489E+0001 5.24739759567842E+0001 5.23532732760233E+0001 + 5.22328904618968E+0001 5.21128265091893E+0001 5.19930804165219E+0001 5.18736511863345E+0001 5.17545378248689E+0001 + 5.16357393421508E+0001 5.15172547519735E+0001 5.13990830718801E+0001 5.12812233231468E+0001 5.11636745307661E+0001 + 5.10464357234297E+0001 5.09295059335117E+0001 5.08128841970525E+0001 5.06965695537415E+0001 5.05805610469010E+0001 + 5.04648577234700E+0001 5.03494586339871E+0001 5.02343628325754E+0001 5.01195693769252E+0001 5.00050773282788E+0001 + 4.98908857514140E+0001 4.97769937146283E+0001 4.96634002897233E+0001 4.95501045519885E+0001 4.94371055801863E+0001 + 4.93244024565355E+0001 4.92119942666968E+0001 4.90998800997567E+0001 4.89880590482121E+0001 4.88765302079556E+0001 + 4.87652926782597E+0001 4.86543455617621E+0001 4.85436879644504E+0001 4.84333189956473E+0001 4.83232377679956E+0001 + 4.82134433974434E+0001 4.81039350032294E+0001 4.79947117078683E+0001 4.78857726371361E+0001 4.77771169200554E+0001 + 4.76687436888815E+0001 4.75606520790875E+0001 4.74528412293503E+0001 4.73453102815362E+0001 4.72380583806869E+0001 + 4.71310846750053E+0001 4.70243883158415E+0001 4.69179684498454E+0001 4.68118197728693E+0001 4.67059377784212E+0001 + 4.66003217754165E+0001 4.64949710743691E+0001 4.63898849873898E+0001 4.62850628281852E+0001 4.61805039120549E+0001 + 4.60762075558914E+0001 4.59721730781772E+0001 4.58683997989839E+0001 4.57648870399701E+0001 4.56616341243801E+0001 + 4.55586403770416E+0001 4.54559051243648E+0001 4.53534276943399E+0001 4.52512074165357E+0001 4.51492436220978E+0001 + 4.50475356437466E+0001 4.49460828157759E+0001 4.48448844740506E+0001 4.47439399560051E+0001 4.46432486006415E+0001 + 4.45428097485277E+0001 4.44426227417952E+0001 4.43426869241375E+0001 4.42430016408083E+0001 4.41435662386192E+0001 + 4.40443800659379E+0001 4.39454424726863E+0001 4.38467528103386E+0001 4.37483104319191E+0001 4.36501146920000E+0001 + 4.35521649467000E+0001 4.34544605536818E+0001 4.33570008721502E+0001 4.32597852628498E+0001 4.31628130880634E+0001 + 4.30660837116095E+0001 4.29695964988403E+0001 4.28733508166396E+0001 4.27773460334208E+0001 4.26815815191246E+0001 + 4.25860566452170E+0001 4.24907707846869E+0001 4.23957233120440E+0001 4.23009136033171E+0001 4.22063410360510E+0001 + 4.21120049893051E+0001 4.20179048436508E+0001 4.19240399811694E+0001 4.18304097854495E+0001 4.17370136415855E+0001 + 4.16438509361747E+0001 4.15509210573149E+0001 4.14582233946032E+0001 4.13657573391322E+0001 4.12735222834890E+0001 + 4.11815176217520E+0001 4.10897427494891E+0001 4.09981970637552E+0001 4.09068799630899E+0001 4.08157908475150E+0001 + 4.07249291185325E+0001 4.06342941791218E+0001 4.05438854337377E+0001 4.04537022883076E+0001 4.03637441502299E+0001 + 4.02740104283705E+0001 4.01845005330615E+0001 4.00952138760978E+0001 4.00061498707355E+0001 3.99173079316891E+0001 + 3.98286874751290E+0001 3.97402879186790E+0001 3.96521086814144E+0001 3.95641491838588E+0001 3.94764088479823E+0001 + 3.93888870971986E+0001 3.93015833563625E+0001 3.92144970517680E+0001 3.91276276111448E+0001 3.90409744636570E+0001 + 3.89545370398995E+0001 3.88683147718964E+0001 3.87823070930979E+0001 3.86965134383779E+0001 3.86109332440316E+0001 + 3.85255659477731E+0001 3.84404109887324E+0001 3.83554678074534E+0001 3.82707358458910E+0001 3.81862145474085E+0001 + 3.81019033567756E+0001 3.80178017201649E+0001 3.79339090851506E+0001 3.78502249007045E+0001 3.77667486171946E+0001 + 3.76834796863819E+0001 3.76004175614180E+0001 3.75175616968427E+0001 3.74349115485809E+0001 3.73524665739406E+0001 + 3.72702262316097E+0001 3.71881899816541E+0001 3.71063572855146E+0001 3.70247276060043E+0001 3.69433004073063E+0001 + 3.68620751549706E+0001 3.67810513159121E+0001 3.67002283584075E+0001 3.66196057520927E+0001 3.65391829679606E+0001 + 3.64589594783580E+0001 3.63789347569832E+0001 3.62991082788831E+0001 3.62194795204510E+0001 3.61400479594237E+0001 + 3.60608130748789E+0001 3.59817743472323E+0001 3.59029312582355E+0001 3.58242832909729E+0001 3.57458299298591E+0001 + 3.56675706606365E+0001 3.55895049703724E+0001 3.55116323474564E+0001 3.54339522815978E+0001 3.53564642638228E+0001 + 3.52791677864722E+0001 3.52020623431980E+0001 3.51251474289616E+0001 3.50484225400307E+0001 3.49718871739763E+0001 + 3.48955408296710E+0001 3.48193830072852E+0001 3.47434132082852E+0001 3.46676309354301E+0001 3.45920356927695E+0001 + 3.45166269856405E+0001 3.44414043206651E+0001 3.43663672057477E+0001 3.42915151500723E+0001 3.42168476640997E+0001 + 3.41423642595648E+0001 3.40680644494745E+0001 3.39939477481041E+0001 3.39200136709953E+0001 3.38462617349534E+0001 + 3.37726914580443E+0001 3.36993023595922E+0001 3.36260939601768E+0001 3.35530657816304E+0001 3.34802173470356E+0001 + 3.34075481807222E+0001 3.33350578082649E+0001 3.32627457564805E+0001 3.31906115534251E+0001 3.31186547283913E+0001 + 3.30468748119061E+0001 3.29752713357274E+0001 3.29038438328422E+0001 3.28325918374631E+0001 3.27615148850261E+0001 + 3.26906125121881E+0001 3.26198842568234E+0001 3.25493296580220E+0001 3.24789482560863E+0001 3.24087395925287E+0001 + 3.23387032100687E+0001 3.22688386526305E+0001 3.21991454653402E+0001 3.21296231945230E+0001 3.20602713877007E+0001 + 3.19910895935889E+0001 3.19220773620947E+0001 3.18532342443135E+0001 3.17845597925265E+0001 3.17160535601984E+0001 + 3.16477151019742E+0001 3.15795439736770E+0001 3.15115397323050E+0001 3.14437019360290E+0001 3.13760301441898E+0001 + 3.13085239172953E+0001 3.12411828170182E+0001 3.11740064061930E+0001 3.11069942488136E+0001 3.10401459100307E+0001 + 3.09734609561487E+0001 3.09069389546236E+0001 3.08405794740600E+0001 3.07743820842089E+0001 3.07083463559643E+0001 + 3.06424718613613E+0001 3.05767581735731E+0001 3.05112048669084E+0001 3.04458115168091E+0001 3.03805776998470E+0001 + 3.03155029937218E+0001 3.02505869772581E+0001 3.01858292304031E+0001 3.01212293342237E+0001 3.00567868709040E+0001 + 2.99925014237425E+0001 2.99283725771500E+0001 2.98643999166465E+0001 2.98005830288586E+0001 2.97369215015172E+0001 + 2.96734149234546E+0001 2.96100628846023E+0001 2.95468649759878E+0001 2.94838207897327E+0001 2.94209299190495E+0001 + 2.93581919582393E+0001 2.92956065026892E+0001 2.92331731488698E+0001 2.91708914943325E+0001 2.91087611377068E+0001 + 2.90467816786980E+0001 2.89849527180844E+0001 2.89232738577149E+0001 2.88617447005064E+0001 2.88003648504411E+0001 + 2.87391339125641E+0001 2.86780514929807E+0001 2.86171171988542E+0001 2.85563306384026E+0001 2.84956914208969E+0001 + 2.84351991566583E+0001 2.83748534570550E+0001 2.83146539345008E+0001 2.82546002024516E+0001 2.81946918754034E+0001 + 2.81349285688896E+0001 2.80753098994784E+0001 2.80158354847705E+0001 2.79565049433964E+0001 2.78973178950138E+0001 + 2.78382739603054E+0001 2.77793727609761E+0001 2.77206139197507E+0001 2.76619970603713E+0001 2.76035218075947E+0001 + 2.75451877871902E+0001 2.74869946259366E+0001 2.74289419516205E+0001 2.73710293930329E+0001 2.73132565799674E+0001 + 2.72556231432176E+0001 2.71981287145742E+0001 2.71407729268231E+0001 2.70835554137427E+0001 2.70264758101013E+0001 + 2.69695337516548E+0001 2.69127288751442E+0001 2.68560608182932E+0001 2.67995292198057E+0001 2.67431337193634E+0001 + 2.66868739576231E+0001 2.66307495762149E+0001 2.65747602177390E+0001 2.65189055257638E+0001 2.64631851448232E+0001 + 2.64075987204144E+0001 2.63521458989953E+0001 2.62968263279822E+0001 2.62416396557472E+0001 2.61865855316162E+0001 + 2.61316636058659E+0001 2.60768735297220E+0001 2.60222149553565E+0001 2.59676875358852E+0001 2.59132909253656E+0001 + 2.58590247787945E+0001 2.58048887521052E+0001 2.57508825021656E+0001 2.56970056867757E+0001 2.56432579646651E+0001 + 2.55896389954909E+0001 2.55361484398351E+0001 2.54827859592021E+0001 2.54295512160169E+0001 2.53764438736222E+0001 + 2.53234635962763E+0001 2.52706100491510E+0001 2.52178828983288E+0001 2.51652818108007E+0001 2.51128064544641E+0001 + 2.50604564981204E+0001 2.50082316114723E+0001 2.49561314651223E+0001 2.49041557305695E+0001 2.48523040802077E+0001 + 2.48005761873235E+0001 2.47489717260931E+0001 2.46974903715807E+0001 2.46461317997362E+0001 2.45948956873924E+0001 + 2.45437817122632E+0001 2.44927895529414E+0001 2.44419188888959E+0001 2.43911694004698E+0001 2.43405407688781E+0001 + 2.42900326762055E+0001 2.42396448054041E+0001 2.41893768402908E+0001 2.41392284655458E+0001 2.40891993667097E+0001 + 2.40392892301814E+0001 2.39894977432162E+0001 2.39398245939232E+0001 2.38902694712632E+0001 2.38408320650464E+0001 + 2.37915120659306E+0001 2.37423091654183E+0001 2.36932230558550E+0001 2.36442534304270E+0001 2.35953999831587E+0001 + 2.35466624089112E+0001 2.34980404033792E+0001 2.34495336630897E+0001 2.34011418853992E+0001 2.33528647684918E+0001 + 2.33047020113770E+0001 2.32566533138872E+0001 2.32087183766762E+0001 2.31608969012165E+0001 2.31131885897974E+0001 + 2.30655931455226E+0001 2.30181102723084E+0001 2.29707396748812E+0001 2.29234810587757E+0001 2.28763341303325E+0001 + 2.28292985966963E+0001 2.27823741658132E+0001 2.27355605464292E+0001 2.26888574480876E+0001 2.26422645811276E+0001 + 2.25957816566811E+0001 2.25494083866715E+0001 2.25031444838113E+0001 2.24569896616000E+0001 2.24109436343220E+0001 + 2.23650061170447E+0001 2.23191768256159E+0001 2.22734554766625E+0001 2.22278417875877E+0001 2.21823354765695E+0001 + 2.21369362625581E+0001 2.20916438652745E+0001 2.20464580052077E+0001 2.20013784036132E+0001 2.19564047825110E+0001 + 2.19115368646829E+0001 2.18667743736712E+0001 2.18221170337764E+0001 2.17775645700550E+0001 2.17331167083177E+0001 + 2.16887731751273E+0001 2.16445336977968E+0001 2.16003980043870E+0001 2.15563658237052E+0001 2.15124368853025E+0001 + 2.14686109194721E+0001 2.14248876572474E+0001 2.13812668303998E+0001 2.13377481714369E+0001 2.12943314136006E+0001 + 2.12510162908646E+0001 2.12078025379331E+0001 2.11646898902385E+0001 2.11216780839394E+0001 2.10787668559188E+0001 + 2.10359559437820E+0001 2.09932450858548E+0001 2.09506340211816E+0001 2.09081224895229E+0001 2.08657102313543E+0001 + 2.08233969878640E+0001 2.07811825009506E+0001 2.07390665132220E+0001 2.06970487679926E+0001 2.06551290092822E+0001 + 2.06133069818134E+0001 2.05715824310102E+0001 2.05299551029957E+0001 2.04884247445906E+0001 2.04469911033109E+0001 + 2.04056539273665E+0001 2.03644129656587E+0001 2.03232679677790E+0001 2.02822186840068E+0001 2.02412648653074E+0001 + 2.02004062633306E+0001 2.01596426304087E+0001 2.01189737195542E+0001 2.00783992844585E+0001 2.00379190794899E+0001 + 1.99975328596916E+0001 1.99572403807801E+0001 1.99170413991430E+0001 1.98769356718377E+0001 1.98369229565891E+0001 + 1.97970030117878E+0001 1.97571755964889E+0001 1.97174404704094E+0001 1.96777973939267E+0001 1.96382461280769E+0001 + 1.95987864345531E+0001 1.95594180757031E+0001 1.95201408145281E+0001 1.94809544146808E+0001 1.94418586404636E+0001 + 1.94028532568265E+0001 1.93639380293660E+0001 1.93251127243226E+0001 1.92863771085796E+0001 1.92477309496611E+0001 + 1.92091740157303E+0001 1.91707060755874E+0001 1.91323268986686E+0001 1.90940362550437E+0001 1.90558339154146E+0001 + 1.90177196511135E+0001 1.89796932341012E+0001 1.89417544369657E+0001 1.89039030329196E+0001 1.88661387957995E+0001 + 1.88284615000634E+0001 1.87908709207895E+0001 1.87533668336741E+0001 1.87159490150302E+0001 1.86786172417860E+0001 + 1.86413712914826E+0001 1.86042109422726E+0001 1.85671359729187E+0001 1.85301461627916E+0001 1.84932412918685E+0001 + 1.84564211407315E+0001 1.84196854905658E+0001 1.83830341231581E+0001 1.83464668208950E+0001 1.83099833667610E+0001 + 1.82735835443375E+0001 1.82372671378004E+0001 1.82010339319192E+0001 1.81648837120547E+0001 1.81288162641579E+0001 + 1.80928313747677E+0001 1.80569288310102E+0001 1.80211084205963E+0001 1.79853699318204E+0001 1.79497131535587E+0001 + 1.79141378752677E+0001 1.78786438869825E+0001 1.78432309793152E+0001 1.78078989434532E+0001 1.77726475711581E+0001 + 1.77374766547632E+0001 1.77023859871730E+0001 1.76673753618606E+0001 1.76324445728667E+0001 1.75975934147983E+0001 + 1.75628216828263E+0001 1.75281291726843E+0001 1.74935156806676E+0001 1.74589810036307E+0001 1.74245249389865E+0001 + 1.73901472847042E+0001 1.73558478393081E+0001 1.73216264018761E+0001 1.72874827720379E+0001 1.72534167499734E+0001 + 1.72194281364116E+0001 1.71855167326289E+0001 1.71516823404473E+0001 1.71179247622331E+0001 1.70842438008954E+0001 + 1.70506392598847E+0001 1.70171109431910E+0001 1.69836586553427E+0001 1.69502822014050E+0001 1.69169813869782E+0001 + 1.68837560181965E+0001 1.68506059017263E+0001 1.68175308447647E+0001 1.67845306550382E+0001 1.67516051408013E+0001 + 1.67187541108346E+0001 1.66859773744437E+0001 1.66532747414576E+0001 1.66206460222272E+0001 1.65880910276241E+0001 + 1.65556095690387E+0001 1.65232014583793E+0001 1.64908665080701E+0001 1.64586045310500E+0001 1.64264153407715E+0001 + 1.63942987511985E+0001 1.63622545768058E+0001 1.63302826325767E+0001 1.62983827340023E+0001 1.62665546970800E+0001 + 1.62347983383115E+0001 1.62031134747022E+0001 1.61714999237593E+0001 1.61399575034905E+0001 1.61084860324024E+0001 + 1.60770853294995E+0001 1.60457552142827E+0001 1.60144955067476E+0001 1.59833060273834E+0001 1.59521865971716E+0001 + 1.59211370375843E+0001 1.58901571705829E+0001 1.58592468186171E+0001 1.58284058046231E+0001 1.57976339520224E+0001 + 1.57669310847205E+0001 1.57362970271053E+0001 1.57057316040461E+0001 1.56752346408921E+0001 1.56448059634707E+0001 + 1.56144453980868E+0001 1.55841527715212E+0001 1.55539279110289E+0001 1.55237706443383E+0001 1.54936807996495E+0001 + 1.54636582056333E+0001 1.54337026914296E+0001 1.54038140866461E+0001 1.53739922213572E+0001 1.53442369261025E+0001 + 1.53145480318855E+0001 1.52849253701725E+0001 1.52553687728910E+0001 1.52258780724287E+0001 1.51964531016318E+0001 + 1.51670936938042E+0001 1.51377996827059E+0001 1.51085709025518E+0001 1.50794071880105E+0001 1.50503083742027E+0001 + 1.50212742967004E+0001 1.49923047915254E+0001 1.49633996951480E+0001 1.49345588444855E+0001 1.49057820769018E+0001 + 1.48770692302050E+0001 1.48484201426469E+0001 1.48198346529217E+0001 1.47913126001645E+0001 1.47628538239502E+0001 + 1.47344581642920E+0001 1.47061254616409E+0001 1.46778555568834E+0001 1.46496482913413E+0001 1.46215035067698E+0001 + 1.45934210453564E+0001 1.45654007497201E+0001 1.45374424629094E+0001 1.45095460284020E+0001 1.44817112901029E+0001 + 1.44539380923435E+0001 1.44262262798802E+0001 1.43985756978935E+0001 1.43709861919866E+0001 1.43434576081843E+0001 + 1.43159897929316E+0001 1.42885825930927E+0001 1.42612358559499E+0001 1.42339494292024E+0001 1.42067231609647E+0001 + 1.41795568997661E+0001 1.41524504945490E+0001 1.41254037946680E+0001 1.40984166498886E+0001 1.40714889103863E+0001 + 1.40446204267449E+0001 1.40178110499562E+0001 1.39910606314177E+0001 1.39643690229328E+0001 1.39377360767083E+0001 + 1.39111616453544E+0001 1.38846455818829E+0001 1.38581877397061E+0001 1.38317879726361E+0001 1.38054461348832E+0001 + 1.37791620810550E+0001 1.37529356661553E+0001 1.37267667455826E+0001 1.37006551751299E+0001 1.36746008109824E+0001 + 1.36486035097173E+0001 1.36226631283023E+0001 1.35967795240946E+0001 1.35709525548397E+0001 1.35451820786704E+0001 + 1.35194679541057E+0001 1.34938100400498E+0001 1.34682081957907E+0001 1.34426622809993E+0001 1.34171721557285E+0001 + 1.33917376804120E+0001 1.33663587158628E+0001 1.33410351232730E+0001 1.33157667642120E+0001 1.32905535006254E+0001 + 1.32653951948348E+0001 1.32402917095355E+0001 1.32152429077967E+0001 1.31902486530592E+0001 1.31653088091356E+0001 + 1.31404232402081E+0001 1.31155918108283E+0001 1.30908143859157E+0001 1.30660908307568E+0001 1.30414210110042E+0001 + 1.30168047926752E+0001 1.29922420421512E+0001 1.29677326261762E+0001 1.29432764118564E+0001 1.29188732666585E+0001 + 1.28945230584091E+0001 1.28702256552936E+0001 1.28459809258552E+0001 1.28217887389937E+0001 1.27976489639647E+0001 + 1.27735614703786E+0001 1.27495261281995E+0001 1.27255428077442E+0001 1.27016113796812E+0001 1.26777317150298E+0001 + 1.26539036851591E+0001 1.26301271617867E+0001 1.26064020169783E+0001 1.25827281231461E+0001 1.25591053530483E+0001 + 1.25355335797878E+0001 1.25120126768114E+0001 1.24885425179089E+0001 1.24651229772117E+0001 1.24417539291924E+0001 + 1.24184352486634E+0001 1.23951668107763E+0001 1.23719484910206E+0001 1.23487801652229E+0001 1.23256617095461E+0001 + 1.23025930004881E+0001 1.22795739148811E+0001 1.22566043298907E+0001 1.22336841230147E+0001 1.22108131720823E+0001 + 1.21879913552534E+0001 1.21652185510172E+0001 1.21424946381916E+0001 1.21198194959223E+0001 1.20971930036815E+0001 + 1.20746150412673E+0001 1.20520854888029E+0001 1.20296042267353E+0001 1.20071711358346E+0001 1.19847860971930E+0001 + 1.19624489922241E+0001 1.19401597026616E+0001 1.19179181105589E+0001 1.18957240982878E+0001 1.18735775485376E+0001 + 1.18514783443144E+0001 1.18294263689403E+0001 1.18074215060521E+0001 1.17854636396007E+0001 1.17635526538502E+0001 + 1.17416884333770E+0001 1.17198708630688E+0001 1.16980998281237E+0001 1.16763752140498E+0001 1.16546969066636E+0001 + 1.16330647920895E+0001 1.16114787567591E+0001 1.15899386874099E+0001 1.15684444710848E+0001 1.15469959951312E+0001 + 1.15255931471999E+0001 1.15042358152443E+0001 1.14829238875199E+0001 1.14616572525830E+0001 1.14404357992899E+0001 + 1.14192594167964E+0001 1.13981279945567E+0001 1.13770414223225E+0001 1.13559995901423E+0001 1.13350023883604E+0001 + 1.13140497076163E+0001 1.12931414388437E+0001 1.12722774732696E+0001 1.12514577024137E+0001 1.12306820180873E+0001 + 1.12099503123928E+0001 1.11892624777225E+0001 1.11686184067582E+0001 1.11480179924699E+0001 1.11274611281154E+0001 + 1.11069477072392E+0001 1.10864776236721E+0001 1.10660507715298E+0001 1.10456670452126E+0001 1.10253263394041E+0001 + 1.10050285490711E+0001 1.09847735694622E+0001 1.09645612961071E+0001 1.09443916248160E+0001 1.09242644516788E+0001 + 1.09041796730640E+0001 1.08841371856184E+0001 1.08641368862658E+0001 1.08441786722067E+0001 1.08242624409170E+0001 + 1.08043880901478E+0001 1.07845555179241E+0001 1.07647646225443E+0001 1.07450153025795E+0001 1.07253074568725E+0001 + 1.07056409845371E+0001 1.06860157849574E+0001 1.06664317577871E+0001 1.06468888029487E+0001 1.06273868206324E+0001 + 1.06079257112959E+0001 1.05885053756632E+0001 1.05691257147243E+0001 1.05497866297338E+0001 1.05304880222108E+0001 + 1.05112297939378E+0001 1.04920118469601E+0001 1.04728340835849E+0001 1.04536964063805E+0001 1.04345987181761E+0001 + 1.04155409220605E+0001 1.03965229213813E+0001 1.03775446197449E+0001 1.03586059210149E+0001 1.03397067293119E+0001 + 1.03208469490127E+0001 1.03020264847493E+0001 1.02832452414086E+0001 1.02645031241314E+0001 1.02458000383118E+0001 + 1.02271358895964E+0001 1.02085105838835E+0001 1.01899240273227E+0001 1.01713761263140E+0001 1.01528667875070E+0001 + 1.01343959178003E+0001 1.01159634243411E+0001 1.00975692145236E+0001 1.00792131959894E+0001 1.00608952766262E+0001 + 1.00426153645671E+0001 1.00243733681900E+0001 1.00061691961170E+0001 9.98800275721367E+0000 9.96987396058820E+0000 + 9.95178271559098E+0000 9.93372893181370E+0000 9.91571251908879E+0000 9.89773338748866E+0000 9.87979144732512E+0000 + 9.86188660914860E+0000 9.84401878374756E+0000 9.82618788214779E+0000 9.80839381561174E+0000 9.79063649563783E+0000 + 9.77291583395982E+0000 9.75523174254614E+0000 9.73758413359924E+0000 9.71997291955487E+0000 9.70239801308152E+0000 + 9.68485932707967E+0000 9.66735677468119E+0000 9.64989026924870E+0000 9.63245972437487E+0000 9.61506505388181E+0000 + 9.59770617182041E+0000 9.58038299246972E+0000 9.56309543033625E+0000 9.54584340015341E+0000 9.52862681688078E+0000 + 9.51144559570355E+0000 9.49429965203189E+0000 9.47718890150022E+0000 9.46011325996667E+0000 9.44307264351245E+0000 + 9.42606696844116E+0000 9.40909615127818E+0000 9.39216010877016E+0000 9.37525875788424E+0000 9.35839201580744E+0000 + 9.34155979994621E+0000 9.32476202792562E+0000 9.30799861758884E+0000 9.29126948699654E+0000 9.27457455442624E+0000 + 9.25791373837168E+0000 9.24128695754226E+0000 9.22469413086241E+0000 9.20813517747101E+0000 9.19161001672078E+0000 + 9.17511856817764E+0000 9.15866075162012E+0000 9.14223648703886E+0000 9.12584569463585E+0000 9.10948829482395E+0000 + 9.09316420822633E+0000 9.07687335567574E+0000 9.06061565821404E+0000 9.04439103709156E+0000 9.02819941376656E+0000 + 9.01204070990455E+0000 8.99591484737786E+0000 8.97982174826492E+0000 8.96376133484974E+0000 8.94773352962133E+0000 + 8.93173825527313E+0000 8.91577543470243E+0000 8.89984499100978E+0000 8.88394684749847E+0000 8.86808092767390E+0000 + 8.85224715524305E+0000 8.83644545411391E+0000 8.82067574839490E+0000 8.80493796239434E+0000 8.78923202061985E+0000 + 8.77355784777784E+0000 8.75791536877291E+0000 8.74230450870728E+0000 8.72672519288031E+0000 8.71117734678789E+0000 + 8.69566089612188E+0000 8.68017576676962E+0000 8.66472188481330E+0000 8.64929917652952E+0000 8.63390756838862E+0000 + 8.61854698705425E+0000 8.60321735938273E+0000 8.58791861242266E+0000 8.57265067341417E+0000 8.55741346978856E+0000 + 8.54220692916769E+0000 8.52703097936346E+0000 8.51188554837727E+0000 8.49677056439951E+0000 8.48168595580902E+0000 + 8.46663165117253E+0000 8.45160757924420E+0000 8.43661366896505E+0000 8.42164984946242E+0000 8.40671605004954E+0000 + 8.39181220022490E+0000 8.37693822967179E+0000 8.36209406825776E+0000 8.34727964603416E+0000 8.33249489323552E+0000 + 8.31773974027917E+0000 8.30301411776463E+0000 8.28831795647312E+0000 8.27365118736708E+0000 8.25901374158965E+0000 + 8.24440555046416E+0000 8.22982654549363E+0000 8.21527665836027E+0000 8.20075582092498E+0000 8.18626396522686E+0000 + 8.17180102348267E+0000 8.15736692808640E+0000 8.14296161160873E+0000 8.12858500679654E+0000 8.11423704657245E+0000 + 8.09991766403428E+0000 8.08562679245460E+0000 8.07136436528021E+0000 8.05713031613174E+0000 8.04292457880302E+0000 + 8.02874708726071E+0000 8.01459777564381E+0000 8.00047657826311E+0000 7.98638342960078E+0000 7.97231826430987E+0000 + 7.95828101721382E+0000 7.94427162330600E+0000 7.93029001774926E+0000 7.91633613587539E+0000 7.90240991318470E+0000 + 7.88851128534553E+0000 7.87464018819388E+0000 7.86079655773274E+0000 7.84698033013181E+0000 7.83319144172694E+0000 + 7.81942982901971E+0000 7.80569542867694E+0000 7.79198817753027E+0000 7.77830801257566E+0000 7.76465487097292E+0000 + 7.75102869004534E+0000 7.73742940727912E+0000 7.72385696032301E+0000 7.71031128698783E+0000 7.69679232524597E+0000 + 7.68330001323105E+0000 7.66983428923732E+0000 7.65639509171937E+0000 7.64298235929155E+0000 7.62959603072767E+0000 + 7.61623604496041E+0000 7.60290234108095E+0000 7.58959485833856E+0000 7.57631353614008E+0000 7.56305831404955E+0000 + 7.54982913178778E+0000 7.53662592923182E+0000 7.52344864641465E+0000 7.51029722352467E+0000 7.49717160090527E+0000 + 7.48407171905442E+0000 7.47099751862429E+0000 7.45794894042070E+0000 7.44492592540282E+0000 7.43192841468264E+0000 + 7.41895634952465E+0000 7.40600967134530E+0000 7.39308832171271E+0000 7.38019224234614E+0000 7.36732137511561E+0000 + 7.35447566204149E+0000 7.34165504529410E+0000 7.32885946719324E+0000 7.31608887020782E+0000 7.30334319695546E+0000 + 7.29062239020199E+0000 7.27792639286118E+0000 7.26525514799420E+0000 7.25260859880928E+0000 7.23998668866130E+0000 + 7.22738936105135E+0000 7.21481655962637E+0000 7.20226822817871E+0000 7.18974431064574E+0000 7.17724475110947E+0000 + 7.16476949379610E+0000 7.15231848307567E+0000 7.13989166346166E+0000 7.12748897961054E+0000 7.11511037632144E+0000 + 7.10275579853571E+0000 7.09042519133657E+0000 7.07811849994866E+0000 7.06583566973772E+0000 7.05357664621014E+0000 + 7.04134137501257E+0000 7.02912980193160E+0000 7.01694187289331E+0000 7.00477753396289E+0000 6.99263673134432E+0000 + 6.98051941137989E+0000 6.96842552054987E+0000 6.95635500547215E+0000 6.94430781290181E+0000 6.93228388973078E+0000 + 6.92028318298746E+0000 6.90830563983631E+0000 6.89635120757752E+0000 6.88441983364660E+0000 6.87251146561401E+0000 + 6.86062605118481E+0000 6.84876353819831E+0000 6.83692387462763E+0000 6.82510700857936E+0000 6.81331288829323E+0000 + 6.80154146214170E+0000 6.78979267862960E+0000 6.77806648639382E+0000 6.76636283420284E+0000 6.75468167095647E+0000 + 6.74302294568543E+0000 6.73138660755101E+0000 6.71977260584473E+0000 6.70818088998790E+0000 6.69661140953139E+0000 + 6.68506411415518E+0000 6.67353895366800E+0000 6.66203587800706E+0000 6.65055483723761E+0000 6.63909578155264E+0000 + 6.62765866127248E+0000 6.61624342684452E+0000 6.60485002884280E+0000 6.59347841796768E+0000 6.58212854504550E+0000 + 6.57080036102825E+0000 6.55949381699317E+0000 6.54820886414248E+0000 6.53694545380297E+0000 6.52570353742569E+0000 + 6.51448306658562E+0000 6.50328399298130E+0000 6.49210626843451E+0000 6.48094984488995E+0000 6.46981467441484E+0000 + 6.45870070919866E+0000 6.44760790155276E+0000 6.43653620391004E+0000 6.42548556882467E+0000 6.41445594897166E+0000 + 6.40344729714659E+0000 6.39245956626527E+0000 6.38149270936341E+0000 6.37054667959629E+0000 6.35962143023845E+0000 + 6.34871691468333E+0000 6.33783308644296E+0000 6.32696989914764E+0000 6.31612730654561E+0000 6.30530526250272E+0000 + 6.29450372100215E+0000 6.28372263614403E+0000 6.27296196214516E+0000 6.26222165333867E+0000 6.25150166417370E+0000 + 6.24080194921511E+0000 6.23012246314315E+0000 6.21946316075314E+0000 6.20882399695512E+0000 6.19820492677362E+0000 + 6.18760590534729E+0000 6.17702688792855E+0000 6.16646782988341E+0000 6.15592868669101E+0000 6.14540941394342E+0000 + 6.13490996734525E+0000 6.12443030271342E+0000 6.11397037597680E+0000 6.10353014317592E+0000 6.09310956046266E+0000 + 6.08270858409998E+0000 6.07232717046155E+0000 6.06196527603152E+0000 6.05162285740416E+0000 6.04129987128362E+0000 + 6.03099627448356E+0000 6.02071202392691E+0000 6.01044707664554E+0000 6.00020138977997E+0000 5.98997492057910E+0000 + 5.97976762639987E+0000 5.96957946470699E+0000 5.95941039307265E+0000 5.94926036917622E+0000 5.93912935080397E+0000 + 5.92901729584874E+0000 5.91892416230972E+0000 5.90884990829207E+0000 5.89879449200674E+0000 5.88875787177007E+0000 + 5.87874000600360E+0000 5.86874085323369E+0000 5.85876037209135E+0000 5.84879852131182E+0000 5.83885525973444E+0000 + 5.82893054630222E+0000 5.81902434006164E+0000 5.80913660016236E+0000 5.79926728585693E+0000 5.78941635650050E+0000 + 5.77958377155060E+0000 5.76976949056676E+0000 5.75997347321031E+0000 5.75019567924410E+0000 5.74043606853217E+0000 + 5.73069460103955E+0000 5.72097123683195E+0000 5.71126593607545E+0000 5.70157865903629E+0000 5.69190936608057E+0000 + 5.68225801767397E+0000 5.67262457438151E+0000 5.66300899686725E+0000 5.65341124589404E+0000 5.64383128232324E+0000 + 5.63426906711448E+0000 5.62472456132532E+0000 5.61519772611109E+0000 5.60568852272458E+0000 5.59619691251571E+0000 + 5.58672285693140E+0000 5.57726631751517E+0000 5.56782725590699E+0000 5.55840563384294E+0000 5.54900141315500E+0000 + 5.53961455577077E+0000 5.53024502371323E+0000 5.52089277910042E+0000 5.51155778414525E+0000 5.50224000115526E+0000 + 5.49293939253229E+0000 5.48365592077225E+0000 5.47438954846491E+0000 5.46514023829362E+0000 5.45590795303500E+0000 + 5.44669265555880E+0000 5.43749430882755E+0000 5.42831287589637E+0000 5.41914831991270E+0000 5.41000060411600E+0000 + 5.40086969183764E+0000 5.39175554650048E+0000 5.38265813161875E+0000 5.37357741079774E+0000 5.36451334773360E+0000 + 5.35546590621305E+0000 5.34643505011315E+0000 5.33742074340108E+0000 5.32842295013387E+0000 5.31944163445816E+0000 + 5.31047676060999E+0000 5.30152829291450E+0000 5.29259619578575E+0000 5.28368043372645E+0000 5.27478097132772E+0000 + 5.26589777326889E+0000 5.25703080431718E+0000 5.24818002932756E+0000 5.23934541324244E+0000 5.23052692109149E+0000 + 5.22172451799134E+0000 5.21293816914545E+0000 5.20416783984375E+0000 5.19541349546250E+0000 5.18667510146404E+0000 + 5.17795262339648E+0000 5.16924602689364E+0000 5.16055527767463E+0000 5.15188034154375E+0000 5.14322118439021E+0000 + 5.13457777218789E+0000 5.12595007099517E+0000 5.11733804695463E+0000 5.10874166629289E+0000 5.10016089532035E+0000 + 5.09159570043094E+0000 5.08304604810197E+0000 5.07451190489382E+0000 5.06599323744981E+0000 5.05749001249587E+0000 + 5.04900219684043E+0000 5.04052975737409E+0000 5.03207266106953E+0000 5.02363087498114E+0000 5.01520436624490E+0000 + 5.00679310207818E+0000 4.99839704977941E+0000 4.99001617672799E+0000 4.98165045038399E+0000 4.97329983828797E+0000 + 4.96496430806073E+0000 4.95664382740316E+0000 4.94833836409596E+0000 4.94004788599946E+0000 4.93177236105341E+0000 + 4.92351175727672E+0000 4.91526604276735E+0000 4.90703518570196E+0000 4.89881915433583E+0000 4.89061791700259E+0000 + 4.88243144211398E+0000 4.87425969815972E+0000 4.86610265370722E+0000 4.85796027740142E+0000 4.84983253796460E+0000 + 4.84171940419612E+0000 4.83362084497226E+0000 4.82553682924598E+0000 4.81746732604674E+0000 4.80941230448029E+0000 + 4.80137173372846E+0000 4.79334558304898E+0000 4.78533382177522E+0000 4.77733641931608E+0000 4.76935334515568E+0000 + 4.76138456885327E+0000 4.75343006004294E+0000 4.74548978843346E+0000 4.73756372380811E+0000 4.72965183602441E+0000 + 4.72175409501398E+0000 4.71387047078233E+0000 4.70600093340864E+0000 4.69814545304561E+0000 4.69030399991920E+0000 + 4.68247654432851E+0000 4.67466305664551E+0000 4.66686350731493E+0000 4.65907786685396E+0000 4.65130610585217E+0000 + 4.64354819497126E+0000 4.63580410494482E+0000 4.62807380657827E+0000 4.62035727074852E+0000 4.61265446840392E+0000 + 4.60496537056394E+0000 4.59728994831907E+0000 4.58962817283062E+0000 4.58198001533050E+0000 4.57434544712105E+0000 + 4.56672443957484E+0000 4.55911696413454E+0000 4.55152299231264E+0000 4.54394249569136E+0000 4.53637544592238E+0000 + 4.52882181472671E+0000 4.52128157389451E+0000 4.51375469528488E+0000 4.50624115082567E+0000 4.49874091251334E+0000 + 4.49125395241274E+0000 4.48378024265694E+0000 4.47631975544706E+0000 4.46887246305207E+0000 4.46143833780864E+0000 + 4.45401735212093E+0000 4.44660947846040E+0000 4.43921468936571E+0000 4.43183295744245E+0000 4.42446425536302E+0000 + 4.41710855586641E+0000 4.40976583175806E+0000 4.40243605590969E+0000 4.39511920125909E+0000 4.38781524080998E+0000 + 4.38052414763179E+0000 4.37324589485953E+0000 4.36598045569363E+0000 4.35872780339969E+0000 4.35148791130841E+0000 + 4.34426075281530E+0000 4.33704630138064E+0000 4.32984453052922E+0000 4.32265541385019E+0000 4.31547892499688E+0000 + 4.30831503768667E+0000 4.30116372570079E+0000 4.29402496288414E+0000 4.28689872314517E+0000 4.27978498045566E+0000 + 4.27268370885058E+0000 4.26559488242793E+0000 4.25851847534853E+0000 4.25145446183593E+0000 4.24440281617618E+0000 + 4.23736351271769E+0000 4.23033652587108E+0000 4.22332183010895E+0000 4.21631939996584E+0000 4.20932921003792E+0000 + 4.20235123498297E+0000 4.19538544952011E+0000 4.18843182842967E+0000 4.18149034655308E+0000 4.17456097879261E+0000 + 4.16764370011133E+0000 4.16073848553284E+0000 4.15384531014118E+0000 4.14696414908063E+0000 4.14009497755561E+0000 + 4.13323777083044E+0000 4.12639250422925E+0000 4.11955915313580E+0000 4.11273769299331E+0000 4.10592809930435E+0000 + 4.09913034763058E+0000 4.09234441359276E+0000 4.08557027287042E+0000 4.07880790120184E+0000 4.07205727438380E+0000 + 4.06531836827151E+0000 4.05859115877841E+0000 4.05187562187599E+0000 4.04517173359372E+0000 4.03847947001879E+0000 + 4.03179880729609E+0000 4.02512972162793E+0000 4.01847218927398E+0000 4.01182618655108E+0000 4.00519168983308E+0000 + 3.99856867555073E+0000 3.99195712019151E+0000 3.98535700029945E+0000 3.97876829247507E+0000 3.97219097337512E+0000 + 3.96562501971252E+0000 3.95907040825616E+0000 3.95252711583080E+0000 3.94599511931690E+0000 3.93947439565043E+0000 + 3.93296492182283E+0000 3.92646667488076E+0000 3.91997963192602E+0000 3.91350377011537E+0000 3.90703906666042E+0000 + 3.90058549882747E+0000 3.89414304393734E+0000 3.88771167936529E+0000 3.88129138254082E+0000 3.87488213094755E+0000 + 3.86848390212309E+0000 3.86209667365889E+0000 3.85572042320009E+0000 3.84935512844537E+0000 3.84300076714689E+0000 + 3.83665731711002E+0000 3.83032475619332E+0000 3.82400306230831E+0000 3.81769221341943E+0000 3.81139218754380E+0000 + 3.80510296275114E+0000 3.79882451716362E+0000 3.79255682895576E+0000 3.78629987635421E+0000 3.78005363763771E+0000 + 3.77381809113688E+0000 3.76759321523411E+0000 3.76137898836345E+0000 3.75517538901044E+0000 3.74898239571200E+0000 + 3.74279998705630E+0000 3.73662814168258E+0000 3.73046683828108E+0000 3.72431605559286E+0000 3.71817577240972E+0000 + 3.71204596757399E+0000 3.70592661997847E+0000 3.69981770856630E+0000 3.69371921233073E+0000 3.68763111031514E+0000 + 3.68155338161280E+0000 3.67548600536674E+0000 3.66942896076973E+0000 3.66338222706399E+0000 3.65734578354123E+0000 + 3.65131960954236E+0000 3.64530368445751E+0000 3.63929798772578E+0000 3.63330249883519E+0000 3.62731719732255E+0000 + 3.62134206277327E+0000 3.61537707482131E+0000 3.60942221314901E+0000 3.60347745748697E+0000 3.59754278761396E+0000 + 3.59161818335673E+0000 3.58570362458995E+0000 3.57979909123605E+0000 3.57390456326509E+0000 3.56802002069469E+0000 + 3.56214544358984E+0000 3.55628081206281E+0000 3.55042610627301E+0000 3.54458130642694E+0000 3.53874639277794E+0000 + 3.53292134562619E+0000 3.52710614531850E+0000 3.52130077224828E+0000 3.51550520685531E+0000 3.50971942962572E+0000 + 3.50394342109181E+0000 3.49817716183197E+0000 3.49242063247050E+0000 3.48667381367757E+0000 3.48093668616906E+0000 + 3.47520923070643E+0000 3.46949142809662E+0000 3.46378325919195E+0000 3.45808470488997E+0000 3.45239574613335E+0000 + 3.44671636390978E+0000 3.44104653925187E+0000 3.43538625323696E+0000 3.42973548698708E+0000 3.42409422166883E+0000 + 3.41846243849320E+0000 3.41284011871554E+0000 3.40722724363539E+0000 3.40162379459638E+0000 3.39602975298610E+0000 + 3.39044510023605E+0000 3.38486981782146E+0000 3.37930388726118E+0000 3.37374729011763E+0000 3.36820000799661E+0000 + 3.36266202254724E+0000 3.35713331546183E+0000 3.35161386847576E+0000 3.34610366336742E+0000 3.34060268195803E+0000 + 3.33511090611155E+0000 3.32962831773460E+0000 3.32415489877634E+0000 3.31869063122834E+0000 3.31323549712447E+0000 + 3.30778947854083E+0000 3.30235255759560E+0000 3.29692471644897E+0000 3.29150593730297E+0000 3.28609620240144E+0000 + 3.28069549402988E+0000 3.27530379451533E+0000 3.26992108622632E+0000 3.26454735157268E+0000 3.25918257300550E+0000 + 3.25382673301703E+0000 3.24847981414051E+0000 3.24314179895013E+0000 3.23781267006089E+0000 3.23249241012851E+0000 + 3.22718100184931E+0000 3.22187842796012E+0000 3.21658467123818E+0000 3.21129971450104E+0000 3.20602354060642E+0000 + 3.20075613245215E+0000 3.19549747297604E+0000 3.19024754515581E+0000 3.18500633200895E+0000 3.17977381659263E+0000 + 3.17454998200362E+0000 3.16933481137816E+0000 3.16412828789187E+0000 3.15893039475967E+0000 3.15374111523564E+0000 + 3.14856043261295E+0000 3.14338833022375E+0000 3.13822479143906E+0000 3.13306979966870E+0000 3.12792333836116E+0000 + 3.12278539100352E+0000 3.11765594112134E+0000 3.11253497227857E+0000 3.10742246807746E+0000 3.10231841215843E+0000 + 3.09722278820001E+0000 3.09213557991872E+0000 3.08705677106900E+0000 3.08198634544306E+0000 3.07692428687084E+0000 + 3.07187057921988E+0000 3.06682520639526E+0000 3.06178815233944E+0000 3.05675940103222E+0000 3.05173893649067E+0000 + 3.04672674276892E+0000 3.04172280395821E+0000 3.03672710418668E+0000 3.03173962761933E+0000 3.02676035845794E+0000 + 3.02178928094093E+0000 3.01682637934331E+0000 3.01187163797654E+0000 3.00692504118851E+0000 3.00198657336335E+0000 + 2.99705621892143E+0000 2.99213396231922E+0000 2.98721978804919E+0000 2.98231368063976E+0000 2.97741562465515E+0000 + 2.97252560469537E+0000 2.96764360539603E+0000 2.96276961142835E+0000 2.95790360749898E+0000 2.95304557834998E+0000 + 2.94819550875869E+0000 2.94335338353765E+0000 2.93851918753450E+0000 2.93369290563194E+0000 2.92887452274757E+0000 + 2.92406402383386E+0000 2.91926139387800E+0000 2.91446661790189E+0000 2.90967968096200E+0000 2.90490056814927E+0000 + 2.90012926458909E+0000 2.89536575544112E+0000 2.89061002589929E+0000 2.88586206119166E+0000 2.88112184658033E+0000 + 2.87638936736141E+0000 2.87166460886489E+0000 2.86694755645452E+0000 2.86223819552782E+0000 2.85753651151589E+0000 + 2.85284248988341E+0000 2.84815611612851E+0000 2.84347737578269E+0000 2.83880625441073E+0000 2.83414273761065E+0000 + 2.82948681101356E+0000 2.82483846028361E+0000 2.82019767111792E+0000 2.81556442924650E+0000 2.81093872043209E+0000 + 2.80632053047019E+0000 2.80170984518890E+0000 2.79710665044886E+0000 2.79251093214318E+0000 2.78792267619733E+0000 + 2.78334186856909E+0000 2.77876849524843E+0000 2.77420254225749E+0000 2.76964399565042E+0000 2.76509284151337E+0000 + 2.76054906596436E+0000 2.75601265515323E+0000 2.75148359526154E+0000 2.74696187250250E+0000 2.74244747312090E+0000 + 2.73794038339300E+0000 2.73344058962647E+0000 2.72894807816034E+0000 2.72446283536484E+0000 2.71998484764143E+0000 + 2.71551410142262E+0000 2.71105058317195E+0000 2.70659427938391E+0000 2.70214517658382E+0000 2.69770326132781E+0000 + 2.69326852020270E+0000 2.68884093982594E+0000 2.68442050684552E+0000 2.68000720793993E+0000 2.67560102981803E+0000 + 2.67120195921899E+0000 2.66680998291227E+0000 2.66242508769745E+0000 2.65804726040422E+0000 2.65367648789229E+0000 + 2.64931275705129E+0000 2.64495605480075E+0000 2.64060636808995E+0000 2.63626368389791E+0000 2.63192798923329E+0000 + 2.62759927113430E+0000 2.62327751666865E+0000 2.61896271293347E+0000 2.61465484705524E+0000 2.61035390618967E+0000 + 2.60605987752172E+0000 2.60177274826545E+0000 2.59749250566396E+0000 2.59321913698933E+0000 2.58895262954256E+0000 + 2.58469297065345E+0000 2.58044014768061E+0000 2.57619414801127E+0000 2.57195495906133E+0000 2.56772256827521E+0000 + 2.56349696312580E+0000 2.55927813111441E+0000 2.55506605977063E+0000 2.55086073665237E+0000 2.54666214934569E+0000 + 2.54247028546477E+0000 2.53828513265184E+0000 2.53410667857710E+0000 2.52993491093867E+0000 2.52576981746250E+0000 + 2.52161138590228E+0000 2.51745960403943E+0000 2.51331445968299E+0000 2.50917594066955E+0000 2.50504403486318E+0000 + 2.50091873015538E+0000 2.49680001446501E+0000 2.49268787573821E+0000 2.48858230194832E+0000 2.48448328109582E+0000 + 2.48039080120831E+0000 2.47630485034035E+0000 2.47222541657349E+0000 2.46815248801612E+0000 2.46408605280344E+0000 + 2.46002609909742E+0000 2.45597261508667E+0000 2.45192558898644E+0000 2.44788500903851E+0000 2.44385086351111E+0000 + 2.43982314069892E+0000 2.43580182892293E+0000 2.43178691653042E+0000 2.42777839189489E+0000 2.42377624341597E+0000 + 2.41978045951939E+0000 2.41579102865687E+0000 2.41180793930610E+0000 2.40783117997065E+0000 2.40386073917991E+0000 + 2.39989660548904E+0000 2.39593876747886E+0000 2.39198721375585E+0000 2.38804193295206E+0000 2.38410291372499E+0000 + 2.38017014475763E+0000 2.37624361475833E+0000 2.37232331246074E+0000 2.36840922662376E+0000 2.36450134603147E+0000 + 2.36059965949310E+0000 2.35670415584290E+0000 2.35281482394014E+0000 2.34893165266901E+0000 2.34505463093859E+0000 + 2.34118374768275E+0000 2.33731899186013E+0000 2.33346035245404E+0000 2.32960781847240E+0000 2.32576137894775E+0000 + 2.32192102293707E+0000 2.31808673952182E+0000 2.31425851780782E+0000 2.31043634692523E+0000 2.30662021602844E+0000 + 2.30281011429608E+0000 2.29900603093088E+0000 2.29520795515967E+0000 2.29141587623330E+0000 2.28762978342656E+0000 + 2.28384966603817E+0000 2.28007551339066E+0000 2.27630731483036E+0000 2.27254505972732E+0000 2.26878873747524E+0000 + 2.26503833749144E+0000 2.26129384921678E+0000 2.25755526211561E+0000 2.25382256567569E+0000 2.25009574940817E+0000 + 2.24637480284751E+0000 2.24265971555142E+0000 2.23895047710080E+0000 2.23524707709970E+0000 2.23154950517525E+0000 + 2.22785775097760E+0000 2.22417180417988E+0000 2.22049165447810E+0000 2.21681729159115E+0000 2.21314870526071E+0000 + 2.20948588525119E+0000 2.20582882134970E+0000 2.20217750336597E+0000 2.19853192113230E+0000 2.19489206450348E+0000 + 2.19125792335681E+0000 2.18762948759196E+0000 2.18400674713096E+0000 2.18038969191812E+0000 2.17677831191998E+0000 + 2.17317259712530E+0000 2.16957253754493E+0000 2.16597812321181E+0000 2.16238934418089E+0000 2.15880619052909E+0000 + 2.15522865235523E+0000 2.15165671977999E+0000 2.14809038294584E+0000 2.14452963201701E+0000 2.14097445717942E+0000 + 2.13742484864062E+0000 2.13388079662976E+0000 2.13034229139749E+0000 2.12680932321598E+0000 2.12328188237879E+0000 + 2.11975995920087E+0000 2.11624354401849E+0000 2.11273262718918E+0000 2.10922719909168E+0000 2.10572725012590E+0000 + 2.10223277071284E+0000 2.09874375129460E+0000 2.09526018233422E+0000 2.09178205431576E+0000 2.08830935774413E+0000 + 2.08484208314511E+0000 2.08138022106527E+0000 2.07792376207194E+0000 2.07447269675313E+0000 2.07102701571750E+0000 + 2.06758670959430E+0000 2.06415176903332E+0000 2.06072218470485E+0000 2.05729794729961E+0000 2.05387904752870E+0000 + 2.05046547612360E+0000 2.04705722383602E+0000 2.04365428143796E+0000 2.04025663972158E+0000 2.03686428949920E+0000 + 2.03347722160320E+0000 2.03009542688602E+0000 2.02671889622010E+0000 2.02334762049779E+0000 2.01998159063136E+0000 + 2.01662079755291E+0000 2.01326523221433E+0000 2.00991488558726E+0000 2.00656974866304E+0000 2.00322981245264E+0000 + 1.99989506798667E+0000 1.99656550631522E+0000 1.99324111850795E+0000 1.98992189565395E+0000 1.98660782886169E+0000 + 1.98329890925906E+0000 1.97999512799318E+0000 1.97669647623051E+0000 1.97340294515666E+0000 1.97011452597646E+0000 + 1.96683120991383E+0000 1.96355298821177E+0000 1.96027985213232E+0000 1.95701179295647E+0000 1.95374880198417E+0000 + 1.95049087053426E+0000 1.94723798994438E+0000 1.94399015157102E+0000 1.94074734678935E+0000 1.93750956699331E+0000 + 1.93427680359545E+0000 1.93104904802693E+0000 1.92782629173750E+0000 1.92460852619540E+0000 1.92139574288735E+0000 + 1.91818793331850E+0000 1.91498508901238E+0000 1.91178720151085E+0000 1.90859426237406E+0000 1.90540626318042E+0000 + 1.90222319552651E+0000 1.89904505102710E+0000 1.89587182131505E+0000 1.89270349804128E+0000 1.88954007287476E+0000 + 1.88638153750240E+0000 1.88322788362908E+0000 1.88007910297753E+0000 1.87693518728837E+0000 1.87379612831998E+0000 + 1.87066191784852E+0000 1.86753254766787E+0000 1.86440800958954E+0000 1.86128829544271E+0000 1.85817339707413E+0000 + 1.85506330634808E+0000 1.85195801514634E+0000 1.84885751536816E+0000 1.84576179893018E+0000 1.84267085776641E+0000 + 1.83958468382820E+0000 1.83650326908417E+0000 1.83342660552018E+0000 1.83035468513930E+0000 1.82728749996175E+0000 + 1.82422504202485E+0000 1.82116730338300E+0000 1.81811427610764E+0000 1.81506595228718E+0000 1.81202232402699E+0000 + 1.80898338344934E+0000 1.80594912269336E+0000 1.80291953391499E+0000 1.79989460928697E+0000 1.79687434099878E+0000 + 1.79385872125658E+0000 1.79084774228319E+0000 1.78784139631805E+0000 1.78483967561717E+0000 1.78184257245312E+0000 + 1.77885007911491E+0000 1.77586218790807E+0000 1.77287889115448E+0000 1.76990018119243E+0000 1.76692605037653E+0000 + 1.76395649107768E+0000 1.76099149568304E+0000 1.75803105659598E+0000 1.75507516623603E+0000 1.75212381703887E+0000 + 1.74917700145627E+0000 1.74623471195603E+0000 1.74329694102199E+0000 1.74036368115398E+0000 1.73743492486770E+0000 + 1.73451066469483E+0000 1.73159089318284E+0000 1.72867560289506E+0000 1.72576478641058E+0000 1.72285843632424E+0000 + 1.71995654524657E+0000 1.71705910580378E+0000 1.71416611063769E+0000 1.71127755240572E+0000 1.70839342378084E+0000 + 1.70551371745151E+0000 1.70263842612169E+0000 1.69976754251076E+0000 1.69690105935350E+0000 1.69403896940004E+0000 + 1.69118126541584E+0000 1.68832794018165E+0000 1.68547898649347E+0000 1.68263439716248E+0000 1.67979416501506E+0000 + 1.67695828289271E+0000 1.67412674365204E+0000 1.67129954016472E+0000 1.66847666531743E+0000 1.66565811201183E+0000 + 1.66284387316457E+0000 1.66003394170717E+0000 1.65722831058606E+0000 1.65442697276248E+0000 1.65162992121249E+0000 + 1.64883714892693E+0000 1.64604864891135E+0000 1.64326441418600E+0000 1.64048443778579E+0000 1.63770871276026E+0000 + 1.63493723217355E+0000 1.63216998910432E+0000 1.62940697664577E+0000 1.62664818790556E+0000 1.62389361600583E+0000 + 1.62114325408310E+0000 1.61839709528826E+0000 1.61565513278658E+0000 1.61291735975758E+0000 1.61018376939509E+0000 + 1.60745435490716E+0000 1.60472910951603E+0000 1.60200802645814E+0000 1.59929109898401E+0000 1.59657832035829E+0000 + 1.59386968385967E+0000 1.59116518278090E+0000 1.58846481042868E+0000 1.58576856012369E+0000 1.58307642520054E+0000 + 1.58038839900772E+0000 1.57770447490757E+0000 1.57502464627625E+0000 1.57234890650373E+0000 1.56967724899372E+0000 + 1.56700966716363E+0000 1.56434615444461E+0000 1.56168670428140E+0000 1.55903131013240E+0000 1.55637996546959E+0000 + 1.55373266377849E+0000 1.55108939855816E+0000 1.54845016332114E+0000 1.54581495159342E+0000 1.54318375691439E+0000 + 1.54055657283687E+0000 1.53793339292702E+0000 1.53531421076430E+0000 1.53269901994149E+0000 1.53008781406462E+0000 + 1.52748058675293E+0000 1.52487733163887E+0000 1.52227804236804E+0000 1.51968271259918E+0000 1.51709133600411E+0000 + 1.51450390626774E+0000 1.51192041708797E+0000 1.50934086217575E+0000 1.50676523525496E+0000 1.50419353006244E+0000 + 1.50162574034792E+0000 1.49906185987401E+0000 1.49650188241616E+0000 1.49394580176264E+0000 1.49139361171448E+0000 + 1.48884530608548E+0000 1.48630087870215E+0000 1.48376032340366E+0000 1.48122363404189E+0000 1.47869080448128E+0000 + 1.47616182859891E+0000 1.47363670028440E+0000 1.47111541343990E+0000 1.46859796198009E+0000 1.46608433983208E+0000 + 1.46357454093544E+0000 1.46106855924214E+0000 1.45856638871655E+0000 1.45606802333536E+0000 1.45357345708760E+0000 + 1.45108268397458E+0000 1.44859569800986E+0000 1.44611249321924E+0000 1.44363306364072E+0000 1.44115740332446E+0000 + 1.43868550633277E+0000 1.43621736674003E+0000 1.43375297863277E+0000 1.43129233610950E+0000 1.42883543328079E+0000 + 1.42638226426920E+0000 1.42393282320922E+0000 1.42148710424732E+0000 1.41904510154183E+0000 1.41660680926298E+0000 + 1.41417222159283E+0000 1.41174133272527E+0000 1.40931413686596E+0000 1.40689062823234E+0000 1.40447080105356E+0000 + 1.40205464957049E+0000 1.39964216803564E+0000 1.39723335071320E+0000 1.39482819187896E+0000 1.39242668582029E+0000 + 1.39002882683612E+0000 1.38763460923692E+0000 1.38524402734467E+0000 1.38285707549279E+0000 1.38047374802617E+0000 + 1.37809403930113E+0000 1.37571794368535E+0000 1.37334545555789E+0000 1.37097656930914E+0000 1.36861127934079E+0000 + 1.36624958006583E+0000 1.36389146590848E+0000 1.36153693130419E+0000 1.35918597069961E+0000 1.35683857855254E+0000 + 1.35449474933196E+0000 1.35215447751793E+0000 1.34981775760162E+0000 1.34748458408523E+0000 1.34515495148202E+0000 + 1.34282885431625E+0000 1.34050628712316E+0000 1.33818724444894E+0000 1.33587172085069E+0000 1.33355971089644E+0000 + 1.33125120916507E+0000 1.32894621024631E+0000 1.32664470874070E+0000 1.32434669925960E+0000 1.32205217642511E+0000 + 1.31976113487007E+0000 1.31747356923806E+0000 1.31518947418331E+0000 1.31290884437074E+0000 1.31063167447590E+0000 + 1.30835795918493E+0000 1.30608769319457E+0000 1.30382087121212E+0000 1.30155748795540E+0000 1.29929753815275E+0000 + 1.29704101654297E+0000 1.29478791787533E+0000 1.29253823690953E+0000 1.29029196841565E+0000 1.28804910717418E+0000 + 1.28580964797594E+0000 1.28357358562209E+0000 1.28134091492408E+0000 1.27911163070364E+0000 1.27688572779276E+0000 + 1.27466320103365E+0000 1.27244404527871E+0000 1.27022825539054E+0000 1.26801582624187E+0000 1.26580675271557E+0000 + 1.26360102970461E+0000 1.26139865211203E+0000 1.25919961485093E+0000 1.25700391284443E+0000 1.25481154102565E+0000 + 1.25262249433772E+0000 1.25043676773367E+0000 1.24825435617652E+0000 1.24607525463915E+0000 1.24389945810434E+0000 + 1.24172696156473E+0000 1.23955776002279E+0000 1.23739184849079E+0000 1.23522922199079E+0000 1.23306987555462E+0000 + 1.23091380422385E+0000 1.22876100304973E+0000 1.22661146709325E+0000 1.22446519142502E+0000 1.22232217112533E+0000 + 1.22018240128405E+0000 1.21804587700069E+0000 1.21591259338429E+0000 1.21378254555345E+0000 1.21165572863633E+0000 + 1.20953213777053E+0000 1.20741176810317E+0000 1.20529461479083E+0000 1.20318067299949E+0000 1.20106993790457E+0000 + 1.19896240469084E+0000 1.19685806855247E+0000 1.19475692469295E+0000 1.19265896832510E+0000 1.19056419467101E+0000 + 1.18847259896207E+0000 1.18638417643889E+0000 1.18429892235134E+0000 1.18221683195846E+0000 1.18013790052850E+0000 + 1.17806212333883E+0000 1.17598949567601E+0000 1.17392001283566E+0000 1.17185367012253E+0000 1.16979046285042E+0000 + 1.16773038634217E+0000 1.16567343592966E+0000 1.16361960695378E+0000 1.16156889476438E+0000 1.15952129472027E+0000 + 1.15747680218921E+0000 1.15543541254788E+0000 1.15339712118181E+0000 1.15136192348547E+0000 1.14932981486210E+0000 + 1.14730079072384E+0000 1.14527484649160E+0000 1.14325197759506E+0000 1.14123217947271E+0000 1.13921544757172E+0000 + 1.13720177734805E+0000 1.13519116426628E+0000 1.13318360379974E+0000 1.13117909143039E+0000 1.12917762264879E+0000 + 1.12717919295417E+0000 1.12518379785430E+0000 1.12319143286557E+0000 1.12120209351289E+0000 1.11921577532970E+0000 + 1.11723247385797E+0000 1.11525218464813E+0000 1.11327490325911E+0000 1.11130062525823E+0000 1.10932934622131E+0000 + 1.10736106173252E+0000 1.10539576738442E+0000 1.10343345877797E+0000 1.10147413152242E+0000 1.09951778123539E+0000 + 1.09756440354277E+0000 1.09561399407876E+0000 1.09366654848578E+0000 1.09172206241455E+0000 1.08978053152395E+0000 + 1.08784195148110E+0000 1.08590631796129E+0000 1.08397362664797E+0000 1.08204387323273E+0000 1.08011705341528E+0000 + 1.07819316290344E+0000 1.07627219741310E+0000 1.07435415266822E+0000 1.07243902440078E+0000 1.07052680835082E+0000 + 1.06861750026634E+0000 1.06671109590335E+0000 1.06480759102582E+0000 1.06290698140565E+0000 1.06100926282268E+0000 + 1.05911443106464E+0000 1.05722248192716E+0000 1.05533341121371E+0000 1.05344721473563E+0000 1.05156388831209E+0000 + 1.04968342777004E+0000 1.04780582894425E+0000 1.04593108767723E+0000 1.04405919981927E+0000 1.04219016122837E+0000 + 1.04032396777025E+0000 1.03846061531833E+0000 1.03660009975368E+0000 1.03474241696506E+0000 1.03288756284885E+0000 + 1.03103553330903E+0000 1.02918632425722E+0000 1.02733993161258E+0000 1.02549635130186E+0000 1.02365557925934E+0000 + 1.02181761142683E+0000 1.01998244375365E+0000 1.01815007219660E+0000 1.01632049271996E+0000 1.01449370129544E+0000 + 1.01266969390221E+0000 1.01084846652684E+0000 1.00903001516330E+0000 1.00721433581293E+0000 1.00540142448445E+0000 + 1.00359127719391E+0000 1.00178388996468E+0000 9.99979258827450E-0001 9.98177379820177E-0001 9.96378248988107E-0001 + 9.94581862383730E-0001 9.92788216066775E-0001 9.90997306104184E-0001 9.89209128570101E-0001 9.87423679545855E-0001 + 9.85640955119927E-0001 9.83860951387954E-0001 9.82083664452700E-0001 9.80309090424038E-0001 9.78537225418941E-0001 + 9.76768065561442E-0001 9.75001606982661E-0001 9.73237845820727E-0001 9.71476778220811E-0001 9.69718400335101E-0001 + 9.67962708322743E-0001 9.66209698349893E-0001 9.64459366589632E-0001 9.62711709221999E-0001 9.60966722433938E-0001 + 9.59224402419307E-0001 9.57484745378858E-0001 9.55747747520198E-0001 9.54013405057798E-0001 9.52281714212955E-0001 + 9.50552671213797E-0001 9.48826272295258E-0001 9.47102513699033E-0001 9.45381391673621E-0001 9.43662902474243E-0001 + 9.41947042362883E-0001 9.40233807608219E-0001 9.38523194485655E-0001 9.36815199277268E-0001 9.35109818271807E-0001 + 9.33407047764680E-0001 9.31706884057917E-0001 9.30009323460197E-0001 9.28314362286779E-0001 9.26621996859519E-0001 + 9.24932223506850E-0001 9.23245038563746E-0001 9.21560438371746E-0001 9.19878419278885E-0001 9.18198977639724E-0001 + 9.16522109815315E-0001 9.14847812173179E-0001 9.13176081087303E-0001 9.11506912938101E-0001 9.09840304112445E-0001 + 9.08176251003599E-0001 9.06514750011223E-0001 9.04855797541369E-0001 9.03199390006442E-0001 9.01545523825209E-0001 + 8.99894195422754E-0001 8.98245423520496E-0001 8.96600805057968E-0001 8.94961299580162E-0001 8.93326872313418E-0001 + 8.91697488711662E-0001 8.90073114470498E-0001 8.88453715534491E-0001 8.86839258067538E-0001 8.85229708495680E-0001 + 8.83625033461059E-0001 8.82025199836011E-0001 8.80430174757708E-0001 8.78839925546479E-0001 8.77254419802042E-0001 + 8.75673625320423E-0001 8.74097510138184E-0001 8.72526042526006E-0001 8.70959190961687E-0001 8.69396924167565E-0001 + 8.67839211076657E-0001 8.66286020849514E-0001 8.64737322878761E-0001 8.63193086749682E-0001 8.61653282294164E-0001 + 8.60117879552656E-0001 8.58586848771802E-0001 8.57060160433701E-0001 8.55537785219185E-0001 8.54019694032955E-0001 + 8.52505857987469E-0001 8.50996248396433E-0001 8.49490836810981E-0001 8.47989594964989E-0001 8.46492494805732E-0001 + 8.44999508502540E-0001 8.43510608405829E-0001 8.42025767095710E-0001 8.40544957339626E-0001 8.39068152110638E-0001 + 8.37595324589174E-0001 8.36126448139926E-0001 8.34661496359155E-0001 8.33200443001858E-0001 8.31743262045654E-0001 + 8.30289927660755E-0001 8.28840414199250E-0001 8.27394696231404E-0001 8.25952748490691E-0001 8.24514545925311E-0001 + 8.23080063670876E-0001 8.21649277036893E-0001 8.20222161536178E-0001 8.18798692872746E-0001 8.17378846919961E-0001 + 8.15962599762454E-0001 8.14549927635454E-0001 8.13140806984734E-0001 8.11735214432278E-0001 8.10333126771044E-0001 + 8.08934520994434E-0001 8.07539374252193E-0001 8.06147663886823E-0001 8.04759367418631E-0001 8.03374462532139E-0001 + 8.01992927106980E-0001 8.00614739180673E-0001 7.99239876966999E-0001 7.97868318856312E-0001 7.96500043406105E-0001 + 7.95135029355236E-0001 7.93773255596374E-0001 7.92414701194400E-0001 7.91059345399257E-0001 7.89707167596060E-0001 + 7.88358147366732E-0001 7.87012264435914E-0001 7.85669498699840E-0001 7.84329830228735E-0001 7.82993239225905E-0001 + 7.81659706085272E-0001 7.80329211342781E-0001 7.79001735697624E-0001 7.77677260020219E-0001 7.76355765309137E-0001 + 7.75037232745915E-0001 7.73721643657569E-0001 7.72408979514055E-0001 7.71099221965638E-0001 7.69792352785054E-0001 + 7.68488353918190E-0001 7.67187207452835E-0001 7.65888895620330E-0001 7.64593400821777E-0001 7.63300705578511E-0001 + 7.62010792579341E-0001 7.60723644651350E-0001 7.59439244760842E-0001 7.58157576040275E-0001 7.56878621737254E-0001 + 7.55602365258314E-0001 7.54328790155132E-0001 7.53057880098051E-0001 7.51789618930462E-0001 7.50523990608577E-0001 + 7.49260979230490E-0001 7.48000569049098E-0001 7.46742744426584E-0001 7.45487489883924E-0001 7.44234790065928E-0001 + 7.42984629748497E-0001 7.41736993857190E-0001 7.40491867424450E-0001 7.39249235634947E-0001 7.38009083794081E-0001 + 7.36771397335955E-0001 7.35536161837012E-0001 7.34303362977431E-0001 7.33072986588646E-0001 7.31845018617560E-0001 + 7.30619445126741E-0001 7.29396252329278E-0001 7.28175426536683E-0001 7.26956954198695E-0001 7.25740821880151E-0001 + 7.24527016264729E-0001 7.23315524173563E-0001 7.22106332525094E-0001 7.20899428369256E-0001 7.19694798882738E-0001 + 7.18492431333030E-0001 7.17292313136043E-0001 7.16094431798172E-0001 7.14898774954781E-0001 7.13705330356931E-0001 + 7.12514085856662E-0001 7.11325029429903E-0001 7.10138149160333E-0001 7.08953433244543E-0001 7.07770869996491E-0001 + 7.06590447820677E-0001 7.05412155250004E-0001 7.04235980918948E-0001 7.03061913560887E-0001 7.01889942038177E-0001 + 7.00720055289654E-0001 6.99552242385636E-0001 6.98386492488222E-0001 6.97222794858586E-0001 6.96061138880675E-0001 + 6.94901514016471E-0001 6.93743909850370E-0001 6.92588316052981E-0001 6.91434722398410E-0001 6.90283118774433E-0001 + 6.89133495142677E-0001 6.87985841582341E-0001 6.86840148269661E-0001 6.85696405458766E-0001 6.84554603526158E-0001 + 6.83414732919403E-0001 6.82276784198755E-0001 6.81140748013011E-0001 6.80006615093212E-0001 6.78874376278570E-0001 + 6.77744022496580E-0001 6.76615544756727E-0001 6.75488934174991E-0001 6.74364181938172E-0001 6.73241279334138E-0001 + 6.72120217741944E-0001 6.71000988614761E-0001 6.69883583515181E-0001 6.68767994065841E-0001 6.67654211994787E-0001 + 6.66542229111213E-0001 6.65432037299129E-0001 6.64323628542652E-0001 6.63216994895242E-0001 6.62112128497088E-0001 + 6.61009021578850E-0001 6.59907666434451E-0001 6.58808055460791E-0001 6.57710181118299E-0001 6.56614035949050E-0001 + 6.55519612589156E-0001 6.54426903722782E-0001 6.53335902146404E-0001 6.52246600709126E-0001 6.51158992344514E-0001 + 6.50073070067849E-0001 6.48988826956049E-0001 6.47906256171600E-0001 6.46825350948250E-0001 6.45746104591131E-0001 + 6.44668510486987E-0001 6.43592562074675E-0001 6.42518252885024E-0001 6.41445576514217E-0001 6.40374526618838E-0001 + 6.39305096945647E-0001 6.38237281287560E-0001 6.37171073523561E-0001 6.36106467593488E-0001 6.35043457500305E-0001 + 6.33982037329778E-0001 6.32922201215083E-0001 6.31863943370246E-0001 6.30807258065609E-0001 6.29752139631552E-0001 + 6.28698582486175E-0001 6.27646581085340E-0001 6.26596129958322E-0001 6.25547223702117E-0001 6.24499856960481E-0001 + 6.23454024460349E-0001 6.22409720971251E-0001 6.21366941326478E-0001 6.20325680435556E-0001 6.19285933239239E-0001 + 6.18247694761262E-0001 6.17210960072051E-0001 6.16175724299010E-0001 6.15141982643363E-0001 6.14109730332905E-0001 + 6.13078962680368E-0001 6.12049675039075E-0001 6.11021862816863E-0001 6.09995521493690E-0001 6.08970646575034E-0001 + 6.07947233647424E-0001 6.06925278334025E-0001 6.05904776313688E-0001 6.04885723326157E-0001 6.03868115151701E-0001 + 6.02851947627998E-0001 6.01837216642183E-0001 6.00823918128000E-0001 5.99812048079783E-0001 5.98801602530593E-0001 + 5.97792577561072E-0001 5.96784969317092E-0001 5.95778773963709E-0001 5.94773987746752E-0001 5.93770606932842E-0001 + 5.92768627845360E-0001 5.91768046861599E-0001 5.90768860384243E-0001 5.89771064879566E-0001 5.88774656852580E-0001 + 5.87779632849297E-0001 5.86785989468551E-0001 5.85793723334893E-0001 5.84802831136858E-0001 5.83813309596918E-0001 + 5.82825155467867E-0001 5.81838365571852E-0001 5.80852936739415E-0001 5.79868865866180E-0001 5.78886149881301E-0001 + 5.77904785742360E-0001 5.76924770467825E-0001 5.75946101098833E-0001 5.74968774721338E-0001 5.73992788459547E-0001 + 5.73018139467874E-0001 5.72044824955325E-0001 5.71072842150173E-0001 5.70102188325821E-0001 5.69132860795706E-0001 + 5.68164856894164E-0001 5.67198174009703E-0001 5.66232809556276E-0001 5.65268760974797E-0001 5.64306025764979E-0001 + 5.63344601424783E-0001 5.62384485519956E-0001 5.61425675627899E-0001 5.60468169366555E-0001 5.59511964390032E-0001 + 5.58557058369406E-0001 5.57603449026822E-0001 5.56651134104459E-0001 5.55700111369008E-0001 5.54750378641365E-0001 + 5.53801933739618E-0001 5.52854774540613E-0001 5.51908898937751E-0001 5.50964304846210E-0001 5.50020990229714E-0001 + 5.49078953062727E-0001 5.48138191354251E-0001 5.47198703144901E-0001 5.46260486486896E-0001 5.45323539485707E-0001 + 5.44387860248828E-0001 5.43453446920003E-0001 5.42520297675562E-0001 5.41588410698418E-0001 5.40657784222760E-0001 + 5.39728416482737E-0001 5.38800305750458E-0001 5.37873450327110E-0001 5.36947848517660E-0001 5.36023498674110E-0001 + 5.35100399156784E-0001 5.34178548353001E-0001 5.33257944680095E-0001 5.32338586557107E-0001 5.31420472451073E-0001 + 5.30503600836777E-0001 5.29587970201988E-0001 5.28673579082610E-0001 5.27760426004450E-0001 5.26848509532551E-0001 + 5.25937828251065E-0001 5.25028380752809E-0001 5.24120165666218E-0001 5.23213181626960E-0001 5.22307427292173E-0001 + 5.21402901343497E-0001 5.20499602467636E-0001 5.19597529390836E-0001 5.18696680836975E-0001 5.17797055553799E-0001 + 5.16898652318214E-0001 5.16001469900325E-0001 5.15105507113699E-0001 5.14210762766648E-0001 5.13317235695255E-0001 + 5.12424924752911E-0001 5.11533828796063E-0001 5.10643946712027E-0001 5.09755277394233E-0001 5.08867819753514E-0001 + 5.07981572717381E-0001 5.07096535221025E-0001 5.06212706222381E-0001 5.05330084688614E-0001 5.04448669595382E-0001 + 5.03568459948696E-0001 5.02689454745788E-0001 5.01811653014291E-0001 5.00935053785148E-0001 5.00059656103175E-0001 + 4.99185459030102E-0001 4.98312461632530E-0001 4.97440662995525E-0001 4.96570062212833E-0001 4.95700658382366E-0001 + 4.94832450628869E-0001 4.93965438072233E-0001 4.93099619853182E-0001 4.92234995119702E-0001 4.91371563024028E-0001 + 4.90509322740051E-0001 4.89648273439898E-0001 4.88788414311337E-0001 4.87929744554776E-0001 4.87072263367384E-0001 + 4.86215969970352E-0001 4.85360863580904E-0001 4.84506943431994E-0001 4.83654208763994E-0001 4.82802658820916E-0001 + 4.81952292858766E-0001 4.81103110141766E-0001 4.80255109937061E-0001 4.79408291526110E-0001 4.78562654184969E-0001 + 4.77718197213144E-0001 4.76874919904765E-0001 4.76032821561494E-0001 4.75191901497861E-0001 4.74352159028362E-0001 + 4.73513593475824E-0001 4.72676204167620E-0001 4.71839990434916E-0001 4.71004951621048E-0001 4.70171087069366E-0001 + 4.69338396123239E-0001 4.68506878146613E-0001 4.67676532487487E-0001 4.66847358515983E-0001 4.66019355595427E-0001 + 4.65192523099105E-0001 4.64366860404187E-0001 4.63542366884865E-0001 4.62719041929142E-0001 4.61896884922059E-0001 + 4.61075895249515E-0001 4.60256072311251E-0001 4.59437415495664E-0001 4.58619924207303E-0001 4.57803597843965E-0001 + 4.56988435811977E-0001 4.56174437517801E-0001 4.55361602367271E-0001 4.54549929775543E-0001 4.53739419151800E-0001 + 4.52930069909204E-0001 4.52121881471030E-0001 4.51314853249231E-0001 4.50508984662816E-0001 4.49704275136334E-0001 + 4.48900724086845E-0001 4.48098330943856E-0001 4.47297095122490E-0001 4.46497016051860E-0001 4.45698093158209E-0001 + 4.44900325859530E-0001 4.44103713589364E-0001 4.43308255772249E-0001 4.42513951829850E-0001 4.41720801193261E-0001 + 4.40928803285336E-0001 4.40137957532983E-0001 4.39348263360254E-0001 4.38559720191416E-0001 4.37772327456348E-0001 + 4.36986084568989E-0001 4.36200990958898E-0001 4.35417046045085E-0001 4.34634249249095E-0001 4.33852599992712E-0001 + 4.33072097687157E-0001 4.32292741756221E-0001 4.31514531613138E-0001 4.30737466668291E-0001 4.29961546340787E-0001 + 4.29186770033000E-0001 4.28413137158343E-0001 4.27640647123526E-0001 4.26869299328550E-0001 4.26099093182153E-0001 + 4.25330028078638E-0001 4.24562103418729E-0001 4.23795318597214E-0001 4.23029673006027E-0001 4.22265166035801E-0001 + 4.21501797074317E-0001 4.20739565504957E-0001 4.19978470712892E-0001 4.19218512070375E-0001 4.18459688959194E-0001 + 4.17702000749761E-0001 4.16945446811175E-0001 4.16190026513558E-0001 4.15435739214864E-0001 4.14682584277161E-0001 + 4.13930561055004E-0001 4.13179668900076E-0001 4.12429907167406E-0001 4.11681275194402E-0001 4.10933772325694E-0001 + 4.10187397900708E-0001 4.09442151247448E-0001 4.08698031704253E-0001 4.07955038590257E-0001 4.07213171229486E-0001 + 4.06472428939193E-0001 4.05732811029852E-0001 4.04994316815273E-0001 4.04256945596258E-0001 4.03520696676159E-0001 + 4.02785569349984E-0001 4.02051562904382E-0001 4.01318676633231E-0001 4.00586909817372E-0001 3.99856261730059E-0001 + 3.99126731648649E-0001 3.98398318837447E-0001 3.97671022565643E-0001 3.96944842084675E-0001 3.96219776651643E-0001 + 3.95495825516819E-0001 3.94772987922076E-0001 3.94051263106353E-0001 3.93330650302523E-0001 3.92611148740523E-0001 + 3.91892757644216E-0001 3.91175476229043E-0001 3.90459303712190E-0001 3.89744239299280E-0001 3.89030282189847E-0001 + 3.88317431587509E-0001 3.87605686681177E-0001 3.86895046654438E-0001 3.86185510694177E-0001 3.85477077970983E-0001 + 3.84769747657947E-0001 3.84063518918908E-0001 3.83358390913934E-0001 3.82654362797746E-0001 3.81951433712655E-0001 + 3.81249602808176E-0001 3.80548869216692E-0001 3.79849232072289E-0001 3.79150690499762E-0001 3.78453243618533E-0001 + 3.77756890541860E-0001 3.77061630381556E-0001 3.76367462236181E-0001 3.75674385207564E-0001 3.74982398382692E-0001 + 3.74291500849454E-0001 3.73601691687186E-0001 3.72912969968239E-0001 3.72225334765069E-0001 3.71538785134472E-0001 + 3.70853320135700E-0001 3.70168938821007E-0001 3.69485640230905E-0001 3.68803423409148E-0001 3.68122287383793E-0001 + 3.67442231185343E-0001 3.66763253835697E-0001 3.66085354344980E-0001 3.65408531729708E-0001 3.64732784989874E-0001 + 3.64058113123161E-0001 3.63384515122574E-0001 3.62711989970892E-0001 3.62040536651743E-0001 3.61370154139312E-0001 + 3.60700841399130E-0001 3.60032597397561E-0001 3.59365421085972E-0001 3.58699311420517E-0001 3.58034267341546E-0001 + 3.57370287789439E-0001 3.56707371699059E-0001 3.56045517995783E-0001 3.55384725600252E-0001 3.54724993427574E-0001 + 3.54066320391291E-0001 3.53408705392260E-0001 3.52752147329762E-0001 3.52096645094352E-0001 3.51442197575001E-0001 + 3.50788803649562E-0001 3.50136462197477E-0001 3.49485172081489E-0001 3.48834932173085E-0001 3.48185741323859E-0001 + 3.47537598388576E-0001 3.46890502213231E-0001 3.46244451639825E-0001 3.45599445502377E-0001 3.44955482630103E-0001 + 3.44312561847415E-0001 3.43670681973918E-0001 3.43029841822010E-0001 3.42390040196884E-0001 3.41751275905289E-0001 + 3.41113547737186E-0001 3.40476854489677E-0001 3.39841194944655E-0001 3.39206567881573E-0001 3.38572972080634E-0001 + 3.37940406304420E-0001 3.37308869318653E-0001 3.36678359884203E-0001 3.36048876753093E-0001 3.35420418675686E-0001 + 3.34792984391086E-0001 3.34166572639128E-0001 3.33541182153984E-0001 3.32916811657748E-0001 3.32293459879647E-0001 + 3.31671125532021E-0001 3.31049807330337E-0001 3.30429503979568E-0001 3.29810214180599E-0001 3.29191936636640E-0001 + 3.28574670033980E-0001 3.27958413062029E-0001 3.27343164407703E-0001 3.26728922740175E-0001 3.26115686742173E-0001 + 3.25503455075459E-0001 3.24892226404908E-0001 3.24281999394503E-0001 3.23672772690447E-0001 3.23064544950097E-0001 + 3.22457314814634E-0001 3.21851080925133E-0001 3.21245841919351E-0001 3.20641596429306E-0001 3.20038343081280E-0001 + 3.19436080498225E-0001 3.18834807299762E-0001 3.18234522103797E-0001 3.17635223514425E-0001 3.17036910142077E-0001 + 3.16439580588205E-0001 3.15843233450115E-0001 3.15247867323386E-0001 3.14653480796220E-0001 3.14060072455896E-0001 + 3.13467640883118E-0001 3.12876184656858E-0001 3.12285702352737E-0001 3.11696192538989E-0001 3.11107653785342E-0001 + 3.10520084653323E-0001 3.09933483700294E-0001 3.09347849488347E-0001 3.08763180563276E-0001 3.08179475478033E-0001 + 3.07596732778166E-0001 3.07014951003430E-0001 3.06434128694270E-0001 3.05854264383716E-0001 3.05275356607913E-0001 + 3.04697403893164E-0001 3.04120404765643E-0001 3.03544357748161E-0001 3.02969261359347E-0001 3.02395114116897E-0001 + 3.01821914537573E-0001 3.01249661124219E-0001 3.00678352391726E-0001 3.00107986843501E-0001 2.99538562977953E-0001 + 2.98970079301494E-0001 2.98402534304975E-0001 2.97835926486442E-0001 2.97270254337316E-0001 2.96705516343206E-0001 + 2.96141710996517E-0001 2.95578836778144E-0001 2.95016892171308E-0001 2.94455875656264E-0001 2.93895785708672E-0001 + 2.93336620806113E-0001 2.92778379421984E-0001 2.92221060025495E-0001 2.91664661088595E-0001 2.91109181074973E-0001 + 2.90554618454322E-0001 2.90000971687668E-0001 2.89448239236742E-0001 2.88896419562765E-0001 2.88345511121956E-0001 + 2.87795512372065E-0001 2.87246421769925E-0001 2.86698237766555E-0001 2.86150958814917E-0001 2.85604583365425E-0001 + 2.85059109869222E-0001 2.84514536773677E-0001 2.83970862522389E-0001 2.83428085566232E-0001 2.82886204345358E-0001 + 2.82345217304746E-0001 2.81805122888067E-0001 2.81265919534406E-0001 2.80727605686050E-0001 2.80190179782755E-0001 + 2.79653640261743E-0001 2.79117985563858E-0001 2.78583214123315E-0001 2.78049324380008E-0001 2.77516314767615E-0001 + 2.76984183724267E-0001 2.76452929684758E-0001 2.75922551081773E-0001 2.75393046352463E-0001 2.74864413932290E-0001 + 2.74336652250917E-0001 2.73809759747419E-0001 2.73283734851375E-0001 2.72758575998497E-0001 2.72234281622406E-0001 + 2.71710850157106E-0001 2.71188280037399E-0001 2.70666569694357E-0001 2.70145717566444E-0001 2.69625722085930E-0001 + 2.69106581686721E-0001 2.68588294809304E-0001 2.68070859883036E-0001 2.67554275347985E-0001 2.67038539640927E-0001 + 2.66523651197401E-0001 2.66009608458322E-0001 2.65496409861728E-0001 2.64984053848151E-0001 2.64472538857317E-0001 + 2.63961863328151E-0001 2.63452025709106E-0001 2.62943024439583E-0001 2.62434857966455E-0001 2.61927524733330E-0001 + 2.61421023187995E-0001 2.60915351780772E-0001 2.60410508958313E-0001 2.59906493172291E-0001 2.59403302876516E-0001 + 2.58900936524449E-0001 2.58399392569211E-0001 2.57898669468968E-0001 2.57398765681970E-0001 2.56899679671525E-0001 + 2.56401409896060E-0001 2.55903954819900E-0001 2.55407312910376E-0001 2.54911482630360E-0001 2.54416462456942E-0001 + 2.53922250854881E-0001 2.53428846301505E-0001 2.52936247271783E-0001 2.52444452241640E-0001 2.51953459694619E-0001 + 2.51463268111079E-0001 2.50973875976933E-0001 2.50485281778657E-0001 2.49997484003720E-0001 2.49510481147655E-0001 + 2.49024271703670E-0001 2.48538854168892E-0001 2.48054227044375E-0001 2.47570388830525E-0001 2.47087338035020E-0001 + 2.46605073165735E-0001 2.46123592732417E-0001 2.45642895251270E-0001 2.45162979235797E-0001 2.44683843208476E-0001 + 2.44205485692431E-0001 2.43727905212270E-0001 2.43251100299515E-0001 2.42775069484265E-0001 2.42299811303130E-0001 + 2.41825324296739E-0001 2.41351607005147E-0001 2.40878657977035E-0001 2.40406475758854E-0001 2.39935058904440E-0001 + 2.39464405972521E-0001 2.38994515517937E-0001 2.38525386110470E-0001 2.38057016312679E-0001 2.37589404698320E-0001 + 2.37122549841889E-0001 2.36656450320304E-0001 2.36191104719193E-0001 2.35726511622852E-0001 2.35262669622629E-0001 + 2.34799577313579E-0001 2.34337233291120E-0001 2.33875636164039E-0001 2.33414784535208E-0001 2.32954677015851E-0001 + 2.32495312222617E-0001 2.32036688772974E-0001 2.31578805293610E-0001 2.31121660411622E-0001 2.30665252759569E-0001 + 2.30209580975894E-0001 2.29754643699475E-0001 2.29300439580138E-0001 2.28846967266473E-0001 2.28394225414675E-0001 + 2.27942212686028E-0001 2.27490927742705E-0001 2.27040369257458E-0001 2.26590535902259E-0001 2.26141426357148E-0001 + 2.25693039308565E-0001 2.25245373441769E-0001 2.24798427452224E-0001 2.24352200039709E-0001 2.23906689905797E-0001 + 2.23461895763563E-0001 2.23017816323250E-0001 2.22574450307469E-0001 2.22131796438543E-0001 2.21689853444853E-0001 + 2.21248620063796E-0001 2.20808095035469E-0001 2.20368277103088E-0001 2.19929165021460E-0001 2.19490757542190E-0001 + 2.19053053430604E-0001 2.18616051450958E-0001 2.18179750376597E-0001 2.17744148987006E-0001 2.17309246064853E-0001 + 2.16875040397693E-0001 2.16441530783481E-0001 2.16008716019572E-0001 2.15576594914588E-0001 2.15145166277837E-0001 + 2.14714428929919E-0001 2.14284381691708E-0001 2.13855023391152E-0001 2.13426352867943E-0001 2.12998368956562E-0001 + 2.12571070508347E-0001 2.12144456375809E-0001 2.11718525412203E-0001 2.11293276488110E-0001 2.10868708470632E-0001 + 2.10444820236564E-0001 2.10021610669016E-0001 2.09599078654436E-0001 2.09177223090281E-0001 2.08756042876518E-0001 + 2.08335536916482E-0001 2.07915704128803E-0001 2.07496543426985E-0001 2.07078053740702E-0001 2.06660233998350E-0001 + 2.06243083138553E-0001 2.05826600108049E-0001 2.05410783852744E-0001 2.04995633332218E-0001 2.04581147508223E-0001 + 2.04167325349810E-0001 2.03754165834618E-0001 2.03341667940778E-0001 2.02929830660149E-0001 2.02518652985956E-0001 + 2.02108133918771E-0001 2.01698272469087E-0001 2.01289067647933E-0001 2.00880518477988E-0001 2.00472623986330E-0001 + 2.00065383204015E-0001 1.99658795174213E-0001 1.99252858941953E-0001 1.98847573561832E-0001 1.98442938092466E-0001 + 1.98038951599061E-0001 1.97635613157712E-0001 1.97232921846414E-0001 1.96830876750217E-0001 1.96429476964658E-0001 + 1.96028721585061E-0001 1.95628609721120E-0001 1.95229140484047E-0001 1.94830312993873E-0001 1.94432126376452E-0001 + 1.94034579763044E-0001 1.93637672295047E-0001 1.93241403117566E-0001 1.92845771383718E-0001 1.92450776252921E-0001 + 1.92056416891768E-0001 1.91662692471024E-0001 1.91269602173376E-0001 1.90877145182263E-0001 1.90485320693497E-0001 + 1.90094127904521E-0001 1.89703566023882E-0001 1.89313634263497E-0001 1.88924331842102E-0001 1.88535657989142E-0001 + 1.88147611937458E-0001 1.87760192924155E-0001 1.87373400201390E-0001 1.86987233016549E-0001 1.86601690635110E-0001 + 1.86216772321681E-0001 1.85832477350785E-0001 1.85448805004292E-0001 1.85065754564945E-0001 1.84683325332346E-0001 + 1.84301516603540E-0001 1.83920327685972E-0001 1.83539757897071E-0001 1.83159806551729E-0001 1.82780472983050E-0001 + 1.82401756522051E-0001 1.82023656509770E-0001 1.81646172295985E-0001 1.81269303231430E-0001 1.80893048678627E-0001 + 1.80517408006267E-0001 1.80142380584893E-0001 1.79767965799028E-0001 1.79394163032897E-0001 1.79020971681266E-0001 + 1.78648391146847E-0001 1.78276420832081E-0001 1.77905060153442E-0001 1.77534308531917E-0001 1.77164165392577E-0001 + 1.76794630169359E-0001 1.76425702298997E-0001 1.76057381233189E-0001 1.75689666419937E-0001 1.75322557319185E-0001 + 1.74956053399359E-0001 1.74590154127380E-0001 1.74224858985620E-0001 1.73860167457572E-0001 1.73496079033069E-0001 + 1.73132593212648E-0001 1.72769709496246E-0001 1.72407427396263E-0001 1.72045746428865E-0001 1.71684666115736E-0001 + 1.71324185987135E-0001 1.70964305576238E-0001 1.70605024425252E-0001 1.70246342082806E-0001 1.69888258099603E-0001 + 1.69530772039321E-0001 1.69173883464243E-0001 1.68817591947029E-0001 1.68461897068117E-0001 1.68106798406563E-0001 + 1.67752295557507E-0001 1.67398388114287E-0001 1.67045075679358E-0001 1.66692357860375E-0001 1.66340234269756E-0001 + 1.65988704529946E-0001 1.65637768263797E-0001 1.65287425102453E-0001 1.64937674685356E-0001 1.64588516651943E-0001 + 1.64239950653467E-0001 1.63891976342063E-0001 1.63544593377324E-0001 1.63197801426746E-0001 1.62851600158727E-0001 + 1.62505989250899E-0001 1.62160968384877E-0001 1.61816537247144E-0001 1.61472695533880E-0001 1.61129442939132E-0001 + 1.60786779169729E-0001 1.60444703932573E-0001 1.60103216941224E-0001 1.59762317917662E-0001 1.59422006584839E-0001 + 1.59082282674141E-0001 1.58743145919252E-0001 1.58404596060114E-0001 1.58066632843371E-0001 1.57729256017985E-0001 + 1.57392465340074E-0001 1.57056260568525E-0001 1.56720641468516E-0001 1.56385607811088E-0001 1.56051159370945E-0001 + 1.55717295926029E-0001 1.55384017262798E-0001 1.55051323167435E-0001 1.54719213434661E-0001 1.54387687862449E-0001 + 1.54056746256008E-0001 1.53726388418962E-0001 1.53396614163944E-0001 1.53067423307307E-0001 1.52738815669572E-0001 + 1.52410791074995E-0001 1.52083349355101E-0001 1.51756490339423E-0001 1.51430213867421E-0001 1.51104519780107E-0001 + 1.50779407923136E-0001 1.50454878147700E-0001 1.50130930303898E-0001 1.49807564252682E-0001 1.49484779854809E-0001 + 1.49162576973054E-0001 1.48840955480179E-0001 1.48519915247878E-0001 1.48199456150766E-0001 1.47879578071690E-0001 + 1.47560280890231E-0001 1.47241564498642E-0001 1.46923428784146E-0001 1.46605873640450E-0001 1.46288898969527E-0001 + 1.45972504665222E-0001 1.45656690637192E-0001 1.45341456789631E-0001 1.45026803032356E-0001 1.44712729282596E-0001 + 1.44399235452562E-0001 1.44086321462327E-0001 1.43773987235388E-0001 1.43462232695123E-0001 1.43151057773230E-0001 + 1.42840462395958E-0001 1.42530446497443E-0001 1.42221010015713E-0001 1.41912152886022E-0001 1.41603875053302E-0001 + 1.41296176456605E-0001 1.40989057045115E-0001 1.40682516764811E-0001 1.40376555566916E-0001 1.40071173403458E-0001 + 1.39766370229939E-0001 1.39462146001778E-0001 1.39158500678767E-0001 1.38855434220173E-0001 1.38552946590983E-0001 + 1.38251037752539E-0001 1.37949707672804E-0001 1.37648956320562E-0001 1.37348783662743E-0001 1.37049189671568E-0001 + 1.36750174319641E-0001 1.36451737580395E-0001 1.36153879431225E-0001 1.35856599845001E-0001 1.35559898803471E-0001 + 1.35263776282071E-0001 1.34968232262445E-0001 1.34673266728419E-0001 1.34378879657957E-0001 1.34085071036130E-0001 + 1.33791840847516E-0001 1.33499189073961E-0001 1.33207115704877E-0001 1.32915620722916E-0001 1.32624704116960E-0001 + 1.32334365872711E-0001 1.32044605978521E-0001 1.31755424423151E-0001 1.31466821193084E-0001 1.31178796277004E-0001 + 1.30891349665803E-0001 1.30604481344505E-0001 1.30318191305277E-0001 1.30032479534866E-0001 1.29747346022229E-0001 + 1.29462790757638E-0001 1.29178813725938E-0001 1.28895414918683E-0001 1.28612594319753E-0001 1.28330351918389E-0001 + 1.28048687701551E-0001 1.27767601653020E-0001 1.27487093759691E-0001 1.27207164005277E-0001 1.26927812373458E-0001 + 1.26649038848333E-0001 1.26370843409463E-0001 1.26093226039527E-0001 1.25816186717118E-0001 1.25539725420341E-0001 + 1.25263842129069E-0001 1.24988536816381E-0001 1.24713809457570E-0001 1.24439660026538E-0001 1.24166088493543E-0001 + 1.23893094831510E-0001 1.23620679005202E-0001 1.23348840983400E-0001 1.23077580729880E-0001 1.22806898207469E-0001 + 1.22536793378501E-0001 1.22267266200743E-0001 1.21998316629658E-0001 1.21729944622465E-0001 1.21462150129555E-0001 + 1.21194933101718E-0001 1.20928293487429E-0001 1.20662231230134E-0001 1.20396746274576E-0001 1.20131838558201E-0001 + 1.19867508020658E-0001 1.19603754595191E-0001 1.19340578213173E-0001 1.19077978805906E-0001 1.18815956296019E-0001 + 1.18554510608784E-0001 1.18293641663967E-0001 1.18033349375811E-0001 1.17773633659846E-0001 1.17514494424263E-0001 + 1.17255931578076E-0001 1.16997945022956E-0001 1.16740534656851E-0001 1.16483700378529E-0001 1.16227442078034E-0001 + 1.15971759644861E-0001 1.15716652964315E-0001 1.15462121915695E-0001 1.15208166376827E-0001 1.14954786219975E-0001 + 1.14701981314108E-0001 1.14449751523078E-0001 1.14198096708343E-0001 1.13947016723504E-0001 1.13696511422494E-0001 + 1.13446580650921E-0001 1.13197224251075E-0001 1.12948442062380E-0001 1.12700233916374E-0001 1.12452599642174E-0001 + 1.12205539063740E-0001 1.11959051998952E-0001 1.11713138263260E-0001 1.11467797663744E-0001 1.11223030005498E-0001 + 1.10978835085694E-0001 1.10735212699509E-0001 1.10492162632813E-0001 1.10249684671301E-0001 1.10007778589524E-0001 + 1.09766444160931E-0001 1.09525681151471E-0001 1.09285489322328E-0001 1.09045868426710E-0001 1.08806818215797E-0001 + 1.08568338431868E-0001 1.08330428813786E-0001 1.08093089092419E-0001 1.07856318993376E-0001 1.07620118236545E-0001 + 1.07384486534256E-0001 1.07149423595854E-0001 1.06914929121280E-0001 1.06681002804728E-0001 1.06447644336017E-0001 + 1.06214853394621E-0001 1.05982629658836E-0001 1.05750972795225E-0001 1.05519882466866E-0001 1.05289358330596E-0001 + 1.05059400032409E-0001 1.04830007217096E-0001 1.04601179518133E-0001 1.04372916564562E-0001 1.04145217977310E-0001 + 1.03918083371483E-0001 1.03691512353135E-0001 1.03465504523402E-0001 1.03240059474589E-0001 1.03015176791996E-0001 + 1.02790856054835E-0001 1.02567096833231E-0001 1.02343898691435E-0001 1.02121261185517E-0001 1.01899183864048E-0001 + 1.01677666267400E-0001 1.01456707930043E-0001 1.01236308377775E-0001 1.01016467127941E-0001 1.00797183690577E-0001 + 1.00578457570022E-0001 1.00360288258446E-0001 1.00142675244843E-0001 9.99256180067143E-0002 9.97091160151384E-0002 + 9.94931687329170E-0002 9.92777756147965E-0002 9.90629361072301E-0002 9.88486496485996E-0002 9.86349156694390E-0002 + 9.84217335915015E-0002 9.82091028279823E-0002 9.79970227842037E-0002 9.77854928576069E-0002 9.75745124361248E-0002 + 9.73640809002554E-0002 9.71541976205076E-0002 9.69448619613277E-0002 9.67360732762299E-0002 9.65278309114915E-0002 + 9.63201342035972E-0002 9.61129824824734E-0002 9.59063750656876E-0002 9.57003112663175E-0002 9.54947903862227E-0002 + 9.52898117181206E-0002 9.50853745476652E-0002 9.48814781504236E-0002 9.46781217932584E-0002 9.44753047336229E-0002 + 9.42730262221054E-0002 9.40712854977779E-0002 9.38700817928308E-0002 9.36694143274536E-0002 9.34692823167958E-0002 + 9.32696849644529E-0002 9.30706214645477E-0002 9.28720910045113E-0002 9.26740927604248E-0002 9.24766259002648E-0002 + 9.22796895811034E-0002 9.20832829544505E-0002 9.18874051597302E-0002 9.16920553284596E-0002 9.14972325809811E-0002 + 9.13029360318091E-0002 9.11091647840321E-0002 9.09159179302337E-0002 9.07231945578440E-0002 9.05309937414404E-0002 + 9.03393145462326E-0002 9.01481560313198E-0002 8.99575172447850E-0002 8.97673972253177E-0002 8.95777950005709E-0002 + 8.93887095927536E-0002 8.92001400118535E-0002 8.90120852598293E-0002 8.88245443282669E-0002 8.86375162023420E-0002 + 8.84509998549703E-0002 8.82649942505363E-0002 8.80794983448853E-0002 8.78945110839117E-0002 8.77100314056548E-0002 + 8.75260582370157E-0002 8.73425904970229E-0002 8.71596270961227E-0002 8.69771669331270E-0002 8.67952089005889E-0002 + 8.66137518803458E-0002 8.64327947446807E-0002 8.62523363586570E-0002 8.60723755763607E-0002 8.58929112437039E-0002 + 8.57139421991205E-0002 8.55354672683986E-0002 8.53574852721764E-0002 8.51799950198361E-0002 8.50029953127792E-0002 + 8.48264849425411E-0002 8.46504626940690E-0002 8.44749273412537E-0002 8.42998776499729E-0002 8.41253123778489E-0002 + 8.39512302742410E-0002 8.37776300776519E-0002 8.36045105208907E-0002 8.34318703256580E-0002 8.32597082067706E-0002 + 8.30880228707429E-0002 8.29168130153090E-0002 8.27460773284728E-0002 8.25758144922665E-0002 8.24060231792125E-0002 + 8.22367020530216E-0002 8.20678497714123E-0002 8.18994649823347E-0002 8.17315463249046E-0002 8.15640924336396E-0002 + 8.13971019318519E-0002 8.12305734368274E-0002 8.10645055565175E-0002 8.08988968933065E-0002 8.07337460407021E-0002 + 8.05690515845084E-0002 8.04048121039994E-0002 8.02410261709689E-0002 8.00776923487788E-0002 7.99148091944787E-0002 + 7.97523752578544E-0002 7.95903890816591E-0002 7.94288492016066E-0002 7.92677541466020E-0002 7.91071024394461E-0002 + 7.89468925947000E-0002 7.87871231210455E-0002 7.86277925217529E-0002 7.84688992915995E-0002 7.83104419213613E-0002 + 7.81524188933099E-0002 7.79948286861805E-0002 7.78376697694818E-0002 7.76809406101253E-0002 7.75246396672079E-0002 + 7.73687653946137E-0002 7.72133162410102E-0002 7.70582906488952E-0002 7.69036870574400E-0002 7.67495038970275E-0002 + 7.65957395966050E-0002 7.64423925775095E-0002 7.62894612589251E-0002 7.61369440524174E-0002 7.59848393671552E-0002 + 7.58331456063445E-0002 7.56818611703143E-0002 7.55309844541373E-0002 7.53805138500045E-0002 7.52304477443691E-0002 + 7.50807845219874E-0002 7.49315225623484E-0002 7.47826602439551E-0002 7.46341959381344E-0002 7.44861280164142E-0002 + 7.43384548469521E-0002 7.41911747933422E-0002 7.40442862179487E-0002 7.38977874795225E-0002 7.37516769362987E-0002 + 7.36059529426590E-0002 7.34606138519920E-0002 7.33156580150238E-0002 7.31710837810101E-0002 7.30268894991686E-0002 + 7.28830735153383E-0002 7.27396341750823E-0002 7.25965698241667E-0002 7.24538788047406E-0002 7.23115594627412E-0002 + 7.21696101397741E-0002 7.20280291798035E-0002 7.18868149236575E-0002 7.17459657173968E-0002 7.16054799034718E-0002 + 7.14653558267020E-0002 7.13255918314083E-0002 7.11861862654840E-0002 7.10471374748939E-0002 7.09084438098996E-0002 + 7.07701036212346E-0002 7.06321152615435E-0002 7.04944770863446E-0002 7.03571874525968E-0002 7.02202447206207E-0002 + 7.00836472533849E-0002 6.99473934157912E-0002 6.98114815792364E-0002 6.96759101153824E-0002 6.95406774021585E-0002 + 6.94057818192092E-0002 6.92712217526994E-0002 6.91369955919615E-0002 6.90031017321428E-0002 6.88695385727720E-0002 + 6.87363045189673E-0002 6.86033979819250E-0002 6.84708173786873E-0002 6.83385611309483E-0002 6.82066276693899E-0002 + 6.80750154293632E-0002 6.79437228540233E-0002 6.78127483940986E-0002 6.76820905071790E-0002 6.75517476601324E-0002 + 6.74217183262268E-0002 6.72920009873068E-0002 6.71625941359728E-0002 6.70334962724615E-0002 6.69047059056204E-0002 + 6.67762215558113E-0002 6.66480417525135E-0002 6.65201650345761E-0002 6.63925899533660E-0002 6.62653150706118E-0002 + 6.61383389581746E-0002 6.60116602004752E-0002 6.58852773940258E-0002 6.57591891476867E-0002 6.56333940819558E-0002 + 6.55078908316414E-0002 6.53826780446700E-0002 6.52577543811354E-0002 6.51331185174237E-0002 6.50087691421211E-0002 + 6.48847049608659E-0002 6.47609246924980E-0002 6.46374270717360E-0002 6.45142108501639E-0002 6.43912747950404E-0002 + 6.42686176895593E-0002 6.41462383345633E-0002 6.40241355478377E-0002 6.39023081667954E-0002 6.37807550436522E-0002 + 6.36594750524737E-0002 6.35384670843511E-0002 6.34177300505734E-0002 6.32972628821652E-0002 6.31770645291817E-0002 + 6.30571339641268E-0002 6.29374701795524E-0002 6.28180721897795E-0002 6.26989390309236E-0002 6.25800697609187E-0002 + 6.24614634617283E-0002 6.23431192369427E-0002 6.22250362149627E-0002 6.21072135485409E-0002 6.19896504133503E-0002 + 6.18723460116573E-0002 6.17552995706493E-0002 6.16385103431917E-0002 6.15219776098030E-0002 6.14057006755218E-0002 + 6.12896788748025E-0002 6.11739115693564E-0002 6.10583981491558E-0002 6.09431380331961E-0002 6.08281306690401E-0002 + 6.07133755345558E-0002 6.05988721384365E-0002 6.04846200192597E-0002 6.03706187479583E-0002 6.02568679263922E-0002 + 6.01433671890903E-0002 6.00301162040173E-0002 5.99171146709025E-0002 5.98043623256675E-0002 5.96918589370480E-0002 + 5.95796043100477E-0002 5.94675982842678E-0002 5.93558407351663E-0002 5.92443315770290E-0002 5.91330707583672E-0002 + 5.90220582646439E-0002 5.89112940977724E-0002 5.88007782575458E-0002 5.86905107421236E-0002 5.85804915458282E-0002 + 5.84707206640361E-0002 5.83611980855900E-0002 5.82519238011174E-0002 5.81428977969096E-0002 5.80341200581022E-0002 + 5.79255905669587E-0002 5.78173093038478E-0002 5.77092762472418E-0002 5.76014913732243E-0002 5.74939546554878E-0002 + 5.73866660658222E-0002 5.72796255750938E-0002 5.71728331495640E-0002 5.70662887557937E-0002 5.69599923569607E-0002 + 5.68539439140847E-0002 5.67481433877440E-0002 5.66425907331625E-0002 5.65372859075750E-0002 5.64322288626114E-0002 + 5.63274195506817E-0002 5.62228579195685E-0002 5.61185439178319E-0002 5.60144774891538E-0002 5.59106585772528E-0002 + 5.58070871226859E-0002 5.57037630650606E-0002 5.56006863413104E-0002 5.54978568856925E-0002 5.53952746322481E-0002 + 5.52929395115996E-0002 5.51908514526727E-0002 5.50890103831866E-0002 5.49874162281751E-0002 5.48860689107230E-0002 + 5.47849683524576E-0002 5.46841144723140E-0002 5.45835071887531E-0002 5.44831464163068E-0002 5.43830320695223E-0002 + 5.42831640597542E-0002 5.41835422971359E-0002 5.40841666893441E-0002 5.39850371428314E-0002 5.38861535618369E-0002 + 5.37875158491255E-0002 5.36891239047512E-0002 5.35909776275370E-0002 5.34930769143326E-0002 5.33954216605070E-0002 + 5.32980117594527E-0002 5.32008471020886E-0002 5.31039275776005E-0002 5.30072530749243E-0002 5.29108234790328E-0002 + 5.28146386748932E-0002 5.27186985447435E-0002 5.26230029693283E-0002 5.25275518269063E-0002 5.24323449954785E-0002 + 5.23373823498134E-0002 5.22426637639238E-0002 5.21481891088337E-0002 5.20539582560483E-0002 5.19599710728411E-0002 + 5.18662274267163E-0002 5.17727271821824E-0002 5.16794702034806E-0002 5.15864563498669E-0002 5.14936854838024E-0002 + 5.14011574620150E-0002 5.13088721417047E-0002 5.12168293770651E-0002 5.11250290222638E-0002 5.10334709279617E-0002 + 5.09421549445421E-0002 5.08510809201214E-0002 5.07602487010441E-0002 5.06696581328770E-0002 5.05793090581684E-0002 + 5.04892013194325E-0002 5.03993347564109E-0002 5.03097092080621E-0002 5.02203245103196E-0002 5.01311804993272E-0002 + 5.00422770086992E-0002 4.99536138702650E-0002 4.98651909155637E-0002 4.97770079728521E-0002 4.96890648695952E-0002 + 4.96013614319669E-0002 4.95138974843499E-0002 4.94266728495839E-0002 4.93396873487145E-0002 4.92529408019904E-0002 + 4.91664330276138E-0002 4.90801638422391E-0002 4.89941330614703E-0002 4.89083404983614E-0002 4.88227859659132E-0002 + 4.87374692748240E-0002 4.86523902339870E-0002 4.85675486519899E-0002 4.84829443341129E-0002 4.83985770863286E-0002 + 4.83144467120498E-0002 4.82305530126282E-0002 4.81468957898555E-0002 4.80634748414572E-0002 4.79802899660979E-0002 + 4.78973409598753E-0002 4.78146276178211E-0002 4.77321497333995E-0002 4.76499070987559E-0002 4.75678995049671E-0002 + 4.74861267400340E-0002 4.74045885933938E-0002 4.73232848511550E-0002 4.72422152983526E-0002 4.71613797189477E-0002 + 4.70807778960770E-0002 4.70004096100446E-0002 4.69202746403274E-0002 4.68403727665802E-0002 4.67607037648672E-0002 + 4.66812674116792E-0002 4.66020634819240E-0002 4.65230917476677E-0002 4.64443519816528E-0002 4.63658439540292E-0002 + 4.62875674346164E-0002 4.62095221908901E-0002 4.61317079899939E-0002 4.60541245967252E-0002 4.59767717763027E-0002 + 4.58996492910935E-0002 4.58227569026255E-0002 4.57460943715871E-0002 4.56696614575739E-0002 4.55934579175768E-0002 + 4.55174835092561E-0002 4.54417379874126E-0002 4.53662211072636E-0002 4.52909326209125E-0002 4.52158722806255E-0002 + 4.51410398370655E-0002 4.50664350397962E-0002 4.49920576370281E-0002 4.49179073753658E-0002 4.48439840023313E-0002 + 4.47702872610615E-0002 4.46968168958616E-0002 4.46235726489224E-0002 4.45505542618342E-0002 4.44777614745756E-0002 + 4.44051940262709E-0002 4.43328516544309E-0002 4.42607340967218E-0002 4.41888410876773E-0002 4.41171723624911E-0002 + 4.40457276542338E-0002 4.39745066953704E-0002 4.39035092172532E-0002 4.38327349498679E-0002 4.37621836223392E-0002 + 4.36918549619169E-0002 4.36217486965083E-0002 4.35518645518914E-0002 4.34822022517125E-0002 4.34127615207815E-0002 + 4.33435420807614E-0002 4.32745436539707E-0002 4.32057659608474E-0002 4.31372087209619E-0002 4.30688716527634E-0002 + 4.30007544730709E-0002 4.29328568993574E-0002 4.28651786467032E-0002 4.27977194290638E-0002 4.27304789602858E-0002 + 4.26634569533444E-0002 4.25966531180553E-0002 4.25300671671738E-0002 4.24636988083875E-0002 4.23975477505435E-0002 + 4.23316137017414E-0002 4.22658963684431E-0002 4.22003954561067E-0002 4.21351106696961E-0002 4.20700417124068E-0002 + 4.20051882877026E-0002 4.19405500968958E-0002 4.18761268411840E-0002 4.18119182210131E-0002 4.17479239349298E-0002 + 4.16841436813650E-0002 4.16205771576135E-0002 4.15572240603439E-0002 4.14940840845777E-0002 4.14311569252188E-0002 + 4.13684422756502E-0002 4.13059398295196E-0002 4.12436492783149E-0002 4.11815703134048E-0002 4.11197026246347E-0002 + 4.10580459017302E-0002 4.09965998332756E-0002 4.09353641068408E-0002 4.08743384093641E-0002 4.08135224274074E-0002 + 4.07529158453665E-0002 4.06925183478989E-0002 4.06323296189012E-0002 4.05723493412527E-0002 4.05125771956633E-0002 + 4.04530128650233E-0002 4.03936560289012E-0002 4.03345063669978E-0002 4.02755635576099E-0002 4.02168272791668E-0002 + 4.01582972092052E-0002 4.00999730236004E-0002 4.00418543988716E-0002 3.99839410089783E-0002 3.99262325285236E-0002 + 3.98687286309598E-0002 3.98114289889723E-0002 3.97543332744793E-0002 3.96974411590165E-0002 3.96407523125816E-0002 + 3.95842664054308E-0002 3.95279831064100E-0002 3.94719020837243E-0002 3.94160230054517E-0002 3.93603455378730E-0002 + 3.93048693477835E-0002 3.92495941001804E-0002 3.91945194605752E-0002 3.91396450925520E-0002 3.90849706599516E-0002 + 3.90304958254577E-0002 3.89762202511108E-0002 3.89221435990795E-0002 3.88682655293449E-0002 3.88145857022728E-0002 + 3.87611037775852E-0002 3.87078194141017E-0002 3.86547322706412E-0002 3.86018420035740E-0002 3.85491482714592E-0002 + 3.84966507293756E-0002 3.84443490338180E-0002 3.83922428392172E-0002 3.83403318011627E-0002 3.82886155726631E-0002 + 3.82370938071117E-0002 3.81857661579003E-0002 3.81346322771283E-0002 3.80836918154730E-0002 3.80329444247712E-0002 + 3.79823897550499E-0002 3.79320274565922E-0002 3.78818571782580E-0002 3.78318785689043E-0002 3.77820912764812E-0002 + 3.77324949491949E-0002 3.76830892338269E-0002 3.76338737763799E-0002 3.75848482240183E-0002 3.75360122207988E-0002 + 3.74873654129752E-0002 3.74389074442101E-0002 3.73906379588106E-0002 3.73425565995273E-0002 3.72946630102734E-0002 + 3.72469568323688E-0002 3.71994377082965E-0002 3.71521052792409E-0002 3.71049591865132E-0002 3.70579990701256E-0002 + 3.70112245698277E-0002 3.69646353260152E-0002 3.69182309766162E-0002 3.68720111605939E-0002 3.68259755165196E-0002 + 3.67801236808852E-0002 3.67344552917372E-0002 3.66889699854321E-0002 3.66436673985832E-0002 3.65985471668920E-0002 + 3.65536089256678E-0002 3.65088523095674E-0002 3.64642769537649E-0002 3.64198824918724E-0002 3.63756685578893E-0002 + 3.63316347847725E-0002 3.62877808058668E-0002 3.62441062536043E-0002 3.62006107593738E-0002 3.61572939559936E-0002 + 3.61141554738071E-0002 3.60711949443272E-0002 3.60284119977630E-0002 3.59858062651034E-0002 3.59433773744696E-0002 + 3.59011249568476E-0002 3.58590486403549E-0002 3.58171480542810E-0002 3.57754228266104E-0002 3.57338725854565E-0002 + 3.56924969582800E-0002 3.56512955729318E-0002 3.56102680558269E-0002 3.55694140336405E-0002 3.55287331334391E-0002 + 3.54882249799385E-0002 3.54478892002051E-0002 3.54077254183009E-0002 3.53677332601167E-0002 3.53279123501064E-0002 + 3.52882623125936E-0002 3.52487827716405E-0002 3.52094733513103E-0002 3.51703336752746E-0002 3.51313633664213E-0002 + 3.50925620476389E-0002 3.50539293422101E-0002 3.50154648718487E-0002 3.49771682589240E-0002 3.49390391256768E-0002 + 3.49010770934329E-0002 3.48632817837823E-0002 3.48256528171383E-0002 3.47881898150957E-0002 3.47508923976796E-0002 + 3.47137601858356E-0002 3.46767927994635E-0002 3.46399898585977E-0002 3.46033509824889E-0002 3.45668757903914E-0002 + 3.45305639023508E-0002 3.44944149368424E-0002 3.44584285127391E-0002 3.44226042485247E-0002 3.43869417630821E-0002 + 3.43514406737226E-0002 3.43161005989452E-0002 3.42809211560718E-0002 3.42459019636131E-0002 3.42110426378509E-0002 + 3.41763427965192E-0002 3.41418020568329E-0002 3.41074200350926E-0002 3.40731963487899E-0002 3.40391306133183E-0002 + 3.40052224463161E-0002 3.39714714631916E-0002 3.39378772796241E-0002 3.39044395122230E-0002 3.38711577770797E-0002 + 3.38380316884498E-0002 3.38050608631013E-0002 3.37722449154396E-0002 3.37395834613294E-0002 3.37070761150633E-0002 + 3.36747224923944E-0002 3.36425222068442E-0002 3.36104748747149E-0002 3.35785801098136E-0002 3.35468375264858E-0002 + 3.35152467389568E-0002 3.34838073618599E-0002 3.34525190093124E-0002 3.34213812949159E-0002 3.33903938329451E-0002 + 3.33595562376879E-0002 3.33288681223888E-0002 3.32983291005699E-0002 3.32679387861639E-0002 3.32376967927216E-0002 + 3.32076027338084E-0002 3.31776562230048E-0002 3.31478568731128E-0002 3.31182042973467E-0002 3.30886981095989E-0002 + 3.30593379224545E-0002 3.30301233493095E-0002 3.30010540031796E-0002 3.29721294974957E-0002 3.29433494441161E-0002 + 3.29147134573024E-0002 3.28862211493471E-0002 3.28578721329585E-0002 3.28296660217927E-0002 3.28016024275357E-0002 + 3.27736809637504E-0002 3.27459012434893E-0002 3.27182628788968E-0002 3.26907654830669E-0002 3.26634086691153E-0002 + 3.26361920489843E-0002 3.26091152364974E-0002 3.25821778435083E-0002 3.25553794836204E-0002 3.25287197688659E-0002 + 3.25021983126296E-0002 3.24758147275227E-0002 3.24495686267127E-0002 3.24234596224608E-0002 3.23974873277183E-0002 + 3.23716513563935E-0002 3.23459513206910E-0002 3.23203868337731E-0002 3.22949575088290E-0002 3.22696629585424E-0002 + 3.22445027965566E-0002 3.22194766356106E-0002 3.21945840895377E-0002 3.21698247712671E-0002 3.21451982944239E-0002 + 3.21207042718624E-0002 3.20963423178008E-0002 3.20721120454206E-0002 3.20480130684678E-0002 3.20240450008533E-0002 + 3.20002074558524E-0002 3.19765000479736E-0002 3.19529223909575E-0002 3.19294740983102E-0002 3.19061547850405E-0002 + 3.18829640647218E-0002 3.18599015525651E-0002 3.18369668618119E-0002 3.18141596080108E-0002 3.17914794051419E-0002 + 3.17689258686926E-0002 3.17464986128492E-0002 3.17241972533067E-0002 3.17020214040580E-0002 3.16799706814088E-0002 + 3.16580447003653E-0002 3.16362430762397E-0002 3.16145654250534E-0002 3.15930113617961E-0002 3.15715805033728E-0002 + 3.15502724652561E-0002 3.15290868632271E-0002 3.15080233145834E-0002 3.14870814346536E-0002 3.14662608406861E-0002 + 3.14455611495700E-0002 3.14249819782384E-0002 3.14045229438025E-0002 3.13841836628811E-0002 3.13639637533457E-0002 + 3.13438628328452E-0002 3.13238805189401E-0002 3.13040164297747E-0002 3.12842701832714E-0002 3.12646413979376E-0002 + 3.12451296917913E-0002 3.12257346841083E-0002 3.12064559928693E-0002 3.11872932382553E-0002 3.11682460384809E-0002 + 3.11493140134244E-0002 3.11304967827464E-0002 3.11117939661591E-0002 3.10932051835610E-0002 3.10747300554415E-0002 + 3.10563682020742E-0002 3.10381192441898E-0002 3.10199828027078E-0002 3.10019584984677E-0002 3.09840459530375E-0002 + 3.09662447881760E-0002 3.09485546248892E-0002 3.09309750857224E-0002 3.09135057928740E-0002 3.08961463688697E-0002 + 3.08788964361586E-0002 3.08617556173834E-0002 3.08447235364605E-0002 3.08277998162866E-0002 3.08109840806287E-0002 + 3.07942759534496E-0002 3.07776750589088E-0002 3.07611810212276E-0002 3.07447934653655E-0002 3.07285120163449E-0002 + 3.07123362989818E-0002 3.06962659389673E-0002 3.06803005619218E-0002 3.06644397936664E-0002 3.06486832608995E-0002 + 3.06330305899801E-0002 3.06174814074693E-0002 3.06020353409432E-0002 3.05866920173689E-0002 3.05714510647301E-0002 + 3.05563121105377E-0002 3.05412747833204E-0002 3.05263387115419E-0002 3.05115035242785E-0002 3.04967688501361E-0002 + 3.04821343190121E-0002 3.04675995601989E-0002 3.04531642040108E-0002 3.04388278811076E-0002 3.04245902214092E-0002 + 3.04104508561310E-0002 3.03964094161570E-0002 3.03824655340758E-0002 3.03686188410595E-0002 3.03548689690361E-0002 + 3.03412155510973E-0002 3.03276582202781E-0002 3.03141966087407E-0002 3.03008303510368E-0002 3.02875590805754E-0002 + 3.02743824313893E-0002 3.02613000380007E-0002 3.02483115356933E-0002 3.02354165591536E-0002 3.02226147439666E-0002 + 3.02099057262096E-0002 3.01972891423160E-0002 3.01847646282599E-0002 3.01723318211891E-0002 3.01599903584741E-0002 + 3.01477398772994E-0002 3.01355800164348E-0002 3.01235104136484E-0002 3.01115307076139E-0002 3.00996405377756E-0002 + 3.00878395431218E-0002 3.00761273638222E-0002 3.00645036397276E-0002 3.00529680110532E-0002 3.00415201197433E-0002 + 3.00301596063340E-0002 3.00188861125462E-0002 3.00076992803309E-0002 2.99965987522800E-0002 2.99855841713534E-0002 + 2.99746551806066E-0002 2.99638114233282E-0002 2.99530525439964E-0002 2.99423781863672E-0002 2.99317879957980E-0002 + 2.99212816169248E-0002 2.99108586954401E-0002 2.99005188776834E-0002 2.98902618096847E-0002 2.98800871382591E-0002 + 2.98699945100495E-0002 2.98599835735810E-0002 2.98500539758389E-0002 2.98402053659659E-0002 2.98304373925247E-0002 + 2.98207497044566E-0002 2.98111419519044E-0002 2.98016137842953E-0002 2.97921648523965E-0002 2.97827948070828E-0002 + 2.97735033000228E-0002 2.97642899823081E-0002 2.97551545065112E-0002 2.97460965251776E-0002 2.97371156912376E-0002 + 2.97282116582821E-0002 2.97193840801509E-0002 2.97106326109339E-0002 2.97019569059325E-0002 2.96933566198754E-0002 + 2.96848314085673E-0002 2.96763809283404E-0002 2.96680048353676E-0002 2.96597027864879E-0002 2.96514744400324E-0002 + 2.96433194529375E-0002 2.96352374840453E-0002 2.96272281920423E-0002 2.96192912361471E-0002 2.96114262761115E-0002 + 2.96036329720836E-0002 2.95959109847458E-0002 2.95882599750406E-0002 2.95806796045843E-0002 2.95731695353920E-0002 + 2.95657294300164E-0002 2.95583589515485E-0002 2.95510577633426E-0002 2.95438255290171E-0002 2.95366619134197E-0002 + 2.95295665809745E-0002 2.95225391969231E-0002 2.95155794278772E-0002 2.95086869389228E-0002 2.95018613978973E-0002 + 2.94951024715272E-0002 2.94884098277746E-0002 2.94817831345957E-0002 2.94752220610459E-0002 2.94687262760380E-0002 + 2.94622954493096E-0002 2.94559292511474E-0002 2.94496273522500E-0002 2.94433894235905E-0002 2.94372151371078E-0002 + 2.94311041646712E-0002 2.94250561791868E-0002 2.94190708538379E-0002 2.94131478619471E-0002 2.94072868782225E-0002 + 2.94014875769594E-0002 2.93957496334942E-0002 2.93900727235133E-0002 2.93844565230532E-0002 2.93789007090559E-0002 + 2.93734049588152E-0002 2.93679689497697E-0002 2.93625923603349E-0002 2.93572748694883E-0002 2.93520161560769E-0002 + 2.93468159004124E-0002 2.93416737822611E-0002 2.93365894832029E-0002 2.93315626839265E-0002 2.93265930667973E-0002 + 2.93216803139842E-0002 2.93168241085022E-0002 2.93120241340039E-0002 2.93072800742953E-0002 2.93025916138216E-0002 + 2.92979584380854E-0002 2.92933802323275E-0002 2.92888566828472E-0002 2.92843874763785E-0002 2.92799723000205E-0002 + 2.92756108415864E-0002 2.92713027893952E-0002 2.92670478320638E-0002 2.92628456592734E-0002 2.92586959610046E-0002 + 2.92545984273989E-0002 2.92505527495252E-0002 2.92465586191715E-0002 2.92426157284285E-0002 2.92387237697594E-0002 + 2.92348824364880E-0002 2.92310914225915E-0002 2.92273504218641E-0002 2.92236591295209E-0002 2.92200172408745E-0002 + 2.92164244521026E-0002 2.92128804596213E-0002 2.92093849603644E-0002 2.92059376522029E-0002 2.92025382333180E-0002 + 2.91991864024112E-0002 2.91958818587746E-0002 2.91926243023614E-0002 2.91894134337873E-0002 2.91862489537019E-0002 + 2.91831305642569E-0002 2.91800579672206E-0002 2.91770308653755E-0002 2.91740489622401E-0002 2.91711119614405E-0002 + 2.91682195674801E-0002 2.91653714854604E-0002 2.91625674208725E-0002 2.91598070799471E-0002 2.91570901693758E-0002 + 2.91544163966614E-0002 2.91517854696993E-0002 2.91491970964272E-0002 2.91466509865074E-0002 2.91441468493658E-0002 + 2.91416843951742E-0002 2.91392633348501E-0002 2.91368833797079E-0002 2.91345442417394E-0002 2.91322456336151E-0002 + 2.91299872680534E-0002 2.91277688595049E-0002 2.91255901214874E-0002 2.91234507692527E-0002 2.91213505184544E-0002 + 2.91192890851485E-0002 2.91172661856536E-0002 2.91152815374642E-0002 2.91133348585501E-0002 2.91114258670754E-0002 + 2.91095542822424E-0002 2.91077198240117E-0002 2.91059222121189E-0002 2.91041611675510E-0002 2.91024364119152E-0002 + 2.91007476670170E-0002 2.90990946554244E-0002 2.90974771006084E-0002 2.90958947265228E-0002 2.90943472571114E-0002 + 2.90928344177167E-0002 2.90913559338840E-0002 2.90899115319959E-0002 2.90885009387803E-0002 2.90871238814512E-0002 + 2.90857800887671E-0002 2.90844692885656E-0002 2.90831912105822E-0002 2.90819455845489E-0002 2.90807321408994E-0002 + 2.90795506109111E-0002 2.90784007262125E-0002 2.90772822190653E-0002 2.90761948222955E-0002 2.90751382694343E-0002 + 2.90741122951436E-0002 2.90731166337334E-0002 2.90721510202923E-0002 2.90712151913949E-0002 2.90703088832656E-0002 + 2.90694318332634E-0002 2.90685837794586E-0002 2.90677644598558E-0002 2.90669736138089E-0002 2.90662109810316E-0002 + 2.90654763014572E-0002 2.90647693165117E-0002 2.90640897673471E-0002 2.90634373961855E-0002 2.90628119461083E-0002 + 2.90622131604194E-0002 2.90616407829298E-0002 2.90610945584529E-0002 2.90605742323107E-0002 2.90600795501214E-0002 + 2.90596102587210E-0002 2.90591661048894E-0002 2.90587468368384E-0002 2.90583522028668E-0002 2.90579819517149E-0002 + 2.90576358332743E-0002 2.90573135978798E-0002 2.90570149960974E-0002 2.90567397797176E-0002 2.90564877007638E-0002 + 2.90562585122728E-0002 2.90560519673024E-0002 2.90558678202099E-0002 2.90557058254456E-0002 2.90555657384767E-0002 + 2.90554473152204E-0002 2.90553503119730E-0002 2.90552744863343E-0002 2.90552195957167E-0002 2.90551853989089E-0002 + 2.90551716550108E-0002 2.90551781234339E-0002 2.90552045647557E-0002 2.90552507401513E-0002 2.90553164109675E-0002 + 2.90554013393634E-0002 2.90555052886675E-0002 2.90556280219550E-0002 2.90557693035428E-0002 2.90559288983501E-0002 + 2.90561065718281E-0002 2.90563020897461E-0002 2.90565152191907E-0002 2.90567457274259E-0002 2.90569933821788E-0002 + 2.90572579523537E-0002 2.90575392071055E-0002 2.90578369161972E-0002 2.90581508505000E-0002 2.90584807807098E-0002 + 2.90588264790603E-0002 2.90591877177543E-0002 2.90595642701056E-0002 2.90599559096838E-0002 2.90603624108859E-0002 + 2.90607835486514E-0002 2.90612190988919E-0002 2.90616688375625E-0002 2.90621325418067E-0002 2.90626099888839E-0002 + 2.90631009573867E-0002 2.90636052262399E-0002 2.90641225744868E-0002 2.90646527825772E-0002 2.90651956311527E-0002 + 2.90657509015472E-0002 2.90663183762182E-0002 2.90668978374584E-0002 2.90674890686135E-0002 2.90680918542266E-0002 + 2.90687059780331E-0002 2.90693312260418E-0002 2.90699673838134E-0002 2.90706142381091E-0002 2.90712715757443E-0002 + 2.90719391850954E-0002 2.90726168543793E-0002 2.90733043725146E-0002 2.90740015298401E-0002 2.90747081160346E-0002 + 2.90754239227006E-0002 2.90761487412845E-0002 2.90768823643689E-0002 2.90776245845962E-0002 2.90783751958907E-0002 + 2.90791339925251E-0002 2.90799007691934E-0002 2.90806753215859E-0002 2.90814574459595E-0002 2.90822469389223E-0002 + 2.90830435982969E-0002 2.90838472221149E-0002 2.90846576089771E-0002 2.90854745587013E-0002 2.90862978708124E-0002 + 2.90871273465579E-0002 2.90879627868937E-0002 2.90888039938518E-0002 2.90896507703978E-0002 2.90905029195672E-0002 + 2.90913602453303E-0002 2.90922225520888E-0002 2.90930896455409E-0002 2.90939613308808E-0002 2.90948374153216E-0002 + 2.90957177055015E-0002 2.90966020092863E-0002 2.90974901352657E-0002 2.90983818923213E-0002 2.90992770902761E-0002 + 2.91001755397519E-0002 2.91010770513030E-0002 2.91019814367887E-0002 2.91028885085078E-0002 2.91037980792712E-0002 + 2.91047099627642E-0002 2.91056239731855E-0002 2.91065399254650E-0002 2.91074576349033E-0002 2.91083769178946E-0002 + 2.91092975908437E-0002 2.91102194715397E-0002 2.91111423778561E-0002 2.91120661287630E-0002 2.91129905430266E-0002 + 2.91139154412348E-0002 2.91148406437725E-0002 2.91157659719077E-0002 2.91166912476474E-0002 2.91176162933036E-0002 + 2.91185409320737E-0002 2.91194649881859E-0002 2.91203882855961E-0002 2.91213106497272E-0002 2.91222319062380E-0002 + 2.91231518815316E-0002 2.91240704026103E-0002 2.91249872971495E-0002 2.91259023932082E-0002 2.91268155202446E-0002 + 2.91277265073766E-0002 2.91286351846876E-0002 2.91295413835907E-0002 2.91304449351598E-0002 2.91313456717272E-0002 + 2.91322434254324E-0002 2.91331380306913E-0002 2.91340293207843E-0002 2.91349171304709E-0002 2.91358012952644E-0002 + 2.91366816509969E-0002 2.91375580340374E-0002 2.91384302818741E-0002 2.91392982321706E-0002 2.91401617234199E-0002 + 2.91410205948735E-0002 2.91418746858865E-0002 2.91427238371556E-0002 2.91435678894096E-0002 2.91444066845023E-0002 + 2.91452400646846E-0002 2.91460678727515E-0002 2.91468899521146E-0002 2.91477061468767E-0002 2.91485163021957E-0002 + 2.91493202631934E-0002 2.91501178759755E-0002 2.91509089871222E-0002 2.91516934439081E-0002 2.91524710944482E-0002 + 2.91532417871152E-0002 2.91540053709779E-0002 2.91547616961666E-0002 2.91555106127793E-0002 2.91562519719039E-0002 + 2.91569856253271E-0002 2.91577114256081E-0002 2.91584292252026E-0002 2.91591388776325E-0002 2.91598402374860E-0002 + 2.91605331593961E-0002 2.91612174985521E-0002 2.91618931112854E-0002 2.91625598540464E-0002 2.91632175843560E-0002 + 2.91638661597820E-0002 2.91645054391836E-0002 2.91651352813950E-0002 2.91657555463234E-0002 2.91663660944378E-0002 + 2.91669667867695E-0002 2.91675574846930E-0002 2.91681380505854E-0002 2.91687083471684E-0002 2.91692682381679E-0002 + 2.91698175873624E-0002 2.91703562594626E-0002 2.91708841202589E-0002 2.91714010350828E-0002 2.91719068707868E-0002 + 2.91724014944984E-0002 2.91728847738409E-0002 2.91733565773008E-0002 2.91738167738614E-0002 2.91742652331506E-0002 + 2.91747018252944E-0002 2.91751264211375E-0002 2.91755388920244E-0002 2.91759391101664E-0002 2.91763269482023E-0002 + 2.91767022792717E-0002 2.91770649773101E-0002 2.91774149166085E-0002 2.91777519724749E-0002 2.91780760203539E-0002 + 2.91783869367819E-0002 2.91786845985065E-0002 2.91789688830743E-0002 2.91792396683911E-0002 2.91794968333105E-0002 + 2.91797402571933E-0002 2.91799698196871E-0002 2.91801854013896E-0002 2.91803868837019E-0002 2.91805741477982E-0002 + 2.91807470764674E-0002 2.91809055521990E-0002 2.91810494587304E-0002 2.91811786798685E-0002 2.91812931005960E-0002 + 2.91813926061878E-0002 2.91814770823583E-0002 2.91815464154835E-0002 2.91816004926756E-0002 2.91816392015617E-0002 + 2.91816624305804E-0002 2.91816700686128E-0002 2.91816620046142E-0002 2.91816381290170E-0002 2.91815983322551E-0002 + 2.91815425055027E-0002 2.91814705405271E-0002 2.91813823298372E-0002 2.91812777661668E-0002 2.91811567432881E-0002 + 2.91810191550513E-0002 2.91808648962723E-0002 2.91806938622159E-0002 2.91805059488921E-0002 2.91803010526128E-0002 + 2.91800790705103E-0002 2.91798398999458E-0002 2.91795834392502E-0002 2.91793095873545E-0002 2.91790182432721E-0002 + 2.91787093072842E-0002 2.91783826796073E-0002 2.91780382615048E-0002 2.91776759544725E-0002 2.91772956609063E-0002 + 2.91768972833615E-0002 2.91764807253687E-0002 2.91760458909155E-0002 2.91755926843729E-0002 2.91751210109406E-0002 + 2.91746307761289E-0002 2.91741218864261E-0002 2.91735942483354E-0002 2.91730477694136E-0002 2.91724823574557E-0002 + 2.91718979209405E-0002 2.91712943689946E-0002 2.91706716112808E-0002 2.91700295578878E-0002 2.91693681195162E-0002 + 2.91686872075164E-0002 2.91679867338888E-0002 2.91672666108388E-0002 2.91665267514461E-0002 2.91657670692565E-0002 + 2.91649874783193E-0002 2.91641878934113E-0002 2.91633682297398E-0002 2.91625284027568E-0002 2.91616683292016E-0002 + 2.91607879256871E-0002 2.91598871096682E-0002 2.91589657993676E-0002 2.91580239127715E-0002 2.91570613695658E-0002 + 2.91560780889029E-0002 2.91550739912266E-0002 2.91540489971184E-0002 2.91530030280055E-0002 2.91519360054908E-0002 + 2.91508478520612E-0002 2.91497384906788E-0002 2.91486078445570E-0002 2.91474558377951E-0002 2.91462823949316E-0002 + 2.91450874410188E-0002 2.91438709017733E-0002 2.91426327030905E-0002 2.91413727717175E-0002 2.91400910350668E-0002 + 2.91387874206568E-0002 2.91374618569339E-0002 2.91361142725632E-0002 2.91347445970269E-0002 2.91333527601013E-0002 + 2.91319386921944E-0002 2.91305023242708E-0002 2.91290435878154E-0002 2.91275624148337E-0002 2.91260587378522E-0002 + 2.91245324899566E-0002 2.91229836045674E-0002 2.91214120158148E-0002 2.91198176585394E-0002 2.91182004676559E-0002 + 2.91165603788654E-0002 2.91148973283557E-0002 2.91132112529149E-0002 2.91115020898190E-0002 2.91097697765703E-0002 + 2.91080142515722E-0002 2.91062354534552E-0002 2.91044333217523E-0002 2.91026077961494E-0002 2.91007588168232E-0002 + 2.90988863247419E-0002 2.90969902611779E-0002 2.90950705678960E-0002 2.90931271875290E-0002 2.90911600627151E-0002 + 2.90891691367738E-0002 2.90871543536315E-0002 2.90851156577466E-0002 2.90830529939979E-0002 2.90809663076468E-0002 + 2.90788555445633E-0002 2.90767206511893E-0002 2.90745615743131E-0002 2.90723782615591E-0002 2.90701706605980E-0002 + 2.90679387199000E-0002 2.90656823881328E-0002 2.90634016148775E-0002 2.90610963499136E-0002 2.90587665435962E-0002 + 2.90564121467058E-0002 2.90540331107495E-0002 2.90516293872843E-0002 2.90492009287833E-0002 2.90467476879584E-0002 + 2.90442696180997E-0002 2.90417666730003E-0002 2.90392388069197E-0002 2.90366859746215E-0002 2.90341081312230E-0002 + 2.90315052324597E-0002 2.90288772345349E-0002 2.90262240939692E-0002 2.90235457679405E-0002 2.90208422141712E-0002 + 2.90181133905892E-0002 2.90153592558185E-0002 2.90125797688782E-0002 2.90097748892582E-0002 2.90069445769194E-0002 + 2.90040887923701E-0002 2.90012074964394E-0002 2.89983006504289E-0002 2.89953682164533E-0002 2.89924101563446E-0002 + 2.89894264334293E-0002 2.89864170104871E-0002 2.89833818515287E-0002 2.89803209205102E-0002 2.89772341819766E-0002 + 2.89741216014027E-0002 2.89709831438315E-0002 2.89678187756908E-0002 2.89646284631285E-0002 2.89614121731107E-0002 + 2.89581698731192E-0002 2.89549015307353E-0002 2.89516071143978E-0002 2.89482865928353E-0002 2.89449399349904E-0002 + 2.89415671106269E-0002 2.89381680899130E-0002 2.89347428430427E-0002 2.89312913411081E-0002 2.89278135555690E-0002 + 2.89243094582157E-0002 2.89207790211686E-0002 2.89172222174106E-0002 2.89136390198762E-0002 2.89100294020972E-0002 + 2.89063933382791E-0002 2.89027308026940E-0002 2.88990417703267E-0002 2.88953262166848E-0002 2.88915841171156E-0002 + 2.88878154480601E-0002 2.88840201862936E-0002 2.88801983084318E-0002 2.88763497922614E-0002 2.88724746155626E-0002 + 2.88685727566409E-0002 2.88646441944427E-0002 2.88606889078315E-0002 2.88567068765408E-0002 2.88526980806408E-0002 + 2.88486625005010E-0002 2.88446001169051E-0002 2.88405109112029E-0002 2.88363948649687E-0002 2.88322519605345E-0002 + 2.88280821801141E-0002 2.88238855067945E-0002 2.88196619238878E-0002 2.88154114149323E-0002 2.88111339644163E-0002 + 2.88068295567501E-0002 2.88024981767991E-0002 2.87981398100373E-0002 2.87937544421663E-0002 2.87893420594968E-0002 + 2.87849026483385E-0002 2.87804361959166E-0002 2.87759426894941E-0002 2.87714221167919E-0002 2.87668744661424E-0002 + 2.87622997259543E-0002 2.87576978852105E-0002 2.87530689334296E-0002 2.87484128601313E-0002 2.87437296554867E-0002 + 2.87390193101656E-0002 2.87342818149928E-0002 2.87295171611776E-0002 2.87247253404293E-0002 2.87199063450720E-0002 + 2.87150601671268E-0002 2.87101867997659E-0002 2.87052862361273E-0002 2.87003584696970E-0002 2.86954034945777E-0002 + 2.86904213050682E-0002 2.86854118959311E-0002 2.86803752621258E-0002 2.86753113992296E-0002 2.86702203032083E-0002 + 2.86651019701102E-0002 2.86599563966410E-0002 2.86547835797041E-0002 2.86495835165162E-0002 2.86443562050293E-0002 + 2.86391016430870E-0002 2.86338198291924E-0002 2.86285107620860E-0002 2.86231744410918E-0002 2.86178108654645E-0002 + 2.86124200351967E-0002 2.86070019504040E-0002 2.86015566119023E-0002 2.85960840204777E-0002 2.85905841773478E-0002 + 2.85850570843542E-0002 2.85795027432714E-0002 2.85739211565366E-0002 2.85683123269434E-0002 2.85626762574875E-0002 + 2.85570129514444E-0002 2.85513224126771E-0002 2.85456046451747E-0002 2.85398596534377E-0002 2.85340874421320E-0002 + 2.85282880164737E-0002 2.85224613818061E-0002 2.85166075439467E-0002 2.85107265091485E-0002 2.85048182836002E-0002 + 2.84988828743891E-0002 2.84929202883068E-0002 2.84869305331987E-0002 2.84809136165768E-0002 2.84748695465444E-0002 + 2.84687983316813E-0002 2.84626999806586E-0002 2.84565745026240E-0002 2.84504219070098E-0002 2.84442422033784E-0002 + 2.84380354020404E-0002 2.84318015133598E-0002 2.84255405479089E-0002 2.84192525166612E-0002 2.84129374311852E-0002 + 2.84065953029881E-0002 2.84002261439789E-0002 2.83938299665855E-0002 2.83874067833293E-0002 2.83809566070574E-0002 + 2.83744794511750E-0002 2.83679753289494E-0002 2.83614442544387E-0002 2.83548862416021E-0002 2.83483013048808E-0002 + 2.83416894592751E-0002 2.83350507194940E-0002 2.83283851010772E-0002 2.83216926195826E-0002 2.83149732908577E-0002 + 2.83082271315046E-0002 2.83014541576407E-0002 2.82946543863320E-0002 2.82878278345863E-0002 2.82809745198960E-0002 + 2.82740944599667E-0002 2.82671876726790E-0002 2.82602541764762E-0002 2.82532939897440E-0002 2.82463071314317E-0002 + 2.82392936206642E-0002 2.82322534768584E-0002 2.82251867196852E-0002 2.82180933692245E-0002 2.82109734455774E-0002 + 2.82038269694487E-0002 2.81966539614873E-0002 2.81894544428684E-0002 2.81822284349058E-0002 2.81749759593626E-0002 + 2.81676970379855E-0002 2.81603916930874E-0002 2.81530599469262E-0002 2.81457018224044E-0002 2.81383173424477E-0002 + 2.81309065303155E-0002 2.81234694093687E-0002 2.81160060035359E-0002 2.81085163367692E-0002 2.81010004334727E-0002 + 2.80934583179965E-0002 2.80858900153372E-0002 2.80782955505161E-0002 2.80706749487343E-0002 2.80630282357626E-0002 + 2.80553554371630E-0002 2.80476565792621E-0002 2.80399316883340E-0002 2.80321807907945E-0002 2.80244039136694E-0002 + 2.80166010838930E-0002 2.80087723288150E-0002 2.80009176760059E-0002 2.79930371532570E-0002 2.79851307885806E-0002 + 2.79771986102493E-0002 2.79692406469131E-0002 2.79612569270924E-0002 2.79532474799587E-0002 2.79452123345932E-0002 + 2.79371515206112E-0002 2.79290650676555E-0002 2.79209530055909E-0002 2.79128153646615E-0002 2.79046521752555E-0002 + 2.78964634677891E-0002 2.78882492731749E-0002 2.78800096226662E-0002 2.78717445473095E-0002 2.78634540786879E-0002 + 2.78551382484516E-0002 2.78467970887097E-0002 2.78384306315212E-0002 2.78300389092086E-0002 2.78216219543972E-0002 + 2.78131798000149E-0002 2.78047124789403E-0002 2.77962200243945E-0002 2.77877024699018E-0002 2.77791598491332E-0002 + 2.77705921959462E-0002 2.77619995443451E-0002 2.77533819285208E-0002 2.77447393831641E-0002 2.77360719427607E-0002 + 2.77273796423754E-0002 2.77186625169066E-0002 2.77099206017932E-0002 2.77011539323867E-0002 2.76923625444222E-0002 + 2.76835464738222E-0002 2.76747057565401E-0002 2.76658404289132E-0002 2.76569505273491E-0002 2.76480360886005E-0002 + 2.76390971493728E-0002 2.76301337466774E-0002 2.76211459178321E-0002 2.76121337001076E-0002 2.76030971311205E-0002 + 2.75940362486763E-0002 2.75849510906908E-0002 2.75758416953476E-0002 2.75667081007836E-0002 2.75575503456397E-0002 + 2.75483684684316E-0002 2.75391625080612E-0002 2.75299325036203E-0002 2.75206784941150E-0002 2.75114005189775E-0002 + 2.75020986176726E-0002 2.74927728301705E-0002 2.74834231958437E-0002 2.74740497550827E-0002 2.74646525480349E-0002 + 2.74552316149598E-0002 2.74457869963862E-0002 2.74363187329553E-0002 2.74268268656173E-0002 2.74173114353559E-0002 + 2.74077724831882E-0002 2.73982100506777E-0002 2.73886241790665E-0002 2.73790149100842E-0002 2.73693822854544E-0002 + 2.73597263470929E-0002 2.73500471373046E-0002 2.73403446979149E-0002 2.73306190716918E-0002 2.73208703009044E-0002 + 2.73110984283494E-0002 2.73013034967991E-0002 2.72914855492771E-0002 2.72816446287231E-0002 2.72717807786055E-0002 + 2.72618940421306E-0002 2.72519844628955E-0002 2.72420520845516E-0002 2.72320969508050E-0002 2.72221191057528E-0002 + 2.72121185933291E-0002 2.72020954577800E-0002 2.71920497434462E-0002 2.71819814947233E-0002 2.71718907562399E-0002 + 2.71617775726600E-0002 2.71516419889207E-0002 2.71414840499744E-0002 2.71313038007298E-0002 2.71211012866067E-0002 + 2.71108765528623E-0002 2.71006296449677E-0002 2.70903606084893E-0002 2.70800694890685E-0002 2.70697563325217E-0002 + 2.70594211849390E-0002 2.70490640920495E-0002 2.70386851002534E-0002 2.70282842557087E-0002 2.70178616048678E-0002 + 2.70074171940999E-0002 2.69969510700883E-0002 2.69864632794532E-0002 2.69759538691290E-0002 2.69654228858481E-0002 + 2.69548703767368E-0002 2.69442963888981E-0002 2.69337009695509E-0002 2.69230841659109E-0002 2.69124460255480E-0002 + 2.69017865959300E-0002 2.68911059245607E-0002 2.68804040592992E-0002 2.68696810477824E-0002 2.68589369380817E-0002 + 2.68481717780468E-0002 2.68373856158027E-0002 2.68265784994517E-0002 2.68157504773717E-0002 2.68049015977784E-0002 + 2.67940319091433E-0002 2.67831414599750E-0002 2.67722302989784E-0002 2.67612984745964E-0002 2.67503460357874E-0002 + 2.67393730312475E-0002 2.67283795099893E-0002 2.67173655209825E-0002 2.67063311133339E-0002 2.66952763360476E-0002 + 2.66842012385040E-0002 2.66731058700210E-0002 2.66619902798341E-0002 2.66508545173755E-0002 2.66396986322943E-0002 + 2.66285226739777E-0002 2.66173266922892E-0002 2.66061107367503E-0002 2.65948748571994E-0002 2.65836191034724E-0002 + 2.65723435255424E-0002 2.65610481732602E-0002 2.65497330968135E-0002 2.65383983460079E-0002 2.65270439713061E-0002 + 2.65156700226484E-0002 2.65042765504324E-0002 2.64928636049735E-0002 2.64814312365443E-0002 2.64699794956750E-0002 + 2.64585084327532E-0002 2.64470180983243E-0002 2.64355085428709E-0002 2.64239798172336E-0002 2.64124319719100E-0002 + 2.64008650575955E-0002 2.63892791251032E-0002 2.63776742252235E-0002 2.63660504088047E-0002 2.63544077267124E-0002 + 2.63427462298897E-0002 2.63310659693377E-0002 2.63193669959545E-0002 2.63076493609163E-0002 2.62959131152365E-0002 + 2.62841583099259E-0002 2.62723849963336E-0002 2.62605932254654E-0002 2.62487830485849E-0002 2.62369545169736E-0002 + 2.62251076818903E-0002 2.62132425945506E-0002 2.62013593063287E-0002 2.61894578686559E-0002 2.61775383328809E-0002 + 2.61656007503294E-0002 2.61536451724651E-0002 2.61416716508295E-0002 2.61296802367200E-0002 2.61176709817128E-0002 + 2.61056439373613E-0002 2.60935991551557E-0002 2.60815366866035E-0002 2.60694565833100E-0002 2.60573588968174E-0002 + 2.60452436787857E-0002 2.60331109807109E-0002 2.60209608542472E-0002 2.60087933510058E-0002 2.59966085227356E-0002 + 2.59844064208404E-0002 2.59721870971639E-0002 2.59599506033051E-0002 2.59476969908803E-0002 2.59354263115830E-0002 + 2.59231386171643E-0002 2.59108339591301E-0002 2.58985123892250E-0002 2.58861739591302E-0002 2.58738187205638E-0002 + 2.58614467251196E-0002 2.58490580244487E-0002 2.58366526702592E-0002 2.58242307142157E-0002 2.58117922079189E-0002 + 2.57993372030263E-0002 2.57868657511721E-0002 2.57743779040069E-0002 2.57618737131578E-0002 2.57493532300864E-0002 + 2.57368165066148E-0002 2.57242635942175E-0002 2.57116945443251E-0002 2.56991094087485E-0002 2.56865082387691E-0002 + 2.56738910860487E-0002 2.56612580020634E-0002 2.56486090382850E-0002 2.56359442461211E-0002 2.56232636770965E-0002 + 2.56105673826104E-0002 2.55978554140178E-0002 2.55851278227705E-0002 2.55723846601139E-0002 2.55596259773495E-0002 + 2.55468518258561E-0002 2.55340622568864E-0002 2.55212573216886E-0002 2.55084370714459E-0002 2.54956015572762E-0002 + 2.54827508304347E-0002 2.54698849419289E-0002 2.54570039429035E-0002 2.54441078843364E-0002 2.54311968174036E-0002 + 2.54182707928299E-0002 2.54053298617615E-0002 2.53923740749947E-0002 2.53794034834022E-0002 2.53664181378109E-0002 + 2.53534180889818E-0002 2.53404033876506E-0002 2.53273740845274E-0002 2.53143302302563E-0002 2.53012718753948E-0002 + 2.52881990705560E-0002 2.52751118662663E-0002 2.52620103129249E-0002 2.52488944609455E-0002 2.52357643608179E-0002 + 2.52226200627414E-0002 2.52094616169909E-0002 2.51962890737746E-0002 2.51831024833153E-0002 2.51699018956875E-0002 + 2.51566873608577E-0002 2.51434589289904E-0002 2.51302166498975E-0002 2.51169605734666E-0002 2.51036907495380E-0002 + 2.50904072279460E-0002 2.50771100583148E-0002 2.50637992903232E-0002 2.50504749734603E-0002 2.50371371574122E-0002 + 2.50237858915531E-0002 2.50104212252092E-0002 2.49970432077818E-0002 2.49836518885635E-0002 2.49702473167174E-0002 + 2.49568295412570E-0002 2.49433986113722E-0002 2.49299545760420E-0002 2.49164974841767E-0002 2.49030273845163E-0002 + 2.48895443259975E-0002 2.48760483572229E-0002 2.48625395268284E-0002 2.48490178833812E-0002 2.48354834753591E-0002 + 2.48219363511094E-0002 2.48083765590741E-0002 2.47948041474624E-0002 2.47812191643325E-0002 2.47676216578979E-0002 + 2.47540116760576E-0002 2.47403892668659E-0002 2.47267544781233E-0002 2.47131073575198E-0002 2.46994479528392E-0002 + 2.46857763115499E-0002 2.46720924813164E-0002 2.46583965094259E-0002 2.46446884432800E-0002 2.46309683301483E-0002 + 2.46172362171072E-0002 2.46034921513473E-0002 2.45897361797630E-0002 2.45759683492396E-0002 2.45621887066326E-0002 + 2.45483972986654E-0002 2.45345941718673E-0002 2.45207793727581E-0002 2.45069529478890E-0002 2.44931149434939E-0002 + 2.44792654058176E-0002 2.44654043810332E-0002 2.44515319150987E-0002 2.44376480540855E-0002 2.44237528437673E-0002 + 2.44098463298253E-0002 2.43959285580333E-0002 2.43819995738261E-0002 2.43680594227306E-0002 2.43541081500578E-0002 + 2.43401458009230E-0002 2.43261724206364E-0002 2.43121880541478E-0002 2.42981927463755E-0002 2.42841865420624E-0002 + 2.42701694861047E-0002 2.42561416229761E-0002 2.42421029970978E-0002 2.42280536529618E-0002 2.42139936348018E-0002 + 2.41999229867780E-0002 2.41858417529981E-0002 2.41717499773517E-0002 2.41576477035932E-0002 2.41435349755267E-0002 + 2.41294118367796E-0002 2.41152783307197E-0002 2.41011345007852E-0002 2.40869803902780E-0002 2.40728160421786E-0002 + 2.40586414996815E-0002 2.40444568056182E-0002 2.40302620027249E-0002 2.40160571336835E-0002 2.40018422411014E-0002 + 2.39876173673457E-0002 2.39733825546673E-0002 2.39591378453657E-0002 2.39448832813967E-0002 2.39306189047441E-0002 + 2.39163447571302E-0002 2.39020608803669E-0002 2.38877673159426E-0002 2.38734641052904E-0002 2.38591512897262E-0002 + 2.38448289104276E-0002 2.38304970084757E-0002 2.38161556247510E-0002 2.38018048000576E-0002 2.37874445750818E-0002 + 2.37730749903919E-0002 2.37586960862310E-0002 2.37443079030965E-0002 2.37299104808915E-0002 2.37155038598559E-0002 + 2.37010880798004E-0002 2.36866631802929E-0002 2.36722292011341E-0002 2.36577861818196E-0002 2.36433341615395E-0002 + 2.36288731795301E-0002 2.36144032749707E-0002 2.35999244866102E-0002 2.35854368533887E-0002 2.35709404139194E-0002 + 2.35564352067369E-0002 2.35419212701316E-0002 2.35273986423980E-0002 2.35128673615652E-0002 2.34983274657287E-0002 + 2.34837789925522E-0002 2.34692219797655E-0002 2.34546564649361E-0002 2.34400824853655E-0002 2.34255000783584E-0002 + 2.34109092809117E-0002 2.33963101300879E-0002 2.33817026626619E-0002 2.33670869152039E-0002 2.33524629244117E-0002 + 2.33378307264460E-0002 2.33231903576985E-0002 2.33085418541688E-0002 2.32938852516720E-0002 2.32792205861501E-0002 + 2.32645478931943E-0002 2.32498672081897E-0002 2.32351785665548E-0002 2.32204820034084E-0002 2.32057775538295E-0002 + 2.31910652525659E-0002 2.31763451344607E-0002 2.31616172340775E-0002 2.31468815857315E-0002 2.31321382237285E-0002 + 2.31173871822614E-0002 2.31026284951697E-0002 2.30878621963147E-0002 2.30730883192358E-0002 2.30583068975144E-0002 + 2.30435179644620E-0002 2.30287215532653E-0002 2.30139176968714E-0002 2.29991064282072E-0002 2.29842877799178E-0002 + 2.29694617845547E-0002 2.29546284745442E-0002 2.29397878820409E-0002 2.29249400391261E-0002 2.29100849777242E-0002 + 2.28952227296025E-0002 2.28803533262666E-0002 2.28654767992212E-0002 2.28505931796152E-0002 2.28357024986172E-0002 + 2.28208047871651E-0002 2.28059000760282E-0002 2.27909883957445E-0002 2.27760697767775E-0002 2.27611442495366E-0002 + 2.27462118439175E-0002 2.27312725900544E-0002 2.27163265176508E-0002 2.27013736563452E-0002 2.26864140355126E-0002 + 2.26714476845989E-0002 2.26564746325137E-0002 2.26414949083841E-0002 2.26265085409155E-0002 2.26115155587376E-0002 + 2.25965159903092E-0002 2.25815098639295E-0002 2.25664972076113E-0002 2.25514780494692E-0002 2.25364524170798E-0002 + 2.25214203382155E-0002 2.25063818401943E-0002 2.24913369503515E-0002 2.24762856957458E-0002 2.24612281033166E-0002 + 2.24461641998106E-0002 2.24310940117498E-0002 2.24160175656309E-0002 2.24009348876210E-0002 2.23858460037880E-0002 + 2.23707509400796E-0002 2.23556497222080E-0002 2.23405423756072E-0002 2.23254289257798E-0002 2.23103093978345E-0002 + 2.22951838168432E-0002 2.22800522076308E-0002 2.22649145948485E-0002 2.22497710030577E-0002 2.22346214564777E-0002 + 2.22194659793534E-0002 2.22043045956293E-0002 2.21891373290754E-0002 2.21739642033188E-0002 2.21587852418223E-0002 + 2.21436004678424E-0002 2.21284099044500E-0002 2.21132135745619E-0002 2.20980115009407E-0002 2.20828037061523E-0002 + 2.20675902124925E-0002 2.20523710422392E-0002 2.20371462173996E-0002 2.20219157598469E-0002 2.20066796911730E-0002 + 2.19914380328670E-0002 2.19761908063575E-0002 2.19609380326434E-0002 2.19456797327474E-0002 2.19304159273989E-0002 + 2.19151466371927E-0002 2.18998718825462E-0002 2.18845916837311E-0002 2.18693060607467E-0002 2.18540150334250E-0002 + 2.18387186215575E-0002 2.18234168445465E-0002 2.18081097218275E-0002 2.17927972724675E-0002 2.17774795154396E-0002 + 2.17621564695489E-0002 2.17468281533691E-0002 2.17314945853792E-0002 2.17161557837421E-0002 2.17008117665367E-0002 + 2.16854625516622E-0002 2.16701081567965E-0002 2.16547485994693E-0002 2.16393838969672E-0002 2.16240140664392E-0002 + 2.16086391249071E-0002 2.15932590890750E-0002 2.15778739755300E-0002 2.15624838007846E-0002 2.15470885809591E-0002 + 2.15316883321939E-0002 2.15162830702579E-0002 2.15008728108980E-0002 2.14854575695947E-0002 2.14700373616686E-0002 + 2.14546122022268E-0002 2.14391821062479E-0002 2.14237470884225E-0002 2.14083071634288E-0002 2.13928623455827E-0002 + 2.13774126491343E-0002 2.13619580881092E-0002 2.13464986763181E-0002 2.13310344274743E-0002 2.13155653550019E-0002 + 2.13000914721525E-0002 2.12846127921644E-0002 2.12691293278592E-0002 2.12536410920129E-0002 2.12381480971011E-0002 + 2.12226503556175E-0002 2.12071478796379E-0002 2.11916406812245E-0002 2.11761287721592E-0002 2.11606121641355E-0002 + 2.11450908685561E-0002 2.11295648966388E-0002 2.11140342595232E-0002 2.10984989680999E-0002 2.10829590330641E-0002 + 2.10674144649361E-0002 2.10518652740509E-0002 2.10363114706219E-0002 2.10207530645065E-0002 2.10051900656318E-0002 + 2.09896224834832E-0002 2.09740503275945E-0002 2.09584736071108E-0002 2.09428923310866E-0002 2.09273065084432E-0002 + 2.09117161478406E-0002 2.08961212577520E-0002 2.08805218465700E-0002 2.08649179223085E-0002 2.08493094930284E-0002 + 2.08336965664327E-0002 2.08180791501221E-0002 2.08024572515096E-0002 2.07868308777351E-0002 2.07712000359318E-0002 + 2.07555647329166E-0002 2.07399249753182E-0002 2.07242807696197E-0002 2.07086321221582E-0002 2.06929790390605E-0002 + 2.06773215261796E-0002 2.06616595893714E-0002 2.06459932341318E-0002 2.06303224658208E-0002 2.06146472897372E-0002 + 2.05989677108300E-0002 2.05832837339867E-0002 2.05675953637980E-0002 2.05519026047608E-0002 2.05362054612568E-0002 + 2.05205039373062E-0002 2.05047980367924E-0002 2.04890877635685E-0002 2.04733731211685E-0002 2.04576541130213E-0002 + 2.04419307422471E-0002 2.04262030119461E-0002 2.04104709248880E-0002 2.03947344838226E-0002 2.03789936912009E-0002 + 2.03632485492930E-0002 2.03474990602627E-0002 2.03317452260606E-0002 2.03159870484344E-0002 2.03002245289931E-0002 + 2.02844576691425E-0002 2.02686864700426E-0002 2.02529109328639E-0002 2.02371310584024E-0002 2.02213468473679E-0002 + 2.02055583002774E-0002 2.01897654174975E-0002 2.01739681991371E-0002 2.01581666451973E-0002 2.01423607555503E-0002 + 2.01265505297238E-0002 2.01107359672558E-0002 2.00949170673724E-0002 2.00790938292017E-0002 2.00632662516562E-0002 + 2.00474343334863E-0002 2.00315980732800E-0002 2.00157574694088E-0002 1.99999125201679E-0002 1.99840632235070E-0002 + 1.99682095773416E-0002 1.99523515794247E-0002 1.99364892272166E-0002 1.99206225181008E-0002 1.99047514492541E-0002 + 1.98888760176899E-0002 1.98729962202688E-0002 1.98571120536121E-0002 1.98412235142419E-0002 1.98253305984193E-0002 + 1.98094333023489E-0002 1.97935316220066E-0002 1.97776255531714E-0002 1.97617150915331E-0002 1.97458002324769E-0002 + 1.97298809713310E-0002 1.97139573032585E-0002 1.96980292231823E-0002 1.96820967259138E-0002 1.96661598060021E-0002 + 1.96502184579818E-0002 1.96342726760820E-0002 1.96183224544629E-0002 1.96023677870330E-0002 1.95864086676099E-0002 + 1.95704450897809E-0002 1.95544770469884E-0002 1.95385045325411E-0002 1.95225275395380E-0002 1.95065460609440E-0002 + 1.94905600895359E-0002 1.94745696179343E-0002 1.94585746386038E-0002 1.94425751438853E-0002 1.94265711258552E-0002 + 1.94105625764444E-0002 1.93945494875351E-0002 1.93785318507666E-0002 1.93625096576104E-0002 1.93464828993813E-0002 + 1.93304515672693E-0002 1.93144156521883E-0002 1.92983751450790E-0002 1.92823300365948E-0002 1.92662803172208E-0002 + 1.92502259773926E-0002 1.92341670072908E-0002 1.92181033968949E-0002 1.92020351361670E-0002 1.91859622148139E-0002 + 1.91698846224273E-0002 1.91538023484627E-0002 1.91377153820758E-0002 1.91216237124808E-0002 1.91055273285925E-0002 + 1.90894262192426E-0002 1.90733203729956E-0002 1.90572097784414E-0002 1.90410944238807E-0002 1.90249742974767E-0002 + 1.90088493873091E-0002 1.89927196812551E-0002 1.89765851670321E-0002 1.89604458322523E-0002 1.89443016642595E-0002 + 1.89281526504657E-0002 1.89119987779059E-0002 1.88958400336394E-0002 1.88796764044571E-0002 1.88635078770653E-0002 + 1.88473344379883E-0002 1.88311560736770E-0002 1.88149727703129E-0002 1.87987845140363E-0002 1.87825912908052E-0002 + 1.87663930864708E-0002 1.87501898866473E-0002 1.87339816768530E-0002 1.87177684425646E-0002 1.87015501689345E-0002 + 1.86853268410949E-0002 1.86690984440165E-0002 1.86528649625194E-0002 1.86366263812618E-0002 1.86203826848164E-0002 + 1.86041338575612E-0002 1.85878798837341E-0002 1.85716207475306E-0002 1.85553564328749E-0002 1.85390869236490E-0002 + 1.85228122035341E-0002 1.85065322561307E-0002 1.84902470648930E-0002 1.84739566131344E-0002 1.84576608840052E-0002 + 1.84413598605476E-0002 1.84250535256733E-0002 1.84087418621857E-0002 1.83924248527028E-0002 1.83761024797179E-0002 + 1.83597747256805E-0002 1.83434415727842E-0002 1.83271030032173E-0002 1.83107589989004E-0002 1.82944095417325E-0002 + 1.82780546134760E-0002 1.82616941957295E-0002 1.82453282699764E-0002 1.82289568176073E-0002 1.82125798198210E-0002 + 1.81961972577723E-0002 1.81798091124189E-0002 1.81634153646686E-0002 1.81470159952101E-0002 1.81306109846932E-0002 + 1.81142003136684E-0002 1.80977839624339E-0002 1.80813619113473E-0002 1.80649341404754E-0002 1.80485006298838E-0002 + 1.80320613594623E-0002 1.80156163090225E-0002 1.79991654582386E-0002 1.79827087866682E-0002 1.79662462737583E-0002 + 1.79497778988065E-0002 1.79333036410929E-0002 1.79168234796549E-0002 1.79003373935558E-0002 1.78838453616274E-0002 + 1.78673473626338E-0002 1.78508433752610E-0002 1.78343333780998E-0002 1.78178173494871E-0002 1.78012952678733E-0002 + 1.77847671113611E-0002 1.77682328581941E-0002 1.77516924862954E-0002 1.77351459736577E-0002 1.77185932980246E-0002 + 1.77020344371097E-0002 1.76854693685152E-0002 1.76688980697308E-0002 1.76523205181780E-0002 1.76357366911225E-0002 + 1.76191465657722E-0002 1.76025501192341E-0002 1.75859473284749E-0002 1.75693381704371E-0002 1.75527226218625E-0002 + 1.75361006595234E-0002 1.75194722599859E-0002 1.75028373997857E-0002 1.74861960553185E-0002 1.74695482029606E-0002 + 1.74528938188981E-0002 1.74362328793090E-0002 1.74195653602085E-0002 1.74028912376090E-0002 1.73862104873436E-0002 + 1.73695230852422E-0002 1.73528290069610E-0002 1.73361282281419E-0002 1.73194207242860E-0002 1.73027064708469E-0002 + 1.72859854431649E-0002 1.72692576165382E-0002 1.72525229661238E-0002 1.72357814670315E-0002 1.72190330943232E-0002 + 1.72022778228976E-0002 1.71855156276386E-0002 1.71687464833275E-0002 1.71519703646812E-0002 1.71351872463357E-0002 + 1.71183971028241E-0002 1.71015999085929E-0002 1.70847956381180E-0002 1.70679842657059E-0002 1.70511657655766E-0002 + 1.70343401119514E-0002 1.70175072789046E-0002 1.70006672405339E-0002 1.69838199707675E-0002 1.69669654435128E-0002 + 1.69501036326183E-0002 1.69332345118396E-0002 1.69163580548679E-0002 1.68994742353512E-0002 1.68825830268895E-0002 + 1.68656844029290E-0002 1.68487783369728E-0002 1.68318648023594E-0002 1.68149437724174E-0002 1.67980152204325E-0002 + 1.67810791195753E-0002 1.67641354430180E-0002 1.67471841638062E-0002 1.67302252550037E-0002 1.67132586895424E-0002 + 1.66962844403996E-0002 1.66793024803766E-0002 1.66623127823202E-0002 1.66453153189561E-0002 1.66283100629947E-0002 + 1.66112969871196E-0002 1.65942760639268E-0002 1.65772472659524E-0002 1.65602105657168E-0002 1.65431659356747E-0002 + 1.65261133482599E-0002 1.65090527758237E-0002 1.64919841906739E-0002 1.64749075651360E-0002 1.64578228714200E-0002 + 1.64407300817531E-0002 1.64236291682360E-0002 1.64065201030534E-0002 1.63894028582355E-0002 1.63722774058410E-0002 + 1.63551437178962E-0002 1.63380017663281E-0002 1.63208515230980E-0002 1.63036929600735E-0002 1.62865260491897E-0002 + 1.62693507622324E-0002 1.62521670709771E-0002 1.62349749472557E-0002 1.62177743627895E-0002 1.62005652892563E-0002 + 1.61833476983957E-0002 1.61661215618536E-0002 1.61488868512544E-0002 1.61316435382175E-0002 1.61143915943243E-0002 + 1.60971309911514E-0002 1.60798617002481E-0002 1.60625836930868E-0002 1.60452969412462E-0002 1.60280014161610E-0002 + 1.60106970892891E-0002 1.59933839321167E-0002 1.59760619160476E-0002 1.59587310125139E-0002 1.59413911929428E-0002 + 1.59240424286791E-0002 1.59066846911293E-0002 1.58893179516673E-0002 1.58719421816401E-0002 1.58545573524231E-0002 + 1.58371634353146E-0002 1.58197604016917E-0002 1.58023482228486E-0002 1.57849268701474E-0002 1.57674963148841E-0002 + 1.57500565283832E-0002 1.57326074819702E-0002 1.57151491469437E-0002 1.56976814946140E-0002 1.56802044963317E-0002 + 1.56627181233754E-0002 1.56452223470976E-0002 1.56277171388122E-0002 1.56102024698511E-0002 1.55926783115360E-0002 + 1.55751446352452E-0002 1.55576014122855E-0002 1.55400486140710E-0002 1.55224862119216E-0002 1.55049141772926E-0002 + 1.54873324814948E-0002 1.54697410959969E-0002 1.54521399921789E-0002 1.54345291415119E-0002 1.54169085154620E-0002 + 1.53992780854634E-0002 1.53816378230463E-0002 1.53639876996863E-0002 1.53463276869385E-0002 1.53286577563819E-0002 + 1.53109778795180E-0002 1.52932880280237E-0002 1.52755881734648E-0002 1.52578782875320E-0002 1.52401583419060E-0002 + 1.52224283082692E-0002 1.52046881583387E-0002 1.51869378639175E-0002 1.51691773968155E-0002 1.51514067288051E-0002 + 1.51336258317891E-0002 1.51158346776438E-0002 1.50980332383091E-0002 1.50802214857713E-0002 1.50623993920015E-0002 + 1.50445669290513E-0002 1.50267240690413E-0002 1.50088707840434E-0002 1.49910070462437E-0002 1.49731328278637E-0002 + 1.49552481011608E-0002 1.49373528383885E-0002 1.49194470119541E-0002 1.49015305942107E-0002 1.48836035575921E-0002 + 1.48656658745907E-0002 1.48477175177905E-0002 1.48297584597276E-0002 1.48117886730581E-0002 1.47938081304911E-0002 + 1.47758168047943E-0002 1.47578146687489E-0002 1.47398016951948E-0002 1.47217778571209E-0002 1.47037431274619E-0002 + 1.46856974792681E-0002 1.46676408856595E-0002 1.46495733197647E-0002 1.46314947548781E-0002 1.46134051642068E-0002 + 1.45953045211916E-0002 1.45771927992143E-0002 1.45590699718002E-0002 1.45409360124722E-0002 1.45227908949024E-0002 + 1.45046345927493E-0002 1.44864670798267E-0002 1.44682883299964E-0002 1.44500983171462E-0002 1.44318970152855E-0002 + 1.44136843985343E-0002 1.43954604409877E-0002 1.43772251169020E-0002 1.43589784006051E-0002 1.43407202664790E-0002 + 1.43224506889939E-0002 1.43041696427425E-0002 1.42858771023208E-0002 1.42675730425041E-0002 1.42492574380656E-0002 + 1.42309302639746E-0002 1.42125914951703E-0002 1.41942411067599E-0002 1.41758790739226E-0002 1.41575053719095E-0002 + 1.41391199760774E-0002 1.41207228619236E-0002 1.41023140049437E-0002 1.40838933808187E-0002 1.40654609652965E-0002 + 1.40470167342087E-0002 1.40285606634988E-0002 1.40100927292453E-0002 1.39916129075428E-0002 1.39731211746888E-0002 + 1.39546175070366E-0002 1.39361018810182E-0002 1.39175742732289E-0002 1.38990346603430E-0002 1.38804830191248E-0002 + 1.38619193265027E-0002 1.38433435594895E-0002 1.38247556951488E-0002 1.38061557107820E-0002 1.37875435836907E-0002 + 1.37689192913716E-0002 1.37502828114039E-0002 1.37316341214747E-0002 1.37129731993816E-0002 1.36943000231186E-0002 + 1.36756145706826E-0002 1.36569168203262E-0002 1.36382067503027E-0002 1.36194843390731E-0002 1.36007495651727E-0002 + 1.35820024073223E-0002 1.35632428442945E-0002 1.35444708550644E-0002 1.35256864186934E-0002 1.35068895143830E-0002 + 1.34880801214667E-0002 1.34692582194439E-0002 1.34504237878778E-0002 1.34315768065636E-0002 1.34127172553486E-0002 + 1.33938451142499E-0002 1.33749603634452E-0002 1.33560629832137E-0002 1.33371529540211E-0002 1.33182302564233E-0002 + 1.32992948711577E-0002 1.32803467791257E-0002 1.32613859613334E-0002 1.32424123989033E-0002 1.32234260732076E-0002 + 1.32044269656811E-0002 1.31854150579518E-0002 1.31663903318041E-0002 1.31473527691278E-0002 1.31283023520207E-0002 + 1.31092390627203E-0002 1.30901628835696E-0002 1.30710737971687E-0002 1.30519717861890E-0002 1.30328568335137E-0002 + 1.30137289221575E-0002 1.29945880353212E-0002 1.29754341563177E-0002 1.29562672687118E-0002 1.29370873561434E-0002 + 1.29178944024818E-0002 1.28986883917431E-0002 1.28794693080815E-0002 1.28602371358868E-0002 1.28409918596761E-0002 + 1.28217334641419E-0002 1.28024619341443E-0002 1.27831772547366E-0002 1.27638794111538E-0002 1.27445683887732E-0002 + 1.27252441731740E-0002 1.27059067501092E-0002 1.26865561055171E-0002 1.26671922255272E-0002 1.26478150964143E-0002 + 1.26284247046505E-0002 1.26090210369509E-0002 1.25896040801136E-0002 1.25701738211999E-0002 1.25507302474375E-0002 + 1.25312733462404E-0002 1.25118031052061E-0002 1.24923195121390E-0002 1.24728225550130E-0002 1.24533122220434E-0002 + 1.24337885015752E-0002 1.24142513821694E-0002 1.23947008526486E-0002 1.23751369019316E-0002 1.23555595191989E-0002 + 1.23359686938105E-0002 1.23163644153544E-0002 1.22967466735894E-0002 1.22771154584711E-0002 1.22574707601867E-0002 + 1.22378125691146E-0002 1.22181408758648E-0002 1.21984556712134E-0002 1.21787569461741E-0002 1.21590446919583E-0002 + 1.21393189000069E-0002 1.21195795619244E-0002 1.20998266696023E-0002 1.20800602150732E-0002 1.20602801906599E-0002 + 1.20404865888094E-0002 1.20206794022734E-0002 1.20008586239769E-0002 1.19810242470729E-0002 1.19611762649276E-0002 + 1.19413146711500E-0002 1.19214394595487E-0002 1.19015506241691E-0002 1.18816481592827E-0002 1.18617320593895E-0002 + 1.18418023192043E-0002 1.18218589336680E-0002 1.18019018979738E-0002 1.17819312075242E-0002 1.17619468579687E-0002 + 1.17419488451692E-0002 1.17219371652318E-0002 1.17019118145132E-0002 1.16818727895712E-0002 1.16618200872346E-0002 + 1.16417537045542E-0002 1.16216736388141E-0002 1.16015798875327E-0002 1.15814724485053E-0002 1.15613513197412E-0002 + 1.15412164994929E-0002 1.15210679862414E-0002 1.15009057787718E-0002 1.14807298760374E-0002 1.14605402773018E-0002 + 1.14403369820522E-0002 1.14201199900082E-0002 1.13998893011711E-0002 1.13796449157607E-0002 1.13593868342817E-0002 + 1.13391150574864E-0002 1.13188295863575E-0002 1.12985304221576E-0002 1.12782175663916E-0002 1.12578910208184E-0002 + 1.12375507874773E-0002 1.12171968686446E-0002 1.11968292668716E-0002 1.11764479849673E-0002 1.11560530259927E-0002 + 1.11356443932959E-0002 1.11152220904544E-0002 1.10947861213444E-0002 1.10743364900807E-0002 1.10538732010745E-0002 + 1.10333962589958E-0002 1.10129056687566E-0002 1.09924014355834E-0002 1.09718835649474E-0002 1.09513520625886E-0002 + 1.09308069345414E-0002 1.09102481871004E-0002 1.08896758268265E-0002 1.08690898605697E-0002 1.08484902954671E-0002 + 1.08278771389164E-0002 1.08072503985939E-0002 1.07866100824748E-0002 1.07659561987930E-0002 1.07452887560784E-0002 + 1.07246077631319E-0002 1.07039132290595E-0002 1.06832051632270E-0002 1.06624835753086E-0002 1.06417484752440E-0002 + 1.06209998732738E-0002 1.06002377799360E-0002 1.05794622060146E-0002 1.05586731626613E-0002 1.05378706612392E-0002 + 1.05170547134537E-0002 1.04962253312914E-0002 1.04753825270147E-0002 1.04545263132114E-0002 1.04336567027396E-0002 + 1.04127737087688E-0002 1.03918773447740E-0002 1.03709676244924E-0002 1.03500445619935E-0002 1.03291081716560E-0002 + 1.03081584681387E-0002 1.02871954663956E-0002 1.02662191816961E-0002 1.02452296296170E-0002 1.02242268260304E-0002 + 1.02032107871480E-0002 1.01821815294253E-0002 1.01611390696750E-0002 1.01400834250006E-0002 1.01190146128196E-0002 + 1.00979326508522E-0002 1.00768375571334E-0002 1.00557293500302E-0002 1.00346080481750E-0002 1.00134736705682E-0002 + 9.99232623647283E-0003 9.97116576552005E-0003 9.94999227760448E-0003 9.92880579297171E-0003 9.90760633219234E-0003 + 9.88639391611263E-0003 9.86516856593340E-0003 9.84393030317242E-0003 9.82267914965286E-0003 9.80141512755609E-0003 + 9.78013825931097E-0003 9.75884856777212E-0003 9.73754607601581E-0003 9.71623080751530E-0003 9.69490278604474E-0003 + 9.67356203569694E-0003 9.65220858091271E-0003 9.63084244643734E-0003 9.60946365735583E-0003 9.58807223909605E-0003 + 9.56666821739098E-0003 9.54525161831690E-0003 9.52382246827902E-0003 9.50238079403212E-0003 9.48092662264284E-0003 + 9.45945998150736E-0003 9.43798089838093E-0003 9.41648940132835E-0003 9.39498551877682E-0003 9.37346927948403E-0003 + 9.35194071251202E-0003 9.33039984730347E-0003 9.30884671362636E-0003 9.28728134159175E-0003 9.26570376163348E-0003 + 9.24411400454354E-0003 9.22251210145182E-0003 9.20089808382340E-0003 9.17927198347632E-0003 9.15763383258770E-0003 + 9.13598366362952E-0003 9.11432150947134E-0003 9.09264740330147E-0003 9.07096137865942E-0003 9.04926346943904E-0003 + 9.02755370987116E-0003 9.00583213454144E-0003 8.98409877838178E-0003 8.96235367668519E-0003 8.94059686507675E-0003 + 8.91882837954311E-0003 8.89704825642102E-0003 8.87525653239168E-0003 8.85345324451326E-0003 8.83163843016830E-0003 + 8.80981212710503E-0003 8.78797437343464E-0003 8.76612520761397E-0003 8.74426466845445E-0003 8.72239279512831E-0003 + 8.70050962717166E-0003 8.67861520445540E-0003 8.65670956723539E-0003 8.63479275610857E-0003 8.61286481204265E-0003 + 8.59092577635129E-0003 8.56897569071201E-0003 8.54701459717820E-0003 8.52504253814693E-0003 8.50305955639902E-0003 + 8.48106569504176E-0003 8.45906099756957E-0003 8.43704550785096E-0003 8.41501927008018E-0003 8.39298232885843E-0003 + 8.37093472914112E-0003 8.34887651621744E-0003 8.32680773577984E-0003 8.30472843386386E-0003 8.28263865689703E-0003 + 8.26053845164894E-0003 8.23842786526394E-0003 8.21630694527022E-0003 8.19417573953137E-0003 8.17203429631446E-0003 + 8.14988266422835E-0003 8.12772089227552E-0003 8.10554902982432E-0003 8.08336712658703E-0003 8.06117523269685E-0003 + 8.03897339858863E-0003 8.01676167515105E-0003 7.99454011358082E-0003 7.97230876548027E-0003 7.95006768279858E-0003 + 7.92781691790140E-0003 7.90555652346032E-0003 7.88328655260822E-0003 7.86100705878880E-0003 7.83871809582923E-0003 + 7.81641971793006E-0003 7.79411197972008E-0003 7.77179493612215E-0003 7.74946864248491E-0003 7.72713315453574E-0003 + 7.70478852836923E-0003 7.68243482043844E-0003 7.66007208758331E-0003 7.63770038705306E-0003 7.61531977643693E-0003 + 7.59293031371911E-0003 7.57053205723612E-0003 7.54812506574951E-0003 7.52570939838398E-0003 7.50328511460690E-0003 + 7.48085227430695E-0003 7.45841093773965E-0003 7.43596116554384E-0003 7.41350301872564E-0003 7.39103655867203E-0003 + 7.36856184718218E-0003 7.34607894639659E-0003 7.32358791885067E-0003 7.30108882747200E-0003 7.27858173554796E-0003 + 7.25606670677491E-0003 7.23354380519912E-0003 7.21101309526887E-0003 7.18847464181992E-0003 7.16592851004750E-0003 + 7.14337476554370E-0003 7.12081347428724E-0003 7.09824470264086E-0003 7.07566851731729E-0003 7.05308498544786E-0003 + 7.03049417454411E-0003 7.00789615247871E-0003 6.98529098752582E-0003 6.96267874833308E-0003 6.94005950394268E-0003 + 6.91743332375443E-0003 6.89480027758393E-0003 6.87216043560192E-0003 6.84951386839245E-0003 6.82686064688624E-0003 + 6.80420084242483E-0003 6.78153452671771E-0003 6.75886177187080E-0003 6.73618265036291E-0003 6.71349723505042E-0003 + 6.69080559920171E-0003 6.66810781643496E-0003 6.64540396074960E-0003 6.62269410656671E-0003 6.59997832866084E-0003 + 6.57725670218551E-0003 6.55452930270172E-0003 6.53179620611570E-0003 6.50905748876101E-0003 6.48631322731238E-0003 + 6.46356349886790E-0003 6.44080838086434E-0003 6.41804795114140E-0003 6.39528228793157E-0003 6.37251146984991E-0003 + 6.34973557585999E-0003 6.32695468534418E-0003 6.30416887804131E-0003 6.28137823408112E-0003 6.25858283398457E-0003 + 6.23578275864164E-0003 6.21297808931607E-0003 6.19016890766199E-0003 6.16735529572564E-0003 6.14453733590379E-0003 + 6.12171511100076E-0003 6.09888870418229E-0003 6.07605819899970E-0003 6.05322367938861E-0003 6.03038522965725E-0003 + 6.00754293448663E-0003 5.98469687894428E-0003 5.96184714849040E-0003 5.93899382892283E-0003 5.91613700644449E-0003 + 5.89327676764125E-0003 5.87041319945668E-0003 5.84754638921323E-0003 5.82467642462591E-0003 5.80180339376365E-0003 + 5.77892738509138E-0003 5.75604848742388E-0003 5.73316678997240E-0003 5.71028238231194E-0003 5.68739535439946E-0003 + 5.66450579654713E-0003 5.64161379944953E-0003 5.61871945418682E-0003 5.59582285219506E-0003 5.57292408527089E-0003 + 5.55002324560622E-0003 5.52712042575396E-0003 5.50421571864028E-0003 5.48130921754981E-0003 5.45840101614082E-0003 + 5.43549120844549E-0003 5.41257988884760E-0003 5.38966715211725E-0003 5.36675309339007E-0003 5.34383780816145E-0003 + 5.32092139227325E-0003 5.29800394197399E-0003 5.27508555383811E-0003 5.25216632482765E-0003 5.22924635225795E-0003 + 5.20632573380689E-0003 5.18340456751208E-0003 5.16048295178011E-0003 5.13756098537020E-0003 5.11463876740192E-0003 + 5.09171639736747E-0003 5.06879397509577E-0003 5.04587160079627E-0003 5.02294937500357E-0003 5.00002739864822E-0003 + 4.97710577299084E-0003 4.95418459964933E-0003 4.93126398060363E-0003 4.90834401818390E-0003 4.88542481506014E-0003 + 4.86250647428004E-0003 4.83958909922555E-0003 4.81667279362210E-0003 4.79375766155838E-0003 4.77084380746844E-0003 + 4.74793133613344E-0003 4.72502035268484E-0003 4.70211096256995E-0003 4.67920327163499E-0003 4.65629738603487E-0003 + 4.63339341227413E-0003 4.61049145719347E-0003 4.58759162799416E-0003 4.56469403219445E-0003 4.54179877766901E-0003 + 4.51890597262496E-0003 4.49601572560960E-0003 4.47312814550612E-0003 4.45024334153375E-0003 4.42736142324193E-0003 + 4.40448250051650E-0003 4.38160668357996E-0003 4.35873408297951E-0003 4.33586480960537E-0003 4.31299897465778E-0003 + 4.29013668968341E-0003 4.26727806654831E-0003 4.24442321743668E-0003 4.22157225488265E-0003 4.19872529171620E-0003 + 4.17588244110255E-0003 4.15304381653779E-0003 4.13020953182796E-0003 4.10737970109373E-0003 4.08455443878417E-0003 + 4.06173385965880E-0003 4.03891807879985E-0003 4.01610721160490E-0003 3.99330137376885E-0003 3.97050068131592E-0003 + 3.94770525057705E-0003 3.92491519819319E-0003 3.90213064110178E-0003 3.87935169657022E-0003 3.85657848214611E-0003 + 3.83381111570737E-0003 3.81104971541696E-0003 3.78829439973974E-0003 3.76554528744863E-0003 3.74280249761120E-0003 + 3.72006614960040E-0003 3.69733636307807E-0003 3.67461325799206E-0003 3.65189695460214E-0003 3.62918757345744E-0003 + 3.60648523537841E-0003 3.58379006149789E-0003 3.56110217322340E-0003 3.53842169224330E-0003 3.51574874055125E-0003 + 3.49308344041144E-0003 3.47042591435879E-0003 3.44777628522937E-0003 3.42513467612116E-0003 3.40250121041692E-0003 + 3.37987601177371E-0003 3.35725920412914E-0003 3.33465091167184E-0003 3.31205125888497E-0003 3.28946037050980E-0003 + 3.26687837154975E-0003 3.24430538728261E-0003 3.22174154324626E-0003 3.19918696524111E-0003 3.17664177932714E-0003 + 3.15410611182485E-0003 3.13158008931308E-0003 3.10906383862534E-0003 3.08655748683777E-0003 3.06406116129437E-0003 + 3.04157498958051E-0003 3.01909909953065E-0003 2.99663361922922E-0003 2.97417867700621E-0003 2.95173440141594E-0003 + 2.92930092127983E-0003 2.90687836564310E-0003 2.88446686378864E-0003 2.86206654523173E-0003 2.83967753973620E-0003 + 2.81729997727950E-0003 2.79493398807867E-0003 2.77257970257527E-0003 2.75023725143087E-0003 2.72790676553786E-0003 + 2.70558837601190E-0003 2.68328221417300E-0003 2.66098841157230E-0003 2.63870709997460E-0003 2.61643841135548E-0003 + 2.59418247789750E-0003 2.57193943200485E-0003 2.54970940627217E-0003 2.52749253351282E-0003 2.50528894673079E-0003 + 2.48309877913148E-0003 2.46092216413700E-0003 2.43875923533974E-0003 2.41661012654749E-0003 2.39447497173772E-0003 + 2.37235390509658E-0003 2.35024706099077E-0003 2.32815457396756E-0003 2.30607657876256E-0003 2.28401321029139E-0003 + 2.26196460363443E-0003 2.23993089408048E-0003 2.21791221704281E-0003 2.19590870814778E-0003 2.17392050317387E-0003 + 2.15194773807081E-0003 2.12999054893209E-0003 2.10804907204862E-0003 2.08612344383150E-0003 2.06421380087327E-0003 + 2.04232027991588E-0003 2.02044301784840E-0003 1.99858215171094E-0003 1.97673781868705E-0003 1.95491015610985E-0003 + 1.93309930144529E-0003 1.91130539230290E-0003 1.88952856643123E-0003 1.86776896171562E-0003 1.84602671615295E-0003 + 1.82430196789305E-0003 1.80259485518281E-0003 1.78090551642753E-0003 1.75923409012656E-0003 1.73758071489867E-0003 + 1.71594552948662E-0003 1.69432867274037E-0003 1.67273028361940E-0003 1.65115050119120E-0003 1.62958946462515E-0003 + 1.60804731318718E-0003 1.58652418625514E-0003 1.56502022328736E-0003 1.54353556383879E-0003 1.52207034755254E-0003 + 1.50062471416684E-0003 1.47919880349584E-0003 1.45779275543115E-0003 1.43640670995186E-0003 1.41504080709994E-0003 + 1.39369518700021E-0003 1.37236998984348E-0003 1.35106535587805E-0003 1.32978142542282E-0003 1.30851833885802E-0003 + 1.28727623662061E-0003 1.26605525919198E-0003 1.24485554710562E-0003 1.22367724095557E-0003 1.20252048136639E-0003 + 1.18138540900012E-0003 1.16027216457696E-0003 1.13918088882760E-0003 1.11811172252783E-0003 1.09706480647767E-0003 + 1.07604028151144E-0003 1.05503828846688E-0003 1.03405896821360E-0003 1.01310246162845E-0003 9.92168909606998E-0004 + 9.71258453046569E-0004 9.50371232858519E-0004 9.29507389941238E-0004 9.08667065203210E-0004 8.87850399546018E-0004 + 8.67057533854282E-0004 8.46288609011784E-0004 8.25543765875213E-0004 8.04823145292606E-0004 7.84126888081708E-0004 + 7.63455135035301E-0004 7.42808026924231E-0004 7.22185704474979E-0004 7.01588308381154E-0004 6.81015979284142E-0004 + 6.60468857816236E-0004 6.39947084523410E-0004 6.19450799913846E-0004 5.98980144453999E-0004 5.78535258522205E-0004 + 5.58116282463402E-0004 5.37723356537315E-0004 5.17356620936129E-0004 4.97016215789798E-0004 4.76702281138151E-0004 + 4.56414956938512E-0004 4.36154383074104E-0004 4.15920699327678E-0004 3.95714045389900E-0004 3.75534560860798E-0004 + 3.55382385234962E-0004 3.35257657905300E-0004 3.15160518143591E-0004 2.95091105125885E-0004 2.75049557896810E-0004 + 2.55036015389561E-0004 2.35050616409527E-0004 2.15093499627202E-0004 1.95164803586565E-0004 1.75264666692566E-0004 + 1.55393227202476E-0004 1.35550623241231E-0004 1.15736992773420E-0004 9.59524736062412E-0005 7.61972033970919E-0005 + 5.64713196387132E-0005 3.67749596567111E-0005 1.71082606047544E-0005 -2.52864054565762E-0006 -2.21356069852039E-0005 +-4.17125021079796E-0005 -6.12591894853108E-0005 -8.07755328829737E-0005 -1.00261396270672E-0004 -1.19716643805149E-0004 +-1.39141139866039E-0004 -1.58534749032778E-0004 -1.77897336106506E-0004 -1.97228766100943E-0004 -2.16528904259645E-0004 +-2.35797616056196E-0004 -2.55034767186641E-0004 -2.74240223601505E-0004 -2.93413851481933E-0004 -3.12555517256963E-0004 +-3.31665087615390E-0004 -3.50742429489657E-0004 -3.69787410089470E-0004 -3.88799896877153E-0004 -4.07779757586508E-0004 +-4.26726860244020E-0004 -4.45641073132555E-0004 -4.64522264838215E-0004 -4.83370304222585E-0004 -5.02185060455621E-0004 +-5.20966403004219E-0004 -5.39714201629345E-0004 -5.58428326412716E-0004 -5.77108647748492E-0004 -5.95755036348969E-0004 +-6.14367363247939E-0004 -6.32945499816508E-0004 -6.51489317754018E-0004 -6.69998689102312E-0004 -6.88473486246001E-0004 +-7.06913581925186E-0004 -7.25318849227162E-0004 -7.43689161601487E-0004 -7.62024392870386E-0004 -7.80324417219682E-0004 +-7.98589109209203E-0004 -8.16818343787877E-0004 -8.35011996283107E-0004 -8.53169942422891E-0004 -8.71292058323640E-0004 +-8.89378220507633E-0004 -9.07428305908775E-0004 -9.25442191864323E-0004 -9.43419756144055E-0004 -9.61360876930300E-0004 +-9.79265432836976E-0004 -9.97133302919271E-0004 -1.01496436666850E-0003 -1.03275850401713E-0003 -1.05051559535939E-0003 +-1.06823552154221E-0003 -1.08591816387303E-0003 -1.10356340413298E-0003 -1.12117112457138E-0003 -1.13874120792367E-0003 +-1.15627353740587E-0003 -1.17376799672865E-0003 -1.19122447009881E-0003 -1.20864284222711E-0003 -1.22602299832821E-0003 +-1.24336482413747E-0003 -1.26066820590858E-0003 -1.27793303042645E-0003 -1.29515918499389E-0003 -1.31234655746172E-0003 +-1.32949503623423E-0003 -1.34660451024457E-0003 -1.36367486900204E-0003 -1.38070600256552E-0003 -1.39769780156851E-0003 +-1.41465015721172E-0003 -1.43156296128851E-0003 -1.44843610616612E-0003 -1.46526948481077E-0003 -1.48206299079121E-0003 +-1.49881651827204E-0003 -1.51552996203695E-0003 -1.53220321748632E-0003 -1.54883618063848E-0003 -1.56542874814541E-0003 +-1.58198081730417E-0003 -1.59849228604403E-0003 -1.61496305294882E-0003 -1.63139301725392E-0003 -1.64778207885959E-0003 +-1.66413013833621E-0003 -1.68043709693172E-0003 -1.69670285656630E-0003 -1.71292731985863E-0003 -1.72911039011899E-0003 +-1.74525197135404E-0003 -1.76135196829005E-0003 -1.77741028635690E-0003 -1.79342683171176E-0003 -1.80940151123602E-0003 +-1.82533423255311E-0003 -1.84122490402384E-0003 -1.85707343475287E-0003 -1.87287973461038E-0003 -1.88864371422120E-0003 +-1.90436528498107E-0003 -1.92004435906779E-0003 -1.93568084943028E-0003 -1.95127466981159E-0003 -1.96682573476161E-0003 +-1.98233395962224E-0003 -1.99779926055353E-0003 -2.01322155452323E-0003 -2.02860075934190E-0003 -2.04393679363287E-0003 +-2.05922957687244E-0003 -2.07447902938110E-0003 -2.08968507232521E-0003 -2.10484762774438E-0003 -2.11996661853234E-0003 +-2.13504196847613E-0003 -2.15007360222557E-0003 -2.16506144534034E-0003 -2.18000542426217E-0003 -2.19490546634546E-0003 +-2.20976149985858E-0003 -2.22457345398258E-0003 -2.23934125882873E-0003 -2.25406484545252E-0003 -2.26874414583736E-0003 +-2.28337909292438E-0003 -2.29796962061223E-0003 -2.31251566376449E-0003 -2.32701715821775E-0003 -2.34147404079058E-0003 +-2.35588624928020E-0003 -2.37025372249430E-0003 -2.38457640023754E-0003 -2.39885422332521E-0003 -2.41308713359336E-0003 +-2.42727507390501E-0003 -2.44141798816190E-0003 -2.45551582130592E-0003 -2.46956851932500E-0003 -2.48357602927583E-0003 +-2.49753829927871E-0003 -2.51145527852612E-0003 -2.52532691729488E-0003 -2.53915316695832E-0003 -2.55293397998189E-0003 +-2.56666930994399E-0003 -2.58035911153674E-0003 -2.59400334057655E-0003 -2.60760195401083E-0003 -2.62115490992623E-0003 +-2.63466216756638E-0003 -2.64812368732432E-0003 -2.66153943076309E-0003 -2.67490936061525E-0003 -2.68823344079592E-0003 +-2.70151163641982E-0003 -2.71474391379048E-0003 -2.72793024042250E-0003 -2.74107058505295E-0003 -2.75416491763742E-0003 +-2.76721320936431E-0003 -2.78021543266907E-0003 -2.79317156123777E-0003 -2.80608157001071E-0003 -2.81894543520105E-0003 +-2.83176313430158E-0003 -2.84453464608514E-0003 -2.85725995062605E-0003 -2.86993902929584E-0003 -2.88257186478307E-0003 +-2.89515844109181E-0003 -2.90769874356830E-0003 -2.92019275888708E-0003 -2.93264047507688E-0003 -2.94504188151950E-0003 +-2.95739696897287E-0003 -2.96970572955928E-0003 -2.98196815679202E-0003 -2.99418424557905E-0003 -3.00635399222987E-0003 +-3.01847739446117E-0003 -3.03055445142830E-0003 -3.04258516369720E-0003 -3.05456953328743E-0003 -3.06650756366592E-0003 +-3.07839925975621E-0003 -3.09024462795378E-0003 -3.10204367613165E-0003 -3.11379641364535E-0003 -3.12550285135813E-0003 +-3.13716300162913E-0003 -3.14877687834104E-0003 -3.16034449689986E-0003 -3.17186587425252E-0003 -3.18334102888117E-0003 +-3.19476998083315E-0003 -3.20615275171365E-0003 -3.21748936470576E-0003 -3.22877984457869E-0003 -3.24002421769668E-0003 +-3.25122251202205E-0003 -3.26237475713486E-0003 -3.27348098424356E-0003 -3.28454122618955E-0003 -3.29555551745181E-0003 +-3.30652389417345E-0003 -3.31744639415117E-0003 -3.32832305686660E-0003 -3.33915392348418E-0003 -3.34993903685499E-0003 +-3.36067844154614E-0003 -3.37137218383584E-0003 -3.38202031172687E-0003 -3.39262287496038E-0003 -3.40317992502258E-0003 +-3.41369151516103E-0003 -3.42415770038249E-0003 -3.43457853748121E-0003 -3.44495408502962E-0003 -3.45528440341103E-0003 +-3.46556955480674E-0003 -3.47580960322674E-0003 -3.48600461450723E-0003 -3.49615465632577E-0003 -3.50625979822237E-0003 +-3.51632011158228E-0003 -3.52633566968071E-0003 -3.53630654766958E-0003 -3.54623282259792E-0003 -3.55611457341859E-0003 +-3.56595188100870E-0003 -3.57574482816638E-0003 -3.58549349963635E-0003 -3.59519798210877E-0003 -3.60485836423242E-0003 +-3.61447473663830E-0003 -3.62404719193488E-0003 -3.63357582472451E-0003 -3.64306073161990E-0003 -3.65250201124850E-0003 +-3.66189976426741E-0003 -3.67125409337502E-0003 -3.68056510331987E-0003 -3.68983290091394E-0003 -3.69905759504274E-0003 +-3.70823929667959E-0003 -3.71737811889133E-0003 -3.72647417685781E-0003 -3.73552758788104E-0003 -3.74453847138747E-0003 +-3.75350694895477E-0003 -3.76243314431213E-0003 -3.77131718335824E-0003 -3.78015919416980E-0003 -3.78895930701294E-0003 +-3.79771765436057E-0003 -3.80643437089855E-0003 -3.81510959353526E-0003 -3.82374346142086E-0003 -3.83233611595944E-0003 +-3.84088770081426E-0003 -3.84939836191832E-0003 -3.85786824750028E-0003 -3.86629750808082E-0003 -3.87468629649814E-0003 +-3.88303476790774E-0003 -3.89134307980379E-0003 -3.89961139202628E-0003 -3.90783986677923E-0003 -3.91602866863544E-0003 +-3.92417796455249E-0003 -3.93228792389104E-0003 -3.94035871841625E-0003 -3.94839052231742E-0003 -3.95638351221562E-0003 +-3.96433786719134E-0003 -3.97225376876830E-0003 -3.98013140095653E-0003 -3.98797095024728E-0003 -3.99577260562937E-0003 +-4.00353655860383E-0003 -4.01126300319846E-0003 -4.01895213597443E-0003 -4.02660415604508E-0003 -4.03421926508457E-0003 +-4.04179766734869E-0003 -4.04933956967446E-0003 -4.05684518150503E-0003 -4.06431471490052E-0003 -4.07174838454747E-0003 +-4.07914640777269E-0003 -4.08650900455979E-0003 -4.09383639756165E-0003 -4.10112881211009E-0003 -4.10838647623262E-0003 +-4.11560962066554E-0003 -4.12279847886786E-0003 -4.12995328702983E-0003 -4.13707428409532E-0003 -4.14416171176631E-0003 +-4.15121581452395E-0003 -4.15823683963844E-0003 -4.16522503717984E-0003 -4.17218066003969E-0003 -4.17910396393878E-0003 +-4.18599520743895E-0003 -4.19285465196577E-0003 -4.19968256181391E-0003 -4.20647920416539E-0003 -4.21324484910225E-0003 +-4.21997976961936E-0003 -4.22668424164480E-0003 -4.23335854404054E-0003 -4.24000295863356E-0003 -4.24661777021434E-0003 +-4.25320326656615E-0003 -4.25975973846196E-0003 -4.26628747969860E-0003 -4.27278678709208E-0003 -4.27925796050487E-0003 +-4.28570130285503E-0003 -4.29211712013495E-0003 -4.29850572141489E-0003 -4.30486741887388E-0003 -4.31120252780264E-0003 +-4.31751136661913E-0003 -4.32379425688828E-0003 -4.33005152333276E-0003 -4.33628349385040E-0003 -4.34249049952364E-0003 +-4.34867287464263E-0003 -4.35483095671546E-0003 -4.36096508648062E-0003 -4.36707560792673E-0003 -4.37316286830398E-0003 +-4.37922721814492E-0003 -4.38526901127028E-0003 -4.39128860481459E-0003 -4.39728635923083E-0003 -4.40326263831484E-0003 +-4.40921780921669E-0003 -4.41515224175059E-0003 -4.42106630419365E-0003 -4.42696036066209E-0003 -4.43283477101928E-0003 +-4.43868989090704E-0003 -4.44452607175744E-0003 -4.45034366082146E-0003 -4.45614300119811E-0003 -4.46192443184731E-0003 +-4.46768828762167E-0003 -4.47343489928003E-0003 -4.47916459352818E-0003 -4.48487769301886E-0003 -4.49057451639641E-0003 +-4.49625537830488E-0003 -4.50192058941729E-0003 -4.50757045645944E-0003 -4.51320528222602E-0003 -4.51882536561274E-0003 +-4.52443100163167E-0003 -4.53002248143716E-0003 -4.53560009234851E-0003 -4.54116411786734E-0003 -4.54671483770931E-0003 +-4.55225252781747E-0003 -4.55777746038844E-0003 -4.56328990389766E-0003 -4.56879012311016E-0003 -4.57427837911985E-0003 +-4.57975492935564E-0003 -4.58522002761081E-0003 -4.59067392406752E-0003 -4.59611686530885E-0003 -4.60154909435052E-0003 +-4.60697085065540E-0003 -4.61238237016216E-0003 -4.61778388529847E-0003 -4.62317562500680E-0003 -4.62855781476782E-0003 +-4.63393067661529E-0003 -4.63929442916797E-0003 -4.64464928763626E-0003 -4.64999546385556E-0003 -4.65533316630271E-0003 +-4.66066260011369E-0003 -4.66598396710926E-0003 -4.67129746581603E-0003 -4.67660329148305E-0003 -4.68190163610563E-0003 +-4.68719268844443E-0003 -4.69247663404641E-0003 -4.69775365526806E-0003 -4.70302393128699E-0003 -4.70828763813457E-0003 +-4.71354494870700E-0003 -4.71879603279098E-0003 -4.72404105707867E-0003 -4.72928018519145E-0003 -4.73451357769791E-0003 +-4.73974139213557E-0003 -4.74496378303349E-0003 -4.75018090192127E-0003 -4.75539289736114E-0003 -4.76059991496188E-0003 +-4.76580209739662E-0003 -4.77099958443096E-0003 -4.77619251292681E-0003 -4.78138101687715E-0003 -4.78656522742195E-0003 +-4.79174527285842E-0003 -4.79692127867003E-0003 -4.80209336754481E-0003 -4.80726165938801E-0003 -4.81242627134697E-0003 +-4.81758731782509E-0003 -4.82274491051074E-0003 -4.82789915838272E-0003 -4.83305016773759E-0003 -4.83819804220861E-0003 +-4.84334288277673E-0003 -4.84848478780087E-0003 -4.85362385302278E-0003 -4.85876017159852E-0003 -4.86389383411008E-0003 +-4.86902492858009E-0003 -4.87415354050276E-0003 -4.87927975284414E-0003 -4.88440364607667E-0003 -4.88952529819173E-0003 +-4.89464478470904E-0003 -4.89976217870972E-0003 -4.90487755084193E-0003 -4.90999096934497E-0003 -4.91510250006442E-0003 +-4.92021220647120E-0003 -4.92532014967939E-0003 -4.93042638846292E-0003 -4.93553097926957E-0003 -4.94063397624776E-0003 +-4.94573543125444E-0003 -4.95083539387755E-0003 -4.95593391145066E-0003 -4.96103102907297E-0003 -4.96612678962429E-0003 +-4.97122123378311E-0003 -4.97631440004091E-0003 -4.98140632472629E-0003 -4.98649704200914E-0003 -4.99158658393482E-0003 +-4.99667498042169E-0003 -5.00176225929565E-0003 -5.00684844629395E-0003 -5.01193356508712E-0003 -5.01701763729524E-0003 +-5.02210068250548E-0003 -5.02718271828366E-0003 -5.03226376019705E-0003 -5.03734382182527E-0003 -5.04242291477982E-0003 +-5.04750104871980E-0003 -5.05257823136470E-0003 -5.05765446851594E-0003 -5.06272976407006E-0003 -5.06780412003112E-0003 +-5.07287753653340E-0003 -5.07795001185279E-0003 -5.08302154242575E-0003 -5.08809212285747E-0003 -5.09316174594652E-0003 +-5.09823040269784E-0003 -5.10329808233508E-0003 -5.10836477231748E-0003 -5.11343045835756E-0003 -5.11849512443434E-0003 +-5.12355875280847E-0003 -5.12862132403936E-0003 -5.13368281699533E-0003 -5.13874320887899E-0003 -5.14380247522886E-0003 +-5.14886058994507E-0003 -5.15391752529908E-0003 -5.15897325195080E-0003 -5.16402773896115E-0003 -5.16908095380786E-0003 +-5.17413286240227E-0003 -5.17918342910197E-0003 -5.18423261672068E-0003 -5.18928038655602E-0003 -5.19432669838897E-0003 +-5.19937151050537E-0003 -5.20441477971408E-0003 -5.20945646135207E-0003 -5.21449650930637E-0003 -5.21953487602463E-0003 +-5.22457151252943E-0003 -5.22960636843497E-0003 -5.23463939195666E-0003 -5.23967052992742E-0003 -5.24469972781482E-0003 +-5.24972692972894E-0003 -5.25475207843808E-0003 -5.25977511538729E-0003 -5.26479598070445E-0003 -5.26981461321880E-0003 +-5.27483095047466E-0003 -5.27984492874040E-0003 -5.28485648302856E-0003 -5.28986554710424E-0003 -5.29487205349866E-0003 +-5.29987593352472E-0003 -5.30487711729231E-0003 -5.30987553371273E-0003 -5.31487111052240E-0003 -5.31986377428761E-0003 +-5.32485345042309E-0003 -5.32984006320247E-0003 -5.33482353577236E-0003 -5.33980379016189E-0003 -5.34478074730083E-0003 +-5.34975432702749E-0003 -5.35472444810459E-0003 -5.35969102823176E-0003 -5.36465398405519E-0003 -5.36961323118344E-0003 +-5.37456868419708E-0003 -5.37952025666536E-0003 -5.38446786115427E-0003 -5.38941140923827E-0003 -5.39435081151972E-0003 +-5.39928597763213E-0003 -5.40421681625789E-0003 -5.40914323513755E-0003 -5.41406514108492E-0003 -5.41898243999714E-0003 +-5.42389503686544E-0003 -5.42880283578802E-0003 -5.43370573998435E-0003 -5.43860365180393E-0003 -5.44349647273770E-0003 +-5.44838410343314E-0003 -5.45326644370303E-0003 -5.45814339253594E-0003 -5.46301484811190E-0003 -5.46788070781129E-0003 +-5.47274086822482E-0003 -5.47759522516923E-0003 -5.48244367369446E-0003 -5.48728610809488E-0003 -5.49212242192577E-0003 +-5.49695250800973E-0003 -5.50177625844552E-0003 -5.50659356462753E-0003 -5.51140431724775E-0003 -5.51620840631453E-0003 +-5.52100572115749E-0003 -5.52579615044027E-0003 -5.53057958217344E-0003 -5.53535590372103E-0003 -5.54012500181796E-0003 +-5.54488676257177E-0003 -5.54964107148237E-0003 -5.55438781344514E-0003 -5.55912687276651E-0003 -5.56385813317010E-0003 +-5.56858147781371E-0003 -5.57329678929191E-0003 -5.57800394965103E-0003 -5.58270284039766E-0003 -5.58739334251269E-0003 +-5.59207533645427E-0003 -5.59674870217495E-0003 -5.60141331912806E-0003 -5.60606906627694E-0003 -5.61071582211074E-0003 +-5.61535346464489E-0003 -5.61998187144066E-0003 -5.62460091960753E-0003 -5.62921048581809E-0003 -5.63381044631532E-0003 +-5.63840067692110E-0003 -5.64298105304940E-0003 -5.64755144971324E-0003 -5.65211174153555E-0003 -5.65666180275586E-0003 +-5.66120150724495E-0003 -5.66573072850767E-0003 -5.67024933970082E-0003 -5.67475721363248E-0003 -5.67925422277915E-0003 +-5.68374023929187E-0003 -5.68821513500410E-0003 -5.69267878144474E-0003 -5.69713104984335E-0003 -5.70157181114048E-0003 +-5.70600093599719E-0003 -5.71041829480417E-0003 -5.71482375768972E-0003 -5.71921719452858E-0003 -5.72359847495258E-0003 +-5.72796746835623E-0003 -5.73232404390803E-0003 -5.73666807055788E-0003 -5.74099941704606E-0003 -5.74531795191320E-0003 +-5.74962354350439E-0003 -5.75391605998266E-0003 -5.75819536933720E-0003 -5.76246133938601E-0003 -5.76671383779089E-0003 +-5.77095273206238E-0003 -5.77517788956881E-0003 -5.77938917754339E-0003 -5.78358646309522E-0003 -5.78776961321365E-0003 +-5.79193849477908E-0003 -5.79609297457106E-0003 -5.80023291927427E-0003 -5.80435819548672E-0003 -5.80846866973119E-0003 +-5.81256420845668E-0003 -5.81664467805372E-0003 -5.82070994485605E-0003 -5.82475987515122E-0003 -5.82879433518694E-0003 +-5.83281319118057E-0003 -5.83681630932517E-0003 -5.84080355579768E-0003 -5.84477479676523E-0003 -5.84872989839436E-0003 +-5.85266872685700E-0003 -5.85659114834001E-0003 -5.86049702904911E-0003 -5.86438623521986E-0003 -5.86825863312066E-0003 +-5.87211408906399E-0003 -5.87595246941258E-0003 -5.87977364058519E-0003 -5.88357746906327E-0003 -5.88736382140037E-0003 +-5.89113256422773E-0003 -5.89488356426119E-0003 -5.89861668830855E-0003 -5.90233180327517E-0003 -5.90602877617327E-0003 +-5.90970747412618E-0003 -5.91336776437627E-0003 -5.91700951429161E-0003 -5.92063259137242E-0003 -5.92423686325873E-0003 +-5.92782219773370E-0003 -5.93138846273564E-0003 -5.93493552635777E-0003 -5.93846325686022E-0003 -5.94197152267561E-0003 +-5.94546019241155E-0003 -5.94892913486174E-0003 -5.95237821900827E-0003 -5.95580731403171E-0003 -5.95921628931395E-0003 +-5.96260501444675E-0003 -5.96597335923622E-0003 -5.96932119371050E-0003 -5.97264838812290E-0003 -5.97595481296282E-0003 +-5.97924033895652E-0003 -5.98250483707603E-0003 -5.98574817854448E-0003 -5.98897023484155E-0003 -5.99217087771002E-0003 +-5.99534997915997E-0003 -5.99850741147728E-0003 -6.00164304722568E-0003 -6.00475675925630E-0003 -6.00784842070976E-0003 +-6.01091790502394E-0003 -6.01396508593898E-0003 -6.01698983750304E-0003 -6.01999203407594E-0003 -6.02297155033860E-0003 +-6.02592826129218E-0003 -6.02886204227128E-0003 -6.03177276894241E-0003 -6.03466031731252E-0003 -6.03752456373353E-0003 +-6.04036538490826E-0003 -6.04318265789413E-0003 -6.04597626010932E-0003 -6.04874606933789E-0003 -6.05149196373506E-0003 +-6.05421382183016E-0003 -6.05691152253478E-0003 -6.05958494514469E-0003 -6.06223396934694E-0003 -6.06485847522414E-0003 +-6.06745834325827E-0003 -6.07003345433643E-0003 -6.07258368975605E-0003 -6.07510893122761E-0003 -6.07760906088105E-0003 +-6.08008396127082E-0003 -6.08253351537937E-0003 -6.08495760662127E-0003 -6.08735611884861E-0003 -6.08972893635532E-0003 +-6.09207594388265E-0003 -6.09439702662081E-0003 -6.09669207021662E-0003 -6.09896096077508E-0003 -6.10120358486695E-0003 +-6.10341982952770E-0003 -6.10560958226868E-0003 -6.10777273107454E-0003 -6.10990916441394E-0003 -6.11201877123701E-0003 +-6.11410144098433E-0003 -6.11615706358991E-0003 -6.11818552948394E-0003 -6.12018672959673E-0003 -6.12216055536565E-0003 +-6.12410689873557E-0003 -6.12602565216412E-0003 -6.12791670862607E-0003 -6.12977996161593E-0003 -6.13161530515259E-0003 +-6.13342263378338E-0003 -6.13520184258730E-0003 -6.13695282717822E-0003 -6.13867548370913E-0003 -6.14036970887595E-0003 +-6.14203539992074E-0003 -6.14367245463500E-0003 -6.14528077136398E-0003 -6.14686024901019E-0003 -6.14841078703508E-0003 +-6.14993228546441E-0003 -6.15142464489128E-0003 -6.15288776647943E-0003 -6.15432155196485E-0003 -6.15572590366249E-0003 +-6.15710072446631E-0003 -6.15844591785370E-0003 -6.15976138788946E-0003 -6.16104703922743E-0003 -6.16230277711575E-0003 +-6.16352850739712E-0003 -6.16472413651365E-0003 -6.16588957151029E-0003 -6.16702472003672E-0003 -6.16812949035093E-0003 +-6.16920379132160E-0003 -6.17024753243140E-0003 -6.17126062377971E-0003 -6.17224297608629E-0003 -6.17319450069263E-0003 +-6.17411510956516E-0003 -6.17500471530017E-0003 -6.17586323112158E-0003 -6.17669057089023E-0003 -6.17748664909978E-0003 +-6.17825138088414E-0003 -6.17898468201909E-0003 -6.17968646892183E-0003 -6.18035665865864E-0003 -6.18099516894315E-0003 +-6.18160191814028E-0003 -6.18217682526906E-0003 -6.18271981000470E-0003 -6.18323079268087E-0003 -6.18370969429153E-0003 +-6.18415643649471E-0003 -6.18457094161354E-0003 -6.18495313263814E-0003 -6.18530293323044E-0003 -6.18562026772320E-0003 +-6.18590506112265E-0003 -6.18615723911391E-0003 -6.18637672805847E-0003 -6.18656345499952E-0003 -6.18671734766348E-0003 +-6.18683833445977E-0003 -6.18692634448633E-0003 -6.18698130752891E-0003 -6.18700315406428E-0003 -6.18699181526136E-0003 +-6.18694722298326E-0003 -6.18686930979064E-0003 -6.18675800894075E-0003 -6.18661325439190E-0003 -6.18643498080357E-0003 +-6.18622312353837E-0003 -6.18597761866509E-0003 -6.18569840295771E-0003 -6.18538541389953E-0003 -6.18503858968477E-0003 +-6.18465786921794E-0003 -6.18424319211719E-0003 -6.18379449871638E-0003 -6.18331173006467E-0003 -6.18279482792912E-0003 +-6.18224373479630E-0003 -6.18165839387376E-0003 -6.18103874909070E-0003 -6.18038474510005E-0003 -6.17969632727953E-0003 +-6.17897344173325E-0003 -6.17821603529274E-0003 -6.17742405551806E-0003 -6.17659745069912E-0003 -6.17573616985821E-0003 +-6.17484016274803E-0003 -6.17390937985695E-0003 -6.17294377240734E-0003 -6.17194329235662E-0003 -6.17090789240068E-0003 +-6.16983752597209E-0003 -6.16873214724323E-0003 -6.16759171112599E-0003 -6.16641617327444E-0003 -6.16520549008354E-0003 +-6.16395961869142E-0003 -6.16267851698059E-0003 -6.16136214357824E-0003 -6.16001045785661E-0003 -6.15862341993506E-0003 +-6.15720099068012E-0003 -6.15574313170579E-0003 -6.15424980537606E-0003 -6.15272097480371E-0003 -6.15115660385162E-0003 +-6.14955665713407E-0003 -6.14792110001743E-0003 -6.14624989861924E-0003 -6.14454301981078E-0003 -6.14280043121707E-0003 +-6.14102210121575E-0003 -6.13920799894098E-0003 -6.13735809428070E-0003 -6.13547235787907E-0003 -6.13355076113588E-0003 +-6.13159327620852E-0003 -6.12959987600984E-0003 -6.12757053421143E-0003 -6.12550522524183E-0003 -6.12340392428795E-0003 +-6.12126660729523E-0003 -6.11909325096780E-0003 -6.11688383276882E-0003 -6.11463833092076E-0003 -6.11235672440563E-0003 +-6.11003899296537E-0003 -6.10768511710157E-0003 -6.10529507807600E-0003 -6.10286885791143E-0003 -6.10040643938973E-0003 +-6.09790780605464E-0003 -6.09537294220958E-0003 -6.09280183291887E-0003 -6.09019446400797E-0003 -6.08755082206280E-0003 +-6.08487089442921E-0003 -6.08215466921498E-0003 -6.07940213528783E-0003 -6.07661328227644E-0003 -6.07378810056962E-0003 +-6.07092658131633E-0003 -6.06802871642688E-0003 -6.06509449857019E-0003 -6.06212392117590E-0003 -6.05911697843384E-0003 +-6.05607366529209E-0003 -6.05299397745872E-0003 -6.04987791140130E-0003 -6.04672546434454E-0003 -6.04353663427364E-0003 +-6.04031141992969E-0003 -6.03704982081313E-0003 -6.03375183718097E-0003 -6.03041747004787E-0003 -6.02704672118450E-0003 +-6.02363959311782E-0003 -6.02019608913046E-0003 -6.01671621326069E-0003 -6.01319997030101E-0003 -6.00964736579853E-0003 +-6.00605840605426E-0003 -6.00243309812168E-0003 -5.99877144980774E-0003 -5.99507346967123E-0003 -5.99133916702185E-0003 +-5.98756855192123E-0003 -5.98376163517942E-0003 -5.97991842835789E-0003 -5.97603894376602E-0003 -5.97212319446147E-0003 +-5.96817119424923E-0003 -5.96418295768118E-0003 -5.96015850005505E-0003 -5.95609783741376E-0003 -5.95200098654466E-0003 +-5.94786796497875E-0003 -5.94369879098940E-0003 -5.93949348359254E-0003 -5.93525206254432E-0003 -5.93097454834147E-0003 +-5.92666096222024E-0003 -5.92231132615491E-0003 -5.91792566285667E-0003 -5.91350399577428E-0003 -5.90904634909123E-0003 +-5.90455274772526E-0003 -5.90002321732815E-0003 -5.89545778428370E-0003 -5.89085647570784E-0003 -5.88621931944529E-0003 +-5.88154634407220E-0003 -5.87683757889087E-0003 -5.87209305393176E-0003 -5.86731279995128E-0003 -5.86249684843022E-0003 +-5.85764523157293E-0003 -5.85275798230671E-0003 -5.84783513427950E-0003 -5.84287672185986E-0003 -5.83788278013479E-0003 +-5.83285334490868E-0003 -5.82778845270295E-0003 -5.82268814075340E-0003 -5.81755244700960E-0003 -5.81238141013381E-0003 +-5.80717506949912E-0003 -5.80193346518855E-0003 -5.79665663799372E-0003 -5.79134462941270E-0003 -5.78599748164953E-0003 +-5.78061523761250E-0003 -5.77519794091266E-0003 -5.76974563586264E-0003 -5.76425836747445E-0003 -5.75873618145913E-0003 +-5.75317912422420E-0003 -5.74758724287296E-0003 -5.74196058520288E-0003 -5.73629919970318E-0003 -5.73060313555487E-0003 +-5.72487244262735E-0003 -5.71910717147838E-0003 -5.71330737335211E-0003 -5.70747310017647E-0003 -5.70160440456315E-0003 +-5.69570133980467E-0003 -5.68976395987339E-0003 -5.68379231942007E-0003 -5.67778647377096E-0003 -5.67174647892790E-0003 +-5.66567239156532E-0003 -5.65956426902863E-0003 -5.65342216933346E-0003 -5.64724615116290E-0003 -5.64103627386545E-0003 +-5.63479259745505E-0003 -5.62851518260700E-0003 -5.62220409065837E-0003 -5.61585938360421E-0003 -5.60948112409707E-0003 +-5.60306937544456E-0003 -5.59662420160777E-0003 -5.59014566719953E-0003 -5.58363383748155E-0003 -5.57708877836414E-0003 +-5.57051055640311E-0003 -5.56389923879806E-0003 -5.55725489339066E-0003 -5.55057758866308E-0003 -5.54386739373506E-0003 +-5.53712437836247E-0003 -5.53034861293591E-0003 -5.52354016847751E-0003 -5.51669911664027E-0003 -5.50982552970496E-0003 +-5.50291948057849E-0003 -5.49598104279173E-0003 -5.48901029049817E-0003 -5.48200729847086E-0003 -5.47497214210089E-0003 +-5.46790489739526E-0003 -5.46080564097478E-0003 -5.45367445007164E-0003 -5.44651140252787E-0003 -5.43931657679245E-0003 +-5.43209005192045E-0003 -5.42483190756909E-0003 -5.41754222399707E-0003 -5.41022108206209E-0003 -5.40286856321750E-0003 +-5.39548474951207E-0003 -5.38806972358642E-0003 -5.38062356867054E-0003 -5.37314636858310E-0003 -5.36563820772756E-0003 +-5.35809917109108E-0003 -5.35052934424141E-0003 -5.34292881332537E-0003 -5.33529766506585E-0003 -5.32763598676008E-0003 +-5.31994386627725E-0003 -5.31222139205599E-0003 -5.30446865310186E-0003 -5.29668573898585E-0003 -5.28887273984100E-0003 +-5.28102974636057E-0003 -5.27315684979611E-0003 -5.26525414195408E-0003 -5.25732171519420E-0003 -5.24935966242696E-0003 +-5.24136807711112E-0003 -5.23334705325115E-0003 -5.22529668539511E-0003 -5.21721706863218E-0003 -5.20910829859004E-0003 +-5.20097047143229E-0003 -5.19280368385693E-0003 -5.18460803309216E-0003 -5.17638361689594E-0003 -5.16813053355193E-0003 +-5.15984888186755E-0003 -5.15153876117212E-0003 -5.14320027131283E-0003 -5.13483351265420E-0003 -5.12643858607355E-0003 +-5.11801559296015E-0003 -5.10956463521137E-0003 -5.10108581523091E-0003 -5.09257923592659E-0003 -5.08404500070660E-0003 +-5.07548321347744E-0003 -5.06689397864239E-0003 -5.05827740109677E-0003 -5.04963358622780E-0003 -5.04096263990980E-0003 +-5.03226466850325E-0003 -5.02353977885109E-0003 -5.01478807827659E-0003 -5.00600967458069E-0003 -4.99720467603923E-0003 +-4.98837319140047E-0003 -4.97951532988208E-0003 -4.97063120116871E-0003 -4.96172091540973E-0003 -4.95278458321593E-0003 +-4.94382231565696E-0003 -4.93483422425878E-0003 -4.92582042100088E-0003 -4.91678101831406E-0003 -4.90771612907678E-0003 +-4.89862586661318E-0003 -4.88951034469009E-0003 -4.88036967751425E-0003 -4.87120397972977E-0003 -4.86201336641544E-0003 +-4.85279795308166E-0003 -4.84355785566762E-0003 -4.83429319053919E-0003 -4.82500407448563E-0003 -4.81569062471677E-0003 +-4.80635295886052E-0003 -4.79699119496005E-0003 -4.78760545147069E-0003 -4.77819584725741E-0003 -4.76876250159204E-0003 +-4.75930553415059E-0003 -4.74982506500986E-0003 -4.74032121464507E-0003 -4.73079410392724E-0003 -4.72124385411982E-0003 +-4.71167058687640E-0003 -4.70207442423732E-0003 -4.69245548862722E-0003 -4.68281390285231E-0003 -4.67314979009703E-0003 +-4.66346327392138E-0003 -4.65375447825848E-0003 -4.64402352741122E-0003 -4.63427054604922E-0003 -4.62449565920676E-0003 +-4.61469899227933E-0003 -4.60488067102035E-0003 -4.59504082153929E-0003 -4.58517957029800E-0003 -4.57529704410822E-0003 +-4.56539337012828E-0003 -4.55546867586052E-0003 -4.54552308914834E-0003 -4.53555673817334E-0003 -4.52556975145202E-0003 +-4.51556225783340E-0003 -4.50553438649562E-0003 -4.49548626694354E-0003 -4.48541802900508E-0003 -4.47532980282908E-0003 +-4.46522171888175E-0003 -4.45509390794400E-0003 -4.44494650110861E-0003 -4.43477962977687E-0003 -4.42459342565609E-0003 +-4.41438802075630E-0003 -4.40416354738749E-0003 -4.39392013815659E-0003 -4.38365792596463E-0003 -4.37337704400331E-0003 +-4.36307762575258E-0003 -4.35275980497762E-0003 -4.34242371572542E-0003 -4.33206949232201E-0003 -4.32169726937005E-0003 +-4.31130718174478E-0003 -4.30089936459178E-0003 -4.29047395332406E-0003 -4.28003108361844E-0003 -4.26957089141309E-0003 +-4.25909351290440E-0003 -4.24859908454393E-0003 -4.23808774303521E-0003 -4.22755962533158E-0003 -4.21701486863191E-0003 +-4.20645361037840E-0003 -4.19587598825378E-0003 -4.18528214017752E-0003 -4.17467220430368E-0003 -4.16404631901683E-0003 +-4.15340462293045E-0003 -4.14274725488260E-0003 -4.13207435393342E-0003 -4.12138605936267E-0003 -4.11068251066559E-0003 +-4.09996384755060E-0003 -4.08923020993641E-0003 -4.07848173794845E-0003 -4.06771857191624E-0003 -4.05694085237019E-0003 +-4.04614872003878E-0003 -4.03534231584507E-0003 -4.02452178090429E-0003 -4.01368725652055E-0003 -4.00283888418334E-0003 +-3.99197680556551E-0003 -3.98110116251923E-0003 -3.97021209707349E-0003 -3.95930975143108E-0003 -3.94839426796534E-0003 +-3.93746578921722E-0003 -3.92652445789231E-0003 -3.91557041685789E-0003 -3.90460380913937E-0003 -3.89362477791803E-0003 +-3.88263346652750E-0003 -3.87163001845079E-0003 -3.86061457731721E-0003 -3.84958728689965E-0003 -3.83854829111111E-0003 +-3.82749773400206E-0003 -3.81643575975707E-0003 -3.80536251269201E-0003 -3.79427813725091E-0003 -3.78318277800317E-0003 +-3.77207657963993E-0003 -3.76095968697172E-0003 -3.74983224492511E-0003 -3.73869439853957E-0003 -3.72754629296474E-0003 +-3.71638807345713E-0003 -3.70521988537739E-0003 -3.69404187418691E-0003 -3.68285418544501E-0003 -3.67165696480601E-0003 +-3.66045035801601E-0003 -3.64923451091007E-0003 -3.63800956940879E-0003 -3.62677567951589E-0003 -3.61553298731469E-0003 +-3.60428163896539E-0003 -3.59302178070177E-0003 -3.58175355882867E-0003 -3.57047711971829E-0003 -3.55919260980779E-0003 +-3.54790017559596E-0003 -3.53659996364034E-0003 -3.52529212055406E-0003 -3.51397679300303E-0003 -3.50265412770288E-0003 +-3.49132427141581E-0003 -3.47998737094796E-0003 -3.46864357314590E-0003 -3.45729302489405E-0003 -3.44593587311155E-0003 +-3.43457226474914E-0003 -3.42320234678653E-0003 -3.41182626622901E-0003 -3.40044417010461E-0003 -3.38905620546136E-0003 +-3.37766251936384E-0003 -3.36626325889071E-0003 -3.35485857113152E-0003 -3.34344860318337E-0003 -3.33203350214867E-0003 +-3.32061341513158E-0003 -3.30918848923548E-0003 -3.29775887155953E-0003 -3.28632470919619E-0003 -3.27488614922801E-0003 +-3.26344333872466E-0003 -3.25199642474018E-0003 -3.24054555430978E-0003 -3.22909087444716E-0003 -3.21763253214135E-0003 +-3.20617067435386E-0003 -3.19470544801583E-0003 -3.18323700002503E-0003 -3.17176547724286E-0003 -3.16029102649166E-0003 +-3.14881379455137E-0003 -3.13733392815716E-0003 -3.12585157399625E-0003 -3.11436687870474E-0003 -3.10287998886510E-0003 +-3.09139105100328E-0003 -3.07990021158555E-0003 -3.06840761701572E-0003 -3.05691341363231E-0003 -3.04541774770559E-0003 +-3.03392076543475E-0003 -3.02242261294505E-0003 -3.01092343628491E-0003 -2.99942338142297E-0003 -2.98792259424532E-0003 +-2.97642122055273E-0003 -2.96491940605748E-0003 -2.95341729638101E-0003 -2.94191503705048E-0003 -2.93041277349642E-0003 +-2.91891065104966E-0003 -2.90740881493858E-0003 -2.89590741028621E-0003 -2.88440658210737E-0003 -2.87290647530604E-0003 +-2.86140723467253E-0003 -2.84990900488029E-0003 -2.83841193048365E-0003 -2.82691615591462E-0003 -2.81542182548032E-0003 +-2.80392908336009E-0003 -2.79243807360268E-0003 -2.78094894012362E-0003 -2.76946182670227E-0003 -2.75797687697917E-0003 +-2.74649423445322E-0003 -2.73501404247892E-0003 -2.72353644426370E-0003 -2.71206158286502E-0003 -2.70058960118775E-0003 +-2.68912064198150E-0003 -2.67765484783761E-0003 -2.66619236118684E-0003 -2.65473332429615E-0003 -2.64327787926642E-0003 +-2.63182616802950E-0003 -2.62037833234568E-0003 -2.60893451380085E-0003 -2.59749485380375E-0003 -2.58605949358355E-0003 +-2.57462857418687E-0003 -2.56320223647538E-0003 -2.55178062112285E-0003 -2.54036386861284E-0003 -2.52895211923551E-0003 +-2.51754551308569E-0003 -2.50614419005953E-0003 -2.49474828985241E-0003 -2.48335795195595E-0003 -2.47197331565564E-0003 +-2.46059452002787E-0003 -2.44922170393774E-0003 -2.43785500603627E-0003 -2.42649456475776E-0003 -2.41514051831712E-0003 +-2.40379300470749E-0003 -2.39245216169769E-0003 -2.38111812682928E-0003 -2.36979103741437E-0003 -2.35847103053288E-0003 +-2.34715824303022E-0003 -2.33585281151426E-0003 -2.32455487235328E-0003 -2.31326456167323E-0003 -2.30198201535519E-0003 +-2.29070736903296E-0003 -2.27944075809037E-0003 -2.26818231765891E-0003 -2.25693218261533E-0003 -2.24569048757879E-0003 +-2.23445736690889E-0003 -2.22323295470263E-0003 -2.21201738479248E-0003 -2.20081079074353E-0003 -2.18961330585112E-0003 +-2.17842506313867E-0003 -2.16724619535480E-0003 -2.15607683497123E-0003 -2.14491711418015E-0003 -2.13376716489199E-0003 +-2.12262711873292E-0003 -2.11149710704240E-0003 -2.10037726087076E-0003 -2.08926771097709E-0003 -2.07816858782645E-0003 +-2.06708002158788E-0003 -2.05600214213169E-0003 -2.04493507902742E-0003 -2.03387896154129E-0003 -2.02283391863395E-0003 +-2.01180007895805E-0003 -2.00077757085606E-0003 -1.98976652235792E-0003 -1.97876706117858E-0003 -1.96777931471589E-0003 +-1.95680341004825E-0003 -1.94583947393226E-0003 -1.93488763280052E-0003 -1.92394801275928E-0003 -1.91302073958643E-0003 +-1.90210593872880E-0003 -1.89120373530033E-0003 -1.88031425407970E-0003 -1.86943761950808E-0003 -1.85857395568687E-0003 +-1.84772338637553E-0003 -1.83688603498952E-0003 -1.82606202459782E-0003 -1.81525147792104E-0003 -1.80445451732911E-0003 +-1.79367126483901E-0003 -1.78290184211286E-0003 -1.77214637045559E-0003 -1.76140497081281E-0003 -1.75067776376877E-0003 +-1.73996486954414E-0003 -1.72926640799402E-0003 -1.71858249860568E-0003 -1.70791326049654E-0003 -1.69725881241224E-0003 +-1.68661927272414E-0003 -1.67599475942779E-0003 -1.66538539014050E-0003 -1.65479128209932E-0003 -1.64421255215920E-0003 +-1.63364931679076E-0003 -1.62310169207834E-0003 -1.61256979371803E-0003 -1.60205373701557E-0003 -1.59155363688441E-0003 +-1.58106960784377E-0003 -1.57060176401656E-0003 -1.56015021912754E-0003 -1.54971508650116E-0003 -1.53929647905990E-0003 +-1.52889450932203E-0003 -1.51850928939991E-0003 -1.50814093099799E-0003 -1.49778954541081E-0003 -1.48745524352130E-0003 +-1.47713813579868E-0003 -1.46683833229668E-0003 -1.45655594265170E-0003 -1.44629107608086E-0003 -1.43604384138023E-0003 +-1.42581434692296E-0003 -1.41560270065735E-0003 -1.40540901010526E-0003 -1.39523338235999E-0003 -1.38507592408477E-0003 +-1.37493674151080E-0003 -1.36481594043540E-0003 -1.35471362622050E-0003 -1.34462990379059E-0003 -1.33456487763110E-0003 +-1.32451865178676E-0003 -1.31449132985956E-0003 -1.30448301500744E-0003 -1.29449380994215E-0003 -1.28452381692785E-0003 +-1.27457313777931E-0003 -1.26464187386026E-0003 -1.25473012608162E-0003 -1.24483799489993E-0003 -1.23496558031572E-0003 +-1.22511298187183E-0003 -1.21528029865164E-0003 -1.20546762927776E-0003 -1.19567507191014E-0003 -1.18590272424453E-0003 +-1.17615068351103E-0003 -1.16641904647237E-0003 -1.15670790942227E-0003 -1.14701736818419E-0003 -1.13734751810940E-0003 +-1.12769845407574E-0003 -1.11807027048585E-0003 -1.10846306126592E-0003 -1.09887691986398E-0003 -1.08931193924842E-0003 +-1.07976821190662E-0003 -1.07024582984334E-0003 -1.06074488457939E-0003 -1.05126546715007E-0003 -1.04180766810372E-0003 +-1.03237157750048E-0003 -1.02295728491055E-0003 -1.01356487941306E-0003 -1.00419444959455E-0003 -9.94846083547572E-0004 +-9.85519868869380E-0004 -9.76215892660407E-0004 -9.66934241523195E-0004 -9.57675001560784E-0004 -9.48438258375425E-0004 +-9.39224097067385E-0004 -9.30032602233548E-0004 -9.20863857966046E-0004 -9.11717947851189E-0004 -9.02594954967873E-0004 +-8.93494961886571E-0004 -8.84418050668031E-0004 -8.75364302861845E-0004 -8.66333799505492E-0004 -8.57326621122928E-0004 +-8.48342847723387E-0004 -8.39382558800314E-0004 -8.30445833329953E-0004 -8.21532749770399E-0004 -8.12643386060266E-0004 +-8.03777819617596E-0004 -7.94936127338770E-0004 -7.86118385597253E-0004 -7.77324670242561E-0004 -7.68555056599052E-0004 +-7.59809619465031E-0004 -7.51088433111428E-0004 -7.42391571280838E-0004 -7.33719107186491E-0004 -7.25071113511069E-0004 +-7.16447662405761E-0004 -7.07848825489308E-0004 -6.99274673846735E-0004 -6.90725278028626E-0004 -6.82200708049895E-0004 +-6.73701033389011E-0004 -6.65226322986818E-0004 -6.56776645245718E-0004 -6.48352068028710E-0004 -6.39952658658366E-0004 +-6.31578483915942E-0004 -6.23229610040547E-0004 -6.14906102728086E-0004 -6.06608027130514E-0004 -5.98335447854841E-0004 +-5.90088428962341E-0004 -5.81867033967671E-0004 -5.73671325837996E-0004 -5.65501366992181E-0004 -5.57357219300015E-0004 +-5.49238944081286E-0004 -5.41146602105102E-0004 -5.33080253588987E-0004 -5.25039958198256E-0004 -5.17025775045129E-0004 +-5.09037762687949E-0004 -5.01075979130647E-0004 -4.93140481821726E-0004 -4.85231327653807E-0004 -4.77348572962765E-0004 +-4.69492273527073E-0004 -4.61662484567199E-0004 -4.53859260744768E-0004 -4.46082656162071E-0004 -4.38332724361378E-0004 +-4.30609518324214E-0004 -4.22913090470841E-0004 -4.15243492659682E-0004 -4.07600776186514E-0004 -3.99984991784166E-0004 +-3.92396189621709E-0004 -3.84834419304014E-0004 -3.77299729871241E-0004 -3.69792169798115E-0004 -3.62311786993662E-0004 +-3.54858628800428E-0004 -3.47432741994226E-0004 -3.40034172783446E-0004 -3.32662966808688E-0004 -3.25319169142274E-0004 +-3.18002824287739E-0004 -3.10713976179535E-0004 -3.03452668182421E-0004 -2.96218943091156E-0004 -2.89012843130085E-0004 +-2.81834409952691E-0004 -2.74683684641265E-0004 -2.67560707706581E-0004 -2.60465519087378E-0004 -2.53398158150207E-0004 +-2.46358663688948E-0004 -2.39347073924599E-0004 -2.32363426504907E-0004 -2.25407758504030E-0004 -2.18480106422392E-0004 +-2.11580506186288E-0004 -2.04708993147656E-0004 -1.97865602083824E-0004 -1.91050367197317E-0004 -1.84263322115593E-0004 +-1.77504499890797E-0004 -1.70773932999675E-0004 -1.64071653343301E-0004 -1.57397692246834E-0004 -1.50752080459552E-0004 +-1.44134848154554E-0004 -1.37546024928610E-0004 -1.30985639802135E-0004 -1.24453721218996E-0004 -1.17950297046440E-0004 +-1.11475394575007E-0004 -1.05029040518427E-0004 -9.86112610136051E-0005 -9.22220816204923E-0005 -8.58615273221034E-0005 +-7.95296225245172E-0005 -7.32263910567412E-0005 -6.69518561708302E-0005 -6.07060405418482E-0005 -5.44889662678500E-0005 +-4.83006548699931E-0005 -4.21411272924927E-0005 -3.60104039027634E-0005 -2.99085044914551E-0005 -2.38354482724692E-0005 +-1.77912538831751E-0005 -1.17759393844039E-0005 -5.78952226064093E-0006 1.67980579862291E-0007 6.09655280502058E-0006 + 1.19961786585950E-0005 1.78668429602365E-0005 2.37085311051118E-0005 2.95212290638465E-0005 3.53049233822571E-0005 + 4.10596011811589E-0005 4.67852501561380E-0005 5.24818585773132E-0005 5.81494152890404E-0005 6.37879097097539E-0005 + 6.93973318315582E-0005 7.49776722200544E-0005 8.05289220139506E-0005 8.60510729248129E-0005 9.15441172367139E-0005 + 9.70080478059010E-0005 1.02442858060462E-0004 1.07848541999898E-0004 1.13225094194849E-0004 1.18572509786647E-0004 + 1.23890784486926E-0004 1.29179914577200E-0004 1.34439896908508E-0004 1.39670728900873E-0004 1.44872408542973E-0004 + 1.50044934391587E-0004 1.55188305571148E-0004 1.60302521773317E-0004 1.65387583256431E-0004 1.70443490845008E-0004 + 1.75470245929241E-0004 1.80467850464437E-0004 1.85436306970523E-0004 1.90375618531464E-0004 1.95285788794695E-0004 + 2.00166821970546E-0004 2.05018722831637E-0004 2.09841496712316E-0004 2.14635149507996E-0004 2.19399687674571E-0004 + 2.24135118227754E-0004 2.28841448742399E-0004 2.33518687351923E-0004 2.38166842747518E-0004 2.42785924177587E-0004 + 2.47375941446942E-0004 2.51936904916128E-0004 2.56468825500758E-0004 2.60971714670677E-0004 2.65445584449290E-0004 + 2.69890447412793E-0004 2.74306316689362E-0004 2.78693205958447E-0004 2.83051129449903E-0004 2.87380101943208E-0004 + 2.91680138766690E-0004 2.95951255796623E-0004 3.00193469456465E-0004 3.04406796715935E-0004 3.08591255090183E-0004 + 3.12746862638931E-0004 3.16873637965547E-0004 3.20971600216178E-0004 3.25040769078824E-0004 3.29081164782396E-0004 + 3.33092808095844E-0004 3.37075720327117E-0004 3.41029923322303E-0004 3.44955439464584E-0004 3.48852291673298E-0004 + 3.52720503402935E-0004 3.56560098642118E-0004 3.60371101912627E-0004 3.64153538268310E-0004 3.67907433294091E-0004 + 3.71632813104936E-0004 3.75329704344713E-0004 3.78998134185203E-0004 3.82638130324959E-0004 3.86249720988255E-0004 + 3.89832934923930E-0004 3.93387801404295E-0004 3.96914350224010E-0004 4.00412611698918E-0004 4.03882616664915E-0004 + 4.07324396476781E-0004 4.10737983006961E-0004 4.14123408644446E-0004 4.17480706293543E-0004 4.20809909372645E-0004 + 4.24111051813036E-0004 4.27384168057656E-0004 4.30629293059824E-0004 4.33846462282056E-0004 4.37035711694707E-0004 + 4.40197077774771E-0004 4.43330597504544E-0004 4.46436308370332E-0004 4.49514248361169E-0004 4.52564455967458E-0004 + 4.55586970179671E-0004 4.58581830486968E-0004 4.61549076875874E-0004 4.64488749828891E-0004 4.67400890323143E-0004 + 4.70285539828958E-0004 4.73142740308511E-0004 4.75972534214353E-0004 4.78774964488073E-0004 4.81550074558768E-0004 + 4.84297908341688E-0004 4.87018510236738E-0004 4.89711925127009E-0004 4.92378198377335E-0004 4.95017375832775E-0004 + 4.97629503817125E-0004 5.00214629131432E-0004 5.02772799052446E-0004 5.05304061331118E-0004 5.07808464191035E-0004 + 5.10286056326872E-0004 5.12736886902877E-0004 5.15161005551246E-0004 5.17558462370544E-0004 5.19929307924166E-0004 + 5.22273593238674E-0004 5.24591369802218E-0004 5.26882689562888E-0004 5.29147604927127E-0004 5.31386168758030E-0004 + 5.33598434373714E-0004 5.35784455545678E-0004 5.37944286497089E-0004 5.40077981901107E-0004 5.42185596879208E-0004 + 5.44267186999450E-0004 5.46322808274794E-0004 5.48352517161341E-0004 5.50356370556607E-0004 5.52334425797802E-0004 + 5.54286740660024E-0004 5.56213373354546E-0004 5.58114382527011E-0004 5.59989827255633E-0004 5.61839767049444E-0004 + 5.63664261846430E-0004 5.65463372011785E-0004 5.67237158336011E-0004 5.68985682033138E-0004 5.70709004738856E-0004 + 5.72407188508661E-0004 5.74080295815993E-0004 5.75728389550362E-0004 5.77351533015450E-0004 5.78949789927248E-0004 + 5.80523224412118E-0004 5.82071901004910E-0004 5.83595884647013E-0004 5.85095240684438E-0004 5.86570034865881E-0004 + 5.88020333340757E-0004 5.89446202657253E-0004 5.90847709760348E-0004 5.92224921989843E-0004 5.93577907078373E-0004 + 5.94906733149395E-0004 5.96211468715198E-0004 5.97492182674879E-0004 5.98748944312329E-0004 5.99981823294176E-0004 + 6.01190889667766E-0004 6.02376213859090E-0004 6.03537866670747E-0004 6.04675919279846E-0004 6.05790443235954E-0004 + 6.06881510458986E-0004 6.07949193237122E-0004 6.08993564224693E-0004 6.10014696440063E-0004 6.11012663263537E-0004 + 6.11987538435178E-0004 6.12939396052701E-0004 6.13868310569328E-0004 6.14774356791605E-0004 6.15657609877254E-0004 + 6.16518145332994E-0004 6.17356039012351E-0004 6.18171367113488E-0004 6.18964206176966E-0004 6.19734633083578E-0004 + 6.20482725052104E-0004 6.21208559637097E-0004 6.21912214726645E-0004 6.22593768540138E-0004 6.23253299626009E-0004 + 6.23890886859475E-0004 6.24506609440288E-0004 6.25100546890437E-0004 6.25672779051886E-0004 6.26223386084276E-0004 + 6.26752448462630E-0004 6.27260046975038E-0004 6.27746262720363E-0004 6.28211177105895E-0004 6.28654871845050E-0004 + 6.29077428955012E-0004 6.29478930754397E-0004 6.29859459860901E-0004 6.30219099188945E-0004 6.30557931947299E-0004 + 6.30876041636711E-0004 6.31173512047534E-0004 6.31450427257327E-0004 6.31706871628465E-0004 6.31942929805726E-0004 + 6.32158686713892E-0004 6.32354227555333E-0004 6.32529637807559E-0004 6.32685003220815E-0004 6.32820409815635E-0004 + 6.32935943880376E-0004 6.33031691968798E-0004 6.33107740897572E-0004 6.33164177743837E-0004 6.33201089842713E-0004 + 6.33218564784829E-0004 6.33216690413824E-0004 6.33195554823866E-0004 6.33155246357144E-0004 6.33095853601368E-0004 + 6.33017465387239E-0004 6.32920170785954E-0004 6.32804059106658E-0004 6.32669219893925E-0004 6.32515742925213E-0004 + 6.32343718208310E-0004 6.32153235978805E-0004 6.31944386697511E-0004 6.31717261047907E-0004 6.31471949933569E-0004 + 6.31208544475595E-0004 6.30927136010019E-0004 6.30627816085228E-0004 6.30310676459367E-0004 6.29975809097740E-0004 + 6.29623306170203E-0004 6.29253260048551E-0004 6.28865763303908E-0004 6.28460908704105E-0004 6.28038789211042E-0004 + 6.27599497978070E-0004 6.27143128347337E-0004 6.26669773847161E-0004 6.26179528189362E-0004 6.25672485266622E-0004 + 6.25148739149825E-0004 6.24608384085378E-0004 6.24051514492562E-0004 6.23478224960838E-0004 6.22888610247179E-0004 + 6.22282765273383E-0004 6.21660785123376E-0004 6.21022765040532E-0004 6.20368800424958E-0004 6.19698986830797E-0004 + 6.19013419963528E-0004 6.18312195677233E-0004 6.17595409971898E-0004 6.16863158990683E-0004 6.16115539017192E-0004 + 6.15352646472753E-0004 6.14574577913668E-0004 6.13781430028487E-0004 6.12973299635254E-0004 6.12150283678769E-0004 + 6.11312479227829E-0004 6.10459983472471E-0004 6.09592893721220E-0004 6.08711307398322E-0004 6.07815322040969E-0004 + 6.06905035296546E-0004 6.05980544919827E-0004 6.05041948770232E-0004 6.04089344809018E-0004 6.03122831096500E-0004 + 6.02142505789273E-0004 6.01148467137401E-0004 6.00140813481640E-0004 5.99119643250626E-0004 5.98085054958075E-0004 + 5.97037147199988E-0004 5.95976018651825E-0004 5.94901768065706E-0004 5.93814494267598E-0004 5.92714296154487E-0004 + 5.91601272691574E-0004 5.90475522909429E-0004 5.89337145901193E-0004 5.88186240819731E-0004 5.87022906874802E-0004 + 5.85847243330241E-0004 5.84659349501102E-0004 5.83459324750840E-0004 5.82247268488460E-0004 5.81023280165672E-0004 + 5.79787459274060E-0004 5.78539905342224E-0004 5.77280717932928E-0004 5.76009996640265E-0004 5.74727841086785E-0004 + 5.73434350920661E-0004 5.72129625812822E-0004 5.70813765454086E-0004 5.69486869552324E-0004 5.68149037829576E-0004 + 5.66800370019208E-0004 5.65440965863036E-0004 5.64070925108458E-0004 5.62690347505606E-0004 5.61299332804454E-0004 + 5.59897980751972E-0004 5.58486391089244E-0004 5.57064663548594E-0004 5.55632897850729E-0004 5.54191193701849E-0004 + 5.52739650790790E-0004 5.51278368786144E-0004 5.49807447333372E-0004 5.48326986051958E-0004 5.46837084532499E-0004 + 5.45337842333857E-0004 5.43829358980274E-0004 5.42311733958483E-0004 5.40785066714851E-0004 5.39249456652495E-0004 + 5.37705003128393E-0004 5.36151805450532E-0004 5.34589962875005E-0004 5.33019574603155E-0004 5.31440739778692E-0004 + 5.29853557484808E-0004 5.28258126741320E-0004 5.26654546501774E-0004 5.25042915650593E-0004 5.23423333000188E-0004 + 5.21795897288085E-0004 5.20160707174065E-0004 5.18517861237274E-0004 5.16867457973376E-0004 5.15209595791668E-0004 + 5.13544373012207E-0004 5.11871887862965E-0004 5.10192238476935E-0004 5.08505522889292E-0004 5.06811839034522E-0004 + 5.05111284743544E-0004 5.03403957740883E-0004 5.01689955641774E-0004 4.99969375949339E-0004 4.98242316051718E-0004 + 4.96508873219205E-0004 4.94769144601421E-0004 4.93023227224452E-0004 4.91271217987995E-0004 4.89513213662535E-0004 + 4.87749310886479E-0004 4.85979606163336E-0004 4.84204195858877E-0004 4.82423176198279E-0004 4.80636643263332E-0004 + 4.78844692989564E-0004 4.77047421163459E-0004 4.75244923419606E-0004 4.73437295237881E-0004 4.71624631940643E-0004 + 4.69807028689900E-0004 4.67984580484521E-0004 4.66157382157413E-0004 4.64325528372712E-0004 4.62489113623004E-0004 + 4.60648232226499E-0004 4.58802978324266E-0004 4.56953445877427E-0004 4.55099728664362E-0004 4.53241920277956E-0004 + 4.51380114122787E-0004 4.49514403412380E-0004 4.47644881166426E-0004 4.45771640208003E-0004 4.43894773160841E-0004 + 4.42014372446551E-0004 4.40130530281863E-0004 4.38243338675902E-0004 4.36352889427421E-0004 4.34459274122080E-0004 + 4.32562584129711E-0004 4.30662910601572E-0004 4.28760344467653E-0004 4.26854976433925E-0004 4.24946896979657E-0004 + 4.23036196354696E-0004 4.21122964576751E-0004 4.19207291428728E-0004 4.17289266456003E-0004 4.15368978963769E-0004 + 4.13446518014338E-0004 4.11521972424464E-0004 4.09595430762696E-0004 4.07666981346689E-0004 4.05736712240574E-0004 + 4.03804711252298E-0004 4.01871065930970E-0004 3.99935863564249E-0004 3.97999191175688E-0004 3.96061135522134E-0004 + 3.94121783091101E-0004 3.92181220098149E-0004 3.90239532484304E-0004 3.88296805913453E-0004 3.86353125769738E-0004 + 3.84408577155009E-0004 3.82463244886215E-0004 3.80517213492862E-0004 3.78570567214446E-0004 3.76623389997892E-0004 + 3.74675765495029E-0004 3.72727777060029E-0004 3.70779507746906E-0004 3.68831040306981E-0004 3.66882457186359E-0004 + 3.64933840523454E-0004 3.62985272146460E-0004 3.61036833570890E-0004 3.59088605997089E-0004 3.57140670307748E-0004 + 3.55193107065474E-0004 3.53245996510299E-0004 3.51299418557271E-0004 3.49353452794001E-0004 3.47408178478229E-0004 + 3.45463674535433E-0004 3.43520019556390E-0004 3.41577291794806E-0004 3.39635569164914E-0004 3.37694929239084E-0004 + 3.35755449245480E-0004 3.33817206065682E-0004 3.31880276232330E-0004 3.29944735926808E-0004 3.28010660976887E-0004 + 3.26078126854429E-0004 3.24147208673068E-0004 3.22217981185899E-0004 3.20290518783216E-0004 3.18364895490205E-0004 + 3.16441184964705E-0004 3.14519460494937E-0004 3.12599794997248E-0004 3.10682261013906E-0004 3.08766930710845E-0004 + 3.06853875875480E-0004 3.04943167914494E-0004 3.03034877851640E-0004 3.01129076325589E-0004 2.99225833587733E-0004 + 2.97325219500059E-0004 2.95427303532997E-0004 2.93532154763273E-0004 2.91639841871826E-0004 2.89750433141663E-0004 + 2.87863996455802E-0004 2.85980599295169E-0004 2.84100308736527E-0004 2.82223191450439E-0004 2.80349313699216E-0004 + 2.78478741334872E-0004 2.76611539797137E-0004 2.74747774111421E-0004 2.72887508886850E-0004 2.71030808314278E-0004 + 2.69177736164310E-0004 2.67328355785382E-0004 2.65482730101789E-0004 2.63640921611791E-0004 2.61802992385693E-0004 + 2.59969004063938E-0004 2.58139017855251E-0004 2.56313094534746E-0004 2.54491294442096E-0004 2.52673677479685E-0004 + 2.50860303110776E-0004 2.49051230357723E-0004 2.47246517800153E-0004 2.45446223573209E-0004 2.43650405365779E-0004 + 2.41859120418731E-0004 2.40072425523209E-0004 2.38290377018887E-0004 2.36513030792286E-0004 2.34740442275080E-0004 + 2.32972666442417E-0004 2.31209757811278E-0004 2.29451770438832E-0004 2.27698757920800E-0004 2.25950773389874E-0004 + 2.24207869514096E-0004 2.22470098495310E-0004 2.20737512067594E-0004 2.19010161495705E-0004 2.17288097573582E-0004 + 2.15571370622813E-0004 2.13860030491161E-0004 2.12154126551091E-0004 2.10453707698294E-0004 2.08758822350280E-0004 + 2.07069518444923E-0004 2.05385843439088E-0004 2.03707844307231E-0004 2.02035567540022E-0004 2.00369059143019E-0004 + 1.98708364635312E-0004 1.97053529048229E-0004 1.95404596924033E-0004 1.93761612314638E-0004 1.92124618780371E-0004 + 1.90493659388707E-0004 1.88868776713075E-0004 1.87250012831643E-0004 1.85637409326130E-0004 1.84031007280660E-0004 + 1.82430847280609E-0004 1.80836969411476E-0004 1.79249413257794E-0004 1.77668217902026E-0004 1.76093421923521E-0004 + 1.74525063397459E-0004 1.72963179893818E-0004 1.71407808476391E-0004 1.69858985701780E-0004 1.68316747618450E-0004 + 1.66781129765784E-0004 1.65252167173144E-0004 1.63729894358999E-0004 1.62214345330014E-0004 1.60705553580219E-0004 + 1.59203552090160E-0004 1.57708373326073E-0004 1.56220049239111E-0004 1.54738611264550E-0004 1.53264090321056E-0004 + 1.51796516809951E-0004 1.50335920614492E-0004 1.48882331099212E-0004 1.47435777109232E-0004 1.45996286969645E-0004 + 1.44563888484884E-0004 1.43138608938124E-0004 1.41720475090729E-0004 1.40309513181690E-0004 1.38905748927095E-0004 + 1.37509207519645E-0004 1.36119913628156E-0004 1.34737891397120E-0004 1.33363164446267E-0004 1.31995755870149E-0004 + 1.30635688237777E-0004 1.29282983592237E-0004 1.27937663450377E-0004 1.26599748802488E-0004 1.25269260112005E-0004 + 1.23946217315270E-0004 1.22630639821273E-0004 1.21322546511452E-0004 1.20021955739509E-0004 1.18728885331232E-0004 + 1.17443352584380E-0004 1.16165374268551E-0004 1.14894966625117E-0004 1.13632145367152E-0004 1.12376925679397E-0004 + 1.11129322218263E-0004 1.09889349111837E-0004 1.08657019959939E-0004 1.07432347834188E-0004 1.06215345278092E-0004 + 1.05006024307192E-0004 1.03804396409191E-0004 1.02610472544150E-0004 1.01424263144690E-0004 1.00245778116214E-0004 + 9.90750268371829E-0005 9.79120181593977E-0005 9.67567604083077E-0005 9.56092613833701E-0005 9.44695283584038E-0005 + 9.33375680820051E-0005 9.22133867779695E-0005 9.10969901457412E-0005 8.99883833609144E-0005 8.88875710757296E-0005 + 8.77945574196318E-0005 8.67093459998359E-0005 8.56319399019220E-0005 8.45623416904801E-0005 8.35005534097535E-0005 + 8.24465765843433E-0005 8.14004122199213E-0005 8.03620608039733E-0005 7.93315223065927E-0005 7.83087961812740E-0005 + 7.72938813657667E-0005 7.62867762829401E-0005 7.52874788416782E-0005 7.42959864378257E-0005 7.33122959551355E-0005 + 7.23364037662755E-0005 7.13683057338493E-0005 7.04079972114466E-0005 6.94554730447428E-0005 6.85107275726137E-0005 + 6.75737546282817E-0005 6.66445475405129E-0005 6.57230991348181E-0005 6.48094017347145E-0005 6.39034471630008E-0005 + 6.30052267430657E-0005 6.21147313002465E-0005 6.12319511631945E-0005 6.03568761652993E-0005 5.94894956461298E-0005 + 5.86297984529074E-0005 5.77777729420313E-0005 5.69334069806108E-0005 5.60966879480572E-0005 5.52676027376935E-0005 + 5.44461377583977E-0005 5.36322789362965E-0005 5.28260117164705E-0005 5.20273210647167E-0005 5.12361914693305E-0005 + 5.04526069429232E-0005 4.96765510242890E-0005 4.89080067802854E-0005 4.81469568077710E-0005 4.73933832355644E-0005 + 4.66472677264386E-0005 4.59085914791648E-0005 4.51773352305786E-0005 4.44534792576832E-0005 4.37370033798028E-0005 + 4.30278869607517E-0005 4.23261089110606E-0005 4.16316476902264E-0005 4.09444813089988E-0005 4.02645873317180E-0005 + 3.95919428786692E-0005 3.89265246284947E-0005 3.82683088206308E-0005 3.76172712577823E-0005 3.69733873084481E-0005 + 3.63366319094654E-0005 3.57069795686120E-0005 3.50844043672336E-0005 3.44688799629110E-0005 3.38603795921771E-0005 + 3.32588760732558E-0005 3.26643418088572E-0005 3.20767487890011E-0005 3.14960685938795E-0005 3.09222723967702E-0005 + 3.03553309669738E-0005 2.97952146728069E-0005 2.92418934846247E-0005 2.86953369778838E-0005 2.81555143362557E-0005 + 2.76223943547704E-0005 2.70959454430021E-0005 2.65761356283052E-0005 2.60629325590770E-0005 2.55563035080761E-0005 + 2.50562153757728E-0005 2.45626346937417E-0005 2.40755276281047E-0005 2.35948599830025E-0005 2.31205972041225E-0005 + 2.26527043822593E-0005 2.21911462569181E-0005 2.17358872199698E-0005 2.12868913193357E-0005 2.08441222627281E-0005 + 2.04075434214260E-0005 1.99771178340938E-0005 1.95528082106522E-0005 1.91345769361805E-0005 1.87223860748748E-0005 + 1.83161973740425E-0005 1.79159722681411E-0005 1.75216718828692E-0005 1.71332570392904E-0005 1.67506882580141E-0005 + 1.63739257634125E-0005 1.60029294878844E-0005 1.56376590761695E-0005 1.52780738897025E-0005 1.49241330110129E-0005 + 1.45757952481771E-0005 1.42330191393068E-0005 1.38957629570939E-0005 1.35639847133943E-0005 1.32376421638591E-0005 + 1.29166928126188E-0005 1.26010939170047E-0005 1.22908024923274E-0005 1.19857753166954E-0005 1.16859689358822E-0005 + 1.13913396682469E-0005 1.11018436096928E-0005 1.08174366386846E-0005 1.05380744213058E-0005 1.02637124163666E-0005 + 9.99430588056503E-0006 9.72980987368781E-0006 9.47017926386999E-0006 9.21536873289693E-0006 8.96533278155642E-0006 + 8.72002573504495E-0006 8.47940174841647E-0006 8.24341481208815E-0006 8.01201875739140E-0006 7.78516726217330E-0006 + 7.56281385645245E-0006 7.34491192812125E-0006 7.13141472869931E-0006 6.92227537914181E-0006 6.71744687569289E-0006 + 6.51688209579652E-0006 6.32053380405484E-0006 6.12835465823826E-0006 5.94029721535139E-0006 5.75631393774529E-0006 + 5.57635719928764E-0006 5.40037929158169E-0006 5.22833243023802E-0006 5.06016876120245E-0006 4.89584036713204E-0006 + 4.73529927382928E-0006 4.57849745672636E-0006 4.42538684742322E-0006 4.27591934028238E-0006 4.13004679907336E-0006 + 3.98772106367556E-0006 3.84889395683278E-0006 3.71351729096225E-0006 3.58154287502123E-0006 3.45292252142448E-0006 + 3.32760805302093E-0006 3.20555131012295E-0006 3.08670415759140E-0006 2.97101849197846E-0006 2.85844624872425E-0006 + 2.74893940940973E-0006 2.64245000906797E-0006 2.53893014354883E-0006 2.43833197694346E-0006 2.34060774906365E-0006 + 2.24570978297830E-0006 2.15359049260920E-0006 2.06420239038139E-0006 1.97749809493404E-0006 1.89343033888735E-0006 + 1.81195197666774E-0006 1.73301599239279E-0006 1.65657550781241E-0006 1.58258379031096E-0006 1.51099426096679E-0006 + 1.44176050267088E-0006 1.37483626830616E-0006 1.31017548898428E-0006 1.24773228234413E-0006 1.18746096090882E-0006 + 1.12931604050296E-0006 1.07325224873125E-0006 1.01922453351597E-0006 9.67188071696823E-0007 9.17098277690499E-0007 + 8.68910812211531E-0007 8.22581591055247E-0007 7.78066793941369E-0007 7.35322873419411E-0007 6.94306563836826E-0007 + 6.54974890368040E-0007 6.17285178107042E-0007 5.81195061221700E-0007 5.46662492170888E-0007 5.13645750985240E-0007 + 4.82103454610044E-0007 4.51994566312503E-0007 4.23278405151905E-0007 3.95914655513624E-0007 3.69863376707652E-0007 + 3.45085012630518E-0007 3.21540401492401E-0007 2.99190785608330E-0007 2.77997821254255E-0007 2.57923588588570E-0007 + 2.38930601638247E-0007 2.20981818351032E-0007 2.04040650712903E-0007 1.88070974931435E-0007 1.73037141685566E-0007 + 1.58903986441186E-0007 1.45636839833692E-0007 1.33201538116957E-0007 1.21564433679263E-0007 1.10692405626588E-0007 + 1.00552870433028E-0007 9.11137926588199E-0008 8.23436957363261E-0008 7.42116728237514E-0008 6.66873977273309E-0008 + 5.97411358917731E-0008 5.33437554593655E-0008 4.74667383980654E-0008 4.20821916984745E-0008 3.71628586402839E-0008 + 3.26821301281065E-0008 2.86140560970481E-0008 2.49333569882986E-0008 2.16154352947598E-0008 1.86363871771627E-0008 + 1.59730141507011E-0008 1.36028348424899E-0008 1.15040968200991E-0008 9.65578849126629E-0009 8.03765107514337E-0009 + 6.63019064518825E-0009 5.41469024397186E-0009 4.37322207013818E-0009 3.48865973767612E-0009 2.74469060779544E-0009 + 2.12582819357182E-0009 1.61742463760986E-0009 1.20568326295078E-0009 8.77671197425942E-0010 6.21332071693833E-0010 + 4.25498791185477E-0010 2.79906382168121E-0010 1.75204912166188E-0010 1.02972484952037E-0010 5.57283103367888E-0011 + 2.69458489853916E-0011 1.10660324784449E-0011 3.51055884905364E-0012 6.95263818452957E-0013 4.35679574858516E-0014 diff --git a/examples/USER/misc/pair_entropy/data.interface b/examples/USER/misc/pair_entropy/data.interface new file mode 100644 index 0000000000..a7d35a6e2c --- /dev/null +++ b/examples/USER/misc/pair_entropy/data.interface @@ -0,0 +1,8211 @@ +LAMMPS data file via write_data, version 30 Mar 2018, timestep = 10000 + +4096 atoms +1 atom types + +0.0000000000000000e+00 1.3840000000000001e+02 xlo xhi +0.0000000000000000e+00 3.4570000000000000e+01 ylo yhi +0.0000000000000000e+00 3.4570000000000000e+01 zlo zhi +0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 xy xz yz + +Masses + +1 22.9898 + +Atoms # full + +761 0 1 0.0000000000000000e+00 6.5718387526877970e+00 1.3719687167668809e+01 9.0764489103374970e+00 0 0 0 +972 0 1 0.0000000000000000e+00 1.4040336334056608e+01 3.2667223025732810e+01 1.8263405578025584e+00 0 0 1 +157 0 1 0.0000000000000000e+00 2.0169041879956669e+01 1.1923176551958365e+01 2.3241277343098265e+01 0 0 0 +333 0 1 0.0000000000000000e+00 1.4596985870718415e+01 1.3111147113686026e+00 1.2091348567791039e+01 0 0 1 +704 0 1 0.0000000000000000e+00 1.7400578084605492e+01 1.9073806421872103e+01 1.6458951010748358e+01 -1 1 0 +943 0 1 0.0000000000000000e+00 1.0855900156710607e+01 1.9178285448765071e+00 1.0364062719981291e+01 0 1 0 +562 0 1 0.0000000000000000e+00 9.7599449965098266e+00 1.1723146328035016e+01 8.0162503238031189e+00 1 0 0 +770 0 1 0.0000000000000000e+00 2.3087951846789174e+01 3.4715780948569632e+00 2.8384438687399964e+01 0 0 0 +701 0 1 0.0000000000000000e+00 8.0741075565448028e+00 4.1972700998148440e+00 1.0991536283363629e+01 1 1 0 +973 0 1 0.0000000000000000e+00 1.4513238119939416e+01 2.0077151599737558e+01 6.8621440235341868e+00 0 0 1 +97 0 1 0.0000000000000000e+00 1.7248338899179114e+01 1.3685010659538008e+01 6.3453085642023321e+00 0 0 0 +471 0 1 0.0000000000000000e+00 1.5302598577052368e+01 1.9611332756830230e+01 1.0861949403189952e+01 0 0 1 +326 0 1 0.0000000000000000e+00 2.3043108700853956e+01 2.3309593465704057e+00 1.7947804714422517e+00 0 0 1 +409 0 1 0.0000000000000000e+00 4.8085504808438735e+00 7.0464245407128612e+00 1.8140994863672759e+01 0 0 0 +481 0 1 0.0000000000000000e+00 5.6197712390228105e+00 3.2949187827072066e+01 9.9926418284218048e+00 0 -1 1 +974 0 1 0.0000000000000000e+00 1.5216033397050754e+01 1.5539705377326133e+01 3.2476660781361005e+01 0 1 0 +171 0 1 0.0000000000000000e+00 1.8486309859024331e+01 3.1960001827275097e+01 5.1323952888642617e-02 0 -1 0 +631 0 1 0.0000000000000000e+00 7.8755730458910271e+00 1.2423205774806140e+01 1.4804436620433419e+01 1 0 0 +620 0 1 0.0000000000000000e+00 1.1048848844019032e+00 2.8000395612369168e+01 1.0480207395658669e+01 0 0 0 +719 0 1 0.0000000000000000e+00 1.7358994345351960e+01 8.6623896759854055e+00 1.6481714984661654e+01 0 0 0 +502 0 1 0.0000000000000000e+00 1.6621383415613515e+01 1.0165002507976945e+01 1.9679295760668928e+01 0 0 1 +773 0 1 0.0000000000000000e+00 8.8366160728714220e+00 3.0591541762394893e+01 5.7254755000250768e+00 0 0 0 +50 0 1 0.0000000000000000e+00 8.9311860902618054e+00 1.9543477906419458e+01 8.7330786805673046e+00 0 0 0 +226 0 1 0.0000000000000000e+00 2.6292798027842501e+01 2.1160963460232047e+01 1.0001306207813423e+01 0 0 0 +863 0 1 0.0000000000000000e+00 1.7947700590702048e+01 9.4576099770855855e+00 2.0521984886265985e+00 0 1 1 +3228 0 1 0.0000000000000000e+00 4.5653152333179287e-01 2.4562727253449705e+01 9.6936858265485100e+00 0 0 -1 +347 0 1 0.0000000000000000e+00 2.2768900344654568e+01 9.7190617211070940e+00 8.8129568754109968e+00 -1 0 0 +847 0 1 0.0000000000000000e+00 7.4660003859981714e+00 3.3961017179402418e+01 1.2129412963637314e+00 1 -1 0 +1004 0 1 0.0000000000000000e+00 1.2852637288040327e+01 1.1201663850785248e+01 1.0928298694390248e+01 0 0 0 +829 0 1 0.0000000000000000e+00 8.8055620875741329e+00 2.5166386299067444e+01 1.4857838199926318e+01 0 0 0 +388 0 1 0.0000000000000000e+00 1.0963521585000954e+01 4.7733658263323147e+00 1.3219264306990674e+01 0 0 0 +717 0 1 0.0000000000000000e+00 6.6064571312036735e+00 1.4750508161105300e+01 1.2252989368238277e+01 0 0 0 +670 0 1 0.0000000000000000e+00 4.4313514018795370e+00 1.0087487472490693e+01 9.0776345780894676e+00 0 0 0 +103 0 1 0.0000000000000000e+00 3.0797906114614877e+00 5.2850603282682078e+00 3.3152825100647355e+01 0 0 -1 +114 0 1 0.0000000000000000e+00 2.6478769069650532e+01 3.2734200521383681e+00 7.5944261786273897e+00 -1 0 0 +818 0 1 0.0000000000000000e+00 9.9888017633094286e+00 1.2178207780971793e+01 1.1418457658710548e+01 -1 0 1 +658 0 1 0.0000000000000000e+00 1.1679232214066761e+01 1.5820844068897983e+01 1.5630687682899799e+01 0 0 0 +217 0 1 0.0000000000000000e+00 6.3674209939515736e+00 1.1296361058881828e+01 1.1793248578305748e+01 1 0 -1 +979 0 1 0.0000000000000000e+00 1.2313379964092958e+01 5.1280886940418071e+00 1.6322648498335209e+01 0 0 0 +106 0 1 0.0000000000000000e+00 1.8552210538438821e+01 1.0456297121004681e+01 9.2534298754824125e+00 0 0 0 +976 0 1 0.0000000000000000e+00 6.9625204092844024e+00 1.7455372721352231e+00 4.1401463593297585e+00 0 1 0 +487 0 1 0.0000000000000000e+00 2.0469863904621519e+01 2.1344305412635091e+01 1.7214710893816839e+01 0 0 0 +36 0 1 0.0000000000000000e+00 1.1070916525533457e+01 3.3814535338552638e+01 6.9713051695709334e+00 0 -1 0 +445 0 1 0.0000000000000000e+00 1.9444618364238945e+01 4.4777320237652889e+00 2.7776496666562164e+01 0 0 -1 +703 0 1 0.0000000000000000e+00 2.1160262653830397e+01 1.7162264093902881e+01 7.0301704699379854e+00 0 1 0 +30 0 1 0.0000000000000000e+00 7.4129670214820456e+00 5.4676827510485921e+00 4.6332226895066508e+00 1 0 0 +585 0 1 0.0000000000000000e+00 8.4612359427175377e-01 2.6799055918916488e+00 1.2979784905280601e+01 0 1 0 +205 0 1 0.0000000000000000e+00 6.2605859964206916e+00 1.2939512687461880e+01 7.0475435471634240e-01 0 0 0 +180 0 1 0.0000000000000000e+00 2.0253230330234807e+01 7.5557089764830998e+00 1.1035588923878905e+01 0 0 0 +824 0 1 0.0000000000000000e+00 1.7819436277563145e+01 1.9512449315277692e+01 8.1903482501004454e+00 0 0 1 +65 0 1 0.0000000000000000e+00 1.6389175357749373e+01 2.0569603882548794e+01 3.4201730367220989e+01 0 0 -1 +3367 0 1 0.0000000000000000e+00 1.7360000033238305e+00 1.1705783965476870e+01 3.1912515310299657e+01 1 0 0 +970 0 1 0.0000000000000000e+00 1.1306376021300386e+01 8.8223505504547131e+00 1.5481427296671452e+01 0 1 0 +752 0 1 0.0000000000000000e+00 9.7648479717276384e+00 3.2610672975123755e+01 1.3700303134291930e+01 0 0 0 +248 0 1 0.0000000000000000e+00 8.1500679410195360e+00 9.3258882100115070e-01 1.2705252585620412e+01 1 1 0 +3255 0 1 0.0000000000000000e+00 5.9906413747293741e-01 1.2889327685742108e+01 1.4001430287037646e+01 1 0 0 +852 0 1 0.0000000000000000e+00 1.2455623117519725e+01 1.3801203591265017e+01 3.1851518758227709e+01 1 0 -1 +473 0 1 0.0000000000000000e+00 2.2257310068439303e+01 3.3130172069447269e+01 6.9828521491174755e-01 0 0 1 +173 0 1 0.0000000000000000e+00 2.2064926565114369e+01 5.8399017260108295e+00 7.3989952110535713e+00 0 1 0 +835 0 1 0.0000000000000000e+00 1.3904437557099596e+01 1.3109779638188648e+01 1.7813730114820064e+01 0 0 0 +888 0 1 0.0000000000000000e+00 2.5051879243504458e+00 6.8117381813365689e+00 8.5435365249792135e+00 0 0 0 +3272 0 1 0.0000000000000000e+00 1.4397993169457066e+00 2.0118048649462366e+01 2.1092347912670689e+01 1 0 -1 +662 0 1 0.0000000000000000e+00 1.7635759375590947e+01 2.1914379318844553e+01 1.4151580693379767e+01 0 0 0 +844 0 1 0.0000000000000000e+00 2.5670364987218530e+01 3.4363654202312283e+01 3.2562490462809116e+01 0 -1 0 +3921 0 1 0.0000000000000000e+00 3.4667080835953650e+00 3.0769127953400652e+01 2.6926012683881289e+01 1 0 0 +64 0 1 0.0000000000000000e+00 3.8403658318201912e+00 2.1218742779148016e+01 1.8648954200249335e+01 0 -1 0 +564 0 1 0.0000000000000000e+00 1.1822461342496192e+01 1.6149964680790337e+01 1.1893540376496464e+01 0 0 0 +379 0 1 0.0000000000000000e+00 2.3383485072496430e+00 1.1138962685969731e+00 1.5689940452528885e+01 1 0 0 +426 0 1 0.0000000000000000e+00 3.8359164749496122e+00 1.6350823047648557e+01 1.2780062536409899e+01 1 0 1 +526 0 1 0.0000000000000000e+00 6.0692814565229787e+00 1.0161526916166972e+01 2.6431117720400588e+00 1 0 0 +687 0 1 0.0000000000000000e+00 1.0997040205963252e-01 1.5395188299866923e+01 1.1140973521458648e+01 0 0 0 +659 0 1 0.0000000000000000e+00 4.2893538118134469e+00 1.5695481093966510e+01 7.7468695928725291e+00 0 0 0 +31 0 1 0.0000000000000000e+00 8.7990405423793359e+00 4.8062043089969881e+00 1.9428340532606651e+01 0 0 0 +3128 0 1 0.0000000000000000e+00 6.3324784831724101e-01 3.3910228941750852e+01 1.7818310126154650e+01 1 -1 0 +340 0 1 0.0000000000000000e+00 7.3321854432089451e+00 4.4404813278138313e+00 1.4074384453277320e+01 0 0 1 +266 0 1 0.0000000000000000e+00 1.1824717103976514e+01 1.2363370814145560e+01 1.4383398579819842e+01 1 0 0 +635 0 1 0.0000000000000000e+00 2.2194625357529958e+01 1.1485198762968599e+01 1.1583514966998887e+01 1 0 0 +1011 0 1 0.0000000000000000e+00 1.5304559963252837e+01 9.5926952366395746e+00 1.6998922962292637e-01 0 0 0 +272 0 1 0.0000000000000000e+00 9.0758984780930643e+00 1.2955669609333196e+01 2.6803762773481852e+00 1 0 1 +2 0 1 0.0000000000000000e+00 9.2745765888376948e+00 2.1284160170118982e+00 1.6803423067306156e+01 0 0 0 +785 0 1 0.0000000000000000e+00 9.0985446101799106e+00 1.5467852730097190e+01 1.3718053688743057e+01 -1 0 0 +194 0 1 0.0000000000000000e+00 2.7472818492208958e+01 3.2669410421744509e+01 4.3809707398334945e+00 0 -1 1 +814 0 1 0.0000000000000000e+00 4.8426723771273075e+00 4.5789650507973976e+00 2.0605871947445987e+01 1 1 0 +177 0 1 0.0000000000000000e+00 2.0177366160725015e+01 3.4565482401847962e+00 8.8702198181459853e+00 0 1 0 +144 0 1 0.0000000000000000e+00 1.2847903725632213e+01 5.7495489650145268e+00 2.0237982845086893e+01 0 0 -1 +145 0 1 0.0000000000000000e+00 1.2256145789560971e+01 9.7363881109590817e+00 8.0021801107541517e+00 0 -1 0 +567 0 1 0.0000000000000000e+00 3.4926238119517325e+00 3.4257715880207606e+01 5.5316681719448617e+00 0 -1 0 +823 0 1 0.0000000000000000e+00 2.0200546905788460e+01 2.4913145631861163e+01 1.5047657953979385e+01 -1 0 1 +387 0 1 0.0000000000000000e+00 3.3186357916219369e+00 1.2850106590432334e+01 7.1273548359765080e+00 0 0 0 +3579 0 1 0.0000000000000000e+00 3.3587522755734796e+00 1.4881501066826782e+01 3.2505667085866001e+01 0 0 -1 +767 0 1 0.0000000000000000e+00 1.5585243364171605e+01 1.9398179918078238e+01 1.9393447986143080e+01 0 0 0 +889 0 1 0.0000000000000000e+00 9.0280191279618762e+00 1.5837314162526699e+01 9.6164144657818262e+00 0 0 0 +700 0 1 0.0000000000000000e+00 1.3854614046022542e+01 6.4008895465616495e+00 7.8280054525574609e+00 0 1 0 +45 0 1 0.0000000000000000e+00 2.2253989268193823e+01 1.4408157282374667e+01 1.4021855994831846e+01 0 0 0 +820 0 1 0.0000000000000000e+00 5.6699625413040851e+00 1.7413212270358702e+01 9.9780711847422143e+00 0 0 0 +819 0 1 0.0000000000000000e+00 1.0769564506594842e+01 5.6464267563855310e+00 9.8326985192177787e+00 1 0 0 +408 0 1 0.0000000000000000e+00 2.1080239743165041e+00 8.7940372831036289e+00 2.8319373313407241e+00 0 0 1 +856 0 1 0.0000000000000000e+00 2.8578427452652186e+00 2.9901078327119176e+01 3.2116332651131430e+01 0 0 0 +421 0 1 0.0000000000000000e+00 1.5721152120744575e+01 3.8090800522803256e+00 1.4539035533315499e+01 1 0 1 +251 0 1 0.0000000000000000e+00 6.4445709042323660e+00 1.1367147743372550e+01 2.2974566579135271e+01 1 0 0 +215 0 1 0.0000000000000000e+00 6.2774454104044333e+00 1.5290914868730775e+01 3.0802572683197425e+01 0 0 -1 +77 0 1 0.0000000000000000e+00 2.1436706120520622e+01 7.6328318383808762e+00 1.8015379750315351e+01 1 -1 0 +478 0 1 0.0000000000000000e+00 8.7588598468053309e+00 2.2173044695958509e+01 2.6581826536815476e+00 1 -1 1 +642 0 1 0.0000000000000000e+00 2.5261334335323394e+01 4.4307356449117998e+00 1.3685475229962160e+01 0 1 0 +301 0 1 0.0000000000000000e+00 1.7056327695277897e+01 2.2527629658943422e+01 1.0821650164353118e+01 0 0 1 +953 0 1 0.0000000000000000e+00 9.3702320898675975e+00 3.3112779314350469e+01 9.9980626724739690e+00 0 -1 1 +821 0 1 0.0000000000000000e+00 2.5899867363635629e+01 1.0593655788239458e+01 1.4075515969704295e+01 0 0 0 +442 0 1 0.0000000000000000e+00 1.7240451576855385e+01 2.5272425838676455e+01 7.8611695743930721e+00 0 -1 1 +710 0 1 0.0000000000000000e+00 7.5224636381612395e+00 3.0169233922489070e+01 8.7752348426243909e+00 1 -1 0 +706 0 1 0.0000000000000000e+00 1.8558212261168598e+00 5.8036642540649668e+00 1.5144182497011009e+00 0 0 0 +947 0 1 0.0000000000000000e+00 4.0020883300865320e+00 5.4161126027846362e-01 1.8951573051860819e+01 0 1 0 +731 0 1 0.0000000000000000e+00 2.1178637237848449e+01 1.1486314891879037e+01 1.9202107759472637e+00 0 1 0 +29 0 1 0.0000000000000000e+00 7.1663341217932324e+00 1.6682216214069804e+01 1.6431080400376043e+01 1 0 0 +455 0 1 0.0000000000000000e+00 1.1792422186970267e+01 1.7590032037707545e+01 6.0354398819545594e+00 1 0 1 +839 0 1 0.0000000000000000e+00 1.4605379447678184e+01 1.0611914045254979e+01 1.5498650526217780e+01 0 1 0 +71 0 1 0.0000000000000000e+00 2.5977569550225339e+00 1.9877486151206689e+00 3.1896266113112539e+01 1 0 -1 +811 0 1 0.0000000000000000e+00 1.7013390198933472e+01 3.3496721659120773e+01 3.0470853380158913e+00 0 -1 0 +626 0 1 0.0000000000000000e+00 2.1583903762083697e+01 5.7209879219168052e+00 1.4560197757283701e+01 0 1 0 +865 0 1 0.0000000000000000e+00 1.7944107731900914e+01 1.7317849501156097e+01 4.6229096063009321e+00 0 1 1 +341 0 1 0.0000000000000000e+00 4.4735072071369464e+00 1.3681408542334813e+01 1.4646865329976952e+01 0 0 0 +826 0 1 0.0000000000000000e+00 1.0378600611817816e+00 1.8678134733140197e+01 6.4806660852324871e+00 0 0 0 +793 0 1 0.0000000000000000e+00 5.7642772277317107e+00 1.8621910468783344e+01 1.3811456012578221e+01 1 -1 0 +638 0 1 0.0000000000000000e+00 8.7677536263085702e+00 6.4759534658602025e+00 1.6328513925548322e+01 0 0 0 +3680 0 1 0.0000000000000000e+00 4.7327075813230737e+00 2.4856492276640100e+01 1.8980820971361236e+01 0 0 0 +805 0 1 0.0000000000000000e+00 9.6384969588096447e-01 1.6089195066991323e+01 1.4361402465750190e+01 1 0 0 +981 0 1 0.0000000000000000e+00 1.4581847435479556e+01 6.8074686325544871e+00 1.4316520594799929e+01 0 0 1 +94 0 1 0.0000000000000000e+00 1.9802013084705756e+01 4.1818430513286886e-01 6.4317730338630010e+00 0 0 0 +711 0 1 0.0000000000000000e+00 1.3760444805807827e+01 4.5403088317810916e+00 1.1170246382573589e+01 1 1 0 +989 0 1 0.0000000000000000e+00 1.3339187787949545e+01 2.9215950674457709e+01 1.1583513356757273e+01 0 0 1 +875 0 1 0.0000000000000000e+00 2.1686084285187682e+01 3.3639196772829990e+01 1.5544927889975847e+01 0 0 1 +383 0 1 0.0000000000000000e+00 3.1352193031169755e+01 1.8037470319701026e+01 2.4586515119465422e+00 0 0 1 +736 0 1 0.0000000000000000e+00 1.9995270192713928e+01 3.8590012404033824e-01 2.5514606940581435e+00 0 1 1 +884 0 1 0.0000000000000000e+00 6.7696839298583278e+00 3.4516113082422422e+01 1.6025504696791948e+01 0 -1 0 +169 0 1 0.0000000000000000e+00 1.5229476184809119e+01 1.5448586751447177e+01 3.8373029867095094e+00 1 0 0 +738 0 1 0.0000000000000000e+00 1.2947992983996327e+01 3.0461588537809753e+01 4.9831409888677500e+00 0 0 0 +25 0 1 0.0000000000000000e+00 1.7464602564529754e+00 2.2423510882735609e+01 6.7183349821366747e+00 1 0 0 +583 0 1 0.0000000000000000e+00 4.9505811713186230e+00 2.4517668430466564e+01 5.7706555690114723e+00 1 0 0 +364 0 1 0.0000000000000000e+00 8.5990984770773817e+00 8.9158209387633729e+00 9.7751263051921349e+00 -1 0 0 +3912 0 1 0.0000000000000000e+00 3.5047260329962100e+00 2.5629138976239382e+01 3.2232111780908511e+01 1 0 0 +254 0 1 0.0000000000000000e+00 2.0867490382212054e+01 1.3519502130883302e+01 7.8112631642210122e+00 1 -1 1 +225 0 1 0.0000000000000000e+00 2.9381368298685686e+01 1.3824314268457496e+00 2.2892211478885578e+00 0 1 0 +290 0 1 0.0000000000000000e+00 1.2730219267310357e+01 3.2413701307295163e+01 1.9217155103987533e+01 0 -1 0 +117 0 1 0.0000000000000000e+00 2.7654457562779999e+01 6.2657747747896284e+00 6.0276754591425377e+00 0 0 0 +484 0 1 0.0000000000000000e+00 1.2531600559163897e+01 2.7775894166930093e+00 7.3089137860926652e+00 0 1 1 +304 0 1 0.0000000000000000e+00 2.1890147273544468e+01 3.0106196470508156e+01 1.4722176430570878e+01 0 -1 0 +591 0 1 0.0000000000000000e+00 1.4849928203884478e+01 1.6716313299501557e+01 7.4366460869956166e+00 0 1 0 +939 0 1 0.0000000000000000e+00 6.4640811601907648e+00 1.2251682219968909e+01 6.2853550952494190e+00 0 0 1 +3238 0 1 0.0000000000000000e+00 1.5115231542448648e+00 2.5003049558830499e+00 6.0299393859049566e-01 0 0 0 +898 0 1 0.0000000000000000e+00 7.8544811020054146e+00 3.4130407706210029e+01 3.0786061227316303e+01 0 0 -1 +16 0 1 0.0000000000000000e+00 4.7965771022136687e+00 1.3868949528245309e+01 3.8005757640400484e+00 0 0 0 +3744 0 1 0.0000000000000000e+00 8.8548408649825872e-01 2.6757036242893872e+01 1.5450314551558401e+01 1 0 0 +361 0 1 0.0000000000000000e+00 1.4900858775458387e+01 1.3379880470744553e+01 1.2970904875178011e+01 0 0 0 +3939 0 1 0.0000000000000000e+00 1.4999508728469232e-01 1.1360187782461416e+01 1.7308422967202169e+01 0 0 1 +281 0 1 0.0000000000000000e+00 1.1939443356957000e+01 1.4366781906813321e+01 8.7840481579835430e+00 0 0 1 +479 0 1 0.0000000000000000e+00 9.6870091412921848e+00 2.9189004499112844e+01 1.1062084862446927e+01 1 -1 0 +424 0 1 0.0000000000000000e+00 2.3857784252554570e+01 1.5512088344118061e+01 9.5944290681633504e+00 -1 0 1 +531 0 1 0.0000000000000000e+00 1.9422428796846511e+01 1.3126418848343180e+01 1.1392030662579206e+01 0 0 0 +964 0 1 0.0000000000000000e+00 1.7089892100327457e+01 3.7703235282804677e+00 1.0748195830295062e+01 0 0 0 +438 0 1 0.0000000000000000e+00 1.0873795453236990e+01 2.1361270980259222e+00 4.0709573899120048e+00 1 0 0 +790 0 1 0.0000000000000000e+00 1.7099300819346926e+01 9.9895856614918959e+00 1.3029869137744548e+01 0 1 1 +696 0 1 0.0000000000000000e+00 2.5503156319831913e+01 6.5158245676785933e+00 9.1969653829780320e+00 -1 0 0 +3375 0 1 0.0000000000000000e+00 1.4814299622220142e+00 2.7254508865677650e+01 1.9172831126455350e+01 0 0 0 +513 0 1 0.0000000000000000e+00 3.3003282982120858e+01 2.3073214906502926e+01 2.7966762602713828e+01 0 0 -1 +121 0 1 0.0000000000000000e+00 4.0660447136615856e+00 3.6835442049516809e-01 2.0623315222236283e+00 1 0 0 +190 0 1 0.0000000000000000e+00 5.2622367671215171e+00 3.1955597004788334e+00 1.7163337939619460e+01 1 1 0 +396 0 1 0.0000000000000000e+00 1.1414969733803526e+01 3.3423871547403202e+01 3.0314619782582550e+01 0 -1 0 +43 0 1 0.0000000000000000e+00 2.4468010487163472e+01 1.5143574035061512e+01 5.6130216876186916e+00 0 -1 0 +712 0 1 0.0000000000000000e+00 1.7912859836497187e+01 1.8195211072081918e+01 1.2784381380444284e+01 1 0 0 +261 0 1 0.0000000000000000e+00 2.0954196674581031e+01 8.5365414044088492e+00 6.0945938827261799e+00 1 0 1 +993 0 1 0.0000000000000000e+00 1.5740788826219125e+01 1.2772614212666788e+01 9.4770701158345432e+00 0 0 0 +550 0 1 0.0000000000000000e+00 3.2354484960557748e+01 2.7152583772107244e+00 3.3404454708033256e+01 1 1 -1 +969 0 1 0.0000000000000000e+00 1.9607208448343716e+01 1.2353153797047300e+00 3.3672725071664949e+01 -1 1 0 +457 0 1 0.0000000000000000e+00 1.9863816990919281e+00 2.3615262532529076e+01 2.9196117779382817e+01 1 -1 0 +509 0 1 0.0000000000000000e+00 1.6852825760521142e+01 1.3014005194267568e+01 1.5918293362393596e+01 0 0 -1 +520 0 1 0.0000000000000000e+00 5.5327901135110551e+00 1.7386151708714099e+00 2.9743454811687542e+01 0 1 -1 +529 0 1 0.0000000000000000e+00 2.5736647286668440e+01 2.1682741406976049e+00 4.3743771638224773e+00 0 1 0 +161 0 1 0.0000000000000000e+00 1.7872532215477889e+01 1.5784394449478999e+01 9.0427989660752601e+00 0 0 0 +769 0 1 0.0000000000000000e+00 1.6597745147515653e+01 1.3429748220227243e+01 8.8336747746565428e-02 0 0 1 +827 0 1 0.0000000000000000e+00 3.4932290555536243e+00 1.3758006574170468e+01 1.7719476930083552e+01 0 1 0 +665 0 1 0.0000000000000000e+00 1.6910127304827011e+01 1.7264258416372893e+01 5.8718038364582137e-01 0 0 0 +557 0 1 0.0000000000000000e+00 1.0644079434393678e+01 1.0926690090792484e+01 4.3502342476109863e+00 0 0 0 +732 0 1 0.0000000000000000e+00 3.2776397209539283e+01 6.0204678726043399e+00 3.2603267809128553e+01 0 0 -1 +485 0 1 0.0000000000000000e+00 7.9638424508037851e+00 9.0594325534294455e+00 5.8329339813186589e+00 0 0 0 +482 0 1 0.0000000000000000e+00 2.3886725548898536e+01 4.4077679221076913e+00 1.7161934656833594e+01 0 0 1 +641 0 1 0.0000000000000000e+00 2.7550654625113754e+01 1.4058319168781278e+01 3.4899844488875713e+00 0 0 0 +112 0 1 0.0000000000000000e+00 1.5665212634146982e+01 1.0562658952951685e+01 6.9676218483932049e+00 0 0 0 +402 0 1 0.0000000000000000e+00 2.4416956803334031e+01 5.0444448357578464e+00 4.8666048750919755e+00 0 0 0 +577 0 1 0.0000000000000000e+00 5.2793218040775391e+00 7.2085916546066180e+00 1.1752725922395383e+01 0 0 0 +535 0 1 0.0000000000000000e+00 6.8445146036063962e+00 1.5262285422731534e+00 9.9008586528444127e+00 0 1 0 +116 0 1 0.0000000000000000e+00 1.4226645412997089e+01 8.5786234540870865e+00 1.7830031018162540e+01 0 0 0 +817 0 1 0.0000000000000000e+00 1.9741570267233051e+01 4.4802595337012114e+00 5.2751726175486358e+00 0 1 1 +766 0 1 0.0000000000000000e+00 1.9650672629827156e+01 1.1695720990204045e+01 1.4849894833136723e+01 0 1 0 +21 0 1 0.0000000000000000e+00 9.3274625507818616e+00 8.1950923159071625e+00 1.7875396364864595e+00 0 1 0 +410 0 1 0.0000000000000000e+00 4.2401606227327742e+00 9.5215754435469986e+00 5.5493211819022950e+00 -1 0 1 +19 0 1 0.0000000000000000e+00 9.3774272532703584e+00 1.4882696114937309e+01 5.9110898393261007e+00 0 0 0 +411 0 1 0.0000000000000000e+00 1.9699767643116608e+01 2.2532011922754162e+01 7.9050445282504924e+00 0 0 1 +702 0 1 0.0000000000000000e+00 3.1821824027432676e+01 7.5313073773081773e-01 3.0917412859750780e+01 0 1 0 +944 0 1 0.0000000000000000e+00 3.1213962650570519e+01 3.2682183259341777e+01 3.9738452390361116e+00 0 0 1 +727 0 1 0.0000000000000000e+00 1.7828496068208739e+01 1.4956382510077630e+01 1.3386993573287743e+01 -1 1 0 +3158 0 1 0.0000000000000000e+00 3.8816978801776936e-01 1.3805215385932627e+01 2.4277258864112596e+01 0 0 -1 +1378 0 1 0.0000000000000000e+00 2.9845919580048825e+01 1.7566999454632551e+01 2.0334277216277794e+01 0 0 0 +59 0 1 0.0000000000000000e+00 2.1535186724777944e+01 2.9993489408446656e+01 6.1782678445936474e+00 0 -1 0 +661 0 1 0.0000000000000000e+00 8.7538337591431397e+00 1.8869048198228125e+01 4.1871957848743522e+00 0 0 1 +747 0 1 0.0000000000000000e+00 1.8611824932369370e+01 1.1273097708685638e+01 4.9724902712540366e+00 0 1 0 +925 0 1 0.0000000000000000e+00 1.5532024786823790e+01 8.4118103105208988e+00 1.0014922528488334e+01 0 0 1 +111 0 1 0.0000000000000000e+00 6.2237310231642962e+00 5.6592041509198143e+00 3.2953123303900924e+01 0 0 -1 +234 0 1 0.0000000000000000e+00 7.5046743292188003e+00 3.0927073153128752e+01 1.7188303881399520e+01 0 -1 -1 +978 0 1 0.0000000000000000e+00 6.0665343724958678e+00 1.9258353840910225e+01 1.8432384730179538e+00 0 1 1 +13 0 1 0.0000000000000000e+00 8.7848610660748161e+00 7.8055204161204106e+00 1.2792439429156266e+01 0 0 0 +563 0 1 0.0000000000000000e+00 1.8447697940871631e+01 6.4149938211504498e+00 8.3431400191969445e+00 0 0 0 +948 0 1 0.0000000000000000e+00 2.0795223499421130e+01 2.0040928761159819e+01 1.0385960389498930e+01 0 0 0 +778 0 1 0.0000000000000000e+00 2.5304120176133601e+01 9.0382620919724417e+00 6.6503519266826325e+00 -1 0 0 +500 0 1 0.0000000000000000e+00 2.4189240897167970e+01 7.2542358824616837e+00 1.9272813278006847e+01 0 0 0 +982 0 1 0.0000000000000000e+00 2.3057488996227256e+01 2.2830826706390454e+01 5.8036890290212551e+00 0 0 1 +3365 0 1 0.0000000000000000e+00 1.8402500726099877e+00 4.9575003914017595e+00 1.7726306981260365e+01 0 0 0 +985 0 1 0.0000000000000000e+00 2.6466157282679362e+01 3.3778959360703089e+00 4.2549587731940147e-01 0 1 1 +503 0 1 0.0000000000000000e+00 1.2151821195239805e+01 8.2602003837499165e+00 1.1884608836852806e+01 0 0 0 +461 0 1 0.0000000000000000e+00 3.1572205725077387e+00 1.3297859907923851e+01 1.0682136870397215e+01 1 0 0 +677 0 1 0.0000000000000000e+00 1.1789374031431468e+00 1.0009281977635949e+01 9.1138019275496838e+00 0 0 0 +556 0 1 0.0000000000000000e+00 2.2621257981859241e+01 2.0395936709873816e+00 5.9245794180404134e+00 0 1 0 +3458 0 1 0.0000000000000000e+00 1.9725045465075031e+00 7.8825657595605669e+00 3.0202777329012470e+01 1 0 0 +267 0 1 0.0000000000000000e+00 2.3492864043268259e+01 2.7548817069525118e+00 3.2928154089232613e+01 1 0 0 +533 0 1 0.0000000000000000e+00 1.9112753406363261e+01 2.2315813733880084e+01 2.7615159065335789e+01 0 0 -1 +469 0 1 0.0000000000000000e+00 2.3941167187407171e+00 2.0345775232961497e+01 2.8294953004348038e+01 1 -1 0 +607 0 1 0.0000000000000000e+00 8.7391702072351691e+00 3.3290332856029590e+00 7.0565217887422289e+00 0 1 0 +252 0 1 0.0000000000000000e+00 2.2795720659965411e+01 1.0863398258018449e+01 1.5950482950288649e+01 -1 0 0 +202 0 1 0.0000000000000000e+00 5.7171947868822439e+00 8.9681227470864560e+00 1.5037162115902944e+01 0 0 0 +707 0 1 0.0000000000000000e+00 7.0396926223932477e+00 3.4291934348238179e+01 6.9265153217992959e+00 0 0 0 +48 0 1 0.0000000000000000e+00 7.6523513011822752e-01 2.9365244123894605e+01 6.7948435050645264e+00 0 -1 0 +393 0 1 0.0000000000000000e+00 3.4293107974780019e+00 2.8117830390718787e+01 4.0375409865456167e+00 0 -1 1 +99 0 1 0.0000000000000000e+00 1.6781116102336362e+01 3.2965760523778883e+01 6.5238435604580554e+00 0 -1 0 +175 0 1 0.0000000000000000e+00 2.1671877787791363e+01 2.5363065015224402e+00 1.5290267665475035e+01 0 -1 0 +548 0 1 0.0000000000000000e+00 1.8549452927918736e+01 6.7982517296516631e+00 2.0134539993839390e+01 0 1 0 +32 0 1 0.0000000000000000e+00 3.8935074769739728e+00 4.0999982265547574e+00 1.0562460436810012e+01 1 0 0 +639 0 1 0.0000000000000000e+00 5.9261797076837714e+00 2.7894360767065535e+01 1.0918873019975740e+01 1 0 0 +656 0 1 0.0000000000000000e+00 2.0715288274367321e+01 1.6516408855853243e+01 1.1061384232519728e+01 0 1 0 +33 0 1 0.0000000000000000e+00 2.1316536571254801e+01 1.4374627941290658e+01 4.5886174944408742e+00 0 -1 0 +260 0 1 0.0000000000000000e+00 3.5038879491075545e+00 7.8790357836459368e-01 8.6131470098626863e+00 0 0 0 +142 0 1 0.0000000000000000e+00 2.2436014141511134e+01 1.4969839579410412e+01 3.4455930625235439e+01 -1 0 0 +3337 0 1 0.0000000000000000e+00 2.1316676097070997e+00 8.6971236732986057e+00 1.6133726718610362e+01 0 0 0 +12 0 1 0.0000000000000000e+00 3.2683462475457603e+01 1.1940705965077958e+01 1.5893988505079761e+01 -1 0 0 +4012 0 1 0.0000000000000000e+00 6.3367347115002559e+00 2.7964277915875389e+01 3.0807653043405001e+01 1 0 0 +314 0 1 0.0000000000000000e+00 4.0054020570170890e+00 6.1921913321995623e+00 5.1287891176373135e+00 1 0 1 +233 0 1 0.0000000000000000e+00 1.0129987498210429e+01 1.9030767104766031e+01 1.6029831489119974e+01 1 0 0 +644 0 1 0.0000000000000000e+00 1.9754316463193238e+01 2.4338502202869311e+01 1.1107161815799637e+01 0 0 0 +1026 0 1 0.0000000000000000e+00 3.3073673918752981e+01 3.4182015234387677e+01 1.0482495320063816e+00 0 -1 0 +241 0 1 0.0000000000000000e+00 1.8693218603348196e+01 2.3921164427332268e+01 1.0772437047125061e+00 1 0 0 +627 0 1 0.0000000000000000e+00 1.9097859652665729e+01 1.9848146379924156e+01 2.0569282164547591e+00 0 0 0 +539 0 1 0.0000000000000000e+00 9.9084860938020947e-01 2.3331168637288069e+01 1.4826585473489981e+01 0 0 0 +690 0 1 0.0000000000000000e+00 1.8050413586215274e+01 3.4318383987651067e+00 2.6183104695699564e+00 0 0 0 +289 0 1 0.0000000000000000e+00 1.5951240629320834e+01 1.6156561191632587e+01 1.6699300048749667e+01 0 0 1 +230 0 1 0.0000000000000000e+00 6.8216563262937004e+00 6.1911912542858207e+00 8.1515256745689637e+00 1 0 0 +1 0 1 0.0000000000000000e+00 1.8160371067291596e+01 2.7475802909092710e+01 6.9594951583791431e-01 0 0 0 +849 0 1 0.0000000000000000e+00 3.1646987218486309e+01 3.3625639072675732e+01 6.8890070168739426e+00 0 0 1 +602 0 1 0.0000000000000000e+00 1.7821568671787301e+01 2.8961542589425388e+01 1.0265537814389745e+01 0 0 -1 +528 0 1 0.0000000000000000e+00 1.4013881808356741e+01 5.8171525167848299e-02 8.7625046091978120e+00 0 0 0 +285 0 1 0.0000000000000000e+00 1.3983965114223766e+01 2.4393023087023447e+01 5.5365016348419989e+00 0 -1 1 +634 0 1 0.0000000000000000e+00 7.5069348414796044e-01 1.8239934032253953e+00 2.0338902101492099e+01 0 1 0 +815 0 1 0.0000000000000000e+00 1.7586195329861361e+01 2.2202723059463533e+01 1.7913475621626077e+01 0 0 -1 +132 0 1 0.0000000000000000e+00 4.0304032218261927e+00 3.1265630636711755e+01 1.7656227148457040e+00 0 0 0 +288 0 1 0.0000000000000000e+00 2.2588950927186353e+01 2.2154348724813325e+01 1.3123459487252008e+01 0 -1 1 +237 0 1 0.0000000000000000e+00 1.6784038657819291e+01 3.3125845119478377e+01 1.8808490091905380e+01 0 -1 0 +723 0 1 0.0000000000000000e+00 5.9257157714389699e+00 2.1732724818631976e+01 3.3952070627447490e+01 0 0 -1 +435 0 1 0.0000000000000000e+00 2.9104294846679199e+01 2.7355284539892899e+01 1.9331589514548753e+01 0 -1 0 +3500 0 1 0.0000000000000000e+00 4.4746993817150251e+00 2.6901735362753040e+01 2.6679835109142939e+01 1 0 0 +936 0 1 0.0000000000000000e+00 1.0984072264804070e+01 2.5895749335402851e+01 8.6975909809435397e+00 1 0 1 +325 0 1 0.0000000000000000e+00 2.4734339297533769e+01 2.3696986354607503e+01 2.0039394433736896e-01 0 0 1 +70 0 1 0.0000000000000000e+00 8.3198330104478266e+00 2.7477430105121204e+01 7.5698993474959062e+00 1 -1 0 +930 0 1 0.0000000000000000e+00 1.5058021854150876e+01 1.5432423429623428e+00 2.1669860864563808e+00 0 1 1 +1265 0 1 0.0000000000000000e+00 3.4445968199395047e+01 1.6348438237561609e+01 1.1857663065671813e+01 0 0 0 +868 0 1 0.0000000000000000e+00 1.5741942967571637e+01 2.2236979046729193e+01 2.7150262308036637e+00 0 0 1 +178 0 1 0.0000000000000000e+00 6.4262156357929934e+00 3.1504854163534826e+01 1.2851891365235049e+01 1 -1 0 +1018 0 1 0.0000000000000000e+00 2.3549908747389445e+01 2.6730868341638601e+01 6.2300984594337638e+00 0 0 1 +464 0 1 0.0000000000000000e+00 2.5572107655662936e+01 2.2878574632140779e+01 2.9982142274405145e+01 0 0 0 +992 0 1 0.0000000000000000e+00 2.1070231222374442e+01 2.5598155418836591e+01 8.1277307875421219e+00 0 0 0 +739 0 1 0.0000000000000000e+00 2.3937568912382027e+01 1.8596464806826571e+01 1.2120458916829802e+01 -1 0 0 +681 0 1 0.0000000000000000e+00 3.9312982738759135e+00 2.4442038214808154e+01 9.0239584427628579e+00 0 0 0 +3573 0 1 0.0000000000000000e+00 3.4226248383135252e+00 1.0139448110572278e+01 2.0355101183374622e+01 1 0 1 +496 0 1 0.0000000000000000e+00 3.0709796147266808e+01 1.9483925446703868e+01 3.2030818582907855e+01 0 -1 0 +955 0 1 0.0000000000000000e+00 1.6038679307198997e+01 3.1852842220418154e+01 1.1904965617423979e+01 0 -1 0 +771 0 1 0.0000000000000000e+00 2.1804793822240111e+01 2.8883694003075618e+01 9.9927035339231640e+00 0 0 0 +804 0 1 0.0000000000000000e+00 7.7890950745171290e+00 1.5989134950225433e+01 2.4336089038898514e+00 1 0 0 +57 0 1 0.0000000000000000e+00 2.5653226154950055e+01 2.0754253738083710e+00 1.5614175334618952e+01 0 0 0 +651 0 1 0.0000000000000000e+00 1.2978454637491851e+01 2.2714807898237432e+01 9.3090728096399271e+00 0 0 0 +741 0 1 0.0000000000000000e+00 7.4012143349419777e+00 2.4493185407690525e+01 8.6336153979966301e+00 0 0 0 +604 0 1 0.0000000000000000e+00 2.0681770082595087e+01 2.7572626388266933e+01 3.9250812429283903e+00 0 0 0 +883 0 1 0.0000000000000000e+00 4.4494852579941870e+00 1.7751801725408022e+01 4.9849608504729250e+00 0 0 0 +952 0 1 0.0000000000000000e+00 2.0179190954835784e+00 3.3953511376159064e+01 1.1447631955197087e+01 0 -1 0 +843 0 1 0.0000000000000000e+00 1.2832684610412420e+01 1.7396720271095653e+01 2.1056026178411685e-01 0 0 1 +188 0 1 0.0000000000000000e+00 3.3921985382487300e+01 2.7893408132298624e+01 9.5497539084161094e+00 0 0 0 +760 0 1 0.0000000000000000e+00 2.8987314279228777e+01 2.8676757434785536e+01 3.3416592056149774e+01 -1 1 0 +941 0 1 0.0000000000000000e+00 7.3377958960638567e-01 1.9622691249925484e+01 1.6898937366771996e+01 1 0 0 +618 0 1 0.0000000000000000e+00 1.0893117251383888e+01 3.3210188065242392e+01 2.9795282790984872e+00 1 0 0 +118 0 1 0.0000000000000000e+00 2.5308741769392945e+01 2.4665658330207911e+01 7.6919910489478784e+00 0 -1 0 +664 0 1 0.0000000000000000e+00 1.1130663401994337e+01 2.7454191737444138e+01 5.4311875515435108e+00 0 0 1 +278 0 1 0.0000000000000000e+00 6.5340813517528291e+00 3.2247097927405235e+01 3.9645217685677840e+00 1 -1 0 +218 0 1 0.0000000000000000e+00 1.4171433646758677e+01 2.3402407120169940e+01 1.2375885139473912e+01 0 0 0 +406 0 1 0.0000000000000000e+00 3.8596074964672380e+00 2.9020892865077904e+01 1.4044386616428534e+01 0 0 1 +834 0 1 0.0000000000000000e+00 2.0910613667952759e+01 6.2600272323643780e-01 1.0580986539858415e+01 0 1 0 +222 0 1 0.0000000000000000e+00 2.4663876248083402e-01 5.5108999186343777e+00 5.1111874782744628e+00 1 0 0 +139 0 1 0.0000000000000000e+00 1.4389901250118237e+01 1.7051562855310781e+01 1.3721121047358315e+01 0 0 0 +199 0 1 0.0000000000000000e+00 1.3606043262443492e+01 3.4252968311428504e+01 5.3578217224503684e+00 0 -1 -1 +584 0 1 0.0000000000000000e+00 2.6406243240340174e+01 2.6692310374370795e+01 1.7879716908776668e+01 0 0 0 +280 0 1 0.0000000000000000e+00 9.7027017222662462e+00 2.2664540328146671e+01 8.1890322131757323e+00 0 0 1 +640 0 1 0.0000000000000000e+00 1.9677402681431374e+01 3.1636983368048952e+01 9.0042881255007021e+00 0 0 0 +181 0 1 0.0000000000000000e+00 1.9798190771682922e+01 3.8421242841197323e+00 1.2493602222690615e+01 0 0 0 +552 0 1 0.0000000000000000e+00 8.8465238786114107e+00 2.6013140945555445e+01 1.1372388308146853e+01 0 0 0 +749 0 1 0.0000000000000000e+00 2.8560000243921611e+00 2.2266581959754479e+01 1.1556520250341730e+01 0 0 0 +837 0 1 0.0000000000000000e+00 1.1088531726606560e+01 2.1469267919976502e+01 5.3820019790443530e+00 1 0 0 +676 0 1 0.0000000000000000e+00 4.0057296641593672e+00 2.1492102200311791e+01 3.9659113300503805e+00 1 0 0 +1682 0 1 0.0000000000000000e+00 3.2536105156441316e+01 2.3263362731027033e+01 1.0171392789448907e+01 0 0 0 +851 0 1 0.0000000000000000e+00 2.5954520451673826e+01 2.0776871116920610e+01 6.3095253630251404e+00 0 0 1 +130 0 1 0.0000000000000000e+00 8.5306317891607542e+00 2.4236301717089972e+01 5.4576790975037763e+00 1 -1 0 +729 0 1 0.0000000000000000e+00 1.4264495738079066e+01 2.6268989038391574e+01 9.9358654012789458e+00 1 0 0 +861 0 1 0.0000000000000000e+00 2.0640092100556839e+00 1.7912649533422645e+01 9.9170096850626486e+00 1 0 0 +168 0 1 0.0000000000000000e+00 1.1972835107942037e+01 2.6016694021223273e+01 1.3099569562882776e+01 0 -1 0 +855 0 1 0.0000000000000000e+00 1.3289211582753520e+01 1.9062340931970759e+01 1.7035362022984149e+01 0 0 0 +517 0 1 0.0000000000000000e+00 2.2125346567658447e+01 2.1695690086596382e+01 1.5634025978365924e+00 0 0 0 +450 0 1 0.0000000000000000e+00 1.2063652728843222e+01 1.8697162622064351e+01 9.3005740454241952e+00 0 0 1 +698 0 1 0.0000000000000000e+00 7.1640701528938253e+00 1.7677064330036963e+01 6.8069191188883975e+00 0 0 0 +81 0 1 0.0000000000000000e+00 2.9048583505047120e+01 2.0287009603609295e+01 8.0212235819137465e+00 0 -1 -1 +927 0 1 0.0000000000000000e+00 8.8194762268831994e-01 1.7284637861862901e+01 3.0533260884447905e+01 1 0 -1 +776 0 1 0.0000000000000000e+00 5.0444056335059582e+00 2.7708758257301188e+01 5.3486880998556341e-01 0 0 0 +74 0 1 0.0000000000000000e+00 1.4746234331782466e+01 1.8636091266692137e+01 3.3414121310267677e+00 0 0 0 +994 0 1 0.0000000000000000e+00 4.3706627556149531e+00 1.4912175440707953e+00 1.3003455755139159e+01 0 1 0 +263 0 1 0.0000000000000000e+00 1.7127037933060322e+01 2.6118176078812120e+01 4.0916408981673564e+00 1 0 1 +959 0 1 0.0000000000000000e+00 4.0549302270404679e+00 1.9995962973621872e+01 7.8161856937699561e+00 1 0 1 +1007 0 1 0.0000000000000000e+00 2.2985929894161099e+01 2.2886666100090448e+01 9.1397216918830786e+00 0 0 0 +302 0 1 0.0000000000000000e+00 1.5007455161383124e+01 3.0133524126797113e+01 1.8170349155425921e+01 1 -1 0 +646 0 1 0.0000000000000000e+00 4.8480960076661876e+00 3.0589210984168858e+01 6.4412406666458635e+00 0 0 0 +892 0 1 0.0000000000000000e+00 1.9993200086891378e+01 3.1824727245170969e+01 3.5888436668349821e+00 0 0 1 +553 0 1 0.0000000000000000e+00 2.3220612353968388e+01 2.5915204125825692e+01 1.9826929682329840e+01 0 0 0 +933 0 1 0.0000000000000000e+00 3.8094586545495690e+00 3.3035790137188627e+01 1.4482847094976856e+01 1 0 1 +596 0 1 0.0000000000000000e+00 2.2696892230429984e+01 3.2313197567619717e+01 1.1733173812387450e+01 1 0 1 +159 0 1 0.0000000000000000e+00 2.4015945474469092e+01 1.8012905190801014e+00 9.2056396160945901e+00 0 1 0 +920 0 1 0.0000000000000000e+00 1.3463031594802205e+01 3.1398080471313037e+01 1.4957742679457715e+01 1 0 0 +433 0 1 0.0000000000000000e+00 1.8449731455561725e+01 1.8288311684249990e+01 3.2134563917653111e+01 0 -1 -1 +1490 0 1 0.0000000000000000e+00 2.9113458350465383e+01 1.0410973604128968e+01 3.0252983569695349e+01 0 0 0 +221 0 1 0.0000000000000000e+00 1.4831108044758002e+01 3.0301324235260065e+01 2.8283844433278748e+01 0 -1 -1 +417 0 1 0.0000000000000000e+00 1.7029719155834080e+01 2.6432717939446484e+01 1.2337002688833904e+01 0 0 1 +133 0 1 0.0000000000000000e+00 2.6722060168530639e+01 1.5487861626990448e+01 2.9698352419934128e+01 0 0 -1 +693 0 1 0.0000000000000000e+00 1.5327668285071796e+01 3.0653340500960862e+01 8.2978926751681037e+00 0 0 1 +678 0 1 0.0000000000000000e+00 2.5731347141993613e+01 3.3950795026677469e+01 1.2127274043471143e+00 0 0 0 +394 0 1 0.0000000000000000e+00 2.7394966919741442e+01 1.8546716087357471e+01 1.8269014988260444e+01 -1 0 0 +917 0 1 0.0000000000000000e+00 1.0351262275439608e+00 2.3773125784882435e+01 1.8385551694058215e+01 0 0 0 +846 0 1 0.0000000000000000e+00 2.2887298960281921e+01 2.5989996141036553e+01 1.1498413764353407e+01 -1 0 1 +146 0 1 0.0000000000000000e+00 1.1540734189302182e+01 1.8067195136900442e+00 1.4004061563144653e+01 1 0 -1 +23 0 1 0.0000000000000000e+00 1.8607113589176702e+01 2.8419319758680775e+01 7.1977990889791084e+00 0 -1 0 +41 0 1 0.0000000000000000e+00 7.9510761600759883e-01 1.5443268665826475e+01 8.0381021334789065e+00 0 0 -1 +866 0 1 0.0000000000000000e+00 1.4002906836250535e+01 2.7439289251121124e+01 2.8719047242200642e+00 0 0 0 +498 0 1 0.0000000000000000e+00 6.4743691954429998e+00 2.0996191231463566e+01 1.0740246478737923e+01 0 -1 0 +101 0 1 0.0000000000000000e+00 1.7199593356883494e+01 2.1187871357933826e+01 5.3064462677960567e+00 -1 0 0 +540 0 1 0.0000000000000000e+00 2.3404826187747940e+01 1.9363543449342043e+01 8.1054420459473828e+00 -1 0 -1 +887 0 1 0.0000000000000000e+00 1.1765059216583468e+01 2.9686795936179962e+01 7.9935820953119929e+00 0 0 0 +792 0 1 0.0000000000000000e+00 1.7667539658197808e+00 2.6009268518991178e+01 7.0478801630033452e+00 0 0 0 +753 0 1 0.0000000000000000e+00 2.4970858297815440e+01 3.0619812221307111e+01 6.3514081564025258e+00 -1 0 0 +320 0 1 0.0000000000000000e+00 1.8987700122420001e+01 3.0930753637367559e+01 1.2717878786792035e+01 0 -1 0 +530 0 1 0.0000000000000000e+00 1.9378734046266273e+00 1.8972453123431546e+01 2.2753767609550462e+00 0 1 0 +353 0 1 0.0000000000000000e+00 1.6343839799534468e+01 2.4588035907393181e+01 1.5416122004715048e+01 0 -1 0 +92 0 1 0.0000000000000000e+00 1.4869950326064476e+01 1.6251512653959082e+01 1.0739860658686307e+01 0 0 0 +547 0 1 0.0000000000000000e+00 1.0794165103647575e+01 2.8481245420673666e+01 1.4831038857328327e+01 0 0 0 +335 0 1 0.0000000000000000e+00 2.9098604464857747e+00 2.5663413651089584e+01 1.2456709975872187e+01 1 -1 0 +570 0 1 0.0000000000000000e+00 3.6531599059087330e+00 1.7696973045780020e+01 1.6321251665678904e+01 0 0 -1 +3542 0 1 0.0000000000000000e+00 2.3674273030047912e+00 2.6916419731467570e+01 2.3977268927003006e+01 2 0 1 +419 0 1 0.0000000000000000e+00 5.9458491905971735e+00 2.3727877097629971e+01 1.2377276807802728e+01 0 0 0 +93 0 1 0.0000000000000000e+00 1.0259486784935614e+00 8.8016652633190606e+00 6.1392076257377104e+00 0 0 0 +871 0 1 0.0000000000000000e+00 9.3732444702429696e+00 1.8692264390906669e+01 8.0526740850689815e-01 0 1 1 +581 0 1 0.0000000000000000e+00 2.2894714336336349e+01 3.3930422586608685e+01 4.1501088976189671e+00 0 0 1 +149 0 1 0.0000000000000000e+00 1.0530790033232300e+01 2.9661023357673859e+01 2.7099694830183561e+00 -1 -1 0 +586 0 1 0.0000000000000000e+00 8.9135698527351845e+00 1.8738668373581763e+01 1.2066095031731953e+01 0 0 0 +573 0 1 0.0000000000000000e+00 6.7508510878211583e+00 2.1133644111991579e+01 6.1990685447125120e+00 0 0 0 +971 0 1 0.0000000000000000e+00 1.2349359986598971e+01 3.3510092137326730e+01 1.1296880495861554e+01 0 0 1 +777 0 1 0.0000000000000000e+00 1.4708934674038712e+01 8.4034982877917042e+00 2.9322020674796040e+01 0 1 0 +937 0 1 0.0000000000000000e+00 9.0062754797685223e+00 3.3833333791881572e+01 2.3095852623774892e+01 0 0 0 +983 0 1 0.0000000000000000e+00 1.1794418609528408e+01 2.3981673402518165e+01 2.5851036878225999e+00 0 0 1 +491 0 1 0.0000000000000000e+00 2.3482992304484882e+00 3.3414433324423861e+01 2.9976340984186109e+01 0 0 0 +768 0 1 0.0000000000000000e+00 1.4120801107745043e+01 2.1883486038748683e+00 1.6894097952281296e+01 0 1 0 +141 0 1 0.0000000000000000e+00 1.9223245839289689e+01 1.5088613647021459e+01 3.2891659161713598e+01 0 0 0 +828 0 1 0.0000000000000000e+00 1.5764380803344347e+01 3.0396606677681589e+01 3.2368003842452644e+01 1 0 -1 +401 0 1 0.0000000000000000e+00 1.5912825472459811e+01 5.4512292735273968e+00 1.7941586164135277e+01 0 0 0 +243 0 1 0.0000000000000000e+00 2.4232154933832813e+01 2.7798285352520043e+01 3.1148417662389402e+01 0 0 0 +46 0 1 0.0000000000000000e+00 7.3929055053114210e+00 1.8823268572371273e+01 3.2716757142654188e+01 0 0 0 +691 0 1 0.0000000000000000e+00 1.4499901362117226e+01 1.6451756522729355e+01 2.0143365224006910e+01 0 0 0 +838 0 1 0.0000000000000000e+00 3.8217060178186828e+00 3.0245476463996340e+01 1.0404114618106714e+01 0 0 0 +914 0 1 0.0000000000000000e+00 1.2793010394789684e+01 3.3277832029581869e+00 8.9291429788871057e-01 1 0 1 +3954 0 1 0.0000000000000000e+00 4.7249132909428679e+00 3.0848727169429266e+00 6.8734232285465948e+00 1 1 0 +220 0 1 0.0000000000000000e+00 4.3344976867997946e+00 1.1465161975473762e+01 2.9486819140410965e+01 1 0 0 +779 0 1 0.0000000000000000e+00 2.2386081049376941e+01 1.8724647069111364e-01 2.6555064910226633e+01 -1 1 0 +187 0 1 0.0000000000000000e+00 2.2999111401884694e+01 2.4830677852961333e+01 2.3196215757211558e+01 0 -1 -1 +346 0 1 0.0000000000000000e+00 1.0212723393597450e+01 2.8219657645691345e+01 2.1200060576107905e+01 0 -1 0 +253 0 1 0.0000000000000000e+00 2.7794818594092924e+01 2.1451196997499263e+01 2.5622809829612091e+01 1 -1 0 +616 0 1 0.0000000000000000e+00 9.4917462603827403e+00 3.2261442282809263e+01 3.3893715386594501e+01 0 0 -1 +579 0 1 0.0000000000000000e+00 3.1299535919331398e+00 1.4638287283263390e+01 2.9196189503836063e+01 1 0 0 +134 0 1 0.0000000000000000e+00 7.9866795441952751e+00 6.8865807708667015e-01 1.9601733742001556e+01 0 0 0 +1395 0 1 0.0000000000000000e+00 3.3391700896065764e+01 1.8772624447137286e+01 1.9305474618130727e+01 0 0 0 +382 0 1 0.0000000000000000e+00 1.0774993382523999e+01 1.4953858626837601e+01 2.7825455486344165e+01 1 -1 0 +371 0 1 0.0000000000000000e+00 2.8592710340451241e+01 3.1427791763936213e+01 2.7233273387524214e+01 0 -1 0 +334 0 1 0.0000000000000000e+00 1.9696694325606131e+01 3.7224055242535843e+00 2.1864318869323693e+01 0 0 0 +508 0 1 0.0000000000000000e+00 2.1317410636644091e+01 2.5589778700553364e+01 3.3130011871276629e+01 0 0 -1 +774 0 1 0.0000000000000000e+00 6.3642383249828720e+00 2.4700710680948621e+01 2.8784259906625639e+01 0 0 0 +1009 0 1 0.0000000000000000e+00 1.2417243676423627e+01 2.9433078975379956e+01 1.7974993678508472e-01 0 0 1 +523 0 1 0.0000000000000000e+00 7.2357660892890729e+00 2.7013178492214280e+01 1.7196632958622210e+01 0 0 0 +782 0 1 0.0000000000000000e+00 2.0364121157595115e+01 8.8032118586250494e+00 1.4162514144917012e+01 0 0 0 +153 0 1 0.0000000000000000e+00 4.0274212697517147e+00 4.9126966747333300e+00 2.9558674308182010e+01 0 0 0 +366 0 1 0.0000000000000000e+00 3.2130205109803441e+01 3.2765136482613407e+01 1.4589182422476203e+01 -1 0 0 +799 0 1 0.0000000000000000e+00 5.8344579884377596e+00 2.4630372809943655e+01 1.7838669728726475e+00 0 0 1 +572 0 1 0.0000000000000000e+00 2.0094780144924126e+01 2.4276174675517218e+01 4.4266653726643623e+00 0 -1 1 +375 0 1 0.0000000000000000e+00 1.7879359406134952e+01 2.8088497281302272e-01 2.2187020382358924e+01 -1 0 0 +337 0 1 0.0000000000000000e+00 1.7183894851342387e+01 2.7257258652817399e+01 2.7784757662306589e+01 0 -1 -1 +603 0 1 0.0000000000000000e+00 3.1651241775814057e+01 2.6386194358635553e+01 2.6540122057610745e+01 0 0 0 +274 0 1 0.0000000000000000e+00 2.1559298537075431e+01 9.5210760027712080e+00 2.1434218833445986e+01 0 0 0 +1023 0 1 0.0000000000000000e+00 1.7537132816582627e+01 2.1990088857071527e+01 2.4403112490380796e+01 0 0 0 +39 0 1 0.0000000000000000e+00 2.2201488850240107e+01 1.8532696136546164e+01 1.7419161554948722e+01 -1 -1 0 +781 0 1 0.0000000000000000e+00 1.5418453163969287e+01 2.6255642485342143e+01 2.2577242432512953e+01 0 0 0 +210 0 1 0.0000000000000000e+00 1.8282447152707057e+01 3.0831529156608742e+01 2.8423197330452503e+01 0 -1 0 +869 0 1 0.0000000000000000e+00 9.2647311253930642e+00 2.2541191638322957e+01 3.4174313419260443e+01 0 1 0 +589 0 1 0.0000000000000000e+00 1.9323581815803781e+01 1.1971124879840714e+01 3.3944849374952362e+01 0 0 0 +942 0 1 0.0000000000000000e+00 1.1556288842095684e+01 2.5617486203123921e+01 3.3515000404944374e+01 1 0 0 +580 0 1 0.0000000000000000e+00 1.4026362976580797e+01 5.3523268382951992e+00 2.7198785158829452e+01 0 1 -1 +918 0 1 0.0000000000000000e+00 1.5855871324443449e+01 3.3166261873563187e+01 1.5274648529689687e+01 0 0 0 +510 0 1 0.0000000000000000e+00 1.4341292756716669e+01 2.2616050285181775e+01 1.7812919842109906e+01 0 0 -1 +242 0 1 0.0000000000000000e+00 1.8817212814127842e+01 3.1861296792316075e+01 1.6373594659135826e+01 0 -1 0 +174 0 1 0.0000000000000000e+00 2.4239737281901029e+01 2.9041648151934037e+01 2.0313511081894191e+01 0 0 0 +794 0 1 0.0000000000000000e+00 1.9737783029698459e+01 1.1505895515440338e+01 1.8637529649455736e+01 0 1 1 +297 0 1 0.0000000000000000e+00 3.3353238433856106e+01 2.7725994766794457e+01 1.5800986087077402e+00 0 -1 0 +1013 0 1 0.0000000000000000e+00 1.5214638089823932e+01 1.4450367943426835e+01 2.9227745403141071e+01 1 0 0 +668 0 1 0.0000000000000000e+00 2.7436744293259341e+01 1.7846752123851143e+01 4.4516097477323138e+00 -1 1 0 +615 0 1 0.0000000000000000e+00 5.1098571493785521e+00 3.1739838260896530e+01 2.9740527161770679e+01 0 0 -1 +17 0 1 0.0000000000000000e+00 4.3552305516824621e+00 2.8896867895727308e+01 1.7457747911832300e+01 0 -1 -1 +872 0 1 0.0000000000000000e+00 1.8992092759604610e+01 2.4736863005154099e+01 2.2234295161041029e+01 0 1 0 +1024 0 1 0.0000000000000000e+00 1.2075924350343527e+01 2.5796012008921970e+01 1.6995986759955713e+01 0 0 0 +1218 0 1 0.0000000000000000e+00 3.0538801409414642e+01 2.9992919403855765e+01 1.2416189117638513e+01 0 -1 0 +363 0 1 0.0000000000000000e+00 1.9644145079320123e+00 1.7447253277799697e+00 2.7782228683279182e+01 0 1 0 +896 0 1 0.0000000000000000e+00 2.8147834488949037e+01 1.7613342352736790e+01 1.3670361045737245e+00 0 0 1 +938 0 1 0.0000000000000000e+00 1.3250247165405913e+01 2.2272643024947996e+01 3.3581882379455408e+01 0 0 0 +368 0 1 0.0000000000000000e+00 1.9087918396242735e+01 9.9949410955685281e+00 3.0602472689859127e+01 0 0 0 +565 0 1 0.0000000000000000e+00 6.8700928849759615e+00 2.8479868521352643e+01 2.0607714613949558e+01 1 0 -1 +66 0 1 0.0000000000000000e+00 5.9813536896834920e+00 3.0817079443469861e+01 3.2715211747048855e+01 1 0 -1 +189 0 1 0.0000000000000000e+00 1.5457280095888353e+00 2.7623808295798355e+01 7.9687018949174637e-01 0 0 0 +483 0 1 0.0000000000000000e+00 1.2357512327840801e+01 1.0593033963755175e+01 1.2019973688144818e+00 0 0 0 +296 0 1 0.0000000000000000e+00 2.0410236337947676e+01 1.9819245946572288e+01 1.4208863362127508e+01 0 -1 0 +271 0 1 0.0000000000000000e+00 1.7654144861555077e+00 3.2068138161085123e+01 8.2906087963061559e+00 0 -1 0 +534 0 1 0.0000000000000000e+00 1.8459712637862342e+01 5.7133148289442195e+00 1.5981679887993902e+01 0 0 0 +745 0 1 0.0000000000000000e+00 2.6480221164077321e+01 6.4486246445773281e+00 2.7907631029360761e+01 0 1 0 +430 0 1 0.0000000000000000e+00 1.4741585917670063e+01 2.7491529397668003e+01 1.5400859756368861e+01 0 -1 0 +787 0 1 0.0000000000000000e+00 1.3411754375253508e+01 2.8225105492043738e+01 2.0352325338032063e+01 0 0 1 +645 0 1 0.0000000000000000e+00 1.7661209301584730e+01 1.5961675384833404e+01 2.2541236702866357e+01 1 0 0 +744 0 1 0.0000000000000000e+00 2.0308041733938683e+01 2.9994169013988124e+01 3.1547184454989377e+01 0 0 0 +633 0 1 0.0000000000000000e+00 2.7059346154535277e+01 3.3719827599647942e+01 1.7471266313204715e+01 0 0 0 +352 0 1 0.0000000000000000e+00 6.9890501144314152e+00 2.2624090070364144e+01 2.1517238992701106e+01 1 -1 0 +904 0 1 0.0000000000000000e+00 7.4113454286306224e+00 2.4877574450079727e+01 3.2672625641695575e+01 1 0 0 +649 0 1 0.0000000000000000e+00 4.9019922487844818e+00 2.6042813118880208e+01 2.1890510403081429e+01 1 1 0 +619 0 1 0.0000000000000000e+00 1.9427998962667200e+01 1.8948160155556629e+01 2.4033392882524929e+01 0 0 -1 +997 0 1 0.0000000000000000e+00 1.3514144931905808e+01 2.3162880829094359e+01 2.3459423955636947e+01 0 0 -1 +429 0 1 0.0000000000000000e+00 1.8765694057903325e+01 1.8956512849921374e+01 2.7247256717571425e+01 0 0 0 +965 0 1 0.0000000000000000e+00 1.8350144710793447e+01 3.3417860929603897e+01 3.1301339979325142e+01 0 0 0 +299 0 1 0.0000000000000000e+00 4.0115567289266751e+00 3.2068851845577512e+01 1.7361061287301382e+01 1 0 -1 +960 0 1 0.0000000000000000e+00 1.4740485811661449e+01 2.0925579073442499e+01 1.4671174817416555e+01 0 0 0 +963 0 1 0.0000000000000000e+00 1.9970710675978854e+01 2.5346294266913446e+01 1.8844219510361977e+01 1 0 0 +196 0 1 0.0000000000000000e+00 9.2746205036812484e+00 1.8093043968029068e+01 2.5825311048502790e+01 0 0 0 +270 0 1 0.0000000000000000e+00 1.5629283008561899e+01 2.3630523929036904e+01 2.8833347393726278e+01 0 0 0 +560 0 1 0.0000000000000000e+00 1.8776770293676659e+01 1.7059121539393495e+01 1.9174380556340811e+01 0 1 0 +612 0 1 0.0000000000000000e+00 5.3400787557913141e+00 3.4159274071866953e+01 3.3071144742331015e+01 0 0 -1 +1006 0 1 0.0000000000000000e+00 6.8423736038853349e+00 1.0985741587581073e+01 2.6802581346809951e+01 0 0 0 +1012 0 1 0.0000000000000000e+00 1.9949696839110853e+01 3.1944844119792240e+01 1.9729637896085844e+01 0 0 0 +800 0 1 0.0000000000000000e+00 3.5531278941387172e+00 2.9414984678164760e+01 2.1322707497887684e+01 0 0 0 +257 0 1 0.0000000000000000e+00 2.2057299885234297e+01 8.1054749133412862e+00 2.8402487709988275e+01 -1 0 -1 +182 0 1 0.0000000000000000e+00 4.4265867936800243e+00 2.1938143761420168e+01 1.5420782831062136e+01 0 -1 0 +458 0 1 0.0000000000000000e+00 6.1848914495976608e+00 1.5874668036729529e+00 2.2645753141545161e+01 0 0 0 +390 0 1 0.0000000000000000e+00 2.8724116665399201e+01 2.4349463088740002e+00 2.2682347898919677e+01 -1 0 0 +551 0 1 0.0000000000000000e+00 2.8851736670608258e+01 4.3367644556993490e+00 1.4639732886776072e+01 0 1 0 +537 0 1 0.0000000000000000e+00 7.2755922260871584e+00 3.0430081146202070e+01 2.7020176589210337e+01 0 0 -1 +600 0 1 0.0000000000000000e+00 9.8972703179380499e+00 8.6899761715984116e+00 2.9544979703440550e+01 0 0 0 +191 0 1 0.0000000000000000e+00 1.7729001317770688e+01 2.4293891664229976e+00 3.0590879907308921e+01 0 0 0 +674 0 1 0.0000000000000000e+00 1.6284554415038631e+01 2.4049446136325717e+01 3.1911927564132654e+01 0 0 0 +416 0 1 0.0000000000000000e+00 1.9831939949296125e+01 2.5464713228901697e+01 2.6137273926560542e+01 0 0 -1 +949 0 1 0.0000000000000000e+00 1.2725815232229140e+01 2.3129482689365869e+01 2.6877158756238948e+01 0 0 0 +336 0 1 0.0000000000000000e+00 2.6252105846322005e+00 2.7806701106998450e+01 2.9297248116848763e+01 0 0 0 +881 0 1 0.0000000000000000e+00 1.7018882941457726e+01 3.0451756137106130e+01 2.1368270489682015e+01 0 0 0 +95 0 1 0.0000000000000000e+00 2.4206404998350063e+01 2.7530362501584648e+01 2.4049854813797108e+01 -1 -1 -1 +381 0 1 0.0000000000000000e+00 2.0446186404736583e+01 4.5639050353638275e+00 3.6132875312744478e-01 0 0 1 +239 0 1 0.0000000000000000e+00 1.5684465517262124e+01 1.8845963571439199e+01 2.3128217107843877e+01 1 -1 -1 +84 0 1 0.0000000000000000e+00 9.3666301048662373e+00 2.3925879665104045e+01 2.6890744181985056e+01 0 0 -1 +813 0 1 0.0000000000000000e+00 6.0909061178370161e-01 1.3104652756022816e+01 2.0851235987621383e+01 0 1 0 +305 0 1 0.0000000000000000e+00 7.1930645541914897e+00 3.0470473617287190e+01 1.3888760766566792e+00 0 -1 1 +324 0 1 0.0000000000000000e+00 1.5691352694487929e+01 2.9782876179468108e+01 1.1116311988613323e+00 0 -1 1 +277 0 1 0.0000000000000000e+00 1.8782950756478176e+01 2.7802150457874703e+01 1.6086155269619816e+01 0 -1 0 +1000 0 1 0.0000000000000000e+00 5.6503961268506000e+00 2.8841050604188407e+01 2.4472606913515008e+01 0 0 0 +259 0 1 0.0000000000000000e+00 3.2175609067148741e+01 1.9083413438737832e+01 1.1896178968149997e+01 0 0 0 +38 0 1 0.0000000000000000e+00 9.2616306376349389e+00 1.4938825654155803e+01 3.3178908632039288e+01 0 0 -1 +380 0 1 0.0000000000000000e+00 2.4436056965137137e+01 1.9850710988540563e+01 1.5877506316566082e+01 0 -1 0 +124 0 1 0.0000000000000000e+00 1.9174532359457825e+01 1.8485664039433081e+00 2.5518224450049875e+01 0 1 0 +977 0 1 0.0000000000000000e+00 1.0139072607454786e+01 2.1629214107199878e+01 1.8631440221564056e+01 0 1 1 +919 0 1 0.0000000000000000e+00 2.1196962912961020e+01 2.8881458294113095e+01 2.5282378104327183e+01 0 0 1 +758 0 1 0.0000000000000000e+00 2.2081797117362552e+01 1.3974843092948094e+01 3.0955358620649402e+01 0 0 0 +351 0 1 0.0000000000000000e+00 1.9990401062309587e+01 3.4388626953011538e+01 2.8677728018045940e+01 0 -1 0 +467 0 1 0.0000000000000000e+00 1.9733773120071362e+01 5.8308753443188408e+00 3.0448399589105726e+01 0 0 0 +311 0 1 0.0000000000000000e+00 9.6908127436052069e+00 2.2342191380119544e+01 1.1627142129297599e+01 0 0 0 +201 0 1 0.0000000000000000e+00 1.1695277403329699e+01 2.2380905650249286e+01 1.4903660838706877e+01 1 -1 0 +536 0 1 0.0000000000000000e+00 2.7271685898144270e+01 2.1126278027267716e+01 3.2689232009500095e+01 0 0 -1 +682 0 1 0.0000000000000000e+00 2.3137708067488717e+01 2.6147208353393427e+01 2.6550576387839541e+01 0 0 0 +862 0 1 0.0000000000000000e+00 1.4677900976895948e+01 2.7059547422217513e+01 3.2105989464357457e+01 0 0 0 +150 0 1 0.0000000000000000e+00 1.1760759422085345e+01 2.6421083649769528e+01 2.4329914156499672e+01 0 0 -2 +436 0 1 0.0000000000000000e+00 1.4432122893087960e+00 1.2314676094101511e+01 2.7513395854320457e+01 1 0 0 +192 0 1 0.0000000000000000e+00 5.2009296432385641e+00 1.6538468330693394e+01 1.6033223243946407e-01 1 0 0 +648 0 1 0.0000000000000000e+00 1.0762945921370120e+01 3.3563068659952314e+01 1.7310581666628067e+01 1 0 0 +198 0 1 0.0000000000000000e+00 1.9013987448043248e+00 3.3403500389009686e+01 3.3827902462110231e+01 1 0 -1 +841 0 1 0.0000000000000000e+00 2.3385517705689765e+01 3.1851630029406433e+01 1.8771589046783504e+01 -1 0 0 +470 0 1 0.0000000000000000e+00 2.9300564373429069e+01 2.0836551373684237e+01 2.2730308438775545e+01 1 0 1 +905 0 1 0.0000000000000000e+00 2.0745147371748303e+01 2.7984865129675931e+01 2.8695481786072836e+01 0 0 0 +956 0 1 0.0000000000000000e+00 1.6786516150066092e+01 1.6956395299036476e+01 2.5879411658702168e+01 0 0 0 +15 0 1 0.0000000000000000e+00 8.0971920410364824e+00 2.6964659185281025e+01 2.6457316870832376e+01 0 -1 -1 +924 0 1 0.0000000000000000e+00 1.2940114925142472e+01 1.7130269225517171e+01 3.0162394233982834e+01 0 0 -1 +622 0 1 0.0000000000000000e+00 1.7957584724445812e+01 2.7569144066388382e+01 2.0114893359156188e+01 0 0 0 +413 0 1 0.0000000000000000e+00 2.7392711463946902e+01 2.9072909077181613e+01 3.0487610030071117e+01 -1 -1 0 +504 0 1 0.0000000000000000e+00 1.5769207893781349e+01 1.0816055362702230e+00 2.4301459968310184e+01 0 0 0 +685 0 1 0.0000000000000000e+00 1.4484587815663602e+01 3.3102648838908443e+01 2.2039069106766210e+01 0 0 -1 +643 0 1 0.0000000000000000e+00 2.5161513773810945e+01 1.3846754706561084e+01 2.6830733560311462e+01 0 0 0 +331 0 1 0.0000000000000000e+00 8.6876231819150611e+00 3.0431035334452162e+01 2.3697088015741528e+01 0 0 0 +1002 0 1 0.0000000000000000e+00 3.1330446094768515e+01 2.6353745996725422e+01 1.1870402722781344e+01 0 0 0 +788 0 1 0.0000000000000000e+00 1.9107365014524863e+01 2.4552182142717346e+01 2.9990974827172440e+01 -1 0 0 +499 0 1 0.0000000000000000e+00 1.7434336033641120e+01 1.3889086103503248e+01 2.5810622627206417e+01 0 0 0 +667 0 1 0.0000000000000000e+00 2.1040053701380856e+01 2.8780769362451519e+01 1.8499235039091349e+01 0 0 0 +303 0 1 0.0000000000000000e+00 3.0885474235437623e+01 2.0977181388782594e+01 1.8735060369083243e+01 -1 0 0 +931 0 1 0.0000000000000000e+00 2.6531788447732016e+01 2.5135651315032677e+00 1.9761404878637897e+01 0 1 1 +684 0 1 0.0000000000000000e+00 1.1989511072275411e+01 2.3913585880653144e+01 3.0344194228570458e+01 1 0 -1 +486 0 1 0.0000000000000000e+00 2.0902575324076533e+01 2.7869566073000545e+01 2.1852652990940332e+01 0 0 0 +657 0 1 0.0000000000000000e+00 2.1570000194836322e+01 3.1231788673554952e+01 2.2207032582958970e+01 0 0 0 +1019 0 1 0.0000000000000000e+00 2.1659737019406293e+01 1.1073485580169323e-01 2.2508887753308603e+01 0 1 0 +713 0 1 0.0000000000000000e+00 7.5148542006767780e+00 2.8252813901970370e+01 1.3871212826606719e+01 1 0 0 +980 0 1 0.0000000000000000e+00 5.3925894416031754e+00 3.2366147957368327e+01 2.3838028435044830e+01 0 0 0 +666 0 1 0.0000000000000000e+00 8.9272905098715345e+00 2.5253976643025609e+01 1.9423443303504254e+01 0 0 -1 +975 0 1 0.0000000000000000e+00 2.3616351424571100e+01 2.3471491663330006e+01 1.7266208771012771e+01 0 0 0 +34 0 1 0.0000000000000000e+00 3.2875519717864123e+01 5.3130353116646463e+00 1.7487046948695026e+00 0 0 0 +129 0 1 0.0000000000000000e+00 1.8035389204513105e+01 2.8208350386317676e+01 2.4252989278473276e+01 0 -1 0 +801 0 1 0.0000000000000000e+00 1.1313410246283370e+01 1.3138760635105124e+00 2.4952202219300180e+01 0 2 0 +440 0 1 0.0000000000000000e+00 1.7543173677214085e+01 3.0193892818660924e+01 4.0496138978811675e+00 1 -1 1 +451 0 1 0.0000000000000000e+00 2.0298427640954806e+01 2.7576499285174719e+01 1.2894427633154850e+01 0 -1 0 +1016 0 1 0.0000000000000000e+00 1.0049932642985381e+01 2.6526954319176074e+01 2.9772417307539328e+01 0 0 0 +466 0 1 0.0000000000000000e+00 2.4731447660547524e+01 2.7684358018483714e+01 2.3151214438031384e-01 -1 -1 1 +1267 0 1 0.0000000000000000e+00 3.2617279632687797e+01 9.6823392995877313e+00 1.0971325381236420e+01 0 0 0 +275 0 1 0.0000000000000000e+00 7.0377795729132950e+00 1.2368092094644744e+01 1.9445373717160990e+01 0 0 0 +990 0 1 0.0000000000000000e+00 2.9503047817228552e+01 3.3222017139682293e+01 1.1771558199562902e+01 -1 0 0 +765 0 1 0.0000000000000000e+00 4.3153715463959301e+00 2.1791660702668754e+01 3.1067192623047738e+01 0 0 -1 +367 0 1 0.0000000000000000e+00 2.2687196388183725e+01 3.6303420836213869e+00 2.4676139618079844e+01 0 -1 0 +216 0 1 0.0000000000000000e+00 5.3073370269251132e+00 2.1654624467783407e+01 2.7756151503932120e+01 0 0 0 +184 0 1 0.0000000000000000e+00 2.2181962043149433e+01 2.4004682840185687e+01 2.9475418929911356e+01 0 -1 0 +695 0 1 0.0000000000000000e+00 4.5917849690040820e+00 1.8287283070942291e+01 2.9930515378004834e+01 0 0 -1 +946 0 1 0.0000000000000000e+00 4.4835178798330455e+00 1.8007181564863526e+01 2.6446067512442081e+01 0 0 0 +874 0 1 0.0000000000000000e+00 1.5788949175089453e+01 1.1665499175575597e+01 3.1735584690138911e+01 0 1 0 +527 0 1 0.0000000000000000e+00 9.7720595778316355e+00 3.2708114418439585e+01 2.7243818168766868e+01 1 0 -1 +284 0 1 0.0000000000000000e+00 1.2110171235215399e+01 1.9717548966648085e+01 1.2480245421590029e+01 0 0 0 +512 0 1 0.0000000000000000e+00 9.2810865092959620e+00 3.1566633387536747e+01 2.0126815117126959e+01 0 -1 -1 +541 0 1 0.0000000000000000e+00 8.8886934142779932e+00 4.2214073240774974e+00 1.3646107305165367e+00 0 1 0 +803 0 1 0.0000000000000000e+00 1.2481930051294626e+01 2.0615762438102983e+01 1.7726561499472493e+00 0 0 0 +427 0 1 0.0000000000000000e+00 7.9284796636694050e+00 2.1461895084997643e+01 1.4308548970900908e+01 0 0 0 +1021 0 1 0.0000000000000000e+00 4.9657103892316119e+00 1.0796015388039843e+01 1.7484880601677204e+01 0 0 0 +521 0 1 0.0000000000000000e+00 1.7779097897883002e+01 2.7416062956693217e+01 3.1468365161384906e+01 0 0 0 +389 0 1 0.0000000000000000e+00 6.6343858655919172e+00 2.7431899576933269e+01 4.0752509928723128e+00 0 0 1 +1428 0 1 0.0000000000000000e+00 3.0128368585399990e+01 1.1045764454294998e+01 2.4950822607512858e+01 0 0 0 +663 0 1 0.0000000000000000e+00 2.6877656507580479e+01 2.4859562264076043e+01 2.5339108998126921e+01 0 0 0 +755 0 1 0.0000000000000000e+00 1.6397184178994699e+01 1.7813288215186258e+01 2.9314392484179127e+01 0 0 0 +37 0 1 0.0000000000000000e+00 1.6828182918378015e+01 2.6196084765992951e+00 6.5666302771288612e+00 0 1 0 +899 0 1 0.0000000000000000e+00 3.2776242945375216e+01 2.1072094773972001e+00 4.1895447234217489e+00 -1 0 0 +762 0 1 0.0000000000000000e+00 1.1004913723426766e+01 2.0199878208575331e+01 2.8319339409056468e+01 0 0 0 +138 0 1 0.0000000000000000e+00 3.0979996379742932e+01 2.9900373728212042e+01 8.9730033784319598e+00 0 -1 -1 +102 0 1 0.0000000000000000e+00 1.4401734312000796e+01 2.8675893386529850e+01 2.5125159291240127e+01 0 -1 -1 +576 0 1 0.0000000000000000e+00 1.3022697308114216e+01 3.2466740912360692e+01 2.6511744623271348e+01 0 0 0 +808 0 1 0.0000000000000000e+00 9.8292066914262133e+00 1.6287253406829694e+00 2.8464901134556573e+01 0 1 0 +518 0 1 0.0000000000000000e+00 1.4393756799242881e+01 2.7928350533176406e+01 6.7792737049924785e+00 0 0 0 +24 0 1 0.0000000000000000e+00 1.6001205489111086e+01 2.5030611380859792e+01 2.5325690863900594e+01 0 0 -1 +3130 0 1 0.0000000000000000e+00 2.1276759769472670e-01 2.4698903760176847e+01 2.1474405764054744e+01 0 0 0 +900 0 1 0.0000000000000000e+00 2.1037144890390536e+01 2.9040706675541625e+01 6.9003519914786193e-01 0 1 1 +54 0 1 0.0000000000000000e+00 1.3331271007615516e+01 2.6570291816478914e+01 2.8640022406890434e+01 1 0 -1 +593 0 1 0.0000000000000000e+00 1.2078415797349896e+01 8.8844647929693643e+00 3.2130807156733411e+01 0 1 -1 +505 0 1 0.0000000000000000e+00 1.5927009900414545e+01 2.2323258477043126e+01 2.1377553961918323e+01 0 -1 0 +155 0 1 0.0000000000000000e+00 1.5048311078275644e+01 2.0421743744312664e+01 2.6945404703906338e+01 0 -1 -1 +611 0 1 0.0000000000000000e+00 2.5259729021236677e+01 1.2162158474424679e+01 3.0171844439106454e+01 0 1 -1 +128 0 1 0.0000000000000000e+00 1.6399321489022142e+01 1.2097068031074024e+01 2.2777408915367513e+01 0 0 0 +262 0 1 0.0000000000000000e+00 1.1027211632896151e+01 2.9789832742945652e+01 1.7535222056193739e+01 1 -1 0 +163 0 1 0.0000000000000000e+00 3.1442409050308601e+01 1.8058590427859468e+01 6.2970766028567553e+00 -1 0 0 +26 0 1 0.0000000000000000e+00 6.6359244658301169e+00 3.4380037717257373e+01 2.6901027572884370e+01 0 0 -1 +783 0 1 0.0000000000000000e+00 1.0493141917495860e+01 7.9899139399920864e+00 1.9659765706439099e+01 0 0 0 +923 0 1 0.0000000000000000e+00 2.1673977236089463e+00 1.9661513457331335e+01 1.3493617718379973e+01 0 0 0 +652 0 1 0.0000000000000000e+00 2.4992472396766939e+01 1.5754228933075318e+01 2.0892288274342885e+00 0 0 1 +91 0 1 0.0000000000000000e+00 4.1026179480628162e+00 1.3369935143127091e+01 2.1728181148015221e+01 1 0 0 +569 0 1 0.0000000000000000e+00 8.7830623708056788e+00 1.9411703375123246e+01 2.1637691027703887e+01 1 0 0 +568 0 1 0.0000000000000000e+00 7.5575748661092597e+00 8.6934787253493386e+00 3.3514514994367183e+01 0 1 -1 +448 0 1 0.0000000000000000e+00 8.8019982036548949e+00 2.2137210541143983e+01 3.0127793755412402e+01 0 0 0 +915 0 1 0.0000000000000000e+00 1.0794100895741472e+01 2.1536595660345945e+00 3.2037965431652879e+01 0 0 0 +1014 0 1 0.0000000000000000e+00 2.4905921721965289e+01 3.2378666245179907e+01 1.4536725644364500e+01 -1 0 0 +28 0 1 0.0000000000000000e+00 1.8009416934668987e+01 2.1213632427322441e+01 3.0735322672452327e+01 1 -1 -1 +718 0 1 0.0000000000000000e+00 6.4567999109573049e-01 2.1352286602486028e+01 3.1795286496831242e+01 1 0 -1 +348 0 1 0.0000000000000000e+00 1.2129420633777730e+01 2.5132000753683243e+01 2.0842976502357271e+01 0 0 0 +1001 0 1 0.0000000000000000e+00 1.6562868211393667e+01 3.4214946898392817e+01 2.7573693873458584e+01 0 -1 0 +330 0 1 0.0000000000000000e+00 1.3799212076929290e+01 1.4295339965675728e+01 2.2899341753185716e+01 0 0 0 +812 0 1 0.0000000000000000e+00 9.1811372705292342e+00 2.8317109941529814e+01 3.3490158311221798e+01 0 -1 -1 +594 0 1 0.0000000000000000e+00 7.0885543243883644e+00 2.0548647541145311e+01 2.4482512276090350e+01 0 0 -1 +746 0 1 0.0000000000000000e+00 2.3943118456899960e+01 2.2418206773117365e+01 2.6780597961021574e+01 0 0 -1 +10 0 1 0.0000000000000000e+00 2.4052226982834235e+01 2.0344199170477150e+01 2.3746164169833648e+01 -1 -1 0 +127 0 1 0.0000000000000000e+00 1.0378521612126399e+01 1.1642227153460061e+01 2.6307394789562391e+01 0 0 -1 +1491 0 1 0.0000000000000000e+00 3.2926729988213388e+01 3.2466503702966854e+01 2.8663277030705672e+01 0 -1 0 +545 0 1 0.0000000000000000e+00 2.1673533084591355e+01 2.2936144997246476e+01 2.0477112888873801e+01 0 0 0 +292 0 1 0.0000000000000000e+00 1.4980858610732184e+01 3.3777788286886050e+01 3.0312041258786930e+01 0 0 0 +55 0 1 0.0000000000000000e+00 2.1854648180321274e+01 3.3846620672849568e+01 3.2222718008341523e+01 0 -1 0 +506 0 1 0.0000000000000000e+00 1.6369886386802431e+01 3.1610554830832257e+01 2.4745547372505406e+01 -1 0 0 +185 0 1 0.0000000000000000e+00 1.7490703388123446e+01 2.1939147625111768e+00 1.9022752407815396e+01 0 0 -1 +392 0 1 0.0000000000000000e+00 1.8103694666896811e+01 7.6054114631243213e+00 2.7419843722755409e+01 0 0 0 +908 0 1 0.0000000000000000e+00 1.5661942488598594e+01 2.5492871814774162e+01 6.9256304722067985e-01 0 0 1 +107 0 1 0.0000000000000000e+00 1.1160714428150069e+01 2.8842143111084056e+01 2.6721340864054305e+01 0 -1 0 +756 0 1 0.0000000000000000e+00 3.1027720303971119e+01 3.4057493464905903e+01 1.7846692441192886e+01 0 0 0 +784 0 1 0.0000000000000000e+00 1.9129766318670249e+01 2.0887633725849398e+01 2.0597429558432719e+01 0 0 0 +83 0 1 0.0000000000000000e+00 1.1445786551242302e+01 1.9924682210517553e+01 3.2316257971427653e+01 0 0 -1 +797 0 1 0.0000000000000000e+00 5.5760962506006049e+00 6.7601766974423123e+00 1.5779192214013322e+00 0 1 1 +909 0 1 0.0000000000000000e+00 7.0426338889255531e+00 1.9485008148895588e+01 1.8551163907883620e+01 0 0 0 +3787 0 1 0.0000000000000000e+00 8.2709193571376431e+00 2.5774212008623309e+01 2.3008216977835954e+01 1 0 0 +830 0 1 0.0000000000000000e+00 1.2959064542749193e+01 3.0752854376569662e+01 2.3310061244048303e+01 0 0 0 +176 0 1 0.0000000000000000e+00 1.2716091248276037e+01 8.5683487932111220e+00 2.6414544143968488e+01 0 0 0 +273 0 1 0.0000000000000000e+00 1.6431076740864835e+01 7.3896663104037801e+00 5.3515288089655701e+00 -1 0 1 +795 0 1 0.0000000000000000e+00 1.4737540706289485e+01 6.6685940107305317e+00 3.2243376360289574e+01 0 1 0 +546 0 1 0.0000000000000000e+00 7.0867013919414896e+00 2.2738950326260330e+01 1.7136941150726322e+01 1 0 -1 +404 0 1 0.0000000000000000e+00 1.4125893887048155e+01 2.4684071012877977e+00 3.0905536971656741e+01 0 1 0 +327 0 1 0.0000000000000000e+00 2.3853241753994848e+01 9.5637530225932643e-01 1.8485554368381315e+01 0 1 1 +309 0 1 0.0000000000000000e+00 9.2701253970898190e+00 2.6160972875072101e+01 1.9626809345585132e+00 0 0 1 +587 0 1 0.0000000000000000e+00 2.7885511346307701e+00 2.4930318331300775e+01 2.8060390990825663e+00 1 1 0 +362 0 1 0.0000000000000000e+00 2.0653010725461009e+01 3.6410887654028540e-01 1.8437234730433513e+01 0 1 1 +344 0 1 0.0000000000000000e+00 2.2597664254242826e+01 2.6921444725907371e+01 1.6025761292188339e+01 -1 0 0 +232 0 1 0.0000000000000000e+00 1.5703783581727352e+01 2.6004149444062971e+01 1.8568225401397189e+01 0 -1 0 +160 0 1 0.0000000000000000e+00 2.5979917597824876e+01 2.4433159514057177e+01 1.1056729402845368e+01 -1 0 0 +286 0 1 0.0000000000000000e+00 1.8567137001273164e+01 3.4550045915065745e+01 1.2729571401007549e+01 0 0 1 +3585 0 1 0.0000000000000000e+00 1.1168866970583076e+00 1.6067579768186516e+01 2.6826111111365599e+01 1 0 -1 +385 0 1 0.0000000000000000e+00 1.7255849592488079e+01 6.6531302194482711e+00 1.2795705317114686e+01 0 0 1 +358 0 1 0.0000000000000000e+00 2.1149925469088096e+01 1.8487051385253732e+01 3.3718830072448100e+01 1 0 0 +802 0 1 0.0000000000000000e+00 1.2750432162671661e+01 1.0704521493804984e+01 2.0301350576975800e+01 -1 0 0 +350 0 1 0.0000000000000000e+00 1.1350988368766663e+01 1.6951128900024273e+01 2.9281614191090704e+00 1 1 1 +522 0 1 0.0000000000000000e+00 2.5672320953440526e+01 8.8464883840120532e+00 3.0779339577798453e+01 0 0 0 +454 0 1 0.0000000000000000e+00 9.9368860217906452e+00 1.1660396791510331e+01 3.2731072557369835e+01 0 0 -1 +945 0 1 0.0000000000000000e+00 1.8491110615434248e+01 1.4091911411017836e+01 2.5632895415818333e+00 0 0 1 +282 0 1 0.0000000000000000e+00 2.0771575181346325e+01 4.0349358500063435e+00 1.8337870868665707e+01 0 0 0 +60 0 1 0.0000000000000000e+00 9.5480408978994991e+00 6.1064137679386299e+00 3.1809990971167039e+01 1 0 -1 +231 0 1 0.0000000000000000e+00 3.0112191134561721e+00 3.3870810544581602e+01 2.5806862170164912e+01 1 -1 0 +110 0 1 0.0000000000000000e+00 2.0678984986899579e+01 1.7127420501800998e+01 2.9480318607288080e+01 0 0 -1 +349 0 1 0.0000000000000000e+00 1.2380490458743159e+01 7.0023593898468759e+00 3.5811263194131110e-01 0 0 1 +256 0 1 0.0000000000000000e+00 2.6152047198998996e+00 1.2060818695861611e+01 9.3210882375317539e-01 0 0 0 +82 0 1 0.0000000000000000e+00 1.5053417375364138e+01 1.1861067890517837e+01 3.2734499451873962e+00 0 0 1 +894 0 1 0.0000000000000000e+00 1.1679065082595079e+01 4.5700411291765279e+00 2.9615384362364345e+01 0 0 0 +113 0 1 0.0000000000000000e+00 1.9772419940527900e+01 3.2487518935805362e+01 2.4927089986742168e+01 0 -1 0 +264 0 1 0.0000000000000000e+00 2.8022780899702312e+01 1.0065586600025975e+01 4.5432616074614014e+00 0 0 1 +229 0 1 0.0000000000000000e+00 1.2665193562896221e+01 1.3491232553808963e+01 5.7182869086631332e+00 0 0 0 +179 0 1 0.0000000000000000e+00 2.2050382044008352e+01 1.8764210831320792e+01 2.1665707373946340e+01 0 0 0 +858 0 1 0.0000000000000000e+00 2.6332630124056770e+01 4.6962170493611781e+00 3.1116419322768770e+01 0 0 0 +780 0 1 0.0000000000000000e+00 2.2931010165200362e+01 6.7816314930739692e+00 3.1882918833593564e+01 0 1 0 +1010 0 1 0.0000000000000000e+00 1.5696767112592042e+01 8.3367700697031246e+00 2.4942521130444099e+01 0 1 1 +807 0 1 0.0000000000000000e+00 1.7840251495921247e+01 5.5956036746411453e+00 2.4807068541928228e+01 0 1 0 +786 0 1 0.0000000000000000e+00 1.8394828437339012e+01 8.7673647320293107e+00 2.2611953662347396e+01 0 1 0 +315 0 1 0.0000000000000000e+00 2.0480408828597366e+01 1.4302069010610065e+01 2.0588586596572711e+01 0 0 0 +737 0 1 0.0000000000000000e+00 1.4732969891598467e+01 8.2557787456577998e+00 2.1935096280134960e+01 0 1 0 +137 0 1 0.0000000000000000e+00 1.2491774098774654e+01 2.9640935180526363e+01 3.0416819345824251e+01 1 0 -1 +460 0 1 0.0000000000000000e+00 1.4670680371367361e+01 2.0719192747636754e+01 3.0318602474860860e+01 -1 0 0 +490 0 1 0.0000000000000000e+00 1.0354896083201803e+01 1.7654382144477438e+01 1.9195259741482719e+01 1 0 0 +1970 0 1 0.0000000000000000e+00 3.3163657775061274e+01 3.1843876761616180e+01 1.9299966928059877e+01 0 0 0 +395 0 1 0.0000000000000000e+00 1.6264414665861416e+01 5.1524683484222642e+00 2.9865412407570464e+01 1 0 0 +853 0 1 0.0000000000000000e+00 1.2040437233176577e+01 5.2834146917022384e-01 3.9442141222887422e-01 1 1 1 +238 0 1 0.0000000000000000e+00 1.8677537381625552e+01 1.3800186041277952e+01 2.9043494780509064e+01 0 0 0 +456 0 1 0.0000000000000000e+00 1.3433913279407921e+01 8.2167071033669536e+00 4.3832364379682698e+00 -1 0 1 +857 0 1 0.0000000000000000e+00 1.2718353938778838e+01 1.4358538634856478e+01 1.8064447971400073e+00 0 1 1 +907 0 1 0.0000000000000000e+00 2.3380292574226040e+01 1.5826291105536901e+01 2.8748196531061595e+01 -1 0 0 +477 0 1 0.0000000000000000e+00 1.4420100696099812e+01 4.0655801821001534e+00 4.5502545960801708e+00 0 0 1 +832 0 1 0.0000000000000000e+00 1.0085882626658504e+01 2.2387247800652556e+01 2.3524742767038301e+01 0 0 0 +511 0 1 0.0000000000000000e+00 2.6032453476838896e+01 3.3416522559812172e+01 2.6490652346715695e+01 0 0 -1 +122 0 1 0.0000000000000000e+00 3.4930056768198834e+00 4.7948794358474389e+00 1.4609145736566532e+01 1 1 0 +1017 0 1 0.0000000000000000e+00 7.0577289499357283e+00 1.6391458237546704e+01 2.3552747349398256e+01 0 0 0 +958 0 1 0.0000000000000000e+00 2.6840972715392146e+00 2.9530916051934701e+00 2.3209461134601248e+01 0 1 0 +235 0 1 0.0000000000000000e+00 6.2514402973417287e+00 6.4336760376286666e+00 2.6121445566977300e+01 1 0 0 +721 0 1 0.0000000000000000e+00 2.0337867979910939e+01 8.5131805775071427e+00 3.3978972550004364e+01 0 0 -1 +891 0 1 0.0000000000000000e+00 2.5852199748235815e+01 4.9507046976259099e+00 2.1875468804862770e+01 0 1 0 +825 0 1 0.0000000000000000e+00 4.2028947821113176e+00 7.9113308962883879e+00 2.3056181160050151e+01 1 1 0 +441 0 1 0.0000000000000000e+00 2.0762431101537409e+01 6.7599858447273951e+00 2.5097403765787604e+01 1 0 0 +689 0 1 0.0000000000000000e+00 7.3889977235673054e+00 2.5958402802631322e+00 3.2959871928885534e+01 0 1 -1 +398 0 1 0.0000000000000000e+00 1.6467447817882164e+01 1.1038661551232860e+01 2.7817558281467438e+01 0 0 0 +1185 0 1 0.0000000000000000e+00 3.2957945373617889e+01 5.4389430808222095e+00 1.4913607685527140e+01 0 0 0 +1020 0 1 0.0000000000000000e+00 8.9528919596957444e+00 1.4216988700546350e+01 1.7269237198121360e+01 0 0 0 +544 0 1 0.0000000000000000e+00 3.8613424614992224e+00 8.7056557480334806e+00 3.3216285000314990e+01 1 0 -1 +345 0 1 0.0000000000000000e+00 2.9771378082573182e+01 1.3565422056108201e+01 3.0946384410756256e+01 0 0 0 +52 0 1 0.0000000000000000e+00 9.9348080161278762e+00 1.6947750004698356e+01 3.0544397852764963e+01 0 0 0 +75 0 1 0.0000000000000000e+00 2.2397597343994200e+01 1.0502002559613221e+01 3.1300525118714155e+01 0 0 0 +613 0 1 0.0000000000000000e+00 1.0523643587310680e+01 1.1025052479118614e+01 1.7582898836572856e+01 1 0 0 +420 0 1 0.0000000000000000e+00 2.1032534359395413e+01 2.7022228745330072e+00 3.0674043512593467e+01 1 0 0 +249 0 1 0.0000000000000000e+00 1.2962699734758706e+01 1.1163624371996047e+01 2.3841440227060183e+01 0 0 0 +35 0 1 0.0000000000000000e+00 3.0149189615114288e+01 2.7827215931655513e+01 2.5506822853503928e+00 0 -1 0 +903 0 1 0.0000000000000000e+00 1.1617844632734212e+01 3.0080483944001806e+00 1.8809699104941952e+01 0 1 0 +609 0 1 0.0000000000000000e+00 1.2549429849036155e+01 1.1531176206304458e+01 2.9036054722198394e+01 0 1 -1 +910 0 1 0.0000000000000000e+00 1.0510285638454276e+01 1.4071248915280554e+01 2.0349561584859810e+01 0 1 0 +968 0 1 0.0000000000000000e+00 9.6419893445651557e+00 1.4144432257933422e+01 2.3534358264022842e+01 0 0 0 +452 0 1 0.0000000000000000e+00 9.4368014763254173e+00 8.0809710574088296e+00 2.5734708780860501e+01 0 0 0 +988 0 1 0.0000000000000000e+00 3.1215715682029263e+01 2.9578292102593313e+01 2.8586313299130829e+01 -1 0 0 +632 0 1 0.0000000000000000e+00 1.2239374163532290e+01 2.0354339640207481e+01 2.5073706258414781e+01 -1 1 0 +89 0 1 0.0000000000000000e+00 7.3046246626539384e+00 8.6402003197071444e+00 1.9768150515731339e+01 0 0 0 +186 0 1 0.0000000000000000e+00 1.6155428024524497e+01 4.9269666773801086e+00 2.1561711873031161e+01 1 0 -1 +472 0 1 0.0000000000000000e+00 7.7710950933484568e+00 1.8670999543742425e+01 2.8605219460448726e+01 0 0 0 +224 0 1 0.0000000000000000e+00 1.6290147470549762e+01 6.2030496894778668e+00 1.4727753389562324e+00 -1 0 0 +328 0 1 0.0000000000000000e+00 2.5834660418548818e+01 8.8747727670150667e+00 2.2192696104633775e+01 -1 1 1 +614 0 1 0.0000000000000000e+00 1.8047348180807020e+01 6.5820935454427083e+00 3.3166236431107485e+01 0 1 0 +100 0 1 0.0000000000000000e+00 5.8130135546331365e+00 1.1976130030594145e+01 3.2421213990043526e+01 0 0 0 +245 0 1 0.0000000000000000e+00 1.4169330953546098e+01 1.3208344682957495e+01 2.6187025504850062e+01 0 1 0 +62 0 1 0.0000000000000000e+00 1.2558476963166989e+01 2.0524882896756935e+01 2.1357263964493441e+01 0 0 0 +647 0 1 0.0000000000000000e+00 4.7201847409952604e+00 3.1928730586781460e+00 2.5834689650635546e+01 0 1 -1 +343 0 1 0.0000000000000000e+00 5.5235850452270503e+00 8.4440140808996436e+00 2.9874892217490562e+01 0 0 0 +276 0 1 0.0000000000000000e+00 2.0219046796307506e+01 1.5274544751101272e+01 2.5748241701414621e+01 0 0 0 +893 0 1 0.0000000000000000e+00 1.4511311796329180e+01 1.6762457228743344e+00 2.0445909980410896e+01 0 1 0 +895 0 1 0.0000000000000000e+00 1.3197415747655500e+01 1.3760557916420879e+00 2.7662880310776551e+01 0 1 0 +69 0 1 0.0000000000000000e+00 1.6184033316551055e+01 3.0499800358434270e+00 2.6926583070922575e+01 1 0 0 +809 0 1 0.0000000000000000e+00 5.9977995040800494e+00 3.2224745362008463e+01 2.0426476127749321e+01 0 0 0 +836 0 1 0.0000000000000000e+00 1.1223528773522812e+01 5.7741705769530913e+00 3.4278984226513329e+00 0 1 1 +98 0 1 0.0000000000000000e+00 2.5202386683312135e+01 1.9350213943350958e+01 2.9161277349287815e+01 0 0 0 +588 0 1 0.0000000000000000e+00 2.5006573616935572e+01 1.3908306940534539e+01 3.2747270767943185e+01 1 0 0 +845 0 1 0.0000000000000000e+00 2.1822246257207439e+01 1.4241023696804245e+01 1.7694619572841347e+01 -1 0 0 +623 0 1 0.0000000000000000e+00 1.6048303173750369e+01 3.4254125291857392e+01 3.3890665062807223e+01 -1 0 0 +3511 0 1 0.0000000000000000e+00 2.2867745186483335e+00 2.4585150633814202e+01 2.5926954731563217e+01 1 -1 0 +294 0 1 0.0000000000000000e+00 8.2481468747565554e+00 3.0774690931225472e+00 2.5615977444686333e+01 0 0 0 +880 0 1 0.0000000000000000e+00 1.1592638575706015e+01 6.8681639742038163e+00 2.3288113017322868e+01 0 0 0 +1008 0 1 0.0000000000000000e+00 2.5709657914555944e+01 2.2668607297486211e+01 2.2315460821738064e+01 0 0 0 +750 0 1 0.0000000000000000e+00 1.1969569955759294e+01 1.7795801286936019e+01 2.2973662035569951e+01 0 1 0 +162 0 1 0.0000000000000000e+00 2.3729825800993765e+01 2.1465562070019157e+01 3.2389082145002995e+01 0 0 0 +4007 0 1 0.0000000000000000e+00 2.7206978151255252e+00 3.3818075325555249e+01 2.1982717919443402e+01 0 -1 0 +359 0 1 0.0000000000000000e+00 2.2283780086796583e+01 1.9316679479215413e+01 2.6505824911670540e+01 0 0 0 +246 0 1 0.0000000000000000e+00 1.5702184057945281e+00 5.7482049817561114e+00 2.1065172169019572e+01 0 0 0 +597 0 1 0.0000000000000000e+00 1.6345975583659374e+01 3.4587480287455326e+00 3.3940290159900059e+01 1 1 -1 +444 0 1 0.0000000000000000e+00 8.9765067841018329e+00 3.0483277472782984e+01 3.0453381211522583e+01 0 -1 0 +950 0 1 0.0000000000000000e+00 4.3447724872135547e+00 1.3788364251660598e+01 2.5360002320154983e+01 0 1 0 +165 0 1 0.0000000000000000e+00 1.6952611088018990e+01 1.3683055597150775e+01 1.9385788248753119e+01 0 1 -1 +203 0 1 0.0000000000000000e+00 2.3986019064345221e+01 1.7585823506920725e+01 3.1715375030775594e+01 0 0 -1 +822 0 1 0.0000000000000000e+00 1.0482259788085555e+01 3.8257172481119675e+00 2.2286284446022936e+01 1 1 0 +759 0 1 0.0000000000000000e+00 2.2154784506113696e+01 6.2838457887156203e+00 2.1953131990992773e+01 0 1 0 +108 0 1 0.0000000000000000e+00 9.6666095040997551e+00 9.7847820171921214e+00 2.2615834803117963e+01 -1 0 -1 +726 0 1 0.0000000000000000e+00 2.9676299939332836e+01 4.3875321498952617e+00 2.6099945951270531e+01 0 1 -1 +897 0 1 0.0000000000000000e+00 2.8453250801893208e+01 1.2475901513562045e+01 2.7533314406923523e+01 0 1 0 +79 0 1 0.0000000000000000e+00 1.0433812019602426e+01 6.7554864396430512e+00 6.6914369230862452e+00 0 0 0 +610 0 1 0.0000000000000000e+00 1.1115133095264104e+01 1.9406402262716257e-01 2.1136817755885058e+01 0 2 -1 +494 0 1 0.0000000000000000e+00 1.3961716763460917e+01 4.0620015800640834e+00 2.4239364868246579e+01 0 0 0 +407 0 1 0.0000000000000000e+00 7.5186724721600964e+00 5.2833128883558338e+00 2.8915309581212252e+01 1 0 0 +671 0 1 0.0000000000000000e+00 4.9196686777616696e+00 3.4503718335426967e+00 9.3195255778592834e-01 0 1 0 +307 0 1 0.0000000000000000e+00 2.3860921887545427e+01 9.3300530260933154e+00 3.4362501783253293e+01 0 0 0 +403 0 1 0.0000000000000000e+00 1.9964971057160476e+01 1.0316989693207844e+01 2.5918975512065689e+01 0 0 0 +212 0 1 0.0000000000000000e+00 2.5309748024357241e+01 1.3647088209441643e+01 1.2228178795771923e+01 0 0 -1 +675 0 1 0.0000000000000000e+00 1.3305795007424477e+01 1.7143073385252578e+01 2.7031955389731397e+01 0 0 0 +372 0 1 0.0000000000000000e+00 8.8434332028462013e+00 1.2806353233866632e+01 2.9508230817087814e+01 0 0 0 +354 0 1 0.0000000000000000e+00 7.8015778135672535e+00 6.0371440282251587e+00 2.2658537767191298e+01 1 0 0 +734 0 1 0.0000000000000000e+00 1.0835626167312828e+01 5.2717627207793232e+00 2.6492816280757886e+01 1 1 -1 +519 0 1 0.0000000000000000e+00 6.4155834328456436e+00 1.6251492584153517e+01 2.0009607688753306e+01 1 1 0 +120 0 1 0.0000000000000000e+00 2.8294614415551983e+01 2.3708877813791879e+01 7.6244537596426278e+00 0 1 0 +629 0 1 0.0000000000000000e+00 3.6243118060385910e+00 1.9026339823310209e+01 3.2918418623321244e+01 1 0 -1 +405 0 1 0.0000000000000000e+00 3.8490201862725213e+00 8.9867025031330741e+00 2.6788123495443980e+01 0 0 0 +322 0 1 0.0000000000000000e+00 2.9205656774183315e+00 1.7612383926465213e+01 1.9650076247794853e+01 0 0 0 +733 0 1 0.0000000000000000e+00 1.2718113112633940e+01 3.2256527065895476e+01 3.3036013457705877e+01 1 0 -1 +595 0 1 0.0000000000000000e+00 3.1271435463383430e+01 3.0360955653520083e+01 1.3477880295307447e+00 0 0 0 +501 0 1 0.0000000000000000e+00 3.2026498859018311e+01 9.0172185802649985e+00 1.4259349705532578e+01 0 0 1 +3495 0 1 0.0000000000000000e+00 3.2330036375804911e+00 2.0884025579939365e+01 2.4913097279977354e+01 0 -1 0 +90 0 1 0.0000000000000000e+00 2.7485745834920262e+01 2.9639443989583221e+01 2.2386759575544318e+01 0 -1 0 +791 0 1 0.0000000000000000e+00 3.0443238304386725e+01 4.1680074789555768e+00 3.0428131422423039e+01 -1 0 0 +763 0 1 0.0000000000000000e+00 2.6889268949341680e+01 2.6238349056379278e+01 3.2587011381623313e+01 0 1 -1 +313 0 1 0.0000000000000000e+00 3.1596141401226724e+01 1.6129237978909778e+01 3.3888797741205465e+01 0 0 0 +606 0 1 0.0000000000000000e+00 2.7737438186146171e+01 3.0655702060312873e+01 1.8955611955005089e+01 0 0 0 +916 0 1 0.0000000000000000e+00 2.2148089487867782e+01 3.1137711312176002e+01 2.7638561055287575e+01 -1 -1 0 +109 0 1 0.0000000000000000e+00 3.1093593136760060e+01 2.9825437953030537e+01 2.1321722614195792e+01 0 0 0 +516 0 1 0.0000000000000000e+00 2.5743273820022409e+01 2.3947686794153430e+01 4.2936877087132475e+00 -1 0 0 +268 0 1 0.0000000000000000e+00 2.5540869361212579e+01 9.9022472655981151e+00 2.7651060220406599e+01 -1 1 0 +308 0 1 0.0000000000000000e+00 2.9505701268528732e+01 7.1831302583661731e+00 3.1219176577845001e+01 0 0 0 +655 0 1 0.0000000000000000e+00 3.1274121845166665e+01 2.6299889754991458e+01 8.0373524939500687e+00 0 0 0 +549 0 1 0.0000000000000000e+00 3.2459488832372656e+01 2.3036614375783159e+01 1.3905253546332116e+01 0 1 0 +725 0 1 0.0000000000000000e+00 3.1170987676598692e+01 8.5794990568203318e+00 6.3618236617450741e+00 -1 1 0 +258 0 1 0.0000000000000000e+00 2.3861084041085352e+01 3.1476623459012966e+01 2.4373526751649759e+01 0 -1 -1 +3942 0 1 0.0000000000000000e+00 4.9183756932530382e+00 2.5443474490506105e+01 1.5514576966019746e+01 1 -1 0 +934 0 1 0.0000000000000000e+00 3.0801623068360662e+01 3.0784146810327112e+01 2.4649497105467141e+01 -1 0 0 +757 0 1 0.0000000000000000e+00 3.1646795760119282e+01 2.1257704423346762e+00 1.9827663685962122e+01 0 1 0 +864 0 1 0.0000000000000000e+00 2.2905759533175317e+01 1.1224211340202512e+01 5.2940089851899126e+00 0 1 1 +901 0 1 0.0000000000000000e+00 2.0934825826607778e+01 7.4989194120555602e+00 3.0434013477900557e+00 0 1 1 +715 0 1 0.0000000000000000e+00 2.8399185978947848e+01 2.8494090173968939e+01 1.4935115234203137e+01 0 0 0 +136 0 1 0.0000000000000000e+00 2.4544688496320465e+01 1.2153295889911988e+01 1.9306568285931720e+00 0 0 0 +628 0 1 0.0000000000000000e+00 2.5227041361345332e+01 2.9474375192045724e+01 1.6537962517398718e+01 0 0 0 +374 0 1 0.0000000000000000e+00 2.4781113636676995e+01 2.9437866325147805e+01 2.7607779392316719e+01 0 -1 0 +660 0 1 0.0000000000000000e+00 2.3046748011057181e+00 1.5395786046064348e+01 1.9466752619439724e+00 0 0 0 +582 0 1 0.0000000000000000e+00 2.7910650672166145e+01 1.7489169034348670e+01 3.2609487788877196e+01 0 0 0 +418 0 1 0.0000000000000000e+00 3.0691984117993105e+01 4.9074108848828404e+00 1.7617128120857647e+01 0 0 0 +810 0 1 0.0000000000000000e+00 3.0037005268845679e+01 2.6804222553950691e+01 3.0049815609949015e+01 -1 0 0 +624 0 1 0.0000000000000000e+00 2.8622124547778000e+01 3.1761701317722697e+01 1.5069160334865233e+01 -1 0 -1 +867 0 1 0.0000000000000000e+00 3.1128467431573654e+01 1.7953779458436166e+01 1.6797079286927254e+01 -1 0 1 +85 0 1 0.0000000000000000e+00 2.2990063454947673e+01 3.0699898817379694e+01 3.3140226557929587e+01 -1 0 -1 +439 0 1 0.0000000000000000e+00 3.4188765695030213e+01 3.0570866188891994e+01 2.2436340475968237e+01 0 -1 0 +147 0 1 0.0000000000000000e+00 2.8318925030281097e+01 1.8402951501369915e+00 2.9270289993843530e+01 -1 1 -1 +1022 0 1 0.0000000000000000e+00 3.0071723683272676e+01 2.6230541544340731e+01 2.2423916651425998e+01 0 0 0 +437 0 1 0.0000000000000000e+00 3.4065114025014594e+01 1.8740146550673774e+01 3.4863242928932009e-01 0 0 1 +240 0 1 0.0000000000000000e+00 2.4114228342868255e+01 1.6891789510666168e+01 1.9002508309187931e+01 -1 0 0 +1489 0 1 0.0000000000000000e+00 3.1106396040315637e+01 3.4079244445878878e+01 2.2506441736508890e+01 0 -1 0 +764 0 1 0.0000000000000000e+00 2.6643526292157418e+01 7.5270777073888970e+00 3.3486302273222975e+01 0 1 -1 +3548 0 1 0.0000000000000000e+00 1.4481892065068056e+00 3.1090776630293831e+01 4.3279723890755406e+00 1 -1 1 +806 0 1 0.0000000000000000e+00 2.7853473675612875e+01 3.2499197135097049e+01 2.3623372822434121e+01 -1 -1 0 +796 0 1 0.0000000000000000e+00 3.0932328282906088e+01 2.4759754062093577e+01 1.7062523468283416e+01 -1 0 0 +3985 0 1 0.0000000000000000e+00 2.4479353260339984e-01 1.8055103530774833e+01 3.4148145059225236e+01 0 0 0 +356 0 1 0.0000000000000000e+00 3.2877751730605695e+01 2.4348633576771057e+01 3.1042570191144431e+01 0 -1 0 +1810 0 1 0.0000000000000000e+00 3.4292113108590875e+01 1.8873363550713222e+01 1.4990712993394883e+01 0 0 0 +1015 0 1 0.0000000000000000e+00 3.1693953002238640e+01 6.8282452900904902e+00 2.8370941695684110e+01 -1 1 0 +397 0 1 0.0000000000000000e+00 2.8340108405460697e+01 3.3250313219819866e+01 3.0258131344759153e+01 0 -1 0 +697 0 1 0.0000000000000000e+00 2.5265471024191637e+01 1.0676322877929953e+00 2.3187840602850731e+01 0 1 0 +833 0 1 0.0000000000000000e+00 2.9415925250300816e+01 3.3434492930918502e+01 3.4253308007180060e+01 0 0 0 +599 0 1 0.0000000000000000e+00 2.9138246995557793e+01 2.3629753058767939e+01 3.1585292989260342e+01 0 0 0 +87 0 1 0.0000000000000000e+00 2.8143100747697886e+01 2.8073458854961572e+01 2.5718032052662132e+01 -1 0 0 +207 0 1 0.0000000000000000e+00 2.3149958355312247e+01 9.8196063607319068e+00 2.4498437322344287e+01 0 0 0 +428 0 1 0.0000000000000000e+00 2.5574333013903409e+01 3.2803889098589138e+01 2.1320412288955847e+01 0 0 0 +1778 0 1 0.0000000000000000e+00 2.8052854007867172e+01 9.8826981309442552e-01 9.4418395795457108e+00 0 1 0 +376 0 1 0.0000000000000000e+00 3.2084329105927026e+01 2.2625307267386021e+00 2.3954357453050260e+01 -1 1 0 +126 0 1 0.0000000000000000e+00 2.3296439263005684e+01 1.1172562635799617e+00 1.2698931597965679e+01 0 0 0 +200 0 1 0.0000000000000000e+00 3.3402772655013791e+01 2.3113824866445377e+01 2.4044094793889546e+01 0 0 -1 +532 0 1 0.0000000000000000e+00 2.7509120352247184e+01 2.7704926029587554e+01 6.9743332133550835e+00 -1 0 0 +209 0 1 0.0000000000000000e+00 3.2619811114528234e+00 1.6562117417508698e+01 2.3145796884488480e+01 0 0 0 +842 0 1 0.0000000000000000e+00 2.9373188334493236e+01 2.5046549606943884e+01 1.4229375613951515e+01 0 0 1 +370 0 1 0.0000000000000000e+00 2.6438016086770151e+01 2.1279907797043958e+01 1.3533002651097986e+01 -1 0 0 +951 0 1 0.0000000000000000e+00 2.8681974768155985e+01 1.9649386172559371e+01 2.8883465351122638e+01 0 0 0 +384 0 1 0.0000000000000000e+00 2.9189179932158048e+01 2.3456488190320290e+01 2.8178063861114854e+01 0 0 0 +158 0 1 0.0000000000000000e+00 2.4644385224241034e+01 1.8546779719403006e+01 2.1651614734989974e-01 0 -1 0 +228 0 1 0.0000000000000000e+00 2.0063708827651073e+01 2.2185530598416602e+01 3.3447365853754278e+01 1 0 0 +3150 0 1 0.0000000000000000e+00 2.6579179258933525e+00 1.0862659532520901e+01 2.3880464070110577e+01 1 0 -1 +1329 0 1 0.0000000000000000e+00 2.9000421267282313e+01 1.6646523077140145e+01 2.7271565033178305e+01 0 0 0 +870 0 1 0.0000000000000000e+00 3.0029222999845206e+01 6.4225247748289235e-02 2.6360016080743957e+01 0 0 0 +22 0 1 0.0000000000000000e+00 2.3311997379574201e+01 1.3159556738982163e+01 2.3818225529521229e+01 0 0 -1 +873 0 1 0.0000000000000000e+00 2.6771942947438262e+01 2.6065215944799991e+01 2.8459684449190771e+01 0 0 0 +7 0 1 0.0000000000000000e+00 2.6258857742812530e+01 2.6202926038418688e+01 2.1549635975164154e+01 0 0 0 +318 0 1 0.0000000000000000e+00 2.8425181438355260e+01 2.3659049860483833e+01 2.0547905970186381e+01 0 0 0 +400 0 1 0.0000000000000000e+00 3.0631383159342278e+01 3.0597381250422483e+01 3.1177499907545371e+01 -1 0 0 +3597 0 1 0.0000000000000000e+00 3.3571672492833224e+00 2.2636431181101131e+01 2.2014840342282522e+01 0 0 0 +559 0 1 0.0000000000000000e+00 3.3425400151235756e+01 2.7067790196210119e+01 2.3074630669887529e+01 -1 0 0 +465 0 1 0.0000000000000000e+00 3.3898921865440741e+01 2.7293872413011787e+01 2.9395717745443235e+01 0 -1 0 +378 0 1 0.0000000000000000e+00 1.7964571990812885e+01 1.7828392510485929e+00 1.5440431427464382e+01 -1 0 0 +3 0 1 0.0000000000000000e+00 2.4766820100944102e+01 7.4501488129075399e+00 1.5576312104065474e+01 -1 0 -1 +1170 0 1 0.0000000000000000e+00 3.1680188835649336e+01 1.2030045908918747e+00 9.6754294029705292e+00 0 0 0 +3535 0 1 0.0000000000000000e+00 8.6269995345501527e-01 3.0572522690807759e+01 1.3297455835347428e+01 1 -1 0 +172 0 1 0.0000000000000000e+00 3.2073119240124178e+01 1.6752414455248822e+01 2.5797998591384143e+01 0 0 -1 +524 0 1 0.0000000000000000e+00 3.2493126674310211e+01 2.7288842858576437e+01 1.4882609345327687e+01 -1 0 0 +1251 0 1 0.0000000000000000e+00 3.0006104215504394e+01 1.2723322368361249e+01 1.8772054570678986e+01 0 0 0 +204 0 1 0.0000000000000000e+00 3.1132547434000521e+01 3.0408321653939808e+01 1.6932807107229358e+01 -1 -1 0 +877 0 1 0.0000000000000000e+00 2.6694317773002009e+01 1.1114470685945925e+01 2.4280055167922022e+01 0 1 1 +1313 0 1 0.0000000000000000e+00 3.2400574069925078e+01 1.5355232155505403e+01 1.8656097552314101e+01 0 0 0 +686 0 1 0.0000000000000000e+00 3.1479223487232090e+01 2.0146484785758279e+01 2.6063803284409452e+01 0 0 0 +306 0 1 0.0000000000000000e+00 3.0284770174967331e+01 2.3773123266861344e+01 2.5055824016452377e+01 0 -1 0 +432 0 1 0.0000000000000000e+00 2.8797750687612094e+01 1.4460089439720049e+01 2.4585884203947813e+01 0 0 0 +423 0 1 0.0000000000000000e+00 3.2964057006120264e+01 1.5434304232730085e+01 1.5622207406553066e+01 -1 -1 0 +1003 0 1 0.0000000000000000e+00 3.0805969306770184e+01 7.9263860600522413e+00 2.9461731869914067e+00 0 1 1 +3159 0 1 0.0000000000000000e+00 5.9137257304138915e+00 2.3646326295533481e+01 2.5131465422494138e+01 0 0 0 +966 0 1 0.0000000000000000e+00 3.2525217589111008e+01 1.2668394935117835e+01 2.1973624397255211e+01 0 0 1 +88 0 1 0.0000000000000000e+00 3.2770921211559518e+01 2.8334180918469752e+01 3.2833532634453150e+01 -1 -1 -1 +1154 0 1 0.0000000000000000e+00 3.1742240463915621e+01 8.4544779519515210e+00 1.7926743719215249e+01 0 0 0 +462 0 1 0.0000000000000000e+00 2.4631259753101560e+01 3.1684654612958916e+01 2.9928293527161845e+01 0 -1 0 +630 0 1 0.0000000000000000e+00 2.6533318832095855e+01 4.3252809983031654e-01 1.1998462167110146e+01 0 0 0 +754 0 1 0.0000000000000000e+00 2.6394883571017065e+01 2.7418747290936643e+00 2.5950169201585386e+01 0 1 -1 +51 0 1 0.0000000000000000e+00 3.2314370624877526e+01 2.4640094180278025e+00 2.8155160979672846e+01 -1 1 -1 +878 0 1 0.0000000000000000e+00 2.9495450498693760e+01 5.4096562194147815e+00 3.4378554163549502e+01 0 1 0 +1762 0 1 0.0000000000000000e+00 3.2682623820441741e+01 2.7938593609760304e+01 5.2724657527721437e+00 0 0 0 +566 0 1 0.0000000000000000e+00 2.9163539716107646e+01 2.0802327591089483e+01 4.2184415148062442e+00 -1 0 0 +449 0 1 0.0000000000000000e+00 2.8282903491212124e+01 1.1028478362015740e+01 1.2695225834385526e+00 -1 0 1 +4 0 1 0.0000000000000000e+00 2.5706425158762762e+01 2.4978841904735223e+01 1.4502886877465317e+01 0 -1 0 +850 0 1 0.0000000000000000e+00 2.8925913139257140e+01 8.7159352721705741e+00 2.6949032293969672e+01 -1 0 0 +772 0 1 0.0000000000000000e+00 2.4038962435956453e+01 1.2328501994992184e+01 2.0129627218351406e+01 -1 1 1 +683 0 1 0.0000000000000000e+00 2.0991893985144685e+01 2.2101289696798165e+01 2.4680704629683159e+01 -1 0 0 +954 0 1 0.0000000000000000e+00 3.0178568951245847e+01 9.0494742856174106e+00 3.3953920122583220e+01 -1 0 0 +489 0 1 0.0000000000000000e+00 2.6062554999076568e+01 1.3330303942902882e+01 1.6410144475569357e+01 0 0 0 +269 0 1 0.0000000000000000e+00 3.1053170062798724e+01 1.1219468232263431e+01 4.8102844234829965e+00 -1 0 0 +902 0 1 0.0000000000000000e+00 2.1143739059224803e+01 2.0263276496517424e+01 4.9556448976581438e+00 -1 0 0 +475 0 1 0.0000000000000000e+00 2.8366000175218918e+01 3.1883017755334823e+01 7.6896902163756806e+00 0 -1 0 +300 0 1 0.0000000000000000e+00 3.1027930718155005e+01 9.6042085682069160e+00 2.1267554222718818e+01 -1 0 0 +236 0 1 0.0000000000000000e+00 2.5973948427015809e+01 9.7405132950452042e+00 1.7688610864776368e+01 -1 0 0 +987 0 1 0.0000000000000000e+00 2.2928796925771891e+01 3.1238758066300489e+00 2.0881198917290174e+01 0 1 0 +323 0 1 0.0000000000000000e+00 2.4449838240201085e+01 5.7378686372551568e-01 2.9722151804983742e+01 0 0 0 +293 0 1 0.0000000000000000e+00 2.8998975205376244e+01 7.5151714657248014e+00 1.5198131383533644e+01 -1 0 0 +940 0 1 0.0000000000000000e+00 2.8727264561532959e+01 3.3565724007815476e+01 2.0607337409977671e+01 0 0 0 +291 0 1 0.0000000000000000e+00 4.4160152052708002e-01 8.8323796449466681e+00 2.0359504853826891e+01 1 0 0 +673 0 1 0.0000000000000000e+00 2.8981951558238492e+01 1.3346802680965304e+01 1.2593208502856998e+01 0 0 0 +104 0 1 0.0000000000000000e+00 2.1237460097745718e+01 1.7282614557972870e+01 2.3353867697911834e+00 -1 0 0 +447 0 1 0.0000000000000000e+00 3.2625995011055828e+01 1.6048334407606475e+01 2.2281254794558556e+01 0 -1 0 +219 0 1 0.0000000000000000e+00 2.8895980636163106e+01 7.4595419456144774e-01 1.4907603790877348e+01 0 0 0 +206 0 1 0.0000000000000000e+00 2.6247718344259106e+01 1.5252111330292617e+01 2.2021856492591613e+01 -1 0 0 +708 0 1 0.0000000000000000e+00 2.1713058392095931e+01 2.0651148915000924e+01 2.9741230553022877e+01 0 0 -1 +3615 0 1 0.0000000000000000e+00 4.7552752805274201e-01 3.4283591647744615e+01 2.4092715023587035e+00 1 0 0 +789 0 1 0.0000000000000000e+00 1.9667111027738141e+01 1.5976384467103369e+01 1.6091776110934443e+01 0 0 0 +3220 0 1 0.0000000000000000e+00 1.8072888844843837e+00 2.6126630192580929e+00 4.6085914063595919e+00 1 0 0 +295 0 1 0.0000000000000000e+00 2.3422827522711525e+01 1.6562361842607185e+01 2.3681224909149694e+01 0 0 0 +740 0 1 0.0000000000000000e+00 2.7526168868820335e+01 1.7956651184402244e+01 1.4982372013277701e+01 0 0 -1 +672 0 1 0.0000000000000000e+00 2.4201446305797489e+01 2.0928192667788739e+01 1.9467262761358281e+01 0 0 0 +991 0 1 0.0000000000000000e+00 3.2503162019051402e+01 1.9709321379408863e+01 2.2538596846629989e+01 -1 1 0 +319 0 1 0.0000000000000000e+00 2.4951651605061990e+01 6.2101870868903486e+00 2.4717312591175403e+01 0 0 0 +962 0 1 0.0000000000000000e+00 3.1405164412954210e+01 2.5672760312651331e+01 3.3976848925685395e+01 0 0 0 +932 0 1 0.0000000000000000e+00 2.6625326184216661e+01 1.1208353931703078e+01 3.3011769766790366e+01 0 1 0 +911 0 1 0.0000000000000000e+00 2.8136088156967606e+01 7.8561804280662733e+00 1.9918054968258136e+01 0 0 0 +3829 0 1 0.0000000000000000e+00 4.4735081594898329e-01 3.1283911927219393e+01 2.0077065613878421e+01 1 0 0 +724 0 1 0.0000000000000000e+00 2.1964606833940248e+01 1.1854620698649615e+01 2.8128103416921771e+01 0 0 -1 +558 0 1 0.0000000000000000e+00 2.9200584057013032e+01 1.9467052358941633e+01 1.1169092380405734e+01 0 0 0 +688 0 1 0.0000000000000000e+00 3.3281062838440107e+01 3.2406752919768017e+01 3.2567418049720395e+01 0 0 0 +743 0 1 0.0000000000000000e+00 2.8744947285923811e+01 1.1428134870908430e+01 7.5512219738205228e+00 -1 0 0 +957 0 1 0.0000000000000000e+00 2.2583179270548875e+01 2.5354990300850314e+01 2.1902896949296897e+00 0 0 0 +514 0 1 0.0000000000000000e+00 3.0007168329801949e+01 2.9718953147015220e+01 5.5095960725947721e+00 0 0 0 +11 0 1 0.0000000000000000e+00 3.1844306077777411e+01 2.3928723279542929e+01 2.0780318561124325e+01 0 0 -1 +332 0 1 0.0000000000000000e+00 2.5167749667396361e+01 2.8461952143987215e+01 1.3022916346799741e+01 -1 0 0 +415 0 1 0.0000000000000000e+00 3.1715001990657669e+01 1.6367319742410860e+01 9.5397563473784821e+00 0 0 1 +68 0 1 0.0000000000000000e+00 3.2571903256948225e+01 2.6776036934269406e+01 1.9339958328300256e+01 0 -1 0 +879 0 1 0.0000000000000000e+00 2.8337806403650415e+01 2.7219790562973181e+01 1.0500279609313054e+01 0 0 -1 +699 0 1 0.0000000000000000e+00 3.1571223908552422e+01 1.3623176451009545e+01 2.5312855532122347e+00 -1 1 0 +906 0 1 0.0000000000000000e+00 2.7985062360253586e+01 1.4216888156123499e+01 9.5040803892088306e+00 0 0 0 +1713 0 1 0.0000000000000000e+00 2.4348067443465869e+01 3.0904140865607083e+01 2.6585252608961056e+00 0 0 0 +3198 0 1 0.0000000000000000e+00 1.0286493030725603e-01 3.0221871789407015e+01 1.6796501809591359e+01 1 -1 0 +1283 0 1 0.0000000000000000e+00 3.4223032297884238e+01 2.9934706646297844e+01 1.3109036866728777e+01 0 -1 0 +1746 0 1 0.0000000000000000e+00 2.6330733984054074e+01 1.8827324591406896e+01 2.1870918952974058e+01 0 0 0 +183 0 1 0.0000000000000000e+00 3.0459925683466366e+01 1.6520762407462414e+01 1.2883481223720105e+01 0 0 0 +555 0 1 0.0000000000000000e+00 2.9061391748891356e+01 9.8197941880402861e-01 6.1838610372409288e+00 0 0 0 +140 0 1 0.0000000000000000e+00 2.9307290141205996e+01 2.1021024407576991e+01 1.1729250758922611e+00 0 0 0 +3133 0 1 0.0000000000000000e+00 5.0491156171072396e+00 2.7471548218483580e+01 7.6336854446934792e+00 1 -1 0 +748 0 1 0.0000000000000000e+00 3.1568192898271125e+01 1.1829249403550225e+01 3.4022278779415991e+01 0 1 -1 +459 0 1 0.0000000000000000e+00 2.8956068681454116e+01 2.4866762512118363e+01 4.4916565155520534e+00 0 0 0 +816 0 1 0.0000000000000000e+00 2.7528542939259751e+01 1.5556001814996602e+01 1.8649078579421793e+01 0 0 0 +679 0 1 0.0000000000000000e+00 2.8583221770086045e+01 2.5013409570290781e+00 1.7529467880663002e+01 -1 1 1 +208 0 1 0.0000000000000000e+00 2.9057965413668025e+01 9.8169007874410870e+00 1.1968182172728335e+01 -1 0 0 +1250 0 1 0.0000000000000000e+00 3.3040846381132752e+01 6.2945883502817939e+00 8.5024008276693408e+00 0 0 0 +542 0 1 0.0000000000000000e+00 3.2254663605614574e+01 2.0401593181747934e+01 8.5481646102995743e+00 -1 0 0 +5 0 1 0.0000000000000000e+00 2.4770710495887332e+01 1.2851215134068221e+01 8.7368285334447666e+00 0 0 0 +986 0 1 0.0000000000000000e+00 2.4444393921639961e+01 8.5925410524792181e+00 3.2239439391169644e+00 0 1 0 +1266 0 1 0.0000000000000000e+00 2.9131968038026010e+01 1.4819186604807983e+01 1.5816445390242301e+01 0 0 0 +321 0 1 0.0000000000000000e+00 2.7097008635150466e+01 7.6812552283920725e+00 2.2553856854551055e+00 0 0 1 +984 0 1 0.0000000000000000e+00 2.9074317186328823e+01 1.1149176823917792e+01 1.6305255406464720e+01 -1 1 0 +1361 0 1 0.0000000000000000e+00 2.7756632450973111e+01 1.1989695832001626e+01 2.1063695079342160e+01 0 0 0 +27 0 1 0.0000000000000000e+00 2.8123090478801522e+01 2.4594888169597223e+01 9.7938133521135851e-01 -1 -1 0 +493 0 1 0.0000000000000000e+00 3.1160138948413895e+01 1.7762927862814097e+00 1.2952887799682246e+01 0 0 1 +197 0 1 0.0000000000000000e+00 2.2829962956808295e+01 3.2719829417431399e+01 8.5220352648940327e+00 -1 -1 0 +425 0 1 0.0000000000000000e+00 3.2885111993341880e+01 2.1050559210002106e+01 3.4068637026778297e+00 -1 0 0 +840 0 1 0.0000000000000000e+00 3.0561805078251012e+01 5.5901208827551558e+00 2.1189739270633627e+01 0 1 0 +283 0 1 0.0000000000000000e+00 2.8741212992414845e+01 2.1916054537253862e+00 3.3025176003161697e+01 -1 0 0 +967 0 1 0.0000000000000000e+00 3.3235665091821247e+01 1.9113947678758830e+01 2.8831774900316976e+01 -1 0 -1 +882 0 1 0.0000000000000000e+00 2.2859101790836711e+01 4.5890803290409172e+00 1.1099589226270782e+01 0 1 0 +56 0 1 0.0000000000000000e+00 2.7928060207005529e+01 3.8225341340876069e+00 1.1159114920684253e+01 0 0 0 +360 0 1 0.0000000000000000e+00 2.4040067427560992e+01 1.9124650950355193e+01 3.8879129487105790e+00 -1 0 1 +3219 0 1 0.0000000000000000e+00 1.6488713841680853e+00 3.1033945422418309e+01 2.3750285901295534e+01 0 0 -1 +515 0 1 0.0000000000000000e+00 3.0741813064256224e+01 4.8367086920589424e+00 5.3604926185527360e+00 -1 1 0 +1362 0 1 0.0000000000000000e+00 3.2340422305546454e+01 9.9029496257441600e+00 2.7461957150070752e+01 0 0 0 +317 0 1 0.0000000000000000e+00 2.5600489289249122e+01 3.4233913920315352e+01 6.9612780288813392e+00 0 -1 1 +42 0 1 0.0000000000000000e+00 2.6157597469670030e+01 2.7619060782352559e+01 3.5426713779707946e+00 0 -1 0 +578 0 1 0.0000000000000000e+00 2.3628163889023291e+01 5.8740713289384034e+00 6.3723510714506504e-01 0 1 0 +928 0 1 0.0000000000000000e+00 3.4117334242401974e+01 9.6400614927780524e+00 7.3950221524727811e+00 0 0 1 +131 0 1 0.0000000000000000e+00 2.6353970983997986e+01 3.1500725303710780e+01 1.0189975211896456e+01 0 0 0 +3084 0 1 0.0000000000000000e+00 2.9818800114341295e+00 1.0449445784399465e+01 1.2822095056585084e+01 0 0 0 +798 0 1 0.0000000000000000e+00 2.5199350328122186e+01 2.8219006600592600e+01 9.2116333093831546e+00 -1 -1 0 +152 0 1 0.0000000000000000e+00 3.2123941009159097e+01 1.2948055138116256e+01 1.2872315926241393e+01 -1 0 0 +342 0 1 0.0000000000000000e+00 2.8722699436423561e+01 1.4096627294280440e+01 3.4247884416490088e+01 -1 0 0 +654 0 1 0.0000000000000000e+00 3.0629680978927503e+01 5.0016545145546178e+00 9.2251919715466233e+00 0 1 0 +722 0 1 0.0000000000000000e+00 2.9444057221854987e+01 2.2752705199103659e+01 1.0793731701568161e+01 0 0 0 +1249 0 1 0.0000000000000000e+00 2.8933096614763102e+01 8.0887329837800372e+00 9.1519018452755585e+00 0 0 0 +617 0 1 0.0000000000000000e+00 1.0014342672705698e+00 3.2962062802945309e+00 8.4369869065623533e+00 1 1 1 +76 0 1 0.0000000000000000e+00 2.7689063179113145e+01 3.0498956497055122e+01 2.0380672871872032e+00 0 -1 0 +694 0 1 0.0000000000000000e+00 1.5138944542740063e+00 1.5434281090230879e+01 4.8419390148142067e+00 0 0 0 +96 0 1 0.0000000000000000e+00 3.2809215438784406e+01 3.2645282089162372e+01 1.0482816077936471e+01 0 -1 0 +227 0 1 0.0000000000000000e+00 2.7604561364534781e+01 2.2518419786797438e+01 1.6379288417082591e+01 0 0 -1 +329 0 1 0.0000000000000000e+00 2.6752180499311891e+01 1.6868015494177911e+01 1.1889780932507511e+01 0 -1 0 +1186 0 1 0.0000000000000000e+00 3.0952890825859225e+01 6.4501515736175463e+00 1.2261968193953381e+01 0 0 0 +476 0 1 0.0000000000000000e+00 3.2700555921271899e+01 2.0446819320027361e+00 1.6312151213537955e+01 0 0 1 +279 0 1 0.0000000000000000e+00 2.6112224895996022e+01 1.0468406242251540e+01 1.0012091754004523e+01 0 0 0 +575 0 1 0.0000000000000000e+00 2.7241905940067838e+01 5.5039363705768958e+00 1.7799531866077380e+01 0 1 0 +1005 0 1 0.0000000000000000e+00 2.4518397389694830e+01 1.6529090625580832e+01 1.5222466304568925e+01 0 1 0 +115 0 1 0.0000000000000000e+00 2.9609725924252405e+01 1.4630713437781955e+01 6.1715892295764876e+00 0 0 0 +709 0 1 0.0000000000000000e+00 3.0487638339622734e+01 2.0750045050235322e+01 1.4525933301725651e+01 1 -1 0 +590 0 1 0.0000000000000000e+00 2.6990330450376590e+01 7.0224713666999046e+00 1.2303298997305721e+01 0 1 1 +1426 0 1 0.0000000000000000e+00 3.1212442866284970e+01 1.6710243918511949e+01 2.9983938335954594e+01 0 0 0 +488 0 1 0.0000000000000000e+00 2.7755711246857548e+01 4.6173261482876899e+00 3.0835179665603514e+00 -1 0 1 +625 0 1 0.0000000000000000e+00 2.6567361876708830e+01 3.0990216315184998e+01 3.3198474503103171e+01 0 0 -1 +213 0 1 0.0000000000000000e+00 2.6195858180885121e+01 2.0985164287086288e+01 1.8532918636024449e+00 0 0 0 +735 0 1 0.0000000000000000e+00 3.1839000782528029e+01 2.3805051523567620e+01 2.5064073298044960e+00 0 0 0 +265 0 1 0.0000000000000000e+00 3.4316526265394160e+01 4.3785414233692119e+00 2.1283079691165508e+01 -1 0 0 +391 0 1 0.0000000000000000e+00 2.9528804655642759e+01 1.7845260529696034e+01 2.3606498959629395e+01 -1 0 0 +999 0 1 0.0000000000000000e+00 1.7258495272227787e+01 3.3743124151718074e-01 9.4427965069403648e+00 0 1 1 +598 0 1 0.0000000000000000e+00 2.6146847005008919e+01 1.8553387352635621e+01 2.6093495477694812e+01 0 0 0 +453 0 1 0.0000000000000000e+00 2.6285862252769309e+01 1.7370799641594967e+01 8.0738450229786434e+00 0 -1 1 +287 0 1 0.0000000000000000e+00 2.3955793491619197e+01 8.4153791570402880e+00 1.2062638510609959e+01 0 0 0 +119 0 1 0.0000000000000000e+00 3.1759141429475477e+01 1.3049596826999851e+01 9.5388823817522965e+00 0 -1 1 +538 0 1 0.0000000000000000e+00 3.2123647881338712e+01 2.3702628927586563e+01 5.9946337461132639e+00 0 0 0 +554 0 1 0.0000000000000000e+00 4.8572630371995347e+00 1.9270361024346119e+01 2.2054035755020305e+01 0 0 -1 +1427 0 1 0.0000000000000000e+00 3.1784044242569831e+01 1.3837915966425641e+01 2.7457773006862425e+01 0 0 0 +4060 0 1 0.0000000000000000e+00 6.8636025919143844e+00 1.5585168731725780e+01 2.7620313112166627e+01 0 0 0 +636 0 1 0.0000000000000000e+00 1.1466823521668699e+00 7.1553037389951450e+00 1.1708526454393489e+01 0 0 0 +714 0 1 0.0000000000000000e+00 3.2969846979550347e+01 2.2010681932417466e+01 3.3711858286595636e+01 0 0 -1 +1377 0 1 0.0000000000000000e+00 2.8697657533006375e+01 7.5079096271105961e+00 2.3898715035640361e+01 0 0 0 +125 0 1 0.0000000000000000e+00 2.4408852600803339e+00 5.8222863321173683e+00 2.6546345198393219e+01 1 0 0 +431 0 1 0.0000000000000000e+00 3.3894937558670421e+01 2.2203641687684968e+01 1.7079352751223830e+01 -1 0 0 +40 0 1 0.0000000000000000e+00 3.3063688805541950e+01 1.4820307266637231e+01 6.2755146249803335e+00 -1 0 0 +885 0 1 0.0000000000000000e+00 2.5594102641429211e+00 2.2136561537391440e+01 3.4537386366290629e-01 1 0 1 +669 0 1 0.0000000000000000e+00 7.7148219699651865e-01 1.1899932214044226e+01 3.9791447063605885e+00 0 0 0 +468 0 1 0.0000000000000000e+00 3.3177977175656352e+01 1.1926087531466500e+01 1.8930968502926930e+01 0 0 0 +47 0 1 0.0000000000000000e+00 3.2485333837827326e+01 7.4135261080374262e+00 2.4241166266197151e+01 -1 0 -1 +650 0 1 0.0000000000000000e+00 3.2815525520876797e+01 9.1291216004280837e+00 3.1063546810660473e+01 -1 1 -1 +211 0 1 0.0000000000000000e+00 3.3686741421718168e+01 3.0988411925570819e+01 6.8508831222342321e+00 0 -1 1 +1986 0 1 0.0000000000000000e+00 3.4144313852228869e+01 1.8971297258482625e+01 3.1813230235600589e+01 0 0 0 +386 0 1 0.0000000000000000e+00 3.4158996820100143e+01 1.2060898927636098e+01 3.0645871929001359e+01 0 0 0 +728 0 1 0.0000000000000000e+00 3.4368456521144374e+01 8.7011764865944539e+00 4.0644939673457117e+00 0 1 0 +1458 0 1 0.0000000000000000e+00 3.4119335717433827e+01 1.3466462893836539e+01 2.4945928893084819e+01 0 0 0 +412 0 1 0.0000000000000000e+00 3.3841731533948895e+01 1.5699541376228476e+01 3.1148765393191669e+00 0 -1 1 +751 0 1 0.0000000000000000e+00 2.8886317121076810e-01 7.0874363323366039e+00 2.3648781159162979e+01 0 1 0 +1714 0 1 0.0000000000000000e+00 3.4144766047346337e+01 2.9768895881309548e-01 1.3211376740031838e+01 0 1 0 +166 0 1 0.0000000000000000e+00 3.3958308301228698e+01 8.6489592086370752e+00 4.6217981020974991e-01 -1 0 0 +67 0 1 0.0000000000000000e+00 3.3996559793418925e+01 3.4906309827651527e+00 1.2009325376665609e+01 0 0 0 +692 0 1 0.0000000000000000e+00 3.4388460739720692e+01 5.6502233768521553e+00 5.1900618598281270e+00 1 1 0 +151 0 1 0.0000000000000000e+00 3.4052188565923679e+01 2.9418531327640430e+01 2.6279246250972044e+01 0 0 0 +1124 0 1 0.0000000000000000e+00 3.3860109692947560e+01 2.7898452985447144e+00 7.8187890654368202e+00 0 0 0 +1315 0 1 0.0000000000000000e+00 3.4555185248418056e+01 8.8202119220806914e+00 2.0523439382589761e+01 0 0 0 +935 0 1 0.0000000000000000e+00 3.4322675413118603e+01 3.4521398637190437e+01 2.1307955158533836e+01 -1 -1 0 +1105 0 1 0.0000000000000000e+00 3.3340355066696517e+01 3.3424149445980788e+01 2.4997860448670323e+01 0 -1 -1 +446 0 1 0.0000000000000000e+00 4.4234838485460848e-01 1.5523483802875212e+01 1.8141071441826885e+01 0 0 0 +3868 0 1 0.0000000000000000e+00 6.1295241062261831e-03 1.8318573111060992e+01 2.4541688795840120e+01 0 0 0 +3276 0 1 0.0000000000000000e+00 2.6790846619250774e-01 2.4658015190974805e+01 3.1837296107738993e+01 0 -1 0 +434 0 1 0.0000000000000000e+00 2.9970291866072207e-01 3.1010704112934064e+01 1.0865252552657594e+00 1 -1 0 +1443 0 1 0.0000000000000000e+00 3.4572459814797050e+01 1.0279997902305103e+01 2.3984753387830828e+01 0 0 0 +3922 0 1 0.0000000000000000e+00 5.7854907741811701e-01 8.9160310957376279e+00 3.3496476834349167e+01 0 0 0 +926 0 1 0.0000000000000000e+00 2.4163695622838813e-01 2.6219069374104254e-01 2.4021302091491808e+01 0 1 0 +298 0 1 0.0000000000000000e+00 1.4015248946752212e-01 1.4648094860215540e+01 3.4098887990076499e+01 0 0 -1 +3448 0 1 0.0000000000000000e+00 2.0045687792685563e-02 3.2952075607699364e+01 2.7274767434028927e+01 0 0 0 +1043 0 1 0.0000000000000000e+00 3.9532628266017674e+01 8.5134434629144042e+00 3.3399151184954960e+01 0 0 -1 +1033 0 1 0.0000000000000000e+00 5.1400228709459782e+01 3.4006407391665050e+01 3.3628910306589880e+01 0 -1 -1 +1927 0 1 0.0000000000000000e+00 4.7812150462992108e+01 1.6943499878189865e+01 2.5791267653791483e+01 0 0 0 +1799 0 1 0.0000000000000000e+00 4.7395442243574941e+01 1.8296172070896475e+01 1.6835603085744584e+01 0 0 0 +1029 0 1 0.0000000000000000e+00 4.1226282886756486e+01 3.3421480937639934e+01 4.6065966524528412e-01 0 -1 0 +1511 0 1 0.0000000000000000e+00 5.0318123866056062e+01 1.1173372568912860e+01 2.7515648711118171e+01 0 0 0 +1510 0 1 0.0000000000000000e+00 4.5373541084094839e+01 1.0634746305979061e+01 3.1737820089964369e+01 0 0 0 +1509 0 1 0.0000000000000000e+00 4.2687447687352673e+01 9.2002133159324266e+00 2.9250638798674281e+01 0 0 0 +1508 0 1 0.0000000000000000e+00 4.1059818585039203e+01 1.4465063306093180e+01 2.8191322712542789e+01 0 0 0 +1507 0 1 0.0000000000000000e+00 3.8653107525210061e+01 3.6981652947455799e+00 2.4938039242244308e+01 0 0 0 +1506 0 1 0.0000000000000000e+00 3.8235634456559396e+01 7.9592435133147053e+00 2.5585260111971149e+01 0 0 0 +1496 0 1 0.0000000000000000e+00 4.9831836061640843e+01 6.5757231741318458e+00 3.1544427211512776e+01 0 0 0 +1495 0 1 0.0000000000000000e+00 4.7583154437139505e+01 4.9924560947817049e+00 2.9341757774629006e+01 0 0 0 +1494 0 1 0.0000000000000000e+00 4.4158209833587200e+01 6.8617025435879944e+00 3.1252969899857852e+01 0 0 0 +1493 0 1 0.0000000000000000e+00 4.3937834985382082e+01 4.1926982614160133e+00 2.9080134561337367e+01 0 0 0 +1492 0 1 0.0000000000000000e+00 4.0999233944870738e+01 2.1243140777861771e+00 2.7514274650952810e+01 0 0 0 +1923 0 1 0.0000000000000000e+00 3.7988389910575471e+01 1.4270360610575583e+01 1.9032525522919791e+01 0 0 0 +1425 0 1 0.0000000000000000e+00 3.5357346474856264e+01 8.2575895545298170e+00 2.8305911961985572e+01 0 0 0 +1842 0 1 0.0000000000000000e+00 3.7397969147210510e+01 2.7786964799459248e+01 1.7064766845862714e+01 0 0 0 +1522 0 1 0.0000000000000000e+00 3.7468117649435001e+01 1.8575029293137266e+01 3.2716175164359498e+01 0 0 0 +148 0 1 0.0000000000000000e+00 3.6870465416913127e+01 2.1859159912023105e+00 1.4270680998918035e+01 0 0 0 +1797 0 1 0.0000000000000000e+00 4.2627685717207022e+01 1.7754737655263760e+01 1.5953537430574476e+01 0 0 0 +1480 0 1 0.0000000000000000e+00 4.9037284083723691e+01 3.0164199084175536e+00 3.2156989802090813e+01 0 0 0 +1524 0 1 0.0000000000000000e+00 4.1496075145868076e+01 1.8856568930340678e+01 3.2817475034267147e+01 0 0 0 +1478 0 1 0.0000000000000000e+00 4.7958543012452793e+01 1.5469818896103230e-01 2.9982503188288632e+01 0 0 0 +1525 0 1 0.0000000000000000e+00 4.0802630114892708e+01 1.1347450417160447e+01 2.7755271406879899e+01 0 0 0 +1476 0 1 0.0000000000000000e+00 4.4627308293242180e+01 3.2331437001048322e+01 2.7036332886978343e+01 0 -1 0 +929 0 1 0.0000000000000000e+00 3.4786442654551550e+01 3.0180225415259269e+01 3.0221022014316056e+01 0 0 0 +1465 0 1 0.0000000000000000e+00 5.2914483568319461e+01 1.2860701619298478e+01 2.6178168678426552e+01 0 0 0 +1464 0 1 0.0000000000000000e+00 5.0427870511547439e+01 1.5014156943716701e+01 2.7707667760204483e+01 0 0 0 +1463 0 1 0.0000000000000000e+00 4.5518140518738008e+01 1.5060540655664504e+01 2.4199593398246261e+01 0 0 0 +1462 0 1 0.0000000000000000e+00 4.8394933278039161e+01 1.3486686647969201e+01 2.9792301567987050e+01 0 0 0 +1461 0 1 0.0000000000000000e+00 4.3435790078302453e+01 1.2556373484243796e+01 2.5440291219573567e+01 0 0 0 +1460 0 1 0.0000000000000000e+00 3.9721320965594444e+01 1.7151182223781536e+01 2.9854662871989326e+01 0 0 0 +1459 0 1 0.0000000000000000e+00 3.8473568957019651e+01 9.0760496036403815e+00 2.2308596820426523e+01 0 0 0 +49 0 1 0.0000000000000000e+00 3.6400054749103724e+01 3.1729814677801837e+01 1.0523551155918440e+01 0 -1 0 +1449 0 1 0.0000000000000000e+00 5.2526805154890020e+01 8.8463438522734830e+00 2.5790312620121618e+01 0 0 0 +1448 0 1 0.0000000000000000e+00 4.7420355109101060e+01 1.3060573911491463e+01 2.6155686474793711e+01 0 0 0 +1447 0 1 0.0000000000000000e+00 4.7732576395134174e+01 9.1067559761000574e+00 2.5919719812670703e+01 0 0 0 +1446 0 1 0.0000000000000000e+00 4.5109372501971045e+01 1.0676510606331357e+01 2.7942556428977223e+01 0 0 0 +1445 0 1 0.0000000000000000e+00 4.1274645881126098e+01 6.0805132786319387e+00 2.6682581316808442e+01 0 0 0 +1444 0 1 0.0000000000000000e+00 4.0692051207061546e+01 6.1908975271457392e+00 2.2982378813214225e+01 0 0 0 +244 0 1 0.0000000000000000e+00 3.4628218149578096e+01 2.4941758874170670e+01 3.8571288039314182e+00 0 -1 0 +6 0 1 0.0000000000000000e+00 3.5192410070823740e+01 1.0100522414804288e+01 1.3248650310103180e+01 -1 0 -1 +1433 0 1 0.0000000000000000e+00 5.1970337803935877e+01 4.8988943278060999e+00 2.5139043285859490e+01 0 0 0 +1432 0 1 0.0000000000000000e+00 5.0073102518488511e+01 7.1804989376627493e+00 2.7409798615827164e+01 0 0 0 +1431 0 1 0.0000000000000000e+00 4.4936107923228967e+01 7.3367087882807409e+00 2.3881733932536367e+01 0 0 0 +1430 0 1 0.0000000000000000e+00 4.7721808526677542e+01 8.2595988034387968e+00 2.9623830810887586e+01 0 0 0 +1429 0 1 0.0000000000000000e+00 4.5080633602575105e+01 6.7602692415448855e+00 2.7320723194831601e+01 0 0 0 +338 0 1 0.0000000000000000e+00 3.6602274360544847e+01 1.5066152177919767e+01 5.5341367122520007e+00 0 0 1 +1650 0 1 0.0000000000000000e+00 3.9756286271266063e+01 3.0103951040055833e+01 8.3353042378357927e+00 0 0 0 +1394 0 1 0.0000000000000000e+00 3.5529197726720007e+01 1.7145534475688784e+01 1.7399190804296733e+01 0 0 0 +255 0 1 0.0000000000000000e+00 3.6988439993168797e+01 1.5481997998913124e+01 1.2599672125265016e+00 0 -1 0 +1526 0 1 0.0000000000000000e+00 4.1416211754537997e+01 1.4903295367456378e+01 3.2052776372621679e+01 0 0 0 +1527 0 1 0.0000000000000000e+00 4.3233746262615561e+01 1.3150675343344131e+01 3.0011476095110901e+01 0 0 0 +1528 0 1 0.0000000000000000e+00 5.2545664524320202e+01 1.3273410511778723e+01 3.0164305317652666e+01 0 0 0 +1416 0 1 0.0000000000000000e+00 4.7938691342350893e+01 4.5795817593462722e+00 2.5601990864617875e+01 0 0 0 +1414 0 1 0.0000000000000000e+00 4.3203821156700855e+01 4.1809277018096616e+00 2.5160737832569314e+01 0 0 0 +1412 0 1 0.0000000000000000e+00 4.3585249946042481e+01 4.9258182560018121e-01 2.5359325930357578e+01 0 0 0 +1505 0 1 0.0000000000000000e+00 3.8913554176442503e+01 8.7581828101385497e+00 2.9824032451865143e+01 0 0 0 +80 0 1 0.0000000000000000e+00 3.7653011953292037e+01 9.7179042456112708e+00 1.2490303101942735e+00 -1 0 1 +1401 0 1 0.0000000000000000e+00 5.1996631800235882e+01 1.2949485012028022e+01 2.0974075560264883e+01 0 0 0 +1400 0 1 0.0000000000000000e+00 4.9905994752703393e+01 1.4814304631834824e+01 2.3826636866240786e+01 0 0 0 +1399 0 1 0.0000000000000000e+00 4.6610387851140352e+01 1.3677391485892315e+01 2.0722189023326457e+01 0 0 0 +1398 0 1 0.0000000000000000e+00 4.5236302682856774e+01 1.5235076305450933e+01 2.7643962965399020e+01 0 0 0 +1397 0 1 0.0000000000000000e+00 4.4462888166917516e+01 1.6031394547621897e+01 1.8232457048902450e+01 0 0 0 +1396 0 1 0.0000000000000000e+00 3.9353907498483487e+01 1.2529167446351652e+01 2.1713868499181800e+01 0 0 0 +680 0 1 0.0000000000000000e+00 3.6921912967601990e+01 2.7866051572147050e+01 3.1960999021377241e+01 -1 1 -1 +1667 0 1 0.0000000000000000e+00 3.5028331546624685e+01 2.1996639108619760e+01 1.5443564224966637e+00 0 0 0 +1385 0 1 0.0000000000000000e+00 5.1762828181276099e+01 8.9228654392530409e+00 2.1132442478379389e+01 0 0 0 +1384 0 1 0.0000000000000000e+00 4.9499552163726385e+01 1.1194153005115007e+01 2.3342953101112538e+01 0 0 0 +1383 0 1 0.0000000000000000e+00 4.7265217252328490e+01 8.9512481687179335e+00 2.0846862183774732e+01 0 0 0 +1382 0 1 0.0000000000000000e+00 4.5857437656526052e+01 1.1763049056416950e+01 2.3191918688583844e+01 0 0 0 +1381 0 1 0.0000000000000000e+00 4.3150559971882771e+01 3.9363466464095125e+00 2.0917285267765504e+01 0 0 0 +1380 0 1 0.0000000000000000e+00 4.2286042377789599e+01 8.7435507861167530e+00 2.1011515350080447e+01 0 0 0 +1379 0 1 0.0000000000000000e+00 3.8605442855488306e+01 1.1895550351663074e+01 2.5275872798315827e+01 0 0 0 +1345 0 1 0.0000000000000000e+00 3.8708816632601810e+01 3.4490919448611081e+01 2.0844649129824791e+01 0 -1 0 +2018 0 1 0.0000000000000000e+00 3.9042950020549000e+01 3.0300808993126154e+01 3.4000880966247088e+01 0 0 0 +1369 0 1 0.0000000000000000e+00 5.1139415438783438e+01 4.0908627730054539e+00 2.1669991535401163e+01 0 0 0 +1368 0 1 0.0000000000000000e+00 4.9438193405512742e+01 7.3945971029015762e+00 2.3359382852448284e+01 0 0 0 +1367 0 1 0.0000000000000000e+00 4.6828013561194837e+01 5.2888980497387381e+00 2.2210698092135310e+01 0 0 0 +1366 0 1 0.0000000000000000e+00 4.2399740665231782e+01 8.8065940523688653e+00 2.4881045927510200e+01 0 0 0 +1365 0 1 0.0000000000000000e+00 4.1058928268268993e+01 1.8310126745609259e+00 1.8686005746619632e+01 0 0 0 +1122 0 1 0.0000000000000000e+00 3.8945298917548890e+01 4.0657942592889400e+00 3.0158760479017479e+00 0 0 0 +1363 0 1 0.0000000000000000e+00 3.6564234014694698e+01 3.2946765320954341e+01 2.3027823575626403e+01 0 -1 0 +1346 0 1 0.0000000000000000e+00 3.6674847291337834e+01 1.7785068471142829e+00 2.7157783399009926e+01 0 0 0 +1352 0 1 0.0000000000000000e+00 4.9487497529198926e+01 2.3593260705994785e+00 2.3811452999772627e+01 0 0 0 +1350 0 1 0.0000000000000000e+00 4.5790701894424686e+01 1.9225505566250918e+00 2.7287208936693784e+01 0 0 0 +1512 0 1 0.0000000000000000e+00 4.8966809188974253e+01 1.0713486271878409e+01 3.1638180856693602e+01 0 0 0 +1348 0 1 0.0000000000000000e+00 4.0892338128897393e+01 1.8474240514477993e+00 2.2988163706031365e+01 0 0 0 +1153 0 1 0.0000000000000000e+00 3.7144588022735213e+01 3.2944115953177118e+01 1.4486476547642764e+00 0 -1 0 +1543 0 1 0.0000000000000000e+00 4.8320040351168039e+01 1.7307736700749771e+01 3.3938073151476978e+01 0 0 -1 +1336 0 1 0.0000000000000000e+00 4.9292099508948290e+01 1.5540567636984363e+01 1.8587114916261623e+01 0 0 0 +1513 0 1 0.0000000000000000e+00 5.1482309864919095e+01 9.1883962339811216e+00 3.0024040633663514e+01 0 0 0 +1334 0 1 0.0000000000000000e+00 4.3551217838871359e+01 1.3492779742405602e+01 1.6206933342698637e+01 0 0 0 +1063 0 1 0.0000000000000000e+00 4.7583161980658531e+01 8.0820941783399665e+00 3.3587972807546599e+01 0 0 -1 +1332 0 1 0.0000000000000000e+00 4.1374915312233036e+01 1.3757838189497512e+01 1.8968627053530728e+01 0 0 0 +1330 0 1 0.0000000000000000e+00 3.7998171119507113e+01 1.9053183033181309e+01 1.9210086094985261e+01 0 0 0 +1320 0 1 0.0000000000000000e+00 4.9742726355544079e+01 1.1130772959906549e+01 1.9200796301456581e+01 0 0 0 +1318 0 1 0.0000000000000000e+00 4.4605170888792109e+01 1.1285095468379659e+01 1.9498113787726336e+01 0 0 0 +1349 0 1 0.0000000000000000e+00 4.3538112151058151e+01 2.0336542291204215e-01 2.1684688453217515e+01 0 0 0 +1316 0 1 0.0000000000000000e+00 4.2654442831009135e+01 1.1706008285643128e+01 2.2527852907847844e+01 0 0 0 +1314 0 1 0.0000000000000000e+00 3.7421670145928523e+01 1.1022899645980912e+01 1.8685874749444416e+01 0 0 0 +1047 0 1 0.0000000000000000e+00 4.5556438178729842e+01 2.9464716342360386e+00 3.1606708043713532e+01 0 0 -1 +1987 0 1 0.0000000000000000e+00 3.6777211852032053e+01 2.3468937435826948e+01 2.3614446013546175e+01 0 0 0 +1479 0 1 0.0000000000000000e+00 4.9792834342322443e+01 2.0083737506955703e+00 2.7461331394502082e+01 0 0 0 +1304 0 1 0.0000000000000000e+00 4.9150383675474487e+01 6.3855359919946686e+00 1.8978996037196659e+01 0 0 0 +1989 0 1 0.0000000000000000e+00 3.8192359554753679e+01 1.2451758531446197e+01 3.0431117306004204e+01 0 0 0 +1302 0 1 0.0000000000000000e+00 3.8982232143029378e+01 8.1650190710510095e+00 1.2339517894883937e+01 0 0 0 +1300 0 1 0.0000000000000000e+00 3.7844020832612813e+01 7.6908470847286949e+00 1.8977417981844628e+01 0 0 0 +1049 0 1 0.0000000000000000e+00 5.1985265127307159e+01 4.8696714877609830e+00 3.3929814516150785e+01 0 0 -1 +998 0 1 0.0000000000000000e+00 3.4742495998206721e+01 2.4939415894807063e+01 7.7049327752342869e+00 -1 0 0 +1285 0 1 0.0000000000000000e+00 4.3587398021366013e+01 3.4268527927284225e+01 1.6248954299036090e+01 0 -1 0 +1415 0 1 0.0000000000000000e+00 4.7335123447651803e+01 3.3740068578983610e+01 2.5839138614070826e+01 0 -1 0 +1351 0 1 0.0000000000000000e+00 4.7897395370378909e+01 1.5378859682845952e-01 2.1128338138077449e+01 0 0 0 +1288 0 1 0.0000000000000000e+00 4.8748309063897466e+01 2.8792485684435518e+00 1.9371601050535453e+01 0 0 0 +1286 0 1 0.0000000000000000e+00 4.4892275744443737e+01 1.7310309413479115e+00 1.8939842411228476e+01 0 0 0 +1284 0 1 0.0000000000000000e+00 3.8290844744126034e+01 3.2791668828255767e+00 2.1192471885503405e+01 0 0 0 +1233 0 1 0.0000000000000000e+00 3.5133358673501434e+01 9.3818375918773480e+00 1.6928527435794411e+01 0 0 0 +1413 0 1 0.0000000000000000e+00 4.1179275175432331e+01 3.2601867184507682e+01 2.3166950879068118e+01 0 -1 0 +1925 0 1 0.0000000000000000e+00 4.1282585814790025e+01 1.4619340586920320e+01 2.4061703311707856e+01 0 0 0 +1027 0 1 0.0000000000000000e+00 4.1368057142606496e+01 3.2537801004047644e+01 3.1688396725818212e+01 0 -1 -1 +463 0 1 0.0000000000000000e+00 3.5119708584807299e+01 3.4487438141487537e+01 7.7141649897593680e+00 0 -1 0 +1411 0 1 0.0000000000000000e+00 3.8966167106733401e+01 8.4449451826578717e-02 2.4898918176607090e+01 0 0 0 +1477 0 1 0.0000000000000000e+00 4.0744775836883996e+01 3.2580583658086077e+01 2.6958891182579382e+01 0 -1 0 +1555 0 1 0.0000000000000000e+00 4.0584000075234755e+01 1.6312859399017615e+01 5.1755384750417033e-01 0 0 0 +1794 0 1 0.0000000000000000e+00 4.0279316194457770e+01 2.0354829621500048e+01 1.6910953264381977e+01 0 0 0 +1796 0 1 0.0000000000000000e+00 3.9309615098021951e+01 1.2885438021403282e+01 1.5778936336104490e+01 0 0 0 +1798 0 1 0.0000000000000000e+00 4.7391895703542389e+01 2.2055991533719546e+01 2.0943521178572944e+01 0 0 0 +1800 0 1 0.0000000000000000e+00 4.9890143607562614e+01 1.9156380010971674e+01 1.9494192379310178e+01 0 0 0 +58 0 1 0.0000000000000000e+00 3.5523151416981904e+01 2.1568176208079883e+01 2.0915130487181159e+01 -1 0 0 +1863 0 1 0.0000000000000000e+00 4.7773570810693492e+01 1.6909576473258717e+01 2.1518818196285221e+01 0 0 0 +961 0 1 0.0000000000000000e+00 3.6966914747874938e+01 1.8571125025732869e+01 2.8775452717541306e+01 0 0 0 +1587 0 1 0.0000000000000000e+00 4.1087080450475575e+01 2.7965279749862173e+01 1.0686442500880540e+01 0 0 0 +1814 0 1 0.0000000000000000e+00 4.5578647288740129e+01 2.4336399916017562e+01 1.8828090100866088e+01 0 0 0 +1816 0 1 0.0000000000000000e+00 5.0918637242950538e+01 2.4757704294761865e+01 1.8701555738165439e+01 0 0 0 +1813 0 1 0.0000000000000000e+00 4.4847398674349186e+01 1.9039858359115875e+01 1.9969426575258268e+01 0 0 0 +1777 0 1 0.0000000000000000e+00 3.7397680252840807e+01 2.8245199772446288e+01 1.0551844707512897e+01 0 0 0 +1826 0 1 0.0000000000000000e+00 3.6957215080367291e+01 2.3164236304460015e+01 1.8253338042880877e+01 0 0 0 +1828 0 1 0.0000000000000000e+00 4.0742828790951613e+01 2.8413920807946177e+01 1.8186570335153970e+01 0 0 0 +1993 0 1 0.0000000000000000e+00 5.2128910109286728e+01 1.7644580961173446e+01 2.9626330287254493e+01 0 0 0 +1830 0 1 0.0000000000000000e+00 4.7962773505657410e+01 2.5802986724488271e+01 1.6799542337031120e+01 0 0 0 +1832 0 1 0.0000000000000000e+00 5.0093381427914522e+01 2.7936376636754250e+01 1.9187215357677402e+01 0 0 0 +1845 0 1 0.0000000000000000e+00 4.5343053764671907e+01 2.8297073145904687e+01 1.8845758142571462e+01 0 0 0 +78 0 1 0.0000000000000000e+00 3.4905087395573531e+01 1.2675949935286223e+01 1.0110500056577887e+00 0 0 0 +1844 0 1 0.0000000000000000e+00 4.1206718310847130e+01 3.2634375375287817e+01 1.9011072678323043e+01 0 0 0 +1846 0 1 0.0000000000000000e+00 4.4973161285263899e+01 3.2241256552578932e+01 1.9589247135982781e+01 0 0 0 +1848 0 1 0.0000000000000000e+00 4.9651996458530547e+01 3.2455961195707125e+01 1.9086402589830396e+01 0 0 0 +61 0 1 0.0000000000000000e+00 4.1112586563367458e+01 3.2987435271218011e+01 6.4237183364607366e+00 0 -1 0 +1858 0 1 0.0000000000000000e+00 4.1163111883360266e+01 2.4252226634043431e+01 1.8472943212542297e+01 0 0 0 +1860 0 1 0.0000000000000000e+00 4.1649294405858043e+01 1.9256209070346095e+01 2.3383725825703578e+01 0 0 0 +1862 0 1 0.0000000000000000e+00 4.5054717789200360e+01 1.9145049910400800e+01 2.3501624662114263e+01 0 0 0 +1864 0 1 0.0000000000000000e+00 4.9399782814653356e+01 1.9634060558074253e+01 2.3767244506943545e+01 0 0 0 +2041 0 1 0.0000000000000000e+00 5.2369851745542995e+01 2.9570725936564148e+01 2.9539519215411616e+01 0 0 0 +156 0 1 0.0000000000000000e+00 3.5089467105815032e+01 2.5570132401323683e+01 1.1710541020354706e+01 -1 0 -1 +2040 0 1 0.0000000000000000e+00 4.9131133960965926e+01 3.1491217013329319e+01 3.1308814493059952e+01 0 0 0 +1874 0 1 0.0000000000000000e+00 3.7194536322878719e+01 1.4830159639331788e+01 2.3614476943727922e+01 0 0 0 +1875 0 1 0.0000000000000000e+00 4.1615229103874114e+01 1.8726029157424104e+01 1.9680716377330473e+01 0 0 0 +1876 0 1 0.0000000000000000e+00 4.3401403120414273e+01 2.2396681075235282e+01 2.1089872266899185e+01 0 0 0 +1877 0 1 0.0000000000000000e+00 4.3349363138404478e+01 2.6336058734122695e+01 1.6458150758010223e+01 0 0 0 +1878 0 1 0.0000000000000000e+00 4.3578100366614109e+01 2.1818261768395207e+01 1.7623136056518526e+01 0 0 0 +1879 0 1 0.0000000000000000e+00 4.5851166488693757e+01 2.4054872738607337e+01 2.3322774032128216e+01 0 0 0 +1880 0 1 0.0000000000000000e+00 4.9512063365795065e+01 2.3401143865349166e+01 2.3250931462311243e+01 0 0 0 +1881 0 1 0.0000000000000000e+00 5.0991918575748592e+01 2.1763524338294776e+01 2.1127875886829660e+01 0 0 0 +1890 0 1 0.0000000000000000e+00 3.9623301482130785e+01 2.5294922770037598e+01 3.2982338325943992e+01 0 0 0 +1891 0 1 0.0000000000000000e+00 3.9821960147862953e+01 2.4891186664396990e+01 1.5225589949613964e+01 0 0 0 +1892 0 1 0.0000000000000000e+00 4.0774766228453252e+01 2.7541180380637321e+01 2.2856559656765945e+01 0 0 0 +1893 0 1 0.0000000000000000e+00 4.3064175194254759e+01 2.6209827712474446e+01 2.0533624710407935e+01 0 0 0 +1894 0 1 0.0000000000000000e+00 4.5080607755190158e+01 2.8578447181862170e+01 2.2860573361292744e+01 0 0 0 +1895 0 1 0.0000000000000000e+00 4.7547984935282621e+01 2.6555361205963248e+01 2.1457513644917757e+01 0 0 0 +1896 0 1 0.0000000000000000e+00 5.0285950147689029e+01 2.7854948712714897e+01 2.2943639763637254e+01 0 0 0 +1897 0 1 0.0000000000000000e+00 5.2424287584740014e+01 2.5655653716503014e+01 2.1689142051720886e+01 0 0 0 +1906 0 1 0.0000000000000000e+00 3.6372972681443791e+01 3.2519002622754272e+01 1.4026028673827819e+01 0 0 0 +1907 0 1 0.0000000000000000e+00 4.3248438155422171e+01 3.0309694754893258e+01 1.6958023033547413e+01 0 0 0 +1908 0 1 0.0000000000000000e+00 3.5295922018318166e+01 2.8442657250002554e+01 1.9963244063584053e+01 0 0 0 +1909 0 1 0.0000000000000000e+00 4.2870691570076247e+01 2.9827219884821567e+01 2.0652190697601448e+01 0 0 0 +1910 0 1 0.0000000000000000e+00 4.5352836814325805e+01 3.1901820832205662e+01 2.3475671588490908e+01 0 0 0 +1911 0 1 0.0000000000000000e+00 4.7650818286809056e+01 3.0732873382874246e+01 2.1305936999686075e+01 0 0 0 +1912 0 1 0.0000000000000000e+00 5.0214003547422585e+01 3.2671086166516929e+01 2.2986594868087430e+01 0 0 0 +1913 0 1 0.0000000000000000e+00 5.2006810247311925e+01 3.0352264718839059e+01 2.0935073607890779e+01 0 0 0 +2025 0 1 0.0000000000000000e+00 5.2109910376459950e+01 2.5937097072209863e+01 2.9127210666671704e+01 0 0 0 +1812 0 1 0.0000000000000000e+00 3.7120334549400042e+01 2.7990912384685654e+01 1.3570061337964407e+01 0 0 0 +1924 0 1 0.0000000000000000e+00 4.1775551971474094e+01 1.9539074614687497e+01 2.8221597462138654e+01 0 0 0 +2024 0 1 0.0000000000000000e+00 5.0253390998714501e+01 2.7767180350085177e+01 3.1453830889301191e+01 0 0 0 +1926 0 1 0.0000000000000000e+00 4.5654561184076371e+01 1.9266729259122865e+01 2.7923704558622415e+01 0 0 0 +2039 0 1 0.0000000000000000e+00 4.7747466141503480e+01 3.0274734375700746e+01 2.8609441222987240e+01 0 0 0 +1928 0 1 0.0000000000000000e+00 4.7386808646338210e+01 2.1777306175279868e+01 2.9836614218648542e+01 0 0 0 +1475 0 1 0.0000000000000000e+00 3.9268045421400075e+01 3.4488840626934888e+01 2.9101536902138957e+01 0 -1 0 +2023 0 1 0.0000000000000000e+00 4.7553540361233068e+01 2.6394755142054706e+01 2.8937596186145921e+01 0 0 0 +2038 0 1 0.0000000000000000e+00 4.3531425037641611e+01 3.0246305645008960e+01 3.3786160102701032e+01 0 0 0 +1169 0 1 0.0000000000000000e+00 3.5457549534961089e+01 2.5647653059760294e+00 1.8549836439117708e+01 0 0 0 +1939 0 1 0.0000000000000000e+00 3.7607027358410278e+01 2.3655933577655325e+01 2.7874225398223022e+01 0 0 0 +1940 0 1 0.0000000000000000e+00 4.0192999788696710e+01 2.3250896921247936e+01 2.3746824886555284e+01 0 0 0 +1941 0 1 0.0000000000000000e+00 4.3079491309569640e+01 1.7250168807131672e+01 2.5816756952997988e+01 0 0 0 +1942 0 1 0.0000000000000000e+00 4.5373269748875842e+01 2.3994074774155138e+01 2.7787839067604835e+01 0 0 0 +1943 0 1 0.0000000000000000e+00 4.7282092917154479e+01 2.1724712364868754e+01 2.5754911611357155e+01 0 0 0 +1944 0 1 0.0000000000000000e+00 4.9713078154140455e+01 2.3441532746823608e+01 2.7396019224937813e+01 0 0 0 +1945 0 1 0.0000000000000000e+00 5.1581950784976343e+01 2.1117671194861895e+01 2.5771422435622735e+01 0 0 0 +1954 0 1 0.0000000000000000e+00 4.3426140682151903e+01 3.2467607792215125e-01 2.9139667034415115e+01 0 1 0 +1955 0 1 0.0000000000000000e+00 3.6389926293970937e+01 1.8741854502606849e+01 2.3254196659973598e+01 0 0 0 +1956 0 1 0.0000000000000000e+00 4.2906439665813323e+01 2.5111704875128282e+01 2.5028373320279929e+01 0 0 0 +1957 0 1 0.0000000000000000e+00 3.8700204573389414e+01 2.6296490278578219e+01 1.9986119802110778e+01 0 0 0 +1958 0 1 0.0000000000000000e+00 4.4971549283467297e+01 2.8223434890707452e+01 2.6487984535664395e+01 0 0 0 +1959 0 1 0.0000000000000000e+00 4.7578371133225794e+01 2.6135371803756975e+01 2.5729300041351561e+01 0 0 0 +1960 0 1 0.0000000000000000e+00 5.0079156489455329e+01 2.8245348205372490e+01 2.7582178934284759e+01 0 0 0 +1473 0 1 0.0000000000000000e+00 3.9046576034436328e+01 1.3228865451408289e+00 3.4336538020904094e+01 0 0 0 +1971 0 1 0.0000000000000000e+00 3.7244084693315784e+01 2.7392044951035849e+01 2.3197426044469857e+01 0 0 0 +1972 0 1 0.0000000000000000e+00 3.8742396603412139e+01 3.0088272167247535e+01 2.1112578941925662e+01 0 0 0 +1973 0 1 0.0000000000000000e+00 4.2213108348329278e+01 3.0122202059374814e+01 2.4688264695364847e+01 0 0 0 +1974 0 1 0.0000000000000000e+00 4.2867765456080008e+01 3.0215080991292105e+01 2.9784634653543318e+01 0 0 0 +1975 0 1 0.0000000000000000e+00 4.8939282587166950e+01 3.0045233989595889e+01 2.5079200590147476e+01 0 0 0 +1976 0 1 0.0000000000000000e+00 5.0109540436173198e+01 3.2735128536580305e+01 2.7128677811499198e+01 0 0 0 +1977 0 1 0.0000000000000000e+00 5.2125058959561287e+01 2.9933927951666167e+01 2.4678102174093080e+01 0 0 0 +2037 0 1 0.0000000000000000e+00 4.1439457639319023e+01 2.8220686226597611e+01 2.7378692738407516e+01 0 0 0 +214 0 1 0.0000000000000000e+00 3.5794300933246205e+01 7.1130901722351254e+00 3.2094457715099203e+01 0 0 -1 +2022 0 1 0.0000000000000000e+00 4.6171925749658300e+01 2.8595798847307261e+01 3.1406174058871940e+01 0 0 0 +1988 0 1 0.0000000000000000e+00 3.9139430357938565e+01 1.7216164768264623e+01 2.5733668922609468e+01 0 0 0 +2036 0 1 0.0000000000000000e+00 4.3820717541065576e+01 1.7753008489728581e-01 3.2690689462017623e+01 0 1 0 +1990 0 1 0.0000000000000000e+00 4.3602807018966338e+01 2.1497936490535942e+01 2.5239618694243632e+01 0 0 0 +1992 0 1 0.0000000000000000e+00 4.9641359073381061e+01 1.9501796390270560e+01 3.1937971666360554e+01 0 0 0 +1618 0 1 0.0000000000000000e+00 3.4985894994054171e+01 2.1461524439352516e+01 6.8177567903946441e+00 0 0 0 +1698 0 1 0.0000000000000000e+00 3.4783832854036483e+01 3.3715299184486604e+01 1.6772909529934374e+01 0 0 0 +1859 0 1 0.0000000000000000e+00 3.5537629389051155e+01 1.6179379175740095e+01 2.0961455363803871e+01 0 0 0 +2002 0 1 0.0000000000000000e+00 3.8213183965897599e+01 2.3766258577454291e+01 1.9599347144900960e+00 0 0 1 +2003 0 1 0.0000000000000000e+00 3.9148411653192859e+01 2.1082728947606480e+01 2.6418758704142210e+01 0 0 0 +2004 0 1 0.0000000000000000e+00 4.1861620983639071e+01 2.7897391692514727e+01 3.2023260347372222e+01 0 0 0 +2005 0 1 0.0000000000000000e+00 4.4135609419181264e+01 2.1557590172688833e+01 3.0263530328882027e+01 0 0 0 +2006 0 1 0.0000000000000000e+00 4.1718860055392987e+01 2.4072931103318641e+01 1.9458722741202701e+00 0 0 1 +2007 0 1 0.0000000000000000e+00 4.5697185249739753e+01 2.4740640443701395e+01 3.1820620247910050e+01 0 0 0 +2008 0 1 0.0000000000000000e+00 4.9447198103161483e+01 2.4431039524922067e+01 3.1150512846314026e+01 0 0 0 +123 0 1 0.0000000000000000e+00 4.1468498973763189e+01 3.2595262142710688e+01 1.0103890850994656e+01 0 -1 0 +2019 0 1 0.0000000000000000e+00 4.1601929562207765e+01 2.3551821736640619e+01 2.8091858063080210e+01 0 0 0 +2020 0 1 0.0000000000000000e+00 4.1249621349627105e+01 2.7744419145405281e+01 1.2362389582166244e+00 0 0 1 +2021 0 1 0.0000000000000000e+00 4.3899805125673680e+01 2.6711892264140726e+01 2.9564447107894019e+01 0 0 0 +1353 0 1 0.0000000000000000e+00 5.1520772137535552e+01 5.7880524173455117e-01 2.1229811038494695e+01 0 0 0 +1589 0 1 0.0000000000000000e+00 4.2792846970556411e+01 3.4314915997640931e+01 3.5775772745409213e+00 0 0 0 +1559 0 1 0.0000000000000000e+00 4.7835298596319603e+01 2.2630928197011322e+01 3.4083503613475266e+01 0 0 -1 +1815 0 1 0.0000000000000000e+00 4.5356935884389024e+01 2.0161590957000222e+01 1.4818917041619478e+01 0 0 0 +1575 0 1 0.0000000000000000e+00 4.8161040235203401e+01 2.6432299877365661e+01 3.4358230951551498e+01 0 0 -1 +1829 0 1 0.0000000000000000e+00 4.5710066317965250e+01 2.8269791606128209e+01 1.4806049952424388e+01 0 0 0 +1539 0 1 0.0000000000000000e+00 4.3466731351059934e+01 1.2899327325701183e+01 3.4280527535439056e+01 0 0 -1 +1861 0 1 0.0000000000000000e+00 4.3364566924714175e+01 1.5879146180588601e+01 2.1452910170704389e+01 0 0 0 +1991 0 1 0.0000000000000000e+00 4.7422749679155643e+01 1.6769374655192635e+01 3.0240614863160086e+01 0 0 0 +1795 0 1 0.0000000000000000e+00 4.0222063132284497e+01 1.8348524446332135e+01 1.3441845893878243e+01 0 0 0 +1538 0 1 0.0000000000000000e+00 3.9817680511298882e+01 2.1288334186205141e+01 3.8204769001894259e+00 0 0 0 +1811 0 1 0.0000000000000000e+00 3.6920421808267179e+01 1.6445180912304004e+01 1.4297318231044686e+01 0 0 0 +1540 0 1 0.0000000000000000e+00 4.3495779243173921e+01 1.7170237732308330e+01 3.0320400591525985e+01 0 0 -1 +247 0 1 0.0000000000000000e+00 3.4796408099244907e+01 2.9907694557009368e+01 1.6823123399730388e+01 -1 0 0 +1542 0 1 0.0000000000000000e+00 4.4132057271442434e+01 2.1282068151541402e+01 2.4320579200572956e-02 0 0 0 +1305 0 1 0.0000000000000000e+00 5.1141628703019386e+01 4.7606764221996354e+00 1.6974890585763003e+01 0 0 0 +1544 0 1 0.0000000000000000e+00 5.0351824204260353e+01 2.0206435980788164e+01 1.7252642413080219e+00 0 0 0 +1045 0 1 0.0000000000000000e+00 4.3150418035416358e+01 5.2232900051940918e+00 3.3868409077712982e+01 0 0 -1 +1301 0 1 0.0000000000000000e+00 4.1051492964824057e+01 6.0657779694166116e+00 1.9248367409307146e+01 0 0 0 +1335 0 1 0.0000000000000000e+00 4.6827410604118910e+01 1.3594670260204936e+01 1.6592546604455386e+01 0 0 0 +1303 0 1 0.0000000000000000e+00 4.6269284851520908e+01 4.5306969587555468e+00 1.7772223656405508e+01 0 0 0 +1057 0 1 0.0000000000000000e+00 3.6203966231265873e+01 6.0191834484354416e+00 2.4704152653872873e+00 0 0 0 +1223 0 1 0.0000000000000000e+00 4.7341182378039811e+01 2.1700914889717743e-01 1.2521732052103589e+01 0 0 0 +1321 0 1 0.0000000000000000e+00 5.1800551884239084e+01 8.7720122548604973e+00 1.7050602372000487e+01 0 0 0 +1059 0 1 0.0000000000000000e+00 4.3282047497879482e+01 9.4276462626911854e+00 3.4292285631569385e+01 0 0 -1 +1545 0 1 0.0000000000000000e+00 5.2676248999323029e+01 1.8551011194106337e+01 3.3802671749423212e+01 0 0 -1 +1671 0 1 0.0000000000000000e+00 4.7962398791333072e+01 1.7596416828204948e+01 8.6505893406729992e+00 0 0 0 +1252 0 1 0.0000000000000000e+00 3.6689553607265225e+01 6.2517782662759762e+00 1.5081112743040483e+01 0 0 0 +1985 0 1 0.0000000000000000e+00 3.5759322097531808e+01 1.2603088606864823e+01 2.1131518503324180e+01 0 0 0 +357 0 1 0.0000000000000000e+00 3.7356421224823350e+01 6.8991859109878986e+00 5.9674387292749893e+00 0 0 1 +1938 0 1 0.0000000000000000e+00 4.2303371305416178e+01 2.3913976223676713e+01 3.2141046245139584e+01 0 0 0 +1241 0 1 0.0000000000000000e+00 5.1462651607305006e+01 4.9657445335463599e+00 1.2789706099614071e+01 0 0 0 +1240 0 1 0.0000000000000000e+00 4.9087289539456172e+01 6.7635319827159304e+00 1.5175896592382406e+01 0 0 0 +1239 0 1 0.0000000000000000e+00 4.7820526468506586e+01 4.8318915089427179e+00 1.2602880680512822e+01 0 0 0 +1238 0 1 0.0000000000000000e+00 4.5182522852203540e+01 7.3997182372356365e+00 1.4543819250364558e+01 0 0 0 +2033 0 1 0.0000000000000000e+00 3.9322004505815379e+01 2.6020319409659535e+01 2.9391230525819111e+01 0 0 0 +1817 0 1 0.0000000000000000e+00 5.1490675593507554e+01 2.1224391349263833e+01 1.6982203100927602e+01 0 0 0 +1410 0 1 0.0000000000000000e+00 3.6122036304234115e+01 3.2724962186317157e+01 2.7927382577100499e+01 0 -1 0 +1541 0 1 0.0000000000000000e+00 4.5794980420885452e+01 1.4892855710547169e+01 3.2168127353873871e+01 0 0 -1 +1593 0 1 0.0000000000000000e+00 5.1575628806708778e+01 3.0532427469906544e+01 3.3864575808430772e+01 0 0 -1 +1609 0 1 0.0000000000000000e+00 5.2294601414067316e+01 1.7801532884048076e+01 4.1693475527279862e+00 0 0 0 +1097 0 1 0.0000000000000000e+00 5.1520725889074363e+01 6.2039051268955037e-02 4.1590470086233600e+00 0 0 0 +1161 0 1 0.0000000000000000e+00 5.1970670021735813e+01 5.6698174259530243e-01 8.6601053044145591e+00 0 0 0 +1571 0 1 0.0000000000000000e+00 3.8920703386971596e+01 3.0292338232492419e+01 2.9817004764620506e+01 0 0 -1 +1225 0 1 0.0000000000000000e+00 5.1939540072480654e+01 3.4481068153753242e+01 1.2903369204397732e+01 0 -1 0 +1095 0 1 0.0000000000000000e+00 4.7609123500483697e+01 1.9765927934220348e-01 4.1296775663338172e+00 0 0 0 +1733 0 1 0.0000000000000000e+00 4.1437840143984751e+01 1.9635177725757266e+01 9.3760695493566004e+00 0 0 0 +1557 0 1 0.0000000000000000e+00 4.3928732908314160e+01 2.6413891527673869e+01 3.4427656163446393e+01 0 0 -1 +921 0 1 0.0000000000000000e+00 3.7294346298829687e+01 3.3488627836850263e+01 3.1740052198532737e+01 -1 0 0 +223 0 1 0.0000000000000000e+00 3.9309859785987143e+01 3.0604786157566785e+01 3.5192445500556651e+00 0 -1 0 +1157 0 1 0.0000000000000000e+00 4.5732667242797312e+01 3.2511260492610937e+01 1.0074253719764824e+01 0 -1 0 +1847 0 1 0.0000000000000000e+00 4.8329155539983020e+01 3.0087981847749521e+01 1.7379124555896286e+01 0 0 0 +1737 0 1 0.0000000000000000e+00 5.1903286616304740e+01 1.7889340048096965e+01 1.1837752374754434e+01 0 0 0 +1766 0 1 0.0000000000000000e+00 4.0740836755948088e+01 3.3072691587193951e+01 1.4562151933805685e+01 0 0 0 +1765 0 1 0.0000000000000000e+00 4.5468092341533939e+01 2.4242731014409379e+01 1.0681391064310690e+01 0 0 0 +1764 0 1 0.0000000000000000e+00 3.9385984742399856e+01 3.0701827167025129e+01 1.2665371754408197e+01 0 0 0 +1763 0 1 0.0000000000000000e+00 4.1907320194374066e+01 2.4354719711711457e+01 1.0339243181901283e+01 0 0 0 +525 0 1 0.0000000000000000e+00 3.9611061495379190e+01 1.6482653718542437e+01 2.1285899632456193e+01 -1 0 0 +1753 0 1 0.0000000000000000e+00 5.2003281950672161e+01 2.2280251068369676e+01 1.2135094328033881e+01 0 0 0 +1752 0 1 0.0000000000000000e+00 4.9698439093372919e+01 2.3423469800928089e+01 1.4611114715980513e+01 0 0 0 +1751 0 1 0.0000000000000000e+00 4.7655046052255422e+01 2.1794516113448235e+01 1.2607812668456702e+01 0 0 0 +1750 0 1 0.0000000000000000e+00 4.5264155836852481e+01 2.3678897268323571e+01 1.4742239639020363e+01 0 0 0 +1749 0 1 0.0000000000000000e+00 4.1907473758276460e+01 2.2388544851038088e+01 1.4741729465195261e+01 0 0 0 +1748 0 1 0.0000000000000000e+00 4.3353174922205213e+01 2.2196797109159395e+01 7.7881421581520556e+00 0 0 0 +1747 0 1 0.0000000000000000e+00 3.9607646939811218e+01 2.2406326702087117e+01 8.2109184887642055e+00 0 0 0 +474 0 1 0.0000000000000000e+00 3.6316509453310381e+01 1.0673186364855136e+01 3.2668337632178527e+01 -1 0 0 +1736 0 1 0.0000000000000000e+00 4.9681501944529394e+01 1.9697390048012579e+01 1.4472265960209828e+01 0 0 0 +1734 0 1 0.0000000000000000e+00 4.3844437347666442e+01 1.7909334587455383e+01 1.2297909023981102e+01 0 0 0 +1768 0 1 0.0000000000000000e+00 4.9663400623566268e+01 2.7810833980966535e+01 1.4395937990293664e+01 0 0 0 +1732 0 1 0.0000000000000000e+00 3.9548970970201445e+01 1.6627463126548037e+01 1.7007605539733273e+01 0 0 0 +592 0 1 0.0000000000000000e+00 3.6650447295094807e+01 2.2461312954674256e+01 9.4900619985586356e+00 0 0 0 +1730 0 1 0.0000000000000000e+00 3.9161238436047796e+01 2.2221834909373630e+01 1.2594351634031975e+01 0 0 0 +1769 0 1 0.0000000000000000e+00 5.2467386467516583e+01 2.5626158156332334e+01 1.2468582585994032e+01 0 0 0 +1721 0 1 0.0000000000000000e+00 5.1961289695376635e+01 3.0578459896708527e+01 8.0236681588766050e+00 0 0 0 +1720 0 1 0.0000000000000000e+00 5.0273668391267904e+01 3.2313629172344498e+01 1.0963410447108370e+01 0 0 0 +1719 0 1 0.0000000000000000e+00 4.8237980937618815e+01 2.9809856420862900e+01 8.3640918901863923e+00 0 0 0 +1718 0 1 0.0000000000000000e+00 4.3718090416101901e+01 3.0582642514549978e+01 1.3223005056415577e+01 0 0 0 +1717 0 1 0.0000000000000000e+00 4.3762326643367935e+01 3.0685964095311615e+01 8.1922117200955924e+00 0 0 0 +1716 0 1 0.0000000000000000e+00 4.1147186273406703e+01 2.8354531916890192e+01 1.4994389911566717e+01 0 0 0 +1715 0 1 0.0000000000000000e+00 3.7546222022887683e+01 3.1877624713359701e+01 5.8156565969349545e+00 0 0 0 +1665 0 1 0.0000000000000000e+00 3.5873617977028943e+01 1.3618665018811486e+01 1.3194889365767191e+01 0 0 0 +608 0 1 0.0000000000000000e+00 3.9286274371751901e+01 2.6002205882634662e+01 2.5904784863215081e+01 -1 0 0 +1705 0 1 0.0000000000000000e+00 5.1766225837115989e+01 2.6342794746288710e+01 8.4306968206066504e+00 0 0 0 +1704 0 1 0.0000000000000000e+00 5.0354724548449731e+01 2.8824496150547784e+01 1.0733237445918041e+01 0 0 0 +1703 0 1 0.0000000000000000e+00 4.7701347629382582e+01 2.5963351611721670e+01 8.0400488550157689e+00 0 0 0 +1702 0 1 0.0000000000000000e+00 4.5361674775471606e+01 2.8468143385662735e+01 1.0574153773959203e+01 0 0 0 +1701 0 1 0.0000000000000000e+00 4.3451368377853349e+01 2.6300612266331289e+01 8.3041403564464549e+00 0 0 0 +1700 0 1 0.0000000000000000e+00 3.8536647704637225e+01 2.5249965950913545e+01 1.1769302340272933e+01 0 0 0 +1699 0 1 0.0000000000000000e+00 3.8895749347378597e+01 2.5678360913712222e+01 8.2293236514571912e+00 0 0 0 +1521 0 1 0.0000000000000000e+00 3.5265470735606755e+01 1.7360004394437183e+01 2.5993017031998356e+01 0 0 0 +1689 0 1 0.0000000000000000e+00 5.2354326984854403e+01 2.1586777349555692e+01 7.9440000927929315e+00 0 0 0 +1688 0 1 0.0000000000000000e+00 4.9622364575065099e+01 2.3814814308512403e+01 1.0174709292656777e+01 0 0 0 +1687 0 1 0.0000000000000000e+00 4.7603250510003711e+01 2.2173826818009136e+01 8.2710920930293472e+00 0 0 0 +1686 0 1 0.0000000000000000e+00 4.3146099955289529e+01 2.1681124124719481e+01 1.2092565680843705e+01 0 0 0 +1685 0 1 0.0000000000000000e+00 4.5745578731674563e+01 1.9510584142010789e+01 5.5350083627228273e+00 0 0 0 +1684 0 1 0.0000000000000000e+00 4.6586490756858588e+01 1.5358046251148432e+01 1.0765066326339945e+00 0 0 0 +1683 0 1 0.0000000000000000e+00 4.4543616203771016e+01 1.7139937502981976e+01 3.4598163271806421e+00 0 0 0 +2545 0 1 0.0000000000000000e+00 6.8926646144384108e+01 1.3525566681458672e+01 2.9988929646753004e+01 0 0 0 +1237 0 1 0.0000000000000000e+00 4.2804531834672069e+01 4.8125935872322465e+00 1.2417427204477208e+01 0 0 0 +2385 0 1 0.0000000000000000e+00 6.8888032370296457e+01 4.2495445759349240e+00 2.1041930052155507e+01 0 0 0 +1779 0 1 0.0000000000000000e+00 3.6489897256702768e+01 2.3028253291771751e+01 1.4545182941157989e+01 0 0 0 +1780 0 1 0.0000000000000000e+00 4.6013448549855916e+01 1.6810776260607836e+00 2.3247044128555274e+01 0 1 0 +1781 0 1 0.0000000000000000e+00 4.3247984862810192e+01 2.5838201418862020e+01 1.3020261769927469e+01 0 0 0 +1672 0 1 0.0000000000000000e+00 4.9557933369398960e+01 2.0034564935658551e+01 1.0139423829498886e+01 0 0 0 +1782 0 1 0.0000000000000000e+00 4.5920578767344068e+01 3.2612320740997973e+01 1.5040527933278018e+01 0 0 0 +1670 0 1 0.0000000000000000e+00 4.6100007151279108e+01 2.0124972770257990e+01 1.0218917903830535e+01 0 0 0 +1783 0 1 0.0000000000000000e+00 4.7723588795606936e+01 3.0989485565133464e+01 1.3090526116070290e+01 0 0 0 +1668 0 1 0.0000000000000000e+00 4.1938274147707780e+01 1.6024927698799392e+01 1.0284717938869314e+01 0 0 0 +1784 0 1 0.0000000000000000e+00 5.0139465407564181e+01 3.2666693399743906e+01 1.5322844666712117e+01 0 0 0 +1666 0 1 0.0000000000000000e+00 3.5286562329747888e+01 1.4840079203148399e+01 8.6925295832426617e+00 0 0 0 +1656 0 1 0.0000000000000000e+00 5.0044473534499339e+01 3.2294032670759798e+01 5.9696177255345910e+00 0 0 0 +1655 0 1 0.0000000000000000e+00 4.7598249806750189e+01 3.0682399568762275e+01 4.1989590435577462e+00 0 0 0 +1654 0 1 0.0000000000000000e+00 4.5036059085914708e+01 3.3131774754392524e+01 5.9761287573970741e+00 0 0 0 +1653 0 1 0.0000000000000000e+00 4.2851051337977459e+01 3.0847752601001172e+01 3.9881909288928661e+00 0 0 0 +1652 0 1 0.0000000000000000e+00 3.6318736878311796e+01 1.8727544222001267e+00 1.0281055593032963e+01 0 1 0 +1651 0 1 0.0000000000000000e+00 4.3484582379637224e+01 7.4445436879902815e-01 9.0791256820865822e+00 0 1 0 +876 0 1 0.0000000000000000e+00 3.7897463146282334e+01 1.5336926991910202e+01 3.1870593872333224e+01 0 0 0 +1641 0 1 0.0000000000000000e+00 5.1670303394780802e+01 2.5886759905637728e+01 4.1752800327833572e+00 0 0 0 +1640 0 1 0.0000000000000000e+00 5.0084171382411711e+01 2.8108519007513024e+01 5.9761311698879904e+00 0 0 0 +1639 0 1 0.0000000000000000e+00 4.7851376656921154e+01 2.6474880315319687e+01 4.4966309431452558e+00 0 0 0 +1638 0 1 0.0000000000000000e+00 4.5581659274284718e+01 2.8768443917454629e+01 5.7365784429093800e+00 0 0 0 +1637 0 1 0.0000000000000000e+00 4.6304910698084221e+01 2.4266468439594249e+01 1.8133774002499952e+00 0 0 0 +1636 0 1 0.0000000000000000e+00 3.8646257253348971e+01 6.0752073746771540e-01 7.8057620038740554e+00 0 1 0 +1635 0 1 0.0000000000000000e+00 4.1494339623369932e+01 2.3701211733424849e+01 5.7189387925556971e+00 0 0 0 +831 0 1 0.0000000000000000e+00 3.7164191134664364e+01 2.1942629333463096e+01 3.3423967379650350e+01 -1 0 0 +1625 0 1 0.0000000000000000e+00 5.1841899647827184e+01 2.2099275875429534e+01 4.1609825239624669e+00 0 0 0 +1236 0 1 0.0000000000000000e+00 3.8482298510993196e+01 9.6069044308472549e+00 1.5208826484176381e+01 0 0 0 +1624 0 1 0.0000000000000000e+00 5.0304030891293429e+01 2.4130663087865759e+01 6.5246555501380357e+00 0 0 0 +1623 0 1 0.0000000000000000e+00 4.7852383285746811e+01 2.2292843282799161e+01 4.2034026631360559e+00 0 0 0 +1622 0 1 0.0000000000000000e+00 4.5458993371575517e+01 2.4803885051932134e+01 5.6199575839292262e+00 0 0 0 +1621 0 1 0.0000000000000000e+00 4.2166787156082201e+01 1.9287684622274629e+01 2.2232387809802581e+00 0 0 0 +1620 0 1 0.0000000000000000e+00 4.1914543614959960e+01 1.9517009894681067e+01 5.8718577710138735e+00 0 0 0 +1235 0 1 0.0000000000000000e+00 4.2866093745926754e+01 4.1007348824263898e+00 1.6618008622655083e+01 0 0 0 +1619 0 1 0.0000000000000000e+00 3.7931068175772516e+01 1.9679953882953495e+01 6.9143182819305986e+00 0 0 0 +2017 0 1 0.0000000000000000e+00 6.9050877693910991e+01 2.5710526743534249e+01 3.0034990918481366e+01 -1 0 0 +1608 0 1 0.0000000000000000e+00 4.9647089237868869e+01 1.9392281795460157e+01 6.4810445687934548e+00 0 0 0 +1767 0 1 0.0000000000000000e+00 4.7569428298488532e+01 2.6360213115374268e+01 1.2394071735896018e+01 0 0 0 +1606 0 1 0.0000000000000000e+00 4.5986038809725798e+01 1.9232179718064550e+01 3.2193476339015056e+01 0 0 -1 +1604 0 1 0.0000000000000000e+00 3.9409787910810820e+01 1.6635954292819847e+01 7.8170382842536092e+00 0 0 0 +1602 0 1 0.0000000000000000e+00 4.2255100004006316e+01 1.5171820351837367e+01 5.8819320890432456e+00 0 0 0 +1093 0 1 0.0000000000000000e+00 4.5304202561316103e+01 2.3472770834134997e+00 5.9303977068829621e+00 0 0 0 +310 0 1 0.0000000000000000e+00 3.7057623487169806e+01 2.8406052135025700e+01 2.7815312249275433e+01 0 0 0 +1234 0 1 0.0000000000000000e+00 3.8044304039353918e+01 4.1029979402282217e+00 1.7149797135897753e+01 0 0 0 +1219 0 1 0.0000000000000000e+00 3.7976322339706904e+01 3.4327530407632693e+01 1.1797783017877105e+01 0 -1 0 +1592 0 1 0.0000000000000000e+00 5.0006288527728039e+01 3.2644050873269848e+01 1.7267865524219801e+00 0 0 0 +742 0 1 0.0000000000000000e+00 4.2054733643699691e+01 2.0573462177847559e+00 6.6603262678334152e-01 0 1 0 +1669 0 1 0.0000000000000000e+00 4.4081478310697022e+01 1.7815569143864384e+01 8.1941091978651137e+00 0 0 0 +1590 0 1 0.0000000000000000e+00 4.5227607482604583e+01 3.2814644676048374e+01 1.6354020917211995e+00 0 0 0 +1221 0 1 0.0000000000000000e+00 4.3642454286892203e+01 4.3055994609512906e-02 1.2627997339707614e+01 0 0 0 +1588 0 1 0.0000000000000000e+00 4.1927212229032108e+01 2.2086857754615483e+00 6.1584446421128201e+00 0 1 0 +1831 0 1 0.0000000000000000e+00 4.8161174823781224e+01 2.1941066760188367e+01 1.7306427514664001e+01 0 0 0 +1843 0 1 0.0000000000000000e+00 3.7453373465987028e+01 1.9761486372948408e+01 1.5411303928170934e+01 0 0 0 +1091 0 1 0.0000000000000000e+00 4.1006000380094775e+01 2.4112457351459518e+00 1.0558072185129042e+01 0 0 0 +1603 0 1 0.0000000000000000e+00 3.9599404551645243e+01 1.7270243950158783e+01 4.2618606855545016e+00 0 0 0 +1576 0 1 0.0000000000000000e+00 5.0301958618118718e+01 2.8323055837471362e+01 1.8131106193419371e+00 0 0 0 +1605 0 1 0.0000000000000000e+00 4.3756809474630522e+01 1.7102431843939176e+01 4.8878098660129930e-03 0 0 0 +1574 0 1 0.0000000000000000e+00 4.5973806203354563e+01 2.8480168585643696e+01 2.0116086868997050e+00 0 0 0 +1572 0 1 0.0000000000000000e+00 3.6554095528483181e+01 2.4654376289559565e+01 3.0799511561688135e+01 0 0 -1 +1591 0 1 0.0000000000000000e+00 4.8193283129030334e+01 3.0500208228951617e+01 2.1174910667497659e-01 0 0 0 +1570 0 1 0.0000000000000000e+00 4.1124961827833758e+01 1.9884887650326568e+00 1.4356044235550504e+01 0 1 0 +1254 0 1 0.0000000000000000e+00 4.5334603165859484e+01 1.0852017459966468e+01 1.4288784215437431e+01 0 0 0 +1560 0 1 0.0000000000000000e+00 4.9769234065043882e+01 2.4377736882660709e+01 1.8971940354739019e+00 0 0 0 +1558 0 1 0.0000000000000000e+00 4.4006798673868971e+01 2.1924805258808519e+01 3.6624584917177478e+00 0 0 0 +1607 0 1 0.0000000000000000e+00 4.6922648517899823e+01 1.9490166831051347e+01 1.7757544154780662e+00 0 0 0 +1556 0 1 0.0000000000000000e+00 3.9156415882410734e+01 2.6810898442732910e+01 3.8735456344009567e+00 0 0 0 +1554 0 1 0.0000000000000000e+00 3.6519347733829129e+01 2.7721860141847941e+01 6.3431831760586341e+00 0 0 0 +1731 0 1 0.0000000000000000e+00 3.8821963355356459e+01 1.1681337817692752e+01 1.1883940987821122e+01 0 0 0 +1573 0 1 0.0000000000000000e+00 3.7314210722376529e+01 2.7199298481291578e+01 8.3010340572294827e-01 0 0 0 +1673 0 1 0.0000000000000000e+00 5.2621799297513100e+01 1.7662722463354953e+01 8.1461649045015658e+00 0 0 0 +2529 0 1 0.0000000000000000e+00 6.9130776839501479e+01 8.5729275043840225e+00 2.9774402822137883e+01 0 0 0 +1075 0 1 0.0000000000000000e+00 3.5573363099200506e+01 1.1323653455312355e+01 2.7331447047277265e+01 0 0 -1 +1028 0 1 0.0000000000000000e+00 3.9186706803018176e+01 5.2805068627267122e+00 3.3849325645293462e+01 0 0 -1 +1030 0 1 0.0000000000000000e+00 4.7637089676204489e+01 1.7177523223790694e-01 3.4253938082656610e+01 0 0 -1 +1032 0 1 0.0000000000000000e+00 4.9365114137310620e+01 2.7282820632551483e+00 1.2665563927358878e+00 0 0 0 +1061 0 1 0.0000000000000000e+00 4.5254577579787039e+01 6.8994362708408303e+00 1.7449291945612895e+00 0 0 0 +1801 0 1 0.0000000000000000e+00 5.1618788995094420e+01 1.7401579414805180e+01 1.6820501006486957e+01 0 0 0 +1331 0 1 0.0000000000000000e+00 4.0786390011952555e+01 1.0253499196428553e+01 1.8398748936074750e+01 0 0 0 +1031 0 1 0.0000000000000000e+00 4.5551962981628996e+01 3.2693621246742879e+01 3.0972172873831692e+01 0 -1 -1 +1042 0 1 0.0000000000000000e+00 4.3554951985572281e+01 9.3571090673782784e+00 3.5619138643199153e+00 0 0 0 +1044 0 1 0.0000000000000000e+00 4.0886810601854172e+01 1.0678208990903185e+01 2.0293064751971457e+00 0 0 0 +1077 0 1 0.0000000000000000e+00 4.1081015526893481e+01 1.1215189313742355e+01 3.2053000359068669e+01 0 0 -1 +1046 0 1 0.0000000000000000e+00 4.0885366264902238e+01 7.1845990933914186e+00 2.3644229066254856e+00 0 0 0 +1299 0 1 0.0000000000000000e+00 3.5929160384257557e+01 2.2058348482243630e+00 2.3559011845429090e+01 0 0 0 +1048 0 1 0.0000000000000000e+00 4.6614740308464768e+01 4.7973009674177085e+00 3.4165490557030616e+01 0 0 -1 +1333 0 1 0.0000000000000000e+00 4.3031346679991877e+01 8.4595213353512140e+00 1.6981549287035318e+01 0 0 0 +1337 0 1 0.0000000000000000e+00 5.1982319703238240e+01 1.2726824744146519e+01 1.6643174688938483e+01 0 0 0 +1319 0 1 0.0000000000000000e+00 4.7447074469210264e+01 9.3042305561112002e+00 1.7290297658123027e+01 0 0 0 +1937 0 1 0.0000000000000000e+00 6.8914803175442657e+01 2.1728608860665613e+01 2.5857301547107010e+01 -1 0 0 +1735 0 1 0.0000000000000000e+00 4.7818598117539715e+01 1.7535394185673979e+01 1.2493255503234773e+01 0 0 0 +1060 0 1 0.0000000000000000e+00 4.1661856177489121e+01 1.2033759247233325e+01 9.7306698007807366e+00 0 0 0 +1289 0 1 0.0000000000000000e+00 5.1388538453771318e+01 4.3352535189709918e-01 1.7220538154795644e+01 0 0 0 +1062 0 1 0.0000000000000000e+00 4.7540026165624226e+01 9.2497919895109515e+00 4.2036753109313603e+00 0 0 0 +365 0 1 0.0000000000000000e+00 3.8729879377490846e+01 3.0601067982717716e+01 1.6134352165344158e+01 0 -1 0 +1064 0 1 0.0000000000000000e+00 4.9586954722025190e+01 1.0481970805161444e+01 1.7690005389901371e+00 0 0 0 +1317 0 1 0.0000000000000000e+00 4.4980203981318816e+01 7.0943801884834219e+00 1.9891915210390195e+01 0 0 0 +922 0 1 0.0000000000000000e+00 3.8477456764258292e+01 3.0092677778109049e+01 2.5454627239135498e+01 -1 0 0 +1287 0 1 0.0000000000000000e+00 4.7623243367568847e+01 3.4556938758222337e+01 1.7228095405973274e+01 0 -1 0 +1074 0 1 0.0000000000000000e+00 4.0793384751488752e+01 5.9804863542476863e+00 3.0547648931028384e+01 0 0 -1 +1076 0 1 0.0000000000000000e+00 3.8806675943006816e+01 1.3131626879523781e+01 3.4252648692286265e+01 0 0 -1 +1078 0 1 0.0000000000000000e+00 4.6281822712749047e+01 1.0820700619988633e+01 1.1267508081774424e+00 0 0 0 +1080 0 1 0.0000000000000000e+00 5.0782959294839223e+01 1.5735276323256659e+01 1.5700659952073506e+00 0 0 0 +601 0 1 0.0000000000000000e+00 4.0019818892650527e+01 2.1451583621571885e+01 3.4503525882116541e+01 0 1 -1 +1079 0 1 0.0000000000000000e+00 4.8378601708325625e+01 1.3252648186650612e+01 3.3975002664734802e+01 0 0 -1 +1092 0 1 0.0000000000000000e+00 4.3074446664132971e+01 4.6859018122477920e+00 8.1476514608054824e+00 0 0 0 +1094 0 1 0.0000000000000000e+00 4.5258722052261440e+01 6.8461093416030572e+00 6.0685875142832133e+00 0 0 0 +1096 0 1 0.0000000000000000e+00 4.9853419511672676e+01 2.4641048564476802e+00 6.1080665194284327e+00 0 0 0 +1159 0 1 0.0000000000000000e+00 4.7898060460338449e+01 3.4134963513177929e+01 8.2694815549629457e+00 0 -1 0 +1253 0 1 0.0000000000000000e+00 4.0692416038769643e+01 6.7744110079324624e+00 1.5340661479147785e+01 0 0 0 +1273 0 1 0.0000000000000000e+00 5.2040161509901004e+01 1.2108892841872665e+01 1.2868380049905380e+01 0 0 0 +44 0 1 0.0000000000000000e+00 3.5463736934730029e+01 2.1616330882110670e+01 3.0077895824016029e+01 0 -1 -1 +1106 0 1 0.0000000000000000e+00 3.9495017567133644e+01 4.1360982076869286e+00 6.4938559853787750e+00 0 0 0 +1107 0 1 0.0000000000000000e+00 3.5513821568978017e+01 2.1923913785273879e+00 1.9225295260167290e+00 0 0 0 +1108 0 1 0.0000000000000000e+00 4.1181479120594240e+01 2.1470146590776147e+00 3.1299289083454948e+01 0 0 -1 +1109 0 1 0.0000000000000000e+00 3.5195341804543716e+01 7.8983795776240162e-01 3.3207636210324729e+01 0 0 -1 +1110 0 1 0.0000000000000000e+00 4.2231968375896251e+01 1.1089853667402513e+01 5.7528455186989884e+00 0 0 0 +1111 0 1 0.0000000000000000e+00 4.7483183110812767e+01 4.3063423686971225e+00 3.4310893633182538e+00 0 0 0 +1112 0 1 0.0000000000000000e+00 4.9807957425458213e+01 6.9281458850507605e+00 5.5362060316241060e+00 0 0 0 +1113 0 1 0.0000000000000000e+00 5.1641658178782968e+01 4.5673763075678000e+00 3.6499831651417805e+00 0 0 0 +1922 0 1 0.0000000000000000e+00 3.9200175314282063e+01 2.1981533480473836e+01 2.0450385406426033e+01 0 0 0 +1123 0 1 0.0000000000000000e+00 4.0961208266623551e+01 6.9918316219641143e+00 5.8321614681114688e+00 0 0 0 +1617 0 1 0.0000000000000000e+00 6.8599595666342935e+01 2.1524193523957653e+01 4.3266640530883089e+00 -1 0 0 +1125 0 1 0.0000000000000000e+00 3.9472656951919262e+01 1.3647264677242520e+01 3.7302843514649244e+00 0 0 0 +1126 0 1 0.0000000000000000e+00 4.5544970936526020e+01 1.1606406941250029e+01 5.8136899535493072e+00 0 0 0 +1127 0 1 0.0000000000000000e+00 4.9440427571424060e+01 6.7569895417769761e+00 1.6580597927651834e+00 0 0 0 +1128 0 1 0.0000000000000000e+00 5.0186157676549108e+01 1.0910788036320799e+01 5.9674451185899553e+00 0 0 0 +1129 0 1 0.0000000000000000e+00 5.1889782855821736e+01 8.6047675275839666e+00 3.3110761219075471e+00 0 0 0 +1138 0 1 0.0000000000000000e+00 3.9686802943506699e+01 1.3291372734276861e+01 7.0023524491688960e+00 0 0 0 +443 0 1 0.0000000000000000e+00 3.6122773308905451e+01 2.1647918574237099e+00 5.3040168326848764e+00 0 0 1 +1140 0 1 0.0000000000000000e+00 4.4127379883585995e+01 1.3070758150793626e+01 3.1563953327959733e+00 0 0 0 +1141 0 1 0.0000000000000000e+00 4.5968143422515254e+01 1.5581416939362679e+01 5.9931299427391620e+00 0 0 0 +1142 0 1 0.0000000000000000e+00 4.8647131473110356e+01 1.7406095343116910e+01 3.8956218171208912e+00 0 0 0 +1143 0 1 0.0000000000000000e+00 4.8030395233111214e+01 1.2826675783136322e+01 3.3642702144136103e+00 0 0 0 +1144 0 1 0.0000000000000000e+00 4.9730179665192082e+01 1.5038125809498380e+01 6.1583765147149414e+00 0 0 0 +1145 0 1 0.0000000000000000e+00 5.2312687441066124e+01 1.3122915048241531e+01 3.8997719057197702e+00 0 0 0 +1272 0 1 0.0000000000000000e+00 5.0061017088902176e+01 1.5338295268635770e+01 1.4389237071903356e+01 0 0 0 +1681 0 1 0.0000000000000000e+00 3.8143402108684761e+01 1.9235641924473278e+01 1.0828157505896552e+01 0 0 0 +1257 0 1 0.0000000000000000e+00 5.1851627930437722e+01 8.5350253766756836e+00 1.3240301901620876e+01 0 0 0 +1156 0 1 0.0000000000000000e+00 4.3103233065986778e+01 4.6416123492487573e+00 3.3607494492180958e+00 0 0 0 +1271 0 1 0.0000000000000000e+00 4.8043416888506002e+01 1.2733709640026708e+01 1.2609400613580762e+01 0 0 0 +1158 0 1 0.0000000000000000e+00 4.5624947193907396e+01 2.7348576485617118e+00 1.0844605552938718e+01 0 0 0 +1256 0 1 0.0000000000000000e+00 4.9639625579474092e+01 1.1185089843006677e+01 1.5226206491013277e+01 0 0 0 +1160 0 1 0.0000000000000000e+00 4.9908638654443081e+01 2.3165674666063039e+00 1.0962681890088449e+01 0 0 0 +1270 0 1 0.0000000000000000e+00 4.6081706360471053e+01 1.5918872917306706e+01 1.4579210120937031e+01 0 0 0 +1089 0 1 0.0000000000000000e+00 4.2890683586639085e+01 2.6623227629157213e+01 3.7193429179996604e+00 0 -1 0 +1269 0 1 0.0000000000000000e+00 4.5571858165000549e+01 1.0916995645803194e+01 1.0531934179620947e+01 0 0 0 +1255 0 1 0.0000000000000000e+00 4.8002626698151559e+01 8.8103795162185570e+00 1.3014033951749344e+01 0 0 0 +1537 0 1 0.0000000000000000e+00 3.6792560774742370e+01 1.2120589760695234e+01 7.9368534374413366e+00 0 0 0 +1171 0 1 0.0000000000000000e+00 4.0525327717505817e+01 6.2123786699559647e+00 9.6904923280202944e+00 0 0 0 +1172 0 1 0.0000000000000000e+00 3.6716546253570137e+01 8.8835273626318489e+00 9.4504255026492920e+00 0 0 0 +1173 0 1 0.0000000000000000e+00 3.6837921187751967e+01 4.8032261136259855e+00 9.1523331090704900e+00 0 0 0 +1174 0 1 0.0000000000000000e+00 4.5423736343285377e+01 6.6318751309910908e+00 1.0284949147081290e+01 0 0 0 +1175 0 1 0.0000000000000000e+00 4.7476214964358277e+01 4.4110173322155326e+00 8.0397077252869256e+00 0 0 0 +1176 0 1 0.0000000000000000e+00 4.9400603838451715e+01 6.5517404764832250e+00 1.0383045339719830e+01 0 0 0 +1177 0 1 0.0000000000000000e+00 5.1753446775063672e+01 4.3317806066176132e+00 7.9913144871598432e+00 0 0 0 +2034 0 1 0.0000000000000000e+00 3.5478038697992147e+01 2.9807065542044928e+01 3.3366874654451371e+00 0 0 1 +1523 0 1 0.0000000000000000e+00 3.7593143622441907e+01 1.4751073444423231e+01 2.7106932957237493e+01 0 0 0 +1187 0 1 0.0000000000000000e+00 4.5199662512224265e+01 2.0736761762320146e+00 1.9025337537754754e+00 0 0 0 +1188 0 1 0.0000000000000000e+00 4.3011102844570239e+01 8.4766452467121542e+00 1.1623928488992744e+01 0 0 0 +1189 0 1 0.0000000000000000e+00 3.9674797213035987e+01 9.2881004968017464e+00 8.5143531591012245e+00 0 0 0 +1190 0 1 0.0000000000000000e+00 4.3250364745989366e+01 9.1245792373602495e+00 8.1701603411187431e+00 0 0 0 +1191 0 1 0.0000000000000000e+00 4.7231178839218607e+01 8.7175130135427974e+00 7.9387069087956421e+00 0 0 0 +1192 0 1 0.0000000000000000e+00 4.9890244549575790e+01 1.0682352606808669e+01 1.0140319814723409e+01 0 0 0 +1193 0 1 0.0000000000000000e+00 5.1525083466048187e+01 8.4650638491625347e+00 8.2370500708289214e+00 0 0 0 +1553 0 1 0.0000000000000000e+00 6.8851331126472815e+01 2.1605269929994236e+01 9.7870323857777664e-02 -1 0 0 +1347 0 1 0.0000000000000000e+00 3.6852705405542714e+01 3.1938452287536819e+01 1.8913784697649916e+01 0 -1 0 +1203 0 1 0.0000000000000000e+00 4.1663555020111730e+01 1.0943265979921950e+01 1.3962130315294820e+01 0 0 0 +1204 0 1 0.0000000000000000e+00 4.3949559085612620e+01 1.3576012353346291e+01 1.2410826250081197e+01 0 0 0 +1205 0 1 0.0000000000000000e+00 4.4035142213143480e+01 1.4321032906636590e+01 8.4715060823371680e+00 0 0 0 +1206 0 1 0.0000000000000000e+00 4.6756421786489682e+01 1.4855825300765822e+01 1.0658674424454887e+01 0 0 0 +1207 0 1 0.0000000000000000e+00 4.8321622288544212e+01 1.2795319255932760e+01 8.6138780792811556e+00 0 0 0 +1208 0 1 0.0000000000000000e+00 5.0454111435949407e+01 1.5016232116252912e+01 1.0141026761253965e+01 0 0 0 +1209 0 1 0.0000000000000000e+00 5.1667164778989253e+01 1.2997339631568725e+01 8.4328761815666979e+00 0 0 0 +1268 0 1 0.0000000000000000e+00 4.0997678896823970e+01 1.4872426340634105e+01 1.3859228962633473e+01 0 0 0 +86 0 1 0.0000000000000000e+00 3.5287104493670434e+01 2.4826847480032360e+01 2.1034896012328566e+01 -1 0 -1 +1827 0 1 0.0000000000000000e+00 3.4905324761239257e+01 2.1139780169029944e+01 1.2296530443184158e+01 0 0 0 +1220 0 1 0.0000000000000000e+00 3.8232091342086399e+01 4.8539079550337144e-01 1.6960308837010086e+01 0 0 0 +1364 0 1 0.0000000000000000e+00 3.5958941761931051e+01 6.0764700057681065e+00 2.3509615933263987e+01 0 0 0 +1222 0 1 0.0000000000000000e+00 4.5275824978486362e+01 2.6466052116465457e+00 1.4569248127650029e+01 0 0 0 +1201 0 1 0.0000000000000000e+00 3.5831842932753275e+01 1.3702465320220103e+01 1.6642473200912900e+01 0 0 0 +1224 0 1 0.0000000000000000e+00 4.9167456722964701e+01 2.4123991833610128e+00 1.4732240871953431e+01 0 0 0 +1155 0 1 0.0000000000000000e+00 3.8959519943740894e+01 4.6192686285559654e+00 1.2899505296425334e+01 0 0 0 +1805 0 1 0.0000000000000000e+00 6.0543133330538872e+01 1.7726257082451824e+01 1.6499930746121937e+01 0 0 0 +1081 0 1 0.0000000000000000e+00 5.0323735522976300e+01 1.5255584866157312e+01 3.2124175889107683e+01 0 0 -1 +1933 0 1 0.0000000000000000e+00 6.0946684043767860e+01 1.7331631095799924e+01 2.5216928517782307e+01 0 0 0 +8 0 1 0.0000000000000000e+00 3.7428939600878884e+01 1.9328512405742611e+01 2.1120418185038963e+00 0 0 0 +1867 0 1 0.0000000000000000e+00 5.5499873680590987e+01 1.7099174505042292e+01 2.1314226865095140e+01 0 0 0 +1997 0 1 0.0000000000000000e+00 6.0783329189208516e+01 1.7393636011476453e+01 3.0076487174558114e+01 0 0 0 +1065 0 1 0.0000000000000000e+00 5.1647291838271094e+01 8.9425479198137516e+00 3.3473402422506034e+01 0 0 -1 +1504 0 1 0.0000000000000000e+00 6.6914707427510393e+01 7.1794047947678834e+00 3.1769064304101917e+01 0 0 0 +1503 0 1 0.0000000000000000e+00 6.5221316933422941e+01 3.5107269014364846e+00 2.9956747084574044e+01 0 0 0 +1502 0 1 0.0000000000000000e+00 6.3238601938730220e+01 6.6071457138237291e+00 3.1936067335167131e+01 0 0 0 +1501 0 1 0.0000000000000000e+00 6.0643210833484844e+01 4.4217586132287154e+00 2.9839687873470425e+01 0 0 0 +1500 0 1 0.0000000000000000e+00 5.8182495072312371e+01 6.3454350619452633e+00 3.1872094865580852e+01 0 0 0 +1499 0 1 0.0000000000000000e+00 5.6246797832584740e+01 3.4473166524391816e+00 2.9826699156516408e+01 0 0 0 +1498 0 1 0.0000000000000000e+00 5.4171011035845900e+01 6.1512251210373288e+00 3.1446704334440739e+01 0 0 0 +1497 0 1 0.0000000000000000e+00 5.2256318959056998e+01 4.4035800014511528e+00 2.9122110775829903e+01 0 0 0 +1488 0 1 0.0000000000000000e+00 6.7300464382415868e+01 2.0167120917341594e+00 3.2614753114203445e+01 0 0 0 +1486 0 1 0.0000000000000000e+00 6.2687444547073589e+01 1.9797658812285783e+00 3.2075940363227765e+01 0 0 0 +1484 0 1 0.0000000000000000e+00 5.8619808833434526e+01 2.1585499090097016e+00 3.1751925829263726e+01 0 0 0 +1515 0 1 0.0000000000000000e+00 5.6229814949706011e+01 9.0857132080237566e+00 3.0838110374182538e+01 0 0 0 +1482 0 1 0.0000000000000000e+00 5.3716763265007891e+01 1.9640718191566742e+00 3.1602698770817735e+01 0 0 0 +1871 0 1 0.0000000000000000e+00 6.4747192702332100e+01 1.6636645933219928e+01 2.0540090069459417e+01 0 0 0 +1472 0 1 0.0000000000000000e+00 6.7228452877693385e+01 1.5209064169260746e+01 2.7861710502942316e+01 0 0 0 +1471 0 1 0.0000000000000000e+00 6.5054546200287731e+01 1.3000063172461411e+01 2.5805647011698834e+01 0 0 0 +1470 0 1 0.0000000000000000e+00 6.3027271796135423e+01 1.5753490982922470e+01 2.7442647316261830e+01 0 0 0 +1469 0 1 0.0000000000000000e+00 6.0900275877220544e+01 1.3294498095815205e+01 2.5642988811183230e+01 0 0 0 +1468 0 1 0.0000000000000000e+00 5.8459576170989735e+01 1.5933801485044748e+01 2.7737441703744516e+01 0 0 0 +1467 0 1 0.0000000000000000e+00 5.6286532641409266e+01 1.3269235430018098e+01 2.5653770134446688e+01 0 0 0 +1466 0 1 0.0000000000000000e+00 5.4212903385136634e+01 1.5800157179174155e+01 2.7347234061166699e+01 0 0 0 +53 0 1 0.0000000000000000e+00 3.4810155391859816e+01 1.8479901123778323e+01 4.5059089155802239e+00 0 0 0 +1456 0 1 0.0000000000000000e+00 6.7170617873064515e+01 1.0729688798375665e+01 2.7890412953831547e+01 0 0 0 +1455 0 1 0.0000000000000000e+00 6.4462902880104963e+01 8.9027276013373076e+00 2.5620109847815637e+01 0 0 0 +1454 0 1 0.0000000000000000e+00 6.2437066324168320e+01 1.0479805128809824e+01 2.7852314015528862e+01 0 0 0 +1453 0 1 0.0000000000000000e+00 5.9704476121116585e+01 8.6079591362859915e+00 2.5348035984155231e+01 0 0 0 +1452 0 1 0.0000000000000000e+00 5.8748404751210778e+01 1.0763611606429651e+01 2.8156978189157051e+01 0 0 0 +1451 0 1 0.0000000000000000e+00 5.6268387976069235e+01 8.5180196647179915e+00 2.5165308029629173e+01 0 0 0 +1450 0 1 0.0000000000000000e+00 5.4536804689163617e+01 1.0726077960221167e+01 2.8704219388723764e+01 0 0 0 +1052 0 1 0.0000000000000000e+00 5.8408598896898305e+01 5.7187129125138174e+00 1.6736235888646394e+00 0 0 0 +1440 0 1 0.0000000000000000e+00 6.6624414977520800e+01 6.6874628563012131e+00 2.7866888652371433e+01 0 0 0 +1439 0 1 0.0000000000000000e+00 6.5099740304101189e+01 4.6150499019945519e+00 2.5712894816730049e+01 0 0 0 +1438 0 1 0.0000000000000000e+00 6.2595330146459254e+01 6.8076891885322475e+00 2.7938759325280067e+01 0 0 0 +1437 0 1 0.0000000000000000e+00 6.0082023300250050e+01 4.8561755690686956e+00 2.5736980841635468e+01 0 0 0 +1436 0 1 0.0000000000000000e+00 5.8153000554220277e+01 7.0390199222680074e+00 2.8367047379742161e+01 0 0 0 +1435 0 1 0.0000000000000000e+00 5.6279266721778683e+01 4.3932256238961109e+00 2.5223976440596996e+01 0 0 0 +1434 0 1 0.0000000000000000e+00 5.4546584967098390e+01 6.4419984423269812e+00 2.7764637480151205e+01 0 0 0 +1424 0 1 0.0000000000000000e+00 6.7537349345065692e+01 1.8504107489234780e+00 2.7827364792234427e+01 0 0 0 +1422 0 1 0.0000000000000000e+00 6.2513194034471269e+01 1.2039390952694637e+00 2.8294780096970694e+01 0 0 0 +1420 0 1 0.0000000000000000e+00 5.8733190520437091e+01 2.1186633707931266e+00 2.7958032057188600e+01 0 0 0 +1418 0 1 0.0000000000000000e+00 5.4169544395683410e+01 1.7274029495289718e+00 2.7336667305338821e+01 0 0 0 +1529 0 1 0.0000000000000000e+00 5.1905002891029959e+01 1.2858758238771543e+01 3.4182066006598561e+01 0 0 0 +1530 0 1 0.0000000000000000e+00 5.3891856851809159e+01 1.5615105984834457e+01 3.1775297477614561e+01 0 0 0 +1531 0 1 0.0000000000000000e+00 5.6600735174708255e+01 1.3417109350513105e+01 3.0221937486247889e+01 0 0 0 +1532 0 1 0.0000000000000000e+00 5.8644182109341664e+01 1.5836723839543621e+01 3.1844407502253027e+01 0 0 0 +1408 0 1 0.0000000000000000e+00 6.6677707275747736e+01 1.5680428097983192e+01 2.3187790011826614e+01 0 0 0 +1407 0 1 0.0000000000000000e+00 6.4802604088637125e+01 1.2967332964329556e+01 2.1143167290802058e+01 0 0 0 +1406 0 1 0.0000000000000000e+00 6.2892864103034746e+01 1.4955608220241139e+01 2.3323269220389346e+01 0 0 0 +1405 0 1 0.0000000000000000e+00 6.0753157230837388e+01 1.3845903857265474e+01 2.1060264098061971e+01 0 0 0 +1404 0 1 0.0000000000000000e+00 5.8364095937094348e+01 1.5287602804012247e+01 2.3478767451672248e+01 0 0 0 +1403 0 1 0.0000000000000000e+00 5.6005045410099306e+01 1.3233041740935930e+01 2.1699528589302048e+01 0 0 0 +1402 0 1 0.0000000000000000e+00 5.1761050925700751e+01 1.7336034566960095e+01 2.5228543943744786e+01 0 0 0 +1054 0 1 0.0000000000000000e+00 6.2451512762378911e+01 5.8575279372201248e+00 1.5092971463455480e+00 0 0 0 +1392 0 1 0.0000000000000000e+00 6.6736085051411166e+01 1.0344576488983790e+01 2.3097860527674300e+01 0 0 0 +1391 0 1 0.0000000000000000e+00 6.4769628250329035e+01 8.5765954593195293e+00 2.0789368310101349e+01 0 0 0 +1390 0 1 0.0000000000000000e+00 6.2066797698762791e+01 1.0653590861194552e+01 2.3479999553890959e+01 0 0 0 +1389 0 1 0.0000000000000000e+00 6.0724773319260606e+01 8.4742063079449821e+00 2.1132408710845613e+01 0 0 0 +1388 0 1 0.0000000000000000e+00 5.8690076019342037e+01 1.1837521619959091e+01 2.3448536752866698e+01 0 0 0 +1387 0 1 0.0000000000000000e+00 5.6611627607589810e+01 8.9662449079552040e+00 2.1043497107091966e+01 0 0 0 +1386 0 1 0.0000000000000000e+00 5.3326162798457418e+01 1.1154099656474223e+01 2.3107435142795190e+01 0 0 0 +1376 0 1 0.0000000000000000e+00 6.7315080110734499e+01 6.1170635541690856e+00 2.3278299719125563e+01 0 0 0 +1375 0 1 0.0000000000000000e+00 6.4922980751282154e+01 4.0037838152958880e+00 2.1663990420497864e+01 0 0 0 +1374 0 1 0.0000000000000000e+00 6.2866010340610664e+01 6.2957595465486138e+00 2.3251971398044020e+01 0 0 0 +1373 0 1 0.0000000000000000e+00 6.0944294923734525e+01 3.6098507421338248e+00 2.1744424680740668e+01 0 0 0 +1372 0 1 0.0000000000000000e+00 5.8717839992572365e+01 6.1618150153777931e+00 2.2783860802376562e+01 0 0 0 +1371 0 1 0.0000000000000000e+00 5.6128715265117414e+01 4.7804544634635837e+00 2.1547580918964584e+01 0 0 0 +1370 0 1 0.0000000000000000e+00 5.4209047477858505e+01 6.7233741183979916e+00 2.3098424381117454e+01 0 0 0 +1360 0 1 0.0000000000000000e+00 6.7421960920453301e+01 1.9106326085830290e+00 2.3480223645263340e+01 0 0 0 +1533 0 1 0.0000000000000000e+00 6.0882907199787645e+01 1.3454540200184722e+01 2.9694748380971408e+01 0 0 0 +1358 0 1 0.0000000000000000e+00 6.3139269735622321e+01 2.3257979085639939e+00 2.4244579569303443e+01 0 0 0 +1516 0 1 0.0000000000000000e+00 5.8916618088948042e+01 1.0783630810463769e+01 3.2207902140238559e+01 0 0 0 +1356 0 1 0.0000000000000000e+00 5.8593848906103695e+01 1.8881919267660456e+00 2.3613191968436173e+01 0 0 0 +1534 0 1 0.0000000000000000e+00 6.2932923917542809e+01 1.5173156428655799e+01 3.1958813823894005e+01 0 0 0 +1354 0 1 0.0000000000000000e+00 5.3721617988002606e+01 2.3044211115287347e+00 2.3338547078877419e+01 0 0 0 +1535 0 1 0.0000000000000000e+00 6.4647529182226762e+01 1.2916202916110947e+01 2.9277257023835848e+01 0 0 0 +1536 0 1 0.0000000000000000e+00 6.6853712489406433e+01 1.5238138743992929e+01 3.2005849821049104e+01 0 0 0 +1344 0 1 0.0000000000000000e+00 6.7235038673132195e+01 1.5639690988979197e+01 1.8669849646531588e+01 0 0 0 +1517 0 1 0.0000000000000000e+00 6.0634533149920806e+01 8.7846889746061372e+00 3.0185636084526426e+01 0 0 0 +1342 0 1 0.0000000000000000e+00 6.2596624551551571e+01 1.5339526889946850e+01 1.8520839820688874e+01 0 0 0 +1518 0 1 0.0000000000000000e+00 6.2798595734008089e+01 1.1441171363707523e+01 3.2232244077954597e+01 0 0 0 +1340 0 1 0.0000000000000000e+00 5.7806725544669163e+01 1.5311072135473122e+01 1.8647784957503330e+01 0 0 0 +1311 0 1 0.0000000000000000e+00 6.4537821743864626e+01 3.6311884198676871e+00 1.6916805156513536e+01 0 0 0 +1338 0 1 0.0000000000000000e+00 5.3649314042786791e+01 1.5581740834233949e+01 1.8734234809587626e+01 0 0 0 +1519 0 1 0.0000000000000000e+00 6.4581267263966183e+01 8.8709089155628646e+00 2.9822674780302936e+01 0 0 0 +1520 0 1 0.0000000000000000e+00 6.6586855095800033e+01 1.0990482987998698e+01 3.1901925416607295e+01 0 0 0 +1357 0 1 0.0000000000000000e+00 6.0956614722993208e+01 2.2146370607489413e-01 2.1295279666245992e+01 0 0 0 +1328 0 1 0.0000000000000000e+00 6.6780625609134276e+01 1.0524571627517716e+01 1.8940256204117617e+01 0 0 0 +1326 0 1 0.0000000000000000e+00 6.2453348943634545e+01 1.1089017577679927e+01 1.8743033053665002e+01 0 0 0 +1514 0 1 0.0000000000000000e+00 5.4806894211528174e+01 1.1135997599956259e+01 3.2837051617527621e+01 0 0 0 +1324 0 1 0.0000000000000000e+00 5.8771282368346121e+01 1.1184392000363735e+01 1.9396570347337939e+01 0 0 0 +1865 0 1 0.0000000000000000e+00 5.1552912445574691e+01 1.7039161953237571e+01 2.1269230967855560e+01 0 0 0 +1322 0 1 0.0000000000000000e+00 5.4422083837008465e+01 1.0829099100651701e+01 1.9164782414909777e+01 0 0 0 +1323 0 1 0.0000000000000000e+00 5.6561766253590520e+01 8.4235809884532085e+00 1.7691125194998474e+01 0 0 0 +1055 0 1 0.0000000000000000e+00 6.5231756481542973e+01 4.1763980341441922e+00 5.4545306937083947e-02 0 0 0 +1935 0 1 0.0000000000000000e+00 6.5000913080685947e+01 1.7793215257814698e+01 2.5814846728279196e+01 0 0 0 +1312 0 1 0.0000000000000000e+00 6.6834437306551408e+01 6.1593781077794727e+00 1.9086465569677202e+01 0 0 0 +1310 0 1 0.0000000000000000e+00 6.3001820697421969e+01 5.8011820675480550e+00 1.9457956281701449e+01 0 0 0 +1071 0 1 0.0000000000000000e+00 6.4796521225403723e+01 8.3206368734873841e+00 3.4332476671994215e+01 0 0 -1 +1308 0 1 0.0000000000000000e+00 5.8768651171234715e+01 5.8777247634981444e+00 1.9534267810125218e+01 0 0 0 +1487 0 1 0.0000000000000000e+00 6.5921261905062067e+01 3.4241217380072115e+01 3.0263391404757456e+01 0 -1 0 +1306 0 1 0.0000000000000000e+00 5.3662847518524998e+01 6.6350433289593855e+00 1.9377035506521487e+01 0 0 0 +1485 0 1 0.0000000000000000e+00 6.0445118995560286e+01 3.4370190064543813e+01 3.0297224177241830e+01 0 -1 0 +1296 0 1 0.0000000000000000e+00 6.7147617129732595e+01 2.0171254087247670e+00 1.8985016109353541e+01 0 0 0 +1294 0 1 0.0000000000000000e+00 6.2640969054801637e+01 2.0417671399032216e+00 1.8729808113381392e+01 0 0 0 +1051 0 1 0.0000000000000000e+00 5.5791648143847979e+01 3.8111481289255367e+00 3.4440782078701638e+01 0 0 -1 +1292 0 1 0.0000000000000000e+00 5.8846593312570185e+01 2.1325998832605682e+00 1.9018753404614753e+01 0 0 0 +1290 0 1 0.0000000000000000e+00 5.3503020611045464e+01 2.4390111888905315e+00 1.9102172386628446e+01 0 0 0 +1931 0 1 0.0000000000000000e+00 5.3623075197357338e+01 1.5078082508394832e+01 2.3512173974337230e+01 0 0 0 +1807 0 1 0.0000000000000000e+00 6.4512659136847006e+01 1.7531301535271911e+01 1.6828590734589955e+01 0 0 0 +1483 0 1 0.0000000000000000e+00 5.6090224634153465e+01 3.4419725507235846e+01 2.9703975663104579e+01 0 -1 0 +1547 0 1 0.0000000000000000e+00 5.6382294106156685e+01 1.7452432613228805e+01 3.3850648466522564e+01 0 0 -1 +1037 0 1 0.0000000000000000e+00 6.0286660980518562e+01 3.3847704967972845e+01 3.3858377991042765e+01 0 -1 -1 +2048 0 1 0.0000000000000000e+00 6.7554755533516015e+01 3.2034927526120633e+01 3.2975328418254350e+01 0 0 0 +2047 0 1 0.0000000000000000e+00 6.5667772040578754e+01 3.0619777575856734e+01 2.9600395944379247e+01 0 0 0 +1802 0 1 0.0000000000000000e+00 5.3941264273968187e+01 1.9665213646724936e+01 1.8867403106183311e+01 0 0 0 +2046 0 1 0.0000000000000000e+00 6.2971108887009535e+01 3.2019313246621330e+01 3.2076839404288386e+01 0 0 0 +1804 0 1 0.0000000000000000e+00 5.7903471976108925e+01 1.9104946032093522e+01 1.8822850505214124e+01 0 0 0 +2045 0 1 0.0000000000000000e+00 6.0369798634583908e+01 3.0360641621137411e+01 2.9788375361668621e+01 0 0 0 +1806 0 1 0.0000000000000000e+00 6.2587826032774650e+01 1.8929723331773854e+01 1.9048476169377814e+01 0 0 0 +1359 0 1 0.0000000000000000e+00 6.4896125988575051e+01 3.4425925251954865e+01 2.1080342555763746e+01 0 -1 0 +1808 0 1 0.0000000000000000e+00 6.6528571976683054e+01 1.9562478105251536e+01 1.8865103217168244e+01 0 0 0 +1417 0 1 0.0000000000000000e+00 5.1921227065891678e+01 1.4381452370702177e-01 2.5297116508037750e+01 0 0 0 +1818 0 1 0.0000000000000000e+00 5.3934829270206421e+01 2.3589937699383235e+01 1.9077194671799063e+01 0 0 0 +1820 0 1 0.0000000000000000e+00 5.8261193882039741e+01 2.3667451874244023e+01 1.9231183771527455e+01 0 0 0 +1822 0 1 0.0000000000000000e+00 6.2283669667936827e+01 2.3489333478098985e+01 1.9309578072932108e+01 0 0 0 +1824 0 1 0.0000000000000000e+00 6.7055531387823166e+01 2.3786892171474559e+01 1.8703414995777369e+01 0 0 0 +1995 0 1 0.0000000000000000e+00 5.6461528020374047e+01 1.7478942298024290e+01 3.0175882636470305e+01 0 0 0 +1839 0 1 0.0000000000000000e+00 6.4487925373263181e+01 2.5776329973530213e+01 1.6948262708545958e+01 0 0 0 +1999 0 1 0.0000000000000000e+00 6.4904981422658139e+01 1.7419767820854080e+01 2.9676020002359799e+01 0 0 0 +2031 0 1 0.0000000000000000e+00 6.4961683763090150e+01 2.6079704507425863e+01 2.9694483476322571e+01 0 0 0 +1834 0 1 0.0000000000000000e+00 5.3916208115444029e+01 2.7433186623559319e+01 1.8896892697224601e+01 0 0 0 +1836 0 1 0.0000000000000000e+00 5.8027791021886713e+01 2.8242583543435639e+01 1.9114230019164292e+01 0 0 0 +1563 0 1 0.0000000000000000e+00 5.5846024654531362e+01 2.1792440300668435e+01 3.4476528715549549e+01 0 0 -1 +1838 0 1 0.0000000000000000e+00 6.2372608375954414e+01 2.7808520477477764e+01 1.8837493169066207e+01 0 0 0 +1840 0 1 0.0000000000000000e+00 6.6318111682348274e+01 2.7945517627296219e+01 1.8609578602260559e+01 0 0 0 +1579 0 1 0.0000000000000000e+00 5.5869017496699186e+01 2.5965704313895909e+01 3.4071579097563330e+01 0 0 -1 +2029 0 1 0.0000000000000000e+00 6.0557536238913293e+01 2.6138033347587257e+01 2.9527269002906710e+01 0 0 0 +2028 0 1 0.0000000000000000e+00 5.8278541471759539e+01 2.7933519135102500e+01 3.2015765372096197e+01 0 0 0 +2027 0 1 0.0000000000000000e+00 5.6775287057559417e+01 2.5575899696598864e+01 2.9659846594876477e+01 0 0 0 +2026 0 1 0.0000000000000000e+00 5.4664613312650253e+01 2.7850849078607734e+01 3.1883174577933413e+01 0 0 0 +1850 0 1 0.0000000000000000e+00 5.4089656843490090e+01 3.2797887399505676e+01 1.9333767997779063e+01 0 0 0 +1561 0 1 0.0000000000000000e+00 5.1013237511151281e+01 2.2292399586237355e+01 3.3385022842259609e+01 0 0 -1 +1852 0 1 0.0000000000000000e+00 5.7612227829572156e+01 3.3449990446649842e+01 1.9119728707083933e+01 0 0 0 +1854 0 1 0.0000000000000000e+00 6.2345791278543786e+01 3.2157847919442808e+01 1.8589864597170173e+01 0 0 0 +2032 0 1 0.0000000000000000e+00 6.7191259495159059e+01 2.7588398874389014e+01 3.2047364462109691e+01 0 0 0 +1856 0 1 0.0000000000000000e+00 6.6513261686214477e+01 3.2121534412055397e+01 1.8911241868236822e+01 0 0 0 +2044 0 1 0.0000000000000000e+00 5.7174328508464740e+01 3.2053711499981105e+01 3.2034307998087712e+01 0 0 0 +2043 0 1 0.0000000000000000e+00 5.5848021183990873e+01 3.0351025003642185e+01 2.9348502469726515e+01 0 0 0 +1423 0 1 0.0000000000000000e+00 6.4952352517406709e+01 9.6983051162515405e-02 2.5398134535405546e+01 0 0 0 +2042 0 1 0.0000000000000000e+00 5.3546605591633153e+01 3.2005680789985988e+01 3.1619027788137711e+01 0 0 0 +1823 0 1 0.0000000000000000e+00 6.4652309031906796e+01 2.1629307536751678e+01 1.6943526615592251e+01 0 0 0 +1866 0 1 0.0000000000000000e+00 5.3611710170371765e+01 1.9596656182018098e+01 2.2957114946253466e+01 0 0 0 +1868 0 1 0.0000000000000000e+00 5.8406397007181567e+01 1.9179584008575745e+01 2.3404780799474160e+01 0 0 0 +1870 0 1 0.0000000000000000e+00 6.2878609841992422e+01 1.8736296934140036e+01 2.2697015528192910e+01 0 0 0 +1872 0 1 0.0000000000000000e+00 6.7311354371698073e+01 1.9731206882357103e+01 2.3024445996275070e+01 0 0 0 +1231 0 1 0.0000000000000000e+00 6.4484280260460480e+01 3.4351879270781410e+01 1.2835091805120017e+01 0 -1 0 +1882 0 1 0.0000000000000000e+00 5.3925749291623902e+01 2.3245849458753487e+01 2.3549239909231034e+01 0 0 0 +1883 0 1 0.0000000000000000e+00 5.5969474820233025e+01 2.1216675876926452e+01 2.1078292259298973e+01 0 0 0 +1884 0 1 0.0000000000000000e+00 5.8005512762491122e+01 2.2951164830060808e+01 2.3398298944044615e+01 0 0 0 +1885 0 1 0.0000000000000000e+00 6.0479889720444795e+01 2.1251434863956565e+01 2.0825972260593108e+01 0 0 0 +1886 0 1 0.0000000000000000e+00 6.2118460464416714e+01 2.3352669005783042e+01 2.2742274401022993e+01 0 0 0 +1887 0 1 0.0000000000000000e+00 6.4786197897191954e+01 2.1465079944670723e+01 2.1072752903738788e+01 0 0 0 +1888 0 1 0.0000000000000000e+00 6.6571249092967889e+01 2.3610550052984646e+01 2.2718660309036547e+01 0 0 0 +1034 0 1 0.0000000000000000e+00 5.3278945234263702e+01 2.0326927362158740e+00 2.0971333763055759e+00 0 0 0 +1898 0 1 0.0000000000000000e+00 5.4335927192783757e+01 2.8170135496930278e+01 2.3003282919382841e+01 0 0 0 +1899 0 1 0.0000000000000000e+00 5.6066749790324444e+01 2.5433648809524612e+01 2.1305812967226039e+01 0 0 0 +1900 0 1 0.0000000000000000e+00 5.8358397897360057e+01 2.8574943157094495e+01 2.2938432918390401e+01 0 0 0 +1901 0 1 0.0000000000000000e+00 6.0058096913192571e+01 2.5514775245911476e+01 2.1496843044000656e+01 0 0 0 +1902 0 1 0.0000000000000000e+00 6.2409731034135305e+01 2.7792097383090173e+01 2.3236425319811492e+01 0 0 0 +1903 0 1 0.0000000000000000e+00 6.4574307442853694e+01 2.5555280778155947e+01 2.0746668098491554e+01 0 0 0 +1904 0 1 0.0000000000000000e+00 6.6330605656145522e+01 2.7954712126323830e+01 2.2233047023632775e+01 0 0 0 +339 0 1 0.0000000000000000e+00 3.8951623741033444e+01 5.9649514979481588e-01 3.8410584201320574e+00 0 0 0 +1914 0 1 0.0000000000000000e+00 5.4394240577785631e+01 3.2796208813737010e+01 2.2942756361237507e+01 0 0 0 +1915 0 1 0.0000000000000000e+00 5.5794696183730998e+01 3.0677111729501945e+01 2.1270636772794870e+01 0 0 0 +1916 0 1 0.0000000000000000e+00 5.8383010158809519e+01 3.2504465543747422e+01 2.2766143707824025e+01 0 0 0 +1917 0 1 0.0000000000000000e+00 6.0382977840551114e+01 3.0575955637577980e+01 2.0632605108760210e+01 0 0 0 +1918 0 1 0.0000000000000000e+00 6.2467681987885655e+01 3.2063425081777268e+01 2.3588175834244069e+01 0 0 0 +1919 0 1 0.0000000000000000e+00 6.4382390990908917e+01 3.0070183784195816e+01 2.0897997203554031e+01 0 0 0 +1920 0 1 0.0000000000000000e+00 6.6820818014776890e+01 3.2274240165530074e+01 2.2823021139331843e+01 0 0 0 +1548 0 1 0.0000000000000000e+00 5.8330289468417135e+01 1.9766415299320236e+01 1.7900029826971779e+00 0 0 0 +1930 0 1 0.0000000000000000e+00 5.4484147474471612e+01 1.9413317032893531e+01 2.6916482189214467e+01 0 0 0 +1932 0 1 0.0000000000000000e+00 5.6203392128176645e+01 1.7328089624546955e+01 2.5143078444449234e+01 0 0 0 +1934 0 1 0.0000000000000000e+00 6.2923092168308237e+01 1.9965957556645620e+01 2.7827673606180095e+01 0 0 0 +1036 0 1 0.0000000000000000e+00 5.8774383687949211e+01 1.8224302960662728e+00 1.2641410459778732e+00 0 0 0 +1936 0 1 0.0000000000000000e+00 6.7365514174682730e+01 1.9564635147295370e+01 2.7356637352900911e+01 0 0 0 +1050 0 1 0.0000000000000000e+00 5.3697033456074458e+01 6.9738159062803033e+00 1.1713281463120715e+00 0 0 0 +1946 0 1 0.0000000000000000e+00 5.4114438539870072e+01 2.3587772686374386e+01 2.7184679491829904e+01 0 0 0 +1947 0 1 0.0000000000000000e+00 5.5869891385377478e+01 2.1179264402406766e+01 2.5019002799382491e+01 0 0 0 +1948 0 1 0.0000000000000000e+00 5.8437003520912100e+01 2.3013838100221331e+01 2.6924247773241170e+01 0 0 0 +1949 0 1 0.0000000000000000e+00 6.0823916155225383e+01 2.1194655646919358e+01 2.4989878727265040e+01 0 0 0 +1950 0 1 0.0000000000000000e+00 6.2660851048329235e+01 2.4228205413243156e+01 2.7320763245886262e+01 0 0 0 +1951 0 1 0.0000000000000000e+00 6.4821751184627814e+01 2.1474668973309559e+01 2.5286516821797534e+01 0 0 0 +1952 0 1 0.0000000000000000e+00 6.6475506306808327e+01 2.3690951947566067e+01 2.6972419346839576e+01 0 0 0 +1041 0 1 0.0000000000000000e+00 3.7347066240251664e+01 5.6451578840770686e+00 2.8122192303813353e+01 0 0 -1 +1961 0 1 0.0000000000000000e+00 5.1751289426200181e+01 2.5764785043767890e+01 2.5486264261318968e+01 0 0 0 +1962 0 1 0.0000000000000000e+00 5.4241871743192760e+01 2.7877024017469488e+01 2.6982969245914020e+01 0 0 0 +1963 0 1 0.0000000000000000e+00 5.6193858769640585e+01 2.5728659450010991e+01 2.4901900284006704e+01 0 0 0 +1964 0 1 0.0000000000000000e+00 5.7743591211441547e+01 2.8062455456289012e+01 2.7637159510720377e+01 0 0 0 +1965 0 1 0.0000000000000000e+00 5.9897592440898563e+01 2.6005207998075043e+01 2.5464564670359014e+01 0 0 0 +1966 0 1 0.0000000000000000e+00 6.2492255888035025e+01 2.8086070736020908e+01 2.7344224539690963e+01 0 0 0 +1967 0 1 0.0000000000000000e+00 6.4641964369971703e+01 2.5650761780260947e+01 2.4704279389718337e+01 0 0 0 +1968 0 1 0.0000000000000000e+00 6.7199244085411124e+01 2.7723873968427608e+01 2.7821660180164553e+01 0 0 0 +886 0 1 0.0000000000000000e+00 3.4866840178200320e+01 1.2016525926043185e+01 1.0686260060072945e+01 0 1 1 +1978 0 1 0.0000000000000000e+00 5.3612263287389062e+01 3.2465510416370698e+01 2.7723058155452772e+01 0 0 0 +1979 0 1 0.0000000000000000e+00 5.6215503478642589e+01 3.0392798149868728e+01 2.5118433246964052e+01 0 0 0 +1980 0 1 0.0000000000000000e+00 5.8525554709505194e+01 3.2797232350424103e+01 2.7958207446479417e+01 0 0 0 +1981 0 1 0.0000000000000000e+00 5.9861455179257746e+01 3.0161742451428751e+01 2.5444831702144409e+01 0 0 0 +1982 0 1 0.0000000000000000e+00 6.2760421255797894e+01 3.2047826280754464e+01 2.7482042446225485e+01 0 0 0 +1983 0 1 0.0000000000000000e+00 6.5128170686670742e+01 2.9841022937866782e+01 2.5926867553232157e+01 0 0 0 +1984 0 1 0.0000000000000000e+00 6.7691898631334951e+01 3.2397648208349949e+01 2.7318088034571037e+01 0 0 0 +2030 0 1 0.0000000000000000e+00 6.2738282856471308e+01 2.8012489551090194e+01 3.1861779228360508e+01 0 0 0 +1994 0 1 0.0000000000000000e+00 5.4271963898832908e+01 2.0057572599064727e+01 3.0924172853277760e+01 0 0 0 +1996 0 1 0.0000000000000000e+00 5.8284522365970190e+01 2.0071816998506293e+01 3.1746706472492594e+01 0 0 0 +1929 0 1 0.0000000000000000e+00 4.9533894045679062e+01 1.9188563155799706e+01 2.7799420373072586e+01 0 0 0 +1998 0 1 0.0000000000000000e+00 6.2639988860210060e+01 1.9634845710784077e+01 3.1753775964077317e+01 0 0 0 +2000 0 1 0.0000000000000000e+00 6.6827489511499692e+01 1.9625815678732380e+01 3.2466354783181593e+01 0 0 0 +1634 0 1 0.0000000000000000e+00 3.7658762203096707e+01 2.3399251884880755e+01 5.3991583225009441e+00 0 0 0 +2009 0 1 0.0000000000000000e+00 5.2218350251178144e+01 2.1721163332071136e+01 2.9601310245416006e+01 0 0 0 +2010 0 1 0.0000000000000000e+00 5.3683045886965374e+01 2.4118323844202376e+01 3.1418113551163742e+01 0 0 0 +2011 0 1 0.0000000000000000e+00 5.6237259998003445e+01 2.2125632754060824e+01 2.9570860273052784e+01 0 0 0 +2012 0 1 0.0000000000000000e+00 5.8554542328649447e+01 2.3765485897961664e+01 3.2590471844166196e+01 0 0 0 +2013 0 1 0.0000000000000000e+00 5.8591209194326211e+01 1.9385386883465635e+01 2.7074650553128397e+01 0 0 0 +2014 0 1 0.0000000000000000e+00 6.0607252544471109e+01 2.2133727939499344e+01 2.9671277516974918e+01 0 0 0 +2015 0 1 0.0000000000000000e+00 6.5449009906996992e+01 2.2235928853677937e+01 3.0187911117530000e+01 0 0 0 +2016 0 1 0.0000000000000000e+00 6.7491857531540035e+01 2.3725751089938637e+01 3.2659660336677696e+01 0 0 0 +492 0 1 0.0000000000000000e+00 3.8075410910314147e+01 1.0581188251944855e+01 4.9536571281985458e+00 0 0 1 +1851 0 1 0.0000000000000000e+00 5.5982063202140154e+01 3.0531097247930415e+01 1.7730856104917219e+01 0 0 0 +1421 0 1 0.0000000000000000e+00 6.0806411199166917e+01 7.6052262009386487e-02 2.5547711129899632e+01 0 0 0 +1577 0 1 0.0000000000000000e+00 5.1947896136628778e+01 2.6591031234889918e+01 3.3697543781238203e+01 0 0 -1 +1855 0 1 0.0000000000000000e+00 6.4398218213998845e+01 3.0129945090781597e+01 1.6389559635249480e+01 0 0 0 +18 0 1 0.0000000000000000e+00 3.9672079411961221e+01 2.1738996416707050e+01 3.0546362095422097e+01 0 0 0 +1869 0 1 0.0000000000000000e+00 6.0332102104544930e+01 1.7199988621212686e+01 2.0666380231055633e+01 0 0 0 +1419 0 1 0.0000000000000000e+00 5.6195061523864020e+01 3.4469500735948152e+01 2.5526206211025464e+01 0 -1 0 +1595 0 1 0.0000000000000000e+00 5.5121884496603279e+01 3.0359958630606044e+01 4.3325188341673149e-02 0 0 0 +1295 0 1 0.0000000000000000e+00 6.4542145235758241e+01 3.4064219378304756e+01 1.6786657953343816e+01 0 -1 0 +1481 0 1 0.0000000000000000e+00 5.1703723369789920e+01 3.2500769048765588e-01 3.0034736458740909e+01 0 0 0 +1355 0 1 0.0000000000000000e+00 5.6113607970114373e+01 1.0753382146396828e+00 2.1072717956086340e+01 0 0 0 +1597 0 1 0.0000000000000000e+00 6.0511220899465641e+01 3.0089803663263144e+01 3.3402409252861183e+01 0 0 -1 +1565 0 1 0.0000000000000000e+00 6.0486070722019804e+01 2.1187839208527226e+01 3.3820969897056926e+01 0 0 -1 +1307 0 1 0.0000000000000000e+00 5.6474319197519321e+01 4.0771464726080051e+00 1.7762746071794886e+01 0 0 0 +1278 0 1 0.0000000000000000e+00 6.2213962234465271e+01 1.5468377187989159e+01 1.4411181255077924e+01 0 0 0 +1611 0 1 0.0000000000000000e+00 5.6264322188490567e+01 1.6926921439754196e+01 3.6321506384092221e+00 0 0 0 +1039 0 1 0.0000000000000000e+00 6.5099831726238079e+01 3.4468830979110727e+01 5.4372419669367011e-02 0 -1 0 +1792 0 1 0.0000000000000000e+00 6.6828878908040664e+01 3.2073263843760330e+01 1.4952089147672517e+01 0 0 0 +1038 0 1 0.0000000000000000e+00 6.2358417670160549e+01 2.0707503370408094e+00 1.2220675298253072e+00 0 0 0 +1679 0 1 0.0000000000000000e+00 6.4678592620954248e+01 1.7405997018113364e+01 8.0081749230601460e+00 0 0 0 +1849 0 1 0.0000000000000000e+00 5.1852932841362488e+01 3.0128222438575410e+01 1.7104358996003121e+01 0 0 0 +1853 0 1 0.0000000000000000e+00 5.9904488967502260e+01 3.0435364787608957e+01 1.7177351335038672e+01 0 0 0 +1085 0 1 0.0000000000000000e+00 6.0378632947190511e+01 1.3183019646702400e+01 3.4508100622725323e+01 0 0 -1 +1229 0 1 0.0000000000000000e+00 5.9906056409253509e+01 6.1815979663641041e-01 1.2535579478677827e+01 0 0 0 +1567 0 1 0.0000000000000000e+00 6.4727735280225076e+01 2.1336637838258884e+01 3.4061168088062459e+01 0 0 -1 +1101 0 1 0.0000000000000000e+00 6.0356671662532399e+01 7.6701472892657691e-02 4.0206694267467249e+00 0 0 0 +1677 0 1 0.0000000000000000e+00 6.0523451398700985e+01 1.7334965887022499e+01 8.2864235271279174e+00 0 0 0 +1067 0 1 0.0000000000000000e+00 5.6647566800630358e+01 8.5543768307031662e+00 3.4072068759737199e+01 0 0 -1 +1040 0 1 0.0000000000000000e+00 6.7178711542900601e+01 2.1300192659015784e+00 2.1002311513536345e+00 0 0 0 +1053 0 1 0.0000000000000000e+00 6.0181265962480808e+01 4.4575625569478383e+00 3.3429368145522332e+01 0 0 -1 +1069 0 1 0.0000000000000000e+00 6.0699182254263341e+01 8.1939016396366302e+00 3.4023384869903481e+01 0 0 -1 +1327 0 1 0.0000000000000000e+00 6.4573269246106051e+01 8.7221876103341245e+00 1.6937795305171662e+01 0 0 0 +1293 0 1 0.0000000000000000e+00 6.0529470337976470e+01 3.4522813852104285e+01 1.7160664299768726e+01 0 -1 0 +1309 0 1 0.0000000000000000e+00 6.0184503628858025e+01 3.9332183969324865e+00 1.6396923866157966e+01 0 0 0 +1837 0 1 0.0000000000000000e+00 6.0766245915063841e+01 2.5194523725293532e+01 1.6664361981992766e+01 0 0 0 +1833 0 1 0.0000000000000000e+00 5.2220685025613072e+01 2.5973646846010080e+01 1.5760570482224782e+01 0 0 0 +1905 0 1 0.0000000000000000e+00 6.8838350105454751e+01 2.9961768763452813e+01 2.0767976638349946e+01 -1 0 0 +1087 0 1 0.0000000000000000e+00 6.5315120360867709e+01 1.2870597405538854e+01 3.4128340562933438e+01 0 0 -1 +1058 0 1 0.0000000000000000e+00 3.7865211528102549e+01 3.1086144769263444e+00 3.1619240343289700e+01 0 0 -1 +1339 0 1 0.0000000000000000e+00 5.5827812239410576e+01 1.3191923799348297e+01 1.7340289732148761e+01 0 0 0 +1291 0 1 0.0000000000000000e+00 5.5822354095974084e+01 3.0052851550642967e-01 1.6857080710231710e+01 0 0 0 +1615 0 1 0.0000000000000000e+00 6.4906223474550885e+01 1.7232377041043446e+01 3.9007655321833687e+00 0 0 0 +1341 0 1 0.0000000000000000e+00 6.0170375995025552e+01 1.2988568274746875e+01 1.6267392405844586e+01 0 0 0 +1549 0 1 0.0000000000000000e+00 6.0441328851636349e+01 1.7304573581813724e+01 3.4289497568316413e+01 0 0 -1 +1165 0 1 0.0000000000000000e+00 6.0225060739720654e+01 9.9910522193430870e-02 7.9287053821001248e+00 0 0 0 +1083 0 1 0.0000000000000000e+00 5.6516868577185214e+01 1.3690199940464474e+01 3.3727770009320700e+01 0 0 -1 +1103 0 1 0.0000000000000000e+00 6.4361905220129245e+01 2.1333278843004799e-01 3.6302270264123422e+00 0 0 0 +1741 0 1 0.0000000000000000e+00 6.0253377841661731e+01 1.7585313866029374e+01 1.2416600645540203e+01 0 0 0 +1035 0 1 0.0000000000000000e+00 5.6126732611630935e+01 7.1841252671537653e-02 3.3800417621784440e+01 0 0 -1 +1821 0 1 0.0000000000000000e+00 6.0560098210901558e+01 2.1203668022339574e+01 1.7404157409695987e+01 0 0 0 +1248 0 1 0.0000000000000000e+00 6.6471152084541330e+01 6.0180283563782675e+00 1.5209579670948312e+01 0 0 0 +1247 0 1 0.0000000000000000e+00 6.4943301023073744e+01 4.1132289387422887e+00 1.2800219709824223e+01 0 0 0 +1246 0 1 0.0000000000000000e+00 6.2298631104768639e+01 6.5725388251359051e+00 1.4463333604352048e+01 0 0 0 +1245 0 1 0.0000000000000000e+00 6.0391837021792604e+01 4.4925702816804955e+00 1.2782228727128157e+01 0 0 0 +1244 0 1 0.0000000000000000e+00 5.8104908418724676e+01 6.6943629565141238e+00 1.4796547018176529e+01 0 0 0 +1243 0 1 0.0000000000000000e+00 5.6164329494302116e+01 4.3197014083470808e+00 1.3266602509618812e+01 0 0 0 +1242 0 1 0.0000000000000000e+00 5.4348816181631506e+01 6.5148004915910631e+00 1.5433544640331409e+01 0 0 0 +1583 0 1 0.0000000000000000e+00 6.4914544518194688e+01 2.6095052253900530e+01 3.4163676683970884e+01 0 0 -1 +1819 0 1 0.0000000000000000e+00 5.6406992075836271e+01 2.1821092262001422e+01 1.7002377798637720e+01 0 0 0 +1163 0 1 0.0000000000000000e+00 5.5814911650895723e+01 3.4496621130823598e+01 8.7717415696613337e+00 0 -1 0 +1167 0 1 0.0000000000000000e+00 6.4715672806234124e+01 3.4453878852588510e+01 8.5815750078666042e+00 0 -1 0 +1562 0 1 0.0000000000000000e+00 5.3523491332565499e+01 2.3736028564169015e+01 1.5051222983856540e+00 0 0 0 +1760 0 1 0.0000000000000000e+00 6.6960965589881454e+01 2.3660435004914696e+01 1.4948130255161271e+01 0 0 0 +1759 0 1 0.0000000000000000e+00 6.4848533605556710e+01 2.1263109547388641e+01 1.2458909376214358e+01 0 0 0 +1758 0 1 0.0000000000000000e+00 6.2658771037181886e+01 2.3425106319785417e+01 1.4811079023942716e+01 0 0 0 +1757 0 1 0.0000000000000000e+00 6.0436963621091571e+01 2.1274647122298362e+01 1.2982908663196437e+01 0 0 0 +1232 0 1 0.0000000000000000e+00 6.6838083926142815e+01 1.6267352577814809e+00 1.4781137781209532e+01 0 0 0 +1263 0 1 0.0000000000000000e+00 6.4845446792161169e+01 8.3263641806584410e+00 1.2669102721735937e+01 0 0 0 +1230 0 1 0.0000000000000000e+00 6.2374925988631951e+01 1.9566258494026596e+00 1.4153367860022906e+01 0 0 0 +1756 0 1 0.0000000000000000e+00 5.8319471090734844e+01 2.3745552733328417e+01 1.5139831718596938e+01 0 0 0 +1228 0 1 0.0000000000000000e+00 5.7890929169706432e+01 2.0410814958276191e+00 1.5046357218723816e+01 0 0 0 +1755 0 1 0.0000000000000000e+00 5.6026773945228804e+01 2.1887089252288231e+01 1.2942862588098405e+01 0 0 0 +1226 0 1 0.0000000000000000e+00 5.3100915388677215e+01 2.5987595635767127e+00 1.4640216191644969e+01 0 0 0 +1264 0 1 0.0000000000000000e+00 6.6820709415663629e+01 1.0757808332242698e+01 1.4654027449905138e+01 0 0 0 +1754 0 1 0.0000000000000000e+00 5.3575973820809892e+01 2.3332368408697338e+01 1.4775401699188951e+01 0 0 0 +1099 0 1 0.0000000000000000e+00 5.6123013045682363e+01 5.0778613785114068e-01 3.4790952818518499e+00 0 0 0 +1744 0 1 0.0000000000000000e+00 6.6997009279793573e+01 1.9430968279198712e+01 1.4843876515542751e+01 0 0 0 +1776 0 1 0.0000000000000000e+00 6.7251057195811981e+01 2.7636527452479726e+01 1.4588588335853769e+01 0 0 0 +1742 0 1 0.0000000000000000e+00 6.2572428885994981e+01 1.9365882409678154e+01 1.4562926884744769e+01 0 0 0 +1773 0 1 0.0000000000000000e+00 6.0143136615476173e+01 2.6054167113062100e+01 1.2554373809693644e+01 0 0 0 +1740 0 1 0.0000000000000000e+00 5.8389126518604904e+01 1.9804005080696154e+01 1.4988892992014602e+01 0 0 0 +1739 0 1 0.0000000000000000e+00 5.6157831671760505e+01 1.7872043663384982e+01 1.2520669959067879e+01 0 0 0 +1216 0 1 0.0000000000000000e+00 6.6221865097155700e+01 1.4810919161235869e+01 1.0449943577723676e+01 0 0 0 +1215 0 1 0.0000000000000000e+00 6.3896847561940454e+01 1.2685168765456266e+01 8.2624809111232249e+00 0 0 0 +1214 0 1 0.0000000000000000e+00 6.2207250697016107e+01 1.4955941648504043e+01 1.0716179858814831e+01 0 0 0 +1213 0 1 0.0000000000000000e+00 5.9937142607240489e+01 1.3126931172366316e+01 8.5971308190105269e+00 0 0 0 +1212 0 1 0.0000000000000000e+00 5.7790194584390441e+01 1.4416127431865664e+01 1.1014334231251933e+01 0 0 0 +1211 0 1 0.0000000000000000e+00 5.6053108266637977e+01 1.2622514724018345e+01 8.0434244921941360e+00 0 0 0 +1210 0 1 0.0000000000000000e+00 5.4127266666604726e+01 1.4866002514992035e+01 1.0295225116964829e+01 0 0 0 +1738 0 1 0.0000000000000000e+00 5.3548893605147065e+01 1.9822174526817090e+01 1.4759668093313012e+01 0 0 0 +1774 0 1 0.0000000000000000e+00 6.2166295132756460e+01 2.8269241088575352e+01 1.4874128121291770e+01 0 0 0 +1581 0 1 0.0000000000000000e+00 6.3250109469742682e+01 2.3804599241314762e+01 3.1707309774919405e+01 0 0 -1 +1772 0 1 0.0000000000000000e+00 5.8383178964603786e+01 2.8237685734396390e+01 1.4881094880877660e+01 0 0 0 +1728 0 1 0.0000000000000000e+00 6.6914482301213880e+01 3.2433591617992356e+01 1.0934439629940202e+01 0 0 0 +1727 0 1 0.0000000000000000e+00 6.4289951088390723e+01 3.0786652835769505e+01 8.5540729869287109e+00 0 0 0 +1726 0 1 0.0000000000000000e+00 6.2214644824618965e+01 3.2598387877682462e+01 1.0694230316306154e+01 0 0 0 +1725 0 1 0.0000000000000000e+00 6.0421647588719075e+01 3.0179584060734548e+01 8.4217600908093786e+00 0 0 0 +1724 0 1 0.0000000000000000e+00 5.8207754674975838e+01 3.2861322088638225e+01 1.0739284140548010e+01 0 0 0 +1200 0 1 0.0000000000000000e+00 6.6543290070255509e+01 1.0585451208240901e+01 1.0757854844380162e+01 0 0 0 +1199 0 1 0.0000000000000000e+00 6.4190362866434512e+01 8.0913630423818503e+00 8.5425497985758128e+00 0 0 0 +1198 0 1 0.0000000000000000e+00 6.2294689095099187e+01 1.0383167535079650e+01 1.0391633193088493e+01 0 0 0 +1197 0 1 0.0000000000000000e+00 6.0085611266869115e+01 7.9398720038419910e+00 8.4161273099513760e+00 0 0 0 +1196 0 1 0.0000000000000000e+00 5.8102651576274717e+01 1.0574567382946720e+01 1.0192702275460311e+01 0 0 0 +1195 0 1 0.0000000000000000e+00 5.6469033416669348e+01 8.2522910860034173e+00 8.0645551493867185e+00 0 0 0 +1194 0 1 0.0000000000000000e+00 5.4012277548901224e+01 1.0565257659785063e+01 1.0098554775271705e+01 0 0 0 +1723 0 1 0.0000000000000000e+00 5.6494185079152714e+01 3.0559516128620682e+01 8.3657297879487977e+00 0 0 0 +1722 0 1 0.0000000000000000e+00 5.3810646696904790e+01 3.2387515853748724e+01 1.0637458310057818e+01 0 0 0 +1712 0 1 0.0000000000000000e+00 6.6315899315886028e+01 2.8413701309942571e+01 1.0217678753359378e+01 0 0 0 +1711 0 1 0.0000000000000000e+00 6.4507845679186076e+01 2.5607589552175554e+01 9.0205764620838842e+00 0 0 0 +1710 0 1 0.0000000000000000e+00 6.2452668207245765e+01 2.8429242469051452e+01 1.0380055636694937e+01 0 0 0 +1709 0 1 0.0000000000000000e+00 6.0232477191259861e+01 2.5441472812680598e+01 8.0459303183274802e+00 0 0 0 +1708 0 1 0.0000000000000000e+00 5.8476683574423085e+01 2.7657495821358747e+01 1.0466825708716380e+01 0 0 0 +1707 0 1 0.0000000000000000e+00 5.6565611668353149e+01 2.6076918241690109e+01 7.9239851674001205e+00 0 0 0 +1706 0 1 0.0000000000000000e+00 5.4577725528963171e+01 2.7979513019086550e+01 1.0230869634581104e+01 0 0 0 +1184 0 1 0.0000000000000000e+00 6.7242493059102188e+01 6.2261548015788977e+00 1.0581356528350559e+01 0 0 0 +1183 0 1 0.0000000000000000e+00 6.4392891704027761e+01 4.1473708963862190e+00 8.1909661349987246e+00 0 0 0 +1182 0 1 0.0000000000000000e+00 6.2570440050890568e+01 6.0764404721245580e+00 1.0846944742593793e+01 0 0 0 +1181 0 1 0.0000000000000000e+00 5.9955101588959863e+01 3.8193410095332019e+00 8.6491186153638289e+00 0 0 0 +1180 0 1 0.0000000000000000e+00 5.8157461412369059e+01 6.5333996242011860e+00 1.0697561831546698e+01 0 0 0 +1179 0 1 0.0000000000000000e+00 5.5792231786976366e+01 4.4478815212338150e+00 8.0311394175039261e+00 0 0 0 +1178 0 1 0.0000000000000000e+00 5.4156002352776511e+01 6.6005560668339651e+00 1.0166519560344337e+01 0 0 0 +1325 0 1 0.0000000000000000e+00 6.0908032586781133e+01 7.7080433581994434e+00 1.7043462092418594e+01 0 0 0 +1696 0 1 0.0000000000000000e+00 6.7108780737024816e+01 2.3212064087299151e+01 1.0154198697781457e+01 0 0 0 +1695 0 1 0.0000000000000000e+00 6.4156861557574814e+01 2.1564510727384462e+01 8.4604690125213793e+00 0 0 0 +1694 0 1 0.0000000000000000e+00 6.2405782006301770e+01 2.3786185729741451e+01 1.1102792730583676e+01 0 0 0 +1693 0 1 0.0000000000000000e+00 6.0718923493486720e+01 2.1343923587912286e+01 8.6374917545556418e+00 0 0 0 +1692 0 1 0.0000000000000000e+00 5.8523046123615096e+01 2.3558143107275797e+01 1.0869683090203999e+01 0 0 0 +1691 0 1 0.0000000000000000e+00 5.7182378458986797e+01 2.2203567507295780e+01 7.8938916453185461e+00 0 0 0 +1690 0 1 0.0000000000000000e+00 5.4423274886864938e+01 2.3696561433979692e+01 1.0328597616267359e+01 0 0 0 +1168 0 1 0.0000000000000000e+00 6.6782816149384701e+01 1.8536603660132065e+00 1.0509349318494687e+01 0 0 0 +1790 0 1 0.0000000000000000e+00 6.2299574316279156e+01 3.2620466414818765e+01 1.4501237519997034e+01 0 0 0 +1166 0 1 0.0000000000000000e+00 6.2412147595590241e+01 2.1037412996966811e+00 1.0144172394029592e+01 0 0 0 +1550 0 1 0.0000000000000000e+00 6.1889062594426818e+01 1.9679657025214318e+01 2.3934446266995755e+00 0 0 0 +1164 0 1 0.0000000000000000e+00 5.7581029954839245e+01 2.3238528381959966e+00 1.0359037564042435e+01 0 0 0 +1680 0 1 0.0000000000000000e+00 6.7571619261762095e+01 1.8892718331451793e+01 1.0090473206973396e+01 0 0 0 +1162 0 1 0.0000000000000000e+00 5.3437686833800150e+01 2.9808927081155780e+00 1.0635132296740347e+01 0 0 0 +1678 0 1 0.0000000000000000e+00 6.2684484256157674e+01 1.8286373250821200e+01 1.0448068829279499e+01 0 0 0 +1676 0 1 0.0000000000000000e+00 5.7931361036012682e+01 1.9576949835711751e+01 1.0284929018850747e+01 0 0 0 +1674 0 1 0.0000000000000000e+00 5.3951269691290342e+01 2.0236864279857009e+01 1.0135633045156505e+01 0 0 0 +1785 0 1 0.0000000000000000e+00 5.2200238461251146e+01 2.9873129822220076e+01 1.2806891694889130e+01 0 0 0 +1664 0 1 0.0000000000000000e+00 6.6231849921533751e+01 3.2064475797837517e+01 5.9590131143980631e+00 0 0 0 +1663 0 1 0.0000000000000000e+00 6.4339830573048403e+01 2.9995533327795016e+01 3.7493983977598844e+00 0 0 0 +1662 0 1 0.0000000000000000e+00 6.2374218160092376e+01 3.2305263281039025e+01 5.8512203207740843e+00 0 0 0 +1661 0 1 0.0000000000000000e+00 5.9880869844962639e+01 3.0252269447286842e+01 3.8080622742547940e+00 0 0 0 +1660 0 1 0.0000000000000000e+00 5.8360378303538418e+01 3.2489396660631584e+01 6.0917796892825313e+00 0 0 0 +1152 0 1 0.0000000000000000e+00 6.6612268608314764e+01 1.4716084067999326e+01 6.7844886227578387e+00 0 0 0 +1151 0 1 0.0000000000000000e+00 6.4589747269771948e+01 1.2983110834349652e+01 4.3599649186473810e+00 0 0 0 +1150 0 1 0.0000000000000000e+00 6.2420576859840843e+01 1.4921133549385416e+01 6.5083139108939116e+00 0 0 0 +1149 0 1 0.0000000000000000e+00 6.0990383808993663e+01 1.2174713393941401e+01 4.1192676410955027e+00 0 0 0 +1148 0 1 0.0000000000000000e+00 5.7974429734307840e+01 1.5149210514885022e+01 6.2036615717250854e+00 0 0 0 +1147 0 1 0.0000000000000000e+00 5.6452581988113323e+01 1.2972719820608033e+01 3.6627642250860650e+00 0 0 0 +1146 0 1 0.0000000000000000e+00 5.3631135686255512e+01 1.5086065852286429e+01 6.1276183977676304e+00 0 0 0 +1564 0 1 0.0000000000000000e+00 6.0762237992881374e+01 2.5907554152894125e+01 3.3751475626497339e+01 0 0 -1 +1659 0 1 0.0000000000000000e+00 5.6162359920334509e+01 3.0033907200288148e+01 3.5656564821821983e+00 0 0 0 +1658 0 1 0.0000000000000000e+00 5.4229042196592786e+01 3.2783863106011324e+01 5.9293363007801476e+00 0 0 0 +1657 0 1 0.0000000000000000e+00 5.2440159057526309e+01 3.0272492030592808e+01 3.9454750168611601e+00 0 0 0 +1697 0 1 0.0000000000000000e+00 4.1599469392668176e+01 2.8412972698243660e+01 6.3666312473680868e+00 0 0 0 +1648 0 1 0.0000000000000000e+00 6.6143823087257289e+01 2.8348367149399696e+01 6.2880167207417745e+00 0 0 0 +1647 0 1 0.0000000000000000e+00 6.4069777158417295e+01 2.5456861937228080e+01 3.5638624249157425e+00 0 0 0 +1791 0 1 0.0000000000000000e+00 6.4608549763140687e+01 3.0367684958933015e+01 1.2755419471768072e+01 0 0 0 +1599 0 1 0.0000000000000000e+00 6.5032975534022341e+01 3.0080047781968595e+01 3.4181986348186740e+01 0 0 -1 +1136 0 1 0.0000000000000000e+00 6.6702631853398486e+01 1.0732854837808883e+01 5.8990304113934542e+00 0 0 0 +1135 0 1 0.0000000000000000e+00 6.4512849269553598e+01 8.3413837190490945e+00 4.0696131183954529e+00 0 0 0 +1134 0 1 0.0000000000000000e+00 6.2077627963076132e+01 1.0160747645193636e+01 6.4460982417521606e+00 0 0 0 +1133 0 1 0.0000000000000000e+00 6.0634876674438203e+01 8.0779670307053504e+00 3.5379390798373023e+00 0 0 0 +1132 0 1 0.0000000000000000e+00 5.8126061981087588e+01 1.0658468904661012e+01 5.6717071378262816e+00 0 0 0 +1131 0 1 0.0000000000000000e+00 5.5970486755089617e+01 8.3991511421061134e+00 3.6526445420970601e+00 0 0 0 +1130 0 1 0.0000000000000000e+00 5.3770764369461389e+01 1.0474830484824949e+01 6.0466239511826174e+00 0 0 0 +1646 0 1 0.0000000000000000e+00 6.2451391032232770e+01 2.8196710253049851e+01 6.1113696857643927e+00 0 0 0 +1645 0 1 0.0000000000000000e+00 6.0407515778451938e+01 2.5750428262757140e+01 3.8193631982504415e+00 0 0 0 +1644 0 1 0.0000000000000000e+00 5.8379726997554229e+01 2.8224148717436872e+01 5.9193096707589872e+00 0 0 0 +1643 0 1 0.0000000000000000e+00 5.6376413664037635e+01 2.5804055261713831e+01 3.7865246972541304e+00 0 0 0 +1546 0 1 0.0000000000000000e+00 5.4419927769298482e+01 1.9821631386356124e+01 2.2883813193946585e+00 0 0 0 +1642 0 1 0.0000000000000000e+00 5.4725432483384239e+01 2.8499352561240780e+01 6.1177546070130981e+00 0 0 0 +1613 0 1 0.0000000000000000e+00 6.0597113316395898e+01 1.6313550566611308e+01 4.0064111930282253e+00 0 0 0 +1632 0 1 0.0000000000000000e+00 6.6833274872070930e+01 2.3916177876407712e+01 6.3578810747208241e+00 0 0 0 +1566 0 1 0.0000000000000000e+00 6.2005934093666013e+01 2.3319701842745591e+01 1.3669868421847116e+00 0 0 0 +1120 0 1 0.0000000000000000e+00 6.6727661016320084e+01 6.3239699765293400e+00 6.1812476168064014e+00 0 0 0 +1119 0 1 0.0000000000000000e+00 6.5018643876360159e+01 4.5467081087491135e+00 3.5534988956458862e+00 0 0 0 +1118 0 1 0.0000000000000000e+00 6.2663650390517283e+01 6.3708382901218972e+00 6.3086387773319776e+00 0 0 0 +1117 0 1 0.0000000000000000e+00 6.0417895383407568e+01 4.2070121271460268e+00 4.0504398748576422e+00 0 0 0 +1116 0 1 0.0000000000000000e+00 5.8256427020876941e+01 5.7562225233661994e+00 5.7293184402674138e+00 0 0 0 +1115 0 1 0.0000000000000000e+00 5.5430217089361086e+01 3.9864756341239955e+00 3.9293351412299424e+00 0 0 0 +1114 0 1 0.0000000000000000e+00 5.4107611090486991e+01 6.7709645001393088e+00 6.1067040710247085e+00 0 0 0 +1631 0 1 0.0000000000000000e+00 6.4158413063238228e+01 2.1760363556803952e+01 3.7674111347122849e+00 0 0 0 +1630 0 1 0.0000000000000000e+00 6.2516839640712497e+01 2.3651698192952452e+01 6.5137297737065705e+00 0 0 0 +1629 0 1 0.0000000000000000e+00 5.8305681702200587e+01 2.3737937478788677e+01 1.3493351506495559e+00 0 0 0 +1628 0 1 0.0000000000000000e+00 5.9787853289476580e+01 2.2353974116598259e+01 4.5459578034063579e+00 0 0 0 +1627 0 1 0.0000000000000000e+00 5.6001837780527261e+01 2.1958502682947802e+01 4.0314241896274314e+00 0 0 0 +1626 0 1 0.0000000000000000e+00 5.4532814613446192e+01 2.4163089977256693e+01 6.7643129838278426e+00 0 0 0 +1793 0 1 0.0000000000000000e+00 3.8591566827246986e+01 1.5215000780221967e+01 1.1320983717710199e+01 0 0 0 +1552 0 1 0.0000000000000000e+00 6.6502406194212909e+01 1.9809288812490596e+01 2.3407250606984076e+00 0 0 0 +1835 0 1 0.0000000000000000e+00 5.6146582925709929e+01 2.5993535792528725e+01 1.6899890434319218e+01 0 0 0 +1104 0 1 0.0000000000000000e+00 6.6429475293179152e+01 1.9538883782751770e+00 5.9639779965797937e+00 0 0 0 +1616 0 1 0.0000000000000000e+00 6.6538467088040051e+01 1.9354314607348975e+01 6.2570388608055616e+00 0 0 0 +1102 0 1 0.0000000000000000e+00 6.2549086293023173e+01 2.2966806718601522e+00 5.7651521626657019e+00 0 0 0 +1274 0 1 0.0000000000000000e+00 5.3364412945994779e+01 1.4881481542135235e+01 1.4398481217222928e+01 0 0 0 +1100 0 1 0.0000000000000000e+00 5.7429215693014498e+01 1.7218928929308279e+00 6.4895756614949960e+00 0 0 0 +1775 0 1 0.0000000000000000e+00 6.4867862392739852e+01 2.6007488112653494e+01 1.2504319636949448e+01 0 0 0 +1098 0 1 0.0000000000000000e+00 5.3685668708412152e+01 2.1808131376280948e+00 5.9794550661298169e+00 0 0 0 +1614 0 1 0.0000000000000000e+00 6.2623055515421775e+01 1.9401867838307023e+01 5.7999031043354492e+00 0 0 0 +1786 0 1 0.0000000000000000e+00 5.4320035008876239e+01 3.2402184847404733e+01 1.4962767486111927e+01 0 0 0 +1275 0 1 0.0000000000000000e+00 5.5854994354777325e+01 1.2334476495950545e+01 1.2528622785880732e+01 0 0 0 +1612 0 1 0.0000000000000000e+00 5.8860298368841939e+01 1.9364751614463181e+01 6.2337608074649591e+00 0 0 0 +1276 0 1 0.0000000000000000e+00 5.7825449648743046e+01 1.4729028588285479e+01 1.4356706368805508e+01 0 0 0 +1787 0 1 0.0000000000000000e+00 5.6706127966906109e+01 2.9824237366062174e+01 1.2141861425912618e+01 0 0 0 +1610 0 1 0.0000000000000000e+00 5.5176286634250793e+01 1.9651834798991512e+01 6.2221230981550493e+00 0 0 0 +1788 0 1 0.0000000000000000e+00 5.8070846419730444e+01 3.2910696569086653e+01 1.5063237671705126e+01 0 0 0 +1277 0 1 0.0000000000000000e+00 6.0465892312468348e+01 1.2388747625112856e+01 1.2716955848507315e+01 0 0 0 +1088 0 1 0.0000000000000000e+00 6.7026496932887710e+01 1.5021784237784891e+01 2.0713472099008023e+00 0 0 0 +1259 0 1 0.0000000000000000e+00 5.5693561720998616e+01 8.4967311511960908e+00 1.2696680531115570e+01 0 0 0 +1086 0 1 0.0000000000000000e+00 6.3426138397880685e+01 1.4576403420581446e+01 1.9033244330516563e+00 0 0 0 +1258 0 1 0.0000000000000000e+00 5.4112676248333393e+01 1.0747612926261935e+01 1.5167658170388187e+01 0 0 0 +1084 0 1 0.0000000000000000e+00 5.8425398148953505e+01 1.5071564153507248e+01 1.4701858636415770e+00 0 0 0 +1260 0 1 0.0000000000000000e+00 5.8286767145388012e+01 1.0538298431764439e+01 1.4927007818176920e+01 0 0 0 +1082 0 1 0.0000000000000000e+00 5.4605892945444040e+01 1.5294890866272628e+01 1.3875239357886471e+00 0 0 0 +1261 0 1 0.0000000000000000e+00 6.0322496677548777e+01 8.7059506923831407e+00 1.2422112239922537e+01 0 0 0 +1568 0 1 0.0000000000000000e+00 6.6766100279890324e+01 2.3757664589319671e+01 2.3776189534032399e+00 0 0 0 +1262 0 1 0.0000000000000000e+00 6.2632436396232279e+01 1.0634050576714188e+01 1.4925329123286492e+01 0 0 0 +1789 0 1 0.0000000000000000e+00 5.9980537070527269e+01 3.0728882827186272e+01 1.2788147532272772e+01 0 0 0 +1675 0 1 0.0000000000000000e+00 5.5942114800132721e+01 1.7019050408874936e+01 8.6125710785864715e+00 0 0 0 +1600 0 1 0.0000000000000000e+00 6.7005378848205893e+01 3.2303908939094484e+01 2.2975733142009656e+00 0 0 0 +1279 0 1 0.0000000000000000e+00 6.4628643256548358e+01 1.2807096114759023e+01 1.3016750129850248e+01 0 0 0 +1770 0 1 0.0000000000000000e+00 5.5052888718679817e+01 2.8255628683615463e+01 1.5208632451642652e+01 0 0 0 +1598 0 1 0.0000000000000000e+00 6.2304312787990625e+01 3.2280760550333980e+01 1.7911583733196863e+00 0 0 0 +1072 0 1 0.0000000000000000e+00 6.6816753276256350e+01 1.1078911726087952e+01 2.0452908667932652e+00 0 0 0 +1343 0 1 0.0000000000000000e+00 6.4947179160075393e+01 1.3048115333550269e+01 1.6930188136049875e+01 0 0 0 +1070 0 1 0.0000000000000000e+00 6.2738669015664385e+01 1.0580684890367692e+01 1.4469007945679582e+00 0 0 0 +1743 0 1 0.0000000000000000e+00 6.4841390103357568e+01 1.7465772315696910e+01 1.2628044220126265e+01 0 0 0 +1068 0 1 0.0000000000000000e+00 5.8592051805758807e+01 1.0276469171158451e+01 1.7501561282886113e+00 0 0 0 +1771 0 1 0.0000000000000000e+00 5.5904789403229600e+01 2.5678654567975986e+01 1.2852738316044483e+01 0 0 0 +1066 0 1 0.0000000000000000e+00 5.3896606340767903e+01 1.0853531919148697e+01 1.7006593097088247e+00 0 0 0 +1596 0 1 0.0000000000000000e+00 5.8064495001443035e+01 3.1761937578597031e+01 1.3468863187972806e+00 0 0 0 +1594 0 1 0.0000000000000000e+00 5.3538997252052589e+01 3.2489056989483188e+01 1.9535593329236070e+00 0 0 0 +1584 0 1 0.0000000000000000e+00 6.6681004560358957e+01 2.7983376944979703e+01 2.4852269920721666e+00 0 0 0 +1803 0 1 0.0000000000000000e+00 5.5658393583882152e+01 1.7497234928656535e+01 1.6393592749349263e+01 0 0 0 +1582 0 1 0.0000000000000000e+00 6.2444482844564568e+01 2.7836735280966742e+01 1.7077457587279956e+00 0 0 0 +1580 0 1 0.0000000000000000e+00 5.8119506289575014e+01 2.7980877030077846e+01 1.2605251901823045e+00 0 0 0 +1227 0 1 0.0000000000000000e+00 5.5258867144285489e+01 3.7417909974509334e-01 1.2821990410372850e+01 0 0 0 +1578 0 1 0.0000000000000000e+00 5.3885338313809747e+01 2.7584247248134407e+01 2.1390356058176669e+00 0 0 0 +1280 0 1 0.0000000000000000e+00 6.6974485152515967e+01 1.5203674284779110e+01 1.4667635690915269e+01 0 0 0 +1056 0 1 0.0000000000000000e+00 6.7179159593551532e+01 6.6618252080372642e+00 1.5700661076590612e+00 0 0 0 +1551 0 1 0.0000000000000000e+00 6.4200821896656592e+01 1.7473877112936840e+01 3.4564452963472121e+01 0 0 -1 +1090 0 1 0.0000000000000000e+00 3.4980798051008435e+01 1.2340910255740294e+00 2.9770647775949890e+01 0 0 -1 +1442 0 1 0.0000000000000000e+00 3.4867515244263082e+01 1.5639610689729388e+01 2.8985979537302981e+01 0 0 0 +1761 0 1 0.0000000000000000e+00 6.8907965062199196e+01 2.5578083309589697e+01 1.2164605989205315e+01 -1 0 0 +2035 0 1 0.0000000000000000e+00 3.5276730496938988e+01 2.5410721915843084e+01 2.6019726163547631e+01 0 0 0 +1953 0 1 0.0000000000000000e+00 6.8383234865963800e+01 2.5984930842337384e+01 2.5150382624889954e+01 -1 0 0 +543 0 1 0.0000000000000000e+00 3.5517618160318797e+01 3.0754177147219700e+01 3.4050268269430966e+01 0 0 -1 +2129 0 1 0.0000000000000000e+00 6.8673474836518793e+01 4.3119736547437117e+00 4.5453120100775921e+00 0 0 0 +1585 0 1 0.0000000000000000e+00 3.5462812471008029e+01 4.0043906372371652e+00 3.3720818634660695e+01 0 1 -1 +1601 0 1 0.0000000000000000e+00 6.8921945728206765e+01 1.7566424967324426e+01 3.8801488142156741e+00 -1 0 0 +507 0 1 0.0000000000000000e+00 3.4914351135067193e+01 1.2149184855081188e+01 4.2107067636276190e+00 -1 0 0 +2401 0 1 0.0000000000000000e+00 6.8838471828017461e+01 8.1969909790763680e+00 2.1308401978700733e+01 0 0 0 +2225 0 1 0.0000000000000000e+00 6.8760941469488216e+01 1.2666445838547631e+01 8.6987858224307022e+00 0 0 0 +1137 0 1 0.0000000000000000e+00 6.8574193953824491e+01 1.3274892737369148e+01 4.2364746920973362e+00 -1 0 0 +2353 0 1 0.0000000000000000e+00 6.8857934481020621e+01 1.2996984656488481e+01 1.6760786139796782e+01 0 0 0 +1202 0 1 0.0000000000000000e+00 3.4783504721504940e+01 1.8315253797692431e+01 8.2913227465766024e+00 0 0 0 +1729 0 1 0.0000000000000000e+00 6.8726227427331438e+01 1.7265765835672870e+01 1.2321796125091380e+01 -1 0 0 +720 0 1 0.0000000000000000e+00 3.4750484036911473e+01 1.4757246490213653e+01 3.2743434976661447e+01 0 1 -1 +1569 0 1 0.0000000000000000e+00 6.8831698824502865e+01 2.6300347179735578e+01 2.3045481909889992e-01 -1 0 0 +2721 0 1 0.0000000000000000e+00 6.8070527265605648e+01 2.6268157464069471e+01 8.4169960240277888e+00 0 0 0 +913 0 1 0.0000000000000000e+00 3.5018827033901481e+01 2.0974326333827033e+01 2.6121985281079432e+01 -1 0 0 +1586 0 1 0.0000000000000000e+00 3.5083337103677771e+01 2.4770606827102057e+01 3.4001613283752349e+01 0 0 -1 +1745 0 1 0.0000000000000000e+00 6.8677916816581032e+01 2.1444493633527525e+01 1.2095272579661179e+01 -1 0 0 +2177 0 1 0.0000000000000000e+00 6.9088701696282371e+01 3.4338413712934681e+01 7.8066050945746310e+00 0 -1 0 +1825 0 1 0.0000000000000000e+00 3.4835483358231421e+01 2.5648667704431389e+01 1.6263088456540423e+01 0 0 0 +1281 0 1 0.0000000000000000e+00 6.9066482983981246e+01 3.4544576936390129e+01 1.7282522634147782e+01 -1 -1 0 +2513 0 1 0.0000000000000000e+00 6.8777594145559291e+01 4.3769614562405499e+00 2.9950642753634746e+01 0 0 0 +1121 0 1 0.0000000000000000e+00 6.8776118431124630e+01 8.4543733559841918e+00 3.8111012206211305e+00 -1 0 0 +1441 0 1 0.0000000000000000e+00 6.9060069745019803e+01 8.4141570008285793e+00 2.5884276827956704e+01 -1 0 0 +2337 0 1 0.0000000000000000e+00 6.9179130902630078e+01 8.4444207412345573e+00 1.6994665378202278e+01 0 0 0 +2801 0 1 0.0000000000000000e+00 6.8728901093819957e+01 3.0291049031752415e+01 1.2773501280464391e+01 0 0 0 +2561 0 1 0.0000000000000000e+00 6.7985897320662133e+01 1.7722606980998574e+01 3.4199732316972366e+01 0 0 -1 +2193 0 1 0.0000000000000000e+00 6.8335287732035312e+01 4.0384470249388071e+00 8.3085597274304046e+00 0 0 0 +1073 0 1 0.0000000000000000e+00 6.8921902873730446e+01 1.2797313059507275e+01 3.4107533971561203e+01 -1 0 -1 +1633 0 1 0.0000000000000000e+00 6.8447448073120896e+01 2.6220566125111930e+01 4.2257999294355582e+00 -1 0 0 +1649 0 1 0.0000000000000000e+00 6.9173941038939702e+01 3.0421759742177798e+01 4.6141806515044097e+00 -1 0 0 +1841 0 1 0.0000000000000000e+00 6.9087169796747347e+01 2.9990395595814114e+01 1.6901348518804888e+01 -1 0 0 +1393 0 1 0.0000000000000000e+00 6.8819240734608499e+01 1.2864375550795755e+01 2.0753986118486733e+01 -1 0 0 +2257 0 1 0.0000000000000000e+00 6.9068438968507039e+01 3.9674694033254196e+00 1.2729677800083016e+01 0 0 0 +1297 0 1 0.0000000000000000e+00 6.8862606179014321e+01 4.0148836018445984e+00 1.6898672806010143e+01 -1 0 0 +2289 0 1 0.0000000000000000e+00 6.8944134289499232e+01 1.3299305460988865e+01 1.2499737191210674e+01 0 0 0 +1889 0 1 0.0000000000000000e+00 6.8791107034926540e+01 2.5785430467941044e+01 2.1152331232072584e+01 -1 0 0 +2209 0 1 0.0000000000000000e+00 6.8660093321318556e+01 8.6425987831108824e+00 8.9186164320415795e+00 0 0 0 +2609 0 1 0.0000000000000000e+00 6.8861924183470791e+01 2.9991495541130909e+01 6.6724966273087039e-01 0 0 0 +2113 0 1 0.0000000000000000e+00 6.8796836820639371e+01 3.4002800119193438e+01 4.3720410391258433e+00 0 -1 0 +1969 0 1 0.0000000000000000e+00 6.8840258129273124e+01 2.9507597943807745e+01 2.4737842463100609e+01 -1 0 0 +3057 0 1 0.0000000000000000e+00 6.9017762235842781e+01 3.0507910433884149e+01 3.0188785712469947e+01 0 0 0 +1457 0 1 0.0000000000000000e+00 6.8704390568632988e+01 1.3087399874117862e+01 2.5117158575881007e+01 -1 0 0 +2081 0 1 0.0000000000000000e+00 6.9068005377555551e+01 8.8459208430122498e+00 3.4081603238322479e+01 0 0 -1 +2001 0 1 0.0000000000000000e+00 6.8924084389282413e+01 2.1723133872946715e+01 2.9629994276714125e+01 -1 0 0 +1873 0 1 0.0000000000000000e+00 6.9121252803195560e+01 2.1550245400825048e+01 2.1084853193551904e+01 -1 0 0 +1474 0 1 0.0000000000000000e+00 3.4823872843370395e+01 4.5433815928639110e+00 2.9712083414357888e+01 0 0 0 +1298 0 1 0.0000000000000000e+00 3.4617425465982699e+01 5.8305692526902071e+00 1.7819669025126277e+01 0 0 0 +1139 0 1 0.0000000000000000e+00 3.5129757611210692e+01 7.1859278785822447e+00 1.1592210805387626e+01 0 0 0 +1282 0 1 0.0000000000000000e+00 3.4626833772274203e+01 5.0392687269706871e+00 2.6359452955247129e+01 0 0 0 +399 0 1 0.0000000000000000e+00 3.4941250710654806e+01 3.3219012630309862e+01 4.5459988090628709e+00 -1 -1 0 +2050 0 1 0.0000000000000000e+00 7.0945966046070723e+01 2.5097390299647611e+00 1.5401118181675537e+00 0 0 0 +2307 0 1 0.0000000000000000e+00 7.3194718924037943e+01 3.4824251914014509e-01 1.7365188966800375e+01 0 0 0 +2563 0 1 0.0000000000000000e+00 7.3579052547573397e+01 1.7720609016781825e+01 3.3928605776223051e+01 0 0 -1 +2099 0 1 0.0000000000000000e+00 7.2904142337028674e+01 1.2670993807876235e+01 3.4094487123708340e+01 0 0 -1 +2853 0 1 0.0000000000000000e+00 7.6662055608233430e+01 2.6042846602532983e+01 1.7004250529941533e+01 0 0 0 +2052 0 1 0.0000000000000000e+00 7.5663533971981821e+01 2.1078479115351816e+00 1.9507383928166619e+00 0 0 0 +2085 0 1 0.0000000000000000e+00 7.7367911014384802e+01 8.7424826940906897e+00 3.4191857520624133e+01 0 0 -1 +2355 0 1 0.0000000000000000e+00 7.3194827508913832e+01 1.3077932443624377e+01 1.6526585233113181e+01 0 0 0 +2066 0 1 0.0000000000000000e+00 7.1158868151223402e+01 6.0797350109405341e+00 1.7385781955658395e+00 0 0 0 +2613 0 1 0.0000000000000000e+00 7.8145182713362004e+01 2.9917392419212568e+01 2.5394788781749800e-01 0 0 0 +2068 0 1 0.0000000000000000e+00 7.5309524333183717e+01 6.6494197264656272e+00 2.1654593346549698e+00 0 0 0 +2323 0 1 0.0000000000000000e+00 7.3021592258369068e+01 4.5266790506765062e+00 1.6938738592578062e+01 0 0 0 +2357 0 1 0.0000000000000000e+00 7.7657939623591531e+01 1.2813628518636694e+01 1.7060641612516378e+01 0 0 0 +3044 0 1 0.0000000000000000e+00 7.5552416332421572e+01 2.7622465293954171e+01 3.1830175214872529e+01 0 0 0 +2082 0 1 0.0000000000000000e+00 7.0683189362494005e+01 1.1164496776689042e+01 2.2986176836504351e+00 0 0 0 +2084 0 1 0.0000000000000000e+00 7.4923765001232852e+01 1.0529387121866199e+01 1.7622026063076754e+00 0 0 0 +3043 0 1 0.0000000000000000e+00 7.3100983293821301e+01 2.6414019829026792e+01 2.9954621217165453e+01 0 0 0 +3633 0 1 0.0000000000000000e+00 1.0087912754061816e+02 1.0193793453343261e+01 1.0210909546670557e+01 1 1 -1 +2341 0 1 0.0000000000000000e+00 7.8159164598230547e+01 8.3093305364810188e+00 1.6664168143963753e+01 0 0 0 +2557 0 1 0.0000000000000000e+00 9.7010441592230620e+01 1.4839643364015656e+01 2.8071896407390614e+01 0 0 0 +2098 0 1 0.0000000000000000e+00 7.1277781105129989e+01 1.5353576362110738e+01 2.0376290612457435e+00 0 0 0 +3042 0 1 0.0000000000000000e+00 7.0668384949172804e+01 2.7989493712870740e+01 3.2143844983360772e+01 0 0 0 +3028 0 1 0.0000000000000000e+00 7.5466489290003580e+01 2.3872126119621278e+01 3.2308244230942535e+01 0 0 0 +3027 0 1 0.0000000000000000e+00 7.2967245598980099e+01 2.2015430319175334e+01 3.0145673932509467e+01 0 0 0 +3026 0 1 0.0000000000000000e+00 7.0970613747889303e+01 2.4047978946011526e+01 3.2386746088132540e+01 0 0 0 +2883 0 1 0.0000000000000000e+00 7.3170691153099398e+01 1.6940775495365468e+01 2.0565162285480415e+01 0 0 0 +3058 0 1 0.0000000000000000e+00 7.1295364053976357e+01 3.1825922410427658e+01 3.2335655859349124e+01 0 0 0 +2100 0 1 0.0000000000000000e+00 7.4840165841418809e+01 1.4864804486668264e+01 1.5731910261394804e+00 0 0 0 +3059 0 1 0.0000000000000000e+00 7.2534062292532766e+01 2.9690748450670643e+01 3.0175040130006963e+01 0 0 0 +3060 0 1 0.0000000000000000e+00 7.5371936187345057e+01 3.1481539248131742e+01 3.2469083536510482e+01 0 0 0 +2114 0 1 0.0000000000000000e+00 7.1012290785063158e+01 2.2959207772354926e+00 5.5106462582905253e+00 0 0 0 +2116 0 1 0.0000000000000000e+00 7.5643250004050614e+01 2.0922906981265892e+00 5.7170231600021006e+00 0 0 0 +3012 0 1 0.0000000000000000e+00 7.5158308189412494e+01 1.9550936346578467e+01 3.1618734325087640e+01 0 0 0 +3010 0 1 0.0000000000000000e+00 7.0877392978561247e+01 1.9367003028171975e+01 3.2146670468226773e+01 0 0 0 +2997 0 1 0.0000000000000000e+00 7.6712930234899218e+01 3.0000910038289071e+01 2.5871279835552702e+01 0 0 0 +2996 0 1 0.0000000000000000e+00 7.5247738251111386e+01 3.2310563151012609e+01 2.8230131770191594e+01 0 0 0 +2995 0 1 0.0000000000000000e+00 7.3325146314892564e+01 2.9893029063480327e+01 2.4953065956400138e+01 0 0 0 +2994 0 1 0.0000000000000000e+00 7.1393752490001376e+01 3.1843077060244358e+01 2.7404777497181044e+01 0 0 0 +2981 0 1 0.0000000000000000e+00 7.7788425695144497e+01 2.5722378480852278e+01 2.5044865116451490e+01 0 0 0 +2980 0 1 0.0000000000000000e+00 7.5262198867346896e+01 2.7325883435322421e+01 2.7381379852091378e+01 0 0 0 +2277 0 1 0.0000000000000000e+00 7.7713163723216539e+01 8.5768184778186960e+00 1.2726448959414425e+01 0 0 0 +3692 0 1 0.0000000000000000e+00 1.0129827281480186e+02 3.1883859575085275e+01 1.1633821029723739e+01 0 0 0 +2130 0 1 0.0000000000000000e+00 7.1490181456489879e+01 6.7493836331838466e+00 6.4932207185098241e+00 0 0 0 +2131 0 1 0.0000000000000000e+00 7.3632645420982627e+01 4.0614825871073021e+00 4.0198640316888890e+00 0 0 0 +2132 0 1 0.0000000000000000e+00 7.5345953970874675e+01 6.7087439707625380e+00 5.9574119996782686e+00 0 0 0 +2146 0 1 0.0000000000000000e+00 7.1345545354850231e+01 1.0667196350511226e+01 6.2931725128201910e+00 0 0 0 +2147 0 1 0.0000000000000000e+00 7.2760528970054310e+01 8.4095791505046655e+00 3.6073492600920227e+00 0 0 0 +2148 0 1 0.0000000000000000e+00 7.4615428563330070e+01 1.1051204599468925e+01 6.3627145860440848e+00 0 0 0 +2979 0 1 0.0000000000000000e+00 7.3033473393642950e+01 2.5710178303246735e+01 2.5378220554266704e+01 0 0 0 +2978 0 1 0.0000000000000000e+00 7.1269387839306532e+01 2.7769084279597756e+01 2.7183017801447900e+01 0 0 0 +2965 0 1 0.0000000000000000e+00 7.7205070506479828e+01 2.1758119209281912e+01 2.5420103840600419e+01 0 0 0 +2964 0 1 0.0000000000000000e+00 7.5116536229129224e+01 2.3589645399783201e+01 2.7826484276277753e+01 0 0 0 +2963 0 1 0.0000000000000000e+00 7.3576984600964536e+01 2.1341742280376796e+01 2.5361833825137850e+01 0 0 0 +2962 0 1 0.0000000000000000e+00 7.0798780558654840e+01 2.4100509706432156e+01 2.7328875117761395e+01 0 0 0 +2499 0 1 0.0000000000000000e+00 7.3508068061734278e+01 3.4311036138221560e+01 3.0241124234049085e+01 0 -1 0 +2948 0 1 0.0000000000000000e+00 7.5204036749609543e+01 1.9450981164323728e+01 2.7768671051671756e+01 0 0 0 +2149 0 1 0.0000000000000000e+00 7.7321176198565126e+01 8.6974481551468816e+00 4.0986311438658722e+00 0 0 0 +2162 0 1 0.0000000000000000e+00 7.1208558000747189e+01 1.5011624227052241e+01 6.0522551625250340e+00 0 0 0 +2163 0 1 0.0000000000000000e+00 7.2982763185031246e+01 1.3103124151245270e+01 3.5082844313946406e+00 0 0 0 +2164 0 1 0.0000000000000000e+00 7.5741252575729973e+01 1.4948311436107952e+01 5.3932220802261819e+00 0 0 0 +2178 0 1 0.0000000000000000e+00 7.0999324175194758e+01 2.0836337407591410e+00 1.0166604459270248e+01 0 0 0 +2180 0 1 0.0000000000000000e+00 7.5658151336831878e+01 1.5932545398537534e+00 1.0241800488649963e+01 0 0 0 +2382 0 1 0.0000000000000000e+00 9.7144314525553725e+01 1.6460181877567144e+00 2.3251254894132348e+01 0 0 0 +2293 0 1 0.0000000000000000e+00 7.7627206759531830e+01 1.2685639610633521e+01 1.2545531715829027e+01 0 0 0 +2194 0 1 0.0000000000000000e+00 7.0773682965895404e+01 6.3658390181293250e+00 1.0702024206366525e+01 0 0 0 +2946 0 1 0.0000000000000000e+00 7.1475013609784369e+01 1.9760673027831970e+01 2.7148366709373668e+01 0 0 0 +2195 0 1 0.0000000000000000e+00 7.3554623654098009e+01 4.1874203363503772e+00 8.5130936485404067e+00 0 0 0 +2933 0 1 0.0000000000000000e+00 7.7509247850943183e+01 3.0476113841147960e+01 2.0673946760305480e+01 0 0 0 +2932 0 1 0.0000000000000000e+00 7.5815409357868731e+01 3.2740329011171546e+01 2.3370447839113453e+01 0 0 0 +2931 0 1 0.0000000000000000e+00 7.3084031035810156e+01 3.0618182405519036e+01 2.1029743003992685e+01 0 0 0 +2930 0 1 0.0000000000000000e+00 7.1311240752241588e+01 3.2659850536024720e+01 2.3372706538812913e+01 0 0 0 +2917 0 1 0.0000000000000000e+00 7.7291901417228871e+01 2.5997507402090104e+01 2.1131692920589202e+01 0 0 0 +2916 0 1 0.0000000000000000e+00 7.5394536799113993e+01 2.7616943899390236e+01 2.3282135375209020e+01 0 0 0 +2196 0 1 0.0000000000000000e+00 7.5475636947910886e+01 6.6214808561152489e+00 1.0425175363295834e+01 0 0 0 +2197 0 1 0.0000000000000000e+00 7.7189454378772169e+01 4.3985103306493816e+00 7.8605972575395908e+00 0 0 0 +2540 0 1 0.0000000000000000e+00 9.4964908081802378e+01 1.2679660962498367e+01 3.0618783287652040e+01 0 0 0 +2210 0 1 0.0000000000000000e+00 7.1065347506385933e+01 1.0635956365783811e+01 1.0836999191364011e+01 0 0 0 +2211 0 1 0.0000000000000000e+00 7.3053382475466222e+01 8.4053052384246385e+00 8.9423623999224304e+00 0 0 0 +2212 0 1 0.0000000000000000e+00 7.5296374905949946e+01 1.0738021397602825e+01 1.0792892113343582e+01 0 0 0 +2213 0 1 0.0000000000000000e+00 7.7467245278650978e+01 8.7803964904289185e+00 8.5434201113011845e+00 0 0 0 +2915 0 1 0.0000000000000000e+00 7.3102996678919240e+01 2.5746794909038016e+01 2.1202139678609804e+01 0 0 0 +2914 0 1 0.0000000000000000e+00 7.1094746666029920e+01 2.8195961941276632e+01 2.2779303771881239e+01 0 0 0 +2901 0 1 0.0000000000000000e+00 7.7637030311303121e+01 2.1711472010600623e+01 2.0619717944148547e+01 0 0 0 +2900 0 1 0.0000000000000000e+00 7.5235638117012201e+01 2.3733416376369444e+01 2.3645833050519030e+01 0 0 0 +2899 0 1 0.0000000000000000e+00 7.2864107145943336e+01 2.2378490342278962e+01 2.1317263342007220e+01 0 0 0 +2898 0 1 0.0000000000000000e+00 7.0340897453579046e+01 2.3927533586929080e+01 2.3309809312387600e+01 0 0 0 +2947 0 1 0.0000000000000000e+00 7.3392430318009517e+01 1.7386481350092854e+01 2.4802838924416534e+01 0 0 0 +2884 0 1 0.0000000000000000e+00 7.5248164712434743e+01 1.9474800933589478e+01 2.2317010458344988e+01 0 0 0 +2882 0 1 0.0000000000000000e+00 7.1126618264652322e+01 1.9535647817680090e+01 2.3283997173427608e+01 0 0 0 +2380 0 1 0.0000000000000000e+00 9.2730307638795509e+01 2.4798658913324902e+00 2.3299437747356816e+01 0 0 0 +2226 0 1 0.0000000000000000e+00 7.0313002688542156e+01 1.5533494682164582e+01 1.0392407894202567e+01 0 0 0 +2227 0 1 0.0000000000000000e+00 7.2956755511403500e+01 1.3565207001878424e+01 8.2060474116721664e+00 0 0 0 +2228 0 1 0.0000000000000000e+00 7.5503385724963138e+01 1.5637125112314900e+01 1.0575699095830768e+01 0 0 0 +2229 0 1 0.0000000000000000e+00 7.7045430906379295e+01 1.3159714355063786e+01 8.2445656686373354e+00 0 0 0 +2292 0 1 0.0000000000000000e+00 7.5566637127905480e+01 1.5149367241374783e+01 1.4644614530085290e+01 0 0 0 +2242 0 1 0.0000000000000000e+00 7.1541006867003574e+01 2.2881314915694513e+00 1.4891398182100989e+01 0 0 0 +2558 0 1 0.0000000000000000e+00 9.6736758691617950e+01 1.4924947286339357e+01 1.8950882613035487e+00 0 0 1 +2868 0 1 0.0000000000000000e+00 7.5242059160020418e+01 3.2905507499197505e+01 1.9112175996952715e+01 0 0 0 +2866 0 1 0.0000000000000000e+00 7.1241285560559120e+01 3.2182041945993461e+01 1.9322688261223007e+01 0 0 0 +2291 0 1 0.0000000000000000e+00 7.3306449580958983e+01 1.2919503807835898e+01 1.2634861301423291e+01 0 0 0 +2869 0 1 0.0000000000000000e+00 7.7069920213900559e+01 3.0602786444582378e+01 1.6867619481009424e+01 0 0 0 +2852 0 1 0.0000000000000000e+00 7.4890468540923194e+01 2.8342953107410985e+01 1.9439725061011448e+01 0 0 0 +2850 0 1 0.0000000000000000e+00 7.0677026811887302e+01 2.7688161310927665e+01 1.9406825898618351e+01 0 0 0 +2867 0 1 0.0000000000000000e+00 7.3159432113966815e+01 3.0049540837947273e+01 1.6920406120303891e+01 0 0 0 +2244 0 1 0.0000000000000000e+00 7.5630217414388937e+01 2.2379092450092282e+00 1.4493775694409530e+01 0 0 0 +2290 0 1 0.0000000000000000e+00 7.1049366111311286e+01 1.5167085621238705e+01 1.4466136144100858e+01 0 0 0 +2689 0 1 0.0000000000000000e+00 6.9350728878455911e+01 1.7346850790617346e+01 7.7553999985106046e+00 0 0 0 +2179 0 1 0.0000000000000000e+00 7.2939123697188776e+01 3.2586297667676234e-01 8.1987255022893049e+00 0 0 0 +2378 0 1 0.0000000000000000e+00 8.8728336464365711e+01 2.1368430872295701e+00 2.3493832560775481e+01 0 0 0 +2258 0 1 0.0000000000000000e+00 7.0929402295469728e+01 6.1926979225491898e+00 1.5106716558861383e+01 0 0 0 +2259 0 1 0.0000000000000000e+00 7.3024133491995954e+01 4.1986184418326591e+00 1.2273902518080607e+01 0 0 0 +2851 0 1 0.0000000000000000e+00 7.2905023569537647e+01 2.5739209867455632e+01 1.6449392347790898e+01 0 0 0 +2837 0 1 0.0000000000000000e+00 7.7472820442771749e+01 2.2034956100150779e+01 1.6741115010127807e+01 0 0 0 +2260 0 1 0.0000000000000000e+00 7.5537660862562376e+01 6.2960314519162655e+00 1.4981886168066563e+01 0 0 0 +2611 0 1 0.0000000000000000e+00 7.2854317215324727e+01 2.9303254871680991e+01 3.4389378255256972e+01 0 0 -1 +2836 0 1 0.0000000000000000e+00 7.4945560427187331e+01 2.3813075646670306e+01 1.8674750165273824e+01 0 0 0 +2834 0 1 0.0000000000000000e+00 7.0853908613786373e+01 2.3820045612537886e+01 1.8805401442939335e+01 0 0 0 +2261 0 1 0.0000000000000000e+00 7.7724749123808479e+01 4.1200763394005735e+00 1.2519515973918111e+01 0 0 0 +2820 0 1 0.0000000000000000e+00 7.5060140110668328e+01 1.9613218016713596e+01 1.8593630072281293e+01 0 0 0 +2818 0 1 0.0000000000000000e+00 7.1456601355507402e+01 1.9711097245324208e+01 1.8657543434916455e+01 0 0 0 +2329 0 1 0.0000000000000000e+00 8.6702927948542097e+01 4.3351382360514430e+00 1.7004422363409688e+01 0 0 0 +2579 0 1 0.0000000000000000e+00 7.3220590435721022e+01 2.2372682460442615e+01 3.4168012907888695e+01 0 0 -1 +2274 0 1 0.0000000000000000e+00 7.1072686672177724e+01 1.0864585716982148e+01 1.4480810281907843e+01 0 0 0 +2565 0 1 0.0000000000000000e+00 7.7671994447098797e+01 1.7202942670219031e+01 3.4126665489120434e+01 0 0 -1 +2275 0 1 0.0000000000000000e+00 7.2938150930502729e+01 8.2470458699062856e+00 1.3244913907908455e+01 0 0 0 +2595 0 1 0.0000000000000000e+00 7.3130493954066466e+01 2.5690285486410296e+01 2.4664072493347598e-02 0 0 0 +2276 0 1 0.0000000000000000e+00 7.5598227609831440e+01 1.0534920335597523e+01 1.4710172352252181e+01 0 0 0 +2757 0 1 0.0000000000000000e+00 7.8003898213732384e+01 1.6910549467339123e+01 1.2384100830399566e+01 0 0 0 +2581 0 1 0.0000000000000000e+00 7.7184775348543297e+01 2.1951090776269996e+01 3.4500290493453704e+01 0 0 -1 +2394 0 1 0.0000000000000000e+00 8.8159619880840140e+01 7.1322797065760684e+00 2.3224620691807893e+01 0 0 0 +2393 0 1 0.0000000000000000e+00 8.6939354681441102e+01 4.3552317201061754e+00 2.1342780765780883e+01 0 0 0 +2181 0 1 0.0000000000000000e+00 7.7645194712048621e+01 3.4233628599785369e+01 8.2150697719394614e+00 0 -1 0 +2789 0 1 0.0000000000000000e+00 7.7514741694867425e+01 2.5640795065609495e+01 1.2634108114399107e+01 0 0 0 +2788 0 1 0.0000000000000000e+00 7.5061194870034043e+01 2.8062145686328968e+01 1.4571428155413484e+01 0 0 0 +2787 0 1 0.0000000000000000e+00 7.3605413382385493e+01 2.5896090075799666e+01 1.2031446173431846e+01 0 0 0 +2083 0 1 0.0000000000000000e+00 7.2410314099505840e+01 9.1226038959812499e+00 3.4170830060607472e+01 0 0 -1 +2449 0 1 0.0000000000000000e+00 6.9683934532348886e+01 3.5709235257756342e+00 2.5679141347319813e+01 0 0 0 +2325 0 1 0.0000000000000000e+00 7.8083997113214608e+01 4.4830400681017251e+00 1.6591421625414831e+01 0 0 0 +2306 0 1 0.0000000000000000e+00 7.0916681152228051e+01 2.0118073510839625e+00 1.9166727432543023e+01 0 0 0 +2308 0 1 0.0000000000000000e+00 7.5735534209335754e+01 2.7009576971013827e+00 1.8899131343354764e+01 0 0 0 +2322 0 1 0.0000000000000000e+00 7.0870320643807631e+01 6.1625857348490900e+00 1.9030208592281245e+01 0 0 0 +2324 0 1 0.0000000000000000e+00 7.6384282051831164e+01 6.2999027079893999e+00 1.8847768670017075e+01 0 0 0 +3013 0 1 0.0000000000000000e+00 7.7342239707191837e+01 1.6998575276367557e+01 2.9875473534439738e+01 0 0 0 +3011 0 1 0.0000000000000000e+00 7.3418078316406266e+01 1.7183587293380665e+01 2.9362350995657476e+01 0 0 0 +2786 0 1 0.0000000000000000e+00 7.1282880089268943e+01 2.7801368943608196e+01 1.4031452418084742e+01 0 0 0 +2773 0 1 0.0000000000000000e+00 7.8060427237073000e+01 2.1662604160107655e+01 1.2782948597042594e+01 0 0 0 +2772 0 1 0.0000000000000000e+00 7.5501198068216667e+01 2.3502196510933530e+01 1.4587008339915524e+01 0 0 0 +2771 0 1 0.0000000000000000e+00 7.2934410860764288e+01 2.1843050191164732e+01 1.1717300816795682e+01 0 0 0 +2770 0 1 0.0000000000000000e+00 7.0833233733722764e+01 2.3773193863375177e+01 1.4135687604776999e+01 0 0 0 +2756 0 1 0.0000000000000000e+00 7.5735910455284824e+01 1.9485899178557812e+01 1.4235988183405803e+01 0 0 0 +2392 0 1 0.0000000000000000e+00 8.4466257101616335e+01 7.0353736356070895e+00 2.3996497754736808e+01 0 0 0 +2338 0 1 0.0000000000000000e+00 7.1043395466582055e+01 1.0701883700186887e+01 1.8906848352114434e+01 0 0 0 +2340 0 1 0.0000000000000000e+00 7.5088058204733500e+01 1.0953860895667781e+01 1.8718755807960985e+01 0 0 0 +2354 0 1 0.0000000000000000e+00 7.0930374565029965e+01 1.4997564618264185e+01 1.8606815168535938e+01 0 0 0 +2356 0 1 0.0000000000000000e+00 7.5188919078997444e+01 1.4865595970435388e+01 1.8982944110833255e+01 0 0 0 +2370 0 1 0.0000000000000000e+00 7.1576581805404658e+01 1.9972938288337707e+00 2.3092608653223465e+01 0 0 0 +2372 0 1 0.0000000000000000e+00 7.5553789632947911e+01 2.1958071939890762e+00 2.3446872745890968e+01 0 0 0 +2386 0 1 0.0000000000000000e+00 7.1623396656933480e+01 6.9046569938349984e+00 2.3491994332776844e+01 0 0 0 +2387 0 1 0.0000000000000000e+00 7.3200319073786090e+01 4.4559164187761606e+00 2.0915092106202646e+01 0 0 0 +2754 0 1 0.0000000000000000e+00 7.1365844673489718e+01 1.9138220940201638e+01 1.4380728619815368e+01 0 0 0 +2741 0 1 0.0000000000000000e+00 7.7666140907132174e+01 3.0704734609669249e+01 8.3109096482183382e+00 0 0 0 +2740 0 1 0.0000000000000000e+00 7.5411875620567599e+01 3.2688578803905436e+01 1.0395704794894401e+01 0 0 0 +2739 0 1 0.0000000000000000e+00 7.3221331352897124e+01 3.0415994904073678e+01 8.1600213444908416e+00 0 0 0 +2738 0 1 0.0000000000000000e+00 7.1110477740458080e+01 3.2534805324146618e+01 1.0458126075287376e+01 0 0 0 +2384 0 1 0.0000000000000000e+00 9.8735185585937415e+01 4.5002086022793559e+00 2.0781846309546385e+01 0 0 0 +2724 0 1 0.0000000000000000e+00 7.5506111647966378e+01 2.8506703783793355e+01 1.0666515828263337e+01 0 0 0 +2723 0 1 0.0000000000000000e+00 7.3886376594044094e+01 2.5414714013882779e+01 8.1425503979683462e+00 0 0 0 +2388 0 1 0.0000000000000000e+00 7.5384049299500305e+01 6.7860858532347503e+00 2.3429638568822785e+01 0 0 0 +2389 0 1 0.0000000000000000e+00 7.7784084272988110e+01 4.5301809943889255e+00 2.1108950001907353e+01 0 0 0 +2391 0 1 0.0000000000000000e+00 8.2462539210053620e+01 4.9643892002137093e+00 2.1217776073071686e+01 0 0 0 +2402 0 1 0.0000000000000000e+00 7.1282159973684202e+01 1.0960703300890628e+01 2.2935156639122063e+01 0 0 0 +2403 0 1 0.0000000000000000e+00 7.3563759055843519e+01 8.3872136491752283e+00 2.0591016435909381e+01 0 0 0 +2404 0 1 0.0000000000000000e+00 7.5414483724204302e+01 1.0927505228037599e+01 2.3268033051895042e+01 0 0 0 +2405 0 1 0.0000000000000000e+00 7.7584758832034780e+01 9.2260957389354807e+00 2.0793406199562039e+01 0 0 0 +2418 0 1 0.0000000000000000e+00 7.0401121821792884e+01 1.5236813034479955e+01 2.2672631614321752e+01 0 0 0 +2722 0 1 0.0000000000000000e+00 7.1279659326592281e+01 2.7588379821817149e+01 9.9095286342042925e+00 0 0 0 +2419 0 1 0.0000000000000000e+00 7.3007650055318535e+01 1.2842889878719273e+01 2.1088240872345935e+01 0 0 0 +2709 0 1 0.0000000000000000e+00 7.7943253616228247e+01 2.1558090115825220e+01 8.3629361729682863e+00 0 0 0 +2708 0 1 0.0000000000000000e+00 7.5928468862964877e+01 2.3344421804041875e+01 1.0427822841422389e+01 0 0 0 +2707 0 1 0.0000000000000000e+00 7.3597285793082960e+01 2.1322680587653640e+01 7.6917715265648292e+00 0 0 0 +2706 0 1 0.0000000000000000e+00 7.0732475417704947e+01 2.3511648311333865e+01 9.9298797893117428e+00 0 0 0 +2420 0 1 0.0000000000000000e+00 7.5355841413062308e+01 1.5403996138430783e+01 2.3155571887198583e+01 0 0 0 +2802 0 1 0.0000000000000000e+00 7.1058278289985196e+01 3.2583006940530964e+01 1.4886809458670298e+01 0 0 0 +2803 0 1 0.0000000000000000e+00 7.3026059095058599e+01 3.0626855197841053e+01 1.2146419924080325e+01 0 0 0 +2804 0 1 0.0000000000000000e+00 7.4903316477956011e+01 3.2316867972718143e+01 1.5096977416281817e+01 0 0 0 +2421 0 1 0.0000000000000000e+00 7.7384414569008442e+01 1.3504239159813245e+01 2.1504109958281351e+01 0 0 0 +1025 0 1 0.0000000000000000e+00 6.9287559861036883e+01 8.7127518081236338e-02 3.4443385261998557e+01 -1 0 -1 +2434 0 1 0.0000000000000000e+00 7.1407497755346952e+01 1.8967269616666125e+00 2.8095918337091803e+01 0 0 0 +2436 0 1 0.0000000000000000e+00 7.4884253601510281e+01 1.9629144540323664e+00 2.7431385628865222e+01 0 0 0 +2390 0 1 0.0000000000000000e+00 7.9802053360432552e+01 6.6232656948490414e+00 2.3329149185567434e+01 0 0 0 +2450 0 1 0.0000000000000000e+00 7.1243099542231491e+01 6.5197660540346583e+00 2.7473323314330628e+01 0 0 0 +2451 0 1 0.0000000000000000e+00 7.2727071893423727e+01 4.3593176882057216e+00 2.5407246711145348e+01 0 0 0 +2452 0 1 0.0000000000000000e+00 7.5289686733356149e+01 6.3211281753759794e+00 2.7211395585437778e+01 0 0 0 +2453 0 1 0.0000000000000000e+00 7.7945251037730657e+01 4.1128324015792446e+00 2.5524269614935644e+01 0 0 0 +2805 0 1 0.0000000000000000e+00 7.7515640466643802e+01 3.0526032955044592e+01 1.2323665809081890e+01 0 0 0 +2692 0 1 0.0000000000000000e+00 7.5699123970776569e+01 1.9657259374235323e+01 1.0596410654163451e+01 0 0 0 +2690 0 1 0.0000000000000000e+00 7.1430651082087195e+01 1.9340295768899527e+01 1.0267995157160158e+01 0 0 0 +2466 0 1 0.0000000000000000e+00 7.0838914584364872e+01 1.1483908804272327e+01 2.7317110597836919e+01 0 0 0 +2677 0 1 0.0000000000000000e+00 7.7952176149282749e+01 3.0546770359568690e+01 4.2584787408692630e+00 0 0 0 +2467 0 1 0.0000000000000000e+00 7.2576493022055999e+01 9.1693810244193994e+00 2.5827363933641927e+01 0 0 0 +2676 0 1 0.0000000000000000e+00 7.5683919130704652e+01 3.2327081573926513e+01 5.9732399201074475e+00 0 0 0 +2675 0 1 0.0000000000000000e+00 7.3542310222363881e+01 2.9934925468601072e+01 4.3528751332502305e+00 0 0 0 +2468 0 1 0.0000000000000000e+00 7.4950623669243868e+01 1.1547833981992289e+01 2.7608378553809580e+01 0 0 0 +2469 0 1 0.0000000000000000e+00 7.7406959788154921e+01 8.8038593686587987e+00 2.5696356778165480e+01 0 0 0 +2482 0 1 0.0000000000000000e+00 7.1728022592676751e+01 1.5265213527372799e+01 2.7067826101445885e+01 0 0 0 +2483 0 1 0.0000000000000000e+00 7.2869200333403612e+01 1.3099111201121364e+01 2.5169889283322750e+01 0 0 0 +2484 0 1 0.0000000000000000e+00 7.5751975074717052e+01 1.5029054888896772e+01 2.7037263661952341e+01 0 0 0 +2674 0 1 0.0000000000000000e+00 7.1095234453034166e+01 3.1998085129387828e+01 6.3615759988024632e+00 0 0 0 +2661 0 1 0.0000000000000000e+00 7.7369772025210509e+01 2.5894104794394156e+01 3.5918801204067101e+00 0 0 0 +2485 0 1 0.0000000000000000e+00 7.7924624191220033e+01 1.2789867135099673e+01 2.5623614000698538e+01 0 0 0 +2660 0 1 0.0000000000000000e+00 7.5435507188650377e+01 2.8068529464668099e+01 6.4228053502086446e+00 0 0 0 +2659 0 1 0.0000000000000000e+00 7.3153689908151208e+01 2.6131697925669915e+01 4.8312773769470363e+00 0 0 0 +2658 0 1 0.0000000000000000e+00 7.1270569942102014e+01 2.8179031113643507e+01 6.5308363147788819e+00 0 0 0 +2644 0 1 0.0000000000000000e+00 7.6378376239343453e+01 2.4063800580041647e+01 6.0656682615630091e+00 0 0 0 +2643 0 1 0.0000000000000000e+00 7.3356884670217127e+01 2.2422651103849834e+01 4.4161653164260519e+00 0 0 0 +2642 0 1 0.0000000000000000e+00 7.0650882898425550e+01 2.4226141031465229e+01 6.1675478103289745e+00 0 0 0 +2628 0 1 0.0000000000000000e+00 7.5865173990267380e+01 1.9239514825828838e+01 5.8454011807344743e+00 0 0 0 +2626 0 1 0.0000000000000000e+00 7.1650745337305324e+01 1.9508803537799732e+01 6.1697998252167743e+00 0 0 0 +2691 0 1 0.0000000000000000e+00 7.3346254026639514e+01 1.7572400499112955e+01 7.8694279004501624e+00 0 0 0 +2243 0 1 0.0000000000000000e+00 7.3140166396955436e+01 5.2593167069419300e-01 1.2347087099404622e+01 0 0 0 +2498 0 1 0.0000000000000000e+00 7.1133845887821366e+01 2.5019582804768610e+00 3.1775282374385210e+01 0 0 0 +2339 0 1 0.0000000000000000e+00 7.3125311311495395e+01 8.6218269383627995e+00 1.7095912885032824e+01 0 0 0 +2500 0 1 0.0000000000000000e+00 7.5231579534656930e+01 2.5127115553828174e+00 3.2054862097606183e+01 0 0 0 +2693 0 1 0.0000000000000000e+00 7.7509287470622567e+01 1.6738992276810588e+01 8.4389104278752320e+00 0 0 0 +2549 0 1 0.0000000000000000e+00 7.7381346885853446e+01 1.3173196156340921e+01 2.9668257161130292e+01 0 0 0 +2548 0 1 0.0000000000000000e+00 7.4915774799020397e+01 1.4828749407644654e+01 3.1648761261265928e+01 0 0 0 +2547 0 1 0.0000000000000000e+00 7.2505154156647762e+01 1.3215256871806774e+01 2.9732735845263957e+01 0 0 0 +2546 0 1 0.0000000000000000e+00 7.0837487104363149e+01 1.5419986699223045e+01 3.2474853487827922e+01 0 0 0 +2245 0 1 0.0000000000000000e+00 7.7490509066517220e+01 3.4398526729848243e+01 1.2572858073039530e+01 0 -1 0 +2612 0 1 0.0000000000000000e+00 7.5608276629692611e+01 3.2304790402191209e+01 1.9873015305430066e+00 0 0 0 +2610 0 1 0.0000000000000000e+00 7.1633173680271526e+01 3.2065947481402830e+01 1.9428881265550424e+00 0 0 0 +2376 0 1 0.0000000000000000e+00 8.4703497361272639e+01 1.9123792673025937e+00 2.3218272746273495e+01 0 0 0 +2115 0 1 0.0000000000000000e+00 7.3491153267069862e+01 3.4423131918997704e+01 4.1116750220426157e+00 0 -1 0 +2627 0 1 0.0000000000000000e+00 7.3263888689826445e+01 1.7241920160901021e+01 4.1141616618873877e+00 0 0 0 +2629 0 1 0.0000000000000000e+00 7.7428353614086433e+01 1.6971893601828064e+01 3.8024706896797702e+00 0 0 0 +2514 0 1 0.0000000000000000e+00 7.1113246564030590e+01 6.3721193491055805e+00 3.1768319688188047e+01 0 0 0 +2515 0 1 0.0000000000000000e+00 7.3152758107967614e+01 4.3798006907429743e+00 2.9678048153816317e+01 0 0 0 +2596 0 1 0.0000000000000000e+00 7.5407238034986207e+01 2.8374544386729674e+01 1.9609947035011348e+00 0 0 0 +2516 0 1 0.0000000000000000e+00 7.5175713996689254e+01 6.8972004643920686e+00 3.1325272024773046e+01 0 0 0 +2530 0 1 0.0000000000000000e+00 7.0735164382633442e+01 1.0828622162933428e+01 3.1322556427712044e+01 0 0 0 +2531 0 1 0.0000000000000000e+00 7.3137665583582304e+01 8.5915047457418972e+00 2.9912444130871243e+01 0 0 0 +2532 0 1 0.0000000000000000e+00 7.4706342134189427e+01 1.1022487843969250e+01 3.2148176702607834e+01 0 0 0 +2533 0 1 0.0000000000000000e+00 7.7333729150257852e+01 9.2772582038527407e+00 2.9281535252847160e+01 0 0 0 +2067 0 1 0.0000000000000000e+00 7.3204000837564934e+01 4.8644222108262971e+00 3.3937982778561377e+01 0 0 -1 +2594 0 1 0.0000000000000000e+00 7.1120600804386484e+01 2.7892779072985817e+01 2.7411512425601758e+00 0 0 0 +2949 0 1 0.0000000000000000e+00 7.7251018940218501e+01 1.7551697297109122e+01 2.5084284625309650e+01 0 0 0 +2051 0 1 0.0000000000000000e+00 7.3513992696464584e+01 3.4223022147781286e+01 3.3609612239912707e+01 0 -1 -1 +2580 0 1 0.0000000000000000e+00 7.5125402479060696e+01 2.3661551103048577e+01 2.2080127513067334e+00 0 0 0 +2578 0 1 0.0000000000000000e+00 7.0698033144660030e+01 2.4195224023307457e+01 2.1539370347108098e+00 0 0 0 +2371 0 1 0.0000000000000000e+00 7.3574851579987183e+01 2.7691028477476071e-01 2.1345533424891013e+01 0 0 0 +2755 0 1 0.0000000000000000e+00 7.2958741187402481e+01 1.7049088329131127e+01 1.2274809041905087e+01 0 0 0 +2435 0 1 0.0000000000000000e+00 7.3798029315424074e+01 3.4128028272474644e+01 2.5418819016620173e+01 0 -1 0 +2819 0 1 0.0000000000000000e+00 7.3259420105038046e+01 1.7179533190864149e+01 1.6709859549320065e+01 0 0 0 +2564 0 1 0.0000000000000000e+00 7.5311898648968011e+01 1.9577300553405987e+01 2.0076090591395737e+00 0 0 0 +2562 0 1 0.0000000000000000e+00 7.1391312838751631e+01 2.0081190475649723e+01 2.1089880202132445e+00 0 0 0 +2835 0 1 0.0000000000000000e+00 7.2966457394045236e+01 2.1564320574707310e+01 1.5855439683402977e+01 0 0 0 +2829 0 1 0.0000000000000000e+00 9.5079239227011030e+01 1.7602448582270220e+01 1.7129692104742798e+01 0 0 0 +2589 0 1 0.0000000000000000e+00 9.4180477720348321e+01 2.1296499506885805e+01 3.4341830553236576e+01 0 0 -1 +3015 0 1 0.0000000000000000e+00 8.1731273762026206e+01 1.7204564578158713e+01 3.0105584168967180e+01 0 0 0 +2885 0 1 0.0000000000000000e+00 7.7148347760529717e+01 1.7051333927774820e+01 2.0526470752201682e+01 0 0 0 +2621 0 1 0.0000000000000000e+00 9.5095172548997638e+01 3.0683193299776033e+01 3.4237184331949848e+01 0 0 -1 +2841 0 1 0.0000000000000000e+00 8.6293350576009402e+01 2.1965818390897898e+01 1.7072564234163853e+01 0 0 0 +2379 0 1 0.0000000000000000e+00 9.0489539870407853e+01 3.4473810140790320e+01 2.0722828724464371e+01 0 -1 0 +2505 0 1 0.0000000000000000e+00 8.6174113663414218e+01 3.4507876629042151e+01 2.9709216159758228e+01 0 -1 0 +2873 0 1 0.0000000000000000e+00 8.6200953457601955e+01 3.0579662560522362e+01 1.6589560842717948e+01 0 0 0 +2319 0 1 0.0000000000000000e+00 9.9404088988728830e+01 5.0409150448291651e-01 1.7382721264741420e+01 0 0 0 +2619 0 1 0.0000000000000000e+00 9.0494963644914236e+01 3.0319251019718013e+01 3.4102429832388971e+01 0 0 -1 +2599 0 1 0.0000000000000000e+00 8.1969803135725300e+01 2.5651604031895808e+01 3.4284318941978903e+01 0 0 -1 +2443 0 1 0.0000000000000000e+00 9.0518182568671691e+01 2.5075262238104945e-01 2.5537310259105812e+01 0 0 0 +2893 0 1 0.0000000000000000e+00 9.5372616301421957e+01 1.7178761655389433e+01 2.1564805987535667e+01 0 0 0 +2831 0 1 0.0000000000000000e+00 1.0302540689875551e+02 1.8214978212038929e+01 2.1800747916614291e+01 0 0 0 +2839 0 1 0.0000000000000000e+00 8.1722468510387387e+01 2.1210381268036151e+01 1.7021626768890329e+01 0 0 0 +2879 0 1 0.0000000000000000e+00 1.0143645993652083e+02 2.7555413762690655e+01 1.4586026097200623e+01 0 0 0 +2601 0 1 0.0000000000000000e+00 8.5913459055895999e+01 2.5822410219005732e+01 3.4211155032720043e+01 0 0 -1 +2583 0 1 0.0000000000000000e+00 8.2336496947781498e+01 2.1946170142056850e+01 3.3932327302590032e+01 0 0 -1 +2445 0 1 0.0000000000000000e+00 9.4572887481065905e+01 3.4423794151570966e+01 2.5423053021350210e+01 0 -1 0 +2377 0 1 0.0000000000000000e+00 8.6100127506800376e+01 2.9582286329006197e-01 2.0703511997077786e+01 0 0 0 +2875 0 1 0.0000000000000000e+00 9.0614120495668502e+01 3.0525322062429950e+01 1.6478061925913689e+01 0 0 0 +3045 0 1 0.0000000000000000e+00 7.7584659875741522e+01 2.5124572422770378e+01 2.9891591032621299e+01 0 0 0 +3041 0 1 0.0000000000000000e+00 1.0135533888227211e+02 2.8420192846044490e+01 3.2109904097923057e+01 -1 0 0 +3040 0 1 0.0000000000000000e+00 1.0055910582018689e+02 1.9764284091583058e+01 3.2426533446114526e+01 0 0 0 +3039 0 1 0.0000000000000000e+00 1.0100280826161307e+02 1.9280834139246672e+01 2.7874406351484932e+01 0 0 0 +3038 0 1 0.0000000000000000e+00 9.6786155572354744e+01 2.3771443083383996e+01 3.2023925213208450e+01 0 0 0 +3037 0 1 0.0000000000000000e+00 9.4376076123903744e+01 2.1446652719863454e+01 2.9927780429053261e+01 0 0 0 +3036 0 1 0.0000000000000000e+00 9.3079312330606058e+01 2.3916723436838932e+01 3.1884654572029056e+01 0 0 0 +3035 0 1 0.0000000000000000e+00 9.0041921310663469e+01 2.1892010384479942e+01 2.9038570188670029e+01 0 0 0 +3034 0 1 0.0000000000000000e+00 8.8033975060467569e+01 2.4239485918474148e+01 3.1586889272960693e+01 0 0 0 +3033 0 1 0.0000000000000000e+00 8.5877163385739053e+01 2.2062612851704603e+01 3.0079759184670468e+01 0 0 0 +3032 0 1 0.0000000000000000e+00 8.4218646585672062e+01 2.4559673007927955e+01 3.1662871626589297e+01 0 0 0 +3031 0 1 0.0000000000000000e+00 8.1819480963235648e+01 2.1701807652020090e+01 3.0223245162337005e+01 0 0 0 +3030 0 1 0.0000000000000000e+00 7.9600552012557600e+01 2.3667812694037881e+01 3.2432061324727677e+01 0 0 0 +3029 0 1 0.0000000000000000e+00 7.7229238220327957e+01 2.1493381157401586e+01 2.9646745022751571e+01 0 0 0 +2657 0 1 0.0000000000000000e+00 9.9117030018518818e+01 3.0140788388158519e+01 3.8621969567114163e+00 -1 0 0 +2417 0 1 0.0000000000000000e+00 1.0305026851760240e+02 1.3197884763020566e+01 2.1717253753858426e+01 -1 0 0 +3022 0 1 0.0000000000000000e+00 9.6368659596369611e+01 1.9576199585921898e+01 3.2573622459186360e+01 0 0 0 +2953 0 1 0.0000000000000000e+00 8.5359626315390301e+01 1.7160839166450437e+01 2.5589454042888015e+01 0 0 0 +3020 0 1 0.0000000000000000e+00 9.2157441395092974e+01 1.9543795723763029e+01 3.1485638151468923e+01 0 0 0 +3018 0 1 0.0000000000000000e+00 8.8178879734448756e+01 1.9552741206890790e+01 3.1540608674147915e+01 0 0 0 +3016 0 1 0.0000000000000000e+00 8.3907424606613262e+01 1.9570766482338122e+01 3.1813447912007323e+01 0 0 0 +3054 0 1 0.0000000000000000e+00 9.7517927116132157e+01 2.8590929307391445e+01 3.2351584670631233e+01 0 0 0 +3014 0 1 0.0000000000000000e+00 7.9395203851962677e+01 1.9974954341244445e+01 3.2044319873477008e+01 0 0 0 +3046 0 1 0.0000000000000000e+00 7.9686267468067285e+01 2.7488171787795331e+01 3.2621328626090431e+01 0 0 0 +3061 0 1 0.0000000000000000e+00 7.7532183666613307e+01 2.9915851785776400e+01 3.0198290443224920e+01 0 0 0 +2080 0 1 0.0000000000000000e+00 1.0132441315584066e+02 5.4999666895022408e+00 1.8299887254932874e+00 0 0 0 +3007 0 1 0.0000000000000000e+00 1.0131788356285929e+02 3.2301593659292664e+01 2.3853747404830450e+01 0 0 0 +3006 0 1 0.0000000000000000e+00 9.7161281746559553e+01 2.8234555431221082e+01 2.3775519188548596e+01 0 0 0 +3005 0 1 0.0000000000000000e+00 9.5004141147087637e+01 3.0518159775929497e+01 2.6088459298383679e+01 0 0 0 +3004 0 1 0.0000000000000000e+00 9.2220710746336650e+01 3.1994518750582333e+01 2.7517539674343116e+01 0 0 0 +3003 0 1 0.0000000000000000e+00 9.0305201066792620e+01 2.9906229924695495e+01 2.4961941555247325e+01 0 0 0 +3002 0 1 0.0000000000000000e+00 8.8586956151842358e+01 3.2182555681283453e+01 2.7692153138438155e+01 0 0 0 +3001 0 1 0.0000000000000000e+00 8.6308827863776742e+01 3.0241529303499551e+01 2.5669292815020999e+01 0 0 0 +3000 0 1 0.0000000000000000e+00 8.4146491467797446e+01 3.2139937079726359e+01 2.7981428816066373e+01 0 0 0 +2999 0 1 0.0000000000000000e+00 8.1919908563090672e+01 3.0216343616582044e+01 2.5424740666897289e+01 0 0 0 +2998 0 1 0.0000000000000000e+00 7.9265564053995845e+01 3.2355590648047773e+01 2.7371312490786060e+01 0 0 0 +2993 0 1 0.0000000000000000e+00 9.8907314099949630e+01 3.4409478974660587e+01 2.5547705221680307e+01 -1 0 0 +2272 0 1 0.0000000000000000e+00 9.9012288007538217e+01 8.4298041886116124e+00 1.7247664427731777e+01 0 0 0 +2991 0 1 0.0000000000000000e+00 9.9749014059884061e+01 2.5876526683318978e+01 2.5890510580565216e+01 0 0 0 +2990 0 1 0.0000000000000000e+00 9.7299049124647510e+01 2.8449268859383274e+01 2.8021900912673164e+01 0 0 0 +2989 0 1 0.0000000000000000e+00 9.5484515493122160e+01 2.5916571267099108e+01 2.5599098401582204e+01 0 0 0 +2988 0 1 0.0000000000000000e+00 9.3121665688126868e+01 2.8137945701426524e+01 2.7482363683849005e+01 0 0 0 +2987 0 1 0.0000000000000000e+00 9.0491449344767418e+01 2.5984767494175827e+01 2.5947899700226600e+01 0 0 0 +2986 0 1 0.0000000000000000e+00 8.9005555145461486e+01 2.8501307218550068e+01 2.7544478755701977e+01 0 0 0 +2985 0 1 0.0000000000000000e+00 8.5908824629494262e+01 2.5426168425140929e+01 2.5705988270065454e+01 0 0 0 +2984 0 1 0.0000000000000000e+00 8.3648362320384109e+01 2.7908040417646053e+01 2.7791906745695570e+01 0 0 0 +2983 0 1 0.0000000000000000e+00 8.2146410254559328e+01 2.5892784502682144e+01 2.5162387410421381e+01 0 0 0 +2982 0 1 0.0000000000000000e+00 7.9758003710279695e+01 2.8242402403158053e+01 2.7382822522867567e+01 0 0 0 +2977 0 1 0.0000000000000000e+00 1.0161750581774780e+02 2.3418872169398242e+01 2.3329769006076642e+01 -1 0 0 +2976 0 1 0.0000000000000000e+00 9.8981410629184296e+01 2.1487361605750461e+01 2.9932666279969229e+01 0 0 0 +2975 0 1 0.0000000000000000e+00 9.9662720812832490e+01 2.2296730896937312e+01 2.6556017438696621e+01 0 0 0 +2974 0 1 0.0000000000000000e+00 9.6887780810364305e+01 2.3914639370325279e+01 2.8324532586117577e+01 0 0 0 +2973 0 1 0.0000000000000000e+00 9.5049982354173679e+01 2.1133593129037813e+01 2.5849712655018674e+01 0 0 0 +2972 0 1 0.0000000000000000e+00 9.2813569041245700e+01 2.3825950135065092e+01 2.7527543595235329e+01 0 0 0 +2971 0 1 0.0000000000000000e+00 9.1289103674621757e+01 2.1394883968105386e+01 2.5616922823066087e+01 0 0 0 +2970 0 1 0.0000000000000000e+00 8.8459006941320354e+01 2.4389236746808848e+01 2.8134372887799763e+01 0 0 0 +2969 0 1 0.0000000000000000e+00 8.5677572853866764e+01 2.1787557334818331e+01 2.6594235136140703e+01 0 0 0 +2968 0 1 0.0000000000000000e+00 8.3621433822811738e+01 2.4021028041662220e+01 2.8241139385348145e+01 0 0 0 +2967 0 1 0.0000000000000000e+00 8.0892393481517416e+01 2.0896084738919221e+01 2.4934372851228446e+01 0 0 0 +2966 0 1 0.0000000000000000e+00 7.9678488743879825e+01 2.3978938113224299e+01 2.7703972956245977e+01 0 0 0 +3741 0 1 0.0000000000000000e+00 9.8989410767558169e+01 1.2525727987066547e+01 3.4039385950535170e+01 0 0 -1 +2960 0 1 0.0000000000000000e+00 9.8981945128907938e+01 1.7118779249329457e+01 3.0033718835313987e+01 0 0 0 +1409 0 1 0.0000000000000000e+00 6.9785966311686721e+01 9.1448519278430437e-02 2.5581609752769950e+01 -1 0 0 +2958 0 1 0.0000000000000000e+00 9.7227570696027101e+01 1.9118859576158787e+01 2.8199184527718284e+01 0 0 0 +3062 0 1 0.0000000000000000e+00 7.9555187766543241e+01 3.2524549645208573e+01 3.1604409357118900e+01 0 0 0 +2956 0 1 0.0000000000000000e+00 9.2514541333141139e+01 1.8985940804448262e+01 2.7874843844124861e+01 0 0 0 +3047 0 1 0.0000000000000000e+00 8.1797021491283573e+01 2.6543498314874675e+01 3.0399299069562428e+01 0 0 0 +2954 0 1 0.0000000000000000e+00 8.8147588119454554e+01 1.9635203069581721e+01 2.7364272137502468e+01 0 0 0 +2952 0 1 0.0000000000000000e+00 8.3948743472953140e+01 1.9408465667279017e+01 2.8283691490351348e+01 0 0 0 +3063 0 1 0.0000000000000000e+00 8.1762031252886274e+01 3.0392245233321958e+01 2.9693694075025125e+01 0 0 0 +2950 0 1 0.0000000000000000e+00 7.9379050011456656e+01 1.9248881454721658e+01 2.7837464467814829e+01 0 0 0 +3048 0 1 0.0000000000000000e+00 8.3894579860225463e+01 2.8401944583449410e+01 3.2104318931039337e+01 0 0 0 +2912 0 1 0.0000000000000000e+00 1.0325264665052511e+02 2.5848219082616747e+01 2.1445243851510888e+01 0 0 0 +3049 0 1 0.0000000000000000e+00 8.6238038020129920e+01 2.6126791832170252e+01 2.9800666259839467e+01 0 0 0 +2688 0 1 0.0000000000000000e+00 1.0305573983144328e+02 1.7864120972603123e-01 4.1323687383783305e+00 0 1 0 +2943 0 1 0.0000000000000000e+00 9.9155158317593077e+01 3.0492798721103465e+01 2.1496238520820793e+01 0 0 0 +2942 0 1 0.0000000000000000e+00 9.6962227933824053e+01 3.2215463646105306e+01 2.3531602867882711e+01 0 0 0 +2941 0 1 0.0000000000000000e+00 9.7299684557971716e+01 3.2352480628268395e+01 1.9607483975351141e+01 0 0 0 +2940 0 1 0.0000000000000000e+00 9.2676189789014302e+01 3.2548936246649554e+01 2.3200690819351024e+01 0 0 0 +2939 0 1 0.0000000000000000e+00 9.0310747716324244e+01 3.0240484509362108e+01 2.0967571922364936e+01 0 0 0 +2938 0 1 0.0000000000000000e+00 8.8433549351901519e+01 3.2670953230479896e+01 2.3604078796214726e+01 0 0 0 +2937 0 1 0.0000000000000000e+00 8.6035994810808546e+01 3.0849018171062195e+01 2.1586569875480709e+01 0 0 0 +2936 0 1 0.0000000000000000e+00 8.4272591944672953e+01 3.2733542137196515e+01 2.3231945596749288e+01 0 0 0 +2935 0 1 0.0000000000000000e+00 8.1644719591513507e+01 3.0264766394234076e+01 2.0653981498835627e+01 0 0 0 +2934 0 1 0.0000000000000000e+00 8.0012884667659449e+01 3.2314376874873183e+01 2.3021062094990288e+01 0 0 0 +2097 0 1 0.0000000000000000e+00 1.0095365469432915e+02 1.0465219353565427e+01 3.2244926173352226e+01 -1 0 -1 +2928 0 1 0.0000000000000000e+00 1.0156217489631764e+02 2.8197678338104957e+01 2.3273443554943075e+01 0 0 0 +2927 0 1 0.0000000000000000e+00 9.9400121604232936e+01 2.5874853128640975e+01 2.1598232077060899e+01 0 0 0 +2926 0 1 0.0000000000000000e+00 9.4695302679512949e+01 3.0117860700437074e+01 2.0830504618417304e+01 0 0 0 +2925 0 1 0.0000000000000000e+00 9.5699607033292395e+01 2.6184248065952879e+01 2.1730664472364492e+01 0 0 0 +2924 0 1 0.0000000000000000e+00 9.3035391776786270e+01 2.8180270751211044e+01 2.3652647312689744e+01 0 0 0 +2923 0 1 0.0000000000000000e+00 8.9557684289829481e+01 2.5599055322900877e+01 2.1813935554468713e+01 0 0 0 +2922 0 1 0.0000000000000000e+00 8.7525056139899107e+01 2.8344456254752384e+01 2.2781188757045328e+01 0 0 0 +2921 0 1 0.0000000000000000e+00 8.5943736695628331e+01 2.5375926241311667e+01 2.1401691115638123e+01 0 0 0 +2920 0 1 0.0000000000000000e+00 8.3786972197386945e+01 2.8113171243191868e+01 2.3002615868049052e+01 0 0 0 +2919 0 1 0.0000000000000000e+00 8.1753083179584280e+01 2.6217960679116931e+01 2.1087666852785460e+01 0 0 0 +2918 0 1 0.0000000000000000e+00 7.9288521332685804e+01 2.8654995097705203e+01 2.3403894163218702e+01 0 0 0 +2374 0 1 0.0000000000000000e+00 8.0289374728020832e+01 2.5189699676099409e+00 2.2786881646115891e+01 0 0 0 +3145 0 1 0.0000000000000000e+00 1.0136024701052672e+02 1.4504931511826493e+01 2.8141720071481895e+01 0 0 -1 +2911 0 1 0.0000000000000000e+00 1.0001569824770688e+02 2.1605965336627257e+01 2.0738266863542517e+01 0 0 0 +2910 0 1 0.0000000000000000e+00 9.7420639411379241e+01 2.3480326541833676e+01 2.3865006243299796e+01 0 0 0 +2909 0 1 0.0000000000000000e+00 9.5444707829774543e+01 2.1907734764560846e+01 2.2128878896954440e+01 0 0 0 +2908 0 1 0.0000000000000000e+00 9.2660049025642536e+01 2.4732415793165462e+01 2.3130603339581672e+01 0 0 0 +2907 0 1 0.0000000000000000e+00 9.0950917401214312e+01 2.1261320029103711e+01 2.1704022547028536e+01 0 0 0 +2906 0 1 0.0000000000000000e+00 8.8479069164909092e+01 2.2963955688344338e+01 2.3934827071196018e+01 0 0 0 +2905 0 1 0.0000000000000000e+00 8.5845789215365059e+01 2.1414011008995203e+01 2.0926363207363217e+01 0 0 0 +2904 0 1 0.0000000000000000e+00 8.3515601820103242e+01 2.3127746757502287e+01 2.3113843716109198e+01 0 0 0 +2903 0 1 0.0000000000000000e+00 8.1825172444183409e+01 2.0823382518527133e+01 2.0890630315945909e+01 0 0 0 +2902 0 1 0.0000000000000000e+00 7.9513021861519931e+01 2.3578147899797607e+01 2.3027436185728071e+01 0 0 0 +2321 0 1 0.0000000000000000e+00 1.0359158219470645e+02 4.4597948903389995e+00 2.1671266077958119e+01 -1 0 0 +3478 0 1 0.0000000000000000e+00 1.0273577457847529e+02 3.4232677667486669e+01 9.6392015151782893e+00 0 0 1 +3064 0 1 0.0000000000000000e+00 8.4598480482115036e+01 3.2232227903337154e+01 3.2023036700856203e+01 0 0 0 +2894 0 1 0.0000000000000000e+00 9.8221767115655325e+01 1.9441594317225146e+01 2.3407532357602566e+01 0 0 0 +2892 0 1 0.0000000000000000e+00 9.3636746193909502e+01 1.8965520596743492e+01 2.3652431256358796e+01 0 0 0 +3065 0 1 0.0000000000000000e+00 8.6552595902762135e+01 3.0348729244475440e+01 3.0022484607217677e+01 0 0 0 +2890 0 1 0.0000000000000000e+00 8.8383612581240271e+01 1.9295391200627190e+01 2.3044761717563325e+01 0 0 0 +2847 0 1 0.0000000000000000e+00 1.0155986447086164e+02 1.9466636940645273e+01 1.8346572374614635e+01 0 0 0 +2888 0 1 0.0000000000000000e+00 8.3946334111483338e+01 1.9348302490618515e+01 2.3058820319858164e+01 0 0 0 +3066 0 1 0.0000000000000000e+00 8.8095142010369415e+01 3.2772655506874436e+01 3.2346092683686919e+01 0 0 0 +2886 0 1 0.0000000000000000e+00 7.9167645641877840e+01 1.9219998023568667e+01 2.2383517334888005e+01 0 0 0 +3242 0 1 0.0000000000000000e+00 1.0349415046247950e+02 4.0814043662803154e+00 3.4082760512958863e+01 0 1 -1 +3067 0 1 0.0000000000000000e+00 9.0018627563316230e+01 3.0707280151246064e+01 3.0420796036717913e+01 0 0 0 +3068 0 1 0.0000000000000000e+00 9.2273393779761065e+01 3.2408728038499753e+01 3.1926017807507620e+01 0 0 0 +2880 0 1 0.0000000000000000e+00 1.0152277187951455e+02 3.2650354334117793e+01 1.9295553630739281e+01 0 0 0 +2639 0 1 0.0000000000000000e+00 1.0346460572887000e+02 1.7481237742284733e+01 3.9197405134495940e+00 0 0 0 +2878 0 1 0.0000000000000000e+00 9.6510143084912741e+01 2.1957637782046739e+00 1.8848916052786958e+01 0 1 0 +2876 0 1 0.0000000000000000e+00 9.2565795965757630e+01 3.1746411955983628e+01 1.9336654803294831e+01 0 0 0 +2288 0 1 0.0000000000000000e+00 9.9451786532391012e+01 1.3108381653226099e+01 1.6810544464194379e+01 0 0 0 +2874 0 1 0.0000000000000000e+00 8.8002241487176022e+01 3.1994357647268757e+01 1.8807609890446624e+01 0 0 0 +3050 0 1 0.0000000000000000e+00 8.7809134190617527e+01 2.7979612823750365e+01 3.2481613740678732e+01 0 0 0 +2872 0 1 0.0000000000000000e+00 8.4104534650919973e+01 3.2130452937816059e+01 1.8785835576813131e+01 0 0 0 +3051 0 1 0.0000000000000000e+00 9.0525781453380347e+01 2.6333816983303247e+01 2.9827821326913234e+01 0 0 0 +2870 0 1 0.0000000000000000e+00 7.9522131429488326e+01 3.2311694857010316e+01 1.8872572150209159e+01 0 0 0 +3052 0 1 0.0000000000000000e+00 9.2869571922369175e+01 2.8402294845738496e+01 3.1707910153203990e+01 0 0 0 +3053 0 1 0.0000000000000000e+00 9.4785275150117030e+01 2.6381637064490686e+01 2.9523196541306447e+01 0 0 0 +2603 0 1 0.0000000000000000e+00 9.0830627874760836e+01 2.6307657820875992e+01 3.3919704669655886e+01 0 0 -1 +2864 0 1 0.0000000000000000e+00 1.0141009154792305e+02 2.7340486559200880e+01 1.8445157231866713e+01 0 0 0 +2862 0 1 0.0000000000000000e+00 9.7929514359816920e+01 2.8394355868858067e+01 1.9150802622770669e+01 0 0 0 +2587 0 1 0.0000000000000000e+00 8.9967071393933665e+01 2.1940083259277277e+01 3.3680921407381355e+01 0 0 -1 +2860 0 1 0.0000000000000000e+00 9.1979487941086205e+01 2.7792640519711824e+01 1.8615287722064704e+01 0 0 0 +2858 0 1 0.0000000000000000e+00 8.8670785331388657e+01 2.7805643796423652e+01 1.9198156116040227e+01 0 0 0 +3055 0 1 0.0000000000000000e+00 9.9538572453779750e+01 2.5753713574834421e+01 2.9751311798685272e+01 0 0 0 +2856 0 1 0.0000000000000000e+00 8.4373419813404041e+01 2.8431844864724763e+01 1.9154310739645450e+01 0 0 0 +3023 0 1 0.0000000000000000e+00 9.6092652767973419e+01 1.4747572173517165e+01 3.2531081562500596e+01 0 0 0 +2854 0 1 0.0000000000000000e+00 7.9168147954079103e+01 2.7715463849039185e+01 1.8588596445423970e+01 0 0 0 +3017 0 1 0.0000000000000000e+00 8.6044788686082015e+01 1.7065834429057016e+01 2.9853190479109717e+01 0 0 0 +2863 0 1 0.0000000000000000e+00 9.9336975330111088e+01 2.5281521286607667e+01 1.6949625777761241e+01 0 0 0 +3019 0 1 0.0000000000000000e+00 9.0045141834833714e+01 1.7154273292861330e+01 2.9180948065030783e+01 0 0 0 +2848 0 1 0.0000000000000000e+00 1.0226187400754064e+02 2.4155894481929352e+01 1.8499685886085931e+01 0 0 0 +2846 0 1 0.0000000000000000e+00 9.7061536191067788e+01 2.3751168897176818e+01 1.9551352786037558e+01 0 0 0 +2844 0 1 0.0000000000000000e+00 9.2867296830683159e+01 2.3962258941512779e+01 1.9803989015858413e+01 0 0 0 +2842 0 1 0.0000000000000000e+00 8.8630406314981926e+01 2.3639606290626816e+01 1.9328887993220157e+01 0 0 0 +2840 0 1 0.0000000000000000e+00 8.3737198528193574e+01 2.4278298653901498e+01 1.9165954557696253e+01 0 0 0 +2441 0 1 0.0000000000000000e+00 8.5921262661433929e+01 3.4060313678026795e+01 2.5563829357247361e+01 0 -1 0 +2838 0 1 0.0000000000000000e+00 7.9776702156164447e+01 2.3919452826812670e+01 1.9065563743583677e+01 0 0 0 +2887 0 1 0.0000000000000000e+00 8.1794114900928577e+01 1.7230105703897927e+01 2.0861574902130336e+01 0 0 0 +2929 0 1 0.0000000000000000e+00 1.0309556731554521e+02 3.0464107206882751e+01 2.0722668562785760e+01 -1 0 0 +2383 0 1 0.0000000000000000e+00 9.9368632120008684e+01 3.4457143740417976e+01 2.1344061703871002e+01 0 -1 0 +2830 0 1 0.0000000000000000e+00 9.7153224607911753e+01 1.9462239237111397e+01 1.9227375186021291e+01 0 0 0 +3069 0 1 0.0000000000000000e+00 9.5209920973766089e+01 3.0504918966987944e+01 3.0287136254775067e+01 0 0 0 +2828 0 1 0.0000000000000000e+00 9.3032201845766494e+01 1.9552240534622232e+01 1.9329009601526998e+01 0 0 0 +3070 0 1 0.0000000000000000e+00 9.6779666532279094e+01 3.2725572132757748e+01 3.1941352778099510e+01 0 0 0 +2826 0 1 0.0000000000000000e+00 8.8692051525154014e+01 1.9631367829242034e+01 1.9051566016391156e+01 0 0 0 +3071 0 1 0.0000000000000000e+00 9.9108539010928382e+01 3.0740884624889546e+01 2.9998130815841890e+01 0 0 0 +2824 0 1 0.0000000000000000e+00 8.4017671969723224e+01 1.9038322743237956e+01 1.8665984912730742e+01 0 0 0 +3072 0 1 0.0000000000000000e+00 9.9286380483829987e+01 3.0393345467486188e+01 3.4338679519120177e+01 0 0 0 +2822 0 1 0.0000000000000000e+00 7.9410321629361547e+01 1.9452184979862821e+01 1.8728748359712764e+01 0 0 0 +2061 0 1 0.0000000000000000e+00 9.4570086421557846e+01 3.7312110111668212e-01 3.3699028292106483e+01 0 0 -1 +2877 0 1 0.0000000000000000e+00 9.4822116742848792e+01 2.9800078519996386e+01 1.7087470466267249e+01 0 0 0 +2591 0 1 0.0000000000000000e+00 9.9204949509568877e+01 2.2010523559796042e+01 3.4346423402086778e+01 0 0 -1 +2861 0 1 0.0000000000000000e+00 9.4366324263240969e+01 2.6091173606221155e+01 1.7577406911567305e+01 0 0 0 +2617 0 1 0.0000000000000000e+00 8.6233505592099704e+01 3.0722776727743195e+01 3.8615611218221146e-01 0 0 0 +2857 0 1 0.0000000000000000e+00 8.6378382305023123e+01 2.6134076769924036e+01 1.6724576486351037e+01 0 0 0 +2865 0 1 0.0000000000000000e+00 1.0371856805443419e+02 2.9822713385935238e+01 1.6988349095414602e+01 -1 0 0 +2256 0 1 0.0000000000000000e+00 1.0280829844271109e+02 8.4622795940008064e+00 1.7108547337569451e+01 0 0 0 +2633 0 1 0.0000000000000000e+00 8.6319138409526957e+01 1.6889905455538965e+01 3.2748606489100829e+00 0 0 0 +2573 0 1 0.0000000000000000e+00 9.4089659578060107e+01 1.7377887066396173e+01 3.4449811356232381e+01 0 0 -1 +2127 0 1 0.0000000000000000e+00 9.8837046596466067e+01 2.4040754230994466e-01 4.4100246647838288e+00 0 0 0 +2121 0 1 0.0000000000000000e+00 8.6360874377654994e+01 2.3854605880457391e-01 3.9087105761152321e+00 0 0 0 +2765 0 1 0.0000000000000000e+00 9.4785211887637303e+01 1.7540444381843923e+01 1.2419814454011453e+01 0 0 0 +2059 0 1 0.0000000000000000e+00 9.0620162033507142e+01 4.5246032559733385e-01 3.4507155133003927e+01 0 0 -1 +2845 0 1 0.0000000000000000e+00 9.4917409364358420e+01 2.1566080134144002e+01 1.7524647903644265e+01 0 0 0 +2607 0 1 0.0000000000000000e+00 9.9168576744130448e+01 2.6076941665174129e+01 3.3963915088221938e+01 0 0 -1 +2185 0 1 0.0000000000000000e+00 8.6610893091272729e+01 3.4393384581851151e+01 8.7156361803556930e+00 0 -1 0 +2249 0 1 0.0000000000000000e+00 8.6428069683936016e+01 3.0136678281488659e-02 1.2639216102285621e+01 0 0 0 +2119 0 1 0.0000000000000000e+00 8.1764297171164358e+01 2.8204222559461373e-01 4.1831545254312168e+00 0 0 0 +2843 0 1 0.0000000000000000e+00 9.0850041013290749e+01 2.2225900348960742e+01 1.7307848115516084e+01 0 0 0 +2187 0 1 0.0000000000000000e+00 9.0866399930564910e+01 3.4561038232399639e+01 8.4643616598990583e+00 0 -1 0 +2191 0 1 0.0000000000000000e+00 9.9404184412271775e+01 3.4523324181267633e+01 8.5649039038807278e+00 0 -1 0 +2871 0 1 0.0000000000000000e+00 8.1960297502149174e+01 3.0446579259361240e+01 1.6956888492527678e+01 0 0 0 +2761 0 1 0.0000000000000000e+00 8.5877530312343993e+01 1.6851469155566193e+01 1.2246471552036853e+01 0 0 0 +2790 0 1 0.0000000000000000e+00 7.9848196078663548e+01 2.8573980678807462e+01 1.4673106212338764e+01 0 0 0 +3480 0 1 0.0000000000000000e+00 1.0093881160788933e+02 1.0945746230408313e+01 1.6111635201790717e+00 0 0 1 +3281 0 1 0.0000000000000000e+00 1.0343885049875588e+02 1.7417356584224798e+01 2.5781395533221833e+01 0 0 0 +2783 0 1 0.0000000000000000e+00 9.9311727844423814e+01 2.1413154989921715e+01 1.6822608325879877e+01 0 0 0 +2782 0 1 0.0000000000000000e+00 9.6912822262707323e+01 2.3623082990467974e+01 1.4932531149894118e+01 0 0 0 +2781 0 1 0.0000000000000000e+00 9.4414263223372771e+01 2.1466924063732939e+01 1.2688611811210581e+01 0 0 0 +2780 0 1 0.0000000000000000e+00 9.2498297011854817e+01 2.3682871362211039e+01 1.4674780589022580e+01 0 0 0 +2779 0 1 0.0000000000000000e+00 9.0338300513709726e+01 2.1442955413168630e+01 1.2746322405296558e+01 0 0 0 +2778 0 1 0.0000000000000000e+00 8.8417547343059042e+01 2.3472676848598475e+01 1.4580885762773290e+01 0 0 0 +2777 0 1 0.0000000000000000e+00 8.6037236021588782e+01 2.1545436562720056e+01 1.2710467434806027e+01 0 0 0 +2776 0 1 0.0000000000000000e+00 8.3973026276787095e+01 2.4699213892747409e+01 1.4739075309768470e+01 0 0 0 +2775 0 1 0.0000000000000000e+00 8.1613290421948406e+01 2.1373108579477158e+01 1.2957555436553601e+01 0 0 0 +2774 0 1 0.0000000000000000e+00 7.9511850096803670e+01 2.3975031255481980e+01 1.4971179946836434e+01 0 0 0 +3377 0 1 0.0000000000000000e+00 1.0364601602395213e+02 3.0570935346526703e+01 2.5309674081346088e+01 0 -1 0 +2768 0 1 0.0000000000000000e+00 1.0180692047531682e+02 1.9780174887494560e+01 1.4307172829505905e+01 0 0 0 +3024 0 1 0.0000000000000000e+00 1.0297015953223081e+02 1.7417060448887337e+01 3.4278957727663730e+01 0 0 0 +2766 0 1 0.0000000000000000e+00 9.6522418469291182e+01 1.9810768828644434e+01 1.4736627177311801e+01 0 0 0 +2797 0 1 0.0000000000000000e+00 9.4730929746512913e+01 2.5601102810185424e+01 1.2303527772401440e+01 0 0 0 +2764 0 1 0.0000000000000000e+00 9.2703397689590616e+01 1.9632273666856673e+01 1.5300424622382160e+01 0 0 0 +2763 0 1 0.0000000000000000e+00 9.0096260673403151e+01 1.7358476001440664e+01 1.2792233862457024e+01 0 0 0 +2762 0 1 0.0000000000000000e+00 8.8124426637778171e+01 1.9479371073539497e+01 1.4969299017011659e+01 0 0 0 +2798 0 1 0.0000000000000000e+00 9.6495270399024875e+01 2.7611274753900680e+01 1.4569401062980313e+01 0 0 0 +2760 0 1 0.0000000000000000e+00 8.4315491502520700e+01 1.9333755648830749e+01 1.5045582300099840e+01 0 0 0 +2796 0 1 0.0000000000000000e+00 9.2823395331772559e+01 2.7967728004965249e+01 1.4623431690648820e+01 0 0 0 +2758 0 1 0.0000000000000000e+00 7.9357572535811258e+01 1.9239558056008036e+01 1.4761502717307161e+01 0 0 0 +2792 0 1 0.0000000000000000e+00 8.4576060929274277e+01 2.8120807535033208e+01 1.4574143534463088e+01 0 0 0 +2793 0 1 0.0000000000000000e+00 8.7065254096397240e+01 2.6210925666960328e+01 1.2415537041176629e+01 0 0 0 +2752 0 1 0.0000000000000000e+00 9.7297714098397591e+01 3.2507878795087819e+01 1.4756618419712336e+01 0 0 0 +2751 0 1 0.0000000000000000e+00 9.8980942182711175e+01 2.9773672447173908e+01 1.2858906212839784e+01 0 0 0 +2750 0 1 0.0000000000000000e+00 9.7369202986799948e+01 3.2714773211422781e+01 1.0622465117265616e+01 0 0 0 +2749 0 1 0.0000000000000000e+00 9.5460579010227065e+01 3.0337630808100066e+01 8.1380806155902814e+00 0 0 0 +2748 0 1 0.0000000000000000e+00 9.3092964551452567e+01 3.2167357162667820e+01 1.0212394035419623e+01 0 0 0 +2747 0 1 0.0000000000000000e+00 9.0377240230307962e+01 3.0390570423658755e+01 8.6367816501844281e+00 0 0 0 +2746 0 1 0.0000000000000000e+00 8.8783827801140930e+01 3.2893345569066000e+01 1.0193609284049842e+01 0 0 0 +2745 0 1 0.0000000000000000e+00 8.6225778901597252e+01 3.0657400188017661e+01 8.5583634109599185e+00 0 0 0 +2744 0 1 0.0000000000000000e+00 8.4098472537455933e+01 3.2627276645133655e+01 1.0531544671867207e+01 0 0 0 +2743 0 1 0.0000000000000000e+00 8.2090284285076805e+01 2.9949671872684849e+01 8.4557060286266168e+00 0 0 0 +2742 0 1 0.0000000000000000e+00 8.0359368417067671e+01 3.2239892288543800e+01 1.0983370475874500e+01 0 0 0 +2736 0 1 0.0000000000000000e+00 9.8772810590494956e+01 2.6071227867344295e+01 1.2909102332794161e+01 0 0 0 +2735 0 1 0.0000000000000000e+00 9.9473332472932142e+01 2.6505639521324632e+01 8.4333177036338007e+00 0 0 0 +2734 0 1 0.0000000000000000e+00 9.7022119367409331e+01 2.8018667483853744e+01 1.0592375904904967e+01 0 0 0 +2733 0 1 0.0000000000000000e+00 9.4711892805793568e+01 2.5972784577419873e+01 7.6778228185292487e+00 0 0 0 +2732 0 1 0.0000000000000000e+00 9.3125952171680510e+01 2.8323931780839281e+01 1.0371358372465091e+01 0 0 0 +2731 0 1 0.0000000000000000e+00 9.0527138665019820e+01 2.6132139573581910e+01 7.7418923268030184e+00 0 0 0 +2730 0 1 0.0000000000000000e+00 8.8130726911055191e+01 2.8284047183227838e+01 9.9212704113860983e+00 0 0 0 +2729 0 1 0.0000000000000000e+00 8.6676741480479365e+01 2.5802540311407743e+01 8.1094842386958153e+00 0 0 0 +2728 0 1 0.0000000000000000e+00 8.4459972622125179e+01 2.7714075870338252e+01 1.0196242386818142e+01 0 0 0 +2727 0 1 0.0000000000000000e+00 8.1231547459523227e+01 2.5994518433716916e+01 8.5728776721490902e+00 0 0 0 +2726 0 1 0.0000000000000000e+00 7.9663482834782855e+01 2.8208008917107026e+01 1.0679341385464394e+01 0 0 0 +2725 0 1 0.0000000000000000e+00 7.7529023165726741e+01 2.5995855803259307e+01 8.8905939804395171e+00 0 0 0 +2720 0 1 0.0000000000000000e+00 1.0078885405999107e+02 2.3983969237538588e+01 1.0129714312923591e+01 0 0 0 +2719 0 1 0.0000000000000000e+00 9.9592065741868666e+01 2.1434297003212887e+01 7.7561064796677837e+00 0 0 0 +2718 0 1 0.0000000000000000e+00 9.6991601881612382e+01 2.4176673538030609e+01 1.0285557774796130e+01 0 0 0 +2717 0 1 0.0000000000000000e+00 9.4539313703221353e+01 2.1589432141118870e+01 8.2234973464074290e+00 0 0 0 +2716 0 1 0.0000000000000000e+00 9.2596781037261849e+01 2.4134853554788045e+01 1.0292062517739435e+01 0 0 0 +2715 0 1 0.0000000000000000e+00 9.0378843080781351e+01 2.1468016000551444e+01 8.5830107294355447e+00 0 0 0 +2714 0 1 0.0000000000000000e+00 8.8646983485631907e+01 2.3695340563652820e+01 1.0642575058637915e+01 0 0 0 +2713 0 1 0.0000000000000000e+00 8.6655560629230337e+01 2.1732219509007198e+01 8.6156527243851500e+00 0 0 0 +2712 0 1 0.0000000000000000e+00 8.4215864929349735e+01 2.4154624947605999e+01 1.0684951012417809e+01 0 0 0 +2711 0 1 0.0000000000000000e+00 8.1465113165779911e+01 2.1966564207288990e+01 8.2926187701857934e+00 0 0 0 +2710 0 1 0.0000000000000000e+00 7.9692617458026646e+01 2.3836251270105205e+01 1.0661664538336641e+01 0 0 0 +2560 0 1 0.0000000000000000e+00 1.0279922128494906e+02 1.3314860617492728e+01 3.3844022814668222e+01 0 0 0 +2702 0 1 0.0000000000000000e+00 9.9373973231255150e+01 2.1753243191771549e+01 1.2457246723965511e+01 0 0 0 +2700 0 1 0.0000000000000000e+00 9.2456547274368177e+01 1.9658850369281019e+01 1.0656605199935781e+01 0 0 0 +2698 0 1 0.0000000000000000e+00 8.8317903758757296e+01 1.8920767702585501e+01 1.0333581539263227e+01 0 0 0 +2696 0 1 0.0000000000000000e+00 8.3777226233913225e+01 1.9508346610200025e+01 1.0026212061600681e+01 0 0 0 +2806 0 1 0.0000000000000000e+00 8.0101099239245613e+01 3.2346500291523050e+01 1.4978254210611153e+01 0 0 0 +2694 0 1 0.0000000000000000e+00 7.9951270716824823e+01 1.9500445292595703e+01 1.0345217338340984e+01 0 0 0 +2807 0 1 0.0000000000000000e+00 8.2386324443865206e+01 2.9943075474525561e+01 1.1997019676445156e+01 0 0 0 +2808 0 1 0.0000000000000000e+00 8.3908876733722622e+01 3.2576881011615193e+01 1.4559360832699886e+01 0 0 0 +2809 0 1 0.0000000000000000e+00 8.6529319134910423e+01 3.0235683914648167e+01 1.2287291557519390e+01 0 0 0 +3651 0 1 0.0000000000000000e+00 1.0344659092819300e+02 1.3130976078542496e+01 2.5813172868390811e+01 1 0 0 +2687 0 1 0.0000000000000000e+00 1.0091511421989956e+02 3.2650397113999972e+01 6.0170892856686367e+00 0 0 0 +2686 0 1 0.0000000000000000e+00 9.7121975067510760e+01 3.2565000868945098e+01 6.3273613822245283e+00 0 0 0 +2685 0 1 0.0000000000000000e+00 9.2710749473585395e+01 3.2135243587799884e+01 6.3505744849237500e+00 0 0 0 +2684 0 1 0.0000000000000000e+00 9.4854662323444103e+01 2.7459955190121052e-02 8.4382337764041662e+00 0 1 0 +2683 0 1 0.0000000000000000e+00 9.1114717128822164e+01 3.0550395817474822e+01 3.7282195869797463e+00 0 0 0 +2682 0 1 0.0000000000000000e+00 8.8948819919438918e+01 3.2666129454055103e+01 6.3582282137154618e+00 0 0 0 +2681 0 1 0.0000000000000000e+00 8.6343293218491198e+01 3.0783516107596178e+01 3.9826161480214930e+00 0 0 0 +2680 0 1 0.0000000000000000e+00 8.4708499576202470e+01 3.2639913887369026e+01 6.4347242733155356e+00 0 0 0 +2679 0 1 0.0000000000000000e+00 8.2784188426741196e+01 3.0562484739039530e+01 3.9850163203306730e+00 0 0 0 +2678 0 1 0.0000000000000000e+00 8.0188539050741213e+01 3.2290632463434449e+01 5.7371831596667899e+00 0 0 0 +3790 0 1 0.0000000000000000e+00 1.0344188596754979e+02 2.1768018155767017e+01 2.9374371880259481e+01 1 0 -1 +2672 0 1 0.0000000000000000e+00 9.9058181737731616e+01 3.0297313235444459e+01 8.0149227853440177e+00 0 0 0 +2671 0 1 0.0000000000000000e+00 9.7206940665491146e+01 2.3913980116059747e+01 5.9782573198193045e+00 0 0 0 +2670 0 1 0.0000000000000000e+00 9.5237299528358875e+01 3.0501737877446335e+01 4.2111632468821369e+00 0 0 0 +2669 0 1 0.0000000000000000e+00 9.4943742148806294e+01 2.5785218177361891e+01 4.0903404001061148e+00 0 0 0 +2668 0 1 0.0000000000000000e+00 9.2493664339411225e+01 2.8365702050068336e+01 6.2738552913154253e+00 0 0 0 +2667 0 1 0.0000000000000000e+00 9.0576290390226958e+01 2.6161715718460659e+01 3.9781745702761957e+00 0 0 0 +2666 0 1 0.0000000000000000e+00 8.8359811666941553e+01 2.8460842332830872e+01 6.0414297839785052e+00 0 0 0 +2665 0 1 0.0000000000000000e+00 8.5755483294121007e+01 2.6071112493013654e+01 3.7159480142018899e+00 0 0 0 +2664 0 1 0.0000000000000000e+00 8.4573004700485129e+01 2.8341994434200316e+01 6.2508099328307303e+00 0 0 0 +2663 0 1 0.0000000000000000e+00 8.2427461647008755e+01 2.6415553679597956e+01 4.7791609342868062e+00 0 0 0 +2662 0 1 0.0000000000000000e+00 7.9398766184919680e+01 2.7989035257627297e+01 6.1202214932622381e+00 0 0 0 +3725 0 1 0.0000000000000000e+00 1.0045859325174943e+02 2.6106605542382479e+00 1.0425629052956257e+01 0 1 -1 +2656 0 1 0.0000000000000000e+00 1.0132059797502713e+02 2.3985127423569264e+01 5.3284240286603284e+00 0 0 0 +2655 0 1 0.0000000000000000e+00 9.8946062808391957e+01 2.1871447141661154e+01 3.7096713065978917e+00 0 0 0 +2654 0 1 0.0000000000000000e+00 9.7147521656121683e+01 2.7729931558187854e+01 6.2318612062132441e+00 0 0 0 +2653 0 1 0.0000000000000000e+00 9.4504249839823459e+01 2.1665865352510263e+01 3.9590019923685560e+00 0 0 0 +2652 0 1 0.0000000000000000e+00 9.2438901931803571e+01 2.4044613393412053e+01 5.7568445734075562e+00 0 0 0 +2651 0 1 0.0000000000000000e+00 9.0783285678467237e+01 2.1894096915804447e+01 3.3722639584903380e+00 0 0 0 +2650 0 1 0.0000000000000000e+00 8.8198125591437432e+01 2.4086330795013190e+01 5.5891059988774527e+00 0 0 0 +2649 0 1 0.0000000000000000e+00 8.6868435652860583e+01 2.1073959897249921e+01 3.2440638404059721e+00 0 0 0 +2648 0 1 0.0000000000000000e+00 8.4198475345115440e+01 2.3449355044636146e+01 5.8456620794879335e+00 0 0 0 +2647 0 1 0.0000000000000000e+00 8.1620676684542047e+01 2.1852945214422750e+01 3.4997488891841733e+00 0 0 0 +2646 0 1 0.0000000000000000e+00 8.0015276295082288e+01 2.3654136088093843e+01 5.7720873295076025e+00 0 0 0 +2645 0 1 0.0000000000000000e+00 7.7635118819039334e+01 2.1692625742111257e+01 3.6095265021782903e+00 0 0 0 +3709 0 1 0.0000000000000000e+00 1.0131954320194258e+02 1.0640709358500541e+01 1.9160976592109922e+01 0 0 0 +3766 0 1 0.0000000000000000e+00 1.0147909390659801e+02 2.8413039755920476e+01 1.7120050820561921e+00 0 0 0 +2799 0 1 0.0000000000000000e+00 1.0173250666074706e+02 2.3535259220866440e+01 1.4345176897581480e+01 0 0 0 +2638 0 1 0.0000000000000000e+00 9.6981988436626381e+01 1.9813523295286210e+01 6.0738983433678548e+00 0 0 0 +2810 0 1 0.0000000000000000e+00 8.8156276126461009e+01 3.2690420805914108e+01 1.4421971912633191e+01 0 0 0 +2636 0 1 0.0000000000000000e+00 9.2205697992864756e+01 1.9781920594744374e+01 6.2491697853488155e+00 0 0 0 +2811 0 1 0.0000000000000000e+00 9.0257257865612090e+01 3.0830533970606425e+01 1.2207902732898427e+01 0 0 0 +2634 0 1 0.0000000000000000e+00 8.8195250619388176e+01 1.9265265010480761e+01 6.1222678742084131e+00 0 0 0 +2812 0 1 0.0000000000000000e+00 9.2860326912383982e+01 3.2636041292111386e+01 1.4917544609830825e+01 0 0 0 +2632 0 1 0.0000000000000000e+00 8.3340413394336039e+01 1.9709740842242010e+01 5.9389633051503328e+00 0 0 0 +2791 0 1 0.0000000000000000e+00 8.1821199017888532e+01 2.5929686110212405e+01 1.2584522249685163e+01 0 0 0 +2630 0 1 0.0000000000000000e+00 7.9531582091906685e+01 1.9647486989938109e+01 5.8423642597487495e+00 0 0 0 +2239 0 1 0.0000000000000000e+00 1.0105030949367742e+02 1.9603052527363090e+01 5.8130370200644066e+00 0 0 0 +2813 0 1 0.0000000000000000e+00 9.4985540296661298e+01 3.0454945316077151e+01 1.2487981214634829e+01 0 0 0 +2117 0 1 0.0000000000000000e+00 7.8115510479093288e+01 5.0312107192234556e-02 3.6505488754571371e+00 0 0 0 +3506 0 1 0.0000000000000000e+00 1.0342446001449197e+02 1.3308946019760448e-01 3.4319345950768685e+01 1 0 -1 +2794 0 1 0.0000000000000000e+00 8.8568936137080456e+01 2.8565503553242774e+01 1.4199552077840696e+01 0 0 0 +2622 0 1 0.0000000000000000e+00 9.7469789123256035e+01 3.2525395001122398e+01 1.8644517313553921e+00 0 0 0 +2795 0 1 0.0000000000000000e+00 9.0954490603823658e+01 2.6115457972576134e+01 1.2272430913691293e+01 0 0 0 +2620 0 1 0.0000000000000000e+00 9.2948112470307905e+01 3.2968754078983856e+01 2.0655898243703881e+00 0 0 0 +2618 0 1 0.0000000000000000e+00 8.9113566796776610e+01 3.2196507640704631e+01 2.0127605284858183e+00 0 0 0 +2616 0 1 0.0000000000000000e+00 8.4078848508872071e+01 3.3231182390673496e+01 2.0875687850010047e+00 0 0 0 +2614 0 1 0.0000000000000000e+00 8.0472671893014308e+01 3.2278305028205821e+01 1.7286329464541637e+00 0 0 0 +2855 0 1 0.0000000000000000e+00 8.1919883066057707e+01 2.5792482234482545e+01 1.6945879822388715e+01 0 0 0 +2608 0 1 0.0000000000000000e+00 9.9763733199129248e+01 2.6302575190665074e+01 3.3650199832300141e+00 0 0 0 +2827 0 1 0.0000000000000000e+00 9.0716592666196007e+01 1.7366353066774412e+01 1.6834248005528281e+01 0 0 0 +2606 0 1 0.0000000000000000e+00 9.7202074917111105e+01 2.8377709413244350e+01 1.9646249555921975e+00 0 0 0 +2604 0 1 0.0000000000000000e+00 9.3128638576823548e+01 2.8676252210994729e+01 2.1245979602338605e+00 0 0 0 +2251 0 1 0.0000000000000000e+00 9.0582204860384635e+01 2.6907092228846703e-02 1.2541374538363083e+01 0 0 0 +2602 0 1 0.0000000000000000e+00 8.8305543857428532e+01 2.8389744821999557e+01 2.3685334114008820e+00 0 0 0 +2585 0 1 0.0000000000000000e+00 8.6072283853549195e+01 2.1975235329649028e+01 3.3614161564276273e+01 0 0 -1 +2600 0 1 0.0000000000000000e+00 8.4283481797991442e+01 2.8107135410146341e+01 1.3345205494979955e+00 0 0 0 +2598 0 1 0.0000000000000000e+00 8.0221112865683452e+01 2.7776244097805936e+01 2.4626708414569447e+00 0 0 0 +2605 0 1 0.0000000000000000e+00 9.4702954157606186e+01 2.6237898717766790e+01 3.4309773076917878e+01 0 0 -1 +2615 0 1 0.0000000000000000e+00 8.1670286709276226e+01 3.0221479756422848e+01 3.3799374699061403e+01 0 0 -1 +2255 0 1 0.0000000000000000e+00 1.0169688497827488e+02 6.2018624659085670e+00 1.4903537457824543e+01 0 0 0 +2592 0 1 0.0000000000000000e+00 1.0184488734367800e+02 2.4175802640162384e+01 1.4060877051996921e+00 0 0 0 +2590 0 1 0.0000000000000000e+00 9.7308910966079395e+01 2.4121455306898628e+01 1.8302136078642333e+00 0 0 0 +2368 0 1 0.0000000000000000e+00 1.0187472151188636e+02 1.5218573568398337e+01 1.8999160023205292e+01 0 0 0 +2588 0 1 0.0000000000000000e+00 9.2722530921285255e+01 2.4035071945246980e+01 1.6120256505737591e+00 0 0 0 +2123 0 1 0.0000000000000000e+00 9.0550431756623610e+01 5.4928481794082340e-01 4.1843724189849159e+00 0 0 0 +2586 0 1 0.0000000000000000e+00 8.8002149739677577e+01 2.3929336166503450e+01 1.2792971789036442e+00 0 0 0 +3388 0 1 0.0000000000000000e+00 1.0139015496568440e+02 1.9392011362484716e+01 1.0428434838854040e+01 0 0 1 +2584 0 1 0.0000000000000000e+00 8.4232625770184129e+01 2.3622253444226732e+01 1.7335678083645916e+00 0 0 0 +2623 0 1 0.0000000000000000e+00 1.0205729598516808e+02 2.8208288604189420e+01 6.0273741899921225e+00 0 0 0 +2582 0 1 0.0000000000000000e+00 7.9489089371213566e+01 2.3901655776106725e+01 1.6639001678697556e+00 0 0 0 +2631 0 1 0.0000000000000000e+00 8.0925204851012296e+01 1.7174676693942391e+01 3.3728253366301946e+00 0 0 0 +2637 0 1 0.0000000000000000e+00 9.4560473552777054e+01 1.7938038059948234e+01 3.7741562452083808e+00 0 0 0 +2859 0 1 0.0000000000000000e+00 9.0131084754247397e+01 2.5602169559544198e+01 1.6321815786584043e+01 0 0 0 +2576 0 1 0.0000000000000000e+00 1.0140007211406258e+02 1.9495939597700314e+01 1.9861894328882221e+00 0 0 0 +2574 0 1 0.0000000000000000e+00 9.7354951008425942e+01 1.9202185486753834e+01 1.3357959463091507e+00 0 0 0 +2814 0 1 0.0000000000000000e+00 9.9691120418792224e+01 3.0254419825878045e+01 1.6204587998833425e+01 0 0 0 +2572 0 1 0.0000000000000000e+00 9.2042583380835069e+01 1.9717417241946940e+01 1.4056122539692031e+00 0 0 0 +2815 0 1 0.0000000000000000e+00 1.0172222114308049e+02 3.2754663415545764e+01 1.5284019579740587e+01 0 0 0 +2570 0 1 0.0000000000000000e+00 8.8264548345868135e+01 1.8814675243432625e+01 1.1461062296261439e+00 0 0 0 +2597 0 1 0.0000000000000000e+00 7.6764386910866648e+01 2.5947441098402884e+01 3.4478226603861621e+01 0 0 -1 +2568 0 1 0.0000000000000000e+00 8.3984130825048567e+01 1.9435755336690608e+01 2.0744726994599687e+00 0 0 0 +3708 0 1 0.0000000000000000e+00 1.0360375143132910e+02 1.2574404796067260e+01 1.2632128568770961e+01 0 0 0 +2566 0 1 0.0000000000000000e+00 7.9509503538607220e+01 2.0107836537247305e+01 1.0870139212284839e+00 0 0 0 +2635 0 1 0.0000000000000000e+00 9.0771474880043982e+01 1.7865955247785859e+01 4.1925296963862460e+00 0 0 0 +2305 0 1 0.0000000000000000e+00 9.9845439719285764e+01 4.2412747810766055e-01 1.2892596996398371e+01 -1 0 0 +2571 0 1 0.0000000000000000e+00 9.0419357112541761e+01 1.7058229334061959e+01 3.3643206978226942e+01 0 0 -1 +2501 0 1 0.0000000000000000e+00 7.7641332199353371e+01 5.0558924724800641e-02 2.9849006934012650e+01 0 0 0 +2105 0 1 0.0000000000000000e+00 8.6524444570886246e+01 1.2272700869820227e+01 3.3857690402442337e+01 0 0 -1 +2057 0 1 0.0000000000000000e+00 8.6572200471470168e+01 1.0219067467463359e-01 2.5040335564162297e-01 0 0 0 +2957 0 1 0.0000000000000000e+00 9.5470548255148671e+01 1.7325252587336323e+01 2.5744078617701742e+01 0 0 0 +2951 0 1 0.0000000000000000e+00 8.1574618014593753e+01 1.7699985430109830e+01 2.5918570595332191e+01 0 0 0 +2823 0 1 0.0000000000000000e+00 8.1761363295352623e+01 1.7224995519402370e+01 1.6921126605334884e+01 0 0 0 +3960 0 1 0.0000000000000000e+00 1.0142796725982532e+02 1.0571859093645346e+01 1.4587048755174706e+01 0 0 0 +2053 0 1 0.0000000000000000e+00 7.7210311258865190e+01 1.7315103835299139e-01 3.3974699596158757e+01 0 0 -1 +2891 0 1 0.0000000000000000e+00 9.0360639254696380e+01 1.7159200427600346e+01 2.1298240721788428e+01 0 0 0 +2331 0 1 0.0000000000000000e+00 9.0548428402619876e+01 4.3190145310284569e+00 1.7076359839235280e+01 0 0 0 +3021 0 1 0.0000000000000000e+00 9.5038082443476512e+01 1.6898190220824524e+01 3.0196840704944211e+01 0 0 0 +2089 0 1 0.0000000000000000e+00 8.6343119643288986e+01 8.5394082821860202e+00 3.3895546042011169e+01 0 0 -1 +2535 0 1 0.0000000000000000e+00 8.1772292467094360e+01 8.4774784123179128e+00 3.0108325310549624e+01 0 0 0 +2534 0 1 0.0000000000000000e+00 7.9568308898258195e+01 1.1092147377029470e+01 3.1733869488908734e+01 0 0 0 +2528 0 1 0.0000000000000000e+00 9.8839308226705754e+01 4.0217019426669074e+00 3.4358981997152107e+01 0 0 0 +2527 0 1 0.0000000000000000e+00 9.8867840911357163e+01 4.1807809023423346e+00 2.9240258210162928e+01 0 0 0 +2526 0 1 0.0000000000000000e+00 9.7718637892764320e+01 6.5535986309458734e+00 3.2408388507169278e+01 0 0 0 +2525 0 1 0.0000000000000000e+00 9.4689167424485007e+01 4.0083740911878065e+00 2.9858416461701061e+01 0 0 0 +2524 0 1 0.0000000000000000e+00 9.2344080704128061e+01 6.6443088957137295e+00 3.1958484819049843e+01 0 0 0 +2523 0 1 0.0000000000000000e+00 9.0418851387251948e+01 4.0898572825593122e+00 2.8992644853252457e+01 0 0 0 +2522 0 1 0.0000000000000000e+00 8.8184397911496603e+01 6.1799600566649868e+00 3.1671065528516316e+01 0 0 0 +2521 0 1 0.0000000000000000e+00 8.6288706079050598e+01 4.1858806148165186e+00 2.9553863078819990e+01 0 0 0 +2520 0 1 0.0000000000000000e+00 8.4173594085876402e+01 6.2818162997841638e+00 3.1573860074215496e+01 0 0 0 +2519 0 1 0.0000000000000000e+00 8.1671928218808773e+01 4.0563700277959942e+00 3.0268980205339794e+01 0 0 0 +2518 0 1 0.0000000000000000e+00 7.9291534493506774e+01 6.9876132473105992e+00 3.1736625559017583e+01 0 0 0 +2517 0 1 0.0000000000000000e+00 7.7464095880718673e+01 4.5532542700774492e+00 2.9901847785630189e+01 0 0 0 +3876 0 1 0.0000000000000000e+00 1.0331065700924152e+02 2.2232014120520603e+01 7.7038537643294971e+00 1 0 0 +2510 0 1 0.0000000000000000e+00 9.6942169736638803e+01 2.0934558164800725e+00 3.1646322661356667e+01 0 0 0 +2508 0 1 0.0000000000000000e+00 9.2338916562546061e+01 2.3838611396250382e+00 3.1522872252463625e+01 0 0 0 +2539 0 1 0.0000000000000000e+00 9.1169176895188514e+01 9.1452553165383321e+00 2.9410958749247140e+01 0 0 0 +2506 0 1 0.0000000000000000e+00 8.8306349674737120e+01 2.2766178405183100e+00 3.1783945716057978e+01 0 0 0 +2821 0 1 0.0000000000000000e+00 7.7513116804072880e+01 1.6930746645997186e+01 1.6495832285274272e+01 0 0 0 +2504 0 1 0.0000000000000000e+00 8.4210144400762630e+01 2.0930330634015806e+00 3.2369333357340111e+01 0 0 0 +2502 0 1 0.0000000000000000e+00 7.9571869211030304e+01 1.9726257218556105e+00 3.2138061941751118e+01 0 0 0 +2895 0 1 0.0000000000000000e+00 9.9635405514998723e+01 1.7303500995571184e+01 2.0881966850910977e+01 0 0 0 +2496 0 1 0.0000000000000000e+00 9.8859925157148027e+01 1.3058571587561678e+01 3.0412491981565410e+01 0 0 0 +2495 0 1 0.0000000000000000e+00 9.9489354994736658e+01 1.3472377760815267e+01 2.5413278392511501e+01 0 0 0 +2494 0 1 0.0000000000000000e+00 9.9392183873641883e+01 1.6841312807940323e+01 2.6028612671744547e+01 0 0 0 +2493 0 1 0.0000000000000000e+00 9.5002074033920621e+01 1.3190040474478241e+01 2.5491202236893006e+01 0 0 0 +2492 0 1 0.0000000000000000e+00 9.3183512944467864e+01 1.5473232620697727e+01 2.7730744752951797e+01 0 0 0 +2491 0 1 0.0000000000000000e+00 9.0909320944179242e+01 1.3731321884443627e+01 2.4945281969393903e+01 0 0 0 +2490 0 1 0.0000000000000000e+00 8.7543451121557922e+01 1.4906800989484182e+01 2.7109835802828194e+01 0 0 0 +2489 0 1 0.0000000000000000e+00 8.5407305806091117e+01 1.2508943198779097e+01 2.5229268734177158e+01 0 0 0 +2488 0 1 0.0000000000000000e+00 8.3378734474974621e+01 1.4830328932913739e+01 2.7310934911303164e+01 0 0 0 +2487 0 1 0.0000000000000000e+00 8.1447100106048879e+01 1.2752368942458190e+01 2.5017994511492841e+01 0 0 0 +2486 0 1 0.0000000000000000e+00 7.9801463727857168e+01 1.5351938416103337e+01 2.7115798257938437e+01 0 0 0 +2481 0 1 0.0000000000000000e+00 1.0151350174763563e+02 1.5739269528755374e+01 2.3499927876831723e+01 -1 0 0 +2480 0 1 0.0000000000000000e+00 1.0067862460686531e+02 1.1158791045003500e+01 2.7570280466829207e+01 0 0 0 +2479 0 1 0.0000000000000000e+00 9.8611027047973948e+01 7.9935356954720067e+00 2.5777478506296536e+01 0 0 0 +2478 0 1 0.0000000000000000e+00 9.7176935532529171e+01 1.0784455439286068e+01 2.7609714399202321e+01 0 0 0 +2477 0 1 0.0000000000000000e+00 9.4736666263099337e+01 8.8162708329943342e+00 2.5708907167800351e+01 0 0 0 +2476 0 1 0.0000000000000000e+00 9.3226922100563698e+01 1.1507406965205949e+01 2.7478442420525507e+01 0 0 0 +2475 0 1 0.0000000000000000e+00 9.0479640851649805e+01 9.1160304039153157e+00 2.5782714269457990e+01 0 0 0 +2474 0 1 0.0000000000000000e+00 8.8307769228060764e+01 1.1284847890810154e+01 2.7515555077057194e+01 0 0 0 +2473 0 1 0.0000000000000000e+00 8.6576349922791280e+01 8.9350774640308988e+00 2.5777795675447958e+01 0 0 0 +2472 0 1 0.0000000000000000e+00 8.3794471975999357e+01 1.0487655328118800e+01 2.7199966209663199e+01 0 0 0 +2471 0 1 0.0000000000000000e+00 8.1494431269520987e+01 9.0191058121339704e+00 2.4863345347148957e+01 0 0 0 +2470 0 1 0.0000000000000000e+00 8.0132260631138337e+01 1.0447416918547397e+01 2.7925050218846327e+01 0 0 0 +2465 0 1 0.0000000000000000e+00 1.0112568144667775e+02 6.5284575645305987e+00 2.7584962896340667e+01 -1 0 0 +3788 0 1 0.0000000000000000e+00 1.0352904439680580e+02 2.6015290295970491e+01 8.5221263055599525e+00 0 0 0 +2463 0 1 0.0000000000000000e+00 9.9077399835414937e+01 4.1980427039394161e+00 2.5269401101806544e+01 0 0 0 +2462 0 1 0.0000000000000000e+00 9.6607898160646869e+01 6.4891355653396730e+00 2.8262767464059650e+01 0 0 0 +2461 0 1 0.0000000000000000e+00 9.5143383459968589e+01 4.1031096028242748e+00 2.5849615566505118e+01 0 0 0 +2460 0 1 0.0000000000000000e+00 9.2728292950663757e+01 6.6830343050163536e+00 2.7695452885451498e+01 0 0 0 +2459 0 1 0.0000000000000000e+00 9.0601071949761788e+01 4.8363583107337833e+00 2.5311852556333047e+01 0 0 0 +2458 0 1 0.0000000000000000e+00 8.8549616222225453e+01 6.7920733274087732e+00 2.7685224871734469e+01 0 0 0 +2457 0 1 0.0000000000000000e+00 8.5934210533259289e+01 4.4549200071051214e+00 2.5387545193879049e+01 0 0 0 +2456 0 1 0.0000000000000000e+00 8.4028631463209067e+01 6.6834221845633808e+00 2.7688019749186235e+01 0 0 0 +2455 0 1 0.0000000000000000e+00 8.2142516936811447e+01 3.7053297214668781e+00 2.5659911336149921e+01 0 0 0 +2454 0 1 0.0000000000000000e+00 8.0123209539678925e+01 6.6524556603584122e+00 2.7647904970021848e+01 0 0 0 +2448 0 1 0.0000000000000000e+00 9.9215335416597540e+01 1.8025510918127685e-01 2.9705172064018246e+01 0 0 0 +2550 0 1 0.0000000000000000e+00 8.0230051296672428e+01 1.5414257300927810e+01 3.2564014675141422e+01 0 0 0 +2446 0 1 0.0000000000000000e+00 9.6495493976272272e+01 1.6531678678837258e+00 2.8016988793511800e+01 0 0 0 +2551 0 1 0.0000000000000000e+00 8.1298894545301692e+01 1.3133646127214512e+01 2.9786610497518659e+01 0 0 0 +2444 0 1 0.0000000000000000e+00 9.2609874968058719e+01 2.6432853000147727e+00 2.7424936431760038e+01 0 0 0 +2552 0 1 0.0000000000000000e+00 8.4160547347497754e+01 1.5313929899132743e+01 3.2494517736294178e+01 0 0 0 +2442 0 1 0.0000000000000000e+00 8.8134930579625888e+01 1.8224172254077489e+00 2.7251052604703581e+01 0 0 0 +2553 0 1 0.0000000000000000e+00 8.5367271393206948e+01 1.3142419450236297e+01 2.9823342976214661e+01 0 0 0 +2440 0 1 0.0000000000000000e+00 8.4231370100602433e+01 2.5738249893313734e+00 2.7718159906054741e+01 0 0 0 +2554 0 1 0.0000000000000000e+00 8.7976652632777856e+01 1.5232011857048454e+01 3.2066899243404357e+01 0 0 0 +2438 0 1 0.0000000000000000e+00 7.9512285908724380e+01 2.1518339154633574e+00 2.7951242349702593e+01 0 0 0 +2555 0 1 0.0000000000000000e+00 9.0574160220909505e+01 1.3369813751876297e+01 2.9033622559998111e+01 0 0 0 +2556 0 1 0.0000000000000000e+00 9.2370498639533835e+01 1.4821473215493320e+01 3.1222417326875327e+01 0 0 0 +2544 0 1 0.0000000000000000e+00 1.0303044026612429e+02 1.2499804848417119e+01 3.0290590176193895e+01 0 0 0 +2431 0 1 0.0000000000000000e+00 9.9170048330303885e+01 1.3172096625790163e+01 2.1102262755012351e+01 0 0 0 +2430 0 1 0.0000000000000000e+00 9.7336263593531456e+01 1.4839540438893515e+01 2.3169523168071606e+01 0 0 0 +2429 0 1 0.0000000000000000e+00 9.4846828922396057e+01 1.3163166166444002e+01 2.1195500918374059e+01 0 0 0 +2428 0 1 0.0000000000000000e+00 9.3634512545311736e+01 1.4908340695848704e+01 2.3379830999693755e+01 0 0 0 +2427 0 1 0.0000000000000000e+00 9.0814494070988616e+01 1.2996442278624155e+01 2.1794454007897663e+01 0 0 0 +2426 0 1 0.0000000000000000e+00 8.7991809386857000e+01 1.5359467429459528e+01 2.3178103459512354e+01 0 0 0 +2425 0 1 0.0000000000000000e+00 8.6347767021709316e+01 1.3584026278568038e+01 2.0715705817536350e+01 0 0 0 +2424 0 1 0.0000000000000000e+00 8.3256944300103882e+01 1.5006317378479837e+01 2.3468504566162878e+01 0 0 0 +2423 0 1 0.0000000000000000e+00 8.1280169763470923e+01 1.2200790621820767e+01 2.1594527116503372e+01 0 0 0 +2422 0 1 0.0000000000000000e+00 7.9452118382172941e+01 1.5454629551222123e+01 2.3245004748536132e+01 0 0 0 +2541 0 1 0.0000000000000000e+00 9.4746234493507757e+01 8.9325143534981244e+00 3.0206151074258425e+01 0 0 0 +2416 0 1 0.0000000000000000e+00 1.0092883337548975e+02 1.0282407043500195e+01 2.3665083472577869e+01 0 0 0 +2415 0 1 0.0000000000000000e+00 1.0118310002538307e+02 6.3264748669508126e+00 2.3247709357663318e+01 0 0 0 +2414 0 1 0.0000000000000000e+00 9.6772990440781641e+01 1.0766076378924470e+01 2.3527134096702266e+01 0 0 0 +2413 0 1 0.0000000000000000e+00 9.4507278021330777e+01 8.5712520293685959e+00 2.1689573244832701e+01 0 0 0 +2412 0 1 0.0000000000000000e+00 9.3139254987520317e+01 1.0959322143373381e+01 2.3646049692825414e+01 0 0 0 +2411 0 1 0.0000000000000000e+00 9.0908974329676340e+01 8.2301564787104873e+00 2.1786120239221848e+01 0 0 0 +2410 0 1 0.0000000000000000e+00 8.8481687872846052e+01 1.1111111852142503e+01 2.3329366055692205e+01 0 0 0 +2409 0 1 0.0000000000000000e+00 8.6443243078768347e+01 8.9928160090801992e+00 2.0619995574931341e+01 0 0 0 +2408 0 1 0.0000000000000000e+00 8.4370034688674139e+01 1.0549616809036511e+01 2.3090657334725297e+01 0 0 0 +2407 0 1 0.0000000000000000e+00 8.2071561306110212e+01 8.7741957750310728e+00 2.0685734654685621e+01 0 0 0 +2406 0 1 0.0000000000000000e+00 7.9024623539016105e+01 1.0546663632530652e+01 2.3518157357773731e+01 0 0 0 +2896 0 1 0.0000000000000000e+00 1.0376374408603996e+02 2.1892663728988765e+01 2.0693463734299772e+01 0 0 0 +2399 0 1 0.0000000000000000e+00 1.0153945283493161e+02 6.4585110290771706e+00 1.9186962023038706e+01 0 0 0 +2398 0 1 0.0000000000000000e+00 9.6924576647213257e+01 6.5525271375744518e+00 2.3395073934024698e+01 0 0 0 +2397 0 1 0.0000000000000000e+00 9.5347159997696664e+01 4.0723726949316399e+00 2.1625764749169385e+01 0 0 0 +2396 0 1 0.0000000000000000e+00 9.3487213351622970e+01 6.2519106294802311e+00 2.3716167598777361e+01 0 0 0 +2395 0 1 0.0000000000000000e+00 9.0504960947799674e+01 5.2064631844015112e+00 2.1616266177508660e+01 0 0 0 +2697 0 1 0.0000000000000000e+00 8.6240419253136068e+01 1.7289231101471046e+01 8.2116497100198718e+00 0 0 0 +3332 0 1 0.0000000000000000e+00 1.0086727760641544e+02 6.8515040080820535e+00 1.0853911222986381e+01 0 0 0 +2054 0 1 0.0000000000000000e+00 8.0249460779883606e+01 2.0064675819435207e+00 1.3289862718924446e+00 0 0 0 +2303 0 1 0.0000000000000000e+00 9.9639042752974419e+01 1.2733958047596257e+01 1.2650305633573090e+01 0 0 0 +2056 0 1 0.0000000000000000e+00 8.3837187473930456e+01 2.7245575446186803e+00 1.9758088882608875e+00 0 0 0 +2058 0 1 0.0000000000000000e+00 8.8678490201857642e+01 2.7665933385447650e+00 2.1654778097598766e+00 0 0 0 +2825 0 1 0.0000000000000000e+00 8.6818934595302949e+01 1.6826252120660207e+01 1.8113158463553184e+01 0 0 0 +2060 0 1 0.0000000000000000e+00 9.3084337778701922e+01 2.4318154755219035e+00 2.0241142880742951e+00 0 0 0 +2302 0 1 0.0000000000000000e+00 9.9598676030426063e+01 1.7428495378792316e+01 1.6510102605349218e+01 0 0 0 +3236 0 1 0.0000000000000000e+00 1.0336724569088348e+02 1.9157867324491751e-01 1.7118049057516068e+01 0 0 0 +2064 0 1 0.0000000000000000e+00 1.0112943120411180e+02 2.6119134543113480e+00 3.1501512345852035e+01 0 0 -1 +2055 0 1 0.0000000000000000e+00 8.2248831023356374e+01 3.4434704737427424e+01 3.3887976458700578e+01 0 -1 -1 +2349 0 1 0.0000000000000000e+00 9.4671582545309093e+01 8.8466256842906468e+00 1.6523612689949800e+01 0 0 0 +2101 0 1 0.0000000000000000e+00 7.7185056778817724e+01 1.2676653741583426e+01 3.3924370577083451e+01 0 0 -1 +2070 0 1 0.0000000000000000e+00 7.9574687003908139e+01 7.3621596367997313e+00 2.1269468969966789e+00 0 0 0 +2072 0 1 0.0000000000000000e+00 8.4094899487830361e+01 6.8881214569194045e+00 1.5973123876791262e+00 0 0 0 +2074 0 1 0.0000000000000000e+00 8.8288161102064464e+01 6.8200192824105557e+00 2.0495540373648722e+00 0 0 0 +2361 0 1 0.0000000000000000e+00 8.6205106028025426e+01 1.3538306614383094e+01 1.7233133014881034e+01 0 0 0 +2076 0 1 0.0000000000000000e+00 9.2624460512775443e+01 6.2875595151261576e+00 1.3154023462225275e+00 0 0 0 +2343 0 1 0.0000000000000000e+00 8.2472910749496549e+01 8.4360177608024731e+00 1.6521722506553992e+01 0 0 0 +2078 0 1 0.0000000000000000e+00 9.6936004570690116e+01 6.2647765237853070e+00 1.9872867291870602e+00 0 0 0 +2575 0 1 0.0000000000000000e+00 9.8748382372916097e+01 1.6571670389675209e+01 3.3514948876024178e+01 0 0 -1 +2336 0 1 0.0000000000000000e+00 1.0310751948057060e+02 8.5270782075246405e+00 2.1584239854587370e+01 0 0 0 +3962 0 1 0.0000000000000000e+00 1.0193537755848050e+02 1.9875535538378073e+00 2.8005531083132002e+01 0 1 0 +2759 0 1 0.0000000000000000e+00 8.2354465304333260e+01 1.6682393942208563e+01 1.2778194382604385e+01 0 0 0 +2313 0 1 0.0000000000000000e+00 8.5362805918838774e+01 9.8552473335903293e-02 1.6748147648512401e+01 0 0 0 +2086 0 1 0.0000000000000000e+00 7.9517673244338923e+01 1.0839618166948153e+01 1.9222405215859371e+00 0 0 0 +2088 0 1 0.0000000000000000e+00 8.4323246419962274e+01 1.0857968900180326e+01 1.1851195957916185e+00 0 0 0 +2090 0 1 0.0000000000000000e+00 8.8154704191327781e+01 1.0930150383844859e+01 1.8743892989365658e+00 0 0 0 +2092 0 1 0.0000000000000000e+00 9.2051121497631286e+01 1.0691084593908055e+01 1.5162506176680741e+00 0 0 0 +2767 0 1 0.0000000000000000e+00 9.9834225419593878e+01 1.7542437771390791e+01 1.2690750652278259e+01 0 0 0 +2094 0 1 0.0000000000000000e+00 9.6528918036402359e+01 1.0865607005588391e+01 1.3367358591862870e+00 0 0 0 +2367 0 1 0.0000000000000000e+00 9.7423058322361541e+01 1.5209943898156254e+01 1.4524289295204863e+01 0 0 0 +2096 0 1 0.0000000000000000e+00 9.8702383176085789e+01 1.3140377601267698e+01 4.1501059224353458e+00 0 0 0 +2311 0 1 0.0000000000000000e+00 8.1830042079310473e+01 1.1741229767787840e-01 1.7014537107314947e+01 0 0 0 +3408 0 1 0.0000000000000000e+00 1.0189795662763356e+02 2.3792530353033705e+01 3.1542362084726904e+01 0 0 0 +2699 0 1 0.0000000000000000e+00 9.0905968999049364e+01 1.7559920576079232e+01 8.4480456386013110e+00 0 0 0 +2102 0 1 0.0000000000000000e+00 7.9597040124776967e+01 1.4486569396654115e+01 1.5840926871165650e+00 0 0 0 +2286 0 1 0.0000000000000000e+00 9.4988429184512597e+01 8.8061882227858135e+00 1.2474465475543676e+01 0 0 0 +2104 0 1 0.0000000000000000e+00 8.4253589717012233e+01 1.4865569039274417e+01 1.6308773976148436e+00 0 0 0 +2285 0 1 0.0000000000000000e+00 9.7110949052625728e+01 7.0627663474850761e+00 1.0939058648564954e+01 0 0 0 +2106 0 1 0.0000000000000000e+00 8.8513546952616437e+01 1.4911258901799581e+01 1.7369787281799942e+00 0 0 0 +2284 0 1 0.0000000000000000e+00 9.2227585203065004e+01 1.0242950422431756e+01 1.4545830421101329e+01 0 0 0 +2108 0 1 0.0000000000000000e+00 9.1995974324858253e+01 1.5456920003317807e+01 2.2050984982272679e+00 0 0 0 +2282 0 1 0.0000000000000000e+00 8.8485079513301159e+01 1.1842435980217108e+01 1.4894648814636673e+01 0 0 0 +2110 0 1 0.0000000000000000e+00 9.9396364374823094e+01 1.7055490778635221e+01 4.4522244766172152e+00 0 0 0 +2283 0 1 0.0000000000000000e+00 8.9993981670714035e+01 8.8336642066717470e+00 1.2741004641192104e+01 0 0 0 +2112 0 1 0.0000000000000000e+00 1.0087034047390827e+02 1.5463273588094189e+01 1.8291343997537086e+00 0 0 0 +2301 0 1 0.0000000000000000e+00 9.4801643928283454e+01 1.2875550161457820e+01 1.2904766048017406e+01 0 0 0 +2103 0 1 0.0000000000000000e+00 8.1928812497139873e+01 1.2825568738213429e+01 3.3818603358741505e+01 0 0 -1 +2300 0 1 0.0000000000000000e+00 9.3297059411136260e+01 1.5863882426438227e+01 1.4772470028645071e+01 0 0 0 +2118 0 1 0.0000000000000000e+00 7.9081594756884783e+01 2.1699413507776599e+00 6.1170726016178865e+00 0 0 0 +2299 0 1 0.0000000000000000e+00 9.0807367584450759e+01 1.3480702067468519e+01 1.3070748168104492e+01 0 0 0 +2120 0 1 0.0000000000000000e+00 8.4194765476724527e+01 1.7911406426388534e+00 6.4029599989874058e+00 0 0 0 +2183 0 1 0.0000000000000000e+00 8.1550790591989895e+01 3.4256506324760252e+01 8.5238181915297240e+00 0 -1 0 +2122 0 1 0.0000000000000000e+00 8.8561988554587401e+01 2.0311330310380851e+00 6.6530887902773443e+00 0 0 0 +2124 0 1 0.0000000000000000e+00 9.2637892500306108e+01 2.6655885307644960e+00 6.4222234200790442e+00 0 0 0 +2298 0 1 0.0000000000000000e+00 8.8213122253219055e+01 1.5529438000232163e+01 1.5348663971764356e+01 0 0 0 +2126 0 1 0.0000000000000000e+00 9.9450815388461081e+01 4.4112275567033237e+00 4.4918107158489216e+00 0 0 0 +2297 0 1 0.0000000000000000e+00 8.6439678749040155e+01 1.3461035994062305e+01 1.2907429516554757e+01 0 0 0 +2128 0 1 0.0000000000000000e+00 1.0135356382707745e+02 2.6871174107347007e+00 6.8600097917685288e+00 0 0 0 +2133 0 1 0.0000000000000000e+00 7.7934652821263484e+01 4.4587328795621799e+00 4.1216044326644283e+00 0 0 0 +2134 0 1 0.0000000000000000e+00 7.9430921517018689e+01 6.9542888518372319e+00 6.3584104313750940e+00 0 0 0 +2135 0 1 0.0000000000000000e+00 8.1444438026076085e+01 4.4792685023610437e+00 4.0183110200201062e+00 0 0 0 +2136 0 1 0.0000000000000000e+00 8.3934717393907221e+01 6.5436597693146350e+00 5.6691079004583926e+00 0 0 0 +2137 0 1 0.0000000000000000e+00 8.6432725754573525e+01 4.7139747380889450e+00 4.0331919426830432e+00 0 0 0 +2138 0 1 0.0000000000000000e+00 8.8520021295420065e+01 6.5483888223883069e+00 5.6340657246196422e+00 0 0 0 +2139 0 1 0.0000000000000000e+00 9.0803193134637311e+01 4.8220897602765094e+00 3.7638143802616608e+00 0 0 0 +2140 0 1 0.0000000000000000e+00 9.3208823926722289e+01 6.4495372452284023e+00 6.4989218632824546e+00 0 0 0 +2141 0 1 0.0000000000000000e+00 9.5278586439135196e+01 4.7444745170089364e+00 4.2036996148431207e+00 0 0 0 +2142 0 1 0.0000000000000000e+00 9.6752587158431822e+01 7.2457425386580487e+00 6.1566902410895974e+00 0 0 0 +2143 0 1 0.0000000000000000e+00 1.0115050642594822e+02 2.2768398175479643e+00 2.1469142515453501e+00 0 0 0 +2144 0 1 0.0000000000000000e+00 1.0134073009346081e+02 6.6258590549251144e+00 7.3650723125809474e+00 0 0 0 +3847 0 1 0.0000000000000000e+00 1.0125900897343075e+02 5.8386112644139496e+00 3.2099182398825278e+01 0 1 0 +2150 0 1 0.0000000000000000e+00 7.9538732016397660e+01 1.1275758957940200e+01 5.9616977902262125e+00 0 0 0 +2151 0 1 0.0000000000000000e+00 8.1758850905334853e+01 9.1213248428466578e+00 4.2393586222598696e+00 0 0 0 +2152 0 1 0.0000000000000000e+00 8.4228689787805806e+01 1.0726002278379097e+01 6.2477171953607860e+00 0 0 0 +2153 0 1 0.0000000000000000e+00 8.6106123608594373e+01 8.7614232345722556e+00 4.2368387164823265e+00 0 0 0 +2154 0 1 0.0000000000000000e+00 8.8597575027801184e+01 1.0715545171877524e+01 6.3614499876609019e+00 0 0 0 +2155 0 1 0.0000000000000000e+00 9.0321048812698976e+01 8.7099129870229302e+00 3.9422055588459344e+00 0 0 0 +2156 0 1 0.0000000000000000e+00 9.3168750854333965e+01 1.0247256769367167e+01 5.7388158967562202e+00 0 0 0 +2157 0 1 0.0000000000000000e+00 9.4599446369104754e+01 8.3113193163653332e+00 3.5281775529428807e+00 0 0 0 +2158 0 1 0.0000000000000000e+00 1.0108029070355711e+02 1.5310167918984455e+01 1.0207661253761547e+01 0 0 0 +2159 0 1 0.0000000000000000e+00 9.7299162206258927e+01 1.1005199589575122e+01 6.0194065848122094e+00 0 0 0 +2160 0 1 0.0000000000000000e+00 9.9251415800598622e+01 1.3104407204039148e+01 8.4909883970951494e+00 0 0 0 +2567 0 1 0.0000000000000000e+00 8.1606027392413793e+01 1.7571669938285254e+01 3.4278625867581432e+01 0 0 -1 +2165 0 1 0.0000000000000000e+00 7.7208749566168237e+01 1.2724481247302185e+01 3.4651572766138732e+00 0 0 0 +2166 0 1 0.0000000000000000e+00 7.9455791907622697e+01 1.4904462858519237e+01 5.9583088169555039e+00 0 0 0 +2167 0 1 0.0000000000000000e+00 8.1648204382311960e+01 1.3024686409170311e+01 3.6724559752198371e+00 0 0 0 +2168 0 1 0.0000000000000000e+00 8.4160592275894757e+01 1.4832087386276331e+01 5.9879690335787918e+00 0 0 0 +2169 0 1 0.0000000000000000e+00 8.6309822338249106e+01 1.2824470781865493e+01 3.7702500837246022e+00 0 0 0 +2170 0 1 0.0000000000000000e+00 8.8377082490719317e+01 1.5372243448482747e+01 6.3418801484846137e+00 0 0 0 +2171 0 1 0.0000000000000000e+00 9.0465179029793518e+01 1.2714826236174664e+01 3.9945797711348829e+00 0 0 0 +2172 0 1 0.0000000000000000e+00 9.2343632148924371e+01 1.5494415965977540e+01 6.2535998953481560e+00 0 0 0 +2173 0 1 0.0000000000000000e+00 9.4350735290266911e+01 1.3080499716216318e+01 3.9429800056199364e+00 0 0 0 +2174 0 1 0.0000000000000000e+00 9.6702123896831509e+01 1.5063146300621533e+01 6.3709779542351468e+00 0 0 0 +2175 0 1 0.0000000000000000e+00 1.0104273264243878e+02 1.4524734100653236e+01 5.7785057402631876e+00 0 0 0 +2464 0 1 0.0000000000000000e+00 1.0307191089111508e+02 8.6062741105830565e+00 2.9788469500382131e+01 0 0 0 +2296 0 1 0.0000000000000000e+00 8.4621251884823906e+01 1.5377172766852528e+01 1.4972991203193223e+01 0 0 0 +2281 0 1 0.0000000000000000e+00 8.6853699617029434e+01 8.7171423301218542e+00 1.2281747805830177e+01 0 0 0 +2295 0 1 0.0000000000000000e+00 8.2078610411277964e+01 1.2813521366566222e+01 1.2865644902662188e+01 0 0 0 +2182 0 1 0.0000000000000000e+00 7.9653029419548005e+01 1.6347417893234732e+00 1.0637544503340012e+01 0 0 0 +2280 0 1 0.0000000000000000e+00 8.4404142508173891e+01 1.0860314221733113e+01 1.4852594725961877e+01 0 0 0 +2184 0 1 0.0000000000000000e+00 8.4135597977405823e+01 1.9255690101673266e+00 1.0594465712590633e+01 0 0 0 +2294 0 1 0.0000000000000000e+00 7.9766730889913788e+01 1.5126952031217247e+01 1.4442992503169835e+01 0 0 0 +2186 0 1 0.0000000000000000e+00 8.8378255663334613e+01 2.3612364725905555e+00 1.0194278487605700e+01 0 0 0 +2188 0 1 0.0000000000000000e+00 9.2363690158271652e+01 2.4978281285659585e+00 1.0518812522262852e+01 0 0 0 +2190 0 1 0.0000000000000000e+00 9.7230462226245606e+01 2.1106656321571968e+00 1.0660184158126595e+01 0 0 0 +2279 0 1 0.0000000000000000e+00 8.1620752799856916e+01 9.0993472979342691e+00 1.1996861140315517e+01 0 0 0 +2192 0 1 0.0000000000000000e+00 1.0137779148808178e+02 2.4932545052939390e+00 1.4706882977714761e+01 0 0 0 +2198 0 1 0.0000000000000000e+00 7.9745984237221620e+01 6.5175121961784876e+00 1.0446216564753341e+01 0 0 0 +2199 0 1 0.0000000000000000e+00 8.1817576504885523e+01 4.0721490886605229e+00 8.2909351423724615e+00 0 0 0 +2200 0 1 0.0000000000000000e+00 8.3819962354931789e+01 6.7975903049497539e+00 1.0066760982232186e+01 0 0 0 +2201 0 1 0.0000000000000000e+00 8.6013118997846718e+01 4.3730860852649842e+00 8.1899121888340449e+00 0 0 0 +2202 0 1 0.0000000000000000e+00 8.8681809807484086e+01 5.5934095677723450e+00 1.0283346197330907e+01 0 0 0 +2203 0 1 0.0000000000000000e+00 9.0505875839047206e+01 4.8837645560160770e+00 7.8990153940982344e+00 0 0 0 +2204 0 1 0.0000000000000000e+00 9.2816137816252947e+01 6.7562512647227164e+00 1.0587247322256601e+01 0 0 0 +2205 0 1 0.0000000000000000e+00 9.4937389412449278e+01 4.7625006896953748e+00 8.6518569853879761e+00 0 0 0 +2206 0 1 0.0000000000000000e+00 9.8855979787892039e+01 8.8384199845379889e+00 8.2303669750937978e+00 0 0 0 +2207 0 1 0.0000000000000000e+00 9.8425251886616081e+01 4.7457890118104320e+00 8.1763387255143574e+00 0 0 0 +2704 0 1 0.0000000000000000e+00 9.9529064198542301e+01 1.7517874654318653e+01 8.1162850866424083e+00 0 0 0 +2214 0 1 0.0000000000000000e+00 7.9535995846125886e+01 1.1170426627534136e+01 9.8980441665380337e+00 0 0 0 +2215 0 1 0.0000000000000000e+00 8.1476481416247282e+01 8.6463583784140337e+00 8.0999457786936340e+00 0 0 0 +2216 0 1 0.0000000000000000e+00 8.4613996231566560e+01 1.0810327444381093e+01 1.0781002217885341e+01 0 0 0 +2217 0 1 0.0000000000000000e+00 8.6657108321080557e+01 8.4835188580376339e+00 8.1205718420304098e+00 0 0 0 +2218 0 1 0.0000000000000000e+00 8.8735532385132018e+01 1.1488241733032831e+01 1.0396992870943244e+01 0 0 0 +2219 0 1 0.0000000000000000e+00 9.0041308267308168e+01 8.5074274699569941e+00 8.7616562582362505e+00 0 0 0 +2220 0 1 0.0000000000000000e+00 9.2651743549582093e+01 1.0700099903417822e+01 1.0643261224635321e+01 0 0 0 +2221 0 1 0.0000000000000000e+00 9.4928536341245902e+01 9.0653586452070183e+00 8.8063236219843581e+00 0 0 0 +2222 0 1 0.0000000000000000e+00 9.7406435466267240e+01 1.1402511908458850e+01 1.0604511774959109e+01 0 0 0 +2223 0 1 0.0000000000000000e+00 1.0146610080005820e+02 1.0973897951844474e+01 6.3916553118153852e+00 0 0 0 +2224 0 1 0.0000000000000000e+00 9.9046740308271495e+01 8.7187410485851125e+00 1.3363870221105666e+01 0 0 0 +2230 0 1 0.0000000000000000e+00 7.9407126911756649e+01 1.4649115099942055e+01 1.0355375320898458e+01 0 0 0 +2231 0 1 0.0000000000000000e+00 8.2004926081357823e+01 1.2565528661326102e+01 7.7687614360234303e+00 0 0 0 +2232 0 1 0.0000000000000000e+00 8.3564697385829163e+01 1.4410641298526661e+01 9.8683517004282848e+00 0 0 0 +2233 0 1 0.0000000000000000e+00 8.6577556696518471e+01 1.3211199112494496e+01 8.2579545127539831e+00 0 0 0 +2234 0 1 0.0000000000000000e+00 8.9070631445489354e+01 1.5599203874876302e+01 9.9487565647849916e+00 0 0 0 +2235 0 1 0.0000000000000000e+00 9.1235528863988463e+01 1.2835273358352643e+01 8.0216849758171271e+00 0 0 0 +2236 0 1 0.0000000000000000e+00 9.2718649635426090e+01 1.5013349408538708e+01 1.0889888145695997e+01 0 0 0 +2237 0 1 0.0000000000000000e+00 9.4840033682540408e+01 1.2923078872586444e+01 8.4559779439399119e+00 0 0 0 +2238 0 1 0.0000000000000000e+00 9.7058355472644564e+01 1.5350231702826992e+01 1.0143557294677660e+01 0 0 0 +2176 0 1 0.0000000000000000e+00 1.0299216257967497e+02 1.6973617630445418e+01 7.4809818483697388e+00 0 0 0 +3928 0 1 0.0000000000000000e+00 1.0167469498952275e+02 3.2879566650165806e+01 2.7875861355839348e+01 0 0 0 +2246 0 1 0.0000000000000000e+00 8.0245083347072452e+01 2.3331699398623642e+00 1.4879386552631242e+01 0 0 0 +2248 0 1 0.0000000000000000e+00 8.3896645803364734e+01 2.4189743068915170e+00 1.4910679844911142e+01 0 0 0 +2536 0 1 0.0000000000000000e+00 8.4152898559183100e+01 1.0637548101293691e+01 3.1946956746749585e+01 0 0 0 +2250 0 1 0.0000000000000000e+00 8.8483754036823598e+01 2.2372423603658951e+00 1.4798692589725361e+01 0 0 0 +2252 0 1 0.0000000000000000e+00 9.2690526321425153e+01 1.9422466589599232e+00 1.4666742355806649e+01 0 0 0 +2278 0 1 0.0000000000000000e+00 7.9611231383257376e+01 1.1152734260985433e+01 1.4521616952407150e+01 0 0 0 +2254 0 1 0.0000000000000000e+00 9.6636015040435709e+01 1.8885033543439103e+00 1.4715262468779015e+01 0 0 0 +2287 0 1 0.0000000000000000e+00 1.0198154093530806e+02 1.4969567364400639e+01 1.4543438071801043e+01 0 0 0 +3563 0 1 0.0000000000000000e+00 1.0133115090164216e+02 3.2530654056024794e+01 2.0166562381634381e+00 0 0 1 +2262 0 1 0.0000000000000000e+00 7.9954863979072741e+01 6.4175166723894765e+00 1.4281621724505840e+01 0 0 0 +2263 0 1 0.0000000000000000e+00 8.1824253016978631e+01 4.2708007801930288e+00 1.2089602387860191e+01 0 0 0 +2264 0 1 0.0000000000000000e+00 8.3746247941815781e+01 6.6431006440410769e+00 1.3922388498119600e+01 0 0 0 +2265 0 1 0.0000000000000000e+00 8.6336646172581851e+01 4.2870541802234250e+00 1.2333450011269132e+01 0 0 0 +2266 0 1 0.0000000000000000e+00 8.8446805096150726e+01 6.0902987691139847e+00 1.4656568378804529e+01 0 0 0 +2267 0 1 0.0000000000000000e+00 9.0643182811464740e+01 4.1008767842399880e+00 1.2373321102896421e+01 0 0 0 +2268 0 1 0.0000000000000000e+00 9.2389194077051130e+01 6.1210793056506514e+00 1.4662893906432062e+01 0 0 0 +2269 0 1 0.0000000000000000e+00 9.4938941387540055e+01 4.4921021009475375e+00 1.2570224059851958e+01 0 0 0 +2270 0 1 0.0000000000000000e+00 9.6791665715351186e+01 6.6582435118452539e+00 1.4833339298925820e+01 0 0 0 +2271 0 1 0.0000000000000000e+00 9.8832773546579119e+01 4.6907898327672584e+00 1.2904557239066717e+01 0 0 0 +3486 0 1 0.0000000000000000e+00 9.9601793728440100e+01 8.6300321784244005e+00 4.1307609694301588e+00 0 0 0 +2107 0 1 0.0000000000000000e+00 9.0214055545034313e+01 1.3069233621556664e+01 3.4179235083627226e+01 0 0 -1 +2189 0 1 0.0000000000000000e+00 9.7229199028022975e+01 1.8556430389501584e+00 6.7282980658929903e+00 0 0 0 +2695 0 1 0.0000000000000000e+00 8.1944589319437441e+01 1.7036415325344109e+01 7.8726624899910371e+00 0 0 0 +2365 0 1 0.0000000000000000e+00 9.4856703233131171e+01 1.2995841116453033e+01 1.7272249809035959e+01 0 0 0 +2569 0 1 0.0000000000000000e+00 8.5856483374167695e+01 1.7514036943763713e+01 3.4173833895365540e+01 0 0 -1 +2315 0 1 0.0000000000000000e+00 9.0974886995113138e+01 2.0803307257339640e-01 1.7380837491301843e+01 0 0 0 +2363 0 1 0.0000000000000000e+00 9.1011920380123158e+01 1.3141638702329047e+01 1.6911310169041037e+01 0 0 0 +2111 0 1 0.0000000000000000e+00 1.0132164580700663e+02 1.5400230250526267e+01 3.1953376408994433e+01 0 0 -1 +2559 0 1 0.0000000000000000e+00 9.7326216584193588e+01 1.0336791032999120e+01 3.1693927990819120e+01 0 0 0 +2345 0 1 0.0000000000000000e+00 8.6085715624862701e+01 8.4154979191378700e+00 1.6973300066876323e+01 0 0 0 +2247 0 1 0.0000000000000000e+00 8.1809148356939346e+01 1.3350863991687265e-01 1.2577006704880201e+01 0 0 0 +2333 0 1 0.0000000000000000e+00 9.4624634599695682e+01 4.2085705139757588e+00 1.6815162696026391e+01 0 0 0 +2317 0 1 0.0000000000000000e+00 9.4813489442093683e+01 3.4552334761629346e+01 1.7645889109941088e+01 0 -1 0 +2351 0 1 0.0000000000000000e+00 9.7017742871787732e+01 1.1093116471812751e+01 1.5358508664434515e+01 0 0 0 +2093 0 1 0.0000000000000000e+00 9.2122194243186527e+01 1.0565716246751014e+01 3.2086076270286433e+01 0 0 -1 +2077 0 1 0.0000000000000000e+00 9.4754331076682647e+01 4.5750368711681650e+00 3.3490869666439224e+01 0 0 -1 +2091 0 1 0.0000000000000000e+00 8.9763389138083184e+01 8.4294595059460828e+00 3.4264917908937576e+01 0 0 -1 +2701 0 1 0.0000000000000000e+00 9.5126955820188229e+01 1.7864202411823353e+01 8.4411719015637097e+00 0 0 0 +2125 0 1 0.0000000000000000e+00 9.4370660064462683e+01 3.5429397248491967e-01 4.5559714531889002e+00 0 0 0 +2327 0 1 0.0000000000000000e+00 8.2061472200963507e+01 4.8991827909126551e+00 1.7056728431373699e+01 0 0 0 +2253 0 1 0.0000000000000000e+00 9.4556549469107637e+01 1.0306971362658869e-01 1.2576840220036219e+01 0 0 0 +2109 0 1 0.0000000000000000e+00 9.4307580101958592e+01 1.2635903941482725e+01 3.4269376429045955e+01 0 0 -1 +2359 0 1 0.0000000000000000e+00 8.1508479417963983e+01 1.3469559528962856e+01 1.6655114314861784e+01 0 0 0 +2703 0 1 0.0000000000000000e+00 9.7238884509712648e+01 2.0669534725226377e+01 1.0402605348542069e+01 0 0 0 +2049 0 1 0.0000000000000000e+00 1.0119912261262989e+02 3.2802317994748940e+01 3.1898741301414930e+01 -1 -1 -1 +2069 0 1 0.0000000000000000e+00 7.7977601165198010e+01 4.5825399978561849e+00 3.4561825432152766e+01 0 0 -1 +2063 0 1 0.0000000000000000e+00 9.9229399917655144e+01 3.2497293360472973e-01 3.4172176525399180e+01 0 0 -1 +2437 0 1 0.0000000000000000e+00 7.7767019837875921e+01 2.6328663745116065e-01 2.5258347607494944e+01 0 0 0 +2507 0 1 0.0000000000000000e+00 9.0181677015444137e+01 6.0804728116670079e-02 2.9649098486917648e+01 0 0 0 +3449 0 1 0.0000000000000000e+00 1.0334190335599065e+02 3.0375521113323376e+01 8.7692443244934832e+00 0 -1 0 +2310 0 1 0.0000000000000000e+00 8.0065150530251813e+01 2.5291538022769413e+00 1.8960990321145861e+01 0 0 0 +2955 0 1 0.0000000000000000e+00 8.9975506182207866e+01 1.7144907009988373e+01 2.5614372438367745e+01 0 0 0 +2312 0 1 0.0000000000000000e+00 8.4225279994480687e+01 2.2371000992115508e+00 1.9054933877742112e+01 0 0 0 +2375 0 1 0.0000000000000000e+00 8.2048939207232351e+01 3.4532533068487226e+01 2.0856611750823671e+01 0 -1 0 +2314 0 1 0.0000000000000000e+00 8.8352307861880604e+01 2.1621266752062640e+00 1.8860132512189562e+01 0 0 0 +2316 0 1 0.0000000000000000e+00 9.2805581489805803e+01 2.8170745456146276e+00 1.9399346098060661e+01 0 0 0 +2075 0 1 0.0000000000000000e+00 9.0530948915281982e+01 4.4781000741488945e+00 3.3805547949840665e+01 0 0 -1 +2318 0 1 0.0000000000000000e+00 9.8648918307011897e+01 4.5588281060819567e+00 1.6678008467200367e+01 0 0 0 +2439 0 1 0.0000000000000000e+00 8.1848771382313643e+01 2.4888581222337960e-01 2.5302950084618281e+01 0 0 0 +2366 0 1 0.0000000000000000e+00 9.7295142836426621e+01 1.5431699249537758e+01 1.8672587907518839e+01 0 0 0 +2309 0 1 0.0000000000000000e+00 7.7547390279117295e+01 3.4427298187749571e+01 1.5961474774869474e+01 0 -1 0 +2073 0 1 0.0000000000000000e+00 8.6763096066514663e+01 5.0339511998445454e+00 3.4506450934705768e+01 0 0 -1 +2509 0 1 0.0000000000000000e+00 9.3869399336211657e+01 3.3733209979955554e+01 2.9324975692331154e+01 0 -1 0 +2326 0 1 0.0000000000000000e+00 8.0034004038932011e+01 6.5427215809473731e+00 1.9021519652619549e+01 0 0 0 +2328 0 1 0.0000000000000000e+00 8.4703298513682171e+01 6.1647640345045271e+00 1.9030701543882476e+01 0 0 0 +2503 0 1 0.0000000000000000e+00 8.1605360631213955e+01 4.6696596103608344e-02 2.9758516915449842e+01 0 0 0 +2330 0 1 0.0000000000000000e+00 8.8591965177893542e+01 6.4869330209430229e+00 1.9221190795549781e+01 0 0 0 +2511 0 1 0.0000000000000000e+00 9.7001867881872002e+01 3.2768402263996492e+01 2.7755171699129196e+01 0 -1 0 +2332 0 1 0.0000000000000000e+00 9.2168328094839509e+01 6.2406422723971673e+00 1.9014789943061700e+01 0 0 0 +2095 0 1 0.0000000000000000e+00 9.9843636369732266e+01 8.3032297766831604e+00 2.9709247919477912e-02 0 0 0 +2334 0 1 0.0000000000000000e+00 9.6238859009048738e+01 6.7357673594895555e+00 1.9265954864895598e+01 0 0 0 +2992 0 1 0.0000000000000000e+00 9.9440373735183513e+01 3.0126219385269852e+01 2.5892734974430237e+01 0 0 0 +2071 0 1 0.0000000000000000e+00 8.1566623712663699e+01 4.6667097744362316e+00 3.3885858183628443e+01 0 0 -1 +2959 0 1 0.0000000000000000e+00 1.0140865837804576e+02 1.9769525771071820e+01 2.3799885905009031e+01 0 0 0 +2373 0 1 0.0000000000000000e+00 7.7560511865225507e+01 5.6334572894796986e-01 2.1066257962585777e+01 0 0 0 +2342 0 1 0.0000000000000000e+00 7.9755125351319421e+01 1.1101512206570860e+01 1.8719843799179333e+01 0 0 0 +2079 0 1 0.0000000000000000e+00 9.6715409949645576e+01 2.2935043052874273e+00 2.0214527513181735e+00 0 0 0 +2344 0 1 0.0000000000000000e+00 8.3787967479299155e+01 1.1379361060080210e+01 1.9019597150736033e+01 0 0 0 +2347 0 1 0.0000000000000000e+00 8.9723078664434567e+01 8.7731370827950776e+00 1.6875427221944989e+01 0 0 0 +2346 0 1 0.0000000000000000e+00 8.8623060405391712e+01 1.1199372932007275e+01 1.9592459509968297e+01 0 0 0 +2889 0 1 0.0000000000000000e+00 8.5563363237026692e+01 1.7131285672136144e+01 2.0977030882472697e+01 0 0 0 +2348 0 1 0.0000000000000000e+00 9.2551663043882414e+01 1.0439833234286336e+01 1.8968970695806021e+01 0 0 0 +2538 0 1 0.0000000000000000e+00 8.8638340277386547e+01 1.1322639720615724e+01 3.1658615566976696e+01 0 0 0 +2350 0 1 0.0000000000000000e+00 9.6666755427310150e+01 1.0895030138335436e+01 1.9773918035878033e+01 0 0 0 +2352 0 1 0.0000000000000000e+00 9.9174759691194467e+01 8.5025537793847068e+00 2.0941344823486837e+01 0 0 0 +2381 0 1 0.0000000000000000e+00 9.5255041613511821e+01 3.4472047430011230e+01 2.1186606978451874e+01 0 -1 0 +3778 0 1 0.0000000000000000e+00 1.0370582148010890e+02 8.1139180554442341e+00 2.7889424049011124e-01 0 0 0 +2087 0 1 0.0000000000000000e+00 8.1502590297131405e+01 9.2310906966386437e+00 3.3932426553069632e+01 0 0 -1 +2358 0 1 0.0000000000000000e+00 7.9719541017751979e+01 1.5176447692191786e+01 1.9030223193918577e+01 0 0 0 +2537 0 1 0.0000000000000000e+00 8.6617912279710907e+01 9.0528599260461444e+00 2.9725562636322838e+01 0 0 0 +2360 0 1 0.0000000000000000e+00 8.3406887278618768e+01 1.4287248571668361e+01 1.9735645437839739e+01 0 0 0 +2543 0 1 0.0000000000000000e+00 9.9442197919683863e+01 8.3225816832747057e+00 2.9774761444733159e+01 0 0 0 +2362 0 1 0.0000000000000000e+00 8.9111832212340673e+01 1.4625945172441966e+01 1.9275629229013845e+01 0 0 0 +2335 0 1 0.0000000000000000e+00 1.0116150250636795e+02 2.8735893419023966e+00 1.9178014105941600e+01 0 0 0 +2364 0 1 0.0000000000000000e+00 9.2898703238728601e+01 1.5652761194761625e+01 1.9245581479204098e+01 0 0 0 +2542 0 1 0.0000000000000000e+00 9.5165949151747000e+01 8.6801496179239130e+00 3.4211442740121257e+01 0 0 0 +3056 0 1 0.0000000000000000e+00 1.0345216491667856e+02 3.0600380850764772e+01 3.3966584068458907e+01 0 0 0 +3363 0 1 0.0000000000000000e+00 1.0149923194406655e+02 2.2262987535861645e+00 2.4539041118933348e+01 1 0 0 +2497 0 1 0.0000000000000000e+00 6.9724777848219588e+01 3.3651182717254251e+01 3.0230793620793477e+01 0 -1 0 +2785 0 1 0.0000000000000000e+00 1.0143721838166674e+02 2.7719612375498457e+01 1.0795263527273489e+01 -1 0 0 +3465 0 1 0.0000000000000000e+00 1.0365928895396441e+02 3.0513209421082149e+01 4.0479514523446420e+00 0 -1 1 +3008 0 1 0.0000000000000000e+00 1.0187828378877172e+02 2.8566445338192551e+01 2.7929094166835316e+01 0 0 0 +2961 0 1 0.0000000000000000e+00 1.0210865241837286e+02 2.4113108273545063e+01 2.7677416085809352e+01 -1 0 0 +2577 0 1 0.0000000000000000e+00 1.0301000627631187e+02 2.1417065689441632e+01 3.4178769078090745e+01 -1 0 -1 +2849 0 1 0.0000000000000000e+00 6.9221633682603283e+01 2.6297572403988379e+01 1.6501343442718827e+01 0 0 0 +2641 0 1 0.0000000000000000e+00 1.0313813955976447e+02 2.1877335270850431e+01 3.8150595661992068e+00 -1 0 0 +3384 0 1 0.0000000000000000e+00 1.0314917367905149e+02 8.3042052561334430e+00 2.5501367574071317e+01 0 1 1 +2062 0 1 0.0000000000000000e+00 1.0372226989351300e+02 4.6277307725258252e+00 4.6384714579563902e+00 0 0 0 +3782 0 1 0.0000000000000000e+00 1.0345509791616415e+02 1.2674469909271153e+01 9.3150521537307842e+00 1 0 0 +2208 0 1 0.0000000000000000e+00 1.0308634736799777e+02 1.2794485962048794e+01 3.7242833344509840e+00 0 0 0 +3025 0 1 0.0000000000000000e+00 1.0358694243548639e+02 1.7690456039942170e+01 3.0096582946647164e+01 -1 0 0 +2145 0 1 0.0000000000000000e+00 1.0308181735054838e+02 8.3925892636784614e+00 4.1948724575198213e+00 -1 0 0 +3104 0 1 0.0000000000000000e+00 1.0315131012061934e+02 4.7260977501488828e+00 1.2309509732869182e+01 1 0 0 +1857 0 1 0.0000000000000000e+00 6.9432289953500344e+01 1.7480557949113422e+01 2.0653811480634833e+01 -1 0 0 +2944 0 1 0.0000000000000000e+00 1.0280263469864276e+02 2.3272205981450350e-01 2.1756812194151372e+01 0 1 0 +3926 0 1 0.0000000000000000e+00 1.0374139563722332e+02 4.2868565333473097e+00 1.7581527831508954e+01 0 1 0 +3602 0 1 0.0000000000000000e+00 1.0362649848434489e+02 2.1414868094559470e+01 2.5520448052475388e+01 0 1 -1 +2512 0 1 0.0000000000000000e+00 1.0376268796117770e+02 4.5685763825102121e+00 2.9727809790023851e+01 0 0 0 +3481 0 1 0.0000000000000000e+00 1.0364378205177552e+02 1.2398810573265017e+01 1.6889592840931101e+01 0 0 0 +2304 0 1 0.0000000000000000e+00 1.0377681932826920e+02 1.7939844758694068e+01 1.6320243920628258e+01 0 0 0 +2816 0 1 0.0000000000000000e+00 1.0355196012393908e+02 3.4498088237526332e+01 1.2626936467742041e+01 0 0 0 +2400 0 1 0.0000000000000000e+00 1.0330105182070879e+02 4.3082730426478051e+00 2.5867755204479472e+01 0 0 0 +2273 0 1 0.0000000000000000e+00 6.9298255805178627e+01 8.2916476020845025e+00 1.2847711218061129e+01 0 0 0 +2737 0 1 0.0000000000000000e+00 6.9220490054429774e+01 3.0244839268047976e+01 8.4397075266447441e+00 0 0 0 +2817 0 1 0.0000000000000000e+00 6.9259819370146360e+01 1.7640118305910015e+01 1.6677074104625941e+01 0 0 0 +1809 0 1 0.0000000000000000e+00 6.9305706932660470e+01 2.1469414338814349e+01 1.6257308231450903e+01 -1 0 0 +1217 0 1 0.0000000000000000e+00 6.9314828973038829e+01 4.7655916130200460e-01 1.2651648158269275e+01 -1 0 0 +2705 0 1 0.0000000000000000e+00 6.9311889892973539e+01 2.1219714050820890e+01 7.7743259238508813e+00 0 0 0 +3009 0 1 0.0000000000000000e+00 6.9958139960626539e+01 1.7562995677704421e+01 2.9614299858217830e+01 0 0 0 +1921 0 1 0.0000000000000000e+00 6.9266696818865853e+01 1.7343184400914900e+01 2.5118006518138433e+01 -1 0 0 +2369 0 1 0.0000000000000000e+00 6.9456731228871433e+01 4.3641148319834441e-02 2.1193872857166262e+01 0 0 0 +2065 0 1 0.0000000000000000e+00 6.9351109386099495e+01 4.3674138943778846e+00 3.3881486065256098e+01 0 0 -1 +3667 0 1 0.0000000000000000e+00 1.2990133170673636e+02 2.9108970272145800e+01 6.6789296626232675e+00 0 0 0 +4055 0 1 0.0000000000000000e+00 1.1552175278476150e+02 2.2563553633057072e+01 2.1132311432351036e+00 0 0 1 +3508 0 1 0.0000000000000000e+00 1.1098478518066074e+02 1.2732967446086230e+01 2.5245738489529234e+01 1 0 0 +3840 0 1 0.0000000000000000e+00 1.1461162548682256e+02 3.8713142957376663e+00 1.8379124026415884e+01 0 1 0 +3213 0 1 0.0000000000000000e+00 1.2023862198057016e+02 1.1480595795645517e+01 2.6087855645736294e+01 0 0 0 +3900 0 1 0.0000000000000000e+00 1.1424909840638868e+02 2.8780894098000552e+01 3.3001876886903887e+01 1 0 -1 +3473 0 1 0.0000000000000000e+00 1.1293315553623157e+02 3.0896306527033332e+01 2.5711287396162717e+01 0 -1 0 +3315 0 1 0.0000000000000000e+00 1.1853713508210868e+02 2.4827421936826632e+01 3.9648420163772231e+00 0 0 1 +3118 0 1 0.0000000000000000e+00 1.0749460270802665e+02 1.6771288270232116e+01 2.7951932161242371e-01 0 0 1 +3763 0 1 0.0000000000000000e+00 1.2528036182626678e+02 1.2761341905553618e+01 1.9961813324490450e+01 0 0 0 +3910 0 1 0.0000000000000000e+00 1.1844440097587758e+02 2.6229468670611933e+01 1.9138055784201107e+01 0 0 0 +3162 0 1 0.0000000000000000e+00 1.3428924621395518e+02 2.6941548691282758e+01 2.6945182182733451e+01 0 -1 0 +4068 0 1 0.0000000000000000e+00 1.0821424947132940e+02 3.0665331385210585e+01 2.1303440004000851e+01 1 0 0 +3863 0 1 0.0000000000000000e+00 1.3207256574493599e+02 1.0908469626462276e+00 2.9042761674577246e+01 -1 0 0 +3851 0 1 0.0000000000000000e+00 1.2864345921874636e+02 2.5865644074954606e+01 2.6452079286955733e+01 -1 0 0 +3259 0 1 0.0000000000000000e+00 1.2341685288169525e+02 2.7108063823147873e+01 2.7657800087227741e+01 0 -1 -1 +3418 0 1 0.0000000000000000e+00 1.2308345335467546e+02 2.3732481438284687e+01 2.2368318821124987e+01 0 -1 0 +3325 0 1 0.0000000000000000e+00 1.2633229159025387e+02 1.7199146116117078e+01 2.5433141407701793e+01 1 -1 0 +3688 0 1 0.0000000000000000e+00 1.0960605218778315e+02 2.9691001562012225e+01 2.7639081971695234e+01 0 0 -1 +3689 0 1 0.0000000000000000e+00 1.0492585389146114e+02 1.6123368308166832e+01 1.9170608592179882e+01 1 1 1 +3206 0 1 0.0000000000000000e+00 1.1192813978317504e+02 5.3211221301498028e+00 1.8326041711846560e+01 0 0 0 +3687 0 1 0.0000000000000000e+00 1.0788776810307785e+02 2.5501901626978082e+01 3.4488155655185253e+01 0 0 -1 +3454 0 1 0.0000000000000000e+00 1.1369396367422054e+02 1.5636468117260478e+01 2.5288913113432688e+01 1 -1 0 +3443 0 1 0.0000000000000000e+00 1.2954124443403128e+02 3.0972456027459053e+01 2.5591854925302744e+01 0 -1 0 +3406 0 1 0.0000000000000000e+00 1.2213033993149182e+02 3.1544209318926210e+01 1.8974733198058516e+01 0 -1 0 +3580 0 1 0.0000000000000000e+00 1.2533182413584935e+02 1.7351161280015642e+01 3.2364645398899476e+01 0 0 -1 +3846 0 1 0.0000000000000000e+00 1.2247077738198620e+02 2.0274148990266465e+01 2.0563501044514179e+01 0 0 0 +4081 0 1 0.0000000000000000e+00 1.1772162791492659e+02 2.3951136334096415e+01 3.4443105726933730e+01 0 0 0 +3595 0 1 0.0000000000000000e+00 1.2157836076609844e+02 1.4974749436852637e+01 2.0347760925345192e+01 0 0 0 +3988 0 1 0.0000000000000000e+00 1.2772043129539402e+02 3.1182524257578503e+01 3.0395256348153080e+01 -1 -1 0 +3181 0 1 0.0000000000000000e+00 1.2951893313456071e+02 2.0535643853709296e+01 2.0796111427342733e+01 0 0 0 +3307 0 1 0.0000000000000000e+00 1.0784834032319318e+02 4.8867078714729475e+00 2.6548549245759478e+01 1 0 0 +3871 0 1 0.0000000000000000e+00 1.0575508102148926e+02 1.9280439036660560e+01 2.1542449697186079e+00 0 0 1 +3644 0 1 0.0000000000000000e+00 1.2640968910172082e+02 2.0606601949886421e+01 3.4511325533368186e+01 0 -1 0 +3447 0 1 0.0000000000000000e+00 1.2383100234541871e+02 2.7169135580029298e+01 2.3767628461219257e+01 -1 -1 0 +3409 0 1 0.0000000000000000e+00 1.2060277846993549e+02 2.7541054470453787e+01 3.3009885426324360e+01 0 -1 -1 +3675 0 1 0.0000000000000000e+00 1.2246846737038194e+02 2.0364500782121560e+01 3.7460701937882274e-01 0 0 1 +3621 0 1 0.0000000000000000e+00 1.3515148134835147e+02 2.6070517624489387e+01 1.9869822744979480e+01 0 1 0 +4095 0 1 0.0000000000000000e+00 1.2497366461996256e+02 2.0457122088446813e+01 2.5022868923317464e+01 0 0 0 +3111 0 1 0.0000000000000000e+00 1.2633546990529548e+02 1.0634428944418829e+01 2.4186520463525490e+01 -1 -1 0 +3853 0 1 0.0000000000000000e+00 1.2804430767615082e+02 2.0790856448766810e+01 2.4638214419175025e+01 0 0 0 +3282 0 1 0.0000000000000000e+00 1.1747310584903950e+02 3.0333120406198258e+01 3.0487064972985770e+01 0 -1 0 +3941 0 1 0.0000000000000000e+00 1.0764316339444531e+02 2.1424458209022490e+01 2.9710533589549314e+01 0 1 0 +2161 0 1 0.0000000000000000e+00 1.0576547732675290e+02 1.0821573833504258e+01 2.4779036335011964e+00 -1 0 0 +4014 0 1 0.0000000000000000e+00 1.0621520721371597e+02 2.4470358695176607e+01 2.8039022317529181e+01 1 0 0 +3652 0 1 0.0000000000000000e+00 1.1488893148371284e+02 2.6340280474476575e+01 4.9068131533140824e-01 0 0 0 +3990 0 1 0.0000000000000000e+00 1.0600937197990481e+02 3.3307272539817170e+01 1.9065537326551315e+01 0 0 0 +3582 0 1 0.0000000000000000e+00 1.1987714024476617e+02 2.5320913781218586e+01 2.3098445492968057e+01 0 0 -1 +3330 0 1 0.0000000000000000e+00 1.3114074748984098e+02 2.6723133795037402e+01 2.4652106937596582e+01 0 -1 -1 +3246 0 1 0.0000000000000000e+00 1.2568541404998126e+02 2.4286661792935515e+01 2.5262627678031770e+01 0 0 0 +3123 0 1 0.0000000000000000e+00 1.3431017056833105e+02 3.3503798379724074e+01 3.2254544595393099e+01 -1 0 -1 +3086 0 1 0.0000000000000000e+00 1.1147217950017644e+02 2.5234420808145657e+01 9.7107155875100604e-02 1 -1 0 +4006 0 1 0.0000000000000000e+00 1.3313701369349289e+02 2.1134458487973681e+01 2.8562542897627878e+01 -1 0 0 +3175 0 1 0.0000000000000000e+00 1.0542670318033950e+02 6.5833611156232053e+00 3.1924600864786626e+01 0 0 -1 +3529 0 1 0.0000000000000000e+00 1.0749348336715857e+02 4.1554499240188669e-01 2.5593682285710212e+01 1 0 0 +3089 0 1 0.0000000000000000e+00 1.1223152413232282e+02 4.3391762717669895e+00 1.2602792441252708e+01 0 0 -1 +3944 0 1 0.0000000000000000e+00 1.2135687458819569e+02 1.7789210192571847e+01 1.8016819980783644e+01 0 1 0 +4096 0 1 0.0000000000000000e+00 1.1563630909152920e+02 3.2178678884840558e+01 2.2479290261530355e+01 0 0 0 +3700 0 1 0.0000000000000000e+00 1.3159672615752683e+02 3.1757150064876718e+01 2.9725494523165739e+01 0 0 0 +3446 0 1 0.0000000000000000e+00 1.2711142203167213e+02 3.0074003816042588e+01 4.5805355737463964e+00 0 -1 1 +3410 0 1 0.0000000000000000e+00 1.3429482659115845e+02 2.6579463320841661e+01 2.8652123236871176e+00 0 0 1 +4010 0 1 0.0000000000000000e+00 1.1182354548395371e+02 2.2205568942885325e+01 2.5758018107636314e+01 0 0 0 +3440 0 1 0.0000000000000000e+00 1.2596609113555623e+02 1.7667287989225137e+01 2.9229639158883131e+01 0 0 0 +2897 0 1 0.0000000000000000e+00 1.0621768570032870e+02 2.4481632284845546e+01 1.9867554990748623e+01 -1 0 0 +3138 0 1 0.0000000000000000e+00 1.0873512848442827e+02 2.6142606898409269e+01 3.0840569782459191e+01 1 0 -1 +3261 0 1 0.0000000000000000e+00 1.0606024941958964e+02 2.3774481319773045e+01 3.1868431830304125e+01 0 0 -1 +3654 0 1 0.0000000000000000e+00 1.3080383539402277e+02 2.1908800237794157e+01 3.0821760881731677e+01 0 0 0 +3882 0 1 0.0000000000000000e+00 1.3711447590275822e+02 2.2490930774936150e+01 3.4425006532298411e+01 -1 0 0 +3932 0 1 0.0000000000000000e+00 1.0743690237215158e+02 3.0457636169034814e+01 1.7506362413110935e+01 0 0 0 +3193 0 1 0.0000000000000000e+00 1.0389873255929106e+02 4.5229885088267903e+00 8.5163994085284234e+00 1 0 0 +2241 0 1 0.0000000000000000e+00 1.0638232718919339e+02 3.2578810813844825e+01 1.0246389869866499e+01 -1 -1 0 +3502 0 1 0.0000000000000000e+00 1.1728057062227802e+02 2.4585246581035733e+01 2.5608666220597144e+01 0 -1 0 +3859 0 1 0.0000000000000000e+00 1.1930378992867819e+02 3.0443052732569814e+01 2.7075851962476094e+01 0 0 1 +3717 0 1 0.0000000000000000e+00 1.2800685232331628e+02 2.1772081697025282e+01 2.8082842215962465e+01 1 0 0 +3816 0 1 0.0000000000000000e+00 1.2706333501356089e+02 2.4060760570380388e+01 3.1408358200513913e+01 0 0 0 +3705 0 1 0.0000000000000000e+00 1.2354237745478970e+02 3.3169983799104834e+01 2.1834501454038328e+01 0 0 0 +3424 0 1 0.0000000000000000e+00 1.1039308689297329e+02 1.9073738876791641e+01 1.9452846091571889e+01 1 -1 0 +4013 0 1 0.0000000000000000e+00 1.0751083696555075e+02 2.1017504996055735e+01 8.0957907996284657e+00 1 0 0 +3721 0 1 0.0000000000000000e+00 1.1343284422050490e+02 1.9343499193556063e+01 2.4632626739168302e+01 1 1 0 +3157 0 1 0.0000000000000000e+00 1.3168197642791938e+02 2.8477303343714162e+01 3.1215439640969993e+01 -1 0 -1 +4069 0 1 0.0000000000000000e+00 1.2596465610799919e+02 2.2037623707749493e+01 2.2070660623597302e+01 0 0 -1 +3140 0 1 0.0000000000000000e+00 1.3725916728985683e+02 1.8794062158479861e+01 2.8026897705126963e+01 0 -1 0 +4094 0 1 0.0000000000000000e+00 1.3284247582808570e+02 1.9202031543200413e+01 3.2137929070125303e+01 0 0 0 +3371 0 1 0.0000000000000000e+00 1.0713360883605775e+02 2.9873521720941834e+01 2.5001649827129100e+01 1 0 -1 +4032 0 1 0.0000000000000000e+00 1.2128304330689444e+02 2.8619713443384146e+01 1.8010054316543936e+01 0 0 0 +4035 0 1 0.0000000000000000e+00 1.2553798359682041e+02 2.6905782238596899e+01 1.6694895072929050e+01 1 0 0 +4033 0 1 0.0000000000000000e+00 1.3745540808019362e+02 2.2339906026305261e+01 2.8695304802445921e+01 0 0 0 +3342 0 1 0.0000000000000000e+00 1.2578024869875100e+02 1.4765462022680589e+01 8.4017843251930568e-02 0 0 1 +3632 0 1 0.0000000000000000e+00 1.2632905525893858e+02 2.5392265884025722e+01 2.2112288517884448e+01 0 1 0 +3684 0 1 0.0000000000000000e+00 1.0785919380117289e+02 3.0771205925770904e+01 4.8178439157967040e-01 0 0 0 +3226 0 1 0.0000000000000000e+00 1.0575490958853034e+02 2.3383565481195063e+01 1.5592771465489748e+00 1 0 0 +4084 0 1 0.0000000000000000e+00 1.2158804234124507e+02 2.9254397761212186e+01 3.0071351111836517e+01 0 0 0 +3872 0 1 0.0000000000000000e+00 1.0983090627716697e+02 3.2411565905238092e+01 2.4645251908726816e+01 0 0 0 +3878 0 1 0.0000000000000000e+00 1.3375844571100293e+02 3.2004927670430867e+01 1.0926984945088165e+00 -1 -1 1 +3254 0 1 0.0000000000000000e+00 1.0808588594404756e+02 2.1589641822300091e+01 2.1225766338019287e+01 0 -1 0 +3530 0 1 0.0000000000000000e+00 1.1201152689354501e+02 2.6054014593906891e+00 1.6280833249754043e+01 0 0 0 +3462 0 1 0.0000000000000000e+00 1.2268127975893938e+02 3.4202411111165624e+01 2.8263796746918469e+01 -1 -1 0 +3225 0 1 0.0000000000000000e+00 1.0964234827767702e+02 1.1153345758250747e+01 2.2564775650696539e+01 0 0 0 +3609 0 1 0.0000000000000000e+00 1.1248724701902705e+02 6.6571956157052123e-02 2.1559477580839385e+01 0 1 -1 +3976 0 1 0.0000000000000000e+00 1.0403784188255364e+02 2.6229541982736222e+01 3.0158931641522781e+01 1 0 0 +3263 0 1 0.0000000000000000e+00 1.2410368066499217e+02 3.1070384211208594e+01 2.8466574828724568e+01 0 -1 0 +3746 0 1 0.0000000000000000e+00 1.2121794740189682e+02 2.1466483773173728e+01 2.9659852219781005e+01 0 0 0 +3488 0 1 0.0000000000000000e+00 1.2988675147573787e+02 1.9050194298651483e+01 2.6240340678935411e+01 0 0 -1 +4021 0 1 0.0000000000000000e+00 1.1440331085145931e+02 1.8826808848402734e+01 2.7923374238349925e+01 0 0 0 +2625 0 1 0.0000000000000000e+00 1.0519924386365361e+02 1.4011293415229355e+01 6.0832707247682105e+00 -1 0 0 +3953 0 1 0.0000000000000000e+00 1.2377196308864018e+02 1.3742405239855251e+00 1.8977531876832749e+01 0 1 0 +3167 0 1 0.0000000000000000e+00 1.3625385776764074e+02 2.1929658793384117e+01 2.1876936903891732e+01 -1 -1 -1 +3428 0 1 0.0000000000000000e+00 1.3395320012288113e+02 2.5880628527057169e+01 3.3821120040848093e+01 0 -1 0 +3311 0 1 0.0000000000000000e+00 1.2613871053679659e+02 2.1039285095322374e+01 1.8641843236036209e+01 1 -1 -1 +3156 0 1 0.0000000000000000e+00 1.1569637857406802e+02 2.1924908364463700e+01 2.7095629128165122e+01 0 0 -1 +3239 0 1 0.0000000000000000e+00 1.0448078012965398e+02 1.5002901134386464e+01 1.5616966734424720e+00 1 -1 0 +3135 0 1 0.0000000000000000e+00 1.0631642849733977e+02 1.9402192989057959e+01 3.2434005892965260e+01 1 0 -1 +3396 0 1 0.0000000000000000e+00 1.1653587948715636e+02 2.4908745391449713e+01 3.0714758148389663e+01 0 -1 0 +3349 0 1 0.0000000000000000e+00 1.1914741485106033e+02 2.8778213122066333e+01 1.3454315888425525e+01 0 -1 0 +3995 0 1 0.0000000000000000e+00 1.0828758005384817e+02 2.6265424303649631e+01 1.2683682640798668e+01 0 0 0 +2753 0 1 0.0000000000000000e+00 1.0564290157598772e+02 1.4824168291750244e+01 1.5069585045890291e+01 -1 0 0 +3469 0 1 0.0000000000000000e+00 1.2659978666701043e+02 2.5630431036625765e+01 3.4536921679938672e+01 0 -1 0 +3452 0 1 0.0000000000000000e+00 1.3120650533131209e+02 2.6153234606604720e+01 2.0704772373490492e+01 0 -1 0 +3196 0 1 0.0000000000000000e+00 1.2761438744755888e+02 3.2844302817824165e+01 2.2776469488405095e+01 0 0 0 +4049 0 1 0.0000000000000000e+00 1.1078923712326082e+02 2.8635730238671460e+01 2.3883407257654294e+01 0 1 1 +3991 0 1 0.0000000000000000e+00 1.2205631334694452e+02 2.4150767644187475e+01 2.5752880022065828e+01 0 0 1 +3769 0 1 0.0000000000000000e+00 1.3294343507588920e+02 3.0160847349004683e+01 2.5124364882264892e+01 0 0 0 +3423 0 1 0.0000000000000000e+00 1.2650452372634824e+02 2.9969626702141934e+01 1.1531513611163653e+00 0 -1 1 +3777 0 1 0.0000000000000000e+00 1.0543127245312731e+02 1.9073230436749324e+01 2.7622242219809635e+01 1 0 0 +3383 0 1 0.0000000000000000e+00 1.0786063751457209e+02 2.6555613020215308e+01 2.2173409613415746e+01 0 0 0 +3273 0 1 0.0000000000000000e+00 1.1932616364927122e+02 1.8282345097845525e+01 2.1827672451929757e+01 1 -1 0 +3608 0 1 0.0000000000000000e+00 1.2388753652943626e+02 3.0527098204502355e+01 5.0713601766177590e+00 0 0 0 +3754 0 1 0.0000000000000000e+00 1.2931395489120519e+02 2.2838899721892851e+01 3.4323074051124642e+01 0 0 0 +3934 0 1 0.0000000000000000e+00 1.1171916164426398e+02 1.7096130892796459e+01 3.0283274622454559e+01 0 0 0 +3222 0 1 0.0000000000000000e+00 1.1381925873705983e+02 2.5255023845184965e+01 2.5022393555432235e+01 0 0 -2 +3693 0 1 0.0000000000000000e+00 1.0821339096816908e+02 2.6349798959223644e+01 1.6671346347484921e+01 0 0 0 +3279 0 1 0.0000000000000000e+00 1.3481485329834439e+02 2.9767576455472536e+01 3.3000067912242095e+01 0 -1 0 +3720 0 1 0.0000000000000000e+00 1.1806637875461432e+02 2.9827267497307982e+01 2.0300070976174847e+01 1 0 0 +3270 0 1 0.0000000000000000e+00 1.1060039833842718e+02 2.3194782606384479e+01 3.1912809076663482e+01 1 0 -1 +3913 0 1 0.0000000000000000e+00 1.3175212580063882e+02 2.6198271066310199e+00 3.1792480422120317e+01 -1 1 0 +2432 0 1 0.0000000000000000e+00 1.0514952399776524e+02 1.5227833161087551e+01 2.3484256245248101e+01 0 0 0 +3977 0 1 0.0000000000000000e+00 1.1729634877987525e+02 2.7642307538671012e+01 3.2540539601014807e+01 0 0 0 +4028 0 1 0.0000000000000000e+00 1.2887422653119674e+02 2.7170068958238431e+01 2.0767868541955976e+00 0 0 1 +3710 0 1 0.0000000000000000e+00 1.0518225609231668e+02 1.0883847594147838e+01 1.9570813981879631e+01 0 0 0 +3996 0 1 0.0000000000000000e+00 1.1947221118508639e+02 2.2357499023221841e+01 2.7090301113156116e+01 0 0 -1 +3694 0 1 0.0000000000000000e+00 1.2339106826800702e+02 2.6724320636958911e+01 2.0112169531090576e+01 0 0 0 +3485 0 1 0.0000000000000000e+00 1.3088175582105686e+02 2.5138081017934031e+01 3.2045183380852386e+01 -1 -1 0 +3576 0 1 0.0000000000000000e+00 1.2705246180846775e+02 2.9128561663304016e+01 2.7790265902772123e+01 0 -1 0 +3757 0 1 0.0000000000000000e+00 1.1464719689279809e+02 2.9049552386350992e+01 2.3465134044805644e+01 0 0 -1 +3074 0 1 0.0000000000000000e+00 1.0434858419410916e+02 8.9303507149927572e+00 9.1643865693547291e+00 0 0 0 +3403 0 1 0.0000000000000000e+00 1.1022411429458211e+02 2.4086084754233756e+01 2.3636415445878391e+01 0 0 0 +3999 0 1 0.0000000000000000e+00 1.0672138419831661e+02 1.3046272710864603e+01 3.4307918969702015e+01 1 0 -1 +3860 0 1 0.0000000000000000e+00 1.2539290270794717e+02 2.9517620345410922e+01 3.2061287512613660e+01 -1 0 0 +2833 0 1 0.0000000000000000e+00 1.1122547791538713e+02 1.8142961901640366e+01 1.2130463082595034e+01 -1 0 0 +3739 0 1 0.0000000000000000e+00 1.2751097040344206e+02 2.7787741372353132e+01 1.9459125493647150e+01 0 0 0 +3223 0 1 0.0000000000000000e+00 1.2955852263369323e+02 2.3532714087876112e+01 2.2824884791180889e+01 0 0 0 +3267 0 1 0.0000000000000000e+00 1.0537513523019167e+02 5.8425387551988210e+00 1.4920510713582480e+01 0 0 0 +3756 0 1 0.0000000000000000e+00 1.0789919032979721e+02 2.1647745874021446e+01 2.5637959791044590e+01 1 0 -1 +3558 0 1 0.0000000000000000e+00 1.2375258897529561e+02 2.6203730844013780e+01 3.1698654783031930e+01 0 0 0 +3729 0 1 0.0000000000000000e+00 1.2395796160146550e+02 2.2511968943394024e+01 3.2301485244241839e+01 0 0 0 +4091 0 1 0.0000000000000000e+00 1.2791475417090653e+02 2.7155050310834159e+01 3.0296050931038295e+01 0 0 0 +3785 0 1 0.0000000000000000e+00 1.1768512189022091e+02 2.2389514317508663e+01 2.0988487683898914e+01 1 0 0 +4052 0 1 0.0000000000000000e+00 1.1672100512295147e+02 2.7948845894270647e+01 2.6337956358503710e+01 0 0 0 +3738 0 1 0.0000000000000000e+00 1.1186827075322479e+02 2.6104355900091655e+01 2.1785168737450626e+01 0 0 -1 +4047 0 1 0.0000000000000000e+00 1.2627055329880075e+02 1.4406331488643495e+01 2.3667948752459491e+01 0 0 0 +4074 0 1 0.0000000000000000e+00 1.3415040026848936e+02 2.7447307697938406e+01 2.3027491364119594e+01 0 0 0 +3201 0 1 0.0000000000000000e+00 1.1221660777617392e+02 2.7890652041894835e+01 2.7425712824502199e+01 0 -1 0 +3873 0 1 0.0000000000000000e+00 1.1200488984367198e+02 2.6483087231568994e+01 3.1170847164912647e+01 0 1 0 +3512 0 1 0.0000000000000000e+00 1.2243656341054806e+02 2.8459645152688996e+01 6.6990969595869376e-01 1 -1 1 +3523 0 1 0.0000000000000000e+00 1.2089998699569669e+02 2.1667178227253626e+01 2.3691062646653805e+01 0 -1 0 +4088 0 1 0.0000000000000000e+00 1.1495281649671854e+02 1.5769616015685251e+01 3.3375715374903038e+01 0 0 0 +3538 0 1 0.0000000000000000e+00 1.2618046508208468e+02 3.3161664159856400e+01 3.4039136972149535e+00 -1 -1 1 +3427 0 1 0.0000000000000000e+00 1.0595067382411351e+02 2.8426513005609365e+01 3.3018759176883485e+01 0 0 0 +4001 0 1 0.0000000000000000e+00 1.3433781824966653e+02 2.9727452005538563e+01 2.8870214534396517e+01 0 0 0 +2320 0 1 0.0000000000000000e+00 1.0572739996438018e+02 2.5631641372552671e+00 1.9975186347802726e+01 0 0 0 +3837 0 1 0.0000000000000000e+00 1.0783359554499899e+02 1.7610519625311365e+01 2.9400067834643028e+01 0 0 -1 +3800 0 1 0.0000000000000000e+00 1.3025257867325990e+02 1.3261412106105663e+01 3.1011485822371849e+01 0 1 -1 +3442 0 1 0.0000000000000000e+00 1.3807082435906702e+02 2.6071556891945040e+01 2.8090574538471994e+01 -1 0 0 +3256 0 1 0.0000000000000000e+00 1.1855956267740993e+02 2.6956944453981965e+01 2.8920436873435989e+01 0 -1 0 +3221 0 1 0.0000000000000000e+00 1.0645108977875230e+02 3.2602644246155201e+01 3.2164960162581863e+01 -1 -1 -1 +4023 0 1 0.0000000000000000e+00 1.3411744343055764e+02 1.7517178352822459e+01 2.8601312035730412e+01 0 0 0 +3456 0 1 0.0000000000000000e+00 1.3053641531801424e+02 1.8189142991990678e+01 2.9456273375812327e+01 0 0 0 +2433 0 1 0.0000000000000000e+00 1.0636791780625001e+02 3.2175372893877800e+01 2.7868647977353856e+01 -1 -1 0 +3356 0 1 0.0000000000000000e+00 1.2227483245064879e+02 2.1100431886532455e+01 1.7117030031886028e+01 0 0 0 +3584 0 1 0.0000000000000000e+00 1.1508323164190287e+02 3.1524537641810571e+01 1.8896600720608753e+01 0 -1 -1 +3613 0 1 0.0000000000000000e+00 1.1450936728127967e+02 2.3212939493553357e+01 3.2901376188597041e+01 0 0 -1 +3875 0 1 0.0000000000000000e+00 1.1656935300818390e+02 1.7380052893038826e+01 3.0554833612226115e+01 0 0 -1 +3499 0 1 0.0000000000000000e+00 1.1484255362182809e+02 2.2503727983784106e+01 2.3212993198723897e+01 0 0 0 +3382 0 1 0.0000000000000000e+00 1.3463921559903244e+02 2.3880593906732752e+01 2.7105806961225110e+01 0 0 0 +3593 0 1 0.0000000000000000e+00 1.1088003863815814e+02 1.8574824836422749e+01 2.7362009794438361e+01 0 0 0 +3461 0 1 0.0000000000000000e+00 1.1084483078561448e+02 2.4595608161826167e+01 2.7722980989801151e+01 0 0 0 +3989 0 1 0.0000000000000000e+00 1.1042258431557053e+02 2.4298090815378725e+01 1.9563965099670398e+01 0 0 0 +3735 0 1 0.0000000000000000e+00 1.3253988975077866e+02 2.2887320990517740e+01 2.0085584236999157e+01 0 0 0 +3827 0 1 0.0000000000000000e+00 1.1892817671973488e+02 1.5610052591317649e+01 2.7294928316993044e+01 0 0 0 +3109 0 1 0.0000000000000000e+00 1.1400114748066773e+02 3.3226765391989048e+01 6.5863065718347675e+00 0 0 0 +3144 0 1 0.0000000000000000e+00 1.0383274271305179e+02 2.6199543549326172e+01 3.4781812180231237e+00 0 0 0 +3834 0 1 0.0000000000000000e+00 1.1732364643252353e+02 1.9994337498244132e+01 2.4455269095517718e+01 0 0 0 +3541 0 1 0.0000000000000000e+00 1.1043388127826762e+02 1.9086651867309172e+01 2.3233403137049315e+01 1 -1 0 +3174 0 1 0.0000000000000000e+00 1.2103312419461560e+02 2.4818314621661248e+01 7.9101019880059942e-01 0 -1 0 +3648 0 1 0.0000000000000000e+00 1.1651556846242673e+02 3.3729608961481375e+01 2.8443319153773349e+01 0 0 0 +3880 0 1 0.0000000000000000e+00 1.1697145442070634e+02 2.0842310021290309e+01 3.0844078303909985e+01 0 0 0 +3590 0 1 0.0000000000000000e+00 1.2015695659900813e+02 3.4331852697592367e+01 1.2767205586083794e+00 0 0 0 +3096 0 1 0.0000000000000000e+00 1.1939725435515672e+02 1.4095876139154386e+01 2.3394540946978900e+01 0 0 -1 +3300 0 1 0.0000000000000000e+00 1.2146706693516209e+02 2.0659336322162432e+01 4.4800539999418802e+00 1 0 1 +3972 0 1 0.0000000000000000e+00 1.2296197096296841e+02 3.2219843865033802e+01 3.2034607844933582e+01 0 1 0 +3126 0 1 0.0000000000000000e+00 1.0852416409866670e+02 2.1467040904336269e+01 3.3896427523254729e+01 1 0 -1 +890 0 1 0.0000000000000000e+00 1.3775057778658925e+02 3.1550199033314257e+01 3.1823089772387902e+01 -1 0 0 +3577 0 1 0.0000000000000000e+00 1.1205960008911345e+02 2.1726984358653588e+01 2.1492582192904344e+01 0 -1 0 +3227 0 1 0.0000000000000000e+00 1.2130350649677406e+02 2.4776364021991487e+01 2.9179376982728442e+01 0 -1 -1 +3319 0 1 0.0000000000000000e+00 1.3142913233203507e+02 2.5097817544788253e+01 1.4622421597893862e+00 -1 0 1 +4038 0 1 0.0000000000000000e+00 1.3444424317429213e+02 5.3711828890533369e+00 1.6795760893568190e+01 0 0 1 +3334 0 1 0.0000000000000000e+00 1.1154893475578699e+02 3.0447883511851789e+01 3.0247635778758031e+01 1 -1 0 +3945 0 1 0.0000000000000000e+00 1.3083118506712358e+02 2.8386104112988292e+01 2.7645838763055512e+01 0 0 0 +3079 0 1 0.0000000000000000e+00 1.3221008551932667e+02 1.7391012549461891e+01 2.0431223713622998e+01 0 0 0 +3855 0 1 0.0000000000000000e+00 1.1530592002778019e+02 1.8682622686686550e+01 2.1591339220851616e+01 0 0 0 +3933 0 1 0.0000000000000000e+00 1.0632323813297658e+02 2.8538114579578384e+01 1.4923311774893188e+01 1 0 0 +3724 0 1 0.0000000000000000e+00 1.2794239642525504e+02 1.9770394911428934e+01 3.1902823646435179e+00 0 0 1 +3390 0 1 0.0000000000000000e+00 1.3285923431577140e+02 1.7016192986978716e+01 2.5112993147213420e+01 0 0 0 +3641 0 1 0.0000000000000000e+00 1.1653136585564748e+02 1.5408373675231152e+01 2.0670031392302640e+01 1 0 0 +3472 0 1 0.0000000000000000e+00 1.3164038832896196e+02 2.2655926563990626e+01 2.6194612301293741e+01 -1 0 0 +3631 0 1 0.0000000000000000e+00 1.2542378143920520e+02 2.4964678852870964e+01 2.8859691950718325e+01 -1 0 0 +3987 0 1 0.0000000000000000e+00 1.0780169041370065e+02 3.0043706532772276e+01 3.0881835176691872e+01 0 -1 0 +4086 0 1 0.0000000000000000e+00 1.2889969535196880e+02 3.0675572504757291e+01 1.9046375869104892e+01 -1 0 0 +3100 0 1 0.0000000000000000e+00 1.1839501485671899e+02 1.0312514848334692e+01 4.0346742696924718e+00 1 -1 0 +3292 0 1 0.0000000000000000e+00 1.0642031865853333e+02 6.3815069366333983e+00 2.3411620048297429e+01 1 0 0 +3420 0 1 0.0000000000000000e+00 1.2597171274896822e+02 3.0321861544777121e+01 2.4742641800428810e+01 0 0 0 +4073 0 1 0.0000000000000000e+00 1.2209219822374496e+02 3.0545324451939393e+01 2.4724626157898555e+01 0 -1 0 +3450 0 1 0.0000000000000000e+00 1.3536541871789416e+02 3.0424754094288982e+01 2.2184367478460207e+01 -1 -1 0 +3884 0 1 0.0000000000000000e+00 1.1229502984086359e+02 2.1655654394445808e+01 5.2157669479007873e-01 0 -1 0 +3666 0 1 0.0000000000000000e+00 1.1616740681059758e+02 2.6228840932824738e+01 2.2551020046361465e+01 0 0 -1 +3818 0 1 0.0000000000000000e+00 1.2445142379376377e+02 2.1317506104854971e+01 2.8376261357831659e+01 0 0 -1 +3082 0 1 0.0000000000000000e+00 1.2312054897700337e+02 1.7056340559573300e+01 2.3153846276565123e+01 -1 -1 0 +3537 0 1 0.0000000000000000e+00 1.3041642575338091e+02 3.1775959369037114e+01 3.2805665606110502e+01 0 -1 0 +3116 0 1 0.0000000000000000e+00 1.3524342153977673e+02 1.8135205345574779e+01 2.2922828527666738e+01 0 -1 -1 +3617 0 1 0.0000000000000000e+00 1.1813636264352769e+02 2.9125255558261543e+01 2.3543189842332254e+01 0 0 0 +3567 0 1 0.0000000000000000e+00 1.0634499090308456e+02 2.4024183115668070e+01 9.8400331765199915e+00 0 -1 0 +3127 0 1 0.0000000000000000e+00 1.2955357578674801e+02 3.2555180646312557e+01 5.7813855607228666e+00 0 -1 1 +3578 0 1 0.0000000000000000e+00 1.2033339318423444e+02 3.1542950389651747e+01 1.5638180217613439e+01 -1 0 0 +3257 0 1 0.0000000000000000e+00 1.2089468512256791e+02 2.8579670092235094e+01 2.1509120760842837e+01 0 -1 -1 +2945 0 1 0.0000000000000000e+00 1.0573418762451622e+02 2.0081453523318654e+01 2.3299965190260366e+01 -1 0 0 +3980 0 1 0.0000000000000000e+00 1.2440620787934175e+02 2.2509249574671159e+01 2.4550264094337377e+00 0 0 1 +3179 0 1 0.0000000000000000e+00 1.0549738323025245e+02 2.8454335825569544e+01 2.7906430362213243e+01 0 -1 0 +3828 0 1 0.0000000000000000e+00 1.2837556480582350e+02 2.7867885852958359e+01 2.2920621149902086e+01 0 0 0 +3856 0 1 0.0000000000000000e+00 1.2502498622510380e+02 3.0420641907044494e+01 1.7077973613051757e+01 0 0 0 +3155 0 1 0.0000000000000000e+00 1.1985363335666995e+02 1.0907227454458614e+01 3.1466480782179296e+01 0 0 -1 +2881 0 1 0.0000000000000000e+00 1.0580378111158896e+02 1.9617844139329549e+01 1.9693382703092510e+01 -1 0 0 +3441 0 1 0.0000000000000000e+00 1.0394481910271003e+02 8.6562839486151475e+00 1.2976019357059034e+01 0 0 0 +3706 0 1 0.0000000000000000e+00 1.0984705271719922e+02 2.6146062477199861e+00 1.9301647335818345e+01 0 1 0 +3902 0 1 0.0000000000000000e+00 1.0780182658132711e+02 1.7258214445931578e+01 2.4825580082098828e+01 0 0 0 +3438 0 1 0.0000000000000000e+00 1.3197392572141467e+02 2.5052517063530601e+01 2.8978816061020492e+01 -1 0 0 +3758 0 1 0.0000000000000000e+00 1.3565298860520801e+02 1.5323506889980282e+01 1.9832812391143655e+01 0 0 0 +3378 0 1 0.0000000000000000e+00 1.3532402511682412e+02 2.0690405428008159e+01 2.5634005527369453e+01 0 -1 0 +3618 0 1 0.0000000000000000e+00 1.0556284721409777e+02 2.8570904595388626e+01 2.2660491256267616e+01 1 0 -1 +3476 0 1 0.0000000000000000e+00 1.1500868483190092e+02 2.7685588998034344e+01 2.9095569072373156e+01 0 0 0 +3399 0 1 0.0000000000000000e+00 1.2905534557186846e+02 2.8494155210305841e+01 3.3465466699192504e+01 0 0 1 +3381 0 1 0.0000000000000000e+00 1.0994952896018303e+02 1.9201923813179338e+01 3.1956735637235830e+01 0 0 0 +3659 0 1 0.0000000000000000e+00 1.0787979138471826e+02 1.7531549170996730e+01 4.8890878952347521e+00 1 1 0 +3434 0 1 0.0000000000000000e+00 1.3550981379933276e+02 3.0278017019232884e+01 1.8775512901975819e+01 0 0 1 +3416 0 1 0.0000000000000000e+00 1.2492595382307341e+02 2.9641223701401501e+01 2.1112804994044872e+01 -1 0 0 +3304 0 1 0.0000000000000000e+00 1.1151250736648115e+02 3.1154642020827165e+01 1.7382397218432114e+01 0 -1 0 +4029 0 1 0.0000000000000000e+00 1.2456711469858685e+02 2.4234307919198557e+01 5.5708168391006767e+00 0 0 0 +2640 0 1 0.0000000000000000e+00 1.0396812885175395e+02 1.7448170135567786e+01 1.2692650697536225e+01 0 0 0 +4044 0 1 0.0000000000000000e+00 1.1388161736404079e+02 2.2095137199873824e+00 6.1527179495956883e+00 0 1 1 +3404 0 1 0.0000000000000000e+00 1.3334630747074885e+02 3.0603973416239413e+01 1.1044489249176600e+01 -1 0 0 +3773 0 1 0.0000000000000000e+00 1.1787973474617638e+02 8.6950305502668468e-02 1.1072908826349483e+01 1 1 0 +3543 0 1 0.0000000000000000e+00 1.2150126520139384e+02 1.8566209354740632e+01 1.4391331709565785e+01 0 0 1 +3553 0 1 0.0000000000000000e+00 1.1530058634349579e+02 1.4935068267575620e+00 1.4137731462748311e+01 0 0 1 +3845 0 1 0.0000000000000000e+00 1.0992571669051995e+02 3.3295515444558824e+01 2.0623347165935275e+00 0 0 0 +3919 0 1 0.0000000000000000e+00 1.0743640338763430e+02 4.8124024550742067e-01 3.0010056043558714e-01 1 0 0 +3901 0 1 0.0000000000000000e+00 1.0792709219173805e+02 1.2602815487158083e+00 1.6552988188090058e+01 0 1 0 +3112 0 1 0.0000000000000000e+00 1.2499682908143106e+02 2.0332174687917860e+01 5.0748290615855263e+00 -1 0 0 +3289 0 1 0.0000000000000000e+00 1.1432039427864933e+02 1.7615826946869703e+01 9.5851712001100875e+00 1 0 -1 +3559 0 1 0.0000000000000000e+00 1.2455674984316362e+02 1.8351157637005841e+01 1.6361891339218278e+01 0 0 0 +3517 0 1 0.0000000000000000e+00 1.2122240663351837e+02 3.2638154803437168e+01 5.5761969372721758e+00 0 -1 0 +3277 0 1 0.0000000000000000e+00 1.0832617642850178e+02 1.0827517534100036e+01 5.7039506292932334e+00 0 0 0 +3212 0 1 0.0000000000000000e+00 1.3102605238901089e+02 2.0620918456120908e+01 6.4358123018453162e+00 0 0 0 +3137 0 1 0.0000000000000000e+00 1.1684067109034514e+02 1.6586112396833162e+01 2.5976621604996488e+00 0 0 0 +3369 0 1 0.0000000000000000e+00 1.2977398091317474e+02 2.4889536373508562e+01 6.3432729453559515e+00 0 -1 0 +3087 0 1 0.0000000000000000e+00 1.0884796548837268e+02 2.5155268306225758e-02 2.2153119522296251e+01 0 0 -1 +3824 0 1 0.0000000000000000e+00 1.1383816482544700e+02 2.0195850657541174e+00 9.6183526602212837e+00 0 1 0 +3545 0 1 0.0000000000000000e+00 1.2054239255722425e+02 2.8821435317261898e+01 3.9355463358953764e+00 0 0 1 +3245 0 1 0.0000000000000000e+00 1.2963624050329432e+02 2.6935158459905857e+01 1.6938903284530280e+01 0 0 0 +3531 0 1 0.0000000000000000e+00 1.3408921182301088e+02 2.6978973737873183e+01 1.1632553278421687e+01 0 0 0 +4009 0 1 0.0000000000000000e+00 1.1150710091640724e+02 1.2357931807569817e+00 2.4688126822440260e+01 0 1 0 +3445 0 1 0.0000000000000000e+00 1.0777227114987360e+02 2.6393003468033918e+01 7.6560909384858205e+00 1 0 0 +3734 0 1 0.0000000000000000e+00 1.1900659277727812e+02 2.5861228239993590e+01 1.5442659536511474e+01 0 0 0 +3920 0 1 0.0000000000000000e+00 1.0776204738196988e+02 4.9042014144885542e+00 3.0225302348020506e+01 1 0 0 +3136 0 1 0.0000000000000000e+00 1.0785418422259308e+02 2.2030161640334576e+01 1.7501128315145213e+01 0 -1 0 +3498 0 1 0.0000000000000000e+00 1.0976694301863128e+02 3.3379645765341159e+01 1.9062118381587595e+01 1 0 1 +3857 0 1 0.0000000000000000e+00 1.1676455531427013e+02 2.0001792291576383e+01 1.5621542350332914e+01 -1 0 0 +3266 0 1 0.0000000000000000e+00 1.2967813487340092e+02 3.0181744283195744e+01 1.0386635658824623e+01 0 -1 1 +3895 0 1 0.0000000000000000e+00 1.2627535231723972e+02 2.2674423920607435e+01 1.1680478680134753e+01 -1 0 1 +3269 0 1 0.0000000000000000e+00 1.3552620366265771e+02 2.4401313196971039e+01 1.4810391028578804e+01 -1 -1 0 +3839 0 1 0.0000000000000000e+00 1.1700467992455023e+02 1.5897017345189376e+01 7.2475360171689767e+00 0 0 0 +3892 0 1 0.0000000000000000e+00 1.1201857985859424e+02 2.6687974689293469e+01 1.6947463923082868e+01 0 0 0 +3215 0 1 0.0000000000000000e+00 1.0802066552203637e+02 1.6099233351279707e+00 8.1959627184303567e+00 0 0 0 +4039 0 1 0.0000000000000000e+00 1.3420536438128369e+02 1.9912567371998666e+01 4.9546217692559171e+00 -1 0 0 +3493 0 1 0.0000000000000000e+00 1.1881008559834056e+02 3.4423268597258698e+01 1.4533874809665955e+01 1 -1 1 +3550 0 1 0.0000000000000000e+00 1.0576913598936467e+02 2.8138756450092874e+01 1.6532997261766298e+00 1 -1 1 +3373 0 1 0.0000000000000000e+00 1.1220797960794877e+02 2.9970004521580254e+01 1.2589910469400044e+01 0 0 1 +3646 0 1 0.0000000000000000e+00 1.0642345426050977e+02 6.7994599293234854e+00 1.1119411559925396e+01 1 0 0 +3514 0 1 0.0000000000000000e+00 1.1891434432339734e+02 1.8311017032345642e+01 5.5726469621731312e+00 0 -1 1 +3664 0 1 0.0000000000000000e+00 1.3054806342499316e+02 1.8931744430306011e+01 1.0006102125936042e+01 0 0 0 +3527 0 1 0.0000000000000000e+00 1.2104764288172063e+02 1.6147675017570720e+01 4.5640734432548209e+00 1 0 1 +3114 0 1 0.0000000000000000e+00 1.3214016022352178e+02 2.4489216387770611e+01 1.3434427632837561e+01 0 -1 0 +3898 0 1 0.0000000000000000e+00 1.0987031230557820e+02 1.5100254624186631e+01 3.2666814751145722e+01 0 0 -1 +4016 0 1 0.0000000000000000e+00 1.3193557896389078e+02 2.3407880545423165e+01 1.0037962725716699e+01 0 0 1 +3865 0 1 0.0000000000000000e+00 1.1189973430652233e+02 6.6853364415379468e-01 1.2857171111630981e+01 1 0 0 +3203 0 1 0.0000000000000000e+00 1.3341957571283493e+02 2.7321851256181606e+01 1.4782029242923835e+01 0 0 0 +912 0 1 0.0000000000000000e+00 1.3617119788296219e+02 1.7197066517500378e+01 1.6480305952308225e+01 -1 0 0 +3143 0 1 0.0000000000000000e+00 1.0500941049487658e+02 2.2768183762904619e+00 2.1143339810578832e+00 1 0 0 +3870 0 1 0.0000000000000000e+00 1.3261451619052826e+02 3.0911272497113909e+01 7.9407084439167805e+00 -1 -1 0 +3877 0 1 0.0000000000000000e+00 1.1219664765400734e+02 2.1526411665879511e+01 1.3229827349784538e+01 1 0 0 +4061 0 1 0.0000000000000000e+00 1.2151849514032335e+02 2.2339515106967905e+01 1.1239277365251946e+01 0 0 1 +3808 0 1 0.0000000000000000e+00 1.1672849707878723e+02 2.8930284872551482e+01 3.4349410309133113e+00 0 0 1 +3794 0 1 0.0000000000000000e+00 1.3025554792149862e+02 2.6293000445896617e+01 9.6436447649906167e+00 0 0 0 +3810 0 1 0.0000000000000000e+00 1.0767736632734390e+02 2.9831126107838095e+01 8.6488346439237809e+00 0 0 0 +561 0 1 0.0000000000000000e+00 1.3670028245701340e+02 4.3087049457697182e+00 1.0694333911991507e+01 0 1 -1 +3148 0 1 0.0000000000000000e+00 1.3497780187003454e+02 2.8205833246621168e+01 5.6010020523825013e+00 0 -1 0 +3494 0 1 0.0000000000000000e+00 1.1102784935463356e+02 2.3586238497148457e+01 1.0729617114212413e+01 0 0 0 +3297 0 1 0.0000000000000000e+00 1.2008591615128923e+02 3.3114533118577327e+01 8.6234112566359631e+00 0 0 0 +3299 0 1 0.0000000000000000e+00 1.3705021494561089e+02 2.6481911471183011e+01 1.2495013456995430e+01 0 0 -1 +3362 0 1 0.0000000000000000e+00 1.1287650439169219e+02 3.4369883647748388e+01 1.8297426877612217e+01 0 -1 0 +4011 0 1 0.0000000000000000e+00 1.1336986896482546e+02 2.2341555133772740e+01 4.2841589936075621e+00 0 0 1 +3551 0 1 0.0000000000000000e+00 1.1431240437746744e+02 2.9299711218255922e+01 1.5455607495121704e+01 1 -1 0 +3468 0 1 0.0000000000000000e+00 1.1174449057165982e+02 2.1286438585743589e+01 2.9183809659991525e+01 0 -1 0 +3622 0 1 0.0000000000000000e+00 1.2063038216818917e+02 2.1319046266021509e+01 7.9566986537454873e+00 1 0 0 +4041 0 1 0.0000000000000000e+00 1.2025865050507949e+02 2.3686353240618679e+01 3.2278564222764679e+01 -1 0 0 +995 0 1 0.0000000000000000e+00 1.3673515754260703e+02 2.0926944622146443e+01 1.5568615456867660e+01 -1 0 0 +2447 0 1 0.0000000000000000e+00 1.0415938452446940e+02 3.4425102015554295e+01 2.6022660636653907e+01 0 -1 0 +3931 0 1 0.0000000000000000e+00 1.1011240572906119e+02 2.8175670644403269e+01 1.5018524613233971e+01 0 1 1 +3131 0 1 0.0000000000000000e+00 1.2522008824608689e+02 3.3639119733544554e+01 6.8748281643356730e+00 0 -1 0 +3733 0 1 0.0000000000000000e+00 1.1909065087918704e+02 1.9708124347768162e+01 1.1445496517488515e+01 0 0 1 +4050 0 1 0.0000000000000000e+00 1.0728754172114493e+02 2.1728084546634857e+01 4.6180110913072463e+00 0 1 1 +4020 0 1 0.0000000000000000e+00 1.1443872209476061e+02 2.3169508768869878e+01 1.5520441514985999e+01 0 0 0 +4054 0 1 0.0000000000000000e+00 1.2346634082300059e+02 2.2471090062593216e+01 1.4464525451643221e+01 0 0 1 +859 0 1 0.0000000000000000e+00 1.3718504449230977e+02 2.2281040126581736e+01 1.2488991900603054e+01 -1 1 1 +716 0 1 0.0000000000000000e+00 1.3705729015900502e+02 2.1682816773277771e+01 6.6563248624173355e+00 -1 0 0 +2800 0 1 0.0000000000000000e+00 1.0391938156212903e+02 2.6136114771835764e+01 1.6419442063985585e+01 0 0 0 +495 0 1 0.0000000000000000e+00 1.3462184635350701e+02 2.3066806104542948e+01 2.2963615481538704e+00 -1 -1 0 +3677 0 1 0.0000000000000000e+00 1.0807506101236447e+02 8.3433563382829981e+00 1.3860564020695227e+01 1 0 0 +3525 0 1 0.0000000000000000e+00 1.2861317156720295e+02 2.5099182588728929e+01 1.2274728905066999e+01 0 -1 1 +497 0 1 0.0000000000000000e+00 1.3692723463693548e+02 1.2312285214423492e+01 1.1031087782494366e+01 -1 -1 1 +3171 0 1 0.0000000000000000e+00 1.2352738265359375e+02 3.1774155910584415e+01 9.0604604171515675e+00 0 -1 0 +3711 0 1 0.0000000000000000e+00 1.1325583193151719e+02 3.3074026499853126e+01 1.4984512251209919e+01 1 0 0 +3401 0 1 0.0000000000000000e+00 1.3387220395091737e+02 2.1352619960254842e+01 1.2098311333354673e+01 0 -1 0 +3764 0 1 0.0000000000000000e+00 1.2157090667330004e+02 2.5455833371815331e+01 4.2855575069131149e+00 1 0 0 +3305 0 1 0.0000000000000000e+00 1.0915773536189984e+02 1.6264907658280769e+01 1.5459932649390462e+01 1 0 0 +3716 0 1 0.0000000000000000e+00 1.2672100606578890e+02 2.4014500043252433e+01 1.5359720563210319e+01 0 0 0 +3313 0 1 0.0000000000000000e+00 1.1255848963093881e+02 2.5067038254169482e+01 6.9423424587706233e+00 1 0 0 +3205 0 1 0.0000000000000000e+00 1.3753252955577778e+02 1.0678019497067329e+01 2.3036686911152557e+01 0 0 -1 +3670 0 1 0.0000000000000000e+00 1.2761597772585837e+02 1.4724941959918935e+01 1.2558620694474948e+01 0 0 0 +3604 0 1 0.0000000000000000e+00 1.3390756410767841e+02 3.4294936642710638e+01 6.4599160705914818e+00 -1 0 0 +3699 0 1 0.0000000000000000e+00 1.2526414084763667e+02 1.6102599747081978e+01 9.3635299079363641e+00 0 0 0 +3674 0 1 0.0000000000000000e+00 1.2573107046143835e+02 3.2880557674210522e+01 1.9657613298430743e+01 0 0 -1 +3177 0 1 0.0000000000000000e+00 1.1676681092851481e+02 1.1501641838725853e+01 1.3371341554395256e+01 1 0 0 +3309 0 1 0.0000000000000000e+00 1.2240387879710741e+02 2.5181699678459854e+01 1.6741335440498268e+01 0 -1 0 +3107 0 1 0.0000000000000000e+00 1.3236165201930382e+02 2.8666846774042636e+01 6.0247432430706149e-01 0 -1 0 +3795 0 1 0.0000000000000000e+00 1.1763484213325927e+02 1.9179788399793146e+01 2.7680056015694777e+01 0 0 -1 +377 0 1 0.0000000000000000e+00 1.3801730622288909e+02 3.4533581939626671e+01 6.0801972677117382e+00 -1 -1 0 +4070 0 1 0.0000000000000000e+00 1.3399354415674219e+02 2.0218816928812579e+01 8.8249900876151290e+00 -1 0 0 +4027 0 1 0.0000000000000000e+00 1.2085179522382261e+02 3.1986514485293643e+01 1.2208831731368932e+01 0 -1 0 +3723 0 1 0.0000000000000000e+00 1.1426256663994775e+02 2.3445875314169978e+01 1.0451144000368089e+01 0 0 0 +3676 0 1 0.0000000000000000e+00 1.1155375065785941e+02 2.5839225532204892e+01 3.5823319780449925e+00 0 0 0 +3736 0 1 0.0000000000000000e+00 1.2203439109915803e+02 1.6367605348209281e+01 3.3583047051641991e+01 0 0 0 +860 0 1 0.0000000000000000e+00 1.3675838360710443e+02 2.6968338322688822e+01 1.7079908953499654e+01 -1 0 0 +3350 0 1 0.0000000000000000e+00 1.0737312765175818e+02 3.0814566544957739e+01 4.2816965144637740e+00 1 -1 0 +3290 0 1 0.0000000000000000e+00 1.1111144079419594e+02 2.2125295953869660e+01 1.7552678864742987e+01 0 0 0 +3125 0 1 0.0000000000000000e+00 1.2534518664783835e+02 1.2757103776282522e+01 1.4174423819822485e+01 0 0 0 +3232 0 1 0.0000000000000000e+00 1.2877905154946382e+02 2.3795950663432098e+01 1.9098157905916722e+01 -1 0 0 +3120 0 1 0.0000000000000000e+00 1.0575678346495856e+02 2.6373770254238345e+00 1.0837924154140925e+01 0 0 0 +3211 0 1 0.0000000000000000e+00 1.1791756155776194e+02 2.3050158326647573e+01 1.7620657153194870e+01 0 0 0 +3471 0 1 0.0000000000000000e+00 1.3397128460503993e+02 3.3598934860141618e+01 1.0086432041154790e+01 -1 -1 0 +3624 0 1 0.0000000000000000e+00 1.1794208850287737e+02 2.1703144412417171e+01 5.6087866050117601e+00 0 0 0 +3923 0 1 0.0000000000000000e+00 1.2853429823946772e+02 1.5954353594267722e+01 9.1251334102981509e+00 0 0 1 +3623 0 1 0.0000000000000000e+00 1.3573450049238483e+02 2.9972962777743877e+01 1.3948876820772275e+01 0 0 0 +3202 0 1 0.0000000000000000e+00 1.2094234901726443e+02 2.3683257559240129e+01 1.9506634289443475e+01 1 -1 0 +3522 0 1 0.0000000000000000e+00 1.1187669683227610e+02 2.0049727318941887e+01 9.2503638775936974e+00 0 0 1 +3153 0 1 0.0000000000000000e+00 1.2805993701090011e+02 1.8197694811708811e+01 1.8503599370640909e+01 0 -1 -1 +3848 0 1 0.0000000000000000e+00 1.1001131576138920e+02 2.2905610118544100e+01 2.7899512568321159e+00 0 0 0 +3335 0 1 0.0000000000000000e+00 1.1839427672282061e+02 1.6586822740293382e+01 3.4067613133040041e+01 1 0 0 +3718 0 1 0.0000000000000000e+00 1.0575740599935160e+02 2.8381833615757536e+01 5.9134842360270605e+00 0 0 0 +3625 0 1 0.0000000000000000e+00 1.2144214869959096e+02 1.0875387009509993e+01 2.0794728160564908e+01 0 0 0 +4005 0 1 0.0000000000000000e+00 1.1205908336203743e+02 3.1258297756474992e+01 2.1171354653074772e+01 1 0 1 +3505 0 1 0.0000000000000000e+00 1.2036873007030159e+02 1.2841365921424577e+01 2.5700181698929891e+00 0 -1 0 +3489 0 1 0.0000000000000000e+00 1.2064606313621803e+02 2.5571848235211654e+01 1.2130419424313741e+01 0 0 1 +3974 0 1 0.0000000000000000e+00 1.3048087263917617e+02 1.2633358138956947e+01 1.0206973972408388e+01 -1 0 0 +3765 0 1 0.0000000000000000e+00 1.2227551353219407e+02 2.8279936153088158e+01 1.4718488680231111e+01 0 0 1 +3466 0 1 0.0000000000000000e+00 1.3317887296435603e+02 1.4411020284502595e+01 1.4955378231462308e+01 -1 0 0 +3918 0 1 0.0000000000000000e+00 1.2441062799101300e+02 2.6159459456595645e+01 1.3388030668351290e+01 -1 0 1 +3173 0 1 0.0000000000000000e+00 1.1981842725193222e+02 1.7191845651501591e+01 8.0875669589968986e+00 -1 0 0 +3630 0 1 0.0000000000000000e+00 1.3015150237344531e+02 1.2924030132385894e+01 1.6365401289199770e+01 0 0 0 +3407 0 1 0.0000000000000000e+00 1.2025277684603863e+02 2.6934653734526343e+01 2.5945086991561034e+01 1 -1 0 +3955 0 1 0.0000000000000000e+00 1.0516186894411943e+02 1.9494418115023262e+01 9.7042371399170886e+00 0 0 0 +3653 0 1 0.0000000000000000e+00 1.2752237303133104e+02 1.8173503534971023e+00 1.0759632539463272e+01 0 1 1 +996 0 1 0.0000000000000000e+00 1.3778019222311130e+02 2.8046117473890952e+01 2.1528977914842429e+01 0 0 0 +3658 0 1 0.0000000000000000e+00 1.0802520827592302e+02 2.1502487326045333e+01 1.1970851643598664e+01 0 0 0 +3295 0 1 0.0000000000000000e+00 1.3678081018980689e+02 2.5943020773734681e+01 7.1580675566470013e+00 0 -1 0 +4043 0 1 0.0000000000000000e+00 1.1511146746705718e+02 2.9286854493111804e+01 1.1983196896586328e+01 0 0 1 +3645 0 1 0.0000000000000000e+00 1.0936851786113819e+02 1.7855329611471163e+01 8.6293118206000479e+00 0 0 0 +3316 0 1 0.0000000000000000e+00 1.3317362412862292e+02 3.0510620302105622e+01 4.0470443656296444e+00 0 -1 0 +3849 0 1 0.0000000000000000e+00 1.2082595116945147e+02 9.3759562059378254e+00 2.8471121137415977e+01 0 1 0 +3075 0 1 0.0000000000000000e+00 1.3539701173451786e+02 7.9436156487603942e+00 2.1912506511671197e+01 -1 0 -1 +3943 0 1 0.0000000000000000e+00 1.1999215356673628e+02 1.3693004002361972e+01 3.3960353516418095e+01 0 1 0 +3957 0 1 0.0000000000000000e+00 1.0757888033043835e+02 1.4280554745278254e+01 3.3961178131908518e+00 1 0 1 +3491 0 1 0.0000000000000000e+00 1.1852884039819446e+02 3.2824609254626672e+01 1.8955755983538957e+01 0 0 0 +3586 0 1 0.0000000000000000e+00 1.2678517531460221e+02 2.9987102888887744e+01 7.7728649738153672e+00 0 0 0 +3642 0 1 0.0000000000000000e+00 1.1010378408039924e+02 2.4145687722533832e+01 1.4437661563339896e+01 0 0 -1 +3951 0 1 0.0000000000000000e+00 1.3242139524439079e+02 2.9003412592759471e+01 1.9261237987039387e+01 0 0 -1 +3619 0 1 0.0000000000000000e+00 1.1722111720520499e+02 2.2851189379528602e+01 1.3284224729703551e+01 0 0 0 +3164 0 1 0.0000000000000000e+00 1.2348817553468662e+02 2.7959172156791734e+01 6.8048296310722964e+00 0 0 0 +3425 0 1 0.0000000000000000e+00 1.1694312373533447e+02 2.6335260360815418e+01 1.2183548558659750e+01 0 -1 0 +164 0 1 0.0000000000000000e+00 1.3655216179592136e+02 2.7247859059342430e+00 2.2434251920470686e+01 -1 0 0 +3392 0 1 0.0000000000000000e+00 1.3313131148359079e+02 2.5029722176587221e+01 1.7045578486483919e+01 0 -1 0 +3825 0 1 0.0000000000000000e+00 1.3142574431387769e+02 2.1454403003956397e+00 5.7447005500321904e+00 -1 1 0 +414 0 1 0.0000000000000000e+00 1.3462761860007643e+02 6.0457453318432641e+00 2.2777448127318004e-01 -1 0 0 +3959 0 1 0.0000000000000000e+00 1.1730495786755587e+02 1.9305619377454864e+01 8.3983554241186216e+00 0 0 0 +3612 0 1 0.0000000000000000e+00 1.3711725200086272e+02 1.8840944422234596e+01 1.9553910517928955e+01 -1 0 -1 +3389 0 1 0.0000000000000000e+00 1.3329789130948919e+02 2.7260809573367652e+01 7.9058319120681579e+00 0 -1 1 +3570 0 1 0.0000000000000000e+00 1.0916956399670890e+02 1.9732882980478593e+01 1.5149354159751351e+01 0 -1 0 +3938 0 1 0.0000000000000000e+00 1.1004915423090833e+02 2.8730240312470915e+01 6.0591076951468761e+00 0 0 0 +3113 0 1 0.0000000000000000e+00 1.0639257161007453e+02 1.6729080751038630e+01 8.0813037324663028e+00 0 0 -1 +3095 0 1 0.0000000000000000e+00 1.1828811213705733e+02 3.0874904149919121e+01 1.0383196035111622e+01 0 -1 0 +3218 0 1 0.0000000000000000e+00 1.1714629582837847e+02 3.1495288295906395e+01 1.4559574096073963e+01 1 -1 -1 +3076 0 1 0.0000000000000000e+00 1.3104177123019946e+02 2.3681493428569311e+00 1.2057006003201806e+01 0 0 0 +3429 0 1 0.0000000000000000e+00 1.3709905933128175e+02 7.6477656507923868e+00 2.4511911509659621e+00 0 0 1 +3327 0 1 0.0000000000000000e+00 1.3265786790206803e+02 2.1423100990521593e+01 3.4534199355576163e+01 0 -1 -1 +3750 0 1 0.0000000000000000e+00 1.1740102635068857e+02 2.6977647579717210e+01 6.9317670286470499e+00 0 0 0 +3176 0 1 0.0000000000000000e+00 1.2403857350960466e+02 2.1809966844781322e+01 9.0630765558213362e+00 -1 0 0 +3097 0 1 0.0000000000000000e+00 1.0484557882302551e+02 1.9546731524687232e+01 6.0544932998464889e+00 1 0 0 +3195 0 1 0.0000000000000000e+00 1.2739679255211480e+02 2.7956590773423208e+01 1.4286121357537997e+01 0 -1 0 +3293 0 1 0.0000000000000000e+00 1.1361939133617925e+02 2.8580018866521513e+01 6.5405003856991364e+00 0 -1 0 +3854 0 1 0.0000000000000000e+00 1.2268164910653448e+02 9.9309528209468265e+00 2.4690231349196775e+01 0 0 0 +3760 0 1 0.0000000000000000e+00 1.3709973985599055e+02 7.3205097414906981e-02 3.3886592238700487e+01 0 1 0 +3992 0 1 0.0000000000000000e+00 1.1441375877002001e+02 2.4443974617842414e+01 1.9273730965283910e+01 1 0 0 +3231 0 1 0.0000000000000000e+00 1.2994686261220355e+02 2.3583084073538352e+01 1.5533777675030139e+01 0 0 0 +3668 0 1 0.0000000000000000e+00 1.3169233203660642e+02 2.7004827340242386e+01 4.6236006141508543e+00 1 0 1 +3121 0 1 0.0000000000000000e+00 1.3308210177419778e+02 2.1640758135594094e+01 1.5453348245812943e+01 0 -1 0 +3564 0 1 0.0000000000000000e+00 1.3751144977355423e+02 4.3163793764061271e+00 3.4062596524315772e+01 0 0 0 +3964 0 1 0.0000000000000000e+00 1.1108867815268263e+02 3.2335773289623368e+01 5.0826673558848210e+00 0 0 1 +3971 0 1 0.0000000000000000e+00 1.3428288752965324e+02 2.5851160760303307e+00 3.4442497489885831e+01 -1 0 -1 +3374 0 1 0.0000000000000000e+00 1.1788086878946751e+02 2.9005346882870107e+01 1.6816992323746742e+01 1 -1 0 +4079 0 1 0.0000000000000000e+00 1.2024690859351502e+02 2.1489338700075919e+01 1.4752055471787145e+01 0 0 0 +4031 0 1 0.0000000000000000e+00 1.0488954228729230e+02 3.2597337801372049e+01 6.2023014309337992e+00 1 0 1 +3914 0 1 0.0000000000000000e+00 1.3341042136249550e+02 1.9739385942606109e+01 1.8649691259520282e+01 0 0 1 +4066 0 1 0.0000000000000000e+00 1.1554685601950327e+02 2.0186111148584374e+01 1.1886670710887115e+01 0 0 0 +3146 0 1 0.0000000000000000e+00 1.1454609715675758e+02 1.9311976933828340e+01 6.6450473795194078e+00 0 0 0 +3230 0 1 0.0000000000000000e+00 1.2883830862356618e+02 2.2223695987308265e+01 9.1016680226202080e+00 0 -1 0 +3696 0 1 0.0000000000000000e+00 1.3806902160449783e+02 2.9621610541529893e+01 2.9123026066616418e+01 -1 0 -1 +373 0 1 0.0000000000000000e+00 1.3666465507943755e+02 1.7885646813523827e+01 8.7973509211131766e+00 0 0 0 +3770 0 1 0.0000000000000000e+00 1.2311839529100071e+02 1.9088486088386052e+01 3.1204238122056640e+01 0 0 -1 +3547 0 1 0.0000000000000000e+00 1.3078545910910549e+02 3.3654793578942581e+01 1.1827961329143005e+01 0 -1 0 +3589 0 1 0.0000000000000000e+00 1.1926691761763502e+02 2.1546805796412755e+01 1.8058404769663334e+00 0 0 0 +3927 0 1 0.0000000000000000e+00 1.2473169394873582e+02 1.6471562178225234e+01 1.9512657702246951e+01 0 0 0 +3240 0 1 0.0000000000000000e+00 1.1091770088959466e+02 2.7340969639425527e+01 1.0058763100779579e+01 0 -1 0 +3546 0 1 0.0000000000000000e+00 1.3485944478019127e+02 3.3538402772604250e+01 2.8656378731339760e+01 -1 -1 0 +3801 0 1 0.0000000000000000e+00 1.2357276822230477e+02 1.5363446015313869e+01 1.5988223999028072e+01 1 0 0 +4080 0 1 0.0000000000000000e+00 1.3352755159974734e+02 2.4137834377496493e+01 2.3210562391865722e+01 0 0 0 +3192 0 1 0.0000000000000000e+00 1.2412342305580903e+02 1.8327372702250837e+01 1.9751337539439182e+00 0 1 0 +3732 0 1 0.0000000000000000e+00 1.1026940565386680e+02 1.3048776965632337e+01 1.1973952641985974e+00 0 0 0 +3748 0 1 0.0000000000000000e+00 1.0939960331366429e+02 3.2312552310594427e+01 1.4822979832263387e+01 1 0 0 +3909 0 1 0.0000000000000000e+00 1.0929772948093732e+02 1.9309485824064200e+01 2.2028653058315792e+00 1 0 0 +3821 0 1 0.0000000000000000e+00 1.0966606654685189e+02 2.3577236163418650e+01 7.2159819345181511e+00 0 0 0 +3588 0 1 0.0000000000000000e+00 1.2723009021557775e+02 2.6916084398221304e+01 5.5501488278135449e+00 -1 0 0 +3253 0 1 0.0000000000000000e+00 1.2084011731100037e+02 2.5144677218001544e+01 7.3734155769687426e+00 0 -1 0 +3712 0 1 0.0000000000000000e+00 1.1805896154150713e+02 2.3374145346206181e+01 9.4590181528767179e+00 0 0 0 +3352 0 1 0.0000000000000000e+00 1.1620243139757588e+02 1.9910030696371738e+01 4.1618373363945645e-02 0 0 1 +3656 0 1 0.0000000000000000e+00 1.2733874053301599e+02 1.6494318779648719e+01 1.6011218735859156e+01 0 0 0 +3271 0 1 0.0000000000000000e+00 1.1627597160058700e+02 3.0422446699429646e+01 7.3763057637454219e+00 0 -1 -1 +3727 0 1 0.0000000000000000e+00 1.2979387369567775e+02 2.1109630885205032e+01 1.2840788389189756e+01 0 0 0 +3090 0 1 0.0000000000000000e+00 1.3322582425823242e+02 2.3919953319018362e+01 6.1533128078824637e+00 0 0 1 +3906 0 1 0.0000000000000000e+00 1.2646575418067863e+02 2.8319570828707384e+01 1.0571008821816871e+01 0 0 0 +854 0 1 0.0000000000000000e+00 1.3702700160494703e+02 4.4823083492584201e+00 1.9100260009563279e+01 -1 1 0 +3864 0 1 0.0000000000000000e+00 1.0562499623383204e+02 2.8036361769720290e+01 1.0802911406933699e+01 0 0 0 +3963 0 1 0.0000000000000000e+00 1.3078505692153468e+02 2.8427192908978778e+01 1.3275855215368891e+01 0 0 0 +3678 0 1 0.0000000000000000e+00 1.3544863037659948e+02 2.2971476642228140e+01 1.8364851857860614e+01 0 0 0 +3190 0 1 0.0000000000000000e+00 1.2450594400380733e+02 2.7126547501498461e+01 3.0274554260705426e+00 0 -1 0 +3690 0 1 0.0000000000000000e+00 1.0807582103050642e+02 2.5951636343465612e+01 3.7317629246689656e+00 1 0 0 +3343 0 1 0.0000000000000000e+00 1.1279670681504686e+02 2.6043193215234279e+01 1.3442740981565017e+01 0 -1 0 +3832 0 1 0.0000000000000000e+00 1.2691390081834697e+02 3.3290735215974316e+01 3.3436765936400967e+01 -1 1 0 +3260 0 1 0.0000000000000000e+00 1.2698075476618020e+02 2.0578702925299112e+01 1.5036524037487393e+01 0 0 0 +3915 0 1 0.0000000000000000e+00 1.0965674443776979e+02 1.4632328765186779e+01 6.5882425300025336e+00 0 0 1 +4024 0 1 0.0000000000000000e+00 1.0535738236365947e+02 2.2954162700160845e+00 1.4559134486574534e+01 0 0 0 +3451 0 1 0.0000000000000000e+00 1.0793794735712257e+02 2.7716231903617894e-01 1.2339973760074878e+01 1 0 0 +3812 0 1 0.0000000000000000e+00 1.3323684804774359e+02 1.8511445850841984e+01 1.3822468364657029e+01 0 0 -1 +3813 0 1 0.0000000000000000e+00 1.1462534289594819e+02 2.8454863097280420e+01 1.9496985259884013e+01 0 0 0 +3283 0 1 0.0000000000000000e+00 1.3532544573476727e+02 1.7889440605457235e-01 2.9500095686874288e+00 0 0 1 +3129 0 1 0.0000000000000000e+00 1.2533410251444374e+02 3.3660286905402323e+01 1.1653157935624225e+01 0 -1 0 +3286 0 1 0.0000000000000000e+00 1.3784107751540475e+02 3.6467535155465602e-01 3.0324793799462558e+01 0 0 -1 +3843 0 1 0.0000000000000000e+00 1.2678931595105345e+02 2.5492064238955003e+01 8.6535153831952130e+00 0 0 0 +72 0 1 0.0000000000000000e+00 1.3691802539567379e+02 1.9007372948644029e+01 1.2256318936747833e+01 -1 0 0 +3235 0 1 0.0000000000000000e+00 1.2975255602262780e+02 1.7980566118331037e+01 1.4677575992180067e+01 -1 0 0 +3994 0 1 0.0000000000000000e+00 1.3663699905868413e+02 2.5176152278499803e+01 2.4711726212336185e+01 -1 0 0 +3753 0 1 0.0000000000000000e+00 1.0832197346916855e+02 3.0000776151288417e+01 1.2397838728670200e+01 0 0 0 +3811 0 1 0.0000000000000000e+00 1.2894978783186903e+02 1.4879171409773072e+01 1.9209307997301700e+01 -1 0 0 +4064 0 1 0.0000000000000000e+00 1.3002514721018085e+02 2.0681542921972980e+01 1.7157075980156620e+01 0 0 0 +3536 0 1 0.0000000000000000e+00 1.2309487663269768e+02 1.7662136080023053e+01 6.7060236489773413e+00 0 0 1 +4090 0 1 0.0000000000000000e+00 1.3605354946822615e+02 3.1631916889419863e+01 7.3995868883553113e+00 0 0 1 +3250 0 1 0.0000000000000000e+00 1.1929243800422898e+02 2.7681885311174216e+01 9.8798161781438996e+00 1 -1 0 +3940 0 1 0.0000000000000000e+00 1.2216294720353395e+02 2.8702960156112674e+01 1.0993179396350275e+01 0 0 1 +3802 0 1 0.0000000000000000e+00 1.1015289569518932e+02 2.0377258628958312e+01 5.8270205817886627e+00 0 0 0 +4002 0 1 0.0000000000000000e+00 1.1549334673297798e+02 2.6332606388405242e+01 9.1140450569791600e+00 0 0 1 +3142 0 1 0.0000000000000000e+00 1.1508698545121972e+02 2.3252644848462602e+01 7.0884697494486888e+00 1 -1 0 +3397 0 1 0.0000000000000000e+00 1.2031376047291914e+02 1.8472831943966309e+01 1.8976479285482113e+00 0 0 1 +3358 0 1 0.0000000000000000e+00 1.2896591045123449e+02 3.1285281833698495e+01 1.5276534208063348e+01 0 0 1 +4008 0 1 0.0000000000000000e+00 1.0545519553432618e+02 2.4194353794806471e+01 6.2116550590713144e+00 1 0 1 +20 0 1 0.0000000000000000e+00 1.3177706075786460e+02 1.5970933281614002e+01 3.2246986909325280e+01 -1 0 -1 +3507 0 1 0.0000000000000000e+00 1.2522599862940184e+02 2.4307061703116986e+01 1.8766767314027700e+01 0 -1 0 +574 0 1 0.0000000000000000e+00 1.3599000182514388e+02 1.4682123029407638e+01 8.4686125892973738e+00 0 0 0 +3099 0 1 0.0000000000000000e+00 1.2798666998536831e+02 2.4141436927806943e+01 2.8870599821397942e+00 -1 -1 0 +3360 0 1 0.0000000000000000e+00 1.2376219234095032e+02 2.5546071965713697e+01 1.0012472611052447e+01 0 -1 1 +3204 0 1 0.0000000000000000e+00 1.0958150054935871e+02 2.8859199041454126e+01 2.6278227743494984e+00 0 0 0 +3887 0 1 0.0000000000000000e+00 1.2640153168435560e+02 1.8986383489018763e+01 2.1693881491328888e+01 0 0 -1 +4071 0 1 0.0000000000000000e+00 1.3114655920982133e+02 3.4119428588866896e+01 1.5962782865934599e+01 0 0 1 +3357 0 1 0.0000000000000000e+00 1.1637212422624835e+02 1.9963692293165231e+01 3.6096495163667193e+00 0 -1 1 +3600 0 1 0.0000000000000000e+00 1.1875447028278829e+02 2.7329604350902130e+01 1.4149850398934147e+00 0 -1 0 +63 0 1 0.0000000000000000e+00 1.3483714601933855e+02 2.6522197943158289e+01 3.0174171028208587e+01 0 0 -1 +4067 0 1 0.0000000000000000e+00 1.1013897769770170e+02 2.8379782120400527e+01 1.9605746731752692e+01 0 0 0 +3073 0 1 0.0000000000000000e+00 1.3017572288764003e+02 2.0091199225500467e-01 8.5957440339264490e+00 0 1 0 +3767 0 1 0.0000000000000000e+00 1.0584852886618729e+02 2.3600333179468784e+01 2.3551558238645526e+01 0 0 -1 +3080 0 1 0.0000000000000000e+00 1.3367076149052664e+02 1.7240108964965884e+01 2.7072163469342447e-01 0 0 0 +3354 0 1 0.0000000000000000e+00 1.2499517073020043e+02 1.8989232030433227e+00 1.3740676036990260e+01 0 0 0 +3132 0 1 0.0000000000000000e+00 1.1039702976143194e+02 2.8917721608125692e+01 3.3078761861362686e+01 1 -1 -1 +3303 0 1 0.0000000000000000e+00 1.1156702116371113e+02 3.3170501238630635e+01 2.7751581259465222e+01 1 -1 0 +3182 0 1 0.0000000000000000e+00 1.2329653177349107e+02 1.7967070816271953e+01 2.6905265774100911e+01 0 0 -1 +3421 0 1 0.0000000000000000e+00 1.1870780058229889e+02 1.0287938002983838e+01 3.2476292848037408e-02 0 0 1 +3534 0 1 0.0000000000000000e+00 1.3289941743670653e+02 4.7308701147751053e+00 2.9157099974567217e+01 0 0 0 +3154 0 1 0.0000000000000000e+00 1.1966655803802159e+02 2.0385326507572348e+01 3.2508689685979029e+01 0 0 0 +3966 0 1 0.0000000000000000e+00 1.1570686673124590e+02 5.6644209993825383e+00 2.6996482312221534e+01 0 0 0 +3185 0 1 0.0000000000000000e+00 1.2729543551720444e+02 1.2711426723426364e+00 2.4372393118275021e+01 0 0 0 +3336 0 1 0.0000000000000000e+00 1.2410050277209426e+02 1.4441284987961723e+01 3.4407589541347821e+00 0 0 1 +3301 0 1 0.0000000000000000e+00 1.1914660587880864e+02 3.6447451157544415e+00 3.1304624185580774e+01 0 0 -1 +3251 0 1 0.0000000000000000e+00 1.2181807027423631e+02 1.2522095540496620e+01 2.8855638416512054e+01 0 0 0 +3930 0 1 0.0000000000000000e+00 1.2565545833562831e+02 3.4399863017765462e+01 3.0521199928334834e+01 0 -1 0 +3826 0 1 0.0000000000000000e+00 1.3666006081989960e+02 3.4015313343582427e+01 2.0941015701894120e+01 0 0 -1 +4082 0 1 0.0000000000000000e+00 1.2156292691807639e+02 3.0219815014065490e+00 2.6297159206701139e+01 0 1 1 +3879 0 1 0.0000000000000000e+00 1.1465017476883750e+02 9.4291979056613382e+00 2.2524751877686896e+01 0 1 0 +3858 0 1 0.0000000000000000e+00 1.2115386490952523e+02 4.9252948613221585e+00 1.9054729572159310e+01 0 1 0 +3437 0 1 0.0000000000000000e+00 1.3262359313008722e+02 3.0610996893226023e+01 1.6094464368515720e+01 0 -1 0 +3809 0 1 0.0000000000000000e+00 1.2588340149775428e+02 3.3236709193646341e+01 2.6444387743249610e+01 0 0 0 +3209 0 1 0.0000000000000000e+00 1.1222992407787680e+02 1.9323422993990544e-01 1.1971718850301584e-01 1 1 0 +3532 0 1 0.0000000000000000e+00 1.2268878588639298e+02 1.5376427613019919e+01 3.0178439757346688e+01 -1 0 0 +3562 0 1 0.0000000000000000e+00 1.1793696290797243e+02 1.1618668144861173e+01 1.9255059289045086e+01 1 0 0 +2784 0 1 0.0000000000000000e+00 1.0394020890741334e+02 2.2009670493297161e+01 1.6533339599480460e+01 0 0 0 +3467 0 1 0.0000000000000000e+00 1.1926411091071451e+02 1.3904984021317195e+00 2.8150563174732984e+01 1 0 0 +3925 0 1 0.0000000000000000e+00 1.1680306577415719e+02 7.6591245937941554e+00 1.6685491205622740e+00 1 1 1 +3310 0 1 0.0000000000000000e+00 1.1401748039415988e+02 1.4456604103494106e+00 2.7561521634614671e+01 0 0 0 +3528 0 1 0.0000000000000000e+00 1.2653978363016213e+02 5.3308761169144301e+00 4.0774793445604258e+00 -1 0 1 +3521 0 1 0.0000000000000000e+00 1.3449691184751902e+02 1.3636170215157128e+01 3.0215053394277184e+01 -1 0 0 +3979 0 1 0.0000000000000000e+00 1.3144863075017929e+02 1.4772615473172225e+01 2.8085255323228161e+01 -1 0 0 +3549 0 1 0.0000000000000000e+00 1.1690937514882391e+02 5.9638657425373820e+00 3.3205791708892960e+01 0 0 0 +3904 0 1 0.0000000000000000e+00 1.1644185690467705e+02 1.2845080257631210e+01 2.5597679591523729e+01 0 0 0 +3092 0 1 0.0000000000000000e+00 1.0578579618484966e+02 1.4797342333724652e+01 2.8305227810036332e+01 0 0 -1 +3194 0 1 0.0000000000000000e+00 1.0540299074892724e+02 6.8310832540527588e+00 1.9591743631276991e+01 1 1 0 +3650 0 1 0.0000000000000000e+00 1.2604653970080902e+02 5.1063323035031702e+00 3.4225029318965007e+01 0 1 -1 +4030 0 1 0.0000000000000000e+00 1.0577037474372338e+02 2.0950641659838274e+00 3.2011301430803101e+01 0 1 0 +3844 0 1 0.0000000000000000e+00 1.2616879009426010e+02 1.3028243259593863e+01 3.1169142569694191e+01 -1 1 1 +4026 0 1 0.0000000000000000e+00 1.3176634619267443e+02 3.3782878773818403e+01 3.4189737862896066e+00 -1 -1 1 +369 0 1 0.0000000000000000e+00 1.3481969856729555e+02 6.3262648075436871e+00 4.0905232165121186e+00 -1 0 0 +3897 0 1 0.0000000000000000e+00 1.0604628776984289e+02 2.5521978895402522e+00 2.3623685043073809e+01 1 1 0 +3513 0 1 0.0000000000000000e+00 1.1630791682795486e+02 2.4006350327127572e+00 2.9720976776949467e+01 1 0 0 +3761 0 1 0.0000000000000000e+00 1.1445588430302881e+02 2.5166357550006677e+00 3.2883950465935371e+01 0 1 -1 +3470 0 1 0.0000000000000000e+00 1.2537147462488250e+02 7.0700775906107030e+00 2.5276972617194399e+01 0 0 0 +3265 0 1 0.0000000000000000e+00 1.0717423147521390e+02 1.3657840670851481e+01 2.1686548902294973e+01 1 -1 0 +4092 0 1 0.0000000000000000e+00 1.1388399492766528e+02 6.2485658114466425e+00 2.1968284536030392e+01 0 0 0 +3616 0 1 0.0000000000000000e+00 1.1433740574315479e+02 6.2712444109051662e+00 3.0971218695574848e+01 1 0 -1 +3341 0 1 0.0000000000000000e+00 1.3258641985921290e+02 1.2871833201234301e+01 3.3542620621702383e+01 -1 0 -1 +3191 0 1 0.0000000000000000e+00 1.2663465969665357e+02 1.6896031411117182e+01 5.4914490924245243e+00 0 -1 1 +3147 0 1 0.0000000000000000e+00 1.2300919337150941e+02 2.7513900598056531e+00 2.9257032624519084e+01 0 0 0 +3685 0 1 0.0000000000000000e+00 1.1996821481414571e+02 1.4480587677681216e+01 1.7669444740446380e+01 1 0 0 +3308 0 1 0.0000000000000000e+00 1.2857209232579353e+02 8.3349795308804726e+00 2.1859351666442173e+01 -1 0 0 +3321 0 1 0.0000000000000000e+00 1.2672114530550604e+02 1.8521843488285221e+00 2.8080903530143271e+01 0 0 0 +3361 0 1 0.0000000000000000e+00 1.2048110301892214e+02 1.5339336552684788e+01 1.3755839791650372e+01 0 0 1 +4059 0 1 0.0000000000000000e+00 1.2998427319273608e+02 4.0118159499485637e+00 2.2425857376886654e+01 0 1 0 +3395 0 1 0.0000000000000000e+00 1.3214231585217325e+02 3.3067753725416715e+01 2.6643198079732983e+01 0 -1 0 +3982 0 1 0.0000000000000000e+00 1.1599357814333032e+02 7.7951336383228642e-01 2.0461952376332864e+01 0 1 0 +4040 0 1 0.0000000000000000e+00 1.1011987129558726e+02 1.5429988448312496e+01 2.3141036112619187e+01 0 0 0 +3524 0 1 0.0000000000000000e+00 1.1275581057519103e+02 8.8246268371980694e+00 2.4943807128874411e+01 0 0 0 +3503 0 1 0.0000000000000000e+00 1.3707301007892769e+02 9.7531161602244936e+00 2.9893799414364079e+01 -1 0 0 +3704 0 1 0.0000000000000000e+00 1.2038790703256524e+02 1.8191295699374439e+01 2.5041208659372096e+01 -1 1 0 +3161 0 1 0.0000000000000000e+00 1.2271972103923939e+02 1.1992666401361426e+01 1.7459233289397467e+01 0 0 0 +3258 0 1 0.0000000000000000e+00 1.1234022644825114e+02 3.3481571228141460e+00 2.1504818097108480e+01 1 0 -1 +3544 0 1 0.0000000000000000e+00 1.1250065379346250e+02 1.6787869505711946e+01 2.1630762910547951e+01 0 0 0 +730 0 1 0.0000000000000000e+00 1.3749241914992311e+02 1.1926743450438567e+01 7.3020883504179128e+00 -1 0 0 +3152 0 1 0.0000000000000000e+00 1.3482018813114121e+02 9.6042354876920726e+00 3.4068388099684462e+01 -1 0 0 +3686 0 1 0.0000000000000000e+00 1.1575515960981113e+02 3.3792492931531307e+01 1.1506763361813608e+00 0 0 1 +3627 0 1 0.0000000000000000e+00 1.3129547050942523e+02 4.6281552121464414e-01 3.4277254725716823e+01 0 0 -1 +3317 0 1 0.0000000000000000e+00 1.1995334182883171e+02 3.2465966680530499e+01 3.0098199147616000e+01 0 0 0 +3134 0 1 0.0000000000000000e+00 1.0785051311788312e+02 1.7279186162576622e+01 2.1471916323796382e+01 0 0 0 +3719 0 1 0.0000000000000000e+00 1.1045831354645081e+02 2.1667385194584683e+00 2.7713712811435908e+01 0 1 -1 +3415 0 1 0.0000000000000000e+00 1.1280406184978119e+02 4.7207499275452198e+00 2.5509465362018961e+01 0 0 0 +3348 0 1 0.0000000000000000e+00 1.1747743332146418e+02 2.6043443370645356e+00 2.5977412341782781e+01 0 0 0 +3519 0 1 0.0000000000000000e+00 1.3608987400210981e+02 1.6288803186580711e+01 3.1987905014178086e+01 0 -1 0 +3967 0 1 0.0000000000000000e+00 1.1538474342507533e+02 2.6222147984386548e+00 2.3495402177537095e+01 0 1 0 +3141 0 1 0.0000000000000000e+00 1.2905320473715389e+02 3.3962106398308087e+01 2.7724575703406369e+01 1 -1 0 +3881 0 1 0.0000000000000000e+00 1.1636949783169270e+02 3.4526503831150187e+01 1.6885335819246677e+01 0 0 0 +3291 0 1 0.0000000000000000e+00 1.3106093140969912e+02 3.0386801013125790e+01 2.2364432249219963e+01 0 -1 0 +3170 0 1 0.0000000000000000e+00 1.2910725779818742e+02 1.7102556341596063e+01 2.2442885656087526e+01 0 0 0 +3660 0 1 0.0000000000000000e+00 1.1935441978071734e+02 1.5069542617349319e+01 3.0759810232272553e+01 1 0 0 +3917 0 1 0.0000000000000000e+00 1.2284861280565639e+02 6.1850643912870904e+00 2.2663682831385515e+01 -1 0 0 +3695 0 1 0.0000000000000000e+00 1.2263681104404344e+02 3.5958626636134849e+00 3.2931125911153302e+01 -1 1 0 +3278 0 1 0.0000000000000000e+00 1.3430335401187909e+02 9.5676053157721643e+00 2.5398844548964998e+01 -1 0 0 +3366 0 1 0.0000000000000000e+00 1.1869005185012108e+02 1.0921904828770478e-01 2.3813838514552280e+01 0 0 0 +3780 0 1 0.0000000000000000e+00 1.2389237073152755e+02 9.1201153727066391e+00 3.1293787031969281e+01 0 0 -1 +3119 0 1 0.0000000000000000e+00 1.3516765397052308e+02 2.2851681068802465e+00 3.0867919856924583e+01 -1 0 -1 +3822 0 1 0.0000000000000000e+00 1.1293579117488584e+02 1.8986584762344954e+01 1.5820679135105813e+01 0 1 0 +3234 0 1 0.0000000000000000e+00 1.2036833807871294e+02 7.6245107163523560e+00 3.2487685473686362e+01 0 0 0 +3861 0 1 0.0000000000000000e+00 1.3072137502194948e+02 8.4628684114504527e+00 1.5402929428482704e+01 0 0 0 +3431 0 1 0.0000000000000000e+00 1.2721651897854754e+02 2.0351189687949681e+01 3.1263252377476736e+01 0 0 0 +3318 0 1 0.0000000000000000e+00 1.0885106765347098e+02 5.8837234643771632e+00 2.0882326904232158e+01 0 0 0 +3669 0 1 0.0000000000000000e+00 1.1860504453006865e+02 3.1410864890017500e+01 2.1392522412807664e+00 1 0 0 +3948 0 1 0.0000000000000000e+00 1.3797453844910154e+02 1.4217695607800367e+01 2.9866470387010917e+01 0 0 0 +4022 0 1 0.0000000000000000e+00 1.0957003341078962e+02 1.1358302236939796e+01 1.8916497374741773e+01 0 1 0 +3237 0 1 0.0000000000000000e+00 1.2014355343424256e+02 7.4841101130239185e+00 2.1063045805374571e+01 0 1 -1 +3540 0 1 0.0000000000000000e+00 1.3163337018018601e+02 6.6114275074241853e+00 2.6336156123648475e+01 0 0 0 +3894 0 1 0.0000000000000000e+00 1.1401001792473639e+02 7.5360545978635400e+00 1.8471360101753852e+01 1 1 0 +2832 0 1 0.0000000000000000e+00 1.0746109334233422e+02 1.8074468726202170e+01 1.1965620965023364e+01 0 0 0 +4063 0 1 0.0000000000000000e+00 1.3571344266431956e+02 1.1320016034752495e+01 1.9903426963458976e+01 -1 1 0 +3207 0 1 0.0000000000000000e+00 1.1196662652267898e+02 1.3206053489972362e+01 2.1034547844253428e+01 1 0 -1 +3969 0 1 0.0000000000000000e+00 1.2805220015211478e+02 3.1840441083796406e-01 1.4230493830072554e+01 0 1 0 +3504 0 1 0.0000000000000000e+00 1.3627291461684911e+02 1.2304159721499438e+01 2.7092774128095879e+01 0 0 0 +4004 0 1 0.0000000000000000e+00 1.2980833001080046e+02 7.9628194083395716e+00 2.9834362179290721e+01 0 1 0 +3566 0 1 0.0000000000000000e+00 1.1050839006407108e+02 6.8528197844629668e+00 2.4336126628986701e+01 0 0 0 +3983 0 1 0.0000000000000000e+00 1.2683710118109215e+02 5.7428089853085913e+00 2.2744006567746158e+01 0 0 0 +3743 0 1 0.0000000000000000e+00 1.0846316365015925e+02 2.6581646477780104e+01 2.6192866593582181e+01 0 0 -1 +3379 0 1 0.0000000000000000e+00 1.2834733574742245e+02 9.0780680147512864e+00 2.6533015714756864e+01 0 0 0 +3792 0 1 0.0000000000000000e+00 1.3386791286805038e+02 8.2041561390176607e+00 2.8283489288019382e+01 0 1 -1 +3796 0 1 0.0000000000000000e+00 1.3097932139345997e+02 1.0416744821163210e+01 2.4491254107346737e+01 0 0 -1 +3747 0 1 0.0000000000000000e+00 1.1856155923799680e+02 1.0350594691264275e+01 2.3121796272480953e+01 0 0 0 +3346 0 1 0.0000000000000000e+00 1.2673687579548752e+02 9.8960446527336234e+00 1.8658194845421047e+01 0 0 0 +3426 0 1 0.0000000000000000e+00 1.1739538955615434e+02 4.2478788000216507e+00 2.0869501829875432e+01 1 0 0 +3806 0 1 0.0000000000000000e+00 1.1315027858573238e+02 2.8524073960893400e+01 1.7268983050882885e+00 1 0 0 +3591 0 1 0.0000000000000000e+00 1.0731707423295020e+02 1.2712896023016388e+01 2.5552835201652677e+01 1 1 0 +3385 0 1 0.0000000000000000e+00 1.3332369853678603e+02 1.3033057366969969e+01 2.5725023351141857e+01 0 0 0 +3701 0 1 0.0000000000000000e+00 1.0792343864568981e+02 1.2580249782135677e+01 2.9577568266725457e+01 1 0 -1 +3477 0 1 0.0000000000000000e+00 1.0557869210025947e+02 7.1601675203437400e+00 2.8008077649136489e+01 0 0 0 +3394 0 1 0.0000000000000000e+00 1.1186954161214797e+02 9.7918810584394134e+00 1.6811891638811112e+01 0 0 0 +3805 0 1 0.0000000000000000e+00 1.0928689491172723e+02 2.2999080500722728e+00 3.1514680030878900e+01 1 1 -1 +3444 0 1 0.0000000000000000e+00 1.1638447685888596e+02 9.1568093090737097e+00 2.6375714021479794e+01 0 0 0 +3284 0 1 0.0000000000000000e+00 1.3273048124664726e+02 1.4164125714091170e+01 1.8915946463061026e+01 0 0 -1 +3475 0 1 0.0000000000000000e+00 1.2992419212520818e+02 1.0997818911652960e+01 1.8911087395753515e+01 0 0 0 +3479 0 1 0.0000000000000000e+00 1.0788516245535786e+02 9.0126082403674364e+00 2.5489114303713336e+01 1 0 0 +3682 0 1 0.0000000000000000e+00 1.1440355628705602e+02 3.4090476535224298e+01 2.4907112795038412e+01 0 1 -1 +3151 0 1 0.0000000000000000e+00 1.1144143250145459e+02 1.2337859964940479e+01 4.6292156278126235e+00 0 0 0 +3180 0 1 0.0000000000000000e+00 1.1428967085094925e+02 3.1405589362969973e+01 2.8701658900885672e+01 -1 -1 -1 +3391 0 1 0.0000000000000000e+00 1.2841318351014405e+02 1.2367945884184392e+01 2.7242136104833804e+01 0 0 0 +3831 0 1 0.0000000000000000e+00 1.1991398686109605e+02 1.4056607367397489e+00 2.0624742790403293e+01 0 1 0 +3275 0 1 0.0000000000000000e+00 1.2185680983203781e+02 1.5159410010723084e+01 2.6422046475265450e+01 0 0 -1 +3516 0 1 0.0000000000000000e+00 1.1081258448094424e+02 6.4539003430444684e+00 3.2038532797514591e+01 0 0 0 +3762 0 1 0.0000000000000000e+00 1.2343494644582248e+02 3.9120703906816048e+00 1.5023671813724395e+00 0 0 0 +3214 0 1 0.0000000000000000e+00 1.2310863510834264e+02 5.9691193067056059e-01 3.9814988915420155e+00 -1 0 1 +3751 0 1 0.0000000000000000e+00 1.3355761864595891e+02 5.2357780202785484e+00 2.0855484102739283e+01 -1 1 1 +3952 0 1 0.0000000000000000e+00 1.2964659011873132e+02 3.9633841535172145e+00 2.8831306642948768e+01 0 0 0 +312 0 1 0.0000000000000000e+00 1.3523867110631187e+02 6.3718705169413079e+00 2.5098845350030768e+01 -1 1 1 +3908 0 1 0.0000000000000000e+00 1.1327851969917417e+02 4.8855524569116069e+00 4.1966295959914488e+00 0 1 1 +3965 0 1 0.0000000000000000e+00 1.1655078747460362e+02 3.1504185115241658e+01 2.5616147231154386e+01 0 0 0 +3172 0 1 0.0000000000000000e+00 1.1125254277698258e+02 1.3192182301013329e+01 2.9202879691933688e+01 0 0 0 +3400 0 1 0.0000000000000000e+00 1.2852211739375622e+02 1.1109888748142465e+01 1.4533228786286905e+01 -1 1 1 +3745 0 1 0.0000000000000000e+00 1.3067672173108676e+02 6.6197320341178614e+00 1.2190443352702347e+01 0 0 0 +3296 0 1 0.0000000000000000e+00 1.1699403547251265e+02 6.2539888467482898e+00 2.3669703022652399e+01 -1 0 -1 +2240 0 1 0.0000000000000000e+00 1.0601721390572138e+02 1.9877224125358602e+01 1.4446135186620603e+01 0 0 0 +3681 0 1 0.0000000000000000e+00 1.1244439996409676e+02 2.5306071259173106e-02 3.0615558117041111e+01 0 1 -1 +3975 0 1 0.0000000000000000e+00 1.1577163703638317e+02 7.4990601948059963e+00 1.1866206263046616e+01 0 1 0 +3492 0 1 0.0000000000000000e+00 1.3086788982865914e+02 1.5046866656371227e+01 1.0738377271254325e+00 1 0 1 +3124 0 1 0.0000000000000000e+00 1.1731050970892633e+02 8.4747135751991163e+00 3.0542176496716785e+01 0 0 0 +3210 0 1 0.0000000000000000e+00 1.3628505281419160e+02 2.8223468939258105e+01 9.7231846076411728e+00 0 -1 -1 +3417 0 1 0.0000000000000000e+00 1.2831689880450125e+02 1.2149349639670804e+01 3.3692549945977667e+01 0 0 0 +775 0 1 0.0000000000000000e+00 1.3463181466197423e+02 2.1727613704763504e+00 1.9146250094251201e+01 -1 1 0 +3823 0 1 0.0000000000000000e+00 1.0606541977690539e+02 2.1992948354986619e+00 2.8037954454451413e+01 0 1 0 +3793 0 1 0.0000000000000000e+00 1.2888979800731641e+02 5.8806336373706340e+00 3.2555090056092737e+01 0 0 -1 +3702 0 1 0.0000000000000000e+00 1.3080524462882286e+02 5.0979419850331755e+00 1.5947961223237906e+01 0 0 0 +3755 0 1 0.0000000000000000e+00 1.3349007946902418e+02 1.1011210495689790e+01 1.6861076335988308e+01 -1 0 0 +3583 0 1 0.0000000000000000e+00 1.1826600423687987e+02 2.1945045008937898e+00 3.4321025988048497e+01 0 1 -1 +3386 0 1 0.0000000000000000e+00 1.1317863181547905e+02 9.0741720593170960e-01 3.2692309362131278e+00 1 0 1 +3929 0 1 0.0000000000000000e+00 1.1503099371572240e+02 9.5640108530850529e+00 3.3564999368194748e+01 0 1 0 +3387 0 1 0.0000000000000000e+00 1.1528221506605274e+02 1.2641145683221355e+01 2.2489516545818070e+01 0 0 0 +3561 0 1 0.0000000000000000e+00 1.3827450739612513e+02 4.1482348718714528e+00 2.5285749670054241e+01 0 0 0 +3950 0 1 0.0000000000000000e+00 1.2987468032142539e+02 3.0482785704365618e+01 3.0279718726612201e+00 0 0 1 +3852 0 1 0.0000000000000000e+00 1.2749016724826652e+02 1.0529632916904914e+01 3.0123656895292360e+01 0 1 0 +3328 0 1 0.0000000000000000e+00 1.1176749461415473e+02 3.8038456377772096e+00 3.0080731107599330e+01 0 0 -1 +143 0 1 0.0000000000000000e+00 1.3699797737262207e+02 3.1665752375569298e+01 1.0843320902349992e+01 -1 -1 0 +4017 0 1 0.0000000000000000e+00 1.2891347223795358e+02 1.0809544679329679e+01 2.6148783101103512e+00 0 0 1 +3526 0 1 0.0000000000000000e+00 1.0783162754698994e+02 8.6466940210513723e+00 3.3914597716314383e+01 0 0 -1 +3594 0 1 0.0000000000000000e+00 1.2267969237845651e+02 1.2924718974358356e+01 3.3249365704578871e+01 0 0 0 +3422 0 1 0.0000000000000000e+00 1.1618551887237140e+02 1.2722380763045818e+01 3.1875065381448138e+01 1 1 0 +3874 0 1 0.0000000000000000e+00 1.1954929257916396e+02 3.9288020602622242e+00 2.3448117780954462e+01 -1 0 0 +3430 0 1 0.0000000000000000e+00 1.2240261468424630e+02 5.9290842894489035e+00 3.0503520864684447e+01 1 0 0 +3867 0 1 0.0000000000000000e+00 1.1201130512239871e+02 3.1283815547326967e+01 5.3992467631122776e-01 0 0 1 +3345 0 1 0.0000000000000000e+00 1.2585388177427062e+02 6.3864546743828665e+00 2.9478056639822061e+01 -1 0 0 +3248 0 1 0.0000000000000000e+00 1.2646461978277098e+02 2.4350812135219773e+00 2.1047644447470624e+01 0 0 0 +3981 0 1 0.0000000000000000e+00 1.1476517197566926e+02 1.4959806006209591e+01 2.8759133585331860e+01 0 0 0 +3949 0 1 0.0000000000000000e+00 1.3442767681868585e+02 3.4321836696431447e+01 2.4018437246107762e+01 0 0 1 +3869 0 1 0.0000000000000000e+00 1.1018458161849136e+02 6.6632269787044036e+00 2.7922544674332212e+01 0 1 0 +3464 0 1 0.0000000000000000e+00 1.2068782261682388e+02 8.9933282147489424e-01 3.1779310036832065e+01 0 0 0 +3364 0 1 0.0000000000000000e+00 1.1656773099205050e+02 3.0724046591138006e+01 3.3933233059006348e+01 0 0 0 +3244 0 1 0.0000000000000000e+00 1.3021611116442497e+02 1.4391253170553789e+01 2.4611713229803495e+01 0 0 -1 +3197 0 1 0.0000000000000000e+00 1.0507511870477371e+02 1.0614247879208357e+01 2.3680699858226664e+01 1 0 0 +3199 0 1 0.0000000000000000e+00 1.1874033621952728e+02 5.5784133860944323e+00 2.7900106049411590e+01 0 0 -1 +3402 0 1 0.0000000000000000e+00 1.1355614700537204e+02 1.6703714412739345e+01 1.8810215662704955e+01 0 0 0 +3520 0 1 0.0000000000000000e+00 1.1794496276978678e+02 1.1445373129034616e+01 2.8797812204517690e+01 0 0 0 +195 0 1 0.0000000000000000e+00 1.3715732776678237e+02 2.2697080194129837e+00 1.6129567738680013e+01 -1 0 0 +3640 0 1 0.0000000000000000e+00 1.1378440766469534e+02 3.2414715651504643e+01 3.2445924009128717e+01 0 0 -1 +3798 0 1 0.0000000000000000e+00 1.3095213606225704e+02 2.3413656073643376e+00 2.5862876080334345e+01 0 1 -1 +3163 0 1 0.0000000000000000e+00 1.0985945465000901e+02 1.5465234554273980e+01 1.9318835259082842e+01 1 0 0 +3098 0 1 0.0000000000000000e+00 1.0864997998671511e+02 3.3627042887800251e+01 2.9343612553883148e+01 0 0 -1 +250 0 1 0.0000000000000000e+00 1.3505273279133655e+02 1.0174696338259016e+01 4.0833719228910139e+00 -1 0 0 +3200 0 1 0.0000000000000000e+00 1.1641917403253871e+02 1.7342063937188541e+01 1.7471102547849167e+01 0 0 0 +3094 0 1 0.0000000000000000e+00 1.3283092090833281e+02 1.0544919914421421e+01 2.1784499510158195e+01 0 0 -1 +3683 0 1 0.0000000000000000e+00 1.3100832178765523e+02 3.3741457838087541e+01 2.3735077185135989e+01 0 0 -1 +3665 0 1 0.0000000000000000e+00 1.1975647800913303e+02 7.7434004494379520e+00 2.4996547112176035e+01 0 1 -1 +3885 0 1 0.0000000000000000e+00 1.0744564194276401e+02 9.2280334064849896e+00 2.1445512336358330e+01 0 1 0 +4093 0 1 0.0000000000000000e+00 1.1699866133725490e+02 8.3388762282257787e+00 2.0140343093878549e+01 0 0 0 +3946 0 1 0.0000000000000000e+00 1.1183700073418579e+02 9.5345769361846244e+00 3.4214758848988865e+01 0 1 0 +4018 0 1 0.0000000000000000e+00 1.1179402839332404e+02 1.3933138232547423e+01 1.6777600498722130e+01 0 0 0 +3288 0 1 0.0000000000000000e+00 1.1672247719178166e+02 1.6706695298400422e+01 2.4057056415858291e+01 0 0 0 +3439 0 1 0.0000000000000000e+00 1.1660945655197696e+02 3.4085325077056360e+01 3.2066678700577164e+01 0 -2 0 +3347 0 1 0.0000000000000000e+00 1.1768393365755597e+02 6.5391111383370921e+00 1.7211031579091873e+01 0 0 0 +3998 0 1 0.0000000000000000e+00 1.0850763935083475e+02 4.8418908810858250e+00 1.7010649534568913e+01 0 1 0 +4003 0 1 0.0000000000000000e+00 1.2564707600273550e+02 3.3639810961166077e+01 1.5902907053058833e+01 0 0 1 +154 0 1 0.0000000000000000e+00 1.3620507772677348e+02 2.9047254118296966e+01 1.8108046229583130e+00 0 0 0 +4062 0 1 0.0000000000000000e+00 1.3400163858245949e+02 3.3399424116594815e+01 1.3778395989579233e+01 -1 0 0 +3571 0 1 0.0000000000000000e+00 1.2505661450979360e+02 3.3678647472256960e+00 2.5646754681568616e+01 0 0 0 +3715 0 1 0.0000000000000000e+00 1.2344479099608127e+02 7.2903058898279960e-01 2.4141816298808696e+01 0 0 0 +3264 0 1 0.0000000000000000e+00 1.0947079845766302e+02 1.1373559651627142e+01 3.2051998187033220e+01 1 0 -1 +3539 0 1 0.0000000000000000e+00 1.3193291590466640e+02 8.2394639066536293e+00 1.8504155662802010e+01 0 0 0 +3830 0 1 0.0000000000000000e+00 1.2061659296631733e+02 3.3019521459111147e+01 2.6179262006790019e+01 0 -1 0 +3671 0 1 0.0000000000000000e+00 1.3378451482428974e+02 1.0103472865096821e+01 3.0963038383050154e+01 0 0 0 +3905 0 1 0.0000000000000000e+00 1.2890336893774281e+02 6.8293838024627007e-01 3.1242861910617822e+01 0 1 0 +3110 0 1 0.0000000000000000e+00 1.1381029399562220e+02 2.0092624944457036e+01 3.1525407157532456e+01 0 0 -1 +4034 0 1 0.0000000000000000e+00 1.3490182053437536e+02 2.3049454715238635e+01 3.0958474384995462e+01 0 0 0 +4087 0 1 0.0000000000000000e+00 1.2848089329796420e+02 5.3469368804991371e+00 2.5638391456757958e+01 -1 1 0 +3453 0 1 0.0000000000000000e+00 1.2204482551341768e+02 9.9394628114972612e+00 2.7213572692095178e-01 0 0 1 +3568 0 1 0.0000000000000000e+00 1.3746614126318278e+02 2.4334776233597751e+01 4.0838484060354032e+00 0 -1 1 +3672 0 1 0.0000000000000000e+00 1.0966197424735169e+02 1.0256801922301257e+01 2.7746045405400100e+01 0 0 0 +3329 0 1 0.0000000000000000e+00 1.2016232766116487e+02 3.0970381294187664e+01 3.3500879551472259e+01 -1 -1 -1 +4078 0 1 0.0000000000000000e+00 1.0511536250879719e+02 1.0431436603191500e+01 2.7645746778762934e+01 0 0 0 +3268 0 1 0.0000000000000000e+00 1.1328025954980991e+02 7.4687931421238032e+00 2.7968618405596526e+01 0 0 0 +3836 0 1 0.0000000000000000e+00 1.3729593024438387e+02 6.6459332779696103e+00 2.8209230788662580e+01 0 1 -1 +4037 0 1 0.0000000000000000e+00 1.2623753122590453e+02 3.5117305573082711e+00 3.1384804271186216e+01 0 1 0 +3312 0 1 0.0000000000000000e+00 1.3187624102571240e+02 2.0444776773755237e+01 2.3281063681068794e+01 -1 0 0 +3509 0 1 0.0000000000000000e+00 1.3141228808144848e+02 1.8987516240071802e+01 2.6411665813793208e+00 0 0 1 +3501 0 1 0.0000000000000000e+00 1.2228698684575038e+02 6.5801854915156088e+00 2.7229854102609362e+01 0 0 0 +73 0 1 0.0000000000000000e+00 1.3626351644748942e+02 1.5535738158810496e+01 2.6035843757931765e+01 -1 0 -1 +3691 0 1 0.0000000000000000e+00 1.3161026477416783e+02 1.0993831882272859e+01 2.8268786567069807e+01 0 0 -1 +3817 0 1 0.0000000000000000e+00 1.2492315007388005e+02 1.3595942015190715e+01 2.7222379303248889e+01 0 1 0 +3606 0 1 0.0000000000000000e+00 1.2394978947400671e+02 4.3180618119226279e+00 1.6549068104060527e+01 0 0 0 +3368 0 1 0.0000000000000000e+00 1.2860787113284880e+02 1.2240492049489266e+01 2.1564475858573516e+01 0 -1 0 +3555 0 1 0.0000000000000000e+00 1.0729209101214076e+02 8.6387127264747381e+00 3.0221775873181052e+01 0 0 -1 +3490 0 1 0.0000000000000000e+00 1.3320687217028831e+02 4.0046783311174288e+00 2.4214834607198704e+01 0 0 0 +3968 0 1 0.0000000000000000e+00 1.2850060740126986e+02 1.6423284241330244e+01 3.1932694411864961e+01 0 0 0 +3435 0 1 0.0000000000000000e+00 1.0909086616362457e+02 3.7970360639060949e+00 2.3466381144599950e+01 0 1 0 +3626 0 1 0.0000000000000000e+00 1.1395352457586228e+02 1.1057722529048482e+01 2.7975455698936074e+01 0 0 -1 +3740 0 1 0.0000000000000000e+00 1.2532801749465868e+02 1.1550321364902615e+01 1.0921992350123106e+00 -1 1 0 +3208 0 1 0.0000000000000000e+00 1.3238972946986991e+02 6.3916131118385042e+00 3.2645169798864167e+01 0 0 -1 +4085 0 1 0.0000000000000000e+00 1.0957798620482419e+02 1.5546830243065903e+01 2.7190958422760723e+01 1 0 0 +3973 0 1 0.0000000000000000e+00 1.3628441564799499e+02 6.7688606090151788e+00 3.1525409440806293e+01 0 1 0 +3936 0 1 0.0000000000000000e+00 1.2776014808111648e+02 2.2026271369871968e+00 3.4530290111277459e+01 0 1 0 +571 0 1 0.0000000000000000e+00 1.3714021655480758e+02 1.1444008875545132e+01 1.0903878666269480e+00 0 0 0 +3866 0 1 0.0000000000000000e+00 1.2297990813742737e+02 1.3354955166701284e+01 2.3483096154713440e+01 0 1 1 +3314 0 1 0.0000000000000000e+00 1.2926873459426454e+02 3.9833107340766061e-01 2.0841636079990089e+01 0 0 0 +3833 0 1 0.0000000000000000e+00 1.2101926878891210e+02 1.4697608040269762e+01 9.6886154636915354e+00 0 0 0 +637 0 1 0.0000000000000000e+00 1.3377568274477159e+02 9.6341137620655743e+00 1.0865704868106224e+01 -1 0 0 +3229 0 1 0.0000000000000000e+00 1.2124307941048409e+02 2.5358150921222307e+00 1.4717863695199664e+01 0 0 0 +3405 0 1 0.0000000000000000e+00 1.2365280222229420e+02 3.7088952804439539e+00 1.1395946163141838e+01 0 0 1 +3776 0 1 0.0000000000000000e+00 1.2041826803276039e+02 6.2555813538956215e+00 1.5688580476221365e+01 -1 1 0 +4015 0 1 0.0000000000000000e+00 1.0834125056312747e+02 4.8268359597062034e+00 1.3011984223782751e+01 0 1 0 +3634 0 1 0.0000000000000000e+00 1.1749863696050561e+02 9.4409103531782730e+00 7.5677978978741995e+00 1 0 0 +3842 0 1 0.0000000000000000e+00 1.1668857896512144e+02 4.1804517357078756e+00 2.3818144434625759e+00 0 0 1 +3083 0 1 0.0000000000000000e+00 1.3621626322292110e+02 1.3969480946435183e+01 1.6745919240647936e+01 0 0 -1 +4045 0 1 0.0000000000000000e+00 1.1817136608503131e+02 6.8587654503377449e+00 9.6529817148736239e+00 0 0 1 +3169 0 1 0.0000000000000000e+00 1.1960263582518175e+02 3.8582003010860859e+00 1.1606413656623454e+01 0 0 0 +3487 0 1 0.0000000000000000e+00 1.2630981454767402e+02 1.8935159547652773e+00 2.9403262817504370e+00 0 0 1 +3398 0 1 0.0000000000000000e+00 1.2406787055139814e+02 3.6693945553925816e-01 3.4481454224423551e+01 0 0 0 +170 0 1 0.0000000000000000e+00 1.3599145839220270e+02 3.1640923349217214e+01 2.5591746375068976e+01 -1 0 -1 +3637 0 1 0.0000000000000000e+00 1.0560038579002327e+02 3.2453848079413284e+01 2.2884871616640563e+01 1 0 -1 +4046 0 1 0.0000000000000000e+00 1.1700713852369572e+02 1.3558694932993188e+01 1.2186856048081944e+00 0 1 1 +3243 0 1 0.0000000000000000e+00 1.2294549645990375e+02 6.7541712824789810e+00 3.4254320298041002e+01 0 0 -1 +3703 0 1 0.0000000000000000e+00 1.0749096374653388e+02 1.3151435778312999e+01 1.7755072131989056e+01 1 0 0 +3610 0 1 0.0000000000000000e+00 1.3343311868209096e+02 1.1966713547920609e+01 8.1511298296101256e+00 0 0 0 +3791 0 1 0.0000000000000000e+00 1.2824770030028884e+02 4.1320915379766392e+00 1.4158627092615770e+01 0 0 0 +3574 0 1 0.0000000000000000e+00 1.2169349150501736e+02 9.6322265790327517e+00 1.4399692827725763e+01 0 0 1 +135 0 1 0.0000000000000000e+00 1.3546191717724025e+02 1.3952272952305423e+01 2.2836969532425478e+01 0 0 -1 +3122 0 1 0.0000000000000000e+00 1.1079528086600564e+02 1.5973585670935257e+01 3.5205886770276100e+00 0 0 0 +3298 0 1 0.0000000000000000e+00 1.2693721648841910e+02 1.3242438336109517e+01 1.7214597964237146e+01 0 0 0 +3935 0 1 0.0000000000000000e+00 1.2820885087159758e+02 1.1044341399809712e+00 5.4792112571661473e+00 0 1 1 +3165 0 1 0.0000000000000000e+00 1.0946334644787322e+02 1.0330008407624149e+01 2.3068511231462061e+00 0 0 0 +3419 0 1 0.0000000000000000e+00 1.2666744940850099e+02 1.2230172639443307e+01 1.0669975789274902e+01 -1 0 0 +3771 0 1 0.0000000000000000e+00 1.3059775871088169e+02 9.6549715189653291e+00 3.3224132665986865e+01 -1 1 -1 +4076 0 1 0.0000000000000000e+00 1.1916385244683769e+02 1.0304753340351947e+01 1.0685149836311576e+01 0 0 0 +3978 0 1 0.0000000000000000e+00 1.2441828173436907e+02 8.0835622234030655e+00 5.5282756715437378e+00 0 0 0 +3460 0 1 0.0000000000000000e+00 1.1298233645557642e+02 5.9217119753699823e+00 9.7356231441328447e+00 0 0 0 +3789 0 1 0.0000000000000000e+00 1.1763814704399984e+02 1.6767071136956343e+01 1.0632862069312997e+01 0 0 0 +3742 0 1 0.0000000000000000e+00 1.1468198519879363e+02 1.3746886237162432e+01 1.1657810597341488e+01 0 0 0 +14 0 1 0.0000000000000000e+00 1.3717854918787057e+02 2.5567891210989490e+01 4.9525438499686369e-01 0 -1 0 +3186 0 1 0.0000000000000000e+00 1.2915813608538329e+02 3.3041430993386747e+01 1.3466654084648011e+00 -1 -1 0 +3890 0 1 0.0000000000000000e+00 1.2392114217318715e+02 1.5580034189406296e+01 1.2394982446162951e+01 -1 0 1 +3730 0 1 0.0000000000000000e+00 1.1620604620408987e+02 1.3944078332577909e+01 1.6146887619298969e+01 0 0 0 +3673 0 1 0.0000000000000000e+00 1.3714271399325096e+02 1.6074433813244809e+01 2.7647115119000900e+00 0 1 0 +4051 0 1 0.0000000000000000e+00 1.1523695628284518e+02 5.5108545921427501e+00 1.5192329777700477e+01 0 0 0 +3178 0 1 0.0000000000000000e+00 1.1343169030574806e+02 6.3296437917121402e+00 1.3480999071877678e-01 0 0 0 +4048 0 1 0.0000000000000000e+00 1.1114786017343273e+02 4.1548777858526353e+00 6.9967511861060316e+00 0 1 0 +3078 0 1 0.0000000000000000e+00 1.3754424459886792e+02 9.1569305825544145e+00 1.3964184822452900e+01 -1 0 -1 +3108 0 1 0.0000000000000000e+00 1.1286890493833826e+02 3.0876988670945561e+01 8.9267246820312813e+00 0 -1 0 +3106 0 1 0.0000000000000000e+00 1.3121382622461562e+02 4.4324661048806391e+00 7.5443376297634113e-01 0 0 0 +3775 0 1 0.0000000000000000e+00 1.2648719968005089e+02 1.0062634629534324e+01 7.7570852186625316e+00 0 1 0 +3102 0 1 0.0000000000000000e+00 1.1230068525607007e+02 8.4748130176349559e+00 3.7046647821945058e+00 1 0 0 +3657 0 1 0.0000000000000000e+00 1.1153141903557903e+02 3.4569391850976452e+01 8.6498410981641509e+00 0 0 0 +480 0 1 0.0000000000000000e+00 1.3358144801729688e+02 1.3769557559918251e+01 1.1180142761346445e+01 0 0 1 +3252 0 1 0.0000000000000000e+00 1.2739420949729285e+02 3.2744549843017523e+01 9.4441558180709588e+00 0 -1 0 +3896 0 1 0.0000000000000000e+00 1.1187481678024224e+02 1.7135601972810811e+01 6.8099869773911967e+00 0 0 1 +3457 0 1 0.0000000000000000e+00 1.2318653472602021e+02 3.0420860742256162e+00 2.1957256660376483e+01 0 0 1 +3815 0 1 0.0000000000000000e+00 1.3704492161809335e+02 8.0520953941937048e+00 1.7821547284763664e+01 -1 0 0 +4042 0 1 0.0000000000000000e+00 1.1933132861129185e+02 1.2441924385672761e+01 1.5294565019140087e+01 0 1 0 +3139 0 1 0.0000000000000000e+00 1.2793729444642466e+02 7.4117327920260410e+00 8.2076946438201848e+00 0 0 0 +3320 0 1 0.0000000000000000e+00 1.2095530976083927e+02 2.2044830928609421e-01 1.7206032820794263e+01 1 1 0 +3285 0 1 0.0000000000000000e+00 1.2701038425743245e+02 1.9221655352774111e+01 8.0645584931384047e+00 0 0 0 +3924 0 1 0.0000000000000000e+00 1.1349708686015903e+02 1.4776819367209642e+01 1.5822352055739524e+00 1 0 0 +3888 0 1 0.0000000000000000e+00 1.3566296756696366e+02 1.5512744989800320e+01 1.3238349279478625e+01 0 0 0 +3302 0 1 0.0000000000000000e+00 1.1035992563991849e+02 3.2727003725373095e+01 1.1156771238775645e+01 1 -1 0 +3907 0 1 0.0000000000000000e+00 1.1883064244856733e+02 2.0107927852611425e+01 1.8905921141526065e+01 0 0 0 +3280 0 1 0.0000000000000000e+00 1.3086770498095495e+02 9.5514484737007113e+00 8.5478907914636366e+00 -1 0 0 +3614 0 1 0.0000000000000000e+00 1.2880943833629121e+02 9.3846828159340010e+00 1.1203493383665201e+01 -1 0 0 +3077 0 1 0.0000000000000000e+00 1.3418297412663193e+02 5.7324903790071966e+00 1.2064530640429711e+01 0 0 0 +3916 0 1 0.0000000000000000e+00 1.2035860108470690e+02 2.3003322163028734e+00 3.7246072104164334e+00 0 0 1 +3611 0 1 0.0000000000000000e+00 1.0540238041412717e+02 2.7528811941188721e+01 1.9221326266151127e+01 0 0 0 +3331 0 1 0.0000000000000000e+00 1.2532039151144868e+02 9.4476994982068199e+00 1.1796088745894819e+01 0 0 0 +3636 0 1 0.0000000000000000e+00 1.2185951927537859e+02 1.8283073226862896e+01 1.0356431126770628e+01 0 0 0 +3370 0 1 0.0000000000000000e+00 1.0990755880281016e+02 6.4630336805904163e+00 1.8768052736363581e+00 0 0 0 +3393 0 1 0.0000000000000000e+00 1.2942445439375626e+02 2.9665110689776713e+00 2.5529393546998285e+00 0 0 1 +3598 0 1 0.0000000000000000e+00 1.0841127504214195e+02 9.0786185451806638e+00 8.7294226223286824e+00 1 0 0 +3294 0 1 0.0000000000000000e+00 1.0751325670019155e+02 4.4009973758362264e+00 2.3455582326369620e-01 1 0 0 +3731 0 1 0.0000000000000000e+00 1.1009329027392222e+02 1.5232913134731081e+01 1.0289978675223914e+01 0 0 0 +3103 0 1 0.0000000000000000e+00 1.0804623265969620e+02 5.4890388356920443e+00 8.6528750198766264e+00 0 0 0 +3774 0 1 0.0000000000000000e+00 1.2748566530439858e+02 3.1791153082948888e+01 1.2715415534747697e+01 0 0 1 +3412 0 1 0.0000000000000000e+00 1.0595231646044500e+02 1.1431466474399521e+01 1.4563041178607941e+01 0 0 1 +3338 0 1 0.0000000000000000e+00 1.1834818260864671e+02 1.3846801710083936e+01 1.1478584584366674e+01 1 0 0 +3707 0 1 0.0000000000000000e+00 1.1590882686951939e+02 1.0146129579176550e+01 1.6571715890447770e+01 1 0 0 +4083 0 1 0.0000000000000000e+00 1.1440287191415338e+02 1.1381519886480323e+01 2.0542445677207875e+00 0 0 0 +3344 0 1 0.0000000000000000e+00 1.1209511813830599e+02 9.2161356211617473e+00 3.0447603366521484e+01 1 0 0 +3596 0 1 0.0000000000000000e+00 1.3785060231765013e+02 2.8559888630381970e+01 2.5340071644398336e+01 -1 0 0 +4056 0 1 0.0000000000000000e+00 1.3749170884395849e+02 5.8293492530748878e+00 1.4919736373262381e+01 -1 1 0 +355 0 1 0.0000000000000000e+00 1.3688867377175595e+02 3.1666234165174746e+01 4.2443144488909068e+00 -1 0 1 +3886 0 1 0.0000000000000000e+00 1.0944616153015147e+02 7.9543456314600434e+00 1.7939362294586690e+01 1 1 0 +3249 0 1 0.0000000000000000e+00 1.1610647110187719e+02 3.6161134802469204e+00 1.1498778028211879e+01 0 1 0 +3216 0 1 0.0000000000000000e+00 1.1834968735322367e+02 2.7137820668233914e+00 1.7753594224255842e+01 0 0 -1 +3217 0 1 0.0000000000000000e+00 1.1010882686012933e+02 1.2534350514263355e+00 5.4331422154651943e+00 0 -1 0 +3639 0 1 0.0000000000000000e+00 1.0980902396064867e+02 3.3168779004963852e+01 3.2956759569011432e+01 0 -1 -1 +3814 0 1 0.0000000000000000e+00 1.3301566899108613e+02 3.3807040005632345e+00 3.3176357289616596e+00 0 1 0 +3459 0 1 0.0000000000000000e+00 1.0600940751877565e+02 6.8682907842212426e+00 2.5157075204065671e+00 0 0 0 +3552 0 1 0.0000000000000000e+00 1.0548749358525393e+02 7.2402043925242703e+00 6.6552687684979661e+00 1 0 1 +3565 0 1 0.0000000000000000e+00 1.2098944403910242e+02 8.1144565294702637e+00 6.5062390609628187e+00 0 0 1 +3961 0 1 0.0000000000000000e+00 1.1287897947604704e+02 1.8997686522916183e+01 3.5544893345006852e+00 0 0 0 +3772 0 1 0.0000000000000000e+00 1.0879037121858039e+02 7.3733391240949340e+00 5.4612678363404124e+00 0 1 0 +3117 0 1 0.0000000000000000e+00 1.2257026867110555e+02 1.0451520360459050e+01 8.6081649815841779e+00 0 0 0 +3497 0 1 0.0000000000000000e+00 1.3225262047156909e+02 1.1156287018205528e+01 2.1296754562339357e+00 -1 0 0 +3891 0 1 0.0000000000000000e+00 1.1636728865659816e+02 1.2445761935130857e+01 9.1161171141752195e+00 1 0 0 +2769 0 1 0.0000000000000000e+00 1.0614859716685893e+02 2.3819540013695892e+01 1.4430398165589255e+01 -1 0 0 +3820 0 1 0.0000000000000000e+00 1.2630160498067808e+02 1.1155815593725620e+01 4.3063874327493510e+00 0 1 0 +3355 0 1 0.0000000000000000e+00 1.3020067514003964e+02 5.2169883173001459e+00 9.4176818312249875e+00 -1 0 1 +3323 0 1 0.0000000000000000e+00 1.1111701775461552e+02 6.7298684803845505e+00 1.4996864986175751e+01 1 0 0 +3287 0 1 0.0000000000000000e+00 1.1229009357212158e+02 1.7887496660090651e+01 2.0823885998072408e-01 0 0 0 +3149 0 1 0.0000000000000000e+00 1.3150354744018316e+02 1.6787710209639737e+01 1.6904119957191750e+01 1 -1 0 +705 0 1 0.0000000000000000e+00 1.3584982610817667e+02 1.9643884353775999e+01 1.7022210254008461e+00 0 0 1 +3714 0 1 0.0000000000000000e+00 1.3330001202483390e+02 2.9668480461158326e+00 9.3849161771635945e+00 0 1 0 +3752 0 1 0.0000000000000000e+00 1.3105732806967936e+02 2.2118336753607295e+01 2.8999475668186152e+00 -1 1 0 +4025 0 1 0.0000000000000000e+00 1.1010406983613247e+02 3.0427569254457327e+00 1.0106771208373678e+01 0 0 1 +3893 0 1 0.0000000000000000e+00 1.2874499480011451e+02 3.3590071882028610e+01 1.7921326871960055e+01 0 -1 0 +3432 0 1 0.0000000000000000e+00 1.3099542614937249e+02 1.2843559081988472e+01 5.1100651649758904e+00 -1 0 1 +3797 0 1 0.0000000000000000e+00 1.3480935845228242e+02 8.7359773772920057e+00 6.9293996220563949e+00 -1 1 0 +422 0 1 0.0000000000000000e+00 1.3382156759985631e+02 1.7066927611012790e+01 1.0306656046918000e+01 -1 0 0 +4019 0 1 0.0000000000000000e+00 1.1349826829801668e+02 9.2311726371387088e+00 1.3462307285153289e+01 0 1 0 +3803 0 1 0.0000000000000000e+00 1.2787768747580169e+02 1.7288021246548386e+01 1.3124777128047789e+00 0 1 0 +3101 0 1 0.0000000000000000e+00 1.1357006577047163e+02 1.2239822049850702e+01 1.4943929820530364e+01 1 0 0 +3587 0 1 0.0000000000000000e+00 1.3693435647774916e+02 7.3383908683950683e-01 9.3870704597320582e+00 -1 1 0 +3911 0 1 0.0000000000000000e+00 1.1967245786373516e+02 9.5098720723409329e+00 1.7743989287534401e+01 0 1 0 +4058 0 1 0.0000000000000000e+00 1.2824078307539170e+02 8.5160809054515276e+00 4.7740280774220523e+00 0 1 0 +3883 0 1 0.0000000000000000e+00 1.2042250283783798e+02 1.3921050746494734e+00 7.2173051520197768e+00 0 0 0 +3698 0 1 0.0000000000000000e+00 1.2478404233099801e+02 5.1070720127929121e+00 1.9744377138132691e+01 0 1 0 +3937 0 1 0.0000000000000000e+00 1.2762438889452667e+02 1.3418639013563316e+01 6.9005040428875182e+00 0 1 1 +3413 0 1 0.0000000000000000e+00 1.1444732082190316e+02 2.0803495748503384e+01 1.8434062094574745e+01 0 0 0 +3380 0 1 0.0000000000000000e+00 1.3557931096459708e+02 2.1606908470250032e+00 2.6847620078065784e+01 0 0 0 +3661 0 1 0.0000000000000000e+00 1.2845843597450516e+02 1.5937142402727359e+01 2.7899325324130082e+01 0 0 0 +3638 0 1 0.0000000000000000e+00 1.3542347245180974e+02 2.4007084580794771e+01 9.8621944953796135e+00 -1 0 0 +4000 0 1 0.0000000000000000e+00 1.2995482403505221e+02 1.6602773138039158e+01 5.2458748447176777e+00 0 0 1 +3515 0 1 0.0000000000000000e+00 1.3524158349693894e+02 2.8985761877663716e+00 6.4062044412302699e+00 0 0 1 +4053 0 1 0.0000000000000000e+00 1.1836117921982336e+02 7.7814484396779733e+00 1.3656093677922305e+01 0 0 1 +3166 0 1 0.0000000000000000e+00 1.2014984326639301e+02 5.1049126442132584e+00 4.7010203181149857e-01 0 0 0 +3783 0 1 0.0000000000000000e+00 1.1174691724791003e+02 1.1224886391578700e+01 8.1492383729872078e+00 1 1 0 +3224 0 1 0.0000000000000000e+00 1.3524253336730712e+02 1.1925721963800115e+01 1.4048732501883459e+01 -1 0 0 +3947 0 1 0.0000000000000000e+00 1.2740552595108603e+02 2.9744374613758930e+00 1.7335643770723088e+01 0 1 1 +3455 0 1 0.0000000000000000e+00 1.3220669012421371e+02 1.4978581632579015e+01 7.2736665499799447e+00 0 0 1 +3414 0 1 0.0000000000000000e+00 1.3679023951697511e+02 1.2213335733052485e+01 3.2539459476282211e+01 -1 0 0 +3956 0 1 0.0000000000000000e+00 1.1475951046261054e+02 3.2851912562436240e+01 1.1191649426767031e+01 0 -1 0 +3241 0 1 0.0000000000000000e+00 1.2012432668396627e+02 1.2629999349704558e+01 6.7056187069511477e+00 1 0 0 +3726 0 1 0.0000000000000000e+00 1.2910516339507294e+02 6.1108688970250808e+00 1.9125301800471789e+01 0 1 0 +3484 0 1 0.0000000000000000e+00 1.3493146739160588e+02 1.3259845539371980e+01 5.0114773419611360e+00 0 -1 1 +605 0 1 0.0000000000000000e+00 1.3504418862095301e+02 3.3029278634596537e+01 1.7209084507680299e+01 0 -1 0 +3436 0 1 0.0000000000000000e+00 1.1127526900144234e+02 8.3672119530305782e+00 2.0636666237281840e+01 -1 0 0 +3411 0 1 0.0000000000000000e+00 1.3291119763710361e+02 6.2218690663957723e+00 7.7765731890549192e+00 0 0 0 +3326 0 1 0.0000000000000000e+00 1.2413326427559696e+02 1.3548763912521638e+01 6.8159744314802477e+00 1 -1 1 +4075 0 1 0.0000000000000000e+00 1.3187660952815463e+02 8.9824343576858574e+00 5.2754809231511919e+00 0 1 1 +3168 0 1 0.0000000000000000e+00 1.3748828360268163e+02 6.2871897258978322e+00 8.1178279517288647e+00 0 0 0 +3189 0 1 0.0000000000000000e+00 1.2105426881228590e+02 4.6628625007380746e+00 8.4212740090326310e+00 0 0 0 +3556 0 1 0.0000000000000000e+00 1.1479069553342678e+02 5.6089275452873073e+00 7.4649891268614574e+00 0 1 1 +3376 0 1 0.0000000000000000e+00 1.2456125376437475e+02 3.0465467709312023e+01 1.2717657567845524e+01 0 -1 0 +3663 0 1 0.0000000000000000e+00 1.0755745916352460e+02 1.2714930635945093e+01 9.1029355907688281e+00 0 1 0 +3958 0 1 0.0000000000000000e+00 1.3492938552716214e+02 1.3758236382269358e+01 1.6226999157795994e+00 0 1 1 +3835 0 1 0.0000000000000000e+00 1.2975467788420028e+02 1.8996886595557289e+01 3.3919998275816965e+01 0 1 -1 +3970 0 1 0.0000000000000000e+00 1.1527583714513896e+02 2.6131386572091976e+01 4.1530739575509781e+00 0 0 0 +3088 0 1 0.0000000000000000e+00 1.1437215473282660e+02 1.5094204181812044e+01 4.9600513743689438e+00 0 0 0 +316 0 1 0.0000000000000000e+00 1.3563136139236039e+02 1.7007982088721967e+01 5.9315188311828999e+00 -1 0 1 +3433 0 1 0.0000000000000000e+00 1.2204807350552716e+02 1.2435917739540384e+01 1.2618621000809352e+01 0 0 0 +3340 0 1 0.0000000000000000e+00 1.2486409364937563e+02 9.6744270355018624e+00 2.7707874771773316e+01 -1 1 0 +3353 0 1 0.0000000000000000e+00 1.1322056941759165e+02 1.4121584297775254e+01 8.3544151665286872e+00 0 0 1 +3722 0 1 0.0000000000000000e+00 1.3207902746287050e+02 7.6063616679779624e+00 2.3085157524991597e+00 -1 1 0 +3496 0 1 0.0000000000000000e+00 1.2385012790896425e+02 7.1015861571560404e+00 9.1315750817121817e+00 -1 0 1 +3603 0 1 0.0000000000000000e+00 1.2206076061056220e+02 6.1343586680528894e-01 1.1445669123129457e+01 0 0 0 +4036 0 1 0.0000000000000000e+00 1.1669016020032193e+02 3.4378004995335949e+01 8.2501584359008895e+00 0 -1 0 +3510 0 1 0.0000000000000000e+00 1.1752488015304105e+02 3.1986021283387909e+00 8.5814306871883410e+00 1 0 0 +3862 0 1 0.0000000000000000e+00 1.2030909575104334e+02 8.1613591669830132e+00 2.6435415631219641e+00 0 1 1 +3768 0 1 0.0000000000000000e+00 1.3091482427690099e+02 3.0524205893981242e+00 1.9158518678650150e+01 -1 0 0 +3372 0 1 0.0000000000000000e+00 1.3289338714088498e+02 1.2206163618146002e+00 2.1709966634043479e+01 -1 0 0 +3569 0 1 0.0000000000000000e+00 1.0524423600358486e+02 1.5095978980364345e+01 1.0840054509325920e+01 0 -1 1 +2673 0 1 0.0000000000000000e+00 1.0417102472492576e+02 3.0433481526306757e+01 1.2645446266459590e+01 -1 0 0 +3262 0 1 0.0000000000000000e+00 1.1032945442612485e+02 7.9417015010529521e+00 1.1158294557076767e+01 1 1 0 +653 0 1 0.0000000000000000e+00 1.3536647676240869e+02 1.7853774351335616e+00 1.2655636809811742e+01 -1 1 -1 +3115 0 1 0.0000000000000000e+00 1.2781074938803717e+02 1.8204833646521625e+01 1.1604555668574811e+01 0 -1 0 +3784 0 1 0.0000000000000000e+00 1.1450477962375145e+02 1.6714652932488040e+01 1.3961535968121050e+01 1 0 0 +3333 0 1 0.0000000000000000e+00 1.2765419976485228e+02 1.4393779123959748e+01 2.6692469683680553e+00 1 0 1 +4065 0 1 0.0000000000000000e+00 1.1452975274522711e+02 1.1479052780297797e+01 6.2543665269202560e+00 0 0 0 +3351 0 1 0.0000000000000000e+00 1.3402055184087459e+02 8.3991349086340357e+00 1.4789885955707181e+01 0 0 0 +3647 0 1 0.0000000000000000e+00 1.3264677950789681e+02 2.3585459547687253e+00 1.5094690685535147e+01 0 1 0 +4077 0 1 0.0000000000000000e+00 1.3194558823313574e+02 1.3879234713390407e+01 2.2113389540438103e+01 0 1 0 +3581 0 1 0.0000000000000000e+00 1.1778088957253446e+02 1.7191465548272582e+01 1.3932836588062164e+01 0 0 -1 +3592 0 1 0.0000000000000000e+00 1.0786608810866932e+02 3.3130708384866161e+01 7.2221421299501749e+00 0 0 0 +3601 0 1 0.0000000000000000e+00 1.2751381187558242e+02 3.7414750919542015e+00 7.2860449713601056e+00 0 1 0 +3233 0 1 0.0000000000000000e+00 1.2494464070452099e+02 8.2734581926623783e+00 2.2630145076872550e+00 0 0 0 +3841 0 1 0.0000000000000000e+00 1.1275745256431895e+02 1.3065588092085882e+01 3.3122077887882156e+01 0 0 0 +3899 0 1 0.0000000000000000e+00 1.0732763503981963e+02 1.8003755628266696e+01 1.7544077542857366e+01 0 1 0 +3737 0 1 0.0000000000000000e+00 1.1725485904541382e+02 1.3276376975195971e+01 5.1388352040628149e+00 0 0 0 +3629 0 1 0.0000000000000000e+00 1.1433863707328015e+02 9.4314851643283770e+00 9.9277710904507614e+00 0 0 0 +3804 0 1 0.0000000000000000e+00 1.2837896448434333e+02 7.1226548439658606e+00 1.5420139180324703e+00 0 0 0 +3557 0 1 0.0000000000000000e+00 1.0982802017888164e+02 2.5823591087478546e+00 2.5712173155248124e+00 0 0 0 +3554 0 1 0.0000000000000000e+00 1.2648676130125328e+02 6.5079234015364475e+00 1.6448477914319884e+01 0 0 1 +3713 0 1 0.0000000000000000e+00 1.2112640184390438e+02 7.1834633907795755e+00 1.0993282315189562e+01 0 0 0 +3184 0 1 0.0000000000000000e+00 1.1519561430053599e+02 8.1887549907777100e+00 4.8166213231759754e+00 0 0 0 +3474 0 1 0.0000000000000000e+00 1.3683180514484388e+02 8.7243079326983750e+00 1.0532853740991955e+01 0 0 0 +3649 0 1 0.0000000000000000e+00 1.0676218052113737e+02 8.9420849295068674e+00 1.6775432796071193e+01 0 0 0 +3607 0 1 0.0000000000000000e+00 1.1063029667397387e+02 1.1727195509014013e+01 1.1816924507799609e+01 0 1 0 +3188 0 1 0.0000000000000000e+00 1.2441392928047087e+02 8.7010465630435867e+00 2.0985788505659997e+01 0 0 0 +3889 0 1 0.0000000000000000e+00 1.1455885023371968e+02 3.1726921480059026e+01 3.5057170428673903e+00 0 0 1 +3838 0 1 0.0000000000000000e+00 1.2471244441805320e+02 1.8307959444497219e+00 8.5861173335713943e+00 0 1 0 +3093 0 1 0.0000000000000000e+00 1.1135640838840315e+02 3.3939311758426753e+00 3.3999505873558192e+01 0 1 -1 +3482 0 1 0.0000000000000000e+00 1.1192583289381302e+02 7.9906387876262839e+00 7.0194423337708480e+00 -1 0 1 +3091 0 1 0.0000000000000000e+00 1.0663244118343212e+02 1.0467608279840917e+01 1.1075196744388730e+01 0 0 0 +3483 0 1 0.0000000000000000e+00 1.2409368916800945e+02 1.9551649559755244e+01 1.2472934478308220e+01 0 0 1 +3081 0 1 0.0000000000000000e+00 1.0581896254796813e+02 1.5479825879111372e+01 3.1854418941861628e+01 1 0 -1 +3187 0 1 0.0000000000000000e+00 1.2685389114816135e+02 5.3480843175570723e+00 1.1309261841227599e+01 0 0 0 +3799 0 1 0.0000000000000000e+00 1.2199184761308319e+02 5.3824910066371743e+00 4.3176911390027959e+00 -1 1 0 +3322 0 1 0.0000000000000000e+00 1.0810596820340905e+02 1.4078212362404930e+01 1.2654274934332994e+01 0 0 0 +3655 0 1 0.0000000000000000e+00 1.0586858324758023e+02 3.2933002388506395e+01 1.4942777055942088e+01 1 0 0 +3662 0 1 0.0000000000000000e+00 1.3236277866060666e+02 3.2857082680796616e+01 1.9583462671495173e+01 0 0 1 +3986 0 1 0.0000000000000000e+00 1.1386653236194775e+02 2.4112894047118072e+01 2.8899336355224122e+01 1 -1 0 +3819 0 1 0.0000000000000000e+00 1.2365200273387394e+02 6.5818288895095893e+00 1.3261839666977574e+01 0 1 0 +3997 0 1 0.0000000000000000e+00 1.2690884823974810e+02 9.1831048950405290e+00 3.3186362272142681e+01 0 0 0 +3183 0 1 0.0000000000000000e+00 1.0490184944920604e+02 1.6809201071269142e+00 6.9005392227576694e+00 0 0 0 +3306 0 1 0.0000000000000000e+00 1.1821467702169988e+02 3.8828741974072982e+00 1.4445955519832873e+01 0 0 -1 +3560 0 1 0.0000000000000000e+00 1.3719487519284522e+02 2.8943675560963134e+00 2.9923366623681247e+00 -1 0 1 +3085 0 1 0.0000000000000000e+00 1.0952704561721279e+02 1.1575779269066697e+01 1.4981031097336897e+01 0 0 0 +3635 0 1 0.0000000000000000e+00 1.1703068467187292e+02 1.8584484674792587e+00 4.3388748290794448e+00 0 0 0 +3697 0 1 0.0000000000000000e+00 1.3022909463086927e+02 5.3016663551875940e+00 4.9622132186359682e+00 0 1 0 +3850 0 1 0.0000000000000000e+00 1.3297936057813678e+02 1.5976171321771238e+01 3.9023574736663647e+00 -1 0 0 +3572 0 1 0.0000000000000000e+00 1.2259178581115893e+02 7.8019604307029287e+00 1.8069193144780023e+01 0 0 0 +2624 0 1 0.0000000000000000e+00 1.0547574864378424e+02 3.2770702679939603e+01 2.1164793994988909e+00 0 0 0 +3807 0 1 0.0000000000000000e+00 1.3077524224696177e+02 1.5729547982815921e+01 1.2396444552358743e+01 0 0 0 +4057 0 1 0.0000000000000000e+00 1.2252505277996477e+02 1.1055728288565451e+01 4.2103143175663016e+00 0 1 1 +3575 0 1 0.0000000000000000e+00 1.1859942360664817e+02 5.3555643368466406e+00 5.3496635989214623e+00 0 0 0 +3533 0 1 0.0000000000000000e+00 1.0495968516592862e+02 1.0723921154565584e+01 6.1272794623110363e+00 1 0 0 +3749 0 1 0.0000000000000000e+00 1.0740377220218255e+02 4.1559621542089928e+00 5.4781924360769318e+00 0 0 0 +3628 0 1 0.0000000000000000e+00 1.1997153523336814e+02 2.9807836298310431e+01 7.5340645811604299e+00 0 0 0 +3463 0 1 0.0000000000000000e+00 1.3181509874981396e+02 1.1067958375734934e+01 1.3297997155344438e+01 -1 0 0 +3339 0 1 0.0000000000000000e+00 1.2289255855707040e+02 3.1701349726354426e+01 1.5974411247003684e+00 1 -1 1 +3605 0 1 0.0000000000000000e+00 1.2026472860773131e+02 1.8382076405708450e+01 2.9429151555696095e+01 0 0 -1 +3643 0 1 0.0000000000000000e+00 1.0523155645857591e+02 1.0757400991302738e+01 3.2170296176465044e+01 1 0 -1 +3679 0 1 0.0000000000000000e+00 1.1760707421002897e+02 3.2448668310759388e+01 5.1162523657174797e+00 0 0 0 +3324 0 1 0.0000000000000000e+00 1.2747781131479168e+02 7.4604977598151807e+00 1.3687503646604100e+01 -1 0 0 +3274 0 1 0.0000000000000000e+00 1.1430787108853971e+02 1.1741457126777265e+01 1.8714659641680942e+01 0 0 0 +3779 0 1 0.0000000000000000e+00 1.0701636572234233e+02 9.2588097881006748e-01 4.5953347931480968e+00 0 1 0 +621 0 1 0.0000000000000000e+00 1.3629931973045697e+02 1.9588586386748293e+01 3.1920580774993823e+01 -1 0 0 +3759 0 1 0.0000000000000000e+00 1.1162191115976967e+02 1.4500103189912346e+01 1.3341420030698409e+01 0 0 0 +3903 0 1 0.0000000000000000e+00 1.2765047912846083e+02 2.2116377975649733e+01 5.9874155744615729e+00 -1 0 1 +3247 0 1 0.0000000000000000e+00 1.2272232062132366e+02 3.3794343238029462e+01 1.4515320918115330e+01 0 -2 0 +3620 0 1 0.0000000000000000e+00 1.1989694683413974e+02 3.1883050432583644e+01 2.2300454220996677e+01 0 0 0 +3984 0 1 0.0000000000000000e+00 1.1583866518772393e+02 2.6045615043171914e+01 1.6402871200373049e+01 0 0 0 +3359 0 1 0.0000000000000000e+00 1.3219971517388174e+02 7.3437215501709048e+00 2.3268860971643790e+01 0 0 0 +3728 0 1 0.0000000000000000e+00 1.2516128623028762e+02 9.8658367950944346e+00 1.5705321725197978e+01 0 1 0 +3105 0 1 0.0000000000000000e+00 1.2402311017896716e+02 3.4438395949937184e+00 5.8796662264255106e+00 0 -1 0 +2913 0 1 0.0000000000000000e+00 1.0387366288867213e+02 2.6707377639612783e+01 2.5452656175337715e+01 -1 0 0 +105 0 1 0.0000000000000000e+00 1.3753582255798210e+02 3.3581008607414354e+01 1.4017643839471882e+01 0 -1 0 +3786 0 1 0.0000000000000000e+00 1.3786074994299105e+02 2.0928756569230380e+01 9.5975118065669811e+00 0 0 0 +4072 0 1 0.0000000000000000e+00 1.0409432932531222e+02 3.4289625201256058e+01 3.0018671262621144e+01 0 0 0 +3160 0 1 0.0000000000000000e+00 1.3797129813306921e+02 2.7709819143694094e+01 3.2478592536731753e+01 -1 -1 -1 +167 0 1 0.0000000000000000e+00 1.3804359501399435e+02 2.1395928338509826e+01 3.3439210572648803e+00 0 -1 0 +193 0 1 0.0000000000000000e+00 1.3839314698028275e+02 1.6444829669542624e+01 2.1950302921676986e+01 0 -1 0 +848 0 1 0.0000000000000000e+00 1.3837269942841363e+02 3.7456576536608606e+00 3.0535823421805617e+01 0 0 0 +3993 0 1 0.0000000000000000e+00 1.3831100397901662e+02 2.7812231768366175e+01 3.8672677662418380e+00 -1 0 1 +3781 0 1 0.0000000000000000e+00 1.3822723586972845e+02 2.1833916348157842e+01 2.4944341407415223e+01 1 -1 0 +9 0 1 0.0000000000000000e+00 1.3803379383586926e+02 9.5015907340665517e+00 2.6581676108593935e+01 0 0 -1 +3599 0 1 0.0000000000000000e+00 1.0400497207492002e+02 3.0280598147796155e+01 3.0272698374744198e+01 1 0 -1 +3518 0 1 0.0000000000000000e+00 1.0409064170997802e+02 2.5951379592610103e+01 1.2910922695714591e+01 0 0 0 +4089 0 1 0.0000000000000000e+00 1.0445637283706738e+02 2.2043888231437762e+01 1.2373979882099404e+01 0 0 0 +2593 0 1 0.0000000000000000e+00 1.0392891712146405e+02 2.6159472032884022e+01 3.4089431227073220e+01 -1 0 -1 + +Velocities + +761 -2.8944901599020105e+00 2.0770852142378526e+00 2.5175914782832147e+00 +972 3.5390223726031156e+00 8.8670336358750934e-01 -1.1105601770755977e+00 +157 -4.2907861760605437e+00 4.9622513489581321e-01 4.4402127077014752e-01 +333 -1.2755492513801712e+00 1.4048627118185066e+00 -3.1683081176603332e+00 +704 -4.1281339952590496e-01 1.8020962460817638e+00 5.1384694680476377e+00 +943 4.0660413199779564e+00 -4.0701225391822025e+00 -2.4718316899658838e-01 +562 -1.9144973849811393e+00 -1.8984410722278344e+00 -1.4293038084196776e+00 +770 -1.2456914744933572e+00 -1.4697343097644955e+00 1.3239903568484488e+00 +701 7.8753431497755111e-01 -4.0103006135830750e+00 1.7947896252277622e+00 +973 -2.9651535678427754e+00 -3.2441107420509674e-01 2.6903086676986288e+00 +97 4.5161358851421065e+00 -2.9978850550360154e+00 5.1614292708509542e+00 +471 -4.7193553059262445e+00 2.5066288027446930e+00 1.5654092740026195e+00 +326 1.6092124220849671e+00 3.8394580373861897e+00 -1.4997295856501480e+00 +409 -5.8405520329172012e+00 -2.5942449974331303e-03 -6.0013721890612526e-01 +481 -3.3930101728509228e+00 2.5946559470551653e+00 -4.0776053809029831e+00 +974 -3.3457733402992456e+00 -1.3900859925263318e+00 1.1262069424898660e+00 +171 -2.6830268691651389e+00 7.2327808812498862e-01 -5.2116643022294873e-01 +631 3.9057163613266406e+00 2.9545225822432788e+00 -1.2828637274143071e+00 +620 2.2047429195309065e+00 4.3213246365025682e-01 3.3294966473364691e+00 +719 4.4655579720379707e-01 -1.1632029265251013e-01 -2.3970037575683603e+00 +502 -2.8901192334767769e+00 4.5120673200075236e+00 -2.9949877253703319e+00 +773 -1.3502370407031496e+00 3.1647279672483122e+00 7.9363470395698252e+00 +50 3.8792926416886636e-01 2.0883831870040912e+00 4.5235131479825084e+00 +226 -5.8859395884877301e+00 3.6645460319640319e+00 -4.9361215920943708e+00 +863 -2.9864581001991422e+00 8.4323044667811251e-02 -4.4010050147590416e+00 +3228 -3.4422065910805997e+00 -3.1179999482827667e+00 -6.7070939584793097e+00 +347 -3.2955694172168037e+00 7.5845715820208799e+00 -2.9570357255643054e+00 +847 9.7140495831837423e+00 5.4978514752127712e+00 -7.8094882701521373e-01 +1004 -6.5781835416373957e-01 -4.6813822848545694e+00 -5.0920538593462581e+00 +829 -1.0954124901842783e+00 -5.9013278898129489e+00 -2.8055839281856474e+00 +388 -1.0863653676341008e-02 4.2573051483721147e-01 -2.5879275744672907e+00 +717 -7.1597591584295124e+00 3.1168585290061817e+00 -9.4998764789333823e-01 +670 -9.3934097364909963e-01 6.1164053541415508e-01 -3.3021494527511974e+00 +103 -5.2347843199488127e+00 2.6946268473704116e-01 -3.2530027241168029e+00 +114 2.5762180714815264e+00 -1.5766210426060121e+00 -4.4594749020585303e+00 +818 4.1426258553954645e+00 -8.6639276226995232e+00 -5.3769426085435623e-01 +658 -8.2898060453300761e+00 -5.4082728014537622e+00 2.9201590726791338e+00 +217 3.5495298358415628e+00 -3.5576235220823369e+00 -4.6622683425792024e+00 +979 -2.7872992562167864e+00 4.0192980887252627e+00 -2.5532928287412662e+00 +106 -1.2501460925272696e+00 6.1902176043591195e-01 3.4824564538016225e+00 +976 -4.4078270190557056e+00 2.4503623099747389e+00 2.4798201457980018e-01 +487 9.7985208494659499e+00 4.0152713432433389e+00 -1.0787674093031250e+00 +36 5.4014163657021736e+00 1.0977360940595666e+00 -2.6039230272839262e+00 +445 8.8247661243945563e-02 -1.7843172863415899e+00 3.2048875166248196e+00 +703 -4.7730442647112076e-01 7.6087787869192725e-01 3.0193952775722286e+00 +30 8.8605169995192834e-01 -5.9387501959361408e+00 -2.1065471203464288e+00 +585 3.2516576342866212e+00 1.6246610904124610e+00 1.8173337657630948e+00 +205 -4.2405772996560476e+00 4.1298058334282155e+00 -2.5890023270862876e+00 +180 -5.2980372699853611e+00 1.6675299815614691e-01 4.3961906778351373e-01 +824 5.2970808964969676e+00 -4.0156479014981876e+00 -3.8652227894825906e+00 +65 3.1939251004501814e-03 3.6620745936852281e+00 -1.4055805145200884e+00 +3367 -1.4355703024849223e-01 -4.2074828202083037e+00 5.9727694475614843e+00 +970 -1.5175126430690640e+00 4.6300072554221332e+00 -5.0787511270476031e+00 +752 -5.9352487117921227e+00 -6.2914282561211303e+00 -1.6549813026710318e+00 +248 -3.4645813285825136e+00 -3.4785285116003974e+00 -2.1904300617510211e-01 +3255 -3.1620977172364118e+00 -8.9819439227852904e-01 1.5821442097152507e+00 +852 -1.0645744044916421e+00 -2.3878164244539564e+00 3.4737043287215643e+00 +473 5.3787609912924583e-01 -2.4173915814233102e-01 9.2620526845943001e+00 +173 1.9459965931959713e+00 -3.6504229662086857e-02 4.7218113493258009e+00 +835 -4.7043640171991994e+00 2.1538230953468220e+00 1.3785019493329951e+00 +888 3.1142508047920852e+00 -3.5400139309733984e+00 2.4449162656839669e+00 +3272 3.8755679535324146e+00 -3.6901623723947656e+00 3.8240175043393285e+00 +662 -1.0446894970282214e+01 3.3189335209176845e+00 -5.1216245181706110e-01 +844 -3.3324500987747538e+00 4.4834463542249194e+00 3.0038118364419502e+00 +3921 2.8590323418613345e-01 -4.7010078950805738e+00 -1.2188787958891081e+00 +64 -4.6689306118401959e+00 2.6006493905220407e+00 -2.8426480248542449e+00 +564 -2.2857752986224571e+00 3.2635146518138702e+00 -1.8205679572192126e+00 +379 -5.6384909796926337e+00 3.7036153549640192e+00 5.5963529606728013e+00 +426 1.5826000732000431e+00 4.3709970918174381e+00 5.6342355089059293e+00 +526 2.8978904637361631e+00 4.4246680512201495e+00 -3.7979851057723200e+00 +687 -5.1529165533239469e+00 3.6661912902138853e+00 -3.7580772214645601e+00 +659 -2.8864229365738034e+00 1.7555251961911400e+00 1.6382050057358810e+00 +31 5.7238348996909949e-01 2.8873855692384138e+00 -5.1228096192292787e+00 +3128 6.8047770706917801e+00 -4.7477690361846836e+00 6.2610654664304128e+00 +340 -3.8344191366444497e-01 -2.3922426638055589e+00 -1.7836598604674312e+00 +266 -4.0009790810624875e+00 -1.6670375975642576e-01 -2.0317503773107792e+00 +635 -5.6810541909093326e-01 -4.3394009679348144e+00 -1.8349166097708849e+00 +1011 -7.9620266836989251e-02 7.8556808624020951e+00 2.0526982012304629e+00 +272 -4.6036847638374692e+00 6.1249506614039806e+00 1.5492697537616056e+00 +2 3.3665521517191195e+00 3.5896892760544369e-01 1.2568860111644207e+00 +785 3.2703579122305988e+00 1.1178569654803139e+00 -3.5834147627475352e+00 +194 -2.8575354040700072e+00 -1.1200163872597176e-01 -2.3842330829068454e+00 +814 -4.5548241612528955e+00 3.1124296342913880e+00 1.4266994023687345e+00 +177 1.6266591947368633e-01 -3.0024877863040729e+00 2.2098035197417678e+00 +144 1.3425233965788601e+00 -3.6516097322451229e+00 -8.0367824893336026e-01 +145 1.3217644388549227e-01 2.3977079554311556e+00 4.3261119044333141e+00 +567 9.9120971119358625e-01 4.8910127516388817e+00 5.8081242858817470e+00 +823 -3.4677563959520139e+00 -2.5870953518854587e+00 -1.7592886791047062e+00 +387 2.7713538920933263e+00 -5.2064170105982122e-01 -2.4142468861341784e-01 +3579 -1.8814609691183577e+00 -1.4804829531521957e+00 -3.6143385916504531e+00 +767 -1.4490476085753030e+00 -9.8121902437290176e-01 6.4577247980517543e+00 +889 4.9157224063341127e+00 9.1790661283894792e-01 8.6370111834694594e+00 +700 -1.8181407090127033e+00 1.1463479679814121e+00 -2.2891921347908557e+00 +45 1.4394783754461971e+00 8.7396599462072455e-01 1.7624742287811064e+00 +820 2.0484051665255323e+00 4.1322970428325192e+00 1.4536848411184635e+00 +819 1.4035184842158661e+00 5.1906643024401455e-01 -1.2722718879896950e+00 +408 -9.7314579172167648e-01 1.2921452116182812e+00 -4.1982457798242558e+00 +856 -3.1550778013216413e-01 1.4768770376551501e+00 3.7387635314840728e+00 +421 -6.2742666474582496e+00 1.3401991493480838e+00 2.7279780871703654e+00 +251 2.3623356001299514e+00 9.4195143503018963e-01 3.7244981889111117e+00 +215 -2.3466857579799649e+00 -2.8551719723597917e+00 1.2719069192487964e+00 +77 -2.5708835153913405e+00 -3.9062789784464513e+00 -3.0432490387983879e+00 +478 1.6386132591701652e+00 -8.0999372789107209e+00 1.4276736343226375e+00 +642 2.9657932065515240e+00 -1.1275954381702038e+00 -3.9970708701110669e-01 +301 9.5189798010600279e-01 -1.2265766512865277e+00 2.7128882575486672e+00 +953 3.1260286470792100e+00 1.3989225093010198e+00 2.5584188639911267e+00 +821 2.6739026962738421e+00 -4.5900008063660475e-01 4.4176034781360896e+00 +442 1.2273072358159522e+00 2.4631781207328136e+00 4.5534316372525643e+00 +710 -5.9792883830121435e-01 1.0041646074760591e+00 2.2826199364644282e+00 +706 -5.9669806715010953e-01 4.3297204570382308e-01 -1.4284559587917691e+00 +947 1.9543939607591252e+00 1.4922485363569695e+00 3.0115014283770591e+00 +731 -7.9922126765065187e+00 -2.1085272429776998e+00 3.5759883346050749e+00 +29 -1.2865595864799559e+00 -1.8403110598760668e+00 1.7995770356400600e+00 +455 -6.9436799096644783e+00 4.5521215100474182e+00 -3.1924870550978599e+00 +839 3.6501798726759365e+00 2.5991822973793516e-01 1.9066274829160721e+00 +71 4.7786304493572995e+00 2.6492525258415416e+00 3.4469346137328966e-02 +811 -1.6959877388693103e+00 4.8376977743418657e+00 -5.0764808080009063e+00 +626 -5.4498972724599053e+00 -4.3209269379079283e+00 -3.2691935090449995e+00 +865 8.8333875646818494e-01 2.3679602407105977e+00 1.0402725960014603e+00 +341 6.4504839001930465e+00 8.2480919199456237e-01 -4.3841837074625756e-01 +826 -1.5918124981382862e+00 -1.2278171965264728e-01 -2.6245335356711363e+00 +793 5.3252644915741587e-01 -3.3046736147414819e+00 2.8287506857053728e+00 +638 3.2080269586977557e+00 8.2132514195624395e+00 8.4104123153045141e-01 +3680 -5.2565383617881734e-01 3.9979307643342845e+00 -1.3861797300590792e-01 +805 4.6340658965191066e+00 8.7202871705336760e-01 -6.3206835996291018e+00 +981 2.1244525206044145e+00 8.0019080318495472e-01 -1.8548198277779495e+00 +94 9.5620524383314953e-01 -3.5717278731782987e+00 -2.9147295960908259e+00 +711 2.5380854963169899e+00 -2.6576780790784773e+00 -4.1885830868671897e-01 +989 -5.4765816450110218e+00 -4.2961768429405396e+00 2.3012086918192085e+00 +875 3.3881710907819829e-01 9.7592023637463898e-01 -2.5431688497123166e+00 +383 1.4015893180475558e+00 6.1622534354511496e+00 -2.1625317910626851e+00 +736 1.6241489619897738e+00 -8.9658506057366172e-01 -1.4832487364637683e+00 +884 -2.2441754347394847e+00 2.1667592033183345e+00 3.5435701694392017e+00 +169 3.9625843970119998e+00 -5.4363911396352682e-01 5.4303646198242888e+00 +738 -4.6484224078073488e+00 5.7384113176479012e-01 4.1751712726942802e+00 +25 -1.5705270118703107e+00 -1.0868732553278433e+00 5.1956187065779975e+00 +583 9.9967795500872947e-01 7.6833415760354562e-01 1.2549325424366415e+00 +364 -1.9267403219662196e-01 1.8982940758817193e+00 -4.9687324992621951e-01 +3912 1.5524205453880320e+00 -5.6242654034436390e-01 3.6162509258299314e+00 +254 -2.2147852299144137e+00 6.3772860083986291e+00 -4.7705584353473167e+00 +225 2.6804016957393149e+00 6.8381591947304079e+00 -2.8867834269787016e+00 +290 -2.3680063821592934e+00 1.0287654943653073e+00 1.3390642009970459e+00 +117 1.6224537594985766e+00 3.8069268289381664e+00 3.9078515892192223e-01 +484 5.3139639370765721e+00 -2.8181336156180898e+00 4.1838330756365947e+00 +304 -3.5436263705310047e+00 1.1295169870661776e+00 -2.7392790512370285e-01 +591 -3.5811365956510275e+00 -2.4521326595385426e+00 -2.2815944483801726e-01 +939 5.8127824792329175e-01 1.1280363815328847e+01 1.9992311698107834e+00 +3238 -2.9122158371205273e+00 2.5531223845096562e+00 -1.2348019227195040e+00 +898 3.5836817143097326e+00 -3.0469670340514061e+00 9.3988317041571434e-01 +16 -1.3483103629620632e+00 8.5200495339214513e+00 -5.1186265510074094e+00 +3744 4.1964509689221616e+00 3.3292248522200285e-03 -3.1642139949878580e+00 +361 3.5014879544442219e+00 -2.3324557740964238e+00 5.2623384144960488e+00 +3939 -2.6346393385465299e+00 -1.7626026430650044e+00 -4.9437600923438457e-01 +281 -1.6146121887998206e+00 6.9042716047996491e+00 1.9187047224510667e+00 +479 1.3069989416982384e+00 -2.9002433634647122e+00 -5.8103311180281345e+00 +424 3.1299234888893662e-01 -7.4512042159281822e-01 3.3339118007062662e+00 +531 -3.6703134581556746e-02 3.7840088108018048e+00 -2.3377491106751025e+00 +964 4.3909059935543713e+00 -5.9057608116937421e-01 2.8267991162368045e+00 +438 -2.6597830521503294e+00 -3.1702411338672460e+00 -3.1827950642866036e+00 +790 -1.2718314476083030e+00 -1.4487319282921880e+00 -1.8402109364720716e+00 +696 -3.3102593214513734e+00 7.0567697272641206e-01 1.6526870403255850e-01 +3375 -4.5727207955160445e+00 8.8957415883120283e-01 9.0087934323236540e-01 +513 4.1673812646730610e+00 1.9171957176683292e+00 -3.9487192619287668e+00 +121 -5.1751081504399732e-01 -5.9360673095265568e+00 -1.0928114385518186e+00 +190 2.5757288322017184e+00 5.3844062473504231e+00 1.1034406380918655e+00 +396 -2.8595378417877639e+00 1.1049446937395258e+00 5.0507935782770264e-01 +43 2.2269976881488263e-01 -4.4241977264234826e+00 -3.1169185541476518e+00 +712 3.1970567947541895e-01 -6.3040000153042119e-01 1.1600575891095783e+00 +261 -1.6104285390044510e+00 -4.4292242036097068e-01 -2.2144591235927282e+00 +993 -6.0782942580991790e+00 -1.1475611356659057e+00 2.8253793068040545e+00 +550 3.0284566073713313e+00 -6.3555842853158140e-01 3.8029300497019131e-01 +969 -1.7720402542873234e-01 1.0025037837726687e+01 -1.2436309229514140e+00 +457 -8.1451313544577242e-01 1.3236877987497697e+00 -3.6428683047923189e+00 +509 -6.0907586898033053e+00 -2.9130444844585477e+00 1.2391788632584011e+00 +520 -7.3583792010152260e-01 3.6707142418772354e+00 -8.5735857643821578e-01 +529 -6.4934573018975623e+00 2.0059107620964181e+00 8.9291194690700393e-01 +161 3.5895106240597743e+00 -5.3632954505161825e+00 -2.0410404583313713e+00 +769 -3.2628898616852681e-01 -3.0399873942721451e+00 -7.0395749588343115e+00 +827 1.8508787250137837e+00 -2.8471989673978189e+00 2.6877797943098223e+00 +665 3.7803565444134164e+00 -8.2002418008712652e-01 -6.0753185528201934e+00 +557 1.9818699744736183e+00 -5.6426220453313447e-01 -5.2983450801230800e+00 +732 -4.2078810763884196e+00 3.6302956692208359e+00 -3.1369233565414083e+00 +485 -3.2404242850054796e+00 -3.3414206082169442e+00 -5.3960588513474486e+00 +482 2.7197773608406135e+00 -2.8245233526465561e+00 -4.2863842585806617e+00 +641 6.5327544459929738e+00 -4.7022609208391281e-01 7.2820968313076557e+00 +112 -5.1324281675976580e-01 -9.7042550928311844e-01 7.7458644007825983e+00 +402 -2.8155450649230569e+00 2.0628410839978142e+00 -6.0943970865982611e-01 +577 8.3701828907815401e-01 -6.7856661150686548e-01 -6.2325038630509466e-01 +535 5.0899605630785860e+00 -3.7364802574773459e+00 -2.4128029911161621e+00 +116 -4.9401365746605261e+00 -7.1427742216718548e-02 -7.3099547465778081e-01 +817 1.4086475783188266e+00 -3.4887897082845707e+00 -1.6938171284229171e+00 +766 4.9876325332817659e+00 -2.0987385687573208e+00 -2.5049845432636231e-01 +21 -2.4219570814394795e-01 5.8468985623127328e+00 -3.1550202336054651e+00 +410 4.6866906795073771e+00 -2.9671036209837149e+00 -4.5577503105875152e+00 +19 7.7936951264662979e-01 3.3151221693887694e+00 7.4266568031348412e-01 +411 4.2659913286738167e+00 1.5554666785007456e+00 3.5025104922562234e+00 +702 -4.7031717726281097e-01 -8.7799553638970407e-01 -5.6058052671094911e+00 +944 -2.0778749158992511e+00 -3.0737307682749262e+00 -3.1138128124646434e+00 +727 -3.0433354896664904e+00 -6.0315199617089066e-01 -2.5480389575696121e+00 +3158 -7.8081433267991649e+00 -7.2344255633175223e+00 1.2543960547003326e+00 +1378 -9.0305396635937218e-01 3.4999090840494014e+00 -3.0375421807851430e+00 +59 1.5176255508793848e+00 -6.9153140580836805e+00 -6.9307736246537148e+00 +661 -6.6197718426746137e+00 -3.0797645729641205e+00 -3.5655909916561495e+00 +747 3.1499596851791274e-02 -5.2100117251270479e+00 -4.5774959774210178e+00 +925 3.5456878685767297e+00 -4.1029710171556832e+00 -2.3860325321064613e+00 +111 2.5729634953211078e+00 5.3879228795520380e+00 2.9637352364859542e+00 +234 -4.8778237666987817e-01 -8.3973335260383120e-01 5.2758623542906102e+00 +978 -1.6815426937865361e+00 4.8097389140760587e+00 -1.8403584280042045e+00 +13 2.2718766660852889e+00 -2.4037729652528865e+00 -3.5731318881545695e+00 +563 3.7159765558356423e+00 -1.6135315397467105e+00 -8.9616942024369206e-01 +948 4.9106659216306943e+00 -2.7722291893624709e+00 -1.1760721905533118e+00 +778 -1.9335066157939464e+00 -6.0601898448985079e+00 -5.2632171874809428e+00 +500 3.0409990451252971e+00 -3.9781186233687733e+00 3.1776938637431051e+00 +982 -4.3920290533324398e+00 -7.2751275671254314e+00 -3.9921174066456371e+00 +3365 -1.2879987038220821e+00 1.8513627939347135e+00 2.6185784102661920e+00 +985 1.8159493000399485e+00 -8.8692420607175071e-01 2.2650943185131522e+00 +503 1.7487865526986839e+00 -6.5151504759445233e-01 4.2719038592475629e+00 +461 3.9044313031460884e+00 1.1435865027258778e+00 2.9856407533615226e+00 +677 -2.2775860165281009e-01 6.0578913649945179e+00 5.6665957076707130e-01 +556 -3.1894158785083611e+00 -6.2369764259261273e-01 6.7391359873471908e+00 +3458 -2.2967229698634490e+00 3.5874630235694777e-01 -1.2159711775125092e-03 +267 -4.5196856698721284e+00 -5.7460832130847295e-01 3.8781614548903551e+00 +533 -3.2242595616646224e+00 9.0174337181593858e-02 1.9481118435360036e+00 +469 3.6380465820762624e+00 4.9802522742491506e+00 1.2482105170423619e+00 +607 -3.3867499316156917e+00 4.3827618195850242e+00 1.3951611560458062e+00 +252 -1.5812720622796825e+00 1.0041681535821374e-01 7.1359077137916471e-01 +202 1.2643348739158311e+00 6.1629327912263587e+00 -2.2925541316082092e+00 +707 -2.8036487876349994e+00 1.0097355559203431e+00 -4.7462292138135598e-01 +48 -3.8824066488915454e-01 -1.7213876119503706e+00 2.0331927364082549e+00 +393 1.9144509945985326e+00 -1.0659748096591901e+00 7.5034202077249224e-01 +99 7.6897371426072425e+00 3.8202724653498579e+00 -7.6493363008356505e-02 +175 7.8641167149380997e-01 -3.2241779441195715e+00 -3.0852032157025815e+00 +548 7.1497766731276099e-02 -3.5346628153887889e+00 -2.1527959098720040e-01 +32 7.9008070619586396e-02 -1.0858846376783756e+01 4.6484792654045987e-01 +639 -5.9718281554920036e+00 -6.3064276051843748e-01 -6.8324936781074941e+00 +656 2.5737774039527515e+00 -5.2568816384118691e+00 1.5618517437027335e+00 +33 2.0400759757538043e+00 -2.1534517971597378e+00 -4.6120598929935728e+00 +260 -6.4990690450383797e+00 -7.9377919128038529e-03 6.3507573880271160e+00 +142 -3.0110981927095430e+00 5.5330146281281423e-01 -1.3812794677775508e+00 +3337 8.0121079569130382e-01 -6.3645905013200144e-01 5.3382915978976220e+00 +12 -1.9176750993951788e+00 -3.3843668676436356e+00 2.4154529801092184e+00 +4012 -1.6958583470827928e+00 8.1987058623380815e-01 -2.0878018621980563e+00 +314 2.1673450599603759e+00 2.7292668995699945e+00 -4.6437270856509700e+00 +233 3.1801486908566141e+00 -1.2832510737381209e+00 2.0056575870402210e-01 +644 3.2863140758712368e+00 -2.9947381918287905e+00 -7.7731050370085805e-02 +1026 1.2023428311437914e+00 -9.8738561065104342e+00 -1.0541305217313697e+00 +241 3.6373250684179683e+00 -1.9874685616703045e+00 5.0425443102897622e+00 +627 5.4040066192082916e+00 -2.4509620365432166e-01 1.9098450059962262e+00 +539 2.5521865451521153e+00 -1.9428089950715470e+00 2.6469368822081329e+00 +690 1.2677729719078725e+01 7.0224479111632130e+00 8.6439134005227702e-01 +289 -3.3751645531600283e+00 2.3431320473387740e+00 2.5915713551419955e-01 +230 1.1947027996035435e+00 -4.4855182844906478e+00 2.0716521937783305e+00 +1 -8.5627194055492026e+00 1.2947176194675116e+00 3.6762637943374150e+00 +849 2.6818198140533251e+00 5.2651109356564629e-01 -6.6998826167957626e+00 +602 3.6839616596653019e-01 1.0123335199069457e+01 -3.2962873450392247e+00 +528 -2.8558854397895062e-01 3.2710323117774935e+00 2.1920273981903113e+00 +285 -2.2492279478300863e+00 2.6210850567237252e+00 1.7108918628579133e+00 +634 -4.2298368213460469e+00 -3.2478510609743411e-01 -5.9095078808555730e+00 +815 -8.3998758099637651e+00 5.2751551101231851e+00 -3.1578630078425740e+00 +132 -2.0578794477153686e+00 3.0900990709346847e+00 -6.8745235140361360e-01 +288 3.2612885561177940e+00 1.9049023651665065e+00 -1.0731095483379893e+00 +237 4.6535425492729026e+00 1.8840940697708839e+00 -2.1709901350384295e-01 +723 8.6210687361241656e-01 2.3485966030784051e+00 4.8576095161415358e+00 +435 -1.5355493879324424e+00 1.5844658481807667e+00 4.2946132828484247e+00 +3500 8.5871494341233490e-01 3.2176193029086857e+00 4.0184954812666209e+00 +936 -1.2762206124193989e+00 1.1385925745818295e+00 -5.2911218804119775e-01 +325 3.9841878727740236e+00 3.5867375474374081e+00 2.9302096648744982e+00 +70 -1.7251379428790448e-02 3.8376466191858611e+00 -3.1410285454118712e+00 +930 5.0696693140779407e+00 -8.9213985688812697e-02 -3.6907441824301751e-01 +1265 1.7399183020516749e+00 6.2285919485539276e-01 -3.8258843755597751e+00 +868 1.4387179111269552e+00 2.9928588373728489e+00 2.7731493618100580e+00 +178 -2.9950992146201677e-01 -1.7709959320692278e-01 3.5383440183243935e+00 +1018 -1.7016273491395812e+00 -1.9845297396857975e+00 -1.1932045803067840e+01 +464 1.9572742466321251e+00 1.8354055046554303e+00 3.0775226226777290e+00 +992 -9.8319813371952253e-02 7.1445130933162648e+00 -3.0606469630948121e+00 +739 -2.1505693046076693e+00 8.3972865100608940e-01 1.3789265860838003e+00 +681 -3.6002986970978021e+00 8.1138082140384054e+00 -5.3203566651004781e+00 +3573 -3.3847422380161110e+00 1.0425876808424750e+01 2.5941803705777278e+00 +496 4.4106874496404309e+00 1.7919066299659503e+00 5.8548780782088699e+00 +955 -1.9331720237756951e+00 5.6983634703412356e-01 -2.8225169157246484e+00 +771 -1.2183516078384229e+00 1.2863470576826430e+00 -2.9381473743164677e-01 +804 1.3073590050174211e+00 2.4852044019777773e+00 2.9529392778199579e+00 +57 -4.2584856880303281e+00 1.5547891866744308e+00 5.1581502873305576e+00 +651 1.4880826013284145e+00 2.5975748008163531e+00 -1.6187971076196868e+00 +741 -5.1907937491738476e+00 -1.1871112260200358e+00 3.3840638154159042e-01 +604 -9.4305918365589458e-01 4.8357656517233760e+00 -1.5852117286016545e-01 +883 -7.2729848685928422e-01 1.4674523912719033e+00 -5.0286613066838060e+00 +952 -6.7733210976963116e+00 -8.6776392792614387e-01 -2.6894110738452159e+00 +843 1.4281960508548355e+00 -6.1936275131097887e+00 6.1296059251973123e+00 +188 -4.3306752046667757e-01 -2.7822705839987738e-01 1.6360520389217881e-01 +760 4.5153133071404250e+00 -3.4974871912839139e-01 -1.0675565464554899e+00 +941 -2.2180138035109076e+00 -1.6810051753369535e+00 -1.1331399239878761e+00 +618 -3.7330738571515596e+00 1.1081265339222002e+01 -3.1390846789798905e+00 +118 -9.4209907084738944e+00 4.6344051805001270e+00 1.6588704020059470e+00 +664 -5.6637041810804645e+00 -7.7891380090527831e-02 -9.3912614423494911e-01 +278 3.2516828547546814e+00 -3.1500142689945376e-01 6.2809586790440985e-01 +218 5.0822964669616528e+00 -8.3432555483885520e-02 -4.5091436972270166e-01 +406 1.5609062112201513e+00 3.5667647702493350e+00 -3.6980450114690333e+00 +834 6.0285984611674328e+00 4.5644701623061108e+00 -6.5146864871273935e-01 +222 -1.9421526101297759e+00 -6.7693962380791186e+00 6.4906323534969514e+00 +139 1.9860332446227340e+00 -2.3184766906775880e+00 4.7791165888673843e+00 +199 -2.1626303391886399e+00 4.3552950503886638e+00 7.9489406579997091e-01 +584 -2.9329320614106837e+00 5.4906226154413351e-01 5.8925208145023218e+00 +280 -8.6841311481571228e+00 -1.2833197883390490e+00 3.5334377173030669e+00 +640 2.7936192949143246e+00 4.2623037311645158e+00 6.2699166421128139e+00 +181 -1.7803275419578983e+00 -2.1189523302957327e+00 4.3577478398280025e+00 +552 -9.5235598363602403e-02 -4.5401393449709504e+00 -5.6569104403184651e+00 +749 3.9407015112188351e+00 -5.4832597347003933e+00 -2.3402500348461419e-02 +837 3.6645552223369320e+00 3.0028732987429012e+00 4.4913963006199067e+00 +676 -2.1410803995596647e-01 2.8674388285343730e+00 -1.5545235609951258e+00 +1682 -7.0631113845978177e-01 -1.3545717417243255e+00 -9.6894413859040351e-01 +851 -1.1393720594299308e+00 -2.6983969922494222e-01 7.4925378668957587e-01 +130 4.0617252882945643e+00 7.7184605279547167e-02 -4.5819918170455054e+00 +729 5.0936550625832009e+00 -2.5579249815945131e+00 -4.3227323668482692e-01 +861 -8.7712172393833594e+00 -5.3415107581211607e-01 -5.2849389419363595e+00 +168 -5.9594967311303948e-01 -8.8066228232473733e+00 3.1150190632845129e+00 +855 -3.7229883585321955e+00 -5.3315333185951079e+00 2.4674227845631433e+00 +517 3.0508202845344607e+00 2.7438058512032764e+00 -1.1337317690301565e+00 +450 2.4528277926701225e+00 -4.5164313388041384e+00 -2.0110129900238825e+00 +698 2.3064760924314553e+00 -1.2917081721429697e+00 2.1709487658821227e+00 +81 4.1357309240488256e+00 -2.0328064110590556e+00 3.6228147971423491e-01 +927 -2.4927675988002624e+00 7.3527831532670733e+00 2.0494568006255154e+00 +776 -2.1978881048736825e+00 -2.6173084856527655e+00 4.1606211494776091e-01 +74 -3.4779374087497922e-01 -5.7590232545172793e-01 3.1469908343942787e-01 +994 -2.4980702090545561e+00 9.1728723427791925e-01 2.3634621380624479e+00 +263 6.0060753902348862e+00 -4.2810858869127311e-01 -3.8525473132923577e-01 +959 3.4172067293082180e+00 9.8390463012400686e-01 1.8488305114310395e+00 +1007 -6.4552480349291474e-01 -5.4645120979580297e-01 -3.0427369580605226e+00 +302 2.3267358033431065e+00 1.2615919564542770e+00 -1.3913529594411893e+00 +646 -2.7606207298248364e+00 -1.2347797270755625e+00 3.8377313685543074e-01 +892 -5.0074033085527381e-01 2.6499829376821911e+00 -9.7218790395324639e-01 +553 -5.0066756763842220e+00 6.2442222075755693e-01 -8.9932899817995604e-01 +933 -3.3105402092647420e+00 -7.9116018105023589e-01 -3.5254411526265219e+00 +596 8.1265665675143584e-01 -4.2254745016760014e+00 3.3183193501172242e-01 +159 -2.3116888813082626e+00 -5.7369162613726958e+00 1.4444551770194454e+00 +920 -3.4986550465178357e+00 -6.8378231622618535e-01 -6.1622002455911751e-01 +433 4.4002700331477023e+00 5.4556160496066655e+00 -3.5977046453340318e+00 +1490 -9.7189684818277700e-01 2.5070879879566816e+00 5.1778515586761147e+00 +221 -8.1006243339955641e-01 -1.1836549143353807e+00 4.0521830996001507e-01 +417 -1.9328403628603028e+00 3.8037062381242728e+00 -7.5820368250341486e-01 +133 -4.0136887855280969e+00 -1.0376969436695005e+00 -9.2652326135973162e-01 +693 -4.8466981788753101e+00 3.3513338167975846e+00 1.6530905682328331e-01 +678 3.7060512971000783e+00 5.8320607833132216e+00 -3.2478441769094006e+00 +394 2.7288519099730211e+00 -3.1428499760707290e-01 2.8432352234376554e+00 +917 5.3137461766871859e+00 5.4152473905740734e+00 1.9320563064572354e+00 +846 -4.1364548189491019e+00 2.8284242459775171e+00 2.2253562291679847e+00 +146 -8.4423846340801383e+00 5.6698830177403821e+00 -6.3155266144152273e+00 +23 4.1497019362923711e+00 -1.6434915918538318e+00 2.7945835714906736e-01 +41 2.1216587994932190e-01 1.6117707283568699e+00 7.2636870781902418e+00 +866 5.5011742850291547e+00 -2.0855094250010020e+00 -4.1116090260837197e+00 +498 -1.8499917719965446e+00 2.7856586968218666e+00 1.9548904990822329e+00 +101 3.1152893827452437e+00 -2.6585380952133475e+00 -1.1282644980383483e+00 +540 6.3493810526793286e+00 4.0332547983514768e+00 -6.8290273259148149e-01 +887 -4.8987417211604800e+00 3.3480980747062663e+00 1.9465994585834590e+00 +792 5.9558506656797205e-01 1.0748890206071200e+00 -2.1186019460036478e+00 +753 4.1895577683376013e+00 4.2273430530588918e+00 -4.3971097988099093e+00 +320 -1.8220634173372338e-01 -3.7673279739798384e+00 -1.9364085009782097e+00 +530 6.5256582539077068e-02 -4.3450633380077193e+00 4.9868829945838939e+00 +353 -1.4944559606273764e+00 6.1332359757474286e-01 2.3528048712676775e+00 +92 -1.7424219317393776e+00 3.9936321529334551e+00 1.4940921194524481e+00 +547 3.9751043704911089e+00 -2.5048035409945546e-01 -1.3981087558413556e+00 +335 9.3029004001638849e-01 2.9372888227796903e+00 5.0355534359901111e-01 +570 -5.6670132170623724e+00 3.1857180118164936e+00 -3.8751591877552265e+00 +3542 -2.5287867061057967e+00 -2.9325410782610346e+00 4.5139225230425275e+00 +419 4.4459926531778482e+00 1.7382064833195437e-01 4.2177717663836427e+00 +93 -2.3359495442609339e+00 5.7620598502641212e+00 -2.0417999060845511e+00 +871 -2.0776443389990864e+00 -1.7880192396077359e+00 2.8398742162069492e+00 +581 -3.0098116747201537e-01 4.9087370050044099e-01 3.5671899648872527e+00 +149 -3.2690267951359253e+00 9.8912017232513871e-01 -6.2832683029893799e-01 +586 3.8988618462844093e+00 2.9204183597381301e+00 -1.2657851824543442e+00 +573 -3.7001130995161531e+00 1.4122117599762118e+00 -6.0069393997834704e+00 +971 -3.5918433233504992e+00 1.7534553130630892e+00 -8.4259268677296415e+00 +777 2.2969514139547300e+00 1.5596839689242474e+00 3.3323250149786525e+00 +937 -3.0912539523598155e+00 -1.8544596171128103e+00 -4.2142520545739268e+00 +983 -5.8100302563798136e+00 5.8999348418211772e+00 3.1708474888379206e+00 +491 -1.2804965713620680e+00 -6.1730185947300154e-01 -1.7416238991432145e+00 +768 8.6047877919020521e-01 2.8438215807208800e+00 4.0607374751163894e+00 +141 2.4419846483410579e+00 1.0997972943114325e+00 -3.9223396935577544e+00 +828 8.2796320436604951e+00 -3.0146048479779455e+00 1.4217823061428985e+00 +401 1.2158579553258095e-01 4.4877489050299264e+00 3.2753079030228394e+00 +243 2.3355271728148930e+00 3.8239985311832991e+00 -3.8714443609317539e-01 +46 2.8039037072707966e+00 1.9878651984044478e+00 1.7423353026177275e+00 +691 -1.0323118559810718e+00 2.2529647957097403e+00 -2.0119747877948110e-01 +838 9.1616432927675961e-01 -1.0942639014629947e+00 3.2622536988473070e+00 +914 -1.7839060281925114e+00 -3.0683048773556931e-01 -1.3059042422572198e+00 +3954 -2.7304870826104350e+00 -2.6310404927285194e+00 5.6970806578308011e+00 +220 4.7278732986600378e+00 -1.3031974731611280e+00 3.9027553500195167e-01 +779 -3.8472168378736065e+00 -3.6022034878074551e+00 -1.9009225158161385e+00 +187 -7.8990344937937618e-01 3.9999810321772373e+00 -6.6286295158403794e+00 +346 8.4425664835834513e-01 3.6713140948672489e+00 1.6826764965499270e+00 +253 1.6832108131189922e+00 1.7165618665873934e+00 3.3414711109256912e+00 +616 -3.9627818476414047e+00 1.1069376457017350e+01 2.0752461559594404e+00 +579 7.9031631133964906e+00 -8.5040475440101559e-01 -9.9631913489444635e-01 +134 4.7954785312698816e+00 3.3451963120460544e+00 -2.9024849709159817e-01 +1395 4.2825491273415256e-01 7.5349872525113482e-01 7.8989344340961534e+00 +382 -2.2599064610713623e-01 -7.3968421366695056e-02 5.1755581525123073e+00 +371 -1.8597680077948975e+00 2.1810468278893040e+00 5.6530551823497097e+00 +334 1.8385963662189442e+00 -5.4544456763921279e+00 -1.2347270416292551e+00 +508 4.7301335398949558e+00 -7.0388993555108677e+00 6.6433320634735482e+00 +774 4.3035599082165463e+00 -6.9165706294808518e-02 3.3938464234924998e-01 +1009 3.4722133816493499e+00 4.4271838708872782e+00 3.2403350374656275e+00 +523 3.3919290394890118e+00 -1.9035433949756664e+00 -4.7864805517142468e+00 +782 8.3957549781861029e-01 1.6986415215201449e+00 3.2075012250682988e+00 +153 4.0840851227747993e-01 -3.1445179990150782e+00 4.4144909416464406e+00 +366 2.0177042532137628e-03 -3.2336546963404191e+00 -2.8593922566101421e-01 +799 1.2829208524617093e+00 2.8492920307227143e+00 -2.7735852437440727e+00 +572 7.4666294413345078e+00 3.9146374278327225e+00 -7.6206641790895402e-01 +375 -1.3322565462945759e+00 -5.4679630054548745e-01 4.0819706537064153e+00 +337 8.3200805258492228e-01 4.7035085403941972e+00 -1.5973932332731342e+00 +603 -2.6910375174271159e+00 -1.2423100952396160e+00 -7.3359707376797456e-01 +274 5.1400396446714368e-02 -1.7172850224612830e+00 2.7240446664575069e-01 +1023 -6.8725156785957231e-01 2.8688632159439504e+00 5.2413138124695298e+00 +39 -3.8954164750390983e+00 4.4839675242143668e+00 -8.2974668931377380e+00 +781 -4.5286945195059669e+00 -1.4777154517836993e-01 -8.3959558230172959e+00 +210 -1.2425321017438207e+00 -3.3503053445575565e-01 -4.4698544435710552e+00 +869 -4.4727735603791414e+00 5.1417932648223523e+00 2.5343164642977933e-01 +589 7.8090403012856102e-01 3.8686907848217528e-01 -3.7318920766034430e-01 +942 2.1442655264685087e+00 -5.6117617845036465e+00 -3.2875100457219375e+00 +580 -2.2121940018517781e+00 -4.5015267792247654e-01 2.9623673592225903e+00 +918 -1.5796452550401441e+00 1.2831307843661275e+00 -1.8506586169113196e-01 +510 -4.4609176589328738e+00 -3.6198955017525813e+00 3.2463173626542554e+00 +242 3.8475751751563758e-01 -2.9085168074205736e+00 -2.7169804899618963e+00 +174 2.3403423207868399e+00 -5.9201548713807099e+00 -6.2576537682696260e+00 +794 -5.1277643508637798e+00 4.2978142579120715e-01 3.9094195907378175e+00 +297 -2.0226768539669195e+00 1.4493112755383459e+00 -8.9355852924620454e+00 +1013 -5.5556567279031750e+00 -2.6999337711568892e+00 -3.4805285103005148e+00 +668 -1.4656756141340471e-01 -9.4594571227570334e-01 -6.9869883928893186e+00 +615 -1.9793835136107949e+00 -5.5368646147320479e+00 1.8603067351047242e+00 +17 3.9605887549541992e+00 4.7231822689571210e+00 5.9898376510457965e+00 +872 -1.8450226517380972e+00 -5.4569425174219246e+00 -5.3480845467444715e-01 +1024 5.6695840123897039e+00 2.4323387812761785e+00 -8.5958319567174468e-01 +1218 3.8404555244948591e+00 1.3663131225394263e+00 -1.7401146930832507e+00 +363 -2.8107649628950084e+00 1.0415523153182520e+00 -2.5360844447368422e+00 +896 2.1648050512183779e+00 -3.5618603687209287e+00 -7.5107250360863176e-01 +938 3.2189752853732214e+00 -4.6695082550465461e+00 -1.4864708076046565e-01 +368 7.4227073100093910e-01 -2.7632517800452044e-01 3.7443571214077531e+00 +565 -2.3900307345927074e+00 -1.1694903280485920e+00 5.8972891981519404e-01 +66 4.5223786063917029e+00 4.8384279139932875e+00 -4.4467116232191399e+00 +189 -5.9547230105754978e-01 3.0776217355164559e+00 -4.5119007493820220e+00 +483 1.2176627557164086e+00 -1.2301854478825808e-01 -8.8891927229708845e-01 +296 1.2244757131350665e+00 4.1157796909631256e-01 -8.5589609969153602e-01 +271 -3.1562224640809156e+00 -2.9010532755729206e+00 -2.3197155854787939e+00 +534 2.1478252898794903e+00 1.7207499738984078e+00 -6.4554584356819813e+00 +745 6.8933837718347819e+00 -2.0920585127436295e+00 1.0918582270477446e+00 +430 8.0562993279058237e-01 -7.1806159679490165e+00 -4.1186574961085363e+00 +787 1.9323027738469636e+00 5.4506684364262989e+00 2.3626446400058150e+00 +645 2.8924765563794391e-01 -1.4504582263734780e+00 1.8451921124451494e+00 +744 1.9591294730603559e-01 3.8866505911852047e+00 -7.6766591132496407e+00 +633 3.3243798760363097e-02 -2.7366557956569872e+00 1.3095130638392747e+00 +352 3.5309458858772667e+00 1.4540073107537590e+00 -5.9441179198126699e+00 +904 5.6976436742021450e+00 5.2460203484241035e+00 3.2445636037672645e+00 +649 6.8225093753265120e-01 -6.2884629974851025e+00 6.0221400158065448e+00 +619 5.2959020065504232e+00 -5.8914279372299490e+00 -2.0630179662623456e+00 +997 6.1259135813633270e+00 -4.5766209231429607e-02 2.3286626295060437e+00 +429 -2.3572578147272867e+00 6.3061455841885466e-02 -3.0419313133817090e+00 +965 2.7321255057281406e+00 2.5756979043866477e+00 3.1293044225608537e+00 +299 3.1165733639538327e+00 4.3584510464196109e+00 -3.8566625078004368e+00 +960 2.8842742142108615e+00 1.7880165101876142e+00 5.0734992575811502e+00 +963 8.3169679780016228e+00 4.3941216374118435e+00 2.7682630670698036e+00 +196 1.0936885242400756e+00 -2.4268359239651107e+00 1.7088856778242372e+00 +270 2.3790163299101854e+00 -1.2343851472456198e+00 -3.9259053669077804e-01 +560 -1.2254387615991016e+00 -4.7520836447013792e+00 -2.5323370629507309e+00 +612 -1.9784446816043415e+00 2.8028945256173041e+00 -9.9249089985437300e-01 +1006 1.4557468116910390e+00 5.3899968897662012e+00 2.4032023654712860e+00 +1012 4.4307588744223754e+00 1.3979529496384435e+00 -3.2269412159314220e-01 +800 -3.0941558591698017e+00 2.7967991059234459e-01 -6.4133087308364933e-01 +257 5.5086802135093560e+00 -1.5746558037422884e-01 -6.7948035747241420e-01 +182 -1.0587077068020145e+00 -1.8519487660642681e-01 2.0048556868907204e+00 +458 -1.6931304273649019e+00 -3.5742508173631622e+00 -1.7101703042396652e+00 +390 -3.2191203815370004e+00 8.2655786987720603e+00 2.0226455492798783e+00 +551 -1.8900343714094834e+00 2.1817599741335298e+00 -4.5646742806255052e+00 +537 8.0879615864804215e+00 7.8361544107589032e-01 1.9309451336086358e+00 +600 -1.7200564148854167e+00 -4.2714887805626329e+00 -8.7973515238182802e+00 +191 -4.1011508327847350e+00 6.9980102706076908e+00 -2.8829599897193892e+00 +674 -3.6429102768046109e+00 5.2980168433644108e+00 7.1836288650215447e+00 +416 3.1702658759752329e+00 -4.5322262591396205e+00 -6.0069183411380977e-01 +949 3.7673221421593284e+00 2.6618858959116443e+00 -1.3668424764800020e+00 +336 1.6451325851715588e+00 -3.7164883658471082e-01 8.7545399973928795e-02 +881 3.9926259700706512e+00 -6.8119628165142299e-01 -3.5635549635621406e+00 +95 -2.3056016339901042e+00 5.8186050418011961e+00 -2.1111279116626385e+00 +381 9.1210300481828810e+00 -2.9504330872496061e+00 -2.0224312867802450e+00 +239 -2.6007646953502439e+00 2.1166260139271378e-01 -1.8339625485977444e+00 +84 -6.3725931695379572e+00 -2.1762079630628479e+00 -7.3797933048110371e+00 +813 1.2473618807585083e+00 1.3608277350374653e+00 6.2999871481419101e-01 +305 -3.0510208619796160e+00 -3.1099756074408440e-02 -1.5217684192766521e+00 +324 -6.4587207128665831e+00 6.3753045382699431e+00 -3.7333821611920452e+00 +277 1.4164025415105728e+00 -7.4385760997968911e+00 -3.5346200379758269e-01 +1000 -3.5822856895072896e+00 3.0535921022100303e+00 6.8542523799483668e-01 +259 -3.8062997857572817e-01 -3.7247283652193236e-01 -1.9700413238163148e+00 +38 -2.0921318821346353e+00 1.6192624582719608e+00 -2.4057081925098838e+00 +380 -4.3573177248841510e+00 -3.2841880068854565e+00 -6.9755409682604546e+00 +124 7.7185242987876856e-03 -4.3361896080074027e+00 -7.0616108058013927e+00 +977 -2.4226420193032605e+00 3.2935596333699735e+00 -2.7946503943565091e+00 +919 2.9010755282474932e-01 1.6910327149515647e-01 -9.5085092061006560e-01 +758 1.2063642414608136e+00 -2.6824440492151358e+00 5.5850703187634982e+00 +351 -4.3329351452675873e+00 -4.7789808132400813e+00 3.1056188510439440e+00 +467 -3.2749991188671412e+00 -1.2591675407469296e+00 -2.7134834883909988e+00 +311 2.9101018748000027e+00 -1.2323831970292176e+00 -2.0211960969623584e+00 +201 1.4183781608041128e+00 7.2775065447362675e-02 -1.5191882469940778e+00 +536 -9.7591174635337929e-01 4.7961515266297710e+00 2.2269964615659466e+00 +682 -4.7200177871681886e-01 -2.2107328716570365e+00 3.2781810190047707e+00 +862 -3.7456747920301914e+00 5.4007553862858213e+00 3.2428727742220906e+00 +150 -1.6930507288804852e+00 -2.4341260172674488e+00 -2.7574502521308828e+00 +436 -1.1472559242952092e+00 -4.2285070321149432e+00 -5.8880917554399419e+00 +192 -5.5198808130947762e-02 -3.0002491200288723e+00 4.8431416092913177e-01 +648 1.1097921348521242e+00 -3.0172214908428314e+00 3.9771480557082257e+00 +198 -5.6372196042470568e-02 3.8868813387339909e+00 2.3930876426470471e+00 +841 1.7921804859931092e+00 -1.6669717061633310e-01 -2.7947417399467653e+00 +470 -1.0752636264866474e+01 2.1246989788429964e+00 3.2450109143659769e+00 +905 -1.6854643383787486e+00 3.4144742799534726e+00 -2.6578327691568665e-01 +956 -6.9774729100214983e-01 -8.4415224310806138e+00 2.0587982842960812e+00 +15 3.0232053159631493e+00 -3.0733070115234318e+00 -4.6179516654644992e+00 +924 -3.6400242052808864e+00 2.6555088717314179e+00 -5.0968798061086620e+00 +622 -4.1212822617707205e+00 -1.9331467070803932e-01 1.2124073421941655e+00 +413 -7.1488005935724708e+00 -1.2348479641146983e+00 -1.7783268549553402e+00 +504 1.0603602098763996e+00 -2.4919825202438837e+00 8.1618580167531052e-01 +685 7.7275802630148069e+00 -6.0707897984679260e+00 -3.5074542545331493e+00 +643 -2.1142208920469838e+00 -1.4188569075530311e-01 4.7173001434580975e-01 +331 9.2996875901661511e+00 -1.2844021912357564e-01 2.7065417677165802e+00 +1002 -5.8396947824453314e+00 3.2374790139187990e+00 -4.7847106121783662e+00 +788 -9.8360543797048783e-01 -7.1083192964428532e+00 -4.6809968029413378e+00 +499 -4.5541379315672520e-01 -1.2179984074469625e+00 -3.3585034114839041e+00 +667 1.8203567237075600e+00 4.8733062272499463e+00 -4.8191802408878965e+00 +303 5.7541001723625360e+00 3.1019979971740881e+00 -3.2455852596230192e+00 +931 -1.1886482900234405e+00 4.0126947932591568e+00 4.2729287018067925e+00 +684 9.6666972274298057e+00 -3.4457343658827879e+00 5.3199418108961227e+00 +486 1.0952309256837269e+00 -5.8030375484695074e-01 3.9173947664766695e+00 +657 7.1173408418848705e-01 7.6095307605709239e-01 -4.5471169330371053e+00 +1019 -1.6121541134308974e+00 4.6080769851625520e+00 5.2000105563584631e+00 +713 -2.3217100898584064e+00 3.7975023094314522e+00 -2.1179447328847161e+00 +980 -1.3040264359073093e+00 -8.0546938257733007e+00 -4.0882326350904030e+00 +666 1.8290931203752341e+00 -4.1042877740990122e-02 -6.7056461855680567e+00 +975 1.7094288660587136e+00 -1.7566709249705745e-01 -4.0241237898332667e+00 +34 -1.5466637892065211e+00 -2.7844539792612383e-01 -7.4165027852892340e-01 +129 6.9872867658619009e-01 -2.9055966444666650e+00 -4.3793424027951930e+00 +801 1.8012915638107692e+00 -1.9552662124538061e+00 1.9717443949231162e+00 +440 -6.3414145351266633e+00 2.6910434024661631e+00 -2.4795421734732912e+00 +451 2.0854239578439415e+00 1.7221145729482610e+00 -2.7117339352826098e+00 +1016 -4.2729933316680073e+00 2.2955174077237706e+00 6.5546727625677026e-01 +466 -6.8487820412373812e-01 2.7994145783216178e+00 1.9610264308067060e+00 +1267 3.2797196428209219e-01 -3.2738628978091473e+00 -3.0561228067637272e+00 +275 4.5191421551757198e-02 -2.2697185132741988e+00 4.6879197790720841e+00 +990 3.3477597593476668e-02 -2.8066437018963706e+00 1.7447103869303626e+00 +765 3.9195388520557102e+00 2.8667495327450756e+00 7.1230704443133890e+00 +367 1.1659351366267439e+00 -8.3012283790404956e-02 -1.7914067876502919e+00 +216 7.9416366303509847e+00 -2.3862530658265491e+00 2.1396367164199628e+00 +184 4.1972161204165044e+00 2.0707990767667508e+00 1.5287195997260536e+00 +695 4.6189921634534308e+00 7.8030868332294920e+00 -3.0978942222351544e+00 +946 4.9486571694963395e+00 -7.8410169571504873e-01 -9.8224197314486783e-01 +874 1.7466132669938736e+00 -4.6202569911728020e+00 -7.7539619910043136e+00 +527 -7.9214393107169079e-01 1.7879748049396393e+00 2.1323495231161447e+00 +284 2.1163557794895853e+00 -5.1341896684660415e-01 -2.3369133560727349e+00 +512 -1.0863657850552739e+00 -4.7484438805806706e+00 3.7092687771855135e+00 +541 8.5246339563854896e+00 -6.1709793712474292e+00 -8.1200870765958175e+00 +803 -1.6316981198973073e+00 2.9947644689694757e+00 4.2187889859619379e+00 +427 4.2193346539388559e+00 -3.7815361285885540e-01 -2.2628690905467863e+00 +1021 -1.8568055655805435e+00 -1.7269602740145369e+00 -4.7078048626978211e+00 +521 -1.9962829167306226e+00 -3.0705124458494732e+00 3.7189514697476369e+00 +389 3.6134293248962881e+00 5.3132742027231554e+00 4.8022297802779450e+00 +1428 1.7402605495589751e+00 5.2645531473807967e+00 -1.1645295389591857e+00 +663 1.7785166415833913e+00 -2.3366058002583903e+00 6.1054210764084029e+00 +755 1.2947244472804333e+00 -1.5765093979606688e+00 -6.3970786220160845e+00 +37 -2.1173256005721428e+00 3.7472618052056448e+00 3.0999335627498641e+00 +899 2.2030550330890133e-01 -1.2324597938565721e-02 3.6251564586060985e+00 +762 5.8333607735000559e+00 -4.6160138138361866e+00 -3.8890711063555958e+00 +138 -1.0969651089447874e+00 5.4113367061255779e-01 -2.4404301767141282e-01 +102 8.3393918005643955e-02 -9.8957660018885285e-01 9.6739199156084074e-02 +576 -1.6799062175600030e+00 -4.2706526545450290e+00 -3.3332485208324623e+00 +808 1.4149426545036496e+00 2.8349281931010544e+00 1.9684695332070388e+00 +518 3.8535621705436394e+00 1.6260979207142445e+00 7.1601593370177774e-01 +24 1.9049728561203820e+00 8.6541802324992789e-01 3.6678116529585467e+00 +3130 -1.7432013486043936e+00 -3.0658359106967339e+00 -2.8071596918261993e-01 +900 2.5288220049434544e+00 -1.2744195833995140e+00 2.3688511613428904e+00 +54 4.1726659595916287e+00 -4.6436995253306916e+00 2.8609763600447855e+00 +593 -4.3601974679442351e-01 -7.5891197818225580e+00 -1.6106040946723583e+00 +505 2.2913615028423160e+00 1.3481539197404997e+00 9.5582133625412369e-01 +155 1.5943881856876292e+00 -5.0119561373376449e+00 -1.9275318738198793e-01 +611 3.7597601631293407e+00 -5.3238205023194087e+00 -3.5057600193538119e+00 +128 -7.1996466245808965e-01 -4.6533674063837932e-01 1.0775350344107641e+00 +262 -4.7158873206481040e+00 -3.2774382958456454e+00 -3.4314049252932937e+00 +163 1.2564170848268690e+00 3.1907947878583158e+00 -6.3273045984737031e-01 +26 1.3715850050491867e+00 -7.0202256114470715e-02 -5.8522539753203011e+00 +783 -1.6482269102103975e+00 -6.3570766424137259e+00 -2.9277098788701408e+00 +923 7.8211365856123594e-01 5.1658101255679236e+00 1.1288495715414150e-01 +652 -3.0558854050802836e-01 2.8938601711548428e+00 -5.4694125632014199e+00 +91 -7.7336326292633673e-01 4.1359325043485944e+00 5.1123545614475638e+00 +569 -4.7036395784458618e-01 1.0483352024829564e+00 -3.9263800946113783e+00 +568 2.4974346964453904e+00 5.8341675592668496e+00 3.4418460519139686e+00 +448 -1.0742315446976840e+00 4.2902591568680712e+00 -2.9722492864667629e+00 +915 -5.1096079080757368e+00 -1.8154619112767647e+00 2.6298867975857781e-01 +1014 2.4050674496593087e+00 2.0165086650380375e+00 -6.9235648626574307e+00 +28 -4.3838301719380874e+00 -2.9017381747477722e+00 5.7432558998088812e+00 +718 -2.7686432277396329e+00 7.2002620343380661e+00 -4.5417535961668456e+00 +348 4.7604721853877949e+00 -1.0285741901083176e+01 -7.3394745225599030e+00 +1001 -9.6096255846312051e-01 1.8025960342129566e+00 -2.5883925199380942e-01 +330 -3.1672033923289518e+00 -4.3949994015174694e+00 -1.0105175858846643e+01 +812 -4.5914737050258907e+00 -3.4785989546687963e+00 2.3480000830664247e+00 +594 5.4293986378965844e+00 2.3597223692070646e+00 -3.3030185383907948e+00 +746 -6.7117126080948164e-01 -1.6952696809600041e+00 -2.7347581847427271e-01 +10 7.9611959044710812e-01 2.3586738360186141e-01 2.3554473123479998e+00 +127 -1.9368207712977510e+00 -4.2105063980028721e+00 4.1007506474229150e-01 +1491 -6.0145453947015213e+00 -1.8665301740897307e+00 -5.8373709943491736e+00 +545 5.2247030646693082e-01 4.2665632711917700e+00 1.3998362509948890e+00 +292 -4.0100647013546560e+00 5.5432078282366968e+00 2.7346552406222049e+00 +55 -5.0331755496940866e-01 -5.1474479997796809e+00 2.2840534818463696e+00 +506 -5.0878198172812432e+00 -4.7439472857676357e+00 2.5576916458015071e+00 +185 2.0061587083246031e+00 6.2832161267561277e+00 3.1202676439606316e+00 +392 -3.3730725343634682e+00 9.5308651948620438e-01 -1.6155721123915558e+00 +908 -4.2134722296771123e+00 -4.2309373932872774e+00 -1.5859874475395306e-02 +107 -2.3022095285110082e+00 1.4988145835968358e+00 -4.0114296992373166e-01 +756 -4.8590692491013743e-01 6.6059442704321669e-01 6.5942157943446400e+00 +784 -1.5203877167362685e+00 5.4245727910037178e-01 -4.3511800060796735e-01 +83 7.1765056063207155e-01 6.6391193571455731e-01 -5.0006201687407801e+00 +797 2.3749421201267453e+00 1.2291488011682137e+00 5.1943794891674759e+00 +909 4.5040762483701400e+00 2.1502304004670973e+00 1.0252202104148389e+00 +3787 -1.8008080999472098e+00 -2.3848480128447944e+00 -3.6694257800425689e-01 +830 -2.9761785095129873e+00 -8.1063744746951294e-01 1.1191689758471219e+00 +176 4.3886373357548498e+00 5.8928420058947184e+00 -1.2738667508461754e+00 +273 -1.7720657824357537e+00 2.0140074957663949e+00 4.0687819522994495e+00 +795 -2.3129156074529651e+00 -3.9729141741923848e+00 3.5461271562619773e-01 +546 -9.0810024137811762e+00 2.0539211092743432e+00 -8.4861531921369393e-01 +404 1.1607335740774860e+00 1.5482015707280925e+00 6.7056510393656863e+00 +327 8.9334164177275799e-01 1.6115506370120953e+00 5.4657215557321210e+00 +309 7.5086537666277060e+00 -1.7509341793599900e+00 -2.2570526357365956e+00 +587 5.6373266082939255e-01 -8.1224803452058958e-01 -2.8154679753556999e-01 +362 -4.3553683856468552e+00 1.0601216910593369e+01 2.2611832990075009e-01 +344 1.0690793758016139e+00 5.7623820635021961e+00 3.3162308442090986e+00 +232 -5.9701050105248239e-02 3.0768930609163818e+00 -5.8710762259173954e+00 +160 -2.9597831938389252e-01 -4.4960862843463030e+00 -5.4104090058094974e+00 +286 -2.3848210424854184e+00 -6.9004353039074218e+00 2.3276632591900857e+00 +3585 -5.6992646772088209e+00 -4.8206437416682553e+00 1.5579614151452652e+00 +385 -1.5902542213831139e+00 -2.4152447075527914e+00 -7.2997716835118158e+00 +358 -3.1014764829277336e-01 1.6772603901741298e-01 7.0074365077121543e+00 +802 1.1429989946502050e+00 -7.4388951204879661e-01 -4.5753167416826308e+00 +350 2.7083138134900436e-01 5.0030578783866444e+00 -4.9288572193271172e+00 +522 6.7544534980101956e+00 -4.7315460667039755e-01 -8.9893543168941414e-01 +454 -2.7276795647669734e+00 -2.2423988499800993e+00 1.9348873695343844e+00 +945 -2.2074959996750345e+00 -4.0937740126009503e+00 -4.4741259672394076e+00 +282 6.2018029365540361e-01 2.7764297118516326e+00 -1.3059547186852010e+00 +60 3.6493020545018200e+00 -2.5113205790013757e+00 -6.9650903924761010e-01 +231 -2.6579861034901491e+00 5.5052786208261395e+00 2.7281194073427186e+00 +110 -3.6604690247944141e+00 -2.5922989590009005e+00 -2.5260761844601598e+00 +349 7.3969174943923033e+00 -6.5650625263948881e-01 -5.7695515397934010e+00 +256 -3.3273368284644604e+00 5.4269367728841367e-01 -7.0608022151548777e-01 +82 1.2646216643424610e+00 8.2740352176550902e-01 -2.8537370462128431e-01 +894 4.2541907345612531e+00 6.0658181563422542e-01 6.9440281248954228e-01 +113 -1.8270359308604336e-01 1.3367155879041495e+00 3.2195888814731815e+00 +264 1.2505812882856082e+00 1.2111342213654031e+00 -7.0084215701080854e+00 +229 1.9042003496640952e-01 -1.3849042839983581e+00 7.8733274111346603e+00 +179 1.6838580326998349e+00 1.5504561763356390e+00 5.0052724321257918e+00 +858 6.5884500062987428e-01 1.0947436815620311e+00 -2.3159676054835017e+00 +780 9.0666668879802004e-01 -4.2909470768300233e+00 -5.1689880573262970e-01 +1010 -1.4921680988562822e+00 -1.0610491071231023e+00 -3.5520263512493604e+00 +807 -3.6527731615526111e+00 1.8550884636751364e+00 -3.3476781236025861e+00 +786 7.0698800722737182e-02 1.3530900160805086e+00 4.3894799877757634e-01 +315 -9.2994869658105184e-01 1.5698671243968094e+00 -4.6137401500402930e+00 +737 5.7292717108258684e-01 -8.8780213461618268e-02 -4.2643369384800911e+00 +137 1.5340678778712538e+00 3.9011624763575679e+00 -5.4570544854454095e+00 +460 -4.1818639002036999e+00 5.2864419392382800e+00 9.8840802156479268e-01 +490 -4.8101551585177829e+00 2.6371953064949905e+00 3.3489422009535987e+00 +1970 4.7260910007878720e-01 -4.4057774559176199e-01 1.9957198638522360e+00 +395 -2.0597812630454047e+00 5.8149597593121802e+00 6.8579643215995958e+00 +853 -5.3071459170728108e+00 -5.4201832371331840e+00 3.6290166690633203e+00 +238 -2.1969957065989365e+00 2.7140672490460624e+00 -3.2617083920626913e+00 +456 9.4606152228142026e-01 2.0837895306022008e-01 3.3870971576441011e+00 +857 1.2414338231304962e-01 1.8848978361830691e+00 2.9925365318133994e+00 +907 -2.5682911430118978e+00 5.6204017481952144e+00 1.3509232960471309e+00 +477 -7.8358013304125205e+00 2.3795366143617565e+00 4.3143376197303818e+00 +832 -2.0413728785686902e+00 -4.0441290571358302e+00 -2.8491813432105597e+00 +511 2.4501153530873068e+00 -3.3675643986449622e+00 -4.6628311389152897e+00 +122 2.1964745943735999e+00 7.4702365221781775e-01 -6.3494154664797153e-01 +1017 -1.3301808047886557e-01 3.3800138589400190e+00 -3.3064943086817871e+00 +958 2.8501511591267525e+00 -6.3606114801777265e+00 -6.2280166555726577e+00 +235 -1.0105537486766745e+00 1.6681874653552362e+00 -5.0678472279307014e+00 +721 2.4842909250697187e+00 -7.2695779766555626e+00 2.7020296181630794e+00 +891 -1.6307798584380573e-01 -1.6853395853690731e+00 -3.4469425259314881e+00 +825 -4.6178444777424117e+00 2.0912301562316720e+00 5.4468470375685234e+00 +441 2.3178406232515454e+00 -6.9689419720677730e+00 -1.3122743963350203e+00 +689 3.6974941928024871e+00 2.6017947423279439e+00 -2.2585379884577996e+00 +398 3.3156711155338026e+00 -5.1061515955741230e+00 7.9344475370686307e-01 +1185 -7.9027876127300656e-01 6.8360916956261997e-01 -9.6607593501635003e-01 +1020 3.5587063426158814e+00 3.7220504754527162e+00 -6.6987307559080200e+00 +544 9.4265267837337174e-01 -5.1882407611002996e+00 -3.9344686600952112e+00 +345 5.4563902588946611e-01 1.9811172817491847e+00 1.3332532500875969e+00 +52 -3.4834670284892035e+00 5.9620046380807903e+00 -2.8711025630373848e+00 +75 4.8465487307203610e+00 -1.4254536672512235e+00 1.6375849478661244e+00 +613 3.1341334624231156e+00 3.5196307285661872e+00 1.3464580964407327e+00 +420 5.5761544841345669e+00 -1.0453246209421152e+00 4.8387776591249727e+00 +249 7.2861347687396849e-01 -3.1486451219647273e+00 -3.0201307580530856e+00 +35 -3.1363663845183796e+00 2.5804789034716653e+00 1.8048579994362592e+00 +903 2.1101076478973102e+00 -2.8566054291376788e+00 -6.9841567392414623e+00 +609 -1.0987923417249383e+00 -4.6251295284357976e+00 9.1779680570393452e-01 +910 -1.2000905360006966e+00 1.1279203351592550e+00 6.1233600567012036e+00 +968 2.2698975912904973e+00 -1.0854118533316470e+00 -3.7940122874818089e-01 +452 -4.7325945781504446e+00 3.9948026673325283e+00 -5.9021506615407606e+00 +988 5.7150060513752809e-01 -1.3117878048919689e+00 -1.9645619160144336e+00 +632 -2.6732243671997096e+00 5.2898619066316419e+00 4.1046177380506972e+00 +89 -3.2936333009584602e+00 -4.4392344991068660e+00 2.3895772066960728e+00 +186 -3.7325499806607565e-01 4.3970237298064969e+00 -3.4335626403760133e-01 +472 -2.0741774399369759e+00 1.4874904331849836e+00 9.2153690214853223e-01 +224 3.2666203941898697e+00 7.8984690805444391e+00 1.6461064197559632e+00 +328 -2.4211440351057405e+00 -3.1397949029778176e+00 -4.9408435543917122e+00 +614 2.1656990615784051e+00 -5.5297883049649721e-01 6.7006078588575102e-01 +100 -3.8504070496025773e+00 2.3757509274034545e+00 -3.9000182371566612e+00 +245 2.1161444313165903e-01 -1.2312733985936295e+00 -2.4139861248371846e+00 +62 -5.7094557504236608e-02 1.7009345618482827e+00 -1.3586196523313283e+00 +647 1.7328789233539388e-01 -1.0135793864786147e-01 -3.1665633001948612e-01 +343 1.7148367830476903e+00 -1.9259385126025139e+00 -1.1605668005473229e+00 +276 -3.7376888287139165e+00 5.6221669099145863e+00 -5.5408548537782583e+00 +893 -3.9837016433532919e+00 -6.0591429550609055e+00 -2.2047010058939511e+00 +895 3.6051987205745948e+00 3.8947622870377998e+00 -2.9257678777470431e+00 +69 6.7863888143126339e-01 -7.3244344806287787e+00 -4.0275872195024105e+00 +809 1.5127615527121430e+00 2.3899773065762409e+00 -1.2041013638839329e+00 +836 -1.5521372872103121e+00 -1.9937221200493802e+00 -5.1993206757461810e+00 +98 6.9165258024886498e+00 4.7752055619200577e+00 2.9149722013938879e+00 +588 2.0482697048414926e+00 4.5999329746461788e+00 -5.0644751594723370e-01 +845 -2.7790058062644278e+00 -2.2313208362657631e+00 -6.0027430383223965e+00 +623 4.5062025883659445e+00 -1.8086508012361344e-01 6.1280313425633519e+00 +3511 -2.9072753839577525e+00 3.9366969837703092e+00 4.4206172477232197e+00 +294 -1.7645604913020028e+00 2.3629754736067317e+00 -5.9884846534562231e+00 +880 4.5885897262538577e+00 -4.8466242620523978e+00 2.6348686730047133e+00 +1008 1.5517488582976937e+00 2.8560759734710972e+00 -1.5615586975426439e+00 +750 2.5092570347419230e+00 3.5357137615515506e+00 7.7441643022822326e+00 +162 1.6932638389523913e+00 3.7723493251542126e+00 -3.6693179570315322e+00 +4007 2.7951797024112754e+00 -8.4703835187594689e-01 2.8815153458749804e-01 +359 5.1585144571667714e+00 2.5441119632444809e-01 2.4857756629342909e+00 +246 6.9502963175377075e-01 6.9695246066608441e+00 -2.9567094695410314e+00 +597 6.4785342129955892e-01 -4.6814115824553584e+00 7.2079191097451711e-01 +444 1.9924524775898209e+00 2.1260491479236596e+00 2.1912353968744469e+00 +950 1.8952118822780745e-01 3.2578041375162359e+00 -1.1670953825523873e+00 +165 3.8613026955948730e+00 -1.9103488154262993e+00 5.1537598885027718e+00 +203 -8.0824458571753297e+00 -2.4288375916928606e+00 2.4228826137984555e-01 +822 -3.4169448674352556e+00 -5.6970342521730155e-01 -3.5434259892713653e+00 +759 -3.4423890553587397e+00 2.5145842954839048e-01 1.0930199535909955e+00 +108 1.4804256542499301e+00 -1.6943556974484899e+00 -4.7000942040164118e+00 +726 -6.0087048169843964e+00 1.8607073508511123e+00 -2.1717230036404866e+00 +897 -6.4728079940438972e-03 -4.8734894310600021e+00 2.2610142364121413e+00 +79 -4.3038237553380352e+00 -6.7101024177004776e-01 -2.8105143093058094e+00 +610 8.5639359446978192e-01 -6.8174835155761082e-01 4.8981469842318885e+00 +494 1.4347242355378746e+00 -2.0476189548878185e+00 3.1926103663972740e+00 +407 -2.3601995934036157e+00 -2.0034656073813299e+00 1.2091175312116895e+00 +671 -3.2914918615937522e-01 -6.6647855111478027e-01 -3.0378297282294926e+00 +307 1.4706448056829486e+00 -2.6881659298924316e+00 1.1848283211487964e+00 +403 -3.2395119936282413e+00 -1.1181076855324095e+00 -1.0245144420086230e+00 +212 -3.4245868025556119e+00 -6.9103877639104603e+00 3.7269439719131774e+00 +675 2.4317722721002908e+00 1.6514811550351098e+00 -1.4620731048377851e+00 +372 4.4120418077732104e+00 -2.1764601806798054e+00 -2.5496324567997766e+00 +354 -3.9973019675699177e+00 6.3894211020494067e+00 2.7370361940318784e+00 +734 -3.3347148326639808e+00 1.9594009812865696e+00 3.9376184379918383e-01 +519 6.0036217288132789e+00 1.2953036997775957e+00 -3.4844542816279325e+00 +120 5.6051554476854548e+00 -1.3867309833682697e+00 6.1553981073058162e-01 +629 -3.3771308365592958e+00 3.8896935585933075e+00 1.0162012941087255e-01 +405 -1.2816027435766937e+00 6.5608772333124266e-01 2.3018952343324957e+00 +322 2.1113864361558718e+00 -1.3670904924792597e+00 -1.1131899464733299e+00 +733 -7.1333353332236982e-01 -8.2188624631139440e-01 -2.1209678451355476e+00 +595 1.0662735248740198e+00 4.9308363067763022e-01 -1.1877863826413655e+00 +501 1.1503607535033242e+00 -4.8463491863897379e-01 -3.3859714008536979e+00 +3495 -3.3814239969156832e+00 4.0655168894615645e+00 -3.6379931570649942e+00 +90 -2.7621148106483888e+00 -4.6227275413366327e+00 8.8799851228506832e-01 +791 -4.1905557430702578e-01 5.9017132855587224e+00 -2.3942587348241582e+00 +763 1.5481858001743995e-01 -2.0296273375270015e+00 -4.1741101730758663e+00 +313 1.2227940903187844e+00 1.6174477234227018e+00 1.9801152998098519e+00 +606 -2.1728711013045601e+00 3.9638173803701515e+00 -7.2731642823770732e+00 +916 -2.4472753568950272e+00 1.0187268205674658e+00 -6.8949775339512023e+00 +109 -3.0717933369503956e+00 3.2915487620436495e-01 5.1776290214529350e+00 +516 -3.2006768073205563e+00 -4.4529145710895701e+00 4.6625117512469538e+00 +268 1.0084684783498343e+00 -3.9001073028977604e+00 3.0695671035119743e+00 +308 2.6795550620753201e+00 2.7760137587044658e+00 3.1825905912839634e+00 +655 2.4039555939642856e+00 2.1190251182262605e+00 -4.3351179856337927e+00 +549 -4.7757755358838244e-01 5.0577929107835304e+00 -3.8015020599878011e+00 +725 3.5530109977385229e+00 -1.4878390930319614e+00 -2.4036913796226544e+00 +258 -3.2303389092990700e+00 1.8204267496007733e+00 -3.1800313257763063e-01 +3942 4.9161417156378091e+00 -1.7060576414420250e+00 1.5341707725377496e+00 +934 2.2493606746901156e+00 7.1141003704101902e-01 -1.4736740120288458e+00 +757 -5.4348143381812521e+00 2.8091895894903169e+00 -8.0573752698226482e+00 +864 -5.5090763750192684e-01 -1.8427622016922522e+00 -1.2011755616040531e+00 +901 -1.2306493318402880e+00 -3.0218685126143665e+00 7.9457902298005834e-01 +715 5.1773608147814487e+00 -1.8259372004935415e+00 3.7710163585181431e+00 +136 -8.5874864322826605e-01 -1.3227381007363641e+00 -3.9524379011970817e-01 +628 -1.8803791993704588e-02 -2.9683444954191001e+00 -1.2287145746174593e+00 +374 -1.9296294085865948e+00 -1.1213178922620215e+00 -1.1925118842259281e+00 +660 -5.0714354598828688e+00 -1.2842335566361456e+00 1.9347499162636512e+00 +582 -2.3639124087524750e+00 -3.1960481900060724e+00 4.4764903052226118e-01 +418 1.9121899135008218e-02 -1.6380804930703889e+00 8.6395567568342848e+00 +810 4.1847784716763927e+00 6.5398994795486356e+00 -4.8472079254885720e+00 +624 1.8861858481055760e+00 4.4132416641389138e+00 -3.0701035225658212e-02 +867 5.8349864256380437e+00 -2.0001139876459346e+00 3.0234414142444415e+00 +85 7.6522629492857777e-02 -5.1260759200830410e+00 3.6443043045495958e+00 +439 -2.0736170935683407e+00 -1.9314419292395804e+00 -2.3688010568377416e+00 +147 6.2201836941375586e+00 -6.7676772645132557e+00 1.9853541273530200e+00 +1022 -2.2989881934328080e+00 -1.1886238759917600e+00 3.1126428471516476e+00 +437 -5.1883009628696319e+00 -3.6740491921251919e+00 5.3491879960655160e+00 +240 5.2706900949534905e+00 5.0875239390549503e+00 -2.3060154420384280e+00 +1489 -1.1334188030703929e+00 2.6748060054115008e+00 -9.9865061273765021e-01 +764 -1.2992498933866747e+00 -2.3386497806045838e+00 -2.4550478755584568e+00 +3548 1.6594915208091920e+00 -2.5347848032561893e+00 5.2918689352909780e+00 +806 4.5319020609270888e+00 -4.3851771628553715e+00 3.4394301348373251e+00 +796 -2.3120550823532864e+00 1.1151330580071532e+00 -5.0084703376938462e+00 +3985 -6.3045656546249464e+00 -4.8605353094418258e-01 5.4050021879201404e+00 +356 3.2787847876764036e+00 2.9698635321165625e+00 -8.8525025169203508e-01 +1810 -2.3442834154278547e+00 3.3571617782471308e+00 -7.5715186510315062e+00 +1015 9.2987056281593428e-01 -5.7059886498332499e+00 -4.5220228448846944e-01 +397 1.3559876028336140e+00 5.5134188002912303e+00 -2.3368710821473777e+00 +697 1.1438391641670755e+00 7.0365594215588603e+00 -8.9382979943726115e-01 +833 2.3118563845618532e+00 -2.8825011721151523e+00 2.9825384912008648e+00 +599 -2.2567017281040407e+00 -6.6721127048866231e+00 -2.7308990682196352e+00 +87 -1.9656948972690547e-01 4.4665156780122306e+00 -7.0145164650778924e-01 +207 -6.5201231927401118e+00 3.8423120409600577e+00 -1.4028614675644429e+00 +428 8.1091811650604873e-01 -3.1754509317847166e+00 -2.0582101211197728e+00 +1778 -4.5742529517727402e+00 4.6472487050607603e+00 -2.7275614940100543e+00 +376 1.6969895021788777e+00 -5.0094473624761697e+00 4.4850890482567891e+00 +126 -5.7957040121536263e+00 3.4282379777028473e+00 -1.9787125466672377e+00 +200 -1.4229179925227382e+00 1.5717914160432092e+00 4.0857387802339478e+00 +532 3.6492687438557465e+00 -4.2147789599443639e+00 2.1641814705580709e+00 +209 1.1250304069078982e+00 3.8341015621643217e+00 3.3451791382180018e+00 +842 -2.7702765296992093e+00 1.3557519319508238e+00 1.3227958968784033e+00 +370 -6.1249473290277621e+00 1.6333377867863368e+00 4.3337558749048091e+00 +951 -2.6822412392584485e+00 1.2651114935401040e+00 -2.5429125950076377e+00 +384 4.8419105343232891e+00 3.6224889079731010e-01 2.7746414240263557e+00 +158 8.6756181004381694e-01 -4.2311550251362817e-01 -7.9826212573205180e-01 +228 1.0549336432837984e-01 8.3797759851616949e+00 1.2485576457978953e+00 +3150 -5.2867457773323761e+00 -1.1425109837004053e+00 -3.5174950086572139e+00 +1329 -1.1897986854990628e+00 1.5242295525013508e-01 6.3965785068400356e+00 +870 4.4781538797156815e+00 -7.9039212944480912e+00 7.1642253678998069e-01 +22 1.3220024316501144e+00 6.6014126743434014e+00 -4.4119297983825954e+00 +873 3.4016285095151431e+00 -6.4823089309379318e+00 2.0757404650729860e-01 +7 1.8522674862631321e+00 -1.5818985006802988e+00 -1.9242206545111322e+00 +318 -3.6742363694447877e+00 2.7120211532544367e+00 1.2621304808064249e+00 +400 2.5185590087388671e-01 8.0602376831860134e+00 8.2078668713554350e+00 +3597 1.3614281089445472e+00 3.2137927822949015e+00 -1.6457239564188735e+00 +559 -1.4043781607598569e+00 1.7579390549837162e+00 1.4604597329515956e-01 +465 3.9150137476116660e+00 -3.6458844538822435e+00 2.0333860431272797e+00 +378 2.1460303477424278e+00 3.8367304244401810e+00 2.8680931057108308e+00 +3 4.0438959979516795e+00 -3.6482732378488154e+00 7.7805931887421869e+00 +1170 2.7452082308254848e+00 7.3368479848731094e-01 8.8737024184931190e+00 +3535 -2.1955544998732393e-01 -9.5988992783566596e-01 6.2483942798870251e-01 +172 1.1342262585668055e+00 8.5982867095212268e-01 9.0257513477062901e-01 +524 -2.8008259928166129e-01 -7.6394953560400456e+00 3.7781636527560503e+00 +1251 -3.1207515863505830e+00 5.7172545542570863e-01 2.6903065834316791e+00 +204 5.4057944574707406e+00 1.6617686571546542e+00 9.8791873519604417e-02 +877 2.5727450372190939e+00 -4.3687244410295901e-02 4.1266936940870896e-01 +1313 -6.2954413266107236e+00 -6.4304870827405018e+00 -1.2842877713338043e+00 +686 5.0131721224574486e+00 -8.8079108178676613e-01 -1.9785149434978573e+00 +306 1.2570450576253431e+00 -3.2995354246759074e+00 -4.5060408423812017e+00 +432 -3.4899727932070372e+00 -4.0992214629881412e+00 -2.2530254856922496e+00 +423 1.7948677232320267e+00 -1.5660516485856149e+00 -2.3446441200376129e+00 +1003 2.1175667077662494e-01 -1.6751712674507830e+00 6.0165088033065341e+00 +3159 4.4759610726830656e+00 9.3241491740416116e-01 -4.0534181968222764e+00 +966 -1.2901804323591544e+00 4.0742218333966544e+00 -4.8960182227932787e+00 +88 -3.2566183951775147e+00 4.4309315124066808e+00 1.6043274584386136e+00 +1154 -1.9403198236640227e+00 2.4079814731074740e+00 -4.0875086567840970e+00 +462 -3.1984021083447396e+00 4.2802717101282877e+00 -3.2012194890312680e+00 +630 1.3000603212168387e+00 5.6019465597520188e+00 5.9545881902330464e+00 +754 1.4038805713718716e+00 2.6484241643040352e+00 4.5210496005104650e+00 +51 1.8965260887351687e+00 -7.9730947421093235e-01 2.4455565591332940e-02 +878 2.7832704584024531e-01 8.0020875274781904e+00 2.9223933345751814e+00 +1762 1.5438726548566741e+00 -2.1881699441038585e+00 -2.6707325263843779e-01 +566 1.7151467188760505e-01 -2.5304666840773598e+00 4.6619213891945552e+00 +449 2.5995404881946271e+00 1.6435312989230824e+00 1.7176721752572817e+00 +4 -3.9319945662894420e+00 1.7330108106030545e-01 5.4509825287255449e+00 +850 -7.1334468942519473e+00 -5.4656608781658793e+00 2.3996586415835428e+00 +772 -9.3316232298782831e-02 1.3722813407899805e+00 6.0507397561210741e-01 +683 -4.6846800886921119e-01 -2.0700672613075413e+00 -1.6724025218848264e+00 +954 -2.3452315993379433e-01 4.4544173206631410e-01 4.0709029238159521e-02 +489 -8.0815340259422612e+00 3.5560689113580528e+00 1.0366252274030775e-01 +269 -1.6129582207448121e+00 2.9233612161800417e+00 -1.1081406830712239e+00 +902 1.3510041960963721e+00 1.9374751072220344e+00 1.5390135009894930e+00 +475 -2.5013710072780229e+00 3.5383317974642288e+00 4.6040457347385990e+00 +300 -3.8441322728496639e+00 2.8656770883469990e-01 2.5920777025174035e+00 +236 -5.0324596190835322e+00 -1.0217228135095064e+00 -1.6059124871154040e+00 +987 -4.5900281829860052e+00 -4.0334852349698949e+00 3.6768182285865629e+00 +323 -3.7693138226856546e+00 2.3464005370915073e+00 -9.4155543577855560e-01 +293 -3.7722911832528743e+00 1.6287087476940647e+00 3.3600769850124355e+00 +940 1.9802353665930994e+00 4.2311763412648185e-01 -1.8920368509162224e+00 +291 -1.6804587193668816e+00 6.9149704005099133e-01 1.8332106577856069e+00 +673 4.5139516516570516e-01 -3.4071356819199865e+00 3.2214877170238965e+00 +104 3.6264151477846189e+00 4.3578351804604996e+00 1.0160527750225299e+01 +447 -5.6781795819975773e+00 5.1446641238539961e+00 5.7141202811071530e+00 +219 1.2877245581791652e+01 -4.5910077201682506e+00 -8.7614742755139396e-01 +206 4.6604296912760725e+00 -1.7313236413025215e+00 -1.2216481364786742e+00 +708 -5.2664132176855460e+00 -2.6000831837127421e+00 -8.1054559914584745e-01 +3615 1.7203039612928264e+00 -7.7233469901602958e-01 -3.6532362593565511e+00 +789 2.3670828388889666e+00 -3.7515090425620290e-01 -5.7114561142342657e+00 +3220 -3.4255580392590672e+00 4.3113564861888243e+00 1.8008712136196003e+00 +295 2.1162845115813478e+00 -3.8541145006660562e+00 -1.4854066768253595e+00 +740 -5.2183930971577464e-01 3.5728085218196148e-01 -2.9252217430231813e+00 +672 2.6699423586793651e+00 1.5196910431788218e+00 7.4403028313504649e+00 +991 1.4537714561718384e+00 1.4404618170603731e+00 2.3410276969281814e+00 +319 -5.1353666981351234e+00 -8.5146024063944878e+00 -6.0587179853108852e-01 +962 2.1070280824331835e+00 6.3562964334557055e+00 -7.5070548359011937e+00 +932 1.9892537600813944e+00 9.6289918271615349e-01 -1.0419124883372743e+00 +911 -5.2726067155914551e+00 6.7310092434271684e-01 1.9866732253916022e+00 +3829 -3.1845809347309162e-01 1.3772881404815460e+00 -2.4531440717453439e+00 +724 8.5127491671315503e-01 3.3329581807633781e+00 2.5971801013498168e+00 +558 -3.3205191515468269e-01 -1.4094148037790826e+00 4.9323603505296107e+00 +688 -9.7498380935881335e-01 -4.2120139911219212e+00 -2.1546692166327022e-01 +743 -3.7186051061487158e-01 3.4317510044041661e+00 1.2088406023432055e-01 +957 -2.0307954925065781e+00 -1.0433201418771768e+01 4.1179371571831300e+00 +514 1.2036565522033331e+00 6.0282167449962420e-01 1.0484940307487214e+00 +11 1.2096871447266972e+00 6.6794523079723769e+00 3.2340680200454480e-01 +332 5.6779886194836999e+00 -2.6935994327519226e+00 1.7566754988035091e-01 +415 2.9737369581203783e+00 -5.6135305935172619e+00 2.5737247475181757e+00 +68 -3.7769055191163963e+00 -7.6765572729688855e-02 -4.6017289973642681e+00 +879 -5.1931425777587208e+00 4.8754385376028795e+00 -4.0541659065289597e+00 +699 -2.7401147389332570e+00 2.5083672506841146e+00 -4.1508751225647655e+00 +906 -1.2751166584691631e+00 -2.5453321764910060e+00 -1.7796491418818183e+00 +1713 -4.5010798601122932e+00 4.5151319708492663e-02 -2.8507393668679692e-01 +3198 4.0438850123090795e+00 -4.1309851832060041e+00 -3.6653738908089091e+00 +1283 3.0763463315509734e+00 -1.5702024690371443e+00 -4.7348689131766825e-01 +1746 -2.4840282577528350e+00 5.0429896505137730e+00 -3.8794412527414632e+00 +183 3.4301042645816433e+00 -8.1033927375547501e-02 -5.7590241964888849e+00 +555 5.8405845433344012e+00 -5.6832203714287592e+00 -2.5844712903713054e+00 +140 -3.1951379222698244e+00 -4.2372545853078805e+00 5.5998678503402184e+00 +3133 -7.1076952458331788e-01 -3.0738092116266373e+00 -1.5353216650795924e+00 +748 -8.0234900691055611e-01 6.3464520989385313e+00 5.4440961680681710e-01 +459 -1.3184395145072036e+00 -1.2564634028148698e+00 -1.2634226200351941e+00 +816 5.1764699245403660e+00 1.1379660417569097e+00 -4.2884276823444623e-01 +679 -1.1241201720082505e+00 3.7237970888370890e+00 -6.5566599412092041e-01 +208 -2.2871972681871950e+00 -7.6320484507949193e-01 -5.4381283062778287e+00 +1250 -1.8590627216614515e+00 1.7634174219139243e+00 1.1860179764780605e+00 +542 2.5009638385132869e+00 2.9518363144499178e+00 -1.9572635839740939e+00 +5 7.5507036136705163e-01 1.3775507611600144e+00 1.0438857253279761e+00 +986 -2.9641915544623822e+00 -7.6424535863150733e-01 9.2092887172835458e-01 +1266 -6.6159154843733674e+00 5.0268749515205382e+00 -3.4924683068208000e-02 +321 -2.1661821738609133e+00 7.0396939265494325e+00 -1.1645060274197514e+00 +984 -6.5450908820906122e+00 1.5511061732721965e+00 2.7553037075054188e+00 +1361 -4.9345480421177275e+00 1.3597405546110528e+00 7.0059649929954713e+00 +27 -2.7896735422775953e+00 -1.0944599085551743e-01 2.0073048135317699e+00 +493 1.9105623277058710e+00 5.1610677072991376e+00 4.7945347448731006e+00 +197 2.0859362797860601e-01 -6.8309055526413165e-01 -2.7230470354184080e+00 +425 -2.4520393838129246e+00 -2.1684719020157486e+00 -2.7887978949346945e+00 +840 3.4630094851170141e+00 -4.9928074947419659e-01 4.7893041318889127e+00 +283 -6.1687531076586644e-01 2.4968488923788166e+00 -6.2109417753330365e-01 +967 -5.6859531054049395e+00 -5.7929631511040993e+00 -3.7813332960621460e-01 +882 3.9595598472557079e+00 5.8301121966143743e-01 -1.8520568565813227e+00 +56 6.7584910519248238e+00 2.7932293476169159e+00 -2.9278861129638725e+00 +360 8.5386386805715375e+00 1.7308317788748646e+00 2.5051074262506234e+00 +3219 6.0232719198149076e-01 -1.2591628064120834e+00 -1.2738670647347838e-01 +515 8.0321669728702645e+00 8.7381966866961545e+00 5.3957246615896859e-01 +1362 -2.4898502951807777e+00 -3.0833980382693840e+00 -2.7374397464388434e+00 +317 -1.0014588038102983e+00 -4.4128365629885531e+00 -7.9277226252094311e+00 +42 2.0504871464449868e+00 2.8644409089273433e+00 9.1077504081417204e-01 +578 -1.8449477899867242e+00 -4.5426762405222404e-01 4.3249196542908033e+00 +928 8.7124711620015685e+00 3.0508076928573171e+00 2.6268508485021207e+00 +131 -3.1916791399842048e+00 9.2719511913024499e-01 -5.5057020441086291e+00 +3084 -4.1569515350661606e+00 -4.2969744207279907e+00 6.3890623506665939e-02 +798 -5.5519062558869887e+00 -2.1929719946075479e+00 1.2151038875495648e-01 +152 -1.9208045394818746e-01 6.0910874394324277e-01 -2.6577780055226463e+00 +342 2.4876834246409780e+00 -3.3932176733307537e+00 -4.9232183850686848e+00 +654 6.6304620580261462e+00 1.7958758888452020e+00 4.8606800422558329e+00 +722 -1.1504893902826203e+00 -1.5717004219351567e+00 -2.4346588035372316e+00 +1249 -8.7385668515257180e+00 1.2935054697077863e+00 -2.0165968407403170e-02 +617 -5.0507799914925078e-01 -1.1171557086793840e+00 2.5901801526584700e-01 +76 6.2580882589649152e+00 -8.5071033305233978e-01 -3.0096781387158267e-01 +694 4.7530652424511177e-01 -1.2084614724991150e+00 4.8083866128166157e+00 +96 -2.9846985569193167e+00 8.2312828049823006e-01 -2.0170918653626329e+00 +227 -1.4666989309565803e-01 5.4713383067717354e+00 -6.7925820127779808e+00 +329 9.2824377744808562e+00 -3.1795335047758684e+00 4.6486926813113694e-01 +1186 1.8040114476084681e+00 3.5459232652207642e+00 6.6231208890203623e+00 +476 3.2199615269467605e+00 6.8925852432826993e+00 -9.6037665710581610e+00 +279 -1.9384504426860114e+00 1.6663207021554174e+00 8.4825541591879432e+00 +575 -1.8012552513922975e+00 2.4639126113444787e+00 1.7478058590460779e-01 +1005 -6.5029016347271975e+00 4.4850875608029490e+00 -1.7741372934713475e+00 +115 2.1523150200313576e-01 2.8508224990672537e+00 -6.6067168088036379e+00 +709 2.6414934340129337e+00 -3.1519817893155794e-01 4.1940700831510709e+00 +590 -1.9414561613652792e+00 -4.6432604256571590e+00 -5.4413113775012047e-02 +1426 1.9044689310802287e+00 -2.9383770944160483e+00 -4.2619399795534800e+00 +488 -8.3907744783235438e-01 -3.7558130619546071e+00 -3.2475935359373431e+00 +625 2.1416413028022787e+00 -5.1042787845954578e+00 -4.4494576677452944e+00 +213 2.4410576817472465e+00 1.8030567403648781e+00 -1.8674464096933563e+00 +735 3.7915988578658899e+00 1.0414192294469016e-01 -4.3817940555896326e+00 +265 -4.7810338173990452e+00 -1.8524772879002624e+00 1.7050129191374910e+00 +391 4.5286249954339235e+00 6.9839964040196734e-01 -3.3062009685133003e+00 +999 -2.8933454887842975e+00 -3.7465398982906661e+00 -1.2560405359327904e+00 +598 1.7987748173502857e-01 7.9414412253967914e-01 -2.8781418046458445e+00 +453 -4.7255104422703056e+00 5.0942212906118611e-02 4.3691350551940076e+00 +287 4.0845007648110245e+00 1.9869797768422564e+00 -2.5806001298015722e+00 +119 -6.6179710732126446e-02 -2.6704083054674355e+00 2.6670475123254413e+00 +538 -1.8322398241217808e+00 5.1923317316741646e-01 3.0874241070009352e+00 +554 1.4080700563744639e+00 -4.3425013081696626e+00 2.7590695730258710e+00 +1427 -5.9812220040257857e+00 5.3416410520574749e+00 3.0629940213417508e+00 +4060 -1.2972150927009380e+00 -5.7906253982650124e+00 -1.6614252903096776e+00 +636 -2.5029315150360548e-01 4.3587413541036568e+00 6.6395760808086779e+00 +714 1.9089589732111947e+00 -5.4720196647148480e+00 -4.6602825440690254e-01 +1377 -7.5605857103717722e-01 -4.5710314817861049e+00 9.9500526864184611e+00 +125 2.5195760824914442e+00 1.1594897188524573e+00 -3.4834225515388639e+00 +431 3.3506520459991993e+00 -4.9436424848690080e-01 2.6342786463722687e+00 +40 4.4637966448059130e+00 -7.1423679562285924e-01 -2.0449009107051972e+00 +885 8.3156212789790163e-01 -2.9517939418919679e+00 -2.8730195320911839e-01 +669 4.2906997698899090e-03 6.2636425957151554e+00 -4.0248796294958069e+00 +468 -4.5946442152573752e+00 6.9896477074419405e-01 3.4069904032378777e+00 +47 -1.1161799297024508e+00 -3.5273348070625441e+00 -3.8733246289597472e+00 +650 -3.3632774509713532e-02 2.4358282402688900e+00 3.2469960623335301e+00 +211 -6.3959876769277735e-01 -1.9200866876587792e+00 -7.5613769460813076e+00 +1986 1.1049021045823360e+00 5.8659411134218837e+00 8.2732736652995076e+00 +386 -1.0495276103052642e+00 -1.5298425975871568e+00 -2.5615745429088865e+00 +728 4.7949875242669080e+00 -7.8109089338469040e-01 3.2699614993790277e-01 +1458 1.1278693166283584e+00 -6.7055625210967540e-01 1.8125601231434307e+00 +412 1.9521777582595274e+00 2.2339924273704361e+00 2.7034280263653159e+00 +751 1.2742113483298279e+00 5.5906691084606850e+00 -5.0240564230732341e+00 +1714 2.1303713706489078e+00 3.3515147249919290e+00 1.9687067126884168e+00 +166 -1.7249752875852509e+00 -2.6589898257890647e+00 8.6292330694235186e-01 +67 2.1026624049325313e-01 3.5410353197315110e+00 2.2054818711863762e+00 +692 1.4494635619839018e+00 5.8351202217390190e+00 3.1484038546568827e+00 +151 -3.6895693842451233e-01 -2.0989344815481030e+00 3.5342142807885297e+00 +1124 -1.1633954830501425e+00 -3.0985463893854388e+00 -8.2886270313667831e-01 +1315 6.3551689905960274e+00 -2.1767829743379825e+00 2.4786405604840138e+00 +935 3.8904389929005072e+00 -4.7812753318448458e+00 -1.1141838167910330e+00 +1105 -1.2628198967007052e+00 -5.8367742106123917e+00 1.8900032684855002e+00 +446 1.1089185918889397e+00 -4.5786885772310804e-01 -2.9459553127085279e-02 +3868 -8.4291172738223674e-01 -7.5536336272299627e+00 6.9556130667878435e-01 +3276 -9.5434677980870031e-01 8.2304054243246949e-01 -4.1300828207439094e-01 +434 -2.2095318537796658e+00 6.2793442477860788e+00 7.6182146509894566e-01 +1443 3.8600343507395509e+00 4.3170223792917097e+00 -1.4724913673194044e+00 +3922 3.9000373414071987e+00 9.3774954962893222e+00 3.3376066558564763e+00 +926 2.5427947681750784e+00 7.4445567881964603e-02 -2.5270461676502451e+00 +298 5.3766873180158803e-01 -1.3666948393317446e+00 3.6627328248101931e+00 +3448 3.5777150504598985e+00 1.8825265272073545e-02 5.8839922595174698e+00 +1043 -3.5471702087757118e+00 1.1827554327499450e+00 5.1639220076204717e+00 +1033 6.1738281918879965e+00 1.5290765801194513e-03 -1.7139848215081290e+00 +1927 9.4939901520939063e-01 -1.7781810346658364e+00 -2.5093193865509678e-01 +1799 -7.3760254538031234e+00 -1.1371348175107938e+00 5.8177478577152753e-01 +1029 6.4235009901801448e+00 5.9667514182468917e-01 2.0819522895177522e+00 +1511 4.2033802184721152e+00 -3.3199938987801674e+00 -5.0869587496631548e+00 +1510 -3.6568050541481578e+00 2.8451027015855213e-01 -4.7188634613626048e+00 +1509 -6.4650838290409665e+00 2.6465553497631840e+00 -1.4335786488183114e-01 +1508 -6.8203835278708151e+00 6.7299129632996824e-01 3.4632224709750110e+00 +1507 1.3117934523283798e+00 -2.7043507210068696e+00 8.7086203692911301e-01 +1506 -2.3066256311616793e+00 2.8576557463252130e+00 3.8958651957052419e+00 +1496 -1.9186377288171244e-01 -2.2074328724192336e+00 -3.8447985855073905e+00 +1495 1.4694215665407029e+00 3.5499688928606608e+00 -2.9395430905750879e+00 +1494 2.0810694880294047e+00 -6.6336806338030359e+00 -4.8974717488137476e-01 +1493 6.4416887352930630e+00 2.4849766849427368e+00 -1.3297782026479077e-01 +1492 -2.6065041754409540e-01 3.8467001679989119e+00 1.6944188390736565e+00 +1923 -3.7367535618033259e+00 2.1725435634949477e+00 -2.3205256761702833e+00 +1425 -6.5750377219201841e+00 -5.8723742365496907e+00 -7.4429754343098842e-01 +1842 1.6371629998001467e+00 1.5315280635951050e+00 4.2261245866259953e+00 +1522 3.7481868988614160e+00 8.2818888488624798e-01 5.8765588096014475e-02 +148 1.1782107749796269e+00 -4.9961605968870559e+00 -1.2760861815887630e+00 +1797 -2.6231625503686056e+00 1.9124852177269704e+00 -1.7303402310422603e-01 +1480 1.4019317263149222e+00 2.8731617134683951e+00 -4.3766404781617387e+00 +1524 -3.3469610406942043e+00 1.8974901823900092e-01 2.3458388972635227e+00 +1478 -3.3555550476419156e+00 -7.5469456433788407e-01 2.3140473174375336e+00 +1525 1.3133093392432766e+00 -1.8968345916530691e+00 7.9406512343631945e+00 +1476 -1.2324793859262000e+00 -1.4610433267996223e+00 -2.7739824560768223e+00 +929 2.2918549328753990e+00 -6.3074789006036958e-01 3.9199515167391823e+00 +1465 -2.2510577066302706e+00 -5.0712499773953768e-01 2.3493189675201509e+00 +1464 -2.1737719837577578e+00 2.8339366492770939e+00 8.9252072584060393e-01 +1463 -3.3382787358021639e+00 -4.0846612705246016e-01 -4.5886722392847581e+00 +1462 -1.8507312211316991e+00 -4.2128007765027116e+00 -7.0861615298025660e-01 +1461 1.5680227461714529e+00 6.3289412434090597e-01 -2.7409552139307949e+00 +1460 -2.1176227258402855e+00 -2.9325434597389419e+00 4.0368198566888683e-02 +1459 1.7059762883393044e+00 5.7527767210175940e+00 3.0074532808605137e-01 +49 2.7352148851277289e+00 2.1362095981142573e+00 8.5198243960862485e-01 +1449 -5.9360694557047502e+00 4.1662337730391448e+00 2.9613599420603718e+00 +1448 2.9090216353920590e+00 3.6646184193845626e+00 -1.2180660167921809e+01 +1447 -4.7331267546674463e+00 -1.1529616773505535e+00 8.8375315608263261e+00 +1446 -3.8383305932045908e+00 -4.6089006033939475e+00 -2.7713246949689001e+00 +1445 -7.7946676717483387e-01 6.4114270231189279e+00 -1.3118790794358239e+00 +1444 3.8361888775669488e+00 2.1440991507919116e+00 2.2677113076756532e+00 +244 1.1702153534974953e+00 5.6833221224114283e-01 -1.6272549448543852e+00 +6 -2.1844364934353395e+00 4.6636944889553584e+00 9.8978947997502136e+00 +1433 2.2500877217631552e+00 1.4074510019747961e+00 1.6224655414100853e+00 +1432 4.9305873922608807e+00 -7.0025196614259921e-01 -1.7292539127189317e+00 +1431 -2.5367992542966249e+00 2.0230879637088584e+00 8.8633479974867102e-01 +1430 -4.3375789630230921e+00 2.5346339510070131e+00 -3.1295280130467273e+00 +1429 -1.4648760337115296e+00 1.3557047973795515e+00 4.3622758807819499e+00 +338 -9.4675301550835371e+00 2.7010483728330686e-01 -4.2909012567678977e-02 +1650 9.7505142280303192e-01 -1.1469355810583723e+00 -2.6178387101009939e+00 +1394 2.6032529882634856e+00 1.3548464291853457e+00 -5.8832080198826231e-01 +255 -4.0669685982845092e+00 2.5016885459382179e+00 8.1676649834385699e+00 +1526 3.2361787741779029e+00 -2.9785775625643081e+00 3.4599232013437903e-01 +1527 -7.3766849870514595e-01 2.3805491328881492e+00 -3.6415754675589884e+00 +1528 -1.5470125271170845e+00 3.5583939023349104e-01 -9.1855032601350972e-01 +1416 2.0766078731932880e+00 3.0330566068105389e+00 -2.8048758933479703e+00 +1414 1.3994649976795719e+00 -3.2145860960852430e+00 -2.8829498157287099e+00 +1412 -6.2411674450042243e-01 -3.8990337164918882e+00 1.6195642154111980e+00 +1505 1.7425954057717112e+00 2.5412862149292912e+00 -1.7103739391785335e+00 +80 3.1605865453343482e+00 -1.6277138108549329e+00 -1.3059148142387709e+00 +1401 4.1284670577305871e+00 -3.0540045404338687e+00 7.3299350023322962e-01 +1400 1.4706672801012313e+00 3.9816840017153421e+00 -1.6971881977841012e+00 +1399 4.5837608129745009e+00 -6.6382753333032216e+00 3.8119182427485274e+00 +1398 6.2138646838331280e+00 3.7513528015682436e+00 -1.3729716564826184e+00 +1397 1.2589300631919928e-03 2.4368851929612634e-01 -6.1761150036136856e+00 +1396 -4.5554452283841605e-03 -9.1006334603296435e-01 -2.4349149513344477e+00 +680 2.0239287114799254e+00 -5.8047222097885931e-01 7.1147212937147657e+00 +1667 4.2984966425627782e+00 1.7120415747683573e+00 3.2827784421684530e-01 +1385 5.6828782230065400e+00 -1.5183471986410182e+00 1.1291520959067849e+00 +1384 -2.8593667100592723e+00 2.0551501612812126e+00 1.1633647464406578e+00 +1383 -5.7352430437792341e+00 3.4744107830616229e+00 2.8217077421772587e+00 +1382 -7.3195052408797645e+00 3.5597653875279742e+00 -8.7449447786801715e-01 +1381 -3.0344548421751165e+00 1.5905390638854688e+00 -3.1477968471869628e+00 +1380 -6.9619965401111716e-01 -1.4559037450324688e+00 1.2498318641909432e+00 +1379 -4.4540862754439834e+00 -1.4816970232277158e+00 -2.4738851999426215e-01 +1345 5.6770706612720048e+00 1.6656412455991139e+00 -2.8646559698738141e+00 +2018 7.1728477061839486e+00 -6.6979190882841575e+00 -1.6384718770564588e+00 +1369 3.4701493697397465e+00 -5.6735382735711559e-01 -5.5738199393245607e+00 +1368 4.6852265161200570e+00 1.6560011338438929e+00 -1.5171707135331012e+00 +1367 -1.3625195600251612e+00 -5.6237536679347073e+00 -6.3884436188705509e+00 +1366 7.1366548261156719e+00 -2.5820301065024349e+00 -4.1372563484575089e+00 +1365 5.7470957644724618e-01 -1.0515922943043921e+00 6.3704154460267945e+00 +1122 -7.5446319165086413e+00 -7.5635189566406646e-01 -4.0666038392129145e-01 +1363 -1.1455378295380299e+00 2.1872930530049142e+00 -2.5639948509578594e+00 +1346 -1.2202208309266703e-01 -1.4543533719285560e+00 4.6148868070518549e+00 +1352 -3.3263133033516112e+00 -9.8612970292899571e-01 -1.8589092211914804e+00 +1350 -4.3275041554992768e+00 -4.4410718386859049e-01 -1.2798239688420106e+00 +1512 -9.9279753146710958e-01 1.0076799145673179e+00 -9.0013169799301962e-01 +1348 -4.3624967811485176e+00 -5.5864231873158925e+00 1.0104266697179591e+00 +1153 -3.6949189428628952e+00 6.3848374020191756e-01 3.2371764671595713e+00 +1543 -7.8686258110349891e+00 -1.6927658778535914e-01 -7.1040953245940630e-01 +1336 -4.2460104626682860e+00 -1.5522571407987646e+00 7.8823913269129839e+00 +1513 -6.6667367593736362e+00 -1.6519036920521033e+00 -5.4942357068611738e+00 +1334 -1.0416296428027505e+00 -2.0964577178706456e+00 1.0169249907546201e+00 +1063 3.4538256836363512e-01 2.2317782195473321e+00 -5.2217187227629323e+00 +1332 -1.1282826030452836e-01 -1.1344762143126315e+00 -6.0575633873069301e-01 +1330 4.1164888801072657e+00 -1.6533291371369160e-01 -1.2051287867004223e+00 +1320 -3.9169216012529060e+00 7.7281773126442754e+00 4.9488731746434294e+00 +1318 -1.9144034776001209e+00 -6.9117202119568546e+00 -2.3598853884862558e+00 +1349 -4.3166472205630821e+00 4.3378415970057986e+00 4.4961414536938040e+00 +1316 -4.6084037970710119e+00 7.3580949447287782e+00 1.0297279792803475e-01 +1314 -5.0393821738539808e+00 1.1044649295699098e+00 -2.3755307361278302e+00 +1047 3.8904379436047241e+00 1.3733383867770712e+00 1.8409119372711487e+00 +1987 9.7415633247075528e-01 3.8718625321341369e+00 6.1073727376515494e+00 +1479 7.6784740624678841e-02 -2.1016761930451140e+00 -5.2354213188064476e+00 +1304 2.0816126078749266e+00 -2.8233903931624780e+00 -2.1208518294368544e+00 +1989 -1.6386247764842413e-01 -4.4521883301257903e+00 4.5044728548974913e+00 +1302 -3.8225864834496419e+00 -1.4482745736407905e+00 2.5036568488722408e+00 +1300 1.0726238109659012e+00 -1.0398545801119272e+00 8.0949093278694473e-01 +1049 -1.3274427130265511e+00 3.7527862506670786e+00 2.1333569922676352e+00 +998 1.0736225751539523e+00 7.1941855027427950e+00 5.7421685548399175e+00 +1285 4.8327200602795528e-01 -8.1399321201753203e+00 -3.7564867852016661e+00 +1415 -1.2494906283889826e+00 2.3198923931733741e+00 3.2303099783817442e+00 +1351 6.1843616345322838e-01 -2.4563783840173912e+00 -3.2648882521145756e-01 +1288 1.5898305495150156e+00 -7.1790794907747013e-01 1.1944328886515676e+00 +1286 -5.5872731952606025e-01 2.0170765863028706e+00 3.0919203371120396e+00 +1284 -2.2377700175832600e+00 -2.0507999398229253e+00 3.2558223163278095e+00 +1233 1.5884555246779846e+00 -9.2164860809861959e-01 9.5110724362035992e-01 +1413 -1.6248607727746314e+00 -7.9695322604512009e-01 -5.3459551600803117e+00 +1925 2.7770470876070092e+00 -3.6164030441135711e+00 7.0274981728570718e-01 +1027 -2.3051123192485372e+00 -4.1543202024438353e+00 -6.1951553201982579e-01 +463 -3.9187735694153840e+00 -2.7815337049209345e+00 1.5136371266884012e+00 +1411 5.1878503301379739e+00 8.2434663140401390e-02 2.2231020190018196e+00 +1477 3.7161478803780024e+00 -1.1797248582294977e+00 -7.9228695216744898e+00 +1555 -2.2570176032073173e+00 9.0098490340682777e-02 -9.5301289572864256e+00 +1794 2.5199909816931281e+00 -2.2541498997354781e+00 -3.3150805312850244e+00 +1796 9.7798385689279832e-01 -1.7878961715893364e+00 2.8716466469658664e+00 +1798 5.1109484369454998e+00 1.5858908384218160e+00 2.7035109885331718e+00 +1800 9.0186463494494240e-01 -4.9577121699467313e+00 2.4059699313083689e+00 +58 -1.5942149367645599e+00 1.3114343781316826e+00 2.7868371477650431e+00 +1863 4.8012580699534935e+00 -4.7583809788188587e+00 -8.9849139561826306e+00 +961 -2.5778553369247423e+00 -6.8960061676632414e+00 2.2247455341491693e+00 +1587 1.0565051851684619e-01 9.1190747605447586e-01 3.3895716970016481e+00 +1814 -8.7201756260989960e+00 1.1042248856960131e+00 -1.0998305115689095e-02 +1816 3.8117533917456679e+00 3.6710082467258611e+00 -1.5835833265425263e+00 +1813 6.1037527336737493e-02 4.6758073564766702e+00 6.8504343737626936e+00 +1777 -2.2968405795056777e+00 -4.9341680772982288e+00 5.0128896720590124e+00 +1826 -6.7166350087467186e-01 7.7344071632935822e+00 -5.9089059202096095e-01 +1828 1.5986340468711540e+00 5.2417652157105123e-02 7.4825192267169036e-02 +1993 -2.4512962595628678e+00 4.6541262990262056e-01 3.5963505176711591e-01 +1830 -3.2374447985962989e+00 -1.3724279066845244e+00 6.9750314474900255e-01 +1832 -1.4516986273155157e+00 -8.0384904411734937e-01 -3.9071267059108798e+00 +1845 -6.7708325136244936e+00 5.0287844239530086e+00 -7.6607480420269647e-01 +78 -1.8665744722627273e+00 3.5364254104546511e+00 3.8863693446622087e+00 +1844 6.4974272456098470e-01 -4.8557230705474366e+00 3.3511566483706994e+00 +1846 -1.1125929542825812e+00 9.4392479262450468e-01 -1.0670938991104677e+00 +1848 4.5049137084655699e+00 -3.6657200110364361e+00 3.5423022679462774e+00 +61 -5.6195690344615501e-01 1.3992812596721622e+00 1.0614542636257878e+00 +1858 9.5036934450289845e-01 -5.9779457779706247e-01 -2.7232356696789113e+00 +1860 5.3052049837201167e+00 2.5524306756741457e+00 -4.6496535852022784e+00 +1862 -5.2255689406253660e+00 -1.0634524475454037e+00 5.7688971938137499e+00 +1864 2.1203930356940863e+00 -8.5226610693563021e-01 6.1956984648078643e+00 +2041 -1.4585225843445855e+00 2.7308241733472123e+00 -4.2247153436140232e+00 +156 1.9102442359917986e+00 -3.8032248406767226e+00 4.2922874691119270e+00 +2040 -5.3068882049073709e+00 -4.3342572818377828e-01 -7.5630805661614486e-01 +1874 -3.6002586513245394e-01 2.8024757806897713e+00 -4.5323624264486355e+00 +1875 4.8401067871149177e+00 4.1876839676013358e+00 -2.1877973548657459e+00 +1876 1.8836706214000662e-01 1.6038227812606909e+00 1.8080649162290543e+00 +1877 -2.1183654157116985e-01 4.1347786074271307e+00 -3.3352965880133763e+00 +1878 -5.4555278345205926e-01 -3.7475970216232235e+00 7.1005324857791425e+00 +1879 4.9528450217290260e-01 -2.0722796657723870e+00 6.7691388720255983e+00 +1880 -4.5702788095228293e+00 1.0205177202721540e+00 7.0063923566350637e+00 +1881 1.5819804409467724e+00 -7.2524420907615184e-01 5.8109555739690288e-01 +1890 -3.0048017516757271e+00 1.9021274969882094e+00 -7.3746480462927244e-01 +1891 7.4385732746140645e-02 3.4148063489134878e-01 4.0950236400425108e+00 +1892 3.0162684072002994e+00 7.5868626252461322e+00 2.3490231856408417e+00 +1893 3.0090367961783500e+00 2.8910421434522995e+00 -4.2619100640375933e+00 +1894 -2.7098314978950384e+00 -6.1293901481454443e+00 -6.6109588990335393e+00 +1895 7.7467885750132304e+00 2.7386477575333759e+00 3.2258057865538681e+00 +1896 1.5099644006882116e+00 3.0424677338597141e+00 2.2001333871571442e+00 +1897 1.5220885997184490e+00 3.3163034067083901e+00 -6.8917771111338881e+00 +1906 1.2835722234562692e+00 1.8622100050362873e+00 -4.2438665317506669e-01 +1907 -4.0962130984633847e+00 3.6685541510396026e-02 -1.0142741006946250e+00 +1908 -5.4293737335836489e+00 -6.3584486102179669e+00 -4.1388568725126884e+00 +1909 -4.4159031922026752e+00 1.4727124177585591e+00 3.7479183371334983e+00 +1910 5.3666487569531398e+00 -1.5910026699369273e+00 8.1339680857962537e-01 +1911 2.0541463701924195e-01 -4.3656851715651168e+00 -5.9289660424877777e-01 +1912 -9.5142622659489327e+00 2.7416504411100706e+00 2.8969930534520509e+00 +1913 -8.1370454142763082e-01 -7.6875690604111204e+00 -2.4580672899327243e+00 +2025 -2.4326759045409454e+00 -2.4416771020776542e+00 2.4214250235097183e+00 +1812 -8.7391778029126244e-01 -2.8817616745543617e+00 7.4206755271447982e+00 +1924 -4.0737492062676750e-01 -6.1999400230383328e+00 1.1173313283157511e+00 +2024 9.4397293448502573e-01 2.6694497753166759e+00 3.9783195736432204e+00 +1926 -7.5052673820611995e-02 5.8547303915712501e+00 1.6001768317213164e-01 +2039 -8.1047149413917430e-01 -8.7327629272002465e+00 2.6096293247060722e+00 +1928 -5.2181191404923473e+00 -1.4958266352772143e+00 3.7463893589179533e+00 +1475 5.2740391887370315e+00 -6.9696049616585869e+00 -5.3613727917956995e+00 +2023 -1.0221510183513254e+00 -1.6178328204005838e+00 1.8129540808208029e+00 +2038 -1.4199058302125614e-01 2.6000427827693371e+00 1.8705643367994012e+00 +1169 1.1498505729487469e+00 9.9751985353824668e-01 1.8592201599624409e+00 +1939 -4.1758590538702309e+00 7.2067351142216218e-01 4.5996257855342746e+00 +1940 -2.8421105307512418e-01 -4.2304742039451559e+00 3.2871428543864174e+00 +1941 5.3875192148902764e+00 -6.2557680335861066e-01 6.8435780350055833e+00 +1942 -2.0407113714546066e-01 -4.0257893256274446e+00 -1.8212883398053248e+00 +1943 -1.2436873165658875e+00 3.7371293775108367e+00 -3.2755280945236169e+00 +1944 4.9869003184489022e+00 -2.0130151997182337e+00 -2.3992031044023876e+00 +1945 4.5571173879955520e+00 -7.1513428899260250e+00 -2.3583421131493236e+00 +1954 5.2127342246498403e+00 2.0934944997730414e+00 -3.4951814525116656e+00 +1955 3.9084672810641865e+00 -3.4628673163062587e+00 -1.1625911176880290e+00 +1956 -1.4043083550311746e+00 9.1082432487188513e-03 -2.6958707998968108e+00 +1957 9.4687939223752871e+00 -9.6211218110976171e-01 7.6542662475084651e+00 +1958 -2.2047069095538063e+00 -1.1176304653654471e+01 -3.0250637443144651e-01 +1959 5.4588100413439156e+00 -2.9734280890089249e+00 -2.4915614902759127e+00 +1960 8.6105484233100049e-01 -2.1291668598985578e+00 1.5207417735564932e+00 +1473 -2.4981751325425847e+00 -2.8498716372084849e+00 -6.0206068313127172e+00 +1971 -1.8343372198785854e+00 -6.2647601866841063e+00 3.8545227418840624e+00 +1972 -6.6067990655008346e-01 -1.2965071990721722e+00 4.5432825183914138e-01 +1973 3.0557015190214742e+00 -5.4460946998739397e+00 1.6394342102678119e+00 +1974 3.2787076457675415e+00 -1.8484123157485560e-01 1.0074967684803624e+00 +1975 -2.4979392435620928e+00 -5.9706460816390932e+00 3.6816200929719889e+00 +1976 -1.9212989459339291e-01 -7.9791587617204185e-01 -1.2254135380234847e+00 +1977 -5.9403317646001721e+00 3.9474319584274711e+00 -4.0571778831698362e+00 +2037 3.8945946816347625e+00 6.8368909970257814e+00 5.2109284846573134e+00 +214 1.1237458991567693e+00 -6.7800205192475538e+00 9.0455167767983424e-01 +2022 1.4999899542890689e+00 -3.5611524168791240e+00 1.5683511949659574e+00 +1988 2.1689848724954501e+00 -2.7572670971592235e+00 -3.6670581073390682e+00 +2036 -9.6350950316243933e-01 4.2761201947166221e+00 -5.6417221235965007e+00 +1990 -3.8655132141273469e+00 4.0023471915386288e+00 -5.7047212827114482e+00 +1992 -3.0762193690923652e+00 1.7895213912773358e-01 -6.6595051318482035e-01 +1618 3.5372149262516950e+00 -3.9176129239054349e+00 -3.0975422214715667e+00 +1698 -5.8637730647050006e+00 1.3438415298495934e+00 2.5057745421369333e+00 +1859 -3.7626368150457572e+00 3.0308140029353852e+00 4.1636764028485533e+00 +2002 2.5858568620910067e+00 -6.3271976167358912e-01 -6.9026509377809075e-01 +2003 5.2761765716218143e+00 -6.0588792008803072e-01 7.2793692562225665e-01 +2004 -2.0193741320286978e+00 3.9933125801130469e+00 2.1502847743241569e+00 +2005 3.5990447138057506e+00 2.2002016659495123e+00 6.9541303992012100e+00 +2006 -5.0521266720725801e+00 -6.8007771953165985e+00 4.2727220692232173e+00 +2007 -2.4640577036615219e+00 -3.2065678766474903e-01 -1.8087884805985954e+00 +2008 -1.6445748678961307e+00 1.2276883253985134e+00 -4.1698324396633826e+00 +123 7.0640127204183649e+00 -9.1654227350631101e-01 -4.0851167294691511e+00 +2019 -1.0183854050786543e+00 1.7384474314205873e+00 -2.2564438001439804e+00 +2020 -3.0717372579688433e+00 -4.5488805717834406e+00 -6.2534214135747233e+00 +2021 4.2142836765554206e+00 3.8700034085473978e+00 8.5152658044263285e-01 +1353 1.9527185622585943e+00 1.9494930814818008e+00 1.7451703582650273e+00 +1589 -1.5481606978439393e+00 1.1743701568955294e+00 -1.3441650301836023e+00 +1559 -1.4226750946660025e+00 -9.2813098559713758e-01 -3.3235220480130601e-01 +1815 1.6481134822304309e+00 -5.7114295607830899e-02 5.4447597325718278e-01 +1575 1.1747015660416993e+00 -2.7151172361541547e+00 -2.8691325530659468e+00 +1829 -1.2086298099363189e+00 1.2865119744723619e+00 5.5920834846341680e+00 +1539 6.1208329463979156e+00 1.5712696591525727e-01 -1.0464981565037050e+01 +1861 -3.7297137748959965e+00 -2.1001605058902291e+00 1.3274530024355682e-01 +1991 -2.2939345111532927e+00 6.0191043418721533e+00 -2.0729957847907654e+00 +1795 -2.5889647444740587e+00 2.0217991072638601e+00 4.9109072119303283e+00 +1538 1.3654350855762245e+00 -8.6192226255283277e-01 -4.7332919447469965e+00 +1811 4.5664826583075513e+00 -2.9022654405411865e+00 -3.1090090359812610e+00 +1540 2.4768415523158152e+00 5.2336945085916642e-01 5.7680747460915160e-01 +247 -4.9983001653988905e+00 2.8151805065895288e+00 2.2793934132536588e-02 +1542 6.6076220973585320e-01 9.0623624053396112e-01 -7.6293976741225737e+00 +1305 2.4414340247734878e+00 -9.6603129993746806e-01 -2.3675837992818622e+00 +1544 6.0069472045050698e-01 -1.6216365777481440e-01 -2.1175166118319391e+00 +1045 -2.4979656892974549e+00 -1.1578887370023963e+00 2.2829391688360525e+00 +1301 2.9486707714778110e-01 -2.9363837770636145e+00 -1.0340606532824994e+01 +1335 1.3992718471039525e-01 1.2281585875341852e+00 9.1579082648791921e-01 +1303 -4.8643179708271073e-01 -1.9139322894516642e+00 6.4736520352430393e-01 +1057 -2.9140471094767824e+00 -7.7887491444725176e-01 9.2978626004037324e-01 +1223 1.1037495178101093e+00 5.2761235758567038e-01 5.9378040067672211e-01 +1321 2.9647363264085782e+00 -6.3033221949875342e+00 -5.5207560635257469e+00 +1059 -2.5711297299847273e+00 1.5689792769148672e+00 1.5441559536779720e-01 +1545 7.3520964152499024e-01 -2.2871500590765494e+00 5.4852449348896366e+00 +1671 1.0287336583486766e+00 9.8688600026548101e-01 -2.0386438932818951e+00 +1252 1.8190575413618002e+00 3.3679504128300923e+00 -3.5252810999867885e-02 +1985 2.6018523382560215e+00 -4.6460302728300804e-02 8.6420636440612375e-01 +357 5.1355905124375634e-01 6.8954600270407189e+00 -1.6547320653900208e+00 +1938 -6.0467614551920290e-01 -4.1007672845114884e+00 8.1281441118080693e+00 +1241 -2.9964945533680947e+00 3.6862364396015090e-01 2.8892323788078347e+00 +1240 1.7592267323156203e+00 -5.9926048522566866e+00 -3.0163811393207483e+00 +1239 -6.5351823828990305e+00 -8.3370931473724197e-01 -5.8226253765951128e+00 +1238 1.3662953065238477e+00 -2.8043260580826361e+00 1.3450909087705605e+00 +2033 4.5947034651600056e+00 -5.0212466168648664e+00 7.0595168284191550e+00 +1817 5.5507948975034438e+00 3.7094457093871580e+00 -2.7228224059641111e+00 +1410 -4.7116156233956374e+00 -2.7392678496372431e+00 -5.5122319864109837e-01 +1541 -5.1998532250540599e+00 -9.6343911239224074e+00 -3.0635751387795565e+00 +1593 -1.4547274898908531e+00 1.9670480115350302e+00 -1.6464742735155089e+00 +1609 -5.3512361396632464e+00 1.7433147079552103e+00 4.0012035835067811e-01 +1097 3.4100890920660918e+00 -1.2684715190942912e+00 1.9773000335988238e+00 +1161 6.1147964998759263e-01 1.5194347475625756e+00 2.4940226640584640e+00 +1571 2.6571790814602640e+00 -4.1404494791819761e+00 1.9209512188938147e+00 +1225 -4.2774878064480104e+00 4.8258151896402159e+00 -1.1132389271862444e+00 +1095 6.9679421628402887e+00 -8.8631155147910035e-01 6.0059111658737996e-01 +1733 6.8629861984652971e-02 2.6858696276117380e+00 -1.4464923874040090e+00 +1557 3.3447190892836148e-01 1.2066301942576943e-01 8.6759153313076398e-01 +921 -2.7774964114166152e+00 -2.8871904361750405e+00 -9.2023051089819807e-01 +223 -2.2460784808267700e-01 2.5017779513524901e-01 5.3546895371853251e+00 +1157 2.7582080479018583e+00 -8.0881080701849744e+00 1.2736149348733172e+00 +1847 2.1820218125391557e+00 -2.2066042015770790e+00 3.0983714811256693e+00 +1737 1.7134739449297276e+00 -4.7423360807632413e+00 -2.3892737747078403e+00 +1766 -3.1145079941319493e+00 -1.0374974078567232e+00 -2.0106436433594284e+00 +1765 -6.8178851440035029e+00 5.5883145887248773e+00 5.0159808672730355e+00 +1764 -2.1554582316703352e-01 -1.5061915894614302e+00 4.2154530092984226e+00 +1763 -3.6265863259591309e+00 1.7272332756747408e+00 -3.5919932271915238e+00 +525 -3.3457030052313641e+00 2.7209891173254923e+00 1.5474107904029395e+00 +1753 -1.1837293684149164e+00 1.4699386886996368e-01 5.8426177225137961e+00 +1752 -5.9996560139584618e+00 2.4145381340759342e+00 3.1914897921236951e-01 +1751 3.2029578964247265e+00 3.0711244888346410e+00 1.1546999875704620e+00 +1750 4.3929203676832218e+00 2.8028378789035999e+00 -3.7049713227993757e+00 +1749 1.1459302515306027e+00 -2.4385433808618213e+00 1.3184595172274829e+00 +1748 -1.3789912429291887e-01 -1.3339964596793332e+00 3.8010163841187850e-01 +1747 -2.0249477654130996e+00 -1.6804001094388091e-01 3.7422285493546958e-01 +474 -4.7907553370384628e+00 -7.9960813850329053e+00 -1.0689426166965637e+00 +1736 2.7134634280925547e+00 -4.9289170853630973e+00 -4.4403152580023414e-01 +1734 1.5280793227997875e+00 3.9946021504036022e-01 2.5265076918407772e+00 +1768 7.8109329613371488e+00 -1.5325567424221473e+00 -4.8652559265480386e+00 +1732 2.9126864648029511e+00 1.2959307163454012e+00 7.7028434609433436e+00 +592 -3.7807856516197647e+00 4.8315345564449927e+00 3.6051161912973537e+00 +1730 -5.8738542489986756e+00 -1.1097107356456102e+00 -2.9390673838599883e+00 +1769 -7.3832689685593345e-01 -2.4513812264287820e+00 2.5283098991286240e-01 +1721 -3.3542155871569768e+00 -1.7324588185271006e+00 -2.5282898347716459e-01 +1720 -9.4682454435211227e-01 3.6893685532712767e-01 1.1038144896754584e-01 +1719 -3.8572028544385737e+00 -4.2670731969504549e+00 2.4866025769215856e+00 +1718 2.0953197536496715e+00 -3.0402436516416653e+00 -2.8744547332357895e+00 +1717 3.4146817324936611e+00 -1.3064225584060540e+00 -1.7171702791437145e+00 +1716 5.8608369147672166e+00 1.3070461700098599e+00 3.7091441931979414e+00 +1715 -1.4729501829075278e+00 -9.5763976031274889e-01 -1.6585528630998405e+00 +1665 1.8809029364673384e+00 1.1976744684928513e+00 2.3590855669654189e+00 +608 -5.9627569198458286e+00 -4.4879635321478304e+00 3.5180821085949057e+00 +1705 -3.2929611904657818e+00 -1.2321308023906563e+00 -1.1196011736417590e+00 +1704 -5.9429061834742436e-01 -6.3899640542316618e+00 -1.2646639789722824e+00 +1703 3.9588132451575060e+00 2.5309177724994630e-01 -2.7303405018789593e+00 +1702 -1.2528571483511228e+00 -1.7842492911997740e+00 5.5938179982182556e-01 +1701 2.5510806472411400e+00 -3.2559819918133437e+00 3.3470806651477218e+00 +1700 3.9969909348944195e+00 -2.2240030830462056e+00 3.0006328833994194e+00 +1699 7.1422721151458797e+00 5.4284742314078454e+00 8.9091228246363352e-01 +1521 -5.8375334255045130e+00 -3.1451824309268046e+00 -4.2839341418911339e+00 +1689 2.9678941741723031e+00 -1.7768308958527146e+00 1.2356715529031785e+00 +1688 1.6081569020415898e+00 -8.1014708256883561e-01 -2.7049097413136765e+00 +1687 -6.5990857752518597e+00 -5.4244359189921152e+00 8.9942259888801566e+00 +1686 -4.1910976618108844e+00 -4.2437518080799732e+00 -2.0494583193852572e-01 +1685 2.9186553659912744e+00 -1.1076457119907765e-01 4.2492628113868680e-01 +1684 2.1469241600653666e+00 -3.6304401001164704e-01 6.0935048380191521e+00 +1683 -7.2023285261361689e+00 -3.7466686231832687e+00 -1.1401361270583998e+00 +2545 -3.3309373072334840e+00 6.4771301331235176e-01 -4.1666437214132648e+00 +1237 -1.3830901579445334e+00 -4.4924799533214266e+00 2.6362716653647804e+00 +2385 9.9447828657745352e-01 2.5018248100754357e+00 -5.6324188470922625e+00 +1779 -1.1856267949686397e+00 -2.4549535670833413e+00 4.7448296609503435e+00 +1780 -5.4454798209088597e+00 -1.1383427251860354e+00 5.7842765604596638e+00 +1781 -9.4373084569156163e-02 2.3642834871129925e+00 1.5772139633672984e+00 +1672 -1.1116700795396988e+00 2.0726003630657139e+00 2.0154358553256948e+00 +1782 -4.7869847406168171e+00 -3.6469671647905506e+00 1.0098694948148335e+00 +1670 5.1502160327442814e-01 2.1886548833634292e+00 -1.3722070277412752e+00 +1783 -1.8420814820928177e+00 7.9740338708887060e-01 -1.2260834523511586e+00 +1668 -2.8356113187381768e+00 1.2773680022274987e+00 2.1646420480326864e+00 +1784 9.7581882571313217e-01 -8.9462821011426275e-01 -1.2311879061785933e+00 +1666 4.9154700509374925e+00 -6.7819135156517063e-01 1.3129895690642779e+00 +1656 -6.0436950735461137e-01 -1.7750740037449459e+00 8.3141768951132877e-01 +1655 -4.1959155231151062e+00 1.5757989791869400e+00 1.1875195759705426e+00 +1654 5.1745780856806816e+00 -8.3452096004386855e-01 -9.4330930915887101e-01 +1653 -3.2384496059880612e+00 -1.3712296934088020e+00 -2.5865261161861683e+00 +1652 -1.1587336500745158e+00 2.6665298806274791e+00 -9.6716423371143456e+00 +1651 1.3829677653893799e+00 -1.4122778915857432e+00 -3.8881700974644301e-01 +876 -1.8175624604014904e+00 3.8629231323839733e-02 -1.7424208934656258e+00 +1641 -1.8318588207829531e+00 -2.8290799062191491e-01 2.1798439551814197e+00 +1640 2.7779708550412687e+00 3.8974163223348319e+00 6.9761941855568601e+00 +1639 6.4788349871707389e+00 3.0096694805711999e+00 -5.8532106530273742e+00 +1638 3.6843956707892032e+00 -2.0364679069685035e-01 -9.9676054456318877e+00 +1637 2.2204345677587085e+00 -1.7329989001735566e+00 4.8970741347273597e-02 +1636 4.4239244527197230e-01 -6.4339250953920208e+00 4.1895215162972876e+00 +1635 -8.8489090816285609e-01 1.6481980824144389e+00 5.7895509719431608e+00 +831 4.8831510141726833e+00 -1.5651449447691135e+00 -1.4398846252788253e+00 +1625 3.4347580617251156e-01 5.3788704154772174e-02 -8.7021245591142105e-02 +1236 -8.7727762268107252e+00 -1.5375350996162157e-01 1.2955025405441256e+00 +1624 -1.0215763312340620e+00 7.2345926631226543e-01 -3.3798103271910023e+00 +1623 5.8491589358713156e+00 2.7229014831828859e+00 1.4717117639610171e+00 +1622 1.5039753313363060e+00 3.9478146601511437e+00 3.9499003522354896e+00 +1621 -2.2647872606539017e+00 -3.3953967024990157e+00 3.5489075719381709e+00 +1620 -9.9989773283617944e-01 7.4925695920931430e+00 -3.3610282350982672e+00 +1235 1.2198667792932778e+00 2.1485065436802304e+00 -1.6590050981732132e+00 +1619 3.4804057548708709e+00 6.0701584285198225e+00 -9.6875614626393169e-01 +2017 -2.7608932584643942e+00 5.0944876163417261e+00 -7.1684745621133461e-01 +1608 2.3210421174171647e+00 4.6382614130349120e+00 2.6482014999873282e+00 +1767 -2.3259451405670903e+00 -3.9206220816221689e+00 -2.3363706339381589e+00 +1606 2.5256587105518769e+00 -1.4291149634085654e+00 2.9703122354577141e+00 +1604 -2.5176188872106833e+00 -1.8511961732818840e+00 5.1805064938085579e+00 +1602 3.3207553016625062e+00 3.9097333363320392e+00 9.5008542678525668e-02 +1093 1.0429456795003592e+01 -2.7152771228262256e+00 5.8053968393675008e+00 +310 -1.8153755571838187e-01 -3.2521625598507122e+00 -5.5750985193605640e+00 +1234 3.2059805515704585e+00 3.6451596222005440e+00 -7.9854244198096114e-02 +1219 1.0771063399573844e+00 3.1497795133150597e-01 -2.2766854806542094e+00 +1592 -2.7441945275271560e+00 -2.8096185169724797e-01 2.2282042320643991e-01 +742 6.8032554290538094e-01 1.9884385859398404e+00 -1.9909809773063836e-01 +1669 -2.4745208786549471e+00 -1.7575156217084698e+00 2.8075431012303693e+00 +1590 1.2885874914899778e+00 -7.9740476428396745e-01 4.7660807925926925e+00 +1221 7.8172445681146152e-01 9.0062164743761153e-01 1.8805401429711566e+00 +1588 -2.4357366925781754e-01 4.3157937608697923e+00 5.5417141891609720e+00 +1831 1.4382442288324111e+00 2.8646207856157231e+00 -9.0089942719304072e-01 +1843 7.6159365555054865e+00 -5.2102854535649168e-01 2.1746559196381976e+00 +1091 -3.6905960516146661e+00 1.9728142102436685e+00 -3.1195255915418685e-01 +1603 -5.6635191015353736e-01 -2.9583538057943439e+00 7.7497697517969766e-01 +1576 1.1954009567185664e+00 2.9014893673990962e+00 -5.8542172971164392e+00 +1605 -9.6361130212537416e-01 -1.2486041284732776e+00 -1.5781324802333332e-01 +1574 -2.6103660491523581e+00 4.2363982278448731e+00 -5.0968623428581505e-01 +1572 1.6591196267151520e+00 3.8827348889126232e+00 -4.0555532670361165e+00 +1591 -7.7134539302788774e-01 5.6804268730364251e+00 -5.0364060649869069e+00 +1570 6.6998052632606200e+00 4.4928516565696675e-01 5.7111381554490892e-01 +1254 -5.1847223332638528e+00 -4.5911390389929757e-01 3.7700553651243864e+00 +1560 -1.5394448353623775e+00 -1.0984228649002259e+00 1.3026748752550212e+00 +1558 -5.5973854943729000e+00 3.1342389690153887e+00 -7.5591873571528556e-01 +1607 -3.6874700016012469e+00 4.3449156652109616e-01 5.4199254490221016e-01 +1556 -1.9991290720156003e+00 1.5870318069925191e+00 -2.9632646601564363e+00 +1554 -2.9199059925403774e+00 3.3477530299049070e+00 -4.3983984301760888e+00 +1731 -6.3847358759936919e+00 -6.5387007052055168e-01 -6.9132212264465198e-01 +1573 3.1764290464497602e+00 1.7367928530111634e+00 -2.7481175358930412e+00 +1673 5.5650558068542875e+00 -4.7280006904422986e+00 -4.1024413065519916e+00 +2529 5.1768090848636605e-01 1.9774109359239802e+00 1.2522608329420775e+00 +1075 -2.0204286858940939e+00 2.8549545340493858e+00 -4.7064605411021576e+00 +1028 -7.1083111452450376e-01 2.6699979890443890e+00 -9.6895797308810039e-01 +1030 -4.8938849854296809e+00 -4.7376446716554614e+00 -9.7762215499907708e+00 +1032 -4.5837336178149197e+00 -4.2765906833260310e+00 -3.3517377535361659e-01 +1061 1.1452238847621872e+00 9.4366750619172246e-01 6.2800433575775072e+00 +1801 -2.3035437022617562e+00 5.1659516993252268e+00 5.3425077932857068e+00 +1331 -4.8074185054761589e+00 -1.0881227711201822e+01 -1.8080228559419029e-01 +1031 1.5677682695084728e-02 -3.8879879491008094e+00 -5.5894150451507043e+00 +1042 3.9473527803797750e+00 -1.7410364581851017e+00 2.5824860198358540e-01 +1044 3.4647177479822022e+00 3.2732964269993490e+00 -4.0283698467557230e+00 +1077 -1.4657985614745723e+00 9.1579529612059907e-01 4.3831332317488565e+00 +1046 -4.6648902970849946e+00 -1.7857343928462412e+00 6.5356566940429737e+00 +1299 -1.3935158415366540e+00 2.3785105219939520e+00 1.4877528312005308e+00 +1048 -1.3673607152812020e+00 2.8161015818425530e+00 -2.9991296556141506e-01 +1333 -2.7015308496513417e+00 5.7024126981018837e+00 -1.7189311979417277e-01 +1337 -3.7085369631576994e+00 -2.9672254486414427e+00 3.6950261043703194e+00 +1319 -1.0536328381882398e+00 -6.1255863664693848e+00 3.3868424931326420e+00 +1937 3.7347152273643838e+00 3.7424719562312618e+00 1.2106504877112896e+00 +1735 -8.0424425522889251e+00 -3.5909335835882072e+00 -9.4050028364527849e-01 +1060 6.9028600880263360e+00 -7.4344578256564808e-01 2.4567247933383176e+00 +1289 -8.0565117036714928e-01 4.5689628428103912e+00 3.5843839922942000e-01 +1062 3.6571226461085915e-01 -1.3275726904601517e+00 1.8789899794859168e+00 +365 3.5981349374008329e+00 2.2333731845007962e+00 1.1454131379244588e+00 +1064 -3.7476363698838107e+00 7.1704965971590751e+00 -2.3789189198647160e+00 +1317 5.0924281678425407e+00 5.8860100681976302e-01 2.7264466506435445e+00 +922 3.0329703268235814e-01 4.3876776838322789e+00 4.9069952181359682e+00 +1287 5.1496148287112762e+00 -3.8516142598135694e+00 -6.4312542612641650e+00 +1074 1.7242545837365839e+00 1.8469362380957788e+00 -3.9965806837147539e+00 +1076 8.3075555774755772e-01 -4.7845228108673137e+00 9.1429806860214455e+00 +1078 -3.0387412775015714e+00 -1.1539410240600354e+00 -6.9539358228984116e-01 +1080 -3.3117555830773160e-01 -6.1428824395459936e+00 2.2925644163129562e+00 +601 4.0819749746651208e+00 -1.3660083657874347e+00 4.3237205737359075e+00 +1079 4.1248057494840449e+00 -4.1266264686565218e-01 -6.7840168983249107e+00 +1092 1.8318169642716302e+00 1.2887435677998613e+00 3.4035460704853504e-01 +1094 1.5880859092539437e+00 1.3836050017131964e+00 4.0096896368231585e+00 +1096 2.7137581910834165e+00 2.4955147538451392e+00 -4.6410448989891631e+00 +1159 5.8217872688183618e+00 -4.5519539513086968e+00 2.3639221227732787e+00 +1253 5.0522227679253744e+00 -1.0425136773190868e+01 -6.4899212342990573e+00 +1273 7.7536847520362153e+00 -8.1480519089013481e-01 -4.2327785390090655e-01 +44 -6.9945652583056261e-01 -8.2460466083956108e-01 3.3722750085613269e+00 +1106 2.6377206636799535e+00 7.0018423492812509e-01 2.4408397574191509e+00 +1107 -2.0043083998092756e-01 -5.8531616537149145e-01 -3.0528868901224100e+00 +1108 2.0023107945909259e-02 -2.3464308638982323e+00 -8.3937243573099951e-01 +1109 -5.7003454418128832e-02 2.7231824739501054e+00 4.0615319170758939e+00 +1110 2.4479107119361654e+00 5.6821450986320903e+00 1.5942734162509906e-01 +1111 2.7396287413766243e+00 -7.5982332128394658e-01 -8.2478925668557643e+00 +1112 9.4344198932532419e-01 1.9252641753217652e+00 -2.4380104183815181e+00 +1113 3.8957962754816644e+00 -2.9292295979029217e+00 -1.0017639260471829e+00 +1922 -1.1598832792787286e+01 -9.1173817152720182e-01 1.1136683661988842e+00 +1123 1.6331566089703775e+00 -3.7721831194777131e+00 2.0671193482032235e+00 +1617 2.0230604163276773e+00 5.3551601779055709e+00 -2.1602038705262601e+00 +1125 -8.3265914950779074e-01 -1.0913310989465377e+00 1.0561665518819983e-01 +1126 -9.2972034135641679e-01 4.9700225817525281e+00 4.3675158362610098e+00 +1127 2.2428992861804393e+00 7.0595304518528392e+00 -2.3874096937794698e+00 +1128 -1.1377612607650209e+00 1.6818111533368985e+00 2.8406866488813698e+00 +1129 -1.4437299049702073e+00 -4.8283692338953905e+00 8.5566768987423902e+00 +1138 -5.9606795352821091e+00 3.4392462080869119e+00 -3.3408162937181407e-01 +443 2.1932639789217663e+00 3.0343951363410854e-01 4.4406793298031486e+00 +1140 7.7936553083757749e+00 -1.4198148463699489e+00 -1.0342773008281860e+00 +1141 -7.7613927739558686e-01 4.8035688233360503e+00 -1.6754989271180931e+00 +1142 -2.8175187961963100e+00 3.2428351943280456e+00 2.3023214737660904e+00 +1143 -6.0869227518888436e-01 1.3749790438731087e+00 -6.9909335640904380e-01 +1144 4.1195333537662060e-01 6.2648011314330487e-01 3.6093327484062572e+00 +1145 -2.8475272022552982e+00 -1.9599352718070495e+00 3.1512433594879790e+00 +1272 -4.4673795758558494e+00 -7.1274991116871322e-01 -5.2199884949297093e-01 +1681 -4.1108946955039434e+00 1.8131611552437474e+00 -2.4843701795798099e+00 +1257 -2.9092553037444285e-01 1.7369534554891564e+00 5.8723254413015082e+00 +1156 6.1252482623419757e-01 2.5167288497450717e+00 1.8596575873806958e+00 +1271 3.5544388525370652e+00 2.0275209578643234e+00 -6.0161179933768008e+00 +1158 3.2804919864994342e+00 -1.4145291548350094e+00 4.0113393383383373e+00 +1256 -2.4997195186853145e+00 -1.6665890222597162e+00 -7.0117627995087650e+00 +1160 -1.2341335513749283e+00 -4.6097254985153979e+00 -2.7066593731296922e+00 +1270 -3.5924480553805096e+00 -3.9471738103889260e+00 4.9399656175828826e+00 +1089 1.8206597874404105e+00 -1.0172952108811353e-01 2.3305675203914373e+00 +1269 4.4655525845014132e+00 1.6190886025716695e+00 4.6919802967253146e+00 +1255 6.2304231949476714e+00 -2.1538203099645279e+00 -2.9829356171719286e+00 +1537 7.5525735609154254e-01 3.1530697254134963e+00 4.1644806993816736e+00 +1171 1.9650443389012187e+00 4.6989462463282194e+00 -5.1527578739499891e+00 +1172 2.7149485096316011e+00 1.0807705850235043e-01 -4.3007187832572935e+00 +1173 -1.5770100871965991e+00 -1.1305882031396421e+00 -1.8649579392584690e-02 +1174 -6.3325292972593961e-01 4.0679891738284377e+00 7.6237916863157951e-01 +1175 -4.8051292278490125e+00 2.4679879139907763e+00 1.7718456064623627e+00 +1176 4.4164064706087769e-01 2.0708862748430774e+00 -3.7954425876892878e-01 +1177 5.9456328785262818e+00 2.0988494586989153e+00 -5.0657725146732488e+00 +2034 -2.3516478053804830e+00 6.8476214517529832e-02 1.8386467011842986e+00 +1523 1.9670043678279772e+00 -3.4938498212120388e+00 4.1862921197592149e+00 +1187 -5.7908568246017573e+00 -7.0359279345789494e-01 1.3877803641662907e+00 +1188 -1.0054246647125973e+00 7.6858898045035628e-01 -2.8064896139218405e+00 +1189 1.0477770988664168e+00 -7.8267970653435039e+00 -7.4201741236157952e+00 +1190 2.4642045091596443e+00 1.6078538403049203e-01 1.6575954779227389e+00 +1191 -6.5834419296923370e+00 4.2874615070930409e+00 2.6417927503553695e+00 +1192 -4.9488916975262525e+00 1.5604532058702514e+00 -1.8428624809316341e+00 +1193 -1.1490883823193470e+00 3.2532509731708292e+00 -2.5870918736692677e-01 +1553 2.2961395687085355e+00 5.3312012942393816e-01 -1.4739086018427219e+00 +1347 -3.1888823881264163e+00 -7.4387512181177284e-01 4.0513378580386394e+00 +1203 -4.2096020643694931e+00 -8.2595745892603674e+00 7.5188120247375179e-01 +1204 -2.0680411111861128e+00 4.0743350647678831e+00 4.1167211973869788e+00 +1205 1.1945624542443378e+00 -6.1936869679879263e-02 -5.5528373050047817e+00 +1206 4.8169508245698794e-01 5.0213137215420311e-01 2.3776721489221275e-01 +1207 -7.0715318137017462e+00 -1.3789740413443538e-01 -5.4334600391625598e-01 +1208 2.1003896810220350e+00 -1.6981145520231060e+00 -9.2302076411428635e-01 +1209 3.3175539113092114e+00 5.5047357363591125e+00 -7.3391987958793976e+00 +1268 2.3173531320949139e+00 3.1166353335778330e+00 -3.3559929666614279e+00 +86 2.6047310153967191e+00 -1.2064201247359152e+00 -3.6783959948246783e+00 +1827 -2.6804373944848829e+00 -2.0803363885901507e+00 1.3571760491452234e+00 +1220 -5.3577980197259594e+00 1.0408000088640235e+00 2.8880319656590325e+00 +1364 3.1216671616006195e+00 -5.2857180450047876e+00 -1.0800347050497527e+00 +1222 -4.4980804997936036e-01 -3.6176221090558487e+00 4.2879914890294701e+00 +1201 -1.2663460373903164e+00 -7.4081200904245259e-01 1.5495628927165850e+00 +1224 5.7181218513559475e+00 -5.7893260682419838e-02 4.8418466326434277e+00 +1155 1.3601890853301621e+00 1.8622083284387017e+00 1.2636119238061347e-01 +1805 -2.9200030484042960e-01 -2.8887157859851742e+00 5.0366659061249939e+00 +1081 5.3117381119712825e-01 2.6515627356311948e+00 1.9211703912559350e+00 +1933 -6.6044186908978664e-01 -4.8720456294865047e+00 -3.0264320107982310e+00 +8 4.1527371683428314e+00 1.4519629272897838e+00 3.1291045871283805e+00 +1867 2.4389419967923813e+00 8.8763175892160966e+00 2.8168761093574965e+00 +1997 1.2023880252582391e+00 -1.8628165046373448e+00 6.3497792060965921e+00 +1065 -2.2315059333363401e+00 4.8752970872120871e-01 2.6106537934755203e-02 +1504 3.7393276879922568e+00 -1.3855876847545376e+00 -6.3422074140992573e+00 +1503 2.2211224824138771e+00 -1.9116850982222788e+00 -1.2988701487800205e+00 +1502 4.6261843000862344e+00 1.9457612722723574e+00 -1.2822828731927542e+00 +1501 2.4063255245023156e+00 2.0729797921181328e-01 7.0848859318742443e+00 +1500 6.8564674198417199e+00 8.0542781033465660e-01 -1.0241552801856967e+01 +1499 4.9641802995143989e+00 -4.2964099439439556e+00 4.2615278647412378e+00 +1498 -3.2649302043852320e+00 -1.2141039728005321e+00 4.6110969793121299e+00 +1497 3.3753666266260203e-02 -7.6541185029603631e-01 -4.2579485668457666e+00 +1488 -1.9421581622850810e+00 9.3217097479401601e-01 -1.2387386783524315e+00 +1486 5.0279765408179937e+00 1.6144206801351828e+00 -5.3611141674372731e-01 +1484 2.7969178734662772e+00 3.0323275857574616e+00 -3.6615430341895960e+00 +1515 2.9708186007573141e+00 3.3281332331437072e+00 7.5942475619690064e-01 +1482 -4.9924962720287308e-01 -3.3556385337561760e+00 -1.4038400594550731e+00 +1871 5.6385700848809950e-01 1.3442840378107062e+00 -4.4703536013163792e+00 +1472 -2.8060536328719321e+00 6.9594005174239379e+00 6.0938859080751211e+00 +1471 -6.0599041671771960e+00 -1.2793395585848426e+00 1.8912306811396697e+00 +1470 -5.2387564337802637e+00 4.2669946120915125e-01 3.4450989781837205e+00 +1469 -7.0314549891305156e-01 -4.1410602366530185e+00 -4.0621948797146770e+00 +1468 -5.7002974094513128e+00 -1.9239788616999010e-01 -1.6626805969014918e-01 +1467 -8.8625411282435218e-01 -5.5168182439911631e+00 -2.0758200307717583e+00 +1466 -9.8116543003089718e-01 2.1377979981810076e+00 -2.2896270485434664e+00 +53 -5.6877537358873820e+00 6.7275796476395202e+00 3.1263524664646893e+00 +1456 -1.8185321514849142e+00 6.5376700415768596e+00 4.2284319687481258e+00 +1455 -9.4105265813206582e+00 2.3676471443408937e+00 -8.6465419129259580e+00 +1454 -5.9233594587220502e+00 3.7365689821708079e+00 3.8182634638811432e+00 +1453 -1.7961743375116968e+00 5.4384061734814280e+00 -3.6344285502847073e-01 +1452 7.3649151005769200e+00 3.5541479944557710e+00 -1.3177115655086038e+00 +1451 7.3934525477827284e-01 -5.1996047463139812e+00 2.3025512185366837e+00 +1450 3.8354327419387810e+00 -8.2342058383504835e-01 -2.8183686488380402e+00 +1052 2.0349691072700882e+00 -1.2031296483249629e+00 4.4654378956974089e-01 +1440 -1.7618946258574093e+00 2.6765605107755439e+00 -5.7520738060556171e+00 +1439 -5.1131628632506789e+00 2.6657262587534993e+00 2.3213244195508520e+00 +1438 4.8652249278271604e+00 -2.4355030639788597e+00 -5.0460541985377025e+00 +1437 -3.6098015691840235e-01 -4.8790073387114106e+00 -3.3502557920941411e+00 +1436 8.6162322733827046e-01 -2.9038680997985411e+00 -3.4569179756425932e+00 +1435 1.7447023525783105e+00 -2.7712097646447367e+00 -2.1392153416787387e+00 +1434 3.0048409837008072e+00 -2.7372780227154729e+00 5.6938393004882704e-01 +1424 5.5340954206343995e-01 -1.0238153028393353e+00 -3.4124302952342027e-02 +1422 -1.6147314888629507e+00 2.3235064973230712e+00 3.4560838174589046e+00 +1420 -4.9678865823281876e-01 -4.0297243893722046e+00 -3.8302171713959154e+00 +1418 -7.0627100526211972e-01 3.2080877197046220e+00 9.8358579909967481e-01 +1529 -8.0798039843796798e-01 -2.0092569463084802e+00 -4.0351001071475103e+00 +1530 1.8010965318858108e+00 1.0090158967702998e+00 1.7522942347182129e+00 +1531 8.4722411032710330e+00 -9.9931773216076247e-01 -1.0751808811396224e+00 +1532 5.5605638549864835e+00 -3.2718816708083570e-01 1.8261451609687760e+00 +1408 6.0282845068195083e+00 -1.2257663885006018e+00 5.2690664714355009e+00 +1407 1.1083995898509442e+00 5.0506577260231884e+00 1.5117878444475819e+00 +1406 4.0290413877748046e+00 2.2038014519491163e+00 3.5724017636571492e+00 +1405 8.8541807735999700e-01 -1.2958350256109428e+00 2.1493868101842657e+00 +1404 -6.9868752587101501e-01 2.3086626274387552e+00 3.8007224708151983e+00 +1403 -6.8389674425410627e+00 -2.8912515218479995e+00 -1.5145166857602932e+00 +1402 8.5504129316935877e+00 -5.4619928031128828e-01 -3.1456040175826918e+00 +1054 -1.3685959553758138e+00 -2.4520450128282212e+00 4.2758925837670825e+00 +1392 -1.7326000905299432e+00 1.5472086671784837e+00 -1.0010376038751436e+00 +1391 -2.9137977847821561e-01 3.6685207736387748e+00 -1.8346973881168932e-01 +1390 1.3568332703457204e+00 8.7646071255652613e-01 2.6852762867958457e+00 +1389 -3.4962696510099978e+00 9.1624086136764171e-01 3.2169179515521837e+00 +1388 2.5484523416611626e+00 3.6630088012101680e+00 -4.9331005949788720e+00 +1387 -1.7287362505988102e+00 3.3364452764690449e+00 -2.1551965785330349e-01 +1386 -6.7924297941531355e+00 -8.2127604406007415e-01 2.6496359288377880e+00 +1376 1.3064120153631114e+00 5.1160900233439852e+00 1.7507223827278962e+00 +1375 7.4472954463371916e+00 3.3568529988655305e-01 7.0995365801206634e-01 +1374 1.6212283861501491e+00 -1.7372855279550203e+00 4.1438798016568521e+00 +1373 -8.5792753828156931e-01 4.4631738354036871e-01 8.9075939626761458e-01 +1372 3.2790983574974764e+00 3.9844998660919195e+00 2.9663155788282602e+00 +1371 2.1780193073561582e+00 -5.6497836947149138e-01 -6.5766486461467655e-01 +1370 4.4700102948014511e+00 7.1223901889191643e-01 1.4337138227780719e+00 +1360 1.7123118807760440e+00 2.8258981969965267e+00 -5.7236425990686124e-01 +1533 7.5920780723934089e-01 6.1735226657476561e-01 4.1027235691626327e+00 +1358 8.4862708567919179e-02 -1.0148955692822330e+01 3.6330607880441508e+00 +1516 4.8523831377104871e+00 -2.8878120061039962e+00 2.3781160915082271e+00 +1356 -3.4237918370512405e-01 1.5122190289145170e+00 6.0225179861591700e+00 +1534 -4.4836284413904686e+00 9.9201670986209534e-01 7.0835910662682497e+00 +1354 -5.6076115432479421e+00 1.9167163485267911e+00 3.2163505038827962e+00 +1535 1.0139577929201295e+01 -2.2797253965469340e+00 -6.5900588428904783e+00 +1536 -9.3269363585379468e-03 5.7122571980568582e+00 -2.9163437377394485e+00 +1344 -3.3691185326446353e+00 -1.8718620010219096e+00 -2.0758563046830116e+00 +1517 -3.2194335059054358e+00 1.2850653395124727e+00 -6.2463297981157027e+00 +1342 5.2680880839863864e-01 3.8441416031188114e+00 -2.8070029651704416e+00 +1518 -4.9005132391558268e+00 2.8806779275772838e+00 -2.5509779152006087e+00 +1340 -2.1158018689505518e+00 3.6474231536185306e+00 -3.4321460004060000e+00 +1311 9.2782882243894726e-01 -5.2992229794873627e+00 1.8178903401812592e+00 +1338 -8.5316595767510162e-01 -2.1330325958875157e-01 2.2530421393525821e+00 +1519 3.0314376512977721e+00 -4.5286112262647787e-01 5.5944652362313638e+00 +1520 1.4617488253356565e+00 -2.1879387207648233e+00 1.0533040565704062e+00 +1357 -1.0985732646080675e+00 5.4738565174294394e+00 6.8590111503320355e+00 +1328 -3.1613070511367720e+00 4.6680203768383892e+00 1.4707875963314798e+00 +1326 -2.1324498843984094e+00 -1.0392160639670944e+00 -1.0521785544726145e+00 +1514 -2.6867089721127027e+00 -2.3646576991961796e-01 9.8354748841139283e-01 +1324 -5.7939302613706314e+00 -3.4036419195398593e+00 1.7652179916374591e+00 +1865 4.3117721759337585e-01 -2.9858432640559922e+00 -3.2797181432060309e+00 +1322 -2.1151772783256623e-01 -7.2465837780805247e+00 -1.7436413763062577e+00 +1323 -2.2664891331673674e-02 1.1019055985170657e-01 -3.7795302724329840e+00 +1055 -3.0582436892114075e+00 -3.1418153108213880e+00 -5.2625890591453162e-01 +1935 -1.1038757142583264e+00 -4.9639308321190256e+00 -8.1511628365823097e-01 +1312 1.2037988841576743e+00 -2.9529487872298277e+00 2.7776431234949452e+00 +1310 6.5523154883120780e+00 4.7976010651692063e+00 -9.8350894767697348e-03 +1071 -5.2189659311445338e+00 -1.7986123152891937e+00 -2.1589428650237190e+00 +1308 -2.9114150955720901e+00 5.4628648704378835e-01 -2.7390932978996028e+00 +1487 1.5806247358363201e+00 -2.9619767158149402e+00 4.5654354692788832e+00 +1306 -6.4942526306619603e+00 1.8236702129520308e+00 6.8090777095424260e+00 +1485 3.3269363424651051e+00 -8.6111648961288478e-01 2.7557285319695413e+00 +1296 4.8985221314171074e-01 6.1721385882894009e-01 -2.4670952399438666e+00 +1294 -7.4749915928075303e+00 1.2209319800555531e+00 -2.3736872185571269e+00 +1051 3.3530908529053511e+00 -1.5748296541596838e+00 2.5901653971129432e+00 +1292 4.3297426466084360e-01 6.1129085745442184e+00 -1.3757092310971155e+00 +1290 -2.1199901394325322e+00 -3.9636166379548330e+00 3.6770216936132383e+00 +1931 2.4256678501286850e+00 -1.7496213005279226e+00 -4.1866719133355685e+00 +1807 1.9084088225133142e+00 -4.2343045626389392e-01 -4.7954216931703781e+00 +1483 4.5906253322883259e+00 5.8831688166670686e+00 -4.0822932050422853e+00 +1547 -3.4305605105034243e+00 1.3155888498810459e-01 2.3898132192575292e+00 +1037 2.4030594464164192e+00 1.7015961464794067e+00 5.6371054512065237e+00 +2048 2.9517519786836338e-01 2.7954685730876450e+00 2.1923852546861027e+00 +2047 5.2178909707074679e+00 -1.1071194385729172e-01 1.5340592215269619e+00 +1802 3.7011904105298896e+00 -5.7629720705315535e+00 1.7992611868068682e+00 +2046 -2.6003164082695993e+00 -2.4987969977353446e+00 -5.0215378737227550e+00 +1804 2.1857266882790807e+00 5.5653745304188575e+00 2.1005152943117578e+00 +2045 3.1724148048210510e+00 -5.2762395986602251e-01 -6.3802163312248243e+00 +1806 4.8791340959800733e+00 4.3106014619518420e-04 -8.8961019737822522e-01 +1359 -3.3821506361612310e+00 1.0746812695162757e+00 4.1211241223555897e+00 +1808 1.7798002387120488e+00 1.8163805873699519e+00 -2.0174317758271694e+00 +1417 -4.7258773318583658e-01 -3.0953549351761351e+00 1.2902943608879447e+00 +1818 1.4725609920633884e+00 -4.2442907119182482e+00 1.9096584534497145e+00 +1820 -2.2455017890024406e-01 -2.1376619812049409e+00 -2.8286078569363244e+00 +1822 2.3983520120854021e+00 -2.9152284754813973e+00 -1.5167783289769556e+00 +1824 2.3284900148431285e+00 -1.4911825822088554e-01 1.0810459207123757e+00 +1995 -6.5832395948275213e+00 -2.9899268595063186e+00 7.3443268896482805e-01 +1839 -3.2815990469785730e+00 -1.4811154658367165e+00 -4.4979831904657747e-01 +1999 2.5165072388827325e-01 6.1197347601218706e+00 -4.4265781656401879e+00 +2031 -3.4483355840241421e+00 2.3984905701768948e+00 8.4757691696296461e-02 +1834 -3.7247436132946934e+00 2.0568360253527724e+00 3.8025197358939777e-02 +1836 -1.2705994038410744e+00 1.3791266448830091e+00 -1.7179396080154155e+00 +1563 1.3155404416959811e+00 1.4431608410221894e+00 -1.2640725350550019e+00 +1838 9.5378597809661236e-01 4.0897224026330354e+00 2.9880810484499039e+00 +1840 -4.1961158589408791e+00 -2.3899126306148482e+00 -1.7454682713453380e+00 +1579 7.2539811793231401e-01 -2.8534106464930469e+00 -2.1749761386379363e+00 +2029 1.4592845987586307e+00 -4.3828342768037604e-01 -1.8185313084765216e+00 +2028 2.4776797488155164e+00 -1.8352598516882523e+00 9.9521953442225619e-01 +2027 -2.8051198570089046e+00 -4.3808176576665954e+00 2.2178993109904224e+00 +2026 -2.4699547417775629e+00 1.4213590909514184e+00 3.1906773077502608e+00 +1850 -4.0506591592217195e-01 -4.1477910893851649e-01 -2.7097021456677797e+00 +1561 4.2036740988253168e-01 4.7121910205517308e+00 -3.3524933176843663e-01 +1852 -2.6782958084338784e+00 4.2160881177900302e+00 -9.0294665007221664e-01 +1854 3.0252693992835136e+00 -4.0881346944652641e+00 2.3099805333639991e+00 +2032 1.8663779821452833e+00 -3.0039448330613516e-01 2.7141223380255339e+00 +1856 9.5055306922711349e+00 -3.2677717614020940e+00 -1.0905795152179000e-01 +2044 -3.5078355827588839e+00 3.1735794611949713e+00 -1.3347399365328561e+00 +2043 2.0873608637291836e+00 -7.1569491116601588e-02 -2.5526236375767575e-01 +1423 -2.2813011962589131e+00 -2.5139022729400753e+00 -1.4231634407121230e+00 +2042 7.3766641005437217e+00 -4.8540216839290427e+00 -1.2365832105068197e+00 +1823 -3.9271990258521066e+00 -3.3747039270952145e-01 6.4458474037631124e+00 +1866 7.6921714973137645e-01 -8.2920155449780442e+00 5.2116019431840295e+00 +1868 2.3720398730821026e+00 -1.6886898426878291e-02 9.0312374276779583e-01 +1870 5.7094808788442171e+00 2.7286845337111161e+00 2.2404808494019801e+00 +1872 -4.5607514987659620e-01 -3.8438499431109832e+00 1.7557307002302065e+00 +1231 -2.9160781976501355e+00 -1.6566443476979159e-01 -2.0925809711303467e+00 +1882 7.6007155004843563e+00 1.8271485499199036e+00 1.7491197615940031e+00 +1883 -9.3393543437655602e+00 -6.0551358020846102e-01 4.6244883002788423e-01 +1884 3.0330329836748282e-01 6.0048408427723992e+00 -1.0946646485251397e+00 +1885 3.8342627133272802e+00 5.5002091482534041e+00 -2.0527431666579479e-01 +1886 4.0239657726639040e+00 1.5395084854523611e+00 -1.0283532683572967e+00 +1887 -3.8709353203611494e+00 -1.1896362022343290e+00 -8.6526370077307924e-01 +1888 4.3391698643338028e+00 -2.5914532843073022e+00 1.3275010242203551e+00 +1034 3.2902311073178905e+00 -7.0537492212851161e-01 -5.5655713152507880e-01 +1898 7.1789024794432530e+00 -1.5950740566345445e-01 -1.0090396339009240e+00 +1899 4.4873818038633635e+00 7.1730154379364008e-01 1.3141841035395851e+00 +1900 -1.8453475113617783e+00 1.7484365274473763e+00 -1.3131383912691632e+00 +1901 -4.7917840886383125e+00 1.1051934146199789e+00 5.5122252740618762e+00 +1902 -5.1066659055501544e+00 -1.0944309515455990e+00 1.9542239581151106e+00 +1903 -2.3887896120737073e+00 -4.9622303060915591e+00 -8.2609414008581474e+00 +1904 -6.5166063155962295e+00 -3.2695541864509794e+00 -8.0466167284049095e-01 +339 -6.4659937842719115e+00 -6.0675729484388059e+00 -4.1440285141664797e+00 +1914 5.7922019773578208e+00 5.1608300925506621e+00 4.2261785698127383e+00 +1915 1.2787380268153184e-01 -4.1177413003679577e+00 -8.2659230846237064e-01 +1916 -2.6500658400270916e-01 -3.1687389348185895e+00 3.7024678268936415e+00 +1917 3.3113191691240251e-01 -5.3719590393734062e+00 7.8178199958477268e-01 +1918 -1.2817639534222567e+00 5.9435301428498990e+00 -2.6337384255664196e+00 +1919 -5.9891026793893767e+00 -9.1268460481256730e-01 2.8267684770098302e+00 +1920 -1.7543681225780621e+00 -4.4364359962446226e-01 -2.3200388621143957e+00 +1548 -4.0470820575892237e+00 -1.5258123996917001e+00 -3.9564540176527454e+00 +1930 4.2912698848594744e+00 -4.6663270553959357e-03 -1.7458075276237799e+00 +1932 -3.1181557026168338e+00 -4.7171165279663327e+00 2.8102017207945879e-01 +1934 9.8213441557123538e-01 -2.0749442264246323e+00 1.3184648101038747e+00 +1036 -3.6623885072252071e-01 1.1630489241124005e-01 -2.2411062235444961e+00 +1936 -1.8807386133953656e+00 6.2089360563987983e-01 5.8816109965868675e+00 +1050 2.5454109038301659e-01 1.6351572938311292e+00 6.7873085476187434e-01 +1946 5.0722236448017233e+00 1.5770513175036138e+00 8.1707787906245812e+00 +1947 -3.0152584755391127e+00 9.2016075026203359e-01 1.1486890326619951e+01 +1948 2.8189157883908980e+00 -2.6954397648997972e+00 -3.4249182591351586e+00 +1949 -1.8608301118303758e+00 -4.3162011488231009e+00 5.5435645918220267e-01 +1950 5.0760602853640613e+00 4.9536817419035584e-01 -8.5271849095581209e-01 +1951 -1.4068868864286184e+00 3.4104319212781373e+00 1.2368694370578686e+00 +1952 4.4850993452906396e+00 6.5170734126894514e-01 4.0080889849707528e+00 +1041 -5.3261636005352582e+00 -2.5189280571852302e+00 -2.1167597478427322e-02 +1961 1.3399334262801486e+00 -3.1539023445210796e+00 4.5569180479537730e+00 +1962 -3.6571997206261528e+00 1.8889482961819892e+00 4.0983305214904560e+00 +1963 -1.2701458874039582e+00 -5.3120810774821630e+00 6.7741701895497397e-01 +1964 -4.0931077907026436e+00 -5.6750577716361956e+00 4.0167923217014501e+00 +1965 2.7887713943259875e+00 4.4313415988865295e+00 4.2293838665024630e+00 +1966 3.1844294417334140e+00 -1.1052721185543223e+01 4.1653587394902321e+00 +1967 -2.6091042733595904e+00 1.1169339022365306e-01 -3.6460425825631262e+00 +1968 -6.6907787643064509e+00 -4.2556701326133224e+00 2.2722732430484283e+00 +886 2.0019903229740413e-01 -5.3040247956471354e-01 6.3405363889766531e-01 +1978 6.2202384747762984e+00 -7.0520260254718292e-01 3.8498201806746115e+00 +1979 -2.4899092371687979e+00 6.8427682090107673e+00 3.1100370471227321e+00 +1980 2.9786102306443021e+00 3.5498754593579545e+00 -8.6914846171964140e+00 +1981 1.8556011541876791e+00 1.2389758928749304e+00 -2.5402103906822306e+00 +1982 8.6549975572770543e-01 -5.0602773803531909e-01 -8.0344699661484924e+00 +1983 -3.9521815612288229e+00 3.8738460306125666e+00 2.0099948623871375e+00 +1984 7.2541439401623533e+00 2.2497615296598892e+00 -4.4861311141392166e+00 +2030 -4.6005710062321743e+00 -9.5823261253501180e-01 -2.4926719473397460e-01 +1994 2.0578994676556148e-01 -1.6051638934513934e+00 -3.5550446682339998e+00 +1996 9.3076920930414673e+00 2.0737385890070708e+00 -2.2774238050051556e+00 +1929 7.3015168733751183e+00 -1.0466692859507001e+00 -4.5116619416175032e+00 +1998 4.2896442939976085e+00 2.9901207920386158e-01 4.8910896235238832e+00 +2000 3.3457529804559392e+00 3.1963306426596967e+00 -1.5917103609698724e+00 +1634 -1.8950842174916769e+00 -1.6758228537937259e+00 4.8579925130775345e+00 +2009 1.0580416006265728e-01 -1.4156175691716355e+00 5.5701979489849753e+00 +2010 -6.4867774262334859e+00 6.9907858592016510e+00 2.0877005335287171e+00 +2011 -1.6819326635519636e+00 -3.6853367392352534e+00 -2.2761301966388667e+00 +2012 -2.7891380993612840e+00 1.3129021403655472e+00 1.8022604621208831e+00 +2013 -4.6591574829324376e+00 -3.9877463746969184e+00 -3.2458281363851621e-01 +2014 4.0941038038831499e+00 2.8532967124262393e-01 -7.6186718094458650e-01 +2015 -2.8367922786282054e+00 2.4404374277601285e-01 -3.6946976106760867e+00 +2016 6.4840449383673349e+00 -4.0349420915466023e+00 -3.7987914858781030e-01 +492 -8.2645420557332336e+00 -4.3877524598270723e+00 -4.2665000998670131e+00 +1851 8.3973345323948123e-01 -2.2941653568085836e+00 -6.1553250052965536e-01 +1421 4.4384267576874787e+00 8.4505182012835913e+00 4.1386931987677498e+00 +1577 1.0234847469535409e+00 2.3193042332678688e+00 4.6744009345950968e+00 +1855 1.4484993410932625e+00 3.1369941782236679e+00 1.7018898576498600e+00 +18 3.5672920019619875e-01 1.3379215086035456e+00 3.4176776089493317e+00 +1869 -3.4465305772504160e+00 3.2538096573729147e+00 3.3327260858214451e+00 +1419 5.8954080941214260e+00 -1.5671515048887215e+00 -6.7374529123254367e+00 +1595 1.7688371214488803e+00 -4.3696353133237391e+00 -8.7029072788076878e+00 +1295 -7.6384767089769001e-01 2.2001900794561799e+00 5.2275473152942817e+00 +1481 -8.5879577841602810e+00 -1.1775230683084353e-01 -2.9649219620872063e+00 +1355 -3.8115439710486307e+00 -2.1605215610825934e+00 6.8793077402959932e+00 +1597 8.0571713057791272e-01 -1.4479464575973444e+00 1.3226177684089573e+00 +1565 2.8676609874827969e-01 -8.4177781170594859e+00 7.5456573222866408e-01 +1307 -2.2836282667243126e+00 -5.1801492757193521e-02 -8.6467142965293622e+00 +1278 -2.8703885962853817e+00 2.7656674126376370e+00 6.3186917031579748e+00 +1611 -2.7120106336447893e+00 -1.6604851207575047e+00 8.8874797934078198e-01 +1039 -6.6252357236299819e-01 -1.7775670247531812e+00 3.8735769267473854e+00 +1792 2.1578071861259738e+00 6.5098221245689434e+00 3.5554956053105911e+00 +1038 1.5240953264080497e+00 2.6123467992922773e+00 -7.2942337450520456e-01 +1679 4.7163234700368575e+00 -5.4388420816786431e-01 -5.0247684214858201e-02 +1849 -2.0466696755448588e+00 -1.1265547495700514e+00 -5.4011017782211095e+00 +1853 3.2101067585234908e+00 1.0447505967277138e+00 6.7698863548554531e+00 +1085 -1.5765116576126468e+00 -3.2577667617475696e+00 -1.2592818565203181e+00 +1229 -5.3761054935942854e-01 2.3643690927653847e+00 -1.4907843877769016e+00 +1567 4.2446727031700382e+00 5.6110794035492200e+00 -1.2551094628550410e-01 +1101 6.2565166935862004e+00 4.4285053738697551e+00 1.1591576666327990e+00 +1677 -8.6130405633083829e-01 -6.9092141845132913e+00 3.0576054669337633e+00 +1067 5.5445277939024979e+00 1.6403728026589053e+00 -5.8430684106694537e+00 +1040 6.7235632760765607e-01 -4.3581373918820798e+00 1.5344671200742410e+00 +1053 -2.3673862696329553e+00 1.6390329727325228e+00 5.4749006953440320e+00 +1069 3.0582745855137583e+00 -2.1109550346275161e+00 -4.4441719830076405e+00 +1327 -1.3572505295149020e-02 5.0438553312222805e+00 -4.8345163962202864e-01 +1293 3.1984963360624303e+00 2.7734771487307597e-01 6.6274412109785474e-01 +1309 3.5880993389658409e+00 -4.6668974515897927e+00 -8.3202150003795232e+00 +1837 -1.4404904982204343e+00 -3.4239925110964911e+00 -2.3886966563128800e+00 +1833 -5.4653998398784165e-01 6.0926393654621469e+00 -3.2779023971333161e+00 +1905 -5.0151470218632808e+00 -3.0504155043675345e+00 -3.8966470573322103e+00 +1087 -9.2625365469167231e-01 -3.9525592696529741e+00 5.7203569215584480e+00 +1058 2.0569771451562371e+00 4.2154181640480362e+00 -1.0237380488312938e+01 +1339 4.4050720724971351e+00 -1.4256169932176210e+00 2.3649281313239037e+00 +1291 -4.9424439258958994e+00 -1.2736122596733914e+00 -1.8342387176263425e-01 +1615 -1.6472177131469073e-02 1.2993987909528397e+00 -1.4190575665899792e+00 +1341 2.1428861993464419e+00 3.0661350558859124e+00 -2.6807453137873325e+00 +1549 5.2100262627106826e+00 -9.2833310623143728e-01 -2.8792374251167514e+00 +1165 -1.2432257272879179e+00 -1.1530555314026645e+00 2.7792182389540803e+00 +1083 -3.7899803803436820e-02 -2.8068272542677675e+00 -3.3986233550003377e+00 +1103 -3.7241778350316923e+00 5.8645035982935878e-01 2.3888432522827188e+00 +1741 7.0152398361373249e+00 5.5718432769635866e+00 2.3163938039860330e+00 +1035 2.1018906722566104e+00 6.0194554512624510e-02 -2.3342232050120475e+00 +1821 4.4518281325712845e+00 -2.5252957975586541e+00 2.5747318845917461e-01 +1248 5.4866418973910340e+00 -1.5700937210132815e+00 -5.4379766893513515e-01 +1247 3.7487519516107568e+00 8.8288801781756507e-02 -7.2806691693583314e+00 +1246 6.5334067642623879e+00 -4.0485661705501998e+00 -8.8340355181006025e+00 +1245 -2.3475084143462099e-01 3.5647571920748709e+00 6.8781679573213177e+00 +1244 -2.9513790008056366e+00 -7.1700353391744953e-01 -3.9272818242951000e+00 +1243 6.2570325608533155e+00 5.6152016202016286e+00 2.3490505324018511e+00 +1242 6.7943302367007075e-01 7.3157644431990789e+00 1.3504853586211790e-01 +1583 5.1617161182392381e+00 -2.6422737643374736e+00 -6.0572138813851018e+00 +1819 3.2621202135437288e-01 -1.0564294648439534e+00 -4.2800918906237282e+00 +1163 1.9811742980286360e+00 -3.1138944471556678e+00 4.5672147558553045e+00 +1167 2.4740786011834395e+00 -9.3030270601116249e-01 -4.1805848098228271e+00 +1562 -3.9863941103903899e+00 -2.2855808180520265e+00 4.2436830352575061e+00 +1760 9.8999305178334218e-01 -3.7850118593522022e+00 -9.2585134815803838e-01 +1759 -8.9293547543528906e-01 1.2202277319060952e+00 5.0297124707671479e+00 +1758 -1.4923319277030169e+00 -2.1981908172149818e+00 9.6120205263627745e-01 +1757 -4.5242021710213509e-01 1.2424813204613001e+00 3.4375545276950832e+00 +1232 1.6086449341153115e+00 3.0523127439633591e+00 -7.6970617109843786e+00 +1263 4.2525215843171589e+00 1.6415303208797862e+00 -3.3471418350072288e+00 +1230 -5.7625101623888741e-01 -9.4934049681721622e-01 -2.4344026652645159e+00 +1756 -2.8969311410836824e+00 1.0994885676929469e+00 2.2182775450814671e+00 +1228 4.2944409291637733e+00 -4.8375642905754619e+00 -3.3405243584034454e+00 +1755 3.8919368142585977e+00 -4.0175487399028365e+00 -1.9132705082248178e+00 +1226 -2.9461543271394190e+00 -3.5679881663950410e+00 -6.1070975988656642e+00 +1264 -1.3752867465991265e+00 -2.6793557824351617e+00 3.5025056974116358e+00 +1754 1.3390773805275107e+00 -1.3135677627359374e+00 -7.2527424889045795e+00 +1099 -4.7438632722991674e+00 6.9885317898121029e+00 -9.8473059838505184e-01 +1744 1.0928895005658344e+01 -1.5824871513959109e+00 -4.2597564097101803e-01 +1776 1.8583438766796525e+00 2.3676993802810187e+00 -2.1237131485248456e-01 +1742 -6.3231969418623155e+00 6.8007642606857266e-02 2.7452870760229380e+00 +1773 -3.7600360804220743e+00 -7.6968021563178191e-01 3.4640607096513545e+00 +1740 -2.3840847954598456e+00 2.2054663995388983e+00 5.1811270674131640e+00 +1739 1.9253914741553639e+00 -3.3500378361842031e+00 5.3107574776408377e+00 +1216 4.9763678616253121e-01 -4.3714657796850824e+00 4.5726963480810984e-01 +1215 -6.1799967920044285e-01 8.1592481053011134e+00 3.8006728369427827e+00 +1214 -2.2686771909463368e+00 -9.3946547775085965e-01 8.0673219066708962e-02 +1213 -4.6219982627187388e+00 5.7736078005928981e-01 -1.9150180702192128e+00 +1212 8.9182925499160548e-01 -2.6241348592377911e-01 -5.4354315551715464e+00 +1211 5.7602548991309162e+00 -1.8788160360849249e+00 -5.1247755957573311e+00 +1210 -1.6553007201540482e-01 7.8517791549765847e-01 6.9289268136968540e-01 +1738 -2.0240705405598458e+00 -2.0991545521900363e+00 2.3896595862135874e+00 +1774 -2.0555692639916741e+00 -5.3790399662652364e+00 -1.8654879473748451e+00 +1581 1.1752910725051859e+00 -4.3018010921979627e-01 -1.3531480836294201e+00 +1772 -7.9742567215354132e-01 -4.0858820748699971e+00 -1.2312763025737482e+01 +1728 2.3804250406229057e+00 -1.6472166399394645e+00 3.3049683000697891e+00 +1727 1.0069187946925429e+00 2.7935375159270004e+00 -1.8546135676101678e+00 +1726 1.7584931222512097e+00 -4.1931736392333152e-01 -3.8812556542891388e+00 +1725 -2.3922118551046028e+00 -2.8638186418308718e+00 -4.2222106919937845e+00 +1724 -7.8555525496278307e+00 4.4404159925669395e+00 -4.7509519053867395e+00 +1200 -4.7459406453339872e+00 -5.0433729755587242e-01 5.2537907968921918e+00 +1199 -9.8104799137983378e-01 9.1492065658886068e-02 -2.4929165366597030e+00 +1198 9.0350880694603342e-01 -2.4895345654184795e+00 -2.7501071738417195e+00 +1197 -8.8027093708710265e+00 1.8238795624382429e+00 6.5429019496390772e+00 +1196 9.4627007194387247e-01 4.8465455313987018e+00 1.0446029761718267e+00 +1195 1.5441727358530037e+00 2.6887868053392077e+00 -4.1746883938529891e+00 +1194 -4.2322067938365521e-01 -2.9544969135323802e+00 2.2265219928930464e+00 +1723 1.7330174888608113e-01 5.5091676620574022e-02 1.7713031600178557e+00 +1722 1.1738315219239348e+00 -1.3218090559136428e+00 -5.0655225628928449e+00 +1712 1.4368250645295888e+00 -1.4057412328784880e-01 -4.1660415633475960e+00 +1711 -4.0171704165040873e+00 -1.7300312316250908e+00 -3.8259700667203194e+00 +1710 6.9769086161606805e-02 2.2579833980366240e+00 4.3985236492126512e-01 +1709 6.5432232106015649e+00 2.4995130619169119e+00 8.2724612212298221e-01 +1708 -4.6270144124483679e+00 3.8637074789681223e+00 -8.3943653849310337e-02 +1707 -5.1455384000776725e+00 5.4808171846936133e+00 -8.4012989587511111e+00 +1706 2.5018805817150502e+00 -7.8125733561452702e+00 -1.4292158772582358e-01 +1184 -4.6919942683562708e+00 6.2743240867694672e+00 3.5030067865077852e+00 +1183 1.7983258562151923e+00 2.5417109765306098e+00 3.1718757806586839e+00 +1182 -2.9177751560397782e+00 5.0560842984592302e-01 -6.7645638849909790e+00 +1181 5.1623042825774623e-01 -4.0208865811704540e-02 -7.2006396706481901e+00 +1180 7.4893500985546535e-01 -2.2538247831585112e+00 5.5608594380666343e-01 +1179 3.8420796508953070e-01 2.5857943030727712e+00 3.7561758479215723e+00 +1178 1.2710890014291221e+00 -1.2864436031271878e+00 4.8604492234925084e-01 +1325 2.6641913116083864e+00 2.4881049725928861e+00 -1.0494710652720838e+00 +1696 2.2017281847730632e+00 -3.7748427976430858e+00 1.2119806704254945e-02 +1695 -2.6393016261546789e+00 -1.3540935435549302e+00 1.5920002285836521e+00 +1694 -2.3619825587040282e+00 1.9232144713594246e+00 5.8493238022958129e+00 +1693 -2.0341760844859884e+00 8.1845560465448948e+00 2.1052614565675447e+00 +1692 -1.3223954369278497e+00 1.6938311027214719e+00 -1.4533272490735680e+00 +1691 9.5504148513901810e-01 -3.7545789265529739e-01 -3.7704341423899841e+00 +1690 -9.6320182525949649e-01 5.3859143865691028e-01 -8.7805643781005127e-01 +1168 -7.6149504736781737e-01 6.1259097997273138e-01 1.1587203990804449e+00 +1790 1.9864297869304142e+00 -5.6162016153997989e+00 -2.6046407257180509e-01 +1166 -9.1634926280530298e+00 -3.7185310556679352e+00 -8.1756374436261350e+00 +1550 -1.8798825823951466e+00 -5.0951378740192781e-02 1.9522663600185783e+00 +1164 1.5895116291239170e-01 2.2171484894012865e+00 5.8963538208268140e-01 +1680 -3.6334794871288878e+00 8.2030880021623247e+00 -1.6887845112237674e+00 +1162 3.3718077600898919e+00 -4.2476955355443788e+00 2.2803073232887341e+00 +1678 2.2548504339583526e+00 3.9346599130450766e-01 -5.8245968931736387e+00 +1676 2.8308139895451041e+00 3.0235519341069348e+00 6.5624420638133807e-01 +1674 -1.3359047789135685e+00 4.0887860952745267e+00 -5.0740879249672588e-01 +1785 -2.0979664514167591e+00 -4.2275599379926012e+00 3.4152302655158917e+00 +1664 -2.4375817916604969e+00 4.8904285527371147e+00 -6.7005958067630100e-01 +1663 -2.0351823368949460e+00 -7.5020747528726295e+00 8.9065240486915176e+00 +1662 -2.6939096232314359e+00 4.1696219595446593e-01 -7.4152381078019758e-01 +1661 1.7841165299213120e+00 3.9158053716669223e+00 -1.9706553843951837e+00 +1660 -4.3866733504139903e+00 1.3822540329320570e+00 -2.1545671372028665e+00 +1152 -1.1304578267170928e+00 -6.4799950317925319e+00 3.7348075039644507e-01 +1151 2.1159978866288789e+00 -4.0358578046765403e-01 1.8186776670885390e+00 +1150 3.8060715135993135e-02 -3.9007239600007027e+00 -2.4868901784316839e+00 +1149 -4.3024106516512917e-01 -6.7255414305276702e+00 1.6558277022211589e+00 +1148 5.0165527106297922e+00 4.2657776876315125e+00 -3.6423852230602232e+00 +1147 1.0407482638332878e+01 -1.3515356288231646e+00 -5.7459254057019047e+00 +1146 -4.6972433599307619e+00 1.5489580621784377e-01 -1.5630913629575640e+00 +1564 4.2458522693899816e+00 -9.5160505098657089e-01 -3.5211096645433928e+00 +1659 -5.6839895872252963e+00 -1.9965176454890371e-01 5.4193959634242406e+00 +1658 2.3169900935872403e+00 -2.4632355169259110e+00 -1.4746380393385790e+00 +1657 4.0547980763443698e+00 3.7543905443333951e+00 -2.5367143915465067e+00 +1697 3.6943945605623050e+00 -1.5971900888005739e+00 -1.8981568003192615e+00 +1648 -1.2063172023400766e+00 -5.5417152262063930e-02 -1.8732666501251292e+00 +1647 2.0819708618701362e+00 1.7779745224383625e+00 1.4495292510742757e+00 +1791 -1.2711709623989342e-01 4.6236955907607751e+00 -6.3275139027835980e-01 +1599 -1.3395420112828407e+00 4.0877806490139585e+00 3.0361562565803113e+00 +1136 5.0353654844197706e+00 -7.1182217350924648e-01 8.4845547568013857e-01 +1135 5.4282907941208070e-01 3.2765745286073500e+00 8.9802741275011022e-01 +1134 1.2949312751219353e+00 -4.9332219215965845e+00 3.9373953078668071e+00 +1133 -4.3918983998084862e+00 2.9104412839894303e+00 1.5624355484064676e+00 +1132 3.5410831038313115e+00 -3.8045602771456881e+00 3.5510587169653607e+00 +1131 -5.6041039393332852e+00 1.7128464672636259e+00 6.3386955471602155e-02 +1130 -1.2569159187934014e+00 5.3348386659528648e+00 2.9086214048107646e+00 +1646 1.8818823228980412e+00 1.0652779651723256e+00 2.8668001970391623e+00 +1645 1.3201162932662052e+00 -6.8574963190364562e+00 5.4595597363065029e-01 +1644 -2.1994213725542440e+00 2.9385995338670217e+00 -2.4662694579830071e+00 +1643 -5.3230609085419489e-01 7.3407961057442306e-01 -3.0740786726634850e+00 +1546 1.4638616539794663e-01 -3.4398775908511454e+00 1.7727044456241530e+00 +1642 -9.2688000645891766e-01 -1.8302745711074975e+00 -4.8941371766765895e+00 +1613 -4.8331034222273086e+00 -3.3029004530063468e+00 2.7562973111607350e+00 +1632 -6.3414868617046083e-01 -5.1405660152302044e+00 2.6342538786784182e+00 +1566 -9.9717356042835173e-02 -2.5517126172819773e+00 1.0334979086220695e+00 +1120 -9.2251362984829999e-01 1.0559634793090011e+00 -2.4188100154748873e+00 +1119 -3.7457510048584535e+00 -2.5669255587518611e+00 -4.9327962435193523e-01 +1118 -4.2956489755377003e+00 1.2877972894451650e+00 -9.7097170745424821e-01 +1117 -1.7791614889209746e+00 3.1246248751073562e+00 3.0701731195907995e+00 +1116 -9.9818396679835941e-01 -2.0546724594031405e+00 6.0848091591196263e-01 +1115 -6.5997878243627870e+00 -2.0945016191788381e+00 -5.6571384792046659e+00 +1114 3.5765984995120506e+00 -8.9760828569340534e-01 3.8373335487882521e-02 +1631 -1.0338988275821553e+01 -6.4187973120799882e+00 -1.7982092964976175e+00 +1630 3.3413184849245288e+00 3.9901482517415836e+00 -2.7812617269193729e+00 +1629 3.6391490641565456e+00 -2.0613889480883185e+00 -1.5621089391153260e+00 +1628 -1.1116533602244727e+00 -2.5004930250037578e+00 -6.2884778436136413e-01 +1627 3.3395234425566627e+00 -2.3699855486878878e+00 -3.1510392974993691e+00 +1626 2.2679730214023142e+00 4.7563294630045343e+00 2.1115566424554570e+00 +1793 -2.0733252067079535e+00 -2.6320935656419970e+00 -7.5664672376958979e+00 +1552 2.9924087313916994e+00 -1.5761243863148777e+00 3.1887854904364510e-01 +1835 -1.8631997676489078e+00 -6.6262114396413798e+00 1.8870846006045883e+00 +1104 1.6463172078653632e-01 3.5829558767324290e+00 -1.2752189592025358e+00 +1616 -8.0656156437730653e-01 7.8998062520268952e-01 -3.4124551142823951e+00 +1102 2.7307793701464034e+00 1.7227163566724046e-02 -2.6706448996568808e+00 +1274 -2.4447654225888016e-02 8.9605833713243239e+00 -2.5718968572978418e+00 +1100 4.1914045877411388e+00 -1.8319208218113032e+00 4.6199840704513822e+00 +1775 1.7436173747904702e+00 -6.1139991236952564e+00 3.8781373791190021e+00 +1098 7.9571460637557099e+00 4.7884222562934848e+00 -1.4265701123578167e+00 +1614 1.9566853480505320e+00 -1.2184353261179233e-01 -3.0869339611311877e+00 +1786 2.7622249584881939e+00 1.1510108441888502e+00 -4.2179051312424685e+00 +1275 -1.8339740427891535e+00 -7.0754158699581158e+00 5.1159420143980308e+00 +1612 -3.1083302265860469e-01 -8.1212521164080655e+00 -2.9867888021860796e+00 +1276 2.5487628257541117e+00 5.7603985035552030e-01 2.3624836335813004e-01 +1787 5.2589968869800598e+00 -9.2297302697116612e-02 -2.5703654184777904e+00 +1610 7.0154201144951589e+00 -1.8963142617278810e+00 -7.4693438224629460e-01 +1788 9.3762428031619671e-01 -2.7387051153089450e+00 5.7262318397059548e+00 +1277 -3.9257952120618561e-01 -5.6555974294181210e-01 3.5128233613411153e+00 +1088 2.9131167702256872e-01 -1.0793362390861592e+01 1.3215208391511677e+00 +1259 -9.1634681306567831e+00 -2.2539243414166830e+00 1.2698534052765693e+00 +1086 -9.5795290003304501e-01 -7.0876274997673585e+00 1.9841400951181833e+00 +1258 9.3326162589192418e-01 2.0966446197566078e+00 3.9022914325765838e+00 +1084 3.8197953292635517e-01 4.0191357837945176e+00 -1.0736014525732221e+01 +1260 -6.1129085681959561e-01 4.2723871503738966e+00 4.1239202216866131e+00 +1082 4.8542360589129139e+00 5.2984876770867331e+00 -2.1045039444775000e+00 +1261 -3.2969815385644924e-01 3.1850383598205383e+00 -4.0488248012389523e+00 +1568 3.6448980714320949e+00 9.6130784415979829e+00 -2.0265375505676912e+00 +1262 -4.9488312235953709e+00 -2.6524541417282288e+00 -3.0076430585148239e+00 +1789 -3.8074561615920910e+00 1.0451683384413636e+01 -2.1800422404941080e+00 +1675 -9.6675574295079580e-01 -3.0691633768506615e-01 4.8681581967426251e+00 +1600 -3.1897800950599171e+00 9.3159077802727863e-01 -4.5212678239609622e-01 +1279 1.9799145396787530e+00 -1.0167929447558579e+00 8.5103670671855736e-01 +1770 -2.5646253516335271e+00 -3.1840502451514785e-01 -1.7701064704099041e+00 +1598 -5.1390536424968192e-01 -2.2819234389305452e+00 4.0286699139799769e+00 +1072 1.1575552924505188e+00 -3.5215361428122320e+00 2.0732859977418134e+00 +1343 6.4986400036871528e+00 3.7825028312267248e+00 1.1038558485613872e+00 +1070 -5.4746534073328901e+00 -1.5265178090696425e+00 1.7318071972611806e+00 +1743 2.8112647970668898e+00 2.8358802310641744e+00 -2.5867452226725214e+00 +1068 4.5018557700205325e-01 -3.5332720452411244e+00 -5.7710759240020506e+00 +1771 -1.5066028564621445e+00 1.6848546912719682e+00 -1.3328058366382745e+00 +1066 -4.5900999590071816e+00 2.5056222197089149e+00 1.2110495249778817e+00 +1596 -4.4857578440444534e+00 -1.2690405472870401e+00 1.2838874601123387e+00 +1594 -4.5512983312895887e+00 1.0790223806289350e+00 -1.3418657091430633e-01 +1584 -5.5580401516321247e+00 -1.3678283245984053e+00 2.3006959883565488e+00 +1803 2.2770170377418677e+00 2.6362467557515030e+00 2.8341647807538322e+00 +1582 -4.6882715329947828e+00 -3.2272859329357656e-01 2.6312427925169426e+00 +1580 4.8327936707337900e+00 2.8344084406592512e-01 -5.2574667166955331e+00 +1227 -2.9249454539282507e+00 2.1371933994425860e+00 3.4368894988200358e+00 +1578 -4.2881311998958846e+00 9.5375198439329079e-01 1.1382587678265517e+00 +1280 -1.8232914096909285e+00 -2.3219613971880251e+00 4.6513328845603121e+00 +1056 -6.7409216067124822e+00 -3.7918650396766478e+00 -7.1477057026405577e-01 +1551 -3.5487271254399921e+00 -4.2368087740475358e-01 4.7653426471208399e-01 +1090 -2.8046564915868410e+00 5.7109204478509259e+00 3.1889787282380788e-01 +1442 -6.3428541162948457e+00 -2.1751507305601043e+00 1.1162478316147006e+00 +1761 -6.4707095630241183e+00 3.0781324748613503e+00 -2.1619804321054472e+00 +2035 1.2710512103504321e+00 1.8226340096406493e+00 -4.7001586892203233e-02 +1953 1.1389982033654551e+00 -2.7800967834023544e+00 -5.9843514403264675e-01 +543 -1.5188678123011383e+00 6.3819693928367305e-01 -5.6975588135682695e+00 +2129 -1.0699005193050122e-01 2.4800097349936387e+00 -1.4526413447259059e+00 +1585 -4.6564104110297002e+00 -4.6720745877594605e-01 -4.1419257694166891e+00 +1601 2.0147047271101628e+00 3.7475129687263702e+00 -5.1734788185238285e+00 +507 -5.0036931125087347e-01 9.3852613668466223e+00 -4.1365052010625334e+00 +2401 7.4395640884336558e+00 4.7207667004324438e+00 -7.8611183971896137e-01 +2225 -5.0517897916398868e-01 2.3776766751419616e+00 9.1086031287115499e-01 +1137 -6.4336155918048394e+00 -3.4203448215759202e+00 -4.4047853017073022e+00 +2353 1.4815204498127399e+00 -9.9598943362813213e+00 -3.1689768155399056e-01 +1202 1.5959499756455426e+00 4.0300262347127118e+00 1.5800314925501557e+00 +1729 2.9559463433650470e+00 -8.6987028714725045e-01 -3.8091692624450544e+00 +720 -2.6810849185024703e+00 -1.1902782924069524e+00 3.5798219801515683e+00 +1569 2.1213292971832951e+00 -5.9015753735028498e-01 -2.0013098163463683e+00 +2721 4.5907701223227768e+00 -7.6507255931604679e+00 2.7311554547967226e-01 +913 7.7349469685400631e+00 2.0549924934859911e+00 1.5279924786892443e+00 +1586 -9.2745614663805953e-01 -6.5868652793345497e+00 5.3189885101909002e+00 +1745 2.5141004309705499e+00 5.2921356665013759e+00 -1.8624080594975276e+00 +2177 1.8440036244899980e+00 -3.3513412318539088e-01 -2.8213786347189398e+00 +1825 -4.1601106488389696e+00 -5.8420126250252249e+00 1.3090914526604995e+00 +1281 1.1148322708664171e+00 3.7197106435939173e+00 -1.6839168968729614e+00 +2513 1.3592914978452373e+00 6.5022626641102466e-01 -2.5143448392729139e-04 +1121 2.6204381582473886e+00 -4.4409675749348603e+00 -2.1277516635800673e+00 +1441 -3.1296479831101873e+00 -3.9703795160998125e+00 -1.4393166698239821e+00 +2337 -6.0953465552842054e+00 2.4241170541681285e+00 9.2614801250335166e+00 +2801 4.0471734507138200e+00 4.9860927361982715e-01 -6.4238245968404306e-01 +2561 -3.5873403409131077e+00 2.8342438283166169e+00 1.1786321277429583e+00 +2193 -8.2787938896478386e-01 -2.8730409384118716e-01 -4.1405218036400830e+00 +1073 1.0250184194369527e+00 1.5461452285408639e+00 4.0085025329055259e+00 +1633 3.3678401081501317e+00 -4.4418237378584884e+00 1.7796150726218869e+00 +1649 -3.7865237941769339e+00 -7.4726539424260863e-01 -5.0984746362633180e+00 +1841 4.6031138136565195e+00 -4.9749754628231084e+00 6.3426746419831597e+00 +1393 -4.0828428157287261e-01 6.2151411174257101e+00 -1.0018378083523134e+00 +2257 -1.5845182204880837e+00 3.4060884482247973e+00 2.6453392749796727e+00 +1297 6.5640148463258603e+00 3.0449231906379151e+00 2.7116142560175466e-01 +2289 -3.5377779010980142e+00 8.1179621799484281e-01 9.8197970649651745e-02 +1889 -5.1588021660433094e+00 -4.5472211030818759e+00 -1.8621178101817846e+00 +2209 -2.4950017300483767e+00 1.5578729765435364e+00 2.3668886095854100e-01 +2609 7.4837497164731936e-01 -6.9235476635793505e-02 2.7859777817040996e+00 +2113 3.3320905275122543e+00 -4.5514368967235290e+00 2.4910519873095209e+00 +1969 5.2496883092552578e+00 4.8507953387757023e+00 4.9555364690483659e+00 +3057 2.1195579495368688e-01 -1.8854469618397665e-01 7.4525830236706341e+00 +1457 -6.1441321744061312e+00 2.6584304564586940e+00 2.4183710047926845e+00 +2081 -6.1137166455563658e+00 1.7636274372373169e+00 -4.4333349755611540e+00 +2001 -4.1292677739288992e+00 6.6541129517399278e-01 -6.1062763848092827e-01 +1873 -3.6523091590214012e+00 2.4931054183275885e+00 -1.6453418037503495e-01 +1474 1.5960128283082016e+00 2.9180843027073915e+00 -8.5102825585797859e-01 +1298 -6.7321407992749382e-01 1.3949727848165541e+00 3.6041675902818715e-01 +1139 6.6242258491829871e+00 2.7530513792796167e+00 3.5264710178463661e+00 +1282 3.7615209558537819e+00 4.8885295177503076e+00 7.4445222608622319e-01 +399 8.9784691433968700e+00 -7.4541054219332574e+00 -9.0472047187603666e-01 +2050 -8.3372286716912458e-01 1.5140536456657159e+00 6.6632030514028084e+00 +2307 -7.5025880605292645e+00 -1.8992530877504779e+00 6.8007770632398024e-01 +2563 5.7478705941144959e-01 -3.7694950115683051e-02 3.7431891018243419e+00 +2099 3.3326469782846990e+00 7.2072307189255485e+00 -3.8738492583191553e-01 +2853 -3.7625931002113049e+00 -4.7683481806731898e+00 -4.5752277005036062e+00 +2052 7.5592703353482604e-01 1.4128431654667908e+00 7.5689838950119510e+00 +2085 -3.7089208190170471e+00 3.1954100647370098e+00 -1.1506523068400500e+00 +2355 -3.3088955924651473e+00 -3.8374320322619684e-02 1.3125081932291938e+00 +2066 2.0342037406101805e+00 7.7216487578190049e+00 -2.4660669001546296e+00 +2613 3.4235538745791936e+00 1.5710029136397752e-01 -2.6072403834081331e-01 +2068 -3.1504476283566376e+00 -3.7342732374417436e+00 -5.3590805026771760e+00 +2323 -1.1904809551890296e+00 1.8517808857759772e+00 9.6024188719311154e-01 +2357 2.8140110013522110e+00 7.7839453943005568e+00 -3.2078759595529514e+00 +3044 -5.4811855903254649e+00 -1.0587367964728274e+00 2.7867878286139325e+00 +2082 5.2994004912191361e-01 1.0529044659262130e+00 -3.6435897952588050e+00 +2084 4.9065332381619386e+00 2.5638845810494066e+00 -7.6445853689360419e+00 +3043 -2.3867113417525192e+00 -9.4763852307245455e-01 -3.6268937750606391e+00 +3633 1.6648477545249563e-01 5.6852080832290977e+00 1.7473553491080014e+00 +2341 3.0604129798623272e+00 -4.6183771701141435e-02 6.4588310404149440e-01 +2557 6.3897637981582118e+00 -1.3394682011517864e+00 1.5254226625198191e+00 +2098 3.8829799319000093e+00 5.8246710854023143e-01 -2.2856932351661867e+00 +3042 3.4669662712631061e-01 -4.9955308098614983e+00 2.0534738114639834e+00 +3028 1.3112310101432414e+00 3.1716460467249319e+00 4.2856934837628451e+00 +3027 -5.8128246511016919e-03 -5.0940985930420646e-01 4.2225468098651655e+00 +3026 3.8714301804628506e+00 6.3968433738399766e-01 6.0913891541481400e+00 +2883 -1.5757521140914015e+00 -2.3705367629141949e+00 4.0062700011683043e+00 +3058 -7.4000317582726738e-01 8.0596914175526528e+00 -9.9179612507234693e-01 +2100 -5.0963703753169287e-01 -5.3953962190928673e-01 5.2712657371317011e+00 +3059 -1.4974959026887409e+00 2.9134763467594502e+00 -2.6558621443525197e+00 +3060 -7.3385713850799428e-01 2.3933955841471937e+00 -6.2036385842973840e-01 +2114 3.7995808530906019e+00 -1.7741308940053964e+00 -5.1689727338755551e+00 +2116 -1.1731195814065853e+00 1.3657581791309026e+00 2.4464847553118889e+00 +3012 5.1611374793369027e+00 -1.0905268955501417e+00 -7.6052946371053820e-01 +3010 -1.2884477298129202e+00 -5.1776522328963823e+00 -5.8306983228464153e+00 +2997 -9.7149563751339763e-01 -4.1975796381267569e+00 1.3453966750626061e+00 +2996 -7.6991558695194207e-01 -6.5891256790888910e+00 1.9623929016799615e+00 +2995 3.4348653315866535e+00 3.4122855955786702e+00 -4.7726494237727088e+00 +2994 -3.6906563697746968e+00 -4.6816562695977275e+00 -8.3843560794178151e-01 +2981 -1.3178912470642967e+00 9.1094675517473824e+00 -2.1728372768788433e+00 +2980 1.4100083233748453e+00 1.8613788164367913e+00 1.3231402172351621e+00 +2277 -4.5219483273649308e+00 -8.1481122738162115e-01 -5.1698147404981731e-01 +3692 3.7366727607988053e+00 -1.9396725441256757e+00 2.9462185173669360e+00 +2130 2.2553207761955932e-01 1.8669274875326158e+00 7.6148318501374765e+00 +2131 -2.6666729358048071e+00 5.4374636642253602e+00 -2.7571199778364868e+00 +2132 2.2275895992305017e+00 2.4981437666016695e+00 -6.8971122653487393e+00 +2146 4.2880126790047806e+00 -2.9242270395650345e+00 8.8631499330693897e-01 +2147 1.9292416358794877e+00 6.0605310822222036e-01 3.6265510473286793e+00 +2148 -1.7581583500441778e+00 5.8254879772844061e+00 -5.8647854309036607e+00 +2979 -5.8041874078685263e+00 3.1877190350458986e+00 -2.4986268732260071e-02 +2978 3.9371220058521188e+00 -1.5502597463580183e-02 -2.8500161415054898e-01 +2965 4.3659367314975084e+00 1.5406030950634930e+00 1.0499266266784104e+00 +2964 -1.8282948310152562e+00 -3.9745806308970399e+00 3.9301238831091858e+00 +2963 3.0385675778058796e+00 8.3571377470928698e-01 5.3902760293226999e+00 +2962 2.6798031121822050e+00 -2.7366695236635965e+00 4.6305327223894377e+00 +2499 -2.5636026923423065e+00 7.4183299668952349e+00 1.7771638712840478e+00 +2948 -4.6230049985243538e+00 -2.8141763712271062e+00 -8.2189408292911589e-02 +2149 5.2548812838853465e+00 2.9570701105813493e+00 4.1678699319757815e+00 +2162 -1.0382588159931472e+00 4.1904578499786549e+00 2.2440064614862170e+00 +2163 2.2575500689916383e+00 -6.6570229362682261e+00 2.5714940421781263e+00 +2164 -2.5495443797185056e+00 -2.3329109872582441e+00 -4.2670870236321310e+00 +2178 -2.2551261847708961e+00 -1.1566366159441925e+00 -1.9710377631770963e+00 +2180 -5.9285646015815471e-02 3.1769451482937132e+00 4.2247839246024155e+00 +2382 6.4758580227654017e+00 -7.8879258054721890e-01 -5.5772945512011540e-01 +2293 -2.8374868869134612e-01 -3.8079670473615286e+00 1.9899472151284887e+00 +2194 -2.4071983707058893e+00 2.2362638956712551e+00 -1.2154228114501011e+00 +2946 -2.8968621109235424e+00 -1.7771544173011073e+00 -3.1848916159805447e+00 +2195 -4.6887069731988040e+00 1.9532343648620774e+00 -3.5740571641520691e+00 +2933 4.7492948063615508e+00 2.6621183660990324e+00 8.7655847661180997e-01 +2932 -2.6322241097689836e+00 -2.3755544394288722e-01 2.1564843318121558e+00 +2931 -1.3710805956727588e+00 -4.2062003017503899e+00 -9.0234527244029139e-01 +2930 1.7042585439534199e+00 1.5185821678893550e+00 -5.0595240496922544e-01 +2917 4.2620276109580244e+00 1.3561650421703588e+00 -4.4526153288948320e+00 +2916 -1.5610093675384482e+00 2.5112684276325035e+00 -5.1288876666204288e+00 +2196 -6.2797974751355587e+00 3.7127428039380178e-01 3.0363970920259580e+00 +2197 6.4224956271227862e-01 -4.9999108789829263e+00 -1.1555011446507832e+00 +2540 -3.9644612174691205e+00 1.4545036120855942e-01 8.9561308024631769e-01 +2210 -7.6221057933003378e+00 1.5333895555152668e+00 -2.2438992494933587e+00 +2211 -6.6365940846231353e-01 7.1725312449351331e-01 -3.3789835836448491e-02 +2212 4.0212532914324708e+00 -4.0856303274224315e+00 2.1387871305718645e-01 +2213 6.0174495664426049e+00 -5.9123930041659847e+00 1.1415365454982844e+00 +2915 -3.8996869195771984e+00 9.5888210234982407e-01 4.3431956939614311e+00 +2914 3.9795152149922766e+00 2.3674211841342143e+00 -1.2240645174833324e+00 +2901 7.1320280872267305e-01 -5.1321130515135704e-01 -9.1151382377422296e-01 +2900 1.6983359276466916e+00 -3.3517850049574271e-01 -5.4097314854381651e+00 +2899 -2.8799673230289198e+00 2.8212645557973746e+00 -1.1798814090262559e+00 +2898 -4.7179792579498194e+00 -2.8656128133679344e+00 7.8175258987723018e-01 +2947 2.2893441718076333e+00 4.9921796795194604e+00 6.3995628889615279e+00 +2884 6.3215320390485701e+00 7.2911207526877997e-01 3.1688293477991860e+00 +2882 -3.2364449800732684e+00 2.3777935631826814e+00 -2.8501395221290697e+00 +2380 3.0591403462203064e+00 2.8969133110159468e+00 3.9694616227595039e+00 +2226 1.5822532323946854e+00 1.1156283558235911e+00 -1.6238934441695694e+00 +2227 -1.3139630161071005e+00 8.0785064758346148e-01 3.5348066322147815e+00 +2228 -4.3467149584486062e+00 -7.9416675391810021e-01 8.9764522126548696e-01 +2229 -3.0630412139075234e+00 -1.0297010144958859e+01 -3.3817348647705390e+00 +2292 1.1837713783274892e+00 6.0254188865187590e+00 3.3969551209274040e-01 +2242 -2.9776209006243053e+00 1.0833590775401638e+00 7.2012899352832864e+00 +2558 1.7959683831346751e+00 1.2676018628011948e-01 -4.9548357855581990e+00 +2868 -1.5449615110755384e+00 -1.1417521285089776e+00 -3.9811375065309766e+00 +2866 -9.8348441475163306e-01 -8.4432407239259516e-02 -3.9925203285622537e+00 +2291 4.7603058319673872e+00 3.7291428522837786e+00 -5.7541873245833957e+00 +2869 5.5988156885214071e+00 4.9372770621596338e+00 3.0008710765178939e+00 +2852 6.9017854678075503e+00 -1.8944271446615006e+00 4.5200434897285485e-01 +2850 7.5289330339480198e+00 -4.0015876157061214e+00 3.8131350039789520e-02 +2867 -2.1958759100571248e-01 -3.2665336696154803e+00 -1.8807824679476230e+00 +2244 -3.9894648172266969e+00 9.2776044495802679e-01 1.5855178768833953e+00 +2290 7.0127853761004664e+00 1.1723959706886187e+00 -8.9592119428697747e-01 +2689 -2.8495135664741529e+00 6.2740876065455864e-02 5.9534679652301934e+00 +2179 -4.1470072480791442e+00 1.7683587300758772e+00 9.6360953679080485e-01 +2378 -2.7010928195969153e+00 -7.1179181287241429e+00 -5.2865480875792175e+00 +2258 8.0850179799498778e-01 -1.4619278629325856e+00 -7.4398258636866661e+00 +2259 5.7279369260125428e+00 -1.0175493419319931e+01 3.1302769984097600e+00 +2851 3.2140568654726742e+00 6.7500019892514311e+00 -1.4610250958149307e+00 +2837 1.9191325474158518e+00 -5.7438998923005906e+00 -9.5192267963951874e-02 +2260 1.2946932033484946e+00 2.3736577561476522e+00 -5.4862157896967298e+00 +2611 2.1354018257878029e+00 -1.7463736097115359e+00 3.6871186704919814e+00 +2836 3.0261525066134620e+00 -1.1840537213822848e+00 -5.2518016264055687e+00 +2834 -6.1830954911035567e+00 4.0562253138937496e+00 -1.8425663930668725e+00 +2261 -4.7730088709651399e+00 -1.0975289601484552e+00 7.7332600608319266e+00 +2820 -5.0080225656755166e+00 -3.4413043139394222e+00 -7.2842723714085333e-01 +2818 3.0417917157139516e+00 1.9839065943010419e+00 1.8677745141858233e+00 +2329 3.5762650394378181e-01 -1.3254287086158090e+00 -3.5611435188142293e+00 +2579 -1.5880559211212510e+00 -1.2440234775764827e+00 2.9134292671788851e+00 +2274 3.6472833482296368e-01 1.9475662274614149e+00 -2.8839674282419190e+00 +2565 -3.8342060653250307e+00 -1.0565975532405131e-01 -2.2794558313691642e+00 +2275 2.6375643352524079e+00 -1.1722872853293585e-01 -1.3545723046521601e+00 +2595 9.8660931669551455e-01 5.6163701704065938e-01 2.7745855867935315e-01 +2276 -3.1672835910653077e+00 -1.9280892622586028e+00 -2.6996500792182826e-01 +2757 2.3085197825570719e-01 7.7549618323544278e-01 -1.3336068046115217e+01 +2581 -4.1079008015340310e+00 2.5198459567365052e+00 5.5609539438991384e-01 +2394 5.2964798413418164e+00 1.6979182198697548e-01 1.2647782218498513e+00 +2393 -1.5782591883615116e-01 -1.6615066057121981e+00 -1.5928337063576439e+00 +2181 -1.5670496751649670e+00 2.1107010263734658e+00 1.8761783818454802e+00 +2789 -4.3953287801090868e-01 1.4889925148467309e-01 -2.6106114238139573e+00 +2788 8.2161992580632930e+00 3.0203228047699486e+00 -1.6518272941265575e+00 +2787 -1.1274536723553844e+01 -2.0527528318938587e-01 5.9408300745133804e+00 +2083 1.2532244484707713e+00 -8.5741084539099983e+00 1.7163766691175035e+00 +2449 -6.3110718952367617e-01 2.4005202872728524e+00 9.3502885621412157e-01 +2325 3.0674046761292217e+00 5.7345029271804693e-01 4.7797046705111157e+00 +2306 3.6254885222973060e-01 6.3227924078253306e+00 -8.3900209645293042e+00 +2308 -9.4381098742842315e+00 -5.2231948247728637e+00 7.2481042303951515e+00 +2322 -3.2264854807792736e+00 -9.6454412543174539e-01 2.9630825771813525e+00 +2324 -8.4377135999575632e+00 1.1738018200788551e+00 -2.2921088628961637e+00 +3013 -2.4344764066488898e+00 -6.8500797863323282e+00 -1.8873807141682668e+00 +3011 3.8922240656649243e+00 1.3519933025947133e+00 -2.5072012876926830e-01 +2786 3.3699069405366178e+00 2.4450955796453981e+00 1.2303598423435318e+00 +2773 -5.1524563937794776e-01 -1.2144700877995462e+00 1.1536875225538157e+00 +2772 -1.2620631361930414e+00 2.6135689684245662e+00 5.3477037594585823e+00 +2771 -6.7838978183732461e+00 -1.3872886917692582e+00 -1.1379490878356506e+00 +2770 4.7831628356888070e+00 4.1647511917689020e+00 7.5402727054302554e+00 +2756 -1.4055054340748201e+00 2.3826180242672979e+00 1.1414410643673849e+00 +2392 1.0312085505955746e+00 6.6795445052284341e-01 5.4032493249062759e+00 +2338 6.3198983924076817e+00 -3.8149917555206079e+00 -9.4615820152588936e-01 +2340 3.1065302594334354e+00 8.9914998663233303e-01 4.6197914806126414e+00 +2354 1.2782912501244827e+00 -2.3792110395186090e+00 -1.1998306621577879e+00 +2356 -5.5820821674453942e+00 -5.9278292583482850e-01 1.2849025663124194e+00 +2370 -3.2933105003599246e+00 -1.1650566788893011e+00 8.2901930934889290e+00 +2372 -1.1842546129050433e+00 5.0074861312660768e-01 2.9759729946567561e+00 +2386 2.7466330807228134e+00 -3.1914189090552632e+00 9.6983414255078282e-01 +2387 -5.9385032063720216e+00 -1.9419052533315413e+00 9.1544833603829501e-01 +2754 3.1071560616823746e-01 3.9028852940654808e+00 -2.7654243562714238e+00 +2741 2.8193455147842184e-01 1.1759297911407058e+00 -4.3417817755784158e+00 +2740 5.2291571873258320e+00 -1.0295118375756089e+00 -4.2222342229735883e+00 +2739 2.0549569143817057e+00 -5.7841727451058156e-01 -7.0461890840926397e-02 +2738 -4.6274903529849531e-02 -3.6292628435362646e+00 1.9281589055284372e+00 +2384 -6.3122482754584686e-01 -5.9102028185109790e+00 1.7498784948087617e-01 +2724 -1.4267898259902445e+00 1.9475488930716882e+00 1.3530078354365332e-01 +2723 3.9627727625538651e+00 4.8574627845919851e+00 2.8351292164290698e-01 +2388 -6.1975669436431042e+00 -5.2105774323022294e+00 2.3317037959193900e+00 +2389 -3.4109361087506533e+00 2.2925852520047800e+00 -2.3203127617355728e+00 +2391 3.8931360969786879e+00 -1.3238565054494367e+00 -2.7664588740618221e+00 +2402 -5.1967591544638259e+00 1.9638545673366905e+00 3.7132905670378742e+00 +2403 2.2955243374418602e-01 5.3613990031134162e-01 -1.3939084942979412e+00 +2404 2.4361265002679011e+00 -1.8266050658468567e+00 -2.1073159519476081e+00 +2405 1.6100884268222124e+00 4.5646749256782826e+00 -1.3241603515731850e+00 +2418 -5.9418762428265302e+00 -4.7067423286388532e+00 1.7226915540801970e+00 +2722 1.2458670479201697e+00 -5.2919553389622409e-01 1.0687187056703791e+00 +2419 -3.8638975243827103e+00 4.0318654725471177e+00 1.7182679597640134e+00 +2709 9.3792096531261993e-01 -2.9095202092338575e+00 -1.7414081016269318e+00 +2708 1.7067221089488209e+00 3.9196499187265132e+00 6.4702526662132931e-01 +2707 -4.4654445742880604e+00 3.9677488360701165e+00 -2.7509932850073446e+00 +2706 -8.2725440524795757e-01 -1.6018550920307961e-01 -4.0424925648711536e+00 +2420 3.2324730697168431e+00 1.1927581685657751e+00 -1.6946445074589886e+00 +2802 -5.1240229352880986e+00 -2.0236047677529614e+00 -4.9184376919315751e+00 +2803 -6.1976738000351235e+00 -5.7243156459662903e-01 -4.7914880341167070e+00 +2804 -6.2670829172429565e-01 -1.4757467373327809e-02 -1.2816067728663580e-01 +2421 3.2136785232821543e+00 5.9772832896014547e+00 -2.2793316848393044e+00 +1025 2.3644065863319108e+00 -5.0749089669534015e+00 -2.9525972187289478e+00 +2434 9.7190151758035626e-01 -7.0366602469659751e+00 -2.2176930608288767e+00 +2436 -2.1396316390090795e+00 4.0190628434589586e+00 6.3406028074664613e+00 +2390 4.7360411245364364e+00 3.7196236760911799e-01 1.7759659307935727e+00 +2450 2.7844438769928903e+00 -2.3404360186149988e+00 3.3351329924236066e+00 +2451 3.4764792229361724e-01 -1.1868508773180595e+00 4.8073675898512724e-01 +2452 -2.9492262934507609e+00 -1.4485376146644118e+00 -4.6972884073965968e+00 +2453 -2.6238674160789639e+00 -1.4954841722181131e+00 5.4608271698929221e+00 +2805 1.6065940897552384e+00 1.8425909989151519e+00 -2.1456859528144663e+00 +2692 -3.6371625071024640e+00 1.8354168479816295e+00 -4.5097630029486535e-01 +2690 -2.8183678826894969e+00 3.2153736319789084e-01 -3.9748423986327663e-01 +2466 -6.1203840998100540e+00 -1.1944677823949330e+00 -3.0280856806702277e+00 +2677 -2.2138743347102463e+00 1.6417898136356825e+00 3.2226578465896694e+00 +2467 -2.9111603875924241e-01 3.6448785419518175e+00 6.7474083545272636e+00 +2676 1.7811786664479834e+00 3.0433032996940019e+00 1.9864308934570470e-03 +2675 3.8268917174370527e+00 -1.6240776926642040e+00 -4.5460492401740122e+00 +2468 -3.9057974787876217e+00 -1.3185311526101962e+00 5.1848741425992850e-01 +2469 -2.3301349287048723e+00 3.7384369981455752e+00 6.3648702598973583e-01 +2482 -1.2976240275246753e+00 1.7453900486424312e+00 2.0460849779120478e+00 +2483 4.1265353450135862e+00 1.9799098795959960e+00 -8.8955834165900438e-01 +2484 3.3277412008253342e+00 -2.7091637650379652e+00 4.2573539041035966e+00 +2674 -2.7911408869990653e+00 -1.4485399976674185e+00 -1.0110724430478020e-01 +2661 1.3690554914698325e+00 1.9460930546658470e+00 -1.9840343491964574e+00 +2485 -2.6480590761180971e+00 7.5595811244001876e-01 6.2015838824690324e+00 +2660 1.7079559333861716e+00 3.0034934431537880e-01 -7.9501296906732986e+00 +2659 -5.9085971649040991e-01 1.2784819033078958e+00 1.2201917609736459e+00 +2658 2.1275054027628624e+00 6.2853905694682473e+00 1.6983389111800498e+00 +2644 -1.9608987424870987e+00 -2.3010782796927884e+00 -5.1692009774343655e+00 +2643 8.6955575806118657e-01 1.4604207228807280e+00 -1.1855085983128457e+00 +2642 -3.3127094097150329e+00 2.8124977699500011e+00 -3.5310307118755513e+00 +2628 2.8344524146927510e+00 -6.3854316677021350e+00 1.9411278417181106e+00 +2626 -5.5441501102498647e-01 7.3885944655714493e+00 -7.7694937482295821e+00 +2691 5.1920158436740793e-01 1.9942943161974680e+00 -1.5917347784475637e+00 +2243 3.6980680827166048e+00 5.9198455639769687e+00 -4.2791324234060761e+00 +2498 -2.1907528166647459e+00 9.6331958777902016e-01 7.0530786822578362e+00 +2339 -1.0151591615680640e+00 1.1799901787000531e+00 -3.7354390182874742e+00 +2500 -4.4613129194704149e-01 3.6158627392368031e-01 -1.5787076320881080e-01 +2693 3.5449685427794448e+00 1.9442773045019273e+00 1.7800781455325942e+00 +2549 -6.5161188163190635e+00 3.4133322823911714e+00 2.4881587335032740e-01 +2548 1.0043452989995434e+00 -2.6959056174017024e+00 1.0694393265549660e+00 +2547 3.8953948453818996e+00 -1.6516746334172516e+00 1.5120311594063301e-01 +2546 -9.8844484821357759e-01 -2.0835892161939524e+00 1.0861652612658401e-01 +2245 -3.8025597968704208e+00 -9.7038187547602006e-01 -4.3052733409431870e-01 +2612 -5.2579437498493045e-02 6.7720370188013099e+00 1.8665153951445288e+00 +2610 -8.2475320589608458e-01 2.1387150828178483e-01 -1.6385731452153758e+00 +2376 1.9980623866315763e+00 5.9259582999007432e-01 -7.7193992911906872e-01 +2115 -6.8255954641230646e-02 -2.3279903141439560e+00 5.7909690440157542e+00 +2627 2.1053884750495730e+00 2.3337723953366210e+00 6.5527312061490619e+00 +2629 -1.7063654494872469e+00 6.6279571567276845e+00 8.1166374863014412e-01 +2514 2.4575602731485580e+00 -2.0604439517078985e+00 -6.3551364707170571e-02 +2515 -3.3359724983734025e+00 -2.6179916179543112e+00 -5.2194299955700245e+00 +2596 3.8405345670057511e-01 2.8778746462040150e+00 -3.2952788015755954e+00 +2516 5.5680457806998609e+00 -1.1634891899867071e+01 -3.7803105902706752e-01 +2530 -1.4471834478997105e+00 6.8903103663993681e+00 4.9211993117535293e+00 +2531 3.7725195212601599e+00 2.2983290933682201e+00 2.0766589015871700e-01 +2532 -1.8392752979520710e+00 -3.9746436896629431e+00 3.6696860848529065e+00 +2533 2.5778919814117591e+00 -2.4730791782699781e+00 3.8767726406088849e+00 +2067 -3.1723134696991786e+00 1.0975793191272087e+00 4.0642065239210046e-01 +2594 -8.2067992211845642e-01 1.7607541019904389e+00 4.5775897055901664e+00 +2949 2.9336261209061592e+00 -7.1806200284538699e-02 -4.2666006911648848e+00 +2051 4.9374275380520694e-01 1.2307500617428645e-01 -6.3822015142856525e+00 +2580 3.0131656188343334e-02 -2.0746468386913657e+00 1.1882096542163343e+00 +2578 -1.0495344182996913e+00 -3.2213036954719942e-02 -5.6234398179503808e-01 +2371 -1.6934535410800991e-01 2.0686997834838756e+00 -3.2731902733685514e+00 +2755 -3.6719241736105364e+00 1.0215490964172742e+00 -1.8709771177990284e-01 +2435 4.7581633992531156e+00 3.9875491288834461e+00 1.9770140096058779e+00 +2819 7.8601672193886163e-01 1.1866421194349737e+00 -4.2792339040447711e+00 +2564 -5.9949885061585935e+00 5.5072862981326995e+00 4.5473039190834692e+00 +2562 -1.0652363246884267e+00 -9.0562525182069942e-01 9.1015892610670723e-01 +2835 2.5000009856401744e+00 -3.9293367381511923e+00 -5.0716049274576882e+00 +2829 6.2974298626041030e+00 -3.0346041533763488e+00 1.8445337930261951e+00 +2589 -4.3403449186481369e-01 3.2337707680130556e+00 3.5602152810727521e+00 +3015 3.1400159700001371e+00 3.4081414435205302e+00 3.5318617075860086e+00 +2885 -5.0358000164443881e+00 -5.1613686778326091e+00 3.4962302497795075e+00 +2621 -1.1188379992145314e+00 4.0030636812195102e+00 5.4930154142386529e+00 +2841 1.3037965769223763e+00 -1.7114491377295739e-02 -1.3160537076580243e+00 +2379 1.7062030422774492e+00 -3.6808525593780441e+00 1.6942481422972860e-01 +2505 -2.9527083837281638e+00 4.9378787135113207e+00 3.3625676595720160e+00 +2873 -1.3895874516067352e+00 2.2906547085557474e+00 3.4584886959015599e+00 +2319 -3.0326557006081911e+00 -1.7833766233312007e+00 1.3521766464387261e+00 +2619 -4.2113823878587660e+00 2.5442656819849452e-01 -7.0535794524645716e+00 +2599 -5.7872136288698597e+00 4.4677671447443155e+00 6.7689609942109596e+00 +2443 2.8427317527693408e+00 -4.9425860045540615e+00 -2.3972703717627244e+00 +2893 2.3112988965983539e-01 -5.6048151860599944e+00 -1.2589335255331568e+00 +2831 9.2186810765029525e-01 -1.2292550610543358e+00 -1.0937775245379449e+00 +2839 2.4883594133377636e+00 9.7077128989514372e-02 -3.3801746227750251e+00 +2879 -9.0411979851764031e+00 -2.8328730923625876e+00 -5.1816264935638428e+00 +2601 -4.5452089755796593e-01 -2.2575491547595470e+00 5.6080401819835561e+00 +2583 -3.0457785288361068e+00 -8.2340601406694880e+00 -2.9463745303052722e+00 +2445 -3.7153322387084047e+00 2.8422289969470316e+00 -3.1441845763115983e-01 +2377 4.1448592060469123e+00 2.3758630661368758e+00 -1.3832013257623017e+00 +2875 5.6509797588954997e+00 -8.3509492885896019e-01 1.7235622836092918e-01 +3045 -1.2037012188561185e+00 -2.9602617527375714e+00 -6.4809099895240783e+00 +3041 8.1401993673180240e-01 5.2888289914105346e+00 -5.1368690069334528e+00 +3040 7.3337625642376314e-01 1.0292556731894724e-01 -6.0275535511098814e+00 +3039 6.0603603309738014e+00 -5.0006567301275329e+00 -1.5284541638275548e+00 +3038 -6.1979641482097253e-02 1.0606936158350400e+00 2.3432053961912542e+00 +3037 2.6518309384424201e+00 -3.6860765647912199e+00 2.4399936389178594e+00 +3036 -2.1419263508926010e+00 5.8266977447432327e+00 3.8098102398125042e+00 +3035 3.2945874323477238e+00 1.5810361329652525e+00 7.5177322270754132e-01 +3034 -3.7100008397741489e+00 -5.9083004880880150e+00 -2.7313732837831348e+00 +3033 -9.5796799980106928e-01 -1.9743032874944735e+00 -6.0708857155174956e+00 +3032 -4.6824888228471888e+00 -1.6953882448285449e+00 -2.2613938632793924e+00 +3031 -6.7497870632237089e-01 -1.1024980523174150e+00 3.4680356496312681e-02 +3030 -2.0027959249446492e-01 -1.7284466211538494e+00 2.7010728416235903e+00 +3029 4.5776931282954916e+00 -3.6137436718961853e+00 1.7093878411375414e+00 +2657 2.8143380258690689e+00 -2.2092613823290255e+00 1.2936417438645043e+01 +2417 1.0922863444177537e+00 -1.9766033039965063e+00 6.4815892085848004e-01 +3022 5.2698852219119052e+00 -4.9522162751877721e+00 -5.2340636616045009e+00 +2953 5.5500335569965109e-01 -5.7579550388728251e-01 1.5952650211021163e-01 +3020 -3.0269472245046432e+00 3.7548225925270038e+00 -4.2805722850982182e+00 +3018 1.8707646910790887e+00 6.0659667330708378e-01 2.5081567765411657e-02 +3016 1.4744358969085363e+00 -6.3157058589445869e+00 -5.5471738615390667e+00 +3054 -7.3396215652137791e+00 3.1088962268456459e+00 -3.5184094047339536e+00 +3014 3.6632158976031087e-01 2.7984563103761944e+00 1.0196417173824168e+00 +3046 4.3596296602208815e+00 2.4351031956457803e+00 -1.7279224683388374e+00 +3061 -4.5948197392640191e+00 -7.0882665460064018e+00 6.7444654110038260e-01 +2080 5.1032372812886466e+00 1.2249718705763135e+00 3.1009646166850269e-01 +3007 -2.8157840924824512e-01 3.2630204346756719e+00 2.1104224962657195e-01 +3006 2.9397429085383378e+00 -1.8388798809912457e+00 -1.7583258361609295e+00 +3005 -2.8779185457250840e+00 2.5721264396402481e+00 1.2342498754523901e+00 +3004 -1.7235672440306768e+00 -5.6858109969246851e+00 -2.8579003386867146e+00 +3003 -2.3722300510934997e+00 2.1323192927560246e+00 2.4234692072438833e+00 +3002 1.0526791689280852e+00 1.4049511390562647e-01 1.8663553440585401e+00 +3001 4.1931533139541521e+00 -3.6012685007950651e+00 5.2710562189473087e-01 +3000 2.7896156114471360e+00 4.4466178487633989e+00 2.0377793111779026e+00 +2999 5.1547386361351073e+00 -6.6888640779436956e+00 3.8485596970194007e+00 +2998 -1.9324196964001741e+00 -5.8994282555957289e+00 -2.5259580417368852e+00 +2993 4.9264268391103183e+00 -4.6845329765735855e+00 3.7913660153368576e+00 +2272 2.1335513520193143e+00 1.2138521128778299e+00 -1.9061129383326896e+00 +2991 -1.6166173012612965e+00 -1.3892590314000717e+00 -6.9756745463404868e-01 +2990 6.1066260048816021e+00 -1.2176675508567341e+00 5.8881700355025390e-01 +2989 1.2018008898690449e+00 2.2611491880769594e+00 -8.6573183663142519e+00 +2988 -4.3935428476094307e+00 9.3020496003539743e-01 3.7930347550988563e+00 +2987 -2.0368634074818925e+00 -2.5265085628076709e+00 -4.0181997417327482e+00 +2986 8.0143415340382274e-02 3.8594275946549961e+00 1.3193611981003028e+00 +2985 1.1232596933542063e-01 1.2025237862974663e+01 2.0587506096441808e+00 +2984 5.9173354932564299e+00 3.1126177367618766e+00 4.4971547428485783e+00 +2983 4.7275953598562515e+00 3.2400994175715176e+00 -2.5092767040169434e-01 +2982 -3.0941145048756691e+00 -2.2603075116816087e+00 5.6783180882271402e+00 +2977 -5.9622756273954725e-01 6.0221726476407191e+00 -6.7197451663119985e+00 +2976 1.6322737406702008e+00 9.4149512041295367e+00 3.2045379100084932e+00 +2975 3.4421986425450823e-01 2.2443849964513967e+00 -3.0071092766789027e+00 +2974 -9.4559333175237437e-01 1.6489259236136855e+00 -7.8395241796651971e-01 +2973 4.2603014470906384e+00 -5.5042713638939045e-01 4.0055905265898613e+00 +2972 -2.4626066351682718e+00 2.7193249170028744e+00 3.4902863276118392e+00 +2971 6.7371195791660465e+00 2.2721761195242243e+00 2.7546102339803280e+00 +2970 6.7146637952971100e-01 5.7579265073637815e+00 -1.2426296366492495e+00 +2969 -3.8394946434814670e+00 -3.0130998936553794e+00 -1.8983819679417684e+00 +2968 -1.4249323714517854e+00 -1.4386787110292170e+00 6.4295153191163692e+00 +2967 -4.3145095384996548e+00 3.6882113730489102e-01 -7.4742901588043476e-01 +2966 5.0315082020901851e+00 -3.8456977324382913e+00 -1.2161460118947094e+00 +3741 -2.1310623497838708e+00 5.0142796880372700e+00 8.1259727428995443e-01 +2960 2.5020043165557313e+00 8.1190203234671854e-02 -6.9259170091575104e-02 +1409 -1.0592960565852430e+00 -7.1047704783954408e+00 -5.8180042946507955e+00 +2958 -5.6569348114732252e+00 -6.2677347713100460e+00 2.4162025069428710e+00 +3062 -1.9260874795283969e+00 2.0048305218348905e+00 2.4024513048044316e+00 +2956 4.4048890258063054e+00 3.2637771121594814e+00 -7.2718461650096442e+00 +3047 -6.0403516438020621e-01 2.0004287064043522e+00 -3.0219969668532305e+00 +2954 3.9393837923990742e+00 -8.7780379064992187e-01 -8.6738636960466167e+00 +2952 4.2096905956837336e+00 -2.4296277628805156e+00 1.5342044230890974e+00 +3063 -1.8033445488017257e+00 3.4547976308287169e+00 3.4675186662958963e+00 +2950 2.3767744324267568e+00 2.7957521872502888e+00 4.5771566937782096e+00 +3048 8.6904721232033282e+00 -3.5727504424280627e+00 1.6698592354866121e-02 +2912 -1.1353049549227953e-01 -3.7357948906904554e+00 -6.2017641069984890e+00 +3049 3.5241058924005015e+00 1.5111188486208178e+00 -3.1902401567953986e-01 +2688 1.4883199618838590e+00 3.4518706341193717e-01 -4.2388867159375705e+00 +2943 -5.4931146671090858e-01 -1.6248879311089528e+00 -2.3923845927092815e+00 +2942 -4.3336888801910964e+00 -4.3955403472659560e-01 4.2770776201104184e+00 +2941 4.3136884760723335e+00 8.5850169461158488e-01 -1.7554224972586047e-01 +2940 -2.9249313189657844e+00 1.6687289311059647e-01 -9.8240524631297510e-01 +2939 6.7255377034165420e-01 5.6091358806942209e+00 -1.5632666873839187e+00 +2938 -3.0592352606964393e+00 2.0114534840926117e+00 6.2716693656617917e+00 +2937 -6.8254601970979341e+00 -4.2273556995548676e+00 2.3003126990986793e+00 +2936 7.7670229540220035e+00 -4.9128241990401929e+00 -4.3744423889688084e+00 +2935 1.6405585701850238e-02 -1.3871282899043740e+00 -5.2219252228796504e+00 +2934 1.3911156994433869e+00 2.0341763510018200e+00 -3.8291405663235495e-01 +2097 2.7817518579482310e+00 2.8251342590654218e+00 -2.4148879925863045e+00 +2928 3.7900832243056000e+00 3.6052636515360881e+00 -9.7050437306701589e+00 +2927 1.2102118846365655e+00 -3.9964036052395158e+00 1.3031733929936420e+00 +2926 6.1938556572379344e+00 1.5550981346929318e+00 -2.4897741772537727e+00 +2925 -1.2763487517336716e+00 -1.6248755262786709e+00 4.2316591244414665e+00 +2924 -1.4241140851738461e+00 2.4890835146055275e+00 3.4272713955436300e+00 +2923 5.1960904885974890e-01 3.0357139849885217e+00 2.6004586616788754e+00 +2922 1.4259565121320705e+00 1.3420976491738892e+00 3.1773628063509953e+00 +2921 -7.7666846564068259e-01 9.5630494632102891e-01 4.6404548527827902e+00 +2920 4.2775141891202315e+00 -4.8666387370413915e+00 5.0383110501211812e+00 +2919 3.3254423114878824e+00 5.0181501114899518e+00 -4.9727772248917574e+00 +2918 -1.8316978744587462e+00 2.9617136006890359e+00 2.0141164762244439e+00 +2374 -1.9410356448760302e-01 5.8788381633004527e-01 1.8282541199520055e+00 +3145 -5.6571566420082036e+00 2.6276073894673040e+00 -1.7777583732939741e+00 +2911 2.2435527362699239e+00 -3.0175439494094820e+00 -3.2303260120779660e+00 +2910 -7.4841714492671461e+00 4.1217189997544814e+00 -2.5804367495058722e+00 +2909 -4.4628191721338322e+00 9.5570682436757470e-01 -6.7561312277803376e+00 +2908 1.0254810554261775e+00 -5.2865957410200337e-01 -7.8234161684471959e-01 +2907 4.4383243002018062e+00 3.5770354807098319e+00 -2.1899161791223891e+00 +2906 -4.3562426204653546e+00 -8.3145108574219702e+00 -4.3658996642359051e+00 +2905 8.6875950099349541e-01 3.2938191459212351e+00 2.4143389869183780e+00 +2904 3.2151877034687198e-01 3.5748006434714625e+00 1.7013578191136298e+00 +2903 -4.8094543537667578e+00 -1.6997416534672845e+00 3.8676663397452122e+00 +2902 3.2344574572877489e+00 5.1966792356979363e-01 3.6315675578836109e+00 +2321 -5.4246174951686470e+00 5.7851364676216466e-01 -1.0832882499592917e+00 +3478 -1.4772840232059381e+00 -2.3680582109191000e+00 7.5746643458991225e-01 +3064 4.0464787594738310e+00 3.8241915031452728e-01 -3.1354870615375687e+00 +2894 -2.6307799254895099e+00 -2.8994434766460433e+00 4.0554273032311949e-01 +2892 -2.7080685743128536e+00 1.7324812754015366e+00 4.1360968572298906e-01 +3065 -2.0092192923528795e+00 -7.8904024951728924e-01 5.6227854423931500e+00 +2890 4.9687893864977131e+00 2.9516625249383375e+00 1.1131520703918385e+00 +2847 -2.6140049963169326e-01 -2.6300476497423558e-01 2.5804664751571456e+00 +2888 -4.9832573433897700e+00 -2.1043732242864035e+00 -1.5314503000147626e+00 +3066 7.5523358892355441e+00 5.1064790655040042e+00 -3.8128572716087743e+00 +2886 1.4241711167892495e+00 -6.4375118162635650e-02 1.6058878437294783e+00 +3242 2.2253153688122480e+00 6.1020746260010768e+00 -6.7440743952807769e-01 +3067 2.2312161703556797e+00 -3.0901688830209477e+00 -2.4071585097155985e+00 +3068 -2.5555502995222295e+00 2.5798173513866951e-01 6.0138638021708299e+00 +2880 5.4182549046599071e+00 -2.8918403543412463e-01 -4.3377097068483161e+00 +2639 -2.1975611227503746e+00 -5.1157134114441971e-01 -6.1369954394685955e+00 +2878 8.9268750741376679e-01 -5.5263186116512264e+00 -2.6803809951285102e+00 +2876 3.0250478279163862e-01 -6.1682471896915125e-01 -5.6494440343751853e+00 +2288 -3.0777557192805571e+00 1.8004015529803998e+00 9.7112823515583901e+00 +2874 1.3817795557593893e+00 3.1218495307507932e-01 -1.7771767612283068e-01 +3050 -2.8796274212448847e-01 2.2388594055104831e+00 -1.2799710045318262e+00 +2872 1.2833896135324132e+00 -1.9895117269663325e+00 -2.4678884888633483e+00 +3051 -1.6141950136377194e+00 -2.2106018416130238e+00 4.5947756874606664e+00 +2870 2.3681786914909568e+00 1.7102645761576046e-01 -1.2544258303850846e+00 +3052 -7.2299161704949393e+00 -1.8388465127470035e+00 7.6496773074114255e-01 +3053 -1.9650935787556347e+00 7.3025938374917360e-02 3.7279283849779152e+00 +2603 -5.5622517361023371e+00 -4.8997290316970297e+00 -6.7419731390812609e-01 +2864 2.9167733710580075e+00 4.6644815968565174e+00 -4.5536890444253837e+00 +2862 -3.2055351780883878e+00 3.5199332019366514e+00 -2.7514060176534016e+00 +2587 -4.0316244994934465e+00 -6.0060555575593657e+00 -4.7208605161552883e+00 +2860 -3.7532300543347770e+00 -3.0154105797147301e+00 1.8528252881279685e+00 +2858 5.5113501890560377e+00 -1.7721518672888690e+00 -2.0281485768409180e+00 +3055 -6.8689942176718723e+00 -3.2099380898750223e+00 -1.1148690854690015e+00 +2856 -3.4276323153243893e-01 -5.4742559511349125e+00 3.1823095284622110e-01 +3023 2.6666126407815609e+00 -7.5031737554963798e-02 -1.2933853713716850e+00 +2854 8.0015176336091476e-01 6.7040209042912560e+00 4.0803413443002512e+00 +3017 -2.0881869769364081e+00 4.8635217152296990e+00 2.5425241639874563e+00 +2863 -3.8517822563643325e+00 -4.6946687826143391e-01 -1.2564653237675809e+00 +3019 -2.1334207065083315e+00 5.2766413335224682e-01 2.6824455612784135e+00 +2848 5.6486288787302597e+00 -1.9482124644911847e+00 2.9296911907655092e+00 +2846 -5.0436592693370912e+00 1.1238736471293717e-01 4.4608066287511985e+00 +2844 -2.6039359189807341e+00 -3.1324757654019635e+00 -1.6666194832251808e+00 +2842 -7.3002235952637946e+00 -2.6806257783647642e+00 -1.0865090226208978e+00 +2840 2.1579345750579466e+00 6.5588321641833158e-01 -5.9406350684637141e+00 +2441 3.0783659992560222e+00 7.2519066291722067e-01 -6.4170928566647358e+00 +2838 -1.9147907642148410e+00 1.0830505318734882e+00 3.4380767829626215e+00 +2887 1.5787843286781431e+00 1.7402429250477975e+00 -1.7517180072033940e+00 +2929 3.9194864650068091e+00 -3.2398049604894021e+00 -1.3108539515510560e+00 +2383 1.5726002972317787e+00 1.5390252221831207e+00 3.7757938584235067e+00 +2830 -1.6719314174901498e+00 5.8146698287109420e+00 -1.6712090937356394e+00 +3069 3.2459081048523490e+00 8.5624452119091252e+00 5.5663301478770855e+00 +2828 1.6945737985332643e+00 -9.1610629014572424e+00 -3.0385985374574704e+00 +3070 4.7090033446567228e+00 -8.4770615439869346e+00 1.2661612802091515e+00 +2826 2.3802007826557738e+00 -3.2388040821018853e+00 2.9970656567370750e+00 +3071 6.4702905371767350e-01 -5.0663371726776312e+00 -2.7835935150170632e-01 +2824 -1.7746053410072775e+00 -7.7265056340991105e+00 -5.5353176990934054e+00 +3072 8.9792889875082471e-01 4.5501796745909644e+00 3.8746352008335028e+00 +2822 -3.1795119831746965e+00 -2.0035777578406062e+00 1.1328155972805709e+00 +2061 -1.7486891768553690e+00 8.1931123021973062e-01 -6.9184533995523605e+00 +2877 6.2687775608230858e+00 2.4415686238775150e-01 -2.4667174963680241e+00 +2591 -1.2358697890324855e+00 -3.6040921572134565e+00 -7.1060718109330239e+00 +2861 -3.3246865306504123e+00 6.9439137925070249e-01 -2.8801628120511658e+00 +2617 4.1844001162572155e+00 4.6855066203986580e+00 2.1409164616608409e+00 +2857 -4.8337156098534634e-01 9.5309847009070015e-01 3.1777037665725172e+00 +2865 4.3808834083264649e+00 1.5788987017100489e+00 -2.2467824942441053e+00 +2256 -9.2372641386734100e-01 -4.9326718908580389e+00 -1.3751010567137203e+00 +2633 3.4265620996859512e+00 -1.8938820570395507e+00 1.7545247214564013e+00 +2573 3.8791507721531826e-01 -6.2902681150538049e+00 -6.6755551329172009e+00 +2127 6.3876381152545632e+00 2.6437000645680144e+00 -3.6120098868032802e+00 +2121 -3.6615569848761251e+00 1.0109450969315299e+00 2.5814639250317408e+00 +2765 -4.0219899889543393e+00 1.8215863168855524e+00 2.5791604050505219e+00 +2059 -3.5995431249455150e+00 2.5831843961748815e+00 3.3917283421497735e-01 +2845 -1.5428033036587632e+00 -4.4854829915781878e+00 1.1062584573381007e+00 +2607 -3.7034350782941372e+00 5.2994729083795340e+00 -6.0090247507806516e-01 +2185 -3.0277605550748317e+00 1.6545890892131282e-01 2.1489921739100821e+00 +2249 9.3991356949147580e+00 3.7238168602868713e+00 -1.8142655793846447e+00 +2119 -8.9348441109724397e-01 -1.1543945226204935e+00 -3.5316000500781093e+00 +2843 9.3627232802049338e+00 6.5380636876346969e+00 -4.9199009385427441e+00 +2187 -3.9263144441246145e-01 4.6491604875608772e+00 1.8770210538969634e+00 +2191 -8.0700404273017483e+00 -2.5110790414464828e+00 4.3339900083723135e+00 +2871 -2.5250601373629333e+00 -8.1666969492581931e-01 3.7857429932970779e+00 +2761 2.1014525072340615e-01 1.8184582936173521e+00 -2.4961535559378802e+00 +2790 6.8378048017702104e-03 3.6991389998883375e+00 -5.7322350954998100e+00 +3480 3.4749335364058740e+00 4.5450816575968860e+00 -1.8623340150569949e+00 +3281 -1.4078278240317288e+00 -1.0249468707439480e+00 -5.0881926988805137e+00 +2783 4.1139638303758659e+00 2.3649494586956208e+00 1.5944139486475033e+00 +2782 -3.4288476879114840e+00 1.5021721125882430e+00 -4.4098317905970391e-01 +2781 6.6783447594023677e+00 -2.0143464566539593e+00 -5.1695225923589510e+00 +2780 3.7183993662258947e+00 3.0355799797759606e+00 5.7526739901207540e+00 +2779 -2.6934364865048721e+00 4.4584091683918707e+00 -9.8810239355222329e-01 +2778 4.1676689830298308e+00 -5.9089195888214405e+00 -4.6346127202120160e+00 +2777 4.9286447068074484e+00 -1.6322439060671061e+00 4.4438631889410800e+00 +2776 3.2210170809812735e+00 -8.6140218906704611e+00 1.5226458440945678e+00 +2775 1.8592337250350899e+00 2.6767835257055523e+00 -4.5988460928958057e+00 +2774 2.9316230840300658e-02 -5.7186834876115855e-01 -5.7416535138495317e-01 +3377 3.3313441355045716e+00 2.9375892564682418e+00 1.2962692353323910e+00 +2768 1.1730453736865022e-01 -8.2800504818913954e+00 3.9206490898428559e+00 +3024 6.5034813016484510e+00 -1.9599679122402420e+00 -3.4031438787386470e-01 +2766 -3.2363336012410695e+00 -3.0759196044892598e+00 -9.5074979010909788e-01 +2797 8.3373416478400628e+00 -2.6168545845010236e+00 -3.4779329241657009e-01 +2764 3.2585716088235799e+00 1.8986442267098824e+00 -3.2923458325001325e+00 +2763 -2.0275359318376343e-01 -7.1805803356589870e-02 -2.4721279514152568e+00 +2762 -9.6134133468369032e-01 1.3199422286174691e+00 7.4538015151933579e-01 +2798 -2.4007860325540911e+00 -3.7795302303195930e+00 2.4267765466695843e-01 +2760 -1.0639350798914442e+00 -4.3121179417931748e+00 8.0769538282015896e-01 +2796 -2.6310263255124124e+00 -4.1550978384857888e+00 -3.5550396662017372e+00 +2758 -9.7497339945927974e-01 3.3427877123161256e+00 1.7022971065488202e-01 +2792 3.0222215224561051e+00 -9.7338059230098917e-01 4.3844463209375579e+00 +2793 -1.9828546598963770e+00 4.4662428703514223e+00 1.2863214707764967e+00 +2752 -2.5578106229259834e-01 3.7711419119651524e-01 5.1147713641428485e+00 +2751 -1.7849501464813953e+00 -5.1879630062569575e+00 -4.3603237672634609e+00 +2750 -2.7413530953352736e+00 5.0883320708580309e+00 3.3452088389200534e+00 +2749 -7.2413638479530871e+00 -6.7152455075088324e-02 8.7883343069973492e+00 +2748 2.1788756572622545e+00 -2.2408575269525075e+00 -2.0466260757754942e+00 +2747 -3.7716328595944648e+00 1.4819236111281302e+00 -4.9912849718861629e-01 +2746 1.9883573827856431e+00 -2.4457512718348191e+00 -8.3503054824651439e+00 +2745 5.6599085441914658e+00 4.9202265831688363e+00 -1.7071919203903547e+00 +2744 -5.9870053474353533e+00 1.0059901692116915e+00 -3.0639989936705869e+00 +2743 -6.5320293355869152e-01 2.1517673573009843e+00 1.8718823889398176e-01 +2742 3.9936622378841422e+00 -4.0573220819138225e+00 -3.6309857808250268e+00 +2736 1.8195254077349174e+00 2.4873955721953131e-01 5.3433064835617463e+00 +2735 3.2358525349874040e-01 -4.5551127101407216e+00 3.6272658836637324e+00 +2734 3.2638356695875337e-01 7.3407754255935309e+00 1.0584299537822012e-01 +2733 5.6413043279510520e+00 5.6904499996979174e-01 1.0689151821914775e+01 +2732 -1.5779364512515037e+00 -2.7291166412771555e-02 2.4977026001174929e+00 +2731 6.1094045876770355e+00 2.0931917518090423e-02 5.4871863021720158e+00 +2730 4.6234203816873016e+00 5.6651271751191787e+00 2.2955464078526813e+00 +2729 -3.2996614562361710e+00 -4.6813297030732253e+00 -4.9995531396439610e+00 +2728 3.6121787848042723e+00 3.6756370795970335e+00 2.4575420156867906e+00 +2727 6.5499197795961912e+00 -5.3749020709804931e+00 -2.2141541103290510e+00 +2726 -1.5309784421761148e+00 -4.4614431514276603e-01 1.0658919404820162e+00 +2725 3.1898400370488895e+00 -2.9007840137416347e+00 -1.4388286164045903e+00 +2720 3.0358739434293733e+00 3.1626273894554879e+00 1.9269652442160663e+00 +2719 -3.4020488859268067e-01 1.4222574593864759e-01 -3.9308427659285061e+00 +2718 9.8083478105669641e-01 -4.7843105559162149e+00 -7.8225943255846824e+00 +2717 -2.6577700360558123e+00 -2.9436610956152526e-01 -1.7709828414083340e+00 +2716 5.9525338776273229e-01 1.6092818655935187e-01 6.1625114353749018e+00 +2715 1.4680902877810309e+00 -4.1712293758184753e+00 -6.9160821539192670e+00 +2714 -3.5115354303310085e+00 5.7853757377920676e+00 4.5284123144749282e+00 +2713 -1.4080522756149982e+00 -1.7682305331363686e+00 3.1193242233217573e+00 +2712 -9.1390598250343547e-01 4.3825212512510694e+00 4.2441995884635952e+00 +2711 -5.3903785450522823e-01 1.3628243715414445e+00 -1.2742399061224583e+00 +2710 -6.2374420402047663e+00 2.8445862121353436e+00 1.2190021723517692e+00 +2560 -2.1653274683665433e-01 -5.5148072519002485e+00 -2.1435378137126824e+00 +2702 -5.3910819164007044e+00 1.0230332946702885e+00 -7.9378590935070714e-01 +2700 3.0365460567464004e+00 2.7127513708666089e+00 -6.3503568155242052e+00 +2698 4.3845616366456390e+00 -2.2006177110557177e+00 -1.5382989291710114e-01 +2696 -9.2478123251883861e+00 2.9608695745210398e+00 -2.9480536112698625e+00 +2806 4.0878862316042603e+00 3.1701553843891657e+00 -2.3859036960039894e+00 +2694 1.9730445297904833e+00 -4.0507527348335177e+00 6.8000772732526327e-01 +2807 2.8892656752480654e+00 -2.2259779564449294e+00 5.8393450624892287e+00 +2808 1.3743301641859522e+00 -3.9322340890738974e+00 1.3573553213981169e+00 +2809 3.1430657792405974e+00 -1.4711357525140876e+00 -2.4375062667469480e+00 +3651 -3.8060179967648096e+00 -1.1320673737511517e+00 5.9058903773156812e+00 +2687 2.3357147847793853e+00 -1.5905167054299210e+00 1.6776075488604139e+00 +2686 -7.0375520472622188e+00 -4.0231767777762206e+00 -6.0553336624346885e+00 +2685 4.5253976880032054e+00 -2.2880418371400806e+00 5.4991640219029636e-01 +2684 -6.6542627182159275e-01 -8.6559548512340783e+00 -6.3628062702706076e+00 +2683 -1.6375760089692590e+00 -9.5908136886867112e-01 -7.5292698056399576e-01 +2682 -1.0449245312510245e+00 2.3690139534961037e+00 -3.1680659555059636e+00 +2681 -2.9032361355702634e-02 -9.5202243122204433e-01 2.1500946441501667e+00 +2680 1.2074942605578118e+00 -4.4188571817093081e+00 1.2151282448459038e+00 +2679 -1.8233884080972302e+00 -8.0904860597002537e-01 2.4034648853834502e+00 +2678 5.1293227631908076e+00 -1.4495265988866586e+00 2.2330441361189970e+00 +3790 4.7177081867816524e+00 -1.0072181579953001e+00 -3.6941907695680447e+00 +2672 -4.9884335781821418e+00 5.5354004139110424e+00 3.3517387951343176e+00 +2671 -1.2963608314005455e+00 4.8203645713060611e-01 -3.6192148966645732e+00 +2670 -8.7116663104560654e-01 5.4622992745312327e-01 -6.4723700390602135e+00 +2669 -7.3678583095129868e-01 1.6977879508537781e+00 -2.7015360719018444e+00 +2668 4.2990378614811364e+00 2.0334938751354468e+00 2.0373894232965113e+00 +2667 2.8203058825729133e+00 3.5104251168264278e+00 2.0133024325863267e+00 +2666 3.5619861539195230e+00 6.7913208932968239e-01 1.0436753400151538e+01 +2665 3.0269190053400958e+00 -2.4865372871869558e+00 -4.4481156610515766e+00 +2664 -2.0315572899229792e+00 -3.1992131228382163e+00 1.1776454808015189e+00 +2663 -4.0278487639720009e+00 1.6481747208553206e+00 1.7605822173029999e+00 +2662 -1.2204752725951328e-02 4.5712467258678524e+00 2.4028873463326259e+00 +3725 -5.6572655879793805e+00 1.1807177966448297e+00 -3.1102055318187305e+00 +2656 3.2311327581599719e-01 -1.5889052559076600e+00 -2.0683154898305793e+00 +2655 -2.1968730143506945e+00 6.5934697275766485e+00 -4.3633692413336176e+00 +2654 1.6530204241164517e+00 2.9239397728174525e+00 -7.3272808782756798e+00 +2653 -7.1375442041421948e+00 1.4024849916723561e+00 4.6599449907200405e+00 +2652 1.7512864009612059e+00 -5.4102562727436405e+00 -3.6512276875359484e-01 +2651 9.1137429581435681e-01 1.1335528065147094e+00 -5.5703492832167534e+00 +2650 -5.4300906692069670e+00 7.2595007450427662e-01 3.5631861288136779e+00 +2649 -5.5868190972257601e+00 2.0252294360041754e+00 1.2738272118729745e+00 +2648 -4.2976207940310323e+00 9.5066101942568448e-01 1.0672218616338554e+00 +2647 -6.4483007613458705e+00 1.6249945072517955e+00 -1.7796722440279028e-01 +2646 -8.1926401393904086e-02 -2.4309636289906360e-03 -3.9261687601419664e+00 +2645 1.0585852577588832e+00 1.6414219772483327e+00 -3.7936734946473591e+00 +3709 -4.1940689622838381e+00 -7.8473509377993078e-02 3.1788845261470526e+00 +3766 -1.2809542856292411e+00 4.3211943136849804e+00 1.9738281936273923e+00 +2799 5.2685324734628178e+00 -2.1356566651686721e+00 -3.4768153575584408e+00 +2638 2.9562297083077822e+00 -2.1143733154215543e+00 2.1056058408733422e+00 +2810 6.8144837453504916e+00 -4.6398634168941992e+00 -1.4025937582658152e+00 +2636 -4.4973653077934870e+00 -8.4662493737240585e-01 2.4266304502776126e-01 +2811 -2.3866001981179359e+00 -5.0239483946567294e+00 3.5085137416410919e+00 +2634 -2.5293012886956951e+00 3.1952984642369060e+00 2.2071312742700921e-01 +2812 -3.3061461790394486e+00 -7.0053402939963485e+00 1.4748120846990069e+00 +2632 -2.2859407996790879e+00 -4.6923919847670419e+00 -4.5724648836210751e+00 +2791 -3.4393006532414421e+00 -3.7960189051948068e-01 6.1758372856750716e+00 +2630 1.6486027810837227e+00 -1.8280232606259068e+00 -3.3564849550157301e+00 +2239 5.8992989343256497e-01 3.9851221037144415e+00 1.7156379594606628e+00 +2813 5.5694472312485273e+00 6.1675094854284636e+00 2.9926182685404940e-01 +2117 -8.9253528735078955e+00 4.4738932862623164e+00 4.3750189926622829e+00 +3506 6.3542053844592044e+00 1.3900868327566278e+00 -7.0692213736273626e+00 +2794 -2.4483959371328293e-01 4.1644577852660101e+00 -7.7149226491644762e-01 +2622 1.0060190341842945e+00 -5.1534985025111988e+00 -1.2876986637614642e+00 +2795 -1.0250256001335736e+00 -3.7557867451808136e+00 -1.4299559102611203e+00 +2620 5.7033246971181475e+00 1.0120635056560050e+00 2.9134376717462653e+00 +2618 -2.4749092608372854e+00 -6.1130111663895070e-01 -1.1127077169595583e+00 +2616 2.8444222851450998e+00 8.0926898298723371e-01 -2.5970047709622022e+00 +2614 -1.8441068422855922e+00 2.4491068419335664e+00 -1.7326032633200326e+00 +2855 2.2985589593734286e+00 -1.3171064865810693e+00 -2.9693742458430972e+00 +2608 -2.2329741734612591e+00 2.5150653803106935e+00 -4.9956625543125813e-02 +2827 8.0944898230316287e-01 2.3007165697361276e+00 -2.1150999492750211e+00 +2606 3.5763033954497967e+00 4.3424046204965965e+00 1.6330025829559534e+00 +2604 1.6373893652931859e+00 -9.8481598826146166e-01 -4.7993176241645124e+00 +2251 1.7846335258842914e+00 1.5322282306854457e-01 -1.4496134895998081e+00 +2602 -1.4061311282357540e+00 5.0427673023993425e+00 4.3559600345365306e+00 +2585 -2.6092128010086761e+00 -3.8725816716421688e+00 1.6840088194576321e+00 +2600 -1.6620024148668504e+00 2.1634211229104765e+00 -5.5428974512424434e+00 +2598 1.7348788224656251e+00 -2.5961059804991384e+00 9.1603857592682869e-01 +2605 5.1852879855281344e+00 -1.4421206984766508e+00 -1.1024620023420533e+00 +2615 -3.4677138003051158e+00 7.0409093774942710e-01 1.4901526350317000e+00 +2255 1.7492117885130825e+00 7.9188685745275422e-01 3.1588012961134462e+00 +2592 -2.2312801941299805e+00 -3.0277353510016907e+00 -2.5499118725362973e+00 +2590 3.0819476863743840e+00 -1.9670101038681402e+00 4.5251602283170609e+00 +2368 -5.3738363761449204e+00 2.6932238506470974e-01 4.9888450671574169e+00 +2588 -6.6520072185461157e+00 4.3854034257772003e+00 -5.6551259636045892e-01 +2123 -1.9164717299177625e-01 -2.7352084151974703e+00 -2.7929643580983896e+00 +2586 4.8171012532527051e+00 4.0911482723397447e-01 2.8870984822860297e+00 +3388 6.8480050532812511e+00 -4.5498571502870799e+00 -3.4488328591602118e+00 +2584 -2.8787565789274612e+00 2.1700707747505552e+00 4.1421596829056728e-01 +2623 3.2936463917195125e-01 2.5575247340365190e+00 7.0053113209813456e-01 +2582 1.0751937370284723e+00 -3.4722639369579927e-01 1.1204385296143788e+00 +2631 1.1050338214322528e+00 -4.7879496157627521e+00 2.1908984894254400e+00 +2637 5.5074060601543886e+00 -3.0966153598827306e+00 -4.2744253673357990e+00 +2859 2.0693635545655290e-01 -3.7876511197073226e+00 -4.3103432736614273e+00 +2576 1.2514585477686682e+00 5.7894990680487108e+00 -1.4669111691582462e+00 +2574 7.1432781804273038e-01 -2.6758398292232140e+00 -4.1714514445433446e+00 +2814 -4.4649285114369421e+00 1.2786733849201433e+00 7.4586696452797807e-01 +2572 -1.5454385663353016e+00 2.8051431346671073e-03 -7.0991316973877678e+00 +2815 2.7370377474716956e+00 -4.1312883014873716e+00 -4.8545965518058587e+00 +2570 3.1522145199261224e+00 5.8263659038423055e-01 -2.2639063024305646e+00 +2597 8.0951589293163440e-01 4.2691253029765397e+00 1.0987630943451272e+00 +2568 2.1197820735909336e-02 3.2501748467312823e+00 1.6258375646675445e+00 +3708 -2.8060881144788170e+00 -7.9885227223349764e+00 4.4421273258796017e+00 +2566 5.9439729270038455e-01 6.9727231163270120e-01 5.5522021598702818e+00 +2635 7.6022923586799818e-01 -3.7580076494789507e+00 1.4182556606035628e+00 +2305 -4.2736508505096511e+00 5.9523107028838993e+00 -1.5924998719601535e+00 +2571 -1.6679091226564882e+00 1.0711752342026575e+00 -2.0993688778342398e-01 +2501 1.0568578004338316e+00 2.0084415134479094e+00 -3.1702854263744258e+00 +2105 5.6203859587158256e+00 -1.6405765829543069e+00 -8.3957284572330171e-01 +2057 -2.8085049759713629e+00 3.4975721940971858e+00 -1.2539320269361416e+00 +2957 6.5855730568125148e-01 7.9111033553704004e+00 1.5470494404719726e+00 +2951 8.8388198486136715e-01 -1.2953829004310693e+00 6.6110946574329512e+00 +2823 1.2124841585605111e+00 4.0025909332385572e+00 -3.2966230197420865e-01 +3960 -1.7322987461282449e+00 9.4409232944020582e-01 3.1448465601669993e-02 +2053 -1.7517339064973043e+00 -1.2986997281095298e+00 1.2408744772847933e+00 +2891 -1.6764930965315945e+00 -4.3388450680602437e+00 1.8976929786358179e+00 +2331 -1.0233774520892351e+00 3.7708701697674896e-01 -2.3538688463941448e+00 +3021 -3.4140029111262642e+00 -1.1235921393540262e+00 8.4746558477880853e+00 +2089 -3.1325647888932044e+00 -1.5985070696415429e+00 4.9423951249243627e+00 +2535 3.2843890152861022e+00 5.7798516954557155e-01 -2.7317958240273406e+00 +2534 3.8777997667408894e+00 4.2392263232943908e+00 -2.1814440537837037e+00 +2528 3.0422331553829007e+00 -7.5223706666659740e-01 -3.7263260919648857e+00 +2527 6.3684312956494193e-01 -3.7657398635040260e+00 -7.4217739371161251e+00 +2526 8.7969692176395087e-01 -3.9940006057172601e+00 1.1601919597549497e+00 +2525 3.2292068030829307e-01 3.0996930641720995e-02 -6.9413041281755534e+00 +2524 3.8901472156148702e+00 -1.9262897724397423e+00 5.5705775489260485e-02 +2523 3.3268141166346155e+00 -6.7080789842174060e-01 1.8291691313124241e+00 +2522 -3.1459094544722350e+00 3.2398029653908114e+00 2.6347278270985028e+00 +2521 1.1400160177460255e+00 2.0424796568413113e+00 8.2670703414504381e+00 +2520 1.0805574801141835e+00 -8.9308178452023834e-01 8.3666251995080154e-01 +2519 -6.1318599760273484e-01 2.9664628179824954e+00 -1.6022644275147506e+00 +2518 2.5997390970727570e+00 3.5592032654738537e+00 -5.8865273388456281e+00 +2517 -3.5876930111322336e+00 -1.7136814211428191e+00 -3.2715988595403371e+00 +3876 6.9328603348344875e-01 2.1981509258280973e+00 -6.1104668971591558e-01 +2510 -1.9457904722601931e+00 -2.3583071833388631e+00 1.9857704845416244e+00 +2508 9.9303883907057440e+00 2.9439284398383792e+00 -6.0972359631764554e+00 +2539 -7.3373925054966968e-02 1.5088887543474503e+00 -9.7266428969951113e-01 +2506 -1.7043314544209612e-01 2.4231527326389872e+00 9.1879781672986893e-01 +2821 2.3325440166580540e+00 -1.1742148162415569e+00 -2.6662897542559882e+00 +2504 -9.3547854586738821e-01 4.6149728694805461e+00 1.3540452753258334e+00 +2502 -1.9082046386285076e+00 -2.7567863274388995e+00 -1.6674671904253009e+00 +2895 3.3724835771421753e+00 -2.8116695380165777e+00 -4.9213269199949199e+00 +2496 -4.3848486826968275e-01 -1.6861624813421363e+00 -6.4491066856162194e+00 +2495 -3.8078718438209904e+00 -5.4045296120000410e+00 1.4670905141795065e+00 +2494 -1.2086060075168263e+00 -6.3213192981995077e+00 7.8879918171296595e+00 +2493 -3.5225083856828245e+00 2.5164988168632801e-01 -2.6337758821355167e-01 +2492 -3.4461485596236936e+00 -1.8093773060111655e+00 -1.4163152163591972e+00 +2491 -4.1742772682952145e+00 -8.1211608291406934e-01 1.9288706997236018e+00 +2490 6.4464192810230370e-01 5.4074457059957037e+00 -3.7123042683550773e+00 +2489 5.5016739264002448e+00 -4.2647800701303664e+00 -1.3459086312666124e+00 +2488 4.7495341751653297e-01 2.1061468114481174e-01 2.0663441456196887e+00 +2487 -3.8105686992359336e+00 1.6316308827571984e+00 -1.2768249070775327e-02 +2486 5.6274525067657315e+00 -3.6511027633919149e+00 -1.2732526957619472e+00 +2481 -1.1124642003473006e+00 2.5871259549120720e+00 -1.1444607798081203e+00 +2480 -8.6896044518691873e-01 5.1052961754797881e+00 -5.1651107479481917e+00 +2479 1.3340412560609345e+00 -7.8487779380166804e+00 5.9287020324014783e+00 +2478 -1.6641381371972481e+00 4.7752054545194058e+00 1.8731635988814574e+00 +2477 6.4054863217571967e+00 -8.6049577547810230e-01 4.6221203593972531e+00 +2476 4.5375737829380958e+00 -3.7534512789568743e-02 3.3229463990121961e+00 +2475 1.2172401126398473e+00 4.6606555265629055e+00 -1.1846312844262876e+00 +2474 9.1067965019629071e-01 -1.1106250011824681e+00 -9.4309179115055786e-01 +2473 -4.0093862806031231e+00 -6.9235525290669537e+00 4.0370786349725813e+00 +2472 -1.7113695127114839e+00 -1.6242897882746234e+00 -1.4042047282314518e+00 +2471 -1.9232944771850495e+00 -4.4432831098867953e-01 -4.1079858892321628e+00 +2470 -5.9345010080890881e-01 -1.3470628345226050e+00 -2.8456484472677706e+00 +2465 -1.1588612091513795e+00 1.6645998388018846e+00 -6.0123319542129741e+00 +3788 1.8982791507603920e+00 -3.4430166083589908e+00 -3.5955644552756878e+00 +2463 3.1188583927587818e-02 -2.0139759257556133e+00 -9.7185193309051920e-01 +2462 -2.3719561035636789e+00 3.9362265666466878e+00 5.0789516881513652e-01 +2461 -1.8631779280051624e+00 -1.8469967677056796e+00 -4.8971880722015487e-01 +2460 -4.6011134259820902e-01 -1.1412980412096987e+00 3.6030417950533935e+00 +2459 -3.5804227286640500e-01 -2.3126105514914266e+00 -4.3310512729295105e+00 +2458 1.6703389682504730e+00 -1.7065636183967083e+00 5.9925292710412998e+00 +2457 -3.3833058415369632e+00 4.6411085107942593e+00 -6.3136796232784977e+00 +2456 -7.8807578736985686e+00 -2.0648393236068312e+00 -5.1957555003216367e+00 +2455 -2.0170153913874822e+00 2.6565658815765554e+00 6.7804861374448189e+00 +2454 -6.1124165489733908e+00 -9.3050081499315762e-01 3.8684354475939120e+00 +2448 8.8085221813079295e-01 -7.4798435340531233e+00 1.1899563337564023e+00 +2550 1.7759079358422907e+00 -3.0992421422065064e+00 4.0606066260673490e+00 +2446 -1.0120163059757719e+00 -6.1009985907848288e+00 -5.0649655078128009e-01 +2551 1.6014198573821956e+00 -3.9493346644415532e+00 -1.3228000568190064e+00 +2444 -1.7029836471225288e+00 -3.8577012381196232e+00 4.2707937260718243e+00 +2552 4.8636422057158493e+00 -2.6467016356983764e+00 2.8027973658555951e+00 +2442 -2.7962028744090079e+00 -3.0707053005914529e+00 -4.5122951644050779e+00 +2553 6.7094653172417180e+00 1.7713727980730010e+00 2.2908561902070770e+00 +2440 4.1488574164001157e-01 -1.8450669463103200e+00 5.7397538870377456e-02 +2554 -1.4865852718703385e+00 2.7057561958485099e+00 -2.7076541005314589e+00 +2438 -4.1524774206431719e-01 3.4018843778719181e+00 1.2799950749632307e+00 +2555 -2.9419538196625966e-01 3.6308415650661834e+00 1.1094820975853545e+00 +2556 -3.1840144036572529e+00 2.3346966340367450e-01 -6.8560744444158699e+00 +2544 9.6512268717712335e-01 -3.6782183229380278e-01 -4.0226941403842051e+00 +2431 -2.4200710653146302e+00 -3.2831314586403635e+00 3.1869147021346822e+00 +2430 -1.2831275818953718e+00 -4.8010715305149345e+00 -4.7444395310228380e+00 +2429 -2.9253640927060367e+00 1.0408545723686506e+00 6.8852807901254023e+00 +2428 -2.7064345306689490e+00 -4.3674917081386662e+00 1.7540411195242858e+00 +2427 6.0107303988408782e+00 5.3356169417766841e-01 -3.3551241472290658e+00 +2426 3.8845852255054765e+00 -5.9047304044972453e+00 -1.6790944653487383e+00 +2425 7.2513451435932842e-03 -3.4110225122524901e-01 4.4438388614370167e-01 +2424 5.8558021239148514e+00 1.1731808300363877e+00 -5.9818916949217438e-01 +2423 2.1571116638071266e+00 -2.6250119701868608e+00 2.8085236464006496e+00 +2422 -7.0880523388035233e+00 -5.3183695469128853e+00 5.4385145330337332e+00 +2541 3.0557044064889780e+00 -1.9664746210056332e+00 1.7575436192392313e-01 +2416 -2.3081003384655588e-02 2.0064571900654209e+00 3.3071910029607126e+00 +2415 1.3990882213534344e+00 -6.2110966010521218e-01 -2.0355818926551499e+00 +2414 6.9223358147956082e+00 3.1451561525685334e+00 8.1111849817922987e+00 +2413 -3.7016047704128892e+00 -3.4572433142081371e-01 8.1151051495759374e-01 +2412 1.3618171605420210e-01 -1.5499430616987839e+00 2.7341023421779322e+00 +2411 1.1235662605447709e+00 -3.4776891965518071e+00 3.6569913186186134e+00 +2410 4.6607338427055306e-02 -6.3052137675594340e+00 6.4829050374954011e-01 +2409 3.8032400732345213e+00 -2.2309951789584073e+00 -3.7975613514246356e+00 +2408 -1.3877392558940136e+00 5.0364542420354210e+00 5.1578890855065609e+00 +2407 4.2187860476677628e+00 4.5861695181497550e+00 8.7000479365664045e+00 +2406 1.7916796203081750e-01 -2.1880173655491229e+00 -1.0671494045395231e+00 +2896 -1.9215215976278317e+00 -5.2276268293017858e-01 2.1046175384363250e+00 +2399 -3.2198973632820707e+00 2.6139851715695954e+00 1.9974736170889789e+00 +2398 2.7077462408739819e+00 -3.3081400086748110e+00 5.9831567454620291e+00 +2397 1.0557476508112659e-01 -1.5228605959675072e+00 2.0928298644344738e+00 +2396 3.2701685968105592e+00 -1.6215582528755703e+00 -4.3746793949582843e+00 +2395 -8.4258208330198148e+00 -5.2888593982562533e+00 -3.2601641891899114e+00 +2697 1.2736467137359944e+00 -3.8187239314624817e+00 -2.3944862387726853e+00 +3332 1.1820197489332859e-01 4.0387620930049568e+00 -6.3234030976386100e+00 +2054 1.8354662210540487e+00 3.5441618594963226e-01 -2.2130491244792494e+00 +2303 4.4102490776894907e+00 4.7580263598338863e+00 1.0339728212438870e+00 +2056 1.9272744327550457e+00 3.6893105509583375e+00 1.6598816388408306e+00 +2058 -3.3963097431210252e+00 4.4430967009011297e+00 9.6208324230767559e+00 +2825 1.3517993200220058e+00 1.4407624502107770e+00 2.6764497084425076e+00 +2060 -1.3141041921573324e+00 -2.8190979164681038e-02 -8.4588929965436543e-01 +2302 4.1993474598760070e+00 -5.9660551285121493e+00 -6.7428484469458905e+00 +3236 -5.2547856361015777e-01 -2.4216737529819108e+00 2.7341385883426952e+00 +2064 -4.8901691863770136e+00 4.3617989432590942e+00 5.6938696357280449e-01 +2055 -3.2204173526391391e+00 -8.4740327316537090e-01 -3.2027666468048543e-01 +2349 -5.0203081546992792e+00 -4.7576377908223488e+00 -1.8977318755801462e+00 +2101 -5.3322591163506505e-01 -7.6587974390440572e-02 1.2115149396808391e+00 +2070 -3.6161955037842901e+00 -2.8374193883875658e+00 -6.5968472221192376e-01 +2072 2.8452569201189566e+00 3.5101046726873135e+00 3.6393288856720609e+00 +2074 -3.9714738278477024e+00 1.3041871834768937e+00 7.3362038321208312e-01 +2361 -3.1270722350857355e-01 -3.1976886441752619e+00 3.1716334389907268e+00 +2076 -3.3026074886114412e+00 -3.1916033538266309e+00 -1.2940155186439375e+00 +2343 -3.5456154162156532e+00 2.1282858531725521e+00 -2.2755798138613716e+00 +2078 -1.6727976817277326e-01 2.8512614907132798e+00 -3.6821123154379394e+00 +2575 -3.6202104687687884e+00 -1.2781719045236026e+00 -5.7828008604916215e-01 +2336 1.5076084969735151e+00 -3.9680998637217488e+00 1.8890308432187608e+00 +3962 -4.5339314471421011e+00 -3.9298246157155483e+00 -4.7935042016289646e+00 +2759 6.5488168220167427e-03 -3.3773400465897003e+00 4.5048526343020541e+00 +2313 -1.1859666691790021e+00 -3.2894483225078517e+00 -3.5324595682381141e+00 +2086 2.3201018961167219e+00 3.6438743454985869e+00 -9.9299180666368925e-01 +2088 1.8373913189133857e+00 -7.5791332897087532e-02 -2.4367639026198069e+00 +2090 -1.0045615576503066e+00 -4.6555796797536448e+00 -1.4042937166284930e+00 +2092 -4.5093138093990000e+00 -2.4270014035873544e+00 2.1625190058370820e+00 +2767 2.2136151247405023e+00 1.3796713639412290e+00 -3.4753707582038973e-01 +2094 -4.0433620345366350e+00 -2.3010735426685622e+00 -4.3580927064754018e+00 +2367 5.1313958417436716e+00 9.8712750964575458e-01 -2.2058572260539209e+00 +2096 1.2682004977071968e+00 3.1809377907126395e+00 4.9855208938235416e+00 +2311 -8.4194908855361081e+00 -2.6288013205705316e+00 -5.4198353840964952e-01 +3408 3.0008214627376368e+00 -4.6398640624126299e+00 -3.2919785459160216e+00 +2699 1.9750010753937284e+00 -7.8256394854670051e+00 -6.4431692602527351e+00 +2102 -2.5967638824294248e+00 -3.6548189945425245e+00 -1.6237388755353279e+00 +2286 1.2592983279724759e+00 -2.8697846150751833e+00 -4.7598367748942731e+00 +2104 -4.3568763183357859e+00 -9.7539956147287725e+00 7.2222236315049892e-01 +2285 -3.1057327281707875e-01 -5.0135655614029662e-01 1.1157025543699138e+01 +2106 -1.6552988379785012e+00 2.9824574238508539e-01 3.7654423696268174e-01 +2284 8.6822760526386116e+00 -1.9918572812533114e-01 2.8189480939136113e+00 +2108 -3.9012066604536044e+00 -2.3853989046457271e+00 5.9327416095186853e+00 +2282 -3.9192021208626251e+00 3.7678164737180095e+00 1.8849436623821163e+00 +2110 2.4153725528297798e-01 4.6740411207188215e+00 -8.1772100249667146e-01 +2283 -3.7688060208800583e-01 1.7345390869700357e+00 6.7157699236412913e+00 +2112 -5.3832346231756945e-01 -1.5022899463140065e+00 -1.1133097481487937e+00 +2301 4.6502532361047555e+00 2.7298795785973984e+00 -2.6674123186747121e+00 +2103 4.6166565218455080e+00 -2.4549121786085717e+00 -5.2229418765724347e+00 +2300 -6.7430911261174575e+00 1.0552258995748969e+00 1.1971290579987190e+00 +2118 2.9392199952641738e+00 -4.1453283000290231e+00 9.7637245069273892e-01 +2299 3.3078025928034136e+00 1.4394909429246763e+00 -1.5214014706049774e+00 +2120 -3.0129002329421430e+00 -4.9933909215272747e+00 6.3770953088392512e-01 +2183 -1.1679741520855769e+00 -2.0816757037826590e+00 -2.2574324338147727e+00 +2122 3.5062559491597072e+00 -4.0293751635993962e+00 -2.7528580294262222e+00 +2124 7.2757024862995126e+00 -3.1959174704724718e+00 -1.2508054530964402e-01 +2298 -3.2728700368272836e+00 -1.1659558574677428e+01 6.7592924225235675e+00 +2126 3.7156563024719080e+00 1.3067202352308938e+00 3.0699763672909377e+00 +2297 -2.9769813404010592e+00 -2.2374608254882662e+00 2.3241546368231183e+00 +2128 -2.3947122804474794e-01 -1.4106280904129140e-01 1.1486178466471535e+00 +2133 2.7715984136490643e+00 4.4744704137835916e+00 -2.9974174281730197e+00 +2134 -4.0039842233705665e+00 4.3867181574165510e+00 1.2614448943479164e+00 +2135 -9.0839931859496292e-01 -2.4197098108430368e+00 -6.5878129052276491e-01 +2136 2.2873318198649555e+00 2.4363619974603190e+00 1.2952999061266759e-01 +2137 2.8549935662179187e+00 -2.2365336281103536e+00 5.3030507910228653e-01 +2138 -1.2158996874565364e+00 5.3228048748061259e+00 1.5533047636866397e+00 +2139 -1.3346200575632367e-01 2.7750216950530699e+00 -2.8183056874081664e+00 +2140 2.3064990260064997e+00 5.2855679227641650e-01 -2.9516836036872791e-02 +2141 -3.5458988056896006e+00 -3.0521868945539774e+00 -3.9206547279309611e-01 +2142 -5.7658203314544654e+00 -3.6358263775842818e+00 7.9934346557155245e-01 +2143 4.5774293206201666e-01 -1.1252676432669819e+00 -9.3037276039145089e-01 +2144 -2.4223550660064501e+00 1.8620618913629166e+00 -3.1340576761735262e-01 +3847 6.5513017189204614e+00 -9.9571382905222217e-01 -4.8639552014362675e+00 +2150 -5.0519215111645215e+00 -8.1012892018650557e+00 -9.1877053096324979e-01 +2151 4.5902825079298282e+00 1.4614049115693784e+00 1.6448971072475511e+00 +2152 1.6092933189531100e-01 1.2576850582331391e+00 4.5693296418652873e-01 +2153 1.9982289262686406e+00 7.0647951682833743e-01 -1.6929551445662927e+00 +2154 -4.0085268290392966e+00 2.8264360037316720e+00 1.2298473951666522e+00 +2155 2.3001876308855040e+00 -4.2060427478790271e-03 -4.5958678110582030e+00 +2156 -3.7304320799277773e+00 2.5790527089314019e+00 2.5450107644999655e+00 +2157 -1.3825316292609708e+00 -2.7317145957385556e+00 2.3264863328241900e+00 +2158 5.0248197256487321e+00 3.8688973541253908e+00 1.3207765770646294e+00 +2159 -3.4688753088931850e+00 2.4044239558039342e+00 3.4506714358022612e+00 +2160 3.1730845338220792e-01 8.2959877803900939e-01 -1.8745354882415330e+00 +2567 -1.7116624067322050e+00 -4.6272568168231010e-01 -1.0208977454201720e+00 +2165 -9.3186970728520091e+00 4.1690947095111452e+00 -2.0916480409233467e+00 +2166 3.1746766856523636e+00 9.9229340009495761e+00 1.8048248169207513e+00 +2167 -7.7677133436895236e+00 2.1973211412949252e+00 1.1803716873004695e+00 +2168 1.2175685355232002e+00 5.3114145455963051e+00 2.0058765363137430e+00 +2169 1.5987651885816183e+00 4.3689389294149894e-01 2.4451831016611423e+00 +2170 -4.4178559819690308e+00 5.4997969353614842e+00 4.6603972431135121e+00 +2171 -1.9054886166742930e+00 -7.0857246980610107e+00 2.5764080849470523e+00 +2172 5.7407771543320463e+00 7.6799682440792538e-01 2.3284345907060136e+00 +2173 -2.1604618593733855e+00 -4.9862287997932500e+00 3.1705023128380723e+00 +2174 7.7475238831801385e-01 6.3174798070773095e+00 2.0723680412083354e+00 +2175 1.9790452146721216e+00 -1.5995654820017222e+00 -4.5667397863102782e-01 +2464 -2.9924003789623996e+00 -3.2005544259023542e+00 3.6420167218111343e-01 +2296 4.4271970385674558e-01 8.5301059354826858e-01 -3.4329220807007141e+00 +2281 4.6543547186327858e+00 -3.7326465906327844e+00 4.6716408440277259e+00 +2295 -9.3071930354070513e+00 5.1959036574768165e+00 -4.6308572178460325e+00 +2182 -3.6223974239910572e+00 -9.7109835858225868e-01 1.3531279308309878e+00 +2280 8.0995326969643222e-01 6.1918661609836843e+00 2.8798937454390021e+00 +2184 -6.7567980949441022e+00 -4.4614681540074264e+00 -1.6156900328623134e+00 +2294 1.1026598136238299e+00 -3.0188585482576409e+00 -4.2497844224329713e+00 +2186 1.0119888513241944e-01 -1.2693144561280412e+00 -9.8639981833285428e-01 +2188 2.0967501821566472e+00 1.9143912862285146e+00 4.7513383925354724e-01 +2190 2.1784300365038201e+00 -2.1721749943050690e+00 -9.0059797246091755e-01 +2279 3.8530261115530653e+00 5.0988947626246039e+00 1.1115440181223808e+00 +2192 -4.6647394249812875e+00 -4.9967974056442195e+00 2.2460164121811230e+00 +2198 3.9515232630200088e+00 2.1394383220990409e+00 -2.5616069515027324e+00 +2199 -3.7051982348604167e+00 -1.4884099738442171e+00 4.1203514500191476e+00 +2200 -2.6096636197163301e+00 2.1413594099808932e+00 1.9591470340867203e+00 +2201 -2.3253418703971875e+00 -4.0751247381145754e+00 6.7206860153480568e+00 +2202 2.3896439436270778e+00 9.7628939500055445e-01 1.9549141089499831e+00 +2203 -2.5929425710144693e+00 -1.8624238807167617e+00 -8.1302767466174775e+00 +2204 -3.0629306463077013e+00 5.9279921919226917e+00 -5.7023875214204738e+00 +2205 -9.6469724760543301e+00 -1.2325154449353100e+00 -2.6029499808241270e+00 +2206 -3.4981850996399961e+00 1.8465397771386962e+00 5.9269556326654727e-01 +2207 -2.3364849262841245e+00 3.2194965405951295e+00 1.2700237269495875e-02 +2704 3.0026163557580063e+00 9.3364101364955776e-01 -6.5569996261013044e+00 +2214 1.3016664341892239e+00 3.5787512228167104e+00 -4.3299121291531328e+00 +2215 1.9252617172782513e+00 -1.9657263848602835e+00 -4.3934739152683679e+00 +2216 -9.3530698403336530e+00 -3.5495989650509077e+00 1.8394680474897536e+00 +2217 2.4568299182588205e+00 -4.0631199488651433e+00 4.8227043614169496e+00 +2218 2.4468773087577729e+00 9.7834722974498278e-01 -3.5123208295443735e+00 +2219 -4.4758294770892935e+00 1.0624629235633570e+01 -3.9617058834595181e-01 +2220 1.7369447005303615e-01 1.9115903225524189e+00 3.7082038629335340e-01 +2221 -5.7495089289700312e+00 -1.4597494882413158e+00 -2.7811369295492154e+00 +2222 -2.1683003666205769e+00 -1.0056625036637246e+00 -3.8074026327620976e+00 +2223 -3.1628921339325218e+00 -5.2840328419108999e+00 -1.0911411815489178e+00 +2224 5.1332224575375527e+00 -5.7824448067287078e+00 3.9419178756366589e+00 +2230 -4.7234811087970376e+00 4.2802234861719661e+00 -6.2527007877783980e+00 +2231 8.3758346631706587e-02 1.1349176949992898e+00 1.5232833675859372e+00 +2232 -2.4691078373497231e+00 -4.1450367019349148e+00 6.6879634395198124e+00 +2233 -1.2775653251866701e+00 -3.1773628272952337e+00 -8.5199314215398623e+00 +2234 -3.4553626162095625e+00 -1.7251247787393205e+00 2.2635272091523646e+00 +2235 5.3969083813749572e+00 -2.5286917911002633e+00 2.0426055048381859e+00 +2236 3.2789048091202844e-01 3.8460434778054449e+00 -2.3217575777056316e+00 +2237 -5.4611483054400516e+00 4.0887842764293625e+00 -5.1032238378403170e+00 +2238 1.0729498144729126e+00 1.5251361681762848e-01 -1.9938814973265062e+00 +2176 -2.5108766165915486e+00 2.1843173011298864e+00 -3.2307191039945287e+00 +3928 6.5826113972783409e+00 -1.2353290699991477e+00 6.5703214390586000e+00 +2246 4.6077331362164348e-01 -3.7420413226251905e+00 -7.2834804747191728e-01 +2248 -4.0887015049363301e-01 9.3246210412842323e-01 1.1329465560749079e+00 +2536 -4.9067907073270307e+00 -7.3646672803243640e-01 -5.0681918171048865e+00 +2250 -3.2535765877746381e-01 -3.3301869864315021e+00 -9.6093197179347845e-01 +2252 -5.9743316058254348e-01 2.5038299079442532e+00 3.4222076315529386e+00 +2278 -6.9211255109456031e+00 3.6146272257839822e+00 -1.4185237616141566e-01 +2254 1.7314114511773506e+00 -2.2580027827850202e+00 5.0978962034800643e+00 +2287 -3.0295148888659513e+00 5.9557832453447830e+00 1.9598903065659465e-01 +3563 -9.4199222300719088e-01 -6.9486313856785449e+00 6.1851262029030440e-01 +2262 -5.6887385474696472e+00 4.6411822309996928e+00 2.2511692972016846e+00 +2263 -4.1758285140146647e+00 -8.9421611486149566e-01 4.9310364051230753e+00 +2264 -6.0573017532316191e+00 -4.4857159652661975e+00 3.5512175589412638e+00 +2265 4.3547997745778400e+00 4.8920448683997755e+00 2.1863239702823427e+00 +2266 -3.8902694889049614e+00 3.6511113914780648e+00 1.9746708575727980e+00 +2267 4.9841932535593676e+00 7.1661663871122672e-01 -4.2157159287823269e+00 +2268 -3.2732054811656702e-01 1.2222613778941029e+00 2.6244616939524628e+00 +2269 -2.7444712846829944e+00 -4.6250555389768727e-01 4.5353159841231143e+00 +2270 1.1069915491232127e+00 2.7702391161501549e-01 -3.8101206025461050e+00 +2271 2.0757670276448072e+00 6.4827706663870757e+00 -5.7430176344095540e-01 +3486 5.2660483804188081e+00 -5.4165990338812549e+00 -2.4451399472223527e+00 +2107 -2.7517515802423267e+00 2.5538052643807378e+00 -1.7327907509550069e+00 +2189 3.6436094939970276e-01 -2.9427108968580207e+00 -4.8924384310868652e-02 +2695 -2.5957609231060270e+00 -1.6145279668498929e+00 -2.0277057322344847e+00 +2365 -1.7460637677548543e+00 -7.3817786594378410e-01 -6.1538899090462096e-01 +2569 2.2855489741614430e+00 -7.4884163478386126e-02 3.1187547373901219e+00 +2315 1.0722483095201303e+00 -8.6470790611136342e-02 6.1379370335274830e-01 +2363 3.5579125529572608e+00 3.3846993635616163e+00 2.4425633790044969e+00 +2111 2.2131543782138454e+00 -1.7822846706752893e+00 1.7454409034010659e-01 +2559 2.9279278765960384e+00 -7.9726389152595720e+00 -4.0396543255971568e-01 +2345 -1.6493899193054329e+00 6.6982663291967457e+00 4.0266183918855143e+00 +2247 3.7079589675815452e+00 3.7117536297247183e-01 1.9161735987203232e+00 +2333 -2.4734142721892188e-01 2.8455730552763786e-01 -2.6269036030057551e+00 +2317 -1.4523910749737834e+00 -1.4896894035056868e-01 4.8988695374914455e+00 +2351 -5.6018475652409752e+00 -8.4561650988840598e-01 3.9875276456247613e+00 +2093 7.3381779707465378e-01 -1.4724848913994664e+00 4.0760173523880532e+00 +2077 -7.3230270192831948e-01 7.8269668766105518e+00 -7.2502989017994790e-01 +2091 8.1777110436641176e-01 2.4189166311579839e+00 1.4148301634725600e+00 +2701 2.6636324458590244e-01 -1.5926989112103445e+00 9.9937336419725098e-01 +2125 -8.7127819894063607e-01 9.3943535533180911e-01 -4.3962375091429129e+00 +2327 -3.9094106242122539e-01 -5.5199981059303660e+00 -2.1604581401520262e+00 +2253 2.5524860159738654e+00 -1.8763331029305612e+00 -5.9570003752146476e+00 +2109 3.8584561604095717e+00 -1.8485297378667300e+00 6.2523272826947469e+00 +2359 8.2990438116719245e-01 -3.2968910203129291e+00 1.3803288586323996e+00 +2703 3.5054493352251574e+00 6.3237597995989425e+00 -1.0120404276076421e+01 +2049 -5.4405993588326895e+00 1.0689144784768116e+00 3.4084323922516000e+00 +2069 7.9204647140252415e-01 2.9120676697615608e+00 -8.6534497870837912e-01 +2063 -2.9594164467237634e+00 -2.4828073978507659e+00 -2.4251284145081095e-01 +2437 -2.5627487953959402e+00 7.5036148983830175e+00 1.1782987038931765e+00 +2507 3.2301292951852458e+00 -2.7240880667319294e+00 2.3252060042905085e+00 +3449 3.6342711639743142e+00 4.7951866310098969e+00 3.1653116850710754e+00 +2310 -3.4363360193467583e+00 -5.0407508939792822e-01 -6.9545521573233051e+00 +2955 -8.5381261676082598e+00 -4.4598973547820087e-01 -5.5733705673919252e+00 +2312 8.4748565369609419e-01 3.3474986539991645e+00 7.0415107389024048e+00 +2375 -5.8507739802514589e+00 -1.3392196542406973e+00 -2.2900322623465930e+00 +2314 3.3327009666198841e+00 -1.2709999044183731e+00 -1.0280697658235274e+00 +2316 3.8508495116623207e+00 -4.9573541293515957e+00 -2.1353645030880908e+00 +2075 1.9395559640396232e+00 -1.4511551822070529e-01 -1.9118604081545820e+00 +2318 -7.2040494716828158e+00 4.2527340653421435e+00 -1.1980915829623033e+00 +2439 2.8905726137259624e-01 1.6817934748328742e+00 2.1166191020443712e+00 +2366 -1.8786770113215079e+00 7.9788184441059662e-01 -2.1329470763804999e+00 +2309 -4.0081615460312916e+00 1.5172046286284642e+00 6.6348909394491731e+00 +2073 2.5381781001396737e+00 -3.7171617166340953e-01 -3.6099786624612800e+00 +2509 -7.9268624485322876e+00 2.6039289719723451e+00 -1.1995629880059021e-01 +2326 -2.5103770576954982e+00 2.2461040811160982e+00 5.2649940625863296e+00 +2328 1.8988916546454131e+00 3.5206640709526797e+00 2.8858066362201638e+00 +2503 3.6127018338426775e+00 5.6393130670803904e-01 -3.6522211691798314e+00 +2330 4.6369277809613427e+00 -5.6024685268291750e+00 2.1926947259669207e+00 +2511 -2.2585358010840952e+00 7.7717008557837156e-02 -1.9931769616780364e+00 +2332 3.6477625305854473e+00 -1.4390934150506940e+00 -3.9748531666301917e-01 +2095 -9.7892724854379956e-02 3.3540632225603045e-01 -2.5997276289568458e+00 +2334 -8.0041443603008744e-01 5.1886169133550764e-01 -2.7989043401102012e+00 +2992 -1.2592615086044112e+00 1.5963015987408944e+00 -1.9466171128609764e+00 +2071 -2.4928689641967225e+00 5.6338381383132141e-01 3.2780055485995585e+00 +2959 -4.8038703473602604e+00 1.4636146040177516e+00 -1.8910490485095648e+00 +2373 -9.3020797161726387e-01 -4.1668768556188347e+00 1.5748875824020350e+00 +2342 -2.1936175657210870e+00 4.1886377168512201e+00 1.6186194796353410e+00 +2079 -6.7779653605696355e+00 6.4385371710080275e+00 5.7511584395649118e+00 +2344 -2.7166646342682155e+00 9.1253478403721271e+00 -9.3920113526511440e+00 +2347 2.1614677424818982e+00 5.6037701435743745e+00 6.5147104581394553e+00 +2346 -1.7308258519929343e+00 1.9603972241511101e+00 -1.8322263619124104e+00 +2889 7.6069546506284942e+00 3.8587100834816783e+00 -2.9272732854630473e-01 +2348 -3.3520492340854382e+00 4.5870467758934268e+00 -9.3237379553814237e-01 +2538 -1.9757245821526030e+00 -2.3662728158866209e+00 -2.1350062588278447e+00 +2350 3.0075475832905978e+00 3.2172559043575588e-01 -2.3076739097600676e+00 +2352 2.3257699752674990e+00 6.2134913111177612e+00 4.4504246044185711e+00 +2381 -1.1655491773136784e+00 -1.5098597212987763e+00 2.2254516439670677e+00 +3778 -2.4019189187208414e-03 -2.5021346265591948e-01 7.2588475025252897e-01 +2087 2.0958502140471449e+00 -9.3560006102258679e+00 -1.0817602446529694e-02 +2358 9.2481937801447889e-01 -2.0217997040587550e+00 -9.0184991558072125e-01 +2537 1.9398275168126486e+00 -3.6242690057461306e+00 1.9300743258754069e+00 +2360 5.5072926518559628e-01 3.7829277736536642e+00 5.0133303959180688e+00 +2543 2.7270632158319423e+00 -6.3487118028757861e+00 3.9989611693365825e+00 +2362 -3.3898600997200801e-01 -1.5907863647577578e+00 1.2579187192646462e+00 +2335 -1.4747474659115378e+00 4.6350951825519262e+00 1.9017434791858832e+00 +2364 9.8708207545151050e-01 1.7762251982471335e+00 9.3817174343964349e-01 +2542 -3.7866446440951198e+00 6.6119422972451203e-01 1.0437296831988667e-01 +3056 1.2651995845792847e+00 -6.9124638084515215e+00 4.5172756662357250e+00 +3363 -1.9151484189600110e-01 2.3120984196314454e+00 1.0451658462680005e+00 +2497 -6.9682334255343861e+00 -1.4503591252931167e+00 7.3933082435074358e+00 +2785 2.3183622497443488e+00 3.8188792509177234e+00 -1.0272427947439586e+00 +3465 -5.6134912603684040e+00 4.1329561387693498e-01 -3.7509321276991638e+00 +3008 3.8851520040455925e+00 4.2888749850135230e+00 -1.6983246164677315e+00 +2961 -5.9034722947197649e-01 2.1065277060759651e+00 -2.1115692874212342e+00 +2577 1.3149967907748477e+00 -1.2004480768657699e+00 6.2584221257015296e+00 +2849 -4.5758716145313461e-01 -1.7039065808738585e+00 -2.6894238700703164e+00 +2641 4.7068163190097678e+00 -2.4065440163948133e+00 -1.0241876812919864e+01 +3384 2.9761203955481039e+00 1.8608134844444244e+00 6.3459739857313124e-01 +2062 9.2403730433427067e-01 1.3826657358283971e+00 1.1028984936717359e+00 +3782 5.7024915334442194e-01 -1.2282099773762747e+00 -2.3147993361002634e+00 +2208 -1.9803801355997075e+00 3.9128476988807805e+00 -8.7228986943414544e-01 +3025 7.6585995798876830e-02 6.2448486299073902e-01 8.4208294706090463e+00 +2145 8.7469873473517001e-01 3.6332611083290258e+00 4.3286448878365213e+00 +3104 -9.0043243799154893e-01 4.6017032283237951e+00 2.1730141454384522e+00 +1857 -2.6517260177591364e+00 4.9836185588340243e+00 -1.4745337430526828e+00 +2944 -5.1527912205564306e+00 -1.5617523125927770e+00 7.2606719753428139e+00 +3926 3.4783366859289351e-02 4.5779037735835164e+00 -7.0167058181494060e+00 +3602 2.0046838312532631e+00 -5.6916720148841833e+00 -7.7008917146665457e-01 +2512 -1.9289180415978882e+00 1.7233377620581480e-01 1.9593451921054574e+00 +3481 -8.6989765971467286e+00 4.2292288732654661e+00 -2.1903499200733143e+00 +2304 6.9774711378951515e-01 -1.1187257846833139e+00 -3.1699868732075345e+00 +2816 -1.0230904244200943e+01 -2.1951497548664167e+00 -5.5407858183565006e-01 +2400 -2.7497135492041447e+00 -2.7643790183257688e+00 -2.5059409225877760e-01 +2273 -1.2789000283512990e+00 -2.4024538520669347e+00 -4.7491459610908604e-01 +2737 9.1663423953695533e-01 1.5716679567278720e+00 2.6180262847113500e+00 +2817 4.1114022480749037e+00 4.2447944628412051e+00 4.0942914491346405e-01 +1809 4.8464802358637060e+00 4.3894937021569780e-01 -2.8266875961898164e+00 +1217 1.9441098831251162e-02 8.8129042305932137e-01 1.4665450994481741e-01 +2705 8.6413500447854830e-01 1.1530679871898046e+00 -2.4513086856882986e+00 +3009 7.9247426283942088e+00 2.4523608200636131e+00 -4.7492072680953505e+00 +1921 1.6219789877899462e+00 -2.3767538312666092e+00 -3.0728408592154350e+00 +2369 -6.0718163316056439e-01 3.9602111414238705e+00 -2.7908179327924425e+00 +2065 -2.5719400298190846e+00 8.2530516231013866e+00 1.1649723521927313e+00 +3667 -2.6318198990376385e-01 8.1319811994952640e-01 -8.4440601996710341e-01 +4055 1.2833295812773384e+00 1.9595076400371617e-01 5.2180870069767584e+00 +3508 1.2828815314970465e+00 -1.5043276096171412e+00 4.9561538076796818e+00 +3840 -7.7536589851700706e+00 9.2853604603936502e-01 2.6863799807886752e+00 +3213 2.6631048666325374e+00 1.8582013988217905e+00 -1.2771096021691464e-01 +3900 6.5499803157685585e+00 -2.8915403835133602e+00 3.9269904020238573e+00 +3473 5.4185412038446747e+00 1.0643552397026436e-01 8.1099090621417442e+00 +3315 -2.7147687361479269e+00 -5.4976215585034431e+00 5.4800669617541145e+00 +3118 -7.7619773310543239e-01 3.5525156323934683e+00 2.4290294857861676e+00 +3763 1.3281159236000362e+00 4.0199722373055948e+00 -1.1102607779101451e+01 +3910 -6.7047977151848115e-01 -6.3380771278427881e+00 -4.7863082210058844e-01 +3162 2.5566598026180576e+00 -1.0064849526560773e+00 2.0375069506913897e+00 +4068 -7.0727388990363049e-01 -3.5439393539970268e+00 9.7782221693219651e-01 +3863 -1.6991586078133918e+00 -1.6916142751754550e+00 -3.7742072023029971e+00 +3851 3.1495529521106591e+00 -5.3809890980077535e+00 1.1033489790143223e+00 +3259 -6.5299253200753222e+00 1.4759669837060390e+00 -2.7767164253753536e+00 +3418 2.8018906898132743e+00 2.6399074155387137e+00 5.3094806227179445e+00 +3325 7.2079976368319831e-01 -2.5051590430825392e+00 5.1543230702656508e+00 +3688 3.7605039209521989e+00 1.0768296093449778e+00 -8.5307957359854072e+00 +3689 -2.2056062073871936e+00 7.5414450559007271e+00 1.2813609437899143e+00 +3206 4.3414480380663338e+00 2.5261301584390194e+00 -1.5957169604739618e+00 +3687 -8.1472385972074512e-01 -6.5308260380317957e+00 -6.8857692914926050e-01 +3454 3.1963478797864302e+00 3.7185890258630674e+00 1.8318346305614754e+00 +3443 -2.2137350138176242e+00 9.3496895566187632e+00 -3.4547921300017634e+00 +3406 1.5941555049482210e+00 5.4880747465787145e+00 3.6235776091888265e+00 +3580 1.4147616772905678e+00 -9.7240558588081871e-01 7.6437313464927277e+00 +3846 -4.3964641648914711e+00 2.7577407614288463e+00 -2.0821096559688983e+00 +4081 -4.8008394240555735e-01 5.9711075544178165e+00 3.8269987538677062e+00 +3595 -3.7667853354135956e+00 -5.2137916933666046e+00 -1.1167187990836585e+00 +3988 -1.8750573261405903e+00 7.1960928922411882e-01 -3.8322131949395204e+00 +3181 -1.1255943970482332e+00 -8.5086995423458134e-01 -5.6816541904105895e+00 +3307 -2.3037270878078520e+00 2.4595859705976264e+00 -4.7268437330629860e+00 +3871 1.8276475522746052e+00 1.1433748163193518e+00 1.2567747164162355e+01 +3644 6.5439311593314375e+00 -5.9508813373712286e+00 -1.8107802289532224e+00 +3447 4.2919003654754313e+00 2.5062954878440413e+00 -6.8584661470940511e-01 +3409 8.0074232962904529e-02 -3.0307504727513264e+00 1.8121585631322110e+00 +3675 -2.0605014918736462e+00 1.6888531550424466e+00 -5.3777828730045982e+00 +3621 2.3710655829523581e+00 2.8532800577108506e+00 -2.9875343882631173e+00 +4095 -3.0867465367977722e+00 5.1360131045682245e+00 -6.2657570769867696e+00 +3111 -6.0269491165359925e+00 -1.9942835210536336e+00 2.8597309124962940e+00 +3853 -3.3693689015964194e+00 -1.7133099389165047e+00 -3.4854716309932460e-01 +3282 3.7423993120292942e-01 2.6197720149123711e+00 4.4358527310356594e-01 +3941 -7.4991779981188671e+00 -2.7805519351449087e-01 -6.4888555944560988e-01 +2161 1.2624902288522333e+00 8.1504566097588871e-01 -1.5076504198361025e+00 +4014 4.9387315363877669e+00 -5.9404285432461468e-01 -1.2654358811167599e+00 +3652 1.8453093900374002e+00 -4.1284785051579469e+00 3.6957476136758367e+00 +3990 1.3545783030132599e+00 1.0644928749575528e+00 8.4035513279193168e+00 +3582 3.1171193757234663e+00 -4.4786545130475763e-01 -4.5156201680061375e-01 +3330 6.5170833248480053e-01 1.6379313094061538e+00 -6.1343634443650412e+00 +3246 1.9961496708997806e+00 2.4074445942387492e+00 4.9313721666698296e-01 +3123 -9.1175459735220310e-01 5.0628843787924520e+00 4.2645302961553329e+00 +3086 3.1563701256014123e+00 1.4764034509677846e+00 -2.6880861826349617e-01 +4006 -2.4082187204227304e-01 -7.9088669238201381e-01 9.1988292193554706e+00 +3175 -4.4898996952981527e+00 -1.9508916845063042e+00 -2.9389404466366771e+00 +3529 -2.1797997127218456e+00 -2.7575608594528309e+00 -1.1663963584335642e+00 +3089 -3.5133386877937411e+00 3.1953297516906614e+00 4.5884924048448825e+00 +3944 2.5652855668026224e+00 1.2261762709261550e+00 6.1132392151595552e+00 +4096 6.7448974708447951e+00 6.0000484586080360e-01 -4.2502525061972323e+00 +3700 3.9703735216847851e+00 -2.3705745932140059e+00 2.1681978417831784e+00 +3446 -9.1737672586027275e-01 -3.7953935105345771e+00 -3.5809736099894934e-01 +3410 7.0120146578943388e-01 -4.5184053722331061e+00 4.6241930472817550e-01 +4010 1.3302396703097630e+00 -2.9786770555038871e+00 -1.8134688637648980e-01 +3440 2.2637635846496793e+00 -2.1996340792748922e-01 -1.7955511936705724e+00 +2897 -1.8824367551908627e+00 7.9310857793612710e-01 4.3167753084890634e+00 +3138 3.8386616643547447e+00 4.5871939290197981e+00 2.1747870140918355e+00 +3261 -2.9860779157548962e+00 7.4865526602793766e+00 2.1894648770920946e+00 +3654 1.0035162352296345e+00 4.1006560903164573e+00 2.5426876874667759e+00 +3882 -5.4748609574685867e+00 -4.5171587120432122e+00 -1.5047476426247706e+00 +3932 -3.3058952050722934e+00 -2.9961723667023783e+00 -2.6203997895824971e+00 +3193 -1.1165569897452134e+00 -6.9139419191416862e-01 -2.8371377431985669e+00 +2241 -4.4995595161848245e-01 9.9956414282292250e-01 -6.4291666735187114e-01 +3502 9.5659809467193158e-01 -1.9537405065156686e+00 -4.8890207370757359e+00 +3859 4.4142582963953020e-01 2.4745142185382445e+00 -1.2618205675825571e+00 +3717 3.2953543024686218e+00 3.0753129390546503e+00 3.5571910729415751e-01 +3816 -4.9335526187788897e-01 8.4794700774545664e+00 -4.8784193177421704e+00 +3705 -3.3322811965498880e+00 -2.0095388893016612e+00 4.7558207580957701e+00 +3424 -1.1987208062026222e-01 1.9489066838603311e+00 -3.2151245608014500e+00 +4013 -1.4823586990204281e+00 -5.1463839754448806e+00 3.9158309092999590e+00 +3721 3.7191321207305235e+00 5.5768034545371323e+00 -2.6470070231033644e+00 +3157 -6.3269298931073052e+00 -9.5808892759179110e-01 -1.8944244547924898e+00 +4069 5.3816000001419901e+00 -2.7757931897726245e+00 7.3576257899279587e-02 +3140 -1.4029314555073322e+00 5.3779277382239341e+00 -1.5137417649518099e+00 +4094 -7.6639682246694341e-01 6.5570715078742294e+00 1.3407926271840704e+00 +3371 -8.6212498621013245e-01 -2.1552672552505729e+00 -5.9084746058414748e+00 +4032 2.0966777693284882e+00 -2.8743458588771982e+00 6.2717268834581752e+00 +4035 -4.6655670892686079e+00 2.1408279467167513e-01 2.5039063088520801e+00 +4033 -1.6233899941116936e+00 3.9197967108438703e+00 2.0717294006991080e+00 +3342 -4.2713781364438281e+00 -3.1931757501281912e+00 -1.1105732519082072e+00 +3632 1.6313828189474837e+00 4.3452297654048655e+00 6.3695661841889519e+00 +3684 7.4333402420749994e-01 -4.4839543914444180e+00 -2.0517170118592896e+00 +3226 -2.4062197421050147e-01 6.0236374798037655e+00 -2.9368500373844530e+00 +4084 1.4919033894272749e+00 1.8487697788775830e+00 1.8971901853998085e+00 +3872 -4.5132909072576771e-01 -6.4748340908268673e+00 3.6082510591272512e+00 +3878 2.6590697243151040e+00 -4.4530305892928927e+00 -2.3520237109338042e+00 +3254 2.3911233337454636e+00 2.3203479319554741e+00 1.9477675966881343e+00 +3530 1.0807118811573568e+00 -8.7915142477856045e-01 -1.3835589819897420e+00 +3462 -1.9244148632221498e+00 4.9041852357938005e+00 9.3149723954317096e+00 +3225 4.8793768913478619e+00 4.9538014933043577e+00 -4.2122910302108423e+00 +3609 -2.2237519913658961e+00 -6.1313364469848750e+00 5.6206199678002706e+00 +3976 -1.4891598786057405e+00 -3.2305671116465717e+00 3.4271807948741300e+00 +3263 -7.8067480656455512e-01 3.7337462224518809e+00 2.0362967274741681e+00 +3746 -3.6258335852095058e+00 -3.8662147883794584e+00 -1.9202402099965332e-01 +3488 3.0614869260746045e+00 9.1682703492928030e-01 5.7743798750585889e+00 +4021 6.0170859007880684e-01 -6.9191014392343524e+00 -1.5911913104671838e+00 +2625 -2.3941839110131662e+00 5.7822624738856163e+00 -4.4232076296508698e+00 +3953 2.3448058286354878e-01 5.6075638109647556e+00 4.4897258991599829e+00 +3167 4.5218925054197967e-01 1.9765115634999437e+00 -1.2024223213386716e+00 +3428 -1.3848591873602067e+00 4.8314411315391039e+00 -4.3239930828947765e-01 +3311 -3.5574926161042408e+00 -1.1339297137437316e+00 -4.0492337881942655e+00 +3156 -2.9627371435558009e-02 3.5276103574522013e+00 2.2735223226486942e+00 +3239 -1.2727964352072165e+00 -4.1507256144542870e+00 -6.0733006883822760e-01 +3135 2.9305921185121577e+00 1.9670556977818341e+00 -1.1457916825359993e+00 +3396 -4.1317233736288106e+00 1.9416270401731219e+00 -3.6340518088473708e+00 +3349 1.8572505910527597e+00 1.5795411413953905e-01 -4.5962913598095776e+00 +3995 1.3832636802953837e+00 2.5080596851622348e+00 -6.4704584679288164e+00 +2753 9.2234345806156123e-02 1.9061489486293395e-01 -1.0850630582850045e-01 +3469 5.8371741927947971e+00 6.0540625907740075e+00 5.2316509578596113e+00 +3452 7.5089639104026995e-01 4.3416648239584843e-01 1.6293094318233152e+00 +3196 1.1971736410249159e+00 -6.8542049341486235e+00 -3.7807997387385002e+00 +4049 3.4419946671435668e+00 -2.2586550254232032e+00 -2.0650376332004621e+00 +3991 -7.3871063832524309e-01 -3.3467530058219612e+00 -4.9031464148470638e+00 +3769 4.9556138753032819e+00 5.1310187303931132e+00 -1.1469374684563598e+00 +3423 -5.1657112048936646e+00 2.4287322694388354e+00 1.3312934146113073e+00 +3777 -1.0601963375853840e+00 1.6563891792706562e+00 -5.1512204762111011e+00 +3383 -6.4851897958328033e+00 -2.5985936233576470e+00 5.5602379401132405e+00 +3273 5.2550067267973928e+00 -7.7255578605197712e+00 -1.4460058587426203e+00 +3608 7.6530348715023078e-01 3.0786078961848675e+00 2.2779495130517491e+00 +3754 2.0853337720802672e+00 2.4732284527334221e+00 5.8707594996096868e-01 +3934 9.8567627762770738e-01 -2.2655666062554811e+00 6.9135089007896666e-01 +3222 2.5570828715152669e+00 -1.5060006177402983e+00 -2.1725091738689200e+00 +3693 -7.0056491604103099e+00 4.4077599481105775e-02 2.2091441967141390e+00 +3279 5.3331799780650373e+00 -9.7198804600226152e-01 1.9757551568689331e+00 +3720 -7.3865546643003341e+00 4.0201119385103867e+00 4.2395139302664936e-01 +3270 -1.1096371643212251e+00 -2.0857685882470727e+00 3.7237767434091178e+00 +3913 -2.2862241380984183e+00 9.3678542396995323e-01 -3.2217175025733371e+00 +2432 1.9313586244962794e-01 5.1556505073463814e+00 3.0548015486822448e+00 +3977 3.1713531628669425e+00 -5.2282185177991600e+00 3.6410246693668091e-01 +4028 -4.6490652398416739e+00 -6.8963643866919355e-01 1.9192456957035948e+00 +3710 -6.0261282265402185e+00 2.5745089973481488e+00 1.1412608680524499e+00 +3996 -1.9997806811033876e+00 3.7997892272441658e+00 -2.5218151146375138e+00 +3694 -1.3576975898247854e+00 -6.8457058730113907e-01 -1.0716869175341468e+00 +3485 -7.8858006235362970e+00 2.6238008854248474e+00 -2.6928933239785939e+00 +3576 3.0551283568085146e+00 -1.2564681076186988e+00 2.6016098577952143e+00 +3757 -3.3193368331656488e-02 5.3806825535246077e+00 -4.1768789539641968e+00 +3074 6.1396868196865095e-01 2.4588935666185174e-01 2.4292988940084235e+00 +3403 -7.7601779264335535e-01 -4.1351762659408946e+00 3.9984456934668522e+00 +3999 5.2669052813447417e+00 2.2118320934948250e+00 4.3136065389691343e+00 +3860 3.6203040680632994e+00 3.4106917860693509e+00 3.6193453349354185e+00 +2833 1.3559285124791798e+00 -1.5326070872818238e+00 1.5054769294606956e+00 +3739 -5.3718542359289803e+00 -4.2037899957644942e-01 2.0744514139653947e+00 +3223 8.8033428978281467e+00 -3.5553833842289855e+00 8.5619573416422163e+00 +3267 -1.0661166441278300e+00 3.3467208243720572e+00 -1.6902070570861119e+00 +3756 -3.6853560897179021e+00 -1.4934524626749396e-01 2.1263669403374696e+00 +3558 9.1566159303430272e-01 4.3043053122405182e+00 2.7570180818154317e+00 +3729 -1.0097889211912294e+00 -6.9381824010294713e-01 -3.1814479905067392e+00 +4091 -3.1031791283185663e+00 -1.2111107699105337e+00 1.5174625301167564e+00 +3785 2.3991288147133925e+00 5.5502013613885799e+00 4.3674663589579810e+00 +4052 -3.8094327874508820e+00 -6.3601113603806505e+00 4.6173377452455764e+00 +3738 -3.7729577190826489e+00 7.2154645162759024e-01 -1.0582212409370206e+00 +4047 1.7607216668042565e+00 -2.3767551945366963e+00 2.7105870716339249e+00 +4074 3.5272568074839246e+00 9.1625001878506451e-01 3.9787920423358045e+00 +3201 4.3601618195053007e+00 -2.1243136000564333e-01 7.8365028002050376e+00 +3873 -1.2275621427556842e+00 5.5047438777280344e-01 -3.2133346619367127e+00 +3512 1.4889062887984335e+00 -5.0323891797434817e+00 -1.2490240913470116e+00 +3523 1.7883684051058062e+00 -1.9419692823533723e+00 1.1278129042833489e+00 +4088 2.4179321996608523e+00 5.1806412566804578e+00 4.0968661240882422e+00 +3538 -8.2350252605174976e+00 -2.2376789597824236e+00 4.4276478339925127e+00 +3427 2.7960133297093659e+00 -5.6443500630205512e-01 2.6959020093611139e+00 +4001 2.2754763173654959e+00 8.1757854130566532e+00 3.2963081669959053e+00 +2320 -5.8763421499000801e-01 6.7310493178071640e-01 9.5567232121304233e-02 +3837 -1.8298663425538551e+00 -1.7126514497508589e+00 -8.9743163482090846e+00 +3800 -1.5675000028706348e-01 -5.9206019671173254e-02 -1.1534741824630812e+00 +3442 3.5299608180347626e+00 -1.6247335547102997e+00 -2.3360525164059469e+00 +3256 5.7888508828626284e+00 2.5268776257643633e+00 5.3334375888622914e+00 +3221 4.3647671748342693e+00 5.6281049369089882e+00 -4.1197574420051044e+00 +4023 1.9697607371771901e+00 -4.5132603297978608e+00 -5.1820821122405851e+00 +3456 3.2306269258120252e-01 4.3081752408305842e+00 -4.4580171913020035e+00 +2433 3.5678017903218202e+00 4.4958041553346293e+00 -6.0214300741101088e+00 +3356 2.4363634470688083e+00 1.2301390873336333e+00 4.0752710424416518e+00 +3584 -5.0866329591324062e+00 5.3871005202259568e+00 1.8295077142545018e+00 +3613 -1.2260929256227611e+00 3.6221973039528788e+00 4.1568206324662738e+00 +3875 -3.0852180568926144e+00 -7.0382731111249686e-01 -3.3683688236536518e+00 +3499 2.8568861574625930e+00 -1.6343807349565427e+00 -4.8762290322981734e+00 +3382 1.2271727674594194e+01 5.4383996183958319e+00 2.1637823096982875e-01 +3593 9.5330557496856383e-01 4.0071546961310413e-02 3.0946699203507375e+00 +3461 -9.7661826614713532e-01 -2.7124886343004619e+00 -3.8130372722956922e+00 +3989 -3.1808726490986658e+00 4.6593542568581698e+00 -2.4105346327693136e-01 +3735 -4.4714979991938639e+00 3.1387745805963876e+00 -5.3285029924001712e+00 +3827 -1.5826249141874901e-01 -1.7237424791871536e+00 -7.1507160820065190e+00 +3109 1.4822918365982498e+00 1.5504084193821210e+00 3.3347770547879705e+00 +3144 -7.5214742560962078e+00 -1.4337771633655960e-01 -3.6237650852479160e+00 +3834 -7.3814508179226639e+00 -2.4432960314286492e+00 5.5041127389535625e+00 +3541 -9.3983969302672998e-01 2.6829575282594154e+00 -8.0943789292732193e-01 +3174 -1.1953543376906155e+00 3.0459960819271328e+00 2.4474559419350226e+00 +3648 2.8426679511801196e+00 1.6806159426589504e+00 3.0793579398509188e+00 +3880 6.8026081892472823e-01 -1.2131338385213368e+00 5.5674044527425093e-01 +3590 1.5936217459618616e+00 -5.0528313683491586e+00 5.9302572431169622e+00 +3096 -2.6515475901792844e+00 -5.2773845865563285e+00 3.0130821787832969e+00 +3300 1.7523847560508625e+00 -3.7489180852407227e+00 1.2138374233293737e-01 +3972 1.2187745448747547e+00 -6.0915021883059373e-01 -1.7480879408859356e+00 +3126 7.1026755639955104e+00 -1.8088150640778328e-01 7.9662641220055552e-01 +890 1.0570273117260887e+00 -6.8085779493747793e+00 2.0616459239261089e+00 +3577 -9.5324453684815758e-01 -4.5893204522628377e+00 4.4827823335094266e+00 +3227 8.5999410959276068e-01 3.0688581680633975e+00 1.4042832380898416e+00 +3319 -1.2448833546425500e+00 3.7686112772447411e-01 -9.7420241162952348e-01 +4038 1.7901861660164435e+00 4.3631412862710556e-01 9.4387867851547036e-01 +3334 6.9033070105586418e+00 -5.6027432851980563e-01 5.9949605113930753e+00 +3945 -1.0236971540235840e+00 -2.8097603758972256e+00 -2.0596824219093999e+00 +3079 -5.8174003178092928e+00 -6.0293493211942661e-01 2.9787567018382832e+00 +3855 7.8192107900366876e+00 -2.3909678805919596e+00 1.0252893985677585e+00 +3933 -5.9928980654918673e+00 -4.0940254528490199e+00 -1.4067124226345923e-01 +3724 -9.5621026913448974e-03 2.8347347641239633e+00 -5.3144737249724894e-01 +3390 -1.5589454551166733e-02 -3.4012123155763048e+00 -3.2861669733946726e+00 +3641 4.4951533922405601e-01 4.4843993735688610e+00 1.2687501997898953e+00 +3472 2.6203243799747611e+00 4.6196024021498792e+00 5.5347795590535576e-01 +3631 -4.8750285034269698e+00 -2.8462284245116803e-01 -1.2276804270439592e+00 +3987 -3.7989801487869355e+00 4.1717604682209419e+00 -8.9396104125473086e-01 +4086 2.6989424240838283e-01 -1.7024309525906696e+00 1.8698985308858878e+00 +3100 2.6286953121201089e+00 4.2502780196458954e+00 4.5938011400750600e+00 +3292 -1.5924954228540695e+00 -2.7918603468845755e+00 1.6579813989132441e+00 +3420 1.6542688319715544e+00 -2.0772735137442604e+00 -3.9314516289153527e+00 +4073 9.7262147919426678e-01 -9.9819026459618432e-01 -2.0593762641041859e+00 +3450 1.4778084541650007e+00 -6.9216942986379301e-02 3.6354589926886671e-01 +3884 6.5687781078372280e+00 2.7651123155320407e+00 3.3732016665927983e-01 +3666 -2.4150185532926289e+00 5.1755863727845082e-02 -6.7423768271883433e-01 +3818 5.5515902277896583e+00 -3.3918903157545741e+00 5.2950409016029107e+00 +3082 7.1150464919795215e+00 -7.3176391020704887e+00 -1.6407134373759533e+00 +3537 -3.0995351539578420e+00 3.8441100915661178e-02 -1.6059996896077449e+00 +3116 3.7997023589211745e+00 -3.4840073805301128e+00 3.1473440646108140e+00 +3617 1.1734239856733850e+00 -1.5110749627259938e+00 -5.9375971227768494e+00 +3567 2.9287394908252056e+00 1.1006052132442410e+00 -4.0275079194425016e+00 +3127 4.7943372581206078e-01 2.7927834951465966e+00 2.4845894810673938e-01 +3578 1.4011133015463562e-01 -3.3543725369351622e+00 -1.0160876458916761e+01 +3257 -2.0368298850927675e+00 1.8278268459914173e+00 7.1621135938366975e-01 +2945 3.5796307951993374e+00 -1.6034854436593866e+00 -4.1038273141083357e+00 +3980 -6.3308454937050556e+00 -5.6352492044193359e-01 5.5151225357455198e+00 +3179 1.9695750355613553e+00 -4.2311055575114915e+00 2.1163952761085860e+00 +3828 -3.0147034859030208e+00 -6.0451528229342988e-01 7.1759972119457709e+00 +3856 -7.8320508021653590e-01 4.9243793534593951e+00 2.3555831403232870e+00 +3155 2.4139725375102428e+00 -2.4895370874621037e+00 -3.3900918865708096e-01 +2881 -1.1824898247206146e+00 -1.7106341573595414e+00 4.3152360154361824e-01 +3441 -8.0417996023280522e-02 -3.7270199164809235e+00 4.9220283513377678e+00 +3706 -6.7375476822079783e-01 4.4635892770063856e+00 7.4642816257614664e+00 +3902 1.5798017015434702e+00 -6.6304762627458347e+00 -1.2411724541001361e+00 +3438 -3.2453616467809376e+00 -4.4301121723472399e+00 -1.2133245592077357e+00 +3758 -2.0729522504431341e+00 -2.6545132816228985e+00 7.8727487210504057e-03 +3378 -5.6954566349393403e+00 -1.1807470830948199e+00 -2.5077877623420535e+00 +3618 4.6133073072296691e+00 -9.4533369383450616e-01 -6.7300951871495029e-01 +3476 -5.4587215659976218e-01 -9.5256084464794255e-01 3.1383884682107981e+00 +3399 1.0709830162357172e+00 -2.1799180999804291e+00 2.0838870252648531e+00 +3381 1.3201582843183022e+00 -3.8176001999232922e-01 1.8060283610672154e-01 +3659 3.5411994604393038e+00 5.3942745784425492e+00 2.3013865409235064e+00 +3434 3.9722340653628754e+00 3.0140753332506431e+00 2.3211739977524961e+00 +3416 -3.3362321202307830e+00 8.5799115862847206e-02 -6.7694501413354424e-01 +3304 -3.4570797455587656e+00 -1.4830555744770688e+00 1.2098135145673277e+00 +4029 -1.9322512121785060e+00 -3.2215301332603747e+00 9.5987082621859121e-01 +2640 -3.2933675408907379e+00 -6.8752278422315838e+00 -2.2629507728461231e+00 +4044 4.1419282161316323e-01 -1.6414145872584981e-02 -1.4035884120025517e+00 +3404 2.0320536051164684e+00 3.2344137177982830e+00 7.4103367236773030e+00 +3773 1.1435577753862136e+00 -1.0367668220633226e+00 1.6508617820017328e+00 +3543 4.5947325241528203e+00 3.2578364348807787e+00 -2.9030906667348653e+00 +3553 3.5530011285020460e+00 1.2149373667796870e+00 3.5048882349536270e-01 +3845 3.3849125705008274e+00 -2.1158258643894725e+00 -1.6136049863654651e+00 +3919 -3.0345285739335046e+00 2.6319478626983628e+00 -1.4178671038226252e+00 +3901 -1.2807335521378620e+00 2.8781313910523281e+00 2.1431484650907051e+00 +3112 -8.8316322627498922e-01 3.3669040362033180e+00 -2.5583920998027803e+00 +3289 9.6088033031247833e-01 -1.0663298437105941e+00 -2.2403657703684332e+00 +3559 1.1567325830612645e+00 -9.0800588251799308e+00 1.7467097315822531e+00 +3517 -6.8376913277460440e+00 4.8688252793609538e-01 -2.5761692964168361e+00 +3277 -4.7777042600528070e-02 -9.5290722145207916e+00 3.6689298311056068e-01 +3212 -7.0254786006575498e-01 2.7680003256606439e-01 1.6431817385604550e-01 +3137 -2.5161868989745195e+00 -1.3311972669955754e+00 1.7648051399627172e+00 +3369 -2.7741688674474392e+00 -4.6877049206349390e+00 1.2903280986643262e+00 +3087 -8.3978253736929687e-01 -2.8804138959796357e+00 2.7163142951462729e+00 +3824 -7.4425966947648858e-01 1.5616321114911230e-01 2.8589972992528163e+00 +3545 5.4448346173328419e+00 7.4220360501396847e+00 -8.8459204528875968e-01 +3245 1.2792094212295697e+00 4.2888890852996493e+00 5.8458492422229424e+00 +3531 4.2196392264314770e+00 1.6274099853117514e+00 1.7165919499546864e+00 +4009 -6.7902066062305035e+00 4.4512428386821581e+00 9.9854180041841822e-01 +3445 1.0212603620910039e+00 -1.1545061448952241e+00 -2.0485376776902768e+00 +3734 4.6965011681112676e+00 -2.5436318377168297e+00 3.1517559890615097e+00 +3920 -5.3490448906750983e+00 -3.0985404372620234e-01 -3.8839771429787500e+00 +3136 2.7799209861399747e+00 4.3637708545155167e+00 2.7443582787564003e+00 +3498 -3.5556214017049359e+00 3.9077872653676424e+00 -9.0529069453271145e+00 +3857 -1.5666435939858230e+00 4.3619809655326387e+00 4.9826449046957144e+00 +3266 2.0069008895380742e+00 2.2763590015112496e+00 -1.0082998807338184e+00 +3895 5.5026326749782974e+00 -2.1679787947196347e+00 -1.2328497711257944e+00 +3269 -4.1127870710651465e-01 -1.9610775527215618e+00 -5.7184945998630905e+00 +3839 3.7553893543643752e-01 -4.5868587248007398e+00 2.1182737205320912e+00 +3892 1.2756409112720137e+00 -1.0087340112806293e+00 -5.8109160610103521e+00 +3215 -4.9808420423573612e+00 9.3683485984010706e-01 -4.3860548871257956e+00 +4039 -5.9116607666576106e+00 -2.3788371308697589e+00 2.3114018366690305e+00 +3493 2.3624529916654797e+00 3.0880972554770265e+00 -2.6069794423079444e+00 +3550 5.1449652309588034e-01 -1.6134797927030287e+00 -6.2810250889855812e+00 +3373 4.3488346658623245e+00 3.1744671626940733e+00 -5.9121242432402346e+00 +3646 6.1648821846807564e+00 3.5528331283342003e+00 3.6257812027359826e+00 +3514 9.9497848501062303e-01 -1.0997128117132404e+00 6.5846400002153235e-02 +3664 -2.5210326003289119e+00 1.3653598038087689e+00 -4.4307326543875174e+00 +3527 -5.4641327724325635e+00 -4.5509582922382155e+00 6.7450279700207831e+00 +3114 -5.7888708540089464e+00 6.4960057055983205e+00 2.1339465957210418e-01 +3898 4.1346481856931714e+00 2.4259544268186524e+00 -7.4567283035129437e+00 +4016 -8.7267005800262043e-01 5.5774156745943930e+00 7.8390256749965559e+00 +3865 -6.9099421006910444e-01 -1.3243150486504986e+00 1.3215446956734298e+00 +3203 1.7796461843537446e+00 5.3458459414488244e+00 -3.5757694271206413e+00 +912 -9.5478612283900706e+00 -1.5212844311520271e+00 3.1325647579618943e-01 +3143 6.3048584818985942e+00 -2.9115222391647442e+00 -3.9536944320534722e+00 +3870 -5.8808548958779374e+00 2.9933516422544177e+00 -5.5875205683294240e+00 +3877 -3.9335003789020413e+00 9.5362001475838365e-01 -5.9720543907022732e+00 +4061 6.2731433792898965e+00 -7.6847719837083406e-01 8.8600548877937211e+00 +3808 1.8796275301577992e+00 -3.9141982859728905e+00 -4.7231050327157913e+00 +3794 -4.3271591285093978e+00 1.6976165056902539e+00 5.5132712489139646e+00 +3810 -1.2468653987660987e+00 1.9187682392571914e+00 -3.4980034895625161e+00 +561 -1.8798765002118492e+00 -2.6469199019196541e+00 -2.7206994715488757e+00 +3148 3.8468009671984782e+00 -5.3370759699341508e-01 5.8359207331143743e+00 +3494 3.3783638746043581e+00 1.2038155777553585e+00 3.5646670911320277e+00 +3297 -2.7198336601358453e-01 -4.5066991324125644e-01 -4.0041601012884263e+00 +3299 -2.5857286692716692e+00 -2.8500074087635374e+00 3.6954172470742913e-01 +3362 -9.3316960959872275e-01 -3.8143903570130364e+00 -4.0566658483112104e+00 +4011 1.9014753233362898e+00 3.6975691611674577e-02 6.6645263998813387e-01 +3551 -3.3856774777809591e+00 -2.3559004445109628e+00 -1.1571458341645227e+00 +3468 -1.0679396737559792e+00 1.6332536665786947e-03 -3.6385422631527811e+00 +3622 5.1993669663470177e-01 -1.3934294737485924e+00 -1.1017575563627651e+00 +4041 -6.3740581182205682e+00 4.3692304406877760e+00 -1.4379773228427170e-01 +995 -1.3104877043902539e+00 2.3367351629782904e+00 -5.6073760224997242e+00 +2447 -3.7101734065530936e+00 1.1903962276247815e+00 -3.5694942138031367e+00 +3931 1.6990171353089130e+00 -1.6890550574400671e+00 6.7292792377384081e-01 +3131 -1.8403775303960530e+00 -3.4977927814907348e+00 3.8848559619261769e+00 +3733 1.7163672823319585e+00 -6.8200358219125725e+00 -8.7474220378443199e+00 +4050 9.3409934891656343e-01 -2.9382305199007432e+00 -1.6795619346125796e+00 +4020 -6.2235132098176837e-01 -5.0683068220206682e+00 8.5883299876914676e-01 +4054 -5.9590271743965406e+00 3.6364770740721850e+00 -8.2590589917209769e+00 +859 -4.1559992740429857e-01 2.2455897588318257e+00 -2.3463177244074360e-01 +716 3.9662142630330726e+00 1.7996391714130795e+00 7.3261138288118612e+00 +2800 -1.6010143471278915e-01 3.3971241728241307e-02 -3.4893368758952232e+00 +495 -3.0071160990781736e+00 4.7491081361560967e+00 -5.2636979084252298e+00 +3677 3.2899789648995115e-01 7.3590432721962751e+00 2.4969921384741940e+00 +3525 -3.8433717144510027e+00 -2.4673027620007830e+00 4.2031984632274000e+00 +497 2.8423884393189551e+00 -1.0338403566272389e+01 1.4075293234270398e+00 +3171 -1.8120961078318398e+00 -3.8341905791200577e+00 -9.1368545281061059e-02 +3711 3.3573411342694826e+00 1.3850802516715237e+00 2.5159862093658241e+00 +3401 3.3290707776389663e+00 2.1789991772389024e+00 3.5414345878928204e+00 +3764 1.3409208579083534e+00 -2.6334228176806387e+00 1.8009532193840652e+00 +3305 1.6110404939982816e+00 -2.2842943257813500e-01 -2.1192285289161088e+00 +3716 -4.0678214229651726e+00 -1.7977207195309073e+00 -6.7407227310017204e+00 +3313 -3.9816566619272984e+00 -4.4135228554267336e-01 -4.6620819693771338e+00 +3205 1.2214961228885248e+00 -4.7522601018285497e+00 2.2848681644016304e+00 +3670 2.9631536883471141e+00 5.7656313480189771e+00 -7.3660879919192412e-01 +3604 1.2794238270524287e+00 5.2309062312932140e+00 5.6081179499741793e+00 +3699 -4.9205072955154954e+00 -4.8110620738147816e+00 2.7119253129244454e+00 +3674 2.7120862136730657e+00 2.4903463536658707e-01 -2.1037809729943522e+00 +3177 -1.6337758573419023e+00 2.3453284662576740e-01 1.6286346696397449e+00 +3309 -3.2711830544322815e+00 -5.5316268163860671e-01 -4.5736921262847012e+00 +3107 6.4588848337765539e+00 6.4969538633284571e-02 -2.6479995668580196e+00 +3795 -3.6741054751578872e+00 -5.5412320568226658e-01 3.8166952308037788e-01 +377 2.3720424806774889e+00 5.4332012512418517e+00 -4.8444050784447690e+00 +4070 2.5814760575513485e+00 -2.3168228521126539e+00 3.3101488242582806e+00 +4027 -4.1989858179293309e+00 1.2605779853188990e+00 3.8096972203785269e+00 +3723 1.6777186251066687e+00 -2.7671713079832037e+00 2.6315637883122345e-01 +3676 1.5493116037432892e+00 -3.6703567383491289e+00 2.6232114672041460e+00 +3736 1.3720731505486741e+00 1.3253207618503033e+00 3.6732146489803617e+00 +860 -1.8584291815204457e+00 -7.3241629054627531e+00 4.3463878605378470e-01 +3350 7.0227938723218508e-01 4.1936007382427204e-01 -1.2946905815136500e+00 +3290 -1.2766223544017907e+00 -5.5551186690379604e+00 -5.0123107954586710e-01 +3125 -4.0720149546661633e+00 4.5268704430794040e+00 6.8763259045063951e-01 +3232 -2.4733761913757895e+00 -1.8380273616005414e+00 -2.0976834281188936e+00 +3120 -2.3227119618150214e+00 3.0236730653236914e+00 3.9414578083961778e+00 +3211 6.1970716684774887e+00 -4.2955218581099315e+00 5.5585983963057704e+00 +3471 2.2420510758137890e+00 -3.9823911392756943e+00 -2.2581128531634392e-02 +3624 1.7128797436921972e+00 -1.5792343223324914e+00 4.0407564855593687e+00 +3923 -3.8909515867045879e+00 8.2498737571401204e-01 -1.7825928732882419e+00 +3623 3.0533612407633326e+00 6.9613927509651710e+00 -3.3330153862730572e+00 +3202 -5.6560515206098527e+00 -4.2466917673920834e+00 -2.5336454634392536e+00 +3522 -1.9135616015222172e-02 -1.3953793218878419e+00 2.3992904473863397e+00 +3153 -2.3387413084399120e+00 -2.0388048234669598e+00 -4.3150532164627720e+00 +3848 -7.2820217315973268e-01 2.7419957167762854e-01 -2.7595922608180752e+00 +3335 5.1008803060382473e+00 -1.6440769168192035e+00 2.6120870217578074e+00 +3718 -7.4426644231544192e-01 3.2193622648094675e+00 2.7722493158853374e+00 +3625 -2.3945972860263818e+00 -3.8601788115295115e+00 -3.3710692280246706e+00 +4005 -6.0202782475552290e+00 3.4016123443731161e-01 -4.3054015386688121e-01 +3505 -6.7450072871507754e+00 2.9740545644607566e+00 4.1081596439762933e+00 +3489 -2.1229450179584251e+00 -6.2221770785659136e-01 2.5055904514507166e+00 +3974 -6.3244849080480012e+00 -2.4358922561994101e+00 2.9554251304918955e+00 +3765 3.8225509273298570e+00 8.6610954017902202e+00 3.2593633689524197e+00 +3466 -3.1757022424211194e+00 -4.1244663147254901e+00 -6.0148368932153788e+00 +3918 -4.5023639359418594e-01 3.2087037638843867e+00 -1.5301757198624220e+00 +3173 1.0359671857600434e+00 -6.5380199542486750e+00 1.1359615236266533e-01 +3630 -1.1359815300759946e+00 -4.0108763804970717e+00 -6.1996002037702906e+00 +3407 -4.6132210927810702e-01 -4.7526146696231546e+00 9.2397993503755538e-01 +3955 -2.5749990741982711e+00 3.2713026162169290e+00 -1.5536932879198266e+00 +3653 1.1697510955609316e+00 7.5771768830077129e+00 -4.6049988679881126e+00 +996 3.3196774370809274e+00 -9.0065879218562817e-01 4.7452743339025565e+00 +3658 3.7323618554508098e+00 6.3411243503619668e+00 -8.4348475892193675e-01 +3295 1.4766096343535751e+00 -3.7658153365866105e+00 2.8848238979992518e+00 +4043 -1.6107823614990091e+00 -8.3233638694182543e-01 -9.7475427829806538e-01 +3645 -3.4396776639485314e+00 -5.2209450754053819e+00 7.6285737267468012e-01 +3316 -6.1325488072910916e-01 5.1644092270235187e-01 -1.8346473906388705e+00 +3849 1.0432953569240278e+00 -4.6161630707892837e-02 3.7732345426852487e+00 +3075 1.2010237923121745e+00 -5.8581658288783833e+00 2.8038260010261689e+00 +3943 -3.9586540363930678e+00 -6.1443318530484374e+00 1.0352425748522569e+01 +3957 -4.1689061601169386e-01 5.6179877035582253e+00 -1.0437249554298147e+00 +3491 -2.0843294897712550e+00 1.3456849191874296e+00 8.9694075950019503e-01 +3586 4.6975304366649157e-01 1.6478885320769605e+00 -5.7803344117199174e-02 +3642 4.2080243918317937e+00 3.1910947468486222e+00 -3.1803563195387854e+00 +3951 -1.5802365956662405e+00 -1.4809806081368160e+00 6.7124603557201334e-01 +3619 6.7502878690176162e+00 1.2390084284477945e+00 5.2316001163284975e-01 +3164 -3.0384551674209255e+00 1.5274680939579226e+00 3.8423698394578856e+00 +3425 1.1593384552687273e-01 8.2735682969528028e+00 2.8658599621907759e+00 +164 -6.1475109972763189e+00 -1.9717780300530467e+00 -1.0764639923158936e+00 +3392 1.7467224487203097e+00 -6.4638234430970822e+00 2.9286402374927913e+00 +3825 -4.4847775726415238e+00 -2.0551805109425141e+00 3.4231411767429509e-01 +414 -9.3314803399527557e-01 -2.7132811250760440e+00 -6.6081065748012353e+00 +3959 1.8792807733073091e+00 -4.1682952635197710e+00 -6.8711467810774343e+00 +3612 1.0874772064674572e+00 -9.6360052759600667e-01 -1.3665504636520605e+00 +3389 -1.9121036985555186e+00 -2.5805594539497374e+00 9.6119714388810909e-02 +3570 2.3187621350853913e+00 4.2627862414406668e+00 -3.3973818959244495e+00 +3938 -4.7110982035479548e-01 -1.1168900112174991e+00 -5.1136335332236431e+00 +3113 -5.5392341316738991e-01 3.1493353086053673e+00 -2.0020517242218245e+00 +3095 -6.7168739666240747e+00 1.3666377518131029e-01 -2.0503507750638996e+00 +3218 -1.5186480022618118e+00 2.9273172011431314e-01 -5.2853234792636627e-01 +3076 4.5147106545513627e-01 -1.1858909956683332e+00 -7.2295394358021996e+00 +3429 4.0798976889341310e+00 -2.2221768697215141e+00 4.1065167973851553e+00 +3327 5.9769440647297030e+00 -4.9175556140101424e+00 -1.5118258022950581e+00 +3750 -3.3545999562646323e+00 4.6115318681132891e+00 2.9156695735031399e+00 +3176 9.5329553616566027e+00 1.2607798849113041e+00 -5.8593548269125506e+00 +3097 -3.3367393004582886e+00 -2.1865840370686648e-01 -3.1008495187452647e+00 +3195 -4.4561532294005364e+00 -3.6745330257748413e-02 5.9772065524288260e+00 +3293 -1.4598731688675288e+00 -2.6817258061000078e+00 5.1926072229530877e+00 +3854 -5.2688532287271519e+00 2.0985129433816496e+00 -2.3605995463729172e+00 +3760 6.2951560578324832e+00 1.4057237407440475e+00 2.3061656448590613e+00 +3992 2.9370290456628476e+00 -1.3656967943325127e-01 6.3107892618166685e+00 +3231 6.3979466897179025e+00 8.6801897955352547e-01 -1.1057826979639986e+00 +3668 2.7582926829097980e+00 -9.6193148819588217e+00 3.6980892726517132e+00 +3121 -1.6029391062429428e+00 1.6898553986588377e-01 1.7171907315539561e+00 +3564 -3.5552769604728867e+00 2.4353506951588679e+00 2.3342638056159046e+00 +3964 5.5893128728042534e+00 2.5768413188622552e+00 4.1976871446606401e+00 +3971 1.0892427607612509e+00 -9.9127979883782857e-01 1.2170212776050575e+00 +3374 -4.2732060101398694e+00 -7.7159235378015867e-01 2.6621036842996606e+00 +4079 -1.9231342435334953e+00 2.8824741141242209e+00 6.9775177725739090e-01 +4031 3.2293942875275667e+00 -5.9246804913420581e+00 -6.1207416965470096e-01 +3914 -1.1389148374531370e+00 -8.3939679681508057e+00 -9.9657233632702780e-01 +4066 -1.7436591287570031e+00 6.4965010564154548e-03 3.2563350323564739e+00 +3146 2.2686845715316601e+00 -1.5308414401198172e+00 5.8087131360864461e+00 +3230 8.2716544228073268e+00 -6.8778445754264217e+00 -7.6042122818180879e-01 +3696 -2.2152588185805482e+00 5.7373245139411222e-01 -3.0520355527722294e+00 +373 1.8911115859070753e+00 4.3749134840108752e+00 -1.9620889500861431e+00 +3770 -2.8822340669310714e-01 -1.5902234703693563e+00 8.5166128019564802e-02 +3547 1.5087773464412699e+00 -2.2721213818383770e-01 -2.1991695667967268e+00 +3589 -1.6661958112810653e+00 -4.3898699727949566e+00 1.7062936896280863e+00 +3927 4.7283131828917355e+00 -2.6001609602242186e+00 -5.1272509615943935e+00 +3240 1.0402315070782830e+00 -2.9225407884820034e+00 3.4479406738341996e+00 +3546 -1.6072793228229416e+00 5.3453765503404904e+00 -3.1138330024924742e-02 +3801 3.9378494667715341e-01 -2.6580114463304625e+00 2.9257124354495817e-01 +4080 4.9471604810377290e+00 -2.1792808410801361e+00 -8.9330435560950345e+00 +3192 6.3796816943064352e+00 -1.4080799888808624e+00 -6.0324539253702749e+00 +3732 -1.2082244041154564e+00 -2.1688053424859004e+00 -3.4449532264714025e+00 +3748 -1.3885868577564524e+00 -6.9596077650112542e-01 8.9160123236261890e-01 +3909 4.6912794812717324e+00 -7.9515636216227725e-01 4.2949026672710495e+00 +3821 -1.2421306208200689e+00 -4.2393969439399060e+00 -1.8938468229633312e+00 +3588 6.9630513573751518e-01 -5.0295582930812035e+00 1.7259567792669253e+00 +3253 1.3632192537127761e+00 -3.0799245575523682e-01 6.8378687546854238e+00 +3712 -4.1898392164645575e+00 -1.0272466454162683e+00 -1.2334040454582447e+00 +3352 1.9694417969396345e+00 -1.1960379898320021e-01 5.9076778234501015e-01 +3656 1.0158240590265530e+00 1.0977299008147703e+00 4.3778452801703571e-01 +3271 -2.2432805420555861e+00 4.3062213306535702e-01 5.5280545267251178e+00 +3727 -2.9339666747553768e+00 5.1704548851790921e-01 2.2346839941961290e+00 +3090 -5.6041625090412150e+00 -2.0098367467576108e+00 -5.7391692445648657e+00 +3906 3.2295377703664445e+00 -2.2211886208346967e+00 6.0345797550330915e-01 +854 1.0999368780761154e+00 2.8190088937789568e+00 -4.5427932325620253e+00 +3864 -1.9209907590507207e+00 2.4828469405048872e+00 -7.0468772776063365e-02 +3963 3.8090853668710332e+00 -7.1475940154665007e+00 4.4578904729587698e+00 +3678 -1.0075218580411656e+00 -1.1723810414475693e+00 -3.6566037918292715e+00 +3190 5.3535971192027165e-01 -6.4557124978354015e+00 -2.7408804664015607e+00 +3690 -4.4146086051404937e-01 -4.6076138378286453e+00 -5.6825659088186455e+00 +3343 3.8383076371816855e+00 -6.3883955466794429e-01 2.2581329205865392e+00 +3832 -2.7550747744751076e+00 4.7257627293294373e+00 4.8438289904304606e+00 +3260 1.3252162896516819e+00 7.4021489683298358e-01 2.3093243513691930e+00 +3915 3.5322421114796032e-01 -3.0658679259645805e+00 -3.3219524330838768e+00 +4024 8.6799316600531129e-01 6.1990608231731246e+00 -4.0266284890920501e+00 +3451 1.2115658779452734e+00 5.7006424780647906e+00 -3.7887258971959215e-01 +3812 5.2951255345969699e+00 -1.6663113486000503e+00 -3.1884345482579934e-01 +3813 -5.4569350985405132e+00 -3.6309977646303797e+00 -4.2686999664588970e-01 +3283 2.2434290517890185e-01 2.7266111940163751e+00 2.2238743487793151e+00 +3129 5.4130228564002101e+00 -1.5851035925542500e+00 -6.3321486662631354e+00 +3286 2.2745782140066089e+00 2.8698133099580792e-01 -1.6340599905939155e+00 +3843 -2.3475633211991805e-02 -7.7232746164644372e-01 9.0028511161212208e+00 +72 -2.1201512476317799e+00 2.0557528356025392e+00 -9.3382090387468797e-01 +3235 -5.0207659309721997e+00 -1.4581146848459337e+00 -1.1462912775313893e-02 +3994 9.2782100392450828e-01 -3.8475570409374198e+00 -4.2212114149589670e+00 +3753 -1.6432059741028664e+00 -3.0846097387383740e+00 3.6501540410490172e+00 +3811 1.0918191621733833e-01 4.3865195459130177e+00 6.9689846022466746e+00 +4064 1.3690584423669061e+00 -5.9103111572269967e-03 1.2929035950722403e+00 +3536 -6.1973224734979429e+00 4.8007189526796026e+00 -8.8123916761798116e-01 +4090 -2.3351844974610110e+00 3.2101764208638914e+00 -8.9860009755544357e-01 +3250 1.0953443696430292e+00 1.7459964774048737e+00 9.5429733574548814e-01 +3940 -4.5315272209046267e+00 -1.4772016587220755e+00 -3.6489207738192486e+00 +3802 4.3150062515144043e+00 8.9364663295213731e-01 9.6363624938032122e-01 +4002 1.3362141870267268e+00 -9.9766691469427993e-01 -4.2105201264980607e+00 +3142 1.3205735460888506e+00 -3.3764295101013944e+00 -3.1239383577208901e+00 +3397 -1.5473539437561894e+00 -3.8421177168337106e+00 -9.6574384699893712e-01 +3358 -7.8551415746203601e-01 7.0616326378441574e+00 5.9245177151972754e+00 +4008 -9.2328063579180775e-01 6.5449439429809004e+00 -1.4683612831566397e+00 +20 -3.9698497974992666e+00 -1.3107654587709152e+00 1.4748991851623536e+00 +3507 -6.0587276178676053e+00 -2.4654875511503231e+00 -1.0379302268602890e+01 +574 -1.7736515312505932e+00 4.5502703246677214e+00 3.7383975776969551e-02 +3099 -3.5069367598372209e-01 4.7140798704403917e+00 4.1435157386053341e+00 +3360 3.2443596862033015e+00 2.6076046207792478e+00 -2.8705365774226692e+00 +3204 2.4403877703331406e-01 2.4263376231829656e-01 2.3267870422497618e+00 +3887 1.4571262860734531e+00 -4.6974797716295686e+00 -3.5446599844682223e+00 +4071 -3.6536849002150582e+00 7.6219544050129437e+00 -1.3409664568738306e+00 +3357 -1.7453029623068212e+00 1.7632224189620198e+00 -3.5474616382125963e+00 +3600 2.8370607037220175e-01 1.5425173180806497e+00 -8.4582013712562309e-01 +63 -4.7030008312068912e+00 -1.1346827149844294e+00 -6.4675422537742033e+00 +4067 -3.5619669925769326e+00 5.3994524696826192e+00 3.5749980732237394e+00 +3073 2.0573637749934952e+00 4.5248007471433151e+00 3.7523609266738023e-01 +3767 7.3076485678852632e-01 -5.7191104566492355e+00 3.1535683602378177e+00 +3080 1.9664072286901935e+00 4.4996573911775499e+00 2.5762199939340896e-01 +3354 7.5313359123727057e+00 -3.1384353505399747e+00 1.9443788214612885e+00 +3132 6.1983860563008788e+00 -8.1872623845671573e+00 -4.5886790437140297e+00 +3303 1.4134807467488282e+00 -6.5538048629369996e+00 -5.6735053417999259e-01 +3182 3.9093180488134820e+00 2.0342814646913014e+00 -1.1016909803831649e+00 +3421 3.2201172012638046e-01 8.1155303022287650e-01 -2.8986513778744656e+00 +3534 1.1601209361296742e-01 2.0174190794511939e+00 8.0605578038906900e-01 +3154 -3.1273520075068486e+00 -2.1220502802687253e+00 -1.6824182522906999e+00 +3966 1.7344401512048586e+00 -4.2385282650296763e-01 -9.1399469161282756e+00 +3185 -3.2497899345453072e+00 1.3615921820137544e+00 -7.6785084504649359e-01 +3336 -3.1960530616321248e+00 8.1481092268460387e-01 2.0312430148572047e+00 +3301 -1.9392093796352199e+00 -1.1037130485275763e+00 6.7391982226325178e+00 +3251 2.7714045803127192e+00 1.5552165538230018e+00 -2.6925933221469505e+00 +3930 -3.2945690503687510e+00 2.9085796631381755e-01 2.2590304636906784e+00 +3826 -8.9352019380571457e-01 -2.1726760634476645e+00 1.8468605175329549e+00 +4082 -1.0328078542208154e+00 -2.8128170283918612e+00 -3.6519389056103826e+00 +3879 -3.1816066604452460e+00 -4.5701818087161934e+00 -5.2723105555464391e+00 +3858 1.6814423056006729e+00 -3.8111403821032002e+00 -9.0102117570623930e-01 +3437 5.0862068439730939e+00 -8.0866320787141941e+00 -1.6910177843729786e+00 +3809 -3.3942775893159527e+00 2.1389279539951356e+00 1.7791285507199472e+00 +3209 2.8819189781605927e+00 -6.0743413552409162e+00 -7.1852124278932206e-01 +3532 -1.3673398834592658e+00 1.3037924594361514e+00 -2.1061457341583734e+00 +3562 -9.8997677895628591e-02 5.3221472729846910e+00 -2.3176874668514889e+00 +2784 4.5566053047381923e+00 -4.3760554594187706e+00 -5.3753459277836697e+00 +3467 -4.0975061215403630e-01 2.8642827197728762e+00 -3.2307110322389838e+00 +3925 9.0655005423086674e+00 -2.9737113084167333e+00 3.4880291320644852e-01 +3310 2.3433736602909397e-01 4.7711978800604964e+00 -6.1451186348194220e-01 +3528 2.0521368921084369e+00 -3.1992139385958601e-01 -4.7840596536362695e-01 +3521 -1.6049095655718646e+00 -5.1918230124308460e+00 -4.2162764948585414e+00 +3979 -5.9371992669132876e+00 -2.8228877340889023e+00 -4.0076884956815997e+00 +3549 -6.4899272304535893e-01 -1.8323565154780483e+00 -3.1228623588922835e+00 +3904 2.6513913510154463e+00 -6.2634169677327298e+00 6.4350469571908819e-01 +3092 4.4210633672437161e-01 3.8247330726194737e+00 -2.0959656420999164e+00 +3194 -1.4470370772218093e+00 3.4657071134973638e-01 5.0720337430406639e+00 +3650 3.6907348443703190e+00 1.3092709825673063e-01 2.9350329275280242e+00 +4030 5.3901334159642360e+00 -3.3469177080022701e+00 5.3765244841349773e+00 +3844 -1.9522838404489475e+00 -6.7024468585004193e+00 -3.7712246180617739e+00 +4026 -2.5599917813736410e+00 -3.6827545664653677e-01 -3.6724084088347650e+00 +369 1.8431369018662047e+00 -1.8284173474951015e+00 -2.7737590002352484e+00 +3897 1.3338271440260969e+00 2.0990855243130024e+00 -3.6205098584110544e+00 +3513 -2.9962151418492984e+00 -6.3057698977122401e-01 2.9106260252159104e+00 +3761 1.3992899707397546e+00 -1.7674692920434132e+00 1.9464681478667518e+00 +3470 4.3063676084917315e+00 1.1936830806996859e+00 -1.2671831499108357e+00 +3265 1.1249308763000725e+00 -2.2454942017674910e+00 -1.6842024016112405e+00 +4092 -1.4693022545979455e+00 -3.7248666567191586e+00 2.6666325551059571e+00 +3616 -1.8952585034101299e+00 1.6146690625598916e+00 3.0716115368050206e-01 +3341 2.1963440144502930e-01 -5.7127896816856649e-01 -4.3748152039303367e-01 +3191 -1.7536765661350113e+00 -2.0068205267069605e+00 -8.4260994159215985e-01 +3147 9.3691391770132060e-01 7.3325456320847957e-02 3.0403608130330060e+00 +3685 8.8699387525771362e-02 -3.8588393525156306e+00 -3.8485169328335047e+00 +3308 7.9163533316682988e-01 1.6463776956945344e+00 3.1372706854218779e+00 +3321 -2.0262677026975089e+00 -5.9775151996427542e+00 1.6837771809741475e+00 +3361 -4.0751658074744590e+00 -6.4465940667804817e+00 6.8719973544511725e-01 +4059 -2.1300946599608728e+00 8.5217901048056688e-01 1.0359288627892180e+00 +3395 -7.2963105082374247e+00 4.4331097548069387e+00 -2.1173979614060463e+00 +3982 -5.1530055249226880e-01 -4.9631701808732602e+00 -3.3709171621728634e-01 +4040 1.5244314758300046e+00 8.2688096984607018e-01 3.7978034315939532e-02 +3524 -3.2014035821574365e+00 -3.9538427738851958e+00 -3.4415996068655974e+00 +3503 8.5538117890477039e-01 -4.1499911931868716e-01 4.9624374058770151e+00 +3704 3.4025134334162441e+00 1.7116639071312980e+00 1.2130891922693083e+00 +3161 6.2549496214557401e+00 3.6925831505430944e+00 3.2404439250189996e+00 +3258 -1.2809236627313274e+00 -8.2206766792530611e-02 -1.6755046988157758e+00 +3544 2.9411574317224938e+00 6.3784659680932059e+00 -3.2773875615755427e-02 +730 6.3760446883680464e+00 -1.0168677935463477e+00 1.9006495549818334e-01 +3152 4.1736653708893741e+00 -1.3294601467468071e+01 4.5717367849948518e+00 +3686 5.8812604412755995e-03 1.5709584063101747e+00 2.8564636820262574e+00 +3627 -1.6918521594246250e+00 -3.8347575885334648e+00 5.5969472680736034e+00 +3317 6.0822177326655229e+00 7.6143086713403267e+00 4.3950785981116880e-01 +3134 -1.6458803273123286e+00 -3.8916097230458262e+00 -4.9926592273983195e+00 +3719 -4.5149427670033209e+00 -3.3968859502071256e+00 6.6087318246309215e+00 +3415 6.0332187775773187e+00 -5.2632563007983526e+00 -1.1520022746842129e+00 +3348 -5.1120383899241455e+00 2.0421692744309019e+00 2.5595962549002049e-01 +3519 8.9119841442316861e-01 -3.6242355931310786e+00 2.9645258963277863e+00 +3967 -4.5292297771911789e+00 -2.8023386218346578e+00 -3.2213409588719659e+00 +3141 -8.4379217315172439e-01 -4.6474276833862738e-03 -6.0323243682498227e+00 +3881 6.2764846447108100e+00 1.5974108755031011e+00 9.2557255553946813e+00 +3291 -3.2172469129438883e+00 -2.6980302040553874e+00 2.3523417495145797e+00 +3170 1.5442586012919157e+00 -5.0012004461801016e+00 -3.2216803121590201e+00 +3660 2.0643520085360292e+00 -8.3453765759512744e-01 1.1031724058274206e+00 +3917 -6.9583716081753053e+00 -2.1415605847172836e+00 -2.0995878211314976e+00 +3695 -5.9994439790596110e-01 -2.4702879349340883e+00 -4.7175049178414315e-02 +3278 4.4331415371335320e-01 1.3336618404377998e+00 -2.7086095347119454e+00 +3366 8.6024798757104137e-01 -8.1425291864573457e-01 -4.3610558160420476e+00 +3780 3.3994990068611597e+00 -2.5332927368264593e+00 -9.4323980737073113e-02 +3119 3.3404256737326725e+00 -8.2518918077372163e+00 -1.0553593873214238e+00 +3822 4.8856925584865269e+00 5.0168895493288490e+00 -1.6839347614639882e-01 +3234 5.8076192570647898e+00 4.4202300172183602e+00 -5.4821704543093686e-01 +3861 7.0733100684336880e-01 -2.7048544322438617e+00 -4.7677946880069350e-01 +3431 1.8572791830398563e+00 1.1167465593035502e+00 8.7283682719002069e+00 +3318 3.9396415649912724e+00 3.3971666298098091e+00 2.8101093879911474e+00 +3669 -4.1147977029324473e-01 3.9439115374200373e+00 1.9921382762000981e+00 +3948 6.5689169391056379e-01 -7.3693872157788012e-02 -1.4729756652208916e+00 +4022 3.5864909516570740e+00 2.4518692995778166e+00 6.0366645573919611e+00 +3237 -2.4847911447730522e+00 -4.4121525930083125e+00 4.8065264714391986e+00 +3540 -7.3360558435178302e-01 -4.7565059726276573e+00 -1.8617698161612806e+00 +3894 -2.3294311985268740e-01 1.9643194168786369e+00 6.6166978308908062e+00 +2832 -2.0204459136530364e+00 -4.5860339464148376e+00 2.2226490384197692e+00 +4063 6.3787640267867260e+00 1.4732524469846378e+00 1.6654351762364791e-01 +3207 -2.1611029921473670e+00 4.2719101635206851e+00 -1.8558891742969454e+00 +3969 -1.8456656823470623e+00 -4.6797355983108782e+00 2.8878354276022136e+00 +3504 6.6562828810845405e+00 1.8311775863286064e+00 4.2545006861737882e+00 +4004 5.5409641741612150e+00 -8.8094912944055870e-01 -4.3386928188369627e+00 +3566 -3.8187857329691149e-01 7.4337978422015816e-01 -3.4523865836844987e+00 +3983 3.5275189523030983e+00 3.5101588557958756e+00 1.8897194475784320e+00 +3743 2.8856359420638968e+00 -4.4754952360509490e+00 2.2547081076338822e+00 +3379 1.4586431311317466e-01 3.8208457287120643e+00 6.8267330984398917e+00 +3792 -9.9144681360249343e-01 6.8790496884150265e-01 2.4766053584817862e+00 +3796 2.6029739111652406e+00 4.9519330877712303e-01 -1.5279992501510302e+00 +3747 -1.2050306956359638e+00 6.0605618670498884e-01 4.0106823350254102e+00 +3346 -4.6458687770145870e+00 -2.5706863147456693e+00 1.3184288940331896e+00 +3426 2.4374600036584723e-01 -2.1768096364147757e-01 -6.1968533830926809e-01 +3806 3.0656241035387866e-01 3.7006446331386162e+00 -1.1492500890477186e+00 +3591 5.0947718321625805e-02 -1.2522462204349638e+00 -1.5100882802375606e+00 +3385 7.7792307462793167e+00 -6.7761315904372454e-02 3.2305075232862408e+00 +3701 2.3638899655866408e+00 1.9218536611356802e+00 -5.2561762576984385e+00 +3477 3.9720698897905660e+00 -7.0255113209359266e+00 -6.7123239083637343e-01 +3394 -2.0961803815934483e+00 3.8754554120348041e+00 -1.3253156563274726e+00 +3805 -5.9321055329993602e+00 -2.1294876513334158e+00 2.7185462398149891e+00 +3444 -9.9472483956727942e-01 -2.1833946812313179e+00 6.0216254075768996e+00 +3284 3.1186637698414077e+00 -2.1361056714872637e+00 -1.4658206689393862e+00 +3475 5.6116473360400165e-01 3.3061978344029835e-01 3.7327886413488143e+00 +3479 1.4303114068590304e+00 -5.7967474956973373e+00 2.9225609104871979e+00 +3682 3.7776687961881289e-01 -5.7078986625156958e+00 -2.5153678094117810e-01 +3151 2.2496333926930911e+00 5.6028989571200389e+00 3.6861282119493417e+00 +3180 2.5791285412489531e+00 5.6980667074399918e+00 7.0536409649899232e+00 +3391 -3.4518765349073215e+00 -3.4550776966286003e+00 -6.3010127231663382e-01 +3831 -1.7325121786088753e+00 -1.5640344033509994e+00 -1.3097418483273779e+00 +3275 -3.6449198295979235e+00 -1.9421268049778133e+00 6.4207856675583752e+00 +3516 -2.7061458934959166e+00 5.9251540382528267e-01 1.0431430288800760e+00 +3762 4.0841913279954900e+00 -3.6862634470485034e+00 2.8122917240575975e+00 +3214 9.3544441582904234e+00 -1.7357887941031152e+00 -1.1930310626090774e+00 +3751 9.9611127642284885e+00 4.0302641710839602e+00 -5.3577231180508900e+00 +3952 -2.9451035894122266e+00 5.1365955400331007e+00 5.7381020560370262e+00 +312 -1.7477213851733875e-01 2.2455455919134906e+00 -1.0723283397300287e+01 +3908 -8.1954717413326966e-02 3.0738648765555237e+00 5.3915862628551459e+00 +3965 -5.5156446240895942e+00 -5.2326545047680408e+00 1.4312214194031929e+00 +3172 1.7805193616895754e-01 2.3241943721251022e+00 8.4266631138732551e-01 +3400 3.8962128449471258e+00 4.9470612924256080e-01 1.1436814849313166e+00 +3745 -1.2278625043518974e+00 3.6301038988986938e+00 -1.4203506144719218e+00 +3296 3.1383759228606758e+00 -4.4195656572534050e+00 3.0670358976220385e-01 +2240 -9.9050973554099336e-02 1.3188451963823105e+00 3.8212389703736105e+00 +3681 2.0279310553249497e+00 -6.6141357837429138e-02 -1.8535791601562723e+00 +3975 -3.3952092281257515e+00 -3.9427656012960148e+00 -1.5278496033137856e+00 +3492 4.6718039528667115e+00 6.4415463006681897e-02 -2.3193123894081871e+00 +3124 6.0893847411651825e+00 1.9219287652445454e+00 4.1551043797969793e+00 +3210 5.3980763167444117e+00 -1.2380654572513259e+00 6.9650968643400288e+00 +3417 -9.6326452649265273e-02 -6.7056011919303316e-01 -1.8553498710896255e-01 +775 -1.9877576697696808e+00 1.2307276855294651e-01 -2.1749975173464335e+00 +3823 2.3662757758130848e+00 -1.0535628463008553e+00 -6.7169429402198233e-01 +3793 5.5498498288111051e+00 6.7431805597429832e+00 3.9186573543244285e-01 +3702 -1.2886840455001376e+00 2.7221034670460882e+00 -2.0073309751063728e-01 +3755 -8.6668900021241457e-01 -5.6866344659376207e+00 1.7644489659935898e+00 +3583 -4.4803949803043902e-01 3.2487757672539797e-01 -2.3258392977783267e+00 +3386 3.3435747606835409e+00 -1.7645821821782517e+00 -3.0839377405224533e+00 +3929 -8.3168691386960281e-01 -3.5306756404562658e+00 9.0392837489240598e+00 +3387 -1.6168814759887522e+00 3.2544030241992643e+00 -1.1707604211129932e+00 +3561 -2.5626769740209663e+00 -3.4827073216029234e+00 -4.1885586713327910e-01 +3950 8.5678435401950614e-01 -1.9630902052826167e+00 -2.2956887301854394e+00 +3852 6.3319670628748508e+00 -1.3263263409439525e+00 3.5798323528016784e-01 +3328 5.4421693858736857e+00 3.0892092690470077e+00 3.4587158327620959e-01 +143 3.6936463234010266e+00 2.3115665584610747e+00 -6.4919875384694450e+00 +4017 4.6509731273830415e+00 -3.4776589514517044e+00 2.7810872584796060e+00 +3526 -2.6209324397506539e+00 -1.1370206045261147e+01 3.3047083076696269e+00 +3594 1.9531645898011678e+00 -3.2113730464639203e+00 -4.5354401179357797e+00 +3422 -1.3198079515203904e+00 7.2466423390114798e-01 -4.2965872194524719e+00 +3874 -1.1998013486101193e+00 3.3587945067486347e+00 -5.3396406346844110e+00 +3430 -2.7867569105367003e+00 -7.3149394478428418e+00 3.8470621290750839e-01 +3867 5.7870476976600154e+00 2.6875214343250007e+00 -2.1138945257509740e+00 +3345 -6.0775824001970822e+00 -6.9140688065869327e-01 3.4141869111640162e+00 +3248 -6.2419211082937043e-01 -1.3916013738509347e+00 3.9429952465795228e+00 +3981 8.3987924710552153e-01 2.0409035643734694e+00 6.5671276083626280e+00 +3949 6.7663053229895871e+00 2.7399901304733580e+00 2.8517917256596865e+00 +3869 3.4149124905302330e+00 3.0802981524889259e+00 3.0745317913023249e+00 +3464 2.2294043889747797e+00 1.0222013837170798e+00 3.1785238289009450e+00 +3364 -1.2338678837631005e+00 -2.0976687514864403e+00 -3.0817245721316828e+00 +3244 -6.0209370668555340e-01 3.6144169099915664e+00 -4.4813185542373724e+00 +3197 -5.1257872995961478e+00 -9.1057984447990012e+00 1.9038767081438714e+00 +3199 -1.8055924616206958e+00 -5.2958859517349008e+00 -3.1206093875366410e+00 +3402 -5.5900390844494225e+00 -3.1883494550259206e+00 -2.2057034558235626e+00 +3520 5.8250778292341652e+00 1.5382683955324783e+00 2.1495858657473081e+00 +195 -7.1478263371936368e+00 9.6548229347501746e-01 3.0510449416652095e+00 +3640 -5.3808525579752535e+00 -4.2049849963826853e+00 7.6769968799424531e+00 +3798 -3.9861939598852727e+00 -2.9228329362287764e+00 3.1474666695721023e+00 +3163 9.4157627030613045e-01 -2.3297951439992381e+00 1.8347000462549934e+00 +3098 1.7046030951283653e-02 1.9197794910693164e+00 -8.5925032674175661e+00 +250 1.4361058025000064e+00 3.8196229416476029e+00 -4.4168345658678015e-01 +3200 -3.0994283669084202e+00 -9.3886248547429652e-01 -2.7231085245390946e-01 +3094 -6.0360960119672258e-01 -4.6169382805211328e+00 1.6410142791825204e+00 +3683 -8.5405671025496854e-01 -3.2333008487319725e+00 2.6474284667589170e+00 +3665 -2.1628662106811487e+00 2.3113184303554610e+00 3.2920052967632709e+00 +3885 2.7176955383527335e+00 -3.4569994447594907e+00 -2.5165256796812030e+00 +4093 -1.4993340545132705e+00 4.2437086352140980e+00 3.9990327246716375e+00 +3946 -1.8838437286499232e+00 -1.7102060664615530e+00 2.2204399069624534e+00 +4018 -1.2678323857068563e+00 -1.1508619830272375e+00 -1.0559819024406278e+00 +3288 -1.4054394667367047e-02 6.8469342338584283e-01 -3.2072032778078938e+00 +3439 2.8542439499167758e+00 3.8980865147718742e+00 7.6215202733354165e-02 +3347 7.5692970958081210e-02 -3.9767748947504934e-02 -2.7926573489656472e+00 +3998 1.0027894662970440e+00 -6.1730920106493654e+00 1.5001560922443462e+00 +4003 -1.1460637474593133e-01 -3.9396571834069523e+00 2.5443106409430012e+00 +154 1.3254761609532870e+00 3.5284028158009297e+00 -5.7244936587705553e+00 +4062 9.3374266574373987e-01 -8.6326532441389892e-01 -1.7953717377384810e+00 +3571 1.9808367137369998e+00 1.1289511154428304e+00 -3.1989879930226004e+00 +3715 8.8661193115424708e-01 -1.3691947666920518e-01 4.2781229839888901e+00 +3264 2.2367131899824781e+00 8.4868666138145932e-01 -2.2618077932741811e+00 +3539 1.0449186556725523e+00 -5.3290828137949049e+00 -6.8617926789850356e+00 +3830 -7.9485155984820750e+00 2.1590349907242978e+00 7.5508610548858568e-01 +3671 1.5819296607783919e+00 4.2876057986513683e+00 -5.1848303428704003e+00 +3905 -7.3865629207162957e+00 3.2320465926209065e+00 1.4294421890377234e+00 +3110 1.7580905443459505e+00 3.5585183967220972e+00 -2.6245282381707686e+00 +4034 -3.6833364694567488e+00 1.6528645432352718e-01 -7.7101294986155722e+00 +4087 3.5870023249552720e+00 4.0530715372575177e+00 8.0571390362769657e-01 +3453 1.1833041833052718e+00 -5.6564330224189352e-01 3.9979031799511655e+00 +3568 -3.3432283794382971e+00 -2.1638715225981624e+00 4.1532231927730312e-01 +3672 -6.9368066423498407e+00 -4.8962030583777993e+00 6.4869420282103398e+00 +3329 5.5534609195996276e-01 -4.1294705532163052e+00 3.1185932545997006e+00 +4078 -8.5145411083439237e-01 1.9937764712704400e+00 -3.5201253607843968e+00 +3268 3.2935955171064346e-01 -2.5117068579429209e+00 1.5431070974419997e-01 +3836 1.6210579116282327e+00 -6.6343693440830953e-01 2.7183449240412365e+00 +4037 -6.2994182003951227e-01 -8.4995838686866076e-01 3.4077799971579732e+00 +3312 1.9193622401060842e-01 -1.8069938582016791e+00 3.2877665493033481e+00 +3509 -3.7500678048583498e+00 6.5675174574373187e+00 5.0893366529963568e+00 +3501 5.0256983715474079e-01 2.2469281277997335e+00 -3.2846636234090658e+00 +73 -7.4969937634452322e-01 1.8781432805944791e+00 3.6029790345887767e+00 +3691 -3.6418824798916285e+00 -6.8666302460052471e+00 -1.5894453301949241e+00 +3817 6.3791307046397394e+00 -3.3495288287093619e+00 -4.8956000562059980e+00 +3606 -2.8913725270089685e-01 1.2045128808411669e+00 2.3987129032715648e+00 +3368 -2.9342047107263047e+00 2.1471049458332638e+00 -7.2283307633322051e+00 +3555 2.3869378409587458e+00 -7.4752273352153376e+00 2.8854424521810249e+00 +3490 -5.1500797203539532e+00 -2.1993580120147967e-02 5.5138371073860002e+00 +3968 4.9621867854584014e+00 2.5763854846055483e+00 5.2751772066222493e+00 +3435 -2.7080378098697153e+00 -5.2406789240719860e+00 1.7075031741888194e+00 +3626 9.5077185329851066e-01 -2.1478943985991339e-01 -9.1113087467708487e-01 +3740 8.9567785580306425e-01 5.3634965460819251e+00 4.1579275852164246e+00 +3208 -3.5058624347995460e-01 -2.3500933923230116e+00 -4.4445524277993504e+00 +4085 -2.8909321713142426e+00 3.4203881074729714e+00 1.1872744329890696e-01 +3973 1.3736328916691818e+00 3.3177713089125564e+00 1.5489913696293898e+00 +3936 7.7242922462205488e-01 -2.5794615661747771e+00 4.8833581061760842e+00 +571 8.4705521297667985e-01 -2.2690882733742308e+00 3.7662497212276462e+00 +3866 3.0016018885508489e+00 6.0892250273721356e+00 1.8550915803648846e+00 +3314 3.9992735432759932e+00 -3.2736532622329473e-01 -4.5642726358447181e+00 +3833 5.4216598030432657e+00 -1.2433864202051708e+00 1.9419468299201346e+00 +637 -7.3317367445003399e+00 -2.1127472650787849e+00 -2.8336921387366023e+00 +3229 1.6723591331331686e+00 3.9595099096291446e+00 -2.0029494320538905e+00 +3405 4.4584293466599414e+00 2.2621560454877265e+00 -7.7325267542766412e+00 +3776 2.5870848754180151e-02 -2.0490563364447354e+00 3.6151293169849126e+00 +4015 3.3119422296985062e+00 1.1375751475562141e+00 2.0660186081793266e+00 +3634 1.5395250368719013e+00 2.0401279435943951e+00 3.4491362699320103e+00 +3842 4.4284016764114291e+00 -3.2769467040305944e+00 -4.1947754328984361e+00 +3083 -6.8840243176838412e+00 4.5868348012524072e+00 -1.7290956396959885e+00 +4045 -3.9744723119629342e+00 4.3720199838902243e+00 -3.2174955383982389e+00 +3169 2.0690587499851656e+00 2.0862906837187922e+00 3.2487032043258184e+00 +3487 8.9998406551172072e-01 4.0379764166209773e+00 -5.3567646568907890e+00 +3398 -3.1715444321937682e+00 -6.1666161218676772e+00 9.4317268379351715e-01 +170 1.7011407370774894e+00 -3.0311439247860450e-01 1.5440834173686409e+00 +3637 -9.1734553840163411e+00 6.2405725664950958e-02 -1.1688778051505866e+00 +4046 1.9390495013073494e+00 -2.4778204560918065e+00 -1.1398076054619357e+00 +3243 5.0832362716989223e+00 -2.1805418091155677e+00 -1.9402203684999966e+00 +3703 5.6192898250997614e-01 -4.5917013279301404e+00 5.2852414108751855e+00 +3610 2.5203250782807585e+00 1.4302131698697071e+00 -4.4152277304460708e-01 +3791 3.9365426251280100e+00 8.9650094224003976e+00 -6.9617094256293111e-01 +3574 6.5342445022869535e+00 -2.7167018707998221e+00 1.5443611812065681e+00 +135 -5.4754687312369272e+00 -1.6882979954097586e+00 1.4256396424119413e+00 +3122 2.0224255871709667e+00 1.9534479997012493e+00 4.8331563586703513e-01 +3298 4.5804864836513204e+00 -1.3807321026039832e+00 8.3127570211472390e-01 +3935 -1.8991686762281843e+00 1.1977696848031811e+00 -5.0236894361347693e+00 +3165 -4.3335734562046380e+00 4.1803086210535412e+00 1.8276939838765491e+00 +3419 2.5357248822986365e+00 -4.5182798603247774e+00 8.3865530139124012e+00 +3771 2.1989264288246746e+00 9.3728595075805359e+00 -1.4640526092369870e+00 +4076 -6.0521713867796825e+00 5.2163848808214732e+00 2.8393799286348380e+00 +3978 -3.6407106801615785e+00 -1.5048403132543964e+00 -2.7905743949803687e+00 +3460 -9.0816785389076005e-01 2.4290224952871537e+00 -3.9719955605301065e+00 +3789 -7.6931801599271210e-01 5.0711208851206351e+00 3.4357274786717835e+00 +3742 -2.6614787527233257e+00 2.2435171574944579e-01 -1.6476132749380364e-02 +14 -9.3324125526899226e-01 2.4885171328442723e+00 7.9957475936625311e-01 +3186 -2.5407078393147282e+00 -2.5001541259937712e+00 1.0167914524737172e+00 +3890 -2.5917851461044537e+00 -7.3964305188303880e-01 -1.0584526975206123e+00 +3730 2.1482647149612148e+00 -8.6771810193728116e-01 7.5578097301925782e+00 +3673 7.6197709110089429e+00 1.7282191406029894e+00 1.3497557268892493e-01 +4051 1.9020673529980357e-02 3.0027889546741795e+00 -2.8172357521819824e-01 +3178 -4.1490245671513790e+00 -4.8035456012874471e+00 1.9136036843978219e+00 +4048 6.4890370223772731e+00 -4.8983648919801990e+00 6.8192343089026917e+00 +3078 -5.7211730517418466e+00 -2.8834667762235182e+00 -9.0447081170753201e+00 +3108 2.4731032791390399e+00 -1.6528878829554930e-01 3.0602639661100013e+00 +3106 2.1027974351155150e+00 3.4545484296992681e+00 6.1336482785376212e-01 +3775 9.7451755946583327e-02 2.6385918754368825e+00 3.3938257098934788e+00 +3102 -2.7141309666090225e+00 -3.0924255964467107e+00 -5.6110705648202259e+00 +3657 3.7399378518557911e+00 -2.1179296563936081e+00 -6.0404217717451987e+00 +480 -3.4524498107407577e+00 -8.6324073117984845e-01 -1.5407513448206718e+00 +3252 -2.4081140427975617e-01 5.1960567984957917e+00 -5.3533708208922803e+00 +3896 -1.0053427591203865e+00 3.9539265621427320e+00 -1.8727316664528597e+00 +3457 -3.9876209412581112e+00 3.1940368344112229e+00 -5.1040615932828794e+00 +3815 4.8798118490262690e+00 -7.9653034453033875e+00 -1.6307210589509986e+00 +4042 2.4322245736727059e+00 -6.7302578632120609e+00 -9.5207394290036573e-01 +3139 -1.0057714230486430e+00 3.4345338566316705e+00 -4.8386763338529057e+00 +3320 -3.5141911265545582e+00 -2.1395982085384069e+00 1.6761257243602001e+00 +3285 -1.1153046611949937e+00 2.9539058626977810e+00 -2.4783972969415049e+00 +3924 -1.6834418701341074e+00 -4.0520958495129289e+00 -2.4581849724564991e-01 +3888 6.1743927471959710e+00 6.3340249490412537e-01 2.8456431496914520e+00 +3302 -3.5859104080495130e-01 4.4476368146939054e+00 7.5313444253980580e-02 +3907 -4.4203630644291598e+00 -9.9806558031243697e-01 -3.3133825978935827e-01 +3280 -2.9580269583504171e-01 -2.2402466266885721e+00 4.8847802354135457e+00 +3614 -2.6728990269222366e+00 -2.6231378063893613e+00 2.1784388600037610e+00 +3077 -9.3543307658570356e+00 4.0545191958869511e+00 2.5923796545380910e+00 +3916 2.8561231918597532e+00 -1.9262117550170181e+00 1.8563060542880339e+00 +3611 1.6297742024306283e+00 -2.9755787839432664e+00 -4.6698216508089265e+00 +3331 1.0612799827037762e+00 4.5247968976030348e+00 -3.4747117716024190e-01 +3636 4.0896781137203337e+00 1.9976437799904110e+00 -4.0370412107349187e+00 +3370 -1.2746145353434063e-01 -1.0595310155745929e+00 2.3872568767971134e+00 +3393 -9.8727201735286166e-02 -4.5511955339098629e+00 1.5652513641238355e+00 +3598 -3.0069969666269558e+00 1.7355214688604661e+00 5.1857235394503508e-02 +3294 1.0623663466604951e+00 2.0160725736235485e+00 8.1945976622245880e+00 +3731 4.3468880034515793e+00 1.1390723014937398e+00 1.5464168143476567e+00 +3103 -3.7792230838035938e+00 6.3350072539278557e-01 -7.2961332796798581e-03 +3774 6.8531948637318711e+00 2.7545442749572280e-01 -9.0120772980336419e+00 +3412 -4.0491353521561848e+00 8.1584128108723009e-01 -5.0016544987296623e+00 +3338 8.7515487531887848e-01 -1.5797099861077668e+00 -6.5016242584015869e+00 +3707 -6.1387955154428440e+00 1.5911136427445474e+00 4.3313246959472531e+00 +4083 -3.8891467440593268e+00 -2.6837431596257741e+00 -5.2858797141740055e-01 +3344 2.1548899332831351e-01 2.6707172403314478e-01 -8.6486221902148697e-01 +3596 4.5870700377929001e+00 -2.5294625312950205e+00 -9.9114330118628502e-01 +4056 -7.1516054078688622e+00 -2.5419645714157886e+00 -2.9223148205567342e+00 +355 -2.8469691981866783e+00 1.4097577916739414e+00 2.2845916787491838e+00 +3886 6.7106575501045755e+00 -2.8823134252134310e+00 4.2668619674523214e+00 +3249 1.1873668843907907e+00 4.6378512987048595e+00 3.1145511800411652e+00 +3216 -2.2109820479296514e+00 1.3656629630957864e+00 4.1021558813843297e+00 +3217 3.4160452983843523e+00 2.4159917252520464e+00 1.5858111667126915e-01 +3639 7.4915512491840515e+00 2.2792874386126503e+00 1.8939133168311932e+00 +3814 -1.9281542564065774e+00 8.8545857000991601e-01 -4.3674933884359115e+00 +3459 1.3631412326707562e+00 -2.7767349396127603e+00 4.8644968854159947e+00 +3552 2.6906338573301675e-01 -5.3745510489245607e+00 -1.1523085369785302e+00 +3565 6.1668432097293415e+00 6.5574099360886908e+00 -5.8229278304875560e+00 +3961 3.4458347805866509e+00 5.1225250718163329e-01 -9.3398980260306652e-01 +3772 -2.1934226752659187e+00 -5.3726668860309497e+00 -4.7399729753068148e-01 +3117 -5.7864090373432564e-01 -5.8697963493275616e+00 1.5311148631245677e+00 +3497 -4.3230078230233039e-02 5.7485893207953573e+00 -7.4010297520507551e-01 +3891 2.2260340220623021e+00 -2.7298897891026086e-01 3.4326079705610488e+00 +2769 1.7600817453593784e+00 -5.1495628841309751e+00 -2.1808241934874942e-01 +3820 8.4670922937547370e+00 -2.3233420183741030e-01 4.4851357928229936e+00 +3355 -2.5304070055980792e+00 6.2780923696925894e-01 -2.1971306177887286e+00 +3323 8.4824903723548040e-01 3.9875217510571801e+00 -3.7868115888606093e+00 +3287 -1.3916685503909867e+00 -3.8837579392349273e+00 1.6306336196326103e+00 +3149 -3.1048266453813822e+00 3.4050121067627814e-01 -1.5708336318607443e+00 +705 4.2281224759887648e+00 8.7265392282486573e-02 -1.4507449726352297e+00 +3714 1.1419866353799570e+00 -6.5493374801352209e+00 1.0616448686454223e+00 +3752 -9.7394491903306157e-01 -1.8122471806332663e+00 -8.0423128871115512e-01 +4025 -1.3258755228056489e+00 3.9684845641051063e+00 -3.7462833709569128e+00 +3893 -2.2998535831721871e+00 -8.9569339771414480e-01 -2.2072928398246381e+00 +3432 2.3222050173312399e+00 7.6973535261387003e+00 8.1593532821222663e+00 +3797 -1.7423782070559284e+00 8.1878809074064485e+00 1.0555909181409036e+00 +422 -3.0530622738845139e+00 5.8243182979020391e-01 -5.4512698076113530e-01 +4019 -4.2990721202928626e+00 -3.1583942020870501e+00 5.7551670137697784e+00 +3803 -8.6017927238073355e-01 2.5083523091559146e+00 1.6981250491015718e+00 +3101 -9.4983376152174681e-01 2.1550096432294317e+00 3.0232923918297132e+00 +3587 7.0460179491837771e-01 -4.9677079658929273e+00 2.6906879787936786e+00 +3911 3.2120557103396155e+00 -1.3532505040138559e-01 5.8339734752235444e+00 +4058 1.5593750806896436e+00 -3.3572369987019930e+00 -1.0748344782651993e+00 +3883 -2.1905637071675073e+00 -6.0970182744598480e+00 -9.7913750792926990e+00 +3698 -1.0243090442286573e+00 -1.8303958350570534e-01 -2.2158669784859577e+00 +3937 4.3172719699954953e-01 4.1175541786671693e-01 3.3462255733171395e+00 +3413 4.6964540954608731e+00 -2.4969404506602064e+00 -3.4118095669888469e+00 +3380 2.9548903839244205e+00 -5.6180893702945536e+00 3.3971801079149144e+00 +3661 9.0223627832074249e-01 -9.4377080697513505e-01 1.4694059177803236e+00 +3638 8.4512912391567436e+00 -1.2429253804415814e+00 4.9235907960970655e+00 +4000 2.1438034603049512e+00 1.0130570805092907e-01 -9.1774491894928867e-01 +3515 -3.7624511610653864e+00 -4.9427975918789180e+00 -1.0137674042968736e-01 +4053 -5.6742550575478043e+00 -3.0114575182940739e+00 1.5088479745225067e+00 +3166 -5.0535010477325901e+00 -9.9599946558922914e-01 -6.5383387801142110e+00 +3783 -1.7955406905523250e+00 -5.6147516833001463e+00 2.6594421586338739e+00 +3224 -2.4611633609889254e+00 1.0782899051274432e-01 -3.9406918126181329e+00 +3947 8.0223237070898765e+00 1.1386221762159254e+00 -6.3325633134577757e+00 +3455 -3.6326991771122119e-01 3.0040392729008296e+00 1.5832768526528418e+00 +3414 -3.5439506165423946e+00 3.0947626059770634e+00 4.5003830639932980e+00 +3956 3.7395384538877791e-01 2.8839753734604723e+00 2.6373490969983977e+00 +3241 -2.0272151780111600e+00 -2.8444960698329256e+00 -3.3629321105506111e+00 +3726 -2.0007262673256792e+00 -1.0320818046993157e+01 2.0192960177651007e+00 +3484 1.2108192648199392e+00 3.5829015601230157e-01 -2.2393224896851893e+00 +605 -2.3435582722025154e+00 -4.3239296919317480e+00 -4.6172620458973741e+00 +3436 1.8398143976668786e+00 7.0100703412890510e+00 4.6712121378314148e-01 +3411 -6.4454558913852482e+00 5.1168435739189482e+00 4.6225091938229967e+00 +3326 2.4348223215100062e+00 1.4887447620690926e+00 2.7694109916470993e+00 +4075 -5.2629104504993274e+00 2.8341604632917456e+00 -1.0299318128276245e+00 +3168 -6.4523828374157088e-01 -2.0152456062250863e+00 3.7318963361635951e+00 +3189 4.2639924035438428e+00 3.1130822638894107e+00 5.1872408360264677e+00 +3556 -9.4987859025652721e-01 -4.0805284659170624e+00 5.1982493026540917e+00 +3376 -6.2720968562751844e-01 2.5465741161696478e+00 -1.2232161874065053e+00 +3663 3.3754625223410235e+00 1.1411717229171268e+00 -6.2724626638299972e+00 +3958 1.9521299138339316e+00 2.3034561641664575e+00 -3.0990744175346872e+00 +3835 -2.3006139352859996e+00 -3.5734370318746560e+00 -4.6625984111316833e-02 +3970 2.0170546392143702e+00 3.6823773112342608e+00 1.0068067500855460e+00 +3088 1.3359735704753783e+00 5.2639618273799185e+00 -7.7139655892801384e-01 +316 -1.9629073625085676e+00 -5.6185178601843777e+00 -7.1232717120485534e-01 +3433 -4.9859087090104537e-01 -2.4251781981529303e+00 7.1518267817598444e-02 +3340 -1.7351958122396161e+00 -2.3942402360765422e+00 -3.7370964231297132e+00 +3353 -7.9345513654384536e+00 3.3045979430807932e+00 2.2000973063556302e+00 +3722 -4.1740597229954561e+00 3.9672687247409111e+00 1.6016810190708586e+00 +3496 -2.8878073289431248e+00 7.9655578708927699e+00 1.0277502587201739e+00 +3603 1.0355156082751540e+00 3.5905389319220742e+00 -1.5712758173671720e-01 +4036 -3.6450821732379604e+00 6.0533675696503053e-01 -1.2129579684095031e+00 +3510 4.0260311128104913e+00 -3.7835514000744288e+00 -1.4616040194900262e+00 +3862 -1.2630882458166917e+00 -9.5545264601342039e-01 -1.2657618388493523e+00 +3768 4.2800843613798687e+00 -1.8496007744067633e+00 -1.1537982768531934e+00 +3372 -2.7225848965995336e+00 -2.6576063176097238e+00 -2.0637783390386937e+00 +3569 -2.7167190167387529e+00 5.2494085827822090e+00 4.6148999031920879e-02 +2673 1.0710913737433463e-01 -8.9650578725467100e-01 -1.4936361382416357e+00 +3262 4.3263344950374352e+00 -1.1178816640044056e+00 -3.0277528778282266e+00 +653 4.8309267515549390e+00 4.0659229262023420e+00 -2.6073063739588971e+00 +3115 2.2868125309293208e+00 -1.6685372200510009e+00 1.1454884322998671e+01 +3784 -7.0984645297452753e-01 1.5515493655885240e+00 2.6089682642774368e+00 +3333 4.9328845279704172e+00 -3.6247912157402027e+00 -4.4561335705374827e-01 +4065 2.8545709007994984e+00 3.3244652461275308e+00 6.9190782866104494e-01 +3351 -2.3684160286652141e+00 3.4986750849039588e-01 -9.1654897949963114e+00 +3647 1.8354800857462497e+00 1.0680485755075889e+01 -2.7825961151712089e+00 +4077 1.9345940296570694e+00 -1.0411047226224852e+01 4.9127961130159553e-01 +3581 -9.0262807177432750e-02 2.1987688737751991e+00 3.7787881137319630e+00 +3592 1.8205842795408897e+00 5.9569530703255600e+00 -2.3017128190723271e+00 +3601 -2.8551101474380354e+00 -4.8468060986233841e+00 -6.9097799374833579e+00 +3233 1.0700363590911921e+00 -1.3654938680862165e+00 4.8555152444037510e+00 +3841 -1.3944356850670456e+00 2.8035027926629246e+00 2.5109738148018956e+00 +3899 -3.8160443572331739e+00 4.3627652141263544e+00 4.0125028901393378e+00 +3737 3.1899312581896742e+00 2.3459898490042237e+00 1.2674097026651194e+00 +3629 2.6459048297192020e+00 3.3141290949742270e+00 4.4435610197434547e+00 +3804 -2.8566672888947240e+00 -1.5987406913925089e+00 3.0378774178536205e+00 +3557 -5.1664984195297610e+00 -4.1445466243516220e+00 -4.0107401971359540e+00 +3554 5.7869401039070754e+00 -1.9325045377571550e+00 9.7728689612789787e-01 +3713 1.6219386536943836e+00 -1.9771723574510611e+00 -3.8990787277863692e-01 +3184 1.1117002230508337e+00 -2.1270692774643387e+00 2.7816125718857672e+00 +3474 3.5030693691038626e+00 4.7253377107750056e+00 -1.1771335642522145e+00 +3649 4.3465287183389636e+00 -1.6515999264414276e+00 -3.8659127664530688e+00 +3607 -4.7533831232832915e+00 5.0074309241449146e+00 -6.2614843403543918e-01 +3188 9.8823153941486352e-01 2.0714939763876119e+00 2.4607661174375690e+00 +3889 2.2802436466148324e+00 -2.1294339291417441e+00 2.3746487157817486e+00 +3838 4.2318427896147579e+00 8.3125785978149906e+00 -3.2223889334475584e+00 +3093 -4.6810936124217948e+00 -1.4413696280873887e+00 -5.0196483976695561e+00 +3482 -4.4292438742873036e-01 -1.2922118195339320e+00 -1.5232279489341152e+00 +3091 -6.7646772834922944e+00 1.9814011167364554e+00 -1.7720940702742258e+00 +3483 -3.3996264275249342e+00 3.1570571487123420e+00 2.1477892579448614e+00 +3081 -6.6181305662608239e+00 1.7776125060201635e+00 7.5299563535862313e-02 +3187 1.4313534999711621e+00 -1.3550079019014896e+00 6.9344037122960955e+00 +3799 -1.0112500783956135e+00 7.1430096594364247e+00 -1.0273130504046941e+00 +3322 4.3983406168240373e+00 2.6117278229177674e+00 -4.8837238181571557e-01 +3655 -1.4705364002030252e+00 -1.4743956299855889e+00 1.2843343560802332e+00 +3662 -4.3579884516807077e+00 7.5876827817077537e+00 1.4417640263076295e+00 +3986 4.5344232896777168e+00 3.9505706330790678e+00 2.6063800645554109e+00 +3819 -1.1692175330411716e+00 -1.3016275480940902e+00 -9.2434678348972998e-01 +3997 -2.6286326961059321e+00 2.3850960139747208e+00 -1.5142389118871300e+00 +3183 2.9296851106627814e-01 -3.2442803991395510e+00 9.7366510653245675e-01 +3306 3.5818270919389352e+00 -3.5750612112734284e+00 1.4443826121511154e+00 +3560 4.3738909954356853e+00 -4.8125052127138943e+00 -2.5211912623104720e+00 +3085 5.3475882301508628e+00 -4.2408022628023092e+00 2.8635136565717958e+00 +3635 4.4614680716667365e+00 6.2902271235152298e+00 -5.0718257577217107e-01 +3697 -2.3133908750710659e+00 4.8943513150812494e+00 1.9433222354694877e+00 +3850 -2.3520082780840483e+00 -4.1382139646522829e+00 -4.2313549631213059e+00 +3572 5.2887124760018267e+00 -4.3056356137804634e+00 6.9026361811244985e-01 +2624 1.7265686526178390e+00 -1.5412180689889587e+00 -3.0934661542201152e+00 +3807 -5.4848006405032041e+00 2.8242358170289159e+00 4.0218318776038071e+00 +4057 -1.9436173231502683e+00 -6.4379617617013585e-01 2.9422585763085856e+00 +3575 4.8405797034935167e+00 1.8151525525656706e-01 -1.7336806690066728e+00 +3533 6.2985102473952148e+00 -3.8737828734077979e+00 5.9554831944004860e-01 +3749 -2.3060762715548426e+00 -1.5566670264415590e+00 7.6409930776677175e+00 +3628 1.1047697174211357e+00 4.5872009773756268e+00 -4.3312248695892714e+00 +3463 -4.0202543908176064e-01 1.0543123597897606e+00 -4.5095953260218593e+00 +3339 4.4461045576277334e+00 2.7023074862421219e+00 6.5761907532557173e-01 +3605 -1.9130986635970524e+00 3.9668547188660113e+00 -6.3242395502805584e+00 +3643 4.2561654139359133e+00 2.7079886942829829e+00 2.7399717274611493e+00 +3679 -2.1411701998224424e+00 -1.6132315381071032e+00 7.2516729511827427e-01 +3324 -8.2027537927136707e-01 -2.7694148205687066e+00 2.4736641085737388e+00 +3274 -4.4417852313637960e+00 -3.1061873476270003e+00 -4.2202494315305700e-01 +3779 -6.8867094633379926e+00 8.9727449535086627e+00 2.8636972542619379e+00 +621 3.0864972952518466e+00 -7.7377722234997837e-01 1.2106492653280587e-01 +3759 4.2946340382075698e+00 -2.7309518923249305e+00 -7.9384037173415658e+00 +3903 5.6188342028914784e+00 -2.7814248255132510e+00 -7.5133775402016285e+00 +3247 -1.6193326128196186e+00 -1.7233073750291210e+00 1.2558642428529292e+00 +3620 3.1413258846560623e+00 4.1189507481056093e+00 -6.3921202343711521e+00 +3984 1.3917530918758356e+00 -2.3497816055013883e+00 -1.4662677833340403e+00 +3359 -9.7958489915505709e-01 -7.9530975508665236e-01 3.6113761736403754e-01 +3728 4.3499495062909288e+00 -3.0962919910136191e+00 2.5291553497464387e+00 +3105 -2.1324777268885367e+00 4.6999502576160301e+00 -1.1831903765756278e+00 +2913 9.6792227860968549e-01 -8.2454190909792562e+00 -3.4600835572456634e+00 +105 1.1598974321010078e+00 6.6642846330522749e+00 -3.1397454859758240e+00 +3786 2.4337460674831185e-01 1.7007163465914101e+00 2.5520406588866820e+00 +4072 -4.0958048708482792e-01 1.1106824876365642e+00 3.0788300199054586e+00 +3160 -5.4524347356962517e+00 4.3156482789948143e+00 -1.3707562648323310e+00 +167 -3.7846180163481380e+00 6.0688805089413700e+00 -9.3209569588631103e-01 +193 -2.2590274085362330e+00 -3.0825410238075674e+00 2.7055352419861740e+00 +848 7.0018093775573365e-01 2.8058409327943159e+00 -2.8664598081555570e+00 +3993 -2.1133573700213573e+00 -3.5509555580404868e+00 1.6428703567042029e+00 +3781 -9.8115460551194134e-01 -3.3293080663104027e+00 -4.8282826681026414e+00 +9 -5.7488885085826680e-01 -3.8370861619809009e+00 -7.2892619744045950e+00 +3599 5.2833107352107955e+00 -8.2925617792090145e-01 -2.5358574431762029e+00 +3518 4.0580253230452010e+00 -3.0945361122357586e+00 -8.8323796705297763e-01 +4089 7.2248060554373073e+00 9.0480655644191388e-01 -9.6284911590930766e-01 +2593 3.2503133857492319e+00 -4.1972151630470256e+00 -1.7952974231313504e-01 diff --git a/examples/USER/misc/pair_entropy/start.lmp b/examples/USER/misc/pair_entropy/start.lmp new file mode 100644 index 0000000000..8740b270cb --- /dev/null +++ b/examples/USER/misc/pair_entropy/start.lmp @@ -0,0 +1,34 @@ +echo both + +units metal +atom_style full + +read_data data.interface +mass 1 22.98977 + +neigh_modify delay 10 every 1 +pair_style eam/fs +pair_coeff * * Na_MendelevM_2014.eam.fs Na +timestep 0.002 +thermo 500 + +neighbor 4. bin + +# Define computes +# Global density, no average +compute 1 all pentropy/atom 0.25 7.75 +# Local density, no average +compute 2 all pentropy/atom 0.25 7.75 local yes +# Global density, average over neighbors +compute 3 all pentropy/atom 0.25 7.75 avg yes 5. +# Local density, average over neighbors +compute 4 all pentropy/atom 0.25 7.75 avg yes 5. local yes + +dump myDump all custom 500 dump.interface id type x y z c_1 c_2 c_3 c_4 + + +fix 1 all nph x 1. 1. 10. +fix 2 all temp/csvr 350. 350. 0.1 64582 + +run 100000 + diff --git a/src/compute_pair_entropy_atom.cpp b/src/compute_pair_entropy_atom.cpp index 97461b4eec..dd3a7acf54 100644 --- a/src/compute_pair_entropy_atom.cpp +++ b/src/compute_pair_entropy_atom.cpp @@ -44,7 +44,7 @@ ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg Compute(lmp, narg, arg), pair_entropy(NULL), pair_entropy_avg(NULL) { - if (narg < 5 || narg > 8) + if (narg < 5 || narg > 10) error->all(FLERR,"Illegal compute pentropy/atom command"); // Arguments are: sigma cutoff avg yes/no cutoff2 @@ -59,6 +59,7 @@ ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg if (cutoff < 0.0) error->all(FLERR,"Illegal compute pentropy/atom command; negative cutoff"); avg_flag = 0; + local_flag = 0; // optional keywords int iarg = 5; @@ -73,7 +74,12 @@ ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg if (cutoff2 < 0.0) error->all(FLERR,"Illegal compute pentropy/atom command; negative cutoff2"); cutsq2 = cutoff2*cutoff2; iarg += 3; - } else error->all(FLERR,"Illegal compute pentropy/atom argument after sigma and cutoff should be avg"); + } else if (strcmp(arg[iarg],"local") == 0) { + if (strcmp(arg[iarg+1],"yes") == 0) local_flag = 1; + else if (strcmp(arg[iarg+1],"no") == 0) local_flag = 0; + else error->all(FLERR,"Illegal compute pentropy/atom argument after local should be yes or no"); + iarg += 2; + } else error->all(FLERR,"Illegal compute pentropy/atom argument after sigma and cutoff should be avg or local"); } @@ -209,7 +215,13 @@ void ComputePairEntropyAtom::compute_peratom() jlist = firstneigh[i]; jnum = numneigh[i]; - + // If local density is used, calculate it + if (local_flag) { + double neigh_cutoff = force->pair->cutforce + neighbor->skin; + double volume = (4./3.)*MY_PI*neigh_cutoff*neigh_cutoff*neigh_cutoff; + density = jnum / volume; + } + // calculate kernel normalization double normConstantBase = 4*MY_PI*density; // Normalization of g(r) normConstantBase *= sqrt(2.*MY_PI)*sigma; // Normalization of gaussian diff --git a/src/compute_pair_entropy_atom.h b/src/compute_pair_entropy_atom.h index 6e1ad7902c..a04df80cb4 100644 --- a/src/compute_pair_entropy_atom.h +++ b/src/compute_pair_entropy_atom.h @@ -43,6 +43,7 @@ class ComputePairEntropyAtom : public Compute { int deltabin; double invNormConstantBase; int avg_flag; + int local_flag; }; } -- GitLab From e550f5120b3aff11ae376c601d921bd908743479 Mon Sep 17 00:00:00 2001 From: PabloPiaggi Date: Tue, 22 May 2018 12:44:40 +0200 Subject: [PATCH 099/675] Updated docs --- doc/src/compute_pair_entropy_atom.txt | 50 ++++++++++--------- .../{start.lmp => in.pairentropy} | 0 2 files changed, 26 insertions(+), 24 deletions(-) rename examples/USER/misc/pair_entropy/{start.lmp => in.pairentropy} (100%) diff --git a/doc/src/compute_pair_entropy_atom.txt b/doc/src/compute_pair_entropy_atom.txt index 9a2dbb8f14..b9d63c8bc9 100644 --- a/doc/src/compute_pair_entropy_atom.txt +++ b/doc/src/compute_pair_entropy_atom.txt @@ -10,25 +10,26 @@ compute pentropy/atom command :h3 [Syntax:] -compute ID group-ID pentropy/atom sigma cutoff :l -compute ID group-ID pentropy/atom sigma cutoff avg yes/no cutoff2 ... :pre +compute ID group-ID pentropy/atom sigma cutoff keyword value ... :pre ID, group-ID are documented in "compute"_compute.html command :l pentropy/atom = style name of this compute command :l sigma = width of gaussians used in the g(r) smoothening :l cutoff = cutoff for the g(r) calculation :l one or more keyword/value pairs may be appended :l -{avg} yes/no cutoff2 - avg = {no} or {yes} - {no} = do not average the pair entropy over neighbors +keyword = {avg} or {local} + {avg} values = {yes} or {no} cutoff2 {yes} = average the pair entropy over neighbors - cutoff2 = cutoff for the averaging over neighbors :pre + {no} = do not average the pair entropy over neighbors + cutoff2 = cutoff for the averaging over neighbors + {local} values = {yes} or {no} = use the local density around each atom to normalize the g(r) :pre :ule [Examples:] -compute 1 all pentropy/atom 0.25 5. :pre -compute 1 all pentropy/atom 0.25 5. avg yes 5. :pre +compute 1 all pentropy/atom 0.25 5. +compute 1 all pentropy/atom 0.25 5. avg yes 5. +compute 1 all pentropy/atom 0.125 7.3 avg yes 5.1 local yes :pre [Description:] @@ -77,11 +78,21 @@ neighbor skin bin :pre See "neighbor"_neighbor.html for details. -The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (e.g. each time a snapshot of atoms -is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently or to have multiple compute/dump commands, each with a -{centro/atom} style. +If the {local yes} option is used, the g(r) is normalized by the +local density around each atom, that is to say the density around each +atom is the number of neighbors within the neighbor list cutoff divided +by the corresponding volume. This option can be useful when dealing with +inhomogeneus systems such as those that have surfaces. + +Here are typical input parameters for fcc aluminum (lattice + constant 4.05 Angstroms), + +compute 1 all pentropy/atom 0.25 5.7 avg yes 3.7 :pre + +and for bcc sodium (lattice constant 4.23 Angstroms), + +compute 1 all pentropy/atom 0.25 7.3 avg yes 5.1 :pre + [Output info:] @@ -95,15 +106,6 @@ The pair entropy values have units of the Boltzmann constant. They are always negative, and lower values (lower entropy) correspond to more ordered environments. -Here are typical input parameters for fcc aluminum (lattice - constant 4.05 Angstroms), - -compute 1 all pentropy/atom 0.25 5.7 avg yes 3.7 :pre - -and for bcc sodium (lattice constant 4.23 Angstroms), - -compute 1 all pentropy/atom 0.25 7.3 avg yes 5.1 :pre - [Restrictions:] none [Related commands:] @@ -113,12 +115,12 @@ compute 1 all pentropy/atom 0.25 7.3 avg yes 5.1 :pre [Default:] -The default value for the optional keyword is avg = no. +The default values for the optional keywords are avg = no and local = no. :line :link(Piaggi) [(Piaggi)] Piaggi and Parrinello, J Chem Phys, 147, 114112 (2017). -:link(Nettleton} +:link(Nettleton) [(Nettleton)] Nettleton and Green, J Chem Phys, 29, 6 (1958). diff --git a/examples/USER/misc/pair_entropy/start.lmp b/examples/USER/misc/pair_entropy/in.pairentropy similarity index 100% rename from examples/USER/misc/pair_entropy/start.lmp rename to examples/USER/misc/pair_entropy/in.pairentropy -- GitLab From 108c31e24a472aaaa84b48ed0913657fa86a3504 Mon Sep 17 00:00:00 2001 From: PabloPiaggi Date: Tue, 22 May 2018 14:56:26 +0200 Subject: [PATCH 100/675] Moved to USER-MISC --- src/{ => USER-MISC}/compute_pair_entropy_atom.cpp | 0 src/{ => USER-MISC}/compute_pair_entropy_atom.h | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename src/{ => USER-MISC}/compute_pair_entropy_atom.cpp (100%) rename src/{ => USER-MISC}/compute_pair_entropy_atom.h (100%) diff --git a/src/compute_pair_entropy_atom.cpp b/src/USER-MISC/compute_pair_entropy_atom.cpp similarity index 100% rename from src/compute_pair_entropy_atom.cpp rename to src/USER-MISC/compute_pair_entropy_atom.cpp diff --git a/src/compute_pair_entropy_atom.h b/src/USER-MISC/compute_pair_entropy_atom.h similarity index 100% rename from src/compute_pair_entropy_atom.h rename to src/USER-MISC/compute_pair_entropy_atom.h -- GitLab From fbc435a0cb617f6472e7ed094ed333397a76d899 Mon Sep 17 00:00:00 2001 From: PabloPiaggi Date: Tue, 22 May 2018 16:40:25 +0200 Subject: [PATCH 101/675] Formatted according to Lammps guidelines --- src/USER-MISC/compute_pair_entropy_atom.cpp | 87 ++++++++++----------- src/USER-MISC/compute_pair_entropy_atom.h | 14 +--- 2 files changed, 43 insertions(+), 58 deletions(-) diff --git a/src/USER-MISC/compute_pair_entropy_atom.cpp b/src/USER-MISC/compute_pair_entropy_atom.cpp index dd3a7acf54..18c0b39fb0 100644 --- a/src/USER-MISC/compute_pair_entropy_atom.cpp +++ b/src/USER-MISC/compute_pair_entropy_atom.cpp @@ -40,23 +40,30 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg) : +ComputePairEntropyAtom:: +ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), pair_entropy(NULL), pair_entropy_avg(NULL) { if (narg < 5 || narg > 10) - error->all(FLERR,"Illegal compute pentropy/atom command"); + error->all(FLERR,"Illegal compute pentropy/atom command; wrong number" + " of arguments"); - // Arguments are: sigma cutoff avg yes/no cutoff2 + // Arguments are: sigma cutoff avg yes/no cutoff2 local yes/no // sigma is the gaussian width // cutoff is the cutoff for the calculation of g(r) - // avg is optional and it means averaginf the pair entropy over the neighbors + // avg is optional and allows averaging the pair entropy over neighbors // the next argument should be yes or no // cutoff2 is the cutoff for the averaging + // local is optional and allows using the local density to normalize + // the g(r) sigma = force->numeric(FLERR,arg[3]); + if (sigma < 0.0) error->all(FLERR,"Illegal compute pentropy/atom" + " command; negative sigma"); cutoff = force->numeric(FLERR,arg[4]); - if (cutoff < 0.0) error->all(FLERR,"Illegal compute pentropy/atom command; negative cutoff"); + if (cutoff < 0.0) error->all(FLERR,"Illegal compute pentropy/atom" + " command; negative cutoff"); avg_flag = 0; local_flag = 0; @@ -66,20 +73,25 @@ ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg while (iarg < narg) { if (strcmp(arg[iarg],"avg") == 0) { if (iarg+2 > narg) - error->all(FLERR,"Illegal compute pentropy/atom missing arguments after avg"); + error->all(FLERR,"Illegal compute pentropy/atom;" + " missing arguments after avg"); if (strcmp(arg[iarg+1],"yes") == 0) avg_flag = 1; else if (strcmp(arg[iarg+1],"no") == 0) avg_flag = 0; - else error->all(FLERR,"Illegal compute pentropy/atom argument after avg should be yes or no"); + else error->all(FLERR,"Illegal compute pentropy/atom;" + " argument after avg should be yes or no"); cutoff2 = force->numeric(FLERR,arg[iarg+2]); - if (cutoff2 < 0.0) error->all(FLERR,"Illegal compute pentropy/atom command; negative cutoff2"); + if (cutoff2 < 0.0) error->all(FLERR,"Illegal compute pentropy/atom" + " command; negative cutoff2"); cutsq2 = cutoff2*cutoff2; iarg += 3; } else if (strcmp(arg[iarg],"local") == 0) { if (strcmp(arg[iarg+1],"yes") == 0) local_flag = 1; else if (strcmp(arg[iarg+1],"no") == 0) local_flag = 0; - else error->all(FLERR,"Illegal compute pentropy/atom argument after local should be yes or no"); + else error->all(FLERR,"Illegal compute pentropy/atom;" + " argument after local should be yes or no"); iarg += 2; - } else error->all(FLERR,"Illegal compute pentropy/atom argument after sigma and cutoff should be avg or local"); + } else error->all(FLERR,"Illegal compute pentropy/atom; argument after" + " sigma and cutoff should be avg or local"); } @@ -87,7 +99,10 @@ ComputePairEntropyAtom::ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg nbin = static_cast(cutoff / sigma) + 1; nmax = 0; maxneigh = 0; - deltabin = 2; // 2 seems a good compromise between speed and good mollification + // Number of bins above and below the central one that will be + // considered as affected by the gaussian kernel + // 2 seems a good compromise between speed and good mollification + deltabin = 2; deltar = sigma; peratom_flag = 1; size_peratom_cols = 0; @@ -106,25 +121,16 @@ ComputePairEntropyAtom::~ComputePairEntropyAtom() void ComputePairEntropyAtom::init() { if (force->pair == NULL) - error->all(FLERR,"Compute centro/atom requires a pair style be defined"); - - //double largest_cutsq; - //largest_cutsq = cutsq; - //if (cutsq2 > cutsq) largest_cutsq = cutsq2; + error->all(FLERR,"Compute centro/atom requires a pair style be" + " defined"); if ( (cutoff+cutoff2) > (force->pair->cutforce + neighbor->skin) ) { - //fprintf(screen, "%f %f %f %f \n", cutoff, cutoff2, (cutoff+cutoff2) , force->pair->cutforce + neighbor->skin ); - error->all(FLERR,"Compute pentropy/atom cutoff is longer than pairwise cutoff. Increase the neighbor list skin distance."); + error->all(FLERR,"Compute pentropy/atom cutoff is longer than the" + " pairwise cutoff. Increase the neighbor list skin" + " distance."); } - /* - if (2.0*sqrt(largest_cutsq) > force->pair->cutforce + neighbor->skin && - comm->me == 0) - error->warning(FLERR,"Compute pentropy/atom cutoff may be too large to find " - "ghost atom neighbors"); - */ - int count = 0; for (int i = 0; i < modify->ncompute; i++) if (strcmp(modify->compute[i]->style,"pentropy/atom") == 0) count++; @@ -180,15 +186,12 @@ void ComputePairEntropyAtom::compute_peratom() memory->destroy(pair_entropy_avg); nmax = atom->nmax; memory->create(pair_entropy,nmax,"pentropy/atom:pair_entropy"); - memory->create(pair_entropy_avg,nmax,"pentropy/atom:pair_entropy_avg"); + memory->create(pair_entropy_avg,nmax, + "pentropy/atom:pair_entropy_avg"); vector_atom = pair_entropy_avg; } } - // invoke full neighbor list (will copy or build if necessary) - - //neighbor->build_one(list); - inum = list->inum + list->gnum; ilist = list->ilist; numneigh = list->numneigh; @@ -218,13 +221,16 @@ void ComputePairEntropyAtom::compute_peratom() // If local density is used, calculate it if (local_flag) { double neigh_cutoff = force->pair->cutforce + neighbor->skin; - double volume = (4./3.)*MY_PI*neigh_cutoff*neigh_cutoff*neigh_cutoff; + double volume = + (4./3.)*MY_PI*neigh_cutoff*neigh_cutoff*neigh_cutoff; density = jnum / volume; } // calculate kernel normalization - double normConstantBase = 4*MY_PI*density; // Normalization of g(r) - normConstantBase *= sqrt(2.*MY_PI)*sigma; // Normalization of gaussian + // Normalization of g(r) + double normConstantBase = 4*MY_PI*density; + // Normalization of gaussian + normConstantBase *= sqrt(2.*MY_PI)*sigma; double invNormConstantBase = 1./normConstantBase; // loop over list of all neighbors within force cutoff @@ -245,8 +251,7 @@ void ComputePairEntropyAtom::compute_peratom() // contribute to gofr double r=sqrt(rsq); int bin=floor(r/deltar); - int minbin, maxbin; // These cannot be unsigned - // Only consider contributions to g(r) of atoms less than n*sigma bins apart from the actual distance + int minbin, maxbin; minbin=bin - deltabin; if (minbin < 0) minbin=0; if (minbin > (nbin-1)) minbin=nbin-1; @@ -255,19 +260,11 @@ void ComputePairEntropyAtom::compute_peratom() for(int k=minbin;k Date: Tue, 22 May 2018 17:29:51 +0200 Subject: [PATCH 102/675] Removed unused variables - corrected documentation --- doc/src/compute_pair_entropy_atom.txt | 32 ++++++++++----------- src/USER-MISC/compute_pair_entropy_atom.cpp | 5 ++-- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/doc/src/compute_pair_entropy_atom.txt b/doc/src/compute_pair_entropy_atom.txt index b9d63c8bc9..8877321760 100644 --- a/doc/src/compute_pair_entropy_atom.txt +++ b/doc/src/compute_pair_entropy_atom.txt @@ -37,19 +37,19 @@ Define a computation that calculates the pair entropy fingerprint for each atom in the group. The fingerprint is useful to distinguish between ordered and disordered environments, for instance liquid and solid-like environments, or glassy and crystalline-like environments. Some - applications could be the identification of grain boundaries, a - melt-solid interface, or a solid cluster emerging from the melt. +applications could be the identification of grain boundaries, a +melt-solid interface, or a solid cluster emerging from the melt. The advantage of this parameter over others is that no a priori - information about the solid structure is required. +information about the solid structure is required. This parameter for atom i is computed using the following formula from -"(Piaggi)"_#Piaggi and "(Nettleton)"_#Nettleton +"(Piaggi)"_#Piaggi and "(Nettleton)"_#Nettleton , :c,image(Eqs/pair_entropy.jpg) where r is a distance, g(r) is the radial distribution function of atom - i and rho is the density of the system. The g(r) computed for each - atom i can be noisy and therefore it is smoothened using: +i and rho is the density of the system. The g(r) computed for each +atom i can be noisy and therefore it is smoothened using: :c,image(Eqs/pair_entropy2.jpg) @@ -57,22 +57,22 @@ where the sum in j goes through the neighbors of atom i, and sigma is a parameter to control the smoothening. The input parameters are {sigma} the smoothening parameter, and the - {cutoff} for the calculation of g(r). +{cutoff} for the calculation of g(r). If the keyword {avg} has the setting {yes}, then this compute also - averages the parameter over the neighbors of atom i according to: +averages the parameter over the neighbors of atom i according to: :c,image(Eqs/pair_entropy3.jpg) where the sum j goes over the neighbors of atom i and N is the number - of neighbors. This procedure provides a sharper distinction between +of neighbors. This procedure provides a sharper distinction between order and disorder environments. In this case the input parameter - {cutoff2} is the cutoff for the averaging over the neighbors and - must also be specified. +{cutoff2} is the cutoff for the averaging over the neighbors and +must also be specified. If the {avg yes} option is used, the effective cutoff of the neighbor - list should be {cutoff}+{cutoff2} and therefore it might be necessary - to increase the skin of the neighbor list with: +list should be {cutoff}+{cutoff2} and therefore it might be necessary +to increase the skin of the neighbor list with: neighbor skin bin :pre @@ -85,7 +85,7 @@ by the corresponding volume. This option can be useful when dealing with inhomogeneus systems such as those that have surfaces. Here are typical input parameters for fcc aluminum (lattice - constant 4.05 Angstroms), +constant 4.05 Angstroms), compute 1 all pentropy/atom 0.25 5.7 avg yes 3.7 :pre @@ -103,8 +103,8 @@ uses per-atom values from a compute as input. See "Section options. The pair entropy values have units of the Boltzmann constant. They are - always negative, and lower values (lower entropy) correspond to more - ordered environments. +always negative, and lower values (lower entropy) correspond to more +ordered environments. [Restrictions:] none diff --git a/src/USER-MISC/compute_pair_entropy_atom.cpp b/src/USER-MISC/compute_pair_entropy_atom.cpp index 18c0b39fb0..b5da941f7f 100644 --- a/src/USER-MISC/compute_pair_entropy_atom.cpp +++ b/src/USER-MISC/compute_pair_entropy_atom.cpp @@ -160,8 +160,8 @@ void ComputePairEntropyAtom::init_list(int id, NeighList *ptr) void ComputePairEntropyAtom::compute_peratom() { - int i,j,k,ii,jj,kk,n,inum,jnum; - double xtmp,ytmp,ztmp,delx,dely,delz,rsq,value; + int i,j,ii,jj,inum,jnum; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq; int *ilist,*jlist,*numneigh,**firstneigh; double rbin[nbin], rbinsq[nbin]; @@ -198,7 +198,6 @@ void ComputePairEntropyAtom::compute_peratom() firstneigh = list->firstneigh; // Compute some constants - double nlist_cutoff = force->pair->cutforce; double sigmasq2=2*sigma*sigma; double volume = domain->xprd * domain->yprd * domain->zprd; double density = atom->natoms / volume; -- GitLab From 102be8dd8b8f53bb0d330fb2e9d9599b3baec71c Mon Sep 17 00:00:00 2001 From: julient31 Date: Wed, 23 May 2018 11:23:39 -0600 Subject: [PATCH 103/675] Commit JT 052318 --- src/SPIN/compute_spin.cpp | 1 + src/SPIN/fix_langevin_spin.cpp | 13 +++-- src/SPIN/fix_nve_spin.cpp | 1 + src/SPIN/pair_spin_exchange.cpp | 2 + src/SPIN/pair_spin_neel.cpp | 96 ++++++++++++++++----------------- 5 files changed, 62 insertions(+), 51 deletions(-) diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index ab3bab2487..47d88b6c64 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -132,6 +132,7 @@ void ComputeSpin::compute_vector() magtot[2] *= scale; magtot[3] = sqrt((magtot[0]*magtot[0])+(magtot[1]*magtot[1])+(magtot[2]*magtot[2])); spintemperature = hbar*tempnumtot; + //spintemperature /= (2.0*kb*tempdenomtot); spintemperature /= (kb*tempdenomtot); vector[0] = magtot[0]; diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index c7f75b0cd4..b4e7f67653 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -134,8 +134,10 @@ void FixLangevinSpin::init() double hbar = force->hplanck/MY_2PI; // eV/(rad.THz) double kb = force->boltz; // eV/K D = (MY_2PI*alpha_t*gil_factor*kb*temp); + //D = (alpha_t*gil_factor*kb*temp); D /= (hbar*dts); sigma = sqrt(2.0*D); + //sigma = sqrt(D); } /* ---------------------------------------------------------------------- */ @@ -171,9 +173,14 @@ void FixLangevinSpin::add_tdamping(double spi[3], double fmi[3]) void FixLangevinSpin::add_temperature(double fmi[3]) { - double rx = sigma*(-1.0+2.0*random->uniform()); - double ry = sigma*(-1.0+2.0*random->uniform()); - double rz = sigma*(-1.0+2.0*random->uniform()); + double rx = sigma*(2.0*random->uniform() - 1.0); + double ry = sigma*(2.0*random->uniform() - 1.0); + double rz = sigma*(2.0*random->uniform() - 1.0); + //printf("test rd : %g \n",2.0*random->uniform() - 1.0); + //printf("test gaussian : %g \n", random->gaussian()); + //double rx = sigma*(random->gaussian()); + //double ry = sigma*(random->gaussian()); + //double rz = sigma*(random->gaussian()); // adding the random field diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 7eafc92dfd..bf45b8cb41 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -164,6 +164,7 @@ void FixNVESpin::init() dtv = update->dt; dtf = 0.5 * update->dt * force->ftm2v; dts = 0.25 * update->dt; + npairs = npairspin = 0; // set ptrs on Pair/Spin styles diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 36708293f7..08476ccecd 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -173,6 +173,8 @@ void PairSpinExchange::init_style() } } + printf("test lattice flag: %d \n",lattice_flag); + } /* ---------------------------------------------------------------------- diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index 7ada406b82..408522045f 100755 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -285,7 +285,7 @@ void PairSpinNeel::compute(int eflag, int vflag) local_cut2 = cut_spin_neel[itype][jtype]*cut_spin_neel[itype][jtype]; - // compute magnetic and mechanical components of soc_neel + // compute magnetic and mechanical components of neel if (rsq <= local_cut2) { compute_neel(i,j,rsq,eij,fmi,spi,spj); @@ -465,55 +465,55 @@ void PairSpinNeel::compute_neel_mech(int i, int j, double rsq, double eij[3], do itype = type[i]; jtype = type[j]; - double g_mech, gij, dgij; - double q_mech, q1ij, dq1ij; - double q2ij, dq2ij; - double pdx, pdy, pdz; - double pq1x, pq1y, pq1z; - double pq2x, pq2y, pq2z; - double ra, rr, drij, ig3, iq3; - - drij = sqrt(rsq); - - double scalar_si_sj = spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]; - double scalar_eij_si = eij[0]*spi[0]+eij[1]*spi[1]+eij[2]*spi[2]; - double scalar_eij_sj = eij[0]*spj[0]+eij[1]*spj[1]+eij[2]*spj[2]; - - // pseudo-dipolar component - - g_mech = g1_mech[itype][jtype]; - ig3 = 1.0/(g3[itype][jtype]*g3[itype][jtype]); - - ra = rsq*ig3; - rr = drij*ig3; - - gij = 4.0*g_mech*ra; - gij *= (1.0-g2[itype][jtype]*ra); - gij *= exp(-ra); - - dgij = 1.0-ra-g2[itype][jtype]*ra*(2.0-ra); - dgij *= 8.0*g_mech*rr*exp(-ra); - - double pdt1 = (dgij-2.0*gij/drij)*scalar_eij_si*scalar_eij_sj; - pdt1 -= scalar_si_sj*dgij/3.0; - double pdt2 = scalar_eij_sj*gij/drij; - double pdt3 = scalar_eij_si*gij/drij; - pdx = -(pdt1*eij[0] + pdt2*spi[0] + pdt3*spj[0]); - pdy = -(pdt1*eij[1] + pdt2*spi[1] + pdt3*spj[1]); - pdz = -(pdt1*eij[2] + pdt2*spi[2] + pdt3*spj[2]); - - // pseudo-quadrupolar component - - q_mech = q1_mech[itype][jtype]; - iq3 = 1.0/(q3[itype][jtype]*q3[itype][jtype]); + double g_mech, gij, dgij; + double q_mech, q1ij, dq1ij; + double q2ij, dq2ij; + double pdx, pdy, pdz; + double pq1x, pq1y, pq1z; + double pq2x, pq2y, pq2z; + double ra, rr, drij, ig3, iq3; + + drij = sqrt(rsq); + + double scalar_si_sj = spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]; + double scalar_eij_si = eij[0]*spi[0]+eij[1]*spi[1]+eij[2]*spi[2]; + double scalar_eij_sj = eij[0]*spj[0]+eij[1]*spj[1]+eij[2]*spj[2]; + + // pseudo-dipolar component - ra = rsq*iq3; - rr = drij*iq3; + g_mech = g1_mech[itype][jtype]; + ig3 = 1.0/(g3[itype][jtype]*g3[itype][jtype]); + + ra = rsq*ig3; + rr = drij*ig3; + + gij = 4.0*g_mech*ra; + gij *= (1.0-g2[itype][jtype]*ra); + gij *= exp(-ra); + + dgij = 1.0-ra-g2[itype][jtype]*ra*(2.0-ra); + dgij *= 8.0*g_mech*rr*exp(-ra); + + double pdt1 = (dgij-2.0*gij/drij)*scalar_eij_si*scalar_eij_sj; + pdt1 -= scalar_si_sj*dgij/3.0; + double pdt2 = scalar_eij_sj*gij/drij; + double pdt3 = scalar_eij_si*gij/drij; + pdx = -(pdt1*eij[0] + pdt2*spi[0] + pdt3*spj[0]); + pdy = -(pdt1*eij[1] + pdt2*spi[1] + pdt3*spj[1]); + pdz = -(pdt1*eij[2] + pdt2*spi[2] + pdt3*spj[2]); + + // pseudo-quadrupolar component - q1ij = 4.0*q_mech*ra; - q1ij *= (1.0-q2[itype][jtype]*ra); - q1ij *= exp(-ra); - q2ij = -2.0*q1ij/9.0; + q_mech = q1_mech[itype][jtype]; + iq3 = 1.0/(q3[itype][jtype]*q3[itype][jtype]); + + ra = rsq*iq3; + rr = drij*iq3; + + q1ij = 4.0*q_mech*ra; + q1ij *= (1.0-q2[itype][jtype]*ra); + q1ij *= exp(-ra); + q2ij = -2.0*q1ij/9.0; dq1ij = 1.0-ra-q2[itype][jtype]*ra*(2.0-ra); dq1ij *= 8.0*q_mech*rr*exp(-ra); -- GitLab From c960b9295cab16665c88d12a14ae40c131ca0a8a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 17 May 2018 04:27:08 -0400 Subject: [PATCH 104/675] fix cut-n-paste error in fix property/local docs correct issue reported in comment at https://github.com/lammps/lammps/pull/911 --- doc/src/compute_property_local.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/compute_property_local.txt b/doc/src/compute_property_local.txt index 39106a39c8..e4e6f1ef1e 100644 --- a/doc/src/compute_property_local.txt +++ b/doc/src/compute_property_local.txt @@ -19,8 +19,8 @@ one or more attributes may be appended :l patom1 patom2 ptype1 ptype2 batom1 batom2 btype aatom1 aatom2 aatom3 atype - datom1 datom2 datom3 dtype - iatom1 iatom2 iatom3 itype :pre + datom1 datom2 datom3 datom4 dtype + iatom1 iatom2 iatom3 iatom4 itype :pre natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff) ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff) -- GitLab From d10a470245c3cef9a0083e3d5855f58e7599bdc0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 18 May 2018 06:43:23 -0400 Subject: [PATCH 105/675] second try to implement changes suggested in issue #888 In src/rcb.cpp:460 there is an if (smaller > largest). now if we have one particle you will see that lo[] = hi[] and because of this smaller == largest == 0 for all values of dim. This causes this particular part of the code to never be run. In particular the memcpy inside this if is never executed. This causes an unitialized memory access in line 472. Additionally, dim is initialized with -1 and thus the accesses in 484 and 485 are problematic. Additionally, valuehalf_select is never initialized either. closes #888 --- src/balance.cpp | 14 ++++++++++++++ src/rcb.cpp | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/balance.cpp b/src/balance.cpp index 86deb55b47..ed44e3ee0e 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -28,6 +28,7 @@ #include "rcb.h" #include "irregular.h" #include "domain.h" +#include "neighbor.h" #include "force.h" #include "update.h" #include "group.h" @@ -643,6 +644,19 @@ int *Balance::bisection(int sortflag) double *shrinklo = &shrinkall[0]; double *shrinkhi = &shrinkall[3]; + // ensure that that the box has at least some extent. + const double nproc_rt = domain->dimension == 3 ? + cbrt(static_cast(comm->nprocs)) : + sqrt(static_cast(comm->nprocs)); + const double min_extent = ceil(nproc_rt)*neighbor->skin; + for (int i = 0; i < domain->dimension; i++) { + if (shrinkall[3+i]-shrinkall[i] < min_extent) { + const double mid = 0.5*(shrinkall[3+i]+shrinkall[i]); + shrinkall[3+i] = std::min(mid + min_extent*0.5, boxhi[i]); + shrinkall[i] = std::max(mid - min_extent*0.5, boxlo[i]); + } + } + // invoke RCB // then invert() to create list of proc assignments for my atoms // NOTE: (3/2017) can remove undocumented "old" option at some point diff --git a/src/rcb.cpp b/src/rcb.cpp index 3027920310..4ea70ee914 100644 --- a/src/rcb.cpp +++ b/src/rcb.cpp @@ -243,7 +243,7 @@ void RCB::compute(int dimension, int n, double **x, double *wt, // dotmark_select = dot markings in that dimension int dim_select = -1; - double largest = 0.0; + double largest = -1.0; for (dim = 0; dim < dimension; dim++) { -- GitLab From 99f42744833cbd7f9d97ae5657c3df2553150d5c Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 24 May 2018 06:59:40 -0600 Subject: [PATCH 106/675] Commit JT 052418 rm comments --- src/SPIN/compute_spin.cpp | 1 - src/SPIN/fix_langevin_spin.cpp | 7 ------- 2 files changed, 8 deletions(-) diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 47d88b6c64..ab3bab2487 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -132,7 +132,6 @@ void ComputeSpin::compute_vector() magtot[2] *= scale; magtot[3] = sqrt((magtot[0]*magtot[0])+(magtot[1]*magtot[1])+(magtot[2]*magtot[2])); spintemperature = hbar*tempnumtot; - //spintemperature /= (2.0*kb*tempdenomtot); spintemperature /= (kb*tempdenomtot); vector[0] = magtot[0]; diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index b4e7f67653..d12ec11237 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -134,10 +134,8 @@ void FixLangevinSpin::init() double hbar = force->hplanck/MY_2PI; // eV/(rad.THz) double kb = force->boltz; // eV/K D = (MY_2PI*alpha_t*gil_factor*kb*temp); - //D = (alpha_t*gil_factor*kb*temp); D /= (hbar*dts); sigma = sqrt(2.0*D); - //sigma = sqrt(D); } /* ---------------------------------------------------------------------- */ @@ -176,11 +174,6 @@ void FixLangevinSpin::add_temperature(double fmi[3]) double rx = sigma*(2.0*random->uniform() - 1.0); double ry = sigma*(2.0*random->uniform() - 1.0); double rz = sigma*(2.0*random->uniform() - 1.0); - //printf("test rd : %g \n",2.0*random->uniform() - 1.0); - //printf("test gaussian : %g \n", random->gaussian()); - //double rx = sigma*(random->gaussian()); - //double ry = sigma*(random->gaussian()); - //double rz = sigma*(random->gaussian()); // adding the random field -- GitLab From 5f0e6d0aa7bd5ab474cbf9b4551d6f4504170603 Mon Sep 17 00:00:00 2001 From: julient31 Date: Thu, 24 May 2018 12:55:39 -0600 Subject: [PATCH 107/675] Commit JT2 052418 --- examples/SPIN/bfo/in.spin.bfo | 5 +- examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp | 5 +- src/SPIN/pair_spin.cpp | 4 - src/SPIN/pair_spin_exchange.cpp | 2 - ...pair_spin_me.cpp => pair_spin_magelec.cpp} | 81 ++++++++++--------- .../{pair_spin_me.h => pair_spin_magelec.h} | 24 +++--- 6 files changed, 58 insertions(+), 63 deletions(-) rename src/SPIN/{pair_spin_me.cpp => pair_spin_magelec.cpp} (85%) rename src/SPIN/{pair_spin_me.h => pair_spin_magelec.h} (73%) diff --git a/examples/SPIN/bfo/in.spin.bfo b/examples/SPIN/bfo/in.spin.bfo index 55cc53446d..2442b12b72 100644 --- a/examples/SPIN/bfo/in.spin.bfo +++ b/examples/SPIN/bfo/in.spin.bfo @@ -21,9 +21,9 @@ mass 1 1.0 set group all spin/random 11 2.50 -pair_style hybrid/overlay spin/exchange 6.0 spin/me 4.5 +pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965 -pair_coeff * * spin/me me 4.5 0.000109 1.0 1.0 1.0 +pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 @@ -51,4 +51,3 @@ compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] run 5000 - diff --git a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp index 127e24bf2b..e712e511be 100644 --- a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp +++ b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp @@ -28,13 +28,14 @@ pair_coeff * * eam/alloy ../examples/SPIN/cobalt_hcp/Co_PurjaPun_2012.eam.alloy pair_coeff * * spin/exchange exchange 4.0 0.3593 1.135028015e-05 1.064568567 #pair_coeff * * spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 + neighbor 0.1 bin neigh_modify every 10 check yes delay 20 -fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 fix 2 all langevin/spin 0.0 0.0 21 - fix 3 all nve/spin lattice yes + timestep 0.0001 diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index d0df3868df..e8a4c126da 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -41,10 +41,6 @@ #include "pair_hybrid.h" #include "pair_hybrid_overlay.h" #include "pair_spin.h" -#include "pair_spin_dmi.h" -#include "pair_spin_exchange.h" -#include "pair_spin_neel.h" -#include "pair_spin_me.h" #include "update.h" using namespace LAMMPS_NS; diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 08476ccecd..36708293f7 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -173,8 +173,6 @@ void PairSpinExchange::init_style() } } - printf("test lattice flag: %d \n",lattice_flag); - } /* ---------------------------------------------------------------------- diff --git a/src/SPIN/pair_spin_me.cpp b/src/SPIN/pair_spin_magelec.cpp similarity index 85% rename from src/SPIN/pair_spin_me.cpp rename to src/SPIN/pair_spin_magelec.cpp index cbc8ae3cd1..a4a17bd1db 100755 --- a/src/SPIN/pair_spin_me.cpp +++ b/src/SPIN/pair_spin_magelec.cpp @@ -38,7 +38,7 @@ #include "math_const.h" #include "memory.h" #include "modify.h" -#include "pair_spin_me.h" +#include "pair_spin_magelec.h" #include "update.h" using namespace LAMMPS_NS; @@ -46,8 +46,9 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairSpinMe::PairSpinMe(LAMMPS *lmp) : PairSpin(lmp) +PairSpinMagelec::PairSpinMagelec(LAMMPS *lmp) : PairSpin(lmp) { + hbar = force->hplanck/MY_2PI; single_enable = 0; no_virial_fdotr_compute = 1; lattice_flag = 0; @@ -55,11 +56,11 @@ PairSpinMe::PairSpinMe(LAMMPS *lmp) : PairSpin(lmp) /* ---------------------------------------------------------------------- */ -PairSpinMe::~PairSpinMe() +PairSpinMagelec::~PairSpinMagelec() { if (allocated) { memory->destroy(setflag); - memory->destroy(cut_spin_me); + memory->destroy(cut_spin_magelec); memory->destroy(ME); memory->destroy(ME_mech); memory->destroy(v_mex); @@ -73,7 +74,7 @@ PairSpinMe::~PairSpinMe() global settings ------------------------------------------------------------------------- */ -void PairSpinMe::settings(int narg, char **arg) +void PairSpinMagelec::settings(int narg, char **arg) { if (narg < 1 || narg > 2) error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); @@ -81,7 +82,7 @@ void PairSpinMe::settings(int narg, char **arg) if (strcmp(update->unit_style,"metal") != 0) error->all(FLERR,"Spin simulations require metal unit style"); - cut_spin_me_global = force->numeric(FLERR,arg[0]); + cut_spin_magelec_global = force->numeric(FLERR,arg[0]); // reset cutoffs that have been explicitly set @@ -90,7 +91,7 @@ void PairSpinMe::settings(int narg, char **arg) for (i = 1; i <= atom->ntypes; i++) for (j = i+1; j <= atom->ntypes; j++) if (setflag[i][j]) { - cut_spin_me[i][j] = cut_spin_me_global; + cut_spin_magelec[i][j] = cut_spin_magelec_global; } } @@ -100,20 +101,20 @@ void PairSpinMe::settings(int narg, char **arg) set coeffs for one or more type spin pairs (only one for now) ------------------------------------------------------------------------- */ -void PairSpinMe::coeff(int narg, char **arg) +void PairSpinMagelec::coeff(int narg, char **arg) { const double hbar = force->hplanck/MY_2PI; if (!allocated) allocate(); - if (strcmp(arg[2],"me")==0) { + if (strcmp(arg[2],"magelec")==0) { if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); int ilo,ihi,jlo,jhi; force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); const double rij = force->numeric(FLERR,arg[3]); - const double me = (force->numeric(FLERR,arg[4])); + const double magelec = (force->numeric(FLERR,arg[4])); double mex = force->numeric(FLERR,arg[5]); double mey = force->numeric(FLERR,arg[6]); double mez = force->numeric(FLERR,arg[7]); @@ -126,9 +127,9 @@ void PairSpinMe::coeff(int narg, char **arg) int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_me[i][j] = rij; - ME[i][j] = me/hbar; - ME_mech[i][j] = me; + cut_spin_magelec[i][j] = rij; + ME[i][j] = magelec/hbar; + ME_mech[i][j] = magelec; v_mex[i][j] = mex; v_mey[i][j] = mey; v_mez[i][j] = mez; @@ -145,7 +146,7 @@ void PairSpinMe::coeff(int narg, char **arg) init specific to this pair style ------------------------------------------------------------------------- */ -void PairSpinMe::init_style() +void PairSpinMagelec::init_style() { if (!atom->sp_flag) error->all(FLERR,"Pair spin requires atom/spin style"); @@ -181,29 +182,29 @@ void PairSpinMe::init_style() init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairSpinMe::init_one(int i, int j) +double PairSpinMagelec::init_one(int i, int j) { if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); - return cut_spin_me_global; + return cut_spin_magelec_global; } /* ---------------------------------------------------------------------- extract the larger cutoff ------------------------------------------------------------------------- */ -void *PairSpinMe::extract(const char *str, int &dim) +void *PairSpinMagelec::extract(const char *str, int &dim) { dim = 0; - if (strcmp(str,"cut") == 0) return (void *) &cut_spin_me_global; + if (strcmp(str,"cut") == 0) return (void *) &cut_spin_magelec_global; return NULL; } /* ---------------------------------------------------------------------- */ -void PairSpinMe::compute(int eflag, int vflag) +void PairSpinMagelec::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl, ecoul; @@ -277,14 +278,14 @@ void PairSpinMe::compute(int eflag, int vflag) jtype = type[j]; - local_cut2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; + local_cut2 = cut_spin_magelec[itype][jtype]*cut_spin_magelec[itype][jtype]; // compute me interaction if (rsq <= local_cut2) { - compute_me(i,j,rsq,eij,fmi,spj); + compute_magelec(i,j,rsq,eij,fmi,spj); if (lattice_flag) { - compute_me_mech(i,j,fi,spi,spj); + compute_magelec_mech(i,j,fi,spi,spj); } } @@ -318,7 +319,7 @@ void PairSpinMe::compute(int eflag, int vflag) /* ---------------------------------------------------------------------- */ -void PairSpinMe::compute_single_pair(int ii, double fmi[3]) +void PairSpinMagelec::compute_single_pair(int ii, double fmi[3]) { int *type = atom->type; double **x = atom->x; @@ -354,7 +355,7 @@ void PairSpinMe::compute_single_pair(int ii, double fmi[3]) j = jlist[jj]; j &= NEIGHMASK; jtype = type[j]; - local_cut2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; + local_cut2 = cut_spin_magelec[itype][jtype]*cut_spin_magelec[itype][jtype]; spj[0] = sp[j][0]; spj[1] = sp[j][1]; @@ -370,7 +371,7 @@ void PairSpinMe::compute_single_pair(int ii, double fmi[3]) eij[2] = inorm*rij[2]; if (rsq <= local_cut2) { - compute_me(i,j,rsq,eij,fmi,spj); + compute_magelec(i,j,rsq,eij,fmi,spj); } } @@ -378,14 +379,14 @@ void PairSpinMe::compute_single_pair(int ii, double fmi[3]) /* ---------------------------------------------------------------------- */ -void PairSpinMe::compute_me(int i, int j, double rsq, double eij[3], double fmi[3], double spj[3]) +void PairSpinMagelec::compute_magelec(int i, int j, double rsq, double eij[3], double fmi[3], double spj[3]) { int *type = atom->type; int itype, jtype; itype = type[i]; jtype = type[j]; - double local_cut2 = cut_spin_me[itype][jtype]*cut_spin_me[itype][jtype]; + double local_cut2 = cut_spin_magelec[itype][jtype]*cut_spin_magelec[itype][jtype]; if (rsq <= local_cut2) { double meix,meiy,meiz; @@ -416,7 +417,7 @@ void PairSpinMe::compute_me(int i, int j, double rsq, double eij[3], double fmi[ /* ---------------------------------------------------------------------- */ -void PairSpinMe::compute_me_mech(int i, int j, double fi[3], double spi[3], double spj[3]) +void PairSpinMagelec::compute_magelec_mech(int i, int j, double fi[3], double spi[3], double spj[3]) { int *type = atom->type; int itype, jtype; @@ -448,7 +449,7 @@ void PairSpinMe::compute_me_mech(int i, int j, double fi[3], double spi[3], doub allocate all arrays ------------------------------------------------------------------------- */ -void PairSpinMe::allocate() +void PairSpinMagelec::allocate() { allocated = 1; int n = atom->ntypes; @@ -458,7 +459,7 @@ void PairSpinMe::allocate() for (int j = i; j <= n; j++) setflag[i][j] = 0; - memory->create(cut_spin_me,n+1,n+1,"pair/spin/me:cut_spin_me"); + memory->create(cut_spin_magelec,n+1,n+1,"pair/spin/me:cut_spin_magelec"); memory->create(ME,n+1,n+1,"pair/spin/me:ME"); memory->create(ME_mech,n+1,n+1,"pair/spin/me:ME_mech"); memory->create(v_mex,n+1,n+1,"pair/spin/me:ME_vector_x"); @@ -471,7 +472,7 @@ void PairSpinMe::allocate() proc 0 writes to restart file ------------------------------------------------------------------------- */ -void PairSpinMe::write_restart(FILE *fp) +void PairSpinMagelec::write_restart(FILE *fp) { write_restart_settings(fp); @@ -484,7 +485,7 @@ void PairSpinMe::write_restart(FILE *fp) fwrite(&v_mex[i][j],sizeof(double),1,fp); fwrite(&v_mey[i][j],sizeof(double),1,fp); fwrite(&v_mez[i][j],sizeof(double),1,fp); - fwrite(&cut_spin_me[i][j],sizeof(double),1,fp); + fwrite(&cut_spin_magelec[i][j],sizeof(double),1,fp); } } } @@ -493,7 +494,7 @@ void PairSpinMe::write_restart(FILE *fp) proc 0 reads from restart file, bcasts ------------------------------------------------------------------------- */ -void PairSpinMe::read_restart(FILE *fp) +void PairSpinMagelec::read_restart(FILE *fp) { read_restart_settings(fp); @@ -511,13 +512,13 @@ void PairSpinMe::read_restart(FILE *fp) fread(&v_mex[i][j],sizeof(double),1,fp); fread(&v_mey[i][j],sizeof(double),1,fp); fread(&v_mez[i][j],sizeof(double),1,fp); - fread(&cut_spin_me[i][j],sizeof(double),1,fp); + fread(&cut_spin_magelec[i][j],sizeof(double),1,fp); } MPI_Bcast(&ME[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_mex[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_mey[i][j],1,MPI_DOUBLE,0,world); MPI_Bcast(&v_mez[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut_spin_me[i][j],1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_spin_magelec[i][j],1,MPI_DOUBLE,0,world); } } } @@ -527,9 +528,9 @@ void PairSpinMe::read_restart(FILE *fp) proc 0 writes to restart file ------------------------------------------------------------------------- */ -void PairSpinMe::write_restart_settings(FILE *fp) +void PairSpinMagelec::write_restart_settings(FILE *fp) { - fwrite(&cut_spin_me_global,sizeof(double),1,fp); + fwrite(&cut_spin_magelec_global,sizeof(double),1,fp); fwrite(&offset_flag,sizeof(int),1,fp); fwrite(&mix_flag,sizeof(int),1,fp); } @@ -538,14 +539,14 @@ void PairSpinMe::write_restart_settings(FILE *fp) proc 0 reads from restart file, bcasts ------------------------------------------------------------------------- */ -void PairSpinMe::read_restart_settings(FILE *fp) +void PairSpinMagelec::read_restart_settings(FILE *fp) { if (comm->me == 0) { - fread(&cut_spin_me_global,sizeof(double),1,fp); + fread(&cut_spin_magelec_global,sizeof(double),1,fp); fread(&offset_flag,sizeof(int),1,fp); fread(&mix_flag,sizeof(int),1,fp); } - MPI_Bcast(&cut_spin_me_global,1,MPI_DOUBLE,0,world); + MPI_Bcast(&cut_spin_magelec_global,1,MPI_DOUBLE,0,world); MPI_Bcast(&offset_flag,1,MPI_INT,0,world); MPI_Bcast(&mix_flag,1,MPI_INT,0,world); } diff --git a/src/SPIN/pair_spin_me.h b/src/SPIN/pair_spin_magelec.h similarity index 73% rename from src/SPIN/pair_spin_me.h rename to src/SPIN/pair_spin_magelec.h index bfbfe213ad..bc1e3a6296 100755 --- a/src/SPIN/pair_spin_me.h +++ b/src/SPIN/pair_spin_magelec.h @@ -13,21 +13,21 @@ #ifdef PAIR_CLASS -PairStyle(spin/me,PairSpinMe) +PairStyle(spin/magelec,PairSpinMagelec) #else -#ifndef LMP_PAIR_SPIN_ME_H -#define LMP_PAIR_SPIN_ME_H +#ifndef LMP_PAIR_SPIN_MAGELEC_H +#define LMP_PAIR_SPIN_MAGELEC_H #include "pair_spin.h" namespace LAMMPS_NS { -class PairSpinMe : public PairSpin { +class PairSpinMagelec : public PairSpin { public: - PairSpinMe(class LAMMPS *); - virtual ~PairSpinMe(); + PairSpinMagelec(class LAMMPS *); + virtual ~PairSpinMagelec(); void settings(int, char **); void coeff(int, char **); void init_style(); @@ -37,20 +37,20 @@ class PairSpinMe : public PairSpin { void compute(int, int); void compute_single_pair(int, double *); - void compute_me(int, int, double, double *, double *, double *); - void compute_me_mech(int, int, double *, double *, double *); + void compute_magelec(int, int, double, double *, double *, double *); + void compute_magelec_mech(int, int, double *, double *, double *); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); - double cut_spin_me_global; // global me cutoff + double cut_spin_magelec_global; // global me cutoff protected: - double **ME, **ME_mech; // me coeff in eV - double **v_mex, **v_mey, **v_mez; // me direction - double **cut_spin_me; // me cutoff distance + double **ME, **ME_mech; // magelec coeff in eV + double **v_mex, **v_mey, **v_mez; // magelec direction + double **cut_spin_magelec; // magelec cutoff distance int lattice_flag; // flag for mech force computation class FixNVESpin *lockfixnvespin; // ptr to FixNVESpin for setups -- GitLab From 41687a84a4f8c17e597634978bfcb98a25455043 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Thu, 24 May 2018 22:55:49 -0500 Subject: [PATCH 108/675] Added body and pair styles for rounded/polygon and rounded polyhedra, wall fixesthat are compatible with these body styles --- src/BODY/body_rounded_polygon.cpp | 452 ++++ src/BODY/body_rounded_polygon.h | 86 + src/BODY/body_rounded_polyhedron.cpp | 523 +++++ src/BODY/body_rounded_polyhedron.h | 88 + src/BODY/fix_wall_body_polygon.cpp | 831 ++++++++ src/BODY/fix_wall_body_polygon.h | 129 ++ src/BODY/fix_wall_body_polyhedron.cpp | 944 +++++++++ src/BODY/fix_wall_body_polyhedron.h | 143 ++ src/BODY/pair_body_rounded_polygon.cpp | 1359 ++++++++++++ src/BODY/pair_body_rounded_polygon.h | 128 ++ src/BODY/pair_body_rounded_polyhedron.cpp | 2348 +++++++++++++++++++++ src/BODY/pair_body_rounded_polyhedron.h | 176 ++ 12 files changed, 7207 insertions(+) create mode 100644 src/BODY/body_rounded_polygon.cpp create mode 100644 src/BODY/body_rounded_polygon.h create mode 100644 src/BODY/body_rounded_polyhedron.cpp create mode 100644 src/BODY/body_rounded_polyhedron.h create mode 100644 src/BODY/fix_wall_body_polygon.cpp create mode 100644 src/BODY/fix_wall_body_polygon.h create mode 100644 src/BODY/fix_wall_body_polyhedron.cpp create mode 100644 src/BODY/fix_wall_body_polyhedron.h create mode 100644 src/BODY/pair_body_rounded_polygon.cpp create mode 100644 src/BODY/pair_body_rounded_polygon.h create mode 100644 src/BODY/pair_body_rounded_polyhedron.cpp create mode 100644 src/BODY/pair_body_rounded_polyhedron.h diff --git a/src/BODY/body_rounded_polygon.cpp b/src/BODY/body_rounded_polygon.cpp new file mode 100644 index 0000000000..d848a8fa95 --- /dev/null +++ b/src/BODY/body_rounded_polygon.cpp @@ -0,0 +1,452 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Dac Nguyen (ndactrung@gmail.com) +------------------------------------------------------------------------- */ + +#include +#include "body_rounded_polygon.h" +#include "atom_vec_body.h" +#include "atom.h" +#include "force.h" +#include "domain.h" +#include "math_extra.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +#define EPSILON 1.0e-7 +enum{SPHERE,LINE}; // also in DumpImage + +/* ---------------------------------------------------------------------- */ + +BodyRoundedPolygon::BodyRoundedPolygon(LAMMPS *lmp, int narg, char **arg) : + Body(lmp, narg, arg) +{ + if (narg != 3) error->all(FLERR,"Invalid body rounded/polygon command"); + + if (domain->dimension != 2) + error->all(FLERR,"Atom_style body rounded/polygon " + "can only be used in 2d simulations"); + + // nmin and nmax are minimum and maximum number of vertices + + int nmin = force->inumeric(FLERR,arg[1]); + int nmax = force->inumeric(FLERR,arg[2]); + if (nmin <= 0 || nmin > nmax) + error->all(FLERR,"Invalid body rounded/polygon command"); + + size_forward = 0; + + // 1 integer for number of vertices, + // 3*nmax doubles for vertex coordinates + 2*nmax doubles for edge ends + // 1 double for the enclosing radius + // 1 double for the rounded radius + + size_border = 1 + 3*nmax + 2*nmax + 1 + 1; + + // NOTE: need to set appropriate nnbin param for dcp + + icp = new MyPoolChunk(1,1); + dcp = new MyPoolChunk(3*nmin+2*nmin+1+1,3*nmax+2*nmax+1+1); + + memory->create(imflag,nmax,"body/rounded/polygon:imflag"); + memory->create(imdata,nmax,7,"body/nparticle:imdata"); +} + +/* ---------------------------------------------------------------------- */ + +BodyRoundedPolygon::~BodyRoundedPolygon() +{ + delete icp; + delete dcp; + memory->destroy(imflag); + memory->destroy(imdata); +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::nsub(AtomVecBody::Bonus *bonus) +{ + return bonus->ivalue[0]; +} + +/* ---------------------------------------------------------------------- */ + +double *BodyRoundedPolygon::coords(AtomVecBody::Bonus *bonus) +{ + return bonus->dvalue; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::nedges(AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + if (nvertices == 1) return 0; + else if (nvertices == 2) return 1; + return nvertices; +} + +/* ---------------------------------------------------------------------- */ + +double *BodyRoundedPolygon::edges(AtomVecBody::Bonus *bonus) +{ + return bonus->dvalue+3*nsub(bonus); +} + +/* ---------------------------------------------------------------------- */ + +double BodyRoundedPolygon::enclosing_radius(struct AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + if (nvertices == 1 || nvertices == 2) + return *(bonus->dvalue+3*nsub(bonus)+2); + return *(bonus->dvalue+3*nsub(bonus)+2*nsub(bonus)); +} + +/* ---------------------------------------------------------------------- */ + +double BodyRoundedPolygon::rounded_radius(struct AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + if (nvertices == 1 || nvertices == 2) + return *(bonus->dvalue+3*nsub(bonus)+2+1); + return *(bonus->dvalue+3*nsub(bonus)+2*nsub(bonus)+1); +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::pack_border_body(AtomVecBody::Bonus *bonus, double *buf) +{ + int nsub = bonus->ivalue[0]; + buf[0] = nsub; + memcpy(&buf[1],bonus->dvalue,(3*nsub+2*nsub+1+1)*sizeof(double)); + return 1+(3*nsub+2*nsub+1+1); +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::unpack_border_body(AtomVecBody::Bonus *bonus, + double *buf) +{ + int nsub = static_cast (buf[0]); + bonus->ivalue[0] = nsub; + memcpy(bonus->dvalue,&buf[1],(3*nsub+2*nsub+1+1)*sizeof(double)); + return 1+(3*nsub+2*nsub+1+1); +} + +/* ---------------------------------------------------------------------- + populate bonus data structure with data file values +------------------------------------------------------------------------- */ + +void BodyRoundedPolygon::data_body(int ibonus, int ninteger, int ndouble, + int *ifile, double *dfile) +{ + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + + // set ninteger, ndouble in bonus and allocate 2 vectors of ints, doubles + + if (ninteger != 1) + error->one(FLERR,"Incorrect # of integer values in " + "Bodies section of data file"); + int nsub = ifile[0]; + if (nsub < 1) + error->one(FLERR,"Incorrect integer value in " + "Bodies section of data file"); + + // nentries = number of double entries to be read from Body section: + // 6 for inertia + 3*nsub for vertex coords + 1 for rounded radius + + int nentries = 6 + 3*nsub + 1; + if (ndouble != nentries) + error->one(FLERR,"Incorrect # of floating-point values in " + "Bodies section of data file"); + + bonus->ninteger = 1; + bonus->ivalue = icp->get(bonus->iindex); + bonus->ivalue[0] = nsub; + bonus->ndouble = 3*nsub + 2*nsub + 1 + 1; + bonus->dvalue = dcp->get(bonus->ndouble,bonus->dindex); + + // diagonalize inertia tensor + + double tensor[3][3]; + tensor[0][0] = dfile[0]; + tensor[1][1] = dfile[1]; + tensor[2][2] = dfile[2]; + tensor[0][1] = tensor[1][0] = dfile[3]; + tensor[0][2] = tensor[2][0] = dfile[4]; + tensor[1][2] = tensor[2][1] = dfile[5]; + + double *inertia = bonus->inertia; + double evectors[3][3]; + int ierror = MathExtra::jacobi(tensor,inertia,evectors); + if (ierror) error->one(FLERR, + "Insufficient Jacobi rotations for body nparticle"); + + // if any principal moment < scaled EPSILON, set to 0.0 + + double max; + max = MAX(inertia[0],inertia[1]); + max = MAX(max,inertia[2]); + + if (inertia[0] < EPSILON*max) inertia[0] = 0.0; + if (inertia[1] < EPSILON*max) inertia[1] = 0.0; + if (inertia[2] < EPSILON*max) inertia[2] = 0.0; + + // exyz_space = principal axes in space frame + + double ex_space[3],ey_space[3],ez_space[3]; + + ex_space[0] = evectors[0][0]; + ex_space[1] = evectors[1][0]; + ex_space[2] = evectors[2][0]; + ey_space[0] = evectors[0][1]; + ey_space[1] = evectors[1][1]; + ey_space[2] = evectors[2][1]; + ez_space[0] = evectors[0][2]; + ez_space[1] = evectors[1][2]; + ez_space[2] = evectors[2][2]; + + // enforce 3 evectors as a right-handed coordinate system + // flip 3rd vector if needed + + double cross[3]; + MathExtra::cross3(ex_space,ey_space,cross); + if (MathExtra::dot3(cross,ez_space) < 0.0) MathExtra::negate3(ez_space); + + // create initial quaternion + + MathExtra::exyz_to_q(ex_space,ey_space,ez_space,bonus->quat); + + // bonus->dvalue = the first 3*nsub elements are sub-particle displacements + // find the enclosing radius of the body from the maximum displacement + + int i,m; + double delta[3], rsq, erad, rrad; + double erad2 = 0; + int j = 6; + int k = 0; + for (i = 0; i < nsub; i++) { + delta[0] = dfile[j]; + delta[1] = dfile[j+1]; + delta[2] = dfile[j+2]; + MathExtra::transpose_matvec(ex_space,ey_space,ez_space, + delta,&bonus->dvalue[k]); + rsq = delta[0] * delta[0] + delta[1] * delta[1] + + delta[2] * delta[2]; + if (rsq > erad2) erad2 = rsq; + j += 3; + k += 3; + } + + // .. the next 2*nsub elements are edge ends + + int nedges; + if (nsub == 1) { // spheres + nedges = 0; + bonus->dvalue[k] = 0; + *(&bonus->dvalue[k]+1) = 0; + k += 2; + + // the last element of bonus->dvalue is the rounded & enclosing radius + + rrad = 0.5 * dfile[j]; + bonus->dvalue[k] = rrad; + erad = rrad; + + k++; + bonus->dvalue[k] = rrad; + + atom->radius[bonus->ilocal] = erad; + + } else if (nsub == 2) { // rods + nedges = 1; + for (i = 0; i < nedges; i++) { + bonus->dvalue[k] = 0; + *(&bonus->dvalue[k]+1) = 1; + k += 2; + } + + erad = sqrt(erad2); + bonus->dvalue[k] = erad; + + // the last element of bonus->dvalue is the rounded radius + + rrad = 0.5 * dfile[j]; + k++; + bonus->dvalue[k] = rrad; + + atom->radius[bonus->ilocal] = erad + rrad; + + } else { // polygons + nedges = nsub; + for (i = 0; i < nedges; i++) { + bonus->dvalue[k] = i; + m = i+1; + if (m == nedges) m = 0; + *(&bonus->dvalue[k]+1) = m; + k += 2; + } + + // the next to last element is the enclosing radius + + erad = sqrt(erad2); + bonus->dvalue[k] = erad; + + // the last element of bonus->dvalue is the rounded radius + + rrad = 0.5 * dfile[j]; + k++; + bonus->dvalue[k] = rrad; + + atom->radius[bonus->ilocal] = erad + rrad; + } +} + +/* ---------------------------------------------------------------------- + return radius of body particle defined by ifile/dfile params + params are ordered as in data file + called by Molecule class which needs single body size +------------------------------------------------------------------------- */ + +double BodyRoundedPolygon::radius_body(int ninteger, int ndouble, + int *ifile, double *dfile) +{ + int nsub = ifile[0]; + if (nsub < 1) + error->one(FLERR,"Incorrect integer value in " + "Bodies section of data file"); + if (ndouble != 6 + 3*nsub + 1) + error->one(FLERR,"Incorrect # of floating-point values in " + "Bodies section of data file"); + + // sub-particle coords are relative to body center at (0,0,0) + // offset = 6 for sub-particle coords + + double onerad; + double maxrad = 0.0; + double delta[3]; + + int offset = 6; + for (int i = 0; i < nsub; i++) { + delta[0] = dfile[offset]; + delta[1] = dfile[offset+1]; + delta[2] = dfile[offset+2]; + offset += 3; + onerad = MathExtra::len3(delta); + maxrad = MAX(maxrad,onerad); + } + + // add in radius of rounded corners + + return maxrad + 0.5*dfile[offset]; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::noutcol() +{ + // the number of columns for the vertex coordinates + + return 3; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::noutrow(int ibonus) +{ + // only return the first nsub rows for the vertex coordinates + + return avec->bonus[ibonus].ivalue[0]; +} + +/* ---------------------------------------------------------------------- */ + +void BodyRoundedPolygon::output(int ibonus, int m, double *values) +{ + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + + double p[3][3]; + MathExtra::quat_to_mat(bonus->quat,p); + MathExtra::matvec(p,&bonus->dvalue[3*m],values); + + double *x = atom->x[bonus->ilocal]; + values[0] += x[0]; + values[1] += x[1]; + values[2] += x[2]; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::image(int ibonus, double flag1, double flag2, + int *&ivec, double **&darray) +{ + int j; + double p[3][3]; + double *x, rrad; + + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + int n = bonus->ivalue[0]; + + if (n == 1) { + for (int i = 0; i < n; i++) { + imflag[i] = SPHERE; + MathExtra::quat_to_mat(bonus->quat,p); + MathExtra::matvec(p,&bonus->dvalue[3*i],imdata[i]); + + rrad = enclosing_radius(bonus); + x = atom->x[bonus->ilocal]; + imdata[i][0] += x[0]; + imdata[i][1] += x[1]; + imdata[i][2] += x[2]; + if (flag1 <= 0) imdata[i][3] = 2*rrad; + else imdata[i][3] = flag1; + } + + } else { + + // first end pt of each line + + for (int i = 0; i < n; i++) { + imflag[i] = LINE; + MathExtra::quat_to_mat(bonus->quat,p); + MathExtra::matvec(p,&bonus->dvalue[3*i],imdata[i]); + + rrad = rounded_radius(bonus); + x = atom->x[bonus->ilocal]; + imdata[i][0] += x[0]; + imdata[i][1] += x[1]; + imdata[i][2] += x[2]; + if (flag1 <= 0) imdata[i][6] = 2*rrad; + else imdata[i][6] = flag1; + } + + // second end pt of each line + + for (int i = 0; i < n; i++) { + j = i+1; + if (j == n) j = 0; + imdata[i][3] = imdata[j][0]; + imdata[i][4] = imdata[j][1]; + imdata[i][5] = imdata[j][2]; + } + } + + ivec = imflag; + darray = imdata; + return n; +} diff --git a/src/BODY/body_rounded_polygon.h b/src/BODY/body_rounded_polygon.h new file mode 100644 index 0000000000..b6f45c5cf5 --- /dev/null +++ b/src/BODY/body_rounded_polygon.h @@ -0,0 +1,86 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef BODY_CLASS + +BodyStyle(rounded/polygon,BodyRoundedPolygon) + +#else + +#ifndef LMP_BODY_ROUNDED_POLYGON_H +#define LMP_BODY_ROUNDED_POLYGON_H + +#include "body.h" +#include "atom_vec_body.h" + +namespace LAMMPS_NS { + +class BodyRoundedPolygon : public Body { + public: + BodyRoundedPolygon(class LAMMPS *, int, char **); + ~BodyRoundedPolygon(); + int nsub(struct AtomVecBody::Bonus *); + double *coords(struct AtomVecBody::Bonus *); + int nedges(struct AtomVecBody::Bonus *); + double *edges(struct AtomVecBody::Bonus *); + double enclosing_radius(struct AtomVecBody::Bonus *); + double rounded_radius(struct AtomVecBody::Bonus *); + + int pack_border_body(struct AtomVecBody::Bonus *, double *); + int unpack_border_body(struct AtomVecBody::Bonus *, double *); + void data_body(int, int, int, int *, double *); + double radius_body(int, int, int *, double *); + + int noutrow(int); + int noutcol(); + void output(int, int, double *); + int image(int, double, double, int *&, double **&); + + private: + int *imflag; + double **imdata; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Invalid body rounded/polygon command + +Arguments in atom-style command are not correct. + +E: Invalid format in Bodies section of data file + +The specified number of integer or floating point values does not +appear. + +E: Incorrect # of integer values in Bodies section of data file + +See doc page for body style. + +E: Incorrect integer value in Bodies section of data file + +See doc page for body style. + +E: Incorrect # of floating-point values in Bodies section of data file + +See doc page for body style. + +E: Insufficient Jacobi rotations for body nparticle + +Eigensolve for rigid body was not sufficiently accurate. + +*/ diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp new file mode 100644 index 0000000000..a26b6d0cbd --- /dev/null +++ b/src/BODY/body_rounded_polyhedron.cpp @@ -0,0 +1,523 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Dac Nguyen (ndactrung@gmail.com) +------------------------------------------------------------------------- */ + +#include +#include "body_rounded_polyhedron.h" +#include "atom_vec_body.h" +#include "atom.h" +#include "force.h" +#include "domain.h" +#include "math_extra.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +#define EPSILON 1.0e-7 +#define MAX_FACE_SIZE 4 // maximum number of vertices per face (for now) + +enum{SPHERE,LINE}; // also in DumpImage + +/* ---------------------------------------------------------------------- */ + +BodyRoundedPolyhedron::BodyRoundedPolyhedron(LAMMPS *lmp, int narg, char **arg) : + Body(lmp, narg, arg) +{ + if (narg != 3) error->all(FLERR,"Invalid body rounded/polygon command"); + + // nmin and nmax are minimum and maximum number of vertices + + int nmin = force->inumeric(FLERR,arg[1]); + int nmax = force->inumeric(FLERR,arg[2]); + if (nmin <= 0 || nmin > nmax) + error->all(FLERR,"Invalid body rounded/polyhedron command"); + + size_forward = 0; + + // 1 integer for number of vertices, + // 3*nmax doubles for vertex coordinates + 2*nmax doubles for edge ends + + // (MAX_FACE_SIZE+1)*nmax for faces + // 1 double for the enclosing radius + // 1 double for the rounded radius + + size_border = 1 + 3*nmax + 2*nmax + MAX_FACE_SIZE*nmax + 1 + 1; + + // NOTE: need to set appropriate nnbin param for dcp + + icp = new MyPoolChunk(1,3); + dcp = new MyPoolChunk(3*nmin+2+1+1, + 3*nmax+2*nmax+MAX_FACE_SIZE*nmax+1+1); + + memory->create(imflag,2*nmax,"body/rounded/polyhedron:imflag"); + memory->create(imdata,2*nmax,7,"body/polyhedron:imdata"); +} + +/* ---------------------------------------------------------------------- */ + +BodyRoundedPolyhedron::~BodyRoundedPolyhedron() +{ + delete icp; + delete dcp; + memory->destroy(imflag); + memory->destroy(imdata); +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::nsub(AtomVecBody::Bonus *bonus) +{ + return bonus->ivalue[0]; +} + +/* ---------------------------------------------------------------------- */ + +double *BodyRoundedPolyhedron::coords(AtomVecBody::Bonus *bonus) +{ + return bonus->dvalue; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::nedges(AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + int nedges = bonus->ivalue[1]; + int nfaces = bonus->ivalue[2]; + if (nvertices == 1) return 0; + else if (nvertices == 2) return 1; + return nedges; //(nvertices+nfaces-2); // Euler's polyon formula: V-E+F=2 +} + +/* ---------------------------------------------------------------------- */ + +double *BodyRoundedPolyhedron::edges(AtomVecBody::Bonus *bonus) +{ + return bonus->dvalue+3*nsub(bonus); +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::nfaces(AtomVecBody::Bonus *bonus) +{ + return bonus->ivalue[2]; +} + +/* ---------------------------------------------------------------------- */ + +double *BodyRoundedPolyhedron::faces(AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + if (nvertices == 1 || nvertices == 2) return NULL; + return bonus->dvalue+3*nsub(bonus)+2*nedges(bonus); +} + +/* ---------------------------------------------------------------------- */ + +double BodyRoundedPolyhedron::enclosing_radius(struct AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + if (nvertices == 1 || nvertices == 2) + return *(bonus->dvalue+3*nsub(bonus)+2); + return *(bonus->dvalue+3*nsub(bonus)+2*nedges(bonus)+MAX_FACE_SIZE*nfaces(bonus)); +} + +/* ---------------------------------------------------------------------- */ + +double BodyRoundedPolyhedron::rounded_radius(struct AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + if (nvertices == 1 || nvertices == 2) + return *(bonus->dvalue+3*nsub(bonus)+2+1); + return *(bonus->dvalue+3*nsub(bonus)+2*nedges(bonus)+MAX_FACE_SIZE*nfaces(bonus)+1); +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::pack_border_body(AtomVecBody::Bonus *bonus, double *buf) +{ + int nsub = bonus->ivalue[0]; + int ned = bonus->ivalue[1]; + int nfac = bonus->ivalue[2]; + buf[0] = nsub; + buf[1] = ned; + buf[2] = nfac; + int ndouble; + if (nsub == 1 || nsub == 2) ndouble = 3*nsub+2+MAX_FACE_SIZE*nfac+1+1; + else ndouble = 3*nsub+2*nedges(bonus)+MAX_FACE_SIZE*nfac+1+1; + memcpy(&buf[3],bonus->dvalue,ndouble*sizeof(double)); + return 3+ndouble; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::unpack_border_body(AtomVecBody::Bonus *bonus, + double *buf) +{ + int nsub = static_cast (buf[0]); + int ned = static_cast (buf[1]); + int nfac = static_cast (buf[2]); + bonus->ivalue[0] = nsub; + bonus->ivalue[1] = ned; + bonus->ivalue[2] = nfac; + int ndouble; + if (nsub == 1 || nsub == 2) ndouble = 3*nsub+2+MAX_FACE_SIZE*nfac+1+1; + else ndouble = 3*nsub+2*nedges(bonus)+MAX_FACE_SIZE*nfac+1+1; + memcpy(bonus->dvalue,&buf[3],ndouble*sizeof(double)); + return 3+ndouble; +} + +/* ---------------------------------------------------------------------- + populate bonus data structure with data file values +------------------------------------------------------------------------- */ + +void BodyRoundedPolyhedron::data_body(int ibonus, int ninteger, int ndouble, + int *ifile, double *dfile) +{ + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + + // set ninteger, ndouble in bonus and allocate 2 vectors of ints, doubles + + if (ninteger != 3) + error->one(FLERR,"Incorrect # of integer values in " + "Bodies section of data file"); + int nsub = ifile[0]; + int ned = ifile[1]; + int nfac = ifile[2]; + if (nsub < 1) + error->one(FLERR,"Incorrect integer value in " + "Bodies section of data file"); + + // nentries = number of double entries to be read from Body section: + // nsub == 1 || nsub == 2 || nsub == 3: + // 6 for inertia + 3*nsub for vertex coords + 1 for rounded radius + // nsub > 3: + // 6 for inertia + 3*nsub for vertex coords + 2*nsub for edges + 3*nfaces + 1 for rounded radius + + int nedges,nentries; + if (nsub == 1 || nsub == 2) { + nentries = 6 + 3*nsub + 1; + } else { + nedges = ned; //nsub + nfac - 2; + nentries = 6 + 3*nsub + 2*nedges + MAX_FACE_SIZE*nfac + 1; + } + if (ndouble != nentries) + error->one(FLERR,"Incorrect # of floating-point values in " + "Bodies section of data file"); + + bonus->ninteger = 3; + bonus->ivalue = icp->get(bonus->iindex); + bonus->ivalue[0] = nsub; + bonus->ivalue[1] = ned; + bonus->ivalue[2] = nfac; + if (nsub == 1 || nsub == 2) bonus->ndouble = 3*nsub + 2*nsub + 1 + 1; + else bonus->ndouble = 3*nsub + 2*nedges + MAX_FACE_SIZE*nfac + 1 + 1; + bonus->dvalue = dcp->get(bonus->ndouble,bonus->dindex); + + // diagonalize inertia tensor + + double tensor[3][3]; + tensor[0][0] = dfile[0]; + tensor[1][1] = dfile[1]; + tensor[2][2] = dfile[2]; + tensor[0][1] = tensor[1][0] = dfile[3]; + tensor[0][2] = tensor[2][0] = dfile[4]; + tensor[1][2] = tensor[2][1] = dfile[5]; + + double *inertia = bonus->inertia; + double evectors[3][3]; + int ierror = MathExtra::jacobi(tensor,inertia,evectors); + if (ierror) error->one(FLERR, + "Insufficient Jacobi rotations for body nparticle"); + + // if any principal moment < scaled EPSILON, set to 0.0 + + double max; + max = MAX(inertia[0],inertia[1]); + max = MAX(max,inertia[2]); + + if (inertia[0] < EPSILON*max) inertia[0] = 0.0; + if (inertia[1] < EPSILON*max) inertia[1] = 0.0; + if (inertia[2] < EPSILON*max) inertia[2] = 0.0; + + // exyz_space = principal axes in space frame + + double ex_space[3],ey_space[3],ez_space[3]; + + ex_space[0] = evectors[0][0]; + ex_space[1] = evectors[1][0]; + ex_space[2] = evectors[2][0]; + ey_space[0] = evectors[0][1]; + ey_space[1] = evectors[1][1]; + ey_space[2] = evectors[2][1]; + ez_space[0] = evectors[0][2]; + ez_space[1] = evectors[1][2]; + ez_space[2] = evectors[2][2]; + + // enforce 3 evectors as a right-handed coordinate system + // flip 3rd vector if needed + + double cross[3]; + MathExtra::cross3(ex_space,ey_space,cross); + if (MathExtra::dot3(cross,ez_space) < 0.0) MathExtra::negate3(ez_space); + + // create initial quaternion + + MathExtra::exyz_to_q(ex_space,ey_space,ez_space,bonus->quat); + + // bonus->dvalue = the first 3*nsub elements are sub-particle displacements + // find the enclosing radius of the body from the maximum displacement + + int i,m; + double delta[3], rsq, erad, rrad; + double erad2 = 0; + int j = 6; + int k = 0; + for (i = 0; i < nsub; i++) { + delta[0] = dfile[j]; + delta[1] = dfile[j+1]; + delta[2] = dfile[j+2]; + MathExtra::transpose_matvec(ex_space,ey_space,ez_space, + delta,&bonus->dvalue[k]); + rsq = delta[0] * delta[0] + delta[1] * delta[1] + + delta[2] * delta[2]; + if (rsq > erad2) erad2 = rsq; + j += 3; + k += 3; + } + + // .. the next 2*nsub elements are edge ends + + if (nsub == 1) { // spheres + nedges = 0; + bonus->dvalue[k] = 0; + *(&bonus->dvalue[k]+1) = 0; + k += 2; + + rrad = 0.5 * dfile[j]; + bonus->dvalue[k] = rrad; + erad = rrad; // enclosing radius = rounded_radius + + // the last element of bonus->dvalue is the rounded radius + + k++; + bonus->dvalue[k] = rrad; + + atom->radius[bonus->ilocal] = erad; + + } else if (nsub == 2) { // rods + nedges = 1; + for (i = 0; i < nedges; i++) { + bonus->dvalue[k] = 0; + *(&bonus->dvalue[k]+1) = 1; + k += 2; + } + + erad = sqrt(erad2); + bonus->dvalue[k] = erad; + + // the last element of bonus->dvalue is the rounded radius + + rrad = 0.5 * dfile[j]; + k++; + bonus->dvalue[k] = rrad; + + atom->radius[bonus->ilocal] = erad + rrad; + + } else { // polyhedra + + // edges + + for (i = 0; i < nedges; i++) { + bonus->dvalue[k] = dfile[j]; + *(&bonus->dvalue[k]+1) = dfile[j+1]; + k += 2; + j += 2; + } + + // faces + + for (i = 0; i < nfac; i++) { + for (m = 0; m < MAX_FACE_SIZE; m++) + *(&bonus->dvalue[k]+m) = dfile[j+m]; + k += MAX_FACE_SIZE; + j += MAX_FACE_SIZE; + } + + // the next to last element is the enclosing radius + + erad = sqrt(erad2); + bonus->dvalue[k] = erad; + + // the last element bonus-> dvalue is the rounded radius + + rrad = 0.5 * dfile[j]; + k++; + bonus->dvalue[k] = rrad; + + atom->radius[bonus->ilocal] = erad + rrad; + } +} + +/* ---------------------------------------------------------------------- + return radius of body particle defined by ifile/dfile params + params are ordered as in data file + called by Molecule class which needs single body size +------------------------------------------------------------------------- */ + +double BodyRoundedPolyhedron::radius_body(int ninteger, int ndouble, + int *ifile, double *dfile) +{ + int nsub = ifile[0]; + int ned = ifile[1]; + int nfac = ifile[2]; + int nedges = ned; //nsub + nfac - 2; + + int nentries; + if (nsub == 1 || nsub == 2) nentries = 6 + 3*nsub + 1; + else nentries = 6 + 3*nsub + 2*nedges + MAX_FACE_SIZE*nfac + 1; + + if (nsub < 1) + error->one(FLERR,"Incorrect integer value in " + "Bodies section of data file"); + if (ndouble != nentries) + error->one(FLERR,"Incorrect # of floating-point values in " + "Bodies section of data file"); + + // sub-particle coords are relative to body center at (0,0,0) + // offset = 6 for sub-particle coords + + double onerad; + double maxrad = 0.0; + double delta[3]; + + int offset = 6; + for (int i = 0; i < nsub; i++) { + delta[0] = dfile[offset]; + delta[1] = dfile[offset+1]; + delta[2] = dfile[offset+2]; + offset += 3; + onerad = MathExtra::len3(delta); + maxrad = MAX(maxrad,onerad); + } + + if (nsub > 2) offset += (2*nedges+MAX_FACE_SIZE*nfac); + + // add in radius of rounded corners + + return maxrad + 0.5*dfile[offset]; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::noutcol() +{ + // the number of columns for the vertex coordinates + + return 3; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::noutrow(int ibonus) +{ + // only return the first nsub rows for the vertex coordinates + + return avec->bonus[ibonus].ivalue[0]; +} + +/* ---------------------------------------------------------------------- */ + +void BodyRoundedPolyhedron::output(int ibonus, int m, double *values) +{ + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + + double p[3][3]; + MathExtra::quat_to_mat(bonus->quat,p); + MathExtra::matvec(p,&bonus->dvalue[3*m],values); + + double *x = atom->x[bonus->ilocal]; + values[0] += x[0]; + values[1] += x[1]; + values[2] += x[2]; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::image(int ibonus, double flag1, double flag2, + int *&ivec, double **&darray) +{ + int j, nelements; + double p[3][3]; + double *x, rrad; + + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + int nvertices = bonus->ivalue[0]; + + if (nvertices == 1) { // spheres + + for (int i = 0; i < nvertices; i++) { + imflag[i] = SPHERE; + MathExtra::quat_to_mat(bonus->quat,p); + MathExtra::matvec(p,&bonus->dvalue[3*i],imdata[i]); + + rrad = enclosing_radius(bonus); + x = atom->x[bonus->ilocal]; + imdata[i][0] += x[0]; + imdata[i][1] += x[1]; + imdata[i][2] += x[2]; + if (flag1 <= 0) imdata[i][3] = 2*rrad; + else imdata[i][3] = flag1; + } + + nelements = nvertices; + } else { + int nfaces = bonus->ivalue[2]; + int nedges = bonus->ivalue[1]; //nvertices + nfaces - 2; + if (nvertices == 2) nedges = 1; // special case: rods + double* edge_ends = &bonus->dvalue[3*nvertices]; + int pt1, pt2; + + for (int i = 0; i < nedges; i++) { + imflag[i] = LINE; + + pt1 = static_cast(edge_ends[2*i]); + pt2 = static_cast(edge_ends[2*i+1]); + + MathExtra::quat_to_mat(bonus->quat,p); + MathExtra::matvec(p,&bonus->dvalue[3*pt1],imdata[i]); + MathExtra::matvec(p,&bonus->dvalue[3*pt2],&imdata[i][3]); + + rrad = rounded_radius(bonus); + x = atom->x[bonus->ilocal]; + imdata[i][0] += x[0]; + imdata[i][1] += x[1]; + imdata[i][2] += x[2]; + imdata[i][3] += x[0]; + imdata[i][4] += x[1]; + imdata[i][5] += x[2]; + + if (flag1 <= 0) imdata[i][6] = 2*rrad; + else imdata[i][6] = flag1; + } + + nelements = nedges; + } + + ivec = imflag; + darray = imdata; + return nelements; +} diff --git a/src/BODY/body_rounded_polyhedron.h b/src/BODY/body_rounded_polyhedron.h new file mode 100644 index 0000000000..e5b15fd8f9 --- /dev/null +++ b/src/BODY/body_rounded_polyhedron.h @@ -0,0 +1,88 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef BODY_CLASS + +BodyStyle(rounded/polyhedron,BodyRoundedPolyhedron) + +#else + +#ifndef LMP_BODY_ROUNDED_POLYHEDRON_H +#define LMP_BODY_ROUNDED_POLYHEDRON_H + +#include "body.h" +#include "atom_vec_body.h" + +namespace LAMMPS_NS { + +class BodyRoundedPolyhedron : public Body { + public: + BodyRoundedPolyhedron(class LAMMPS *, int, char **); + ~BodyRoundedPolyhedron(); + int nsub(struct AtomVecBody::Bonus *); + double *coords(struct AtomVecBody::Bonus *); + int nedges(struct AtomVecBody::Bonus *); + double *edges(struct AtomVecBody::Bonus *); + int nfaces(struct AtomVecBody::Bonus *); + double *faces(struct AtomVecBody::Bonus *); + double enclosing_radius(struct AtomVecBody::Bonus *); + double rounded_radius(struct AtomVecBody::Bonus *); + + int pack_border_body(struct AtomVecBody::Bonus *, double *); + int unpack_border_body(struct AtomVecBody::Bonus *, double *); + void data_body(int, int, int, int *, double *); + double radius_body(int, int, int *, double *); + + int noutrow(int); + int noutcol(); + void output(int, int, double *); + int image(int, double, double, int *&, double **&); + + private: + int *imflag; + double **imdata; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Invalid body rounded/polyhedron command + +Arguments in atom-style command are not correct. + +E: Invalid format in Bodies section of data file + +The specified number of integer or floating point values does not +appear. + +E: Incorrect # of integer values in Bodies section of data file + +See doc page for body style. + +E: Incorrect integer value in Bodies section of data file + +See doc page for body style. + +E: Incorrect # of floating-point values in Bodies section of data file + +See doc page for body style. + +E: Insufficient Jacobi rotations for body rounded/polyhedron + +Eigensolve for rigid body was not sufficiently accurate. + +*/ diff --git a/src/BODY/fix_wall_body_polygon.cpp b/src/BODY/fix_wall_body_polygon.cpp new file mode 100644 index 0000000000..ea81ae26df --- /dev/null +++ b/src/BODY/fix_wall_body_polygon.cpp @@ -0,0 +1,831 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Trung Dac Nguyen (ndactrung@gmail.com) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include "fix_wall_body_polygon.h" +#include "atom.h" +#include "atom_vec_body.h" +#include "body_rounded_polygon.h" +#include "domain.h" +#include "update.h" +#include "force.h" +#include "pair.h" +#include "modify.h" +#include "respa.h" +#include "math_const.h" +#include "math_extra.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; + +enum{XPLANE=0,YPLANE=1,ZCYLINDER}; // XYZ PLANE need to be 0,1,2 +enum{HOOKE,HOOKE_HISTORY}; + +enum {INVALID=0,NONE=1,VERTEX=2}; +enum {FAR=0,XLO,XHI,YLO,YHI}; + +//#define _POLYGON_DEBUG +#define DELTA 10000 +#define EPSILON 1e-2 +#define BIG 1.0e20 +#define MAX_CONTACTS 4 // maximum number of contacts for 2D models +#define EFF_CONTACTS 2 // effective contacts for 2D models + +/* ---------------------------------------------------------------------- */ + +FixWallBodyPolygon::FixWallBodyPolygon(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + if (narg < 7) error->all(FLERR,"Illegal fix wall/body/polygon command"); + + if (!atom->body_flag) + error->all(FLERR,"Fix wall/body/polygon requires atom style body/rounded/polygon"); + + restart_peratom = 1; + create_attribute = 1; + + // wall/particle coefficients + + kn = force->numeric(FLERR,arg[3]); + + c_n = force->numeric(FLERR,arg[4]); + if (strcmp(arg[5],"NULL") == 0) c_t = 0.5 * c_n; + else c_t = force->numeric(FLERR,arg[5]); + + if (kn < 0.0 || c_n < 0.0 || c_t < 0.0) + error->all(FLERR,"Illegal fix wall/body/polygon command"); + + // wallstyle args + + int iarg = 6; + if (strcmp(arg[iarg],"xplane") == 0) { + if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polygon command"); + wallstyle = XPLANE; + if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; + else lo = force->numeric(FLERR,arg[iarg+1]); + if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; + else hi = force->numeric(FLERR,arg[iarg+2]); + iarg += 3; + } else if (strcmp(arg[iarg],"yplane") == 0) { + if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polygon command"); + wallstyle = YPLANE; + if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; + else lo = force->numeric(FLERR,arg[iarg+1]); + if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; + else hi = force->numeric(FLERR,arg[iarg+2]); + iarg += 3; + } else if (strcmp(arg[iarg],"zcylinder") == 0) { + if (narg < iarg+2) error->all(FLERR,"Illegal fix wall/body/polygon command"); + wallstyle = ZCYLINDER; + lo = hi = 0.0; + cylradius = force->numeric(FLERR,arg[iarg+1]); + iarg += 2; + } + + // check for trailing keyword/values + + wiggle = 0; + + while (iarg < narg) { + if (strcmp(arg[iarg],"wiggle") == 0) { + if (iarg+4 > narg) error->all(FLERR,"Illegal fix wall/body/polygon command"); + if (strcmp(arg[iarg+1],"x") == 0) axis = 0; + else if (strcmp(arg[iarg+1],"y") == 0) axis = 1; + else if (strcmp(arg[iarg+1],"z") == 0) axis = 2; + else error->all(FLERR,"Illegal fix wall/body/polygon command"); + amplitude = force->numeric(FLERR,arg[iarg+2]); + period = force->numeric(FLERR,arg[iarg+3]); + wiggle = 1; + iarg += 4; + } else error->all(FLERR,"Illegal fix wall/body/polygon command"); + } + + if (wallstyle == XPLANE && domain->xperiodic) + error->all(FLERR,"Cannot use wall in periodic dimension"); + if (wallstyle == YPLANE && domain->yperiodic) + error->all(FLERR,"Cannot use wall in periodic dimension"); + if (wallstyle == ZCYLINDER && (domain->xperiodic || domain->yperiodic)) + error->all(FLERR,"Cannot use wall in periodic dimension"); + + if (wiggle && wallstyle == ZCYLINDER && axis != 2) + error->all(FLERR,"Invalid wiggle direction for fix wall/body/polygon"); + + // setup oscillations + + if (wiggle) omega = 2.0*MY_PI / period; + + time_origin = update->ntimestep; + + dmax = nmax = 0; + discrete = NULL; + dnum = dfirst = NULL; + + edmax = ednummax = 0; + edge = NULL; + ednum = edfirst = NULL; + + enclosing_radius = NULL; + rounded_radius = NULL; +} + +/* ---------------------------------------------------------------------- */ + +FixWallBodyPolygon::~FixWallBodyPolygon() +{ + memory->destroy(discrete); + memory->destroy(dnum); + memory->destroy(dfirst); + + memory->destroy(edge); + memory->destroy(ednum); + memory->destroy(edfirst); + + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); +} + +/* ---------------------------------------------------------------------- */ + +int FixWallBodyPolygon::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolygon::init() +{ + dt = update->dt; + + avec = (AtomVecBody *) atom->style_match("body"); + if (!avec) + error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); + if (strcmp(avec->bptr->style,"rounded/polygon") != 0) + error->all(FLERR,"Pair body/rounded/polygon requires body style rounded/polygon"); + bptr = (BodyRoundedPolygon *) avec->bptr; + + // set pairstyle from body/polygonular pair style + + if (force->pair_match("body/rounded/polygon",1)) + pairstyle = HOOKE; + else error->all(FLERR,"Fix wall/body/polygon is incompatible with Pair style"); +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolygon::setup(int vflag) +{ + if (strstr(update->integrate_style,"verlet")) + post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolygon::post_force(int vflag) +{ + double vwall[3],dx,dy,dz,del1,del2,delxy,delr,rsq,eradi,rradi,wall_pos; + int i,ni,npi,ifirst,nei,iefirst,side; + double facc[3]; + + // set position of wall to initial settings and velocity to 0.0 + // if wiggle, set wall position and velocity accordingly + + double wlo = lo; + double whi = hi; + vwall[0] = vwall[1] = vwall[2] = 0.0; + if (wiggle) { + double arg = omega * (update->ntimestep - time_origin) * dt; + if (wallstyle == axis) { + wlo = lo + amplitude - amplitude*cos(arg); + whi = hi + amplitude - amplitude*cos(arg); + } + vwall[axis] = amplitude*omega*sin(arg); + } + + // loop over all my atoms + // rsq = distance from wall + // dx,dy,dz = signed distance from wall + // for rotating cylinder, reset vwall based on particle position + // skip atom if not close enough to wall + // if wall was set to NULL, it's skipped since lo/hi are infinity + // compute force and torque on atom if close enough to wall + // via wall potential matched to pair potential + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + int *body = atom->body; + double *radius = atom->radius; + double **torque = atom->torque; + double **angmom = atom->angmom; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + // grow the per-atom lists if necessary and initialize + + if (atom->nmax > nmax) { + memory->destroy(dnum); + memory->destroy(dfirst); + memory->destroy(ednum); + memory->destroy(edfirst); + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + nmax = atom->nmax; + memory->create(dnum,nmax,"fix:dnum"); + memory->create(dfirst,nmax,"fix:dfirst"); + memory->create(ednum,nmax,"fix:ednum"); + memory->create(edfirst,nmax,"fix:edfirst"); + memory->create(enclosing_radius,nmax,"fix:enclosing_radius"); + memory->create(rounded_radius,nmax,"fix:rounded_radius"); + } + + ndiscrete = nedge = 0; + for (i = 0; i < nlocal; i++) + dnum[i] = ednum[i] = 0; + + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + + if (body[i] < 0) continue; + + dx = dy = dz = 0.0; + side = FAR; + if (wallstyle == XPLANE) { + del1 = x[i][0] - wlo; + del2 = whi - x[i][0]; + if (del1 < del2) { + dx = del1; + wall_pos = wlo; + side = XLO; + } else { + dx = -del2; + wall_pos = whi; + side = XHI; + } + } else if (wallstyle == YPLANE) { + del1 = x[i][1] - wlo; + del2 = whi - x[i][1]; + if (del1 < del2) { + dy = del1; + wall_pos = wlo; + side = YLO; + } else { + dy = -del2; + wall_pos = whi; + side = YHI; + } + } else if (wallstyle == ZCYLINDER) { + delxy = sqrt(x[i][0]*x[i][0] + x[i][1]*x[i][1]); + delr = cylradius - delxy; + if (delr > eradi) dz = cylradius; + else { + dx = -delr/delxy * x[i][0]; + dy = -delr/delxy * x[i][1]; + } + } + + rsq = dx*dx + dy*dy + dz*dz; + if (rsq > radius[i]*radius[i]) continue; + + double r = sqrt(rsq); + double rsqinv = 1.0 / rsq; + + if (dnum[i] == 0) body2space(i); + npi = dnum[i]; + ifirst = dfirst[i]; + nei = ednum[i]; + iefirst = edfirst[i]; + eradi = enclosing_radius[i]; + rradi = rounded_radius[i]; + + // reset vertex and edge forces + + for (ni = 0; ni < npi; ni++) { + discrete[ifirst+ni][3] = 0; + discrete[ifirst+ni][4] = 0; + discrete[ifirst+ni][5] = 0; + } + + for (ni = 0; ni < nei; ni++) { + edge[iefirst+ni][2] = 0; + edge[iefirst+ni][3] = 0; + edge[iefirst+ni][4] = 0; + } + + int interact, num_contacts, done; + double delta_a, delta_ua, j_a; + Contact contact_list[MAX_CONTACTS]; + + num_contacts = 0; + facc[0] = facc[1] = facc[2] = 0; + interact = vertex_against_wall(i, wall_pos, x, f, torque, side, + contact_list, num_contacts, facc); + + if (num_contacts >= 2) { + + // find the first two distinct contacts + + done = 0; + for (int m = 0; m < num_contacts-1; m++) { + for (int n = m+1; n < num_contacts; n++) { + delta_a = contact_separation(contact_list[m], contact_list[n]); + if (delta_a > 0) { + delta_ua = 1.0; + j_a = delta_a / (EFF_CONTACTS * delta_ua); + if (j_a < 1.0) j_a = 1.0; + + // scale the force at both contacts + + contact_forces(contact_list[m], j_a, x, v, angmom, f, torque, + vwall, facc); + contact_forces(contact_list[n], j_a, x, v, angmom, f, torque, + vwall, facc); + done = 1; + break; + } + } + if (done == 1) break; + } + + } else if (num_contacts == 1) { + + // if there's only one contact, it should be handled here + // since forces/torques have not been accumulated from vertex2wall() + + contact_forces(contact_list[0], 1.0, x, v, angmom, f, torque, + vwall, facc); + } + } // group bit + } +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolygon::reset_dt() +{ + dt = update->dt; +} + +/* ---------------------------------------------------------------------- + convert N sub-particles in body I to space frame using current quaternion + store sub-particle space-frame displacements from COM in discrete list +------------------------------------------------------------------------- */ + +void FixWallBodyPolygon::body2space(int i) +{ + int ibonus = atom->body[i]; + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + int nsub = bptr->nsub(bonus); + double *coords = bptr->coords(bonus); + int body_num_edges = bptr->nedges(bonus); + double* vertices = bptr->edges(bonus); + double eradius = bptr->enclosing_radius(bonus); + double rradius = bptr->rounded_radius(bonus); + + // get the number of sub-particles (vertices) + // and the index of the first vertex of my body in the list + + dnum[i] = nsub; + dfirst[i] = ndiscrete; + + // grow the vertex list if necessary + // the first 3 columns are for coords, the last 3 for forces + + if (ndiscrete + nsub > dmax) { + dmax += DELTA; + memory->grow(discrete,dmax,6,"fix:discrete"); + } + + double p[3][3]; + MathExtra::quat_to_mat(bonus->quat,p); + + for (int m = 0; m < nsub; m++) { + MathExtra::matvec(p,&coords[3*m],discrete[ndiscrete]); + discrete[ndiscrete][3] = 0; + discrete[ndiscrete][4] = 0; + discrete[ndiscrete][5] = 0; + ndiscrete++; + } + + // get the number of edges (vertices) + // and the index of the first edge of my body in the list + + ednum[i] = body_num_edges; + edfirst[i] = nedge; + + // grow the edge list if necessary + // the first 2 columns are for vertex indices within body, + // the last 3 for forces + + if (nedge + body_num_edges > edmax) { + edmax += DELTA; + memory->grow(edge,edmax,5,"fix:edge"); + } + + for (int m = 0; m < body_num_edges; m++) { + edge[nedge][0] = static_cast(vertices[2*m+0]); + edge[nedge][1] = static_cast(vertices[2*m+1]); + edge[nedge][2] = 0; + edge[nedge][3] = 0; + edge[nedge][4] = 0; + nedge++; + } + + enclosing_radius[i] = eradius; + rounded_radius[i] = rradius; +} + +/* ---------------------------------------------------------------------- + Determine the interaction mode between i's vertices against the wall + + i = atom i (body i) + x = atoms' coordinates + f = atoms' forces + torque = atoms' torques + Return: + contact_list = list of contacts between i and the wall + num_contacts = number of contacts between i's vertices and the wall + interact = 0 no interaction with the wall + 1 there's at least one vertex of i interacts + with the wall +---------------------------------------------------------------------- */ + +int FixWallBodyPolygon::vertex_against_wall(int i, double wall_pos, + double** x, double** f, double** torque, int side, + Contact* contact_list, int &num_contacts, double* facc) +{ + int ni, npi, ifirst, interact; + double xpi[3], xpj[3], dist, eradi, rradi; + double fx, fy, fz, rx, ry, rz; + int nlocal = atom->nlocal; + + npi = dnum[i]; + ifirst = dfirst[i]; + eradi = enclosing_radius[i]; + rradi = rounded_radius[i]; + + interact = 0; + + // loop through body i's vertices + + for (ni = 0; ni < npi; ni++) { + + // convert body-fixed coordinates to space-fixed, xi + + xpi[0] = x[i][0] + discrete[ifirst+ni][0]; + xpi[1] = x[i][1] + discrete[ifirst+ni][1]; + xpi[2] = x[i][2] + discrete[ifirst+ni][2]; + + int mode, contact, p2vertex; + double d, R, hi[3], t, delx, dely, delz, fpair, shift; + double xj[3], rij; + + // compute the distance from the vertex xpi to the wall + + mode = compute_distance_to_wall(xpi, rradi, wall_pos, side, + d, hi, contact); + + if (mode == INVALID || mode == NONE) continue; + + if (mode == VERTEX) { + + interact = 1; + + // vertex i interacts with the wall + + delx = xpi[0] - hi[0]; + dely = xpi[1] - hi[1]; + delz = xpi[2] - hi[2]; + + // R = surface separation = d shifted by the rounded radius + // R = d - p1.rounded_radius; + // note: the force is defined for R, not for d + // R > 0: no interaction + // R <= 0: deformation between vertex i and the wall + + rij = sqrt(delx*delx + dely*dely + delz*delz); + R = rij - rradi; + + // the normal frictional term -c_n * vn will be added later + + if (R <= 0) { // deformation occurs + fpair = -kn * R; + } else fpair = 0.0; + + fx = delx*fpair/rij; + fy = dely*fpair/rij; + fz = delz*fpair/rij; + + #ifdef _POLYGON_DEBUG + printf(" Interaction between vertex %d of %d and wall:", ni); + printf(" mode = %d; contact = %d; d = %f; rij = %f\n", + mode, contact, d, rij); + printf(" R = %f\n", R); + printf(" fpair = %f\n", fpair); + #endif + + if (contact == 1) { + + // vertex ni of body i contacts with edge nj of body j + + contact_list[num_contacts].ibody = i; + contact_list[num_contacts].jbody = -1; + contact_list[num_contacts].vertex = ni; + contact_list[num_contacts].edge = -1; + contact_list[num_contacts].xv[0] = xpi[0]; + contact_list[num_contacts].xv[1] = xpi[1]; + contact_list[num_contacts].xv[2] = xpi[2]; + contact_list[num_contacts].xe[0] = hi[0]; + contact_list[num_contacts].xe[1] = hi[1]; + contact_list[num_contacts].xe[2] = hi[2]; + contact_list[num_contacts].separation = R; + num_contacts++; + + // store forces to vertex ni to be rescaled later, + // if there are 2 contacts + + discrete[ifirst+ni][3] = fx; + discrete[ifirst+ni][4] = fy; + discrete[ifirst+ni][5] = fz; + + #ifdef _POLYGON_DEBUG + printf(" Stored forces at vertex and edge for accumulating later.\n"); + #endif + + } else { // no contact + + // accumulate force and torque to the body directly + + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + sum_torque(x[i], xpi, fx, fy, fz, torque[i]); + + } // end if contact + + } // end if mode + + } // end for looping through the vertices of body i + + return interact; +} + +/* ------------------------------------------------------------------------- + Compute the distance between a vertex to the wall + another body + Input: + x0 = coordinate of the tested vertex + rradi = rounded radius of the vertex + wall_pos = position of the wall + Output: + d = Distance from a point x0 to an wall + hi = coordinates of the projection of x0 on the wall + contact = 0 no contact between the queried vertex and the wall + 1 contact detected + return NONE if there is no interaction + EDGE if the tested vertex interacts with the wall +------------------------------------------------------------------------- */ + +int FixWallBodyPolygon::compute_distance_to_wall(double* x0, double rradi, + double wall_pos, int side, double &d, double hi[3], int &contact) +{ + int mode; + double delxy; + + // h0 = position of the projection of x0 on the wall + if (wallstyle == XPLANE) { + hi[0] = wall_pos; + hi[1] = x0[1]; + hi[2] = x0[2]; + } else if (wallstyle == YPLANE) { + hi[0] = x0[0]; + hi[1] = wall_pos; + hi[2] = x0[2]; + } else if (wallstyle == ZCYLINDER) { + delxy = sqrt(x0[0]*x0[0] + x0[1]*x0[1]); + hi[0] = x0[0]*cylradius/delxy; + hi[1] = x0[1]*cylradius/delxy; + hi[2] = x0[2]; + } + + // distance from x0 to the wall = distance from x0 to hi + + distance(hi, x0, d); + + // determine the interaction mode + + if (d < rradi) { + mode = VERTEX; + contact = 1; + } else { + if (side == XLO) { + if (x0[0] < wall_pos) mode = VERTEX; + else mode = NONE; + } else if (side == XHI) { + if (x0[0] > wall_pos) mode = VERTEX; + else mode = NONE; + } else if (side == YLO) { + if (x0[1] < wall_pos) mode = VERTEX; + else mode = NONE; + } else if (side == YHI) { + if (x0[1] > wall_pos) mode = VERTEX; + else mode = NONE; + } + } + + if (mode == NONE) contact = 0; + else contact = 1; + + return mode; +} + +/* ---------------------------------------------------------------------- + Compute the contact forces between two bodies + modify the force stored at the vertex and edge in contact by j_a + sum forces and torque to the corresponding bodies + fn = normal friction component + ft = tangential friction component (-c_t * vrt) +------------------------------------------------------------------------- */ + +void FixWallBodyPolygon::contact_forces(Contact& contact, double j_a, + double** x, double** v, double** angmom, double** f, + double** torque, double* vwall, double* facc) +{ + int ibody,ibonus,ifirst, jefirst, ni; + double fx,fy,fz,delx,dely,delz,rsq,rsqinv; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double fn[3],ft[3],vi[3]; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + ibody = contact.ibody; + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(contact.xv, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vi); + + // vector pointing from the vertex to the point on the wall + + delx = contact.xv[0] - contact.xe[0]; + dely = contact.xv[1] - contact.xe[1]; + delz = contact.xv[2] - contact.xe[2]; + rsq = delx*delx + dely*dely + delz*delz; + rsqinv = 1.0/rsq; + + // relative translational velocity + + vr1 = vi[0] - vwall[0]; + vr2 = vi[1] - vwall[1]; + vr3 = vi[2] - vwall[2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + // only the cohesive force is scaled by j_a + + ifirst = dfirst[ibody]; + ni = contact.vertex; + + fx = discrete[ifirst+ni][3] * j_a + fn[0] + ft[0]; + fy = discrete[ifirst+ni][4] * j_a + fn[1] + ft[1]; + fz = discrete[ifirst+ni][5] * j_a + fn[2] + ft[2]; + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], contact.xv, fx, fy, fz, torque[ibody]); + + // accumulate forces to the vertex only + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + #ifdef _POLYGON_DEBUG + printf("From contact forces: vertex fx %f fy %f fz %f\n" + " torque body %d: %f %f %f\n", + discrete[ifirst+ni][3], discrete[ifirst+ni][4], discrete[ifirst+ni][5], + atom->tag[ibody],torque[ibody][0],torque[ibody][1],torque[ibody][2]); + #endif +} + +/* ---------------------------------------------------------------------- + Determine the length of the contact segment, i.e. the separation between + 2 contacts +------------------------------------------------------------------------- */ + +double FixWallBodyPolygon::contact_separation(const Contact& c1, + const Contact& c2) +{ + double x1 = c1.xv[0]; + double y1 = c1.xv[1]; + double x2 = c1.xe[0]; + double y2 = c1.xe[1]; + double x3 = c2.xv[0]; + double y3 = c2.xv[1]; + + double delta_a = 0.0; + if (fabs(x2 - x1) > EPSILON) { + double A = (y2 - y1) / (x2 - x1); + delta_a = fabs(y1 - A * x1 - y3 + A * x3) / sqrt(1 + A * A); + } else { + delta_a = fabs(x1 - x3); + } + + return delta_a; +} + +/* ---------------------------------------------------------------------- + Accumulate torque to body from the force f=(fx,fy,fz) acting at point x +------------------------------------------------------------------------- */ + +void FixWallBodyPolygon::sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque) +{ + double rx = x[0] - xm[0]; + double ry = x[1] - xm[1]; + double rz = x[2] - xm[2]; + double tx = ry * fz - rz * fy; + double ty = rz * fx - rx * fz; + double tz = rx * fy - ry * fx; + torque[0] += tx; + torque[1] += ty; + torque[2] += tz; +} + +/* ---------------------------------------------------------------------- + Calculate the total velocity of a point (vertex, a point on an edge): + vi = vcm + omega ^ (p - xcm) +------------------------------------------------------------------------- */ + +void FixWallBodyPolygon::total_velocity(double* p, double *xcm, + double* vcm, double *angmom, double *inertia, + double *quat, double* vi) +{ + double r[3],omega[3],ex_space[3],ey_space[3],ez_space[3]; + r[0] = p[0] - xcm[0]; + r[1] = p[1] - xcm[1]; + r[2] = p[2] - xcm[2]; + MathExtra::q_to_exyz(quat,ex_space,ey_space,ez_space); + MathExtra::angmom_to_omega(angmom,ex_space,ey_space,ez_space, + inertia,omega); + vi[0] = omega[1]*r[2] - omega[2]*r[1] + vcm[0]; + vi[1] = omega[2]*r[0] - omega[0]*r[2] + vcm[1]; + vi[2] = omega[0]*r[1] - omega[1]*r[0] + vcm[2]; +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolygon::distance(const double* x2, const double* x1, + double& r) { + r = sqrt((x2[0] - x1[0]) * (x2[0] - x1[0]) + + (x2[1] - x1[1]) * (x2[1] - x1[1]) + + (x2[2] - x1[2]) * (x2[2] - x1[2])); +} + diff --git a/src/BODY/fix_wall_body_polygon.h b/src/BODY/fix_wall_body_polygon.h new file mode 100644 index 0000000000..3521c6c797 --- /dev/null +++ b/src/BODY/fix_wall_body_polygon.h @@ -0,0 +1,129 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(wall/body/polygon,FixWallBodyPolygon) + +#else + +#ifndef LMP_FIX_WALL_BODY_POLYGON_H +#define LMP_FIX_WALL_BODY_POLYGON_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixWallBodyPolygon : public Fix { + public: + FixWallBodyPolygon(class LAMMPS *, int, char **); + virtual ~FixWallBodyPolygon(); + int setmask(); + void init(); + void setup(int); + virtual void post_force(int); + void reset_dt(); + + struct Contact { + int ibody, jbody; // body (i.e. atom) indices (not tags) + int vertex; // vertex of the first polygon + int edge; // edge of the second polygon + double xv[3]; // coordinates of the vertex + double xe[3]; // coordinates of the projection of the vertex on the edge + double separation;// separation at contact + }; + + protected: + int wallstyle,pairstyle,wiggle,axis; + double kn,c_n,c_t; + double lo,hi,cylradius; + double amplitude,period,omega; + double dt; + int time_origin; + + class AtomVecBody *avec; + class BodyRoundedPolygon *bptr; + + double **discrete; // list of all sub-particles for all bodies + int ndiscrete; // number of discretes in list + int dmax; // allocated size of discrete list + int *dnum; // number of discretes per line, 0 if uninit + int *dfirst; // index of first discrete per each line + int nmax; // allocated size of dnum,dfirst vectors + + double **edge; // list of all edge for all bodies + int nedge; // number of edge in list + int edmax; // allocated size of edge list + int *ednum; // number of edges per line, 0 if uninit + int *edfirst; // index of first edge per each line + int ednummax; // allocated size of ednum,edfirst vectors + + double *enclosing_radius; // enclosing radii for all bodies + double *rounded_radius; // rounded radii for all bodies + + void body2space(int); + + int vertex_against_wall(int ibody, double wall_pos, double** x, + double** f, double** torque, int side, + Contact* contact_list, int &num_contacts, + double* facc); + + int compute_distance_to_wall(double* x0, double rradi, double wall_pos, + int side, double &d, double hi[3], int &contact); + double contact_separation(const Contact& c1, const Contact& c2); + void contact_forces(Contact& contact, double j_a, double** x, + double** v, double** angmom, double** f, double** torque, + double* vwall, double* facc); + void sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque); + void total_velocity(double* p, double *xcm, double* vcm, double *angmom, + double *inertia, double *quat, double* vi); + void distance(const double* x2, const double* x1, double& r); + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Fix wall/body/polygon requires atom style body rounded/polygon + +Self-explanatory. + +E: Cannot use wall in periodic dimension + +Self-explanatory. + +E: Cannot wiggle and shear fix wall/body/polygon + +Cannot specify both options at the same time. + +E: Invalid wiggle direction for fix wall/body/polygon + +Self-explanatory. + +E: Fix wall/body/polygon is incompatible with Pair style + +Must use a body pair style to define the parameters needed for +this fix. + +*/ diff --git a/src/BODY/fix_wall_body_polyhedron.cpp b/src/BODY/fix_wall_body_polyhedron.cpp new file mode 100644 index 0000000000..4806da9673 --- /dev/null +++ b/src/BODY/fix_wall_body_polyhedron.cpp @@ -0,0 +1,944 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Trung Dac Nguyen (ndactrung@gmail.com) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include "fix_wall_body_polyhedron.h" +#include "atom.h" +#include "atom_vec_body.h" +#include "body_rounded_polyhedron.h" +#include "domain.h" +#include "update.h" +#include "force.h" +#include "pair.h" +#include "modify.h" +#include "respa.h" +#include "math_const.h" +#include "math_extra.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; + +enum{XPLANE=0,YPLANE=1,ZPLANE}; // XYZ PLANE need to be 0,1,2 +enum{HOOKE,HOOKE_HISTORY}; + +enum {INVALID=0,NONE=1,VERTEX=2}; +enum {FAR=0,XLO,XHI,YLO,YHI,ZLO,ZHI}; + +//#define _POLYHEDRON_DEBUG +#define DELTA 10000 +#define EPSILON 1e-2 +#define BIG 1.0e20 +#define MAX_CONTACTS 4 // maximum number of contacts for 2D models +#define EFF_CONTACTS 2 // effective contacts for 2D models + +/* ---------------------------------------------------------------------- */ + +FixWallBodyPolyhedron::FixWallBodyPolyhedron(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + if (narg < 7) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + + if (!atom->body_flag) + error->all(FLERR,"Fix wall/body/polyhedron requires atom style body/rounded/polyhedron"); + + restart_peratom = 1; + create_attribute = 1; + + // wall/particle coefficients + + kn = force->numeric(FLERR,arg[3]); + + c_n = force->numeric(FLERR,arg[4]); + if (strcmp(arg[5],"NULL") == 0) c_t = 0.5 * c_n; + else c_t = force->numeric(FLERR,arg[5]); + + if (kn < 0.0 || c_n < 0.0 || c_t < 0.0) + error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + + // wallstyle args + + int iarg = 6; + if (strcmp(arg[iarg],"xplane") == 0) { + if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + wallstyle = XPLANE; + if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; + else lo = force->numeric(FLERR,arg[iarg+1]); + if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; + else hi = force->numeric(FLERR,arg[iarg+2]); + iarg += 3; + } else if (strcmp(arg[iarg],"yplane") == 0) { + if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + wallstyle = YPLANE; + if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; + else lo = force->numeric(FLERR,arg[iarg+1]); + if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; + else hi = force->numeric(FLERR,arg[iarg+2]); + iarg += 3; + } else if (strcmp(arg[iarg],"zplane") == 0) { + if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + wallstyle = ZPLANE; + if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; + else lo = force->numeric(FLERR,arg[iarg+1]); + if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; + else hi = force->numeric(FLERR,arg[iarg+2]); + iarg += 3; + } + + // check for trailing keyword/values + + wiggle = 0; + + while (iarg < narg) { + if (strcmp(arg[iarg],"wiggle") == 0) { + if (iarg+4 > narg) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + if (strcmp(arg[iarg+1],"x") == 0) axis = 0; + else if (strcmp(arg[iarg+1],"y") == 0) axis = 1; + else if (strcmp(arg[iarg+1],"z") == 0) axis = 2; + else error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + amplitude = force->numeric(FLERR,arg[iarg+2]); + period = force->numeric(FLERR,arg[iarg+3]); + wiggle = 1; + iarg += 4; + } else error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + } + + if (wallstyle == XPLANE && domain->xperiodic) + error->all(FLERR,"Cannot use wall in periodic dimension"); + if (wallstyle == YPLANE && domain->yperiodic) + error->all(FLERR,"Cannot use wall in periodic dimension"); + if (wallstyle == ZPLANE && domain->zperiodic) + error->all(FLERR,"Cannot use wall in periodic dimension"); + + // setup oscillations + + if (wiggle) omega = 2.0*MY_PI / period; + + time_origin = update->ntimestep; + + dmax = nmax = 0; + discrete = NULL; + dnum = dfirst = NULL; + + edmax = ednummax = 0; + edge = NULL; + ednum = edfirst = NULL; + + facmax = facnummax = 0; + face = NULL; + facnum = facfirst = NULL; + + enclosing_radius = NULL; + rounded_radius = NULL; +} + +/* ---------------------------------------------------------------------- */ + +FixWallBodyPolyhedron::~FixWallBodyPolyhedron() +{ + memory->destroy(discrete); + memory->destroy(dnum); + memory->destroy(dfirst); + + memory->destroy(edge); + memory->destroy(ednum); + memory->destroy(edfirst); + + memory->destroy(face); + memory->destroy(facnum); + memory->destroy(facfirst); + + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); +} + +/* ---------------------------------------------------------------------- */ + +int FixWallBodyPolyhedron::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::init() +{ + dt = update->dt; + + avec = (AtomVecBody *) atom->style_match("body"); + if (!avec) + error->all(FLERR,"Pair body/rounded/polyhedron requires atom style body"); + if (strcmp(avec->bptr->style,"rounded/polyhedron") != 0) + error->all(FLERR,"Pair body/rounded/polyhedron requires body style rounded/polyhedron"); + bptr = (BodyRoundedPolyhedron *) avec->bptr; + + // set pairstyle from body/polyhedronular pair style + + if (force->pair_match("body/rounded/polyhedron",1)) + pairstyle = HOOKE; + else error->all(FLERR,"Fix wall/body/polyhedron is incompatible with Pair style"); +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::setup(int vflag) +{ + if (strstr(update->integrate_style,"verlet")) + post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::post_force(int vflag) +{ + double vwall[3],dx,dy,dz,del1,del2,delxy,delr,rsq,eradi,rradi,wall_pos; + int i,ni,npi,ifirst,nei,iefirst,nfi,iffirst,side; + double facc[3]; + + // set position of wall to initial settings and velocity to 0.0 + // if wiggle, set wall position and velocity accordingly + + double wlo = lo; + double whi = hi; + vwall[0] = vwall[1] = vwall[2] = 0.0; + if (wiggle) { + double arg = omega * (update->ntimestep - time_origin) * dt; + if (wallstyle == axis) { + wlo = lo + amplitude - amplitude*cos(arg); + whi = hi + amplitude - amplitude*cos(arg); + } + vwall[axis] = amplitude*omega*sin(arg); + } + + // loop over all my atoms + // rsq = distance from wall + // dx,dy,dz = signed distance from wall + // for rotating cylinder, reset vwall based on particle position + // skip atom if not close enough to wall + // if wall was set to NULL, it's skipped since lo/hi are infinity + // compute force and torque on atom if close enough to wall + // via wall potential matched to pair potential + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + int *body = atom->body; + double *radius = atom->radius; + double **torque = atom->torque; + double **angmom = atom->angmom; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + // grow the per-atom lists if necessary and initialize + + if (atom->nmax > nmax) { + memory->destroy(dnum); + memory->destroy(dfirst); + memory->destroy(ednum); + memory->destroy(edfirst); + memory->destroy(facnum); + memory->destroy(facfirst); + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + nmax = atom->nmax; + memory->create(dnum,nmax,"fix:dnum"); + memory->create(dfirst,nmax,"fix:dfirst"); + memory->create(ednum,nmax,"fix:ednum"); + memory->create(edfirst,nmax,"fix:edfirst"); + memory->create(facnum,nmax,"fix:facnum"); + memory->create(facfirst,nmax,"fix:facfirst"); + memory->create(enclosing_radius,nmax,"fix:enclosing_radius"); + memory->create(rounded_radius,nmax,"fix:rounded_radius"); + } + + ndiscrete = nedge = nface = 0; + for (i = 0; i < nlocal; i++) + dnum[i] = ednum[i] = facnum[i] = 0; + + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + + if (body[i] < 0) continue; + + dx = dy = dz = 0.0; + side = FAR; + if (wallstyle == XPLANE) { + del1 = x[i][0] - wlo; + del2 = whi - x[i][0]; + if (del1 < del2) { + dx = del1; + wall_pos = wlo; + side = XLO; + } else { + dx = -del2; + wall_pos = whi; + side = XHI; + } + } else if (wallstyle == YPLANE) { + del1 = x[i][1] - wlo; + del2 = whi - x[i][1]; + if (del1 < del2) { + dy = del1; + wall_pos = wlo; + side = YLO; + } else { + dy = -del2; + wall_pos = whi; + side = YHI; + } + } else if (wallstyle == ZPLANE) { + del1 = x[i][2] - wlo; + del2 = whi - x[i][2]; + if (del1 < del2) { + dy = del1; + wall_pos = wlo; + side = ZLO; + } else { + dy = -del2; + wall_pos = whi; + side = ZHI; + } + } + + rsq = dx*dx + dy*dy + dz*dz; + if (rsq > radius[i]*radius[i]) continue; + + double r = sqrt(rsq); + double rsqinv = 1.0 / rsq; + + if (dnum[i] == 0) body2space(i); + npi = dnum[i]; + ifirst = dfirst[i]; + nei = ednum[i]; + iefirst = edfirst[i]; + nfi = facnum[i]; + iffirst = facfirst[i]; + eradi = enclosing_radius[i]; + rradi = rounded_radius[i]; + + if (npi == 1) { + sphere_against_wall(i, wall_pos, side, vwall, x, v, f, angmom, torque); + continue; + } + + // reset vertex and edge forces + + for (ni = 0; ni < npi; ni++) { + discrete[ifirst+ni][3] = 0; + discrete[ifirst+ni][4] = 0; + discrete[ifirst+ni][5] = 0; + discrete[ifirst+ni][6] = 0; + } + + for (ni = 0; ni < nei; ni++) { + edge[iefirst+ni][2] = 0; + edge[iefirst+ni][3] = 0; + edge[iefirst+ni][4] = 0; + edge[iefirst+ni][5] = 0; + } + + int interact, num_contacts, done; + double delta_a, delta_ua, j_a; + Contact contact_list[MAX_CONTACTS]; + + num_contacts = 0; + facc[0] = facc[1] = facc[2] = 0; + interact = edge_against_wall(i, wall_pos, side, vwall, x, f, torque, + contact_list, num_contacts, facc); + + } // group bit + } +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::reset_dt() +{ + dt = update->dt; +} + +/* ---------------------------------------------------------------------- + convert N sub-particles in body I to space frame using current quaternion + store sub-particle space-frame displacements from COM in discrete list +------------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::body2space(int i) +{ + int ibonus = atom->body[i]; + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + int nsub = bptr->nsub(bonus); + double *coords = bptr->coords(bonus); + int body_num_edges = bptr->nedges(bonus); + double* edge_ends = bptr->edges(bonus); + int body_num_faces = bptr->nfaces(bonus); + double* face_pts = bptr->faces(bonus); + double eradius = bptr->enclosing_radius(bonus); + double rradius = bptr->rounded_radius(bonus); + + // get the number of sub-particles (vertices) + // and the index of the first vertex of my body in the list + + dnum[i] = nsub; + dfirst[i] = ndiscrete; + + // grow the vertex list if necessary + // the first 3 columns are for coords, the last 3 for forces + + if (ndiscrete + nsub > dmax) { + dmax += DELTA; + memory->grow(discrete,dmax,7,"fix:discrete"); + } + + double p[3][3]; + MathExtra::quat_to_mat(bonus->quat,p); + + for (int m = 0; m < nsub; m++) { + MathExtra::matvec(p,&coords[3*m],discrete[ndiscrete]); + discrete[ndiscrete][3] = 0; + discrete[ndiscrete][4] = 0; + discrete[ndiscrete][5] = 0; + discrete[ndiscrete][6] = 0; + ndiscrete++; + } + + // get the number of edges (vertices) + // and the index of the first edge of my body in the list + + ednum[i] = body_num_edges; + edfirst[i] = nedge; + + // grow the edge list if necessary + // the first 2 columns are for vertex indices within body, + // the last 3 for forces + + if (nedge + body_num_edges > edmax) { + edmax += DELTA; + memory->grow(edge,edmax,6,"fix:edge"); + } + + for (int m = 0; m < body_num_edges; m++) { + edge[nedge][0] = static_cast(edge_ends[2*m+0]); + edge[nedge][1] = static_cast(edge_ends[2*m+1]); + edge[nedge][2] = 0; + edge[nedge][3] = 0; + edge[nedge][4] = 0; + edge[nedge][5] = 0; + nedge++; + } + + // get the number of faces and the index of the first face + + facnum[i] = body_num_faces; + facfirst[i] = nface; + + // grow the face list if necessary + // the first 3 columns are for vertex indices within body, the last 3 for forces + + if (nface + body_num_faces > facmax) { + facmax += DELTA; + memory->grow(face,facmax,6,"pair:face"); + } + + for (int m = 0; m < body_num_faces; m++) { + face[nface][0] = static_cast(face_pts[3*m+0]); + face[nface][1] = static_cast(face_pts[3*m+1]); + face[nface][2] = static_cast(face_pts[3*m+2]); + face[nface][3] = 0; + face[nface][4] = 0; + face[nface][5] = 0; + nface++; + } + + enclosing_radius[i] = eradius; + rounded_radius[i] = rradius; +} + +/* ---------------------------------------------------------------------- + Determine the interaction mode between a sphere against the wall + + i = atom i (body i) + x = atoms' coordinates + f = atoms' forces + torque = atoms' torques +---------------------------------------------------------------------- */ + +int FixWallBodyPolyhedron::sphere_against_wall(int i, double wall_pos, + int side, double* vwall, double** x, double** v, double** f, + double** angmom, double** torque) +{ + int mode; + double rradi,hi[3],d,delx,dely,delz,R,fpair,fx,fy,fz; + + rradi = rounded_radius[i]; + mode = NONE; + + if (wallstyle == XPLANE) { + hi[0] = wall_pos; + hi[1] = x[i][1]; + hi[2] = x[i][2]; + } else if (wallstyle == YPLANE) { + hi[0] = x[i][0]; + hi[1] = wall_pos; + hi[2] = x[i][2]; + } else if (wallstyle == ZPLANE) { + hi[0] = x[i][0]; + hi[1] = x[i][1]; + hi[2] = wall_pos; + } + + distance(hi, x[i], d); + + if (d <= rradi) { + delx = x[i][0] - hi[0]; + dely = x[i][1] - hi[1]; + delz = x[i][2] - hi[2]; + R = d - rradi; + + fpair = -kn * R; + + fx = delx*fpair/d; + fy = dely*fpair/d; + fz = delz*fpair/d; + + contact_forces(i, 1.0, x[i], hi, delx, dely, delz, + fx, fy, fz, x, v, angmom, f, torque, vwall); + mode = VERTEX; + } + + return mode; +} + +/* ---------------------------------------------------------------------- + Determine the interaction mode between i's vertices against the wall + + i = atom i (body i) + x = atoms' coordinates + f = atoms' forces + torque = atoms' torques + Output: + contact_list = list of contacts between i and the wall + num_contacts = number of contacts between i's vertices and the wall + Return: + number of contacts of the edge to the wall (0, 1 or 2) +---------------------------------------------------------------------- */ + +int FixWallBodyPolyhedron::edge_against_wall(int i, double wall_pos, + int side, double* vwall, double** x, double** f, double** torque, + Contact* contact_list, int &num_contacts, double* facc) +{ + int ni, nei, mode, contact; + double rradi; + int nlocal = atom->nlocal; + + nei = ednum[i]; + rradi = rounded_radius[i]; + + contact = 0; + + // loop through body i's edges + + for (ni = 0; ni < nei; ni++) + mode = compute_distance_to_wall(i, ni, x[i], rradi, wall_pos, side, vwall, + contact); + + return contact; +} + +/* ------------------------------------------------------------------------- + Compute the distance between a vertex to the wall + another body + Input: + x0 = coordinate of the tested vertex + rradi = rounded radius of the vertex + wall_pos = position of the wall + Output: + d = Distance from a point x0 to an wall + hi = coordinates of the projection of x0 on the wall + contact = 0 no contact between the queried vertex and the wall + 1 contact detected + return NONE if there is no interaction + VERTEX if the tested vertex interacts with the wall +------------------------------------------------------------------------- */ + +int FixWallBodyPolyhedron::compute_distance_to_wall(int ibody, int edge_index, + double *xmi, double rounded_radius_i, double wall_pos, + int side, double* vwall, int &contact) +{ + int mode,ifirst,iefirst,npi1,npi2; + double d1,d2,xpi1[3],xpi2[3],hi[3]; + double fx,fy,fz,fpair,delx,dely,delz,R; + + double** x = atom->x; + double** v = atom->v; + double** f = atom->f; + double** torque = atom->torque; + double** angmom = atom->angmom; + + // two ends of the edge from body i + + ifirst = dfirst[ibody]; + iefirst = edfirst[ibody]; + npi1 = static_cast(edge[iefirst+edge_index][0]); + npi2 = static_cast(edge[iefirst+edge_index][1]); + + xpi1[0] = xmi[0] + discrete[ifirst+npi1][0]; + xpi1[1] = xmi[1] + discrete[ifirst+npi1][1]; + xpi1[2] = xmi[2] + discrete[ifirst+npi1][2]; + + xpi2[0] = xmi[0] + discrete[ifirst+npi2][0]; + xpi2[1] = xmi[1] + discrete[ifirst+npi2][1]; + xpi2[2] = xmi[2] + discrete[ifirst+npi2][2]; + + // determine the intersection of the edge to the wall + + mode = NONE; + double j_a = 1.0; + + if (wallstyle == XPLANE) { + hi[0] = wall_pos; + hi[1] = xpi1[1]; + hi[2] = xpi1[2]; + } else if (wallstyle == YPLANE) { + hi[0] = xpi1[0]; + hi[1] = wall_pos; + hi[2] = xpi1[2]; + } else if (wallstyle == ZPLANE) { + hi[0] = xpi1[0]; + hi[1] = xpi1[1]; + hi[2] = wall_pos; + } + + distance(hi, xpi1, d1); + + if (d1 <= rounded_radius_i && static_cast(discrete[ifirst+npi1][6]) == 0) { + delx = xpi1[0] - hi[0]; + dely = xpi1[1] - hi[1]; + delz = xpi1[2] - hi[2]; + R = d1 - rounded_radius_i; + + fpair = -kn * R; + + fx = delx*fpair/d1; + fy = dely*fpair/d1; + fz = delz*fpair/d1; + + contact_forces(ibody, j_a, xpi1, hi, delx, dely, delz, + fx, fy, fz, x, v, angmom, f, torque, vwall); + discrete[ifirst+npi1][6] = 1; + contact++; + mode = VERTEX; + } + + if (wallstyle == XPLANE) { + hi[0] = wall_pos; + hi[1] = xpi2[1]; + hi[2] = xpi2[2]; + } else if (wallstyle == YPLANE) { + hi[0] = xpi2[0]; + hi[1] = wall_pos; + hi[2] = xpi2[2]; + } else if (wallstyle == ZPLANE) { + hi[0] = xpi2[0]; + hi[1] = xpi2[1]; + hi[2] = wall_pos; + } + + distance(hi, xpi2, d2); + + if (d2 <= rounded_radius_i && static_cast(discrete[ifirst+npi2][6]) == 0) { + delx = xpi2[0] - hi[0]; + dely = xpi2[1] - hi[1]; + delz = xpi2[2] - hi[2]; + R = d2 - rounded_radius_i; + + fpair = -kn * R; + + fx = delx*fpair/d2; + fy = dely*fpair/d2; + fz = delz*fpair/d2; + + contact_forces(ibody, j_a, xpi2, hi, delx, dely, delz, + fx, fy, fz, x, v, angmom, f, torque, vwall); + discrete[ifirst+npi2][6] = 1; + contact++; + mode = VERTEX; + } + + return mode; +} + +/* ---------------------------------------------------------------------- + Compute contact forces between two bodies + modify the force stored at the vertex and edge in contact by j_a + sum forces and torque to the corresponding bodies + fn = normal friction component + ft = tangential friction component (-c_t * v_t) +------------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::contact_forces(int ibody, + double j_a, double *xi, double *xj, double delx, double dely, double delz, + double fx, double fy, double fz, double** x, double** v, double** angmom, + double** f, double** torque, double* vwall) +{ + int ibonus,jbonus; + double fxt,fyt,fzt,rsq,rsqinv; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double fn[3],ft[3],vi[3],vj[3]; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(xi, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vi); + + // vector pointing from the contact point on ibody to the wall + + rsq = delx*delx + dely*dely + delz*delz; + rsqinv = 1.0/rsq; + + // relative translational velocity + + vr1 = vi[0] - vwall[0]; + vr2 = vi[1] - vwall[1]; + vr3 = vi[2] - vwall[2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + fxt = fx; fyt = fy; fzt = fz; + fx = fxt * j_a + fn[0] + ft[0]; + fy = fyt * j_a + fn[1] + ft[1]; + fz = fzt * j_a + fn[2] + ft[2]; + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], xi, fx, fy, fz, torque[ibody]); + + #ifdef _POLYHEDRON_DEBUG + printf("From contact forces: vertex fx %f fy %f fz %f\n" + " torque body %d: %f %f %f\n" + " torque body %d: %f %f %f\n", + fxt, fyt, fzt, + atom->tag[ibody],torque[ibody][0],torque[ibody][1],torque[ibody][2], + atom->tag[jbody],torque[jbody][0],torque[jbody][1],torque[jbody][2]); + #endif +} + +/* ---------------------------------------------------------------------- + Compute the contact forces between two bodies + modify the force stored at the vertex and edge in contact by j_a + sum forces and torque to the corresponding bodies + fn = normal friction component + ft = tangential friction component (-c_t * vrt) +------------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::contact_forces(Contact& contact, double j_a, + double** x, double** v, double** angmom, double** f, + double** torque, double* vwall, double* facc) +{ + int ibody,ibonus,ifirst, jefirst, ni; + double fx,fy,fz,delx,dely,delz,rsq,rsqinv; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double fn[3],ft[3],vi[3]; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + ibody = contact.ibody; + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(contact.xv, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vi); + + // vector pointing from the vertex to the point on the wall + + delx = contact.xv[0] - contact.xe[0]; + dely = contact.xv[1] - contact.xe[1]; + delz = contact.xv[2] - contact.xe[2]; + rsq = delx*delx + dely*dely + delz*delz; + rsqinv = 1.0/rsq; + + // relative translational velocity + + vr1 = vi[0] - vwall[0]; + vr2 = vi[1] - vwall[1]; + vr3 = vi[2] - vwall[2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + // only the cohesive force is scaled by j_a + + ifirst = dfirst[ibody]; + ni = contact.vertex; + + fx = discrete[ifirst+ni][3] * j_a + fn[0] + ft[0]; + fy = discrete[ifirst+ni][4] * j_a + fn[1] + ft[1]; + fz = discrete[ifirst+ni][5] * j_a + fn[2] + ft[2]; + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], contact.xv, fx, fy, fz, torque[ibody]); + + // accumulate forces to the vertex only + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + #ifdef _POLYHEDRON_DEBUG + printf("From contact forces: vertex fx %f fy %f fz %f\n" + " torque body %d: %f %f %f\n", + discrete[ifirst+ni][3], discrete[ifirst+ni][4], discrete[ifirst+ni][5], + atom->tag[ibody],torque[ibody][0],torque[ibody][1],torque[ibody][2]); + #endif +} + +/* ---------------------------------------------------------------------- + Determine the length of the contact segment, i.e. the separation between + 2 contacts +------------------------------------------------------------------------- */ + +double FixWallBodyPolyhedron::contact_separation(const Contact& c1, + const Contact& c2) +{ + double x1 = c1.xv[0]; + double y1 = c1.xv[1]; + double x2 = c1.xe[0]; + double y2 = c1.xe[1]; + double x3 = c2.xv[0]; + double y3 = c2.xv[1]; + + double delta_a = 0.0; + if (fabs(x2 - x1) > EPSILON) { + double A = (y2 - y1) / (x2 - x1); + delta_a = fabs(y1 - A * x1 - y3 + A * x3) / sqrt(1 + A * A); + } else { + delta_a = fabs(x1 - x3); + } + + return delta_a; +} + +/* ---------------------------------------------------------------------- + Accumulate torque to body from the force f=(fx,fy,fz) acting at point x +------------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque) +{ + double rx = x[0] - xm[0]; + double ry = x[1] - xm[1]; + double rz = x[2] - xm[2]; + double tx = ry * fz - rz * fy; + double ty = rz * fx - rx * fz; + double tz = rx * fy - ry * fx; + torque[0] += tx; + torque[1] += ty; + torque[2] += tz; +} + +/* ---------------------------------------------------------------------- + Calculate the total velocity of a point (vertex, a point on an edge): + vi = vcm + omega ^ (p - xcm) +------------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::total_velocity(double* p, double *xcm, + double* vcm, double *angmom, double *inertia, + double *quat, double* vi) +{ + double r[3],omega[3],ex_space[3],ey_space[3],ez_space[3]; + r[0] = p[0] - xcm[0]; + r[1] = p[1] - xcm[1]; + r[2] = p[2] - xcm[2]; + MathExtra::q_to_exyz(quat,ex_space,ey_space,ez_space); + MathExtra::angmom_to_omega(angmom,ex_space,ey_space,ez_space, + inertia,omega); + vi[0] = omega[1]*r[2] - omega[2]*r[1] + vcm[0]; + vi[1] = omega[2]*r[0] - omega[0]*r[2] + vcm[1]; + vi[2] = omega[0]*r[1] - omega[1]*r[0] + vcm[2]; +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::distance(const double* x2, const double* x1, + double& r) { + r = sqrt((x2[0] - x1[0]) * (x2[0] - x1[0]) + + (x2[1] - x1[1]) * (x2[1] - x1[1]) + + (x2[2] - x1[2]) * (x2[2] - x1[2])); +} + diff --git a/src/BODY/fix_wall_body_polyhedron.h b/src/BODY/fix_wall_body_polyhedron.h new file mode 100644 index 0000000000..ff7b7ca7cf --- /dev/null +++ b/src/BODY/fix_wall_body_polyhedron.h @@ -0,0 +1,143 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(wall/body/polyhedron,FixWallBodyPolyhedron) + +#else + +#ifndef LMP_FIX_WALL_BODY_POLYHERON_H +#define LMP_FIX_WALL_BODY_POLYHERON_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixWallBodyPolyhedron : public Fix { + public: + FixWallBodyPolyhedron(class LAMMPS *, int, char **); + virtual ~FixWallBodyPolyhedron(); + int setmask(); + void init(); + void setup(int); + virtual void post_force(int); + void reset_dt(); + + struct Contact { + int ibody, jbody; // body (i.e. atom) indices (not tags) + int vertex; // vertex of the first polygon + int edge; // edge of the second polygon + double xv[3]; // coordinates of the vertex + double xe[3]; // coordinates of the projection of the vertex on the edge + double separation;// separation at contact + }; + + protected: + int wallstyle,pairstyle,wiggle,axis; + double kn,c_n,c_t; + double lo,hi,cylradius; + double amplitude,period,omega; + double dt; + int time_origin; + + class AtomVecBody *avec; + class BodyRoundedPolyhedron *bptr; + + double **discrete; // list of all sub-particles for all bodies + int ndiscrete; // number of discretes in list + int dmax; // allocated size of discrete list + int *dnum; // number of discretes per line, 0 if uninit + int *dfirst; // index of first discrete per each line + int nmax; // allocated size of dnum,dfirst vectors + + double **edge; // list of all edge for all bodies + int nedge; // number of edge in list + int edmax; // allocated size of edge list + int *ednum; // number of edges per line, 0 if uninit + int *edfirst; // index of first edge per each line + int ednummax; // allocated size of ednum,edfirst vectors + + double **face; // list of all edge for all bodies + int nface; // number of faces in list + int facmax; // allocated size of face list + int *facnum; // number of faces per line, 0 if uninit + int *facfirst; // index of first face per each line + int facnummax; // allocated size of facnum,facfirst vectors + + double *enclosing_radius; // enclosing radii for all bodies + double *rounded_radius; // rounded radii for all bodies + + void body2space(int); + + int edge_against_wall(int ibody, double wall_pos, int side, double* vwall, + double** x, double** f, double** torque, Contact* contact_list, + int &num_contacts, double* facc); + int sphere_against_wall(int i, double wall_pos, int side, double* vwall, + double** x, double** v, double** f, double** angmom, double** torque); + + int compute_distance_to_wall(int ibody, int edge_index, double *xmi, + double rounded_radius_i, double wall_pos, int side, + double* vwall, int &contact); + double contact_separation(const Contact& c1, const Contact& c2); + void contact_forces(int ibody, double j_a, double *xi, double *xj, + double delx, double dely, double delz, + double fx, double fy, double fz, double** x, double** v, + double** angmom, double** f, double** torque, double* vwall); + + void contact_forces(Contact& contact, double j_a, double** x, + double** v, double** angmom, double** f, double** torque, + double* vwall, double* facc); + void sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque); + void total_velocity(double* p, double *xcm, double* vcm, double *angmom, + double *inertia, double *quat, double* vi); + void distance(const double* x2, const double* x1, double& r); + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Fix wall/body/polyhedron requires atom style body rounded/polyhedron + +Self-explanatory. + +E: Cannot use wall in periodic dimension + +Self-explanatory. + +E: Cannot wiggle and shear fix wall/body/polygon + +Cannot specify both options at the same time. + +E: Invalid wiggle direction for fix wall/body/polygon + +Self-explanatory. + +E: Fix wall/body/polygon is incompatible with Pair style + +Must use a body pair style to define the parameters needed for +this fix. + +*/ diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp new file mode 100644 index 0000000000..72591d2bd0 --- /dev/null +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -0,0 +1,1359 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Dac Nguyen (ndactrung@gmail.com) + Ref: Fraige, Langston, Matchett and Dodds, Particuology 2008, 6:455-466 + Note: The current implementation has not taken into account + the contact history for friction forces. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "pair_body_rounded_polygon.h" +#include "math_extra.h" +#include "atom.h" +#include "atom_vec_body.h" +#include "body_rounded_polygon.h" +#include "comm.h" +#include "force.h" +#include "fix.h" +#include "modify.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +//#define _POLYGON_DEBUG +#define DELTA 10000 +#define EPSILON 1e-3 +#define MAX_CONTACTS 4 // maximum number of contacts for 2D models +#define EFF_CONTACTS 2 // effective contacts for 2D models + +enum {INVALID=0,NONE=1,VERTEXI=2,VERTEXJ=3,EDGE=4}; + +/* ---------------------------------------------------------------------- */ + +PairBodyRoundedPolygon::PairBodyRoundedPolygon(LAMMPS *lmp) : Pair(lmp) +{ + dmax = nmax = 0; + discrete = NULL; + dnum = dfirst = NULL; + + edmax = ednummax = 0; + edge = NULL; + ednum = edfirst = NULL; + + enclosing_radius = NULL; + rounded_radius = NULL; + maxerad = NULL; + + single_enable = 0; + restartinfo = 0; + + c_n = 0.1; + c_t = 0.2; + mu = 0.0; + delta_ua = 1.0; +} + +/* ---------------------------------------------------------------------- */ + +PairBodyRoundedPolygon::~PairBodyRoundedPolygon() +{ + memory->destroy(discrete); + memory->destroy(dnum); + memory->destroy(dfirst); + + memory->destroy(edge); + memory->destroy(ednum); + memory->destroy(edfirst); + + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + + memory->destroy(k_n); + memory->destroy(k_na); + memory->destroy(maxerad); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + int ni,nj,npi,npj,ifirst,jfirst; + int nei,nej,iefirst,jefirst; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fx,fy,fz; + double rsq,rsqinv,r,radi,radj,eradi,eradj,rradi,rradj,k_nij,k_naij; + double xi[3],xj[3],fi[3],fj[3],ti[3],tj[3],facc[3]; + double *dxi,*dxj; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + double **torque = atom->torque; + double **angmom = atom->angmom; + double *radius = atom->radius; + tagint* tag = atom->tag; + int *body = atom->body; + int *type = atom->type; + int nlocal = atom->nlocal; + int nall = nlocal + atom->nghost; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // grow the per-atom lists if necessary and initialize + + if (atom->nmax > nmax) { + memory->destroy(dnum); + memory->destroy(dfirst); + memory->destroy(ednum); + memory->destroy(edfirst); + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + nmax = atom->nmax; + memory->create(dnum,nmax,"pair:dnum"); + memory->create(dfirst,nmax,"pair:dfirst"); + memory->create(ednum,nmax,"pair:ednum"); + memory->create(edfirst,nmax,"pair:edfirst"); + memory->create(enclosing_radius,nmax,"pair:enclosing_radius"); + memory->create(rounded_radius,nmax,"pair:rounded_radius"); + } + + ndiscrete = nedge = 0; + for (i = 0; i < nall; i++) + dnum[i] = ednum[i] = 0; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + radi = radius[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + if (body[i] >= 0) { + if (dnum[i] == 0) body2space(i); + npi = dnum[i]; + ifirst = dfirst[i]; + nei = ednum[i]; + iefirst = edfirst[i]; + eradi = enclosing_radius[i]; + rradi = rounded_radius[i]; + } + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + radj = radius[j]; + + // body/body interactions + + evdwl = 0.0; + facc[0] = facc[1] = facc[2] = 0; + + if (body[i] < 0 || body[j] < 0) continue; + + if (dnum[j] == 0) body2space(j); + npj = dnum[j]; + jfirst = dfirst[j]; + nej = ednum[j]; + jefirst = edfirst[j]; + eradj = enclosing_radius[j]; + rradj = rounded_radius[j]; + + k_nij = k_n[itype][jtype]; + k_naij = k_na[itype][jtype]; + + // no interaction + + r = sqrt(rsq); + if (r > radi + radj + cut_inner) continue; + rsqinv = 1.0 / rsq; + + if (npi == 1 && npj == 1) { + sphere_against_sphere(i, j, delx, dely, delz, rsq, + k_nij, k_naij, x, v, f, evflag); + continue; + } + + // reset vertex and edge forces + + for (ni = 0; ni < npi; ni++) { + discrete[ifirst+ni][3] = 0; + discrete[ifirst+ni][4] = 0; + discrete[ifirst+ni][5] = 0; + } + + for (nj = 0; nj < npj; nj++) { + discrete[jfirst+nj][3] = 0; + discrete[jfirst+nj][4] = 0; + discrete[jfirst+nj][5] = 0; + } + + for (ni = 0; ni < nei; ni++) { + edge[iefirst+ni][2] = 0; + edge[iefirst+ni][3] = 0; + edge[iefirst+ni][4] = 0; + } + + for (nj = 0; nj < nej; nj++) { + edge[jefirst+nj][2] = 0; + edge[jefirst+nj][3] = 0; + edge[jefirst+nj][4] = 0; + } + + int interact, num_contacts, done; + double delta_a, j_a; + Contact contact_list[MAX_CONTACTS]; + + num_contacts = 0; + + // check interaction between i's vertices and j' edges + + interact = vertex_against_edge(i, j, k_nij, k_naij, + x, f, torque, tag, contact_list, + num_contacts, evdwl, facc); + + // check interaction between j's vertices and i' edges + + interact = vertex_against_edge(j, i, k_nij, k_naij, + x, f, torque, tag, contact_list, + num_contacts, evdwl, facc); + + if (num_contacts >= 2) { + + // find the first two distinct contacts + + done = 0; + for (int m = 0; m < num_contacts-1; m++) { + for (int n = m+1; n < num_contacts; n++) { + delta_a = contact_separation(contact_list[m], contact_list[n]); + if (delta_a > 0) { + j_a = delta_a / (EFF_CONTACTS * delta_ua); + if (j_a < 1.0) j_a = 1.0; + + // scale the force at both contacts + + contact_forces(contact_list[m], j_a, x, v, angmom, f, torque, evdwl, facc); + contact_forces(contact_list[n], j_a, x, v, angmom, f, torque, evdwl, facc); + done = 1; + + #ifdef _POLYGON_DEBUG + printf(" Two separate contacts %d and %d: delta_a = %f; j_a = %f\n", + m, n, delta_a, j_a); + printf(" %d: vertex %d of body %d and edge %d of body %d; " + "xv = %f %f %f; xe = %f %f %f\n", + m, contact_list[m].vertex, contact_list[m].ibody, + contact_list[m].edge, contact_list[m].jbody, + contact_list[m].xv[0], contact_list[m].xv[1], contact_list[m].xv[2], + contact_list[m].xe[0], contact_list[m].xe[1], contact_list[m].xe[2]); + printf(" %d: vertex %d of body %d and edge %d of body %d; " + "xv = %f %f %f; xe = %f %f %f\n", + n, contact_list[n].vertex, contact_list[n].ibody, + contact_list[n].edge, contact_list[n].jbody, + contact_list[n].xv[0], contact_list[n].xv[1], contact_list[n].xv[2], + contact_list[n].xe[0], contact_list[n].xe[1], contact_list[n].xe[2]); + #endif + + break; + } + } + if (done == 1) break; + } + + + } else if (num_contacts == 1) { + + // if there's only one contact, it should be handled here + // since forces/torques have not been accumulated from vertex2edge() + + contact_forces(contact_list[0], 1.0, x, v, angmom, f, torque, evdwl, facc); + + #ifdef _POLYGON_DEBUG + printf("One contact between vertex %d of body %d and edge %d of body %d:\n", + contact_list[0].vertex, tag[contact_list[0].ibody], + contact_list[0].edge, tag[contact_list[0].jbody]); + printf("xv = %f %f %f; xe = %f %f %f\n", + contact_list[0].xv[0], contact_list[0].xv[1], contact_list[0].xv[2], + contact_list[0].xe[0], contact_list[0].xe[1], contact_list[0].xe[2]); + #endif + } + + #ifdef _POLYGON_DEBUG + int num_overlapping_contacts = 0; + for (int m = 0; m < num_contacts-1; m++) { + for (int n = m+1; n < num_contacts; n++) { + double l = contact_separation(contact_list[m], contact_list[n]); + if (l < EPSILON) num_overlapping_contacts++; + } + } + printf("There are %d contacts detected, %d of which overlap.\n", + num_contacts, num_overlapping_contacts); + #endif + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0.0, + facc[0],facc[1],facc[2],delx,dely,delz); + + } // end for jj + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + + memory->create(k_n,n+1,n+1,"pair:k_n"); + memory->create(k_na,n+1,n+1,"pair:k_na"); + memory->create(maxerad,n+1,"pair:maxerad"); +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::settings(int narg, char **arg) +{ + if (narg < 5) error->all(FLERR,"Illegal pair_style command"); + + c_n = force->numeric(FLERR,arg[0]); + c_t = force->numeric(FLERR,arg[1]); + mu = force->numeric(FLERR,arg[2]); + delta_ua = force->numeric(FLERR,arg[3]); + cut_inner = force->numeric(FLERR,arg[4]); +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::coeff(int narg, char **arg) +{ + if (narg < 4 || narg > 5) + error->all(FLERR,"Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + double k_n_one = force->numeric(FLERR,arg[2]); + double k_na_one = force->numeric(FLERR,arg[3]); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + k_n[i][j] = k_n_one; + k_na[i][j] = k_na_one; + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::init_style() +{ + avec = (AtomVecBody *) atom->style_match("body"); + if (!avec) error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); + if (strcmp(avec->bptr->style,"rounded/polygon") != 0) + error->all(FLERR,"Pair body/rounded/polygon requires body style rounded/polygon"); + bptr = (BodyRoundedPolygon *) avec->bptr; + + if (comm->ghost_velocity == 0) + error->all(FLERR,"Pair body/rounded/polygon requires ghost atoms store velocity"); + + neighbor->request(this); + + // find the maximum enclosing radius for each atom type + + int i, itype; + double eradi; + int* body = atom->body; + int* type = atom->type; + int ntypes = atom->ntypes; + int nlocal = atom->nlocal; + + if (atom->nmax > nmax) { + memory->destroy(dnum); + memory->destroy(dfirst); + memory->destroy(ednum); + memory->destroy(edfirst); + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + nmax = atom->nmax; + memory->create(dnum,nmax,"pair:dnum"); + memory->create(dfirst,nmax,"pair:dfirst"); + memory->create(ednum,nmax,"pair:ednum"); + memory->create(edfirst,nmax,"pair:edfirst"); + memory->create(enclosing_radius,nmax,"pair:enclosing_radius"); + memory->create(rounded_radius,nmax,"pair:rounded_radius"); + } + + ndiscrete = nedge = 0; + for (i = 0; i < nlocal; i++) + dnum[i] = ednum[i] = 0; + + double *merad = NULL; + memory->create(merad,ntypes+1,"pair:merad"); + for (i = 1; i <= ntypes; i++) + maxerad[i] = merad[i] = 0; + + int ipour; + for (ipour = 0; ipour < modify->nfix; ipour++) + if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; + if (ipour == modify->nfix) ipour = -1; + + int idep; + for (idep = 0; idep < modify->nfix; idep++) + if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; + if (idep == modify->nfix) idep = -1; + + for (i = 1; i <= ntypes; i++) { + merad[i] = 0.0; + if (ipour >= 0) { + itype = i; + merad[i] = + *((double *) modify->fix[ipour]->extract("radius",itype)); + } + if (idep >= 0) { + itype = i; + merad[i] = + *((double *) modify->fix[idep]->extract("radius",itype)); + } + } + + for (i = 0; i < nlocal; i++) { + itype = type[i]; + if (body[i] >= 0) { + if (dnum[i] == 0) body2space(i); + eradi = enclosing_radius[i]; + if (eradi > merad[itype]) merad[itype] = eradi; + } else + merad[itype] = 0; + } + + MPI_Allreduce(&merad[1],&maxerad[1],ntypes,MPI_DOUBLE,MPI_MAX,world); + + memory->destroy(merad); +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairBodyRoundedPolygon::init_one(int i, int j) +{ + k_n[j][i] = k_n[i][j]; + k_na[j][i] = k_na[i][j]; + + return (maxerad[i]+maxerad[j]); +} + +/* ---------------------------------------------------------------------- + convert N sub-particles in body I to space frame using current quaternion + store sub-particle space-frame displacements from COM in discrete list +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::body2space(int i) +{ + int ibonus = atom->body[i]; + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + int nsub = bptr->nsub(bonus); + double *coords = bptr->coords(bonus); + int body_num_edges = bptr->nedges(bonus); + double* edge_ends = bptr->edges(bonus); + double eradius = bptr->enclosing_radius(bonus); + double rradius = bptr->rounded_radius(bonus); + + // get the number of sub-particles (vertices) + // and the index of the first vertex of my body in the list + + dnum[i] = nsub; + dfirst[i] = ndiscrete; + + // grow the vertex list if necessary + // the first 3 columns are for coords, the last 3 for forces + + if (ndiscrete + nsub > dmax) { + dmax += DELTA; + memory->grow(discrete,dmax,6,"pair:discrete"); + } + + double p[3][3]; + MathExtra::quat_to_mat(bonus->quat,p); + + for (int m = 0; m < nsub; m++) { + MathExtra::matvec(p,&coords[3*m],discrete[ndiscrete]); + discrete[ndiscrete][3] = 0; + discrete[ndiscrete][4] = 0; + discrete[ndiscrete][5] = 0; + ndiscrete++; + } + + // get the number of edges (vertices) + // and the index of the first edge of my body in the list + + ednum[i] = body_num_edges; + edfirst[i] = nedge; + + // grow the edge list if necessary + // the first 2 columns are for vertex indices within body, the last 3 for forces + + if (nedge + body_num_edges > edmax) { + edmax += DELTA; + memory->grow(edge,edmax,5,"pair:edge"); + } + + for (int m = 0; m < body_num_edges; m++) { + edge[nedge][0] = static_cast(edge_ends[2*m+0]); + edge[nedge][1] = static_cast(edge_ends[2*m+1]); + edge[nedge][2] = 0; + edge[nedge][3] = 0; + edge[nedge][4] = 0; + nedge++; + } + + enclosing_radius[i] = eradius; + rounded_radius[i] = rradius; +} + +/* ---------------------------------------------------------------------- + Interaction between two spheres with different radii + according to the 2D model from Fraige et al. +---------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::sphere_against_sphere(int i, int j, + double delx, double dely, double delz, double rsq, + double k_n, double k_na, double** x, double** v, + double** f, int evflag) +{ + double eradi,eradj,rradi,rradj; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double rij,rsqinv,R,fx,fy,fz,fn[3],ft[3],fpair,shift,energy; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + eradi = enclosing_radius[i]; + rradi = rounded_radius[i]; + + eradj = enclosing_radius[j]; + rradj = rounded_radius[j]; + + rsqinv = 1.0/rsq; + rij = sqrt(rsq); + R = rij - (rradi + rradj); + shift = k_na * cut_inner; + + energy = 0; + + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy = (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy = (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/rij; + fy = dely*fpair/rij; + fz = delz*fpair/rij; + + if (R <= EPSILON) { // in contact + + // relative translational velocity + + vr1 = v[i][0] - v[j][0]; + vr2 = v[i][1] - v[j][1]; + vr3 = v[i][2] - v[j][2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact + // excluding the tangential deformation term + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + } + + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + + if (newton_pair || j < nlocal) { + f[j][0] -= fx; + f[j][1] -= fy; + f[j][2] -= fz; + } + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, + energy,0.0,fx,fy,fz,delx,dely,delz); +} + +/* ---------------------------------------------------------------------- + Determine the interaction mode between i's vertices against j's edges + + i = atom i (body i) + j = atom j (body j) + x = atoms' coordinates + f = atoms' forces + torque = atoms' torques + tag = atoms' tags + contact_list = list of contacts + num_contacts = number of contacts between i's vertices and j's edges + Return: + interact = 0 no interaction at all + 1 there's at least one case where i's vertices interacts + with j's edges +---------------------------------------------------------------------- */ + +int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, + double k_n, double k_na, + double** x, double** f, + double** torque, tagint* tag, + Contact* contact_list, + int &num_contacts, + double &evdwl, double* facc) +{ + int ni, npi, ifirst, nei, iefirst; + int nj, npj, jfirst, nej, jefirst; + double xpi[3], xpj[3], dist, eradi, eradj, rradi, rradj; + double fx, fy, fz, rx, ry, rz, energy; + int interact; + int nlocal = atom->nlocal; + + npi = dnum[i]; + ifirst = dfirst[i]; + nei = ednum[i]; + iefirst = edfirst[i]; + eradi = enclosing_radius[i]; + rradi = rounded_radius[i]; + + npj = dnum[j]; + jfirst = dfirst[j]; + nej = ednum[j]; + jefirst = edfirst[j]; + eradj = enclosing_radius[j]; + rradj = rounded_radius[j]; + + energy = 0; + interact = 0; + + // loop through body i's vertices + + for (ni = 0; ni < npi; ni++) { + + // convert body-fixed coordinates to space-fixed, xi + + xpi[0] = x[i][0] + discrete[ifirst+ni][0]; + xpi[1] = x[i][1] + discrete[ifirst+ni][1]; + xpi[2] = x[i][2] + discrete[ifirst+ni][2]; + + // compute the distance from the vertex to the COM of body j + + distance(xpi, x[j], dist); + + #ifdef _POLYGON_DEBUG + printf("Distance between vertex %d of body %d (%0.1f %0.1f %0.1f) " + "to body %d's COM: %f (cut = %0.1f)\n", + ni, xpi[0], xpi[1], xpi[2], atom->tag[i], atom->tag[j], dist, + eradj + rradi + rradj + cut_inner); + #endif + + // the vertex is within the enclosing circle (sphere) of body j, + // possibly interacting + + if (dist > eradj + rradj + rradi + cut_inner) continue; + + int mode, contact, p2vertex; + double d, R, hi[3], t, delx, dely, delz, fpair, shift; + double xj[3], rij; + + // loop through body j's edges + + for (nj = 0; nj < nej; nj++) { + + // compute the distance between the edge nj to the vertex xpi + + mode = compute_distance_to_vertex(j, nj, x[j], rradj, + xpi, rradi, cut_inner, + d, hi, t, contact); + + if (mode == INVALID || mode == NONE) continue; + + if (mode == VERTEXI || mode == VERTEXJ) { + + interact = 1; + + // vertex i interacts with a vertex of the edge, but does not contact + + if (mode == VERTEXI) p2vertex = edge[jefirst+nj][0]; + else if (mode == VERTEXJ) p2vertex = edge[jefirst+nj][1]; + + // p2.body2space(p2vertex, xj); + xpj[0] = x[j][0] + discrete[jfirst+p2vertex][0]; + xpj[1] = x[j][1] + discrete[jfirst+p2vertex][1]; + xpj[2] = x[j][2] + discrete[jfirst+p2vertex][2]; + + delx = xpi[0] - xpj[0]; + dely = xpi[1] - xpj[1]; + delz = xpi[2] - xpj[2]; + + // R = surface separation = rij shifted by the rounded radii + // R = rij - (p1.rounded_radius + p2.rounded_radius); + // note: the force is defined for R, not for rij + // R > rc: no interaction between vertex ni and p2vertex + // 0 < R < rc: cohesion between vertex ni and p2vertex + // R < 0: deformation between vertex ni and p2vertex + + rij = sqrt(delx*delx + dely*dely + delz*delz); + R = rij - (rradi + rradj); + shift = k_na * cut_inner; + + // the normal frictional term -c_n * vn will be added later + + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy += (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy += (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/rij; + fy = dely*fpair/rij; + fz = delz*fpair/rij; + + #ifdef _POLYGON_DEBUG + printf(" Interaction between vertex %d of %d and vertex %d of %d:", + ni, tag[i], p2vertex, tag[j]); + printf(" mode = %d; contact = %d; d = %f; rij = %f, t = %f\n", + mode, contact, d, rij, t); + printf(" R = %f; cut_inner = %f\n", R, cut_inner); + printf(" fpair = %f\n", fpair); + #endif + + // add forces to body i and body j directly + // avoid double counts this pair of vertices + // i and j can be either local or ghost atoms (bodies) + // probably need more work here when the vertices' interaction + // are not symmetric, e.g. j interacts with the edge + // consisting of i but in mode = EDGE instead of VERTEX*. + // OR, for the time being assume that the edge length is + // sufficiently greater than the rounded radius to distinguish + // vertex-vertex from vertex-edge contact modes. + // Special case: when i is a sphere, also accumulate + + if (tag[i] < tag[j] || npi == 1) { + + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + sum_torque(x[i], xpi, fx, fy, fz, torque[i]); + + f[j][0] -= fx; + f[j][1] -= fy; + f[j][2] -= fz; + sum_torque(x[j], xpj, -fx, -fy, -fz, torque[j]); + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + #ifdef _POLYGON_DEBUG + printf(" from vertex-vertex: " + "force on vertex %d of body %d: fx %f fy %f fz %f\n" + " torque body %d: %f %f %f\n" + " torque body %d: %f %f %f\n", ni, tag[i], fx, fy, fz, + tag[i],torque[i][0],torque[i][1],torque[i][2], + tag[j],torque[j][0],torque[j][1],torque[j][2]); + #endif + } + + // done with the edges from body j, + // given that vertex ni interacts with only one vertex from one edge of body j + +// break; + + } else if (mode == EDGE) { + + interact = 1; + + // vertex i interacts with the edge + + delx = xpi[0] - hi[0]; + dely = xpi[1] - hi[1]; + delz = xpi[2] - hi[2]; + + // R = surface separation = d shifted by the rounded radii + // R = d - (p1.rounded_radius + p2.rounded_radius); + // Note: the force is defined for R, not for d + // R > rc: no interaction between vertex i and edge j + // 0 < R < rc: cohesion between vertex i and edge j + // R < 0: deformation between vertex i and edge j + // rij = sqrt(delx*delx + dely*dely + delz*delz); + + R = d - (rradi + rradj); + shift = k_na * cut_inner; + + // the normal frictional term -c_n * vn will be added later + + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy += (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy += (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/d; + fy = dely*fpair/d; + fz = delz*fpair/d; + + #ifdef _POLYGON_DEBUG + printf(" Interaction between vertex %d of %d and edge %d of %d:", + ni, tag[i], nj, tag[j]); + printf(" mode = %d; contact = %d; d = %f; t = %f\n", + mode, contact, d, t); + printf(" R = %f; cut_inner = %f\n", R, cut_inner); + printf(" fpair = %f\n", fpair); + #endif + + if (contact == 1) { + + // vertex ni of body i contacts with edge nj of body j + + contact_list[num_contacts].ibody = i; + contact_list[num_contacts].jbody = j; + contact_list[num_contacts].vertex = ni; + contact_list[num_contacts].edge = nj; + contact_list[num_contacts].xv[0] = xpi[0]; + contact_list[num_contacts].xv[1] = xpi[1]; + contact_list[num_contacts].xv[2] = xpi[2]; + contact_list[num_contacts].xe[0] = hi[0]; + contact_list[num_contacts].xe[1] = hi[1]; + contact_list[num_contacts].xe[2] = hi[2]; + contact_list[num_contacts].separation = R; + num_contacts++; + + // store forces to vertex ni and the edge nj + // to be rescaled later + + discrete[ifirst+ni][3] = fx; + discrete[ifirst+ni][4] = fy; + discrete[ifirst+ni][5] = fz; + + edge[jefirst+nj][2] = -fx; + edge[jefirst+nj][3] = -fy; + edge[jefirst+nj][4] = -fz; + + #ifdef _POLYGON_DEBUG + printf(" Stored forces at vertex and edge for accumulating later.\n"); + #endif + + } else { // no contact + + // accumulate force and torque to both bodies directly + + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + sum_torque(x[i], xpi, fx, fy, fz, torque[i]); + + f[j][0] -= fx; + f[j][1] -= fy; + f[j][2] -= fz; + sum_torque(x[j], hi, -fx, -fy, -fz, torque[j]); + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + #ifdef _POLYGON_DEBUG + printf(" from vertex-edge, no contact: " + "force on vertex %d of body %d: fx %f fy %f fz %f\n" + " torque body %d: %f %f %f\n" + " torque body %d: %f %f %f\n", ni, tag[i], fx, fy, fz, + tag[i],torque[i][0],torque[i][1],torque[i][2], + tag[j],torque[j][0],torque[j][1],torque[j][2]); + #endif + } // end if contact + + // done with the edges from body j, + // given that vertex ni interacts with only one edge from body j + +// break; + + } // end if mode + + } // end for looping through the edges of body j + + } // end for looping through the vertices of body i + + evdwl += energy; + + return interact; +} + +/* ------------------------------------------------------------------------- + Compute the distance between an edge of body i and a vertex from + another body + Input: + ibody = body i (i.e. atom i) + edge_index = edge index of body i + xmi = atom i's coordinates (body i's center of mass) + x0 = coordinate of the tested vertex from another body + x0_rounded_radius = rounded radius of the tested vertex + cut_inner = cutoff for vertex-vertex and vertex-edge interaction + Output: + d = Distance from a point x0 to an edge + hi = coordinates of the projection of x0 on the edge + t = ratio to determine the relative position of hi + wrt xi and xj on the segment + contact = 0 no contact between the queried vertex and the edge + 1 contact detected + return + INVALID if the edge index is invalid + NONE if there is no interaction + VERTEXI if the tested vertex interacts with the first vertex of the edge + VERTEXJ if the tested vertex interacts with the second vertex of the edge + EDGE if the tested vertex interacts with the edge +------------------------------------------------------------------------- */ + +int PairBodyRoundedPolygon::compute_distance_to_vertex(int ibody, + int edge_index, + double *xmi, + double rounded_radius, + double* x0, + double x0_rounded_radius, + double cut_inner, + double &d, + double hi[3], + double &t, + int &contact) +{ + if (edge_index >= ednum[ibody]) return INVALID; + + int mode,ifirst,iefirst,npi1,npi2; + double xi1[3],xi2[3],u[3],v[3],uij[3]; + double udotv, magv, magucostheta; + double delx,dely,delz; + + ifirst = dfirst[ibody]; + iefirst = edfirst[ibody]; + npi1 = static_cast(edge[iefirst+edge_index][0]); + npi2 = static_cast(edge[iefirst+edge_index][1]); + + // compute the space-fixed coordinates for the vertices of the edge + + xi1[0] = xmi[0] + discrete[ifirst+npi1][0]; + xi1[1] = xmi[1] + discrete[ifirst+npi1][1]; + xi1[2] = xmi[2] + discrete[ifirst+npi1][2]; + + xi2[0] = xmi[0] + discrete[ifirst+npi2][0]; + xi2[1] = xmi[1] + discrete[ifirst+npi2][1]; + xi2[2] = xmi[2] + discrete[ifirst+npi2][2]; + + // u = x0 - xi1 + + u[0] = x0[0] - xi1[0]; + u[1] = x0[1] - xi1[1]; + u[2] = x0[2] - xi1[2]; + + // v = xi2 - xi1 + + v[0] = xi2[0] - xi1[0]; + v[1] = xi2[1] - xi1[1]; + v[2] = xi2[2] - xi1[2]; + + // dot product between u and v = magu * magv * costheta + + udotv = u[0] * v[0] + u[1] * v[1] + u[2] * v[2]; + magv = sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]); + magucostheta = udotv / magv; + + // uij is the unit vector pointing from xi to xj + + uij[0] = v[0] / magv; + uij[1] = v[1] / magv; + uij[2] = v[2] / magv; + + // position of the projection of x0 on the line (xi, xj) + + hi[0] = xi1[0] + magucostheta * uij[0]; + hi[1] = xi1[1] + magucostheta * uij[1]; + hi[2] = xi1[2] + magucostheta * uij[2]; + + // distance from x0 to the line (xi, xj) = distance from x0 to hi + + distance(hi, x0, d); + + // determine the interaction mode + // for 2D: a vertex can interact with one edge at most + // for 3D: a vertex can interact with one face at most + + mode = NONE; + contact = 0; + + if (d > rounded_radius + x0_rounded_radius + cut_inner) { + + // if the vertex is far away from the edge + + mode = NONE; + + } else { + + // check if x0 (the queried vertex) and xmi (the body's center of mass) + // are on the different sides of the edge + + int m = opposite_sides(xi1, xi2, x0, xmi); + + if (m == 0) { + + // x0 and xmi are on not the opposite sides of the edge + // leave xpi for another edge to detect + + mode = NONE; + + } else { + + // x0 and xmi are on the different sides + // t is the ratio to detect if x0 is closer to the vertices xi or xj + + if (fabs(xi2[0] - xi1[0]) > EPSILON) + t = (hi[0] - xi1[0]) / (xi2[0] - xi1[0]); + else if (fabs(xi2[1] - xi1[1]) > EPSILON) + t = (hi[1] - xi1[1]) / (xi2[1] - xi1[1]); + else if (fabs(xi2[2] - xi1[2]) > EPSILON) + t = (hi[2] - xi1[2]) / (xi2[2] - xi1[2]); + + double contact_dist = rounded_radius + x0_rounded_radius; + if (t >= 0 && t <= 1) { + mode = EDGE; + if (d < contact_dist + EPSILON) + contact = 1; + + } else { // t < 0 || t > 1: closer to either vertices of the edge + + if (t < 0) { + // measure the distance from x0 to xi1 + delx = x0[0] - xi1[0]; + dely = x0[1] - xi1[1]; + delz = x0[2] - xi1[2]; + double dx0xi1 = sqrt(delx*delx + dely*dely + delz*delz); + if (dx0xi1 > contact_dist + cut_inner) + mode = NONE; + else + mode = VERTEXI; + } else { + // measure the distance from x0 to xi2 + delx = x0[0] - xi2[0]; + dely = x0[1] - xi2[1]; + delz = x0[2] - xi2[2]; + double dx0xi2 = sqrt(delx*delx + dely*dely + delz*delz); + if (dx0xi2 > contact_dist + cut_inner) + mode = NONE; + else + mode = VERTEXJ; + } + } // end if t >= 0 && t <= 1 + } // end if x0 and xmi are on the same side of the edge + } + + return mode; +} + +/* ---------------------------------------------------------------------- + Compute contact forces between two bodies + modify the force stored at the vertex and edge in contact by j_a + sum forces and torque to the corresponding bodies + fn = normal friction component + ft = tangential friction component (-c_t * v_t) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::contact_forces(Contact& contact, double j_a, + double** x, double** v, double** angmom, double** f, + double** torque, double &evdwl, double* facc) +{ + int ibody,jbody,ibonus,jbonus,ifirst,jefirst,ni,nj; + double fx,fy,fz,delx,dely,delz,rsq,rsqinv; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double fn[3],ft[3],vi[3],vj[3]; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + ibody = contact.ibody; + jbody = contact.jbody; + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(contact.xv, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vi); + + // compute the velocity of the point on the edge in the space-fixed frame + + jbonus = atom->body[jbody]; + bonus = &avec->bonus[jbonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(contact.xe, x[jbody], v[jbody], angmom[jbody], + inertia, quat, vj); + + // vector pointing from the vertex to the point on the edge + + delx = contact.xv[0] - contact.xe[0]; + dely = contact.xv[1] - contact.xe[1]; + delz = contact.xv[2] - contact.xe[2]; + rsq = delx*delx + dely*dely + delz*delz; + rsqinv = 1.0/rsq; + + // relative translational velocity + + vr1 = vi[0] - vj[0]; + vr2 = vi[1] - vj[1]; + vr3 = vi[2] - vj[2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + // only the cohesive force is scaled by j_a + // mu * fne = tangential friction deformation during gross sliding + // see Eq. 4, Fraige et al. + + ifirst = dfirst[ibody]; + ni = contact.vertex; + + fx = discrete[ifirst+ni][3] * j_a + fn[0] + ft[0] + + mu * discrete[ifirst+ni][3]; + fy = discrete[ifirst+ni][4] * j_a + fn[1] + ft[1] + + mu * discrete[ifirst+ni][4]; + fz = discrete[ifirst+ni][5] * j_a + fn[2] + ft[2] + + mu * discrete[ifirst+ni][5]; + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], contact.xv, fx, fy, fz, torque[ibody]); + + // accumulate forces to the vertex only + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + // only the cohesive force is scaled by j_a + // mu * fne = tangential friction deformation during gross sliding + // Eq. 4, Fraige et al. + + jefirst = edfirst[jbody]; + nj = contact.edge; + + fx = edge[jefirst+nj][2] * j_a - fn[0] - ft[0] + + mu * edge[jefirst+nj][2]; + fy = edge[jefirst+nj][3] * j_a - fn[1] - ft[1] + + mu * edge[jefirst+nj][3]; + fz = edge[jefirst+nj][4] * j_a - fn[2] - ft[2] + + mu * edge[jefirst+nj][4]; + f[jbody][0] += fx; + f[jbody][1] += fy; + f[jbody][2] += fz; + sum_torque(x[jbody], contact.xe, fx, fy, fz, torque[jbody]); + + #ifdef _POLYGON_DEBUG + printf("From contact forces: vertex fx %f fy %f fz %f\n" + " torque body %d: %f %f %f\n" + " torque body %d: %f %f %f\n", + discrete[ifirst+ni][3], discrete[ifirst+ni][4], discrete[ifirst+ni][5], + atom->tag[ibody],torque[ibody][0],torque[ibody][1],torque[ibody][2], + atom->tag[jbody],torque[jbody][0],torque[jbody][1],torque[jbody][2]); + #endif +} + +/* ---------------------------------------------------------------------- + Determine the length of the contact segment, i.e. the separation between + 2 contacts, should be extended for 3D models. +------------------------------------------------------------------------- */ + +double PairBodyRoundedPolygon::contact_separation(const Contact& c1, + const Contact& c2) +{ + double x1 = c1.xv[0]; + double y1 = c1.xv[1]; + double x2 = c1.xe[0]; + double y2 = c1.xe[1]; + double x3 = c2.xv[0]; + double y3 = c2.xv[1]; + + double delta_a = 0.0; + if (fabs(x2 - x1) > EPSILON) { + double A = (y2 - y1) / (x2 - x1); + delta_a = fabs(y1 - A * x1 - y3 + A * x3) / sqrt(1 + A * A); + } else { + delta_a = fabs(x1 - x3); + } + + return delta_a; +} + +/* ---------------------------------------------------------------------- + Accumulate torque to body from the force f=(fx,fy,fz) acting at point x +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque) +{ + double rx = x[0] - xm[0]; + double ry = x[1] - xm[1]; + double rz = x[2] - xm[2]; + double tx = ry * fz - rz * fy; + double ty = rz * fx - rx * fz; + double tz = rx * fy - ry * fx; + torque[0] += tx; + torque[1] += ty; + torque[2] += tz; +} + +/* ---------------------------------------------------------------------- + Test if two points a and b are in opposite sides of the line that + connects two points x1 and x2 +------------------------------------------------------------------------- */ + +int PairBodyRoundedPolygon::opposite_sides(double* x1, double* x2, + double* a, double* b) +{ + double m_a = (x1[1] - x2[1])*(a[0] - x1[0]) + (x2[0] - x1[0])*(a[1] - x1[1]); + double m_b = (x1[1] - x2[1])*(b[0] - x1[0]) + (x2[0] - x1[0])*(b[1] - x1[1]); + // equal to zero when either a or b is inline with the line x1-x2 + if (m_a * m_b <= 0) + return 1; + else + return 0; +} + +/* ---------------------------------------------------------------------- + Calculate the total velocity of a point (vertex, a point on an edge): + vi = vcm + omega ^ (p - xcm) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::total_velocity(double* p, double *xcm, + double* vcm, double *angmom, double *inertia, + double *quat, double* vi) +{ + double r[3],omega[3],ex_space[3],ey_space[3],ez_space[3]; + r[0] = p[0] - xcm[0]; + r[1] = p[1] - xcm[1]; + r[2] = p[2] - xcm[2]; + MathExtra::q_to_exyz(quat,ex_space,ey_space,ez_space); + MathExtra::angmom_to_omega(angmom,ex_space,ey_space,ez_space, + inertia,omega); + vi[0] = omega[1]*r[2] - omega[2]*r[1] + vcm[0]; + vi[1] = omega[2]*r[0] - omega[0]*r[2] + vcm[1]; + vi[2] = omega[0]*r[1] - omega[1]*r[0] + vcm[2]; +} + +/* ---------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::distance(const double* x2, const double* x1, + double& r) +{ + r = sqrt((x2[0] - x1[0]) * (x2[0] - x1[0]) + + (x2[1] - x1[1]) * (x2[1] - x1[1]) + + (x2[2] - x1[2]) * (x2[2] - x1[2])); +} + diff --git a/src/BODY/pair_body_rounded_polygon.h b/src/BODY/pair_body_rounded_polygon.h new file mode 100644 index 0000000000..09c93b832e --- /dev/null +++ b/src/BODY/pair_body_rounded_polygon.h @@ -0,0 +1,128 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(body/rounded/polygon,PairBodyRoundedPolygon) + +#else + +#ifndef LMP_PAIR_BODY_ROUNDED_POLYGON_H +#define LMP_PAIR_BODY_ROUNDED_POLYGON_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairBodyRoundedPolygon : public Pair { + public: + PairBodyRoundedPolygon(class LAMMPS *); + ~PairBodyRoundedPolygon(); + void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + + struct Contact { + int ibody, jbody; // body (i.e. atom) indices (not tags) + int vertex; // vertex of the first polygon + int edge; // edge of the second polygon + double xv[3]; // coordinates of the vertex + double xe[3]; // coordinates of the projection of the vertex on the edge + double separation;// separation at contact + }; + + protected: + double **k_n; // normal repulsion strength + double **k_na; // normal attraction strength + double c_n; // normal damping coefficient + double c_t; // tangential damping coefficient + double mu; // normal friction coefficient during gross sliding + double delta_ua; // contact line (area for 3D models) modification factor + double cut_inner; // cutoff for interaction between vertex-edge surfaces + + class AtomVecBody *avec; + class BodyRoundedPolygon *bptr; + + double **discrete; // list of all sub-particles for all bodies + int ndiscrete; // number of discretes in list + int dmax; // allocated size of discrete list + int *dnum; // number of discretes per line, 0 if uninit + int *dfirst; // index of first discrete per each line + int nmax; // allocated size of dnum,dfirst vectors + + double **edge; // list of all edge for all bodies + int nedge; // number of edge in list + int edmax; // allocated size of edge list + int *ednum; // number of edges per line, 0 if uninit + int *edfirst; // index of first edge per each line + int ednummax; // allocated size of ednum,edfirst vectors + + double *enclosing_radius; // enclosing radii for all bodies + double *rounded_radius; // rounded radii for all bodies + double *maxerad; // per-type maximum enclosing radius + + void allocate(); + void body2space(int); + + int vertex_against_edge(int i, int j, double k_n, double k_na, + double** x, double** f, double** torque, + tagint* tag, Contact* contact_list, + int &num_contacts, double &evdwl, double* facc); + void sphere_against_sphere(int i, int j, double delx, double dely, double delz, + double rsq, double k_n, double k_na, + double** x, double** v, double** f, int evflag); + int compute_distance_to_vertex(int ibody, int edge_index, double* xmi, + double rounded_radius, double* x0, + double x0_rounded_radius, double cut_inner, + double &d, double hi[3], double &t, + int &contact); + double contact_separation(const Contact& c1, const Contact& c2); + void contact_forces(Contact& contact, double j_a, double** x, + double** v, double** f, double** angmom, + double** torque, double &evdwl, double* facc); + void sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque); + int opposite_sides(double* x1, double* x2, double* a, double* b); + void total_velocity(double* p, double *xcm, double* vcm, double *angmom, + double *inertia, double *quat, double* vi); + inline void distance(const double* x2, const double* x1, double& r); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair body/rounded/polygon requires atom style body rounded/polygon + +Self-explanatory. + +E: Pair body requires body style rounded/polygon + +This pair style is specific to the rounded/polygon body style. + +*/ diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp new file mode 100644 index 0000000000..8d5f9ec72c --- /dev/null +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -0,0 +1,2348 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Dac Nguyen (ndactrung@gmail.com) + Ref: Wang, Yu, Langston, Fraige, Particle shape effects in discrete + element modelling of cohesive angular particles, Granular Matter 2011, + 13:1-12. + Note: The current implementation has not taken into account + the contact history for friction forces. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "pair_body_rounded_polyhedron.h" +#include "math_extra.h" +#include "atom.h" +#include "atom_vec_body.h" +#include "body_rounded_polyhedron.h" +#include "comm.h" +#include "force.h" +#include "fix.h" +#include "modify.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "memory.h" +#include "error.h" +#include "math_extra.h" +#include "math_const.h" + +using namespace LAMMPS_NS; +using namespace MathExtra; +using namespace MathConst; + +#define DELTA 10000 +#define EPSILON 1e-3 +#define MAX_FACE_SIZE 4 // maximum number of vertices per face (same as BodyRoundedPolyhedron) +#define MAX_CONTACTS 16 // for 3D models + +//#define _POLYHEDRON_DEBUG + +enum {EE_INVALID=0,EE_NONE,EE_INTERACT}; +enum {EF_INVALID=0,EF_NONE,EF_PARALLEL,EF_SAME_SIDE_OF_FACE, + EF_INTERSECT_INSIDE,EF_INTERSECT_OUTSIDE}; + +/* ---------------------------------------------------------------------- */ + +PairBodyRoundedPolyhedron::PairBodyRoundedPolyhedron(LAMMPS *lmp) : Pair(lmp) +{ + dmax = nmax = 0; + discrete = NULL; + dnum = dfirst = NULL; + + edmax = ednummax = 0; + edge = NULL; + ednum = edfirst = NULL; + + facmax = facnummax = 0; + face = NULL; + facnum = facfirst = NULL; + + enclosing_radius = NULL; + rounded_radius = NULL; + maxerad = NULL; + + single_enable = 0; + restartinfo = 0; + + c_n = 0.1; + c_t = 0.2; + mu = 0.0; + A_ua = 1.0; +} + +/* ---------------------------------------------------------------------- */ + +PairBodyRoundedPolyhedron::~PairBodyRoundedPolyhedron() +{ + memory->destroy(discrete); + memory->destroy(dnum); + memory->destroy(dfirst); + + memory->destroy(edge); + memory->destroy(ednum); + memory->destroy(edfirst); + + memory->destroy(face); + memory->destroy(facnum); + memory->destroy(facfirst); + + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + memory->destroy(maxerad); + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + + memory->destroy(k_n); + memory->destroy(k_na); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + int ni,nj,npi,npj,ifirst,jfirst,nei,nej,iefirst,jefirst; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,facc[3]; + double rsq,eradi,eradj,k_nij,k_naij; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + double **torque = atom->torque; + double **angmom = atom->angmom; + int *body = atom->body; + int *type = atom->type; + int nlocal = atom->nlocal; + int nall = nlocal + atom->nghost; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // grow the per-atom lists if necessary and initialize + + if (atom->nmax > nmax) { + memory->destroy(dnum); + memory->destroy(dfirst); + memory->destroy(ednum); + memory->destroy(edfirst); + memory->destroy(facnum); + memory->destroy(facfirst); + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + nmax = atom->nmax; + memory->create(dnum,nmax,"pair:dnum"); + memory->create(dfirst,nmax,"pair:dfirst"); + memory->create(ednum,nmax,"pair:ednum"); + memory->create(edfirst,nmax,"pair:edfirst"); + memory->create(facnum,nmax,"pair:facnum"); + memory->create(facfirst,nmax,"pair:facfirst"); + memory->create(enclosing_radius,nmax,"pair:enclosing_radius"); + memory->create(rounded_radius,nmax,"pair:rounded_radius"); + } + + ndiscrete = nedge = nface = 0; + for (i = 0; i < nall; i++) + dnum[i] = ednum[i] = facnum[i] = 0; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + if (body[i] >= 0) { + if (dnum[i] == 0) body2space(i); + npi = dnum[i]; + ifirst = dfirst[i]; + nei = ednum[i]; + iefirst = edfirst[i]; + eradi = enclosing_radius[i]; + } + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + // body/body interactions + + evdwl = 0.0; + facc[0] = facc[1] = facc[2] = 0; + + if (body[i] < 0 || body[j] < 0) continue; + + if (dnum[j] == 0) body2space(j); + npj = dnum[j]; + jfirst = dfirst[j]; + nej = ednum[j]; + jefirst = edfirst[j]; + eradj = enclosing_radius[j]; + + k_nij = k_n[itype][jtype]; + k_naij = k_na[itype][jtype]; + + // no interaction + + double r = sqrt(rsq); + if (r > eradi + eradj + cut_inner) continue; + + // sphere-sphere interaction + + if (npi == 1 && npj == 1) { + sphere_against_sphere(i, j, delx, dely, delz, rsq, + k_nij, k_naij, v, f, evflag); + continue; + } + + // reset vertex and edge forces + + for (ni = 0; ni < npi; ni++) { + discrete[ifirst+ni][3] = 0; + discrete[ifirst+ni][4] = 0; + discrete[ifirst+ni][5] = 0; + discrete[ifirst+ni][6] = 0; + } + + for (nj = 0; nj < npj; nj++) { + discrete[jfirst+nj][3] = 0; + discrete[jfirst+nj][4] = 0; + discrete[jfirst+nj][5] = 0; + discrete[jfirst+nj][6] = 0; + } + + for (ni = 0; ni < nei; ni++) { + edge[iefirst+ni][2] = 0; + edge[iefirst+ni][3] = 0; + edge[iefirst+ni][4] = 0; + edge[iefirst+ni][5] = 0; + } + + for (nj = 0; nj < nej; nj++) { + edge[jefirst+nj][2] = 0; + edge[jefirst+nj][3] = 0; + edge[jefirst+nj][4] = 0; + edge[jefirst+nj][5] = 0; + } + + // one of the two bodies is a sphere + + if (npj == 1) { + sphere_against_face(i, j, k_nij, k_naij, x, v, f, torque, + angmom, evflag); + sphere_against_edge(i, j, k_nij, k_naij, x, v, f, torque, + angmom, evflag); + continue; + } else if (npi == 1) { + sphere_against_face(j, i, k_nij, k_naij, x, v, f, torque, + angmom, evflag); + sphere_against_edge(j, i, k_nij, k_naij, x, v, f, torque, + angmom, evflag); + continue; + } + + int interact, num_contacts; + Contact contact_list[MAX_CONTACTS]; + + num_contacts = 0; + + // check interaction between i's edges and j' faces + #ifdef _POLYHEDRON_DEBUG + printf("INTERACTION between edges of %d vs. faces of %d:\n", i, j); + #endif + interact = edge_against_face(i, j, k_nij, k_naij, x, contact_list, + num_contacts, evdwl, facc); + + // check interaction between j's edges and i' faces + #ifdef _POLYHEDRON_DEBUG + printf("\nINTERACTION between edges of %d vs. faces of %d:\n", j, i); + #endif + interact = edge_against_face(j, i, k_nij, k_naij, x, contact_list, + num_contacts, evdwl, facc); + + // check interaction between i's edges and j' edges + #ifdef _POLYHEDRON_DEBUG + printf("INTERACTION between edges of %d vs. edges of %d:\n", i, j); + #endif + interact = edge_against_edge(i, j, k_nij, k_naij, x, contact_list, + num_contacts, evdwl, facc); + + // estimate the contact area + // also consider point contacts and line contacts + + if (num_contacts > 0) { + double contact_area; + if (num_contacts == 1) { + contact_area = 0; + } else if (num_contacts == 2) { + contact_area = num_contacts * A_ua; + } else { + int m; + double xc[3],dx,dy,dz; + xc[0] = xc[1] = xc[2] = 0; + for (m = 0; m < num_contacts; m++) { + xc[0] += contact_list[m].xi[0]; + xc[1] += contact_list[m].xi[1]; + xc[2] += contact_list[m].xi[2]; + } + + xc[0] /= (double)num_contacts; + xc[1] /= (double)num_contacts; + xc[2] /= (double)num_contacts; + + contact_area = 0.0; + for (m = 0; m < num_contacts; m++) { + dx = contact_list[m].xi[0] - xc[0]; + dy = contact_list[m].xi[1] - xc[1]; + dz = contact_list[m].xi[2] - xc[2]; + contact_area += (dx*dx + dy*dy + dz*dz); + } + contact_area *= (MY_PI/(double)num_contacts); + } + rescale_cohesive_forces(x, f, torque, contact_list, num_contacts, + contact_area, k_nij, k_naij, facc); + } + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0.0, + facc[0],facc[1],facc[2],delx,dely,delz); + + } // end for jj + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + + memory->create(k_n,n+1,n+1,"pair:k_n"); + memory->create(k_na,n+1,n+1,"pair:k_na"); + memory->create(maxerad,n+1,"pair:maxerad"); +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::settings(int narg, char **arg) +{ + if (narg < 5) error->all(FLERR,"Illegal pair_style command"); + + c_n = force->numeric(FLERR,arg[0]); + c_t = force->numeric(FLERR,arg[1]); + mu = force->numeric(FLERR,arg[2]); + A_ua = force->numeric(FLERR,arg[3]); + cut_inner = force->numeric(FLERR,arg[4]); +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::coeff(int narg, char **arg) +{ + if (narg < 4 || narg > 5) + error->all(FLERR,"Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + double k_n_one = force->numeric(FLERR,arg[2]); + double k_na_one = force->numeric(FLERR,arg[3]); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + k_n[i][j] = k_n_one; + k_na[i][j] = k_na_one; + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::init_style() +{ + avec = (AtomVecBody *) atom->style_match("body"); + if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires atom style body"); + if (strcmp(avec->bptr->style,"rounded/polyhedron") != 0) + error->all(FLERR,"Pair body/rounded/polyhedron requires body style rounded/polyhedron"); + bptr = (BodyRoundedPolyhedron *) avec->bptr; + + if (comm->ghost_velocity == 0) + error->all(FLERR,"Pair body/rounded/polyhedron requires ghost atoms store velocity"); + + neighbor->request(this); + + // find the maximum enclosing radius for each atom type + + int i, itype; + double eradi; + int* body = atom->body; + int* type = atom->type; + int ntypes = atom->ntypes; + int nlocal = atom->nlocal; + + if (atom->nmax > nmax) { + memory->destroy(dnum); + memory->destroy(dfirst); + memory->destroy(ednum); + memory->destroy(edfirst); + memory->destroy(facnum); + memory->destroy(facfirst); + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + nmax = atom->nmax; + memory->create(dnum,nmax,"pair:dnum"); + memory->create(dfirst,nmax,"pair:dfirst"); + memory->create(ednum,nmax,"pair:ednum"); + memory->create(edfirst,nmax,"pair:edfirst"); + memory->create(facnum,nmax,"pair:facnum"); + memory->create(facfirst,nmax,"pair:facfirst"); + memory->create(enclosing_radius,nmax,"pair:enclosing_radius"); + memory->create(rounded_radius,nmax,"pair:rounded_radius"); + } + + ndiscrete = nedge = nface = 0; + for (i = 0; i < nlocal; i++) + dnum[i] = ednum[i] = facnum[i] = 0; + + double *merad = NULL; + memory->create(merad,ntypes+1,"pair:merad"); + for (i = 1; i <= ntypes; i++) + maxerad[i] = merad[i] = 0; + + int ipour; + for (ipour = 0; ipour < modify->nfix; ipour++) + if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; + if (ipour == modify->nfix) ipour = -1; + + int idep; + for (idep = 0; idep < modify->nfix; idep++) + if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; + if (idep == modify->nfix) idep = -1; + + for (i = 1; i <= ntypes; i++) { + merad[i] = 0.0; + if (ipour >= 0) { + itype = i; + merad[i] = + *((double *) modify->fix[ipour]->extract("radius",itype)); + } + if (idep >= 0) { + itype = i; + merad[i] = + *((double *) modify->fix[idep]->extract("radius",itype)); + } + } + + for (i = 0; i < nlocal; i++) { + itype = type[i]; + if (body[i] >= 0) { + if (dnum[i] == 0) body2space(i); + eradi = enclosing_radius[i]; + if (eradi > merad[itype]) merad[itype] = eradi; + } else + merad[itype] = 0; + } + + MPI_Allreduce(&merad[1],&maxerad[1],ntypes,MPI_DOUBLE,MPI_MAX,world); + + memory->destroy(merad); + + sanity_check(); +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairBodyRoundedPolyhedron::init_one(int i, int j) +{ + k_n[j][i] = k_n[i][j]; + k_na[j][i] = k_na[i][j]; + + return (maxerad[i]+maxerad[j]); +} + +/* ---------------------------------------------------------------------- + convert N sub-particles in body I to space frame using current quaternion + store sub-particle space-frame displacements from COM in discrete list +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::body2space(int i) +{ + int ibonus = atom->body[i]; + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + int nsub = bptr->nsub(bonus); + double *coords = bptr->coords(bonus); + int body_num_edges = bptr->nedges(bonus); + double* edge_ends = bptr->edges(bonus); + int body_num_faces = bptr->nfaces(bonus); + double* face_pts = bptr->faces(bonus); + double eradius = bptr->enclosing_radius(bonus); + double rradius = bptr->rounded_radius(bonus); + + // get the number of sub-particles (vertices) + // and the index of the first vertex of my body in the list + + dnum[i] = nsub; + dfirst[i] = ndiscrete; + + // grow the vertex list if necessary + // the first 3 columns are for coords, the last 3 for forces + + if (ndiscrete + nsub > dmax) { + dmax += DELTA; + memory->grow(discrete,dmax,7,"pair:discrete"); + } + + double p[3][3]; + MathExtra::quat_to_mat(bonus->quat,p); + + for (int m = 0; m < nsub; m++) { + MathExtra::matvec(p,&coords[3*m],discrete[ndiscrete]); + discrete[ndiscrete][3] = 0; + discrete[ndiscrete][4] = 0; + discrete[ndiscrete][5] = 0; + discrete[ndiscrete][6] = 0; + ndiscrete++; + } + + // get the number of edges (vertices) + // and the index of the first edge of my body in the list + + ednum[i] = body_num_edges; + edfirst[i] = nedge; + + // grow the edge list if necessary + // the first 2 columns are for vertex indices within body, the last 3 for forces + + if (nedge + body_num_edges > edmax) { + edmax += DELTA; + memory->grow(edge,edmax,6,"pair:edge"); + } + + for (int m = 0; m < body_num_edges; m++) { + edge[nedge][0] = static_cast(edge_ends[2*m+0]); + edge[nedge][1] = static_cast(edge_ends[2*m+1]); + edge[nedge][2] = 0; + edge[nedge][3] = 0; + edge[nedge][4] = 0; + edge[nedge][5] = 0; + nedge++; + } + + // get the number of faces and the index of the first face + + facnum[i] = body_num_faces; + facfirst[i] = nface; + + // grow the face list if necessary + // the first 3 columns are for vertex indices within body, the last 3 for forces + + if (nface + body_num_faces > facmax) { + facmax += DELTA; + memory->grow(face,facmax,MAX_FACE_SIZE,"pair:face"); + } + + for (int m = 0; m < body_num_faces; m++) { + for (int k = 0; k < MAX_FACE_SIZE; k++) + face[nface][k] = static_cast(face_pts[MAX_FACE_SIZE*m+k]); + nface++; + } + + enclosing_radius[i] = eradius; + rounded_radius[i] = rradius; +} + +/* ---------------------------------------------------------------------- + Interaction between two spheres with different radii + according to the 2D model from Fraige et al. +---------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, + double delx, double dely, double delz, double rsq, + double k_n, double k_na, double** v, double** f, + int evflag) +{ + double rradi,rradj,contact_dist; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double rij,rsqinv,R,fx,fy,fz,fn[3],ft[3],fpair,shift,energy; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + rradi = rounded_radius[ibody]; + rradj = rounded_radius[jbody]; + contact_dist = rradi + rradj; + + rij = sqrt(rsq); + R = rij - contact_dist; + shift = k_na * cut_inner; + + energy = 0; + + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy = (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy = (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/rij; + fy = dely*fpair/rij; + fz = delz*fpair/rij; + + if (R <= 0) { // in contact + + // relative translational velocity + + vr1 = v[ibody][0] - v[jbody][0]; + vr2 = v[ibody][1] - v[jbody][1]; + vr3 = v[ibody][2] - v[jbody][2]; + + // normal component + + rsqinv = 1.0/rsq; + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact, + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + fx += fn[0] + ft[0]; + fy += fn[1] + ft[1]; + fz += fn[2] + ft[2]; + } + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + + if (newton_pair || jbody < nlocal) { + f[jbody][0] -= fx; + f[jbody][1] -= fy; + f[jbody][2] -= fz; + } + + if (evflag) ev_tally_xyz(ibody,jbody,nlocal,newton_pair, + energy,0.0,fx,fy,fz,delx,dely,delz); +} + +/* ---------------------------------------------------------------------- + Interaction bt the faces of a polyhedron (ibody) and a sphere (jbody) +---------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, + double k_n, double k_na, double** x, double** v, + double** f, double** torque, double** angmom, + int evflag) +{ + int ni,nfi,inside,ifirst,iffirst,npi1,npi2,npi3,ibonus,tmp; + double xi1[3],xi2[3],xi3[3],ui[3],vi[3],vti[3],n[3],h[3],fn[3],ft[3],d; + double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; + double rradi,rradj,contact_dist; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + ifirst = dfirst[ibody]; + iffirst = facfirst[ibody]; + nfi = facnum[ibody]; + + rradi = rounded_radius[ibody]; + rradj = rounded_radius[jbody]; + contact_dist = rradi + rradj; + + for (ni = 0; ni < nfi; ni++) { + + npi1 = static_cast(face[iffirst+ni][0]); + npi2 = static_cast(face[iffirst+ni][1]); + npi3 = static_cast(face[iffirst+ni][2]); + + // compute the space-fixed coordinates for the vertices of the face + + xi1[0] = x[ibody][0] + discrete[ifirst+npi1][0]; + xi1[1] = x[ibody][1] + discrete[ifirst+npi1][1]; + xi1[2] = x[ibody][2] + discrete[ifirst+npi1][2]; + + xi2[0] = x[ibody][0] + discrete[ifirst+npi2][0]; + xi2[1] = x[ibody][1] + discrete[ifirst+npi2][1]; + xi2[2] = x[ibody][2] + discrete[ifirst+npi2][2]; + + xi3[0] = x[ibody][0] + discrete[ifirst+npi3][0]; + xi3[1] = x[ibody][1] + discrete[ifirst+npi3][1]; + xi3[2] = x[ibody][2] + discrete[ifirst+npi3][2]; + + // find the normal unit vector of the face + + MathExtra::sub3(xi2, xi1, ui); + MathExtra::sub3(xi3, xi1, vi); + MathExtra::cross3(ui, vi, n); + MathExtra::norm3(n); + + // skip if the COM of the two bodies are in the same side of the face + + if (opposite_sides(n, xi1, x[ibody], x[jbody]) == 0) continue; + + // find the projection of the sphere on the face + + project_pt_plane(x[jbody], xi1, xi2, xi3, h, d, inside); + + inside_polygon(ibody, ni, x[ibody], h, NULL, inside, tmp); + if (inside == 0) continue; + + delx = h[0] - x[jbody][0]; + dely = h[1] - x[jbody][1]; + delz = h[2] - x[jbody][2]; + rsq = delx*delx + dely*dely + delz*delz; + rij = sqrt(rsq); + R = rij - contact_dist; + shift = k_na * cut_inner; + + energy = 0; + + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy = (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy = (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/rij; + fy = dely*fpair/rij; + fz = delz*fpair/rij; + + if (R <= 0) { // in contact + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(h, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vti); + + // relative translational velocity + + vr1 = vti[0] - v[jbody][0]; + vr2 = vti[1] - v[jbody][1]; + vr3 = vti[2] - v[jbody][2]; + + // normal component + + rsqinv = 1.0/rsq; + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact, + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + fx += fn[0] + ft[0]; + fy += fn[1] + ft[1]; + fz += fn[2] + ft[2]; + } + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], h, fx, fy, fz, torque[ibody]); + + if (newton_pair || jbody < nlocal) { + f[jbody][0] -= fx; + f[jbody][1] -= fy; + f[jbody][2] -= fz; + } + + if (evflag) ev_tally_xyz(ibody,jbody,nlocal,newton_pair, + energy,0.0,fx,fy,fz,delx,dely,delz); + } +} + +/* ---------------------------------------------------------------------- + Interaction bt the edges of a polyhedron (ibody) and a sphere (jbody) +---------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, + double k_n, double k_na, double** x, double** v, + double** f, double** torque, double** angmom, + int evflag) +{ + int ni,nei,ifirst,iefirst,npi1,npi2,ibonus; + double xi1[3],xi2[3],vti[3],h[3],fn[3],ft[3],d,t; + double delx,dely,delz,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; + double rradi,rradj,contact_dist; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + ifirst = dfirst[ibody]; + iefirst = edfirst[ibody]; + nei = ednum[ibody]; + + rradi = rounded_radius[ibody]; + rradj = rounded_radius[jbody]; + contact_dist = rradi + rradj; + + for (ni = 0; ni < nei; ni++) { + + npi1 = static_cast(edge[iefirst+ni][0]); + npi2 = static_cast(edge[iefirst+ni][1]); + + // compute the space-fixed coordinates for the vertices of the face + + xi1[0] = x[ibody][0] + discrete[ifirst+npi1][0]; + xi1[1] = x[ibody][1] + discrete[ifirst+npi1][1]; + xi1[2] = x[ibody][2] + discrete[ifirst+npi1][2]; + + xi2[0] = x[ibody][0] + discrete[ifirst+npi2][0]; + xi2[1] = x[ibody][1] + discrete[ifirst+npi2][1]; + xi2[2] = x[ibody][2] + discrete[ifirst+npi2][2]; + + // find the projection of the jbody's COM on the edge + + project_pt_line(x[jbody], xi1, xi2, h, d, t); + + if (d > contact_dist + cut_inner) continue; + if (t < 0 || t > 1) continue; + + if (fabs(t) < EPSILON) { + if (static_cast(discrete[ifirst+npi1][6]) == 1) + continue; + else { + h[0] = xi1[0]; + h[1] = xi1[1]; + h[2] = xi1[2]; + discrete[ifirst+npi1][6] = 1; + } + } + + if (fabs(t-1) < EPSILON) { + if (static_cast(discrete[ifirst+npi2][6]) == 1) + continue; + else { + h[0] = xi2[0]; + h[1] = xi2[1]; + h[2] = xi2[2]; + discrete[ifirst+npi2][6] = 1; + } + } + + delx = h[0] - x[jbody][0]; + dely = h[1] - x[jbody][1]; + delz = h[2] - x[jbody][2]; + rij = sqrt(delx*delx + dely*dely + delz*delz); + R = rij - contact_dist; + shift = k_na * cut_inner; + + energy = 0; + + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy = (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy = (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/rij; + fy = dely*fpair/rij; + fz = delz*fpair/rij; + + if (R <= 0) { // in contact + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(h, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vti); + + // relative translational velocity + + vr1 = vti[0] - v[jbody][0]; + vr2 = vti[1] - v[jbody][1]; + vr3 = vti[2] - v[jbody][2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact, excluding the tangential deformation term + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + fx += fn[0] + ft[0]; + fy += fn[1] + ft[1]; + fz += fn[2] + ft[2]; + } + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], h, fx, fy, fz, torque[ibody]); + + if (newton_pair || jbody < nlocal) { + f[jbody][0] -= fx; + f[jbody][1] -= fy; + f[jbody][2] -= fz; + } + + if (evflag) ev_tally_xyz(ibody,jbody,nlocal,newton_pair, + energy,0.0,fx,fy,fz,delx,dely,delz); + } + +} + +/* ---------------------------------------------------------------------- + Determine the interaction mode between i's edges against j's faces + + i = atom i (body i) + j = atom j (body j) + x = atoms' coordinates + f = atoms' forces + torque = atoms' torques + tag = atoms' tags + contact_list = list of contacts + num_contacts = number of contacts between i's edges and j's faces + Return: + +---------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, + double k_n, double k_na, double** x, Contact* contact_list, + int &num_contacts, double &evdwl, double* facc) +{ + int ni,nei,nj,nfj,contact,interact; + double rradi,rradj,energy; + + nei = ednum[ibody]; + rradi = rounded_radius[ibody]; + nfj = facnum[jbody]; + rradj = rounded_radius[jbody]; + + energy = 0; + interact = EF_NONE; + + // loop through body i's edges + + for (ni = 0; ni < nei; ni++) { + + // loop through body j's faces + + for (nj = 0; nj < nfj; nj++) { + + // compute the distance between the face nj to the edge ni + #ifdef _POLYHEDRON_DEBUG + printf("Compute interaction between face %d of body %d with edge %d of body %d:\n", + nj, jbody, ni, ibody); + #endif + + interact = interaction_face_to_edge(jbody, nj, x[jbody], rradj, + ibody, ni, x[ibody], rradi, + k_n, k_na, cut_inner, + contact_list, num_contacts, + energy, facc); + } + + } // end for looping through the edges of body i + + evdwl += energy; + + return interact; +} + +/* ---------------------------------------------------------------------- + Determine the interaction mode between i's edges against j's edges + + i = atom i (body i) + j = atom j (body j) + x = atoms' coordinates + f = atoms' forces + torque = atoms' torques + tag = atoms' tags + contact_list = list of contacts + num_contacts = number of contacts between i's edges and j's edges + Return: + +---------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, + double k_n, double k_na, double** x, Contact* contact_list, + int &num_contacts, double &evdwl, double* facc) +{ + int ni,nei,nj,nej,contact,interact; + double rradi,rradj,energy; + + nei = ednum[ibody]; + rradi = rounded_radius[ibody]; + nej = ednum[jbody]; + rradj = rounded_radius[jbody]; + + energy = 0; + interact = EE_NONE; + + // loop through body i's edges + + for (ni = 0; ni < nei; ni++) { + + for (nj = 0; nj < nej; nj++) { + + // compute the distance between the edge nj to the edge ni + #ifdef _POLYHEDRON_DEBUG + printf("Compute interaction between edge %d of body %d with edge %d of body %d:\n", + nj, jbody, ni, ibody); + #endif + + interact = interaction_edge_to_edge(ibody, ni, x[ibody], rradi, + jbody, nj, x[jbody], rradj, + k_n, k_na, cut_inner, + contact_list, num_contacts, + energy, facc); + } + + } // end for looping through the edges of body i + + evdwl += energy; + + return interact; +} + +/* ------------------------------------------------------------------------- + Compute the interaction between a face of body i and an edge from + another body + Input: + ibody = body i (i.e. atom i) + face_index = face index of body i + xmi = atom i's coordinates (body i's center of mass) + rounded_radius_i = rounded radius of the body i + jbody = body i (i.e. atom j) + edge_index = coordinate of the tested edge from another body + xmj = atom j's coordinates (body j's center of mass) + rounded_radius_j = rounded radius of the body j + cut_inner = cutoff for vertex-vertex and vertex-edge interaction + Output: + d = Distance from a point x0 to an edge + hi = coordinates of the projection of x0 on the edge + + contact = 0 no contact between the queried edge and the face + 1 contact detected + return + INVALID if the face index is invalid + NONE if there is no interaction +------------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, + int face_index, + double *xmi, + double rounded_radius_i, + int jbody, + int edge_index, + double *xmj, + double rounded_radius_j, + double k_n, + double k_na, + double cut_inner, + Contact* contact_list, + int &num_contacts, + double &energy, + double* facc) +{ + if (face_index >= facnum[ibody]) return EF_INVALID; + + int ifirst,iffirst,jfirst,npi1,npi2,npi3; + int jefirst,npj1,npj2; + double xi1[3],xi2[3],xi3[3],xpj1[3],xpj2[3],ui[3],vi[3],n[3]; + + double** x = atom->x; + double** v = atom->v; + double** f = atom->f; + double** torque = atom->torque; + double** angmom = atom->angmom; + + ifirst = dfirst[ibody]; + iffirst = facfirst[ibody]; + npi1 = static_cast(face[iffirst+face_index][0]); + npi2 = static_cast(face[iffirst+face_index][1]); + npi3 = static_cast(face[iffirst+face_index][2]); + + // compute the space-fixed coordinates for the vertices of the face + + xi1[0] = xmi[0] + discrete[ifirst+npi1][0]; + xi1[1] = xmi[1] + discrete[ifirst+npi1][1]; + xi1[2] = xmi[2] + discrete[ifirst+npi1][2]; + + xi2[0] = xmi[0] + discrete[ifirst+npi2][0]; + xi2[1] = xmi[1] + discrete[ifirst+npi2][1]; + xi2[2] = xmi[2] + discrete[ifirst+npi2][2]; + + xi3[0] = xmi[0] + discrete[ifirst+npi3][0]; + xi3[1] = xmi[1] + discrete[ifirst+npi3][1]; + xi3[2] = xmi[2] + discrete[ifirst+npi3][2]; + + // find the normal unit vector of the face, ensure it point outward of the body + + MathExtra::sub3(xi2, xi1, ui); + MathExtra::sub3(xi3, xi1, vi); + MathExtra::cross3(ui, vi, n); + MathExtra::norm3(n); + + double xc[3], dot, ans[3]; + xc[0] = (xi1[0] + xi2[0] + xi3[0])/3.0; + xc[1] = (xi1[1] + xi2[1] + xi3[1])/3.0; + xc[2] = (xi1[2] + xi2[2] + xi3[2])/3.0; + MathExtra::sub3(xc, xmi, ans); + dot = MathExtra::dot3(ans, n); + if (dot < 0) MathExtra::negate3(n); + + // two ends of the edge from body j + + jfirst = dfirst[jbody]; + jefirst = edfirst[jbody]; + npj1 = static_cast(edge[jefirst+edge_index][0]); + npj2 = static_cast(edge[jefirst+edge_index][1]); + + xpj1[0] = xmj[0] + discrete[jfirst+npj1][0]; + xpj1[1] = xmj[1] + discrete[jfirst+npj1][1]; + xpj1[2] = xmj[2] + discrete[jfirst+npj1][2]; + + xpj2[0] = xmj[0] + discrete[jfirst+npj2][0]; + xpj2[1] = xmj[1] + discrete[jfirst+npj2][1]; + xpj2[2] = xmj[2] + discrete[jfirst+npj2][2]; + + // no interaction if two ends of the edge are on the same side with the COM wrt the face + + if (opposite_sides(n, xi1, xmi, xpj1) == 0 && + opposite_sides(n, xi1, xmi, xpj2) == 0) + return EF_NONE; + + // determine the intersection of the edge to the face + + double hi1[3], hi2[3], d1, d2, contact_dist, shift; + int inside1 = 0; + int inside2 = 0; + + // enum {EF_PARALLEL=0,EF_SAME_SIDE_OF_FACE,EF_INTERSECT_INSIDE,EF_INTERSECT_OUTSIDE}; + int interact = edge_face_intersect(xi1, xi2, xi3, xpj1, xpj2, + hi1, hi2, d1, d2, inside1, inside2); + + inside_polygon(ibody, face_index, xmi, hi1, hi2, inside1, inside2); + + contact_dist = rounded_radius_i + rounded_radius_j; + shift = k_na * cut_inner; + + // both endpoints are on the same side of, or parallel to, the face + // and both are out of the interaction zone + + if (interact == EF_SAME_SIDE_OF_FACE || interact == EF_PARALLEL) { + + if (d1 > contact_dist + cut_inner && d2 > contact_dist + cut_inner) + return EF_NONE; + + int num_outside = 0; + int jflag = 1; + + #ifdef _POLYHEDRON_DEBUG + if (interact == EF_SAME_SIDE_OF_FACE) + printf(" - same side of face\n"); + else if (interact == EF_PARALLEL) + printf(" - parallel\n"); + printf(" face: xi1 (%f %f %f) xi2 (%f %f %f) xi3 (%f %f %f)\n", + xi1[0], xi1[1], xi1[2], xi2[0], xi2[1], xi2[2], xi3[0], xi3[1], xi3[2]); + printf(" edge: xpj1 (%f %f %f) xpj2 (%f %f %f)\n", + xpj1[0], xpj1[1], xpj1[2], xpj2[0], xpj2[1], xpj2[2]); + #endif + + // xpj1 is in the interaction zone + // and its projection on the face is inside the triangle + // compute vertex-face interaction and accumulate force/torque to both bodies + + if (d1 <= contact_dist + cut_inner) { + if (inside1) { + if (static_cast(discrete[jfirst+npj1][6]) == 0) { + pair_force_and_torque(jbody, ibody, xpj1, hi1, d1, contact_dist, + k_n, k_na, shift, x, v, f, torque, angmom, + jflag, energy, facc); + #ifdef _POLYHEDRON_DEBUG + printf(" - compute pair force between vertex %d from edge %d of body %d " + "with face %d of body %d: d1 = %f\n", + npj1, edge_index, jbody, face_index, ibody, d1); + #endif + + if (d1 <= contact_dist) { + // store the contact info + contact_list[num_contacts].ibody = ibody; + contact_list[num_contacts].jbody = jbody; + contact_list[num_contacts].xi[0] = hi1[0]; + contact_list[num_contacts].xi[1] = hi1[1]; + contact_list[num_contacts].xi[2] = hi1[2]; + contact_list[num_contacts].xj[0] = xpj1[0]; + contact_list[num_contacts].xj[1] = xpj1[1]; + contact_list[num_contacts].xj[2] = xpj1[2]; + contact_list[num_contacts].type = 0; + contact_list[num_contacts].separation = d1 - contact_dist; + num_contacts++; + } + + discrete[jfirst+npj1][6] = 1; + } + } else { + num_outside++; + } + } + + // xpj2 is in the interaction zone + // and its projection on the face is inside the triangle + // compute vertex-face interaction and accumulate force/torque to both bodies + + if (d2 <= contact_dist + cut_inner) { + if (inside2) { + if (static_cast(discrete[jfirst+npj2][6]) == 0) { + pair_force_and_torque(jbody, ibody, xpj2, hi2, d2, contact_dist, + k_n, k_na, shift, x, v, f, torque, angmom, + jflag, energy, facc); + #ifdef _POLYHEDRON_DEBUG + printf(" - compute pair force between vertex %d from edge %d of body %d " + "with face %d of body %d: d2 = %f\n", + npj2, edge_index, jbody, face_index, ibody, d2); + #endif + + if (d2 <= contact_dist) { + // store the contact info + contact_list[num_contacts].ibody = ibody; + contact_list[num_contacts].jbody = jbody; + contact_list[num_contacts].xi[0] = hi2[0]; + contact_list[num_contacts].xi[1] = hi2[1]; + contact_list[num_contacts].xi[2] = hi2[2]; + contact_list[num_contacts].xj[0] = xpj2[0]; + contact_list[num_contacts].xj[1] = xpj2[1]; + contact_list[num_contacts].xj[2] = xpj2[2]; + contact_list[num_contacts].type = 0; + contact_list[num_contacts].separation = d2 - contact_dist; + num_contacts++; + } + discrete[jfirst+npj2][6] = 1; + } + } else { + num_outside++; + } + } + + // both ends have projection outside of the face + // compute interaction between the edge with the three edges of the face + + if (num_outside == 2) { + + #ifdef _POLYHEDRON_DEBUG + printf(" - outside = 2\n"); + printf(" - compute pair force between edge %d of body %d " + "with 3 edges of face %d of body %d\n", + edge_index, jbody, face_index, ibody); + #endif + + interact = EF_INTERSECT_OUTSIDE; + + } + + } else if (interact == EF_INTERSECT_OUTSIDE) { + + // compute interaction between the edge with the three edges of the face + + #ifdef _POLYHEDRON_DEBUG + printf(" - intersect outside triangle\n"); + printf(" - compute pair force between edge %d of body %d " + "with face %d of body %d\n", edge_index, jbody, face_index, ibody); + printf(" face: xi1 (%f %f %f) xi2 (%f %f %f) xi3 (%f %f %f)\n", + xi1[0], xi1[1], xi1[2], xi2[0], xi2[1], xi2[2], xi3[0], xi3[1], xi3[2]); + printf(" edge: xpj1 (%f %f %f) xpj2 (%f %f %f)\n", + xpj1[0], xpj1[1], xpj1[2], xpj2[0], xpj2[1], xpj2[2]); + + #endif + } else if (interact == EF_INTERSECT_INSIDE) { + + } + + return interact; +} + +/* ------------------------------------------------------------------------- + Compute the distance between an edge of body i and an edge from + another body + Input: + ibody = body i (i.e. atom i) + face_index = face index of body i + xmi = atom i's coordinates (body i's center of mass) + rounded_radius_i = rounded radius of the body i + jbody = body i (i.e. atom j) + edge_index = coordinate of the tested edge from another body + xmj = atom j's coordinates (body j's center of mass) + rounded_radius_j = rounded radius of the body j + cut_inner = cutoff for vertex-vertex and vertex-edge interaction + Output: + d = Distance from a point x0 to an edge + hi = coordinates of the projection of x0 on the edge + + contact = 0 no contact between the queried edge and the face + 1 contact detected + return + INVALID if the face index is invalid + NONE if there is no interaction +------------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, + int edge_index_i, + double *xmi, + double rounded_radius_i, + int jbody, + int edge_index_j, + double *xmj, + double rounded_radius_j, + double k_n, + double k_na, + double cut_inner, + Contact* contact_list, + int &num_contacts, + double &energy, + double* facc) +{ + int ifirst,iefirst,jfirst,jefirst,npi1,npi2,npj1,npj2,interact; + double xi1[3],xi2[3],xpj1[3],xpj2[3]; + double r,t1,t2,h1[3],h2[3]; + double contact_dist, shift; + + double** x = atom->x; + double** v = atom->v; + double** f = atom->f; + double** torque = atom->torque; + double** angmom = atom->angmom; + + ifirst = dfirst[ibody]; + iefirst = edfirst[ibody]; + npi1 = static_cast(edge[iefirst+edge_index_i][0]); + npi2 = static_cast(edge[iefirst+edge_index_i][1]); + + // compute the space-fixed coordinates for the edge ends + + xi1[0] = xmi[0] + discrete[ifirst+npi1][0]; + xi1[1] = xmi[1] + discrete[ifirst+npi1][1]; + xi1[2] = xmi[2] + discrete[ifirst+npi1][2]; + + xi2[0] = xmi[0] + discrete[ifirst+npi2][0]; + xi2[1] = xmi[1] + discrete[ifirst+npi2][1]; + xi2[2] = xmi[2] + discrete[ifirst+npi2][2]; + + // two ends of the edge from body j + + jfirst = dfirst[jbody]; + jefirst = edfirst[jbody]; + npj1 = static_cast(edge[jefirst+edge_index_j][0]); + npj2 = static_cast(edge[jefirst+edge_index_j][1]); + + xpj1[0] = xmj[0] + discrete[jfirst+npj1][0]; + xpj1[1] = xmj[1] + discrete[jfirst+npj1][1]; + xpj1[2] = xmj[2] + discrete[jfirst+npj1][2]; + + xpj2[0] = xmj[0] + discrete[jfirst+npj2][0]; + xpj2[1] = xmj[1] + discrete[jfirst+npj2][1]; + xpj2[2] = xmj[2] + discrete[jfirst+npj2][2]; + + contact_dist = rounded_radius_i + rounded_radius_j; + shift = k_na * cut_inner; + + int jflag = 1; + distance_bt_edges(xpj1, xpj2, xi1, xi2, h1, h2, t1, t2, r); + + #ifdef _POLYHEDRON_DEBUG + double ui[3],uj[3]; + MathExtra::sub3(xi1,xi2,ui); + MathExtra::norm3(ui); + MathExtra::sub3(xpj1,xpj2,uj); + MathExtra::norm3(uj); + double dot = MathExtra::dot3(ui, uj); + printf(" edge npi1 = %d (%f %f %f); npi2 = %d (%f %f %f) vs." + " edge npj1 = %d (%f %f %f); npj2 = %d (%f %f %f): " + "t1 = %f; t2 = %f; r = %f; dot = %f\n", + npi1, xi1[0], xi1[1], xi1[2], npi2, xi2[0], xi2[1], xi2[2], + npj1, xpj1[0], xpj1[1], xpj1[2], npj2, xpj2[0], xpj2[1], xpj2[2], + t1, t2, r, dot); + #endif + + interact = EE_NONE; + + // singularity case, ignore interactions + + if (r < EPSILON) return interact; + + // include the vertices for interactions + + if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1 && + r < contact_dist + cut_inner) { + pair_force_and_torque(jbody, ibody, h1, h2, r, contact_dist, + k_n, k_na, shift, x, v, f, torque, angmom, + jflag, energy, facc); + + interact = EE_INTERACT; + if (r <= contact_dist) { + // store the contact info + contact_list[num_contacts].ibody = ibody; + contact_list[num_contacts].jbody = jbody; + contact_list[num_contacts].xi[0] = h2[0]; + contact_list[num_contacts].xi[1] = h2[1]; + contact_list[num_contacts].xi[2] = h2[2]; + contact_list[num_contacts].xj[0] = h1[0]; + contact_list[num_contacts].xj[1] = h1[1]; + contact_list[num_contacts].xj[2] = h1[2]; + contact_list[num_contacts].type = 1; + contact_list[num_contacts].separation = r - contact_dist; + num_contacts++; + } + } else { + + } + + return interact; +} + +/* ---------------------------------------------------------------------- + Compute forces and torques between two bodies caused by the interaction + between a pair of points on either bodies (similar to sphere-sphere) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, + double* pi, double* pj, double r, double contact_dist, + double k_n, double k_na, double shift, double** x, + double** v, double** f, double** torque, double** angmom, + int jflag, double& energy, double* facc) +{ + double delx,dely,delz,R,fx,fy,fz,fpair; + + delx = pi[0] - pj[0]; + dely = pi[1] - pj[1]; + delz = pi[2] - pj[2]; + R = r - contact_dist; + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy += (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy += (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/r; + fy = dely*fpair/r; + fz = delz*fpair/r; + + #ifdef _POLYHEDRON_DEBUG + printf(" - R = %f; r = %f; k_na = %f; shift = %f; fpair = %f;" + " energy = %f; jflag = %d\n", R, r, k_na, shift, fpair, + energy, jflag); + #endif + + if (R <= 0) { + + // contact: accumulate normal and tangential contact force components + + contact_forces(ibody, jbody, pi, pj, delx, dely, delz, fx, fy, fz, + x, v, angmom, f, torque, facc); + } else { + + // accumulate force and torque to both bodies directly + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], pi, fx, fy, fz, torque[ibody]); + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + if (jflag) { + f[jbody][0] -= fx; + f[jbody][1] -= fy; + f[jbody][2] -= fz; + sum_torque(x[jbody], pj, -fx, -fy, -fz, torque[jbody]); + } + } +} + +/* ---------------------------------------------------------------------- + Compute contact forces between two bodies + modify the force stored at the vertex and edge in contact by j_a + sum forces and torque to the corresponding bodies + fx,fy,fz = unscaled cohesive forces + fn = normal friction component + ft = tangential friction component (-c_t * v_t) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::contact_forces(int ibody, int jbody, + double *xi, double *xj, double delx, double dely, double delz, + double fx, double fy, double fz, double** x, double** v, double** angmom, + double** f, double** torque, double* facc) +{ + int ibonus,jbonus; + double rsq,rsqinv,vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double fn[3],ft[3],vi[3],vj[3]; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(xi, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vi); + + // compute the velocity of the point on the edge in the space-fixed frame + + jbonus = atom->body[jbody]; + bonus = &avec->bonus[jbonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(xj, x[jbody], v[jbody], angmom[jbody], + inertia, quat, vj); + + // vector pointing from the contact point on ibody to that on jbody + + rsq = delx*delx + dely*dely + delz*delz; + rsqinv = 1.0/rsq; + + // relative translational velocity + + vr1 = vi[0] - vj[0]; + vr2 = vi[1] - vj[1]; + vr3 = vi[2] - vj[2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + // cohesive forces will be scaled by j_a after contact area is computed + // mu * fne = tangential friction deformation during gross sliding + // see Eq. 4, Fraige et al. + + fx = fn[0] + ft[0] + mu * fx; + fy = fn[1] + ft[1] + mu * fy; + fz = fn[2] + ft[2] + mu * fz; + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], xi, fx, fy, fz, torque[ibody]); + + f[jbody][0] -= fx; + f[jbody][1] -= fy; + f[jbody][2] -= fz; + sum_torque(x[jbody], xj, -fx, -fy, -fz, torque[jbody]); + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + #ifdef _POLYHEDRON_DEBUG + printf("contact ibody = %d: f = %f %f %f; torque = %f %f %f\n", ibody, + f[ibody][0], f[ibody][1], f[ibody][2], + torque[ibody][0], torque[ibody][1], torque[ibody][2]); + printf("contact jbody = %d: f = %f %f %f; torque = %f %f %f\n", jbody, + f[jbody][0], f[jbody][1], f[jbody][2], + torque[jbody][0], torque[jbody][1], torque[jbody][2]); + #endif +} + +/* ---------------------------------------------------------------------- + Rescale the forces and torques for all the contacts +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, + double** f, double** torque, Contact* contact_list, int &num_contacts, + double contact_area, double k_n, double k_na, double* facc) +{ + int m,ibody,jbody; + double delx,dely,delz,fx,fy,fz,R,fpair,r,shift; + double j_a = contact_area / (num_contacts * A_ua); + if (j_a < 1.0) j_a = 1.0; + + shift = k_na * cut_inner; + + for (m = 0; m < num_contacts; m++) { + ibody = contact_list[m].ibody; + jbody = contact_list[m].jbody; + + delx = contact_list[m].xi[0] - contact_list[m].xj[0]; + dely = contact_list[m].xi[1] - contact_list[m].xj[1]; + delz = contact_list[m].xi[2] - contact_list[m].xj[2]; + r = sqrt(delx*delx + dely*dely + delz*delz); + R = contact_list[m].separation; + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + } else fpair = 0.0; + + fpair *= j_a; + fx = delx*fpair/r; + fy = dely*fpair/r; + fz = delz*fpair/r; + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], contact_list[m].xi, fx, fy, fz, torque[ibody]); + + f[jbody][0] -= fx; + f[jbody][1] -= fy; + f[jbody][2] -= fz; + sum_torque(x[jbody], contact_list[m].xj, -fx, -fy, -fz, torque[jbody]); + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + } +} + +/* ---------------------------------------------------------------------- + Accumulate torque to body from the force f=(fx,fy,fz) acting at point x +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque) +{ + double rx = x[0] - xm[0]; + double ry = x[1] - xm[1]; + double rz = x[2] - xm[2]; + double tx = ry * fz - rz * fy; + double ty = rz * fx - rx * fz; + double tz = rx * fy - ry * fx; + torque[0] += tx; + torque[1] += ty; + torque[2] += tz; +} + +/* ---------------------------------------------------------------------- + Test if two points a and b are in opposite sides of a plane defined by + a normal vector n and a point x0 +------------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::opposite_sides(double* n, double* x0, + double* a, double* b) +{ + double m_a = n[0]*(a[0] - x0[0])+n[1]*(a[1] - x0[1])+n[2]*(a[2] - x0[2]); + double m_b = n[0]*(b[0] - x0[0])+n[1]*(b[1] - x0[1])+n[2]*(b[2] - x0[2]); + // equal to zero when either a or b is on the plane + if (m_a * m_b <= 0) + return 1; + else + return 0; +} + +/* ---------------------------------------------------------------------- + Test if a line segment defined by two points a and b intersects with + a triangle defined by three points x1, x2 and x3 +------------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::edge_face_intersect(double* x1, double* x2, + double* x3, double* a, double* b, double* h_a, double* h_b, + double& d_a, double& d_b, int& inside_a, int& inside_b) +{ + double s[3], u[3], v[3], n[3]; + + // line director + + MathExtra::sub3(b, a, s); + + // plane normal vector + + MathExtra::sub3(x2, x1, u); + MathExtra::sub3(x3, x1, v); + MathExtra::cross3(u, v, n); + MathExtra::norm3(n); + + // find the projection of a and b to the plane and the corresponding distances + + project_pt_plane(a, x1, x2, x3, h_a, d_a, inside_a); + + project_pt_plane(b, x1, x2, x3, h_b, d_b, inside_b); + + // check if the line segment is parallel to the plane + + double dot = MathExtra::dot3(s, n); + if (fabs(dot) < EPSILON) return EF_PARALLEL; + + // solve for the intersection between the line and the plane + + double m[3][3], invm[3][3], p[3], ans[3]; + m[0][0] = -s[0]; + m[0][1] = u[0]; + m[0][2] = v[0]; + + m[1][0] = -s[1]; + m[1][1] = u[1]; + m[1][2] = v[1]; + + m[2][0] = -s[2]; + m[2][1] = u[2]; + m[2][2] = v[2]; + + MathExtra::sub3(a, x1, p); + MathExtra::invert3(m, invm); + MathExtra::matvec(invm, p, ans); + + // p is reused for the intersection point + // s = b - a + + double t = ans[0]; + p[0] = a[0] + s[0] * t; + p[1] = a[1] + s[1] * t; + p[2] = a[2] + s[2] * t; + + // check if p is inside the triangle, excluding the edges and vertices + // the edge-edge and edge-vertices are handled separately + + int inside = 0; + if (ans[1] > 0 && ans[2] > 0 && ans[1] + ans[2] < 1) + inside = 1; + + int interact; + if (t < 0 || t > 1) { + interact = EF_SAME_SIDE_OF_FACE; + } else { + if (inside == 1) + interact = EF_INTERSECT_INSIDE; + else + interact = EF_INTERSECT_OUTSIDE; + } + + return interact; +} + +/* ---------------------------------------------------------------------- + Find the projection of q on the plane defined by point p and the normal + unit vector n: q_proj = q - dot(q - p, n) * n + and the distance d from q to the plane +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::project_pt_plane(const double* q, + const double* p, const double* n, + double* q_proj, double &d) +{ + double dot, ans[3], n_p[3]; + n_p[0] = n[0]; n_p[1] = n[1]; n_p[2] = n[2]; + MathExtra::sub3(q, p, ans); + dot = MathExtra::dot3(ans, n_p); + MathExtra::scale3(dot, n_p); + MathExtra::sub3(q, n_p, q_proj); + MathExtra::sub3(q, q_proj, ans); + d = MathExtra::len3(ans); +} + +/* ---------------------------------------------------------------------- + Check if points q1 and q2 are inside a convex polygon, i.e. a face of + a polyhedron + ibody = atom i's index + face_index = face index of the body + xmi = atom i's coordinates + q1 = tested point on the face (e.g. the projection of a point) + q2 = another point (can be NULL) for face-edge intersection + Output: + inside1 = 1 if q1 is inside the polygon, 0 otherwise + inside2 = 1 if q2 is inside the polygon, 0 otherwise +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::inside_polygon(int ibody, int face_index, + double* xmi, const double* q1, const double* q2, + int& inside1, int& inside2) + +{ + int i,n,ifirst,iffirst,npi1,npi2; + double xi1[3],xi2[3],u[3],v[3],costheta,anglesum1,anglesum2,magu,magv; + + ifirst = dfirst[ibody]; + iffirst = facfirst[ibody]; + anglesum1 = anglesum2 = 0;; + for (i = 0; i < MAX_FACE_SIZE; i++) { + npi1 = static_cast(face[iffirst+face_index][i]); + if (npi1 < 0) break; + n = i + 1; + if (n <= MAX_FACE_SIZE - 1) { + npi2 = static_cast(face[iffirst+face_index][n]); + if (npi2 < 0) npi2 = static_cast(face[iffirst+face_index][0]); + } else { + npi2 = static_cast(face[iffirst+face_index][0]); + } + + xi1[0] = xmi[0] + discrete[ifirst+npi1][0]; + xi1[1] = xmi[1] + discrete[ifirst+npi1][1]; + xi1[2] = xmi[2] + discrete[ifirst+npi1][2]; + + xi2[0] = xmi[0] + discrete[ifirst+npi2][0]; + xi2[1] = xmi[1] + discrete[ifirst+npi2][1]; + xi2[2] = xmi[2] + discrete[ifirst+npi2][2]; + + MathExtra::sub3(xi1,q1,u); + MathExtra::sub3(xi2,q1,v); + magu = MathExtra::len3(u); + magv = MathExtra::len3(v); + + // the point is at either vertices + + if (magu * magv < EPSILON) inside1 = 1; + else { + costheta = MathExtra::dot3(u,v)/(magu*magv); + anglesum1 += acos(costheta); + } + + if (q2 != NULL) { + MathExtra::sub3(xi1,q2,u); + MathExtra::sub3(xi2,q2,v); + magu = MathExtra::len3(u); + magv = MathExtra::len3(v); + if (magu * magv < EPSILON) inside2 = 1; + else { + costheta = MathExtra::dot3(u,v)/(magu*magv); + anglesum2 += acos(costheta); + } + } + } + + if (fabs(anglesum1 - MY_2PI) < EPSILON) inside1 = 1; + else inside1 = 0; + + if (q2 != NULL) { + if (fabs(anglesum2 - MY_2PI) < EPSILON) inside2 = 1; + else inside2 = 0; + } +} + +/* ---------------------------------------------------------------------- + Find the projection of q on the plane defined by 3 points x1, x2 and x3 + returns the distance d from q to the plane and whether the projected + point is inside the triangle defined by (x1, x2, x3) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::project_pt_plane(const double* q, + const double* x1, const double* x2, const double* x3, double* q_proj, + double &d, int& inside) +{ + double u[3],v[3],n[3]; + + // plane normal vector + + MathExtra::sub3(x2, x1, u); + MathExtra::sub3(x3, x1, v); + MathExtra::cross3(u, v, n); + MathExtra::norm3(n); + + // solve for the intersection between the line and the plane + + double m[3][3], invm[3][3], p[3], ans[3]; + m[0][0] = -n[0]; + m[0][1] = u[0]; + m[0][2] = v[0]; + + m[1][0] = -n[1]; + m[1][1] = u[1]; + m[1][2] = v[1]; + + m[2][0] = -n[2]; + m[2][1] = u[2]; + m[2][2] = v[2]; + + MathExtra::sub3(q, x1, p); + MathExtra::invert3(m, invm); + MathExtra::matvec(invm, p, ans); + + double t = ans[0]; + q_proj[0] = q[0] + n[0] * t; + q_proj[1] = q[1] + n[1] * t; + q_proj[2] = q[2] + n[2] * t; + + // check if the projection point is inside the triangle + // exclude the edges and vertices + // edge-sphere and sphere-sphere interactions are handled separately + + inside = 0; + if (ans[1] > 0 && ans[2] > 0 && ans[1] + ans[2] < 1) { + inside = 1; + } + + // distance from q to q_proj + + MathExtra::sub3(q, q_proj, ans); + d = MathExtra::len3(ans); +} + +/* ---------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::project_pt_line(const double* q, + const double* xi1, const double* xi2, double* h, double& d, double& t) +{ + double u[3],v[3],r[3],s; + + MathExtra::sub3(xi2, xi1, u); + MathExtra::norm3(u); + MathExtra::sub3(q, xi1, v); + + s = MathExtra::dot3(u, v); + h[0] = xi1[0] + s * u[0]; + h[1] = xi1[1] + s * u[1]; + h[2] = xi1[2] + s * u[2]; + + MathExtra::sub3(q, h, r); + d = MathExtra::len3(r); + + if (fabs(xi2[0] - xi1[0]) > 0) + t = (h[0] - xi1[0])/(xi2[0] - xi1[0]); + else if (fabs(xi2[1] - xi1[1]) > 0) + t = (h[1] - xi1[1])/(xi2[1] - xi1[1]); + else if (fabs(xi2[2] - xi1[2]) > 0) + t = (h[2] - xi1[2])/(xi2[2] - xi1[2]); +} + +/* ---------------------------------------------------------------------- + compute the shortest distance between two edges (line segments) + x1, x2: two endpoints of the first edge + x3, x4: two endpoints of the second edge + h1: the end point of the shortest segment perpendicular to both edges + on the line (x1;x2) + h2: the end point of the shortest segment perpendicular to both edges + on the line (x3;x4) + t1: fraction of h1 in the segment (x1,x2) + t2: fraction of h2 in the segment (x3,x4) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::distance_bt_edges(const double* x1, + const double* x2, const double* x3, const double* x4, + double* h1, double* h2, double& t1, double& t2, double& r) +{ + double u[3],v[3],n[3],dot; + + // set the default returned values + + t1 = -2; + t2 = 2; + r = 0; + + // find the edge unit directors and their dot product + + MathExtra::sub3(x2, x1, u); + MathExtra::norm3(u); + MathExtra::sub3(x4, x3, v); + MathExtra::norm3(v); + dot = MathExtra::dot3(u,v); + dot = fabs(dot); + + // check if two edges are parallel + // find the two ends of the overlapping segment, if any + + if (fabs(dot - 1.0) < EPSILON) { + + double s1,s2,x13[3],x23[3],x13h[3]; + double t13,t23,t31,t41,x31[3],x41[3]; + + MathExtra::sub3(x1,x3,x13); // x13 = x1 - x3 + MathExtra::sub3(x2,x3,x23); // x23 = x2 - x3 + + s1 = MathExtra::dot3(x13,v); + x13h[0] = x13[0] - s1*v[0]; + x13h[1] = x13[1] - s1*v[1]; + x13h[2] = x13[2] - s1*v[2]; + r = MathExtra::len3(x13h); + + // x13 is the projection of x1 on x3-x4 + + x13[0] = x3[0] + s1*v[0]; + x13[1] = x3[1] + s1*v[1]; + x13[2] = x3[2] + s1*v[2]; + + // x23 is the projection of x2 on x3-x4 + + s2 = MathExtra::dot3(x23,v); + x23[0] = x3[0] + s2*v[0]; + x23[1] = x3[1] + s2*v[1]; + x23[2] = x3[2] + s2*v[2]; + + // find the fraction of the projection points on the edges + + if (fabs(x4[0] - x3[0]) > 0) + t13 = (x13[0] - x3[0])/(x4[0] - x3[0]); + else if (fabs(x4[1] - x3[1]) > 0) + t13 = (x13[1] - x3[1])/(x4[1] - x3[1]); + else if (fabs(x4[2] - x3[2]) > 0) + t13 = (x13[2] - x3[2])/(x4[2] - x3[2]); + + if (fabs(x4[0] - x3[0]) > 0) + t23 = (x23[0] - x3[0])/(x4[0] - x3[0]); + else if (fabs(x4[1] - x3[1]) > 0) + t23 = (x23[1] - x3[1])/(x4[1] - x3[1]); + else if (fabs(x4[2] - x3[2]) > 0) + t23 = (x23[2] - x3[2])/(x4[2] - x3[2]); + + if (fabs(x23[0] - x13[0]) > 0) + t31 = (x3[0] - x13[0])/(x23[0] - x13[0]); + else if (fabs(x23[1] - x13[1]) > 0) + t31 = (x3[1] - x13[1])/(x23[1] - x13[1]); + else if (fabs(x23[2] - x13[2]) > 0) + t31 = (x3[2] - x13[2])/(x23[2] - x13[2]); + + // x31 is the projection of x3 on x1-x2 + + x31[0] = x1[0] + t31*(x2[0] - x1[0]); + x31[1] = x1[1] + t31*(x2[1] - x1[1]); + x31[2] = x1[2] + t31*(x2[2] - x1[2]); + + if (fabs(x23[0] - x13[0]) > 0) + t41 = (x4[0] - x13[0])/(x23[0] - x13[0]); + else if (fabs(x23[1] - x13[1]) > 0) + t41 = (x4[1] - x13[1])/(x23[1] - x13[1]); + else if (fabs(x23[2] - x13[2]) > 0) + t41 = (x4[2] - x13[2])/(x23[2] - x13[2]); + + // x41 is the projection of x4 on x1-x2 + + x41[0] = x1[0] + t41*(x2[0] - x1[0]); + x41[1] = x1[1] + t41*(x2[1] - x1[1]); + x41[2] = x1[2] + t41*(x2[2] - x1[2]); + + // determine two ends from the overlapping segments + + int n1 = 0; + int n2 = 0; + if (t13 >= 0 && t13 <= 1) { + h1[0] = x1[0]; + h1[1] = x1[1]; + h1[2] = x1[2]; + h2[0] = x13[0]; + h2[1] = x13[1]; + h2[2] = x13[2]; + t1 = 0; + t2 = t13; + n1++; + n2++; + } + if (t23 >= 0 && t23 <= 1) { + if (n1 == 0) { + h1[0] = x2[0]; + h1[1] = x2[1]; + h1[2] = x2[2]; + h2[0] = x23[0]; + h2[1] = x23[1]; + h2[2] = x23[2]; + t1 = 1; + t2 = t23; + n1++; + n2++; + } else { + h1[0] = (x1[0]+x2[0])/2; + h1[1] = (x1[1]+x2[1])/2; + h1[2] = (x1[2]+x2[2])/2; + h2[0] = (x13[0]+x23[0])/2; + h2[1] = (x13[1]+x23[1])/2; + h2[2] = (x13[2]+x23[2])/2; + t1 = 0.5; + t2 = (t13+t23)/2; + n1++; + n2++; + } + } + + if (n1 == 0 && n2 == 0) { + if (t31 >= 0 && t31 <= 1) { + h1[0] = x31[0]; + h1[1] = x31[1]; + h1[2] = x31[2]; + h2[0] = x3[0]; + h2[1] = x3[1]; + h2[2] = x3[2]; + t1 = t31; + t2 = 0; + n1++; + n2++; + } + if (t41 >= 0 && t41 <= 1) { + if (n1 == 0) { + h1[0] = x41[0]; + h1[1] = x41[1]; + h1[2] = x41[2]; + h2[0] = x4[0]; + h2[1] = x4[1]; + h2[2] = x4[2]; + t1 = t41; + t2 = 1; + n1++; + n2++; + } else { + h1[0] = (x31[0]+x41[0])/2; + h1[1] = (x31[1]+x41[1])/2; + h1[2] = (x31[2]+x41[2])/2; + h2[0] = (x3[0]+x4[0])/2; + h2[1] = (x3[1]+x4[1])/2; + h2[2] = (x3[2]+x4[2])/2; + t1 = (t31+t41)/2; + t2 = 0.5; + n1++; + n2++; + } + } + } + + // if n1 == 0 and n2 == 0 at this point, + // which means no overlapping segments bt two parallel edges, + // return the default values of t1 and t2 + + return; + + } + + // find the vector n perpendicular to both edges + + MathExtra::cross3(u, v, n); + MathExtra::norm3(n); + + // find the intersection of the line (x3,x4) and the plane (x1,x2,n) + // s = director of the line (x3,x4) + // n_p = plane normal vector of the plane (x1,x2,n) + + double s[3], n_p[3]; + MathExtra::sub3(x4, x3, s); + MathExtra::sub3(x2, x1, u); + MathExtra::cross3(u, n, n_p); + MathExtra::norm3(n_p); + + // solve for the intersection between the line and the plane + + double m[3][3], invm[3][3], p[3], ans[3]; + m[0][0] = -s[0]; + m[0][1] = u[0]; + m[0][2] = n[0]; + + m[1][0] = -s[1]; + m[1][1] = u[1]; + m[1][2] = n[1]; + + m[2][0] = -s[2]; + m[2][1] = u[2]; + m[2][2] = n[2]; + + MathExtra::sub3(x3, x1, p); + MathExtra::invert3(m, invm); + MathExtra::matvec(invm, p, ans); + + t2 = ans[0]; + h2[0] = x3[0] + s[0] * t2; + h2[1] = x3[1] + s[1] * t2; + h2[2] = x3[2] + s[2] * t2; + + project_pt_plane(h2, x1, n, h1, r); + + if (fabs(x2[0] - x1[0]) > 0) + t1 = (h1[0] - x1[0])/(x2[0] - x1[0]); + else if (fabs(x2[1] - x1[1]) > 0) + t1 = (h1[1] - x1[1])/(x2[1] - x1[1]); + else if (fabs(x2[2] - x1[2]) > 0) + t1 = (h1[2] - x1[2])/(x2[2] - x1[2]); +} + +/* ---------------------------------------------------------------------- + Calculate the total velocity of a point (vertex, a point on an edge): + vi = vcm + omega ^ (p - xcm) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::total_velocity(double* p, double *xcm, + double* vcm, double *angmom, double *inertia, double *quat, double* vi) +{ + double r[3],omega[3],ex_space[3],ey_space[3],ez_space[3]; + r[0] = p[0] - xcm[0]; + r[1] = p[1] - xcm[1]; + r[2] = p[2] - xcm[2]; + MathExtra::q_to_exyz(quat,ex_space,ey_space,ez_space); + MathExtra::angmom_to_omega(angmom,ex_space,ey_space,ez_space, + inertia,omega); + vi[0] = omega[1]*r[2] - omega[2]*r[1] + vcm[0]; + vi[1] = omega[2]*r[0] - omega[0]*r[2] + vcm[1]; + vi[2] = omega[0]*r[1] - omega[1]*r[0] + vcm[2]; +} + +/* ---------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::sanity_check() +{ + + double x1[3],x2[3],x3[3],x4[3],h_a[3],h_b[3],d_a,d_b,u[3],v[3],n[3]; + double a[3],b[3],t_a,t_b; + int inside_a, inside_b; + + x1[0] = 0; x1[1] = 3; x1[2] = 0; + x2[0] = 3; x2[1] = 0; x2[2] = 0; + x3[0] = 4; x3[1] = 3; x3[2] = 0; + x4[0] = 5; x4[1] = 3; x4[2] = 0; + + a[0] = 0; a[1] = 0; a[2] = 0; + b[0] = 4; b[1] = 0; b[2] = 0; + + project_pt_line(a, x1, x2, h_a, d_a, t_a); + project_pt_line(b, x1, x2, h_b, d_b, t_b); +/* + printf("h_a: %f %f %f; h_b: %f %f %f; t_a = %f; t_b = %f; d = %f; d_b = %f\n", + h_a[0], h_a[1], h_a[2], h_b[0], h_b[1], h_b[2], t_a, t_b, d_a, d_b); +*/ +/* + int mode = edge_face_intersect(x1, x2, x3, a, b, h_a, h_b, d_a, d_b, + inside_a, inside_b); + + MathExtra::sub3(x2, x1, u); + MathExtra::sub3(x3, x1, v); + MathExtra::cross3(u, v, n); + MathExtra::norm3(n); +*/ +/* + project_pt_plane(a, x1, x2, x3, h_a, d_a, inside_a); + printf("h_a: %f %f %f; d = %f: inside %d\n", + h_a[0], h_a[1], h_a[2], d_a, inside_a); + project_pt_plane(b, x1, x2, x3, h_b, d_b, inside_b); + printf("h_b: %f %f %f; d = %f: inside %d\n", + h_b[0], h_b[1], h_b[2], d_b, inside_b); +*/ +/* + distance_bt_edges(x1, x2, x3, x4, h_a, h_b, t_a, t_b, d_a); + printf("h_a: %f %f %f; h_b: %f %f %f; t_a = %f; t_b = %f; d = %f\n", + h_a[0], h_a[1], h_a[2], h_b[0], h_b[1], h_b[2], t_a, t_b, d_a); +*/ +} + diff --git a/src/BODY/pair_body_rounded_polyhedron.h b/src/BODY/pair_body_rounded_polyhedron.h new file mode 100644 index 0000000000..d7ee1f013e --- /dev/null +++ b/src/BODY/pair_body_rounded_polyhedron.h @@ -0,0 +1,176 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(body/rounded/polyhedron,PairBodyRoundedPolyhedron) + +#else + +#ifndef LMP_PAIR_BODY_ROUNDED_POLYHEDRON_H +#define LMP_PAIR_BODY_ROUNDED_POLYHEDRON_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairBodyRoundedPolyhedron : public Pair { + public: + PairBodyRoundedPolyhedron(class LAMMPS *); + ~PairBodyRoundedPolyhedron(); + void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + + struct Contact { + int ibody, jbody; // body (i.e. atom) indices (not tags) + int type; // 0 = VERTEX-FACE; 1 = EDGE-EDGE + double fx,fy,fz; // unscaled cohesive forces at contact + double xi[3]; // coordinates of the contact point on ibody + double xj[3]; // coordinates of the contact point on jbody + double separation; // contact surface separation + }; + + protected: + double **k_n; // normal repulsion strength + double **k_na; // normal attraction strength + double c_n; // normal damping coefficient + double c_t; // tangential damping coefficient + double mu; // normal friction coefficient during gross sliding + double A_ua; // characteristic contact area + double cut_inner; // cutoff for interaction between vertex-edge surfaces + + class AtomVecBody *avec; + class BodyRoundedPolyhedron *bptr; + + double **discrete; // list of all sub-particles for all bodies + int ndiscrete; // number of discretes in list + int dmax; // allocated size of discrete list + int *dnum; // number of discretes per line, 0 if uninit + int *dfirst; // index of first discrete per each line + int nmax; // allocated size of dnum,dfirst vectors + + double **edge; // list of all edge for all bodies + int nedge; // number of edge in list + int edmax; // allocated size of edge list + int *ednum; // number of edges per line, 0 if uninit + int *edfirst; // index of first edge per each line + int ednummax; // allocated size of ednum,edfirst vectors + + double **face; // list of all edge for all bodies + int nface; // number of faces in list + int facmax; // allocated size of face list + int *facnum; // number of faces per line, 0 if uninit + int *facfirst; // index of first face per each line + int facnummax; // allocated size of facnum,facfirst vectors + + double *enclosing_radius; // enclosing radii for all bodies + double *rounded_radius; // rounded radii for all bodies + double *maxerad; // per-type maximum enclosing radius + + void allocate(); + void body2space(int); + + int edge_against_face(int ibody, int jbody, double k_n, double k_na, + double** x, Contact* contact_list, int &num_contacts, + double &evdwl, double* facc); + int edge_against_edge(int ibody, int jbody, double k_n, double k_na, + double** x,Contact* contact_list, int &num_contacts, + double &evdwl, double* facc); + void sphere_against_sphere(int ibody, int jbody, double delx, double dely, double delz, + double rsq, double k_n, double k_na, + double** v, double** f, int evflag); + void sphere_against_face(int ibody, int jbody, + double k_n, double k_na, double** x, double** v, + double** f, double** torque, double** angmom, int evflag); + void sphere_against_edge(int ibody, int jbody, + double k_n, double k_na, double** x, double** v, + double** f, double** torque, double** angmom, int evflag); + + int interaction_face_to_edge(int ibody, int face_index, double* xmi, + double rounded_radius_i, int jbody, int edge_index, + double* xmj, double rounded_radius_j, + double k_n, double k_na, double cut_inner, + Contact* contact_list, int &num_contacts, + double& energy, double* facc); + int interaction_edge_to_edge(int ibody, int edge_index_i, double* xmi, + double rounded_radius_i, int jbody, int edge_index_j, + double* xmj, double rounded_radius_j, + double k_n, double k_na, double cut_inner, + Contact* contact_list, int &num_contacts, + double& energy, double* facc); + + void contact_forces(int ibody, int jbody, double *xi, double *xj, + double delx, double dely, double delz, double fx, double fy, double fz, + double** x, double** v, double** angmom, double** f, double** torque, + double* facc); + + void pair_force_and_torque(int ibody, int jbody, double* pi, double* pj, + double r, double contact_dist, double k_n, + double k_na, double shift, double** x, double** v, + double** f, double** torque, double** angmom, + int jflag, double& energy, double* facc); + void rescale_cohesive_forces(double** x, double** f, double** torque, + Contact* contact_list, int &num_contacts, + double contact_area, double k_n, double k_na, double* facc); + + void sum_torque(double* xm, double *x, double fx, double fy, double fz, double* torque); + int opposite_sides(double* n, double* x0, double* a, double* b); + int edge_face_intersect(double* x1, double* x2, double* x3, double* a, double* b, + double* hi1, double* hi2, double& d1, double& d2, + int& inside_a, int& inside_b); + void project_pt_plane(const double* q, const double* p, + const double* n, double* q_proj, double &d); + void project_pt_plane(const double* q, const double* x1, const double* x2, + const double* x3, double* q_proj, double &d, int& inside); + void project_pt_line(const double* q, const double* xi1, const double* xi2, + double* h, double& d, double& t); + void inside_polygon(int ibody, int face_index, double* xmi, + const double* q1, const double* q2, int& inside1, int& inside2); + + void distance_bt_edges(const double* x1, const double* x2, + const double* x3, const double* x4, + double* h1, double* h2, double& t1, double& t2, double& r); + void total_velocity(double* p, double *xcm, double* vcm, double *angmom, + double *inertia, double *quat, double* vi); + void sanity_check(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair body/rounded/polyhedron requires atom style body rounded/polyhedron + +Self-explanatory. + +E: Pair body requires body style rounded/polyhedron + +This pair style is specific to the rounded/polyhedron body style. + +*/ -- GitLab From 4308f005ab4b0ab2b943eb7c083f3a2f548efcb1 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Thu, 24 May 2018 23:12:01 -0500 Subject: [PATCH 109/675] Updated pair body rounded/polygon --- src/BODY/pair_body_rounded_polygon.cpp | 6 ++++-- src/BODY/pair_body_rounded_polyhedron.cpp | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 72591d2bd0..9f9cdea31b 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -374,6 +374,8 @@ void PairBodyRoundedPolygon::settings(int narg, char **arg) mu = force->numeric(FLERR,arg[2]); delta_ua = force->numeric(FLERR,arg[3]); cut_inner = force->numeric(FLERR,arg[4]); + + if (delta_ua < 0) delta_ua = 1; } /* ---------------------------------------------------------------------- @@ -1078,12 +1080,12 @@ int PairBodyRoundedPolygon::compute_distance_to_vertex(int ibody, // check if x0 (the queried vertex) and xmi (the body's center of mass) // are on the different sides of the edge - int m = opposite_sides(xi1, xi2, x0, xmi); + int m = 1;//opposite_sides(xi1, xi2, x0, xmi); if (m == 0) { // x0 and xmi are on not the opposite sides of the edge - // leave xpi for another edge to detect + // leave xpi for another edge to detect -- for convex shapes only mode = NONE; diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 8d5f9ec72c..bc94b9cc80 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -82,6 +82,9 @@ PairBodyRoundedPolyhedron::PairBodyRoundedPolyhedron(LAMMPS *lmp) : Pair(lmp) c_t = 0.2; mu = 0.0; A_ua = 1.0; + + k_n = NULL; + k_na = NULL; } /* ---------------------------------------------------------------------- */ -- GitLab From 4bd4b2a1c75cfc6ea1f9ec90275cd4d947d76571 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Thu, 24 May 2018 23:35:49 -0500 Subject: [PATCH 110/675] Updated pair body rounded/polygon and rounded/polyhedron --- src/BODY/pair_body_rounded_polygon.cpp | 6 +- src/BODY/pair_body_rounded_polyhedron.cpp | 124 ++++++++++++++++------ src/BODY/pair_body_rounded_polyhedron.h | 17 +-- 3 files changed, 105 insertions(+), 42 deletions(-) diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 9f9cdea31b..62a6d77a01 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -848,6 +848,7 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, // done with the edges from body j, // given that vertex ni interacts with only one vertex from one edge of body j + // comment out this break to take into account concave shapes // break; @@ -955,6 +956,7 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, // done with the edges from body j, // given that vertex ni interacts with only one edge from body j + // comment out this break to take into account concave shapes // break; @@ -1080,12 +1082,12 @@ int PairBodyRoundedPolygon::compute_distance_to_vertex(int ibody, // check if x0 (the queried vertex) and xmi (the body's center of mass) // are on the different sides of the edge - int m = 1;//opposite_sides(xi1, xi2, x0, xmi); + int m = opposite_sides(xi1, xi2, x0, xmi); if (m == 0) { // x0 and xmi are on not the opposite sides of the edge - // leave xpi for another edge to detect -- for convex shapes only + // leave xpi for another edge to detect mode = NONE; diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index bc94b9cc80..02c2abe1e3 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -47,7 +47,7 @@ using namespace MathConst; #define DELTA 10000 #define EPSILON 1e-3 #define MAX_FACE_SIZE 4 // maximum number of vertices per face (same as BodyRoundedPolyhedron) -#define MAX_CONTACTS 16 // for 3D models +#define MAX_CONTACTS 32 // for 3D models //#define _POLYHEDRON_DEBUG @@ -308,36 +308,8 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) // also consider point contacts and line contacts if (num_contacts > 0) { - double contact_area; - if (num_contacts == 1) { - contact_area = 0; - } else if (num_contacts == 2) { - contact_area = num_contacts * A_ua; - } else { - int m; - double xc[3],dx,dy,dz; - xc[0] = xc[1] = xc[2] = 0; - for (m = 0; m < num_contacts; m++) { - xc[0] += contact_list[m].xi[0]; - xc[1] += contact_list[m].xi[1]; - xc[2] += contact_list[m].xi[2]; - } - - xc[0] /= (double)num_contacts; - xc[1] /= (double)num_contacts; - xc[2] /= (double)num_contacts; - - contact_area = 0.0; - for (m = 0; m < num_contacts; m++) { - dx = contact_list[m].xi[0] - xc[0]; - dy = contact_list[m].xi[1] - xc[1]; - dz = contact_list[m].xi[2] - xc[2]; - contact_area += (dx*dx + dy*dy + dz*dz); - } - contact_area *= (MY_PI/(double)num_contacts); - } rescale_cohesive_forces(x, f, torque, contact_list, num_contacts, - contact_area, k_nij, k_naij, facc); + k_nij, k_naij, facc); } if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0.0, @@ -383,6 +355,8 @@ void PairBodyRoundedPolyhedron::settings(int narg, char **arg) mu = force->numeric(FLERR,arg[2]); A_ua = force->numeric(FLERR,arg[3]); cut_inner = force->numeric(FLERR,arg[4]); + + if (A_ua < 0) A_ua = 1; } /* ---------------------------------------------------------------------- @@ -1381,7 +1355,17 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, #endif } else if (interact == EF_INTERSECT_INSIDE) { - + // need to do something here to resolve overlap!! + // p is the intersection between the edge and the face + int jflag = 1; + if (d1 < d2) + pair_force_and_torque(jbody, ibody, xpj1, hi1, d1, contact_dist, + k_n, k_na, shift, x, v, f, torque, angmom, + jflag, energy, facc); + else + pair_force_and_torque(jbody, ibody, xpj2, hi2, d2, contact_dist, + k_n, k_na, shift, x, v, f, torque, angmom, + jflag, energy, facc); } return interact; @@ -1661,6 +1645,7 @@ void PairBodyRoundedPolyhedron::contact_forces(int ibody, int jbody, ft[1] = -c_t * vt2; ft[2] = -c_t * vt3; + // these are contact forces (F_n, F_t and F_ne) only // cohesive forces will be scaled by j_a after contact area is computed // mu * fne = tangential friction deformation during gross sliding // see Eq. 4, Fraige et al. @@ -1697,13 +1682,49 @@ void PairBodyRoundedPolyhedron::contact_forces(int ibody, int jbody, void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, double** f, double** torque, Contact* contact_list, int &num_contacts, - double contact_area, double k_n, double k_na, double* facc) + double k_n, double k_na, double* facc) { int m,ibody,jbody; - double delx,dely,delz,fx,fy,fz,R,fpair,r,shift; + double delx,dely,delz,fx,fy,fz,R,fpair,r,shift,contact_area; + + int num_unique_contacts = 0; + if (num_contacts == 1) { + num_unique_contacts = 1; + contact_area = 0; + } else if (num_contacts == 2) { + num_unique_contacts = 2; + contact_area = num_contacts * A_ua; + } else { + find_unique_contacts(contact_list, num_contacts); + + double xc[3],dx,dy,dz; + xc[0] = xc[1] = xc[2] = 0; + num_unique_contacts = 0; + for (int m = 0; m < num_contacts; m++) { + if (contact_list[m].unique == 0) continue; + xc[0] += contact_list[m].xi[0]; + xc[1] += contact_list[m].xi[1]; + xc[2] += contact_list[m].xi[2]; + num_unique_contacts++; + } + + xc[0] /= (double)num_unique_contacts; + xc[1] /= (double)num_unique_contacts; + xc[2] /= (double)num_unique_contacts; + + contact_area = 0.0; + for (int m = 0; m < num_contacts; m++) { + if (contact_list[m].unique == 0) continue; + dx = contact_list[m].xi[0] - xc[0]; + dy = contact_list[m].xi[1] - xc[1]; + dz = contact_list[m].xi[2] - xc[2]; + contact_area += (dx*dx + dy*dy + dz*dz); + } + contact_area *= (MY_PI/(double)num_unique_contacts); + } + double j_a = contact_area / (num_contacts * A_ua); if (j_a < 1.0) j_a = 1.0; - shift = k_na * cut_inner; for (m = 0; m < num_contacts; m++) { @@ -2302,6 +2323,41 @@ void PairBodyRoundedPolyhedron::total_velocity(double* p, double *xcm, vi[2] = omega[0]*r[1] - omega[1]*r[0] + vcm[2]; } +/* ---------------------------------------------------------------------- + Determine the length of the contact segment, i.e. the separation between + 2 contacts, should be extended for 3D models. +------------------------------------------------------------------------- */ + +double PairBodyRoundedPolyhedron::contact_separation(const Contact& c1, + const Contact& c2) +{ + double x1 = 0.5*(c1.xi[0] + c1.xj[0]); + double y1 = 0.5*(c1.xi[1] + c1.xj[1]); + double z1 = 0.5*(c1.xi[2] + c1.xj[2]); + double x2 = 0.5*(c2.xi[0] + c2.xj[0]); + double y2 = 0.5*(c2.xi[1] + c2.xj[1]); + double z2 = 0.5*(c2.xi[2] + c2.xj[2]); + double rsq = (x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1) + (z2 - z1)*(z2 - z1); + return rsq; +} + +/* ---------------------------------------------------------------------- + find the number of unique contacts +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::find_unique_contacts(Contact* contact_list, int& num_contacts) +{ + int n = num_contacts; + for (int i = 0; i < n - 1; i++) { + + for (int j = i + 1; j < n; j++) { + if (contact_list[i].unique == 0) continue; + double d = contact_separation(contact_list[i], contact_list[j]); + if (d < EPSILON) contact_list[j].unique = 0; + } + } +} + /* ---------------------------------------------------------------------- */ void PairBodyRoundedPolyhedron::sanity_check() diff --git a/src/BODY/pair_body_rounded_polyhedron.h b/src/BODY/pair_body_rounded_polyhedron.h index d7ee1f013e..05985ef813 100644 --- a/src/BODY/pair_body_rounded_polyhedron.h +++ b/src/BODY/pair_body_rounded_polyhedron.h @@ -35,12 +35,13 @@ class PairBodyRoundedPolyhedron : public Pair { double init_one(int, int); struct Contact { - int ibody, jbody; // body (i.e. atom) indices (not tags) - int type; // 0 = VERTEX-FACE; 1 = EDGE-EDGE - double fx,fy,fz; // unscaled cohesive forces at contact - double xi[3]; // coordinates of the contact point on ibody - double xj[3]; // coordinates of the contact point on jbody + int ibody, jbody; // body (i.e. atom) indices (not tags) + int type; // 0 = VERTEX-FACE; 1 = EDGE-EDGE + double fx,fy,fz; // unscaled cohesive forces at contact + double xi[3]; // coordinates of the contact point on ibody + double xj[3]; // coordinates of the contact point on jbody double separation; // contact surface separation + int unique; }; protected: @@ -124,7 +125,11 @@ class PairBodyRoundedPolyhedron : public Pair { int jflag, double& energy, double* facc); void rescale_cohesive_forces(double** x, double** f, double** torque, Contact* contact_list, int &num_contacts, - double contact_area, double k_n, double k_na, double* facc); + double k_n, double k_na, double* facc); + + double contact_separation(const Contact& c1, const Contact& c2); + + void find_unique_contacts(Contact* contact_list, int& num_contacts); void sum_torque(double* xm, double *x, double fx, double fy, double fz, double* torque); int opposite_sides(double* n, double* x0, double* a, double* b); -- GitLab From dd3278ea07597016886198f9bbeaf3b12ba1017b Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Thu, 24 May 2018 23:54:50 -0500 Subject: [PATCH 111/675] Added examples for body rounded/polygon and rounded/polyhedron --- examples/body/data.cubes | 76 ++++++++++++++++++++++++++++++++++ examples/body/in.cubes | 53 ++++++++++++++++++++++++ examples/body/in.pour3d | 57 +++++++++++++++++++++++++ examples/body/molecule.cube | 52 +++++++++++++++++++++++ examples/body/molecule.point3d | 26 ++++++++++++ examples/body/molecule.rod3d | 27 ++++++++++++ examples/body/molecule.tetra | 39 +++++++++++++++++ 7 files changed, 330 insertions(+) create mode 100644 examples/body/data.cubes create mode 100644 examples/body/in.cubes create mode 100644 examples/body/in.pour3d create mode 100644 examples/body/molecule.cube create mode 100644 examples/body/molecule.point3d create mode 100644 examples/body/molecule.rod3d create mode 100644 examples/body/molecule.tetra diff --git a/examples/body/data.cubes b/examples/body/data.cubes new file mode 100644 index 0000000000..c1323ca350 --- /dev/null +++ b/examples/body/data.cubes @@ -0,0 +1,76 @@ +LAMMPS data file for polygons: cubes, moment of inertia I = m edge^2/ 6 +2 atoms +2 bodies +1 atom types +0 6 xlo xhi +0 6 ylo yhi +0 6 zlo zhi + +Atoms + +1 1 1 1 1.5 1.5 1.5 +2 1 1 1 4.0 4.0 4.0 + +Bodies + +1 3 79 +8 12 6 +0.667 0.667 0.667 0 0 0 +1 1 1 +1 -1 1 +-1 -1 1 +-1 1 1 +1 1 -1 +1 -1 -1 +-1 -1 -1 +-1 1 -1 +0 1 +1 2 +2 3 +3 0 +4 5 +5 6 +6 7 +7 4 +0 4 +1 5 +2 6 +3 7 +0 1 2 3 +4 5 6 7 +0 1 5 4 +1 2 6 5 +2 3 7 6 +3 0 4 7 +0.5 +2 3 79 +8 12 6 +0.667 0.667 0.667 0 0 0 +1 1 1 +1 -1 1 +-1 -1 1 +-1 1 1 +1 1 -1 +1 -1 -1 +-1 -1 -1 +-1 1 -1 +0 1 +1 2 +2 3 +3 0 +4 5 +5 6 +6 7 +7 4 +0 4 +1 5 +2 6 +3 7 +0 1 2 3 +4 5 6 7 +0 1 5 4 +1 2 6 5 +2 3 7 6 +3 0 4 7 +0.5 + diff --git a/examples/body/in.cubes b/examples/body/in.cubes new file mode 100644 index 0000000000..3aeaa70af9 --- /dev/null +++ b/examples/body/in.cubes @@ -0,0 +1,53 @@ +# 3d rounded cubes + +variable r index 3 +variable steps index 10000 + +units lj +dimension 3 + +atom_style body rounded/polyhedron 1 10 + +read_data data.cubes + +replicate $r $r $r + +velocity all create 1.2 187287 dist gaussian mom yes rot yes + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 1 +variable c_n equal 20 +variable c_t equal 5 +variable mu equal 0 +variable A_ua equal 1 + +pair_style body/rounded/polyhedron ${c_n} ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_coeff * * ${k_n} ${k_na} + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +fix 1 all nvt/body temp 1.2 1.2 0.1 +#fix 1 all npt/body temp 1.2 1.2 0.1 iso 0.002 0.02 1.0 + +compute p2 all pressure 1_temp + +compute 1 all body/local id 1 2 3 +dump 1 all local 1000 dump.* index c_1[1] c_1[2] c_1[3] c_1[4] + +#dump 2 all image 1000 image.*.jpg type type & +# zoom 1.5 adiam 1.5 body yes 0 0 view 60 15 +#dump_modify 2 pad 6 + +thermo_style custom step ke pe etotal c_p2 c_1_temp + +thermo 1000 + +run ${steps} + diff --git a/examples/body/in.pour3d b/examples/body/in.pour3d new file mode 100644 index 0000000000..290f2052c8 --- /dev/null +++ b/examples/body/in.pour3d @@ -0,0 +1,57 @@ +# pouring 3d rounded polyhedron bodies + +variable steps index 6000 + +units lj +boundary p p fm +comm_modify vel yes + +atom_style body rounded/polyhedron 1 8 +atom_modify map array + +region reg block 0 50 0 50 0 50 units box +create_box 4 reg + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 5 +variable c_n equal 20 +variable c_t equal 5 +variable mu equal 0 +variable A_ua equal 1 + +pair_style body/rounded/polyhedron ${c_n} ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_coeff * * ${k_n} ${k_na} + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +fix 1 all nve/body +fix 2 all gravity 1.0 spherical 0.0 -180.0 + +molecule object molecule.cube molecule.tetra toff 1 & + molecule.rod3d toff 2 molecule.point3d toff 3 + +region slab block 5 45 5 45 25 35 units box +fix ins all pour 500 0 4767548 vol 0.4 10 region slab mol object & + molfrac 0.25 0.25 0.25 0.25 + +fix 4 all wall/body/polyhedron 2000 50 50 zplane 0.0 NULL + +#compute 1 all body/local type 1 2 3 +#dump 1 all local 1000 dump.polyhedron index c_1[1] c_1[2] c_1[3] c_1[4] +#dump 10 all custom 1000 tmp.dump id type x y z radius + +thermo_style custom step atoms ke pe etotal press + +thermo 1000 + +#dump 2 all image 500 image.*.jpg type type & +# zoom 1.5 adiam 1.5 body yes 0 0 view 75 15 +#dump_modify 2 pad 6 + +run ${steps} + + diff --git a/examples/body/molecule.cube b/examples/body/molecule.cube new file mode 100644 index 0000000000..2a8a7bca50 --- /dev/null +++ b/examples/body/molecule.cube @@ -0,0 +1,52 @@ +# 3d polygon body: cubes, moment of inertia I = m edge^2/ 6 + +1 atoms +3 79 body + +Coords + +1 0 0 0 + +Types + +1 1 + +Masses + +1 1.0 + +Body Integers + +8 12 6 + +Body Doubles + +0.667 0.667 0.667 0 0 0 +1 1 1 +1 -1 1 +-1 -1 1 +-1 1 1 +1 1 -1 +1 -1 -1 +-1 -1 -1 +-1 1 -1 +0 1 +1 2 +2 3 +3 0 +4 5 +5 6 +6 7 +7 4 +0 4 +1 5 +2 6 +3 7 +0 1 2 3 +4 5 6 7 +0 1 5 4 +1 2 6 5 +2 3 7 6 +3 0 4 7 +0.5 + diff --git a/examples/body/molecule.point3d b/examples/body/molecule.point3d new file mode 100644 index 0000000000..d22bfbe6fa --- /dev/null +++ b/examples/body/molecule.point3d @@ -0,0 +1,26 @@ +# 2d polygon body: disks Izz = 1/2 m radius^2 + +1 atoms +3 10 body + +Coords + +1 0 0 0 + +Types + +1 1 + +Masses + +1 1.0 + +Body Integers + +1 0 0 + +Body Doubles + +1 1 1.125 0 0 0 +0 0 0 +3.0 diff --git a/examples/body/molecule.rod3d b/examples/body/molecule.rod3d new file mode 100644 index 0000000000..1c8a0a8cd3 --- /dev/null +++ b/examples/body/molecule.rod3d @@ -0,0 +1,27 @@ +# 2d polygon body: rods Izz = 1/12 m length^2 + +1 atoms +3 13 body + +Coords + +1 0 0 0 + +Types + +1 1 + +Masses + +1 1.0 + +Body Integers + +2 1 0 + +Body Doubles + +1 1 1.333 0 0 0 +-2 0 0 +2 0 0 +0.5 diff --git a/examples/body/molecule.tetra b/examples/body/molecule.tetra new file mode 100644 index 0000000000..d67ec906c6 --- /dev/null +++ b/examples/body/molecule.tetra @@ -0,0 +1,39 @@ +# 3d polygon body: regular tetrahedra, moment of inertia I = m edge^2/ 20 + +1 atoms +3 47 body + +Coords + +1 0 0 0 + +Types + +1 1 + +Masses + +1 1.0 + +Body Integers + +4 6 4 + +Body Doubles + +0.4 0.4 0.4 0 0 0 +1 1 1 +1 -1 -1 +-1 1 -1 +-1 -1 1 +0 1 +0 2 +0 3 +1 2 +2 3 +3 1 +0 1 2 -1 +0 1 3 -1 +0 2 3 -1 +1 2 3 -1 +0.5 -- GitLab From 5a23342934b350bd88de7d335b40c1bb3c7427d2 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 26 May 2018 00:39:55 -0500 Subject: [PATCH 112/675] Refactored pair body rounded/polyhedron so that other kernel force models can be implemented in the future --- src/BODY/pair_body_rounded_polyhedron.cpp | 545 ++++++++++++---------- src/BODY/pair_body_rounded_polyhedron.h | 39 +- 2 files changed, 318 insertions(+), 266 deletions(-) diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 02c2abe1e3..42c107d68e 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -610,10 +610,10 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, rij = sqrt(rsq); R = rij - contact_dist; - shift = k_na * cut_inner; energy = 0; - + kernel_force(R, k_n, k_na, energy, fpair); +/* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; energy = (0.5 * k_n * R + shift) * R; @@ -621,6 +621,7 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, fpair = k_na * R - shift; energy = (-0.5 * k_na * R + shift) * R; } else fpair = 0.0; +*/ fx = delx*fpair/rij; fy = dely*fpair/rij; @@ -681,17 +682,17 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, } /* ---------------------------------------------------------------------- - Interaction bt the faces of a polyhedron (ibody) and a sphere (jbody) + Interaction bt the edges of a polyhedron (ibody) and a sphere (jbody) ---------------------------------------------------------------------- */ -void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, +void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, double k_n, double k_na, double** x, double** v, double** f, double** torque, double** angmom, int evflag) { - int ni,nfi,inside,ifirst,iffirst,npi1,npi2,npi3,ibonus,tmp; - double xi1[3],xi2[3],xi3[3],ui[3],vi[3],vti[3],n[3],h[3],fn[3],ft[3],d; - double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; + int ni,nei,ifirst,iefirst,npi1,npi2,ibonus; + double xi1[3],xi2[3],vti[3],h[3],fn[3],ft[3],d,t; + double delx,dely,delz,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; double rradi,rradj,contact_dist; double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; double *quat, *inertia; @@ -701,18 +702,17 @@ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, int newton_pair = force->newton_pair; ifirst = dfirst[ibody]; - iffirst = facfirst[ibody]; - nfi = facnum[ibody]; + iefirst = edfirst[ibody]; + nei = ednum[ibody]; rradi = rounded_radius[ibody]; rradj = rounded_radius[jbody]; contact_dist = rradi + rradj; - for (ni = 0; ni < nfi; ni++) { + for (ni = 0; ni < nei; ni++) { - npi1 = static_cast(face[iffirst+ni][0]); - npi2 = static_cast(face[iffirst+ni][1]); - npi3 = static_cast(face[iffirst+ni][2]); + npi1 = static_cast(edge[iefirst+ni][0]); + npi2 = static_cast(edge[iefirst+ni][1]); // compute the space-fixed coordinates for the vertices of the face @@ -724,45 +724,53 @@ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, xi2[1] = x[ibody][1] + discrete[ifirst+npi2][1]; xi2[2] = x[ibody][2] + discrete[ifirst+npi2][2]; - xi3[0] = x[ibody][0] + discrete[ifirst+npi3][0]; - xi3[1] = x[ibody][1] + discrete[ifirst+npi3][1]; - xi3[2] = x[ibody][2] + discrete[ifirst+npi3][2]; - - // find the normal unit vector of the face - - MathExtra::sub3(xi2, xi1, ui); - MathExtra::sub3(xi3, xi1, vi); - MathExtra::cross3(ui, vi, n); - MathExtra::norm3(n); - - // skip if the COM of the two bodies are in the same side of the face + // find the projection of the jbody's COM on the edge - if (opposite_sides(n, xi1, x[ibody], x[jbody]) == 0) continue; + project_pt_line(x[jbody], xi1, xi2, h, d, t); - // find the projection of the sphere on the face + if (d > contact_dist + cut_inner) continue; + if (t < 0 || t > 1) continue; - project_pt_plane(x[jbody], xi1, xi2, xi3, h, d, inside); + if (fabs(t) < EPSILON) { + if (static_cast(discrete[ifirst+npi1][6]) == 1) + continue; + else { + h[0] = xi1[0]; + h[1] = xi1[1]; + h[2] = xi1[2]; + discrete[ifirst+npi1][6] = 1; + } + } - inside_polygon(ibody, ni, x[ibody], h, NULL, inside, tmp); - if (inside == 0) continue; + if (fabs(t-1) < EPSILON) { + if (static_cast(discrete[ifirst+npi2][6]) == 1) + continue; + else { + h[0] = xi2[0]; + h[1] = xi2[1]; + h[2] = xi2[2]; + discrete[ifirst+npi2][6] = 1; + } + } delx = h[0] - x[jbody][0]; dely = h[1] - x[jbody][1]; delz = h[2] - x[jbody][2]; - rsq = delx*delx + dely*dely + delz*delz; - rij = sqrt(rsq); + rij = sqrt(delx*delx + dely*dely + delz*delz); R = rij - contact_dist; - shift = k_na * cut_inner; energy = 0; - - if (R <= 0) { // deformation occurs + kernel_force(R, k_n, k_na, energy, fpair); +/* + if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; energy = (0.5 * k_n * R + shift) * R; - } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap fpair = k_na * R - shift; energy = (-0.5 * k_na * R + shift) * R; } else fpair = 0.0; +*/ + fx = delx*fpair/rij; fy = dely*fpair/rij; @@ -787,7 +795,6 @@ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, // normal component - rsqinv = 1.0/rsq; vnnr = vr1*delx + vr2*dely + vr3*delz; vn1 = delx*vnnr * rsqinv; vn2 = dely*vnnr * rsqinv; @@ -805,8 +812,7 @@ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, fn[1] = -c_n * vn2; fn[2] = -c_n * vn3; - // tangential friction term at contact, - // excluding the tangential deformation term for now + // tangential friction term at contact, excluding the tangential deformation term ft[0] = -c_t * vt1; ft[1] = -c_t * vt2; @@ -834,17 +840,17 @@ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, } /* ---------------------------------------------------------------------- - Interaction bt the edges of a polyhedron (ibody) and a sphere (jbody) + Interaction bt the faces of a polyhedron (ibody) and a sphere (jbody) ---------------------------------------------------------------------- */ -void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, +void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, double k_n, double k_na, double** x, double** v, double** f, double** torque, double** angmom, int evflag) { - int ni,nei,ifirst,iefirst,npi1,npi2,ibonus; - double xi1[3],xi2[3],vti[3],h[3],fn[3],ft[3],d,t; - double delx,dely,delz,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; + int ni,nfi,inside,ifirst,iffirst,npi1,npi2,npi3,ibonus,tmp; + double xi1[3],xi2[3],xi3[3],ui[3],vi[3],vti[3],n[3],h[3],fn[3],ft[3],d; + double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; double rradi,rradj,contact_dist; double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; double *quat, *inertia; @@ -854,17 +860,18 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, int newton_pair = force->newton_pair; ifirst = dfirst[ibody]; - iefirst = edfirst[ibody]; - nei = ednum[ibody]; + iffirst = facfirst[ibody]; + nfi = facnum[ibody]; rradi = rounded_radius[ibody]; rradj = rounded_radius[jbody]; contact_dist = rradi + rradj; - for (ni = 0; ni < nei; ni++) { + for (ni = 0; ni < nfi; ni++) { - npi1 = static_cast(edge[iefirst+ni][0]); - npi2 = static_cast(edge[iefirst+ni][1]); + npi1 = static_cast(face[iffirst+ni][0]); + npi2 = static_cast(face[iffirst+ni][1]); + npi3 = static_cast(face[iffirst+ni][2]); // compute the space-fixed coordinates for the vertices of the face @@ -876,51 +883,46 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, xi2[1] = x[ibody][1] + discrete[ifirst+npi2][1]; xi2[2] = x[ibody][2] + discrete[ifirst+npi2][2]; - // find the projection of the jbody's COM on the edge + xi3[0] = x[ibody][0] + discrete[ifirst+npi3][0]; + xi3[1] = x[ibody][1] + discrete[ifirst+npi3][1]; + xi3[2] = x[ibody][2] + discrete[ifirst+npi3][2]; - project_pt_line(x[jbody], xi1, xi2, h, d, t); + // find the normal unit vector of the face + + MathExtra::sub3(xi2, xi1, ui); + MathExtra::sub3(xi3, xi1, vi); + MathExtra::cross3(ui, vi, n); + MathExtra::norm3(n); - if (d > contact_dist + cut_inner) continue; - if (t < 0 || t > 1) continue; + // skip if the COM of the two bodies are in the same side of the face - if (fabs(t) < EPSILON) { - if (static_cast(discrete[ifirst+npi1][6]) == 1) - continue; - else { - h[0] = xi1[0]; - h[1] = xi1[1]; - h[2] = xi1[2]; - discrete[ifirst+npi1][6] = 1; - } - } + if (opposite_sides(n, xi1, x[ibody], x[jbody]) == 0) continue; - if (fabs(t-1) < EPSILON) { - if (static_cast(discrete[ifirst+npi2][6]) == 1) - continue; - else { - h[0] = xi2[0]; - h[1] = xi2[1]; - h[2] = xi2[2]; - discrete[ifirst+npi2][6] = 1; - } - } + // find the projection of the sphere on the face + + project_pt_plane(x[jbody], xi1, xi2, xi3, h, d, inside); + + inside_polygon(ibody, ni, x[ibody], h, NULL, inside, tmp); + if (inside == 0) continue; delx = h[0] - x[jbody][0]; dely = h[1] - x[jbody][1]; delz = h[2] - x[jbody][2]; - rij = sqrt(delx*delx + dely*dely + delz*delz); + rsq = delx*delx + dely*dely + delz*delz; + rij = sqrt(rsq); R = rij - contact_dist; - shift = k_na * cut_inner; energy = 0; - - if (R <= 0) { // deformation occurs + kernel_force(R, k_n, k_na, energy, fpair); +/* + if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; energy = (0.5 * k_n * R + shift) * R; - } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap fpair = k_na * R - shift; energy = (-0.5 * k_na * R + shift) * R; } else fpair = 0.0; +*/ fx = delx*fpair/rij; fy = dely*fpair/rij; @@ -945,6 +947,7 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, // normal component + rsqinv = 1.0/rsq; vnnr = vr1*delx + vr2*dely + vr3*delz; vn1 = delx*vnnr * rsqinv; vn2 = dely*vnnr * rsqinv; @@ -962,7 +965,8 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, fn[1] = -c_n * vn2; fn[2] = -c_n * vn3; - // tangential friction term at contact, excluding the tangential deformation term + // tangential friction term at contact, + // excluding the tangential deformation term for now ft[0] = -c_t * vt1; ft[1] = -c_t * vt2; @@ -987,11 +991,10 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, if (evflag) ev_tally_xyz(ibody,jbody,nlocal,newton_pair, energy,0.0,fx,fy,fz,delx,dely,delz); } - } /* ---------------------------------------------------------------------- - Determine the interaction mode between i's edges against j's faces + Determine the interaction mode between i's edges against j's edges i = atom i (body i) j = atom j (body j) @@ -1000,46 +1003,44 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, torque = atoms' torques tag = atoms' tags contact_list = list of contacts - num_contacts = number of contacts between i's edges and j's faces + num_contacts = number of contacts between i's edges and j's edges Return: ---------------------------------------------------------------------- */ -int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, +int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, double k_n, double k_na, double** x, Contact* contact_list, int &num_contacts, double &evdwl, double* facc) { - int ni,nei,nj,nfj,contact,interact; + int ni,nei,nj,nej,contact,interact; double rradi,rradj,energy; nei = ednum[ibody]; rradi = rounded_radius[ibody]; - nfj = facnum[jbody]; + nej = ednum[jbody]; rradj = rounded_radius[jbody]; energy = 0; - interact = EF_NONE; + interact = EE_NONE; // loop through body i's edges for (ni = 0; ni < nei; ni++) { - // loop through body j's faces - - for (nj = 0; nj < nfj; nj++) { + for (nj = 0; nj < nej; nj++) { - // compute the distance between the face nj to the edge ni + // compute the distance between the edge nj to the edge ni #ifdef _POLYHEDRON_DEBUG - printf("Compute interaction between face %d of body %d with edge %d of body %d:\n", + printf("Compute interaction between edge %d of body %d with edge %d of body %d:\n", nj, jbody, ni, ibody); #endif - interact = interaction_face_to_edge(jbody, nj, x[jbody], rradj, - ibody, ni, x[ibody], rradi, + interact = interaction_edge_to_edge(ibody, ni, x[ibody], rradi, + jbody, nj, x[jbody], rradj, k_n, k_na, cut_inner, contact_list, num_contacts, energy, facc); - } + } } // end for looping through the edges of body i @@ -1049,7 +1050,7 @@ int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, } /* ---------------------------------------------------------------------- - Determine the interaction mode between i's edges against j's edges + Determine the interaction mode between i's edges against j's faces i = atom i (body i) j = atom j (body j) @@ -1058,44 +1059,46 @@ int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, torque = atoms' torques tag = atoms' tags contact_list = list of contacts - num_contacts = number of contacts between i's edges and j's edges + num_contacts = number of contacts between i's edges and j's faces Return: ---------------------------------------------------------------------- */ -int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, +int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, double k_n, double k_na, double** x, Contact* contact_list, int &num_contacts, double &evdwl, double* facc) { - int ni,nei,nj,nej,contact,interact; + int ni,nei,nj,nfj,contact,interact; double rradi,rradj,energy; nei = ednum[ibody]; rradi = rounded_radius[ibody]; - nej = ednum[jbody]; + nfj = facnum[jbody]; rradj = rounded_radius[jbody]; energy = 0; - interact = EE_NONE; + interact = EF_NONE; // loop through body i's edges for (ni = 0; ni < nei; ni++) { - for (nj = 0; nj < nej; nj++) { + // loop through body j's faces - // compute the distance between the edge nj to the edge ni + for (nj = 0; nj < nfj; nj++) { + + // compute the distance between the face nj to the edge ni #ifdef _POLYHEDRON_DEBUG - printf("Compute interaction between edge %d of body %d with edge %d of body %d:\n", + printf("Compute interaction between face %d of body %d with edge %d of body %d:\n", nj, jbody, ni, ibody); #endif - interact = interaction_edge_to_edge(ibody, ni, x[ibody], rradi, - jbody, nj, x[jbody], rradj, + interact = interaction_face_to_edge(jbody, nj, x[jbody], rradj, + ibody, ni, x[ibody], rradi, k_n, k_na, cut_inner, contact_list, num_contacts, energy, facc); - } + } } // end for looping through the edges of body i @@ -1104,6 +1107,144 @@ int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, return interact; } +/* ------------------------------------------------------------------------- + Compute the distance between an edge of body i and an edge from + another body + Input: + ibody = body i (i.e. atom i) + face_index = face index of body i + xmi = atom i's coordinates (body i's center of mass) + rounded_radius_i = rounded radius of the body i + jbody = body i (i.e. atom j) + edge_index = coordinate of the tested edge from another body + xmj = atom j's coordinates (body j's center of mass) + rounded_radius_j = rounded radius of the body j + cut_inner = cutoff for vertex-vertex and vertex-edge interaction + Output: + d = Distance from a point x0 to an edge + hi = coordinates of the projection of x0 on the edge + + contact = 0 no contact between the queried edge and the face + 1 contact detected + return + INVALID if the face index is invalid + NONE if there is no interaction +------------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, + int edge_index_i, + double *xmi, + double rounded_radius_i, + int jbody, + int edge_index_j, + double *xmj, + double rounded_radius_j, + double k_n, + double k_na, + double cut_inner, + Contact* contact_list, + int &num_contacts, + double &energy, + double* facc) +{ + int ifirst,iefirst,jfirst,jefirst,npi1,npi2,npj1,npj2,interact; + double xi1[3],xi2[3],xpj1[3],xpj2[3]; + double r,t1,t2,h1[3],h2[3]; + double contact_dist, shift; + + double** x = atom->x; + double** v = atom->v; + double** f = atom->f; + double** torque = atom->torque; + double** angmom = atom->angmom; + + ifirst = dfirst[ibody]; + iefirst = edfirst[ibody]; + npi1 = static_cast(edge[iefirst+edge_index_i][0]); + npi2 = static_cast(edge[iefirst+edge_index_i][1]); + + // compute the space-fixed coordinates for the edge ends + + xi1[0] = xmi[0] + discrete[ifirst+npi1][0]; + xi1[1] = xmi[1] + discrete[ifirst+npi1][1]; + xi1[2] = xmi[2] + discrete[ifirst+npi1][2]; + + xi2[0] = xmi[0] + discrete[ifirst+npi2][0]; + xi2[1] = xmi[1] + discrete[ifirst+npi2][1]; + xi2[2] = xmi[2] + discrete[ifirst+npi2][2]; + + // two ends of the edge from body j + + jfirst = dfirst[jbody]; + jefirst = edfirst[jbody]; + npj1 = static_cast(edge[jefirst+edge_index_j][0]); + npj2 = static_cast(edge[jefirst+edge_index_j][1]); + + xpj1[0] = xmj[0] + discrete[jfirst+npj1][0]; + xpj1[1] = xmj[1] + discrete[jfirst+npj1][1]; + xpj1[2] = xmj[2] + discrete[jfirst+npj1][2]; + + xpj2[0] = xmj[0] + discrete[jfirst+npj2][0]; + xpj2[1] = xmj[1] + discrete[jfirst+npj2][1]; + xpj2[2] = xmj[2] + discrete[jfirst+npj2][2]; + + contact_dist = rounded_radius_i + rounded_radius_j; + + int jflag = 1; + distance_bt_edges(xpj1, xpj2, xi1, xi2, h1, h2, t1, t2, r); + + #ifdef _POLYHEDRON_DEBUG + double ui[3],uj[3]; + MathExtra::sub3(xi1,xi2,ui); + MathExtra::norm3(ui); + MathExtra::sub3(xpj1,xpj2,uj); + MathExtra::norm3(uj); + double dot = MathExtra::dot3(ui, uj); + printf(" edge npi1 = %d (%f %f %f); npi2 = %d (%f %f %f) vs." + " edge npj1 = %d (%f %f %f); npj2 = %d (%f %f %f): " + "t1 = %f; t2 = %f; r = %f; dot = %f\n", + npi1, xi1[0], xi1[1], xi1[2], npi2, xi2[0], xi2[1], xi2[2], + npj1, xpj1[0], xpj1[1], xpj1[2], npj2, xpj2[0], xpj2[1], xpj2[2], + t1, t2, r, dot); + #endif + + interact = EE_NONE; + + // singularity case, ignore interactions + + if (r < EPSILON) return interact; + + // include the vertices for interactions + + if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1 && + r < contact_dist + cut_inner) { + pair_force_and_torque(jbody, ibody, h1, h2, r, contact_dist, + k_n, k_na, x, v, f, torque, angmom, + jflag, energy, facc); + + interact = EE_INTERACT; + if (r <= contact_dist) { + // store the contact info + contact_list[num_contacts].ibody = ibody; + contact_list[num_contacts].jbody = jbody; + contact_list[num_contacts].xi[0] = h2[0]; + contact_list[num_contacts].xi[1] = h2[1]; + contact_list[num_contacts].xi[2] = h2[2]; + contact_list[num_contacts].xj[0] = h1[0]; + contact_list[num_contacts].xj[1] = h1[1]; + contact_list[num_contacts].xj[2] = h1[2]; + contact_list[num_contacts].type = 1; + contact_list[num_contacts].separation = r - contact_dist; + contact_list[num_contacts].unique = 1; + num_contacts++; + } + } else { + + } + + return interact; +} + /* ------------------------------------------------------------------------- Compute the interaction between a face of body i and an edge from another body @@ -1225,7 +1366,6 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, inside_polygon(ibody, face_index, xmi, hi1, hi2, inside1, inside2); contact_dist = rounded_radius_i + rounded_radius_j; - shift = k_na * cut_inner; // both endpoints are on the same side of, or parallel to, the face // and both are out of the interaction zone @@ -1257,7 +1397,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, if (inside1) { if (static_cast(discrete[jfirst+npj1][6]) == 0) { pair_force_and_torque(jbody, ibody, xpj1, hi1, d1, contact_dist, - k_n, k_na, shift, x, v, f, torque, angmom, + k_n, k_na, x, v, f, torque, angmom, jflag, energy, facc); #ifdef _POLYHEDRON_DEBUG printf(" - compute pair force between vertex %d from edge %d of body %d " @@ -1277,6 +1417,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, contact_list[num_contacts].xj[2] = xpj1[2]; contact_list[num_contacts].type = 0; contact_list[num_contacts].separation = d1 - contact_dist; + contact_list[num_contacts].unique = 1; num_contacts++; } @@ -1295,7 +1436,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, if (inside2) { if (static_cast(discrete[jfirst+npj2][6]) == 0) { pair_force_and_torque(jbody, ibody, xpj2, hi2, d2, contact_dist, - k_n, k_na, shift, x, v, f, torque, angmom, + k_n, k_na, x, v, f, torque, angmom, jflag, energy, facc); #ifdef _POLYHEDRON_DEBUG printf(" - compute pair force between vertex %d from edge %d of body %d " @@ -1315,6 +1456,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, contact_list[num_contacts].xj[2] = xpj2[2]; contact_list[num_contacts].type = 0; contact_list[num_contacts].separation = d2 - contact_dist; + contact_list[num_contacts].unique = 1; num_contacts++; } discrete[jfirst+npj2][6] = 1; @@ -1360,155 +1502,17 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, int jflag = 1; if (d1 < d2) pair_force_and_torque(jbody, ibody, xpj1, hi1, d1, contact_dist, - k_n, k_na, shift, x, v, f, torque, angmom, + k_n, k_na, x, v, f, torque, angmom, jflag, energy, facc); else pair_force_and_torque(jbody, ibody, xpj2, hi2, d2, contact_dist, - k_n, k_na, shift, x, v, f, torque, angmom, + k_n, k_na, x, v, f, torque, angmom, jflag, energy, facc); } return interact; } -/* ------------------------------------------------------------------------- - Compute the distance between an edge of body i and an edge from - another body - Input: - ibody = body i (i.e. atom i) - face_index = face index of body i - xmi = atom i's coordinates (body i's center of mass) - rounded_radius_i = rounded radius of the body i - jbody = body i (i.e. atom j) - edge_index = coordinate of the tested edge from another body - xmj = atom j's coordinates (body j's center of mass) - rounded_radius_j = rounded radius of the body j - cut_inner = cutoff for vertex-vertex and vertex-edge interaction - Output: - d = Distance from a point x0 to an edge - hi = coordinates of the projection of x0 on the edge - - contact = 0 no contact between the queried edge and the face - 1 contact detected - return - INVALID if the face index is invalid - NONE if there is no interaction -------------------------------------------------------------------------- */ - -int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, - int edge_index_i, - double *xmi, - double rounded_radius_i, - int jbody, - int edge_index_j, - double *xmj, - double rounded_radius_j, - double k_n, - double k_na, - double cut_inner, - Contact* contact_list, - int &num_contacts, - double &energy, - double* facc) -{ - int ifirst,iefirst,jfirst,jefirst,npi1,npi2,npj1,npj2,interact; - double xi1[3],xi2[3],xpj1[3],xpj2[3]; - double r,t1,t2,h1[3],h2[3]; - double contact_dist, shift; - - double** x = atom->x; - double** v = atom->v; - double** f = atom->f; - double** torque = atom->torque; - double** angmom = atom->angmom; - - ifirst = dfirst[ibody]; - iefirst = edfirst[ibody]; - npi1 = static_cast(edge[iefirst+edge_index_i][0]); - npi2 = static_cast(edge[iefirst+edge_index_i][1]); - - // compute the space-fixed coordinates for the edge ends - - xi1[0] = xmi[0] + discrete[ifirst+npi1][0]; - xi1[1] = xmi[1] + discrete[ifirst+npi1][1]; - xi1[2] = xmi[2] + discrete[ifirst+npi1][2]; - - xi2[0] = xmi[0] + discrete[ifirst+npi2][0]; - xi2[1] = xmi[1] + discrete[ifirst+npi2][1]; - xi2[2] = xmi[2] + discrete[ifirst+npi2][2]; - - // two ends of the edge from body j - - jfirst = dfirst[jbody]; - jefirst = edfirst[jbody]; - npj1 = static_cast(edge[jefirst+edge_index_j][0]); - npj2 = static_cast(edge[jefirst+edge_index_j][1]); - - xpj1[0] = xmj[0] + discrete[jfirst+npj1][0]; - xpj1[1] = xmj[1] + discrete[jfirst+npj1][1]; - xpj1[2] = xmj[2] + discrete[jfirst+npj1][2]; - - xpj2[0] = xmj[0] + discrete[jfirst+npj2][0]; - xpj2[1] = xmj[1] + discrete[jfirst+npj2][1]; - xpj2[2] = xmj[2] + discrete[jfirst+npj2][2]; - - contact_dist = rounded_radius_i + rounded_radius_j; - shift = k_na * cut_inner; - - int jflag = 1; - distance_bt_edges(xpj1, xpj2, xi1, xi2, h1, h2, t1, t2, r); - - #ifdef _POLYHEDRON_DEBUG - double ui[3],uj[3]; - MathExtra::sub3(xi1,xi2,ui); - MathExtra::norm3(ui); - MathExtra::sub3(xpj1,xpj2,uj); - MathExtra::norm3(uj); - double dot = MathExtra::dot3(ui, uj); - printf(" edge npi1 = %d (%f %f %f); npi2 = %d (%f %f %f) vs." - " edge npj1 = %d (%f %f %f); npj2 = %d (%f %f %f): " - "t1 = %f; t2 = %f; r = %f; dot = %f\n", - npi1, xi1[0], xi1[1], xi1[2], npi2, xi2[0], xi2[1], xi2[2], - npj1, xpj1[0], xpj1[1], xpj1[2], npj2, xpj2[0], xpj2[1], xpj2[2], - t1, t2, r, dot); - #endif - - interact = EE_NONE; - - // singularity case, ignore interactions - - if (r < EPSILON) return interact; - - // include the vertices for interactions - - if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1 && - r < contact_dist + cut_inner) { - pair_force_and_torque(jbody, ibody, h1, h2, r, contact_dist, - k_n, k_na, shift, x, v, f, torque, angmom, - jflag, energy, facc); - - interact = EE_INTERACT; - if (r <= contact_dist) { - // store the contact info - contact_list[num_contacts].ibody = ibody; - contact_list[num_contacts].jbody = jbody; - contact_list[num_contacts].xi[0] = h2[0]; - contact_list[num_contacts].xi[1] = h2[1]; - contact_list[num_contacts].xi[2] = h2[2]; - contact_list[num_contacts].xj[0] = h1[0]; - contact_list[num_contacts].xj[1] = h1[1]; - contact_list[num_contacts].xj[2] = h1[2]; - contact_list[num_contacts].type = 1; - contact_list[num_contacts].separation = r - contact_dist; - num_contacts++; - } - } else { - - } - - return interact; -} - /* ---------------------------------------------------------------------- Compute forces and torques between two bodies caused by the interaction between a pair of points on either bodies (similar to sphere-sphere) @@ -1516,7 +1520,7 @@ int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, double* pi, double* pj, double r, double contact_dist, - double k_n, double k_na, double shift, double** x, + double k_n, double k_na, double** x, double** v, double** f, double** torque, double** angmom, int jflag, double& energy, double* facc) { @@ -1525,7 +1529,10 @@ void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, delx = pi[0] - pj[0]; dely = pi[1] - pj[1]; delz = pi[2] - pj[2]; - R = r - contact_dist; + R = r - contact_dist; + + kernel_force(R, k_n, k_na, energy, fpair); +/* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; energy += (0.5 * k_n * R + shift) * R; @@ -1533,6 +1540,7 @@ void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, fpair = k_na * R - shift; energy += (-0.5 * k_na * R + shift) * R; } else fpair = 0.0; +*/ fx = delx*fpair/r; fy = dely*fpair/r; @@ -1570,6 +1578,26 @@ void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, } } +/* ---------------------------------------------------------------------- + Kernel force is model-dependent and can be derived for other styles + here is the harmonic potential (linear piece-wise forces) in Wang et al. +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::kernel_force(double R, double k_n, double k_na, + double& energy, double& fpair) +{ + double shift = k_na * cut_inner; + double e = 0; + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + e = (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + e = (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + energy += e; +} + /* ---------------------------------------------------------------------- Compute contact forces between two bodies modify the force stored at the vertex and edge in contact by j_a @@ -1685,7 +1713,7 @@ void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, double k_n, double k_na, double* facc) { int m,ibody,jbody; - double delx,dely,delz,fx,fy,fz,R,fpair,r,shift,contact_area; + double delx,dely,delz,fx,fy,fz,R,fpair,r,contact_area; int num_unique_contacts = 0; if (num_contacts == 1) { @@ -1723,11 +1751,11 @@ void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, contact_area *= (MY_PI/(double)num_unique_contacts); } - double j_a = contact_area / (num_contacts * A_ua); + double j_a = contact_area / (num_unique_contacts * A_ua); if (j_a < 1.0) j_a = 1.0; - shift = k_na * cut_inner; - for (m = 0; m < num_contacts; m++) { + if (contact_list[m].unique == 0) continue; + ibody = contact_list[m].ibody; jbody = contact_list[m].jbody; @@ -1735,12 +1763,17 @@ void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, dely = contact_list[m].xi[1] - contact_list[m].xj[1]; delz = contact_list[m].xi[2] - contact_list[m].xj[2]; r = sqrt(delx*delx + dely*dely + delz*delz); - R = contact_list[m].separation; + R = contact_list[m].separation; + + double energy = 0; + kernel_force(R, k_n, k_na, energy, fpair); +/* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap fpair = k_na * R - shift; } else fpair = 0.0; +*/ fpair *= j_a; fx = delx*fpair/r; diff --git a/src/BODY/pair_body_rounded_polyhedron.h b/src/BODY/pair_body_rounded_polyhedron.h index 05985ef813..f59faf9ba6 100644 --- a/src/BODY/pair_body_rounded_polyhedron.h +++ b/src/BODY/pair_body_rounded_polyhedron.h @@ -34,6 +34,9 @@ class PairBodyRoundedPolyhedron : public Pair { void init_style(); double init_one(int, int); + virtual void kernel_force(double R, double k_n, double k_na, + double& energy, double& fpair); + struct Contact { int ibody, jbody; // body (i.e. atom) indices (not tags) int type; // 0 = VERTEX-FACE; 1 = EDGE-EDGE @@ -84,28 +87,35 @@ class PairBodyRoundedPolyhedron : public Pair { void allocate(); void body2space(int); - int edge_against_face(int ibody, int jbody, double k_n, double k_na, - double** x, Contact* contact_list, int &num_contacts, - double &evdwl, double* facc); - int edge_against_edge(int ibody, int jbody, double k_n, double k_na, - double** x,Contact* contact_list, int &num_contacts, - double &evdwl, double* facc); + // sphere-sphere interaction void sphere_against_sphere(int ibody, int jbody, double delx, double dely, double delz, double rsq, double k_n, double k_na, double** v, double** f, int evflag); - void sphere_against_face(int ibody, int jbody, + // sphere-edge interaction + void sphere_against_edge(int ibody, int jbody, double k_n, double k_na, double** x, double** v, double** f, double** torque, double** angmom, int evflag); - void sphere_against_edge(int ibody, int jbody, + // sphere-face interaction + void sphere_against_face(int ibody, int jbody, double k_n, double k_na, double** x, double** v, double** f, double** torque, double** angmom, int evflag); + // edge-edge interactions + int edge_against_edge(int ibody, int jbody, double k_n, double k_na, + double** x,Contact* contact_list, int &num_contacts, + double &evdwl, double* facc); + // edge-face interactions + int edge_against_face(int ibody, int jbody, double k_n, double k_na, + double** x, Contact* contact_list, int &num_contacts, + double &evdwl, double* facc); + // a face vs. a single edge int interaction_face_to_edge(int ibody, int face_index, double* xmi, double rounded_radius_i, int jbody, int edge_index, double* xmj, double rounded_radius_j, double k_n, double k_na, double cut_inner, Contact* contact_list, int &num_contacts, double& energy, double* facc); + // an edge vs. an edge from another body int interaction_edge_to_edge(int ibody, int edge_index_i, double* xmi, double rounded_radius_i, int jbody, int edge_index_j, double* xmj, double rounded_radius_j, @@ -113,29 +123,38 @@ class PairBodyRoundedPolyhedron : public Pair { Contact* contact_list, int &num_contacts, double& energy, double* facc); + // compute contact forces if contact points are detected void contact_forces(int ibody, int jbody, double *xi, double *xj, double delx, double dely, double delz, double fx, double fy, double fz, double** x, double** v, double** angmom, double** f, double** torque, double* facc); + // compute force and torque between two bodies given a pair of interacting points void pair_force_and_torque(int ibody, int jbody, double* pi, double* pj, double r, double contact_dist, double k_n, - double k_na, double shift, double** x, double** v, + double k_na, double** x, double** v, double** f, double** torque, double** angmom, int jflag, double& energy, double* facc); + // rescale the cohesive forces if a contact area is detected void rescale_cohesive_forces(double** x, double** f, double** torque, Contact* contact_list, int &num_contacts, double k_n, double k_na, double* facc); + // compute the separation between two contacts double contact_separation(const Contact& c1, const Contact& c2); + // detect the unique contact points (as there may be double counts) void find_unique_contacts(Contact* contact_list, int& num_contacts); + // accumulate torque to a body given a force at a given point void sum_torque(double* xm, double *x, double fx, double fy, double fz, double* torque); - int opposite_sides(double* n, double* x0, double* a, double* b); + + // find the intersection point (if any) between an edge and a face int edge_face_intersect(double* x1, double* x2, double* x3, double* a, double* b, double* hi1, double* hi2, double& d1, double& d2, int& inside_a, int& inside_b); + // helper functions + int opposite_sides(double* n, double* x0, double* a, double* b); void project_pt_plane(const double* q, const double* p, const double* n, double* q_proj, double &d); void project_pt_plane(const double* q, const double* x1, const double* x2, -- GitLab From 179dcd68953adb0b45b6b91a990c0c222689a8f0 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 26 May 2018 10:02:53 -0500 Subject: [PATCH 113/675] Updated pair body rounded/polygon and rounded/polyhedron --- src/BODY/pair_body_rounded_polygon.cpp | 21 +++++++++++++-------- src/BODY/pair_body_rounded_polyhedron.cpp | 4 ++-- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 62a6d77a01..22300091ae 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -38,12 +38,14 @@ using namespace LAMMPS_NS; -//#define _POLYGON_DEBUG #define DELTA 10000 #define EPSILON 1e-3 #define MAX_CONTACTS 4 // maximum number of contacts for 2D models #define EFF_CONTACTS 2 // effective contacts for 2D models +//#define _CONVEX_POLYGON +//#define _POLYGON_DEBUG + enum {INVALID=0,NONE=1,VERTEXI=2,VERTEXJ=3,EDGE=4}; /* ---------------------------------------------------------------------- */ @@ -846,11 +848,11 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, #endif } + #ifdef _CONVEX_POLYGON // done with the edges from body j, // given that vertex ni interacts with only one vertex from one edge of body j - // comment out this break to take into account concave shapes - -// break; + break; + #endif } else if (mode == EDGE) { @@ -954,12 +956,11 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, #endif } // end if contact + #ifdef _CONVEX_POLYGON // done with the edges from body j, // given that vertex ni interacts with only one edge from body j - // comment out this break to take into account concave shapes - -// break; - + break; + #endif } // end if mode } // end for looping through the edges of body j @@ -1082,7 +1083,11 @@ int PairBodyRoundedPolygon::compute_distance_to_vertex(int ibody, // check if x0 (the queried vertex) and xmi (the body's center of mass) // are on the different sides of the edge + #ifdef _CONVEX_POLYGON int m = opposite_sides(xi1, xi2, x0, xmi); + #else + int m = 1; + #endif if (m == 0) { diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 42c107d68e..d0690335df 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -46,8 +46,8 @@ using namespace MathConst; #define DELTA 10000 #define EPSILON 1e-3 -#define MAX_FACE_SIZE 4 // maximum number of vertices per face (same as BodyRoundedPolyhedron) -#define MAX_CONTACTS 32 // for 3D models +#define MAX_FACE_SIZE 4 // maximum number of vertices per face (same as BodyRoundedPolyhedron) +#define MAX_CONTACTS 32 // for 3D models (including duplicated counts) //#define _POLYHEDRON_DEBUG -- GitLab From 4ca870b2a9f3107e7bf26e75f542c3ce893313de Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 26 May 2018 11:41:15 -0500 Subject: [PATCH 114/675] Updated doc page for pair body rounded/polygon --- doc/src/body.txt | 78 +++++++++++++++++++++------ doc/src/pair_body_rounded_polygon.txt | 48 ++++++++++++++++- src/BODY/pair_body_rounded_polygon.h | 17 ++++-- 3 files changed, 120 insertions(+), 23 deletions(-) diff --git a/doc/src/body.txt b/doc/src/body.txt index 8d49efdae4..b76ca1090c 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -28,16 +28,14 @@ column is used as the {bstyle} argument for the "atom_style body"_atom_style.html command. {nparticle} | rigid body with N sub-particles | -{rounded/polygon} | 2d convex polygon with N vertices :tb(c=2,s=|) +{rounded/polygon} | 2d polygons with N vertices :tb(c=2,s=|) +{rounded/polyhedron} | 3d polyhedra with N vertices, E edges and F faces :tb(c=2,s=|) The body style determines what attributes are stored for each body and thus how they can be used to compute pairwise body/body or bond/non-body (point particle) interactions. More details of each style are described below. -NOTE: The rounded/polygon style listed in the table above and -described below has not yet been relesed in LAMMPS. It will be soon. - We hope to add more styles in the future. See "Section 10.12"_Section_modify.html#mod_12 for details on how to add a new body style to the code. @@ -175,13 +173,11 @@ The {bflag2} argument is ignored. [Specifics of body style rounded/polygon:] -NOTE: Aug 2016 - This body style has not yet been added to LAMMPS. -The info below is a placeholder. - -The {rounded/polygon} body style represents body particles as a convex -polygon with a variable number N > 2 of vertices, which can only be -used for 2d models. One example use of this body style is for 2d -discrete element models, as described in "Fraige"_#Fraige. Similar to +The {rounded/polygon} body style represents body particles as +a polygon with a variable number N of vertices, which can only be +used for 2d models. Special cases for N = 1 (spheres) and N = 2 +(rods) are also included. One example use of this body style is for 2d +discrete element models, as described in "Fraige"_#Fraige. Similar to body style {nparticle}, the atom_style body command for this body style takes two additional arguments: @@ -203,15 +199,14 @@ x1 y1 z1 ... xN yN zN i j j k k ... -radius :pre +diameter :pre N is the number of vertices in the body particle. M = 6 + 3*N + 2*N + 1. The integer line has a single value N. The floating point line(s) list 6 moments of inertia followed by the coordinates of the N vertices (x1 to zN) as 3N values, followed by 2N vertex indices corresponding to the end points of the N edges, followed by a single -radius value = the smallest circle encompassing the polygon. That -last value is used to facilitate the body/body contact detection. +diameter value = the rounded diameter of the vertices. These floating-point values can be listed on as many lines as you wish; see the "read_data"_read_data.html command for more details. @@ -235,7 +230,10 @@ particles whose edge length is sqrt(2): -0.7071 0.7071 0 0.7071 0.7071 0 0.7071 -0.7071 0 -0 1 1 2 2 3 3 0 +0 1 +1 2 +2 3 +3 0 1.0 :pre The "pair_style body/rounded/polygon"_pair_body_rounded_polygon.html @@ -257,8 +255,8 @@ the body particle itself. These values are calculated using the current COM and orientation of the body particle. For images created by the "dump image"_dump_image.html command, if the -{body} keyword is set, then each body particle is drawn as a convex -polygon consisting of N line segments. Note that the line segments +{body} keyword is set, then each body particle is drawn as a polygon +consisting of N line segments. Note that the line segments are drawn between the N vertices, which does not correspond exactly to the physical extent of the body (because the "pair_style rounded/polygon"_pair_body_rounded_polygon.html defines finite-size @@ -267,6 +265,52 @@ tangent to the spheres). The drawn diameter of each line segment is determined by the {bflag1} parameter for the {body} keyword. The {bflag2} argument is ignored. +The {rounded/polyhedon} body style represents body particles as +a polyhedron with N vertices, E edges and F faces. +Special cases for N = 1 (spheres) and N = 2 (rods) are also valid. +Similar to body style {rounded/polygon}, the atom_style body command for this body +style takes two additional arguments: + +atom_style body rounded/polyhedron Nmin Nmax +Nmin = minimum # of vertices in any body in the system +Nmax = maximum # of vertices in any body in the system :pre + +The Nmin and Nmax arguments are used to bound the size of data +structures used internally by each particle. + +When the "read_data"_read_data.html command reads a data file for this +body style, the following information must be provided for each entry +in the {Bodies} section of the data file: + +atom-ID 3 M +N E F +ixx iyy izz ixy ixz iyz +x1 y1 z1 +... +xN yN zN +0 1 +1 2 +2 3 +... +0 1 2 -1 +0 2 3 -1 +... +1 2 3 4 +diameter :pre + +N is the number of vertices in the body particle. M = 6 + 3*N + 2*E ++ 4*F + 1. The integer line has three values: number of vertices (N), +number of edges (E) and number of faces (F). The floating point line(s) +list 6 moments of inertia followed by the coordinates of the N +vertices (x1 to zN) as 3N values, followed by 2N vertex indices +corresponding to the end points of the E edges, 4*F vertex indices defining F faces. +The last value is the radius value = the rounded diameter of the vertices. +These floating-point values can be listed on as many lines as you +wish; see the "read_data"_read_data.html command for more details. +Because the maxmimum vertices per face is hard-coded to be 4 (i.e. quadrilaterals), +faces with more than 4 vertices need to be split into triangles or quadrilaterals. +For triangular faces, the last index should be set to -1. + :line :link(Fraige) diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index b6dc2e37b5..32f698d9f7 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -8,12 +8,58 @@ pair_style body/rounded/polygon command :h3 +[Syntax:] + +pair_style body/rounded/polygon c_n c_t mu delta_ua cutoff :pre +c_n = normal damping coefficient +c_t = tangential damping coefficient +mu = normal friction coefficient during gross sliding +delta_ua = multiple contact scaling factor +cutoff = global sepration cutoff for interactions (distance units), see below for definition + +[Examples:] + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cutoff} +pair_coeff * * 100.0 1.0 +pair_coeff 1 1 100.0 1.0 :pre + [Description:] -Note: This feature is not yet implemented. +Style {body/rounded/polygon} is for use with body particles and calculates pairwise +body/body interactions as well as interactions between body and +point-particles. See "Section 6.14"_Section_howto.html#howto_14 +of the manual and the "body"_body.html doc page for more details on +using body particles. + +This pair style is designed for use with the "body/rounded/polygon" body style, +which is specified as an argument to the "atom-style body" command. +See the "body/rounded/polygon"_body.html doc page for more details about the body +styles LAMMPS supports. The pairwise interaction between the rounded polygons is described +in "Fraige"_#Fraige, where the polygons are rounded at the vertices and edges +by circles of diameter a. + +Because the polygons can have different rounded diameters, the cutoff specified in +the pair style command is for the surface separation between two interacting entities +(e.g. vertex-vertex, vertex-edge or edge-edge) excluding their rounded diameters, +i.e. separation = center-center distance - (rounded diameter of i + rounded diameter of j)/2. +The interaction forces and energies are also defined with respect to the rounded surface separation, +instead of center-center distance. + +For style {body/rounded/polygon}, the following coefficients must be defined for each +pair of atoms types via the "pair_coeff"_pair_coeff.html command as in +the examples above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +k_n (energy/distance^2) +k_na (energy/distance^2) :ul [Related commands:] "pair_style body"_pair_body.html [Default:] none + +:link(Fraige) +[(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, +Particuology, 6, 455 (2008). diff --git a/src/BODY/pair_body_rounded_polygon.h b/src/BODY/pair_body_rounded_polygon.h index 09c93b832e..919552305a 100644 --- a/src/BODY/pair_body_rounded_polygon.h +++ b/src/BODY/pair_body_rounded_polygon.h @@ -76,24 +76,31 @@ class PairBodyRoundedPolygon : public Pair { void allocate(); void body2space(int); + // sphere-sphere interaction + void sphere_against_sphere(int i, int j, double delx, double dely, double delz, + double rsq, double k_n, double k_na, + double** x, double** v, double** f, int evflag); + // vertex-edge interaction int vertex_against_edge(int i, int j, double k_n, double k_na, double** x, double** f, double** torque, tagint* tag, Contact* contact_list, int &num_contacts, double &evdwl, double* facc); - void sphere_against_sphere(int i, int j, double delx, double dely, double delz, - double rsq, double k_n, double k_na, - double** x, double** v, double** f, int evflag); + // compute distance between a point and an edge from another body int compute_distance_to_vertex(int ibody, int edge_index, double* xmi, double rounded_radius, double* x0, double x0_rounded_radius, double cut_inner, double &d, double hi[3], double &t, int &contact); - double contact_separation(const Contact& c1, const Contact& c2); + // compute contact forces if contact points are detected void contact_forces(Contact& contact, double j_a, double** x, - double** v, double** f, double** angmom, + double** v, double** f, double** angmom, + // compute the separation between two contacts + double contact_separation(const Contact& c1, const Contact& c2); double** torque, double &evdwl, double* facc); + // accumulate torque to a body given a force at a given point void sum_torque(double* xm, double *x, double fx, double fy, double fz, double* torque); + // helper functions int opposite_sides(double* x1, double* x2, double* a, double* b); void total_velocity(double* p, double *xcm, double* vcm, double *angmom, double *inertia, double *quat, double* vi); -- GitLab From 6b9637eaa3277e134f3d717990966fe03395dfb4 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 26 May 2018 12:34:07 -0500 Subject: [PATCH 115/675] Added doc page for pair body rounded/polyhedron and updated related pages --- doc/src/body.txt | 58 +++++++++++--------- doc/src/pair_body_rounded_polygon.txt | 14 +++-- doc/src/pair_body_rounded_polyhedron.txt | 67 ++++++++++++++++++++++++ 3 files changed, 110 insertions(+), 29 deletions(-) create mode 100644 doc/src/pair_body_rounded_polyhedron.txt diff --git a/doc/src/body.txt b/doc/src/body.txt index b76ca1090c..e936f5409c 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -240,34 +240,14 @@ The "pair_style body/rounded/polygon"_pair_body_rounded_polygon.html command can be used with this body style to compute body/body interactions. -For output purposes via the "compute -body/local"_compute_body_local.html and "dump local"_dump.html -commands, this body style produces one datum for each of the N -sub-particles in a body particle. The datum has 3 values: - -1 = x position of vertex -2 = y position of vertex -3 = z position of vertex :pre - -These values are the current position of the vertex within the -simulation domain, not a displacement from the center-of-mass (COM) of -the body particle itself. These values are calculated using the -current COM and orientation of the body particle. +:line -For images created by the "dump image"_dump_image.html command, if the -{body} keyword is set, then each body particle is drawn as a polygon -consisting of N line segments. Note that the line segments -are drawn between the N vertices, which does not correspond exactly to -the physical extent of the body (because the "pair_style -rounded/polygon"_pair_body_rounded_polygon.html defines finite-size -spheres at those point and the line segments between the spheres are -tangent to the spheres). The drawn diameter of each line segment is -determined by the {bflag1} parameter for the {body} keyword. The -{bflag2} argument is ignored. +[Specifics of body style rounded/polyhedron:] -The {rounded/polyhedon} body style represents body particles as +The {rounded/polyhedron} body style represents body particles as a polyhedron with N vertices, E edges and F faces. Special cases for N = 1 (spheres) and N = 2 (rods) are also valid. +This body style is for 3d discrete element models, as described in "Wang"_#Wang. Similar to body style {rounded/polygon}, the atom_style body command for this body style takes two additional arguments: @@ -313,6 +293,36 @@ For triangular faces, the last index should be set to -1. :line +For output purposes via the "compute +body/local"_compute_body_local.html and "dump local"_dump.html +commands, this body style produces one datum for each of the N +sub-particles in a body particle. The datum has 3 values: + +1 = x position of vertex +2 = y position of vertex +3 = z position of vertex :pre + +These values are the current position of the vertex within the +simulation domain, not a displacement from the center-of-mass (COM) of +the body particle itself. These values are calculated using the +current COM and orientation of the body particle. + +For images created by the "dump image"_dump_image.html command, if the +{body} keyword is set, then each body particle is drawn as a polygon +consisting of N line segments. Note that the line segments +are drawn between the N vertices, which does not correspond exactly to +the physical extent of the body (because the "pair_style +rounded/polygon"_pair_body_rounded_polygon.html defines finite-size +spheres at those point and the line segments between the spheres are +tangent to the spheres). The drawn diameter of each line segment is +determined by the {bflag1} parameter for the {body} keyword. The +{bflag2} argument is ignored. + +:line + :link(Fraige) [(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, Particuology, 6, 455 (2008). + +:link(Wang) +[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 32f698d9f7..5352f695b0 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -11,15 +11,16 @@ pair_style body/rounded/polygon command :h3 [Syntax:] pair_style body/rounded/polygon c_n c_t mu delta_ua cutoff :pre + c_n = normal damping coefficient c_t = tangential damping coefficient mu = normal friction coefficient during gross sliding delta_ua = multiple contact scaling factor -cutoff = global sepration cutoff for interactions (distance units), see below for definition +cutoff = global sepration cutoff for interactions (distance units), see below for definition :pre [Examples:] -pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cutoff} +pair_style body/rounded/polygon 20.0 5.0 0.0 1.0 0.5 pair_coeff * * 100.0 1.0 pair_coeff 1 1 100.0 1.0 :pre @@ -36,12 +37,13 @@ which is specified as an argument to the "atom-style body" command. See the "body/rounded/polygon"_body.html doc page for more details about the body styles LAMMPS supports. The pairwise interaction between the rounded polygons is described in "Fraige"_#Fraige, where the polygons are rounded at the vertices and edges -by circles of diameter a. +by circles of diameter a. This is a version of discrete element models (DEM) +with multiple contact points. Because the polygons can have different rounded diameters, the cutoff specified in the pair style command is for the surface separation between two interacting entities (e.g. vertex-vertex, vertex-edge or edge-edge) excluding their rounded diameters, -i.e. separation = center-center distance - (rounded diameter of i + rounded diameter of j)/2. +i.e. separation = center-center distance - (rounded diameter of entity i + rounded diameter of entity j)/2. The interaction forces and energies are also defined with respect to the rounded surface separation, instead of center-center distance. @@ -56,10 +58,12 @@ k_na (energy/distance^2) :ul [Related commands:] -"pair_style body"_pair_body.html +"pair_coeff"_pair_coeff.html [Default:] none :link(Fraige) [(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, Particuology, 6, 455 (2008). + + diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt new file mode 100644 index 0000000000..cfab0e6d15 --- /dev/null +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -0,0 +1,67 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style body/rounded/polyhedron command :h3 + +[Syntax:] + +pair_style body/rounded/polyhedron c_n c_t mu delta_ua cutoff :pre + +c_n = normal damping coefficient +c_t = tangential damping coefficient +mu = normal friction coefficient during gross sliding +delta_ua = multiple contact scaling factor +cutoff = global sepration cutoff for interactions (distance units), see below for definition :pre + +[Examples:] + +pair_style body/rounded/polyhedron 20.0 5.0 0.0 1.0 0.5 +pair_coeff * * 100.0 1.0 +pair_coeff 1 1 100.0 1.0 :pre + +[Description:] + +Style {body/rounded/polyhedron} is for use with body particles and calculates pairwise +body/body interactions as well as interactions between body and +point-particles. See "Section 6.14"_Section_howto.html#howto_14 +of the manual and the "body"_body.html doc page for more details on +using body particles. + +This pair style is designed for use with the "body/rounded/polyhedron" body style, +which is specified as an argument to the "atom-style body" command. +See the "body/rounded/polyhedron"_body.html doc page for more details about the body +styles LAMMPS supports. The pairwise interaction between the rounded polygons is described +in "Wang"_#Wang, where the polygons are rounded at the vertices and edges +by circles of diameter a. This is a version of discrete element models (DEM) +with multiple contact points. + +Because the polygons can have different rounded diameters, the cutoff specified in +the pair style command is for the surface separation between two interacting entities +(e.g. vertex-vertex, vertex-edge, vertex-face and edge-edge) excluding their rounded diameters, +i.e. separation = center-center distance - (rounded diameter of entity i + rounded diameter of entity j)/2. +The interaction forces and energies are also defined with respect to the rounded surface separation, +instead of center-center distance. + +For style {body/rounded/polyhedron}, the following coefficients must be defined for each +pair of atoms types via the "pair_coeff"_pair_coeff.html command as in +the examples above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +k_n (energy/distance^2) +k_na (energy/distance^2) :ul + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none + +:link(Wang) +[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). + -- GitLab From 6438cffa5748b27347ca3e748235885e18cf91ec Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 26 May 2018 13:39:43 -0500 Subject: [PATCH 116/675] Added examples for body rounded/polygon --- examples/body/data.squares | 32 ++++++++++++++++++++++ examples/body/in.squares | 56 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100755 examples/body/data.squares create mode 100755 examples/body/in.squares diff --git a/examples/body/data.squares b/examples/body/data.squares new file mode 100755 index 0000000000..55a3dd09a0 --- /dev/null +++ b/examples/body/data.squares @@ -0,0 +1,32 @@ +LAMMPS data file for polygons: squares of edge length L: Izz = 1/6mL^2 +2 atoms +2 bodies +1 atom types +-6 6 xlo xhi +-6 6 ylo yhi +-0.5 0.5 zlo zhi + +Atoms + +1 1 1 1 0 0 0 +2 1 1 1 5 1 0 + +Bodies + +1 1 19 +4 +1 1 2.67 0 0 0 +-2 -2 0 +-2 2 0 +2 2 0 +2 -2 0 +0.5 +2 1 19 +4 +1 1 2.67 0 0 0 +-2 -2 0 +-2 2 0 +2 2 0 +2 -2 0 +0.5 + diff --git a/examples/body/in.squares b/examples/body/in.squares new file mode 100755 index 0000000000..146ba497e6 --- /dev/null +++ b/examples/body/in.squares @@ -0,0 +1,56 @@ +# 2d rounded polygon bodies + +variable r index 3 +variable steps index 100000 +variable T index 0.5 +variable P index 0.2 +variable seed index 980411 + +units lj +dimension 2 + +atom_style body rounded/polygon 1 6 +atom_modify map array +read_data data.squares + +replicate $r $r 1 + +velocity all create $T ${seed} dist gaussian mom yes rot yes + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 2 +variable c_n equal 0.1 +variable c_t equal 0.1 +variable mu equal 0.1 +variable delta_ua equal 0.5 + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_coeff * * ${k_n} ${k_na} + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +#fix 1 all nvt/body temp $T $T 1.0 +fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 & + y 0.001 $P 1.0 couple xy + +fix 2 all enforce2d + +compute 1 all body/local id 1 2 3 +dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] + +thermo_style custom step ke pe etotal press +thermo 1000 + +restart 100000 restart1.bin restart2.bin + +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 adiam 1.5 body yes 0 0 +#dump_modify 2 pad 6 + +run ${steps} -- GitLab From f2c302c2c4b7516660eab58d2f022fca9220b8b5 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 26 May 2018 14:59:40 -0500 Subject: [PATCH 117/675] Added fix wall/body/polygon and related doc pages --- doc/src/fix_wall_body_polygon.txt | 100 +++++++++++++++++++++++ doc/src/fix_wall_body_polyhedron.txt | 100 +++++++++++++++++++++++ doc/src/pair_body_rounded_polygon.txt | 4 +- doc/src/pair_body_rounded_polyhedron.txt | 4 +- src/BODY/fix_wall_body_polygon.h | 4 +- 5 files changed, 207 insertions(+), 5 deletions(-) create mode 100644 doc/src/fix_wall_body_polygon.txt create mode 100644 doc/src/fix_wall_body_polyhedron.txt diff --git a/doc/src/fix_wall_body_polygon.txt b/doc/src/fix_wall_body_polygon.txt new file mode 100644 index 0000000000..00d23c207c --- /dev/null +++ b/doc/src/fix_wall_body_polygon.txt @@ -0,0 +1,100 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix wall/body/polygon command :h3 + +[Syntax:] + +fix ID group-ID wall/body/polygon k_n c_n c_t wallstyle args keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +wall/body/polygon = style name of this fix command :l +k_n = normal repulsion strength (force/distance units or pressure units - see discussion below) :l +c_n = normal damping coefficient (force/distance units or pressure units - see discussion below) :l +c_t = tangential damping coefficient (force/distance units or pressure units - see discussion below) :l +wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l +args = list of arguments for a particular style :l + {xplane} or {yplane} args = lo hi + lo,hi = position of lower and upper plane (distance units), either can be NULL) + {zcylinder} args = radius + radius = cylinder radius (distance units) :pre +zero or more keyword/value pairs may be appended to args :l +keyword = {wiggle} :l + {wiggle} values = dim amplitude period + dim = {x} or {y} or {z} + amplitude = size of oscillation (distance units) + period = time of oscillation (time units) :pre +:ule + +[Examples:] + +fix 1 all wall/body/polygon 1000.0 20.0 5.0 xplane -10.0 10.0 + +[Description:] + +Bound the simulation domain of systems of body particles of style +body/rounded/polygon with wall(s). All particles in the group interact +with the wall when they are close enough to touch it. +The nature of the interaction between the wall and the polygons is +the same as that between the polygons themselves, which is similar to the Hookean potential. + +This fix is designed for use with the "body/rounded/polygon" body style, +which is specified as an argument to the "atom-style body" command. +The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the +"pair_style body/rounded/polygon"_pair_body_rounded_polygon.html commands. + +The {wallstyle} can be planar or cylindrical. The 3 planar options +specify a pair of walls in a dimension. Wall positions are given by +{lo} and {hi}. Either of the values can be specified as NULL if a +single wall is desired. For a {zcylinder} wallstyle, the cylinder's +axis is at x = y = 0.0, and the radius of the cylinder is specified. + +Optionally, the wall can be moving, if the {wiggle} keyword is appended. + +For the {wiggle} keyword, the wall oscillates sinusoidally, similar to +the oscillations of particles which can be specified by the +"fix move"_fix_move.html command. This is useful in packing +simulations of particles. The arguments to the {wiggle} +keyword specify a dimension for the motion, as well as it's +{amplitude} and {period}. Note that if the dimension is in the plane +of the wall, this is effectively a shearing motion. If the dimension +is perpendicular to the wall, it is more of a shaking motion. A +{zcylinder} wall can only be wiggled in the z dimension. + +Each timestep, the position of a wiggled wall in the appropriate {dim} +is set according to this equation: + +position = coord + A - A cos (omega * delta) :pre + +where {coord} is the specified initial position of the wall, {A} is +the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the time +elapsed since the fix was specified. The velocity of the wall is set +to the derivative of this expression. + +[Restart, fix_modify, output, run start/stop, minimize info:] + +None of the "fix_modify"_fix_modify.html options are relevant to this +fix. No global or per-atom quantities are stored by this fix for +access by various "output commands"_Section_howto.html#howto_15. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + +[Restrictions:] + +This fix is part of the BODY package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +Any dimension (xyz) that has a wall must be non-periodic. + +[Related commands:] + +"pair_style body/rounded/polygon"_pair_body_rounded_polygon.html + +[Default:] none diff --git a/doc/src/fix_wall_body_polyhedron.txt b/doc/src/fix_wall_body_polyhedron.txt new file mode 100644 index 0000000000..a1eef4df07 --- /dev/null +++ b/doc/src/fix_wall_body_polyhedron.txt @@ -0,0 +1,100 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix wall/body/polyhedron command :h3 + +[Syntax:] + +fix ID group-ID wall/body/polyhedron k_n c_n c_t wallstyle args keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +wall/body/polyhedron = style name of this fix command :l +k_n = normal repulsion strength (force/distance units or pressure units - see discussion below) :l +c_n = normal damping coefficient (force/distance units or pressure units - see discussion below) :l +c_t = tangential damping coefficient (force/distance units or pressure units - see discussion below) :l +wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l +args = list of arguments for a particular style :l + {xplane} or {yplane} args = lo hi + lo,hi = position of lower and upper plane (distance units), either can be NULL) + {zcylinder} args = radius + radius = cylinder radius (distance units) :pre +zero or more keyword/value pairs may be appended to args :l +keyword = {wiggle} :l + {wiggle} values = dim amplitude period + dim = {x} or {y} or {z} + amplitude = size of oscillation (distance units) + period = time of oscillation (time units) :pre +:ule + +[Examples:] + +fix 1 all wall/body/polyhedron 1000.0 20.0 5.0 xplane -10.0 10.0 + +[Description:] + +Bound the simulation domain of systems of body particles of style +body/rounded/polyhedron with wall(s). All particles in the group interact +with the wall when they are close enough to touch it. +The nature of the interaction between the wall and the polygons is +the same as that between the polygons themselves, which is similar to the Hookean potential. + +This fix is designed for use with the "body/rounded/polyhedron" body style, +which is specified as an argument to the "atom-style body" command. +The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the +"pair_style body/rounded/polyhedron"_pair_body_rounded_polygon.html commands. + +The {wallstyle} can be planar or cylindrical. The 3 planar options +specify a pair of walls in a dimension. Wall positions are given by +{lo} and {hi}. Either of the values can be specified as NULL if a +single wall is desired. For a {zcylinder} wallstyle, the cylinder's +axis is at x = y = 0.0, and the radius of the cylinder is specified. + +Optionally, the wall can be moving, if the {wiggle} keyword is appended. + +For the {wiggle} keyword, the wall oscillates sinusoidally, similar to +the oscillations of particles which can be specified by the +"fix move"_fix_move.html command. This is useful in packing +simulations of particles. The arguments to the {wiggle} +keyword specify a dimension for the motion, as well as it's +{amplitude} and {period}. Note that if the dimension is in the plane +of the wall, this is effectively a shearing motion. If the dimension +is perpendicular to the wall, it is more of a shaking motion. A +{zcylinder} wall can only be wiggled in the z dimension. + +Each timestep, the position of a wiggled wall in the appropriate {dim} +is set according to this equation: + +position = coord + A - A cos (omega * delta) :pre + +where {coord} is the specified initial position of the wall, {A} is +the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the time +elapsed since the fix was specified. The velocity of the wall is set +to the derivative of this expression. + +[Restart, fix_modify, output, run start/stop, minimize info:] + +None of the "fix_modify"_fix_modify.html options are relevant to this +fix. No global or per-atom quantities are stored by this fix for +access by various "output commands"_Section_howto.html#howto_15. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + +[Restrictions:] + +This fix is part of the BODY package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +Any dimension (xyz) that has a wall must be non-periodic. + +[Related commands:] + +"pair_style body/rounded/polyhedron"_pair_body_rounded_polygon.html + +[Default:] none diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 5352f695b0..00896b4c7b 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -53,8 +53,8 @@ the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: -k_n (energy/distance^2) -k_na (energy/distance^2) :ul +k_n (energy/distance^2 units) +k_na (energy/distance^2 units) :ul [Related commands:] diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index cfab0e6d15..9a5c20ddb6 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -53,8 +53,8 @@ the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: -k_n (energy/distance^2) -k_na (energy/distance^2) :ul +k_n (energy/distance^2 units) +k_na (energy/distance^2 units) :ul [Related commands:] diff --git a/src/BODY/fix_wall_body_polygon.h b/src/BODY/fix_wall_body_polygon.h index 3521c6c797..b71dcb0683 100644 --- a/src/BODY/fix_wall_body_polygon.h +++ b/src/BODY/fix_wall_body_polygon.h @@ -45,7 +45,9 @@ class FixWallBodyPolygon : public Fix { protected: int wallstyle,pairstyle,wiggle,axis; - double kn,c_n,c_t; + double kn; // normal repulsion strength + double c_n; // normal damping coefficient + double c_t; // tangential damping coefficient double lo,hi,cylradius; double amplitude,period,omega; double dt; -- GitLab From 7aab9327318b3fb61b058b8c1a840791c5a3628f Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 29 May 2018 15:49:15 -0500 Subject: [PATCH 118/675] Fixed typos in pair body rounded/polygon header file --- src/BODY/pair_body_rounded_polygon.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/BODY/pair_body_rounded_polygon.h b/src/BODY/pair_body_rounded_polygon.h index 919552305a..aabe86270c 100644 --- a/src/BODY/pair_body_rounded_polygon.h +++ b/src/BODY/pair_body_rounded_polygon.h @@ -92,11 +92,13 @@ class PairBodyRoundedPolygon : public Pair { double &d, double hi[3], double &t, int &contact); // compute contact forces if contact points are detected - void contact_forces(Contact& contact, double j_a, double** x, - double** v, double** f, double** angmom, + void contact_forces(Contact& contact, double j_a, + double** x, double** v, double** angmom, double** f, + double** torque, double &evdwl, double* facc); + // compute the separation between two contacts double contact_separation(const Contact& c1, const Contact& c2); - double** torque, double &evdwl, double* facc); + // accumulate torque to a body given a force at a given point void sum_torque(double* xm, double *x, double fx, double fy, double fz, double* torque); -- GitLab From 6457e5eedbc7a6639cd1df0559da674202b2cbd7 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 29 May 2018 14:51:21 -0600 Subject: [PATCH 119/675] Commit1 JT 052918 modifs files --- examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc | 1 - examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp | 3 +- examples/SPIN/iron/in.spin.iron | 2 +- src/SPIN/atom_vec_spin.cpp | 4 +- src/SPIN/fix_nve_spin.cpp | 8 +- src/SPIN/fix_precession_spin.cpp | 6 +- src/SPIN/fix_precession_spin.h | 2 +- src/SPIN/pair_spin_dmi.cpp | 14 +-- src/SPIN/pair_spin_exchange.cpp | 17 ++-- src/SPIN/pair_spin_magelec.cpp | 99 ++++++++++----------- src/SPIN/pair_spin_neel.cpp | 14 +-- 11 files changed, 81 insertions(+), 89 deletions(-) diff --git a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc index c1d7e4f903..fd5eeb38b8 100644 --- a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc +++ b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc @@ -61,4 +61,3 @@ compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] run 1000 - diff --git a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp index e712e511be..76d41f724d 100644 --- a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp +++ b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp @@ -19,7 +19,8 @@ create_atoms 1 box mass 1 58.93 -set group all spin/random 31 1.72 +#set group all spin/random 31 1.72 +set group all spin 1.72 0.0 0.0 1.0 velocity all create 100 4928459 rot yes dist gaussian #pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0 diff --git a/examples/SPIN/iron/in.spin.iron b/examples/SPIN/iron/in.spin.iron index 0f40a5af21..758cc6c589 100644 --- a/examples/SPIN/iron/in.spin.iron +++ b/examples/SPIN/iron/in.spin.iron @@ -53,4 +53,4 @@ thermo 50 compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] -run 100000 +run 50000 diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 369ce8671e..22cd78036b 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -889,12 +889,10 @@ void AtomVecSpin::pack_data(double **buf) int AtomVecSpin::pack_data_hybrid(int i, double *buf) { - buf[0] = sp[i][0]; buf[1] = sp[i][1]; buf[2] = sp[i][2]; buf[3] = sp[i][3]; - return 4; } @@ -910,7 +908,7 @@ void AtomVecSpin::write_data(FILE *fp, int n, double **buf) "%-1.16e %d %d %d\n", (tagint) ubuf(buf[i][0]).i,(int) ubuf(buf[i][1]).i, buf[i][2],buf[i][3],buf[i][4], - buf[i][5],buf[i][6],buf[i][7],buf[i][8],buf[i][9], + buf[i][5],buf[i][6],buf[i][7],buf[i][8], (int) ubuf(buf[i][10]).i,(int) ubuf(buf[i][11]).i, (int) ubuf(buf[i][12]).i); } diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index bf45b8cb41..699426de9c 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -69,9 +69,9 @@ enum{NONE}; FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), + pair(NULL), spin_pairs(NULL), rsec(NULL), stack_head(NULL), stack_foot(NULL), - backward_stacks(NULL), forward_stacks(NULL), - pair(NULL), spin_pairs(NULL) + backward_stacks(NULL), forward_stacks(NULL) { if (lmp->citeme) lmp->citeme->add(cite_fix_nve_spin); @@ -248,8 +248,8 @@ void FixNVESpin::init() nlocal_max = atom->nlocal; stack_head = memory->grow(stack_head,nsectors,"NVE/spin:stack_head"); stack_foot = memory->grow(stack_foot,nsectors,"NVE/spin:stack_foot"); - forward_stacks = memory->grow(forward_stacks,nlocal_max,"NVE/spin:forward_stacks"); backward_stacks = memory->grow(backward_stacks,nlocal_max,"NVE/spin:backward_stacks"); + forward_stacks = memory->grow(forward_stacks,nlocal_max,"NVE/spin:forward_stacks"); if (nlocal_max == 0) error->all(FLERR,"Incorrect value of nlocal_max"); @@ -385,8 +385,8 @@ void FixNVESpin::pre_neighbor() if (nlocal_max < nlocal) { // grow linked lists if necessary nlocal_max = nlocal; - forward_stacks = memory->grow(forward_stacks,nlocal_max,"NVE/spin:forward_stacks"); backward_stacks = memory->grow(backward_stacks,nlocal_max,"NVE/spin:backward_stacks"); + forward_stacks = memory->grow(forward_stacks,nlocal_max,"NVE/spin:forward_stacks"); } for (int j = 0; j < nsectors; j++) { diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index 4ee5e87540..412b9d903b 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -200,7 +200,7 @@ void FixPrecessionSpin::post_force(int vflag) } if (aniso_flag) { // compute magnetic anisotropy - compute_anisotropy(i,spi,fmi); + compute_anisotropy(spi,fmi); emag -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); emag *= hbar; } @@ -219,7 +219,7 @@ void FixPrecessionSpin::compute_single_precession(int i, double spi[3], double f compute_zeeman(i,fmi); } if (aniso_flag) { - compute_anisotropy(i,spi,fmi); + compute_anisotropy(spi,fmi); } } @@ -236,7 +236,7 @@ void FixPrecessionSpin::compute_zeeman(int i, double fmi[3]) /* ---------------------------------------------------------------------- */ -void FixPrecessionSpin::compute_anisotropy(int i, double spi[3], double fmi[3]) +void FixPrecessionSpin::compute_anisotropy(double spi[3], double fmi[3]) { double scalar = nax*spi[0] + nay*spi[1] + naz*spi[2]; fmi[0] += scalar*Kax; diff --git a/src/SPIN/fix_precession_spin.h b/src/SPIN/fix_precession_spin.h index 2a616b61f0..9e7bd1a830 100644 --- a/src/SPIN/fix_precession_spin.h +++ b/src/SPIN/fix_precession_spin.h @@ -40,7 +40,7 @@ class FixPrecessionSpin : public Fix { int zeeman_flag, aniso_flag; void compute_single_precession(int, double *, double *); void compute_zeeman(int, double *); - void compute_anisotropy(int, double *, double *); + void compute_anisotropy(double *, double *); protected: int style; // style of the magnetic precession diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index c89ddd085a..5f735cd1a8 100755 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -46,7 +46,8 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairSpinDmi::PairSpinDmi(LAMMPS *lmp) : PairSpin(lmp) +PairSpinDmi::PairSpinDmi(LAMMPS *lmp) : PairSpin(lmp), +lockfixnvespin(NULL) { single_enable = 0; no_virial_fdotr_compute = 1; @@ -103,9 +104,10 @@ void PairSpinDmi::settings(int narg, char **arg) void PairSpinDmi::coeff(int narg, char **arg) { - if (!allocated) allocate(); + // check if args correct + if (strcmp(arg[2],"dmi") != 0) error->all(FLERR,"Incorrect args in pair_style command"); if (narg != 8) @@ -239,16 +241,15 @@ void PairSpinDmi::compute(int eflag, int vflag) i = ilist[ii]; itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; - spi[0] = sp[i][0]; spi[1] = sp[i][1]; spi[2] = sp[i][2]; - jlist = firstneigh[i]; - jnum = numneigh[i]; // loop on neighbors @@ -280,7 +281,7 @@ void PairSpinDmi::compute(int eflag, int vflag) local_cut2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; - // compute magnetic and mechanical components of soc_dmi + // compute dmi interaction if (rsq <= local_cut2) { compute_dmi(i,j,eij,fmi,spj); @@ -296,7 +297,6 @@ void PairSpinDmi::compute(int eflag, int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; - // check newton pair => see if needs correction if (newton_pair || j < nlocal) { f[j][0] -= fi[0]; f[j][1] -= fi[1]; diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 36708293f7..39c5823d03 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -49,7 +49,6 @@ using namespace MathConst; PairSpinExchange::PairSpinExchange(LAMMPS *lmp) : PairSpin(lmp), lockfixnvespin(NULL) { - hbar = force->hplanck/MY_2PI; single_enable = 0; no_virial_fdotr_compute = 1; lattice_flag = 0; @@ -203,7 +202,7 @@ void *PairSpinExchange::extract(const char *str, int &dim) void PairSpinExchange::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; - double evdwl,ecoul; + double evdwl, ecoul; double xi[3], rij[3], eij[3]; double spi[3], spj[3]; double fi[3], fmi[3]; @@ -233,15 +232,16 @@ void PairSpinExchange::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; + itype = type[i]; + + jlist = firstneigh[i]; + jnum = numneigh[i]; xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; - jlist = firstneigh[i]; - jnum = numneigh[i]; spi[0] = sp[i][0]; spi[1] = sp[i][1]; spi[2] = sp[i][2]; - itype = type[i]; // loop on neighbors @@ -293,13 +293,10 @@ void PairSpinExchange::compute(int eflag, int vflag) } if (eflag) { - if (rsq <= local_cut2) { - evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); - evdwl *= hbar; - } + evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); + evdwl *= hbar; } else evdwl = 0.0; - if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); } diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp index a4a17bd1db..7b6fd32333 100755 --- a/src/SPIN/pair_spin_magelec.cpp +++ b/src/SPIN/pair_spin_magelec.cpp @@ -46,9 +46,9 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairSpinMagelec::PairSpinMagelec(LAMMPS *lmp) : PairSpin(lmp) +PairSpinMagelec::PairSpinMagelec(LAMMPS *lmp) : PairSpin(lmp), +lockfixnvespin(NULL) { - hbar = force->hplanck/MY_2PI; single_enable = 0; no_virial_fdotr_compute = 1; lattice_flag = 0; @@ -103,42 +103,45 @@ void PairSpinMagelec::settings(int narg, char **arg) void PairSpinMagelec::coeff(int narg, char **arg) { - const double hbar = force->hplanck/MY_2PI; - if (!allocated) allocate(); - if (strcmp(arg[2],"magelec")==0) { - if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); - int ilo,ihi,jlo,jhi; - force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); - force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - - const double rij = force->numeric(FLERR,arg[3]); - const double magelec = (force->numeric(FLERR,arg[4])); - double mex = force->numeric(FLERR,arg[5]); - double mey = force->numeric(FLERR,arg[6]); - double mez = force->numeric(FLERR,arg[7]); - - double inorm = 1.0/(mex*mex+mey*mey+mez*mez); - mex *= inorm; - mey *= inorm; - mez *= inorm; - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_magelec[i][j] = rij; - ME[i][j] = magelec/hbar; - ME_mech[i][j] = magelec; - v_mex[i][j] = mex; - v_mey[i][j] = mey; - v_mez[i][j] = mez; - setflag[i][j] = 1; - count++; - } + // check if args correct + + if (strcmp(arg[2],"magelec") != 0) + error->all(FLERR,"Incorrect args in pair_style command"); + if (narg != 8) + error->all(FLERR,"Incorrect args in pair_style command"); + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + const double rij = force->numeric(FLERR,arg[3]); + const double magelec = (force->numeric(FLERR,arg[4])); + double mex = force->numeric(FLERR,arg[5]); + double mey = force->numeric(FLERR,arg[6]); + double mez = force->numeric(FLERR,arg[7]); + + double inorm = 1.0/(mex*mex+mey*mey+mez*mez); + mex *= inorm; + mey *= inorm; + mez *= inorm; + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + cut_spin_magelec[i][j] = rij; + ME[i][j] = magelec/hbar; + ME_mech[i][j] = magelec; + v_mex[i][j] = mex; + v_mey[i][j] = mey; + v_mez[i][j] = mez; + setflag[i][j] = 1; + count++; } - if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); - } else error->all(FLERR,"Incorrect args in pair_style command"); + } + if (count == 0) + error->all(FLERR,"Incorrect args in pair_style command"); } @@ -210,8 +213,7 @@ void PairSpinMagelec::compute(int eflag, int vflag) double evdwl, ecoul; double xi[3], rij[3], eij[3]; double spi[3], spj[3]; - double fi[3], fj[3]; - double fmi[3], fmj[3]; + double fi[3], fmi[3]; double local_cut2; double rsq, inorm; int *ilist,*jlist,*numneigh,**firstneigh; @@ -240,11 +242,11 @@ void PairSpinMagelec::compute(int eflag, int vflag) i = ilist[ii]; itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; - jlist = firstneigh[i]; - jnum = numneigh[i]; spi[0] = sp[i][0]; spi[1] = sp[i][1]; spi[2] = sp[i][2]; @@ -254,6 +256,7 @@ void PairSpinMagelec::compute(int eflag, int vflag) for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; + jtype = type[j]; spj[0] = sp[j][0]; spj[1] = sp[j][1]; @@ -262,21 +265,16 @@ void PairSpinMagelec::compute(int eflag, int vflag) evdwl = 0.0; fi[0] = fi[1] = fi[2] = 0.0; - fj[0] = fj[1] = fj[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; - fmj[0] = fmj[1] = fmj[2] = 0.0; - rij[0] = rij[1] = rij[2] = 0.0; rij[0] = x[j][0] - xi[0]; rij[1] = x[j][1] - xi[1]; rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; inorm = 1.0/sqrt(rsq); - eij[0] *= inorm; - eij[1] *= inorm; - eij[2] *= inorm; - - jtype = type[j]; + eij[0] = inorm*rij[0]; + eij[1] = inorm*rij[1]; + eij[2] = inorm*rij[2]; local_cut2 = cut_spin_magelec[itype][jtype]*cut_spin_magelec[itype][jtype]; @@ -296,11 +294,10 @@ void PairSpinMagelec::compute(int eflag, int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; - // check newton pair => see if needs correction if (newton_pair || j < nlocal) { - f[j][0] -= fj[0]; - f[j][1] -= fj[1]; - f[j][2] -= fj[2]; + f[j][0] -= fi[0]; + f[j][1] -= fi[1]; + f[j][2] -= fi[2]; } if (eflag) { diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index 408522045f..23328736b1 100755 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -47,7 +47,8 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairSpinNeel::PairSpinNeel(LAMMPS *lmp) : PairSpin(lmp) +PairSpinNeel::PairSpinNeel(LAMMPS *lmp) : PairSpin(lmp), +lockfixnvespin(NULL) { single_enable = 0; no_virial_fdotr_compute = 1; @@ -108,8 +109,6 @@ void PairSpinNeel::settings(int narg, char **arg) void PairSpinNeel::coeff(int narg, char **arg) { - const double hbar = force->hplanck/MY_2PI; - if (!allocated) allocate(); // check if args correct @@ -246,11 +245,13 @@ void PairSpinNeel::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; + itype = type[i]; + + jlist = firstneigh[i]; + jnum = numneigh[i]; xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; - jlist = firstneigh[i]; - jnum = numneigh[i]; spi[0] = sp[i][0]; spi[1] = sp[i][1]; spi[2] = sp[i][2]; @@ -285,7 +286,7 @@ void PairSpinNeel::compute(int eflag, int vflag) local_cut2 = cut_spin_neel[itype][jtype]*cut_spin_neel[itype][jtype]; - // compute magnetic and mechanical components of neel + // compute neel interaction if (rsq <= local_cut2) { compute_neel(i,j,rsq,eij,fmi,spi,spj); @@ -301,7 +302,6 @@ void PairSpinNeel::compute(int eflag, int vflag) fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; - // check newton pair => see if needs correction if (newton_pair || j < nlocal) { f[j][0] -= fi[0]; f[j][1] -= fi[1]; -- GitLab From f2a6aa249f1cbd28a77ce2744b337d3c7ea20cb2 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 29 May 2018 17:18:45 -0600 Subject: [PATCH 120/675] Commit2 JT 052918: doc --- doc/src/Eqs/pair_spin_dmi_interaction.jpg | Bin 7161 -> 6316 bytes doc/src/Eqs/pair_spin_dmi_interaction.tex | 7 +++++- doc/src/Eqs/pair_spin_me_interaction.jpg | Bin 23005 -> 10561 bytes doc/src/Eqs/pair_spin_neel_functions.jpg | Bin 0 -> 5936 bytes doc/src/Eqs/pair_spin_neel_functions.tex | 13 ++++++++++ doc/src/Eqs/pair_spin_neel_interaction.jpg | Bin 0 -> 11029 bytes doc/src/Eqs/pair_spin_neel_interaction.tex | 16 ++++++++++++ doc/src/compute_spin.txt | 8 +++--- doc/src/fix_langevin_spin.txt | 9 ++++--- doc/src/fix_nve_spin.txt | 2 +- doc/src/pair_spin_dmi.txt | 28 +++++---------------- doc/src/pair_spin_me.txt | 2 +- doc/src/pair_spin_neel.txt | 25 +++++++++--------- 13 files changed, 64 insertions(+), 46 deletions(-) create mode 100644 doc/src/Eqs/pair_spin_neel_functions.jpg create mode 100644 doc/src/Eqs/pair_spin_neel_functions.tex create mode 100644 doc/src/Eqs/pair_spin_neel_interaction.jpg create mode 100644 doc/src/Eqs/pair_spin_neel_interaction.tex diff --git a/doc/src/Eqs/pair_spin_dmi_interaction.jpg b/doc/src/Eqs/pair_spin_dmi_interaction.jpg index 74807b105d711c2724629968b417c043a852f18b..1d15b2199add75eefecb424f75ea2dbd363a1afe 100644 GIT binary patch delta 6192 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 literal 7161 zcmex==2{JMZGX6ipAj81Oz{Cu4E&~j(vN5x;Gcj`fKf)lw z$OsdK(f@BT@GvtnFbOaVFfcIw4T6Y=o!u1k1;Ruoi!ZypLgqu*?2|-(`8GhRz8*(8*HA!|PGCYc!w48@^B&1ZJ|hsD8j^Mt|DI zhF_kD@aF%2gh5Aufr*KUk&%s!i5a4Sg_Vh!k&QuwT|iJ&AwWo2OkCMP$v{Qb@c%6a z4n{@>MpmZ3!rvIK$sAp)^;70g#CLHn#ZAxS3T>P3EbW(A6Zv!xuf>7+@1zBJSOS;l zobnYwW-h1!up0}2tc{5^5 z%0yfL&c5Yj@_a>X|Ay7?IIIpVzVPLk;q9AjR}@XZi@xEUE1Bl8ZpY>LYR6oakT(k+ zrWZdmV=`!VG5q}ep4GGHbLVOzj_j07DtuP+`*_Uh%A2Ku`zdoif-q}Xdd@^zUNo>wtc^^xzP zWfH*^M#*!HgnMV$W~_Pr%hg=tnkaAi(#e8XT6#;LOTIF4IW#xXcx_GO!o3?~v~0zm zZ(Y9g(>@iG?s*mp8*fLZWVOw9S+sn2V!zkJPp@z38>XJ~%E}bYiOJ$Uv!KX|OCW#l z<$bZ$uFrIKo{Ww(Yno#}yHWh`+S`!_R);Uy(tWjj8mroqkVFWOY3sbr2iG=yeH6HUM!1KJfY7FTgqaU_?sLTwMR93?&VH8e_8AF@yTXZm%k=7o#n`2+14|iH$}sjWAc{Yz6TEd z)A#oJz58>&OrVeZvJ-zwTVxYBDkSWw<3M(2q3Md%`CKie)C0( ziz)^t4$i?zn=ZQ~PoA>q(1)Vt&6hrc?Pg?PvuFD2Hfz$-Tbf$YIxY)O9bfgMJ!aF~ z?3CCLpWn3->~DXb_6pv3dXj3J`QJNpt^YGTKGrYHvo)m2pUdAU^;vbX;m;G@Pv1(+ z|FrW}&-pc0e|Ga<4D7mfB3S2YtIyt@uI=Ycg)??6nzzYtX7UsviNd?bg*%>IoN`s* zee267YIo~7`!9V7{~2k&vM<%IBkxzG`|pqIS6;kjx2}`-NtMBq*2jDIy>Yeiou?^c zwLQX4FRQAaYtmnypN7WA7a5&#i#T;geqI^xoI>IAV$0G3;%u&;s#^c+%ucOY9gVYN zy4Hm7eas0xAG|cBZx(yNLWS=6*Z9qMU+=0~C9Cvd&-&E@Srexh?#>l|btLE|*Z0-4 zBBstV>lJakb~~H@+|hTlU3xZ(fBM*au>a2eJjHd(Y)-OWeYCv8W|4&JB9^J~X3xIK z&eQ9@xTVS~BWPt@J1SZ%xKX|`tm0ykjVe`N@7ENo}e3RZf zfAV`|%RWux<=cm)K^%(vnaZ~>V5*hyn6jDmr(d3b=CSkDYrlMqSDP%j#8-cU>)r#> z{0nY9-akS2Sn`e{wjc>P<;m%Lul=f6KiRY6lG^kWO7|Y{wqM9Cyx-RQZ8f({=!Foo zs#)gTbN*fAyOO_qk6f(MgPTu$z5eRXPyOhxYB$Ntb){Oe zWRh!L(OStM_qxr;rp+r6a@Km9YU9S%ov7;8vpzw2!~Vke(*6G#>hc z`*zWEa3Tmmb%DvuUmJ>6Nt+`DAZ+ zYU89kXYb8VGck3!<(Kj5a=5Ph_olntafi1&Ot^ZYSg|%OF5%7oIOA7Orq2=A@h;wS zd$P~bPf3@GTff}gf4B2hPmuqrm|HtqZ|>g6>bCaLwFNbkx{dBP9&2>oskCD9Rn;r|u6GIR(S(BKc^8_#-QAHG9j>x-j_RW5ThHsul|G*l6_mMfMcvEn zKf@f0hg+gIUFvB3Ff%d#5`)<%_p`5U%*!4sb+QyHoLaHy0FTU~w+E8AG?%Zqc<;q6 zhnO&SuClir`nk8;IFA%(J?XaC=NWd!`j`aor5C5SU!0!)xoE9QTHCy7mZe=$;b(5^ z=%0OiDEO7eQ6H|2N4kx(PBpMyp7!sI=ewr(>Sa^cXKX#k^yc(_^)QoMR>P}jV>M%Q z*H08lOR_GEIhIzkq*3#+(AJ;t&nMV&87@tlw{;KS6u0%$Q=gum`KChe;^u!+xe8zX zAAaTQ^jMtw*)#R*^WwtNgu|uBM70)pUi3Xs*x$Y2*ACC51+6O1r3t(Hdv#-jUp?%J znN$6B$z@e7`Y3aHSC@PF6x|`JSpSr&HZIk&+e`B zRhV?;wL*)Ebh*hlouAc>Om}Bo3_KoCI@L7nYF|fdz_cqMMzvFOP>iK^wSal0zD zKFwq7H~(w)^ujFnZ-HJ{K9zB@HvT$TTVW7<<)qKgtD9YZax%P?+>z9|YGIc|W|}C| z*_k)n-bu4*D0t23@b=gEsmZkN&fPa|_s)4di2N#Yre>etY?ewcDk96rwznNmEnuPE=@w!GhkM`OHY zC#{|N?73WFZo9~pv*MGMX(e(UNjasXQ!w$^&Op}&`5Bce2@@BbIdi+=&`YUPrz*D8 z8rQjdt1J-DzqjExo1MYZ{|u6aWtU2_tkdI<^FH|e`*HB6FJSY@@u zTZJ;-d;Mo5mh8AC8Cm6VxKMUSz}vZRx310p6msQKaNDYyPpo=5=ju-1NRm~J2lybhcZ}>Nsd*q)@1>Z}^|#rR{9Pg&Bcm*(&R2-9Kcserx+`$wdnn%+0;L zB6;>tKRd09@-hDz{6(+4=Go+HYJ6@_McW8M`dDJoTw&*^Aum z?yr+v=FOTl+ng)R%XZomSLOy#aNo!zZ%W&aXi{ajVOxml-bx#)>a$R&g*=h zaZNYpY#E0+zd-lx?VM62ArXmF44qsz>wWB4`B1FS^pt)_+pY|rB2H$fYv!`G$(z|U z9G@GOrJ1KE@0owS{{ImMO#wy*Mixd;2Nv2TWE5mjG;|CUNNiLnoM;fR@q@#{gBKq{ zTQZFHivKunEYnyfq1QfX+LJ1)o{0Yp$JQ+JG*J9Ky=LQH`%@p|KKpFY-wzie&xP-_>dTw|ZL$BpEVC+WfqH`4vF<9L zLX}Fz=*Cj1%Ph*iZ{*UZ@&5Jk)-Dj5(5;&w{Lo`p`l_C%h0St(6u5PI|sqV|&lx$#+#t<4s!i>Tgyoxp(&ThLoaJar2oJI>d79s)Pk@ zF3Oa=@!<;#t6KK~j@su7n=+cWPw?iisP&bd@#U=l%rnO#44yT2|7E>c))#+Feiqx# z&lB2DX{x_ncxrcp=J}`Z9?I`sDcHYlff|qZwrZ`qBZ-d2nd&TCtG}=_au)gaopp`< zGR@0EE!^Qtz%``{8vI&44{G8rEMTd4J(+FNwATL&;vZ_R%x;pDn6`B9g+im82h+-R zUr*TS+pjY1p7JdvRXGU_TkN2 zx@roC{3M)C+%bugOPnpkIrG#;u?2rk8O3+*JHwKf`AAb!Ubgl~#F_TFs~A`Wj!rA^ z4rFUcP`W$y(K1Yp%O0(B(yeFF-MP2J(Iv1$!d`RPKK6)-A6(zr1YR|6QPuxZJ8PTf zDUskC?WZs7<0?^E$o8n$IP!u{L&Vi>m6_M2IeB%?Ok=vy9bzQW^u%$t*aD3*3;qQk zKTY9!wdJwY)NcQ}ob=M)-+z0zZL8uFF|6D5pxXP^^55E#`#jnczbL$$@Q|~tiC3b5 z(P7)MU78}yo$5xuN}`1qolI4y3Fki1ym@2!l$ZIFd@nFCF}sJ_#4;{&{bo?LS;uAf z+e`M0}(46}bdT(pv9Ld+CShSV%44%7b(hP(LluBNV8ow4fEzuC0zKTDVA zj$iqoVQXFEtB?b2W`TVZ4TTnFepseDHJTx}Li5~q@ZIySn)6bx@3HH`bB&9g3t3urPLxF5s02wlg5#j&^xZwx}14ui9>!~uyLxq6>q8_Xl z?5PQ!3QbUBL4tUC-=O}v0Kxt_M1{HlBO`c_i-id~#s#gi5(N|j3L6a^7H+)w@B_TU z68P7hHOWMg<<6#@-G@XE+;MuV6cSOE%@8=jA?Qd&ZSASdXp3i4ZfebTE1xa>Zo-1j z1xz30?4GPz!xZw6)2~c@;_*2P)^wEwykKfwCBfnwz^gI6I`nD&9fp}vH)B#)o?x%Y zKeg9@$C6R&_GX?PUN2PZ)qff6VL9CD@%Ns$UxmZzmF7$NFIiq(m1b6QiRJriE^{?2 z*^4^@Gy^nJBo8&(O1ETA|E+7&y+ZcFf_r?6_t;r}`PzM9>hz2W=Z^3RJ$oJgKz7a# z$HTWGVtGaXMKXQOo|JD?DdJ`$|7-FKcd57&CjEyPh5D7dZYs@cWOTM*km6s`Izjdd z*L8;_Y8$QxX}ij@aIpnzt-mF8L8g~mN6)AANk(1Z^*+@(Q$q~6-a8b3QL?_(pvJy) zr%QvHT|=}^rvJBnIiHH>zfof^Y>GGNeziSY`PSwQzt@+RpNn}rm3L)Y#ODNOxq=Ck zH7uQzuT=i9arI}PX!55_zVzL?pQq<;TDVo`v|J8H@QYw46V3-phJr?xF88!1JenZF zpiq;$~Lc1E+VL3G;TrB0Fi3U<7Z$li8y<)yNRQaNW2-z}Li{m5S_i7#T6w#l12 z&Ff6AdYpN7CgP#@;p10~KK{z#?<<)tG21}Jit~B8hTuN_2i3(lqTE~3ukY?+(PY~2 zxB2&p2iqJxN*XF~Uq( z<-S^df^ET;mf4(a9jRPCx_X)~H^(*B*6?((NNq0bz0G3b<+$UsL?zKrjmL}#WO8k(Q*Nkl~ zPq`w>wCwAYgRdnzT(Y8W=U5zk6REU{?_lP&oRS`Hf#7DP6(<_wuBEkanz2ftNzD9` zkMrynjxRDyavh!`%_1)@SQeHVZdmZf(aPnuMfLHpiSIOjpZ^p8^I(Z7yOx#vtKA}( zmd@GKV75Z$@$v2Z+$^S49^&Bqy1&mk?)H|p%Ir-!;+*-LWNiDj@2Q7~FI0$4o^|Jb z_qyHI!E-pj96{l>-V4G7_=DTZ9iwoQzl@5gRJRXt-ng4hPHDxjjqW z7qA|grs$btEs^miHSPYqK7ozTLV9^UZ)i;mpOX-gE#m5_{6XnaR7vWF z1Z@ust|tvsvh(H|hwf=O_(||3D@T8_H0~wQ+mN;JD(+i%%0PoKZP)gM(xo(r*ps9!9M;# z>di=2wFcJkV|ouJNA)Z|5v9#iQ?C>l^!)ANeO=SDdcsW~MND|JD_CSrs)=3g&uX=SlF)S@S3jeyI{h4 z#3Z*QF_pn-28WgaV<Zi+LY3h5*`@Y7v1WU+~=v$8IU=bTZLhQs>7b91ARgZ z9!BnB+4bg-7?T#0Nyc-jir>M9cRp^uv$|h7*D=63z^h@=q*aY}kqk^GeqO4!ePSWP z24%C|vu>?=d-h_GLWjr1OqXTHxieS{a&L#aU5wq4*_*_`t|Y3mII^nYH21%#J&X(t K{O{`j-vj`|DlHxW diff --git a/doc/src/Eqs/pair_spin_dmi_interaction.tex b/doc/src/Eqs/pair_spin_dmi_interaction.tex index 1f26c08295..5a5a776f03 100644 --- a/doc/src/Eqs/pair_spin_dmi_interaction.tex +++ b/doc/src/Eqs/pair_spin_dmi_interaction.tex @@ -5,7 +5,12 @@ \begin{document} \begin{varwidth}{50in} \begin{equation} - \bm{H}_{dm} = \sum_{{ i,j}=1,i\neq j}^{N} \vec{D}\left(r_{ij}\right) \cdot\left(\vec{s}_{i}\times \vec{s}_{j}\right), \nonumber + \bm{H}_{dm} = -\sum_{{ i,j}=1,i\neq j}^{N} + \left( \vec{e}_{ij} \times \vec{D} \right) + \cdot\left(\vec{s}_{i}\times \vec{s}_{j}\right), + \nonumber \end{equation} \end{varwidth} \end{document} + \vec{D}\left(r_{ij}\right) + {\rm ~and~} \vec{D}\left(r_{ij}\right) = \vec{e}_{ij} \times \vec{D} diff --git a/doc/src/Eqs/pair_spin_me_interaction.jpg b/doc/src/Eqs/pair_spin_me_interaction.jpg index 7b43a993af82e9d7e98783e96a2d5b16edbeb02e..8ecddc959226c0e94fa533f36ad84f3afced6ba6 100644 GIT binary patch delta 10160 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 C&e|OS literal 23005 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 X>ay0o@9+kNqgJQ8rX~Lg{(lnymRRgy diff --git a/doc/src/Eqs/pair_spin_neel_functions.jpg b/doc/src/Eqs/pair_spin_neel_functions.jpg new file mode 100644 index 0000000000000000000000000000000000000000..57023634bf9de762613994e44174702f83c630d0 GIT binary patch literal 5936 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 literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/pair_spin_neel_functions.tex b/doc/src/Eqs/pair_spin_neel_functions.tex new file mode 100644 index 0000000000..ead5a2b87a --- /dev/null +++ b/doc/src/Eqs/pair_spin_neel_functions.tex @@ -0,0 +1,13 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath,amssymb,amsthm,bm} +\begin{document} +\begin{varwidth}{50in} + \begin{eqnarray} + g_1(r_{ij}) &=& g(r_{ij}) + \frac{12}{35} q(r_{ij}) \nonumber \\ + q_1(r_{ij}) &=& \frac{9}{5} q(r_{ij}) \nonumber \\ + q_2(r_{ij}) &=& - \frac{2}{5} q(r_{ij}) \nonumber + \end{eqnarray} +\end{varwidth} +\end{document} diff --git a/doc/src/Eqs/pair_spin_neel_interaction.jpg b/doc/src/Eqs/pair_spin_neel_interaction.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c30600d840e56bd04d994a0d16d73c80ddf760dd GIT binary patch literal 11029 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 literal 0 HcmV?d00001 diff --git a/doc/src/Eqs/pair_spin_neel_interaction.tex b/doc/src/Eqs/pair_spin_neel_interaction.tex new file mode 100644 index 0000000000..8b4ac33e73 --- /dev/null +++ b/doc/src/Eqs/pair_spin_neel_interaction.tex @@ -0,0 +1,16 @@ +\documentclass[preview]{standalone} +\usepackage{varwidth} +\usepackage[utf8x]{inputenc} +\usepackage{amsmath,amssymb,amsthm,bm} +\begin{document} +\begin{varwidth}{50in} + \begin{equation} + \mathcal{H}_{N\acute{e}el}=-\sum_{{ i,j=1,i\neq j}}^N g_1(r_{ij})\left(({\bm e}_{ij}\cdot {\bm s}_{i})({\bm e}_{ij} + \cdot {\bm s}_{j})-\frac{{\bm s}_{i}\cdot{\bm s}_{j}}{3} \right) + +q_1(r_{ij})\left( ({\bm e}_{ij}\cdot {\bm s}_{i})^2 -\frac{{\bm s}_{i}\cdot{\bm s}_{j}}{3}\right) + \left( ({\bm e}_{ij}\cdot {\bm s}_{i})^2 -\frac{{\bm s}_{i}\cdot{\bm s}_{j}}{3} \right) + + q_2(r_{ij}) \Big( ({\bm e}_{ij}\cdot {\bm s}_{i}) ({\bm e}_{ij}\cdot {\bm s}_{j})^3 + ({\bm e}_{ij}\cdot + {\bm s}_{j}) ({\bm e}_{ij}\cdot {\bm s}_{i})^3\Big) \nonumber + \end{equation} +\end{varwidth} +\end{document} diff --git a/doc/src/compute_spin.txt b/doc/src/compute_spin.txt index df75480430..fcc764c14c 100644 --- a/doc/src/compute_spin.txt +++ b/doc/src/compute_spin.txt @@ -21,7 +21,7 @@ compute out_mag all compute/spin :pre [Description:] -Define a computation that calculates the magnetic quantities for a system +Define a computation that calculates magnetic quantities for a system of atoms having spins. This compute calculates 6 magnetic quantities. @@ -30,11 +30,11 @@ The three first quantities are the x,y and z coordinates of the total magnetizat The fourth quantity is the norm of the total magnetization. -The fifth one is referred to as the spin temperature, according +The fifth quantity is the magnetic energy. + +The sixth one is referred to as the spin temperature, according to the work of "(Nurdin)"_#Nurdin1. -The sixth quantity is the magnetic energy. - The simplest way to output the results of the compute spin calculation is to define some of the quantities as variables, and to use the thermo and thermo_style commands, for example: diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index 20e98eba87..246ee02331 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -44,15 +44,16 @@ in metal units). More details about this implementation are reported in "(Tranchida)"_#Tranchida2. -Note: due to the form of the sLLG equation, this fix has to be the last defined -magnetic fix before the integration/spin fix. As an example: +Note: due to the form of the sLLG equation, this fix has to be defined just +before the nve/spin fix (and after all other magnetic fixes). +As an example: fix 1 all force/spin zeeman 0.01 0.0 0.0 1.0 fix 2 all langevin/spin 300.0 0.01 21 fix 3 all integration/spin lattice yes :pre is correct, but defining a force/spin command after the langevin/spin command -would send an error message. +would give an error message. Note: The random # {seed} must be a positive integer. A Marsaglia random number generator is used. Each processor uses the input seed to @@ -79,7 +80,7 @@ The {langevin/spin} fix is part of the SPIN package. This style is only enabled if LAMMPS was built with this package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. -The numerical integration has to be performed with {fix/integration/spin} +The numerical integration has to be performed with {fix/nve/spin} when {langevin/spin} is enabled. This fix has to be the last defined magnetic fix before the integration fix diff --git a/doc/src/fix_nve_spin.txt b/doc/src/fix_nve_spin.txt index 4f25003c5f..6ccebcebf6 100644 --- a/doc/src/fix_nve_spin.txt +++ b/doc/src/fix_nve_spin.txt @@ -39,7 +39,7 @@ the equations of motion of the spin lattice system, following the scheme: according to the implementation reported in "(Omelyan)"_#Omelyan1. -A sectoring enables this scheme for parallel calculations. +A sectoring method enables this scheme for parallel calculations. The implementation of this sectoring algorithm is reported in "(Tranchida)"_#Tranchida1. diff --git a/doc/src/pair_spin_dmi.txt b/doc/src/pair_spin_dmi.txt index 9ad74d567e..9fe53df18a 100644 --- a/doc/src/pair_spin_dmi.txt +++ b/doc/src/pair_spin_dmi.txt @@ -30,31 +30,15 @@ between pairs of magnetic spins: :c,image(Eqs/pair_spin_dmi_interaction.jpg) where si and sj are two neighboring magnetic spins of two particles, -rij = ri - rj is the inter-atomic distance between the two particles, -and D(rij) is the DM vector defining the intensity and the -sign of the exchange interaction. +eij = (ri - rj)/|ri-rj| is the normalized separation vector between the +two particles, and D is the DM vector defining the intensity and the +sign of the interaction. -This function is defined as: - -:c,image(Eqs/pair_spin_exchange_function.jpg) - -where a, b and d are the three constant coefficients defined in the associated -"pair_coeff" command. - -The coefficients a, b, and d need to be fitted so that the function above matches with -the value of the DM interaction for the N neighbor shells taken -into account. - -Examples and more explanations about this function and its parametrization are reported -in "(Tranchida)"_#Tranchida5. +Examples and more explanations about this interaction and its parametrization are +reported in "(Tranchida)"_#Tranchida5. From this DM interaction, each spin i will be submitted to a magnetic torque -omega and its associated atom to a force F (for spin-lattice calculations only), -such as: - -:c,image(Eqs/pair_spin_soc_dmi_forces.jpg) - -with h the Planck constant (in metal units). +omega and its associated atom to a force F (for spin-lattice calculations only). More details about the derivation of these torques/forces are reported in "(Tranchida)"_#Tranchida5. diff --git a/doc/src/pair_spin_me.txt b/doc/src/pair_spin_me.txt index 54c6d43300..8186775b77 100644 --- a/doc/src/pair_spin_me.txt +++ b/doc/src/pair_spin_me.txt @@ -30,7 +30,7 @@ pairs of magnetic spins. According to the derivation reported in :c,image(Eqs/pair_spin_me_interaction.jpg) where si and sj are neighboring magnetic spins of two particles, -rij = ri - rj is the normalized separation vector between the +eij = (ri - rj)/|ri-rj| is the normalized separation vector between the two particles, and E is an electric polarization vector. The norm and direction of E are giving the intensity and the direction of a screened dielectric atomic polarization (in eV). diff --git a/doc/src/pair_spin_neel.txt b/doc/src/pair_spin_neel.txt index 5c82b6ef6f..f7c9608a93 100644 --- a/doc/src/pair_spin_neel.txt +++ b/doc/src/pair_spin_neel.txt @@ -27,14 +27,18 @@ pair_coeff 1 2 neel 4.0 0.0048 0.234 1.168 0.0 0.0 1.0 :pre Style {spin/neel} computes the Neel pair anisotropy model between pairs of magnetic spins: -:c,image(Eqs/pair_spin_dmi_interaction.jpg) +:c,image(Eqs/pair_spin_neel_interaction.jpg) where si and sj are two neighboring magnetic spins of two particles, rij = ri - rj is the inter-atomic distance between the two particles, -and D(rij) is the DM vector defining the intensity and the -sign of the exchange interaction. +eij = (ri - rj)/|ri-rj| is their normalized separation vector +and g1, q1 and q2 are three functions defining the intensity of the +dipolar and quadrupolar contributions, with: -This function is defined as: +:c,image(Eqs/pair_spin_neel_functions.jpg) + +With the functions g(rij) and q(rij) defined and fitted according to the same +Bethe-Slater function used to fit the exchange interaction: :c,image(Eqs/pair_spin_exchange_function.jpg) @@ -42,19 +46,14 @@ where a, b and d are the three constant coefficients defined in the associated "pair_coeff" command. The coefficients a, b, and d need to be fitted so that the function above matches with -the value of the DM interaction for the N neighbor shells taken -into account. +the values of the magneto-elastic constant of the materials at stake. Examples and more explanations about this function and its parametrization are reported -in "(Tranchida)"_#Tranchida6. +in "(Tranchida)"_#Tranchida6. More examples of parametrization will be provided in +future work. From this DM interaction, each spin i will be submitted to a magnetic torque -omega and its associated atom to a force F (for spin-lattice calculations only), -such as: - -:c,image(Eqs/pair_spin_soc_dmi_forces.jpg) - -with h the Planck constant (in metal units). +omega and its associated atom to a force F (for spin-lattice calculations only). More details about the derivation of these torques/forces are reported in "(Tranchida)"_#Tranchida6. -- GitLab From d4cca615fb558d84411232f45d6de4758bc3f73e Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 29 May 2018 23:42:03 -0500 Subject: [PATCH 121/675] Refactored pair body rounded/polyhedron so that kernel_force() can be derived for other styles --- examples/body/in.squares | 8 +- src/BODY/pair_body_rounded_polyhedron.cpp | 126 +++++++++------------- src/BODY/pair_body_rounded_polyhedron.h | 36 +++---- 3 files changed, 72 insertions(+), 98 deletions(-) diff --git a/examples/body/in.squares b/examples/body/in.squares index 146ba497e6..c812b4e0be 100755 --- a/examples/body/in.squares +++ b/examples/body/in.squares @@ -1,9 +1,9 @@ # 2d rounded polygon bodies -variable r index 3 +variable r index 4 variable steps index 100000 variable T index 0.5 -variable P index 0.2 +variable P index 0.1 variable seed index 980411 units lj @@ -48,9 +48,7 @@ dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] thermo_style custom step ke pe etotal press thermo 1000 -restart 100000 restart1.bin restart2.bin - #dump 2 all image 10000 image.*.jpg type type zoom 2.0 adiam 1.5 body yes 0 0 #dump_modify 2 pad 6 -run ${steps} +run ${steps} diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index d0690335df..4c65f69530 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -123,7 +123,7 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) int i,j,ii,jj,inum,jnum,itype,jtype; int ni,nj,npi,npj,ifirst,jfirst,nei,nej,iefirst,jefirst; double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,facc[3]; - double rsq,eradi,eradj,k_nij,k_naij; + double rsq,eradi,eradj; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = 0.0; @@ -215,9 +215,6 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) nej = ednum[j]; jefirst = edfirst[j]; eradj = enclosing_radius[j]; - - k_nij = k_n[itype][jtype]; - k_naij = k_na[itype][jtype]; // no interaction @@ -227,8 +224,8 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) // sphere-sphere interaction if (npi == 1 && npj == 1) { - sphere_against_sphere(i, j, delx, dely, delz, rsq, - k_nij, k_naij, v, f, evflag); + sphere_against_sphere(i, j, itype, jtype, delx, dely, delz, + rsq, v, f, evflag); continue; } @@ -265,15 +262,15 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) // one of the two bodies is a sphere if (npj == 1) { - sphere_against_face(i, j, k_nij, k_naij, x, v, f, torque, + sphere_against_face(i, j, itype, jtype, x, v, f, torque, angmom, evflag); - sphere_against_edge(i, j, k_nij, k_naij, x, v, f, torque, + sphere_against_edge(i, j, itype, jtype, x, v, f, torque, angmom, evflag); continue; } else if (npi == 1) { - sphere_against_face(j, i, k_nij, k_naij, x, v, f, torque, + sphere_against_face(j, i, jtype, itype, x, v, f, torque, angmom, evflag); - sphere_against_edge(j, i, k_nij, k_naij, x, v, f, torque, + sphere_against_edge(j, i, jtype, itype, x, v, f, torque, angmom, evflag); continue; } @@ -287,21 +284,21 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) #ifdef _POLYHEDRON_DEBUG printf("INTERACTION between edges of %d vs. faces of %d:\n", i, j); #endif - interact = edge_against_face(i, j, k_nij, k_naij, x, contact_list, + interact = edge_against_face(i, j, itype, jtype, x, contact_list, num_contacts, evdwl, facc); // check interaction between j's edges and i' faces #ifdef _POLYHEDRON_DEBUG printf("\nINTERACTION between edges of %d vs. faces of %d:\n", j, i); #endif - interact = edge_against_face(j, i, k_nij, k_naij, x, contact_list, + interact = edge_against_face(j, i, jtype, itype, x, contact_list, num_contacts, evdwl, facc); // check interaction between i's edges and j' edges #ifdef _POLYHEDRON_DEBUG printf("INTERACTION between edges of %d vs. edges of %d:\n", i, j); #endif - interact = edge_against_edge(i, j, k_nij, k_naij, x, contact_list, + interact = edge_against_edge(i, j, itype, jtype, x, contact_list, num_contacts, evdwl, facc); // estimate the contact area @@ -309,7 +306,7 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) if (num_contacts > 0) { rescale_cohesive_forces(x, f, torque, contact_list, num_contacts, - k_nij, k_naij, facc); + itype, jtype, facc); } if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0.0, @@ -594,9 +591,8 @@ void PairBodyRoundedPolyhedron::body2space(int i) ---------------------------------------------------------------------- */ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, - double delx, double dely, double delz, double rsq, - double k_n, double k_na, double** v, double** f, - int evflag) + int itype, int jtype, double delx, double dely, double delz, double rsq, + double** v, double** f, int evflag) { double rradi,rradj,contact_dist; double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; @@ -612,7 +608,7 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, R = rij - contact_dist; energy = 0; - kernel_force(R, k_n, k_na, energy, fpair); + kernel_force(R, itype, jtype, energy, fpair); /* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; @@ -686,9 +682,8 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, ---------------------------------------------------------------------- */ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, - double k_n, double k_na, double** x, double** v, - double** f, double** torque, double** angmom, - int evflag) + int itype, int jtype, double** x, double** v, double** f, double** torque, + double** angmom, int evflag) { int ni,nei,ifirst,iefirst,npi1,npi2,ibonus; double xi1[3],xi2[3],vti[3],h[3],fn[3],ft[3],d,t; @@ -760,7 +755,7 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, R = rij - contact_dist; energy = 0; - kernel_force(R, k_n, k_na, energy, fpair); + kernel_force(R, itype, jtype, energy, fpair); /* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; @@ -844,9 +839,8 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, ---------------------------------------------------------------------- */ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, - double k_n, double k_na, double** x, double** v, - double** f, double** torque, double** angmom, - int evflag) + int itype, int jtype, double** x, double** v, double** f, double** torque, + double** angmom, int evflag) { int ni,nfi,inside,ifirst,iffirst,npi1,npi2,npi3,ibonus,tmp; double xi1[3],xi2[3],xi3[3],ui[3],vi[3],vti[3],n[3],h[3],fn[3],ft[3],d; @@ -913,7 +907,7 @@ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, R = rij - contact_dist; energy = 0; - kernel_force(R, k_n, k_na, energy, fpair); + kernel_force(R, itype, jtype, energy, fpair); /* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; @@ -1009,8 +1003,8 @@ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, ---------------------------------------------------------------------- */ int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, - double k_n, double k_na, double** x, Contact* contact_list, - int &num_contacts, double &evdwl, double* facc) + int itype, int jtype, double** x, Contact* contact_list, int &num_contacts, + double &evdwl, double* facc) { int ni,nei,nj,nej,contact,interact; double rradi,rradj,energy; @@ -1037,7 +1031,7 @@ int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, interact = interaction_edge_to_edge(ibody, ni, x[ibody], rradi, jbody, nj, x[jbody], rradj, - k_n, k_na, cut_inner, + itype, jtype, cut_inner, contact_list, num_contacts, energy, facc); } @@ -1065,8 +1059,8 @@ int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, ---------------------------------------------------------------------- */ int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, - double k_n, double k_na, double** x, Contact* contact_list, - int &num_contacts, double &evdwl, double* facc) + int itype, int jtype, double** x, Contact* contact_list, int &num_contacts, + double &evdwl, double* facc) { int ni,nei,nj,nfj,contact,interact; double rradi,rradj,energy; @@ -1095,7 +1089,7 @@ int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, interact = interaction_face_to_edge(jbody, nj, x[jbody], rradj, ibody, ni, x[ibody], rradi, - k_n, k_na, cut_inner, + itype, jtype, cut_inner, contact_list, num_contacts, energy, facc); } @@ -1132,20 +1126,10 @@ int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, ------------------------------------------------------------------------- */ int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, - int edge_index_i, - double *xmi, - double rounded_radius_i, - int jbody, - int edge_index_j, - double *xmj, - double rounded_radius_j, - double k_n, - double k_na, - double cut_inner, - Contact* contact_list, - int &num_contacts, - double &energy, - double* facc) + int edge_index_i, double *xmi, double rounded_radius_i, + int jbody, int edge_index_j, double *xmj, double rounded_radius_j, + int itype, int jtype, double cut_inner, + Contact* contact_list, int &num_contacts, double &energy, double* facc) { int ifirst,iefirst,jfirst,jefirst,npi1,npi2,npj1,npj2,interact; double xi1[3],xi2[3],xpj1[3],xpj2[3]; @@ -1219,7 +1203,7 @@ int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1 && r < contact_dist + cut_inner) { pair_force_and_torque(jbody, ibody, h1, h2, r, contact_dist, - k_n, k_na, x, v, f, torque, angmom, + jtype, itype, x, v, f, torque, angmom, jflag, energy, facc); interact = EE_INTERACT; @@ -1270,20 +1254,10 @@ int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, ------------------------------------------------------------------------- */ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, - int face_index, - double *xmi, - double rounded_radius_i, - int jbody, - int edge_index, - double *xmj, - double rounded_radius_j, - double k_n, - double k_na, - double cut_inner, - Contact* contact_list, - int &num_contacts, - double &energy, - double* facc) + int face_index, double *xmi, double rounded_radius_i, + int jbody, int edge_index, double *xmj, double rounded_radius_j, + int itype, int jtype, double cut_inner, + Contact* contact_list, int &num_contacts, double &energy, double* facc) { if (face_index >= facnum[ibody]) return EF_INVALID; @@ -1397,7 +1371,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, if (inside1) { if (static_cast(discrete[jfirst+npj1][6]) == 0) { pair_force_and_torque(jbody, ibody, xpj1, hi1, d1, contact_dist, - k_n, k_na, x, v, f, torque, angmom, + jtype, itype, x, v, f, torque, angmom, jflag, energy, facc); #ifdef _POLYHEDRON_DEBUG printf(" - compute pair force between vertex %d from edge %d of body %d " @@ -1436,7 +1410,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, if (inside2) { if (static_cast(discrete[jfirst+npj2][6]) == 0) { pair_force_and_torque(jbody, ibody, xpj2, hi2, d2, contact_dist, - k_n, k_na, x, v, f, torque, angmom, + jtype, itype, x, v, f, torque, angmom, jflag, energy, facc); #ifdef _POLYHEDRON_DEBUG printf(" - compute pair force between vertex %d from edge %d of body %d " @@ -1502,11 +1476,11 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, int jflag = 1; if (d1 < d2) pair_force_and_torque(jbody, ibody, xpj1, hi1, d1, contact_dist, - k_n, k_na, x, v, f, torque, angmom, + jtype, itype, x, v, f, torque, angmom, jflag, energy, facc); else pair_force_and_torque(jbody, ibody, xpj2, hi2, d2, contact_dist, - k_n, k_na, x, v, f, torque, angmom, + jtype, itype, x, v, f, torque, angmom, jflag, energy, facc); } @@ -1520,7 +1494,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, double* pi, double* pj, double r, double contact_dist, - double k_n, double k_na, double** x, + int itype, int jtype, double** x, double** v, double** f, double** torque, double** angmom, int jflag, double& energy, double* facc) { @@ -1531,7 +1505,7 @@ void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, delz = pi[2] - pj[2]; R = r - contact_dist; - kernel_force(R, k_n, k_na, energy, fpair); + kernel_force(R, itype, jtype, energy, fpair); /* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; @@ -1583,17 +1557,19 @@ void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, here is the harmonic potential (linear piece-wise forces) in Wang et al. ------------------------------------------------------------------------- */ -void PairBodyRoundedPolyhedron::kernel_force(double R, double k_n, double k_na, +void PairBodyRoundedPolyhedron::kernel_force(double R, int itype, int jtype, double& energy, double& fpair) { - double shift = k_na * cut_inner; + double kn = k_n[itype][jtype]; + double kna = k_na[itype][jtype]; + double shift = kna * cut_inner; double e = 0; if (R <= 0) { // deformation occurs - fpair = -k_n * R - shift; - e = (0.5 * k_n * R + shift) * R; + fpair = -kn * R - shift; + e = (0.5 * kn * R + shift) * R; } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap - fpair = k_na * R - shift; - e = (-0.5 * k_na * R + shift) * R; + fpair = kna * R - shift; + e = (-0.5 * kna * R + shift) * R; } else fpair = 0.0; energy += e; } @@ -1710,7 +1686,7 @@ void PairBodyRoundedPolyhedron::contact_forces(int ibody, int jbody, void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, double** f, double** torque, Contact* contact_list, int &num_contacts, - double k_n, double k_na, double* facc) + int itype, int jtype, double* facc) { int m,ibody,jbody; double delx,dely,delz,fx,fy,fz,R,fpair,r,contact_area; @@ -1766,7 +1742,7 @@ void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, R = contact_list[m].separation; double energy = 0; - kernel_force(R, k_n, k_na, energy, fpair); + kernel_force(R, itype, jtype, energy, fpair); /* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; diff --git a/src/BODY/pair_body_rounded_polyhedron.h b/src/BODY/pair_body_rounded_polyhedron.h index f59faf9ba6..71c04ff966 100644 --- a/src/BODY/pair_body_rounded_polyhedron.h +++ b/src/BODY/pair_body_rounded_polyhedron.h @@ -34,7 +34,7 @@ class PairBodyRoundedPolyhedron : public Pair { void init_style(); double init_one(int, int); - virtual void kernel_force(double R, double k_n, double k_na, + virtual void kernel_force(double R, int itype, int jtype, double& energy, double& fpair); struct Contact { @@ -88,23 +88,23 @@ class PairBodyRoundedPolyhedron : public Pair { void body2space(int); // sphere-sphere interaction - void sphere_against_sphere(int ibody, int jbody, double delx, double dely, double delz, - double rsq, double k_n, double k_na, + void sphere_against_sphere(int ibody, int jbody, int itype, int jtype, + double delx, double dely, double delz, double rsq, double** v, double** f, int evflag); // sphere-edge interaction - void sphere_against_edge(int ibody, int jbody, - double k_n, double k_na, double** x, double** v, - double** f, double** torque, double** angmom, int evflag); + void sphere_against_edge(int ibody, int jbody, int itype, int jtype, + double** x, double** v, double** f, double** torque, + double** angmom, int evflag); // sphere-face interaction - void sphere_against_face(int ibody, int jbody, - double k_n, double k_na, double** x, double** v, - double** f, double** torque, double** angmom, int evflag); + void sphere_against_face(int ibody, int jbody, int itype, int jtype, + double** x, double** v, double** f, double** torque, + double** angmom, int evflag); // edge-edge interactions - int edge_against_edge(int ibody, int jbody, double k_n, double k_na, + int edge_against_edge(int ibody, int jbody, int itype, int jtype, double** x,Contact* contact_list, int &num_contacts, double &evdwl, double* facc); // edge-face interactions - int edge_against_face(int ibody, int jbody, double k_n, double k_na, + int edge_against_face(int ibody, int jbody, int itype, int jtype, double** x, Contact* contact_list, int &num_contacts, double &evdwl, double* facc); @@ -112,14 +112,14 @@ class PairBodyRoundedPolyhedron : public Pair { int interaction_face_to_edge(int ibody, int face_index, double* xmi, double rounded_radius_i, int jbody, int edge_index, double* xmj, double rounded_radius_j, - double k_n, double k_na, double cut_inner, + int itype, int jtype, double cut_inner, Contact* contact_list, int &num_contacts, double& energy, double* facc); // an edge vs. an edge from another body int interaction_edge_to_edge(int ibody, int edge_index_i, double* xmi, double rounded_radius_i, int jbody, int edge_index_j, double* xmj, double rounded_radius_j, - double k_n, double k_na, double cut_inner, + int itype, int jtype, double cut_inner, Contact* contact_list, int &num_contacts, double& energy, double* facc); @@ -131,14 +131,14 @@ class PairBodyRoundedPolyhedron : public Pair { // compute force and torque between two bodies given a pair of interacting points void pair_force_and_torque(int ibody, int jbody, double* pi, double* pj, - double r, double contact_dist, double k_n, - double k_na, double** x, double** v, - double** f, double** torque, double** angmom, - int jflag, double& energy, double* facc); + double r, double contact_dist, int itype, int jtype, + double** x, double** v, double** f, double** torque, + double** angmom, int jflag, double& energy, double* facc); + // rescale the cohesive forces if a contact area is detected void rescale_cohesive_forces(double** x, double** f, double** torque, Contact* contact_list, int &num_contacts, - double k_n, double k_na, double* facc); + int itype, int jtype, double* facc); // compute the separation between two contacts double contact_separation(const Contact& c1, const Contact& c2); -- GitLab From 1fbd4fffd41e5e997fff63deb969eb89e1ed4fe1 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 29 May 2018 23:50:43 -0500 Subject: [PATCH 122/675] Updated rounded/polygon example --- examples/body/data.squares | 8 ++++---- examples/body/in.squares | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/body/data.squares b/examples/body/data.squares index 55a3dd09a0..6b198fd422 100755 --- a/examples/body/data.squares +++ b/examples/body/data.squares @@ -2,14 +2,14 @@ LAMMPS data file for polygons: squares of edge length L: Izz = 1/6mL^2 2 atoms 2 bodies 1 atom types --6 6 xlo xhi --6 6 ylo yhi +0 12 xlo xhi +0 12 ylo yhi -0.5 0.5 zlo zhi Atoms -1 1 1 1 0 0 0 -2 1 1 1 5 1 0 +1 1 1 1 4 5 0 +2 1 1 1 9 6 0 Bodies diff --git a/examples/body/in.squares b/examples/body/in.squares index c812b4e0be..8f949f2cdf 100755 --- a/examples/body/in.squares +++ b/examples/body/in.squares @@ -38,7 +38,7 @@ timestep 0.001 #fix 1 all nve/body #fix 1 all nvt/body temp $T $T 1.0 fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 & - y 0.001 $P 1.0 couple xy + y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 fix 2 all enforce2d -- GitLab From f5e9b1e021e57b0bc7c81a68964915aee623c9ca Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 29 May 2018 23:59:58 -0500 Subject: [PATCH 123/675] Added example input for fix wall rounded/polygon --- examples/body/in.squares | 4 +-- examples/body/in.wall2d | 56 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 2 deletions(-) create mode 100755 examples/body/in.wall2d diff --git a/examples/body/in.squares b/examples/body/in.squares index 8f949f2cdf..f771c15381 100755 --- a/examples/body/in.squares +++ b/examples/body/in.squares @@ -20,8 +20,8 @@ velocity all create $T ${seed} dist gaussian mom yes rot yes variable cut_inner equal 0.5 variable k_n equal 100 variable k_na equal 2 -variable c_n equal 0.1 -variable c_t equal 0.1 +variable c_n equal 1 +variable c_t equal 1 variable mu equal 0.1 variable delta_ua equal 0.5 diff --git a/examples/body/in.wall2d b/examples/body/in.wall2d new file mode 100755 index 0000000000..19788a9dcd --- /dev/null +++ b/examples/body/in.wall2d @@ -0,0 +1,56 @@ +# 2d rounded polygon bodies + +variable r index 4 +variable steps index 100000 +variable T index 0.5 +variable P index 0.1 +variable seed index 980411 + +units lj +dimension 2 + +atom_style body rounded/polygon 1 6 +atom_modify map array +read_data data.squares + +replicate $r $r 1 + +velocity all create $T ${seed} dist gaussian mom yes rot yes + +change_box all boundary p f p + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 2 +variable c_n equal 0.1 +variable c_t equal 0.1 +variable mu equal 0.1 +variable delta_ua equal 0.5 + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_coeff * * ${k_n} ${k_na} + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +#fix 1 all nvt/body temp $T $T 1.0 +fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 + +fix 2 all enforce2d +fix 3 all wall/body/polygon 2000 50 50 yplane 0.0 48.0 + +compute 1 all body/local id 1 2 3 +dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] + +thermo_style custom step ke pe etotal press +thermo 1000 + +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 adiam 1.5 body yes 0 0 +#dump_modify 2 pad 6 + +run ${steps} -- GitLab From 82b1ab2ac4b522d4b04db558b8959428873d01f0 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Wed, 30 May 2018 00:04:48 -0500 Subject: [PATCH 124/675] Cleaned up pair body rounded/polyhedron --- src/BODY/fix_wall_body_polygon.cpp | 2 +- src/BODY/fix_wall_body_polyhedron.cpp | 2 +- src/BODY/pair_body_rounded_polyhedron.cpp | 44 ----------------------- 3 files changed, 2 insertions(+), 46 deletions(-) diff --git a/src/BODY/fix_wall_body_polygon.cpp b/src/BODY/fix_wall_body_polygon.cpp index ea81ae26df..72a60b22d0 100644 --- a/src/BODY/fix_wall_body_polygon.cpp +++ b/src/BODY/fix_wall_body_polygon.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing authors: Trung Dac Nguyen (ndactrung@gmail.com) + Contributing author: Trung Dac Nguyen (ndactrung@gmail.com) ------------------------------------------------------------------------- */ #include diff --git a/src/BODY/fix_wall_body_polyhedron.cpp b/src/BODY/fix_wall_body_polyhedron.cpp index 4806da9673..879289ea42 100644 --- a/src/BODY/fix_wall_body_polyhedron.cpp +++ b/src/BODY/fix_wall_body_polyhedron.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing authors: Trung Dac Nguyen (ndactrung@gmail.com) + Contributing author: Trung Dac Nguyen (ndactrung@gmail.com) ------------------------------------------------------------------------- */ #include diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 4c65f69530..96307a0ab1 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -609,15 +609,6 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, energy = 0; kernel_force(R, itype, jtype, energy, fpair); -/* - if (R <= 0) { // deformation occurs - fpair = -k_n * R - shift; - energy = (0.5 * k_n * R + shift) * R; - } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap - fpair = k_na * R - shift; - energy = (-0.5 * k_na * R + shift) * R; - } else fpair = 0.0; -*/ fx = delx*fpair/rij; fy = dely*fpair/rij; @@ -756,16 +747,6 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, energy = 0; kernel_force(R, itype, jtype, energy, fpair); -/* - if (R <= 0) { // deformation occurs - fpair = -k_n * R - shift; - energy = (0.5 * k_n * R + shift) * R; - } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap - fpair = k_na * R - shift; - energy = (-0.5 * k_na * R + shift) * R; - } else fpair = 0.0; -*/ - fx = delx*fpair/rij; fy = dely*fpair/rij; @@ -908,15 +889,6 @@ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, energy = 0; kernel_force(R, itype, jtype, energy, fpair); -/* - if (R <= 0) { // deformation occurs - fpair = -k_n * R - shift; - energy = (0.5 * k_n * R + shift) * R; - } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap - fpair = k_na * R - shift; - energy = (-0.5 * k_na * R + shift) * R; - } else fpair = 0.0; -*/ fx = delx*fpair/rij; fy = dely*fpair/rij; @@ -1506,15 +1478,6 @@ void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, R = r - contact_dist; kernel_force(R, itype, jtype, energy, fpair); -/* - if (R <= 0) { // deformation occurs - fpair = -k_n * R - shift; - energy += (0.5 * k_n * R + shift) * R; - } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap - fpair = k_na * R - shift; - energy += (-0.5 * k_na * R + shift) * R; - } else fpair = 0.0; -*/ fx = delx*fpair/r; fy = dely*fpair/r; @@ -1743,13 +1706,6 @@ void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, double energy = 0; kernel_force(R, itype, jtype, energy, fpair); -/* - if (R <= 0) { // deformation occurs - fpair = -k_n * R - shift; - } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap - fpair = k_na * R - shift; - } else fpair = 0.0; -*/ fpair *= j_a; fx = delx*fpair/r; -- GitLab From 1ee85e59c3f25bb9fb70c8c703417cbac6b818bc Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Fri, 1 Jun 2018 14:50:41 -0400 Subject: [PATCH 125/675] Removed obsolete changes to fix_nve-manifold_rattle --- src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp b/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp index 543d49278d..4dcc3f9704 100644 --- a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp +++ b/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp @@ -513,6 +513,7 @@ void FixNVEManifoldRattle::rattle_manifold_x(double *x, double *v, const double c_inv = 1.0 / c; + while ( 1 ) { v[0] = vt[0] - l*no_dt[0]; v[1] = vt[1] - l*no_dt[1]; @@ -650,10 +651,10 @@ void FixNVEManifoldRattle::rattle_manifold_v(double *v, double *f, }while( (res > tolerance) && (iters < max_iter) ); if( iters >= max_iter && res >= tolerance ){ - char msg[2048]; - sprintf(msg,"Failed to constrain atom %d (x = (%f, %f, %f)! res = %e, iters = %d\n", - tagi, x[0], x[1], x[2], res, iters); - error->all(FLERR,msg); + char msg[2048]; + sprintf(msg,"Failed to constrain atom %d (x = (%f, %f, %f)! res = %e, iters = %d\n", + tagi, x[0], x[1], x[2], res, iters); + error->all(FLERR,msg); } stats.v_iters += iters; -- GitLab From 962946ee45df30722b1288afde0f7be334049842 Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Fri, 1 Jun 2018 14:52:34 -0400 Subject: [PATCH 126/675] Ported fix enforce2d to Kokkos. --- doc/src/fix_enforce2d.txt | 1 + src/KOKKOS/fix_enforce2d_kokkos.cpp | 102 ++++++++++++++++++++++++++++ src/KOKKOS/fix_enforce2d_kokkos.h | 92 +++++++++++++++++++++++++ 3 files changed, 195 insertions(+) create mode 100644 src/KOKKOS/fix_enforce2d_kokkos.cpp create mode 100644 src/KOKKOS/fix_enforce2d_kokkos.h diff --git a/doc/src/fix_enforce2d.txt b/doc/src/fix_enforce2d.txt index 5d04e96677..01840254b6 100644 --- a/doc/src/fix_enforce2d.txt +++ b/doc/src/fix_enforce2d.txt @@ -7,6 +7,7 @@ :line fix enforce2d command :h3 +fix enforce2d/kk command :h3 [Syntax:] diff --git a/src/KOKKOS/fix_enforce2d_kokkos.cpp b/src/KOKKOS/fix_enforce2d_kokkos.cpp new file mode 100644 index 0000000000..b5fb964ea8 --- /dev/null +++ b/src/KOKKOS/fix_enforce2d_kokkos.cpp @@ -0,0 +1,102 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Stefan Paquay (Brandeis University) +------------------------------------------------------------------------- */ + +#include "atom_masks.h" +#include "atom_kokkos.h" +#include "fix_enforce2d_kokkos.h" + +using namespace LAMMPS_NS; + + +template +FixEnforce2DKokkos::FixEnforce2DKokkos(LAMMPS *lmp, int narg, char **arg) : + FixEnforce2D(lmp, narg, arg) +{ + kokkosable = 1; + atomKK = (AtomKokkos *) atom; + execution_space = ExecutionSpaceFromDevice::space; + + datamask_read = X_MASK | V_MASK | F_MASK | MASK_MASK; + datamask_modify = X_MASK | V_MASK | F_MASK; +} + + +template +void FixEnforce2DKokkos::setup(int vflag) +{ + post_force(vflag); +} + + +template +void FixEnforce2DKokkos::post_force(int vflag) +{ + atomKK->sync(execution_space,datamask_read); + atomKK->modified(execution_space,datamask_modify); + + x = atomKK->k_x.view(); + v = atomKK->k_v.view(); + f = atomKK->k_f.view(); + + mask = atomKK->k_mask.view(); + + int nlocal = atomKK->nlocal; + if (igroup == atomKK->firstgroup) nlocal = atomKK->nfirst; + + FixEnforce2DKokkosPostForceFunctor functor(this); + Kokkos::parallel_for(nlocal,functor); + + // Probably sync here again? + atomKK->sync(execution_space,datamask_read); + atomKK->modified(execution_space,datamask_modify); + + for (int m = 0; m < nfixlist; m++) + flist[m]->enforce2d(); + + +} + + +template +void FixEnforce2DKokkos::post_force_item( int i ) const +{ + + if (mask[i] & groupbit){ + v(i,2) = 0; + x(i,2) = 0; + f(i,2) = 0; + + // Add for omega, angmom, torque... + } + +} + + +template +void FixEnforce2DKokkos::cleanup_copy() +{ + id = style = NULL; + vatom = NULL; +} + + +namespace LAMMPS_NS { +template class FixEnforce2DKokkos; +#ifdef KOKKOS_HAVE_CUDA +template class FixEnforce2DKokkos; +#endif +} diff --git a/src/KOKKOS/fix_enforce2d_kokkos.h b/src/KOKKOS/fix_enforce2d_kokkos.h new file mode 100644 index 0000000000..11cb213210 --- /dev/null +++ b/src/KOKKOS/fix_enforce2d_kokkos.h @@ -0,0 +1,92 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(enforce2d/kk,FixEnforce2DKokkos) +FixStyle(enforce2d/kk/device,FixEnforce2DKokkos) +FixStyle(enforce2d/kk/host,FixEnforce2DKokkos) + +#else + +#ifndef LMP_FIX_ENFORCE2D_KOKKOS_H +#define LMP_FIX_ENFORCE2D_KOKKOS_H + +#include "fix_enforce2d.h" +#include "kokkos_type.h" + +namespace LAMMPS_NS { + +template +class FixEnforce2DKokkos : public FixEnforce2D { + public: + FixEnforce2DKokkos(class LAMMPS *, int, char **); + // ~FixEnforce2DKokkos() {} + // void init(); + void cleanup_copy(); + void setup(int); + void post_force(int); + + KOKKOS_INLINE_FUNCTION + void post_force_item(int) const; + + // void min_setup(int); Kokkos does not support minimization (yet) + // void min_post_force(int); Kokkos does not support minimization (yet) + // void post_force_respa(int, int, int); No RRESPA support yet. + + private: + + typename ArrayTypes::t_x_array x; + typename ArrayTypes::t_v_array v; + typename ArrayTypes::t_f_array f; + + typename ArrayTypes::t_int_1d mask; +}; + + +template +struct FixEnforce2DKokkosPostForceFunctor { + typedef DeviceType device_type; + FixEnforce2DKokkos c; + + FixEnforce2DKokkosPostForceFunctor(FixEnforce2DKokkos* c_ptr): + c(*c_ptr) {c.cleanup_copy();}; + KOKKOS_INLINE_FUNCTION + void operator()(const int i) const { + c.post_force_item(i); + } +}; + + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Cannot use fix enforce2d with 3d simulation + +Self-explanatory. + +E: Fix enforce2d must be defined after fix %s + +UNDOCUMENTED + +*/ -- GitLab From 9dda907f7d94fd439da5f1006ed9dad14760b876 Mon Sep 17 00:00:00 2001 From: julient31 Date: Fri, 1 Jun 2018 15:19:27 -0600 Subject: [PATCH 127/675] Commit JT 060118 Changes Stan --- src/atom.cpp | 1 - src/dump_custom.cpp | 14 ++++++++------ src/verlet.cpp | 2 -- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/atom.cpp b/src/atom.cpp index 51b48f3e1b..3a4d2c3b38 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -507,7 +507,6 @@ AtomVec *Atom::new_avec(const char *style, int trysuffix, int &sflag) AtomVecCreator avec_creator = (*avec_map)[style]; return avec_creator(lmp); } - //printf("test entries function: %s, %d, %d \n ",style, trysuffix, &sflag); error->all(FLERR,"Unknown atom style"); return NULL; } diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 25925d6184..8e798ebd48 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -83,8 +83,8 @@ DumpCustom::DumpCustom(LAMMPS *lmp, int narg, char **arg) : pack_choice = new FnPtrPack[nfield]; vtype = new int[nfield]; - field2index = new int[nfield]; - argindex = new int[nfield]; + memory->create(field2index,nfield,"dump:field2index"); + memory->create(argindex,nfield,"dump:argindex"); buffer_allow = 1; buffer_flag = 1; @@ -201,8 +201,8 @@ DumpCustom::~DumpCustom() delete [] pack_choice; delete [] vtype; - delete [] field2index; - delete [] argindex; + memory->destroy(field2index); + memory->destroy(argindex); delete [] idregion; memory->destroy(thresh_array); @@ -245,8 +245,10 @@ DumpCustom::~DumpCustom() for (int i = 1; i <= ntypes; i++) delete [] typenames[i]; delete [] typenames; - for (int i = 0; i < size_one; i++) delete [] vformat[i]; - delete [] vformat; + if(vformat) { + for (int i = 0; i < size_one; i++) delete [] vformat[i]; + delete [] vformat; + } for (int i = 0; i < size_one; i++) delete [] format_column_user[i]; delete [] format_column_user; diff --git a/src/verlet.cpp b/src/verlet.cpp index a00b470e60..fe768f94c9 100644 --- a/src/verlet.cpp +++ b/src/verlet.cpp @@ -387,8 +387,6 @@ void Verlet::force_clear() if (nbytes) { memset(&atom->f[0][0],0,3*nbytes); - //test memset for fm - //memset(&atom->fm[0][0],0,3*nbytes); if (torqueflag) memset(&atom->torque[0][0],0,3*nbytes); if (extraflag) atom->avec->force_clear(0,nbytes); } -- GitLab From 031077b4fa2c62d59da6720b68c7dd633eb87377 Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Fri, 1 Jun 2018 17:19:53 -0400 Subject: [PATCH 128/675] Made enforce2d also set rotations to in-plane. --- src/KOKKOS/fix_enforce2d_kokkos.cpp | 106 ++++++++++++++++++++++++---- src/KOKKOS/fix_enforce2d_kokkos.h | 15 ++-- 2 files changed, 103 insertions(+), 18 deletions(-) diff --git a/src/KOKKOS/fix_enforce2d_kokkos.cpp b/src/KOKKOS/fix_enforce2d_kokkos.cpp index b5fb964ea8..88291ead6e 100644 --- a/src/KOKKOS/fix_enforce2d_kokkos.cpp +++ b/src/KOKKOS/fix_enforce2d_kokkos.cpp @@ -12,13 +12,16 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing authors: Stefan Paquay (Brandeis University) + Contributing authors: Stefan Paquay & Matthew Peterson (Brandeis University) ------------------------------------------------------------------------- */ #include "atom_masks.h" #include "atom_kokkos.h" +#include "comm.h" +#include "error.h" #include "fix_enforce2d_kokkos.h" + using namespace LAMMPS_NS; @@ -30,14 +33,21 @@ FixEnforce2DKokkos::FixEnforce2DKokkos(LAMMPS *lmp, int narg, char * atomKK = (AtomKokkos *) atom; execution_space = ExecutionSpaceFromDevice::space; - datamask_read = X_MASK | V_MASK | F_MASK | MASK_MASK; - datamask_modify = X_MASK | V_MASK | F_MASK; + datamask_read = X_MASK | V_MASK | F_MASK | OMEGA_MASK | MASK_MASK; + /* TORQUE_MASK | ANGMOM_MASK | */ // MASK_MASK; + + datamask_modify = X_MASK | V_MASK | F_MASK | OMEGA_MASK; // | + /* TORQUE_MASK | ANGMOM_MASK */ ; } template void FixEnforce2DKokkos::setup(int vflag) { + if( comm->me == 0 ){ + fprintf(screen, "omega, angmom and torque flags are %d, %d, %d\n", + atomKK->omega_flag, atomKK->angmom_flag, atomKK->torque_flag ); + } post_force(vflag); } @@ -52,13 +62,71 @@ void FixEnforce2DKokkos::post_force(int vflag) v = atomKK->k_v.view(); f = atomKK->k_f.view(); + if( atomKK->omega_flag ) + omega = atomKK->k_omega.view(); + + if( atomKK->angmom_flag ) + angmom = atomKK->k_angmom.view(); + + if( atomKK->torque_flag ) + torque = atomKK->k_torque.view(); + + mask = atomKK->k_mask.view(); int nlocal = atomKK->nlocal; if (igroup == atomKK->firstgroup) nlocal = atomKK->nfirst; - FixEnforce2DKokkosPostForceFunctor functor(this); - Kokkos::parallel_for(nlocal,functor); + int flag_mask = 0; + if( atomKK->omega_flag ) flag_mask |= 1; + if( atomKK->angmom_flag ) flag_mask |= 2; + if( atomKK->torque_flag ) flag_mask |= 4; + + switch( flag_mask ){ + case 0:{ + FixEnforce2DKokkosPostForceFunctor functor(this); + Kokkos::parallel_for(nlocal,functor); + break; + } + case 1:{ + FixEnforce2DKokkosPostForceFunctor functor(this); + Kokkos::parallel_for(nlocal,functor); + break; + } + case 2:{ + FixEnforce2DKokkosPostForceFunctor functor(this); + Kokkos::parallel_for(nlocal,functor); + break; + } + case 3:{ + FixEnforce2DKokkosPostForceFunctor functor(this); + Kokkos::parallel_for(nlocal,functor); + break; + } + case 4:{ + FixEnforce2DKokkosPostForceFunctor functor(this); + Kokkos::parallel_for(nlocal,functor); + break; + } + case 5:{ + FixEnforce2DKokkosPostForceFunctor functor(this); + Kokkos::parallel_for(nlocal,functor); + break; + } + case 6:{ + FixEnforce2DKokkosPostForceFunctor functor(this); + Kokkos::parallel_for(nlocal,functor); + break; + } + case 7:{ + FixEnforce2DKokkosPostForceFunctor functor(this); + Kokkos::parallel_for(nlocal,functor); + break; + } + default: + error->all(FLERR, "flag_mask outside of what it should be"); + } + // Probably sync here again? atomKK->sync(execution_space,datamask_read); @@ -66,23 +134,33 @@ void FixEnforce2DKokkos::post_force(int vflag) for (int m = 0; m < nfixlist; m++) flist[m]->enforce2d(); - - } template +template void FixEnforce2DKokkos::post_force_item( int i ) const { - if (mask[i] & groupbit){ - v(i,2) = 0; - x(i,2) = 0; - f(i,2) = 0; - - // Add for omega, angmom, torque... + // x(i,2) = 0; // Enforce2d does not set x[2] to zero either... :/ + v(i,2) = 0.0; + f(i,2) = 0.0; + + if(omega_flag){ + omega(i,0) = 0.0; + omega(i,1) = 0.0; + } + + if(angmom_flag){ + angmom(i,0) = 0.0; + angmom(i,1) = 0.0; + } + + if(torque_flag){ + torque(i,0) = 0.0; + torque(i,1) = 0.0; + } } - } diff --git a/src/KOKKOS/fix_enforce2d_kokkos.h b/src/KOKKOS/fix_enforce2d_kokkos.h index 11cb213210..4130797f2c 100644 --- a/src/KOKKOS/fix_enforce2d_kokkos.h +++ b/src/KOKKOS/fix_enforce2d_kokkos.h @@ -37,8 +37,9 @@ class FixEnforce2DKokkos : public FixEnforce2D { void setup(int); void post_force(int); + template KOKKOS_INLINE_FUNCTION - void post_force_item(int) const; + void post_force_item(const int i) const; // void min_setup(int); Kokkos does not support minimization (yet) // void min_post_force(int); Kokkos does not support minimization (yet) @@ -50,20 +51,26 @@ class FixEnforce2DKokkos : public FixEnforce2D { typename ArrayTypes::t_v_array v; typename ArrayTypes::t_f_array f; + typename ArrayTypes::t_v_array omega; + typename ArrayTypes::t_v_array angmom; + typename ArrayTypes::t_f_array torque; + typename ArrayTypes::t_int_1d mask; }; -template -struct FixEnforce2DKokkosPostForceFunctor { +template +struct FixEnforce2DKokkosPostForceFunctor { typedef DeviceType device_type; FixEnforce2DKokkos c; FixEnforce2DKokkosPostForceFunctor(FixEnforce2DKokkos* c_ptr): c(*c_ptr) {c.cleanup_copy();}; + KOKKOS_INLINE_FUNCTION void operator()(const int i) const { - c.post_force_item(i); + // c.template? Really C++? + c.template post_force_item (i); } }; -- GitLab From 0e9691831321c8d2c4f03614b3076eaa34f48f2f Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Fri, 1 Jun 2018 17:22:25 -0400 Subject: [PATCH 129/675] Made enforce2d_kokkos actually set data masks. --- src/KOKKOS/fix_enforce2d_kokkos.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/KOKKOS/fix_enforce2d_kokkos.cpp b/src/KOKKOS/fix_enforce2d_kokkos.cpp index 88291ead6e..e9a42e5c31 100644 --- a/src/KOKKOS/fix_enforce2d_kokkos.cpp +++ b/src/KOKKOS/fix_enforce2d_kokkos.cpp @@ -33,11 +33,11 @@ FixEnforce2DKokkos::FixEnforce2DKokkos(LAMMPS *lmp, int narg, char * atomKK = (AtomKokkos *) atom; execution_space = ExecutionSpaceFromDevice::space; - datamask_read = X_MASK | V_MASK | F_MASK | OMEGA_MASK | MASK_MASK; - /* TORQUE_MASK | ANGMOM_MASK | */ // MASK_MASK; + datamask_read = X_MASK | V_MASK | F_MASK | OMEGA_MASK | MASK_MASK + | TORQUE_MASK | ANGMOM_MASK; // | */ // MASK_MASK; - datamask_modify = X_MASK | V_MASK | F_MASK | OMEGA_MASK; // | - /* TORQUE_MASK | ANGMOM_MASK */ ; + datamask_modify = X_MASK | V_MASK | F_MASK | OMEGA_MASK + | TORQUE_MASK | ANGMOM_MASK; } -- GitLab From 824a21a661fe679fadaf3ef7f43e954a9e35e7a6 Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Mon, 4 Jun 2018 12:28:06 -0400 Subject: [PATCH 130/675] Removed debug printing from setup. --- src/KOKKOS/fix_enforce2d_kokkos.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/KOKKOS/fix_enforce2d_kokkos.cpp b/src/KOKKOS/fix_enforce2d_kokkos.cpp index e9a42e5c31..8ba68a0c0c 100644 --- a/src/KOKKOS/fix_enforce2d_kokkos.cpp +++ b/src/KOKKOS/fix_enforce2d_kokkos.cpp @@ -44,10 +44,6 @@ FixEnforce2DKokkos::FixEnforce2DKokkos(LAMMPS *lmp, int narg, char * template void FixEnforce2DKokkos::setup(int vflag) { - if( comm->me == 0 ){ - fprintf(screen, "omega, angmom and torque flags are %d, %d, %d\n", - atomKK->omega_flag, atomKK->angmom_flag, atomKK->torque_flag ); - } post_force(vflag); } -- GitLab From 4c28827aa101ceff3ab4df438c101893be1638e1 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 5 Jun 2018 12:32:18 -0600 Subject: [PATCH 131/675] JT commit 060518 --- src/SPIN/pair_spin_neel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index 23328736b1..36deab81f1 100755 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -583,8 +583,8 @@ void PairSpinNeel::compute_neel_mech(int i, int j, double rsq, double eij[3], do // adding three contributions fi[0] = pdx + pq1x + pq2x; - fi[2] = pdy + pq1y + pq2y; - fi[3] = pdz + pq1z + pq2z; + fi[1] = pdy + pq1y + pq2y; + fi[2] = pdz + pq1z + pq2z; } /* ---------------------------------------------------------------------- -- GitLab From 4bf9a93c11c9f2baf4290dea63b6db6e7ad199cb Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Wed, 6 Jun 2018 10:47:07 -0400 Subject: [PATCH 132/675] Removed x dependency from enforce2d_kokkos. --- src/KOKKOS/fix_enforce2d_kokkos.cpp | 9 ++++++--- src/KOKKOS/fix_enforce2d_kokkos.h | 2 -- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/KOKKOS/fix_enforce2d_kokkos.cpp b/src/KOKKOS/fix_enforce2d_kokkos.cpp index 8ba68a0c0c..da33455978 100644 --- a/src/KOKKOS/fix_enforce2d_kokkos.cpp +++ b/src/KOKKOS/fix_enforce2d_kokkos.cpp @@ -33,10 +33,10 @@ FixEnforce2DKokkos::FixEnforce2DKokkos(LAMMPS *lmp, int narg, char * atomKK = (AtomKokkos *) atom; execution_space = ExecutionSpaceFromDevice::space; - datamask_read = X_MASK | V_MASK | F_MASK | OMEGA_MASK | MASK_MASK + datamask_read = V_MASK | F_MASK | OMEGA_MASK | MASK_MASK | TORQUE_MASK | ANGMOM_MASK; // | */ // MASK_MASK; - datamask_modify = X_MASK | V_MASK | F_MASK | OMEGA_MASK + datamask_modify = V_MASK | F_MASK | OMEGA_MASK | TORQUE_MASK | ANGMOM_MASK; } @@ -44,6 +44,10 @@ FixEnforce2DKokkos::FixEnforce2DKokkos(LAMMPS *lmp, int narg, char * template void FixEnforce2DKokkos::setup(int vflag) { + if( comm->me == 0 ){ + fprintf(screen, "omega, angmom and torque flags are %d, %d, %d\n", + atomKK->omega_flag, atomKK->angmom_flag, atomKK->torque_flag ); + } post_force(vflag); } @@ -54,7 +58,6 @@ void FixEnforce2DKokkos::post_force(int vflag) atomKK->sync(execution_space,datamask_read); atomKK->modified(execution_space,datamask_modify); - x = atomKK->k_x.view(); v = atomKK->k_v.view(); f = atomKK->k_f.view(); diff --git a/src/KOKKOS/fix_enforce2d_kokkos.h b/src/KOKKOS/fix_enforce2d_kokkos.h index 4130797f2c..d8a13d281f 100644 --- a/src/KOKKOS/fix_enforce2d_kokkos.h +++ b/src/KOKKOS/fix_enforce2d_kokkos.h @@ -46,8 +46,6 @@ class FixEnforce2DKokkos : public FixEnforce2D { // void post_force_respa(int, int, int); No RRESPA support yet. private: - - typename ArrayTypes::t_x_array x; typename ArrayTypes::t_v_array v; typename ArrayTypes::t_f_array f; -- GitLab From d0ba8e1dcbe7527914a6f5bb1dc74bf4fda8c5f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Trnka?= Date: Wed, 6 Jun 2018 17:24:26 +0200 Subject: [PATCH 133/675] Make omega_mass proportional to (N+1)kT According to papers like Martyna, Tobias, Klein (JCP 1994, doi:10.1063/1.467468 section II.F) and Martyna, Tuckerman, Tobias, Klein (Mol. Phys. 1996, doi:10.1080/00268979600100761 section 2.5), the mass of the cell parameters should be proportional to (Ndof + dim) / dim, or in other words, Natoms + 1. --- src/fix_nh.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fix_nh.cpp b/src/fix_nh.cpp index 186376d952..170fd9db16 100644 --- a/src/fix_nh.cpp +++ b/src/fix_nh.cpp @@ -798,7 +798,7 @@ void FixNH::setup(int vflag) if (pstat_flag) { double kt = boltz * t_target; - double nkt = atom->natoms * kt; + double nkt = (atom->natoms + 1) * kt; for (int i = 0; i < 3; i++) if (p_flag[i]) @@ -1826,7 +1826,7 @@ void FixNH::nhc_press_integrate() // Update masses, to preserve initial freq, if flag set if (omega_mass_flag) { - double nkt = atom->natoms * kt; + double nkt = (atom->natoms + 1) * kt; for (int i = 0; i < 3; i++) if (p_flag[i]) omega_mass[i] = nkt/(p_freq[i]*p_freq[i]); -- GitLab From 3495141dbe6b4728ab2ad9bcd2f2ecd43994c2da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Trnka?= Date: Wed, 6 Jun 2018 17:35:19 +0200 Subject: [PATCH 134/675] Fix the target kinetic energy of the NH barostat The cell momenta should be thermostatted to kT per barostat degree of freedom (d^2 in general, d*(d-1) without rotations), according to Shinoda et al. 2004 (doi:10.1103/PhysRevB.69.134103) Eqn. 1 and Martyna, Tobias, Klein (JCP 1994, doi:10.1063/1.467468 section II.D). --- src/fix_nh.cpp | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/src/fix_nh.cpp b/src/fix_nh.cpp index 170fd9db16..73c70420c5 100644 --- a/src/fix_nh.cpp +++ b/src/fix_nh.cpp @@ -1446,7 +1446,7 @@ double FixNH::compute_scalar() double volume; double energy; double kt = boltz * t_target; - double lkt_press = kt; + double lkt_press = 0.0; int ich; if (dimension == 3) volume = domain->xprd * domain->yprd * domain->zprd; else volume = domain->xprd * domain->yprd; @@ -1477,15 +1477,21 @@ double FixNH::compute_scalar() // sum is over barostatted dimensions if (pstat_flag) { - for (i = 0; i < 3; i++) - if (p_flag[i]) + for (i = 0; i < 3; i++) { + if (p_flag[i]) { energy += 0.5*omega_dot[i]*omega_dot[i]*omega_mass[i] + p_hydro*(volume-vol0) / (pdim*nktv2p); + lkt_press += kt; + } + } if (pstyle == TRICLINIC) { - for (i = 3; i < 6; i++) - if (p_flag[i]) + for (i = 3; i < 6; i++) { + if (p_flag[i]) { energy += 0.5*omega_dot[i]*omega_dot[i]*omega_mass[i]; + lkt_press += kt; + } + } } // extra contributions from thermostat chain for barostat @@ -1818,10 +1824,10 @@ void FixNH::nhc_temp_integrate() void FixNH::nhc_press_integrate() { - int ich,i; + int ich,i,pdof; double expfac,factor_etap,kecurrent; double kt = boltz * t_target; - double lkt_press = kt; + double lkt_press; // Update masses, to preserve initial freq, if flag set @@ -1850,14 +1856,22 @@ void FixNH::nhc_press_integrate() } kecurrent = 0.0; + pdof = 0; for (i = 0; i < 3; i++) - if (p_flag[i]) kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + if (p_flag[i]) { + kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + pdof++; + } if (pstyle == TRICLINIC) { for (i = 3; i < 6; i++) - if (p_flag[i]) kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + if (p_flag[i]) { + kecurrent += omega_mass[i]*omega_dot[i]*omega_dot[i]; + pdof++; + } } + lkt_press = pdof * kt; etap_dotdot[0] = (kecurrent - lkt_press)/etap_mass[0]; double ncfac = 1.0/nc_pchain; -- GitLab From 8a2faff5417641a577d2249256e9aae86ba5e431 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 15 Jun 2018 16:40:25 -0400 Subject: [PATCH 135/675] integrate compute pentropy/atom into the documentation tree --- doc/src/Section_commands.txt | 1 + .../{compute_pair_entropy_atom.txt => compute_pentropy_atom.txt} | 0 doc/src/computes.txt | 1 + doc/src/lammps.book | 1 + 4 files changed, 3 insertions(+) rename doc/src/{compute_pair_entropy_atom.txt => compute_pentropy_atom.txt} (100%) diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index 76051490e4..25e3b5ffbe 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -861,6 +861,7 @@ package"_Section_start.html#start_3. "meso/t/atom"_compute_meso_t_atom.html, "pe/tally"_compute_tally.html, "pe/mol/tally"_compute_tally.html, +"pentropy/atom"_compute_pentropy_atom.html, "pressure/uef"_compute_pressure_uef.html, "saed"_compute_saed.html, "smd/contact/radius"_compute_smd_contact_radius.html, diff --git a/doc/src/compute_pair_entropy_atom.txt b/doc/src/compute_pentropy_atom.txt similarity index 100% rename from doc/src/compute_pair_entropy_atom.txt rename to doc/src/compute_pentropy_atom.txt diff --git a/doc/src/computes.txt b/doc/src/computes.txt index 1b64e2e5b4..ec197cb433 100644 --- a/doc/src/computes.txt +++ b/doc/src/computes.txt @@ -63,6 +63,7 @@ Computes :h1 compute_pair_local compute_pe compute_pe_atom + compute_pentropy_atom compute_plasticity_atom compute_pressure compute_pressure_uef diff --git a/doc/src/lammps.book b/doc/src/lammps.book index ec34f41872..bea6767993 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -347,6 +347,7 @@ compute_pair.html compute_pair_local.html compute_pe.html compute_pe_atom.html +compute_pentropy_atom.html compute_plasticity_atom.html compute_pressure.html compute_pressure_uef.html -- GitLab From 76b85e4d25e03b557e236491b3a97beeac66cbd7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 15 Jun 2018 16:43:19 -0400 Subject: [PATCH 136/675] rename source files for compute pentropy/atom to match the command name --- ...te_pair_entropy_atom.cpp => compute_pentropy_atom.cpp} | 8 ++++---- ...ompute_pair_entropy_atom.h => compute_pentropy_atom.h} | 0 2 files changed, 4 insertions(+), 4 deletions(-) rename src/USER-MISC/{compute_pair_entropy_atom.cpp => compute_pentropy_atom.cpp} (99%) rename src/USER-MISC/{compute_pair_entropy_atom.h => compute_pentropy_atom.h} (100%) diff --git a/src/USER-MISC/compute_pair_entropy_atom.cpp b/src/USER-MISC/compute_pentropy_atom.cpp similarity index 99% rename from src/USER-MISC/compute_pair_entropy_atom.cpp rename to src/USER-MISC/compute_pentropy_atom.cpp index b5da941f7f..ccdeb6d31e 100644 --- a/src/USER-MISC/compute_pair_entropy_atom.cpp +++ b/src/USER-MISC/compute_pentropy_atom.cpp @@ -15,10 +15,10 @@ Contributing author: Pablo Piaggi (EPFL Lausanne) ------------------------------------------------------------------------- */ -#include -#include -#include -#include "compute_pair_entropy_atom.h" +#include +#include +#include +#include "compute_pentropy_atom.h" #include "atom.h" #include "update.h" #include "modify.h" diff --git a/src/USER-MISC/compute_pair_entropy_atom.h b/src/USER-MISC/compute_pentropy_atom.h similarity index 100% rename from src/USER-MISC/compute_pair_entropy_atom.h rename to src/USER-MISC/compute_pentropy_atom.h -- GitLab From 9ef1bfe81443d2034c22fc0a566021254ce1d8b3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 15 Jun 2018 16:44:07 -0400 Subject: [PATCH 137/675] whitespace cleanup --- src/USER-MISC/compute_pentropy_atom.cpp | 26 ++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/USER-MISC/compute_pentropy_atom.cpp b/src/USER-MISC/compute_pentropy_atom.cpp index ccdeb6d31e..271648e3c5 100644 --- a/src/USER-MISC/compute_pentropy_atom.cpp +++ b/src/USER-MISC/compute_pentropy_atom.cpp @@ -50,10 +50,10 @@ ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg) : " of arguments"); // Arguments are: sigma cutoff avg yes/no cutoff2 local yes/no - // sigma is the gaussian width - // cutoff is the cutoff for the calculation of g(r) + // sigma is the gaussian width + // cutoff is the cutoff for the calculation of g(r) // avg is optional and allows averaging the pair entropy over neighbors - // the next argument should be yes or no + // the next argument should be yes or no // cutoff2 is the cutoff for the averaging // local is optional and allows using the local density to normalize // the g(r) @@ -102,8 +102,8 @@ ComputePairEntropyAtom(LAMMPS *lmp, int narg, char **arg) : // Number of bins above and below the central one that will be // considered as affected by the gaussian kernel // 2 seems a good compromise between speed and good mollification - deltabin = 2; - deltar = sigma; + deltabin = 2; + deltar = sigma; peratom_flag = 1; size_peratom_cols = 0; } @@ -124,9 +124,9 @@ void ComputePairEntropyAtom::init() error->all(FLERR,"Compute centro/atom requires a pair style be" " defined"); - if ( (cutoff+cutoff2) > (force->pair->cutforce + neighbor->skin) ) + if ( (cutoff+cutoff2) > (force->pair->cutforce + neighbor->skin) ) { - error->all(FLERR,"Compute pentropy/atom cutoff is longer than the" + error->all(FLERR,"Compute pentropy/atom cutoff is longer than the" " pairwise cutoff. Increase the neighbor list skin" " distance."); } @@ -220,16 +220,16 @@ void ComputePairEntropyAtom::compute_peratom() // If local density is used, calculate it if (local_flag) { double neigh_cutoff = force->pair->cutforce + neighbor->skin; - double volume = + double volume = (4./3.)*MY_PI*neigh_cutoff*neigh_cutoff*neigh_cutoff; density = jnum / volume; } // calculate kernel normalization // Normalization of g(r) - double normConstantBase = 4*MY_PI*density; + double normConstantBase = 4*MY_PI*density; // Normalization of gaussian - normConstantBase *= sqrt(2.*MY_PI)*sigma; + normConstantBase *= sqrt(2.*MY_PI)*sigma; double invNormConstantBase = 1./normConstantBase; // loop over list of all neighbors within force cutoff @@ -259,7 +259,7 @@ void ComputePairEntropyAtom::compute_peratom() for(int k=minbin;k Date: Fri, 15 Jun 2018 16:55:05 -0400 Subject: [PATCH 138/675] include compute pentropy/atom in src/USER-MISC/README --- src/USER-MISC/README | 1 + 1 file changed, 1 insertion(+) diff --git a/src/USER-MISC/README b/src/USER-MISC/README index a8c33fa380..6fb2dd6010 100644 --- a/src/USER-MISC/README +++ b/src/USER-MISC/README @@ -29,6 +29,7 @@ bond_style harmonic/shift/cut, Carsten Svaneborg, science at zqex.dk, 8 Aug 11 compute ackland/atom, Gerolf Ziegenhain, gerolf at ziegenhain.com, 4 Oct 2007 compute basal/atom, Christopher Barrett, cdb333 at cavs.msstate.edu, 3 Mar 2013 compute cnp/atom, Paulo Branicio (USC), branicio at usc.edu, 31 May 2017 +compute pentropy/atom, Pablo M. Piaggi (EPFL), , 15 June 2018 compute temp/rotate, Laurent Joly (U Lyon), ljoly.ulyon at gmail.com, 8 Aug 11 compute PRESSURE/GREM, David Stelter, dstelter@bu.edu, 22 Nov 16 dihedral_style cosine/shift/exp, Carsten Svaneborg, science at zqex.dk, 8 Aug 11 -- GitLab From b2e6863d937b7e902746b554e5227f3a046cee04 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 15 Jun 2018 17:01:26 -0400 Subject: [PATCH 139/675] add reference log file. --- .../USER/misc/pair_entropy/log.pairentropy | 316 ++++++++++++++++++ 1 file changed, 316 insertions(+) create mode 100644 examples/USER/misc/pair_entropy/log.pairentropy diff --git a/examples/USER/misc/pair_entropy/log.pairentropy b/examples/USER/misc/pair_entropy/log.pairentropy new file mode 100644 index 0000000000..21474639af --- /dev/null +++ b/examples/USER/misc/pair_entropy/log.pairentropy @@ -0,0 +1,316 @@ +LAMMPS (30 Mar 2018) + using 1 OpenMP thread(s) per MPI task +echo both + +units metal +atom_style full + +read_data data.interface + triclinic box = (0 0 0) to (138.4 34.57 34.57) with tilt (0 0 0) + 4 by 1 by 1 MPI processor grid + reading atoms ... + 4096 atoms + reading velocities ... + 4096 velocities + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors +mass 1 22.98977 + +neigh_modify delay 10 every 1 +pair_style eam/fs +pair_coeff * * Na_MendelevM_2014.eam.fs Na +timestep 0.002 +thermo 500 + +neighbor 4. bin + +# Define computes +# Global density, no average +compute 1 all pentropy/atom 0.25 7.75 +# Local density, no average +compute 2 all pentropy/atom 0.25 7.75 local yes +# Global density, average over neighbors +compute 3 all pentropy/atom 0.25 7.75 avg yes 5. +# Local density, average over neighbors +compute 4 all pentropy/atom 0.25 7.75 avg yes 5. local yes + +dump myDump all custom 500 dump.interface id type x y z c_1 c_2 c_3 c_4 + + +fix 1 all nph x 1. 1. 10. +fix 2 all temp/csvr 350. 350. 0.1 64582 + +run 100000 +WARNING: More than one compute pentropy/atom (../compute_pentropy_atom.cpp:138) +WARNING: More than one compute pentropy/atom (../compute_pentropy_atom.cpp:138) +WARNING: More than one compute pentropy/atom (../compute_pentropy_atom.cpp:138) +WARNING: More than one compute pentropy/atom (../compute_pentropy_atom.cpp:138) +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13.2 + ghost atom cutoff = 13.2 + binsize = 6.6, bins = 21 6 6 + 5 neighbor lists, perpetual/occasional/extra = 5 0 0 + (1) pair eam/fs, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/3d/newton/tri + bin: standard + (2) compute pentropy/atom, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard + (3) compute pentropy/atom, perpetual, copy from (2) + attributes: full, newton on, ghost + pair build: copy + stencil: none + bin: none + (4) compute pentropy/atom, perpetual, copy from (2) + attributes: full, newton on, ghost + pair build: copy + stencil: none + bin: none + (5) compute pentropy/atom, perpetual, copy from (2) + attributes: full, newton on, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 25.68 | 25.69 | 25.69 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 346.29871 -4285.222 0 -4101.9191 594.65353 165399.75 + 500 359.33758 -4285.247 0 -4095.0423 471.98587 165847.18 + 1000 348.99659 -4276.2274 0 -4091.4964 149.27188 166966.18 + 1500 341.56622 -4278.7772 0 -4097.9793 -296.95842 168025.4 + 2000 342.09406 -4277.6906 0 -4096.6132 -438.11647 168413.94 + 2500 352.25274 -4275.2717 0 -4088.8172 -330.50608 168120.05 + 3000 350.51318 -4282.4462 0 -4096.9125 -120.66318 167436.33 + 3500 353.70665 -4282.2946 0 -4095.0705 203.76807 166696.51 + 4000 349.96779 -4287.1098 0 -4101.8647 256.9956 166337.2 + 4500 343.72356 -4285.8089 0 -4103.869 206.49403 166407.34 + 5000 352.6139 -4287.1902 0 -4100.5445 81.796762 166694.74 + 5500 347.36366 -4287.0285 0 -4103.1618 -42.768886 167038.64 + 6000 350.3976 -4290.0332 0 -4104.5607 -133.74621 167194.61 + 6500 357.56345 -4286.2623 0 -4096.9967 -11.542553 167113.93 + 7000 355.32488 -4287.3852 0 -4099.3045 45.672669 166919.78 + 7500 347.11842 -4290.6564 0 -4106.9196 28.644843 166818.56 + 8000 352.57322 -4289.7964 0 -4103.1722 18.522414 166836.67 + 8500 354.8297 -4293.8761 0 -4106.0575 -42.234561 166867.25 + 9000 349.62065 -4298.6714 0 -4113.61 -92.546785 166824.11 + 9500 349.33305 -4300.1874 0 -4115.2784 -4.988033 166653.27 + 10000 351.2575 -4295.7452 0 -4109.8175 141.2923 166425.91 + 10500 352.35614 -4302.4997 0 -4115.9904 96.025177 166301.54 + 11000 345.79485 -4304.9271 0 -4121.8908 6.6400444 166310.83 + 11500 349.20236 -4307.0045 0 -4122.1646 25.603816 166291.49 + 12000 354.36642 -4304.3937 0 -4116.8204 43.401924 166335.86 + 12500 343.7124 -4302.9267 0 -4120.9928 -5.23105 166523.78 + 13000 363.53804 -4303.9652 0 -4111.5371 -17.241844 166690.48 + 13500 356.23025 -4304.3329 0 -4115.773 -121.76358 166814.59 + 14000 347.55 -4306.8848 0 -4122.9195 -174.52441 166791.16 + 14500 345.85547 -4309.3314 0 -4126.2631 -43.958619 166461.73 + 15000 350.84805 -4310.3616 0 -4124.6506 118.60917 165964.43 + 15500 349.59675 -4320.2537 0 -4135.2051 143.5776 165581.16 + 16000 349.05247 -4310.2702 0 -4125.5096 299.15489 165512.52 + 16500 357.63567 -4318.1626 0 -4128.8588 70.60951 165914.49 + 17000 352.29836 -4313.8988 0 -4127.4202 -116.44882 166435.75 + 17500 350.49924 -4315.0109 0 -4129.4846 -248.88877 166746.88 + 18000 352.05592 -4314.5162 0 -4128.1659 -164.78373 166635.14 + 18500 348.83853 -4316.1558 0 -4131.5085 -84.641318 166256.38 + 19000 352.52592 -4309.9888 0 -4123.3897 190.51243 165908.63 + 19500 346.13457 -4317.9779 0 -4134.7618 44.213931 165816.35 + 20000 340.17775 -4314.0744 0 -4134.0114 64.495233 165894.74 + 20500 354.06551 -4316.181 0 -4128.7669 -1.4490795 166094.86 + 21000 344.8874 -4316.8088 0 -4134.2529 -118.9424 166286.09 + 21500 354.15586 -4317.3745 0 -4129.9126 -104.15677 166331.42 + 22000 345.8013 -4317.8175 0 -4134.7778 -80.729172 166262.57 + 22500 349.11462 -4323.1371 0 -4138.3436 -107.29158 166095.83 + 23000 343.99139 -4319.5125 0 -4137.4309 71.487855 165825.41 + 23500 349.80225 -4324.909 0 -4139.7516 34.440631 165638.23 + 24000 348.65063 -4325.2073 0 -4140.6594 53.656181 165646.33 + 24500 356.4067 -4331.0609 0 -4142.4076 -53.238796 165745.71 + 25000 349.90889 -4325.3671 0 -4140.1532 7.5156313 165867.84 + 25500 348.55479 -4335.2096 0 -4150.7124 -154.7789 165856.27 + 26000 346.09492 -4332.421 0 -4149.2259 -50.232622 165660.79 + 26500 344.75355 -4334.4345 0 -4151.9494 54.441512 165388.22 + 27000 346.01888 -4340.9678 0 -4157.813 77.590267 165122.38 + 27500 350.13903 -4338.2832 0 -4152.9475 134.25294 165063.15 + 28000 349.4507 -4336.2772 0 -4151.3059 120.90268 165197.05 + 28500 349.89188 -4337.2205 0 -4152.0156 -7.4448137 165466.05 + 29000 352.06855 -4336.4999 0 -4150.1429 -72.487845 165711.12 + 29500 348.70134 -4335.081 0 -4150.5063 -122.13386 165799.73 + 30000 349.80677 -4341.2595 0 -4156.0997 -177.94864 165698.03 + 30500 347.84982 -4339.92 0 -4155.796 -11.150253 165358.49 + 31000 350.8215 -4337.9393 0 -4152.2423 169.74393 164968.86 + 31500 350.71421 -4340.8771 0 -4155.2369 221.49124 164741.67 + 32000 349.9693 -4342.8528 0 -4157.6069 171.42476 164849.23 + 32500 352.56459 -4340.4746 0 -4153.855 50.564424 165207.87 + 33000 348.20348 -4340.6347 0 -4156.3235 -142.44617 165619.29 + 33500 345.52103 -4341.0103 0 -4158.119 -239.73388 165867.73 + 34000 340.18612 -4339.2415 0 -4159.1741 -229.24652 165814.16 + 34500 346.29644 -4342.3771 0 -4159.0754 -66.184467 165447.7 + 35000 348.41012 -4339.9899 0 -4155.5693 116.11721 165057.16 + 35500 349.8102 -4342.6138 0 -4157.4521 162.46419 164869.8 + 36000 345.12148 -4342.1816 0 -4159.5018 93.299897 164971.27 + 36500 350.1662 -4340.7476 0 -4155.3975 17.1695 165283.86 + 37000 345.02071 -4333.5625 0 -4150.9361 -19.777882 165591.43 + 37500 351.61529 -4339.4316 0 -4153.3145 -163.6161 165720.09 + 38000 351.12679 -4334.814 0 -4148.9555 -41.24883 165586.63 + 38500 357.46153 -4338.5489 0 -4149.3373 48.449588 165358.68 + 39000 354.37011 -4343.9595 0 -4156.3842 24.197319 165158.97 + 39500 344.87813 -4340.2123 0 -4157.6613 45.305702 165085.33 + 40000 357.02868 -4344.263 0 -4155.2805 38.581773 165138.93 + 40500 356.49851 -4340.4739 0 -4151.772 43.25324 165302.5 + 41000 355.84229 -4342.0156 0 -4153.661 -84.423576 165491.7 + 41500 345.13117 -4338.685 0 -4156.0001 -103.00745 165528 + 42000 346.53963 -4336.6348 0 -4153.2044 -13.071264 165436.39 + 42500 351.00431 -4335.7733 0 -4149.9796 68.464006 165317.65 + 43000 355.65919 -4342.096 0 -4153.8384 -5.7513562 165240.95 + 43500 346.67881 -4340.4327 0 -4156.9286 27.104052 165178.78 + 44000 344.93607 -4341.5588 0 -4158.9771 29.983072 165226.93 + 44500 344.96898 -4344.4191 0 -4161.82 -63.544956 165331.7 + 45000 355.79519 -4340.2996 0 -4151.97 -5.5354943 165421.38 + 45500 354.21428 -4340.4899 0 -4152.9971 -45.808519 165514.22 + 46000 347.90456 -4337.7045 0 -4153.5516 -70.472446 165549.25 + 46500 342.30611 -4339.8561 0 -4158.6665 -89.138875 165515.54 + 47000 349.18619 -4339.6708 0 -4154.8395 -22.391799 165392.52 + 47500 355.54068 -4340.9861 0 -4152.7912 48.059812 165261.21 + 48000 349.85193 -4341.0492 0 -4155.8655 10.4874 165233.41 + 48500 350.48062 -4340.3555 0 -4154.839 34.514274 165241.37 + 49000 350.22062 -4337.3446 0 -4151.9657 66.516852 165234.86 + 49500 353.48854 -4342.606 0 -4155.4973 18.178574 165232.42 + 50000 355.4353 -4340.503 0 -4152.3639 82.642485 165242.94 + 50500 356.03755 -4337.8136 0 -4149.3557 79.237302 165308.35 + 51000 348.26583 -4338.9903 0 -4154.6461 23.965877 165360.09 + 51500 353.84885 -4342.682 0 -4155.3826 -65.297839 165421.25 + 52000 348.38906 -4335.7957 0 -4151.3863 -16.337804 165488.67 + 52500 348.33732 -4340.4442 0 -4156.0621 -71.786085 165459.21 + 53000 351.36882 -4340.8694 0 -4154.8828 -11.818052 165334.01 + 53500 349.66487 -4340.899 0 -4155.8143 64.774989 165157.06 + 54000 354.52673 -4341.5591 0 -4153.9009 103.84648 165043.7 + 54500 347.97543 -4341.7648 0 -4157.5743 60.697135 165103.56 + 55000 349.7801 -4341.6796 0 -4156.5339 3.186648 165284.19 + 55500 349.90814 -4337.5213 0 -4152.3079 -15.40375 165470.58 + 56000 350.89011 -4341.7859 0 -4156.0527 -101.06113 165536.95 + 56500 338.10783 -4336.0802 0 -4157.1129 0.46390075 165365.62 + 57000 355.8832 -4336.8791 0 -4148.5029 163.76227 165095.76 + 57500 343.20161 -4337.579 0 -4155.9154 173.89034 164877.3 + 58000 347.30883 -4338.8572 0 -4155.0196 196.75267 164858.65 + 58500 347.11195 -4338.1293 0 -4154.3959 107.96277 165100.21 + 59000 356.20588 -4336.869 0 -4148.322 32.98048 165438.3 + 59500 352.20196 -4340.4404 0 -4154.0127 -147.74801 165733.29 + 60000 348.50087 -4338.2613 0 -4153.7927 -201.37766 165872.68 + 60500 350.83512 -4338.2378 0 -4152.5337 -157.3473 165788.59 + 61000 358.06869 -4336.2653 0 -4146.7323 49.66101 165406.04 + 61500 351.59222 -4342.9905 0 -4156.8856 123.56829 164946.67 + 62000 357.85029 -4342.5571 0 -4153.1396 272.18018 164672.22 + 62500 353.07998 -4345.1721 0 -4158.2797 182.18366 164762.57 + 63000 350.29241 -4336.295 0 -4150.8781 96.838396 165199.84 + 63500 351.93686 -4344.5516 0 -4158.2643 -231.395 165711.73 + 64000 351.23761 -4338.6588 0 -4152.7416 -237.8481 165989.41 + 64500 347.96971 -4335.4865 0 -4151.299 -189.76455 165932.6 + 65000 354.37539 -4337.2906 0 -4149.7125 -43.526372 165522.64 + 65500 357.5777 -4346.4633 0 -4157.1902 81.72156 165007.06 + 66000 354.14242 -4345.6382 0 -4158.1834 195.69703 164658.89 + 66500 349.96045 -4338.6632 0 -4153.422 257.21076 164693.92 + 67000 347.83399 -4342.9995 0 -4158.8839 39.429532 165109.39 + 67500 349.19688 -4339.7486 0 -4154.9116 -70.657587 165534.67 + 68000 345.04999 -4335.0979 0 -4152.456 -178.5504 165788.23 + 68500 352.27772 -4337.4216 0 -4150.9539 -159.95859 165787.12 + 69000 352.83425 -4340.4687 0 -4153.7064 -93.500881 165526.1 + 69500 347.74369 -4339.3835 0 -4155.3157 84.591777 165119.47 + 70000 352.65319 -4339.132 0 -4152.4655 214.03749 164904.63 + 70500 349.83427 -4340.3861 0 -4155.2117 123.57829 165013.52 + 71000 348.51668 -4344.6661 0 -4160.1891 -33.962211 165235.42 + 71500 345.71481 -4339.4514 0 -4156.4576 -73.059935 165447.89 + 72000 354.93417 -4341.68 0 -4153.8061 -94.767012 165533.4 + 72500 342.42761 -4341.9235 0 -4160.6696 -129.2131 165509.21 + 73000 349.91799 -4336.9832 0 -4151.7645 14.219496 165403.37 + 73500 344.75733 -4339.5268 0 -4157.0398 18.088244 165274.21 + 74000 353.01313 -4335.8263 0 -4148.9693 165.34097 165149.7 + 74500 353.70264 -4340.5322 0 -4153.3102 55.785855 165128.92 + 75000 355.60934 -4337.9827 0 -4149.7514 103.87392 165190.99 + 75500 349.91446 -4339.5314 0 -4154.3146 -9.8601217 165344.74 + 76000 343.95016 -4344.3242 0 -4162.2644 -180.90986 165482.68 + 76500 348.77873 -4339.8225 0 -4155.2069 -82.808012 165511.02 + 77000 346.21282 -4336.4572 0 -4153.1998 7.4507551 165423.52 + 77500 355.35737 -4339.7581 0 -4151.6602 16.915858 165319.8 + 78000 351.13843 -4339.5992 0 -4153.7345 25.286516 165279.14 + 78500 349.57827 -4338.7768 0 -4153.738 13.676393 165287.51 + 79000 350.44899 -4341.8942 0 -4156.3945 -35.020193 165301.74 + 79500 345.50828 -4338.3401 0 -4155.4555 12.691593 165316.89 + 80000 349.19427 -4341.8139 0 -4156.9783 -60.176128 165350.63 + 80500 347.23088 -4340.8887 0 -4157.0923 -8.1510933 165352.41 + 81000 350.69564 -4338.1451 0 -4152.5148 63.352509 165336.37 + 81500 353.51603 -4341.4634 0 -4154.3402 18.963339 165273.49 + 82000 357.99109 -4339.5813 0 -4150.0894 111.83287 165142.45 + 82500 348.95721 -4339.3975 0 -4154.6873 133.99884 165049.94 + 83000 348.40851 -4341.4694 0 -4157.0497 99.552375 165079.83 + 83500 351.56311 -4340.478 0 -4154.3885 43.625398 165236.42 + 84000 350.94582 -4342.5887 0 -4156.826 -61.009621 165425.36 + 84500 348.85285 -4340.2908 0 -4155.6359 -121.20155 165518.82 + 85000 350.93338 -4338.5274 0 -4152.7712 -24.578168 165453.02 + 85500 350.05705 -4341.015 0 -4155.7227 44.257207 165274.03 + 86000 354.23801 -4340.9418 0 -4153.4364 95.178264 165077.53 + 86500 361.17307 -4345.1753 0 -4153.9991 161.19621 164939.38 + 87000 350.69942 -4342.2517 0 -4156.6193 132.57345 164951.93 + 87500 351.46682 -4338.9653 0 -4152.9268 83.174091 165203.95 + 88000 345.03368 -4341.8378 0 -4159.2045 -169.97976 165616.84 + 88500 351.70033 -4339.5377 0 -4153.3755 -203.97263 165858.93 + 89000 355.54446 -4339.2207 0 -4151.0238 -123.1241 165752.79 + 89500 350.31818 -4334.7628 0 -4149.3323 77.462164 165324.49 + 90000 351.20604 -4343.5238 0 -4157.6233 133.64807 164890.85 + 90500 348.0003 -4348.9685 0 -4164.7649 118.91427 164657.96 + 91000 347.21483 -4342.3391 0 -4158.5512 226.41338 164732.47 + 91500 347.27277 -4342.6341 0 -4158.8156 10.500178 165159.97 + 92000 344.50771 -4340.5474 0 -4158.1925 -199.65031 165723.91 + 92500 349.4828 -4342.4558 0 -4157.4674 -334.92794 166050.96 + 93000 349.90926 -4338.4776 0 -4153.2635 -265.95682 165968.52 + 93500 343.01305 -4340.5317 0 -4158.968 -100.92764 165495.12 + 94000 347.78156 -4341.2655 0 -4157.1777 146.28391 164933.04 + 94500 353.69177 -4341.067 0 -4153.8507 304.79658 164618.69 + 95000 346.04459 -4345.6353 0 -4162.4669 171.92493 164732.34 + 95500 347.79068 -4338.9943 0 -4154.9017 76.774034 165167.7 + 96000 344.56458 -4340.0235 0 -4157.6384 -160.40807 165608.59 + 96500 340.37553 -4342.8492 0 -4162.6815 -276.60876 165807.48 + 97000 347.18941 -4341.2676 0 -4157.4932 -178.69421 165633 + 97500 349.64071 -4340.366 0 -4155.2941 41.608903 165242.92 + 98000 349.52995 -4342.5772 0 -4157.5639 173.81028 164884.94 + 98500 350.04404 -4338.4153 0 -4153.1299 265.77826 164754.57 + 99000 345.61445 -4341.8018 0 -4158.861 130.70276 164941.11 + 99500 353.39327 -4337.2886 0 -4150.2304 79.630342 165241.58 + 100000 349.21591 -4340.4937 0 -4155.6466 -98.981878 165526.52 +Loop time of 333.54 on 4 procs for 100000 steps with 4096 atoms + +Performance: 51.808 ns/day, 0.463 hours/ns, 299.814 timesteps/s +97.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 262.06 | 266.81 | 271.72 | 26.0 | 79.99 +Bond | 0.0072134 | 0.010317 | 0.013051 | 2.4 | 0.00 +Neigh | 33.331 | 33.927 | 34.4 | 7.3 | 10.17 +Comm | 7.4881 | 11.613 | 16.368 | 106.5 | 3.48 +Output | 12.849 | 12.854 | 12.867 | 0.2 | 3.85 +Modify | 6.3196 | 7.428 | 9.0238 | 42.1 | 2.23 +Other | | 0.8935 | | | 0.27 + +Nlocal: 1024 ave 1029 max 1016 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Nghost: 4741.75 ave 4759 max 4706 min +Histogram: 1 0 0 0 0 0 0 0 2 1 +Neighs: 124070 ave 125011 max 122645 min +Histogram: 1 0 0 0 1 0 0 0 0 2 +FullNghs: 248139 ave 250140 max 245351 min +Histogram: 1 0 0 0 1 0 0 0 0 2 + +Total # of neighbors = 992556 +Ave neighs/atom = 242.323 +Ave special neighs/atom = 0 +Neighbor list builds = 1222 +Dangerous builds = 0 + +Total wall time: 0:05:33 -- GitLab From 1d0773d10d715641ceab8f06185c7c946eea11a9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Jun 2018 16:50:24 -0400 Subject: [PATCH 140/675] remove redundant statement --- src/verlet.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/verlet.cpp b/src/verlet.cpp index fe768f94c9..fcba248d5f 100644 --- a/src/verlet.cpp +++ b/src/verlet.cpp @@ -75,7 +75,6 @@ void Verlet::init() torqueflag = extraflag = 0; if (atom->torque_flag) torqueflag = 1; if (atom->avec->forceclearflag) extraflag = 1; - if (atom->sp_flag) extraflag = 1; // orthogonal vs triclinic simulation box @@ -312,7 +311,6 @@ void Verlet::run(int n) timer->stamp(Timer::PAIR); } - if (atom->molecular) { if (force->bond) force->bond->compute(eflag,vflag); if (force->angle) force->angle->compute(eflag,vflag); -- GitLab From 469b67a39b175f1a125b4972699dc3c1631d4d56 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Jun 2018 17:00:01 -0400 Subject: [PATCH 141/675] remove bogus file --- src/eflag | 19343 ---------------------------------------------------- 1 file changed, 19343 deletions(-) delete mode 100644 src/eflag diff --git a/src/eflag b/src/eflag deleted file mode 100644 index b4b06a2fef..0000000000 --- a/src/eflag +++ /dev/null @@ -1,19343 +0,0 @@ -angle.cpp:/* ---------------------------------------------------------------------- -angle.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -angle.cpp: http://lammps.sandia.gov, Sandia National Laboratories -angle.cpp:------------------------------------------------------------------------- */ -angle.cpp:/* ---------------------------------------------------------------------- */ -angle.cpp:/* ---------------------------------------------------------------------- */ -angle.cpp:/* ---------------------------------------------------------------------- -angle.cpp:------------------------------------------------------------------------- */ -angle.cpp:/* ---------------------------------------------------------------------- -angle.cpp:------------------------------------------------------------------------- */ -angle.cpp: eflag_atom = eflag / 2; -angle.cpp: vflag_atom = vflag / 4; -angle.cpp: // reallocate per-atom arrays if necessary -angle.cpp: // zero accumulators -angle.cpp:/* ---------------------------------------------------------------------- -angle.cpp:------------------------------------------------------------------------- */ -angle.cpp:/* ---------------------------------------------------------------------- */ -angle_hybrid.cpp:/* ---------------------------------------------------------------------- -angle_hybrid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -angle_hybrid.cpp: http://lammps.sandia.gov, Sandia National Laboratories -angle_hybrid.cpp:------------------------------------------------------------------------- */ -angle_hybrid.cpp:/* ---------------------------------------------------------------------- */ -angle_hybrid.cpp:/* ---------------------------------------------------------------------- */ -angle_hybrid.cpp:/* ---------------------------------------------------------------------- */ -angle_hybrid.cpp: // save ptrs to original anglelist -angle_hybrid.cpp: // if this is re-neighbor step, create sub-style anglelists -angle_hybrid.cpp: // nanglelist[] = length of each sub-style list -angle_hybrid.cpp: // realloc sub-style anglelist if necessary -angle_hybrid.cpp: // load sub-style anglelist with 4 values from original anglelist -angle_hybrid.cpp: // call each sub-style's compute function -angle_hybrid.cpp: // set neighbor->anglelist to sub-style anglelist before call -angle_hybrid.cpp: // accumulate sub-style global/peratom energy/virial in hybrid -angle_hybrid.cpp: // restore ptrs to original anglelist -angle_hybrid.cpp:/* ---------------------------------------------------------------------- */ -angle_hybrid.cpp:/* ---------------------------------------------------------------------- -angle_hybrid.cpp:------------------------------------------------------------------------- */ -angle_hybrid.cpp: // delete old lists, since cannot just change settings -angle_hybrid.cpp: // count sub-styles by skipping numeric args -angle_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric word -angle_hybrid.cpp: // need a better way to skip these exceptions -angle_hybrid.cpp: // allocate list of sub-styles -angle_hybrid.cpp: // allocate each sub-style and call its settings() with subset of args -angle_hybrid.cpp: // allocate uses suffix, but don't store suffix version in keywords, -angle_hybrid.cpp: // else syntax in coeff() will not match -angle_hybrid.cpp: // define subset of args for a sub-style by skipping numeric args -angle_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric -angle_hybrid.cpp: // need a better way to skip these exceptions -angle_hybrid.cpp:/* ---------------------------------------------------------------------- -angle_hybrid.cpp:---------------------------------------------------------------------- */ -angle_hybrid.cpp: // 2nd arg = angle sub-style name -angle_hybrid.cpp: // allow for "none" or "skip" as valid sub-style name -angle_hybrid.cpp: // move 1st arg to 2nd arg -angle_hybrid.cpp: // just copy ptrs, since arg[] points into original input line -angle_hybrid.cpp: // invoke sub-style coeff() starting with 1st arg -angle_hybrid.cpp: // set setflag and which type maps to which sub-style -angle_hybrid.cpp: // if sub-style is skip: auxiliary class2 setting in data file so ignore -angle_hybrid.cpp: // if sub-style is none: set hybrid setflag, wipe out map -angle_hybrid.cpp:/* ---------------------------------------------------------------------- -angle_hybrid.cpp:------------------------------------------------------------------------- */ -angle_hybrid.cpp:/* ---------------------------------------------------------------------- -angle_hybrid.cpp:------------------------------------------------------------------------- */ -angle_hybrid.cpp:/* ---------------------------------------------------------------------- -angle_hybrid.cpp:------------------------------------------------------------------------- */ -angle_hybrid.cpp:/* ---------------------------------------------------------------------- -angle_hybrid.cpp:------------------------------------------------------------------------- */ -angle_hybrid.cpp:/* ---------------------------------------------------------------------- */ -angle_hybrid.cpp:/* ---------------------------------------------------------------------- -angle_hybrid.cpp:------------------------------------------------------------------------- */ -angle_zero.cpp:/* ---------------------------------------------------------------------- -angle_zero.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -angle_zero.cpp: http://lammps.sandia.gov, Sandia National Laboratories -angle_zero.cpp:------------------------------------------------------------------------- */ -angle_zero.cpp:/* ---------------------------------------------------------------------- -angle_zero.cpp:------------------------------------------------------------------------- */ -angle_zero.cpp:/* ---------------------------------------------------------------------- */ -angle_zero.cpp:/* ---------------------------------------------------------------------- */ -angle_zero.cpp:/* ---------------------------------------------------------------------- */ -angle_zero.cpp:/* ---------------------------------------------------------------------- */ -angle_zero.cpp:/* ---------------------------------------------------------------------- */ -angle_zero.cpp:/* ---------------------------------------------------------------------- -angle_zero.cpp:------------------------------------------------------------------------- */ -angle_zero.cpp: // convert theta0 from degrees to radians -angle_zero.cpp: theta0[i] = theta0_one/180.0 * MY_PI; -angle_zero.cpp:/* ---------------------------------------------------------------------- */ -angle_zero.cpp:/* ---------------------------------------------------------------------- -angle_zero.cpp:------------------------------------------------------------------------- */ -angle_zero.cpp:/* ---------------------------------------------------------------------- -angle_zero.cpp:------------------------------------------------------------------------- */ -angle_zero.cpp:/* ---------------------------------------------------------------------- -angle_zero.cpp:------------------------------------------------------------------------- */ -angle_zero.cpp: fprintf(fp,"%d %g\n",i,theta0[i]/MY_PI*180.0); -angle_zero.cpp:/* ---------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files -atom.cpp:/* ---------------------------------------------------------------------- */ -atom.cpp: // initialize atom arrays -atom.cpp: // customize by adding new array -atom.cpp: // USER-SPIN -atom.cpp: // USER-DPD -atom.cpp: // USER-SMD -atom.cpp: // molecular info -atom.cpp: // user-defined molecules -atom.cpp: // custom atom arrays -atom.cpp: // initialize atom style and array existence flags -atom.cpp: // customize by adding new flag -atom.cpp: //Magnetic flags -atom.cpp: // USER-SMD -atom.cpp: // Peridynamic scale factor -atom.cpp: // ntype-length arrays -atom.cpp: // callback lists & extra restart info -atom.cpp: // default atom ID and mapping values -atom.cpp:/* ---------------------------------------------------------------------- */ -atom.cpp: // delete atom arrays -atom.cpp: // customize by adding new array -atom.cpp: // delete custom atom arrays -atom.cpp: // delete user-defined molecules -atom.cpp: // delete per-type arrays -atom.cpp: // delete extra arrays -atom.cpp: // delete mapping data structures -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: // unset atom style and array existence flags -atom.cpp: // may have been set by old avec -atom.cpp: // customize by adding new flag -atom.cpp: //Magnetic flags -atom.cpp: // create instance of AtomVec -atom.cpp: // use grow() to initialize atom-based arrays to length 1 -atom.cpp: // so that x[0][0] can always be referenced even if proc has no atoms -atom.cpp: if (sflag == 1) sprintf(estyle,"%s/%s",style,lmp->suffix); -atom.cpp: else sprintf(estyle,"%s/%s",style,lmp->suffix2); -atom.cpp: // if molecular system: -atom.cpp: // atom IDs must be defined -atom.cpp: // force atom map to be created -atom.cpp: // map style may be reset by map_init() and its call to map_style_set() -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); -atom.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix2); -atom.cpp: //printf("test entries function: %s, %d, %d \n ",style, trysuffix, &sflag); -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- */ -atom.cpp: // delete extra array since it doesn't persist past first run -atom.cpp: // check arrays that are atom type in length -atom.cpp: // setup of firstgroup -atom.cpp: // init AtomVec -atom.cpp:/* ---------------------------------------------------------------------- */ -atom.cpp: // setup bins for sorting -atom.cpp: // cannot do this in init() because uses neighbor cutoff -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: // maxtag_all = max tag for all atoms -atom.cpp: // DEBUG: useful for generating 64-bit IDs even for small systems -atom.cpp: // use only when LAMMPS is compiled with BIGBIG -atom.cpp: //maxtag_all += 1000000000000; -atom.cpp: // notag = # of atoms I own with no tag (tag = 0) -atom.cpp: // notag_sum = # of total atoms on procs <= me with no tag -atom.cpp: // itag = 1st new tag that my untagged atoms should use -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: // set bounds for my proc -atom.cpp: // if periodic and I am lo/hi proc, adjust bounds by EPSILON -atom.cpp: // insures all data atoms will be owned even with round-off -atom.cpp: // xptr = which word in line starts xyz coords -atom.cpp: // iptr = which word in line starts ix,iy,iz image flags -atom.cpp: // loop over lines of atom data -atom.cpp: // tokenize the line into values -atom.cpp: // extract xyz coords and image flags -atom.cpp: // remap atom into simulation box -atom.cpp: // if atom is in my sub-domain, unpack its values -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: // loop over lines of atom velocities -atom.cpp: // tokenize the line into values -atom.cpp: // if I own atom tag, unpack its values -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: // loop over lines of bonus atom data -atom.cpp: // tokenize the line into values -atom.cpp: // if I own atom tag, unpack its values -atom.cpp: // ok to call child's data_atom_bonus() method thru parent avec_bonus, -atom.cpp: // since data_bonus() was called with child ptr, and method is virtual -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: // loop over lines of body data -atom.cpp: // if I own atom tag, tokenize lines into ivalues/dvalues, call data_body() -atom.cpp: // else skip values -atom.cpp: nvalues = ninteger + ndouble; // number of values to skip -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp: init per-atom fix/compute/variable values for newly created atoms -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: // 1st molecule in set stores nset = # of mols, others store nset = 0 -atom.cpp: // ifile = count of molecules in set -atom.cpp: // index = argument index where next molecule starts, updated by constructor -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: rmass[ilocal] = 4.0*MY_PI/3.0 * -atom.cpp: body[ilocal] = 0; // as if a body read from data file -atom.cpp: // add bond topology info -atom.cpp: // for molecular atom styles, but not atom style template -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: // insure there is one extra atom location at end of arrays for swaps -atom.cpp: // loop over owned atoms -atom.cpp: // nfirst = index of first atom not in firstgroup -atom.cpp: // when find firstgroup atom out of place, swap it with atom nfirst -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp: don't have to worry about clearing/setting atom->map since done in comm -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: // set next timestep for sorting to take place -atom.cpp: nextsort = (update->ntimestep/sortfreq)*sortfreq + sortfreq; -atom.cpp: // re-setup sort bins if needed -atom.cpp: // reallocate per-atom vectors if needed -atom.cpp: // insure there is one extra atom location at end of arrays for swaps -atom.cpp: // bin atoms in reverse order so linked list will be in forward order -atom.cpp: // permute = desired permutation of atoms -atom.cpp: // permute[I] = J means Ith new atom will be Jth old atom -atom.cpp: // current = current permutation, just reuse next vector -atom.cpp: // current[I] = J means Ith current atom is Jth old atom -atom.cpp: // reorder local atom list, when done, current = permute -atom.cpp: // perform "in place" using copy() to extra atom location at end of list -atom.cpp: // inner while loop processes one cycle of the permutation -atom.cpp: // copy before inner-loop moves an atom to end of atom list -atom.cpp: // copy after inner-loop moves atom at end of list back into list -atom.cpp: // empty = location in atom list that is currently empty -atom.cpp: // sanity check that current = permute -atom.cpp: //int flag = 0; -atom.cpp: //for (i = 0; i < nlocal; i++) -atom.cpp: // if (current[i] != permute[i]) flag = 1; -atom.cpp: //int flagall; -atom.cpp: //MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,world); -atom.cpp: //if (flagall) error->all(FLERR,"Atom sort did not operate correctly"); -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: // binsize: -atom.cpp: // user setting if explicitly set -atom.cpp: // default = 1/2 of neighbor cutoff -atom.cpp: // check if neighbor cutoff = 0.0 -atom.cpp: double bininv = 1.0/binsize; -atom.cpp: // nbin xyz = local bins -atom.cpp: // bbox lo/hi = bounding box of my sub-domain -atom.cpp: bininvx = nbinx / (bboxhi[0]-bboxlo[0]); -atom.cpp: bininvy = nbiny / (bboxhi[1]-bboxlo[1]); -atom.cpp: bininvz = nbinz / (bboxhi[2]-bboxlo[2]); -atom.cpp: // reallocate per-bin memory if needed -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: // find the fix -atom.cpp: // if find NULL ptr: -atom.cpp: // it's this one, since it is being replaced and has just been deleted -atom.cpp: // at this point in re-creation -atom.cpp: // if don't find NULL ptr: -atom.cpp: // i is set to nfix = new one currently being added at end of list -atom.cpp: // add callback to lists, reallocating if necessary -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp: // compact the list of callbacks -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp: return index if found, and flag = 0/1 for int/double -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp: add a custom variable with name of type flag = 0/1 for int/double -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp: remove a custom variable of type flag = 0/1 for int/double at index -atom.cpp: ivector/dvector and iname/dname lists never shrink -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom.cpp:/* ---------------------------------------------------------------------- -atom.cpp:------------------------------------------------------------------------- */ -atom_map.cpp:/* ---------------------------------------------------------------------- -atom_map.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -atom_map.cpp: http://lammps.sandia.gov, Sandia National Laboratories -atom_map.cpp:------------------------------------------------------------------------- */ -atom_map.cpp:/* ---------------------------------------------------------------------- -atom_map.cpp:------------------------------------------------------------------------- */ -atom_map.cpp: // check for new map style if max atomID changed (check = 1 = default) -atom_map.cpp: // recreate = 1 if must delete old map and create new map -atom_map.cpp: // recreate = 0 if can re-use old map w/out realloc and just adjust settings -atom_map.cpp: // map_maxarray/map_nhash initially -1, to force recreate even when no atoms -atom_map.cpp: // if not recreating: -atom_map.cpp: // for array, initialize current map_tag_max values -atom_map.cpp: // for hash, set all buckets to empty, put all entries in free list -atom_map.cpp: // recreating: delete old map and create new one for array or hash -atom_map.cpp: // map_nhash = max # of atoms that can be hashed on this proc -atom_map.cpp: // set to max of ave atoms/proc or atoms I can store -atom_map.cpp: // multiply by 2, require at least 1000 -atom_map.cpp: // doubling means hash table will need to be re-init only rarely -atom_map.cpp: int nper = static_cast (natoms/comm->nprocs); -atom_map.cpp: // map_nbucket = prime just larger than map_nhash -atom_map.cpp: // next_prime() should be fast enough, -atom_map.cpp: // about 10% of odd integers are prime above 1M -atom_map.cpp: // set all buckets to empty -atom_map.cpp: // set hash to map_nhash in length -atom_map.cpp: // put all hash entries in free list and point them to each other -atom_map.cpp:/* ---------------------------------------------------------------------- -atom_map.cpp:------------------------------------------------------------------------- */ -atom_map.cpp: // search for key -atom_map.cpp: // if don't find it, done -atom_map.cpp: // delete the hash entry and add it to free list -atom_map.cpp: // special logic if entry is 1st in the bucket -atom_map.cpp:/* ---------------------------------------------------------------------- -atom_map.cpp:------------------------------------------------------------------------- */ -atom_map.cpp: // possible reallocation of sametag must come before loop over atoms -atom_map.cpp: // since loop sets sametag -atom_map.cpp: // if this proc has more atoms than hash table size, call map_init() -atom_map.cpp: // call with 0 since max atomID in system has not changed -atom_map.cpp: // possible reallocation of sametag must come after map_init(), -atom_map.cpp: // b/c map_init() may invoke map_delete(), whacking sametag -atom_map.cpp: // search for key -atom_map.cpp: // if found it, just overwrite local value with index -atom_map.cpp: // take one entry from free list -atom_map.cpp: // add the new global/local pair as entry at end of bucket list -atom_map.cpp: // special logic if this entry is 1st in bucket -atom_map.cpp:/* ---------------------------------------------------------------------- -atom_map.cpp:------------------------------------------------------------------------- */ -atom_map.cpp: // search for key -atom_map.cpp: // if found it, just overwrite local value with index -atom_map.cpp: // take one entry from free list -atom_map.cpp: // add the new global/local pair as entry at end of bucket list -atom_map.cpp: // special logic if this entry is 1st in bucket -atom_map.cpp:/* ---------------------------------------------------------------------- -atom_map.cpp:------------------------------------------------------------------------- */ -atom_map.cpp: // map_tag_max = max ID of any atom that will be in new map -atom_map.cpp: // map_tag_max = -1 if no atoms -atom_map.cpp: // set map_style for new map -atom_map.cpp: // if user-selected, use that setting -atom_map.cpp: // else if map_tag_max > 1M, use hash -atom_map.cpp: // else use array -atom_map.cpp: // recreate = 1 if must create new map b/c map_style changed -atom_map.cpp:/* ---------------------------------------------------------------------- -atom_map.cpp:------------------------------------------------------------------------- */ -atom_map.cpp:/* ---------------------------------------------------------------------- -atom_map.cpp:------------------------------------------------------------------------- */ -atom_map.cpp:/* ---------------------------------------------------------------------- -atom_map.cpp:------------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- -atom_vec_atomic.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -atom_vec_atomic.cpp: http://lammps.sandia.gov, Sandia National Laboratories -atom_vec_atomic.cpp:------------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- -atom_vec_atomic.cpp:------------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- -atom_vec_atomic.cpp:------------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- -atom_vec_atomic.cpp:------------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- -atom_vec_atomic.cpp:------------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- -atom_vec_atomic.cpp:------------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- -atom_vec_atomic.cpp:------------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- -atom_vec_atomic.cpp:------------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- -atom_vec_atomic.cpp:------------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- -atom_vec_atomic.cpp:------------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- -atom_vec_atomic.cpp:------------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- -atom_vec_atomic.cpp:------------------------------------------------------------------------- */ -atom_vec_atomic.cpp:/* ---------------------------------------------------------------------- -atom_vec_atomic.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -atom_vec_body.cpp: http://lammps.sandia.gov, Sandia National Laboratories -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp: // size_forward and size_border set in settings(), via Body class -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp: // max size of forward/border comm -atom_vec_body.cpp: // 7,16 are packed in pack_comm/pack_border -atom_vec_body.cpp: // bptr values = max number of additional ivalues/dvalues from Body class -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp: // if deleting atom J via delflag and J has bonus data, then delete it -atom_vec_body.cpp: // if atom I has bonus data, reset I's bonus.ilocal to loc J -atom_vec_body.cpp: // do NOT do this if self-copy (I=J) since I's bonus data is already deleted -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp: // corresponding put() calls are in clear_bonus() -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp: // corresponding put() calls are in clear_bonus() -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp: // corresponding put() calls are in clear_bonus() -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp: else m += (bonus[j].ninteger+1)/2; -atom_vec_body.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_body.cpp: // corresponding put() calls are in copy() -atom_vec_body.cpp: else m += (bonus[nlocal_bonus].ninteger+1)/2; -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp: else n += (bonus[body[i]].ninteger+1)/2; -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp: else m += (bonus[j].ninteger+1)/2; -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp: else m += (bonus[nlocal_bonus].ninteger+1)/2; -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp: body computes its size based on ivalues/dvalues and returns it -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* ---------------------------------------------------------------------- -atom_vec_body.cpp: debug method for sanity checking of own/bonus data pointers -atom_vec_body.cpp:------------------------------------------------------------------------- */ -atom_vec_body.cpp:/* -atom_vec_body.cpp:*/ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -atom_vec_charge.cpp: http://lammps.sandia.gov, Sandia National Laboratories -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec_charge.cpp:/* ---------------------------------------------------------------------- -atom_vec_charge.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -atom_vec.cpp: http://lammps.sandia.gov, Sandia National Laboratories -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp: nmax = nmax/DELTA * DELTA; -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp: nmax_bonus = nmax_bonus/DELTA_BONUS * DELTA_BONUS; -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp: do not count/pack bonds with bondtype = 0 -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp: do not count/pack angles with angletype = 0 -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec.cpp:/* ---------------------------------------------------------------------- -atom_vec.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -atom_vec_ellipsoid.cpp: http://lammps.sandia.gov, Sandia National Laboratories -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp: // if deleting atom J via delflag and J has bonus data, then delete it -atom_vec_ellipsoid.cpp: // if atom I has bonus data, reset I's bonus.ilocal to loc J -atom_vec_ellipsoid.cpp: // do NOT do this if self-copy (I=J) since I's bonus data is already deleted -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp: // reset ellipsoid mass -atom_vec_ellipsoid.cpp: // previously stored density in rmass -atom_vec_ellipsoid.cpp: rmass[m] *= 4.0*MY_PI/3.0 * shape[0]*shape[1]*shape[2]; -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp: buf[i][3] = rmass[i] / (4.0*MY_PI/3.0 * shape[0]*shape[1]*shape[2]); -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp: buf[1] = rmass[i] / (4.0*MY_PI/3.0 * shape[0]*shape[1]*shape[2]); -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_ellipsoid.cpp:/* ---------------------------------------------------------------------- -atom_vec_ellipsoid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -atom_vec_hybrid.cpp: http://lammps.sandia.gov, Sandia National Laboratories -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // build list of all known atom styles -atom_vec_hybrid.cpp: // allocate list of sub-styles as big as possibly needed if no extra args -atom_vec_hybrid.cpp: // allocate each sub-style -atom_vec_hybrid.cpp: // call process_args() with set of args that are not atom style names -atom_vec_hybrid.cpp: // use known_style() to determine which args these are -atom_vec_hybrid.cpp: // free allstyles created by build_styles() -atom_vec_hybrid.cpp: // hybrid settings are MAX or MIN of sub-style settings -atom_vec_hybrid.cpp: // hybrid sizes are minimal values plus extra values for each sub-style -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // sub-styles perform all reallocation -atom_vec_hybrid.cpp: // turn off nextra_grow so hybrid can do that once below -atom_vec_hybrid.cpp: // insure hybrid local ptrs and sub-style ptrs are up to date -atom_vec_hybrid.cpp: // for sub-styles, do this in case -atom_vec_hybrid.cpp: // multiple sub-style reallocs of same array occurred -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // pack sub-style contributions as contiguous chunks -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // pack sub-style contributions as contiguous chunks -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // unpack sub-style contributions as contiguous chunks -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // unpack sub-style contributions as contiguous chunks -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // pack sub-style contributions as contiguous chunks -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // unpack sub-style contributions as contiguous chunks -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // pack sub-style contributions as contiguous chunks -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // pack sub-style contributions as contiguous chunks -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // unpack sub-style contributions as contiguous chunks -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // unpack sub-style contributions as contiguous chunks -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // each sub-style parses sub-style specific values -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: // each sub-style parses sub-style specific values -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp: int index = multiindex/nstyles; -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_hybrid.cpp:/* ---------------------------------------------------------------------- -atom_vec_hybrid.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -atom_vec_line.cpp: http://lammps.sandia.gov, Sandia National Laboratories -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp: // if deleting atom J via delflag and J has bonus data, then delete it -atom_vec_line.cpp: // if atom I has bonus data, reset I's bonus.ilocal to loc J -atom_vec_line.cpp: // do NOT do this if self-copy (I=J) since I's bonus data is already deleted -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp: // also set radius = half of length -atom_vec_line.cpp: // unless value = 0.0, then set diameter = 1.0 -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp: rmass[nlocal] = 4.0*MY_PI/3.0 * radius[nlocal]*radius[nlocal]*radius[nlocal]; -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp: rmass[nlocal] *= 4.0*MY_PI/3.0 * -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp: rmass[nlocal] *= 4.0*MY_PI/3.0 * -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp: if (dy >= 0.0) bonus[nlocal_bonus].theta = acos(dx/length); -atom_vec_line.cpp: else bonus[nlocal_bonus].theta = -acos(dx/length); -atom_vec_line.cpp: if (delta/length > EPSILON) -atom_vec_line.cpp: // reset line radius and mass -atom_vec_line.cpp: // rmass currently holds density -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp: buf[i][4] = rmass[i] / (4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i]); -atom_vec_line.cpp: else buf[i][4] = rmass[i]/bonus[line[i]].length; -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp: buf[2] = rmass[i] / (4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i]); -atom_vec_line.cpp: else buf[2] = rmass[i]/bonus[line[i]].length; -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* ---------------------------------------------------------------------- -atom_vec_line.cpp:------------------------------------------------------------------------- */ -atom_vec_line.cpp:/* -atom_vec_line.cpp: //if (comm->me == 1 && update->ntimestep == 873) -atom_vec_line.cpp: // printf("CCHK %s: %d %d: %d %d: %d %d\n", -atom_vec_line.cpp: // str,i,n,line[i],nlocal_bonus,bonus[line[i]].ilocal,iflag); -atom_vec_line.cpp:*/ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -atom_vec_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp: // set radvary if particle diameters are time-varying due to fix adapt -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp: rmass[nlocal] = 4.0*MY_PI/3.0 * radius[nlocal]*radius[nlocal]*radius[nlocal]; -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp: rmass[nlocal] = 4.0*MY_PI/3.0 * -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp: rmass[nlocal] = 4.0*MY_PI/3.0 * -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp: buf[i][3] = rmass[i] / (4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i]); -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp: else buf[1] = rmass[i] / (4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i]); -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_sphere.cpp:/* ---------------------------------------------------------------------- -atom_vec_sphere.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -atom_vec_spin.cpp: http://lammps.sandia.gov, Sandia National Laboratories -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp: mass_type = 1; //check why -atom_vec_spin.cpp: //comm_x_only = 0; -atom_vec_spin.cpp: //comm_f_only = 1; -atom_vec_spin.cpp: size_data_atom = 9; //to check later -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp: //Allocating mag. quantities -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_spin.cpp:/* ---------------------------------------------------------------------- -atom_vec_spin.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -atom_vec_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp: // if deleting atom J via delflag and J has bonus data, then delete it -atom_vec_tri.cpp: // if atom I has bonus data, reset I's bonus.ilocal to loc J -atom_vec_tri.cpp: // do NOT do this if self-copy (I=J) since I's bonus data is already deleted -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp: // also set radius = distance from center to corner-pt = len(c1) -atom_vec_tri.cpp: // unless size = 0.0, then set diameter = 1.0 -atom_vec_tri.cpp: c1[0] = -size/2.0; -atom_vec_tri.cpp: c1[1] = -sqrt(3.0)/2.0 * size / 3.0; -atom_vec_tri.cpp: c2[0] = size/2.0; -atom_vec_tri.cpp: c2[1] = -sqrt(3.0)/2.0 * size / 3.0; -atom_vec_tri.cpp: c3[1] = sqrt(3.0)/2.0 * size * 2.0/3.0; -atom_vec_tri.cpp: inertia[0] = sqrt(3.0)/96.0 * size*size*size*size; -atom_vec_tri.cpp: inertia[1] = sqrt(3.0)/96.0 * size*size*size*size; -atom_vec_tri.cpp: inertia[2] = sqrt(3.0)/48.0 * size*size*size*size; -atom_vec_tri.cpp: c1[0] = -size/2.0; -atom_vec_tri.cpp: c1[1] = -sqrt(3.0)/2.0 * size / 3.0; -atom_vec_tri.cpp: c2[0] = size/2.0; -atom_vec_tri.cpp: c2[1] = -sqrt(3.0)/2.0 * size / 3.0; -atom_vec_tri.cpp: c3[1] = sqrt(3.0)/2.0 * size * 2.0/3.0; -atom_vec_tri.cpp: inertia[0] = sqrt(3.0)/96.0 * size*size*size*size; -atom_vec_tri.cpp: inertia[1] = sqrt(3.0)/96.0 * size*size*size*size; -atom_vec_tri.cpp: inertia[2] = sqrt(3.0)/48.0 * size*size*size*size; -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp: rmass[nlocal] = 4.0*MY_PI/3.0 * radius[nlocal]*radius[nlocal]*radius[nlocal]; -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp: rmass[nlocal] *= 4.0*MY_PI/3.0 * -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp: rmass[nlocal] *= 4.0*MY_PI/3.0 * -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp: // check for duplicate points -atom_vec_tri.cpp: // size = length of one edge -atom_vec_tri.cpp: // centroid = 1/3 of sum of vertices -atom_vec_tri.cpp: centroid[0] = (c1[0]+c2[0]+c3[0]) / 3.0; -atom_vec_tri.cpp: centroid[1] = (c1[1]+c2[1]+c3[1]) / 3.0; -atom_vec_tri.cpp: centroid[2] = (c1[2]+c2[2]+c3[2]) / 3.0; -atom_vec_tri.cpp: if (delta/size > EPSILON) -atom_vec_tri.cpp: // reset tri radius and mass -atom_vec_tri.cpp: // rmass currently holds density -atom_vec_tri.cpp: // tri area = 0.5 len(U x V), where U,V are edge vectors from one vertex -atom_vec_tri.cpp: // inertia = inertia tensor of triangle as 6-vector in Voigt notation -atom_vec_tri.cpp: // diagonalize inertia tensor via Jacobi rotations -atom_vec_tri.cpp: // bonus[].inertia = 3 eigenvalues = principal moments of inertia -atom_vec_tri.cpp: // evectors and exzy_space = 3 evectors = principal axes of triangle -atom_vec_tri.cpp: // enforce 3 orthogonal vectors as a right-handed coordinate system -atom_vec_tri.cpp: // flip 3rd vector if needed -atom_vec_tri.cpp: // create initial quaternion -atom_vec_tri.cpp: // bonus c1,c2,c3 = displacement of c1,c2,c3 from centroid -atom_vec_tri.cpp: // in basis of principal axes -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp: buf[i][4] = rmass[i] / (4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i]); -atom_vec_tri.cpp: buf[i][4] = rmass[i]/area; -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp: buf[2] = rmass[i] / (4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i]); -atom_vec_tri.cpp: buf[2] = rmass[i]/area; -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -atom_vec_tri.cpp:/* ---------------------------------------------------------------------- -atom_vec_tri.cpp:------------------------------------------------------------------------- */ -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -balance.cpp: http://lammps.sandia.gov, Sandia National Laboratories -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp://#define BALANCE_DEBUG 1 -balance.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files -balance.cpp:/* ---------------------------------------------------------------------- */ -balance.cpp:/* ---------------------------------------------------------------------- */ -balance.cpp: // check nfix in case all fixes have already been deleted -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp: // parse required arguments -balance.cpp: // error checks -balance.cpp: // process remaining optional args -balance.cpp: // insure particles are in current box & update box via shrink-wrap -balance.cpp: // init entire system since comm->setup is done -balance.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc -balance.cpp: // must reset atom map after exchange() since it clears it -balance.cpp: // imbinit = initial imbalance -balance.cpp: // no load-balance if imbalance doesn't exceed threshold -balance.cpp: // unless switching from tiled to non tiled layout, then force rebalance -balance.cpp: // debug output of initial state -balance.cpp: // perform load-balance -balance.cpp: // style XYZ = explicit setting of cutting planes of logical 3d grid -balance.cpp: comm->xsplit[i] = i * 1.0/procgrid[0]; -balance.cpp: comm->ysplit[i] = i * 1.0/procgrid[1]; -balance.cpp: comm->zsplit[i] = i * 1.0/procgrid[2]; -balance.cpp: // style SHIFT = adjust cutting planes of logical 3d grid -balance.cpp: // style BISECTION = recursive coordinate bisectioning -balance.cpp: // reset proc sub-domains -balance.cpp: // for either brick or tiled comm style -balance.cpp: // move particles to new processors via irregular() -balance.cpp: // output of final result -balance.cpp: // check if any particles were lost -balance.cpp: // imbfinal = final imbalance -balance.cpp: // stats output -balance.cpp: fprintf(screen," initial/final max load/proc = %g %g\n", -balance.cpp: fprintf(screen," initial/final imbalance factor = %g %g\n", -balance.cpp: fprintf(logfile," initial/final max load/proc = %g %g\n", -balance.cpp: fprintf(logfile," initial/final imbalance factor = %g %g\n", -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp: // count max number of weight settings -balance.cpp: // output file -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp: return imbalance = max load per proc / ave load per proc -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp: if (maxcost > 0.0) imbalance = maxcost / (totalcost/nprocs); -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp: // NOTE: this logic is specific to orthogonal boxes, not triclinic -balance.cpp: // shrink-wrap simulation box around atoms for input to RCB -balance.cpp: // leads to better-shaped sub-boxes when atoms are far from box boundaries -balance.cpp: // invoke RCB -balance.cpp: // then invert() to create list of proc assignments for my atoms -balance.cpp: // NOTE: (3/2017) can remove undocumented "old" option at some point -balance.cpp: // ditto in rcb.cpp -balance.cpp: // reset RCB lo/hi bounding box to full simulation box as needed -balance.cpp: // store RCB cut, dim, lo/hi box in CommTiled -balance.cpp: // cut and lo/hi need to be in fractional form so can -balance.cpp: // OK if changes by epsilon from what RCB used since atoms -balance.cpp: // will subsequently migrate to new owning procs by exchange() anyway -balance.cpp: // ditto for atoms exactly on lo/hi RCB box boundaries due to ties -balance.cpp: if (idim >= 0) comm->rcbcutfrac = (rcb->cut - boxlo[idim]) / prd[idim]; -balance.cpp: mysplit[0][0] = (lo[0] - boxlo[0]) / prd[0]; -balance.cpp: else mysplit[0][1] = (hi[0] - boxlo[0]) / prd[0]; -balance.cpp: mysplit[1][0] = (lo[1] - boxlo[1]) / prd[1]; -balance.cpp: else mysplit[1][1] = (hi[1] - boxlo[1]) / prd[1]; -balance.cpp: mysplit[2][0] = (lo[2] - boxlo[2]) / prd[2]; -balance.cpp: else mysplit[2][1] = (hi[2] - boxlo[2]) / prd[2]; -balance.cpp: // return list of procs to send my atoms to -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp: // if current layout is TILED, set initial uniform splits in Comm -balance.cpp: // this gives starting point to subsequent shift balancing -balance.cpp: for (int i = 0; i < procgrid[0]; i++) xsplit[i] = i * 1.0/procgrid[0]; -balance.cpp: for (int i = 0; i < procgrid[1]; i++) ysplit[i] = i * 1.0/procgrid[1]; -balance.cpp: for (int i = 0; i < procgrid[2]; i++) zsplit[i] = i * 1.0/procgrid[2]; -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp: // no balancing if no atoms -balance.cpp: // set delta for 1d balancing = root of threshold -balance.cpp: // root = # of dimensions being balanced on -balance.cpp: double delta = pow(stopthresh,1.0/ndim) - 1.0; -balance.cpp: // all balancing done in lamda coords -balance.cpp: // loop over dimensions in balance string -balance.cpp: // split = ptr to xyz split in Comm -balance.cpp: // initial count and sum -balance.cpp: // target[i] = desired sum at split I -balance.cpp: for (i = 0; i < np; i++) target[i] = totalcost/np * i; -balance.cpp: // lo[i] = closest split <= split[i] with a sum <= target -balance.cpp: // hi[i] = closest split >= split[i] with a sum >= target -balance.cpp: // iterate until balanced -balance.cpp: // stop if no change in splits, b/c all targets are met exactly -balance.cpp: // stop if all split sums are within delta of targets -balance.cpp: // this is a 1d test of particle count per slice -balance.cpp: // assumption is that this is sufficient accuracy -balance.cpp: // for 3d imbalance factor to reach threshold -balance.cpp: if (fabs(1.0*(sum[i]-target[i]))/target[i] > delta) doneflag = 0; -balance.cpp: // eliminate final adjacent splits that are duplicates -balance.cpp: // can happen if particle distribution is narrow and Nitermax is small -balance.cpp: // set lo = midpt between splits -balance.cpp: // spread duplicates out evenly between bounding midpts with non-duplicates -balance.cpp: // i,j = lo/hi indices of set of duplicate splits -balance.cpp: // delta = new spacing between duplicates -balance.cpp: // bounding midpts = lo[i-1] and lo[j] -balance.cpp: delta = (lo[j] - lo[i-1]) / (j-i+2); -balance.cpp: // sanity check on bad duplicate or inverted splits -balance.cpp: // zero or negative width sub-domains will break Comm class -balance.cpp: // should never happen if recursive multisection algorithm is correct -balance.cpp: /* -balance.cpp: */ -balance.cpp: // stop at this point in bstr if imbalance factor < threshold -balance.cpp: // this is a true 3d test of particle count per processor -balance.cpp: // restore real coords -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp: lo/hi = split values that bound current split -balance.cpp: update lo/hi to reflect sums at current split values -balance.cpp: recursive bisectioning zooms in on each cut by halving lo/hi -balance.cpp: return 0 if no changes in any splits, b/c they are all perfect -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp: // reset lo/hi based on current sum and splits -balance.cpp: // insure lo is monotonically increasing, ties are OK -balance.cpp: // insure hi is monotonically decreasing, ties are OK -balance.cpp: // this effectively uses info from nearby splits -balance.cpp: // to possibly tighten bounds on lo/hi -balance.cpp: fraction = 1.0*(target[i]-losum[i]) / (hisum[i]-losum[i]); -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp: return imbalance factor = max load per proc / ave load per proc -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp: // one proc's particles may map to many partitions, so must Allreduce -balance.cpp: if (maxcost > 0.0) imbalance = maxcost / (totalcost/nprocs); -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp: // insure vec[lo] <= value < vec[hi] at every iteration -balance.cpp: // done when lo,hi are adjacent -balance.cpp: int index = (lo+hi)/2; -balance.cpp: index = (lo+hi)/2; -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp: // Allgather each proc's sub-box -balance.cpp: // could use Gather, but that requires MPI to alloc memory -balance.cpp: // proc 0 writes out nodal coords -balance.cpp: // some will be duplicates -balance.cpp: // write out one square/cube per processor for 2d/3d -balance.cpp:/* ---------------------------------------------------------------------- -balance.cpp:------------------------------------------------------------------------- */ -balance.cpp: fprintf(stderr," Imbalance factor: %g\n",1.0*max*np/target[np]); -body.cpp:/* ---------------------------------------------------------------------- -body.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -body.cpp: http://lammps.sandia.gov, Sandia National Laboratories -body.cpp:------------------------------------------------------------------------- */ -body.cpp:/* ---------------------------------------------------------------------- */ -body.cpp:/* ---------------------------------------------------------------------- */ -bond.cpp:/* ---------------------------------------------------------------------- -bond.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -bond.cpp: http://lammps.sandia.gov, Sandia National Laboratories -bond.cpp:------------------------------------------------------------------------- */ -bond.cpp:/* ----------------------------------------------------------------------- -bond.cpp:------------------------------------------------------------------------- */ -bond.cpp:/* ---------------------------------------------------------------------- */ -bond.cpp:/* ---------------------------------------------------------------------- -bond.cpp:------------------------------------------------------------------------- */ -bond.cpp:/* ---------------------------------------------------------------------- -bond.cpp:------------------------------------------------------------------------- */ -bond.cpp: eflag_atom = eflag / 2; -bond.cpp: vflag_atom = vflag / 4; -bond.cpp: // reallocate per-atom arrays if necessary -bond.cpp: // zero accumulators -bond.cpp:/* ---------------------------------------------------------------------- -bond.cpp:------------------------------------------------------------------------- */ -bond.cpp:/* ---------------------------------------------------------------------- -bond.cpp: write a table of bond potential energy/force vs distance to a file -bond.cpp:------------------------------------------------------------------------- */ -bond.cpp: // parse optional arguments -bond.cpp: error->all(FLERR,"Invalid rlo/rhi values in bond_write command"); -bond.cpp: // open file in append mode -bond.cpp: // print header in format used by bond_style table -bond.cpp: // initialize potentials before evaluating bond potential -bond.cpp: // insures all bond coeffs are set and force constants -bond.cpp: // also initialize neighbor so that neighbor requests are processed -bond.cpp: // NOTE: might be safest to just do lmp->init() -bond.cpp: // evaluate energy and force at each of N distances -bond.cpp: // note that Bond::single() takes r**2 and returns f/r. -bond.cpp: const double dr = (outer-inner) / static_cast(n-1); -bond.cpp:/* ---------------------------------------------------------------------- */ -bond.cpp:/* ----------------------------------------------------------------------- -bond.cpp:-------------------------------------------------------------------------- */ -bond_hybrid.cpp:/* ---------------------------------------------------------------------- -bond_hybrid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -bond_hybrid.cpp: http://lammps.sandia.gov, Sandia National Laboratories -bond_hybrid.cpp:------------------------------------------------------------------------- */ -bond_hybrid.cpp:/* ---------------------------------------------------------------------- */ -bond_hybrid.cpp:/* ---------------------------------------------------------------------- */ -bond_hybrid.cpp:/* ---------------------------------------------------------------------- */ -bond_hybrid.cpp: // save ptrs to original bondlist -bond_hybrid.cpp: // if this is re-neighbor step, create sub-style bondlists -bond_hybrid.cpp: // nbondlist[] = length of each sub-style list -bond_hybrid.cpp: // realloc sub-style bondlist if necessary -bond_hybrid.cpp: // load sub-style bondlist with 3 values from original bondlist -bond_hybrid.cpp: // call each sub-style's compute function -bond_hybrid.cpp: // set neighbor->bondlist to sub-style bondlist before call -bond_hybrid.cpp: // accumulate sub-style global/peratom energy/virial in hybrid -bond_hybrid.cpp: // restore ptrs to original bondlist -bond_hybrid.cpp:/* ---------------------------------------------------------------------- */ -bond_hybrid.cpp:/* ---------------------------------------------------------------------- -bond_hybrid.cpp:------------------------------------------------------------------------- */ -bond_hybrid.cpp: // delete old lists, since cannot just change settings -bond_hybrid.cpp: // count sub-styles by skipping numeric args -bond_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric word -bond_hybrid.cpp: // need a better way to skip these exceptions -bond_hybrid.cpp: // allocate list of sub-styles -bond_hybrid.cpp: // allocate each sub-style and call its settings() with subset of args -bond_hybrid.cpp: // allocate uses suffix, but don't store suffix version in keywords, -bond_hybrid.cpp: // else syntax in coeff() will not match -bond_hybrid.cpp: // define subset of args for a sub-style by skipping numeric args -bond_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric -bond_hybrid.cpp: // need a better way to skip these exceptions -bond_hybrid.cpp:/* ---------------------------------------------------------------------- -bond_hybrid.cpp:---------------------------------------------------------------------- */ -bond_hybrid.cpp: // 2nd arg = bond sub-style name -bond_hybrid.cpp: // allow for "none" as valid sub-style name -bond_hybrid.cpp: // move 1st arg to 2nd arg -bond_hybrid.cpp: // just copy ptrs, since arg[] points into original input line -bond_hybrid.cpp: // invoke sub-style coeff() starting with 1st arg -bond_hybrid.cpp: // set setflag and which type maps to which sub-style -bond_hybrid.cpp: // if sub-style is none: set hybrid setflag, wipe out map -bond_hybrid.cpp:/* ---------------------------------------------------------------------- */ -bond_hybrid.cpp:/* ---------------------------------------------------------------------- -bond_hybrid.cpp:------------------------------------------------------------------------- */ -bond_hybrid.cpp:/* ---------------------------------------------------------------------- -bond_hybrid.cpp:------------------------------------------------------------------------- */ -bond_hybrid.cpp:/* ---------------------------------------------------------------------- -bond_hybrid.cpp:------------------------------------------------------------------------- */ -bond_hybrid.cpp:/* ---------------------------------------------------------------------- */ -bond_hybrid.cpp:/* ---------------------------------------------------------------------- -bond_hybrid.cpp:------------------------------------------------------------------------- */ -bond_zero.cpp:/* ---------------------------------------------------------------------- -bond_zero.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -bond_zero.cpp: http://lammps.sandia.gov, Sandia National Laboratories -bond_zero.cpp:------------------------------------------------------------------------- */ -bond_zero.cpp:/* ---------------------------------------------------------------------- -bond_zero.cpp:------------------------------------------------------------------------- */ -bond_zero.cpp:/* ---------------------------------------------------------------------- */ -bond_zero.cpp:/* ---------------------------------------------------------------------- */ -bond_zero.cpp:/* ---------------------------------------------------------------------- */ -bond_zero.cpp:/* ---------------------------------------------------------------------- */ -bond_zero.cpp:/* ---------------------------------------------------------------------- */ -bond_zero.cpp:/* ---------------------------------------------------------------------- -bond_zero.cpp:------------------------------------------------------------------------- */ -bond_zero.cpp:/* ---------------------------------------------------------------------- -bond_zero.cpp:------------------------------------------------------------------------- */ -bond_zero.cpp:/* ---------------------------------------------------------------------- -bond_zero.cpp:------------------------------------------------------------------------- */ -bond_zero.cpp:/* ---------------------------------------------------------------------- -bond_zero.cpp:------------------------------------------------------------------------- */ -bond_zero.cpp:/* ---------------------------------------------------------------------- -bond_zero.cpp:------------------------------------------------------------------------- */ -bond_zero.cpp:/* ---------------------------------------------------------------------- */ -change_box.cpp:/* ---------------------------------------------------------------------- -change_box.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -change_box.cpp: http://lammps.sandia.gov, Sandia National Laboratories -change_box.cpp:------------------------------------------------------------------------- */ -change_box.cpp:/* ---------------------------------------------------------------------- */ -change_box.cpp:/* ---------------------------------------------------------------------- */ -change_box.cpp: // group -change_box.cpp: // parse operation arguments -change_box.cpp: // allocate ops to max possible length -change_box.cpp: // volume option does not increment nops -change_box.cpp: // read options from end of input line -change_box.cpp: // compute scale factors if FINAL,DELTA used since they have distance units -change_box.cpp: // perform sequence of operations -change_box.cpp: // first insure atoms are in current box & update box via shrink-wrap -change_box.cpp: // no exchange() since doesn't matter if atoms are assigned to correct procs -change_box.cpp: // save current box state so can remap atoms from it, if requested -change_box.cpp: "Cannot change box ortho/triclinic with dumps defined"); -change_box.cpp: "Cannot change box ortho/triclinic with " -change_box.cpp: "Cannot change box ortho/triclinic with dumps defined"); -change_box.cpp: "Cannot change box ortho/triclinic with " -change_box.cpp: // convert atoms to lamda coords, using last box state -change_box.cpp: // convert atoms back to box coords, using current box state -change_box.cpp: // save current box state -change_box.cpp: // clean up -change_box.cpp: // apply shrink-wrap boundary conditions -change_box.cpp: // move atoms back inside simulation box and to new processors -change_box.cpp: // use remap() instead of pbc() -change_box.cpp: // in case box moved a long distance relative to atoms -change_box.cpp: // use irregular() in case box moved a long distance relative to atoms -change_box.cpp: // check if any atoms were lost -change_box.cpp:/* ---------------------------------------------------------------------- -change_box.cpp:------------------------------------------------------------------------- */ -change_box.cpp:/* ---------------------------------------------------------------------- -change_box.cpp:------------------------------------------------------------------------- */ -change_box.cpp:/* ---------------------------------------------------------------------- -change_box.cpp: reset box lengths of dim1/2 to preserve old volume -change_box.cpp:------------------------------------------------------------------------- */ -change_box.cpp: // invoke set_initial_box() -change_box.cpp: // in case change by caller to dim3 was invalid or on shrink-wrapped dim -change_box.cpp: // calculate newvol using boxlo/hi since xyz prd are not yet reset -change_box.cpp: double scale = oldvol/newvol; -change_box.cpp: // change dim1 only -change_box.cpp: // change dim1 and dim2, keeping their relative aspect ratio constant -change_box.cpp: // both are scaled by sqrt(scale) -citeme.cpp:/* ---------------------------------------------------------------------- -citeme.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -citeme.cpp: http://lammps.sandia.gov, Sandia National Laboratories -citeme.cpp:------------------------------------------------------------------------- */ -citeme.cpp: "following references. See http://lammps.sandia.gov/cite.html\n" -citeme.cpp:/* ---------------------------------------------------------------------- */ -citeme.cpp:/* ---------------------------------------------------------------------- -citeme.cpp:------------------------------------------------------------------------- */ -citeme.cpp:/* ---------------------------------------------------------------------- -citeme.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -comm_brick.cpp: http://lammps.sandia.gov, Sandia National Laboratories -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp:enum{SINGLE,MULTI}; // same as in Comm -comm_brick.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files -comm_brick.cpp:/* ---------------------------------------------------------------------- */ -comm_brick.cpp:/* ---------------------------------------------------------------------- */ -comm_brick.cpp:/* ---------------------------------------------------------------------- */ -comm_brick.cpp://IMPORTANT: we *MUST* pass "*oldcomm" to the Comm initializer here, as -comm_brick.cpp:// the code below *requires* that the (implicit) copy constructor -comm_brick.cpp:// for Comm is run and thus creating a shallow copy of "oldcomm". -comm_brick.cpp:// The call to Comm::copy_arrays() then converts the shallow copy -comm_brick.cpp:// into a deep copy of the class with the new layout. -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // bufextra = max size of one exchanged atom -comm_brick.cpp: // = allowed overflow of sendbuf in exchange() -comm_brick.cpp: // atomvec, fix reset these 2 maxexchange values if needed -comm_brick.cpp: // only necessary if their size > BUFEXTRA -comm_brick.cpp:/* ---------------------------------------------------------------------- */ -comm_brick.cpp: // memory for multi-style communication -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // cutghost[] = max distance at which ghost atoms need to be acquired -comm_brick.cpp: // for orthogonal: -comm_brick.cpp: // cutghost is in box coords = neigh->cutghost in all 3 dims -comm_brick.cpp: // for triclinic: -comm_brick.cpp: // neigh->cutghost = distance between tilted planes in box coords -comm_brick.cpp: // cutghost is in lamda coords = distance between those planes -comm_brick.cpp: // for multi: -comm_brick.cpp: // cutghostmulti = same as cutghost, only for each atom type -comm_brick.cpp: // recvneed[idim][0/1] = # of procs away I recv atoms from, within cutghost -comm_brick.cpp: // 0 = from left, 1 = from right -comm_brick.cpp: // do not cross non-periodic boundaries, need[2] = 0 for 2d -comm_brick.cpp: // sendneed[idim][0/1] = # of procs away I send atoms to -comm_brick.cpp: // 0 = to left, 1 = to right -comm_brick.cpp: // set equal to recvneed[idim][1/0] of neighbor proc -comm_brick.cpp: // maxneed[idim] = max procs away any proc recvs atoms in either direction -comm_brick.cpp: // layout = UNIFORM = uniform sized sub-domains: -comm_brick.cpp: // maxneed is directly computable from sub-domain size -comm_brick.cpp: // limit to procgrid-1 for non-PBC -comm_brick.cpp: // recvneed = maxneed except for procs near non-PBC -comm_brick.cpp: // sendneed = recvneed of neighbor on each side -comm_brick.cpp: // layout = NONUNIFORM = non-uniform sized sub-domains: -comm_brick.cpp: // compute recvneed via updown() which accounts for non-PBC -comm_brick.cpp: // sendneed = recvneed of neighbor on each side -comm_brick.cpp: // maxneed via Allreduce() of recvneed -comm_brick.cpp: maxneed[0] = static_cast (cutghost[0] * procgrid[0] / prd[0]) + 1; -comm_brick.cpp: maxneed[1] = static_cast (cutghost[1] * procgrid[1] / prd[1]) + 1; -comm_brick.cpp: maxneed[2] = static_cast (cutghost[2] * procgrid[2] / prd[2]) + 1; -comm_brick.cpp: // allocate comm memory -comm_brick.cpp: // setup parameters for each exchange: -comm_brick.cpp: // sendproc = proc to send to at each swap -comm_brick.cpp: // recvproc = proc to recv from at each swap -comm_brick.cpp: // for mode SINGLE: -comm_brick.cpp: // slablo/slabhi = boundaries for slab of atoms to send at each swap -comm_brick.cpp: // use -BIG/midpt/BIG to insure all atoms included even if round-off occurs -comm_brick.cpp: // if round-off, atoms recvd across PBC can be < or > than subbox boundary -comm_brick.cpp: // note that borders() only loops over subset of atoms during each swap -comm_brick.cpp: // treat all as PBC here, non-PBC is handled in borders() via r/s need[][] -comm_brick.cpp: // for mode MULTI: -comm_brick.cpp: // multilo/multihi is same, with slablo/slabhi for each atom type -comm_brick.cpp: // pbc_flag: 0 = nothing across a boundary, 1 = something across a boundary -comm_brick.cpp: // pbc = -1/0/1 for PBC factor in each of 3/6 orthogonal/triclinic dirs -comm_brick.cpp: // for triclinic, slablo/hi and pbc_border will be used in lamda (0-1) coords -comm_brick.cpp: // 1st part of if statement is sending to the west/south/down -comm_brick.cpp: // 2nd part of if statement is sending to the east/north/up -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp: walk up/down the extent of nearby processors in dim and dir -comm_brick.cpp: dir = 0/1 = walk to left/right -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: frac = cutghost[dim]/prd; -comm_brick.cpp: frac = cutghost[dim]/prd; -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp: other per-atom attributes may also be sent via pack/unpack routines -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // exchange data with another proc -comm_brick.cpp: // if other proc is self, just copy -comm_brick.cpp: // if comm_x_only set, exchange or copy directly to x, don't unpack -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp: other per-atom attributes may also be sent via pack/unpack routines -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // exchange data with another proc -comm_brick.cpp: // if other proc is self, just copy -comm_brick.cpp: // if comm_f_only set, exchange or copy directly from f, don't pack -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // clear global->local map for owned and ghost atoms -comm_brick.cpp: // b/c atoms migrate to new procs in exchange() and -comm_brick.cpp: // new ghosts are created in borders() -comm_brick.cpp: // map_set() is done at end of borders() -comm_brick.cpp: // clear ghost count and any ghost bonus data internal to AtomVec -comm_brick.cpp: // insure send buf is large enough for single atom -comm_brick.cpp: // bufextra = max size of one atom = allowed overflow of sendbuf -comm_brick.cpp: // fixes can change per-atom size requirement on-the-fly -comm_brick.cpp: // subbox bounds for orthogonal or triclinic -comm_brick.cpp: // loop over dimensions -comm_brick.cpp: // fill buffer with atoms leaving my box, using < and >= -comm_brick.cpp: // when atom is deleted, fill it in with last atom -comm_brick.cpp: // send/recv atoms in both directions -comm_brick.cpp: // send size of message first so receiver can realloc buf_recv if needed -comm_brick.cpp: // if 1 proc in dimension, no send/recv -comm_brick.cpp: // set nrecv = 0 so buf_send atoms will be lost -comm_brick.cpp: // if 2 procs in dimension, single send/recv -comm_brick.cpp: // if more than 2 procs in dimension, send/recv to both neighbors -comm_brick.cpp: // check incoming atoms to see if they are in my box -comm_brick.cpp: // if so, add to my list -comm_brick.cpp: // box check is only for this dimension, -comm_brick.cpp: // atom may be passed to another proc in later dims -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // do swaps over all 3 dimensions -comm_brick.cpp: // find atoms within slab boundaries lo/hi using <= and >= -comm_brick.cpp: // check atoms between nfirst and nlast -comm_brick.cpp: // for first swaps in a dim, check owned and ghost -comm_brick.cpp: // for later swaps in a dim, only check newly arrived ghosts -comm_brick.cpp: // store sent atom indices in sendlist for use in future timesteps -comm_brick.cpp: // sendflag = 0 if I do not send on this swap -comm_brick.cpp: // sendneed test indicates receiver no longer requires data -comm_brick.cpp: // e.g. due to non-PBC or non-uniform sub-domains -comm_brick.cpp: if (ineed/2 >= sendneed[dim][ineed % 2]) sendflag = 0; -comm_brick.cpp: // find send atoms according to SINGLE vs MULTI -comm_brick.cpp: // all atoms eligible versus only atoms in bordergroup -comm_brick.cpp: // can only limit loop to bordergroup for first sends (ineed < 2) -comm_brick.cpp: // on these sends, break loop in two: owned (in group) and ghost -comm_brick.cpp: // pack up list of border atoms -comm_brick.cpp: // swap atoms with other proc -comm_brick.cpp: // no MPI calls except SendRecv if nsend/nrecv = 0 -comm_brick.cpp: // put incoming ghosts at end of my atom arrays -comm_brick.cpp: // if swapping with self, simply copy, no messages -comm_brick.cpp: // unpack buffer -comm_brick.cpp: // set all pointers & counters -comm_brick.cpp: // insure send/recv buffers are long enough for all forward & reverse comm -comm_brick.cpp: // reset global->local map -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // pack buffer -comm_brick.cpp: // exchange with another proc -comm_brick.cpp: // if self, set recv buffer to send buffer -comm_brick.cpp: // unpack buffer -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // pack buffer -comm_brick.cpp: // exchange with another proc -comm_brick.cpp: // if self, set recv buffer to send buffer -comm_brick.cpp: // unpack buffer -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp: size/nsize used only to set recv buffer limit -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // pack buffer -comm_brick.cpp: // exchange with another proc -comm_brick.cpp: // if self, set recv buffer to send buffer -comm_brick.cpp: // unpack buffer -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp: size/nsize used only to set recv buffer limit -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // pack buffer -comm_brick.cpp: // exchange with another proc -comm_brick.cpp: // if self, set recv buffer to send buffer -comm_brick.cpp: // unpack buffer -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp: handshake sizes before each Irecv/Send to insure buf_recv is big enough -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // pack buffer -comm_brick.cpp: // exchange with another proc -comm_brick.cpp: // if self, set recv buffer to send buffer -comm_brick.cpp: // unpack buffer -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // pack buffer -comm_brick.cpp: // exchange with another proc -comm_brick.cpp: // if self, set recv buffer to send buffer -comm_brick.cpp: // unpack buffer -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // pack buffer -comm_brick.cpp: // exchange with another proc -comm_brick.cpp: // if self, set recv buffer to send buffer -comm_brick.cpp: // unpack buffer -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // pack buffer -comm_brick.cpp: // exchange with another proc -comm_brick.cpp: // if self, set recv buffer to send buffer -comm_brick.cpp: // unpack buffer -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // pack buffer -comm_brick.cpp: // exchange with another proc -comm_brick.cpp: // if self, set recv buffer to send buffer -comm_brick.cpp: // unpack buffer -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // insure send/recv bufs are big enough for nsize -comm_brick.cpp: // based on smax/rmax from most recent borders() invocation -comm_brick.cpp: // pack buffer -comm_brick.cpp: // exchange with another proc -comm_brick.cpp: // if self, set recv buffer to send buffer -comm_brick.cpp: // unpack buffer -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: // loop over dimensions -comm_brick.cpp: // no exchange if only one proc in a dimension -comm_brick.cpp: // send/recv info in both directions using same buf_recv -comm_brick.cpp: // if 2 procs in dimension, single send/recv -comm_brick.cpp: // if more than 2 procs in dimension, send/recv to both neighbors -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp: if flag = 0, don't need to realloc with copy, just free/malloc -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp: free/malloc the size of the recv buffer as needed with BUFFACTOR -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp:/* ---------------------------------------------------------------------- -comm_brick.cpp:------------------------------------------------------------------------- */ -comm_brick.cpp: bytes += nprocs * sizeof(int); // grid2proc -comm.cpp:/* ---------------------------------------------------------------------- -comm.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -comm.cpp: http://lammps.sandia.gov, Sandia National Laboratories -comm.cpp:------------------------------------------------------------------------- */ -comm.cpp:#define BUFMIN 1000 // also in comm styles -comm.cpp:enum{SINGLE,MULTI}; // same as in Comm sub-styles -comm.cpp:enum{MULTIPLE}; // same as in ProcMap -comm.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files -comm.cpp:/* ---------------------------------------------------------------------- */ -comm.cpp: // use of OpenMP threads -comm.cpp: // query OpenMP for number of threads/process set by user at run-time -comm.cpp: // if the OMP_NUM_THREADS environment variable is not set, we default -comm.cpp: // to using 1 thread. This follows the principle of the least surprise, -comm.cpp: // while practically all OpenMP implementations violate it by using -comm.cpp: // as many threads as there are (virtual) CPU cores by default. -comm.cpp: // enforce consistent number of threads across all MPI tasks -comm.cpp:/* ---------------------------------------------------------------------- */ -comm.cpp:/* ---------------------------------------------------------------------- -comm.cpp: all public/protected vectors/arrays in parent Comm class must be copied -comm.cpp:------------------------------------------------------------------------- */ -comm.cpp:/* ---------------------------------------------------------------------- -comm.cpp:------------------------------------------------------------------------- */ -comm.cpp: // check warn if any proc's subbox is smaller than neigh skin -comm.cpp: // since may lead to lost atoms in exchange() -comm.cpp: // really should check every exchange() in case box size is shrinking -comm.cpp: // but seems overkill to do that (fix balance does perform this check) -comm.cpp: // comm_only = 1 if only x,f are exchanged in forward/reverse comm -comm.cpp: // comm_x_only = 0 if ghost_velocity since velocities are added -comm.cpp: // set per-atom sizes for forward/reverse/border comm -comm.cpp: // augment by velocity and fix quantities if needed -comm.cpp: // per-atom limits for communication -comm.cpp: // maxexchange = max # of datums in exchange comm, set in exchange() -comm.cpp: // maxforward = # of datums in largest forward comm -comm.cpp: // maxreverse = # of datums in largest reverse comm -comm.cpp: // query pair,fix,compute,dump for their requirements -comm.cpp: // pair style can force reverse comm even if newton off -comm.cpp:/* ---------------------------------------------------------------------- -comm.cpp:------------------------------------------------------------------------- */ -comm.cpp: // need to reset cutghostuser when switching comm mode -comm.cpp: // need to reset cutghostuser when switching comm mode -comm.cpp: "Use cutoff/multi keyword to set cutoff in multi mode"); -comm.cpp: } else if (strcmp(arg[iarg],"cutoff/multi") == 0) { -comm.cpp: "Cannot set cutoff/multi before simulation box is defined"); -comm.cpp:/* ---------------------------------------------------------------------- -comm.cpp:------------------------------------------------------------------------- */ -comm.cpp: else if (strcmp(arg[iarg+1],"cart/reorder") == 0) mapflag = CARTREORDER; -comm.cpp: // only receiver has otherflag dependency -comm.cpp: // error checks -comm.cpp:/* ---------------------------------------------------------------------- -comm.cpp:------------------------------------------------------------------------- */ -comm.cpp: // recv 3d proc grid of another partition if my 3d grid depends on it -comm.cpp: // create ProcMap class to create 3d grid and map procs to it -comm.cpp: // create 3d grid of processors -comm.cpp: // produces procgrid and coregrid (if relevant) -comm.cpp: // error check on procgrid -comm.cpp: // should not be necessary due to ProcMap -comm.cpp: // grid2proc[i][j][k] = proc that owns i,j,k location in 3d grid -comm.cpp: // map processor IDs to 3d processor grid -comm.cpp: // produces myloc, procneigh, grid2proc -comm.cpp: // print 3d grid info to screen and logfile -comm.cpp: // print 3d grid details to outfile -comm.cpp: // free ProcMap class -comm.cpp: // set xsplit,ysplit,zsplit for uniform spacings -comm.cpp: for (int i = 0; i < procgrid[0]; i++) xsplit[i] = i * 1.0/procgrid[0]; -comm.cpp: for (int i = 0; i < procgrid[1]; i++) ysplit[i] = i * 1.0/procgrid[1]; -comm.cpp: for (int i = 0; i < procgrid[2]; i++) zsplit[i] = i * 1.0/procgrid[2]; -comm.cpp: // set lamda box params after procs are assigned -comm.cpp: // only set once unless load-balancing occurs -comm.cpp: // send my 3d proc grid to another partition if requested -comm.cpp:/* ---------------------------------------------------------------------- -comm.cpp:------------------------------------------------------------------------- */ -comm.cpp: // initialize triclinic b/c coord2proc can be called before Comm::init() -comm.cpp: // via Irregular::migrate_atoms() -comm.cpp: igx = static_cast (procgrid[0] * (x[0]-boxlo[0]) / prd[0]); -comm.cpp: igy = static_cast (procgrid[1] * (x[1]-boxlo[1]) / prd[1]); -comm.cpp: igz = static_cast (procgrid[2] * (x[2]-boxlo[2]) / prd[2]); -comm.cpp: igx = binary((x[0]-boxlo[0])/prd[0],procgrid[0],xsplit); -comm.cpp: igy = binary((x[1]-boxlo[1])/prd[1],procgrid[1],ysplit); -comm.cpp: igz = binary((x[2]-boxlo[2])/prd[2],procgrid[2],zsplit); -comm.cpp:/* ---------------------------------------------------------------------- -comm.cpp:------------------------------------------------------------------------- */ -comm.cpp: // insure vec[lo] <= value < vec[hi] at every iteration -comm.cpp: // done when lo,hi are adjacent -comm.cpp: int index = (lo+hi)/2; -comm.cpp: index = (lo+hi)/2; -comm.cpp:/* ---------------------------------------------------------------------- -comm.cpp: callback() is invoked to allow caller to process/update each proc's inbuf -comm.cpp:------------------------------------------------------------------------- */ -comm.cpp: // no need to communicate without data -comm.cpp: if (self || loop < nprocs-1) callback(nbytes/nper,buf); -comm.cpp:/* ---------------------------------------------------------------------- -comm.cpp:------------------------------------------------------------------------- */ -comm.cpp:/* ---------------------------------------------------------------------- -comm.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -comm_tiled.cpp: http://lammps.sandia.gov, Sandia National Laboratories -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:enum{SINGLE,MULTI}; // same as in Comm -comm_tiled.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files -comm_tiled.cpp:/* ---------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- */ -comm_tiled.cpp://IMPORTANT: we *MUST* pass "*oldcomm" to the Comm initializer here, as -comm_tiled.cpp:// the code below *requires* that the (implicit) copy constructor -comm_tiled.cpp:// for Comm is run and thus creating a shallow copy of "oldcomm". -comm_tiled.cpp:// The call to Comm::copy_arrays() then converts the shallow copy -comm_tiled.cpp:// into a deep copy of the class with the new layout. -comm_tiled.cpp:/* ---------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp: // bufextra = max size of one exchanged atom -comm_tiled.cpp: // = allowed overflow of sendbuf in exchange() -comm_tiled.cpp: // atomvec, fix reset these 2 maxexchange values if needed -comm_tiled.cpp: // only necessary if their size > BUFEXTRA -comm_tiled.cpp:/* ---------------------------------------------------------------------- */ -comm_tiled.cpp: // temporary restrictions -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp: // domain properties used in setup method and methods it calls -comm_tiled.cpp: // set function pointers -comm_tiled.cpp: // if RCB decomp exists and just changed, gather needed global RCB info -comm_tiled.cpp: // set cutoff for comm forward and comm reverse -comm_tiled.cpp: // check that cutoff < any periodic box length -comm_tiled.cpp: // if cut = 0.0, set to epsilon to induce nearest neighbor comm -comm_tiled.cpp: // this is b/c sendproc is used below to infer touching exchange procs -comm_tiled.cpp: // exchange procs will be empty (leading to lost atoms) if sendproc = 0 -comm_tiled.cpp: // will reset sendproc/etc to 0 after exchange is setup, down below -comm_tiled.cpp: // setup forward/reverse communication -comm_tiled.cpp: // loop over 6 swap directions -comm_tiled.cpp: // determine which procs I will send to and receive from in each swap -comm_tiled.cpp: // done by intersecting ghost box with all proc sub-boxes it overlaps -comm_tiled.cpp: // sets nsendproc, nrecvproc, sendproc, recvproc -comm_tiled.cpp: // sets sendother, recvother, sendself, pbc_flag, pbc, sendbox -comm_tiled.cpp: // resets nprocmax -comm_tiled.cpp: // one = first ghost box in same periodic image -comm_tiled.cpp: // two = second ghost box wrapped across periodic boundary -comm_tiled.cpp: // either may not exist -comm_tiled.cpp: // noverlap = # of overlaps of box1/2 with procs via box_drop() -comm_tiled.cpp: // overlap = list of overlapping procs -comm_tiled.cpp: // if overlap with self, indexme = index of me in list -comm_tiled.cpp: // if self is in overlap list, move it to end of list -comm_tiled.cpp: // reallocate 2nd dimensions of all send/recv arrays, based on noverlap -comm_tiled.cpp: // # of sends of this swap = # of recvs of iswap +/- 1 -comm_tiled.cpp: // overlap how has list of noverlap procs -comm_tiled.cpp: // includes PBC effects -comm_tiled.cpp: // compute sendbox for each of my sends -comm_tiled.cpp: // obox = intersection of ghostbox with other proc's sub-domain -comm_tiled.cpp: // sbox = what I need to send to other proc -comm_tiled.cpp: // = sublo to MIN(sublo+cut,subhi) in idim, for idir = 0 -comm_tiled.cpp: // = MIN(subhi-cut,sublo) to subhi in idim, for idir = 1 -comm_tiled.cpp: // = obox in other 2 dims -comm_tiled.cpp: // if sbox touches other proc's sub-box boundaries in lower dims, -comm_tiled.cpp: // extend sbox in those lower dims to include ghost atoms -comm_tiled.cpp: // setup exchange communication = subset of forward/reverse comm procs -comm_tiled.cpp: // loop over dimensions -comm_tiled.cpp: // determine which procs I will exchange with in each dimension -comm_tiled.cpp: // subset of procs that touch my proc in forward/reverse comm -comm_tiled.cpp: // sets nexchproc & exchproc, resets nexchprocmax -comm_tiled.cpp: // overlap = list of procs that touch my sub-box in idim -comm_tiled.cpp: // proc can appear twice in list if touches in both directions -comm_tiled.cpp: // 2nd add-to-list checks to insure each proc appears exactly once -comm_tiled.cpp: // reallocate exchproc and exchnum if needed based on noverlap -comm_tiled.cpp: // reset sendproc/etc to 0 if cut is really 0.0 -comm_tiled.cpp: // reallocate MPI Requests and Statuses as needed -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp: other per-atom attributes may also be sent via pack/unpack routines -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp: // exchange data with another set of procs in each swap -comm_tiled.cpp: // post recvs from all procs except self -comm_tiled.cpp: // send data to all procs except self -comm_tiled.cpp: // copy data to self if sendself is set -comm_tiled.cpp: // wait on all procs except self and unpack received data -comm_tiled.cpp: // if comm_x_only set, exchange or copy directly to x, don't unpack -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp: other per-atom attributes may also be sent via pack/unpack routines -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp: // exchange data with another set of procs in each swap -comm_tiled.cpp: // post recvs from all procs except self -comm_tiled.cpp: // send data to all procs except self -comm_tiled.cpp: // copy data to self if sendself is set -comm_tiled.cpp: // wait on all procs except self and unpack received data -comm_tiled.cpp: // if comm_f_only set, exchange or copy directly from f, don't pack -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp: // clear global->local map for owned and ghost atoms -comm_tiled.cpp: // b/c atoms migrate to new procs in exchange() and -comm_tiled.cpp: // new ghosts are created in borders() -comm_tiled.cpp: // map_set() is done at end of borders() -comm_tiled.cpp: // clear ghost count and any ghost bonus data internal to AtomVec -comm_tiled.cpp: // insure send buf is large enough for single atom -comm_tiled.cpp: // bufextra = max size of one atom = allowed overflow of sendbuf -comm_tiled.cpp: // fixes can change per-atom size requirement on-the-fly -comm_tiled.cpp: // domain properties used in exchange method and methods it calls -comm_tiled.cpp: // subbox bounds for orthogonal or triclinic -comm_tiled.cpp: // loop over dimensions -comm_tiled.cpp: // fill buffer with atoms leaving my box, using < and >= -comm_tiled.cpp: // when atom is deleted, fill it in with last atom -comm_tiled.cpp: // send and recv atoms from neighbor procs that touch my sub-box in dim -comm_tiled.cpp: // no send/recv with self -comm_tiled.cpp: // send size of message first -comm_tiled.cpp: // receiver may receive multiple messages, realloc buf_recv if needed -comm_tiled.cpp: // check incoming atoms to see if I own it and they are in my box -comm_tiled.cpp: // if so, add to my list -comm_tiled.cpp: // box check is only for this dimension, -comm_tiled.cpp: // atom may be passed to another proc in later dims -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp: one list is created per swap/proc that will be made -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp: // send/recv max one = max # of atoms in single send/recv for any swap -comm_tiled.cpp: // send/recv max all = max # of atoms in all sends/recvs within any swap -comm_tiled.cpp: // loop over swaps in all dimensions -comm_tiled.cpp: // find atoms within sendboxes using >= and < -comm_tiled.cpp: // hi test with ">" is important b/c don't want to send an atom -comm_tiled.cpp: // in lower dim (on boundary) that a proc will recv again in higher dim -comm_tiled.cpp: // for x-dim swaps, check owned atoms -comm_tiled.cpp: // for yz-dim swaps, check owned and ghost atoms -comm_tiled.cpp: // store sent atom indices in sendlist for use in future timesteps -comm_tiled.cpp: // NOTE: assume SINGLE mode, add logic for MULTI mode later -comm_tiled.cpp: // send sendnum counts to procs who recv from me except self -comm_tiled.cpp: // copy data to self if sendself is set -comm_tiled.cpp: // setup other per swap/proc values from sendnum and recvnum -comm_tiled.cpp: // insure send/recv buffers are large enough for this border comm swap -comm_tiled.cpp: // swap atoms with other procs using pack_border(), unpack_border() -comm_tiled.cpp: // use Waitall() instead of Waitany() because calls to unpack_border() -comm_tiled.cpp: // must increment per-atom arrays in ascending order -comm_tiled.cpp: // increment ghost atoms -comm_tiled.cpp: // insure send/recv buffers are long enough for all forward & reverse comm -comm_tiled.cpp: // send buf is for one forward or reverse sends to one proc -comm_tiled.cpp: // recv buf is for all forward or reverse recvs in one swap -comm_tiled.cpp: // reset global->local map -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp: size/nsize used only to set recv buffer limit -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp: size/nsize used only to set recv buffer limit -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp: // insure send/recv bufs are big enough for nsize -comm_tiled.cpp: // based on smaxone/rmaxall from most recent borders() invocation -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp: determine overlap list of Noverlap procs the lo/hi box overlaps -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp: // NOTE: this is not triclinic compatible -comm_tiled.cpp: // NOTE: these error messages are internal sanity checks -comm_tiled.cpp: // should not occur, can be removed at some point -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp: determine overlap list of Noverlap procs the lo/hi box overlaps -comm_tiled.cpp: no need to split lo/hi box as recurse b/c OK if box extends outside RCB box -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp: // end recursion when partition is a single proc -comm_tiled.cpp: // add proc to overlap list -comm_tiled.cpp: // drop box on each side of cut it extends beyond -comm_tiled.cpp: // use > and < criteria so does not include a box it only touches -comm_tiled.cpp: // procmid = 1st processor in upper half of partition -comm_tiled.cpp: // = location in tree that stores this cut -comm_tiled.cpp: // dim = 0,1,2 dimension of cut -comm_tiled.cpp: // cut = position of cut -comm_tiled.cpp: int procmid = proclower + (procupper - proclower) / 2 + 1; -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp: return other box owned by proc as lo/hi corner pts -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp: return other box owned by proc as lo/hi corner pts -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp: // sending to left -comm_tiled.cpp: // only touches if proc hi = my lo, or if proc hi = boxhi and my lo = boxlo -comm_tiled.cpp: // sending to right -comm_tiled.cpp: // only touches if proc lo = my hi, or if proc lo = boxlo and my hi = boxhi -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp: // end recursion when partition is a single proc -comm_tiled.cpp: // return proc -comm_tiled.cpp: // drop point on side of cut it is on -comm_tiled.cpp: // use < criterion so point is not on high edge of proc sub-domain -comm_tiled.cpp: // procmid = 1st processor in upper half of partition -comm_tiled.cpp: // = location in tree that stores this cut -comm_tiled.cpp: // dim = 0,1,2 dimension of cut -comm_tiled.cpp: // cut = position of cut -comm_tiled.cpp: int procmid = proclower + (procupper - proclower) / 2 + 1; -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp: if flag = 0, don't need to realloc with copy, just free/malloc -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp: free/malloc the size of the recv buffer as needed with BUFFACTOR -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp: nexchproc = new int[n/2]; -comm_tiled.cpp: nexchprocmax = new int[n/2]; -comm_tiled.cpp: exchproc = new int*[n/2]; -comm_tiled.cpp: exchnum = new int*[n/2]; -comm_tiled.cpp: for (int i = 0; i < n/2; i++) { -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -comm_tiled.cpp: for (int i = 0; i < n/2; i++) { -comm_tiled.cpp:/* ---------------------------------------------------------------------- -comm_tiled.cpp:------------------------------------------------------------------------- */ -compute_angle.cpp:/* ---------------------------------------------------------------------- -compute_angle.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_angle.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_angle.cpp:------------------------------------------------------------------------- */ -compute_angle.cpp:/* ---------------------------------------------------------------------- */ -compute_angle.cpp: // check if bond style hybrid exists -compute_angle.cpp:/* ---------------------------------------------------------------------- */ -compute_angle.cpp:/* ---------------------------------------------------------------------- */ -compute_angle.cpp: // recheck angle style in case it has been changed -compute_angle.cpp:/* ---------------------------------------------------------------------- */ -compute_angle_local.cpp:/* ---------------------------------------------------------------------- -compute_angle_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_angle_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_angle_local.cpp:------------------------------------------------------------------------- */ -compute_angle_local.cpp:/* ---------------------------------------------------------------------- */ -compute_angle_local.cpp: if (narg < 4) error->all(FLERR,"Illegal compute angle/local command"); -compute_angle_local.cpp: error->all(FLERR,"Compute angle/local used when angles are not allowed"); -compute_angle_local.cpp: else error->all(FLERR,"Invalid keyword in compute angle/local command"); -compute_angle_local.cpp:/* ---------------------------------------------------------------------- */ -compute_angle_local.cpp:/* ---------------------------------------------------------------------- */ -compute_angle_local.cpp: error->all(FLERR,"No angle style is defined for compute angle/local"); -compute_angle_local.cpp: // do initial memory allocation so that memory_usage() is correct -compute_angle_local.cpp:/* ---------------------------------------------------------------------- */ -compute_angle_local.cpp: // count local entries and compute angle info -compute_angle_local.cpp:/* ---------------------------------------------------------------------- -compute_angle_local.cpp:------------------------------------------------------------------------- */ -compute_angle_local.cpp: // c = cosine of angle -compute_angle_local.cpp: c /= r1*r2; -compute_angle_local.cpp: tbuf[n] = 180.0*acos(c)/MY_PI; -compute_angle_local.cpp:/* ---------------------------------------------------------------------- */ -compute_angle_local.cpp: // grow vector_local or array_local -compute_angle_local.cpp: memory->create(vlocal,nmax,"angle/local:vector_local"); -compute_angle_local.cpp: memory->create(alocal,nmax,nvalues,"angle/local:array_local"); -compute_angle_local.cpp:/* ---------------------------------------------------------------------- -compute_angle_local.cpp:------------------------------------------------------------------------- */ -compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- -compute_angmom_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_angmom_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ -compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_angmom_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute angmom/chunk command"); -compute_angmom_chunk.cpp: // ID of compute chunk/atom -compute_angmom_chunk.cpp: // chunk-based data -compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_angmom_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " -compute_angmom_chunk.cpp: "compute angmom/chunk"); -compute_angmom_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) -compute_angmom_chunk.cpp: error->all(FLERR,"Compute angmom/chunk does not use chunk/atom compute"); -compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_angmom_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_angmom_chunk.cpp: // extract ichunk index vector from compute -compute_angmom_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_angmom_chunk.cpp: // zero local per-chunk values -compute_angmom_chunk.cpp: // compute COM for each chunk -compute_angmom_chunk.cpp: comall[i][0] /= masstotal[i]; -compute_angmom_chunk.cpp: comall[i][1] /= masstotal[i]; -compute_angmom_chunk.cpp: comall[i][2] /= masstotal[i]; -compute_angmom_chunk.cpp: // compute angmom for each chunk -compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- -compute_angmom_chunk.cpp: lock methods: called by fix ave/time -compute_angmom_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch -compute_angmom_chunk.cpp: by passing lock info along to compute chunk/atom -compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ -compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- -compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ -compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- -compute_angmom_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists -compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ -compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- -compute_angmom_chunk.cpp: calculate and return # of chunks = length of vector/array -compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ -compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- -compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ -compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- -compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ -compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- -compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ -compute_angmom_chunk.cpp: memory->create(massproc,maxchunk,"angmom/chunk:massproc"); -compute_angmom_chunk.cpp: memory->create(masstotal,maxchunk,"angmom/chunk:masstotal"); -compute_angmom_chunk.cpp: memory->create(com,maxchunk,3,"angmom/chunk:com"); -compute_angmom_chunk.cpp: memory->create(comall,maxchunk,3,"angmom/chunk:comall"); -compute_angmom_chunk.cpp: memory->create(angmom,maxchunk,3,"angmom/chunk:angmom"); -compute_angmom_chunk.cpp: memory->create(angmomall,maxchunk,3,"angmom/chunk:angmomall"); -compute_angmom_chunk.cpp:/* ---------------------------------------------------------------------- -compute_angmom_chunk.cpp:------------------------------------------------------------------------- */ -compute_bond.cpp:/* ---------------------------------------------------------------------- -compute_bond.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_bond.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_bond.cpp:------------------------------------------------------------------------- */ -compute_bond.cpp:/* ---------------------------------------------------------------------- */ -compute_bond.cpp: // check if bond style hybrid exists -compute_bond.cpp:/* ---------------------------------------------------------------------- */ -compute_bond.cpp:/* ---------------------------------------------------------------------- */ -compute_bond.cpp: // recheck bond style in case it has been changed -compute_bond.cpp:/* ---------------------------------------------------------------------- */ -compute_bond_local.cpp:/* ---------------------------------------------------------------------- -compute_bond_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_bond_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_bond_local.cpp:------------------------------------------------------------------------- */ -compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ -compute_bond_local.cpp: if (narg < 4) error->all(FLERR,"Illegal compute bond/local command"); -compute_bond_local.cpp: error->all(FLERR,"Compute bond/local used when bonds are not allowed"); -compute_bond_local.cpp: else error->all(FLERR,"Invalid keyword in compute bond/local command"); -compute_bond_local.cpp: // set singleflag if need to call bond->single() -compute_bond_local.cpp: // set velflag if compute any quantities based on velocities -compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ -compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ -compute_bond_local.cpp: error->all(FLERR,"No bond style is defined for compute bond/local"); -compute_bond_local.cpp: // set ghostvelflag if need to acquire ghost atom velocities -compute_bond_local.cpp: // do initial memory allocation so that memory_usage() is correct -compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ -compute_bond_local.cpp: // count local entries and compute bond info -compute_bond_local.cpp:/* ---------------------------------------------------------------------- -compute_bond_local.cpp:------------------------------------------------------------------------- */ -compute_bond_local.cpp: // communicate ghost velocities if needed -compute_bond_local.cpp: // loop over all atoms and their bonds -compute_bond_local.cpp: invmasstotal = 1.0 / (masstotal); -compute_bond_local.cpp: // r12 = unit bond vector from atom1 to atom2 -compute_bond_local.cpp: // delr = vector from COM to each atom -compute_bond_local.cpp: // delv = velocity of each atom relative to COM -compute_bond_local.cpp: // vpar = component of delv parallel to bond vector -compute_bond_local.cpp: // vvib = relative velocity of 2 atoms along bond direction -compute_bond_local.cpp: // vvib < 0 for 2 atoms moving towards each other -compute_bond_local.cpp: // vvib > 0 for 2 atoms moving apart -compute_bond_local.cpp: // vrotsq = tangential speed squared of atom1 only -compute_bond_local.cpp: // omegasq = omega squared, and is the same for atom1 and atom2 -compute_bond_local.cpp: omegasq = vrotsq / MathExtra::lensq3(delr1); -compute_bond_local.cpp: // sanity check: engtotal = engtrans + engvib + engrot -compute_bond_local.cpp: //engtot = 0.5 * (mass1*MathExtra::lensq3(v[atom1]) + -compute_bond_local.cpp: // mass2*MathExtra::lensq3(v[atom2])); -compute_bond_local.cpp: //if (fabs(engtot-engtrans-engvib-engrot) > EPSILON) -compute_bond_local.cpp: // error->one(FLERR,"Sanity check on 3 energy components failed"); -compute_bond_local.cpp: // scale energies by units -compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ -compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ -compute_bond_local.cpp:/* ---------------------------------------------------------------------- */ -compute_bond_local.cpp: // grow vector_local or array_local -compute_bond_local.cpp: memory->create(vlocal,nmax,"bond/local:vector_local"); -compute_bond_local.cpp: memory->create(alocal,nmax,nvalues,"bond/local:array_local"); -compute_bond_local.cpp:/* ---------------------------------------------------------------------- -compute_bond_local.cpp:------------------------------------------------------------------------- */ -compute_centro_atom.cpp:/* ---------------------------------------------------------------------- -compute_centro_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_centro_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_centro_atom.cpp:------------------------------------------------------------------------- */ -compute_centro_atom.cpp:/* ---------------------------------------------------------------------- -compute_centro_atom.cpp:------------------------------------------------------------------------- */ -compute_centro_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_centro_atom.cpp: if (narg < 4 || narg > 6) error->all(FLERR,"Illegal compute centro/atom command"); -compute_centro_atom.cpp: // default values -compute_centro_atom.cpp: // optional keywords -compute_centro_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute centro/atom command3"); -compute_centro_atom.cpp: else error->all(FLERR,"Illegal compute centro/atom command2"); -compute_centro_atom.cpp: } else error->all(FLERR,"Illegal compute centro/atom command1"); -compute_centro_atom.cpp: error->all(FLERR,"Illegal neighbor value for compute centro/atom command"); -compute_centro_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_centro_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_centro_atom.cpp: error->all(FLERR,"Compute centro/atom requires a pair style be defined"); -compute_centro_atom.cpp: if (strcmp(modify->compute[i]->style,"centro/atom") == 0) count++; -compute_centro_atom.cpp: error->warning(FLERR,"More than one compute centro/atom"); -compute_centro_atom.cpp: // need an occasional full neighbor list -compute_centro_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_centro_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_centro_atom.cpp: // grow centro array if necessary -compute_centro_atom.cpp: // grow array_atom array if axes_flag set -compute_centro_atom.cpp: memory->create(centro,nmax,"centro/atom:centro"); -compute_centro_atom.cpp: memory->create(centro,nmax,"centro/atom:centro"); -compute_centro_atom.cpp: memory->create(array_atom,nmax,size_peratom_cols,"centro/atom:array_atom"); -compute_centro_atom.cpp: // invoke full neighbor list (will copy or build if necessary) -compute_centro_atom.cpp: // npairs = number of unique pairs -compute_centro_atom.cpp: int nhalf = nnn/2; -compute_centro_atom.cpp: int npairs = nnn * (nnn-1) / 2; -compute_centro_atom.cpp: // compute centro-symmetry parameter for each atom in group -compute_centro_atom.cpp: // use full neighbor list -compute_centro_atom.cpp: // insure distsq and nearest arrays are long enough -compute_centro_atom.cpp: memory->create(distsq,maxneigh,"centro/atom:distsq"); -compute_centro_atom.cpp: memory->create(nearest,maxneigh,"centro/atom:nearest"); -compute_centro_atom.cpp: // loop over list of all neighbors within force cutoff -compute_centro_atom.cpp: // distsq[] = distance sq to each -compute_centro_atom.cpp: // nearest[] = atom indices of neighbors -compute_centro_atom.cpp: // check whether to include local crystal symmetry axes -compute_centro_atom.cpp: // if not nnn neighbors, centro = 0.0 -compute_centro_atom.cpp: // store nnn nearest neighs in 1st nnn locations of distsq and nearest -compute_centro_atom.cpp: // R = Ri + Rj for each of npairs i,j pairs among nnn neighbors -compute_centro_atom.cpp: // pairs = squared length of each R -compute_centro_atom.cpp: // calculate local crystal symmetry axes -compute_centro_atom.cpp: // rsq1, rsq2 are two smallest values of R^2 -compute_centro_atom.cpp: // R1, R2 are corresponding vectors Ri - Rj -compute_centro_atom.cpp: // R3 is normal to R1, R2 -compute_centro_atom.cpp: // store nnn nearest neighs in 1st nnn locations of distsq and nearest -compute_centro_atom.cpp: // store nhalf smallest pair distances in 1st nhalf locations of pairs -compute_centro_atom.cpp: // centrosymmetry = sum of nhalf smallest squared values -compute_centro_atom.cpp:/* ---------------------------------------------------------------------- -compute_centro_atom.cpp:------------------------------------------------------------------------- */ -compute_centro_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_centro_atom.cpp:/* ---------------------------------------------------------------------- -compute_centro_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_chunk_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp:// NOTE: allow for bin center to be variables for sphere/cylinder -compute_chunk_atom.cpp:enum{ONCE,NFREQ,EVERY}; // used in several files -compute_chunk_atom.cpp:// allocate space for static class variable -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_chunk_atom.cpp: if (narg < 4) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: // chunk style and its args -compute_chunk_atom.cpp: if (strcmp(arg[3],"bin/1d") == 0) { -compute_chunk_atom.cpp: } else if (strcmp(arg[3],"bin/2d") == 0) { -compute_chunk_atom.cpp: } else if (strcmp(arg[3],"bin/3d") == 0) { -compute_chunk_atom.cpp: } else if (strcmp(arg[3],"bin/sphere") == 0) { -compute_chunk_atom.cpp: if (iarg+6 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: } else if (strcmp(arg[3],"bin/cylinder") == 0) { -compute_chunk_atom.cpp: if (iarg+5 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: } else error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: // optional args -compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: error->all(FLERR,"Region ID for compute chunk/atom does not exist"); -compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: if (limit < 0) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: } else error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: // set nchunkflag and discard to default values if not explicitly set -compute_chunk_atom.cpp: // for binning style, also check in init() if simulation box is static, -compute_chunk_atom.cpp: // which sets nchunkflag = ONCE -compute_chunk_atom.cpp: // error checks -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom molecule for non-molecular system"); -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom without bins " -compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom sphere z origin must be 0.0 for 2d"); -compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom cylinder axis must be z for 2d"); -compute_chunk_atom.cpp: error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: error->all(FLERR,"Compute ID for compute chunk /atom does not exist"); -compute_chunk_atom.cpp: "Compute chunk/atom compute does not calculate " -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom compute does not " -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom compute does not " -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom compute array is " -compute_chunk_atom.cpp: error->all(FLERR,"Fix ID for compute chunk/atom does not exist"); -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom fix does not calculate " -compute_chunk_atom.cpp: "Compute chunk/atom fix does not calculate a per-atom vector"); -compute_chunk_atom.cpp: "Compute chunk/atom fix does not calculate a per-atom array"); -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom fix array is accessed out-of-range"); -compute_chunk_atom.cpp: error->all(FLERR,"Variable name for compute chunk/atom does not exist"); -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom variable is not " -compute_chunk_atom.cpp: // setup scaling -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom for triclinic boxes " -compute_chunk_atom.cpp: // apply scaling factors and cylinder dims orthogonal to axis -compute_chunk_atom.cpp: invdelta[idim] = 1.0/delta[idim]; -compute_chunk_atom.cpp: sradmin_user *= xscale; // radii are scaled by xscale -compute_chunk_atom.cpp: cradmin_user *= yscale; // radii are scaled by first non-axis dim -compute_chunk_atom.cpp: // initialize chunk vector and per-chunk info -compute_chunk_atom.cpp: // computeflag = 1 if this compute might invoke another compute -compute_chunk_atom.cpp: // during assign_chunk_ids() -compute_chunk_atom.cpp: // other initializations -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // check nfix in case all fixes have already been deleted -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // set and check validity of region -compute_chunk_atom.cpp: error->all(FLERR,"Region ID for compute chunk/atom does not exist"); -compute_chunk_atom.cpp: // set compute,fix,variable -compute_chunk_atom.cpp: error->all(FLERR,"Compute ID for compute chunk/atom does not exist"); -compute_chunk_atom.cpp: error->all(FLERR,"Fix ID for compute chunk/atom does not exist"); -compute_chunk_atom.cpp: error->all(FLERR,"Variable name for compute chunk/atom does not exist"); -compute_chunk_atom.cpp: // for style MOLECULE, check that no mol IDs exceed MAXSMALLINT -compute_chunk_atom.cpp: // don't worry about group or optional region -compute_chunk_atom.cpp: error->all(FLERR,"Molecule IDs too large for compute chunk/atom"); -compute_chunk_atom.cpp: // for binning, if nchunkflag not already set, set it to ONCE or EVERY -compute_chunk_atom.cpp: // depends on whether simulation box size is static or dynamic -compute_chunk_atom.cpp: // reset invoked_setup if this is not first run and box just became static -compute_chunk_atom.cpp: // require nchunkflag = ONCE if idsflag = ONCE -compute_chunk_atom.cpp: // b/c nchunk cannot change if chunk IDs are frozen -compute_chunk_atom.cpp: // can't check until now since nchunkflag may have been adjusted in init() -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom ids once but nchunk is not once"); -compute_chunk_atom.cpp: // create/destroy fix STORE for persistent chunk IDs as needed -compute_chunk_atom.cpp: // need to do this if idsflag = ONCE or locks will be used by other commands -compute_chunk_atom.cpp: // need to wait until init() so that fix command(s) are in place -compute_chunk_atom.cpp: // they increment lockcount if they lock this compute -compute_chunk_atom.cpp: // fixstore ID = compute-ID + COMPUTE_STORE, fix group = compute group -compute_chunk_atom.cpp: // fixstore initializes all values to 0.0 -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp: invoke setup_chunks and/or compute_ichunk if only done ONCE -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // grow floating point chunk vector if necessary -compute_chunk_atom.cpp: memory->create(chunk,nmax,"chunk/atom:chunk"); -compute_chunk_atom.cpp: // copy integer indices into floating-point chunk vector -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: "same compute chunk/atom command in incompatible ways"); -compute_chunk_atom.cpp: // set lock to last calling Fix, since it will be last to unlock() -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // skip if already done on this step -compute_chunk_atom.cpp: // if old IDs persist via storage in fixstore, then just retrieve them -compute_chunk_atom.cpp: // yes if idsflag = ONCE, and already done once -compute_chunk_atom.cpp: // or if idsflag = NFREQ and lock is in place and are on later timestep -compute_chunk_atom.cpp: // else proceed to recalculate per-atom chunk assignments -compute_chunk_atom.cpp: // assign chunk IDs to atoms -compute_chunk_atom.cpp: // will exclude atoms not in group or in optional region -compute_chunk_atom.cpp: // already invoked if this is same timestep as last setup_chunks() -compute_chunk_atom.cpp: // compress chunk IDs via hash of the original uncompressed IDs -compute_chunk_atom.cpp: // also apply discard rule except for binning styles which already did -compute_chunk_atom.cpp: // else if no compression apply discard rule by itself -compute_chunk_atom.cpp: // set ichunk = 0 for excluded atoms -compute_chunk_atom.cpp: // this should set any ichunk values which have not yet been set -compute_chunk_atom.cpp: // if newly calculated IDs need to persist, store them in fixstore -compute_chunk_atom.cpp: // yes if idsflag = ONCE or idsflag = NFREQ and lock is in place -compute_chunk_atom.cpp: // one-time check if which = MOLECULE and -compute_chunk_atom.cpp: // any chunks do not contain all atoms in the molecule -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // check if setup needs to be done -compute_chunk_atom.cpp: // no if lock is in place -compute_chunk_atom.cpp: // no if nchunkflag = ONCE, and already done once -compute_chunk_atom.cpp: // otherwise yes -compute_chunk_atom.cpp: // even if no, check if need to re-compute bin volumes -compute_chunk_atom.cpp: // so that fix ave/chunk can do proper density normalization -compute_chunk_atom.cpp: // assign chunk IDs to atoms -compute_chunk_atom.cpp: // will exclude atoms not in group or in optional region -compute_chunk_atom.cpp: // for binning styles, need to setup bins and their volume first -compute_chunk_atom.cpp: // else chunk_volume_scalar = entire box volume -compute_chunk_atom.cpp: // IDs are needed to scan for max ID and for compress() -compute_chunk_atom.cpp: // set nchunk for chunk styles other than binning -compute_chunk_atom.cpp: // for styles other than TYPE, scan for max ID -compute_chunk_atom.cpp: // apply limit setting as well as compression of chunks with no atoms -compute_chunk_atom.cpp: // if limit is set, there are 3 cases: -compute_chunk_atom.cpp: // no compression, limit specified before compression, or vice versa -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp: also set exclude vector to 0/1 for all atoms -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // grow integer chunk index vector if necessary -compute_chunk_atom.cpp: memory->create(ichunk,nmaxint,"chunk/atom:ichunk"); -compute_chunk_atom.cpp: memory->create(exclude,nmaxint,"chunk/atom:exclude"); -compute_chunk_atom.cpp: // update region if necessary -compute_chunk_atom.cpp: // exclude = 1 if atom is not assigned to a chunk -compute_chunk_atom.cpp: // exclude atoms not in group or not in optional region -compute_chunk_atom.cpp: // set ichunk to style value for included atoms -compute_chunk_atom.cpp: // binning styles apply discard rule, others do not yet -compute_chunk_atom.cpp: error->all(FLERR,"Fix used in compute chunk/atom not " -compute_chunk_atom.cpp: memory->create(varatom,maxvar,"chunk/atom:varatom"); -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // put my IDs into hash -compute_chunk_atom.cpp: // n = # of my populated IDs -compute_chunk_atom.cpp: // nall = n summed across all procs -compute_chunk_atom.cpp: // create my list of populated IDs -compute_chunk_atom.cpp: memory->create(list,n,"chunk/atom:list"); -compute_chunk_atom.cpp: // if nall < 1M, just allgather all ID lists on every proc -compute_chunk_atom.cpp: // else perform ring comm -compute_chunk_atom.cpp: // add IDs from all procs to my hash -compute_chunk_atom.cpp: // setup for allgatherv -compute_chunk_atom.cpp: memory->create(recvcounts,nprocs,"chunk/atom:recvcounts"); -compute_chunk_atom.cpp: memory->create(displs,nprocs,"chunk/atom:displs"); -compute_chunk_atom.cpp: memory->create(listall,nall,"chunk/atom:listall"); -compute_chunk_atom.cpp: // allgatherv acquires list of populated IDs from all procs -compute_chunk_atom.cpp: // add all unique IDs in listall to my hash -compute_chunk_atom.cpp: // clean up -compute_chunk_atom.cpp: // nchunk = length of hash containing populated IDs from all procs -compute_chunk_atom.cpp: // reset hash value of each original chunk ID to ordered index -compute_chunk_atom.cpp: // ordered index = new compressed chunk ID (1 to Nchunk) -compute_chunk_atom.cpp: // leverages fact that map stores keys in ascending order -compute_chunk_atom.cpp: // also allocate and set chunkID = list of original chunk IDs -compute_chunk_atom.cpp: // used by fix ave/chunk and compute property/chunk -compute_chunk_atom.cpp: memory->create(chunkID,nchunk,"chunk/atom:chunkID"); -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // lo = bin boundary immediately below boxlo or minvalue -compute_chunk_atom.cpp: // hi = bin boundary immediately above boxhi or maxvalue -compute_chunk_atom.cpp: // allocate and initialize arrays based on new bin count -compute_chunk_atom.cpp: if (lo > hi) error->all(FLERR,"Invalid bin bounds in compute chunk/atom"); -compute_chunk_atom.cpp: // allocate and set bin coordinates -compute_chunk_atom.cpp: memory->create(coord,nbins,ndim,"chunk/atom:coord"); -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // convert sorigin_user to sorigin -compute_chunk_atom.cpp: // sorigin,srad are always in box units, for orthogonal or triclinic domains -compute_chunk_atom.cpp: // lamda2x works for either orthogonal or triclinic -compute_chunk_atom.cpp: // if pbcflag set, sradmax must be < 1/2 box in any periodic dim -compute_chunk_atom.cpp: // treat orthogonal and triclinic the same -compute_chunk_atom.cpp: // check every time bins are created -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom bin/sphere radius " -compute_chunk_atom.cpp: sinvrad = nsbin / (sradmax-sradmin); -compute_chunk_atom.cpp: // allocate and set bin coordinates -compute_chunk_atom.cpp: // coord = midpt of radii for a spherical shell -compute_chunk_atom.cpp: memory->create(coord,nsbin,1,"chunk/atom:coord"); -compute_chunk_atom.cpp: rlo = sradmin + i * (sradmax-sradmin) / nsbin; -compute_chunk_atom.cpp: rhi = sradmin + (i+1) * (sradmax-sradmin) / nsbin; -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // setup bins along cylinder axis -compute_chunk_atom.cpp: // ncplane = # of axis bins -compute_chunk_atom.cpp: // convert corigin_user to corigin -compute_chunk_atom.cpp: // corigin is always in box units, for orthogonal or triclinic domains -compute_chunk_atom.cpp: // lamda2x works for either orthogonal or triclinic -compute_chunk_atom.cpp: // if pbcflag set, sradmax must be < 1/2 box in any periodic non-axis dim -compute_chunk_atom.cpp: // treat orthogonal and triclinic the same -compute_chunk_atom.cpp: // check every time bins are created -compute_chunk_atom.cpp: error->all(FLERR,"Compute chunk/atom bin/cylinder radius " -compute_chunk_atom.cpp: cinvrad = ncbin / (cradmax-cradmin); -compute_chunk_atom.cpp: // allocate and set radial bin coordinates -compute_chunk_atom.cpp: // radial coord = midpt of radii for a cylindrical shell -compute_chunk_atom.cpp: // axiscoord = saved bin coords along cylndrical axis -compute_chunk_atom.cpp: // radcoord = saved bin coords in radial direction -compute_chunk_atom.cpp: memory->create(coord,ncbin,1,"chunk/atom:coord"); -compute_chunk_atom.cpp: rlo = cradmin + i * (cradmax-cradmin) / ncbin; -compute_chunk_atom.cpp: rhi = cradmin + (i+1) * (cradmax-cradmin) / ncbin; -compute_chunk_atom.cpp: // create array of combined coords for all bins -compute_chunk_atom.cpp: memory->create(coord,ncbin*ncplane,2,"chunk/atom:coord"); -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: chunk_volume_scalar *= delta[m]/prd[dim[m]]; -compute_chunk_atom.cpp: memory->create(chunk_volume_vec,nchunk,"chunk/atom:chunk_volume_vec"); -compute_chunk_atom.cpp: rlo = sradmin + i * (sradmax-sradmin) / nsbin; -compute_chunk_atom.cpp: rhi = sradmin + (i+1) * (sradmax-sradmin) / nsbin; -compute_chunk_atom.cpp: vollo = 4.0/3.0 * MY_PI * rlo*rlo*rlo; -compute_chunk_atom.cpp: volhi = 4.0/3.0 * MY_PI * rhi*rhi*rhi; -compute_chunk_atom.cpp: memory->create(chunk_volume_vec,nchunk,"chunk/atom:chunk_volume_vec"); -compute_chunk_atom.cpp: // slabthick = delta of bins along cylinder axis -compute_chunk_atom.cpp: double slabthick = domain->prd[dim[0]] * delta[0]/prd[dim[0]]; -compute_chunk_atom.cpp: // area lo/hi of concentric circles in radial direction -compute_chunk_atom.cpp: iradbin = i / ncplane; -compute_chunk_atom.cpp: rlo = cradmin + iradbin * (cradmax-cradmin) / ncbin; -compute_chunk_atom.cpp: rhi = cradmin + (iradbin+1) * (cradmax-cradmin) / ncbin; -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // remap each atom's relevant coord back into box via PBC if necessary -compute_chunk_atom.cpp: // if scaleflag = REDUCED, box coords -> lamda coords -compute_chunk_atom.cpp: // apply discard rule -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // remap each atom's relevant coord back into box via PBC if necessary -compute_chunk_atom.cpp: // if scaleflag = REDUCED, box coords -> lamda coords -compute_chunk_atom.cpp: // apply discard rule -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // remap each atom's relevant coord back into box via PBC if necessary -compute_chunk_atom.cpp: // if scaleflag = REDUCED, box coords -> lamda coords -compute_chunk_atom.cpp: // apply discard rule -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // remap each atom's relevant coords back into box via PBC if necessary -compute_chunk_atom.cpp: // apply discard rule based on rmin and rmax -compute_chunk_atom.cpp: // if requested, apply PBC to distance from sphere center -compute_chunk_atom.cpp: // treat orthogonal and triclinic the same -compute_chunk_atom.cpp: // with dx,dy,dz = lengths independent of each other -compute_chunk_atom.cpp: // so do not use domain->minimum_image() which couples for triclinic -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: // first use atom2bin1d() to bin all atoms along cylinder axis -compute_chunk_atom.cpp: // now bin in radial direction -compute_chunk_atom.cpp: // kbin = bin along cylinder axis -compute_chunk_atom.cpp: // rbin = bin in radial direction -compute_chunk_atom.cpp: // remap each atom's relevant coords back into box via PBC if necessary -compute_chunk_atom.cpp: // apply discard rule based on rmin and rmax -compute_chunk_atom.cpp: // if requested, apply PBC to distance from cylinder axis -compute_chunk_atom.cpp: // treat orthogonal and triclinic the same -compute_chunk_atom.cpp: // with d1,d2 = lengths independent of each other -compute_chunk_atom.cpp: // combine axis and radial bin indices to set ichunk -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: if (narg < iarg+3) error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: else error->all(FLERR,"Illegal compute chunk/atom command"); -compute_chunk_atom.cpp: error->all(FLERR,"Cannot use compute chunk/atom bin z for 2d model"); -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp:/* ---------------------------------------------------------------------- -compute_chunk_atom.cpp:------------------------------------------------------------------------- */ -compute_chunk_atom.cpp: double bytes = 2*MAX(nmaxint,0) * sizeof(int); // ichunk,exclude -compute_chunk_atom.cpp: bytes += nmax * sizeof(double); // chunk -compute_chunk_atom.cpp: bytes += ncoord*nchunk * sizeof(double); // coord -compute_chunk_atom.cpp: if (compress) bytes += nchunk * sizeof(int); // chunkID -compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- -compute_cluster_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_cluster_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_cluster_atom.cpp:------------------------------------------------------------------------- */ -compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_cluster_atom.cpp: if (narg != 4) error->all(FLERR,"Illegal compute cluster/atom command"); -compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_cluster_atom.cpp: error->all(FLERR,"Cannot use compute cluster/atom unless atoms have IDs"); -compute_cluster_atom.cpp: error->all(FLERR,"Compute cluster/atom requires a pair style be defined"); -compute_cluster_atom.cpp: "Compute cluster/atom cutoff is longer than pairwise cutoff"); -compute_cluster_atom.cpp: // need an occasional full neighbor list -compute_cluster_atom.cpp: // full required so that pair of atoms on 2 procs both set their clusterID -compute_cluster_atom.cpp: if (strcmp(modify->compute[i]->style,"cluster/atom") == 0) count++; -compute_cluster_atom.cpp: error->warning(FLERR,"More than one compute cluster/atom"); -compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_cluster_atom.cpp: // grow clusterID array if necessary -compute_cluster_atom.cpp: memory->create(clusterID,nmax,"cluster/atom:clusterID"); -compute_cluster_atom.cpp: // invoke full neighbor list (will copy or build if necessary) -compute_cluster_atom.cpp: // if group is dynamic, insure ghost atom masks are current -compute_cluster_atom.cpp: // every atom starts in its own cluster, with clusterID = atomID -compute_cluster_atom.cpp: // loop until no more changes on any proc: -compute_cluster_atom.cpp: // acquire clusterIDs of ghost atoms -compute_cluster_atom.cpp: // loop over my atoms, checking distance to neighbors -compute_cluster_atom.cpp: // if both atoms are in cluster, assign lowest clusterID to both -compute_cluster_atom.cpp: // iterate until no changes in my atoms -compute_cluster_atom.cpp: // then check if any proc made changes -compute_cluster_atom.cpp: // stop if all procs are done -compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_cluster_atom.cpp:/* ---------------------------------------------------------------------- -compute_cluster_atom.cpp:------------------------------------------------------------------------- */ -compute_cna_atom.cpp:/* ---------------------------------------------------------------------- -compute_cna_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_cna_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_cna_atom.cpp:------------------------------------------------------------------------- */ -compute_cna_atom.cpp:/* ---------------------------------------------------------------------- -compute_cna_atom.cpp:------------------------------------------------------------------------- */ -compute_cna_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_cna_atom.cpp: if (narg != 4) error->all(FLERR,"Illegal compute cna/atom command"); -compute_cna_atom.cpp: if (cutoff < 0.0) error->all(FLERR,"Illegal compute cna/atom command"); -compute_cna_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_cna_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_cna_atom.cpp: error->all(FLERR,"Compute cna/atom requires a pair style be defined"); -compute_cna_atom.cpp: error->all(FLERR,"Compute cna/atom cutoff is longer than pairwise cutoff"); -compute_cna_atom.cpp: // cannot use neighbor->cutneighmax b/c neighbor has not yet been init -compute_cna_atom.cpp: error->warning(FLERR,"Compute cna/atom cutoff may be too large to find " -compute_cna_atom.cpp: if (strcmp(modify->compute[i]->style,"cna/atom") == 0) count++; -compute_cna_atom.cpp: error->warning(FLERR,"More than one compute cna/atom defined"); -compute_cna_atom.cpp: // need an occasional full neighbor list -compute_cna_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_cna_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_cna_atom.cpp: // grow arrays if necessary -compute_cna_atom.cpp: // invoke full neighbor list (will copy or build if necessary) -compute_cna_atom.cpp: // find the neigbours of each atom within cutoff using full neighbor list -compute_cna_atom.cpp: // nearest[] = atom indices of nearest neighbors, up to MAXNEAR -compute_cna_atom.cpp: // do this for all atoms, not just compute group -compute_cna_atom.cpp: // since CNA calculation requires neighbors of neighbors -compute_cna_atom.cpp: // warning message -compute_cna_atom.cpp: // compute CNA for each atom in group -compute_cna_atom.cpp: // only performed if # of nearest neighbors = 12 or 14 (fcc,hcp) -compute_cna_atom.cpp: // loop over near neighbors of I to build cna data structure -compute_cna_atom.cpp: // cna[k][NCOMMON] = # of common neighbors of I with each of its neighs -compute_cna_atom.cpp: // cna[k][NBONDS] = # of bonds between those common neighbors -compute_cna_atom.cpp: // cna[k][MAXBOND] = max # of bonds of any common neighbor -compute_cna_atom.cpp: // cna[k][MINBOND] = min # of bonds of any common neighbor -compute_cna_atom.cpp: // common = list of neighbors common to atom I and atom J -compute_cna_atom.cpp: // if J is an owned atom, use its near neighbor list to find them -compute_cna_atom.cpp: // if J is a ghost atom, use full neighbor list of I to find them -compute_cna_atom.cpp: // in latter case, must exclude J from I's neighbor list -compute_cna_atom.cpp: // calculate total # of bonds between common neighbor atoms -compute_cna_atom.cpp: // also max and min # of common atoms any common atom is bonded to -compute_cna_atom.cpp: // bond = pair of atoms within cutoff -compute_cna_atom.cpp: // detect CNA pattern of the atom -compute_cna_atom.cpp: // warning message -compute_cna_atom.cpp:/* ---------------------------------------------------------------------- -compute_cna_atom.cpp:------------------------------------------------------------------------- */ -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- -compute_com_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_com_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_com_chunk.cpp:------------------------------------------------------------------------- */ -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_com_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute com/chunk command"); -compute_com_chunk.cpp: // ID of compute chunk/atom -compute_com_chunk.cpp: // chunk-based data -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_com_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for compute com/chunk"); -compute_com_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) -compute_com_chunk.cpp: error->all(FLERR,"Compute com/chunk does not use chunk/atom compute"); -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_com_chunk.cpp: // one-time calculation of per-chunk mass -compute_com_chunk.cpp: // done in setup, so that ComputeChunkAtom::setup() is already called -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_com_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_com_chunk.cpp: // extract ichunk index vector from compute -compute_com_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_com_chunk.cpp: // zero local per-chunk values -compute_com_chunk.cpp: // compute COM for each chunk -compute_com_chunk.cpp: comall[i][0] /= masstotal[i]; -compute_com_chunk.cpp: comall[i][1] /= masstotal[i]; -compute_com_chunk.cpp: comall[i][2] /= masstotal[i]; -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- -compute_com_chunk.cpp: lock methods: called by fix ave/time -compute_com_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch -compute_com_chunk.cpp: by passing lock info along to compute chunk/atom -compute_com_chunk.cpp:------------------------------------------------------------------------- */ -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- -compute_com_chunk.cpp:------------------------------------------------------------------------- */ -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- -compute_com_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists -compute_com_chunk.cpp:------------------------------------------------------------------------- */ -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- -compute_com_chunk.cpp: calculate and return # of chunks = length of vector/array -compute_com_chunk.cpp:------------------------------------------------------------------------- */ -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- -compute_com_chunk.cpp:------------------------------------------------------------------------- */ -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- -compute_com_chunk.cpp:------------------------------------------------------------------------- */ -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- -compute_com_chunk.cpp:------------------------------------------------------------------------- */ -compute_com_chunk.cpp: memory->create(massproc,maxchunk,"com/chunk:massproc"); -compute_com_chunk.cpp: memory->create(masstotal,maxchunk,"com/chunk:masstotal"); -compute_com_chunk.cpp: memory->create(com,maxchunk,3,"com/chunk:com"); -compute_com_chunk.cpp: memory->create(comall,maxchunk,3,"com/chunk:comall"); -compute_com_chunk.cpp:/* ---------------------------------------------------------------------- -compute_com_chunk.cpp:------------------------------------------------------------------------- */ -compute_com.cpp:/* ---------------------------------------------------------------------- -compute_com.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_com.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_com.cpp:------------------------------------------------------------------------- */ -compute_com.cpp:/* ---------------------------------------------------------------------- */ -compute_com.cpp:/* ---------------------------------------------------------------------- */ -compute_com.cpp:/* ---------------------------------------------------------------------- */ -compute_com.cpp:/* ---------------------------------------------------------------------- */ -compute_contact_atom.cpp:/* ---------------------------------------------------------------------- -compute_contact_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_contact_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_contact_atom.cpp:------------------------------------------------------------------------- */ -compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_contact_atom.cpp: if (narg != 3) error->all(FLERR,"Illegal compute contact/atom command"); -compute_contact_atom.cpp: // error checks -compute_contact_atom.cpp: error->all(FLERR,"Compute contact/atom requires atom style sphere"); -compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_contact_atom.cpp: error->all(FLERR,"Compute contact/atom requires a pair style be defined"); -compute_contact_atom.cpp: if (strcmp(modify->compute[i]->style,"contact/atom") == 0) count++; -compute_contact_atom.cpp: error->warning(FLERR,"More than one compute contact/atom"); -compute_contact_atom.cpp: // need an occasional neighbor list -compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_contact_atom.cpp: // grow contact array if necessary -compute_contact_atom.cpp: memory->create(contact,nmax,"contact/atom:contact"); -compute_contact_atom.cpp: // invoke neighbor list (will copy or build if necessary) -compute_contact_atom.cpp: // compute number of contacts for each atom in group -compute_contact_atom.cpp: // contact if distance <= sum of radii -compute_contact_atom.cpp: // tally for both I and J -compute_contact_atom.cpp: // communicate ghost atom counts between neighbor procs if necessary -compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_contact_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_contact_atom.cpp:/* ---------------------------------------------------------------------- -compute_contact_atom.cpp:------------------------------------------------------------------------- */ -compute_coord_atom.cpp:/* ---------------------------------------------------------------------- -compute_coord_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_coord_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_coord_atom.cpp:------------------------------------------------------------------------- */ -compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_coord_atom.cpp: if (narg < 5) error->all(FLERR,"Illegal compute coord/atom command"); -compute_coord_atom.cpp: error->all(FLERR,"Illegal compute coord/atom command"); -compute_coord_atom.cpp: if (narg != 6) error->all(FLERR,"Illegal compute coord/atom command"); -compute_coord_atom.cpp: error->all(FLERR,"Could not find compute coord/atom compute ID"); -compute_coord_atom.cpp: if (strcmp(modify->compute[iorientorder]->style,"orientorder/atom") != 0) -compute_coord_atom.cpp: error->all(FLERR,"Compute coord/atom compute ID is not orientorder/atom"); -compute_coord_atom.cpp: error->all(FLERR,"Compute coord/atom threshold not between -1 and 1"); -compute_coord_atom.cpp: } else error->all(FLERR,"Invalid cstyle in compute coord/atom"); -compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_coord_atom.cpp: // communicate real and imaginary 2*l+1 components of the normalized vector -compute_coord_atom.cpp: error->all(FLERR,"Compute coord/atom requires components " -compute_coord_atom.cpp: "option in compute orientorder/atom"); -compute_coord_atom.cpp: error->all(FLERR,"Compute coord/atom requires a pair style be defined"); -compute_coord_atom.cpp: "Compute coord/atom cutoff is longer than pairwise cutoff"); -compute_coord_atom.cpp: // need an occasional full neighbor list -compute_coord_atom.cpp: if (strcmp(modify->compute[i]->style,"coord/atom") == 0) count++; -compute_coord_atom.cpp: error->warning(FLERR,"More than one compute coord/atom"); -compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_coord_atom.cpp: // grow coordination array if necessary -compute_coord_atom.cpp: memory->create(cvec,nmax,"coord/atom:cvec"); -compute_coord_atom.cpp: memory->create(carray,nmax,ncol,"coord/atom:carray"); -compute_coord_atom.cpp: // invoke full neighbor list (will copy or build if necessary) -compute_coord_atom.cpp: // compute coordination number(s) for each atom in group -compute_coord_atom.cpp: // use full neighbor list to count atoms less than cutoff -compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_coord_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_coord_atom.cpp:/* ---------------------------------------------------------------------- -compute_coord_atom.cpp:------------------------------------------------------------------------- */ -compute.cpp:/* ---------------------------------------------------------------------- -compute.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute.cpp:------------------------------------------------------------------------- */ -compute.cpp:// allocate space for static class instance variable and initialize it -compute.cpp:/* ---------------------------------------------------------------------- */ -compute.cpp: // compute ID, group, and style -compute.cpp: // ID must be all alphanumeric chars or underscores -compute.cpp: // set child class defaults -compute.cpp: // set modify defaults -compute.cpp: // setup list of timesteps -compute.cpp: // data masks -compute.cpp:/* ---------------------------------------------------------------------- */ -compute.cpp:/* ---------------------------------------------------------------------- */ -compute.cpp: // added more specific keywords in Mar17 -compute.cpp: // at some point, remove generic extra and dynamic -compute.cpp: strcmp(arg[iarg],"extra/dof") == 0) { -compute.cpp: strcmp(arg[iarg],"dynamic/dof") == 0) { -compute.cpp:/* ---------------------------------------------------------------------- -compute.cpp:------------------------------------------------------------------------- */ -compute.cpp:/* ---------------------------------------------------------------------- -compute.cpp:------------------------------------------------------------------------- */ -compute.cpp:/* ---------------------------------------------------------------------- */ -compute.cpp:/* ---------------------------------------------------------------------- -compute.cpp:------------------------------------------------------------------------- */ -compute.cpp: // i = location in list to insert ntimestep -compute.cpp: // extend list as needed -compute.cpp: // move remainder of list upward and insert ntimestep -compute.cpp:/* ---------------------------------------------------------------------- -compute.cpp: return 1/0 if ntimestep is or is not in list of calling timesteps -compute.cpp:------------------------------------------------------------------------- */ -compute.cpp:/* ---------------------------------------------------------------------- -compute.cpp:------------------------------------------------------------------------- */ -compute_dihedral.cpp:/* ---------------------------------------------------------------------- -compute_dihedral.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_dihedral.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_dihedral.cpp:------------------------------------------------------------------------- */ -compute_dihedral.cpp:/* ---------------------------------------------------------------------- */ -compute_dihedral.cpp: // check if dihedral style hybrid exists -compute_dihedral.cpp:/* ---------------------------------------------------------------------- */ -compute_dihedral.cpp:/* ---------------------------------------------------------------------- */ -compute_dihedral.cpp: // recheck dihedral style in case it has been changed -compute_dihedral.cpp:/* ---------------------------------------------------------------------- */ -compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- -compute_dihedral_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_dihedral_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_dihedral_local.cpp:------------------------------------------------------------------------- */ -compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- */ -compute_dihedral_local.cpp: if (narg < 4) error->all(FLERR,"Illegal compute dihedral/local command"); -compute_dihedral_local.cpp: "Compute dihedral/local used when dihedrals are not allowed"); -compute_dihedral_local.cpp: else error->all(FLERR,"Invalid keyword in compute dihedral/local command"); -compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- */ -compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- */ -compute_dihedral_local.cpp: error->all(FLERR,"No dihedral style is defined for compute dihedral/local"); -compute_dihedral_local.cpp: // do initial memory allocation so that memory_usage() is correct -compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- */ -compute_dihedral_local.cpp: // count local entries and compute dihedral info -compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- -compute_dihedral_local.cpp:------------------------------------------------------------------------- */ -compute_dihedral_local.cpp: // phi calculation from dihedral style harmonic -compute_dihedral_local.cpp: if (rasq > 0) ra2inv = 1.0/rasq; -compute_dihedral_local.cpp: if (rbsq > 0) rb2inv = 1.0/rbsq; -compute_dihedral_local.cpp: pbuf[n] = 180.0*atan2(s,c)/MY_PI; -compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- */ -compute_dihedral_local.cpp: // grow vector_local or array_local -compute_dihedral_local.cpp: memory->create(vlocal,nmax,"dihedral/local:vector_local"); -compute_dihedral_local.cpp: memory->create(alocal,nmax,nvalues,"dihedral/local:array_local"); -compute_dihedral_local.cpp:/* ---------------------------------------------------------------------- -compute_dihedral_local.cpp:------------------------------------------------------------------------- */ -compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- -compute_dipole_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_dipole_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ -compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_dipole_chunk.cpp: error->all(FLERR,"Illegal compute dipole/chunk command"); -compute_dipole_chunk.cpp: // ID of compute chunk/atom -compute_dipole_chunk.cpp: else error->all(FLERR,"Illegal compute dipole/chunk command"); -compute_dipole_chunk.cpp: // chunk-based data -compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_dipole_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " -compute_dipole_chunk.cpp: "compute dipole/chunk"); -compute_dipole_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) -compute_dipole_chunk.cpp: error->all(FLERR,"Compute dipole/chunk does not use chunk/atom compute"); -compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_dipole_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_dipole_chunk.cpp: // extract ichunk index vector from compute -compute_dipole_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_dipole_chunk.cpp: // zero local per-chunk values -compute_dipole_chunk.cpp: // compute COM for each chunk -compute_dipole_chunk.cpp: } else massone = 1.0; // usecenter == GEOMCENTER -compute_dipole_chunk.cpp: comall[i][0] /= masstotal[i]; -compute_dipole_chunk.cpp: comall[i][1] /= masstotal[i]; -compute_dipole_chunk.cpp: comall[i][2] /= masstotal[i]; -compute_dipole_chunk.cpp: // compute dipole for each chunk -compute_dipole_chunk.cpp: // correct for position dependence with charged chunks -compute_dipole_chunk.cpp: // compute total dipole moment -compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- -compute_dipole_chunk.cpp: lock methods: called by fix ave/time -compute_dipole_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch -compute_dipole_chunk.cpp: by passing lock info along to compute chunk/atom -compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ -compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- -compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ -compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- -compute_dipole_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists -compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ -compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- -compute_dipole_chunk.cpp: calculate and return # of chunks = length of vector/array -compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ -compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- -compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ -compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- -compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ -compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- -compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ -compute_dipole_chunk.cpp: memory->create(massproc,maxchunk,"dipole/chunk:massproc"); -compute_dipole_chunk.cpp: memory->create(masstotal,maxchunk,"dipole/chunk:masstotal"); -compute_dipole_chunk.cpp: memory->create(chrgproc,maxchunk,"dipole/chunk:chrgproc"); -compute_dipole_chunk.cpp: memory->create(chrgtotal,maxchunk,"dipole/chunk:chrgtotal"); -compute_dipole_chunk.cpp: memory->create(com,maxchunk,3,"dipole/chunk:com"); -compute_dipole_chunk.cpp: memory->create(comall,maxchunk,3,"dipole/chunk:comall"); -compute_dipole_chunk.cpp: memory->create(dipole,maxchunk,4,"dipole/chunk:dipole"); -compute_dipole_chunk.cpp: memory->create(dipoleall,maxchunk,4,"dipole/chunk:dipoleall"); -compute_dipole_chunk.cpp:/* ---------------------------------------------------------------------- -compute_dipole_chunk.cpp:------------------------------------------------------------------------- */ -compute_displace_atom.cpp:/* ---------------------------------------------------------------------- -compute_displace_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_displace_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_displace_atom.cpp:------------------------------------------------------------------------- */ -compute_displace_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_displace_atom.cpp: if (narg != 3) error->all(FLERR,"Illegal compute displace/atom command"); -compute_displace_atom.cpp: // create a new fix STORE style -compute_displace_atom.cpp: // id = compute-ID + COMPUTE_STORE, fix group = compute group -compute_displace_atom.cpp: // calculate xu,yu,zu for fix store array -compute_displace_atom.cpp: // skip if reset from restart file -compute_displace_atom.cpp: // per-atom displacement array -compute_displace_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_displace_atom.cpp: // check nfix in case all fixes have already been deleted -compute_displace_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_displace_atom.cpp: // set fix which stores original atom coords -compute_displace_atom.cpp: if (ifix < 0) error->all(FLERR,"Could not find compute displace/atom fix ID"); -compute_displace_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_displace_atom.cpp: // grow local displacement array if necessary -compute_displace_atom.cpp: memory->create(displace,nmax,4,"displace/atom:displace"); -compute_displace_atom.cpp: // dx,dy,dz = displacement of atom from original position -compute_displace_atom.cpp: // original unwrapped position is stored by fix -compute_displace_atom.cpp: // for triclinic, need to unwrap current atom coord via h matrix -compute_displace_atom.cpp:/* ---------------------------------------------------------------------- -compute_displace_atom.cpp:------------------------------------------------------------------------- */ -compute_displace_atom.cpp:/* ---------------------------------------------------------------------- -compute_displace_atom.cpp:------------------------------------------------------------------------- */ -compute_erotate_sphere_atom.cpp:/* ---------------------------------------------------------------------- -compute_erotate_sphere_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_erotate_sphere_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_erotate_sphere_atom.cpp:------------------------------------------------------------------------- */ -compute_erotate_sphere_atom.cpp:#define INERTIA 0.4 // moment of inertia prefactor for sphere -compute_erotate_sphere_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_erotate_sphere_atom.cpp: error->all(FLERR,"Illegal compute erotate/sphere//atom command"); -compute_erotate_sphere_atom.cpp: // error check -compute_erotate_sphere_atom.cpp: error->all(FLERR,"Compute erotate/sphere/atom requires atom style sphere"); -compute_erotate_sphere_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_erotate_sphere_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_erotate_sphere_atom.cpp: if (strcmp(modify->compute[i]->style,"erotate/sphere/atom") == 0) count++; -compute_erotate_sphere_atom.cpp: error->warning(FLERR,"More than one compute erotate/sphere/atom"); -compute_erotate_sphere_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_erotate_sphere_atom.cpp: // grow erot array if necessary -compute_erotate_sphere_atom.cpp: memory->create(erot,nmax,"erotate/sphere/atom:erot"); -compute_erotate_sphere_atom.cpp: // compute rotational kinetic energy for each atom in group -compute_erotate_sphere_atom.cpp: // point particles will have erot = 0.0, due to radius = 0.0 -compute_erotate_sphere_atom.cpp:/* ---------------------------------------------------------------------- -compute_erotate_sphere_atom.cpp:------------------------------------------------------------------------- */ -compute_erotate_sphere.cpp:/* ---------------------------------------------------------------------- -compute_erotate_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_erotate_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_erotate_sphere.cpp:------------------------------------------------------------------------- */ -compute_erotate_sphere.cpp:#define INERTIA 0.4 // moment of inertia prefactor for sphere -compute_erotate_sphere.cpp:/* ---------------------------------------------------------------------- */ -compute_erotate_sphere.cpp: if (narg != 3) error->all(FLERR,"Illegal compute erotate/sphere command"); -compute_erotate_sphere.cpp: // error check -compute_erotate_sphere.cpp: error->all(FLERR,"Compute erotate/sphere requires atom style sphere"); -compute_erotate_sphere.cpp:/* ---------------------------------------------------------------------- */ -compute_erotate_sphere.cpp:/* ---------------------------------------------------------------------- */ -compute_erotate_sphere.cpp: // sum rotational energy for each particle -compute_erotate_sphere.cpp: // point particles will not contribute, due to radius = 0.0 -compute_global_atom.cpp:/* ---------------------------------------------------------------------- -compute_global_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_global_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_global_atom.cpp:------------------------------------------------------------------------- */ -compute_global_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_global_atom.cpp: if (narg < 5) error->all(FLERR,"Illegal compute global/atom command"); -compute_global_atom.cpp: // process index arg -compute_global_atom.cpp: error->all(FLERR,"Illegal compute global/atom command"); -compute_global_atom.cpp: } else error->all(FLERR,"Illegal compute global/atom command"); -compute_global_atom.cpp: // expand args if any have wildcard character "*" -compute_global_atom.cpp: // parse values until one isn't recognized -compute_global_atom.cpp: error->all(FLERR,"Illegal compute global/atom command"); -compute_global_atom.cpp: } else error->all(FLERR,"Illegal compute global/atom command"); -compute_global_atom.cpp: // if wildcard expansion occurred, free earg memory from expand_args() -compute_global_atom.cpp: // setup and error check both index arg and values -compute_global_atom.cpp: error->all(FLERR,"Compute ID for compute global/atom does not exist"); -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom compute does not " -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom compute does not " -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom compute does not " -compute_global_atom.cpp: "Compute global/atom compute array is accessed out-of-range"); -compute_global_atom.cpp: error->all(FLERR,"Fix ID for compute global/atom does not exist"); -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom fix does not " -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom fix does not " -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom fix does not " -compute_global_atom.cpp: "Compute global/atom fix array is accessed out-of-range"); -compute_global_atom.cpp: error->all(FLERR,"Variable name for compute global/atom does not exist"); -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom variable is not " -compute_global_atom.cpp: error->all(FLERR,"Compute ID for compute global/atom does not exist"); -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom compute does not " -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom compute does not " -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom compute array is " -compute_global_atom.cpp: error->all(FLERR,"Fix ID for compute global/atom does not exist"); -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom fix does not " -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom fix does not " -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom fix array is " -compute_global_atom.cpp: error->all(FLERR,"Variable name for compute global/atom " -compute_global_atom.cpp: error->all(FLERR,"Compute global/atom variable is not " -compute_global_atom.cpp: // this compute produces either a peratom vector or array -compute_global_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_global_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_global_atom.cpp: // set indices of all computes,fixes,variables -compute_global_atom.cpp: error->all(FLERR,"Compute ID for compute global/atom does not exist"); -compute_global_atom.cpp: error->all(FLERR,"Fix ID for compute global/atom does not exist"); -compute_global_atom.cpp: error->all(FLERR,"Variable name for compute global/atom does not exist"); -compute_global_atom.cpp: error->all(FLERR,"Compute ID for compute global/atom does not exist"); -compute_global_atom.cpp: error->all(FLERR,"Fix ID for compute global/atom does not exist"); -compute_global_atom.cpp: error->all(FLERR,"Variable name for compute global/atom " -compute_global_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_global_atom.cpp: // grow indices and output vector or array if necessary -compute_global_atom.cpp: memory->create(indices,nmax,"global/atom:indices"); -compute_global_atom.cpp: memory->create(vector_atom,nmax,"global/atom:vector_atom"); -compute_global_atom.cpp: memory->create(array_atom,nmax,nvalues,"global/atom:array_atom"); -compute_global_atom.cpp: // setup current peratom indices -compute_global_atom.cpp: // integer indices are rounded down from double values -compute_global_atom.cpp: // indices are decremented from 1 to N -> 0 to N-1 -compute_global_atom.cpp: error->all(FLERR,"Fix used in compute global/atom not " -compute_global_atom.cpp: memory->create(varatom,nmax,"global/atom:varatom"); -compute_global_atom.cpp: // loop over values to fill output vector or array -compute_global_atom.cpp: // output = vector -compute_global_atom.cpp: error->all(FLERR,"Fix used in compute global/atom not " -compute_global_atom.cpp: memory->create(vecglobal,maxvector,"global/atom:vecglobal"); -compute_global_atom.cpp: // output = array -compute_global_atom.cpp: memory->create(vecglobal,maxvector,"global/atom:vecglobal"); -compute_global_atom.cpp: error->all(FLERR,"Fix used in compute global/atom not " -compute_global_atom.cpp: memory->create(vecglobal,maxvector,"global/atom:vecglobal"); -compute_global_atom.cpp:/* ---------------------------------------------------------------------- -compute_global_atom.cpp:------------------------------------------------------------------------- */ -compute_global_atom.cpp: bytes += nmax * sizeof(int); // indices -compute_global_atom.cpp: if (varatom) bytes += nmax * sizeof(double); // varatom -compute_global_atom.cpp: bytes += maxvector * sizeof(double); // vecglobal -compute_group_group.cpp:/* ---------------------------------------------------------------------- -compute_group_group.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_group_group.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_group_group.cpp:------------------------------------------------------------------------- */ -compute_group_group.cpp:/* ---------------------------------------------------------------------- -compute_group_group.cpp:------------------------------------------------------------------------- */ -compute_group_group.cpp:/* ---------------------------------------------------------------------- */ -compute_group_group.cpp: if (narg < 4) error->all(FLERR,"Illegal compute group/group command"); -compute_group_group.cpp: error->all(FLERR,"Compute group/group group ID does not exist"); -compute_group_group.cpp: error->all(FLERR,"Illegal compute group/group command"); -compute_group_group.cpp: else error->all(FLERR,"Illegal compute group/group command"); -compute_group_group.cpp: error->all(FLERR,"Illegal compute group/group command"); -compute_group_group.cpp: else error->all(FLERR,"Illegal compute group/group command"); -compute_group_group.cpp: error->all(FLERR,"Illegal compute group/group command"); -compute_group_group.cpp: else error->all(FLERR,"Illegal compute group/group command"); -compute_group_group.cpp: error->all(FLERR,"Illegal compute group/group command"); -compute_group_group.cpp: else error->all(FLERR,"Illegal compute group/group command"); -compute_group_group.cpp: error->all(FLERR,"Compute group/group molecule requires molecule IDs"); -compute_group_group.cpp: } else error->all(FLERR,"Illegal compute group/group command"); -compute_group_group.cpp:/* ---------------------------------------------------------------------- */ -compute_group_group.cpp:/* ---------------------------------------------------------------------- */ -compute_group_group.cpp: // if non-hybrid, then error if single_enable = 0 -compute_group_group.cpp: // if hybrid, let hybrid determine if sub-style sets single_enable = 0 -compute_group_group.cpp: error->all(FLERR,"No pair style defined for compute group/group"); -compute_group_group.cpp: error->all(FLERR,"Pair style does not support compute group/group"); -compute_group_group.cpp: // error if Kspace style does not compute group/group interactions -compute_group_group.cpp: error->all(FLERR,"No Kspace style defined for compute group/group"); -compute_group_group.cpp: error->all(FLERR,"Kspace style does not support compute group/group"); -compute_group_group.cpp: // compute Kspace correction terms -compute_group_group.cpp: sprintf(str,"Both groups in compute group/group have a net charge; " -compute_group_group.cpp: // recheck that group 2 has not been deleted -compute_group_group.cpp: error->all(FLERR,"Compute group/group group ID does not exist"); -compute_group_group.cpp: // need an occasional half neighbor list -compute_group_group.cpp:/* ---------------------------------------------------------------------- */ -compute_group_group.cpp:/* ---------------------------------------------------------------------- */ -compute_group_group.cpp:/* ---------------------------------------------------------------------- */ -compute_group_group.cpp:/* ---------------------------------------------------------------------- */ -compute_group_group.cpp: // invoke half neighbor list (will copy or build if necessary) -compute_group_group.cpp: // loop over neighbors of my atoms -compute_group_group.cpp: // skip if I,J are not in 2 groups -compute_group_group.cpp: // skip if atom I is not in either group -compute_group_group.cpp: // skip if atom J is not in either group -compute_group_group.cpp: // skip if atoms I,J are only in the same group -compute_group_group.cpp: // skip if molecule IDs of atoms I,J do not satisfy molflag setting -compute_group_group.cpp: // energy only computed once so tally full amount -compute_group_group.cpp: // force tally is jgroup acting on igroup -compute_group_group.cpp: // energy computed twice so tally half amount -compute_group_group.cpp: // only tally force if I own igroup atom -compute_group_group.cpp:/* ---------------------------------------------------------------------- */ -compute_group_group.cpp: // subtract extra A <--> A Kspace interaction so energy matches -compute_group_group.cpp: // real-space style of compute group-group -compute_group_group.cpp: // add extra Kspace term to energy -compute_group_group.cpp: // self energy correction term -compute_group_group.cpp: // k=0 boundary correction term -compute_group_group.cpp: // adjustment of z dimension for 2d slab Ewald -compute_group_group.cpp: // 3d Ewald just uses zprd since slab_volfactor = 1.0 -compute_group_group.cpp: scalar -= e_correction/volume; -compute_group_group.cpp:/* ---------------------------------------------------------------------- */ -compute_group_group.cpp: // total charge of groups A & B, needed for correction term -compute_group_group.cpp: // self-energy correction -compute_group_group.cpp: e_self = qscale * g_ewald*qsqsum_group/MY_PIS; -compute_group_group.cpp: // subtract extra AA terms -compute_group_group.cpp: // k=0 energy correction term (still need to divide by volume above) -compute_group_group.cpp: e_correction *= qscale * MY_PI2 / (g_ewald*g_ewald); -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- -compute_gyration_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_gyration_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_gyration_chunk.cpp: if (narg < 4) error->all(FLERR,"Illegal compute gyration/chunk command"); -compute_gyration_chunk.cpp: // ID of compute chunk/atom -compute_gyration_chunk.cpp: // optional args -compute_gyration_chunk.cpp: } else error->all(FLERR,"Illegal compute gyration/chunk command"); -compute_gyration_chunk.cpp: // chunk-based data -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_gyration_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " -compute_gyration_chunk.cpp: "compute gyration/chunk"); -compute_gyration_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) -compute_gyration_chunk.cpp: error->all(FLERR,"Compute gyration/chunk does not use chunk/atom compute"); -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_gyration_chunk.cpp: // compute Rg for each chunk -compute_gyration_chunk.cpp: rgall[i] = sqrt(rgall[i]/masstotal[i]); -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_gyration_chunk.cpp: rgtall[i][j] = rgtall[i][j]/masstotal[i]; -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- -compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ -compute_gyration_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_gyration_chunk.cpp: // extract ichunk index vector from compute -compute_gyration_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_gyration_chunk.cpp: // zero local per-chunk values -compute_gyration_chunk.cpp: // compute COM for each chunk -compute_gyration_chunk.cpp: comall[i][0] /= masstotal[i]; -compute_gyration_chunk.cpp: comall[i][1] /= masstotal[i]; -compute_gyration_chunk.cpp: comall[i][2] /= masstotal[i]; -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- -compute_gyration_chunk.cpp: lock methods: called by fix ave/time -compute_gyration_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch -compute_gyration_chunk.cpp: by passing lock info along to compute chunk/atom -compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- -compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- -compute_gyration_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists -compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- -compute_gyration_chunk.cpp: calculate and return # of chunks = length of vector/array -compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- -compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- -compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- -compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ -compute_gyration_chunk.cpp: memory->create(massproc,maxchunk,"gyration/chunk:massproc"); -compute_gyration_chunk.cpp: memory->create(masstotal,maxchunk,"gyration/chunk:masstotal"); -compute_gyration_chunk.cpp: memory->create(com,maxchunk,3,"gyration/chunk:com"); -compute_gyration_chunk.cpp: memory->create(comall,maxchunk,3,"gyration/chunk:comall"); -compute_gyration_chunk.cpp: memory->create(rgt,maxchunk,6,"gyration/chunk:rgt"); -compute_gyration_chunk.cpp: memory->create(rgtall,maxchunk,6,"gyration/chunk:rgtall"); -compute_gyration_chunk.cpp: memory->create(rg,maxchunk,"gyration/chunk:rg"); -compute_gyration_chunk.cpp: memory->create(rgall,maxchunk,"gyration/chunk:rgall"); -compute_gyration_chunk.cpp:/* ---------------------------------------------------------------------- -compute_gyration_chunk.cpp:------------------------------------------------------------------------- */ -compute_gyration.cpp:/* ---------------------------------------------------------------------- -compute_gyration.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_gyration.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_gyration.cpp:------------------------------------------------------------------------- */ -compute_gyration.cpp:/* ---------------------------------------------------------------------- */ -compute_gyration.cpp:/* ---------------------------------------------------------------------- */ -compute_gyration.cpp:/* ---------------------------------------------------------------------- */ -compute_gyration.cpp:/* ---------------------------------------------------------------------- */ -compute_gyration.cpp:/* ---------------------------------------------------------------------- -compute_gyration.cpp:------------------------------------------------------------------------- */ -compute_gyration.cpp: vector[i] /= masstotal; -compute_heat_flux.cpp:/* ---------------------------------------------------------------------- -compute_heat_flux.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_heat_flux.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_heat_flux.cpp:------------------------------------------------------------------------- */ -compute_heat_flux.cpp:/* ---------------------------------------------------------------------- -compute_heat_flux.cpp:------------------------------------------------------------------------- */ -compute_heat_flux.cpp:/* ---------------------------------------------------------------------- */ -compute_heat_flux.cpp: if (narg != 6) error->all(FLERR,"Illegal compute heat/flux command"); -compute_heat_flux.cpp: // store ke/atom, pe/atom, stress/atom IDs used by heat flux computation -compute_heat_flux.cpp: // insure they are valid for these computations -compute_heat_flux.cpp: error->all(FLERR,"Could not find compute heat/flux compute ID"); -compute_heat_flux.cpp: if (strcmp(modify->compute[ike]->style,"ke/atom") != 0) -compute_heat_flux.cpp: error->all(FLERR,"Compute heat/flux compute ID does not compute ke/atom"); -compute_heat_flux.cpp: error->all(FLERR,"Compute heat/flux compute ID does not compute pe/atom"); -compute_heat_flux.cpp: "Compute heat/flux compute ID does not compute stress/atom"); -compute_heat_flux.cpp:/* ---------------------------------------------------------------------- */ -compute_heat_flux.cpp:/* ---------------------------------------------------------------------- */ -compute_heat_flux.cpp: // error checks -compute_heat_flux.cpp: error->all(FLERR,"Could not find compute heat/flux compute ID"); -compute_heat_flux.cpp:/* ---------------------------------------------------------------------- */ -compute_heat_flux.cpp: // invoke 3 computes if they haven't been already -compute_heat_flux.cpp: // heat flux vector = jc[3] + jv[3] -compute_heat_flux.cpp: // jc[3] = convective portion of heat flux = sum_i (ke_i + pe_i) v_i[3] -compute_heat_flux.cpp: // jv[3] = virial portion of heat flux = sum_i (stress_tensor_i . v_i[3]) -compute_heat_flux.cpp: // normalization by volume is not included -compute_heat_flux.cpp: // convert jv from stress*volume to energy units via nktv2p factor -compute_heat_flux.cpp: jv[0] /= nktv2p; -compute_heat_flux.cpp: jv[1] /= nktv2p; -compute_heat_flux.cpp: jv[2] /= nktv2p; -compute_heat_flux.cpp: // sum across all procs -compute_heat_flux.cpp: // 1st 3 terms are total heat flux -compute_heat_flux.cpp: // 2nd 3 terms are just conductive portion -compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- -compute_hexorder_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_hexorder_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_hexorder_atom.cpp:------------------------------------------------------------------------- */ -compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- -compute_hexorder_atom.cpp:------------------------------------------------------------------------- */ -compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_hexorder_atom.cpp: if (narg < 3 ) error->all(FLERR,"Illegal compute hexorder/atom command"); -compute_hexorder_atom.cpp: // process optional args -compute_hexorder_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute hexorder/atom command"); -compute_hexorder_atom.cpp: error->all(FLERR,"Illegal compute hexorder/atom command"); -compute_hexorder_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute hexorder/atom command"); -compute_hexorder_atom.cpp: error->all(FLERR,"Illegal compute hexorder/atom command"); -compute_hexorder_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute hexorder/atom command"); -compute_hexorder_atom.cpp: error->all(FLERR,"Illegal compute hexorder/atom command"); -compute_hexorder_atom.cpp: } else error->all(FLERR,"Illegal compute hexorder/atom command"); -compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_hexorder_atom.cpp: error->all(FLERR,"Compute hexorder/atom requires a pair style be defined"); -compute_hexorder_atom.cpp: "Compute hexorder/atom cutoff is longer than pairwise cutoff"); -compute_hexorder_atom.cpp: // need an occasional full neighbor list -compute_hexorder_atom.cpp: if (strcmp(modify->compute[i]->style,"hexorder/atom") == 0) count++; -compute_hexorder_atom.cpp: error->warning(FLERR,"More than one compute hexorder/atom"); -compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_hexorder_atom.cpp: // grow order parameter array if necessary -compute_hexorder_atom.cpp: memory->create(qnarray,nmax,ncol,"hexorder/atom:qnarray"); -compute_hexorder_atom.cpp: // invoke full neighbor list (will copy or build if necessary) -compute_hexorder_atom.cpp: // compute order parameter for each atom in group -compute_hexorder_atom.cpp: // use full neighbor list to count atoms less than cutoff -compute_hexorder_atom.cpp: // insure distsq and nearest arrays are long enough -compute_hexorder_atom.cpp: memory->create(distsq,maxneigh,"hexorder/atom:distsq"); -compute_hexorder_atom.cpp: memory->create(nearest,maxneigh,"hexorder/atom:nearest"); -compute_hexorder_atom.cpp: // loop over list of all neighbors within force cutoff -compute_hexorder_atom.cpp: // distsq[] = distance sq to each -compute_hexorder_atom.cpp: // nearest[] = atom indices of neighbors -compute_hexorder_atom.cpp: // if not nnn neighbors, order parameter = 0; -compute_hexorder_atom.cpp: // if nnn > 0, use only nearest nnn neighbors -compute_hexorder_atom.cpp: qn[0] = usum/nnn; -compute_hexorder_atom.cpp: qn[1] = vsum/nnn; -compute_hexorder_atom.cpp:// calculate order parameter using std::complex::pow function -compute_hexorder_atom.cpp: double rinv = 1.0/sqrt(delx*delx+dely*dely); -compute_hexorder_atom.cpp:// calculate order parameter using trig functions -compute_hexorder_atom.cpp:// this is usually slower, but can be used if not available -compute_hexorder_atom.cpp: if(dely > 0.0) ntheta = nnn * MY_PI / 2.0; -compute_hexorder_atom.cpp: else ntheta = nnn * 3.0 * MY_PI / 2.0; -compute_hexorder_atom.cpp: } else ntheta = nnn * atan(dely / delx); -compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- -compute_hexorder_atom.cpp:------------------------------------------------------------------------- */ -compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_hexorder_atom.cpp:/* ---------------------------------------------------------------------- -compute_hexorder_atom.cpp:------------------------------------------------------------------------- */ -compute_improper.cpp:/* ---------------------------------------------------------------------- -compute_improper.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_improper.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_improper.cpp:------------------------------------------------------------------------- */ -compute_improper.cpp:/* ---------------------------------------------------------------------- */ -compute_improper.cpp: // check if improper style hybrid exists -compute_improper.cpp:/* ---------------------------------------------------------------------- */ -compute_improper.cpp:/* ---------------------------------------------------------------------- */ -compute_improper.cpp: // recheck improper style in case it has been changed -compute_improper.cpp:/* ---------------------------------------------------------------------- */ -compute_improper_local.cpp:/* ---------------------------------------------------------------------- -compute_improper_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_improper_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_improper_local.cpp:------------------------------------------------------------------------- */ -compute_improper_local.cpp:/* ---------------------------------------------------------------------- */ -compute_improper_local.cpp: if (narg < 4) error->all(FLERR,"Illegal compute improper/local command"); -compute_improper_local.cpp: "Compute improper/local used when impropers are not allowed"); -compute_improper_local.cpp: else error->all(FLERR,"Invalid keyword in compute improper/local command"); -compute_improper_local.cpp:/* ---------------------------------------------------------------------- */ -compute_improper_local.cpp:/* ---------------------------------------------------------------------- */ -compute_improper_local.cpp: error->all(FLERR,"No improper style is defined for compute improper/local"); -compute_improper_local.cpp: // do initial memory allocation so that memory_usage() is correct -compute_improper_local.cpp:/* ---------------------------------------------------------------------- */ -compute_improper_local.cpp: // count local entries and compute improper info -compute_improper_local.cpp:/* ---------------------------------------------------------------------- -compute_improper_local.cpp:------------------------------------------------------------------------- */ -compute_improper_local.cpp: // chi calculation from improper style harmonic -compute_improper_local.cpp: ss1 = 1.0 / (vb1x*vb1x + vb1y*vb1y + vb1z*vb1z); -compute_improper_local.cpp: ss2 = 1.0 / (vb2x*vb2x + vb2y*vb2y + vb2z*vb2z); -compute_improper_local.cpp: ss3 = 1.0 / (vb3x*vb3x + vb3y*vb3y + vb3z*vb3z); -compute_improper_local.cpp: s1 = 1.0 / s1; -compute_improper_local.cpp: s2 = 1.0 / s2; -compute_improper_local.cpp: cbuf[n] = 180.0*acos(c)/MY_PI; -compute_improper_local.cpp:/* ---------------------------------------------------------------------- */ -compute_improper_local.cpp: // grow vector_local or array_local -compute_improper_local.cpp: memory->create(vlocal,nmax,"improper/local:vector_local"); -compute_improper_local.cpp: memory->create(alocal,nmax,nvalues,"improper/local:array_local"); -compute_improper_local.cpp:/* ---------------------------------------------------------------------- -compute_improper_local.cpp:------------------------------------------------------------------------- */ -compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- -compute_inertia_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_inertia_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ -compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_inertia_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute inertia/chunk command"); -compute_inertia_chunk.cpp: // ID of compute chunk/atom -compute_inertia_chunk.cpp: // chunk-based data -compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_inertia_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " -compute_inertia_chunk.cpp: "compute inertia/chunk"); -compute_inertia_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) -compute_inertia_chunk.cpp: error->all(FLERR,"Compute inertia/chunk does not use chunk/atom compute"); -compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_inertia_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_inertia_chunk.cpp: // extract ichunk index vector from compute -compute_inertia_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_inertia_chunk.cpp: // zero local per-chunk values -compute_inertia_chunk.cpp: // compute COM for each chunk -compute_inertia_chunk.cpp: comall[i][0] /= masstotal[i]; -compute_inertia_chunk.cpp: comall[i][1] /= masstotal[i]; -compute_inertia_chunk.cpp: comall[i][2] /= masstotal[i]; -compute_inertia_chunk.cpp: // compute inertia tensor for each chunk -compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- -compute_inertia_chunk.cpp: lock methods: called by fix ave/time -compute_inertia_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch -compute_inertia_chunk.cpp: by passing lock info along to compute chunk/atom -compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ -compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- -compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ -compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- -compute_inertia_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists -compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ -compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- -compute_inertia_chunk.cpp: calculate and return # of chunks = length of vector/array -compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ -compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- -compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ -compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- -compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ -compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- -compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ -compute_inertia_chunk.cpp: memory->create(massproc,maxchunk,"inertia/chunk:massproc"); -compute_inertia_chunk.cpp: memory->create(masstotal,maxchunk,"inertia/chunk:masstotal"); -compute_inertia_chunk.cpp: memory->create(com,maxchunk,3,"inertia/chunk:com"); -compute_inertia_chunk.cpp: memory->create(comall,maxchunk,3,"inertia/chunk:comall"); -compute_inertia_chunk.cpp: memory->create(inertia,maxchunk,6,"inertia/chunk:inertia"); -compute_inertia_chunk.cpp: memory->create(inertiaall,maxchunk,6,"inertia/chunk:inertiaall"); -compute_inertia_chunk.cpp:/* ---------------------------------------------------------------------- -compute_inertia_chunk.cpp:------------------------------------------------------------------------- */ -compute_ke_atom.cpp:/* ---------------------------------------------------------------------- -compute_ke_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_ke_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_ke_atom.cpp:------------------------------------------------------------------------- */ -compute_ke_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_ke_atom.cpp: if (narg != 3) error->all(FLERR,"Illegal compute ke/atom command"); -compute_ke_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_ke_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_ke_atom.cpp: if (strcmp(modify->compute[i]->style,"ke/atom") == 0) count++; -compute_ke_atom.cpp: error->warning(FLERR,"More than one compute ke/atom"); -compute_ke_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_ke_atom.cpp: // grow ke array if necessary -compute_ke_atom.cpp: memory->create(ke,nmax,"ke/atom:ke"); -compute_ke_atom.cpp: // compute kinetic energy for each atom in group -compute_ke_atom.cpp:/* ---------------------------------------------------------------------- -compute_ke_atom.cpp:------------------------------------------------------------------------- */ -compute_ke.cpp:/* ---------------------------------------------------------------------- -compute_ke.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_ke.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_ke.cpp:------------------------------------------------------------------------- */ -compute_ke.cpp:/* ---------------------------------------------------------------------- */ -compute_ke.cpp:/* ---------------------------------------------------------------------- */ -compute_ke.cpp:/* ---------------------------------------------------------------------- */ -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- -compute_msd_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_msd_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_msd_chunk.cpp:------------------------------------------------------------------------- */ -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_msd_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute msd/chunk command"); -compute_msd_chunk.cpp: // ID of compute chunk/atom -compute_msd_chunk.cpp: // create a new fix STORE style for reference positions -compute_msd_chunk.cpp: // id = compute-ID + COMPUTE_STORE, fix group = compute group -compute_msd_chunk.cpp: // do not know size of array at this point, just allocate 1x3 array -compute_msd_chunk.cpp: // fix creation must be done now so that a restart run can -compute_msd_chunk.cpp: // potentially re-populate the fix array (and change it to correct size) -compute_msd_chunk.cpp: // otherwise size reset and init will be done in setup() -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_msd_chunk.cpp: // check nfix in case all fixes have already been deleted -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_msd_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for compute msd/chunk"); -compute_msd_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) -compute_msd_chunk.cpp: error->all(FLERR,"Compute msd/chunk does not use chunk/atom compute"); -compute_msd_chunk.cpp: // set fix which stores reference atom coords -compute_msd_chunk.cpp: // if firstflag, will be created in setup() -compute_msd_chunk.cpp: if (ifix < 0) error->all(FLERR,"Could not find compute msd/chunk fix ID"); -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- -compute_msd_chunk.cpp:------------------------------------------------------------------------- */ -compute_msd_chunk.cpp: // if fix->astore is already correct size, restart file set it up -compute_msd_chunk.cpp: // otherwise reset its size now and initialize to current COM -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_msd_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_msd_chunk.cpp: // extract ichunk index vector from compute -compute_msd_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_msd_chunk.cpp: // first time call, allocate per-chunk arrays -compute_msd_chunk.cpp: // thereafter, require nchunk remain the same -compute_msd_chunk.cpp: error->all(FLERR,"Compute msd/chunk nchunk is not static"); -compute_msd_chunk.cpp: // zero local per-chunk values -compute_msd_chunk.cpp: // compute current COM for each chunk -compute_msd_chunk.cpp: comall[i][0] /= masstotal[i]; -compute_msd_chunk.cpp: comall[i][1] /= masstotal[i]; -compute_msd_chunk.cpp: comall[i][2] /= masstotal[i]; -compute_msd_chunk.cpp: // MSD is difference between current and initial COM -compute_msd_chunk.cpp: // cominit is initilialized by setup() when firstflag is set -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- -compute_msd_chunk.cpp: lock methods: called by fix ave/time -compute_msd_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch -compute_msd_chunk.cpp: by passing lock info along to compute chunk/atom -compute_msd_chunk.cpp:------------------------------------------------------------------------- */ -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- -compute_msd_chunk.cpp:------------------------------------------------------------------------- */ -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- -compute_msd_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists -compute_msd_chunk.cpp:------------------------------------------------------------------------- */ -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- -compute_msd_chunk.cpp: calculate and return # of chunks = length of vector/array -compute_msd_chunk.cpp:------------------------------------------------------------------------- */ -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- -compute_msd_chunk.cpp:------------------------------------------------------------------------- */ -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- -compute_msd_chunk.cpp:------------------------------------------------------------------------- */ -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- -compute_msd_chunk.cpp:------------------------------------------------------------------------- */ -compute_msd_chunk.cpp: memory->create(massproc,nchunk,"msd/chunk:massproc"); -compute_msd_chunk.cpp: memory->create(masstotal,nchunk,"msd/chunk:masstotal"); -compute_msd_chunk.cpp: memory->create(com,nchunk,3,"msd/chunk:com"); -compute_msd_chunk.cpp: memory->create(comall,nchunk,3,"msd/chunk:comall"); -compute_msd_chunk.cpp: memory->create(msd,nchunk,4,"msd/chunk:msd"); -compute_msd_chunk.cpp:/* ---------------------------------------------------------------------- -compute_msd_chunk.cpp:------------------------------------------------------------------------- */ -compute_msd.cpp:/* ---------------------------------------------------------------------- -compute_msd.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_msd.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_msd.cpp:------------------------------------------------------------------------- */ -compute_msd.cpp:/* ---------------------------------------------------------------------- */ -compute_msd.cpp: // optional args -compute_msd.cpp: // create a new fix STORE style for reference positions -compute_msd.cpp: // id = compute-ID + COMPUTE_STORE, fix group = compute group -compute_msd.cpp: // calculate xu,yu,zu for fix store array -compute_msd.cpp: // skip if reset from restart file -compute_msd.cpp: // adjust for COM if requested -compute_msd.cpp: // initialize counter for average positions if requested -compute_msd.cpp: // displacement vector -compute_msd.cpp:/* ---------------------------------------------------------------------- */ -compute_msd.cpp: // check nfix in case all fixes have already been deleted -compute_msd.cpp:/* ---------------------------------------------------------------------- */ -compute_msd.cpp: // set fix which stores reference atom coords -compute_msd.cpp: // nmsd = # of atoms in group -compute_msd.cpp:/* ---------------------------------------------------------------------- */ -compute_msd.cpp: // cm = current center of mass -compute_msd.cpp: // dx,dy,dz = displacement of atom from reference position -compute_msd.cpp: // reference unwrapped position is stored by fix -compute_msd.cpp: // relative to center of mass if comflag is set -compute_msd.cpp: // for triclinic, need to unwrap current atom coord via h matrix -compute_msd.cpp: // update number of averages if requested -compute_msd.cpp: navfac = 1.0/(naverage+1); -compute_msd.cpp: // use running average position for reference if requested -compute_msd.cpp: // use running average position for reference if requested -compute_msd.cpp: vector[0] /= nmsd; -compute_msd.cpp: vector[1] /= nmsd; -compute_msd.cpp: vector[2] /= nmsd; -compute_msd.cpp: vector[3] /= nmsd; -compute_msd.cpp:/* ---------------------------------------------------------------------- -compute_msd.cpp:------------------------------------------------------------------------- */ -compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- -compute_omega_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_omega_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_omega_chunk.cpp:------------------------------------------------------------------------- */ -compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_omega_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute omega/chunk command"); -compute_omega_chunk.cpp: // ID of compute chunk/atom -compute_omega_chunk.cpp: // chunk-based data -compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_omega_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " -compute_omega_chunk.cpp: "compute omega/chunk"); -compute_omega_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) -compute_omega_chunk.cpp: error->all(FLERR,"Compute omega/chunk does not use chunk/atom compute"); -compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_omega_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_omega_chunk.cpp: // extract ichunk index vector from compute -compute_omega_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_omega_chunk.cpp: // zero local per-chunk values -compute_omega_chunk.cpp: // compute COM for each chunk -compute_omega_chunk.cpp: comall[i][0] /= masstotal[i]; -compute_omega_chunk.cpp: comall[i][1] /= masstotal[i]; -compute_omega_chunk.cpp: comall[i][2] /= masstotal[i]; -compute_omega_chunk.cpp: // compute inertia tensor for each chunk -compute_omega_chunk.cpp: // compute angmom for each chunk -compute_omega_chunk.cpp: // compute omega for each chunk -compute_omega_chunk.cpp: // determinant = triple product of rows of inertia matrix -compute_omega_chunk.cpp: // non-singular I matrix -compute_omega_chunk.cpp: // use L = Iw, inverting I to solve for w -compute_omega_chunk.cpp: invdeterminant = 1.0/determinant; -compute_omega_chunk.cpp: // handle each (nearly) singular I matrix -compute_omega_chunk.cpp: // due to 2-atom chunk or linear molecule -compute_omega_chunk.cpp: // use jacobi() and angmom_to_omega() to calculate valid omega -compute_omega_chunk.cpp: "Insufficient Jacobi rotations for omega/chunk"); -compute_omega_chunk.cpp: // enforce 3 evectors as a right-handed coordinate system -compute_omega_chunk.cpp: // flip 3rd vector if needed -compute_omega_chunk.cpp: // if any principal moment < scaled EPSILON, set to 0.0 -compute_omega_chunk.cpp: // calculate omega using diagonalized inertia matrix -compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- -compute_omega_chunk.cpp: lock methods: called by fix ave/time -compute_omega_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch -compute_omega_chunk.cpp: by passing lock info along to compute chunk/atom -compute_omega_chunk.cpp:------------------------------------------------------------------------- */ -compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- -compute_omega_chunk.cpp:------------------------------------------------------------------------- */ -compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- -compute_omega_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists -compute_omega_chunk.cpp:------------------------------------------------------------------------- */ -compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- -compute_omega_chunk.cpp: calculate and return # of chunks = length of vector/array -compute_omega_chunk.cpp:------------------------------------------------------------------------- */ -compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- -compute_omega_chunk.cpp:------------------------------------------------------------------------- */ -compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- -compute_omega_chunk.cpp:------------------------------------------------------------------------- */ -compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- -compute_omega_chunk.cpp:------------------------------------------------------------------------- */ -compute_omega_chunk.cpp: memory->create(massproc,maxchunk,"omega/chunk:massproc"); -compute_omega_chunk.cpp: memory->create(masstotal,maxchunk,"omega/chunk:masstotal"); -compute_omega_chunk.cpp: memory->create(com,maxchunk,3,"omega/chunk:com"); -compute_omega_chunk.cpp: memory->create(comall,maxchunk,3,"omega/chunk:comall"); -compute_omega_chunk.cpp: memory->create(inertia,maxchunk,6,"omega/chunk:inertia"); -compute_omega_chunk.cpp: memory->create(inertiaall,maxchunk,6,"omega/chunk:inertiaall"); -compute_omega_chunk.cpp: memory->create(angmom,maxchunk,3,"omega/chunk:angmom"); -compute_omega_chunk.cpp: memory->create(angmomall,maxchunk,3,"omega/chunk:angmomall"); -compute_omega_chunk.cpp: memory->create(omega,maxchunk,3,"omega/chunk:omega"); -compute_omega_chunk.cpp:/* ---------------------------------------------------------------------- -compute_omega_chunk.cpp:------------------------------------------------------------------------- */ -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- -compute_orientorder_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_orientorder_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- -compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_orientorder_atom.cpp: if (narg < 3 ) error->all(FLERR,"Illegal compute orientorder/atom command"); -compute_orientorder_atom.cpp: // set default values for optional args -compute_orientorder_atom.cpp: // specify which orders to request -compute_orientorder_atom.cpp: memory->create(qlist,nqlist,"orientorder/atom:qlist"); -compute_orientorder_atom.cpp: // process optional args -compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); -compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); -compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); -compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); -compute_orientorder_atom.cpp: memory->create(qlist,nqlist,"orientorder/atom:qlist"); -compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); -compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); -compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); -compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); -compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); -compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); -compute_orientorder_atom.cpp: error->all(FLERR,"Illegal compute orientorder/atom command"); -compute_orientorder_atom.cpp: } else error->all(FLERR,"Illegal compute orientorder/atom command"); -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_orientorder_atom.cpp: error->all(FLERR,"Compute orientorder/atom requires a " -compute_orientorder_atom.cpp: error->all(FLERR,"Compute orientorder/atom cutoff is " -compute_orientorder_atom.cpp: memory->create(qnm_r,qmax,2*qmax+1,"orientorder/atom:qnm_r"); -compute_orientorder_atom.cpp: memory->create(qnm_i,qmax,2*qmax+1,"orientorder/atom:qnm_i"); -compute_orientorder_atom.cpp: // need an occasional full neighbor list -compute_orientorder_atom.cpp: if (strcmp(modify->compute[i]->style,"orientorder/atom") == 0) count++; -compute_orientorder_atom.cpp: error->warning(FLERR,"More than one compute orientorder/atom"); -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_orientorder_atom.cpp: // grow order parameter array if necessary -compute_orientorder_atom.cpp: memory->create(qnarray,nmax,ncol,"orientorder/atom:qnarray"); -compute_orientorder_atom.cpp: // invoke full neighbor list (will copy or build if necessary) -compute_orientorder_atom.cpp: // compute order parameter for each atom in group -compute_orientorder_atom.cpp: // use full neighbor list to count atoms less than cutoff -compute_orientorder_atom.cpp: // insure distsq and nearest arrays are long enough -compute_orientorder_atom.cpp: memory->create(distsq,maxneigh,"orientorder/atom:distsq"); -compute_orientorder_atom.cpp: memory->create(rlist,maxneigh,3,"orientorder/atom:rlist"); -compute_orientorder_atom.cpp: memory->create(nearest,maxneigh,"orientorder/atom:nearest"); -compute_orientorder_atom.cpp: // loop over list of all neighbors within force cutoff -compute_orientorder_atom.cpp: // distsq[] = distance sq to each -compute_orientorder_atom.cpp: // rlist[] = distance vector to each -compute_orientorder_atom.cpp: // nearest[] = atom indices of neighbors -compute_orientorder_atom.cpp: // if not nnn neighbors, order parameter = 0; -compute_orientorder_atom.cpp: // if nnn > 0, use only nearest nnn neighbors -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- -compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- -compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ -compute_orientorder_atom.cpp:// Use no-op do while to create single statement -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- -compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ -compute_orientorder_atom.cpp: double costheta = r[2] / rmag; -compute_orientorder_atom.cpp: double rxymaginv = 1.0/rxymag; -compute_orientorder_atom.cpp: double fac = sqrt(MY_4PI) / ncount; -compute_orientorder_atom.cpp: // printf("Ylm^2 = %d %d %g\n",n,m, -compute_orientorder_atom.cpp: // qnm_r[iw][m]*qnm_r[iw][m] + qnm_i[iw][m]*qnm_i[iw][m]); -compute_orientorder_atom.cpp: qn[iw] = fac * sqrt(qm_sum / (2*n+1)); -compute_orientorder_atom.cpp: if (qlcompflag && iqlcomp == iw) normfac = 1.0/sqrt(qm_sum); -compute_orientorder_atom.cpp: // output of the complex vector -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- -compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- -compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ -compute_orientorder_atom.cpp: prefactor = sqrt(static_cast(2*l+1)/(MY_4PI*prefactor)) -compute_orientorder_atom.cpp:/* ---------------------------------------------------------------------- -compute_orientorder_atom.cpp:------------------------------------------------------------------------- */ -compute_orientorder_atom.cpp: - static_cast(i+m-1)*pm2) / static_cast(i-m); -compute_pair.cpp:/* ---------------------------------------------------------------------- -compute_pair.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_pair.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_pair.cpp:------------------------------------------------------------------------- */ -compute_pair.cpp:/* ---------------------------------------------------------------------- */ -compute_pair.cpp: // check if pair style with and without suffix exists -compute_pair.cpp: strcat(pstyle,"/"); -compute_pair.cpp:/* ---------------------------------------------------------------------- */ -compute_pair.cpp:/* ---------------------------------------------------------------------- */ -compute_pair.cpp: // recheck for pair style in case it has been deleted -compute_pair.cpp:/* ---------------------------------------------------------------------- */ -compute_pair.cpp:/* ---------------------------------------------------------------------- */ -compute_pair_local.cpp:/* ---------------------------------------------------------------------- -compute_pair_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_pair_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_pair_local.cpp:------------------------------------------------------------------------- */ -compute_pair_local.cpp:/* ---------------------------------------------------------------------- */ -compute_pair_local.cpp: if (narg < 4) error->all(FLERR,"Illegal compute pair/local command"); -compute_pair_local.cpp: "Invalid keyword in compute pair/local command"); -compute_pair_local.cpp: // optional args -compute_pair_local.cpp: error->all(FLERR,"Illegal compute pair/local command"); -compute_pair_local.cpp: else error->all(FLERR,"Illegal compute pair/local command"); -compute_pair_local.cpp: } else error->all(FLERR,"Illegal compute pair/local command"); -compute_pair_local.cpp: // error check -compute_pair_local.cpp: error->all(FLERR,"Compute pair/local requires atom attribute radius"); -compute_pair_local.cpp: // set singleflag if need to call pair->single() -compute_pair_local.cpp:/* ---------------------------------------------------------------------- */ -compute_pair_local.cpp:/* ---------------------------------------------------------------------- */ -compute_pair_local.cpp: error->all(FLERR,"No pair style is defined for compute pair/local"); -compute_pair_local.cpp: error->all(FLERR,"Pair style does not support compute pair/local"); -compute_pair_local.cpp: " requested by compute pair/local"); -compute_pair_local.cpp: // need an occasional half neighbor list -compute_pair_local.cpp:/* ---------------------------------------------------------------------- */ -compute_pair_local.cpp:/* ---------------------------------------------------------------------- */ -compute_pair_local.cpp: // count local entries and compute pair info -compute_pair_local.cpp:/* ---------------------------------------------------------------------- -compute_pair_local.cpp:------------------------------------------------------------------------- */ -compute_pair_local.cpp: // invoke half neighbor list (will copy or build if necessary) -compute_pair_local.cpp: // loop over neighbors of my atoms -compute_pair_local.cpp: // skip if I or J are not in group -compute_pair_local.cpp: // for newton = 0 and J = ghost atom, -compute_pair_local.cpp: // need to insure I,J pair is only output by one proc -compute_pair_local.cpp: // use same itag,jtag logic as in Neighbor::neigh_half_nsq() -compute_pair_local.cpp: // for flag = 0, just count pair interactions within force cutoff -compute_pair_local.cpp: // for flag = 1, calculate requested output fields -compute_pair_local.cpp: // itag = jtag is possible for long cutoffs that include images of self -compute_pair_local.cpp:/* ---------------------------------------------------------------------- */ -compute_pair_local.cpp: // grow vector_local or array_local -compute_pair_local.cpp: memory->create(vlocal,nmax,"pair/local:vector_local"); -compute_pair_local.cpp: memory->create(alocal,nmax,nvalues,"pair/local:array_local"); -compute_pair_local.cpp:/* ---------------------------------------------------------------------- -compute_pair_local.cpp:------------------------------------------------------------------------- */ -compute_pe_atom.cpp:/* ---------------------------------------------------------------------- -compute_pe_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_pe_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_pe_atom.cpp:------------------------------------------------------------------------- */ -compute_pe_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_pe_atom.cpp: if (narg < 3) error->all(FLERR,"Illegal compute pe/atom command"); -compute_pe_atom.cpp: else error->all(FLERR,"Illegal compute pe/atom command"); -compute_pe_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_pe_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_pe_atom.cpp: // grow local energy array if necessary -compute_pe_atom.cpp: // needs to be atom->nmax in length -compute_pe_atom.cpp: memory->create(energy,nmax,"pe/atom:energy"); -compute_pe_atom.cpp: // npair includes ghosts if either newton flag is set -compute_pe_atom.cpp: // b/c some bonds/dihedrals call pair::ev_tally with pairwise info -compute_pe_atom.cpp: // nbond includes ghosts if newton_bond is set -compute_pe_atom.cpp: // ntotal includes ghosts if either newton flag is set -compute_pe_atom.cpp: // KSpace includes ghosts if tip4pflag is set -compute_pe_atom.cpp: // clear local energy array -compute_pe_atom.cpp: // add in per-atom contributions from each force -compute_pe_atom.cpp: // add in per-atom contributions from relevant fixes -compute_pe_atom.cpp: // always only for owned atoms, not ghost -compute_pe_atom.cpp: // communicate ghost energy between neighbor procs -compute_pe_atom.cpp: // zero energy of atoms not in group -compute_pe_atom.cpp: // only do this after comm since ghost contributions must be included -compute_pe_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_pe_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_pe_atom.cpp:/* ---------------------------------------------------------------------- -compute_pe_atom.cpp:------------------------------------------------------------------------- */ -compute_pe.cpp:/* ---------------------------------------------------------------------- -compute_pe.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_pe.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_pe.cpp:------------------------------------------------------------------------- */ -compute_pe.cpp:/* ---------------------------------------------------------------------- */ -compute_pe.cpp:/* ---------------------------------------------------------------------- */ -compute_pe.cpp: scalar += force->pair->etail / volume; -compute_pressure.cpp:/* ---------------------------------------------------------------------- -compute_pressure.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_pressure.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_pressure.cpp:------------------------------------------------------------------------- */ -compute_pressure.cpp:/* ---------------------------------------------------------------------- */ -compute_pressure.cpp: // store temperature ID used by pressure computation -compute_pressure.cpp: // insure it is valid for temperature computation -compute_pressure.cpp: // process optional args -compute_pressure.cpp: // error check -compute_pressure.cpp:/* ---------------------------------------------------------------------- */ -compute_pressure.cpp:/* ---------------------------------------------------------------------- */ -compute_pressure.cpp: // set temperature compute, must be done in init() -compute_pressure.cpp: // fixes could have changed or compute_modify could have changed it -compute_pressure.cpp: // detect contributions to virial -compute_pressure.cpp: // vptr points to all virial[6] contributions -compute_pressure.cpp: // flag Kspace contribution separately, since not summed across procs -compute_pressure.cpp:/* ---------------------------------------------------------------------- -compute_pressure.cpp:------------------------------------------------------------------------- */ -compute_pressure.cpp: // invoke temperature if it hasn't been already -compute_pressure.cpp: inv_volume = 1.0 / (domain->xprd * domain->yprd * domain->zprd); -compute_pressure.cpp: virial[0] + virial[1] + virial[2]) / 3.0 * inv_volume * nktv2p; -compute_pressure.cpp: scalar = (virial[0] + virial[1] + virial[2]) / 3.0 * inv_volume * nktv2p; -compute_pressure.cpp: inv_volume = 1.0 / (domain->xprd * domain->yprd); -compute_pressure.cpp: virial[0] + virial[1]) / 2.0 * inv_volume * nktv2p; -compute_pressure.cpp: scalar = (virial[0] + virial[1]) / 2.0 * inv_volume * nktv2p; -compute_pressure.cpp:/* ---------------------------------------------------------------------- -compute_pressure.cpp:------------------------------------------------------------------------- */ -compute_pressure.cpp: error->all(FLERR,"Must use 'kspace_modify pressure/scalar no' for " -compute_pressure.cpp: // invoke temperature if it hasn't been already -compute_pressure.cpp: inv_volume = 1.0 / (domain->xprd * domain->yprd * domain->zprd); -compute_pressure.cpp: inv_volume = 1.0 / (domain->xprd * domain->yprd); -compute_pressure.cpp:/* ---------------------------------------------------------------------- */ -compute_pressure.cpp: // sum contributions to virial from forces and fixes -compute_pressure.cpp: // sum virial across procs -compute_pressure.cpp: // KSpace virial contribution is already summed across procs -compute_pressure.cpp: // LJ long-range tail correction, only if pair contributions are included -compute_pressure.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- -compute_property_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_property_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_property_atom.cpp:------------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp: if (narg < 4) error->all(FLERR,"Illegal compute property/atom command"); -compute_property_atom.cpp: // parse input values -compute_property_atom.cpp: // customize a new keyword by adding to if statement -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_ellipsoid) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_ellipsoid) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_ellipsoid) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_line) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_line) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_line) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_line) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_line) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_line) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: if (!avec_tri) error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom for " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom integer " -compute_property_atom.cpp: error->all(FLERR,"Compute property/atom floating point " -compute_property_atom.cpp: // check if atom style recognizes keyword -compute_property_atom.cpp: error->all(FLERR,"Invalid keyword in compute property/atom command"); -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp: // grow vector or array if necessary -compute_property_atom.cpp: memory->create(vector_atom,nmax,"property/atom:vector"); -compute_property_atom.cpp: memory->create(array_atom,nmax,nvalues,"property/atom:array"); -compute_property_atom.cpp: // fill vector or array with per-atom values -compute_property_atom.cpp:/* ---------------------------------------------------------------------- -compute_property_atom.cpp:------------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- -compute_property_atom.cpp: one method for every keyword compute property/atom can output -compute_property_atom.cpp:------------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp: double invxprd = 1.0/domain->xprd; -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp: double invyprd = 1.0/domain->yprd; -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp: double invzprd = 1.0/domain->zprd; -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- -compute_property_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_property_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_property_chunk.cpp:------------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_property_chunk.cpp: if (narg < 5) error->all(FLERR,"Illegal compute property/chunk command"); -compute_property_chunk.cpp: // ID of compute chunk/atom -compute_property_chunk.cpp: // parse values -compute_property_chunk.cpp: error->all(FLERR,"Compute chunk/atom stores no IDs for " -compute_property_chunk.cpp: "compute property/chunk"); -compute_property_chunk.cpp: error->all(FLERR,"Compute chunk/atom stores no coord1 for " -compute_property_chunk.cpp: "compute property/chunk"); -compute_property_chunk.cpp: error->all(FLERR,"Compute chunk/atom stores no coord2 for " -compute_property_chunk.cpp: "compute property/chunk"); -compute_property_chunk.cpp: error->all(FLERR,"Compute chunk/atom stores no coord3 for " -compute_property_chunk.cpp: "compute property/chunk"); -compute_property_chunk.cpp: "Invalid keyword in compute property/chunk command"); -compute_property_chunk.cpp: // initialization -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_property_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " -compute_property_chunk.cpp: "compute property/chunk"); -compute_property_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) -compute_property_chunk.cpp: error->all(FLERR,"Compute property/chunk does not use chunk/atom compute"); -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_property_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_property_chunk.cpp: // if need count, extract ichunk index vector from compute -compute_property_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_property_chunk.cpp: // fill vector -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_property_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_property_chunk.cpp: // if need count, extract ichunk index vector from compute -compute_property_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_property_chunk.cpp: // fill array -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- -compute_property_chunk.cpp: lock methods: called by fix ave/time -compute_property_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch -compute_property_chunk.cpp: by passing lock info along to compute chunk/atom -compute_property_chunk.cpp:------------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- -compute_property_chunk.cpp:------------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- -compute_property_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists -compute_property_chunk.cpp:------------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- -compute_property_chunk.cpp: calculate and return # of chunks = length of vector/array -compute_property_chunk.cpp:------------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- -compute_property_chunk.cpp:------------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- -compute_property_chunk.cpp:------------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- -compute_property_chunk.cpp:------------------------------------------------------------------------- */ -compute_property_chunk.cpp: if (nvalues == 1) memory->create(vector,maxchunk,"property/chunk:vector"); -compute_property_chunk.cpp: else memory->create(array,maxchunk,nvalues,"property/chunk:array"); -compute_property_chunk.cpp: memory->create(count_one,maxchunk,"property/chunk:count_one"); -compute_property_chunk.cpp: memory->create(count_all,maxchunk,"property/chunk:count_all"); -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- -compute_property_chunk.cpp:------------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- -compute_property_chunk.cpp: one method for every keyword compute property/chunk can output -compute_property_chunk.cpp:------------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_property_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- -compute_property_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_property_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_property_local.cpp:------------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp: if (narg < 4) error->all(FLERR,"Illegal compute property/local command"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: "Compute property/local cannot use these inputs together"); -compute_property_local.cpp: // optional args -compute_property_local.cpp: error->all(FLERR,"Illegal compute property/local command"); -compute_property_local.cpp: else error->all(FLERR,"Illegal compute property/local command"); -compute_property_local.cpp: } else error->all(FLERR,"Illegal compute property/local command"); -compute_property_local.cpp: // error check -compute_property_local.cpp: error->all(FLERR,"Compute property/local does not (yet) work " -compute_property_local.cpp: "Compute property/local for property that isn't allocated"); -compute_property_local.cpp: "Compute property/local for property that isn't allocated"); -compute_property_local.cpp: "Compute property/local for property that isn't allocated"); -compute_property_local.cpp: "Compute property/local for property that isn't allocated"); -compute_property_local.cpp: error->all(FLERR,"Compute property/local requires atom attribute radius"); -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp: error->all(FLERR,"No pair style is defined for compute property/local"); -compute_property_local.cpp: error->all(FLERR,"Pair style does not support compute property/local"); -compute_property_local.cpp: // for NEIGH/PAIR need an occasional half neighbor list -compute_property_local.cpp: // do initial memory allocation so that memory_usage() is correct -compute_property_local.cpp: // cannot be done yet for NEIGH/PAIR, since neigh list does not exist -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp: // count local entries and generate list of indices -compute_property_local.cpp: // fill vector or array with local values -compute_property_local.cpp:/* ---------------------------------------------------------------------- -compute_property_local.cpp:------------------------------------------------------------------------- */ -compute_property_local.cpp: // invoke half neighbor list (will copy or build if necessary) -compute_property_local.cpp: // loop over neighbors of my atoms -compute_property_local.cpp: // skip if I or J are not in group -compute_property_local.cpp: // for newton = 0 and J = ghost atom, -compute_property_local.cpp: // need to insure I,J pair is only output by one proc -compute_property_local.cpp: // use same itag,jtag logic as in Neighbor::neigh_half_nsq() -compute_property_local.cpp: // itag = jtag is possible for long cutoffs that include images of self -compute_property_local.cpp:/* ---------------------------------------------------------------------- -compute_property_local.cpp:------------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- -compute_property_local.cpp:------------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- -compute_property_local.cpp:------------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- -compute_property_local.cpp:------------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp: // grow vector_local or array_local, also indices -compute_property_local.cpp: memory->create(vlocal,nmax,"property/local:vector_local"); -compute_property_local.cpp: memory->create(alocal,nmax,nvalues,"property/local:array_local"); -compute_property_local.cpp: memory->create(indices,nmax,2,"property/local:indices"); -compute_property_local.cpp:/* ---------------------------------------------------------------------- -compute_property_local.cpp:------------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- -compute_property_local.cpp: one method for every keyword compute property/local can output -compute_property_local.cpp:------------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_property_local.cpp:/* ---------------------------------------------------------------------- */ -compute_rdf.cpp:/* ---------------------------------------------------------------------- -compute_rdf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_rdf.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_rdf.cpp:------------------------------------------------------------------------- */ -compute_rdf.cpp:/* ---------------------------------------------------------------------- -compute_rdf.cpp:------------------------------------------------------------------------- */ -compute_rdf.cpp:/* ---------------------------------------------------------------------- */ -compute_rdf.cpp: // optional args -compute_rdf.cpp: // nargpair = # of pairwise args, starting at iarg = 4 -compute_rdf.cpp: // pairwise args -compute_rdf.cpp: else npairs = nargpair/2; -compute_rdf.cpp:/* ---------------------------------------------------------------------- */ -compute_rdf.cpp:/* ---------------------------------------------------------------------- */ -compute_rdf.cpp: double cutghost; // as computed by Neighbor and Comm -compute_rdf.cpp: delr = cutoff_user / nbin; -compute_rdf.cpp: } else delr = force->pair->cutforce / nbin; -compute_rdf.cpp: delrinv = 1.0/delr; -compute_rdf.cpp: // set 1st column of output array to bin coords -compute_rdf.cpp: // count atoms of each type that are also in group -compute_rdf.cpp: // icount = # of I atoms participating in I,J pairs for each histogram -compute_rdf.cpp: // jcount = # of J atoms participating in I,J pairs for each histogram -compute_rdf.cpp: // duplicates = # of atoms in both groups I and J for each histogram -compute_rdf.cpp: // need an occasional half neighbor list -compute_rdf.cpp: // if user specified, request a cutoff = cutoff_user + skin -compute_rdf.cpp: // skin is included b/c Neighbor uses this value similar -compute_rdf.cpp: // to its cutneighmax = force cutoff + skin -compute_rdf.cpp: // also, this NeighList may be used by this compute for multiple steps -compute_rdf.cpp: // (until next reneighbor), so it needs to contain atoms further -compute_rdf.cpp: // than cutoff_user apart, just like a normal neighbor list does -compute_rdf.cpp:/* ---------------------------------------------------------------------- */ -compute_rdf.cpp:/* ---------------------------------------------------------------------- */ -compute_rdf.cpp: // invoke half neighbor list (will copy or build if necessary) -compute_rdf.cpp: // zero the histogram counts -compute_rdf.cpp: // tally the RDF -compute_rdf.cpp: // both atom i and j must be in fix group -compute_rdf.cpp: // itype,jtype must have been specified by user -compute_rdf.cpp: // consider I,J as one interaction even if neighbor pair is stored on 2 procs -compute_rdf.cpp: // tally I,J pair each time I is central atom, and each time J is central -compute_rdf.cpp: // if both weighting factors are 0, skip this pair -compute_rdf.cpp: // could be 0 and still be in neigh list for long-range Coulombics -compute_rdf.cpp: // want consistency with non-charged pairs which wouldn't be in list -compute_rdf.cpp: // sum histograms across procs -compute_rdf.cpp: // convert counts to g(r) and coord(r) and copy into output array -compute_rdf.cpp: // vfrac = fraction of volume in shell m -compute_rdf.cpp: // npairs = number of pairs, corrected for duplicates -compute_rdf.cpp: // duplicates = pairs in which both atoms are the same -compute_rdf.cpp: constant = 4.0*MY_PI / (3.0*domain->xprd*domain->yprd*domain->zprd); -compute_rdf.cpp: - static_cast(duplicates[m])/icount[m] : 0.0; -compute_rdf.cpp: gr = histall[m][ibin] / (vfrac * normfac * icount[m]); -compute_rdf.cpp: constant = MY_PI / (domain->xprd*domain->yprd); -compute_rdf.cpp: - static_cast(duplicates[m])/icount[m] : 0.0; -compute_rdf.cpp: gr = histall[m][ibin] / (vfrac * normfac * icount[m]); -compute_reduce.cpp:/* ---------------------------------------------------------------------- -compute_reduce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_reduce.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_reduce.cpp:------------------------------------------------------------------------- */ -compute_reduce.cpp:enum{SUM,SUMSQ,MINN,MAXX,AVE,AVESQ}; // also in ReduceRegion -compute_reduce.cpp:/* ---------------------------------------------------------------------- */ -compute_reduce.cpp: } else if (strcmp(style,"reduce/region") == 0) { -compute_reduce.cpp: if (narg < 6) error->all(FLERR,"Illegal compute reduce/region command"); -compute_reduce.cpp: error->all(FLERR,"Region ID for compute reduce/region does not exist"); -compute_reduce.cpp: // expand args if any have wildcard character "*" -compute_reduce.cpp: // parse values until one isn't recognized -compute_reduce.cpp: // optional args -compute_reduce.cpp: // delete replace if not set -compute_reduce.cpp: // if wildcard expansion occurred, free earg memory from expand_args() -compute_reduce.cpp: // setup and error check -compute_reduce.cpp: // this compute produces either a scalar or vector -compute_reduce.cpp:/* ---------------------------------------------------------------------- */ -compute_reduce.cpp:/* ---------------------------------------------------------------------- */ -compute_reduce.cpp: // set indices of all computes,fixes,variables -compute_reduce.cpp: // set index and check validity of region -compute_reduce.cpp: error->all(FLERR,"Region ID for compute reduce/region does not exist"); -compute_reduce.cpp:/* ---------------------------------------------------------------------- */ -compute_reduce.cpp: if (n) scalar /= n; -compute_reduce.cpp:/* ---------------------------------------------------------------------- */ -compute_reduce.cpp: if (n) vector[m] /= n; -compute_reduce.cpp:/* ---------------------------------------------------------------------- -compute_reduce.cpp: sum/min/max/ave all values in vector -compute_reduce.cpp:------------------------------------------------------------------------- */ -compute_reduce.cpp: // invoke the appropriate attribute,compute,fix,variable -compute_reduce.cpp: // for flag = -1, compute scalar quantity by scanning over atom properties -compute_reduce.cpp: // only include atoms in group for atom properties and per-atom quantities -compute_reduce.cpp: // invoke compute if not previously invoked -compute_reduce.cpp: // access fix fields, check if fix frequency is a match -compute_reduce.cpp: // evaluate atom-style variable -compute_reduce.cpp:/* ---------------------------------------------------------------------- */ -compute_reduce.cpp:/* ---------------------------------------------------------------------- -compute_reduce.cpp: for MIN/MAX, also update index with winner -compute_reduce.cpp:------------------------------------------------------------------------- */ -compute_reduce.cpp:/* ---------------------------------------------------------------------- -compute_reduce.cpp:------------------------------------------------------------------------- */ -compute_reduce_region.cpp:/* ---------------------------------------------------------------------- -compute_reduce_region.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_reduce_region.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_reduce_region.cpp:------------------------------------------------------------------------- */ -compute_reduce_region.cpp:enum{SUM,SUMSQ,MINN,MAXX,AVE,AVESQ}; // also in ComputeReduce -compute_reduce_region.cpp:/* ---------------------------------------------------------------------- */ -compute_reduce_region.cpp:/* ---------------------------------------------------------------------- -compute_reduce_region.cpp: sum/min/max/ave all values in vector -compute_reduce_region.cpp:------------------------------------------------------------------------- */ -compute_reduce_region.cpp: // invoke the appropriate attribute,compute,fix,variable -compute_reduce_region.cpp: // compute scalar quantity by summing over atom scalars -compute_reduce_region.cpp: // only include atoms in group -compute_reduce_region.cpp: // invoke compute if not previously invoked -compute_reduce_region.cpp: // check if fix frequency is a match -compute_reduce_region.cpp: // evaluate atom-style variable -compute_reduce_region.cpp: memory->create(varatom,maxatom,"reduce/region:varatom"); -compute_reduce_region.cpp:/* ---------------------------------------------------------------------- */ -compute_slice.cpp:/* ---------------------------------------------------------------------- -compute_slice.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_slice.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_slice.cpp:------------------------------------------------------------------------- */ -compute_slice.cpp:/* ---------------------------------------------------------------------- */ -compute_slice.cpp: // parse remaining values until one isn't recognized -compute_slice.cpp: // setup and error check -compute_slice.cpp: // this compute produces either a vector or array -compute_slice.cpp: // for vector, set intensive/extensive to mirror input values -compute_slice.cpp: // for array, set intensive if all input values are intensive, else extensive -compute_slice.cpp: size_vector = (nstop-nstart) / nskip; -compute_slice.cpp: size_array_rows = (nstop-nstart) / nskip; -compute_slice.cpp: // variable is always intensive, does not change extarray -compute_slice.cpp:/* ---------------------------------------------------------------------- */ -compute_slice.cpp:/* ---------------------------------------------------------------------- */ -compute_slice.cpp: // set indices and check validity of all computes,fixes -compute_slice.cpp:/* ---------------------------------------------------------------------- */ -compute_slice.cpp:/* ---------------------------------------------------------------------- */ -compute_slice.cpp:/* ---------------------------------------------------------------------- -compute_slice.cpp:------------------------------------------------------------------------- */ -compute_slice.cpp: // invoke the appropriate compute if needed -compute_slice.cpp: // access fix fields, check if fix frequency is a match -compute_slice.cpp: // invoke vector-style variable -compute_spin.cpp:/* ---------------------------------------------------------------------- -compute_spin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_spin.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_spin.cpp:------------------------------------------------------------------------- */ -compute_spin.cpp:/* ---------------------------------------------------------------------- */ -compute_spin.cpp: if ((narg != 3) && (narg != 4)) error->all(FLERR,"Illegal compute compute/spin command"); -compute_spin.cpp:/* ---------------------------------------------------------------------- */ -compute_spin.cpp:/* ---------------------------------------------------------------------- */ -compute_spin.cpp: hbar = force->hplanck/MY_2PI; -compute_spin.cpp:/* ---------------------------------------------------------------------- */ -compute_spin.cpp: // compute total magnetization and magnetic energy -compute_spin.cpp: // compute spin temperature; See Nurdin et al., Phys. Rev. E 61, 2000 -compute_spin.cpp: else error->all(FLERR,"Compute spin/compute declared magnetic quantities (sp and mumag flags)"); -compute_spin.cpp: double scale = 1.0/countsptot; -compute_spin.cpp: spintemperature = hbar*tempnumtot/2.0/kb/tempdenomtot; -compute_spin.cpp:/* ---------------------------------------------------------------------- -compute_spin.cpp:------------------------------------------------------------------------- */ -compute_spin.cpp: memory->create(mag,4,"compute/spin:mag"); -compute_spin.cpp: memory->create(magtot,5,"compute/spin:mag"); -compute_spin.cpp: memory->create(vector,7,"compute/spin:vector"); -compute_stress_atom.cpp:/* ---------------------------------------------------------------------- -compute_stress_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_stress_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_stress_atom.cpp:------------------------------------------------------------------------- */ -compute_stress_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_stress_atom.cpp: if (narg < 4) error->all(FLERR,"Illegal compute stress/atom command"); -compute_stress_atom.cpp: // store temperature ID used by stress computation -compute_stress_atom.cpp: // insure it is valid for temperature computation -compute_stress_atom.cpp: error->all(FLERR,"Could not find compute stress/atom temperature ID"); -compute_stress_atom.cpp: "Compute stress/atom temperature ID does not " -compute_stress_atom.cpp: // process optional args -compute_stress_atom.cpp: } else error->all(FLERR,"Illegal compute stress/atom command"); -compute_stress_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_stress_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_stress_atom.cpp: // set temperature compute, must be done in init() -compute_stress_atom.cpp: // fixes could have changed or compute_modify could have changed it -compute_stress_atom.cpp: error->all(FLERR,"Could not find compute stress/atom temperature ID"); -compute_stress_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_stress_atom.cpp: // grow local stress array if necessary -compute_stress_atom.cpp: // needs to be atom->nmax in length -compute_stress_atom.cpp: memory->create(stress,nmax,6,"stress/atom:stress"); -compute_stress_atom.cpp: // npair includes ghosts if either newton flag is set -compute_stress_atom.cpp: // b/c some bonds/dihedrals call pair::ev_tally with pairwise info -compute_stress_atom.cpp: // nbond includes ghosts if newton_bond is set -compute_stress_atom.cpp: // ntotal includes ghosts if either newton flag is set -compute_stress_atom.cpp: // KSpace includes ghosts if tip4pflag is set -compute_stress_atom.cpp: // clear local stress array -compute_stress_atom.cpp: // add in per-atom contributions from each force -compute_stress_atom.cpp: // add in per-atom contributions from relevant fixes -compute_stress_atom.cpp: // skip if vatom = NULL -compute_stress_atom.cpp: // possible during setup phase if fix has not initialized its vatom yet -compute_stress_atom.cpp: // e.g. fix ave/spatial defined before fix shake, -compute_stress_atom.cpp: // and fix ave/spatial uses a per-atom stress from this compute as input -compute_stress_atom.cpp: // communicate ghost virials between neighbor procs -compute_stress_atom.cpp: // zero virial of atoms not in group -compute_stress_atom.cpp: // only do this after comm since ghost contributions must be included -compute_stress_atom.cpp: // include kinetic energy term for each atom in group -compute_stress_atom.cpp: // apply temperature bias is applicable -compute_stress_atom.cpp: // mvv2e converts mv^2 to energy -compute_stress_atom.cpp: // invoke temperature if it hasn't been already -compute_stress_atom.cpp: // this insures bias factor is pre-computed -compute_stress_atom.cpp: // convert to stress*volume units = -pressure*volume -compute_stress_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_stress_atom.cpp:/* ---------------------------------------------------------------------- */ -compute_stress_atom.cpp:/* ---------------------------------------------------------------------- -compute_stress_atom.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_temp_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_chunk.cpp: if (narg < 4) error->all(FLERR,"Illegal compute temp/chunk command"); -compute_temp_chunk.cpp: // ID of compute chunk/atom -compute_temp_chunk.cpp: // optional per-chunk values -compute_temp_chunk.cpp: // optional args -compute_temp_chunk.cpp: error->all(FLERR,"Illegal compute temp/chunk command"); -compute_temp_chunk.cpp: else error->all(FLERR,"Illegal compute temp/chunk command"); -compute_temp_chunk.cpp: error->all(FLERR,"Illegal compute temp/chunk command"); -compute_temp_chunk.cpp: error->all(FLERR,"Illegal compute temp/chunk command"); -compute_temp_chunk.cpp: error->all(FLERR,"Illegal compute temp/chunk command"); -compute_temp_chunk.cpp: } else error->all(FLERR,"Illegal compute temp/chunk command"); -compute_temp_chunk.cpp: // error check on bias compute -compute_temp_chunk.cpp: // this compute only calculates a bias, if comflag is set -compute_temp_chunk.cpp: // won't be two biases since comflag and biasflag cannot both be set -compute_temp_chunk.cpp: error->all(FLERR,"Cannot use both com and bias with compute temp/chunk"); -compute_temp_chunk.cpp: // vector data -compute_temp_chunk.cpp: // chunk-based data -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " -compute_temp_chunk.cpp: "compute temp/chunk"); -compute_temp_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) -compute_temp_chunk.cpp: error->all(FLERR,"Compute temp/chunk does not use chunk/atom compute"); -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_chunk.cpp: // calculate chunk assignments, -compute_temp_chunk.cpp: // since only atoms in chunks contribute to global temperature -compute_temp_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_temp_chunk.cpp: // extract ichunk index vector from compute -compute_temp_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_temp_chunk.cpp: // remove velocity bias -compute_temp_chunk.cpp: // calculate COM velocity for each chunk -compute_temp_chunk.cpp: // won't be invoked with bias also removed = 2 biases -compute_temp_chunk.cpp: // calculate global temperature, optionally removing COM velocity -compute_temp_chunk.cpp: // restore velocity bias -compute_temp_chunk.cpp: // final temperature -compute_temp_chunk.cpp: if (dof > 0.0) tfactor = force->mvv2e / (dof * force->boltz); -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_chunk.cpp: // calculate chunk assignments, -compute_temp_chunk.cpp: // since only atoms in chunks contribute to global temperature -compute_temp_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_temp_chunk.cpp: // extract ichunk index vector from compute -compute_temp_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_temp_chunk.cpp: // remove velocity bias -compute_temp_chunk.cpp: // calculate COM velocity for each chunk -compute_temp_chunk.cpp: // won't be invoked with bias also removed = 2 biases -compute_temp_chunk.cpp: // calculate KE tensor, optionally removing COM velocity -compute_temp_chunk.cpp: // restore velocity bias -compute_temp_chunk.cpp: // final KE -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_temp_chunk.cpp: // extract ichunk index vector from compute -compute_temp_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_temp_chunk.cpp: // remove velocity bias -compute_temp_chunk.cpp: // calculate COM velocity for each chunk whether comflag set or not -compute_temp_chunk.cpp: // needed by some values even if comflag not set -compute_temp_chunk.cpp: // important to do this after velocity bias is removed -compute_temp_chunk.cpp: // otherwise per-chunk values that use both v and vcm will be inconsistent -compute_temp_chunk.cpp: // compute each value -compute_temp_chunk.cpp: // restore velocity bias -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp: // avoid re-computing VCM more than once per step -compute_temp_chunk.cpp: vcmall[i][0] /= masstotal[i]; -compute_temp_chunk.cpp: vcmall[i][1] /= masstotal[i]; -compute_temp_chunk.cpp: vcmall[i][2] /= masstotal[i]; -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp: // zero local per-chunk values -compute_temp_chunk.cpp: // per-chunk temperature, option for removing COM velocity -compute_temp_chunk.cpp: // sum across procs -compute_temp_chunk.cpp: // normalize temperatures by per-chunk DOF -compute_temp_chunk.cpp: if (dof > 0.0) tfactor = mvv2e / (dof * boltz); -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp: // zero local per-chunk values -compute_temp_chunk.cpp: // per-chunk COM KE -compute_temp_chunk.cpp: // sum across procs -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp: // zero local per-chunk values -compute_temp_chunk.cpp: // per-chunk internal KE -compute_temp_chunk.cpp: // sum across procs -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp: lock methods: called by fix ave/time -compute_temp_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch -compute_temp_chunk.cpp: by passing lock info along to compute chunk/atom -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp: calculate and return # of chunks = length of vector/array -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_chunk.cpp: memory->create(sum,maxchunk,"temp/chunk:sum"); -compute_temp_chunk.cpp: memory->create(sumall,maxchunk,"temp/chunk:sumall"); -compute_temp_chunk.cpp: memory->create(count,maxchunk,"temp/chunk:count"); -compute_temp_chunk.cpp: memory->create(countall,maxchunk,"temp/chunk:countall"); -compute_temp_chunk.cpp: memory->create(array,maxchunk,nvalues,"temp/chunk:array"); -compute_temp_chunk.cpp: memory->create(massproc,maxchunk,"vcm/chunk:massproc"); -compute_temp_chunk.cpp: memory->create(masstotal,maxchunk,"vcm/chunk:masstotal"); -compute_temp_chunk.cpp: memory->create(vcm,maxchunk,3,"vcm/chunk:vcm"); -compute_temp_chunk.cpp: memory->create(vcmall,maxchunk,3,"vcm/chunk:vcmall"); -compute_temp_chunk.cpp:/* ---------------------------------------------------------------------- -compute_temp_chunk.cpp:------------------------------------------------------------------------- */ -compute_temp_com.cpp:/* ---------------------------------------------------------------------- -compute_temp_com.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_temp_com.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_temp_com.cpp:------------------------------------------------------------------------- */ -compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_com.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); -compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_com.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_com.cpp:/* ---------------------------------------------------------------------- -compute_temp_com.cpp:------------------------------------------------------------------------- */ -compute_temp_com.cpp:/* ---------------------------------------------------------------------- -compute_temp_com.cpp:------------------------------------------------------------------------- */ -compute_temp_com.cpp:/* ---------------------------------------------------------------------- -compute_temp_com.cpp:------------------------------------------------------------------------- */ -compute_temp_com.cpp:/* ---------------------------------------------------------------------- -compute_temp_com.cpp:------------------------------------------------------------------------- */ -compute_temp.cpp:/* ---------------------------------------------------------------------- -compute_temp.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_temp.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_temp.cpp:------------------------------------------------------------------------- */ -compute_temp.cpp:/* ---------------------------------------------------------------------- */ -compute_temp.cpp:/* ---------------------------------------------------------------------- */ -compute_temp.cpp:/* ---------------------------------------------------------------------- */ -compute_temp.cpp:/* ---------------------------------------------------------------------- */ -compute_temp.cpp: if (dof > 0.0) tfactor = force->mvv2e / (dof * force->boltz); -compute_temp.cpp:/* ---------------------------------------------------------------------- */ -compute_temp.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- -compute_temp_deform.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_temp_deform.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_temp_deform.cpp:------------------------------------------------------------------------- */ -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- -compute_temp_deform.cpp:------------------------------------------------------------------------- */ -compute_temp_deform.cpp:enum{NO_REMAP,X_REMAP,V_REMAP}; // same as fix_deform.cpp -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_deform.cpp: if (narg != 3) error->all(FLERR,"Illegal compute temp/deform command"); -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_deform.cpp: // check fix deform remap settings -compute_temp_deform.cpp: error->warning(FLERR,"Using compute temp/deform with inconsistent " -compute_temp_deform.cpp: "Using compute temp/deform with no fix deform defined"); -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_deform.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_deform.cpp: // lamda = 0-1 triclinic lamda coords -compute_temp_deform.cpp: // vstream = streaming velocity = Hrate*lamda + Hratelo -compute_temp_deform.cpp: // vthermal = thermal velocity = v - vstream -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- -compute_temp_deform.cpp:------------------------------------------------------------------------- */ -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- -compute_temp_deform.cpp:------------------------------------------------------------------------- */ -compute_temp_deform.cpp: memory->create(vbiasall,maxbias,3,"temp/deform:vbiasall"); -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- -compute_temp_deform.cpp:------------------------------------------------------------------------- */ -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- -compute_temp_deform.cpp:------------------------------------------------------------------------- */ -compute_temp_deform.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- -compute_temp_partial.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_temp_partial.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_temp_partial.cpp:------------------------------------------------------------------------- */ -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_partial.cpp: if (narg != 6) error->all(FLERR,"Illegal compute temp/partial command"); -compute_temp_partial.cpp: error->all(FLERR,"Illegal compute temp/partial command"); -compute_temp_partial.cpp: error->all(FLERR,"Compute temp/partial cannot use vz for 2d systemx"); -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- -compute_temp_partial.cpp: DOF = nper/dim (dim*N - S), where dim = dimensionality = 2 or 3 -compute_temp_partial.cpp:------------------------------------------------------------------------- */ -compute_temp_partial.cpp: // distribute extra dofs evenly across active dimensions -compute_temp_partial.cpp: dof -= (1.0*nper/domain->dimension)*(fix_dof + extra_dof); -compute_temp_partial.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- -compute_temp_partial.cpp:------------------------------------------------------------------------- */ -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- -compute_temp_partial.cpp:------------------------------------------------------------------------- */ -compute_temp_partial.cpp: memory->create(vbiasall,maxbias,3,"temp/partial:vbiasall"); -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- -compute_temp_partial.cpp:------------------------------------------------------------------------- */ -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- -compute_temp_partial.cpp:------------------------------------------------------------------------- */ -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- -compute_temp_partial.cpp:------------------------------------------------------------------------- */ -compute_temp_partial.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- -compute_temp_profile.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_temp_profile.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_temp_profile.cpp:------------------------------------------------------------------------- */ -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_profile.cpp: if (narg < 7) error->all(FLERR,"Illegal compute temp/profile command"); -compute_temp_profile.cpp: error->all(FLERR,"Compute temp/profile cannot use vz for 2d systemx"); -compute_temp_profile.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/profile command"); -compute_temp_profile.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/profile command"); -compute_temp_profile.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/profile command"); -compute_temp_profile.cpp: error->all(FLERR,"Compute temp/profile cannot bin z for 2d systems"); -compute_temp_profile.cpp: if (iarg+3 > narg) error->all(FLERR,"Illegal compute temp/profile command"); -compute_temp_profile.cpp: if (iarg+3 > narg) error->all(FLERR,"Illegal compute temp/profile command"); -compute_temp_profile.cpp: error->all(FLERR,"Compute temp/profile cannot bin z for 2d systems"); -compute_temp_profile.cpp: if (iarg+3 > narg) error->all(FLERR,"Illegal compute temp/profile command"); -compute_temp_profile.cpp: error->all(FLERR,"Compute temp/profile cannot bin z for 2d systems"); -compute_temp_profile.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal compute temp/profile command"); -compute_temp_profile.cpp: error->all(FLERR,"Compute temp/profile cannot bin z for 2d systems"); -compute_temp_profile.cpp: } else error->all(FLERR,"Illegal compute temp/profile command"); -compute_temp_profile.cpp: // optional keywords -compute_temp_profile.cpp: error->all(FLERR,"Illegal compute temp/profile command"); -compute_temp_profile.cpp: else error->all(FLERR,"Illegal compute temp/profile command"); -compute_temp_profile.cpp: } else error->all(FLERR,"Illegal compute temp/profile command"); -compute_temp_profile.cpp: // setup -compute_temp_profile.cpp: if (nbins <= 0) error->all(FLERR,"Illegal compute temp/profile command"); -compute_temp_profile.cpp: memory->create(vbin,nbins,ncount,"temp/profile:vbin"); -compute_temp_profile.cpp: memory->create(binave,nbins,ncount,"temp/profile:binave"); -compute_temp_profile.cpp: memory->create(tbin,nbins,"temp/profile:tbin"); -compute_temp_profile.cpp: memory->create(tbinall,nbins,"temp/profile:tbinall"); -compute_temp_profile.cpp: memory->create(array,nbins,2,"temp/profile:array"); -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_profile.cpp: // ptrs to domain data -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_profile.cpp: // subtract additional d*Nbins DOF, as in Evans and Morriss paper -compute_temp_profile.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_profile.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- -compute_temp_profile.cpp:------------------------------------------------------------------------- */ -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- -compute_temp_profile.cpp:------------------------------------------------------------------------- */ -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- -compute_temp_profile.cpp:------------------------------------------------------------------------- */ -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- -compute_temp_profile.cpp:------------------------------------------------------------------------- */ -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- -compute_temp_profile.cpp:------------------------------------------------------------------------- */ -compute_temp_profile.cpp: // clear bins, including particle mass and count -compute_temp_profile.cpp: // sum each particle's mass-weighted velocity, mass, count to appropriate bin -compute_temp_profile.cpp: // sum bins across processors -compute_temp_profile.cpp: // compute ave COM velocity in each bin, checking for no particles -compute_temp_profile.cpp: binave[i][j] /= binave[i][nc2]; -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- -compute_temp_profile.cpp:------------------------------------------------------------------------- */ -compute_temp_profile.cpp: invdelta[0] = nbinx / prd[0]; -compute_temp_profile.cpp: invdelta[1] = nbiny / prd[1]; -compute_temp_profile.cpp: invdelta[2] = nbinz / prd[2]; -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- -compute_temp_profile.cpp:------------------------------------------------------------------------- */ -compute_temp_profile.cpp: // reallocate bin array if necessary -compute_temp_profile.cpp: memory->create(bin,maxatom,"temp/profile:bin"); -compute_temp_profile.cpp: // assign each atom to a bin, accounting for PBC -compute_temp_profile.cpp: // if triclinic, do this in lamda space -compute_temp_profile.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- -compute_temp_ramp.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_temp_ramp.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_temp_ramp.cpp:------------------------------------------------------------------------- */ -compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_ramp.cpp: // parse optional args -compute_temp_ramp.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal compute temp/ramp command"); -compute_temp_ramp.cpp: else error->all(FLERR,"Illegal compute temp/ramp command"); -compute_temp_ramp.cpp: } else error->all(FLERR,"Illegal compute temp/ramp command"); -compute_temp_ramp.cpp: // setup scaling -compute_temp_ramp.cpp: // read standard args and apply scaling -compute_temp_ramp.cpp: else error->all(FLERR,"Illegal compute temp/ramp command"); -compute_temp_ramp.cpp: else error->all(FLERR,"Illegal compute temp/ramp command"); -compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_ramp.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); -compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_ramp.cpp: fraction = (x[i][coord_dim] - coord_lo) / (coord_hi - coord_lo); -compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_ramp.cpp: fraction = (x[i][coord_dim] - coord_lo) / (coord_hi - coord_lo); -compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- -compute_temp_ramp.cpp:------------------------------------------------------------------------- */ -compute_temp_ramp.cpp: double fraction = (atom->x[i][coord_dim] - coord_lo) / (coord_hi - coord_lo); -compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- -compute_temp_ramp.cpp:------------------------------------------------------------------------- */ -compute_temp_ramp.cpp: memory->create(vbiasall,maxbias,3,"temp/ramp:vbiasall"); -compute_temp_ramp.cpp: fraction = (atom->x[i][coord_dim] - coord_lo) / (coord_hi - coord_lo); -compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- -compute_temp_ramp.cpp:------------------------------------------------------------------------- */ -compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- -compute_temp_ramp.cpp:------------------------------------------------------------------------- */ -compute_temp_ramp.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_region.cpp:/* ---------------------------------------------------------------------- -compute_temp_region.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_temp_region.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_temp_region.cpp:------------------------------------------------------------------------- */ -compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_region.cpp: if (narg != 4) error->all(FLERR,"Illegal compute temp/region command"); -compute_temp_region.cpp: error->all(FLERR,"Region ID for compute temp/region does not exist"); -compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_region.cpp: // set index and check validity of region -compute_temp_region.cpp: error->all(FLERR,"Region ID for compute temp/region does not exist"); -compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_region.cpp: if (dof > 0) scalar = force->mvv2e * tarray_all[1] / (dof * force->boltz); -compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_region.cpp:/* ---------------------------------------------------------------------- -compute_temp_region.cpp:------------------------------------------------------------------------- */ -compute_temp_region.cpp:/* ---------------------------------------------------------------------- -compute_temp_region.cpp:------------------------------------------------------------------------- */ -compute_temp_region.cpp: memory->create(vbiasall,maxbias,3,"temp/region:vbiasall"); -compute_temp_region.cpp:/* ---------------------------------------------------------------------- -compute_temp_region.cpp:------------------------------------------------------------------------- */ -compute_temp_region.cpp:/* ---------------------------------------------------------------------- -compute_temp_region.cpp:------------------------------------------------------------------------- */ -compute_temp_region.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- -compute_temp_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_temp_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_temp_sphere.cpp:------------------------------------------------------------------------- */ -compute_temp_sphere.cpp:#define INERTIA 0.4 // moment of inertia prefactor for sphere -compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_sphere.cpp: if (narg < 3) error->all(FLERR,"Illegal compute temp/sphere command"); -compute_temp_sphere.cpp: error->all(FLERR,"Illegal compute temp/sphere command"); -compute_temp_sphere.cpp: error->all(FLERR,"Illegal compute temp/sphere command"); -compute_temp_sphere.cpp: else error->all(FLERR,"Illegal compute temp/sphere command"); -compute_temp_sphere.cpp: } else error->all(FLERR,"Illegal compute temp/sphere command"); -compute_temp_sphere.cpp: // when computing only the rotational temperature, -compute_temp_sphere.cpp: // do not remove DOFs for translation as set by default -compute_temp_sphere.cpp: // error checks -compute_temp_sphere.cpp: error->all(FLERR,"Compute temp/sphere requires atom style sphere"); -compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_sphere.cpp: if (strcmp(tbias->style,"temp/region") == 0) tempbias = 2; -compute_temp_sphere.cpp: // init and setup bias compute because -compute_temp_sphere.cpp: // this compute's setup()->dof_compute() may be called first -compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_sphere.cpp: // 6 or 3 dof for extended/point particles for 3d -compute_temp_sphere.cpp: // 3 or 2 dof for extended/point particles for 2d -compute_temp_sphere.cpp: // which dof are included also depends on mode -compute_temp_sphere.cpp: // assume full rotation of extended particles -compute_temp_sphere.cpp: // user should correct this via compute_modify if needed -compute_temp_sphere.cpp: // additional adjustments to dof -compute_temp_sphere.cpp: if (dof > 0) tfactor = force->mvv2e / (dof * force->boltz); -compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_sphere.cpp: // point particles will not contribute rotation due to radius = 0 -compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- */ -compute_temp_sphere.cpp: // point particles will not contribute rotation due to radius = 0 -compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- -compute_temp_sphere.cpp:------------------------------------------------------------------------- */ -compute_temp_sphere.cpp:/* ---------------------------------------------------------------------- -compute_temp_sphere.cpp:------------------------------------------------------------------------- */ -compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- -compute_torque_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_torque_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_torque_chunk.cpp:------------------------------------------------------------------------- */ -compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_torque_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute torque/chunk command"); -compute_torque_chunk.cpp: // ID of compute chunk/atom -compute_torque_chunk.cpp: // chunk-based data -compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_torque_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for " -compute_torque_chunk.cpp: "compute torque/chunk"); -compute_torque_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) -compute_torque_chunk.cpp: error->all(FLERR,"Compute torque/chunk does not use chunk/atom compute"); -compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_torque_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_torque_chunk.cpp: // extract ichunk index vector from compute -compute_torque_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_torque_chunk.cpp: // zero local per-chunk values -compute_torque_chunk.cpp: // compute COM for each chunk -compute_torque_chunk.cpp: comall[i][0] /= masstotal[i]; -compute_torque_chunk.cpp: comall[i][1] /= masstotal[i]; -compute_torque_chunk.cpp: comall[i][2] /= masstotal[i]; -compute_torque_chunk.cpp: // compute torque on each chunk -compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- -compute_torque_chunk.cpp: lock methods: called by fix ave/time -compute_torque_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch -compute_torque_chunk.cpp: by passing lock info along to compute chunk/atom -compute_torque_chunk.cpp:------------------------------------------------------------------------- */ -compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- -compute_torque_chunk.cpp:------------------------------------------------------------------------- */ -compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- -compute_torque_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists -compute_torque_chunk.cpp:------------------------------------------------------------------------- */ -compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- -compute_torque_chunk.cpp: calculate and return # of chunks = length of vector/array -compute_torque_chunk.cpp:------------------------------------------------------------------------- */ -compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- -compute_torque_chunk.cpp:------------------------------------------------------------------------- */ -compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- -compute_torque_chunk.cpp:------------------------------------------------------------------------- */ -compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- -compute_torque_chunk.cpp:------------------------------------------------------------------------- */ -compute_torque_chunk.cpp: memory->create(massproc,maxchunk,"torque/chunk:massproc"); -compute_torque_chunk.cpp: memory->create(masstotal,maxchunk,"torque/chunk:masstotal"); -compute_torque_chunk.cpp: memory->create(com,maxchunk,3,"torque/chunk:com"); -compute_torque_chunk.cpp: memory->create(comall,maxchunk,3,"torque/chunk:comall"); -compute_torque_chunk.cpp: memory->create(torque,maxchunk,3,"torque/chunk:torque"); -compute_torque_chunk.cpp: memory->create(torqueall,maxchunk,3,"torque/chunk:torqueall"); -compute_torque_chunk.cpp:/* ---------------------------------------------------------------------- -compute_torque_chunk.cpp:------------------------------------------------------------------------- */ -compute_vacf.cpp:/* ---------------------------------------------------------------------- -compute_vacf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_vacf.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_vacf.cpp:------------------------------------------------------------------------- */ -compute_vacf.cpp:/* ---------------------------------------------------------------------- */ -compute_vacf.cpp: // create a new fix STORE style -compute_vacf.cpp: // id = compute-ID + COMPUTE_STORE, fix group = compute group -compute_vacf.cpp: // store current velocities in fix store array -compute_vacf.cpp: // skip if reset from restart file -compute_vacf.cpp: // displacement vector -compute_vacf.cpp:/* ---------------------------------------------------------------------- */ -compute_vacf.cpp: // check nfix in case all fixes have already been deleted -compute_vacf.cpp:/* ---------------------------------------------------------------------- */ -compute_vacf.cpp: // set fix which stores original atom velocities -compute_vacf.cpp: // nvacf = # of atoms in group -compute_vacf.cpp:/* ---------------------------------------------------------------------- */ -compute_vacf.cpp: vector[0] /= nvacf; -compute_vacf.cpp: vector[1] /= nvacf; -compute_vacf.cpp: vector[2] /= nvacf; -compute_vacf.cpp: vector[3] /= nvacf; -compute_vacf.cpp:/* ---------------------------------------------------------------------- -compute_vacf.cpp:------------------------------------------------------------------------- */ -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- -compute_vcm_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -compute_vcm_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories -compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_vcm_chunk.cpp: if (narg != 4) error->all(FLERR,"Illegal compute vcm/chunk command"); -compute_vcm_chunk.cpp: // ID of compute chunk/atom -compute_vcm_chunk.cpp: // chunk-based data -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_vcm_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for compute vcm/chunk"); -compute_vcm_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) -compute_vcm_chunk.cpp: error->all(FLERR,"Compute vcm/chunk does not use chunk/atom compute"); -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_vcm_chunk.cpp: // one-time calculation of per-chunk mass -compute_vcm_chunk.cpp: // done in setup, so that ComputeChunkAtom::setup() is already called -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- */ -compute_vcm_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -compute_vcm_chunk.cpp: // extract ichunk index vector from compute -compute_vcm_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -compute_vcm_chunk.cpp: // zero local per-chunk values -compute_vcm_chunk.cpp: // compute VCM for each chunk -compute_vcm_chunk.cpp: vcmall[i][0] /= masstotal[i]; -compute_vcm_chunk.cpp: vcmall[i][1] /= masstotal[i]; -compute_vcm_chunk.cpp: vcmall[i][2] /= masstotal[i]; -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- -compute_vcm_chunk.cpp: lock methods: called by fix ave/time -compute_vcm_chunk.cpp: these methods insure vector/array size is locked for Nfreq epoch -compute_vcm_chunk.cpp: by passing lock info along to compute chunk/atom -compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- -compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- -compute_vcm_chunk.cpp: decrement lock counter in compute chunk/atom, it if still exists -compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- -compute_vcm_chunk.cpp: calculate and return # of chunks = length of vector/array -compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- -compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- -compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- -compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ -compute_vcm_chunk.cpp: memory->create(massproc,maxchunk,"vcm/chunk:massproc"); -compute_vcm_chunk.cpp: memory->create(masstotal,maxchunk,"vcm/chunk:masstotal"); -compute_vcm_chunk.cpp: memory->create(vcm,maxchunk,3,"vcm/chunk:vcm"); -compute_vcm_chunk.cpp: memory->create(vcmall,maxchunk,3,"vcm/chunk:vcmall"); -compute_vcm_chunk.cpp:/* ---------------------------------------------------------------------- -compute_vcm_chunk.cpp:------------------------------------------------------------------------- */ -create_atoms.cpp:/* ---------------------------------------------------------------------- -create_atoms.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -create_atoms.cpp: http://lammps.sandia.gov, Sandia National Laboratories -create_atoms.cpp:------------------------------------------------------------------------- */ -create_atoms.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files -create_atoms.cpp:/* ---------------------------------------------------------------------- */ -create_atoms.cpp:/* ---------------------------------------------------------------------- */ -create_atoms.cpp: // parse arguments -create_atoms.cpp: // process optional keywords -create_atoms.cpp: // error checks -create_atoms.cpp: // error check and further setup for mode = MOLECULE -create_atoms.cpp: // create_atoms uses geoemetric center of molecule for insertion -create_atoms.cpp: // molecule random number generator, different for each proc -create_atoms.cpp: // error check and further setup for variable test -create_atoms.cpp: // demand non-none lattice be defined for BOX and REGION -create_atoms.cpp: // else setup scaling for SINGLE and RANDOM -create_atoms.cpp: // could use domain->lattice->lattice2box() to do conversion of -create_atoms.cpp: // lattice to box, but not consistent with other uses of units=lattice -create_atoms.cpp: // triclinic remapping occurs in add_single() -create_atoms.cpp: // set bounds for my proc in sublo[3] & subhi[3] -create_atoms.cpp: // if periodic and style = BOX or REGION, i.e. using lattice: -create_atoms.cpp: // should create exactly 1 atom when 2 images are both "on" the boundary -create_atoms.cpp: // either image may be slightly inside/outside true box due to round-off -create_atoms.cpp: // if I am lo proc, decrement lower bound by EPSILON -create_atoms.cpp: // this will insure lo image is created -create_atoms.cpp: // if I am hi proc, decrement upper bound by 2.0*EPSILON -create_atoms.cpp: // this will insure hi image is not created -create_atoms.cpp: // thus insertion box is EPSILON smaller than true box -create_atoms.cpp: // and is shifted away from true boundary -create_atoms.cpp: // which is where atoms are likely to be generated -create_atoms.cpp: // clear ghost count and any ghost bonus data internal to AtomVec -create_atoms.cpp: // same logic as beginning of Comm::exchange() -create_atoms.cpp: // do it now b/c creating atoms will overwrite ghost atoms -create_atoms.cpp: // add atoms/molecules in one of 3 ways -create_atoms.cpp: // init per-atom fix/compute/variable values for created atoms -create_atoms.cpp: // set new total # of atoms and error check -create_atoms.cpp: // add IDs for newly created atoms -create_atoms.cpp: // check that atom IDs are valid -create_atoms.cpp: // if global map exists, reset it -create_atoms.cpp: // invoke map_init() b/c atom count has grown -create_atoms.cpp: // for MOLECULE mode: -create_atoms.cpp: // molecule can mean just a mol ID or bonds/angles/etc or mol templates -create_atoms.cpp: // set molecule IDs for created atoms if atom->molecule_flag is set -create_atoms.cpp: // reset new molecule bond,angle,etc and special values if defined -create_atoms.cpp: // send atoms to new owning procs via irregular comm -create_atoms.cpp: // since not all atoms I created will be within my sub-domain -create_atoms.cpp: // perform special list build if needed -create_atoms.cpp: // molcreate = # of molecules I created -create_atoms.cpp: int molcreate = (atom->nlocal - nlocal_previous) / onemol->natoms; -create_atoms.cpp: // increment total bonds,angles,etc -create_atoms.cpp: // if atom style template -create_atoms.cpp: // maxmol = max molecule ID across all procs, for previous atoms -create_atoms.cpp: // moloffset = max molecule ID for all molecules owned by previous procs -create_atoms.cpp: // including molecules existing before this creation -create_atoms.cpp: // loop over molecules I created -create_atoms.cpp: // set their molecule ID -create_atoms.cpp: // reset their bond,angle,etc and special values -create_atoms.cpp: // perform irregular comm to migrate atoms to new owning procs -create_atoms.cpp: // clean up -create_atoms.cpp: // print status -create_atoms.cpp: // for MOLECULE mode: -create_atoms.cpp: // create special bond lists for molecular systems, -create_atoms.cpp: // but not for atom style template -create_atoms.cpp: // only if onemol added bonds but not special info -create_atoms.cpp:/* ---------------------------------------------------------------------- -create_atoms.cpp:------------------------------------------------------------------------- */ -create_atoms.cpp: // remap atom if requested -create_atoms.cpp: // if triclinic, convert to lamda coords (0-1) -create_atoms.cpp: // if atom/molecule is in my subbox, create it -create_atoms.cpp:/* ---------------------------------------------------------------------- -create_atoms.cpp:------------------------------------------------------------------------- */ -create_atoms.cpp: // random number generator, same for all procs -create_atoms.cpp: // bounding box for atom creation -create_atoms.cpp: // in real units, even if triclinic -create_atoms.cpp: // only limit bbox by region if its bboxflag is set (interior region) -create_atoms.cpp: // generate random positions for each new atom/molecule within bounding box -create_atoms.cpp: // iterate until atom is within region, variable, and triclinic simulation box -create_atoms.cpp: // if final atom position is in my subbox, create it -create_atoms.cpp: // if triclinic, coord is now in lamda units -create_atoms.cpp: // clean-up -create_atoms.cpp:/* ---------------------------------------------------------------------- -create_atoms.cpp:------------------------------------------------------------------------- */ -create_atoms.cpp: // convert 8 corners of my subdomain from box coords to lattice coords -create_atoms.cpp: // for orthogonal, use corner pts of my subbox -create_atoms.cpp: // for triclinic, use bounding box of my subbox -create_atoms.cpp: // xyz min to max = bounding box around the domain corners in lattice space -create_atoms.cpp: // ilo:ihi,jlo:jhi,klo:khi = loop bounds for lattice overlap of my subbox -create_atoms.cpp: // overlap = any part of a unit cell (face,edge,pt) in common with my subbox -create_atoms.cpp: // in lattice space, subbox is a tilted box -create_atoms.cpp: // but bbox of subbox is aligned with lattice axes -create_atoms.cpp: // so ilo:khi unit cells should completely tile bounding box -create_atoms.cpp: // decrement lo, increment hi to avoid round-off issues in lattice->bbox(), -create_atoms.cpp: // which can lead to missing atoms in rare cases -create_atoms.cpp: // extra decrement of lo if min < 0, since static_cast(-1.5) = -1 -create_atoms.cpp: // iterate on 3d periodic lattice of unit cells using loop bounds -create_atoms.cpp: // iterate on nbasis atoms in each unit cell -create_atoms.cpp: // convert lattice coords to box coords -create_atoms.cpp: // add atom or molecule (on each basis point) if it meets all criteria -create_atoms.cpp: // convert from lattice coords to box coords -create_atoms.cpp: // if a region was specified, test if atom is in it -create_atoms.cpp: // if variable test specified, eval variable -create_atoms.cpp: // test if atom/molecule position is in my subbox -create_atoms.cpp: // add the atom or entire molecule to my list of atoms -create_atoms.cpp:/* ---------------------------------------------------------------------- -create_atoms.cpp:------------------------------------------------------------------------- */ -create_atoms.cpp: // create atoms in molecule with atom ID = 0 and mol ID = 0 -create_atoms.cpp: // reset in caller after all molecules created by all procs -create_atoms.cpp: // pass add_molecule_atom an offset of 0 since don't know -create_atoms.cpp: // max tag of atoms in previous molecules at this point -create_atoms.cpp:/* ---------------------------------------------------------------------- -create_atoms.cpp:------------------------------------------------------------------------- */ -create_bonds.cpp:/* ---------------------------------------------------------------------- -create_bonds.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -create_bonds.cpp: http://lammps.sandia.gov, Sandia National Laboratories -create_bonds.cpp:------------------------------------------------------------------------- */ -create_bonds.cpp:/* ---------------------------------------------------------------------- */ -create_bonds.cpp:/* ---------------------------------------------------------------------- */ -create_bonds.cpp: // parse args -create_bonds.cpp: // store state before bond creation -create_bonds.cpp: // request a full neighbor list for use by this command -create_bonds.cpp: // init entire system since comm->borders and neighbor->build is done -create_bonds.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc -create_bonds.cpp: // error check on cutoff -create_bonds.cpp: // if no pair style, neighbor list will be empty -create_bonds.cpp: // require special_bonds 1-2 weights = 0.0 and KSpace = NULL -create_bonds.cpp: // so that already bonded atom pairs do not appear in neighbor list -create_bonds.cpp: // otherwise with newton_bond = 1, -create_bonds.cpp: // would be hard to check if I-J bond already existed -create_bonds.cpp: // note that with KSpace, pair with weight = 0 could still be in neigh list -create_bonds.cpp: // setup domain, communication and neighboring -create_bonds.cpp: // acquire ghosts and build standard neighbor lists -create_bonds.cpp: // build neighbor list this command needs based on earlier request -create_bonds.cpp: // loop over all neighs of each atom -create_bonds.cpp: // compute distance between two atoms consistently on both procs -create_bonds.cpp: // add bond if group and distance criteria are met -create_bonds.cpp: // check that bond list does not overflow -create_bonds.cpp: // only consider bond creation if I,J distance between 2 cutoffs -create_bonds.cpp: // compute rsq identically on both I,J loop iterations -create_bonds.cpp: // if I,J tags equal, do not bond atom to itself -create_bonds.cpp: // only consider bond creation if igroup and jgroup match I,J atoms -create_bonds.cpp: // create bond, check for overflow -create_bonds.cpp: // on I,J loop iterations, store with 1 or 2 atoms based on newton_bond -create_bonds.cpp: // recount bonds -create_bonds.cpp: if (!force->newton_bond) atom->nbonds /= 2; -create_bonds.cpp: // print new bond count -create_bonds.cpp: // re-trigger special list build -create_box.cpp:/* ---------------------------------------------------------------------- -create_box.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -create_box.cpp: http://lammps.sandia.gov, Sandia National Laboratories -create_box.cpp:------------------------------------------------------------------------- */ -create_box.cpp:/* ---------------------------------------------------------------------- */ -create_box.cpp:/* ---------------------------------------------------------------------- */ -create_box.cpp: // region check -create_box.cpp: // if region not prism: -create_box.cpp: // setup orthogonal domain -create_box.cpp: // set simulation domain from region extent -create_box.cpp: // if region is prism: -create_box.cpp: // seutp triclinic domain -create_box.cpp: // set simulation domain params from prism params -create_box.cpp: // if molecular, zero out topology info -create_box.cpp: // set atom and topology type quantities -create_box.cpp: // process optional args that can overwrite default settings -create_box.cpp: if (strcmp(arg[iarg],"bond/types") == 0) { -create_box.cpp: } else if (strcmp(arg[iarg],"angle/types") == 0) { -create_box.cpp: } else if (strcmp(arg[iarg],"dihedral/types") == 0) { -create_box.cpp: } else if (strcmp(arg[iarg],"improper/types") == 0) { -create_box.cpp: } else if (strcmp(arg[iarg],"extra/bond/per/atom") == 0) { -create_box.cpp: } else if (strcmp(arg[iarg],"extra/angle/per/atom") == 0) { -create_box.cpp: } else if (strcmp(arg[iarg],"extra/dihedral/per/atom") == 0) { -create_box.cpp: } else if (strcmp(arg[iarg],"extra/improper/per/atom") == 0) { -create_box.cpp: } else if (strcmp(arg[iarg],"extra/special/per/atom") == 0) { -create_box.cpp: // problem setup using info from header -create_box.cpp: // deallocate/grow insures any extra settings are used for topology arrays -create_box.cpp: // necessary in case no create_atoms is performed -delete_atoms.cpp:/* ---------------------------------------------------------------------- -delete_atoms.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -delete_atoms.cpp: http://lammps.sandia.gov, Sandia National Laboratories -delete_atoms.cpp:------------------------------------------------------------------------- */ -delete_atoms.cpp:// allocate space for static class variable -delete_atoms.cpp:/* ---------------------------------------------------------------------- */ -delete_atoms.cpp:/* ---------------------------------------------------------------------- */ -delete_atoms.cpp: // store state before delete -delete_atoms.cpp: // flag atoms for deletion -delete_atoms.cpp: // if allflag = 1, just reset atom->nlocal -delete_atoms.cpp: // else delete atoms one by one -delete_atoms.cpp: // optionally delete additional bonds or atoms in molecules -delete_atoms.cpp: // delete local atoms flagged in dlist -delete_atoms.cpp: // reset nlocal -delete_atoms.cpp: // if non-molecular system and compress flag set, -delete_atoms.cpp: // reset atom tags to be contiguous -delete_atoms.cpp: // set all atom IDs to 0, call tag_extend() -delete_atoms.cpp: // reset atom->natoms and also topology counts -delete_atoms.cpp: // reset atom->map if it exists -delete_atoms.cpp: // set nghost to 0 so old ghosts of deleted atoms won't be mapped -delete_atoms.cpp: // print before and after atom and topology counts -delete_atoms.cpp:/* ---------------------------------------------------------------------- -delete_atoms.cpp:------------------------------------------------------------------------- */ -delete_atoms.cpp: // check for special case of group = all -delete_atoms.cpp: // allocate and initialize deletion list -delete_atoms.cpp:/* ---------------------------------------------------------------------- -delete_atoms.cpp:------------------------------------------------------------------------- */ -delete_atoms.cpp: // allocate and initialize deletion list -delete_atoms.cpp:/* ---------------------------------------------------------------------- -delete_atoms.cpp:------------------------------------------------------------------------- */ -delete_atoms.cpp: // read args -delete_atoms.cpp: // request a full neighbor list for use by this command -delete_atoms.cpp: // init entire system since comm->borders and neighbor->build is done -delete_atoms.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc -delete_atoms.cpp: // error check on cutoff -delete_atoms.cpp: // if no pair style, neighbor list will be empty -delete_atoms.cpp: // setup domain, communication and neighboring -delete_atoms.cpp: // acquire ghosts and build standard neighbor lists -delete_atoms.cpp: // build neighbor list this command needs based on earlier request -delete_atoms.cpp: // allocate and initialize deletion list -delete_atoms.cpp: // must be after exchange potentially changes nlocal -delete_atoms.cpp: // double loop over owned atoms and their full neighbor list -delete_atoms.cpp: // at end of loop, there are no more overlaps -delete_atoms.cpp: // only ever delete owned atom I in I loop iteration, never J even if owned -delete_atoms.cpp: // if both weighting factors are 0, skip this pair -delete_atoms.cpp: // could be 0 and still be in neigh list for long-range Coulombics -delete_atoms.cpp: // want consistency with non-charged pairs which wouldn't be in list -delete_atoms.cpp: // only consider deletion if I,J distance < cutoff -delete_atoms.cpp: // compute rsq identically on both I,J loop iterations -delete_atoms.cpp: // ignoring possibility that I,J tags are equal -delete_atoms.cpp: // only consider deletion if I,J are in groups 1,2 respectively -delete_atoms.cpp: // true whether J is owned or ghost atom -delete_atoms.cpp: // J is owned atom: -delete_atoms.cpp: // delete atom I if atom J has not already been deleted -delete_atoms.cpp: // J is ghost atom: -delete_atoms.cpp: // delete atom I if J,I is not a candidate deletion pair -delete_atoms.cpp: // due to being in groups 1,2 respectively -delete_atoms.cpp: // if they are candidate pair, then either: -delete_atoms.cpp: // another proc owns J and could delete J -delete_atoms.cpp: // J is a ghost of another of my owned atoms, and I could delete J -delete_atoms.cpp: // test on tags of I,J insures that only I or J is deleted -delete_atoms.cpp:/* ---------------------------------------------------------------------- -delete_atoms.cpp:------------------------------------------------------------------------- */ -delete_atoms.cpp: // allocate and initialize deletion list -delete_atoms.cpp:/* ---------------------------------------------------------------------- -delete_atoms.cpp:------------------------------------------------------------------------- */ -delete_atoms.cpp: // hash = for atom IDs being deleted by one processor -delete_atoms.cpp: // list of these IDs is sent around ring -delete_atoms.cpp: // at each stage of ring pass, hash is re-populated with received IDs -delete_atoms.cpp: // list = set of unique molecule IDs from which I deleted atoms -delete_atoms.cpp: // pass list to all other procs via comm->ring() -delete_atoms.cpp:/* ---------------------------------------------------------------------- -delete_atoms.cpp:------------------------------------------------------------------------- */ -delete_atoms.cpp: // hash = unique molecule IDs from which I deleted atoms -delete_atoms.cpp: // list = set of unique molecule IDs from which I deleted atoms -delete_atoms.cpp: // pass list to all other procs via comm->ring() -delete_atoms.cpp:/* ---------------------------------------------------------------------- -delete_atoms.cpp:------------------------------------------------------------------------- */ -delete_atoms.cpp: if (!force->newton_bond) atom->nbonds /= 2; -delete_atoms.cpp: if (!force->newton_bond) atom->nangles /= 3; -delete_atoms.cpp: if (!force->newton_bond) atom->ndihedrals /= 4; -delete_atoms.cpp: if (!force->newton_bond) atom->nimpropers /= 4; -delete_atoms.cpp:/* ---------------------------------------------------------------------- -delete_atoms.cpp:------------------------------------------------------------------------- */ -delete_atoms.cpp: // cbuf = list of N deleted atom IDs from other proc, put them in hash -delete_atoms.cpp: // loop over my atoms and their bond topology lists -delete_atoms.cpp: // if any atom in an interaction matches atom ID in hash, delete interaction -delete_atoms.cpp:/* ---------------------------------------------------------------------- -delete_atoms.cpp:------------------------------------------------------------------------- */ -delete_atoms.cpp: // cbuf = list of N molecule IDs from other proc, put them in hash -delete_atoms.cpp: // loop over my atoms, if matches molecule ID in hash, delete that atom -delete_atoms.cpp:/* ---------------------------------------------------------------------- -delete_atoms.cpp:------------------------------------------------------------------------- */ -delete_bonds.cpp:/* ---------------------------------------------------------------------- -delete_bonds.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -delete_bonds.cpp: http://lammps.sandia.gov, Sandia National Laboratories -delete_bonds.cpp:------------------------------------------------------------------------- */ -delete_bonds.cpp:/* ---------------------------------------------------------------------- */ -delete_bonds.cpp:/* ---------------------------------------------------------------------- */ -delete_bonds.cpp: // init entire system since comm->borders is done -delete_bonds.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc -delete_bonds.cpp: // identify group -delete_bonds.cpp: // set style and which = type value -delete_bonds.cpp: // setup list of types (atom,bond,etc) to consider -delete_bonds.cpp: // use force->bounds(FLERR,) to allow setting of range of types -delete_bonds.cpp: // range can be 0 to ntypes inclusive -delete_bonds.cpp: // grab optional keywords -delete_bonds.cpp: // border swap to insure type and mask is current for off-proc atoms -delete_bonds.cpp: // enforce PBC before in case atoms are outside box -delete_bonds.cpp: // set topology interactions either off or on -delete_bonds.cpp: // criteria for an interaction to potentially be changed (set flag = 1) -delete_bonds.cpp: // all atoms or any atom in interaction must be in group, based on any_flag -delete_bonds.cpp: // for style = MULTI, all bond/angle/dihedral/improper, no other criteria -delete_bonds.cpp: // for style = ATOM, same as MULTI, plus at least one atom is specified type -delete_bonds.cpp: // for style = BOND/ANGLE/DIHEDRAL/IMPROPER, interaction is specified type -delete_bonds.cpp: // for style = STATS only compute stats, flag is always 0 -delete_bonds.cpp: // if flag = 1 -delete_bonds.cpp: // set interaction type negative if undo_flag = 0 -delete_bonds.cpp: // set interaction type positive if undo_flag = 1 -delete_bonds.cpp: // induce turn off of angles, dihedral, impropers due to turned off bonds -delete_bonds.cpp: // induce turn off of dihedrals due to turned off angles -delete_bonds.cpp: // all atoms or any atom in interaction must be in group, based on any_flag -delete_bonds.cpp: // circulate list of turned off bonds around ring of procs -delete_bonds.cpp: // circulate list of turned off angles around ring of procs -delete_bonds.cpp: // remove interactions if requested -delete_bonds.cpp: // all atoms or any atom in interaction must be in group, based on any_flag -delete_bonds.cpp: // if interactions were removed, recompute global counts -delete_bonds.cpp: if (force->newton_bond == 0) atom->nbonds /= 2; -delete_bonds.cpp: if (force->newton_bond == 0) atom->nangles /= 3; -delete_bonds.cpp: if (force->newton_bond == 0) atom->ndihedrals /= 4; -delete_bonds.cpp: if (force->newton_bond == 0) atom->nimpropers /= 4; -delete_bonds.cpp: // compute and print stats -delete_bonds.cpp: bond_on /= 2; -delete_bonds.cpp: bond_off /= 2; -delete_bonds.cpp: angle_on /= 3; -delete_bonds.cpp: angle_off /= 3; -delete_bonds.cpp: dihedral_on /= 4; -delete_bonds.cpp: dihedral_off /= 4; -delete_bonds.cpp: improper_on /= 4; -delete_bonds.cpp: improper_off /= 4; -delete_bonds.cpp: // re-compute special list if requested -dihedral.cpp:/* ---------------------------------------------------------------------- -dihedral.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -dihedral.cpp: http://lammps.sandia.gov, Sandia National Laboratories -dihedral.cpp:------------------------------------------------------------------------- */ -dihedral.cpp:/* ---------------------------------------------------------------------- -dihedral.cpp:------------------------------------------------------------------------- */ -dihedral.cpp:/* ---------------------------------------------------------------------- */ -dihedral.cpp:/* ---------------------------------------------------------------------- -dihedral.cpp:------------------------------------------------------------------------- */ -dihedral.cpp:/* ---------------------------------------------------------------------- -dihedral.cpp:------------------------------------------------------------------------- */ -dihedral.cpp: eflag_atom = eflag / 2; -dihedral.cpp: vflag_atom = vflag / 4; -dihedral.cpp: // reallocate per-atom arrays if necessary -dihedral.cpp: // zero accumulators -dihedral.cpp:/* ---------------------------------------------------------------------- -dihedral.cpp:------------------------------------------------------------------------- */ -dihedral.cpp:/* ---------------------------------------------------------------------- */ -dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- -dihedral_hybrid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -dihedral_hybrid.cpp: http://lammps.sandia.gov, Sandia National Laboratories -dihedral_hybrid.cpp:------------------------------------------------------------------------- */ -dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- */ -dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- */ -dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- */ -dihedral_hybrid.cpp: // save ptrs to original dihedrallist -dihedral_hybrid.cpp: // if this is re-neighbor step, create sub-style dihedrallists -dihedral_hybrid.cpp: // ndihedrallist[] = length of each sub-style list -dihedral_hybrid.cpp: // realloc sub-style dihedrallist if necessary -dihedral_hybrid.cpp: // load sub-style dihedrallist with 5 values from original dihedrallist -dihedral_hybrid.cpp: // call each sub-style's compute function -dihedral_hybrid.cpp: // set neighbor->dihedrallist to sub-style dihedrallist before call -dihedral_hybrid.cpp: // accumulate sub-style global/peratom energy/virial in hybrid -dihedral_hybrid.cpp: // restore ptrs to original dihedrallist -dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- */ -dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- -dihedral_hybrid.cpp:------------------------------------------------------------------------- */ -dihedral_hybrid.cpp: // delete old lists, since cannot just change settings -dihedral_hybrid.cpp: // count sub-styles by skipping numeric args -dihedral_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric word -dihedral_hybrid.cpp: // need a better way to skip these exceptions -dihedral_hybrid.cpp: // allocate list of sub-styles -dihedral_hybrid.cpp: // allocate each sub-style and call its settings() with subset of args -dihedral_hybrid.cpp: // allocate uses suffix, but don't store suffix version in keywords, -dihedral_hybrid.cpp: // else syntax in coeff() will not match -dihedral_hybrid.cpp: // define subset of args for a sub-style by skipping numeric args -dihedral_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric -dihedral_hybrid.cpp: // need a better way to skip these exceptions -dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- -dihedral_hybrid.cpp:---------------------------------------------------------------------- */ -dihedral_hybrid.cpp: // 2nd arg = dihedral sub-style name -dihedral_hybrid.cpp: // allow for "none" or "skip" as valid sub-style name -dihedral_hybrid.cpp: // move 1st arg to 2nd arg -dihedral_hybrid.cpp: // just copy ptrs, since arg[] points into original input line -dihedral_hybrid.cpp: // invoke sub-style coeff() starting with 1st arg -dihedral_hybrid.cpp: // set setflag and which type maps to which sub-style -dihedral_hybrid.cpp: // if sub-style is skip: auxiliary class2 setting in data file so ignore -dihedral_hybrid.cpp: // if sub-style is none and not skip: set hybrid setflag, wipe out map -dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- */ -dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- -dihedral_hybrid.cpp:------------------------------------------------------------------------- */ -dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- -dihedral_hybrid.cpp:------------------------------------------------------------------------- */ -dihedral_hybrid.cpp:/* ---------------------------------------------------------------------- -dihedral_hybrid.cpp:------------------------------------------------------------------------- */ -dihedral_zero.cpp:/* ---------------------------------------------------------------------- -dihedral_zero.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -dihedral_zero.cpp: http://lammps.sandia.gov, Sandia National Laboratories -dihedral_zero.cpp:------------------------------------------------------------------------- */ -dihedral_zero.cpp:/* ---------------------------------------------------------------------- -dihedral_zero.cpp:------------------------------------------------------------------------- */ -dihedral_zero.cpp:/* ---------------------------------------------------------------------- */ -dihedral_zero.cpp:/* ---------------------------------------------------------------------- */ -dihedral_zero.cpp:/* ---------------------------------------------------------------------- */ -dihedral_zero.cpp:/* ---------------------------------------------------------------------- */ -dihedral_zero.cpp:/* ---------------------------------------------------------------------- */ -dihedral_zero.cpp:/* ---------------------------------------------------------------------- -dihedral_zero.cpp:------------------------------------------------------------------------- */ -dihedral_zero.cpp:/* ---------------------------------------------------------------------- -dihedral_zero.cpp:------------------------------------------------------------------------- */ -dihedral_zero.cpp:/* ---------------------------------------------------------------------- -dihedral_zero.cpp:------------------------------------------------------------------------- */ -dihedral_zero.cpp:/* ---------------------------------------------------------------------- -dihedral_zero.cpp:------------------------------------------------------------------------- */ -displace_atoms.cpp:/* ---------------------------------------------------------------------- -displace_atoms.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -displace_atoms.cpp: http://lammps.sandia.gov, Sandia National Laboratories -displace_atoms.cpp:------------------------------------------------------------------------- */ -displace_atoms.cpp:/* ---------------------------------------------------------------------- */ -displace_atoms.cpp:/* ---------------------------------------------------------------------- */ -displace_atoms.cpp:/* ---------------------------------------------------------------------- */ -displace_atoms.cpp: // group and style -displace_atoms.cpp: // set option defaults -displace_atoms.cpp: // read options from end of input line -displace_atoms.cpp: // setup scaling -displace_atoms.cpp: // move atoms by 3-vector or specified variable(s) -displace_atoms.cpp: // move atoms in ramped fashion -displace_atoms.cpp: fraction = (x[i][coord_dim] - coord_lo) / (coord_hi - coord_lo); -displace_atoms.cpp: // move atoms randomly -displace_atoms.cpp: // makes atom result independent of what proc owns it via random->reset() -displace_atoms.cpp: // rotate atoms by right-hand rule by theta around R -displace_atoms.cpp: // P = point = vector = point of rotation -displace_atoms.cpp: // R = vector = axis of rotation -displace_atoms.cpp: // R0 = runit = unit vector for R -displace_atoms.cpp: // D = X - P = vector from P to X -displace_atoms.cpp: // C = (D dot R0) R0 = projection of atom coord onto R line -displace_atoms.cpp: // A = D - C = vector from R line to X -displace_atoms.cpp: // B = R0 cross A = vector perp to A in plane of rotation -displace_atoms.cpp: // A,B define plane of circular rotation around R line -displace_atoms.cpp: // X = P + C + A cos(theta) + B sin(theta) -displace_atoms.cpp: runit[0] = axis[0]/len; -displace_atoms.cpp: runit[1] = axis[1]/len; -displace_atoms.cpp: runit[2] = axis[2]/len; -displace_atoms.cpp: double angle = MY_PI*theta/180.0; -displace_atoms.cpp: // flags for additional orientation info stored by some atom styles -displace_atoms.cpp: // AtomVec pointers to retrieve per-atom storage of extra quantities -displace_atoms.cpp: // theta for lines -displace_atoms.cpp: // quats for ellipsoids, tris, and bodies -displace_atoms.cpp: // move atoms back inside simulation box and to new processors -displace_atoms.cpp: // use remap() instead of pbc() in case atoms moved a long distance -displace_atoms.cpp: // use irregular() in case atoms moved a long distance -displace_atoms.cpp: // check if any atoms were lost -displace_atoms.cpp:/* ---------------------------------------------------------------------- -displace_atoms.cpp:------------------------------------------------------------------------- */ -displace_atoms.cpp:/* ---------------------------------------------------------------------- -displace_atoms.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -domain.cpp: http://lammps.sandia.gov, Sandia National Laboratories -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:enum{NO_REMAP,X_REMAP,V_REMAP}; // same as fix_deform.cpp -domain.cpp:enum{IGNORE,WARN,ERROR}; // same as thermo.cpp -domain.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- */ -domain.cpp: // set box_change flags if box size/shape/sub-domains ever change -domain.cpp: // due to shrink-wrapping or fixes that change box size/shape/sub-domains -domain.cpp: // check for fix deform -domain.cpp: // region inits -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp: assumes boxlo/hi and triclinic tilts are already set -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp: // error checks for orthogonal and triclinic domains -domain.cpp: // error check or warning on triclinic tilt factors -domain.cpp: if ((fabs(xy/(boxhi[0]-boxlo[0])) > 0.5 && xperiodic) || -domain.cpp: (fabs(xz/(boxhi[0]-boxlo[0])) > 0.5 && xperiodic) || -domain.cpp: (fabs(yz/(boxhi[1]-boxlo[1])) > 0.5 && yperiodic)) { -domain.cpp: // set small based on box size and SMALL -domain.cpp: // this works for any unit system -domain.cpp: // if expandflag, adjust box lo/hi for shrink-wrapped dims -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp: assumes boxlo/hi and triclinic tilts are already set -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp: h_inv[0] = 1.0/h[0]; -domain.cpp: h_inv[1] = 1.0/h[1]; -domain.cpp: h_inv[2] = 1.0/h[2]; -domain.cpp: h_inv[3] = -h[3] / (h[1]*h[2]); -domain.cpp: h_inv[4] = (h[3]*h[5] - h[1]*h[4]) / (h[0]*h[1]*h[2]); -domain.cpp: h_inv[5] = -h[5] / (h[0]*h[1]); -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp: if shrink-wrapped, determine atom extent and reset boxlo/hi -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp: // perform shrink-wrapping -domain.cpp: // compute extent of atoms on this proc -domain.cpp: // for triclinic, this is done in lamda space -domain.cpp: // compute extent across all procs -domain.cpp: // flip sign of MIN to do it in one Allreduce MAX -domain.cpp: // for triclinic, convert back to box coords before changing box -domain.cpp: // in shrink-wrapped dims, set box by atom extent -domain.cpp: // if minimum set, enforce min box size settings -domain.cpp: // for triclinic, convert lamda extent to box coords, then set box lo/hi -domain.cpp: // decided NOT to do the next comment - don't want to sneakily change tilt -domain.cpp: // for triclinic, adjust tilt factors if 2nd dim is shrink-wrapped, -domain.cpp: // so that displacement in 1st dim stays the same -domain.cpp: //xy *= (boxhi[1]-boxlo[1]) / yprd; -domain.cpp: //xz *= (boxhi[2]-boxlo[2]) / xprd; -domain.cpp: //yz *= (boxhi[2]-boxlo[2]) / yprd; -domain.cpp: // reset box whether shrink-wrapping or not -domain.cpp: // if shrink-wrapped & kspace is defined (i.e. using MSM), call setup() -domain.cpp: // also call init() (to test for compatibility) ? -domain.cpp: //force->kspace->init(); -domain.cpp: // if shrink-wrapped & triclinic, re-convert to lamda coords for new box -domain.cpp: // re-invoke pbc() b/c x2lamda result can be outside [0,1] due to roundoff -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp: increment/decrement in wrap-around fashion -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp: // verify owned atoms have valid numerical coords -domain.cpp: // may not if computed pairwise force between 2 atoms at same location -domain.cpp: coord = &x[0][0]; // note: x is always initialized to at least one element. -domain.cpp: // setup for PBC checks -domain.cpp: // apply PBC to each owned atom -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp: // only need to check if system is molecular and some dimension is periodic -domain.cpp: // if running verlet/split, don't check on KSpace partition since -domain.cpp: // it has no ghost atoms and thus bond partners won't exist -domain.cpp: if (strncmp(update->integrate_style,"verlet/split",12) == 0 && -domain.cpp: // communicate unwrapped position of owned atoms to ghost atoms -domain.cpp: // compute unwrapped extent of each bond -domain.cpp: // flag if any bond component is longer than 1/2 of periodic box length -domain.cpp: // flag if any bond component is longer than non-periodic box length -domain.cpp: // which means image flags in that dimension were different -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp: // only need to check if system is molecular and some dimension is periodic -domain.cpp: // if running verlet/split, don't check on KSpace partition since -domain.cpp: // it has no ghost atoms and thus bond partners won't exist -domain.cpp: if (strncmp(update->integrate_style,"verlet/split",12) == 0 && -domain.cpp: // maxbondall = longest current bond length -domain.cpp: // if periodic box dim is tiny (less than 2 * bond-length), -domain.cpp: // minimum_image() itself may compute bad bond lengths -domain.cpp: // in this case, image_check() should warn, -domain.cpp: // assuming 2 atoms have consistent image flags -domain.cpp: // maxdelta = furthest apart 2 atoms in a bonded interaction can be -domain.cpp: // include BONDSTRETCH factor to account for dynamics -domain.cpp: // warn if maxdelta > than half any periodic box length -domain.cpp: // since atoms in the interaction could rotate into that dimension -domain.cpp: "Bond/angle/dihedral extent > half of periodic box length"); -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp: use 1/2 of box size as test -domain.cpp: for triclinic, also add/subtract tilt factors in other dims as needed -domain.cpp: b/c while could iterate forever -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp: use 1/2 of box size as test -domain.cpp: for triclinic, also add/subtract tilt factors in other dims as needed -domain.cpp: b/c while could iterate forever -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp: use 1/2 of box size as test -domain.cpp: for triclinic, also add/subtract tilt factors in other dims as needed -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp: for triclinic, add/subtract tilt factors in other dims as needed -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp: increment/decrement in wrap-around fashion -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp: // iterative form -domain.cpp: // if (xperiodic) { -domain.cpp: // while (coordnew[0]-coordold[0] > half[0]) coordnew[0] -= period[0]; -domain.cpp: // while (coordold[0]-coordnew[0] > half[0]) coordnew[0] += period[0]; -domain.cpp: // } -domain.cpp: n = static_cast ((coordnew[0]-coordold[0])/period[0]); -domain.cpp: n = static_cast ((coordold[0]-coordnew[0])/period[0]); -domain.cpp: n = static_cast ((coordnew[1]-coordold[1])/period[1]); -domain.cpp: n = static_cast ((coordold[1]-coordnew[1])/period[1]); -domain.cpp: n = static_cast ((coordnew[2]-coordold[2])/period[2]); -domain.cpp: n = static_cast ((coordold[2]-coordnew[2])/period[2]); -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp: C' = C + pB + nA (C shifted by B and/or A) -domain.cpp: so that x_unwrap for each atom is same before/after -domain.cpp: this is b/c the xy flip dramatically changes which tiled image of -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp: // box and subbox bounds for orthogonal vs triclinic -domain.cpp: // check if atom did not return 1 only b/c it was -domain.cpp: // outside a shrink-wrapped boundary -domain.cpp: // newcoord = coords pushed back to be on shrink-wrapped boundary -domain.cpp: // newcoord is a copy, so caller's x[] is not affected -domain.cpp: // re-test for newcoord inside my sub-domain -domain.cpp: // use <= test for upper-boundary since may have just put atom at boxhi -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp: // extend Region list if necessary -domain.cpp: // create the Region -domain.cpp: sprintf(estyle,"%s/%s",arg[1],lmp->suffix); -domain.cpp: sprintf(estyle,"%s/%s",arg[1],lmp->suffix2); -domain.cpp: // initialize any region variables via init() -domain.cpp: // in case region is used between runs, e.g. to print a variable -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp: convert 8 lamda corner pts of lo/hi box to box coords -domain.cpp: return bboxlo/hi = bounding box around 8 corner pts in box coords -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp:------------------------------------------------------------------------- */ -domain.cpp:/* ---------------------------------------------------------------------- -domain.cpp: compute 8 corner pts of any triclinic box with lo/hi in lamda coords -domain.cpp:------------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- -dump_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -dump_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -dump_atom.cpp:------------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp: // format = copy of default or user-specified line format -dump_atom.cpp: // default depends on image flags -dump_atom.cpp: // setup boundary string -dump_atom.cpp: // setup column string -dump_atom.cpp: // setup function ptrs -dump_atom.cpp: // open single file, one time only -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp: double invxprd = 1.0/domain->xprd; -dump_atom.cpp: double invyprd = 1.0/domain->yprd; -dump_atom.cpp: double invzprd = 1.0/domain->zprd; -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp: double invxprd = 1.0/domain->xprd; -dump_atom.cpp: double invyprd = 1.0/domain->yprd; -dump_atom.cpp: double invzprd = 1.0/domain->zprd; -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- -dump_atom.cpp:------------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_atom.cpp:/* ---------------------------------------------------------------------- */ -dump_cfg.cpp:/* ---------------------------------------------------------------------- -dump_cfg.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -dump_cfg.cpp: http://lammps.sandia.gov, Sandia National Laboratories -dump_cfg.cpp:------------------------------------------------------------------------- */ -dump_cfg.cpp:/* ---------------------------------------------------------------------- -dump_cfg.cpp:------------------------------------------------------------------------- */ -dump_cfg.cpp:enum{INT,DOUBLE,STRING,BIGINT}; // same as in DumpCustom -dump_cfg.cpp:/* ---------------------------------------------------------------------- */ -dump_cfg.cpp: // use earg instead of original arg since it includes expanded wildcards -dump_cfg.cpp: // earg was created by parent DumpCustom -dump_cfg.cpp: // setup auxiliary property name strings -dump_cfg.cpp: // convert 'X_ID[m]' (X=c,f,v) to 'X_ID_m' -dump_cfg.cpp:/* ---------------------------------------------------------------------- */ -dump_cfg.cpp:/* ---------------------------------------------------------------------- */ -dump_cfg.cpp: // setup function ptrs -dump_cfg.cpp:/* ---------------------------------------------------------------------- */ -dump_cfg.cpp: // set scale factor used by AtomEye for CFG viz -dump_cfg.cpp: // default = 1.0 -dump_cfg.cpp: // for peridynamics, set to pre-computed PD scale factor -dump_cfg.cpp: // so PD particles mimic C atoms -dump_cfg.cpp: // for unwrapped coords, set to UNWRAPEXPAND (10.0) -dump_cfg.cpp: // so molecules are not split across periodic box boundaries -dump_cfg.cpp:/* ---------------------------------------------------------------------- -dump_cfg.cpp:------------------------------------------------------------------------- */ -dump_cfg.cpp: unwrap_coord = (mybuf[m] - 0.5)/UNWRAPEXPAND + 0.5; -dump_cfg.cpp:/* ---------------------------------------------------------------------- */ -dump_cfg.cpp:/* ---------------------------------------------------------------------- */ -dump_cfg.cpp:/* ---------------------------------------------------------------------- */ -dump_cfg.cpp: unwrap_coord = (mybuf[m] - 0.5)/UNWRAPEXPAND + 0.5; -dump.cpp:/* ---------------------------------------------------------------------- -dump.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -dump.cpp: http://lammps.sandia.gov, Sandia National Laboratories -dump.cpp:------------------------------------------------------------------------- */ -dump.cpp:// allocate space for static class variable -dump.cpp:/* ---------------------------------------------------------------------- */ -dump.cpp: // parse filename for special syntax -dump.cpp: // if contains '%', write one file per proc and replace % with proc-ID -dump.cpp: // if contains '*', write one file per timestep and replace * with timestep -dump.cpp: // check file suffixes -dump.cpp: // if ends in .bin = binary file -dump.cpp: // else if ends in .gz = gzipped text file -dump.cpp: // else ASCII text file -dump.cpp:/* ---------------------------------------------------------------------- */ -dump.cpp: // format_column_user is deallocated by child classes that use it -dump.cpp: // XTC style sets fp to NULL since it closes file in its destructor -dump.cpp:/* ---------------------------------------------------------------------- */ -dump.cpp: // set reorderflag = 1 if can simply reorder local atoms rather than sort -dump.cpp: // criteria: sorting by ID, atom IDs are consecutive from 1 to Natoms -dump.cpp: // min/max IDs of group match size of group -dump.cpp: // compute ntotal_reorder, nme_reorder, idlo/idhi to test against later -dump.cpp: idlo = static_cast (range*me/nprocs + minall); -dump.cpp: tagint idhi = static_cast (range*(me+1)/nprocs + minall); -dump.cpp: tagint lom1 = static_cast ((idlo-1-minall)/range * nprocs); -dump.cpp: tagint lo = static_cast ((idlo-minall)/range * nprocs); -dump.cpp: tagint him1 = static_cast ((idhi-1-minall)/range * nprocs); -dump.cpp: tagint hi = static_cast ((idhi-minall)/range * nprocs); -dump.cpp: // preallocation for PBC copies if requested -dump.cpp:/* ---------------------------------------------------------------------- */ -dump.cpp:/* ---------------------------------------------------------------------- */ -dump.cpp: // if file per timestep, open new file -dump.cpp: // simulation box bounds -dump.cpp: // nme = # of dump lines this proc contributes to dump -dump.cpp: // ntotal = total # of dump lines in snapshot -dump.cpp: // nmax = max # of dump lines on any proc -dump.cpp: // write timestep header -dump.cpp: // for multiproc, -dump.cpp: // nheader = # of lines in this file via Allreduce on clustercomm -dump.cpp: // insure buf is sized for packing and communicating -dump.cpp: // use nmax to insure filewriter proc can receive info from others -dump.cpp: // limit nmax*size_one to int since used as arg in MPI calls -dump.cpp: // insure ids buffer is sized for sorting -dump.cpp: // apply PBC on copy of x,v,image if requested -dump.cpp: // pack my data into buf -dump.cpp: // if sorting on IDs also request ID list from pack() -dump.cpp: // sort buf as needed -dump.cpp: // if buffering, convert doubles into strings -dump.cpp: // insure sbuf is sized for communicating -dump.cpp: // cannot buffer if output is to binary file -dump.cpp: // filewriter = 1 = this proc writes to file -dump.cpp: // ping each proc in my cluster, receive its data, write data to file -dump.cpp: // else wait for ping from fileproc, send my data to fileproc -dump.cpp: // comm and output buf of doubles -dump.cpp: nlines /= size_one; -dump.cpp: // comm and output sbuf = one big string of formatted values per proc -dump.cpp: // restore original x,v,image unaltered by PBC -dump.cpp: // if file per timestep, close file if I am filewriter -dump.cpp:/* ---------------------------------------------------------------------- -dump.cpp:------------------------------------------------------------------------- */ -dump.cpp: // single file, already opened, so just return -dump.cpp: // if one file per timestep, replace '*' with current timestep -dump.cpp: // each proc with filewriter = 1 opens a file -dump.cpp: // delete string with timestep replaced -dump.cpp:/* ---------------------------------------------------------------------- -dump.cpp:------------------------------------------------------------------------- */ -dump.cpp: // if single proc, swap ptrs to buf,ids <-> bufsort,idsort -dump.cpp: // if multiple procs, exchange datums between procs via irregular -dump.cpp: // grow proclist if necessary -dump.cpp: // proclist[i] = which proc Ith datum will be sent to -dump.cpp: // use 0.5 instead of EPSILON since atom IDs are integers -dump.cpp: // if use EPSILON, it can be lost if 64-bit maxall-minall is too big -dump.cpp: // then iproc == nprocs for largest ID, causing irregular to crash -dump.cpp: iproc = static_cast ((ids[i]-minall)/range * nprocs); -dump.cpp: // proc assignment is inverted if sortorder = DESCEND -dump.cpp: iproc = static_cast ((value-minall)/range * nprocs); -dump.cpp: // create comm plan, grow recv bufs if necessary, -dump.cpp: // exchange datums, destroy plan -dump.cpp: // if sorting on atom IDs, exchange IDs also -dump.cpp: // if reorder flag is set & total/per-proc counts match pre-computed values, -dump.cpp: // then create index directly from idsort -dump.cpp: // else quicksort of index using IDs or buf column as comparator -dump.cpp: // reset buf size and maxbuf to largest of any post-sort nme values -dump.cpp: // this insures proc 0 can receive everyone's info -dump.cpp: // copy data from bufsort to buf using index -dump.cpp:/* ---------------------------------------------------------------------- -dump.cpp:------------------------------------------------------------------------- */ -dump.cpp:/* ---------------------------------------------------------------------- -dump.cpp:------------------------------------------------------------------------- */ -dump.cpp:/* ---------------------------------------------------------------------- -dump.cpp:------------------------------------------------------------------------- */ -dump.cpp:/* ---------------------------------------------------------------------- -dump.cpp:------------------------------------------------------------------------- */ -dump.cpp: multiproc = nprocs/nper; -dump.cpp: fileproc = me/nper * nper; -dump.cpp: int icluster = fileproc/nper; -dump.cpp: // pass format none to child classes which may use it -dump.cpp: // not an error if they don't -dump.cpp: } else { // pass other format options to child classes -dump.cpp: int icluster = static_cast ((bigint) me * nfile/nprocs); -dump.cpp: fileproc = static_cast ((bigint) icluster * nprocs/nfile); -dump.cpp: int fcluster = static_cast ((bigint) fileproc * nfile/nprocs); -dump.cpp: static_cast ((bigint) (icluster+1) * nprocs/nfile); -dump.cpp: fcluster = static_cast ((bigint) fileprocnext * nfile/nprocs); -dump.cpp:/* ---------------------------------------------------------------------- -dump.cpp:------------------------------------------------------------------------- */ -dump.cpp:/* ---------------------------------------------------------------------- -dump.cpp:------------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- -dump_custom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -dump_custom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -dump_custom.cpp:------------------------------------------------------------------------- */ -dump_custom.cpp:// customize by adding keyword -dump_custom.cpp:// also customize compute_atom_property.cpp -dump_custom.cpp:enum{INT,DOUBLE,STRING,BIGINT}; // same as in DumpCFG -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp: // expand args if any have wildcard character "*" -dump_custom.cpp: // ok to include trailing optional args, -dump_custom.cpp: // so long as they do not have "*" between square brackets -dump_custom.cpp: // nfield may be shrunk below if extra optional args exist -dump_custom.cpp: // allocate field vectors -dump_custom.cpp: // computes, fixes, variables which the dump accesses -dump_custom.cpp: // process attributes -dump_custom.cpp: // ioptional = start of additional optional args in expanded args -dump_custom.cpp: // noptional = # of optional args -dump_custom.cpp: // reset nfield to subtract off optional args -dump_custom.cpp: // reset ioptional to what it would be in original arg list -dump_custom.cpp: // only dump image and dump movie styles process optional args, -dump_custom.cpp: // they do not use expanded earg list -dump_custom.cpp: // atom selection arrays -dump_custom.cpp: // default element name for all types = C -dump_custom.cpp: // setup format strings -dump_custom.cpp: // setup column string -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp: // if wildcard expansion occurred, free earg memory from expand_args() -dump_custom.cpp: // could not do in constructor, b/c some derived classes process earg -dump_custom.cpp: // check nfix in case all fixes have already been deleted -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp: // format = copy of default or user-specified line format -dump_custom.cpp: // tokenize the format string and add space at end of each format element -dump_custom.cpp: // if user-specified int/float format exists, use it instead -dump_custom.cpp: // if user-specified column format exists, use it instead -dump_custom.cpp: // lo priority = line, medium priority = int/float, hi priority = column -dump_custom.cpp: // setup boundary string -dump_custom.cpp: // setup function ptrs -dump_custom.cpp: // find current ptr for each compute,fix,variable -dump_custom.cpp: // check that fix frequency is acceptable -dump_custom.cpp: // set index and check validity of region -dump_custom.cpp: // open single file, one time only -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp: // grow choose and variable vbuf arrays if needed -dump_custom.cpp: // invoke Computes for per-atom quantities -dump_custom.cpp: // only if within a run or minimize -dump_custom.cpp: // else require that computes are current -dump_custom.cpp: // this prevents a compute from being invoked by the WriteDump class -dump_custom.cpp: // evaluate atom-style Variables for per-atom quantities -dump_custom.cpp: // choose all local atoms for output -dump_custom.cpp: // un-choose if not in group -dump_custom.cpp: // un-choose if not in region -dump_custom.cpp: // un-choose if any threshold criterion isn't met -dump_custom.cpp: // customize by adding to if statement -dump_custom.cpp: double invxprd = 1.0/domain->xprd; -dump_custom.cpp: double invyprd = 1.0/domain->yprd; -dump_custom.cpp: double invzprd = 1.0/domain->zprd; -dump_custom.cpp: double invxprd = 1.0/domain->xprd; -dump_custom.cpp: double invyprd = 1.0/domain->yprd; -dump_custom.cpp: double invzprd = 1.0/domain->zprd; -dump_custom.cpp: } else if (thresh_array[ithresh] == MUMAG) {//Magnetic properties -dump_custom.cpp: // unselect atoms that don't meet threshold criterion -dump_custom.cpp: // compare to single value or values stored in threshfix -dump_custom.cpp: // copy ptr attribute into thresh_fix if this is first comparison -dump_custom.cpp: // update values stored in threshfix -dump_custom.cpp: // compress choose flags into clist -dump_custom.cpp: // nchoose = # of selected atoms -dump_custom.cpp: // clist[i] = local index of each selected atom -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- -dump_custom.cpp:------------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp: // customize by adding to if statement -dump_custom.cpp: } else if (strcmp(arg[iarg],"mumag") == 0) {//Magnetic properties -dump_custom.cpp: // compute value = c_ID -dump_custom.cpp: // if no trailing [], then arg is set to 0, else arg is int between [] -dump_custom.cpp: // fix value = f_ID -dump_custom.cpp: // if no trailing [], then arg is set to 0, else arg is between [] -dump_custom.cpp: // variable value = v_name -dump_custom.cpp: // custom per-atom floating point value = d_ID -dump_custom.cpp: // custom per-atom integer value = i_ID -dump_custom.cpp:/* ---------------------------------------------------------------------- -dump_custom.cpp:------------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- -dump_custom.cpp:------------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- -dump_custom.cpp:------------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- -dump_custom.cpp:------------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp: // just clear format_column_user allocated by this dump child class -dump_custom.cpp: // replace "d" in format_int_user with bigint format specifier -dump_custom.cpp: // use of &str[1] removes leading '%' from BIGINT_FORMAT string -dump_custom.cpp: // grow threshold arrays -dump_custom.cpp: // set attribute type of threshold -dump_custom.cpp: // customize by adding to if statement -dump_custom.cpp: //Magnetic quantities -dump_custom.cpp: // compute value = c_ID -dump_custom.cpp: // if no trailing [], then arg is set to 0, else arg is between [] -dump_custom.cpp: // must grow field2index and argindex arrays, since access is beyond nfield -dump_custom.cpp: // fix value = f_ID -dump_custom.cpp: // if no trailing [], then arg is set to 0, else arg is between [] -dump_custom.cpp: // must grow field2index and argindex arrays, since access is beyond nfield -dump_custom.cpp: // variable value = v_ID -dump_custom.cpp: // must grow field2index and argindex arrays, since access is beyond nfield -dump_custom.cpp: // custom per atom floating point value = d_ID -dump_custom.cpp: // must grow field2index and argindex arrays, since access is beyond nfield -dump_custom.cpp: // custom per atom integer value = i_ID -dump_custom.cpp: // must grow field2index and argindex arrays, since access is beyond nfield -dump_custom.cpp: // set operation type of threshold -dump_custom.cpp: // set threshold value as number or special LAST keyword -dump_custom.cpp: // create FixStore to hold LAST values, should work with restart -dump_custom.cpp: // id = dump-ID + nthreshlast + DUMP_STORE, fix group = dump group -dump_custom.cpp:/* ---------------------------------------------------------------------- -dump_custom.cpp:------------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- -dump_custom.cpp:------------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp: if (flag_custom[index] == 0) { // integer -dump_custom.cpp: } else if (flag_custom[index] == 1) { // double -dump_custom.cpp:/* ---------------------------------------------------------------------- -dump_custom.cpp:------------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp: double invxprd = 1.0/domain->xprd; -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp: double invyprd = 1.0/domain->yprd; -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp: double invzprd = 1.0/domain->zprd; -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp: double invxprd = 1.0/domain->xprd; -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp: double invyprd = 1.0/domain->yprd; -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp: double invzprd = 1.0/domain->zprd; -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp://Magnetic quantities -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_custom.cpp:/* ---------------------------------------------------------------------- */ -dump_dcd.cpp:/* ---------------------------------------------------------------------- -dump_dcd.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -dump_dcd.cpp: http://lammps.sandia.gov, Sandia National Laboratories -dump_dcd.cpp:------------------------------------------------------------------------- */ -dump_dcd.cpp:/* ---------------------------------------------------------------------- -dump_dcd.cpp:------------------------------------------------------------------------- */ -dump_dcd.cpp:// necessary to set SEEK params b/c MPI-2 messes with these settings -dump_dcd.cpp:/* ---------------------------------------------------------------------- */ -dump_dcd.cpp:/* ---------------------------------------------------------------------- */ -dump_dcd.cpp: // allocate global array for atom coords -dump_dcd.cpp: if (n > static_cast(MAXSMALLINT/3/sizeof(float))) -dump_dcd.cpp:/* ---------------------------------------------------------------------- */ -dump_dcd.cpp:/* ---------------------------------------------------------------------- */ -dump_dcd.cpp: // check that dump frequency has not changed and is not a variable -dump_dcd.cpp:/* ---------------------------------------------------------------------- */ -dump_dcd.cpp:/* ---------------------------------------------------------------------- */ -dump_dcd.cpp: // first time, write header for entire file -dump_dcd.cpp: // dim[] = size and angle cosines of orthogonal or triclinic box -dump_dcd.cpp: // dim[0] = a = length of unit cell vector along x-axis -dump_dcd.cpp: // dim[1] = gamma = cosine of angle between a and b -dump_dcd.cpp: // dim[2] = b = length of unit cell vector in xy-plane -dump_dcd.cpp: // dim[3] = beta = cosine of angle between a and c -dump_dcd.cpp: // dim[4] = alpha = cosine of angle between b and c -dump_dcd.cpp: // dim[5] = c = length of final unit cell vector -dump_dcd.cpp: // 48 = 6 doubles -dump_dcd.cpp: dim[4] = (h[5]*h[4] + h[1]*h[3]) / blen/clen; // alpha -dump_dcd.cpp: dim[3] = (h[0]*h[4]) / alen/clen; // beta -dump_dcd.cpp: dim[1] = (h[0]*h[5]) / alen/blen; // gamma -dump_dcd.cpp:/* ---------------------------------------------------------------------- */ -dump_dcd.cpp:/* ---------------------------------------------------------------------- */ -dump_dcd.cpp: // copy buf atom coords into 3 global arrays -dump_dcd.cpp: // if last chunk of atoms in this snapshot, write global arrays to file -dump_dcd.cpp:/* ---------------------------------------------------------------------- */ -dump_dcd.cpp:/* ---------------------------------------------------------------------- -dump_dcd.cpp:------------------------------------------------------------------------- */ -dump_dcd.cpp:/* ---------------------------------------------------------------------- */ -dump_dcd.cpp: // write coords -dump_dcd.cpp: // update NFILE and NSTEP fields in DCD header -dump_dcd.cpp:/* ---------------------------------------------------------------------- */ -dump_dcd.cpp: fwrite_int32(fp,0); // NFILE = # of snapshots in file -dump_dcd.cpp: fwrite_int32(fp,ntimestep); // START = timestep of first snapshot -dump_dcd.cpp: fwrite_int32(fp,nevery_save); // SKIP = interval between snapshots -dump_dcd.cpp: fwrite_int32(fp,ntimestep); // NSTEP = timestep of last snapshot -dump_dcd.cpp: fwrite_int32(fp,0); // NAMD writes NSTEP or ISTART -dump_dcd.cpp: fwrite_int32(fp,24); // pretend to be Charmm version 24 -dump_dcd.cpp: fwrite_int32(fp,natoms); // number of atoms in each snapshot -dump_image.cpp:/* ---------------------------------------------------------------------- -dump_image.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -dump_image.cpp: http://lammps.sandia.gov, Sandia National Laboratories -dump_image.cpp:------------------------------------------------------------------------- */ -dump_image.cpp:enum{SPHERE,LINE,TRI}; // also in some Body and Fix child classes -dump_image.cpp:/* ---------------------------------------------------------------------- */ -dump_image.cpp: // force binary flag on to avoid corrupted output on Windows -dump_image.cpp: // set filetype based on filename suffix -dump_image.cpp: // atom color,diameter settings -dump_image.cpp: // create Image class with single colormap for atoms -dump_image.cpp: // change defaults for 2d -dump_image.cpp: // set defaults for optional args -dump_image.cpp: // parse optional args -dump_image.cpp: theta *= MY_PI/180.0; -dump_image.cpp: phi *= MY_PI/180.0; -dump_image.cpp: // error checks and setup for lineflag, triflag, bodyflag, fixflag -dump_image.cpp: // allocate image buffer now that image size is known -dump_image.cpp: // communication neede for bonds colored by atoms -dump_image.cpp: // additional defaults for dump_modify options -dump_image.cpp: // viewflag = DYNAMIC if any view parameter is dynamic -dump_image.cpp: // local data -dump_image.cpp:/* ---------------------------------------------------------------------- */ -dump_image.cpp:/* ---------------------------------------------------------------------- */ -dump_image.cpp: // check variables -dump_image.cpp: // set up type -> element mapping -dump_image.cpp:/* ---------------------------------------------------------------------- */ -dump_image.cpp: // open new file -dump_image.cpp: // reset box center and view parameters if dynamic -dump_image.cpp: // nme = # of atoms this proc will contribute to dump -dump_image.cpp: // pack buf with color & diameter -dump_image.cpp: // set minmax color range if using dynamic atom color map -dump_image.cpp: if (flag) error->all(FLERR,"Invalid color map min/max values"); -dump_image.cpp: // create image on each proc, then merge them -dump_image.cpp: // write image file -dump_image.cpp:/* ---------------------------------------------------------------------- -dump_image.cpp:------------------------------------------------------------------------- */ -dump_image.cpp:/* ---------------------------------------------------------------------- -dump_image.cpp:------------------------------------------------------------------------- */ -dump_image.cpp:/* ---------------------------------------------------------------------- -dump_image.cpp:------------------------------------------------------------------------- */ -dump_image.cpp: // view direction theta and phi -dump_image.cpp: theta *= MY_PI/180.0; -dump_image.cpp: phi *= MY_PI/180.0; -dump_image.cpp: // up vector -dump_image.cpp: // zoom and perspective -dump_image.cpp: // remainder of view setup is internal to Image class -dump_image.cpp:/* ---------------------------------------------------------------------- -dump_image.cpp:------------------------------------------------------------------------- */ -dump_image.cpp: // render my atoms -dump_image.cpp: // do not draw if line,tri,body keywords enabled and atom is one of those -dump_image.cpp: // render atoms that are lines -dump_image.cpp: // render atoms that are triangles -dump_image.cpp: // tstyle = 1 for tri only, 2 for edges only, 3 for both -dump_image.cpp: // render atoms that are bodies -dump_image.cpp: // render bonds for my atoms -dump_image.cpp: // both atoms in bond must be selected for bond to be rendered -dump_image.cpp: // if newton_bond is off, only render bond once -dump_image.cpp: // render bond in 2 pieces if crosses periodic boundary -dump_image.cpp: // if bond is deleted (type = 0), do not render -dump_image.cpp: // if bond is turned off (type < 0), still render -dump_image.cpp: // communicate choose flag for ghost atoms to know if they are selected -dump_image.cpp: // if bcolor/bdiam = ATOM, setup bufcopy to comm atom color/diam attributes -dump_image.cpp: // draw cylinder in 2 pieces if bcolor = ATOM -dump_image.cpp: // or bond crosses periodic boundary -dump_image.cpp: // render objects provided by a fix -dump_image.cpp: // no fix draws spheres yet -dump_image.cpp: // render outline of my sub-box, orthogonal or triclinic -dump_image.cpp: // render outline of simulation box, orthogonal or triclinic -dump_image.cpp: // render XYZ axes in red/green/blue -dump_image.cpp: // offset by 10% of box size and scale by axeslen -dump_image.cpp:/* ---------------------------------------------------------------------- */ -dump_image.cpp:/* ---------------------------------------------------------------------- */ -dump_image.cpp:/* ---------------------------------------------------------------------- */ -dump_image.cpp: // ptrs = list of ncount colornames separated by '/' -dump_image.cpp: while ((nextptr = strchr(ptr,'/'))) { -dump_image.cpp: ptrs[ncount++] = strtok(arg[2],"/"); -dump_image.cpp: while ((ptrs[ncount++] = strtok(NULL,"/"))); -dump_image.cpp: // assign each of ncount colors in round-robin fashion to types -dump_image.cpp: // ptrs = list of ncount colornames separated by '/' -dump_image.cpp: while ((nextptr = strchr(ptr,'/'))) { -dump_image.cpp: ptrs[ncount++] = strtok(arg[2],"/"); -dump_image.cpp: while ((ptrs[ncount++] = strtok(NULL,"/"))); -dump_image.cpp: // assign each of ncount colors in round-robin fashion to types -dump_local.cpp:/* ---------------------------------------------------------------------- -dump_local.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -dump_local.cpp: http://lammps.sandia.gov, Sandia National Laboratories -dump_local.cpp:------------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- */ -dump_local.cpp: // expand args if any have wildcard character "*" -dump_local.cpp: // allocate field vectors -dump_local.cpp: // computes & fixes which the dump accesses -dump_local.cpp: // process attributes -dump_local.cpp: // setup format strings -dump_local.cpp: // setup column string -dump_local.cpp: // setup default label string -dump_local.cpp: // if wildcard expansion occurred, free earg memory from exapnd_args() -dump_local.cpp:/* ---------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- */ -dump_local.cpp: // format = copy of default or user-specified line format -dump_local.cpp: // tokenize the format string and add space at end of each format element -dump_local.cpp: // if user-specified int/float format exists, use it instead -dump_local.cpp: // if user-specified column format exists, use it instead -dump_local.cpp: // lo priority = line, medium priority = int/float, hi priority = column -dump_local.cpp: // setup boundary string -dump_local.cpp: // setup function ptrs -dump_local.cpp: // find current ptr for each compute,fix,variable -dump_local.cpp: // check that fix frequency is acceptable -dump_local.cpp: // open single file, one time only -dump_local.cpp:/* ---------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- */ -dump_local.cpp: // invoke Computes for local quantities -dump_local.cpp: // only if within a run or minimize -dump_local.cpp: // else require that computes are current -dump_local.cpp: // this prevents a compute from being invoked by the WriteDump class -dump_local.cpp: // nmine = # of local values I contribute -dump_local.cpp: // must be consistent for all input fields -dump_local.cpp:/* ---------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- -dump_local.cpp:------------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- */ -dump_local.cpp: // customize by adding to if statement -dump_local.cpp: // compute value = c_ID -dump_local.cpp: // if no trailing [], then arg is set to 0, else arg is int between [] -dump_local.cpp: // fix value = f_ID -dump_local.cpp: // if no trailing [], then arg is set to 0, else arg is between [] -dump_local.cpp:/* ---------------------------------------------------------------------- -dump_local.cpp:------------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- -dump_local.cpp:------------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- -dump_local.cpp:------------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- -dump_local.cpp:------------------------------------------------------------------------- */ -dump_local.cpp:/* ---------------------------------------------------------------------- */ -dump_movie.cpp:/* ---------------------------------------------------------------------- -dump_movie.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -dump_movie.cpp: http://lammps.sandia.gov, Sandia National Laboratories -dump_movie.cpp:------------------------------------------------------------------------- */ -dump_movie.cpp:/* ---------------------------------------------------------------------- -dump_movie.cpp:------------------------------------------------------------------------- */ -dump_movie.cpp:/* ---------------------------------------------------------------------- */ -dump_movie.cpp:/* ---------------------------------------------------------------------- */ -dump_movie.cpp:/* ---------------------------------------------------------------------- */ -dump_movie.cpp: // initialize image style circumventing multifile check -dump_movie.cpp:/* ---------------------------------------------------------------------- */ -dump_xyz.cpp:/* ---------------------------------------------------------------------- -dump_xyz.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -dump_xyz.cpp: http://lammps.sandia.gov, Sandia National Laboratories -dump_xyz.cpp:------------------------------------------------------------------------- */ -dump_xyz.cpp:/* ---------------------------------------------------------------------- */ -dump_xyz.cpp:/* ---------------------------------------------------------------------- */ -dump_xyz.cpp:/* ---------------------------------------------------------------------- */ -dump_xyz.cpp: // format = copy of default or user-specified line format -dump_xyz.cpp: // initialize typenames array to be backward compatible by default -dump_xyz.cpp: // a 32-bit int can be maximally 10 digits plus sign -dump_xyz.cpp: // setup function ptr -dump_xyz.cpp: // open single file, one time only -dump_xyz.cpp:/* ---------------------------------------------------------------------- */ -dump_xyz.cpp:/* ---------------------------------------------------------------------- */ -dump_xyz.cpp:/* ---------------------------------------------------------------------- */ -dump_xyz.cpp:/* ---------------------------------------------------------------------- -dump_xyz.cpp:------------------------------------------------------------------------- */ -dump_xyz.cpp:/* ---------------------------------------------------------------------- */ -dump_xyz.cpp:/* ---------------------------------------------------------------------- */ -dump_xyz.cpp:/* ---------------------------------------------------------------------- */ -error.cpp:/* ---------------------------------------------------------------------- -error.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -error.cpp: http://lammps.sandia.gov, Sandia National Laboratories -error.cpp:------------------------------------------------------------------------- */ -error.cpp:/* ---------------------------------------------------------------------- */ -error.cpp:/* ---------------------------------------------------------------------- -error.cpp:------------------------------------------------------------------------- */ -error.cpp:/* ---------------------------------------------------------------------- -error.cpp:------------------------------------------------------------------------- */ -error.cpp:/* ---------------------------------------------------------------------- -error.cpp:------------------------------------------------------------------------- */ -error.cpp:/* ---------------------------------------------------------------------- -error.cpp:------------------------------------------------------------------------- */ -error.cpp:/* ---------------------------------------------------------------------- -error.cpp:------------------------------------------------------------------------- */ -error.cpp:/* ---------------------------------------------------------------------- -error.cpp:------------------------------------------------------------------------- */ -error.cpp:/* ---------------------------------------------------------------------- -error.cpp:------------------------------------------------------------------------- */ -error.cpp:/* ---------------------------------------------------------------------- -error.cpp:------------------------------------------------------------------------- */ -error.cpp:/* ---------------------------------------------------------------------- -error.cpp:------------------------------------------------------------------------- */ -error.cpp:/* ---------------------------------------------------------------------- -error.cpp:------------------------------------------------------------------------- */ -error.cpp:/* ---------------------------------------------------------------------- -error.cpp:------------------------------------------------------------------------- */ -finish.cpp:/* ---------------------------------------------------------------------- -finish.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -finish.cpp: http://lammps.sandia.gov, Sandia National Laboratories -finish.cpp:------------------------------------------------------------------------- */ -finish.cpp:// local function prototypes, code at end of file -finish.cpp:/* ---------------------------------------------------------------------- */ -finish.cpp:/* ---------------------------------------------------------------------- */ -finish.cpp: // recompute natoms in case atoms have been lost -finish.cpp: // choose flavors of statistical output -finish.cpp: // flag determines caller -finish.cpp: // flag = 0 = just loop summary -finish.cpp: // flag = 1 = dynamics or minimization -finish.cpp: // flag = 2 = PRD -finish.cpp: // flag = 3 = TAD -finish.cpp: // flag = 4 = HYPER -finish.cpp: // turn off neighflag for Kspace partition of verlet/split integrator -finish.cpp: strncmp(update->integrate_style,"verlet/split",12) == 0 && -finish.cpp: // loop stats -finish.cpp: // overall loop time -finish.cpp: time_loop = tmp/nprocs; -finish.cpp: cpu_loop = tmp/nprocs; -finish.cpp: if (time_loop > 0.0) cpu_loop = cpu_loop/time_loop*100.0; -finish.cpp: // Gromacs/NAMD-style performance metric for suitable unit settings -finish.cpp: double t_step = ((double) time_loop) / ((double) update->nsteps); -finish.cpp: double step_t = 1.0/t_step; -finish.cpp: double tau_day = 24.0*3600.0 / t_step * update->dt / one_fs; -finish.cpp: const char perf[] = "Performance: %.3f tau/day, %.3f timesteps/s\n"; -finish.cpp: double hrs_ns = t_step / update->dt * 1000000.0 * one_fs / 3600.0; -finish.cpp: double ns_day = 24.0*3600.0 / t_step * update->dt / one_fs/1000000.0; -finish.cpp: "Performance: %.3f ns/day, %.3f hours/ns, %.3f timesteps/s\n"; -finish.cpp: // CPU use on MPI tasks and OpenMP threads -finish.cpp: // avoid division by zero for very short runs -finish.cpp: // get "Other" wall time for later use -finish.cpp: // minimization stats -finish.cpp: // PRD stats -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time = tmp/nprocs; -finish.cpp: if (me == 0) { // XXXX: replica comm, replica output -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: // TAD stats -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: // HYPER stats -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time = tmp/nprocs; -finish.cpp: time,time/time_loop*100.0); -finish.cpp: time,time/time_loop*100.0); -finish.cpp: // further timing breakdowns -finish.cpp: time = tmp/nprocs; -finish.cpp: if (screen) fprintf(screen,fmt,time,time/time_loop*100.0); -finish.cpp: if (logfile) fprintf(logfile,fmt,time,time/time_loop*100.0); -finish.cpp: "\nThread timing breakdown (MPI rank %d):\nTotal threaded time %.4g / %.1f%%\n"; -finish.cpp: // print thread breakdown only with full timer detail -finish.cpp: thr_total /= (double) nthreads; -finish.cpp: fprintf(screen,thr_hdr_fmt,me,thr_total,thr_total/time_loop*100.0); -finish.cpp: fprintf(logfile,thr_hdr_fmt,me,thr_total,thr_total/time_loop*100.0); -finish.cpp: "since GPU/CPU overlap is enabled\n" -finish.cpp: // FFT timing statistics -finish.cpp: // time3d,time1d = total time during run for 3d and 1d FFTs -finish.cpp: // loop on timing() until nsample FFTs require at least 1.0 CPU sec -finish.cpp: // time_kspace may be 0.0 if another partition is doing Kspace -finish.cpp: time3d = nsteps * time3d / nsample; -finish.cpp: time3d = tmp/nprocs; -finish.cpp: time1d = nsteps * time1d / nsample; -finish.cpp: time1d = tmp/nprocs; -finish.cpp: time_kspace = tmp/nprocs; -finish.cpp: if (time_kspace) fraction = time3d/time_kspace*100.0; -finish.cpp: flop3 = nfft*nflops/1.0e9/(time3d/nsteps); -finish.cpp: flop1 = nfft*nflops/1.0e9/(time1d/nsteps); -finish.cpp: // find a non-skip neighbor list containing half pairwise interactions -finish.cpp: // count neighbors in that list for stats purposes -finish.cpp: // allow it to be Kokkos neigh list as well -finish.cpp: // find a non-skip neighbor list containing full pairwise interactions -finish.cpp: // count neighbors in that list for stats purposes -finish.cpp: // allow it to be Kokkos neigh list as well -finish.cpp: fprintf(screen,"Ave neighs/atom = %g\n",nall/atom->natoms); -finish.cpp: fprintf(screen,"Ave special neighs/atom = %g\n", -finish.cpp: nspec_all/atom->natoms); -finish.cpp: fprintf(logfile,"Ave neighs/atom = %g\n",nall/atom->natoms); -finish.cpp: fprintf(logfile,"Ave special neighs/atom = %g\n", -finish.cpp: nspec_all/atom->natoms); -finish.cpp:/* ---------------------------------------------------------------------- */ -finish.cpp: ave = tmp/ntotal; -finish.cpp: else m = static_cast ((data[i]-min)/del * nhisto); -finish.cpp:/* ---------------------------------------------------------------------- */ -finish.cpp: if (time/time_loop < 0.001) // insufficient timer resolution! -finish.cpp: time_cpu = time_cpu / time; -finish.cpp: time = tmp/nprocs; -finish.cpp: time_sq = tmp/nprocs; -finish.cpp: time_cpu = tmp/nprocs*100.0; -finish.cpp: // % variance from the average as measure of load imbalance -finish.cpp: if ((time > 0.001) && ((time_sq/time - time) > 1.0e-10)) -finish.cpp: time_sq = sqrt(time_sq/time - time)*100.0; -finish.cpp: tmp = time/time_loop*100.0; -finish.cpp: time_loop = 100.0/time_loop; -finish.cpp:/* ---------------------------------------------------------------------- */ -finish.cpp: time_avg /= nthreads; -finish.cpp: time_std /= nthreads; -finish.cpp: time_total /= nthreads; -finish.cpp: if ((time_avg > 0.001) && ((time_std/time_avg -time_avg) > 1.0e-10)) -finish.cpp: time_std = sqrt(time_std/time_avg - time_avg)*100.0; -finish.cpp: time_avg/time_total*100.0); -finish.cpp: time_avg/time_total*100.0); -fix_adapt.cpp:/* ---------------------------------------------------------------------- -fix_adapt.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_adapt.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_adapt.cpp:------------------------------------------------------------------------- */ -fix_adapt.cpp:/* ---------------------------------------------------------------------- */ -fix_adapt.cpp: // count # of adaptations -fix_adapt.cpp: // parse keywords -fix_adapt.cpp: // optional keywords -fix_adapt.cpp: // allocate pair style arrays -fix_adapt.cpp: // allocate bond style arrays: -fix_adapt.cpp:/* ---------------------------------------------------------------------- */ -fix_adapt.cpp: // check nfix in case all fixes have already been deleted -fix_adapt.cpp:/* ---------------------------------------------------------------------- */ -fix_adapt.cpp:/* ---------------------------------------------------------------------- -fix_adapt.cpp:------------------------------------------------------------------------- */ -fix_adapt.cpp: // new id = fix-ID + FIX_STORE_ATTRIBUTE -fix_adapt.cpp: // new fix group = group for this fix -fix_adapt.cpp:/* ---------------------------------------------------------------------- */ -fix_adapt.cpp: // allow a dynamic group only if ATOM attribute not used -fix_adapt.cpp: // setup and error checks -fix_adapt.cpp: // if ad->pstyle has trailing sub-style annotation ":N", -fix_adapt.cpp: // strip it for pstyle arg to pair_match() and set nsub = N -fix_adapt.cpp: // this should work for appended suffixes as well -fix_adapt.cpp: strcat(psuffix,"/"); -fix_adapt.cpp: // for pair styles only parameters that are 2-d arrays in atom types or -fix_adapt.cpp: // scalars are supported -fix_adapt.cpp: // if pair hybrid, test that ilo,ihi,jlo,jhi are valid for sub-style -fix_adapt.cpp: strcmp(force->pair_style,"hybrid/overlay") == 0) { -fix_adapt.cpp: strcat(bsuffix,"/"); -fix_adapt.cpp: // for bond styles, use a vector -fix_adapt.cpp: // make copy of original pair/bond array values -fix_adapt.cpp: // fixes that store initial per-atom values -fix_adapt.cpp:/* ---------------------------------------------------------------------- */ -fix_adapt.cpp:/* ---------------------------------------------------------------------- */ -fix_adapt.cpp:/* ---------------------------------------------------------------------- */ -fix_adapt.cpp:/* ---------------------------------------------------------------------- */ -fix_adapt.cpp:/* ---------------------------------------------------------------------- */ -fix_adapt.cpp:/* ---------------------------------------------------------------------- -fix_adapt.cpp:------------------------------------------------------------------------- */ -fix_adapt.cpp: // variable evaluation may invoke computes so wrap with clear/add -fix_adapt.cpp: // set global scalar or type pair array values -fix_adapt.cpp: // set bond type array values: -fix_adapt.cpp: // set kspace scale factor -fix_adapt.cpp: // set per atom values, also make changes for ghost atoms -fix_adapt.cpp: // reset radius from diameter -fix_adapt.cpp: // also scale rmass to new value -fix_adapt.cpp: density = rmass[i] / (4.0*MY_PI/3.0 * -fix_adapt.cpp: rmass[i] = 4.0*MY_PI/3.0 * -fix_adapt.cpp: // re-initialize pair styles if any PAIR settings were changed -fix_adapt.cpp: // ditto for bond styles if any BOND setitings were changes -fix_adapt.cpp: // this resets other coeffs that may depend on changed values, -fix_adapt.cpp: // and also offset and tail corrections -fix_adapt.cpp: // reset KSpace charges if charges have changed -fix_adapt.cpp:/* ---------------------------------------------------------------------- -fix_adapt.cpp:------------------------------------------------------------------------- */ -fix_adapt.cpp: density = rmass[i] / (4.0*MY_PI/3.0 * -fix_adapt.cpp: rmass[i] = 4.0*MY_PI/3.0 * radius[i]*radius[i]*radius[i] * density; -fix_adapt.cpp:/* ---------------------------------------------------------------------- -fix_adapt.cpp:------------------------------------------------------------------------- */ -fix_addforce.cpp:/* ---------------------------------------------------------------------- -fix_addforce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_addforce.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_addforce.cpp:------------------------------------------------------------------------- */ -fix_addforce.cpp:/* ---------------------------------------------------------------------- */ -fix_addforce.cpp: // optional args -fix_addforce.cpp:/* ---------------------------------------------------------------------- */ -fix_addforce.cpp:/* ---------------------------------------------------------------------- */ -fix_addforce.cpp:/* ---------------------------------------------------------------------- */ -fix_addforce.cpp: // check variables -fix_addforce.cpp: // set index and check validity of region -fix_addforce.cpp:/* ---------------------------------------------------------------------- */ -fix_addforce.cpp:/* ---------------------------------------------------------------------- */ -fix_addforce.cpp:/* ---------------------------------------------------------------------- */ -fix_addforce.cpp: // update region if necessary -fix_addforce.cpp: // reallocate sforce array if necessary -fix_addforce.cpp: // foriginal[0] = "potential energy" for added force -fix_addforce.cpp: // foriginal[123] = force on atoms before extra force added -fix_addforce.cpp: // constant force -fix_addforce.cpp: // potential energy = - x dot f in unwrapped coords -fix_addforce.cpp: // variable force, wrap with clear/add -fix_addforce.cpp: // potential energy = evar if defined, else 0.0 -fix_addforce.cpp: // wrap with clear/add -fix_addforce.cpp:/* ---------------------------------------------------------------------- */ -fix_addforce.cpp:/* ---------------------------------------------------------------------- */ -fix_addforce.cpp:/* ---------------------------------------------------------------------- -fix_addforce.cpp:------------------------------------------------------------------------- */ -fix_addforce.cpp: // only sum across procs one time -fix_addforce.cpp:/* ---------------------------------------------------------------------- -fix_addforce.cpp:------------------------------------------------------------------------- */ -fix_addforce.cpp: // only sum across procs one time -fix_addforce.cpp:/* ---------------------------------------------------------------------- -fix_addforce.cpp:------------------------------------------------------------------------- */ -fix_ave_atom.cpp:/* ---------------------------------------------------------------------- -fix_ave_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_ave_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_ave_atom.cpp:------------------------------------------------------------------------- */ -fix_ave_atom.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_atom.cpp: if (narg < 7) error->all(FLERR,"Illegal fix ave/atom command"); -fix_ave_atom.cpp: // expand args if any have wildcard character "*" -fix_ave_atom.cpp: // this can reset nvalues -fix_ave_atom.cpp: // parse values -fix_ave_atom.cpp: error->all(FLERR,"Illegal fix ave/atom command"); -fix_ave_atom.cpp: } else error->all(FLERR,"Illegal fix ave/atom command"); -fix_ave_atom.cpp: // if wildcard expansion occurred, free earg memory from exapnd_args() -fix_ave_atom.cpp: // setup and error check -fix_ave_atom.cpp: // for fix inputs, check that fix frequency is acceptable -fix_ave_atom.cpp: error->all(FLERR,"Illegal fix ave/atom command"); -fix_ave_atom.cpp: error->all(FLERR,"Illegal fix ave/atom command"); -fix_ave_atom.cpp: error->all(FLERR,"Compute ID for fix ave/atom does not exist"); -fix_ave_atom.cpp: "Fix ave/atom compute does not calculate per-atom values"); -fix_ave_atom.cpp: error->all(FLERR,"Fix ave/atom compute does not " -fix_ave_atom.cpp: error->all(FLERR,"Fix ave/atom compute does not " -fix_ave_atom.cpp: error->all(FLERR,"Fix ave/atom compute array is accessed out-of-range"); -fix_ave_atom.cpp: error->all(FLERR,"Fix ID for fix ave/atom does not exist"); -fix_ave_atom.cpp: error->all(FLERR,"Fix ave/atom fix does not calculate per-atom values"); -fix_ave_atom.cpp: "Fix ave/atom fix does not calculate a per-atom vector"); -fix_ave_atom.cpp: "Fix ave/atom fix does not calculate a per-atom array"); -fix_ave_atom.cpp: error->all(FLERR,"Fix ave/atom fix array is accessed out-of-range"); -fix_ave_atom.cpp: "Fix for fix ave/atom not computed at compatible time"); -fix_ave_atom.cpp: error->all(FLERR,"Variable name for fix ave/atom does not exist"); -fix_ave_atom.cpp: error->all(FLERR,"Fix ave/atom variable is not atom-style variable"); -fix_ave_atom.cpp: // this fix produces either a per-atom vector or array -fix_ave_atom.cpp: // perform initial allocation of atom-based array -fix_ave_atom.cpp: // register with Atom class -fix_ave_atom.cpp: // zero the array since dump may access it on timestep 0 -fix_ave_atom.cpp: // zero the array since a variable may access it before first run -fix_ave_atom.cpp: // nvalid = next step on which end_of_step does something -fix_ave_atom.cpp: // add nvalid to all computes that store invocation times -fix_ave_atom.cpp: // since don't know a priori which are invoked by this fix -fix_ave_atom.cpp: // once in end_of_step() can set timestep for ones actually invoked -fix_ave_atom.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_atom.cpp: // unregister callback to this fix from Atom class -fix_ave_atom.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_atom.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_atom.cpp: // set indices and check validity of all computes,fixes,variables -fix_ave_atom.cpp: error->all(FLERR,"Compute ID for fix ave/atom does not exist"); -fix_ave_atom.cpp: error->all(FLERR,"Fix ID for fix ave/atom does not exist"); -fix_ave_atom.cpp: error->all(FLERR,"Variable name for fix ave/atom does not exist"); -fix_ave_atom.cpp: // need to reset nvalid if nvalid < ntimestep b/c minimize was performed -fix_ave_atom.cpp:/* ---------------------------------------------------------------------- -fix_ave_atom.cpp:------------------------------------------------------------------------- */ -fix_ave_atom.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_atom.cpp: // skip if not step which requires doing something -fix_ave_atom.cpp: // error check if timestep was reset in an invalid manner -fix_ave_atom.cpp: error->all(FLERR,"Invalid timestep reset for fix ave/atom"); -fix_ave_atom.cpp: // zero if first step -fix_ave_atom.cpp: // accumulate results of attributes,computes,fixes,variables to local copy -fix_ave_atom.cpp: // compute/fix/variable may invoke computes so wrap with clear/add -fix_ave_atom.cpp: // invoke compute if not previously invoked -fix_ave_atom.cpp: // access fix fields, guaranteed to be ready -fix_ave_atom.cpp: // evaluate atom-style variable -fix_ave_atom.cpp: // final argument = 1 sums result to array -fix_ave_atom.cpp: // done if irepeat < nrepeat -fix_ave_atom.cpp: // else reset irepeat and nvalid -fix_ave_atom.cpp: // average the final result for the Nfreq timestep -fix_ave_atom.cpp: array[i][m] /= repeat; -fix_ave_atom.cpp:/* ---------------------------------------------------------------------- -fix_ave_atom.cpp:------------------------------------------------------------------------- */ -fix_ave_atom.cpp:/* ---------------------------------------------------------------------- -fix_ave_atom.cpp:------------------------------------------------------------------------- */ -fix_ave_atom.cpp: memory->grow(array,nmax,nvalues,"fix_ave/atom:array"); -fix_ave_atom.cpp:/* ---------------------------------------------------------------------- -fix_ave_atom.cpp:------------------------------------------------------------------------- */ -fix_ave_atom.cpp:/* ---------------------------------------------------------------------- -fix_ave_atom.cpp:------------------------------------------------------------------------- */ -fix_ave_atom.cpp:/* ---------------------------------------------------------------------- -fix_ave_atom.cpp:------------------------------------------------------------------------- */ -fix_ave_atom.cpp:/* ---------------------------------------------------------------------- -fix_ave_atom.cpp:------------------------------------------------------------------------- */ -fix_ave_atom.cpp: bigint nvalid = (update->ntimestep/peratom_freq)*peratom_freq + peratom_freq; -fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- -fix_ave_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_ave_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_ave_chunk.cpp:------------------------------------------------------------------------- */ -fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_chunk.cpp: if (narg < 7) error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: // expand args if any have wildcard character "*" -fix_ave_chunk.cpp: // parse values until one isn't recognized -fix_ave_chunk.cpp: } else if (strcmp(arg[iarg],"density/number") == 0) { -fix_ave_chunk.cpp: } else if (strcmp(arg[iarg],"density/mass") == 0) { -fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: if (nvalues == 0) error->all(FLERR,"No values in fix ave/chunk command"); -fix_ave_chunk.cpp: // optional args -fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: } else error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: else error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: if (iarg+3 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: if (nwindow <= 0) error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: sprintf(str,"Cannot open fix ave/chunk file %s",arg[iarg+1]); -fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: } else error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: // setup and error check -fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: error->all(FLERR,"Illegal fix ave/chunk command"); -fix_ave_chunk.cpp: error->all(FLERR,"Compute ID for fix ave/chunk does not exist"); -fix_ave_chunk.cpp: error->all(FLERR,"Fix ave/chunk compute does not " -fix_ave_chunk.cpp: error->all(FLERR,"Fix ave/chunk compute does not " -fix_ave_chunk.cpp: error->all(FLERR,"Fix ave/chunk compute does not " -fix_ave_chunk.cpp: "Fix ave/chunk compute vector is accessed out-of-range"); -fix_ave_chunk.cpp: error->all(FLERR,"Fix ID for fix ave/chunk does not exist"); -fix_ave_chunk.cpp: "Fix ave/chunk fix does not calculate per-atom values"); -fix_ave_chunk.cpp: "Fix ave/chunk fix does not calculate a per-atom vector"); -fix_ave_chunk.cpp: "Fix ave/chunk fix does not calculate a per-atom array"); -fix_ave_chunk.cpp: error->all(FLERR,"Fix ave/chunk fix vector is accessed out-of-range"); -fix_ave_chunk.cpp: error->all(FLERR,"Variable name for fix ave/chunk does not exist"); -fix_ave_chunk.cpp: error->all(FLERR,"Fix ave/chunk variable is not atom-style variable"); -fix_ave_chunk.cpp: // increment lock counter in compute chunk/atom -fix_ave_chunk.cpp: // only if nrepeat > 1 or ave = RUNNING/WINDOW, -fix_ave_chunk.cpp: // so that locking spans multiple timesteps -fix_ave_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for fix ave/chunk"); -fix_ave_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) -fix_ave_chunk.cpp: error->all(FLERR,"Fix ave/chunk does not use chunk/atom compute"); -fix_ave_chunk.cpp: // print file comment lines -fix_ave_chunk.cpp: // if wildcard expansion occurred, free earg memory from expand_args() -fix_ave_chunk.cpp: // wait to do this until after file comment lines are printed -fix_ave_chunk.cpp: // this fix produces a global array -fix_ave_chunk.cpp: // size_array_rows is variable and set by allocate() -fix_ave_chunk.cpp: // initializations -fix_ave_chunk.cpp: // nvalid = next step on which end_of_step does something -fix_ave_chunk.cpp: // add nvalid to all computes that store invocation times -fix_ave_chunk.cpp: // since don't know a priori which are invoked by this fix -fix_ave_chunk.cpp: // once in end_of_step() can set timestep for ones actually invoked -fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_chunk.cpp: // decrement lock counter in compute chunk/atom, it if still exists -fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_chunk.cpp: // set indices and check validity of all computes,fixes,variables -fix_ave_chunk.cpp: // check that fix frequency is acceptable -fix_ave_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for fix ave/chunk"); -fix_ave_chunk.cpp: error->all(FLERR,"Compute ID for fix ave/chunk does not exist"); -fix_ave_chunk.cpp: error->all(FLERR,"Fix ID for fix ave/chunk does not exist"); -fix_ave_chunk.cpp: "Fix for fix ave/chunk not computed at compatible time"); -fix_ave_chunk.cpp: error->all(FLERR,"Variable name for fix ave/chunk does not exist"); -fix_ave_chunk.cpp: // need to reset nvalid if nvalid < ntimestep b/c minimize was performed -fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- -fix_ave_chunk.cpp: do not call setup_chunks(), even though fix ave/spatial called setup_bins() -fix_ave_chunk.cpp: b/c could cause nchunk to change if Nfreq epoch crosses 2 runs -fix_ave_chunk.cpp:------------------------------------------------------------------------- */ -fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_chunk.cpp: // skip if not step which requires doing something -fix_ave_chunk.cpp: // error check if timestep was reset in an invalid manner -fix_ave_chunk.cpp: error->all(FLERR,"Invalid timestep reset for fix ave/chunk"); -fix_ave_chunk.cpp: // first sample within single Nfreq epoch -fix_ave_chunk.cpp: // zero out arrays that accumulate over many samples, but not across epochs -fix_ave_chunk.cpp: // invoke setup_chunks() to determine current nchunk -fix_ave_chunk.cpp: // re-allocate per-chunk arrays if needed -fix_ave_chunk.cpp: // invoke lock() in two cases: -fix_ave_chunk.cpp: // if nrepeat > 1: so nchunk cannot change until Nfreq epoch is over, -fix_ave_chunk.cpp: // will be unlocked on last repeat of this Nfreq -fix_ave_chunk.cpp: // if ave = RUNNING/WINDOW and not yet locked: -fix_ave_chunk.cpp: // set forever, will be unlocked in fix destructor -fix_ave_chunk.cpp: // wrap setup_chunks in clearstep/addstep b/c it may invoke computes -fix_ave_chunk.cpp: // both nevery and nfreq are future steps, -fix_ave_chunk.cpp: // since call below to cchunk->ichunk() -fix_ave_chunk.cpp: // does not re-invoke internal cchunk compute on this same step -fix_ave_chunk.cpp: // if any DENSITY requested, invoke setup_chunks() on each sampling step -fix_ave_chunk.cpp: // nchunk will not change but bin volumes might, e.g. for NPT simulation -fix_ave_chunk.cpp: // zero out arrays for one sample -fix_ave_chunk.cpp: // compute chunk/atom assigns atoms to chunk IDs -fix_ave_chunk.cpp: // extract ichunk index vector from compute -fix_ave_chunk.cpp: // ichunk = 1 to Nchunk for included atoms, 0 for excluded atoms -fix_ave_chunk.cpp: // wrap compute_ichunk in clearstep/addstep b/c it may invoke computes -fix_ave_chunk.cpp: // perform the computation for one sample -fix_ave_chunk.cpp: // count # of atoms in each bin -fix_ave_chunk.cpp: // accumulate results of attributes,computes,fixes,variables to local copy -fix_ave_chunk.cpp: // sum within each chunk, only include atoms in fix group -fix_ave_chunk.cpp: // compute/fix/variable may invoke computes so wrap with clear/add -fix_ave_chunk.cpp: // V,F adds velocities,forces to values -fix_ave_chunk.cpp: // DENSITY_NUMBER adds 1 to values -fix_ave_chunk.cpp: // DENSITY_MASS or MASS adds mass to values -fix_ave_chunk.cpp: // TEMPERATURE adds KE to values -fix_ave_chunk.cpp: // subtract and restore velocity bias if requested -fix_ave_chunk.cpp: // COMPUTE adds its scalar or vector component to values -fix_ave_chunk.cpp: // invoke compute if not previously invoked -fix_ave_chunk.cpp: // FIX adds its scalar or vector component to values -fix_ave_chunk.cpp: // access fix fields, guaranteed to be ready -fix_ave_chunk.cpp: // VARIABLE adds its per-atom quantities to values -fix_ave_chunk.cpp: // evaluate atom-style variable -fix_ave_chunk.cpp: memory->create(varatom,maxvar,"ave/chunk:varatom"); -fix_ave_chunk.cpp: // process the current sample -fix_ave_chunk.cpp: // if normflag = ALL, accumulate values,count separately to many -fix_ave_chunk.cpp: // if normflag = SAMPLE, one = value/count, accumulate one to many -fix_ave_chunk.cpp: // count is MPI summed here, value is MPI summed below across samples -fix_ave_chunk.cpp: // exception is TEMPERATURE: normalize by DOF -fix_ave_chunk.cpp: // exception is DENSITY_NUMBER: -fix_ave_chunk.cpp: // normalize by bin volume, not by atom count -fix_ave_chunk.cpp: // exception is DENSITY_MASS: -fix_ave_chunk.cpp: // scale by mv2d, normalize by bin volume, not by atom count -fix_ave_chunk.cpp: // exception is scaleflag = NOSCALE (norm = NONE): -fix_ave_chunk.cpp: // no normalize by atom count -fix_ave_chunk.cpp: // check last so other options can take precedence -fix_ave_chunk.cpp: values_many[m][j] += mvv2e*values_one[m][j] / -fix_ave_chunk.cpp: if (volflag == SCALAR) values_one[m][j] /= chunk_volume_scalar; -fix_ave_chunk.cpp: else values_one[m][j] /= chunk_volume_vec[m]; -fix_ave_chunk.cpp: if (volflag == SCALAR) values_one[m][j] /= chunk_volume_scalar; -fix_ave_chunk.cpp: else values_one[m][j] /= chunk_volume_vec[m]; -fix_ave_chunk.cpp: values_many[m][j] += values_one[m][j]/count_many[m]; -fix_ave_chunk.cpp: // done if irepeat < nrepeat -fix_ave_chunk.cpp: // else reset irepeat and nvalid -fix_ave_chunk.cpp: // unlock compute chunk/atom at end of Nfreq epoch -fix_ave_chunk.cpp: // do not unlock if ave = RUNNING or WINDOW -fix_ave_chunk.cpp: // time average across samples -fix_ave_chunk.cpp: // if normflag = ALL, final is total value / total count -fix_ave_chunk.cpp: // exception is TEMPERATURE: normalize by DOF for total count -fix_ave_chunk.cpp: // exception is DENSITY_NUMBER: -fix_ave_chunk.cpp: // normalize by final bin_volume and repeat, not by total count -fix_ave_chunk.cpp: // exception is DENSITY_MASS: -fix_ave_chunk.cpp: // scale by mv2d, normalize by bin volume and repeat, not by total count -fix_ave_chunk.cpp: // exception is scaleflag == NOSCALE: -fix_ave_chunk.cpp: // normalize by repeat, not by total count -fix_ave_chunk.cpp: // check last so other options can take precedence -fix_ave_chunk.cpp: // if normflag = SAMPLE, final is sum of ave / repeat -fix_ave_chunk.cpp: values_sum[m][j] *= mvv2e / ((cdof + adof*count_sum[m]) * boltz); -fix_ave_chunk.cpp: if (volflag == SCALAR) values_sum[m][j] /= chunk_volume_scalar; -fix_ave_chunk.cpp: else values_sum[m][j] /= chunk_volume_vec[m]; -fix_ave_chunk.cpp: values_sum[m][j] /= repeat; -fix_ave_chunk.cpp: if (volflag == SCALAR) values_sum[m][j] /= chunk_volume_scalar; -fix_ave_chunk.cpp: else values_sum[m][j] /= chunk_volume_vec[m]; -fix_ave_chunk.cpp: values_sum[m][j] *= mv2d/repeat; -fix_ave_chunk.cpp: values_sum[m][j] /= repeat; -fix_ave_chunk.cpp: values_sum[m][j] /= count_sum[m]; -fix_ave_chunk.cpp: count_sum[m] /= repeat; -fix_ave_chunk.cpp: for (j = 0; j < nvalues; j++) values_sum[m][j] /= repeat; -fix_ave_chunk.cpp: count_sum[m] /= repeat; -fix_ave_chunk.cpp: // if ave = ONE, only single Nfreq timestep value is needed -fix_ave_chunk.cpp: // if ave = RUNNING, combine with all previous Nfreq timestep values -fix_ave_chunk.cpp: // if ave = WINDOW, comine with nwindow most recent Nfreq timestep values -fix_ave_chunk.cpp: // output result to file -fix_ave_chunk.cpp: fprintf(fp," %d %g",m+1,count_total[m]/normcount); -fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); -fix_ave_chunk.cpp: count_total[m]/normcount); -fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); -fix_ave_chunk.cpp: count_total[m]/normcount); -fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); -fix_ave_chunk.cpp: coord[m][0],coord[m][1],coord[m][2],count_total[m]/normcount); -fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); -fix_ave_chunk.cpp: fprintf(fp," %d %d %g",m+1,chunkID[m],count_total[m]/normcount); -fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); -fix_ave_chunk.cpp: count_total[m]/normcount); -fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); -fix_ave_chunk.cpp: count_total[m]/normcount); -fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); -fix_ave_chunk.cpp: coord[j-1][1],coord[j-1][2],count_total[m]/normcount); -fix_ave_chunk.cpp: fprintf(fp,format,values_total[m][i]/normcount); -fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- -fix_ave_chunk.cpp:------------------------------------------------------------------------- */ -fix_ave_chunk.cpp: // reallocate chunk arrays if needed -fix_ave_chunk.cpp: memory->grow(count_one,nchunk,"ave/chunk:count_one"); -fix_ave_chunk.cpp: memory->grow(count_many,nchunk,"ave/chunk:count_many"); -fix_ave_chunk.cpp: memory->grow(count_sum,nchunk,"ave/chunk:count_sum"); -fix_ave_chunk.cpp: memory->grow(count_total,nchunk,"ave/chunk:count_total"); -fix_ave_chunk.cpp: memory->grow(values_one,nchunk,nvalues,"ave/chunk:values_one"); -fix_ave_chunk.cpp: memory->grow(values_many,nchunk,nvalues,"ave/chunk:values_many"); -fix_ave_chunk.cpp: memory->grow(values_sum,nchunk,nvalues,"ave/chunk:values_sum"); -fix_ave_chunk.cpp: memory->grow(values_total,nchunk,nvalues,"ave/chunk:values_total"); -fix_ave_chunk.cpp: // only allocate count and values list for ave = WINDOW -fix_ave_chunk.cpp: memory->create(count_list,nwindow,nchunk,"ave/chunk:count_list"); -fix_ave_chunk.cpp: "ave/chunk:values_list"); -fix_ave_chunk.cpp: // reinitialize regrown count/values total since they accumulate -fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- -fix_ave_chunk.cpp:------------------------------------------------------------------------- */ -fix_ave_chunk.cpp: if (j < 0) return count_total[i]/normcount; -fix_ave_chunk.cpp: return values_total[i][j]/normcount; -fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- -fix_ave_chunk.cpp:------------------------------------------------------------------------- */ -fix_ave_chunk.cpp: bigint nvalid = (update->ntimestep/nfreq)*nfreq + nfreq; -fix_ave_chunk.cpp:/* ---------------------------------------------------------------------- -fix_ave_chunk.cpp:------------------------------------------------------------------------- */ -fix_ave_chunk.cpp: double bytes = maxvar * sizeof(double); // varatom -fix_ave_chunk.cpp: bytes += 4*maxchunk * sizeof(double); // count one,many,sum,total -fix_ave_chunk.cpp: bytes += nvalues*maxchunk * sizeof(double); // values one,many,sum,total -fix_ave_chunk.cpp: bytes += nwindow*maxchunk * sizeof(double); // count_list -fix_ave_chunk.cpp: bytes += nwindow*maxchunk*nvalues * sizeof(double); // values_list -fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- -fix_ave_correlate.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_ave_correlate.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_ave_correlate.cpp:------------------------------------------------------------------------- */ -fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- -fix_ave_correlate.cpp:------------------------------------------------------------------------- */ -fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_correlate.cpp: if (narg < 7) error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: // expand args if any have wildcard character "*" -fix_ave_correlate.cpp: // parse values until one isn't recognized -fix_ave_correlate.cpp: error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: // optional args -fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: else if (strcmp(arg[iarg+1],"auto/upper") == 0) type = AUTOUPPER; -fix_ave_correlate.cpp: else if (strcmp(arg[iarg+1],"auto/lower") == 0) type = AUTOLOWER; -fix_ave_correlate.cpp: else error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: else error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: sprintf(str,"Cannot open fix ave/correlate file %s",arg[iarg+1]); -fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: } else error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: // setup and error check -fix_ave_correlate.cpp: // for fix inputs, check that fix frequency is acceptable -fix_ave_correlate.cpp: error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: error->all(FLERR,"Illegal fix ave/correlate command"); -fix_ave_correlate.cpp: error->all(FLERR,"Compute ID for fix ave/correlate does not exist"); -fix_ave_correlate.cpp: "Fix ave/correlate compute does not calculate a scalar"); -fix_ave_correlate.cpp: "Fix ave/correlate compute does not calculate a vector"); -fix_ave_correlate.cpp: error->all(FLERR,"Fix ave/correlate compute vector " -fix_ave_correlate.cpp: error->all(FLERR,"Fix ID for fix ave/correlate does not exist"); -fix_ave_correlate.cpp: error->all(FLERR,"Fix ave/correlate fix does not calculate a scalar"); -fix_ave_correlate.cpp: error->all(FLERR,"Fix ave/correlate fix does not calculate a vector"); -fix_ave_correlate.cpp: "Fix ave/correlate fix vector is accessed out-of-range"); -fix_ave_correlate.cpp: error->all(FLERR,"Fix for fix ave/correlate " -fix_ave_correlate.cpp: error->all(FLERR,"Variable name for fix ave/correlate does not exist"); -fix_ave_correlate.cpp: "Fix ave/correlate variable is not equal-style variable"); -fix_ave_correlate.cpp: "Fix ave/correlate variable is not vector-style variable"); -fix_ave_correlate.cpp: // npair = # of correlation pairs to calculate -fix_ave_correlate.cpp: if (type == UPPER || type == LOWER) npair = nvalues*(nvalues-1)/2; -fix_ave_correlate.cpp: if (type == AUTOUPPER || type == AUTOLOWER) npair = nvalues*(nvalues+1)/2; -fix_ave_correlate.cpp: // print file comment lines -fix_ave_correlate.cpp: // if wildcard expansion occurred, free earg memory from expand_args() -fix_ave_correlate.cpp: // wait to do this until after file comment lines are printed -fix_ave_correlate.cpp: // allocate and initialize memory for averaging -fix_ave_correlate.cpp: // set count and corr to zero since they accumulate -fix_ave_correlate.cpp: // also set save versions to zero in case accessed via compute_array() -fix_ave_correlate.cpp: memory->create(values,nrepeat,nvalues,"ave/correlate:values"); -fix_ave_correlate.cpp: memory->create(count,nrepeat,"ave/correlate:count"); -fix_ave_correlate.cpp: memory->create(save_count,nrepeat,"ave/correlate:save_count"); -fix_ave_correlate.cpp: memory->create(corr,nrepeat,npair,"ave/correlate:corr"); -fix_ave_correlate.cpp: memory->create(save_corr,nrepeat,npair,"ave/correlate:save_corr"); -fix_ave_correlate.cpp: // this fix produces a global array -fix_ave_correlate.cpp: // nvalid = next step on which end_of_step does something -fix_ave_correlate.cpp: // add nvalid to all computes that store invocation times -fix_ave_correlate.cpp: // since don't know a priori which are invoked by this fix -fix_ave_correlate.cpp: // once in end_of_step() can set timestep for ones actually invoked -fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_correlate.cpp: // set current indices for all computes,fixes,variables -fix_ave_correlate.cpp: error->all(FLERR,"Compute ID for fix ave/correlate does not exist"); -fix_ave_correlate.cpp: error->all(FLERR,"Fix ID for fix ave/correlate does not exist"); -fix_ave_correlate.cpp: error->all(FLERR,"Variable name for fix ave/correlate does not exist"); -fix_ave_correlate.cpp: // need to reset nvalid if nvalid < ntimestep b/c minimize was performed -fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- -fix_ave_correlate.cpp:------------------------------------------------------------------------- */ -fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_correlate.cpp: // skip if not step which requires doing something -fix_ave_correlate.cpp: // error check if timestep was reset in an invalid manner -fix_ave_correlate.cpp: error->all(FLERR,"Invalid timestep reset for fix ave/correlate"); -fix_ave_correlate.cpp: // accumulate results of computes,fixes,variables to origin -fix_ave_correlate.cpp: // compute/fix/variable may invoke computes so wrap with clear/add -fix_ave_correlate.cpp: // lastindex = index in values ring of latest time sample -fix_ave_correlate.cpp: // invoke compute if not previously invoked -fix_ave_correlate.cpp: // access fix fields, guaranteed to be ready -fix_ave_correlate.cpp: // evaluate equal-style or vector-style variable -fix_ave_correlate.cpp: // fistindex = index in values ring of earliest time sample -fix_ave_correlate.cpp: // nsample = number of time samples in values ring -fix_ave_correlate.cpp: // calculate all Cij() enabled by latest values -fix_ave_correlate.cpp: // save results in save_count and save_corr -fix_ave_correlate.cpp: save_corr[i][j] = prefactor*corr[i][j]/count[i]; -fix_ave_correlate.cpp: // output result to file -fix_ave_correlate.cpp: fprintf(fp," %g",prefactor*corr[i][j]/count[i]); -fix_ave_correlate.cpp: // zero accumulation if requested -fix_ave_correlate.cpp: // recalculate Cij(0) -fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- -fix_ave_correlate.cpp:------------------------------------------------------------------------- */ -fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- -fix_ave_correlate.cpp:------------------------------------------------------------------------- */ -fix_ave_correlate.cpp:/* ---------------------------------------------------------------------- -fix_ave_correlate.cpp:------------------------------------------------------------------------- */ -fix_ave_correlate.cpp: if (nvalid % nevery) nvalid = (nvalid/nevery)*nevery + nevery; -fix_aveforce.cpp:/* ---------------------------------------------------------------------- -fix_aveforce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_aveforce.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_aveforce.cpp:------------------------------------------------------------------------- */ -fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ -fix_aveforce.cpp: // optional args -fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ -fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ -fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ -fix_aveforce.cpp: // check variables -fix_aveforce.cpp: // set index and check validity of region -fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ -fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ -fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ -fix_aveforce.cpp: // update region if necessary -fix_aveforce.cpp: // sum forces on participating atoms -fix_aveforce.cpp: // average the force on participating atoms -fix_aveforce.cpp: // add in requested amount, computed via variable evaluation if necessary -fix_aveforce.cpp: // wrap variable evaluation with clear/add -fix_aveforce.cpp: fave[0] = foriginal_all[0]/ncount + xvalue; -fix_aveforce.cpp: fave[1] = foriginal_all[1]/ncount + yvalue; -fix_aveforce.cpp: fave[2] = foriginal_all[2]/ncount + zvalue; -fix_aveforce.cpp: // set force of all participating atoms to same value -fix_aveforce.cpp: // only for active dimensions -fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ -fix_aveforce.cpp: // ave + extra force on selected RESPA level -fix_aveforce.cpp: // just ave on all other levels -fix_aveforce.cpp: fave[0] = foriginal_all[0]/ncount; -fix_aveforce.cpp: fave[1] = foriginal_all[1]/ncount; -fix_aveforce.cpp: fave[2] = foriginal_all[2]/ncount; -fix_aveforce.cpp:/* ---------------------------------------------------------------------- */ -fix_aveforce.cpp:/* ---------------------------------------------------------------------- -fix_aveforce.cpp:------------------------------------------------------------------------- */ -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_ave_histo.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_ave_histo.cpp:------------------------------------------------------------------------- */ -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_histo.cpp: if (narg < 10) error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: // scan values to count them -fix_ave_histo.cpp: // then read options so know mode = SCALAR/VECTOR before re-reading values -fix_ave_histo.cpp: if (nvalues == 0) error->all(FLERR,"No values in fix ave/histo command"); -fix_ave_histo.cpp: // expand args if any have wildcard character "*" -fix_ave_histo.cpp: // this can reset nvalues -fix_ave_histo.cpp: // parse values -fix_ave_histo.cpp: error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: // if wildcard expansion occurred, free earg memory from expand_args() -fix_ave_histo.cpp: // setup and error check -fix_ave_histo.cpp: // kind = inputs are all global, or all per-atom, or all local -fix_ave_histo.cpp: // for fix inputs, check that fix frequency is acceptable -fix_ave_histo.cpp: error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: if (lo >= hi) error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: if (nbins <= 0) error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: if (c_id < 0) error->all(FLERR,"Fix ave/histo input is invalid compute"); -fix_ave_histo.cpp: else error->all(FLERR,"Fix ave/histo input is invalid compute"); -fix_ave_histo.cpp: if (f_id < 0) error->all(FLERR,"Fix ave/histo input is invalid fix"); -fix_ave_histo.cpp: else error->all(FLERR,"Fix ave/histo input is invalid fix"); -fix_ave_histo.cpp: if (ivariable < 0) error->all(FLERR,"Fix ave/histo input is invalid variable"); -fix_ave_histo.cpp: else error->all(FLERR,"Fix ave/histo input is invalid variable"); -fix_ave_histo.cpp: "Fix ave/histo inputs are not all global, peratom, or local"); -fix_ave_histo.cpp: "Fix ave/histo cannot input per-atom values in scalar mode"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo cannot input local values in scalar mode"); -fix_ave_histo.cpp: error->all(FLERR,"Compute ID for fix ave/histo does not exist"); -fix_ave_histo.cpp: "Fix ave/histo compute does not calculate a global scalar"); -fix_ave_histo.cpp: "Fix ave/histo compute does not calculate a global vector"); -fix_ave_histo.cpp: "Fix ave/histo compute vector is accessed out-of-range"); -fix_ave_histo.cpp: error->all(FLERR,"Compute ID for fix ave/histo does not exist"); -fix_ave_histo.cpp: "Fix ave/histo compute does not calculate a global vector"); -fix_ave_histo.cpp: "Fix ave/histo compute does not calculate a global array"); -fix_ave_histo.cpp: "Fix ave/histo compute array is accessed out-of-range"); -fix_ave_histo.cpp: error->all(FLERR,"Compute ID for fix ave/histo does not exist"); -fix_ave_histo.cpp: "Fix ave/histo compute does not calculate per-atom values"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo compute does not " -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo compute does not " -fix_ave_histo.cpp: "Fix ave/histo compute array is accessed out-of-range"); -fix_ave_histo.cpp: error->all(FLERR,"Compute ID for fix ave/histo does not exist"); -fix_ave_histo.cpp: "Fix ave/histo compute does not calculate local values"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo compute does not " -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo compute does not " -fix_ave_histo.cpp: "Fix ave/histo compute array is accessed out-of-range"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ID for fix ave/histo does not exist"); -fix_ave_histo.cpp: "Fix ave/histo fix does not calculate a global scalar"); -fix_ave_histo.cpp: "Fix ave/histo fix does not calculate a global vector"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix vector is accessed out-of-range"); -fix_ave_histo.cpp: "Fix for fix ave/histo not computed at compatible time"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ID for fix ave/histo does not exist"); -fix_ave_histo.cpp: "Fix ave/histo fix does not calculate a global vector"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix does not calculate a global array"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix array is accessed out-of-range"); -fix_ave_histo.cpp: "Fix for fix ave/histo not computed at compatible time"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ID for fix ave/histo does not exist"); -fix_ave_histo.cpp: "Fix ave/histo fix does not calculate per-atom values"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix does not " -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix does not " -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix array is accessed out-of-range"); -fix_ave_histo.cpp: "Fix for fix ave/histo not computed at compatible time"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ID for fix ave/histo does not exist"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix does not calculate local values"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix does not " -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix does not " -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo fix array is accessed out-of-range"); -fix_ave_histo.cpp: "Fix for fix ave/histo not computed at compatible time"); -fix_ave_histo.cpp: error->all(FLERR,"Variable name for fix ave/histo does not exist"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo variable is not equal-style variable"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo variable is not vector-style variable"); -fix_ave_histo.cpp: error->all(FLERR,"Variable name for fix ave/histo does not exist"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo variable is not vector-style variable"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo variable cannot be indexed"); -fix_ave_histo.cpp: error->all(FLERR,"Variable name for fix ave/histo does not exist"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo variable is not atom-style variable"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ave/histo variable cannot be indexed"); -fix_ave_histo.cpp: // print file comment lines -fix_ave_histo.cpp: else fprintf(fp,"# Bin Coord Count Count/Total\n"); -fix_ave_histo.cpp: // allocate and initialize memory for averaging -fix_ave_histo.cpp: memory->create(stats_list,nwindow,4,"ave/histo:stats_list"); -fix_ave_histo.cpp: memory->create(bin_list,nwindow,nbins,"ave/histo:bin_list"); -fix_ave_histo.cpp: // initializations -fix_ave_histo.cpp: // set coord to bin centers -fix_ave_histo.cpp: binsize = (hi-lo)/(nbins-2); -fix_ave_histo.cpp: bininv = 1.0/binsize; -fix_ave_histo.cpp: binsize = (hi-lo)/nbins; -fix_ave_histo.cpp: bininv = 1.0/binsize; -fix_ave_histo.cpp: // nvalid = next step on which end_of_step does something -fix_ave_histo.cpp: // add nvalid to all computes that store invocation times -fix_ave_histo.cpp: // since don't know a priori which are invoked by this fix -fix_ave_histo.cpp: // once in end_of_step() can set timestep for ones actually invoked -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_histo.cpp: // set current indices for all computes,fixes,variables -fix_ave_histo.cpp: error->all(FLERR,"Compute ID for fix ave/histo does not exist"); -fix_ave_histo.cpp: error->all(FLERR,"Fix ID for fix ave/histo does not exist"); -fix_ave_histo.cpp: error->all(FLERR,"Variable name for fix ave/histo does not exist"); -fix_ave_histo.cpp: // need to reset nvalid if nvalid < ntimestep b/c minimize was performed -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo.cpp:------------------------------------------------------------------------- */ -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_histo.cpp: // skip if not step which requires doing something -fix_ave_histo.cpp: // error check if timestep was reset in an invalid manner -fix_ave_histo.cpp: error->all(FLERR,"Invalid timestep reset for fix ave/histo"); -fix_ave_histo.cpp: // zero if first step -fix_ave_histo.cpp: // accumulate results of computes,fixes,variables to local copy -fix_ave_histo.cpp: // compute/fix/variable may invoke computes so wrap with clear/add -fix_ave_histo.cpp: // atom attributes -fix_ave_histo.cpp: // invoke compute if not previously invoked -fix_ave_histo.cpp: // access fix fields, guaranteed to be ready -fix_ave_histo.cpp: // evaluate equal-style or vector-style or atom-style variable -fix_ave_histo.cpp: memory->create(vector,maxatom,"ave/histo:vector"); -fix_ave_histo.cpp: // done if irepeat < nrepeat -fix_ave_histo.cpp: // else reset irepeat and nvalid -fix_ave_histo.cpp: // merge histogram stats across procs if necessary -fix_ave_histo.cpp: // if ave = ONE, only single Nfreq timestep value is needed -fix_ave_histo.cpp: // if ave = RUNNING, combine with all previous Nfreq timestep values -fix_ave_histo.cpp: // if ave = WINDOW, combine with nwindow most recent Nfreq timestep values -fix_ave_histo.cpp: // output result to file -fix_ave_histo.cpp: i+1,coord[i],bin_total[i],bin_total[i]/stats_total[0]); -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo.cpp:------------------------------------------------------------------------- */ -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo.cpp:------------------------------------------------------------------------- */ -fix_ave_histo.cpp: else if (stats_total[0] != 0.0) return bin_total[i]/stats_total[0]; -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo.cpp:------------------------------------------------------------------------- */ -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo.cpp:------------------------------------------------------------------------- */ -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo.cpp:------------------------------------------------------------------------- */ -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo.cpp:------------------------------------------------------------------------- */ -fix_ave_histo.cpp: // option defaults -fix_ave_histo.cpp: // optional args -fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: sprintf(str,"Cannot open fix ave/histo file %s",arg[iarg+1]); -fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: else error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: if (iarg+3 > narg) error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: if (nwindow <= 0) error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: else error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: else error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp: } else error->all(FLERR,"Illegal fix ave/histo command"); -fix_ave_histo.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo.cpp:------------------------------------------------------------------------- */ -fix_ave_histo.cpp: bigint nvalid = (update->ntimestep/nfreq)*nfreq + nfreq; -fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo_weight.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_ave_histo_weight.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_ave_histo_weight.cpp:------------------------------------------------------------------------- */ -fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo_weight.cpp:------------------------------------------------------------------------- */ -fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_histo_weight.cpp: // nvalues = 2 required for histo/weight -fix_ave_histo_weight.cpp: if (nvalues != 2) error->all(FLERR,"Illegal fix ave/histo/weight command"); -fix_ave_histo_weight.cpp: // check that length of 2 values is the same -fix_ave_histo_weight.cpp: error->all(FLERR,"Fix ave/histo/weight value and weight vector " -fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_histo_weight.cpp: // skip if not step which requires doing something -fix_ave_histo_weight.cpp: // error check if timestep was reset in an invalid manner -fix_ave_histo_weight.cpp: error->all(FLERR,"Invalid timestep reset for fix ave/histo"); -fix_ave_histo_weight.cpp: // zero if first step -fix_ave_histo_weight.cpp: // first calculate weight factors, then bin single value -fix_ave_histo_weight.cpp: // accumulate results of computes,fixes,variables to local copy -fix_ave_histo_weight.cpp: // compute/fix/variable may invoke computes so wrap with clear/add -fix_ave_histo_weight.cpp: // calculate weight factors which are 2nd value (i = 1) -fix_ave_histo_weight.cpp: // atom attributes -fix_ave_histo_weight.cpp: // invoke compute if not previously invoked -fix_ave_histo_weight.cpp: // access fix fields, guaranteed to be ready -fix_ave_histo_weight.cpp: error->all(FLERR,"Fix ave/histo/weight option not yet supported"); -fix_ave_histo_weight.cpp: // NOTE: need to allocate local storage -fix_ave_histo_weight.cpp: // evaluate equal-style variable -fix_ave_histo_weight.cpp: memory->create(vector,maxatom,"ave/histo/weight:vector"); -fix_ave_histo_weight.cpp: // bin values using weights, values are 1st value (i = 0) -fix_ave_histo_weight.cpp: // atom attributes -fix_ave_histo_weight.cpp: // invoke compute if not previously invoked -fix_ave_histo_weight.cpp: // access fix fields, guaranteed to be ready -fix_ave_histo_weight.cpp: // evaluate equal-style variable -fix_ave_histo_weight.cpp: memory->create(vector,maxatom,"ave/histo/weight:vector"); -fix_ave_histo_weight.cpp: // code beyond this point is identical to FixAveHisto -fix_ave_histo_weight.cpp: // done if irepeat < nrepeat -fix_ave_histo_weight.cpp: // else reset irepeat and nvalid -fix_ave_histo_weight.cpp: // merge histogram stats across procs if necessary -fix_ave_histo_weight.cpp: // if ave = ONE, only single Nfreq timestep value is needed -fix_ave_histo_weight.cpp: // if ave = RUNNING, combine with all previous Nfreq timestep values -fix_ave_histo_weight.cpp: // if ave = WINDOW, combine with nwindow most recent Nfreq timestep values -fix_ave_histo_weight.cpp: // output result to file -fix_ave_histo_weight.cpp: i+1,coord[i],bin_total[i],bin_total[i]/stats_total[0]); -fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo_weight.cpp:------------------------------------------------------------------------- */ -fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo_weight.cpp:------------------------------------------------------------------------- */ -fix_ave_histo_weight.cpp:/* ---------------------------------------------------------------------- -fix_ave_histo_weight.cpp:------------------------------------------------------------------------- */ -fix_ave_time.cpp:/* ---------------------------------------------------------------------- -fix_ave_time.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_ave_time.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_ave_time.cpp:------------------------------------------------------------------------- */ -fix_ave_time.cpp:/* ---------------------------------------------------------------------- -fix_ave_time.cpp:------------------------------------------------------------------------- */ -fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_time.cpp: if (narg < 7) error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: // scan values to count them -fix_ave_time.cpp: // then read options so know mode = SCALAR/VECTOR before re-reading values -fix_ave_time.cpp: if (nvalues == 0) error->all(FLERR,"No values in fix ave/time command"); -fix_ave_time.cpp: // expand args if any have wildcard character "*" -fix_ave_time.cpp: // this can reset nvalues -fix_ave_time.cpp: // parse values -fix_ave_time.cpp: error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: // set off columns now that nvalues is finalized -fix_ave_time.cpp: error->all(FLERR,"Invalid fix ave/time off column"); -fix_ave_time.cpp: // setup and error check -fix_ave_time.cpp: // for fix inputs, check that fix frequency is acceptable -fix_ave_time.cpp: // set variable_length if any compute is variable length -fix_ave_time.cpp: error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: error->all(FLERR,"Compute ID for fix ave/time does not exist"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time compute does not calculate a scalar"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time compute does not calculate a vector"); -fix_ave_time.cpp: "Fix ave/time compute vector is accessed out-of-range"); -fix_ave_time.cpp: error->all(FLERR,"Compute ID for fix ave/time does not exist"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time compute does not calculate a vector"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time compute does not calculate an array"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time compute array is accessed out-of-range"); -fix_ave_time.cpp: error->all(FLERR,"Fix ID for fix ave/time does not exist"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix does not calculate a scalar"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix does not calculate a vector"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix vector cannot be variable length"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix vector is accessed out-of-range"); -fix_ave_time.cpp: "Fix for fix ave/time not computed at compatible time"); -fix_ave_time.cpp: error->all(FLERR,"Fix ID for fix ave/time does not exist"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix does not calculate a vector"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix does not calculate an array"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix array cannot be variable length"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time fix array is accessed out-of-range"); -fix_ave_time.cpp: "Fix for fix ave/time not computed at compatible time"); -fix_ave_time.cpp: error->all(FLERR,"Variable name for fix ave/time does not exist"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time variable is not equal-style variable"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time variable is not vector-style variable"); -fix_ave_time.cpp: error->all(FLERR,"Variable name for fix ave/time does not exist"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time variable is not vector-style variable"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time mode vector variable cannot be indexed"); -fix_ave_time.cpp: // all_variable_length = 1 if all values are variable length -fix_ave_time.cpp: // any_variable_length = 1 if any values are variable length -fix_ave_time.cpp: // if VECTOR mode, check that all columns are same length -fix_ave_time.cpp: // nrows = # of rows in output array -fix_ave_time.cpp: // if all columns are variable length, just set nrows = 1 for now -fix_ave_time.cpp: memory->create(column,nrows,"ave/time:column"); -fix_ave_time.cpp: // enable locking of row count by this fix for computes of variable length -fix_ave_time.cpp: // only if nrepeat > 1 or ave = RUNNING/WINDOW, -fix_ave_time.cpp: // so that locking spans multiple timesteps -fix_ave_time.cpp: // print file comment lines -fix_ave_time.cpp: // for mode = VECTOR, cannot use arg to print -fix_ave_time.cpp: // since array args may have been expanded to multiple vectors -fix_ave_time.cpp: // if wildcard expansion occurred, free earg memory from expand_args() -fix_ave_time.cpp: // wait to do this until after file comment lines are printed -fix_ave_time.cpp: // allocate memory for averaging -fix_ave_time.cpp: memory->create(vector_list,nwindow,nvalues,"ave/time:vector_list"); -fix_ave_time.cpp: // this fix produces either a global scalar or vector or array -fix_ave_time.cpp: // SCALAR mode produces either a scalar or vector -fix_ave_time.cpp: // VECTOR mode produces either a vector or array -fix_ave_time.cpp: // intensive/extensive flags set by compute,fix,variable that produces value -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time cannot set output array " -fix_ave_time.cpp: "intensive/extensive from these inputs"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time cannot set output array " -fix_ave_time.cpp: "intensive/extensive from these inputs"); -fix_ave_time.cpp: // initializations -fix_ave_time.cpp: // set vector_total to zero since it accumulates -fix_ave_time.cpp: // array_total already zeroed in allocate_arrays -fix_ave_time.cpp: // nvalid = next step on which end_of_step does something -fix_ave_time.cpp: // add nvalid to all computes that store invocation times -fix_ave_time.cpp: // since don't know a priori which are invoked by this fix -fix_ave_time.cpp: // once in end_of_step() can set timestep for ones actually invoked -fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_time.cpp: // decrement lock counter in compute chunk/atom, it if still exists -fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_time.cpp: // set current indices for all computes,fixes,variables -fix_ave_time.cpp: error->all(FLERR,"Compute ID for fix ave/time does not exist"); -fix_ave_time.cpp: error->all(FLERR,"Fix ID for fix ave/time does not exist"); -fix_ave_time.cpp: error->all(FLERR,"Variable name for fix ave/time does not exist"); -fix_ave_time.cpp: // need to reset nvalid if nvalid < ntimestep b/c minimize was performed -fix_ave_time.cpp:/* ---------------------------------------------------------------------- -fix_ave_time.cpp:------------------------------------------------------------------------- */ -fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_time.cpp: // skip if not step which requires doing something -fix_ave_time.cpp: // error check if timestep was reset in an invalid manner -fix_ave_time.cpp: error->all(FLERR,"Invalid timestep reset for fix ave/time"); -fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_time.cpp: // zero if first sample within single Nfreq epoch -fix_ave_time.cpp: // if any input is variable length, initialize current length -fix_ave_time.cpp: // check for exceeding length is done below -fix_ave_time.cpp: // accumulate results of computes,fixes,variables to local copy -fix_ave_time.cpp: // compute/fix/variable may invoke computes so wrap with clear/add -fix_ave_time.cpp: // invoke compute if not previously invoked -fix_ave_time.cpp: // insure no out-of-range access to variable-length compute vector -fix_ave_time.cpp: // access fix fields, guaranteed to be ready -fix_ave_time.cpp: // evaluate equal-style or vector-style variable -fix_ave_time.cpp: // insure no out-of-range access to vector-style variable -fix_ave_time.cpp: // add value to vector or just set directly if offcol is set -fix_ave_time.cpp: // done if irepeat < nrepeat -fix_ave_time.cpp: // else reset irepeat and nvalid -fix_ave_time.cpp: // average the final result for the Nfreq timestep -fix_ave_time.cpp: if (offcol[i] == 0) vector[i] /= repeat; -fix_ave_time.cpp: // if ave = ONE, only single Nfreq timestep value is needed -fix_ave_time.cpp: // if ave = RUNNING, combine with all previous Nfreq timestep values -fix_ave_time.cpp: // if ave = WINDOW, combine with nwindow most recent Nfreq timestep values -fix_ave_time.cpp: // insure any columns with offcol set are effectively set to last value -fix_ave_time.cpp: // output result to file -fix_ave_time.cpp: for (i = 0; i < nvalues; i++) fprintf(fp,format,vector_total[i]/norm); -fix_ave_time.cpp:/* ---------------------------------------------------------------------- */ -fix_ave_time.cpp: // first sample within single Nfreq epoch -fix_ave_time.cpp: // zero out arrays that accumulate over many samples, but not across epochs -fix_ave_time.cpp: // invoke setup_chunks() to determine current nchunk -fix_ave_time.cpp: // re-allocate per-chunk arrays if needed -fix_ave_time.cpp: // invoke lock() in two cases: -fix_ave_time.cpp: // if nrepeat > 1: so nchunk cannot change until Nfreq epoch is over, -fix_ave_time.cpp: // will be unlocked on last repeat of this Nfreq -fix_ave_time.cpp: // if ave = RUNNING/WINDOW and not yet locked: -fix_ave_time.cpp: // set forever, will be unlocked in fix destructor -fix_ave_time.cpp: // wrap setup_chunks in clearstep/addstep b/c it may invoke computes -fix_ave_time.cpp: // both nevery and nfreq are future steps, -fix_ave_time.cpp: // since call below to cchunk->ichunk() -fix_ave_time.cpp: // does not re-invoke internal cchunk compute on this same step -fix_ave_time.cpp: memory->create(column,nrows,"ave/time:column"); -fix_ave_time.cpp: // accumulate results of computes,fixes,variables to local copy -fix_ave_time.cpp: // compute/fix/variable may invoke computes so wrap with clear/add -fix_ave_time.cpp: // invoke compute if not previously invoked -fix_ave_time.cpp: // access fix fields, guaranteed to be ready -fix_ave_time.cpp: // evaluate vector-style variable -fix_ave_time.cpp: // insure nvec = nrows, else error -fix_ave_time.cpp: // could be different on this timestep than when column_length(1) set nrows -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time vector-style variable changed length"); -fix_ave_time.cpp: // add columns of values to array or just set directly if offcol is set -fix_ave_time.cpp: // done if irepeat < nrepeat -fix_ave_time.cpp: // else reset irepeat and nvalid -fix_ave_time.cpp: // unlock any variable length computes at end of Nfreq epoch -fix_ave_time.cpp: // do not unlock if ave = RUNNING or WINDOW -fix_ave_time.cpp: // average the final result for the Nfreq timestep -fix_ave_time.cpp: if (offcol[j] == 0) array[i][j] /= repeat; -fix_ave_time.cpp: // if ave = ONE, only single Nfreq timestep value is needed -fix_ave_time.cpp: // if ave = RUNNING, combine with all previous Nfreq timestep values -fix_ave_time.cpp: // if ave = WINDOW, combine with nwindow most recent Nfreq timestep values -fix_ave_time.cpp: // insure any columns with offcol set are effectively set to last value -fix_ave_time.cpp: // output result to file -fix_ave_time.cpp: for (j = 0; j < nvalues; j++) fprintf(fp,format,array_total[i][j]/norm); -fix_ave_time.cpp:/* ---------------------------------------------------------------------- -fix_ave_time.cpp:------------------------------------------------------------------------- */ -fix_ave_time.cpp: // determine nrows for static values -fix_ave_time.cpp: // variables are always varlen = 1, so dynamic -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time columns are inconsistent lengths"); -fix_ave_time.cpp: // determine new nrows for dynamic values -fix_ave_time.cpp: // either all must be the same -fix_ave_time.cpp: // or must match other static values -fix_ave_time.cpp: // don't need to check if not MODE = VECTOR, just invoke lock_length() -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time columns are inconsistent lengths"); -fix_ave_time.cpp: error->all(FLERR,"Fix ave/time columns are inconsistent lengths"); -fix_ave_time.cpp:/* ---------------------------------------------------------------------- -fix_ave_time.cpp:------------------------------------------------------------------------- */ -fix_ave_time.cpp: if (norm) return vector_total[0]/norm; -fix_ave_time.cpp:/* ---------------------------------------------------------------------- -fix_ave_time.cpp:------------------------------------------------------------------------- */ -fix_ave_time.cpp: if (mode == SCALAR) return vector_total[i]/norm; -fix_ave_time.cpp: if (mode == VECTOR) return array_total[i][0]/norm; -fix_ave_time.cpp:/* ---------------------------------------------------------------------- -fix_ave_time.cpp:------------------------------------------------------------------------- */ -fix_ave_time.cpp: if (norm) return array_total[i][j]/norm; -fix_ave_time.cpp:/* ---------------------------------------------------------------------- -fix_ave_time.cpp:------------------------------------------------------------------------- */ -fix_ave_time.cpp: // option defaults -fix_ave_time.cpp: // optional args -fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: sprintf(str,"Cannot open fix ave/time file %s",arg[iarg+1]); -fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: else error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: if (iarg+3 > narg) error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: if (nwindow <= 0) error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: else error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: memory->grow(offlist,noff+1,"ave/time:offlist"); -fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/spatial command"); -fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/spatial command"); -fix_ave_time.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/spatial command"); -fix_ave_time.cpp: } else error->all(FLERR,"Illegal fix ave/time command"); -fix_ave_time.cpp:/* ---------------------------------------------------------------------- -fix_ave_time.cpp:------------------------------------------------------------------------- */ -fix_ave_time.cpp: memory->create(array,nrows,nvalues,"ave/time:array"); -fix_ave_time.cpp: memory->create(array_total,nrows,nvalues,"ave/time:array_total"); -fix_ave_time.cpp: memory->create(array_list,nwindow,nrows,nvalues,"ave/time:array_list"); -fix_ave_time.cpp: // reinitialize regrown array_total since it accumulates -fix_ave_time.cpp:/* ---------------------------------------------------------------------- -fix_ave_time.cpp:------------------------------------------------------------------------- */ -fix_ave_time.cpp: bigint nvalid = (update->ntimestep/nfreq)*nfreq + nfreq; -fix_balance.cpp:/* ---------------------------------------------------------------------- -fix_balance.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_balance.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_balance.cpp:------------------------------------------------------------------------- */ -fix_balance.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files -fix_balance.cpp:/* ---------------------------------------------------------------------- */ -fix_balance.cpp: // parse required arguments -fix_balance.cpp: // error checks -fix_balance.cpp: // create instance of Balance class -fix_balance.cpp: // if SHIFT, initialize it with params -fix_balance.cpp: // process remaining optional args via Balance -fix_balance.cpp: // create instance of Irregular class -fix_balance.cpp: // only force reneighboring if nevery > 0 -fix_balance.cpp: // compute initial outputs -fix_balance.cpp:/* ---------------------------------------------------------------------- */ -fix_balance.cpp:/* ---------------------------------------------------------------------- */ -fix_balance.cpp:/* ---------------------------------------------------------------------- */ -fix_balance.cpp:/* ---------------------------------------------------------------------- */ -fix_balance.cpp:/* ---------------------------------------------------------------------- */ -fix_balance.cpp: // compute final imbalance factor if setup_pre_exchange() invoked balancer -fix_balance.cpp: // this is called at end of run setup, before output -fix_balance.cpp:/* ---------------------------------------------------------------------- */ -fix_balance.cpp: // do not allow rebalancing twice on same timestep -fix_balance.cpp: // even if wanted to, can mess up elapsed time in ImbalanceTime -fix_balance.cpp: // insure atoms are in current box & update box via shrink-wrap -fix_balance.cpp: // has to be be done before rebalance() invokes Irregular::migrate_atoms() -fix_balance.cpp: // since it requires atoms be inside simulation box -fix_balance.cpp: // even though pbc() will be done again in Verlet::run() -fix_balance.cpp: // no exchange() since doesn't matter if atoms are assigned to correct procs -fix_balance.cpp: // perform a rebalance if threshold exceeded -fix_balance.cpp: // next timestep to rebalance -fix_balance.cpp: if (nevery) next_reneighbor = (update->ntimestep/nevery)*nevery + nevery; -fix_balance.cpp:/* ---------------------------------------------------------------------- -fix_balance.cpp:------------------------------------------------------------------------- */ -fix_balance.cpp: // return if not a rebalance timestep -fix_balance.cpp: // do not allow rebalancing twice on same timestep -fix_balance.cpp: // even if wanted to, can mess up elapsed time in ImbalanceTime -fix_balance.cpp: // insure atoms are in current box & update box via shrink-wrap -fix_balance.cpp: // no exchange() since doesn't matter if atoms are assigned to correct procs -fix_balance.cpp: // perform a rebalance if threshold exceeded -fix_balance.cpp: // if weight variable is used, wrap weight setting in clear/add compute -fix_balance.cpp: // next timestep to rebalance -fix_balance.cpp: if (nevery) next_reneighbor = (update->ntimestep/nevery)*nevery + nevery; -fix_balance.cpp:/* ---------------------------------------------------------------------- -fix_balance.cpp:------------------------------------------------------------------------- */ -fix_balance.cpp:/* ---------------------------------------------------------------------- -fix_balance.cpp:------------------------------------------------------------------------- */ -fix_balance.cpp: // invoke balancer and reset comm->uniform flag -fix_balance.cpp: // output of new decomposition -fix_balance.cpp: // reset proc sub-domains -fix_balance.cpp: // check and warn if any proc's subbox is smaller than neigh skin -fix_balance.cpp: // since may lead to lost atoms in exchange() -fix_balance.cpp: // move atoms to new processors via irregular() -fix_balance.cpp: // only needed if migrate_check() says an atom moves to far -fix_balance.cpp: // else allow caller's comm->exchange() to do it -fix_balance.cpp: // invoke KSpace setup_grid() to adjust to new proc sub-domains -fix_balance.cpp: // pending triggers pre_neighbor() to compute final imbalance factor -fix_balance.cpp: // can only be done after atoms migrate in comm->exchange() -fix_balance.cpp:/* ---------------------------------------------------------------------- -fix_balance.cpp:------------------------------------------------------------------------- */ -fix_balance.cpp:/* ---------------------------------------------------------------------- -fix_balance.cpp:------------------------------------------------------------------------- */ -fix_balance.cpp:/* ---------------------------------------------------------------------- -fix_balance.cpp:------------------------------------------------------------------------- */ -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_box_relax.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_box_relax.cpp:------------------------------------------------------------------------- */ -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:------------------------------------------------------------------------- */ -fix_box_relax.cpp:#define MAX_LIFO_DEPTH 2 // 3 box0 arrays in *.h dimensioned to this -fix_box_relax.cpp:/* ---------------------------------------------------------------------- */ -fix_box_relax.cpp: if (narg < 5) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: // default values -fix_box_relax.cpp: // turn on tilt factor scaling, whenever applicable -fix_box_relax.cpp: // set fixed-point to default = center of cell -fix_box_relax.cpp: // process keywords -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command for a 2d simulation"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command for a 2d simulation"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command for a 2d simulation"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: else error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: else error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (nreset_h0 < 0) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: else error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: else error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: else error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: } else error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: // error checks -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command for a 2d simulation"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command for a 2d simulation"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command pressure settings"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command pressure settings"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command pressure settings"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command pressure settings"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax command pressure settings"); -fix_box_relax.cpp: // require periodicity in tensile dimension -fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax on a non-periodic dimension"); -fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax on a non-periodic dimension"); -fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax on a non-periodic dimension"); -fix_box_relax.cpp: // require periodicity in 2nd dim of off-diagonal tilt component -fix_box_relax.cpp: "Cannot use fix box/relax on a 2nd non-periodic dimension"); -fix_box_relax.cpp: "Cannot use fix box/relax on a 2nd non-periodic dimension"); -fix_box_relax.cpp: "Cannot use fix box/relax on a 2nd non-periodic dimension"); -fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax " -fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax " -fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax " -fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax with " -fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax with " -fix_box_relax.cpp: error->all(FLERR,"Cannot use fix box/relax with " -fix_box_relax.cpp: error->all(FLERR,"Can not specify Pxy/Pxz/Pyz in " -fix_box_relax.cpp: "fix box/relax with non-triclinic box"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax pressure settings"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax pressure settings"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax pressure settings"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax pressure settings"); -fix_box_relax.cpp: error->all(FLERR,"Invalid fix box/relax pressure settings"); -fix_box_relax.cpp: if (vmax <= 0.0) error->all(FLERR,"Illegal fix box/relax command"); -fix_box_relax.cpp: // pstyle = TRICLINIC if any off-diagonal term is controlled -> 6 dof -fix_box_relax.cpp: // else pstyle = ISO if XYZ coupling or XY coupling in 2d -> 1 dof -fix_box_relax.cpp: // else pstyle = ANISO -> 3 dof -fix_box_relax.cpp: // create a new compute temp style -fix_box_relax.cpp: // id = fix-ID + temp -fix_box_relax.cpp: // compute group = all since pressure is always global (group all) -fix_box_relax.cpp: // and thus its KE/temperature contribution should use group all -fix_box_relax.cpp: // create a new compute pressure style (virial only) -fix_box_relax.cpp: // id = fix-ID + press, compute group = all -fix_box_relax.cpp: // pass id_temp as 4th arg to pressure constructor -fix_box_relax.cpp:/* ---------------------------------------------------------------------- */ -fix_box_relax.cpp: // delete temperature and pressure if fix created them -fix_box_relax.cpp:/* ---------------------------------------------------------------------- */ -fix_box_relax.cpp:/* ---------------------------------------------------------------------- */ -fix_box_relax.cpp: // set temperature and pressure ptrs -fix_box_relax.cpp: error->all(FLERR,"Temperature ID for fix box/relax does not exist"); -fix_box_relax.cpp: error->all(FLERR,"Pressure ID for fix box/relax does not exist"); -fix_box_relax.cpp: pv2e = 1.0 / force->nktv2p; -fix_box_relax.cpp: // detect if any rigid fixes exist so rigid bodies move when box is remapped -fix_box_relax.cpp: // rfix[] = indices to each fix rigid -fix_box_relax.cpp: // initial box dimensions -fix_box_relax.cpp: // hydrostatic target pressure and deviatoric target stress -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:------------------------------------------------------------------------- */ -fix_box_relax.cpp: // trigger virial computation on every iteration of minimizer -fix_box_relax.cpp: // compute energy, forces for each extra degree of freedom -fix_box_relax.cpp: // returned eng = PV must be in units of energy -fix_box_relax.cpp: // returned fextra must likewise be in units of energy -fix_box_relax.cpp: scale = domain->xprd/xprdinit; -fix_box_relax.cpp: if (p_flag[0]) scalex = domain->xprd/xprdinit; -fix_box_relax.cpp: if (p_flag[1]) scaley = domain->yprd/yprdinit; -fix_box_relax.cpp: if (p_flag[2]) scalez = domain->zprd/zprdinit; -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:------------------------------------------------------------------------- */ -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:------------------------------------------------------------------------- */ -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:------------------------------------------------------------------------- */ -fix_box_relax.cpp: error->all(FLERR,"Attempt to push beyond stack limit in fix box/relax"); -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:------------------------------------------------------------------------- */ -fix_box_relax.cpp: error->all(FLERR,"Attempt to pop empty stack in fix box/relax"); -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:------------------------------------------------------------------------- */ -fix_box_relax.cpp: // if nreset_h0 > 0, reset reference box -fix_box_relax.cpp: // every nreset_h0 timesteps -fix_box_relax.cpp: // only needed for deviatoric external stress -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:------------------------------------------------------------------------- */ -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:------------------------------------------------------------------------- */ -fix_box_relax.cpp: if (pstyle == ISO) alpha = vmax/fabs(hextra[0]); -fix_box_relax.cpp: if (p_flag[0]) alpha = MIN(alpha,vmax/fabs(hextra[0])); -fix_box_relax.cpp: if (p_flag[1]) alpha = MIN(alpha,vmax/fabs(hextra[1])); -fix_box_relax.cpp: if (p_flag[2]) alpha = MIN(alpha,vmax/fabs(hextra[2])); -fix_box_relax.cpp: if (p_flag[3]) alpha = MIN(alpha,vmax/fabs(hextra[3])); -fix_box_relax.cpp: if (p_flag[4]) alpha = MIN(alpha,vmax/fabs(hextra[4])); -fix_box_relax.cpp: if (p_flag[5]) alpha = MIN(alpha,vmax/fabs(hextra[5])); -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:------------------------------------------------------------------------- */ -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp: dilate the box and owned/ghost atoms around center of box -fix_box_relax.cpp:------------------------------------------------------------------------- */ -fix_box_relax.cpp: // rescale simulation box from linesearch starting point -fix_box_relax.cpp: // scale atom coords for all atoms or only for fix group atoms -fix_box_relax.cpp: // convert pertinent atoms and rigid bodies to lamda coords -fix_box_relax.cpp: // reset global and local box to new size/shape -fix_box_relax.cpp: domain->boxlo[i] = currentBoxLo0 + (currentBoxLo0 - fixedpoint[i])/domain->h[i]*ds[i]*h0[i]; -fix_box_relax.cpp: domain->boxhi[i] = currentBoxHi0 + (currentBoxHi0 - fixedpoint[i])/domain->h[i]*ds[i]*h0[i]; -fix_box_relax.cpp: error->all(FLERR,"Fix box/relax generated negative box length"); -fix_box_relax.cpp: // scale tilt factors with cell, if set -fix_box_relax.cpp: if (scaleyz) domain->yz = (domain->boxhi[2] - domain->boxlo[2])*h0[3]/h0[2]; -fix_box_relax.cpp: if (scalexz) domain->xz = (domain->boxhi[2] - domain->boxlo[2])*h0[4]/h0[2]; -fix_box_relax.cpp: if (scalexy) domain->xy = (domain->boxhi[1] - domain->boxlo[1])*h0[5]/h0[1]; -fix_box_relax.cpp: // convert pertinent atoms and rigid bodies back to box coords -fix_box_relax.cpp:/* ---------------------------------------------------------------------- */ -fix_box_relax.cpp: double ave = 1.0/3.0 * (tensor[0] + tensor[1] + tensor[2]); -fix_box_relax.cpp: // switch order from xy-xz-yz to Voigt -fix_box_relax.cpp:/* ---------------------------------------------------------------------- */ -fix_box_relax.cpp: // reset id_temp of pressure to new temperature ID -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:-----------------------------------------------------------------------*/ -fix_box_relax.cpp: // reset reference box dimensions -fix_box_relax.cpp: // compute target deviatoric stress tensor pdevmod -fix_box_relax.cpp: // Modify to account for off-diagonal terms -fix_box_relax.cpp: // These equations come from the stationarity relation: -fix_box_relax.cpp: // Pdev,sys = Pdev,targ*hinv^t*hdiag -fix_box_relax.cpp: // where: -fix_box_relax.cpp: // Pdev,sys is the system deviatoric stress tensor, -fix_box_relax.cpp: // Pdev,targ = pdeviatoric, effective target deviatoric stress -fix_box_relax.cpp: // hinv^t is the transpose of the inverse h tensor -fix_box_relax.cpp: // hdiag is the diagonal part of the h tensor -fix_box_relax.cpp: // compute symmetric sigma tensor -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:-----------------------------------------------------------------------*/ -fix_box_relax.cpp: // compute strain energy = 0.5*Tr(sigma*h*h^t) in energy units -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:-----------------------------------------------------------------------*/ -fix_box_relax.cpp: // [ 0 5 4 ] [ 0 5 4 ] [ 0 5 4 ] -fix_box_relax.cpp: // [ 5 1 3 ] = [ - 1 3 ] [ 5 1 3 ] -fix_box_relax.cpp: // [ 4 3 2 ] [ - - 2 ] [ 4 3 2 ] -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp:-----------------------------------------------------------------------*/ -fix_box_relax.cpp: if (pflagsum) p_hydro /= pflagsum; -fix_box_relax.cpp:/* ---------------------------------------------------------------------- -fix_box_relax.cpp: ---------------------------------------------------------------------- */ -fix_controller.cpp:/* ---------------------------------------------------------------------- -fix_controller.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_controller.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_controller.cpp:------------------------------------------------------------------------- */ -fix_controller.cpp:/* ---------------------------------------------------------------------- */ -fix_controller.cpp: // process variable arg -fix_controller.cpp: // setpoint arg -fix_controller.cpp: // control variable arg -fix_controller.cpp: // error check -fix_controller.cpp:/* ---------------------------------------------------------------------- */ -fix_controller.cpp:/* ---------------------------------------------------------------------- */ -fix_controller.cpp:/* ---------------------------------------------------------------------- */ -fix_controller.cpp: // set sampling time -fix_controller.cpp:/* ---------------------------------------------------------------------- */ -fix_controller.cpp: // current value of pv = invocation of compute,fix,variable -fix_controller.cpp: // compute/fix/variable may invoke computes so wrap with clear/add -fix_controller.cpp: // invoke compute if not previously invoked -fix_controller.cpp: // access fix field, guaranteed to be ready -fix_controller.cpp: // evaluate equal-style variable -fix_controller.cpp: // new control var = f(old value, current process var, setpoint) -fix_controller.cpp: // cv = cvold -kp*err -ki*sumerr -kd*deltaerr -fix_controller.cpp: // note: this deviates from standard notation, which is -fix_controller.cpp: // cv = kp*err +ki*sumerr +kd*deltaerr -fix_controller.cpp: // the difference is in the sign and the time integral -fix_controller.cpp: // 3 terms of PID equation -fix_controller.cpp: // reset control variable -fix_controller.cpp:/* ---------------------------------------------------------------------- */ -fix_controller.cpp:/* ---------------------------------------------------------------------- -fix_controller.cpp:------------------------------------------------------------------------- */ -fix.cpp:/* ---------------------------------------------------------------------- -fix.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix.cpp:------------------------------------------------------------------------- */ -fix.cpp:// allocate space for static class instance variable and initialize it -fix.cpp:/* ---------------------------------------------------------------------- */ -fix.cpp: // fix ID, group, and style -fix.cpp: // ID must be all alphanumeric chars or underscores -fix.cpp: // reasonable defaults -fix.cpp: // however, each fix that uses these values should explicitly set them -fix.cpp: // per-atom virial -fix.cpp: // set vflag_atom = 0 b/c some fixes grow vatom in grow_arrays() -fix.cpp: // which may occur outside of timestepping -fix.cpp: // KOKKOS per-fix data masks -fix.cpp:/* ---------------------------------------------------------------------- */ -fix.cpp:/* ---------------------------------------------------------------------- -fix.cpp:------------------------------------------------------------------------- */ -fix.cpp: if (strcmp(arg[iarg],"dynamic/dof") == 0) { -fix.cpp:/* ---------------------------------------------------------------------- -fix.cpp:------------------------------------------------------------------------- */ -fix.cpp: eflag_atom = eflag / 2; -fix.cpp: vflag_atom = vflag / 4; -fix.cpp: // reallocate per-atom arrays if necessary -fix.cpp: // zero accumulators -fix.cpp: // no global energy variable to zero (unlike pair,bond,angle,etc) -fix.cpp: // fixes tally it individually via fix_modify energy yes and compute_scalar() -fix.cpp:/* ---------------------------------------------------------------------- -fix.cpp:------------------------------------------------------------------------- */ -fix.cpp: vflag_atom = vflag / 4; -fix.cpp: // reallocate per-atom array if necessary -fix.cpp: // zero accumulators -fix.cpp:/* ---------------------------------------------------------------------- -fix.cpp: tally per-atom energy and global/per-atom virial into accumulators -fix.cpp: increment per-atom energy of each atom in list by 1/total fraction -fix.cpp: this method can be used when fix computes energy/forces in post_force() -fix.cpp:------------------------------------------------------------------------- */ -fix.cpp: double fraction = eng/total; -fix.cpp:/* ---------------------------------------------------------------------- -fix.cpp: increment global virial by n/total fraction -fix.cpp: increment per-atom virial of each atom in list by 1/total fraction -fix.cpp:------------------------------------------------------------------------- */ -fix.cpp: double fraction = n/total; -fix.cpp: double fraction = 1.0/total; -fix_deform.cpp:/* ---------------------------------------------------------------------- -fix_deform.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_deform.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_deform.cpp:------------------------------------------------------------------------- */ -fix_deform.cpp:/* ---------------------------------------------------------------------- -fix_deform.cpp:------------------------------------------------------------------------- */ -fix_deform.cpp:// same as domain.cpp, fix_nvt_sllod.cpp, compute_temp_deform.cpp -fix_deform.cpp:/* ---------------------------------------------------------------------- */ -fix_deform.cpp: // set defaults -fix_deform.cpp: // parse arguments -fix_deform.cpp: // read options from end of input line -fix_deform.cpp: // no x remap effectively moves atoms within box, so set restart_pbc -fix_deform.cpp: // setup dimflags used by other classes to check for volume-change conflicts -fix_deform.cpp: // no tensile deformation on shrink-wrapped dims -fix_deform.cpp: // b/c shrink wrap will change box-length -fix_deform.cpp: // no tilt deformation on shrink-wrapped 2nd dim -fix_deform.cpp: // b/c shrink wrap will change tilt factor in domain::reset_box() -fix_deform.cpp: // apply scaling to FINAL,DELTA,VEL,WIGGLE since they have dist/vel units -fix_deform.cpp: // for 3,4,5: scaling is in 1st dimension, e.g. x for xz -fix_deform.cpp: // for VOLUME, setup links to other dims -fix_deform.cpp: // fixed, dynamic1, dynamic2 -fix_deform.cpp: // set varflag -fix_deform.cpp: // set initial values at time fix deform is issued -fix_deform.cpp: // reneighboring only forced if flips can occur due to shape changes -fix_deform.cpp:/* ---------------------------------------------------------------------- */ -fix_deform.cpp: // reset domain's h_rate = 0.0, since this fix may have made it non-zero -fix_deform.cpp:/* ---------------------------------------------------------------------- */ -fix_deform.cpp:/* ---------------------------------------------------------------------- */ -fix_deform.cpp: // error if more than one fix deform -fix_deform.cpp: // domain, fix nvt/sllod, compute temp/deform only work on single h_rate -fix_deform.cpp: // Kspace setting -fix_deform.cpp: // elapsed time for entire simulation, including multiple runs if defined -fix_deform.cpp: // check variables for VARIABLE style -fix_deform.cpp: // set start/stop values for box size and shape -fix_deform.cpp: // if single run, start is current values -fix_deform.cpp: // if multiple runs enabled via run start/stop settings, -fix_deform.cpp: // start is value when fix deform was issued -fix_deform.cpp: // if VARIABLE or NONE, no need to set -fix_deform.cpp: 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); -fix_deform.cpp: 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); -fix_deform.cpp: set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); -fix_deform.cpp: // compute min/max for WIGGLE = extrema tilt factor will ever reach -fix_deform.cpp: set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); -fix_deform.cpp: set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); -fix_deform.cpp: set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); -fix_deform.cpp: set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); -fix_deform.cpp: // if using tilt TRATE, then initial tilt must be non-zero -fix_deform.cpp: // if yz changes and will cause box flip, then xy cannot be changing -fix_deform.cpp: // yz = [3], xy = [5] -fix_deform.cpp: // this is b/c the flips would induce continuous changes in xz -fix_deform.cpp: // in order to keep the edge vectors of the flipped shape matrix -fix_deform.cpp: // an integer combination of the edge vectors of the unflipped shape matrix -fix_deform.cpp: // VARIABLE for yz is error, since no way to calculate if box flip occurs -fix_deform.cpp: // WIGGLE lo/hi flip test is on min/max oscillation limit, not tilt_stop -fix_deform.cpp: // only trigger actual errors if flipflag is set -fix_deform.cpp: if (lo/(set[1].hi_start-set[1].lo_start) < -0.5 || -fix_deform.cpp: hi/(set[1].hi_start-set[1].lo_start) > 0.5) flag = 1; -fix_deform.cpp: if (lo/(set[1].hi_stop-set[1].lo_stop) < -0.5 || -fix_deform.cpp: hi/(set[1].hi_stop-set[1].lo_stop) > 0.5) flag = 1; -fix_deform.cpp: // set domain->h_rate values for use by domain and other fixes/computes -fix_deform.cpp: // initialize all rates to 0.0 -fix_deform.cpp: // cannot set here for TRATE,VOLUME,WIGGLE,VARIABLE since not constant -fix_deform.cpp: dlo_dt = (set[i].lo_stop - set[i].lo_start) / delt; -fix_deform.cpp: dhi_dt = (set[i].hi_stop - set[i].hi_start) / delt; -fix_deform.cpp: h_rate[i] = (set[i].tilt_stop - set[i].tilt_start) / delt; -fix_deform.cpp: // detect if any rigid fixes exist so rigid bodies can be rescaled -fix_deform.cpp: // rfix[] = indices to each fix rigid -fix_deform.cpp:/* ---------------------------------------------------------------------- -fix_deform.cpp:------------------------------------------------------------------------- */ -fix_deform.cpp:/* ---------------------------------------------------------------------- */ -fix_deform.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -fix_deform.cpp: // wrap variable evaluations with clear/add -fix_deform.cpp: // set new box size -fix_deform.cpp: // for NONE, target is current box size -fix_deform.cpp: // for TRATE, set target directly based on current time, also set h_rate -fix_deform.cpp: // for WIGGLE, set target directly based on current time, also set h_rate -fix_deform.cpp: // for VARIABLE, set target directly via variable eval, also set h_rate -fix_deform.cpp: // for others except VOLUME, target is linear value between start and stop -fix_deform.cpp: 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); -fix_deform.cpp: 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); -fix_deform.cpp: h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * -fix_deform.cpp: cos(TWOPI*delt/set[i].tperiod); -fix_deform.cpp: // set new box size for VOLUME dims that are linked to other dims -fix_deform.cpp: // NOTE: still need to set h_rate for these dims -fix_deform.cpp: 0.5*(set[i].vol_start / -fix_deform.cpp: set[set[i].dynamic1].lo_target) / -fix_deform.cpp: 0.5*(set[i].vol_start / -fix_deform.cpp: set[set[i].dynamic1].lo_target) / -fix_deform.cpp: 0.5*(set[i].vol_start / -fix_deform.cpp: set[set[i].dynamic1].lo_target) / -fix_deform.cpp: 0.5*(set[i].vol_start / -fix_deform.cpp: set[set[i].dynamic1].lo_target) / -fix_deform.cpp: 0.5*sqrt(set[i].vol_start / -fix_deform.cpp: set[set[i].dynamic1].lo_target) / -fix_deform.cpp: 0.5*sqrt(set[i].vol_start / -fix_deform.cpp: set[set[i].dynamic1].lo_target) / -fix_deform.cpp: // for triclinic, set new box shape -fix_deform.cpp: // for NONE, target is current tilt -fix_deform.cpp: // for TRATE, set target directly based on current time. also set h_rate -fix_deform.cpp: // for WIGGLE, set target directly based on current time. also set h_rate -fix_deform.cpp: // for VARIABLE, set target directly via variable eval. also set h_rate -fix_deform.cpp: // for other styles, target is linear value between start and stop values -fix_deform.cpp: set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); -fix_deform.cpp: h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * -fix_deform.cpp: cos(TWOPI*delt/set[i].tperiod); -fix_deform.cpp: // tilt_target can be large positive or large negative value -fix_deform.cpp: // add/subtract box lengths until tilt_target is closest to current value -fix_deform.cpp: double current = h[i]/h[idenom]; -fix_deform.cpp: while (set[i].tilt_target/denom - current > 0.0) -fix_deform.cpp: while (set[i].tilt_target/denom - current < 0.0) -fix_deform.cpp: if (fabs(set[i].tilt_target/denom - 1.0 - current) < -fix_deform.cpp: fabs(set[i].tilt_target/denom - current)) -fix_deform.cpp: // if any tilt ratios exceed 0.5, set flip = 1 and compute new tilt values -fix_deform.cpp: // do not flip in x or y if non-periodic (can tilt but not flip) -fix_deform.cpp: // this is b/c the box length would be changed (dramatically) by flip -fix_deform.cpp: // if yz tilt exceeded, adjust C vector by one B vector -fix_deform.cpp: // if xz tilt exceeded, adjust C vector by one A vector -fix_deform.cpp: // if xy tilt exceeded, adjust B vector by one A vector -fix_deform.cpp: // check yz first since it may change xz, then xz check comes after -fix_deform.cpp: // flip is performed on next timestep, before reneighboring in pre-exchange() -fix_deform.cpp: double xprdinv = 1.0 / xprd; -fix_deform.cpp: double yprdinv = 1.0 / yprd; -fix_deform.cpp: // convert atoms and rigid bodies to lamda coords -fix_deform.cpp: // reset global and local box to new size/shape -fix_deform.cpp: // only if deform fix is controlling the dimension -fix_deform.cpp: // convert atoms and rigid bodies back to box coords -fix_deform.cpp: // redo KSpace coeffs since box has changed -fix_deform.cpp:/* ---------------------------------------------------------------------- */ -fix_deform.cpp:/* ---------------------------------------------------------------------- -fix_deform.cpp:------------------------------------------------------------------------- */ -fix_deprecated.cpp:/* ---------------------------------------------------------------------- -fix_deprecated.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_deprecated.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_deprecated.cpp:------------------------------------------------------------------------- */ -fix_deprecated.cpp:/* ---------------------------------------------------------------------- */ -fix_deprecated.cpp: if (strncmp(style,"ave/spatial",11) == 0) { -fix_deprecated.cpp: "NOTE: The fix styles 'ave/spatial' and 'ave/spatial/sphere' have been replaced\n" -fix_deprecated.cpp: "by the more general fix ave/chunk and compute chunk/atom commands.\n" -fix_deprecated.cpp: "All ave/spatial and ave/spatial/sphere functionality is available in these\n" -fix_deprecated.cpp: "new commands. These ave/spatial keywords & options are part of fix ave/chunk:\n" -fix_deprecated.cpp: "These ave/spatial keywords & options for binning are part of compute chunk/atom:\n" -fix_drag.cpp:/* ---------------------------------------------------------------------- -fix_drag.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_drag.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_drag.cpp:------------------------------------------------------------------------- */ -fix_drag.cpp:/* ---------------------------------------------------------------------- */ -fix_drag.cpp:/* ---------------------------------------------------------------------- */ -fix_drag.cpp:/* ---------------------------------------------------------------------- */ -fix_drag.cpp:/* ---------------------------------------------------------------------- */ -fix_drag.cpp:/* ---------------------------------------------------------------------- */ -fix_drag.cpp: // apply drag force to atoms in group of magnitude f_mag -fix_drag.cpp: // apply in direction (r-r0) if atom is further than delta away -fix_drag.cpp: prefactor = f_mag/r; -fix_drag.cpp:/* ---------------------------------------------------------------------- */ -fix_drag.cpp:/* ---------------------------------------------------------------------- -fix_drag.cpp:------------------------------------------------------------------------- */ -fix_drag.cpp: // only sum across procs one time -fix_dt_reset.cpp:/* ---------------------------------------------------------------------- -fix_dt_reset.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_dt_reset.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_dt_reset.cpp:------------------------------------------------------------------------- */ -fix_dt_reset.cpp:/* ---------------------------------------------------------------------- */ -fix_dt_reset.cpp: if (narg < 7) error->all(FLERR,"Illegal fix dt/reset command"); -fix_dt_reset.cpp: // set time_depend, else elapsed time accumulation can be messed up -fix_dt_reset.cpp: if (nevery <= 0) error->all(FLERR,"Illegal fix dt/reset command"); -fix_dt_reset.cpp: if (minbound && tmin < 0.0) error->all(FLERR,"Illegal fix dt/reset command"); -fix_dt_reset.cpp: if (maxbound && tmax < 0.0) error->all(FLERR,"Illegal fix dt/reset command"); -fix_dt_reset.cpp: error->all(FLERR,"Illegal fix dt/reset command"); -fix_dt_reset.cpp: if (xmax <= 0.0) error->all(FLERR,"Illegal fix dt/reset command"); -fix_dt_reset.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix dt/reset command"); -fix_dt_reset.cpp: else error->all(FLERR,"Illegal fix dt/reset command"); -fix_dt_reset.cpp: } else error->all(FLERR,"Illegal fix dt/reset command"); -fix_dt_reset.cpp: // setup scaling, based on xlattice parameter -fix_dt_reset.cpp: // initializations -fix_dt_reset.cpp:/* ---------------------------------------------------------------------- */ -fix_dt_reset.cpp:/* ---------------------------------------------------------------------- */ -fix_dt_reset.cpp: // set rRESPA flag -fix_dt_reset.cpp: // check for DCD or XTC dumps -fix_dt_reset.cpp: "Dump dcd/xtc timestamp may be wrong with fix dt/reset"); -fix_dt_reset.cpp:/* ---------------------------------------------------------------------- */ -fix_dt_reset.cpp:/* ---------------------------------------------------------------------- */ -fix_dt_reset.cpp: // compute vmax and amax of any atom in group -fix_dt_reset.cpp: if (rmass) massinv = 1.0/rmass[i]; -fix_dt_reset.cpp: else massinv = 1.0/mass[type[i]]; -fix_dt_reset.cpp: if (vsq > 0.0) dtv = xmax/sqrt(vsq); -fix_dt_reset.cpp: if (fsq > 0.0) dtf = sqrt(2.0*xmax/(ftm2v*sqrt(fsq)*massinv)); -fix_dt_reset.cpp: if (delr > xmax) dt *= xmax/delr; -fix_dt_reset.cpp: // if timestep didn't change, just return -fix_dt_reset.cpp: // else reset update->dt and other classes that depend on it -fix_dt_reset.cpp: // rRESPA, pair style, fixes -fix_dt_reset.cpp:/* ---------------------------------------------------------------------- */ -fix_enforce2d.cpp:/* ---------------------------------------------------------------------- -fix_enforce2d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_enforce2d.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_enforce2d.cpp:------------------------------------------------------------------------- */ -fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ -fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ -fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ -fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ -fix_enforce2d.cpp: // list of fixes with enforce2d methods -fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ -fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ -fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ -fix_enforce2d.cpp: // for systems with omega/angmom/torque, zero x and y components -fix_enforce2d.cpp: // invoke other fixes that enforce 2d -fix_enforce2d.cpp: // fix rigid variants -fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ -fix_enforce2d.cpp:/* ---------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- -fix_external.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_external.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_external.cpp:------------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- */ -fix_external.cpp: if (strcmp(arg[3],"pf/callback") == 0) { -fix_external.cpp: } else if (strcmp(arg[3],"pf/array") == 0) { -fix_external.cpp: // perform initial allocation of atom-based array -fix_external.cpp: // register with Atom class -fix_external.cpp:/* ---------------------------------------------------------------------- */ -fix_external.cpp: // unregister callbacks to this fix from Atom class -fix_external.cpp:/* ---------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- */ -fix_external.cpp:/* --------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- -fix_external.cpp:------------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- */ -fix_external.cpp: // invoke the callback in driver program -fix_external.cpp: // it will fill fexternal with forces -fix_external.cpp: // add forces from fexternal to atoms in group -fix_external.cpp:/* ---------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- -fix_external.cpp:------------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- -fix_external.cpp:------------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- -fix_external.cpp:------------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- -fix_external.cpp:------------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- -fix_external.cpp:------------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- -fix_external.cpp:------------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- -fix_external.cpp:------------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- -fix_external.cpp:------------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- -fix_external.cpp:------------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- -fix_external.cpp:------------------------------------------------------------------------- */ -fix_external.cpp:/* ---------------------------------------------------------------------- -fix_external.cpp:------------------------------------------------------------------------- */ -fix_force_spin.cpp:/* ---------------------------------------------------------------------- -fix_force_spin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_force_spin.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_force_spin.cpp:------------------------------------------------------------------------- */ -fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_force_spin.cpp: // 7 arguments for a force/spin fix command: -fix_force_spin.cpp: //(fix ID group force/spin magnitude (T or eV) style (zeeman or anisotropy) direction (3 cartesian coordinates) -fix_force_spin.cpp: //Magnetic interactions only coded for cartesian coordinates -fix_force_spin.cpp: } else error->all(FLERR,"Illegal fix force/spin command"); -fix_force_spin.cpp: degree2rad = MY_PI/180.0; -fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_force_spin.cpp: double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) -fix_force_spin.cpp: double mub = 5.78901e-5; //in eV/T -fix_force_spin.cpp: double gyro = mub/hbar; //in rad.THz/T -fix_force_spin.cpp: H_field *= gyro; //in rad.THz -fix_force_spin.cpp: Ka /= hbar; //in rad.THz -fix_force_spin.cpp: // check variables -fix_force_spin.cpp: // set magnetic field components once and for all -fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_force_spin.cpp: // update gravity due to variables -fix_force_spin.cpp: set_magneticforce(); //Update value of the mag. field if time-dependent -fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_force_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_force_spin.cpp://No acceleration for magnetic EOM, only a "magnetic force" -fix_force_spin.cpp:/* ---------------------------------------------------------------------- -fix_force_spin.cpp:------------------------------------------------------------------------- */ -fix_force_spin.cpp: // only sum across procs one time -fix_gravity.cpp:/* ---------------------------------------------------------------------- -fix_gravity.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_gravity.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_gravity.cpp:------------------------------------------------------------------------- */ -fix_gravity.cpp:/* ---------------------------------------------------------------------- */ -fix_gravity.cpp: degree2rad = MY_PI/180.0; -fix_gravity.cpp:/* ---------------------------------------------------------------------- */ -fix_gravity.cpp:/* ---------------------------------------------------------------------- */ -fix_gravity.cpp:/* ---------------------------------------------------------------------- */ -fix_gravity.cpp: // check variables -fix_gravity.cpp: // set gravity components once and for all -fix_gravity.cpp:/* ---------------------------------------------------------------------- */ -fix_gravity.cpp:/* ---------------------------------------------------------------------- */ -fix_gravity.cpp: // update gravity due to variables -fix_gravity.cpp:/* ---------------------------------------------------------------------- */ -fix_gravity.cpp:/* ---------------------------------------------------------------------- */ -fix_gravity.cpp: xgrav = xdir/length; -fix_gravity.cpp: ygrav = ydir/length; -fix_gravity.cpp: zgrav = zdir/length; -fix_gravity.cpp: xgrav = xdir/length; -fix_gravity.cpp: ygrav = ydir/length; -fix_gravity.cpp:/* ---------------------------------------------------------------------- -fix_gravity.cpp:------------------------------------------------------------------------- */ -fix_gravity.cpp: // only sum across procs one time -fix_group.cpp:/* ---------------------------------------------------------------------- -fix_group.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_group.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_group.cpp:------------------------------------------------------------------------- */ -fix_group.cpp:/* ---------------------------------------------------------------------- */ -fix_group.cpp: // dgroupbit = bitmask of dynamic group -fix_group.cpp: // group ID is last part of fix ID -fix_group.cpp: // process optional args -fix_group.cpp:/* ---------------------------------------------------------------------- */ -fix_group.cpp:/* ---------------------------------------------------------------------- */ -fix_group.cpp:/* ---------------------------------------------------------------------- */ -fix_group.cpp: // parent group cannot be dynamic -fix_group.cpp: // else order of FixGroup fixes would matter -fix_group.cpp: // set current indices for region and variable -fix_group.cpp: // warn if any FixGroup is not at tail end of all post_integrate fixes -fix_group.cpp:/* ---------------------------------------------------------------------- -fix_group.cpp:------------------------------------------------------------------------- */ -fix_group.cpp:/* ---------------------------------------------------------------------- */ -fix_group.cpp: // only assign atoms to group on steps that are multiples of nevery -fix_group.cpp:/* ---------------------------------------------------------------------- */ -fix_group.cpp:/* ---------------------------------------------------------------------- */ -fix_group.cpp: // invoke atom-style variable if defined -fix_group.cpp: memory->create(var,nlocal,"fix/group:varvalue"); -fix_group.cpp: // update region in case it has a variable dependence or is dynamic -fix_group.cpp: // set mask for each atom -fix_group.cpp: // only in group if in parent group, in region, variable is non-zero -fix_group.cpp: // if compute, fix, etc needs updated masks of ghost atoms, -fix_group.cpp: // it must do forward_comm() to update them -fix_halt.cpp:/* ---------------------------------------------------------------------- -fix_halt.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_halt.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_halt.cpp:------------------------------------------------------------------------- */ -fix_halt.cpp:/* ---------------------------------------------------------------------- */ -fix_halt.cpp: // comparison args -fix_halt.cpp: // parse optional args -fix_halt.cpp: // add nfirst to all computes that store invocation times -fix_halt.cpp: // since don't know a priori which are invoked via variables by this fix -fix_halt.cpp: // once in end_of_step() can set timestep for ones actually invoked -fix_halt.cpp: const bigint nfirst = (update->ntimestep/nevery)*nevery + nevery; -fix_halt.cpp:/* ---------------------------------------------------------------------- */ -fix_halt.cpp:/* ---------------------------------------------------------------------- */ -fix_halt.cpp:/* ---------------------------------------------------------------------- */ -fix_halt.cpp: // set ivar from current variable list -fix_halt.cpp: // settings used by TLIMIT -fix_halt.cpp: nextstep = (update->ntimestep/nevery)*nevery + nevery; -fix_halt.cpp:/* ---------------------------------------------------------------------- */ -fix_halt.cpp: // variable evaluation may invoke computes so wrap with clear/add -fix_halt.cpp: // check if halt is triggered, else just return -fix_halt.cpp: // hard halt -> exit LAMMPS -fix_halt.cpp: // soft/continue halt -> trigger timer to break from run loop -fix_halt.cpp: // print message with ID of fix halt in case multiple instances -fix_halt.cpp:/* ---------------------------------------------------------------------- -fix_halt.cpp:------------------------------------------------------------------------- */ -fix_halt.cpp: // continue halt -> subsequent runs are allowed -fix_halt.cpp:/* ---------------------------------------------------------------------- -fix_halt.cpp:------------------------------------------------------------------------- */ -fix_halt.cpp:/* ---------------------------------------------------------------------- -fix_halt.cpp: first project to 1/2 the run time, thereafter to end of run -fix_halt.cpp:------------------------------------------------------------------------- */ -fix_halt.cpp: static_cast (tratio*value/cpu * elapsed); -fix_halt.cpp: nextstep = (final/nevery)*nevery + nevery; -fix_heat.cpp:/* ---------------------------------------------------------------------- -fix_heat.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_heat.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_heat.cpp:------------------------------------------------------------------------- */ -fix_heat.cpp:/* ---------------------------------------------------------------------- -fix_heat.cpp:------------------------------------------------------------------------- */ -fix_heat.cpp:/* ---------------------------------------------------------------------- */ -fix_heat.cpp: // optional args -fix_heat.cpp:/* ---------------------------------------------------------------------- */ -fix_heat.cpp:/* ---------------------------------------------------------------------- */ -fix_heat.cpp:/* ---------------------------------------------------------------------- */ -fix_heat.cpp: // set index and check validity of region -fix_heat.cpp: // check variable -fix_heat.cpp: // cannot have 0 atoms in group -fix_heat.cpp:/* ---------------------------------------------------------------------- */ -fix_heat.cpp: // reallocate per-atom arrays if necessary -fix_heat.cpp: // evaluate variable -fix_heat.cpp: // vcm = center-of-mass velocity of scaled atoms -fix_heat.cpp: // add heat via scale factor on velocities for CONSTANT and EQUAL cases -fix_heat.cpp: // scale = velocity scale factor to accomplish eflux change in energy -fix_heat.cpp: // vsub = velocity subtracted from each atom to preserve momentum -fix_heat.cpp: // overall KE cannot go negative -fix_heat.cpp: (ke + heat - 0.5*vcmsq*masstotal)/(ke - 0.5*vcmsq*masstotal); -fix_heat.cpp: // add heat via per-atom scale factor on velocities for ATOM case -fix_heat.cpp: // vscale = velocity scale factor to accomplish eflux change in energy -fix_heat.cpp: // vsub = velocity subtracted from each atom to preserve momentum -fix_heat.cpp: // KE of an atom cannot go negative -fix_heat.cpp: (ke + heat - 0.5*vcmsq*masstotal)/(ke - 0.5*vcmsq*masstotal); -fix_heat.cpp: vsub[0] /= masstotal; -fix_heat.cpp: vsub[1] /= masstotal; -fix_heat.cpp: vsub[2] /= masstotal; -fix_heat.cpp: (ke + heat - 0.5*vcmsq*masstotal)/(ke - 0.5*vcmsq*masstotal); -fix_heat.cpp: vsub[0] /= masstotal; -fix_heat.cpp: vsub[1] /= masstotal; -fix_heat.cpp: vsub[2] /= masstotal; -fix_heat.cpp:/* ---------------------------------------------------------------------- */ -fix_heat.cpp: else average_scale = scale_sum_all/static_cast(ncount_all); -fix_heat.cpp:/* ---------------------------------------------------------------------- -fix_heat.cpp:------------------------------------------------------------------------- */ -fix_indent.cpp:/* ---------------------------------------------------------------------- -fix_indent.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_indent.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_indent.cpp:------------------------------------------------------------------------- */ -fix_indent.cpp:/* ---------------------------------------------------------------------- -fix_indent.cpp:------------------------------------------------------------------------- */ -fix_indent.cpp:/* ---------------------------------------------------------------------- */ -fix_indent.cpp: k3 = k/3.0; -fix_indent.cpp: // read options from end of input line -fix_indent.cpp: // setup scaling -fix_indent.cpp: // apply scaling factors to geometry -fix_indent.cpp:/* ---------------------------------------------------------------------- */ -fix_indent.cpp:/* ---------------------------------------------------------------------- */ -fix_indent.cpp:/* ---------------------------------------------------------------------- */ -fix_indent.cpp:/* ---------------------------------------------------------------------- */ -fix_indent.cpp:/* ---------------------------------------------------------------------- */ -fix_indent.cpp:/* ---------------------------------------------------------------------- */ -fix_indent.cpp: // indenter values, 0 = energy, 1-3 = force components -fix_indent.cpp: // wrap variable evaluations with clear/add -fix_indent.cpp: // spherical indenter -fix_indent.cpp: // ctr = current indenter center -fix_indent.cpp: // remap into periodic box -fix_indent.cpp: fx = delx*fmag/r; -fix_indent.cpp: fy = dely*fmag/r; -fix_indent.cpp: fz = delz*fmag/r; -fix_indent.cpp: // cylindrical indenter -fix_indent.cpp: // ctr = current indenter axis -fix_indent.cpp: // remap into periodic box -fix_indent.cpp: // 3rd coord is just near box for remap(), since isn't used -fix_indent.cpp: fx = delx*fmag/r; -fix_indent.cpp: fy = dely*fmag/r; -fix_indent.cpp: fz = delz*fmag/r; -fix_indent.cpp: // planar indenter -fix_indent.cpp: // plane = current plane position -fix_indent.cpp:/* ---------------------------------------------------------------------- */ -fix_indent.cpp:/* ---------------------------------------------------------------------- */ -fix_indent.cpp:/* ---------------------------------------------------------------------- -fix_indent.cpp:------------------------------------------------------------------------- */ -fix_indent.cpp: // only sum across procs one time -fix_indent.cpp:/* ---------------------------------------------------------------------- -fix_indent.cpp:------------------------------------------------------------------------- */ -fix_indent.cpp: // only sum across procs one time -fix_indent.cpp:/* ---------------------------------------------------------------------- -fix_indent.cpp:------------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- -fix_langevin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_langevin.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_langevin.cpp:------------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- -fix_langevin.cpp:------------------------------------------------------------------------- */ -fix_langevin.cpp:#define SINERTIA 0.4 // moment of inertia prefactor for sphere -fix_langevin.cpp:#define EINERTIA 0.2 // moment of inertia prefactor for ellipsoid -fix_langevin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin.cpp: // initialize Marsaglia RNG with processor-unique seed -fix_langevin.cpp: // allocate per-type arrays for force prefactors -fix_langevin.cpp: // optional args -fix_langevin.cpp: // set temperature = NULL, user can override via fix_modify if wants bias -fix_langevin.cpp: // flangevin is unallocated until first call to setup() -fix_langevin.cpp: // compute_scalar checks for this and returns 0.0 -fix_langevin.cpp: // if flangevin_allocated is not set -fix_langevin.cpp: // setup atom-based array for franprev -fix_langevin.cpp: // register with Atom class -fix_langevin.cpp: // no need to set peratom_flag, b/c data is for internal use only -fix_langevin.cpp: // initialize franprev to zero -fix_langevin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin.cpp: // check variable -fix_langevin.cpp: // if oflag or ascale set, check that all group particles are finite-size -fix_langevin.cpp: // set force prefactors -fix_langevin.cpp: gfactor1[i] = -atom->mass[i] / t_period / force->ftm2v; -fix_langevin.cpp: sqrt(24.0*force->boltz/t_period/update->dt/force->mvv2e) / -fix_langevin.cpp: gfactor1[i] *= 1.0/ratio[i]; -fix_langevin.cpp: gfactor2[i] *= 1.0/sqrt(ratio[i]); -fix_langevin.cpp: if (gjfflag) gjffac = 1.0/(1.0+update->dt/2.0/t_period); -fix_langevin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin.cpp: // enumerate all 2^6 possibilities for template parameters -fix_langevin.cpp: // this avoids testing them inside inner loop: -fix_langevin.cpp: // TSTYLEATOM, GJF, TALLY, BIAS, RMASS, ZERO -fix_langevin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- -fix_langevin.cpp:------------------------------------------------------------------------- */ -fix_langevin.cpp: // apply damping and thermostat to atoms in group -fix_langevin.cpp: // for Tp_TSTYLEATOM: -fix_langevin.cpp: // use per-atom per-coord target temperature -fix_langevin.cpp: // for Tp_GJF: -fix_langevin.cpp: // use Gronbech-Jensen/Farago algorithm -fix_langevin.cpp: // else use regular algorithm -fix_langevin.cpp: // for Tp_TALLY: -fix_langevin.cpp: // store drag plus random forces in flangevin[nlocal][3] -fix_langevin.cpp: // for Tp_BIAS: -fix_langevin.cpp: // calculate temperature since some computes require temp -fix_langevin.cpp: // computed on current nlocal atoms to remove bias -fix_langevin.cpp: // test v = 0 since some computes mask non-participating atoms via v = 0 -fix_langevin.cpp: // and added force has extra term not multiplied by v = 0 -fix_langevin.cpp: // for Tp_RMASS: -fix_langevin.cpp: // use per-atom masses -fix_langevin.cpp: // else use per-type masses -fix_langevin.cpp: // for Tp_ZERO: -fix_langevin.cpp: // sum random force over all atoms in group -fix_langevin.cpp: // subtract sum/count from each atom in group -fix_langevin.cpp: // reallocate flangevin if necessary -fix_langevin.cpp: gamma1 = -rmass[i] / t_period / ftm2v; -fix_langevin.cpp: gamma2 = sqrt(rmass[i]) * sqrt(24.0*boltz/t_period/dt/mvv2e) / ftm2v; -fix_langevin.cpp: gamma1 *= 1.0/ratio[type[i]]; -fix_langevin.cpp: gamma2 *= 1.0/sqrt(ratio[type[i]]) * tsqrt; -fix_langevin.cpp: // set total force to zero -fix_langevin.cpp: fsumall[0] /= count; -fix_langevin.cpp: fsumall[1] /= count; -fix_langevin.cpp: fsumall[2] /= count; -fix_langevin.cpp: // thermostat omega and angmom -fix_langevin.cpp:/* ---------------------------------------------------------------------- -fix_langevin.cpp:------------------------------------------------------------------------- */ -fix_langevin.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -fix_langevin.cpp: // if variable temp, evaluate variable, wrap with clear/add -fix_langevin.cpp: // reallocate tforce array if necessary -fix_langevin.cpp:/* ---------------------------------------------------------------------- -fix_langevin.cpp:------------------------------------------------------------------------- */ -fix_langevin.cpp: // rescale gamma1/gamma2 by 10/3 & sqrt(10/3) for spherical particles -fix_langevin.cpp: // does not affect rotational thermosatting -fix_langevin.cpp: // gives correct rotational diffusivity behavior -fix_langevin.cpp: double tendivthree = 10.0/3.0; -fix_langevin.cpp: gamma1 = -tendivthree*inertiaone / t_period / ftm2v; -fix_langevin.cpp: gamma2 = sqrt(inertiaone) * sqrt(80.0*boltz/t_period/dt/mvv2e) / ftm2v; -fix_langevin.cpp: gamma1 *= 1.0/ratio[type[i]]; -fix_langevin.cpp: gamma2 *= 1.0/sqrt(ratio[type[i]]) * tsqrt; -fix_langevin.cpp:/* ---------------------------------------------------------------------- -fix_langevin.cpp:------------------------------------------------------------------------- */ -fix_langevin.cpp: // rescale gamma1/gamma2 by ascale for aspherical particles -fix_langevin.cpp: // does not affect rotational thermosatting -fix_langevin.cpp: // gives correct rotational diffusivity behavior if (nearly) spherical -fix_langevin.cpp: // any value will be incorrect for rotational diffusivity if aspherical -fix_langevin.cpp: gamma1 = -ascale / t_period / ftm2v; -fix_langevin.cpp: gamma2 = sqrt(ascale*24.0*boltz/t_period/dt/mvv2e) / ftm2v; -fix_langevin.cpp: gamma1 *= 1.0/ratio[type[i]]; -fix_langevin.cpp: gamma2 *= 1.0/sqrt(ratio[type[i]]) * tsqrt; -fix_langevin.cpp:/* ---------------------------------------------------------------------- -fix_langevin.cpp:------------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin.cpp: sqrt(24.0*force->boltz/t_period/update->dt/force->mvv2e) / -fix_langevin.cpp: gfactor2[i] *= 1.0/sqrt(ratio[i]); -fix_langevin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin.cpp: // capture the very first energy transfer to thermal reservoir -fix_langevin.cpp: // convert midstep energy back to previous fullstep energy -fix_langevin.cpp:/* ---------------------------------------------------------------------- -fix_langevin.cpp:------------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- -fix_langevin.cpp:------------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- -fix_langevin.cpp:------------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- -fix_langevin.cpp:------------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- -fix_langevin.cpp:------------------------------------------------------------------------- */ -fix_langevin.cpp:/* ---------------------------------------------------------------------- -fix_langevin.cpp:------------------------------------------------------------------------- */ -fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- -fix_langevin_spin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_langevin_spin.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_langevin_spin.cpp:------------------------------------------------------------------------- */ -fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- -fix_langevin_spin.cpp:------------------------------------------------------------------------- */ -fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin_spin.cpp: if (narg != 7) error->all(FLERR,"Illegal fix langevin/spin command"); -fix_langevin_spin.cpp: if (alpha_t < 0.0) error->all(FLERR,"Fix langevin/spin transverse damping must be >= 0.0"); -fix_langevin_spin.cpp: if (alpha_l < 0.0) error->all(FLERR,"Fix langevin/spin transverse damping must be >= 0.0"); -fix_langevin_spin.cpp: if (seed <= 0) error->all(FLERR,"Illegal fix langevin/spin seed must be > 0"); -fix_langevin_spin.cpp: // initialize Marsaglia RNG with processor-unique seed -fix_langevin_spin.cpp: //random = new RanMars(lmp,seed + comm->me); -fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin_spin.cpp: // warn if any fix comes after this one -fix_langevin_spin.cpp: if (strcmp("force/spin",modify->fix[i]->style)==0) flag_force = MAX(flag_force,i); -fix_langevin_spin.cpp: if (strcmp("langevin/spin",modify->fix[i]->style)==0) flag_lang = i; -fix_langevin_spin.cpp: if (flag_force >= flag_lang) error->all(FLERR,"Fix langevin/spin should come after all other spin fixes"); -fix_langevin_spin.cpp: Gil_factor = 1.0/(1.0+(alpha_t)*(alpha_t)); -fix_langevin_spin.cpp: double hbar = force->hplanck/MY_2PI; //eV/(rad.THz) -fix_langevin_spin.cpp: D = (MY_2PI*Gil_factor*kb*temp)/hbar/dts; -fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_langevin_spin.cpp: // add the damping to the effective field of each spin -fix_langevin_spin.cpp: cpx = fmy*sz - fmz*sy;//Computing cross product -fix_langevin_spin.cpp: fmx -= alpha_t*cpx;//Taking the damping value away -fix_langevin_spin.cpp: //apply thermal effects adding random fields to fm -fix_langevin_spin.cpp: rx = sigma*random->gaussian();//Drawing random distributions -fix_langevin_spin.cpp: fm[i][0] += rx;//Adding random field -fix_langevin_spin.cpp: fm[i][0] *= Gil_factor;//Multiplying by Gilbert's prefactor -fix_langevin_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_lineforce.cpp:/* ---------------------------------------------------------------------- -fix_lineforce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_lineforce.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_lineforce.cpp:------------------------------------------------------------------------- */ -fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ -fix_lineforce.cpp: xdir /= len; -fix_lineforce.cpp: ydir /= len; -fix_lineforce.cpp: zdir /= len; -fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ -fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ -fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ -fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ -fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ -fix_lineforce.cpp:/* ---------------------------------------------------------------------- */ -fix_minimize.cpp:/* ---------------------------------------------------------------------- -fix_minimize.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_minimize.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_minimize.cpp:------------------------------------------------------------------------- */ -fix_minimize.cpp:/* ---------------------------------------------------------------------- */ -fix_minimize.cpp: // register callback to this fix from Atom class -fix_minimize.cpp: // don't perform initial allocation here, must wait until add_vector() -fix_minimize.cpp:/* ---------------------------------------------------------------------- */ -fix_minimize.cpp: // unregister callbacks to this fix from Atom class -fix_minimize.cpp: // delete locally stored data -fix_minimize.cpp:/* ---------------------------------------------------------------------- */ -fix_minimize.cpp:/* ---------------------------------------------------------------------- -fix_minimize.cpp: allocate/initialize memory for a new vector with N elements per atom -fix_minimize.cpp:------------------------------------------------------------------------- */ -fix_minimize.cpp:/* ---------------------------------------------------------------------- -fix_minimize.cpp:------------------------------------------------------------------------- */ -fix_minimize.cpp:/* ---------------------------------------------------------------------- -fix_minimize.cpp:------------------------------------------------------------------------- */ -fix_minimize.cpp:/* ---------------------------------------------------------------------- -fix_minimize.cpp:------------------------------------------------------------------------- */ -fix_minimize.cpp:/* ---------------------------------------------------------------------- -fix_minimize.cpp:------------------------------------------------------------------------- */ -fix_minimize.cpp:/* ---------------------------------------------------------------------- -fix_minimize.cpp:------------------------------------------------------------------------- */ -fix_minimize.cpp:/* ---------------------------------------------------------------------- -fix_minimize.cpp:------------------------------------------------------------------------- */ -fix_minimize.cpp:/* ---------------------------------------------------------------------- -fix_minimize.cpp:------------------------------------------------------------------------- */ -fix_minimize.cpp:/* ---------------------------------------------------------------------- -fix_minimize.cpp:------------------------------------------------------------------------- */ -fix_minimize.cpp:/* ---------------------------------------------------------------------- -fix_minimize.cpp:------------------------------------------------------------------------- */ -fix_momentum.cpp:/* ---------------------------------------------------------------------- -fix_momentum.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_momentum.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_momentum.cpp:------------------------------------------------------------------------- */ -fix_momentum.cpp:/* ---------------------------------------------------------------------- -fix_momentum.cpp:------------------------------------------------------------------------- */ -fix_momentum.cpp:/* ---------------------------------------------------------------------- */ -fix_momentum.cpp:/* ---------------------------------------------------------------------- */ -fix_momentum.cpp:/* ---------------------------------------------------------------------- */ -fix_momentum.cpp:/* ---------------------------------------------------------------------- */ -fix_momentum.cpp: // do nothing is group is empty, i.e. mass is zero; -fix_momentum.cpp: // compute kinetic energy before momentum removal, if needed -fix_momentum.cpp: // adjust velocities by vcm to zero linear momentum -fix_momentum.cpp: // only adjust a component if flag is set -fix_momentum.cpp: // adjust velocities to zero omega -fix_momentum.cpp: // vnew_i = v_i - w x r_i -fix_momentum.cpp: // must use unwrapped coords to compute r_i correctly -fix_momentum.cpp: // compute kinetic energy after momentum removal, if needed -fix_momentum.cpp: if (ekin_new != 0.0) factor = sqrt(ekin_old/ekin_new); -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_move.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp:#define INERTIA 0.2 // moment of inertia prefactor for ellipsoid -fix_move.cpp:/* ---------------------------------------------------------------------- */ -fix_move.cpp: // parse args -fix_move.cpp: // optional args -fix_move.cpp: // error checks and warnings -fix_move.cpp: // setup scaling and apply scaling factors to velocity & amplitude -fix_move.cpp: // set omega_rotate from period -fix_move.cpp: if (mstyle == WIGGLE || mstyle == ROTATE) omega_rotate = MY_2PI / period; -fix_move.cpp: // runit = unit vector along rotation axis -fix_move.cpp: runit[0] = axis[0]/len; -fix_move.cpp: runit[1] = axis[1]/len; -fix_move.cpp: runit[2] = axis[2]/len; -fix_move.cpp: // set flags for extra attributes particles may store -fix_move.cpp: // relevant extra attributes = omega, angmom, theta, quat -fix_move.cpp: // perform initial allocation of atom-based array -fix_move.cpp: // register with Atom class -fix_move.cpp: // AtomVec pointers to retrieve per-atom storage of extra quantities -fix_move.cpp: // xoriginal = initial unwrapped positions of atoms -fix_move.cpp: // toriginal = initial theta of lines -fix_move.cpp: // qoriginal = initial quat of extended particles -fix_move.cpp: // nrestart = size of per-atom restart data -fix_move.cpp: // nrestart = 1 + xorig + torig + qorig -fix_move.cpp: // time origin for movement = current timestep -fix_move.cpp:/* ---------------------------------------------------------------------- */ -fix_move.cpp: // unregister callbacks to this fix from Atom class -fix_move.cpp: // delete locally stored arrays -fix_move.cpp:/* ---------------------------------------------------------------------- */ -fix_move.cpp:/* ---------------------------------------------------------------------- */ -fix_move.cpp: // set indices and style of all variables -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp: // for linear: X = X0 + V*dt -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp: // for wiggle: X = X0 + A sin(w*dt) -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp: // for rotate by right-hand rule around omega: -fix_move.cpp: // P = point = vector = point of rotation -fix_move.cpp: // R = vector = axis of rotation -fix_move.cpp: // w = omega of rotation (from period) -fix_move.cpp: // X0 = xoriginal = initial coord of atom -fix_move.cpp: // R0 = runit = unit vector for R -fix_move.cpp: // D = X0 - P = vector from P to X0 -fix_move.cpp: // C = (D dot R0) R0 = projection of atom coord onto R line -fix_move.cpp: // A = D - C = vector from R line to X0 -fix_move.cpp: // B = R0 cross A = vector perp to A in plane of rotation -fix_move.cpp: // A,B define plane of circular rotation around R line -fix_move.cpp: // X = P + C + A cos(w*dt) + B sin(w*dt) -fix_move.cpp: // V = w R0 cross (A cos(w*dt) + B sin(w*dt)) -fix_move.cpp: // set any extra attributes affected by rotation -fix_move.cpp: // omega for spheres, lines, tris -fix_move.cpp: // angmom for ellipsoids, tris, and bodies -fix_move.cpp: // theta for lines -fix_move.cpp: // quats for ellipsoids, tris, and bodies -fix_move.cpp: // for variable: compute x,v from variables -fix_move.cpp: // NOTE: also allow for changes to extra attributes? -fix_move.cpp: // omega, angmom, theta, quat -fix_move.cpp: // only necessary if prescribed motion involves rotation -fix_move.cpp: // reallocate displace and velocity arrays as necessary -fix_move.cpp: // pre-compute variable values, wrap with clear/add -fix_move.cpp: // update x,v -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp: dtfm = dtf / rmass[i]; -fix_move.cpp: dtfm = dtf / mass[type[i]]; -fix_move.cpp:/* ---------------------------------------------------------------------- */ -fix_move.cpp: // outermost level - update v and x -fix_move.cpp: // all other levels - nothing -fix_move.cpp:/* ---------------------------------------------------------------------- */ -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp: // particle not in group -fix_move.cpp: // current time still equal fix creation time -fix_move.cpp: // backup particle to time_origin -fix_move.cpp: // set theta and quat extra attributes affected by rotation -fix_move.cpp: // theta for lines -fix_move.cpp: toriginal[i] = theta - 0.0; // NOTE: edit this line -fix_move.cpp: // quats for ellipsoids, tris, and bodies -fix_move.cpp: // qoriginal = f(quat,-delta); // NOTE: edit this line -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp: // skip to Nth set of extra values -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp:/* ---------------------------------------------------------------------- -fix_move.cpp:------------------------------------------------------------------------- */ -fix_move.cpp:/* ---------------------------------------------------------------------- */ -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_nh.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp: ---------------------------------------------------------------------- */ -fix_nh.cpp: if (narg < 4) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: // default values -fix_nh.cpp: // turn on tilt factor scaling, whenever applicable -fix_nh.cpp: // set fixed-point to default = center of cell -fix_nh.cpp: // used by FixNVTSllod to preserve non-default value -fix_nh.cpp: // process keywords -fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: "Target temperature for fix nvt/npt/nph cannot be 0.0"); -fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); -fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); -fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); -fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: else error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (drag < 0.0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: error->all(FLERR,"Fix nvt/npt/nph dilate group ID does not exist"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: // used by FixNVTSllod to preserve non-default value -fix_nh.cpp: if (mtchain < 1) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (mpchain < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: else error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (nc_tchain < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (nc_pchain < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (nreset_h0 < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: else error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: else error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: else error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: else error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: else if (strcmp(arg[iarg+1],"dipole/dlm") == 0) { -fix_nh.cpp: } else error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: // disc keyword is also parsed in fix/nh/sphere -fix_nh.cpp: } else error->all(FLERR,"Illegal fix nvt/npt/nph command"); -fix_nh.cpp: // error checks -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command pressure settings"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command pressure settings"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command pressure settings"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command pressure settings"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph command pressure settings"); -fix_nh.cpp: // require periodicity in tensile dimension -fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph on a non-periodic dimension"); -fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph on a non-periodic dimension"); -fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph on a non-periodic dimension"); -fix_nh.cpp: // require periodicity in 2nd dim of off-diagonal tilt component -fix_nh.cpp: "Cannot use fix nvt/npt/nph on a 2nd non-periodic dimension"); -fix_nh.cpp: "Cannot use fix nvt/npt/nph on a 2nd non-periodic dimension"); -fix_nh.cpp: "Cannot use fix nvt/npt/nph on a 2nd non-periodic dimension"); -fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph " -fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph " -fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph " -fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph with " -fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph with " -fix_nh.cpp: error->all(FLERR,"Cannot use fix nvt/npt/nph with " -fix_nh.cpp: error->all(FLERR,"Can not specify Pxy/Pxz/Pyz in " -fix_nh.cpp: "fix nvt/npt/nph with non-triclinic box"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph pressure settings"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph pressure settings"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph pressure settings"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph pressure settings"); -fix_nh.cpp: error->all(FLERR,"Invalid fix nvt/npt/nph pressure settings"); -fix_nh.cpp: error->all(FLERR,"Fix nvt/npt/nph damping parameters must be > 0.0"); -fix_nh.cpp: // set pstat_flag and box change and restart_pbc variables -fix_nh.cpp: // pstyle = TRICLINIC if any off-diagonal term is controlled -> 6 dof -fix_nh.cpp: // else pstyle = ISO if XYZ coupling or XY coupling in 2d -> 1 dof -fix_nh.cpp: // else pstyle = ANISO -> 3 dof -fix_nh.cpp: // pre_exchange only required if flips can occur due to shape changes -fix_nh.cpp: // convert input periods to frequencies -fix_nh.cpp: if (tstat_flag) t_freq = 1.0 / t_period; -fix_nh.cpp: if (p_flag[0]) p_freq[0] = 1.0 / p_period[0]; -fix_nh.cpp: if (p_flag[1]) p_freq[1] = 1.0 / p_period[1]; -fix_nh.cpp: if (p_flag[2]) p_freq[2] = 1.0 / p_period[2]; -fix_nh.cpp: if (p_flag[3]) p_freq[3] = 1.0 / p_period[3]; -fix_nh.cpp: if (p_flag[4]) p_freq[4] = 1.0 / p_period[4]; -fix_nh.cpp: if (p_flag[5]) p_freq[5] = 1.0 / p_period[5]; -fix_nh.cpp: // Nose/Hoover temp and pressure init -fix_nh.cpp: // add one extra dummy thermostat, set to zero -fix_nh.cpp: // add one extra dummy thermostat, set to zero -fix_nh.cpp: // initialize vol0,t0 to zero to signal uninitialized -fix_nh.cpp: // values then assigned in init(), if necessary -fix_nh.cpp:/* ---------------------------------------------------------------------- */ -fix_nh.cpp: // delete temperature and pressure if fix created them -fix_nh.cpp:/* ---------------------------------------------------------------------- */ -fix_nh.cpp:/* ---------------------------------------------------------------------- */ -fix_nh.cpp: // recheck that dilate group has not been deleted -fix_nh.cpp: error->all(FLERR,"Fix nvt/npt/nph dilate group ID does not exist"); -fix_nh.cpp: // ensure no conflict with fix deform -fix_nh.cpp: // set temperature and pressure ptrs -fix_nh.cpp: error->all(FLERR,"Temperature ID for fix nvt/npt does not exist"); -fix_nh.cpp: error->all(FLERR,"Pressure ID for fix npt/nph does not exist"); -fix_nh.cpp: // set timesteps and frequencies -fix_nh.cpp: pdrag_factor = 1.0 - (update->dt * p_freq_max * drag / nc_pchain); -fix_nh.cpp: tdrag_factor = 1.0 - (update->dt * t_freq * drag / nc_tchain); -fix_nh.cpp: // tally the number of dimensions that are barostatted -fix_nh.cpp: // set initial volume and reference cell, if not already done -fix_nh.cpp: // detect if any rigid fixes exist so rigid bodies move when box is remapped -fix_nh.cpp: // rfix[] = indices to each fix rigid -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp: // tdof needed by compute_temp_target() -fix_nh.cpp: // t_target is needed by NVT and NPT in compute_scalar() -fix_nh.cpp: // If no thermostat or using fix nphug, -fix_nh.cpp: // t_target must be defined by other means. -fix_nh.cpp: // t0 = reference temperature for masses -fix_nh.cpp: // cannot be done in init() b/c temperature cannot be called there -fix_nh.cpp: // is b/c Modify::init() inits computes after fixes due to dof dependence -fix_nh.cpp: // guesstimate a unit-dependent t0 if actual T = 0.0 -fix_nh.cpp: // if it was read in from a restart file, leave it be -fix_nh.cpp: // masses and initial forces on thermostat variables -fix_nh.cpp: eta_mass[0] = tdof * boltz * t_target / (t_freq*t_freq); -fix_nh.cpp: eta_mass[ich] = boltz * t_target / (t_freq*t_freq); -fix_nh.cpp: boltz * t_target) / eta_mass[ich]; -fix_nh.cpp: // masses and initial forces on barostat variables -fix_nh.cpp: omega_mass[i] = nkt/(p_freq[i]*p_freq[i]); -fix_nh.cpp: if (p_flag[i]) omega_mass[i] = nkt/(p_freq[i]*p_freq[i]); -fix_nh.cpp: // masses and initial forces on barostat thermostat variables -fix_nh.cpp: etap_mass[0] = boltz * t_target / (p_freq_max*p_freq_max); -fix_nh.cpp: etap_mass[ich] = boltz * t_target / (p_freq_max*p_freq_max); -fix_nh.cpp: boltz * t_target) / etap_mass[ich]; -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp: // update eta_press_dot -fix_nh.cpp: // update eta_dot -fix_nh.cpp: // need to recompute pressure to account for change in KE -fix_nh.cpp: // t_current is up-to-date, but compute_temperature is not -fix_nh.cpp: // compute appropriately coupled elements of mvv_current -fix_nh.cpp: // remap simulation box by 1/2 step -fix_nh.cpp: // remap simulation box by 1/2 step -fix_nh.cpp: // redo KSpace coeffs since volume has changed -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp: // re-compute temp before nh_v_press() -fix_nh.cpp: // only needed for temperature computes with BIAS on reneighboring steps: -fix_nh.cpp: // b/c some biases store per-atom values (e.g. temp/profile) -fix_nh.cpp: // per-atom values are invalid if reneigh/comm occurred -fix_nh.cpp: // since temp->compute() in initial_integrate() -fix_nh.cpp: // compute new T,P after velocities rescaled by nh_v_press() -fix_nh.cpp: // compute appropriately coupled elements of mvv_current -fix_nh.cpp: // update eta_dot -fix_nh.cpp: // update eta_press_dot -fix_nh.cpp:/* ---------------------------------------------------------------------- */ -fix_nh.cpp: // set timesteps by level -fix_nh.cpp: // outermost level - update eta_dot and omega_dot, apply to v -fix_nh.cpp: // all other levels - NVE update of v -fix_nh.cpp: // x,v updates only performed for atoms in group -fix_nh.cpp: // update eta_press_dot -fix_nh.cpp: // update eta_dot -fix_nh.cpp: // recompute pressure to account for change in KE -fix_nh.cpp: // t_current is up-to-date, but compute_temperature is not -fix_nh.cpp: // compute appropriately coupled elements of mvv_current -fix_nh.cpp: // innermost level - also update x only for atoms in group -fix_nh.cpp: // if barostat, perform 1/2 step remap before and after -fix_nh.cpp: // if barostat, redo KSpace coeffs at outermost level, -fix_nh.cpp: // since volume has changed -fix_nh.cpp:/* ---------------------------------------------------------------------- */ -fix_nh.cpp: // set timesteps by level -fix_nh.cpp: // outermost level - update eta_dot and omega_dot, apply via final_integrate -fix_nh.cpp: // all other levels - NVE update of v -fix_nh.cpp:/* ---------------------------------------------------------------------- */ -fix_nh.cpp: double ave = 1.0/3.0 * (tensor[0] + tensor[1] + tensor[2]); -fix_nh.cpp: // switch order from xy-xz-yz to Voigt -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp: // omega is not used, except for book-keeping -fix_nh.cpp: // convert pertinent atoms and rigid bodies to lamda coords -fix_nh.cpp: // reset global and local box to new size/shape -fix_nh.cpp: // this operation corresponds to applying the -fix_nh.cpp: // translate and scale operations -fix_nh.cpp: // corresponding to the solution of the following ODE: -fix_nh.cpp: // -fix_nh.cpp: // h_dot = omega_dot * h -fix_nh.cpp: // -fix_nh.cpp: // where h_dot, omega_dot and h are all upper-triangular -fix_nh.cpp: // 3x3 tensors. In Voigt notation, the elements of the -fix_nh.cpp: // RHS product tensor are: -fix_nh.cpp: // h_dot = [0*0, 1*1, 2*2, 1*3+3*2, 0*4+5*3+4*2, 0*5+5*1] -fix_nh.cpp: // -fix_nh.cpp: // Ordering of operations preserves time symmetry. -fix_nh.cpp: double dto2 = dto/2.0; -fix_nh.cpp: double dto4 = dto/4.0; -fix_nh.cpp: double dto8 = dto/8.0; -fix_nh.cpp: // off-diagonal components, first half -fix_nh.cpp: // scale diagonal components -fix_nh.cpp: // scale tilt factors with cell, if set -fix_nh.cpp: // off-diagonal components, second half -fix_nh.cpp: // tilt factor to cell length ratio can not exceed TILTMAX in one step -fix_nh.cpp: error->all(FLERR,"Fix npt/nph has tilted box too far in one step - " -fix_nh.cpp: // convert pertinent atoms and rigid bodies back to box coords -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp:/* ---------------------------------------------------------------------- */ -fix_nh.cpp: // reset id_temp of pressure to new temperature ID -fix_nh.cpp:/* ---------------------------------------------------------------------- */ -fix_nh.cpp: // thermostat chain energy is equivalent to Eq. (2) in -fix_nh.cpp: // Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117 -fix_nh.cpp: // Sum(0.5*p_eta_k^2/Q_k,k=1,M) + L*k*T*eta_1 + Sum(k*T*eta_k,k=2,M), -fix_nh.cpp: // where L = tdof -fix_nh.cpp: // M = mtchain -fix_nh.cpp: // p_eta_k = Q_k*eta_dot[k-1] -fix_nh.cpp: // Q_1 = L*k*T/t_freq^2 -fix_nh.cpp: // Q_k = k*T/t_freq^2, k > 1 -fix_nh.cpp: // barostat energy is equivalent to Eq. (8) in -fix_nh.cpp: // Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117 -fix_nh.cpp: // Sum(0.5*p_omega^2/W + P*V), -fix_nh.cpp: // where N = natoms -fix_nh.cpp: // p_omega = W*omega_dot -fix_nh.cpp: // W = N*k*T/p_freq^2 -fix_nh.cpp: // sum is over barostatted dimensions -fix_nh.cpp: p_hydro*(volume-vol0) / (pdim*nktv2p); -fix_nh.cpp: // extra contributions from thermostat chain for barostat -fix_nh.cpp: // extra contribution from strain energy -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp: return p_hydro*(volume-vol0) / nktv2p; -fix_nh.cpp: return p_hydro*(volume-vol0) / (pdim*nktv2p); -fix_nh.cpp: return p_hydro*(volume-vol0) / (pdim*nktv2p); -fix_nh.cpp:/* ---------------------------------------------------------------------- */ -fix_nh.cpp:/* ---------------------------------------------------------------------- */ -fix_nh.cpp: // If using respa, then remap is performed in innermost level -fix_nh.cpp: pdrag_factor = 1.0 - (update->dt * p_freq_max * drag / nc_pchain); -fix_nh.cpp: tdrag_factor = 1.0 - (update->dt * t_freq * drag / nc_tchain); -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp: // Update masses, to preserve initial freq, if flag set -fix_nh.cpp: eta_mass[0] = tdof * boltz * t_target / (t_freq*t_freq); -fix_nh.cpp: eta_mass[ich] = boltz * t_target / (t_freq*t_freq); -fix_nh.cpp: eta_dotdot[0] = (kecurrent - ke_target)/eta_mass[0]; -fix_nh.cpp: double ncfac = 1.0/nc_tchain; -fix_nh.cpp: // rescale temperature due to velocity scaling -fix_nh.cpp: // should not be necessary to explicitly recompute the temperature -fix_nh.cpp: eta_dotdot[0] = (kecurrent - ke_target)/eta_mass[0]; -fix_nh.cpp: - boltz * t_target)/eta_mass[ich]; -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp: // Update masses, to preserve initial freq, if flag set -fix_nh.cpp: omega_mass[i] = nkt/(p_freq[i]*p_freq[i]); -fix_nh.cpp: if (p_flag[i]) omega_mass[i] = nkt/(p_freq[i]*p_freq[i]); -fix_nh.cpp: etap_mass[0] = boltz * t_target / (p_freq_max*p_freq_max); -fix_nh.cpp: etap_mass[ich] = boltz * t_target / (p_freq_max*p_freq_max); -fix_nh.cpp: boltz * t_target) / etap_mass[ich]; -fix_nh.cpp: etap_dotdot[0] = (kecurrent - lkt_press)/etap_mass[0]; -fix_nh.cpp: double ncfac = 1.0/nc_pchain; -fix_nh.cpp: etap_dotdot[0] = (kecurrent - lkt_press)/etap_mass[0]; -fix_nh.cpp: (etap_mass[ich-1]*etap_dot[ich-1]*etap_dot[ich-1] - boltz*t_target) / -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:-----------------------------------------------------------------------*/ -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:-----------------------------------------------------------------------*/ -fix_nh.cpp: dtfm = dtf / rmass[i]; -fix_nh.cpp: dtfm = dtf / mass[type[i]]; -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:-----------------------------------------------------------------------*/ -fix_nh.cpp: // x update by full step only for atoms in group -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:-----------------------------------------------------------------------*/ -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:-----------------------------------------------------------------------*/ -fix_nh.cpp: // if nreset_h0 > 0, reset vol0 and h0_inv -fix_nh.cpp: // every nreset_h0 timesteps -fix_nh.cpp: // generate upper-triangular half of -fix_nh.cpp: // sigma = vol0*h0inv*(p_target-p_hydro)*h0inv^t -fix_nh.cpp: // units of sigma are are PV/L^2 e.g. atm.A -fix_nh.cpp: // -fix_nh.cpp: // [ 0 5 4 ] [ 0 5 4 ] [ 0 5 4 ] [ 0 - - ] -fix_nh.cpp: // [ 5 1 3 ] = [ - 1 3 ] [ 5 1 3 ] [ 5 1 - ] -fix_nh.cpp: // [ 4 3 2 ] [ - - 2 ] [ 4 3 2 ] [ 4 3 2 ] -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:-----------------------------------------------------------------------*/ -fix_nh.cpp: // compute strain energy = 0.5*Tr(sigma*h*h^t) in energy units -fix_nh.cpp: double energy = 0.5*(d0+d1+d2)/nktv2p; -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:-----------------------------------------------------------------------*/ -fix_nh.cpp: // generate upper-triangular part of h*sigma*h^t -fix_nh.cpp: // units of fdev are are PV, e.g. atm*A^3 -fix_nh.cpp: // [ 0 5 4 ] [ 0 5 4 ] [ 0 5 4 ] [ 0 - - ] -fix_nh.cpp: // [ 5 1 3 ] = [ - 1 3 ] [ 5 1 3 ] [ 5 1 - ] -fix_nh.cpp: // [ 4 3 2 ] [ - - 2 ] [ 4 3 2 ] [ 4 3 2 ] -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:-----------------------------------------------------------------------*/ -fix_nh.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:-----------------------------------------------------------------------*/ -fix_nh.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -fix_nh.cpp: if (pdim > 0) p_hydro /= pdim; -fix_nh.cpp: // if deviatoric, recompute sigma each time p_target changes -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:-----------------------------------------------------------------------*/ -fix_nh.cpp: mtk_term1 /= pdim * atom->natoms; -fix_nh.cpp: mtk_term1 /= pdim * atom->natoms; -fix_nh.cpp: f_omega = (p_current[i]-p_hydro)*volume / -fix_nh.cpp: (omega_mass[i] * nktv2p) + mtk_term1 / omega_mass[i]; -fix_nh.cpp: if (deviatoric_flag) f_omega -= fdev[i]/(omega_mass[i] * nktv2p); -fix_nh.cpp: if (pdim > 0) mtk_term2 /= pdim * atom->natoms; -fix_nh.cpp: f_omega = p_current[i]*volume/(omega_mass[i] * nktv2p); -fix_nh.cpp: f_omega -= fdev[i]/(omega_mass[i] * nktv2p); -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp: this is b/c the box length would be changed (dramatically) by flip -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh.cpp: // flip is only triggered when tilt exceeds 0.5 by DELTAFLIP -fix_nh.cpp: // this avoids immediate re-flipping due to tilt oscillations -fix_nh.cpp:/* ---------------------------------------------------------------------- -fix_nh.cpp:------------------------------------------------------------------------- */ -fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- -fix_nh_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_nh_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_nh_sphere.cpp:------------------------------------------------------------------------- */ -fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- -fix_nh_sphere.cpp:------------------------------------------------------------------------- */ -fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- */ -fix_nh_sphere.cpp: error->all(FLERR,"Fix nvt/nph/npt sphere requires atom style sphere"); -fix_nh_sphere.cpp: // inertia = moment of inertia prefactor for sphere or disc -fix_nh_sphere.cpp: "Fix nvt/nph/npt sphere disc option requires 2d simulation"); -fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- */ -fix_nh_sphere.cpp: // check that all particles are finite-size -fix_nh_sphere.cpp: // no point particles allowed -fix_nh_sphere.cpp: error->one(FLERR,"Fix nvt/npt/nph/sphere require extended particles"); -fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- -fix_nh_sphere.cpp:-----------------------------------------------------------------------*/ -fix_nh_sphere.cpp: // standard nve_v velocity update -fix_nh_sphere.cpp: // set timestep here since dt may have changed or come via rRESPA -fix_nh_sphere.cpp: double dtfrotate = dtf / inertia; -fix_nh_sphere.cpp: // update omega for all particles -fix_nh_sphere.cpp: // d_omega/dt = torque / inertia -fix_nh_sphere.cpp: // 4 cases depending on radius vs shape and rmass vs mass -fix_nh_sphere.cpp: dtirotate = dtfrotate / (radius[i]*radius[i]*rmass[i]); -fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- -fix_nh_sphere.cpp:-----------------------------------------------------------------------*/ -fix_nh_sphere.cpp: // standard nve_x position update -fix_nh_sphere.cpp: // update mu for dipoles -fix_nh_sphere.cpp: // d_mu/dt = omega cross mu -fix_nh_sphere.cpp: // renormalize mu to dipole length -fix_nh_sphere.cpp: scale = mu[i][3]/sqrt(msq); -fix_nh_sphere.cpp: // Integrate orientation following Dullweber-Leimkuhler-Maclachlan scheme -fix_nh_sphere.cpp: // Construct Q from dipole: -fix_nh_sphere.cpp: // Q is the rotation matrix from space frame to body frame -fix_nh_sphere.cpp: // i.e. v_b = Q.v_s -fix_nh_sphere.cpp: // Define mu to lie along the z axis in the body frame -fix_nh_sphere.cpp: // We take the unit dipole to avoid getting a scaling matrix -fix_nh_sphere.cpp: inv_len_mu = 1.0/mu[i][3]; -fix_nh_sphere.cpp: // v = a x [0 0 1] - cross product of mu in space and body frames -fix_nh_sphere.cpp: // s = |v| -fix_nh_sphere.cpp: // c = a.[0 0 1] = a[2] -fix_nh_sphere.cpp: // vx = [ 0 -v[2] v[1] -fix_nh_sphere.cpp: // v[2] 0 -v[0] -fix_nh_sphere.cpp: // -v[1] v[0] 0 ] -fix_nh_sphere.cpp: // then -fix_nh_sphere.cpp: // Q = I + vx + vx^2 * (1-c)/s^2 -fix_nh_sphere.cpp: if (s2 != 0.0){ // i.e. the vectors are not parallel -fix_nh_sphere.cpp: scale = (1.0 - a[2])/s2; -fix_nh_sphere.cpp: } else { // if parallel then we just have I or -I -fix_nh_sphere.cpp: Q[0][0] = 1.0/a[2]; Q[0][1] = 0.0; Q[0][2] = 0.0; -fix_nh_sphere.cpp: Q[1][0] = 0.0; Q[1][1] = 1.0/a[2]; Q[1][2] = 0.0; -fix_nh_sphere.cpp: Q[2][0] = 0.0; Q[2][1] = 0.0; Q[2][2] = 1.0/a[2]; -fix_nh_sphere.cpp: // Local copy of this particle's angular velocity (in space frame) -fix_nh_sphere.cpp: // Transform omega into body frame: w_temp= Q.w -fix_nh_sphere.cpp: // Construct rotation R1 -fix_nh_sphere.cpp: BuildRxMatrix(R, dtf/force->ftm2v*w_temp[0]); -fix_nh_sphere.cpp: // Apply R1 to w: w = R.w_temp -fix_nh_sphere.cpp: // Apply R1 to Q: Q_temp = R^T.Q -fix_nh_sphere.cpp: // Construct rotation R2 -fix_nh_sphere.cpp: BuildRyMatrix(R, dtf/force->ftm2v*w[1]); -fix_nh_sphere.cpp: // Apply R2 to w: w_temp = R.w -fix_nh_sphere.cpp: // Apply R2 to Q: Q = R^T.Q_temp -fix_nh_sphere.cpp: // Construct rotation R3 -fix_nh_sphere.cpp: BuildRzMatrix(R, 2.0*dtf/force->ftm2v*w_temp[2]); -fix_nh_sphere.cpp: // Apply R3 to w: w = R.w_temp -fix_nh_sphere.cpp: // Apply R3 to Q: Q_temp = R^T.Q -fix_nh_sphere.cpp: // Construct rotation R4 -fix_nh_sphere.cpp: BuildRyMatrix(R, dtf/force->ftm2v*w[1]); -fix_nh_sphere.cpp: // Apply R4 to w: w_temp = R.w -fix_nh_sphere.cpp: // Apply R4 to Q: Q = R^T.Q_temp -fix_nh_sphere.cpp: // Construct rotation R5 -fix_nh_sphere.cpp: BuildRxMatrix(R, dtf/force->ftm2v*w_temp[0]); -fix_nh_sphere.cpp: // Apply R5 to w: w = R.w_temp -fix_nh_sphere.cpp: // Apply R5 to Q: Q_temp = R^T.Q -fix_nh_sphere.cpp: // Transform w back into space frame w_temp = Q^T.w -fix_nh_sphere.cpp: // Set dipole according to updated Q: mu = Q^T.[0 0 1] * |mu| -fix_nh_sphere.cpp:/* ---------------------------------------------------------------------- -fix_nh_sphere.cpp:-----------------------------------------------------------------------*/ -fix_nh_sphere.cpp: // standard nh_v_temp scaling -fix_nph.cpp:/* ---------------------------------------------------------------------- -fix_nph.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_nph.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_nph.cpp:------------------------------------------------------------------------- */ -fix_nph.cpp:/* ---------------------------------------------------------------------- */ -fix_nph.cpp: // create a new compute temp style -fix_nph.cpp: // id = fix-ID + temp -fix_nph.cpp: // compute group = all since pressure is always global (group all) -fix_nph.cpp: // and thus its KE/temperature contribution should use group all -fix_nph.cpp: // create a new compute pressure style -fix_nph.cpp: // id = fix-ID + press, compute group = all -fix_nph.cpp: // pass id_temp as 4th arg to pressure constructor -fix_nph_sphere.cpp:/* ---------------------------------------------------------------------- -fix_nph_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_nph_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_nph_sphere.cpp:------------------------------------------------------------------------- */ -fix_nph_sphere.cpp:/* ---------------------------------------------------------------------- */ -fix_nph_sphere.cpp: error->all(FLERR,"Temperature control can not be used with fix nph/sphere"); -fix_nph_sphere.cpp: error->all(FLERR,"Pressure control must be used with fix nph/sphere"); -fix_nph_sphere.cpp: // create a new compute temp style -fix_nph_sphere.cpp: // id = fix-ID + temp -fix_nph_sphere.cpp: // compute group = all since pressure is always global (group all) -fix_nph_sphere.cpp: // and thus its KE/temperature contribution should use group all -fix_nph_sphere.cpp: newarg[2] = (char *) "temp/sphere"; -fix_nph_sphere.cpp: // create a new compute pressure style -fix_nph_sphere.cpp: // id = fix-ID + press, compute group = all -fix_nph_sphere.cpp: // pass id_temp as 4th arg to pressure constructor -fix_npt.cpp:/* ---------------------------------------------------------------------- -fix_npt.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_npt.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_npt.cpp:------------------------------------------------------------------------- */ -fix_npt.cpp:/* ---------------------------------------------------------------------- */ -fix_npt.cpp: // create a new compute temp style -fix_npt.cpp: // id = fix-ID + temp -fix_npt.cpp: // compute group = all since pressure is always global (group all) -fix_npt.cpp: // and thus its KE/temperature contribution should use group all -fix_npt.cpp: // create a new compute pressure style -fix_npt.cpp: // id = fix-ID + press, compute group = all -fix_npt.cpp: // pass id_temp as 4th arg to pressure constructor -fix_npt_sphere.cpp:/* ---------------------------------------------------------------------- -fix_npt_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_npt_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_npt_sphere.cpp:------------------------------------------------------------------------- */ -fix_npt_sphere.cpp:/* ---------------------------------------------------------------------- */ -fix_npt_sphere.cpp: error->all(FLERR,"Temperature control must be used with fix npt/sphere"); -fix_npt_sphere.cpp: error->all(FLERR,"Pressure control must be used with fix npt/sphere"); -fix_npt_sphere.cpp: // create a new compute temp style -fix_npt_sphere.cpp: // id = fix-ID + temp -fix_npt_sphere.cpp: // compute group = all since pressure is always global (group all) -fix_npt_sphere.cpp: // and thus its KE/temperature contribution should use group all -fix_npt_sphere.cpp: newarg[2] = (char *) "temp/sphere"; -fix_npt_sphere.cpp: // create a new compute pressure style -fix_npt_sphere.cpp: // id = fix-ID + press, compute group = all -fix_npt_sphere.cpp: // pass id_temp as 4th arg to pressure constructor -fix_nve.cpp:/* ---------------------------------------------------------------------- -fix_nve.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_nve.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_nve.cpp:------------------------------------------------------------------------- */ -fix_nve.cpp:/* ---------------------------------------------------------------------- */ -fix_nve.cpp: if (strcmp(style,"nve/sphere") != 0 && narg < 3) -fix_nve.cpp:/* ---------------------------------------------------------------------- */ -fix_nve.cpp:/* ---------------------------------------------------------------------- */ -fix_nve.cpp:/* ---------------------------------------------------------------------- -fix_nve.cpp:------------------------------------------------------------------------- */ -fix_nve.cpp: // update v and x of atoms in group -fix_nve.cpp: dtfm = dtf / rmass[i]; -fix_nve.cpp: dtfm = dtf / mass[type[i]]; -fix_nve.cpp:/* ---------------------------------------------------------------------- */ -fix_nve.cpp: // update v of atoms in group -fix_nve.cpp: dtfm = dtf / rmass[i]; -fix_nve.cpp: dtfm = dtf / mass[type[i]]; -fix_nve.cpp:/* ---------------------------------------------------------------------- */ -fix_nve.cpp: // innermost level - NVE update of v and x -fix_nve.cpp: // all other levels - NVE update of v -fix_nve.cpp:/* ---------------------------------------------------------------------- */ -fix_nve.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_limit.cpp:/* ---------------------------------------------------------------------- -fix_nve_limit.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_nve_limit.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_nve_limit.cpp:------------------------------------------------------------------------- */ -fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_limit.cpp: if (narg != 4) error->all(FLERR,"Illegal fix nve/limit command"); -fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_limit.cpp: vlimitsq = (xlimit/dtv) * (xlimit/dtv); -fix_nve_limit.cpp: // warn if using fix shake, which will lead to invalid constraint forces -fix_nve_limit.cpp: error->warning(FLERR,"Should not use fix nve/limit with fix shake or fix rattle"); -fix_nve_limit.cpp:/* ---------------------------------------------------------------------- -fix_nve_limit.cpp:------------------------------------------------------------------------- */ -fix_nve_limit.cpp: dtfm = dtf / rmass[i]; -fix_nve_limit.cpp: scale = sqrt(vlimitsq/vsq); -fix_nve_limit.cpp: dtfm = dtf / mass[type[i]]; -fix_nve_limit.cpp: scale = sqrt(vlimitsq/vsq); -fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_limit.cpp: dtfm = dtf / rmass[i]; -fix_nve_limit.cpp: scale = sqrt(vlimitsq/vsq); -fix_nve_limit.cpp: dtfm = dtf / mass[type[i]]; -fix_nve_limit.cpp: scale = sqrt(vlimitsq/vsq); -fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_limit.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_limit.cpp: vlimitsq = (xlimit/dtv) * (xlimit/dtv); -fix_nve_limit.cpp:/* ---------------------------------------------------------------------- -fix_nve_limit.cpp:------------------------------------------------------------------------- */ -fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- -fix_nve_noforce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_nve_noforce.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_nve_noforce.cpp:------------------------------------------------------------------------- */ -fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_noforce.cpp: if (narg != 3) error->all(FLERR,"Illegal fix nve/noforce command"); -fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_noforce.cpp: if (flag) return; // only used by NPT,NPH -fix_nve_noforce.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_sphere.cpp:/* ---------------------------------------------------------------------- -fix_nve_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_nve_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_nve_sphere.cpp:------------------------------------------------------------------------- */ -fix_nve_sphere.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_sphere.cpp: if (narg < 3) error->all(FLERR,"Illegal fix nve/sphere command"); -fix_nve_sphere.cpp: // process extra keywords -fix_nve_sphere.cpp: // inertia = moment of inertia prefactor for sphere or disc -fix_nve_sphere.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix nve/sphere command"); -fix_nve_sphere.cpp: else if (strcmp(arg[iarg+1],"dipole/dlm") == 0) { -fix_nve_sphere.cpp: } else error->all(FLERR,"Illegal fix nve/sphere command"); -fix_nve_sphere.cpp: error->all(FLERR,"Fix nve/sphere disc requires 2d simulation"); -fix_nve_sphere.cpp: else error->all(FLERR,"Illegal fix nve/sphere command"); -fix_nve_sphere.cpp: // error checks -fix_nve_sphere.cpp: error->all(FLERR,"Fix nve/sphere requires atom style sphere"); -fix_nve_sphere.cpp: error->all(FLERR,"Fix nve/sphere update dipole requires atom attribute mu"); -fix_nve_sphere.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_sphere.cpp: // check that all particles are finite-size spheres -fix_nve_sphere.cpp: // no point particles allowed -fix_nve_sphere.cpp: error->one(FLERR,"Fix nve/sphere requires extended particles"); -fix_nve_sphere.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_sphere.cpp: // set timestep here since dt may have changed or come via rRESPA -fix_nve_sphere.cpp: double dtfrotate = dtf / inertia; -fix_nve_sphere.cpp: // update v,x,omega for all particles -fix_nve_sphere.cpp: // d_omega/dt = torque / inertia -fix_nve_sphere.cpp: dtfm = dtf / rmass[i]; -fix_nve_sphere.cpp: dtirotate = dtfrotate / (radius[i]*radius[i]*rmass[i]); -fix_nve_sphere.cpp: // update mu for dipoles -fix_nve_sphere.cpp: // d_mu/dt = omega cross mu -fix_nve_sphere.cpp: // renormalize mu to dipole length -fix_nve_sphere.cpp: scale = mu[i][3]/sqrt(msq); -fix_nve_sphere.cpp: // integrate orientation following Dullweber-Leimkuhler-Maclachlan scheme -fix_nve_sphere.cpp: // Construct Q from dipole: -fix_nve_sphere.cpp: // Q is the rotation matrix from space frame to body frame -fix_nve_sphere.cpp: // i.e. v_b = Q.v_s -fix_nve_sphere.cpp: // define mu to lie along the z axis in the body frame -fix_nve_sphere.cpp: // take the unit dipole to avoid getting a scaling matrix -fix_nve_sphere.cpp: inv_len_mu = 1.0/mu[i][3]; -fix_nve_sphere.cpp: // v = a x [0 0 1] - cross product of mu in space and body frames -fix_nve_sphere.cpp: // s = |v| -fix_nve_sphere.cpp: // c = a.[0 0 1] = a[2] -fix_nve_sphere.cpp: // vx = [ 0 -v[2] v[1] -fix_nve_sphere.cpp: // v[2] 0 -v[0] -fix_nve_sphere.cpp: // -v[1] v[0] 0 ] -fix_nve_sphere.cpp: // then -fix_nve_sphere.cpp: // Q = I + vx + vx^2 * (1-c)/s^2 -fix_nve_sphere.cpp: if (s2 != 0.0){ // i.e. the vectors are not parallel -fix_nve_sphere.cpp: scale = (1.0 - a[2])/s2; -fix_nve_sphere.cpp: } else { // if parallel then we just have I or -I -fix_nve_sphere.cpp: Q[0][0] = 1.0/a[2]; Q[0][1] = 0.0; Q[0][2] = 0.0; -fix_nve_sphere.cpp: Q[1][0] = 0.0; Q[1][1] = 1.0/a[2]; Q[1][2] = 0.0; -fix_nve_sphere.cpp: Q[2][0] = 0.0; Q[2][1] = 0.0; Q[2][2] = 1.0/a[2]; -fix_nve_sphere.cpp: // Local copy of this particle's angular velocity (in space frame) -fix_nve_sphere.cpp: // Transform omega into body frame: w_temp= Q.w -fix_nve_sphere.cpp: // Construct rotation R1 -fix_nve_sphere.cpp: BuildRxMatrix(R, dtf/force->ftm2v*w_temp[0]); -fix_nve_sphere.cpp: // Apply R1 to w: w = R.w_temp -fix_nve_sphere.cpp: // Apply R1 to Q: Q_temp = R^T.Q -fix_nve_sphere.cpp: // Construct rotation R2 -fix_nve_sphere.cpp: BuildRyMatrix(R, dtf/force->ftm2v*w[1]); -fix_nve_sphere.cpp: // Apply R2 to w: w_temp = R.w -fix_nve_sphere.cpp: // Apply R2 to Q: Q = R^T.Q_temp -fix_nve_sphere.cpp: // Construct rotation R3 -fix_nve_sphere.cpp: BuildRzMatrix(R, 2.0*dtf/force->ftm2v*w_temp[2]); -fix_nve_sphere.cpp: // Apply R3 to w: w = R.w_temp -fix_nve_sphere.cpp: // Apply R3 to Q: Q_temp = R^T.Q -fix_nve_sphere.cpp: // Construct rotation R4 -fix_nve_sphere.cpp: BuildRyMatrix(R, dtf/force->ftm2v*w[1]); -fix_nve_sphere.cpp: // Apply R4 to w: w_temp = R.w -fix_nve_sphere.cpp: // Apply R4 to Q: Q = R^T.Q_temp -fix_nve_sphere.cpp: // Construct rotation R5 -fix_nve_sphere.cpp: BuildRxMatrix(R, dtf/force->ftm2v*w_temp[0]); -fix_nve_sphere.cpp: // Apply R5 to w: w = R.w_temp -fix_nve_sphere.cpp: // Apply R5 to Q: Q_temp = R^T.Q -fix_nve_sphere.cpp: // Transform w back into space frame w_temp = Q^T.w -fix_nve_sphere.cpp: // Set dipole according to updated Q: mu = Q^T.[0 0 1] * |mu| -fix_nve_sphere.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_sphere.cpp: // set timestep here since dt may have changed or come via rRESPA -fix_nve_sphere.cpp: double dtfrotate = dtf / inertia; -fix_nve_sphere.cpp: // update v,omega for all particles -fix_nve_sphere.cpp: // d_omega/dt = torque / inertia -fix_nve_sphere.cpp: dtfm = dtf / rmass[i]; -fix_nve_sphere.cpp: dtirotate = dtfrotate / (radius[i]*radius[i]*rmass[i]); -fix_nve_spin.cpp:/* ---------------------------------------------------------------------- -fix_nve_spin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_nve_spin.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_nve_spin.cpp:------------------------------------------------------------------------- */ -fix_nve_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_spin.cpp: if (narg < 3) error->all(FLERR,"Illegal fix nve/spin command"); -fix_nve_spin.cpp: if (strcmp(arg[iarg],"nve/spin") == 0) { -fix_nve_spin.cpp: if (iarg+1 > narg) error->all(FLERR,"Illegal fix nve/spin command"); -fix_nve_spin.cpp: // error checks -fix_nve_spin.cpp: error->all(FLERR,"Fix nve/spin requires spin attribute mumag"); -fix_nve_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_spin.cpp: /*int idamp; -fix_nve_spin.cpp: if (strstr(modify->fix[idamp]->style,"damping/spin")) break; -fix_nve_spin.cpp: */ -fix_nve_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_spin.cpp: // Advance half spins all particles -fix_nve_spin.cpp: //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 -fix_nve_spin.cpp: // update half v all particles -fix_nve_spin.cpp: if (rmass) dtfm = dtf / rmass[i]; -fix_nve_spin.cpp: else dtfm = dtf / mass[type[i]]; -fix_nve_spin.cpp: // update x for all particles -fix_nve_spin.cpp://#define FORCE_PRINT -fix_nve_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_spin.cpp: // regular communication vs neighbor list rebuild -fix_nve_spin.cpp: // force computations -fix_nve_spin.cpp: // important for pair to come before bonded contributions -fix_nve_spin.cpp: // since some bonded potentials tally pairwise energy/virial -fix_nve_spin.cpp: // and Pair:ev_tally() needs to be called before any tallying -fix_nve_spin.cpp: // reverse communication of forces -fix_nve_spin.cpp: // force modifications -fix_nve_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_spin.cpp: g[0] /= (1+0.25*fm2*dts*dts); -fix_nve_spin.cpp: g[1] /= (1+0.25*fm2*dts*dts); -fix_nve_spin.cpp: g[2] /= (1+0.25*fm2*dts*dts); -fix_nve_spin.cpp: //Renormalization (may not be necessary) -fix_nve_spin.cpp: scale = 1.0/sqrt(msq); -fix_nve_spin.cpp:/* ---------------------------------------------------------------------- */ -fix_nve_spin.cpp: // update half v for all particles -fix_nve_spin.cpp: if (rmass) dtfm = dtf / rmass[i]; -fix_nve_spin.cpp: else dtfm = dtf / mass[type[i]]; -fix_nve_spin.cpp: // Advance half spins all particles -fix_nve_spin.cpp: //See Omelyan et al., PRL 86, 2001 and P.W. Ma et al, PRB 83, 2011 -fix_nvt.cpp:/* ---------------------------------------------------------------------- -fix_nvt.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_nvt.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_nvt.cpp:------------------------------------------------------------------------- */ -fix_nvt.cpp:/* ---------------------------------------------------------------------- */ -fix_nvt.cpp: // create a new compute temp style -fix_nvt.cpp: // id = fix-ID + temp -fix_nvt_sllod.cpp:/* ---------------------------------------------------------------------- -fix_nvt_sllod.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_nvt_sllod.cpp: www.cs.sandia.gov/~sjplimp/lammps.html -fix_nvt_sllod.cpp:------------------------------------------------------------------------- */ -fix_nvt_sllod.cpp:/* ---------------------------------------------------------------------- -fix_nvt_sllod.cpp:------------------------------------------------------------------------- */ -fix_nvt_sllod.cpp:enum{NO_REMAP,X_REMAP,V_REMAP}; // same as fix_deform.cpp -fix_nvt_sllod.cpp:/* ---------------------------------------------------------------------- */ -fix_nvt_sllod.cpp: error->all(FLERR,"Temperature control must be used with fix nvt/sllod"); -fix_nvt_sllod.cpp: error->all(FLERR,"Pressure control can not be used with fix nvt/sllod"); -fix_nvt_sllod.cpp: // default values -fix_nvt_sllod.cpp: // create a new compute temp style -fix_nvt_sllod.cpp: // id = fix-ID + temp -fix_nvt_sllod.cpp: newarg[2] = (char *) "temp/deform"; -fix_nvt_sllod.cpp:/* ---------------------------------------------------------------------- */ -fix_nvt_sllod.cpp: error->all(FLERR,"Temperature for fix nvt/sllod does not have a bias"); -fix_nvt_sllod.cpp: if (strcmp(temperature->style,"temp/deform") != 0) nondeformbias = 1; -fix_nvt_sllod.cpp: // check fix deform remap settings -fix_nvt_sllod.cpp: error->all(FLERR,"Using fix nvt/sllod with inconsistent fix deform " -fix_nvt_sllod.cpp: error->all(FLERR,"Using fix nvt/sllod with no fix deform defined"); -fix_nvt_sllod.cpp:/* ---------------------------------------------------------------------- -fix_nvt_sllod.cpp:-----------------------------------------------------------------------*/ -fix_nvt_sllod.cpp: // remove and restore bias = streaming velocity = Hrate*lamda + Hratelo -fix_nvt_sllod.cpp: // thermostat thermal velocity only -fix_nvt_sllod.cpp: // vdelu = SLLOD correction = Hrate*Hinv*vthermal -fix_nvt_sllod.cpp: // for non temp/deform BIAS: -fix_nvt_sllod.cpp: // calculate temperature since some computes require temp -fix_nvt_sllod.cpp: // computed on current nlocal atoms to remove bias -fix_nvt_sphere.cpp:/* ---------------------------------------------------------------------- -fix_nvt_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_nvt_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_nvt_sphere.cpp:------------------------------------------------------------------------- */ -fix_nvt_sphere.cpp:/* ---------------------------------------------------------------------- */ -fix_nvt_sphere.cpp: error->all(FLERR,"Temperature control must be used with fix nvt/sphere"); -fix_nvt_sphere.cpp: error->all(FLERR,"Pressure control can not be used with fix nvt/sphere"); -fix_nvt_sphere.cpp: // create a new compute temp style -fix_nvt_sphere.cpp: // id = fix-ID + temp -fix_nvt_sphere.cpp: newarg[2] = (char *) "temp/sphere"; -fix_planeforce.cpp:/* ---------------------------------------------------------------------- -fix_planeforce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_planeforce.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_planeforce.cpp:------------------------------------------------------------------------- */ -fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ -fix_planeforce.cpp: xdir /= len; -fix_planeforce.cpp: ydir /= len; -fix_planeforce.cpp: zdir /= len; -fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ -fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ -fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ -fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ -fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ -fix_planeforce.cpp:/* ---------------------------------------------------------------------- */ -fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- -fix_press_berendsen.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_press_berendsen.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_press_berendsen.cpp:------------------------------------------------------------------------- */ -fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_press_berendsen.cpp: if (narg < 5) error->all(FLERR,"Illegal fix press/berendsen command"); -fix_press_berendsen.cpp: // Berendsen barostat applied every step -fix_press_berendsen.cpp: // default values -fix_press_berendsen.cpp: // process keywords -fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); -fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); -fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); -fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); -fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); -fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen for a 2d simulation"); -fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); -fix_press_berendsen.cpp: else error->all(FLERR,"Illegal fix press/berendsen command"); -fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); -fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); -fix_press_berendsen.cpp: error->all(FLERR,"Illegal fix press/berendsen command"); -fix_press_berendsen.cpp: else error->all(FLERR,"Illegal fix press/berendsen command"); -fix_press_berendsen.cpp: } else error->all(FLERR,"Illegal fix press/berendsen command"); -fix_press_berendsen.cpp: // error checks -fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen for a 2d simulation"); -fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen for a 2d simulation"); -fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); -fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); -fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); -fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); -fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); -fix_press_berendsen.cpp: "Cannot use fix press/berendsen on a non-periodic dimension"); -fix_press_berendsen.cpp: "Cannot use fix press/berendsen on a non-periodic dimension"); -fix_press_berendsen.cpp: "Cannot use fix press/berendsen on a non-periodic dimension"); -fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); -fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); -fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); -fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); -fix_press_berendsen.cpp: error->all(FLERR,"Invalid fix press/berendsen pressure settings"); -fix_press_berendsen.cpp: error->all(FLERR,"Fix press/berendsen damping parameters must be > 0.0"); -fix_press_berendsen.cpp: // pstyle = ISO if XYZ coupling or XY coupling in 2d -> 1 dof -fix_press_berendsen.cpp: // else pstyle = ANISO -> 3 dof -fix_press_berendsen.cpp: // create a new compute temp style -fix_press_berendsen.cpp: // id = fix-ID + temp -fix_press_berendsen.cpp: // compute group = all since pressure is always global (group all) -fix_press_berendsen.cpp: // and thus its KE/temperature contribution should use group all -fix_press_berendsen.cpp: // create a new compute pressure style -fix_press_berendsen.cpp: // id = fix-ID + press, compute group = all -fix_press_berendsen.cpp: // pass id_temp as 4th arg to pressure constructor -fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_press_berendsen.cpp: // delete temperature and pressure if fix created them -fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_press_berendsen.cpp: error->all(FLERR,"Cannot use fix press/berendsen with triclinic box"); -fix_press_berendsen.cpp: // insure no conflict with fix deform -fix_press_berendsen.cpp: error->all(FLERR,"Cannot use fix press/berendsen and " -fix_press_berendsen.cpp: // set temperature and pressure ptrs -fix_press_berendsen.cpp: error->all(FLERR,"Temperature ID for fix press/berendsen does not exist"); -fix_press_berendsen.cpp: error->all(FLERR,"Pressure ID for fix press/berendsen does not exist"); -fix_press_berendsen.cpp: // Kspace setting -fix_press_berendsen.cpp: // detect if any rigid fixes exist so rigid bodies move when box is remapped -fix_press_berendsen.cpp: // rfix[] = indices to each fix rigid -fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- -fix_press_berendsen.cpp:------------------------------------------------------------------------- */ -fix_press_berendsen.cpp: // trigger virial computation on next timestep -fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_press_berendsen.cpp: // compute new T,P -fix_press_berendsen.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -fix_press_berendsen.cpp: pow(1.0 - update->dt/p_period[i] * -fix_press_berendsen.cpp: (p_target[i]-p_current[i])/bulkmodulus,1.0/3.0); -fix_press_berendsen.cpp: // remap simulation box and atoms -fix_press_berendsen.cpp: // redo KSpace coeffs since volume has changed -fix_press_berendsen.cpp: // trigger virial computation on next timestep -fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_press_berendsen.cpp: double ave = 1.0/3.0 * (tensor[0] + tensor[1] + tensor[2]); -fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- -fix_press_berendsen.cpp:------------------------------------------------------------------------- */ -fix_press_berendsen.cpp: // convert pertinent atoms and rigid bodies to lamda coords -fix_press_berendsen.cpp: // reset global and local box to new size/shape -fix_press_berendsen.cpp: // convert pertinent atoms and rigid bodies back to box coords -fix_press_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_press_berendsen.cpp: // reset id_temp of pressure to new temperature ID -fix_press_berendsen.cpp: error->all(FLERR,"Pressure ID for fix press/berendsen does not exist"); -fix_print.cpp:/* ---------------------------------------------------------------------- -fix_print.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_print.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_print.cpp:------------------------------------------------------------------------- */ -fix_print.cpp:/* ---------------------------------------------------------------------- */ -fix_print.cpp: copy = (char *) memory->smalloc(n*sizeof(char),"fix/print:copy"); -fix_print.cpp: work = (char *) memory->smalloc(n*sizeof(char),"fix/print:work"); -fix_print.cpp: // parse optional args -fix_print.cpp: // print file comment line -fix_print.cpp: // add nfirst to all computes that store invocation times -fix_print.cpp: // since don't know a priori which are invoked via variables by this fix -fix_print.cpp: // once in end_of_step() can set timestep for ones actually invoked -fix_print.cpp: const bigint nfirst = (update->ntimestep/nevery)*nevery + nevery; -fix_print.cpp:/* ---------------------------------------------------------------------- */ -fix_print.cpp:/* ---------------------------------------------------------------------- */ -fix_print.cpp:/* ---------------------------------------------------------------------- */ -fix_print.cpp: // make a copy of string to work on -fix_print.cpp: // substitute for $ variables (no printing) -fix_print.cpp: // append a newline and print final copy -fix_print.cpp: // variable evaluation may invoke computes so wrap with clear/add -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_property_atom.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- */ -fix_property_atom.cpp: if (narg < 4) error->all(FLERR,"Illegal fix property/atom command"); -fix_property_atom.cpp: error->all(FLERR,"Fix property/atom mol when atom_style " -fix_property_atom.cpp: error->all(FLERR,"Fix property/atom cannot specify mol twice"); -fix_property_atom.cpp: error->all(FLERR,"Fix property/atom q when atom_style " -fix_property_atom.cpp: error->all(FLERR,"Fix property/atom cannot specify q twice"); -fix_property_atom.cpp: error->all(FLERR,"Fix property/atom rmass when atom_style " -fix_property_atom.cpp: error->all(FLERR,"Fix property/atom cannot specify rmass twice"); -fix_property_atom.cpp: error->all(FLERR,"Fix property/atom vector name already exists"); -fix_property_atom.cpp: error->all(FLERR,"Fix property/atom vector name already exists"); -fix_property_atom.cpp: // optional args -fix_property_atom.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix property/atom command"); -fix_property_atom.cpp: else error->all(FLERR,"Illegal fix property/atom command"); -fix_property_atom.cpp: } else error->all(FLERR,"Illegal fix property/atom command"); -fix_property_atom.cpp: // warn if mol or charge keyword used without ghost yes -fix_property_atom.cpp: error->warning(FLERR,"Fix property/atom mol or charge or rmass " -fix_property_atom.cpp: "w/out ghost communication"); -fix_property_atom.cpp: // store current atom style -fix_property_atom.cpp: // perform initial allocation of atom-based array -fix_property_atom.cpp: // register with Atom class -fix_property_atom.cpp:/* ---------------------------------------------------------------------- */ -fix_property_atom.cpp: // unregister callbacks to this fix from Atom class -fix_property_atom.cpp: // deallocate per-atom vectors in Atom class -fix_property_atom.cpp: // set ptrs to NULL, so they no longer exist for Atom class -fix_property_atom.cpp:/* ---------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- */ -fix_property_atom.cpp: // error if atom style has changed since fix was defined -fix_property_atom.cpp: // don't allow this b/c user could change to style that defines molecule,q -fix_property_atom.cpp: error->all(FLERR,"Atom style was redefined after using fix property/atom"); -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp: // loop over lines of atom info -fix_property_atom.cpp: // tokenize the line into values -fix_property_atom.cpp: // if I own atom tag, unpack its values -fix_property_atom.cpp: // assign words in line to per-atom vectors -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp: // 1st column = atom tag -fix_property_atom.cpp: // rest of columns = per-atom values -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp: // skip to Nth set of extra values -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_property_atom.cpp:/* ---------------------------------------------------------------------- -fix_property_atom.cpp:------------------------------------------------------------------------- */ -fix_read_restart.cpp:/* ---------------------------------------------------------------------- -fix_read_restart.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_read_restart.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_read_restart.cpp:------------------------------------------------------------------------- */ -fix_read_restart.cpp:/* ---------------------------------------------------------------------- */ -fix_read_restart.cpp: // perform initial allocation of atom-based array -fix_read_restart.cpp: // register with Atom class -fix_read_restart.cpp: // extra = copy of atom->extra -fix_read_restart.cpp:/* ---------------------------------------------------------------------- */ -fix_read_restart.cpp: // unregister callback to this fix from Atom class -fix_read_restart.cpp: // delete locally stored arrays -fix_read_restart.cpp:/* ---------------------------------------------------------------------- */ -fix_read_restart.cpp:/* ---------------------------------------------------------------------- -fix_read_restart.cpp:------------------------------------------------------------------------- */ -fix_read_restart.cpp:/* ---------------------------------------------------------------------- -fix_read_restart.cpp:------------------------------------------------------------------------- */ -fix_read_restart.cpp:/* ---------------------------------------------------------------------- -fix_read_restart.cpp:------------------------------------------------------------------------- */ -fix_read_restart.cpp:/* ---------------------------------------------------------------------- -fix_read_restart.cpp:------------------------------------------------------------------------- */ -fix_read_restart.cpp:/* ---------------------------------------------------------------------- -fix_read_restart.cpp:------------------------------------------------------------------------- */ -fix_recenter.cpp:/* ---------------------------------------------------------------------- -fix_recenter.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_recenter.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_recenter.cpp:------------------------------------------------------------------------- */ -fix_recenter.cpp:/* ---------------------------------------------------------------------- -fix_recenter.cpp:------------------------------------------------------------------------- */ -fix_recenter.cpp:/* ---------------------------------------------------------------------- */ -fix_recenter.cpp: // optional args -fix_recenter.cpp: // scale xcom,ycom,zcom -fix_recenter.cpp: // cannot have 0 atoms in group -fix_recenter.cpp:/* ---------------------------------------------------------------------- */ -fix_recenter.cpp:/* ---------------------------------------------------------------------- */ -fix_recenter.cpp: // warn if any integrate fix comes after this one -fix_recenter.cpp: // if any components of requested COM were INIT, store initial COM -fix_recenter.cpp:/* ---------------------------------------------------------------------- */ -fix_recenter.cpp: // target COM -fix_recenter.cpp: // bounding box around domain works for both orthogonal and triclinic -fix_recenter.cpp: // current COM -fix_recenter.cpp: // shift coords by difference between actual COM and requested COM -fix_recenter.cpp:/* ---------------------------------------------------------------------- */ -fix_recenter.cpp: // outermost level - operate recenter -fix_recenter.cpp: // all other levels - nothing -fix_recenter.cpp:/* ---------------------------------------------------------------------- */ -fix_recenter.cpp:/* ---------------------------------------------------------------------- */ -fix_respa.cpp:/* ---------------------------------------------------------------------- -fix_respa.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_respa.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_respa.cpp:------------------------------------------------------------------------- */ -fix_respa.cpp:/* ---------------------------------------------------------------------- */ -fix_respa.cpp: // nlevels = # of rRESPA levels -fix_respa.cpp: // optional arguments -fix_respa.cpp: // perform initial allocation of atom-based arrays -fix_respa.cpp: // register with Atom class -fix_respa.cpp:/* ---------------------------------------------------------------------- */ -fix_respa.cpp: // unregister callbacks to this fix from Atom class -fix_respa.cpp: // delete locally stored arrays -fix_respa.cpp:/* ---------------------------------------------------------------------- */ -fix_respa.cpp:/* ---------------------------------------------------------------------- -fix_respa.cpp:------------------------------------------------------------------------- */ -fix_respa.cpp:/* ---------------------------------------------------------------------- -fix_respa.cpp:------------------------------------------------------------------------- */ -fix_respa.cpp:/* ---------------------------------------------------------------------- -fix_respa.cpp:------------------------------------------------------------------------- */ -fix_respa.cpp:/* ---------------------------------------------------------------------- -fix_respa.cpp:------------------------------------------------------------------------- */ -fix_respa.cpp:/* ---------------------------------------------------------------------- -fix_respa.cpp:------------------------------------------------------------------------- */ -fix_restrain.cpp:/* ---------------------------------------------------------------------- -fix_restrain.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_restrain.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_restrain.cpp:------------------------------------------------------------------------- */ -fix_restrain.cpp:/* ---------------------------------------------------------------------- -fix_restrain.cpp:------------------------------------------------------------------------- */ -fix_restrain.cpp:/* ---------------------------------------------------------------------- */ -fix_restrain.cpp: // parse args -fix_restrain.cpp: target[nrestrain] *= MY_PI / 180.0; -fix_restrain.cpp: target[nrestrain] *= MY_PI / 180.0; -fix_restrain.cpp: // require atom map to lookup atom IDs -fix_restrain.cpp:/* ---------------------------------------------------------------------- */ -fix_restrain.cpp:/* ---------------------------------------------------------------------- */ -fix_restrain.cpp:/* ---------------------------------------------------------------------- */ -fix_restrain.cpp:/* ---------------------------------------------------------------------- */ -fix_restrain.cpp:/* ---------------------------------------------------------------------- */ -fix_restrain.cpp:/* ---------------------------------------------------------------------- */ -fix_restrain.cpp:/* ---------------------------------------------------------------------- */ -fix_restrain.cpp:/* ---------------------------------------------------------------------- */ -fix_restrain.cpp:/* ---------------------------------------------------------------------- -fix_restrain.cpp:---------------------------------------------------------------------- */ -fix_restrain.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -fix_restrain.cpp: // newton_bond on: only processor owning i2 computes restraint -fix_restrain.cpp: // newton_bond off: only processors owning either of i1,i2 computes restraint -fix_restrain.cpp: // force & energy -fix_restrain.cpp: if (r > 0.0) fbond = -2.0*rk/r; -fix_restrain.cpp: // apply force to each of 2 atoms -fix_restrain.cpp:/* ---------------------------------------------------------------------- -fix_restrain.cpp:---------------------------------------------------------------------- */ -fix_restrain.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -fix_restrain.cpp: // newton_bond on: only processor owning i2 computes restraint -fix_restrain.cpp: // newton_bond off: only processors owning any of i1-i3 computes restraint -fix_restrain.cpp: // 1st bond -fix_restrain.cpp: // 2nd bond -fix_restrain.cpp: // angle (cos and sin) -fix_restrain.cpp: c /= r1*r2; -fix_restrain.cpp: s = 1.0/s; -fix_restrain.cpp: // force & energy -fix_restrain.cpp: a11 = a*c / rsq1; -fix_restrain.cpp: a12 = -a / (r1*r2); -fix_restrain.cpp: a22 = a*c / rsq2; -fix_restrain.cpp: // apply force to each of 3 atoms -fix_restrain.cpp:/* ---------------------------------------------------------------------- -fix_restrain.cpp:---------------------------------------------------------------------- */ -fix_restrain.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -fix_restrain.cpp: // newton_bond on: only processor owning i2 computes restraint -fix_restrain.cpp: // newton_bond off: only processors owning any of i1-i4 computes restraint -fix_restrain.cpp: // 1st bond -fix_restrain.cpp: // 2nd bond -fix_restrain.cpp: // 3rd bond -fix_restrain.cpp: if (rg > 0) rginv = 1.0/rg; -fix_restrain.cpp: if (rasq > 0) ra2inv = 1.0/rasq; -fix_restrain.cpp: if (rbsq > 0) rb2inv = 1.0/rbsq; -fix_restrain.cpp: // error check -fix_restrain.cpp: mult = 1; // multiplicity -fix_restrain.cpp: // apply force to each of 4 atoms -fix_restrain.cpp:/* ---------------------------------------------------------------------- -fix_restrain.cpp:------------------------------------------------------------------------- */ -fix_setforce.cpp:/* ---------------------------------------------------------------------- -fix_setforce.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_setforce.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_setforce.cpp:------------------------------------------------------------------------- */ -fix_setforce.cpp:/* ---------------------------------------------------------------------- */ -fix_setforce.cpp: // optional args -fix_setforce.cpp:/* ---------------------------------------------------------------------- */ -fix_setforce.cpp:/* ---------------------------------------------------------------------- */ -fix_setforce.cpp:/* ---------------------------------------------------------------------- */ -fix_setforce.cpp: // check variables -fix_setforce.cpp: // set index and check validity of region -fix_setforce.cpp: // cannot use non-zero forces for a minimization since no energy is integrated -fix_setforce.cpp: // use fix addforce instead -fix_setforce.cpp:/* ---------------------------------------------------------------------- */ -fix_setforce.cpp:/* ---------------------------------------------------------------------- */ -fix_setforce.cpp:/* ---------------------------------------------------------------------- */ -fix_setforce.cpp: // update region if necessary -fix_setforce.cpp: // reallocate sforce array if necessary -fix_setforce.cpp: // variable force, wrap with clear/add -fix_setforce.cpp:/* ---------------------------------------------------------------------- */ -fix_setforce.cpp: // set force to desired value on requested level, 0.0 on other levels -fix_setforce.cpp:/* ---------------------------------------------------------------------- */ -fix_setforce.cpp:/* ---------------------------------------------------------------------- -fix_setforce.cpp:------------------------------------------------------------------------- */ -fix_setforce.cpp: // only sum across procs one time -fix_setforce.cpp:/* ---------------------------------------------------------------------- -fix_setforce.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_shear_history.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- */ -fix_shear_history.cpp: if (newton_pair) comm_reverse = 1; // just for single npartner value -fix_shear_history.cpp: // variable-size history communicated via -fix_shear_history.cpp: // reverse_comm_fix_variable() -fix_shear_history.cpp: // perform initial allocation of atom-based arrays -fix_shear_history.cpp: // register with atom class -fix_shear_history.cpp: // initialize npartner to 0 so neighbor list creation is OK the 1st time -fix_shear_history.cpp:/* ---------------------------------------------------------------------- */ -fix_shear_history.cpp: // unregister this fix so atom class doesn't invoke it any more -fix_shear_history.cpp: // delete locally stored arrays -fix_shear_history.cpp: // to better detect use-after-delete errors -fix_shear_history.cpp:/* ---------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp: create pages if first time or if neighbor pgsize/oneatom has changed -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp: b/c there is no guarantee of a current neigh list (even on continued run) -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp: onesided version for sphere contact with line/tri particles -fix_shear_history.cpp: neighbor list has I = sphere, J = line/tri -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp: // NOTE: all operations until very end are with nlocal_neigh <= current nlocal -fix_shear_history.cpp: // b/c previous neigh list was built with nlocal_neigh -fix_shear_history.cpp: // nlocal can be larger if other fixes added atoms at this pre_exchange() -fix_shear_history.cpp: // zero npartner for owned atoms -fix_shear_history.cpp: // clear 2 page data structures -fix_shear_history.cpp: // 1st loop over neighbor list, I = sphere, J = tri -fix_shear_history.cpp: // only calculate npartner for owned spheres -fix_shear_history.cpp: // get page chunks to store atom IDs and shear history for owned atoms -fix_shear_history.cpp: // 2nd loop over neighbor list, I = sphere, J = tri -fix_shear_history.cpp: // store atom IDs and shear history for owned spheres -fix_shear_history.cpp: // re-zero npartner to use as counter -fix_shear_history.cpp: // set maxtouch = max # of partners of any owned atom -fix_shear_history.cpp: // bump up comm->maxexchange_fix if necessary -fix_shear_history.cpp: // zero npartner values from previous nlocal_neigh to current nlocal -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp: newton on version, for sphere/sphere contacts -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp: // NOTE: all operations until very end are with -fix_shear_history.cpp: // nlocal_neigh <= current nlocal and nall_neigh -fix_shear_history.cpp: // b/c previous neigh list was built with nlocal_neigh,nghost_neigh -fix_shear_history.cpp: // nlocal can be larger if other fixes added atoms at this pre_exchange() -fix_shear_history.cpp: // zero npartner for owned+ghost atoms -fix_shear_history.cpp: // clear 2 page data structures -fix_shear_history.cpp: // 1st loop over neighbor list -fix_shear_history.cpp: // calculate npartner for owned+ghost atoms -fix_shear_history.cpp: // perform reverse comm to augment owned npartner counts with ghost counts -fix_shear_history.cpp: // get page chunks to store atom IDs and shear history for owned+ghost atoms -fix_shear_history.cpp: // 2nd loop over neighbor list -fix_shear_history.cpp: // store atom IDs and shear history for owned+ghost atoms -fix_shear_history.cpp: // re-zero npartner to use as counter -fix_shear_history.cpp: // perform reverse comm to augment -fix_shear_history.cpp: // owned atom partner/shearpartner with ghost info -fix_shear_history.cpp: // use variable variant b/c size of packed data can be arbitrarily large -fix_shear_history.cpp: // if many touching neighbors for large particle -fix_shear_history.cpp: // set maxtouch = max # of partners of any owned atom -fix_shear_history.cpp: // bump up comm->maxexchange_fix if necessary -fix_shear_history.cpp: // zero npartner values from previous nlocal_neigh to current nlocal -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp: newton off version, for sphere/sphere contacts -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp: // NOTE: all operations until very end are with nlocal_neigh <= current nlocal -fix_shear_history.cpp: // b/c previous neigh list was built with nlocal_neigh -fix_shear_history.cpp: // nlocal can be larger if other fixes added atoms at this pre_exchange() -fix_shear_history.cpp: // zero npartner for owned atoms -fix_shear_history.cpp: // clear 2 page data structures -fix_shear_history.cpp: // 1st loop over neighbor list -fix_shear_history.cpp: // calculate npartner for owned atoms -fix_shear_history.cpp: // get page chunks to store atom IDs and shear history for owned atoms -fix_shear_history.cpp: // 2nd loop over neighbor list -fix_shear_history.cpp: // store atom IDs and shear history for owned atoms -fix_shear_history.cpp: // re-zero npartner to use as counter -fix_shear_history.cpp: // set maxtouch = max # of partners of any owned atom -fix_shear_history.cpp: // bump up comm->maxexchange_fix if necessary -fix_shear_history.cpp: // zero npartner values from previous nlocal_neigh to current nlocal -fix_shear_history.cpp:/* ---------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp: // just copy pointers for partner and shearpartner -fix_shear_history.cpp: // b/c can't overwrite chunk allocation inside ipage,dpage -fix_shear_history.cpp: // incoming atoms in unpack_exchange just grab new chunks -fix_shear_history.cpp: // so are orphaning chunks for migrating atoms -fix_shear_history.cpp: // OK, b/c will reset ipage,dpage on next reneighboring -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp: // NOTE: how do I know comm buf is big enough if extreme # of touching neighs -fix_shear_history.cpp: // Comm::BUFEXTRA may need to be increased -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp: // allocate new chunks from ipage,dpage for incoming values -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp: // ipage = NULL if being called from granular pair style init() -fix_shear_history.cpp: // skip to Nth set of extra values -fix_shear_history.cpp: // allocate new chunks from ipage,dpage for incoming values -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_shear_history.cpp: // maxtouch_all = max # of touching partners across all procs -fix_shear_history.cpp:/* ---------------------------------------------------------------------- -fix_shear_history.cpp:------------------------------------------------------------------------- */ -fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- -fix_spring_chunk.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_spring_chunk.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_spring_chunk.cpp:------------------------------------------------------------------------- */ -fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_chunk.cpp: if (narg != 6) error->all(FLERR,"Illegal fix spring/chunk command"); -fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_chunk.cpp: // decrement lock counter in compute chunk/atom, it if still exists -fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_chunk.cpp: // current indices for idchunk and idcom -fix_spring_chunk.cpp: error->all(FLERR,"Chunk/atom compute does not exist for fix spring/chunk"); -fix_spring_chunk.cpp: if (strcmp(cchunk->style,"chunk/atom") != 0) -fix_spring_chunk.cpp: error->all(FLERR,"Fix spring/chunk does not use chunk/atom compute"); -fix_spring_chunk.cpp: error->all(FLERR,"Com/chunk compute does not exist for fix spring/chunk"); -fix_spring_chunk.cpp: if (strcmp(ccom->style,"com/chunk") != 0) -fix_spring_chunk.cpp: error->all(FLERR,"Fix spring/chunk does not use com/chunk compute"); -fix_spring_chunk.cpp: // check that idchunk is consistent with ccom->idchunk -fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_chunk.cpp: // check if first time cchunk will be queried via ccom -fix_spring_chunk.cpp: // if so, lock idchunk for as long as this fix is in place -fix_spring_chunk.cpp: // will be unlocked in destructor -fix_spring_chunk.cpp: // necessary b/c this fix stores original COM -fix_spring_chunk.cpp: // calculate current centers of mass for each chunk -fix_spring_chunk.cpp: // extract pointers from idchunk and idcom -fix_spring_chunk.cpp: // check if first time cchunk was queried via ccom -fix_spring_chunk.cpp: // if so, allocate com0,fcom and store initial COM -fix_spring_chunk.cpp: memory->create(com0,nchunk,3,"spring/chunk:com0"); -fix_spring_chunk.cpp: memory->create(fcom,nchunk,3,"spring/chunk:fcom"); -fix_spring_chunk.cpp: // calculate fcom = force on each COM, divided by masstotal -fix_spring_chunk.cpp: fcom[m][0] = k_spring*dx/r / masstotal[m]; -fix_spring_chunk.cpp: fcom[m][1] = k_spring*dy/r / masstotal[m]; -fix_spring_chunk.cpp: fcom[m][2] = k_spring*dz/r / masstotal[m]; -fix_spring_chunk.cpp: // apply restoring force to atoms in each chunk -fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_chunk.cpp:/* ---------------------------------------------------------------------- -fix_spring_chunk.cpp:------------------------------------------------------------------------- */ -fix_spring.cpp:/* ---------------------------------------------------------------------- -fix_spring.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_spring.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_spring.cpp:------------------------------------------------------------------------- */ -fix_spring.cpp:/* ---------------------------------------------------------------------- -fix_spring.cpp:------------------------------------------------------------------------- */ -fix_spring.cpp:/* ---------------------------------------------------------------------- */ -fix_spring.cpp:/* ---------------------------------------------------------------------- */ -fix_spring.cpp:/* ---------------------------------------------------------------------- */ -fix_spring.cpp:/* ---------------------------------------------------------------------- */ -fix_spring.cpp: // recheck that group 2 has not been deleted -fix_spring.cpp:/* ---------------------------------------------------------------------- */ -fix_spring.cpp:/* ---------------------------------------------------------------------- */ -fix_spring.cpp:/* ---------------------------------------------------------------------- */ -fix_spring.cpp:/* ---------------------------------------------------------------------- */ -fix_spring.cpp: // fx,fy,fz = components of k * (r-r0) / masstotal -fix_spring.cpp: fx = k_spring*dx*dr/r; -fix_spring.cpp: fy = k_spring*dy*dr/r; -fix_spring.cpp: fz = k_spring*dz*dr/r; -fix_spring.cpp: fx /= masstotal; -fix_spring.cpp: fy /= masstotal; -fix_spring.cpp: fz /= masstotal; -fix_spring.cpp: // apply restoring force to atoms in group -fix_spring.cpp:/* ---------------------------------------------------------------------- */ -fix_spring.cpp: // fx,fy,fz = components of k * (r-r0) / masstotal -fix_spring.cpp: // fx2,fy2,fz2 = components of k * (r-r0) / masstotal2 -fix_spring.cpp: fx = k_spring*dx*dr/r; -fix_spring.cpp: fy = k_spring*dy*dr/r; -fix_spring.cpp: fz = k_spring*dz*dr/r; -fix_spring.cpp: fx2 = fx/masstotal2; -fix_spring.cpp: fy2 = fy/masstotal2; -fix_spring.cpp: fz2 = fz/masstotal2; -fix_spring.cpp: fx /= masstotal; -fix_spring.cpp: fy /= masstotal; -fix_spring.cpp: fz /= masstotal; -fix_spring.cpp: // apply restoring force to atoms in group -fix_spring.cpp: // f = -k*(r-r0)*mass/masstotal -fix_spring.cpp:/* ---------------------------------------------------------------------- */ -fix_spring.cpp:/* ---------------------------------------------------------------------- */ -fix_spring.cpp:/* ---------------------------------------------------------------------- -fix_spring.cpp:------------------------------------------------------------------------- */ -fix_spring.cpp:/* ---------------------------------------------------------------------- -fix_spring.cpp:------------------------------------------------------------------------- */ -fix_spring_rg.cpp:/* ---------------------------------------------------------------------- -fix_spring_rg.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_spring_rg.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_spring_rg.cpp:------------------------------------------------------------------------- */ -fix_spring_rg.cpp:/* ---------------------------------------------------------------------- -fix_spring_rg.cpp:------------------------------------------------------------------------- */ -fix_spring_rg.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_rg.cpp: if (narg != 5) error->all(FLERR,"Illegal fix spring/rg command"); -fix_spring_rg.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_rg.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_rg.cpp: // if rg0 was specified as NULL, compute current Rg -fix_spring_rg.cpp: // only occurs on 1st run -fix_spring_rg.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_rg.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_rg.cpp: // compute current Rg and center-of-mass -fix_spring_rg.cpp: // apply restoring force to atoms in group -fix_spring_rg.cpp: // f = -k*(r-r0)*mass/masstotal -fix_spring_rg.cpp: term1 = 2.0 * k * (1.0 - rg0/rg); -fix_spring_rg.cpp: if (rmass) massfrac = rmass[i]/masstotal; -fix_spring_rg.cpp: else massfrac = mass[type[i]]/masstotal; -fix_spring_rg.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- -fix_spring_self.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_spring_self.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_spring_self.cpp:------------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- -fix_spring_self.cpp:------------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_self.cpp: error->all(FLERR,"Illegal fix spring/self command"); -fix_spring_self.cpp: if (k <= 0.0) error->all(FLERR,"Illegal fix spring/self command"); -fix_spring_self.cpp: } else error->all(FLERR,"Illegal fix spring/self command"); -fix_spring_self.cpp: // perform initial allocation of atom-based array -fix_spring_self.cpp: // register with Atom class -fix_spring_self.cpp: // xoriginal = initial unwrapped positions of atoms -fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_self.cpp: // unregister callbacks to this fix from Atom class -fix_spring_self.cpp: // delete locally stored array -fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- -fix_spring_self.cpp:------------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- -fix_spring_self.cpp:------------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- -fix_spring_self.cpp:------------------------------------------------------------------------- */ -fix_spring_self.cpp: memory->grow(xoriginal,nmax,3,"fix_spring/self:xoriginal"); -fix_spring_self.cpp:/* ---------------------------------------------------------------------- -fix_spring_self.cpp:------------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- -fix_spring_self.cpp:------------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- -fix_spring_self.cpp:------------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- -fix_spring_self.cpp:------------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- -fix_spring_self.cpp:------------------------------------------------------------------------- */ -fix_spring_self.cpp: // skip to Nth set of extra values -fix_spring_self.cpp:/* ---------------------------------------------------------------------- -fix_spring_self.cpp:------------------------------------------------------------------------- */ -fix_spring_self.cpp:/* ---------------------------------------------------------------------- -fix_spring_self.cpp:------------------------------------------------------------------------- */ -fix_store.cpp:/* ---------------------------------------------------------------------- -fix_store.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_store.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_store.cpp:------------------------------------------------------------------------- */ -fix_store.cpp:/* ---------------------------------------------------------------------- */ -fix_store.cpp: // 4th arg determines GLOBAL vs PERATOM values -fix_store.cpp: // syntax: id group style global nrow ncol -fix_store.cpp: // Nrow by Ncol array of global values -fix_store.cpp: // Ncol = 1 is vector, Ncol > 1 is array -fix_store.cpp: // syntax: id group style peratom 0/1 nvalues -fix_store.cpp: // 0/1 flag = not-store or store peratom values in restart file -fix_store.cpp: // nvalues = # of peratom values, N = 1 is vector, N > 1 is array -fix_store.cpp: // GLOBAL values are always written to restart file -fix_store.cpp: // PERATOM restart_peratom is set by caller -fix_store.cpp: // allocate vector or array and restart buffer rbuf -fix_store.cpp: // for PERATOM, register with Atom class -fix_store.cpp: if (vecflag) memory->create(vstore,nrow,"fix/store:vstore"); -fix_store.cpp: else memory->create(astore,nrow,ncol,"fix/store:astore"); -fix_store.cpp: memory->create(rbuf,nrow*ncol+2,"fix/store:rbuf"); -fix_store.cpp: // zero the storage -fix_store.cpp: // PERATOM may be comm->exchanged before filled by caller -fix_store.cpp:/* ---------------------------------------------------------------------- */ -fix_store.cpp: // unregister callbacks to this fix from Atom class -fix_store.cpp:/* ---------------------------------------------------------------------- */ -fix_store.cpp:/* ---------------------------------------------------------------------- -fix_store.cpp: reset size of global vector/array -fix_store.cpp:------------------------------------------------------------------------- */ -fix_store.cpp: if (vecflag) memory->create(vstore,nrow,"fix/store:vstore"); -fix_store.cpp: else memory->create(astore,nrow,ncol,"fix/store:astore"); -fix_store.cpp: memory->create(rbuf,nrow*ncol+2,"fix/store:rbuf"); -fix_store.cpp:/* ---------------------------------------------------------------------- -fix_store.cpp:------------------------------------------------------------------------- */ -fix_store.cpp: // fill rbuf with size and vec/array values -fix_store.cpp:/* ---------------------------------------------------------------------- -fix_store.cpp:------------------------------------------------------------------------- */ -fix_store.cpp: // first 2 values in buf are vec/array sizes -fix_store.cpp: // if size of vec/array has changed, -fix_store.cpp: // means the restart file is setting size of vec or array and doing init -fix_store.cpp: // because caller did not know size at time this fix was instantiated -fix_store.cpp: // reallocate vstore or astore accordingly -fix_store.cpp: if (vecflag) memory->create(vstore,nrow,"fix/store:vstore"); -fix_store.cpp: else memory->create(astore,nrow,ncol,"fix/store:astore"); -fix_store.cpp: memory->create(rbuf,nrow*ncol+2,"fix/store:rbuf"); -fix_store.cpp:/* ---------------------------------------------------------------------- -fix_store.cpp:------------------------------------------------------------------------- */ -fix_store.cpp:/* ---------------------------------------------------------------------- -fix_store.cpp:------------------------------------------------------------------------- */ -fix_store.cpp:/* ---------------------------------------------------------------------- -fix_store.cpp:------------------------------------------------------------------------- */ -fix_store.cpp:/* ---------------------------------------------------------------------- -fix_store.cpp:------------------------------------------------------------------------- */ -fix_store.cpp:/* ---------------------------------------------------------------------- -fix_store.cpp:------------------------------------------------------------------------- */ -fix_store.cpp:/* ---------------------------------------------------------------------- -fix_store.cpp:------------------------------------------------------------------------- */ -fix_store.cpp: // skip to Nth set of extra values -fix_store.cpp:/* ---------------------------------------------------------------------- -fix_store.cpp:------------------------------------------------------------------------- */ -fix_store.cpp:/* ---------------------------------------------------------------------- -fix_store.cpp:------------------------------------------------------------------------- */ -fix_store.cpp:/* ---------------------------------------------------------------------- -fix_store.cpp:------------------------------------------------------------------------- */ -fix_store_force.cpp:/* ---------------------------------------------------------------------- -fix_store_force.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_store_force.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_store_force.cpp:------------------------------------------------------------------------- */ -fix_store_force.cpp:/* ---------------------------------------------------------------------- */ -fix_store_force.cpp: if (narg < 3) error->all(FLERR,"Illegal fix store/coord command"); -fix_store_force.cpp: memory->create(foriginal,nmax,3,"store/force:foriginal"); -fix_store_force.cpp: // zero the array since dump may access it on timestep 0 -fix_store_force.cpp: // zero the array since a variable may access it before first run -fix_store_force.cpp:/* ---------------------------------------------------------------------- */ -fix_store_force.cpp:/* ---------------------------------------------------------------------- */ -fix_store_force.cpp:/* ---------------------------------------------------------------------- */ -fix_store_force.cpp:/* ---------------------------------------------------------------------- */ -fix_store_force.cpp:/* ---------------------------------------------------------------------- */ -fix_store_force.cpp:/* ---------------------------------------------------------------------- */ -fix_store_force.cpp: memory->create(foriginal,nmax,3,"store/force:foriginal"); -fix_store_force.cpp:/* ---------------------------------------------------------------------- */ -fix_store_force.cpp:/* ---------------------------------------------------------------------- */ -fix_store_force.cpp:/* ---------------------------------------------------------------------- -fix_store_force.cpp:------------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- -fix_store_state.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_store_state.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_store_state.cpp:------------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp: if (narg < 5) error->all(FLERR,"Illegal fix store/state command"); -fix_store_state.cpp: if (nevery < 0) error->all(FLERR,"Illegal fix store/state command"); -fix_store_state.cpp: // parse values until one isn't recognized -fix_store_state.cpp: // customize a new keyword by adding to if statement -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: "Fix store/state for atom property that isn't allocated"); -fix_store_state.cpp: error->all(FLERR,"Illegal fix store/state command"); -fix_store_state.cpp: // optional args -fix_store_state.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix store/state command"); -fix_store_state.cpp: else error->all(FLERR,"Illegal fix store/state command"); -fix_store_state.cpp: } else error->all(FLERR,"Illegal fix store/state command"); -fix_store_state.cpp: // error check -fix_store_state.cpp: error->all(FLERR,"Compute ID for fix store/state does not exist"); -fix_store_state.cpp: error->all(FLERR,"Fix store/state compute " -fix_store_state.cpp: error->all(FLERR,"Fix store/state compute does not " -fix_store_state.cpp: "Fix store/state compute does not " -fix_store_state.cpp: "Fix store/state compute array is accessed out-of-range"); -fix_store_state.cpp: "Custom integer vector for fix store/state does not exist"); -fix_store_state.cpp: "Custom floating point vector for fix store/state does not exist"); -fix_store_state.cpp: "Fix ID for fix store/state does not exist"); -fix_store_state.cpp: "Fix store/state fix does not calculate per-atom values"); -fix_store_state.cpp: "Fix store/state fix does not calculate a per-atom vector"); -fix_store_state.cpp: "Fix store/state fix does not calculate a per-atom array"); -fix_store_state.cpp: "Fix store/state fix array is accessed out-of-range"); -fix_store_state.cpp: "Fix for fix store/state not computed at compatible time"); -fix_store_state.cpp: error->all(FLERR,"Variable name for fix store/state does not exist"); -fix_store_state.cpp: error->all(FLERR,"Fix store/state variable is not atom-style variable"); -fix_store_state.cpp: // this fix produces either a per-atom vector or array -fix_store_state.cpp: // perform initial allocation of atom-based array -fix_store_state.cpp: // register with Atom class -fix_store_state.cpp: // zero the array since dump may access it on timestep 0 -fix_store_state.cpp: // zero the array since a variable may access it before first run -fix_store_state.cpp: // store current values for keywords but not for compute, fix, variable -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp: // unregister callbacks to this fix from Atom class -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp: // set indices and check validity of all computes,fixes,variables -fix_store_state.cpp: // no error check if end_of_step() will not be called -fix_store_state.cpp: error->all(FLERR,"Compute ID for fix store/state does not exist"); -fix_store_state.cpp: "Custom integer vector for fix store/state does not exist"); -fix_store_state.cpp: "Custom floating point vector for fix store/state does not exist"); -fix_store_state.cpp: error->all(FLERR,"Fix ID for fix store/state does not exist"); -fix_store_state.cpp: error->all(FLERR,"Variable name for fix store/state does not exist"); -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp: // if first invocation, store current values for compute, fix, variable -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp: // compute com if comflag set -fix_store_state.cpp: // if any compute/fix/variable and nevery, wrap with clear/add -fix_store_state.cpp: // fill vector or array with per-atom values -fix_store_state.cpp: // invoke compute if not previously invoked -fix_store_state.cpp: // access fix fields, guaranteed to be ready -fix_store_state.cpp: // access custom atom property fields -fix_store_state.cpp: // evaluate atom-style variable -fix_store_state.cpp: // if any compute/fix/variable and nevery, wrap with clear/add -fix_store_state.cpp: const bigint nextstep = (update->ntimestep/nevery)*nevery + nevery; -fix_store_state.cpp:/* ---------------------------------------------------------------------- -fix_store_state.cpp:------------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- -fix_store_state.cpp:------------------------------------------------------------------------- */ -fix_store_state.cpp: memory->grow(values,nmax,nvalues,"store/state:values"); -fix_store_state.cpp:/* ---------------------------------------------------------------------- -fix_store_state.cpp:------------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- -fix_store_state.cpp:------------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- -fix_store_state.cpp:------------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- -fix_store_state.cpp:------------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- -fix_store_state.cpp:------------------------------------------------------------------------- */ -fix_store_state.cpp: // skip to Nth set of extra values -fix_store_state.cpp:/* ---------------------------------------------------------------------- -fix_store_state.cpp:------------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- -fix_store_state.cpp:------------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- -fix_store_state.cpp: one method for every keyword fix store/state can archive -fix_store_state.cpp:------------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp: double invxprd = 1.0/domain->xprd; -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp: double invyprd = 1.0/domain->yprd; -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp: double invzprd = 1.0/domain->zprd; -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp: double invxprd = 1.0/domain->xprd; -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp: double invyprd = 1.0/domain->yprd; -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp: double invzprd = 1.0/domain->zprd; -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_store_state.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- -fix_temp_berendsen.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_temp_berendsen.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_temp_berendsen.cpp:------------------------------------------------------------------------- */ -fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_berendsen.cpp: if (narg != 6) error->all(FLERR,"Illegal fix temp/berendsen command"); -fix_temp_berendsen.cpp: // Berendsen thermostat should be applied every step -fix_temp_berendsen.cpp: // error checks -fix_temp_berendsen.cpp: error->all(FLERR,"Fix temp/berendsen period must be > 0.0"); -fix_temp_berendsen.cpp: // create a new compute temp style -fix_temp_berendsen.cpp: // id = fix-ID + temp, compute group = fix group -fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_berendsen.cpp: // delete temperature if fix created it -fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_berendsen.cpp: // check variable -fix_temp_berendsen.cpp: error->all(FLERR,"Variable name for fix temp/berendsen does not exist"); -fix_temp_berendsen.cpp: else error->all(FLERR,"Variable for fix temp/berendsen is invalid style"); -fix_temp_berendsen.cpp: error->all(FLERR,"Temperature ID for fix temp/berendsen does not exist"); -fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_berendsen.cpp: // there is nothing to do, if there are no degrees of freedom -fix_temp_berendsen.cpp: "Computed temperature for fix temp/berendsen cannot be 0.0"); -fix_temp_berendsen.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -fix_temp_berendsen.cpp: // set current t_target -fix_temp_berendsen.cpp: // if variable temp, evaluate variable, wrap with clear/add -fix_temp_berendsen.cpp: "Fix temp/berendsen variable returned negative temperature"); -fix_temp_berendsen.cpp: // rescale velocities by lamda -fix_temp_berendsen.cpp: // for BIAS: -fix_temp_berendsen.cpp: // temperature is current, so do not need to re-compute -fix_temp_berendsen.cpp: // OK to not test returned v = 0, since lamda is multiplied by v -fix_temp_berendsen.cpp: double lamda = sqrt(1.0 + update->dt/t_period*(t_target/t_current - 1.0)); -fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_berendsen.cpp:/* ---------------------------------------------------------------------- -fix_temp_berendsen.cpp:------------------------------------------------------------------------- */ -fix_temp_csld.cpp:/* ---------------------------------------------------------------------- -fix_temp_csld.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_temp_csld.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_temp_csld.cpp:------------------------------------------------------------------------- */ -fix_temp_csld.cpp:/* ---------------------------------------------------------------------- -fix_temp_csld.cpp:------------------------------------------------------------------------- */ -fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csld.cpp: if (narg != 7) error->all(FLERR,"Illegal fix temp/csld command"); -fix_temp_csld.cpp: // CSLD thermostat should be applied every step -fix_temp_csld.cpp: // error checks -fix_temp_csld.cpp: if (t_period <= 0.0) error->all(FLERR,"Illegal fix temp/csld command"); -fix_temp_csld.cpp: if (seed <= 0) error->all(FLERR,"Illegal fix temp/csld command"); -fix_temp_csld.cpp: // create a new compute temp style -fix_temp_csld.cpp: // id = fix-ID + temp, compute group = fix group -fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csld.cpp: // delete temperature if fix created it -fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csld.cpp: // we cannot handle constraints via rattle or shake correctly. -fix_temp_csld.cpp: error->all(FLERR,"Fix temp/csld is not compatible with fix rattle or fix shake"); -fix_temp_csld.cpp: // check variable -fix_temp_csld.cpp: error->all(FLERR,"Variable name for fix temp/csld does not exist"); -fix_temp_csld.cpp: else error->all(FLERR,"Variable for fix temp/csld is invalid style"); -fix_temp_csld.cpp: error->all(FLERR,"Temperature ID for fix temp/csld does not exist"); -fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csld.cpp: // set current t_target -fix_temp_csld.cpp: // if variable temp, evaluate variable, wrap with clear/add -fix_temp_csld.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -fix_temp_csld.cpp: "Fix temp/csld variable returned negative temperature"); -fix_temp_csld.cpp: // there is nothing to do, if there are no degrees of freedom -fix_temp_csld.cpp: // adjust holding space, if needed and copy existing velocities -fix_temp_csld.cpp: // The CSLD thermostat is a linear combination of old and new velocities, -fix_temp_csld.cpp: // where the new ones are randomly chosen from a gaussian distribution. -fix_temp_csld.cpp: // see Bussi and Parrinello, Phys. Rev. E (2007). -fix_temp_csld.cpp: const double factor = 1.0/sqrt(m); -fix_temp_csld.cpp: // mixing factors -fix_temp_csld.cpp: const double c1 = exp(-update->dt/t_period); -fix_temp_csld.cpp: const double c2 = sqrt((1.0-c1*c1)*t_target/temperature->compute_scalar()); -fix_temp_csld.cpp: // tally the kinetic energy transferred between heat bath and system -fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csld.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csld.cpp:/* ---------------------------------------------------------------------- -fix_temp_csld.cpp:------------------------------------------------------------------------- */ -fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- -fix_temp_csvr.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_temp_csvr.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_temp_csvr.cpp:------------------------------------------------------------------------- */ -fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- -fix_temp_csvr.cpp:------------------------------------------------------------------------- */ -fix_temp_csvr.cpp: // make certain, that -log() doesn't overflow. -fix_temp_csvr.cpp: y=v2/v1; -fix_temp_csvr.cpp: if (am*log(x/am)-s*y < -700 || v1<0.00001) { -fix_temp_csvr.cpp: e=(1.0+y*y)*exp(am*log(x/am)-s*y); -fix_temp_csvr.cpp:/* ------------------------------------------------------------------- -fix_temp_csvr.cpp:---------------------------------------------------------------------- */ -fix_temp_csvr.cpp: return 2.0 * gamdev(nn / 2); -fix_temp_csvr.cpp: return 2.0 * gamdev((nn-1) / 2) + rr*rr; -fix_temp_csvr.cpp:/* ------------------------------------------------------------------- -fix_temp_csvr.cpp:---------------------------------------------------------------------- */ -fix_temp_csvr.cpp: const double c1 = exp(-update->dt/t_period); -fix_temp_csvr.cpp: const double c2 = (1.0-c1)*ekin_new/ekin_old/tdof; -fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csvr.cpp: if (narg != 7) error->all(FLERR,"Illegal fix temp/csvr command"); -fix_temp_csvr.cpp: // CSVR thermostat should be applied every step -fix_temp_csvr.cpp: // error checks -fix_temp_csvr.cpp: if (t_period <= 0.0) error->all(FLERR,"Illegal fix temp/csvr command"); -fix_temp_csvr.cpp: if (seed <= 0) error->all(FLERR,"Illegal fix temp/csvr command"); -fix_temp_csvr.cpp: // create a new compute temp style -fix_temp_csvr.cpp: // id = fix-ID + temp, compute group = fix group -fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csvr.cpp: // delete temperature if fix created it -fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csvr.cpp: // check variable -fix_temp_csvr.cpp: error->all(FLERR,"Variable name for fix temp/csvr does not exist"); -fix_temp_csvr.cpp: else error->all(FLERR,"Variable for fix temp/csvr is invalid style"); -fix_temp_csvr.cpp: error->all(FLERR,"Temperature ID for fix temp/csvr does not exist"); -fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csvr.cpp: // set current t_target -fix_temp_csvr.cpp: // if variable temp, evaluate variable, wrap with clear/add -fix_temp_csvr.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -fix_temp_csvr.cpp: "Fix temp/csvr variable returned negative temperature"); -fix_temp_csvr.cpp: // there is nothing to do, if there are no degrees of freedom -fix_temp_csvr.cpp: // compute velocity scaling factor on root node and broadcast -fix_temp_csvr.cpp: // tally the kinetic energy transferred between heat bath and system -fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_csvr.cpp:/* ---------------------------------------------------------------------- -fix_temp_csvr.cpp:------------------------------------------------------------------------- */ -fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- -fix_temp_rescale.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_temp_rescale.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_temp_rescale.cpp:------------------------------------------------------------------------- */ -fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_rescale.cpp: if (narg < 8) error->all(FLERR,"Illegal fix temp/rescale command"); -fix_temp_rescale.cpp: if (nevery <= 0) error->all(FLERR,"Illegal fix temp/rescale command"); -fix_temp_rescale.cpp: // create a new compute temp -fix_temp_rescale.cpp: // id = fix-ID + temp, compute group = fix group -fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_rescale.cpp: // delete temperature if fix created it -fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_rescale.cpp: // check variable -fix_temp_rescale.cpp: error->all(FLERR,"Variable name for fix temp/rescale does not exist"); -fix_temp_rescale.cpp: else error->all(FLERR,"Variable for fix temp/rescale is invalid style"); -fix_temp_rescale.cpp: error->all(FLERR,"Temperature ID for fix temp/rescale does not exist"); -fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_rescale.cpp: // there is nothing to do, if there are no degrees of freedom -fix_temp_rescale.cpp: // protect against division by zero -fix_temp_rescale.cpp: error->all(FLERR,"Computed temperature for fix temp/rescale cannot be 0.0"); -fix_temp_rescale.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -fix_temp_rescale.cpp: // set current t_target -fix_temp_rescale.cpp: // if variable temp, evaluate variable, wrap with clear/add -fix_temp_rescale.cpp: "Fix temp/rescale variable returned negative temperature"); -fix_temp_rescale.cpp: // rescale velocity of appropriate atoms if outside window -fix_temp_rescale.cpp: // for BIAS: -fix_temp_rescale.cpp: // temperature is current, so do not need to re-compute -fix_temp_rescale.cpp: // OK to not test returned v = 0, since factor is multiplied by v -fix_temp_rescale.cpp: double factor = sqrt(t_target/t_current); -fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- */ -fix_temp_rescale.cpp:/* ---------------------------------------------------------------------- -fix_temp_rescale.cpp:------------------------------------------------------------------------- */ -fix_tmd.cpp:/* ---------------------------------------------------------------------- -fix_tmd.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_tmd.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_tmd.cpp:------------------------------------------------------------------------- */ -fix_tmd.cpp:/* ---------------------------------------------------------------------- -fix_tmd.cpp:------------------------------------------------------------------------- */ -fix_tmd.cpp:/* ---------------------------------------------------------------------- */ -fix_tmd.cpp: // perform initial allocation of atom-based arrays -fix_tmd.cpp: // register with Atom class -fix_tmd.cpp: // make sure an atom map exists before reading in target coordinates -fix_tmd.cpp: // read from arg[4] and store coordinates of final target in xf -fix_tmd.cpp: // open arg[6] statistics file and write header -fix_tmd.cpp: // rho_start = initial rho -fix_tmd.cpp: // xold = initial x or 0.0 if not in group -fix_tmd.cpp: rho_start = sqrt(rho_start_total/masstotal); -fix_tmd.cpp:/* ---------------------------------------------------------------------- */ -fix_tmd.cpp: // unregister callbacks to this fix from Atom class -fix_tmd.cpp: // delete locally stored arrays -fix_tmd.cpp:/* ---------------------------------------------------------------------- */ -fix_tmd.cpp:/* ---------------------------------------------------------------------- */ -fix_tmd.cpp: // check that no integrator fix comes after a TMD fix -fix_tmd.cpp: // timesteps -fix_tmd.cpp:/* ---------------------------------------------------------------------- */ -fix_tmd.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -fix_tmd.cpp: // compute the Lagrange multiplier -fix_tmd.cpp: a = abetotal[0]/masstotal; -fix_tmd.cpp: b = 2.0*abetotal[1]/masstotal; -fix_tmd.cpp: e = abetotal[2]/masstotal; -fix_tmd.cpp: if (b >= 0) gamma_max = (-b - sqrt(d))/(2*a); -fix_tmd.cpp: else gamma_max = (-b + sqrt(d))/(2*a); -fix_tmd.cpp: gamma_back = c/(a*gamma_max); -fix_tmd.cpp: if (b >= 0) gamma_max = (-b - sqrt(d))/(2*a); -fix_tmd.cpp: else gamma_max = (-b + sqrt(d))/(2*a); -fix_tmd.cpp: gamma_forward = c/(a*gamma_max); -fix_tmd.cpp: // stat write of mean constraint force based on previous time step constraint -fix_tmd.cpp: (-frtotal - kttotal/dtv/dtf)*(rho_target - rho_old)/rho_old; -fix_tmd.cpp: lambda = gamma_back*rho_old*masstotal/dtv/dtf; -fix_tmd.cpp: // apply the constraint and save constrained positions for next step -fix_tmd.cpp: dtfm = dtf / mass[type[i]]; -fix_tmd.cpp: v[i][0] += gamma_forward*dxold/dtv; -fix_tmd.cpp: f[i][0] += gamma_forward*dxold/dtv/dtfm; -fix_tmd.cpp: v[i][1] += gamma_forward*dyold/dtv; -fix_tmd.cpp: f[i][1] += gamma_forward*dyold/dtv/dtfm; -fix_tmd.cpp: v[i][2] += gamma_forward*dzold/dtv; -fix_tmd.cpp: f[i][2] += gamma_forward*dzold/dtv/dtfm; -fix_tmd.cpp:/* ---------------------------------------------------------------------- */ -fix_tmd.cpp: if (flag) return; // only used by NPT,NPH -fix_tmd.cpp:/* ---------------------------------------------------------------------- -fix_tmd.cpp:------------------------------------------------------------------------- */ -fix_tmd.cpp:/* ---------------------------------------------------------------------- -fix_tmd.cpp:------------------------------------------------------------------------- */ -fix_tmd.cpp:/* ---------------------------------------------------------------------- -fix_tmd.cpp:------------------------------------------------------------------------- */ -fix_tmd.cpp:/* ---------------------------------------------------------------------- -fix_tmd.cpp:------------------------------------------------------------------------- */ -fix_tmd.cpp:/* ---------------------------------------------------------------------- -fix_tmd.cpp:------------------------------------------------------------------------- */ -fix_tmd.cpp:/* ---------------------------------------------------------------------- -fix_tmd.cpp:------------------------------------------------------------------------- */ -fix_tmd.cpp: MPI_Bcast(&eof,sizeof(char *)/sizeof(char),MPI_CHAR,0,world); -fix_tmd.cpp: // clean up -fix_tmd.cpp: // check that all atoms in group were listed in target file -fix_tmd.cpp: // set xf = 0.0 for atoms not in group -fix_tmd.cpp:/* ---------------------------------------------------------------------- -fix_tmd.cpp:------------------------------------------------------------------------- */ -fix_tmd.cpp:/* ---------------------------------------------------------------------- */ -fix_vector.cpp:/* ---------------------------------------------------------------------- -fix_vector.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_vector.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_vector.cpp:------------------------------------------------------------------------- */ -fix_vector.cpp:/* ---------------------------------------------------------------------- */ -fix_vector.cpp: // setup and error check -fix_vector.cpp: // for fix inputs, check that fix frequency is acceptable -fix_vector.cpp: // this fix produces either a global vector or array -fix_vector.cpp: // intensive/extensive flags set by compute,fix,variable that produces value -fix_vector.cpp: "intensive/extensive from these inputs"); -fix_vector.cpp: // ncount = current size of vector or array -fix_vector.cpp: // nextstep = next step on which end_of_step does something -fix_vector.cpp: // add nextstep to all computes that store invocation times -fix_vector.cpp: // since don't know a priori which are invoked by this fix -fix_vector.cpp: // once in end_of_step() can set timestep for ones actually invoked -fix_vector.cpp: nextstep = (update->ntimestep/nevery)*nevery; -fix_vector.cpp: // initialstep = first step the vector/array will store values for -fix_vector.cpp:/* ---------------------------------------------------------------------- */ -fix_vector.cpp:/* ---------------------------------------------------------------------- */ -fix_vector.cpp:/* ---------------------------------------------------------------------- */ -fix_vector.cpp: // set current indices for all computes,fixes,variables -fix_vector.cpp: // reallocate vector or array for accumulated size at end of run -fix_vector.cpp: // use endstep to allow for subsequent runs with "pre no" -fix_vector.cpp: // nsize = # of entries from initialstep to finalstep -fix_vector.cpp: bigint finalstep = update->endstep/nevery * nevery; -fix_vector.cpp: ncountmax = (finalstep-initialstep)/nevery + 1; -fix_vector.cpp:/* ---------------------------------------------------------------------- -fix_vector.cpp:------------------------------------------------------------------------- */ -fix_vector.cpp:/* ---------------------------------------------------------------------- */ -fix_vector.cpp: // skip if not step which requires doing something -fix_vector.cpp: // accumulate results of computes,fixes,variables to local copy -fix_vector.cpp: // compute/fix/variable may invoke computes so wrap with clear/add -fix_vector.cpp: // invoke compute if not previously invoked -fix_vector.cpp: // access fix fields, guaranteed to be ready -fix_vector.cpp: // evaluate equal-style or vector-style variable -fix_vector.cpp: // trigger computes on next needed step -fix_vector.cpp: // update size of vector or array -fix_vector.cpp:/* ---------------------------------------------------------------------- -fix_vector.cpp:------------------------------------------------------------------------- */ -fix_vector.cpp:/* ---------------------------------------------------------------------- -fix_vector.cpp:------------------------------------------------------------------------- */ -fix_viscous.cpp:/* ---------------------------------------------------------------------- -fix_viscous.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_viscous.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_viscous.cpp:------------------------------------------------------------------------- */ -fix_viscous.cpp:/* ---------------------------------------------------------------------- */ -fix_viscous.cpp: // optional args -fix_viscous.cpp:/* ---------------------------------------------------------------------- */ -fix_viscous.cpp:/* ---------------------------------------------------------------------- */ -fix_viscous.cpp:/* ---------------------------------------------------------------------- */ -fix_viscous.cpp:/* ---------------------------------------------------------------------- */ -fix_viscous.cpp:/* ---------------------------------------------------------------------- */ -fix_viscous.cpp:/* ---------------------------------------------------------------------- */ -fix_viscous.cpp: // apply drag force to atoms in group -fix_viscous.cpp: // direction is opposed to velocity vector -fix_viscous.cpp: // magnitude depends on atom type -fix_viscous.cpp:/* ---------------------------------------------------------------------- */ -fix_viscous.cpp:/* ---------------------------------------------------------------------- */ -fix_wall.cpp:/* ---------------------------------------------------------------------- -fix_wall.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_wall.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_wall.cpp:------------------------------------------------------------------------- */ -fix_wall.cpp:/* ---------------------------------------------------------------------- */ -fix_wall.cpp: // parse args -fix_wall.cpp: int dim = wallwhich[nwall] / 2; -fix_wall.cpp: // error checks -fix_wall.cpp: error->all(FLERR,"Cannot use fix wall zlo/zhi for a 2d simulation"); -fix_wall.cpp: // scale factors for wall position for CONSTANT and VARIABLE walls -fix_wall.cpp: // set xflag if any wall positions are variable -fix_wall.cpp: // set varflag if any wall positions or parameters are variable -fix_wall.cpp: // set wstyle to VARIABLE if either epsilon or sigma is a variable -fix_wall.cpp:/* ---------------------------------------------------------------------- */ -fix_wall.cpp:/* ---------------------------------------------------------------------- */ -fix_wall.cpp: // FLD implicit needs to invoke wall forces before pair style -fix_wall.cpp:/* ---------------------------------------------------------------------- */ -fix_wall.cpp: // setup coefficients -fix_wall.cpp:/* ---------------------------------------------------------------------- */ -fix_wall.cpp:/* ---------------------------------------------------------------------- */ -fix_wall.cpp:/* ---------------------------------------------------------------------- -fix_wall.cpp:------------------------------------------------------------------------- */ -fix_wall.cpp:/* ---------------------------------------------------------------------- */ -fix_wall.cpp: // coord = current position of wall -fix_wall.cpp: // evaluate variables if necessary, wrap with clear/add -fix_wall.cpp: // for epsilon/sigma variables need to re-invoke precompute() -fix_wall.cpp:/* ---------------------------------------------------------------------- */ -fix_wall.cpp:/* ---------------------------------------------------------------------- */ -fix_wall.cpp:/* ---------------------------------------------------------------------- -fix_wall.cpp:------------------------------------------------------------------------- */ -fix_wall.cpp: // only sum across procs one time -fix_wall.cpp:/* ---------------------------------------------------------------------- -fix_wall.cpp:------------------------------------------------------------------------- */ -fix_wall.cpp: // only sum across procs one time -fix_wall_harmonic.cpp:/* ---------------------------------------------------------------------- -fix_wall_harmonic.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_wall_harmonic.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_wall_harmonic.cpp:------------------------------------------------------------------------- */ -fix_wall_harmonic.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_harmonic.cpp:/* ---------------------------------------------------------------------- -fix_wall_harmonic.cpp:------------------------------------------------------------------------- */ -fix_wall_harmonic.cpp: int dim = which / 2; -fix_wall_lj1043.cpp:/* ---------------------------------------------------------------------- -fix_wall_lj1043.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_wall_lj1043.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_wall_lj1043.cpp:------------------------------------------------------------------------- */ -fix_wall_lj1043.cpp:/* ---------------------------------------------------------------------- -fix_wall_lj1043.cpp:------------------------------------------------------------------------- */ -fix_wall_lj1043.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_lj1043.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_lj1043.cpp: coeff1[m] = MY_2PI * 2.0/5.0 * epsilon[m] * pow(sigma[m],10.0); -fix_wall_lj1043.cpp: coeff3[m] = MY_2PI * pow(2.0,1/2.0) / 3 * epsilon[m] * pow(sigma[m],3.0); -fix_wall_lj1043.cpp: coeff4[m] = 0.61 / pow(2.0,1/2.0) * sigma[m]; -fix_wall_lj1043.cpp: double rinv = 1.0/cutoff[m]; -fix_wall_lj1043.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_lj1043.cpp: int dim = which / 2; -fix_wall_lj1043.cpp: rinv = 1.0/delta; -fix_wall_lj126.cpp:/* ---------------------------------------------------------------------- -fix_wall_lj126.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_wall_lj126.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_wall_lj126.cpp:------------------------------------------------------------------------- */ -fix_wall_lj126.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_lj126.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_lj126.cpp: double r2inv = 1.0/(cutoff[m]*cutoff[m]); -fix_wall_lj126.cpp:/* ---------------------------------------------------------------------- -fix_wall_lj126.cpp:------------------------------------------------------------------------- */ -fix_wall_lj126.cpp: int dim = which / 2; -fix_wall_lj126.cpp: rinv = 1.0/delta; -fix_wall_lj93.cpp:/* ---------------------------------------------------------------------- -fix_wall_lj93.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_wall_lj93.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_wall_lj93.cpp:------------------------------------------------------------------------- */ -fix_wall_lj93.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_lj93.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_lj93.cpp: coeff1[m] = 6.0/5.0 * epsilon[m] * pow(sigma[m],9.0); -fix_wall_lj93.cpp: coeff3[m] = 2.0/15.0 * epsilon[m] * pow(sigma[m],9.0); -fix_wall_lj93.cpp: double rinv = 1.0/cutoff[m]; -fix_wall_lj93.cpp:/* ---------------------------------------------------------------------- -fix_wall_lj93.cpp:------------------------------------------------------------------------- */ -fix_wall_lj93.cpp: int dim = which / 2; -fix_wall_lj93.cpp: rinv = 1.0/delta; -fix_wall_reflect.cpp:/* ---------------------------------------------------------------------- -fix_wall_reflect.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_wall_reflect.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_wall_reflect.cpp:------------------------------------------------------------------------- */ -fix_wall_reflect.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_reflect.cpp: if (narg < 4) error->all(FLERR,"Illegal fix wall/reflect command"); -fix_wall_reflect.cpp: // parse args -fix_wall_reflect.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal fix wall/reflect command"); -fix_wall_reflect.cpp: error->all(FLERR,"Wall defined twice in fix wall/reflect command"); -fix_wall_reflect.cpp: int dim = wallwhich[nwall] / 2; -fix_wall_reflect.cpp: if (iarg+2 > narg) error->all(FLERR,"Illegal wall/reflect command"); -fix_wall_reflect.cpp: else error->all(FLERR,"Illegal fix wall/reflect command"); -fix_wall_reflect.cpp: } else error->all(FLERR,"Illegal fix wall/reflect command"); -fix_wall_reflect.cpp: // error check -fix_wall_reflect.cpp: error->all(FLERR,"Cannot use fix wall/reflect in periodic dimension"); -fix_wall_reflect.cpp: error->all(FLERR,"Cannot use fix wall/reflect in periodic dimension"); -fix_wall_reflect.cpp: error->all(FLERR,"Cannot use fix wall/reflect in periodic dimension"); -fix_wall_reflect.cpp: "Cannot use fix wall/reflect zlo/zhi for a 2d simulation"); -fix_wall_reflect.cpp: // scale factors for CONSTANT and VARIABLE walls -fix_wall_reflect.cpp: // set varflag if any wall positions are variable -fix_wall_reflect.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_reflect.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_reflect.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_reflect.cpp: error->all(FLERR,"Variable name for fix wall/reflect does not exist"); -fix_wall_reflect.cpp: error->all(FLERR,"Variable for fix wall/reflect is invalid style"); -fix_wall_reflect.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_reflect.cpp: // coord = current position of wall -fix_wall_reflect.cpp: // evaluate variable if necessary, wrap with clear/add -fix_wall_reflect.cpp: dim = wallwhich[m] / 2; -fix_wall_region.cpp:/* ---------------------------------------------------------------------- -fix_wall_region.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -fix_wall_region.cpp: http://lammps.sandia.gov, Sandia National Laboratories -fix_wall_region.cpp:------------------------------------------------------------------------- */ -fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_region.cpp: if (narg != 8) error->all(FLERR,"Illegal fix wall/region command"); -fix_wall_region.cpp: // parse args -fix_wall_region.cpp: error->all(FLERR,"Region ID for fix wall/region does not exist"); -fix_wall_region.cpp: else error->all(FLERR,"Illegal fix wall/region command"); -fix_wall_region.cpp: if (cutoff <= 0.0) error->all(FLERR,"Fix wall/region cutoff <= 0.0"); -fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_region.cpp: // set index and check validity of region -fix_wall_region.cpp: error->all(FLERR,"Region ID for fix wall/region does not exist"); -fix_wall_region.cpp: // error checks for style COLLOID -fix_wall_region.cpp: // insure all particles in group are extended particles -fix_wall_region.cpp: error->all(FLERR,"Fix wall/region colloid requires atom style sphere"); -fix_wall_region.cpp: error->all(FLERR,"Fix wall/region colloid requires extended particles"); -fix_wall_region.cpp: // setup coefficients for each style -fix_wall_region.cpp: coeff1 = 6.0/5.0 * epsilon * pow(sigma,9.0); -fix_wall_region.cpp: coeff3 = 2.0/15.0 * epsilon * pow(sigma,9.0); -fix_wall_region.cpp: double rinv = 1.0/cutoff; -fix_wall_region.cpp: double r2inv = 1.0/(cutoff*cutoff); -fix_wall_region.cpp: coeff1 = -4.0/315.0 * epsilon * pow(sigma,6.0); -fix_wall_region.cpp: coeff2 = -2.0/3.0 * epsilon; -fix_wall_region.cpp: coeff3 = epsilon * pow(sigma,6.0)/7560.0; -fix_wall_region.cpp: coeff4 = epsilon/6.0; -fix_wall_region.cpp: double rinv = 1.0/cutoff; -fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_region.cpp: // region->match() insures particle is in region or on surface, else error -fix_wall_region.cpp: // if returned contact dist r = 0, is on surface, also an error -fix_wall_region.cpp: // in COLLOID case, r <= radius is an error -fix_wall_region.cpp: // initilize ewall after region->prematch(), -fix_wall_region.cpp: // so a dynamic region can access last timestep values -fix_wall_region.cpp: } else rinv = 1.0/region->contact[m].r; -fix_wall_region.cpp: "used in fix wall/region"); -fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_region.cpp:/* ---------------------------------------------------------------------- */ -fix_wall_region.cpp:/* ---------------------------------------------------------------------- -fix_wall_region.cpp:------------------------------------------------------------------------- */ -fix_wall_region.cpp: // only sum across procs one time -fix_wall_region.cpp:/* ---------------------------------------------------------------------- -fix_wall_region.cpp:------------------------------------------------------------------------- */ -fix_wall_region.cpp: // only sum across procs one time -fix_wall_region.cpp:/* ---------------------------------------------------------------------- -fix_wall_region.cpp: LJ 9/3 interaction for particle with wall -fix_wall_region.cpp:------------------------------------------------------------------------- */ -fix_wall_region.cpp: double rinv = 1.0/r; -fix_wall_region.cpp:/* ---------------------------------------------------------------------- -fix_wall_region.cpp: LJ 12/6 interaction for particle with wall -fix_wall_region.cpp:------------------------------------------------------------------------- */ -fix_wall_region.cpp: double rinv = 1.0/r; -fix_wall_region.cpp:/* ---------------------------------------------------------------------- -fix_wall_region.cpp:------------------------------------------------------------------------- */ -fix_wall_region.cpp: double rinv = 1.0/delta2; -fix_wall_region.cpp: double rinv2 = 1.0/r2; -fix_wall_region.cpp: double rinv3 = 1.0/r3; -fix_wall_region.cpp:/* ---------------------------------------------------------------------- -fix_wall_region.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -force.cpp: http://lammps.sandia.gov, Sandia National Laboratories -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- */ -force.cpp: // fill pair map with pair styles listed in style_pair.h -force.cpp:/* ---------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- */ -force.cpp: qqrd2e = qqr2e/dielectric; -force.cpp: if (kspace) kspace->init(); // kspace must come before pair -force.cpp: if (pair) pair->init(); // so g_ewald is defined -force.cpp:/* ---------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp: if trysuffix = 1, try first with suffix1/2 appended -force.cpp: return sflag = 0 for no suffix added, 1 or 2 for suffix1/2 added -force.cpp:------------------------------------------------------------------------- */ -force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); -force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix2); -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp: else if (strstr(pair_style,"hybrid/overlay")) { -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); -force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix2); -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); -force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); -force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix2); -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); -force.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix2); -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp: sprintf(estyle,"%s/%s",arg[0],lmp->suffix); -force.cpp: sprintf(estyle,"%s/%s",arg[0],lmp->suffix2); -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp: if sflag = 1/2, append suffix or suffix2 to style -force.cpp:------------------------------------------------------------------------- */ -force.cpp: if (sflag == 1) sprintf(estyle,"%s/%s",style,lmp->suffix); -force.cpp: else sprintf(estyle,"%s/%s",style,lmp->suffix2); -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp: // defaults, but do not reset special_extra -force.cpp: special_coul[3] = 5.0/6.0; -force.cpp: } else if (strcmp(arg[iarg],"lj/coul") == 0) { -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp: // attempt to open file directly -force.cpp: // if successful, return ptr -force.cpp: // try the environment variable directory -force.cpp: newpath[len1] = '/'; -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp: // skip over the disk drive part of windows pathnames -force.cpp: if ((*path == '\\') || (*path == '/')) pot = path + 1; -force.cpp: if (*path == '/') pot = path + 1; -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -force.cpp:/* ---------------------------------------------------------------------- -force.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -group.cpp: http://lammps.sandia.gov, Sandia National Laboratories -group.cpp:------------------------------------------------------------------------- */ -group.cpp:// allocate space for static class variable -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: // create "all" group -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: // delete the group if not being used elsewhere -group.cpp: // clear mask of each atom assigned to this group -group.cpp: // clear the group -group.cpp: // find group in existing list -group.cpp: // add a new group if igroup = -1 -group.cpp: // style = region -group.cpp: // add to group if atom is in region -group.cpp: // style = type, molecule, id -group.cpp: // add to group if atom matches type/molecule/id or condition -group.cpp: // args = logical condition -group.cpp: // add to group if meets condition -group.cpp: // args = list of values -group.cpp: // add to group if attribute matches value or sequence -group.cpp: // style = variable -group.cpp: // add to group if atom-atyle variable is non-zero -group.cpp: // aflag = evaluation of per-atom variable -group.cpp: // add to group if per-atom variable evaluated to non-zero -group.cpp: // style = include -group.cpp: // style = subtract -group.cpp: // add to group if in 1st group in list -group.cpp: // remove atoms if they are in any of the other groups -group.cpp: // AND with inverse mask removes the atom from group -group.cpp: // style = union -group.cpp: // add to group if in any other group in list -group.cpp: // style = intersect -group.cpp: // add to group if in all groups in list -group.cpp: // style = dynamic -group.cpp: // create a new FixGroup to dynamically determine atoms in group -group.cpp: // if group is already dynamic, delete existing FixGroup -group.cpp: // style = static -group.cpp: // remove dynamic FixGroup if necessary -group.cpp: // not a valid group style -group.cpp: // print stats for changed group -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: // find group in existing list -group.cpp: // add a new group if igroup = -1 -group.cpp: // add atoms to group whose flags are set -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: // hash = unique molecule IDs of atoms already in group -group.cpp: // list = set of unique molecule IDs for atoms to add -group.cpp: // pass list to all other procs via comm->ring() -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: // use count to not change restart format with deleted groups -group.cpp: // remove this on next major release -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: // delete existing group names -group.cpp: // atom masks will be overwritten by reading of restart file -group.cpp: // use count to not change restart format with deleted groups -group.cpp: // remove this on next major release -group.cpp:// ---------------------------------------------------------------------- -group.cpp:// computations on a group of atoms -group.cpp:// ---------------------------------------------------------------------- -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: // compute extent across all procs -group.cpp: // flip sign of MIN to do it in one Allreduce MAX -group.cpp: // set box by extent in shrink-wrapped dims -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: // compute extent across all procs -group.cpp: // flip sign of MIN to do it in one Allreduce MAX -group.cpp: // set box by extent in shrink-wrapped dims -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: cm[0] /= masstotal; -group.cpp: cm[1] /= masstotal; -group.cpp: cm[2] /= masstotal; -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: cm[0] /= masstotal; -group.cpp: cm[1] /= masstotal; -group.cpp: cm[2] /= masstotal; -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: cm[0] /= masstotal; -group.cpp: cm[1] /= masstotal; -group.cpp: cm[2] /= masstotal; -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: cm[0] /= masstotal; -group.cpp: cm[1] /= masstotal; -group.cpp: cm[2] /= masstotal; -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: if (masstotal > 0.0) return sqrt(rg_all/masstotal); -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: if (masstotal > 0.0) return sqrt(rg_all/masstotal); -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp:/* ---------------------------------------------------------------------- -group.cpp:------------------------------------------------------------------------- */ -group.cpp: // determinant = triple product of rows of inertia matrix -group.cpp: // non-singular I matrix -group.cpp: // use L = Iw, inverting I to solve for w -group.cpp: // this should give exact zeroing of angular momentum by velocity command -group.cpp: inverse[i][j] /= determinant; -group.cpp: // handle (nearly) singular I matrix -group.cpp: // typically due to 2-atom group or linear molecule -group.cpp: // use jacobi() and angmom_to_omega() to calculate valid omega -group.cpp: // less exact answer than matrix inversion, due to iterative Jacobi method -group.cpp: // enforce 3 evectors as a right-handed coordinate system -group.cpp: // flip 3rd vector if needed -group.cpp: // if any principal moment < scaled EPSILON, set to 0.0 -group.cpp: // calculate omega using diagonalized inertia matrix -image.cpp:/* ---------------------------------------------------------------------- -image.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -image.cpp: http://lammps.sandia.gov, Sandia National Laboratories -image.cpp:------------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- */ -image.cpp: // defaults for 3d viz -image.cpp: theta = 60.0 * MY_PI/180.0; -image.cpp: phi = 30.0 * MY_PI/180.0; -image.cpp: // colors -image.cpp: // define nmap colormaps, all with default settings -image.cpp: // static parameters -image.cpp: FOV = MY_PI/6.0; // 30 degrees -image.cpp: keyLightPhi = -MY_PI4; // -45 degrees -image.cpp: keyLightTheta = MY_PI/6.0; // 30 degrees -image.cpp: fillLightPhi = MY_PI/6.0; // 30 degrees -image.cpp: backLightPhi = MY_PI; // 180 degrees -image.cpp: backLightTheta = MY_PI/12.0; // 15 degrees -image.cpp:/* ---------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp: // camDir points at the camera, view direction = -camDir -image.cpp: // normalize up vector -image.cpp: // adjust camDir by epsilon if camDir and up are parallel -image.cpp: // do this by tweaking view direction, not up direction -image.cpp: // try to insure continuous images as changing view passes thru up -image.cpp: // sufficient to handle common cases where theta = 0 or 180 is degenerate? -image.cpp: // camUp = camDir x (Up x camDir) -image.cpp: // zdist = camera distance = function of zoom & bounding box -image.cpp: // camPos = camera position = function of camDir and zdist -image.cpp: zdist /= tan(FOV); -image.cpp: zdist /= zoom; -image.cpp: // light directions in terms of -camDir = z -image.cpp: // adjust shinyness of the reflection -image.cpp: // adjust strength of the SSAO -image.cpp: SSAOJitter = MY_PI / 12; -image.cpp: // param for rasterizing spheres -image.cpp: tanPerPixel = -(maxdel / (double) height); -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp: nhalf /= 2; -image.cpp: nhalf /= 2; -image.cpp: // extra SSAO enhancement -image.cpp: // bcast full image to all procs -image.cpp: // each works on subset of pixels -image.cpp: // gather result back to proc 0 -image.cpp: int pixelPart = height/nprocs * width*3; -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp: draw XYZ axes in red/green/blue -image.cpp:------------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp: -tanPerPixel / zoom; -image.cpp: double pixelRadiusFull = radius / pixelWidth; -image.cpp: double xf = xmap / pixelWidth; -image.cpp: double yf = ymap / pixelWidth; -image.cpp: // shift 0,0 to screen center (vs lower left) -image.cpp: xc += width / 2; -image.cpp: yc += height / 2; -image.cpp: // outside the sphere in the projected image -image.cpp: surface[0] /= radius; -image.cpp: surface[1] /= radius; -image.cpp: surface[2] /= radius; -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp: -tanPerPixel / zoom; -image.cpp: double pixelHalfWidthFull = halfWidth / pixelWidth; -image.cpp: double xf = xmap / pixelWidth; -image.cpp: double yf = ymap / pixelWidth; -image.cpp: // shift 0,0 to screen center (vs lower left) -image.cpp: xc += width / 2; -image.cpp: yc += height / 2; -image.cpp: // iterate through each of the 6 axis-oriented planes of the box -image.cpp: // only render up to 3 which are facing the camera -image.cpp: // these checks short circuit a dot product, testing for > 0 -image.cpp: if (camDir[dim] > 0) { // positive faces camera -image.cpp: t = (radius - surface[dim]) / camDir[dim]; -image.cpp: } else if (camDir[dim] < 0) { // negative faces camera -image.cpp: t = -(radius + surface[dim]) / camDir[dim]; -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp: if (sflag/2) draw_sphere(y,surfaceColor,diameter); -image.cpp: MathExtra::scale3(1.0/len,zaxis); -image.cpp: -tanPerPixel / zoom; -image.cpp: double xf = xmap / pixelWidth; -image.cpp: double yf = ymap / pixelWidth; -image.cpp: // shift 0,0 to screen center (vs lower left) -image.cpp: xc += width / 2; -image.cpp: yc += height / 2; -image.cpp: double pixelHalfWidthFull = (rasterWidth * 0.5) / pixelWidth; -image.cpp: double pixelHalfHeightFull = (rasterHeight * 0.5) / pixelWidth; -image.cpp: double t = (-b + partial) / (2*a); -image.cpp: double t2 = (-b - partial) / (2*a); -image.cpp: // convert surface into the surface normal -image.cpp: normal[0] = surface[0] / radius; -image.cpp: normal[1] = surface[1] / radius; -image.cpp: // in camera space -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp: MathExtra::scale3 (1.0 / d1len, d1); -image.cpp: MathExtra::scale3 (1.0 / d2len, d2); -image.cpp: invndotd = 1.0 / MathExtra::dot3(normal, camDir); -image.cpp: // invalid triangle (parallel) -image.cpp: -tanPerPixel / zoom; -image.cpp: double xf = xmap / pixelWidth; -image.cpp: double yf = ymap / pixelWidth; -image.cpp: // shift 0,0 to screen center (vs lower left) -image.cpp: xc += width / 2; -image.cpp: yc += height / 2; -image.cpp: double pixelLeftFull = rasterLeft / pixelWidth; -image.cpp: double pixelRightFull = rasterRight / pixelWidth; -image.cpp: double pixelDownFull = rasterDown / pixelWidth; -image.cpp: double pixelUpFull = rasterUp / pixelWidth; -image.cpp: // test inside the triangle -image.cpp:/* ---------------------------------------------------------------------- */ -image.cpp: // store only the tangent relative to the camera normal (0,0,-1) -image.cpp:/* ---------------------------------------------------------------------- */ -image.cpp: // used for rasterizing the spheres -image.cpp: double delTheta = 2.0*MY_PI / SSAOSamples; -image.cpp: // typical neighborhood value for shading -image.cpp: -tanPerPixel / zoom; -image.cpp: int pixelRadius = (int) trunc (SSAORadius / pixelWidth + 0.5); -image.cpp: int hPart = height / nprocs; -image.cpp: // multiply by z cross surface tangent -image.cpp: // so that dot (aka cos) works here -image.cpp: // Bresenham's line algorithm to march over depthBuffer -image.cpp: delta = fabs(hy / hx); -image.cpp: delta = fabs(hx / hy); -image.cpp: // initialize with one step -image.cpp: // because the center point doesn't need testing -image.cpp: // cdepth - depthBuffer B/C we want it in the negative z direction -image.cpp: double h = atan ((cdepth - minPeak) / peakLen); -image.cpp: ao /= (double)SSAOSamples; -image.cpp:/* ---------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp: return static/dynamic status of color map index -image.cpp:------------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp: set min/max bounds of dynamic color map index -image.cpp:------------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp: {240/255.0, 248/255.0, 255/255.0}, -image.cpp: {250/255.0, 235/255.0, 215/255.0}, -image.cpp: {0/255.0, 255/255.0, 255/255.0}, -image.cpp: {127/255.0, 255/255.0, 212/255.0}, -image.cpp: {240/255.0, 255/255.0, 255/255.0}, -image.cpp: {245/255.0, 245/255.0, 220/255.0}, -image.cpp: {255/255.0, 228/255.0, 196/255.0}, -image.cpp: {0/255.0, 0/255.0, 0/255.0}, -image.cpp: {255/255.0, 255/255.0, 205/255.0}, -image.cpp: {0/255.0, 0/255.0, 255/255.0}, -image.cpp: {138/255.0, 43/255.0, 226/255.0}, -image.cpp: {165/255.0, 42/255.0, 42/255.0}, -image.cpp: {222/255.0, 184/255.0, 135/255.0}, -image.cpp: {95/255.0, 158/255.0, 160/255.0}, -image.cpp: {127/255.0, 255/255.0, 0/255.0}, -image.cpp: {210/255.0, 105/255.0, 30/255.0}, -image.cpp: {255/255.0, 127/255.0, 80/255.0}, -image.cpp: {100/255.0, 149/255.0, 237/255.0}, -image.cpp: {255/255.0, 248/255.0, 220/255.0}, -image.cpp: {220/255.0, 20/255.0, 60/255.0}, -image.cpp: {0/255.0, 255/255.0, 255/255.0}, -image.cpp: {0/255.0, 0/255.0, 139/255.0}, -image.cpp: {0/255.0, 139/255.0, 139/255.0}, -image.cpp: {184/255.0, 134/255.0, 11/255.0}, -image.cpp: {169/255.0, 169/255.0, 169/255.0}, -image.cpp: {0/255.0, 100/255.0, 0/255.0}, -image.cpp: {189/255.0, 183/255.0, 107/255.0}, -image.cpp: {139/255.0, 0/255.0, 139/255.0}, -image.cpp: {85/255.0, 107/255.0, 47/255.0}, -image.cpp: {255/255.0, 140/255.0, 0/255.0}, -image.cpp: {153/255.0, 50/255.0, 204/255.0}, -image.cpp: {139/255.0, 0/255.0, 0/255.0}, -image.cpp: {233/255.0, 150/255.0, 122/255.0}, -image.cpp: {143/255.0, 188/255.0, 143/255.0}, -image.cpp: {72/255.0, 61/255.0, 139/255.0}, -image.cpp: {47/255.0, 79/255.0, 79/255.0}, -image.cpp: {0/255.0, 206/255.0, 209/255.0}, -image.cpp: {148/255.0, 0/255.0, 211/255.0}, -image.cpp: {255/255.0, 20/255.0, 147/255.0}, -image.cpp: {0/255.0, 191/255.0, 255/255.0}, -image.cpp: {105/255.0, 105/255.0, 105/255.0}, -image.cpp: {30/255.0, 144/255.0, 255/255.0}, -image.cpp: {178/255.0, 34/255.0, 34/255.0}, -image.cpp: {255/255.0, 250/255.0, 240/255.0}, -image.cpp: {34/255.0, 139/255.0, 34/255.0}, -image.cpp: {255/255.0, 0/255.0, 255/255.0}, -image.cpp: {220/255.0, 220/255.0, 220/255.0}, -image.cpp: {248/255.0, 248/255.0, 255/255.0}, -image.cpp: {255/255.0, 215/255.0, 0/255.0}, -image.cpp: {218/255.0, 165/255.0, 32/255.0}, -image.cpp: {128/255.0, 128/255.0, 128/255.0}, -image.cpp: {0/255.0, 128/255.0, 0/255.0}, -image.cpp: {173/255.0, 255/255.0, 47/255.0}, -image.cpp: {240/255.0, 255/255.0, 240/255.0}, -image.cpp: {255/255.0, 105/255.0, 180/255.0}, -image.cpp: {205/255.0, 92/255.0, 92/255.0}, -image.cpp: {75/255.0, 0/255.0, 130/255.0}, -image.cpp: {255/255.0, 240/255.0, 240/255.0}, -image.cpp: {240/255.0, 230/255.0, 140/255.0}, -image.cpp: {230/255.0, 230/255.0, 250/255.0}, -image.cpp: {255/255.0, 240/255.0, 245/255.0}, -image.cpp: {124/255.0, 252/255.0, 0/255.0}, -image.cpp: {255/255.0, 250/255.0, 205/255.0}, -image.cpp: {173/255.0, 216/255.0, 230/255.0}, -image.cpp: {240/255.0, 128/255.0, 128/255.0}, -image.cpp: {224/255.0, 255/255.0, 255/255.0}, -image.cpp: {250/255.0, 250/255.0, 210/255.0}, -image.cpp: {144/255.0, 238/255.0, 144/255.0}, -image.cpp: {211/255.0, 211/255.0, 211/255.0}, -image.cpp: {255/255.0, 182/255.0, 193/255.0}, -image.cpp: {255/255.0, 160/255.0, 122/255.0}, -image.cpp: {32/255.0, 178/255.0, 170/255.0}, -image.cpp: {135/255.0, 206/255.0, 250/255.0}, -image.cpp: {119/255.0, 136/255.0, 153/255.0}, -image.cpp: {176/255.0, 196/255.0, 222/255.0}, -image.cpp: {255/255.0, 255/255.0, 224/255.0}, -image.cpp: {0/255.0, 255/255.0, 0/255.0}, -image.cpp: {50/255.0, 205/255.0, 50/255.0}, -image.cpp: {250/255.0, 240/255.0, 230/255.0}, -image.cpp: {255/255.0, 0/255.0, 255/255.0}, -image.cpp: {128/255.0, 0/255.0, 0/255.0}, -image.cpp: {102/255.0, 205/255.0, 170/255.0}, -image.cpp: {0/255.0, 0/255.0, 205/255.0}, -image.cpp: {186/255.0, 85/255.0, 211/255.0}, -image.cpp: {147/255.0, 112/255.0, 219/255.0}, -image.cpp: {60/255.0, 179/255.0, 113/255.0}, -image.cpp: {123/255.0, 104/255.0, 238/255.0}, -image.cpp: {0/255.0, 250/255.0, 154/255.0}, -image.cpp: {72/255.0, 209/255.0, 204/255.0}, -image.cpp: {199/255.0, 21/255.0, 133/255.0}, -image.cpp: {25/255.0, 25/255.0, 112/255.0}, -image.cpp: {245/255.0, 255/255.0, 250/255.0}, -image.cpp: {255/255.0, 228/255.0, 225/255.0}, -image.cpp: {255/255.0, 228/255.0, 181/255.0}, -image.cpp: {255/255.0, 222/255.0, 173/255.0}, -image.cpp: {0/255.0, 0/255.0, 128/255.0}, -image.cpp: {253/255.0, 245/255.0, 230/255.0}, -image.cpp: {128/255.0, 128/255.0, 0/255.0}, -image.cpp: {107/255.0, 142/255.0, 35/255.0}, -image.cpp: {255/255.0, 165/255.0, 0/255.0}, -image.cpp: {255/255.0, 69/255.0, 0/255.0}, -image.cpp: {218/255.0, 112/255.0, 214/255.0}, -image.cpp: {238/255.0, 232/255.0, 170/255.0}, -image.cpp: {152/255.0, 251/255.0, 152/255.0}, -image.cpp: {175/255.0, 238/255.0, 238/255.0}, -image.cpp: {219/255.0, 112/255.0, 147/255.0}, -image.cpp: {255/255.0, 239/255.0, 213/255.0}, -image.cpp: {255/255.0, 239/255.0, 213/255.0}, -image.cpp: {205/255.0, 133/255.0, 63/255.0}, -image.cpp: {255/255.0, 192/255.0, 203/255.0}, -image.cpp: {221/255.0, 160/255.0, 221/255.0}, -image.cpp: {176/255.0, 224/255.0, 230/255.0}, -image.cpp: {128/255.0, 0/255.0, 128/255.0}, -image.cpp: {255/255.0, 0/255.0, 0/255.0}, -image.cpp: {188/255.0, 143/255.0, 143/255.0}, -image.cpp: {65/255.0, 105/255.0, 225/255.0}, -image.cpp: {139/255.0, 69/255.0, 19/255.0}, -image.cpp: {250/255.0, 128/255.0, 114/255.0}, -image.cpp: {244/255.0, 164/255.0, 96/255.0}, -image.cpp: {46/255.0, 139/255.0, 87/255.0}, -image.cpp: {255/255.0, 245/255.0, 238/255.0}, -image.cpp: {160/255.0, 82/255.0, 45/255.0}, -image.cpp: {192/255.0, 192/255.0, 192/255.0}, -image.cpp: {135/255.0, 206/255.0, 235/255.0}, -image.cpp: {106/255.0, 90/255.0, 205/255.0}, -image.cpp: {112/255.0, 128/255.0, 144/255.0}, -image.cpp: {255/255.0, 250/255.0, 250/255.0}, -image.cpp: {0/255.0, 255/255.0, 127/255.0}, -image.cpp: {70/255.0, 130/255.0, 180/255.0}, -image.cpp: {210/255.0, 180/255.0, 140/255.0}, -image.cpp: {0/255.0, 128/255.0, 128/255.0}, -image.cpp: {216/255.0, 191/255.0, 216/255.0}, -image.cpp: {253/255.0, 99/255.0, 71/255.0}, -image.cpp: {64/255.0, 224/255.0, 208/255.0}, -image.cpp: {238/255.0, 130/255.0, 238/255.0}, -image.cpp: {245/255.0, 222/255.0, 179/255.0}, -image.cpp: {255/255.0, 255/255.0, 255/255.0}, -image.cpp: {245/255.0, 245/255.0, 245/255.0}, -image.cpp: {255/255.0, 255/255.0, 0/255.0}, -image.cpp: {154/255.0, 205/255.0, 50/255.0} -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp:// ---------------------------------------------------------------------- -image.cpp:// ---------------------------------------------------------------------- -image.cpp:// ColorMap class -image.cpp:// ---------------------------------------------------------------------- -image.cpp:// ---------------------------------------------------------------------- -image.cpp: // default color map -image.cpp:/* ---------------------------------------------------------------------- */ -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp: mbinsizeinv = 1.0/mbinsize; -image.cpp: // NOTE: this is unfinished code, not sure how useful it is -image.cpp: // idea is to allow a list of colors to be specified with a single arg -image.cpp: // problem is that sequential colors in ALL are not very different -image.cpp: // e.g. ALL or USER or ALL5:10 or USER1:10:2 -image.cpp: // current code is just 1st nentry values of ALL or USER -image.cpp: // need to comment out error check in DumpImage::modify_param() -image.cpp: // for amap check on (narg < n) to get it to work -image.cpp: // need to add extra logic here to check not accessing undefined colors -image.cpp: // one-time call to minmax if color map is static -image.cpp:/* ---------------------------------------------------------------------- -image.cpp: set explicit values for all min/max settings in color map -image.cpp: from min/max dynamic values -image.cpp: set lo/hi current and lvalue/hvalue entries that are MIN/MAX VALUE -image.cpp: called only once if mlo/mhi != MIN/MAX VALUE, else called repeatedly -image.cpp:------------------------------------------------------------------------- */ -image.cpp: // error in ABSOLUTE mode if new lo/hi current cause -image.cpp: // first/last entry to become lo > hi with adjacent entry -image.cpp: // OK if new lo/hi current cause an entry to have lo > hi, -image.cpp: // since last entry will always be a match -image.cpp:/* ---------------------------------------------------------------------- -image.cpp:------------------------------------------------------------------------- */ -image.cpp: double lo;//,hi; -image.cpp: else value = (value-locurrent) / (hicurrent-locurrent); -image.cpp: //hi = 1.0; -image.cpp: //hi = hicurrent; -image.cpp: double fraction = (value-mentry[i].svalue) / -imbalance.cpp:/* -*- c++ -*- ---------------------------------------------------------- -imbalance.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -imbalance.cpp: http://lammps.sandia.gov, Sandia National Laboratories -imbalance.cpp:------------------------------------------------------------------------- */ -imbalance.cpp:/* ---------------------------------------------------------------------- */ -imbalance_group.cpp:/* ---------------------------------------------------------------------- -imbalance_group.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -imbalance_group.cpp: http://lammps.sandia.gov, Sandia National Laboratories -imbalance_group.cpp:------------------------------------------------------------------------- */ -imbalance_group.cpp:/* -------------------------------------------------------------------- */ -imbalance_group.cpp:/* -------------------------------------------------------------------- */ -imbalance_group.cpp:/* -------------------------------------------------------------------- */ -imbalance_group.cpp:/* -------------------------------------------------------------------- */ -imbalance_group.cpp:/* -------------------------------------------------------------------- */ -imbalance_neigh.cpp:/* ---------------------------------------------------------------------- -imbalance_neigh.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -imbalance_neigh.cpp: http://lammps.sandia.gov, Sandia National Laboratories -imbalance_neigh.cpp:------------------------------------------------------------------------- */ -imbalance_neigh.cpp:/* -------------------------------------------------------------------- */ -imbalance_neigh.cpp:/* -------------------------------------------------------------------- */ -imbalance_neigh.cpp:/* -------------------------------------------------------------------- */ -imbalance_neigh.cpp: // find suitable neighbor list -imbalance_neigh.cpp: // can only use certain conventional neighbor lists -imbalance_neigh.cpp: // NOTE: why not full list, if half does not exist? -imbalance_neigh.cpp: error->warning(FLERR,"Balance weight neigh skipped b/c no list found"); -imbalance_neigh.cpp: // neighsum = total neigh count for atoms on this proc -imbalance_neigh.cpp: // localwt = weight assigned to each owned atom -imbalance_neigh.cpp: if (nlocal) localwt = 1.0*neighsum/nlocal; -imbalance_neigh.cpp: // apply factor if specified != 1.0 -imbalance_neigh.cpp: // wtlo,wthi = lo/hi values excluding 0.0 due to no atoms on this proc -imbalance_neigh.cpp: // lo value does not change -imbalance_neigh.cpp: // newhi = new hi value to give hi/lo ratio factor times larger/smaller -imbalance_neigh.cpp: // expand/contract all localwt values from lo->hi to lo->newhi -imbalance_neigh.cpp: localwt = wtlo + ((localwt-wtlo)/(wthi-wtlo)) * (newhi-wtlo); -imbalance_neigh.cpp:/* -------------------------------------------------------------------- */ -imbalance_store.cpp:/* ---------------------------------------------------------------------- -imbalance_store.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -imbalance_store.cpp: http://lammps.sandia.gov, Sandia National Laboratories -imbalance_store.cpp:------------------------------------------------------------------------- */ -imbalance_store.cpp:/* -------------------------------------------------------------------- */ -imbalance_store.cpp:/* -------------------------------------------------------------------- */ -imbalance_store.cpp:/* -------------------------------------------------------------------- */ -imbalance_store.cpp:/* -------------------------------------------------------------------- */ -imbalance_store.cpp: // property does not exist -imbalance_store.cpp:/* -------------------------------------------------------------------- */ -imbalance_time.cpp:/* ---------------------------------------------------------------------- -imbalance_time.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -imbalance_time.cpp: http://lammps.sandia.gov, Sandia National Laboratories -imbalance_time.cpp:------------------------------------------------------------------------- */ -imbalance_time.cpp:/* -------------------------------------------------------------------- */ -imbalance_time.cpp:/* -------------------------------------------------------------------- */ -imbalance_time.cpp:/* ---------------------------------------------------------------------- -imbalance_time.cpp:------------------------------------------------------------------------- */ -imbalance_time.cpp: // flag = 1 if called from FixBalance at start of run -imbalance_time.cpp: // init Timer, so accumulated time not carried over from previous run -imbalance_time.cpp: // should NOT init Timer if called from Balance, it uses time from last run -imbalance_time.cpp:/* -------------------------------------------------------------------- */ -imbalance_time.cpp: // cost = CPU time for relevant timers since last invocation -imbalance_time.cpp: // localwt = weight assigned to each owned atom -imbalance_time.cpp: // just return if no time yet tallied -imbalance_time.cpp: if (nlocal) localwt = cost/nlocal; -imbalance_time.cpp: // apply factor if specified != 1.0 -imbalance_time.cpp: // wtlo,wthi = lo/hi values excluding 0.0 due to no atoms on this proc -imbalance_time.cpp: // lo value does not change -imbalance_time.cpp: // newhi = new hi value to give hi/lo ratio factor times larger/smaller -imbalance_time.cpp: // expand/contract all localwt values from lo->hi to lo->newhi -imbalance_time.cpp: localwt = wtlo + ((localwt-wtlo)/(wthi-wtlo)) * (newhi-wtlo); -imbalance_time.cpp: // record time up to this point -imbalance_time.cpp:/* -------------------------------------------------------------------- */ -imbalance_var.cpp:/* ---------------------------------------------------------------------- -imbalance_var.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -imbalance_var.cpp: http://lammps.sandia.gov, Sandia National Laboratories -imbalance_var.cpp:------------------------------------------------------------------------- */ -imbalance_var.cpp:// DEBUG -imbalance_var.cpp:/* -------------------------------------------------------------------- */ -imbalance_var.cpp:/* -------------------------------------------------------------------- */ -imbalance_var.cpp:/* -------------------------------------------------------------------- */ -imbalance_var.cpp:/* -------------------------------------------------------------------- */ -imbalance_var.cpp:/* -------------------------------------------------------------------- */ -imbalance_var.cpp:/* -------------------------------------------------------------------- */ -improper.cpp:/* ---------------------------------------------------------------------- -improper.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -improper.cpp: http://lammps.sandia.gov, Sandia National Laboratories -improper.cpp:------------------------------------------------------------------------- */ -improper.cpp:/* ---------------------------------------------------------------------- */ -improper.cpp:/* ---------------------------------------------------------------------- */ -improper.cpp:/* ---------------------------------------------------------------------- -improper.cpp:------------------------------------------------------------------------- */ -improper.cpp:/* ---------------------------------------------------------------------- -improper.cpp:------------------------------------------------------------------------- */ -improper.cpp: eflag_atom = eflag / 2; -improper.cpp: vflag_atom = vflag / 4; -improper.cpp: // reallocate per-atom arrays if necessary -improper.cpp: // zero accumulators -improper.cpp:/* ---------------------------------------------------------------------- -improper.cpp:------------------------------------------------------------------------- */ -improper.cpp:/* ---------------------------------------------------------------------- */ -improper_hybrid.cpp:/* ---------------------------------------------------------------------- -improper_hybrid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -improper_hybrid.cpp: http://lammps.sandia.gov, Sandia National Laboratories -improper_hybrid.cpp:------------------------------------------------------------------------- */ -improper_hybrid.cpp:/* ---------------------------------------------------------------------- */ -improper_hybrid.cpp:/* ---------------------------------------------------------------------- */ -improper_hybrid.cpp:/* ---------------------------------------------------------------------- */ -improper_hybrid.cpp: // save ptrs to original improperlist -improper_hybrid.cpp: // if this is re-neighbor step, create sub-style improperlists -improper_hybrid.cpp: // nimproperlist[] = length of each sub-style list -improper_hybrid.cpp: // realloc sub-style improperlist if necessary -improper_hybrid.cpp: // load sub-style improperlist with 5 values from original improperlist -improper_hybrid.cpp: // call each sub-style's compute function -improper_hybrid.cpp: // set neighbor->improperlist to sub-style improperlist before call -improper_hybrid.cpp: // accumulate sub-style global/peratom energy/virial in hybrid -improper_hybrid.cpp: // restore ptrs to original improperlist -improper_hybrid.cpp:/* ---------------------------------------------------------------------- */ -improper_hybrid.cpp:/* ---------------------------------------------------------------------- */ -improper_hybrid.cpp:/* ---------------------------------------------------------------------- -improper_hybrid.cpp:------------------------------------------------------------------------- */ -improper_hybrid.cpp: // delete old lists, since cannot just change settings -improper_hybrid.cpp: // count sub-styles by skipping numeric args -improper_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric word -improper_hybrid.cpp: // need a better way to skip these exceptions -improper_hybrid.cpp: // allocate list of sub-styles -improper_hybrid.cpp: // allocate each sub-style and call its settings() with subset of args -improper_hybrid.cpp: // allocate uses suffix, but don't store suffix version in keywords, -improper_hybrid.cpp: // else syntax in coeff() will not match -improper_hybrid.cpp: // define subset of args for a sub-style by skipping numeric args -improper_hybrid.cpp: // one exception is 1st arg of style "table", which is non-numeric -improper_hybrid.cpp: // need a better way to skip these exceptions -improper_hybrid.cpp:/* ---------------------------------------------------------------------- -improper_hybrid.cpp:---------------------------------------------------------------------- */ -improper_hybrid.cpp: // 2nd arg = improper sub-style name -improper_hybrid.cpp: // allow for "none" as valid sub-style name -improper_hybrid.cpp: // move 1st arg to 2nd arg -improper_hybrid.cpp: // just copy ptrs, since arg[] points into original input line -improper_hybrid.cpp: // invoke sub-style coeff() starting with 1st arg -improper_hybrid.cpp: // set setflag and which type maps to which sub-style -improper_hybrid.cpp: // if sub-style is none: set hybrid setflag, wipe out map -improper_hybrid.cpp:/* ---------------------------------------------------------------------- -improper_hybrid.cpp:------------------------------------------------------------------------- */ -improper_hybrid.cpp:/* ---------------------------------------------------------------------- -improper_hybrid.cpp:------------------------------------------------------------------------- */ -improper_hybrid.cpp:/* ---------------------------------------------------------------------- -improper_hybrid.cpp:------------------------------------------------------------------------- */ -improper_zero.cpp:/* ---------------------------------------------------------------------- -improper_zero.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -improper_zero.cpp: http://lammps.sandia.gov, Sandia National Laboratories -improper_zero.cpp:------------------------------------------------------------------------- */ -improper_zero.cpp:/* ---------------------------------------------------------------------- -improper_zero.cpp:------------------------------------------------------------------------- */ -improper_zero.cpp:/* ---------------------------------------------------------------------- */ -improper_zero.cpp:/* ---------------------------------------------------------------------- */ -improper_zero.cpp:/* ---------------------------------------------------------------------- */ -improper_zero.cpp:/* ---------------------------------------------------------------------- */ -improper_zero.cpp:/* ---------------------------------------------------------------------- */ -improper_zero.cpp:/* ---------------------------------------------------------------------- -improper_zero.cpp:------------------------------------------------------------------------- */ -improper_zero.cpp:/* ---------------------------------------------------------------------- -improper_zero.cpp:------------------------------------------------------------------------- */ -improper_zero.cpp:/* ---------------------------------------------------------------------- -improper_zero.cpp:------------------------------------------------------------------------- */ -improper_zero.cpp:/* ---------------------------------------------------------------------- -improper_zero.cpp:------------------------------------------------------------------------- */ -info.cpp:/* ---------------------------------------------------------------------- -info.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -info.cpp: http://lammps.sandia.gov, Sandia National Laboratories -info.cpp:------------------------------------------------------------------------- */ -info.cpp:/* ---------------------------------------------------------------------- -info.cpp:------------------------------------------------------------------------- */ -info.cpp:#include -info.cpp:#include -info.cpp:#include -info.cpp:// same as in variable.cpp -info.cpp:/* ---------------------------------------------------------------------- */ -info.cpp: // parse arguments -info.cpp: fprintf(out,"\nLAMMPS version: %s / %s\n", -info.cpp: double mbytes = bytes/1024.0/1024.0; -info.cpp: (double)pmc.PrivateUsage/1048576.0); -info.cpp: (double)pmc.PeakWorkingSetSize/1048576.0); -info.cpp: (double)mi.uordblks/1048576.0+(double)mi.hblkhd/1048576.0); -info.cpp: (double)ru.ru_maxrss/1024.0); -info.cpp: // from MSD docs. -info.cpp:#else /* POSIX */ -info.cpp:#endif /* ! _WIN32 */ -info.cpp: cpuclock = (cpuclock - cpus) / 60.0; -info.cpp: cpuh = (cpuclock - cpum) / 60.0; -info.cpp: wallclock = (wallclock - walls) / 60.0; -info.cpp: wallh = (wallclock - wallm) / 60.0; -info.cpp: // close output file pointer if opened locally thus forcing a hard sync. -info.cpp:/* ---------------------------------------------------------------------- */ -info.cpp:// the is_active() function returns true if the selected style or name -info.cpp:// in the selected category is currently in use. -info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix); -info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix2); -info.cpp:/* ---------------------------------------------------------------------- */ -info.cpp:// the is_available() function returns true if the selected style -info.cpp:// or name in the selected category is available for use (but need -info.cpp:// not be currently active). -info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix); -info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix2); -info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix); -info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix2); -info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix); -info.cpp: sprintf(name_w_suffix,"%s/%s",name,lmp->suffix2); -info.cpp:/* ---------------------------------------------------------------------- */ -info.cpp:// the is_defined() function returns true if a particular ID of the -info.cpp:// selected category (e.g. fix ID, group ID, region ID etc.) has been -info.cpp:// defined and thus can be accessed. It does *NOT* check whether a -info.cpp:// particular ID has a particular style. -info.cpp: // skip "secret" styles -info.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- -input.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -input.cpp: http://lammps.sandia.gov, Sandia National Laboratories -input.cpp:------------------------------------------------------------------------- */ -input.cpp:#include "sys/stat.h" -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp: // fill map with commands listed in style_command.h -input.cpp: // process command-line args -input.cpp: // check for args "-var" and "-echo" -input.cpp: // caller has already checked that sufficient arguments exist -input.cpp: char **tmp = arg; // trick echo() into using argv instead of arg -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp: // don't free command and arg strings -input.cpp: // they just point to other allocated memory -input.cpp:/* ---------------------------------------------------------------------- -input.cpp:------------------------------------------------------------------------- */ -input.cpp: // read a line from input script -input.cpp: // n = length of line including str terminator, 0 if end of file -input.cpp: // if line ends in continuation char '&', concatenate next line -input.cpp: // end of file reached, so break -input.cpp: // n == 0 if nothing read, else n = line with str terminator -input.cpp: // continue if last char read was not a newline -input.cpp: // could happen if line is very long -input.cpp: // continue reading if final printable char is & char -input.cpp: // or if odd number of triple quotes -input.cpp: // else break with n = line with str terminator -input.cpp: // bcast the line -input.cpp: // if n = 0, end-of-file -input.cpp: // error if label_active is set, since label wasn't encountered -input.cpp: // if original input file, code is done -input.cpp: // else go back to previous input file -input.cpp: // echo the command unless scanning for label -input.cpp: // parse the line -input.cpp: // if no command, skip to next line in input script -input.cpp: // if scanning for label, skip command unless it's a label command -input.cpp: // execute the command -input.cpp:/* ---------------------------------------------------------------------- -input.cpp:------------------------------------------------------------------------- */ -input.cpp: // error if another nested file still open, should not be possible -input.cpp: // open new filename and set infile, infiles[0], nfile -input.cpp: // call to file() will close filename and decrement nfile -input.cpp:/* ---------------------------------------------------------------------- -input.cpp:------------------------------------------------------------------------- */ -input.cpp: // echo the command unless scanning for label -input.cpp: // parse the line -input.cpp: // if no command, just return NULL -input.cpp: // if scanning for label, skip command unless it's a label command -input.cpp: // execute the command and return its name -input.cpp:/* ---------------------------------------------------------------------- -input.cpp: treat text between single/double/triple quotes as one arg via nextword() -input.cpp:------------------------------------------------------------------------- */ -input.cpp: // duplicate line into copy string to break into words -input.cpp: // strip any # comment by replacing it with 0 -input.cpp: // do not strip from a # inside single/double/triple quotes -input.cpp: // quoteflag = 1,2,3 when encounter first single/double,triple quote -input.cpp: // quoteflag = 0 when encounter matching single/double,triple quote -input.cpp: // perform $ variable substitution (print changes) -input.cpp: // except if searching for a label since earlier variable may not be defined -input.cpp: // command = 1st arg in copy string -input.cpp: // point arg[] at each subsequent arg in copy string -input.cpp: // nextword() inserts string terminators into copy string to delimit args -input.cpp: // nextword() treats text between single/double/triple quotes as one arg -input.cpp:/* ---------------------------------------------------------------------- -input.cpp: treat text between single/double/triple quotes as one arg -input.cpp:------------------------------------------------------------------------- */ -input.cpp: // start = first non-whitespace char -input.cpp: // if start is single/double/triple quote: -input.cpp: // start = first char beyond quote -input.cpp: // stop = first char of matching quote -input.cpp: // next = first char beyond matching quote -input.cpp: // next must be NULL or whitespace -input.cpp: // if start is not single/double/triple quote: -input.cpp: // stop = first whitespace char after start -input.cpp: // next = char after stop, or stop itself if stop is NULL -input.cpp: // set stop to NULL to terminate word -input.cpp:/* ---------------------------------------------------------------------- -input.cpp: reallocate str/str2 to hold expanded version if necessary & reset max/max2 -input.cpp:------------------------------------------------------------------------- */ -input.cpp: // use str2 as scratch space to expand str, then copy back to str -input.cpp: // reallocate str and str2 as necessary -input.cpp: // do not replace $ inside single/double/triple quotes -input.cpp: // var = pts at variable name, ended by NULL -input.cpp: // if $ is followed by '{', trailing '}' becomes NULL -input.cpp: // else $x becomes x followed by NULL -input.cpp: // beyond = points to text following variable -input.cpp: // variable substitution -input.cpp: // value = ptr to expanded variable -input.cpp: // variable name between curly braces, e.g. ${a} -input.cpp: // immediate variable between parenthesis, e.g. $(1/2) -input.cpp: // single character variable name, e.g. $a -input.cpp: // check if storage in str2 needs to be expanded -input.cpp: // re-initialize ptr and ptr2 to the point beyond the variable. -input.cpp: // output substitution progress if requested -input.cpp: // quoteflag = 1,2,3 when encounter first single/double,triple quote -input.cpp: // quoteflag = 0 when encounter matching single/double,triple quote -input.cpp: // copy 2 extra triple quote chars into str2 -input.cpp: // copy current character into str2 -input.cpp: // set length of input str to length of work str2 -input.cpp: // copy work string back to input str -input.cpp:/* ---------------------------------------------------------------------- -input.cpp: return new expanded # of values, and copy them w/out "*" into earg -input.cpp:------------------------------------------------------------------------- */ -input.cpp: // maxarg should always end up equal to newarg, so caller can free earg -input.cpp: // check for global vector/array, peratom array, local array -input.cpp: // check for global vector/array, peratom array, local array -input.cpp: n = strlen(arg[iarg]) + 16; // 16 = space for large inserted integer -input.cpp: //printf("NEWARG %d\n",newarg); -input.cpp: //for (int i = 0; i < newarg; i++) -input.cpp: // printf(" arg %d: %s\n",i,earg[i]); -input.cpp:/* ---------------------------------------------------------------------- -input.cpp:------------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- -input.cpp:------------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- -input.cpp:------------------------------------------------------------------------- */ -input.cpp: // return if command was listed above -input.cpp: // invoke commands added via style_command.h -input.cpp: // unrecognized command -input.cpp:/* ---------------------------------------------------------------------- -input.cpp:------------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp: // substitute for variables in Boolean expression for "if" -input.cpp: // in case expression was enclosed in quotes -input.cpp: // must substitute on copy of arg else will step on subsequent args -input.cpp: // evaluate Boolean expression for "if" -input.cpp: // bound "then" commands -input.cpp: // execute "then" commands -input.cpp: // make copies of all arg string commands -input.cpp: // required because re-parsing a command via one() will wipe out args -input.cpp: // done if no "elif" or "else" -input.cpp: // check "elif" or "else" until find commands to execute -input.cpp: // substitute for variables and evaluate Boolean expression for "elif" -input.cpp: // must substitute on copy of arg else will step on subsequent args -input.cpp: // bound and execute "elif" or "else" commands -input.cpp: // execute the list of commands -input.cpp: // clean up -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp: // do not allow include inside an if command -input.cpp: // NOTE: this check will fail if a 2nd if command was inside the if command -input.cpp: // and came before the include -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp: // copy original line to copy, since will use strtok() on it -input.cpp: // ptr = start of 4th word -input.cpp: // execute the remaining command line on requested partitions -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp: // copy 1st arg back into line (copy is being used) -input.cpp: // check maxline since arg[0] could have been exanded by variables -input.cpp: // substitute for $ variables (no printing) and print arg -input.cpp: // parse optional args -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp: if (narg == 0) error->done(0); // 1 would be fully backwards compatible -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp: // use work string to concat args back into one string separated by spaces -input.cpp: // invoke string in shell via system() -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- -input.cpp:------------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp: // must reset default extra_dof of all computes -input.cpp: // since some were created before dimension command is encountered -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp: // same checks for packages existing as in LAMMPS::post_create() -input.cpp: // since can be invoked here by package command in input script -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- -input.cpp:------------------------------------------------------------------------- */ -input.cpp: sprintf(estyle,"%s/%s",arg[0],lmp->suffix); -input.cpp: sprintf(estyle,"%s/%s",arg[0],lmp->suffix2); -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp: // store 1-3,1-4 and dihedral/extra flag values before change -input.cpp: // change in 1-2 coeffs will not change the special list -input.cpp: // if simulation box defined and saved values changed, redo special list -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -input.cpp:/* ---------------------------------------------------------------------- */ -integrate.cpp:/* ---------------------------------------------------------------------- -integrate.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -integrate.cpp: http://lammps.sandia.gov, Sandia National Laboratories -integrate.cpp:------------------------------------------------------------------------- */ -integrate.cpp:/* ---------------------------------------------------------------------- */ -integrate.cpp:/* ---------------------------------------------------------------------- */ -integrate.cpp:/* ---------------------------------------------------------------------- */ -integrate.cpp: // allow pair and Kspace compute() to be turned off via modify flags -integrate.cpp: // should add checks: -integrate.cpp: // for any acceleration package that has its own integrate/minimize -integrate.cpp: // in case input script has reset the run or minimize style explicitly -integrate.cpp: // e.g. invalid to have kokkos pair style with non-kokkos verlet -integrate.cpp: // but OK to have kokkos verlet with non kokkos pair style (just warn) -integrate.cpp: // making these checks would require all the pair, fix, etc styles have -integrate.cpp: // kokkos, intel flags -integrate.cpp:/* ---------------------------------------------------------------------- -integrate.cpp:------------------------------------------------------------------------- */ -integrate.cpp:/* ---------------------------------------------------------------------- -integrate.cpp: eflag/vflag based on computes that need info on this ntimestep -integrate.cpp:------------------------------------------------------------------------- */ -irregular.cpp:/* ---------------------------------------------------------------------- -irregular.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -irregular.cpp: http://lammps.sandia.gov, Sandia National Laboratories -irregular.cpp:------------------------------------------------------------------------- */ -irregular.cpp:// allocate space for static class variable -irregular.cpp:// prototype for non-class function -irregular.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files -irregular.cpp:/* ---------------------------------------------------------------------- */ -irregular.cpp: // migrate work vectors -irregular.cpp: // send buffers -irregular.cpp: // universal work vectors -irregular.cpp: // initialize buffers for migrate atoms, not used for datum comm -irregular.cpp: // these can persist for multiple irregular operations -irregular.cpp:/* ---------------------------------------------------------------------- */ -irregular.cpp:/* ---------------------------------------------------------------------- -irregular.cpp:------------------------------------------------------------------------- */ -irregular.cpp: // clear global->local map since atoms move to new procs -irregular.cpp: // clear old ghosts so map_set() at end will operate only on local atoms -irregular.cpp: // exchange() doesn't need to clear ghosts b/c borders() -irregular.cpp: // is called right after and it clears ghosts and calls map_set() -irregular.cpp: // subbox bounds for orthogonal or triclinic box -irregular.cpp: // if Comm will be called to assign new atom coords to procs, -irregular.cpp: // may need to setup RCB info -irregular.cpp: // loop over atoms, flag any that are not in my sub-box -irregular.cpp: // fill buffer with atoms leaving my box, using < and >= -irregular.cpp: // assign which proc it belongs to via Comm::coord2proc() -irregular.cpp: // if coord2proc() returns me, due to round-off -irregular.cpp: // in triclinic x2lamda(), then keep atom and don't send -irregular.cpp: // when atom is deleted, fill it in with last atom -irregular.cpp: // create irregular communication plan, perform comm, destroy plan -irregular.cpp: // returned nrecv = size of buffer needed for incoming atoms -irregular.cpp: // add received atoms to my list -irregular.cpp: // reset global->local map -irregular.cpp:/* ---------------------------------------------------------------------- -irregular.cpp:------------------------------------------------------------------------- */ -irregular.cpp: // migrate required if comm layout is tiled -irregular.cpp: // cannot use myloc[] logic below -irregular.cpp: // subbox bounds for orthogonal or triclinic box -irregular.cpp: // loop over atoms, check for any that are not in my sub-box -irregular.cpp: // assign which proc it belongs to via Comm::coord2proc() -irregular.cpp: // if logical igx,igy,igz of newproc > one away from myloc, set flag = 1 -irregular.cpp: // this check needs to observe PBC -irregular.cpp: // cannot check via comm->procneigh since it ignores PBC -irregular.cpp:/* ---------------------------------------------------------------------- -irregular.cpp:------------------------------------------------------------------------- */ -irregular.cpp: // setup for collective comm -irregular.cpp: // work1 = 1 for procs I send a message to, not including self -irregular.cpp: // work2 = 1 for all procs, used for ReduceScatter -irregular.cpp: // nrecv_proc = # of procs I receive messages from, not including self -irregular.cpp: // options for performing ReduceScatter operation -irregular.cpp: // some are more efficient on some machines at big sizes -irregular.cpp: // allocate receive arrays -irregular.cpp: // nsend_proc = # of messages I send -irregular.cpp: // allocate send arrays -irregular.cpp: // list still stores size of message for procs I send to -irregular.cpp: // proc_send = procs I send to -irregular.cpp: // length_send = # of doubles I send to each proc -irregular.cpp: // to balance pattern of send messages: -irregular.cpp: // each proc begins with iproc > me, continues until iproc = me -irregular.cpp: // reset list to store which send message each proc corresponds to -irregular.cpp: // num_send = # of atoms I send to each proc -irregular.cpp: // work2 = offsets into index_send for each proc I send to -irregular.cpp: // index_send = list of which atoms to send to each proc -irregular.cpp: // 1st N1 values are atom indices for 1st proc, -irregular.cpp: // next N2 values are atom indices for 2nd proc, etc -irregular.cpp: // offset_send = where each atom starts in send buffer -irregular.cpp: // tell receivers how much data I send -irregular.cpp: // sendmax_proc = # of doubles I send in largest single message -irregular.cpp: MPI_Request tmpReq; // Use non-blocking send to avoid possible deadlock -irregular.cpp: MPI_Request_free(&tmpReq); // the MPI_Barrier below marks completion -irregular.cpp: // receive incoming messages -irregular.cpp: // proc_recv = procs I recv from -irregular.cpp: // length_recv = # of doubles each proc sends me -irregular.cpp: // nrecvsize = total size of atom data I recv -irregular.cpp: // sort proc_recv and length_recv by proc ID if requested -irregular.cpp: // useful for debugging to insure reproducible ordering of received atoms -irregular.cpp: // invoke by adding final arg = 1 to create_atom() call in migrate_atoms() -irregular.cpp: // barrier to insure all MPI_ANY_SOURCE messages are received -irregular.cpp: // else another proc could proceed to exchange_atom() and send to me -irregular.cpp: // return size of atom data I will receive -irregular.cpp:/* ---------------------------------------------------------------------- -irregular.cpp:------------------------------------------------------------------------- */ -irregular.cpp:/* ---------------------------------------------------------------------- -irregular.cpp:------------------------------------------------------------------------- */ -irregular.cpp: // post all receives -irregular.cpp: // reallocate buf for largest send if necessary -irregular.cpp: // send each message -irregular.cpp: // pack buf with list of atoms -irregular.cpp: // m = index of atom in sendbuf -irregular.cpp: // wait on all incoming messages -irregular.cpp:/* ---------------------------------------------------------------------- -irregular.cpp:------------------------------------------------------------------------- */ -irregular.cpp:/* ---------------------------------------------------------------------- -irregular.cpp:------------------------------------------------------------------------- */ -irregular.cpp: // setup for collective comm -irregular.cpp: // work1 = 1 for procs I send a message to, not including self -irregular.cpp: // work2 = 1 for all procs, used for ReduceScatter -irregular.cpp: // nrecv_proc = # of procs I receive messages from, not including self -irregular.cpp: // options for performing ReduceScatter operation -irregular.cpp: // some are more efficient on some machines at big sizes -irregular.cpp: // allocate receive arrays -irregular.cpp: // work1 = # of datums I send to each proc, including self -irregular.cpp: // nsend_proc = # of procs I send messages to, not including self -irregular.cpp: // allocate send and self arrays -irregular.cpp: // proc_send = procs I send to -irregular.cpp: // num_send = # of datums I send to each proc -irregular.cpp: // num_self = # of datums I copy to self -irregular.cpp: // to balance pattern of send messages: -irregular.cpp: // each proc begins with iproc > me, continues until iproc = me -irregular.cpp: // reset work1 to store which send message each proc corresponds to -irregular.cpp: // work2 = offsets into index_send for each proc I send to -irregular.cpp: // m = ptr into index_self -irregular.cpp: // index_send = list of which datums to send to each proc -irregular.cpp: // 1st N1 values are datum indices for 1st proc, -irregular.cpp: // next N2 values are datum indices for 2nd proc, etc -irregular.cpp: // index_self = list of which datums to copy to self -irregular.cpp: // tell receivers how much data I send -irregular.cpp: // sendmax_proc = largest # of datums I send in a single message -irregular.cpp: MPI_Request tmpReq; // Use non-blocking send to avoid possible deadlock -irregular.cpp: MPI_Request_free(&tmpReq); // the MPI_Barrier below marks completion -irregular.cpp: // receive incoming messages -irregular.cpp: // proc_recv = procs I recv from -irregular.cpp: // num_recv = total size of message each proc sends me -irregular.cpp: // nrecvdatum = total size of data I recv -irregular.cpp: // sort proc_recv and num_recv by proc ID if requested -irregular.cpp: // useful for debugging to insure reproducible ordering of received datums -irregular.cpp: // barrier to insure all MPI_ANY_SOURCE messages are received -irregular.cpp: // else another proc could proceed to exchange_data() and send to me -irregular.cpp: // return # of datums I will receive -irregular.cpp:/* ---------------------------------------------------------------------- -irregular.cpp:------------------------------------------------------------------------- */ -irregular.cpp: // post all receives, starting after self copies -irregular.cpp: // reallocate buf for largest send if necessary -irregular.cpp: // send each message -irregular.cpp: // pack buf with list of datums -irregular.cpp: // m = index of datum in sendbuf -irregular.cpp: // copy datums to self, put at beginning of recvbuf -irregular.cpp: // wait on all incoming messages -irregular.cpp:/* ---------------------------------------------------------------------- -irregular.cpp:------------------------------------------------------------------------- */ -irregular.cpp:/* ---------------------------------------------------------------------- -irregular.cpp: if flag = 0, don't need to realloc with copy, just free/malloc -irregular.cpp:------------------------------------------------------------------------- */ -irregular.cpp:/* ---------------------------------------------------------------------- -irregular.cpp: free/malloc the size of the recv buffer as needed with BUFFACTOR -irregular.cpp:------------------------------------------------------------------------- */ -irregular.cpp:/* ---------------------------------------------------------------------- -irregular.cpp:------------------------------------------------------------------------- */ -irregular.cpp: bytes += maxsend*sizeof(double); // buf_send -irregular.cpp: bytes += maxrecv*sizeof(double); // buf_recv -irregular.cpp: bytes += maxdbuf*sizeof(double); // dbuf -irregular.cpp: bytes += maxbuf; // buf -irregular.cpp: bytes += 2*maxlocal*sizeof(int); // mproclist,msizes -irregular.cpp: bytes += 2*nprocs*sizeof(int); // work1,work2 -kspace.cpp:/* ---------------------------------------------------------------------- -kspace.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -kspace.cpp: http://lammps.sandia.gov, Sandia National Laboratories -kspace.cpp:------------------------------------------------------------------------- */ -kspace.cpp:/* ---------------------------------------------------------------------- */ -kspace.cpp: // default to using MPI collectives for FFT/remap only on IBM BlueGene -kspace.cpp: (force->qelectron * force->qelectron) / -kspace.cpp: gcons[2][0] = 15.0 / 8.0; -kspace.cpp: gcons[2][1] = -5.0 / 4.0; -kspace.cpp: gcons[2][2] = 3.0 / 8.0; -kspace.cpp: gcons[3][0] = 35.0 / 16.0; -kspace.cpp: gcons[3][1] = -35.0 / 16.0; -kspace.cpp: gcons[3][2] = 21.0 / 16.0; -kspace.cpp: gcons[3][3] = -5.0 / 16.0; -kspace.cpp: gcons[4][0] = 315.0 / 128.0; -kspace.cpp: gcons[4][1] = -105.0 / 32.0; -kspace.cpp: gcons[4][2] = 189.0 / 64.0; -kspace.cpp: gcons[4][3] = -45.0 / 32.0; -kspace.cpp: gcons[4][4] = 35.0 / 128.0; -kspace.cpp: gcons[5][0] = 693.0 / 256.0; -kspace.cpp: gcons[5][1] = -1155.0 / 256.0; -kspace.cpp: gcons[5][2] = 693.0 / 128.0; -kspace.cpp: gcons[5][3] = -495.0 / 128.0; -kspace.cpp: gcons[5][4] = 385.0 / 256.0; -kspace.cpp: gcons[5][5] = -63.0 / 256.0; -kspace.cpp: gcons[6][0] = 3003.0 / 1024.0; -kspace.cpp: gcons[6][1] = -3003.0 / 512.0; -kspace.cpp: gcons[6][2] = 9009.0 / 1024.0; -kspace.cpp: gcons[6][3] = -2145.0 / 256.0; -kspace.cpp: gcons[6][4] = 5005.0 / 1024.0; -kspace.cpp: gcons[6][5] = -819.0 / 512.0; -kspace.cpp: gcons[6][6] = 231.0 / 1024.0; -kspace.cpp: dgcons[2][0] = -5.0 / 2.0; -kspace.cpp: dgcons[2][1] = 3.0 / 2.0; -kspace.cpp: dgcons[3][0] = -35.0 / 8.0; -kspace.cpp: dgcons[3][1] = 21.0 / 4.0; -kspace.cpp: dgcons[3][2] = -15.0 / 8.0; -kspace.cpp: dgcons[4][0] = -105.0 / 16.0; -kspace.cpp: dgcons[4][1] = 189.0 / 16.0; -kspace.cpp: dgcons[4][2] = -135.0 / 16.0; -kspace.cpp: dgcons[4][3] = 35.0 / 16.0; -kspace.cpp: dgcons[5][0] = -1155.0 / 128.0; -kspace.cpp: dgcons[5][1] = 693.0 / 32.0; -kspace.cpp: dgcons[5][2] = -1485.0 / 64.0; -kspace.cpp: dgcons[5][3] = 385.0 / 32.0; -kspace.cpp: dgcons[5][4] = -315.0 / 128.0; -kspace.cpp: dgcons[6][0] = -3003.0 / 256.0; -kspace.cpp: dgcons[6][1] = 9009.0 / 256.0; -kspace.cpp: dgcons[6][2] = -6435.0 / 128.0; -kspace.cpp: dgcons[6][3] = 5005.0 / 128.0; -kspace.cpp: dgcons[6][4] = -4095.0 / 256.0; -kspace.cpp: dgcons[6][5] = 693.0 / 256.0; -kspace.cpp:/* ---------------------------------------------------------------------- */ -kspace.cpp:/* ---------------------------------------------------------------------- */ -kspace.cpp:/* ---------------------------------------------------------------------- */ -kspace.cpp:/* ---------------------------------------------------------------------- -kspace.cpp:------------------------------------------------------------------------- */ -kspace.cpp:/* ---------------------------------------------------------------------- -kspace.cpp:------------------------------------------------------------------------- */ -kspace.cpp: eflag_atom = eflag / 2; -kspace.cpp: vflag_atom = vflag / 4; -kspace.cpp: // reallocate per-atom arrays if necessary -kspace.cpp: // zero accumulators -kspace.cpp:/* ---------------------------------------------------------------------- -kspace.cpp: compute qsum,qsqsum,q2 and give error/warning if not charge neutral -kspace.cpp:------------------------------------------------------------------------- */ -kspace.cpp: // not yet sure of the correction needed for non-neutral systems -kspace.cpp: // so issue warning or error -kspace.cpp:/* ---------------------------------------------------------------------- -kspace.cpp:------------------------------------------------------------------------- */ -kspace.cpp:/* ---------------------------------------------------------------------- -kspace.cpp:------------------------------------------------------------------------- */ -kspace.cpp:/* ---------------------------------------------------------------------- -kspace.cpp:------------------------------------------------------------------------- */ -kspace.cpp:/* ---------------------------------------------------------------------- -kspace.cpp:------------------------------------------------------------------------- */ -kspace.cpp:/* ---------------------------------------------------------------------- -kspace.cpp: see http://www.loria.fr/~shornus/ellipsoid-bbox.html and -kspace.cpp: http://yiningkarlli.blogspot.com/2013/02/ -kspace.cpp:------------------------------------------------------------------------- */ -kspace.cpp: xy*xy*yz*yz)/(lx*ly*lz); -kspace.cpp: b[1] = r*sqrt(lz*lz + yz*yz)/(ly*lz); -kspace.cpp: b[2] = r/lz; -kspace.cpp:/* ---------------------------------------------------------------------- -kspace.cpp:------------------------------------------------------------------------- */ -kspace.cpp: } else if (strcmp(arg[iarg],"mesh/disp") == 0) { -kspace.cpp: } else if (strcmp(arg[iarg],"order/disp") == 0) { -kspace.cpp: } else if (strcmp(arg[iarg],"gewald/disp") == 0) { -kspace.cpp: } else if (strcmp(arg[iarg],"cutoff/adjust") == 0) { -kspace.cpp: } else if (strcmp(arg[iarg],"kmax/ewald") == 0) { -kspace.cpp: error->all(FLERR,"Bad kspace_modify kmax/ewald parameter"); -kspace.cpp: } else if (strcmp(arg[iarg],"mix/disp") == 0) { -kspace.cpp: } else if (strcmp(arg[iarg],"force/disp/real") == 0) { -kspace.cpp: } else if (strcmp(arg[iarg],"force/disp/kspace") == 0) { -kspace.cpp: } else if (strcmp(arg[iarg],"pressure/scalar") == 0) { -kspace.cpp: } else if (strcmp(arg[iarg],"disp/auto") == 0) { -kspace.cpp:/* ---------------------------------------------------------------------- */ -lammps.cpp:/* ---------------------------------------------------------------------- -lammps.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -lammps.cpp: http://lammps.sandia.gov, Sandia National Laboratories -lammps.cpp:------------------------------------------------------------------------- */ -lammps.cpp:/* ---------------------------------------------------------------------- -lammps.cpp:------------------------------------------------------------------------- */ -lammps.cpp: // parse input switches -lammps.cpp: // delimit any extra args for the Kokkos instantiation -lammps.cpp: // delimit args for package command invocation -lammps.cpp: // any package arg with leading "-" will be followed by numeric digit -lammps.cpp: // hybrid option to set fall-back for suffix2 -lammps.cpp: // check for restart remap flag -lammps.cpp: // delimit any extra args for the write_data command -lammps.cpp: // if no partition command-line switch, universe is one world with all procs -lammps.cpp: // sum of procs in all worlds must equal total # of procs -lammps.cpp: // universe cannot use stdin for input file -lammps.cpp: // if no partition command-line switch, cannot use -pscreen option -lammps.cpp: // if no partition command-line switch, cannot use -plog option -lammps.cpp: // set universe screen and logfile -lammps.cpp: // make universe and single world the same, since no partition switch -lammps.cpp: // world inherits settings from universe -lammps.cpp: // set world screen, logfile, communicator, infile -lammps.cpp: // open input script if from file -lammps.cpp: // universe is one or more worlds, as setup by partition switch -lammps.cpp: // split universe communicator into separate world communicators -lammps.cpp: // set world screen, logfile, communicator, infile -lammps.cpp: // open input script -lammps.cpp: // screen and logfile messages for universe and world -lammps.cpp: // check consistency of datatype settings in lmptype.h -lammps.cpp: // create Kokkos class if KOKKOS installed, unless explicitly switched off -lammps.cpp: // instantiation creates dummy Kokkos class if KOKKOS is not installed -lammps.cpp: // add args between kkfirst and kklast to Kokkos instantiation -lammps.cpp: // allocate CiteMe class if enabled -lammps.cpp: // allocate input class now that MPI is fully setup -lammps.cpp: // copy package cmdline arguments -lammps.cpp: // allocate top-level classes -lammps.cpp: // if helpflag set, print help and quit with "success" status -lammps.cpp: // if restartflag set, invoke 2 commands and quit -lammps.cpp: // add args between wdfirst and wdlast to write_data command -lammps.cpp: // also add "noinit" to prevent write_data from doing system init -lammps.cpp:/* ---------------------------------------------------------------------- -lammps.cpp:------------------------------------------------------------------------- */ -lammps.cpp: totalclock = (totalclock - seconds) / 60.0; -lammps.cpp: int hours = (totalclock - minutes) / 60.0; -lammps.cpp:/* ---------------------------------------------------------------------- -lammps.cpp:------------------------------------------------------------------------- */ -lammps.cpp: force = NULL; // Domain->Lattice checks if Force exists -lammps.cpp: // Comm class must be created before Atom class -lammps.cpp: // so that nthreads is defined when create_avec invokes grow() -lammps.cpp: atom->create_avec("atomic/kk",0,NULL,1); -lammps.cpp: force = new Force(this); // must be after group, to create temperature -lammps.cpp: output = new Output(this); // must be after group, so "all" exists -lammps.cpp: // must be after modify so can create Computes -lammps.cpp: update = new Update(this); // must be after output, force, neighbor -lammps.cpp:/* ---------------------------------------------------------------------- -lammps.cpp:------------------------------------------------------------------------- */ -lammps.cpp: // default package command triggered by "-k on" -lammps.cpp: // suffix will always be set if suffix_enable = 1 -lammps.cpp: // check that KOKKOS package classes were instantiated -lammps.cpp: // check that GPU, INTEL, USER-OMP fixes were compiled with LAMMPS -lammps.cpp: // invoke any command-line package commands -lammps.cpp:/* ---------------------------------------------------------------------- -lammps.cpp:------------------------------------------------------------------------- */ -lammps.cpp: force->init(); // pair must come after update due to minimizer -lammps.cpp: atom->init(); // atom must come after force and domain -lammps.cpp: // atom deletes extra array -lammps.cpp: // used by fix shear_history::unpack_restart() -lammps.cpp: // when force->pair->gran_history creates fix -lammps.cpp: // atom_vec init uses deform_vremap -lammps.cpp: modify->init(); // modify must come after update, force, atom, domain -lammps.cpp: neighbor->init(); // neighbor must come after force, modify -lammps.cpp: comm->init(); // comm must come after force, modify, neighbor, atom -lammps.cpp: output->init(); // output must come after domain, force, modify -lammps.cpp:/* ---------------------------------------------------------------------- -lammps.cpp:------------------------------------------------------------------------- */ -lammps.cpp: delete modify; // modify must come after output, force, update -lammps.cpp: // since they delete fixes -lammps.cpp: delete domain; // domain must come after modify -lammps.cpp: // since fix destructors access domain -lammps.cpp: delete atom; // atom must come after modify, neighbor -lammps.cpp: // since fixes delete callbacks in atom -lammps.cpp:/* ---------------------------------------------------------------------- -lammps.cpp:------------------------------------------------------------------------- */ -lammps.cpp: // if output is "stdout", use a pipe to a pager for paged output. -lammps.cpp: // this will avoid the most important help text to rush past the -lammps.cpp: // user. scrollback buffers are often not large enough. this is most -lammps.cpp: // beneficial to windows users, who are not used to command line. -lammps.cpp: // reset to original state, if pipe command failed -lammps.cpp: // general help message about command line and flags -lammps.cpp: "\nLarge-scale Atomic/Molecular Massively Parallel Simulator - " -lammps.cpp: "-echo none/screen/log/both : echoing of input script (-e)\n" -lammps.cpp: "-kokkos on/off ... : turn KOKKOS mode on or off (-k)\n" -lammps.cpp: "-log none/filename : where to send log output (-l)\n" -lammps.cpp: "-screen none/filename : where to send screen output (-sc)\n" -lammps.cpp: "-suffix gpu/intel/opt/omp : style suffix to apply (-sf)\n" -lammps.cpp: // close pipe to pager, if active -lammps.cpp:/* ---------------------------------------------------------------------- -lammps.cpp:------------------------------------------------------------------------- */ -lattice.cpp:/* ---------------------------------------------------------------------- -lattice.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -lattice.cpp: http://lammps.sandia.gov, Sandia National Laboratories -lattice.cpp:------------------------------------------------------------------------- */ -lattice.cpp:/* ---------------------------------------------------------------------- */ -lattice.cpp: // parse style arg -lattice.cpp: // Domain creates a default lattice of style "none" -lattice.cpp: // before Force class is instantiated, just use atof() in that case -lattice.cpp: // check that lattice matches dimension -lattice.cpp: // style CUSTOM can be either 2d or 3d -lattice.cpp: // scale = conversion factor between lattice and box units -lattice.cpp: // set basis atoms for each style -lattice.cpp: // x,y,z = fractional coords within unit cell -lattice.cpp: // style CUSTOM will be defined by optional args -lattice.cpp: add_basis(0.5,5.0/6.0,0.5); -lattice.cpp: add_basis(0.0,1.0/3.0,0.5); -lattice.cpp: // set defaults for optional args -lattice.cpp: a3[2] = sqrt(8.0/3.0); -lattice.cpp: // process optional args -lattice.cpp: // check settings for errors -lattice.cpp: // reset scale for LJ units (input scale is rho*) -lattice.cpp: // scale = (Nbasis/(Vprimitive * rho*)) ^ (1/dim) -lattice.cpp: scale = pow(nbasis/volume/scale,1.0/dimension); -lattice.cpp: // initialize lattice <-> box transformation matrices -lattice.cpp: // convert 8 corners of primitive unit cell from lattice coords to box coords -lattice.cpp: // min to max = bounding box around the pts in box space -lattice.cpp: // xlattice,ylattice,zlattice = extent of bbox in box space -lattice.cpp: // set xlattice,ylattice,zlattice to 0.0 initially -lattice.cpp: // since bbox uses them to shift origin (irrelevant for this computation) -lattice.cpp: // print lattice spacings -lattice.cpp:/* ---------------------------------------------------------------------- */ -lattice.cpp:/* ---------------------------------------------------------------------- -lattice.cpp:------------------------------------------------------------------------- */ -lattice.cpp:/* ---------------------------------------------------------------------- -lattice.cpp:------------------------------------------------------------------------- */ -lattice.cpp:/* ---------------------------------------------------------------------- -lattice.cpp:------------------------------------------------------------------------- */ -lattice.cpp:/* ---------------------------------------------------------------------- -lattice.cpp:------------------------------------------------------------------------- */ -lattice.cpp: // primitive = 3x3 matrix with primitive vectors as columns -lattice.cpp: // priminv = inverse of primitive -lattice.cpp: primitive[1][2]*primitive[2][1]) / determinant; -lattice.cpp: primitive[1][0]*primitive[2][2]) / determinant; -lattice.cpp: primitive[1][1]*primitive[2][0]) / determinant; -lattice.cpp: primitive[0][1]*primitive[2][2]) / determinant; -lattice.cpp: primitive[0][2]*primitive[2][0]) / determinant; -lattice.cpp: primitive[0][0]*primitive[2][1]) / determinant; -lattice.cpp: primitive[0][2]*primitive[1][1]) / determinant; -lattice.cpp: primitive[0][0]*primitive[1][2]) / determinant; -lattice.cpp: primitive[0][1]*primitive[1][0]) / determinant; -lattice.cpp: // rotaterow = 3x3 matrix with normalized orient vectors as rows -lattice.cpp: rotaterow[0][0] = orientx[0] / length; -lattice.cpp: rotaterow[0][1] = orientx[1] / length; -lattice.cpp: rotaterow[0][2] = orientx[2] / length; -lattice.cpp: rotaterow[1][0] = orienty[0] / length; -lattice.cpp: rotaterow[1][1] = orienty[1] / length; -lattice.cpp: rotaterow[1][2] = orienty[2] / length; -lattice.cpp: rotaterow[2][0] = orientz[0] / length; -lattice.cpp: rotaterow[2][1] = orientz[1] / length; -lattice.cpp: rotaterow[2][2] = orientz[2] / length; -lattice.cpp: // rotatecol = 3x3 matrix with normalized orient vectors as columns -lattice.cpp:/* ---------------------------------------------------------------------- -lattice.cpp:------------------------------------------------------------------------- */ -lattice.cpp:/* ---------------------------------------------------------------------- -lattice.cpp: transformation: xyz_latt = P_inv * 1/scale * Rotate_col * (xyz_box - offset) -lattice.cpp:------------------------------------------------------------------------- */ -lattice.cpp: x1 /= scale; -lattice.cpp: y1 /= scale; -lattice.cpp: z1 /= scale; -lattice.cpp:/* ---------------------------------------------------------------------- -lattice.cpp:------------------------------------------------------------------------- */ -lattice.cpp:/* ---------------------------------------------------------------------- -lattice.cpp:------------------------------------------------------------------------- */ -lattice.cpp:/* ---------------------------------------------------------------------- -lattice.cpp:------------------------------------------------------------------------- */ -lattice.cpp:/* ---------------------------------------------------------------------- -lattice.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -library.cpp: http://lammps.sandia.gov, Sandia National Laboratories -library.cpp:------------------------------------------------------------------------- */ -library.cpp:// C or Fortran style library interface to LAMMPS -library.cpp:// customize by adding new LAMMPS-specific functions -library.cpp:// ---------------------------------------------------------------------- -library.cpp:// utility macros -library.cpp:// ---------------------------------------------------------------------- -library.cpp:/* ---------------------------------------------------------------------- -library.cpp: // code paths which might throw exception -library.cpp:------------------------------------------------------------------------- */ -library.cpp:// ---------------------------------------------------------------------- -library.cpp:// helper functions, not in library API -library.cpp:// ---------------------------------------------------------------------- -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:// ---------------------------------------------------------------------- -library.cpp:// library API functions to create/destroy an instance of LAMMPS -library.cpp:// and communicate commands to it -library.cpp:// ---------------------------------------------------------------------- -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp: char *str = (char *) lmp->memory->smalloc(n,"lib/commands/list:str"); -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp: // make copy of str so can strtok() it -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:// ---------------------------------------------------------------------- -library.cpp:// library API functions to extract info from LAMMPS or set info in LAMMPS -library.cpp:// ---------------------------------------------------------------------- -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp: // update->atime can be referenced as a pointer -library.cpp: // thermo "timer" data cannot be, since it is computed on request -library.cpp: // lammps_get_thermo() can access all thermo keywords by value -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp: returns a NULL if id is not recognized or style/type not supported -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp: returns a NULL if id is not recognized or style/type not supported -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp: // error if tags are not defined or not consecutive -library.cpp: // copy = Natom length vector of per-atom values -library.cpp: // use atom ID to insert each atom's values into copy -library.cpp: // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID -library.cpp: lmp->memory->create(copy,count*natoms,"lib/gather:copy"); -library.cpp: lmp->memory->create(copy,count*natoms,"lib/gather:copy"); -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp: // error if tags are not defined or not consecutive or no atom map -library.cpp: // copy = Natom length vector of per-atom values -library.cpp: // use atom ID to insert each atom's values into copy -library.cpp: // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp: // error if box does not exist or tags not defined -library.cpp: // loop over N atoms of entire system -library.cpp: // if this proc owns it based on coords, invoke create_atom() -library.cpp: // optionally set atom tags and velocities -library.cpp: // need to reset atom->natoms inside LAMMPS -library.cpp: // init per-atom fix/compute/variable values for created atoms -library.cpp: // if global map exists, reset it -library.cpp: // invoke map_init() b/c atom count has grown -library.cpp: // warn if new natoms is not correct -library.cpp:// ---------------------------------------------------------------------- -library.cpp:// library API functions for error handling -library.cpp:// ---------------------------------------------------------------------- -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -library.cpp:/* ---------------------------------------------------------------------- -library.cpp:------------------------------------------------------------------------- */ -main.cpp:/* ---------------------------------------------------------------------- -main.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -main.cpp: http://lammps.sandia.gov, Sandia National Laboratories -main.cpp:------------------------------------------------------------------------- */ -main.cpp:/* ---------------------------------------------------------------------- -main.cpp:------------------------------------------------------------------------- */ -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -math_extra.cpp: http://lammps.sandia.gov, Sandia National Laboratories -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp: // create augmented matrix for pivoting -math_extra.cpp: double m = aug[j][i]/aug[i][i]; -math_extra.cpp: // back substitution -math_extra.cpp: ans[2] = aug[2][3]/aug[2][2]; -math_extra.cpp: ans[i] = (aug[i][3]-sumax) / aug[i][i]; -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp: if (iter < 4) tresh = 0.2*sm/(3*3); -math_extra.cpp: if (fabs(h)+g == fabs(h)) t = (matrix[i][j])/h; -math_extra.cpp: theta = 0.5*h/(matrix[i][j]); -math_extra.cpp: t = 1.0/(fabs(theta)+sqrt(1.0+theta*theta)); -math_extra.cpp: c = 1.0/sqrt(1.0+t*t); -math_extra.cpp: tau = s/(1.0+c); -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp: also returns updated omega at 1/2 step -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp: // full update from dq/dt = 1/2 w q -math_extra.cpp: // 1st half update from dq/dt = 1/2 w q -math_extra.cpp: // re-compute omega at 1/2 step from m at 1/2 step and q at 1/2 step -math_extra.cpp: // recompute wq -math_extra.cpp: // 2nd half update from dq/dt = 1/2 w q -math_extra.cpp: // corrected Richardson update -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp: // apply permuation operator on p and q, get kp and kq -math_extra.cpp: // obtain phi, cosines and sines -math_extra.cpp: else phi /= 4.0 * inertia[k-1]; -math_extra.cpp: // advance p and q -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp: wbody = Mbody / Idiag -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp: else wbody[0] = (m[0]*ex[0] + m[1]*ex[1] + m[2]*ex[2]) / idiag[0]; -math_extra.cpp: else wbody[1] = (m[0]*ey[0] + m[1]*ey[1] + m[2]*ey[2]) / idiag[1]; -math_extra.cpp: else wbody[2] = (m[0]*ez[0] + m[1]*ez[1] + m[2]*ez[2]) / idiag[2]; -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp: else wbody[0] /= moments[0]; -math_extra.cpp: else wbody[1] /= moments[1]; -math_extra.cpp: else wbody[2] /= moments[2]; -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp: // squares of quaternion components -math_extra.cpp: // some component must be greater than 1/4 since they sum to 1 -math_extra.cpp: // compute other components from it -math_extra.cpp: q[1] = (ey[2] - ez[1]) / (4.0*q[0]); -math_extra.cpp: q[2] = (ez[0] - ex[2]) / (4.0*q[0]); -math_extra.cpp: q[3] = (ex[1] - ey[0]) / (4.0*q[0]); -math_extra.cpp: q[0] = (ey[2] - ez[1]) / (4.0*q[1]); -math_extra.cpp: q[2] = (ey[0] + ex[1]) / (4.0*q[1]); -math_extra.cpp: q[3] = (ex[2] + ez[0]) / (4.0*q[1]); -math_extra.cpp: q[0] = (ez[0] - ex[2]) / (4.0*q[2]); -math_extra.cpp: q[1] = (ey[0] + ex[1]) / (4.0*q[2]); -math_extra.cpp: q[3] = (ez[1] + ey[2]) / (4.0*q[2]); -math_extra.cpp: q[0] = (ex[1] - ey[0]) / (4.0*q[3]); -math_extra.cpp: q[1] = (ez[0] + ex[2]) / (4.0*q[3]); -math_extra.cpp: q[2] = (ez[1] + ey[2]) / (4.0*q[3]); -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp: idiag[1] = 1.0/12.0 * mass * length*length; -math_extra.cpp: idiag[2] = 1.0/12.0 * mass * length*length; -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp: from http://en.wikipedia.org/wiki/Inertia_tensor_of_triangle -math_extra.cpp: inertia tensor = a/24 (v0^2 + v1^2 + v2^2 + (v0+v1+v2)^2) I - a Vt S V -math_extra.cpp: S = 1/24 [2 1 1] -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp: double inv24 = mass/24.0; -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp:------------------------------------------------------------------------- */ -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp: ------------------------------------------------------------------------- */ -math_extra.cpp: const double cosAngle = (1.0 - angleSq * 0.25) / (1.0 + angleSq * 0.25); -math_extra.cpp: const double sinAngle = angle / (1.0 + angleSq * 0.25); -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp: ------------------------------------------------------------------------- */ -math_extra.cpp: const double cosAngle = (1.0 - angleSq * 0.25) / (1.0 + angleSq * 0.25); -math_extra.cpp: const double sinAngle = angle / (1.0 + angleSq * 0.25); -math_extra.cpp:/* ---------------------------------------------------------------------- -math_extra.cpp: ------------------------------------------------------------------------- */ -math_extra.cpp: const double cosAngle = (1.0 - angleSq * 0.25) / (1.0 + angleSq * 0.25); -math_extra.cpp: const double sinAngle = angle / (1.0 + angleSq * 0.25); -math_extra.cpp:/* ---------------------------------------------------------------------- */ -math_special.cpp:/* Library libcerf: -math_special.cpp: * distribute, sublicense, and/or sell copies of the Software, and to -math_special.cpp: * http://apps.jcns.fz-juelich.de/libcerf -math_special.cpp: * ../CHANGELOG -math_special.cpp: */ -math_special.cpp:/******************************************************************************/ -math_special.cpp:/* Lookup-table for Chebyshev polynomials for smaller |x| */ -math_special.cpp:/******************************************************************************/ -math_special.cpp: // Steven G. Johnson, October 2012. -math_special.cpp: // Given y100=100*y, where y = 4/(4+x) for x >= 0, compute erfc(x). -math_special.cpp: // Uses a look-up table of 100 different Chebyshev polynomials -math_special.cpp: // for y intervals [0,0.01], [0.01,0.02], ...., [0.99,1], generated -math_special.cpp: // with the help of Maple and a little shell script. This allows -math_special.cpp: // the Chebyshev polynomials to be of significantly lower degree (about 1/4) -math_special.cpp: // compared to fitting the whole [0,1] interval with a single polynomial. -math_special.cpp: /* we only get here if y = 1, i.e. |x| < 4*eps, in which case -math_special.cpp: * erfcx is within 1e-15 of 1.. */ -math_special.cpp:} /* erfcx_y100 */ -math_special.cpp:/* optimizer friendly implementation of exp2(x). -math_special.cpp: */ -math_special.cpp:/* IEEE 754 double precision floating point data manipulation */ -math_special.cpp:/* 1.00000000000000000000e0, */ -math_special.cpp: x = 1.0 + 2.0*(px/(qx-px)); -memory.cpp:/* ---------------------------------------------------------------------- -memory.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -memory.cpp: http://lammps.sandia.gov, Sandia National Laboratories -memory.cpp:------------------------------------------------------------------------- */ -memory.cpp:#include "tbb/scalable_allocator.h" -memory.cpp:/* ---------------------------------------------------------------------- */ -memory.cpp:/* ---------------------------------------------------------------------- -memory.cpp:------------------------------------------------------------------------- */ -memory.cpp:/* ---------------------------------------------------------------------- -memory.cpp:------------------------------------------------------------------------- */ -memory.cpp:/* ---------------------------------------------------------------------- -memory.cpp:------------------------------------------------------------------------- */ -memory.cpp:/* ---------------------------------------------------------------------- -memory.cpp: erroneous usage of templated create/grow functions -memory.cpp:------------------------------------------------------------------------- */ -memory.cpp: sprintf(str,"Cannot create/grow a vector/array of pointers for %s",name); -min_cg.cpp:/* ---------------------------------------------------------------------- -min_cg.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -min_cg.cpp: http://lammps.sandia.gov, Sandia National Laboratories -min_cg.cpp:------------------------------------------------------------------------- */ -min_cg.cpp:// EPS_ENERGY = minimum normalization for energy tolerance -min_cg.cpp:/* ---------------------------------------------------------------------- */ -min_cg.cpp:/* ---------------------------------------------------------------------- -min_cg.cpp:------------------------------------------------------------------------- */ -min_cg.cpp: // nlimit = max # of CG iterations before restarting -min_cg.cpp: // set to ndoftotal unless too big -min_cg.cpp: // initialize working vectors -min_cg.cpp: // line minimization along direction h from current atom->x -min_cg.cpp: // function evaluation criterion -min_cg.cpp: // energy tolerance criterion -min_cg.cpp: // force tolerance criterion -min_cg.cpp: // update new search direction h from new f = -Grad(x) and old g -min_cg.cpp: // this is Polak-Ribieri formulation -min_cg.cpp: // beta = dotall[0]/gg would be Fletcher-Reeves -min_cg.cpp: // reinitialize CG every ndof iterations by setting beta = 0.0 -min_cg.cpp: beta = MAX(0.0,(dotall[0] - dotall[1])/gg); -min_cg.cpp: // reinitialize CG if new search direction h is not downhill -min_cg.cpp: // output for thermo, dump, restart files -min.cpp:/* ---------------------------------------------------------------------- -min.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -min.cpp: http://lammps.sandia.gov, Sandia National Laboratories -min.cpp:------------------------------------------------------------------------- */ -min.cpp:/* ---------------------------------------------------------------------- -min.cpp: JR Shewchuk, http://www-2.cs.cmu.edu/~jrs/jrspapers.html#cg -min.cpp:------------------------------------------------------------------------- */ -min.cpp:/* ---------------------------------------------------------------------- */ -min.cpp:/* ---------------------------------------------------------------------- */ -min.cpp:/* ---------------------------------------------------------------------- */ -min.cpp: // create fix needed for storing atom-based quantities -min.cpp: // will delete it at end of run -min.cpp: // clear out extra global and per-atom dof -min.cpp: // will receive requests for new per-atom dof during pair init() -min.cpp: // can then add vectors to fix_minimize in setup() -min.cpp: // virial_style: -min.cpp: // 1 if computed explicitly by pair->compute via sum over pair interactions -min.cpp: // 2 if computed implicitly by pair->virial_compute via sum over ghost atoms -min.cpp: // setup lists of computes for global and per-atom PE and pressure -min.cpp: // detect if fix omp is present for clearing force arrays -min.cpp: // set flags for arrays to clear in force_clear() -min.cpp: // allow pair and Kspace compute() to be turned off via modify flags -min.cpp: // orthogonal vs triclinic simulation box -min.cpp: // reset reneighboring criteria if necessary -min.cpp:/* ---------------------------------------------------------------------- -min.cpp:------------------------------------------------------------------------- */ -min.cpp: // setup extra global dof due to fixes -min.cpp: // cannot be done in init() b/c update init() is before modify init() -min.cpp: // compute for potential energy -min.cpp: // style-specific setup does two tasks -min.cpp: // setup extra global dof vectors -min.cpp: // setup extra per-atom dof vectors due to requests from Pair classes -min.cpp: // cannot be done in init() b/c update init() is before modify/pair init() -min.cpp: // ndoftotal = total dof for entire minimization problem -min.cpp: // dof for atoms, extra per-atom, extra global -min.cpp: // setup domain, communication and neighboring -min.cpp: // acquire ghosts -min.cpp: // build neighbor lists -min.cpp: // remove these restriction eventually -min.cpp: "Cannot use a damped dynamics min style with fix box/relax"); -min.cpp: error->all(FLERR, "Cannot use hftn min style with fix box/relax"); -min.cpp: // atoms may have migrated in comm->exchange() -min.cpp: // compute all forces -min.cpp: // update per-atom minimization variables stored by pair styles -min.cpp: // stats for initial thermo output -min.cpp: if (output->thermo->normflag) ecurrent /= atom->natoms; -min.cpp:/* ---------------------------------------------------------------------- -min.cpp:------------------------------------------------------------------------- */ -min.cpp: // setup domain, communication and neighboring -min.cpp: // acquire ghosts -min.cpp: // build neighbor lists -min.cpp: // atoms may have migrated in comm->exchange() -min.cpp: // compute all forces -min.cpp: // update per-atom minimization variables stored by pair styles -min.cpp: // stats for Finish to print -min.cpp: if (output->thermo->normflag) ecurrent /= atom->natoms; -min.cpp:/* ---------------------------------------------------------------------- -min.cpp:------------------------------------------------------------------------- */ -min.cpp: // minimizer iterations -min.cpp: // if early exit from iterate loop: -min.cpp: // set update->nsteps to niter for Finish stats to print -min.cpp: // set output->next values to this timestep -min.cpp: // call energy_force() to insure vflag is set when forces computed -min.cpp: // output->write does final output for thermo, dump, restart files -min.cpp: // add ntimestep to all computes that store invocation times -min.cpp: // since are hardwiring call to thermo/dumps and computes may not be ready -min.cpp:/* ---------------------------------------------------------------------- */ -min.cpp: // stats for Finish to print -min.cpp: // reset reneighboring criteria -min.cpp: // delete fix at end of run, so its atom arrays won't persist -min.cpp:/* ---------------------------------------------------------------------- -min.cpp:------------------------------------------------------------------------- */ -min.cpp: // check for reneighboring -min.cpp: // always communicate since minimizer moved atoms -min.cpp: // update per-atom minimization variables stored by pair styles -min.cpp: // fixes that affect minimization -min.cpp: // compute potential energy of system -min.cpp: // normalize if thermo PE does -min.cpp: if (output->thermo->normflag) energy /= atom->natoms; -min.cpp: // if reneighbored, atoms migrated -min.cpp: // if resetflag = 1, update x0 of atoms crossing PBC -min.cpp: // reset vectors used by lo-level minimizer -min.cpp:/* ---------------------------------------------------------------------- -min.cpp:------------------------------------------------------------------------- */ -min.cpp: // clear global force array -min.cpp: // if either newton flag is set, also include ghosts -min.cpp:/* ---------------------------------------------------------------------- -min.cpp:------------------------------------------------------------------------- */ -min.cpp:/* ---------------------------------------------------------------------- */ -min.cpp:/* ---------------------------------------------------------------------- -min.cpp:------------------------------------------------------------------------- */ -min.cpp:/* ---------------------------------------------------------------------- -min.cpp: eflag/vflag based on computes that need info on this ntimestep -min.cpp:------------------------------------------------------------------------- */ -min.cpp:/* ---------------------------------------------------------------------- -min.cpp:------------------------------------------------------------------------- */ -min.cpp:/* ---------------------------------------------------------------------- -min.cpp:------------------------------------------------------------------------- */ -min.cpp:/* ---------------------------------------------------------------------- -min.cpp:------------------------------------------------------------------------- */ -min_fire.cpp:/* ---------------------------------------------------------------------- -min_fire.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -min_fire.cpp: http://lammps.sandia.gov, Sandia National Laboratories -min_fire.cpp:------------------------------------------------------------------------- */ -min_fire.cpp:// EPS_ENERGY = minimum normalization for energy tolerance -min_fire.cpp:/* ---------------------------------------------------------------------- */ -min_fire.cpp:/* ---------------------------------------------------------------------- */ -min_fire.cpp:/* ---------------------------------------------------------------------- */ -min_fire.cpp:/* ---------------------------------------------------------------------- -min_fire.cpp:------------------------------------------------------------------------- */ -min_fire.cpp: // atomic dof -min_fire.cpp:/* ---------------------------------------------------------------------- */ -min_fire.cpp: // vdotfall = v dot f -min_fire.cpp: // sum vdotf over replicas, if necessary -min_fire.cpp: // this communicator would be invalid for multiprocess replicas -min_fire.cpp: // if (v dot f) > 0: -min_fire.cpp: // v = (1-alpha) v + alpha |v| Fhat -min_fire.cpp: // |v| = length of v, Fhat = unit f -min_fire.cpp: // if more than DELAYSTEP since v dot f was negative: -min_fire.cpp: // increase timestep and decrease alpha -min_fire.cpp: // sum vdotv over replicas, if necessary -min_fire.cpp: // this communicator would be invalid for multiprocess replicas -min_fire.cpp: // sum fdotf over replicas, if necessary -min_fire.cpp: // this communicator would be invalid for multiprocess replicas -min_fire.cpp: else scale2 = alpha * sqrt(vdotvall/fdotfall); -min_fire.cpp: // else (v dot f) <= 0: -min_fire.cpp: // decrease timestep, reset alpha, set v = 0 -min_fire.cpp: // limit timestep so no particle moves further than dmax -min_fire.cpp: if (dtvone*vmax > dmax) dtvone = dmax/vmax; -min_fire.cpp: // min dtv over replicas, if necessary -min_fire.cpp: // this communicator would be invalid for multiprocess replicas -min_fire.cpp: // Euler integration step -min_fire.cpp: dtfm = dtf / rmass[i]; -min_fire.cpp: dtfm = dtf / mass[type[i]]; -min_fire.cpp: // energy tolerance criterion -min_fire.cpp: // only check after DELAYSTEP elapsed since velocties reset to 0 -min_fire.cpp: // sync across replicas if running multi-replica minimization -min_fire.cpp: // force tolerance criterion -min_fire.cpp: // sync across replicas if running multi-replica minimization -min_fire.cpp: // output for thermo, dump, restart files -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -min_hftn.cpp: http://lammps.sandia.gov, Sandia National Laboratories -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp://---- CONSTANTS MAP TO stopstrings DECLARED IN Min.run (min.cpp). -min_hftn.cpp:static const int STOP_MAX_ITER = Min::MAXITER; //-- MAX ITERATIONS EXCEEDED -min_hftn.cpp:static const int STOP_MAX_FORCE_EVALS = Min::MAXEVAL; //-- MAX FORCE EVALUATIONS EXCEEDED -min_hftn.cpp:static const int STOP_ENERGY_TOL = Min::ETOL; //-- STEP DID NOT CHANGE ENERGY -min_hftn.cpp:static const int STOP_FORCE_TOL = Min::FTOL; //-- CONVERGED TO DESIRED FORCE TOL -min_hftn.cpp:static const int STOP_TR_TOO_SMALL = Min::TRSMALL; //-- TRUST REGION TOO SMALL -min_hftn.cpp:static const int STOP_ERROR = Min::INTERROR; //-- INTERNAL ERROR -min_hftn.cpp://---- WHEN TESTING ENERGY_TOL, THE ENERGY MAGNITUDE MUST BE AT LEAST THIS BIG. -min_hftn.cpp://---- MACHINE PRECISION IS SOMETIMES DEFINED BY THE C RUNTIME. -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp: //---- ALLOCATE MEMORY FOR ATOMIC DEGREES OF FREEDOM. -min_hftn.cpp: //---- ALLOCATE MEMORY FOR EXTRA GLOBAL DEGREES OF FREEDOM. -min_hftn.cpp: //---- THE FIX MODULE TAKES CARE OF THE FIRST VECTOR, X0 (XK). -min_hftn.cpp: //---- ALLOCATE MEMORY FOR EXTRA PER-ATOM DEGREES OF FREEDOM. -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp: After an energy/force calculation, atoms may migrate from one processor -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp: //---- ATOMIC DEGREES OF FREEDOM. -min_hftn.cpp: //---- EXTRA PER-ATOM DEGREES OF FREEDOM. -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp: //---- TURN THIS ON TO GENERATE AN OPTIMIZATION PROGRESS FILE. -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp: //---- DEFINE OUTPUTS PRINTED BY "Finish". -min_hftn.cpp: //---- SAVE ATOM POSITIONS BEFORE AN ITERATION. -min_hftn.cpp: //---- FIND THE NUMBER OF UNKNOWNS. -min_hftn.cpp: //---- INITIALIZE THE TRUST RADIUS BASED ON THE GRADIENT. -min_hftn.cpp: //---- TRUST RADIUS MUST KEEP STEPS FROM LETTING ATOMS MOVE SO FAR THEY -min_hftn.cpp: //---- VIOLATE PHYSICS OR JUMP BEYOND A PARALLEL PROCESSING DOMAIN. -min_hftn.cpp: //---- LINE SEARCH METHODS DO THIS BY RESTRICTING THE LARGEST CHANGE -min_hftn.cpp: //---- OF ANY ATOM'S COMPONENT TO dmax. AN EXACT CHECK IS MADE LATER, -min_hftn.cpp: //---- BUT THIS GUIDES DETERMINATION OF A MAX TRUST RADIUS. -min_hftn.cpp: //---- CALL THE INNER LOOP TO GET THE NEXT TRUST REGION STEP. -min_hftn.cpp: double dCgForce2StopTol = MIN ((dCurrentForce2 / 2.0), 0.1 / (niter+1)); -min_hftn.cpp: //---- THERE WAS AN ERROR. RESTORE TO LAST ACCEPTED STEP. -min_hftn.cpp: //---- STOP IF THE CURRENT POSITION WAS FOUND TO BE ALREADY GOOD ENOUGH. -min_hftn.cpp: //---- IN THIS CASE THE ENERGY AND FORCES ARE ALREADY COMPUTED. -min_hftn.cpp: //---- COMPUTE THE DIRECTIONAL DERIVATIVE H(x_k) p. -min_hftn.cpp: //---- COMPUTE p^T grad(x_k) AND SAVE IT FOR PRED. -min_hftn.cpp: //---- MOVE TO THE NEW POINT AND EVALUATE ENERGY AND FORCES. -min_hftn.cpp: //---- THIS IS THE PLACE WHERE energy_force IS ALLOWED TO RESET. -min_hftn.cpp: //---- STOP IF THE FORCE TOLERANCE IS MET. -min_hftn.cpp: //---- (IMPLICITLY ACCEPT THE LAST STEP TO THE NEW POINT.) -min_hftn.cpp: //---- STOP IF THE ACTUAL ENERGY REDUCTION IS TINY. -min_hftn.cpp: //---- (IMPLICITLY ACCEPT THE LAST STEP TO THE NEW POINT.) -min_hftn.cpp: //---- COMPUTE THE PREDICTED REDUCTION - p^T grad - 0.5 p^T Hp -min_hftn.cpp: //---- ACCEPT OR REJECT THE STEP PROPOSED BY THE INNER CG LOOP. -min_hftn.cpp: //---- WHEN NEAR A SOLUTION, THE FORCE NORM IS PROBABLY MORE ACCURATE, -min_hftn.cpp: //---- SO DON'T ACCEPT A STEP THAT REDUCES ENERGY SOME TINY AMOUNT -min_hftn.cpp: //---- WHILE INCREASING THE FORCE NORM. -min_hftn.cpp: //---- THE STEP IS ACCEPTED. -min_hftn.cpp: //---- UPDATE THE TRUST REGION BASED ON AGREEMENT BETWEEN -min_hftn.cpp: //---- THE ACTUAL REDUCTION AND THE PREDICTED MODEL REDUCTION. -min_hftn.cpp: //---- DMAX VIOLATIONS TRUNCATE THE CG STEP WITHOUT COMPARISONS; -min_hftn.cpp: //---- BETTER TO ADJUST THE TRUST REGION SO DMAX STOPS HAPPENING. -min_hftn.cpp: //---- THE STEP IS REJECTED. -min_hftn.cpp: //---- RESTORE THE LAST X_K POSITION. -min_hftn.cpp: //---- UPDATE THE TRUST REGION. -min_hftn.cpp: //---- EXPERIMENTS INDICATE NEGATIVE CURVATURE CAN TAKE A BAD -min_hftn.cpp: //---- STEP A LONG WAY, SO BE MORE AGGRESSIVE IN THIS CASE. -min_hftn.cpp: //---- ALSO, IF NEAR A SOLUTION AND DONE WITH NEWTON STEPS, -min_hftn.cpp: //---- THEN REDUCE TO SOMETHING NEAR THE LAST GOOD NEWTON STEP. -min_hftn.cpp: //---- STOP IF THE TRUST RADIUS IS TOO SMALL TO CONTINUE. -min_hftn.cpp: //---- OUTPUT FOR thermo, dump, restart FILES. -min_hftn.cpp: //---- IF THE LAST STEP WAS REJECTED, THEN REEVALUATE ENERGY AND -min_hftn.cpp: //---- FORCES AT THE OLD POINT SO THE OUTPUT DOES NOT DISPLAY -min_hftn.cpp: //---- THE INCREASED ENERGY OF THE REJECTED STEP. -min_hftn.cpp: //---- RETURN IF NUMBER OF EVALUATIONS EXCEEDED. -min_hftn.cpp: } //-- END for LOOP OVER niter -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp: @param[in] nMaxEvals - total energy/force evaluations allowed -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp: //---- SET p_0 = 0. -min_hftn.cpp: //---- OBTAIN THE ENERGY AND FORCES AT THE INPUT POSITION. -min_hftn.cpp: //---- RETURN IMMEDIATELY IF THE FORCE TOLERANCE IS ALREADY MET. -min_hftn.cpp: //---- THE STEP TYPE INFORMS THE CALLER THAT ENERGY AND FORCES HAVE -min_hftn.cpp: //---- BEEN EVALUATED. -min_hftn.cpp: //---- r_0 = -grad (FIRST SEARCH DIRECTION IS STEEPEST DESCENT) -min_hftn.cpp: //---- d_0 = r_0 -min_hftn.cpp: //---- REMEMBER THAT FORCES = -GRADIENT. -min_hftn.cpp: //---- LIMIT THE NUMBER OF INNER CG ITERATIONS. -min_hftn.cpp: //---- BASE IT ON THE NUMBER OF UNKNOWNS, OR MAXIMUM EVALUATIONS ASSUMING -min_hftn.cpp: //---- FORWARD DIFFERENCES ARE USED. -min_hftn.cpp: //---- NOTE THAT SETTING MAX=1 GIVES STEEPEST DESCENT. -min_hftn.cpp: int nLimit1 = _nNumUnknowns / 5; -min_hftn.cpp: int nLimit2 = (nMaxEvals - neval) / 2; -min_hftn.cpp: //---- FURTHER LIMIT ITERATIONS IF NEAR MACHINE ROUNDOFF. -min_hftn.cpp: //---- THE METHOD CAN WASTE A LOT EVALUATIONS WITH LITTLE PAYOFF PROSPECT. -min_hftn.cpp: nMaxInnerIters = MIN (nMaxInnerIters, _nNumUnknowns / 20); -min_hftn.cpp: //---- MAIN CG LOOP. -min_hftn.cpp: //---- COMPUTE HESSIAN-VECTOR PRODUCT: H(x_k) d_i. -min_hftn.cpp: //---- CALCULATE d_i^T H d_i AND d_i^T d_i. -min_hftn.cpp: //---- HANDLE NEGATIVE CURVATURE. -min_hftn.cpp: //---- PROJECT BOTH DIRECTIONS TO THE TRUST RADIUS AND DECIDE -min_hftn.cpp: //---- WHICH MAKES A BETTER PREDICTED REDUCTION. -min_hftn.cpp: //---- p_i^T H(x_k) d_i AND grad_i^T d_i. -min_hftn.cpp: //---- MOVE TO X_K AND COMPUTE ENERGY AND FORCES. -min_hftn.cpp: //---- MOVE THE POINT. -min_hftn.cpp: //---- COMPUTE THE OPTIMAL STEP LENGTH BASED ON THE QUADRATIC CG MODEL. -min_hftn.cpp: double dAlpha = dRR / dDHD; -min_hftn.cpp: //---- MIGHT WANT TO ENABLE THIS TO DEBUG INTERNAL CG STEPS. -min_hftn.cpp: //fprintf (_fpPrint, " alpha = %11.8f neval=%4d\n", dAlpha, neval); -min_hftn.cpp: //---- p_i+1 = p_i + alpha_i d_i -min_hftn.cpp: //---- (SAVE THE CURRENT p_i IN CASE THE STEP HAS TO BE SHORTENED.) -min_hftn.cpp: //---- COMPUTE VECTOR PRODUCTS p_i+1^T p_i+1 AND p_i^T d_i. -min_hftn.cpp: //---- IF STEP LENGTH IS TOO LARGE, THEN REDUCE IT AND RETURN. -min_hftn.cpp: //---- r_i+1 = r_i - alpha * H d_i -min_hftn.cpp: //---- IF RESIDUAL IS SMALL ENOUGH, THEN RETURN THE CURRENT STEP. -min_hftn.cpp: //---- beta = r_i+1^T r_i+1 / r_i^T r_i -min_hftn.cpp: //---- d_i+1 = r_i+1 + beta d_i -min_hftn.cpp: double dBeta = dRnewDotRnew / dRR; -min_hftn.cpp: //---- CONTINUE THE LOOP. -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp: //---- ASSUME THAT FORCES HAVE BEEN EVALUATED AT DESIRED ATOM POSITIONS. -min_hftn.cpp: //---- REMEMBER THAT FORCES = -GRADIENT. -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp: //---- STEP LENGTH IS NOT TOO LONG. -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp: dAlpha = MIN (dAlpha, dmax / dPInf); -min_hftn.cpp: dAlpha = MIN (dAlpha, extra_max[m] / dPInf); -min_hftn.cpp: //---- IF THE MAXIMUM DISTANCE THAT THE GLOBAL BOX CONSTRAINT WILL -min_hftn.cpp: //---- ALLOW IS SMALLER THAN THE PROPOSED DISTANCE, THEN THE STEP -min_hftn.cpp: //---- IS TOO LONG. PROPOSED DISTANCE IS ESTIMATED BY |P|_INF. -min_hftn.cpp: //---- STEP LENGTH IS NOT TOO LONG. -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp: //---- SOLVE A QUADRATIC EQUATION FOR TAU. -min_hftn.cpp: //---- THE COEFFICIENTS ARE SUCH THAT THERE ARE ALWAYS TWO REAL ROOTS, -min_hftn.cpp: //---- ONE POSITIVE AND ONE NEGATIVE. -min_hftn.cpp: //---- CHECK FOR ERRONEOUS DATA. -min_hftn.cpp: dDiscr = MAX (0.0, dDiscr); //-- SHOULD NEVER BE NEGATIVE -min_hftn.cpp: double dRootPos = (-dPD + dDiscr) / dDD; -min_hftn.cpp: double dRootNeg = (-dPD - dDiscr) / dDD; -min_hftn.cpp: //---- EVALUATE THE CG OBJECTIVE FUNCTION FOR EACH ROOT. -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp: //---- COMPUTE THE MAGNITUDE OF THE DIRECTION VECTOR: |p|_2. -min_hftn.cpp: //---- IF THE STEP IS TOO SMALL, RETURN ZERO FOR THE DERIVATIVE. -min_hftn.cpp: //---- FORWARD DIFFERENCES ARE LESS ACCURATE THAN CENTRAL DIFFERENCES, -min_hftn.cpp: //---- BUT REQUIRE ONLY 2 ENERGY+FORCE EVALUATIONS VERSUS 3 EVALUATIONS. -min_hftn.cpp: //---- STORAGE REQUIREMENTS ARE THE SAME. -min_hftn.cpp: //---- EQUATION IS FROM THE OLD LAMMPS VERSION, SAND98-8201. -min_hftn.cpp: double dEps = 2.0 * sqrt (1000.0 * MACHINE_EPS) / dDirNorm2; -min_hftn.cpp: //---- SAVE A COPY OF x. -min_hftn.cpp: //---- EVALUATE FORCES AT x + eps*p. -min_hftn.cpp: //---- STORE THE FORCE IN DIF2. -min_hftn.cpp: //---- MOVE BACK TO x AND EVALUATE FORCES. -min_hftn.cpp: //---- COMPUTE THE DIFFERENCE VECTOR: [grad(x + eps*p) - grad(x)] / eps. -min_hftn.cpp: //---- REMEMBER THAT FORCES = -GRADIENT. -min_hftn.cpp: _daAVectors[nIxResult][i] = (fvec[i] - _daAVectors[VEC_DIF2][i]) / dEps; -min_hftn.cpp: iAtom[i] = (fextra_atom[m][i] - d2Atom[i]) / dEps; -min_hftn.cpp: = (fextra[i] - _daExtraGlobal[VEC_DIF2][i]) / dEps; -min_hftn.cpp: else { //-- bUseForwardDiffs == false -min_hftn.cpp: //---- EQUATION IS FROM THE OLD LAMMPS VERSION, SAND98-8201. -min_hftn.cpp: double dEps = pow (3000.0 * MACHINE_EPS, 0.33333333) / dDirNorm2; -min_hftn.cpp: //---- SAVE A COPY OF x. -min_hftn.cpp: //---- EVALUATE FORCES AT x + eps*p. -min_hftn.cpp: //---- STORE THE FORCE IN DIF2. -min_hftn.cpp: //---- EVALUATE FORCES AT x - eps*p. -min_hftn.cpp: //---- COMPUTE THE DIFFERENCE VECTOR: -min_hftn.cpp: //---- [grad(x + eps*p) - grad(x - eps*p)] / 2*eps. -min_hftn.cpp: //---- REMEMBER THAT FORCES = -GRADIENT. -min_hftn.cpp: iGlobal[i] = (fextra[i] - d2Global[i]) / (2.0 + dEps); -min_hftn.cpp: (fvec[i] - _daAVectors[VEC_DIF2][i]) / (2.0 * dEps); -min_hftn.cpp: iAtom[i] = (fatom[i] - d2Atom[i]) / (2.0 + dEps); -min_hftn.cpp: //---- EVALUATE FORCES AT x. -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -min_hftn.cpp:/* ---------------------------------------------------------------------- -min_hftn.cpp:------------------------------------------------------------------------- */ -minimize.cpp:/* ---------------------------------------------------------------------- -minimize.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -minimize.cpp: http://lammps.sandia.gov, Sandia National Laboratories -minimize.cpp:------------------------------------------------------------------------- */ -minimize.cpp:/* ---------------------------------------------------------------------- */ -minimize.cpp:/* ---------------------------------------------------------------------- */ -minimize.cpp: // ignore minimize command, if walltime limit was already reached -min_linesearch.cpp:/* ---------------------------------------------------------------------- -min_linesearch.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -min_linesearch.cpp: http://lammps.sandia.gov, Sandia National Laboratories -min_linesearch.cpp:------------------------------------------------------------------------- */ -min_linesearch.cpp:/* ---------------------------------------------------------------------- -min_linesearch.cpp: JR Shewchuk, http://www-2.cs.cmu.edu/~jrs/jrspapers.html#cg -min_linesearch.cpp:------------------------------------------------------------------------- */ -min_linesearch.cpp:// ALPHA_MAX = max alpha allowed to avoid long backtracks -min_linesearch.cpp:// ALPHA_REDUCE = reduction ratio, should be in range [0.5,1) -min_linesearch.cpp:// BACKTRACK_SLOPE, should be in range (0,0.5] -min_linesearch.cpp:// QUADRATIC_TOL = tolerance on alpha0, should be in range [0.1,1) -min_linesearch.cpp:// EMACH = machine accuracy limit of energy changes (1.0e-8) -min_linesearch.cpp:// EPS_QUAD = tolerance for quadratic projection -min_linesearch.cpp://#define EMACH 1.0e-8 -min_linesearch.cpp:/* ---------------------------------------------------------------------- */ -min_linesearch.cpp:/* ---------------------------------------------------------------------- */ -min_linesearch.cpp:/* ---------------------------------------------------------------------- */ -min_linesearch.cpp:/* ---------------------------------------------------------------------- */ -min_linesearch.cpp: // memory for x0,g,h for atomic dof -min_linesearch.cpp: // memory for g,h for extra global dof, fix stores x0 -min_linesearch.cpp: // memory for x0,g,h for extra per-atom dof -min_linesearch.cpp:/* ---------------------------------------------------------------------- -min_linesearch.cpp:------------------------------------------------------------------------- */ -min_linesearch.cpp: // atomic dof -min_linesearch.cpp: // extra per-atom dof -min_linesearch.cpp:/* ---------------------------------------------------------------------- -min_linesearch.cpp: update neval counter of eng/force function evaluations -min_linesearch.cpp:------------------------------------------------------------------------- */ -min_linesearch.cpp:/* ---------------------------------------------------------------------- -min_linesearch.cpp:------------------------------------------------------------------------- */ -min_linesearch.cpp: // fdothall = projection of search dir along downhill gradient -min_linesearch.cpp: // if search direction is not downhill, exit with error -min_linesearch.cpp: if (output->thermo->normflag) fdothall /= atom->natoms; -min_linesearch.cpp: // set alpha so no dof is changed by more than max allowed amount -min_linesearch.cpp: // for atom coords, max amount = dmax -min_linesearch.cpp: // for extra per-atom dof, max amount = extra_max[] -min_linesearch.cpp: // for extra global dof, max amount is set by fix -min_linesearch.cpp: // also insure alpha <= ALPHA_MAX -min_linesearch.cpp: // else will have to backtrack from huge value when forces are tiny -min_linesearch.cpp: // if all search dir components are already 0.0, exit with error -min_linesearch.cpp: alpha = MIN(ALPHA_MAX,dmax/hmaxall); -min_linesearch.cpp: alpha = MIN(alpha,extra_max[m]/hmax); -min_linesearch.cpp: // store box and values of all dof at start of linesearch -min_linesearch.cpp: // // important diagnostic: test the gradient against energy -min_linesearch.cpp: // double etmp; -min_linesearch.cpp: // double alphatmp = alpha*1.0e-4; -min_linesearch.cpp: // etmp = alpha_step(alphatmp,1); -min_linesearch.cpp: // printf("alpha = %g dele = %g dele_force = %g err = %g\n", -min_linesearch.cpp: // alphatmp,etmp-eoriginal,-alphatmp*fdothall, -min_linesearch.cpp: // etmp-eoriginal+alphatmp*fdothall); -min_linesearch.cpp: // alpha_step(0.0,1); -min_linesearch.cpp: // backtrack with alpha until energy decrease is sufficient -min_linesearch.cpp: // if energy change is better than ideal, exit with success -min_linesearch.cpp: // reduce alpha -min_linesearch.cpp: // backtracked too much -min_linesearch.cpp: // reset to starting point -min_linesearch.cpp: // if de is positive, exit with error -min_linesearch.cpp: // if de is negative, exit with ETOL -min_linesearch.cpp:/* ---------------------------------------------------------------------- -min_linesearch.cpp: // linemin: quadratic line search (adapted from Dennis and Schnabel) -min_linesearch.cpp: // The objective function is approximated by a quadratic -min_linesearch.cpp: // function in alpha, for sufficiently small alpha. -min_linesearch.cpp: // This idea is the same as that used in the well-known secant -min_linesearch.cpp: // method. However, since the change in the objective function -min_linesearch.cpp: // (difference of two finite numbers) is not known as accurately -min_linesearch.cpp: // as the gradient (which is close to zero), all the expressions -min_linesearch.cpp: // are written in terms of gradients. In this way, we can converge -min_linesearch.cpp: // the LAMMPS forces much closer to zero. -min_linesearch.cpp: // -min_linesearch.cpp: // We know E,Eprev,fh,fhprev. The Taylor series about alpha_prev -min_linesearch.cpp: // truncated at the quadratic term is: -min_linesearch.cpp: // -min_linesearch.cpp: // E = Eprev - del_alpha*fhprev + (1/2)del_alpha^2*Hprev -min_linesearch.cpp: // -min_linesearch.cpp: // and -min_linesearch.cpp: // -min_linesearch.cpp: // fh = fhprev - del_alpha*Hprev -min_linesearch.cpp: // -min_linesearch.cpp: // where del_alpha = alpha-alpha_prev -min_linesearch.cpp: // -min_linesearch.cpp: // We solve these two equations for Hprev and E=Esolve, giving: -min_linesearch.cpp: // -min_linesearch.cpp: // Esolve = Eprev - del_alpha*(f+fprev)/2 -min_linesearch.cpp: // -min_linesearch.cpp: // We define relerr to be: -min_linesearch.cpp: // -min_linesearch.cpp: // relerr = |(Esolve-E)/Eprev| -min_linesearch.cpp: // = |1.0 - (0.5*del_alpha*(f+fprev)+E)/Eprev| -min_linesearch.cpp: // -min_linesearch.cpp: // If this is accurate to within a reasonable tolerance, then -min_linesearch.cpp: // we go ahead and use a secant step to fh = 0: -min_linesearch.cpp: // -min_linesearch.cpp: // alpha0 = alpha - (alpha-alphaprev)*fh/delfh; -min_linesearch.cpp: // -min_linesearch.cpp:------------------------------------------------------------------------- */ -min_linesearch.cpp: // fdothall = projection of search dir along downhill gradient -min_linesearch.cpp: // if search direction is not downhill, exit with error -min_linesearch.cpp: if (output->thermo->normflag) fdothall /= atom->natoms; -min_linesearch.cpp: // set alphamax so no dof is changed by more than max allowed amount -min_linesearch.cpp: // for atom coords, max amount = dmax -min_linesearch.cpp: // for extra per-atom dof, max amount = extra_max[] -min_linesearch.cpp: // for extra global dof, max amount is set by fix -min_linesearch.cpp: // also insure alphamax <= ALPHA_MAX -min_linesearch.cpp: // else will have to backtrack from huge value when forces are tiny -min_linesearch.cpp: // if all search dir components are already 0.0, exit with error -min_linesearch.cpp: alphamax = MIN(ALPHA_MAX,dmax/hmaxall); -min_linesearch.cpp: alphamax = MIN(alphamax,extra_max[m]/hmax); -min_linesearch.cpp: // store box and values of all dof at start of linesearch -min_linesearch.cpp: // backtrack with alpha until energy decrease is sufficient -min_linesearch.cpp: // or until get to small energy change, then perform quadratic projection -min_linesearch.cpp: // // important diagnostic: test the gradient against energy -min_linesearch.cpp: // double etmp; -min_linesearch.cpp: // double alphatmp = alphamax*1.0e-4; -min_linesearch.cpp: // etmp = alpha_step(alphatmp,1); -min_linesearch.cpp: // printf("alpha = %g dele = %g dele_force = %g err = %g\n", -min_linesearch.cpp: // alphatmp,etmp-eoriginal,-alphatmp*fdothall, -min_linesearch.cpp: // etmp-eoriginal+alphatmp*fdothall); -min_linesearch.cpp: // alpha_step(0.0,1); -min_linesearch.cpp: // compute new fh, alpha, delfh -min_linesearch.cpp: ff /= atom->natoms; -min_linesearch.cpp: fh /= atom->natoms; -min_linesearch.cpp: // if fh or delfh is epsilon, reset to starting point, exit with error -min_linesearch.cpp: // Check if ready for quadratic projection, equivalent to secant method -min_linesearch.cpp: // alpha0 = projected alpha -min_linesearch.cpp: relerr = fabs(1.0-(0.5*(alpha-alphaprev)*(fh+fhprev)+ecurrent)/engprev); -min_linesearch.cpp: alpha0 = alpha - (alpha-alphaprev)*fh/delfh; -min_linesearch.cpp: // if backtracking energy change is better than ideal, exit with success -min_linesearch.cpp: // save previous state -min_linesearch.cpp: // reduce alpha -min_linesearch.cpp: // backtracked all the way to 0.0 -min_linesearch.cpp: // reset to starting point, exit with error -min_linesearch.cpp:/* ---------------------------------------------------------------------- -min_linesearch.cpp: // also account for nextra atom & global -min_linesearch.cpp: alpha_max <= dmax/hmaxall -min_linesearch.cpp: // try decreasing the energy to 1/10 of initial -min_linesearch.cpp: alpha_init = 0.1*fabs(eoriginal)/fhCurr; -min_linesearch.cpp: // initial alpha is smaller than alpha_max -min_linesearch.cpp: // we have done enough in the search space -min_linesearch.cpp: // ZERO_ENERGY = 1e-12, is max allowed energy increase -min_linesearch.cpp: // GRAD_TOL = 0.1 -min_linesearch.cpp: if ( (not backtrack) && (fabs(fhCurr/fh0) <= GRAD_TOL) ): -min_linesearch.cpp: // forces sufficiently reduced without energy increase -min_linesearch.cpp: // projected force changed sign but didn't become small enough -min_linesearch.cpp: // forces along search direction changed sign -min_linesearch.cpp: // force didn't change sign but only energy increased, -min_linesearch.cpp: // we overshot a minimum which is very close to a -min_linesearch.cpp: // maximum (or there is an inflection point) -min_linesearch.cpp: // New alpha_del should be much smaller -min_linesearch.cpp: // ALPHA_FACT = 0.1 -min_linesearch.cpp: // Check to see if new 'alpha_del' isn't too small -min_linesearch.cpp: // continue the loop with a new alpha_del -min_linesearch.cpp: ---------------------------------------------------------------------- */ -min_linesearch.cpp: // projection of: force on itself, current force on search direction, -min_linesearch.cpp: // previous force on search direction, initial force on search direction -min_linesearch.cpp: // current energy, previous energy -min_linesearch.cpp: // hardcoded constants -min_linesearch.cpp: // factor by which alpha is reduced when backtracking -min_linesearch.cpp: // maximum amount by which we'll permit energy increase -min_linesearch.cpp: // fraction to which we want to reduce the directional derivative -min_linesearch.cpp: // largest alpha increment which will trigger a failed_linesearch -min_linesearch.cpp: // fdothall = projection of search dir along downhill gradient -min_linesearch.cpp: // if search direction is not downhill, exit with error -min_linesearch.cpp: if (output->thermo->normflag) fdothall /= atom->natoms; -min_linesearch.cpp: // set alpha so no dof is changed by more than max allowed amount -min_linesearch.cpp: // for atom coords, max amount = dmax -min_linesearch.cpp: // for extra per-atom dof, max amount = extra_max[] -min_linesearch.cpp: // for extra global dof, max amount is set by fix -min_linesearch.cpp: // also insure alpha <= ALPHA_MAX else will have -min_linesearch.cpp: // to backtrack from huge value when forces are tiny -min_linesearch.cpp: // if all search dir components are already 0.0, exit with error -min_linesearch.cpp: alpha_max = dmax/hmaxall; -min_linesearch.cpp: alpha_max = MIN(alpha_max,extra_max[m]/hmax); -min_linesearch.cpp: // store box and values of all dof at start of linesearch -min_linesearch.cpp: // initialize important variables before main linesearch loop -min_linesearch.cpp: // stores energy difference due to the current move -min_linesearch.cpp: // choosing the initial alpha that we'll use -min_linesearch.cpp: // rough estimate that'll decrease energy to 1/10 -min_linesearch.cpp: alpha_init = 0.1*fabs(eoriginal)/fdothall; -min_linesearch.cpp: // initialize aplha to 0.0 -min_linesearch.cpp: // compute increment to alpha, ensure that we -min_linesearch.cpp: // don't take the largest allowed alpha -min_linesearch.cpp: // first alpha that will actually apply -min_linesearch.cpp: // main linesearch loop -min_linesearch.cpp: // apply the increment to alpha, but first -min_linesearch.cpp: // check whether we are still in allowed search space -min_linesearch.cpp: // undo the increment -min_linesearch.cpp: // exit linesearch with success: have done -min_linesearch.cpp: // enough in allowed search space -min_linesearch.cpp: // move the system -min_linesearch.cpp: // '1' updates coordinates of atoms which cross PBC -min_linesearch.cpp: // compute the new directional derivative and also f_dot_f -min_linesearch.cpp: // energy change -min_linesearch.cpp: // if the function value increases measurably, -min_linesearch.cpp: // then we have to reduce alpha -min_linesearch.cpp: // check if the directional derivative has sufficiently decreased -min_linesearch.cpp: // NOTE: the fabs is essential here -min_linesearch.cpp: if ((!backtrack) && (fabs(fhCurr/fhoriginal) <= GRAD_TOL)) { -min_linesearch.cpp: // we are done -min_linesearch.cpp: // check if the directional derivative changed sign -min_linesearch.cpp: // but it's not small: we overshot the minima -- BACKTRACK -min_linesearch.cpp: // backtrack by undoing step and choosing a new alpha -min_linesearch.cpp: // move back -min_linesearch.cpp: // choose new alpha -min_linesearch.cpp: // if the force changed sign, linearize force and -min_linesearch.cpp: // solve for new alpha_del -min_linesearch.cpp: alpha_del *= fhPrev/(fhPrev - fhCurr); -min_linesearch.cpp: // force didn't change sign but only energy increased, -min_linesearch.cpp: // we overshot a minimum which is very close to a maxima -min_linesearch.cpp: // (or there is an inflection point) -min_linesearch.cpp: // new alpha_del should be much smaller -min_linesearch.cpp: // since we moved back ... -min_linesearch.cpp: // if new move is too small then we have failed; -min_linesearch.cpp: // exit with 'failed_linesearch' -min_linesearch.cpp: // undo all line minization moves -min_linesearch.cpp: // get a new alpha by linearizing force and start over -min_linesearch.cpp: // avoids problems near an energy inflection point -min_linesearch.cpp: boostFactor = fhCurr/(fhPrev - fhCurr); -min_linesearch.cpp: // don't want to boost too much -min_linesearch.cpp:/* ---------------------------------------------------------------------- */ -min_linesearch.cpp: // reset to starting point -min_linesearch.cpp: // step forward along h -min_linesearch.cpp: // compute and return new energy -min_linesearch.cpp:/* ---------------------------------------------------------------------- */ -min_linesearch.cpp:// compute projection of force on: itself and the search direction -min_linesearch.cpp: // compute new fh, alpha, delfh -min_linesearch.cpp: ff /= atom->natoms; -min_linesearch.cpp: fh /= atom->natoms; -min_quickmin.cpp:/* ---------------------------------------------------------------------- -min_quickmin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -min_quickmin.cpp: http://lammps.sandia.gov, Sandia National Laboratories -min_quickmin.cpp:------------------------------------------------------------------------- */ -min_quickmin.cpp:// EPS_ENERGY = minimum normalization for energy tolerance -min_quickmin.cpp:/* ---------------------------------------------------------------------- */ -min_quickmin.cpp:/* ---------------------------------------------------------------------- */ -min_quickmin.cpp:/* ---------------------------------------------------------------------- */ -min_quickmin.cpp:/* ---------------------------------------------------------------------- -min_quickmin.cpp:------------------------------------------------------------------------- */ -min_quickmin.cpp: // atomic dof -min_quickmin.cpp:/* ---------------------------------------------------------------------- -min_quickmin.cpp:------------------------------------------------------------------------- */ -min_quickmin.cpp: // zero velocity if anti-parallel to force -min_quickmin.cpp: // else project velocity in direction of force -min_quickmin.cpp: // sum vdotf over replicas, if necessary -min_quickmin.cpp: // this communicator would be invalid for multiprocess replicas -min_quickmin.cpp: // sum fdotf over replicas, if necessary -min_quickmin.cpp: // this communicator would be invalid for multiprocess replicas -min_quickmin.cpp: else scale = vdotfall/fdotfall; -min_quickmin.cpp: // limit timestep so no particle moves further than dmax -min_quickmin.cpp: if (dtvone*vmax > dmax) dtvone = dmax/vmax; -min_quickmin.cpp: // min dtv over replicas, if necessary -min_quickmin.cpp: // this communicator would be invalid for multiprocess replicas -min_quickmin.cpp: // Euler integration step -min_quickmin.cpp: dtfm = dtf / rmass[i]; -min_quickmin.cpp: dtfm = dtf / mass[type[i]]; -min_quickmin.cpp: // energy tolerance criterion -min_quickmin.cpp: // only check after DELAYSTEP elapsed since velocties reset to 0 -min_quickmin.cpp: // sync across replicas if running multi-replica minimization -min_quickmin.cpp: // force tolerance criterion -min_quickmin.cpp: // sync across replicas if running multi-replica minimization -min_quickmin.cpp: // output for thermo, dump, restart files -min_sd.cpp:/* ---------------------------------------------------------------------- -min_sd.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -min_sd.cpp: http://lammps.sandia.gov, Sandia National Laboratories -min_sd.cpp:------------------------------------------------------------------------- */ -min_sd.cpp:// EPS_ENERGY = minimum normalization for energy tolerance -min_sd.cpp:/* ---------------------------------------------------------------------- */ -min_sd.cpp:/* ---------------------------------------------------------------------- -min_sd.cpp:------------------------------------------------------------------------- */ -min_sd.cpp: // initialize working vectors -min_sd.cpp: // line minimization along h from current position x -min_sd.cpp: // h = downhill gradient direction -min_sd.cpp: // function evaluation criterion -min_sd.cpp: // energy tolerance criterion -min_sd.cpp: // force tolerance criterion -min_sd.cpp: // set new search direction h to f = -Grad(x) -min_sd.cpp: // output for thermo, dump, restart files -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -modify.cpp: http://lammps.sandia.gov, Sandia National Laboratories -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:#define NEXCEPT 7 // change when add to exceptions in add_fix() -modify.cpp:/* ---------------------------------------------------------------------- */ -modify.cpp: // fill map with fixes listed in style_fix.h -modify.cpp: // fill map with computes listed in style_compute.h -modify.cpp:/* ---------------------------------------------------------------------- */ -modify.cpp: // delete all fixes -modify.cpp: // do it via delete_fix() so callbacks in Atom are also updated correctly -modify.cpp: // delete all computes -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp: // delete storage of restart info since it is not valid after 1st run -modify.cpp: // create lists of fixes to call at each stage of run -modify.cpp: // init each fix -modify.cpp: // not sure if now needs to come before compute init -modify.cpp: // used to b/c temperature computes called fix->dof() in their init, -modify.cpp: // and fix rigid required its own init before its dof() could be called, -modify.cpp: // but computes now do their DOF in setup() -modify.cpp: // set global flag if any fix has its restart_pbc flag set -modify.cpp: // create list of computes that store invocation times -modify.cpp: // init each compute -modify.cpp: // set invoked_scalar,vector,etc to -1 to force new run to re-compute them -modify.cpp: // add initial timestep to all computes that store invocation times -modify.cpp: // since any of them may be invoked by initial thermo -modify.cpp: // do not clear out invocation times stored within a compute, -modify.cpp: // b/c some may be holdovers from previous run, like for ave fixes -modify.cpp: // error if any fix or compute is using a dynamic group when not allowed -modify.cpp: // warn if any particle is time integrated more than once -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp: // compute setup needs to come before fix setup -modify.cpp: // b/c NH fixes need DOF of temperature computes -modify.cpp: // fix group setup() is special case since populates a dynamic group -modify.cpp: // needs to be done before temperature compute setup -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp: called by compute pe/atom -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp: minimizer energy/force evaluation, only for relevant fixes -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp: // cannot define fix before box exists unless style is in exception list -modify.cpp: // don't like this way of checking for exceptions by adding fixes to list, -modify.cpp: // but can't think of better way -modify.cpp: // too late if instantiate fix, then check flag set in fix constructor, -modify.cpp: // since some fixes access domain settings in their constructor -modify.cpp: // MUST change NEXCEPT above when add new fix to this list -modify.cpp: {"GPU","OMP","INTEL","property/atom","cmap","cmap3","rx"}; -modify.cpp: // check group ID -modify.cpp: // if fix ID exists: -modify.cpp: // set newflag = 0 so create new fix in same location in fix list -modify.cpp: // error if new style does not match old style -modify.cpp: // since can't replace it (all when-to-invoke ptrs would be invalid) -modify.cpp: // warn if new group != old group -modify.cpp: // delete old fix, but do not call update_callback(), -modify.cpp: // since will replace this fix and thus other fix locs will not change -modify.cpp: // set ptr to NULL in case new fix scans list of fixes, -modify.cpp: // e.g. scan will occur in add_callback() if called by new fix -modify.cpp: // if fix ID does not exist: -modify.cpp: // set newflag = 1 so create new fix -modify.cpp: // extend fix and fmask lists as necessary -modify.cpp: sprintf(estyle,"%s/%s",arg[2],lmp->suffix); -modify.cpp: sprintf(estyle,"%s/%s",arg[2],lmp->suffix2); -modify.cpp: // create the Fix -modify.cpp: // try first with suffix appended -modify.cpp: sprintf(estyle,"%s/%s",arg[2],lmp->suffix); -modify.cpp: sprintf(estyle,"%s/%s",arg[2],lmp->suffix2); -modify.cpp: // check if Fix is in restart_global list -modify.cpp: // if yes, pass state info to the Fix so it can reset itself -modify.cpp: // check if Fix is in restart_peratom list -modify.cpp: // if yes, loop over atoms so they can extract info from atom->extra array -modify.cpp: // increment nfix (if new) -modify.cpp: // set fix mask values -modify.cpp: // post_constructor() allows new fix to create other fixes -modify.cpp: // nfix increment comes first so that recursive call to add_fix within -modify.cpp: // post_constructor() will see updated nfix -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp: // lookup Fix ID -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp: // move other Fixes and fmask down in list one slot -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp: // error check -modify.cpp: // extend Compute list if necessary -modify.cpp: // create the Compute -modify.cpp: // try first with suffix appended -modify.cpp: sprintf(estyle,"%s/%s",arg[2],lmp->suffix); -modify.cpp: sprintf(estyle,"%s/%s",arg[2],lmp->suffix2); -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp: // lookup Compute ID -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp: // move other Computes down in list one slot -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp: // nfix_restart_global = # of restart entries with global state info -modify.cpp: // allocate space for each entry -modify.cpp: // read each entry and Bcast to all procs -modify.cpp: // each entry has id string, style string, chunk of state data -modify.cpp: // nfix_restart_peratom = # of restart entries with peratom info -modify.cpp: // allocate space for each entry -modify.cpp: // read each entry and Bcast to all procs -modify.cpp: // each entry has id string, style string, maxsize of one atom's data -modify.cpp: // set index = which set of extra data this fix represents -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -modify.cpp:/* ---------------------------------------------------------------------- -modify.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -molecule.cpp: http://lammps.sandia.gov, Sandia National Laboratories -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:#define SINERTIA 0.4 // moment of inertia prefactor for sphere -molecule.cpp:/* ---------------------------------------------------------------------- */ -molecule.cpp: // parse args until reach unknown arg (next file) -molecule.cpp: // last molecule if have scanned all args -molecule.cpp: // initialize all fields to empty -molecule.cpp: // scan file for sizes of all fields and allocate them -molecule.cpp: // read file again to populate all fields -molecule.cpp: // stats -molecule.cpp:/* ---------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp: center[0] /= natoms; -molecule.cpp: center[1] /= natoms; -molecule.cpp: center[2] /= natoms; -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp: com[0] /= masstotal; -molecule.cpp: com[1] /= masstotal; -molecule.cpp: com[2] /= masstotal; -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp: // diagonalize inertia tensor for each body via Jacobi rotations -molecule.cpp: // inertia = 3 eigenvalues = principal moments of inertia -molecule.cpp: // evectors and exzy = 3 evectors = principal axes of rigid body -molecule.cpp: // if any principal moment < scaled EPSILON, set to 0.0 -molecule.cpp: // enforce 3 evectors as a right-handed coordinate system -molecule.cpp: // flip 3rd vector if needed -molecule.cpp: // create quaternion -molecule.cpp: // compute displacements in body frame defined by quat -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp: // skip 1st line of file -molecule.cpp: // read header lines -molecule.cpp: // skip blank lines or lines that start with "#" -molecule.cpp: // stop when read an unrecognized line -molecule.cpp: // trim anything from '#' onward -molecule.cpp: // if line is blank, continue -molecule.cpp: // search line for header keywords and set corresponding variable -molecule.cpp: // error checks -molecule.cpp: // count = vector for tallying bonds,angles,etc per atom -molecule.cpp: // grab keyword and skip next line -molecule.cpp: // loop over sections of molecule file -molecule.cpp: // clean up -molecule.cpp: // error check -molecule.cpp: // auto-generate special bonds if needed and not in file -molecule.cpp: // set maxspecial on first pass, so allocate() has a size -molecule.cpp: // body particle must have natom = 1 -molecule.cpp: // set radius by having body class compute its own radius -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp: if flag = 0, just count bonds/atom -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp: // bond_per_atom = max of count vector -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp: if flag = 0, just count angles/atom -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp: // angle_per_atom = max of count vector -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp: if flag = 0, just count dihedrals/atom -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp: // dihedral_per_atom = max of count vector -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp: if flag = 0, just count impropers/atom -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp: // improper_per_atom = max of count vector -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp: // 1-2 neighbors -molecule.cpp: // 1-3 neighbors with no duplicates -molecule.cpp: // 1-4 neighbors with no duplicates -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp: pflag = 0/1 for integer/double params -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp: // check per-atom attributes of molecule -molecule.cpp: // warn if not a match -molecule.cpp: // for all atom styles, check nbondtype,etc -molecule.cpp: // for molecular atom styles, check bond_per_atom,etc + maxspecial -molecule.cpp: // do not check for atom style template, since nothing stored per atom -molecule.cpp: error->all(FLERR,"Molecule topology/atom exceeds system topology/atom"); -molecule.cpp: // warn if molecule topology defined but no special settings -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp: // always allocate num_bond,num_angle,etc and special+nspecial -molecule.cpp: // even if not in molecule file, initialize to 0 -molecule.cpp: // this is so methods that use these arrays don't have to check they exist -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp: // read upto non-blank line plus 1 following line -molecule.cpp: // eof is set to 1 if any read hits end-of-file -molecule.cpp: // if eof, set keyword empty and return -molecule.cpp: // bcast keyword line to all procs -molecule.cpp: // copy non-whitespace portion of line into keyword -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* ---------------------------------------------------------------------- -molecule.cpp:------------------------------------------------------------------------- */ -molecule.cpp:/* -molecule.cpp:*/ -nbin.cpp:/* ---------------------------------------------------------------------- -nbin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nbin.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nbin.cpp:------------------------------------------------------------------------- */ -nbin.cpp:/* ---------------------------------------------------------------------- */ -nbin.cpp: // geometry settings -nbin.cpp:/* ---------------------------------------------------------------------- */ -nbin.cpp:/* ---------------------------------------------------------------------- */ -nbin.cpp:/* ---------------------------------------------------------------------- -nbin.cpp:------------------------------------------------------------------------- */ -nbin.cpp: // overwrite Neighbor cutoff with custom value set by requestor -nbin.cpp: // only works for style = BIN (checked by Neighbor class) -nbin.cpp:/* ---------------------------------------------------------------------- -nbin.cpp:------------------------------------------------------------------------- */ -nbin.cpp: // binhead = per-bin vector, mbins in length -nbin.cpp: // add 1 bin for USER-INTEL package -nbin.cpp: // bins = per-atom vector -nbin.cpp:/* ---------------------------------------------------------------------- -nbin.cpp: take special care to insure ghosts are in correct bins even w/ roundoff -nbin.cpp:------------------------------------------------------------------------- */ -nbin.cpp:/* ---------------------------------------------------------------------- */ -nbin_standard.cpp:/* ---------------------------------------------------------------------- -nbin_standard.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nbin_standard.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nbin_standard.cpp:------------------------------------------------------------------------- */ -nbin_standard.cpp:enum{NSQ,BIN,MULTI}; // also in Neighbor -nbin_standard.cpp:/* ---------------------------------------------------------------------- */ -nbin_standard.cpp:/* ---------------------------------------------------------------------- -nbin_standard.cpp: binsize = 1/2 of cutoff is roughly optimal -nbin_standard.cpp:------------------------------------------------------------------------- */ -nbin_standard.cpp: // bbox = size of bbox of entire domain -nbin_standard.cpp: // bsubbox lo/hi = bounding box of my subdomain extended by comm->cutghost -nbin_standard.cpp: // for triclinic: -nbin_standard.cpp: // bbox bounds all 8 corners of tilted box -nbin_standard.cpp: // subdomain is in lamda coords -nbin_standard.cpp: // include dimension-dependent extension via comm->cutghost -nbin_standard.cpp: // domain->bbox() converts lamda extent to box coords and computes bbox -nbin_standard.cpp: // optimal bin size is roughly 1/2 the cutoff -nbin_standard.cpp: // for BIN style, binsize = 1/2 of max neighbor cutoff -nbin_standard.cpp: // for MULTI style, binsize = 1/2 of min neighbor cutoff -nbin_standard.cpp: // special case of all cutoffs = 0.0, binsize = box size -nbin_standard.cpp: double binsizeinv = 1.0/binsize_optimal; -nbin_standard.cpp: // test for too many global bins in any dimension due to huge global domain -nbin_standard.cpp: // create actual bins -nbin_standard.cpp: // always have one bin even if cutoff > bbox -nbin_standard.cpp: // for 2d, nbinz = 1 -nbin_standard.cpp: // compute actual bin size for nbins to fit into box exactly -nbin_standard.cpp: // error if actual bin size << cutoff, since will create a zillion bins -nbin_standard.cpp: // this happens when nbin = 1 and box size << cutoff -nbin_standard.cpp: // typically due to non-periodic, flat system in a particular dim -nbin_standard.cpp: // in that extreme case, should use NSQ not BIN neighbor style -nbin_standard.cpp: binsizex = bbox[0]/nbinx; -nbin_standard.cpp: binsizey = bbox[1]/nbiny; -nbin_standard.cpp: binsizez = bbox[2]/nbinz; -nbin_standard.cpp: bininvx = 1.0 / binsizex; -nbin_standard.cpp: bininvy = 1.0 / binsizey; -nbin_standard.cpp: bininvz = 1.0 / binsizez; -nbin_standard.cpp: // mbinlo/hi = lowest and highest global bins my ghost atoms could be in -nbin_standard.cpp: // coord = lowest and highest values of coords for my ghost atoms -nbin_standard.cpp: // static_cast(-1.5) = -1, so subract additional -1 -nbin_standard.cpp: // add in SMALL for round-off safety -nbin_standard.cpp: // extend bins by 1 to insure stencil extent is included -nbin_standard.cpp: // for 2d, only 1 bin in z -nbin_standard.cpp:/* ---------------------------------------------------------------------- -nbin_standard.cpp:------------------------------------------------------------------------- */ -nbin_standard.cpp: // bin in reverse order so linked list will be in forward order -nbin_standard.cpp: // also puts ghost atoms at end of list, which is necessary -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -neighbor.cpp: http://lammps.sandia.gov, Sandia National Laboratories -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp:enum{NSQ,BIN,MULTI}; // also in NBin, NeighList, NStencil -neighbor.cpp://#define NEIGH_LIST_DEBUG 1 -neighbor.cpp:/* ---------------------------------------------------------------------- */ -neighbor.cpp: // pairwise neighbor lists and associated data structs -neighbor.cpp: // topology lists -neighbor.cpp: // coords at last neighboring -neighbor.cpp: // pair exclusion list info -neighbor.cpp: // Kokkos setting -neighbor.cpp:/* ---------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- */ -neighbor.cpp: // error check -neighbor.cpp: // ------------------------------------------------------------------ -neighbor.cpp: // settings -neighbor.cpp: // bbox lo/hi ptrs = bounding box of entire domain, stored by Domain -neighbor.cpp: // set neighbor cutoffs (force cutoff + skin) -neighbor.cpp: // trigger determines when atoms migrate and neighbor lists are rebuilt -neighbor.cpp: // needs to be non-zero for migration distance check -neighbor.cpp: // even if pair = NULL and no neighbor lists are used -neighbor.cpp: // cutneigh = force cutoff + skin if cutforce > 0, else cutneigh = 0 -neighbor.cpp: // cutneighghost = pair cutghost if it requests it, else same as cutneigh -neighbor.cpp: // rRESPA cutoffs -neighbor.cpp: // fixchecklist = other classes that can induce reneighboring in decide() -neighbor.cpp: // set special_flag for 1-2, 1-3, 1-4 neighbors -neighbor.cpp: // flag[0] is not used, flag[1] = 1-2, flag[2] = 1-3, flag[3] = 1-4 -neighbor.cpp: // flag = 0 if both LJ/Coulomb special values are 0.0 -neighbor.cpp: // flag = 1 if both LJ/Coulomb special values are 1.0 -neighbor.cpp: // flag = 2 otherwise or if KSpace solver is enabled -neighbor.cpp: // pairwise portion of KSpace solver uses all 1-2,1-3,1-4 neighbors -neighbor.cpp: // or selected Coulomb-approixmation pair styles require it -neighbor.cpp: if (force->kspace || force->pair_match("coul/wolf",0) || -neighbor.cpp: force->pair_match("coul/dsf",0) || force->pair_match("thole",0)) -neighbor.cpp: // maxwt = max multiplicative factor on atom indices stored in neigh list -neighbor.cpp: // ------------------------------------------------------------------ -neighbor.cpp: // xhold array -neighbor.cpp: // free if not needed for this run -neighbor.cpp: // first time allocation -neighbor.cpp: // ------------------------------------------------------------------ -neighbor.cpp: // exclusion lists -neighbor.cpp: // depend on type, group, molecule settings from neigh_modify -neighbor.cpp: // warn if exclusions used with KSpace solver -neighbor.cpp: // ------------------------------------------------------------------ -neighbor.cpp: // create pairwise lists -neighbor.cpp: // one-time call to init_styles() to scan style files and setup -neighbor.cpp: // init_pair() creates auxiliary classes: NBin, NStencil, NPair -neighbor.cpp: // invoke copy_neighbor_info() in Bin,Stencil,Pair classes -neighbor.cpp: // copied once per run in case any cutoff, exclusion, special info changed -neighbor.cpp: // can now delete requests so next run can make new ones -neighbor.cpp: // print_pairwise_info() made use of requests -neighbor.cpp: // set of NeighLists now stores all needed info -neighbor.cpp: // ------------------------------------------------------------------ -neighbor.cpp: // create topology lists -neighbor.cpp: // instantiated topo styles can change from run to run -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp: cannot do this in constructor, b/c too early to instantiate classes -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // extract info from NBin classes listed in style_nbin.h -neighbor.cpp: // extract info from NStencil classes listed in style_nstencil.h -neighbor.cpp: // extract info from NPair classes listed in style_npair.h -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // test if pairwise lists need to be re-created -neighbor.cpp: // no need to re-create if: -neighbor.cpp: // neigh style, triclinic, pgsize, oneatom have not changed -neighbor.cpp: // current requests = old requests -neighbor.cpp: // so just return: -neighbor.cpp: // delete requests so next run can make new ones -neighbor.cpp: // current set of NeighLists already stores all needed info -neighbor.cpp: // requests are compared via identical() before: -neighbor.cpp: // any requests are morphed using logic below -neighbor.cpp: // any requests are added below, e.g. as parents of pair hybrid skip lists -neighbor.cpp: // copy them via requests_new2old() BEFORE any changes made to requests -neighbor.cpp: // necessary b/c morphs can change requestor settings (see comment below) -neighbor.cpp: // delete old lists since creating new ones -neighbor.cpp: // morph requests in various ways -neighbor.cpp: // purpose is to avoid duplicate or inefficient builds -neighbor.cpp: // may add new requests if a needed request to derive from does not exist -neighbor.cpp: // methods: -neighbor.cpp: // (1) other = point history and rRESPA lists at their partner lists -neighbor.cpp: // (2) skip = create any new non-skip lists needed by pair hybrid skip lists -neighbor.cpp: // (3) granular = adjust parent and skip lists for granular onesided usage -neighbor.cpp: // (4) h/f = pair up any matching half/full lists -neighbor.cpp: // (5) copy = convert as many lists as possible to copy lists -neighbor.cpp: // order of morph methods matters: -neighbor.cpp: // (1) before (2), b/c (2) needs to know history partner pairings -neighbor.cpp: // (2) after (1), b/c (2) may also need to create new history lists -neighbor.cpp: // (3) after (2), b/c it adjusts lists created by (2) -neighbor.cpp: // (4) after (2) and (3), -neighbor.cpp: // b/c (2) may create new full lists, (3) may change them -neighbor.cpp: // (5) last, after all lists are finalized, so all possible copies found -neighbor.cpp: morph_granular(); // this method can change flags set by requestor -neighbor.cpp: // create new lists, one per request including added requests -neighbor.cpp: // wait to allocate initial pages until copy lists are detected -neighbor.cpp: // NOTE: can I allocate now, instead of down below? -neighbor.cpp: // allocate new lists -neighbor.cpp: // pass list ptr back to requestor (except for Command class) -neighbor.cpp: // only for original requests, not ones added by Neighbor class -neighbor.cpp: // invoke post_constructor() for all lists -neighbor.cpp: // copies info from requests to lists, sets ptrs to related lists -neighbor.cpp: // assign Bin,Stencil,Pair style to each list -neighbor.cpp: // instantiate unique Bin,Stencil classes in neigh_bin & neigh_stencil vecs -neighbor.cpp: // unique = only one of its style, or request unique flag set (custom cutoff) -neighbor.cpp: // instantiate one Pair class per list in neigh_pair vec -neighbor.cpp: // allocate initial pages for each list, except if copy flag set -neighbor.cpp: // allocate dnum vector of zeroes if set -neighbor.cpp: // first-time allocation of per-atom data for lists that are built and store -neighbor.cpp: // lists that are not built: granhistory, respa inner/middle (no neigh_pair) -neighbor.cpp: // lists that do not store: copy -neighbor.cpp: // use atom->nmax for both grow() args -neighbor.cpp: // i.e. grow first time to expanded size to avoid future reallocs -neighbor.cpp: // also Kokkos list initialization -neighbor.cpp: // plist = indices of perpetual NPair classes -neighbor.cpp: // perpetual = non-occasional, re-built at every reneighboring -neighbor.cpp: // slist = indices of perpetual NStencil classes -neighbor.cpp: // perpetual = used by any perpetual NPair class -neighbor.cpp: // reorder plist vector if necessary -neighbor.cpp: // relevant for lists that are derived from a parent list: -neighbor.cpp: // half-full,copy,skip -neighbor.cpp: // the child index must appear in plist after the parent index -neighbor.cpp: // swap two indices within plist when dependency is mis-ordered -neighbor.cpp: // start double loop check again whenever a swap is made -neighbor.cpp: // done when entire double loop test results in no swaps -neighbor.cpp: int tmp = plist[i]; // swap I,J indices -neighbor.cpp: // debug output -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // if history, point this list and partner list at each other -neighbor.cpp: // if respaouter, point all associated rRESPA lists at each other -neighbor.cpp: // if cut flag set by requestor, set unique flag -neighbor.cpp: // this forces Pair,Stencil,Bin styles to be instantiated separately -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // only processing skip lists -neighbor.cpp: // these lists are created other ways, no need for skipping -neighbor.cpp: // halffull list and its full parent may both skip, -neighbor.cpp: // but are checked to insure matching skip info -neighbor.cpp: // check all other lists -neighbor.cpp: // can only skip from a perpetual non-skip list -neighbor.cpp: // both lists must be half, or both full -neighbor.cpp: // both lists must be newton on, or both newton off -neighbor.cpp: // IJ newton = 1 for newton on, 2 for newton off -neighbor.cpp: // these flags must be same, -neighbor.cpp: // else 2 lists do not store same pairs -neighbor.cpp: // or their data structures are different -neighbor.cpp: // this includes custom cutoff set by requestor -neighbor.cpp: // no need to check respaouter b/c it stores same pairs -neighbor.cpp: // no need to check dnum b/c only set for history -neighbor.cpp: // NOTE: need check for 2 Kokkos flags? -neighbor.cpp: // 2 lists are a match -neighbor.cpp: // if matching list exists, point to it -neighbor.cpp: // else create a new identical list except non-skip -neighbor.cpp: // for new list, set neigh = 1, skip = 0, no skip vec/array, -neighbor.cpp: // copy unique flag (since copy_request() will not do it) -neighbor.cpp: // note: parents of skip lists do not have associated history list -neighbor.cpp: // b/c child skip lists store their own history info -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp: adjust newton/oneside parent settings if children require onesided skipping -neighbor.cpp: this is needed because line/gran and tri/gran pair styles -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // only examine NeighRequests added by morph_skip() -neighbor.cpp: // only those with size attribute for granular systems -neighbor.cpp: // check children of this list -neighbor.cpp: // only consider JRQ pair, size lists that skip from Irq list -neighbor.cpp: // onesided = -1 if no children -neighbor.cpp: // onesided = 0/1 = child granonesided value if same for all children -neighbor.cpp: // onesided = 2 if children have different granonesided values -neighbor.cpp: // if onesided = 2, parent has children with both granonesided = 0/1 -neighbor.cpp: // force parent newton off (newton = 2) to enable onesided skip by child -neighbor.cpp: // set parent granonesided = 0, so it stores all neighs in usual manner -neighbor.cpp: // set off2on = 1 for all children, since they expect newton on lists -neighbor.cpp: // this is b/c granonesided only set by line/gran and tri/gran which -neighbor.cpp: // both require system newton on -neighbor.cpp: // only consider JRQ pair, size lists that skip from Irq list -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // only processing half lists -neighbor.cpp: // Kokkos doesn't yet support half from full -neighbor.cpp: // these lists are created other ways, no need for halffull -neighbor.cpp: // do want to process skip lists -neighbor.cpp: // check all other lists -neighbor.cpp: // can only derive from a perpetual full list -neighbor.cpp: // newton setting of derived list does not matter -neighbor.cpp: // these flags must be same, -neighbor.cpp: // else 2 lists do not store same pairs -neighbor.cpp: // or their data structures are different -neighbor.cpp: // this includes custom cutoff set by requestor -neighbor.cpp: // no need to check respaouter b/c it stores same pairs -neighbor.cpp: // no need to check dnum b/c only set for history -neighbor.cpp: // skip flag must be same -neighbor.cpp: // if both are skip lists, skip info must match -neighbor.cpp: // 2 lists are a match -neighbor.cpp: // if matching list exists, point to it -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // this list is already a copy list due to another morph method -neighbor.cpp: // these lists are created other ways, no need to copy -neighbor.cpp: // skip lists are eligible to become a copy list -neighbor.cpp: // check all other lists -neighbor.cpp: // other list is already copied from this one -neighbor.cpp: // other list (jrq) to copy from must be perpetual -neighbor.cpp: // list that becomes a copy list (irq) can be perpetual or occasional -neighbor.cpp: // if both lists are perpetual, require j < i -neighbor.cpp: // to prevent circular dependence with 3 or more copies of a list -neighbor.cpp: // both lists must be half, or both full -neighbor.cpp: // both lists must be newton on, or both newton off -neighbor.cpp: // IJ newton = 1 for newton on, 2 for newton off -neighbor.cpp: // ok for non-ghost list to copy from ghost list, but not vice versa -neighbor.cpp: // these flags must be same, -neighbor.cpp: // else 2 lists do not store same pairs -neighbor.cpp: // or their data structures are different -neighbor.cpp: // this includes custom cutoff set by requestor -neighbor.cpp: // no need to check respaouter b/c it stores same pairs -neighbor.cpp: // no need to check omp b/c it stores same pairs -neighbor.cpp: // no need to check dnum b/c only set for history -neighbor.cpp: // NOTE: need check for 2 Kokkos flags? -neighbor.cpp: // skip flag must be same -neighbor.cpp: // if both are skip lists, skip info must match -neighbor.cpp: // 2 lists are a match -neighbor.cpp: // turn list I into a copy of list J -neighbor.cpp: // do not copy a list from another copy list, but from its parent list -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // set flags that determine which topology neighbor classes to use -neighbor.cpp: // these settings could change from run to run, depending on fixes defined -neighbor.cpp: // bonds,etc can only be broken for atom->molecular = 1, not 2 -neighbor.cpp: // SHAKE sets bonds and angles negative -neighbor.cpp: // gcmc sets all bonds, angles, etc negative -neighbor.cpp: // bond_quartic sets bonds to 0 -neighbor.cpp: // delete_bonds sets all interactions negative -neighbor.cpp: // sync on/off settings across all procs -neighbor.cpp: // instantiate NTopo classes -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: fprintf(out," max neighbors/atom: %d, page size: %d\n", -neighbor.cpp: ceil(bbox[0]/binsize), ceil(bbox[1]/binsize), -neighbor.cpp: ceil(bbox[2]/binsize)); -neighbor.cpp: "perpetual/occasional/extra = %d %d %d\n", -neighbor.cpp: // order these to get single output of most relevant -neighbor.cpp: fprintf(out,", half/full from (%d)",rq->halffulllist+1); -neighbor.cpp: // list of neigh list attributes -neighbor.cpp: /* -neighbor.cpp: */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // no binning needed -neighbor.cpp: // use request settings to match exactly one NBin class mask -neighbor.cpp: // checks are bitwise using NeighConst bit masks -neighbor.cpp: // require match of these request flags and mask bits -neighbor.cpp: // (!A != !B) is effectively a logical xor -neighbor.cpp: // error return if matched none -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // no stencil creation needed -neighbor.cpp: // convert newton request to newtflag = on or off -neighbor.cpp: //printf("STENCIL RQ FLAGS: hff %d %d n %d g %d s %d newtflag %d\n", -neighbor.cpp: // rq->half,rq->full,rq->newton,rq->ghost,rq->ssa, -neighbor.cpp: // newtflag); -neighbor.cpp: // use request and system settings to match exactly one NStencil class mask -neighbor.cpp: // checks are bitwise using NeighConst bit masks -neighbor.cpp: //printf("III %d: half %d full %d newton %d newtoff %d ghost %d ssa %d\n", -neighbor.cpp: // i,mask & NS_HALF,mask & NS_FULL,mask & NS_NEWTON, -neighbor.cpp: // mask & NS_NEWTOFF,mask & NS_GHOST,mask & NS_SSA); -neighbor.cpp: // exactly one of half or full is set and must match -neighbor.cpp: // newtflag is on or off and must match -neighbor.cpp: // require match of these request flags and mask bits -neighbor.cpp: // (!A != !B) is effectively a logical xor -neighbor.cpp: // neighbor style is BIN or MULTI and must match -neighbor.cpp: // dimension is 2 or 3 and must match -neighbor.cpp: // domain triclinic flag is on or off and must match -neighbor.cpp: // error return if matched none -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // no neighbor list build performed -neighbor.cpp: // error check for includegroup with ghost neighbor request -neighbor.cpp: // convert newton request to newtflag = on or off -neighbor.cpp: //printf("PAIR RQ FLAGS: hf %d %d n %d g %d sz %d gos %d r %d b %d o %d i %d " -neighbor.cpp: // "kk %d %d ss %d dn %d sk %d cp %d hf %d oo %d\n", -neighbor.cpp: // rq->half,rq->full,rq->newton,rq->ghost,rq->size, -neighbor.cpp: // rq->granonesided,rq->respaouter,rq->bond,rq->omp,rq->intel, -neighbor.cpp: // rq->kokkos_host,rq->kokkos_device,rq->ssa,rq->dnum, -neighbor.cpp: // rq->skip,rq->copy,rq->halffull,rq->off2on); -neighbor.cpp: // use request and system settings to match exactly one NPair class mask -neighbor.cpp: // checks are bitwise using NeighConst bit masks -neighbor.cpp: //printf(" PAIR NAMES i %d %d name %s mask %d\n",i,nrequest, -neighbor.cpp: // pairnames[i],pairmasks[i]); -neighbor.cpp: // if copy request, no further checks needed, just return or continue -neighbor.cpp: // Kokkos device/host flags must also match in order to copy -neighbor.cpp: // exactly one of half or full is set and must match -neighbor.cpp: // newtflag is on or off and must match -neighbor.cpp: // if molecular on, do not match ATOMONLY (b/c a MOLONLY Npair exists) -neighbor.cpp: // if molecular off, do not match MOLONLY (b/c an ATOMONLY Npair exists) -neighbor.cpp: // require match of these request flags and mask bits -neighbor.cpp: // (!A != !B) is effectively a logical xor -neighbor.cpp: // neighbor style is one of NSQ,BIN,MULTI and must match -neighbor.cpp: // domain triclinic flag is on or off and must match -neighbor.cpp: // error return if matched none -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp: called before run and every reneighbor if box size/shape changes -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // invoke setup_bins() for all NBin -neighbor.cpp: // actual binning is performed in build() -neighbor.cpp: // invoke create_setup() and create() for all perpetual NStencil -neighbor.cpp: // same ops performed for occasional lists in build_one() -neighbor.cpp:/* ---------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp: new trigger = 1/2 of reduced skin distance -neighbor.cpp: for orthogonal box, only need 2 lo/hi corners -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // check that using special bond flags will not overflow neigh lists -neighbor.cpp: // store current atom positions and box size if needed -neighbor.cpp: // bin atoms for all NBin instances -neighbor.cpp: // not just NBin associated with perpetual lists -neighbor.cpp: // b/c cannot wait to bin occasional lists in build_one() call -neighbor.cpp: // if bin then, atoms may have moved outside of proc domain & bin extent, -neighbor.cpp: // leading to errors or even a crash -neighbor.cpp: // build pairwise lists for all perpetual NPair/NeighList -neighbor.cpp: // grow() with nlocal/nall args so that only realloc if have to -neighbor.cpp: // build topology lists for bonds/angles/etc -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp: copy their list info back to Neighbor for access by bond/angle/etc classes -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: // check if list structure is initialized -neighbor.cpp: // build_one() should never be invoked on a perpetual list -neighbor.cpp: // no need to build if already built since last re-neighbor -neighbor.cpp: // preflag is set by fix bond/create and fix bond/swap -neighbor.cpp: // b/c they invoke build_one() on same step neigh list is re-built, -neighbor.cpp: // but before re-build, so need to use ">" instead of ">=" -neighbor.cpp: // if this is copy list and parent is occasional list, -neighbor.cpp: // or this is halffull and parent is occasional list, -neighbor.cpp: // insure parent is current -neighbor.cpp: // create stencil if hasn't been created since last setup_bins() call -neighbor.cpp: // build the list -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp: } else if (strcmp(arg[iarg+1],"molecule/inter") == 0 || -neighbor.cpp: strcmp(arg[iarg+1],"molecule/intra") == 0) { -neighbor.cpp: if (strcmp(arg[iarg+1],"molecule/intra") == 0) -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neighbor.cpp:/* ---------------------------------------------------------------------- -neighbor.cpp:------------------------------------------------------------------------- */ -neigh_list.cpp:/* ---------------------------------------------------------------------- -neigh_list.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -neigh_list.cpp: http://lammps.sandia.gov, Sandia National Laboratories -neigh_list.cpp:------------------------------------------------------------------------- */ -neigh_list.cpp:enum{NSQ,BIN,MULTI}; // also in Neighbor -neigh_list.cpp:/* ---------------------------------------------------------------------- */ -neigh_list.cpp: // initializations -neigh_list.cpp: // defaults, but may be reset by post_constructor() -neigh_list.cpp: // ptrs -neigh_list.cpp: // Kokkos package -neigh_list.cpp: // USER-DPD package -neigh_list.cpp:/* ---------------------------------------------------------------------- */ -neigh_list.cpp:/* ---------------------------------------------------------------------- -neigh_list.cpp: cannot do this in constructor b/c not all NeighLists are allocated yet -neigh_list.cpp: respaouter -> set listinner/listmiddle for other rRESPA lists -neigh_list.cpp:------------------------------------------------------------------------- */ -neigh_list.cpp: // copy request settings used by list itself -neigh_list.cpp:/* ---------------------------------------------------------------------- */ -neigh_list.cpp:/* ---------------------------------------------------------------------- -neigh_list.cpp: grow per-atom data to allow for nlocal/nall atoms -neigh_list.cpp:------------------------------------------------------------------------- */ -neigh_list.cpp: // trigger grow() in children before possible return -neigh_list.cpp: // skip if data structs are already big enough -neigh_list.cpp:/* ---------------------------------------------------------------------- -neigh_list.cpp:------------------------------------------------------------------------- */ -neigh_list.cpp: printf("Neighbor list/request %d:\n",index); -neigh_list.cpp: printf(" %d = half/full\n",rq->halffull); -neigh_list.cpp: printf(" %d = history/partner\n",rq->history_partner); -neigh_list.cpp:/* ---------------------------------------------------------------------- -neigh_list.cpp:------------------------------------------------------------------------- */ -neigh_request.cpp:/* ---------------------------------------------------------------------- -neigh_request.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -neigh_request.cpp: http://lammps.sandia.gov, Sandia National Laboratories -neigh_request.cpp:------------------------------------------------------------------------- */ -neigh_request.cpp:/* ---------------------------------------------------------------------- */ -neigh_request.cpp: // default ID = 0 -neigh_request.cpp: // class user of list: default is pair request -neigh_request.cpp: // only one is set to 1 -neigh_request.cpp: // kind of list: default is half neighbor list -neigh_request.cpp: // only one is set to 1 -neigh_request.cpp: // attribute flags, mutiple can be set to 1 -neigh_request.cpp: // default is every reneighboring, not occasional -neigh_request.cpp: // default is use newton_pair setting in force -neigh_request.cpp: // default is no neighbors of ghosts -neigh_request.cpp: // default is use cutoffs, not size of particles -neigh_request.cpp: // default is no additional neighbor history info -neigh_request.cpp: // default is no one-sided sphere/surface interactions (when size = 1) -neigh_request.cpp: // default is neighbors of atoms, not bonds -neigh_request.cpp: // default is no multilevel rRESPA neighbors -neigh_request.cpp: // default is no OpenMP multi-threaded neighbor list build -neigh_request.cpp: // default is no Intel-specific neighbor list build -neigh_request.cpp: // default is no Kokkos neighbor list build -neigh_request.cpp: // default is no Shardlow Splitting Algorithm (SSA) neighbor list build -neigh_request.cpp: // default is no storage of auxiliary floating point values -neigh_request.cpp: // skip info, default is no skipping -neigh_request.cpp: // only set when command = 1; -neigh_request.cpp: // info set by Neighbor class when morphing original requests -neigh_request.cpp: // internal settings -neigh_request.cpp:/* ---------------------------------------------------------------------- */ -neigh_request.cpp:/* ---------------------------------------------------------------------- -neigh_request.cpp:------------------------------------------------------------------------- */ -neigh_request.cpp: // check for match of requestor_instance and instance counter -neigh_request.cpp: // prevents an old fix from being unfix/refix in same memory location -neigh_request.cpp: // stored in requestor, and thus appearing old, when really new -neigh_request.cpp: // only needed for classes with persistent neigh lists: Pair, Fix, Compute -neigh_request.cpp: // only compare settings made by requestors -neigh_request.cpp: // not settings made later by Neighbor class -neigh_request.cpp:/* ---------------------------------------------------------------------- -neigh_request.cpp:------------------------------------------------------------------------- */ -neigh_request.cpp:/* ---------------------------------------------------------------------- -neigh_request.cpp: skipflag = 1 to copy skip vector/array -neigh_request.cpp:------------------------------------------------------------------------- */ -npair_copy.cpp:/* ---------------------------------------------------------------------- -npair_copy.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_copy.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_copy.cpp:------------------------------------------------------------------------- */ -npair_copy.cpp:/* ---------------------------------------------------------------------- */ -npair_copy.cpp:/* ---------------------------------------------------------------------- -npair_copy.cpp:------------------------------------------------------------------------- */ -npair.cpp:/* ---------------------------------------------------------------------- -npair.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair.cpp:------------------------------------------------------------------------- */ -npair.cpp:/* ---------------------------------------------------------------------- */ -npair.cpp:/* ---------------------------------------------------------------------- */ -npair.cpp:/* ---------------------------------------------------------------------- */ -npair.cpp:/* ---------------------------------------------------------------------- -npair.cpp:------------------------------------------------------------------------- */ -npair.cpp: // general params -npair.cpp: // exclusion info -npair.cpp: // special info -npair.cpp: // overwrite per-type Neighbor cutoffs with custom value set by requestor -npair.cpp: // only works for style = BIN (checked by Neighbor class) -npair.cpp:/* ---------------------------------------------------------------------- -npair.cpp:------------------------------------------------------------------------- */ -npair.cpp:/* ---------------------------------------------------------------------- -npair.cpp:------------------------------------------------------------------------- */ -npair.cpp:/* ---------------------------------------------------------------------- -npair.cpp:------------------------------------------------------------------------- */ -npair.cpp: // set here, since build_setup() always called before build() -npair.cpp:/* ---------------------------------------------------------------------- -npair.cpp:------------------------------------------------------------------------- */ -npair.cpp: // intra-chain: exclude i-j pair if in same molecule -npair.cpp: // inter-chain: exclude i-j pair if in different molecules -npair.cpp:/* ---------------------------------------------------------------------- -npair.cpp: take special care to insure ghosts are in correct bins even w/ roundoff -npair.cpp:------------------------------------------------------------------------- */ -npair.cpp:/* ---------------------------------------------------------------------- -npair.cpp:------------------------------------------------------------------------- */ -npair_full_bin_atomonly.cpp:/* ---------------------------------------------------------------------- -npair_full_bin_atomonly.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_full_bin_atomonly.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_full_bin_atomonly.cpp:------------------------------------------------------------------------- */ -npair_full_bin_atomonly.cpp:/* ---------------------------------------------------------------------- */ -npair_full_bin_atomonly.cpp:/* ---------------------------------------------------------------------- -npair_full_bin_atomonly.cpp:------------------------------------------------------------------------- */ -npair_full_bin_atomonly.cpp: // loop over all atoms in surrounding bins in stencil including self -npair_full_bin_atomonly.cpp: // skip i = j -npair_full_bin.cpp:/* ---------------------------------------------------------------------- -npair_full_bin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_full_bin.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_full_bin.cpp:------------------------------------------------------------------------- */ -npair_full_bin.cpp:/* ---------------------------------------------------------------------- */ -npair_full_bin.cpp:/* ---------------------------------------------------------------------- -npair_full_bin.cpp:------------------------------------------------------------------------- */ -npair_full_bin.cpp: // loop over all atoms in surrounding bins in stencil including self -npair_full_bin.cpp: // skip i = j -npair_full_bin_ghost.cpp:/* ---------------------------------------------------------------------- -npair_full_bin_ghost.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_full_bin_ghost.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_full_bin_ghost.cpp:------------------------------------------------------------------------- */ -npair_full_bin_ghost.cpp:/* ---------------------------------------------------------------------- */ -npair_full_bin_ghost.cpp:/* ---------------------------------------------------------------------- -npair_full_bin_ghost.cpp:------------------------------------------------------------------------- */ -npair_full_bin_ghost.cpp: // loop over owned & ghost atoms, storing neighbors -npair_full_bin_ghost.cpp: // loop over all atoms in surrounding bins in stencil including self -npair_full_bin_ghost.cpp: // when i is a ghost atom, must check if stencil bin is out of bounds -npair_full_bin_ghost.cpp: // skip i = j -npair_full_bin_ghost.cpp: // no molecular test when i = ghost atom -npair_full_multi.cpp:/* ---------------------------------------------------------------------- -npair_full_multi.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_full_multi.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_full_multi.cpp:------------------------------------------------------------------------- */ -npair_full_multi.cpp:/* ---------------------------------------------------------------------- */ -npair_full_multi.cpp:/* ---------------------------------------------------------------------- -npair_full_multi.cpp:------------------------------------------------------------------------- */ -npair_full_multi.cpp: // loop over all atoms in other bins in stencil, including self -npair_full_multi.cpp: // skip if i,j neighbor cutoff is less than bin distance -npair_full_multi.cpp: // skip i = j -npair_full_nsq.cpp:/* ---------------------------------------------------------------------- -npair_full_nsq.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_full_nsq.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_full_nsq.cpp:------------------------------------------------------------------------- */ -npair_full_nsq.cpp:/* ---------------------------------------------------------------------- */ -npair_full_nsq.cpp:/* ---------------------------------------------------------------------- -npair_full_nsq.cpp:------------------------------------------------------------------------- */ -npair_full_nsq.cpp: // loop over all atoms, owned and ghost -npair_full_nsq.cpp: // skip i = j -npair_full_nsq_ghost.cpp:/* ---------------------------------------------------------------------- -npair_full_nsq_ghost.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_full_nsq_ghost.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_full_nsq_ghost.cpp:------------------------------------------------------------------------- */ -npair_full_nsq_ghost.cpp:/* ---------------------------------------------------------------------- */ -npair_full_nsq_ghost.cpp:/* ---------------------------------------------------------------------- -npair_full_nsq_ghost.cpp:------------------------------------------------------------------------- */ -npair_full_nsq_ghost.cpp: // loop over owned & ghost atoms, storing neighbors -npair_full_nsq_ghost.cpp: // loop over all atoms, owned and ghost -npair_full_nsq_ghost.cpp: // skip i = j -npair_full_nsq_ghost.cpp: // no molecular test when i = ghost atom -npair_half_bin_atomonly_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_bin_atomonly_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_bin_atomonly_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_bin_atomonly_newton.cpp:------------------------------------------------------------------------- */ -npair_half_bin_atomonly_newton.cpp:/* ---------------------------------------------------------------------- */ -npair_half_bin_atomonly_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_bin_atomonly_newton.cpp:------------------------------------------------------------------------- */ -npair_half_bin_atomonly_newton.cpp: // loop over rest of atoms in i's bin, ghosts are at end of linked list -npair_half_bin_atomonly_newton.cpp: // if j is owned atom, store it, since j is beyond i in linked list -npair_half_bin_atomonly_newton.cpp: // if j is ghost, only store if j coords are "above and to the right" of i -npair_half_bin_atomonly_newton.cpp: // loop over all atoms in other bins in stencil, store every pair -npair_half_bin_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_bin_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_bin_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_bin_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_bin_newtoff.cpp:/* ---------------------------------------------------------------------- */ -npair_half_bin_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_bin_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_bin_newtoff.cpp: // loop over all atoms in other bins in stencil including self -npair_half_bin_newtoff.cpp: // only store pair if i < j -npair_half_bin_newtoff.cpp: // stores own/own pairs only once -npair_half_bin_newtoff.cpp: // stores own/ghost pairs on both procs -npair_half_bin_newtoff.cpp: // OLD: if (which >= 0) neighptr[n++] = j ^ (which << SBBITS); -npair_half_bin_newtoff_ghost.cpp:/* ---------------------------------------------------------------------- -npair_half_bin_newtoff_ghost.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_bin_newtoff_ghost.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_bin_newtoff_ghost.cpp:------------------------------------------------------------------------- */ -npair_half_bin_newtoff_ghost.cpp:/* ---------------------------------------------------------------------- */ -npair_half_bin_newtoff_ghost.cpp:/* ---------------------------------------------------------------------- -npair_half_bin_newtoff_ghost.cpp:------------------------------------------------------------------------- */ -npair_half_bin_newtoff_ghost.cpp: // loop over all atoms in other bins in stencil including self -npair_half_bin_newtoff_ghost.cpp: // when i is a ghost atom, must check if stencil bin is out of bounds -npair_half_bin_newtoff_ghost.cpp: // only store pair if i < j -npair_half_bin_newtoff_ghost.cpp: // stores own/own pairs only once -npair_half_bin_newtoff_ghost.cpp: // stores own/ghost pairs with owned atom only, on both procs -npair_half_bin_newtoff_ghost.cpp: // stores ghost/ghost pairs only once -npair_half_bin_newtoff_ghost.cpp: // no molecular test when i = ghost atom -npair_half_bin_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_bin_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_bin_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_bin_newton.cpp:------------------------------------------------------------------------- */ -npair_half_bin_newton.cpp:/* ---------------------------------------------------------------------- */ -npair_half_bin_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_bin_newton.cpp:------------------------------------------------------------------------- */ -npair_half_bin_newton.cpp: // loop over rest of atoms in i's bin, ghosts are at end of linked list -npair_half_bin_newton.cpp: // if j is owned atom, store it, since j is beyond i in linked list -npair_half_bin_newton.cpp: // if j is ghost, only store if j coords are "above and to the right" of i -npair_half_bin_newton.cpp: // OLD: if (which >= 0) neighptr[n++] = j ^ (which << SBBITS); -npair_half_bin_newton.cpp: // loop over all atoms in other bins in stencil, store every pair -npair_half_bin_newton.cpp: // OLD: if (which >= 0) neighptr[n++] = j ^ (which << SBBITS); -npair_half_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- -npair_half_bin_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_bin_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_bin_newton_tri.cpp:------------------------------------------------------------------------- */ -npair_half_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- */ -npair_half_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- -npair_half_bin_newton_tri.cpp:------------------------------------------------------------------------- */ -npair_half_bin_newton_tri.cpp: // loop over all atoms in bins in stencil -npair_half_bin_newton_tri.cpp: // pairs for atoms j "below" i are excluded -npair_half_bin_newton_tri.cpp: // below = lower z or (equal z and lower y) or (equal zy and lower x) -npair_half_bin_newton_tri.cpp: // (equal zyx and j <= i) -npair_half_bin_newton_tri.cpp: // latter excludes self-self interaction but allows superposed atoms -npair_halffull_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_halffull_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_halffull_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_halffull_newtoff.cpp:------------------------------------------------------------------------- */ -npair_halffull_newtoff.cpp:/* ---------------------------------------------------------------------- */ -npair_halffull_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_halffull_newtoff.cpp:------------------------------------------------------------------------- */ -npair_halffull_newtoff.cpp: // loop over atoms in full list -npair_halffull_newtoff.cpp: // loop over parent full list -npair_halffull_newton.cpp:/* ---------------------------------------------------------------------- -npair_halffull_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_halffull_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_halffull_newton.cpp:------------------------------------------------------------------------- */ -npair_halffull_newton.cpp:/* ---------------------------------------------------------------------- */ -npair_halffull_newton.cpp:/* ---------------------------------------------------------------------- -npair_halffull_newton.cpp:------------------------------------------------------------------------- */ -npair_halffull_newton.cpp: // loop over parent full list -npair_halffull_newton.cpp: // loop over full neighbor list -npair_half_multi_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_multi_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_multi_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_multi_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_multi_newtoff.cpp:/* ---------------------------------------------------------------------- */ -npair_half_multi_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_multi_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_multi_newtoff.cpp: // loop over all atoms in other bins in stencil including self -npair_half_multi_newtoff.cpp: // only store pair if i < j -npair_half_multi_newtoff.cpp: // skip if i,j neighbor cutoff is less than bin distance -npair_half_multi_newtoff.cpp: // stores own/own pairs only once -npair_half_multi_newtoff.cpp: // stores own/ghost pairs on both procs -npair_half_multi_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_multi_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_multi_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_multi_newton.cpp:------------------------------------------------------------------------- */ -npair_half_multi_newton.cpp:/* ---------------------------------------------------------------------- */ -npair_half_multi_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_multi_newton.cpp:------------------------------------------------------------------------- */ -npair_half_multi_newton.cpp: // loop over rest of atoms in i's bin, ghosts are at end of linked list -npair_half_multi_newton.cpp: // if j is owned atom, store it, since j is beyond i in linked list -npair_half_multi_newton.cpp: // if j is ghost, only store if j coords are "above and to the right" of i -npair_half_multi_newton.cpp: // loop over all atoms in other bins in stencil, store every pair -npair_half_multi_newton.cpp: // skip if i,j neighbor cutoff is less than bin distance -npair_half_multi_newton_tri.cpp:/* ---------------------------------------------------------------------- -npair_half_multi_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_multi_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_multi_newton_tri.cpp:------------------------------------------------------------------------- */ -npair_half_multi_newton_tri.cpp:/* ---------------------------------------------------------------------- */ -npair_half_multi_newton_tri.cpp:/* ---------------------------------------------------------------------- -npair_half_multi_newton_tri.cpp:------------------------------------------------------------------------- */ -npair_half_multi_newton_tri.cpp: // loop over all atoms in bins, including self, in stencil -npair_half_multi_newton_tri.cpp: // skip if i,j neighbor cutoff is less than bin distance -npair_half_multi_newton_tri.cpp: // bins below self are excluded from stencil -npair_half_multi_newton_tri.cpp: // pairs for atoms j "below" i are excluded -npair_half_multi_newton_tri.cpp: // below = lower z or (equal z and lower y) or (equal zy and lower x) -npair_half_multi_newton_tri.cpp: // (equal zyx and j <= i) -npair_half_multi_newton_tri.cpp: // latter excludes self-self interaction but allows superposed atoms -npair_half_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_nsq_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_nsq_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_nsq_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- */ -npair_half_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_nsq_newtoff.cpp: N^2 / 2 search for neighbor pairs with partial Newton's 3rd law -npair_half_nsq_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_nsq_newtoff.cpp: // loop over remaining atoms, owned and ghost -npair_half_nsq_newtoff.cpp: // only store pair if i < j -npair_half_nsq_newtoff_ghost.cpp:/* ---------------------------------------------------------------------- -npair_half_nsq_newtoff_ghost.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_nsq_newtoff_ghost.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_nsq_newtoff_ghost.cpp:------------------------------------------------------------------------- */ -npair_half_nsq_newtoff_ghost.cpp:/* ---------------------------------------------------------------------- */ -npair_half_nsq_newtoff_ghost.cpp:/* ---------------------------------------------------------------------- -npair_half_nsq_newtoff_ghost.cpp: N^2 / 2 search for neighbor pairs with partial Newton's 3rd law -npair_half_nsq_newtoff_ghost.cpp:------------------------------------------------------------------------- */ -npair_half_nsq_newtoff_ghost.cpp: // loop over owned & ghost atoms, storing neighbors -npair_half_nsq_newtoff_ghost.cpp: // loop over remaining atoms, owned and ghost -npair_half_nsq_newtoff_ghost.cpp: // only store pair if i < j -npair_half_nsq_newtoff_ghost.cpp: // stores own/own pairs only once -npair_half_nsq_newtoff_ghost.cpp: // stores own/ghost pairs with owned atom only, on both procs -npair_half_nsq_newtoff_ghost.cpp: // stores ghost/ghost pairs only once -npair_half_nsq_newtoff_ghost.cpp: // no molecular test when i = ghost atom -npair_half_nsq_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_nsq_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_nsq_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_nsq_newton.cpp:------------------------------------------------------------------------- */ -npair_half_nsq_newton.cpp:/* ---------------------------------------------------------------------- */ -npair_half_nsq_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_nsq_newton.cpp: N^2 / 2 search for neighbor pairs with full Newton's 3rd law -npair_half_nsq_newton.cpp:------------------------------------------------------------------------- */ -npair_half_nsq_newton.cpp: // loop over remaining atoms, owned and ghost -npair_half_nsq_newton.cpp: // itag = jtag is possible for long cutoffs that include images of self -npair_half_respa_bin_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_respa_bin_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_respa_bin_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_respa_bin_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_respa_bin_newtoff.cpp:/* ---------------------------------------------------------------------- */ -npair_half_respa_bin_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_respa_bin_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_respa_bin_newtoff.cpp: // loop over all atoms in surrounding bins in stencil including self -npair_half_respa_bin_newtoff.cpp: // only store pair if i < j -npair_half_respa_bin_newtoff.cpp: // stores own/own pairs only once -npair_half_respa_bin_newtoff.cpp: // stores own/ghost pairs on both procs -npair_half_respa_bin_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_respa_bin_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_respa_bin_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_respa_bin_newton.cpp:------------------------------------------------------------------------- */ -npair_half_respa_bin_newton.cpp:/* ---------------------------------------------------------------------- */ -npair_half_respa_bin_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_respa_bin_newton.cpp:------------------------------------------------------------------------- */ -npair_half_respa_bin_newton.cpp: // loop over rest of atoms in i's bin, ghosts are at end of linked list -npair_half_respa_bin_newton.cpp: // if j is owned atom, store it, since j is beyond i in linked list -npair_half_respa_bin_newton.cpp: // if j is ghost, only store if j coords are "above and to the right" of i -npair_half_respa_bin_newton.cpp: // loop over all atoms in other bins in stencil, store every pair -npair_half_respa_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- -npair_half_respa_bin_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_respa_bin_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_respa_bin_newton_tri.cpp:------------------------------------------------------------------------- */ -npair_half_respa_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- */ -npair_half_respa_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- -npair_half_respa_bin_newton_tri.cpp:------------------------------------------------------------------------- */ -npair_half_respa_bin_newton_tri.cpp: // loop over all atoms in bins in stencil -npair_half_respa_bin_newton_tri.cpp: // pairs for atoms j "below" i are excluded -npair_half_respa_bin_newton_tri.cpp: // below = lower z or (equal z and lower y) or (equal zy and lower x) -npair_half_respa_bin_newton_tri.cpp: // (equal zyx and j <= i) -npair_half_respa_bin_newton_tri.cpp: // latter excludes self-self interaction but allows superposed atoms -npair_half_respa_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_respa_nsq_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_respa_nsq_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_respa_nsq_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_respa_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- */ -npair_half_respa_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_respa_nsq_newtoff.cpp: N^2 / 2 search for neighbor pairs with partial Newton's 3rd law -npair_half_respa_nsq_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_respa_nsq_newtoff.cpp: // loop over remaining atoms, owned and ghost -npair_half_respa_nsq_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_respa_nsq_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_respa_nsq_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_respa_nsq_newton.cpp:------------------------------------------------------------------------- */ -npair_half_respa_nsq_newton.cpp:/* ---------------------------------------------------------------------- */ -npair_half_respa_nsq_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_respa_nsq_newton.cpp: N^2 / 2 search for neighbor pairs with full Newton's 3rd law -npair_half_respa_nsq_newton.cpp:------------------------------------------------------------------------- */ -npair_half_respa_nsq_newton.cpp: // loop over remaining atoms, owned and ghost -npair_half_size_bin_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_size_bin_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_size_bin_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_size_bin_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_size_bin_newtoff.cpp:/* ---------------------------------------------------------------------- */ -npair_half_size_bin_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_size_bin_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_size_bin_newtoff.cpp: // loop over all atoms in surrounding bins in stencil including self -npair_half_size_bin_newtoff.cpp: // only store pair if i < j -npair_half_size_bin_newtoff.cpp: // stores own/own pairs only once -npair_half_size_bin_newtoff.cpp: // stores own/ghost pairs on both procs -npair_half_size_bin_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_size_bin_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_size_bin_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_size_bin_newton.cpp:------------------------------------------------------------------------- */ -npair_half_size_bin_newton.cpp:/* ---------------------------------------------------------------------- */ -npair_half_size_bin_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_size_bin_newton.cpp:------------------------------------------------------------------------- */ -npair_half_size_bin_newton.cpp: // loop over rest of atoms in i's bin, ghosts are at end of linked list -npair_half_size_bin_newton.cpp: // if j is owned atom, store it, since j is beyond i in linked list -npair_half_size_bin_newton.cpp: // if j is ghost, only store if j coords are "above and to the right" of i -npair_half_size_bin_newton.cpp: // loop over all atoms in other bins in stencil, store every pair -npair_half_size_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- -npair_half_size_bin_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_size_bin_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_size_bin_newton_tri.cpp:------------------------------------------------------------------------- */ -npair_half_size_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- */ -npair_half_size_bin_newton_tri.cpp:/* ---------------------------------------------------------------------- -npair_half_size_bin_newton_tri.cpp:------------------------------------------------------------------------- */ -npair_half_size_bin_newton_tri.cpp: // loop over all atoms in bins in stencil -npair_half_size_bin_newton_tri.cpp: // pairs for atoms j "below" i are excluded -npair_half_size_bin_newton_tri.cpp: // below = lower z or (equal z and lower y) or (equal zy and lower x) -npair_half_size_bin_newton_tri.cpp: // (equal zyx and j <= i) -npair_half_size_bin_newton_tri.cpp: // latter excludes self-self interaction but allows superposed atoms -npair_half_size_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_size_nsq_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_size_nsq_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_size_nsq_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_size_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- */ -npair_half_size_nsq_newtoff.cpp:/* ---------------------------------------------------------------------- -npair_half_size_nsq_newtoff.cpp: N^2 / 2 search for neighbor pairs with partial Newton's 3rd law -npair_half_size_nsq_newtoff.cpp:------------------------------------------------------------------------- */ -npair_half_size_nsq_newtoff.cpp: // loop over remaining atoms, owned and ghost -npair_half_size_nsq_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_size_nsq_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_half_size_nsq_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_half_size_nsq_newton.cpp:------------------------------------------------------------------------- */ -npair_half_size_nsq_newton.cpp:/* ---------------------------------------------------------------------- */ -npair_half_size_nsq_newton.cpp:/* ---------------------------------------------------------------------- -npair_half_size_nsq_newton.cpp: N^2 / 2 search for neighbor pairs with full Newton's 3rd law -npair_half_size_nsq_newton.cpp:------------------------------------------------------------------------- */ -npair_half_size_nsq_newton.cpp: // loop over remaining atoms, owned and ghost -npair_skip.cpp:/* ---------------------------------------------------------------------- -npair_skip.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_skip.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_skip.cpp:------------------------------------------------------------------------- */ -npair_skip.cpp:/* ---------------------------------------------------------------------- */ -npair_skip.cpp:/* ---------------------------------------------------------------------- -npair_skip.cpp:------------------------------------------------------------------------- */ -npair_skip.cpp: // loop over atoms in other list -npair_skip.cpp: // skip I atom entirely if iskip is set for type[I] -npair_skip.cpp: // skip I,J pair if ijskip is set for type[I],type[J] -npair_skip.cpp: // loop over parent non-skip list -npair_skip_respa.cpp:/* ---------------------------------------------------------------------- -npair_skip_respa.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_skip_respa.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_skip_respa.cpp:------------------------------------------------------------------------- */ -npair_skip_respa.cpp:/* ---------------------------------------------------------------------- */ -npair_skip_respa.cpp:/* ---------------------------------------------------------------------- -npair_skip_respa.cpp: this is for respa lists, copy the inner/middle values from parent -npair_skip_respa.cpp:------------------------------------------------------------------------- */ -npair_skip_respa.cpp: // loop over atoms in other list -npair_skip_respa.cpp: // skip I atom entirely if iskip is set for type[I] -npair_skip_respa.cpp: // skip I,J pair if ijskip is set for type[I],type[J] -npair_skip_respa.cpp: // loop over parent outer rRESPA list -npair_skip_respa.cpp: // loop over parent inner rRESPA list -npair_skip_respa.cpp: // loop over parent middle rRESPA list -npair_skip_size.cpp:/* ---------------------------------------------------------------------- -npair_skip_size.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_skip_size.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_skip_size.cpp:------------------------------------------------------------------------- */ -npair_skip_size.cpp:/* ---------------------------------------------------------------------- */ -npair_skip_size.cpp:/* ---------------------------------------------------------------------- -npair_skip_size.cpp: if list requests it, preserve shear history via fix shear/history -npair_skip_size.cpp:------------------------------------------------------------------------- */ -npair_skip_size.cpp: // loop over atoms in other list -npair_skip_size.cpp: // skip I atom entirely if iskip is set for type[I] -npair_skip_size.cpp: // skip I,J pair if ijskip is set for type[I],type[J] -npair_skip_size.cpp: // loop over parent non-skip size list and optionally its history info -npair_skip_size.cpp: // no numeric test for current touch -npair_skip_size.cpp: // just use FSH partner list to infer it -npair_skip_size.cpp: // would require distance calculation for spheres -npair_skip_size.cpp: // more complex calculation for surfs -npair_skip_size_off2on.cpp:/* ---------------------------------------------------------------------- -npair_skip_size_off2on.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_skip_size_off2on.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_skip_size_off2on.cpp:------------------------------------------------------------------------- */ -npair_skip_size_off2on.cpp:/* ---------------------------------------------------------------------- */ -npair_skip_size_off2on.cpp:/* ---------------------------------------------------------------------- -npair_skip_size_off2on.cpp: if list requests it, preserve shear history via fix shear/history -npair_skip_size_off2on.cpp:------------------------------------------------------------------------- */ -npair_skip_size_off2on.cpp: // loop over atoms in other list -npair_skip_size_off2on.cpp: // skip I atom entirely if iskip is set for type[I] -npair_skip_size_off2on.cpp: // skip I,J pair if ijskip is set for type[I],type[J] -npair_skip_size_off2on.cpp: // loop over parent non-skip size list and optionally its history info -npair_skip_size_off2on.cpp: // only keep I,J when J = ghost if Itag < Jtag -npair_skip_size_off2on.cpp: // no numeric test for current touch -npair_skip_size_off2on.cpp: // just use FSH partner list to infer it -npair_skip_size_off2on.cpp: // would require distance calculation for spheres -npair_skip_size_off2on.cpp: // more complex calculation for surfs -npair_skip_size_off2on_oneside.cpp:/* ---------------------------------------------------------------------- -npair_skip_size_off2on_oneside.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -npair_skip_size_off2on_oneside.cpp: http://lammps.sandia.gov, Sandia National Laboratories -npair_skip_size_off2on_oneside.cpp:------------------------------------------------------------------------- */ -npair_skip_size_off2on_oneside.cpp:/* ---------------------------------------------------------------------- */ -npair_skip_size_off2on_oneside.cpp:/* ---------------------------------------------------------------------- -npair_skip_size_off2on_oneside.cpp: if list requests it, preserve shear history via fix shear/history -npair_skip_size_off2on_oneside.cpp:------------------------------------------------------------------------- */ -npair_skip_size_off2on_oneside.cpp: // two loops over parent list required, one to count, one to store -npair_skip_size_off2on_oneside.cpp: // because onesided constraint means pair I,J may be stored with I or J -npair_skip_size_off2on_oneside.cpp: // so don't know in advance how much space to alloc for each atom's neighs -npair_skip_size_off2on_oneside.cpp: // first loop over atoms in other list to count neighbors -npair_skip_size_off2on_oneside.cpp: // skip I atom entirely if iskip is set for type[I] -npair_skip_size_off2on_oneside.cpp: // skip I,J pair if ijskip is set for type[I],type[J] -npair_skip_size_off2on_oneside.cpp: // loop over parent non-skip size list -npair_skip_size_off2on_oneside.cpp: // flip I,J if necessary to satisfy onesided constraint -npair_skip_size_off2on_oneside.cpp: // do not keep if I is now ghost -npair_skip_size_off2on_oneside.cpp: // allocate all per-atom neigh list chunks, including history -npair_skip_size_off2on_oneside.cpp: // second loop over atoms in other list to store neighbors -npair_skip_size_off2on_oneside.cpp: // skip I atom entirely if iskip is set for type[I] -npair_skip_size_off2on_oneside.cpp: // skip I,J pair if ijskip is set for type[I],type[J] -npair_skip_size_off2on_oneside.cpp: // loop over parent non-skip size list and optionally its history info -npair_skip_size_off2on_oneside.cpp: // flip I,J if necessary to satisfy onesided constraint -npair_skip_size_off2on_oneside.cpp: // do not keep if I is now ghost -npair_skip_size_off2on_oneside.cpp: // store j in neigh list, not joriginal, like other neigh methods -npair_skip_size_off2on_oneside.cpp: // OK, b/c there is no special list flagging for surfs -npair_skip_size_off2on_oneside.cpp: // no numeric test for current touch -npair_skip_size_off2on_oneside.cpp: // just use FSH partner list to infer it -npair_skip_size_off2on_oneside.cpp: // would require complex calculation for surfs -npair_skip_size_off2on_oneside.cpp: // only add atom I to ilist if it has neighbors -npair_skip_size_off2on_oneside.cpp: // fix shear/history allows for this in pre_exchange_onesided() -nstencil.cpp:/* ---------------------------------------------------------------------- -nstencil.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil.cpp:------------------------------------------------------------------------- */ -nstencil.cpp:enum{NSQ,BIN,MULTI}; // also in Neighbor -nstencil.cpp:/* ---------------------------------------------------------------------- -nstencil.cpp: invoked each time simulation box size/shape changes -nstencil.cpp: regardless of newton on/off or triclinic -nstencil.cpp: stencil follows same rules for half/full, newton on/off, triclinic -nstencil.cpp:------------------------------------------------------------------------- */ -nstencil.cpp:/* ---------------------------------------------------------------------- */ -nstencil.cpp:/* ---------------------------------------------------------------------- */ -nstencil.cpp:/* ---------------------------------------------------------------------- -nstencil.cpp:------------------------------------------------------------------------- */ -nstencil.cpp: // overwrite Neighbor cutoff with custom value set by requestor -nstencil.cpp: // only works for style = BIN (checked by Neighbor class) -nstencil.cpp:/* ---------------------------------------------------------------------- -nstencil.cpp:------------------------------------------------------------------------- */ -nstencil.cpp:/* ---------------------------------------------------------------------- -nstencil.cpp:------------------------------------------------------------------------- */ -nstencil.cpp: // sx,sy,sz = max range of stencil in each dim -nstencil.cpp: // smax = max possible size of entire 3d stencil -nstencil.cpp: // stencil will be empty if cutneighmax = 0.0 -nstencil.cpp: // reallocate stencil structs if necessary -nstencil.cpp: // for BIN and MULTI styles -nstencil.cpp:/* ---------------------------------------------------------------------- -nstencil.cpp:------------------------------------------------------------------------- */ -nstencil.cpp:/* ---------------------------------------------------------------------- */ -nstencil_full_bin_2d.cpp:/* ---------------------------------------------------------------------- -nstencil_full_bin_2d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_full_bin_2d.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_full_bin_2d.cpp:------------------------------------------------------------------------- */ -nstencil_full_bin_2d.cpp:/* ---------------------------------------------------------------------- */ -nstencil_full_bin_2d.cpp:/* ---------------------------------------------------------------------- -nstencil_full_bin_2d.cpp:------------------------------------------------------------------------- */ -nstencil_full_bin_3d.cpp:/* ---------------------------------------------------------------------- -nstencil_full_bin_3d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_full_bin_3d.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_full_bin_3d.cpp:------------------------------------------------------------------------- */ -nstencil_full_bin_3d.cpp:/* ---------------------------------------------------------------------- */ -nstencil_full_bin_3d.cpp:/* ---------------------------------------------------------------------- -nstencil_full_bin_3d.cpp:------------------------------------------------------------------------- */ -nstencil_full_ghost_bin_2d.cpp:/* ---------------------------------------------------------------------- -nstencil_full_ghost_bin_2d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_full_ghost_bin_2d.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_full_ghost_bin_2d.cpp:------------------------------------------------------------------------- */ -nstencil_full_ghost_bin_2d.cpp:/* ---------------------------------------------------------------------- */ -nstencil_full_ghost_bin_2d.cpp:/* ---------------------------------------------------------------------- -nstencil_full_ghost_bin_2d.cpp:------------------------------------------------------------------------- */ -nstencil_full_ghost_bin_3d.cpp:/* ---------------------------------------------------------------------- -nstencil_full_ghost_bin_3d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_full_ghost_bin_3d.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_full_ghost_bin_3d.cpp:------------------------------------------------------------------------- */ -nstencil_full_ghost_bin_3d.cpp:/* ---------------------------------------------------------------------- */ -nstencil_full_ghost_bin_3d.cpp:/* ---------------------------------------------------------------------- -nstencil_full_ghost_bin_3d.cpp:------------------------------------------------------------------------- */ -nstencil_full_multi_2d.cpp:/* ---------------------------------------------------------------------- -nstencil_full_multi_2d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_full_multi_2d.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_full_multi_2d.cpp:------------------------------------------------------------------------- */ -nstencil_full_multi_2d.cpp:/* ---------------------------------------------------------------------- */ -nstencil_full_multi_2d.cpp:/* ---------------------------------------------------------------------- -nstencil_full_multi_2d.cpp:------------------------------------------------------------------------- */ -nstencil_full_multi_3d.cpp:/* ---------------------------------------------------------------------- -nstencil_full_multi_3d.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_full_multi_3d.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_full_multi_3d.cpp:------------------------------------------------------------------------- */ -nstencil_full_multi_3d.cpp:/* ---------------------------------------------------------------------- */ -nstencil_full_multi_3d.cpp:/* ---------------------------------------------------------------------- -nstencil_full_multi_3d.cpp:------------------------------------------------------------------------- */ -nstencil_half_bin_2d_newtoff.cpp:/* ---------------------------------------------------------------------- -nstencil_half_bin_2d_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_bin_2d_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_bin_2d_newtoff.cpp:------------------------------------------------------------------------- */ -nstencil_half_bin_2d_newtoff.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_bin_2d_newtoff.cpp:/* ---------------------------------------------------------------------- -nstencil_half_bin_2d_newtoff.cpp:------------------------------------------------------------------------- */ -nstencil_half_bin_2d_newton.cpp:/* ---------------------------------------------------------------------- -nstencil_half_bin_2d_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_bin_2d_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_bin_2d_newton.cpp:------------------------------------------------------------------------- */ -nstencil_half_bin_2d_newton.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_bin_2d_newton.cpp:/* ---------------------------------------------------------------------- -nstencil_half_bin_2d_newton.cpp:------------------------------------------------------------------------- */ -nstencil_half_bin_2d_newton_tri.cpp:/* ---------------------------------------------------------------------- -nstencil_half_bin_2d_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_bin_2d_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_bin_2d_newton_tri.cpp:------------------------------------------------------------------------- */ -nstencil_half_bin_2d_newton_tri.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_bin_2d_newton_tri.cpp:/* ---------------------------------------------------------------------- -nstencil_half_bin_2d_newton_tri.cpp:------------------------------------------------------------------------- */ -nstencil_half_bin_3d_newtoff.cpp:/* ---------------------------------------------------------------------- -nstencil_half_bin_3d_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_bin_3d_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_bin_3d_newtoff.cpp:------------------------------------------------------------------------- */ -nstencil_half_bin_3d_newtoff.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_bin_3d_newtoff.cpp:/* ---------------------------------------------------------------------- -nstencil_half_bin_3d_newtoff.cpp:------------------------------------------------------------------------- */ -nstencil_half_bin_3d_newton.cpp:/* ---------------------------------------------------------------------- -nstencil_half_bin_3d_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_bin_3d_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_bin_3d_newton.cpp:------------------------------------------------------------------------- */ -nstencil_half_bin_3d_newton.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_bin_3d_newton.cpp:/* ---------------------------------------------------------------------- -nstencil_half_bin_3d_newton.cpp:------------------------------------------------------------------------- */ -nstencil_half_bin_3d_newton_tri.cpp:/* ---------------------------------------------------------------------- -nstencil_half_bin_3d_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_bin_3d_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_bin_3d_newton_tri.cpp:------------------------------------------------------------------------- */ -nstencil_half_bin_3d_newton_tri.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_bin_3d_newton_tri.cpp:/* ---------------------------------------------------------------------- -nstencil_half_bin_3d_newton_tri.cpp:------------------------------------------------------------------------- */ -nstencil_half_ghost_bin_2d_newtoff.cpp:/* ---------------------------------------------------------------------- -nstencil_half_ghost_bin_2d_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_ghost_bin_2d_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_ghost_bin_2d_newtoff.cpp:------------------------------------------------------------------------- */ -nstencil_half_ghost_bin_2d_newtoff.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_ghost_bin_2d_newtoff.cpp:/* ---------------------------------------------------------------------- -nstencil_half_ghost_bin_2d_newtoff.cpp:------------------------------------------------------------------------- */ -nstencil_half_ghost_bin_3d_newtoff.cpp:/* ---------------------------------------------------------------------- -nstencil_half_ghost_bin_3d_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_ghost_bin_3d_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_ghost_bin_3d_newtoff.cpp:------------------------------------------------------------------------- */ -nstencil_half_ghost_bin_3d_newtoff.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_ghost_bin_3d_newtoff.cpp:/* ---------------------------------------------------------------------- -nstencil_half_ghost_bin_3d_newtoff.cpp:------------------------------------------------------------------------- */ -nstencil_half_multi_2d_newtoff.cpp:/* ---------------------------------------------------------------------- -nstencil_half_multi_2d_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_multi_2d_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_multi_2d_newtoff.cpp:------------------------------------------------------------------------- */ -nstencil_half_multi_2d_newtoff.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_multi_2d_newtoff.cpp:/* ---------------------------------------------------------------------- -nstencil_half_multi_2d_newtoff.cpp:------------------------------------------------------------------------- */ -nstencil_half_multi_2d_newton.cpp:/* ---------------------------------------------------------------------- -nstencil_half_multi_2d_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_multi_2d_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_multi_2d_newton.cpp:------------------------------------------------------------------------- */ -nstencil_half_multi_2d_newton.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_multi_2d_newton.cpp:/* ---------------------------------------------------------------------- -nstencil_half_multi_2d_newton.cpp:------------------------------------------------------------------------- */ -nstencil_half_multi_2d_newton_tri.cpp:/* ---------------------------------------------------------------------- -nstencil_half_multi_2d_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_multi_2d_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_multi_2d_newton_tri.cpp:------------------------------------------------------------------------- */ -nstencil_half_multi_2d_newton_tri.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_multi_2d_newton_tri.cpp:/* ---------------------------------------------------------------------- -nstencil_half_multi_2d_newton_tri.cpp:------------------------------------------------------------------------- */ -nstencil_half_multi_3d_newtoff.cpp:/* ---------------------------------------------------------------------- -nstencil_half_multi_3d_newtoff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_multi_3d_newtoff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_multi_3d_newtoff.cpp:------------------------------------------------------------------------- */ -nstencil_half_multi_3d_newtoff.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_multi_3d_newtoff.cpp:/* ---------------------------------------------------------------------- -nstencil_half_multi_3d_newtoff.cpp:------------------------------------------------------------------------- */ -nstencil_half_multi_3d_newton.cpp:/* ---------------------------------------------------------------------- -nstencil_half_multi_3d_newton.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_multi_3d_newton.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_multi_3d_newton.cpp:------------------------------------------------------------------------- */ -nstencil_half_multi_3d_newton.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_multi_3d_newton.cpp:/* ---------------------------------------------------------------------- -nstencil_half_multi_3d_newton.cpp:------------------------------------------------------------------------- */ -nstencil_half_multi_3d_newton_tri.cpp:/* ---------------------------------------------------------------------- -nstencil_half_multi_3d_newton_tri.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -nstencil_half_multi_3d_newton_tri.cpp: http://lammps.sandia.gov, Sandia National Laboratories -nstencil_half_multi_3d_newton_tri.cpp:------------------------------------------------------------------------- */ -nstencil_half_multi_3d_newton_tri.cpp:/* ---------------------------------------------------------------------- */ -nstencil_half_multi_3d_newton_tri.cpp:/* ---------------------------------------------------------------------- -nstencil_half_multi_3d_newton_tri.cpp:------------------------------------------------------------------------- */ -ntopo_angle_all.cpp:/* ---------------------------------------------------------------------- -ntopo_angle_all.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -ntopo_angle_all.cpp: http://lammps.sandia.gov, Sandia National Laboratories -ntopo_angle_all.cpp:------------------------------------------------------------------------- */ -ntopo_angle_all.cpp:/* ---------------------------------------------------------------------- */ -ntopo_angle_all.cpp:/* ---------------------------------------------------------------------- */ -ntopo_angle_partial.cpp:/* ---------------------------------------------------------------------- -ntopo_angle_partial.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -ntopo_angle_partial.cpp: http://lammps.sandia.gov, Sandia National Laboratories -ntopo_angle_partial.cpp:------------------------------------------------------------------------- */ -ntopo_angle_partial.cpp:/* ---------------------------------------------------------------------- */ -ntopo_angle_partial.cpp:/* ---------------------------------------------------------------------- */ -ntopo_angle_template.cpp:/* ---------------------------------------------------------------------- -ntopo_angle_template.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -ntopo_angle_template.cpp: http://lammps.sandia.gov, Sandia National Laboratories -ntopo_angle_template.cpp:------------------------------------------------------------------------- */ -ntopo_angle_template.cpp:/* ---------------------------------------------------------------------- */ -ntopo_angle_template.cpp:/* ---------------------------------------------------------------------- */ -ntopo_bond_all.cpp:/* ---------------------------------------------------------------------- -ntopo_bond_all.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -ntopo_bond_all.cpp: http://lammps.sandia.gov, Sandia National Laboratories -ntopo_bond_all.cpp:------------------------------------------------------------------------- */ -ntopo_bond_all.cpp:/* ---------------------------------------------------------------------- */ -ntopo_bond_all.cpp:/* ---------------------------------------------------------------------- */ -ntopo_bond_partial.cpp:/* ---------------------------------------------------------------------- -ntopo_bond_partial.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -ntopo_bond_partial.cpp: http://lammps.sandia.gov, Sandia National Laboratories -ntopo_bond_partial.cpp:------------------------------------------------------------------------- */ -ntopo_bond_partial.cpp:/* ---------------------------------------------------------------------- */ -ntopo_bond_partial.cpp:/* ---------------------------------------------------------------------- */ -ntopo_bond_template.cpp:/* ---------------------------------------------------------------------- -ntopo_bond_template.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -ntopo_bond_template.cpp: http://lammps.sandia.gov, Sandia National Laboratories -ntopo_bond_template.cpp:------------------------------------------------------------------------- */ -ntopo_bond_template.cpp:/* ---------------------------------------------------------------------- */ -ntopo_bond_template.cpp:/* ---------------------------------------------------------------------- */ -ntopo.cpp:/* ---------------------------------------------------------------------- -ntopo.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -ntopo.cpp: http://lammps.sandia.gov, Sandia National Laboratories -ntopo.cpp:------------------------------------------------------------------------- */ -ntopo.cpp:/* ---------------------------------------------------------------------- */ -ntopo.cpp:/* ---------------------------------------------------------------------- */ -ntopo.cpp:/* ---------------------------------------------------------------------- */ -ntopo.cpp: else maxbond = static_cast (LB_FACTOR * atom->nbonds / nprocs); -ntopo.cpp:/* ---------------------------------------------------------------------- */ -ntopo.cpp: else maxangle = static_cast (LB_FACTOR * atom->nangles / nprocs); -ntopo.cpp:/* ---------------------------------------------------------------------- */ -ntopo.cpp: else maxdihedral = static_cast (LB_FACTOR * atom->ndihedrals / nprocs); -ntopo.cpp:/* ---------------------------------------------------------------------- */ -ntopo.cpp: else maximproper = static_cast (LB_FACTOR * atom->nimpropers / nprocs); -ntopo.cpp:/* ---------------------------------------------------------------------- */ -ntopo.cpp:/* ---------------------------------------------------------------------- */ -ntopo.cpp: // check all 3 distances -ntopo.cpp: // in case angle potential computes any of them -ntopo.cpp:/* ---------------------------------------------------------------------- */ -ntopo.cpp: // check all 6 distances -ntopo.cpp: // in case dihedral/improper potential computes any of them -ntopo.cpp: error->all(FLERR,"Dihedral/improper extent > half of periodic box length"); -ntopo.cpp:/* ---------------------------------------------------------------------- */ -ntopo_dihedral_all.cpp:/* ---------------------------------------------------------------------- -ntopo_dihedral_all.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -ntopo_dihedral_all.cpp: http://lammps.sandia.gov, Sandia National Laboratories -ntopo_dihedral_all.cpp:------------------------------------------------------------------------- */ -ntopo_dihedral_all.cpp:/* ---------------------------------------------------------------------- */ -ntopo_dihedral_all.cpp:/* ---------------------------------------------------------------------- */ -ntopo_dihedral_partial.cpp:/* ---------------------------------------------------------------------- -ntopo_dihedral_partial.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -ntopo_dihedral_partial.cpp: http://lammps.sandia.gov, Sandia National Laboratories -ntopo_dihedral_partial.cpp:------------------------------------------------------------------------- */ -ntopo_dihedral_partial.cpp:/* ---------------------------------------------------------------------- */ -ntopo_dihedral_partial.cpp:/* ---------------------------------------------------------------------- */ -ntopo_dihedral_template.cpp:/* ---------------------------------------------------------------------- -ntopo_dihedral_template.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -ntopo_dihedral_template.cpp: http://lammps.sandia.gov, Sandia National Laboratories -ntopo_dihedral_template.cpp:------------------------------------------------------------------------- */ -ntopo_dihedral_template.cpp:/* ---------------------------------------------------------------------- */ -ntopo_dihedral_template.cpp:/* ---------------------------------------------------------------------- */ -ntopo_improper_all.cpp:/* ---------------------------------------------------------------------- -ntopo_improper_all.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -ntopo_improper_all.cpp: http://lammps.sandia.gov, Sandia National Laboratories -ntopo_improper_all.cpp:------------------------------------------------------------------------- */ -ntopo_improper_all.cpp:/* ---------------------------------------------------------------------- */ -ntopo_improper_all.cpp:/* ---------------------------------------------------------------------- */ -ntopo_improper_partial.cpp:/* ---------------------------------------------------------------------- -ntopo_improper_partial.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -ntopo_improper_partial.cpp: http://lammps.sandia.gov, Sandia National Laboratories -ntopo_improper_partial.cpp:------------------------------------------------------------------------- */ -ntopo_improper_partial.cpp:/* ---------------------------------------------------------------------- */ -ntopo_improper_partial.cpp:/* ---------------------------------------------------------------------- */ -ntopo_improper_template.cpp:/* ---------------------------------------------------------------------- -ntopo_improper_template.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Templatel Simulator -ntopo_improper_template.cpp: http://lammps.sandia.gov, Sandia National Laboratories -ntopo_improper_template.cpp:------------------------------------------------------------------------- */ -ntopo_improper_template.cpp:/* ---------------------------------------------------------------------- */ -ntopo_improper_template.cpp:/* ---------------------------------------------------------------------- */ -output.cpp:/* ---------------------------------------------------------------------- -output.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -output.cpp: http://lammps.sandia.gov, Sandia National Laboratories -output.cpp:------------------------------------------------------------------------- */ -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp: // create default computes for temp,pressure,pe -output.cpp: // create default Thermo class -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp:/* ---------------------------------------------------------------------- */ -output.cpp:/* ---------------------------------------------------------------------- -output.cpp: perform output for setup of run/min -output.cpp: memflag = 0/1 for printing out memory usage -output.cpp:------------------------------------------------------------------------- */ -output.cpp: // perform dump at start of run only if: -output.cpp: // current timestep is multiple of every and last dump not >= this step -output.cpp: // this is first run after dump created and firstflag is set -output.cpp: // note that variable freq will not write unless triggered by firstflag -output.cpp: // set next_dump to multiple of every or variable value -output.cpp: // set next_dump_any to smallest next_dump -output.cpp: // wrap dumps that invoke computes and variable eval with clear/add -output.cpp: // if dump not written now, use addstep_compute_all() since don't know -output.cpp: // what computes the dump write would invoke -output.cpp: // if no dumps, set next_dump_any to last+1 so will not influence next -output.cpp: (ntimestep/every_dump[idump])*every_dump[idump] + every_dump[idump]; -output.cpp: // do not write restart files at start of run -output.cpp: // set next_restart values to multiple of every or variable value -output.cpp: // wrap variable eval with clear/add -output.cpp: // if no restarts, set next_restart to last+1 so will not influence next -output.cpp: (ntimestep/restart_every_single)*restart_every_single + -output.cpp: (ntimestep/restart_every_double)*restart_every_double + -output.cpp: // print memory usage unless being called between multiple runs -output.cpp: // set next_thermo to multiple of every or variable eval if var defined -output.cpp: // insure thermo output on last step of run -output.cpp: // thermo may invoke computes so wrap with clear/add -output.cpp: next_thermo = (ntimestep/thermo_every)*thermo_every + thermo_every; -output.cpp: // next = next timestep any output will be done -output.cpp:/* ---------------------------------------------------------------------- -output.cpp: do dump/restart before thermo so thermo CPU time will include them -output.cpp:------------------------------------------------------------------------- */ -output.cpp: // next_dump does not force output on last step of run -output.cpp: // wrap dumps that invoke computes or eval of variable with clear/add -output.cpp: // next_restart does not force output on last step of run -output.cpp: // for toggle = 0, replace "*" with current timestep in restart filename -output.cpp: // eval of variable may invoke computes so wrap with clear/add -output.cpp: // insure next_thermo forces output on last step of run -output.cpp: // thermo may invoke computes so wrap with clear/add -output.cpp: // next = next timestep any output will be done -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp: next_dump[idump] = (ntimestep/every_dump[idump])*every_dump[idump]; -output.cpp: // ivar_dump may not be initialized -output.cpp: (ntimestep/restart_every_single)*restart_every_single; -output.cpp: (ntimestep/restart_every_double)*restart_every_double; -output.cpp: next_thermo = (ntimestep/thermo_every)*thermo_every; -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp: // error checks -output.cpp: // extend Dump list if necessary -output.cpp: // initialize per-dump data to suitable default values -output.cpp: // create the Dump -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp: // find which dump it is -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp: // find which dump it is and delete it -output.cpp: // move other dumps down in list one slot -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp: // don't allow this so that dipole style can safely allocate inertia vector -output.cpp: // warn if previous thermo had been modified via thermo_modify command -output.cpp: // set thermo = NULL in case new Thermo throws an error -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp: // check for multiproc output and an MPI-IO filename -output.cpp: // if 2 filenames, must be consistent -output.cpp: // setup output style and process optional args -output.cpp:/* ---------------------------------------------------------------------- -output.cpp:------------------------------------------------------------------------- */ -output.cpp: double mbytes = bytes/1024.0/1024.0; -output.cpp: mbavg /= comm->nprocs; -output.cpp: fprintf(screen,"Per MPI rank memory allocation (min/avg/max) = " -output.cpp: fprintf(logfile,"Per MPI rank memory allocation (min/avg/max) = " -pair_beck.cpp:/* ---------------------------------------------------------------------- -pair_beck.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_beck.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_beck.cpp:------------------------------------------------------------------------- */ -pair_beck.cpp:/* ---------------------------------------------------------------------- -pair_beck.cpp:------------------------------------------------------------------------- */ -pair_beck.cpp:/* ---------------------------------------------------------------------- */ -pair_beck.cpp:/* ---------------------------------------------------------------------- */ -pair_beck.cpp:/* ---------------------------------------------------------------------- */ -pair_beck.cpp: // loop over neighbors of my atoms -pair_beck.cpp: rinv = 1.0/r; -pair_beck.cpp: term1inv = 1.0/term1; -pair_beck.cpp:/* ---------------------------------------------------------------------- -pair_beck.cpp:------------------------------------------------------------------------- */ -pair_beck.cpp:/* ---------------------------------------------------------------------- -pair_beck.cpp:------------------------------------------------------------------------- */ -pair_beck.cpp: // reset cutoffs that have been explicitly set -pair_beck.cpp:/* ---------------------------------------------------------------------- -pair_beck.cpp:------------------------------------------------------------------------- */ -pair_beck.cpp:/* ---------------------------------------------------------------------- -pair_beck.cpp:------------------------------------------------------------------------- */ -pair_beck.cpp:/* ---------------------------------------------------------------------- -pair_beck.cpp:------------------------------------------------------------------------- */ -pair_beck.cpp:/* ---------------------------------------------------------------------- -pair_beck.cpp:------------------------------------------------------------------------- */ -pair_beck.cpp:/* ---------------------------------------------------------------------- -pair_beck.cpp:------------------------------------------------------------------------- */ -pair_beck.cpp:/* ---------------------------------------------------------------------- -pair_beck.cpp:------------------------------------------------------------------------- */ -pair_beck.cpp:/* ---------------------------------------------------------------------- */ -pair_beck.cpp: rinv = 1.0/r; -pair_beck.cpp: term1inv = 1.0/term1; -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_born_coul_dsf.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp: // loop over neighbors of my atoms -pair_born_coul_dsf.cpp: // self coulombic energy -pair_born_coul_dsf.cpp: double e_self = -(e_shift/2.0 + alpha/MY_PIS) * qtmp*qtmp*qqrd2e; -pair_born_coul_dsf.cpp: r2inv = 1.0/rsq; -pair_born_coul_dsf.cpp: prefactor = qqrd2e*qtmp*q[j]/r; -pair_born_coul_dsf.cpp: forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS * erfcd + -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp: error->all(FLERR,"Pair style born/coul/dsf requires atom attribute q"); -pair_born_coul_dsf.cpp: f_shift = -(erfcc/cut_coulsq + 2.0/MY_PIS*alpha*erfcd/cut_coul); -pair_born_coul_dsf.cpp: e_shift = erfcc/cut_coul - f_shift*cut_coul; -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp: rhoinv[i][j] = 1.0/rho[i][j]; -pair_born_coul_dsf.cpp: born1[i][j] = a[i][j]/rho[i][j]; -pair_born_coul_dsf.cpp: offset[i][j] = a[i][j]*rexp - c[i][j]/pow(cut_lj[i][j],6.0) -pair_born_coul_dsf.cpp: + d[i][j]/pow(cut_lj[i][j],8.0); -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_dsf.cpp: r2inv = 1.0/rsq; -pair_born_coul_dsf.cpp: prefactor = factor_coul * force->qqrd2e * atom->q[i]*atom->q[j]/r; -pair_born_coul_dsf.cpp: forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS*erfcd + -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_born_coul_wolf.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp: // self and shifted coulombic energy -pair_born_coul_wolf.cpp: e_shift = erfc(alf*cut_coul)/cut_coul; -pair_born_coul_wolf.cpp: f_shift = -(e_shift+ 2.0*alf/MY_PIS * exp(-alf*alf*cut_coul*cut_coul)) / -pair_born_coul_wolf.cpp: // loop over neighbors of my atoms -pair_born_coul_wolf.cpp: e_self = -(e_shift/2.0 + alf/MY_PIS) * qisq*qqrd2e; -pair_born_coul_wolf.cpp: r2inv = 1.0/rsq; -pair_born_coul_wolf.cpp: prefactor = qqrd2e*qtmp*q[j]/r; -pair_born_coul_wolf.cpp: dvdrr = (erfcc/rsq + 2.0*alf/MY_PIS * erfcd/r) + f_shift; -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp: error->all(FLERR,"Pair style born/coul/wolf requires atom attribute q"); -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp: rhoinv[i][j] = 1.0/rho[i][j]; -pair_born_coul_wolf.cpp: born1[i][j] = a[i][j]/rho[i][j]; -pair_born_coul_wolf.cpp: offset[i][j] = a[i][j]*rexp - c[i][j]/pow(cut_lj[i][j],6.0) -pair_born_coul_wolf.cpp: + d[i][j]/pow(cut_lj[i][j],8.0); -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_born_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_born_coul_wolf.cpp: r2inv = 1.0/rsq; -pair_born_coul_wolf.cpp: e_shift = erfc(alf*cut_coul) / cut_coul; -pair_born_coul_wolf.cpp: f_shift = -(e_shift+2*alf/MY_PIS * exp(-alf*alf*cut_coul*cut_coul)) / -pair_born_coul_wolf.cpp: prefactor = force->qqrd2e * atom->q[i]*atom->q[j]/r; -pair_born_coul_wolf.cpp: dvdrr = (erfcc/rsq + 2.0*alf/MY_PIS * erfcd/r) + f_shift; -pair_born.cpp:/* ---------------------------------------------------------------------- -pair_born.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_born.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_born.cpp:------------------------------------------------------------------------- */ -pair_born.cpp:/* ---------------------------------------------------------------------- -pair_born.cpp:------------------------------------------------------------------------- */ -pair_born.cpp:/* ---------------------------------------------------------------------- */ -pair_born.cpp:/* ---------------------------------------------------------------------- */ -pair_born.cpp:/* ---------------------------------------------------------------------- */ -pair_born.cpp: // loop over neighbors of my atoms -pair_born.cpp: r2inv = 1.0/rsq; -pair_born.cpp:/* ---------------------------------------------------------------------- -pair_born.cpp:------------------------------------------------------------------------- */ -pair_born.cpp:/* ---------------------------------------------------------------------- -pair_born.cpp:------------------------------------------------------------------------- */ -pair_born.cpp: // reset cutoffs that have been explicitly set -pair_born.cpp:/* ---------------------------------------------------------------------- -pair_born.cpp:------------------------------------------------------------------------- */ -pair_born.cpp:/* ---------------------------------------------------------------------- -pair_born.cpp:------------------------------------------------------------------------- */ -pair_born.cpp: rhoinv[i][j] = 1.0/rho[i][j]; -pair_born.cpp: born1[i][j] = a[i][j]/rho[i][j]; -pair_born.cpp: offset[i][j] = a[i][j]*rexp - c[i][j]/pow(cut[i][j],6.0) + -pair_born.cpp: d[i][j]/pow(cut[i][j],8.0); -pair_born.cpp: // compute I,J contribution to long-range tail correction -pair_born.cpp: // count total # of atoms of type I and J via Allreduce -pair_born.cpp: (a[i][j]*exp((sigma[i][j]-rc)/rho1)*rho1* -pair_born.cpp: c[i][j]/(3.0*rc3) + d[i][j]/(5.0*rc5)); -pair_born.cpp: ptail_ij = (-1/3.0)*2.0*MY_PI*all[0]*all[1] * -pair_born.cpp: (-a[i][j]*exp((sigma[i][j]-rc)/rho1) * -pair_born.cpp: 2.0*c[i][j]/rc3 - 8.0*d[i][j]/(5.0*rc5)); -pair_born.cpp:/* ---------------------------------------------------------------------- -pair_born.cpp:------------------------------------------------------------------------- */ -pair_born.cpp:/* ---------------------------------------------------------------------- -pair_born.cpp:------------------------------------------------------------------------- */ -pair_born.cpp:/* ---------------------------------------------------------------------- -pair_born.cpp:------------------------------------------------------------------------- */ -pair_born.cpp:/* ---------------------------------------------------------------------- -pair_born.cpp:------------------------------------------------------------------------- */ -pair_born.cpp:/* ---------------------------------------------------------------------- -pair_born.cpp:------------------------------------------------------------------------- */ -pair_born.cpp:/* ---------------------------------------------------------------------- -pair_born.cpp:------------------------------------------------------------------------- */ -pair_born.cpp:/* ---------------------------------------------------------------------- */ -pair_born.cpp: r2inv = 1.0/rsq; -pair_born.cpp:/* ---------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_buck_coul_cut.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_buck_coul_cut.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp: // loop over neighbors of my atoms -pair_buck_coul_cut.cpp: r2inv = 1.0/rsq; -pair_buck_coul_cut.cpp: forcecoul = qqrd2e * qtmp*q[j]/r; -pair_buck_coul_cut.cpp: ecoul = factor_coul * qqrd2e * qtmp*q[j]/r; -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp: // reset cutoffs that have been explicitly set -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp: error->all(FLERR,"Pair style buck/coul/cut requires atom attribute q"); -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp: rhoinv[i][j] = 1.0/rho[i][j]; -pair_buck_coul_cut.cpp: buck1[i][j] = a[i][j]/rho[i][j]; -pair_buck_coul_cut.cpp: double rexp = exp(-cut_lj[i][j]/rho[i][j]); -pair_buck_coul_cut.cpp: offset[i][j] = a[i][j]*rexp - c[i][j]/pow(cut_lj[i][j],6.0); -pair_buck_coul_cut.cpp: // compute I,J contribution to long-range tail correction -pair_buck_coul_cut.cpp: // count total # of atoms of type I and J via Allreduce -pair_buck_coul_cut.cpp: (a[i][j]*exp(-rc/rho1)*rho1*(rc2 + 2.0*rho1*rc + 2.0*rho2) - -pair_buck_coul_cut.cpp: c[i][j]/(3.0*rc3)); -pair_buck_coul_cut.cpp: ptail_ij = (-1/3.0)*2.0*MY_PI*all[0]*all[1]* -pair_buck_coul_cut.cpp: (-a[i][j]*exp(-rc/rho1)* -pair_buck_coul_cut.cpp: (rc3 + 3.0*rho1*rc2 + 6.0*rho2*rc + 6.0*rho3) + 2.0*c[i][j]/rc3); -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_buck_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_buck_coul_cut.cpp: r2inv = 1.0/rsq; -pair_buck.cpp:/* ---------------------------------------------------------------------- -pair_buck.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_buck.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_buck.cpp:------------------------------------------------------------------------- */ -pair_buck.cpp:/* ---------------------------------------------------------------------- */ -pair_buck.cpp:/* ---------------------------------------------------------------------- */ -pair_buck.cpp:/* ---------------------------------------------------------------------- */ -pair_buck.cpp: // loop over neighbors of my atoms -pair_buck.cpp: r2inv = 1.0/rsq; -pair_buck.cpp:/* ---------------------------------------------------------------------- -pair_buck.cpp:------------------------------------------------------------------------- */ -pair_buck.cpp:/* ---------------------------------------------------------------------- -pair_buck.cpp:------------------------------------------------------------------------- */ -pair_buck.cpp: // reset cutoffs that have been explicitly set -pair_buck.cpp:/* ---------------------------------------------------------------------- -pair_buck.cpp:------------------------------------------------------------------------- */ -pair_buck.cpp:/* ---------------------------------------------------------------------- -pair_buck.cpp:------------------------------------------------------------------------- */ -pair_buck.cpp: rhoinv[i][j] = 1.0/rho[i][j]; -pair_buck.cpp: buck1[i][j] = a[i][j]/rho[i][j]; -pair_buck.cpp: double rexp = exp(-cut[i][j]/rho[i][j]); -pair_buck.cpp: offset[i][j] = a[i][j]*rexp - c[i][j]/pow(cut[i][j],6.0); -pair_buck.cpp: // compute I,J contribution to long-range tail correction -pair_buck.cpp: // count total # of atoms of type I and J via Allreduce -pair_buck.cpp: (a[i][j]*exp(-rc/rho1)*rho1*(rc2 + 2.0*rho1*rc + 2.0*rho2) - -pair_buck.cpp: c[i][j]/(3.0*rc3)); -pair_buck.cpp: ptail_ij = (-1/3.0)*2.0*MY_PI*all[0]*all[1]* -pair_buck.cpp: (-a[i][j]*exp(-rc/rho1)* -pair_buck.cpp: (rc3 + 3.0*rho1*rc2 + 6.0*rho2*rc + 6.0*rho3) + 2.0*c[i][j]/rc3); -pair_buck.cpp:/* ---------------------------------------------------------------------- -pair_buck.cpp:------------------------------------------------------------------------- */ -pair_buck.cpp:/* ---------------------------------------------------------------------- -pair_buck.cpp:------------------------------------------------------------------------- */ -pair_buck.cpp:/* ---------------------------------------------------------------------- -pair_buck.cpp:------------------------------------------------------------------------- */ -pair_buck.cpp:/* ---------------------------------------------------------------------- -pair_buck.cpp:------------------------------------------------------------------------- */ -pair_buck.cpp:/* ---------------------------------------------------------------------- -pair_buck.cpp:------------------------------------------------------------------------- */ -pair_buck.cpp:/* ---------------------------------------------------------------------- -pair_buck.cpp:------------------------------------------------------------------------- */ -pair_buck.cpp:/* ---------------------------------------------------------------------- */ -pair_buck.cpp: r2inv = 1.0/rsq; -pair_buck.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_coul_cut.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_coul_cut.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_cut.cpp: // loop over neighbors of my atoms -pair_coul_cut.cpp: r2inv = 1.0/rsq; -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_coul_cut.cpp: // reset cutoffs that have been explicitly set -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_coul_cut.cpp: error->all(FLERR,"Pair style coul/cut requires atom attribute q"); -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_cut.cpp: r2inv = 1.0/rsq; -pair_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_debye.cpp:/* ---------------------------------------------------------------------- -pair_coul_debye.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_coul_debye.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_coul_debye.cpp:------------------------------------------------------------------------- */ -pair_coul_debye.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_debye.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_debye.cpp: // loop over neighbors of my atoms -pair_coul_debye.cpp: r2inv = 1.0/rsq; -pair_coul_debye.cpp: rinv = 1.0/r; -pair_coul_debye.cpp:/* ---------------------------------------------------------------------- -pair_coul_debye.cpp:------------------------------------------------------------------------- */ -pair_coul_debye.cpp: // reset cutoffs that have been explicitly set -pair_coul_debye.cpp:/* ---------------------------------------------------------------------- -pair_coul_debye.cpp:------------------------------------------------------------------------- */ -pair_coul_debye.cpp:/* ---------------------------------------------------------------------- -pair_coul_debye.cpp:------------------------------------------------------------------------- */ -pair_coul_debye.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_debye.cpp: r2inv = 1.0/rsq; -pair_coul_debye.cpp: rinv = 1.0/r; -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_coul_dsf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_coul_dsf.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_dsf.cpp: // loop over neighbors of my atoms -pair_coul_dsf.cpp: double e_self = -(e_shift/2.0 + alpha/MY_PIS) * qtmp*qtmp*qqrd2e; -pair_coul_dsf.cpp: r2inv = 1.0/rsq; -pair_coul_dsf.cpp: prefactor = qqrd2e*qtmp*q[j]/r; -pair_coul_dsf.cpp: t = 1.0 / (1.0 + EWALD_P*alpha*r); -pair_coul_dsf.cpp: forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS * erfcd + -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_coul_dsf.cpp: error->all(FLERR,"Pair style coul/dsf requires atom attribute q"); -pair_coul_dsf.cpp: f_shift = -(erfcc/cut_coulsq + 2.0/MY_PIS*alpha*erfcd/cut_coul); -pair_coul_dsf.cpp: e_shift = erfcc/cut_coul - f_shift*cut_coul; -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_dsf.cpp: r2inv = 1.0/rsq; -pair_coul_dsf.cpp: prefactor = factor_coul * force->qqrd2e * atom->q[i]*atom->q[j]/r; -pair_coul_dsf.cpp: t = 1.0 / (1.0 + EWALD_P*alpha*r); -pair_coul_dsf.cpp: forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS*erfcd + -pair_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- -pair_coul_streitz.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_coul_streitz.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_coul_streitz.cpp:------------------------------------------------------------------------- */ -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- -pair_coul_streitz.cpp:------------------------------------------------------------------------- */ -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- -pair_coul_streitz.cpp:------------------------------------------------------------------------- */ -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- -pair_coul_streitz.cpp:------------------------------------------------------------------------- */ -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- -pair_coul_streitz.cpp:------------------------------------------------------------------------- */ -pair_coul_streitz.cpp: // insure I,J args are * * -pair_coul_streitz.cpp: // read args that map atom types to elements in potential file -pair_coul_streitz.cpp: // map[i] = which element the Ith atom type is, -1 if NULL -pair_coul_streitz.cpp: // nelements = # of unique elements -pair_coul_streitz.cpp: // elements = list of element names -pair_coul_streitz.cpp: // read potential file and initialize potential parameters -pair_coul_streitz.cpp: // clear setflag since coeff() called once with I,J = * * -pair_coul_streitz.cpp: // set setflag i,j for type pairs where both are mapped to elements -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- -pair_coul_streitz.cpp:------------------------------------------------------------------------- */ -pair_coul_streitz.cpp: error->all(FLERR,"Pair style coul/streitz requires atom attribute q"); -pair_coul_streitz.cpp: // insure use of KSpace long-range solver when ewald specified, set g_ewald -pair_coul_streitz.cpp: // ptr to QEQ fix -pair_coul_streitz.cpp: //for (i = 0; i < modify->nfix; i++) -pair_coul_streitz.cpp: // if (strcmp(modify->fix[i]->style,"qeq") == 0) break; -pair_coul_streitz.cpp: //if (i < modify->nfix) fixqeq = (FixQEQ *) modify->fix[i]; -pair_coul_streitz.cpp: //else fixqeq = NULL; -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- -pair_coul_streitz.cpp:------------------------------------------------------------------------- */ -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_streitz.cpp: // open file on proc 0 -pair_coul_streitz.cpp: sprintf(str,"Cannot open coul/streitz potential file %s",file); -pair_coul_streitz.cpp: // read each line out of file, skipping blank lines or leading '#' -pair_coul_streitz.cpp: // store line of params if all 3 element tags are in element list -pair_coul_streitz.cpp: // strip comment, skip line if blank -pair_coul_streitz.cpp: // concatenate additional lines until have params_per_line words -pair_coul_streitz.cpp: error->all(FLERR,"Incorrect format in coul/streitz potential file"); -pair_coul_streitz.cpp: // words = ptrs to all words in line -pair_coul_streitz.cpp: // ielement = 1st args -pair_coul_streitz.cpp: // load up parameter settings and error check their values -pair_coul_streitz.cpp: // parameter sanity check -pair_coul_streitz.cpp: error->all(FLERR,"Illegal coul/streitz parameter"); -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_streitz.cpp: // set elem2param -pair_coul_streitz.cpp: // Wolf sum self energy -pair_coul_streitz.cpp: woself = 0.50*erfc(ar)/r + a/MY_PIS; // kc constant not yet multiplied -pair_coul_streitz.cpp: dwoself = -(erfc(ar)/r/r + 2.0*a/MY_PIS*exp(-ar*ar)/r); -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_streitz.cpp: // Wolf sum -pair_coul_streitz.cpp: // self energy: ionization + wolf sum -pair_coul_streitz.cpp: // two-body interaction -pair_coul_streitz.cpp: // Streitz-Mintmire Coulomb integrals -pair_coul_streitz.cpp: // Wolf Sum -pair_coul_streitz.cpp: // Forces -pair_coul_streitz.cpp: fpair = -forcecoul / r; -pair_coul_streitz.cpp: // Ewald Sum -pair_coul_streitz.cpp: // self ionizition energy, only on i atom -pair_coul_streitz.cpp: // two-body interaction -pair_coul_streitz.cpp: // Streitz-Mintmire Coulomb integrals -pair_coul_streitz.cpp: // Ewald: real-space -pair_coul_streitz.cpp: // Forces -pair_coul_streitz.cpp: fpair = -forcecoul / r; -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_streitz.cpp: double rinv = 1.0/r; -pair_coul_streitz.cpp: double sm1 = 11.0/8.0; -pair_coul_streitz.cpp: double sm2 = 3.00/4.0; -pair_coul_streitz.cpp: double sm3 = 1.00/6.0; -pair_coul_streitz.cpp: double rcinv = 1.0/rc; -pair_coul_streitz.cpp: (2.0 + 7.0/6.0*zei*rc + 1.0/3.0*zei2*rc*rc)); -pair_coul_streitz.cpp: (2.0 + 7.0/6.0*zei*r + 1.0/3.0*zei2*r*r)) - fshift; -pair_coul_streitz.cpp: e1 = zei*zej4/((zei+zej)*(zei+zej)*(zei-zej)*(zei-zej)); -pair_coul_streitz.cpp: e2 = zej*zei4/((zei+zej)*(zei+zej)*(zej-zei)*(zej-zei)); -pair_coul_streitz.cpp: e3 = (3.0*zei2*zej4-zej6) / -pair_coul_streitz.cpp: e4 = (3.0*zej2*zei4-zei6) / -pair_coul_streitz.cpp: eshift = -exp2zirsh*(e1+e3/rc) - exp2zjrsh*(e2+e4/rc); -pair_coul_streitz.cpp: fshift = (exp2zirsh*(2.0*zei*(e1+e3/rc) + e3*rcinv2) -pair_coul_streitz.cpp: + exp2zjrsh*(2.0*zej*(e2+e4/rc) + e4*rcinv2)); -pair_coul_streitz.cpp: ci_fifj = -exp2zir*(e1+e3/r) - exp2zjr*(e2+e4/r) -pair_coul_streitz.cpp: dci_fifj = (exp2zir*(2.0*zei*(e1+e3/r) + e3*rinv2) + -pair_coul_streitz.cpp: exp2zjr*(2.0*zej*(e2+e4/r) + e4*rinv2)) - fshift; -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_streitz.cpp: etmp1 = erfcr/r - erfcrc/rc; -pair_coul_streitz.cpp: ftmp1 = -erfcr/r/r - 2.0*a/MY_PIS*derfcr/r - dwoself; -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_streitz.cpp: double rinv = 1.0/r; -pair_coul_streitz.cpp: double sm1 = 11.0/8.0; -pair_coul_streitz.cpp: double sm2 = 3.00/4.0; -pair_coul_streitz.cpp: double sm3 = 1.00/6.0; -pair_coul_streitz.cpp: zei2*(2.0 + 7.0/6.0*zei*r + 1.0/3.0*zei2*r*r)); -pair_coul_streitz.cpp: e1 = zei*zej4/((zei+zej)*(zei+zej)*(zei-zej)*(zei-zej)); -pair_coul_streitz.cpp: e2 = zej*zei4/((zei+zej)*(zei+zej)*(zej-zei)*(zej-zei)); -pair_coul_streitz.cpp: e3 = (3.0*zei2*zej4-zej6) / -pair_coul_streitz.cpp: e4 = (3.0*zej2*zei4-zei6) / -pair_coul_streitz.cpp: ci_fifj = -exp2zir*(e1+e3/r) - exp2zjr*(e2+e4/r); -pair_coul_streitz.cpp: dci_fifj = (exp2zir*(2.0*zei*(e1+e3/r) + e3*rinv2) -pair_coul_streitz.cpp: + exp2zjr*(2.0*zej*(e2+e4/r) + e4*rinv2)); -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_streitz.cpp: etmp4 = qqrd2e * 0.50*qi*qj/r; -pair_coul_streitz.cpp: ftmp4 = etmp4 * (erfcr + 2.0/MY_PIS*a*r*derfcr); -pair_coul_streitz.cpp: ftmp = ftmp3 - ftmp4/r; -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- -pair_coul_streitz.cpp:------------------------------------------------------------------------- */ -pair_coul_streitz.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_coul_wolf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_coul_wolf.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_wolf.cpp: single_enable = 0; // NOTE: single() method below is not yet correct -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- */ -pair_coul_wolf.cpp: // self and shifted coulombic energy -pair_coul_wolf.cpp: e_shift = erfc(alf*cut_coul)/cut_coul; -pair_coul_wolf.cpp: f_shift = -(e_shift+ 2.0*alf/MY_PIS * exp(-alf*alf*cut_coul*cut_coul)) / -pair_coul_wolf.cpp: // loop over neighbors of my atoms -pair_coul_wolf.cpp: e_self = -(e_shift/2.0 + alf/MY_PIS) * qisq*qqrd2e; -pair_coul_wolf.cpp: prefactor = qqrd2e*qtmp*q[j]/r; -pair_coul_wolf.cpp: dvdrr = (erfcc/rsq + 2.0*alf/MY_PIS * erfcd/r) + f_shift; -pair_coul_wolf.cpp: fpair = forcecoul / rsq; -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_coul_wolf.cpp: error->all(FLERR,"Pair coul/wolf requires atom attribute q"); -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_coul_wolf.cpp:/* ---------------------------------------------------------------------- -pair_coul_wolf.cpp:------------------------------------------------------------------------- */ -pair_coul_wolf.cpp: e_shift = erfc(alf*cut_coul) / cut_coul; -pair_coul_wolf.cpp: f_shift = -(e_shift+ 2.0*alf/MY_PIS * exp(-alf*alf*cut_coul*cut_coul)) / -pair_coul_wolf.cpp: prefactor = force->qqrd2e * atom->q[i]*atom->q[j]/r; -pair_coul_wolf.cpp: dvdrr = (erfcc/rsq + 2.0*alf/MY_PIS * erfcd/r) + f_shift; -pair_coul_wolf.cpp: fforce = forcecoul / rsq; -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:// allocate space for static class instance variable and initialize it -pair.cpp:/* ---------------------------------------------------------------------- */ -pair.cpp: // pair_modify settingsx -pair.cpp: // KOKKOS per-fix data masks -pair.cpp:/* ---------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp: } else if (strcmp(arg[iarg],"table/disp") == 0) { -pair.cpp: } else if (strcmp(arg[iarg],"tabinner/disp") == 0) { -pair.cpp:/* ---------------------------------------------------------------------- */ -pair.cpp: // for manybody potentials -pair.cpp: // check if bonded exclusions could invalidate the neighbor list -pair.cpp: "bonds/angles/dihedrals and special_bond exclusions"); -pair.cpp: // I,I coeffs must be set -pair.cpp: // init_one() will check if I,J is set explicitly or inferred by mixing -pair.cpp: // style-specific initialization -pair.cpp: // call init_one() for each I,J -pair.cpp: // set cutsq for each I,J, used to neighbor -pair.cpp: // cutforce = max of all I,J cutoffs -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp: // generalize this error message if reinit() is used by more than fix adapt -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp: // linear lookup tables of length N = 2^ncoultablebits -pair.cpp: // stored value = value at lower edge of bin -pair.cpp: // d values = delta from lower edge to upper edge of bin -pair.cpp: egamma = 1.0 - (r/cut_coul)*force->kspace->gamma(r/cut_coul); -pair.cpp: fgamma = 1.0 + (rsq_lookup.f/cut_coulsq)* -pair.cpp: force->kspace->dgamma(r/cut_coul); -pair.cpp: ctable[i] = qqrd2e/r; -pair.cpp: ftable[i] = qqrd2e/r * fgamma; -pair.cpp: etable[i] = qqrd2e/r * egamma; -pair.cpp: ftable[i] = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2); -pair.cpp: etable[i] = qqrd2e/r * derfc; -pair.cpp: ptable[i] = qqrd2e/r; -pair.cpp: ftable[i] = qqrd2e/r * (fgamma - 1.0); -pair.cpp: etable[i] = qqrd2e/r * egamma; -pair.cpp: vtable[i] = qqrd2e/r * fgamma; -pair.cpp: ftable[i] = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2 - 1.0); -pair.cpp: etable[i] = qqrd2e/r * derfc; -pair.cpp: vtable[i] = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2); -pair.cpp: rsw = (r - cut_respa[2])/(cut_respa[3] - cut_respa[2]); -pair.cpp: ftable[i] += qqrd2e/r * rsw*rsw*(3.0 - 2.0*rsw); -pair.cpp: ctable[i] = qqrd2e/r * rsw*rsw*(3.0 - 2.0*rsw); -pair.cpp: if (msmflag) ftable[i] = qqrd2e/r * fgamma; -pair.cpp: else ftable[i] = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2); -pair.cpp: ctable[i] = qqrd2e/r; -pair.cpp: drtable[i] = 1.0/(rtable[i+1] - rtable[i]); -pair.cpp: // get the delta values for the last table entries -pair.cpp: // tables are connected periodically between 0 and ntablem1 -pair.cpp: drtable[ntablem1] = 1.0/(rtable[0] - rtable[ntablem1]); -pair.cpp: // get the correct delta values at itablemax -pair.cpp: // smallest r is in bin itablemin -pair.cpp: // largest r is in bin itablemax, which is itablemin-1, -pair.cpp: // or ntablem1 if itablemin=0 -pair.cpp: // deltas at itablemax only needed if corresponding rsq < cut*cut -pair.cpp: // if so, compute deltas between rsq and cut*cut -pair.cpp: egamma = 1.0 - (r/cut_coul)*force->kspace->gamma(r/cut_coul); -pair.cpp: fgamma = 1.0 + (rsq_lookup.f/cut_coulsq)* -pair.cpp: force->kspace->dgamma(r/cut_coul); -pair.cpp: c_tmp = qqrd2e/r; -pair.cpp: f_tmp = qqrd2e/r * fgamma; -pair.cpp: e_tmp = qqrd2e/r * egamma; -pair.cpp: f_tmp = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2); -pair.cpp: e_tmp = qqrd2e/r * derfc; -pair.cpp: p_tmp = qqrd2e/r; -pair.cpp: f_tmp = qqrd2e/r * (fgamma - 1.0); -pair.cpp: e_tmp = qqrd2e/r * egamma; -pair.cpp: v_tmp = qqrd2e/r * fgamma; -pair.cpp: f_tmp = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2 - 1.0); -pair.cpp: e_tmp = qqrd2e/r * derfc; -pair.cpp: v_tmp = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2); -pair.cpp: rsw = (r - cut_respa[2])/(cut_respa[3] - cut_respa[2]); -pair.cpp: f_tmp += qqrd2e/r * rsw*rsw*(3.0 - 2.0*rsw); -pair.cpp: c_tmp = qqrd2e/r * rsw*rsw*(3.0 - 2.0*rsw); -pair.cpp: if (msmflag) f_tmp = qqrd2e/r * fgamma; -pair.cpp: else f_tmp = qqrd2e/r * (derfc + MY_ISPI4*grij*expm2); -pair.cpp: c_tmp = qqrd2e/r; -pair.cpp: drtable[itablemax] = 1.0/(rsq_lookup.f - rtable[itablemax]); -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp: ------------------------------------------------------------------------- */ -pair.cpp: // linear lookup tables of length N = 2^ndisptablebits -pair.cpp: // stored value = value at lower edge of bin -pair.cpp: // d values = delta from lower edge to upper edge of bin -pair.cpp: register double x2 = g2*rsq, a2 = 1.0/x2; -pair.cpp: drdisptable[i] = 1.0/(rdisptable[i+1] - rdisptable[i]); -pair.cpp: // get the delta values for the last table entries -pair.cpp: // tables are connected periodically between 0 and ntablem1 -pair.cpp: drdisptable[ntablem1] = 1.0/(rdisptable[0] - rdisptable[ntablem1]); -pair.cpp: // get the correct delta values at itablemax -pair.cpp: // smallest r is in bin itablemin -pair.cpp: // largest r is in bin itablemax, which is itablemin-1, -pair.cpp: // or ntablem1 if itablemin=0 -pair.cpp: // deltas at itablemax only needed if corresponding rsq < cut*cut -pair.cpp: // if so, compute deltas between rsq and cut*cut -pair.cpp: register double x2 = g2*rsq, a2 = 1.0/x2; -pair.cpp: drdisptable[itablemax] = 1.0/(rsq_lookup.f - rdisptable[itablemax]); -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp: ------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp: pow(sig1,3.0) * pow(sig2,3.0) / (pow(sig1,6.0) + pow(sig2,6.0))); -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp: return pow((0.5 * (pow(sig1,6.0) + pow(sig2,6.0))),1.0/6.0); -pair.cpp:/* ---------------------------------------------------------------------- */ -pair.cpp:/* ------------------------------------------------------------------- -pair.cpp:---------------------------------------------------------------------- */ -pair.cpp:/* ------------------------------------------------------------------- -pair.cpp:---------------------------------------------------------------------- */ -pair.cpp: // compact the list of active computes -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp: eflag_atom = eflag / 2; -pair.cpp: vflag_atom = vflag / 4; -pair.cpp: // reallocate per-atom arrays if necessary -pair.cpp: // zero accumulators -pair.cpp: // use force->newton instead of newton_pair -pair.cpp: // b/c some bonds/dihedrals call pair::ev_tally with pairwise info -pair.cpp: // if vflag_global = 2 and pair::compute() calls virial_fdotr_compute() -pair.cpp: // compute global virial via (F dot r) instead of via pairwise summation -pair.cpp: // unset other flags as appropriate -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp: ------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp: ------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp: ------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp: called by REAX/C potential, newton_pair is always on -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp: // sum over force on all particles including ghosts -pair.cpp: // neighbor includegroup flag is set -pair.cpp: // sum over force on initial nfirst particles and ghosts -pair.cpp: // prevent multiple calls to update the virial -pair.cpp: // when a hybrid pair style uses both a gpu and non-gpu pair style -pair.cpp: // or when respa is used with gpu pair styles -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp: write a table of pair potential energy/force vs distance to a file -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp: // parse arguments -pair.cpp: // open file in append mode -pair.cpp: // print header in format used by pair_style table -pair.cpp: // initialize potentials before evaluating pair potential -pair.cpp: // insures all pair coeffs are set and force constants -pair.cpp: // also initialize neighbor so that neighbor requests are processed -pair.cpp: // NOTE: might be safest to just do lmp->init() -pair.cpp: // if pair style = any of EAM, swap in dummy fp vector -pair.cpp: // if atom style defines charge, swap in dummy q vec -pair.cpp: // evaluate energy and force at each of N distances -pair.cpp: r = inner + (outer-inner) * i/(n-1); -pair.cpp: rsq = inner*inner + (outer*outer - inner*inner) * i/(n-1); -pair.cpp: // restore original vecs that were swapped in for -pair.cpp:/* ---------------------------------------------------------------------- -pair.cpp:------------------------------------------------------------------------- */ -pair.cpp: error->all(FLERR,"Bitmapped lookup tables require int/float be same size"); -pair.cpp: double required_range = outer*outer / pow(double(2),(double)nlowermin); -pair.cpp:/* ---------------------------------------------------------------------- */ -pair_dpd.cpp:/* ---------------------------------------------------------------------- -pair_dpd.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_dpd.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_dpd.cpp:------------------------------------------------------------------------- */ -pair_dpd.cpp:/* ---------------------------------------------------------------------- -pair_dpd.cpp:------------------------------------------------------------------------- */ -pair_dpd.cpp:/* ---------------------------------------------------------------------- */ -pair_dpd.cpp:/* ---------------------------------------------------------------------- */ -pair_dpd.cpp:/* ---------------------------------------------------------------------- */ -pair_dpd.cpp: double dtinvsqrt = 1.0/sqrt(update->dt); -pair_dpd.cpp: // loop over neighbors of my atoms -pair_dpd.cpp: if (r < EPSILON) continue; // r can be 0.0 in DPD systems -pair_dpd.cpp: rinv = 1.0/r; -pair_dpd.cpp: wd = 1.0 - r/cut[itype][jtype]; -pair_dpd.cpp: // conservative force = a0 * wd -pair_dpd.cpp: // drag force = -gamma * wd^2 * (delx dot delv) / r -pair_dpd.cpp: // random force = sigma * wd * rnd * dtinvsqrt; -pair_dpd.cpp: // unshifted eng of conservative term: -pair_dpd.cpp: // evdwl = -a0[itype][jtype]*r * (1.0-0.5*r/cut[itype][jtype]); -pair_dpd.cpp: // eng shifted to 0.0 at cutoff -pair_dpd.cpp:/* ---------------------------------------------------------------------- -pair_dpd.cpp:------------------------------------------------------------------------- */ -pair_dpd.cpp:/* ---------------------------------------------------------------------- -pair_dpd.cpp:------------------------------------------------------------------------- */ -pair_dpd.cpp: // initialize Marsaglia RNG with processor-unique seed -pair_dpd.cpp: // reset cutoffs that have been explicitly set -pair_dpd.cpp:/* ---------------------------------------------------------------------- -pair_dpd.cpp:------------------------------------------------------------------------- */ -pair_dpd.cpp:/* ---------------------------------------------------------------------- -pair_dpd.cpp:------------------------------------------------------------------------- */ -pair_dpd.cpp: // if newton off, forces between atoms ij will be double computed -pair_dpd.cpp: // using different random numbers -pair_dpd.cpp:/* ---------------------------------------------------------------------- -pair_dpd.cpp:------------------------------------------------------------------------- */ -pair_dpd.cpp:/* ---------------------------------------------------------------------- -pair_dpd.cpp:------------------------------------------------------------------------- */ -pair_dpd.cpp:/* ---------------------------------------------------------------------- -pair_dpd.cpp:------------------------------------------------------------------------- */ -pair_dpd.cpp:/* ---------------------------------------------------------------------- -pair_dpd.cpp:------------------------------------------------------------------------- */ -pair_dpd.cpp:/* ---------------------------------------------------------------------- -pair_dpd.cpp:------------------------------------------------------------------------- */ -pair_dpd.cpp: // initialize Marsaglia RNG with processor-unique seed -pair_dpd.cpp: // same seed that pair_style command initially specified -pair_dpd.cpp:/* ---------------------------------------------------------------------- -pair_dpd.cpp:------------------------------------------------------------------------- */ -pair_dpd.cpp:/* ---------------------------------------------------------------------- -pair_dpd.cpp:------------------------------------------------------------------------- */ -pair_dpd.cpp:/* ---------------------------------------------------------------------- */ -pair_dpd.cpp: rinv = 1.0/r; -pair_dpd.cpp: wd = 1.0 - r/cut[itype][jtype]; -pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- -pair_dpd_tstat.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_dpd_tstat.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ -pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- */ -pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- */ -pair_dpd_tstat.cpp: // adjust sigma if target T is changing -pair_dpd_tstat.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -pair_dpd_tstat.cpp: double dtinvsqrt = 1.0/sqrt(update->dt); -pair_dpd_tstat.cpp: // loop over neighbors of my atoms -pair_dpd_tstat.cpp: if (r < EPSILON) continue; // r can be 0.0 in DPD systems -pair_dpd_tstat.cpp: rinv = 1.0/r; -pair_dpd_tstat.cpp: wd = 1.0 - r/cut[itype][jtype]; -pair_dpd_tstat.cpp: // drag force = -gamma * wd^2 * (delx dot delv) / r -pair_dpd_tstat.cpp: // random force = sigma * wd * rnd * dtinvsqrt; -pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- -pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ -pair_dpd_tstat.cpp: // initialize Marsaglia RNG with processor-unique seed -pair_dpd_tstat.cpp: // reset cutoffs that have been explicitly set -pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- -pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ -pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- -pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ -pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- -pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ -pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- -pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ -pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- -pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ -pair_dpd_tstat.cpp: // initialize Marsaglia RNG with processor-unique seed -pair_dpd_tstat.cpp: // same seed that pair_style command initially specified -pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- -pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ -pair_dpd_tstat.cpp:/* ---------------------------------------------------------------------- -pair_dpd_tstat.cpp:------------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- -pair_gauss.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_gauss.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_gauss.cpp:------------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- -pair_gauss.cpp:------------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- */ -pair_gauss.cpp: // loop over neighbors of my atoms -pair_gauss.cpp: // define a Gaussian well to be occupied if -pair_gauss.cpp: // the site it interacts with is within the force maximum -pair_gauss.cpp: if (eflag_global && rsq < 0.5/b[itype][jtype]) occ++; -pair_gauss.cpp:/* ---------------------------------------------------------------------- -pair_gauss.cpp:------------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- -pair_gauss.cpp:------------------------------------------------------------------------- */ -pair_gauss.cpp: // reset cutoffs that have been explicitly set -pair_gauss.cpp:/* ---------------------------------------------------------------------- -pair_gauss.cpp:------------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- -pair_gauss.cpp:------------------------------------------------------------------------- */ -pair_gauss.cpp: double si = sqrt(0.5/fabs(b[i][i])); -pair_gauss.cpp: double sj = sqrt(0.5/fabs(b[j][j])); -pair_gauss.cpp: b[i][j] = 0.5 / (sij*sij); -pair_gauss.cpp: // Negative "a" values are useful for simulating repulsive particles. -pair_gauss.cpp: // If either of the particles is repulsive (a<0), then the -pair_gauss.cpp: // interaction between both is repulsive. -pair_gauss.cpp: // cutoff correction to energy -pair_gauss.cpp:/* ---------------------------------------------------------------------- -pair_gauss.cpp:------------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- -pair_gauss.cpp:------------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- -pair_gauss.cpp:------------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- -pair_gauss.cpp:------------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- -pair_gauss.cpp:------------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- -pair_gauss.cpp:------------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- */ -pair_gauss.cpp:/* ---------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_hybrid.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp: accumulate sub-style global/peratom energy/virial in hybrid -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp: // if no_virial_fdotr_compute is set and global component of -pair_hybrid.cpp: // incoming vflag = 2, then -pair_hybrid.cpp: // reset vflag as if global component were 1 -pair_hybrid.cpp: // necessary since one or more sub-styles cannot compute virial as F dot r -pair_hybrid.cpp: if (no_virial_fdotr_compute && vflag % 4 == 2) vflag = 1 + vflag/4 * 4; -pair_hybrid.cpp: // check if global component of incoming vflag = 2 -pair_hybrid.cpp: // if so, reset vflag passed to substyle as if it were 0 -pair_hybrid.cpp: // necessary so substyle will not invoke virial_fdotr_compute() -pair_hybrid.cpp: if (vflag % 4 == 2) vflag_substyle = vflag/4 * 4; -pair_hybrid.cpp: // check if we are running with r-RESPA using the hybrid keyword -pair_hybrid.cpp: // invoke compute() unless compute flag is turned off or -pair_hybrid.cpp: // outerflag is set and sub-style has a compute_outer() method -pair_hybrid.cpp: // jump to next sub-style if r-RESPA does not want global accumulated data -pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp: // delete old lists, since cannot just change settings -pair_hybrid.cpp: // allocate list of sub-styles as big as possibly needed if no extra args -pair_hybrid.cpp: // allocate each sub-style -pair_hybrid.cpp: // allocate uses suffix, but don't store suffix version in keywords, -pair_hybrid.cpp: // else syntax in coeff() will not match -pair_hybrid.cpp: // call settings() with set of args that are not pair style names -pair_hybrid.cpp: // use force->pair_map to determine which args these are -pair_hybrid.cpp: // multiple[i] = 1 to M if sub-style used multiple times, else 0 -pair_hybrid.cpp: // set pair flags from sub-style flags -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp: // set comm_forward, comm_reverse, comm_reverse_off to max of any sub-style -pair_hybrid.cpp: // single_enable = 1 if any sub-style is set -pair_hybrid.cpp: // respa_enable = 1 if any sub-style is set -pair_hybrid.cpp: // manybody_flag = 1 if any sub-style is set -pair_hybrid.cpp: // no_virial_fdotr_compute = 1 if any sub-style is set -pair_hybrid.cpp: // ghostneigh = 1 if any sub-style is set -pair_hybrid.cpp: // ewaldflag, pppmflag, msmflag, dipoleflag, dispersionflag, tip4pflag = 1 -pair_hybrid.cpp: // if any sub-style is set -pair_hybrid.cpp: // compute_flag = 1 if any sub-style is set -pair_hybrid.cpp: // single_extra = min of all sub-style single_extra -pair_hybrid.cpp: // allocate svector -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp: // 3rd arg = pair sub-style name -pair_hybrid.cpp: // 4th arg = pair sub-style index if name used multiple times -pair_hybrid.cpp: // allow for "none" as valid sub-style name -pair_hybrid.cpp: // move 1st/2nd args to 2nd/3rd args -pair_hybrid.cpp: // if multflag: move 1st/2nd args to 3rd/4th args -pair_hybrid.cpp: // just copy ptrs, since arg[] points into original input line -pair_hybrid.cpp: // invoke sub-style coeff() starting with 1st remaining arg -pair_hybrid.cpp: // if sub-style only allows one pair coeff call (with * * and type mapping) -pair_hybrid.cpp: // then unset setflag/map assigned to that style before setting it below -pair_hybrid.cpp: // in case pair coeff for this sub-style is being called for 2nd time -pair_hybrid.cpp: // set setflag and which type pairs map to which sub-style -pair_hybrid.cpp: // if sub-style is none: set hybrid setflag, wipe out map -pair_hybrid.cpp: // else: set hybrid setflag & map only if substyle setflag is set -pair_hybrid.cpp: // previous mappings are wiped out -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp: // error if a sub-style is not used -pair_hybrid.cpp: // check if special_lj/special_coul overrides are compatible -pair_hybrid.cpp: // each sub-style makes its neighbor list request(s) -pair_hybrid.cpp: // create skip lists inside each pair neigh request -pair_hybrid.cpp: // any kind of list can have its skip flag set in this loop -pair_hybrid.cpp: // istyle = associated sub-style for the request -pair_hybrid.cpp: // allocate iskip and ijskip -pair_hybrid.cpp: // initialize so as to skip all pair types -pair_hybrid.cpp: // set ijskip = 0 if type pair matches any entry in sub-style map -pair_hybrid.cpp: // set ijskip = 0 if mixing will assign type pair to this sub-style -pair_hybrid.cpp: // will occur if type pair is currently unassigned -pair_hybrid.cpp: // and both I,I and J,J are assigned to single sub-style -pair_hybrid.cpp: // and sub-style for both I,I and J,J match istyle -pair_hybrid.cpp: // set iskip = 1 only if all ijskip for itype are 1 -pair_hybrid.cpp: // if any skipping occurs -pair_hybrid.cpp: // set request->skip and copy iskip and ijskip into request -pair_hybrid.cpp: // else delete iskip and ijskip -pair_hybrid.cpp: // no skipping if pair style assigned to all type pairs -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp: // if I,J is not set explicitly: -pair_hybrid.cpp: // perform mixing only if I,I sub-style = J,J sub-style -pair_hybrid.cpp: // also require I,I and J,J are both assigned to single sub-style -pair_hybrid.cpp: // call init/mixing for all sub-styles of I,J -pair_hybrid.cpp: // set cutsq in sub-style just as Pair::init() does via call to init_one() -pair_hybrid.cpp: // set cutghost for I,J and J,I just as sub-style does -pair_hybrid.cpp: // sum tail corrections for I,J -pair_hybrid.cpp: // return max cutoff of all sub-styles assigned to I,J -pair_hybrid.cpp: // if no sub-styles assigned to I,J (pair_coeff none), cutmax = 0.0 returned -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp: // each sub-style writes its settings, but no coeff info -pair_hybrid.cpp: // write out per style special settings, if present -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp: // allocate list of sub-styles -pair_hybrid.cpp: // each sub-style is created via new_pair() -pair_hybrid.cpp: // each reads its settings, but no coeff info -pair_hybrid.cpp: // read back per style special settings, if present -pair_hybrid.cpp: // multiple[i] = 1 to M if sub-style used multiple times, else 0 -pair_hybrid.cpp: // set pair flags from sub-style flags -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp: // copy substyle extra values into hybrid's svector -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp: // if 1st keyword is pair, apply other keywords to one sub-style -pair_hybrid.cpp: // if 2nd keyword (after pair) is special: -pair_hybrid.cpp: // invoke modify_special() for the sub-style -pair_hybrid.cpp: // if 2nd keyword (after pair) is compute/tally: -pair_hybrid.cpp: // set flag to register USER-TALLY computes accordingly -pair_hybrid.cpp: if (iarg < narg && strcmp(arg[iarg],"compute/tally") == 0) { -pair_hybrid.cpp: error->all(FLERR,"Illegal pair_modify compute/tally command"); -pair_hybrid.cpp: } else error->all(FLERR,"Illegal pair_modify compute/tally command"); -pair_hybrid.cpp: // apply the remaining keywords to the base pair style itself and the -pair_hybrid.cpp: // sub-style except for "pair" and "special". -pair_hybrid.cpp: // the former is important for some keywords like "tail" or "compute" -pair_hybrid.cpp: // apply all keywords to pair hybrid itself and every sub-style -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp: if (strcmp(arg[0],"lj/coul") == 0) { -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid.cpp:/* ---------------------------------------------------------------------- -pair_hybrid.cpp:------------------------------------------------------------------------- */ -pair_hybrid_overlay.cpp:/* ---------------------------------------------------------------------- -pair_hybrid_overlay.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_hybrid_overlay.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_hybrid_overlay.cpp:------------------------------------------------------------------------- */ -pair_hybrid_overlay.cpp:/* ---------------------------------------------------------------------- */ -pair_hybrid_overlay.cpp:/* ---------------------------------------------------------------------- -pair_hybrid_overlay.cpp:------------------------------------------------------------------------- */ -pair_hybrid_overlay.cpp: // 3rd arg = pair sub-style name -pair_hybrid_overlay.cpp: // 4th arg = pair sub-style index if name used multiple times -pair_hybrid_overlay.cpp: // allow for "none" as valid sub-style name -pair_hybrid_overlay.cpp: // move 1st/2nd args to 2nd/3rd args -pair_hybrid_overlay.cpp: // if multflag: move 1st/2nd args to 3rd/4th args -pair_hybrid_overlay.cpp: // just copy ptrs, since arg[] points into original input line -pair_hybrid_overlay.cpp: // invoke sub-style coeff() starting with 1st remaining arg -pair_hybrid_overlay.cpp: // set setflag and which type pairs map to which sub-style -pair_hybrid_overlay.cpp: // if sub-style is none: set hybrid subflag, wipe out map -pair_hybrid_overlay.cpp: // else: set hybrid setflag & map only if substyle setflag is set -pair_hybrid_overlay.cpp: // if sub-style is new for type pair, add as multiple mapping -pair_hybrid_overlay.cpp: // if sub-style exists for type pair, don't add, just update coeffs -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_lj96_cut.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj96_cut.cpp: // loop over neighbors of my atoms -pair_lj96_cut.cpp: r2inv = 1.0/rsq; -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj96_cut.cpp: // loop over neighbors of my atoms -pair_lj96_cut.cpp: r2inv = 1.0/rsq; -pair_lj96_cut.cpp: rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj96_cut.cpp: // loop over neighbors of my atoms -pair_lj96_cut.cpp: r2inv = 1.0/rsq; -pair_lj96_cut.cpp: rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; -pair_lj96_cut.cpp: rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj96_cut.cpp: // loop over neighbors of my atoms -pair_lj96_cut.cpp: r2inv = 1.0/rsq; -pair_lj96_cut.cpp: rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; -pair_lj96_cut.cpp: r2inv = 1.0/rsq; -pair_lj96_cut.cpp: r2inv = 1.0/rsq; -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp: // reset cutoffs that have been explicitly set -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp: // request regular or rRESPA neighbor lists -pair_lj96_cut.cpp: // set rRESPA cutoffs -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp: double ratio = sigma[i][j] / cut[i][j]; -pair_lj96_cut.cpp: // check interior rRESPA cutoff -pair_lj96_cut.cpp: // compute I,J contribution to long-range tail correction -pair_lj96_cut.cpp: // count total # of atoms of type I and J via Allreduce -pair_lj96_cut.cpp: sig6 * (sig3 - 2.0*rc3) / (6.0*rc6); -pair_lj96_cut.cpp: sig6 * (3.0*sig3 - 4.0*rc3) / (6.0*rc6); -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj96_cut.cpp:------------------------------------------------------------------------- */ -pair_lj96_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj96_cut.cpp: r2inv = 1.0/rsq; -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- -pair_lj_cubic.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_lj_cubic.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_lj_cubic.cpp:------------------------------------------------------------------------- */ -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- -pair_lj_cubic.cpp:------------------------------------------------------------------------- */ -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cubic.cpp: // loop over neighbors of my atoms -pair_lj_cubic.cpp: r2inv = 1.0/rsq; -pair_lj_cubic.cpp: t = (r - cut_inner[itype][jtype])/rmin; -pair_lj_cubic.cpp: forcelj = epsilon[itype][jtype]*(-DPHIDS + A3*t*t/2.0)*r/rmin; -pair_lj_cubic.cpp: (PHIS + DPHIDS*t - A3*t*t*t/6.0); -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- -pair_lj_cubic.cpp:------------------------------------------------------------------------- */ -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- -pair_lj_cubic.cpp:------------------------------------------------------------------------- */ -pair_lj_cubic.cpp: // reset cutoffs that have been explicitly set -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- -pair_lj_cubic.cpp:------------------------------------------------------------------------- */ -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- -pair_lj_cubic.cpp:------------------------------------------------------------------------- */ -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- -pair_lj_cubic.cpp:------------------------------------------------------------------------- */ -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- -pair_lj_cubic.cpp:------------------------------------------------------------------------- */ -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- -pair_lj_cubic.cpp:------------------------------------------------------------------------- */ -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- -pair_lj_cubic.cpp:------------------------------------------------------------------------- */ -pair_lj_cubic.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cubic.cpp: r2inv = 1.0/rsq; -pair_lj_cubic.cpp: t = (r - cut_inner[itype][jtype])/rmin; -pair_lj_cubic.cpp: forcelj = epsilon[itype][jtype]*(-DPHIDS + A3*t*t/2.0)*r/rmin; -pair_lj_cubic.cpp: (PHIS + DPHIDS*t - A3*t*t*t/6.0); -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_cut.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_lj_cut_coul_cut.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp: // loop over neighbors of my atoms -pair_lj_cut_coul_cut.cpp: r2inv = 1.0/rsq; -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp: // reset cutoffs that have been explicitly set -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp: error->all(FLERR,"Pair style lj/cut/coul/cut requires atom attribute q"); -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp: double ratio = sigma[i][j] / cut_lj[i][j]; -pair_lj_cut_coul_cut.cpp: // compute I,J contribution to long-range tail correction -pair_lj_cut_coul_cut.cpp: // count total # of atoms of type I and J via Allreduce -pair_lj_cut_coul_cut.cpp: sig6 * (sig6 - 3.0*rc6) / (9.0*rc9); -pair_lj_cut_coul_cut.cpp: sig6 * (2.0*sig6 - 3.0*rc6) / (9.0*rc9); -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut_coul_cut.cpp: r2inv = 1.0/rsq; -pair_lj_cut_coul_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_debye.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_lj_cut_coul_debye.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_lj_cut_coul_debye.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut_coul_debye.cpp: // loop over neighbors of my atoms -pair_lj_cut_coul_debye.cpp: r2inv = 1.0/rsq; -pair_lj_cut_coul_debye.cpp: rinv = 1.0/r; -pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_debye.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_debye.cpp: // reset cutoffs that were previously set from data file -pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_debye.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_debye.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_debye.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut_coul_debye.cpp: r2inv = 1.0/rsq; -pair_lj_cut_coul_debye.cpp: rinv = 1.0/r; -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_dsf.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_lj_cut_coul_dsf.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp: // loop over neighbors of my atoms -pair_lj_cut_coul_dsf.cpp: double e_self = -(e_shift/2.0 + alpha/MY_PIS) * qtmp*qtmp*qqrd2e; -pair_lj_cut_coul_dsf.cpp: r2inv = 1.0/rsq; -pair_lj_cut_coul_dsf.cpp: prefactor = qqrd2e*qtmp*q[j]/r; -pair_lj_cut_coul_dsf.cpp: t = 1.0 / (1.0 + EWALD_P*alpha*r); -pair_lj_cut_coul_dsf.cpp: forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS * erfcd + -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp: // reset cutoffs that have been explicitly set -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp: error->all(FLERR,"Pair style lj/cut/coul/dsf requires atom attribute q"); -pair_lj_cut_coul_dsf.cpp: f_shift = -(erfcc/cut_coulsq + 2.0/MY_PIS*alpha*erfcd/cut_coul); -pair_lj_cut_coul_dsf.cpp: e_shift = erfcc/cut_coul - f_shift*cut_coul; -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp: double ratio = sigma[i][j] / cut_lj[i][j]; -pair_lj_cut_coul_dsf.cpp: // compute I,J contribution to long-range tail correction -pair_lj_cut_coul_dsf.cpp: // count total # of atoms of type I and J via Allreduce -pair_lj_cut_coul_dsf.cpp: sig6 * (sig6 - 3.0*rc6) / (9.0*rc9); -pair_lj_cut_coul_dsf.cpp: sig6 * (2.0*sig6 - 3.0*rc6) / (9.0*rc9); -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut_coul_dsf.cpp:------------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut_coul_dsf.cpp: r2inv = 1.0/rsq; -pair_lj_cut_coul_dsf.cpp: prefactor = factor_coul * force->qqrd2e * atom->q[i]*atom->q[j]/r; -pair_lj_cut_coul_dsf.cpp: forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS * erfcd + -pair_lj_cut_coul_dsf.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_lj_cut.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut.cpp: // loop over neighbors of my atoms -pair_lj_cut.cpp: r2inv = 1.0/rsq; -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut.cpp: // loop over neighbors of my atoms -pair_lj_cut.cpp: r2inv = 1.0/rsq; -pair_lj_cut.cpp: rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut.cpp: // loop over neighbors of my atoms -pair_lj_cut.cpp: r2inv = 1.0/rsq; -pair_lj_cut.cpp: rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; -pair_lj_cut.cpp: rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut.cpp: // loop over neighbors of my atoms -pair_lj_cut.cpp: r2inv = 1.0/rsq; -pair_lj_cut.cpp: rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; -pair_lj_cut.cpp: r2inv = 1.0/rsq; -pair_lj_cut.cpp: r2inv = 1.0/rsq; -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp: // reset cutoffs that have been explicitly set -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp: // request regular or rRESPA neighbor lists -pair_lj_cut.cpp: // set rRESPA cutoffs -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp: double ratio = sigma[i][j] / cut[i][j]; -pair_lj_cut.cpp: // check interior rRESPA cutoff -pair_lj_cut.cpp: // compute I,J contribution to long-range tail correction -pair_lj_cut.cpp: // count total # of atoms of type I and J via Allreduce -pair_lj_cut.cpp: sig6 * (sig6 - 3.0*rc6) / (9.0*rc9); -pair_lj_cut.cpp: sig6 * (2.0*sig6 - 3.0*rc6) / (9.0*rc9); -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- -pair_lj_cut.cpp:------------------------------------------------------------------------- */ -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_cut.cpp: r2inv = 1.0/rsq; -pair_lj_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- -pair_lj_expand.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_lj_expand.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_lj_expand.cpp:------------------------------------------------------------------------- */ -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_expand.cpp: // loop over neighbors of my atoms -pair_lj_expand.cpp: r2inv = 1.0/rshiftsq; -pair_lj_expand.cpp: fpair = factor_lj*forcelj/rshift/r; -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- -pair_lj_expand.cpp:------------------------------------------------------------------------- */ -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- -pair_lj_expand.cpp:------------------------------------------------------------------------- */ -pair_lj_expand.cpp: // reset cutoffs that have been explicitly set -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- -pair_lj_expand.cpp:------------------------------------------------------------------------- */ -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- -pair_lj_expand.cpp:------------------------------------------------------------------------- */ -pair_lj_expand.cpp: // always mix shift arithmetically -pair_lj_expand.cpp: double ratio = sigma[i][j] / cut[i][j]; -pair_lj_expand.cpp: // compute I,J contribution to long-range tail correction -pair_lj_expand.cpp: // count total # of atoms of type I and J via Allreduce -pair_lj_expand.cpp: ((1.0/9.0 + 2.0*shift1/(10.0*rc1) + shift2/(11.0*rc2))*sig6/rc9 - -pair_lj_expand.cpp: (1.0/3.0 + 2.0*shift1/(4.0*rc1) + shift2/(5.0*rc2))/rc3); -pair_lj_expand.cpp: ((1.0/9.0 + 3.0*shift1/(10.0*rc1) + -pair_lj_expand.cpp: 3.0*shift2/(11.0*rc2) + shift3/(12.0*rc3))*2.0*sig6/rc9 - -pair_lj_expand.cpp: (1.0/3.0 + 3.0*shift1/(4.0*rc1) + -pair_lj_expand.cpp: 3.0*shift2/(5.0*rc2) + shift3/(6.0*rc3))/rc3); -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- -pair_lj_expand.cpp:------------------------------------------------------------------------- */ -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- -pair_lj_expand.cpp:------------------------------------------------------------------------- */ -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- -pair_lj_expand.cpp:------------------------------------------------------------------------- */ -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- -pair_lj_expand.cpp:------------------------------------------------------------------------- */ -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- -pair_lj_expand.cpp:------------------------------------------------------------------------- */ -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- -pair_lj_expand.cpp:------------------------------------------------------------------------- */ -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_expand.cpp: r2inv = 1.0/rshiftsq; -pair_lj_expand.cpp: fforce = factor_lj*forcelj/rshift/r; -pair_lj_expand.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs_coul_gromacs.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_lj_gromacs_coul_gromacs.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp: // loop over neighbors of my atoms -pair_lj_gromacs_coul_gromacs.cpp: r2inv = 1.0/rsq; -pair_lj_gromacs_coul_gromacs.cpp: // skip if qi or qj = 0.0 since this potential may be used as -pair_lj_gromacs_coul_gromacs.cpp: // coarse-grain model with many uncharged atoms -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp: "Pair style lj/gromacs/coul/gromacs requires atom attribute q"); -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp: double r6inv = 1.0/pow(cut_lj,6.0); -pair_lj_gromacs_coul_gromacs.cpp: double r8inv = 1.0/pow(cut_lj,8.0); -pair_lj_gromacs_coul_gromacs.cpp: double t2inv = 1.0/(t*t); -pair_lj_gromacs_coul_gromacs.cpp: double t3inv = t2inv/t; -pair_lj_gromacs_coul_gromacs.cpp: double t3 = 1.0/t3inv; -pair_lj_gromacs_coul_gromacs.cpp: double c6 = r6inv - t3*(6.0*a6/3.0 + 6.0*b6*t/4.0); -pair_lj_gromacs_coul_gromacs.cpp: double c12 = r6inv*r6inv - t3*(12.0*a12/3.0 + 12.0*b12*t/4.0); -pair_lj_gromacs_coul_gromacs.cpp: ljsw3[i][j] = -lj3[i][j]*12.0*a12/3.0 + lj4[i][j]*6.0*a6/3.0; -pair_lj_gromacs_coul_gromacs.cpp: ljsw4[i][j] = -lj3[i][j]*12.0*b12/4.0 + lj4[i][j]*6.0*b6/4.0; -pair_lj_gromacs_coul_gromacs.cpp: double r3inv = 1.0/pow(cut_coul,3.0); -pair_lj_gromacs_coul_gromacs.cpp: t2inv = 1.0/(t*t); -pair_lj_gromacs_coul_gromacs.cpp: t3inv = t2inv/t; -pair_lj_gromacs_coul_gromacs.cpp: coulsw3 = -a1/3.0; -pair_lj_gromacs_coul_gromacs.cpp: coulsw4 = -b1/4.0; -pair_lj_gromacs_coul_gromacs.cpp: coulsw5 = 1.0/cut_coul - t*t*t*(a1/3.0 + b1*t/4.0); -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs_coul_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_gromacs_coul_gromacs.cpp: r2inv = 1.0/rsq; -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_lj_gromacs.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_gromacs.cpp: // loop over neighbors of my atoms -pair_lj_gromacs.cpp: r2inv = 1.0/rsq; -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs.cpp: // reset cutoffs that have been explicitly set -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs.cpp: double r6inv = 1.0/pow(cut[i][j],6.0); -pair_lj_gromacs.cpp: double r8inv = 1.0/pow(cut[i][j],8.0); -pair_lj_gromacs.cpp: double t2inv = 1.0/(t*t); -pair_lj_gromacs.cpp: double t3inv = t2inv/t; -pair_lj_gromacs.cpp: double t3 = 1.0/t3inv; -pair_lj_gromacs.cpp: double c6 = r6inv - t3*(6.0*a6/3.0 + 6.0*b6*t/4.0); -pair_lj_gromacs.cpp: double c12 = r6inv*r6inv - t3*(12.0*a12/3.0 + 12.0*b12*t/4.0); -pair_lj_gromacs.cpp: ljsw3[i][j] = -lj3[i][j]*12.0*a12/3.0 + lj4[i][j]*6.0*a6/3.0; -pair_lj_gromacs.cpp: ljsw4[i][j] = -lj3[i][j]*12.0*b12/4.0 + lj4[i][j]*6.0*b6/4.0; -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- -pair_lj_gromacs.cpp:------------------------------------------------------------------------- */ -pair_lj_gromacs.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_gromacs.cpp: r2inv = 1.0/rsq; -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_lj_smooth.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_lj_smooth.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_smooth.cpp: // loop over neighbors of my atoms -pair_lj_smooth.cpp: r2inv = 1.0/rsq; -pair_lj_smooth.cpp: ljsw2[itype][jtype]*tsq/2.0 - ljsw3[itype][jtype]*tsq*t/3.0 - -pair_lj_smooth.cpp: ljsw4[itype][jtype]*tsq*tsq/4.0 - offset[itype][jtype]; -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth.cpp: // reset cutoffs that have been explicitly set -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth.cpp: double r6inv = 1.0/pow(cut_inner[i][j],6.0); -pair_lj_smooth.cpp: double ratio = sigma[i][j] / cut_inner[i][j]; -pair_lj_smooth.cpp: ljsw1[i][j] = r6inv*(lj1[i][j]*r6inv-lj2[i][j]) / cut_inner[i][j]; -pair_lj_smooth.cpp: ljsw2[i][j] = -r6inv * (13.0*lj1[i][j]*r6inv - 7.0*lj2[i][j]) / -pair_lj_smooth.cpp: ljsw3[i][j] = -(3.0/tsq) * (ljsw1[i][j] + 2.0/3.0*ljsw2[i][j]*t); -pair_lj_smooth.cpp: ljsw4[i][j] = -1.0/(3.0*tsq) * (ljsw2[i][j] + 2.0*ljsw3[i][j]*t); -pair_lj_smooth.cpp: offset[i][j] = ljsw0[i][j] - ljsw1[i][j]*t - ljsw2[i][j]*tsq/2.0 - -pair_lj_smooth.cpp: ljsw3[i][j]*tsq*t/3.0 - ljsw4[i][j]*tsq*tsq/4.0; -pair_lj_smooth.cpp: double ratio = sigma[i][j] / cut_inner[i][j]; -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_smooth.cpp: r2inv = 1.0/rsq; -pair_lj_smooth.cpp: ljsw2[itype][jtype]*tsq/2.0 - ljsw3[itype][jtype]*tsq*t/3.0 - -pair_lj_smooth.cpp: ljsw4[itype][jtype]*tsq*tsq/4.0 - offset[itype][jtype]; -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth_linear.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_lj_smooth_linear.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp: // loop over neighbors of my atoms -pair_lj_smooth_linear.cpp: r2inv = 1.0/rsq; -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp: // reset cutoffs that have been explicitly set -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp: double cutinv = 1.0/cut[i][j]; -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- -pair_lj_smooth_linear.cpp:------------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp:/* ---------------------------------------------------------------------- */ -pair_lj_smooth_linear.cpp: r2inv = 1.0/rsq; -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- -pair_mie_cut.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_mie_cut.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_mie_cut.cpp:------------------------------------------------------------------------- */ -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- -pair_mie_cut.cpp:------------------------------------------------------------------------- */ -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_mie_cut.cpp: // loop over neighbors of my atoms -pair_mie_cut.cpp: r2inv = 1.0/rsq; -pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); -pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_mie_cut.cpp: // loop over neighbors of my atoms -pair_mie_cut.cpp: r2inv = 1.0/rsq; -pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); -pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); -pair_mie_cut.cpp: rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_mie_cut.cpp: // loop over neighbors of my atoms -pair_mie_cut.cpp: r2inv = 1.0/rsq; -pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); -pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); -pair_mie_cut.cpp: rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; -pair_mie_cut.cpp: rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_mie_cut.cpp: // loop over neighbors of my atoms -pair_mie_cut.cpp: r2inv = 1.0/rsq; -pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); -pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); -pair_mie_cut.cpp: rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; -pair_mie_cut.cpp: r2inv = 1.0/rsq; -pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); -pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); -pair_mie_cut.cpp: r2inv = 1.0/rsq; -pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); -pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- -pair_mie_cut.cpp:------------------------------------------------------------------------- */ -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- -pair_mie_cut.cpp:------------------------------------------------------------------------- */ -pair_mie_cut.cpp: // reset cutoffs that have been explicitly set -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- -pair_mie_cut.cpp:------------------------------------------------------------------------- */ -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- -pair_mie_cut.cpp:------------------------------------------------------------------------- */ -pair_mie_cut.cpp: // request regular or rRESPA neighbor lists -pair_mie_cut.cpp: // set rRESPA cutoffs -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- -pair_mie_cut.cpp:------------------------------------------------------------------------- */ -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- -pair_mie_cut.cpp:------------------------------------------------------------------------- */ -pair_mie_cut.cpp: Cmie[i][j] = (gamR[i][j]/(gamR[i][j]-gamA[i][j]) * -pair_mie_cut.cpp: pow((gamR[i][j]/gamA[i][j]), -pair_mie_cut.cpp: (gamA[i][j]/(gamR[i][j]-gamA[i][j])))); -pair_mie_cut.cpp: double ratio = sigma[i][j] / cut[i][j]; -pair_mie_cut.cpp: // check interior rRESPA cutoff -pair_mie_cut.cpp: // compute I,J contribution to long-range tail correction -pair_mie_cut.cpp: // count total # of atoms of type I and J via Allreduce -pair_mie_cut.cpp: (siggamR/((gamR[i][j]-3.0)*rcgamR)-siggamA/((gamA[i][j]-3.0)*rcgamA)); -pair_mie_cut.cpp: ptail_ij = Cmie[i][j]*2.0*MY_PI*all[0]*all[1]*epsilon[i][j]/3.0* -pair_mie_cut.cpp: ((gamR[i][j]/(gamR[i][j]-3.0))*siggamR/rcgamR- -pair_mie_cut.cpp: (gamA[i][j]/(gamA[i][j]-3.0))*siggamA/rcgamA); -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- -pair_mie_cut.cpp:------------------------------------------------------------------------- */ -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- -pair_mie_cut.cpp:------------------------------------------------------------------------- */ -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- -pair_mie_cut.cpp:------------------------------------------------------------------------- */ -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- -pair_mie_cut.cpp:------------------------------------------------------------------------- */ -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_mie_cut.cpp: r2inv = 1.0/rsq; -pair_mie_cut.cpp: rgamA = pow(r2inv,(gamA[itype][jtype]/2.0)); -pair_mie_cut.cpp: rgamR = pow(r2inv,(gamR[itype][jtype]/2.0)); -pair_mie_cut.cpp:/* ---------------------------------------------------------------------- */ -pair_morse.cpp:/* ---------------------------------------------------------------------- -pair_morse.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_morse.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_morse.cpp:------------------------------------------------------------------------- */ -pair_morse.cpp:/* ---------------------------------------------------------------------- */ -pair_morse.cpp:/* ---------------------------------------------------------------------- */ -pair_morse.cpp:/* ---------------------------------------------------------------------- */ -pair_morse.cpp: // loop over neighbors of my atoms -pair_morse.cpp: fpair = factor_lj * morse1[itype][jtype] * (dexp*dexp - dexp) / r; -pair_morse.cpp:/* ---------------------------------------------------------------------- -pair_morse.cpp:------------------------------------------------------------------------- */ -pair_morse.cpp:/* ---------------------------------------------------------------------- -pair_morse.cpp:------------------------------------------------------------------------- */ -pair_morse.cpp: // reset cutoffs that have been explicitly set -pair_morse.cpp:/* ---------------------------------------------------------------------- -pair_morse.cpp:------------------------------------------------------------------------- */ -pair_morse.cpp:/* ---------------------------------------------------------------------- -pair_morse.cpp:------------------------------------------------------------------------- */ -pair_morse.cpp:/* ---------------------------------------------------------------------- -pair_morse.cpp:------------------------------------------------------------------------- */ -pair_morse.cpp:/* ---------------------------------------------------------------------- -pair_morse.cpp:------------------------------------------------------------------------- */ -pair_morse.cpp:/* ---------------------------------------------------------------------- -pair_morse.cpp:------------------------------------------------------------------------- */ -pair_morse.cpp:/* ---------------------------------------------------------------------- -pair_morse.cpp:------------------------------------------------------------------------- */ -pair_morse.cpp:/* ---------------------------------------------------------------------- -pair_morse.cpp:------------------------------------------------------------------------- */ -pair_morse.cpp:/* ---------------------------------------------------------------------- -pair_morse.cpp:------------------------------------------------------------------------- */ -pair_morse.cpp:/* ---------------------------------------------------------------------- */ -pair_morse.cpp: fforce = factor_lj * morse1[itype][jtype] * (dexp*dexp - dexp) / r; -pair_morse.cpp:/* ---------------------------------------------------------------------- */ -pair_soft.cpp:/* ---------------------------------------------------------------------- -pair_soft.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_soft.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_soft.cpp:------------------------------------------------------------------------- */ -pair_soft.cpp:/* ---------------------------------------------------------------------- */ -pair_soft.cpp:/* ---------------------------------------------------------------------- */ -pair_soft.cpp:/* ---------------------------------------------------------------------- */ -pair_soft.cpp: // loop over neighbors of my atoms -pair_soft.cpp: arg = MY_PI*r/cut[itype][jtype]; -pair_soft.cpp: sin(arg) * MY_PI/cut[itype][jtype]/r; -pair_soft.cpp:/* ---------------------------------------------------------------------- -pair_soft.cpp:------------------------------------------------------------------------- */ -pair_soft.cpp:/* ---------------------------------------------------------------------- -pair_soft.cpp:------------------------------------------------------------------------- */ -pair_soft.cpp: // reset cutoffs that have been explicitly set -pair_soft.cpp:/* ---------------------------------------------------------------------- -pair_soft.cpp:------------------------------------------------------------------------- */ -pair_soft.cpp:/* ---------------------------------------------------------------------- -pair_soft.cpp:------------------------------------------------------------------------- */ -pair_soft.cpp: // always mix prefactors geometrically -pair_soft.cpp:/* ---------------------------------------------------------------------- -pair_soft.cpp:------------------------------------------------------------------------- */ -pair_soft.cpp:/* ---------------------------------------------------------------------- -pair_soft.cpp:------------------------------------------------------------------------- */ -pair_soft.cpp:/* ---------------------------------------------------------------------- -pair_soft.cpp:------------------------------------------------------------------------- */ -pair_soft.cpp:/* ---------------------------------------------------------------------- -pair_soft.cpp:------------------------------------------------------------------------- */ -pair_soft.cpp:/* ---------------------------------------------------------------------- -pair_soft.cpp:------------------------------------------------------------------------- */ -pair_soft.cpp:/* ---------------------------------------------------------------------- -pair_soft.cpp:------------------------------------------------------------------------- */ -pair_soft.cpp:/* ---------------------------------------------------------------------- */ -pair_soft.cpp: arg = MY_PI*r/cut[itype][jtype]; -pair_soft.cpp: sin(arg) * MY_PI/cut[itype][jtype]/r; -pair_soft.cpp:/* ---------------------------------------------------------------------- */ -pair_spin.cpp:/* ---------------------------------------------------------------------- -pair_spin.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_spin.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_spin.cpp:------------------------------------------------------------------------- */ -pair_spin.cpp:/* ---------------------------------------------------------------------- */ -pair_spin.cpp:/* ---------------------------------------------------------------------- */ -pair_spin.cpp:/* ---------------------------------------------------------------------- */ -pair_spin.cpp: // Pair spin computations -pair_spin.cpp: // Loop over neighbors of my itoms -pair_spin.cpp: //Loop on Neighbors -pair_spin.cpp: rsq = delx*delx + dely*dely + delz*delz; //square or inter-atomic distance -pair_spin.cpp: rd = sqrt(rsq); //Inter-atomic distance -pair_spin.cpp: //Exchange interaction -pair_spin.cpp: //DM interaction -pair_spin.cpp: //ME interaction -pair_spin.cpp:/* ---------------------------------------------------------------------- */ -pair_spin.cpp: ra = rsq/J_3[itype][jtype]/J_3[itype][jtype]; -pair_spin.cpp:/* ---------------------------------------------------------------------- */ -pair_spin.cpp:/* ---------------------------------------------------------------------- */ -pair_spin.cpp: inorm = 1.0/sqrt(rx*rx+ry*ry+rz*rz); -pair_spin.cpp: // printf("test val fmi=%g, fmj=%g \n",fmi[2],fmj[2]); -pair_spin.cpp:/* ---------------------------------------------------------------------- -pair_spin.cpp:------------------------------------------------------------------------- */ -pair_spin.cpp:/* ---------------------------------------------------------------------- -pair_spin.cpp:------------------------------------------------------------------------- */ -pair_spin.cpp: error->all(FLERR,"Incorrect number of args in pair_style pair/spin command"); -pair_spin.cpp: // reset cutoffs that have been explicitly set -pair_spin.cpp:/* ---------------------------------------------------------------------- -pair_spin.cpp:------------------------------------------------------------------------- */ -pair_spin.cpp: double hbar = force->hplanck/MY_2PI; -pair_spin.cpp: J1 /= hbar; -pair_spin.cpp: double inorm = 1.0/(dmx*dmx+dmy*dmy+dmz*dmz); -pair_spin.cpp: double hbar = force->hplanck/MY_2PI; -pair_spin.cpp: dm /= hbar; -pair_spin.cpp: double inorm = 1.0/(mex*mex+mey*mey+mez*mez); -pair_spin.cpp: double hbar = force->hplanck/MY_2PI; -pair_spin.cpp: me /= hbar; -pair_spin.cpp: //Check if Jex [][] still works for Ferrimagnetic exchange -pair_spin.cpp:/* ---------------------------------------------------------------------- -pair_spin.cpp:------------------------------------------------------------------------- */ -pair_spin.cpp:/* ---------------------------------------------------------------------- -pair_spin.cpp:------------------------------------------------------------------------- */ -pair_spin.cpp:/* ---------------------------------------------------------------------- -pair_spin.cpp:------------------------------------------------------------------------- */ -pair_spin.cpp:/* ---------------------------------------------------------------------- -pair_spin.cpp:------------------------------------------------------------------------- */ -pair_spin.cpp:/* ---------------------------------------------------------------------- -pair_spin.cpp:------------------------------------------------------------------------- */ -pair_spin.cpp:/* ---------------------------------------------------------------------- -pair_spin.cpp:------------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_table.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- */ -pair_table.cpp: // loop over neighbors of my atoms -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp: // new settings -pair_table.cpp: // optional keywords -pair_table.cpp: // assert the tabulation is compatible with a specific long-range solver -pair_table.cpp: // delete old tables, since cannot just change settings -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp: // set table cutoff -pair_table.cpp: // error check on table parameters -pair_table.cpp: // insure cutoff is within table -pair_table.cpp: // for BITMAP tables, file values can be in non-ascending order -pair_table.cpp: // match = 1 if don't need to spline read-in tables -pair_table.cpp: // this is only the case if r values needed by final tables -pair_table.cpp: // exactly match r values read from file -pair_table.cpp: // for tabstyle SPLINE, always need to build spline tables -pair_table.cpp: // spline read-in values and compute r,e,f vectors within table -pair_table.cpp: // store ptr to table in tabindex -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp: // open file -pair_table.cpp: // loop until section found with matching keyword -pair_table.cpp: if (strspn(line," \t\n\r") == strlen(line)) continue; // blank line -pair_table.cpp: if (line[0] == '#') continue; // comment -pair_table.cpp: if (strcmp(word,keyword) == 0) break; // matching keyword -pair_table.cpp: fgets(line,MAXLINE,fp); // no match, skip section -pair_table.cpp: // read args on 2nd line of section -pair_table.cpp: // allocate table arrays for file values -pair_table.cpp: // setup bitmap parameters for table to read in -pair_table.cpp: // read r,e,f table values from file -pair_table.cpp: // if rflag set, compute r -pair_table.cpp: // if rflag not set, use r from file -pair_table.cpp: rnew = tb->rlo + (tb->rhi - tb->rlo)*i/(tb->ninput-1); -pair_table.cpp: (tb->rhi*tb->rhi - tb->rlo*tb->rlo)*i/(tb->ninput-1); -pair_table.cpp: if (tb->rflag && fabs(rnew-rfile)/rfile > EPSILONR) rerror++; -pair_table.cpp: // close file -pair_table.cpp: // warn if force != dE/dr at any point that is not an inflection point -pair_table.cpp: // check via secant approximation to dE/dr -pair_table.cpp: // skip two end points since do not have surrounding secants -pair_table.cpp: // inflection point is where curvature changes sign -pair_table.cpp: fleft = - (e-eprev) / (r-rprev); -pair_table.cpp: fright = - (enext-e) / (rnext-r); -pair_table.cpp: //printf("Values %d: %g %g %g\n",i,r,e,f); -pair_table.cpp: //printf(" secant %d %d %g: %g %g %g\n",i,ferror,r,fleft,fright,f); -pair_table.cpp: sprintf(str,"%d of %d force values in table are inconsistent with -dE/dr.\n" -pair_table.cpp: // warn if re-computed distance values differ from file values -pair_table.cpp: // warn if data was read incompletely, e.g. columns were missing -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp: tb->fplo = (tb->ffile[1] - tb->ffile[0]) / (tb->rfile[1] - tb->rfile[0]); -pair_table.cpp: tb->fphi = (tb->ffile[tb->ninput-1] - tb->ffile[tb->ninput-2]) / -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp: format of line: N value R/RSQ/BITMAP lo hi FPRIME fplo fphi -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp: // inner = inner table bound -pair_table.cpp: // cut = outer table bound -pair_table.cpp: // delta = table spacing in rsq for N-1 bins -pair_table.cpp: tb->delta = (tb->cut*tb->cut - tb->innersq) / tlm1; -pair_table.cpp: tb->invdelta = 1.0/tb->delta; -pair_table.cpp: // direct lookup tables -pair_table.cpp: // N-1 evenly spaced bins in rsq from inner to cut -pair_table.cpp: // e,f = value at midpt of bin -pair_table.cpp: // e,f are N-1 in length since store 1 value at bin midpt -pair_table.cpp: // f is converted to f/r when stored in f[i] -pair_table.cpp: // e,f are never a match to read-in values, always computed via spline interp -pair_table.cpp: tb->f[i] = splint(tb->rfile,tb->ffile,tb->f2file,tb->ninput,r)/r; -pair_table.cpp: // linear tables -pair_table.cpp: // N-1 evenly spaced bins in rsq from inner to cut -pair_table.cpp: // rsq,e,f = value at lower edge of bin -pair_table.cpp: // de,df values = delta from lower edge to upper edge of bin -pair_table.cpp: // rsq,e,f are N in length so de,df arrays can compute difference -pair_table.cpp: // f is converted to f/r when stored in f[i] -pair_table.cpp: // e,f can match read-in values, else compute via spline interp -pair_table.cpp: tb->f[i] = tb->ffile[i]/r; -pair_table.cpp: tb->f[i] = splint(tb->rfile,tb->ffile,tb->f2file,tb->ninput,r)/r; -pair_table.cpp: // cubic spline tables -pair_table.cpp: // N-1 evenly spaced bins in rsq from inner to cut -pair_table.cpp: // rsq,e,f = value at lower edge of bin -pair_table.cpp: // e2,f2 = spline coefficient for each bin -pair_table.cpp: // rsq,e,f,e2,f2 are N in length so have N-1 spline bins -pair_table.cpp: // f is converted to f/r after e is splined -pair_table.cpp: // e,f can match read-in values, else compute via spline interp -pair_table.cpp: tb->deltasq6 = tb->delta*tb->delta / 6.0; -pair_table.cpp: tb->f[i] = tb->ffile[i]/r; -pair_table.cpp: // ep0,epn = dh/dg at inner and at cut -pair_table.cpp: // h(r) = e(r) and g(r) = r^2 -pair_table.cpp: // dh/dg = (de/dr) / 2r = -f/2r -pair_table.cpp: double ep0 = - tb->f[0] / (2.0 * sqrt(tb->innersq)); -pair_table.cpp: double epn = - tb->f[tlm1] / (2.0 * tb->cut); -pair_table.cpp: // fp0,fpn = dh/dg at inner and at cut -pair_table.cpp: // h(r) = f(r)/r and g(r) = r^2 -pair_table.cpp: // dh/dg = (1/r df/dr - f/r^2) / 2r -pair_table.cpp: // dh/dg in secant approx = (f(r2)/r2 - f(r1)/r1) / (g(r2) - g(r1)) -pair_table.cpp: if (tb->fpflag) fp0 = (tb->fplo/sqrt(tb->innersq) - tb->f[0]/tb->innersq) / -pair_table.cpp: fp0 = (splint(tb->rfile,tb->ffile,tb->f2file,tb->ninput,sqrt(rsq2)) / -pair_table.cpp: sqrt(rsq2) - tb->f[0] / sqrt(rsq1)) / (secant_factor*tb->delta); -pair_table.cpp: (tb->fphi/tb->cut - tb->f[tlm1]/(tb->cut*tb->cut)) / (2.0 * tb->cut); -pair_table.cpp: fpn = (tb->f[tlm1] / sqrt(rsq2) - -pair_table.cpp: splint(tb->rfile,tb->ffile,tb->f2file,tb->ninput,sqrt(rsq1)) / -pair_table.cpp: sqrt(rsq1)) / (secant_factor*tb->delta); -pair_table.cpp: for (int i = 0; i < tablength; i++) tb->f[i] /= sqrt(tb->rsq[i]); -pair_table.cpp: // bitmapped linear tables -pair_table.cpp: // 2^N bins from inner to cut, spaced in bitmapped manner -pair_table.cpp: // f is converted to f/r when stored in f[i] -pair_table.cpp: // e,f can match read-in values, else compute via spline interp -pair_table.cpp: // linear lookup tables of length ntable = 2^n -pair_table.cpp: // stored value = value at lower edge of bin -pair_table.cpp: tb->f[i] = tb->ffile[i]/r; -pair_table.cpp: tb->f[i] = splint(tb->rfile,tb->ffile,tb->f2file,tb->ninput,r)/r; -pair_table.cpp: tb->drsq[i] = 1.0/(tb->rsq[i+1] - tb->rsq[i]); -pair_table.cpp: // get the delta values for the last table entries -pair_table.cpp: // tables are connected periodically between 0 and ntablem1 -pair_table.cpp: tb->drsq[ntablem1] = 1.0/(tb->rsq[0] - tb->rsq[ntablem1]); -pair_table.cpp: // get the correct delta values at itablemax -pair_table.cpp: // smallest r is in bin itablemin -pair_table.cpp: // largest r is in bin itablemax, which is itablemin-1, -pair_table.cpp: // or ntablem1 if itablemin=0 -pair_table.cpp: // deltas at itablemax only needed if corresponding rsq < cut*cut -pair_table.cpp: // if so, compute deltas between rsq and cut*cut -pair_table.cpp: // if tb->match, data at cut*cut is unavailable, so we'll take -pair_table.cpp: // deltas at itablemax-1 as a good approximation -pair_table.cpp: f_tmp = splint(tb->rfile,tb->ffile,tb->f2file,tb->ninput,r)/r; -pair_table.cpp: tb->drsq[itablemax] = 1.0/(rsq_lookup.f - tb->rsq[itablemax]); -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp: u[0] = (3.0/(x[1]-x[0])) * ((y[1]-y[0]) / (x[1]-x[0]) - yp1); -pair_table.cpp: sig = (x[i]-x[i-1]) / (x[i+1]-x[i-1]); -pair_table.cpp: y2[i] = (sig-1.0) / p; -pair_table.cpp: u[i] = (y[i+1]-y[i]) / (x[i+1]-x[i]) - (y[i]-y[i-1]) / (x[i]-x[i-1]); -pair_table.cpp: u[i] = (6.0*u[i] / (x[i+1]-x[i-1]) - sig*u[i-1]) / p; -pair_table.cpp: un = (3.0/(x[n-1]-x[n-2])) * (ypn - (y[n-1]-y[n-2]) / (x[n-1]-x[n-2])); -pair_table.cpp: y2[n-1] = (un-qn*u[n-2]) / (qn*y2[n-2] + 1.0); -pair_table.cpp:/* ---------------------------------------------------------------------- */ -pair_table.cpp: a = (xa[khi]-x) / h; -pair_table.cpp: b = (x-xa[klo]) / h; -pair_table.cpp: ((a*a*a-a)*y2a[klo] + (b*b*b-b)*y2a[khi]) * (h*h)/6.0; -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- */ -pair_table.cpp:/* ---------------------------------------------------------------------- -pair_table.cpp:------------------------------------------------------------------------- */ -pair_yukawa.cpp:/* ---------------------------------------------------------------------- -pair_yukawa.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_yukawa.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_yukawa.cpp:------------------------------------------------------------------------- */ -pair_yukawa.cpp:/* ---------------------------------------------------------------------- */ -pair_yukawa.cpp:/* ---------------------------------------------------------------------- */ -pair_yukawa.cpp:/* ---------------------------------------------------------------------- */ -pair_yukawa.cpp: // loop over neighbors of my atoms -pair_yukawa.cpp: r2inv = 1.0/rsq; -pair_yukawa.cpp: rinv = 1.0/r; -pair_yukawa.cpp:/* ---------------------------------------------------------------------- -pair_yukawa.cpp:------------------------------------------------------------------------- */ -pair_yukawa.cpp:/* ---------------------------------------------------------------------- -pair_yukawa.cpp:------------------------------------------------------------------------- */ -pair_yukawa.cpp: // reset cutoffs that have been explicitly set -pair_yukawa.cpp:/* ---------------------------------------------------------------------- -pair_yukawa.cpp:------------------------------------------------------------------------- */ -pair_yukawa.cpp:/* ---------------------------------------------------------------------- -pair_yukawa.cpp:------------------------------------------------------------------------- */ -pair_yukawa.cpp: offset[i][j] = a[i][j] * screening / cut[i][j]; -pair_yukawa.cpp:/* ---------------------------------------------------------------------- -pair_yukawa.cpp:------------------------------------------------------------------------- */ -pair_yukawa.cpp:/* ---------------------------------------------------------------------- -pair_yukawa.cpp:------------------------------------------------------------------------- */ -pair_yukawa.cpp:/* ---------------------------------------------------------------------- -pair_yukawa.cpp:------------------------------------------------------------------------- */ -pair_yukawa.cpp:/* ---------------------------------------------------------------------- -pair_yukawa.cpp:------------------------------------------------------------------------- */ -pair_yukawa.cpp:/* ---------------------------------------------------------------------- -pair_yukawa.cpp:------------------------------------------------------------------------- */ -pair_yukawa.cpp:/* ---------------------------------------------------------------------- -pair_yukawa.cpp:------------------------------------------------------------------------- */ -pair_yukawa.cpp:/* ---------------------------------------------------------------------- */ -pair_yukawa.cpp: r2inv = 1.0/rsq; -pair_yukawa.cpp: rinv = 1.0/r; -pair_zbl.cpp:/* ---------------------------------------------------------------------- -pair_zbl.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_zbl.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_zbl.cpp:------------------------------------------------------------------------- */ -pair_zbl.cpp:/* ---------------------------------------------------------------------- -pair_zbl.cpp:------------------------------------------------------------------------- */ -pair_zbl.cpp:// From J.F. Zeigler, J. P. Biersack and U. Littmark, -pair_zbl.cpp:// "The Stopping and Range of Ions in Matter" volume 1, Pergamon, 1985. -pair_zbl.cpp:/* ---------------------------------------------------------------------- */ -pair_zbl.cpp:/* ---------------------------------------------------------------------- */ -pair_zbl.cpp:/* ---------------------------------------------------------------------- */ -pair_zbl.cpp: // loop over neighbors of my atoms -pair_zbl.cpp: fpair *= -1.0/r; -pair_zbl.cpp:/* ---------------------------------------------------------------------- -pair_zbl.cpp:------------------------------------------------------------------------- */ -pair_zbl.cpp:/* ---------------------------------------------------------------------- -pair_zbl.cpp:------------------------------------------------------------------------- */ -pair_zbl.cpp:/* ---------------------------------------------------------------------- -pair_zbl.cpp:------------------------------------------------------------------------- */ -pair_zbl.cpp: // set flag for each i-j pair -pair_zbl.cpp: // set z-parameter only for i-i pairs -pair_zbl.cpp:/* ---------------------------------------------------------------------- -pair_zbl.cpp:------------------------------------------------------------------------- */ -pair_zbl.cpp:/* ---------------------------------------------------------------------- -pair_zbl.cpp:------------------------------------------------------------------------- */ -pair_zbl.cpp:/* ---------------------------------------------------------------------- */ -pair_zbl.cpp: fforce *= -1.0/r; -pair_zbl.cpp:/* ---------------------------------------------------------------------- -pair_zbl.cpp:------------------------------------------------------------------------- */ -pair_zbl.cpp: double rinv = 1.0/r; -pair_zbl.cpp:/* ---------------------------------------------------------------------- -pair_zbl.cpp:------------------------------------------------------------------------- */ -pair_zbl.cpp: double rinv = 1.0/r; -pair_zbl.cpp:/* ---------------------------------------------------------------------- -pair_zbl.cpp:------------------------------------------------------------------------- */ -pair_zbl.cpp: double rinv = 1.0/r; -pair_zbl.cpp:/* ---------------------------------------------------------------------- -pair_zbl.cpp:------------------------------------------------------------------------- */ -pair_zbl.cpp: double ainv = (pow(zi,pzbl) + pow(zj,pzbl))/(a0*force->angstrom); -pair_zbl.cpp: // e = t^3 (sw3 + sw4*t) + sw5 -pair_zbl.cpp: // = A/3*t^3 + B/4*t^4 + C -pair_zbl.cpp: // sw3 = A/3 -pair_zbl.cpp: // sw4 = B/4 -pair_zbl.cpp: // sw5 = C -pair_zbl.cpp: // dedr = t^2 (sw1 + sw2*t) -pair_zbl.cpp: // = A*t^2 + B*t^3 -pair_zbl.cpp: // sw1 = A -pair_zbl.cpp: // sw2 = B -pair_zbl.cpp: // de2dr2 = 2*A*t + 3*B*t^2 -pair_zbl.cpp: // Require that at t = tc: -pair_zbl.cpp: // e = -Fc -pair_zbl.cpp: // dedr = -Fc' -pair_zbl.cpp: // d2edr2 = -Fc'' -pair_zbl.cpp: // Hence: -pair_zbl.cpp: // A = (-3Fc' + tc*Fc'')/tc^2 -pair_zbl.cpp: // B = ( 2Fc' - tc*Fc'')/tc^3 -pair_zbl.cpp: // C = -Fc + tc/2*Fc' - tc^2/12*Fc'' -pair_zbl.cpp: double swa = (-3.0*fcp + tc*fcpp)/(tc*tc); -pair_zbl.cpp: double swb = ( 2.0*fcp - tc*fcpp)/(tc*tc*tc); -pair_zbl.cpp: double swc = -fc + (tc/2.0)*fcp - (tc*tc/12.0)*fcpp; -pair_zbl.cpp: sw3[i][j] = swa/3.0; -pair_zbl.cpp: sw4[i][j] = swb/4.0; -pair_zero.cpp:/* ---------------------------------------------------------------------- -pair_zero.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -pair_zero.cpp: http://lammps.sandia.gov, Sandia National Laboratories -pair_zero.cpp:------------------------------------------------------------------------- */ -pair_zero.cpp:/* ---------------------------------------------------------------------- -pair_zero.cpp:------------------------------------------------------------------------- */ -pair_zero.cpp:/* ---------------------------------------------------------------------- */ -pair_zero.cpp:/* ---------------------------------------------------------------------- */ -pair_zero.cpp:/* ---------------------------------------------------------------------- */ -pair_zero.cpp:/* ---------------------------------------------------------------------- -pair_zero.cpp:------------------------------------------------------------------------- */ -pair_zero.cpp:/* ---------------------------------------------------------------------- -pair_zero.cpp:------------------------------------------------------------------------- */ -pair_zero.cpp: // reset cutoffs that have been explicitly set -pair_zero.cpp:/* ---------------------------------------------------------------------- -pair_zero.cpp:------------------------------------------------------------------------- */ -pair_zero.cpp:/* ---------------------------------------------------------------------- -pair_zero.cpp:------------------------------------------------------------------------- */ -pair_zero.cpp:/* ---------------------------------------------------------------------- -pair_zero.cpp:------------------------------------------------------------------------- */ -pair_zero.cpp:/* ---------------------------------------------------------------------- -pair_zero.cpp:------------------------------------------------------------------------- */ -pair_zero.cpp:/* ---------------------------------------------------------------------- -pair_zero.cpp:------------------------------------------------------------------------- */ -pair_zero.cpp:/* ---------------------------------------------------------------------- -pair_zero.cpp:------------------------------------------------------------------------- */ -pair_zero.cpp:/* ---------------------------------------------------------------------- -pair_zero.cpp:------------------------------------------------------------------------- */ -pair_zero.cpp:/* ---------------------------------------------------------------------- -pair_zero.cpp:------------------------------------------------------------------------- */ -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -procmap.cpp: http://lammps.sandia.gov, Sandia National Laboratories -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp:enum{MULTIPLE}; // same as in Comm -procmap.cpp:/* ---------------------------------------------------------------------- */ -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp: // factors = list of all possible 3 factors of processor count -procmap.cpp: // constrain by 2d, user request, other partition -procmap.cpp: // user/other constraints make failure possible -procmap.cpp: // select best set of 3 factors based on surface area of proc sub-domains -procmap.cpp: // clean-up -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp: // nfactors = list of all possible 3 factors of node count -procmap.cpp: // constrain by 2d -procmap.cpp: int nnpossible = factor(nprocs/ncores,NULL); -procmap.cpp: nnpossible = factor(nprocs/ncores,nfactors); -procmap.cpp: // cfactors = list of all possible 3 factors of core count -procmap.cpp: // constrain by 2d -procmap.cpp: // factors = all combinations of nfactors and cfactors -procmap.cpp: // factors stores additional index pointing to corresponding cfactors -procmap.cpp: // constrain by user request, other partition -procmap.cpp: // user/other constraints make failure possible -procmap.cpp: // select best set of 3 factors based on surface area of proc sub-domains -procmap.cpp: // index points to corresponding core factorization -procmap.cpp: // clean-up -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp: // hardwire this for now -procmap.cpp: // get names of all nodes -procmap.cpp: // get number of procs per node -procmap.cpp: // NOTE: could do this without STL map -procmap.cpp: procs_per_numa = procs_per_node / numa_nodes; -procmap.cpp: // error if any of these conditions met -procmap.cpp: if (nprocs % procs_per_numa || // total procs not a multiple of node -procmap.cpp: user_procgrid[0] > 1 || // user specified grid > 1 in any dim -procmap.cpp: // user settings for the factorization per numa node -procmap.cpp: // currently not user settable -procmap.cpp: // if user specifies 1 for a proc grid dimension, -procmap.cpp: // also use 1 for the numa grid dimension -procmap.cpp: // initial factorization within NUMA node -procmap.cpp: // user_nodegrid = implied user constraints on nodes -procmap.cpp: user_nodegrid[0] = user_procgrid[0] / numagrid[0]; -procmap.cpp: user_nodegrid[1] = user_procgrid[1] / numagrid[1]; -procmap.cpp: user_nodegrid[2] = user_procgrid[2] / numagrid[2]; -procmap.cpp: // factorization for the grid of NUMA nodes -procmap.cpp: int node_count = nprocs / procs_per_numa; -procmap.cpp: // repeat NUMA node factorization using subdomain sizes -procmap.cpp: // refines the factorization if the user specified the node layout -procmap.cpp: // NOTE: this will not re-enforce user-procgrid constraint will it? -procmap.cpp: // assign a unique id to each node -procmap.cpp: // return the proc-level factorization -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp: // skip header = blank and comment lines -procmap.cpp: // cmap = map of procs to grid -procmap.cpp: // store for use in custom_map() -procmap.cpp: // error check on cmap values -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp: // setup NUMA params that numa_grid() sets up -procmap.cpp: node_id = me/ncores; -procmap.cpp: nodegrid[0] = procgrid[0] / coregrid[0]; -procmap.cpp: nodegrid[1] = procgrid[1] / coregrid[1]; -procmap.cpp: nodegrid[2] = procgrid[2] / coregrid[2]; -procmap.cpp: // now can use numa_map() to perform mapping -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp: // proc IDs of neighbors -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp: nodegrid[0] = procgrid[0] / coregrid[0]; -procmap.cpp: nodegrid[1] = procgrid[1] / coregrid[1]; -procmap.cpp: nodegrid[2] = procgrid[2] / coregrid[2]; -procmap.cpp: inode = i/coregrid[0]; -procmap.cpp: jnode = j/coregrid[1]; -procmap.cpp: knode = k/coregrid[2]; -procmap.cpp: // proc IDs of neighbors -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp: // setup a per node communicator and find rank within -procmap.cpp: // setup a per numa communicator and find rank within -procmap.cpp: int local_numa = node_rank / procs_per_numa; -procmap.cpp: // setup a communicator with the rank 0 procs from each numa node -procmap.cpp: // use the MPI Cartesian routines to map the nodes to the grid -procmap.cpp: // broadcast numa node location in grid to other procs in numa node -procmap.cpp: // compute my location within the node grid -procmap.cpp: int z_offset = numa_rank / (numagrid[0] * numagrid[1]); -procmap.cpp: int y_offset = (numa_rank % (numagrid[0] * numagrid[1]))/numagrid[0]; -procmap.cpp: // allgather of myloc into gridi to fill grid2proc -procmap.cpp: // proc IDs of neighbors -procmap.cpp: // clean-up -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp: // proc IDs of neighbors -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp: // find me in the grid -procmap.cpp: // polled comm of grid mapping info from each proc to proc 0 -procmap.cpp: // close output file -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp: nyz = n/i; -procmap.cpp: factors[m][2] = nyz/j; -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp: where Nx,Ny,Nz = node grid = procgrid/coregrid -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp: if ((other_procgrid[0]/other_coregrid[0]) % factors[i][0]) flag = 1; -procmap.cpp: if ((other_procgrid[1]/other_coregrid[1]) % factors[i][1]) flag = 1; -procmap.cpp: if ((other_procgrid[2]/other_coregrid[2]) % factors[i][2]) flag = 1; -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -procmap.cpp: // determine cross-sectional areas for orthogonal and triclinic boxes -procmap.cpp: // for triclinic, area = cross product of 2 edge vectors stored in h matrix -procmap.cpp: // area[3] = surface area 3 box faces divided by sx,sy,sz -procmap.cpp: // area[0] = xy, area[1] = xz, area[2] = yz -procmap.cpp: area[0] = domain->xprd * domain->yprd / (sx*sy); -procmap.cpp: area[1] = domain->xprd * domain->zprd / (sx*sz); -procmap.cpp: area[2] = domain->yprd * domain->zprd / (sy*sz); -procmap.cpp: area[0] = sqrt(c[0]*c[0] + c[1]*c[1] + c[2]*c[2]) / (sx*sy); -procmap.cpp: area[1] = sqrt(c[0]*c[0] + c[1]*c[1] + c[2]*c[2]) / (sx*sz); -procmap.cpp: area[2] = sqrt(c[0]*c[0] + c[1]*c[1] + c[2]*c[2]) / (sy*sz); -procmap.cpp: surf = area[0]/factors[m][0]/factors[m][1] + -procmap.cpp: area[1]/factors[m][0]/factors[m][2] + -procmap.cpp: area[2]/factors[m][1]/factors[m][2]; -procmap.cpp:/* ---------------------------------------------------------------------- -procmap.cpp:------------------------------------------------------------------------- */ -python.cpp:/* ---------------------------------------------------------------------- -python.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -python.cpp: http://lammps.sandia.gov, Sandia National Laboratories -python.cpp:------------------------------------------------------------------------- */ -python.cpp:/* ---------------------------------------------------------------------- */ -python.cpp: // implementation of Python interface is only loaded on demand -python.cpp: // and only if PYTHON package has been installed and compiled into binary -python.cpp:/* ---------------------------------------------------------------------- */ -python.cpp:/* ---------------------------------------------------------------------- */ -python.cpp:/* ---------------------------------------------------------------------- */ -python.cpp:/* ---------------------------------------------------------------------- */ -python.cpp:/* ---------------------------------------------------------------------- */ -python.cpp:/* ------------------------------------------------------------------ */ -python.cpp:/* ------------------------------------------------------------------ */ -python.cpp:/* ------------------------------------------------------------------ */ -python.cpp:/* ------------------------------------------------------------------ */ -random_mars.cpp:/* ---------------------------------------------------------------------- -random_mars.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -random_mars.cpp: http://lammps.sandia.gov, Sandia National Laboratories -random_mars.cpp:------------------------------------------------------------------------- */ -random_mars.cpp:// Marsaglia random number generator -random_mars.cpp:// see RANMAR in F James, Comp Phys Comm, 60, 329 (1990) -random_mars.cpp:/* ---------------------------------------------------------------------- */ -random_mars.cpp: ij = (seed-1)/30082; -random_mars.cpp: i = (ij/177) % 177 + 2; -random_mars.cpp: k = (kl/169) % 178 + 1; -random_mars.cpp: c = 362436.0 / 16777216.0; -random_mars.cpp: cd = 7654321.0 / 16777216.0; -random_mars.cpp: cm = 16777213.0 / 16777216.0; -random_mars.cpp:/* ---------------------------------------------------------------------- */ -random_mars.cpp:/* ---------------------------------------------------------------------- -random_mars.cpp:------------------------------------------------------------------------- */ -random_mars.cpp:/* ---------------------------------------------------------------------- -random_mars.cpp:------------------------------------------------------------------------- */ -random_mars.cpp: fac = sqrt(-2.0*log(rsq)/rsq); -random_park.cpp:/* ---------------------------------------------------------------------- -random_park.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -random_park.cpp: http://lammps.sandia.gov, Sandia National Laboratories -random_park.cpp:------------------------------------------------------------------------- */ -random_park.cpp:// Park/Miller RNG -random_park.cpp:#define AM (1.0/IM) -random_park.cpp:/* ---------------------------------------------------------------------- */ -random_park.cpp:/* ---------------------------------------------------------------------- -random_park.cpp:------------------------------------------------------------------------- */ -random_park.cpp: int k = seed/IQ; -random_park.cpp:/* ---------------------------------------------------------------------- -random_park.cpp:------------------------------------------------------------------------- */ -random_park.cpp: fac = sqrt(-2.0*log(rsq)/rsq); -random_park.cpp:/* ---------------------------------------------------------------------- */ -random_park.cpp:/* ---------------------------------------------------------------------- -random_park.cpp:------------------------------------------------------------------------- */ -random_park.cpp: // keep 31 bits of unsigned int as new seed -random_park.cpp: // do not allow seed = 0, since will cause hang in gaussian() -random_park.cpp: // warm up the RNG -random_park.cpp:/* ---------------------------------------------------------------------- */ -rcb.cpp:/* ---------------------------------------------------------------------- -rcb.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -rcb.cpp: http://lammps.sandia.gov, Sandia National Laboratories -rcb.cpp:------------------------------------------------------------------------- */ -rcb.cpp:// prototypes for non-class functions -rcb.cpp:// NOTE: if want to have reuse flag, need to sum Tree across procs -rcb.cpp:/* ---------------------------------------------------------------------- */ -rcb.cpp: // create MPI data and function types for box and median AllReduce ops -rcb.cpp:/* ---------------------------------------------------------------------- */ -rcb.cpp:/* ---------------------------------------------------------------------- -rcb.cpp: perform RCB balancing of N particles at coords X in bounding box LO/HI -rcb.cpp: defined by final lo/hi -rcb.cpp: // NOTE: worry about re-use of data structs for fix balance? -rcb.cpp:------------------------------------------------------------------------- */ -rcb.cpp: // create list of my Dots -rcb.cpp: // initial bounding box = simulation box -rcb.cpp: // includes periodic or shrink-wrapped boundaries -rcb.cpp: // initialize counters -rcb.cpp: // create communicator for use in recursion -rcb.cpp: // recurse until partition is a single proc = me -rcb.cpp: // proclower,procupper = lower,upper procs in partition -rcb.cpp: // procmid = 1st proc in upper half of partition -rcb.cpp: // if odd # of procs, lower partition gets extra one -rcb.cpp: procmid = proclower + (procupper - proclower) / 2 + 1; -rcb.cpp: // determine communication partner(s) -rcb.cpp: // readnumber = # of proc partners to read from -rcb.cpp: // wttot = summed weight of entire partition -rcb.cpp: // search tolerance = largest single weight (plus epsilon) -rcb.cpp: // targetlo = desired weight in lower half of partition -rcb.cpp: // targethi = desired weight in upper half of partition -rcb.cpp: targetlo = wttot * (procmid - proclower) / (procupper + 1 - proclower); -rcb.cpp: // attempt a cut in each dimension -rcb.cpp: // each cut produces 2 boxes, each with a reduced box length in that dim -rcb.cpp: // smaller = the smaller of the 2 reduced box lengths in that dimension -rcb.cpp: // choose to cut in dimension which produces largest smaller value -rcb.cpp: // this should induce final proc sub-boxes to be as cube-ish as possible -rcb.cpp: // dim_select = selected cut dimension -rcb.cpp: // valuehalf_select = valuehalf in that dimension -rcb.cpp: // dotmark_select = dot markings in that dimension -rcb.cpp: // create active list and mark array for dots -rcb.cpp: // initialize active list to all dots -rcb.cpp: // median iteration -rcb.cpp: // zoom in on bisector until correct # of dots in each half of partition -rcb.cpp: // as each iteration of median-loop begins, require: -rcb.cpp: // all non-active dots are marked with 0/1 in dotmark -rcb.cpp: // valuemin <= every active dot <= valuemax -rcb.cpp: // wtlo, wthi = total wt of non-active dots -rcb.cpp: // when leave median-loop, require only: -rcb.cpp: // valuehalf = correct cut position -rcb.cpp: // all dots <= valuehalf are marked with 0 in dotmark -rcb.cpp: // all dots >= valuehalf are marked with 1 in dotmark -rcb.cpp: // markactive = which side of cut is active = 0/1 -rcb.cpp: // indexlo,indexhi = indices of dot closest to median -rcb.cpp: // choose bisector value -rcb.cpp: // use old value on 1st iteration if old cut dimension is the same -rcb.cpp: // on 2nd option: could push valuehalf towards geometric center -rcb.cpp: // with "1.0-factor" to force overshoot -rcb.cpp: valuehalf = valuemin + (targetlo - wtlo) / -rcb.cpp: // initialize local median data structure -rcb.cpp: // mark all active dots on one side or other of bisector -rcb.cpp: // also set all fields in median data struct -rcb.cpp: // save indices of closest dots on either side -rcb.cpp: if (dots[i].x[dim] <= valuehalf) { // in lower part -rcb.cpp: if (dots[i].x[dim] > medme.valuelo) { // my closest dot -rcb.cpp: } else if (dots[i].x[dim] == medme.valuelo) { // tied for closest -rcb.cpp: else { // in upper part -rcb.cpp: if (dots[i].x[dim] < medme.valuehi) { // my closest dot -rcb.cpp: } else if (dots[i].x[dim] == medme.valuehi) { // tied for closest -rcb.cpp: // combine median data struct across current subset of procs -rcb.cpp: // test median guess for convergence -rcb.cpp: // move additional dots that are next to cut across it -rcb.cpp: if (wtlo + med.totallo < targetlo) { // lower half TOO SMALL -rcb.cpp: if (med.counthi == 1) { // only one dot to move -rcb.cpp: if (wtlo + med.wthi < targetlo) { // move it, keep iterating -rcb.cpp: else { // only move if beneficial -rcb.cpp: break; // all done -rcb.cpp: else { // multiple dots to move -rcb.cpp: if (wtlo + med.wthi >= targetlo) { // all done -rcb.cpp: } // wtok = most I can move -rcb.cpp: if (dots[i].x[dim] == med.valuehi) { // only move if better -rcb.cpp: if (breakflag) break; // done if moved enough -rcb.cpp: if (targetlo-wtlo <= tolerance) break; // close enough -rcb.cpp: valuemin = med.valuehi; // iterate again -rcb.cpp: else if (wthi + med.totalhi < targethi) { // upper half TOO SMALL -rcb.cpp: if (med.countlo == 1) { // only one dot to move -rcb.cpp: if (wthi + med.wtlo < targethi) { // move it, keep iterating -rcb.cpp: else { // only move if beneficial -rcb.cpp: break; // all done -rcb.cpp: else { // multiple dots to move -rcb.cpp: if (wthi + med.wtlo >= targethi) { // all done -rcb.cpp: } // wtok = most I can move -rcb.cpp: if (dots[i].x[dim] == med.valuelo) { // only move if better -rcb.cpp: if (breakflag) break; // done if moved enough -rcb.cpp: if (targethi-wthi <= tolerance) break; // close enough -rcb.cpp: valuemax = med.valuelo; // iterate again -rcb.cpp: else // Goldilocks result: both partitions just right -rcb.cpp: // shrink the active list -rcb.cpp: // cut produces 2 sub-boxes with reduced size in dim -rcb.cpp: // compare smaller of the 2 sizes to previous dims -rcb.cpp: // keep dim that has the largest smaller -rcb.cpp: // copy results for best dim cut into dim,valuehalf,dotmark -rcb.cpp: // found median -rcb.cpp: // store cut info only if I am procmid -rcb.cpp: // use cut to shrink my RCB bounding box -rcb.cpp: // outgoing = number of dots to ship to partner -rcb.cpp: // nkeep = number of dots that have never migrated -rcb.cpp: // alert partner how many dots I'll send, read how many I'll recv -rcb.cpp: // check if need to alloc more space -rcb.cpp: // malloc comm send buffer -rcb.cpp: // fill buffer with dots that are marked for sending -rcb.cpp: // pack down the unmarked ones -rcb.cpp: // post receives for dots -rcb.cpp: // handshake before sending dots to insure recvs have been posted -rcb.cpp: // send dots to partner -rcb.cpp: // wait until all dots are received -rcb.cpp: // cut partition in half, create new communicators of 1/2 size -rcb.cpp: // clean up -rcb.cpp: // set public variables with results of rebalance -rcb.cpp:/* ---------------------------------------------------------------------- -rcb.cpp: perform RCB balancing of N particles at coords X in bounding box LO/HI -rcb.cpp: defined by final lo/hi -rcb.cpp: // NOTE: worry about re-use of data structs for fix balance? -rcb.cpp:------------------------------------------------------------------------- */ -rcb.cpp: // create list of my Dots -rcb.cpp: // initial bounding box = simulation box -rcb.cpp: // includes periodic or shrink-wrapped boundaries -rcb.cpp: // initialize counters -rcb.cpp: // create communicator for use in recursion -rcb.cpp: // recurse until partition is a single proc = me -rcb.cpp: // proclower,procupper = lower,upper procs in partition -rcb.cpp: // procmid = 1st proc in upper half of partition -rcb.cpp: // if odd # of procs, lower partition gets extra one -rcb.cpp: procmid = proclower + (procupper - proclower) / 2 + 1; -rcb.cpp: // determine communication partner(s) -rcb.cpp: // readnumber = # of proc partners to read from -rcb.cpp: // wttot = summed weight of entire partition -rcb.cpp: // search tolerance = largest single weight (plus epsilon) -rcb.cpp: // targetlo = desired weight in lower half of partition -rcb.cpp: // targethi = desired weight in upper half of partition -rcb.cpp: targetlo = wttot * (procmid - proclower) / (procupper + 1 - proclower); -rcb.cpp: // dim = dimension to bisect on -rcb.cpp: // do not allow choice of z dimension for 2d system -rcb.cpp: // create active list and mark array for dots -rcb.cpp: // initialize active list to all dots -rcb.cpp: // median iteration -rcb.cpp: // zoom in on bisector until correct # of dots in each half of partition -rcb.cpp: // as each iteration of median-loop begins, require: -rcb.cpp: // all non-active dots are marked with 0/1 in dotmark -rcb.cpp: // valuemin <= every active dot <= valuemax -rcb.cpp: // wtlo, wthi = total wt of non-active dots -rcb.cpp: // when leave median-loop, require only: -rcb.cpp: // valuehalf = correct cut position -rcb.cpp: // all dots <= valuehalf are marked with 0 in dotmark -rcb.cpp: // all dots >= valuehalf are marked with 1 in dotmark -rcb.cpp: // markactive = which side of cut is active = 0/1 -rcb.cpp: // indexlo,indexhi = indices of dot closest to median -rcb.cpp: // choose bisector value -rcb.cpp: // use old value on 1st iteration if old cut dimension is the same -rcb.cpp: // on 2nd option: could push valuehalf towards geometric center -rcb.cpp: // with "1.0-factor" to force overshoot -rcb.cpp: valuehalf = valuemin + (targetlo - wtlo) / -rcb.cpp: // initialize local median data structure -rcb.cpp: // mark all active dots on one side or other of bisector -rcb.cpp: // also set all fields in median data struct -rcb.cpp: // save indices of closest dots on either side -rcb.cpp: if (dots[i].x[dim] <= valuehalf) { // in lower part -rcb.cpp: if (dots[i].x[dim] > medme.valuelo) { // my closest dot -rcb.cpp: } else if (dots[i].x[dim] == medme.valuelo) { // tied for closest -rcb.cpp: else { // in upper part -rcb.cpp: if (dots[i].x[dim] < medme.valuehi) { // my closest dot -rcb.cpp: } else if (dots[i].x[dim] == medme.valuehi) { // tied for closest -rcb.cpp: // combine median data struct across current subset of procs -rcb.cpp: // test median guess for convergence -rcb.cpp: // move additional dots that are next to cut across it -rcb.cpp: if (wtlo + med.totallo < targetlo) { // lower half TOO SMALL -rcb.cpp: if (med.counthi == 1) { // only one dot to move -rcb.cpp: if (wtlo + med.wthi < targetlo) { // move it, keep iterating -rcb.cpp: else { // only move if beneficial -rcb.cpp: break; // all done -rcb.cpp: else { // multiple dots to move -rcb.cpp: if (wtlo + med.wthi >= targetlo) { // all done -rcb.cpp: } // wtok = most I can move -rcb.cpp: if (dots[i].x[dim] == med.valuehi) { // only move if better -rcb.cpp: if (breakflag) break; // done if moved enough -rcb.cpp: if (targetlo-wtlo <= tolerance) break; // close enough -rcb.cpp: valuemin = med.valuehi; // iterate again -rcb.cpp: else if (wthi + med.totalhi < targethi) { // upper half TOO SMALL -rcb.cpp: if (med.countlo == 1) { // only one dot to move -rcb.cpp: if (wthi + med.wtlo < targethi) { // move it, keep iterating -rcb.cpp: else { // only move if beneficial -rcb.cpp: break; // all done -rcb.cpp: else { // multiple dots to move -rcb.cpp: if (wthi + med.wtlo >= targethi) { // all done -rcb.cpp: } // wtok = most I can move -rcb.cpp: if (dots[i].x[dim] == med.valuelo) { // only move if better -rcb.cpp: if (breakflag) break; // done if moved enough -rcb.cpp: if (targethi-wthi <= tolerance) break; // close enough -rcb.cpp: valuemax = med.valuelo; // iterate again -rcb.cpp: else // Goldilocks result: both partitions just right -rcb.cpp: // shrink the active list -rcb.cpp: // found median -rcb.cpp: // store cut info only if I am procmid -rcb.cpp: // use cut to shrink my RCB bounding box -rcb.cpp: // outgoing = number of dots to ship to partner -rcb.cpp: // nkeep = number of dots that have never migrated -rcb.cpp: // alert partner how many dots I'll send, read how many I'll recv -rcb.cpp: // check if need to alloc more space -rcb.cpp: // malloc comm send buffer -rcb.cpp: // fill buffer with dots that are marked for sending -rcb.cpp: // pack down the unmarked ones -rcb.cpp: // post receives for dots -rcb.cpp: // handshake before sending dots to insure recvs have been posted -rcb.cpp: // send dots to partner -rcb.cpp: // wait until all dots are received -rcb.cpp: // cut partition in half, create new communicators of 1/2 size -rcb.cpp: // clean up -rcb.cpp: // set public variables with results of rebalance -rcb.cpp:/* ---------------------------------------------------------------------- -rcb.cpp:------------------------------------------------------------------------- */ -rcb.cpp:/* ---------------------------------------------------------------------- -rcb.cpp:------------------------------------------------------------------------- */ -rcb.cpp:/* ---------------------------------------------------------------------- -rcb.cpp:------------------------------------------------------------------------- */ -rcb.cpp: // only create Irregular if not previously created -rcb.cpp: // allows Irregular to persist for multiple RCB calls by fix balance -rcb.cpp: // nsend = # of dots to request from other procs -rcb.cpp: // perform inversion via irregular comm -rcb.cpp: // nrecv = # of my dots to send to other procs -rcb.cpp: // set public variables from requests to send my dots -rcb.cpp: // clean-up -rcb.cpp:/* ---------------------------------------------------------------------- -rcb.cpp:------------------------------------------------------------------------- */ -rcb.cpp:// ----------------------------------------------------------------------- -rcb.cpp:// DEBUG methods -rcb.cpp:// ----------------------------------------------------------------------- -rcb.cpp:/* -rcb.cpp:// consistency checks on RCB results -rcb.cpp: // check that total # of dots remained the same -rcb.cpp: // check that result is load-balanced within log2(P)*max-wt -rcb.cpp: // i = smallest power-of-2 >= nprocs -rcb.cpp: // tolerance = largest-single-weight*log2(nprocs) -rcb.cpp: // check that final set of points is inside RCB box of each proc -rcb.cpp:// stats for RCB decomposition -rcb.cpp: // distribution info -rcb.cpp: wttot/nprocs,wtmax,wtmin); -rcb.cpp: // counter info -rcb.cpp: ave = ((double) sum)/nprocs; -rcb.cpp: ave = ((double) sum)/nprocs; -rcb.cpp: ave = ((double) sum)/nprocs; -rcb.cpp: ave = ((double) sum)/nprocs; -rcb.cpp: ave = ((double) sum)/nprocs; -rcb.cpp: ave = ((double) sum)/nprocs; -rcb.cpp: ave = ((double) sum)/nprocs; -rcb.cpp: // RCB boxes for each proc -rcb.cpp:*/ -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -read_data.cpp: http://lammps.sandia.gov, Sandia National Laboratories -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp:// lmptype.h must be first b/c this file uses MAXBIGINT and includes mpi.h -read_data.cpp:// due to OpenMPI bug which sets INT64_MAX via its mpi.h -read_data.cpp:// before lmptype.h can set flags to insure it is done correctly -read_data.cpp:#define DELTA 4 // must be 2 or larger -read_data.cpp:#define MAXBODY 32 // max # of lines in one body -read_data.cpp: // customize for new sections -read_data.cpp:#define NSECTIONS 25 // change when add to header::section_keywords -read_data.cpp:// pair style suffixes to ignore -read_data.cpp:// when matching Pair Coeffs comment to currently-defined pair style -read_data.cpp:const char *suffixes[] = {"/cuda","/gpu","/opt","/omp","/kk", -read_data.cpp: "/coul/cut","/coul/long","/coul/msm", -read_data.cpp: "/coul/dsf","/coul/debye","/coul/charmm", -read_data.cpp:/* ---------------------------------------------------------------------- */ -read_data.cpp: // customize for new sections -read_data.cpp: // pointers to atom styles that store extra info -read_data.cpp:/* ---------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- */ -read_data.cpp: // optional args -read_data.cpp: } else if (strcmp(arg[iarg],"extra/atom/types") == 0) { -read_data.cpp: } else if (strcmp(arg[iarg],"extra/bond/types") == 0) { -read_data.cpp: } else if (strcmp(arg[iarg],"extra/angle/types") == 0) { -read_data.cpp: } else if (strcmp(arg[iarg],"extra/dihedral/types") == 0) { -read_data.cpp: } else if (strcmp(arg[iarg],"extra/improper/types") == 0) { -read_data.cpp: // error checks -read_data.cpp: // first time system initialization -read_data.cpp: // compute atomID offset for addflag = MERGE -read_data.cpp: // set up pointer to hold original styles while we replace them with "zero" -read_data.cpp: // ----------------------------------------------------------------- -read_data.cpp: // perform 1-pass read if no molecular topology in file -read_data.cpp: // perform 2-pass read if molecular topology, -read_data.cpp: // first pass calculates max topology/atom -read_data.cpp: // flags for this data file -read_data.cpp: // values in this data file -read_data.cpp: // open file on proc 0 -read_data.cpp: // read header info -read_data.cpp: // problem setup using info from header -read_data.cpp: // only done once, if firstpass and first data file -read_data.cpp: // apply extra settings before grow(), even if no topology in file -read_data.cpp: // deallocate() insures new settings are used for topology arrays -read_data.cpp: // if per-atom topology is in file, another grow() is done below -read_data.cpp: else n = static_cast (LB_FACTOR * atom->natoms / comm->nprocs); -read_data.cpp: // change simulation box to be union of existing box and new box + shift -read_data.cpp: // only done if firstpass and not first data file -read_data.cpp: // NOTE: not sure what to do about tilt value in subsequent data files -read_data.cpp: //if (triclinic) { -read_data.cpp: // domain->xy = xy; domain->xz = xz; domain->yz = yz; -read_data.cpp: // } -read_data.cpp: // customize for new sections -read_data.cpp: // read rest of file in free format -read_data.cpp: // if special fix matches, it processes section -read_data.cpp: } else skip_lines(ntypes*(ntypes+1)/2); -read_data.cpp: // error if natoms > 0 yet no atoms were read -read_data.cpp: // close file -read_data.cpp: // done if this was 2nd pass -read_data.cpp: // at end of 1st pass, error check for required sections -read_data.cpp: // customize for new sections -read_data.cpp: // break out of loop if no molecular topology in file -read_data.cpp: // else make 2nd pass -read_data.cpp: // reallocate bond,angle,diehdral,improper arrays via grow() -read_data.cpp: // will use new bond,angle,dihedral,improper per-atom values from 1st pass -read_data.cpp: // will also observe extra settings even if bond/etc topology not in file -read_data.cpp: // leaves other atom arrays unchanged, since already nmax in length -read_data.cpp: // init per-atom fix/compute/variable values for created atoms -read_data.cpp: // assign atoms added by this data file to specified group -read_data.cpp: // create special bond lists for molecular systems -read_data.cpp: // for atom style template systems, count total bonds,angles,etc -read_data.cpp: atom->nbonds /= 2; -read_data.cpp: atom->nangles /= 3; -read_data.cpp: atom->ndihedrals /= 4; -read_data.cpp: atom->nimpropers /= 4; -read_data.cpp: // for atom style template systems -read_data.cpp: // insure nbondtypes,etc are still consistent with template molecules, -read_data.cpp: // in case data file re-defined them -read_data.cpp: // if adding atoms, migrate atoms to new processors -read_data.cpp: // use irregular() b/c box size could have changed dramaticaly -read_data.cpp: // resulting in procs now owning very different subboxes -read_data.cpp: // with their previously owned atoms now far outside the subbox -read_data.cpp: // shrink-wrap the box if necessary and move atoms to new procs -read_data.cpp: // if atoms are lost is b/c data file box was far from shrink-wrapped -read_data.cpp: // do not use irregular() comm, which would not lose atoms, -read_data.cpp: // b/c then user could specify data file box as far too big and empty -read_data.cpp: // do comm->init() but not comm->setup() b/c pair/neigh cutoffs not yet set -read_data.cpp: // need call to map_set() b/c comm->exchange clears atom map -read_data.cpp: // restore old styles, when reading with nocoeff flag given -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp: // customize for new sections -read_data.cpp: // skip 1st line of file -read_data.cpp: // read a line and bcast length -read_data.cpp: // if n = 0 then end-of-file so return with blank line -read_data.cpp: // trim anything from '#' onward -read_data.cpp: // if line is blank, continue -read_data.cpp: // allow special fixes first chance to match and process the line -read_data.cpp: // if fix matches, continue to next header line -read_data.cpp: // search line for header keyword and set corresponding variable -read_data.cpp: // customize for new header lines -read_data.cpp: // check for triangles before angles so "triangles" not matched as "angles" -read_data.cpp: // Atom class type settings are only set by first data file -read_data.cpp: // these settings only used by first data file -read_data.cpp: // local copy of box info -read_data.cpp: // so can treat differently for first vs subsequent data files -read_data.cpp: // error check on total system size -read_data.cpp: // check that exiting string is a valid section keyword -read_data.cpp: // error checks on header values -read_data.cpp: // must be consistent with atom style and other header values -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp: // check that all atoms were assigned correctly -read_data.cpp: // check that atom IDs are valid -read_data.cpp: // create global mapping of atoms -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp: // allocate count if firstpass -read_data.cpp: // read and process bonds -read_data.cpp: // if firstpass: tally max bond/atom and return -read_data.cpp: // if addflag = NONE, store max bond/atom with extra -read_data.cpp: // else just check actual max does not exceed existing max -read_data.cpp: if (screen) fprintf(screen," %d = max bonds/atom\n",maxall); -read_data.cpp: if (logfile) fprintf(logfile," %d = max bonds/atom\n",maxall); -read_data.cpp: // if 2nd pass: check that bonds were assigned correctly -read_data.cpp: if (screen) fprintf(screen," " BIGINT_FORMAT " bonds\n",sum/factor); -read_data.cpp: if (logfile) fprintf(logfile," " BIGINT_FORMAT " bonds\n",sum/factor); -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp: // allocate count if firstpass -read_data.cpp: // read and process angles -read_data.cpp: // if firstpass: tally max angle/atom and return -read_data.cpp: // if addflag = NONE, store max angle/atom with extra -read_data.cpp: // else just check actual max does not exceed existing max -read_data.cpp: if (screen) fprintf(screen," %d = max angles/atom\n",maxall); -read_data.cpp: if (logfile) fprintf(logfile," %d = max angles/atom\n",maxall); -read_data.cpp: // if 2nd pass: check that angles were assigned correctly -read_data.cpp: if (screen) fprintf(screen," " BIGINT_FORMAT " angles\n",sum/factor); -read_data.cpp: if (logfile) fprintf(logfile," " BIGINT_FORMAT " angles\n",sum/factor); -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp: // allocate count if firstpass -read_data.cpp: // read and process dihedrals -read_data.cpp: // if firstpass: tally max dihedral/atom and return -read_data.cpp: // if addflag = NONE, store max dihedral/atom with extra -read_data.cpp: // else just check actual max does not exceed existing max -read_data.cpp: if (screen) fprintf(screen," %d = max dihedrals/atom\n",maxall); -read_data.cpp: if (logfile) fprintf(logfile," %d = max dihedrals/atom\n",maxall); -read_data.cpp: // if 2nd pass: check that dihedrals were assigned correctly -read_data.cpp: if (screen) fprintf(screen," " BIGINT_FORMAT " dihedrals\n",sum/factor); -read_data.cpp: if (logfile) fprintf(logfile," " BIGINT_FORMAT " dihedrals\n",sum/factor); -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp: // allocate count if firstpass -read_data.cpp: // read and process impropers -read_data.cpp: // if firstpass: tally max improper/atom and return -read_data.cpp: // if addflag = NONE, store max improper/atom -read_data.cpp: // else just check it does not exceed existing max -read_data.cpp: if (screen) fprintf(screen," %d = max impropers/atom\n",maxall); -read_data.cpp: if (logfile) fprintf(logfile," %d = max impropers/atom\n",maxall); -read_data.cpp: // if 2nd pass: check that impropers were assigned correctly -read_data.cpp: if (screen) fprintf(screen," " BIGINT_FORMAT " impropers\n",sum/factor); -read_data.cpp: if (logfile) fprintf(logfile," " BIGINT_FORMAT " impropers\n",sum/factor); -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp: // nmax = max # of bodies to read in this chunk -read_data.cpp: // nchunk = actual # read -read_data.cpp: // read lines one at a time into buffer and count words -read_data.cpp: // count to ninteger and ndouble until have enough lines -read_data.cpp:/* ---------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- */ -read_data.cpp: int nsq = ntypes * (ntypes+1) / 2; -read_data.cpp:/* ---------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp: keyword is all text on line w/out leading & trailing white space -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp: // proc 0 reads upto non-blank line plus 1 following line -read_data.cpp: // eof is set to 1 if any read hits end-of-file -read_data.cpp: // if eof, set keyword empty and return -read_data.cpp: // bcast keyword line to all procs -read_data.cpp: // store optional "style" following comment char '#' after keyword -read_data.cpp: // copy non-whitespace portion of line into keyword -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp: if addstr != NULL, add addstr as extra arg for class2 angle/dihedral/improper -read_data.cpp: if noffset, add offset to first noffset args, which are atom/bond/etc types -read_data.cpp:------------------------------------------------------------------------- */ -read_data.cpp:/* ---------------------------------------------------------------------- -read_data.cpp:------------------------------------------------------------------------- */ -read_dump.cpp:/* ---------------------------------------------------------------------- -read_dump.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -read_dump.cpp: http://lammps.sandia.gov, Sandia National Laboratories -read_dump.cpp:------------------------------------------------------------------------- */ -read_dump.cpp:/* ---------------------------------------------------------------------- -read_dump.cpp:------------------------------------------------------------------------- */ -read_dump.cpp:// lmptype.h must be first b/c this file uses MAXBIGINT and includes mpi.h -read_dump.cpp:// due to OpenMPI bug which sets INT64_MAX via its mpi.h -read_dump.cpp:// before lmptype.h can set flags to insure it is done correctly -read_dump.cpp:// also in reader_native.cpp -read_dump.cpp:/* ---------------------------------------------------------------------- */ -read_dump.cpp:/* ---------------------------------------------------------------------- */ -read_dump.cpp:/* ---------------------------------------------------------------------- */ -read_dump.cpp: // find the snapshot and read/bcast/process header info -read_dump.cpp: // reset timestep to nstep -read_dump.cpp: // counters -read_dump.cpp: // read in the snapshot and reset system -read_dump.cpp: // print out stats -read_dump.cpp:/* ---------------------------------------------------------------------- */ -read_dump.cpp:/* ---------------------------------------------------------------------- */ -read_dump.cpp: // allocate snapshot field buffer -read_dump.cpp: // create reader class -read_dump.cpp: // match readerstyle to options in style_reader.h -read_dump.cpp: if (0) return; // dummy line to enable else-if macro expansion -read_dump.cpp: // unrecognized style -read_dump.cpp: // pass any arguments to reader -read_dump.cpp:/* ---------------------------------------------------------------------- -read_dump.cpp:------------------------------------------------------------------------- */ -read_dump.cpp: // exit file loop when dump timestep >= nrequest -read_dump.cpp: // or files exhausted -read_dump.cpp:/* ---------------------------------------------------------------------- -read_dump.cpp:------------------------------------------------------------------------- */ -read_dump.cpp: // exit file loop when dump timestep matches all criteria -read_dump.cpp: // or files exhausted -read_dump.cpp:/* ---------------------------------------------------------------------- -read_dump.cpp:------------------------------------------------------------------------- */ -read_dump.cpp: // local copy of snapshot box parameters -read_dump.cpp: // used in xfield,yfield,zfield when converting dump atom to absolute coords -read_dump.cpp: // done if not checking fields -read_dump.cpp: // error check on current vs new box and fields -read_dump.cpp: // triclinic_snap < 0 means no box info in file -read_dump.cpp: // error check on requested fields exisiting in dump file -read_dump.cpp: // all explicitly requested x,y,z must have consistent scaling & wrapping -read_dump.cpp: "Read_dump xyz fields do not have consistent scaling/wrapping"); -read_dump.cpp: // set scaled/wrapped based on xyz flags -read_dump.cpp: // scaled, triclinic coords require all 3 x,y,z fields, to perform unscaling -read_dump.cpp: // set yindex,zindex = column index of Y and Z fields in fields array -read_dump.cpp: // needed for unscaling to absolute coords in xfield(), yfield(), zfield() -read_dump.cpp:/* ---------------------------------------------------------------------- */ -read_dump.cpp: // initialize counters -read_dump.cpp: // if purgeflag set, delete all current atoms -read_dump.cpp: // to match existing atoms to dump atoms: -read_dump.cpp: // must build map if not a molecular system -read_dump.cpp: // uflag[i] = 1 for each owned atom appearing in dump -read_dump.cpp: // ucflag = similar flag for each chunk atom, used in process_atoms() -read_dump.cpp: // read, broadcast, and process atoms from snapshot in chunks -read_dump.cpp: // if addflag set, add tags to new atoms if possible -read_dump.cpp: // if trimflag set, delete atoms not replaced by snapshot atoms -read_dump.cpp: // can now delete uflag arrays -read_dump.cpp: // delete atom map if created it above -read_dump.cpp: // else reinitialize map for current atoms -read_dump.cpp: // do this before migrating atoms to new procs via Irregular -read_dump.cpp: // overwrite simulation box with dump snapshot box if requested -read_dump.cpp: // reallocate processors to box -read_dump.cpp: // move atoms back inside simulation box and to new processors -read_dump.cpp: // use remap() instead of pbc() in case atoms moved a long distance -read_dump.cpp: // adjust image flags of all atoms (old and new) based on current box -read_dump.cpp: // use irregular() in case atoms moved a long distance -read_dump.cpp: // check that atom IDs are valid -read_dump.cpp:/* ---------------------------------------------------------------------- -read_dump.cpp:------------------------------------------------------------------------- */ -read_dump.cpp: // per-field vectors, leave space for ID and TYPE -read_dump.cpp: // add id and type fields as needed -read_dump.cpp: // scan ahead to see if "add yes" keyword/value is used -read_dump.cpp: // requires extra "type" field from from dump file -read_dump.cpp: // parse fields -read_dump.cpp: // check for no fields -read_dump.cpp: // parse optional args -read_dump.cpp:/* ---------------------------------------------------------------------- -read_dump.cpp:------------------------------------------------------------------------- */ -read_dump.cpp:/* ---------------------------------------------------------------------- -read_dump.cpp: use round-robin method, b/c atom coords may not be inside simulation box -read_dump.cpp:------------------------------------------------------------------------- */ -read_dump.cpp: // check if new atom matches one I own -read_dump.cpp: // setting m = -1 forces new atom not to match -read_dump.cpp: // NOTE: atom ID in fields is stored as double, not as ubuf -read_dump.cpp: // so can only cast it to tagint, thus cannot be full 64-bit ID -read_dump.cpp: // current image flags -read_dump.cpp: // overwrite atom attributes with field info -read_dump.cpp: // start from field 1 since 0 = id, 1 will be skipped if type -read_dump.cpp: // replace image flag in case changed by ix,iy,iz fields or unwrapping -read_dump.cpp: // create any atoms in chunk that no processor owned -read_dump.cpp: // add atoms in round-robin sequence on processors -read_dump.cpp: // cannot do it geometrically b/c dump coords may not be in simulation box -read_dump.cpp: // each processor adds every Pth atom -read_dump.cpp: // create type and coord fields from dump file -read_dump.cpp: // coord = 0.0 unless corresponding dump file field was specified -read_dump.cpp: // create the atom on proc that owns it -read_dump.cpp: // reset v,image ptrs in case they are reallocated -read_dump.cpp: // set atom attributes from other dump file fields -read_dump.cpp: // replace image flag in case changed by ix,iy,iz fields -read_dump.cpp: // init per-atom fix/compute/variable values for created atoms -read_dump.cpp:/* ---------------------------------------------------------------------- -read_dump.cpp:------------------------------------------------------------------------- */ -read_dump.cpp:/* ---------------------------------------------------------------------- -read_dump.cpp:------------------------------------------------------------------------- */ -reader.cpp:/* ---------------------------------------------------------------------- -reader.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -reader.cpp: http://lammps.sandia.gov, Sandia National Laboratories -reader.cpp:------------------------------------------------------------------------- */ -reader.cpp:/* ---------------------------------------------------------------------- */ -reader.cpp:/* ---------------------------------------------------------------------- -reader.cpp:------------------------------------------------------------------------- */ -reader.cpp:/* ---------------------------------------------------------------------- -reader.cpp:------------------------------------------------------------------------- */ -reader_native.cpp:/* ---------------------------------------------------------------------- -reader_native.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -reader_native.cpp: http://lammps.sandia.gov, Sandia National Laboratories -reader_native.cpp:------------------------------------------------------------------------- */ -reader_native.cpp:#define MAXLINE 1024 // max line length in dump file -reader_native.cpp:// also in read_dump.cpp -reader_native.cpp:/* ---------------------------------------------------------------------- */ -reader_native.cpp:/* ---------------------------------------------------------------------- */ -reader_native.cpp:/* ---------------------------------------------------------------------- -reader_native.cpp:------------------------------------------------------------------------- */ -reader_native.cpp:/* ---------------------------------------------------------------------- -reader_native.cpp:------------------------------------------------------------------------- */ -reader_native.cpp: // invoke read_lines() in chunks no larger than MAXSMALLINT -reader_native.cpp:/* ---------------------------------------------------------------------- -reader_native.cpp: xyz flags = UNSET (not a requested field), SCALE/WRAP as in enum -reader_native.cpp:------------------------------------------------------------------------- */ -reader_native.cpp: // if no field info requested, just return -reader_native.cpp: // exatract column labels and match to requested fields -reader_native.cpp: // match each field with a column of per-atom data -reader_native.cpp: // if fieldlabel set, match with explicit column -reader_native.cpp: // else infer one or more column matches from fieldtype -reader_native.cpp: // xyz flag set by scaleflag + wrapflag (if fieldlabel set) or column label -reader_native.cpp: // set fieldflag = -1 if any unfound fields -reader_native.cpp: // create internal vector of word ptrs for future parsing of per-atom lines -reader_native.cpp:/* ---------------------------------------------------------------------- -reader_native.cpp:------------------------------------------------------------------------- */ -reader_native.cpp: // tokenize the line -reader_native.cpp: // convert selected fields to floats -reader_native.cpp:/* ---------------------------------------------------------------------- -reader_native.cpp:------------------------------------------------------------------------- */ -reader_native.cpp:/* ---------------------------------------------------------------------- -reader_native.cpp:------------------------------------------------------------------------- */ -reader_xyz.cpp:/* ---------------------------------------------------------------------- -reader_xyz.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -reader_xyz.cpp: http://lammps.sandia.gov, Sandia National Laboratories -reader_xyz.cpp:------------------------------------------------------------------------- */ -reader_xyz.cpp:/* ---------------------------------------------------------------------- -reader_xyz.cpp:------------------------------------------------------------------------- */ -reader_xyz.cpp:#define MAXLINE 1024 // max line length in dump file -reader_xyz.cpp:/* ---------------------------------------------------------------------- */ -reader_xyz.cpp:/* ---------------------------------------------------------------------- */ -reader_xyz.cpp:/* ---------------------------------------------------------------------- -reader_xyz.cpp:------------------------------------------------------------------------- */ -reader_xyz.cpp: // first line has to have the number of atoms -reader_xyz.cpp: // truncate the string to the first whitespace, -reader_xyz.cpp: // so force->bnumeric() does not hiccup -reader_xyz.cpp: // skip over comment/title line -reader_xyz.cpp: // fake time step numbers -reader_xyz.cpp: // count this frame -reader_xyz.cpp:/* ---------------------------------------------------------------------- -reader_xyz.cpp:------------------------------------------------------------------------- */ -reader_xyz.cpp: // invoke read_lines() in chunks no larger than MAXSMALLINT -reader_xyz.cpp:/* ---------------------------------------------------------------------- -reader_xyz.cpp:------------------------------------------------------------------------- */ -reader_xyz.cpp: // signal that we have no box info at all -reader_xyz.cpp: // if no field info requested, just return -reader_xyz.cpp: // for xyz we know nothing about the style of coordinates, -reader_xyz.cpp: // so caller has to set the proper flags -reader_xyz.cpp: // copy fieldtype list for supported fields -reader_xyz.cpp:/* ---------------------------------------------------------------------- -reader_xyz.cpp:------------------------------------------------------------------------- */ -reader_xyz.cpp: // XXX: we could insert an element2type translation here -reader_xyz.cpp: // XXX: for now we flag unrecognized types as type 0, -reader_xyz.cpp: // XXX: which should trigger an error, if LAMMPS uses it. -reader_xyz.cpp:/* ---------------------------------------------------------------------- -reader_xyz.cpp:------------------------------------------------------------------------- */ -read_restart.cpp:/* ---------------------------------------------------------------------- -read_restart.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -read_restart.cpp: http://lammps.sandia.gov, Sandia National Laboratories -read_restart.cpp:------------------------------------------------------------------------- */ -read_restart.cpp:// same as write_restart.cpp -read_restart.cpp:/* ---------------------------------------------------------------------- */ -read_restart.cpp:/* ---------------------------------------------------------------------- */ -read_restart.cpp: // check for remap option -read_restart.cpp: // if filename contains "*", search dir for latest restart file -read_restart.cpp: // check for multiproc files and an MPI-IO filename -read_restart.cpp: // open single restart file or base file for multiproc case -read_restart.cpp: // read magic string, endian flag, numeric version -read_restart.cpp: // read header info which creates simulation box -read_restart.cpp: // problem setup using info from header -read_restart.cpp: else n = static_cast (LB_FACTOR * atom->natoms / nprocs); -read_restart.cpp: // read groups, ntype-length arrays, force field, fix info from file -read_restart.cpp: // nextra = max # of extra quantities stored with each atom -read_restart.cpp: // read file layout info -read_restart.cpp: // close header file if in multiproc mode -read_restart.cpp: // read per-proc info -read_restart.cpp: // MPI-IO input from single file -read_restart.cpp: // input of single native file -read_restart.cpp: // nprocs_file = # of chunks in file -read_restart.cpp: // proc 0 reads a chunk and bcasts it to other procs -read_restart.cpp: // each proc unpacks the atoms, saving ones in it's sub-domain -read_restart.cpp: // if remapflag set, remap the atom to box before checking sub-domain -read_restart.cpp: // check for atom in sub-domain differs for orthogonal vs triclinic box -read_restart.cpp: // input of multiple native files with procs <= files -read_restart.cpp: // # of files = multiproc_file -read_restart.cpp: // each proc reads a subset of files, striding by nprocs -read_restart.cpp: // each proc keeps all atoms in all perproc chunks in its files -read_restart.cpp: // input of multiple native files with procs > files -read_restart.cpp: // # of files = multiproc_file -read_restart.cpp: // cluster procs based on # of files -read_restart.cpp: // 1st proc in each cluster reads per-proc chunks from file -read_restart.cpp: // sends chunks round-robin to other procs in its cluster -read_restart.cpp: // each proc keeps all atoms in its perproc chunks in file -read_restart.cpp: // nclusterprocs = # of procs in my cluster that read from one file -read_restart.cpp: // filewriter = 1 if this proc reads file, else 0 -read_restart.cpp: // fileproc = ID of proc in my cluster who reads from file -read_restart.cpp: // clustercomm = MPI communicator within my cluster of procs -read_restart.cpp: int icluster = static_cast ((bigint) me * nfile/nprocs); -read_restart.cpp: int fileproc = static_cast ((bigint) icluster * nprocs/nfile); -read_restart.cpp: int fcluster = static_cast ((bigint) fileproc * nfile/nprocs); -read_restart.cpp: static_cast ((bigint) (icluster+1) * nprocs/nfile); -read_restart.cpp: fcluster = static_cast ((bigint) fileprocnext * nfile/nprocs); -read_restart.cpp: // clean-up memory -read_restart.cpp: // for multiproc or MPI-IO files: -read_restart.cpp: // perform irregular comm to migrate atoms to correct procs -read_restart.cpp: // if remapflag set, remap all atoms I read back to box before migrating -read_restart.cpp: // create a temporary fix to hold and migrate extra atom info -read_restart.cpp: // necessary b/c irregular will migrate atoms -read_restart.cpp: // move atoms to new processors via irregular() -read_restart.cpp: // turn sorting on in migrate_atoms() to avoid non-reproducible restarts -read_restart.cpp: // in case read by different proc than wrote restart file -read_restart.cpp: // first do map_init() since irregular->migrate_atoms() will do map_clear() -read_restart.cpp: // put extra atom info held by fix back into atom->extra -read_restart.cpp: // destroy temporary fix -read_restart.cpp: // check that all atoms were assigned to procs -read_restart.cpp: // check that atom IDs are valid -read_restart.cpp: // create global mapping of atoms -read_restart.cpp: // create special bond lists for molecular systems -read_restart.cpp:/* ---------------------------------------------------------------------- -read_restart.cpp:------------------------------------------------------------------------- */ -read_restart.cpp: // separate infile into dir + filename -read_restart.cpp: if (strchr(infile,'/')) { -read_restart.cpp: ptr = strrchr(infile,'/'); -read_restart.cpp: *ptr = '/'; -read_restart.cpp: strcpy(dirname,"./"); -read_restart.cpp: // if filename contains "%" replace "%" with "base" -read_restart.cpp: // scan all files in directory, searching for files that match pattern -read_restart.cpp: // maxnum = largest int that matches "*" -read_restart.cpp: // create outfile with maxint substituted for "*" -read_restart.cpp: // use original infile, not pattern, since need to retain "%" in filename -read_restart.cpp: // clean up -read_restart.cpp:/* ---------------------------------------------------------------------- -read_restart.cpp:------------------------------------------------------------------------- */ -read_restart.cpp: // read flags and fields until flag = -1 -read_restart.cpp: // check restart file version, warn if different -read_restart.cpp: // check lmptype.h sizes, error if different -read_restart.cpp: // reset unit_style only if different -read_restart.cpp: // so that timestep,neighbor-skin are not changed -read_restart.cpp: // set dimension from restart file -read_restart.cpp: // read nprocs from restart file, warn if different -read_restart.cpp: // don't set procgrid, warn if different -read_restart.cpp: // don't set newton_pair, leave input script value unchanged -read_restart.cpp: // set newton_bond from restart file -read_restart.cpp: // warn if different and input script settings are not default -read_restart.cpp: // set boundary settings from restart file -read_restart.cpp: // warn if different and input script settings are not default -read_restart.cpp: // create new AtomVec class using any stored args -read_restart.cpp:/* ---------------------------------------------------------------------- */ -read_restart.cpp:/* ---------------------------------------------------------------------- */ -read_restart.cpp:/* ---------------------------------------------------------------------- */ -read_restart.cpp: // on rank 0 read in the chunk sizes that were written out -read_restart.cpp: // then consolidate them and compute offsets relative to the -read_restart.cpp: // end of the header info to fit the current partition size -read_restart.cpp: // if the number of ranks that did the writing is different -read_restart.cpp: int init_chunk_number = nprocs_file/nprocs; -read_restart.cpp: // scatter chunk sizes and offsets to all procs -read_restart.cpp: // if MPI-IO file, broadcast the end of the header offste -read_restart.cpp: // this allows all ranks to compute offset to their data -read_restart.cpp:// ---------------------------------------------------------------------- -read_restart.cpp:// ---------------------------------------------------------------------- -read_restart.cpp:// low-level fread methods -read_restart.cpp:// ---------------------------------------------------------------------- -read_restart.cpp:// ---------------------------------------------------------------------- -read_restart.cpp:/* ---------------------------------------------------------------------- -read_restart.cpp:------------------------------------------------------------------------- */ -read_restart.cpp:/* ---------------------------------------------------------------------- -read_restart.cpp:------------------------------------------------------------------------- */ -read_restart.cpp:/* ---------------------------------------------------------------------- -read_restart.cpp:------------------------------------------------------------------------- */ -read_restart.cpp:/* ---------------------------------------------------------------------- -read_restart.cpp:------------------------------------------------------------------------- */ -read_restart.cpp:/* ---------------------------------------------------------------------- -read_restart.cpp:------------------------------------------------------------------------- */ -read_restart.cpp:/* ---------------------------------------------------------------------- -read_restart.cpp:------------------------------------------------------------------------- */ -read_restart.cpp:/* ---------------------------------------------------------------------- -read_restart.cpp:------------------------------------------------------------------------- */ -read_restart.cpp:/* ---------------------------------------------------------------------- -read_restart.cpp:------------------------------------------------------------------------- */ -read_restart.cpp:/* ---------------------------------------------------------------------- -read_restart.cpp:------------------------------------------------------------------------- */ -region_block.cpp:/* ---------------------------------------------------------------------- -region_block.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -region_block.cpp: http://lammps.sandia.gov, Sandia National Laboratories -region_block.cpp:------------------------------------------------------------------------- */ -region_block.cpp:/* ---------------------------------------------------------------------- */ -region_block.cpp: // error check -region_block.cpp: // extent of block -region_block.cpp: // particle could be close to all 6 planes -region_block.cpp: // particle can only touch 3 planes -region_block.cpp: // open face data structs -region_block.cpp: // face[0] -region_block.cpp: // face[1] -region_block.cpp: // face[2] -region_block.cpp: // face[3] -region_block.cpp: // face[4] -region_block.cpp: // face[5] -region_block.cpp:/* ---------------------------------------------------------------------- */ -region_block.cpp:/* ---------------------------------------------------------------------- -region_block.cpp:------------------------------------------------------------------------- */ -region_block.cpp:/* ---------------------------------------------------------------------- -region_block.cpp: no contact if outside (possible if called from union/intersect) -region_block.cpp:------------------------------------------------------------------------- */ -region_block.cpp: // x is exterior to block -region_block.cpp: // x is interior to block or on its surface -region_block.cpp:/* ---------------------------------------------------------------------- -region_block.cpp: no contact if inside (possible if called from union/intersect) -region_block.cpp:------------------------------------------------------------------------- */ -region_block.cpp: // x is far enough from block that there is no contact -region_block.cpp: // x is interior to block -region_block.cpp: // x is exterior to block or on its surface -region_block.cpp: // xp,yp,zp = point on surface of block that x is closest to -region_block.cpp: // could be edge or corner pt of block -region_block.cpp: // do not add contact point if r >= cutoff -region_block.cpp:/*------------------------------------------------------------------------ -region_block.cpp:--------------------------------------------------------------------------*/ -region_block.cpp: // check if point projects inside of face -region_block.cpp: // check each edge -region_block.cpp:/*------------------------------------------------------------------------ -region_block.cpp:--------------------------------------------------------------------------*/ -region_cone.cpp:/* ---------------------------------------------------------------------- -region_cone.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -region_cone.cpp: http://lammps.sandia.gov, Sandia National Laboratories -region_cone.cpp:------------------------------------------------------------------------- */ -region_cone.cpp:/* ---------------------------------------------------------------------- -region_cone.cpp:------------------------------------------------------------------------- */ -region_cone.cpp:/* ---------------------------------------------------------------------- */ -region_cone.cpp: // check open face settings -region_cone.cpp: // error check -region_cone.cpp: // extent of cone -region_cone.cpp: // particle could be close to cone surface and 2 ends -region_cone.cpp: // particle can only touch surface and 1 end -region_cone.cpp:/* ---------------------------------------------------------------------- */ -region_cone.cpp:/* ---------------------------------------------------------------------- -region_cone.cpp:------------------------------------------------------------------------- */ -region_cone.cpp: currentradius = radiuslo + (x-lo)*(radiushi-radiuslo)/(hi-lo); -region_cone.cpp: currentradius = radiuslo + (y-lo)*(radiushi-radiuslo)/(hi-lo); -region_cone.cpp: currentradius = radiuslo + (z-lo)*(radiushi-radiuslo)/(hi-lo); -region_cone.cpp:/* ---------------------------------------------------------------------- -region_cone.cpp: no contact if outside (possible if called from union/intersect) -region_cone.cpp:------------------------------------------------------------------------- */ -region_cone.cpp: currentradius = radiuslo + (x[0]-lo)*(radiushi-radiuslo)/(hi-lo); -region_cone.cpp: // x is exterior to cone -region_cone.cpp: // x is interior to cone or on its surface -region_cone.cpp: // surflo = pt on outer circle of bottom end plane, same dir as x vs axis -region_cone.cpp: // surfhi = pt on outer circle of top end plane, same dir as x vs axis -region_cone.cpp: surflo[1] = c1 + del1*radiuslo/r; -region_cone.cpp: surflo[2] = c2 + del2*radiuslo/r; -region_cone.cpp: surfhi[1] = c1 + del1*radiushi/r; -region_cone.cpp: surfhi[2] = c2 + del2*radiushi/r; -region_cone.cpp: (radiushi-radiuslo)/(hi-lo)); -region_cone.cpp: (radiushi-radiuslo)/(hi-lo); -region_cone.cpp: // y is exterior to cone -region_cone.cpp: // y is interior to cone or on its surface -region_cone.cpp: // surflo = pt on outer circle of bottom end plane, same dir as y vs axis -region_cone.cpp: // surfhi = pt on outer circle of top end plane, same dir as y vs axis -region_cone.cpp: surflo[0] = c1 + del1*radiuslo/r; -region_cone.cpp: surflo[2] = c2 + del2*radiuslo/r; -region_cone.cpp: surfhi[0] = c1 + del1*radiushi/r; -region_cone.cpp: surfhi[2] = c2 + del2*radiushi/r; -region_cone.cpp: (radiushi-radiuslo)/(hi-lo)); -region_cone.cpp: currentradius = radiuslo + (x[2]-lo)*(radiushi-radiuslo)/(hi-lo); -region_cone.cpp: // z is exterior to cone -region_cone.cpp: // z is interior to cone or on its surface -region_cone.cpp: // surflo = pt on outer circle of bottom end plane, same dir as z vs axis -region_cone.cpp: // surfhi = pt on outer circle of top end plane, same dir as z vs axis -region_cone.cpp: surflo[0] = c1 + del1*radiuslo/r; -region_cone.cpp: surflo[1] = c2 + del2*radiuslo/r; -region_cone.cpp: surfhi[0] = c1 + del1*radiushi/r; -region_cone.cpp: surfhi[1] = c2 + del2*radiushi/r; -region_cone.cpp: (radiushi-radiuslo)/(hi-lo)); -region_cone.cpp:/* ---------------------------------------------------------------------- -region_cone.cpp: no contact if inside (possible if called from union/intersect) -region_cone.cpp:------------------------------------------------------------------------- */ -region_cone.cpp: currentradius = radiuslo + (x[0]-lo)*(radiushi-radiuslo)/(hi-lo); -region_cone.cpp: // radius of curvature, only used for granular walls -region_cone.cpp: // x is far enough from cone that there is no contact -region_cone.cpp: // x is interior to cone -region_cone.cpp: // x is exterior to cone or on its surface -region_cone.cpp: // corner1234 = 4 corner pts of half trapezoid = cone surf in plane of x -region_cone.cpp: // project x to 3 line segments in half trapezoid (4th is axis of cone) -region_cone.cpp: // nearest = point on surface of cone that x is closest to -region_cone.cpp: // could be edge of cone -region_cone.cpp: // do not add contact point if r >= cutoff -region_cone.cpp: corner1[1] = c1 + del1*radiuslo/r; -region_cone.cpp: corner1[2] = c2 + del2*radiuslo/r; -region_cone.cpp: corner2[1] = c1 + del1*radiushi/r; -region_cone.cpp: corner2[2] = c2 + del2*radiushi/r; -region_cone.cpp: crad = -2.0*(radiuslo + (nearest[0]-lo)*(radiushi-radiuslo)/(hi-lo)); -region_cone.cpp: currentradius = radiuslo + (x[1]-lo)*(radiushi-radiuslo)/(hi-lo); -region_cone.cpp: // radius of curvature, only used for granular walls -region_cone.cpp: // y is far enough from cone that there is no contact -region_cone.cpp: // y is interior to cone -region_cone.cpp: // y is exterior to cone or on its surface -region_cone.cpp: // corner1234 = 4 corner pts of half trapezoid = cone surf in plane of y -region_cone.cpp: // project x to 3 line segments in half trapezoid (4th is axis of cone) -region_cone.cpp: // nearest = point on surface of cone that y is closest to -region_cone.cpp: // could be edge of cone -region_cone.cpp: // do not add contact point if r >= cutoff -region_cone.cpp: corner1[0] = c1 + del1*radiuslo/r; -region_cone.cpp: corner1[2] = c2 + del2*radiuslo/r; -region_cone.cpp: corner2[0] = c1 + del1*radiushi/r; -region_cone.cpp: corner2[2] = c2 + del2*radiushi/r; -region_cone.cpp: crad = -2.0*(radiuslo + (nearest[1]-lo)*(radiushi-radiuslo)/(hi-lo)); -region_cone.cpp: currentradius = radiuslo + (x[2]-lo)*(radiushi-radiuslo)/(hi-lo); -region_cone.cpp: // radius of curvature, only used for granular walls -region_cone.cpp: // z is far enough from cone that there is no contact -region_cone.cpp: // z is interior to cone -region_cone.cpp: // z is exterior to cone or on its surface -region_cone.cpp: // corner1234 = 4 corner pts of half trapezoid = cone surf in plane of z -region_cone.cpp: // project x to 3 line segments in half trapezoid (4th is axis of cone) -region_cone.cpp: // nearest = point on surface of cone that z is closest to -region_cone.cpp: // could be edge of cone -region_cone.cpp: // do not add contact point if r >= cutoff -region_cone.cpp: corner1[0] = c1 + del1*radiuslo/r; -region_cone.cpp: corner1[1] = c2 + del2*radiuslo/r; -region_cone.cpp: corner2[0] = c1 + del1*radiushi/r; -region_cone.cpp: corner2[1] = c2 + del2*radiushi/r; -region_cone.cpp: crad = -2.0*(radiuslo + (nearest[2]-lo)*(radiushi-radiuslo)/(hi-lo)); -region_cone.cpp:/* ---------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -region.cpp: http://lammps.sandia.gov, Sandia National Laboratories -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp: return 1 if region is dynamic (moves/rotates) or has variable shape -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp: also insures variables are invoked by all procs even those w/out atoms -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp:------------------------------------------------------------------------- */ -region.cpp: // one of surface_int/ext() will return 0 -region.cpp: // so no need to worry about offset of contact indices -region.cpp:/* ---------------------------------------------------------------------- -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp: pre-compute dx,dy,dz and theta for a moving/rotating region -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp: sign of angle determines whether rotating forward/backward in time -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp:------------------------------------------------------------------------- */ -region.cpp: // option defaults -region.cpp: // additional checks on valid face index are done by region classes -region.cpp: // error check -region.cpp: // setup scaling -region.cpp: // runit = unit vector along rotation axis -region.cpp: runit[0] = axis[0]/len; -region.cpp: runit[1] = axis[1]/len; -region.cpp: runit[2] = axis[2]/len; -region.cpp:/* ---------------------------------------------------------------------- -region.cpp:------------------------------------------------------------------------- */ -region.cpp: double t = MathExtra::dot3(ca,ba) / MathExtra::dot3(ba,ba); -region.cpp:/* ---------------------------------------------------------------------- -region.cpp: necessary b/c motion variables are for displacement & theta -region.cpp: called by fix wall/gran/region every timestep -region.cpp:------------------------------------------------------------------------- */ -region.cpp: v[0] = (dx - prev[0])/update->dt; -region.cpp: v[1] = (dy - prev[1])/update->dt; -region.cpp: v[2] = (dz - prev[2])/update->dt; -region.cpp: double angvel = (theta-prev[3]) / update->dt; -region.cpp:/* ---------------------------------------------------------------------- -region.cpp: since contacts only store delx/y/z, need to pass particle coords -region.cpp: called by fix/wall/gran/region every contact every timestep -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp: used by restart of fix/wall/gran/region -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp: region writes its current style, id, number of sub-regions, position/angle -region.cpp: needed by fix/wall/gran/region to compute velocity by differencing scheme -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp: if they match current region, also read previous position/angle -region.cpp: needed by fix/wall/gran/region to compute velocity by differencing scheme -region.cpp:------------------------------------------------------------------------- */ -region.cpp:/* ---------------------------------------------------------------------- -region.cpp:------------------------------------------------------------------------- */ -region_cylinder.cpp:/* ---------------------------------------------------------------------- -region_cylinder.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -region_cylinder.cpp: http://lammps.sandia.gov, Sandia National Laboratories -region_cylinder.cpp:------------------------------------------------------------------------- */ -region_cylinder.cpp:/* ---------------------------------------------------------------------- */ -region_cylinder.cpp: // check open face settings -region_cylinder.cpp: // error check -region_cylinder.cpp: // extent of cylinder -region_cylinder.cpp: // for variable radius, uses initial radius -region_cylinder.cpp: // particle could be close to cylinder surface and 2 ends -region_cylinder.cpp: // particle can only touch surface and 1 end -region_cylinder.cpp:/* ---------------------------------------------------------------------- */ -region_cylinder.cpp:/* ---------------------------------------------------------------------- */ -region_cylinder.cpp:/* ---------------------------------------------------------------------- -region_cylinder.cpp:------------------------------------------------------------------------- */ -region_cylinder.cpp:/* ---------------------------------------------------------------------- -region_cylinder.cpp: no contact if outside (possible if called from union/intersect) -region_cylinder.cpp:------------------------------------------------------------------------- */ -region_cylinder.cpp: // x is exterior to cylinder -region_cylinder.cpp: // x is interior to cylinder or on its surface -region_cylinder.cpp: contact[n].dely = del1*(1.0-radius/r); -region_cylinder.cpp: contact[n].delz = del2*(1.0-radius/r); -region_cylinder.cpp: // y is exterior to cylinder -region_cylinder.cpp: // y is interior to cylinder or on its surface -region_cylinder.cpp: contact[n].delx = del1*(1.0-radius/r); -region_cylinder.cpp: contact[n].delz = del2*(1.0-radius/r); -region_cylinder.cpp: // z is exterior to cylinder -region_cylinder.cpp: // z is interior to cylinder or on its surface -region_cylinder.cpp: contact[n].delx = del1*(1.0-radius/r); -region_cylinder.cpp: contact[n].dely = del2*(1.0-radius/r); -region_cylinder.cpp:/* ---------------------------------------------------------------------- -region_cylinder.cpp: no contact if inside (possible if called from union/intersect) -region_cylinder.cpp:------------------------------------------------------------------------- */ -region_cylinder.cpp: // radius of curvature for granular -region_cylinder.cpp: // 0 for flat surfaces (infinite case), 2*radius for curved portion -region_cylinder.cpp: // x is far enough from cylinder that there is no contact -region_cylinder.cpp: // x is interior to cylinder -region_cylinder.cpp: // x is exterior to cylinder or on its surface -region_cylinder.cpp: // xp,yp,zp = point on surface of cylinder that x is closest to -region_cylinder.cpp: // could be edge of cylinder -region_cylinder.cpp: // do not add contact point if r >= cutoff -region_cylinder.cpp: yp = c1 + del1*radius/r; -region_cylinder.cpp: zp = c2 + del2*radius/r; -region_cylinder.cpp: // closest point on curved surface -region_cylinder.cpp: yp = c1 + del1*radius/r; -region_cylinder.cpp: zp = c2 + del2*radius/r; -region_cylinder.cpp: // closest point on bottom cap -region_cylinder.cpp: // closest point on top cap -region_cylinder.cpp: // y is far enough from cylinder that there is no contact -region_cylinder.cpp: // y is interior to cylinder -region_cylinder.cpp: // y is exterior to cylinder or on its surface -region_cylinder.cpp: // xp,yp,zp = point on surface of cylinder that x is closest to -region_cylinder.cpp: // could be edge of cylinder -region_cylinder.cpp: // do not add contact point if r >= cutoff -region_cylinder.cpp: xp = c1 + del1*radius/r; -region_cylinder.cpp: zp = c2 + del2*radius/r; -region_cylinder.cpp: // closest point on curved surface -region_cylinder.cpp: xp = c1 + del1*radius/r; -region_cylinder.cpp: zp = c2 + del2*radius/r; -region_cylinder.cpp: // closest point on bottom cap -region_cylinder.cpp: // closest point on top cap -region_cylinder.cpp: // z is far enough from cylinder that there is no contact -region_cylinder.cpp: // z is interior to cylinder -region_cylinder.cpp: // z is exterior to cylinder or on its surface -region_cylinder.cpp: // xp,yp,zp = point on surface of cylinder that x is closest to -region_cylinder.cpp: // could be edge of cylinder -region_cylinder.cpp: // do not add contact point if r >= cutoff -region_cylinder.cpp: xp = c1 + del1*radius/r; -region_cylinder.cpp: yp = c2 + del2*radius/r; -region_cylinder.cpp: // closest point on curved surface -region_cylinder.cpp: xp = c1 + del1*radius/r; -region_cylinder.cpp: yp = c2 + del2*radius/r; -region_cylinder.cpp: // closest point on bottom cap -region_cylinder.cpp: // closest point on top cap -region_cylinder.cpp:/* ---------------------------------------------------------------------- -region_cylinder.cpp:------------------------------------------------------------------------- */ -region_cylinder.cpp:/* ---------------------------------------------------------------------- -region_cylinder.cpp:------------------------------------------------------------------------- */ -region_cylinder.cpp:/* ---------------------------------------------------------------------- -region_cylinder.cpp: called once per timestep by fix/wall/gran/region. -region_cylinder.cpp:------------------------------------------------------------------------- */ -region_cylinder.cpp:/* ---------------------------------------------------------------------- -region_cylinder.cpp:------------------------------------------------------------------------- */ -region_cylinder.cpp: double delx, dely, delz; // Displacement of contact point in x,y,z -region_cylinder.cpp: dely = (xc[1] - xcenter[1])*(1 - rprev/radius); -region_cylinder.cpp: delz = (xc[2] - xcenter[2])*(1 - rprev/radius); -region_cylinder.cpp: delx = (xc[0] - xcenter[0])*(1 - rprev/radius); -region_cylinder.cpp: delz = (xc[2] - xcenter[2])*(1 - rprev/radius); -region_cylinder.cpp: delx = (xc[0] - xcenter[0])*(1 - rprev/radius); -region_cylinder.cpp: dely = (xc[1] - xcenter[1])*(1 - rprev/radius); -region_cylinder.cpp: vwall[0] += delx/update->dt; -region_cylinder.cpp: vwall[1] += dely/update->dt; -region_cylinder.cpp: vwall[2] += delz/update->dt; -region_cylinder.cpp: //printf ("R is %g, prev %g, velocity of wall at %g %g %g is %g %g %g\n",radius,rprev,xc[0],xc[1],xc[2],vwall[0],vwall[1],vwall[2]); -region_intersect.cpp:/* ---------------------------------------------------------------------- -region_intersect.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -region_intersect.cpp: http://lammps.sandia.gov, Sandia National Laboratories -region_intersect.cpp:------------------------------------------------------------------------- */ -region_intersect.cpp:/* ---------------------------------------------------------------------- */ -region_intersect.cpp: // build list of regions to intersect -region_intersect.cpp: // store sub-region IDs in idsub -region_intersect.cpp: // this region is variable shape or dynamic if any of sub-regions are -region_intersect.cpp: // extent of intersection of regions -region_intersect.cpp: // has bounding box if interior and any sub-region has bounding box -region_intersect.cpp: // possible contacts = sum of possible contacts in all sub-regions -region_intersect.cpp: // for near contacts and touching contacts -region_intersect.cpp:/* ---------------------------------------------------------------------- */ -region_intersect.cpp:/* ---------------------------------------------------------------------- */ -region_intersect.cpp: // re-build list of sub-regions in case other regions were deleted -region_intersect.cpp: // error if a sub-region was deleted -region_intersect.cpp: // init the sub-regions -region_intersect.cpp:/* ---------------------------------------------------------------------- -region_intersect.cpp:------------------------------------------------------------------------- */ -region_intersect.cpp:/* ---------------------------------------------------------------------- -region_intersect.cpp:------------------------------------------------------------------------- */ -region_intersect.cpp: // increment by cmax instead of tmax to insure -region_intersect.cpp: // possible wall IDs for sub-regions are non overlapping -region_intersect.cpp:/* ---------------------------------------------------------------------- -region_intersect.cpp: (1) flip interior/exterior flag of each sub-region -region_intersect.cpp: (4) flip interior/exterior flags back to original settings -region_intersect.cpp:------------------------------------------------------------------------- */ -region_intersect.cpp:/* ---------------------------------------------------------------------- -region_intersect.cpp:------------------------------------------------------------------------- */ -region_intersect.cpp:/* ---------------------------------------------------------------------- -region_intersect.cpp: move/rotate all sub-regions -region_intersect.cpp:------------------------------------------------------------------------- */ -region_intersect.cpp:/* ---------------------------------------------------------------------- -region_intersect.cpp: get translational/angular velocities of all subregions -region_intersect.cpp:------------------------------------------------------------------------- */ -region_intersect.cpp:/* ---------------------------------------------------------------------- -region_intersect.cpp: used by restart of fix/wall/gran/region -region_intersect.cpp:------------------------------------------------------------------------- */ -region_intersect.cpp:/* ---------------------------------------------------------------------- -region_intersect.cpp: region writes its current position/angle -region_intersect.cpp: needed by fix/wall/gran/region to compute velocity by differencing scheme -region_intersect.cpp:------------------------------------------------------------------------- */ -region_intersect.cpp:/* ---------------------------------------------------------------------- -region_intersect.cpp: region reads its previous position/angle -region_intersect.cpp: needed by fix/wall/gran/region to compute velocity by differencing scheme -region_intersect.cpp:------------------------------------------------------------------------- */ -region_intersect.cpp:/* ---------------------------------------------------------------------- -region_intersect.cpp:------------------------------------------------------------------------- */ -region_plane.cpp:/* ---------------------------------------------------------------------- -region_plane.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -region_plane.cpp: http://lammps.sandia.gov, Sandia National Laboratories -region_plane.cpp:------------------------------------------------------------------------- */ -region_plane.cpp:/* ---------------------------------------------------------------------- */ -region_plane.cpp: // enforce unit normal -region_plane.cpp: normal[0] /= sqrt(rsq); -region_plane.cpp: normal[1] /= sqrt(rsq); -region_plane.cpp: normal[2] /= sqrt(rsq); -region_plane.cpp: // plane has no bounding box -region_plane.cpp:/* ---------------------------------------------------------------------- */ -region_plane.cpp:/* ---------------------------------------------------------------------- -region_plane.cpp:------------------------------------------------------------------------- */ -region_plane.cpp:/* ---------------------------------------------------------------------- -region_plane.cpp: no contact if on other side (possible if called from union/intersect) -region_plane.cpp:------------------------------------------------------------------------- */ -region_plane.cpp:/* ---------------------------------------------------------------------- -region_plane.cpp: no contact if on other side (possible if called from union/intersect) -region_plane.cpp:------------------------------------------------------------------------- */ -region_prism.cpp:/* ---------------------------------------------------------------------- -region_prism.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -region_prism.cpp: http://lammps.sandia.gov, Sandia National Laboratories -region_prism.cpp:------------------------------------------------------------------------- */ -region_prism.cpp:/* ---------------------------------------------------------------------- -region_prism.cpp:------------------------------------------------------------------------- */ -region_prism.cpp:/* ---------------------------------------------------------------------- */ -region_prism.cpp: // error check -region_prism.cpp: // prism cannot be 0 thickness in any dim, else inverse blows up -region_prism.cpp: // non-zero tilt values cannot be used if either dim is INF on both ends -region_prism.cpp: // extent of prism -region_prism.cpp: // particle could be close to all 6 planes -region_prism.cpp: // particle can only touch 3 planes -region_prism.cpp: // h = transformation matrix from tilt coords (0-1) to box coords (xyz) -region_prism.cpp: // columns of h are edge vectors of tilted box -region_prism.cpp: // hinv = transformation matrix from box coords to tilt coords -region_prism.cpp: // both h and hinv are upper triangular -region_prism.cpp: // since 1st edge of prism is along x-axis -region_prism.cpp: // and bottom face of prism is in xy plane -region_prism.cpp: hinv[0][0] = 1.0/h[0][0]; -region_prism.cpp: hinv[0][1] = -h[0][1] / (h[0][0]*h[1][1]); -region_prism.cpp: hinv[0][2] = (h[0][1]*h[1][2] - h[0][2]*h[1][1]) / (h[0][0]*h[1][1]*h[2][2]); -region_prism.cpp: hinv[1][1] = 1.0/h[1][1]; -region_prism.cpp: hinv[1][2] = -h[1][2] / (h[1][1]*h[2][2]); -region_prism.cpp: hinv[2][2] = 1.0/h[2][2]; -region_prism.cpp: // corners = 8 corner points of prism -region_prism.cpp: // order = x varies fastest, then y, finally z -region_prism.cpp: // clo/chi = lo and hi corner pts of prism -region_prism.cpp: // face = 6 inward-facing unit normals to prism faces -region_prism.cpp: // order = xy plane, xz plane, yz plane -region_prism.cpp: // remap open face indices to be consistent -region_prism.cpp: // tri = 3 vertices (0-7) in each of 12 triangles on 6 faces -region_prism.cpp: // verts in each tri are ordered so that right-hand rule gives inward norm -region_prism.cpp: // order = xy plane, xz plane, yz plane -region_prism.cpp:/* ---------------------------------------------------------------------- */ -region_prism.cpp:/* ---------------------------------------------------------------------- -region_prism.cpp: abc = Hinv * (xyz - xyz/lo) -region_prism.cpp: xyz/lo = lower-left corner of prism -region_prism.cpp:------------------------------------------------------------------------- */ -region_prism.cpp:/* ---------------------------------------------------------------------- -region_prism.cpp: no contact if outside (possible if called from union/intersect) -region_prism.cpp:------------------------------------------------------------------------- */ -region_prism.cpp: // x is exterior to prism -region_prism.cpp: // x is interior to prism or on its surface -region_prism.cpp:/* ---------------------------------------------------------------------- -region_prism.cpp: no contact if inside (possible if called from union/intersect) -region_prism.cpp:------------------------------------------------------------------------- */ -region_prism.cpp: // x is far enough from prism that there is no contact -region_prism.cpp: // x is interior to prism -region_prism.cpp: // x is exterior to prism or on its surface -region_prism.cpp: // xp,yp,zp = point on surface of prism that x is closest to -region_prism.cpp: // could be edge or corner pt of prism -region_prism.cpp: // do not add contact point if r >= cutoff -region_prism.cpp:/* ---------------------------------------------------------------------- -region_prism.cpp:------------------------------------------------------------------------- */ -region_prism.cpp: // generate successive xnear points, one nearest to x is (xp,yp,zp) -region_prism.cpp: // loop over 6 faces and 2 triangles in each face -region_prism.cpp: // xproj = x projected to plane of triangle -region_prism.cpp: // if xproj is inside or on triangle boundary, that is xnear -region_prism.cpp: // else: loop over 3 edges of triangle -region_prism.cpp: // compute distance to edge line -region_prism.cpp: // xnear = nearest point on line to xproj, bounded by segment end pts -region_prism.cpp: iface = itri/2; -region_prism.cpp:/* ---------------------------------------------------------------------- -region_prism.cpp:------------------------------------------------------------------------- */ -region_prism.cpp:/* ---------------------------------------------------------------------- */ -region_sphere.cpp:/* ---------------------------------------------------------------------- -region_sphere.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -region_sphere.cpp: http://lammps.sandia.gov, Sandia National Laboratories -region_sphere.cpp:------------------------------------------------------------------------- */ -region_sphere.cpp:/* ---------------------------------------------------------------------- */ -region_sphere.cpp: // error check -region_sphere.cpp: // extent of sphere -region_sphere.cpp: // for variable radius, uses initial radius -region_sphere.cpp:/* ---------------------------------------------------------------------- */ -region_sphere.cpp:/* ---------------------------------------------------------------------- */ -region_sphere.cpp:/* ---------------------------------------------------------------------- -region_sphere.cpp:------------------------------------------------------------------------- */ -region_sphere.cpp:/* ---------------------------------------------------------------------- -region_sphere.cpp: no contact if outside (possible if called from union/intersect) -region_sphere.cpp:------------------------------------------------------------------------- */ -region_sphere.cpp: contact[0].delx = delx*(1.0-radius/r); -region_sphere.cpp: contact[0].dely = dely*(1.0-radius/r); -region_sphere.cpp: contact[0].delz = delz*(1.0-radius/r); -region_sphere.cpp:/* ---------------------------------------------------------------------- -region_sphere.cpp: no contact if inside (possible if called from union/intersect) -region_sphere.cpp:------------------------------------------------------------------------- */ -region_sphere.cpp: contact[0].delx = delx*(1.0-radius/r); -region_sphere.cpp: contact[0].dely = dely*(1.0-radius/r); -region_sphere.cpp: contact[0].delz = delz*(1.0-radius/r); -region_sphere.cpp:/* ---------------------------------------------------------------------- -region_sphere.cpp:------------------------------------------------------------------------- */ -region_sphere.cpp:/* ---------------------------------------------------------------------- -region_sphere.cpp:------------------------------------------------------------------------- */ -region_sphere.cpp:/* ---------------------------------------------------------------------- -region_sphere.cpp: called once per timestep by fix/wall/gran/region. -region_sphere.cpp:------------------------------------------------------------------------- */ -region_sphere.cpp:/* ---------------------------------------------------------------------- -region_sphere.cpp:------------------------------------------------------------------------- */ -region_sphere.cpp: double delx, dely, delz; // Displacement of contact point in x,y,z -region_sphere.cpp: delx = (xc[0] - xcenter[0])*(1 - rprev/radius); -region_sphere.cpp: dely = (xc[1] - xcenter[1])*(1 - rprev/radius); -region_sphere.cpp: delz = (xc[2] - xcenter[2])*(1 - rprev/radius); -region_sphere.cpp: vwall[0] += delx/update->dt; -region_sphere.cpp: vwall[1] += dely/update->dt; -region_sphere.cpp: vwall[2] += delz/update->dt; -region_union.cpp:/* ---------------------------------------------------------------------- -region_union.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -region_union.cpp: http://lammps.sandia.gov, Sandia National Laboratories -region_union.cpp:------------------------------------------------------------------------- */ -region_union.cpp:/* ---------------------------------------------------------------------- */ -region_union.cpp: // build list of region indices to union -region_union.cpp: // store sub-region IDs in idsub -region_union.cpp: // this region is variable shape or dynamic if any of sub-regions are -region_union.cpp: // extent of union of regions -region_union.cpp: // has bounding box if interior and all sub-regions have bounding box -region_union.cpp: // possible contacts = sum of possible contacts in all sub-regions -region_union.cpp: // for near contacts and touching contacts -region_union.cpp:/* ---------------------------------------------------------------------- */ -region_union.cpp:/* ---------------------------------------------------------------------- */ -region_union.cpp: // re-build list of sub-regions in case other regions were deleted -region_union.cpp: // error if a sub-region was deleted -region_union.cpp: // init the sub-regions -region_union.cpp:/* ---------------------------------------------------------------------- -region_union.cpp:------------------------------------------------------------------------- */ -region_union.cpp:/* ---------------------------------------------------------------------- -region_union.cpp:------------------------------------------------------------------------- */ -region_union.cpp: // increment by cmax instead of tmax to insure -region_union.cpp: // possible wall IDs for sub-regions are non overlapping -region_union.cpp:/* ---------------------------------------------------------------------- -region_union.cpp: (1) flip interior/exterior flag of each sub-region -region_union.cpp: (4) flip interior/exterior flags back to original settings -region_union.cpp:------------------------------------------------------------------------- */ -region_union.cpp:/* ---------------------------------------------------------------------- -region_union.cpp:------------------------------------------------------------------------- */ -region_union.cpp:/* ---------------------------------------------------------------------- -region_union.cpp: move/rotate all sub-regions -region_union.cpp:------------------------------------------------------------------------- */ -region_union.cpp:/* ---------------------------------------------------------------------- -region_union.cpp: get translational/angular velocities of all subregions -region_union.cpp:------------------------------------------------------------------------- */ -region_union.cpp:/* ---------------------------------------------------------------------- -region_union.cpp: used by restart of fix/wall/gran/region -region_union.cpp:------------------------------------------------------------------------- */ -region_union.cpp:/* ---------------------------------------------------------------------- -region_union.cpp: region writes its current position/angle -region_union.cpp: needed by fix/wall/gran/region to compute velocity by differencing scheme -region_union.cpp:------------------------------------------------------------------------- */ -region_union.cpp:/* ---------------------------------------------------------------------- -region_union.cpp: region reads its previous position/angle -region_union.cpp: needed by fix/wall/gran/region to compute velocity by differencing scheme -region_union.cpp:------------------------------------------------------------------------- */ -region_union.cpp:/* ---------------------------------------------------------------------- -region_union.cpp:------------------------------------------------------------------------- */ -replicate.cpp:/* ---------------------------------------------------------------------- -replicate.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -replicate.cpp: http://lammps.sandia.gov, Sandia National Laboratories -replicate.cpp:------------------------------------------------------------------------- */ -replicate.cpp:enum{LAYOUT_UNIFORM,LAYOUT_NONUNIFORM,LAYOUT_TILED}; // several files -replicate.cpp:/* ---------------------------------------------------------------------- */ -replicate.cpp:/* ---------------------------------------------------------------------- */ -replicate.cpp: // nrep = total # of replications -replicate.cpp: // error and warning checks -replicate.cpp: // maxtag = largest atom tag across all existing atoms -replicate.cpp: // maxmol = largest molecule tag across all existing atoms -replicate.cpp: // unmap existing atoms via image flags -replicate.cpp: // communication buffer for all my atom's info -replicate.cpp: // max_size = largest buffer needed by any proc -replicate.cpp: // must do before new Atom class created, -replicate.cpp: // since size_restart() uses atom->nlocal -replicate.cpp: // old = original atom class -replicate.cpp: // atom = new replicated atom class -replicate.cpp: // also set atomKK for Kokkos version of Atom class -replicate.cpp: // check that new system will not be too large -replicate.cpp: // new tags cannot exceed MAXTAGINT -replicate.cpp: // new system sizes cannot exceed MAXBIGINT -replicate.cpp: // assign atom and topology counts in new class from old one -replicate.cpp: // store old simulation box -replicate.cpp: // setup new simulation box -replicate.cpp: // new problem setup using new box boundaries -replicate.cpp: else n = static_cast (LB_FACTOR * atom->natoms / nprocs); -replicate.cpp: // copy type arrays to new atom class -replicate.cpp: // set bounds for my proc -replicate.cpp: // if periodic and I am lo/hi proc, adjust bounds by EPSILON -replicate.cpp: // insures all replicated atoms will be owned even with round-off -replicate.cpp: // loop over all procs -replicate.cpp: // if this iteration of loop is me: -replicate.cpp: // pack my unmapped atom data into buf -replicate.cpp: // bcast it to all other procs -replicate.cpp: // performs 3d replicate loop with while loop over atoms in buf -replicate.cpp: // x = new replicated position, remapped into simulation box -replicate.cpp: // unpack atom into new atom class from buf if I own it -replicate.cpp: // adjust tag, mol #, coord, topology info as needed -replicate.cpp: // while loop over one proc's atom list -replicate.cpp: // free communication buffer and old atom class -replicate.cpp: // check that all atoms were assigned to procs -replicate.cpp: // check that atom IDs are valid -replicate.cpp: // create global mapping of atoms -replicate.cpp: // create special bond lists for molecular systems -rerun.cpp:/* ---------------------------------------------------------------------- -rerun.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -rerun.cpp: http://lammps.sandia.gov, Sandia National Laboratories -rerun.cpp:------------------------------------------------------------------------- */ -rerun.cpp:/* ---------------------------------------------------------------------- */ -rerun.cpp:/* ---------------------------------------------------------------------- */ -rerun.cpp: // list of dump files = args until a keyword -rerun.cpp: // parse optional args up until "dump" -rerun.cpp: // user MAXBIGINT -1 so Output can add 1 to it and still be a big int -rerun.cpp: // pass list of filenames to ReadDump -rerun.cpp: // along with post-"dump" args and post-"format" args -rerun.cpp: // perform the pseudo run -rerun.cpp: // invoke lmp->init() only once -rerun.cpp: // read all relevant snapshots -rerun.cpp: // use setup_minimal() since atoms are already owned by correct procs -rerun.cpp: // addstep_compute_all() insures energy/virial computed on every snapshot -rerun.cpp: // insure thermo output on last dump timestep -rerun.cpp: // set update->nsteps to ndump for Finish stats to print -rerun.cpp: // clean-up -respa.cpp:/* ---------------------------------------------------------------------- -respa.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -respa.cpp: http://lammps.sandia.gov, Sandia National Laboratories -respa.cpp:------------------------------------------------------------------------- */ -respa.cpp:/* ---------------------------------------------------------------------- -respa.cpp:------------------------------------------------------------------------- */ -respa.cpp:/* ---------------------------------------------------------------------- */ -respa.cpp: // set level at which each force is computed -respa.cpp: // argument settings override defaults -respa.cpp: // defaults for hybrid pair styles -respa.cpp: // the hybrid keyword requires a hybrid pair style -respa.cpp: // each hybrid sub-style needs to be assigned to a respa level -respa.cpp: // cannot specify both pair and inner/middle/outer -respa.cpp: error->all(FLERR,"Cannot set both respa pair and inner/middle/outer"); -respa.cpp: // if either inner and outer is specified, then both must be -respa.cpp: // middle cannot be set without inner/outer -respa.cpp: error->all(FLERR,"Cannot set respa middle without inner/outer"); -respa.cpp: // cannot combine hybrid with any of pair/inner/middle/outer -respa.cpp: "any of pair/inner/middle/outer"); -respa.cpp: // set defaults if user did not specify level -respa.cpp: // bond to innermost level -respa.cpp: // angle same as bond, dihedral same as angle, improper same as dihedral -respa.cpp: // pair to outermost level if no inner/middle/outer -respa.cpp: // inner/middle/outer have no defaults -respa.cpp: // kspace same as pair or outer -respa.cpp: // print respa levels -respa.cpp: // check that levels are in correct order -respa.cpp: // warn if any levels are devoid of forces -respa.cpp: // check cutoff consistency if inner/middle/outer are enabled -respa.cpp: // set outer pair of cutoffs to inner pair if middle is not enabled -respa.cpp: // ensure that pair->compute() is run properly -respa.cpp: // when the hybrid keyword is not used -respa.cpp: // allocate other needed arrays -respa.cpp:/* ---------------------------------------------------------------------- */ -respa.cpp:/* ---------------------------------------------------------------------- -respa.cpp:------------------------------------------------------------------------- */ -respa.cpp: // warn if no fixes -respa.cpp: // create fix needed for storing atom-based respa level forces -respa.cpp: // will delete it at end of run -respa.cpp: // if supported, we also store torques on a per-level basis -respa.cpp: // insure respa inner/middle/outer is using Pair class that supports it -respa.cpp: error->all(FLERR,"Pair style does not support rRESPA inner/middle/outer"); -respa.cpp: // virial_style = 1 (explicit) since never computed implicitly like Verlet -respa.cpp: // setup lists of computes for global and per-atom PE and pressure -respa.cpp: // detect if fix omp is present and will clear force arrays -respa.cpp: // set flags for arrays to clear in force_clear() -respa.cpp: // step[] = timestep for each level -respa.cpp: step[ilevel] = step[ilevel+1]/loop[ilevel]; -respa.cpp: // set newton flag for each level -respa.cpp: // orthogonal vs triclinic simulation box -respa.cpp:/* ---------------------------------------------------------------------- -respa.cpp:------------------------------------------------------------------------- */ -respa.cpp: // setup domain, communication and neighboring -respa.cpp: // acquire ghosts -respa.cpp: // build neighbor lists -respa.cpp: // compute all forces -respa.cpp:/* ---------------------------------------------------------------------- -respa.cpp:------------------------------------------------------------------------- */ -respa.cpp: // setup domain, communication and neighboring -respa.cpp: // acquire ghosts -respa.cpp: // build neighbor lists -respa.cpp: // compute all forces -respa.cpp:/* ---------------------------------------------------------------------- -respa.cpp:------------------------------------------------------------------------- */ -respa.cpp: // needed in case end_of_step() or output() use total force -respa.cpp:/* ---------------------------------------------------------------------- -respa.cpp:------------------------------------------------------------------------- */ -respa.cpp:/* ---------------------------------------------------------------------- */ -respa.cpp: step[ilevel] = step[ilevel+1]/loop[ilevel]; -respa.cpp:/* ---------------------------------------------------------------------- */ -respa.cpp: // at outermost level, check on rebuilding neighbor list -respa.cpp: // at innermost level, communicate -respa.cpp: // at middle levels, do nothing -respa.cpp: // rRESPA recursion thru all levels -respa.cpp: // this used to be before neigh list build, -respa.cpp: // which prevented per-atom energy/stress being tallied correctly -respa.cpp: // b/c atoms migrated to new procs between short/long force calls -respa.cpp: // now they migrate at very start of rRESPA timestep, before all forces -respa.cpp: // force computations -respa.cpp: // important that ordering is same as Verlet -respa.cpp: // so that any order dependencies are the same -respa.cpp: // when potentials are invoked at same level -respa.cpp:/* ---------------------------------------------------------------------- -respa.cpp:------------------------------------------------------------------------- */ -respa.cpp: // clear global force array -respa.cpp: // if either newton flag is set, also include ghosts -respa.cpp:/* ---------------------------------------------------------------------- -respa.cpp:------------------------------------------------------------------------- */ -respa.cpp:/* ---------------------------------------------------------------------- -respa.cpp:------------------------------------------------------------------------- */ -respa.cpp:/* ---------------------------------------------------------------------- -respa.cpp:------------------------------------------------------------------------- */ -respa.cpp:/*----------------------------------------------------------------------- -respa.cpp:------------------------------------------------------------------------- */ -run.cpp:/* ---------------------------------------------------------------------- -run.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -run.cpp: http://lammps.sandia.gov, Sandia National Laboratories -run.cpp:------------------------------------------------------------------------- */ -run.cpp:/* ---------------------------------------------------------------------- */ -run.cpp:/* ---------------------------------------------------------------------- */ -run.cpp: // ignore run command, if walltime limit was already reached -run.cpp: // parse optional args -run.cpp: // all remaining args are commands -run.cpp: // first,last = arg index of first/last commands -run.cpp: // set ncommands = 0 if single command and it is NULL -run.cpp: // set nsteps as integer, using upto value if specified -run.cpp: // error check -run.cpp: error->all(FLERR,"Invalid run command start/stop value"); -run.cpp: error->all(FLERR,"Invalid run command start/stop value"); -run.cpp: // if nevery, make copies of arg strings that are commands -run.cpp: // required because re-parsing commands via input->one() will wipe out args -run.cpp: // perform a single run -run.cpp: // use start/stop to set begin/end step -run.cpp: // if pre or 1st run, do System init/setup, -run.cpp: // else just init timer and setup output -run.cpp: // if post, do full Finish, else just print time -run.cpp: // perform multiple runs optionally interleaved with invocation command(s) -run.cpp: // use start/stop to set begin/end step -run.cpp: // if pre or 1st iteration of multiple runs, do System init/setup, -run.cpp: // else just init timer and setup output -run.cpp: // if post or last iteration, do full Finish, else just print time -run.cpp: // wrap command invocation with clearstep/addstep -run.cpp: // since a command may invoke computes via variables -set.cpp:/* ---------------------------------------------------------------------- -set.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -set.cpp: http://lammps.sandia.gov, Sandia National Laboratories -set.cpp:------------------------------------------------------------------------- */ -set.cpp:/* ---------------------------------------------------------------------- */ -set.cpp: // style and ID info -set.cpp: // loop over keyword/value pairs -set.cpp: // call appropriate routine to reset attributes -set.cpp: } else if (strcmp(arg[iarg],"type/fraction") == 0) { -set.cpp: } else if (strcmp(arg[iarg],"dipole/random") == 0) { -set.cpp: } else if (strcmp(arg[iarg],"spin/random") == 0) { -set.cpp: } else if (strcmp(arg[iarg],"quat/random") == 0) { -set.cpp: dvalue *= MY_PI/180.0; -set.cpp: } else if (strcmp(arg[iarg],"theta/random") == 0) { -set.cpp: (strcmp(arg[iarg],"density/disc") == 0)) { -set.cpp: if (strcmp(arg[iarg],"density/disc") == 0) { -set.cpp: error->all(FLERR,"Density/disc option requires 2d simulation"); -set.cpp: } else if (strcmp(arg[iarg],"meso/e") == 0) { -set.cpp: error->all(FLERR,"Cannot set meso/e for this atom style"); -set.cpp: } else if (strcmp(arg[iarg],"meso/cv") == 0) { -set.cpp: error->all(FLERR,"Cannot set meso/cv for this atom style"); -set.cpp: } else if (strcmp(arg[iarg],"meso/rho") == 0) { -set.cpp: error->all(FLERR,"Cannot set meso/rho for this atom style"); -set.cpp: } else if (strcmp(arg[iarg],"smd/mass/density") == 0) { -set.cpp: error->all(FLERR,"Cannot set smd/mass/density for this atom style"); -set.cpp: } else if (strcmp(arg[iarg],"smd/contact/radius") == 0) { -set.cpp: error->all(FLERR,"Cannot set smd/contact/radius " -set.cpp: } else if (strcmp(arg[iarg],"dpd/theta") == 0) { -set.cpp: error->all(FLERR,"Cannot set dpd/theta for this atom style"); -set.cpp: // statistics -set.cpp: // free local memory -set.cpp:/* ---------------------------------------------------------------------- -set.cpp:------------------------------------------------------------------------- */ -set.cpp:/* ---------------------------------------------------------------------- -set.cpp:------------------------------------------------------------------------- */ -set.cpp: // evaluate atom-style variable(s) if necessary -set.cpp: // loop over selected atoms -set.cpp: // overwrite dvalue, ivalue, xyzw value if variables defined -set.cpp: // else the input script scalar value remains in place -set.cpp: // set values in per-atom arrays -set.cpp: // error check here in case atom-style variables generated bogus value -set.cpp: // set mass from volume and supplied mass density -set.cpp: double tfactor = force->mvv2e / (domain->dimension * force->boltz); -set.cpp: // set shape of ellipsoidal particle -set.cpp: // set length of line particle -set.cpp: // set corners of tri particle -set.cpp: // set rmass via density -set.cpp: // if radius > 0.0, treat as sphere or disc -set.cpp: // if shape > 0.0, treat as ellipsoid (or ellipse, when uncomment below) -set.cpp: // if length > 0.0, treat as line -set.cpp: // if area > 0.0, treat as tri -set.cpp: // else set rmass to density directly -set.cpp: atom->rmass[i] = 4.0*MY_PI/3.0 * -set.cpp: // enable 2d ellipse (versus 3d ellipsoid) when time integration -set.cpp: // options (fix nve/asphere, fix nh/asphere) are also implemented -set.cpp: // if (discflag) -set.cpp: // atom->rmass[i] = MY_PI*shape[0]*shape[1] * dvalue; -set.cpp: // else -set.cpp: atom->rmass[i] = 4.0*MY_PI/3.0 * shape[0]*shape[1]*shape[2] * dvalue; -set.cpp: // set dipole moment -set.cpp: // set magnetic moments -set.cpp: sp[i][0] = xvalue/sp_norm; -set.cpp: sp[i][1] = yvalue/sp_norm; -set.cpp: sp[i][2] = zvalue/sp_norm; -set.cpp: sp[i][2]*sp[i][2]); //Should be 1 for atomic spins -set.cpp: // set quaternion orientation of ellipsoid or tri or body particle -set.cpp: // set quaternion orientation of ellipsoid or tri or body particle -set.cpp: // enforce quat rotation vector in z dir for 2d systems -set.cpp: double theta2 = MY_PI2 * wvalue/180.0; -set.cpp: // set theta of line particle -set.cpp: // set angmom or omega of particle -set.cpp: // reset any or all of 3 image flags -set.cpp: // set value for custom integer or double vector -set.cpp: // clear up per-atom memory if allocated -set.cpp:/* ---------------------------------------------------------------------- -set.cpp:------------------------------------------------------------------------- */ -set.cpp: // set fraction of atom types to newtype -set.cpp: // set dipole moments to random orientations in 3d or 2d -set.cpp: // dipole length is determined by dipole type array -set.cpp: scale = dvalue/sqrt(msq); -set.cpp: scale = dvalue/sqrt(msq); -set.cpp: // set spin moments to random orientations in 3d or 2d -set.cpp: // spin length is fixed to unity -set.cpp: scale = 1.0/sqrt(sp_sq); -set.cpp: scale = 1.0/sqrt(sp_sq); -set.cpp: // set quaternions to random orientations in 3d and 2d -set.cpp: // set theta to random orientation in 2d -set.cpp:/* ---------------------------------------------------------------------- */ -set.cpp: // error check -set.cpp: // border swap to acquire ghost atom info -set.cpp: // enforce PBC before in case atoms are outside box -set.cpp: // init entire system since comm->exchange is done -set.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc -set.cpp: // select both owned and ghost atoms -set.cpp: // for BOND, each of 2 atoms must be in group -set.cpp: // for ANGLE, each of 3 atoms must be in group -set.cpp: // for DIHEDRAL, each of 4 atoms must be in group -set.cpp: // for IMPROPER, each of 4 atoms must be in group -set.cpp:/* ---------------------------------------------------------------------- */ -special.cpp:/* ---------------------------------------------------------------------- -special.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -special.cpp: http://lammps.sandia.gov, Sandia National Laboratories -special.cpp:------------------------------------------------------------------------- */ -special.cpp:// allocate space for static class variable -special.cpp:/* ---------------------------------------------------------------------- */ -special.cpp:/* ---------------------------------------------------------------------- */ -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -special.cpp: // initialize nspecial counters to 0 -special.cpp: // ----------------------------------------------------- -special.cpp: // compute nspecial[i][0] = # of 1-2 neighbors of atom i -special.cpp: // ----------------------------------------------------- -special.cpp: // bond partners stored by atom itself -special.cpp: // if newton_bond off, then done -special.cpp: // else only counted 1/2 of all bonds, so count other half -special.cpp: // nbufmax = largest buffer needed to hold info from any proc -special.cpp: // info for each atom = global tag of 2nd atom in each bond -special.cpp: // fill buffer with global tags of bond partners of my atoms -special.cpp: // cycle buffer around ring of procs back to self -special.cpp: // when receive buffer, scan tags for atoms I own -special.cpp: // when find one, increment nspecial count for that atom -special.cpp: // ---------------------------------------------------- -special.cpp: // create onetwo[i] = list of 1-2 neighbors for atom i -special.cpp: // ---------------------------------------------------- -special.cpp: // count = accumulating counter -special.cpp: // add bond partners stored by atom to onetwo list -special.cpp: // if newton_bond off, then done -special.cpp: // else only stored 1/2 of all bonds, so store other half -special.cpp: // nbufmax = largest buffer needed to hold info from any proc -special.cpp: // info for each atom = 2 global tags in each bond -special.cpp: // fill buffer with global tags of both atoms in bond -special.cpp: // cycle buffer around ring of procs back to self -special.cpp: // when receive buffer, scan 2nd-atom tags for atoms I own -special.cpp: // when find one, add 1st-atom tag to onetwo list for 2nd atom -special.cpp: // ----------------------------------------------------- -special.cpp: // done if special_bond weights for 1-3, 1-4 are set to 1.0 -special.cpp: // ----------------------------------------------------- -special.cpp: // ----------------------------------------------------- -special.cpp: // compute nspecial[i][1] = # of 1-3 neighbors of atom i -special.cpp: // ----------------------------------------------------- -special.cpp: // nbufmax = largest buffer needed to hold info from any proc -special.cpp: // info for each atom = 2 scalars + list of 1-2 neighbors -special.cpp: // fill buffer with: -special.cpp: // (1) = counter for 1-3 neighbors, initialized to 0 -special.cpp: // (2) = # of 1-2 neighbors -special.cpp: // (3:N) = list of 1-2 neighbors -special.cpp: // cycle buffer around ring of procs back to self -special.cpp: // when receive buffer, scan list of 1-2 neighbors for atoms I own -special.cpp: // when find one, increment 1-3 count by # of 1-2 neighbors of my atom, -special.cpp: // subtracting one since my list will contain original atom -special.cpp: // extract count from buffer that has cycled back to me -special.cpp: // nspecial[i][1] = # of 1-3 neighbors of atom i -special.cpp: // ---------------------------------------------------- -special.cpp: // create onethree[i] = list of 1-3 neighbors for atom i -special.cpp: // ---------------------------------------------------- -special.cpp: // nbufmax = largest buffer needed to hold info from any proc -special.cpp: // info for each atom = 4 scalars + list of 1-2 neighs + list of 1-3 neighs -special.cpp: // fill buffer with: -special.cpp: // (1) = global tag of original atom -special.cpp: // (2) = # of 1-2 neighbors -special.cpp: // (3) = # of 1-3 neighbors -special.cpp: // (4) = counter for 1-3 neighbors, initialized to 0 -special.cpp: // (5:N) = list of 1-2 neighbors -special.cpp: // (N+1:2N) space for list of 1-3 neighbors -special.cpp: // cycle buffer around ring of procs back to self -special.cpp: // when receive buffer, scan list of 1-2 neighbors for atoms I own -special.cpp: // when find one, add its neighbors to 1-3 list -special.cpp: // increment the count in buf(i+4) -special.cpp: // exclude the atom whose tag = original -special.cpp: // this process may include duplicates but they will be culled later -special.cpp: // fill onethree with buffer values that have been returned to me -special.cpp: // sanity check: accumulated buf[i+3] count should equal -special.cpp: // nspecial[i][1] for each atom -special.cpp: // done if special_bond weights for 1-4 are set to 1.0 -special.cpp: // ----------------------------------------------------- -special.cpp: // compute nspecial[i][2] = # of 1-4 neighbors of atom i -special.cpp: // ----------------------------------------------------- -special.cpp: // nbufmax = largest buffer needed to hold info from any proc -special.cpp: // info for each atom = 2 scalars + list of 1-3 neighbors -special.cpp: // fill buffer with: -special.cpp: // (1) = counter for 1-4 neighbors, initialized to 0 -special.cpp: // (2) = # of 1-3 neighbors -special.cpp: // (3:N) = list of 1-3 neighbors -special.cpp: // cycle buffer around ring of procs back to self -special.cpp: // when receive buffer, scan list of 1-3 neighbors for atoms I own -special.cpp: // when find one, increment 1-4 count by # of 1-2 neighbors of my atom -special.cpp: // may include duplicates and original atom but they will be culled later -special.cpp: // extract count from buffer that has cycled back to me -special.cpp: // nspecial[i][2] = # of 1-4 neighbors of atom i -special.cpp: // ---------------------------------------------------- -special.cpp: // create onefour[i] = list of 1-4 neighbors for atom i -special.cpp: // ---------------------------------------------------- -special.cpp: // nbufmax = largest buffer needed to hold info from any proc -special.cpp: // info for each atom = 3 scalars + list of 1-3 neighs + list of 1-4 neighs -special.cpp: // fill buffer with: -special.cpp: // (1) = # of 1-3 neighbors -special.cpp: // (2) = # of 1-4 neighbors -special.cpp: // (3) = counter for 1-4 neighbors, initialized to 0 -special.cpp: // (4:N) = list of 1-3 neighbors -special.cpp: // (N+1:2N) space for list of 1-4 neighbors -special.cpp: // cycle buffer around ring of procs back to self -special.cpp: // when receive buffer, scan list of 1-3 neighbors for atoms I own -special.cpp: // when find one, add its neighbors to 1-4 list -special.cpp: // incrementing the count in buf(i+4) -special.cpp: // this process may include duplicates but they will be culled later -special.cpp: // fill onefour with buffer values that have been returned to me -special.cpp: // sanity check: accumulated buf[i+2] count should equal -special.cpp: // nspecial[i][2] for each atom -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -special.cpp: // clear map so it can be used as scratch space -special.cpp: // use map to cull duplicates -special.cpp: // exclude original atom explicitly -special.cpp: // adjust onetwo, onethree, onefour values to reflect removed duplicates -special.cpp: // must unset map for each atom -special.cpp: // re-create map -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -special.cpp: // ---------------------------------------------------- -special.cpp: // compute culled maxspecial = max # of special neighs of any atom -special.cpp: // ---------------------------------------------------- -special.cpp: // clear map so it can be used as scratch space -special.cpp: // unique = # of unique nspecial neighbors of one atom -special.cpp: // cull duplicates using map to check for them -special.cpp: // exclude original atom explicitly -special.cpp: // must unset map for each atom -special.cpp: // compute global maxspecial, must be at least 1 -special.cpp: // add in extra factor from special_bonds command -special.cpp: // allocate correct special array with same nmax, new maxspecial -special.cpp: // previously allocated one must be destroyed -special.cpp: // must make AtomVec class update its ptr to special -special.cpp: // ---------------------------------------------------- -special.cpp: // fill special array with 1-2, 1-3, 1-4 neighs for each atom -special.cpp: // ---------------------------------------------------- -special.cpp: // again use map to cull duplicates -special.cpp: // exclude original atom explicitly -special.cpp: // adjust nspecial[i] values to reflect removed duplicates -special.cpp: // nspecial[i][1] and nspecial[i][2] now become cumulative counters -special.cpp: // re-create map -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -special.cpp: // stats on old 1-3 neighbor counts -special.cpp: // if angles or dihedrals are defined, -special.cpp: // flag each 1-3 neigh if it appears in an angle or dihedral -special.cpp: // dflag = flag for 1-3 neighs of all owned atoms -special.cpp: // nbufmax = largest buffer needed to hold info from any proc -special.cpp: // info for each atom = list of 1,3 atoms in each angle stored by atom -special.cpp: // and list of 1,3 and 2,4 atoms in each dihedral stored by atom -special.cpp: // fill buffer with list of 1,3 atoms in each angle -special.cpp: // and with list of 1,3 and 2,4 atoms in each dihedral -special.cpp: // cycle buffer around ring of procs back to self -special.cpp: // when receive buffer, scan list of 1,3 atoms looking for atoms I own -special.cpp: // when find one, scan its 1-3 neigh list and mark I,J as in an angle -special.cpp: // delete 1-3 neighbors if they are not flagged in dflag -special.cpp: // clean up -special.cpp: // if no angles or dihedrals are defined, delete all 1-3 neighs -special.cpp: // stats on new 1-3 neighbor counts -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -special.cpp: // stats on old 1-4 neighbor counts -special.cpp: // if dihedrals are defined, flag each 1-4 neigh if it appears in a dihedral -special.cpp: // dflag = flag for 1-4 neighs of all owned atoms -special.cpp: // nbufmax = largest buffer needed to hold info from any proc -special.cpp: // info for each atom = list of 1,4 atoms in each dihedral stored by atom -special.cpp: // fill buffer with list of 1,4 atoms in each dihedral -special.cpp: // cycle buffer around ring of procs back to self -special.cpp: // when receive buffer, scan list of 1,4 atoms looking for atoms I own -special.cpp: // when find one, scan its 1-4 neigh list and mark I,J as in a dihedral -special.cpp: // delete 1-4 neighbors if they are not flagged in dflag -special.cpp: // clean up -special.cpp: // if no dihedrals are defined, delete all 1-4 neighs -special.cpp: // stats on new 1-4 neighbor counts -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -special.cpp:/* ---------------------------------------------------------------------- -special.cpp:------------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- -thermo.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -thermo.cpp: http://lammps.sandia.gov, Sandia National Laboratories -thermo.cpp:------------------------------------------------------------------------- */ -thermo.cpp:// lmptype.h must be first b/c this file uses MAXBIGINT and includes mpi.h -thermo.cpp:// due to OpenMPI bug which sets INT64_MAX via its mpi.h -thermo.cpp:// before lmptype.h can set flags to insure it is done correctly -thermo.cpp:// customize a new keyword by adding to this list: -thermo.cpp:// step, elapsed, elaplong, dt, time, cpu, tpcpu, spcpu, cpuremain, -thermo.cpp:// part, timeremain -thermo.cpp:// atoms, temp, press, pe, ke, etotal, enthalpy -thermo.cpp:// evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail -thermo.cpp:// vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz, -thermo.cpp:// xlat, ylat, zlat -thermo.cpp:// bonds, angles, dihedrals, impropers, -thermo.cpp:// pxx, pyy, pzz, pxy, pxz, pyz -thermo.cpp:// fmax, fnorm, nbuild, ndanger, -thermo.cpp:// cella, cellb, cellc, cellalpha, cellbeta, cellgamma -thermo.cpp:// customize a new thermo style by adding a DEFINE to this list -thermo.cpp:// also insure allocation of line string is correct in constructor -thermo.cpp:enum{IGNORE,WARN,ERROR}; // same as several files -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: // set thermo_modify defaults -thermo.cpp: // set style and corresponding lineflag -thermo.cpp: // custom style builds its own line of keywords, including wildcard expansion -thermo.cpp: // customize a new thermo style by adding to if statement -thermo.cpp: // allocate line string used for 3 tasks -thermo.cpp: // concat of custom style args -thermo.cpp: // one-time thermo output of header line -thermo.cpp: // each line of numeric thermo output -thermo.cpp: // 256 = extra for ONE or MULTI string or multi formatting -thermo.cpp: // 64 = max per-arg chars in header or numeric output -thermo.cpp: // expand args if any have wildcard character "*" -thermo.cpp: // if wildcard expansion occurred, free earg memory from exapnd_args() -thermo.cpp: // ptrs, flags, IDs for compute objects thermo may use or create -thermo.cpp: // count fields in line -thermo.cpp: // allocate per-field memory -thermo.cpp: // process line of keywords -thermo.cpp: // format strings -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: // format strings -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: // set normvalue to default setting unless user has specified it -thermo.cpp: // add Volume field if volume changes and not style = custom -thermo.cpp: // this check must come after domain init, so box_change is set -thermo.cpp: // set format string for each field -thermo.cpp: // include keyword if lineflag = MULTILINE -thermo.cpp: // add '/n' every 3 values if lineflag = MULTILINE -thermo.cpp: // add trailing '/n' to last value -thermo.cpp: // find current ptr for each Compute ID -thermo.cpp: // find current ptr for each Fix ID -thermo.cpp: // check that fix frequency is acceptable with thermo output frequency -thermo.cpp: // find current ptr for each Variable ID -thermo.cpp: // set ptrs to keyword-specific Compute objects -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: // check for lost atoms -thermo.cpp: // turn off normflag if natoms = 0 to avoid divide by 0 -thermo.cpp: // invoke Compute methods needed for thermo keywords -thermo.cpp: // if lineflag = MULTILINE, prepend step/cpu header line -thermo.cpp: // add each thermo value to line with its specific format -thermo.cpp: // print line to screen and logfile -thermo.cpp: // set to 1, so that subsequent invocations of CPU time will be non-zero -thermo.cpp: // e.g. via variables in print command -thermo.cpp:/* ---------------------------------------------------------------------- -thermo.cpp:------------------------------------------------------------------------- */ -thermo.cpp: // ntotal = current # of atoms -thermo.cpp: // if not checking or already warned, just return -thermo.cpp: // error message -thermo.cpp: // warning message -thermo.cpp: // reset total atom count -thermo.cpp:/* ---------------------------------------------------------------------- -thermo.cpp:------------------------------------------------------------------------- */ -thermo.cpp: // reset id_temp of pressure to new temperature ID -thermo.cpp: // either pressure currently being used by thermo or "thermo_press" -thermo.cpp: } else if (strcmp(arg[iarg],"lost/bond") == 0) { -thermo.cpp: // replace "d" in format_int_user with bigint format specifier -thermo.cpp: // use of &str[1] removes leading '%' from BIGINT_FORMAT string -thermo.cpp:/* ---------------------------------------------------------------------- -thermo.cpp:------------------------------------------------------------------------- */ -thermo.cpp: // n = specified fields + Volume field (added at run time) -thermo.cpp: // factor of 3 is max number of computes a single field can add -thermo.cpp:/* ---------------------------------------------------------------------- -thermo.cpp:------------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- -thermo.cpp:------------------------------------------------------------------------- */ -thermo.cpp: // customize a new keyword by adding to if statement -thermo.cpp: addfield("T/CPU",&Thermo::compute_tpcpu,FLOAT); -thermo.cpp: addfield("S/CPU",&Thermo::compute_spcpu,FLOAT); -thermo.cpp: // compute value = c_ID, fix value = f_ID, variable value = v_ID -thermo.cpp: // count trailing [] and store int arguments -thermo.cpp: // parse zero or one or two trailing brackets from ID -thermo.cpp: // argindex1,argindex2 = int inside each bracket pair, 0 if no bracket -thermo.cpp:/* ---------------------------------------------------------------------- -thermo.cpp:------------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- -thermo.cpp:------------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- -thermo.cpp:------------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- -thermo.cpp:------------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- -thermo.cpp:------------------------------------------------------------------------- */ -thermo.cpp: // turn off normflag if natoms = 0 to avoid divide by 0 -thermo.cpp: // normflag must be set for lo-level thermo routines that may be invoked -thermo.cpp: // invoke a lo-level thermo routine to compute the variable value -thermo.cpp: // if keyword requires a compute, error if thermo doesn't use the compute -thermo.cpp: // if inbetween runs and needed compute is not current, error -thermo.cpp: // if in middle of run and needed compute is not current, invoke it -thermo.cpp: // for keywords that use energy (evdwl, ebond, etc): -thermo.cpp: // check if energy was tallied on this timestep and set pe->invoked_flag -thermo.cpp: // this will trigger next timestep for energy tallying via addstep() -thermo.cpp: // this means keywords that use pe (pe, etotal, enthalpy) -thermo.cpp: // need to always invoke it even if invoked_flag is set, -thermo.cpp: // because evdwl/etc may have set invoked_flag w/out -thermo.cpp: // actually invoking pe->compute_scalar() -thermo.cpp: "thermo to use/init temp"); -thermo.cpp: "thermo to use/init press"); -thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); -thermo.cpp: "thermo to use/init temp"); -thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); -thermo.cpp: "thermo to use/init temp"); -thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); -thermo.cpp: "thermo to use/init temp"); -thermo.cpp: "thermo to use/init press"); -thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); -thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); -thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); -thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); -thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); -thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); -thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); -thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); -thermo.cpp: "Thermo keyword in variable requires thermo to use/init pe"); -thermo.cpp: "thermo to use/init press"); -thermo.cpp: "thermo to use/init press"); -thermo.cpp: "thermo to use/init press"); -thermo.cpp: "thermo to use/init press"); -thermo.cpp: "thermo to use/init press"); -thermo.cpp: "thermo to use/init press"); -thermo.cpp:/* ---------------------------------------------------------------------- -thermo.cpp: compute/fix are normalized by atoms if returning extensive value -thermo.cpp:------------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: // check for out-of-range access if vector/array is variable length -thermo.cpp: if (normflag && compute->extscalar) dvalue /= natoms; -thermo.cpp: else if (compute->extvector == 1) dvalue /= natoms; -thermo.cpp: else if (compute->extlist[argindex1[ifield]-1]) dvalue /= natoms; -thermo.cpp: if (normflag && compute->extarray) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (normflag && fix->extscalar) dvalue /= natoms; -thermo.cpp: else if (fix->extvector == 1) dvalue /= natoms; -thermo.cpp: else if (fix->extlist[argindex1[ifield]-1]) dvalue /= natoms; -thermo.cpp: if (normflag && fix->extarray) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- -thermo.cpp: set ivalue/dvalue/bivalue if value is int/double/bigint -thermo.cpp:------------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (time_diff > 0.0 && cpu_diff > 0.0) dvalue = time_diff/cpu_diff; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (cpu_diff > 0.0) dvalue = step_diff/cpu_diff; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: (update->laststep - update->ntimestep) / -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (normflag) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (normflag) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (normflag) ke /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (normflag) vtmp /= natoms; -thermo.cpp: dvalue = etmp + ptmp*vtmp/(force->nktv2p); -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: dvalue += force->pair->etail / volume; -thermo.cpp: if (normflag) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (normflag) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: dvalue += force->pair->etail / volume; -thermo.cpp: if (normflag) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (normflag) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (normflag) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (normflag) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (normflag) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (normflag) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: if (normflag) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: dvalue = force->pair->etail / volume; -thermo.cpp: if (normflag) dvalue /= natoms; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: dvalue = force->mv2d * mass/dvalue; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: // Cos(alpha) = (xy.xz + ly.yz)/(b.c) -thermo.cpp: double cosalpha = (h[5]*h[4]+h[1]*h[3])/ -thermo.cpp: dvalue = acos(cosalpha)*180.0/MY_PI; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: // Cos(beta) = xz/c -thermo.cpp: double cosbeta = h[4]/sqrt(h[2]*h[2]+h[3]*h[3]+h[4]*h[4]); -thermo.cpp: dvalue = acos(cosbeta)*180.0/MY_PI; -thermo.cpp:/* ---------------------------------------------------------------------- */ -thermo.cpp: // Cos(gamma) = xy/b -thermo.cpp: double cosgamma = h[5]/sqrt(h[1]*h[1]+h[5]*h[5]); -thermo.cpp: dvalue = acos(cosgamma)*180.0/MY_PI; -timer.cpp:/* ---------------------------------------------------------------------- -timer.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -timer.cpp: http://lammps.sandia.gov, Sandia National Laboratories -timer.cpp:------------------------------------------------------------------------- */ -timer.cpp:#include -timer.cpp:#include -timer.cpp:// convert a timespec ([[HH:]MM:]SS) to seconds -timer.cpp:// the strings "off" and "unlimited" result in -1; -timer.cpp: // first handle allowed textual inputs -timer.cpp:// Return the CPU time for the current process in seconds very -timer.cpp:// much in the same way as MPI_Wtime() returns the wall time. -timer.cpp: // from MSD docs. -timer.cpp:#else /* ! _WIN32 */ -timer.cpp:#endif /* ! _WIN32 */ -timer.cpp:/* ---------------------------------------------------------------------- */ -timer.cpp:/* ---------------------------------------------------------------------- */ -timer.cpp:/* ---------------------------------------------------------------------- */ -timer.cpp:/* ---------------------------------------------------------------------- */ -timer.cpp:/* ---------------------------------------------------------------------- */ -timer.cpp:/* ---------------------------------------------------------------------- */ -timer.cpp:/* ---------------------------------------------------------------------- */ -timer.cpp:/* ---------------------------------------------------------------------- */ -timer.cpp:/* ---------------------------------------------------------------------- */ -timer.cpp:/* ---------------------------------------------------------------------- */ -timer.cpp: // format timeout setting -timer.cpp: // time since init_timeout() -timer.cpp: // remaining timeout in seconds -timer.cpp: // remaining 1/100ths of seconds -timer.cpp: // breaking s down into second/minutes/hours -timer.cpp: s = (s - seconds) / 60; -timer.cpp: const int hours = (s - minutes) / 60; -timer.cpp:/* ---------------------------------------------------------------------- */ -timer.cpp: // broadcast time to insure all ranks act the same. -timer.cpp:/* ---------------------------------------------------------------------- */ -timer.cpp:/* ---------------------------------------------------------------------- -timer.cpp:------------------------------------------------------------------------- */ -timer.cpp: // format timeout setting -universe.cpp:/* ---------------------------------------------------------------------- -universe.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -universe.cpp: http://lammps.sandia.gov, Sandia National Laboratories -universe.cpp:------------------------------------------------------------------------- */ -universe.cpp:/* ---------------------------------------------------------------------- -universe.cpp:------------------------------------------------------------------------- */ -universe.cpp:/* ---------------------------------------------------------------------- */ -universe.cpp:/* ---------------------------------------------------------------------- -universe.cpp:------------------------------------------------------------------------- */ -universe.cpp: if (i < (n-1)*nprocs/n) uni2orig[i] = i/(n-1) * n + (i % (n-1)); -universe.cpp: else uni2orig[i] = (i - (n-1)*nprocs/n) * n + n-1; -universe.cpp: // skip header = blank and comment lines -universe.cpp: // read nprocs lines -universe.cpp: // uni2orig = inverse mapping -universe.cpp: // bcast uni2org from proc 0 to all other universe procs -universe.cpp: // create new uworld communicator -universe.cpp:/* ---------------------------------------------------------------------- -universe.cpp:------------------------------------------------------------------------- */ -universe.cpp: // check for valid partition argument -universe.cpp: // str may not be empty and may only consist of digits or 'x' -universe.cpp: // 'x' may not be the first or last character -universe.cpp: // require minimum of 1 partition with 1 processor -universe.cpp:/* ---------------------------------------------------------------------- -universe.cpp:------------------------------------------------------------------------- */ -universe.cpp:// helper function to convert the LAMMPS date string to a version id -universe.cpp:// that can be used for both string and numerical comparisons -universe.cpp:// where newer versions are larger than older ones. -update.cpp:/* ---------------------------------------------------------------------- -update.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -update.cpp: http://lammps.sandia.gov, Sandia National Laboratories -update.cpp:------------------------------------------------------------------------- */ -update.cpp:/* ---------------------------------------------------------------------- */ -update.cpp:/* ---------------------------------------------------------------------- */ -update.cpp:/* ---------------------------------------------------------------------- */ -update.cpp: // init the appropriate integrate and/or minimize class -update.cpp: // if neither (e.g. from write_restart) then just return -update.cpp: // only set first_update if a run or minimize is being performed -update.cpp:/* ---------------------------------------------------------------------- */ -update.cpp: // physical constants from: -update.cpp: // http://physics.nist.gov/cuu/Constants/Table/allascii.txt -update.cpp: // using thermochemical calorie = 4.184 J -update.cpp: force->e_mass = 0.0; // not yet set -update.cpp: force->ftm2v = 1.0 / 48.88821291 / 48.88821291; -update.cpp: force->mv2d = 1.0 / 0.602214129; -update.cpp: force->e_mass = 1.0/1836.1527556560675; -update.cpp: force->ftm2v = 1.0 / 1.0364269e-4; -update.cpp: force->mv2d = 1.0 / 0.602214129; -update.cpp: force->e_mass = 0.0; // not yet set -update.cpp: force->e_mass = 0.0; // not yet set -update.cpp: force->e_mass = 0.0; // not yet set -update.cpp: force->e_mass = 0.0; // not yet set -update.cpp: force->e_mass = 0.0; // not yet set -update.cpp: force->e_mass = 0.0; // not yet set -update.cpp:/* ---------------------------------------------------------------------- */ -update.cpp: if (sflag == 1) sprintf(estyle,"%s/%s",arg[0],lmp->suffix); -update.cpp: else sprintf(estyle,"%s/%s",arg[0],lmp->suffix2); -update.cpp:/* ---------------------------------------------------------------------- -update.cpp:------------------------------------------------------------------------- */ -update.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix); -update.cpp: sprintf(estyle,"%s/%s",style,lmp->suffix2); -update.cpp:/* ---------------------------------------------------------------------- -update.cpp:------------------------------------------------------------------------- */ -update.cpp:/* ---------------------------------------------------------------------- */ -update.cpp:/* ---------------------------------------------------------------------- -update.cpp:------------------------------------------------------------------------- */ -update.cpp:/* ---------------------------------------------------------------------- -update.cpp:------------------------------------------------------------------------- */ -update.cpp:/* ---------------------------------------------------------------------- -update.cpp:------------------------------------------------------------------------- */ -update.cpp: // set atimestep to new timestep -update.cpp: // so future update_time() calls will be correct -update.cpp: // trigger reset of timestep for output -update.cpp: // do not allow any timestep-dependent fixes to be already defined -update.cpp: // reset eflag/vflag global so no commands will think eng/virial are current -update.cpp: // reset invoked flags of computes, -update.cpp: // so no commands will think they are current between runs -update.cpp: // clear timestep list of computes that store future invocation times -update.cpp: // Neighbor Bin/Stencil/Pair classes store timestamps that need to be cleared -update.cpp: // NOTE: 7Jun12, adding rerun command, don't think this is required -update.cpp: //for (int i = 0; i < domain->nregion; i++) -update.cpp: // if (domain->regions[i]->dynamic_check()) -update.cpp: // error->all(FLERR,"Cannot reset timestep with a dynamic region defined"); -update.cpp:/* ---------------------------------------------------------------------- -update.cpp:------------------------------------------------------------------------- */ -update.cpp:/* ---------------------------------------------------------------------- -update.cpp: memory usage of update and integrate/minimize -update.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -variable.cpp: http://lammps.sandia.gov, Sandia National Laboratories -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:#define VALUELENGTH 64 // also in python.cpp -variable.cpp:// customize by adding a function -variable.cpp:// if add before XOR: -variable.cpp:// also set precedence level in constructor and precedence length in *.h -variable.cpp:// customize by adding a special function -variable.cpp:/* ---------------------------------------------------------------------- */ -variable.cpp: // customize by assigning a precedence level -variable.cpp:/* ---------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // DELETE -variable.cpp: // doesn't matter if variable no longer exists -variable.cpp: // INDEX -variable.cpp: // num = listed args, which = 1st value, data = copied args -variable.cpp: // LOOP -variable.cpp: // 1 arg + pad: num = N, which = 1st value, data = single string -variable.cpp: // 2 args + pad: num = N2, which = N1, data = single string -variable.cpp: // WORLD -variable.cpp: // num = listed args, which = partition this proc is in, data = copied args -variable.cpp: // error check that num = # of worlds in universe -variable.cpp: // UNIVERSE and ULOOP -variable.cpp: // for UNIVERSE: num = listed args, data = copied args -variable.cpp: // for ULOOP: num = N, data = single string -variable.cpp: // which = partition this proc is in -variable.cpp: // universe proc 0 creates lock file -variable.cpp: // error check that all other universe/uloop variables are same length -variable.cpp: error->all(FLERR,"Universe/uloop variable count < # of partitions"); -variable.cpp: "All universe/uloop variables must have same # of values"); -variable.cpp: // STRING -variable.cpp: // replace pre-existing var if also style STRING (allows it to be reset) -variable.cpp: // num = 1, which = 1st value -variable.cpp: // data = 1 value, string to eval -variable.cpp: // GETENV -variable.cpp: // remove pre-existing var if also style GETENV (allows it to be reset) -variable.cpp: // num = 1, which = 1st value -variable.cpp: // data = 1 value, string to eval -variable.cpp: // SCALARFILE for strings or numbers -variable.cpp: // which = 1st value -variable.cpp: // data = 1 value, string to eval -variable.cpp: // ATOMFILE for numbers -variable.cpp: // which = 1st value -variable.cpp: // data = NULL -variable.cpp: // FORMAT -variable.cpp: // num = 3, which = 1st value -variable.cpp: // data = 3 values -variable.cpp: // 1st is name of variable to eval, 2nd is format string, -variable.cpp: // 3rd is filled on retrieval -variable.cpp: // EQUAL -variable.cpp: // replace pre-existing var if also style EQUAL (allows it to be reset) -variable.cpp: // num = 2, which = 1st value -variable.cpp: // data = 2 values, 1st is string to eval, 2nd is filled on retrieval -variable.cpp: // ATOM -variable.cpp: // replace pre-existing var if also style ATOM (allows it to be reset) -variable.cpp: // num = 1, which = 1st value -variable.cpp: // data = 1 value, string to eval -variable.cpp: // VECTOR -variable.cpp: // replace pre-existing var if also style VECTOR (allows it to be reset) -variable.cpp: // num = 1, which = 1st value -variable.cpp: // data = 1 value, string to eval -variable.cpp: // PYTHON -variable.cpp: // replace pre-existing var if also style PYTHON (allows it to be reset) -variable.cpp: // num = 2, which = 1st value -variable.cpp: // data = 2 values, 1st is Python func to invoke, 2nd is filled by invoke -variable.cpp: // INTERNAL -variable.cpp: // replace pre-existing var if also style INTERNAL (allows it to be reset) -variable.cpp: // num = 1, for string representation of dvalue, set by retrieve() -variable.cpp: // dvalue = numeric initialization from 2nd arg, reset by internal_set() -variable.cpp: // set name of variable, if not replacing one flagged with replaceflag -variable.cpp: // name must be all alphanumeric chars or underscores -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // check that variables exist and are all the same style -variable.cpp: // exception: UNIVERSE and ULOOP variables can be mixed in same next command -variable.cpp: // invalid styles: STRING, EQUAL, WORLD, ATOM, VECTOR, GETENV, -variable.cpp: // FORMAT, PYTHON, INTERNAL -variable.cpp: // if istyle = UNIVERSE or ULOOP, insure all such variables are incremented -variable.cpp: // increment all variables in list -variable.cpp: // if any variable is exhausted, set flag = 1 and remove var to allow re-use -variable.cpp: // wait until lock file can be created and owned by proc 0 of this world -variable.cpp: // rename() is not atomic in practice, but no known simple fix -variable.cpp: // means multiple procs can read/write file at the same time (bad!) -variable.cpp: // random delays help -variable.cpp: // delay for random fraction of 1 second before first rename() call -variable.cpp: // delay for random fraction of 1 second before subsequent tries -variable.cpp: // when successful, read next available index and Bcast it within my world -variable.cpp: //printf("READ %d %d\n",universe->me,nextindex); -variable.cpp: //printf("WRITE %d %d\n",universe->me,nextindex+1); -variable.cpp: // set all variables in list to nextindex -variable.cpp: // must increment all UNIVERSE and ULOOP variables here -variable.cpp: // error check above tested for this -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // if Python func returns a string longer than VALUELENGTH -variable.cpp: // then the Python class stores the result, query it via long_string() -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // (re)allocate space for results if necessary -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp: math operation = (),-x,x+y,x-y,x*y,x/y,x^y, -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // whitespace: just skip -variable.cpp: // ---------------- -variable.cpp: // parentheses: recursively evaluate contents of parens -variable.cpp: // ---------------- -variable.cpp: // evaluate contents and push on stack -variable.cpp: // ---------------- -variable.cpp: // number: push value onto stack -variable.cpp: // ---------------- -variable.cpp: // istop = end of number, including scientific notation -variable.cpp: // ---------------- -variable.cpp: // letter: c_ID, c_ID[], c_ID[][], f_ID, f_ID[], f_ID[][], -variable.cpp: // v_name, v_name[], exp(), xcm(,), x, x[], PI, vol -variable.cpp: // ---------------- -variable.cpp: // istop = end of word -variable.cpp: // word = all alphanumeric or underscore -variable.cpp: // ---------------- -variable.cpp: // compute -variable.cpp: // ---------------- -variable.cpp: // uppercase used to force access of -variable.cpp: // global vector vs global scalar, and global array vs global vector -variable.cpp: // parse zero or one or two trailing brackets -variable.cpp: // point i beyond last bracket -variable.cpp: // nbracket = # of bracket pairs -variable.cpp: // index1,index2 = int inside each bracket pair, possibly an atom ID -variable.cpp: // c_ID = scalar from global scalar, must be lowercase -variable.cpp: // c_ID[i] = scalar from global vector, must be lowercase -variable.cpp: // c_ID[i][j] = scalar from global array, must be lowercase -variable.cpp: // c_ID = vector from global vector, lowercase or uppercase -variable.cpp: // c_ID[i] = vector from global array, lowercase or uppercase -variable.cpp: // c_ID[i] = scalar from per-atom vector -variable.cpp: // c_ID[i][j] = scalar from per-atom array -variable.cpp: // c_ID = vector from per-atom vector -variable.cpp: // c_ID[i] = vector from per-atom array -variable.cpp: // ---------------- -variable.cpp: // fix -variable.cpp: // ---------------- -variable.cpp: // uppercase used to force access of -variable.cpp: // global vector vs global scalar, and global array vs global vector -variable.cpp: // parse zero or one or two trailing brackets -variable.cpp: // point i beyond last bracket -variable.cpp: // nbracket = # of bracket pairs -variable.cpp: // index1,index2 = int inside each bracket pair, possibly an atom ID -variable.cpp: // f_ID = scalar from global scalar, must be lowercase -variable.cpp: // f_ID[i] = scalar from global vector, must be lowercase -variable.cpp: // f_ID[i][j] = scalar from global array, must be lowercase -variable.cpp: // f_ID = vector from global vector, lowercase or uppercase -variable.cpp: // f_ID[i] = vector from global array, lowercase or uppercase -variable.cpp: // f_ID[i] = scalar from per-atom vector -variable.cpp: // f_ID[i][j] = scalar from per-atom array -variable.cpp: // f_ID = vector from per-atom vector -variable.cpp: // f_ID[i] = vector from per-atom array -variable.cpp: // ---------------- -variable.cpp: // variable -variable.cpp: // ---------------- -variable.cpp: // parse zero or one trailing brackets -variable.cpp: // point i beyond last bracket -variable.cpp: // nbracket = # of bracket pairs -variable.cpp: // index = int inside bracket, possibly an atom ID -variable.cpp: // v_name = scalar from internal-style variable -variable.cpp: // access value directly -variable.cpp: // v_name = scalar from non atom/atomfile & non vector-style variable -variable.cpp: // access value via retrieve() -variable.cpp: // v_name = per-atom vector from atom-style variable -variable.cpp: // evaluate the atom-style variable as newtree -variable.cpp: // v_name = per-atom vector from atomfile-style variable -variable.cpp: // v_name = vector from vector-style variable -variable.cpp: // evaluate the vector-style variable, put result in newtree -variable.cpp: // v_name[N] = scalar from atom-style variable -variable.cpp: // compute the per-atom variable in result -variable.cpp: // use peratom2global to extract single value from result -variable.cpp: // v_name[N] = scalar from atomfile-style variable -variable.cpp: // v_name[N] = scalar from vector-style variable -variable.cpp: // compute the vector-style variable, extract single value -variable.cpp: int m = index; // convert from tagint to int -variable.cpp: // ---------------- -variable.cpp: // math/group/special function or atom value/vector or -variable.cpp: // constant or thermo keyword -variable.cpp: // ---------------- -variable.cpp: // ---------------- -variable.cpp: // math or group or special function -variable.cpp: // ---------------- -variable.cpp: else error->all(FLERR,"Invalid math/group/special function " -variable.cpp: // ---------------- -variable.cpp: // atom value -variable.cpp: // ---------------- -variable.cpp: // ---------------- -variable.cpp: // atom vector -variable.cpp: // ---------------- -variable.cpp: // ---------------- -variable.cpp: // constant -variable.cpp: // ---------------- -variable.cpp: // ---------------- -variable.cpp: // thermo keyword -variable.cpp: // ---------------- -variable.cpp: // ---------------- -variable.cpp: // math operator, including end-of-string -variable.cpp: // ---------------- -variable.cpp: } else if (strchr("+-*/^<>=!&|%\0",onechar)) { -variable.cpp: else if (onechar == '/') op = DIVIDE; -variable.cpp: // evaluate stack as deep as possible while respecting precedence -variable.cpp: // before pushing current op onto stack -variable.cpp: argstack[nargstack++] = value1 / value2; -variable.cpp: // if end-of-string, break out of entire formula evaluation loop -variable.cpp: // push current operation onto stack -variable.cpp: // for atom-style variable, return remaining tree -variable.cpp: // for equal-style variable, return remaining arg -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:---------------------------------------------------------------------- */ -variable.cpp: tree->value = arg1 / arg2; -variable.cpp: error->one(FLERR,"Log of zero/negative value in variable formula"); -variable.cpp: error->one(FLERR,"Log of zero/negative value in variable formula"); -variable.cpp: // random() or normal() do not become a single collapsed value -variable.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -variable.cpp: int lower = update->ntimestep/ivalue1 * ivalue1; -variable.cpp: int multiple = update->ntimestep/lower; -variable.cpp: double delta = ivalue1*(ivalue3-1.0)/ivalue2; -variable.cpp: tree->value = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; -variable.cpp: istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; -variable.cpp: istep = ivalue4 + (offset/ivalue6)*ivalue6 + ivalue6; -variable.cpp: istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; -variable.cpp: double omega = 2.0*MY_PI/arg3; -variable.cpp: double omega = 2.0*MY_PI/arg3; -variable.cpp: // mask functions do not become a single collapsed value -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:---------------------------------------------------------------------- */ -variable.cpp: return eval_tree(tree->first,i) / denom; -variable.cpp: error->one(FLERR,"Log of zero/negative value in variable formula"); -variable.cpp: error->one(FLERR,"Log of zero/negative value in variable formula"); -variable.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -variable.cpp: int lower = update->ntimestep/ivalue1 * ivalue1; -variable.cpp: int multiple = update->ntimestep/lower; -variable.cpp: double delta = ivalue1*(ivalue3-1.0)/ivalue2; -variable.cpp: arg = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; -variable.cpp: istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; -variable.cpp: istep = ivalue4 + (offset/ivalue6)*ivalue6 + ivalue6; -variable.cpp: istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; -variable.cpp: double omega = 2.0*MY_PI/arg3; -variable.cpp: double omega = 2.0*MY_PI/arg3; -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // istop = matching ')' at same level, allowing for nested parens -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // evaluate index as floating point variable or as tagint via ATOTAGINT() -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // word not a match to any math function -variable.cpp: // parse contents for comma-separated args -variable.cpp: // narg = number of args, args = strings between commas -variable.cpp: // individual math functions -variable.cpp: // customize by adding a function -variable.cpp: error->all(FLERR,"Log of zero/negative value in variable formula"); -variable.cpp: error->all(FLERR,"Log of zero/negative value in variable formula"); -variable.cpp: if (delta != 0.0) delta /= update->endstep - update->beginstep; -variable.cpp: int lower = update->ntimestep/ivalue1 * ivalue1; -variable.cpp: int multiple = update->ntimestep/lower; -variable.cpp: double delta = ivalue1*(ivalue3-1.0)/ivalue2; -variable.cpp: value = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; -variable.cpp: istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; -variable.cpp: istep = ivalue4 + (offset/ivalue6)*ivalue6 + ivalue6; -variable.cpp: istep = ivalue1 + (offset/ivalue3)*ivalue3 + ivalue3; -variable.cpp: double omega = 2.0*MY_PI/values[0]; -variable.cpp: double omega = 2.0*MY_PI/values[0]; -variable.cpp: // delete stored args -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // word not a match to any group function -variable.cpp: // parse contents for comma-separated args -variable.cpp: // narg = number of args, args = strings between commas -variable.cpp: // group to operate on -variable.cpp: // match word to group function -variable.cpp: // delete stored args -variable.cpp: // save value in tree or on argstack -variable.cpp:/* ---------------------------------------------------------------------- */ -variable.cpp: // init region in case sub-regions have been deleted -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // word not a match to any special function -variable.cpp: // parse contents for comma-separated args -variable.cpp: // narg = number of args, args = strings between commas -variable.cpp: // special functions that operate on global vectors -variable.cpp: // argument is compute -variable.cpp: // argument is fix -variable.cpp: // argument is vector-style variable -variable.cpp: if (nvec > 1) xvalue = (double) i / (nvec-1); -variable.cpp: if (nvec > 1) xvalue = (double) i / (nvec-1); -variable.cpp: if (nvec > 1) xvalue = (double) i / (nvec-1); -variable.cpp: if (method == AVE) value /= nvec; -variable.cpp: if (denominator != 0.0) value = numerator/denominator / nvec; -variable.cpp: // save value in tree or on argstack -variable.cpp: // mask special functions -variable.cpp: // special function for file-style or atomfile-style variables -variable.cpp: // SCALARFILE has single current value, read next one -variable.cpp: // save value in tree or on argstack -variable.cpp: // ATOMFILE has per-atom values, save values in tree -variable.cpp: // copy current per-atom values into result so can read next ones -variable.cpp: // set selfalloc = 1 so result will be deleted by free_tree() after eval -variable.cpp: // save value in tree or on argstack -variable.cpp: // save value in tree or on argstack -variable.cpp: // save value in tree or on argstack -variable.cpp: // delete stored args -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // error check for ID larger than any atom -variable.cpp: // int_between_brackets() already checked for ID <= 0 -variable.cpp: // if ID does not exist, index will be -1 for all procs, -variable.cpp: // and mine will be set to 0.0 -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: int flag; // 0 for numeric value, 1 for string -variable.cpp: double value; // stored numeric value -variable.cpp: char *str; // stored string -variable.cpp: // whitespace: just skip -variable.cpp: // ---------------- -variable.cpp: // parentheses: recursively evaluate contents of parens -variable.cpp: // ---------------- -variable.cpp: // evaluate contents and push on stack -variable.cpp: // ---------------- -variable.cpp: // number: push value onto stack -variable.cpp: // ---------------- -variable.cpp: // set I to end of number, including scientific notation -variable.cpp: // ---------------- -variable.cpp: // string: push string onto stack -variable.cpp: // ---------------- -variable.cpp: // set I to end of string -variable.cpp: // ---------------- -variable.cpp: // Boolean operator, including end-of-string -variable.cpp: // ---------------- -variable.cpp: // evaluate stack as deep as possible while respecting precedence -variable.cpp: // before pushing current op onto stack -variable.cpp: // if end-of-string, break out of entire formula evaluation loop -variable.cpp: // push current operation onto stack -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // if atomfile-style variable, must store per-atom values read from file -variable.cpp: // allocate a new fix STORE, so they persist -variable.cpp: // id = variable-ID + VARIABLE_STORE, fix group = all -variable.cpp:/* ---------------------------------------------------------------------- */ -variable.cpp: // check modify in case all fixes have already been deleted -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // read one string from file -variable.cpp: if (n == 0) break; // end of file -variable.cpp: str[n-1] = '\0'; // strip newline -variable.cpp: if ((ptr = strchr(str,'#'))) *ptr = '\0'; // strip comment -variable.cpp: if (strtok(str," \t\n\r\f") == NULL) continue; // skip if blank -variable.cpp:/* ---------------------------------------------------------------------- -variable.cpp:------------------------------------------------------------------------- */ -variable.cpp: // set all per-atom values to 0.0 -variable.cpp: // values that appear in file will overwrite this -variable.cpp: // read one string from file, convert to Nlines -variable.cpp: if (n == 0) break; // end of file -variable.cpp: str[n-1] = '\0'; // strip newline -variable.cpp: if ((ptr = strchr(str,'#'))) *ptr = '\0'; // strip comment -variable.cpp: if (strtok(str," \t\n\r\f") == NULL) continue; // skip if blank -velocity.cpp:/* ---------------------------------------------------------------------- -velocity.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -velocity.cpp: http://lammps.sandia.gov, Sandia National Laboratories -velocity.cpp:------------------------------------------------------------------------- */ -velocity.cpp:/* ---------------------------------------------------------------------- */ -velocity.cpp:/* ---------------------------------------------------------------------- */ -velocity.cpp: // atom masses must all be set -velocity.cpp: // identify group -velocity.cpp: // identify style -velocity.cpp: // set defaults -velocity.cpp: // read options from end of input line -velocity.cpp: // change defaults as options specify -velocity.cpp: // special cases where full init and border communication must be done first -velocity.cpp: // for ZERO if fix rigid/small is used -velocity.cpp: // for CREATE/SET if compute temp/cs is used -velocity.cpp: // b/c methods invoked in the compute/fix perform forward/reverse comm -velocity.cpp: strcmp(modify->fix[rfix]->style,"rigid/small") == 0) initcomm = 1; -velocity.cpp: strcmp(temperature->style,"temp/cs") == 0) initcomm = 1; -velocity.cpp: // initialize velocities based on style -velocity.cpp: // create() invoked differently, so can be called externally -velocity.cpp:/* ---------------------------------------------------------------------- -velocity.cpp:------------------------------------------------------------------------- */ -velocity.cpp:/* ---------------------------------------------------------------------- */ -velocity.cpp: // if sum_flag set, store a copy of current velocities -velocity.cpp: // if temperature = NULL or bias_flag set, -velocity.cpp: // create a new ComputeTemp with the velocity group -velocity.cpp: // initialize temperature computation(s) -velocity.cpp: // warn if groups don't match -velocity.cpp: // if bias_flag set, remove bias velocity from all atoms -velocity.cpp: // for some temperature computes, must first calculate temp to do that -velocity.cpp: // create new velocities, in uniform or gaussian distribution -velocity.cpp: // loop option determines looping style, ALL is default -velocity.cpp: // ALL = loop over all natoms, only set those I own via atom->map -velocity.cpp: // cannot do this if atom IDs do not span 1-Natoms (some were deleted) -velocity.cpp: // will produce same V, independent of P, if atoms were read-in -velocity.cpp: // will NOT produce same V, independent of P, if used create_atoms -velocity.cpp: // LOCAL = only loop over my atoms, adjust RNG to be proc-specific -velocity.cpp: // will never produce same V, independent of P -velocity.cpp: // GEOM = only loop over my atoms -velocity.cpp: // choose RNG for each atom based on its xyz coord (geometry) -velocity.cpp: // via random->reset() -velocity.cpp: // will always produce same V, independent of P -velocity.cpp: // adjust by factor for atom mass -velocity.cpp: // set xdim,ydim,zdim = 1/0 for whether to create velocity in those dims -velocity.cpp: // zdim = 0 for 2d -velocity.cpp: // any dims can be 0 if bias temperature compute turns them off -velocity.cpp: // currently only temp/partial does -velocity.cpp: // create an atom map if one doesn't exist already -velocity.cpp: // error check -velocity.cpp: // loop over all atoms in system -velocity.cpp: // generate RNGs for all atoms, only assign to ones I own -velocity.cpp: // use either per-type mass or per-atom rmass -velocity.cpp: if (rmass) factor = 1.0/sqrt(rmass[m]); -velocity.cpp: else factor = 1.0/sqrt(mass[type[m]]); -velocity.cpp: // delete temporary atom map -velocity.cpp: if (rmass) factor = 1.0/sqrt(rmass[i]); -velocity.cpp: else factor = 1.0/sqrt(mass[type[i]]); -velocity.cpp: if (rmass) factor = 1.0/sqrt(rmass[i]); -velocity.cpp: else factor = 1.0/sqrt(mass[type[i]]); -velocity.cpp: // apply momentum and rotation zeroing -velocity.cpp: // scale temp to desired value -velocity.cpp: // if bias flag is set, bias velocities have already been removed: -velocity.cpp: // no-bias compute calculates temp only for new thermal velocities -velocity.cpp: // if bias_flag set, restore bias velocity to all atoms -velocity.cpp: // reapply needed for temperature computes where velocity -velocity.cpp: // creation has messed up the bias that was already removed: -velocity.cpp: // compute temp/partial needs to reset v dims to 0.0 -velocity.cpp: // compute temp/cs needs to reset v to COM velocity of each C/S pair -velocity.cpp: // if sum_flag set, add back in previous velocities -velocity.cpp: // free local memory -velocity.cpp: // if temperature compute was created, delete it -velocity.cpp:/* ---------------------------------------------------------------------- */ -velocity.cpp: // parse 3 args -velocity.cpp: // set and apply scale factors -velocity.cpp: // check variables -velocity.cpp: // error check for 2d models -velocity.cpp: // allocate vfield array if necessary -velocity.cpp: // set velocities via constants -velocity.cpp: // set velocities via variables -velocity.cpp: // clean up -velocity.cpp:/* ---------------------------------------------------------------------- -velocity.cpp:------------------------------------------------------------------------- */ -velocity.cpp: // if temperature = NULL, create a new ComputeTemp with the velocity group -velocity.cpp: // initialize temperature computation -velocity.cpp: // warn if groups don't match -velocity.cpp: // scale temp to desired value -velocity.cpp: // if bias flag is set: -velocity.cpp: // temperature calculation will be done accounting for bias -velocity.cpp: // remove/restore bias velocities before/after rescale -velocity.cpp: // if temperature was created, delete it -velocity.cpp:/* ---------------------------------------------------------------------- -velocity.cpp:------------------------------------------------------------------------- */ -velocity.cpp: // set scale factors -velocity.cpp: // parse args -velocity.cpp: // vramp = ramped velocity component for v_dim -velocity.cpp: // add or set based on sum_flag -velocity.cpp: fraction = (x[i][coord_dim] - coord_lo) / (coord_hi - coord_lo); -velocity.cpp:/* ---------------------------------------------------------------------- -velocity.cpp:------------------------------------------------------------------------- */ -velocity.cpp: else if (strcmp(modify->fix[rfix]->style,"rigid/small") == 0) { -velocity.cpp: else if (strcmp(modify->fix[rfix]->style,"rigid/small") == 0) { -velocity.cpp:/* ---------------------------------------------------------------------- -velocity.cpp:------------------------------------------------------------------------- */ -velocity.cpp: double factor = sqrt(t_new/t_old); -velocity.cpp:/* ---------------------------------------------------------------------- -velocity.cpp:------------------------------------------------------------------------- */ -velocity.cpp: // cannot have no atoms in group -velocity.cpp: // compute velocity of center-of-mass of group -velocity.cpp: // adjust velocities by vcm to zero linear momentum -velocity.cpp:/* ---------------------------------------------------------------------- -velocity.cpp:------------------------------------------------------------------------- */ -velocity.cpp: // cannot have no atoms in group -velocity.cpp: // compute omega (angular velocity) of group around center-of-mass -velocity.cpp: // adjust velocities to zero omega -velocity.cpp: // vnew_i = v_i - w x r_i -velocity.cpp: // must use unwrapped coords to compute r_i correctly -velocity.cpp:/* ---------------------------------------------------------------------- -velocity.cpp:------------------------------------------------------------------------- */ -velocity.cpp: // error check -verlet.cpp:/* ---------------------------------------------------------------------- -verlet.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -verlet.cpp: http://lammps.sandia.gov, Sandia National Laboratories -verlet.cpp:------------------------------------------------------------------------- */ -verlet.cpp:/* ---------------------------------------------------------------------- */ -verlet.cpp:/* ---------------------------------------------------------------------- -verlet.cpp:------------------------------------------------------------------------- */ -verlet.cpp: // warn if no fixes -verlet.cpp: // virial_style: -verlet.cpp: // 1 if computed explicitly by pair->compute via sum over pair interactions -verlet.cpp: // 2 if computed implicitly by pair->virial_fdotr_compute via sum over ghosts -verlet.cpp: // setup lists of computes for global and per-atom PE and pressure -verlet.cpp: // detect if fix omp is present for clearing force arrays -verlet.cpp: // set flags for arrays to clear in force_clear() -verlet.cpp: // orthogonal vs triclinic simulation box -verlet.cpp:/* ---------------------------------------------------------------------- -verlet.cpp:------------------------------------------------------------------------- */ -verlet.cpp: error->all(FLERR,"KOKKOS package requires run_style verlet/kk"); -verlet.cpp: // setup domain, communication and neighboring -verlet.cpp: // acquire ghosts -verlet.cpp: // build neighbor lists -verlet.cpp: // compute all forces -verlet.cpp:/* ---------------------------------------------------------------------- -verlet.cpp:------------------------------------------------------------------------- */ -verlet.cpp: // setup domain, communication and neighboring -verlet.cpp: // acquire ghosts -verlet.cpp: // build neighbor lists -verlet.cpp: // compute all forces -verlet.cpp:/* ---------------------------------------------------------------------- -verlet.cpp:------------------------------------------------------------------------- */ -verlet.cpp: // initial time integration -verlet.cpp: // regular communication vs neighbor list rebuild -verlet.cpp: // force computations -verlet.cpp: // important for pair to come before bonded contributions -verlet.cpp: // since some bonded potentials tally pairwise energy/virial -verlet.cpp: // and Pair:ev_tally() needs to be called before any tallying -verlet.cpp: // reverse communication of forces -verlet.cpp: // force modifications, final time integration, diagnostics -verlet.cpp: // all output -verlet.cpp:/* ---------------------------------------------------------------------- */ -verlet.cpp:/* ---------------------------------------------------------------------- -verlet.cpp:------------------------------------------------------------------------- */ -verlet.cpp: // clear force on all particles -verlet.cpp: // if either newton flag is set, also include ghosts -verlet.cpp: // when using threads always clear all forces. -verlet.cpp: //test memset for fm -verlet.cpp: //memset(&atom->fm[0][0],0,3*nbytes); -verlet.cpp: // neighbor includegroup flag is set -verlet.cpp: // clear force only on initial nfirst particles -verlet.cpp: // if either newton flag is set, also include ghosts -write_coeff.cpp:/* ---------------------------------------------------------------------- -write_coeff.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -write_coeff.cpp: http://lammps.sandia.gov, Sandia National Laboratories -write_coeff.cpp:------------------------------------------------------------------------- */ -write_coeff.cpp:/* ---------------------------------------------------------------------- -write_coeff.cpp:------------------------------------------------------------------------- */ -write_coeff.cpp: // initialize relevant styles -write_coeff.cpp: fputs(str,two); // style -write_coeff.cpp: fgets(str,256,one); // coeff -write_data.cpp:/* ---------------------------------------------------------------------- -write_data.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -write_data.cpp: http://lammps.sandia.gov, Sandia National Laboratories -write_data.cpp:------------------------------------------------------------------------- */ -write_data.cpp:enum{IGNORE,WARN,ERROR}; // same as thermo.cpp -write_data.cpp:/* ---------------------------------------------------------------------- */ -write_data.cpp:/* ---------------------------------------------------------------------- -write_data.cpp:------------------------------------------------------------------------- */ -write_data.cpp: // if filename contains a "*", replace with current timestep -write_data.cpp: // read optional args -write_data.cpp: // noinit is a hidden arg, only used by -r command-line switch -write_data.cpp: // init entire system since comm->exchange is done -write_data.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc -write_data.cpp: // exception is when called by -r command-line switch -write_data.cpp: // then write_data immediately follows reading of restart file -write_data.cpp: // assume that read_restart initialized necessary values -write_data.cpp: // if don't make exception: -write_data.cpp: // pair->init() can fail due to various unset values: -write_data.cpp: // e.g. pair hybrid coeffs, dpd ghost-atom velocity setting -write_data.cpp: // move atoms to new processors before writing file -write_data.cpp: // do setup_pre_exchange to force update of per-atom info if needed -write_data.cpp: // enforce PBC in case atoms are outside box -write_data.cpp: // call borders() to rebuild atom map since exchange() destroys map -write_data.cpp:/* ---------------------------------------------------------------------- -write_data.cpp: might later let it be directly called within run/minimize loop -write_data.cpp:------------------------------------------------------------------------- */ -write_data.cpp: // special case where reneighboring is not done in integrator -write_data.cpp: // on timestep data file is written (due to build_once being set) -write_data.cpp: // if box is changing, must be reset, else data file will have -write_data.cpp: // wrong box size and atoms will be lost when data file is read -write_data.cpp: // other calls to pbc and domain and comm are not made, -write_data.cpp: // b/c they only make sense if reneighboring is actually performed -write_data.cpp: //if (neighbor->build_once) domain->reset_box(); -write_data.cpp: // natoms = sum of nlocal = value to write into data file -write_data.cpp: // if unequal and thermo lostflag is "error", don't write data file -write_data.cpp: // sum up bond,angle counts -write_data.cpp: // may be different than atom->nbonds,nangles if broken/turned-off -write_data.cpp: // open data file -write_data.cpp: // proc 0 writes header, ntype-length arrays, force fields -write_data.cpp: // per atom info -write_data.cpp: // do not write molecular topology for atom_style template -write_data.cpp: // extra sections managed by fixes -write_data.cpp: // close data file -write_data.cpp:/* ---------------------------------------------------------------------- -write_data.cpp:------------------------------------------------------------------------- */ -write_data.cpp: // do not write molecular topology info for atom_style template -write_data.cpp:/* ---------------------------------------------------------------------- -write_data.cpp:------------------------------------------------------------------------- */ -write_data.cpp:/* ---------------------------------------------------------------------- -write_data.cpp:------------------------------------------------------------------------- */ -write_data.cpp:/* ---------------------------------------------------------------------- -write_data.cpp:------------------------------------------------------------------------- */ -write_data.cpp: // communication buffer for all my Atom info -write_data.cpp: // max_size = largest buffer needed by any proc -write_data.cpp: // pack my atom data into buf -write_data.cpp: // write one chunk of atoms per proc to file -write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file -write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 -write_data.cpp: recvrow /= ncol; -write_data.cpp:/* ---------------------------------------------------------------------- -write_data.cpp:------------------------------------------------------------------------- */ -write_data.cpp: // communication buffer for all my Atom info -write_data.cpp: // max_size = largest buffer needed by any proc -write_data.cpp: // pack my velocity data into buf -write_data.cpp: // write one chunk of velocities per proc to file -write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file -write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 -write_data.cpp: recvrow /= ncol; -write_data.cpp:/* ---------------------------------------------------------------------- -write_data.cpp:------------------------------------------------------------------------- */ -write_data.cpp: // communication buffer for all my Bond info -write_data.cpp: // pack my bond data into buf -write_data.cpp: // write one chunk of info per proc to file -write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file -write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 -write_data.cpp: recvrow /= ncol; -write_data.cpp:/* ---------------------------------------------------------------------- -write_data.cpp:------------------------------------------------------------------------- */ -write_data.cpp: // communication buffer for all my Angle info -write_data.cpp: // pack my angle data into buf -write_data.cpp: // write one chunk of info per proc to file -write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file -write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 -write_data.cpp: recvrow /= ncol; -write_data.cpp:/* ---------------------------------------------------------------------- -write_data.cpp:------------------------------------------------------------------------- */ -write_data.cpp: // communication buffer for all my Dihedral info -write_data.cpp: // max_size = largest buffer needed by any proc -write_data.cpp: // pack my dihedral data into buf -write_data.cpp: // write one chunk of info per proc to file -write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file -write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 -write_data.cpp: recvrow /= ncol; -write_data.cpp:/* ---------------------------------------------------------------------- -write_data.cpp:------------------------------------------------------------------------- */ -write_data.cpp: // communication buffer for all my Improper info -write_data.cpp: // max_size = largest buffer needed by any proc -write_data.cpp: // pack my improper data into buf -write_data.cpp: // write one chunk of info per proc to file -write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file -write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 -write_data.cpp: recvrow /= ncol; -write_data.cpp:/* ---------------------------------------------------------------------- -write_data.cpp:------------------------------------------------------------------------- */ -write_data.cpp: // communication buffer for Fix info -write_data.cpp: // pack my fix data into buf -write_data.cpp: // write one chunk of info per proc to file -write_data.cpp: // proc 0 pings each proc, receives its chunk, writes to file -write_data.cpp: // all other procs wait for ping, send their chunk to proc 0 -write_data.cpp: recvrow /= ncol; -write_dump.cpp:/* ---------------------------------------------------------------------- -write_dump.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -write_dump.cpp: http://lammps.sandia.gov, Sandia National Laboratories -write_dump.cpp:------------------------------------------------------------------------- */ -write_dump.cpp:/* ---------------------------------------------------------------------- -write_dump.cpp:------------------------------------------------------------------------- */ -write_dump.cpp:/* ---------------------------------------------------------------------- */ -write_dump.cpp: // modindex = index in args of "modify" keyword -write_dump.cpp: // will be narg if "modify" is not present -write_dump.cpp: // create the Dump instance -write_dump.cpp: // create dump command line with extra required args -write_dump.cpp: dumpargs[0] = (char *) "WRITE_DUMP"; // dump id -write_dump.cpp: dumpargs[1] = arg[0]; // group -write_dump.cpp: dumpargs[2] = arg[1]; // dump style -write_dump.cpp: dumpargs[3] = (char *) "1"; // dump frequency -write_dump.cpp: if (0) return; // dummy line to enable else-if macro expansion -write_dump.cpp: // write out one frame and then delete the dump again -write_dump.cpp: // set multifile_override for DumpImage so that filename needs no "*" -write_dump.cpp: // delete the Dump instance and local storage -write_restart.cpp:/* ---------------------------------------------------------------------- -write_restart.cpp: LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -write_restart.cpp: http://lammps.sandia.gov, Sandia National Laboratories -write_restart.cpp:------------------------------------------------------------------------- */ -write_restart.cpp:// same as read_restart.cpp -write_restart.cpp:enum{IGNORE,WARN,ERROR}; // same as thermo.cpp -write_restart.cpp:/* ---------------------------------------------------------------------- */ -write_restart.cpp:/* ---------------------------------------------------------------------- -write_restart.cpp:------------------------------------------------------------------------- */ -write_restart.cpp: // if filename contains a "*", replace with current timestep -write_restart.cpp: // check for multiproc output and an MPI-IO filename -write_restart.cpp: // setup output style and process optional args -write_restart.cpp: // also called by Output class for periodic restart files -write_restart.cpp: // init entire system since comm->exchange is done -write_restart.cpp: // comm::init needs neighbor::init needs pair::init needs kspace::init, etc -write_restart.cpp: // move atoms to new processors before writing file -write_restart.cpp: // enforce PBC in case atoms are outside box -write_restart.cpp: // call borders() to rebuild atom map since exchange() destroys map -write_restart.cpp: // NOTE: removed call to setup_pre_exchange -write_restart.cpp: // used to be needed by fixShearHistory for granular -write_restart.cpp: // to move history info from neigh list to atoms between runs -write_restart.cpp: // but now that is done via FIx::post_run() -write_restart.cpp: // don't think any other fix needs this or should do it -write_restart.cpp: // e.g. fix evaporate should not delete more atoms -write_restart.cpp: // modify->setup_pre_exchange(); -write_restart.cpp: // write single restart file -write_restart.cpp:/* ---------------------------------------------------------------------- */ -write_restart.cpp: // error checks -write_restart.cpp: // defaults for multiproc file writing -write_restart.cpp: // optional args -write_restart.cpp: multiproc = nprocs/nper; -write_restart.cpp: fileproc = me/nper * nper; -write_restart.cpp: icluster = fileproc/nper; -write_restart.cpp: icluster = static_cast ((bigint) me * nfile/nprocs); -write_restart.cpp: fileproc = static_cast ((bigint) icluster * nprocs/nfile); -write_restart.cpp: int fcluster = static_cast ((bigint) fileproc * nfile/nprocs); -write_restart.cpp: static_cast ((bigint) (icluster+1) * nprocs/nfile); -write_restart.cpp: fcluster = static_cast ((bigint) fileprocnext * nfile/nprocs); -write_restart.cpp:/* ---------------------------------------------------------------------- -write_restart.cpp: called from command() and directly from output within run/minimize loop -write_restart.cpp:------------------------------------------------------------------------- */ -write_restart.cpp: // special case where reneighboring is not done in integrator -write_restart.cpp: // on timestep restart file is written (due to build_once being set) -write_restart.cpp: // if box is changing, must be reset, else restart file will have -write_restart.cpp: // wrong box size and atoms will be lost when restart file is read -write_restart.cpp: // other calls to pbc and domain and comm are not made, -write_restart.cpp: // b/c they only make sense if reneighboring is actually performed -write_restart.cpp: // natoms = sum of nlocal = value to write into restart file -write_restart.cpp: // if unequal and thermo lostflag is "error", don't write restart file -write_restart.cpp: // open single restart file or base file for multiproc case -write_restart.cpp: // proc 0 writes magic string, endian flag, numeric version -write_restart.cpp: // proc 0 writes header, groups, pertype info, force field info -write_restart.cpp: // all procs write fix info -write_restart.cpp: // communication buffer for my atom info -write_restart.cpp: // max_size = largest buffer needed by any proc -write_restart.cpp: // NOTE: are assuming size_restart() returns 32-bit int -write_restart.cpp: // for a huge one-proc problem, nlocal could be 32-bit -write_restart.cpp: // but nlocal * doubles-peratom could oveflow -write_restart.cpp: // all procs write file layout info which may include per-proc sizes -write_restart.cpp: // header info is complete -write_restart.cpp: // if multiproc output: -write_restart.cpp: // close header file, open multiname file on each writing proc, -write_restart.cpp: // write PROCSPERFILE into new file -write_restart.cpp: // pack my atom data into buf -write_restart.cpp: // if any fix requires it, remap each atom's coords via PBC -write_restart.cpp: // is because fix changes atom coords (excepting an integrate fix) -write_restart.cpp: // just remap in buffer, not actual atoms -write_restart.cpp: // MPI-IO output to single file -write_restart.cpp: // output of one or more native files -write_restart.cpp: // filewriter = 1 = this proc writes to file -write_restart.cpp: // ping each proc in my cluster, receive its data, write data to file -write_restart.cpp: // else wait for ping from fileproc, send my data to fileproc -write_restart.cpp: // clean up -write_restart.cpp: // invoke any fixes that write their own restart file -write_restart.cpp:/* ---------------------------------------------------------------------- -write_restart.cpp:------------------------------------------------------------------------- */ -write_restart.cpp: // added field for shrink-wrap boundaries with minimum - 2 Jul 2015 -write_restart.cpp: // write atom_style and its args -write_restart.cpp: // -1 flag signals end of header -write_restart.cpp:/* ---------------------------------------------------------------------- -write_restart.cpp:------------------------------------------------------------------------- */ -write_restart.cpp: // -1 flag signals end of type arrays -write_restart.cpp:/* ---------------------------------------------------------------------- -write_restart.cpp:------------------------------------------------------------------------- */ -write_restart.cpp: // -1 flag signals end of force field info -write_restart.cpp:/* ---------------------------------------------------------------------- -write_restart.cpp:------------------------------------------------------------------------- */ -write_restart.cpp: // -1 flag signals end of file layout info -write_restart.cpp: // if MPI-IO file, broadcast the end of the header offste -write_restart.cpp: // this allows all ranks to compute offset to their data -write_restart.cpp:// ---------------------------------------------------------------------- -write_restart.cpp:// ---------------------------------------------------------------------- -write_restart.cpp:// low-level fwrite methods -write_restart.cpp:// ---------------------------------------------------------------------- -write_restart.cpp:// ---------------------------------------------------------------------- -write_restart.cpp:/* ---------------------------------------------------------------------- */ -write_restart.cpp:/* ---------------------------------------------------------------------- */ -write_restart.cpp:/* ---------------------------------------------------------------------- */ -write_restart.cpp:/* ---------------------------------------------------------------------- -write_restart.cpp:------------------------------------------------------------------------- */ -write_restart.cpp:/* ---------------------------------------------------------------------- -write_restart.cpp:------------------------------------------------------------------------- */ -write_restart.cpp:/* ---------------------------------------------------------------------- -write_restart.cpp:------------------------------------------------------------------------- */ -write_restart.cpp:/* ---------------------------------------------------------------------- -write_restart.cpp:------------------------------------------------------------------------- */ -write_restart.cpp:/* ---------------------------------------------------------------------- -write_restart.cpp:------------------------------------------------------------------------- */ -write_restart.cpp:/* ---------------------------------------------------------------------- -write_restart.cpp:------------------------------------------------------------------------- */ -- GitLab From b189a328ed3d6de207b4984e3bac6d48c7112bf4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Jun 2018 17:00:23 -0400 Subject: [PATCH 142/675] source code formatting cleanups --- src/SPIN/atom_vec_spin.cpp | 8 +++----- src/atom.cpp | 2 +- src/modify.cpp | 1 - src/set.cpp | 3 ++- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 22cd78036b..d548300179 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -42,7 +42,9 @@ using namespace LAMMPS_NS; AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) { molecular = 0; - mass_type = 1; // check why + mass_type = 1; + forceclearflag = 1; + atom->sp_flag = 1; comm_x_only = 0; comm_f_only = 0; @@ -54,10 +56,6 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) size_data_atom = 9; size_data_vel = 4; xcol_data = 4; - - forceclearflag = 1; - atom->sp_flag = 1; - } diff --git a/src/atom.cpp b/src/atom.cpp index 3a4d2c3b38..a8e0d1556d 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -169,7 +169,7 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) omega_flag = torque_flag = angmom_flag = 0; radius_flag = rmass_flag = 0; ellipsoid_flag = line_flag = tri_flag = body_flag = 0; - + // magnetic flags sp_flag = 0; diff --git a/src/modify.cpp b/src/modify.cpp index 61b9f1d71d..c5a680a3bd 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -1,5 +1,4 @@ /* ---------------------------------------------------------------------- -eoundary p f f LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov diff --git a/src/set.cpp b/src/set.cpp index d5221a57a0..0294f93e5d 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -44,7 +44,8 @@ using namespace MathConst; enum{ATOM_SELECT,MOL_SELECT,TYPE_SELECT,GROUP_SELECT,REGION_SELECT}; enum{TYPE,TYPE_FRACTION,MOLECULE,X,Y,Z,CHARGE,MASS,SHAPE,LENGTH,TRI, - DIPOLE,DIPOLE_RANDOM,SPIN,SPIN_RANDOM,QUAT,QUAT_RANDOM,THETA,THETA_RANDOM,ANGMOM,OMEGA, + DIPOLE,DIPOLE_RANDOM,SPIN,SPIN_RANDOM,QUAT,QUAT_RANDOM, + THETA,THETA_RANDOM,ANGMOM,OMEGA, DIAMETER,DENSITY,VOLUME,IMAGE,BOND,ANGLE,DIHEDRAL,IMPROPER, MESO_E,MESO_CV,MESO_RHO,EDPD_TEMP,EDPD_CV,CC,SMD_MASS_DENSITY, SMD_CONTACT_RADIUS,DPDTHETA,INAME,DNAME}; -- GitLab From 83ae0ad26fa3c48cee8542b31bec275de7d3dc16 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Jun 2018 17:47:59 -0400 Subject: [PATCH 143/675] remove unused code --- src/dump_custom.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 8e798ebd48..af2e34b022 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -41,7 +41,6 @@ enum{ID,MOL,PROC,PROCP1,TYPE,ELEMENT,MASS, IX,IY,IZ, VX,VY,VZ,FX,FY,FZ, Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER, - MUMAG,SPX,SPY,SPZ,SP, OMEGAX,OMEGAY,OMEGAZ,ANGMOMX,ANGMOMY,ANGMOMZ, TQX,TQY,TQZ, COMPUTE,FIX,VARIABLE,INAME,DNAME}; -- GitLab From da5931d65da2e41df744196d79fd3986dbad7989 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Jun 2018 17:54:04 -0400 Subject: [PATCH 144/675] whitespace cleanup --- src/SPIN/atom_vec_spin.cpp | 40 ++++---- src/SPIN/atom_vec_spin.h | 4 +- src/SPIN/compute_spin.cpp | 42 ++++----- src/SPIN/fix_langevin_spin.cpp | 34 +++---- src/SPIN/fix_langevin_spin.h | 2 +- src/SPIN/fix_nve_spin.cpp | 116 +++++++++++------------ src/SPIN/fix_nve_spin.h | 26 +++--- src/SPIN/fix_precession_spin.cpp | 46 +++++----- src/SPIN/fix_precession_spin.h | 22 ++--- src/SPIN/pair_spin.cpp | 6 +- src/SPIN/pair_spin.h | 2 +- src/SPIN/pair_spin_dmi.cpp | 112 +++++++++++------------ src/SPIN/pair_spin_dmi.h | 6 +- src/SPIN/pair_spin_exchange.cpp | 118 ++++++++++++------------ src/SPIN/pair_spin_exchange.h | 6 +- src/SPIN/pair_spin_magelec.cpp | 148 +++++++++++++++--------------- src/SPIN/pair_spin_magelec.h | 10 +- src/SPIN/pair_spin_neel.cpp | 152 +++++++++++++++---------------- src/SPIN/pair_spin_neel.h | 6 +- src/atom.cpp | 1 + 20 files changed, 450 insertions(+), 449 deletions(-) diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index d548300179..20888290a0 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -16,10 +16,10 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) - + Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ @@ -102,7 +102,7 @@ void AtomVecSpin::grow_reset() { tag = atom->tag; type = atom->type; mask = atom->mask; image = atom->image; - x = atom->x; v = atom->v; f = atom->f; + x = atom->x; v = atom->v; f = atom->f; sp = atom->sp; fm = atom->fm; } @@ -361,7 +361,7 @@ void AtomVecSpin::unpack_reverse(int n, int *list, double *buf) fm[j][0] += buf[m++]; fm[j][1] += buf[m++]; fm[j][2] += buf[m++]; - } + } } /* ---------------------------------------------------------------------- */ @@ -522,7 +522,7 @@ int AtomVecSpin::pack_border_hybrid(int n, int *list, double *buf) buf[m++] = sp[j][2]; buf[m++] = sp[j][3]; } - + return m; } @@ -552,7 +552,7 @@ void AtomVecSpin::unpack_border(int n, int first, double *buf) for (int iextra = 0; iextra < atom->nextra_border; iextra++) m += modify->fix[atom->extra_border[iextra]]-> unpack_border(n,first,&buf[m]); - + } /* ---------------------------------------------------------------------- */ @@ -584,7 +584,7 @@ void AtomVecSpin::unpack_border_vel(int n, int first, double *buf) for (int iextra = 0; iextra < atom->nextra_border; iextra++) m += modify->fix[atom->extra_border[iextra]]-> unpack_border(n,first,&buf[m]); - + } /* ---------------------------------------------------------------------- */ @@ -601,7 +601,7 @@ int AtomVecSpin::unpack_border_hybrid(int n, int first, double *buf) sp[i][2] = buf[m++]; sp[i][3] = buf[m++]; } - + return m; } @@ -667,7 +667,7 @@ int AtomVecSpin::unpack_exchange(double *buf) unpack_exchange(nlocal,&buf[m]); atom->nlocal++; - + return m; } @@ -784,7 +784,7 @@ void AtomVecSpin::create_atom(int itype, double *coord) mask[nlocal] = 1; image[nlocal] = ((imageint) IMGMAX << IMG2BITS) | ((imageint) IMGMAX << IMGBITS) | IMGMAX; - v[nlocal][0] = 0.0; + v[nlocal][0] = 0.0; v[nlocal][1] = 0.0; v[nlocal][2] = 0.0; @@ -843,7 +843,7 @@ void AtomVecSpin::data_atom(double *coord, imageint imagetmp, char **values) int AtomVecSpin::data_atom_hybrid(int nlocal, char **values) { - + sp[nlocal][0] = atof(values[0]); sp[nlocal][1] = atof(values[1]); sp[nlocal][2] = atof(values[2]); @@ -854,7 +854,7 @@ int AtomVecSpin::data_atom_hybrid(int nlocal, char **values) sp[nlocal][1] *= inorm; sp[nlocal][2] *= inorm; sp[nlocal][3] = atof(values[3]); - + return 4; } @@ -878,7 +878,7 @@ void AtomVecSpin::pack_data(double **buf) buf[i][9] = ubuf((image[i] & IMGMASK) - IMGMAX).d; buf[i][10] = ubuf((image[i] >> IMGBITS & IMGMASK) - IMGMAX).d; buf[i][11] = ubuf((image[i] >> IMG2BITS) - IMGMAX).d; - } + } } /* ---------------------------------------------------------------------- @@ -886,7 +886,7 @@ void AtomVecSpin::pack_data(double **buf) ------------------------------------------------------------------------- */ int AtomVecSpin::pack_data_hybrid(int i, double *buf) -{ +{ buf[0] = sp[i][0]; buf[1] = sp[i][1]; buf[2] = sp[i][2]; @@ -899,7 +899,7 @@ int AtomVecSpin::pack_data_hybrid(int i, double *buf) ------------------------------------------------------------------------- */ void AtomVecSpin::write_data(FILE *fp, int n, double **buf) -{ +{ for (int i = 0; i < n; i++) fprintf(fp,TAGINT_FORMAT \ " %d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e " @@ -908,7 +908,7 @@ void AtomVecSpin::write_data(FILE *fp, int n, double **buf) buf[i][2],buf[i][3],buf[i][4], buf[i][5],buf[i][6],buf[i][7],buf[i][8], (int) ubuf(buf[i][10]).i,(int) ubuf(buf[i][11]).i, - (int) ubuf(buf[i][12]).i); + (int) ubuf(buf[i][12]).i); } /* ---------------------------------------------------------------------- @@ -936,7 +936,7 @@ bigint AtomVecSpin::memory_usage() if (atom->memcheck("x")) bytes += memory->usage(x,nmax,3); if (atom->memcheck("v")) bytes += memory->usage(v,nmax,3); if (atom->memcheck("f")) bytes += memory->usage(f,nmax*comm->nthreads,3); - + if (atom->memcheck("sp")) bytes += memory->usage(sp,nmax,4); if (atom->memcheck("fm")) bytes += memory->usage(fm,nmax*comm->nthreads,3); @@ -945,8 +945,8 @@ bigint AtomVecSpin::memory_usage() void AtomVecSpin::force_clear(int n, size_t nbytes) { - memset(&atom->f[0][0],0,3*nbytes); - memset(&atom->fm[0][0],0,3*nbytes); + memset(&atom->f[0][0],0,3*nbytes); + memset(&atom->fm[0][0],0,3*nbytes); } diff --git a/src/SPIN/atom_vec_spin.h b/src/SPIN/atom_vec_spin.h index 99d4a86189..34bc55b99f 100644 --- a/src/SPIN/atom_vec_spin.h +++ b/src/SPIN/atom_vec_spin.h @@ -55,12 +55,12 @@ class AtomVecSpin : public AtomVec { void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); - int write_data_hybrid(FILE *, double *); + int write_data_hybrid(FILE *, double *); bigint memory_usage(); // clear magnetic and mechanic forces - void force_clear(int, size_t); + void force_clear(int, size_t); private: diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index ab3bab2487..54818a9b70 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -14,10 +14,10 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) - + Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ @@ -40,7 +40,7 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -ComputeSpin::ComputeSpin(LAMMPS *lmp, int narg, char **arg) : +ComputeSpin::ComputeSpin(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg) { if ((narg != 3) && (narg != 4)) error->all(FLERR,"Illegal compute compute/spin command"); @@ -52,7 +52,7 @@ ComputeSpin::ComputeSpin(LAMMPS *lmp, int narg, char **arg) : init(); allocate(); - + } /* ---------------------------------------------------------------------- */ @@ -79,27 +79,27 @@ void ComputeSpin::compute_vector() double mag[4], magtot[4]; double magenergy, magenergytot; double tempnum, tempnumtot; - double tempdenom, tempdenomtot; + double tempdenom, tempdenomtot; double spintemperature; - + invoked_vector = update->ntimestep; - + countsp = countsptot = 0.0; - mag[0] = mag[1] = mag[2] = mag[3] = 0.0; - magtot[0] = magtot[1] = magtot[2] = magtot[3] = 0.0; - magenergy = magenergytot = 0.0; + mag[0] = mag[1] = mag[2] = mag[3] = 0.0; + magtot[0] = magtot[1] = magtot[2] = magtot[3] = 0.0; + magenergy = magenergytot = 0.0; tempnum = tempnumtot = 0.0; - tempdenom = tempdenomtot = 0.0; - spintemperature = 0.0; + tempdenom = tempdenomtot = 0.0; + spintemperature = 0.0; int *mask = atom->mask; - double **sp = atom->sp; + double **sp = atom->sp; double **fm = atom->fm; double tx,ty,tz; int nlocal = atom->nlocal; - // compute total magnetization and magnetic energy + // compute total magnetization and magnetic energy // compute spin temperature (Nurdin et al., Phys. Rev. E 61, 2000) for (i = 0; i < nlocal; i++) { @@ -108,7 +108,7 @@ void ComputeSpin::compute_vector() mag[0] += sp[i][0]; mag[1] += sp[i][1]; mag[2] += sp[i][2]; - magenergy -= (sp[i][0]*fm[i][0] + sp[i][1]*fm[i][1] + sp[i][2]*fm[i][2]); + magenergy -= (sp[i][0]*fm[i][0] + sp[i][1]*fm[i][1] + sp[i][2]*fm[i][2]); tx = sp[i][1]*fm[i][2]-sp[i][2]*fm[i][1]; ty = sp[i][2]*fm[i][0]-sp[i][0]*fm[i][2]; tz = sp[i][0]*fm[i][1]-sp[i][1]*fm[i][0]; @@ -125,22 +125,22 @@ void ComputeSpin::compute_vector() MPI_Allreduce(&tempnum,&tempnumtot,1,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&tempdenom,&tempdenomtot,1,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&countsp,&countsptot,1,MPI_INT,MPI_SUM,world); - + double scale = 1.0/countsptot; magtot[0] *= scale; magtot[1] *= scale; magtot[2] *= scale; magtot[3] = sqrt((magtot[0]*magtot[0])+(magtot[1]*magtot[1])+(magtot[2]*magtot[2])); - spintemperature = hbar*tempnumtot; + spintemperature = hbar*tempnumtot; spintemperature /= (kb*tempdenomtot); - + vector[0] = magtot[0]; vector[1] = magtot[1]; vector[2] = magtot[2]; vector[3] = magtot[3]; - vector[4] = magenergytot*hbar; + vector[4] = magenergytot*hbar; vector[5] = spintemperature; - + } /* ---------------------------------------------------------------------- diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp index d12ec11237..97b33197ce 100644 --- a/src/SPIN/fix_langevin_spin.cpp +++ b/src/SPIN/fix_langevin_spin.cpp @@ -14,10 +14,10 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) - + Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ @@ -85,7 +85,7 @@ FixLangevinSpin::FixLangevinSpin(LAMMPS *lmp, int narg, char **arg) : } // initialize Marsaglia RNG with processor-unique seed - + random = new RanPark(lmp,seed + comm->me); } @@ -116,21 +116,21 @@ int FixLangevinSpin::setmask() void FixLangevinSpin::init() { // fix_langevin_spin has to be the last defined fix - + int flag_force = 0; int flag_lang = 0; - for (int i = 0; i < modify->nfix; i++) { + for (int i = 0; i < modify->nfix; i++) { if (strcmp("precession/spin",modify->fix[i]->style)==0) flag_force = MAX(flag_force,i); if (strcmp("langevin/spin",modify->fix[i]->style)==0) flag_lang = i; } - if (flag_force >= flag_lang) error->all(FLERR,"Fix langevin/spin has to come after all other spin fixes"); + if (flag_force >= flag_lang) error->all(FLERR,"Fix langevin/spin has to come after all other spin fixes"); memory->create(spi,3,"langevin:spi"); memory->create(fmi,3,"langevin:fmi"); gil_factor = 1.0/(1.0+(alpha_t)*(alpha_t)); - dts = update->dt; - + dts = update->dt; + double hbar = force->hplanck/MY_2PI; // eV/(rad.THz) double kb = force->boltz; // eV/K D = (MY_2PI*alpha_t*gil_factor*kb*temp); @@ -168,24 +168,24 @@ void FixLangevinSpin::add_tdamping(double spi[3], double fmi[3]) /* ---------------------------------------------------------------------- */ -void FixLangevinSpin::add_temperature(double fmi[3]) +void FixLangevinSpin::add_temperature(double fmi[3]) { double rx = sigma*(2.0*random->uniform() - 1.0); double ry = sigma*(2.0*random->uniform() - 1.0); double rz = sigma*(2.0*random->uniform() - 1.0); - // adding the random field + // adding the random field - fmi[0] += rx; + fmi[0] += rx; fmi[1] += ry; fmi[2] += rz; - - // adding gilbert's prefactor - fmi[0] *= gil_factor; - fmi[1] *= gil_factor; - fmi[2] *= gil_factor; + // adding gilbert's prefactor + + fmi[0] *= gil_factor; + fmi[1] *= gil_factor; + fmi[2] *= gil_factor; } diff --git a/src/SPIN/fix_langevin_spin.h b/src/SPIN/fix_langevin_spin.h index 0f90a77c14..5358438396 100644 --- a/src/SPIN/fix_langevin_spin.h +++ b/src/SPIN/fix_langevin_spin.h @@ -43,7 +43,7 @@ class FixLangevinSpin : public Fix { double temp; // spin bath temperature double D,sigma; // bath intensity var. double gil_factor; // gilbert's prefactor - + char *id_temp; class Compute *temperature; diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp index 699426de9c..d91636af58 100644 --- a/src/SPIN/fix_nve_spin.cpp +++ b/src/SPIN/fix_nve_spin.cpp @@ -14,10 +14,10 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) - + Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ @@ -39,7 +39,7 @@ #include "math_extra.h" #include "math_const.h" #include "memory.h" -#include "modify.h" +#include "modify.h" #include "neighbor.h" #include "neigh_list.h" #include "pair.h" @@ -68,15 +68,15 @@ enum{NONE}; /* ---------------------------------------------------------------------- */ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), + Fix(lmp, narg, arg), pair(NULL), spin_pairs(NULL), - rsec(NULL), stack_head(NULL), stack_foot(NULL), + rsec(NULL), stack_head(NULL), stack_foot(NULL), backward_stacks(NULL), forward_stacks(NULL) { if (lmp->citeme) lmp->citeme->add(cite_fix_nve_spin); - if (narg < 4) error->all(FLERR,"Illegal fix/NVE/spin command"); - + if (narg < 4) error->all(FLERR,"Illegal fix/NVE/spin command"); + time_integrate = 1; sector_flag = NONE; lattice_flag = 1; @@ -90,7 +90,7 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : if (atom->map_style == 0) error->all(FLERR,"Fix NVE/spin requires an atom map, see atom_modify"); - // defining sector_flag + // defining sector_flag int nprocs_tmp = comm->nprocs; if (nprocs_tmp == 1) { @@ -99,10 +99,10 @@ FixNVESpin::FixNVESpin(LAMMPS *lmp, int narg, char **arg) : sector_flag = 1; } else error->all(FLERR,"Illegal fix/NVE/spin command"); - // defining lattice_flag + // defining lattice_flag int iarg = 3; - while (iarg < narg) { + while (iarg < narg) { if (strcmp(arg[iarg],"lattice") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal fix/NVE/spin command"); if (strcmp(arg[iarg+1],"no") == 0) lattice_flag = 0; @@ -151,7 +151,7 @@ int FixNVESpin::setmask() mask |= INITIAL_INTEGRATE; mask |= PRE_NEIGHBOR; mask |= FINAL_INTEGRATE; - return mask; + return mask; } /* ---------------------------------------------------------------------- */ @@ -182,7 +182,7 @@ void FixNVESpin::init() npairspin ++; } } - } + } // init length of vector of ptrs to Pair/Spin styles @@ -208,7 +208,7 @@ void FixNVESpin::init() if (count != npairspin) error->all(FLERR,"Incorrect number of spin pairs"); - if (npairspin >= 1) pair_spin_flag = 1; + if (npairspin >= 1) pair_spin_flag = 1; // ptrs FixPrecessionSpin classes @@ -216,29 +216,29 @@ void FixNVESpin::init() for (iforce = 0; iforce < modify->nfix; iforce++) { if (strstr(modify->fix[iforce]->style,"precession/spin")) { precession_spin_flag = 1; - lockprecessionspin = (FixPrecessionSpin *) modify->fix[iforce]; + lockprecessionspin = (FixPrecessionSpin *) modify->fix[iforce]; } } // ptrs on the FixLangevinSpin class - + for (iforce = 0; iforce < modify->nfix; iforce++) { if (strstr(modify->fix[iforce]->style,"langevin/spin")) { maglangevin_flag = 1; - locklangevinspin = (FixLangevinSpin *) modify->fix[iforce]; - } + locklangevinspin = (FixLangevinSpin *) modify->fix[iforce]; + } } if (maglangevin_flag) { if (locklangevinspin->tdamp_flag == 1) tdamp_flag = 1; if (locklangevinspin->temp_flag == 1) temp_flag = 1; } - + // setting the sector variables/lists nsectors = 0; memory->create(rsec,3,"NVE/spin:rsec"); - + // perform the sectoring operation if (sector_flag) sectoring(); @@ -264,20 +264,20 @@ void FixNVESpin::initial_integrate(int vflag) double **x = atom->x; double **v = atom->v; double **f = atom->f; - double *rmass = atom->rmass; - double *mass = atom->mass; + double *rmass = atom->rmass; + double *mass = atom->mass; int nlocal = atom->nlocal; - if (igroup == atom->firstgroup) nlocal = atom->nfirst; + if (igroup == atom->firstgroup) nlocal = atom->nfirst; int *type = atom->type; - int *mask = atom->mask; + int *mask = atom->mask; // update half v for all atoms - + if (lattice_flag) { for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (rmass) dtfm = dtf / rmass[i]; - else dtfm = dtf / mass[type[i]]; + else dtfm = dtf / mass[type[i]]; v[i][0] += dtfm * f[i][0]; v[i][1] += dtfm * f[i][1]; v[i][2] += dtfm * f[i][2]; @@ -297,7 +297,7 @@ void FixNVESpin::initial_integrate(int vflag) i = forward_stacks[i]; } } - for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal + for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); int i = stack_head[j]; while (i >= 0) { @@ -342,7 +342,7 @@ void FixNVESpin::initial_integrate(int vflag) i = forward_stacks[i]; } } - for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal + for (int j = nsectors-1; j >= 0; j--) { // advance quarter s for nlocal comm->forward_comm(); int i = stack_head[j]; while (i >= 0) { @@ -365,7 +365,7 @@ void FixNVESpin::initial_integrate(int vflag) } -/* ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- setup pre_neighbor() ---------------------------------------------------------------------- */ @@ -374,7 +374,7 @@ void FixNVESpin::setup_pre_neighbor() pre_neighbor(); } -/* ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- store in two linked lists the advance order of the spins (sectoring) ---------------------------------------------------------------------- */ @@ -414,7 +414,7 @@ void FixNVESpin::pre_neighbor() } -/* ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- compute the magnetic torque for the spin ii ---------------------------------------------------------------------- */ @@ -430,7 +430,7 @@ void FixNVESpin::ComputeInteractionsSpin(int i) spi[0] = sp[i][0]; spi[1] = sp[i][1]; spi[2] = sp[i][2]; - + fmi[0] = fmi[1] = fmi[2] = 0.0; // update magnetic pair interactions @@ -440,10 +440,10 @@ void FixNVESpin::ComputeInteractionsSpin(int i) spin_pairs[k]->compute_single_pair(i,fmi); } } - + // update magnetic precession interactions - if (precession_spin_flag) { + if (precession_spin_flag) { lockprecessionspin->compute_single_precession(i,spi,fmi); } @@ -451,11 +451,11 @@ void FixNVESpin::ComputeInteractionsSpin(int i) if (maglangevin_flag) { // mag. langevin if (tdamp_flag) { // transverse damping - locklangevinspin->add_tdamping(spi,fmi); + locklangevinspin->add_tdamping(spi,fmi); } if (temp_flag) { // spin temperature locklangevinspin->add_temperature(fmi); - } + } } // replace the magnetic force fm[i] by its new value fmi @@ -466,7 +466,7 @@ void FixNVESpin::ComputeInteractionsSpin(int i) } -/* ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- divide each domain into 8 sectors ---------------------------------------------------------------------- */ @@ -481,9 +481,9 @@ void FixNVESpin::sectoring() subhi[dim]=subhitmp[dim]; } - const double rsx = subhi[0] - sublo[0]; - const double rsy = subhi[1] - sublo[1]; - const double rsz = subhi[2] - sublo[2]; + const double rsx = subhi[0] - sublo[0]; + const double rsy = subhi[1] - sublo[1]; + const double rsz = subhi[2] - sublo[2]; // extract larger cutoff from PairSpin styles @@ -498,10 +498,10 @@ void FixNVESpin::sectoring() if (rv == 0.0) error->all(FLERR,"Illegal sectoring operation"); - double rax = rsx/rv; - double ray = rsy/rv; - double raz = rsz/rv; - + double rax = rsx/rv; + double ray = rsy/rv; + double raz = rsz/rv; + sec[0] = 1; sec[1] = 1; sec[2] = 1; @@ -511,7 +511,7 @@ void FixNVESpin::sectoring() nsectors = sec[0]*sec[1]*sec[2]; - if (sector_flag == 1 && nsectors != 8) + if (sector_flag == 1 && nsectors != 8) error->all(FLERR,"Illegal sectoring operation"); rsec[0] = rsx; @@ -523,7 +523,7 @@ void FixNVESpin::sectoring() } -/* ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- define sector for an atom at a position x[i] ---------------------------------------------------------------------- */ @@ -541,12 +541,12 @@ int FixNVESpin::coords2sector(double *x) seci[1] = x[1] > (sublo[1] + rsec[1]); seci[2] = x[2] > (sublo[2] + rsec[2]); - nseci = (seci[0] + 2*seci[1] + 4*seci[2]); + nseci = (seci[0] + 2*seci[1] + 4*seci[2]); return nseci; } -/* ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- advance the spin i of a timestep dts ---------------------------------------------------------------------- */ @@ -557,7 +557,7 @@ void FixNVESpin::AdvanceSingleSpin(int i) double **sp = atom->sp; double **fm = atom->fm; double msq,scale,fm2,energy,dts2; - double cp[3],g[3]; + double cp[3],g[3]; cp[0] = cp[1] = cp[2] = 0.0; g[0] = g[1] = g[2] = 0.0; @@ -572,18 +572,18 @@ void FixNVESpin::AdvanceSingleSpin(int i) g[0] = sp[i][0]+cp[0]*dts; g[1] = sp[i][1]+cp[1]*dts; g[2] = sp[i][2]+cp[2]*dts; - + g[0] += (fm[i][0]*energy-0.5*sp[i][0]*fm2)*0.5*dts2; g[1] += (fm[i][1]*energy-0.5*sp[i][1]*fm2)*0.5*dts2; g[2] += (fm[i][2]*energy-0.5*sp[i][2]*fm2)*0.5*dts2; - + g[0] /= (1+0.25*fm2*dts2); g[1] /= (1+0.25*fm2*dts2); g[2] /= (1+0.25*fm2*dts2); - + sp[i][0] = g[0]; sp[i][1] = g[1]; - sp[i][2] = g[2]; + sp[i][2] = g[2]; // renormalization (check if necessary) @@ -618,11 +618,11 @@ void FixNVESpin::final_integrate() double **v = atom->v; double **f = atom->f; double *rmass = atom->rmass; - double *mass = atom->mass; + double *mass = atom->mass; int nlocal = atom->nlocal; - if (igroup == atom->firstgroup) nlocal = atom->nfirst; + if (igroup == atom->firstgroup) nlocal = atom->nfirst; int *type = atom->type; - int *mask = atom->mask; + int *mask = atom->mask; // update half v for all particles @@ -630,10 +630,10 @@ void FixNVESpin::final_integrate() for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { if (rmass) dtfm = dtf / rmass[i]; - else dtfm = dtf / mass[type[i]]; + else dtfm = dtf / mass[type[i]]; v[i][0] += dtfm * f[i][0]; v[i][1] += dtfm * f[i][1]; - v[i][2] += dtfm * f[i][2]; + v[i][2] += dtfm * f[i][2]; } } } diff --git a/src/SPIN/fix_nve_spin.h b/src/SPIN/fix_nve_spin.h index 70781c6d8c..afc1db14d6 100644 --- a/src/SPIN/fix_nve_spin.h +++ b/src/SPIN/fix_nve_spin.h @@ -36,17 +36,17 @@ friend class PairSpin; virtual void initial_integrate(int); virtual void final_integrate(); - void ComputeInteractionsSpin(int); // compute and advance single spin functions + void ComputeInteractionsSpin(int); // compute and advance single spin functions void AdvanceSingleSpin(int); - void sectoring(); // sectoring operation functions + void sectoring(); // sectoring operation functions int coords2sector(double *); void setup_pre_neighbor(); void pre_neighbor(); int lattice_flag; // lattice_flag = 0 if spins only - // lattice_flag = 1 if spin-lattice calc. + // lattice_flag = 1 if spin-lattice calc. protected: @@ -54,7 +54,7 @@ friend class PairSpin; // sector_flag = 1 if parallel algorithm double dtv, dtf, dts; // velocity, force, and spin timesteps - + int nlocal_max; // max value of nlocal (for lists size) int pair_spin_flag; // magnetic pair flags @@ -63,24 +63,24 @@ friend class PairSpin; int tdamp_flag, temp_flag; // pointers to magnetic fixes - + class FixPrecessionSpin *lockprecessionspin; - class FixLangevinSpin *locklangevinspin; + class FixLangevinSpin *locklangevinspin; // pointers to magnetic pair styles - + int npairs, npairspin; // # of pairs, and # of spin pairs class Pair *pair; class PairSpin **spin_pairs; // vector of spin pairs - + // sectoring variables - + int nsectors; double *rsec; // stacking variables for sectoring algorithm - - int *stack_head; // index of first atom in backward_stacks + + int *stack_head; // index of first atom in backward_stacks int *stack_foot; // index of first atom in forward_stacks int *backward_stacks; // index of next atom in backward stack int *forward_stacks; // index of next atom in forward stack @@ -96,7 +96,7 @@ friend class PairSpin; E: Illegal fix NVE/spin command -Self-explanatory. Check the input script syntax and compare to the +Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a command-line option when running LAMMPS to see the offending line. @@ -106,7 +106,7 @@ An atom/spin style with this attribute is needed. E: Illegal sectoring operation -The number of processes does not match the size of the system. +The number of processes does not match the size of the system. See the documentation of the sectoring method. */ diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index 412b9d903b..9b33fac551 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -14,10 +14,10 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) - + Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ @@ -50,7 +50,7 @@ enum{CONSTANT,EQUAL}; FixPrecessionSpin::FixPrecessionSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) { if (narg < 7) error->all(FLERR,"Illegal precession/spin command"); - + // magnetic interactions coded for cartesian coordinates hbar = force->hplanck/MY_2PI; @@ -61,10 +61,10 @@ FixPrecessionSpin::FixPrecessionSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lm extscalar = 1; respa_level_support = 1; ilevel_respa = 0; - + magstr = NULL; magfieldstyle = CONSTANT; - + H_field = 0.0; nhx = nhy = nhz = 0.0; hx = hy = hz = 0.0; @@ -99,7 +99,7 @@ FixPrecessionSpin::FixPrecessionSpin(LAMMPS *lmp, int narg, char **arg) : Fix(lm time_origin = update->ntimestep; eflag = 0; - emag = 0.0; + emag = 0.0; } /* ---------------------------------------------------------------------- */ @@ -126,8 +126,8 @@ int FixPrecessionSpin::setmask() void FixPrecessionSpin::init() { const double hbar = force->hplanck/MY_2PI; // eV/(rad.THz) - const double mub = 5.78901e-5; // in eV/T - const double gyro = mub/hbar; // in rad.THz/T + const double mub = 5.78901e-5; // in eV/T + const double gyro = mub/hbar; // in rad.THz/T H_field *= gyro; // in rad.THz Ka /= hbar; // in rad.THz @@ -139,19 +139,19 @@ void FixPrecessionSpin::init() if (magstr) { magvar = input->variable->find(magstr); - if (magvar < 0) + if (magvar < 0) error->all(FLERR,"Illegal precession/spin command"); if (!input->variable->equalstyle(magvar)) error->all(FLERR,"Illegal precession/spin command"); } - + varflag = CONSTANT; if (magfieldstyle != CONSTANT) varflag = EQUAL; - + // set magnetic field components if (varflag == CONSTANT) set_magneticprecession(); - + } /* ---------------------------------------------------------------------- */ @@ -179,10 +179,10 @@ void FixPrecessionSpin::post_force(int vflag) set_magneticprecession(); // update mag. field if time-dep. } - double **sp = atom->sp; + double **sp = atom->sp; double **fm = atom->fm; - double spi[3], fmi[3]; - const int nlocal = atom->nlocal; + double spi[3], fmi[3]; + const int nlocal = atom->nlocal; eflag = 0; emag = 0.0; @@ -192,13 +192,13 @@ void FixPrecessionSpin::post_force(int vflag) spi[1] = sp[i][1]; spi[2] = sp[i][2]; fmi[0] = fmi[1] = fmi[2] = 0.0; - + if (zeeman_flag) { // compute Zeeman interaction compute_zeeman(i,fmi); emag -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); emag *= hbar; - } - + } + if (aniso_flag) { // compute magnetic anisotropy compute_anisotropy(spi,fmi); emag -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); @@ -228,7 +228,7 @@ void FixPrecessionSpin::compute_single_precession(int i, double spi[3], double f void FixPrecessionSpin::compute_zeeman(int i, double fmi[3]) { - double **sp = atom->sp; + double **sp = atom->sp; fmi[0] -= sp[i][3]*hx; fmi[1] -= sp[i][3]*hy; fmi[2] -= sp[i][3]*hz; @@ -258,12 +258,12 @@ void FixPrecessionSpin::set_magneticprecession() if (zeeman_flag) { hx = H_field*nhx; hy = H_field*nhy; - hz = H_field*nhz; + hz = H_field*nhz; } if (aniso_flag) { Kax = 2.0*Ka*nax; Kay = 2.0*Ka*nay; - Kaz = 2.0*Ka*naz; + Kaz = 2.0*Ka*naz; } } @@ -274,7 +274,7 @@ void FixPrecessionSpin::set_magneticprecession() double FixPrecessionSpin::compute_scalar() { // only sum across procs one time - + if (eflag == 0) { MPI_Allreduce(&emag,&emag_all,1,MPI_DOUBLE,MPI_SUM,world); eflag = 1; diff --git a/src/SPIN/fix_precession_spin.h b/src/SPIN/fix_precession_spin.h index 9e7bd1a830..53ae4ba124 100644 --- a/src/SPIN/fix_precession_spin.h +++ b/src/SPIN/fix_precession_spin.h @@ -38,13 +38,13 @@ class FixPrecessionSpin : public Fix { double compute_scalar(); int zeeman_flag, aniso_flag; - void compute_single_precession(int, double *, double *); + void compute_single_precession(int, double *, double *); void compute_zeeman(int, double *); void compute_anisotropy(double *, double *); protected: int style; // style of the magnetic precession - + double degree2rad; double hbar; int ilevel_respa; @@ -56,21 +56,21 @@ class FixPrecessionSpin : public Fix { int magfieldstyle; int magvar; char *magstr; - + // zeeman field intensity and direction - double H_field; + double H_field; double nhx, nhy, nhz; double hx, hy, hz; // temp. force variables - + // magnetic anisotropy intensity and direction - - double Ka; + + double Ka; double nax, nay, naz; double Kax, Kay, Kaz; // temp. force variables void set_magneticprecession(); - + }; } @@ -86,7 +86,7 @@ Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a command-line option when running LAMMPS to see the offending line. -precession/spin fix command has 7 arguments: -fix ID group precession/spin magnitude (T or eV) style (zeeman or anisotropy) -direction (3 cartesian coordinates) +precession/spin fix command has 7 arguments: +fix ID group precession/spin magnitude (T or eV) style (zeeman or anisotropy) +direction (3 cartesian coordinates) */ diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp index e8a4c126da..acb7ffe548 100755 --- a/src/SPIN/pair_spin.cpp +++ b/src/SPIN/pair_spin.cpp @@ -14,10 +14,10 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) - + Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ diff --git a/src/SPIN/pair_spin.h b/src/SPIN/pair_spin.h index 94f8433108..100eec1732 100755 --- a/src/SPIN/pair_spin.h +++ b/src/SPIN/pair_spin.h @@ -39,7 +39,7 @@ friend class FixNVESpin; virtual void compute_single_pair(int, double *) {} protected: - double hbar; // Planck constant (eV.ps.rad-1) + double hbar; // Planck constant (eV.ps.rad-1) virtual void allocate() {} }; diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp index 5f735cd1a8..07ae684939 100755 --- a/src/SPIN/pair_spin_dmi.cpp +++ b/src/SPIN/pair_spin_dmi.cpp @@ -14,10 +14,10 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) - + Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ @@ -80,9 +80,9 @@ void PairSpinDmi::settings(int narg, char **arg) if (strcmp(update->unit_style,"metal") != 0) error->all(FLERR,"Spin simulations require metal unit style"); - + cut_spin_dmi_global = force->numeric(FLERR,arg[0]); - + // reset cutoffs that have been explicitly set if (allocated) { @@ -95,7 +95,7 @@ void PairSpinDmi::settings(int narg, char **arg) } } } - + } /* ---------------------------------------------------------------------- @@ -106,28 +106,28 @@ void PairSpinDmi::coeff(int narg, char **arg) { if (!allocated) allocate(); - // check if args correct - + // check if args correct + if (strcmp(arg[2],"dmi") != 0) error->all(FLERR,"Incorrect args in pair_style command"); if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); - + int ilo,ihi,jlo,jhi; force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - + const double rij = force->numeric(FLERR,arg[3]); const double dm = (force->numeric(FLERR,arg[4]))/hbar; - double dmx = force->numeric(FLERR,arg[5]); - double dmy = force->numeric(FLERR,arg[6]); - double dmz = force->numeric(FLERR,arg[7]); + double dmx = force->numeric(FLERR,arg[5]); + double dmy = force->numeric(FLERR,arg[6]); + double dmz = force->numeric(FLERR,arg[7]); double inorm = 1.0/(dmx*dmx+dmy*dmy+dmz*dmz); - dmx *= inorm; - dmy *= inorm; - dmz *= inorm; - + dmx *= inorm; + dmy *= inorm; + dmz *= inorm; + int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { @@ -140,8 +140,8 @@ void PairSpinDmi::coeff(int narg, char **arg) count++; } } - if (count == 0) - error->all(FLERR,"Incorrect args in pair_style command"); + if (count == 0) + error->all(FLERR,"Incorrect args in pair_style command"); } @@ -169,7 +169,7 @@ void PairSpinDmi::init_style() } if (ifix == modify->nfix) error->all(FLERR,"pair/spin style requires nve/spin"); - + // get the lattice_flag from nve/spin for (int i = 0; i < modify->nfix; i++) { @@ -187,7 +187,7 @@ void PairSpinDmi::init_style() double PairSpinDmi::init_one(int i, int j) { - + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); return cut_spin_dmi_global; @@ -215,20 +215,20 @@ void PairSpinDmi::compute(int eflag, int vflag) double fi[3], fmi[3]; double local_cut2; double rsq, inorm; - int *ilist,*jlist,*numneigh,**firstneigh; + int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; if (eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = 0; - + double **x = atom->x; double **f = atom->f; double **fm = atom->fm; double **sp = atom->sp; - int *type = atom->type; - int nlocal = atom->nlocal; + int *type = atom->type; + int nlocal = atom->nlocal; int newton_pair = force->newton_pair; - + inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; @@ -240,28 +240,28 @@ void PairSpinDmi::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; itype = type[i]; - + jlist = firstneigh[i]; - jnum = numneigh[i]; + jnum = numneigh[i]; xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; spi[2] = sp[i][2]; - - + + // loop on neighbors for (jj = 0; jj < jnum; jj++) { - + j = jlist[jj]; j &= NEIGHMASK; jtype = type[j]; - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; evdwl = 0.0; @@ -269,11 +269,11 @@ void PairSpinDmi::compute(int eflag, int vflag) fmi[0] = fmi[1] = fmi[2] = 0.0; rij[0] = rij[1] = rij[2] = 0.0; eij[0] = eij[1] = eij[2] = 0.0; - + rij[0] = x[j][0] - xi[0]; rij[1] = x[j][1] - xi[1]; rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; inorm = 1.0/sqrt(rsq); eij[0] = rij[0]*inorm; eij[1] = rij[1]*inorm; @@ -282,7 +282,7 @@ void PairSpinDmi::compute(int eflag, int vflag) local_cut2 = cut_spin_dmi[itype][jtype]*cut_spin_dmi[itype][jtype]; // compute dmi interaction - + if (rsq <= local_cut2) { compute_dmi(i,j,eij,fmi,spj); if (lattice_flag) { @@ -290,16 +290,16 @@ void PairSpinDmi::compute(int eflag, int vflag) } } - f[i][0] += fi[0]; - f[i][1] += fi[1]; + f[i][0] += fi[0]; + f[i][1] += fi[1]; f[i][2] += fi[2]; - fm[i][0] += fmi[0]; - fm[i][1] += fmi[1]; + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; if (newton_pair || j < nlocal) { - f[j][0] -= fi[0]; - f[j][1] -= fi[1]; + f[j][0] -= fi[0]; + f[j][1] -= fi[1]; f[j][2] -= fi[2]; } @@ -311,7 +311,7 @@ void PairSpinDmi::compute(int eflag, int vflag) if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); } - } + } if (vflag_fdotr) virial_fdotr_compute(); @@ -340,11 +340,11 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) i = ilist[ii]; itype = type[i]; - + xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; - + jlist = firstneigh[i]; jnum = numneigh[i]; @@ -383,7 +383,7 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3]) void PairSpinDmi::compute_dmi(int i, int j, double eij[3], double fmi[3], double spj[3]) { - int *type = atom->type; + int *type = atom->type; int itype, jtype; double dmix, dmiy, dmiz; itype = type[i]; @@ -422,15 +422,15 @@ void PairSpinDmi::allocate() for (int i = 1; i <= n; i++) for (int j = i; j <= n; j++) setflag[i][j] = 0; - + memory->create(cut_spin_dmi,n+1,n+1,"pair:cut_spin_dmi"); memory->create(DM,n+1,n+1,"pair:DM"); memory->create(v_dmx,n+1,n+1,"pair:DM_vector_x"); memory->create(v_dmy,n+1,n+1,"pair:DM_vector_y"); memory->create(v_dmz,n+1,n+1,"pair:DM_vector_z"); - - memory->create(cutsq,n+1,n+1,"pair:cutsq"); - + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + } @@ -441,7 +441,7 @@ void PairSpinDmi::allocate() void PairSpinDmi::write_restart(FILE *fp) { write_restart_settings(fp); - + int i,j; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) { @@ -490,7 +490,7 @@ void PairSpinDmi::read_restart(FILE *fp) } } - + /* ---------------------------------------------------------------------- proc 0 writes to restart file ------------------------------------------------------------------------- */ @@ -515,5 +515,5 @@ void PairSpinDmi::read_restart_settings(FILE *fp) } MPI_Bcast(&cut_spin_dmi_global,1,MPI_DOUBLE,0,world); MPI_Bcast(&offset_flag,1,MPI_INT,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); } diff --git a/src/SPIN/pair_spin_dmi.h b/src/SPIN/pair_spin_dmi.h index cbd234c192..a309f0c8d5 100755 --- a/src/SPIN/pair_spin_dmi.h +++ b/src/SPIN/pair_spin_dmi.h @@ -39,16 +39,16 @@ class PairSpinDmi : public PairSpin { void compute_dmi(int, int, double *, double *, double *); void compute_dmi_mech(double *); - + void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); - + double cut_spin_dmi_global; // short range pair cutoff protected: - double **DM; // dmi coeff in eV + double **DM; // dmi coeff in eV double **v_dmx, **v_dmy, **v_dmz; // dmi direction double **cut_spin_dmi; // cutoff distance dmi diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index 39c5823d03..7b05d7337e 100755 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -14,10 +14,10 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) - + Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ @@ -64,7 +64,7 @@ PairSpinExchange::~PairSpinExchange() memory->destroy(J1_mag); memory->destroy(J1_mech); memory->destroy(J2); - memory->destroy(J3); + memory->destroy(J3); memory->destroy(cutsq); // to be deleted } } @@ -72,7 +72,7 @@ PairSpinExchange::~PairSpinExchange() /* ---------------------------------------------------------------------- global settings ------------------------------------------------------------------------- */ - + void PairSpinExchange::settings(int narg, char **arg) { if (narg < 1 || narg > 2) @@ -80,9 +80,9 @@ void PairSpinExchange::settings(int narg, char **arg) if (strcmp(update->unit_style,"metal") != 0) error->all(FLERR,"Spin simulations require metal unit style"); - + cut_spin_exchange_global = force->numeric(FLERR,arg[0]); - + // reset cutoffs that have been explicitly set if (allocated) { @@ -93,7 +93,7 @@ void PairSpinExchange::settings(int narg, char **arg) cut_spin_exchange[i][j] = cut_spin_exchange_global; } } - + } /* ---------------------------------------------------------------------- @@ -103,29 +103,29 @@ void PairSpinExchange::settings(int narg, char **arg) void PairSpinExchange::coeff(int narg, char **arg) { if (!allocated) allocate(); - + // check if args correct if (strcmp(arg[2],"exchange") != 0) error->all(FLERR,"Incorrect args in pair_style command"); - if (narg != 7) + if (narg != 7) error->all(FLERR,"Incorrect args in pair_style command"); int ilo,ihi,jlo,jhi; force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - + // get exchange arguments from input command const double rc = force->numeric(FLERR,arg[3]); const double j1 = force->numeric(FLERR,arg[4]); - const double j2 = force->numeric(FLERR,arg[5]); - const double j3 = force->numeric(FLERR,arg[6]); - + const double j2 = force->numeric(FLERR,arg[5]); + const double j3 = force->numeric(FLERR,arg[6]); + int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_exchange[i][j] = rc; + cut_spin_exchange[i][j] = rc; J1_mag[i][j] = j1/hbar; J1_mech[i][j] = j1; J2[i][j] = j2; @@ -134,12 +134,12 @@ void PairSpinExchange::coeff(int narg, char **arg) count++; } } - if (count == 0) - error->all(FLERR,"Incorrect args in pair_style command"); + if (count == 0) + error->all(FLERR,"Incorrect args in pair_style command"); } /* ---------------------------------------------------------------------- - init specific to this pair style + init specific to this pair style ------------------------------------------------------------------------- */ void PairSpinExchange::init_style() @@ -180,7 +180,7 @@ void PairSpinExchange::init_style() double PairSpinExchange::init_one(int i, int j) { - + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); return cut_spin_exchange_global; @@ -201,14 +201,14 @@ void *PairSpinExchange::extract(const char *str, int &dim) void PairSpinExchange::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; + int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl, ecoul; double xi[3], rij[3], eij[3]; double spi[3], spj[3]; double fi[3], fmi[3]; double local_cut2; double rsq, inorm; - int *ilist,*jlist,*numneigh,**firstneigh; + int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; if (eflag || vflag) ev_setup(eflag,vflag); @@ -218,10 +218,10 @@ void PairSpinExchange::compute(int eflag, int vflag) double **f = atom->f; double **fm = atom->fm; double **sp = atom->sp; - int *type = atom->type; - int nlocal = atom->nlocal; + int *type = atom->type; + int nlocal = atom->nlocal; int newton_pair = force->newton_pair; - + inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; @@ -233,16 +233,16 @@ void PairSpinExchange::compute(int eflag, int vflag) for (ii = 0; ii < inum; ii++) { i = ilist[ii]; itype = type[i]; - + jlist = firstneigh[i]; - jnum = numneigh[i]; + jnum = numneigh[i]; xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; spi[2] = sp[i][2]; - + // loop on neighbors for (jj = 0; jj < jnum; jj++) { @@ -250,28 +250,28 @@ void PairSpinExchange::compute(int eflag, int vflag) j &= NEIGHMASK; jtype = type[j]; - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; evdwl = 0.0; fi[0] = fi[1] = fi[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; - + rij[0] = x[j][0] - xi[0]; rij[1] = x[j][1] - xi[1]; rij[2] = x[j][2] - xi[2]; rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; inorm = 1.0/sqrt(rsq); - eij[0] = inorm*rij[0]; - eij[1] = inorm*rij[1]; - eij[2] = inorm*rij[2]; + eij[0] = inorm*rij[0]; + eij[1] = inorm*rij[1]; + eij[2] = inorm*rij[2]; local_cut2 = cut_spin_exchange[itype][jtype]*cut_spin_exchange[itype][jtype]; // compute exchange interaction - + if (rsq <= local_cut2) { compute_exchange(i,j,rsq,fmi,spj); if (lattice_flag) { @@ -279,16 +279,16 @@ void PairSpinExchange::compute(int eflag, int vflag) } } - f[i][0] += fi[0]; - f[i][1] += fi[1]; + f[i][0] += fi[0]; + f[i][1] += fi[1]; f[i][2] += fi[2]; - fm[i][0] += fmi[0]; - fm[i][1] += fmi[1]; + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; if (newton_pair || j < nlocal) { - f[j][0] -= fi[0]; - f[j][1] -= fi[1]; + f[j][0] -= fi[0]; + f[j][1] -= fi[1]; f[j][2] -= fi[2]; } @@ -300,17 +300,17 @@ void PairSpinExchange::compute(int eflag, int vflag) if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); } - } + } if (vflag_fdotr) virial_fdotr_compute(); - + } /* ---------------------------------------------------------------------- update the pair interactions fmi acting on the spin ii ------------------------------------------------------------------------- */ -void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) +void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) { int *type = atom->type; @@ -336,7 +336,7 @@ void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; - + jlist = firstneigh[i]; jnum = numneigh[i]; @@ -370,13 +370,13 @@ void PairSpinExchange::compute_single_pair(int ii, double fmi[3]) void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], double spj[3]) { - int *type = atom->type; + int *type = atom->type; int itype, jtype; double Jex, ra; itype = type[i]; jtype = type[j]; - ra = rsq/J3[itype][jtype]/J3[itype][jtype]; + ra = rsq/J3[itype][jtype]/J3[itype][jtype]; Jex = 4.0*J1_mag[itype][jtype]*ra; Jex *= (1.0-J2[itype][jtype]*ra); Jex *= exp(-ra); @@ -392,21 +392,21 @@ void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], void PairSpinExchange::compute_exchange_mech(int i, int j, double rsq, double rij[3], double fi[3], double spi[3], double spj[3]) { - int *type = atom->type; + int *type = atom->type; int itype, jtype; double Jex, Jex_mech, ra, rr, iJ3; itype = type[i]; jtype = type[j]; - + Jex = J1_mech[itype][jtype]; iJ3 = 1.0/(J3[itype][jtype]*J3[itype][jtype]); - ra = rsq*iJ3; + ra = rsq*iJ3; rr = sqrt(rsq)*iJ3; Jex_mech = 1.0-ra-J2[itype][jtype]*ra*(2.0-ra); Jex_mech *= 8.0*Jex*rr*exp(-ra); - Jex_mech *= (spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]); + Jex_mech *= (spi[0]*spj[0]+spi[1]*spj[1]+spi[2]*spj[2]); fi[0] -= Jex_mech*rij[0]; fi[1] -= Jex_mech*rij[1]; @@ -426,13 +426,13 @@ void PairSpinExchange::allocate() for (int i = 1; i <= n; i++) for (int j = i; j <= n; j++) setflag[i][j] = 0; - + memory->create(cut_spin_exchange,n+1,n+1,"pair/spin/exchange:cut_spin_exchange"); memory->create(J1_mag,n+1,n+1,"pair/spin/exchange:J1_mag"); memory->create(J1_mech,n+1,n+1,"pair/spin/exchange:J1_mech"); - memory->create(J2,n+1,n+1,"pair/spin/exchange:J2"); + memory->create(J2,n+1,n+1,"pair/spin/exchange:J2"); memory->create(J3,n+1,n+1,"pair/spin/exchange:J3"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(cutsq,n+1,n+1,"pair:cutsq"); } @@ -444,7 +444,7 @@ void PairSpinExchange::allocate() void PairSpinExchange::write_restart(FILE *fp) { write_restart_settings(fp); - + int i,j; for (i = 1; i <= atom->ntypes; i++) { for (j = i; j <= atom->ntypes; j++) { @@ -494,7 +494,7 @@ void PairSpinExchange::read_restart(FILE *fp) } } - + /* ---------------------------------------------------------------------- proc 0 writes to restart file ------------------------------------------------------------------------- */ @@ -519,6 +519,6 @@ void PairSpinExchange::read_restart_settings(FILE *fp) } MPI_Bcast(&cut_spin_exchange_global,1,MPI_DOUBLE,0,world); MPI_Bcast(&offset_flag,1,MPI_INT,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); } diff --git a/src/SPIN/pair_spin_exchange.h b/src/SPIN/pair_spin_exchange.h index 89b35c1bd8..b524a513eb 100755 --- a/src/SPIN/pair_spin_exchange.h +++ b/src/SPIN/pair_spin_exchange.h @@ -34,12 +34,12 @@ class PairSpinExchange : public PairSpin { double init_one(int, int); void *extract(const char *, int &); - void compute(int, int); + void compute(int, int); void compute_single_pair(int, double *); void compute_exchange(int, int, double, double *, double *); void compute_exchange_mech(int, int, double, double *, double *, double *, double *); - + void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); @@ -49,7 +49,7 @@ class PairSpinExchange : public PairSpin { protected: double **J1_mag; // exchange coeffs in eV - double **J1_mech; // mech exchange coeffs in + double **J1_mech; // mech exchange coeffs in double **J2, **J3; // J1 in eV, J2 adim, J3 in Ang double **cut_spin_exchange; // cutoff distance exchange diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp index 7b6fd32333..b8ef9db609 100755 --- a/src/SPIN/pair_spin_magelec.cpp +++ b/src/SPIN/pair_spin_magelec.cpp @@ -14,10 +14,10 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) - + Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ @@ -47,7 +47,7 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ PairSpinMagelec::PairSpinMagelec(LAMMPS *lmp) : PairSpin(lmp), -lockfixnvespin(NULL) +lockfixnvespin(NULL) { single_enable = 0; no_virial_fdotr_compute = 1; @@ -81,9 +81,9 @@ void PairSpinMagelec::settings(int narg, char **arg) if (strcmp(update->unit_style,"metal") != 0) error->all(FLERR,"Spin simulations require metal unit style"); - + cut_spin_magelec_global = force->numeric(FLERR,arg[0]); - + // reset cutoffs that have been explicitly set if (allocated) { @@ -94,7 +94,7 @@ void PairSpinMagelec::settings(int narg, char **arg) cut_spin_magelec[i][j] = cut_spin_magelec_global; } } - + } /* ---------------------------------------------------------------------- @@ -105,27 +105,27 @@ void PairSpinMagelec::coeff(int narg, char **arg) { if (!allocated) allocate(); - // check if args correct - + // check if args correct + if (strcmp(arg[2],"magelec") != 0) error->all(FLERR,"Incorrect args in pair_style command"); if (narg != 8) error->all(FLERR,"Incorrect args in pair_style command"); - + int ilo,ihi,jlo,jhi; force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - + const double rij = force->numeric(FLERR,arg[3]); const double magelec = (force->numeric(FLERR,arg[4])); - double mex = force->numeric(FLERR,arg[5]); - double mey = force->numeric(FLERR,arg[6]); - double mez = force->numeric(FLERR,arg[7]); + double mex = force->numeric(FLERR,arg[5]); + double mey = force->numeric(FLERR,arg[6]); + double mez = force->numeric(FLERR,arg[7]); double inorm = 1.0/(mex*mex+mey*mey+mez*mez); - mex *= inorm; - mey *= inorm; - mez *= inorm; + mex *= inorm; + mey *= inorm; + mez *= inorm; int count = 0; for (int i = ilo; i <= ihi; i++) { @@ -140,7 +140,7 @@ void PairSpinMagelec::coeff(int narg, char **arg) count++; } } - if (count == 0) + if (count == 0) error->all(FLERR,"Incorrect args in pair_style command"); } @@ -155,7 +155,7 @@ void PairSpinMagelec::init_style() error->all(FLERR,"Pair spin requires atom/spin style"); // need a full neighbor list - + int irequest = neighbor->request(this,instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; @@ -169,7 +169,7 @@ void PairSpinMagelec::init_style() } if (ifix == modify->nfix) error->all(FLERR,"pair/spin style requires nve/spin"); - + // get the lattice_flag from nve/spin for (int i = 0; i < modify->nfix; i++) { @@ -187,7 +187,7 @@ void PairSpinMagelec::init_style() double PairSpinMagelec::init_one(int i, int j) { - + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); return cut_spin_magelec_global; @@ -209,27 +209,27 @@ void *PairSpinMagelec::extract(const char *str, int &dim) void PairSpinMagelec::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; + int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl, ecoul; double xi[3], rij[3], eij[3]; double spi[3], spj[3]; double fi[3], fmi[3]; double local_cut2; double rsq, inorm; - int *ilist,*jlist,*numneigh,**firstneigh; + int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; if (eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = 0; - + double **x = atom->x; double **f = atom->f; double **fm = atom->fm; double **sp = atom->sp; - int *type = atom->type; - int nlocal = atom->nlocal; + int *type = atom->type; + int nlocal = atom->nlocal; int newton_pair = force->newton_pair; - + inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; @@ -243,14 +243,14 @@ void PairSpinMagelec::compute(int eflag, int vflag) itype = type[i]; jlist = firstneigh[i]; - jnum = numneigh[i]; + jnum = numneigh[i]; xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; spi[2] = sp[i][2]; - + // loop on neighbors for (jj = 0; jj < jnum; jj++) { @@ -258,19 +258,19 @@ void PairSpinMagelec::compute(int eflag, int vflag) j &= NEIGHMASK; jtype = type[j]; - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; evdwl = 0.0; fi[0] = fi[1] = fi[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; - + rij[0] = x[j][0] - xi[0]; rij[1] = x[j][1] - xi[1]; rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; inorm = 1.0/sqrt(rsq); eij[0] = inorm*rij[0]; eij[1] = inorm*rij[1]; @@ -287,19 +287,19 @@ void PairSpinMagelec::compute(int eflag, int vflag) } } - f[i][0] += fi[0]; - f[i][1] += fi[1]; + f[i][0] += fi[0]; + f[i][1] += fi[1]; f[i][2] += fi[2]; - fm[i][0] += fmi[0]; - fm[i][1] += fmi[1]; + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; if (newton_pair || j < nlocal) { - f[j][0] -= fi[0]; - f[j][1] -= fi[1]; + f[j][0] -= fi[0]; + f[j][1] -= fi[1]; f[j][2] -= fi[2]; } - + if (eflag) { evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]); evdwl *= hbar; @@ -308,15 +308,15 @@ void PairSpinMagelec::compute(int eflag, int vflag) if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); } - } + } if (vflag_fdotr) virial_fdotr_compute(); - + } /* ---------------------------------------------------------------------- */ -void PairSpinMagelec::compute_single_pair(int ii, double fmi[3]) +void PairSpinMagelec::compute_single_pair(int ii, double fmi[3]) { int *type = atom->type; double **x = atom->x; @@ -343,7 +343,7 @@ void PairSpinMagelec::compute_single_pair(int ii, double fmi[3]) xi[2] = x[i][2]; eij[0] = eij[1] = eij[2] = 0.0; - + jlist = firstneigh[i]; jnum = numneigh[i]; @@ -376,36 +376,36 @@ void PairSpinMagelec::compute_single_pair(int ii, double fmi[3]) /* ---------------------------------------------------------------------- */ -void PairSpinMagelec::compute_magelec(int i, int j, double rsq, double eij[3], double fmi[3], double spj[3]) +void PairSpinMagelec::compute_magelec(int i, int j, double rsq, double eij[3], double fmi[3], double spj[3]) { - int *type = atom->type; + int *type = atom->type; int itype, jtype; itype = type[i]; jtype = type[j]; - - double local_cut2 = cut_spin_magelec[itype][jtype]*cut_spin_magelec[itype][jtype]; - + + double local_cut2 = cut_spin_magelec[itype][jtype]*cut_spin_magelec[itype][jtype]; + if (rsq <= local_cut2) { double meix,meiy,meiz; double rx, ry, rz; double vx, vy, vz; - + rx = eij[0]; - ry = eij[1]; - rz = eij[2]; - + ry = eij[1]; + rz = eij[2]; + vx = v_mex[itype][jtype]; vy = v_mey[itype][jtype]; vz = v_mez[itype][jtype]; - - meix = vy*rz - vz*ry; - meiy = vz*rx - vx*rz; - meiz = vx*ry - vy*rx; - - meix *= ME[itype][jtype]; - meiy *= ME[itype][jtype]; - meiz *= ME[itype][jtype]; - + + meix = vy*rz - vz*ry; + meiy = vz*rx - vx*rz; + meiz = vx*ry - vy*rx; + + meix *= ME[itype][jtype]; + meiy *= ME[itype][jtype]; + meiz *= ME[itype][jtype]; + fmi[0] += spj[1]*meiz - spj[2]*meiy; fmi[1] += spj[2]*meix - spj[0]*meiz; fmi[2] += spj[0]*meiy - spj[1]*meix; @@ -416,7 +416,7 @@ void PairSpinMagelec::compute_magelec(int i, int j, double rsq, double eij[3], d void PairSpinMagelec::compute_magelec_mech(int i, int j, double fi[3], double spi[3], double spj[3]) { - int *type = atom->type; + int *type = atom->type; int itype, jtype; itype = type[i]; jtype = type[j]; @@ -432,16 +432,16 @@ void PairSpinMagelec::compute_magelec_mech(int i, int j, double fi[3], double sp meiy = spi[2]*spi[0] - spi[0]*spj[2]; meiz = spi[0]*spi[1] - spi[1]*spj[0]; - meix *= ME_mech[itype][jtype]; - meiy *= ME_mech[itype][jtype]; - meiz *= ME_mech[itype][jtype]; + meix *= ME_mech[itype][jtype]; + meiy *= ME_mech[itype][jtype]; + meiz *= ME_mech[itype][jtype]; fi[0] = meiy*vz - meiz*vy; fi[1] = meiz*vx - meix*vz; fi[2] = meix*vy - meiy*vx; } - + /* ---------------------------------------------------------------------- allocate all arrays ------------------------------------------------------------------------- */ @@ -455,14 +455,14 @@ void PairSpinMagelec::allocate() for (int i = 1; i <= n; i++) for (int j = i; j <= n; j++) setflag[i][j] = 0; - + memory->create(cut_spin_magelec,n+1,n+1,"pair/spin/me:cut_spin_magelec"); memory->create(ME,n+1,n+1,"pair/spin/me:ME"); memory->create(ME_mech,n+1,n+1,"pair/spin/me:ME_mech"); memory->create(v_mex,n+1,n+1,"pair/spin/me:ME_vector_x"); memory->create(v_mey,n+1,n+1,"pair/spin/me:ME_vector_y"); memory->create(v_mez,n+1,n+1,"pair/spin/me:ME_vector_z"); - memory->create(cutsq,n+1,n+1,"pair:cutsq"); + memory->create(cutsq,n+1,n+1,"pair:cutsq"); } /* ---------------------------------------------------------------------- @@ -472,7 +472,7 @@ void PairSpinMagelec::allocate() void PairSpinMagelec::write_restart(FILE *fp) { write_restart_settings(fp); - + int i,j; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) { @@ -545,5 +545,5 @@ void PairSpinMagelec::read_restart_settings(FILE *fp) } MPI_Bcast(&cut_spin_magelec_global,1,MPI_DOUBLE,0,world); MPI_Bcast(&offset_flag,1,MPI_INT,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); } diff --git a/src/SPIN/pair_spin_magelec.h b/src/SPIN/pair_spin_magelec.h index bc1e3a6296..ce13476271 100755 --- a/src/SPIN/pair_spin_magelec.h +++ b/src/SPIN/pair_spin_magelec.h @@ -37,20 +37,20 @@ class PairSpinMagelec : public PairSpin { void compute(int, int); void compute_single_pair(int, double *); - void compute_magelec(int, int, double, double *, double *, double *); - void compute_magelec_mech(int, int, double *, double *, double *); - + void compute_magelec(int, int, double, double *, double *, double *); + void compute_magelec_mech(int, int, double *, double *, double *); + void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); - + double cut_spin_magelec_global; // global me cutoff protected: double **ME, **ME_mech; // magelec coeff in eV double **v_mex, **v_mey, **v_mez; // magelec direction - double **cut_spin_magelec; // magelec cutoff distance + double **cut_spin_magelec; // magelec cutoff distance int lattice_flag; // flag for mech force computation class FixNVESpin *lockfixnvespin; // ptr to FixNVESpin for setups diff --git a/src/SPIN/pair_spin_neel.cpp b/src/SPIN/pair_spin_neel.cpp index 36deab81f1..0160d8a69b 100755 --- a/src/SPIN/pair_spin_neel.cpp +++ b/src/SPIN/pair_spin_neel.cpp @@ -14,10 +14,10 @@ /* ------------------------------------------------------------------------ Contributing authors: Julien Tranchida (SNL) Aidan Thompson (SNL) - + Please cite the related publication: - Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). - Massively parallel symplectic algorithm for coupled magnetic spin dynamics + Tranchida, J., Plimpton, S. J., Thibaudeau, P., & Thompson, A. P. (2018). + Massively parallel symplectic algorithm for coupled magnetic spin dynamics and molecular dynamics. arXiv preprint arXiv:1801.10233. ------------------------------------------------------------------------- */ @@ -65,11 +65,11 @@ PairSpinNeel::~PairSpinNeel() memory->destroy(g1); memory->destroy(g1_mech); memory->destroy(g2); - memory->destroy(g3); + memory->destroy(g3); memory->destroy(q1); memory->destroy(q1_mech); memory->destroy(q2); - memory->destroy(q3); + memory->destroy(q3); memory->destroy(cutsq); // to be deleted } } @@ -85,9 +85,9 @@ void PairSpinNeel::settings(int narg, char **arg) if (strcmp(update->unit_style,"metal") != 0) error->all(FLERR,"Spin simulations require metal unit style"); - + cut_spin_neel_global = force->numeric(FLERR,arg[0]); - + // reset cutoffs that have been explicitly set if (allocated) { @@ -100,7 +100,7 @@ void PairSpinNeel::settings(int narg, char **arg) } } } - + } /* ---------------------------------------------------------------------- @@ -110,30 +110,30 @@ void PairSpinNeel::settings(int narg, char **arg) void PairSpinNeel::coeff(int narg, char **arg) { if (!allocated) allocate(); - - // check if args correct + + // check if args correct if (strcmp(arg[2],"neel") != 0) error->all(FLERR,"Incorrect args in pair_style command"); if (narg != 10) error->all(FLERR,"Incorrect args in pair_style command"); - + int ilo,ihi,jlo,jhi; force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); - + const double rij = force->numeric(FLERR,arg[3]); const double k1 = force->numeric(FLERR,arg[4]); - const double k2 = force->numeric(FLERR,arg[5]); - const double k3 = force->numeric(FLERR,arg[6]); + const double k2 = force->numeric(FLERR,arg[5]); + const double k3 = force->numeric(FLERR,arg[6]); const double l1 = force->numeric(FLERR,arg[7]); - const double l2 = force->numeric(FLERR,arg[8]); - const double l3 = force->numeric(FLERR,arg[9]); - + const double l2 = force->numeric(FLERR,arg[8]); + const double l3 = force->numeric(FLERR,arg[9]); + int count = 0; for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { - cut_spin_neel[i][j] = rij; + cut_spin_neel[i][j] = rij; g1[i][j] = k1/hbar; q1[i][j] = l1/hbar; g1_mech[i][j] = k1; @@ -146,8 +146,8 @@ void PairSpinNeel::coeff(int narg, char **arg) count++; } } - if (count == 0) - error->all(FLERR,"Incorrect args in pair_style command"); + if (count == 0) + error->all(FLERR,"Incorrect args in pair_style command"); } @@ -160,8 +160,8 @@ void PairSpinNeel::init_style() if (!atom->sp_flag) error->all(FLERR,"Pair spin requires atom/spin style"); - // need a full neighbor list - + // need a full neighbor list + int irequest = neighbor->request(this,instance_me); neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; @@ -175,7 +175,7 @@ void PairSpinNeel::init_style() } if (ifix == modify->nfix) error->all(FLERR,"pair/spin style requires nve/spin"); - + // get the lattice_flag from nve/spin for (int i = 0; i < modify->nfix; i++) { @@ -193,7 +193,7 @@ void PairSpinNeel::init_style() double PairSpinNeel::init_one(int i, int j) { - + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); return cut_spin_neel_global; @@ -214,27 +214,27 @@ void *PairSpinNeel::extract(const char *str, int &dim) void PairSpinNeel::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; + int i,j,ii,jj,inum,jnum,itype,jtype; double evdwl,ecoul; double xi[3], rij[3], eij[3]; double spi[3], spj[3]; double fi[3], fmi[3]; double local_cut2; double rsq, inorm; - int *ilist,*jlist,*numneigh,**firstneigh; + int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; if (eflag || vflag) ev_setup(eflag,vflag); else evflag = vflag_fdotr = 0; - + double **x = atom->x; double **f = atom->f; double **fm = atom->fm; double **sp = atom->sp; - int *type = atom->type; - int nlocal = atom->nlocal; + int *type = atom->type; + int nlocal = atom->nlocal; int newton_pair = force->newton_pair; - + inum = list->inum; ilist = list->ilist; numneigh = list->numneigh; @@ -248,34 +248,34 @@ void PairSpinNeel::compute(int eflag, int vflag) itype = type[i]; jlist = firstneigh[i]; - jnum = numneigh[i]; + jnum = numneigh[i]; xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; - spi[0] = sp[i][0]; - spi[1] = sp[i][1]; + spi[0] = sp[i][0]; + spi[1] = sp[i][1]; spi[2] = sp[i][2]; - + // loop on neighbors for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; j &= NEIGHMASK; - spj[0] = sp[j][0]; - spj[1] = sp[j][1]; - spj[2] = sp[j][2]; + spj[0] = sp[j][0]; + spj[1] = sp[j][1]; + spj[2] = sp[j][2]; evdwl = 0.0; fi[0] = fi[1] = fi[2] = 0.0; fmi[0] = fmi[1] = fmi[2] = 0.0; rij[0] = rij[1] = rij[2] = 0.0; - + rij[0] = x[j][0] - xi[0]; rij[1] = x[j][1] - xi[1]; rij[2] = x[j][2] - xi[2]; - rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; + rsq = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2]; inorm = 1.0/sqrt(rsq); eij[0] = rij[0]*inorm; eij[1] = rij[1]*inorm; @@ -294,17 +294,17 @@ void PairSpinNeel::compute(int eflag, int vflag) compute_neel_mech(i,j,rsq,eij,fi,spi,spj); } } - - f[i][0] += fi[0]; - f[i][1] += fi[1]; + + f[i][0] += fi[0]; + f[i][1] += fi[1]; f[i][2] += fi[2]; - fm[i][0] += fmi[0]; - fm[i][1] += fmi[1]; + fm[i][0] += fmi[0]; + fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; if (newton_pair || j < nlocal) { - f[j][0] -= fi[0]; - f[j][1] -= fi[1]; + f[j][0] -= fi[0]; + f[j][1] -= fi[1]; f[j][2] -= fi[2]; } @@ -316,15 +316,15 @@ void PairSpinNeel::compute(int eflag, int vflag) if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, evdwl,ecoul,fi[0],fi[1],fi[2],rij[0],rij[1],rij[2]); } - } + } if (vflag_fdotr) virial_fdotr_compute(); - + } /* ---------------------------------------------------------------------- */ -void PairSpinNeel::compute_single_pair(int ii, double fmi[3]) +void PairSpinNeel::compute_single_pair(int ii, double fmi[3]) { int *type = atom->type; double **x = atom->x; @@ -349,13 +349,13 @@ void PairSpinNeel::compute_single_pair(int ii, double fmi[3]) spi[0] = sp[i][0]; spi[1] = sp[i][1]; spi[2] = sp[i][2]; - + xi[0] = x[i][0]; xi[1] = x[i][1]; xi[2] = x[i][2]; - + eij[0] = eij[1] = eij[2] = 0.0; - + jlist = firstneigh[i]; jnum = numneigh[i]; @@ -391,7 +391,7 @@ void PairSpinNeel::compute_single_pair(int ii, double fmi[3]) void PairSpinNeel::compute_neel(int i, int j, double rsq, double eij[3], double fmi[3], double spi[3], double spj[3]) { - int *type = atom->type; + int *type = atom->type; int itype, jtype; itype = type[i]; jtype = type[j]; @@ -402,8 +402,8 @@ void PairSpinNeel::compute_neel(int i, int j, double rsq, double eij[3], double double pq2x, pq2y, pq2z; // pseudo-dipolar component - - ra = rsq/g3[itype][jtype]/g3[itype][jtype]; + + ra = rsq/g3[itype][jtype]/g3[itype][jtype]; gij = 4.0*g1[itype][jtype]*ra; gij *= (1.0-g2[itype][jtype]*ra); gij *= exp(-ra); @@ -412,7 +412,7 @@ void PairSpinNeel::compute_neel(int i, int j, double rsq, double eij[3], double double scalar_eij_sj = eij[0]*spj[0] + eij[1]*spj[1] + eij[2]*spj[2]; double scalar_si_sj = spi[0]*spj[0] + spi[1]*spj[1] + spi[2]*spj[2]; - double gij_eij_sj = gij*scalar_eij_sj; + double gij_eij_sj = gij*scalar_eij_sj; double gij_3 = gij/3.0; pdx = gij_eij_sj*eij[0] - gij_3*spj[0]; pdy = gij_eij_sj*eij[1] - gij_3*spj[1]; @@ -460,11 +460,11 @@ void PairSpinNeel::compute_neel(int i, int j, double rsq, double eij[3], double void PairSpinNeel::compute_neel_mech(int i, int j, double rsq, double eij[3], double fi[3], double spi[3], double spj[3]) { - int *type = atom->type; + int *type = atom->type; int itype, jtype; itype = type[i]; jtype = type[j]; - + double g_mech, gij, dgij; double q_mech, q1ij, dq1ij; double q2ij, dq2ij; @@ -480,11 +480,11 @@ void PairSpinNeel::compute_neel_mech(int i, int j, double rsq, double eij[3], do double scalar_eij_sj = eij[0]*spj[0]+eij[1]*spj[1]+eij[2]*spj[2]; // pseudo-dipolar component - - g_mech = g1_mech[itype][jtype]; + + g_mech = g1_mech[itype][jtype]; ig3 = 1.0/(g3[itype][jtype]*g3[itype][jtype]); - ra = rsq*ig3; + ra = rsq*ig3; rr = drij*ig3; gij = 4.0*g_mech*ra; @@ -503,18 +503,18 @@ void PairSpinNeel::compute_neel_mech(int i, int j, double rsq, double eij[3], do pdz = -(pdt1*eij[2] + pdt2*spi[2] + pdt3*spj[2]); // pseudo-quadrupolar component - - q_mech = q1_mech[itype][jtype]; + + q_mech = q1_mech[itype][jtype]; iq3 = 1.0/(q3[itype][jtype]*q3[itype][jtype]); - ra = rsq*iq3; + ra = rsq*iq3; rr = drij*iq3; q1ij = 4.0*q_mech*ra; q1ij *= (1.0-q2[itype][jtype]*ra); q1ij *= exp(-ra); q2ij = -2.0*q1ij/9.0; - + dq1ij = 1.0-ra-q2[itype][jtype]*ra*(2.0-ra); dq1ij *= 8.0*q_mech*rr*exp(-ra); dq2ij = -2.0*dq1ij/9.0; @@ -525,13 +525,13 @@ void PairSpinNeel::compute_neel_mech(int i, int j, double rsq, double eij[3], do double pqt2 = scalar_eij_sj_2 - scalar_si_sj/3.0; pq1x = dq1ij * pqt1 * pqt2 * eij[0]; pq1y = dq1ij * pqt1 * pqt2 * eij[1]; - pq1z = dq1ij * pqt1 * pqt2 * eij[2]; + pq1z = dq1ij * pqt1 * pqt2 * eij[2]; double scalar_eij_si_3 = scalar_eij_si*scalar_eij_si*scalar_eij_si; double scalar_eij_sj_3 = scalar_eij_sj*scalar_eij_sj*scalar_eij_sj; double scalar_si_sj_2 = scalar_si_sj*scalar_si_sj; -/* double pqt3 = 2.0*scalar_eij_si*scalar_eij_sj_3/drij; - double pqt4 = 2.0*scalar_eij_sj*scalar_eij_si_3/drij; +/* double pqt3 = 2.0*scalar_eij_si*scalar_eij_sj_3/drij; + double pqt4 = 2.0*scalar_eij_sj*scalar_eij_si_3/drij; double pqt5 = -2.0*scalar_si_sj*scalar_eij_si/(3.0*drij); double pqt6 = -2.0*scalar_si_sj*scalar_eij_sj/(3.0*drij); // pq1x += q1ij*(spi[0]*(pqt3+pqt6) + spj[0]*(pqt4+)); @@ -600,21 +600,21 @@ void PairSpinNeel::allocate() for (int i = 1; i <= n; i++) for (int j = i; j <= n; j++) setflag[i][j] = 0; - + memory->create(cut_spin_neel,n+1,n+1,"pair/spin/soc/neel:cut_spin_neel"); memory->create(g1,n+1,n+1,"pair/spin/soc/neel:g1"); memory->create(g1_mech,n+1,n+1,"pair/spin/soc/neel:g1_mech"); - memory->create(g2,n+1,n+1,"pair/spin/soc/neel:g2"); + memory->create(g2,n+1,n+1,"pair/spin/soc/neel:g2"); memory->create(g3,n+1,n+1,"pair/spin/soc/neel:g3"); memory->create(q1,n+1,n+1,"pair/spin/soc/neel:q1"); memory->create(q1_mech,n+1,n+1,"pair/spin/soc/neel:q1_mech"); - memory->create(q2,n+1,n+1,"pair/spin/soc/neel:q2"); + memory->create(q2,n+1,n+1,"pair/spin/soc/neel:q2"); memory->create(q3,n+1,n+1,"pair/spin/soc/neel:q3"); - - memory->create(cutsq,n+1,n+1,"pair/spin/soc/neel:cutsq"); - + + memory->create(cutsq,n+1,n+1,"pair/spin/soc/neel:cutsq"); + } @@ -625,7 +625,7 @@ void PairSpinNeel::allocate() void PairSpinNeel::write_restart(FILE *fp) { write_restart_settings(fp); - + int i,j; for (i = 1; i <= atom->ntypes; i++) for (j = i; j <= atom->ntypes; j++) { @@ -710,5 +710,5 @@ void PairSpinNeel::read_restart_settings(FILE *fp) } MPI_Bcast(&cut_spin_neel_global,1,MPI_DOUBLE,0,world); MPI_Bcast(&offset_flag,1,MPI_INT,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); + MPI_Bcast(&mix_flag,1,MPI_INT,0,world); } diff --git a/src/SPIN/pair_spin_neel.h b/src/SPIN/pair_spin_neel.h index e1973d35b6..934d4a93ad 100755 --- a/src/SPIN/pair_spin_neel.h +++ b/src/SPIN/pair_spin_neel.h @@ -34,12 +34,12 @@ class PairSpinNeel : public PairSpin { double init_one(int, int); void *extract(const char *, int &); - void compute(int, int); + void compute(int, int); void compute_single_pair(int, double *); void compute_neel(int, int, double, double *, double *, double *, double *); void compute_neel_mech(int, int, double, double *, double *, double *, double *); - + void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); @@ -50,7 +50,7 @@ class PairSpinNeel : public PairSpin { protected: // pseudo-dipolar and pseudo-quadrupolar coeff. - + double **g1, **g1_mech; // exchange coeffs gij double **g2, **g3; // g1 in eV, g2 adim, g3 in Ang double **q1, **q1_mech; // exchange coeffs qij diff --git a/src/atom.cpp b/src/atom.cpp index a8e0d1556d..cf4d20a71e 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -507,6 +507,7 @@ AtomVec *Atom::new_avec(const char *style, int trysuffix, int &sflag) AtomVecCreator avec_creator = (*avec_map)[style]; return avec_creator(lmp); } + error->all(FLERR,"Unknown atom style"); return NULL; } -- GitLab From 7c7a80b31ad692b361fa40ece05442ed13fec06b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Jun 2018 17:59:22 -0400 Subject: [PATCH 145/675] restore deleted file --- doc/utils/txt2html/README.html | 237 +++++++++++++++++++++++++++++++++ 1 file changed, 237 insertions(+) create mode 100644 doc/utils/txt2html/README.html diff --git a/doc/utils/txt2html/README.html b/doc/utils/txt2html/README.html new file mode 100644 index 0000000000..b92214425e --- /dev/null +++ b/doc/utils/txt2html/README.html @@ -0,0 +1,237 @@ + +

    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 FCIIhF-+}-D diff --git a/doc/src/Eqs/pair_spin_me_interaction.jpg b/doc/src/Eqs/pair_spin_me_interaction.jpg index f03c72efbf70748ab4f0e6c112e78beeda053c92..11011d2253b58c8e883c1678df0c352d9b230821 100644 GIT binary patch literal 23008 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 S%2*_pM-~R1sqd=)e-i+(qS?>@ literal 17288 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 h9=@ literal 8128 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 diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt index 6216ed33ca..f7e7e5a66c 100644 --- a/doc/src/fix_langevin_spin.txt +++ b/doc/src/fix_langevin_spin.txt @@ -10,7 +10,7 @@ fix langevin/spin command :h3 [Syntax:] -fix ID group-ID langevin/spin T Tdamp Ldamp seed :pre +fix ID group-ID langevin/spin T Tdamp seed :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l langevin/spin = style name of this fix command :l diff --git a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc index 0d30cfd703..5f74afbd5b 100644 --- a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc +++ b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc @@ -29,7 +29,7 @@ pair_coeff * * pair/spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 -fix 1 all force/spin zeeman 0.01 0.0 0.0 1.0 +fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 fix 2 all langevin/spin 0.0 0.0 21 fix 3 all integration/spin lattice yes @@ -51,7 +51,7 @@ variable mag_force equal f_1 thermo_style custom step time v_magnorm v_emag temp etotal thermo 10 -#dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz +dump 1 all custom 50 dump_cobalt.lammpstrj type x y z spx spy spz -run 500 +run 10000 diff --git a/examples/SPIN/iron/exchange_fit_bcc_iron/exchange_bcc_iron.dat b/examples/SPIN/iron/exchange_fit_bcc_iron/exchange_bcc_iron.dat new file mode 100644 index 0000000000..7cfe1cb586 --- /dev/null +++ b/examples/SPIN/iron/exchange_fit_bcc_iron/exchange_bcc_iron.dat @@ -0,0 +1,3 @@ +2.4824 0.01948336 +2.8665 0.01109 +4.0538 -0.0002176 diff --git a/examples/SPIN/iron/exchange_fit_bcc_iron/exchange_fit.py b/examples/SPIN/iron/exchange_fit_bcc_iron/exchange_fit.py new file mode 100644 index 0000000000..ccf84fc233 --- /dev/null +++ b/examples/SPIN/iron/exchange_fit_bcc_iron/exchange_fit.py @@ -0,0 +1,32 @@ +#Program fitting the exchange interaction +#Model curve: Bethe-Slater function +import numpy as np, pylab, tkinter +import matplotlib.pyplot as plt +from scipy.optimize import curve_fit +from decimal import * + +print("Loop begin") + +#Definition of the Bethe-Slater function +def func(x,a,b,c): + return 4*a*((x/c)**2)*(1-b*(x/c)**2)*np.exp(-(x/c)**2) + +#Exchange coeff table (data to fit) +rdata, Jdata = np.loadtxt('exchange_bcc_iron.dat', usecols=(0,1), unpack=True) +plt.plot(rdata, Jdata, 'b-', label='data') + +#Perform the fit +popt, pcov = curve_fit(func, rdata, Jdata, bounds=(0, [500.,5.,5.])) +plt.plot(rdata, func(rdata, *popt), 'r--', label='fit') + +#Print the fitted params +print("Parameters: a={:.10} (in meV), b={:.10} (adim), c={:.10} (in Ang)".format(*popt)) + +#Ploting the result +plt.xlabel('r_ij') +pylab.xlim([0,6.5]) +plt.ylabel('J_ij') +plt.legend() +plt.show() + +print("Loop end") diff --git a/examples/SPIN/iron/in.spin.iron b/examples/SPIN/iron/in.spin.iron index 84279424f8..86db12afe5 100644 --- a/examples/SPIN/iron/in.spin.iron +++ b/examples/SPIN/iron/in.spin.iron @@ -25,13 +25,13 @@ velocity all create 100 4928459 rot yes dist gaussian #pair_style hybrid/overlay eam/alloy pair/spin/exchange 4.0 pair/spin/soc/neel 4.0 pair_style hybrid/overlay eam/alloy pair/spin/exchange 3.5 pair_coeff * * eam/alloy ../examples/SPIN/iron/Fe_Mishin2006.eam.alloy Fe -pair_coeff * * pair/spin/exchange exchange 4.0 0.025498 0.281 1.999 +pair_coeff * * pair/spin/exchange exchange 3.4 0.02726 0.2171 1.841 #pair_coeff * * pair/spin/soc/neel neel 4.0 0.003330282 0.864159 2.13731 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 -fix 1 all force/spin zeeman 0.1 0.0 0.0 1.0 +fix 1 all force/spin zeeman 0.0 0.0 0.0 1.0 fix 2 all langevin/spin 0.0 0.0 21 fix 3 all integration/spin lattice yes @@ -50,10 +50,10 @@ variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] variable mag_force equal f_1 -thermo_style custom step time v_magnorm v_emag temp etotal +thermo_style custom step time v_magnorm v_tmag temp v_emag ke pe etotal thermo 50 dump 1 all custom 50 dump_iron.lammpstrj type x y z spx spy spz -run 10000 +run 100000 -- GitLab From 6a9ecde742f16d370313528bdcb4ec3c90b54718 Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 20 Mar 2018 11:40:49 -0600 Subject: [PATCH 080/675] rm one file --- doc/src/Eqs/force_spin_aniso.pdf | Bin 54854 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/src/Eqs/force_spin_aniso.pdf diff --git a/doc/src/Eqs/force_spin_aniso.pdf b/doc/src/Eqs/force_spin_aniso.pdf deleted file mode 100644 index 29a2b49ca6441946964429c0c7ab4970b9cec648..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54854 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≪&h)$F0p@{%wru-f{k2 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%0Dn)@XuB_M>XIkXSH0}rL{4d;dP;JhQl$p(6>>u5* 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 C6AaJ* -- GitLab From 3ed640666f8dd7e70f496a78f7f91173fb824cbd Mon Sep 17 00:00:00 2001 From: julient31 Date: Tue, 20 Mar 2018 11:42:22 -0600 Subject: [PATCH 081/675] Delete pair_spin_exchange_function.pdf --- doc/src/Eqs/pair_spin_exchange_function.pdf | Bin 71498 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/src/Eqs/pair_spin_exchange_function.pdf diff --git a/doc/src/Eqs/pair_spin_exchange_function.pdf b/doc/src/Eqs/pair_spin_exchange_function.pdf deleted file mode 100644 index 4c80a14de8af12257d7f37e40da1da99970def9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71498 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